ZGlmZiAtLWdpdCBhLy5lZGl0b3Jjb25maWcgYi8uZWRpdG9yY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlYzEwOTQKLS0tIC9kZXYvbnVsbAorKysgYi8uZWRpdG9yY29uZmlnCkBAIC0wLDAgKzEsMTQgQEAKK1sqXQorY2hhcnNldCA9IHV0Zi04CitlbmRfb2ZfbGluZSA9IGxmCitpbnNlcnRfZmluYWxfbmV3bGluZSA9IHRydWUKKworWyouW2NoXV0KK2luZGVudF9zdHlsZSA9IHRhYgoraW5kZW50X3NpemUgPSA4Cit0cmltX3RyYWlsaW5nX3doaXRlc3BhY2UgPSB0cnVlCisKK1sqLnN5bV0KK2luZGVudF9zdHlsZSA9IHRhYgoraW5kZW50X3NpemUgPSA0Cit0cmltX3RyYWlsaW5nX3doaXRlc3BhY2UgPSB0cnVlCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjJmYjE3Ci0tLSAvZGV2L251bGwKKysrIGIvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE3OCBAQAorIworIyBnZW5lcmljIHN0dWZmCisjCisqLmdjZGEKKyouZ2NubworKi5nY292CisqLmxhCisqLmxvCisqLnBjCisqLnB5YworKi5zbworKi5zby4qCisqLnN0YXRpYworKi5zd3AKKyoudmltCisqLlthb10KKyp+CisuY2xhbmdfY29tcGxldGUKKy5kZXBzCisuZGlyc3RhbXAKKy5saWJzCisudGFyYmFsbC12ZXJzaW9uCisudmVyc2lvbgorQUJPVVQtTkxTCithY2xvY2FsLm00Cithci1saWIKK2F1dG9tNHRlLmNhY2hlCitjb21waWxlCitjb25maWcuY2FjaGUKK2NvbmZpZy5ndWVzcworY29uZmlnLmgKK2NvbmZpZy5oLmluCitjb25maWcubG9nCitjb25maWcucnBhdGgKK2NvbmZpZy5zdGF0dXMKK2NvbmZpZy5zdWIKK2NvbmZpZy9sdG1haW4uc2gKK2NvbmZpZy9weS1jb21waWxlCitjb25maWcvdGVzdC1kcml2ZXIKK2NvbmZpZ3VyZQorY3Njb3BlLm91dAorZGVwY29tcAorSU5TVEFMTAoraW5zdGFsbC1zaAorbGlidG9vbAorbTQvKi5tNAorTWFrZWZpbGUKK01ha2VmaWxlLmluCittaXNzaW5nCitta2luc3RhbGxkaXJzCitzdGFtcC1oCitzdGFtcC1oLmluCitzdGFtcC1oMQordGFncwordGVzdC1zdWl0ZS5sb2cKK3Rlc3RzL3J1bi5zaC5sb2cKK3Rlc3RzL3J1bi5zaC50cnMKK3VwZGF0ZS5sb2cKK3lsd3JhcAorCisjCisjIGJpbmFyaWVzCisjCisvYWRkcGFydAorL2FnZXR0eQorL2Jsa2Rpc2NhcmQKKy9ibGt6b25lCisvYmxraWQKKy9ibG9ja2RldgorL2NhbAorL2NmZGlzaworL2NoY3B1CisvY2hmbgorL2Nob29tCisvY2htZW0KKy9jaHJ0CisvY2hzaAorL2NvbAorL2NvbGNydAorL2NvbHJtCisvY29sdW1uCisvY3RybGFsdGRlbAorL2RlbHBhcnQKKy9kbWVzZworL2VqZWN0CisvZmFsbG9jYXRlCisvZmRmb3JtYXQKKy9mZGlzaworL2ZpbmNvcmUKKy9maW5kZnMKKy9maW5kbW50CisvZmxvY2sKKy9mc2NrCisvZnNjay5jcmFtZnMKKy9mc2NrLm1pbml4CisvZnNmcmVlemUKKy9mc3RyaW0KKy9nZXRvcHQKKy9oZXhkdW1wCisvaHdjbG9jaworL2lvbmljZQorL2lwY21rCisvaXBjcm0KKy9pcGNzCisvaXNvc2l6ZQorL2tpbGwKKy9sYXN0CisvbGRhdHRhY2gKKy9saW5lCisvbG9nZ2VyCisvbG9naW4KKy9sb29rCisvbG9zZXR1cAorL2xzYmxrCisvbHNpcGMKKy9sc2NwdQorL2xzbG9ja3MKKy9sc2xvZ2lucworL2xzbWVtCisvbHNucworL21jb29raWUKKy9tZXNnCisvbWtmcworL21rZnMuYmZzCisvbWtmcy5jcmFtZnMKKy9ta2ZzLm1pbml4CisvbWtzd2FwCisvbW9yZQorL21vdW50CisvbW91bnRwb2ludAorL25hbWVpCisvbmV3Z3JwCisvbm9sb2dpbgorL25zZW50ZXIKKy9wYXJ0eAorL3BnCisvcGl2b3Rfcm9vdAorL3BybGltaXQKKy9yYXcKKy9yZWFkcHJvZmlsZQorL3JlbmFtZQorL3JlbmljZQorL3Jlc2l6ZXBhcnQKKy9yZXYKKy9yZmtpbGwKKy9ydGN3YWtlCisvcnVudXNlcgorL3NhbXBsZS0qCisvc2NyaXB0Cisvc2NyaXB0cmVwbGF5Cisvc2V0YXJjaAorL3NldHByaXYKKy9zZXRzaWQKKy9zZXR0ZXJtCisvc2ZkaXNrCisvc3UKKy9zdWxvZ2luCisvc3dhcGxhYmVsCisvc3dhcG9mZgorL3N3YXBvbgorL3N3aXRjaF9yb290CisvdGFza3NldAorL3Rlc3RfKgorL3R1bmVscAorL3VsCisvdW1vdW50CisvdW5zaGFyZQorL3V0bXBkdW1wCisvdXVpZGQKKy91dWlkZ2VuCisvdXVpZHBhcnNlCisvdmlwdworL3dhbGwKKy93ZGN0bAorL3doZXJlaXMKKy93aXBlZnMKKy93cml0ZQorL3pyYW1jdGwKZGlmZiAtLWdpdCBhLy50cmF2aXMtZnVuY3Rpb25zLnNoIGIvLnRyYXZpcy1mdW5jdGlvbnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjg0YzIwNQotLS0gL2Rldi9udWxsCisrKyBiLy50cmF2aXMtZnVuY3Rpb25zLnNoCkBAIC0wLDAgKzEsMjEyIEBACisjIS9iaW4vYmFzaAorCisjCisjIC50cmF2aXMtZnVuY3Rpb25zLnNoOgorIyAgIC0gaGVscGVyIGZ1bmN0aW9ucyB0byBiZSBzb3VyY2VkIGZyb20gLnRyYXZpcy55bWwKKyMgICAtIGRlc2lnbmVkIHRvIHJlc3BlY3QgdHJhdmlzJyBlbnZpcm9ubWVudCBidXQgdGVzdGluZyBsb2NhbGx5IGlzIHBvc3NpYmxlCisjCisKK2lmIFsgISAtZiAiY29uZmlndXJlLmFjIiBdOyB0aGVuCisJZWNobyAiLnRyYXZpcy1mdW5jdGlvbnMuc2ggbXVzdCBiZSBzb3VyY2VkIGZyb20gc291cmNlIGRpciIgPiYyCisJcmV0dXJuIDEgfHwgZXhpdCAxCitmaQorCisjIyBzb21lIGNvbmZpZyBzZXR0aW5ncworIyB0cmF2aXMgZG9jcyBzYXkgd2UgZ2V0IDEuNSBDUFVzCitNQUtFPSJtYWtlIC1qMiIKK0RVTVBfQ09ORklHX0xPRz0ic2hvcnQiCitleHBvcnQgVFNfT1BUX3BhcnNhYmxlPSJ5ZXMiCisKKyMgd29ya2Fyb3VuZCB1Z2x5IHdhcm5pbmcgb24gdHJhdmlzIE9TWCwKKyMgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9kaXJlbnYvZGlyZW52L2lzc3Vlcy8yMTAKK3NoZWxsX3Nlc3Npb25fdXBkYXRlKCkgeyA6OyB9CisKK2Z1bmN0aW9uIHhjb25maWd1cmUKK3sKKwl3aGljaCAiJENDIgorCSIkQ0MiIC0tdmVyc2lvbgorCisJLi9jb25maWd1cmUgIiRAIiAkT1NYX0NPTkZPUFRTCisJZXJyPSQ/CisJaWYgWyAiJERVTVBfQ09ORklHX0xPRyIgPSAic2hvcnQiIF07IHRoZW4KKwkJZ3JlcCAtQjEgLUExMDAwMCAiXiMjIE91dHB1dCB2YXJpYWJsZXMiIGNvbmZpZy5sb2cgfCBncmVwIC12ICJfRkFMU0U9IgorCWVsaWYgWyAiJERVTVBfQ09ORklHX0xPRyIgPSAiZnVsbCIgXTsgdGhlbgorCQljYXQgY29uZmlnLmxvZworCWZpCisJcmV0dXJuICRlcnIKK30KKworIyBUT0RPOiBpbnRlZ3JhdGUgY2hlY2t1c2FnZSBpbnRvIG91ciByZWd1bGFyIHRlc3RzIGFuZCByZW1vdmUgdGhpcyBmdW5jdGlvbgorZnVuY3Rpb24gbWFrZV9jaGVja3VzYWdlCit7CisJbG9jYWwgdG1wCisJaWYgISB0bXA9JCgkTUFLRSBjaGVja3VzYWdlIDI+JjEpIHx8IHRlc3QgLW4gIiR0bXAiOyB0aGVuCisJCWVjaG8gIiR0bXAiCisJCWVjaG8gIm1ha2UgY2hlY2t1c2FnZSBmYWlsZWQiID4mMgorCQlyZXR1cm4gMQorCWZpCit9CisKK2Z1bmN0aW9uIGNoZWNrX25vbnJvb3QKK3sKKwlsb2NhbCBvcHRzPSIkTUFLRV9DSEVDS19PUFRTIC0tc2hvdy1kaWZmIgorCisJeGNvbmZpZ3VyZSBcCisJCS0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIFwKKwkJLS1kaXNhYmxlLW1ha2VpbnN0YWxsLWNob3duIFwKKwkJLS1lbmFibGUtYWxsLXByb2dyYW1zIFwKKwkJfHwgcmV0dXJuCisJJE1BS0UgfHwgcmV0dXJuCisKKwlvc3hfcHJlcGFyZV9jaGVjaworCSRNQUtFIGNoZWNrIFRTX09QVFM9IiRvcHRzIiB8fCByZXR1cm4KKworCW1ha2VfY2hlY2t1c2FnZSB8fCByZXR1cm4KKworCSRNQUtFIGluc3RhbGwgREVTVERJUj0vdG1wL2Rlc3QgfHwgcmV0dXJuCit9CisKK2Z1bmN0aW9uIGNoZWNrX3Jvb3QKK3sKKwlsb2NhbCBvcHRzPSIkTUFLRV9DSEVDS19PUFRTIC0tc2hvdy1kaWZmIgorCisJeGNvbmZpZ3VyZSBcCisJCS0tZW5hYmxlLWFsbC1wcm9ncmFtcyBcCisJCXx8IHJldHVybgorCSRNQUtFIHx8IHJldHVybgorCisJJE1BS0UgY2hlY2sgVFNfQ09NTUFORD0idHJ1ZSIgfHwgcmV0dXJuCisJb3N4X3ByZXBhcmVfY2hlY2sKKwlzdWRvIC1FICRNQUtFIGNoZWNrIFRTX09QVFM9IiRvcHRzIiB8fCByZXR1cm4KKworCSMgcm9vdCBvbiBvc3ggaGFzIG5vdCBlbm91Z2ggcGVybWlzc2lvbiBmb3IgbWFrZSBpbnN0YWxsIDspCisJWyAiJFRSQVZJU19PU19OQU1FIiA9ICJvc3giIF0gJiYgcmV0dXJuCisKKwkjIGtlZXAgUEFUSCB0byBtYWtlIHN1cmUgc3VkbyB3b3VsZCBmaW5kICRDQworCXN1ZG8gZW52ICJQQVRIPSRQQVRIIiAkTUFLRSBpbnN0YWxsIHx8IHJldHVybgorfQorCitmdW5jdGlvbiBjaGVja19kaXN0Cit7CisJeGNvbmZpZ3VyZSBcCisJCXx8IHJldHVybgorCSRNQUtFIGRpc3RjaGVjayB8fCByZXR1cm4KK30KKworZnVuY3Rpb24gdHJhdmlzX2luc3RhbGxfc2NyaXB0Cit7CisJaWYgWyAiJFRSQVZJU19PU19OQU1FIiA9ICJvc3giIF07IHRoZW4KKwkJb3N4X2luc3RhbGxfc2NyaXB0CisJCXJldHVybgorCWZpCisKKwkjIGluc3RhbGwgcmVxdWlyZWQgcGFja2FnZXMKKwlzdWRvIGFwdC1nZXQgLXFxIHVwZGF0ZSAtLWZpeC1taXNzaW5nCisJc3VkbyBhcHQtZ2V0IGluc3RhbGwgLXFxID4vZGV2L251bGwgXAorCQliYyBcCisJCWJ0cmZzLXRvb2xzIFwKKwkJZG5zdXRpbHMgXAorCQlsaWJjYXAtbmctZGV2IFwKKwkJbGlibmN1cnNlc3c1LWRldiBcCisJCWxpYnBhbS1kZXYgXAorCQlsaWJ1ZGV2LWRldiBcCisJCWd0ay1kb2MtdG9vbHMgXAorCQltZGFkbSBcCisJCW50cCBcCisJCXNvY2F0IFwKKwkJfHwgcmV0dXJuCisKKwkjIGluc3RhbGwgb25seSBpZiBhdmFpbGFibGUgKGUuZy4gVWJ1bnR1IFRydXN0eSkKKwlzdWRvIGFwdC1nZXQgaW5zdGFsbCAtcXEgPi9kZXYvbnVsbCBcCisJCWxpYnN5c3RlbWQtZGFlbW9uLWRldiBcCisJCWxpYnN5c3RlbWQtam91cm5hbC1kZXYgXAorCQl8fCB0cnVlCit9CisKK2Z1bmN0aW9uIG9zeF9pbnN0YWxsX3NjcmlwdAoreworCWJyZXcgdXBkYXRlID4vZGV2L251bGwKKworCWJyZXcgaW5zdGFsbCBnZXR0ZXh0IG5jdXJzZXMgc29jYXQgeHoKKwlicmV3IGxpbmsgLS1mb3JjZSBnZXR0ZXh0CisJYnJldyBsaW5rIC0tZm9yY2UgbmN1cnNlcworCisJT1NYX0NPTkZPUFRTPSIKKwkJLS1kaXNhYmxlLWlwY3JtIFwKKwkJLS1kaXNhYmxlLWlwY3MgXAorCSIKKworCSMgd29ya2Fyb3VuZDogZ2xpYnRvb2xpemUgY291bGQgbm90IGZpbmQgc2VkCisJZXhwb3J0IFNFRD0ic2VkIgorfQorCitmdW5jdGlvbiBvc3hfcHJlcGFyZV9jaGVjaworeworCVsgIiRUUkFWSVNfT1NfTkFNRSIgPSAib3N4IiBdIHx8IHJldHVybiAwCisKKwkjIHRoZXNlIG9uZXMgb25seSBuZWVkIHRvIGJlIGdudSBmb3Igb3VyIHRlc3Qtc3VpdGUKKwlicmV3IGluc3RhbGwgY29yZXV0aWxzIGZpbmR1dGlscyBnbnUtdGFyIGdudS1zZWQKKworCSMgc3ltbGluayBtaW5pbWFsbHkgbmVlZGVkIGdudSBjb21tYW5kcyBpbnRvIFBBVEgKKwlta2RpciB+L2JpbgorCWZvciBjbWQgaW4gcmVhZGxpbmsgc2VxIHRpbWVvdXQgdHJ1bmNhdGUgZmluZCB4YXJncyB0YXIgc2VkOyBkbworCQlsbiAtcyAvdXNyL2xvY2FsL2Jpbi9nJGNtZCAkSE9NRS9iaW4vJGNtZAorCWRvbmUKKwloYXNoIC1yCisKKwlleHBvcnQgVFNfT1BUX2NvbF9tdWx0aWJ5dGVfa25vd25fZmFpbD15ZXMKKwlleHBvcnQgVFNfT1BUX2NvbGNydF9yZWdyZXNzaW9uc19rbm93bl9mYWlsPXllcworCWV4cG9ydCBUU19PUFRfY29sdW1uX2ludmFsaWRfbXVsdGlieXRlX2tub3duX2ZhaWw9eWVzCit9CisKK2Z1bmN0aW9uIHRyYXZpc19iZWZvcmVfc2NyaXB0Cit7CisJc2V0IC1vIHh0cmFjZQorCisJLi9hdXRvZ2VuLnNoCisJcmV0PSQ/CisKKwlzZXQgK28geHRyYWNlCisJcmV0dXJuICRyZXQKK30KKworZnVuY3Rpb24gdHJhdmlzX3NjcmlwdAoreworCWxvY2FsIHJldAorCXNldCAtbyB4dHJhY2UKKworCWNhc2UgIiRNQUtFX0NIRUNLIiBpbgorCW5vbnJvb3QpCisJCWNoZWNrX25vbnJvb3QKKwkJOzsKKwlyb290KQorCQljaGVja19yb290CisJCTs7CisJZGlzdCkKKwkJY2hlY2tfZGlzdAorCQk7OworCSopCisJCWVjaG8gImVycm9yLCBjaGVjayBlbnZpcm9ubWVudCAodHJhdmlzLnltbCkiID4mMgorCQlmYWxzZQorCQk7OworCWVzYWMKKworCSMgV2UgZXhpdCBoZXJlIHdpdGggY2FzZS1zd2l0Y2ggcmV0dXJuIHZhbHVlIQorCXJldD0kPworCXNldCArbyB4dHJhY2UKKwlyZXR1cm4gJHJldAorfQorCitmdW5jdGlvbiB0cmF2aXNfYWZ0ZXJfc2NyaXB0Cit7CisJbG9jYWwgZGlmZl9kaXIKKwlsb2NhbCB0bXAKKworCSMgZmluZCBkaWZmIGRpciBmcm9tIGNoZWNrIGFzIHdlbGwgYXMgZnJvbSBkaXN0Y2hlY2sKKwlkaWZmX2Rpcj0kKGZpbmQgLiAtdHlwZSBkIC1uYW1lICJkaWZmIiB8IGdyZXAgInRlc3RzL2RpZmYiIHwgaGVhZCAtbiAxKQorCWlmIFsgLWQgIiRkaWZmX2RpciIgXTsgdGhlbgorCQl0bXA9JChmaW5kICIkZGlmZl9kaXIiIC10eXBlIGYgfCBzb3J0KQorCQllY2hvIC1lbiAiZHVtcCB0ZXN0IGRpZmZzOlxuJHt0bXB9XG4iCisJCWVjaG8gIiR0bXAiIHwgeGFyZ3MgY2F0CisJZmkKK30KZGlmZiAtLWdpdCBhLy50cmF2aXMueW1sIGIvLnRyYXZpcy55bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY5NTk2YwotLS0gL2Rldi9udWxsCisrKyBiLy50cmF2aXMueW1sCkBAIC0wLDAgKzEsNTMgQEAKK2xhbmd1YWdlOiBjCisKK3N1ZG86IHJlcXVpcmVkCitkaXN0OiB0cnVzdHkKKworZ2l0OgorICBkZXB0aDogMTUwMAorCitjb21waWxlcjoKKyAgLSBnY2MKKyAgLSBjbGFuZworCitlbnY6CisgIC0gTUFLRV9DSEVDSz0ibm9ucm9vdCIKKyAgLSBNQUtFX0NIRUNLPSJyb290IgorICAtIE1BS0VfQ0hFQ0s9ImRpc3QiCisKK21hdHJpeDoKKyAgaW5jbHVkZToKKyAgICAjIHRlc3Qgb2xkIFVidW50dSAxMi4wNCBhbmQgT1NYIGZvciBjb21wYXRpYmlsaXR5CisgICAgLSBkaXN0OiBwcmVjaXNlCisgICAgICBjb21waWxlcjogZ2NjCisgICAgICBlbnY6IFBSRUNJU0U9InllcyIgTUFLRV9DSEVDSz0icm9vdCIKKyAgICAtIG9zOiBvc3gKKyAgICAgIG9zeF9pbWFnZTogeGNvZGU3LjMKKyAgICAgIGNvbXBpbGVyOiBjbGFuZworICAgICAgZW52OiBNQUtFX0NIRUNLPSJyb290IgorCiticmFuY2hlczoKKyAgb25seToKKyAgICAtIG1hc3RlcgorICAgIC0gL15zdGFibGUuKi8KKyAgICAtIC9edHJhdmlzLiovCisKK2JlZm9yZV9pbnN0YWxsOgorICAjIHByaW50IHNvbWUgaG9zdCBpbmZvCisgIC0gZW52IHwgZ3JlcCAtdiAiZW5jcnlwdGVkIiB8IExDX0FMTD1DIHNvcnQKKyAgIyB3b3JrYXJvdW5kIHRyYXZpcy1jaSBpc3N1ZSAjNTMwMQorICAtIHVuc2V0IFBZVEhPTl9DRkxBR1MKKworaW5zdGFsbDoKKyAgLSBzb3VyY2UgLi8udHJhdmlzLWZ1bmN0aW9ucy5zaAorICAtIHRyYXZpc19pbnN0YWxsX3NjcmlwdAorCitiZWZvcmVfc2NyaXB0OgorICAtIHRyYXZpc19iZWZvcmVfc2NyaXB0CisKK3NjcmlwdDoKKyAgLSB0cmF2aXNfc2NyaXB0CisKK2FmdGVyX3NjcmlwdDoKKyAgLSB0cmF2aXNfYWZ0ZXJfc2NyaXB0CisKZGlmZiAtLWdpdCBhL0FVVEhPUlMgYi9BVVRIT1JTCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzNWY3ZGUKLS0tIC9kZXYvbnVsbAorKysgYi9BVVRIT1JTCkBAIC0wLDAgKzEsNjcwIEBACisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlsLWxpbnV4CisKK01BSU5UQUlORVI6CisKKyAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCisKK1BBU1QgTUFJTlRBSU5FUlM6CisKKyAgICAgIEFkcmlhbiBCdW5rIDxidW5rQHN0dXN0YS5kZT4KKyAgICAgIEFuZHJpZXMgRS4gQnJvdXdlciA8YWViQGN3aS5ubD4KKworCitBVVRIT1JTIChtZXJnZWQgcHJvamVjdHMgJiBjb21tYW5kcyk6CisKKyAgICAgIGJsa2Rpc2NhcmQ6ICAgICAgTHVrYXMgQ3plcm5lciA8bGN6ZXJuZXJAcmVkaGF0LmNvbT4KKyAgICAgIGJsa3pvbmU6ICAgICAgICAgU2hhdW4gVGFuY2hlZmYgPHNoYXVuQHRhbmNoZWZmLmNvbT4KKyAgICAgICAgICAgICAgICAgICAgICAgRGFtaWVuIExlIE1vYWwgPGRhbWllbi5sZW1vYWxAd2RjLmNvbT4KKyAgICAgIGZhbGxvY2F0ZTogICAgICAgRXJpYyBTYW5kZWVuIDxzYW5kZWVuQHJlZGhhdC5jb20+CisgICAgICAgICAgICAgICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICAgICAgICAgICAgICAgICAgICAgICBNYXTEm2ogQ2VwbCA8bWNlcGxAcmVkaGF0LmNvbT4KKyAgICAgIGZpbmNvcmU6ICAgICAgICAgTWFzYXRha2UgWUFNQVRPIDx5YW1hdG9AcmVkaGF0LmNvbT4KKyAgICAgIGZpbmRtbnQ6ICAgICAgICAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgICAgICBmbG9jazogICAgICAgICAgIEguIFBldGVyIEFudmluIDxocGFAenl0b3IuY29tPgorICAgICAgZnNjazogICAgICAgICAgICBbbWVyZ2VkIGZyb20gZTJmc3Byb2dzXQorICAgICAgICAgICAgICAgICAgICAgICBUaGVvZG9yZSBUcydvIDx0eXRzb0BtaXQuZWR1PgorICAgICAgZnN0cmltOiAgICAgICAgICBMdWthcyBDemVybmVyIDxsY3plcm5lckByZWRoYXQuY29tPgorICAgICAgZnNmcmVlemU6ICAgICAgICBIYWppbWUgVGFpcmEgPGh0YWlyYUByZWRoYXQuY29tPgorICAgICAgZ2V0b3B0OiAgICAgICAgICBGcm9kbyBMb29pamFhcmQgPGZyb2RvbEBkZHMubmw+CisgICAgICBod2Nsb2NrOiAgICAgICAgIEJyeWFuIEhlbmRlcnNvbiA8YnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20+CisgICAgICBpcGNtazogICAgICAgICAgIEhheWRlbiBKYW1lcyA8aGF5ZGVuLmphbWVzQGdtYWlsLmNvbT4KKyAgICAgIGxhc3QvbGFzdGI6ICAgICAgW21lcmdlZCBmcm9tIHN5c3Zpbml0XQorICAgICAgICAgICAgICAgICAgICAgICBNaXF1ZWwgdmFuIFNtb29yZW5idXJnIDxtaXF1ZWxzQGNpc3Ryb24ubmw+CisgICAgICBsZGF0dGFjaDogICAgICAgIFRpbG1hbiBTY2htaWR0IDx0aWxtYW5AaW1hcC5jYz4KKyAgICAgIGxpYmJsa2lkOiAgICAgICAgW21lcmdlZCBmcm9tIGUyZnNwcm9nc10KKyAgICAgICAgICAgICAgICAgICAgICAgVGhlb2RvcmUgVHMnbyA8dHl0c29AbWl0LmVkdT4KKyAgICAgIGxpYm1vdW50OiAgICAgICAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgICAgICBsaWJ1dWlkOiAgICAgICAgIFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+CisgICAgICBsc2NwdTogICAgICAgICAgIENhaSBRaWFuIDxxY2FpQHJlZGhhdC5jb20+CisgICAgICBsc2JsazogICAgICAgICAgIE1pbGFuIEJyb3ogPG1icm96QHJlZGhhdC5jb20+CisgICAgICAgICAgICAgICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICAgICAgbHNpcGM6ICAgICAgICAgICBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgICAgICAgICAgICAgICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICAgICAgbHNsb2NrczogICAgICAgICBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAgICAgIGxzbG9naW5zOiAgICAgICAgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICAgICAgbHNtZW0vY2htZW06ICAgICBIZWlrbyBDYXJzdGVucyA8aGVpa28uY2Fyc3RlbnNAZGUuaWJtLmNvbT4KKyAgICAgIG1vdW50cG9pbnQ6ICAgICAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgICAgICBuc2VudGVyOiAgICAgICAgIEVyaWMgVy4gQmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lvbi5jb20+CisgICAgICBwcmxpbWl0OiAgICAgICAgIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICAgICAgcnVudXNlcjogICAgICAgICBbZGVyaXZlZCBmcm9tIGNvcmV1dGlscyBzdSgxKV0KKyAgICAgICAgICAgICAgICAgICAgICAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgICAgICByZXNpemVwYXJ0OiAgICAgIFZpdmVrIEdveWFsIDx2Z295YWxAcmVkaGF0LmNvbT4KKyAgICAgIHJma2lsbDogICAgICAgICAgSm9oYW5uZXMgQmVyZyA8am9oYW5uZXNAc2lwc29sdXRpb25zLm5ldD4KKyAgICAgICAgICAgICAgICAgICAgICAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgorICAgICAgICAgICAgICAgICAgICAgICBUaW0gR2FyZG5lciA8dGltLmdhcmRuZXJAY2Fub25pY2FsLmNvbT4KKyAgICAgIHJ0Y3dha2U6ICAgICAgICAgRGF2aWQgQnJvd25lbGwgPGRhdmlkLWJAcGFjYmVsbC5uZXQ+CisgICAgICAgICAgICAgICAgICAgICAgIEJlcm5oYXJkIFdhbGxlIDxid2FsbGVAc3VzZS5kZT4KKyAgICAgIHNjaGVkdXRpbHM6ICAgICAgUm9iZXJ0IExvdmUgPHJsb3ZlQHJsb3ZlLm9yZz4KKyAgICAgIHNldGFyY2g6ICAgICAgICAgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQuY29tPgorICAgICAgICAgICAgICAgICAgICAgICBKaW5kcmljaCBOb3Z5IDxqbm92eUByZWRoYXQuY29tPgorICAgICAgc2V0cHJpdjogICAgICAgICBBbmR5IEx1dG9taXJza2kgPGx1dG9AYW1hY2FwaXRhbC5uZXQ+CisgICAgICBzaW1wbGVpbml0OiAgICAgIFJpY2hhcmQgR29vY2ggPHJnb29jaEBhdG5mLmNzaXJvLmF1PgorICAgICAgc3U6ICAgICAgICAgICAgICBbbWVyZ2VkIGZyb20gY29yZXV0aWxzXQorICAgICAgICAgICAgICAgICAgICAgICBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAgICAgICAgICAgICAgICAgICAgICAgU1VTRSBMaW51eCBQcm9kdWN0cyBHbWJICisgICAgICBzdWxvZ2luOiAgICAgICAgIFttZXJnZWQgZnJvbSBzeXN2aW5pdF0KKyAgICAgICAgICAgICAgICAgICAgICAgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZworICAgICAgc3dpdGNoX3Jvb3Q6ICAgICBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+CisgICAgICAgICAgICAgICAgICAgICAgIEplcmVteSBLYXR6IDxrYXR6akByZWRoYXQuY29tPgorICAgICAgdW5zaGFyZTogICAgICAgICBNaWtoYWlsIEd1c2Fyb3YgPGRvdHRlZG1hZ0Bkb3R0ZWRtYWcubmV0PgorICAgICAgdXRtcGR1bXA6ICAgICAgICBbbWVyZ2VkIGZyb20gc3lzdmluaXRdCisgICAgICAgICAgICAgICAgICAgICAgIERhbmVrIER1dmFsbCA8ZHV2YWxsQGFsdW1uaS5wcmluY2V0b24uZWR1PgorICAgICAgICAgICAgICAgICAgICAgICBNaXF1ZWwgdmFuIFNtb29yZW5idXJnIDxtaXF1ZWxzQGNpc3Ryb24ubmw+CisgICAgICB3aXBlZnM6ICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICAgICAgc3dhcGxhYmVsOiAgICAgICBKYXNvbiBCb3JkZW4gPGpib3JkZW5AYmx1ZWhvc3QuY29tPgorICAgICAgICAgICAgICAgICAgICAgICBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAgICAgIHpyYW1jdGw6ICAgICAgICAgVGltb2ZleSBUaXRvdmV0cyA8bmVmZWxpbTRhZ0BnbWFpbC5jb20+CisgICAgICAgICAgICAgICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCisKK0NPTlRSSUJVVE9SUzoKKworICAgICAgQWFyb24gTHUgPGFhcm9uLmx1QGludGVsLmNvbT4KKyAgICAgIEEuIEJyYW0gTmVpanQgPGJuZWlqdEBnbWFpbC5jb20+CisgICAgICBBLiBDb3N0YSA8YWdjb3N0YUBnaXMubmV0PgorICAgICAgQWRhbSBKYWNrc29uIDxhamF4QHJlZGhhdC5jb20+CisgICAgICBBZHJpYW4gS25vdGggPGFkaUBkcmNvbXAuZXJmdXJ0LnRodXIuZGU+CisgICAgICDDhnZhciBBcm5masO2csOwIEJqYXJtYXNvbiA8YXZhcmFiQGdtYWlsLmNvbT4KKyAgICAgIGFobW9naXQgPGFobW9naXRAenBsYW5lLmNvbT4KKyAgICAgIEFsYWluIEd1aWJlcnQgPGFsZ3VpYmVydCt1bG5nQGZyZWUuZnI+CisgICAgICBBbGFuIEN1cnJ5IDxwYWNtYW5AVGhlV29ybGQuY29tPgorICAgICAgQWxhbiBKZW5raW5zIDxhbGFuLmNocmlzdG9waGVyLmplbmtpbnNAZ21haWwuY29tPgorICAgICAgQWxhbiBXZW5kdCA8YWxhbkBlemxpbmsuY29tPgorICAgICAgQWxkZW4gVG9uZGV0dGFyIDxhbGRlbi50b25kZXR0YXJAZ21haWwuY29tPgorICAgICAgQWxlamFuZHJvIE1hcnRpbmV6IFJ1aXogPGFsZXhAbm93Y29tcHV0aW5nLmNvbT4KKyAgICAgIEFsZXhhbmRlciBGIFLDuGRzZXRoIDx4eXByb3RvQGFyY2hsaW51eC5vcmc+CisgICAgICBBbGV4YW5kZXIgS3VsZXNob3YgPGt1bGVzaG92bWFpbEBnbWFpbC5jb20+CisgICAgICBBbGV4YW5kZXIgU2hpc2hraW4gPHZpcnR1b3NvQHNsaW5kLm9yZz4KKyAgICAgIEFsZXhhbmRlciBUcm9vc2ggPHRydXNoQHlhbmRleC5ydT4KKyAgICAgIEFsZXhhbmRyZSBQZWl4b3RvIEZlcnJlaXJhIDxhbGV4YW5kcmVmNzVAZ21haWwuY29tPgorICAgICAgQWxleCBCbGlnaCA8YWxleEBhbGV4Lm9yZy51az4KKyAgICAgIEFsZXhleSBHYWxha2hvdiA8YWdhbGFraG92QGdtYWlsLmNvbT4KKyAgICAgIEFsZXhleSBHbGFka292IDxnbGFka292LmFsZXhleUBnbWFpbC5jb20+CisgICAgICBBbGV4ZXkgT2JpdG90c2tpeSA8YWxla3NleS5vYml0b3Rza2l5QGludGVsLmNvbT4KKyAgICAgIEFsZXggSXZhbm92IDx5b3VyYmVzdGZyaWVuZEBvcGVubWFpbGJveC5vcmc+CisgICAgICBBbGxvbiBNdXJlaW5payA8YW11cmVpbmlAcmVkaGF0LmNvbT4KKyAgICAgIEFsb24gQmFyLUxldiA8YWxvbi5iYXJsZXZAZ21haWwuY29tPgorICAgICAgQWx2YXJvIE0uIEVjaGV2YXJyaWEKKyAgICAgIEFtw6lyaWNvIFdhbmcgPHhpeW91Lndhbmdjb25nQGdtYWlsLmNvbT4KKyAgICAgIEFuZHJlYSBHYWxidXNlcmEgPGdpemVyb0BnbWFpbC5jb20+CisgICAgICBBbmRyZWFzIEJpZcOfbWFubiA8Ymllc3NtYW5uQGNvcnNjaWVuY2UuZGU+CisgICAgICBBbmRyZWFzIERpbGdlciA8YWRpbGdlckBzdW4uY29tPgorICAgICAgQW5kcmVhcyBIZW5yaWtzc29uIDxhbmRyZWFzQGZhdGFsLnNlPgorICAgICAgQW5kcmVhcyBTY2h3YWIgPHNjaHdhYkBsaW51eC1tNjhrLm9yZz4KKyAgICAgIEFuZHJlYXMgVm9nZWwgPEFuZHJlYXMuVm9nZWxAYW52by1pdC5kZT4KKyAgICAgIEFuZHJlIFdpbGQgPHdpbGRAbGludXgudm5ldC5pYm0uY29tPgorICAgICAgQW5kcmV3IE1jR2lsbCA8bGlzdDIwMDhAbHVuY2guemEubmV0PgorICAgICAgQW5kcmV3IE5heWVua28gPHJlc3ZlckBnbWFpbC5jb20+CisgICAgICBBbmRyZXcgVmFnaW4gPGF2YWdpbkBvcGVudnoub3JnPgorICAgICAgQW5kcmV3IFdpbGNveCA8QVdpbGNveEBXaWxjb3gtVGVjaC5jb20+CisgICAgICBBbmRyaWkgQm9yZHVub3YgPGFuZHJldy5ib3JkdW5vdkBnbWFpbC5jb20+CisgICAgICBBbmRyemVqIEtyenlzenRvZm93aWN6IDxhbmtyeUBtaWYucGcuZ2RhLnBsPgorICAgICAgQW5keSBHcm92ZXIgPGFncm92ZXJAcmVkaGF0LmNvbT4KKyAgICAgIEFuZHkgTHV0b21pcnNraSA8bHV0b0BhbWFjYXBpdGFsLm5ldD4KKyAgICAgIEFuZXIgUGVyZXogPGFuZXJAbWktYm9oaW8ubmV0PgorICAgICAgQW5uYSBKb25uYSDDgXJtYW5uc2TDs3R0aXIgPGFubmFqb25uYUBnbWFpbC5jb20+CisgICAgICBBbnRob255IFJ1bWJsZSA8YXJ1bWJsZUBleHRyby51Y2Muc3UuT1ouQVU+CisgICAgICBBbnRvbiBCbGFuY2hhcmQgPGFudG9uQHNhbWJhLm9yZz4KKyAgICAgIEFudG9uaW8gQ2ViYWxsb3MgUm9hIDxhY2ViYWxsb3NAZ21haWwuY29tPgorICAgICAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CisgICAgICBBbnRvbiBWLiBCb3lhcnNoaW5vdiA8Ym95YXJzaEBhbHRsaW51eC5vcmc+CisgICAgICBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4KKyAgICAgIEFyaWYgRS4gTnVncm9obyA8YXJpZl9lbmRyb0B5YWhvby5jb20+CisgICAgICBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPGFyZWttQG1hdmVuLnBsPgorICAgICAgQXJuYXVkIE1vdWljaGUgPGFybmF1ZC5tb3VpY2hlQGludm94aWEuY29tPgorICAgICAgQXJ1biBQZXJzYXVkIDxhcnVuQG51YmF0aS5uZXQ+CisgICAgICBBdHRpbGEgw4FmcmEgPGF0dGlsYS5hZnJhQGdtYWlsLmNvbT4KKyAgICAgIEF1cmVsaWVuIEFwdGVsIDxhYXB0ZWxAc3VzZS5jb20+CisgICAgICBBdXJlbGllbiBKYXJubyA8YXVyZWwzMkBkZWJpYW4ub3JnPgorICAgICAgQmFsaW50IENyaXN0aWFuIDxjYmFsaW50QHJlZGhhdC5jb20+CisgICAgICBCYXN0aWFuIEZyaWVkcmljaCA8YmFzdGlhbi5mcmllZHJpY2hAY29sbGF4LmNvbT4KKyAgICAgIEJlbiBIdXRjaGluZ3MgPGJlbkBkZWNhZGVudC5vcmcudWs+CisgICAgICBCZW5qYW1pbiBSb2JpbiA8ZGV2QGJlbmphcm9iaW4uZnI+CisgICAgICBCZW5qYW1pbiBSb21lciA8YmVuamFtaW4ucm9tZXJAdW5pc3lzLmNvbT4KKyAgICAgIEJlbm5vIFNjaHVsZW5iZXJnIDxiZW5zYmVyZ0BqdXN0ZW1haWwubmV0PgorICAgICAgQmVybmFyZG8gSW5ub2NlbnRpIDxiZXJuaWVAY29kZXdpei5vcmc+CisgICAgICBCZXJuaGFyZCBWb2Vsa2VyIDxtYWlsQGJlcm5oYXJkLXZvZWxrZXIuZGU+CisgICAgICBCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CisgICAgICBCZXJ0IHZhbiBIYWxsIDxiZXJ0LnZhbmhhbGxAYXZpb25pYy1kZXNpZ24uZGU+CisgICAgICBCaWxsIFBlbWJlcnRvbiA8d2ZwNXBAdmlyZ2luaWEuZWR1PgorICAgICAgQmlsbCBQZW1iZXJ0b24gPHdmcDVwQHdvcmxkYnJva2VuLmNvbT4KKyAgICAgIEJpbGwgUmV5bm9sZHMgPGJpbGxAZ29zaGF3ay5sYW5sLmdvdj4KKyAgICAgIEJqYXJuaSBJbmdpIEdpc2xhc29uIDxiamFybmlpZ0ByaGkuaGkuaXM+CisgICAgICBCasO2cm4gSmFja2UgPGJqQHNlcm5ldC5kZT4KKyAgICAgIEJqw7hybiBNb3JrIDxiam9ybkBtb3JrLm5vPgorICAgICAgQm9iIFByb3VseCA8cndwQGhwcndwLmZjLmhwLmNvbT4KKyAgICAgIEJvcmlzIEVnb3JvdiA8ZWdvcm92QGxpbnV4LmNvbT4KKyAgICAgIEJvcnV0IE1yYWsgPGJvcnV0bXJha0B1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CisgICAgICBCcmFkIEZvcnNjaGluZ2VyIDxibmpmQGJuamYuaWQuYXU+CisgICAgICBCcnluIE0uIFJlZXZlcyA8Ym1yQGVycm9yaXN0cy5vcmc+CisgICAgICBCIFdhdHNvbiA8eWFsaGNydUBnbWFpbC5jb20+CisgICAgICBDYWkgUWlhbiA8cWNhaUByZWRoYXQuY29tPgorICAgICAgQ2FybG8gQ2Fpb25lIDxjYXJsb0BlbmRsZXNzbS5jb20+CisgICAgICBDYXJsb3MgTWFpb2xpbm8gPGNtYWlvbGlub0ByZWRoYXQuY29tPgorICAgICAgQ2FybG9zIFNhbnRvcyA8Y2FzYW50b3NAZGF0YWNvbS5pbmQuYnI+CisgICAgICBDYXNwZXIgVGkuIFZlY3RvciA8Y2FzcGVydmVjdG9yQGdtYWlsLmNvbT4KKyAgICAgIENoYW5kYW4gQiBSYWplbmRhIDxjaGFuZGFuQGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAgICAgIGNoYXMgd2lsbGlhbXMgLSBDT05UUkFDVE9SIDxjaGFzQGNtZi5ucmwubmF2eS5taWw+CisgICAgICBDaGVuIFFpIDxRaS5DaGVuQHdpbmRyaXZlci5jb20+CisgICAgICBDaG93IExvb25nIEppbiA8aHlwZXJhaXJAdWJ1bnR1LmNvbT4KKyAgICAgIENocmlzIEZyb3N0IDxjaHJpc0Bmcm9zdG5ldC5uZXQ+CisgICAgICBDaHJpcyBNYWNHcmVnb3IgPGNocmlzbWFjZ3JlZ29yQGdvb2dsZS5jb20+CisgICAgICBDaHJpcyBNZXRjYWxmIDxjbWV0Y2FsZkBtZWxsYW5veC5jb20+CisgICAgICBDaHJpcyBNb3JpbiA8Y2hyaXMubW9yaW4yQGdtYWlsLmNvbT4KKyAgICAgIENocmlzdGlhbiB2b24gUm9xdWVzIDxyb3F1ZXNAanVsaWV0LmthLnN1Yi5vcmc+CisgICAgICBDaHJpc3RpYW4gV2llc2UgPGNocmlzQG9wZW5zZGUub3JnPgorICAgICAgQ2hyaXN0b3BoZSBCbGFlc3MgPENocmlzdG9waGVAQmxhZXNzLmZyPgorICAgICAgQ2hyaXN0b3BoIEVnZ2VyIDxjaHJpc3RvcGhAZGViaWFuLm9yZz4KKyAgICAgIENocmlzdG9waGVyIEphbWVzIEhhbHNlIFJvZ2VycyA8cmFvZkB1YnVudHUuY29tPgorICAgICAgQ2hyaXN0b3BoIEhlbGx3aWcgPGhjaEBpbmZyYWRlYWQub3JnPgorICAgICAgQ2hyaXN0b3BoIEp1bmdoYW5zIDxvdHR4b3JAZ2VudG9vLm9yZz4KKyAgICAgIENocmlzdG9waCBMYW1ldGVyIDxjbGFtZXRlckBtaXJpYW0uZnVsbGVyLmVkdT4KKyAgICAgIENocmlzIFdlYmIgPGNocmlzQGFyYWNoc3lzLmNvbT4KKyAgICAgIENsYXVzIEhpbmRzZ2F1bCA8Y2xhdXNfaEBpbWFnZS5kaz4KKyAgICAgIENsaWZmIFdpY2ttYW4gPGNwd0BzZ2kuY29tPgorICAgICAgQ2x5dGllIFNpZGRhbGwgPGNseXRpZUByaXZlcmxhbmQubmV0LmF1PgorICAgICAgY29hc3RhbC1oaWtlciA8Y29hc3RhbC1oaWtlckB1c2Vycy5ub3JlcGx5LmdpdGh1Yi5jb20+CisgICAgICBDb2R5IE1hbG9uZXkgPGNtYWxvbmV5QHRoZW9yZXRpY2FsY2hhb3MuY29tPgorICAgICAgQ29saW4gV2F0c29uIDxjandhdHNvbkBjYW5vbmljYWwuY29tPgorICAgICAgQ29uZyBXYW5nIDx4aXlvdS53YW5nY29uZ0BnbWFpbC5jb20+CisgICAgICBDb3JlbnRpbiBDaGFyeSA8Y29yZW50aW5jakBpa3NhaWYubmV0PgorICAgICAgQ3Jpc3RpYW4gUm9kcsOtZ3VleiA8Y3Jyb2RyaWd1ZXpAb3BlbnN1c2Uub3JnPgorICAgICAgQ3NhYmEgS29zIDxjc2FiYS5rb3NAZ21haWwuY29tPgorICAgICAgRGFpc3VrZSBZYW1hc2hpdGEgPHlhbWFkQG1iLmluZm93ZWIubmUuanA+CisgICAgICBEYW1pZW4gTGUgTW9hbCA8ZGFtaWVuLmxlbW9hbEB3ZGMuY29tPgorICAgICAgRGFuaWVsIERyYWtlIDxkc2RAbGFwdG9wLm9yZz4KKyAgICAgIERhbmllbCBLYWhuIEdpbGxtb3IgPGRrZ0BmaWZ0aGhvcnNlbWFuLm5ldD4KKyAgICAgIERhbmllbCBNaWVyc3dhIDxpbXB1bHplQGltcHVsemUub3JnPgorICAgICAgRGFuaWVsIE55bGFuZGVyIDxwb0BkYW5pZWxueWxhbmRlci5zZT4KKyAgICAgIERhbmllbCBRdWlubGFuIDxxdWlubGFuQHlnZ2RyYXNpbC5jb20+CisgICAgICBEYW5pZWwgU2hhaGFmIDxkYW5pZWxzaEBhcGFjaGUub3JnPgorICAgICAgRGFuaWVsIFN0b2RkZW4gPGRhbmllbC5zdG9kZGVuQGdvb2dsZW1haWwuY29tPgorICAgICAgRGFuaWVsIFRodW1pbSA8ZHRodW1pbUBtaXQuZWR1PgorICAgICAgRGFuaWVsIFRyZWJiaWVuIDxkdHJlYmJpZW5AZ21haWwuY29tPgorICAgICAgRGFycmVuIFNhbHQgPGxpbnV4QHlvdW11c3RiZWpva2luZy5kZW1vbi5jby51az4KKyAgICAgIERhdmUgUmVpc25lciA8ZHJlaXNuZXJAYXJjaGxpbnV4Lm9yZz4KKyAgICAgIERhdmlkIEJyb3duZWxsIDxkYXZpZC1iQHBhY2JlbGwubmV0PgorICAgICAgRGF2aWQgSG9sbGFuZCA8ZGhvbGxhbmRAaGNzLmhhcnZhcmQuZWR1PgorICAgICAgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZpZGxvaHJAaHAuY29tPgorICAgICAgRGF2aWQgTWlsbGVyIDxkYXZlbUBkYXZlbWxvZnQubmV0PgorICAgICAgRGF2aWQgUHLDqXZvdCA8ZGF2aWRAdGlsYXBpbi5vcmc+CisgICAgICBEYXZpZCBTaGVhIDxkc2hlYUByZWRoYXQuY29tPgorICAgICAgRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPgorICAgICAgRGVpeiA8c2lsdmVyd3JhaXRoaWlAZ21haWwuY29tPgorICAgICAgRGVuaXMgQ2hhcGx5Z2luIDxkY2hhcGx5Z0ByZWRoYXQuY29tPgorICAgICAgRGVuaXMgQ2hlbmdScSA8Y3JxdWFuQGdtYWlsLmNvbT4KKyAgICAgIERlbm5pcyBHaWxtb3JlIDxkZW5uaXNAYXVzaWwudXM+CisgICAgICBEZW5uaXMgSCBKZW5zZW4gPGRlbm5pcy5oLmplbnNlbkBzaWVtZW5zLmNvbT4KKyAgICAgIERlbm5pcyBKZW5zZW4gPGRlbm5pcy5oLmplbnNlbkBzaWVtZW5zLmNvbT4KKyAgICAgIERpZWdvIEVsaW8gJ0ZsYW1lZXllcycgUGV0dGVuw7IgPGZsYW1lZXllc0BnbWFpbC5jb20+CisgICAgICBEaW1hIEtvZ2FuIDxka29nYW5AY2RzLmNhbHRlY2guZWR1PgorICAgICAgRGlyayBNdWVsbGVyIDxkbXVlbGxlckBzdXNlLmNvbT4KKyAgICAgIERtaXRyeSBWLiBMZXZpbiA8bGR2QGFsdGxpbnV4Lm9yZz4KKyAgICAgIERvbmcgSGFvIDxoYW9kb25nQGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAgICAgIERvbmdsaSBaaGFuZyA8ZG9uZ2xpLnpoYW5nQG9yYWNsZS5jb20+CisgICAgICBEb25nc3UgUGFyayA8ZG9uZ3N1LnBhcmtAcHJvZml0YnJpY2tzLmNvbT4KKyAgICAgIERvdWdsYXMgRS4gUXVhbGUKKyAgICAgIERvdWcgUXVhbGUgPHF1YWxlQHNhYXZpay5jcy53aXNjLmVkdT4KKyAgICAgIERvdiBHcm9iZ2VsZCA8ZG92Lmdyb2JnZWxkQGdtYWlsLmNvbT4KKyAgICAgIEVkIENhcnAKKyAgICAgIEVsYW4gUnV1c2Ftw6RlIDxnbGVuQGRlbGZpLmVlPgorICAgICAgRXJpYyBSYW5uYXVkIDxlQG5hbm9jcml0aWNhbC5jb20+CisgICAgICBFcmljIFJhc211c3NlbiA8ZWFyQHVzZmlyc3Qub3JnPgorICAgICAgRXJpYyBTYW5kZWVuIDxzYW5kZWVuQHJlZGhhdC5jb20+CisgICAgICBFcmljIFMuIFJheW1vbmQgPGVzckB0aHlyc3VzLmNvbT4KKyAgICAgIEVyaWMgVy4gQmllZGVybWFuIDxlYmllZGVybUB4bWlzc2lvbi5jb20+CisgICAgICBFcmlrIFRyb2FuCisgICAgICBFcnl1IEd1YW4gPGd1YW5lcnl1QGdtYWlsLmNvbT4KKyAgICAgIEV1Z2VuZSBZdW5hayA8ZXVnZW5lQHl1bmFrLmV1PgorICAgICAgRXZnZW5peSBZYWt1c2hldiA8eWVuODFAbWFpbC5ydT4KKyAgICAgIEZhYmlhbiBGcmVkZXJpY2sgPGZhYmZAc2t5bmV0LmJlPgorICAgICAgRmFiaWFuIEdyb2ZmZW4gPGdyb2JpYW5AZ2VudG9vLm9yZz4KKyAgICAgIEZlZGVyaWNvIFNpbW9uY2VsbGkgPGZzaW1vbmNlQHJlZGhhdC5jb20+CisgICAgICBGaWxpcGUgQnJhbmRlbmJ1cmdlciA8ZmlsYnJhbmRlbkBnb29nbGUuY29tPgorICAgICAgRmzDoXZpbyBMZWl0bmVyIDxmbGVpdG5lckByZWRoYXQuY29tPgorICAgICAgRmxvcmVudGluIER1bmVhdSA8ZmR1bmVhdUBnbWFpbC5jb20+CisgICAgICBGbG9yaWFuIFp1bWJpZWhsIDxmbG9yekBmbG9yei5kZT4KKyAgICAgIEZvcmVzdCBCb25kIDxmb3Jlc3RAYWxpdHRsZXRvb3F1aWV0Lm5ldD4KKyAgICAgIEZyYW5jZXNjbyBDb3NvbGV0byA8Y29zb2xldG9AZ21haWwuY29tPgorICAgICAgRnJhbmNvIEZpY2h0bmVyIDxmcmFuY29Ab3Buc2Vuc2Uub3JnPgorICAgICAgRnJhbsOnb2lzIFJldm9sIDxyZXZvbEBmcmVlLmZyPgorICAgICAgRnJhbiBEacOpZ3VleiA8ZnJhbmRpZWd1ZXpAdWJ1bnR1LmNvbT4KKyAgICAgIEZyYW5rIE1heWhhciA8Zm1heWhhckBnb29nbGUuY29tPgorICAgICAgRnLDqWTDqXJpYyBCb3RoYW15IDxmcmVkZXJpYy5ib3RoYW15QGZyZWUuZnI+CisgICAgICBGcmVkZXJpY2sgR3Jvc2UgPGZncm9zZUBzdWdhcmxhYnMub3JnPgorICAgICAgRnLDqWTDqXJpYyBNYXJjaGFsIDxmbWFyY2hhbEBwZXJzby5iZT4KKyAgICAgIEZyZWRlcmlrICJGcmVzbyIgUy4gT2xlc2VuIDxmcmVzb0BmcmVzby5kaz4KKyAgICAgIGZSRVcgU2NobWlkdCA8ZnJpb3V4QGdtYWlsLmNvbT4KKyAgICAgIEZyaWRvbGluIFBva29ybnkgPGZwb2tvcm55QHJlZGhhdC5jb20+CisgICAgICBHYWJvciBLZWxlbWVuIDxrZWxlbWVuZ0Bnbm9tZS5odT4KKyAgICAgIEdhYnJpZWwgQmFyYXplciA8Z2FicmllbEBveGV2YS5mcj4KKyAgICAgIEdhYnJpZWwgQnVydCA8Z2J1cnRAbm92ZWxsLmNvbT4KKyAgICAgIEdhYnJpZWwgZGUgUGVydGh1aXMgPGcycC5jb2RlQGdtYWlsLmNvbT4KKyAgICAgIEdhYnJpZWxlIEdpYWNvbmUgPDFvNWc0cjhvQGdtYWlsLmNvbT4KKyAgICAgIEdhYnJpZWwgTS4gU2NodXlsZXIgPHNjaHV5bGVyQGVhc2llc3QuY29tPgorICAgICAgR2VvcmcgU2NoaWVzc2VyIDxnZW9yZy5zY2hpZXNzZXJAb3BlbnRlY2guYXQ+CisgICAgICBHZXJhbGQgU2NoYWVmZXIgPGdlcmFsZC5zY2hhZWZlckBkZS5pYm0uY29tPgorICAgICAgR2VyaGFyZCBTY2huZWlkZXIgPGdzQGlsZmIudHV3aWVuLmFjLmF0PgorICAgICAgR2Vycml0IFJlbmtlciA8Z2Vycml0QGVyZy5hYmRuLmFjLnVrPgorICAgICAgR2lhY29tbyA8Z2lhY29tby5wZXJhbGVAZ21haWwuY29tPgorICAgICAgR2lsbGVzIEVzcGluYXNzZSA8Zy5lc3BAZnJlZS5mcj4KKyAgICAgIEdpdWxpbyBPcnNlcm8gPGdpdWxpb29AZ21haWwuY29tPgorICAgICAgR2l1c2VwcGUgU2NyaXZhbm8gPGdzY3JpdmFuQHJlZGhhdC5jb20+CisgICAgICBHbGViIEZvdGVuZ2F1ZXItTWFsaW5vdnNraXkgPGdsZWJmbUBhbHRsaW51eC5vcmc+CisgICAgICBHb2ZmcmVkbyBCYXJvbmNlbGxpIDxrcmVpamFja0BpbndpbmQuaXQ+CisgICAgICBHcmFkeSBNYXJ0aW4gPGFkbWluQG5vc3Vjay5vcmc+CisgICAgICBHdWFuIFhpbiA8Z3VhbnguYmFjQGdtYWlsLmNvbT4KKyAgICAgIEd1aSBIZWNoZW5nIDxndWloYy5mbnN0QGNuLmZ1aml0c3UuY29tPgorICAgICAgR3VpbGxlbSBKb3ZlciA8Z3VpbGxlbUBoYWRyb25zLm9yZz4KKyAgICAgIEd1bm5hciBSaXR0ZXIgPGctckBiaWdmb290LmRlPgorICAgICAgR3VzdGF2byBaYWNhcmlhcyA8Z3VzdGF2b0B6YWNhcmlhcy5jb20uYXI+CisgICAgICBIYWppbWUgVGFpcmEgPGh0YWlyYUByZWRoYXQuY29tPgorICAgICAgSGFtaXNoIENvbGVtYW4gPGhhbWlzaEB6b3Qub3JnPgorICAgICAgSGFubmVzIFJlaW5lY2tlIDxoYXJlQHN1c2UuZGU+CisgICAgICBIYXJhbGQgSG95ZXIgPGhhcmFsZEByZWRoYXQuY29tPgorICAgICAgSGF5ZGVuIEphbWVzIDxoYXlkZW4uamFtZXNAZ21haWwuY29tPgorICAgICAgSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+CisgICAgICBIZWxnZSBEZWxsZXIgPGRlbGxlckBnbXguZGU+CisgICAgICBIZWxtdXQgR3JvaG5lIDxoZWxtdXRAc3ViZGl2aS5kZT4KKyAgICAgIEhlbmRyaWsgTMO2bm5ncmVuIDx3aWtpYnVnc0Bnb29nbGVtYWlsLmNvbT4KKyAgICAgIEhlbm5lIFZvZ2Vsc2FuZyA8aHZvZ2VsQG9wZW5zdXNlLm9yZz4KKyAgICAgIEguSi4gTHUgPGhsdUBlZWNzLndzdS5lZHU+CisgICAgICBILiBQZXRlciBBbnZpbiA8aHBhQHp5dG9yLmNvbT4KKyAgICAgIEhVQU5HIFdlaSA8d2VpaEBvcGVyYS5jb20+CisgICAgICBIdWdoIERpY2tpbnMgPGh1Z2hkQGdvb2dsZS5jb20+CisgICAgICBIdW1iZXJ0byBadWF6YWdhCisgICAgICBIdXNjaGFhbSBIdXNzYWluIDxIdXNjaGFhbS5IdXNzYWluQGhwLmNvbT4KKyAgICAgIEh1c2hhbiBKaWEgPGh1c2hhbi5qaWFAZ21haWwuY29tPgorICAgICAgSWFuIFdpZW5hbmQgPGl3aWVuYW5kQHJlZGhhdC5jb20+CisgICAgICBJZ29yIEJhemhpdG92IDxpZ29yLmJhemhpdG92QGdtYWlsLmNvbT4KKyAgICAgIElnb3IgR25hdGVua28gPGkuZ25hdGVua28uYnJhaW5AZ21haWwuY29tPgorICAgICAgaWhubyA8aWhub0BzdXNlLmRlPgorICAgICAgSWxpYXMgTWFtZWRvdiA8YXJrbmlyQHlhbmRleC5ydT4KKyAgICAgIEltcmUgS2Fsb3ogPGthbG96QG9wZW53cnQub3JnPgorICAgICAgSW5nbyBCcsO8Y2tsIDxpYkB3dXBwZXJvbmxpbmUuZGU+CisgICAgICBJc2FhYyBEdW5oYW0gPGliaWQuYWdAZ21haWwuY29tPgorICAgICAgSXZhbiBEZWxhbGFuZGUgPGNvbG9uYUBhcmlzdGEuY29tPgorICAgICAgSmFha2tvIEh5dsOkdHRpIDxIWVZBVFRJQGNjLmhlbHNpbmtpLmZpPgorICAgICAgSmFrb2IgVW50ZXJ3dXJ6YWNoZXIgPGpha29idW50QGdtYWlsLmNvbT4KKyAgICAgIEpha3ViIEJvZ3VzeiA8cWJvb3NoQHBsZC1saW51eC5vcmc+CisgICAgICBKYWt1YiBXaWxrIDxqd2lsa0Bqd2lsay5uZXQ+CisgICAgICBKYW1lcyBCb3R0b21sZXkgPEphbWVzLkJvdHRvbWxleUBIYW5zZW5QYXJ0bmVyc2hpcC5jb20+CisgICAgICBKYW1lcyBCdXJlbiA8cnl1b0BmcnVnYWx3YXJlLm9yZz4KKyAgICAgIEphbWVzIENsYXJrZSA8anJ0YzI3QGpydGMyNy5jb20+CisgICAgICBKYW1lcyBIdW50IDxqYW1lcy5odW50QHVidW50dS5jb20+CisgICAgICBKYW1lcyBMZSBDdWlyb3QgPGNoZXdpQGF1cmEtb25saW5lLmNvLnVrPgorICAgICAgSmFtZXMgU2FuZm9yZCA8anNhbmZvcmRnaXRAZnJvb3AuY29tPgorICAgICAgSmFtZXMgWW91bmdtYW4gPGpheUBnbnUub3JnPgorICAgICAgSmFuIEVuZ2VsaGFyZHQgPGplbmdlbGhAbWVkb3phcy5kZT4KKyAgICAgIEphbiBLYXJhIDxqYWNrQHN1c2UuY3o+CisgICAgICBKYW4gU2FyZW5payA8anNhcmVuaWtAcmVkaGF0LmNvbT4KKyAgICAgIEphbiAoeWFjKSBNYXTEm2prYSA8Sk1hdGVqa2FAc3VzZS5jej4KKyAgICAgIEphbiAiWWVueWEiIEthc3ByemFrIDxrYXNAZmkubXVuaS5jej4KKyAgICAgIEphcmkgQWFsdG8gPGphcmkuYWFsdG9AY2FudGUubmV0PgorICAgICAgSmFyb21pciBDYXBpayA8amNhcGlrQHJlZGhhdC5jb20+CisgICAgICBKYXNvbiBCb3JkZW4gPGpib3JkZW5AYmx1ZWhvc3QuY29tPgorICAgICAgSmFzb24gVmFzIERpYXMgPGp2ZGlhc0ByZWRoYXQuY29tPgorICAgICAgSmVhbi1Mb3VwICdjbGlwcGl4JyBCb2dhbGhvIDxjbGlwcGl4QGxzZS5lcGl0YS5mcj4KKyAgICAgIEplZmYgTWFob25leSA8amVmZm1Ac3VzZS5jb20+CisgICAgICBKZW5zIEtyaXN0aWFuIFPDuGdhYXJkIDxqZW5zQG1lcm1haWRjb25zdWx0aW5nLmRrPgorICAgICAgSmVyZW15IEZpdHpoYXJkaW5nZSA8amVyZW15QHN1aXRlLnN3Lm96LmF1PgorICAgICAgSmVyZW15IEh1bnR3b3JrIDxqaHVudHdvcmtAbGlnaHRjdWJlc29sdXRpb25zLmNvbT4KKyAgICAgIEplcm9lbiBPb3J0d2lqbiA8b29ydHdpam5AZ21haWwuY29tPgorICAgICAgSmVzcGVyIERhaGwgTnllcnVwIDxueWVydXBAb25lLmNvbT4KKyAgICAgIEplc3NlIFRoaWxvIDxqZXNzZS50aGlsb0Bwb2JveC5jb20+CisgICAgICBKaW0gTWV5ZXJpbmcgPGppbUBtZXllcmluZy5uZXQ+CisgICAgICBKaW0gUGF0dGVyc29uIDxqaW1wQHdlZ3Jvay5uZXQ+CisgICAgICBKaW5kcmljaCBNYWtvdmlja2EgPG1ha292aWNrQGdtYWlsLmNvbT4KKyAgICAgIEppcm8gU0VLSUJBIDxqaXJAdW5pY3VzLmpwPgorICAgICAgSm9lIEhhbnNlbiA8am9lZGFsdG9uMkB5YWhvby5kaz4KKyAgICAgIEpvaGFubmVzIEJlcmcgPGpvaGFubmVzQHNpcHNvbHV0aW9ucy5uZXQ+CisgICAgICBKb2huIEdyb3ZlcyA8amdyb3Zlc0BtaWNyb24uY29tPgorICAgICAgSm9obiBLZWVwaW5nIDxqb2huLmtlZXBpbmdAbGluZW9uZS5uZXQ+CisgICAgICBKb2huIExpbmRncmVuIDxqb2huLmxpbmRncmVuQHRkcy5uZXQ+CisgICAgICBKb2huIFBhdWwgTW9ycmlzb24gPGptb3JyaXNvQHJmbGFiLmVlLnViYy5jYT4KKyAgICAgIEpvaG4gVy4gTGludmlsbGUgPGxpbnZpbGxlQHR1eGRyaXZlci5jb20+CisgICAgICBKb25hdGhhbiBMaXUgPG5ldDE0N0BnbWFpbC5jb20+CisgICAgICBKb24gR3JhbnQgPGpnQGpndWsub3JnPgorICAgICAgSm9uIFJpbmdsZSA8am9uQHJpbmdsZS5vcmc+CisgICAgICBKw7ZyZyBKZW5kZXJlayA8am9lcmcuamVuLmRlci5la0BnbXgubmV0PgorICAgICAgSm9zZXBoIFBhcm1lbGVlIDxqcGFybWVsZUB3aWxkYmVhci5jb20+CisgICAgICBKb3NlcCBQdWlnZGVtb250IDxqb3NlcC5wdWlnZGVtb250QGdtYWlsLmNvbT4KKyAgICAgIEpvc2ggVHJpcGxldHQgPGpvc2hAam9zaHRyaXBsZXR0Lm9yZz4KKyAgICAgIEpvc2h1YSBIdWRzb24gPGpvc2h1ZHNvbkBnbWFpbC5jb20+CisgICAgICBKb3NodWEgV2F0dCA8anBld2hhY2tlckBnbWFpbC5jb20+CisgICAgICBKb3NpYWggV29yY2VzdGVyIDxqb3NpYWh3QGdtYWlsLmNvbT4KKyAgICAgIEp1aGEgTGFpaG8gPGpsYWlob0BpY2hhb3MubnVsbG5ldC5maT4KKyAgICAgIEp1biBIYW1hbm8gPGp1bmlvQHNoYWRvdy50d2luc3VuLmNvbT4KKyAgICAgIEp1c3RpbiBCIFJ5ZSA8amJyQGVkbHVnLm9yZy51az4KKyAgICAgIEogV2lsbGlhbSBQaWdnb3R0IDxlbHNlaWZ0aGVuQGdteC5jb20+CisgICAgICBLYWlHYWkgS29oZWkgPGthaWdhaUBrYWlnYWkuZ3IuanA+CisgICAgICBLYWxldiBTb2lrb25lbiA8a3NvcEBob3QuZWU+CisgICAgICBLYWxpZ3VsZSA8Q29kZUBzY2hhdWRlcmJhc2lzLmRlPgorICAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICAgICAgS2VlcyBDb29rIDxrZWVzLmNvb2tAY2Fub25pY2FsLmNvbT4KKyAgICAgIEtlbiBLb3BpbiA8a2Vua29waW5AZ21haWwuY29tPgorICAgICAgS2VudCBPdmVyc3RyZWV0IDxrZW50Lm92ZXJzdHJlZXRAZ21haWwuY29tPgorICAgICAgS2VueW9uIFJhbHBoIDxrZW55b25Aa2VueW9ucmFscGguY29tPgorICAgICAga2VybmMgPGtlcm5jZWNlQGdtYWlsLmNvbT4KKyAgICAgIEtldmluIEUuIE1hcnRpbiA8bWFydGluQGNzLnVuYy5lZHU+CisgICAgICBrZXZpbi5ncmFuYWRlQGdtYWlsLmNvbSA8a2V2aW4uZ3JhbmFkZUBnbWFpbC5jb20+CisgICAgICBLZXZpbiBMb2NrZSA8a2V2aW5Aa2V2aW5sb2NrZS5uYW1lPgorICAgICAgS2lyaWxsIEVsYWdpbiA8a2lyZWxhZ2luQGdtYWlsLmNvbT4KKyAgICAgIEtpciBLb2x5c2hraW4gPGtpckBvcGVudnoub3JnPgorICAgICAgS3VuaWhpa28gSU1BSSA8a2ltYWlAaW9kYXRhLmpwPgorICAgICAgTGFkYSBUcmltYXNvdmEgPGx0cmltYXNAc3lub3BzeXMuY29tPgorICAgICAgTGFNb250IEpvbmVzIDxsYW1vbnRAZGViaWFuLm9yZz4KKyAgICAgIExhcnMgV2lyemVuaXVzCisgICAgICBMYXVyaSBOdXJtaSA8bGFudXJtaUBpa2kuZmk+CisgICAgICBMYXdyZW5jZSBSdXN0IDxsYXdyZW5jZUBzb2Z0c3lzdGVtLmNvLnVrPgorICAgICAgTGVubmFydCBQb2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcubmV0PgorICAgICAgTGlhbSBSeWFuIDxsaWFtcnlhbmRldkBnbWFpbC5jb20+CisgICAgICBMaWJvciBCdWthdGEgPGxidWthdGFAZ21haWwuY29tPgorICAgICAgTGludXMgVG9ydmFsZHMgPHRvcnZhbGRzQGxpbnV4LWZvdW5kYXRpb24ub3JnPgorICAgICAgTGkgWmVmYW4gPGxpemZAY24uZnVqaXRzdS5jb20+CisgICAgICBMdWJvbWlyIEt1bmRyYWsgPGxrdW5kcmFrQHJlZGhhdC5jb20+CisgICAgICBMdWJvbWlyIFJpbnRlbCA8bGt1bmRyYWtAdjMuc2s+CisgICAgICBMdWNhIENlcmVzb2xpIDxsdWNhQGx1Y2FjZXJlc29saS5uZXQ+CisgICAgICBMdWNpYW5vIENoYXZleiA8bG54MTEzOEB1cy5pYm0uY29tPgorICAgICAgTHVkd2lnIE51c3NlbCA8bHVkd2lnLm51c3NlbEBzdXNlLmRlPgorICAgICAgTHVrYXMgQ3plcm5lciA8bGN6ZXJuZXJAcmVkaGF0LmNvbT4KKyAgICAgIE1ha290byBLYXRvIDxtYWtvdG8ua3RAZ21haWwuY29tPgorICAgICAgTWFtYXRoYSBJbmFtZGFyIDxtYW1hdGhhNEBsaW51eC52bmV0LmlibS5jb20+CisgICAgICBNYW50YXMgTWlrdWzEl25hcyA8Z3Jhd2l0eUBnbWFpbC5jb20+CisgICAgICBNYXJjLUFudG9pbmUgUGVyZW5ub3UgPE1hcmMtQW50b2luZUBQZXJlbm5vdS5jb20+CisgICAgICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CisgICAgICBNYXJjaW4gSnVzemtpZXdpY3ogPG1hcmNpbi5qdXN6a2lld2ljekBsaW5hcm8ub3JnPgorICAgICAgTWFyY28gQ29sb21ibyA8bS5jb2xvbWJvQGVkLmFjLnVrPgorICAgICAgTWFyY28gZCdJdHJpIDxtZEBMaW51eC5JVD4KKyAgICAgIE1hcmVrIE1pY2hhbGtpZXdpY3ogPG1hcmVrbUBpMTdsaW51eGIuaXN0cy5wd3Iud3JvYy5wbD4KKyAgICAgIE1hcmVrIE90YWhhbCA8bWFya290YWhhbEBnbWFpbC5jb20+CisgICAgICBNYXJlayBQb2xhY2VrIDxtbXBvbGFjZWtAZ21haWwuY29tPgorICAgICAgTWFyaW8gQmzDpHR0ZXJtYW5uIDxtYXJpby5ibGFldHRlcm1hbm5AZ21haWwuY29tPgorICAgICAgTWFyayBNY0xvdWdobGluIDxtYXJrbWNAcmVkaGF0LmNvbT4KKyAgICAgIE1hcmsgVGluZ3VlbHkgPG1hcmsudGluZ3VlbHlAaHBlLmNvbT4KKyAgICAgIE1hcmt1cyBSaW5uZSA8bWFya3VzLmthLnJpbm5lQGdtYWlsLmNvbT4KKyAgICAgIE1hcnRpbiBLLiBQZXRlcnNlbiA8bWFydGluLnBldGVyc2VuQG9yYWNsZS5jb20+CisgICAgICBNYXJ0aW4gU2NobGVtbWVyIDxhemFyYWhAZ2VudG9vLm9yZz4KKyAgICAgIE1hcnRpbiBTY2h1bHplIDxqb2V5QGluZm9kcm9tLm9yZz4KKyAgICAgIE1hcnRpbiBTdGVpZ2Vyd2FsZCA8bXNAdGVhbWl4LmRlPgorICAgICAgTWFzYW5hcmkgSWlkYSA8c3RhbmRieTI0eDdAZ21haWwuY29tPgorICAgICAgTWFzYXRha2UgWUFNQVRPIDx5YW1hdG9AcmVkaGF0LmNvbT4KKyAgICAgIE1hdHRoZXcgR2FycmV0dCA8bWpnNTlAc3JjZi51Y2FtLm9yZz4KKyAgICAgIE1hdHRoaWFzIEdlcnN0bmVyIDxtYXR0aGlhcy5nZXJzdG5lckBzdXNlLmRlPgorICAgICAgTWF0dGhpYXMgS8O2bmlnIDxta0BwaGFzb3JsYWIuZGU+CisgICAgICBNYXVyaXppbyBMb21iYXJkaSA8bS5sb21iYXJkaTg1QGdtYWlsLmNvbT4KKyAgICAgIG1heGltaWxpYW4gYXR0ZW1zIDxtYXhAc3Ryby5hdD4KKyAgICAgIE1heGltIExldml0c2t5IDxtYXhpbWxldml0c2t5QGdtYWlsLmNvbT4KKyAgICAgIE1heGltIFYuIER6aXVtYW5lbmtvIDxtdmRAbXlsaW51eC5jb20udWE+CisgICAgICBNYXggS2xpbmdlciA8bWF4QGZzLmxtdS5kZT4KKyAgICAgIE1lZWxpcyBSb29zIDxtcm9vc0BsaW51eC5lZT4KKyAgICAgIE1lc3V0Y2FuIEt1cnQgPG1lc3V0Y2Fua0BnbWFpbC5jb20+CisgICAgICBNaWNoYWVsIEJ1bmsgPGJ1bmtAaWF0LnVuaS1sZWlwemlnLmRlPgorICAgICAgTWljaGFlbCBGb3JuZXkgPG1mb3JuZXlAbWZvcm5leS5vcmc+CisgICAgICBNaWNoYWVsIEdsYWQgPGdsYWRAZGFpbWkuYWF1LmRrPgorICAgICAgTWljaGFlbCBLZXJyaXNrIDxtdGsubWFucGFnZXNAZ21haWwuY29tPgorICAgICAgTWljaGFlbCBNYXJpbmVhdSA8bWljaGFlbC5tYXJpbmVhdUBjb3Jlb3MuY29tPgorICAgICAgTWljaGFlbCBQaWVmZWwgPHBpZWZlbEBpbmZvcm1hdGlrLmh1LWJlcmxpbi5kZT4KKyAgICAgIE1pY2hhxYIgQmFydG9zemtpZXdpY3ogPG1iYXJ0b3N6a2lld2ljekBnbWFpbC5jb20+CisgICAgICBNaWNoYWwgSHVtcHVsYSA8bWljaGFsLmh1bXB1bGFAaHVkcnlkdW0uY3o+CisgICAgICBNaWNoYWwgTHVzY29uIDxtbHVzY29uQHJlZGhhdC5jb20+CisgICAgICBNaWNoYWwgU2NobWlkdCA8bXNjaG1pZHRAcmVkaGF0LmNvbT4KKyAgICAgIE1pY2hhbCBTdWNoYW5layA8aHJhbXJhY2hAZ21haWwuY29tPgorICAgICAgTWljaGVsIFJvYml0YWlsbGUgPHJvYml0YWlsQElSTy5VTW9udHJlYWwuQ0E+CisgICAgICBNaWtlIEZyeXNpbmdlciA8dmFwaWVyQGdlbnRvby5vcmc+CisgICAgICBNaWtlIEhvbW1leSA8bWhAZ2xhbmRpdW0ub3JnPgorICAgICAgTWlrZWwgT2xhc2FnYXN0aSBVcmFuZ2EgPGhleV9uZWtlbkBtdW5kdXJhdC5uZXQ+CisgICAgICBNaWtlIFBsYWNlIDxtcEBzYWx0c3RhY2suY29tPgorICAgICAgTWlraGFpbCBHdXNhcm92IDxkb3R0ZWRtYWdAZG90dGVkbWFnLm5ldD4KKyAgICAgIE1pa2hhaWwgVm9yb2J5b3YgPG0udm9yb2J5b3ZAY3MubXN1LnJ1PgorICAgICAgTWlrbG9zIFN6ZXJlZGkgPG1zemVyZWRpQHN1c2UuY3o+CisgICAgICBNaWxhbiBCb3VjaGV0LVZhbGF0IDxuYWxpbWlsYW5AY2x1Yi5mcj4KKyAgICAgIE1pbGFuIEJyb3ogPG1icm96QHJlZGhhdC5jb20+CisgICAgICBNaW5nIExlaSA8dG9tLmxlaW1pbmdAZ21haWwuY29tPgorICAgICAgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZyA8bWlxdWVsc0BtYWVzdHJvLmh0c2EuYWhhLm5sPgorICAgICAgTWl0Y2h1bSBEU291emEKKyAgICAgIE1vcml0eiBNdWVobGVuaG9mZiA8am1tQGludXRpbC5vcmc+CisgICAgICBNLlMuQ29sY2xvdWdoIDxtLnMuY29sY2xvdWdoQGJoYW0uYWMudWs+CisgICAgICBOYW1oeXVuZyBLaW0gPG5hbWh5dW5nQGdtYWlsLmNvbT4KKyAgICAgIE5hdGFuYWVsIENvcGEgPG5jb3BhQGFscGluZWxpbnV4Lm9yZz4KKyAgICAgIE5hdGUgQ2xhcmsgPG5hdGVAbmV3b3JsZC51cz4KKyAgICAgIE5hdGhhbiBSb3NzaSA8bmF0aGFuLnJvc3NpQHhpbGlueC5jb20+CisgICAgICBOZWlsQnJvd24gPG5laWxiQHN1c2UuY29tPgorICAgICAgTmVpbCBIb3JtYW4gPG5ob3JtYW5AdHV4ZHJpdmVyLmNvbT4KKyAgICAgIG5pY2sgYmxhY2sgPG5pY2suYmxhY2tAc3ByZXp6YXRlY2guY29tPgorICAgICAgTmljayBIb2xsb3dheSA8Tmljay5Ib2xsb3dheUBweXJpdGVzLm9yZy51az4KKyAgICAgIE5pY29sYWkgTGFuZ2ZlbGR0IDxqYW5sQG1hdGgudWlvLm5vPgorICAgICAgTmljb2xhcyBCb2ljaGF0IDxuaWNvbGFzQGJvaWNoYXQuY2g+CisgICAgICBOaWNvbGFzIFByb3Zvc3QgPG5wcm92b3N0QHF1YWRyaXYuY29tPgorICAgICAgTmlrbGFzIEhhbWLDvGNoZW4gPG1haWxAbmgyLm1lPgorICAgICAgTmlrIE55YnkgPG5pa29sYXNAZ251Lm9yZz4KKyAgICAgIE5pa29sYXkgU2l2b3YgPG5zaXZvdkBjb2Rld2VhdmVycy5jb20+CisgICAgICBOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyIDxuaWxndW5AYnVndW5lci5uYW1lLnRyPgorICAgICAgTm9yYmVydCBCdWNobXVsbGVyIDxub3JiaUBuaXguaHU+CisgICAgICBPR0FXQSBIaXJvZnVtaSA8aGlyb2Z1bWlAbWFpbC5wYXJrbmV0LmNvLmpwPgorICAgICAgT2xpdmVyIEZhbGsgPG9saXZlckBsaW51eC1rZXJuZWwuYXQ+CisgICAgICBPbGl2aWVyIEJsaW4gPGJsaW5vQG1hbmRyaXZhLmNvbT4KKyAgICAgIE9saXZpZXIgTWVuZ3XDqSA8ZG9sbWVuQGNwYW4ub3JnPgorICAgICAgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICAgICAgT3NhbXUgQW9raSA8b3NhbXVAZGViaWFuLm9yZz4KKyAgICAgIFDDoWRyYWlnIEJyYWR5IDxQQGRyYWlnQnJhZHkuY29tPgorICAgICAgUGFsaSBSb2jDoXIgPHBhbGkucm9oYXJAZ21haWwuY29tPgorICAgICAgUGFzY2FsIFRlcmphbiA8cHRlcmphbkBtYW5kcml2YS5jb20+CisgICAgICBQYXRyaWNlIER1bWFzIDxwZXJ0dXN1c0BmcmVlLmZyPgorICAgICAgUGF0cmljayBQbGFnd2l0eiA8cGF0cmljay5wbGFnd2l0ekBmYXUuZGU+CisgICAgICBQYXRyaWNrIFN0ZWluaGFyZHQgPHBzQHBrcy5pbT4KKyAgICAgIFBhdWwgRWdnZXJ0IDxlZ2dlcnRAY3MudWNsYS5lZHU+CisgICAgICBQYXVsIEZveCA8cGdmQGxhcHRvcC5vcmc+CisgICAgICBQYXVsaXVzIFphbGVja2FzIDxwYXVsaXVzLnphbGVja2FzQHRlbHRvbmlrYS5sdD4KKyAgICAgIFBhdWwgTWVuemVsIDxwYXVsZXBhbnRlckB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CisgICAgICBQYXZlbCBCdXRzeWtpbiA8cGJ1dHN5a2luQHZpcnR1b3p6by5jb20+CisgICAgICBQYXZlbCBNYXJ5YW5vdiA8YWNpZEBqYWNrLmtpZXYudWE+CisgICAgICBwY3BhIDxwYXVsby5jZXNhci5wZXJlaXJhLmRlLmFuZHJhZGVAZ21haWwuY29tPgorICAgICAgUGVkcm8gTWlndWVsIENhcnZhbGhvIDxQZWRyb01DQHBtYy5jb20ucHQ+CisgICAgICBQZWRybyBSaWJlaXJvIDxwLm00Mi5yaWJlaXJvQGdtYWlsLmNvbT4KKyAgICAgIHBlcHBlIDxnMXBpQGxpYmVyby5pdD4KKyAgICAgIFBldGVyIEJyZWl0ZW5sb2huZXIgPHBlYkBtcHBtdS5tcGcuZGU+CisgICAgICBQZXRlciBDb3JkZXMgPHBldGVyQGNvcmRlcy5jYT4KKyAgICAgIFBldGVyIERlIFdhY2h0ZXIgPHBkZXdhY2h0QGdtYWlsLmNvbT4KKyAgICAgIFBldGVyIEhvZWcgPHBldGVyQHNwZWFydGFpbC5jb20+CisgICAgICBQZXRlciBKb25lcyA8cGpvbmVzQHJlZGhhdC5jb20+CisgICAgICBQZXRlciBPcmJhZWsgPHBvZUBkYWltaS5hYXUuZGs+CisgICAgICBQZXRlciBSYWpub2hhIDxwcmFqbm9oYUByZWRoYXQuY29tPgorICAgICAgUGV0ZXIgVG9iaWFzIDx0b2JpYXNAc2VydmVyLmV0LWluZi5maG8tZW1kZW4uZGU+CisgICAgICBQZXRlciBUeXNlciA8cHR5c2VyQHhlcy1pbmMuY29tPgorICAgICAgUGV0ZXIgVm9sa292IDxwdmFAZ2VudG9vLm9yZz4KKyAgICAgIFBldHIgUMOtc2HFmSA8cGV0ci5waXNhckBhdGxhcy5jej4KKyAgICAgIFBldHIgVXplbCA8cGV0ci51emVsQHN1c2UuY3o+CisgICAgICBQZXRyIFZvcmVsIDxwdm9yZWxAc3VzZS5jej4KKyAgICAgIFBoYW4gVmluaCBUaGluaCA8dGVwcGk4MkBnbWFpbC5jb20+CisgICAgICBQaGlsaXBwIE1hcmVrIDxwaGlsaXBwLm1hcmVrQGxpbmJpdC5jb20+CisgICAgICBQaGlsaXAgUHJpbmRldmlsbGUgPHBoaWxpcHBAcmVkZmlzaC1zb2x1dGlvbnMuY29tPgorICAgICAgUGhpbGlwcCBUaG9tYXMgPHB0aEBzdXNlLmRlPgorICAgICAgUGhpbGxpcCBTdXNpIDxwc3VzaUB1YnVudHUuY29tPgorICAgICAgUGhpbCBSdWZmd2luZCA8cmZAcnVmZmxld2luZC5jb20+CisgICAgICBQaWVycmUgSGF1d2VlbGUgPGFudGVnYWxseWFAZ21haWwuY29tPgorICAgICAgUGlldHJvIENhc3RlbGxpCisgICAgICBQby1ZdSBDaHVhbmcgPHJhdGJlcnRAZmFyYWRheS10ZWNoLmNvbT4KKyAgICAgIFByYXJpdCBCaGFyZ2F2YSA8cHJhcml0QHJlZGhhdC5jb20+CisgICAgICBSYWZhZWwgQXF1aW5pIDxhcXVpbmlAcmVkaGF0LmNvbT4KKyAgICAgIFJhZmFlbCBGZXJyZWlyYSA8cmFmYWVsLmYuZjFAZ21haWwuY29tPgorICAgICAgUmFmYWVsIEZvbnRlbmVsbGUgPHJhZmFlbGZmQGdub21lLm9yZz4KKyAgICAgIFJhZmFlbCBGb250ZW5lbGxlIDxyZmZvbnRlbmVsbGVAZ21haWwuY29tPgorICAgICAgUmFmYWwgTHV6eW5za2kgPGRpZ2l0YWxmcmVha0BsaW5nb25ib3JvdWdoLmNvbT4KKyAgICAgIFJhZmHFgiBNacWCZWNraSA8cmFmYWxAbWlsZWNraS5wbD4KKyAgICAgIFJhZ2hhdmVuZHJhIEQgUHJhYmh1IDxycHJhYmh1QHdub2hhbmcubmV0PgorICAgICAgUmFpbmVyIEdlcmhhcmRzIDxyZ2VyaGFyZHNAYWRpc2Nvbi5jb20+CisgICAgICBSYWplZXYgVi4gUGlsbGFpIDxyYWplZXZ2cEBnbWFpbC5jb20+CisgICAgICBSYW0gUGFpIDxsaW51eHJhbUB1cy5pYm0uY29tPgorICAgICAgUmFuZG9scGggQmVudHNvbiA8YmVudHNvbkBncmllZy5zZWFzbHVnLm9yZz4KKyAgICAgIFJhbmR5IER1bmxhcCA8cmFuZHkuZHVubGFwQG9yYWNsZS5jb20+CisgICAgICBSYXBoYWVsIFMuIENhcnZhbGhvIDxyYXBoYWVsc2NAY2xvdWRpdXMtc3lzdGVtcy5jb20+CisgICAgICBSYXNtdXMgVmlsbGVtb2VzIDxyYXNtdXMudmlsbGVtb2VzQHByZXZhcy5kaz4KKyAgICAgIFJhdWwgR3V0aWVycmV6IFNlZ2FsZXMgPHJnc0BpdGV2ZW53b3Jrcy5uZXQ+CisgICAgICBSYXkgV2FuZyA8d2FuZ2xlaTExMjNAZ21haWwuY29tPgorICAgICAgUmljaGFyZCBUb2xsZXJ0b24gPHJpY2gudG9sbGVydG9uQG5pLmNvbT4KKyAgICAgIFJpY2hhcmQgV2VpbmJlcmdlciA8cmljaGFyZEBub2QuYXQ+CisgICAgICBSaWNoYXJkIFcuTS4gSm9uZXMgPHJqb25lc0ByZWRoYXQuY29tPgorICAgICAgUmljaGFyZCBZYW5uIDx5YW5uLnJpY2hhcmRAdWhiLmZyPgorICAgICAgUmljaGFyZCBZYW8gPHJ5YW9AZ2VudG9vLm9yZz4KKyAgICAgIFJpY2thcmQgRmFpdGggPGZhaXRoQGNzLnVuYy5lZHU+CisgICAgICBSaWNrIFNsYWRrZXkgPGpyc0B3b3JsZC5zdGQuY29tPgorICAgICAgUmlrdSBWb2lwaW8gPHJpa3Uudm9pcGlvQGlraS5maT4KKyAgICAgIFJpayB2YW4gUmllbCA8cmllbEByZWRoYXQuY29tPgorICAgICAgUm9iZXJ0IEbDtnJzdGVyIDxEZXNzYUBnbWFrZS5kZT4KKyAgICAgIFJvYmVydCBNaWxsYW4gPHJtaEBkZWJpYW4ub3JnPgorICAgICAgUm9iZXJ0IFNjaGllbGUgPHJzY2hpZWxlQGdtYWlsLmNvbT4KKyAgICAgIFJvZGR5IFNodWxlciA8cm9kZHlAZW5kbGVzc20uY29tPgorICAgICAgUm9kcmlnbyBDYW1wb3MgPHJvZHJpZ29Ac2RmZy5jb20uYXI+CisgICAgICBSb2RyaWdvIFN0dWx6ZXIgTG9wZXMgPHJvZHJpZ29AY29uZWN0aXZhLmNvbS5icj4KKyAgICAgIFJvbGYgRm9ra2VucyA8cm9sZkByb2xmZm9ra2Vucy5ubD4KKyAgICAgIFJvbWFpbiBCb3V2aWVyIDxza3VubnlrQGFsdGVyb290Lm9yZz4KKyAgICAgIFJvbWFpbiBOYW91ciA8cm9tYWluLm5hb3VyQGdtYWlsLmNvbT4KKyAgICAgIFJvbm55IENoZXZhbGllciA8Y2hldmFsaWVyLnJvbm55QGdtYWlsLmNvbT4KKyAgICAgIFJvbiBTb21tZWxpbmcgPHNvbW1lbEBzY2kua3VuLm5sPgorICAgICAgUm9zcyBCaXJvIDxiaXJvQHlnZ2RyYXNpbC5jb20+CisgICAgICBSb3N0aXNsYXYgU2t1ZG5vdiA8cm9zdGlzbGF2QHR1eGVyYS5jb20+CisgICAgICBSb3kgUGVsZWQgPHRoZS5yb3kucGVsZWRAZ21haWwuY29tPgorICAgICAgUnVlZGlnZXIgTWVpZXIgPHJ1ZWRpZ2VyLm1laWVyQGdhLWdyb3VwLm5sPgorICAgICAgUnVpIFpoYW8gKHJlbnl1bmV5dW4pIDxyZW55dW5leXVuQGdtYWlsLmNvbT4KKyAgICAgIFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisgICAgICBTYW1pIExpZWRlcyA8c2FtaS5saWVkZXNAaWtpLmZpPgorICAgICAgU2FtIE1vcnJpcyA8c2FtQHJvYm90cy5vcmcudWs+CisgICAgICBTYW11ZWwgT3J0aXogPHNhbWVvQGxpbnV4LmludGVsLmNvbT4KKyAgICAgIFNhbXVlbCBUaGliYXVsdCA8c2FtdWVsLnRoaWJhdWx0QGVucy1seW9uLm9yZz4KKyAgICAgIFNhbSBWYXJzaGF2Y2hpayA8bXJzYW1AY291cmllci1tdGEuY29tPgorICAgICAgU2FuZGVyIHZhbiBNYWxzc2VuIDxzdm1Aa296bWl4Lm93Lm5sPgorICAgICAgU2FudGlhZ28gVmlsYSBEb25jZWwgPHNhbnZpbGFAdW5leC5lcz4KKyAgICAgIFNhc2NoYSBTb21tZXIgPHNzb21tZXJAc3VzZS5kZT4KKyAgICAgIFNhc3NhbiBQYW5haGluZWphZCA8c2Fzc2FuQHNhc3Nhbi5tZS51az4KKyAgICAgIFNjb3R0IEphbWVzIFJlbW5hbnQgPHNjb3R0QHVidW50dS5jb20+CisgICAgICBTY290dCBNb3NlciA8c21vc2VyQHVidW50dS5jb20+CisgICAgICBTY290dCBUZWxmb3JkIDxzdEBlcGNjLmVkLmFjLnVrPgorICAgICAgU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvciA8c2ViYXN0aWFuQGJyZWFrcG9pbnQuY2M+CisgICAgICBTZWJhc3RpYW4gS3JhaG1lciA8a3JhaG1lckBzdXNlLmRlPgorICAgICAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGdtYWlsLmNvbT4KKyAgICAgIFNlYmFzdGlhbiBTY2hyYWRlciA8c2ViYXN0aWFuLnNjaHJhZGVyQG9zc21haWwuZGU+CisgICAgICBTw6liYXN0aWVuIEhlbGxldSA8Zmxhc2hjb2RlQGZsYXNodHV4Lm9yZz4KKyAgICAgIFNlcmdlIEhhbGx5biA8c2VyZ2UuaGFsbHluQHVidW50dS5jb20+CisgICAgICBTZXJnZWkgQW50b25vdiA8c2Fwcm9qQGdtYWlsLmNvbT4KKyAgICAgIFNlcmdleSBHdXNhcm92IDxsYWJvcmVyMjAwOEBnbWFpbC5jb20+CisgICAgICBzZ2FyZ2VsIDxzZ2FyZ2VsQHlhaG9vLml0PgorICAgICAgU2hhY2hhciBTaGVtZXNoIDxzaGFjaGFyQGRlYmlhbi5vcmc+CisgICAgICBTaGF1biBUYW5jaGVmZiA8c2hhdW5AdGFuY2hlZmYuY29tPgorICAgICAgU2ltb24gTWloZXZjIDxzaW1vbm1paGV2Y0BlbWFpbC5zaT4KKyAgICAgIFPDuHJlbiBIb2xtIDxzZ2hAc2doLmRrPgorICAgICAgcy5wQG9yYml0YWxmb3guY29tIDxzLnBAb3JiaXRhbGZveC5jb20+CisgICAgICBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CisgICAgICBTdGVmYW4gS3JhaCA8c3RlZmFuQGJ5dGVyZWVmLm9yZz4KKyAgICAgIFN0ZWYgV2FsdGVyIDxzdGVmd0ByZWRoYXQuY29tPgorICAgICAgU3RlcGFuIEthc2FsIDxza2FzYWxAcmVkaGF0LmNvbT4KKyAgICAgIFN0w6lwaGFuZSBBdWxlcnkgPGxrcHBvQGZyZWUuZnI+CisgICAgICBTdGVwaGFuIE1ha2EgPHN0ZXBoYW5Ac3BhY2Vib3l6Lm5ldD4KKyAgICAgIFN0ZXBoYW4gTcO8bGxlciA8ZnJ1a3RvcHVzQGdtYWlsLmNvbT4KKyAgICAgIFN0ZXBoZW4gR2FsbGltb3JlCisgICAgICBTdGVwaGVuIEhlbW1pbmdlciA8c2hlbW1pbmdlckB2eWF0dGEuY29tPgorICAgICAgU3RlcGhlbiBUd2VlZGllIDxzY3RAZGNzLmVkLmFjLnVrPgorICAgICAgU3RldmUgR3J1YmIgPHNncnViYkByZWRoYXQuY29tPgorICAgICAgU3RldmUgS2VudG9uIDxza2VudG9uQG91LmVkdT4KKyAgICAgIFN0ZXZlbiBIb25leW1hbiA8c3RldmVuaG9uZXltYW5AdXNlcnMubm9yZXBseS5naXRodWIuY29tPgorICAgICAgU3RldmVuIEouIE1hZ25hbmkgPHN0ZXZlQGRpZ2lkZXNjb3JwLmNvbT4KKyAgICAgIFN0ZXZlbiBTLiBEaWNrIDxzc2RAbmV2ZXRzLm9hdS5vcmc+CisgICAgICBTdGV2ZW4gU21pdGggPHNvczIyQGFyY2h5Lm9yZy51az4KKyAgICAgIFN0ZXZlIFBoaWxwCisgICAgICBTdGV3YXJ0IFNtaXRoIDxzdGV3YXJ0QGxpbnV4LnZuZXQuaWJtLmNvbT4KKyAgICAgIFN1a2FkZXYgQmhhdHRpcHJvbHUgPHN1a2FkZXZAbGludXgudm5ldC5pYm0uY29tPgorICAgICAgU3ZlbiBFY2tlbG1hbm4gPHN2ZW4uZWNrZWxtYW5uQGdteC5kZT4KKyAgICAgIFN2ZW4gSm9zdCA8c3Zlbi5qb3N0QGdvb2dsZW1haWwuY29tPgorICAgICAgU3dlZXQgVGVhIERvcm1pbnkgPHN3ZWV0dGVhQG1pdC5lZHU+CisgICAgICB0YWl5dSA8dGFpeXUubGVuQGdtYWlsLmNvbT4KKyAgICAgIFRha2VzaGkgSGFtYXNha2kgPGhtYXRyanBAdXNlcnMuc291cmNlZm9yZ2UuanA+CisgICAgICBUZXJyeSBCdXJ0b24gPHRlekB0ZXJyeWJ1cnRvbi5jby51az4KKyAgICAgIFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+CisgICAgICBUaGllcnJ5IFJlZGluZyA8dGhpZXJyeS5yZWRpbmdAYXZpb25pYy1kZXNpZ24uZGU+CisgICAgICBUaGllcnJ5IFZpZ25hdWQgPHRoaWVycnkudmlnbmF1ZEBnbWFpbC5jb20+CisgICAgICBUaG9tYXMgQsOkY2hsZXIgPHRob21hc0BhcmNobGludXgub3JnPgorICAgICAgVGhvbWFzIEZlaHIgPGZlaHJAc3VzZS5kZT4KKyAgICAgIFRob21hcyBQZXRhenpvbmkgPHRob21hcy5wZXRhenpvbmlAZnJlZS1lbGVjdHJvbnMuY29tPgorICAgICAgVGhvbWFzIFNjaHdpbmdlIDx0aG9tYXNAY29kZXNvdXJjZXJ5LmNvbT4KKyAgICAgIFRob3JzdGVuIEdsYXNlciA8dGdAbWlyYnNkLm9yZz4KKyAgICAgIFRob3JzdGVuIFdpbG1lciA8d2lsbWVyLnRob3JzdGVuQGdtYWlsLmNvbT4KKyAgICAgIFRpbG1hbiBTY2htaWR0IDx0aWxtYW5AaW1hcC5jYz4KKyAgICAgIFRpbSBHYXJkbmVyIDx0aW0uZ2FyZG5lckBjYW5vbmljYWwuY29tPgorICAgICAgVGltbyBKdWhhbmkgTGluZGZvcnMgPHRpbW8ubGluZGZvcnNAaWtpLmZpPgorICAgICAgVGltbyBXYXJucyA8V2FybnNAUHJlLVNlbnNlLkRFPgorICAgICAgVGltIFdhdWdoIDx0d2F1Z2hAcmVkaGF0LmNvbT4KKyAgICAgIFRvYmlhcyBLbGF1c2VyIDx0a2xhdXNlckBkaXN0YW56LmNoPgorICAgICAgVG9iaWFzIFN0b2Vja21hbm4gPHRvYmlhc0BzdG9lY2ttYW5uLm9yZz4KKyAgICAgIFRvbWFzIFdpbmtsZXIgPHRvbWFzLndpbmtsZXJAaW50ZWwuY29tPgorICAgICAgVG9tIEd1bmRlcnNlbiA8dGVnQGprbG0ubm8+CisgICAgICBUb21pc2xhdiBLcnpuYXIgPHRvbWlzbGF2Lmtyem5hckBnbWFpbC5jb20+CisgICAgICBUb21taSBLeW50b2xhIDxreW5kZUBpa2kuZmk+CisgICAgICBUb21teSBUaG9ybgorICAgICAgVG9tIFByaW5jZSA8dG9tLnByaW5jZUB1YWxiZXJ0YS5uZXQ+CisgICAgICBUb255IEFzbGVzb24gPHRhc2xlc29uQHJlZGhhdC5jb20+CisgICAgICBUb3JzdGVuIEhpbGJyaWNoIDx0b3JzdGVuLmhpbGJyaWNoQHNlY3VuZXQuY29tPgorICAgICAgVG9zaGkgS2FuaSA8dG9zaGkua2FuaUBocC5jb20+CisgICAgICBUcuG6p24gTmfhu41jIFF1w6JuIDx2bndpbGRtYW5AZ21haWwuY29tPgorICAgICAgVmFjbGF2IERvbGV6YWwgPHZkb2xlemFsQHJlZGhhdC5jb20+CisgICAgICBWYWxlcmllIEF1cm9yYSA8dmF1cm9yYUByZWRoYXQuY29tPgorICAgICAgVmFzYW50IEhlZ2RlIDxoZWdkZXZhc2FudEBsaW51eC52bmV0LmlibS5jb20+CisgICAgICBWaWN0b3IgRG9kb24gPGRvZG9udmljdG9yQGdtYWlsLmNvbT4KKyAgICAgIFZpbGxlIFNreXR0w6QgPHZpbGxlLnNreXR0YUBpa2kuZmk+CisgICAgICBWaW5jZW50IERlZmZvbnRhaW5lcyA8dmluY2VudEBncnl6b3IuY29tPgorICAgICAgVmlubmllIE1hZ3JvIDx2bWFncm9AZmIuY29tPgorICAgICAgVml0ZXpzbGF2IENpemVrIDx2Y2l6ZWtAc3VzZS5jej4KKyAgICAgIFZsYWRpbWlyIEJyZWRuaWtvdiA8dmJyZWRuaWtvdkBnbWFpbC5jb20+CisgICAgICBWbGFkaW1pciAnz4YtY29kZXIvcGhjb2RlcicgU2VyYmluZW5rbyA8cGhjb2RlckBnbWFpbC5jb20+CisgICAgICBWb2xrZXIgS3VobG1hbm4gPHYua3VobG1hbm5AZWxlYy5jYW50ZXJidXJ5LmFjLm56PgorICAgICAgVm9sa2VyIFNjaGF0eiA8b3NzQHZvbGtlcnNjaGF0ei5jb20+CisgICAgICBWcmF0aXNsYXYgUG9kemltZWsgPHZwb2R6aW1lQHJlZGhhdC5jb20+CisgICAgICBXYWxkZW1hciBCcm9ka29yYiA8d2J4QG9wZW5hZGsub3JnPgorICAgICAgV0FORyBDaGFvIDx3Y3d4eXpAZ21haWwuY29tPgorICAgICAgV2FubG9uZyBHYW8gPHdhbmxvbmcuZ2FvQGdtYWlsLmNvbT4KKyAgICAgIFdheW5lIFBvbGxvY2sgPHByb2Z3YXluZXBvbGxvY2tAZ21haWwuY29tPgorICAgICAgV2F5bmUgUi4gUm90aCA8d2F5bmVyb3RoNDJAZ21haWwuY29tPgorICAgICAgV2VpLUx1biBDaGFvIDxibHVlYmF0QG1lbWJlci5mc2Yub3JnPgorICAgICAgV2VybmVyIEFsbWVzYmVyZ2VyIDxhbG1lc2JlckBiZXJuaW5hLmV0aHouY2g+CisgICAgICBXZXJuZXIgRmluayA8d2VybmVyQHN1c2UuZGU+CisgICAgICBXaWVsYW5kIEhvZmZtYW5uIDx0aGVtaW5lb0BnbWFpbC5jb20+CisgICAgICBXaWxsaWFtIFBpdGNvY2sgPG5lbm9sb2RAZGVyZWZlcmVuY2VkLm9yZz4KKyAgICAgIFdpbGwgSm9oYW5zc29uIDx3aWxsLmpvaGFuc3NvbkBnbWFpbC5jb20+CisgICAgICBXb2xmZ2FuZyBSaWNodGVyIDx3b2xmQGNzLmNtdS5lZHU+CisgICAgICBXLiBUcmV2b3IgS2luZyA8d2tpbmdAdHJlbWlseS51cz4KKyAgICAgIFdVRUJCRUxTLCBKb3NlZiA8Sm9zZWYuV1VFQkJFTFNAbXR1LmRlPgorICAgICAgV3lsbWVyIFdhbmcgPHdhbnRpbmdoYXJkQGdtYWlsLmNvbT4KKyAgICAgIFcuWi4gVmVuZW1hCisgICAgICBZYW5uIERyb25lYXVkIDx5YW5uQGRyb25lYXVkLmZyPgorICAgICAgWW9zaGloaXJvIFRha2FoYXNoaSA8eXRha2FoYXNoaUBtaXJhY2xlbGludXguY29tPgorICAgICAgWXVyaSBDaG9ybm9pdmFuIDx5dXJjaG9yQGdtYWlsLmNvbT4KKyAgICAgIFl1cml5IE0uIEthbWluc2tpeSA8eXVta2FtQGdtYWlsLmNvbT4KKyAgICAgIFl1cml5IE5hemFyb3YgPG5hemFyb3YueXVyaXkucGF2bG92aWNoQGdtYWlsLmNvbT4KKyAgICAgIFl1IFpoaWd1byA8eXV6Z0Bjbi5mdWppdHN1LmNvbT4KKyAgICAgIFphY2hhcnkgQ2F0bGluIDx6QHpjLmlzPgorICAgICAgWmFjIE1lZGljbyA8em1lZGljb0BnZW50b28ub3JnPgorICAgICAgWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1layA8emJ5c3pla0Bpbi53YXcucGw+CisgICAgICBaZGVuZWsgQmVoYW4gPHJhaW5AbWF0Znl6LmN6PgorICAgICAgWmVlc2hhbiBBbGkgKEtoYXR0YWspIDx6ZWVzaGFuYWtAZ25vbWUub3JnPgorICAgICAgWmhpIExpIDxsaXpoaTEyMTVAZ21haWwuY29tPgpkaWZmIC0tZ2l0IGEvQW5kcm9pZC5tayBiL0FuZHJvaWQubWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTMzMzlkMgotLS0gL2Rldi9udWxsCisrKyBiL0FuZHJvaWQubWsKQEAgLTAsMCArMSwzIEBACisjIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKK2luY2x1ZGUgJChjYWxsIGFsbC1zdWJkaXItbWFrZWZpbGVzKQpkaWZmIC0tZ2l0IGEvQ09QWUlORyBiL0NPUFlJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE1OTE2OQotLS0gL2Rldi9udWxsCisrKyBiL0NPUFlJTkcKQEAgLTAsMCArMSwzMzkgQEAKKyAgICAgICAgICAgICAgICAgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKyAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbiAyLCBKdW5lIDE5OTEKKworIENvcHlyaWdodCAoQykgMTk4OSwgMTk5MSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorIEV2ZXJ5b25lIGlzIHBlcm1pdHRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcworIG9mIHRoaXMgbGljZW5zZSBkb2N1bWVudCwgYnV0IGNoYW5naW5nIGl0IGlzIG5vdCBhbGxvd2VkLgorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlYW1ibGUKKworICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCitmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworTGljZW5zZSBpcyBpbnRlbmRlZCB0byBndWFyYW50ZWUgeW91ciBmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgZnJlZQorc29mdHdhcmUtLXRvIG1ha2Ugc3VyZSB0aGUgc29mdHdhcmUgaXMgZnJlZSBmb3IgYWxsIGl0cyB1c2Vycy4gIFRoaXMKK0dlbmVyYWwgUHVibGljIExpY2Vuc2UgYXBwbGllcyB0byBtb3N0IG9mIHRoZSBGcmVlIFNvZnR3YXJlCitGb3VuZGF0aW9uJ3Mgc29mdHdhcmUgYW5kIHRvIGFueSBvdGhlciBwcm9ncmFtIHdob3NlIGF1dGhvcnMgY29tbWl0IHRvCit1c2luZyBpdC4gIChTb21lIG90aGVyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBzb2Z0d2FyZSBpcyBjb3ZlcmVkIGJ5Cit0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGluc3RlYWQuKSAgWW91IGNhbiBhcHBseSBpdCB0bworeW91ciBwcm9ncmFtcywgdG9vLgorCisgIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tLCBub3QKK3ByaWNlLiAgT3VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2VzIGFyZSBkZXNpZ25lZCB0byBtYWtlIHN1cmUgdGhhdCB5b3UKK2hhdmUgdGhlIGZyZWVkb20gdG8gZGlzdHJpYnV0ZSBjb3BpZXMgb2YgZnJlZSBzb2Z0d2FyZSAoYW5kIGNoYXJnZSBmb3IKK3RoaXMgc2VydmljZSBpZiB5b3Ugd2lzaCksIHRoYXQgeW91IHJlY2VpdmUgc291cmNlIGNvZGUgb3IgY2FuIGdldCBpdAoraWYgeW91IHdhbnQgaXQsIHRoYXQgeW91IGNhbiBjaGFuZ2UgdGhlIHNvZnR3YXJlIG9yIHVzZSBwaWVjZXMgb2YgaXQKK2luIG5ldyBmcmVlIHByb2dyYW1zOyBhbmQgdGhhdCB5b3Uga25vdyB5b3UgY2FuIGRvIHRoZXNlIHRoaW5ncy4KKworICBUbyBwcm90ZWN0IHlvdXIgcmlnaHRzLCB3ZSBuZWVkIHRvIG1ha2UgcmVzdHJpY3Rpb25zIHRoYXQgZm9yYmlkCithbnlvbmUgdG8gZGVueSB5b3UgdGhlc2UgcmlnaHRzIG9yIHRvIGFzayB5b3UgdG8gc3VycmVuZGVyIHRoZSByaWdodHMuCitUaGVzZSByZXN0cmljdGlvbnMgdHJhbnNsYXRlIHRvIGNlcnRhaW4gcmVzcG9uc2liaWxpdGllcyBmb3IgeW91IGlmIHlvdQorZGlzdHJpYnV0ZSBjb3BpZXMgb2YgdGhlIHNvZnR3YXJlLCBvciBpZiB5b3UgbW9kaWZ5IGl0LgorCisgIEZvciBleGFtcGxlLCBpZiB5b3UgZGlzdHJpYnV0ZSBjb3BpZXMgb2Ygc3VjaCBhIHByb2dyYW0sIHdoZXRoZXIKK2dyYXRpcyBvciBmb3IgYSBmZWUsIHlvdSBtdXN0IGdpdmUgdGhlIHJlY2lwaWVudHMgYWxsIHRoZSByaWdodHMgdGhhdAoreW91IGhhdmUuICBZb3UgbXVzdCBtYWtlIHN1cmUgdGhhdCB0aGV5LCB0b28sIHJlY2VpdmUgb3IgY2FuIGdldCB0aGUKK3NvdXJjZSBjb2RlLiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIKK3JpZ2h0cy4KKworICBXZSBwcm90ZWN0IHlvdXIgcmlnaHRzIHdpdGggdHdvIHN0ZXBzOiAoMSkgY29weXJpZ2h0IHRoZSBzb2Z0d2FyZSwgYW5kCisoMikgb2ZmZXIgeW91IHRoaXMgbGljZW5zZSB3aGljaCBnaXZlcyB5b3UgbGVnYWwgcGVybWlzc2lvbiB0byBjb3B5LAorZGlzdHJpYnV0ZSBhbmQvb3IgbW9kaWZ5IHRoZSBzb2Z0d2FyZS4KKworICBBbHNvLCBmb3IgZWFjaCBhdXRob3IncyBwcm90ZWN0aW9uIGFuZCBvdXJzLCB3ZSB3YW50IHRvIG1ha2UgY2VydGFpbgordGhhdCBldmVyeW9uZSB1bmRlcnN0YW5kcyB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGlzIGZyZWUKK3NvZnR3YXJlLiAgSWYgdGhlIHNvZnR3YXJlIGlzIG1vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB3ZQord2FudCBpdHMgcmVjaXBpZW50cyB0byBrbm93IHRoYXQgd2hhdCB0aGV5IGhhdmUgaXMgbm90IHRoZSBvcmlnaW5hbCwgc28KK3RoYXQgYW55IHByb2JsZW1zIGludHJvZHVjZWQgYnkgb3RoZXJzIHdpbGwgbm90IHJlZmxlY3Qgb24gdGhlIG9yaWdpbmFsCithdXRob3JzJyByZXB1dGF0aW9ucy4KKworICBGaW5hbGx5LCBhbnkgZnJlZSBwcm9ncmFtIGlzIHRocmVhdGVuZWQgY29uc3RhbnRseSBieSBzb2Z0d2FyZQorcGF0ZW50cy4gIFdlIHdpc2ggdG8gYXZvaWQgdGhlIGRhbmdlciB0aGF0IHJlZGlzdHJpYnV0b3JzIG9mIGEgZnJlZQorcHJvZ3JhbSB3aWxsIGluZGl2aWR1YWxseSBvYnRhaW4gcGF0ZW50IGxpY2Vuc2VzLCBpbiBlZmZlY3QgbWFraW5nIHRoZQorcHJvZ3JhbSBwcm9wcmlldGFyeS4gIFRvIHByZXZlbnQgdGhpcywgd2UgaGF2ZSBtYWRlIGl0IGNsZWFyIHRoYXQgYW55CitwYXRlbnQgbXVzdCBiZSBsaWNlbnNlZCBmb3IgZXZlcnlvbmUncyBmcmVlIHVzZSBvciBub3QgbGljZW5zZWQgYXQgYWxsLgorCisgIFRoZSBwcmVjaXNlIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kCittb2RpZmljYXRpb24gZm9sbG93LgorCisgICAgICAgICAgICAgICAgICAgIEdOVSBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisgICBURVJNUyBBTkQgQ09ORElUSU9OUyBGT1IgQ09QWUlORywgRElTVFJJQlVUSU9OIEFORCBNT0RJRklDQVRJT04KKworICAwLiBUaGlzIExpY2Vuc2UgYXBwbGllcyB0byBhbnkgcHJvZ3JhbSBvciBvdGhlciB3b3JrIHdoaWNoIGNvbnRhaW5zCithIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZAordW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIFRoZSAiUHJvZ3JhbSIsIGJlbG93LAorcmVmZXJzIHRvIGFueSBzdWNoIHByb2dyYW0gb3Igd29yaywgYW5kIGEgIndvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0iCittZWFucyBlaXRoZXIgdGhlIFByb2dyYW0gb3IgYW55IGRlcml2YXRpdmUgd29yayB1bmRlciBjb3B5cmlnaHQgbGF3OgordGhhdCBpcyB0byBzYXksIGEgd29yayBjb250YWluaW5nIHRoZSBQcm9ncmFtIG9yIGEgcG9ydGlvbiBvZiBpdCwKK2VpdGhlciB2ZXJiYXRpbSBvciB3aXRoIG1vZGlmaWNhdGlvbnMgYW5kL29yIHRyYW5zbGF0ZWQgaW50byBhbm90aGVyCitsYW5ndWFnZS4gIChIZXJlaW5hZnRlciwgdHJhbnNsYXRpb24gaXMgaW5jbHVkZWQgd2l0aG91dCBsaW1pdGF0aW9uIGluCit0aGUgdGVybSAibW9kaWZpY2F0aW9uIi4pICBFYWNoIGxpY2Vuc2VlIGlzIGFkZHJlc3NlZCBhcyAieW91Ii4KKworQWN0aXZpdGllcyBvdGhlciB0aGFuIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQgbW9kaWZpY2F0aW9uIGFyZSBub3QKK2NvdmVyZWQgYnkgdGhpcyBMaWNlbnNlOyB0aGV5IGFyZSBvdXRzaWRlIGl0cyBzY29wZS4gIFRoZSBhY3Qgb2YKK3J1bm5pbmcgdGhlIFByb2dyYW0gaXMgbm90IHJlc3RyaWN0ZWQsIGFuZCB0aGUgb3V0cHV0IGZyb20gdGhlIFByb2dyYW0KK2lzIGNvdmVyZWQgb25seSBpZiBpdHMgY29udGVudHMgY29uc3RpdHV0ZSBhIHdvcmsgYmFzZWQgb24gdGhlCitQcm9ncmFtIChpbmRlcGVuZGVudCBvZiBoYXZpbmcgYmVlbiBtYWRlIGJ5IHJ1bm5pbmcgdGhlIFByb2dyYW0pLgorV2hldGhlciB0aGF0IGlzIHRydWUgZGVwZW5kcyBvbiB3aGF0IHRoZSBQcm9ncmFtIGRvZXMuCisKKyAgMS4gWW91IG1heSBjb3B5IGFuZCBkaXN0cmlidXRlIHZlcmJhdGltIGNvcGllcyBvZiB0aGUgUHJvZ3JhbSdzCitzb3VyY2UgY29kZSBhcyB5b3UgcmVjZWl2ZSBpdCwgaW4gYW55IG1lZGl1bSwgcHJvdmlkZWQgdGhhdCB5b3UKK2NvbnNwaWN1b3VzbHkgYW5kIGFwcHJvcHJpYXRlbHkgcHVibGlzaCBvbiBlYWNoIGNvcHkgYW4gYXBwcm9wcmlhdGUKK2NvcHlyaWdodCBub3RpY2UgYW5kIGRpc2NsYWltZXIgb2Ygd2FycmFudHk7IGtlZXAgaW50YWN0IGFsbCB0aGUKK25vdGljZXMgdGhhdCByZWZlciB0byB0aGlzIExpY2Vuc2UgYW5kIHRvIHRoZSBhYnNlbmNlIG9mIGFueSB3YXJyYW50eTsKK2FuZCBnaXZlIGFueSBvdGhlciByZWNpcGllbnRzIG9mIHRoZSBQcm9ncmFtIGEgY29weSBvZiB0aGlzIExpY2Vuc2UKK2Fsb25nIHdpdGggdGhlIFByb2dyYW0uCisKK1lvdSBtYXkgY2hhcmdlIGEgZmVlIGZvciB0aGUgcGh5c2ljYWwgYWN0IG9mIHRyYW5zZmVycmluZyBhIGNvcHksIGFuZAoreW91IG1heSBhdCB5b3VyIG9wdGlvbiBvZmZlciB3YXJyYW50eSBwcm90ZWN0aW9uIGluIGV4Y2hhbmdlIGZvciBhIGZlZS4KKworICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBQcm9ncmFtIG9yIGFueSBwb3J0aW9uCitvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSwgYW5kIGNvcHkgYW5kCitkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKK2Fib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CisKKyAgICBhKSBZb3UgbXVzdCBjYXVzZSB0aGUgbW9kaWZpZWQgZmlsZXMgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKyAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgorCisgICAgYikgWW91IG11c3QgY2F1c2UgYW55IHdvcmsgdGhhdCB5b3UgZGlzdHJpYnV0ZSBvciBwdWJsaXNoLCB0aGF0IGluCisgICAgd2hvbGUgb3IgaW4gcGFydCBjb250YWlucyBvciBpcyBkZXJpdmVkIGZyb20gdGhlIFByb2dyYW0gb3IgYW55CisgICAgcGFydCB0aGVyZW9mLCB0byBiZSBsaWNlbnNlZCBhcyBhIHdob2xlIGF0IG5vIGNoYXJnZSB0byBhbGwgdGhpcmQKKyAgICBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgICBjKSBJZiB0aGUgbW9kaWZpZWQgcHJvZ3JhbSBub3JtYWxseSByZWFkcyBjb21tYW5kcyBpbnRlcmFjdGl2ZWx5CisgICAgd2hlbiBydW4sIHlvdSBtdXN0IGNhdXNlIGl0LCB3aGVuIHN0YXJ0ZWQgcnVubmluZyBmb3Igc3VjaAorICAgIGludGVyYWN0aXZlIHVzZSBpbiB0aGUgbW9zdCBvcmRpbmFyeSB3YXksIHRvIHByaW50IG9yIGRpc3BsYXkgYW4KKyAgICBhbm5vdW5jZW1lbnQgaW5jbHVkaW5nIGFuIGFwcHJvcHJpYXRlIGNvcHlyaWdodCBub3RpY2UgYW5kIGEKKyAgICBub3RpY2UgdGhhdCB0aGVyZSBpcyBubyB3YXJyYW50eSAob3IgZWxzZSwgc2F5aW5nIHRoYXQgeW91IHByb3ZpZGUKKyAgICBhIHdhcnJhbnR5KSBhbmQgdGhhdCB1c2VycyBtYXkgcmVkaXN0cmlidXRlIHRoZSBwcm9ncmFtIHVuZGVyCisgICAgdGhlc2UgY29uZGl0aW9ucywgYW5kIHRlbGxpbmcgdGhlIHVzZXIgaG93IHRvIHZpZXcgYSBjb3B5IG9mIHRoaXMKKyAgICBMaWNlbnNlLiAgKEV4Y2VwdGlvbjogaWYgdGhlIFByb2dyYW0gaXRzZWxmIGlzIGludGVyYWN0aXZlIGJ1dAorICAgIGRvZXMgbm90IG5vcm1hbGx5IHByaW50IHN1Y2ggYW4gYW5ub3VuY2VtZW50LCB5b3VyIHdvcmsgYmFzZWQgb24KKyAgICB0aGUgUHJvZ3JhbSBpcyBub3QgcmVxdWlyZWQgdG8gcHJpbnQgYW4gYW5ub3VuY2VtZW50LikKKworVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgoraWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSwKK2FuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgordGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQorc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CitkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKK29uIHRoZSBQcm9ncmFtLCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgordGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKK2VudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZSBpdC4KKworVGh1cywgaXQgaXMgbm90IHRoZSBpbnRlbnQgb2YgdGhpcyBzZWN0aW9uIHRvIGNsYWltIHJpZ2h0cyBvciBjb250ZXN0Cit5b3VyIHJpZ2h0cyB0byB3b3JrIHdyaXR0ZW4gZW50aXJlbHkgYnkgeW91OyByYXRoZXIsIHRoZSBpbnRlbnQgaXMgdG8KK2V4ZXJjaXNlIHRoZSByaWdodCB0byBjb250cm9sIHRoZSBkaXN0cmlidXRpb24gb2YgZGVyaXZhdGl2ZSBvcgorY29sbGVjdGl2ZSB3b3JrcyBiYXNlZCBvbiB0aGUgUHJvZ3JhbS4KKworSW4gYWRkaXRpb24sIG1lcmUgYWdncmVnYXRpb24gb2YgYW5vdGhlciB3b3JrIG5vdCBiYXNlZCBvbiB0aGUgUHJvZ3JhbQord2l0aCB0aGUgUHJvZ3JhbSAob3Igd2l0aCBhIHdvcmsgYmFzZWQgb24gdGhlIFByb2dyYW0pIG9uIGEgdm9sdW1lIG9mCithIHN0b3JhZ2Ugb3IgZGlzdHJpYnV0aW9uIG1lZGl1bSBkb2VzIG5vdCBicmluZyB0aGUgb3RoZXIgd29yayB1bmRlcgordGhlIHNjb3BlIG9mIHRoaXMgTGljZW5zZS4KKworICAzLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGEgd29yayBiYXNlZCBvbiBpdCwKK3VuZGVyIFNlY3Rpb24gMikgaW4gb2JqZWN0IGNvZGUgb3IgZXhlY3V0YWJsZSBmb3JtIHVuZGVyIHRoZSB0ZXJtcyBvZgorU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIGRvIG9uZSBvZiB0aGUgZm9sbG93aW5nOgorCisgICAgYSkgQWNjb21wYW55IGl0IHdpdGggdGhlIGNvbXBsZXRlIGNvcnJlc3BvbmRpbmcgbWFjaGluZS1yZWFkYWJsZQorICAgIHNvdXJjZSBjb2RlLCB3aGljaCBtdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucworICAgIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0gY3VzdG9tYXJpbHkgdXNlZCBmb3Igc29mdHdhcmUgaW50ZXJjaGFuZ2U7IG9yLAorCisgICAgYikgQWNjb21wYW55IGl0IHdpdGggYSB3cml0dGVuIG9mZmVyLCB2YWxpZCBmb3IgYXQgbGVhc3QgdGhyZWUKKyAgICB5ZWFycywgdG8gZ2l2ZSBhbnkgdGhpcmQgcGFydHksIGZvciBhIGNoYXJnZSBubyBtb3JlIHRoYW4geW91cgorICAgIGNvc3Qgb2YgcGh5c2ljYWxseSBwZXJmb3JtaW5nIHNvdXJjZSBkaXN0cmlidXRpb24sIGEgY29tcGxldGUKKyAgICBtYWNoaW5lLXJlYWRhYmxlIGNvcHkgb2YgdGhlIGNvcnJlc3BvbmRpbmcgc291cmNlIGNvZGUsIHRvIGJlCisgICAgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgb24gYSBtZWRpdW0KKyAgICBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCisKKyAgICBjKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgaW5mb3JtYXRpb24geW91IHJlY2VpdmVkIGFzIHRvIHRoZSBvZmZlcgorICAgIHRvIGRpc3RyaWJ1dGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZS4gIChUaGlzIGFsdGVybmF0aXZlIGlzCisgICAgYWxsb3dlZCBvbmx5IGZvciBub25jb21tZXJjaWFsIGRpc3RyaWJ1dGlvbiBhbmQgb25seSBpZiB5b3UKKyAgICByZWNlaXZlZCB0aGUgcHJvZ3JhbSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gd2l0aCBzdWNoCisgICAgYW4gb2ZmZXIsIGluIGFjY29yZCB3aXRoIFN1YnNlY3Rpb24gYiBhYm92ZS4pCisKK1RoZSBzb3VyY2UgY29kZSBmb3IgYSB3b3JrIG1lYW5zIHRoZSBwcmVmZXJyZWQgZm9ybSBvZiB0aGUgd29yayBmb3IKK21ha2luZyBtb2RpZmljYXRpb25zIHRvIGl0LiAgRm9yIGFuIGV4ZWN1dGFibGUgd29yaywgY29tcGxldGUgc291cmNlCitjb2RlIG1lYW5zIGFsbCB0aGUgc291cmNlIGNvZGUgZm9yIGFsbCBtb2R1bGVzIGl0IGNvbnRhaW5zLCBwbHVzIGFueQorYXNzb2NpYXRlZCBpbnRlcmZhY2UgZGVmaW5pdGlvbiBmaWxlcywgcGx1cyB0aGUgc2NyaXB0cyB1c2VkIHRvCitjb250cm9sIGNvbXBpbGF0aW9uIGFuZCBpbnN0YWxsYXRpb24gb2YgdGhlIGV4ZWN1dGFibGUuICBIb3dldmVyLCBhcyBhCitzcGVjaWFsIGV4Y2VwdGlvbiwgdGhlIHNvdXJjZSBjb2RlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUKK2FueXRoaW5nIHRoYXQgaXMgbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5Citmb3JtKSB3aXRoIHRoZSBtYWpvciBjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZQorb3BlcmF0aW5nIHN5c3RlbSBvbiB3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQKK2l0c2VsZiBhY2NvbXBhbmllcyB0aGUgZXhlY3V0YWJsZS4KKworSWYgZGlzdHJpYnV0aW9uIG9mIGV4ZWN1dGFibGUgb3Igb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZworYWNjZXNzIHRvIGNvcHkgZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudAorYWNjZXNzIHRvIGNvcHkgdGhlIHNvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2UgY291bnRzIGFzCitkaXN0cmlidXRpb24gb2YgdGhlIHNvdXJjZSBjb2RlLCBldmVuIHRob3VnaCB0aGlyZCBwYXJ0aWVzIGFyZSBub3QKK2NvbXBlbGxlZCB0byBjb3B5IHRoZSBzb3VyY2UgYWxvbmcgd2l0aCB0aGUgb2JqZWN0IGNvZGUuCisKKyAgNC4gWW91IG1heSBub3QgY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBvciBkaXN0cmlidXRlIHRoZSBQcm9ncmFtCitleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueSBhdHRlbXB0CitvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gaXMKK3ZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIgcmlnaHRzIHVuZGVyIHRoaXMgTGljZW5zZS4KK0hvd2V2ZXIsIHBhcnRpZXMgd2hvIGhhdmUgcmVjZWl2ZWQgY29waWVzLCBvciByaWdodHMsIGZyb20geW91IHVuZGVyCit0aGlzIExpY2Vuc2Ugd2lsbCBub3QgaGF2ZSB0aGVpciBsaWNlbnNlcyB0ZXJtaW5hdGVkIHNvIGxvbmcgYXMgc3VjaAorcGFydGllcyByZW1haW4gaW4gZnVsbCBjb21wbGlhbmNlLgorCisgIDUuIFlvdSBhcmUgbm90IHJlcXVpcmVkIHRvIGFjY2VwdCB0aGlzIExpY2Vuc2UsIHNpbmNlIHlvdSBoYXZlIG5vdAorc2lnbmVkIGl0LiAgSG93ZXZlciwgbm90aGluZyBlbHNlIGdyYW50cyB5b3UgcGVybWlzc2lvbiB0byBtb2RpZnkgb3IKK2Rpc3RyaWJ1dGUgdGhlIFByb2dyYW0gb3IgaXRzIGRlcml2YXRpdmUgd29ya3MuICBUaGVzZSBhY3Rpb25zIGFyZQorcHJvaGliaXRlZCBieSBsYXcgaWYgeW91IGRvIG5vdCBhY2NlcHQgdGhpcyBMaWNlbnNlLiAgVGhlcmVmb3JlLCBieQorbW9kaWZ5aW5nIG9yIGRpc3RyaWJ1dGluZyB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCitQcm9ncmFtKSwgeW91IGluZGljYXRlIHlvdXIgYWNjZXB0YW5jZSBvZiB0aGlzIExpY2Vuc2UgdG8gZG8gc28sIGFuZAorYWxsIGl0cyB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW5nIG9yIG1vZGlmeWluZwordGhlIFByb2dyYW0gb3Igd29ya3MgYmFzZWQgb24gaXQuCisKKyAgNi4gRWFjaCB0aW1lIHlvdSByZWRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorUHJvZ3JhbSksIHRoZSByZWNpcGllbnQgYXV0b21hdGljYWxseSByZWNlaXZlcyBhIGxpY2Vuc2UgZnJvbSB0aGUKK29yaWdpbmFsIGxpY2Vuc29yIHRvIGNvcHksIGRpc3RyaWJ1dGUgb3IgbW9kaWZ5IHRoZSBQcm9ncmFtIHN1YmplY3QgdG8KK3RoZXNlIHRlcm1zIGFuZCBjb25kaXRpb25zLiAgWW91IG1heSBub3QgaW1wb3NlIGFueSBmdXJ0aGVyCityZXN0cmljdGlvbnMgb24gdGhlIHJlY2lwaWVudHMnIGV4ZXJjaXNlIG9mIHRoZSByaWdodHMgZ3JhbnRlZCBoZXJlaW4uCitZb3UgYXJlIG5vdCByZXNwb25zaWJsZSBmb3IgZW5mb3JjaW5nIGNvbXBsaWFuY2UgYnkgdGhpcmQgcGFydGllcyB0bwordGhpcyBMaWNlbnNlLgorCisgIDcuIElmLCBhcyBhIGNvbnNlcXVlbmNlIG9mIGEgY291cnQganVkZ21lbnQgb3IgYWxsZWdhdGlvbiBvZiBwYXRlbnQKK2luZnJpbmdlbWVudCBvciBmb3IgYW55IG90aGVyIHJlYXNvbiAobm90IGxpbWl0ZWQgdG8gcGF0ZW50IGlzc3VlcyksCitjb25kaXRpb25zIGFyZSBpbXBvc2VkIG9uIHlvdSAod2hldGhlciBieSBjb3VydCBvcmRlciwgYWdyZWVtZW50IG9yCitvdGhlcndpc2UpIHRoYXQgY29udHJhZGljdCB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UsIHRoZXkgZG8gbm90CitleGN1c2UgeW91IGZyb20gdGhlIGNvbmRpdGlvbnMgb2YgdGhpcyBMaWNlbnNlLiAgSWYgeW91IGNhbm5vdAorZGlzdHJpYnV0ZSBzbyBhcyB0byBzYXRpc2Z5IHNpbXVsdGFuZW91c2x5IHlvdXIgb2JsaWdhdGlvbnMgdW5kZXIgdGhpcworTGljZW5zZSBhbmQgYW55IG90aGVyIHBlcnRpbmVudCBvYmxpZ2F0aW9ucywgdGhlbiBhcyBhIGNvbnNlcXVlbmNlIHlvdQorbWF5IG5vdCBkaXN0cmlidXRlIHRoZSBQcm9ncmFtIGF0IGFsbC4gIEZvciBleGFtcGxlLCBpZiBhIHBhdGVudAorbGljZW5zZSB3b3VsZCBub3QgcGVybWl0IHJveWFsdHktZnJlZSByZWRpc3RyaWJ1dGlvbiBvZiB0aGUgUHJvZ3JhbSBieQorYWxsIHRob3NlIHdobyByZWNlaXZlIGNvcGllcyBkaXJlY3RseSBvciBpbmRpcmVjdGx5IHRocm91Z2ggeW91LCB0aGVuCit0aGUgb25seSB3YXkgeW91IGNvdWxkIHNhdGlzZnkgYm90aCBpdCBhbmQgdGhpcyBMaWNlbnNlIHdvdWxkIGJlIHRvCityZWZyYWluIGVudGlyZWx5IGZyb20gZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtLgorCitJZiBhbnkgcG9ydGlvbiBvZiB0aGlzIHNlY3Rpb24gaXMgaGVsZCBpbnZhbGlkIG9yIHVuZW5mb3JjZWFibGUgdW5kZXIKK2FueSBwYXJ0aWN1bGFyIGNpcmN1bXN0YW5jZSwgdGhlIGJhbGFuY2Ugb2YgdGhlIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8KK2FwcGx5IGFuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyCitjaXJjdW1zdGFuY2VzLgorCitJdCBpcyBub3QgdGhlIHB1cnBvc2Ugb2YgdGhpcyBzZWN0aW9uIHRvIGluZHVjZSB5b3UgdG8gaW5mcmluZ2UgYW55CitwYXRlbnRzIG9yIG90aGVyIHByb3BlcnR5IHJpZ2h0IGNsYWltcyBvciB0byBjb250ZXN0IHZhbGlkaXR5IG9mIGFueQorc3VjaCBjbGFpbXM7IHRoaXMgc2VjdGlvbiBoYXMgdGhlIHNvbGUgcHVycG9zZSBvZiBwcm90ZWN0aW5nIHRoZQoraW50ZWdyaXR5IG9mIHRoZSBmcmVlIHNvZnR3YXJlIGRpc3RyaWJ1dGlvbiBzeXN0ZW0sIHdoaWNoIGlzCitpbXBsZW1lbnRlZCBieSBwdWJsaWMgbGljZW5zZSBwcmFjdGljZXMuICBNYW55IHBlb3BsZSBoYXZlIG1hZGUKK2dlbmVyb3VzIGNvbnRyaWJ1dGlvbnMgdG8gdGhlIHdpZGUgcmFuZ2Ugb2Ygc29mdHdhcmUgZGlzdHJpYnV0ZWQKK3Rocm91Z2ggdGhhdCBzeXN0ZW0gaW4gcmVsaWFuY2Ugb24gY29uc2lzdGVudCBhcHBsaWNhdGlvbiBvZiB0aGF0CitzeXN0ZW07IGl0IGlzIHVwIHRvIHRoZSBhdXRob3IvZG9ub3IgdG8gZGVjaWRlIGlmIGhlIG9yIHNoZSBpcyB3aWxsaW5nCit0byBkaXN0cmlidXRlIHNvZnR3YXJlIHRocm91Z2ggYW55IG90aGVyIHN5c3RlbSBhbmQgYSBsaWNlbnNlZSBjYW5ub3QKK2ltcG9zZSB0aGF0IGNob2ljZS4KKworVGhpcyBzZWN0aW9uIGlzIGludGVuZGVkIHRvIG1ha2UgdGhvcm91Z2hseSBjbGVhciB3aGF0IGlzIGJlbGlldmVkIHRvCitiZSBhIGNvbnNlcXVlbmNlIG9mIHRoZSByZXN0IG9mIHRoaXMgTGljZW5zZS4KKworICA4LiBJZiB0aGUgZGlzdHJpYnV0aW9uIGFuZC9vciB1c2Ugb2YgdGhlIFByb2dyYW0gaXMgcmVzdHJpY3RlZCBpbgorY2VydGFpbiBjb3VudHJpZXMgZWl0aGVyIGJ5IHBhdGVudHMgb3IgYnkgY29weXJpZ2h0ZWQgaW50ZXJmYWNlcywgdGhlCitvcmlnaW5hbCBjb3B5cmlnaHQgaG9sZGVyIHdobyBwbGFjZXMgdGhlIFByb2dyYW0gdW5kZXIgdGhpcyBMaWNlbnNlCittYXkgYWRkIGFuIGV4cGxpY2l0IGdlb2dyYXBoaWNhbCBkaXN0cmlidXRpb24gbGltaXRhdGlvbiBleGNsdWRpbmcKK3Rob3NlIGNvdW50cmllcywgc28gdGhhdCBkaXN0cmlidXRpb24gaXMgcGVybWl0dGVkIG9ubHkgaW4gb3IgYW1vbmcKK2NvdW50cmllcyBub3QgdGh1cyBleGNsdWRlZC4gIEluIHN1Y2ggY2FzZSwgdGhpcyBMaWNlbnNlIGluY29ycG9yYXRlcwordGhlIGxpbWl0YXRpb24gYXMgaWYgd3JpdHRlbiBpbiB0aGUgYm9keSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgOS4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcgdmVyc2lvbnMKK29mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZyb20gdGltZSB0byB0aW1lLiAgU3VjaCBuZXcgdmVyc2lvbnMgd2lsbAorYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwgYnV0IG1heSBkaWZmZXIgaW4gZGV0YWlsIHRvCithZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KKworRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgUHJvZ3JhbQorc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kICJhbnkKK2xhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kIGNvbmRpdGlvbnMKK2VpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5IHRoZSBGcmVlCitTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIFByb2dyYW0gZG9lcyBub3Qgc3BlY2lmeSBhIHZlcnNpb24gbnVtYmVyIG9mCit0aGlzIExpY2Vuc2UsIHlvdSBtYXkgY2hvb3NlIGFueSB2ZXJzaW9uIGV2ZXIgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlCitGb3VuZGF0aW9uLgorCisgIDEwLiBJZiB5b3Ugd2lzaCB0byBpbmNvcnBvcmF0ZSBwYXJ0cyBvZiB0aGUgUHJvZ3JhbSBpbnRvIG90aGVyIGZyZWUKK3Byb2dyYW1zIHdob3NlIGRpc3RyaWJ1dGlvbiBjb25kaXRpb25zIGFyZSBkaWZmZXJlbnQsIHdyaXRlIHRvIHRoZSBhdXRob3IKK3RvIGFzayBmb3IgcGVybWlzc2lvbi4gIEZvciBzb2Z0d2FyZSB3aGljaCBpcyBjb3B5cmlnaHRlZCBieSB0aGUgRnJlZQorU29mdHdhcmUgRm91bmRhdGlvbiwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgd2Ugc29tZXRpbWVzCittYWtlIGV4Y2VwdGlvbnMgZm9yIHRoaXMuICBPdXIgZGVjaXNpb24gd2lsbCBiZSBndWlkZWQgYnkgdGhlIHR3byBnb2Fscworb2YgcHJlc2VydmluZyB0aGUgZnJlZSBzdGF0dXMgb2YgYWxsIGRlcml2YXRpdmVzIG9mIG91ciBmcmVlIHNvZnR3YXJlIGFuZAorb2YgcHJvbW90aW5nIHRoZSBzaGFyaW5nIGFuZCByZXVzZSBvZiBzb2Z0d2FyZSBnZW5lcmFsbHkuCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOTyBXQVJSQU5UWQorCisgIDExLiBCRUNBVVNFIFRIRSBQUk9HUkFNIElTIExJQ0VOU0VEIEZSRUUgT0YgQ0hBUkdFLCBUSEVSRSBJUyBOTyBXQVJSQU5UWQorRk9SIFRIRSBQUk9HUkFNLCBUTyBUSEUgRVhURU5UIFBFUk1JVFRFRCBCWSBBUFBMSUNBQkxFIExBVy4gIEVYQ0VQVCBXSEVOCitPVEhFUldJU0UgU1RBVEVEIElOIFdSSVRJTkcgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORC9PUiBPVEhFUiBQQVJUSUVTCitQUk9WSURFIFRIRSBQUk9HUkFNICJBUyBJUyIgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkgS0lORCwgRUlUSEVSIEVYUFJFU1NFRAorT1IgSU1QTElFRCwgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKK01FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBUSEUgRU5USVJFIFJJU0sgQVMKK1RPIFRIRSBRVUFMSVRZIEFORCBQRVJGT1JNQU5DRSBPRiBUSEUgUFJPR1JBTSBJUyBXSVRIIFlPVS4gIFNIT1VMRCBUSEUKK1BST0dSQU0gUFJPVkUgREVGRUNUSVZFLCBZT1UgQVNTVU1FIFRIRSBDT1NUIE9GIEFMTCBORUNFU1NBUlkgU0VSVklDSU5HLAorUkVQQUlSIE9SIENPUlJFQ1RJT04uCisKKyAgMTIuIElOIE5PIEVWRU5UIFVOTEVTUyBSRVFVSVJFRCBCWSBBUFBMSUNBQkxFIExBVyBPUiBBR1JFRUQgVE8gSU4gV1JJVElORworV0lMTCBBTlkgQ09QWVJJR0hUIEhPTERFUiwgT1IgQU5ZIE9USEVSIFBBUlRZIFdITyBNQVkgTU9ESUZZIEFORC9PUgorUkVESVNUUklCVVRFIFRIRSBQUk9HUkFNIEFTIFBFUk1JVFRFRCBBQk9WRSwgQkUgTElBQkxFIFRPIFlPVSBGT1IgREFNQUdFUywKK0lOQ0xVRElORyBBTlkgR0VORVJBTCwgU1BFQ0lBTCwgSU5DSURFTlRBTCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgQVJJU0lORworT1VUIE9GIFRIRSBVU0UgT1IgSU5BQklMSVRZIFRPIFVTRSBUSEUgUFJPR1JBTSAoSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRAorVE8gTE9TUyBPRiBEQVRBIE9SIERBVEEgQkVJTkcgUkVOREVSRUQgSU5BQ0NVUkFURSBPUiBMT1NTRVMgU1VTVEFJTkVEIEJZCitZT1UgT1IgVEhJUkQgUEFSVElFUyBPUiBBIEZBSUxVUkUgT0YgVEhFIFBST0dSQU0gVE8gT1BFUkFURSBXSVRIIEFOWSBPVEhFUgorUFJPR1JBTVMpLCBFVkVOIElGIFNVQ0ggSE9MREVSIE9SIE9USEVSIFBBUlRZIEhBUyBCRUVOIEFEVklTRUQgT0YgVEhFCitQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRVMuCisKKyAgICAgICAgICAgICAgICAgICAgIEVORCBPRiBURVJNUyBBTkQgQ09ORElUSU9OUworCisgICAgICAgICAgICBIb3cgdG8gQXBwbHkgVGhlc2UgVGVybXMgdG8gWW91ciBOZXcgUHJvZ3JhbXMKKworICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBwcm9ncmFtLCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0Citwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgdGhlIGJlc3Qgd2F5IHRvIGFjaGlldmUgdGhpcyBpcyB0byBtYWtlIGl0CitmcmVlIHNvZnR3YXJlIHdoaWNoIGV2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZSB1bmRlciB0aGVzZSB0ZXJtcy4KKworICBUbyBkbyBzbywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgcHJvZ3JhbS4gIEl0IGlzIHNhZmVzdAordG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQorY29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QKK3RoZSAiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgorCisgICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIHByb2dyYW0ncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKyAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgorCisgICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICAgIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgICAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKworQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCisKK0lmIHRoZSBwcm9ncmFtIGlzIGludGVyYWN0aXZlLCBtYWtlIGl0IG91dHB1dCBhIHNob3J0IG5vdGljZSBsaWtlIHRoaXMKK3doZW4gaXQgc3RhcnRzIGluIGFuIGludGVyYWN0aXZlIG1vZGU6CisKKyAgICBHbm9tb3Zpc2lvbiB2ZXJzaW9uIDY5LCBDb3B5cmlnaHQgKEMpIHllYXIgbmFtZSBvZiBhdXRob3IKKyAgICBHbm9tb3Zpc2lvbiBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFk7IGZvciBkZXRhaWxzIHR5cGUgYHNob3cgdycuCisgICAgVGhpcyBpcyBmcmVlIHNvZnR3YXJlLCBhbmQgeW91IGFyZSB3ZWxjb21lIHRvIHJlZGlzdHJpYnV0ZSBpdAorICAgIHVuZGVyIGNlcnRhaW4gY29uZGl0aW9uczsgdHlwZSBgc2hvdyBjJyBmb3IgZGV0YWlscy4KKworVGhlIGh5cG90aGV0aWNhbCBjb21tYW5kcyBgc2hvdyB3JyBhbmQgYHNob3cgYycgc2hvdWxkIHNob3cgdGhlIGFwcHJvcHJpYXRlCitwYXJ0cyBvZiB0aGUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4gIE9mIGNvdXJzZSwgdGhlIGNvbW1hbmRzIHlvdSB1c2UgbWF5CitiZSBjYWxsZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYHNob3cgdycgYW5kIGBzaG93IGMnOyB0aGV5IGNvdWxkIGV2ZW4gYmUKK21vdXNlLWNsaWNrcyBvciBtZW51IGl0ZW1zLS13aGF0ZXZlciBzdWl0cyB5b3VyIHByb2dyYW0uCisKK1lvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCitzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBwcm9ncmFtLCBpZgorbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgorCisgIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlIHByb2dyYW0KKyAgYEdub21vdmlzaW9uJyAod2hpY2ggbWFrZXMgcGFzc2VzIGF0IGNvbXBpbGVycykgd3JpdHRlbiBieSBKYW1lcyBIYWNrZXIuCisKKyAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTg5CisgIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCisKK1RoaXMgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBkb2VzIG5vdCBwZXJtaXQgaW5jb3Jwb3JhdGluZyB5b3VyIHByb2dyYW0gaW50bworcHJvcHJpZXRhcnkgcHJvZ3JhbXMuICBJZiB5b3VyIHByb2dyYW0gaXMgYSBzdWJyb3V0aW5lIGxpYnJhcnksIHlvdSBtYXkKK2NvbnNpZGVyIGl0IG1vcmUgdXNlZnVsIHRvIHBlcm1pdCBsaW5raW5nIHByb3ByaWV0YXJ5IGFwcGxpY2F0aW9ucyB3aXRoIHRoZQorbGlicmFyeS4gIElmIHRoaXMgaXMgd2hhdCB5b3Ugd2FudCB0byBkbywgdXNlIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwKK1B1YmxpYyBMaWNlbnNlIGluc3RlYWQgb2YgdGhpcyBMaWNlbnNlLgpkaWZmIC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiNGQyNDcKLS0tIC9kZXYvbnVsbAorKysgYi9DaGFuZ2VMb2cKQEAgLTAsMCArMSwzIEBACitTZWUgdmVyc2lvbiBjb250cm9sIGhpc3RvcnkuCisKK2h0dHA6Ly9naXQua2VybmVsLm9yZy8/cD11dGlscy91dGlsLWxpbnV4L3V0aWwtbGludXguZ2l0O2E9bG9nCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uLzAwLWFib3V0LWRvY3MudHh0IGIvRG9jdW1lbnRhdGlvbi8wMC1hYm91dC1kb2NzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOTVhZTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi8wMC1hYm91dC1kb2NzLnR4dApAQCAtMCwwICsxLDcgQEAKK1doYXQgaXMgaGVyZQorLS0tLS0tLS0tLS0tCisKK1RoZSB1dGlsLWxpbnV4IGNvbnRhaW5zIHN1cHBsZW1lbnRhcnkgdGV4dHVhbCBtYXRlcmlhbCwgc3VjaCBhcworcmVhZG1lIGZpbGVzLCByZWxlYXNlIG5vdGVzLCBsaWNlbnNlcyBhbmQgc28gb24uIENvbW1vbiB0byB0aGVzZQorZmlsZXMgaXMgdGhhdCB0aGV5IGNvbnRhaW4gaW5mb3JtYXRpb24gZm9yIGNvbnRyaWJ1dG9ycyBidXQKK3Nob3VsZCBub3QgZW5kIHVwIHRvIGVuZCB1c2VyIGluc3RhbGxhdGlvbi4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vUEFNLWNvbmZpZ3VyYXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi9QQU0tY29uZmlndXJhdGlvbi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ2YTE3NwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vUEFNLWNvbmZpZ3VyYXRpb24udHh0CkBAIC0wLDAgKzEsMzEgQEAKKworIFBBTSBjb25maWd1cmF0aW9uIGlzIHZlcnkgZGlzdHJpYnV0aW9uIHNwZWNpZmljLiBUaGlzIGlzIHJlYXNvbiB3aHkgdXBzdHJlYW0KKyB1dGlsLWxpbnV4IHBhY2thZ2UgZG9lcyBub3QgaW5zdGFsbCBhbnkgUEFNIGNvbmZpZyBmaWxlcy4KKworCisgRXhwZWN0ZWQgUEFNIGNvbmZpZyBmaWxlczoKKworIGxvZ2luKDEpOgorICAgIC9ldGMvcGFtLmQvcmVtb3RlIC0gZm9yIC1oIGNvbW1hbmQgbGluZSBvcHRpb24KKyAgICAvZXRjL3BhbS5kL2xvZ2luICAtIHJlZ3VsYXIgbG9naW4KKworCisgc3UoMSk6CisgICAgL2V0Yy9wYW0uZC9zdS1sICAgLSBmb3IgLS1sb2dpbiBjb21tYW5kIGxpbmUgb3B0aW9uCisgICAgL2V0Yy9wYW0uZC9zdSAgICAgLSByZWd1bGFyIHN1CisKKworIHJ1bnVzZXIoMSk6CisgICAgL2V0Yy9wYW0uZC9ydW51c2VyLWwgICAtIGZvciAtLWxvZ2luIGNvbW1hbmQgbGluZSBvcHRpb24KKyAgICAvZXRjL3BhbS5kL3J1bnVzZXIgICAgIC0gcmVndWxhciBzdQorCisgICAgTm90ZSB0aGF0IHJ1bnVzZXIgcmVxdWlyZXMgb25seSAic2Vzc2lvbiIgc2V0dGluZyAoYW5kIGZvciBleGFtcGxlCisgICAgImF1dGggc3VmZmljaWVudCBwYW1fcm9vdG9rLnNvIiBkdW1teSBsaW5lKS4KKworCisgY2hmbigxKToKKyAgICAvZXRjL3BhbS5kL2NoZm4KKworCisgY2hzaCgxKToKKyAgICAvZXRjL3BhbS5kL2Noc2gKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vVE9ETyBiL0RvY3VtZW50YXRpb24vVE9ETwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGM5ODA1Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9UT0RPCkBAIC0wLDAgKzEsMTc1IEBACisKKyBOb3RlIHRoYXQgaXRlbXMgd2l0aCAoISkgaGF2ZSBoaWdoIHByaW9yaXR5LgorCitjYWwKKy0tLQorICAgLSBhZGQgb3B0aW9uIHRvIHByaW50IGNhbGVuZGFyIGluIHZlcnRpY2FsIHdheQorICAgICBodHRwczovL2dpdGh1Yi5jb20va2FyZWx6YWsvdXRpbC1saW51eC9pc3N1ZXMvNjA0CisgICAtIHN1cHBvcnQgYW5vdGhlciAtLXJlZm9ybXMsIHNlZSBmb3IgZXhhbXBsZSBmcmVlYnNkIHZlcnNpb24KKyAgICAgaHR0cHM6Ly9naXRodWIuY29tL2ZyZWVic2QvZnJlZWJzZC9ibG9iL21hc3Rlci91c3IuYmluL25jYWwvbmNhbC5jI0w3MgorCitjb2x1bW4KKy0tLS0tLQorICAgLSBhZGQgb3B0aW9uIHRvIE5PVCBpZ25vcmUgZW1wdHkgbGluZXMKKyAgICAgaHR0cHM6Ly9naXRodWIuY29tL2thcmVsemFrL3V0aWwtbGludXgvaXNzdWVzLzU5MworCitzY3JpcHQKKy0tLS0tLQorICAgLSB0aGluayBhYm91dCBvcHRpb25hbCAiZXZlbnQiIHJlY29yZHMgaW4gdGltaW5nIGZpbGUgdG8gc2F2ZSBpbmZvcm1hdGlvbgorICAgICBhYm91dCBub24tZGF0YSBjaGFuZ2VzIGxpa2Ugc2lnbmFscyAoU0lHV0lOQ0gsIFNJR1NUT1AsIFNJR0NPTlQsIGV0Yy4pCisgICAgIGluIGZvcm1hdDoKKworICAgICAgICAgICAgIDx0aW1lPiAwIDxuYW1lPls6IHZhcj1kYXRhLCAuLi5dCisKKyAgICAgZm9yIGV4YW1wbGU6CisKKwkgICAgIDAuMDAxMjk2IDI1NgorCSAgICAgMC4wMDEyOTcgICAwIFNJR1dJTkNIOiBjb2x1bW5zPTUwLCBsaW5lcz0yMAorCSAgICAgMC4wMDAwMTAgMjc1CisKK2xzYmxrCistLS0tLQorICAgLSByZXdyaXRlIGxzYmxrIHRvIHJlYWQgYWxsIGRldmljZXMgdHJlZSB0byBtZW1vcnkgdG8gbWFrZSBpdCBtb3JlIGV4dGVuZGFibGUuIE5vdworICAgICBpdCBhbHdheXMga2VlcCBpbiBtZW1vcnkganVzdCBvbmUgZGV2aWNlIChvbmx5IGZpbmFsIG91dHB1dCBpcyBidWZmZXJlZCBieQorICAgICBsaWJzbWFydGNvbHMsIGJ1dCB0aGlzIHN0dWZmIGFyZSBvdXRwdXQgc3RyaW5ncywgbm90aGluZyBlbHNlKS4KKworICAgICBTZWUgZm9wciBleGFtcGxlOiBodHRwczovL2dpdGh1Yi5jb20va2FyZWx6YWsvdXRpbC1saW51eC9pc3N1ZXMvNjE2CisKKworbHNjcHUKKy0tLS0tCisgIC0gcmVhZCBjcHVpZCBhbmQgdW5hbWUgaW5mb3JtYXRpb24gZnJvbSBmaWxlIGlmIC0tc3lzcm9vdCBpcyBzcGVjaWZpZWQsIHRoZW4KKyAgICB3ZSBjYW4gcHJlcGFyZSByZWdyZXNzaW9uIHRlc3RzIGNvbXBsZXRlbHkgaW5kZXBlbmRlbnQgb24gaHcgYW5kIGFyY2hpdGVjdHVyZS4KKworbHNibGsKKy0tLS0tCisgIC0gcmUtd3JpdGUgdGhlIHdheSBob3cgbHNibGsgaW50ZXJuYWxseSBob2xkcyBpbmZvIGFib3V0IGRldmljZXMuIE5vdyB3ZQorICAgIGNvbXBvc2Ugb25seSBvdXRwdXQgKGJ5IGxpYnNtYXJ0Y29scykuIEl0IHdvdWxkIGJlIGJldHRlciB0byBoYXZlIGluIG1lbW9yeQorICAgIGNvbXBsZXRlIHRyZWUgb2YgdGhlIGRldmljZXMgYW5kIGdlbmVyYXRlIHRoZSBvdXRwdXQgZnJvbSB0aGlzIHRyZWUuIEl0IHdpbGwKKyAgICBtYWtlIGNvZGUgbW9yZSByZWFkYWJsZSBhbmQgYWxsb3cgdG8gZ2VuZXJhdGUgb3V0cHV0IGluIG1vcmUgd2F5cyAtLSBmb3IKKyAgICBleGFtcGxlIGZvciBSQUlEcyAoaHR0cHM6Ly9naXRodWIuY29tL2thcmVsemFrL3V0aWwtbGludXgvaXNzdWVzLzYxNikKKworICAtIGN1cnJlbnRseSBpdCBkb2VzIG5vdCBzaG93IG1vdW50cG9pbnQgZm9yIGFsbCBkZXZpY2VzIGluIGJ0cmZzIFJBSUQuIEl0J3MgYmVjYXVzZQorICAgIC9wcm9jLyMvbW91bnRpbmZvIGNvbnRhaW5zIHJlZmVyZW5jZSB0byB0aGUgb25lIGRldmljZSBvbmx5LiBNYXliZSB3ZSBjYW4gYWRkIHNvbWUKKyAgICBidHJmcyBzcGVjaWZpYyBjb2RlIHRvIHByb3ZpZGUgYSBiZXR0ZXIgb3V0cHV0IGZvciBGUyBiYXNlZCBzdGFja3MuIE5vdCBzdXJlLgorICAgIGh0dHBzOi8vYnVnemlsbGEucmVkaGF0LmNvbS9zaG93X2J1Zy5jZ2k/aWQ9MTA4NDQ1MworCituc2VudGVyKDEpCistLS0tLS0tLS0tCisgLSByZWFkIHRoZSBkZWZhdWx0IFVJRCBhbmQgR0lEIGZyb20gdGhlIHRhcmdldCBwcm9jZXNzLgorICAgaHR0cDovL3RocmVhZC5nbWFuZS5vcmcvZ21hbmUubGludXgudXRpbGl0aWVzLnV0aWwtbGludXgtbmcvOTU1My9mb2N1cz05NTg1CisKK2h3bG9jaworLS0tLS0tCisgLSB1c2UgL3Zhci9saWIvaHdjbG9jay9kcmlmdCB0byBzdG9yZSBody1jbG9jayBkcmlmdCBudW1iZXJzLgorIC0gdXNlIC9ldGMvYWRqdGltZSBhcyByZWFkLW9ubHkgZm9yIFVUQy9MT0NBTCBpbmZvcm1hdGlvbiBvbmx5CisgLSB0aGUgL3Zhci9saWIvaHdjbG9jay9kcmlmdCBzaG91bGQgYmUgaW1wbGVtZW50ZWQgYmFja3dhcmRseSBjb21wYXRpYmxlLAorICAgaXQgbWVhbnMgdXNlIHRoZSBmaWxlIG9ubHkgaWYgZXhpc3RzLCBvdGhlcndpc2UgZm9sbG93IC9ldGMvYWRqdGltZSAKKworYmFzaCBjb21wbGV0aW9uCistLS0tLS0tLS0tLS0tLS0KKy0gT3B0aW9uYWwgYXJndW1lbnQgaGFuZGxpbmcgcmVxdWlyZXMgdXNlciB0byBwcmVzcyBiYWNrc3BhY2UgdG8gZ2V0CisgIGFyZ3VtZW50IGNvbXBsZXRpb24uCistIENvbW1hIHNlcGFyYXRlZCB2YWx1ZSwgZS5nLiwgLS1vdXRwdXQgJ3ZhbHVlMSx2YWx1ZTInLCBhcmUgbm90CisgIGNvbXBsZXRlZCBmb3IgdXNlcnMuCisKK2xpYm1vdW50IChtb3VudC91bW91bnQpCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgLSByZW1vdW50IGFsbCBmaWxlc3lzdGVtcyBnaXZlbiB0aGVpciB0eXBlLCBmb3IgZXhhbXBsZToKKyAgICAgICAgbW91bnQgLWEgLXQgdG1wZnMgLW8gcmVtb3VudAorICAgSXQgc2hvdWxkIGJlIHByb2JhYmx5IGVub3VnaCB0byBhZGQgcmVtb3VudF9hbGwoKSB0byBtb3VudCg4KSBpbiB3YXkgd2UKKyAgIGFscmVhZHkgaGF2ZSBtb3VudF9hbGwoKS4gIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4L2lzc3Vlcy81ODkKKworIC0gYWRkIC0tb25seW9uY2UgdG8gZm9yY2UgbW91bnQoOCkgdG8gY2hlY2sgaWYgbW91bnRwb2ludCBpcyBhbHJlYWR5IHVzZWQuIE5vdworICAgImFscmVhZHkgbW91bnRlZCIgZGV0ZWN0aW9uIGlzIHVzZWQgZm9yIC0tYWxsIG9ubHkuIFRoZSBwcm9ibGVtIGlzIGlmIHlvdQorICAgY2FsbCAibW91bnQgPG1vdW50cG9pbnQ+IiBtb3JlIHRoYW4gb25jZSBmb3IgaW4gZnN0YWIgZGVmaW5lZCB0bXBmcyAob3IgbmV0d29yaworICAgZmlsZXN5c3RlbSBldGMuKS4gSW4gdGhpcyBjYXNlIGtlcm5lbCBkb2VzIG5vdCByZXR1cm4gRUJVU1ksIGJ1dCBhIG5ldyBpbnN0YW5jZQorICAgb2YgdGhlIEZTIGlzIGNyZWF0ZWQuIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4L2lzc3Vlcy80NDgKKyAgICguLi4ganVzdCBpZGVhLCBtYXliZSB3cm9uZyBpZGVhKQorCisgLSBzdXBwb3J0IENBUF9TWVNfQURNSU47IGZvciBtb3VudCgyKSBzeXNjYWxsIHRoZSBDQVBfU1lTX0FETUlOIGlzIGdvb2QKKyAgIGVub3VnaC4gVW5mb3J0dW5hdGVseSwgbW91bnQoOCkgZG9lcyBtb3JlIHRoaW5ncyBsaWtlIGNoZWNrIGZvciBmaWxlc3lzdGVtCisgICB0eXBlIChidXQgaXQncyB1c3VhbGx5IGRvbmUgYnkgdWRldiwgc28gcm9vdCBwZXJtcyBhcmUgdW5uZWNlc3NhcnkpLCBjcmVhdGUKKyAgIGxvb3AgZGV2aWNlcywgd3JpdGUgdG8gL3J1bi9tb3VudC91dGFiIG9yIC9ldGMvbXRhYiwgZXRjLgorCisgICBJdCB3b3VsZCBiZSBuaWNlIHRvIGltcHJvdmUgbGlibW91bnQgdG8gY2hlY2sgZm9yIENBUF9TWVNfQURNSU4gaWYgc3VpZCBub3QKKyAgIHNldCBhbmQgYWxsb3cgdG8gdXNlIGl0IGZvciBzaW1wbGUgdGFza3Mgd2hlcmUgbm8gYW5vdGhlciBvcGVyYXRpb24gaXMKKyAgIG5lY2Vzc2FyeS4KKworcGFydHgKKy0tLS0tCisKKyAtIHN1cHBvcnQgbWFwcGluZyBieSBkZXZpY2UtbWFwcGVyIGlmIGFyZ3ZbMF0gaXMgImtwYXJ0eCIgb3IgLS1kbSBvcHRpb24gaXMgdXNlZC4KKyAgICAgCisKK2RvY3MKKy0tLS0KKworIC0gKCEpIHVzZSBzb21ldGhpbmcgYmV0dGVyIHRoYW4gZ3RrLWRvYyBmb3IgbGlibW91bnQgYW5kIGxpYmJsa2lkIChkb3h5ZGVuPykKKworIC0gKCEpIGFkZCBBUEkgZG9jdW1lbnRhdGlvbiB0byBsaWJ1dWlkCisKK2V4aXQgY29kZXMKKy0tLS0tLS0tLS0KKworICAtIHdlIG5lZWQgY29yZXV0aWxzLWxpa2UgZXhpdCBjb2RlcyBmb3IgZmFpbGVkIGV4ZWMoKS4gU2VlOgorICAgIGh0dHBzOi8vd3d3LnNwaW5pY3MubmV0L2xpc3RzL3V0aWwtbGludXgtbmcvbXNnMTI3NzYuaHRtbAorICAgIGFuZCBvcmlnaW5hbCBhdHRlbXB0OgorICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4L3B1bGwvMzExCisKK2xvZ2luLXV0aWxzOgorLS0tLS0tLS0tLS0KKworICAtIGNvbnNvbGlkYXRlIG5ld2dycCgxKQorICAgICogd2UgaGF2ZSAic3UgLS1ncm91cC8tLXN1cHAtZ3JvdXAiIHRvIHN3aXRjaCBiZXR3ZWVuIGdyb3VwcywgbmV3Z3JwKDEpIGluCisgICAgICB1dGlsLWxpbnV4IGFuZCBzaGFkb3ctdXRpbHMgKGFuZCBzZygxKSBhbGlhcyBpbiBzaGFkb3ctdXRpbHMpCisgICAgKiB0aGUgdW5pcXVlIGZ1bmN0aW9uYWxpdHkgcHJvdmlkZWQgYnkgbmV3Z3ByKDEpIGlzIHN1cHBvcnQgZm9yIGdyb3VwCisgICAgICBwYXNzd29yZHMgWy9ldGMvZ3NoYWRvd10gLS0gZG8gd2UgcmVhbGx5IG5lZWQgdGhpcyBmdW5jdGlvbmFsaXR5PworICAgICogbWF5YmUgd2UgY2FuIG1hcmsgZ3JvdXAtcGFzc3dvcmRzIGFzIGRlcHJlY2F0ZWQsIGFuZCByZXBsYWNlIHNnKDEpIGFuZAorICAgICAgbmV3Z3ByKDEpIHdpdGggc3UoMSkgY29kZS4gVGhlIGFub3RoZXIgd2F5IGlzIHRvIGFzayBmb3IgZ3JvdXAgcGFzc3dvcmQgaW4KKyAgICAgIHN1IC0tZ3JvdXAgdG9vLgorICAgICogbm90ZSB0aGF0IHNoYWRvdy11dGlscyBuZXdncHIoMSkgcHJvdmlkZXMgc3VwcG9ydCBmb3Igc3lzbG9nIGFuZCBhdWRpdCBsb2cuCisKKworbGliYmxraWQKKy0tLS0tLS0tCisKKyAtICghKSBhZGQgc3VwcG9ydCBmb3IgQml0TG9ja2VyIERyaXZlIEVuY3J5cHRpb24gCisgICBodHRwczovL2dpdGh1Yi5jb20va2FyZWx6YWsvdXRpbC1saW51eC9pc3N1ZXMvNjE3CisgICBodHRwczovL2dpdGh1Yi5jb20vbGlieWFsL2xpYmJkZS9ibG9iL21hc3Rlci9kb2N1bWVudGF0aW9uL0JpdExvY2tlciUyMERyaXZlJTIwRW5jcnlwdGlvbiUyMChCREUpJTIwZm9ybWF0LmFzY2lpZG9jCisKKyAtICghKSBhZGQgc3VwcG9ydCBmb3IgZGFzZCBQVCAodXNlZCBmb3IgZXhhbXBsZSBvbiBzMzkwKQorCitsaWJmZGlzaworLS0tLS0tLS0KKworIC0gYWRkIHN1cHBvcnQgZm9yIEFwcGxlIFBhcnRpdGlvbiBNYXAgKHNlZSBsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9tYWMuYykKKyAgIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvQXBwbGVfUGFydGl0aW9uX01hcAorCitmZGlzaworLS0tLS0KKyAKKyAtIFdoZW4gY3JlYXRpbmcgYSBuZXcgcGFydGl0aW9uLCBpdCB3b3VsZCBiZSBoZWxwZnVsIGlmIHRoZSAiTGFzdCBzZWN0b3IiCisgICBkaWFsb2cgYWNjZXB0ZWQgbmVnYXRpdmUgbnVtYmVycywgdG8gYmUgYWJsZSB0byBzcGVjaWZ5IGhvdyBmYXIgZnJvbSB0aGUKKyAgIGVuZCBvZiB0aGUgZHJpdmUgeW91IHdvdWxkIGxpa2UgdGhlIHBhcnRpdGlvbiB0byBlbmQuCisKK21pc2MKKy0tLS0KKworIC0gYWRkIG1sbG9ja2FsbCgpIGFuZCBTQ0hFRF9GSUZPIHRvIGh3Y2xvY2ssCisgICBzZWUgaHR0cDovL2xrbWwub3JnL2xrbWwvMjAwOC8xMC8xMi8xMzIKKyAKKworLS0tLS0tLS0tLS0tLS0tCitleG90aWMgcmVxdWVzdHMKKy0tLS0tLS0tLS0tLS0tLQorCisgLSBhZGQgU0VMaW51eCBzZWN1cml0eSBjb250ZXh0cyBzdXBwb3J0IHRvIHRoZSAnaXBjcycgdXRpbGl0eQorICAgaHR0cDovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTIyNTM0MgorCisgICBXb3VsZCBiZSBncmVhdCB0byBsaXN0IHRoZSBjdXJyZW50IHN5c3RlbSBJUEMgT2JqZWN0cyB3aXRoIHRoZWlyIHJlc3BlY3RpdmUKKyAgIHNlY3VyaXR5IGxhYmVscyAod2hlcmUgYWxsb3dlZCkgd2l0aCBzb21ldGhpbmcgbGlrZSAnaXBjcyAtWicgLSBmb2xsb3dpbmcgdGhlCisgICB3YXkgb3RoZXIgdG9vbHMgcmVwb3J0cyB0aG9zZS4KKworCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2Jsa2lkLnR4dCBiL0RvY3VtZW50YXRpb24vYmxraWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1OGIwNGYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2Jsa2lkLnR4dApAQCAtMCwwICsxLDgwIEBACitsaWJibGtpZCAtIGEgbGlicmFyeSB0byBoYW5kbGUgZGV2aWNlIGlkZW50aWZpY2F0aW9uIGFuZCB0b2tlbiBleHRyYWN0aW9uCisKK0Jhc2ljIHVzYWdlIGlzIGFzIGZvbGxvd3MgLSB0aGVyZSBhcmUgdHdvIG5vcm1hbCB1c2FnZSBwYXR0ZXJuczoKKworRm9yIGNhc2VzIHdoZXJlIGEgcHJvZ3JhbSB3YW50cyBpbmZvcm1hdGlvbiBhYm91dCBtdWx0aXBsZSBkZXZpY2VzLCBvcgorZXhwZWN0cyB0byBiZSBkb2luZyBtdWx0aXBsZSB0b2tlbiBzZWFyY2hlcywgdGhlIHByb2dyYW0gc2hvdWxkCitkaXJlY3RseSBpbml0aWFsaXplIGNhY2hlIGZpbGUgdmlhIChzZWNvbmQgcGFyYW1ldGVyIGlzIGNhY2hlCitmaWxlbmFtZSwgTlVMTCA9IGRlZmF1bHQpOgorCisJYmxraWRfY2FjaGUgY2FjaGUgPSBOVUxMOworCWlmIChibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCBOVUxMKSA8IDApCisJCS8qIGVycm9yIHJlYWRpbmcgdGhlIGNhY2hlIGZpbGUsIG5vdCByZWFsbHkgZmF0YWwgKi8KKworTm90ZSB0aGF0IGlmIG5vIGNhY2hlIGZpbGUgZXhpc3RzLCBhbiBlbXB0eSBjYWNoZSBzdHJ1Y3QgaXMgc3RpbGwKK2FsbG9jYXRlZC4gIFVzYWdlIG9mIGxpYmJsa2lkIGZ1bmN0aW9ucyB3aWxsIHVzZSB0aGUgY2FjaGUgdG8gYXZvaWQKK25lZWRsZXNzIGRldmljZSBzY2Fucy4KKworVGhlIG1vZGVsIG9mIHRoZSBibGtpZCBjYWNoZSBpcyB0aGF0IGVhY2ggZGV2aWNlIGhhcyBhIG51bWJlciBvZgorYXR0cmlidXRlcyB0aGF0IGNhbiBiZSBhc3NvY2lhdGVkIHdpdGggaXQuICBDdXJyZW50bHkgdGhlIGF0dHJpYnV0ZXMKK3doaWNoIGFyZSBzdXBwb3J0ZWQgKGFuZCBzZXQpIGJ5IGJsa2lkIGFyZToKKworCVRZUEUJCWZpbGVzeXN0ZW0gdHlwZQorCVVVSUQJCWZpbGVzeXN0ZW0gdXVpZAorCUxBQkVMCQlmaWxlc3lzdGVtIGxhYmVsCisKKworSG93IHRvIHVzZSBsaWJibGtpZD8gIE5vcm1hbGx5LCB5b3UgZWl0aGVyIHdhbnQgdG8gZmluZCBhIGRldmljZSB3aXRoCithIHNwZWNpZmljIE5BTUU9dmFsdWUgdG9rZW4sIG9yIHlvdSB3YW50IHRvIG91dHB1dCB0b2tlbihzKSBmcm9tIGEKK2RldmljZS4gIFRvIGZpbmQgYSBkZXZpY2UgdGhhdCBtYXRjaGVzIGEgZm9sbG93aW5nIGF0dHJpYnV0ZSwgeW91CitzaW1wbHkgY2FsbCB0aGUgYmxraWRfZ2V0X2Rldm5hbWUoKSBmdW5jdGlvbjoKKworCWlmICgoZGV2bmFtZSA9IGJsa2lkX2dldF9kZXZuYW1lKGNhY2hlLCBhdHRyaWJ1dGVfbmFtZSwgdmFsdWUpKSkgeworCQkvKiBkbyBzb21ldGhpbmcgd2l0aCBkZXZuYW1lICovCisJCXN0cmluZ19mcmVlKGRldm5hbWUpOworCX0KKworVGhlIGNhY2hlIHBhcmFtZXRlciBpcyBvcHRpb25hbDsgaWYgaXQgaXMgTlVMTCwgdGhlbiB0aGUgYmxraWQgbGlicmFyeQord2lsbCBsb2FkIHRoZSBkZWZhdWx0IGJsa2lkLnRhYiBjYWNoZSBmaWxlLCBhbmQgdGhlbiByZWxlYXNlIHRoZSBjYWNoZQorYmVmb3JlIGZ1bmN0aW9uIGNhbGwgcmV0dXJucy4gIFRoZSByZXR1cm4gdmFsdWUgaXMgYW4gYWxsb2NhdGVkIHN0cmluZword2hpY2ggaG9sZHMgdGhlIHJlc3VsdGluZyBkZXZpY2UgbmFtZSAoaWYgaXQgaXMgZm91bmQpLiAgSWYgdGhlIHZhbHVlCitpcyBOVUxMLCB0aGVuIGF0dHJpYnV0ZV9uYW1lIGlzIHBhcnNlZCBhcyBpZiBpdCB3ZXJlCisiPGF0dHJpYnV0ZV9uYW1lPj08dmFsdWU+IjsgaWYgaXQgY2Fubm90IGJlIHNvIHBhcnNlZCwgdGhlbiB0aGUKK29yaWdpbmFsIGF0dHJpYnV0ZV9uYW1lIGlzIHJldHVybmVkIGluIGEgY29waWVkIGFsbG9jYXRlZCBzdHJpbmcuCitUaGlzIGlzIGEgY29udmVuaWVuY2UgdG8gYWxsb3cgdXNlciBwcm9ncmFtcyB0byB3YW50IHRvIHRyYW5zbGF0ZSB1c2VyCitpbnB1dCwgd2hldGhlciBpdCBpcyBvZiB0aGUgZm9ybTogIi9kZXYvaGRhMSIsICJMQUJFTD1yb290IiwKKyJVVUlEPTA4MkQtMjZFMyIsIGFuZCBnZXQgYmFjayBhIGRldmljZSBuYW1lIHRoYXQgaXQgY2FuIHVzZS4KKworQWx0ZXJuYXRpdmVseSwgb2YgY291cnNlLCB0aGUgcHJvZ3JhbW1lciBjYW4gcGFzcyBhbiBhdHRyaWJ1dGUgbmFtZSBvZgorIkxBQkVMIiwgYW5kIHZhbHVlIG9mICJyb290IiwgaWYgdGhhdCBpcyBtb3JlIGNvbnZlbmllbnQuCisKK0Fub3RoZXIgY29tbW9uIHVzYWdlIGlzIHRvIHJldHJpZXZlIHRoZSB2YWx1ZSBvZiBhIHNwZWNpZmljIGF0dHJpYnV0ZQorZm9yIGEgcGFydGljdWxhciBkZXZpY2UuICBUaGlzIGNhbiBiZSB1c2VkIHRvIGRldGVybWluZSB0aGUgZmlsZXN5c3RlbQordHlwZSwgb3IgbGFiZWwsIG9yIHV1aWQgZm9yIGEgcGFydGljdWxhciBkZXZpY2U6CisKKwlpZiAoKHZhbHVlID0gYmxraWRfZ2V0X3RhZ192YWx1ZShjYWNoZSwgYXR0cmlidXRlX25hbWUsIGRldm5hbWUpKSkgeworCQkvKiBkbyBzb21ldGhpbmcgd2l0aCB2YWx1ZSAqLworCQlzdHJpbmdfZnJlZSh2YWx1ZSk7CisJfQorCitJZiBhIHByb2dyYW0gbmVlZHMgdG8gY2FsbCBtdWx0aXBsZSBibGtpZCBmdW5jdGlvbnMsIHRoZW4gcGFzc2luZyBpbiBhCitjYWNoZSB2YWx1ZSBvZiBOVUxMIGlzIG5vdCByZWNvbW1lbmRlZCwgc2luY2UgdGhlIGJsa2lkLnRhYiBmaWxlCit3aWxsIGJlIHJlcGVhdGVkbHkgcGFyc2VkIG92ZXIgYW5kIG92ZXIgYWdhaW4sIHdpdGggbWVtb3J5IGFsbG9jYXRlZAorYW5kIGRlYWxsb2NhdGVkLiAgVG8gaW5pdGlhbGl6ZSB0aGUgYmxraWQgY2FjaGUsIGJsa2lkX2dldF9jYWNoZSgpCitmdW5jdGlvbiBpcyB1c2VkOgorCisJaWYgKGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsIE5VTEwpIDwgMCkKKwkJZ290byBlcnJvdXQ7CisKK1RoZSBzZWNvbmQgcGFyYW1ldGVyIG9mIGJsa2lkX2dldF9jYWNoZSAoaWYgbm9uLXplcm8pIGlzIHRoZSBhbHRlcm5hdGUgZmlsZW5hbWUKK29mIHRoZSBibGtpZCBjYWNoZSBmaWxlIChzZWUgYmxraWQgbWFuIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlCitkZWZhdWx0IGNhY2ggZmlsZSBsb2NhdGlvbikuCisKK05vcm1hbGx5LCBwcm9ncmFtcyBzaG91bGQganVzdCBwYXNzIGluIE5VTEwuCisKK0lmIHlvdSBoYXZlIGNhbGxlZCBibGtpZF9nZXRfY2FjaGUoKSwgeW91IHNob3VsZCBjYWxsIGJsa2lkX3B1dF9jYWNoZSgpCit3aGVuIHlvdSBhcmUgZG9uZSB1c2luZyB0aGUgYmxraWQgbGlicmFyeSBmdW5jdGlvbnMuICBUaGlzIHdpbGwgc2F2ZSB0aGUKK2NhY2hlIHRvIHRoZSBibGtpZC50YWIgZmlsZSwgaWYgeW91IGhhdmUgd3JpdGUgYWNjZXNzIHRvIHRoZSBmaWxlLiAgSXQKK3dpbGwgYWxzbyBmcmVlIGFsbCBhc3NvY2lhdGVkIGRldmljZXMgYW5kIHRhZ3M6CisKKwlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ib2lsZXJwbGF0ZS5jIGIvRG9jdW1lbnRhdGlvbi9ib2lsZXJwbGF0ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5MmY3ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2JvaWxlcnBsYXRlLmMKQEAgLTAsMCArMSwxMTAgQEAKKy8qIFBsZWFzZSB1c2UgdGhpcyBmaWxlIGFzIGEgdGVtcGxhdGUgd2hlbiBpbnRyb2R1Y2luZyBuZXcgY29tbWFuZCB0bworICogdXRpbC1saW51eCBwYWNrYWdlLgorICogLS0gcmVtb3ZlIGFib3ZlICovCisvKgorICogZml4bWUtY29tbWFuZC1uYW1lIC0gcHVycG9zZSBvZiBpdAorICoKKyAqIENvcHlyaWdodCAoYykgMjBubiAgRXhhbXBsZSBDb21tZXJjaWFsLCBJbmMKKyAqIFdyaXR0ZW4gYnkgWW91ciBOYW1lIDx5b3VAZXhhbXBsZS5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorCisvKgorICogRklYTUU6IHJlbW92ZSB0aGlzIGNvbW1lbnQuCisgKiBPdGhlciB1c2FnZSgpIGNvbnN0YW50cyB0aGF0IGFyZSBub3QgZGVtb25zdHJhdGVkIGJlbG93OgorICogVVNBR0VfRlVOQ1RJT05TIFVTQUdFX0NPTU1BTkRTIFVTQUdFX0NPTFVNTlMKKyAqLworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIHN0ZG91dCk7CisJcHJpbnRmKF8oIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgc3Rkb3V0KTsKKwlwdXRzKF8oIlNob3J0IHByb2dyYW0gZGVzY3JpcHRpb24uIikpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKwlwdXRzKF8oIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50IikpOworCXB1dHMoXygiICAgICAtLW9wdGlvbmFsWz08YXJnPl0gIG9wdGlvbiBhcmd1bWVudCBpcyBvcHRpb25hbCIpKTsKKwlwdXRzKF8oIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQiKSk7CisJcHV0cyhfKCIgLXogICAgICAgICAgICAgICAgICAgICAgbm8gbG9uZyBvcHRpb24iKSk7CisJcHV0cyhfKCIgICAgIC0teHl6enkgICAgICAgICAgICAgYSBsb25nIG9wdGlvbiBvbmx5IikpOworCXB1dHMoXygiIC1lLCAtLWV4dHJlbWVseS1sb25nLWxvbmctb3B0aW9uXG4iCisJICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIG5leHQgbGluZSBmb3IgZGVzY3JpcHRpb24gd2hlbiBuZWVkZWQiKSk7CisJcHV0cyhfKCIgLWwsIC0tbG9uZy1leHBsYW5hdGlvbiAgYW4gZXhhbXBsZSBvZiB2ZXJ5IHZlcmJvc2UsIGFuZCBjaGF0dHkgb3B0aW9uXG4iCisJICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiBvbiB0d28sIG9yIG11bHRpcGxlIGxpbmVzLCB3aGVyZSB0aGVcbiIKKwkgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIGxpbmVzIGFyZSBpbnRlbmRlZCBieSB0d28gc3BhY2VzIikpOworCXB1dHMoXygiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnQiKSk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjUpKTsgLyogY2hhciBvZmZzZXQgdG8gYWxpZ24gb3B0aW9uIGRlc2NyaXB0aW9ucyAqLworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiZml4bWUtY29tbWFuZC1uYW1lKDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjOworCisJZW51bSB7CisJCU9QVF9YWVpaWSA9IENIQVJfTUFYICsgMSwKKwkJT1BUX09QVElPTkFMCS8qIHNlZSBob3d0by1tYW4tcGFnZS50eHQgYWJvdXQgc2hvcnQgb3B0aW9uICovCisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJuby1hcmd1bWVudCIsICAgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgICAgICAgICAgfSwKKwkJeyAib3B0aW9uYWwiLCAgICAgICAgICAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX09QVElPTkFMIH0sCisJCXsgInJlcXVpcmVkIiwgICAgICAgICAgICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdyJyAgICAgICAgICB9LAorCQl7ICJleHRyZW1lbHktbG9uZy1sb25nLW9wdGlvbiIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZScgICAgICAgICAgfSwKKwkJeyAieHl6enkiLCAgICAgICAgICAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX1hZWlpZICAgIH0sCisJCXsgImxvbmctZXhwbGFuYXRpb24iLCAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdsJyAgICAgICAgICB9LAorCQl7ICJmb29iYXIiLCAgICAgICAgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZicgICAgICAgICAgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgICAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnICAgICAgICAgIH0sCisJCXsgImhlbHAiLCAgICAgICAgICAgICAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyAgICAgICAgICB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIm5yOnplbGZWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICduJzoKKwkJY2FzZSBPUFRfT1BUSU9OQUw6CisJCWNhc2UgJ3InOgorCQljYXNlICd6JzoKKwkJY2FzZSBPUFRfWFlaWlk6CisJCWNhc2UgJ2UnOgorCQljYXNlICdsJzoKKwkJY2FzZSAnZic6CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vY2FsLnR4dCBiL0RvY3VtZW50YXRpb24vY2FsLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MzhhYzlkCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9jYWwudHh0CkBAIC0wLDAgKzEsNDIgQEAKK1RoZSBjYWwoMSkgZGF0ZSByb3V0aW5lcyB3ZXJlIHdyaXR0ZW4gZnJvbSBzY3JhdGNoLCBiYXNpY2FsbHkgZnJvbSBmaXJzdAorcHJpbmNpcGxlcy4gIFRoZSBhbGdvcml0aG0gZm9yIGNhbGN1bGF0aW5nIHRoZSBkYXkgb2Ygd2VlayBmcm9tIGFueQorR3JlZ29yaWFuIGRhdGUgd2FzICJyZXZlcnNlIGVuZ2luZWVyZWQiLiAgVGhpcyB3YXMgbmVjZXNzYXJ5IGFzIG1vc3Qgb2YKK3RoZSBkb2N1bWVudGVkIGFsZ29yaXRobXMgaGF2ZSB0byBkbyB3aXRoIGRhdGUgY2FsY3VsYXRpb25zIGZvciBvdGhlcgorY2FsZW5kYXJzIChlLmcuIGp1bGlhbikgYW5kIGFyZSBvbmx5IGFjY3VyYXRlIHdoZW4gY29udmVydGVkIHRvIGdyZWdvcmlhbgord2l0aGluIGEgbmFycm93IHJhbmdlIG9mIGRhdGVzLgorCisxIEphbiAxIGlzIGEgU2F0dXJkYXkgYmVjYXVzZSB0aGF0J3Mgd2hhdCBjYWwgc2F5cyBhbmQgSSBjb3VsZG4ndCBjaGFuZ2UKK3RoYXQgZXZlbiBpZiBJIHdhcyBkdW1iIGVub3VnaCB0byB0cnkuICBGcm9tIHRoaXMgd2UgY2FuIGVhc2lseSBjYWxjdWxhdGUKK3RoZSBkYXkgb2Ygd2VlayBmb3IgYW55IGRhdGUuICBUaGUgYWxnb3JpdGhtIGZvciBhIHplcm8gYmFzZWQgZGF5IG9mIHdlZWs6CisKKwljYWxjdWxhdGUgdGhlIG51bWJlciBvZiBkYXlzIGluIGFsbCBwcmlvciB5ZWFycyAoeWVhci0xKSozNjUKKwlhZGQgdGhlIG51bWJlciBvZiBsZWFwIHllYXJzIChkYXlzPykgc2luY2UgeWVhciAxIAorCQkobm90IGluY2x1ZGluZyB0aGlzIHllYXIgYXMgdGhhdCBpcyBjb3ZlcmVkIGxhdGVyKQorCWFkZCB0aGUgZGF5IG51bWJlciB3aXRoaW4gdGhlIHllYXIKKwkJdGhpcyBjb21wZW5zYXRlcyBmb3IgdGhlIG5vbi1pbmNsdXNpdmUgbGVhcCB5ZWFyCisJCWNhbGN1bGF0aW9uCisJaWYgdGhlIGRheSBpbiBxdWVzdGlvbiBvY2N1cnMgYmVmb3JlIHRoZSBncmVnb3JpYW4gcmVmb3JtYXRpb24KKwkJKDMgc2VwIDE3NTIgZm9yIG91ciBwdXJwb3NlcyksIHRoZW4gc2ltcGx5IHJldHVybiAKKwkJKHZhbHVlIHNvIGZhciAtIDEgKyBTQVRVUkRBWSdzIHZhbHVlIG9mIDYpIG1vZHVsbyA3LgorCWlmIHRoZSBkYXkgaW4gcXVlc3Rpb24gb2NjdXJzIGR1cmluZyB0aGUgcmVmb3JtYXRpb24gKDMgc2VwIDE3NTIKKwkJdG8gMTMgc2VwIDE3NTIgaW5jbHVzaXZlKSByZXR1cm4gVEhVUlNEQVkuIFRoaXMgaXMgbXkKKwkJaWRlYSBvZiB3aGF0IGhhcHBlbmVkIHRoZW4uIEl0IGRvZXMgbm90IG1hdHRlciBtdWNoIGFzCisJCXRoaXMgcHJvZ3JhbSBuZXZlciB0cmllcyB0byBmaW5kIGRheSBvZiB3ZWVrIGZvciBhbnkgZGF5CisJCXRoYXQgaXMgbm90IHRoZSBmaXJzdCBvZiBhIG1vbnRoLgorCW90aGVyd2lzZSwgYWZ0ZXIgdGhlIHJlZm9ybWF0aW9uLCB1c2UgdGhlIHNhbWUgZm9ybXVsYSBhcyB0aGUKKwkJZGF5cyBiZWZvcmUgd2l0aCB0aGUgYWRkaXRpb25hbCBzdGVwIG9mIHN1YnRyYWN0aW5nIHRoZQorCQludW1iZXIgb2YgZGF5cyAoMTEpIHRoYXQgd2VyZSBhZGp1c3RlZCBvdXQgb2YgdGhlIGNhbGVuZGFyCisJCWp1c3QgYmVmb3JlIHRha2luZyB0aGUgbW9kdWxvLgorCitJdCBtdXN0IGJlIG5vdGVkIHRoYXQgdGhlIG51bWJlciBvZiBsZWFwIHllYXJzIGNhbGN1bGF0aW9uIGlzIHNlbnNpdGl2ZQordG8gdGhlIGRhdGUgZm9yIHdoaWNoIHRoZSBsZWFwIHllYXIgaXMgYmVpbmcgY2FsY3VsYXRlZC4gIEEgeWVhciB0aGF0IG9jY3VycworYmVmb3JlIHRoZSByZWZvcm1hdGlvbiBpcyBkZXRlcm1pbmVkIHRvIGJlIGEgbGVhcCB5ZWFyIGlmIGl0cyBtb2R1bG8gb2YKKzQgZXF1YWxzIHplcm8uICBCdXQgYWZ0ZXIgdGhlIHJlZm9ybWF0aW9uLCBhIHllYXIgaXMgb25seSBhIGxlYXAgeWVhciBpZgoraXRzIG1vZHVsbyBvZiA0IGVxdWFscyB6ZXJvIGFuZCBpdHMgbW9kdWxvIG9mIDEwMCBkb2VzIG5vdC4gIE9mIGNvdXJzZSwKK3RoZXJlIGlzIGFuIGV4Y2VwdGlvbiBmb3IgdGhlc2UgY2VudHVyeSB5ZWFycy4gIElmIHRoZSBtb2R1bG8gb2YgNDAwIGVxdWFscworemVybywgdGhlbiB0aGUgeWVhciBpcyBhIGxlYXAgeWVhciBhbnl3YXkuICBUaGlzIGlzLCBpbiBmYWN0LCB3aGF0IHRoZQorZ3JlZ29yaWFuIHJlZm9ybWF0aW9uIHdhcyBhbGwgYWJvdXQgKGEgYml0IG9mIGVycm9yIGluIHRoZSBvbGQgYWxnb3JpdGhtCit0aGF0IGNhdXNlZCB0aGUgY2FsZW5kYXIgdG8gYmUgaW5hY2N1cmF0ZS4pCisKK09uY2Ugd2UgaGF2ZSB0aGUgZGF5IGluIHllYXIgZm9yIHRoZSBmaXJzdCBvZiB0aGUgbW9udGggaW4gcXVlc3Rpb24sIHRoZQorcmVzdCBpcyB0cml2aWFsLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9jb2wudHh0IGIvRG9jdW1lbnRhdGlvbi9jb2wudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEwOThiNDQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2NvbC50eHQKQEAgLTAsMCArMSw0MSBAQAorIwlAKCMpUkVBRE1FCTUuMSAoQmVya2VsZXkpIDUvMjIvOTAKKworY29sIC0gZmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuCisKK0luIHRoZSAzMlYgc291cmNlIGNvZGUgdG8gY29sKDEpIHRoZSBkZWZhdWx0IGJlaGF2aW9yIHdhcyB0byBOT1QgY29tcHJlc3MKK3NwYWNlcyBpbnRvIHRhYnMuICBUaGVyZSB3YXMgYSAtaCBvcHRpb24gd2hpY2ggY2F1c2VkIGl0IHRvIGNvbXByZXNzIHNwYWNlcworaW50byB0YWJzLiAgVGhlcmUgd2FzIG5vIC14IGZsYWcuCisKK1RoZSAzMlYgZG9jdW1lbnRhdGlvbiwgaG93ZXZlciwgd2FzIGNvbnNpc3RlbnQgd2l0aCB0aGUgU1ZJRCAoYWN0dWFsbHksIFY3CithdCB0aGUgdGltZSkgYW5kIGRvY3VtZW50ZWQgYSAteCBmbGFnIChhcyBkZWZpbmVkIGFib3ZlKSB3aGlsZSBtYWtpbmcgbm8KK21lbnRpb24gb2YgYSAtaCBmbGFnLiAgSnVzdCBiZWZvcmUgNC4zQlNEIHdlbnQgb3V0LCBDU1JHIHVwZGF0ZWQgdGhlIG1hbnVhbAorcGFnZSB0byByZWZsZWN0IHRoZSB3YXkgdGhlIGNvZGUgd29ya2VkLiAgU3VzcGVjdGluZyB0aGF0IHRoaXMgd2FzIHByb2JhYmx5Cit0aGUgd3Jvbmcgd2F5IHRvIGdvLCB0aGlzIHZlcnNpb24gYWRvcHRzIHRoZSBTVklEIGRlZmF1bHRzLCBhbmQgbm8gbG9uZ2VyCitkb2N1bWVudHMgdGhlIC1oIG9wdGlvbi4KKworVGhlIFM1IC1wIGZsYWcgaXMgbm90IHN1cHBvcnRlZCBiZWNhdXNlIGl0IGlzbid0IGNsZWFyIHdoYXQgaXQgZG9lcyAobG9va3MKK2xpa2UgYSBrbHVkZ2UgaW50cm9kdWNlZCBmb3IgYSBwYXJ0aWN1bGFyIHByaW50ZXIpLgorCitLbm93biBkaWZmZXJlbmNlcyBiZXR3ZWVuIEFUJlQncyBjb2wgYW5kIHRoaXMgb25lICgjIGlzIGRlbGltaXRlcik6CisJSW5wdXQJCQlBVCZUIGNvbAkJdGhpcyBjb2wKKwkjXG5hYmNcRTdkZWZcbiMJCSMgICBkZWZcbmFiY1xyIwkJIyAgIGRlZlxuYWJjXG4jCisJI2EjCQkJIyMJCQkjYVxuIworCQktIGxhc3QgbGluZSBhbHdheXMgZW5kcyB3aXRoIGF0IGxlYXN0IG9uZSBcbiAob3IgXEU5KQorCSMxMjM0NTY3IDhcbiMJCSMxMjM0NTY3XHQ4XG4jCQkjMTIzNDU2NyA4XG4jCisJCS0gc2luZ2xlIHNwYWNlIG5vdCBleHBhbmRlZCB0byB0YWIKKyAgICAgLWYgI2FcRThiXG4jCQkjYWJcbiMJCQkjIGJcRTlccmFcbiMKKwkJLSBjYW4gYmFjayB1cCBwYXN0IGZpcnN0IGxpbmUgKGFzIGZhciBhcyB5b3Ugd2FudCkgc28geW91CisJCSAgKmNhbiogaGF2ZSBhIHN1cGVyIHNjcmlwdCBvbiB0aGUgZmlyc3QgbGluZQorCSNcRTlfXGJhXEU4XG5iXG4jCSNcbl9cYmJcYmFcbiMJCSNcbl9cYmFcYmJcbiMKKwkJLSBhbHdheXMgcHJpbnQgbGFzdCBjaGFyYWN0ZXIgd3JpdHRlbiB0byBhIHBvc2l0aW9uLAorCQkgIEFUJlQgY29sIGNsYWltcyB0byBkbyB0aGlzIGJ1dCBkb2Vzbid0LgorCitJZiBhIGNoYXJhY3RlciBpcyB0byBiZSBwbGFjZWQgb24gYSBsaW5lIHRoYXQgaGFzIGJlZW4gZmx1c2hlZCwgYSB3YXJuaW5nCitpcyBwcm9kdWNlZCAodGhlIEFUJlQgY29sIGlzIHNpbGVudCkuICAgVGhlIC1sIGZsYWcgKG5vdCBpbiBBVCZUIGNvbCkgY2FuCitiZSB1c2VkIHRvIGluY3JlYXNlIHRoZSBudW1iZXIgb2YgbGluZXMgYnVmZmVyZWQgdG8gYXZvaWQgdGhlIHByb2JsZW0uCisKK0dlbmVyYWwgYWxnb3JpdGhtOiBhIGxpbWl0ZWQgbnVtYmVyIG9mIGxpbmVzIGFyZSBidWZmZXJlZCBpbiBhIGxpbmtlZAorbGlzdC4gIFdoZW4gYSBwcmludGFibGUgY2hhcmFjdGVyIGlzIHJlYWQsIGl0IGlzIHB1dCBpbiB0aGUgYnVmZmVyIG9mCit0aGUgY3VycmVudCBsaW5lIGFsb25nIHdpdGggdGhlIGNvbHVtbiBpdCdzIHN1cHBvc2VkIHRvIGJlIGluLiAgV2hlbgorYSBsaW5lIGlzIGZsdXNoZWQsIHRoZSBjaGFyYWN0ZXJzIGluIHRoZSBsaW5lIGFyZSBzb3J0ZWQgYWNjb3JkaW5nIHRvCitjb2x1bW4gYW5kIHRoZW4gcHJpbnRlZC4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZGVwcmVjYXRlZC50eHQgYi9Eb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMWFjNTEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0CkBAIC0wLDAgKzEsMTE3IEBACitUaGUgZm9sbG93aW5nIGlzIGEgbGlzdCBvZiBjb21tYW5kcyBvciBmZWF0dXJlcyB0aGF0IGFyZSBkZXByZWNhdGVkLiAgQWxsCitkZXByZWNhdGVkIHV0aWxzIGFyZSBpbiBtYWludGVuYW5jZSBtb2RlIGFuZCB3ZSBrZWVwIHRoZW0gaW4gc291cmNlIHRyZWUgZm9yCitiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkuCisKK3doYXQ6ICBod2Nsb2NrIC0tZGVidWcKK3doeTogICByZW5hbWVkIHRvIC0tdmVyYm9zZSwgYW5kIG1heSBiZSByZXB1cnBvc2VkIGxhdGVyLgorc2luY2U6IHYyLjMyCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3doYXQ6ICBod2Nsb2NrIC12IGZvciB2ZXJzaW9uCit3aHk6ICAgcmVuYW1lZCB0byAtVgorc2luY2U6IHYyLjIwICh3YXMgcmVwdXJwb3NlZCB0byB2ZXJib3NlIGluIHYyLjMyKQorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit3aGF0OiAgY29sdW1uIC0tY29sdW1ucword2h5OiAgIHJlbmFtZWQgdG8gLS1vdXRwdXQtd2lkdGgKK3NpbmNlOiB2Mi4zMAorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit3aGF0OiAgc2ZkaXNrIC0tc2hvdy1zaXplCit3aHk6ICAgdGhpcyBkb2VzIG5vdCBiZWxvbmcgdG8gZmRpc2ssIHVzZSAiYmxvY2tkZXYgLS1nZXRzeiIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKword2hhdDogICBzZmRpc2sgLS1MaW51eAord2h5OiAgICB1bm5lY2Vzc2FyeSBvcHRpb24sIG9ubHkgTGludXggKG5vbi1ET1MgbW9kZSkgaXMgc3VwcG9ydGVkCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3doYXQ6ICAgc2ZkaXNrIC0tdW5pdAord2h5OiAgICB1bm5lY2Vzc2FyeSBvcHRpb24sIG9ubHkgJ1MnZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWQKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKword2hhdDogICBzZmRpc2sgLS1zaG93LXB0LWdlb21ldHJ5Cit3aHk6ICAgIGVxdWFsIHRvIC0tc2hvdy1nZW9tZXRyeSBmb3IgYSBsb25nIHRpbWUKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKword2hhdDogICJzd2Fwb24gLS1zdW1tYXJ5IiBvdXRwdXQgZm9ybWF0Cit3aHk6ICAgZG9lcyBub3QgcHJvdmlkZSBjb250cm9sIG9uIG91dHB1dCBkYXRhIGZvcm1hdHRpbmcuIFRoZSByZWNvbW1lbmRlZCBzb2x1dGlvbgorICAgICAgIGlzIHRvIHVzZSAtLXNob3c9PGNvbHVtbnM+IGluIGFsbCBzY3JpcHRzLgorCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitXaGF0OiAgIG1rZnMKK1doeTogICAgdXNlIGZpbGVzeXN0ZW0gc3BlY2lmaWMgbWtmcy48dHlwZT4uCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doYXQ6ICAgZmRpc2sgLXMgPGRldmljZT4KK1doeTogICAgdGhpcyBkb2VzIG5vdCBiZWxvbmcgdG8gZmRpc2ssIHVzZSAiYmxvY2tkZXYgLS1nZXRzeiIKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hhdDogICAndWRldicgYW5kICdsaXN0JyBibGtpZCg4KSBvdXRwdXQgZm9ybWF0cworV2h5OiAgICB1ZGV2ZCBsaW5rcyBsaWJibGtpZCBkaXJlY3RseTsgdGhlICdsaXN0JyBpcyB1bm5lY2Vzc2FyeSwgdXNlIGxzYmxrKDgpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doYXQ6ICAgbGluZSgxKSBjb21tYW5kCitXaHk6ICAgIHVzZSB0aGUgcmVhZCgxKSBjb21tYW5kCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doYXQ6ICAgcGcoMSkgY29tbWFuZAorV2h5OiAgICB1c2UgbGVzcygxKSBvciBtb3JlKDEpCisKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1doYXQ6ICAgQ0hTIHN0dWZmIGluIGZkaXNrIChleGNlcHQgU1VOIHdoZXJlIGFyZSBwYXJ0aXRpb25zIGFkZHJlc3NlcyBieSBjeWxpbmRlcnMgb25seSkKK1doeTogICAgdXNlIGFkZHJlc3NpbmcgYnkgc2VjdG9ycywgQ0hTIGRvZXMgbm90IHdvcmsgd2l0aCBtb2Rlcm4gZGlza3MsCisgICAgICAgIGNvbmZ1c2luZyBmb3IgdXNlcnMuLi4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hhdDoJbG9zZXR1cCAtcworV2h5Ogl0aGUgb3B0aW9uIC1zIGlzIGluIGNvbGxpc2lvbiB3aXRoIHRoZSBMb29wLUFFUyBsb3NldHVwIGRpYWxlY3QgdGhhdCBpcyB1c2VkCisgICAgICAgIGluIHNvbWUgZGlzdHJpYnV0aW9ucy4gVXNlIHRoZSBsb25nIHZlcnNpb24gKC0tc2hvdykgb25seS4KKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworV2hhdDogICBsb3NldHVwIG91dHB1dCBmb3JtYXQgd2l0aG91dCAtLWxpc3QKKworICAgICAgICBkZXByZWNhdGVkIGZvcm1hdCIKKworICAgICAgICAgICMgbG9zZXR1cCAtYQorICAgICAgICAgIC9kZXYvbG9vcDA6IFtdOiAoL2hvbWUvZnMtaW1hZ2VzL3N3YXAuaW1nKQorICAgICAgICAgIC9kZXYvbG9vcDE6IFtdOiAoL2hvbWUvZnMtaW1hZ2VzL2Rpc2suaW1nKSwgb2Zmc2V0IDEwMAorCisJbmV3IGZvcm1hdDoKKworICAgICAgICAgICMgbG9zZXR1cAorICAgICAgICAgIE5BTUUgICAgICAgU0laRUxJTUlUIE9GRlNFVCBBVVRPQ0xFQVIgUk8gQkFDSy1GSUxFCisgICAgICAgICAgL2Rldi9sb29wMCAgICAgICAgIDAgICAgICAwICAgICAgICAgMCAgMCAvaG9tZS9mcy1pbWFnZXMvc3dhcC5pbWcKKyAgICAgICAgICAvZGV2L2xvb3AxICAgICAgICAgMCAgICAxMDAgICAgICAgICAwICAwIC9ob21lL2ZzLWltYWdlcy9kaXNrLmltZworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitXaGF0Ogl0dW5lbHAKK1doeToJcGFyYWxsZWwgcG9ydCBwcmludGVycyBhcmUgcHJvYmFibHkgYWxtb3N0IGV4dGluY3QgZGV2aWNlcworCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBTaW5nbGUgVU5JWChUTSkgU3BlY2lmaWNhdGlvbiwgVmVyc2lvbiAyCitDb3B5cmlnaHQgKEMpIDE5OTcgVGhlIE9wZW4gR3JvdXAKKworICBMZWdhY3kgdXRpbGl0aWVzIHdoaWNoIGFyZSBwYXJ0IHV0aWwtbGludXggcGFja2FnZSBhcmU6CisKKwljb2wKKwlsaW5lCisJcGcKKworICBodHRwOi8vcHVicy5vcGVuZ3JvdXAub3JnL29ubGluZXB1YnMvNzkwODc5OS94Y3UvaW50cm8uaHRtbCN0YWdfMDAxXzAwM18wMDMKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9maWxlc3lzdGVtcyBiL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9maWxlc3lzdGVtcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDU2ZWU3Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9leGFtcGxlLmZpbGVzL2ZpbGVzeXN0ZW1zCkBAIC0wLDAgKzEsNyBAQAorZXh0NAorZXh0MwordmZhdAoraGZzCitoZnNwbHVzCitpc285NjYwCitidHJmcwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9leGFtcGxlLmZpbGVzL2ZzdGFiIGIvRG9jdW1lbnRhdGlvbi9leGFtcGxlLmZpbGVzL2ZzdGFiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZmZhNjQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvZnN0YWIKQEAgLTAsMCArMSwxNSBAQAorIyAvZXRjL2ZzdGFiCisjIHN0YXRpYyBmaWxlIHN5c3RlbSBpbmZvcm1hdGlvbgorIworIyBUaGlzIGZpbGUgaXMgbm90IHVzZWQgYnkgdGhlIGtlcm5lbCwgYnV0IHJhdGhlciBieSBtb3VudCg4KSBhbmQgdW1vdW50KDgpCisjIChhbmQgc29tZSBkYXkgZnNjayg4KSkuICBDb21tZW50IGxpbmVzIGhhdmUgIiMiIGluIHRoZSBmaXJzdCBjb2x1bW4uCisjCisjIEZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc3RhYig1KSBtYW4gcGFnZS4KKyMKKyMgZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpcmVjdG9yeSAgdHlwZSAgIG9wdGlvbnMgICAgICAgICBmcmVxIHBhc3MKK1VVSUQ9MmNkYTFlMDgtMWYyMi00OTBiLTkxMDEtYzkzZDUxMWJjOWM5IC8gICAgICAgICAgZXh0NCAgIGRlZmF1bHRzICAgICAgICAxICAgIDEKK1VVSUQ9ODA1ZTc0MTgtZmMyMC00ZGNmLTgzMGMtNzI5NzgxZTU4ZDFhIC9ib290ICAgICAgZXh0NCAgIGRlZmF1bHRzICAgICAgICAxICAgIDIKK3Byb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jICAgICAgcHJvYyAgIGRlZmF1bHRzICAgICAgICAwICAgIDAKK3N5c2ZzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9zeXMgICAgICAgc3lzZnMgIGRlZmF1bHRzICAgICAgICAwICAgIDAKK3RtcGZzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2htICAgdG1wZnMgIGRlZmF1bHRzICAgICAgICAwICAgIDAKK2RldnB0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvcHRzICAgZGV2cHRzIGdpZD01LG1vZGU9NjIwICAwICAgIDAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9tb3RkIGIvRG9jdW1lbnRhdGlvbi9leGFtcGxlLmZpbGVzL21vdGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQyYTZmMwotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9tb3RkCkBAIC0wLDAgKzEsMTAgQEAKKworICAgICAgIHxeXl5eXl58CisgICAgICAgfCAgICAgIHwgICAgICAgIF9fX19fX19fX19fX19fX19fX19fXyAKKyAgICAgICB8ICAgICAgfCAgICAgICAvICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgIHwgKG8pKG8pICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgQCAgICAgIF8pICAgICAgfCAgICAgQk9HVVMgbWFuISEgICAgICAgfAorICAgICAgIHwgLF9fX3wgICAgICwsfCAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgIHwgICAvICAgLi4nJyAgfCAgICAgICAgICAgICAgICAgICAgICAgfAorICAgICAgL19fX19cICAgICAgICAgIFxfX19fX19fX19fX19fX19fX19fX18vCisKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9zZWN1cmV0dHkgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvc2VjdXJldHR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NzQ3NjUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvc2VjdXJldHR5CkBAIC0wLDAgKzEsNSBAQAordHR5MQordHR5MgordHR5MwordHR5NAordHR5UzEKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy9zaGVsbHMgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvc2hlbGxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE0Yjk5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvc2hlbGxzCkBAIC0wLDAgKzEsNCBAQAorL2Jpbi9zaAorL2Jpbi9iYXNoCisvYmluL2NzaAorL2Jpbi90Y3NoCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvdWRldi1yYXcucnVsZXMgYi9Eb2N1bWVudGF0aW9uL2V4YW1wbGUuZmlsZXMvdWRldi1yYXcucnVsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YwZThjYgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZXhhbXBsZS5maWxlcy91ZGV2LXJhdy5ydWxlcwpAQCAtMCwwICsxLDcgQEAKKyMgRW50ZXIgcmF3IGRldmljZSBiaW5kaW5ncyBoZXJlLgorIworIyBBbiBleGFtcGxlIHdvdWxkIGJlOgorIyAgIEFDVElPTj09ImFkZCIsIEtFUk5FTD09InNkYSIsIFJVTis9Ii9iaW4vcmF3IC9kZXYvcmF3L3JhdzEgJU4iCisjIHRvIGJpbmQgL2Rldi9yYXcvcmF3MSB0byAvZGV2L3NkYSwgb3IKKyMgICBBQ1RJT049PSJhZGQiLCBFTlZ7TUFKT1J9PT0iOCIsIEVOVntNSU5PUn09PSIxIiwgUlVOKz0iL2Jpbi9yYXcgL2Rldi9yYXcvcmF3MiAlTSAlbSIKKyMgdG8gYmluZCAvZGV2L3Jhdy9yYXcyIHRvIHRoZSBkZXZpY2Ugd2l0aCBtYWpvciA4LCBtaW5vciAxLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9nZXRvcHQudHh0IGIvRG9jdW1lbnRhdGlvbi9nZXRvcHQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2NzY0ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2dldG9wdC50eHQKQEAgLTAsMCArMSwzMSBAQAorVGhpcyBwYWNrYWdlIGNvbnRhaW5zIGEgcmVpbXBsZW1lbnRhdGlvbiBvZiBnZXRvcHQoMSkuCisKK1BSRUZBQ0UKKworR2V0b3B0KDEpIGlzIGEgcHJvZ3JhbSB0byBoZWxwIHNoZWxsIHNjcmlwdHMgcGFyc2UgY29tbWFuZC1saW5lIHBhcmFtZXRlcnMuCisKK0hJR0hMSUdIVFMKKworSXQgY2FuIGRvIGFueXRoaW5nIHRoYXQgdGhlIEdOVSBnZXRvcHQoMykgcm91dGluZXMgY2FuIGRvLgorCitJdCBjYW4gY29wZSB3aXRoIHNwYWNlcyBhbmQgc2hlbGwgbWV0YWNoYXJhY3RlcnMgd2l0aGluIGFyZ3VtZW50cy4KKworSXQgY2FuIHBhcnNlIGxvbmcgcGFyYW1ldGVycy4KKworSXQgY2FuIHNodWZmbGUgcGFyYW1ldGVycywgc28geW91IGNhbiBtaXggb3B0aW9ucyBhbmQgb3RoZXIgcGFyYW1ldGVycyBvbgordGhlIGNvbW1hbmQtbGluZS4KKworSXQgY2FuIGJlIGVhc2lseSBpZGVudGlmaWVkIGFzIGFuIGVuaGFuY2VkIGdldG9wdCgxKSBmcm9tIHdpdGhpbiBzaGVsbCBzY3JpcHRzLgorCitJdCBjYW4gcmVwb3J0IHBhcnNlIGVycm9ycyBhcyBjb21pbmcgZnJvbSB0aGUgc2hlbGwgc2NyaXB0LgorCitJdCBpcyBmdWxseSBjb21wYXRpYmxlIHdpdGggb3RoZXIgZ2V0b3B0KDEpIGltcGxlbWVudGF0aW9ucy4KKworQ09QWUlORworCitUaGlzIHByb2dyYW0gY29tZXMgdW5kZXIgdGhlIEdOVSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlIHZlcnNpb24gMi4gU2VlIHRoZQorZmlsZSBDT1BZSU5HIGluY2x1ZGVkIGluIHRoaXMgcGFja2FnZS4gTm90ZSB0aGF0IHRob3VnaCB5b3UgbWF5IGZyZWVseQorY29weSBpdCwgaXQgaXMgY29weXJpZ2h0IChjKSAxOTk3LTIwMDUgYnkgRnJvZG8gTG9vaWphYXJkCis8ZnJvZG9AZnJvZG8ubG9vaWphYXJkLm5hbWU+LgorRmlsZXMgaW4gdGhlIGdudSBkaXJlY3RvcnkgYXJlIGZyb20gZ2xpYmMtMi4wLjQ6IGNvcHlyaWdodCAoQykgMTk4NywgODgsCis4OSwgOTAsIDkxLCA5MiwgOTMsIDk0LCA5NSwgOTYsIDk3IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9nZXRvcHRfY2hhbmdlbG9nLnR4dCBiL0RvY3VtZW50YXRpb24vZ2V0b3B0X2NoYW5nZWxvZy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGMxMTRiNAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vZ2V0b3B0X2NoYW5nZWxvZy50eHQKQEAgLTAsMCArMSwzOCBAQAorMjAwNTExMDc6IEJ1bXBlZCB1cCB2ZXJzaW9uIG51bWJlciB0byAxLjEuNAorMjAwNTExMDc6IE1ha2VmaWxlOiBwYWNrYWdlIHRhcmdldAorMjAwNTExMDc6IENoYW5nZWQgZW1haWwgYW5kIHdlYnNpdGUgdG8gY3VycmVudCBvbmVzCisyMDA1MTEwNzogRml4ZWQgYSBmZXcgdHlwb3MgaW4gdGhlIG1hbnBhZ2UgKHN5bmMgd2l0aCB1dGlsLWxpbnV4ICgyLjEycikKKzIwMDMwMTIzOiBCdW1wZWQgdXAgdmVyc2lvbiBudW1iZXIgdG8gMS4xLjMKKzIwMDMwMTIzOiBDaGFuZ2VkIFdJVEhfR0VUVEVYVCBvcHRpb24gdG8gV0lUSE9VVF9HRVRURVhUCisyMDAzMDEyMzogUmVuYW1lZCBleGFtcGxlIHByb2dyYW1zIHRvIGhhdmUgdGhlIHN0cmluZyBnZXRvcHQtIHByZXBlbmRlZAorMjAwMzAxMjM6IE1hbnBhZ2U6IGFsbCBtaW51cyBzaWducyBhcmUgbm93IGVzY2FwZWQKKzIwMDMwMTIzOiBTeW5jIHdpdGggdXRpbC1saW51eCAoMi4xMXkpCisyMDAxMDMyOTogQnVtcGVkIHVwIHZlcnNpb24gbnVtYmVyIHRvIDEuMS4yCisyMDAxMDMyOTogU3luYyB3aXRoIHV0aWwtbGludXgKKzIwMDEwMzExOiBCdW1wZWQgdXAgdmVyc2lvbiBudW1iZXIgdG8gMS4xLjEKKzIwMDEwMzExOiBGaXhlZCBzdHVwaWQgY29tcGlsYXRpb24gZXJyb3IgaWYgTkxTIG5vdCBzZWxlY3RlZAorMjAwMDA2MzA6IEJ1bXBlZCB1cCB2ZXJzaW9uIG51bWJlciB0byAxLjEuMAorMjAwMDA2MzA6IFBvcnRlZCB0aGUgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQgcGF0Y2hlcyBmcm9tIHV0aWwtbGludXgKKyAgICAgICAgICBUaGV5IGFyZSB3cml0dGVuIGJ5IEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5vcmcucGw+CisyMDAwMDYyNzogQnVtcGVkIHVwIHZlcnNpb24gbnVtYmVyIHRvIDEuMC42CisyMDAwMDYyNzogQSBmZXcgbWFucGFnZSB0d2Vha3MKKzIwMDAwNjE2OiBJbnRyb2R1Y2VkIERFU1RESVIgYW5kIGRpcmVjdG9yeSBjcmVhdGlvbiBpbiB0aGUgTWFrZWZpbGUuCisxOTk5MDcxNjogQnVtcGVkIHVwIHZlcnNpb24gbnVtYmVyIHRvIDEuMC41CisxOTk5MDYyMjogTWFkZSAtdSB3b3JrCisxOTk5MDEwMTogQnVtcGVkIHVwIHZlcnNpb24gbnVtYmVyIHRvIDEuMC40IChha2EuIDEuMC4zYSBpbiB1dGlsLWxpbnV4KQorMTk5OTAxMDE6IFZlcnkgc21hbGwgZml4IGluIG1haW4oKQorMTk5OTAxMDE6IFVwZGF0ZWQgdXRpbC1saW51eCBNYWtlZmlsZQorMTk5ODA2Mjg6IEJ1bXBlZCB1cCB2ZXJzaW9uIG51bWJlciB0byAxLjAuMworMTk5ODA2Mjg6IFJlbW92ZWQgcmVtYWluaW5nIGluY29tcGF0aWJpbGl0eSB3aXRoIHRjc2gtNi4wMiBmcm9tIHBhcnNlLnRjc2gKKzk4MDYyNjogQWRkZWQgc2VwYXJhdGUgTWFrZWZpbGUgZm9yIHV0aWwtbGludXgKKzE5OTgwNjI1OiBSZW1vdmVkIHNldmVyYWwgYnVncyBmcm9tIHBhcnNlLnRjc2gsIHBhcnRseSB0aGFua3MgdG8gVm9sa2VyIEt1aGxtYW5uCisgICAgICAgICAgKHYua3VobG1hbm5AZWxlYy5jYW50ZXJidXJ5LmFjLm56KS4KKzE5OTgwNjEyOiBSZW1vdmVkIHJlZmVyZW5jZSB0byBnZXRvcHQgaW4gdXRpbC1saW51eAorMTk5ODA2MTE6IEJ1bXBlZCB1cCB2ZXJzaW9uIG51bWJlciB0byAxLjAuMgorMTk5ODA2MTE6IEZpeGVkIC0tdmVyc2lvbiBidWcgKHdhcyBub3QgYXZhaWxhYmxlLCB0aG91Z2ggZG9jdW1lbnRlZCEpCisxOTk4MDYxMTogUmVtb3ZlZCBjb21waWxlciB3YXJuaW5ncy4KKzE5OTgwNjAzOiBCdW1wZWQgdXAgdmVyc2lvbiBudW1iZXIgdG8gMS4wLjEKKzE5OTgwNjAzOiBGaXhlZCBzaXplb2YoKSBidWcgKHNob3VsZCBiZSBzdHJsZW4pIGluIGdldG9wdC5jLCB0aGFua3MgdG8gCisgICAgICAgICAgQm9iIFByb3VseCAocndwQGhwcndwLmZjLmhwLmNvbSkuCisxOTk4MDUwNTogQ2hhbmdlZCBkYXRlIGZpZWxkIGluIExTTSB0byBwcm9wZXIgc3ludGF4CisxOTk4MDUwNTogUmVsZWFzZWQgdmVyc2lvbiAxLjAKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8tYnVpbGQtc3lzLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8tYnVpbGQtc3lzLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmQyNzkzCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9ob3d0by1idWlsZC1zeXMudHh0CkBAIC0wLDAgKzEsOTUgQEAKK3V0aWwtbGludXggYnVpbGQgc3lzdGVtCis9PT09PT09PT09PT09PT09PT09PT09PQorCisgLSB0aGUgYnVpbGQgc3lzdGVtIGlzIG5vbi1yZWN1cnNpdmUsIGluZGl2aWR1YWwgc3ViZGlyZWN0b3JpZXMgdXNlCisgICBNYWtlbW9kdWxlLmFtIGZpbGVzLiBUaGVzZSBmaWxlcyBhcmUgbWVyZ2VkIHRvZ2V0aGVyIGJ5IGF1dG9tYWtlCisgICBpbnRvIG9uZSBnbG9iYWwgTWFrZWZpbGUgaW4gdGhlIHRvcC1sZXZlbCBkaXJlY3RvcnkKKworIC0gYWxsIGZpbmFsIGJ1aWxkIHJlc3VsdHMgKGJpbmFyaWVzLCBsaWJ0b29sIHNjcmlwdHMpIGFyZSBzdG9yZWQgaW4gdG9wLWxldmVsCisgICBzb3VyY2UgZGlyZWN0b3J5CisKKyAtIGFsbCBNYWtlbW9kdWxlLmFtIGZpbGVzIGhhdmUgdG8gYmUgZGVzaWduZWQgYXMgdG9wLWxldmVsIG1ha2VmaWxlcywgaXQKKyAgIG1lYW5zIHdpdGggZnVsbCBwYXRocyAoZS5nLiBmb29fU09VUkNFUyA9IHN1YmRpci9mb28uYykKKworIC0gYWx3YXlzIHVzZSAnKz0nIG9wZXJhdG9yIGZvciBnbG9iYWwgdmFyaWFibGVzIChlLmcuIGJpbl9QUk9HUkFNUyArPSBmb28pCisKKyAtIHVzZSBsaWJjb21tb24ubGEgKHdpdGhvdXQgcGF0aCEpIGZvciBsaWIvIHN0dWZmIChlLmcuIGZvb19MREFERCA9IGxpYmNvbW1vbi5sYSkKKworIC0gZm9yIGxpYmJsa2lkLCBsaWJ1dWlkIGFuZCBsaWJtb3VudCB1c2UgbGliPG5hbWU+LmxhIGluIF9MREFERCBhbmQKKyAgIC1JJCh1bF9saWI8bmFtZT5faW5jZGlyKSBpbiBfQ0ZMQUdTLCBmb3IgZXhhbXBsZQorCisJZm9vX0xEQUREID0gbGlibW91bnQubGEKKwlmb29fQ0ZMQUdTID0gLUkkKHVsX2xpYm1vdW50X2luY2RpcikKKworIC0gYWx3YXlzIHVzZSBzdWZmaXhlcyBmb3IgaG9va3MsIGZvciBleGFtcGxlCisKKwlpbnN0YWxsLWV4ZWMtaG9vay1mb286CisJCWxuIC1zZiBmb28gZm9vb28KKworCUlOU1RBTExfRVhFQ19IT09LUyArPSBpbnN0YWxsLWV4ZWMtaG9vay1mb28KKworCisgLSBhbGwgdXRpbC1saW51eCBzcGVjaWZpYyBhdXRvY29uZiBtYWNyb3MgdXNlIFVMXyBwcmVmaXgKKworIC0gdXRpbHMgaW4gTWFrZWZpbGUuYW0gZmlsZXMgYXJlIGVuYWJsZWQvZGlzYWJsZWQgYWNjb3JkaW5nIHRvIEJVSUxEXzxOQU1FPgorICAgY29uZGl0aW9ucyAoQU1fQ09ORElUSU9OQUwpLCBmb3IgZXhhbXBsZToKKworCWlmIEJVSUxEX0hXQ0xPQ0sKKwkuLi4KKwllbmRpZgorCisgLSAiaWYgQlVJTERfPE5BTUU+IiBibG9ja3MgYXJlIG5ldmVyIG5lc3RlZCB3aXRoaW4gYW5vdGhlciAiaWYgQlVJTERfPE5BTUU+IiwKKyAgIGFsbCBkZXBlbmRlbmNpZXMgaGF2ZSB0byBiZSByZXNvbHZlZCBpbiBjb25maWd1cmUuYWMgKHNlZSBVTF9SRVFVSVJFU19CVUlMRCgpKQorCisgLSBhbGwgQlVJTERfPE5BTUU+IGluIGNvbmZpZ3VyZS5hbSBhcmUgYWx3YXlzIGJhc2VkIG9uIGJ1aWxkXzxuYW1lPiB2YXJpYWJsZXMsCisgICBmb3IgZXhhbXBsZToKKworCUFNX0NPTkRJVElPTkFMKFtCVUlMRF9IV0NMT0NLXSwgdGVzdCAieCRidWlsZF9od2Nsb2NrIiA9IHh5ZXMpCisKKyAgIHRoZSAkYnVpbGRfPG5hbWU+IHNob3VsZCBiZSBhdmFpbGFibGUgaW4gd2hvbGUgY29uZmlndXJlIHNjcmlwdAorCisgLSBBQ19BUkdfRU5BQkxFKCkgc3RhdHVzIGlzIGFsd2F5cyBzdG9yZWQgaW4gJGVuYWJsZV88bmFtZT4gdmFyaWFibGUsIHBvc3NpYmxlCisgICBzZXR0aW5nOgorCisJImNoZWNrIiAtIHV0aWwvZmVhdHVyZSBpcyBvcHRpb25hbCwgaWYgYW55IHN1YmNvbXBvbmVudCAoZnVuY3Rpb24sIGxpYiwKKyAgICAgICAgICAgICAgICAgIC4uLikgaXMgbWlzc2luZyBhIHdhcm5pbmcgaXMgcHJpbnRlZCBhbmQgdGhlIHV0aWwvZmVhdHVyZSBpcworICAgICAgICAgICAgICAgICAgZGlzYWJsZWQKKworCSJ5ZXMiCS0gdXRpbC9mZWF0dXJlIGlzIHJlcXVpcmVkLCBpZiBhbnkgc3ViY29tcG9uZW50IChmdW5jdGlvbiwgbGliLAorICAgICAgICAgICAgICAgICAgLi4uKSBpcyBtaXNzaW5nIGFuIGVycm9yIGlzIHByaW50ZWQgYW5kIC4vY29uZmlndXJlIGFib3J0ZWQKKworCSJubyIJLSB0aGUgdXRpbC9mZWF0dXJlIGlzIHVud2FudGVkCisKKyAgIFRoZSBkZWZhdWx0IHN0YXR1cyBpcyBhbHdheXMgZGVmaW5lZCBieSBVTF9ERUZBVUxUX0VOQUJMRSgpIGFuZCBpdCBtaWdodCBiZQorICAgZ2xvYmFsbHkgbW9kaWZpZWQgYnkgJHVsX2RlZmF1bHRfZXN0YXRlIChzZWUgQUNfQVJHX0VOQUJMRShbYWxsLXByb2dyYW1zXSkpLgorCisgLSBpdCdzIHBvc3NpYmxlIHRvIGRpc2FibGUgYWxsIHByb2dyYW1zLCBidXQgZW5hYmxlIGp1c3Qgb25lIChvciBtb3JlKQorICAgZXhwbGljaXRseSBzcGVjaWZpZWQsIGZvciBleGFtcGxlOgorCisgICAgICAgIC4vY29uZmlndXJlIC0tZGlzYWJsZS1hbGwtcHJvZ3JhbXMgLS1lbmFibGUtaHdjbG9jaworCisgLSBzb21lIGJhc2ljIHNjZW5hcmlvcyBmb3IgdGhlIC4vY29uZmlndXJlIHNjcmlwdCBhcmUgZGVmaW5lZCBpbiB0aGUKKyAgIHRvb2xzL2NvbmZpZy1nZW4uZC8gZGlyZWN0b3J5LiBJZiB5b3Ugd2FudCB0byB1c2UgdGhlc2UgcHJlZGVmaW5lZCBzY2VuYXJpb3MKKyAgIHRoZW4gY2FsbAorCisJLi90b29scy9jb25maWctZ2VuIFs8c2NlbmFyaW8+IC4uLl0KKworICAgZm9yIGV4YW1wbGUKKworCS4vdG9vbHMvY29uZmlnLWdlbiBhbGwgc2VsaW51eAorCisgICB3aWxsIGJ1aWxkIGFsbCB1dGlscyB3aXRoIGVuYWJsZWQgc2VsaW51eCBzdXBwb3J0LiBZb3UgY2FuIGFsc28gZGVmaW5lIHNvbWUKKyAgIENGTEFHUywgZm9yIGV4YW1wbGU6CisKKwlDRkxBR1M9JChycG0gLS1ldmFsICclb3B0ZmxhZ3MnKSAuL3Rvb2xzL2NvbmZpZy1nZW4gYWxsCisKKyAgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGRpc3RybyBmbGFncy4KKworICAgV0FSTklORzogY29uZmlnLWdlbiBpcyBub3QgZGVzaWduZWQgZm9yIGVuZC11c2VyIG9yIGRvd25zdHJlYW0gZGlzdHJpYnV0aW9ucyEKKyAgICAgICAgICAgIEl0J3MgZm9yIGRldmVsb3BtZW50IHB1cnBvc2Ugb25seS4gQWxsIGVuZC11c2VycyBhbmQgZG93bnN0cmVhbSBoYXZlCisgICAgICAgICAgICB0byB1c2Ugc3RhbmRhcmQgLi9jb25maWd1cmUgc2NyaXB0IG9ubHkuCisKKyAtIHRoZSB0b29scy9jb25maWctZ2VuIHNjcmlwdCBpcyBhbHNvIHVzZWQgZm9yIGJ1aWxkIHN5c3RlbSByZWdyZXNzaW9uIHRlc3RzLAorICAgdGhlIHRlc3QgaXMgbm90IGVuYWJsZWQgYnkgZGVmYXVsdCwgeW91IGhhdmUgdG8gdXNlCisKKwl0ZXN0cy9ydW4uc2ggYnVpbGQtc3lzIC0tZm9yY2UKZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8tY29tcGlsYXRpb24udHh0IGIvRG9jdW1lbnRhdGlvbi9ob3d0by1jb21waWxhdGlvbi50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGIzOTI0NgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8tY29tcGlsYXRpb24udHh0CkBAIC0wLDAgKzEsNjQgQEAKK1RoZSBjb21tb24gY2FzZQorCisJLi9hdXRvZ2VuLnNoICYmIC4vY29uZmlndXJlICYmIG1ha2UKKworCUlmIHNvbWV0aGluZyBmYWlscyByZWFkIHRoZSBsYXN0IGxpbmVzLiBUeXBpY2FsIHJlYXNvbiB0bworCWZhaWwgaXMgYSBtaXNzaW5nIGRlcGVuZGVuY3ksIHN1Y2ggYXMgbGlidG9vbCBvciBnZXR0ZXh0LgorCitBdXRvdG9vbHMKKworCWAuL2F1dG9nZW4uc2gnIGdlbmVyYXRlcyBhbGwgZmlsZXMgbmVlZGVkIHRvIGNvbXBpbGUKKwlhbmQgaW5zdGFsbCB0aGUgY29kZSAocnVuIGl0IGFmdGVyIGNoZWNrb3V0IGZyb20gZ2l0KQorCisJYG1ha2UgZGlzdGNsZWFuJyByZW1vdmVzIGFsbCB1bm5lY2Vzc2FyeSBmaWxlcywgYnV0IHRoZQorCWNvZGUgY2FuIHN0aWxsIGJlIHJlY29tcGlsZWQgd2l0aCAiLi9jb25maWd1cmU7IG1ha2UiCisKKwlgbWFrZSBkaXN0LWd6aXAnIChvciAtYnppcDIpIGNyZWF0ZXMgYSB0YXJiYWxsIHRoYXQgY2FuCisJYmUgY29uZmlndXJlZCBhbmQgY29tcGlsZWQgd2l0aG91dCBydW5uaW5nIGAuL2F1dG9nZW4uc2gnCisKK0NvbXBpbGluZworCisJVXNlIFNVSURfQ0ZMQUdTIGFuZCBTVUlEX0xERkxBR1Mgd2hlbiB5b3Ugd2FudCB0byBkZWZpbmUKKwlzcGVjaWFsIGNvbXBpbGVyIG9wdGlvbnMgZm9yIHR5cGljYWwgc3VpZCBwcm9ncmFtcywgZm9yCisJZXhhbXBsZToKKworCS4vY29uZmlndXJlIFNVSURfQ0ZMQUdTPSItZnBpZSIgU1VJRF9MREZMQUdTPSItcGllIgorCisJVGhlIFNVSURfKiBmZWF0dXJlIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQgZm9yIGNoZm4sIGNoc2gsCisJbmV3Z3JwLCBzdSwgd3JpdGUsIG1vdW50LCBhbmQgdW1vdW50LgorCisJVXNlIERBRU1PTl9DRkxBR1MgYW5kIERBRU1PTl9MREZMQUdTIHdoZW4geW91IHdhbnQgdG8gZGVmaW5lCisJc3BlY2lhbCBjb21waWxlciBvcHRpb25zIGZvciBkYWVtb25zOyBzdXBwb3J0ZWQgZm9yIHV1aWRkLgorCisJVXNlIFNPTElCX0NGTEFHUyBhbmQgU09MSUJfTERGTEFHUyB3aGVuIHlvdSB3YW50IHRvIGRlZmluZQorCXNwZWNpYWwgY29tcGlsZXIgb3B0aW9ucyBmb3Igc2hhcmVkIGxpYnJhcmllczsgc3VwcG9ydGVkIGZvcgorCWxpYm1vdW50LCBsaWJibGtpZCBhbmQgbGlidXVpZC4KKworCUZJWE1FOiBhZGQgbm90ZXMgYWJvdXQga2xpYiBhbmQgdUNsaWIuCisKK1N0YXRpYyBsaW5raW5nCisKKwlVc2UgLS1lbmFibGUtc3RhdGljLXByb2dyYW1zWz1MSVNUXSBjb25maWd1cmUgb3B0aW9uIHdoZW4KKwl5b3Ugd2FudCB0byB1c2Ugc3RhdGljYWxseSBsaW5rZWQgcHJvZ3JhbXMuCisKKwlOb3RlLCBtb3VudCg4KSB1c2VzIGdldHtwdyxncn1uYW0oKSBhbmQgZ2V0cHd1aWQoKQorCWZ1bmN0aW9ucyBmb3IgdHJhbnNsYXRpb24gZnJvbSB1c2VybmFtZSBhbmQgZ3JvdXBuYW1lIHRvCisJVUlEIGFuZCBHSUQuIFRoZXNlIGZ1bmN0aW9ucyBjb3VsZCBiZSBpbXBsZW1lbnRlZCBieQorCWR5bmFtaWNhbGx5IGxvYWRlZCBpbmRlcGVuZGVudCBtb2R1bGVzIChOU1MpIGluIHlvdXIgbGliYworCShlLmcuIGdsaWJjKS4gVGhlc2UgbW9kdWxlcyBhcmUgbm90IHN0YXRpY2FsbHkgbGlua2VkIHRvCisJbW91bnQoOCkgYW5kIG1vdW50LnN0YXRpYyBpcyBzdGlsbCB1c2luZyBkbG9wZW4oKSBsaWtlCisJZHluYW1pY2FsbHkgbGlua2VkIHZlcnNpb24uCisKKwlUaGUgdHJhbnNsYXRpb24gd29uJ3Qgd29yayBpbiBlbnZpcm9ubWVudCB3aGVyZSBOU1MKKwltb2R1bGVzIGFyZSBub3QgaW5zdGFsbGVkLgorCisJRm9yIGV4YW1wbGUgbm9ybWFsIHN5c3RlbSAoTlNTIG1vZHVsZXMgYXJlIGF2YWlsYWJsZSk6CisKKwkJIyAuL21vdW50LnN0YXRpYyAtdiAtZiAtbiAtb3VpZD1remFrIC9tbnQvZm9vCisJCUxBQkVMPS9tbnQvZm9vIG9uIC9tbnQvZm9vIHR5cGUgdmZhdCAocncsdWlkPTUwMCkKKwkJCQkJCQkgXl5eXl5eXgorCWFuZCB3aXRob3V0IE5TUyBtb2R1bGVzOgorCisJCSMgY2hyb290IC4gLi9tb3VudC5zdGF0aWMgLXYgLWYgLW4gLW91aWQ9a3phayAvbW50L3dpbgorCQlMQUJFTD0vbW50L3dpbiBvbiAvbW50L3dpbiB0eXBlIHZmYXQgKHJ3LHVpZD1remFrKQorCQkJCQkJCSBeXl5eXl5eXgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9ob3d0by1jb250cmlidXRlLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8tY29udHJpYnV0ZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYzZDM5MAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8tY29udHJpYnV0ZS50eHQKQEAgLTAsMCArMSwyMTggQEAKK0NPTlRFTlRTCisgU2VuZGluZyBQYXRjaGVzCisgUGF0Y2hpbmcgUHJvY2VzcworIEVtYWlsIEZvcm1hdAorIENvZGluZyBTdHlsZQorIE9wdGlvbnMKKyBWYXJpb3VzIE5vdGVzCisgU3RhbmRhcmRzIENvbXBsaWFuY2UKKworU2VuZGluZyBQYXRjaGVzCisKKwkqIHNlbmQgeW91ciBwYXRjaGVzIHRvIHRoZSBtYWlsaW5nIGxpc3QuCisJICBTZWUgLi4vUkVBRE1FLgorCisJKiBlbWFpbCBpcyBhY2NlcHRlZCBhcyBhbiBpbmxpbmUgcGF0Y2ggd2l0aCwgb3Igd2l0aG91dCwgYSBnaXQgcHVsbAorCSAgcmVxdWVzdC4gUHVsbCByZXF1ZXN0IGVtYWlscyBuZWVkIHRvIGluY2x1ZGUgdGhlIHBhdGNoIHNldCBmb3IgcmV2aWV3CisJICBwdXJwb3Nlcy4gU2VlIGhvd3RvLXB1bGwtcmVxdWVzdC50eHQgYW5kIC4uL1JFQURNRSBmb3IgZ2l0IHJlcG9zaXRvcnkKKwkgIGluc3RydWN0aW9ucy4KKworCSogZW1haWwgYXR0YWNobWVudHMgYXJlIGRpZmZpY3VsdCB0byByZXZpZXcgYW5kIG5vdCByZWNvbW1lbmRlZC4KKwkgIEhpbnQ6IHVzZSBnaXQgc2VuZC1lbWFpbC4KKworCSogb25lIHBhdGNoIHBlciBlbWFpbC4KKwkgIFNlZSBFbWFpbCBGb3JtYXQuCisKKwkqIG1hbnkgc21hbGwgcGF0Y2hlcyBhcmUgcHJlZmVycmVkIG92ZXIgYSBzaW5nbGUgbGFyZ2UgcGF0Y2guIFNwbGl0CisJICBwYXRjaCBzZXRzIGJhc2VkIHVwb24gbG9naWNhbCBmdW5jdGlvbmFsaXR5LiBGb3IgZXhhbXBsZTogI2VuZGlmIG1hcmsKKwkgIHVwcywgY29tcGlsZXIgd2FybmluZ3MsIGFuZCBleGl0IGNvZGUgZml4ZXMgc2hvdWxkIGFsbCBiZSBpbmRpdmlkdWFsCisJICBzbWFsbCBwYXRjaGVzLgorCisJKiBkb24ndCBpbmNsdWRlIGdlbmVyYXRlZCAoYXV0b3Rvb2xzKSBmaWxlcyBpbiB5b3VyIHBhdGNoZXMuCisJICBIaW50OiB1c2UgJ2dpdCBjbGVhbiAtWGQnLgorCisJKiBuZXV0cmFsaXR5OiB0aGUgZmlsZXMgaW4gdXRpbC1saW51eCBzaG91bGQgYmUgZGlzdHJpYnV0aW9uLW5ldXRyYWwuCisJICBQYWNrYWdlcyBsaWtlIFJQTXMsIERFQnMsIGFuZCB0aGUgcmVzdCwgYXJlIG5vdCBwcm92aWRlZC4gVGhleSBzaG91bGQKKwkgIGJlIGF2YWlsYWJsZSBmcm9tIHRoZSBkaXN0cmlidXRpb24uCisKK1BhdGNoaW5nIFByb2Nlc3MKKworCSogYW5ub3VuY2UgaXQgb24gdGhlIG1haWxpbmcgbGlzdCB3aGVuIHlvdSBhcmUgZ29pbmcgdG8gd29yayB3aXRoIHNvbWUKKwkgIHBhcnRpY3VsYXIgcGllY2Ugb2YgY29kZSBmb3IgYSBsb25nIHRpbWUuIFRoaXMgaGVscHMgb3RoZXJzIHRvIGF2b2lkCisJICBtYXNzaXZlIG1lcmdlIGNvbmZsaWN0cy4gU21hbGwgb3IgcXVpY2sgd29yaywgZG9lcyBub3QgbmVlZCB0byBiZQorCSAgYW5ub3VuY2VkLgorCisJKiBtYWtlIHN1cmUgdGhhdCBhZnRlciBhcHBseWluZyB5b3VyIHBhdGNoIHRoZSBmaWxlKHMpIHdpbGwgY29tcGlsZQorCSAgd2l0aG91dCBlcnJvcnMuCisKKwkqIHRlc3QgdGhhdCB0aGUgcHJldmlvdXNseSBleGlzdGluZyBwcm9ncmFtIGJlaGF2aW9yIGlzIG5vdCBhbHRlcmVkLiBJZgorCSAgdGhlIHBhdGNoIGludGVudGlvbmFsbHkgYWx0ZXJzIHRoZSBiZWhhdmlvciBleHBsYWluIHdoYXQgY2hhbmdlZCwgYW5kCisJICB0aGUgcmVhc29uIGZvciBpdCwgaW4gdGhlIGNoYW5nZWxvZy9jb21taXQgbWVzc2FnZS4KKworCSogb25seSBzdWJtaXQgY2hhbmdlcyB0aGF0IHlvdSBiZWxpZXZlIGFyZSByZWFkeSB0byBtZXJnZS4gVG8gcG9zdCBhCisJICBwYXRjaCBmb3IgcGVlciByZXZpZXcgb25seSwgc3RhdGUgaXQgY2xlYXJseSBpbiB0aGUgZW1haWwgYW5kIHVzZQorCSAgdGhlIFN1YmplY3Q6IFtQQVRDSCBSRkNdIC4uLgorCisJKiBpbmNvcnBvcmF0ZSByZXZpZXdlciBjb21tZW50cyBpbiB0aGUgcGF0Y2hlcy4gUmVzdWJtaXR0aW5nIHdpdGhvdXQKKwkgIGNoYW5nZXMgaXMgbmVpdGhlciByZWNvbW1lbmRlZCBub3IgcG9saXRlLgorCisJKiByZXN1Ym1pc3Npb24gY2FuIGJlIHBhcnRpYWwgb3IgY29tcGxldGUuIElmIG9ubHkgYSBmZXcgYWx0ZXJhdGlvbnMgYXJlCisJICBuZWVkZWQgdGhlbiByZXN1Ym1pdCB0aG9zZSBwYXJ0aWN1bGFyIHBhdGNoZXMuIFdoZW4gY29tbWVudHMgY2F1c2UgYQorCSAgZ3JlYXRlciBlZmZlY3QgdGhlbiByZXN1Ym1pdCB0aGUgZW50aXJlIHBhdGNoIHNldC4KKworCSogV2hlbiByZXN1Ym1pdHRpbmcgdXNlIHRoZSBlbWFpbCBTdWJqZWN0OiBbUEFUQ0ggdjJdIC4uLgorCSAgSGludDogdXNlIHRoZSAtLXN1YmplY3QtcHJlZml4PSdQQVRDSCB2Micgb3B0aW9uIHdpdGggJ2dpdCBmb3JtYXQtcGF0Y2gnCisKKwkqIHVzaW5nIGEgZ2l0IHJlcG9zaXRvcnkgZm9yIChyZSlzdWJtaXNzaW9ucyBjYW4gbWFrZSBsaWZlIGVhc2llci4KKwkgIFNlZSBob3d0by1wdWxsLXJlcXVlc3QudHh0IGFuZCAuLi9SRUFETUUuCisKKwkqIGFsbCBwYXRjaCBzdWJtaXNzaW9ucyBhcmUgZWl0aGVyIGNvbW1lbnRlZCwgcmVqZWN0ZWQsIG9yIGFjY2VwdGVkLgorCSAgSWYgdGhlIG1haW50YWluZXIgcmVqZWN0cyBhIHBhdGNoIHNldCBpdCBpcyBwb2ludGxlc3MgdG8gcmVzdWJtaXQgaXQuCisKK0VtYWlsIEZvcm1hdAorCisJKiBTdWJqZWN0OiBbUEFUQ0hdIHN1YnN5c3RlbTogZGVzY3JpcHRpb24uCisKKwkqIFN0YXJ0IHRoZSBtZXNzYWdlIGJvZHkgd2l0aCBhbiBleHBsYW5hdGlvbiBvZiB0aGUgcGF0Y2gsIHRoYXQgaXMsIGEKKwkgIGNoYW5nZWxvZy9jb21taXQgZW50cnkuCisKKwkqIGlmIHNvbWVvbmUgZWxzZSB3cm90ZSB0aGUgcGF0Y2gsIHRoZXkgc2hvdWxkIGJlIGNyZWRpdGVkIChhbmQKKwkgIGJsYW1lZCkgZm9yIGl0LiBUbyBjb21tdW5pY2F0ZSB0aGlzLCBhZGQgYSBsaW5lIGxpa2U6CisKKwkgIEZyb206IEpvaG4gRG9lIDxqZG9lQHdoZXJldmVyLmNvbT4KKworCSogYWRkIGEgU2lnbmVkLW9mZi1ieSBsaW5lLgorCSAgSGludDogdXNlIGdpdCBjb21taXQgLXMKKworCSAgVGhlIHNpZ24tb2ZmIGlzIGEgc2ltcGxlIGxpbmUgYXQgdGhlIGVuZCBvZiB0aGUgZXhwbGFuYXRpb24gZm9yIHRoZQorCSAgcGF0Y2g7IHdoaWNoIGNlcnRpZmllcyB0aGF0IHlvdSB3cm90ZSBpdCBvciBvdGhlcndpc2UgaGF2ZSB0aGUKKwkgIHJpZ2h0IHRvIHBhc3MgaXQgb24gYXMgYW4gb3Blbi1zb3VyY2UgcGF0Y2guIFRoZSBydWxlcyBhcmUgcHJldHR5CisJICBzaW1wbGU7IGlmIHlvdSBjYW4gY2VydGlmeSB0aGUgZm9sbG93aW5nOgorCisJICBCeSBtYWtpbmcgYSBjb250cmlidXRpb24gdG8gdGhpcyBwcm9qZWN0LCBJIGNlcnRpZnkgdGhhdDoKKworCSAgIChhKSBUaGUgY29udHJpYnV0aW9uIHdhcyBjcmVhdGVkIGluIHdob2xlIG9yIGluIHBhcnQgYnkgbWUgYW5kIEkKKwkgICAgICAgaGF2ZSB0aGUgcmlnaHQgdG8gc3VibWl0IGl0IHVuZGVyIHRoZSBvcGVuIHNvdXJjZSBsaWNlbnNlCisJICAgICAgIGluZGljYXRlZCBpbiB0aGUgZmlsZTsgb3IKKworCSAgIChiKSBUaGUgY29udHJpYnV0aW9uIGlzIGJhc2VkIHVwb24gcHJldmlvdXMgd29yayB0aGF0LCB0byB0aGUgYmVzdAorCSAgICAgICBvZiBteSBrbm93bGVkZ2UsIGlzIGNvdmVyZWQgdW5kZXIgYW4gYXBwcm9wcmlhdGUgb3BlbiBzb3VyY2UKKwkgICAgICAgbGljZW5zZSBhbmQgSSBoYXZlIHRoZSByaWdodCB1bmRlciB0aGF0IGxpY2Vuc2UgdG8gc3VibWl0IHRoYXQKKwkgICAgICAgd29yayB3aXRoIG1vZGlmaWNhdGlvbnMsIHdoZXRoZXIgY3JlYXRlZCBpbiB3aG9sZSBvciBpbiBwYXJ0CisJICAgICAgIGJ5IG1lLCB1bmRlciB0aGUgc2FtZSBvcGVuIHNvdXJjZSBsaWNlbnNlICh1bmxlc3MgSSBhbQorCSAgICAgICBwZXJtaXR0ZWQgdG8gc3VibWl0IHVuZGVyIGEgZGlmZmVyZW50IGxpY2Vuc2UpLCBhcyBpbmRpY2F0ZWQKKwkgICAgICAgaW4gdGhlIGZpbGU7IG9yCisKKwkgICAoYykgVGhlIGNvbnRyaWJ1dGlvbiB3YXMgcHJvdmlkZWQgZGlyZWN0bHkgdG8gbWUgYnkgc29tZSBvdGhlcgorCSAgICAgICBwZXJzb24gd2hvIGNlcnRpZmllZCAoYSksIChiKSBvciAoYykgYW5kIEkgaGF2ZSBub3QgbW9kaWZpZWQKKwkgICAgICAgaXQuCisKKwkgICAoZCkgSSB1bmRlcnN0YW5kIGFuZCBhZ3JlZSB0aGF0IHRoaXMgcHJvamVjdCBhbmQgdGhlIGNvbnRyaWJ1dGlvbgorCSAgICAgICBhcmUgcHVibGljIGFuZCB0aGF0IGEgcmVjb3JkIG9mIHRoZSBjb250cmlidXRpb24gKGluY2x1ZGluZworCSAgICAgICBhbGwgcGVyc29uYWwgaW5mb3JtYXRpb24gSSBzdWJtaXQgd2l0aCBpdCwgaW5jbHVkaW5nIG15CisJICAgICAgIHNpZ24tb2ZmKSBpcyBtYWludGFpbmVkIGluZGVmaW5pdGVseSBhbmQgbWF5IGJlIHJlZGlzdHJpYnV0ZWQKKwkgICAgICAgY29uc2lzdGVudCB3aXRoIHRoaXMgcHJvamVjdCBvciB0aGUgb3BlbiBzb3VyY2UgbGljZW5zZShzKQorCSAgICAgICBpbnZvbHZlZC4KKworCSAgVGhlbiB5b3UganVzdCBhZGQgYSBsaW5lIGxpa2U6CisKKwkgICAgICAgU2lnbmVkLW9mZi1ieTogUmFuZG9tIEogRGV2ZWxvcGVyIDxyYW5kb21AZGV2ZWxvcGVyLmV4YW1wbGUub3JnPgorCisJICBVc2UgeW91ciByZWFsIG5hbWUgKHNvcnJ5LCBubyBwc2V1ZG9ueW1zIG9yIGFub255bW91cyBjb250cmlidXRpb25zLikKKworCSogTmV4dCBhIHNpbmdsZSBsaW5lIGJlZ2lubmluZyB3aXRoIHRocmVlIGh5cGhlbi1taW51cyBjaGFyYWN0ZXJzICgtLS0pCisJICBhbmQgbm90aGluZyBlbHNlLgorCisJKiBGb2xsb3dlZCBieSB0aGUgdW5pZmllZCBkaWZmIHBhdGNoLgorCisJTm90ZTogdGhlIG1haWxpbmcgbGlzdCB3aWxsIHJlamVjdCBjZXJ0YWluIGNvbnRlbnQuIFNlZSAuLi9SRUFETUUuCisKK0NvZGluZyBTdHlsZQorCisJKiB0aGUgcHJlZmVycmVkIGNvZGluZyBzdHlsZSBpcyBiYXNlZCBvbiB0aGUgbGludXgga2VybmVsIGNvZGluZy1zdHlsZS4KKwkgIEF2YWlsYWJsZSBoZXJlOgorCisJaHR0cDovL2dpdC5rZXJuZWwub3JnL2NnaXQvbGludXgva2VybmVsL2dpdC90b3J2YWxkcy9saW51eC5naXQvcGxhaW4vRG9jdW1lbnRhdGlvbi9wcm9jZXNzL2NvZGluZy1zdHlsZS5yc3QKKworCSogdXNlICdGSVhNRTonIHdpdGggYSBnb29kIGRlc2NyaXB0aW9uLCBpZiB5b3Ugd2FudCB0byBpbmZvcm0gb3RoZXJzCisJICB0aGF0IHNvbWV0aGluZyBpcyBub3QgcXVpdGUgcmlnaHQsIGFuZCB5b3UgYXJlIHVud2lsbGluZyB0byBmaXggdGhlCisJICBpc3N1ZSBpbiB0aGUgc3VibWl0dGVkIGNoYW5nZS4KKworCSogZG8gbm90IHVzZSBgZWxzZScgYWZ0ZXIgbm9uLXJldHVybmluZyBmdW5jdGlvbnMuIEZvcgorCSAgZXhhbXBsZToKKworCSAgaWYgKHRoaXMpCisJCWVycihFWElUX0ZBSUwsICJ0aGlzIGZhaWxlZCIpOworCSAgZWxzZQorCQllcnIoRVhJVF9GQUlMLCAidGhhdCBmYWlsZWQiKTsKKworCSAgSXMgd3JvbmcgYW5kIHNob3VsZCBiZSB3cml0dGVuOgorCisJICBpZiAodGhpcykKKwkJZXJyKEVYSVRfRkFJTCwgInRoaXMgZmFpbGVkIik7CisJICBlcnIoRVhJVF9GQUlMLCAidGhhdCBmYWlsZWQiKTsKKworCSogd2hlbiB5b3UgdXNlICdpZicgc2hvcnQtc2hvcnRoYW5kIG1ha2Ugc3VyZSBpdCBkb2VzIG5vdCB3cmFwIGludG8KKwkgIG11bHRpcGxlIGxpbmVzLiBJbiBjYXNlIHRoZSBzaG9ydGhhbmQgZG9lcyBub3QgbG9vayBnb29kIG9uIG9uZSBsaW5lCisJICB1c2UgdGhlIG5vcm1hbCAiaWYgKCkgZWxzZSIgc3ludGF4LgorCitPcHRpb25zCisKKwkqIFRoZSBydWxlIG9mIHRodW1iIGZvciBvcHRpb25zIGlzIHRoYXQgb25jZSB0aGV5IGV4aXN0LCB5b3UgbWF5IG5vdAorCSAgY2hhbmdlIHRoZW0sIG5vciBjaGFuZ2UgaG93IHRoZXkgd29yaywgbm9yIHJlbW92ZSB0aGVtLgorCisJKiBUaGUgZm9sbG93aW5nIG9wdGlvbnMgYXJlIHdlbGwta25vd24sIGFuZCBzaG91bGQgbm90IGJlIHVzZWQgZm9yIGFueQorCSAgb3RoZXIgcHVycG9zZToKKworCQktaCwgLS1oZWxwICAgICBkaXNwbGF5IHVzYWdlIGFuZCBleGl0CisJCS1WLCAtLXZlcnNpb24gIGRpc3BsYXkgdmVyc2lvbiBhbmQgZXhpdAorCisJKiBTb21lIGNvbW1hbmRzIHVzZSBwZWN1bGlhciBvcHRpb25zIGFuZCBhcmd1bWVudHMuIFRoZXNlIHdpbGwgY29udGludWUKKwkgIHRvIGJlIHN1cHBvcnRlZCwgYnV0IGFueXRoaW5nIGxpa2UgdGhlbSB3aWxsIG5vdCBiZSBhY2NlcHRlZCBhcyBuZXcKKwkgIGFkZGl0aW9ucy4gQSBzaG9ydCBsaXN0IG9mIGV4YW1wbGVzOgorCisJCUNoYXJhY3RlcnMgb3RoZXIgdGhhbiAnLScgdG8gc3RhcnQgYW4gb3B0aW9uLiBTZWUgJysnIGluICdtb3JlJy4KKworCQlVc2luZyBhIG51bWJlciBhcyBhbiBvcHRpb24uIFNlZSAnLTxudW1iZXI+JyBpbiAnbW9yZScuCisKKwkJTG9uZyBvcHRpb25zIHRoYXQgc3RhcnQgd2l0aCBhIHNpbmdsZSAnLScuIFNlZSAnc2V0dGVybScuCisKKwkJJy0/JyBpcyBub3QgYSBzeW5vbnltIGZvciAnLS1oZWxwJywgYnV0IGlzIGFuIHVua25vd24gb3B0aW9uCisJCXJlc3VsdGluZyBpbiBhIHN1Z2dlc3Rpb24gdG8gdHJ5IC0taGVscCBkdWUgdG8gYSBnZXRvcHQgZmFpbHVyZS4KKworVmFyaW91cyBOb3RlcworCisJKiB1dGlsLWxpbnV4IGRvZXMgbm90IHVzZSBrZXJuZWwgaGVhZGVycyBmb3IgZmlsZSBzeXN0ZW0gc3VwZXIKKwkgIGJsb2NrcyBzdHJ1Y3R1cmVzLgorCisJKiBwYXRjaGVzIHJlbHlpbmcgb24ga2VybmVsIGZlYXR1cmVzIHRoYXQgYXJlIG5vdCBpbiBMaW51cyBUb3J2YWxkcydzCisJICB0cmVlIGFyZSBub3QgYWNjZXB0ZWQuCisKK1N0YW5kYXJkcyBDb21wbGlhbmNlCisKKwlTb21lIG9mIHRoZSBjb21tYW5kcyBtYWludGFpbmVkIGluIHRoaXMgcGFja2FnZSBoYXZlIE9wZW4gR3JvdXAKKwlyZXF1aXJlbWVudHMuIFRoZXNlIGNvbW1hbmRzIGFyZToKKworCQljYWwKKwkJY29sCisJCWlwY3JtCisJCWlwY3MKKwkJa2lsbAorCQlsaW5lCisJCWxvZ2dlcgorCQltZXNnCisJCW1vcmUKKwkJbmV3Z3JwCisJCXBnCisJCXJlbmljZQorCisJSWYgeW91IGNoYW5nZSB0aGVzZSB0b29scyBwbGVhc2UgbWFrZSBzdXJlIGl0IGRvZXMgbm90IGNyZWF0ZSBhIGNvbmZsaWN0CisJd2l0aCB0aGUgbGF0ZXN0IHN0YW5kYXJkLiBGb3IgZXhhbXBsZSwgaXQgaXMgbm90IHJlY29tbWVuZGVkIHRvIGFkZAorCXNob3J0IGNvbW1hbmQgbGluZSBvcHRpb25zIGJlZm9yZSB0aGV5IGFyZSBwYXJ0IG9mIHRoZSBzdGFuZGFyZC4KKwlJbnRyb2R1Y2luZyBuZXcgbG9uZyBvcHRpb25zIGlzIGFjY2VwdGFibGUuCisKKwkJVGhlIFNpbmdsZSBVTklYKFRNKSBTcGVjaWZpY2F0aW9uLCBWZXJzaW9uIDIKKwkJQ29weXJpZ2h0IChDKSAxOTk3IFRoZSBPcGVuIEdyb3VwCisKKwkJaHR0cDovL3B1YnMub3Blbmdyb3VwLm9yZy9vbmxpbmVwdWJzLzc5MDg3OTkveGN1aXguaHRtbAorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvLWRlYnVnLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8tZGVidWcudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5MzZlYjUKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2hvd3RvLWRlYnVnLnR4dApAQCAtMCwwICsxLDc0IEBACitEZWJ1Z2dpbmcgdXRpbC1saW51eCBwcm9ncmFtcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSG93IHRvIGRlYWwgbGlidG9vbAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitUaGVyZSBhcmUgY29uc2lkZXJhdGlvbnMgdG8gYmUgbWFkZSB3aGVuIHByb2ZpbGluZyBvciBkZWJ1Z2dpbmcgc29tZSBwcm9ncmFtcworZm91bmQgaW4gdGhlIHV0aWwtbGludXggcGFja2FnZS4gQmVjYXVzZSB3cmFwcGVyIHNjcmlwdHMgYXJlIHVzZWQgZm9yIHRoZQorYmluYXJpZXMgdG8gbWFrZSBzdXJlIGFsbCBsaWJyYXJ5IGRlcGVuZGVuY2llcyBhcmUgbWV0LCB5b3UgY2Fubm90IHVzZSB0b29scworc3VjaCBhcyBnZGIgb3IgdmFsZ3JpbmQgZGlyZWN0bHkgd2l0aCB0aGVtLgorCitMZXQncyB0YWtlIGZvciBleGFtcGxlIHRoZSBtb3VudCBjb21tYW5kOgorCisJJD4gY2QgL3BhdGgvdG8vdXRpbC1saW51eAorCSQ+IGZpbGUgbW91bnQvbW91bnQKKwltb3VudC9tb3VudDogQm91cm5lLUFnYWluIHNoZWxsIHNjcmlwdCB0ZXh0IGV4ZWN1dGFibGUKKworVGhlIGJpbmFyeSBpdHNlbGYgaXMgbG9jYXRlZCBpbiB0aGUgbW91bnQvLmxpYnMvIGRpcmVjdG9yeToKKworCSQ+IGZpbGUgbW91bnQvLmxpYnMvbW91bnQKKwltb3VudC8ubGlicy9tb3VudDogRUxGIDY0LWJpdCBMU0IgZXhlY3V0YWJsZSwgeDg2LTY0LCB2ZXJzaW9uIDEgXAorCShTWVNWKSwgZHluYW1pY2FsbHkgbGlua2VkICh1c2VzIHNoYXJlZCBsaWJzKSBbLi4uXQorCitXaGVuIHRoaXMgY29tbWFuZCBpcyBydW4sIHRoZXJlJ3MgYSBsaWJyYXJ5IGRlcGVuZGVuY3kgZXJyb3I6CisKKwkkPiBtb3VudC8ubGlicy9tb3VudAorCW1vdW50Ly5saWJzL21vdW50OiAvbGliL2xpYmJsa2lkLnNvLjE6IHZlcnNpb24gYEJMS0lEXzIuMjAnIG5vdCBmb3VuZCBcCisJKHJlcXVpcmVkIGJ5IG1vdW50Ly5saWJzL21vdW50KQorCitUbyBvdmVyY29tZSB0aGlzIHdlIG5lZWQgc2V0IHRoZSBMRF9MSUJSQVJZX1BBVEggdmFyaWFibGUgdG8gcmVhZCB0aGUgcGF0aCBvZgordGhlIHNoYXJlZCBsaWIgZm91bmQgaW4gdGhlIHNvdXJjZXMsIGFuZCBub3Qgc3lzdGVtLXdpZGU6CisKKwkkPiBleHBvcnQgTERfTElCUkFSWV9QQVRIPSRQV0QvbGliYmxraWQvc3JjLy5saWJzLzokTERfTElCUkFSWV9QQVRICisKK05vdyBleHRlcm5hbCBkZWJ1Z2dpbmcgdG9vbHMgY2FuIGJlIHJ1biBvbiB0aGUgYmluYXJ5LgorCitIYXBweSBoYWNraW5nIQorRGF2aWRsb2hyIEJ1ZXNvLCBBdWd1c3QgMjAxMQorCisKK1RoZSBsaWJtb3VudCAmIGxpYmJsa2lkCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCitCb3RoIG9mIHRoZSBsaWJyYXJpZXMgY2FuIGJlIGRlYnVnZ2VkIGJ5IHNldHRpbmcgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUKK2NvbnNpc3Rpbmcgb2YgYSBudW1iZXIuIFRoZSBudW1iZXIgd2lsbCBiZSB1c2VkIGFzIGEgYml0IG1hc2ssIHNvIHRoZSBtb3JlIDEgdGhlCitoaWdoZXIgdGhlIGRlYnVnZ2luZyBsZXZlbC4gU2VhcmNoIGZvciBgREVCVUcnIGZyb20gZmlsZXMKKworCWxpYmJsa2lkL3NyYy9ibGtpZFAuaAorCWxpYm1vdW50L3NyYy9tb3VudFAuaAorCit0byBzZWUgd2hhdCB0aGUgZGlmZmVyZW50IGJpdHMgbWVhbi4gQXQgdGhlIHRpbWUgb2Ygd3JpdGluZyB0aGlzIHRoZSBmb2xsb3dpbmcKK2VuYWJsZWQgZnVsbCBkZWJ1Zy4KKworCWV4cG9ydCBMSUJCTEtJRF9ERUJVRz1hbGwKKwlleHBvcnQgTElCTU9VTlRfREVCVUc9YWxsCisJZXhwb3J0IExJQkZESVNLX0RFQlVHPWFsbAorCWV4cG9ydCBMSUJTTUFSVENPTFNfREVCVUc9YWxsCisKK1RoZSBsaWJibGtpZCByZWFkcyBieSBkZWZhdWx0IC9ldGMvYmxraWQuY29uZiB3aGljaCBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlIEJMS0lEX0NPTkYuIFNlZSBtYW51YWwgbGliYmxraWQvbGliYmxraWQuMyBmb3IgZGV0YWlscworYWJvdXQgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS4KKworQmxvY2sgZGV2aWNlIGluZm9ybWF0aW9uIGlzIG5vcm1hbGx5IGtlcHQgaW4gYSBjYWNoZSBmaWxlIChzZWUgYmxraWQgbWFuIHBhZ2UKK2ZvciBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjYWNoZSBmaWxlIGxvY2F0aW9uKSB0aGF0IGNhbiBiZSBvdmVycmlkZGVuIGJ5Cit0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQkxLSURfRklMRS4KKworVG8gbGlibW91bnQgdXNlcyB0aHJlZSBwYXRocywgd2hpY2ggY2FuIGJlIG92ZXJyaWRkZW4gYnkgdXNpbmcgZW52aXJvbm1lbnQKK3ZhcmlhYmxlcy4gTm90aWNlIHRoYXQgdGhlc2UgZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBpZ25vcmVkIGZvciBub24tcm9vdAordXNlcnMuCisKKwllbnYgdmFyaWFibGUJCWlmIG5vdCBzZXQgZGVmYXVsdHMgdG8KKwlMSUJNT1VOVF9GU1RBQgkJL2V0Yy9mc3RhYgorCUxJQk1PVU5UX01UQUIJCS9ldGMvbXRhYgorCUxJQk1PVU5UX1VUQUIJCS9ydW4vbW91bnQvdXRhYiBvciAvZGV2Ly5tb3VudC91dGFiCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvLW1hbi1wYWdlLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8tbWFuLXBhZ2UudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU1NzM0YWYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2hvd3RvLW1hbi1wYWdlLnR4dApAQCAtMCwwICsxLDE4OCBAQAorLlwiIFRoaXMgaXMgYSB1dGlsLWxpbnV4IG1hbnVhbCBwYWdlIGV4YW1wbGUgaW4gdHJvZmYgZm9ybWF0LgorLlwiCisuXCIgVGhlIC5USCBtYWNybyBleHBlY3RzIHRoZSBmb2xsb3dpbmcgYXJndW1lbnRzOgorLlwiCXRpdGxlIHNlY3Rpb24gZGF0ZSBmb290ZXIgaGVhZGVyCisuXCIgVGhlIHRpdGxlIGlzIHVzdWFsbHkgdGhlIGNvbW1hbmQgbmFtZS4KKy5cIiBUaGUgc2VjdGlvbiBtdXN0IG1hdGNoIHRoZSBmaWxlbmFtZSBleHRlbnNpb24uCisuXCIgVGhlIGRhdGUgaXMgdGhlIG1vbnRoIGFuZCB5ZWFyIHdoZW4gdGhlIGxhc3QgdXBkYXRlIGhhcHBlbmVkLgorLlwiIFRoZSBmb290ZXIgaXMgZml4ZWQgdG8gInV0aWwtbGludXgiLgorLlwiIFRoZSBoZWFkZXIgaXMgYSB0ZXh0dWFsIGRlc2NyaXB0aW9uIG9mIHRoZSBzZWN0aW9uOgorLlwiCTEgIlVzZXIgQ29tbWFuZHMiCisuXCIJMiAiU3lzdGVtIGNhbGxzIgorLlwiCTMgIlByb2dyYW1tZXIncyBNYW51YWwiCisuXCIJNCAiU3BlY2lhbCBGaWxlcyIKKy5cIgk1ICJGaWxlIEZvcm1hdHMiCisuXCIJNiAiR2FtZXMiCisuXCIJNyAiTWlzY2VsbGFuZWEiCisuXCIJOCAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlwiCisuXCIgUGxlYXNlIHJlYWQgYG1hbiA3IGdyb2ZmX21hbicgdG8gc2VlIGhvdyB0byB1c2UgdGhlIHZhcmlvdXMgbWFjcm9zLgorLlwiCisuVEggRVhBTVBMRSAiMSIgIkFwcmlsIDIwMTYiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitleGFtcGxlIFwtIGEgdXRpbC1saW51eCBtYW4tcGFnZSBob3d0bworLlNIIFNZTk9QU0lTCisuQiBleGFtcGxlCitbb3B0aW9uc10KKy5JIGFyZ3VtZW50CisuU0ggREVTQ1JJUFRJT04KK0VhY2ggbWFudWFsIHBhZ2UgbmVlZHMgc29tZSBzb3J0IG9mIGRlc2NyaXB0aW9uIG9mIHRoZSBjb21tYW5kLgorV3JpdGUgc3VjaCBoZXJlLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1uXGZSLCBcZkJcLVwtbm9cLWFyZ3VtZW50XGZSCitUaGlzIG9wdGlvbiBkb2VzIG5vdCB1c2UgYW4gYXJndW1lbnQuCisuVFAKK1xmQlwtXC1vcHRpb25hbFxmUltcZkk9YXJndW1lbnRcZlJdCitUZWxsIGluIHRoaXMgZGVzY3JpcHRpb24gdGhhdCB0aGUKKy5JIGFyZ3VtZW50CitpcyBvcHRpb25hbCwgYW5kIHdoYXQgaGFwcGVucyB3aGVuIGl0IGlzIG9yIGlzIG5vdCBnaXZlbi4gIE5vdGljZSB0aGF0IHRoZSB3b3JkCisuSSBhcmd1bWVudAoraXMgbm90IGFiYnJldmlhdGVkIGFzIGlzIGN1c3RvbWFyeSBpbiB0aGUgdXNhZ2UgdGV4dC4gIEZvciBleGFtcGxlLCB3aGVuIHRoZQordXNhZ2UgdGV4dCB1c2VzIHRoZSBhcmd1bWVudAorLklSIG51bSAsCit0aGUgbWFudWFsIHBhZ2Ugc2hvdWxkIHNheQorLklSIG51bWJlciAuCisuSVAKK05vdGljZSB0aGF0IGFmdGVyIHJlbGVhc2UgdjIuMjggaXQgd2FzIGRlY2lkZWQgdGhhdCBpbnRyb2R1Y2luZyBuZXcgb3B0aW9ucwordGFraW5nIG9wdGlvbmFsIGFyZ3VtZW50cyBzaG91bGQgYmUgbGltaXRlZCB0byBsb25nLW9ubHkgb3B0aW9ucy4gIFRoaXMgaXMKK2RvbmUgcHJpbWFyaWx5IHRvIGF2b2lkIHByb2JsZW1hdGljIGJlaGF2aW91ciBvZiBzaG9ydCBvcHRpb25zLiAgSW1hZ2luZSBmb3IKK2V4YW1wbGUgbm9ybWFsIG9wdGlvbgorLkIgXC1uCithbmQgb3B0aW9uYWwgb3B0aW9uCisuQlIgXC1vIC4KK09uZSB3aWxsIGV4cGVjdAorLkIgY29tbWFuZCBcIFwtbm8KK2FuZAorLkIgY29tbWFuZCBcIFwtb24KK3RvIGJlIHRoZSBzYW1lLCBidXQgaW4gZmFjdCB0aGUgZm9ybWVyIGlzIHR3byBzZXBhcmF0ZSBvcHRpb25zIHdoaWxlIHRoZQorbGF0ZXIgd2lsbCB1c2UKKy5CIG4KK2FzIG9wdGlvbiBhcmd1bWVudCBvZgorLkJSIC1vIC4KK1NvIGl0IGlzIGJlc3QgdG8gYXZvaWQgc2hvcnQgZm9ybXMgb2Ygb3B0aW9uYWwgb3B0aW9ucyBhbHRvZ2V0aGVyLgorLlRQCitcZkJcLXJcZlIsIFxmQlwtXC1yZXF1aXJlZFxmUiBcZklhcmd1bWVudFxmUgorVGVsbCBpbiB0aGlzIGRlc2NyaXB0aW9uIHRoYXQgdGhlCisuSSBhcmd1bWVudAoraXMgcmVxdWlyZWQuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggTk9URVMKK1RlbGwgZGV0YWlscyB0aGF0IHVzZXJzIG1pZ2h0IG5lZWQgdG8ga25vdy4gIEZvciBleGFtcGxlLCBrZXJuZWwgZmVhdHVyZSBvcgordmVyc2lvbiByZXF1aXJlbWVudHMuCisuUFAKK1RoZSBtYW4tcGFnZSBzb3VyY2UgbGluZXMgc2hvdWxkIG5vdCBleGNlZWQgODAgY2hhcmFjdGVycyBpbiBsZW5ndGguCisuUFAKK0RvIG5vdCBsZWF2ZSBlbXB0eSBsaW5lcyBpbiB0aGUgZ3JvZmYgaW5wdXQuICBJZiB5b3UgbmVlZCBhIGJyZWFrIG9yIGEgbmV3CitwYXJhZ3JhcGgsIHVzZSB0aGUgYXBwcm9wcmlhdGUgZ3JvZmYgbWFjcm9zLiAgU2VlCisuQlIgZ3JvZmZfbWFuICg3KQoraG93IHRvIHVzZSBtYW4gcGFnZSBtYWNyb3MuCisuUFAKK1RoZSB1c2UgY2FzZXMgb2YKKy5JIGl0YWxpYworKHdoaWNoIGlzIHVuZGVybGluZWQgb24gYSB0ZXJtaW5hbCkgYW5kCisuQiBib2xkCithcmUgbm90IHN0cmljdGx5IGRlZmluZWQuICBUaGUgbWFpbiBjb252ZW50aW9uIGlzIHRoYXQKKy5JIHN5bWJvbGljIGFyZ3VtZW50cwordXNlIGl0YWxpYywgYW5kCisuQiBjb21tYW5kcworYW5kCisuQiBsaXRlcmFsIGFyZ3VtZW50cwordXNlIGJvbGQsIGFuZAorLkkgb3RoZXIgaGlnaGxpZ2h0cwordXNlCisuQiBlaXRoZXIKK29uZS4KKy5cIgorLlwiIFRoZSBtYW51YWwgcGFnZSBjb21tZW50cyBhcmUgdW5kZXJ2YWx1ZWQgd2F5IG9mIGFkZGluZyBjbGFyaWZpY2F0aW9ucworLlwiIHF1aXRlIG5vdCBiZWxvbmcgdG8gdGhlIG1hbnVhbCwgcXVlc3Rpb25zLCBUT0RPIGl0ZW1zIGV0Yy4gIEZlZWwgZnJlZQorLlwiIHRvIHVzZSB0aGVtLgorLlwiCisuUFAKK1doZW4gaW4gdGhlIHNvdXJjZSBhIG5ldyBzZW50ZW5jZSBiZWdpbnMgc29tZXdoZXJlIG1pZGxpbmUsIGl0IHNob3VsZCB1c2UgYQorZG91YmxlIHNwYWNlIGJlZm9yZSBpdHMgaW5pdGlhbCBsZXR0ZXIuICBUaGlzIGlzIGRvbmUgYmVjYXVzZSBcZkJncm9mZlxmUgordXNlcyBhIGRvdWJsZSBzcGFjZSBhZnRlciBhIHNlbnRlbmNlIHdoZW4gdGhpcyBzZW50ZW5jZSBlbmRzIGF0IHRoZSBlbmQgb2YKK2FuIGlucHV0IGxpbmUgYW5kIHRoZSBuZXh0IHNlbnRlbmNlIGJlZ2lucyBvbiB0aGUgbmV4dCBsaW5lLgorVW5sZXNzIGEgZG91YmxlIHNwYWNlIGlzIHVzZWQgYmVmb3JlIG90aGVyIHNlbnRlbmNlIHN0YXJ0cyBhcyB3ZWxsLCB0aGUKK3NwYWNpbmcgc3R5bGUgd2lsbCBiZSBpbmNvbnNpc3RlbnQuCisuU0ggRU5WSVJPTk1FTlQKK1RlbGwgd2hpY2ggZW52aXJvbm1lbnQgdmFyaWFibGVzIGFmZmVjdCwgYW5kIGhvdywgdGhlIGV4ZWN1dGlvbiBvZiB0aGUgY29tbWFuZC4KKy5UUAorLkIgRVhBTVBMRV9QQVRICitDb25maWd1cmF0aW9uIGZpbGUgcGF0aC4gIE5vdGljZSB0aGF0IHdlbGwta25vd24gZW52aXJvbm1lbnQgdmFyaWFibGVzLCBzdWNoIGFzCisuQlIgSE9NRSAsCitkbyBub3QgbmVlZCBleHBsYW5hdGlvbi4KKy5TSCBGSUxFUworVGVsbCB3aGljaCBmaWxlKHMpIHRoZSBjb21tYW5kIHVzZXMuCisuVFAKKy5CICRFWEFNUExFX1BBVEgKKy5UUQorLkIgJEhPTUUvLmV4YW1wbGUuY29uZgorLlRRCisuQiAvZXRjL2V4YW1wbGUuY29uZgorV2hhdCBhcmUgdGhlc2UgZmlsZXMsIGluIHdoaWNoIG9yZGVyIGFyZSB0aGV5IHJlYWQsIGFuZCB3aWxsIHRoZSBldmFsdWF0aW9uCitlbmQgb3IgY29udGludWUgaWYgb25lIG9mIHRoZW0gaXMgZm91bmQuCitJbiBjYXNlIHRoZSBleHBsYW5hdGlvbiBpcyBub3Qgc2ltcGxlLCB3cml0ZSBhIHNlcGFyYXRlICJTcGVjaWFsIEZpbGVzIgorbWFudWFsIHBhZ2UgdGhhdCB0ZWxscyBhYm91dCBzeW50YXgsIG1lYW5pbmcgb2Yga2V5LXZhbHVlIHNldHRpbmdzLCBldGMuCitUaGlzICJTcGVjaWFsIEZpbGVzIiBtYW51YWwgcGFnZSB0aGVuIG5lZWRzIHRvIGJlIHJlZmVycmVkIGluIHRoZQorLkIgU0VFIEFMU08KK3NlY3Rpb24uCisuVFAKKy5CIC92YXIvbG9nL2V4YW1wbGUubG9nCitBbm90aGVyIGZpbGUuCisuU0ggRVhBTVBMRVMKK1dyaXRlIHR5cGljYWwgYW5kL29yIGNsZXZlciB1c2UgZXhhbXBsZXMgaGVyZS4gIFRoZSBiZWxvdyBleGFtcGxlcyBhcmUgc3R1cGlkLAorYW5kIHlvdSBzaG91bGQgbmV2ZXIgd3JpdGUgdGhlbSBpbiBhIHJlYWwgbWFuIHBhZ2UuCisuVFAKKy5CIGV4YW1wbGUgLWgKK091dHB1dCBoZWxwIHNjcmVlbi4KKy5UUAorLkIgZXhhbXBsZSAtVgorT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24uCisuU0ggIkVYSVQgU1RBVFVTIgorVGhpcyBzZWN0aW9uIGNhbiBiZSBsZWZ0IG91dCBpZiB0aGUgY29tbWFuZCBoYXMgb25seSB0d28gcmV0dXJuIHZhbHVlcywKKy5CIDAKK2ZvciBzdWNjZXNzIGFuZAorLkIgMQorZm9yIGZhaWx1cmUuICBVc2Ugb2YKKy5CIHN5c2V4aXRzLmgKK3JldHVybiB2YWx1ZXMgbXVzdCBiZSBtZW50aW9uZWQsIGJ1dCBkb2VzIG5vdCBuZWVkIHRvIGJlIGV4cGxhaW5lZC4KKy5QUAorLlJTCisuUEQgMAorLlRQCisuQiAwCitzdWNjZXNzCisuVFAKKy5CIDEKK2ZhaWx1cmUKKy5UUAorLkIgMgordGVsbCB3aHkgdGhpcyBjb3VsZCBoYXBwZW4KKy5UUAorLkIgMworZXRjCisuUEQKKy5SRQorLlNIIEFVVEhPUlMKKy5NVCByamhAXDpleGFtcGxlLm9yZworUmFuZG9tIEouIEhhY2tlcgorLk1FCisuYnIKKy5NVCBmcmVkQFw6ZXhhbXBsZS5jb20KK0ZyZWQgRm9vYmFyCisuTUUKKy5TSCAiU0VFIEFMU08iCisuQlIgZ3JvZmZfbWFuICg3KSwKKy5CUiBmb28gKDEpLAorLkJSIGJhciAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBleGFtcGxlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvLXB1bGwtcmVxdWVzdC50eHQgYi9Eb2N1bWVudGF0aW9uL2hvd3RvLXB1bGwtcmVxdWVzdC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2NhZTcyMgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8tcHVsbC1yZXF1ZXN0LnR4dApAQCAtMCwwICsxLDI4NiBAQAorSW50cm9kdWN0aW9uCistLS0tLS0tLS0tLS0KKworVGhlc2UgaW5zdHJ1Y3Rpb25zIGFyZSB3cm90ZSB0byBjb250cmlidXRvcnMgd2hvIHRlbmQgdG8gc2VuZCBsb3RzIG9mCitjaGFuZ2VzLiAgVGhlIGJhc2ljcyBmcm9tIGhvd3RvLWNvbnRyaWJ1dGUudHh0IGZpbGUgYXJlIGFzc3VtZWQgdG8gYmUKK3JlYWQgYW5kIHVuZGVyc3Rvb2QgYnkgdGhlIHRpbWUgdGhpcyBmaWxlIGJlY29tZXMgdXNlZnVsLgorCisKK1NldHVwCistLS0tLQorCisxLiBGaW5kIGEgZ2l0IHNlcnZlciB0aGF0IGNhbiBiZSByZWFjaGVkIGZyb20gYW55d2hlcmUgaW4gaW50ZXJuZXQKK2Fub255bW91c2x5LiAgR2l0aHViIGlzIGZvciBleGFtcGxlIGEgcG9wdWxhciBjaG9pY2UuCisKKzIuIENyZWF0ZSB5b3VyIG93biB1dGlsLWxpbnV4IGNvbnRyaWJ1dG9yIHJlcG9zaXRvcnksIGFuZCBwdXNoIGEgdXBzdHJlYW0KK2Nsb25lIHRvIHRoZXJlLgorCiszLiBJbiB0aGVzZSBpbnN0cnVjdGlvbnMgdGhlIHVwc3RyZWFtIHJlbW90ZSByZXBvc2l0b3J5IGlzIGNhbGxlZAorJ29yaWdpbicgYW5kIHRoZSAneW91cmdpdCcgaXMgdGhlIGNvbnRyaWJ1dG9yIHJlcG8uCisKK2NkIH4vcHJvamVjdHMKK2dpdCBjbG9uZSBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL3V0aWxzL3V0aWwtbGludXgvdXRpbC1saW51eC5naXQKK2NkIHV0aWwtbGludXgKK2dpdCByZW1vdGUgYWRkIHlvdXJnaXQgZ2l0QGdpdGh1Yi5jb206eW91cmxvZ2luL3V0aWwtbGludXguZ2l0CitnaXQgcHVzaCB5b3VyZ2l0CisKKworQnJhbmNoZXMKKy0tLS0tLS0tCisKKzEuIFVzZSB0aGUgbmFtZSBvZiB0aGUgc3Vic3lzdGVtLCBzdWNoIGFzIGJsa2lkLCBsaWJtb3VudCwgbWlzYy11dGlscywKK3RoYXQgaXMgdGhlIGNvbW1vbiB0aGluZyBmb3IgY2hhbmdlcyBpbiB0aGUgY2hhbmdlIHNldC4KKworMi4gSWYgdGhlIGNoYW5nZXMgZG8gbm90IGhhdmUgYW55dGhpbmcgaW4gY29tbW9uIHVzZSBzb21lIHJhbmRvbSBuYW1lLAorc3VjaCBhcyBZWVlZLU1NLUREIG9mIHRoZSBmaXJzdCBwYXRjaCBpbiB0aGUgYnJhbmNoLiAgTmFtZSBvZiB0aGUgYnJhbmNoCitkb2VzIG5vdCByZWFsbHkgbWF0dGVyIHRoYXQgbXVjaCwgd2l0aCBvbmUgZXhjZXB0aW9uLgorCiszLiBEbyBub3QgdXNlICdtYXN0ZXInIGJyYW5jaCB0byB5b3VyIGNvbnRyaWJ1dGlvbnMuICBUaGUgJ21hc3RlcicgYnJhbmNoCitpcyBuZWVkZWQgdG8gc3RheSB1cCB0byBkYXRlIHdpdGggdXBzdHJlYW0uCisKKzQuIFdoZW4gZG9uZSBwdXNoIHlvdXIgYnJhbmNoIHRvIHlvdXIgcmVtb3RlIGdpdCBzZXJ2ZXIuCisKK2dpdCBjaGVja291dCBtYXN0ZXIKK2dpdCBicmFuY2ggdGV4dHVhbAorIyBzcGVudCBoZXJlIG1vc3Qgb2YgdGhlIGVmZm9ydAorZ2l0IHB1c2ggeW91cmJyYW5jaCB0ZXh0dWFsOnRleHR1YWwKKworNS4gRG8gbm90IHdvcnJ5IGlmIHlvdSB1c2VkIHN0dXBpZC1hbmQtd3JvbmcgYnJhbmNoIG5hbWUsIGl0IGNhbiBiZSBmaXhlZAorYmVmb3JlIHN1Ym1pc3Npb24uCisKK2dpdCBicmFuY2ggLW0gc3R1cGlkLWFuZC13cm9uZyBicmlsbGlhbnQKK2dpdCBwdXNoIHlvdXJnaXQgYnJpbGxpYW50OmJyaWxsaWFudCA6c3R1cGlkLWFuZC13cm9uZworCisKK1N0YXkgdXAgdG8gZGF0ZQorLS0tLS0tLS0tLS0tLS0tCisKKzEuIEVuc3VyZSB5b3UgaGF2ZSB0aGUgbGF0ZXN0IGZyb20gYWxsIHJlbW90ZSByZXBvc2l0b3JpZXMuCisKKzIuIE1lcmdlIHVwc3RyZWFtICdtYXN0ZXInIGJyYW5jaCBpZiBuZWVkZWQgdG8geW91ciBsb2NhbCAnbWFzdGVyJy4KKworMy4gUmViYXNlIHlvdXIgd29ya2luZyBjb250cmlidXRpb24gYnJhbmNoZXMuCisKKzQuIFB1c2ggdGhlIGNoYW5nZXMgdG8gJ3lvdXJnaXQnLgorCitnaXQgZmV0Y2ggLS1hbGwKK2dpdCBsb2cgLS1ncmFwaCAtLWRlY29yYXRlIC0tcHJldHR5PW9uZWxpbmUgLS1hYmJyZXYtY29tbWl0IC0tYWxsCisKKzUuIElmIHlvdSBub3RpY2UgdXBzdHJlYW0gaGFzIGNoYW5nZWQgd2hpbGUgeW91IHdlcmUgYnVzeSB3aXRoIHlvdXIKK2NoYW5nZXMgcmViYXNlIG9uIHRvcCBvZiB0aGUgbWFzdGVyLCBidXQgYmVmb3JlIHRoYXQ6CisKKzYuIFB1c2ggYSBiYWNrdXAgb2YgeW91ciBicmFuY2ggJ3RleHR1YWwnIHRvICd5b3VyZ2l0JywgdGhlbgorCitnaXQgY2hlY2tvdXQgbWFzdGVyCitnaXQgbWVyZ2Ugb3JpZ2luL21hc3RlcgorZ2l0IGNoZWNrb3V0IHRleHR1YWwKK2dpdCByZWJhc2UgbWFzdGVyCisKK0lmIHJlYmFzZSByZXBvcnRzIGNvbmZsaWN0cyBmaXggdGhlIGNvbmZsaWN0cy4gIEluIGNhc2UgdGhlIHJlYmFzZQorY29uZmxpY3QgaXMgZGlmZmljdWx0IHRvIGZpeCByZWJhc2UgLS1hYm9ydCBpcyBnb29kIG9wdGlvbiwgb3IgcmVjb3ZlcgorZnJvbSAneW91cmdpdCcsIGVpdGhlciB3YXkgdGhlcmUgaXMgc29tZSBzZXJpb3VzIHJlLXdvcmsgYWhlYWQgd2l0aCB0aGUKK2NoYW5nZSBzZXQuCisKKzcuIEFzc3VtaW5nIHJlYmFzZSB3ZW50IGZpbmUgcHVzaCB0aGUgbGF0ZXN0IHRvICd5b3VyZ2l0Jy4KKworZ2l0IHB1c2ggeW91cmdpdCBtYXN0ZXI6bWFzdGVyCitnaXQgcHVzaCB5b3VyZ2l0IC0tZm9yY2UgdGV4dHVhbDp0ZXh0dWFsCisKK1RoZSBjb250cmlidXRvciBicmFuY2ggdGVuZHMgdG8gbmVlZCAtLWZvcmNlIGV2ZXJ5IG5vdyBhbmQgdGhlbiwgZG9uJ3QgYmUKK2FmcmFpZCB1c2luZyBpdC4KKworOC4gUHVzaCBlcnJvciB3aXRoIG1hc3RlciBicmFuY2gKKworSWYgJ21hc3RlcicgbmVlZHMgLS1mb3JjZSB0aGVuIHNvbWV0aGluZyBpcyByZWFsbHkgbWVzc2VkIHVwLiAgSW4gdGhhdAorY2FzZSBpdCBpcyBwcm9iYWJseSB0aGUgd2lzZSB0byBhYmFuZG9uKCopIGxvY2FsIGNsb25lLCBhbmQgc3RhcnQgYWxsCitvdmVyIGZyb20gY2xvbmluZyB1cHN0cmVhbSBhZ2Fpbi4gIE9uY2UgdGhlIHVwc3RyZWFtIGlzIGNsb25lZCBhZGQgYWdhaW4KKyd5b3VyZ2l0JyByZW1vdGUgYW5kCisKK2dpdCBwdXNoIC0tbWlycm9yIHlvdXJnaXQKKworQnV0IGJlIFdBUk5FRC4gIFRoZSAtLW1pcnJvciB3aWxsIG51a2UgYWxsIG9mIHlvdXIgc3R1ZmYgaGFkIGluCisneW91cmdpdCcsIHRoYXQgY2FuIGNhdXNlIGRhdGEgbG9zcy4gICgqKVNvIGRvbid0IHJlbW92ZSB0aGUgbG9jYWwgY2xvbmUsCitqdXN0IG1vdmUgdGhlIGRpcmVjdG9yeSB0byBicm9rZW4gcmVwb3MgYXJlYS4KKworCitTZW5kaW5nIHB1bGwgcmVxdWVzdAorLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworMS4gV2hlbiB5b3UgYXJlIGhhcHB5IHdpdGggeW91ciBjaGFuZ2VzIHNsZWVwIG92ZXIgbmlnaHQuICBUaGlzIGlzIG5vdCBhCitzcGVlZCBjb21wZXRpdGlvbiwgYW5kIGZvciBzb21lIHJlYXNvbiBsb29raW5nIHRoZSBjaGFuZ2VzIHRoZSBuZXh0IGRheQorb2Z0ZW4gbWFrZXMgb25lIHRvIHJlYWxpemUgaG93IHRoaW5ncyBjb3VsZCBiZSBpbXByb3ZlZC4gIFRoZSBiZXN0IHRoaXMKK3dheSB5b3UgYXZvaWQgY2hhbmdpbmcgdGhlIGNoYW5nZXMgKHRoYXQgaXMgYWx3YXlzIGNvbmZ1c2luZykuCisKKzIuIENoZWNrIHRoZSBuZXh0IGRheSB0aGUgY2hhbmdlcyBjb21waWxlIHdpdGhvdXQgZXJyb3JzIG9yIHdhcm5pbmdzLCBhbmQKK3RoYXQgcmVncmVzc2lvbiB0ZXN0cyBydW4gZmluZS4KKworbWFrZSBjbGVhbiAmJgorbWFrZSAtajMgJiYKK21ha2UgY2hlY2sKKworTm90aWNlIHRoYXQgcmVncmVzc2lvbiB0ZXN0cyB3aWxsIG5vdCBjb3ZlciBhbGwgcG9zc2libGUgY2FzZXMsIHNvIHlvdQorbW9zdCBsaWtlbHkgbmVlZCB0byB1c2UgdGhlIGNvbW1hbmRzLCBmZWF0dXJlcywgYW5kIGZpeGVzIHlvdSBkaWQKK21hbnVhbGx5LgorCiszLiBJZiB5b3UgbmVlZCB0byBjaGFuZ2Ugc29tZXRoaW5nLgorCitnaXQgcmViYXNlIC1pIG1hc3RlcgorIyBjaGFuZ2Ugc29tZXRoaW5nCitnaXQgcHVzaCAtZiB5b3VyZ2l0IHRleHR1YWw6dGV4dHVhbAorCis0LiBBc3N1bWluZyB0aGUgY2hhbmdlcyBsb29rIGdvb2Qgc2VuZCB0aGVtIHRvIG1haWwgbGlzdC4gIFllcywgdGhlIGFsbAorb2YgdGhlbSEgIFNlbmRpbmcgcHVsbCByZXF1ZXN0IHdpdGggZ2l0aHViIGlzIG5vdCB2aXNpYmxlIGZvciBwcm9qZWN0Citjb250cmlidXRvcnMsIGFuZCB0aGV5IHdpbGwgbm90IGhhdmUgY2hhbmdlIHRvIHJldmlldyB5b3VyIGNoYW5nZXMuCisKK1NlbmRpbmcgb25seSB0aGUgcHVsbCByZXF1ZXN0LCBpLmUuLCBub3QgZWFjaCBwYXRjaCwgdG8gbWFpbC1saXN0IGlzIGFsc28KK2JhZC4gIE5vdGhpbmcgaXMgYXMgZ29vZCBhcyBzZWVpbmcgdGhlIGNoYW5nZXMgYXMgdGhleSBhcmUsIGFuZCBiZWluZworYWJsZSB0byBmaW5kIHRoZW0gZnJvbSB3aXRoIHlvdXIgZmF2b3VyaXRlIHdlYiBzZWFyY2ggZW5naW5lIGZyb20KK21haWwtbGlzdCBhcmNoaXZlLiAgT2J2aW91c2x5IHRoZSBwdWxsIHJlcXVlc3QgY29udGVudCBkb2VzIG5vdCBnZXQKK2luZGV4ZWQsIGFuZCB0aGF0IGlzIHdoeSBpdCBpcyB3b3JzZS4KKworZ2l0IGZvcm1hdC1wYXRjaCAtLWNvdmVyLWxldHRlciBtYXN0ZXIuLnRleHR1YWwKK2dpdCByZXF1ZXN0LXB1bGwgdXBzdHJlYW0vbWFzdGVyIGdpdDovL2dpdGh1Yi5jb20veW91cmxvZ2luL3V0aWwtbGludXguZ2l0IHRleHR1YWwgPiB0ZW1wZmlsZQorCitUYWtlIGZyb20gdGhlICd0ZW1wZmlsZScgdGhlIGhlYWRlcjoKKworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorVGhlIGZvbGxvd2luZyBjaGFuZ2VzIHNpbmNlIGNvbW1pdCAxN2JmOWMxYzM5YjRmMzUxNjNlYzVjNDQzYjhiYmQ1ODU3Mzg2ZGRkOgorCisgIGlwY3JtOiBmaXggdXNhZ2UgKDIwMTUtMDEtMDYgMTE6NTU6MjEgKzAxMDApCisKK2FyZSBhdmFpbGFibGUgaW4gdGhlIGdpdCByZXBvc2l0b3J5IGF0OgorCisgIGdpdDovL2dpdGh1Yi5jb20veW91cmxvZ2luL3V0aWwtbGludXguZ2l0IHRleHR1YWwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworYW5kIGNvcHkgcGFzdGUgaXQgdG8gMDAwMC1jb3Zlci1sZXR0ZXIucGF0Y2ggZmlsZSBzb21ld2hlcmUgbmVhciAnQkxVUkIKK0hFUkUnLiAgUmVzdCBvZiB0aGUgJ3JlcXVlc3QtcHVsbCcgb3V0cHV0IHNob3VsZCBiZSBpZ25vcmVkLgorCitJbiBzYW1lIGdvIGZpeCB0aGUgU3ViamVjdDogbGluZSB0byBoYXZlIHJlYXNvbmFibGUgZGVzY3JpcHRpb24sIGZvcgorZXhhbXBsZQorCitTdWJqZWN0OiBbUEFUQ0ggMDAvMTVdIHB1bGw6IHZhcmlvdXMgdGV4dHVhbCBpbXByb3ZlbWVudHMKKworCitGZWVkYmFjayBhbmQgcmVzdWJtaXNzaW9ucworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworMS4gU2luY2UgeW91IHNlbnQgZWFjaCBwYXRjaCB0byBtYWlsLWxpc3QgeW91IGNhbiBzZWUgd2hpY2ggb25lcyBnb3QgdG8KK2JlIHJlc3BvbmRlZC4gIEluIGNhc2UgdGhlIGZlZWRiYWNrIHdpbGwgcmVzdWx0IGluIGNoYW5nZXMgdG8gdGhlCitzdWJtaXNzaW9uIHRoZW4gcmViYXNlLCBwZXJmb3JtIHRoZSBjaGFuZ2VzLCBhbmQgcHVzaCBhZ2FpbiB0byB5b3VyCityZW1vdGUuCisKKyMgeW91IHByb2JhYmx5IHNob3VsZCB1c2UgJ1N0YXkgdXAgdG8gZGF0ZScgaW5zdHJ1Y3Rpb25zIG5vdworZ2l0IGNoZWNrb3V0IHRleHR1YWwKK2dpdCByZWJhc2UgbWFzdGVyIC1pCisjIGVkaXQgc29tZXRoaW5nCitnaXQgYWRkIGZpbGVzCitnaXQgY29tbWl0IC0tYW1lbmQKKyMgQWRkICdSZXZpZXdlZC1ieTonLCAnVGVzdGVkLWJ5OicsICdTaWduZWQtb2ZmLWJ5OicsICdSZWZlcmVuY2U6JywgYW5kCisjIG90aGVyIGxpbmVzIG5lYXIgc2lnbm9mZiB3aGVuIG5lZWRlZC4gIEF0dHJpYnV0aW5nIHRoZSByZXZpZXdlcnMgaXMgYQorIyB2aXJ0dWUsIHRyeSB0byBkbyBpdC4KK2dpdCByZWJhc2UgLS1jb250aW51ZQorZ2l0IHB1c2ggLWYgeW91cmdpdCB0ZXh0dWFsOnRleHR1YWwKKworMi4gU2VuZCBhIG1lc3NhZ2UgdG8gbWFpbC1saXN0IHRoYXQgdGhlIHN1Ym1pdHRlZCBjaGFuZ2UgaGFzIGNoYW5nZWQsIGFuZAordGhhdCB0aGUgbmV3IHZlcnNpb24gY2FuIGJlIGZvdW5kIGZyb20KKworaHR0cHM6Ly9naXRodWIuY29tL3lvdXJsb2dpbi91dGlsLWxpbnV4L2NvbW1pdC8wMTIzNDU2Nzg5YWJjZGVmMDEyMzQ1Njc4OWFiY2RlZjAxMjM0NTY3CisKKzMuIFRoZXJlIGlzIG5vIG5lZWQgdG8gdXBkYXRlIHRoZSBwdWxsIHJlcXVlc3QgY292ZXIgbGV0dGVyLiAgVGhlIHByb2plY3QKK21haW50YWluZXIgaGFzIGRvbmUgZW5vdWdoIG9mIHRoaXMgc3R1ZmYgdG8ga25vdyB3aGF0IHRvIGRvLgorCisKK1JlcG9zaXRvcnkgbWFpbnRlbmFuY2UKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworMS4gV2hlbiB5b3VyIHJlbW90ZSBicmFuY2ggaXMgbWVyZ2VkLCBvciB5b3UgZ290IGZpbmFsIHJlamVjdCwgaXQgaXMgdGltZQordG8gY2xlYW4gaXQgdXAuCisKK2dpdCBicmFuY2ggdGV4dHVhbCAtZAorZ2l0IHB1c2ggeW91cmdpdCA6dGV4dHVhbAorCisyLiBJZiB5b3UgaGF2ZSBvdGhlciBjb250cmlidXRvciByZXBvc2l0b3JpZXMgY29uZmlndXJlZCB5b3UgbWF5IGFsc28KK3dhbnQgdG8gY2xlYW4gdXAgdGhlIGJyYW5jaGVzIHRoZSBvdGhlcnMgYXJlIGRvbmUgd2l0aC4KKworZm9yIEkgaW4gJChnaXQgcmVtb3RlKTsgZG8KKyAgZWNobyAicHJ1bmluZzogJEkiCisgIGdpdCByZW1vdGUgcHJ1bmUgJEkKK2RvbmUKKworMy4gV2hlbiBhbGwgb2YgeW91ciBjb250cmlidXRpb25zIGFyZSBwcm9jZXNzZWQgeW91IHNob3VsZCB0aWR5IHVwIHRoZQorZ2l0J3MgZ3V0cy4KKworZ2l0IHJlZmxvZyBleHBpcmUgLS1hbGwKK2dpdCBnYyAtLWFnZ3Jlc3NpdmUgLS1wcnVuZT1ub3cKKworV2FybmluZy4gIFRoYXQgdGlkeWluZyBpcyBub3QgZ29vZCBpZGVhIHdoaWxlIHlvdSBhcmUgYWN0aXZlbHkgd29ya2luZword2l0aCB0aGUgY2hhbmdlIHNldC4gIFlvdSBuZXZlciBrbm93IHdoZW4geW91IG5lZWQgdG8gcmVjb3ZlciBzb21ldGhpbmcKK2Zyb20gcmVmbG9nLCBzbyBrZWVwIHRoYXQgb3B0aW9uIGF2YWlsYWJsZSB1bnRpbCB5b3Uga25vdyB0aGUgcmVmbG9nIGlzCitub3QgbmVlZGVkLgorCisKK01vcmUgYnJhbmNoZXMsIG9uIHRvcCBvZiBicmFuY2hlcywgb24gdG9wIG9mIC4uLgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK0hlcmUgaXMgYSBvbmUgd2F5IG9mIGxheWluZyBvdXQgbXVsdGlwbGUgYnJhbmNoZXMuCisKK2dpdCBsb2cgLS1ncmFwaCAtLWRlY29yYXRlIC0tcHJldHR5PW9uZWxpbmUgLS1hYmJyZXYtY29tbWl0IC0tYWxsCisqIDEzYmZmZjMgKEhFQUQsIGRvY3MtdXBkYXRlKSBkb2NzOiBzbWFsbCBpbXByb3ZlbWVudHMgdG8gaG93dG8tY29udHJpYnV0ZS50eHQKKyogNTQzNWQyOCAoc2FtaS9tb3JlLCBtb3JlKSBtb3JlOiBkbyBub3QgY2FsbCBmaWxlbm8oKSBmb3Igc3Rke2luLG91dCxlcnJ9IHN0cmVhbXMKKyogM2UxYWMwNCBtb3JlOiByZW1vdmUgdW5uZWNlc3NhcnkgYnJhY2VzCisqIGMxOWYzMWMgbW9yZTogY2hlY2sgb3BlbigzKSByZXR1cm4gdmFsdWUKKyogNjUxZWMxYiBtb3JlOiBtb3ZlIHNraXBwaW5nIGZvcmV3YXJkcyB0byBhIGZ1bmN0aW9uIGZyb20gY29tbWFuZCgpCisqIGJmMGMyYTcgbW9yZTogbW92ZSBza2lwcGluZyBiYWNrd2FyZHMgdG8gYSBmdW5jdGlvbiBmcm9tIGNvbW1hbmQoKQorKiA1M2E0MzhkIG1vcmU6IG1vdmUgZWRpdG9yIGV4ZWN1dGlvbiB0byBhIGZ1bmN0aW9uIGZyb20gY29tbWFuZCgpCisqIGIxMTYyOGIgbW9yZTogbW92ZSBydW50aW1lIHVzYWdlIG91dHB1dCBhd2F5IGZyb20gY29tbWFuZCgpCisqIDZjYWIwNGUgbW9yZTogYXZvaWQgbG9uZyBlbHNlIHNlZ21lbnQgaW4gcHJidWYoKQorKiBhMmQ5ZmJiIG1vcmU6IHJlbW92ZSAncmVnaXN0ZXInIGtleXdvcmRzCisqIGM2YjJkMjkgbW9yZTogcmVtb3ZlIHBvaW50bGVzcyBmdW5jdGlvbnMKKyogYjQxZmUzNCBtb3JlOiByZW1vdmUgZnVuY3Rpb24gbGlrZSBwcmVwcm9jZXNzb3IgZGVmaW5lcworKiAxYWFhMWNlIG1vcmU6IHVzZSBwYXRocy5oIHRvIGZpbmQgYm91cm5lIHNoZWxsIGFuZCB2aSBlZGl0b3IKKyogMDE2YTAxOSBtb3JlOiByZXR1cm4gaXMgc3RhdGVtZW50LCBub3QgYSBmdW5jdGlvbgorKiBmZjcwMTlhIG1vcmU6IHJlbW92ZSBkZWFkIGNvZGUgYW5kIHVzZWxlc3MgY29tbWVudHMKKyogMTcwNWM3NiBtb3JlOiBhZGQgc3RydWN0IG1vcmVfY29udHJvbCBhbmQgcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZXMKKyogM2FkNDg2OCBtb3JlOiByZW9yZGVyIGluY2x1ZGVzLCBkZWNsYXJhdGlvbnMsIGFuZCBnbG9iYWwgdmFyaWFibGVzCisqIDcyMjBlOWQgbW9yZTogcmVtb3ZlIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyAtIEJSQU5DSCBTVEFUVVM6IFdPUksgSU4gUFJPR1JFU1MKKyogMDRiOTU0NCAoc2FtaS9zY3JpcHQpIHNjcmlwdDogYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZXMKKyogZTdiOGQ1MCBzY3JpcHQ6IHVzZSBnZXR0aW1lX21vbm90b25pYygpIHRvIGdldCB0aW1pbmcgZmlsZSB0aW1lc3RhbXBzCisqIDExMjg5ZDIgc2NyaXB0OiB1c2UgY29ycmVjdCBpbnB1dCB0eXBlLCBtb3ZlIGNvbW1lbnQsIGFuZCBzbyBvbgorKiA1MjRlM2U3IHNjcmlwdDogcmVwbGFjZSBzdHJmdGltZSgpIHdvcmthcm91bmQgd2l0aCBDRkxBR1MgPSAtV25vLWZvcm1hdC15MmsKKyogMDQ2NWU3ZiBzY3JpcHQ6IG1vdmUgZG9faW8oKSBjb250ZW50IHRvIHNtYWxsIGZ1bmN0aW9ucworKiA3NTFlZGNhIHNjcmlwdDogYWRkICdTY3JpcHQgc3RhcnRlZCcgbGluZSBhbHdheXMgdG8gY2FwdHVyZSBmaWxlCisqIGY4MzE2NTcgc2NyaXB0OiByZW1vdmUgaW8gdnMgc2lnbmFsIHJhY2UKKyogZWVmYzFiNyBzY3JpcHQ6IG1lcmdlIGRvaW5wdXQoKSBhbmQgb3V0cHV0KCkgZnVuY3Rpb25zIHRvIGRvX2lvKCkKKyogOWViYTA0NCBzY3JpcHQ6IHVzZSBwb2xsKCkgcmF0aGVyIHRoYW4gc2VsZWN0KCkKKyogYTZmMDRlZiBzY3JpcHQ6IHVzZSBzaWduYWxmZCgpIHRvIGNhdGNoIHNpZ25hbHMKKyogNGE4NmQ5YyBzY3JpcHQ6IGFkZCBzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgYW5kIHJlbW92ZSBnbG9iYWwgdmFyaWFibGVzCisqIGQxY2YxOWMgc2NyaXB0OiByZW1vdmUgZnVuY3Rpb24gcHJvdG90eXBlcworKiA2YTdkY2U5IChzYW1pLzIwMTV3azAwKSBmc2NrLm1pbml4OiBmaXggc2VnbWVudGF0aW9uIGZhdWx0CisqIDVlM2JjZjcgbHNsb2NrczogZml4IHR5cGUgd2FybmluZworKiAzOTA0NDIzIG1haW50OiBmaXggc2hhZG93IGRlY2xhcmF0aW9ucworKiAxN2JmOWMxICh1cHN0cmVhbS9tYXN0ZXIsIHNhbWkvbWFzdGVyLCBremdoL21hc3RlciwgbWFzdGVyKSBpcGNybTogZml4IHVzYWdlCitbLi4uXQorCitUaGUgYWJvdmUgZ2l2ZXMgYSBoaW50IHRvIG1haW50YWluZXIgd2hhdCBpcyB0aGUgcHJlZmVycmVkIG1lcmdlIG9yZGVyLgorVGhlIGJyYW5jaGVzICcyMDE1d2swMCcgYW5kICdzY3JpcHQnIGFyZSByZWFkeSB0byBiZSBtZXJnZWQsIGFuZCB0aGV5Cit3ZXJlIHNlbnQgdG8gbWFpbC1saXN0LgorCitUaGUgJ21vcmUnIGJyYW5jaCB3YXMgbm90IHN1Ym1pdHRlZCBhdCB0aGUgdGltZSBvZiB3cml0aW5nIHRoaXMgdGV4dC4KK01hcmstdXAgdGhlIGJyYW5jaCBpcyBub3QgcmVhZHkgaXMgY2xlYXJseSBtYXJrZWQgaW4gdGhlIGNvbW1pdCBzdWJqZWN0LAordGhhdCB3aWxsIG5lZWQgc29tZSByZWJhc2VpbmcgdG8gYmVmb3JlIHN1Ym1pc3Npb24uCisKK0dvb2Qgb3JkZXIgb2YgdGhlIGJyYW5jaGVzIGlzOworCisxLiBGaXJzdCB0aGUgbWlub3IgJiBzYWZlIGNoYW5nZXMuCisyLiBUaGVuIHRoZSByZWFkeSBidXQgbGVzcyBjZXJ0YWluIHN0dWZmLgorMy4gRm9sbG93ZWQgYnkgd29yay1pbi1wcm9ncmVzcy4KKworSWYgeW91IGdvIGRvd24gdGhpcyByb3V0ZSB5b3Ugd2lsbCBnZXQgdXNlZCB0byB0eXBpbmcgYSBsb3Qgb2YKKworZ2l0IHJlYmFzZSBwcmV2aW91cy1icmFuY2gKK2dpdCBwdXNoIC1mIHlvdXJnaXQgYnJhbmNoOmJyYW5jaAorCitBbHRlcm5hdGl2ZWx5IHJlYmFzZSBlYWNoIGJyYW5jaCBvbiB0b3Agb2Ygb3JpZ2luL21hc3Rlciwgd2hpY2ggaXMgbm90CitxdWl0ZSBhcyBnb29kLiAgSG93IGRvIHlvdSBlbnN1cmUgeW91ciBvd24gY2hhbmdlcyBhcmUgbm90IGluIGNvbmZsaWN0Cit3aXRoIGVhY2ggb3RoZXI/ICBBbmQgdGhlcmUgaXMgbm8gaGludCBvZiBwcmVmZXJyZWQgbWVyZ2luZyBvcmRlci4KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vaG93dG8tdGVzdHMudHh0IGIvRG9jdW1lbnRhdGlvbi9ob3d0by10ZXN0cy50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjc5OWM5MgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vaG93dG8tdGVzdHMudHh0CkBAIC0wLDAgKzEsMTM3IEBACisKKyB1dGlsLWxpbnV4IHJlZ3Jlc3Npb24gdGVzdHMKKyB+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KKworIEl0J3MgZXhwZWN0ZWQgdGhhdCBmb3IgZWFjaCBpbnZhc2l2ZSBjaGFuZ2Ugb3IgaW1wb3J0YW50IGJ1Z2ZpeCB5b3Ugd2lsbAorIGluY2x1ZGUgYSB0ZXN0IHRvIHlvdXIgcGF0Y2guCisKKyBDb21waWxlIHRlc3RzICYgcnVuIGJhc2ljIHRlc3RzOgorCisJJCBtYWtlIGNoZWNrCisKKyBOb3RlIHRoYXQgdGhlIGNvbmZpZ3VyZSBvcHRpb24gLS1kaXNhYmxlLXN0YXRpYyBkaXNhYmxlcyBtYW55IG9mIGxpYm1vdW50IGFuZAorIGxpYmJsa2lkIHVuaXQgdGVzdHMuCisKKyBSdW4gYWxsIHRlc3RzIGluY2x1ZGluZyB0ZXN0cyB0aGF0IHJlcXVpcmUgcm9vdCBwZXJtaXNzaW9uczoKKworCSMgY2QgdGVzdHMKKwkjIC4vcnVuLnNoIFstLXZlcmJvc2VdIFstLW1lbWNoZWNrXQorCisJQWx0ZXJuYXRpdmVseSB1c2luZyBzdWRvIGFuZCBtYWtlOgorCisJJCBtYWtlIGNoZWNrIFRTX0NPTU1BTkQ9InRydWUiCisJJCBzdWRvIC1FIG1ha2UgY2hlY2sgVFNfT1BUUz0iLS1wYXJhbGxlbD0xIgorCisgbm90ZSB0aGF0IGFzIHJvb3QgeW91IGhhdmUgdG8gbWFudWFsbHkgcmVtb3ZlIG91dHB1dCBhbmQgZGlmZiBkaXJlY3RvcmllcworCisJIyBybSAtcmYgb3V0cHV0IGRpZmYKKworIG9yIHJ1biAnbWFrZSBjbGVhbicgYXMgcm9vdC4KKworCisgUnVuIHN1YnNldCBvZiB0ZXN0czoKKworCSQgLi9ydW4uc2ggPHRlc3RfZGlyZWN0b3J5LW5hbWU+CisKKyAgICAgICAgZm9yIGV4YW1wbGU6CisKKyAgICAgICAgICAgICAgJCAuL3J1bi5zaCBibGtpZAorICAgICAgICAgICAgICAkIC4vcnVuLnNoIGxpYm1vdW50CisKKyBUaGUgdGVzdHMgaXMgcG9zc2libGUgdG8gZXhjbHVkZSBieSAuL3J1bi5zaCAtLWV4Y2x1ZGU9PGxpc3Q+ICB3aGVyZSB0aGUKKyA8bGlzdD4gaXMgYmxhbmsgc2VwYXJhdGVkIHRlc3QgbmFtZXMgaW4gZm9ybWF0ICJ0ZXN0ZGlyL3Rlc3RuYW1lIiwgZm9yIGV4YW1wbGU6CisKKwkkIC4vcnVuLnNoIC0tZXhjbHVkZT0ibW91bnQvbW92ZSIKKworIFRoZSAtLWV4Y2x1ZGUgaXMgZXZhbHVhdGVkIGJ5IHRoZSAuL3J1bi5zaCBzY3JpcHQgb25seS4gU2VlIGJlbG93CisKKwlUU19PUFRfdGVzdGRpcl9bdGVzdHNjcmlwdF9dZmFrZT0KKworIGVudmlyb25tZW50IHZhcmlhYmxlIHdoaWNoIHByb3ZpZGVzIG1vcmUgcG93ZXJmdWwgZnVuY3Rpb25hbGl0eSB0byBza2lwIHRlc3RzLgorCisKKyAqKiogV0FSTklORyBmb3Igcm9vdCB1c2VycyAqKioKKworIFRoZSB0ZXN0cyB0b3VjaCB5b3VyIC9ldGMvZnN0YWIsIGluaXRpYWxpemUgbG9vcCBkZXZpY2VzIG9yIHNjc2lfZGVidWcgZGV2aWNlcworIGlmIGV4ZWN1dGVkIHdpdGggcm9vdCBwZXJtaXNzaW9ucy4KKworIFBsZWFzZSwgYmUgY2FyZWZ1bCBhbmQgdXNlIHRoZXNlIHRlc3RzIG9ubHkgZm9yIGRldmVsb3BtZW50IGFuZCBuZXZlciBvbgorIHByb2R1Y3Rpb24gc3lzdGVtLgorCisKK2Vudmlyb25tZW50IHZhcmlhYmxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RTX0NPTU1BTkQKKworICAgIEV2YWx1YXRlZCBieSAibWFrZSBjaGVjayIgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgY29tbWFuZCAocnVuLnNoKS4KKyAgICBFeGFtcGxlOgorICAgICAgLSBidWlsZCBhbGwgdGVzdCBkZXBlbmRlbmNpZXMsIGJ1dCBza2lwIHRoZSBhY3R1YWwgdGVzdAorICAgICAgICAkIG1ha2UgY2hlY2sgVFNfQ09NTUFORD0idHJ1ZSIKKworVFNfT1BUUworCisgICAgRXZhbHVhdGVkIGJ5ICJtYWtlIGNoZWNrIiB0byBwYXNzIG9wdGlvbnMudG8gcnVuLnNoIChzZWUgLi9ydW4uc2ggLS1oZWxwKS4KKyAgICBFeGFtcGxlczoKKyAgICAgIC0gcnVuIHV0bXAgdGVzdHMgb25seQorICAgICAgICAkIG1ha2UgY2hlY2sgVFNfT1BUUz0iLS1wYXJhbGxlbD0xIHV0bXAiCisKK1RTX09QVF90ZXN0ZGlyX1t0ZXN0c2NyaXB0X11mYWtlPSI8eWVzfG5vPiIKKworICAgIEV2YWx1YXRlZCBieSBhbnkgdGVzdCBzY3JpcHQgdG8gc2tpcCBjZXJ0YWluIHRlc3RzLgorICAgIEV4YW1wbGVzOgorICAgICAgLSBza2lwIGFsbCB0aGUgdGVzdHMgd2l0aGluICJmZGlzayIgdGVzdC1kaXJlY3Jvcnk6CisgICAgICAgICQgbWFrZSBjaGVjayBUU19PUFRfZmRpc2tfZmFrZT0ieWVzIgorCisgICAgICAtIHNraXAgb25seSAiZmRpc2svYnNkIiB0ZXN0OgorICAgICAgICAkIG1ha2UgY2hlY2sgVFNfT1BUX2ZkaXNrX2JzZF9mYWtlPSJ5ZXMiCisKKyAgICAgIC0gc2tpcCBhbGwgImZkaXNrIiB0ZXN0cyBleGNlcHQgZmRpc2svYnNkOgorICAgICAgICAkIG1ha2UgY2hlY2sgVFNfT1BUX2ZkaXNrX2Zha2U9InllcyIgVFNfT1BUX2ZkaXNrX2JzZF9mYWtlPSJubyIKKworVFNfT1BUX3Rlc3RkaXJfW3Rlc3RzY3JpcHRfXWtub3duX2ZhaWw9Ijx5ZXN8bm8+IgorCisgICAgU2ltaWxhciB1c2FnZSBsaWtlIFRTX09QVF8qX2Zha2UgYWJvdmUuICJrbm93bl9mYWlsIiBtZWFucyB0aGF0IHRoZSBnaXZlbgorICAgIHRlc3Qgd2lsbCBydW4gYnV0IChuZWdhdGl2ZSkgcmVzdWx0cyB3aWxsIGJlIGlnbm9yZWQuIFRoZSBidWlsZCBsb2cgYW5kIHRlc3QKKyAgICBkaWZmcyB3aWxsIHN0aWxsIHJlbWluZCB5b3UgYWJvdXQgdGhlIGlzc3VlLgorCitUU19PUFRfdGVzdGRpcl9bdGVzdHNjcmlwdF9ddmVyYm9zZT0iPHllc3xubz4iCisKKyAgICBTZXQgdmVyYm9zaXR5IGZvciBjZXJ0YWluIHRlc3RzLiBTaW1pbGFyIHVzYWdlIGxpa2UgVFNfT1BUXypfZmFrZSBhYm92ZS4KKworVFNfT1BUX3Rlc3RkaXJfW3Rlc3RzY3JpcHRfXW1lbWNoZWNrPSI8eWVzfG5vPiIKKworICAgIFJ1biBjZXJ0YWluIHRlc3RzIHdpdGggdmFsZ3JpbmQuIFNpbWlsYXIgdXNhZ2UgbGlrZSBUU19PUFRfKl9mYWtlIGFib3ZlLgorCisKK0V4dGVybmFsIHNlcnZpY2VzIAorLS0tLS0tLS0tLS0tLS0tLS0KKworVHJhdmlzIENJIC0gYXV0b21hdGljYWxseSBleGVjdXRlZCBmb3IgYWxsIGdpdGh1YiBjb21taXRzLgorCisgICAgVVJMOiBodHRwczovL3RyYXZpcy1jaS5vcmcva2FyZWx6YWsvdXRpbC1saW51eC8KKworICAgIFNlZSAudHJhdmlzLnltbCBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgV2UgcmVxdWlyZSAic3VkbyIgdG8gaW5zdGFsbCBhZGRpdGlvbmFsIHN0dWZmIGFuZCB0byBydW4gdGhlIHRlc3RzIHdpdGgKKyAgICBVSUQ9MCwgaXQgbWVhbnMgdGhhdCB0ZXN0cyBhcmUgZXhlY3V0ZWQgb24gdHJhdmlzICJsZWdhY3kgaW5mcmFzdHJ1Y3R1cmUiLgorCisKK0Ryb25lLmlvIC0gYXV0b21hdGljYWxseSBleGVjdXRlZCBmb3IgYWxsIGdpdGh1YiBjb21taXRzLgorCisgICAgVVJMOiBodHRwczovL2Ryb25lLmlvL2dpdGh1Yi5jb20va2FyZWx6YWsvdXRpbC1saW51eAorCisgICAgVGhlIGRyb25lLmlvIGRvZXMgbm90IHVzZSBhbnkgaW4tdHJlZSBjb25maWcgZmlsZSAobGlrZSB0cmF2aXMtY2kpLCB0aGUKKyAgICBjdXJyZW50bHkgdXNlZCBjb25maWd1cmF0aW9uIChtYWludGFpbmVkIGJ5IERyb25lLmlvIHdlYiBVSSk6CisKKwlNQUtFX0NIRUNLPSJyb290IgorCU1BS0VfQ0hFQ0tfT1BUUz0iLS1za2lwLWxvb3BkZXZzIC0tZXhjbHVkZT1tb3VudC9tb3ZlIgorCXNvdXJjZSAuLy50cmF2aXMtZnVuY3Rpb25zLnNoCisJdHJhdmlzX2luc3RhbGxfc2NyaXB0IHx8IGV4aXQKKwl0cmF2aXNfYmVmb3JlX3NjcmlwdCB8fCBleGl0CisJcmV0PTAKKwl0cmF2aXNfc2NyaXB0IHx8IHJldD0kPworCXRyYXZpc19hZnRlcl9zY3JpcHQKKwlleGl0ICRyZXQgIAorCQorICAgIHllcywgaXQgc2hhcmVzIHRoZSBzZXR1cCBmdW5jdGlvbnMgd2l0aCB0cmF2aXMtY2kuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2hvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCBiL0RvY3VtZW50YXRpb24vaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxMDhiZmMKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL2hvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dApAQCAtMCwwICsxLDEzNCBAQAorCitFeGFtcGxlIGZpbGUKKy0tLS0tLS0tLS0tLQorCitSZWZlciB0byB0aGUgLi9ib2lsZXJwbGF0ZS5jIGV4YW1wbGUgZmlsZSB3aGlsZSByZWFkaW5nIHRoaXMgaG93dG8uCisKKworSG93IGEgdXNhZ2UgdGV4dCBpcyBzdXBwb3NlZCB0byBsb29rCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworVGhlIHVzYWdlKCkgb3V0cHV0IGZvcm1hdCBpczogVXNhZ2Ugc2VjdGlvbiwgY29tbWFuZCBkZXNjcmlwdGlvbiBvbmUtbGluZXIsCitPcHRpb25zIHNlY3Rpb24gKHNlZSBiZWxvdyksIHNwZWNpYWwgc2VjdGlvbnMgbGlrZSAnQXZhaWxhYmxlIGNvbHVtbnMnLCBhbmQKK3RoZSBsYXN0IGxpbmUgaXMgZWl0aGVyIHRoZSBtYW4gcGFnZSByZWZlcmVuY2Ugb3IgYW4gZW1wdHkgbGluZS4gVGhlIG91dHB1dAorYmVnaW5zIHdpdGgsIGFuZCBlYWNoIG9mIHRoZSBhYm92ZSBhcmUgc2VwYXJhdGVkIGJ5LCBvbmUgZW1wdHkgbGluZS4KKworVGhlIFVzYWdlIHNlY3Rpb24gY29udGFpbnMgdGhlIHN5bm9wc2lzIGxpbmUgdGhhdCBkZXNjcmliZXMgaG93IHRvIGNvbXBvc2UKK3RoZSBjb21tYW5kLiBTb21ldGltZXMgeW91IG1heSBuZWVkIG11bHRpcGxlIHN5bm9wc2lzIGxpbmVzIChzZWUgYmVsb3cpLgorCitPbmx5IHRoZSBzeW5vcHNpcyBhbmQgb3B0aW9uIGxpbmVzIGFyZSBpbmRlbnRlZC4gSW5kZW50IGlzIG9uZSBzcGFjZSAoMHg0MCkuCitPcHRpb24gbGluZXMgZG8gbm90IHVzZSBsaW5lLWVuZGluZyBwdW5jdHVhdGlvbi4gT3RoZXIgc2VudGVuY2VzIGRvLgorCitOb3RhdGlvbnM6IGRpYW1vbmQgYnJhY2tldHMgYXJlIHVzZWQgdG8gbWFyayBhbiBhcmd1bWVudCB0byBiZSBmaWxsZWQgaW47CitzcXVhcmUgYnJhY2tldHMgYXJlIHVzZWQgdG8gbWFyayBhbnl0aGluZyB0aGF0IGlzIG9wdGlvbmFsLCBzdWNoIGFzIG9wdGlvbmFsCitjb21tYW5kIGFyZ3VtZW50cywgb3Igb3B0aW9uYWwgb3B0aW9uIGFyZ3VtZW50cy4gSW4gdGhlIGxhdGVyIGNhc2UgdGhlICc9JworY2hhcmFjdGVyIGlzIHJlcXVpcmVkIGluIGJldHdlZW4gdGhlIG9wdGlvbiBhbmQgYXJndW1lbnQgd2l0aCBubyB3aGl0ZXNwYWNlOwordGhyZWUgY29uc2VjdXRpdmUgZG90cyBtZWFucyB0aGUgdW5saW1pdGVkIHJlcGV0aXRpb24gb2YgdGhlIHByZWNlZGluZy4KKworVGhlIHNob3J0IG9wdGlvbiBpcyBhbHdheXMgd3JpdHRlbiBmaXJzdCwgZm9sbG93ZWQgYnkgdGhlIGxvbmcgb3B0aW9uLiAgVGhleQorYXJlIHNlcGFyYXRlZCB3aXRoIGEgY29tbWEgYW5kIG9uZSBzcGFjZS4gIExvbmVseSBzaG9ydCBvciBsb25nIG9wdGlvbnMgZG8KK25vdCBhZmZlY3QgdGhlaXIgYWxpZ25tZW50LiBUaGF0IGlzLCB0aGV5IG11c3QgYmUgaW4gdGhlaXIgcmVzcGVjdGl2ZSBjb2x1bW4uCisKK0JlbG93LCBpbiBiZXR3ZWVuIHRoZSBzbmlwcywgaXMgYW4gZXhhbXBsZSBvZiB3aGF0IHRoZSB1c2FnZSBvdXRwdXQgc2hvdWxkCitsb29rIGxpa2UuCisKKy0tIHNuaXAKKworVXNhZ2U6CisgcHJvZ3JhbSBbb3B0aW9uc10gPGZpbGU+IFsuLi5dCisKK1Nob3J0IHByb2dyYW0gZGVzY3JpcHRpb24sIGlkZWFsbHkgb25lIGxpbmUgb25seS4KKworT3B0aW9uczoKKyAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50CisgICAgIC0tb3B0aW9uYWxbPTxhcmc+XSAgb3B0aW9uIGFyZ3VtZW50IGlzIG9wdGlvbmFsCisgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50CisgLXogICAgICAgICAgICAgICAgICAgICAgbm8gbG9uZyBvcHRpb24KKyAgICAgLS14eXp6eSAgICAgICAgICAgICBhIGxvbmcgb3B0aW9uIG9ubHkKKyAtZSwgLS1leHRyZW1lbHktbG9uZy1sb25nLW9wdGlvbgorICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBuZXh0IGxpbmUgZm9yIGRlc2NyaXB0aW9uIHdoZW4gbmVlZGVkCisgLWwsIC0tbG9uZy1leHBsYW5hdGlvbiAgYW4gZXhhbXBsZSBvZiB2ZXJ5IHZlcmJvc2UsIGFuZCBjaGF0dHkgb3B0aW9uCisgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbiBvbiB0d28sIG9yIG11bHRpcGxlIGxpbmVzLCB3aGVyZSB0aGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVhdGlvbiBsaW5lcyBhcmUgaW5kZW50ZWQgYnkgdHdvIHNwYWNlcworIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnQKKworIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0CisgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQKKworRm9yIG1vcmUgZGV0YWlscyBzZWUgcHJvZ3JhbSgxKS4KKy0tIHNuaXAKKworCitPcHRpb24gZGVzY3JpcHRpb25zCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoaXMgaW5mb3JtYXRpb24gYWxzbyBhcHBsaWVzIHRvIG90aGVyIG9wdGlvbi1saWtlIGFyZ3VtZW50cy4gVGhhdCBpcywKK2FyZ3VtZW50cyBzdGFydGluZyB3aXRoICctJy4gU3VjaCBhczogZnVuY3Rpb25zLCBjb21tYW5kcywgYW5kIHNvIGZvcnRoLgorCitBbiBvcHRpb24gZGVzY3JpcHRpb24gc2hvdWxkIG5vdCBleGNlZWQgdGhlIHdpZHRoIG9mIDgwIGNoYXJhY3RlcnMuICBJZgoreW91IG5lZWQgYSBsb25nZXIgZGVzY3JpcHRpb24sIHVzZSBtdWx0aXBsZSBsaW5lcyBhbmQgaW5kZW50YXRpb24uCisKK1RoZSBkZXNjcmlwdGlvbiB0ZXh0IGJlZ2lucyBmcm9tIHRoZSBwb2ludCBvZiB0aGUgbG9uZ2VzdCBvcHRpb24gcGx1cyB0d28KK3NwYWNlcy4gSWYgYWRkaW5nIGEgbmV3IG9wdGlvbiB3b3VsZCBuZWNlc3NpdGF0ZSBhIHJlLWluZGVudGF0aW9uIG9mIHRoZQorZGVzY3JpcHRpb25zLCBpdCBlaXRoZXIgaGFzIHRvIGJlIGRvbmUsIG9yIHRoZSBuZXcgb3B0aW9uIHNob3VsZCBiZWdpbiBpdHMKK2Rlc2NyaXB0aW9uIG9uIHRoZSBuZXh0IGxpbmUuICBVc3VhbGx5IHRoZSBsYXRlciBpcyBiZXR0ZXIuCisKK0FuIGFyZ3VtZW50IGlzIHByZWZlcmFibHkgd29yZGVkIGFwcHJvcHJpYXRlbHkuICBGb3IgZXhhbXBsZSwgaWYgYW4gb3B0aW9uCitleHBlY3RzIGEgbnVtYmVyIGFzIGFyZ3VtZW50LCAnPG51bT4nIGlzIGEgc3VpdGFibGUgYXJndW1lbnQgaW5kaWNhdG9yLgorCitUaGUgb3JkZXIgb2YgdGhlIG9wdGlvbnMgaGFzIG5vIHNwZWNpYWwgbWVhbmluZywgd2l0aCB0aGUgZXhjZXB0aW9uIG9mCistLWhlbHAgYW5kIC0tdmVyc2lvbiB3aGljaCBhcmUgZXhwZWN0ZWQgdG8gYmUgbGFzdCBvbmVzIGluIHRoZSBsaXN0LgorCisKK1VzYWdlIGZ1bmN0aW9uCistLS0tLS0tLS0tLS0tLQorCitUaGUgdXNhZ2UoKSBmdW5jdGlvbiB3aWxsIG5ldmVyIHJldHVybi4gSXQgbXVzdCBvbmx5IGJlIGNhbGxlZCBieSAtaC8tLWhlbHAuCitBbGwgb3RoZXIgY2FzZXMgdXNlIGVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKS4KKworU2VjdGlvbiBoZWFkZXJzLCBtYW4gcGFnZSwgdmVyc2lvbiwgaGVscCwgYW5kIG90aGVyIGNvbXBvbmVudHMgb2YgdXNhZ2UoKQoraGF2ZSBzdHJpbmcgY29uc3RhbnRzIGRlZmluZWQgaW4gJ2luY2x1ZGUvYy5oJyB3aGljaCBtdXN0IGJlIHVzZWQuIFNlZSB0aGUKK2V4YW1wbGUgZmlsZSBsaXN0ZWQgYXQgdGhlIHRvcCBvZiB0aGlzIGRvY3VtZW50LiBUaGUgaGVscCBhbmQgdmVyc2lvbiBvcHRpb25zCithcmUgY29tYmluZWQgaW50byBhIHNpbmdsZSBtYWNybyB3aGljaCB0YWtlcyBhbiBhcmd1bWVudCBmb3IgdGhlIGNvbHVtbiB0aGF0Cit0aGVpciBkZXNjcmlwdGlvbnMgd2lsbCBiZWdpbiBvbjogVVNBR0VfSEVMUF9PUFRJT05TKDxudW0+KS4gIFRoaXMgYWxsb3dzCit0aGVtIHRvIGFsaWduIHByb3Blcmx5IHdpdGggdGhlIG90aGVyIG9wdGlvbnMuCisKK0luIHRoZSBjb2RlLCBhbGwgb3B0aW9uIHN0cmluZ3MgbXVzdCBzdGFydCBhdCB0aGUgc2FtZSBwb3NpdGlvbi4KK1NlZSBoZXJlIHdoYXQgdGhpcyBtZWFuczoKKworCXByaW50ZihvdXQsIF8oIiAteFs9PGZvbz5dICBkZWZhdWx0IGZvbyBpcyAlcyIpLCB4KTsKKwlwdXRzKCAgICAgICBfKCIgLXkgICAgICAgICAgc29tZSB0ZXh0IiksIG91dCk7CisKK0JlIG5pY2UgdG8gdHJhbnNsYXRvcnMuICBPbmUgZ2V0dGV4dCBlbnRyeSBzaG91bGQgYmUgb25lIG9wdGlvbiwgbm8gbW9yZSwKK25vIGxlc3MuICBGb3IgZXhhbXBsZToKKworCXB1dHMoXygiIC0teW91LXRoZXJlICBiZSBuaWNlXG4iKSwgb3V0KTsKKwlwdXRzKF8oIiAtMiA8d2hvbT4gICAgdHJhbnNsYXRvcnNcbiIpLCBvdXQpOworCXB1dHMoXygiIC10LCAtLWhleSAgICBhcmUgZG9pbmcgYSBqb2IgdGhhdCB3ZSBwcm9iYWJseSBjYW5ub3QsIgorCQkiICAgICAgICAgICAgICAgIG9yIGhvdyBpcyB5b3VyIGtsaW5nb24/XG4iKSwgb3V0KTsKKworV2hlbiBleGlzdGluZyB1c2FnZSBvdXRwdXQgaXMgY2hhbmdlZCwgYW5kIGl0IGhhcHBlbnMgdG8gYmUgb25lIGJpZyB0ZXh0LAorc3BsaXQgaXQgaW50byBjaHVua3MgdGhlIHNpemUgb2Ygb25lIG9wdGlvbi4gVGhlIGV4dHJhIHdvcmsgdGhpcyB3aWxsIGVudGFpbAorZm9yIHRyYW5zbGF0b3JzIHdpbGwgcGF5IG9mZiBsYXRlcjsgdGhlIG5leHQgc3RyaW5nIGNoYW5nZSB3aWxsIG5vdCBmb3JjZSBhCitzZWFyY2ggb2YgdGhlIGxvbmcgZnV6enkgdGV4dCBmb3Igd2hhdCB3YXMgY2hhbmdlZCwgd2hlcmUsIGhvdywgYW5kIHdoZXRoZXIKK2l0IHdhcyB0aGUgb25seSBjaGFuZ2UuCisKKworU3lub3BzaXMKKy0tLS0tLS0tCisKK1lvdSBtYXkgbmVlZCB0byB1c2UgbXVsdGlwbGUgc3lub3BzaXMgbGluZXMgdG8gc2hvdyB0aGF0IGEgY29tbWFuZCBkb2VzCitmdW5kYW1lbnRhbGx5IGRpZmZlcmVudCB0aGluZ3MgZGVwZW5kaW5nIG9uIHRoZSBvcHRpb25zIGFuZC9vciBhcmd1bWVudHMuCitGb3IgZXhhbXBsZSwgaW9uaWNlIGVpdGhlciBjaGFuZ2VzIHRoZSBwcmlvcml0eSBvZiBhIHJ1bm5pbmcgY29tbWFuZCwgb3IKK2V4ZWN1dGVzIGEgcHJvZ3JhbSB3aXRoIGEgZGVmaW5lZCBwcmlvcml0eS4gIFRoZXJlZm9yZSBpdCBpcyByZWFzb25hYmxlCit0byBoYXZlIHR3byBzeW5vcHNpcyBsaW5lczoKKworIGlvbmljZSBbb3B0aW9uc10gLXAgPHBpZD4gLi4uCisgaW9uaWNlIFtvcHRpb25zXSA8Y29tbWFuZD4gWzxhcmc+IC4uLl0KKworTm90ZSB0aGF0IHRoZSBzeW5vcHNpcyBpcyBub3QgbWVhbnQgdG8gYmUgYSByZXBldGl0aW9uIG9mIHRoZSBvcHRpb25zCitzZWN0aW9uLiBUaGUgZnVuZGFtZW50YWwgZGlmZmVyZW5jZSBpbiBleGVjdXRpb24gaXMgYSBiaXQgZGlmZmljdWx0IHRvCitkZWZpbmUuIFRoZSBjb21tYW5kIGF1dGhvciwgcGFja2FnZSBtYWludGFpbmVyIG9yIHBhdGNoIHN1Ym1pdHRlciB3aWxsCit1c3VhbGx5IGtub3cgd2hlbiBpdCBzaG91bGQgYmUgZG9uZSB0aGF0IHdheS4KKworCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2h3Y2xvY2sudHh0IGIvRG9jdW1lbnRhdGlvbi9od2Nsb2NrLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNzY3NjIzCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9od2Nsb2NrLnR4dApAQCAtMCwwICsxLDMgQEAKK0h3Y2xvY2sgaXMgYSBwcm9ncmFtIHRoYXQgcnVucyB1bmRlciBMaW51eCBhbmQgc2V0cyBhbmQgcXVlcmllcyB0aGUgCitIYXJkd2FyZSBDbG9jaywgd2hpY2ggaXMgb2Z0ZW4gY2FsbGVkIHRoZSBSZWFsIFRpbWUgQ2xvY2ssIFJUQywgb3IKK0NNT1MgY2xvY2suCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuQlNELTMgYi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuQlNELTMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmYxNzA2OAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5CU0QtMwpAQCAtMCwwICsxLDI1IEBACitSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKK21vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworYXJlIG1ldDoKKzEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKyAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCiszLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKyAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKyAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKworVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKK1dBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCitPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKK1dISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKK0xJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKK0NPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCitPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKK0JVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKK0xJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKK1VTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICitEQU1BR0UuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuR1BMdjIgYi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuR1BMdjIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE1OTE2OQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5HUEx2MgpAQCAtMCwwICsxLDMzOSBAQAorICAgICAgICAgICAgICAgICAgICBHTlUgR0VORVJBTCBQVUJMSUMgTElDRU5TRQorICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uIDIsIEp1bmUgMTk5MQorCisgQ29weXJpZ2h0IChDKSAxOTg5LCAxOTkxIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCisgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCisKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQcmVhbWJsZQorCisgIFRoZSBsaWNlbnNlcyBmb3IgbW9zdCBzb2Z0d2FyZSBhcmUgZGVzaWduZWQgdG8gdGFrZSBhd2F5IHlvdXIKK2ZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBpdC4gIEJ5IGNvbnRyYXN0LCB0aGUgR05VIEdlbmVyYWwgUHVibGljCitMaWNlbnNlIGlzIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZSBmcmVlCitzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLiAgVGhpcworR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcHBsaWVzIHRvIG1vc3Qgb2YgdGhlIEZyZWUgU29mdHdhcmUKK0ZvdW5kYXRpb24ncyBzb2Z0d2FyZSBhbmQgdG8gYW55IG90aGVyIHByb2dyYW0gd2hvc2UgYXV0aG9ycyBjb21taXQgdG8KK3VzaW5nIGl0LiAgKFNvbWUgb3RoZXIgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHNvZnR3YXJlIGlzIGNvdmVyZWQgYnkKK3RoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaW5zdGVhZC4pICBZb3UgY2FuIGFwcGx5IGl0IHRvCit5b3VyIHByb2dyYW1zLCB0b28uCisKKyAgV2hlbiB3ZSBzcGVhayBvZiBmcmVlIHNvZnR3YXJlLCB3ZSBhcmUgcmVmZXJyaW5nIHRvIGZyZWVkb20sIG5vdAorcHJpY2UuICBPdXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZXMgYXJlIGRlc2lnbmVkIHRvIG1ha2Ugc3VyZSB0aGF0IHlvdQoraGF2ZSB0aGUgZnJlZWRvbSB0byBkaXN0cmlidXRlIGNvcGllcyBvZiBmcmVlIHNvZnR3YXJlIChhbmQgY2hhcmdlIGZvcgordGhpcyBzZXJ2aWNlIGlmIHlvdSB3aXNoKSwgdGhhdCB5b3UgcmVjZWl2ZSBzb3VyY2UgY29kZSBvciBjYW4gZ2V0IGl0CitpZiB5b3Ugd2FudCBpdCwgdGhhdCB5b3UgY2FuIGNoYW5nZSB0aGUgc29mdHdhcmUgb3IgdXNlIHBpZWNlcyBvZiBpdAoraW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBrbm93IHlvdSBjYW4gZG8gdGhlc2UgdGhpbmdzLgorCisgIFRvIHByb3RlY3QgeW91ciByaWdodHMsIHdlIG5lZWQgdG8gbWFrZSByZXN0cmljdGlvbnMgdGhhdCBmb3JiaWQKK2FueW9uZSB0byBkZW55IHlvdSB0aGVzZSByaWdodHMgb3IgdG8gYXNrIHlvdSB0byBzdXJyZW5kZXIgdGhlIHJpZ2h0cy4KK1RoZXNlIHJlc3RyaWN0aW9ucyB0cmFuc2xhdGUgdG8gY2VydGFpbiByZXNwb25zaWJpbGl0aWVzIGZvciB5b3UgaWYgeW91CitkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgc29mdHdhcmUsIG9yIGlmIHlvdSBtb2RpZnkgaXQuCisKKyAgRm9yIGV4YW1wbGUsIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiBzdWNoIGEgcHJvZ3JhbSwgd2hldGhlcgorZ3JhdGlzIG9yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0Cit5b3UgaGF2ZS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZQorc291cmNlIGNvZGUuICBBbmQgeW91IG11c3Qgc2hvdyB0aGVtIHRoZXNlIHRlcm1zIHNvIHRoZXkga25vdyB0aGVpcgorcmlnaHRzLgorCisgIFdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCB0d28gc3RlcHM6ICgxKSBjb3B5cmlnaHQgdGhlIHNvZnR3YXJlLCBhbmQKKygyKSBvZmZlciB5b3UgdGhpcyBsaWNlbnNlIHdoaWNoIGdpdmVzIHlvdSBsZWdhbCBwZXJtaXNzaW9uIHRvIGNvcHksCitkaXN0cmlidXRlIGFuZC9vciBtb2RpZnkgdGhlIHNvZnR3YXJlLgorCisgIEFsc28sIGZvciBlYWNoIGF1dGhvcidzIHByb3RlY3Rpb24gYW5kIG91cnMsIHdlIHdhbnQgdG8gbWFrZSBjZXJ0YWluCit0aGF0IGV2ZXJ5b25lIHVuZGVyc3RhbmRzIHRoYXQgdGhlcmUgaXMgbm8gd2FycmFudHkgZm9yIHRoaXMgZnJlZQorc29mdHdhcmUuICBJZiB0aGUgc29mdHdhcmUgaXMgbW9kaWZpZWQgYnkgc29tZW9uZSBlbHNlIGFuZCBwYXNzZWQgb24sIHdlCit3YW50IGl0cyByZWNpcGllbnRzIHRvIGtub3cgdGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsLCBzbwordGhhdCBhbnkgcHJvYmxlbXMgaW50cm9kdWNlZCBieSBvdGhlcnMgd2lsbCBub3QgcmVmbGVjdCBvbiB0aGUgb3JpZ2luYWwKK2F1dGhvcnMnIHJlcHV0YXRpb25zLgorCisgIEZpbmFsbHksIGFueSBmcmVlIHByb2dyYW0gaXMgdGhyZWF0ZW5lZCBjb25zdGFudGx5IGJ5IHNvZnR3YXJlCitwYXRlbnRzLiAgV2Ugd2lzaCB0byBhdm9pZCB0aGUgZGFuZ2VyIHRoYXQgcmVkaXN0cmlidXRvcnMgb2YgYSBmcmVlCitwcm9ncmFtIHdpbGwgaW5kaXZpZHVhbGx5IG9idGFpbiBwYXRlbnQgbGljZW5zZXMsIGluIGVmZmVjdCBtYWtpbmcgdGhlCitwcm9ncmFtIHByb3ByaWV0YXJ5LiAgVG8gcHJldmVudCB0aGlzLCB3ZSBoYXZlIG1hZGUgaXQgY2xlYXIgdGhhdCBhbnkKK3BhdGVudCBtdXN0IGJlIGxpY2Vuc2VkIGZvciBldmVyeW9uZSdzIGZyZWUgdXNlIG9yIG5vdCBsaWNlbnNlZCBhdCBhbGwuCisKKyAgVGhlIHByZWNpc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGlvbiBhbmQKK21vZGlmaWNhdGlvbiBmb2xsb3cuCisKKyAgICAgICAgICAgICAgICAgICAgR05VIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKyAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgorCisgIDAuIFRoaXMgTGljZW5zZSBhcHBsaWVzIHRvIGFueSBwcm9ncmFtIG9yIG90aGVyIHdvcmsgd2hpY2ggY29udGFpbnMKK2Egbm90aWNlIHBsYWNlZCBieSB0aGUgY29weXJpZ2h0IGhvbGRlciBzYXlpbmcgaXQgbWF5IGJlIGRpc3RyaWJ1dGVkCit1bmRlciB0aGUgdGVybXMgb2YgdGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhlICJQcm9ncmFtIiwgYmVsb3csCityZWZlcnMgdG8gYW55IHN1Y2ggcHJvZ3JhbSBvciB3b3JrLCBhbmQgYSAid29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSIKK21lYW5zIGVpdGhlciB0aGUgUHJvZ3JhbSBvciBhbnkgZGVyaXZhdGl2ZSB3b3JrIHVuZGVyIGNvcHlyaWdodCBsYXc6Cit0aGF0IGlzIHRvIHNheSwgYSB3b3JrIGNvbnRhaW5pbmcgdGhlIFByb2dyYW0gb3IgYSBwb3J0aW9uIG9mIGl0LAorZWl0aGVyIHZlcmJhdGltIG9yIHdpdGggbW9kaWZpY2F0aW9ucyBhbmQvb3IgdHJhbnNsYXRlZCBpbnRvIGFub3RoZXIKK2xhbmd1YWdlLiAgKEhlcmVpbmFmdGVyLCB0cmFuc2xhdGlvbiBpcyBpbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4KK3RoZSB0ZXJtICJtb2RpZmljYXRpb24iLikgIEVhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgorCitBY3Rpdml0aWVzIG90aGVyIHRoYW4gY29weWluZywgZGlzdHJpYnV0aW9uIGFuZCBtb2RpZmljYXRpb24gYXJlIG5vdAorY292ZXJlZCBieSB0aGlzIExpY2Vuc2U7IHRoZXkgYXJlIG91dHNpZGUgaXRzIHNjb3BlLiAgVGhlIGFjdCBvZgorcnVubmluZyB0aGUgUHJvZ3JhbSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIHRoZSBvdXRwdXQgZnJvbSB0aGUgUHJvZ3JhbQoraXMgY292ZXJlZCBvbmx5IGlmIGl0cyBjb250ZW50cyBjb25zdGl0dXRlIGEgd29yayBiYXNlZCBvbiB0aGUKK1Byb2dyYW0gKGluZGVwZW5kZW50IG9mIGhhdmluZyBiZWVuIG1hZGUgYnkgcnVubmluZyB0aGUgUHJvZ3JhbSkuCitXaGV0aGVyIHRoYXQgaXMgdHJ1ZSBkZXBlbmRzIG9uIHdoYXQgdGhlIFByb2dyYW0gZG9lcy4KKworICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBQcm9ncmFtJ3MKK3NvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0IHlvdQorY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbiBhcHByb3ByaWF0ZQorY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QgYWxsIHRoZQorbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55IHdhcnJhbnR5OworYW5kIGdpdmUgYW55IG90aGVyIHJlY2lwaWVudHMgb2YgdGhlIFByb2dyYW0gYSBjb3B5IG9mIHRoaXMgTGljZW5zZQorYWxvbmcgd2l0aCB0aGUgUHJvZ3JhbS4KKworWW91IG1heSBjaGFyZ2UgYSBmZWUgZm9yIHRoZSBwaHlzaWNhbCBhY3Qgb2YgdHJhbnNmZXJyaW5nIGEgY29weSwgYW5kCit5b3UgbWF5IGF0IHlvdXIgb3B0aW9uIG9mZmVyIHdhcnJhbnR5IHByb3RlY3Rpb24gaW4gZXhjaGFuZ2UgZm9yIGEgZmVlLgorCisgIDIuIFlvdSBtYXkgbW9kaWZ5IHlvdXIgY29weSBvciBjb3BpZXMgb2YgdGhlIFByb2dyYW0gb3IgYW55IHBvcnRpb24KK29mIGl0LCB0aHVzIGZvcm1pbmcgYSB3b3JrIGJhc2VkIG9uIHRoZSBQcm9ncmFtLCBhbmQgY29weSBhbmQKK2Rpc3RyaWJ1dGUgc3VjaCBtb2RpZmljYXRpb25zIG9yIHdvcmsgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb24gMQorYWJvdmUsIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gbWVldCBhbGwgb2YgdGhlc2UgY29uZGl0aW9uczoKKworICAgIGEpIFlvdSBtdXN0IGNhdXNlIHRoZSBtb2RpZmllZCBmaWxlcyB0byBjYXJyeSBwcm9taW5lbnQgbm90aWNlcworICAgIHN0YXRpbmcgdGhhdCB5b3UgY2hhbmdlZCB0aGUgZmlsZXMgYW5kIHRoZSBkYXRlIG9mIGFueSBjaGFuZ2UuCisKKyAgICBiKSBZb3UgbXVzdCBjYXVzZSBhbnkgd29yayB0aGF0IHlvdSBkaXN0cmlidXRlIG9yIHB1Ymxpc2gsIHRoYXQgaW4KKyAgICB3aG9sZSBvciBpbiBwYXJ0IGNvbnRhaW5zIG9yIGlzIGRlcml2ZWQgZnJvbSB0aGUgUHJvZ3JhbSBvciBhbnkKKyAgICBwYXJ0IHRoZXJlb2YsIHRvIGJlIGxpY2Vuc2VkIGFzIGEgd2hvbGUgYXQgbm8gY2hhcmdlIHRvIGFsbCB0aGlyZAorICAgIHBhcnRpZXMgdW5kZXIgdGhlIHRlcm1zIG9mIHRoaXMgTGljZW5zZS4KKworICAgIGMpIElmIHRoZSBtb2RpZmllZCBwcm9ncmFtIG5vcm1hbGx5IHJlYWRzIGNvbW1hbmRzIGludGVyYWN0aXZlbHkKKyAgICB3aGVuIHJ1biwgeW91IG11c3QgY2F1c2UgaXQsIHdoZW4gc3RhcnRlZCBydW5uaW5nIGZvciBzdWNoCisgICAgaW50ZXJhY3RpdmUgdXNlIGluIHRoZSBtb3N0IG9yZGluYXJ5IHdheSwgdG8gcHJpbnQgb3IgZGlzcGxheSBhbgorICAgIGFubm91bmNlbWVudCBpbmNsdWRpbmcgYW4gYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgYQorICAgIG5vdGljZSB0aGF0IHRoZXJlIGlzIG5vIHdhcnJhbnR5IChvciBlbHNlLCBzYXlpbmcgdGhhdCB5b3UgcHJvdmlkZQorICAgIGEgd2FycmFudHkpIGFuZCB0aGF0IHVzZXJzIG1heSByZWRpc3RyaWJ1dGUgdGhlIHByb2dyYW0gdW5kZXIKKyAgICB0aGVzZSBjb25kaXRpb25zLCBhbmQgdGVsbGluZyB0aGUgdXNlciBob3cgdG8gdmlldyBhIGNvcHkgb2YgdGhpcworICAgIExpY2Vuc2UuICAoRXhjZXB0aW9uOiBpZiB0aGUgUHJvZ3JhbSBpdHNlbGYgaXMgaW50ZXJhY3RpdmUgYnV0CisgICAgZG9lcyBub3Qgbm9ybWFsbHkgcHJpbnQgc3VjaCBhbiBhbm5vdW5jZW1lbnQsIHlvdXIgd29yayBiYXNlZCBvbgorICAgIHRoZSBQcm9ncmFtIGlzIG5vdCByZXF1aXJlZCB0byBwcmludCBhbiBhbm5vdW5jZW1lbnQuKQorCitUaGVzZSByZXF1aXJlbWVudHMgYXBwbHkgdG8gdGhlIG1vZGlmaWVkIHdvcmsgYXMgYSB3aG9sZS4gIElmCitpZGVudGlmaWFibGUgc2VjdGlvbnMgb2YgdGhhdCB3b3JrIGFyZSBub3QgZGVyaXZlZCBmcm9tIHRoZSBQcm9ncmFtLAorYW5kIGNhbiBiZSByZWFzb25hYmx5IGNvbnNpZGVyZWQgaW5kZXBlbmRlbnQgYW5kIHNlcGFyYXRlIHdvcmtzIGluCit0aGVtc2VsdmVzLCB0aGVuIHRoaXMgTGljZW5zZSwgYW5kIGl0cyB0ZXJtcywgZG8gbm90IGFwcGx5IHRvIHRob3NlCitzZWN0aW9ucyB3aGVuIHlvdSBkaXN0cmlidXRlIHRoZW0gYXMgc2VwYXJhdGUgd29ya3MuICBCdXQgd2hlbiB5b3UKK2Rpc3RyaWJ1dGUgdGhlIHNhbWUgc2VjdGlvbnMgYXMgcGFydCBvZiBhIHdob2xlIHdoaWNoIGlzIGEgd29yayBiYXNlZAorb24gdGhlIFByb2dyYW0sIHRoZSBkaXN0cmlidXRpb24gb2YgdGhlIHdob2xlIG11c3QgYmUgb24gdGhlIHRlcm1zIG9mCit0aGlzIExpY2Vuc2UsIHdob3NlIHBlcm1pc3Npb25zIGZvciBvdGhlciBsaWNlbnNlZXMgZXh0ZW5kIHRvIHRoZQorZW50aXJlIHdob2xlLCBhbmQgdGh1cyB0byBlYWNoIGFuZCBldmVyeSBwYXJ0IHJlZ2FyZGxlc3Mgb2Ygd2hvIHdyb3RlIGl0LgorCitUaHVzLCBpdCBpcyBub3QgdGhlIGludGVudCBvZiB0aGlzIHNlY3Rpb24gdG8gY2xhaW0gcmlnaHRzIG9yIGNvbnRlc3QKK3lvdXIgcmlnaHRzIHRvIHdvcmsgd3JpdHRlbiBlbnRpcmVseSBieSB5b3U7IHJhdGhlciwgdGhlIGludGVudCBpcyB0bworZXhlcmNpc2UgdGhlIHJpZ2h0IHRvIGNvbnRyb2wgdGhlIGRpc3RyaWJ1dGlvbiBvZiBkZXJpdmF0aXZlIG9yCitjb2xsZWN0aXZlIHdvcmtzIGJhc2VkIG9uIHRoZSBQcm9ncmFtLgorCitJbiBhZGRpdGlvbiwgbWVyZSBhZ2dyZWdhdGlvbiBvZiBhbm90aGVyIHdvcmsgbm90IGJhc2VkIG9uIHRoZSBQcm9ncmFtCit3aXRoIHRoZSBQcm9ncmFtIChvciB3aXRoIGEgd29yayBiYXNlZCBvbiB0aGUgUHJvZ3JhbSkgb24gYSB2b2x1bWUgb2YKK2Egc3RvcmFnZSBvciBkaXN0cmlidXRpb24gbWVkaXVtIGRvZXMgbm90IGJyaW5nIHRoZSBvdGhlciB3b3JrIHVuZGVyCit0aGUgc2NvcGUgb2YgdGhpcyBMaWNlbnNlLgorCisgIDMuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYSB3b3JrIGJhc2VkIG9uIGl0LAordW5kZXIgU2VjdGlvbiAyKSBpbiBvYmplY3QgY29kZSBvciBleGVjdXRhYmxlIGZvcm0gdW5kZXIgdGhlIHRlcm1zIG9mCitTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIHByb3ZpZGVkIHRoYXQgeW91IGFsc28gZG8gb25lIG9mIHRoZSBmb2xsb3dpbmc6CisKKyAgICBhKSBBY2NvbXBhbnkgaXQgd2l0aCB0aGUgY29tcGxldGUgY29ycmVzcG9uZGluZyBtYWNoaW5lLXJlYWRhYmxlCisgICAgc291cmNlIGNvZGUsIHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zCisgICAgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZTsgb3IsCisKKyAgICBiKSBBY2NvbXBhbnkgaXQgd2l0aCBhIHdyaXR0ZW4gb2ZmZXIsIHZhbGlkIGZvciBhdCBsZWFzdCB0aHJlZQorICAgIHllYXJzLCB0byBnaXZlIGFueSB0aGlyZCBwYXJ0eSwgZm9yIGEgY2hhcmdlIG5vIG1vcmUgdGhhbiB5b3VyCisgICAgY29zdCBvZiBwaHlzaWNhbGx5IHBlcmZvcm1pbmcgc291cmNlIGRpc3RyaWJ1dGlvbiwgYSBjb21wbGV0ZQorICAgIG1hY2hpbmUtcmVhZGFibGUgY29weSBvZiB0aGUgY29ycmVzcG9uZGluZyBzb3VyY2UgY29kZSwgdG8gYmUKKyAgICBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgU2VjdGlvbnMgMSBhbmQgMiBhYm92ZSBvbiBhIG1lZGl1bQorICAgIGN1c3RvbWFyaWx5IHVzZWQgZm9yIHNvZnR3YXJlIGludGVyY2hhbmdlOyBvciwKKworICAgIGMpIEFjY29tcGFueSBpdCB3aXRoIHRoZSBpbmZvcm1hdGlvbiB5b3UgcmVjZWl2ZWQgYXMgdG8gdGhlIG9mZmVyCisgICAgdG8gZGlzdHJpYnV0ZSBjb3JyZXNwb25kaW5nIHNvdXJjZSBjb2RlLiAgKFRoaXMgYWx0ZXJuYXRpdmUgaXMKKyAgICBhbGxvd2VkIG9ubHkgZm9yIG5vbmNvbW1lcmNpYWwgZGlzdHJpYnV0aW9uIGFuZCBvbmx5IGlmIHlvdQorICAgIHJlY2VpdmVkIHRoZSBwcm9ncmFtIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybSB3aXRoIHN1Y2gKKyAgICBhbiBvZmZlciwgaW4gYWNjb3JkIHdpdGggU3Vic2VjdGlvbiBiIGFib3ZlLikKKworVGhlIHNvdXJjZSBjb2RlIGZvciBhIHdvcmsgbWVhbnMgdGhlIHByZWZlcnJlZCBmb3JtIG9mIHRoZSB3b3JrIGZvcgorbWFraW5nIG1vZGlmaWNhdGlvbnMgdG8gaXQuICBGb3IgYW4gZXhlY3V0YWJsZSB3b3JrLCBjb21wbGV0ZSBzb3VyY2UKK2NvZGUgbWVhbnMgYWxsIHRoZSBzb3VyY2UgY29kZSBmb3IgYWxsIG1vZHVsZXMgaXQgY29udGFpbnMsIHBsdXMgYW55Cithc3NvY2lhdGVkIGludGVyZmFjZSBkZWZpbml0aW9uIGZpbGVzLCBwbHVzIHRoZSBzY3JpcHRzIHVzZWQgdG8KK2NvbnRyb2wgY29tcGlsYXRpb24gYW5kIGluc3RhbGxhdGlvbiBvZiB0aGUgZXhlY3V0YWJsZS4gIEhvd2V2ZXIsIGFzIGEKK3NwZWNpYWwgZXhjZXB0aW9uLCB0aGUgc291cmNlIGNvZGUgZGlzdHJpYnV0ZWQgbmVlZCBub3QgaW5jbHVkZQorYW55dGhpbmcgdGhhdCBpcyBub3JtYWxseSBkaXN0cmlidXRlZCAoaW4gZWl0aGVyIHNvdXJjZSBvciBiaW5hcnkKK2Zvcm0pIHdpdGggdGhlIG1ham9yIGNvbXBvbmVudHMgKGNvbXBpbGVyLCBrZXJuZWwsIGFuZCBzbyBvbikgb2YgdGhlCitvcGVyYXRpbmcgc3lzdGVtIG9uIHdoaWNoIHRoZSBleGVjdXRhYmxlIHJ1bnMsIHVubGVzcyB0aGF0IGNvbXBvbmVudAoraXRzZWxmIGFjY29tcGFuaWVzIHRoZSBleGVjdXRhYmxlLgorCitJZiBkaXN0cmlidXRpb24gb2YgZXhlY3V0YWJsZSBvciBvYmplY3QgY29kZSBpcyBtYWRlIGJ5IG9mZmVyaW5nCithY2Nlc3MgdG8gY29weSBmcm9tIGEgZGVzaWduYXRlZCBwbGFjZSwgdGhlbiBvZmZlcmluZyBlcXVpdmFsZW50CithY2Nlc3MgdG8gY29weSB0aGUgc291cmNlIGNvZGUgZnJvbSB0aGUgc2FtZSBwbGFjZSBjb3VudHMgYXMKK2Rpc3RyaWJ1dGlvbiBvZiB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdAorY29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4KKworICA0LiBZb3UgbWF5IG5vdCBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2UsIG9yIGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0KK2V4Y2VwdCBhcyBleHByZXNzbHkgcHJvdmlkZWQgdW5kZXIgdGhpcyBMaWNlbnNlLiAgQW55IGF0dGVtcHQKK290aGVyd2lzZSB0byBjb3B5LCBtb2RpZnksIHN1YmxpY2Vuc2Ugb3IgZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBpcwordm9pZCwgYW5kIHdpbGwgYXV0b21hdGljYWxseSB0ZXJtaW5hdGUgeW91ciByaWdodHMgdW5kZXIgdGhpcyBMaWNlbnNlLgorSG93ZXZlciwgcGFydGllcyB3aG8gaGF2ZSByZWNlaXZlZCBjb3BpZXMsIG9yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIKK3RoaXMgTGljZW5zZSB3aWxsIG5vdCBoYXZlIHRoZWlyIGxpY2Vuc2VzIHRlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoCitwYXJ0aWVzIHJlbWFpbiBpbiBmdWxsIGNvbXBsaWFuY2UuCisKKyAgNS4gWW91IGFyZSBub3QgcmVxdWlyZWQgdG8gYWNjZXB0IHRoaXMgTGljZW5zZSwgc2luY2UgeW91IGhhdmUgbm90CitzaWduZWQgaXQuICBIb3dldmVyLCBub3RoaW5nIGVsc2UgZ3JhbnRzIHlvdSBwZXJtaXNzaW9uIHRvIG1vZGlmeSBvcgorZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSBvciBpdHMgZGVyaXZhdGl2ZSB3b3Jrcy4gIFRoZXNlIGFjdGlvbnMgYXJlCitwcm9oaWJpdGVkIGJ5IGxhdyBpZiB5b3UgZG8gbm90IGFjY2VwdCB0aGlzIExpY2Vuc2UuICBUaGVyZWZvcmUsIGJ5Cittb2RpZnlpbmcgb3IgZGlzdHJpYnV0aW5nIHRoZSBQcm9ncmFtIChvciBhbnkgd29yayBiYXNlZCBvbiB0aGUKK1Byb2dyYW0pLCB5b3UgaW5kaWNhdGUgeW91ciBhY2NlcHRhbmNlIG9mIHRoaXMgTGljZW5zZSB0byBkbyBzbywgYW5kCithbGwgaXRzIHRlcm1zIGFuZCBjb25kaXRpb25zIGZvciBjb3B5aW5nLCBkaXN0cmlidXRpbmcgb3IgbW9kaWZ5aW5nCit0aGUgUHJvZ3JhbSBvciB3b3JrcyBiYXNlZCBvbiBpdC4KKworICA2LiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgUHJvZ3JhbSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCitQcm9ncmFtKSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQorb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSBvciBtb2RpZnkgdGhlIFByb2dyYW0gc3ViamVjdCB0bwordGhlc2UgdGVybXMgYW5kIGNvbmRpdGlvbnMuICBZb3UgbWF5IG5vdCBpbXBvc2UgYW55IGZ1cnRoZXIKK3Jlc3RyaWN0aW9ucyBvbiB0aGUgcmVjaXBpZW50cycgZXhlcmNpc2Ugb2YgdGhlIHJpZ2h0cyBncmFudGVkIGhlcmVpbi4KK1lvdSBhcmUgbm90IHJlc3BvbnNpYmxlIGZvciBlbmZvcmNpbmcgY29tcGxpYW5jZSBieSB0aGlyZCBwYXJ0aWVzIHRvCit0aGlzIExpY2Vuc2UuCisKKyAgNy4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAoraW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwKK2NvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKK290aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKK2V4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90CitkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCitMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91CittYXkgbm90IGRpc3RyaWJ1dGUgdGhlIFByb2dyYW0gYXQgYWxsLiAgRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50CitsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBQcm9ncmFtIGJ5CithbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KK3RoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8KK3JlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIFByb2dyYW0uCisKK0lmIGFueSBwb3J0aW9uIG9mIHRoaXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlcgorYW55IHBhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0bworYXBwbHkgYW5kIHRoZSBzZWN0aW9uIGFzIGEgd2hvbGUgaXMgaW50ZW5kZWQgdG8gYXBwbHkgaW4gb3RoZXIKK2NpcmN1bXN0YW5jZXMuCisKK0l0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKK3BhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55CitzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCitpbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSwgd2hpY2ggaXMKK2ltcGxlbWVudGVkIGJ5IHB1YmxpYyBsaWNlbnNlIHByYWN0aWNlcy4gIE1hbnkgcGVvcGxlIGhhdmUgbWFkZQorZ2VuZXJvdXMgY29udHJpYnV0aW9ucyB0byB0aGUgd2lkZSByYW5nZSBvZiBzb2Z0d2FyZSBkaXN0cmlidXRlZAordGhyb3VnaCB0aGF0IHN5c3RlbSBpbiByZWxpYW5jZSBvbiBjb25zaXN0ZW50IGFwcGxpY2F0aW9uIG9mIHRoYXQKK3N5c3RlbTsgaXQgaXMgdXAgdG8gdGhlIGF1dGhvci9kb25vciB0byBkZWNpZGUgaWYgaGUgb3Igc2hlIGlzIHdpbGxpbmcKK3RvIGRpc3RyaWJ1dGUgc29mdHdhcmUgdGhyb3VnaCBhbnkgb3RoZXIgc3lzdGVtIGFuZCBhIGxpY2Vuc2VlIGNhbm5vdAoraW1wb3NlIHRoYXQgY2hvaWNlLgorCitUaGlzIHNlY3Rpb24gaXMgaW50ZW5kZWQgdG8gbWFrZSB0aG9yb3VnaGx5IGNsZWFyIHdoYXQgaXMgYmVsaWV2ZWQgdG8KK2JlIGEgY29uc2VxdWVuY2Ugb2YgdGhlIHJlc3Qgb2YgdGhpcyBMaWNlbnNlLgorCisgIDguIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgUHJvZ3JhbSBpcyByZXN0cmljdGVkIGluCitjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUKK29yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgUHJvZ3JhbSB1bmRlciB0aGlzIExpY2Vuc2UKK21heSBhZGQgYW4gZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZwordGhvc2UgY291bnRyaWVzLCBzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZworY291bnRyaWVzIG5vdCB0aHVzIGV4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzCit0aGUgbGltaXRhdGlvbiBhcyBpZiB3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KKworICA5LiBUaGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIG1heSBwdWJsaXNoIHJldmlzZWQgYW5kL29yIG5ldyB2ZXJzaW9ucworb2YgdGhlIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZnJvbSB0aW1lIHRvIHRpbWUuICBTdWNoIG5ldyB2ZXJzaW9ucyB3aWxsCitiZSBzaW1pbGFyIGluIHNwaXJpdCB0byB0aGUgcHJlc2VudCB2ZXJzaW9uLCBidXQgbWF5IGRpZmZlciBpbiBkZXRhaWwgdG8KK2FkZHJlc3MgbmV3IHByb2JsZW1zIG9yIGNvbmNlcm5zLgorCitFYWNoIHZlcnNpb24gaXMgZ2l2ZW4gYSBkaXN0aW5ndWlzaGluZyB2ZXJzaW9uIG51bWJlci4gIElmIHRoZSBQcm9ncmFtCitzcGVjaWZpZXMgYSB2ZXJzaW9uIG51bWJlciBvZiB0aGlzIExpY2Vuc2Ugd2hpY2ggYXBwbGllcyB0byBpdCBhbmQgImFueQorbGF0ZXIgdmVyc2lvbiIsIHlvdSBoYXZlIHRoZSBvcHRpb24gb2YgZm9sbG93aW5nIHRoZSB0ZXJtcyBhbmQgY29uZGl0aW9ucworZWl0aGVyIG9mIHRoYXQgdmVyc2lvbiBvciBvZiBhbnkgbGF0ZXIgdmVyc2lvbiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKK1NvZnR3YXJlIEZvdW5kYXRpb24uICBJZiB0aGUgUHJvZ3JhbSBkb2VzIG5vdCBzcGVjaWZ5IGEgdmVyc2lvbiBudW1iZXIgb2YKK3RoaXMgTGljZW5zZSwgeW91IG1heSBjaG9vc2UgYW55IHZlcnNpb24gZXZlciBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUKK0ZvdW5kYXRpb24uCisKKyAgMTAuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBQcm9ncmFtIGludG8gb3RoZXIgZnJlZQorcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGRpZmZlcmVudCwgd3JpdGUgdG8gdGhlIGF1dGhvcgordG8gYXNrIGZvciBwZXJtaXNzaW9uLiAgRm9yIHNvZnR3YXJlIHdoaWNoIGlzIGNvcHlyaWdodGVkIGJ5IHRoZSBGcmVlCitTb2Z0d2FyZSBGb3VuZGF0aW9uLCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMKK21ha2UgZXhjZXB0aW9ucyBmb3IgdGhpcy4gIE91ciBkZWNpc2lvbiB3aWxsIGJlIGd1aWRlZCBieSB0aGUgdHdvIGdvYWxzCitvZiBwcmVzZXJ2aW5nIHRoZSBmcmVlIHN0YXR1cyBvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kCitvZiBwcm9tb3RpbmcgdGhlIHNoYXJpbmcgYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PIFdBUlJBTlRZCisKKyAgMTEuIEJFQ0FVU0UgVEhFIFBST0dSQU0gSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PIFdBUlJBTlRZCitGT1IgVEhFIFBST0dSQU0sIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLiAgRVhDRVBUIFdIRU4KK09USEVSV0lTRSBTVEFURUQgSU4gV1JJVElORyBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EL09SIE9USEVSIFBBUlRJRVMKK1BST1ZJREUgVEhFIFBST0dSQU0gIkFTIElTIiBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELCBFSVRIRVIgRVhQUkVTU0VECitPUiBJTVBMSUVELCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRgorTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUworVE8gVEhFIFFVQUxJVFkgQU5EIFBFUkZPUk1BTkNFIE9GIFRIRSBQUk9HUkFNIElTIFdJVEggWU9VLiAgU0hPVUxEIFRIRQorUFJPR1JBTSBQUk9WRSBERUZFQ1RJVkUsIFlPVSBBU1NVTUUgVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsCitSRVBBSVIgT1IgQ09SUkVDVElPTi4KKworICAxMi4gSU4gTk8gRVZFTlQgVU5MRVNTIFJFUVVJUkVEIEJZIEFQUExJQ0FCTEUgTEFXIE9SIEFHUkVFRCBUTyBJTiBXUklUSU5HCitXSUxMIEFOWSBDT1BZUklHSFQgSE9MREVSLCBPUiBBTlkgT1RIRVIgUEFSVFkgV0hPIE1BWSBNT0RJRlkgQU5EL09SCitSRURJU1RSSUJVVEUgVEhFIFBST0dSQU0gQVMgUEVSTUlUVEVEIEFCT1ZFLCBCRSBMSUFCTEUgVE8gWU9VIEZPUiBEQU1BR0VTLAorSU5DTFVESU5HIEFOWSBHRU5FUkFMLCBTUEVDSUFMLCBJTkNJREVOVEFMIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HCitPVVQgT0YgVEhFIFVTRSBPUiBJTkFCSUxJVFkgVE8gVVNFIFRIRSBQUk9HUkFNIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVECitUTyBMT1NTIE9GIERBVEEgT1IgREFUQSBCRUlORyBSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkKK1lPVSBPUiBUSElSRCBQQVJUSUVTIE9SIEEgRkFJTFVSRSBPRiBUSEUgUFJPR1JBTSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSCitQUk9HUkFNUyksIEVWRU4gSUYgU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUKK1BPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFUy4KKworICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCisKKyAgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBQcm9ncmFtcworCisgIElmIHlvdSBkZXZlbG9wIGEgbmV3IHByb2dyYW0sIGFuZCB5b3Ugd2FudCBpdCB0byBiZSBvZiB0aGUgZ3JlYXRlc3QKK3Bvc3NpYmxlIHVzZSB0byB0aGUgcHVibGljLCB0aGUgYmVzdCB3YXkgdG8gYWNoaWV2ZSB0aGlzIGlzIHRvIG1ha2UgaXQKK2ZyZWUgc29mdHdhcmUgd2hpY2ggZXZlcnlvbmUgY2FuIHJlZGlzdHJpYnV0ZSBhbmQgY2hhbmdlIHVuZGVyIHRoZXNlIHRlcm1zLgorCisgIFRvIGRvIHNvLCBhdHRhY2ggdGhlIGZvbGxvd2luZyBub3RpY2VzIHRvIHRoZSBwcm9ncmFtLiAgSXQgaXMgc2FmZXN0Cit0byBhdHRhY2ggdGhlbSB0byB0aGUgc3RhcnQgb2YgZWFjaCBzb3VyY2UgZmlsZSB0byBtb3N0IGVmZmVjdGl2ZWx5Citjb252ZXkgdGhlIGV4Y2x1c2lvbiBvZiB3YXJyYW50eTsgYW5kIGVhY2ggZmlsZSBzaG91bGQgaGF2ZSBhdCBsZWFzdAordGhlICJjb3B5cmlnaHQiIGxpbmUgYW5kIGEgcG9pbnRlciB0byB3aGVyZSB0aGUgZnVsbCBub3RpY2UgaXMgZm91bmQuCisKKyAgICA8b25lIGxpbmUgdG8gZ2l2ZSB0aGUgcHJvZ3JhbSdzIG5hbWUgYW5kIGEgYnJpZWYgaWRlYSBvZiB3aGF0IGl0IGRvZXMuPgorICAgIENvcHlyaWdodCAoQykgPHllYXI+ICA8bmFtZSBvZiBhdXRob3I+CisKKyAgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAgICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorCisgICAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgICAgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAgICA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorCitBbHNvIGFkZCBpbmZvcm1hdGlvbiBvbiBob3cgdG8gY29udGFjdCB5b3UgYnkgZWxlY3Ryb25pYyBhbmQgcGFwZXIgbWFpbC4KKworSWYgdGhlIHByb2dyYW0gaXMgaW50ZXJhY3RpdmUsIG1ha2UgaXQgb3V0cHV0IGEgc2hvcnQgbm90aWNlIGxpa2UgdGhpcword2hlbiBpdCBzdGFydHMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZToKKworICAgIEdub21vdmlzaW9uIHZlcnNpb24gNjksIENvcHlyaWdodCAoQykgeWVhciBuYW1lIG9mIGF1dGhvcgorICAgIEdub21vdmlzaW9uIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWTsgZm9yIGRldGFpbHMgdHlwZSBgc2hvdyB3Jy4KKyAgICBUaGlzIGlzIGZyZWUgc29mdHdhcmUsIGFuZCB5b3UgYXJlIHdlbGNvbWUgdG8gcmVkaXN0cmlidXRlIGl0CisgICAgdW5kZXIgY2VydGFpbiBjb25kaXRpb25zOyB0eXBlIGBzaG93IGMnIGZvciBkZXRhaWxzLgorCitUaGUgaHlwb3RoZXRpY2FsIGNvbW1hbmRzIGBzaG93IHcnIGFuZCBgc2hvdyBjJyBzaG91bGQgc2hvdyB0aGUgYXBwcm9wcmlhdGUKK3BhcnRzIG9mIHRoZSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgT2YgY291cnNlLCB0aGUgY29tbWFuZHMgeW91IHVzZSBtYXkKK2JlIGNhbGxlZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBgc2hvdyB3JyBhbmQgYHNob3cgYyc7IHRoZXkgY291bGQgZXZlbiBiZQorbW91c2UtY2xpY2tzIG9yIG1lbnUgaXRlbXMtLXdoYXRldmVyIHN1aXRzIHlvdXIgcHJvZ3JhbS4KKworWW91IHNob3VsZCBhbHNvIGdldCB5b3VyIGVtcGxveWVyIChpZiB5b3Ugd29yayBhcyBhIHByb2dyYW1tZXIpIG9yIHlvdXIKK3NjaG9vbCwgaWYgYW55LCB0byBzaWduIGEgImNvcHlyaWdodCBkaXNjbGFpbWVyIiBmb3IgdGhlIHByb2dyYW0sIGlmCituZWNlc3NhcnkuICBIZXJlIGlzIGEgc2FtcGxlOyBhbHRlciB0aGUgbmFtZXM6CisKKyAgWW95b2R5bmUsIEluYy4sIGhlcmVieSBkaXNjbGFpbXMgYWxsIGNvcHlyaWdodCBpbnRlcmVzdCBpbiB0aGUgcHJvZ3JhbQorICBgR25vbW92aXNpb24nICh3aGljaCBtYWtlcyBwYXNzZXMgYXQgY29tcGlsZXJzKSB3cml0dGVuIGJ5IEphbWVzIEhhY2tlci4KKworICA8c2lnbmF0dXJlIG9mIFR5IENvb24+LCAxIEFwcmlsIDE5ODkKKyAgVHkgQ29vbiwgUHJlc2lkZW50IG9mIFZpY2UKKworVGhpcyBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGRvZXMgbm90IHBlcm1pdCBpbmNvcnBvcmF0aW5nIHlvdXIgcHJvZ3JhbSBpbnRvCitwcm9wcmlldGFyeSBwcm9ncmFtcy4gIElmIHlvdXIgcHJvZ3JhbSBpcyBhIHN1YnJvdXRpbmUgbGlicmFyeSwgeW91IG1heQorY29uc2lkZXIgaXQgbW9yZSB1c2VmdWwgdG8gcGVybWl0IGxpbmtpbmcgcHJvcHJpZXRhcnkgYXBwbGljYXRpb25zIHdpdGggdGhlCitsaWJyYXJ5LiAgSWYgdGhpcyBpcyB3aGF0IHlvdSB3YW50IHRvIGRvLCB1c2UgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbAorUHVibGljIExpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuSVNDIGIvRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLklTQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzUxYTMwCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLklTQwpAQCAtMCwwICsxLDExIEBACitQZXJtaXNzaW9uIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBhbmQvb3IgZGlzdHJpYnV0ZSB0aGlzIHNvZnR3YXJlIGZvciBhbnkKK3B1cnBvc2Ugd2l0aCBvciB3aXRob3V0IGZlZSBpcyBoZXJlYnkgZ3JhbnRlZCwgcHJvdmlkZWQgdGhhdCB0aGUgYWJvdmUKK2NvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXBwZWFyIGluIGFsbCBjb3BpZXMuCisKK1RIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiIEFORCBUSEUgQVVUSE9SIERJU0NMQUlNUyBBTEwgV0FSUkFOVElFUworV0lUSCBSRUdBUkQgVE8gVEhJUyBTT0ZUV0FSRSBJTkNMVURJTkcgQUxMIElNUExJRUQgV0FSUkFOVElFUyBPRgorTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTLiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFIExJQUJMRSBGT1IKK0FOWSBTUEVDSUFMLCBESVJFQ1QsIElORElSRUNULCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgT1IgQU5ZIERBTUFHRVMKK1dIQVRTT0VWRVIgUkVTVUxUSU5HIEZST00gTE9TUyBPRiBVU0UsIERBVEEgT1IgUFJPRklUUywgV0hFVEhFUiBJTiBBTgorQUNUSU9OIE9GIENPTlRSQUNULCBORUdMSUdFTkNFIE9SIE9USEVSIFRPUlRJT1VTIEFDVElPTiwgQVJJU0lORyBPVVQgT0YKK09SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgVVNFIE9SIFBFUkZPUk1BTkNFIE9GIFRISVMgU09GVFdBUkUuCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuTEdQTHYyLjEgYi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuTEdQTHYyLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM2MmI0OQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5MR1BMdjIuMQpAQCAtMCwwICsxLDUwMiBAQAorICAgICAgICAgICAgICAgICAgR05VIExFU1NFUiBHRU5FUkFMIFBVQkxJQyBMSUNFTlNFCisgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb24gMi4xLCBGZWJydWFyeSAxOTk5CisKKyBDb3B5cmlnaHQgKEMpIDE5OTEsIDE5OTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAgMDIxMTAtMTMwMSAgVVNBCisgRXZlcnlvbmUgaXMgcGVybWl0dGVkIHRvIGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzCisgb2YgdGhpcyBsaWNlbnNlIGRvY3VtZW50LCBidXQgY2hhbmdpbmcgaXQgaXMgbm90IGFsbG93ZWQuCisKK1tUaGlzIGlzIHRoZSBmaXJzdCByZWxlYXNlZCB2ZXJzaW9uIG9mIHRoZSBMZXNzZXIgR1BMLiAgSXQgYWxzbyBjb3VudHMKKyBhcyB0aGUgc3VjY2Vzc29yIG9mIHRoZSBHTlUgTGlicmFyeSBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLCBoZW5jZQorIHRoZSB2ZXJzaW9uIG51bWJlciAyLjEuXQorCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJlYW1ibGUKKworICBUaGUgbGljZW5zZXMgZm9yIG1vc3Qgc29mdHdhcmUgYXJlIGRlc2lnbmVkIHRvIHRha2UgYXdheSB5b3VyCitmcmVlZG9tIHRvIHNoYXJlIGFuZCBjaGFuZ2UgaXQuICBCeSBjb250cmFzdCwgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworTGljZW5zZXMgYXJlIGludGVuZGVkIHRvIGd1YXJhbnRlZSB5b3VyIGZyZWVkb20gdG8gc2hhcmUgYW5kIGNoYW5nZQorZnJlZSBzb2Z0d2FyZS0tdG8gbWFrZSBzdXJlIHRoZSBzb2Z0d2FyZSBpcyBmcmVlIGZvciBhbGwgaXRzIHVzZXJzLgorCisgIFRoaXMgbGljZW5zZSwgdGhlIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLCBhcHBsaWVzIHRvIHNvbWUKK3NwZWNpYWxseSBkZXNpZ25hdGVkIHNvZnR3YXJlIHBhY2thZ2VzLS10eXBpY2FsbHkgbGlicmFyaWVzLS1vZiB0aGUKK0ZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBhbmQgb3RoZXIgYXV0aG9ycyB3aG8gZGVjaWRlIHRvIHVzZSBpdC4gIFlvdQorY2FuIHVzZSBpdCB0b28sIGJ1dCB3ZSBzdWdnZXN0IHlvdSBmaXJzdCB0aGluayBjYXJlZnVsbHkgYWJvdXQgd2hldGhlcgordGhpcyBsaWNlbnNlIG9yIHRoZSBvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGlzIHRoZSBiZXR0ZXIKK3N0cmF0ZWd5IHRvIHVzZSBpbiBhbnkgcGFydGljdWxhciBjYXNlLCBiYXNlZCBvbiB0aGUgZXhwbGFuYXRpb25zIGJlbG93LgorCisgIFdoZW4gd2Ugc3BlYWsgb2YgZnJlZSBzb2Z0d2FyZSwgd2UgYXJlIHJlZmVycmluZyB0byBmcmVlZG9tIG9mIHVzZSwKK25vdCBwcmljZS4gIE91ciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlcyBhcmUgZGVzaWduZWQgdG8gbWFrZSBzdXJlIHRoYXQKK3lvdSBoYXZlIHRoZSBmcmVlZG9tIHRvIGRpc3RyaWJ1dGUgY29waWVzIG9mIGZyZWUgc29mdHdhcmUgKGFuZCBjaGFyZ2UKK2ZvciB0aGlzIHNlcnZpY2UgaWYgeW91IHdpc2gpOyB0aGF0IHlvdSByZWNlaXZlIHNvdXJjZSBjb2RlIG9yIGNhbiBnZXQKK2l0IGlmIHlvdSB3YW50IGl0OyB0aGF0IHlvdSBjYW4gY2hhbmdlIHRoZSBzb2Z0d2FyZSBhbmQgdXNlIHBpZWNlcyBvZgoraXQgaW4gbmV3IGZyZWUgcHJvZ3JhbXM7IGFuZCB0aGF0IHlvdSBhcmUgaW5mb3JtZWQgdGhhdCB5b3UgY2FuIGRvCit0aGVzZSB0aGluZ3MuCisKKyAgVG8gcHJvdGVjdCB5b3VyIHJpZ2h0cywgd2UgbmVlZCB0byBtYWtlIHJlc3RyaWN0aW9ucyB0aGF0IGZvcmJpZAorZGlzdHJpYnV0b3JzIHRvIGRlbnkgeW91IHRoZXNlIHJpZ2h0cyBvciB0byBhc2sgeW91IHRvIHN1cnJlbmRlciB0aGVzZQorcmlnaHRzLiAgVGhlc2UgcmVzdHJpY3Rpb25zIHRyYW5zbGF0ZSB0byBjZXJ0YWluIHJlc3BvbnNpYmlsaXRpZXMgZm9yCit5b3UgaWYgeW91IGRpc3RyaWJ1dGUgY29waWVzIG9mIHRoZSBsaWJyYXJ5IG9yIGlmIHlvdSBtb2RpZnkgaXQuCisKKyAgRm9yIGV4YW1wbGUsIGlmIHlvdSBkaXN0cmlidXRlIGNvcGllcyBvZiB0aGUgbGlicmFyeSwgd2hldGhlciBncmF0aXMKK29yIGZvciBhIGZlZSwgeW91IG11c3QgZ2l2ZSB0aGUgcmVjaXBpZW50cyBhbGwgdGhlIHJpZ2h0cyB0aGF0IHdlIGdhdmUKK3lvdS4gIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGF0IHRoZXksIHRvbywgcmVjZWl2ZSBvciBjYW4gZ2V0IHRoZSBzb3VyY2UKK2NvZGUuICBJZiB5b3UgbGluayBvdGhlciBjb2RlIHdpdGggdGhlIGxpYnJhcnksIHlvdSBtdXN0IHByb3ZpZGUKK2NvbXBsZXRlIG9iamVjdCBmaWxlcyB0byB0aGUgcmVjaXBpZW50cywgc28gdGhhdCB0aGV5IGNhbiByZWxpbmsgdGhlbQord2l0aCB0aGUgbGlicmFyeSBhZnRlciBtYWtpbmcgY2hhbmdlcyB0byB0aGUgbGlicmFyeSBhbmQgcmVjb21waWxpbmcKK2l0LiAgQW5kIHlvdSBtdXN0IHNob3cgdGhlbSB0aGVzZSB0ZXJtcyBzbyB0aGV5IGtub3cgdGhlaXIgcmlnaHRzLgorCisgIFdlIHByb3RlY3QgeW91ciByaWdodHMgd2l0aCBhIHR3by1zdGVwIG1ldGhvZDogKDEpIHdlIGNvcHlyaWdodCB0aGUKK2xpYnJhcnksIGFuZCAoMikgd2Ugb2ZmZXIgeW91IHRoaXMgbGljZW5zZSwgd2hpY2ggZ2l2ZXMgeW91IGxlZ2FsCitwZXJtaXNzaW9uIHRvIGNvcHksIGRpc3RyaWJ1dGUgYW5kL29yIG1vZGlmeSB0aGUgbGlicmFyeS4KKworICBUbyBwcm90ZWN0IGVhY2ggZGlzdHJpYnV0b3IsIHdlIHdhbnQgdG8gbWFrZSBpdCB2ZXJ5IGNsZWFyIHRoYXQKK3RoZXJlIGlzIG5vIHdhcnJhbnR5IGZvciB0aGUgZnJlZSBsaWJyYXJ5LiAgQWxzbywgaWYgdGhlIGxpYnJhcnkgaXMKK21vZGlmaWVkIGJ5IHNvbWVvbmUgZWxzZSBhbmQgcGFzc2VkIG9uLCB0aGUgcmVjaXBpZW50cyBzaG91bGQga25vdwordGhhdCB3aGF0IHRoZXkgaGF2ZSBpcyBub3QgdGhlIG9yaWdpbmFsIHZlcnNpb24sIHNvIHRoYXQgdGhlIG9yaWdpbmFsCithdXRob3IncyByZXB1dGF0aW9uIHdpbGwgbm90IGJlIGFmZmVjdGVkIGJ5IHByb2JsZW1zIHRoYXQgbWlnaHQgYmUKK2ludHJvZHVjZWQgYnkgb3RoZXJzLgorDAorICBGaW5hbGx5LCBzb2Z0d2FyZSBwYXRlbnRzIHBvc2UgYSBjb25zdGFudCB0aHJlYXQgdG8gdGhlIGV4aXN0ZW5jZSBvZgorYW55IGZyZWUgcHJvZ3JhbS4gIFdlIHdpc2ggdG8gbWFrZSBzdXJlIHRoYXQgYSBjb21wYW55IGNhbm5vdAorZWZmZWN0aXZlbHkgcmVzdHJpY3QgdGhlIHVzZXJzIG9mIGEgZnJlZSBwcm9ncmFtIGJ5IG9idGFpbmluZyBhCityZXN0cmljdGl2ZSBsaWNlbnNlIGZyb20gYSBwYXRlbnQgaG9sZGVyLiAgVGhlcmVmb3JlLCB3ZSBpbnNpc3QgdGhhdAorYW55IHBhdGVudCBsaWNlbnNlIG9idGFpbmVkIGZvciBhIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkgbXVzdCBiZQorY29uc2lzdGVudCB3aXRoIHRoZSBmdWxsIGZyZWVkb20gb2YgdXNlIHNwZWNpZmllZCBpbiB0aGlzIGxpY2Vuc2UuCisKKyAgTW9zdCBHTlUgc29mdHdhcmUsIGluY2x1ZGluZyBzb21lIGxpYnJhcmllcywgaXMgY292ZXJlZCBieSB0aGUKK29yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgVGhpcyBsaWNlbnNlLCB0aGUgR05VIExlc3NlcgorR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgYXBwbGllcyB0byBjZXJ0YWluIGRlc2lnbmF0ZWQgbGlicmFyaWVzLCBhbmQKK2lzIHF1aXRlIGRpZmZlcmVudCBmcm9tIHRoZSBvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLiAgV2UgdXNlCit0aGlzIGxpY2Vuc2UgZm9yIGNlcnRhaW4gbGlicmFyaWVzIGluIG9yZGVyIHRvIHBlcm1pdCBsaW5raW5nIHRob3NlCitsaWJyYXJpZXMgaW50byBub24tZnJlZSBwcm9ncmFtcy4KKworICBXaGVuIGEgcHJvZ3JhbSBpcyBsaW5rZWQgd2l0aCBhIGxpYnJhcnksIHdoZXRoZXIgc3RhdGljYWxseSBvciB1c2luZworYSBzaGFyZWQgbGlicmFyeSwgdGhlIGNvbWJpbmF0aW9uIG9mIHRoZSB0d28gaXMgbGVnYWxseSBzcGVha2luZyBhCitjb21iaW5lZCB3b3JrLCBhIGRlcml2YXRpdmUgb2YgdGhlIG9yaWdpbmFsIGxpYnJhcnkuICBUaGUgb3JkaW5hcnkKK0dlbmVyYWwgUHVibGljIExpY2Vuc2UgdGhlcmVmb3JlIHBlcm1pdHMgc3VjaCBsaW5raW5nIG9ubHkgaWYgdGhlCitlbnRpcmUgY29tYmluYXRpb24gZml0cyBpdHMgY3JpdGVyaWEgb2YgZnJlZWRvbS4gIFRoZSBMZXNzZXIgR2VuZXJhbAorUHVibGljIExpY2Vuc2UgcGVybWl0cyBtb3JlIGxheCBjcml0ZXJpYSBmb3IgbGlua2luZyBvdGhlciBjb2RlIHdpdGgKK3RoZSBsaWJyYXJ5LgorCisgIFdlIGNhbGwgdGhpcyBsaWNlbnNlIHRoZSAiTGVzc2VyIiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGJlY2F1c2UgaXQKK2RvZXMgTGVzcyB0byBwcm90ZWN0IHRoZSB1c2VyJ3MgZnJlZWRvbSB0aGFuIHRoZSBvcmRpbmFyeSBHZW5lcmFsCitQdWJsaWMgTGljZW5zZS4gIEl0IGFsc28gcHJvdmlkZXMgb3RoZXIgZnJlZSBzb2Z0d2FyZSBkZXZlbG9wZXJzIExlc3MKK29mIGFuIGFkdmFudGFnZSBvdmVyIGNvbXBldGluZyBub24tZnJlZSBwcm9ncmFtcy4gIFRoZXNlIGRpc2FkdmFudGFnZXMKK2FyZSB0aGUgcmVhc29uIHdlIHVzZSB0aGUgb3JkaW5hcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbWFueQorbGlicmFyaWVzLiAgSG93ZXZlciwgdGhlIExlc3NlciBsaWNlbnNlIHByb3ZpZGVzIGFkdmFudGFnZXMgaW4gY2VydGFpbgorc3BlY2lhbCBjaXJjdW1zdGFuY2VzLgorCisgIEZvciBleGFtcGxlLCBvbiByYXJlIG9jY2FzaW9ucywgdGhlcmUgbWF5IGJlIGEgc3BlY2lhbCBuZWVkIHRvCitlbmNvdXJhZ2UgdGhlIHdpZGVzdCBwb3NzaWJsZSB1c2Ugb2YgYSBjZXJ0YWluIGxpYnJhcnksIHNvIHRoYXQgaXQgYmVjb21lcworYSBkZS1mYWN0byBzdGFuZGFyZC4gIFRvIGFjaGlldmUgdGhpcywgbm9uLWZyZWUgcHJvZ3JhbXMgbXVzdCBiZQorYWxsb3dlZCB0byB1c2UgdGhlIGxpYnJhcnkuICBBIG1vcmUgZnJlcXVlbnQgY2FzZSBpcyB0aGF0IGEgZnJlZQorbGlicmFyeSBkb2VzIHRoZSBzYW1lIGpvYiBhcyB3aWRlbHkgdXNlZCBub24tZnJlZSBsaWJyYXJpZXMuICBJbiB0aGlzCitjYXNlLCB0aGVyZSBpcyBsaXR0bGUgdG8gZ2FpbiBieSBsaW1pdGluZyB0aGUgZnJlZSBsaWJyYXJ5IHRvIGZyZWUKK3NvZnR3YXJlIG9ubHksIHNvIHdlIHVzZSB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisKKyAgSW4gb3RoZXIgY2FzZXMsIHBlcm1pc3Npb24gdG8gdXNlIGEgcGFydGljdWxhciBsaWJyYXJ5IGluIG5vbi1mcmVlCitwcm9ncmFtcyBlbmFibGVzIGEgZ3JlYXRlciBudW1iZXIgb2YgcGVvcGxlIHRvIHVzZSBhIGxhcmdlIGJvZHkgb2YKK2ZyZWUgc29mdHdhcmUuICBGb3IgZXhhbXBsZSwgcGVybWlzc2lvbiB0byB1c2UgdGhlIEdOVSBDIExpYnJhcnkgaW4KK25vbi1mcmVlIHByb2dyYW1zIGVuYWJsZXMgbWFueSBtb3JlIHBlb3BsZSB0byB1c2UgdGhlIHdob2xlIEdOVQorb3BlcmF0aW5nIHN5c3RlbSwgYXMgd2VsbCBhcyBpdHMgdmFyaWFudCwgdGhlIEdOVS9MaW51eCBvcGVyYXRpbmcKK3N5c3RlbS4KKworICBBbHRob3VnaCB0aGUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgaXMgTGVzcyBwcm90ZWN0aXZlIG9mIHRoZQordXNlcnMnIGZyZWVkb20sIGl0IGRvZXMgZW5zdXJlIHRoYXQgdGhlIHVzZXIgb2YgYSBwcm9ncmFtIHRoYXQgaXMKK2xpbmtlZCB3aXRoIHRoZSBMaWJyYXJ5IGhhcyB0aGUgZnJlZWRvbSBhbmQgdGhlIHdoZXJld2l0aGFsIHRvIHJ1bgordGhhdCBwcm9ncmFtIHVzaW5nIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgTGlicmFyeS4KKworICBUaGUgcHJlY2lzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucyBmb3IgY29weWluZywgZGlzdHJpYnV0aW9uIGFuZAorbW9kaWZpY2F0aW9uIGZvbGxvdy4gIFBheSBjbG9zZSBhdHRlbnRpb24gdG8gdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhCisid29yayBiYXNlZCBvbiB0aGUgbGlicmFyeSIgYW5kIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBsaWJyYXJ5Ii4gIFRoZQorZm9ybWVyIGNvbnRhaW5zIGNvZGUgZGVyaXZlZCBmcm9tIHRoZSBsaWJyYXJ5LCB3aGVyZWFzIHRoZSBsYXR0ZXIgbXVzdAorYmUgY29tYmluZWQgd2l0aCB0aGUgbGlicmFyeSBpbiBvcmRlciB0byBydW4uCisMCisgICAgICAgICAgICAgICAgICBHTlUgTEVTU0VSIEdFTkVSQUwgUFVCTElDIExJQ0VOU0UKKyAgIFRFUk1TIEFORCBDT05ESVRJT05TIEZPUiBDT1BZSU5HLCBESVNUUklCVVRJT04gQU5EIE1PRElGSUNBVElPTgorCisgIDAuIFRoaXMgTGljZW5zZSBBZ3JlZW1lbnQgYXBwbGllcyB0byBhbnkgc29mdHdhcmUgbGlicmFyeSBvciBvdGhlcgorcHJvZ3JhbSB3aGljaCBjb250YWlucyBhIG5vdGljZSBwbGFjZWQgYnkgdGhlIGNvcHlyaWdodCBob2xkZXIgb3IKK290aGVyIGF1dGhvcml6ZWQgcGFydHkgc2F5aW5nIGl0IG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YKK3RoaXMgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKGFsc28gY2FsbGVkICJ0aGlzIExpY2Vuc2UiKS4KK0VhY2ggbGljZW5zZWUgaXMgYWRkcmVzc2VkIGFzICJ5b3UiLgorCisgIEEgImxpYnJhcnkiIG1lYW5zIGEgY29sbGVjdGlvbiBvZiBzb2Z0d2FyZSBmdW5jdGlvbnMgYW5kL29yIGRhdGEKK3ByZXBhcmVkIHNvIGFzIHRvIGJlIGNvbnZlbmllbnRseSBsaW5rZWQgd2l0aCBhcHBsaWNhdGlvbiBwcm9ncmFtcworKHdoaWNoIHVzZSBzb21lIG9mIHRob3NlIGZ1bmN0aW9ucyBhbmQgZGF0YSkgdG8gZm9ybSBleGVjdXRhYmxlcy4KKworICBUaGUgIkxpYnJhcnkiLCBiZWxvdywgcmVmZXJzIHRvIGFueSBzdWNoIHNvZnR3YXJlIGxpYnJhcnkgb3Igd29yaword2hpY2ggaGFzIGJlZW4gZGlzdHJpYnV0ZWQgdW5kZXIgdGhlc2UgdGVybXMuICBBICJ3b3JrIGJhc2VkIG9uIHRoZQorTGlicmFyeSIgbWVhbnMgZWl0aGVyIHRoZSBMaWJyYXJ5IG9yIGFueSBkZXJpdmF0aXZlIHdvcmsgdW5kZXIKK2NvcHlyaWdodCBsYXc6IHRoYXQgaXMgdG8gc2F5LCBhIHdvcmsgY29udGFpbmluZyB0aGUgTGlicmFyeSBvciBhCitwb3J0aW9uIG9mIGl0LCBlaXRoZXIgdmVyYmF0aW0gb3Igd2l0aCBtb2RpZmljYXRpb25zIGFuZC9vciB0cmFuc2xhdGVkCitzdHJhaWdodGZvcndhcmRseSBpbnRvIGFub3RoZXIgbGFuZ3VhZ2UuICAoSGVyZWluYWZ0ZXIsIHRyYW5zbGF0aW9uIGlzCitpbmNsdWRlZCB3aXRob3V0IGxpbWl0YXRpb24gaW4gdGhlIHRlcm0gIm1vZGlmaWNhdGlvbiIuKQorCisgICJTb3VyY2UgY29kZSIgZm9yIGEgd29yayBtZWFucyB0aGUgcHJlZmVycmVkIGZvcm0gb2YgdGhlIHdvcmsgZm9yCittYWtpbmcgbW9kaWZpY2F0aW9ucyB0byBpdC4gIEZvciBhIGxpYnJhcnksIGNvbXBsZXRlIHNvdXJjZSBjb2RlIG1lYW5zCithbGwgdGhlIHNvdXJjZSBjb2RlIGZvciBhbGwgbW9kdWxlcyBpdCBjb250YWlucywgcGx1cyBhbnkgYXNzb2NpYXRlZAoraW50ZXJmYWNlIGRlZmluaXRpb24gZmlsZXMsIHBsdXMgdGhlIHNjcmlwdHMgdXNlZCB0byBjb250cm9sIGNvbXBpbGF0aW9uCithbmQgaW5zdGFsbGF0aW9uIG9mIHRoZSBsaWJyYXJ5LgorCisgIEFjdGl2aXRpZXMgb3RoZXIgdGhhbiBjb3B5aW5nLCBkaXN0cmlidXRpb24gYW5kIG1vZGlmaWNhdGlvbiBhcmUgbm90Citjb3ZlcmVkIGJ5IHRoaXMgTGljZW5zZTsgdGhleSBhcmUgb3V0c2lkZSBpdHMgc2NvcGUuICBUaGUgYWN0IG9mCitydW5uaW5nIGEgcHJvZ3JhbSB1c2luZyB0aGUgTGlicmFyeSBpcyBub3QgcmVzdHJpY3RlZCwgYW5kIG91dHB1dCBmcm9tCitzdWNoIGEgcHJvZ3JhbSBpcyBjb3ZlcmVkIG9ubHkgaWYgaXRzIGNvbnRlbnRzIGNvbnN0aXR1dGUgYSB3b3JrIGJhc2VkCitvbiB0aGUgTGlicmFyeSAoaW5kZXBlbmRlbnQgb2YgdGhlIHVzZSBvZiB0aGUgTGlicmFyeSBpbiBhIHRvb2wgZm9yCit3cml0aW5nIGl0KS4gIFdoZXRoZXIgdGhhdCBpcyB0cnVlIGRlcGVuZHMgb24gd2hhdCB0aGUgTGlicmFyeSBkb2VzCithbmQgd2hhdCB0aGUgcHJvZ3JhbSB0aGF0IHVzZXMgdGhlIExpYnJhcnkgZG9lcy4KKworICAxLiBZb3UgbWF5IGNvcHkgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoZSBMaWJyYXJ5J3MKK2NvbXBsZXRlIHNvdXJjZSBjb2RlIGFzIHlvdSByZWNlaXZlIGl0LCBpbiBhbnkgbWVkaXVtLCBwcm92aWRlZCB0aGF0Cit5b3UgY29uc3BpY3VvdXNseSBhbmQgYXBwcm9wcmlhdGVseSBwdWJsaXNoIG9uIGVhY2ggY29weSBhbgorYXBwcm9wcmlhdGUgY29weXJpZ2h0IG5vdGljZSBhbmQgZGlzY2xhaW1lciBvZiB3YXJyYW50eTsga2VlcCBpbnRhY3QKK2FsbCB0aGUgbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSBhbmQgdG8gdGhlIGFic2VuY2Ugb2YgYW55Cit3YXJyYW50eTsgYW5kIGRpc3RyaWJ1dGUgYSBjb3B5IG9mIHRoaXMgTGljZW5zZSBhbG9uZyB3aXRoIHRoZQorTGlicmFyeS4KKworICBZb3UgbWF5IGNoYXJnZSBhIGZlZSBmb3IgdGhlIHBoeXNpY2FsIGFjdCBvZiB0cmFuc2ZlcnJpbmcgYSBjb3B5LAorYW5kIHlvdSBtYXkgYXQgeW91ciBvcHRpb24gb2ZmZXIgd2FycmFudHkgcHJvdGVjdGlvbiBpbiBleGNoYW5nZSBmb3IgYQorZmVlLgorDAorICAyLiBZb3UgbWF5IG1vZGlmeSB5b3VyIGNvcHkgb3IgY29waWVzIG9mIHRoZSBMaWJyYXJ5IG9yIGFueSBwb3J0aW9uCitvZiBpdCwgdGh1cyBmb3JtaW5nIGEgd29yayBiYXNlZCBvbiB0aGUgTGlicmFyeSwgYW5kIGNvcHkgYW5kCitkaXN0cmlidXRlIHN1Y2ggbW9kaWZpY2F0aW9ucyBvciB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDEKK2Fib3ZlLCBwcm92aWRlZCB0aGF0IHlvdSBhbHNvIG1lZXQgYWxsIG9mIHRoZXNlIGNvbmRpdGlvbnM6CisKKyAgICBhKSBUaGUgbW9kaWZpZWQgd29yayBtdXN0IGl0c2VsZiBiZSBhIHNvZnR3YXJlIGxpYnJhcnkuCisKKyAgICBiKSBZb3UgbXVzdCBjYXVzZSB0aGUgZmlsZXMgbW9kaWZpZWQgdG8gY2FycnkgcHJvbWluZW50IG5vdGljZXMKKyAgICBzdGF0aW5nIHRoYXQgeW91IGNoYW5nZWQgdGhlIGZpbGVzIGFuZCB0aGUgZGF0ZSBvZiBhbnkgY2hhbmdlLgorCisgICAgYykgWW91IG11c3QgY2F1c2UgdGhlIHdob2xlIG9mIHRoZSB3b3JrIHRvIGJlIGxpY2Vuc2VkIGF0IG5vCisgICAgY2hhcmdlIHRvIGFsbCB0aGlyZCBwYXJ0aWVzIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGlzIExpY2Vuc2UuCisKKyAgICBkKSBJZiBhIGZhY2lsaXR5IGluIHRoZSBtb2RpZmllZCBMaWJyYXJ5IHJlZmVycyB0byBhIGZ1bmN0aW9uIG9yIGEKKyAgICB0YWJsZSBvZiBkYXRhIHRvIGJlIHN1cHBsaWVkIGJ5IGFuIGFwcGxpY2F0aW9uIHByb2dyYW0gdGhhdCB1c2VzCisgICAgdGhlIGZhY2lsaXR5LCBvdGhlciB0aGFuIGFzIGFuIGFyZ3VtZW50IHBhc3NlZCB3aGVuIHRoZSBmYWNpbGl0eQorICAgIGlzIGludm9rZWQsIHRoZW4geW91IG11c3QgbWFrZSBhIGdvb2QgZmFpdGggZWZmb3J0IHRvIGVuc3VyZSB0aGF0LAorICAgIGluIHRoZSBldmVudCBhbiBhcHBsaWNhdGlvbiBkb2VzIG5vdCBzdXBwbHkgc3VjaCBmdW5jdGlvbiBvcgorICAgIHRhYmxlLCB0aGUgZmFjaWxpdHkgc3RpbGwgb3BlcmF0ZXMsIGFuZCBwZXJmb3JtcyB3aGF0ZXZlciBwYXJ0IG9mCisgICAgaXRzIHB1cnBvc2UgcmVtYWlucyBtZWFuaW5nZnVsLgorCisgICAgKEZvciBleGFtcGxlLCBhIGZ1bmN0aW9uIGluIGEgbGlicmFyeSB0byBjb21wdXRlIHNxdWFyZSByb290cyBoYXMKKyAgICBhIHB1cnBvc2UgdGhhdCBpcyBlbnRpcmVseSB3ZWxsLWRlZmluZWQgaW5kZXBlbmRlbnQgb2YgdGhlCisgICAgYXBwbGljYXRpb24uICBUaGVyZWZvcmUsIFN1YnNlY3Rpb24gMmQgcmVxdWlyZXMgdGhhdCBhbnkKKyAgICBhcHBsaWNhdGlvbi1zdXBwbGllZCBmdW5jdGlvbiBvciB0YWJsZSB1c2VkIGJ5IHRoaXMgZnVuY3Rpb24gbXVzdAorICAgIGJlIG9wdGlvbmFsOiBpZiB0aGUgYXBwbGljYXRpb24gZG9lcyBub3Qgc3VwcGx5IGl0LCB0aGUgc3F1YXJlCisgICAgcm9vdCBmdW5jdGlvbiBtdXN0IHN0aWxsIGNvbXB1dGUgc3F1YXJlIHJvb3RzLikKKworVGhlc2UgcmVxdWlyZW1lbnRzIGFwcGx5IHRvIHRoZSBtb2RpZmllZCB3b3JrIGFzIGEgd2hvbGUuICBJZgoraWRlbnRpZmlhYmxlIHNlY3Rpb25zIG9mIHRoYXQgd29yayBhcmUgbm90IGRlcml2ZWQgZnJvbSB0aGUgTGlicmFyeSwKK2FuZCBjYW4gYmUgcmVhc29uYWJseSBjb25zaWRlcmVkIGluZGVwZW5kZW50IGFuZCBzZXBhcmF0ZSB3b3JrcyBpbgordGhlbXNlbHZlcywgdGhlbiB0aGlzIExpY2Vuc2UsIGFuZCBpdHMgdGVybXMsIGRvIG5vdCBhcHBseSB0byB0aG9zZQorc2VjdGlvbnMgd2hlbiB5b3UgZGlzdHJpYnV0ZSB0aGVtIGFzIHNlcGFyYXRlIHdvcmtzLiAgQnV0IHdoZW4geW91CitkaXN0cmlidXRlIHRoZSBzYW1lIHNlY3Rpb25zIGFzIHBhcnQgb2YgYSB3aG9sZSB3aGljaCBpcyBhIHdvcmsgYmFzZWQKK29uIHRoZSBMaWJyYXJ5LCB0aGUgZGlzdHJpYnV0aW9uIG9mIHRoZSB3aG9sZSBtdXN0IGJlIG9uIHRoZSB0ZXJtcyBvZgordGhpcyBMaWNlbnNlLCB3aG9zZSBwZXJtaXNzaW9ucyBmb3Igb3RoZXIgbGljZW5zZWVzIGV4dGVuZCB0byB0aGUKK2VudGlyZSB3aG9sZSwgYW5kIHRodXMgdG8gZWFjaCBhbmQgZXZlcnkgcGFydCByZWdhcmRsZXNzIG9mIHdobyB3cm90ZQoraXQuCisKK1RodXMsIGl0IGlzIG5vdCB0aGUgaW50ZW50IG9mIHRoaXMgc2VjdGlvbiB0byBjbGFpbSByaWdodHMgb3IgY29udGVzdAoreW91ciByaWdodHMgdG8gd29yayB3cml0dGVuIGVudGlyZWx5IGJ5IHlvdTsgcmF0aGVyLCB0aGUgaW50ZW50IGlzIHRvCitleGVyY2lzZSB0aGUgcmlnaHQgdG8gY29udHJvbCB0aGUgZGlzdHJpYnV0aW9uIG9mIGRlcml2YXRpdmUgb3IKK2NvbGxlY3RpdmUgd29ya3MgYmFzZWQgb24gdGhlIExpYnJhcnkuCisKK0luIGFkZGl0aW9uLCBtZXJlIGFnZ3JlZ2F0aW9uIG9mIGFub3RoZXIgd29yayBub3QgYmFzZWQgb24gdGhlIExpYnJhcnkKK3dpdGggdGhlIExpYnJhcnkgKG9yIHdpdGggYSB3b3JrIGJhc2VkIG9uIHRoZSBMaWJyYXJ5KSBvbiBhIHZvbHVtZSBvZgorYSBzdG9yYWdlIG9yIGRpc3RyaWJ1dGlvbiBtZWRpdW0gZG9lcyBub3QgYnJpbmcgdGhlIG90aGVyIHdvcmsgdW5kZXIKK3RoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgMy4gWW91IG1heSBvcHQgdG8gYXBwbHkgdGhlIHRlcm1zIG9mIHRoZSBvcmRpbmFyeSBHTlUgR2VuZXJhbCBQdWJsaWMKK0xpY2Vuc2UgaW5zdGVhZCBvZiB0aGlzIExpY2Vuc2UgdG8gYSBnaXZlbiBjb3B5IG9mIHRoZSBMaWJyYXJ5LiAgVG8gZG8KK3RoaXMsIHlvdSBtdXN0IGFsdGVyIGFsbCB0aGUgbm90aWNlcyB0aGF0IHJlZmVyIHRvIHRoaXMgTGljZW5zZSwgc28KK3RoYXQgdGhleSByZWZlciB0byB0aGUgb3JkaW5hcnkgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwKK2luc3RlYWQgb2YgdG8gdGhpcyBMaWNlbnNlLiAgKElmIGEgbmV3ZXIgdmVyc2lvbiB0aGFuIHZlcnNpb24gMiBvZiB0aGUKK29yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGhhcyBhcHBlYXJlZCwgdGhlbiB5b3UgY2FuIHNwZWNpZnkKK3RoYXQgdmVyc2lvbiBpbnN0ZWFkIGlmIHlvdSB3aXNoLikgIERvIG5vdCBtYWtlIGFueSBvdGhlciBjaGFuZ2UgaW4KK3RoZXNlIG5vdGljZXMuCisMCisgIE9uY2UgdGhpcyBjaGFuZ2UgaXMgbWFkZSBpbiBhIGdpdmVuIGNvcHksIGl0IGlzIGlycmV2ZXJzaWJsZSBmb3IKK3RoYXQgY29weSwgc28gdGhlIG9yZGluYXJ5IEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFwcGxpZXMgdG8gYWxsCitzdWJzZXF1ZW50IGNvcGllcyBhbmQgZGVyaXZhdGl2ZSB3b3JrcyBtYWRlIGZyb20gdGhhdCBjb3B5LgorCisgIFRoaXMgb3B0aW9uIGlzIHVzZWZ1bCB3aGVuIHlvdSB3aXNoIHRvIGNvcHkgcGFydCBvZiB0aGUgY29kZSBvZgordGhlIExpYnJhcnkgaW50byBhIHByb2dyYW0gdGhhdCBpcyBub3QgYSBsaWJyYXJ5LgorCisgIDQuIFlvdSBtYXkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYSBwb3J0aW9uIG9yCitkZXJpdmF0aXZlIG9mIGl0LCB1bmRlciBTZWN0aW9uIDIpIGluIG9iamVjdCBjb2RlIG9yIGV4ZWN1dGFibGUgZm9ybQordW5kZXIgdGhlIHRlcm1zIG9mIFNlY3Rpb25zIDEgYW5kIDIgYWJvdmUgcHJvdmlkZWQgdGhhdCB5b3UgYWNjb21wYW55CitpdCB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nIG1hY2hpbmUtcmVhZGFibGUgc291cmNlIGNvZGUsIHdoaWNoCittdXN0IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlIG9uIGEKK21lZGl1bSBjdXN0b21hcmlseSB1c2VkIGZvciBzb2Z0d2FyZSBpbnRlcmNoYW5nZS4KKworICBJZiBkaXN0cmlidXRpb24gb2Ygb2JqZWN0IGNvZGUgaXMgbWFkZSBieSBvZmZlcmluZyBhY2Nlc3MgdG8gY29weQorZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIHRoZW4gb2ZmZXJpbmcgZXF1aXZhbGVudCBhY2Nlc3MgdG8gY29weSB0aGUKK3NvdXJjZSBjb2RlIGZyb20gdGhlIHNhbWUgcGxhY2Ugc2F0aXNmaWVzIHRoZSByZXF1aXJlbWVudCB0bworZGlzdHJpYnV0ZSB0aGUgc291cmNlIGNvZGUsIGV2ZW4gdGhvdWdoIHRoaXJkIHBhcnRpZXMgYXJlIG5vdAorY29tcGVsbGVkIHRvIGNvcHkgdGhlIHNvdXJjZSBhbG9uZyB3aXRoIHRoZSBvYmplY3QgY29kZS4KKworICA1LiBBIHByb2dyYW0gdGhhdCBjb250YWlucyBubyBkZXJpdmF0aXZlIG9mIGFueSBwb3J0aW9uIG9mIHRoZQorTGlicmFyeSwgYnV0IGlzIGRlc2lnbmVkIHRvIHdvcmsgd2l0aCB0aGUgTGlicmFyeSBieSBiZWluZyBjb21waWxlZCBvcgorbGlua2VkIHdpdGggaXQsIGlzIGNhbGxlZCBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIuICBTdWNoIGEKK3dvcmssIGluIGlzb2xhdGlvbiwgaXMgbm90IGEgZGVyaXZhdGl2ZSB3b3JrIG9mIHRoZSBMaWJyYXJ5LCBhbmQKK3RoZXJlZm9yZSBmYWxscyBvdXRzaWRlIHRoZSBzY29wZSBvZiB0aGlzIExpY2Vuc2UuCisKKyAgSG93ZXZlciwgbGlua2luZyBhICJ3b3JrIHRoYXQgdXNlcyB0aGUgTGlicmFyeSIgd2l0aCB0aGUgTGlicmFyeQorY3JlYXRlcyBhbiBleGVjdXRhYmxlIHRoYXQgaXMgYSBkZXJpdmF0aXZlIG9mIHRoZSBMaWJyYXJ5IChiZWNhdXNlIGl0Citjb250YWlucyBwb3J0aW9ucyBvZiB0aGUgTGlicmFyeSksIHJhdGhlciB0aGFuIGEgIndvcmsgdGhhdCB1c2VzIHRoZQorbGlicmFyeSIuICBUaGUgZXhlY3V0YWJsZSBpcyB0aGVyZWZvcmUgY292ZXJlZCBieSB0aGlzIExpY2Vuc2UuCitTZWN0aW9uIDYgc3RhdGVzIHRlcm1zIGZvciBkaXN0cmlidXRpb24gb2Ygc3VjaCBleGVjdXRhYmxlcy4KKworICBXaGVuIGEgIndvcmsgdGhhdCB1c2VzIHRoZSBMaWJyYXJ5IiB1c2VzIG1hdGVyaWFsIGZyb20gYSBoZWFkZXIgZmlsZQordGhhdCBpcyBwYXJ0IG9mIHRoZSBMaWJyYXJ5LCB0aGUgb2JqZWN0IGNvZGUgZm9yIHRoZSB3b3JrIG1heSBiZSBhCitkZXJpdmF0aXZlIHdvcmsgb2YgdGhlIExpYnJhcnkgZXZlbiB0aG91Z2ggdGhlIHNvdXJjZSBjb2RlIGlzIG5vdC4KK1doZXRoZXIgdGhpcyBpcyB0cnVlIGlzIGVzcGVjaWFsbHkgc2lnbmlmaWNhbnQgaWYgdGhlIHdvcmsgY2FuIGJlCitsaW5rZWQgd2l0aG91dCB0aGUgTGlicmFyeSwgb3IgaWYgdGhlIHdvcmsgaXMgaXRzZWxmIGEgbGlicmFyeS4gIFRoZQordGhyZXNob2xkIGZvciB0aGlzIHRvIGJlIHRydWUgaXMgbm90IHByZWNpc2VseSBkZWZpbmVkIGJ5IGxhdy4KKworICBJZiBzdWNoIGFuIG9iamVjdCBmaWxlIHVzZXMgb25seSBudW1lcmljYWwgcGFyYW1ldGVycywgZGF0YQorc3RydWN0dXJlIGxheW91dHMgYW5kIGFjY2Vzc29ycywgYW5kIHNtYWxsIG1hY3JvcyBhbmQgc21hbGwgaW5saW5lCitmdW5jdGlvbnMgKHRlbiBsaW5lcyBvciBsZXNzIGluIGxlbmd0aCksIHRoZW4gdGhlIHVzZSBvZiB0aGUgb2JqZWN0CitmaWxlIGlzIHVucmVzdHJpY3RlZCwgcmVnYXJkbGVzcyBvZiB3aGV0aGVyIGl0IGlzIGxlZ2FsbHkgYSBkZXJpdmF0aXZlCit3b3JrLiAgKEV4ZWN1dGFibGVzIGNvbnRhaW5pbmcgdGhpcyBvYmplY3QgY29kZSBwbHVzIHBvcnRpb25zIG9mIHRoZQorTGlicmFyeSB3aWxsIHN0aWxsIGZhbGwgdW5kZXIgU2VjdGlvbiA2LikKKworICBPdGhlcndpc2UsIGlmIHRoZSB3b3JrIGlzIGEgZGVyaXZhdGl2ZSBvZiB0aGUgTGlicmFyeSwgeW91IG1heQorZGlzdHJpYnV0ZSB0aGUgb2JqZWN0IGNvZGUgZm9yIHRoZSB3b3JrIHVuZGVyIHRoZSB0ZXJtcyBvZiBTZWN0aW9uIDYuCitBbnkgZXhlY3V0YWJsZXMgY29udGFpbmluZyB0aGF0IHdvcmsgYWxzbyBmYWxsIHVuZGVyIFNlY3Rpb24gNiwKK3doZXRoZXIgb3Igbm90IHRoZXkgYXJlIGxpbmtlZCBkaXJlY3RseSB3aXRoIHRoZSBMaWJyYXJ5IGl0c2VsZi4KKwwKKyAgNi4gQXMgYW4gZXhjZXB0aW9uIHRvIHRoZSBTZWN0aW9ucyBhYm92ZSwgeW91IG1heSBhbHNvIGNvbWJpbmUgb3IKK2xpbmsgYSAid29yayB0aGF0IHVzZXMgdGhlIExpYnJhcnkiIHdpdGggdGhlIExpYnJhcnkgdG8gcHJvZHVjZSBhCit3b3JrIGNvbnRhaW5pbmcgcG9ydGlvbnMgb2YgdGhlIExpYnJhcnksIGFuZCBkaXN0cmlidXRlIHRoYXQgd29yawordW5kZXIgdGVybXMgb2YgeW91ciBjaG9pY2UsIHByb3ZpZGVkIHRoYXQgdGhlIHRlcm1zIHBlcm1pdAorbW9kaWZpY2F0aW9uIG9mIHRoZSB3b3JrIGZvciB0aGUgY3VzdG9tZXIncyBvd24gdXNlIGFuZCByZXZlcnNlCitlbmdpbmVlcmluZyBmb3IgZGVidWdnaW5nIHN1Y2ggbW9kaWZpY2F0aW9ucy4KKworICBZb3UgbXVzdCBnaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCBlYWNoIGNvcHkgb2YgdGhlIHdvcmsgdGhhdCB0aGUKK0xpYnJhcnkgaXMgdXNlZCBpbiBpdCBhbmQgdGhhdCB0aGUgTGlicmFyeSBhbmQgaXRzIHVzZSBhcmUgY292ZXJlZCBieQordGhpcyBMaWNlbnNlLiAgWW91IG11c3Qgc3VwcGx5IGEgY29weSBvZiB0aGlzIExpY2Vuc2UuICBJZiB0aGUgd29yaworZHVyaW5nIGV4ZWN1dGlvbiBkaXNwbGF5cyBjb3B5cmlnaHQgbm90aWNlcywgeW91IG11c3QgaW5jbHVkZSB0aGUKK2NvcHlyaWdodCBub3RpY2UgZm9yIHRoZSBMaWJyYXJ5IGFtb25nIHRoZW0sIGFzIHdlbGwgYXMgYSByZWZlcmVuY2UKK2RpcmVjdGluZyB0aGUgdXNlciB0byB0aGUgY29weSBvZiB0aGlzIExpY2Vuc2UuICBBbHNvLCB5b3UgbXVzdCBkbyBvbmUKK29mIHRoZXNlIHRoaW5nczoKKworICAgIGEpIEFjY29tcGFueSB0aGUgd29yayB3aXRoIHRoZSBjb21wbGV0ZSBjb3JyZXNwb25kaW5nCisgICAgbWFjaGluZS1yZWFkYWJsZSBzb3VyY2UgY29kZSBmb3IgdGhlIExpYnJhcnkgaW5jbHVkaW5nIHdoYXRldmVyCisgICAgY2hhbmdlcyB3ZXJlIHVzZWQgaW4gdGhlIHdvcmsgKHdoaWNoIG11c3QgYmUgZGlzdHJpYnV0ZWQgdW5kZXIKKyAgICBTZWN0aW9ucyAxIGFuZCAyIGFib3ZlKTsgYW5kLCBpZiB0aGUgd29yayBpcyBhbiBleGVjdXRhYmxlIGxpbmtlZAorICAgIHdpdGggdGhlIExpYnJhcnksIHdpdGggdGhlIGNvbXBsZXRlIG1hY2hpbmUtcmVhZGFibGUgIndvcmsgdGhhdAorICAgIHVzZXMgdGhlIExpYnJhcnkiLCBhcyBvYmplY3QgY29kZSBhbmQvb3Igc291cmNlIGNvZGUsIHNvIHRoYXQgdGhlCisgICAgdXNlciBjYW4gbW9kaWZ5IHRoZSBMaWJyYXJ5IGFuZCB0aGVuIHJlbGluayB0byBwcm9kdWNlIGEgbW9kaWZpZWQKKyAgICBleGVjdXRhYmxlIGNvbnRhaW5pbmcgdGhlIG1vZGlmaWVkIExpYnJhcnkuICAoSXQgaXMgdW5kZXJzdG9vZAorICAgIHRoYXQgdGhlIHVzZXIgd2hvIGNoYW5nZXMgdGhlIGNvbnRlbnRzIG9mIGRlZmluaXRpb25zIGZpbGVzIGluIHRoZQorICAgIExpYnJhcnkgd2lsbCBub3QgbmVjZXNzYXJpbHkgYmUgYWJsZSB0byByZWNvbXBpbGUgdGhlIGFwcGxpY2F0aW9uCisgICAgdG8gdXNlIHRoZSBtb2RpZmllZCBkZWZpbml0aW9ucy4pCisKKyAgICBiKSBVc2UgYSBzdWl0YWJsZSBzaGFyZWQgbGlicmFyeSBtZWNoYW5pc20gZm9yIGxpbmtpbmcgd2l0aCB0aGUKKyAgICBMaWJyYXJ5LiAgQSBzdWl0YWJsZSBtZWNoYW5pc20gaXMgb25lIHRoYXQgKDEpIHVzZXMgYXQgcnVuIHRpbWUgYQorICAgIGNvcHkgb2YgdGhlIGxpYnJhcnkgYWxyZWFkeSBwcmVzZW50IG9uIHRoZSB1c2VyJ3MgY29tcHV0ZXIgc3lzdGVtLAorICAgIHJhdGhlciB0aGFuIGNvcHlpbmcgbGlicmFyeSBmdW5jdGlvbnMgaW50byB0aGUgZXhlY3V0YWJsZSwgYW5kICgyKQorICAgIHdpbGwgb3BlcmF0ZSBwcm9wZXJseSB3aXRoIGEgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgbGlicmFyeSwgaWYKKyAgICB0aGUgdXNlciBpbnN0YWxscyBvbmUsIGFzIGxvbmcgYXMgdGhlIG1vZGlmaWVkIHZlcnNpb24gaXMKKyAgICBpbnRlcmZhY2UtY29tcGF0aWJsZSB3aXRoIHRoZSB2ZXJzaW9uIHRoYXQgdGhlIHdvcmsgd2FzIG1hZGUgd2l0aC4KKworICAgIGMpIEFjY29tcGFueSB0aGUgd29yayB3aXRoIGEgd3JpdHRlbiBvZmZlciwgdmFsaWQgZm9yIGF0CisgICAgbGVhc3QgdGhyZWUgeWVhcnMsIHRvIGdpdmUgdGhlIHNhbWUgdXNlciB0aGUgbWF0ZXJpYWxzCisgICAgc3BlY2lmaWVkIGluIFN1YnNlY3Rpb24gNmEsIGFib3ZlLCBmb3IgYSBjaGFyZ2Ugbm8gbW9yZQorICAgIHRoYW4gdGhlIGNvc3Qgb2YgcGVyZm9ybWluZyB0aGlzIGRpc3RyaWJ1dGlvbi4KKworICAgIGQpIElmIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd29yayBpcyBtYWRlIGJ5IG9mZmVyaW5nIGFjY2VzcyB0byBjb3B5CisgICAgZnJvbSBhIGRlc2lnbmF0ZWQgcGxhY2UsIG9mZmVyIGVxdWl2YWxlbnQgYWNjZXNzIHRvIGNvcHkgdGhlIGFib3ZlCisgICAgc3BlY2lmaWVkIG1hdGVyaWFscyBmcm9tIHRoZSBzYW1lIHBsYWNlLgorCisgICAgZSkgVmVyaWZ5IHRoYXQgdGhlIHVzZXIgaGFzIGFscmVhZHkgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZXNlCisgICAgbWF0ZXJpYWxzIG9yIHRoYXQgeW91IGhhdmUgYWxyZWFkeSBzZW50IHRoaXMgdXNlciBhIGNvcHkuCisKKyAgRm9yIGFuIGV4ZWN1dGFibGUsIHRoZSByZXF1aXJlZCBmb3JtIG9mIHRoZSAid29yayB0aGF0IHVzZXMgdGhlCitMaWJyYXJ5IiBtdXN0IGluY2x1ZGUgYW55IGRhdGEgYW5kIHV0aWxpdHkgcHJvZ3JhbXMgbmVlZGVkIGZvcgorcmVwcm9kdWNpbmcgdGhlIGV4ZWN1dGFibGUgZnJvbSBpdC4gIEhvd2V2ZXIsIGFzIGEgc3BlY2lhbCBleGNlcHRpb24sCit0aGUgbWF0ZXJpYWxzIHRvIGJlIGRpc3RyaWJ1dGVkIG5lZWQgbm90IGluY2x1ZGUgYW55dGhpbmcgdGhhdCBpcworbm9ybWFsbHkgZGlzdHJpYnV0ZWQgKGluIGVpdGhlciBzb3VyY2Ugb3IgYmluYXJ5IGZvcm0pIHdpdGggdGhlIG1ham9yCitjb21wb25lbnRzIChjb21waWxlciwga2VybmVsLCBhbmQgc28gb24pIG9mIHRoZSBvcGVyYXRpbmcgc3lzdGVtIG9uCit3aGljaCB0aGUgZXhlY3V0YWJsZSBydW5zLCB1bmxlc3MgdGhhdCBjb21wb25lbnQgaXRzZWxmIGFjY29tcGFuaWVzCit0aGUgZXhlY3V0YWJsZS4KKworICBJdCBtYXkgaGFwcGVuIHRoYXQgdGhpcyByZXF1aXJlbWVudCBjb250cmFkaWN0cyB0aGUgbGljZW5zZQorcmVzdHJpY3Rpb25zIG9mIG90aGVyIHByb3ByaWV0YXJ5IGxpYnJhcmllcyB0aGF0IGRvIG5vdCBub3JtYWxseQorYWNjb21wYW55IHRoZSBvcGVyYXRpbmcgc3lzdGVtLiAgU3VjaCBhIGNvbnRyYWRpY3Rpb24gbWVhbnMgeW91IGNhbm5vdAordXNlIGJvdGggdGhlbSBhbmQgdGhlIExpYnJhcnkgdG9nZXRoZXIgaW4gYW4gZXhlY3V0YWJsZSB0aGF0IHlvdQorZGlzdHJpYnV0ZS4KKwwKKyAgNy4gWW91IG1heSBwbGFjZSBsaWJyYXJ5IGZhY2lsaXRpZXMgdGhhdCBhcmUgYSB3b3JrIGJhc2VkIG9uIHRoZQorTGlicmFyeSBzaWRlLWJ5LXNpZGUgaW4gYSBzaW5nbGUgbGlicmFyeSB0b2dldGhlciB3aXRoIG90aGVyIGxpYnJhcnkKK2ZhY2lsaXRpZXMgbm90IGNvdmVyZWQgYnkgdGhpcyBMaWNlbnNlLCBhbmQgZGlzdHJpYnV0ZSBzdWNoIGEgY29tYmluZWQKK2xpYnJhcnksIHByb3ZpZGVkIHRoYXQgdGhlIHNlcGFyYXRlIGRpc3RyaWJ1dGlvbiBvZiB0aGUgd29yayBiYXNlZCBvbgordGhlIExpYnJhcnkgYW5kIG9mIHRoZSBvdGhlciBsaWJyYXJ5IGZhY2lsaXRpZXMgaXMgb3RoZXJ3aXNlCitwZXJtaXR0ZWQsIGFuZCBwcm92aWRlZCB0aGF0IHlvdSBkbyB0aGVzZSB0d28gdGhpbmdzOgorCisgICAgYSkgQWNjb21wYW55IHRoZSBjb21iaW5lZCBsaWJyYXJ5IHdpdGggYSBjb3B5IG9mIHRoZSBzYW1lIHdvcmsKKyAgICBiYXNlZCBvbiB0aGUgTGlicmFyeSwgdW5jb21iaW5lZCB3aXRoIGFueSBvdGhlciBsaWJyYXJ5CisgICAgZmFjaWxpdGllcy4gIFRoaXMgbXVzdCBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgICAgU2VjdGlvbnMgYWJvdmUuCisKKyAgICBiKSBHaXZlIHByb21pbmVudCBub3RpY2Ugd2l0aCB0aGUgY29tYmluZWQgbGlicmFyeSBvZiB0aGUgZmFjdAorICAgIHRoYXQgcGFydCBvZiBpdCBpcyBhIHdvcmsgYmFzZWQgb24gdGhlIExpYnJhcnksIGFuZCBleHBsYWluaW5nCisgICAgd2hlcmUgdG8gZmluZCB0aGUgYWNjb21wYW55aW5nIHVuY29tYmluZWQgZm9ybSBvZiB0aGUgc2FtZSB3b3JrLgorCisgIDguIFlvdSBtYXkgbm90IGNvcHksIG1vZGlmeSwgc3VibGljZW5zZSwgbGluayB3aXRoLCBvciBkaXN0cmlidXRlCit0aGUgTGlicmFyeSBleGNlcHQgYXMgZXhwcmVzc2x5IHByb3ZpZGVkIHVuZGVyIHRoaXMgTGljZW5zZS4gIEFueQorYXR0ZW1wdCBvdGhlcndpc2UgdG8gY29weSwgbW9kaWZ5LCBzdWJsaWNlbnNlLCBsaW5rIHdpdGgsIG9yCitkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IGlzIHZvaWQsIGFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgdGVybWluYXRlIHlvdXIKK3JpZ2h0cyB1bmRlciB0aGlzIExpY2Vuc2UuICBIb3dldmVyLCBwYXJ0aWVzIHdobyBoYXZlIHJlY2VpdmVkIGNvcGllcywKK29yIHJpZ2h0cywgZnJvbSB5b3UgdW5kZXIgdGhpcyBMaWNlbnNlIHdpbGwgbm90IGhhdmUgdGhlaXIgbGljZW5zZXMKK3Rlcm1pbmF0ZWQgc28gbG9uZyBhcyBzdWNoIHBhcnRpZXMgcmVtYWluIGluIGZ1bGwgY29tcGxpYW5jZS4KKworICA5LiBZb3UgYXJlIG5vdCByZXF1aXJlZCB0byBhY2NlcHQgdGhpcyBMaWNlbnNlLCBzaW5jZSB5b3UgaGF2ZSBub3QKK3NpZ25lZCBpdC4gIEhvd2V2ZXIsIG5vdGhpbmcgZWxzZSBncmFudHMgeW91IHBlcm1pc3Npb24gdG8gbW9kaWZ5IG9yCitkaXN0cmlidXRlIHRoZSBMaWJyYXJ5IG9yIGl0cyBkZXJpdmF0aXZlIHdvcmtzLiAgVGhlc2UgYWN0aW9ucyBhcmUKK3Byb2hpYml0ZWQgYnkgbGF3IGlmIHlvdSBkbyBub3QgYWNjZXB0IHRoaXMgTGljZW5zZS4gIFRoZXJlZm9yZSwgYnkKK21vZGlmeWluZyBvciBkaXN0cmlidXRpbmcgdGhlIExpYnJhcnkgKG9yIGFueSB3b3JrIGJhc2VkIG9uIHRoZQorTGlicmFyeSksIHlvdSBpbmRpY2F0ZSB5b3VyIGFjY2VwdGFuY2Ugb2YgdGhpcyBMaWNlbnNlIHRvIGRvIHNvLCBhbmQKK2FsbCBpdHMgdGVybXMgYW5kIGNvbmRpdGlvbnMgZm9yIGNvcHlpbmcsIGRpc3RyaWJ1dGluZyBvciBtb2RpZnlpbmcKK3RoZSBMaWJyYXJ5IG9yIHdvcmtzIGJhc2VkIG9uIGl0LgorCisgIDEwLiBFYWNoIHRpbWUgeW91IHJlZGlzdHJpYnV0ZSB0aGUgTGlicmFyeSAob3IgYW55IHdvcmsgYmFzZWQgb24gdGhlCitMaWJyYXJ5KSwgdGhlIHJlY2lwaWVudCBhdXRvbWF0aWNhbGx5IHJlY2VpdmVzIGEgbGljZW5zZSBmcm9tIHRoZQorb3JpZ2luYWwgbGljZW5zb3IgdG8gY29weSwgZGlzdHJpYnV0ZSwgbGluayB3aXRoIG9yIG1vZGlmeSB0aGUgTGlicmFyeQorc3ViamVjdCB0byB0aGVzZSB0ZXJtcyBhbmQgY29uZGl0aW9ucy4gIFlvdSBtYXkgbm90IGltcG9zZSBhbnkgZnVydGhlcgorcmVzdHJpY3Rpb25zIG9uIHRoZSByZWNpcGllbnRzJyBleGVyY2lzZSBvZiB0aGUgcmlnaHRzIGdyYW50ZWQgaGVyZWluLgorWW91IGFyZSBub3QgcmVzcG9uc2libGUgZm9yIGVuZm9yY2luZyBjb21wbGlhbmNlIGJ5IHRoaXJkIHBhcnRpZXMgd2l0aAordGhpcyBMaWNlbnNlLgorDAorICAxMS4gSWYsIGFzIGEgY29uc2VxdWVuY2Ugb2YgYSBjb3VydCBqdWRnbWVudCBvciBhbGxlZ2F0aW9uIG9mIHBhdGVudAoraW5mcmluZ2VtZW50IG9yIGZvciBhbnkgb3RoZXIgcmVhc29uIChub3QgbGltaXRlZCB0byBwYXRlbnQgaXNzdWVzKSwKK2NvbmRpdGlvbnMgYXJlIGltcG9zZWQgb24geW91ICh3aGV0aGVyIGJ5IGNvdXJ0IG9yZGVyLCBhZ3JlZW1lbnQgb3IKK290aGVyd2lzZSkgdGhhdCBjb250cmFkaWN0IHRoZSBjb25kaXRpb25zIG9mIHRoaXMgTGljZW5zZSwgdGhleSBkbyBub3QKK2V4Y3VzZSB5b3UgZnJvbSB0aGUgY29uZGl0aW9ucyBvZiB0aGlzIExpY2Vuc2UuICBJZiB5b3UgY2Fubm90CitkaXN0cmlidXRlIHNvIGFzIHRvIHNhdGlzZnkgc2ltdWx0YW5lb3VzbHkgeW91ciBvYmxpZ2F0aW9ucyB1bmRlciB0aGlzCitMaWNlbnNlIGFuZCBhbnkgb3RoZXIgcGVydGluZW50IG9ibGlnYXRpb25zLCB0aGVuIGFzIGEgY29uc2VxdWVuY2UgeW91CittYXkgbm90IGRpc3RyaWJ1dGUgdGhlIExpYnJhcnkgYXQgYWxsLiAgRm9yIGV4YW1wbGUsIGlmIGEgcGF0ZW50CitsaWNlbnNlIHdvdWxkIG5vdCBwZXJtaXQgcm95YWx0eS1mcmVlIHJlZGlzdHJpYnV0aW9uIG9mIHRoZSBMaWJyYXJ5IGJ5CithbGwgdGhvc2Ugd2hvIHJlY2VpdmUgY29waWVzIGRpcmVjdGx5IG9yIGluZGlyZWN0bHkgdGhyb3VnaCB5b3UsIHRoZW4KK3RoZSBvbmx5IHdheSB5b3UgY291bGQgc2F0aXNmeSBib3RoIGl0IGFuZCB0aGlzIExpY2Vuc2Ugd291bGQgYmUgdG8KK3JlZnJhaW4gZW50aXJlbHkgZnJvbSBkaXN0cmlidXRpb24gb2YgdGhlIExpYnJhcnkuCisKK0lmIGFueSBwb3J0aW9uIG9mIHRoaXMgc2VjdGlvbiBpcyBoZWxkIGludmFsaWQgb3IgdW5lbmZvcmNlYWJsZSB1bmRlciBhbnkKK3BhcnRpY3VsYXIgY2lyY3Vtc3RhbmNlLCB0aGUgYmFsYW5jZSBvZiB0aGUgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBhcHBseSwKK2FuZCB0aGUgc2VjdGlvbiBhcyBhIHdob2xlIGlzIGludGVuZGVkIHRvIGFwcGx5IGluIG90aGVyIGNpcmN1bXN0YW5jZXMuCisKK0l0IGlzIG5vdCB0aGUgcHVycG9zZSBvZiB0aGlzIHNlY3Rpb24gdG8gaW5kdWNlIHlvdSB0byBpbmZyaW5nZSBhbnkKK3BhdGVudHMgb3Igb3RoZXIgcHJvcGVydHkgcmlnaHQgY2xhaW1zIG9yIHRvIGNvbnRlc3QgdmFsaWRpdHkgb2YgYW55CitzdWNoIGNsYWltczsgdGhpcyBzZWN0aW9uIGhhcyB0aGUgc29sZSBwdXJwb3NlIG9mIHByb3RlY3RpbmcgdGhlCitpbnRlZ3JpdHkgb2YgdGhlIGZyZWUgc29mdHdhcmUgZGlzdHJpYnV0aW9uIHN5c3RlbSB3aGljaCBpcworaW1wbGVtZW50ZWQgYnkgcHVibGljIGxpY2Vuc2UgcHJhY3RpY2VzLiAgTWFueSBwZW9wbGUgaGF2ZSBtYWRlCitnZW5lcm91cyBjb250cmlidXRpb25zIHRvIHRoZSB3aWRlIHJhbmdlIG9mIHNvZnR3YXJlIGRpc3RyaWJ1dGVkCit0aHJvdWdoIHRoYXQgc3lzdGVtIGluIHJlbGlhbmNlIG9uIGNvbnNpc3RlbnQgYXBwbGljYXRpb24gb2YgdGhhdAorc3lzdGVtOyBpdCBpcyB1cCB0byB0aGUgYXV0aG9yL2Rvbm9yIHRvIGRlY2lkZSBpZiBoZSBvciBzaGUgaXMgd2lsbGluZwordG8gZGlzdHJpYnV0ZSBzb2Z0d2FyZSB0aHJvdWdoIGFueSBvdGhlciBzeXN0ZW0gYW5kIGEgbGljZW5zZWUgY2Fubm90CitpbXBvc2UgdGhhdCBjaG9pY2UuCisKK1RoaXMgc2VjdGlvbiBpcyBpbnRlbmRlZCB0byBtYWtlIHRob3JvdWdobHkgY2xlYXIgd2hhdCBpcyBiZWxpZXZlZCB0bworYmUgYSBjb25zZXF1ZW5jZSBvZiB0aGUgcmVzdCBvZiB0aGlzIExpY2Vuc2UuCisKKyAgMTIuIElmIHRoZSBkaXN0cmlidXRpb24gYW5kL29yIHVzZSBvZiB0aGUgTGlicmFyeSBpcyByZXN0cmljdGVkIGluCitjZXJ0YWluIGNvdW50cmllcyBlaXRoZXIgYnkgcGF0ZW50cyBvciBieSBjb3B5cmlnaHRlZCBpbnRlcmZhY2VzLCB0aGUKK29yaWdpbmFsIGNvcHlyaWdodCBob2xkZXIgd2hvIHBsYWNlcyB0aGUgTGlicmFyeSB1bmRlciB0aGlzIExpY2Vuc2UgbWF5IGFkZAorYW4gZXhwbGljaXQgZ2VvZ3JhcGhpY2FsIGRpc3RyaWJ1dGlvbiBsaW1pdGF0aW9uIGV4Y2x1ZGluZyB0aG9zZSBjb3VudHJpZXMsCitzbyB0aGF0IGRpc3RyaWJ1dGlvbiBpcyBwZXJtaXR0ZWQgb25seSBpbiBvciBhbW9uZyBjb3VudHJpZXMgbm90IHRodXMKK2V4Y2x1ZGVkLiAgSW4gc3VjaCBjYXNlLCB0aGlzIExpY2Vuc2UgaW5jb3Jwb3JhdGVzIHRoZSBsaW1pdGF0aW9uIGFzIGlmCit3cml0dGVuIGluIHRoZSBib2R5IG9mIHRoaXMgTGljZW5zZS4KKworICAxMy4gVGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiBtYXkgcHVibGlzaCByZXZpc2VkIGFuZC9vciBuZXcKK3ZlcnNpb25zIG9mIHRoZSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmcm9tIHRpbWUgdG8gdGltZS4KK1N1Y2ggbmV3IHZlcnNpb25zIHdpbGwgYmUgc2ltaWxhciBpbiBzcGlyaXQgdG8gdGhlIHByZXNlbnQgdmVyc2lvbiwKK2J1dCBtYXkgZGlmZmVyIGluIGRldGFpbCB0byBhZGRyZXNzIG5ldyBwcm9ibGVtcyBvciBjb25jZXJucy4KKworRWFjaCB2ZXJzaW9uIGlzIGdpdmVuIGEgZGlzdGluZ3Vpc2hpbmcgdmVyc2lvbiBudW1iZXIuICBJZiB0aGUgTGlicmFyeQorc3BlY2lmaWVzIGEgdmVyc2lvbiBudW1iZXIgb2YgdGhpcyBMaWNlbnNlIHdoaWNoIGFwcGxpZXMgdG8gaXQgYW5kCisiYW55IGxhdGVyIHZlcnNpb24iLCB5b3UgaGF2ZSB0aGUgb3B0aW9uIG9mIGZvbGxvd2luZyB0aGUgdGVybXMgYW5kCitjb25kaXRpb25zIGVpdGhlciBvZiB0aGF0IHZlcnNpb24gb3Igb2YgYW55IGxhdGVyIHZlcnNpb24gcHVibGlzaGVkIGJ5Cit0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLiAgSWYgdGhlIExpYnJhcnkgZG9lcyBub3Qgc3BlY2lmeSBhCitsaWNlbnNlIHZlcnNpb24gbnVtYmVyLCB5b3UgbWF5IGNob29zZSBhbnkgdmVyc2lvbiBldmVyIHB1Ymxpc2hlZCBieQordGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKwwKKyAgMTQuIElmIHlvdSB3aXNoIHRvIGluY29ycG9yYXRlIHBhcnRzIG9mIHRoZSBMaWJyYXJ5IGludG8gb3RoZXIgZnJlZQorcHJvZ3JhbXMgd2hvc2UgZGlzdHJpYnV0aW9uIGNvbmRpdGlvbnMgYXJlIGluY29tcGF0aWJsZSB3aXRoIHRoZXNlLAord3JpdGUgdG8gdGhlIGF1dGhvciB0byBhc2sgZm9yIHBlcm1pc3Npb24uICBGb3Igc29mdHdhcmUgd2hpY2ggaXMKK2NvcHlyaWdodGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIHdyaXRlIHRvIHRoZSBGcmVlCitTb2Z0d2FyZSBGb3VuZGF0aW9uOyB3ZSBzb21ldGltZXMgbWFrZSBleGNlcHRpb25zIGZvciB0aGlzLiAgT3VyCitkZWNpc2lvbiB3aWxsIGJlIGd1aWRlZCBieSB0aGUgdHdvIGdvYWxzIG9mIHByZXNlcnZpbmcgdGhlIGZyZWUgc3RhdHVzCitvZiBhbGwgZGVyaXZhdGl2ZXMgb2Ygb3VyIGZyZWUgc29mdHdhcmUgYW5kIG9mIHByb21vdGluZyB0aGUgc2hhcmluZworYW5kIHJldXNlIG9mIHNvZnR3YXJlIGdlbmVyYWxseS4KKworICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5PIFdBUlJBTlRZCisKKyAgMTUuIEJFQ0FVU0UgVEhFIExJQlJBUlkgSVMgTElDRU5TRUQgRlJFRSBPRiBDSEFSR0UsIFRIRVJFIElTIE5PCitXQVJSQU5UWSBGT1IgVEhFIExJQlJBUlksIFRPIFRIRSBFWFRFTlQgUEVSTUlUVEVEIEJZIEFQUExJQ0FCTEUgTEFXLgorRVhDRVBUIFdIRU4gT1RIRVJXSVNFIFNUQVRFRCBJTiBXUklUSU5HIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQvT1IKK09USEVSIFBBUlRJRVMgUFJPVklERSBUSEUgTElCUkFSWSAiQVMgSVMiIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZCitLSU5ELCBFSVRIRVIgRVhQUkVTU0VEIE9SIElNUExJRUQsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKK0lNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorUFVSUE9TRS4gIFRIRSBFTlRJUkUgUklTSyBBUyBUTyBUSEUgUVVBTElUWSBBTkQgUEVSRk9STUFOQ0UgT0YgVEhFCitMSUJSQVJZIElTIFdJVEggWU9VLiAgU0hPVUxEIFRIRSBMSUJSQVJZIFBST1ZFIERFRkVDVElWRSwgWU9VIEFTU1VNRQorVEhFIENPU1QgT0YgQUxMIE5FQ0VTU0FSWSBTRVJWSUNJTkcsIFJFUEFJUiBPUiBDT1JSRUNUSU9OLgorCisgIDE2LiBJTiBOTyBFVkVOVCBVTkxFU1MgUkVRVUlSRUQgQlkgQVBQTElDQUJMRSBMQVcgT1IgQUdSRUVEIFRPIElOCitXUklUSU5HIFdJTEwgQU5ZIENPUFlSSUdIVCBIT0xERVIsIE9SIEFOWSBPVEhFUiBQQVJUWSBXSE8gTUFZIE1PRElGWQorQU5EL09SIFJFRElTVFJJQlVURSBUSEUgTElCUkFSWSBBUyBQRVJNSVRURUQgQUJPVkUsIEJFIExJQUJMRSBUTyBZT1UKK0ZPUiBEQU1BR0VTLCBJTkNMVURJTkcgQU5ZIEdFTkVSQUwsIFNQRUNJQUwsIElOQ0lERU5UQUwgT1IKK0NPTlNFUVVFTlRJQUwgREFNQUdFUyBBUklTSU5HIE9VVCBPRiBUSEUgVVNFIE9SIElOQUJJTElUWSBUTyBVU0UgVEhFCitMSUJSQVJZIChJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIExPU1MgT0YgREFUQSBPUiBEQVRBIEJFSU5HCitSRU5ERVJFRCBJTkFDQ1VSQVRFIE9SIExPU1NFUyBTVVNUQUlORUQgQlkgWU9VIE9SIFRISVJEIFBBUlRJRVMgT1IgQQorRkFJTFVSRSBPRiBUSEUgTElCUkFSWSBUTyBPUEVSQVRFIFdJVEggQU5ZIE9USEVSIFNPRlRXQVJFKSwgRVZFTiBJRgorU1VDSCBIT0xERVIgT1IgT1RIRVIgUEFSVFkgSEFTIEJFRU4gQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorREFNQUdFUy4KKworICAgICAgICAgICAgICAgICAgICAgRU5EIE9GIFRFUk1TIEFORCBDT05ESVRJT05TCisMCisgICAgICAgICAgIEhvdyB0byBBcHBseSBUaGVzZSBUZXJtcyB0byBZb3VyIE5ldyBMaWJyYXJpZXMKKworICBJZiB5b3UgZGV2ZWxvcCBhIG5ldyBsaWJyYXJ5LCBhbmQgeW91IHdhbnQgaXQgdG8gYmUgb2YgdGhlIGdyZWF0ZXN0Citwb3NzaWJsZSB1c2UgdG8gdGhlIHB1YmxpYywgd2UgcmVjb21tZW5kIG1ha2luZyBpdCBmcmVlIHNvZnR3YXJlIHRoYXQKK2V2ZXJ5b25lIGNhbiByZWRpc3RyaWJ1dGUgYW5kIGNoYW5nZS4gIFlvdSBjYW4gZG8gc28gYnkgcGVybWl0dGluZworcmVkaXN0cmlidXRpb24gdW5kZXIgdGhlc2UgdGVybXMgKG9yLCBhbHRlcm5hdGl2ZWx5LCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCitvcmRpbmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlKS4KKworICBUbyBhcHBseSB0aGVzZSB0ZXJtcywgYXR0YWNoIHRoZSBmb2xsb3dpbmcgbm90aWNlcyB0byB0aGUgbGlicmFyeS4gIEl0IGlzCitzYWZlc3QgdG8gYXR0YWNoIHRoZW0gdG8gdGhlIHN0YXJ0IG9mIGVhY2ggc291cmNlIGZpbGUgdG8gbW9zdCBlZmZlY3RpdmVseQorY29udmV5IHRoZSBleGNsdXNpb24gb2Ygd2FycmFudHk7IGFuZCBlYWNoIGZpbGUgc2hvdWxkIGhhdmUgYXQgbGVhc3QgdGhlCisiY29weXJpZ2h0IiBsaW5lIGFuZCBhIHBvaW50ZXIgdG8gd2hlcmUgdGhlIGZ1bGwgbm90aWNlIGlzIGZvdW5kLgorCisgICAgPG9uZSBsaW5lIHRvIGdpdmUgdGhlIGxpYnJhcnkncyBuYW1lIGFuZCBhIGJyaWVmIGlkZWEgb2Ygd2hhdCBpdCBkb2VzLj4KKyAgICBDb3B5cmlnaHQgKEMpIDx5ZWFyPiAgPG5hbWUgb2YgYXV0aG9yPgorCisgICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAgICB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAgICBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICAgIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAgICBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKworQWxzbyBhZGQgaW5mb3JtYXRpb24gb24gaG93IHRvIGNvbnRhY3QgeW91IGJ5IGVsZWN0cm9uaWMgYW5kIHBhcGVyIG1haWwuCisKK1lvdSBzaG91bGQgYWxzbyBnZXQgeW91ciBlbXBsb3llciAoaWYgeW91IHdvcmsgYXMgYSBwcm9ncmFtbWVyKSBvciB5b3VyCitzY2hvb2wsIGlmIGFueSwgdG8gc2lnbiBhICJjb3B5cmlnaHQgZGlzY2xhaW1lciIgZm9yIHRoZSBsaWJyYXJ5LCBpZgorbmVjZXNzYXJ5LiAgSGVyZSBpcyBhIHNhbXBsZTsgYWx0ZXIgdGhlIG5hbWVzOgorCisgIFlveW9keW5lLCBJbmMuLCBoZXJlYnkgZGlzY2xhaW1zIGFsbCBjb3B5cmlnaHQgaW50ZXJlc3QgaW4gdGhlCisgIGxpYnJhcnkgYEZyb2InIChhIGxpYnJhcnkgZm9yIHR3ZWFraW5nIGtub2JzKSB3cml0dGVuIGJ5IEphbWVzIFJhbmRvbSBIYWNrZXIuCisKKyAgPHNpZ25hdHVyZSBvZiBUeSBDb29uPiwgMSBBcHJpbCAxOTkwCisgIFR5IENvb24sIFByZXNpZGVudCBvZiBWaWNlCisKK1RoYXQncyBhbGwgdGhlcmUgaXMgdG8gaXQhCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuVUNCIGIvRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLlVDQgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YWJiZjI0Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLlVDQgpAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vbW9kZW1zLXdpdGgtYWdldHR5LnR4dCBiL0RvY3VtZW50YXRpb24vbW9kZW1zLXdpdGgtYWdldHR5LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NGE2MTFlCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9tb2RlbXMtd2l0aC1hZ2V0dHkudHh0CkBAIC0wLDAgKzEsNzYgQEAKKzI1LzEwLzk1IFBldGVyIE9yYmFlayA8cG9lQGRhaW1pLmFhdS5kaz4KKworU29tZSBub3RlcyBmb3IgdXNpbmcgYWdldHR5IHdpdGggbW9kZW1zCisKK1VzaW5nIGEgY29tbXMgcHJvZ3JhbSB0byBpbml0aWFsaXplIHRoZSBtb2RlbQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyogVXNlIGtlcm1pdCBvciBtaW5pY29tIHRvIGluaXRpYWxpemUgdGhlIG1vZGVtIHRvCisKKwktIGJlIGVudGlyZWx5IHF1aWV0LgorCS0gZG9uJ3QgZG8gbG9jYWwgZWNobyBpbiBjb21tYW5kIG1vZGUuCisJLSB0dXJuIG9uIERDRCAoY2FycmllciBkZXRlY3QpIG9ubHkgd2hlbiB0aGVyZSBpcyBhIGNvbm5lY3Rpb24gZ29pbmcuCisJLSBlbmFibGUgYXV0by1hbnN3ZXIuCisJLSBrZWVwIGEgY29uc3RhbnQgY29tcHV0ZXIvbW9kZW0gYml0cmF0ZSBhdCBhbGwgdGltZXMuCisJLSBvcHRpb25hbGx5IHNhdmUgdGhpcyBzZXR1cCBhcyB0aGUgbW9kZW0gc3RhcnR1cCBjb25maWd1cmF0aW9uLgorCisqIFJ1biBhZ2V0dHkgb24gdGhlIGFwcHJvcHJpYXRlIHR0eVNuIHBvcnQgd2l0aCB0aGUgYXJndW1lbnRzOgorCSogLXcgdG8gd2FpdCBmb3IgYSBDUiBvciBMRiBiZWZvcmUgd3JpdGluZyB0aGUgL2V0Yy9pc3N1ZSBtZXNzYWdlCisJKiBjb21wdXRlci9tb2RlbSBiaXRyYXRlCisJKiB0aGUgdHR5IG5hbWUuCisKK0V4YW1wbGUgZnJvbSBteSBtb2RlbSBzZXR1cCwgYW4gb2xkIDI0MDAgYnBzIFN1cHJhTW9kZW0gdXNpbmcgSGF5ZXMgc3RhbmRhcmQKK0FUIGNvbW1hbmRzLgorCitJbml0aWFsaXplIG1vZGVtIHVzaW5nIGtlcm1pdCB3aXRoIHRoZSBjb21tYW5kcworCisJQVQgRTAgUTEgJkQyICZDMSBTMD0xICZXMAorCit0bworCS0gdHVybiBvZmYgbG9jYWwgZWNobyBmcm9tIG1vZGVtIHdoZW4gaW4gY29tbWFuZCBtb2RlIChFMCkuCisJLSBkaXNhYmxlIGFsbCByZXN1bHQgY29kZXMgZnJvbSBtb2RlbSAoUTEpLgorCS0gbWFrZSBhbiBvbi9vZmYgdHJhbnNpdGlvbiBvbiB0aGUgRFRSIGxpbmUgbWFrZSB0aGUgbW9kZW0KKwkgIGRpc2Nvbm5lY3QgYW5kIGdvIGludG8gY29tbWFuZCBtb2RlICgmRDIpLgorCS0gbWFrZSB0aGUgY29tcHV0ZXIvbW9kZW0gRENEIGxpbmUgdHJhY2sgdGhlIG1vZGVtL21vZGVtCisJICBjYXJyaWVyIGRldGVjdCBzaWduYWwsIGkuZS4gbm8gY29ubmVjdGlvbiBtZWFucyBubworCSAgY2FycmllciBkZXRlY3Qgc2lnbmFsIHRvIHRoZSBjb21wdXRlciAoJkMxKS4KKwktIGVuYWJsZSBhdXRvLWFuc3dlciBhZnRlciB0aGUgZmlyc3QgcmluZyAoUzA9MSkuCisJLSBzdG9yZSB0aGUgY29uZmlndXJhdGlvbiBhcyB0aGUgc3RhcnQgY29uZmlndXJhdGlvbiAoJlcwKS4KKworVGhlIGNvbW1hbmRzIG9uIHlvdXIgbW9kZW0gdG8gYWNoaWV2ZSB0aGUgc2FtZSBzZXR1cCBtYXkgdmFyeSwgZXNwZWNpYWxseQordGhlICZEMiBhbmQgJkMxIGNvbW1hbmRzIG1heSBub3QgYmUgZW50aXJlbHkgc3RhbmRhcmQuCisKK0V4aXQga2VybWl0L21pbmljb20uCisKK1B1dCB0aGUgY29tbWFuZCAKKworCS9zYmluL2FnZXR0eSAtdyAyNDAwIHR0eVMxCisKK2luIHRoZSBjb21tYW5kIGZpZWxkIG9mIHRoZSBhcHByb3ByaWF0ZSBsaW5lIGluIC9ldGMvaW5pdHRhYiB0byBzdGFydAorYWdldHR5IG9uIC9kZXYvdHR5UzEgd2l0aCBhIDI0MDAgYnBzIHNwZWVkIGJldHdlZW4gbW9kZW0gYW5kIGNvbXB1dGVyLgorCitJbml0aWFsaXppbmcgdGhlIG1vZGVtIHdpdGggYWdldHR5CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK1VzZSB0aGUgYWdldHR5IC1JIGNvbW1hbmQgbGluZSBvcHRpb24gdG8gc3BlY2lmeSBhIG1vZGVtIGluaXQgc3RyaW5nLCBsaWtlCitmb3IgdGhlIHNhbWUgc2V0dXAgYXMgYWJvdmUsIHVzZSB0aGUgZm9sbG93aW5nIGFnZXR0eSBjb21tYW5kIGluIHlvdXIKKy9ldGMvaW5pdHRhYi4KKworCS9zYmluL2FnZXR0eSAtdyAtSSAnQVRFMFExJkQyJkMxUzA9MVwwMTUnIDI0MDAgdHR5UzEKKworVGhlIGZpbmFsIFwwMTUgaXMgYW4gb2N0YWwgY29kaW5nIG9mIHRoZSBjYXJyaWFnZSByZXR1cm4gY2hhcmFjdGVyCitlbmRpbmcgdGhlIGNvbW1hbmQgc3RyaW5nLgorCitJZiB5b3UncmUgdXNpbmcgc2ltcGxlaW5pdCAocGFydCBvZiB0aGlzIHBhY2thZ2UpIGluc3RlYWQgb2YgdGhlIFNZU1YgCitjb21wYXRpYmxlIGluaXQgKHlvdSdyZSBtb3N0IGxpa2VseSB1c2luZyB0aGUgU1lTViBvbmUhKSB0aGVuIHlvdSBtdXN0CityZW1vdmUgdGhlIHNpbmdsZSBxdW90ZXMgZnJvbSB0aGUgY29tbWFuZCBsaW5lIGFib3ZlLgorCitOb3RlIHRoYXQgdGhlICZXMCBjb21tYW5kIHdhcyBub3QgdXNlZCBoZXJlIHNpbmNlIHRoZSBtb2RlbSB3aWxsIGJlIAoraW5pdGlhbGl6ZWQgZWFjaCB0aW1lIGFnZXR0eSBzdGFydHMuCisKK1dpdGggYSBWLjM0ICgyOC44IGticHMpIG1vZGVtIHRyeSBzdGFydGluZyB3aXRoIGEgY29tbWFuZCBsaWtlOgorCisJL3NiaW4vYWdldHR5IC13IC1JICdBVEUwUTEmRDImQzFTMD0xXDAxNScgMTE1MjAwIHR0eVMxCisKK05vdGUgdGhhdCBhZ2V0dHkgc3VwcG9ydHMgdGhlIGhpZ2hlciAoPjk2MDAgYnBzKSBzZXJpYWwgc3BlZWRzCitkaXJlY3RseSwgdGhlcmUncyBubyBuZWVkIHRvIHVzZSBzZXRzZXJpYWwgdG8gdXNlIHRoZSBoaWdoZXIgc3BlZWRzLgpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9tb3VudC50eHQgYi9Eb2N1bWVudGF0aW9uL21vdW50LnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNzVhNmUyCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9tb3VudC50eHQKQEAgLTAsMCArMSwxNyBAQAorbW91bnQvdW1vdW50IGZvciBMaW51eCAwLjk3LjMgYW5kIGxhdGVyLgorQXV0aG9yczoKK0RvdWcgUXVhbGUgPHF1YWxlQHNhYXZpay5jcy53aXNjLmVkdT4sCitILkouIEx1IDxobHVAZWVjcy53c3UuZWR1PiwKK1JpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+LAorU3RlcGhlbiBUd2VlZGllIDxzY3RAZGNzLmVkLmFjLnVrPi4KK0FuZHJpZXMgQnJvdXdlciA8YWViQGN3aS5ubD4KK0FkcmlhbiBCdW5rIDxidW5rQHN0dXN0YS5kZT4KKworUHJlc2VudGx5IGluIHV0aWwtbGludXggbWFpbnRhaW5lZCBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4uIAorCis9PSBOb3RlcyB0byBkZXZlbG9wZXJzID09CisKKwlUaGUgZmluYWwgc29sdXRpb24gd2lsbCBiZSBsaWJtb3VudC9tb3VudC5jIGFzIHRoZQorCW1vdW50KDgpIGNvbW1hbmQgaW1wbGVtZW50YXRpb24uIFNvLCBsZXQncyBrZWVwIHRoZQorCWN1cnJlbnQgbW91bnQvKiBjb2RlIGluIG1haW50ZW5hbmNlIG1vZGUgYW5kIGRvbid0IHRyeSB0bworCXJld3JpdGUgaXQgOi0pCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3BhcnNlLWRhdGUudHh0IGIvRG9jdW1lbnRhdGlvbi9wYXJzZS1kYXRlLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjNhYmU3Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9wYXJzZS1kYXRlLnR4dApAQCAtMCwwICsxLDQ2OCBAQAorCitOQU1FCisJcGFyc2VfZGF0ZSAtIHBhcnNlcyBhIGRhdGUgc3RyaW5nIGludG8gYSB0aW1lc3BlYyBzdHJ1Y3QuCisKK1NZTk9QU0lTCisJI2luY2x1ZGUgInRpbWV1dGlscy5oIgorCisJaW50IHBhcnNlX2RhdGUoc3RydWN0IHRpbWVzcGVjICpyZXN1bHQsIGNoYXIgY29uc3QgKnAsCisJCQlzdHJ1Y3QgdGltZXNwZWMgY29uc3QgKm5vdykKKworCUxEQUREIGxpYmNvbW1vbi5sYQorCitERVNDUklQVElPTgorCVBhcnNlIGEgZGF0ZS90aW1lIHN0cmluZywgc3RvcmluZyB0aGUgcmVzdWx0aW5nIHRpbWUgdmFsdWUgaW50byAqcmVzdWx0LgorCVRoZSBzdHJpbmcgaXRzZWxmIGlzIHBvaW50ZWQgdG8gYnkgKnAuICBSZXR1cm4gMSBpZiBzdWNjZXNzZnVsLgorCSpwIGNhbiBiZSBhbiBpbmNvbXBsZXRlIG9yIHJlbGF0aXZlIHRpbWUgc3BlY2lmaWNhdGlvbjsgaWYgc28sIHVzZQorCSpub3cgYXMgdGhlIGJhc2lzIGZvciB0aGUgcmV0dXJuZWQgdGltZS4KKworCitUaGlzIGZ1bmN0aW9uIGlzIGJhc2VkIHVwb24gZ251bGliJ3MgcGFyc2UtZGF0ZXRpbWUueS1kZDdhODcxLgorCitCZWxvdyBpcyBhIHBsYWluIHRleHQgdmVyc2lvbiBvZiB0aGUgZ251bGliIHBhcnNlLWRhdGV0aW1lLnRleGktZGQ3YTg3MSBtYW51YWwKK2Rlc2NyaWJpbmcgdGhlIGlucHV0IHN0cmluZ3MgdGhhdCBhcmUgcmVjb2duaXplZC4KKworQW55IGZ1dHVyZSBtb2RpZmljYXRpb25zIHRvIHRoZSB1dGlsLWxpbnV4IHBhcnNlciB0aGF0IGFmZmVjdCBpbnB1dCBzdHJpbmdzCitzaG91bGQgYmUgbm90ZWQgYmVsb3cuCisKKworMSBEYXRlIGlucHV0IGZvcm1hdHMKKyoqKioqKioqKioqKioqKioqKioqCisKK0ZpcnN0LCBhIHF1b3RlOgorCisgICAgIE91ciB1bml0cyBvZiB0ZW1wb3JhbCBtZWFzdXJlbWVudCwgZnJvbSBzZWNvbmRzIG9uIHVwIHRvIG1vbnRocywKKyAgICAgYXJlIHNvIGNvbXBsaWNhdGVkLCBhc3ltbWV0cmljYWwgYW5kIGRpc2p1bmN0aXZlIHNvIGFzIHRvIG1ha2UKKyAgICAgY29oZXJlbnQgbWVudGFsIHJlY2tvbmluZyBpbiB0aW1lIGFsbCBidXQgaW1wb3NzaWJsZS4gIEluZGVlZCwgaGFkCisgICAgIHNvbWUgdHlyYW5uaWNhbCBnb2QgY29udHJpdmVkIHRvIGVuc2xhdmUgb3VyIG1pbmRzIHRvIHRpbWUsIHRvCisgICAgIG1ha2UgaXQgYWxsIGJ1dCBpbXBvc3NpYmxlIGZvciB1cyB0byBlc2NhcGUgc3ViamVjdGlvbiB0byBzb2RkZW4KKyAgICAgcm91dGluZXMgYW5kIHVucGxlYXNhbnQgc3VycHJpc2VzLCBoZSBjb3VsZCBoYXJkbHkgaGF2ZSBkb25lCisgICAgIGJldHRlciB0aGFuIGhhbmRpbmcgZG93biBvdXIgcHJlc2VudCBzeXN0ZW0uICBJdCBpcyBsaWtlIGEgc2V0IG9mCisgICAgIHRyYXBlem9pZGFsIGJ1aWxkaW5nIGJsb2Nrcywgd2l0aCBubyB2ZXJ0aWNhbCBvciBob3Jpem9udGFsCisgICAgIHN1cmZhY2VzLCBsaWtlIGEgbGFuZ3VhZ2UgaW4gd2hpY2ggdGhlIHNpbXBsZXN0IHRob3VnaHQgZGVtYW5kcworICAgICBvcm5hdGUgY29uc3RydWN0aW9ucywgdXNlbGVzcyBwYXJ0aWNsZXMgYW5kIGxlbmd0aHkKKyAgICAgY2lyY3VtbG9jdXRpb25zLiAgVW5saWtlIHRoZSBtb3JlIHN1Y2Nlc3NmdWwgcGF0dGVybnMgb2YgbGFuZ3VhZ2UKKyAgICAgYW5kIHNjaWVuY2UsIHdoaWNoIGVuYWJsZSB1cyB0byBmYWNlIGV4cGVyaWVuY2UgYm9sZGx5IG9yIGF0IGxlYXN0CisgICAgIGxldmVsLWhlYWRlZGx5LCBvdXIgc3lzdGVtIG9mIHRlbXBvcmFsIGNhbGN1bGF0aW9uIHNpbGVudGx5IGFuZAorICAgICBwZXJzaXN0ZW50bHkgZW5jb3VyYWdlcyBvdXIgdGVycm9yIG9mIHRpbWUuCisKKyAgICAgLi4uICBJdCBpcyBhcyB0aG91Z2ggYXJjaGl0ZWN0cyBoYWQgdG8gbWVhc3VyZSBsZW5ndGggaW4gZmVldCwKKyAgICAgd2lkdGggaW4gbWV0ZXJzIGFuZCBoZWlnaHQgaW4gZWxsczsgYXMgdGhvdWdoIGJhc2ljIGluc3RydWN0aW9uCisgICAgIG1hbnVhbHMgZGVtYW5kZWQgYSBrbm93bGVkZ2Ugb2YgZml2ZSBkaWZmZXJlbnQgbGFuZ3VhZ2VzLiAgSXQgaXMKKyAgICAgbm8gd29uZGVyIHRoZW4gdGhhdCB3ZSBvZnRlbiBsb29rIGludG8gb3VyIG93biBpbW1lZGlhdGUgcGFzdCBvcgorICAgICBmdXR1cmUsIGxhc3QgVHVlc2RheSBvciBhIHdlZWsgZnJvbSBTdW5kYXksIHdpdGggZmVlbGluZ3Mgb2YKKyAgICAgaGVscGxlc3MgY29uZnVzaW9uLiAgLi4uCisKKyAgICAgLS1Sb2JlcnQgR3J1ZGluLCBgVGltZSBhbmQgdGhlIEFydCBvZiBMaXZpbmcnLgorCisgICBUaGlzIHNlY3Rpb24gZGVzY3JpYmVzIHRoZSB0ZXh0dWFsIGRhdGUgcmVwcmVzZW50YXRpb25zIHRoYXQgR05VCitwcm9ncmFtcyBhY2NlcHQuICBUaGVzZSBhcmUgdGhlIHN0cmluZ3MgeW91LCBhcyBhIHVzZXIsIGNhbiBzdXBwbHkgYXMKK2FyZ3VtZW50cyB0byB0aGUgdmFyaW91cyBwcm9ncmFtcy4gIFRoZSBDIGludGVyZmFjZSAodmlhIHRoZQorYHBhcnNlX2RhdGV0aW1lJyBmdW5jdGlvbikgaXMgbm90IGRlc2NyaWJlZCBoZXJlLgorCisxLjEgR2VuZXJhbCBkYXRlIHN5bnRheAorPT09PT09PT09PT09PT09PT09PT09PT0KKworQSAiZGF0ZSIgaXMgYSBzdHJpbmcsIHBvc3NpYmx5IGVtcHR5LCBjb250YWluaW5nIG1hbnkgaXRlbXMgc2VwYXJhdGVkCitieSB3aGl0ZXNwYWNlLiAgVGhlIHdoaXRlc3BhY2UgbWF5IGJlIG9taXR0ZWQgd2hlbiBubyBhbWJpZ3VpdHkgYXJpc2VzLgorVGhlIGVtcHR5IHN0cmluZyBtZWFucyB0aGUgYmVnaW5uaW5nIG9mIHRvZGF5IChpLmUuLCBtaWRuaWdodCkuICBPcmRlcgorb2YgdGhlIGl0ZW1zIGlzIGltbWF0ZXJpYWwuICBBIGRhdGUgc3RyaW5nIG1heSBjb250YWluIG1hbnkgZmxhdm9ycyBvZgoraXRlbXM6CisKKyAgICogY2FsZW5kYXIgZGF0ZSBpdGVtcworCisgICAqIHRpbWUgb2YgZGF5IGl0ZW1zCisKKyAgICogdGltZSB6b25lIGl0ZW1zCisKKyAgICogY29tYmluZWQgZGF0ZSBhbmQgdGltZSBvZiBkYXkgaXRlbXMKKworICAgKiBkYXkgb2YgdGhlIHdlZWsgaXRlbXMKKworICAgKiByZWxhdGl2ZSBpdGVtcworCisgICAqIHB1cmUgbnVtYmVycy4KKworV2UgZGVzY3JpYmUgZWFjaCBvZiB0aGVzZSBpdGVtIHR5cGVzIGluIHR1cm4sIGJlbG93LgorCisgICBBIGZldyBvcmRpbmFsIG51bWJlcnMgbWF5IGJlIHdyaXR0ZW4gb3V0IGluIHdvcmRzIGluIHNvbWUgY29udGV4dHMuCitUaGlzIGlzIG1vc3QgdXNlZnVsIGZvciBzcGVjaWZ5aW5nIGRheSBvZiB0aGUgd2VlayBpdGVtcyBvciByZWxhdGl2ZQoraXRlbXMgKHNlZSBiZWxvdykuICBBbW9uZyB0aGUgbW9zdCBjb21tb25seSB1c2VkIG9yZGluYWwgbnVtYmVycywgdGhlCit3b3JkIGBsYXN0JyBzdGFuZHMgZm9yIC0xLCBgdGhpcycgc3RhbmRzIGZvciAwLCBhbmQgYGZpcnN0JyBhbmQgYG5leHQnCitib3RoIHN0YW5kIGZvciAxLiAgQmVjYXVzZSB0aGUgd29yZCBgc2Vjb25kJyBzdGFuZHMgZm9yIHRoZSB1bml0IG9mCit0aW1lIHRoZXJlIGlzIG5vIHdheSB0byB3cml0ZSB0aGUgb3JkaW5hbCBudW1iZXIgMiwgYnV0IGZvciBjb252ZW5pZW5jZQorYHRoaXJkJyBzdGFuZHMgZm9yIDMsIGBmb3VydGgnIGZvciA0LCBgZmlmdGgnIGZvciA1LCBgc2l4dGgnIGZvciA2LAorYHNldmVudGgnIGZvciA3LCBgZWlnaHRoJyBmb3IgOCwgYG5pbnRoJyBmb3IgOSwgYHRlbnRoJyBmb3IgMTAsCitgZWxldmVudGgnIGZvciAxMSBhbmQgYHR3ZWxmdGgnIGZvciAxMi4KKworICAgV2hlbiBhIG1vbnRoIGlzIHdyaXR0ZW4gdGhpcyB3YXksIGl0IGlzIHN0aWxsIGNvbnNpZGVyZWQgdG8gYmUKK3dyaXR0ZW4gbnVtZXJpY2FsbHksIGluc3RlYWQgb2YgYmVpbmcgInNwZWxsZWQgaW4gZnVsbCI7IHRoaXMgY2hhbmdlcwordGhlIGFsbG93ZWQgc3RyaW5ncy4KKworICAgSW4gdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24sIG9ubHkgRW5nbGlzaCBpcyBzdXBwb3J0ZWQgZm9yIHdvcmRzCithbmQgYWJicmV2aWF0aW9ucyBsaWtlIGBBTScsIGBEU1QnLCBgRVNUJywgYGZpcnN0JywgYEphbnVhcnknLAorYFN1bmRheScsIGB0b21vcnJvdycsIGFuZCBgeWVhcicuCisKKyAgIFRoZSBvdXRwdXQgb2YgdGhlIGBkYXRlJyBjb21tYW5kIGlzIG5vdCBhbHdheXMgYWNjZXB0YWJsZSBhcyBhIGRhdGUKK3N0cmluZywgbm90IG9ubHkgYmVjYXVzZSBvZiB0aGUgbGFuZ3VhZ2UgcHJvYmxlbSwgYnV0IGFsc28gYmVjYXVzZQordGhlcmUgaXMgbm8gc3RhbmRhcmQgbWVhbmluZyBmb3IgdGltZSB6b25lIGl0ZW1zIGxpa2UgYElTVCcuICBXaGVuIHVzaW5nCitgZGF0ZScgdG8gZ2VuZXJhdGUgYSBkYXRlIHN0cmluZyBpbnRlbmRlZCB0byBiZSBwYXJzZWQgbGF0ZXIsIHNwZWNpZnkgYQorZGF0ZSBmb3JtYXQgdGhhdCBpcyBpbmRlcGVuZGVudCBvZiBsYW5ndWFnZSBhbmQgdGhhdCBkb2VzIG5vdCB1c2UgdGltZQorem9uZSBpdGVtcyBvdGhlciB0aGFuIGBVVEMnIGFuZCBgWicuICBIZXJlIGFyZSBzb21lIHdheXMgdG8gZG8gdGhpczoKKworICAgICAkIExDX0FMTD1DIFRaPVVUQzAgZGF0ZQorICAgICBNb24gTWFyICAxIDAwOjIxOjQyIFVUQyAyMDA0CisgICAgICQgVFo9VVRDMCBkYXRlICsnJVktJW0tJWQgJUg6JU06JVNaJworICAgICAyMDA0LTAzLTAxIDAwOjIxOjQyWgorICAgICAkIGRhdGUgLS1yZmMtMzMzOT1ucyAgIyAtLXJmYy0zMzM5IGlzIGEgR05VIGV4dGVuc2lvbi4KKyAgICAgMjAwNC0wMi0yOSAxNjoyMTo0Mi42OTI3MjIxMjgtMDg6MDAKKyAgICAgJCBkYXRlIC0tcmZjLTI4MjIgICMgYSBHTlUgZXh0ZW5zaW9uCisgICAgIFN1biwgMjkgRmViIDIwMDQgMTY6MjE6NDIgLTA4MDAKKyAgICAgJCBkYXRlICsnJVktJW0tJWQgJUg6JU06JVMgJXonICAjICV6IGlzIGEgR05VIGV4dGVuc2lvbi4KKyAgICAgMjAwNC0wMi0yOSAxNjoyMTo0MiAtMDgwMAorICAgICAkIGRhdGUgKydAJXMuJU4nICAjICVzIGFuZCAlTiBhcmUgR05VIGV4dGVuc2lvbnMuCisgICAgIEAxMDc4MTAwNTAyLjY5MjcyMjEyOAorCisgICBBbHBoYWJldGljIGNhc2UgaXMgY29tcGxldGVseSBpZ25vcmVkIGluIGRhdGVzLiAgQ29tbWVudHMgbWF5IGJlCitpbnRyb2R1Y2VkIGJldHdlZW4gcm91bmQgcGFyZW50aGVzZXMsIGFzIGxvbmcgYXMgaW5jbHVkZWQgcGFyZW50aGVzZXMKK2FyZSBwcm9wZXJseSBuZXN0ZWQuICBIeXBoZW5zIG5vdCBmb2xsb3dlZCBieSBhIGRpZ2l0IGFyZSBjdXJyZW50bHkKK2lnbm9yZWQuICBMZWFkaW5nIHplcm9zIG9uIG51bWJlcnMgYXJlIGlnbm9yZWQuCisKKyAgIEludmFsaWQgZGF0ZXMgbGlrZSBgMjAwNS0wMi0yOScgb3IgdGltZXMgbGlrZSBgMjQ6MDAnIGFyZSByZWplY3RlZC4KK0luIHRoZSB0eXBpY2FsIGNhc2Ugb2YgYSBob3N0IHRoYXQgZG9lcyBub3Qgc3VwcG9ydCBsZWFwIHNlY29uZHMsIGEKK3RpbWUgbGlrZSBgMjM6NTk6NjAnIGlzIHJlamVjdGVkIGV2ZW4gaWYgaXQgY29ycmVzcG9uZHMgdG8gYSB2YWxpZCBsZWFwCitzZWNvbmQuCisKKzEuMiBDYWxlbmRhciBkYXRlIGl0ZW1zCis9PT09PT09PT09PT09PT09PT09PT09PQorCitBICJjYWxlbmRhciBkYXRlIGl0ZW0iIHNwZWNpZmllcyBhIGRheSBvZiB0aGUgeWVhci4gIEl0IGlzIHNwZWNpZmllZAorZGlmZmVyZW50bHksIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBtb250aCBpcyBzcGVjaWZpZWQgbnVtZXJpY2FsbHkgb3IKK2xpdGVyYWxseS4gIEFsbCB0aGVzZSBzdHJpbmdzIHNwZWNpZnkgdGhlIHNhbWUgY2FsZW5kYXIgZGF0ZToKKworICAgICAxOTcyLTA5LTI0ICAgICAjIElTTyA4NjAxLgorICAgICA3Mi05LTI0ICAgICAgICAjIEFzc3VtZSAxOXh4IGZvciA2OSB0aHJvdWdoIDk5LAorICAgICAgICAgICAgICAgICAgICAjIDIweHggZm9yIDAwIHRocm91Z2ggNjguCisgICAgIDcyLTA5LTI0ICAgICAgICMgTGVhZGluZyB6ZXJvcyBhcmUgaWdub3JlZC4KKyAgICAgOS8yNC83MiAgICAgICAgIyBDb21tb24gVS5TLiB3cml0aW5nLgorICAgICAyNCBTZXB0ZW1iZXIgMTk3MgorICAgICAyNCBTZXB0IDcyICAgICAjIFNlcHRlbWJlciBoYXMgYSBzcGVjaWFsIGFiYnJldmlhdGlvbi4KKyAgICAgMjQgU2VwIDcyICAgICAgIyBUaHJlZS1sZXR0ZXIgYWJicmV2aWF0aW9ucyBhbHdheXMgYWxsb3dlZC4KKyAgICAgU2VwIDI0LCAxOTcyCisgICAgIDI0LXNlcC03MgorICAgICAyNHNlcDcyCisKKyAgIFRoZSB5ZWFyIGNhbiBhbHNvIGJlIG9taXR0ZWQuICBJbiB0aGlzIGNhc2UsIHRoZSBsYXN0IHNwZWNpZmllZCB5ZWFyCitpcyB1c2VkLCBvciB0aGUgY3VycmVudCB5ZWFyIGlmIG5vbmUuICBGb3IgZXhhbXBsZToKKworICAgICA5LzI0CisgICAgIHNlcCAyNAorCisgICBIZXJlIGFyZSB0aGUgcnVsZXMuCisKKyAgIEZvciBudW1lcmljIG1vbnRocywgdGhlIElTTyA4NjAxIGZvcm1hdCBgWUVBUi1NT05USC1EQVknIGlzIGFsbG93ZWQsCit3aGVyZSBZRUFSIGlzIGFueSBwb3NpdGl2ZSBudW1iZXIsIE1PTlRIIGlzIGEgbnVtYmVyIGJldHdlZW4gMDEgYW5kIDEyLAorYW5kIERBWSBpcyBhIG51bWJlciBiZXR3ZWVuIDAxIGFuZCAzMS4gIEEgbGVhZGluZyB6ZXJvIG11c3QgYmUgcHJlc2VudAoraWYgYSBudW1iZXIgaXMgbGVzcyB0aGFuIHRlbi4gIElmIFlFQVIgaXMgNjggb3Igc21hbGxlciwgdGhlbiAyMDAwIGlzCithZGRlZCB0byBpdDsgb3RoZXJ3aXNlLCBpZiBZRUFSIGlzIGxlc3MgdGhhbiAxMDAsIHRoZW4gMTkwMCBpcyBhZGRlZCB0bworaXQuICBUaGUgY29uc3RydWN0IGBNT05USC9EQVkvWUVBUicsIHBvcHVsYXIgaW4gdGhlIFVuaXRlZCBTdGF0ZXMsIGlzCithY2NlcHRlZC4gIEFsc28gYE1PTlRIL0RBWScsIG9taXR0aW5nIHRoZSB5ZWFyLgorCisgICBMaXRlcmFsIG1vbnRocyBtYXkgYmUgc3BlbGxlZCBvdXQgaW4gZnVsbDogYEphbnVhcnknLCBgRmVicnVhcnknLAorYE1hcmNoJywgYEFwcmlsJywgYE1heScsIGBKdW5lJywgYEp1bHknLCBgQXVndXN0JywgYFNlcHRlbWJlcicsCitgT2N0b2JlcicsIGBOb3ZlbWJlcicgb3IgYERlY2VtYmVyJy4gIExpdGVyYWwgbW9udGhzIG1heSBiZSBhYmJyZXZpYXRlZAordG8gdGhlaXIgZmlyc3QgdGhyZWUgbGV0dGVycywgcG9zc2libHkgZm9sbG93ZWQgYnkgYW4gYWJicmV2aWF0aW5nIGRvdC4KK0l0IGlzIGFsc28gcGVybWl0dGVkIHRvIHdyaXRlIGBTZXB0JyBpbnN0ZWFkIG9mIGBTZXB0ZW1iZXInLgorCisgICBXaGVuIG1vbnRocyBhcmUgd3JpdHRlbiBsaXRlcmFsbHksIHRoZSBjYWxlbmRhciBkYXRlIG1heSBiZSBnaXZlbiBhcworYW55IG9mIHRoZSBmb2xsb3dpbmc6CisKKyAgICAgREFZIE1PTlRIIFlFQVIKKyAgICAgREFZIE1PTlRICisgICAgIE1PTlRIIERBWSBZRUFSCisgICAgIERBWS1NT05USC1ZRUFSCisKKyAgIE9yLCBvbWl0dGluZyB0aGUgeWVhcjoKKworICAgICBNT05USCBEQVkKKworMS4zIFRpbWUgb2YgZGF5IGl0ZW1zCis9PT09PT09PT09PT09PT09PT09PT0KKworQSAidGltZSBvZiBkYXkgaXRlbSIgaW4gZGF0ZSBzdHJpbmdzIHNwZWNpZmllcyB0aGUgdGltZSBvbiBhIGdpdmVuIGRheS4KK0hlcmUgYXJlIHNvbWUgZXhhbXBsZXMsIGFsbCBvZiB3aGljaCByZXByZXNlbnQgdGhlIHNhbWUgdGltZToKKworICAgICAyMDowMjowMC4wMDAwMDAKKyAgICAgMjA6MDIKKyAgICAgODowMnBtCisgICAgIDIwOjAyLTA1MDAgICAgICAjIEluIEVTVCAoVS5TLiBFYXN0ZXJuIFN0YW5kYXJkIFRpbWUpLgorCisgICBNb3JlIGdlbmVyYWxseSwgdGhlIHRpbWUgb2YgZGF5IG1heSBiZSBnaXZlbiBhcworYEhPVVI6TUlOVVRFOlNFQ09ORCcsIHdoZXJlIEhPVVIgaXMgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAyMywgTUlOVVRFCitpcyBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDU5LCBhbmQgU0VDT05EIGlzIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgNTkKK3Bvc3NpYmx5IGZvbGxvd2VkIGJ5IGAuJyBvciBgLCcgYW5kIGEgZnJhY3Rpb24gY29udGFpbmluZyBvbmUgb3IgbW9yZQorZGlnaXRzLiAgQWx0ZXJuYXRpdmVseSwgYDpTRUNPTkQnIGNhbiBiZSBvbWl0dGVkLCBpbiB3aGljaCBjYXNlIGl0IGlzCit0YWtlbiB0byBiZSB6ZXJvLiAgT24gdGhlIHJhcmUgaG9zdHMgdGhhdCBzdXBwb3J0IGxlYXAgc2Vjb25kcywgU0VDT05ECittYXkgYmUgNjAuCisKKyAgIElmIHRoZSB0aW1lIGlzIGZvbGxvd2VkIGJ5IGBhbScgb3IgYHBtJyAob3IgYGEubS4nIG9yIGBwLm0uJyksIEhPVVIKK2lzIHJlc3RyaWN0ZWQgdG8gcnVuIGZyb20gMSB0byAxMiwgYW5kIGA6TUlOVVRFJyBtYXkgYmUgb21pdHRlZCAodGFrZW4KK3RvIGJlIHplcm8pLiAgYGFtJyBpbmRpY2F0ZXMgdGhlIGZpcnN0IGhhbGYgb2YgdGhlIGRheSwgYHBtJyBpbmRpY2F0ZXMKK3RoZSBzZWNvbmQgaGFsZiBvZiB0aGUgZGF5LiAgSW4gdGhpcyBub3RhdGlvbiwgMTIgaXMgdGhlIHByZWRlY2Vzc29yIG9mCisxOiBtaWRuaWdodCBpcyBgMTJhbScgd2hpbGUgbm9vbiBpcyBgMTJwbScuICAoVGhpcyBpcyB0aGUgemVyby1vcmllbnRlZAoraW50ZXJwcmV0YXRpb24gb2YgYDEyYW0nIGFuZCBgMTJwbScsIGFzIG9wcG9zZWQgdG8gdGhlIG9sZCB0cmFkaXRpb24KK2Rlcml2ZWQgZnJvbSBMYXRpbiB3aGljaCB1c2VzIGAxMm0nIGZvciBub29uIGFuZCBgMTJwbScgZm9yIG1pZG5pZ2h0LikKKworICAgVGhlIHRpbWUgbWF5IGFsdGVybmF0aXZlbHkgYmUgZm9sbG93ZWQgYnkgYSB0aW1lIHpvbmUgY29ycmVjdGlvbiwKK2V4cHJlc3NlZCBhcyBgU0hITU0nLCB3aGVyZSBTIGlzIGArJyBvciBgLScsIEhIIGlzIGEgbnVtYmVyIG9mIHpvbmUKK2hvdXJzIGFuZCBNTSBpcyBhIG51bWJlciBvZiB6b25lIG1pbnV0ZXMuICBUaGUgem9uZSBtaW51dGVzIHRlcm0sIE1NLAorbWF5IGJlIG9taXR0ZWQsIGluIHdoaWNoIGNhc2UgdGhlIG9uZS0gb3IgdHdvLWRpZ2l0IGNvcnJlY3Rpb24gaXMKK2ludGVycHJldGVkIGFzIGEgbnVtYmVyIG9mIGhvdXJzLiAgWW91IGNhbiBhbHNvIHNlcGFyYXRlIEhIIGZyb20gTU0KK3dpdGggYSBjb2xvbi4gIFdoZW4gYSB0aW1lIHpvbmUgY29ycmVjdGlvbiBpcyBnaXZlbiB0aGlzIHdheSwgaXQgZm9yY2VzCitpbnRlcnByZXRhdGlvbiBvZiB0aGUgdGltZSByZWxhdGl2ZSB0byBDb29yZGluYXRlZCBVbml2ZXJzYWwgVGltZQorKFVUQyksIG92ZXJyaWRpbmcgYW55IHByZXZpb3VzIHNwZWNpZmljYXRpb24gZm9yIHRoZSB0aW1lIHpvbmUgb3IgdGhlCitsb2NhbCB0aW1lIHpvbmUuICBGb3IgZXhhbXBsZSwgYCswNTMwJyBhbmQgYCswNTozMCcgYm90aCBzdGFuZCBmb3IgdGhlCit0aW1lIHpvbmUgNS41IGhvdXJzIGFoZWFkIG9mIFVUQyAoZS5nLiwgSW5kaWEpLiAgVGhpcyBpcyB0aGUgYmVzdCB3YXkgdG8KK3NwZWNpZnkgYSB0aW1lIHpvbmUgY29ycmVjdGlvbiBieSBmcmFjdGlvbmFsIHBhcnRzIG9mIGFuIGhvdXIuICBUaGUKK21heGltdW0gem9uZSBjb3JyZWN0aW9uIGlzIDI0IGhvdXJzLgorCisgICBFaXRoZXIgYGFtJy9gcG0nIG9yIGEgdGltZSB6b25lIGNvcnJlY3Rpb24gbWF5IGJlIHNwZWNpZmllZCwgYnV0IG5vdAorYm90aC4KKworMS40IFRpbWUgem9uZSBpdGVtcworPT09PT09PT09PT09PT09PT09PQorCitBICJ0aW1lIHpvbmUgaXRlbSIgc3BlY2lmaWVzIGFuIGludGVybmF0aW9uYWwgdGltZSB6b25lLCBpbmRpY2F0ZWQgYnkgYQorc21hbGwgc2V0IG9mIGxldHRlcnMsIGUuZy4sIGBVVEMnIG9yIGBaJyBmb3IgQ29vcmRpbmF0ZWQgVW5pdmVyc2FsCitUaW1lLiAgQW55IGluY2x1ZGVkIHBlcmlvZHMgYXJlIGlnbm9yZWQuICBCeSBmb2xsb3dpbmcgYQorbm9uLWRheWxpZ2h0LXNhdmluZyB0aW1lIHpvbmUgYnkgdGhlIHN0cmluZyBgRFNUJyBpbiBhIHNlcGFyYXRlIHdvcmQKKyh0aGF0IGlzLCBzZXBhcmF0ZWQgYnkgc29tZSB3aGl0ZSBzcGFjZSksIHRoZSBjb3JyZXNwb25kaW5nIGRheWxpZ2h0CitzYXZpbmcgdGltZSB6b25lIG1heSBiZSBzcGVjaWZpZWQuICBBbHRlcm5hdGl2ZWx5LCBhCitub24tZGF5bGlnaHQtc2F2aW5nIHRpbWUgem9uZSBjYW4gYmUgZm9sbG93ZWQgYnkgYSB0aW1lIHpvbmUKK2NvcnJlY3Rpb24sIHRvIGFkZCB0aGUgdHdvIHZhbHVlcy4gIFRoaXMgaXMgbm9ybWFsbHkgZG9uZSBvbmx5IGZvcgorYFVUQyc7IGZvciBleGFtcGxlLCBgVVRDKzA1OjMwJyBpcyBlcXVpdmFsZW50IHRvIGArMDU6MzAnLgorCisgICBUaW1lIHpvbmUgaXRlbXMgb3RoZXIgdGhhbiBgVVRDJyBhbmQgYFonIGFyZSBvYnNvbGVzY2VudCBhbmQgYXJlIG5vdAorcmVjb21tZW5kZWQsIGJlY2F1c2UgdGhleSBhcmUgYW1iaWd1b3VzOyBmb3IgZXhhbXBsZSwgYEVTVCcgaGFzIGEKK2RpZmZlcmVudCBtZWFuaW5nIGluIEF1c3RyYWxpYSB0aGFuIGluIHRoZSBVbml0ZWQgU3RhdGVzLiAgSW5zdGVhZCwKK2l0J3MgYmV0dGVyIHRvIHVzZSB1bmFtYmlndW91cyBudW1lcmljIHRpbWUgem9uZSBjb3JyZWN0aW9ucyBsaWtlCitgLTA1MDAnLCBhcyBkZXNjcmliZWQgaW4gdGhlIHByZXZpb3VzIHNlY3Rpb24uCisKKyAgIElmIG5laXRoZXIgYSB0aW1lIHpvbmUgaXRlbSBub3IgYSB0aW1lIHpvbmUgY29ycmVjdGlvbiBpcyBzdXBwbGllZCwKK3RpbWVzdGFtcHMgYXJlIGludGVycHJldGVkIHVzaW5nIHRoZSBydWxlcyBvZiB0aGUgZGVmYXVsdCB0aW1lIHpvbmUKKygqbm90ZSBTcGVjaWZ5aW5nIHRpbWUgem9uZSBydWxlczo6KS4KKworMS41IENvbWJpbmVkIGRhdGUgYW5kIHRpbWUgb2YgZGF5IGl0ZW1zCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIElTTyA4NjAxIGRhdGUgYW5kIHRpbWUgb2YgZGF5IGV4dGVuZGVkIGZvcm1hdCBjb25zaXN0cyBvZiBhbiBJU08KKzg2MDEgZGF0ZSwgYSBgVCcgY2hhcmFjdGVyIHNlcGFyYXRvciwgYW5kIGFuIElTTyA4NjAxIHRpbWUgb2YgZGF5LgorVGhpcyBmb3JtYXQgaXMgYWxzbyByZWNvZ25pemVkIGlmIHRoZSBgVCcgaXMgcmVwbGFjZWQgYnkgYSBzcGFjZS4KKworICAgSW4gdGhpcyBmb3JtYXQsIHRoZSB0aW1lIG9mIGRheSBzaG91bGQgdXNlIDI0LWhvdXIgbm90YXRpb24uCitGcmFjdGlvbmFsIHNlY29uZHMgYXJlIGFsbG93ZWQsIHdpdGggZWl0aGVyIGNvbW1hIG9yIHBlcmlvZCBwcmVjZWRpbmcKK3RoZSBmcmFjdGlvbi4gIElTTyA4NjAxIGZyYWN0aW9uYWwgbWludXRlcyBhbmQgaG91cnMgYXJlIG5vdCBzdXBwb3J0ZWQuCitUeXBpY2FsbHksIGhvc3RzIHN1cHBvcnQgbmFub3NlY29uZCB0aW1lc3RhbXAgcmVzb2x1dGlvbjsgZXhjZXNzCitwcmVjaXNpb24gaXMgc2lsZW50bHkgZGlzY2FyZGVkLgorCisgICBIZXJlIGFyZSBzb21lIGV4YW1wbGVzOgorCisgICAgIDIwMTItMDktMjRUMjA6MDI6MDAuMDUyLTA1OjAwCisgICAgIDIwMTItMTItMzFUMjM6NTk6NTksOTk5OTk5OTk5KzExOjAwCisgICAgIDE5NzAtMDEtMDEgMDA6MDBaCisKKzEuNiBEYXkgb2Ygd2VlayBpdGVtcworPT09PT09PT09PT09PT09PT09PT09CisKK1RoZSBleHBsaWNpdCBtZW50aW9uIG9mIGEgZGF5IG9mIHRoZSB3ZWVrIHdpbGwgZm9yd2FyZCB0aGUgZGF0ZSAob25seQoraWYgbmVjZXNzYXJ5KSB0byByZWFjaCB0aGF0IGRheSBvZiB0aGUgd2VlayBpbiB0aGUgZnV0dXJlLgorCisgICBEYXlzIG9mIHRoZSB3ZWVrIG1heSBiZSBzcGVsbGVkIG91dCBpbiBmdWxsOiBgU3VuZGF5JywgYE1vbmRheScsCitgVHVlc2RheScsIGBXZWRuZXNkYXknLCBgVGh1cnNkYXknLCBgRnJpZGF5JyBvciBgU2F0dXJkYXknLiAgRGF5cyBtYXkKK2JlIGFiYnJldmlhdGVkIHRvIHRoZWlyIGZpcnN0IHRocmVlIGxldHRlcnMsIG9wdGlvbmFsbHkgZm9sbG93ZWQgYnkgYQorcGVyaW9kLiAgVGhlIHNwZWNpYWwgYWJicmV2aWF0aW9ucyBgVHVlcycgZm9yIGBUdWVzZGF5JywgYFdlZG5lcycgZm9yCitgV2VkbmVzZGF5JyBhbmQgYFRodXInIG9yIGBUaHVycycgZm9yIGBUaHVyc2RheScgYXJlIGFsc28gYWxsb3dlZC4KKworICAgQSBudW1iZXIgbWF5IHByZWNlZGUgYSBkYXkgb2YgdGhlIHdlZWsgaXRlbSB0byBtb3ZlIGZvcndhcmQKK3N1cHBsZW1lbnRhcnkgd2Vla3MuICBJdCBpcyBiZXN0IHVzZWQgaW4gZXhwcmVzc2lvbiBsaWtlIGB0aGlyZAorbW9uZGF5Jy4gIEluIHRoaXMgY29udGV4dCwgYGxhc3QgREFZJyBvciBgbmV4dCBEQVknIGlzIGFsc28gYWNjZXB0YWJsZTsKK3RoZXkgbW92ZSBvbmUgd2VlayBiZWZvcmUgb3IgYWZ0ZXIgdGhlIGRheSB0aGF0IERBWSBieSBpdHNlbGYgd291bGQKK3JlcHJlc2VudC4KKworICAgQSBjb21tYSBmb2xsb3dpbmcgYSBkYXkgb2YgdGhlIHdlZWsgaXRlbSBpcyBpZ25vcmVkLgorCisxLjcgUmVsYXRpdmUgaXRlbXMgaW4gZGF0ZSBzdHJpbmdzCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyJSZWxhdGl2ZSBpdGVtcyIgYWRqdXN0IGEgZGF0ZSAob3IgdGhlIGN1cnJlbnQgZGF0ZSBpZiBub25lKSBmb3J3YXJkIG9yCitiYWNrd2FyZC4gIFRoZSBlZmZlY3RzIG9mIHJlbGF0aXZlIGl0ZW1zIGFjY3VtdWxhdGUuICBIZXJlIGFyZSBzb21lCitleGFtcGxlczoKKworICAgICAxIHllYXIKKyAgICAgMSB5ZWFyIGFnbworICAgICAzIHllYXJzCisgICAgIDIgZGF5cworCisgICBUaGUgdW5pdCBvZiB0aW1lIGRpc3BsYWNlbWVudCBtYXkgYmUgc2VsZWN0ZWQgYnkgdGhlIHN0cmluZyBgeWVhcicKK29yIGBtb250aCcgZm9yIG1vdmluZyBieSB3aG9sZSB5ZWFycyBvciBtb250aHMuICBUaGVzZSBhcmUgZnV6enkgdW5pdHMsCithcyB5ZWFycyBhbmQgbW9udGhzIGFyZSBub3QgYWxsIG9mIGVxdWFsIGR1cmF0aW9uLiAgTW9yZSBwcmVjaXNlIHVuaXRzCithcmUgYGZvcnRuaWdodCcgd2hpY2ggaXMgd29ydGggMTQgZGF5cywgYHdlZWsnIHdvcnRoIDcgZGF5cywgYGRheScKK3dvcnRoIDI0IGhvdXJzLCBgaG91cicgd29ydGggNjAgbWludXRlcywgYG1pbnV0ZScgb3IgYG1pbicgd29ydGggNjAKK3NlY29uZHMsIGFuZCBgc2Vjb25kJyBvciBgc2VjJyB3b3J0aCBvbmUgc2Vjb25kLiAgQW4gYHMnIHN1ZmZpeCBvbgordGhlc2UgdW5pdHMgaXMgYWNjZXB0ZWQgYW5kIGlnbm9yZWQuCisKKyAgIFRoZSB1bml0IG9mIHRpbWUgbWF5IGJlIHByZWNlZGVkIGJ5IGEgbXVsdGlwbGllciwgZ2l2ZW4gYXMgYW4KK29wdGlvbmFsbHkgc2lnbmVkIG51bWJlci4gIFVuc2lnbmVkIG51bWJlcnMgYXJlIHRha2VuIGFzIHBvc2l0aXZlbHkKK3NpZ25lZC4gIE5vIG51bWJlciBhdCBhbGwgaW1wbGllcyAxIGZvciBhIG11bHRpcGxpZXIuICBGb2xsb3dpbmcgYQorcmVsYXRpdmUgaXRlbSBieSB0aGUgc3RyaW5nIGBhZ28nIGlzIGVxdWl2YWxlbnQgdG8gcHJlY2VkaW5nIHRoZSB1bml0CitieSBhIG11bHRpcGxpZXIgd2l0aCB2YWx1ZSAtMS4KKworICAgVGhlIHN0cmluZyBgdG9tb3Jyb3cnIGlzIHdvcnRoIG9uZSBkYXkgaW4gdGhlIGZ1dHVyZSAoZXF1aXZhbGVudCB0bworYGRheScpLCB0aGUgc3RyaW5nIGB5ZXN0ZXJkYXknIGlzIHdvcnRoIG9uZSBkYXkgaW4gdGhlIHBhc3QgKGVxdWl2YWxlbnQKK3RvIGBkYXkgYWdvJykuCisKKyAgIFRoZSBzdHJpbmdzIGBub3cnIG9yIGB0b2RheScgYXJlIHJlbGF0aXZlIGl0ZW1zIGNvcnJlc3BvbmRpbmcgdG8KK3plcm8tdmFsdWVkIHRpbWUgZGlzcGxhY2VtZW50LCB0aGVzZSBzdHJpbmdzIGNvbWUgZnJvbSB0aGUgZmFjdCBhCit6ZXJvLXZhbHVlZCB0aW1lIGRpc3BsYWNlbWVudCByZXByZXNlbnRzIHRoZSBjdXJyZW50IHRpbWUgd2hlbiBub3QKK290aGVyd2lzZSBjaGFuZ2VkIGJ5IHByZXZpb3VzIGl0ZW1zLiAgVGhleSBtYXkgYmUgdXNlZCB0byBzdHJlc3Mgb3RoZXIKK2l0ZW1zLCBsaWtlIGluIGAxMjowMCB0b2RheScuICBUaGUgc3RyaW5nIGB0aGlzJyBhbHNvIGhhcyB0aGUgbWVhbmluZworb2YgYSB6ZXJvLXZhbHVlZCB0aW1lIGRpc3BsYWNlbWVudCwgYnV0IGlzIHByZWZlcnJlZCBpbiBkYXRlIHN0cmluZ3MKK2xpa2UgYHRoaXMgdGh1cnNkYXknLgorCisgICBXaGVuIGEgcmVsYXRpdmUgaXRlbSBjYXVzZXMgdGhlIHJlc3VsdGluZyBkYXRlIHRvIGNyb3NzIGEgYm91bmRhcnkKK3doZXJlIHRoZSBjbG9ja3Mgd2VyZSBhZGp1c3RlZCwgdHlwaWNhbGx5IGZvciBkYXlsaWdodCBzYXZpbmcgdGltZSwgdGhlCityZXN1bHRpbmcgZGF0ZSBhbmQgdGltZSBhcmUgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCisKKyAgIFRoZSBmdXp6IGluIHVuaXRzIGNhbiBjYXVzZSBwcm9ibGVtcyB3aXRoIHJlbGF0aXZlIGl0ZW1zLiAgRm9yCitleGFtcGxlLCBgMjAwMy0wNy0zMSAtMSBtb250aCcgbWlnaHQgZXZhbHVhdGUgdG8gMjAwMy0wNy0wMSwgYmVjYXVzZQorMjAwMy0wNi0zMSBpcyBhbiBpbnZhbGlkIGRhdGUuICBUbyBkZXRlcm1pbmUgdGhlIHByZXZpb3VzIG1vbnRoIG1vcmUKK3JlbGlhYmx5LCB5b3UgY2FuIGFzayBmb3IgdGhlIG1vbnRoIGJlZm9yZSB0aGUgMTV0aCBvZiB0aGUgY3VycmVudAorbW9udGguICBGb3IgZXhhbXBsZToKKworICAgICAkIGRhdGUgLVIKKyAgICAgVGh1LCAzMSBKdWwgMjAwMyAxMzowMjozOSAtMDcwMAorICAgICAkIGRhdGUgLS1kYXRlPSctMSBtb250aCcgKydMYXN0IG1vbnRoIHdhcyAlQj8nCisgICAgIExhc3QgbW9udGggd2FzIEp1bHk/CisgICAgICQgZGF0ZSAtLWRhdGU9IiQoZGF0ZSArJVktJW0tMTUpIC0xIG1vbnRoIiArJ0xhc3QgbW9udGggd2FzICVCIScKKyAgICAgTGFzdCBtb250aCB3YXMgSnVuZSEKKworICAgQWxzbywgdGFrZSBjYXJlIHdoZW4gbWFuaXB1bGF0aW5nIGRhdGVzIGFyb3VuZCBjbG9jayBjaGFuZ2VzIHN1Y2ggYXMKK2RheWxpZ2h0IHNhdmluZyBsZWFwcy4gIEluIGEgZmV3IGNhc2VzIHRoZXNlIGhhdmUgYWRkZWQgb3Igc3VidHJhY3RlZAorYXMgbXVjaCBhcyAyNCBob3VycyBmcm9tIHRoZSBjbG9jaywgc28gaXQgaXMgb2Z0ZW4gd2lzZSB0byBhZG9wdAordW5pdmVyc2FsIHRpbWUgYnkgc2V0dGluZyB0aGUgYFRaJyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBgVVRDMCcKK2JlZm9yZSBlbWJhcmtpbmcgb24gY2FsZW5kcmljYWwgY2FsY3VsYXRpb25zLgorCisxLjggUHVyZSBudW1iZXJzIGluIGRhdGUgc3RyaW5ncworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIHByZWNpc2UgaW50ZXJwcmV0YXRpb24gb2YgYSBwdXJlIGRlY2ltYWwgbnVtYmVyIGRlcGVuZHMgb24gdGhlCitjb250ZXh0IGluIHRoZSBkYXRlIHN0cmluZy4KKworICAgSWYgdGhlIGRlY2ltYWwgbnVtYmVyIGlzIG9mIHRoZSBmb3JtIFlZWVlNTUREIGFuZCBubyBvdGhlciBjYWxlbmRhcgorZGF0ZSBpdGVtICgqbm90ZSBDYWxlbmRhciBkYXRlIGl0ZW1zOjopIGFwcGVhcnMgYmVmb3JlIGl0IGluIHRoZSBkYXRlCitzdHJpbmcsIHRoZW4gWVlZWSBpcyByZWFkIGFzIHRoZSB5ZWFyLCBNTSBhcyB0aGUgbW9udGggbnVtYmVyIGFuZCBERCBhcwordGhlIGRheSBvZiB0aGUgbW9udGgsIGZvciB0aGUgc3BlY2lmaWVkIGNhbGVuZGFyIGRhdGUuCisKKyAgIElmIHRoZSBkZWNpbWFsIG51bWJlciBpcyBvZiB0aGUgZm9ybSBISE1NIGFuZCBubyBvdGhlciB0aW1lIG9mIGRheQoraXRlbSBhcHBlYXJzIGJlZm9yZSBpdCBpbiB0aGUgZGF0ZSBzdHJpbmcsIHRoZW4gSEggaXMgcmVhZCBhcyB0aGUgaG91cgorb2YgdGhlIGRheSBhbmQgTU0gYXMgdGhlIG1pbnV0ZSBvZiB0aGUgaG91ciwgZm9yIHRoZSBzcGVjaWZpZWQgdGltZSBvZgorZGF5LiAgTU0gY2FuIGFsc28gYmUgb21pdHRlZC4KKworICAgSWYgYm90aCBhIGNhbGVuZGFyIGRhdGUgYW5kIGEgdGltZSBvZiBkYXkgYXBwZWFyIHRvIHRoZSBsZWZ0IG9mIGEKK251bWJlciBpbiB0aGUgZGF0ZSBzdHJpbmcsIGJ1dCBubyByZWxhdGl2ZSBpdGVtLCB0aGVuIHRoZSBudW1iZXIKK292ZXJyaWRlcyB0aGUgeWVhci4KKworMS45IFNlY29uZHMgc2luY2UgdGhlIEVwb2NoCis9PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworSWYgeW91IHByZWNlZGUgYSBudW1iZXIgd2l0aCBgQCcsIGl0IHJlcHJlc2VudHMgYW4gaW50ZXJuYWwgdGltZXN0YW1wCithcyBhIGNvdW50IG9mIHNlY29uZHMuICBUaGUgbnVtYmVyIGNhbiBjb250YWluIGFuIGludGVybmFsIGRlY2ltYWwKK3BvaW50IChlaXRoZXIgYC4nIG9yIGAsJyk7IGFueSBleGNlc3MgcHJlY2lzaW9uIG5vdCBzdXBwb3J0ZWQgYnkgdGhlCitpbnRlcm5hbCByZXByZXNlbnRhdGlvbiBpcyB0cnVuY2F0ZWQgdG93YXJkIG1pbnVzIGluZmluaXR5LiAgU3VjaCBhCitudW1iZXIgY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYW55IG90aGVyIGRhdGUgaXRlbSwgYXMgaXQgc3BlY2lmaWVzIGEKK2NvbXBsZXRlIHRpbWVzdGFtcC4KKworICAgSW50ZXJuYWxseSwgY29tcHV0ZXIgdGltZXMgYXJlIHJlcHJlc2VudGVkIGFzIGEgY291bnQgb2Ygc2Vjb25kcworc2luY2UgYW4gZXBvY2gtLWEgd2VsbC1kZWZpbmVkIHBvaW50IG9mIHRpbWUuICBPbiBHTlUgYW5kIFBPU0lYCitzeXN0ZW1zLCB0aGUgZXBvY2ggaXMgMTk3MC0wMS0wMSAwMDowMDowMCBVVEMsIHNvIGBAMCcgcmVwcmVzZW50cyB0aGlzCit0aW1lLCBgQDEnIHJlcHJlc2VudHMgMTk3MC0wMS0wMSAwMDowMDowMSBVVEMsIGFuZCBzbyBmb3J0aC4gIEdOVSBhbmQKK21vc3Qgb3RoZXIgUE9TSVgtY29tcGxpYW50IHN5c3RlbXMgc3VwcG9ydCBzdWNoIHRpbWVzIGFzIGFuIGV4dGVuc2lvbgordG8gUE9TSVgsIHVzaW5nIG5lZ2F0aXZlIGNvdW50cywgc28gdGhhdCBgQC0xJyByZXByZXNlbnRzIDE5NjktMTItMzEKKzIzOjU5OjU5IFVUQy4KKworICAgVHJhZGl0aW9uYWwgVW5peCBzeXN0ZW1zIGNvdW50IHNlY29uZHMgd2l0aCAzMi1iaXQgdHdvJ3MtY29tcGxlbWVudAoraW50ZWdlcnMgYW5kIGNhbiByZXByZXNlbnQgdGltZXMgZnJvbSAxOTAxLTEyLTEzIDIwOjQ1OjUyIHRocm91Z2gKKzIwMzgtMDEtMTkgMDM6MTQ6MDcgVVRDLiAgTW9yZSBtb2Rlcm4gc3lzdGVtcyB1c2UgNjQtYml0IGNvdW50cyBvZgorc2Vjb25kcyB3aXRoIG5hbm9zZWNvbmQgc3ViY291bnRzLCBhbmQgY2FuIHJlcHJlc2VudCBhbGwgdGhlIHRpbWVzIGluCit0aGUga25vd24gbGlmZXRpbWUgb2YgdGhlIHVuaXZlcnNlIHRvIGEgcmVzb2x1dGlvbiBvZiAxIG5hbm9zZWNvbmQuCisKKyAgIE9uIG1vc3QgaG9zdHMsIHRoZXNlIGNvdW50cyBpZ25vcmUgdGhlIHByZXNlbmNlIG9mIGxlYXAgc2Vjb25kcy4KK0ZvciBleGFtcGxlLCBvbiBtb3N0IGhvc3RzIGBAOTE1MTQ4Nzk5JyByZXByZXNlbnRzIDE5OTgtMTItMzEgMjM6NTk6NTkKK1VUQywgYEA5MTUxNDg4MDAnIHJlcHJlc2VudHMgMTk5OS0wMS0wMSAwMDowMDowMCBVVEMsIGFuZCB0aGVyZSBpcyBubword2F5IHRvIHJlcHJlc2VudCB0aGUgaW50ZXJ2ZW5pbmcgbGVhcCBzZWNvbmQgMTk5OC0xMi0zMSAyMzo1OTo2MCBVVEMuCisKKzEuMTAgU3BlY2lmeWluZyB0aW1lIHpvbmUgcnVsZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworTm9ybWFsbHksIGRhdGVzIGFyZSBpbnRlcnByZXRlZCB1c2luZyB0aGUgcnVsZXMgb2YgdGhlIGN1cnJlbnQgdGltZQorem9uZSwgd2hpY2ggaW4gdHVybiBhcmUgc3BlY2lmaWVkIGJ5IHRoZSBgVFonIGVudmlyb25tZW50IHZhcmlhYmxlLCBvcgorYnkgYSBzeXN0ZW0gZGVmYXVsdCBpZiBgVFonIGlzIG5vdCBzZXQuICBUbyBzcGVjaWZ5IGEgZGlmZmVyZW50IHNldCBvZgorZGVmYXVsdCB0aW1lIHpvbmUgcnVsZXMgdGhhdCBhcHBseSBqdXN0IHRvIG9uZSBkYXRlLCBzdGFydCB0aGUgZGF0ZQord2l0aCBhIHN0cmluZyBvZiB0aGUgZm9ybSBgVFo9IlJVTEUiJy4gIFRoZSB0d28gcXVvdGUgY2hhcmFjdGVycyAoYCInKQorbXVzdCBiZSBwcmVzZW50IGluIHRoZSBkYXRlLCBhbmQgYW55IHF1b3RlcyBvciBiYWNrc2xhc2hlcyB3aXRoaW4gUlVMRQorbXVzdCBiZSBlc2NhcGVkIGJ5IGEgYmFja3NsYXNoLgorCisgICBGb3IgZXhhbXBsZSwgd2l0aCB0aGUgR05VIGBkYXRlJyBjb21tYW5kIHlvdSBjYW4gYW5zd2VyIHRoZSBxdWVzdGlvbgorIldoYXQgdGltZSBpcyBpdCBpbiBOZXcgWW9yayB3aGVuIGEgUGFyaXMgY2xvY2sgc2hvd3MgNjozMGFtIG9uIE9jdG9iZXIKKzMxLCAyMDA0PyIgYnkgdXNpbmcgYSBkYXRlIGJlZ2lubmluZyB3aXRoIGBUWj0iRXVyb3BlL1BhcmlzIicgYXMgc2hvd24KK2luIHRoZSBmb2xsb3dpbmcgc2hlbGwgdHJhbnNjcmlwdDoKKworICAgICAkIGV4cG9ydCBUWj0iQW1lcmljYS9OZXdfWW9yayIKKyAgICAgJCBkYXRlIC0tZGF0ZT0nVFo9IkV1cm9wZS9QYXJpcyIgMjAwNC0xMC0zMSAwNjozMCcKKyAgICAgU3VuIE9jdCAzMSAwMTozMDowMCBFRFQgMjAwNAorCisgICBJbiB0aGlzIGV4YW1wbGUsIHRoZSBgLS1kYXRlJyBvcGVyYW5kIGJlZ2lucyB3aXRoIGl0cyBvd24gYFRaJworc2V0dGluZywgc28gdGhlIHJlc3Qgb2YgdGhhdCBvcGVyYW5kIGlzIHByb2Nlc3NlZCBhY2NvcmRpbmcgdG8KK2BFdXJvcGUvUGFyaXMnIHJ1bGVzLCB0cmVhdGluZyB0aGUgc3RyaW5nIGAyMDA0LTEwLTMxIDA2OjMwJyBhcyBpZiBpdAord2VyZSBpbiBQYXJpcy4gIEhvd2V2ZXIsIHNpbmNlIHRoZSBvdXRwdXQgb2YgdGhlIGBkYXRlJyBjb21tYW5kIGlzCitwcm9jZXNzZWQgYWNjb3JkaW5nIHRvIHRoZSBvdmVyYWxsIHRpbWUgem9uZSBydWxlcywgaXQgdXNlcyBOZXcgWW9yawordGltZS4gIChQYXJpcyB3YXMgbm9ybWFsbHkgc2l4IGhvdXJzIGFoZWFkIG9mIE5ldyBZb3JrIGluIDIwMDQsIGJ1dAordGhpcyBleGFtcGxlIHJlZmVycyB0byBhIGJyaWVmIEhhbGxvd2VlbiBwZXJpb2Qgd2hlbiB0aGUgZ2FwIHdhcyBmaXZlCitob3Vycy4pCisKKyAgIEEgYFRaJyB2YWx1ZSBpcyBhIHJ1bGUgdGhhdCB0eXBpY2FsbHkgbmFtZXMgYSBsb2NhdGlvbiBpbiB0aGUgYHR6JworZGF0YWJhc2UgKGh0dHA6Ly93d3cudHdpbnN1bi5jb20vdHovdHotbGluay5odG0pLiAgQSByZWNlbnQgY2F0YWxvZyBvZgorbG9jYXRpb24gbmFtZXMgYXBwZWFycyBpbiB0aGUgVFdpa2kgRGF0ZSBhbmQgVGltZSBHYXRld2F5CisoaHR0cDovL3R3aWtpLm9yZy9jZ2ktYmluL3h0cmEvdHpkYXRlKS4gIEEgZmV3IG5vbi1HTlUgaG9zdHMgcmVxdWlyZSBhCitjb2xvbiBiZWZvcmUgYSBsb2NhdGlvbiBuYW1lIGluIGEgYFRaJyBzZXR0aW5nLCBlLmcuLAorYFRaPSI6QW1lcmljYS9OZXdfWW9yayInLgorCisgICBUaGUgYHR6JyBkYXRhYmFzZSBpbmNsdWRlcyBhIHdpZGUgdmFyaWV0eSBvZiBsb2NhdGlvbnMgcmFuZ2luZyBmcm9tCitgQXJjdGljL0xvbmd5ZWFyYnllbicgdG8gYEFudGFyY3RpY2EvU291dGhfUG9sZScsIGJ1dCBpZiB5b3UgYXJlIGF0IHNlYQorYW5kIGhhdmUgeW91ciBvd24gcHJpdmF0ZSB0aW1lIHpvbmUsIG9yIGlmIHlvdSBhcmUgdXNpbmcgYSBub24tR05VIGhvc3QKK3RoYXQgZG9lcyBub3Qgc3VwcG9ydCB0aGUgYHR6JyBkYXRhYmFzZSwgeW91IG1heSBuZWVkIHRvIHVzZSBhIFBPU0lYCitydWxlIGluc3RlYWQuICBTaW1wbGUgUE9TSVggcnVsZXMgbGlrZSBgVVRDMCcgc3BlY2lmeSBhIHRpbWUgem9uZQord2l0aG91dCBkYXlsaWdodCBzYXZpbmcgdGltZTsgb3RoZXIgcnVsZXMgY2FuIHNwZWNpZnkgc2ltcGxlIGRheWxpZ2h0CitzYXZpbmcgcmVnaW1lcy4gICpOb3RlIFNwZWNpZnlpbmcgdGhlIFRpbWUgWm9uZSB3aXRoIGBUWic6IChsaWJjKVRaCitWYXJpYWJsZS4KKworMS4xMSBBdXRob3JzIG9mIGBwYXJzZV9kYXRldGltZScKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK2BwYXJzZV9kYXRldGltZScgc3RhcnRlZCBsaWZlIGFzIGBnZXRkYXRlJywgYXMgb3JpZ2luYWxseSBpbXBsZW1lbnRlZAorYnkgU3RldmVuIE0uIEJlbGxvdmluICg8c21iQHJlc2VhcmNoLmF0dC5jb20+KSB3aGlsZSBhdCB0aGUgVW5pdmVyc2l0eQorb2YgTm9ydGggQ2Fyb2xpbmEgYXQgQ2hhcGVsIEhpbGwuICBUaGUgY29kZSB3YXMgbGF0ZXIgdHdlYWtlZCBieSBhCitjb3VwbGUgb2YgcGVvcGxlIG9uIFVzZW5ldCwgdGhlbiBjb21wbGV0ZWx5IG92ZXJoYXVsZWQgYnkgUmljaCAkYWx6CisoPHJzYWx6QGJibi5jb20+KSBhbmQgSmltIEJlcmV0cyAoPGpiZXJldHNAYmJuLmNvbT4pIGluIEF1Z3VzdCwgMTk5MC4KK1ZhcmlvdXMgcmV2aXNpb25zIGZvciB0aGUgR05VIHN5c3RlbSB3ZXJlIG1hZGUgYnkgRGF2aWQgTWFjS2VuemllLCBKaW0KK01leWVyaW5nLCBQYXVsIEVnZ2VydCBhbmQgb3RoZXJzLCBpbmNsdWRpbmcgcmVuYW1pbmcgaXQgdG8gYGdldF9kYXRlJyB0bworYXZvaWQgYSBjb25mbGljdCB3aXRoIHRoZSBhbHRlcm5hdGl2ZSBQb3NpeCBmdW5jdGlvbiBgZ2V0ZGF0ZScsIGFuZCBhCitsYXRlciByZW5hbWUgdG8gYHBhcnNlX2RhdGV0aW1lJy4gIFRoZSBQb3NpeCBmdW5jdGlvbiBgZ2V0ZGF0ZScgY2FuCitwYXJzZSBtb3JlIGxvY2FsZS1zcGVjaWZpYyBkYXRlcyB1c2luZyBgc3RycHRpbWUnLCBidXQgcmVsaWVzIG9uIGFuCitlbnZpcm9ubWVudCB2YXJpYWJsZSBhbmQgZXh0ZXJuYWwgZmlsZSwgYW5kIGxhY2tzIHRoZSB0aHJlYWQtc2FmZXR5IG9mCitgcGFyc2VfZGF0ZXRpbWUnLgorCisgICBUaGlzIGNoYXB0ZXIgd2FzIG9yaWdpbmFsbHkgcHJvZHVjZWQgYnkgRnJhbsOnb2lzIFBpbmFyZAorKDxwaW5hcmRAaXJvLnVtb250cmVhbC5jYT4pIGZyb20gdGhlIGBwYXJzZV9kYXRldGltZS55JyBzb3VyY2UgY29kZSwKK2FuZCB0aGVuIGVkaXRlZCBieSBLLiBCZXJyeSAoPGtiQGNzLnVtYi5lZHU+KS4KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9wZy50eHQgYi9Eb2N1bWVudGF0aW9uL3BnLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YTk3NGNiCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9wZy50eHQKQEAgLTAsMCArMSwxMyBAQAorUkVBRE1FIGZvciB0aGUgInBnIiB1dGlsaXR5IGZvciBMaW51eC4KKworVGhlICJwZyIgdXRpbGl0eSBpcyB0aGUgaGlzdG9yaWMgU3lzdGVtIFYgZXF1aXZhbGVudCB0byBCU0QncyAibW9yZSIuIFRoaXMKK2lzIGEgZnJlZSBjbG9uZSBvZiBpdCwgYW5kIGl0IGlzIGludGVuZGVkIHRvIGNvbmZvcm0gdG8gdGhlIFNWSUQgNCBhcyB3ZWxsCithcyB0aGUgU1VTdjIgc3BlY2lmaWNhdGlvbiBvZiB0aGlzIGNvbW1hbmQuCisKK0NvbnRyYXN0aW5nIHRvIHRoZSBTeXN0ZW0gViBpbXBsZW1lbnRhdGlvbiwgdGhpcyBvbmUgZmlsdGVycyBiYWNrc3BhY2UKK2Zvcm1hdHRpbmcgc2VxdWVuY2VzIHdoaWxlIHNlYXJjaGluZywgc28geW91IGNhbiBjb21mb3J0YWJseSBzZWFyY2ggaW4gbnJvZmYKK291dHB1dCBsaWtlIG1hbnVhbCBwYWdlcy4KKworR3VubmFyIFJpdHRlcgorRnJlaWJ1cmcgaS4gQnIuCitHZXJtYW55CmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3BvZWlnbC50eHQgYi9Eb2N1bWVudGF0aW9uL3BvZWlnbC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWYxNGQzZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcG9laWdsLnR4dApAQCAtMCwwICsxLDUwMyBAQAorUkVBRE1FIGZvciBpbml0L2dldHR5L2xvZ2luLCBieSBwb2VAZGFpbWkuYWF1LmRrCisKK1RoaXMgcGFja2FnZSBjb250YWlucyBzaW1wbGVpbml0LCBhZ2V0dHksIGFuZCBsb2dpbiBwcm9ncmFtcyBmb3IgTGludXguCitBZGRpdGlvbmFsIHV0aWxpdGllcyBpbmNsdWRlZCBhcmU6IGhvc3RuYW1lLCB3aG8sIHdyaXRlLCB3YWxsLCB1c2VycworZG9tYWlubmFtZSwgaG9zdGlkLCBjYWdlIGFuZCBtZXNnLgorCitNb3N0IG9mIHRoaXMgc29mdHdhcmUgaGFzIGJlZW4gY29udHJpYnV0ZWQgYnkgb3RoZXJzLCBJIGJhc2ljYWxseSBqdXN0Citwb3J0ZWQgdGhlIHRoaW5ncyB0byBMaW51eC4KKworVmVyc2lvbiAxLjQ5ICgyMC1KdW4tOTcpCisJU21hbGwgcGF0Y2hlcyBmb3IgbmV3IHV0aWwtbGludXggZGlzdHJpYnV0aW9uIGFuZCBnbGliYyBjb21wYXQuCisJUEFNIHN1cHBvcnQgaW4gbG9naW4uYyBieSBFcmlrIFRyb2FuLgorCitWZXJzaW9uIDEuNDggKDYtSnVuLTk3KQorCU5vdyBjaGFuZ2VzIG1vZGUgYW5kIG93bmVyIG9mIC9kZXYvdmNzIGRldmljZXMgZm9yIGNvbnNvbGUgbG9naW5zLgorCUFmdGVyIGlkZWEgYnkgQW5kcmllcyBCcm91d2VyLgorCitWZXJzaW9uIDEuNDcgKDItQXByLTk3KQorCUdvdCBuZXcgdmVyc2lvbiBvZiBob3N0aWQuYyBhbmQgaG9zdGlkLjEgZnJvbSAKKwlTYW5kZXIgdmFuIE1hbHNzZW4gPHN2bUBrb3ptaXgub3cubmw+LgorCVJlbW92ZWQgcHJlbWF0dXJlIGVuZHV0ZW50KCkgY2FsbCBpbiBsb2dpbi5jLCBzaW1wbGVpbml0LmMgYW5kIAorCWFnZXR0eS5jIHRvIGJlIGNvbXBhdGlibGUgd2l0aCB0aGUgY2hhbmdlZCBzZW1hbnRpY3Mgb2YgZ251IGxpYmMyLiAKKwlGaXggYnkgSmVzc2UgVGhpbG8gPEplc3NlLlRoaWxvQHBvYm94LmNvbT4uCisKK1ZlcnNpb24gMS40NiAoMjgtSmFuLTk3KQorCVNldmVyYWwgc2VjdXJpdHkgZml4ZXMgZm9yIGxvZ2luIGJ5IERhdmlkIEhvbGxhbmQgKGJ1ZmZlciBvdmVycnVucykKKwk8ZGhvbGxhbmRAaGNzLmhhcnZhcmQuZWR1PgorCUZpeGVkIHdyaXRlLmMsIHRvIGhhbmRsZSBhIHRlcm1pbmF0aW5nIHBlcmlvZCBjb3JyZWN0bHkuCisJUmUtaW5kZW50ZWQgbG9naW4uYywgaXQgd2FzIGdldHRpbmcgdG9vIG1lc3N5LgorCitWZXJzaW9uIDEuNDVhICgxNi1EZWMtOTYpCisJQmV0dGVyIHN1cHBvcnQgaW4gbG9naW4gZm9yIHNoYWRvdyBwYXNzd29yZHMuIENvbXBpbGUgd2l0aAorCS1EU0hBRE9XX1BXRCBpZiB5b3UgaGF2ZSA8c2hhZG93Lmg+LiBUaGlzIGlzIG9uIGJ5IGRlZmF1bHQuCisJQnkgTWFyZWsgTWljaGFsa2lld2ljeiA8bWFyZWttQGkxN2xpbnV4Yi5pc3RzLnB3ci53cm9jLnBsPi4KKwlDaGFuZ2VkIHRoZSB3dG1wIGxvY2tpbmcgc2NoZW1lIGluIGxvZ2luLmMsYWdldHR5LmMsc2ltcGxlaW5pdC5jCisJdG8gZmxvY2soKSAvZXRjL3d0bXBsb2NrIGluc3RlYWQgb2YgdGhlIHd0bXAgZmlsZSBkaXJlY3RseS4KKwlUaGlzIGF2b2lkcyBhIGRlbmlhbCBvZiBzZXJ2aWNlIGF0dGFjay4KKwlTb21lIHN1cHBvcnQgZm9yIHRoZSBSQi0xIENyeXB0b2NhcmQgdG9rZW4gZm9yIGNoYWxsZW5nZS9yZXNwb25zZQorCWF1dGhlbnRpY2F0aW9uLiBUaGlzIG5lZWRzIGEgREVTIGxpYnJhcnksIGVpdGhlciBFcmljIFlvdW5nJ3MKKwlsaWJkZXMsIG9yIHRoZSBLb29udHogaW1wbGVtZW50YXRpb24sIHNlZSBjcnlwdG9jYXJkLmMuCisJSW5pdGlhbCBzdXBwb3J0IHBhdGNoIGJ5IFJhbmRvbHBoIEJlbnRzb24sIAorCTxiZW50c29uQGdyaWVnLnNlYXNsdWcub3JnPgorCUNoYW5nZWQgZ2V0cGFzcygpIHRvIHVzZSBmcHV0cygpIGluc3RlYWQgb2YgZnByaW50ZigpLgorCitWZXJzaW9uIDEuNDQgKDEzLU5vdi05Nik6CisJTWFkZSBpc2FwdHkoKSBpbiBjaGVja3R0eS5jIG1vcmUgcmVzaWxpZW50IHRvIDIuMCBzeXN0ZW1zCisJdGhhdCBoYXZlbid0IHJlLU1BS0VERVYnZWQgdGhlaXIgcHR5IGRldmljZXMuCisKK1ZlcnNpb24gMS40MyAoOC1Ob3YtOTYpOgorCUZpeCB0byBjaGVja3R0eS5jOiBQVFkncyBhcmUgbnVtYmVyZWQgZGlmZmVyZW50bHkgYWZ0ZXIgMS4zLAorCWJsdXNoISBGaXggYnkgR2VyaGFyZCBTY2huZWlkZXIgPGdzQGlsZmIudHV3aWVuLmFjLmF0PgorCitWZXJzaW9uIDEuNDJjICg2LU5vdi05Nik6CisJU21hbGwgZml4IGJ5IEdhYnJpZWwgTS4gU2NodXlsZXIgPHNjaHV5bGVyQGVhc2llc3QuY29tPiwgdG8gZ2V0CisJYmV0dGVyIHN5c2xvZyBtZXNzYWdlcyAoMSBMT0dJTiBGQUlMVVJFIGluc3RlYWQgb2YgMiBMT0dJTiBGQUlMVVJFUykuCisJUGF0Y2ggYnV0Y2hlcmVkIGJ5IG1lLgorCitWZXJzaW9uIDEuNDJiICgzMC1TZXAtOTYpOgorCUdvdCBwYXRjaCBmb3IgY2hlY2t0dHkuYyBmcm9tIENocmlzdG9waCBMYW1ldGVyCisJPGNsYW1ldGVyQG1pcmlhbS5mdWxsZXIuZWR1PiBzbyBpdCBkb2Vzbid0IHRyYXZlcnNlIHRoZSBncm91cGZpbGUKKwkibWFudWFsbHkiIGJ1dCB1c2VzIHRoZSBnZXRncm91cHMoKSBjYWxsLCB0aGlzIGlzIG1vcmUgZWZmaWNpZW50CisJd2l0aCBsYXJnZSBncm91cGZpbGVzIGFuZCBOSVMvWVAuCisKK1ZlcnNpb24gMS40MmEgKDI0LVNlcC05Nik6CisJQWRkZWQgZXh0cmEgc3lzbG9nKCkgY2FsbCB0byBsb2dpbi5jIHRvIGxvZyBhbGwgZ29vZCBsb2dpbnMuCisJUGF0Y2ggZnJvbSBTdGV2ZSBQaGlscC4KKworVmVyc2lvbiAxLjQxICgyMC1KdWwtOTYpOgorCUFkZGVkIHNlY3VyaXR5IGZpeCB0byBjaGVja3R0eS5jIGJ5IEpEUyB0byBjbGVhciBjZXJ0YWluIGxpc3RzLgorCVBhdGNoZXMgYnV0Y2hlcmVkIGFuZCBBTlNJJ2ZpZWQgYnkgbWUuCisJQWRkZWQgLW4gb3B0aW9uIHRvIGFnZXR0eSB0byBhdm9pZCB0aGUgbG9naW4gcHJvbXB0LgorCitWZXJzaW9uIDEuNDBhICgyOS1EZWMtOTUpOgorCUFkZGVkIC1mIDxpc3N1ZV9maWxlPiBvcHRpb24gdG8gYWdldHR5LiBQYXRjaGVzIGZyb20gRXJpYyBSYXNtdXNzZW4KKwk8ZWFyQHVzZmlyc3Qub3JnPiwgYnV0IHNvbWV3aGF0IGJ1dGNoZXJlZCBieSBtZS4KKworVmVyc2lvbiAxLjM5ICgyNS1PY3QtOTUpOgorCUxvdHMgb2YgdGVzdGluZyBhbmQgYnVnZml4ZXMgaW4gYWdldHR5LiBOb3cgdGhlIG1vZGVtIGluaXQgc3R1ZmYgCisJc2hvdWxkIGZpbmFsbHkgd29yayAoZm9yIG1lKS4gQWxzbyB3cm90ZSBtb2RlbS5hZ2V0dHkgYXMgYW4gZXhhbXBsZQorCW9uIGhvdyB0byB1c2UgYWdldHR5IHdpdGggYSBtb2RlbS4KKwlBZ2V0dHkgbm93IGFsc28gc3VwcG9ydHMgYmF1ZCByYXRlcyBvZiAzODQwMCwgNTc2MDAsIDExNTIwMCBhbmQKKwkyMzA0MDAgYnBzLgorCitWZXJzaW9uIDEuMzcgKDE1LVNlcC05NSk6CisJQWRkZWQgLUkgPGluaXRzdHJpbmc+IGFuZCAtdyBvcHRpb25zIHRvIGFnZXR0eS5jIGZvciB0aG9zZSB0aGF0CisJdXNlIGFnZXR0eSB3aXRoIG1vZGVtcy4KKworVmVyc2lvbiAxLjM2ICgyNS1BdWctOTUpOiAKKwlFbmhhbmNlZCAvZXRjL3VzZXJ0dHkgZmVhdHVyZXMgd2l0aCBncm91cCBzdXBwb3J0LiBNb3ZlZCB0aGlzIHBhcnQKKwlvZiBsb2dpbi5jIHRvIGNoZWNrdHR5LmMuIE9uZSBjYW4gbm93IGRlZmluZSBjbGFzc2VzIG9mIGhvc3RzIGFuZAorCXR0eXMgYW5kIGRvIGFjY2VzcyBjaGVja2luZyBiYXNlZCBvbiB1bml4LWdyb3VwIG1lbWJlcnNoaXAuIFNlZQorCWxvZ2luLjEuIEFsc28gdGltZSByYW5nZXMgZm9yIGxvZ2lucyBjYW4gYmUgc3BlY2lmaWVkLCBmb3IgZXhhbXBsZQorCXdyaXRpbmcgdGhlIGxpbmUKKworCWpvZQlbbW9uOnR1ZTp3ZWQ6dGh1OmZyaTo4LTE2XUBiYXJyYWN1ZGEgW21vbjp0dWU6d2VkOnRodTpmcmk6MC03OjE3LTIzXUBqb2VzLnBjLmF0LmhvbWUgW3NhdDpzdW46MC0yM11Aam9lcy5wYy5hdC5ob21lCisKKwlzYXlzIHRoYXQgZHVyaW5nIHdvcmtpbmcgaG91cnMsIEpvZSBtYXkgcmxvZ2luIGZyb20gdGhlIGhvc3QKKwliYXJyYWN1ZGEsIHdoZXJlYXMgb3V0c2lkZSB3b3JraW5nIGhvdXJzIGFuZCBpbiB3ZWVrZW5kcyBKb2UgbWF5CisJcmxvZ2luIGZyb20gaGlzIG5ldHdvcmtlZCBQQyBhdCBob21lLgorCisJbG9naW4uYzogZmFpbHVyZXMgd2FzIG5vdCBwcm9wZXJseSBpbml0aWFsaXplZCwgaXQgbm93IGlzLiBBbHNvCisJbWFkZSBzdXJlIEFMTCBmYWlsdXJlcyBhcmUgcmVhbGx5IGxvZ2dlZCB0byBzeXNsb2cuCisKK1ZlcnNpb24gMS4zNSAoNy1BdWctOTUpOgorCWxvZ2luLmM6IE11Y2ggaW1wcm92ZWQgZmVhdHVyZXMgZm9yIHRoZSB1c2VydHR5IGZpbGUsIGFsbG93cworCWFjY2VzcyBjb250cm9sIGJhc2VkIG9uIGJvdGggaG9zdG5hbWVzL2FkZHJlc3NlcyBhbmQgbGluZS4gU2VlIHRoZSAKKwlhYm91dC51c2VydHR5IGZpbGUgYW5kIHRoZSBtYW4tcGFnZS4KKworCUZpeGVkIGFnZXR0eSBzbyBpdCBkb2Vzbid0IGZpZGRsZSB3aXRoIHRoZSB1dF9pZCBmaWVsZCBpbiB0aGUKKwl1dG1wIHJlY29yZCwgdGhpcyBzaG91bGQgcHJldmVudCBncm93aW5nIHV0bXBzIG9uIHN5c3RlbXMgd2l0aAorCW1vcmUgdGhhbiAxMCBsb2dpbiBsaW5lcy4gRml4IHN1Z2dlc3RlZCBhbmQgY2hlY2tlZCBieSBBbGFuIFdlbmR0IAorCTxhbGFuQGV6bGluay5jb20+IGluIGhpcyBhZ2V0dHkuMS45LjFhLgorCisJQWdldHR5IG5vdyBpbnN0YWxscyBhcyBhZ2V0dHkgYWdhaW4sIG5vdCBhcyBnZXR0eS4KKwlVcGRhdGVkIG1hbi1wYWdlIGZvciBsb2dpbigxKSB0byBkb2N1bWVudCAvZXRjL3VzZXJ0dHkgY2hhbmdlcy4KKworCVRoaXMgaGFzIGJlZW4gdGVzdGVkIG9uIExpbnV4IDEuMi41IHdpdGggR0NDIDIuNS44IGFuZCBsaWJjIDQuNS4yNi4KKworVmVyc2lvbiAxLjMzYSAoMjAtSnVuLTk1KToKKwlyY2hhdGZpZUBjYXZlcm4ubm1zdS5lZHUgKCJyYy4iKSBzdWdnZXN0ZWQgdGhhdCBJIHNob3VsZCByZW1vdmUKKwl0aGUgI2lmbmRlZiBsaW51eCBhcm91bmQgdGhlIHNwZWNpYWwgbG9nZ2luZyBvZiBkaWFsLXVwIAorCWxvZ2lucy4gVGhpcyBpcyBub3cgZG9uZSwgc28gZWFjaCBsb2dpbiB2aWEgYSBzZXJpYWwgcG9ydCAKKwlnZW5lcmF0ZXMgYSBzZXBhcmF0ZSBESUFMVVAgc3lzbG9nIGVudHJ5LgorCitWZXJzaW9uIDEuMzMgKDUtSnVuLTk1KToKKwlQYXRjaCBieSBSb24gU29tbWVsaW5nIDxzb21tZWxAc2NpLmt1bi5ubD4gYW5kCisJamxhaWhvQGljaGFvcy5udWxsbmV0LmZpIChKdWhhIExhaWhvKSBmb3IgYWdldHR5LmMsIHVzZWQKKwl0byByZXR1cm4gYSBwb2ludGVyIHRvIGFuIGF1dG9tYXRpYyB2YXJpYWJsZSBpbiBnZXRfbG9nbmFtZSgpLgorCU1hbnkgcGF0Y2hlcyBmcm9tIG9yIHZpYSBSaWNrYXJkIEZhaXRoIDxmYWl0aEBjcy51bmMuZWR1PiwgZml4aW5nCisJbWFuLXBhZ2VzIGV0Yywgbm93IGRlZmF1bHRzIHRvIHVzaW5nIC92YXIvbG9nL3d0bXAgYW5kIC92YXIvcnVuL3V0bXAKKwlhY2NvcmRpbmcgdG8gdGhlIG5ldyBGU1NUTkQuCisKKwlGaXggaW4gbG9naW4uYyBmb3IgQ1BVIGVhdGluZyBidWcgd2hlbiBhIHJlbW90ZSB0ZWxuZXQgY2xpZW50IGRpZXMKKwl3aGlsZSBsb2dnaW5nIGluLgorCisJVGhpcyBpcyBmb3IgTGludXggMS4yLCBHQ0MgMi42LjIgb3IgbGF0ZXIuCisKK1ZlcnNpb24gMS4zMmIgKDEyLU1hci05NSk6CisJTG9naW4gbm93IHNldHMgdGhlIHR0eSBncm91cCB0byAidHR5IiBpbnN0ZWFkIG9mICJvdGhlciIuIERlcGVuZGluZworCW9uIGNvbXBpbGUtdGltZSBkZWZpbmUgVVNFX1RUWV9HUk9VUCB0aGUgdHR5IG1vZGUgaXMgc2V0IHRvIDA2MjAgb3IKKwkwNjAwIGluc3RlYWQgb2YgMDYyMi4gQWxsIGFzIHBlciBzdWdnZXN0aW9uIGJ5IFJpayBGYWl0aCBhbmQgdGhlCisJbGludXgtc2VjdXJpdHkgbGlzdC4KKwlXcml0ZS93YWxsIG5vdyBzdHJpcHMgY29udHJvbCBjaGFycyBleGNlcHQgQkVMIChcMDA3KS4gQWdhaW4gYWZ0ZXIKKwlzdWdnZXN0aW9uIGJ5IFJpayBGYWl0aC4KKworVmVyc2lvbiAxLjMyYQorCVVyZ2VudCBzZWN1cml0eSBwYXRjaCBmcm9tIEFsdmFybyBNLiBFY2hldmFycmlhIGluY29ycG9yYXRlZCBpbnRvCisJbG9naW4uYy4gVGhpcyBpcyByZWFsbHkgbmVlZGVkIG9uIG1hY2hpbmVzIHJ1bm5pbmcgWVAgdW50aWwKKwl0aGUgbGlicmFyaWVzIGFyZSBmaXhlZC4KKworVmVyc2lvbiAxLjMyCisJTG9naW4gbm93IGxvZ3MgdGhlIGlwLWFkZHJlc3Mgb2YgdGhlIGNvbm5lY3RpbmcgaG9zdCB0byB1dG1wIGFzIGl0CisJc2hvdWxkLgorCitWZXJzaW9uIDEuMzFiICgyLUZlYi05NSk6CisJRGFuaWVsIFF1aW5sYW4gPHF1aW5sYW5AeWdnZHJhc2lsLmNvbT4gYW5kIFJvc3MgQmlybyAKKwk8Ymlyb0B5Z2dkcmFzaWwuY29tPiBzdWdnZXN0ZWQgYSBwYXRjaCB0byBsb2dpbi5jIHRoYXQgYWxsb3dzIGZvciAKKwlzaGVsbCBzY3JpcHRzIGluIHRoZSBzaGVsbCBmaWVsZCBvZiAvZXRjL3Bhc3N3ZCwgc28gb25lIGNhbiBub3cKKwloYXZlIChhcyBhIGxpbmUgaW4gL2V0Yy9wYXNzd2QpOgorCQlieWU6OjEwMDA6MTAwMDpPdXRsb2dnZXI6L2JpbjplY2hvIEJ5ZQorCUxvZ2dpbmcgaW4gYXMgImJ5ZSIgd2l0aCBubyBwYXNzd29yZCBzaW1wbHkgZWNob2VzIEJ5ZSBvbiB0aGUgc2NyZWVuLgorCVRoaXMgaGFzIGFwcGxpY2F0aW9ucyBmb3IgcHBwZC9zbGlwLgorCitWZXJzaW9uIDEuMzFhICgyOC1PY3QtOTQpOgorCVNjb3R0IFRlbGZvcmQgcHJvdmlkZWQgYSBwYXRjaCBmb3Igc2ltcGxlaW5pdCwgc28gZXhlY3V0aW5nIHJlYm9vdAorCWZyb20gc2luZ2xldXNlciBtb2RlIHdvbid0IHBhcnRpYWxseSBleGVjdXRlIC9ldGMvcmMgYmVmb3JlCisJdGhlIHJlYm9vdC4KKworVmVyc2lvbiAxLjMwICgxNy1TZXAtOTQpOgorCXRvYmlhc0BzZXJ2ZXIuZXQtaW5mLmZoby1lbWRlbi5kZSAoUGV0ZXIgVG9iaWFzKSBoYXMgbWFkZSBhIG1vcmUgCisJYWR2YW5jZWQgaG9zdG5hbWUgY29tbWFuZCB0aGF0IHVuZGVyc3RhbmRzIHNvbWUgb3B0aW9ucyBzdWNoIGFzCisJLWYgZm9yIEZRRE4gZXRjLiBJJ2xsIG5vdCBkdXBsaWNhdGUgaGlzIHdvcmsuIFVzZSBoaXMgaG9zdG5hbWUKKwlwYWNrYWdlIGlmIHlvdSB3aXNoLgorCisJc3ZtQGtvem1peC54czRhbGwubmwgKFNhbmRlciB2YW4gTWFsc3NlbikgcHJvdmlkZWQgbW9yZSBmZWF0dXJlcworCWZvciB0aGUgL2V0Yy9pc3N1ZSBmaWxlIGluIGFnZXR0eS4gXFUgYW5kIFx1IG5vdyBleHBhbmQgdG8gdGhlIAorCW51bWJlciBvZiBjdXJyZW50IHVzZXJzLgorCisJSXQgaXMgbm93IHBvc3NpYmxlIHRvIHN0YXRlIHRoZSB2YWx1ZSBvZiBURVJNIG9uIHRoZSBhZ2V0dHkgY29tbWFuZAorCWxpbmUuIFRoaXMgd2FzIGFsc28gcHJvdmlkZWQgYnkgU2FuZGVyLgorCisJVGhpcyBoYXMgYmVlbiBidWlsdCB1bmRlciBMaW51eCAxLjEuNDIgd2l0aCBnY2MgMi41LjggYW5kIGxpYmMgNC41LjI2LgorCitWZXJzaW9uIDEuMjkgKDE4LUF1Zy05NCk6CisJRmluYWxseSBnb3QgYXJvdW5kIHRvIG1ha2luZyBhIHJlYWwgdmVyc2lvbiBhZnRlciB0aGUgbnVtZXJvdXMKKwlhbHBoYSB2ZXJzaW9ucyBvZiAxLjI4LiBTY290dCBUZWxmb3JkIDxzdEBlcGNjLmVkLmFjLnVrPiBwcm92aWRlZAorCWEgcGF0Y2ggZm9yIHdyaXRlKDEpIHRvIG1ha2UgaXQgbG9vayBtb3JlIGxpa2UgQlNEIHdyaXRlLgorCisJRml4ZWQgbG9naW4gc28gdGhhdCB0aGUgLmh1c2hsb2dpbiBmZWF0dXJlIHdvcmtzIGV2ZW4gd2l0aCByZWFsCisJcHJvdGVjdGl2ZSB1c2VycyBtb3VudGVkIHZpYSBORlMgKGllLiB3aGVyZSByb290IGNhbid0IGFjY2VzcworCXRoZSB1c2VyJ3MgLmh1c2hsb2dpbiBmaWxlKS4KKworCUNsZWFuZWQgdXAgdGhlIGNvZGUgdG8gbWFrZSAtV2FsbCBiZWFyYWJsZS4KKworVmVyc2lvbiAxLjI4YyAoMjEtSnVsLTk0KToKKwlSaWsgRmFpdGggcmVtaW5kZWQgbWUgdGhhdCBhZ2V0dHkgc2hvdWxkIHVzZSB0aGUgc3lzbG9nCisJZmFjaWxpdHkuIEl0IG5vdyBkb2VzLgorCitWZXJzaW9uIDEuMjhiICgzMC1NYXktOTQpOgorCU9uIHN1Z2dlc3Rpb24gZnJvbSBKZXJlbXkgRml0emhhcmRpbmdlIDxqZXJlbXlAc3VpdGUuc3cub3ouYXU+CisJSSBhZGRlZCAtLSBhcyBvcHRpb24gZGVsaW1pdGVyIG9uIGFyZ3MgcGFzc2VkIGZyb20gYWdldHR5IHRvCisJbG9naW4uIEZpeGVzIC1mcm9vdCBob2xlIGZvciBvdGhlciBsb2dpbiBwcm9ncmFtcy4gVGhlIGxvZ2luCisJcHJvZ3JhbSBpbiB0aGlzIHBhY2thZ2UgbmV2ZXIgaGFkIHRoYXQgaG9sZS4KKworVmVyc2lvbiAxLjI4YSAoMTYtTWF5LTk0KToKKwliaWxsQGdvc2hhd2subGFubC5nb3YgcHJvdmlkZWQgYSBjb3VwbGUgb2YgcGF0Y2hlcywgb25lIGZpeGluZworCXRlcm1pbmFsIHNldHVwIGluIGFnZXR0eSwgYW5kIHJlYm9vdCBpcyBub3cgc3VwcG9zZWQgdG8gYmUKKwlpbiAvc2JpbiBhY2NvcmRpbmcgdG8gRlNTVE5ELgorCitWZXJzaW9uIDEuMjcgKDEwLU1heS05NCk6CisJQ2hhbmdlZCBsb2dpbi5jLCBzbyBhbGwgYmFkIGxvZ2luIGF0dGVtcHRzIGFyZSBsb2dnZWQsIGFuZCBhZGRlZAorCXVzZXJ0dHkgc2VjdXJpdHkgZmVhdHVyZS4gU2VlIGFib3V0LnVzZXJ0dHkgZm9yIGFuIGV4cGxhbmF0aW9uLgorCVRoZXJlJ3Mgbm8gbG9uZ2VyIGEgbGltaXQgb2YgMjAgY2hhcnMgaW4gdGhlIFRFUk0gZW52aXJvbm1lbnQgCisJdmFyaWFibGUuIFN1Z2dlc3RlZCBieSBOaWNvbGFpIExhbmdmZWxkdCA8amFubEBtYXRoLnVpby5ubz4KKworCUFkZGVkICNpZmRlZiBIQVZFX1FVT1RBIGFyb3VuZCBxdW90YSBjaGVja3MuIEVuYWJsZSB0aGVtIGlmCisJeW91IGhhdmUgcXVvdGEgc3R1ZmYgaW4geW91ciBsaWJyYXJpZXMgYW5kIGtlcm5lbC4KKwlBbHNvIHJlLWVuYWJsZWQgc2V0L2dldHByaW9yaXR5KCkgY2FsbHMgYXMgd2Ugbm93IGhhdmUgdGhlbSwKKwlhbmQgaGF2ZSBoYWQgZm9yIGEgbG9uZyB0aW1lLi4uCisKKwlOb3cgd3RtcCBpcyBsb2NrZWQgYW5kIHVubG9ja2VkIGFyb3VuZCB3cml0ZXMgdG8gYXZvaWQgbWFuZ2xpbmcuCisJRHVlIHRvIEphYWtrbyBIeXZ7dHRpIDxIWVZBVFRJQGNjLmhlbHNpbmtpLmZpPi4KKworCVdydC4gYWdldHR5OiBBIFxvIGluIC9ldGMvaXNzdWUgbm93IGluc2VydHMgdGhlIGRvbWFpbm5hbWUsIGFzIAorCXNldCBieSBkb21haW5uYW1lKDEpLiBTYW5kZXIgdmFuIE1hbHNzZW4gcHJvdmlkZWQgdGhpcy4KKwlUaGlzIGlzIGJlaW5nIHVzZWQgdW5kZXIgTGludXggMS4xLjkKKworCUJlZWZlZCB1cCB0aGUgYWdldHR5LjggbWFuLXBhZ2UgdG8gZGVzY3JpYmUgdGhlIC9ldGMvaXNzdWUKKwlvcHRpb25zLiBBZGRlZCBtYW4tcGFnZXMgZm9yIHdhbGwsIGNhZ2UsIHdoby4KKworVmVyc2lvbiAxLjI2IGFscGhhICgyNS1BcHItOTQpOgorCUFkZGVkIHBhdGNoIGZyb20gQmlsbCBSZXlub2xkcyA8YmlsbEBnb3NoYXdrLmxhbmwuZ292PiB0byAKKwlzaW1wbGVpbml0LCBzbyBpdCB3aWxsIGRyb3AgaW50byBzaW5nbGUgdXNlciBpZiAvZXRjL3JjCisJZmFpbHMsIGVnLiBmcm9tIGZzY2suCisKK1ZlcnNpb24gMS4yNSAoOS1GZWItOTQpOgorCUFnZXR0eSBzaG91bGQgbm93IHdvcmsgd2l0aCB0aGUgTGludXggMC45OXBsMTVhIGtlcm5lbC4KKwlFQ0hPQ1RMIGFuZCBFQ0hPUFJUIGFyZSBubyBsb25nZXIgc2V0IGluIHRoZSB0ZXJtaW9zIHN0cnVjdC4KKwlBbHNvIG1hZGUgYWdldHR5IGFjY2VwdCBib3RoICJ0dHkgYmF1ZHJhdGUiIGFuZCAiYmF1ZHJhdGUgdHR5IgorCWFyZ3VtZW50cy4KKworVmVyc2lvbiAxLjI0ICgyMy1KYW4tOTQpOiBjaGFuZ2VzIHNpbmNlIDEuMjIKKwlDaHJpc3RpYW4gdm9uIFJvcXVlcyA8cm9xdWVzQGp1bGlldC5rYS5zdWIub3JnPiBwcm92aWRlZCBhIHBhdGNoCisJdGhhdCBjbGVhbnMgdXAgdGhlIGhhbmRsaW5nIG9mIHRoZSAtTCBvcHRpb24gb24gYWdldHR5LiAKKwlSaWsgRmFpdGggPGZhaXRoQGNzLnVuYy5lZHU+IGVuaGFuY2VkIHNldmVyYWwgbWFuLXBhZ2VzLi4uCisKK1ZlcnNpb24gMS4yMyAoMTEtRGVjLTkzKTogY2hhbmdlcyBzaW5jZSAxLjIxCisJTWl0Y2h1bSBEU291emEgcHJvdmlkZWQgdGhlIGhvc3RpZCgxKSBjb2RlLiBJdCBuZWVkcyBsaWJjIDQuNC40IG9yCisJbGF0ZXIgYW5kIGEgTGludXggMC45OS4xNCBrZXJuZWwgb3IgbGF0ZXIuIEl0IGNhbiBzZXQgYW5kIHByaW50CisJdGhlIHdvcmxkIHVuaXF1ZSBob3N0aWQgb2YgdGhlIG1hY2hpbmUuIFRoaXMgbWF5IGJlIHVzZWQgaW4gCisJY29ubmVjdGlvbiB3aXRoIGNvbW1lcmNpYWwgc29mdHdhcmUgbGljZW5zZXMuIEdvZCBmb3JiaWQhCisJSSBhZGRlZCB0aGUgLXYgb3B0aW9uLCBhbmQgbXVuZ2VkIHRoZSBjb2RlIGEgYml0LCBzbyBkb24ndCBibGFtZQorCU1pdGNoIGlmIHlvdSBkb24ndCBsaWtlIGl0LgorCisJSSBtYWRlIHRoZSAiY2FnZSIgcHJvZ3JhbS4gVXNpbmcgdGhpcyBhcyBhIHNoZWxsIGluIHRoZSBwYXNzd2QKKwlmaWxlLCBlbmFibGVzIG9uZSB0byBsZXQgdXNlcnMgbG9nIGludG8gYSBjaHJvb3QnZWQgZW52aXJvbm1lbnQuCisJRm9yIHRob3NlIHRoYXQgaGF2ZSBtb2RlbSBsb2dpbnMgYW5kIGFyZSBjb25jZXJuZWQgYWJvdXQgc2VjdXJpdHkuCisJUmVhZCB0aGUgc291cmNlIGZvciBmdXJ0aGVyIGluZm8uCisKKwkid2hvIGFtIGkiIG5vdyB3b3Jrcy4KKworCVRoZSBsb2dpbiBwcm9ncmFtIHdvcmtzIHdpdGggWWVsbG93IFBhZ2VzIChha2EgTklTKSBzaW1wbHkgYnkKKwlsaW5raW5nIHdpdGggYW4gYXBwcm9wcmlhdGUgbGlicmFyeSBjb250YWluaW5nIGEgcHJvcGVyIHZlcnNpb24KKwlvZiBnZXRwd25hbSgpIGFuZCBmcmllbmRzLgorCitWZXJzaW9uIDEuMjEgKDMwLU9jdC05Myk6IGNoYW5nZXMgc2luY2UgMS4yMAorCUluIHNpbXBsZWluaXQuYzogVGhlIGJvb3R0aW1lIHd0bXAgcmVjb3JkIGlzIG5vdyB3cml0dGVuICphZnRlcioKKwkvZXRjL3JjIGlzIHJ1biwgdG8gcHV0IGEgY29ycmVjdCB0aW1lc3RhbXAgb24gaXQuCisJRGFuaWVsIFRodW1pbSA8ZHRodW1pbUBtaXQuZWR1PiBzdWdnZXN0ZWQgdGhpcyBmaXguCisKKwlUaGUgc291cmNlIGFuZCBNYWtlZmlsZSBpcyBwcmVwYXJlZCBmb3Igb3B0aW9uYWwgaW5zdGFsbGF0aW9uIG9mIAorCWJpbmFyaWVzIGluIC9zYmluIGluc3RlYWQgb2YgL2V0YywgYW5kIGxvZ2ZpbGVzIGluIC91c3IvYWRtIGluc3RlYWQKKwlvZiAvZXRjLiBTZWUgYW5kIGNoYW5nZSB0aGUgTWFrZWZpbGUgdG8gc3VpdCB5b3VyIHByZWZlcmVuY2VzLgorCVJpayBGYWl0aCBhbmQgU3RlcGhlbiBUd2VlZGllIGluc3BpcmVkIHRoaXMgY2hhbmdlLgorCitWZXJzaW9uIDEuMjAgKDMwLUp1bC05Myk6IGNoYW5nZXMgc2luY2UgMS4xNzoKKwlWZXJzaW9ucyAxLjE4IGFuZCAxLjE5IHdlcmUgbmV2ZXIgbWFkZSBwdWJsaWNseSBhdmFpbGFibGUuCisJQWdldHR5IG5vdyBzdXBwb3J0cyBhIC1MIHN3aXRjaCB0aGF0IG1ha2VzIGl0IGZvcmNlIHRoZSBDTE9DQUwgZmxhZy4KKwlUaGlzIGlzIHVzZWZ1bCBpZiB5b3UgaGF2ZSBhIGxvY2FsIHRlcm1pbmFsIGF0dGFjaGVkIHdpdGggYSBwYXJ0bHkKKwl3aXJlZCBzZXJpYWwgY2FibGUgdGhhdCBkb2VzIG5vdCBwYXNzIG9uIHRoZSBDYXJyaWVyIERldGVjdCBzaWduYWwuCisKKwlUaGVyZSdzIGEgZG9tYWlubmFtZSBwcm9ncmFtIGxpa2UgdGhlIGhvc3RuYW1lIHByb2dyYW07IGNvbnRyaWJ1dGVkCisJYnkgTGFycyBXaXJ6ZW5pdXMuCisKKwlTaW1wbGVpbml0IHdpbGwgbm93IHdyaXRlIGEgUkVCT09UIHJlY29yZCB0byB3dG1wIG9uIGJvb3QgdXAuIFRpbWUtCisJem9uZSBzdXBwb3J0IGlzIG5vdyBvcHRpb25hbCBpbiBzaW1wbGVpbml0LiBCb3RoIG9mIHRoZXNlIHBhdGNoZXMKKwl3ZXJlIG1hZGUgYnkgU2NvdHQgVGVsZm9yZCA8c3RAZXBjYy5lZC5hYy51az4uCisKKwlUaGlzIGlzIGZvciBMaW51eCAwLjk5LjExIG9yIGxhdGVyLgorCitWZXJzaW9uIDEuMTcgKDE5LU1heS05Myk6IGNoYW5nZXMgc2luY2UgMS4xNjoKKwlMb2dpbiwgc2ltcGxlaW5pdCBhbmQgd3JpdGUgc2hvdWxkIG5vdyB3b3JrIHdpdGggc2hhZG93IHBhc3N3b3JkcworCXRvby4gU2VlIHRoZSBNYWtlZmlsZS4gVGhhbmtzIHRvIEFuZGVycyBCdWNoIHdobyBsZXQgbWUgaGF2ZSBhbgorCWFjY291bnQgb24gaGlzIFNMUyBiYXNlZCBMaW51eCBib3ggb24gdGhlIEludGVybmV0LCBzbyBJIGNvdWxkIHRlc3QKKwl0aGlzLiBJIHNob3VsZCBhbHNvIHRoYW5rIGptb3JyaXNvQHJmbGFiLmVlLnViYy5jYSAoSm9obiBQYXVsIE1vcnJpc29uKQorCXdobyBzZW50IG1lIHRoZSBzaGFkb3cgcGF0Y2ggdG8gbG9naW4uYworCitWZXJzaW9uIDEuMTYgKDI0LUFwci05Myk6IGNoYW5nZXMgc2luY2UgMS4xNWE6CisJU2ltcGxlaW5pdCBub3cgY2xlYXJzIHRoZSB1dG1wIGVudHJ5IGFzc29jaWF0ZWQgd2l0aCB0aGUgcGlkJ3MgdGhhdAorCWl0IHJlYXBzIGlmIHRoZXJlIGlzIG9uZS4gQSBmZXcgYXJlIHN0aWxsIHVzaW5nIHNpbXBsZWluaXQgYW5kIHRoaXMKKwl3YXMgYSBwb3B1bGFyIGRlbWFuZC4gSXQgYWxzbyBhcHBlbmRzIGFuIGVudHJ5IHRvIHd0bXAKKworVmVyc2lvbiAxLjE1YSAoMTUtTWFyLTkzKTogY2hhbmdlcyBzaW5jZSAxLjEzYToKKwlqdW5pb0BzaGFkb3cudHdpbnN1bi5jb20gKEp1biBIYW1hbm8pIHNlbnQgbWUgYSBvbmUtbGluZSBmaXgKKwlmb3Igb2NjYXNpb25hbCBtYW5nbGVkIGlzc3VlLW91dHB1dCBmcm9tIGFnZXR0eS4KKworVmVyc2lvbiAxLjEzYSAoMi1NYXItOTMpOiBjaGFuZ2VzIHNpbmNlIDEuMTJhOgorCVdpdGggdGhlIG5ldyBMSUxPICgwLjkpLCB0aGVyZSBhcmUgbW9yZSB0aGFuIG9uZSBwb3NzaWJsZSBhcmcKKwl0byBpbml0LCBzbyBXZXJuZXIgQWxtZXNiZXJnZXIgPGFsbWVzYmVyQGJlcm5pbmEuZXRoei5jaD4KKwlzdWdnZXN0ZWQgdGhhdCBhIGxvb3Agb3ZlciBhcmd2W10gd2FzIG1hZGUgaW4gYm9vdF9zaW5nbGUoKSBpbgorCXNpbXBsZWluaXQuYworCitWZXJzaW9uIDEuMTJhICgyNC1GZWItOTMpOiBjaGFuZ2VzIHNpbmNlIDEuMTE6CisJVGhpcyBpcyBmb3IgTGludXggMC45OS42IG9yIGxhdGVyLiBCdWlsdCB3aXRoIGdjYyAyLjMuMyBhbmQgbGliYzQuMgorCWpyc0B3b3JsZC5zdGQuY29tIChSaWNrIFNsYWRrZXkpIHRvbGQgbWUgdGhhdCB0aGUgc2V0ZW52KCJUWiIsLi4pCisJaW4gbG9naW4uYyBkaWQgbW9yZSBoYXJtIHRoYW4gZ29vZCwgc28gSSBjb21tZW50ZWQgaXQgb3V0LgorCitWZXJzaW9uIDEuMTFhICgxNi1GZWItOTMpOiBjaGFuZ2VzIHNpbmNlIDEuOWE6CisJVGhpcyBpcyBmb3IgTGludXggMC45OS41IG9yIGxhdGVyLgorCUFudGhvbnkgUnVtYmxlIDxhcnVtYmxlQGV4dHJvLnVjYy5zdS5PWi5BVT4gbWFkZSBtZSBhdmFyZSB0aGF0CisJdGhlIHBhdGNoZXMgZm9yIHZoYW5ndXAoKSBmcm9tIFN0ZXZlbiBTLiBEaWNrIGRpZG4ndCBxdWl0ZSB3b3JrLAorCXNvIEkgY2hhbmdlZCBpdC4KKworCUxpbnVzIFRvcnZhbGRzIHByb3ZpZGVkIGFub3RoZXIgcGF0Y2ggcmVsYXRpbmcgdG8gdmhhbmd1cCwgc2luY2UKKwlpbiBuZXdlciBMaW51eGVuIHZoYW5ndXAoKSBkb2Vzbid0IHJlYWxseSBjbG9zZSBhbGwgZmlsZXMsIHNvIHdlCisJY2FuJ3QganVzdCBvcGVuIHRoZSB0dHkncyBhZ2Fpbi4KKworVmVyc2lvbiAxLjlhICgxOC1KYW4tOTMpOiBjaGFuZ2VzIHNpbmNlIDEuOGE6CisJUmljayBGYWl0aCBzZW50IG1lIG1hbi1wYWdlcyBmb3IgbW9zdCBvZiB0aGUgdXRpbGl0aWVzIGluIHRoaXMKKwlwYWNrYWdlLiBUaGV5IGFyZSBub3cgaW5jbHVkZWQuCisKKwlTdGV2ZW4gUy4gRGljayA8c3NkQG5ldmV0cy5vYXUub3JnPiBzZW50IG1lIGEgcGF0Y2ggZm9yIGxvZ2luLmMKKwlzbyBEVFIgd29uJ3QgZHJvcCBkdXJpbmcgdmhhbmd1cCgpIG9uIGEgbW9kZW1saW5lLgorCisJVGhpcyBpcyBjb21wbGV0ZWx5IHVudGVzdGVkISEgSSBoYXZlbid0IGV2ZW4gaGFkIHRoZSB0aW1lIHRvCisJY29tcGlsZSBpdCB5ZXQuCisKK1ZlcnNpb24gMS44YSAoMTMtRGVjLTkyKTogY2hhbmdlcyBzaW5jZSAxLjc6CisJVGhpcyBpcyBmb3IgTGludXggMC45OC42IG9yIGxhdGVyLiBDb21waWxlcyB3aXRoIGdjYzIuMi4yZDcgYW5kIGxpYmM0LjEKKworCUJldHRlcmVkIHdyaXRlL3dhbGwgYWZ0ZXIgZml4IGZyb20gSSBmb3JnZXQgd2hvLiBOb3cgd2FsbCBjYW4gaGF2ZQorCWNvbW1hbmRsaW5lIGFyZ3MuCisKKwlGaXhlZCBidWcgaW4gd2hvLmMKKworCVBhdGNoZWQgc2ltcGxlaW5pdC5jIHdpdGggcGF0Y2ggZnJvbSBFZCBDYXJwLCBzbyBpdCBzZXRzIHRoZSB0aW1lem9uZQorCWZyb20gL2V0Yy9UWi4gU2hvdWxkIHByb2JhYmx5IGJ5IGJlIC9ldGMvdGltZXpvbmUuCisKKwlTYW5kZXIgVmFuIE1hbHNzZW4gPHNhbmRlckBrb3ptaXguaGFja3RpYy5ubD4gcHJvdmlkZWQgYSBwYXRjaAorCWZvciBnZXR0eSwgc28gaXQgY2FuIHVuZGVyc3RhbmQgY2VydGFpbiBlc2NhcGVjb2RlcyBpbiAvZXRjL2lzc3VlLgorCisJSSBoYWNrZWQgdXAgYSB2ZXJ5IHNpbXBsZSBzdWJzdGl0dXRlIGZvciBhIHN5c2xvZygpIGNhbGwsIHRvIHRyeSBvdXQKKwl0aGUgbG9nZ2luZy4gSWYgeW91IGhhdmUgYSByZWFsIHN5c2xvZygpIGFuZCBzeXNsb2dkIHRoZW4gdXNlIHRoYXQhCisKKwlUaGUgc3BlY2lhbCB2aGFuZ3VwLmMgZmlsZSBpcyBvdXQsIGl0J3MgaW4gdGhlIG9mZmljaWFsIGxpYmMgYnkgbm93LgorCShhbmQgZXZlbiBpbiB0aGUgbGliYyB0aGF0IEkgaGF2ZSA6LSkKKworCXdobywgYW5kIHdyaXRlIGFyZSBub3cgZGVwcmVjYXRlZCwgZ2V0IHRoZSBiZXR0ZXIgb25lcyBmcm9tIG9uZSBvZgorCXRoZSBHTlUgcGFja2FnZXMsIHNoZWxsdXRpbHMgSSB0aGluay4KKworCVNvbWUgcGVvcGxlIHRoaW5rIHRoYXQgdGhlIHNpbXBsZSBpbml0IHByb3ZpZGVkIGluIHRoaXMgcGFja2FnZSBpcyB0b28KKwlzcGFydGFuLCBpZiB5b3UgdGhpbmsgdGhlIHNhbWUsIHRoZW4gZ2V0IHRoZSBTWVNWIGNvbXBhdGlibGUgaW5pdAorCWZyb20gTWlxdWVsIHZhbiBTbW9vcmVuYnVyZyA8bWlxdWVsc0BtYWVzdHJvLmh0c2EuYWhhLm5sPgorCVNpbXBsZWluaXQgd2lsbCBwcm9iYWJseSBiZSBkZXByZWNhdGVkIGluIHRoZSBmdXR1cmUuCisKK1ZlcnNpb24gMS43OiAyNi1PY3QtOTIgY2hhbmdlcyBzaW5jZSAxLjY6CisJVGhpcyBpcyBmb3IgTGludXggMC45N1BMNCBvciBsYXRlci4KKworCVRoYW5rcyB0byBXZXJuZXIgQWxtZXNiZXJnZXIsIGluaXQgbm93IGhhcyBzdXBwb3J0IGZvciBhIAorCXNpbmdsZXVzZXIgbW9kZS4gCisKKwlMb2dpbiBub3cgc3VwcG9ydHMgdGhlIC1oIDxob3N0bmFtZT4gb3B0aW9uLCB1c2VkIGluIGNvbm5lY3Rpb24KKwl3aXRoIFRDUC9JUC4gKHJsb2dpbi90ZWxuZXQpCisKKwlHZXR0eSB3cml0ZXMgYW4gZW50cnkgdG8gL2V0Yy93dG1wIHdoZW4gc3RhcnRlZCwgc28gbGFzdCB3b24ndCByZXBvcnQKKwkic3RpbGwgbG9nZ2VkIGluIiBmb3IgdHR5J3MgdGhhdCBoYXZlIG5vdCBiZWVuIGxvZ2dlZCBpbnRvIHNpbmNlCisJdGhlIGxhc3QgdXNlciBvZiB0aGF0IHR0eSBsb2dnZWQgb3V0LiBUaGlzIHBhdGNoIHdhcyBpbnNwaXJlZCBieQorCU1pdGNodW0gRFNvdXphLiBUbyBnYWluIHRoZSBmdWxsIGJlbmVmaXQgb2YgdGhpcywgZ2V0IHRoZSBuZXdlc3QKKwlsYXN0IGZyb20gdGhlIGFkbXV0aWxzLTEuNC50YXIuWiBwYWNrYWdlIG9yIGxhdGVyLgorCitWZXJzaW9uIDEuNiAoMjktQXVnLTkyKTogY2hhbmdlcyBzaW5jZSAxLjU6CisJVGhpcyBpcyBmb3IgTGludXggMC45N1AxKyBvciBsYXRlci4KKwkKKwlMb2dpbiBub3cgdXNlcyB0aGUgbmV3bHkgaW1wbGVtZW50ZWQgdmhhbmd1cCgpIHN5cy1jYWxsLCB0byBwcmV2ZW50CisJc25vb3Bpbmcgb24gdGhlIHR0eS4KKwlBbiBhbHRlcm5hdGl2ZSBnZXRwYXNzKCkgZnVuY3Rpb24gaXMgbm93IHByb3ZpZGVkIHdpdGggbG9naW4sIGJlY2F1c2UKKwlJIHdhcyB0b2xkIHRoYXQgdGhlIG9sZCBvbmUgaW4gbGliYyBkaWRuJ3Qgd29yayB3aXRoIHRlbG5ldCBhbmQKKwlvciBybG9naW4uIEkgZG9uJ3QgaGF2ZSBhIG5ldHdvcmsgb3IgYSBrZXJuZWwgd2l0aCBUQ1AvSVAgc28gSSBoYXZlbid0CisJdGVzdGVkIHRoZSBuZXcgb25lIHdpdGggdGVsbmV0LCBidXQgaXQgaXMgZGVyaXZlZCBmcm9tIEJTRCBzb3VyY2VzCisJdGhhdCBhcmUgc3VwcG9zZWQgdG8gd29yayB3aXRoIG5ldHdvcmtpbmcuCisKK1ZlcnNpb24gMS41ICgxMi1BdWctOTIpOiBjaGFuZ2VzIHNpbmNlIDEuNAorCVRoaXMgaXMgZm9yIExpbnV4IDAuOTcgb3IgbGF0ZXIsIGFuZCBoYXMgYmVlbiBidWlsdCB3aXRoIGdjYzIuMi4yCisKKwlUaGlzIHJlbGVhc2UganVzdCBwdXRzIGluIGEgZmV3IGJ1Z2ZpeGVzIGluIGxvZ2luLmMgYW5kIHNpbXBsZWluaXQuYworCitWZXJzaW9uIDEuNCAoNC1KdWwtOTIpOiBjaGFuZ2VzIHNpbmNlIDEuMzoKKwlUaGlzIGlzIGZvciBMaW51eCAwLjk2YiwgYW5kIGhhcyBiZWVuIGJ1aWx0IGFuZCB0ZXN0ZWQgd2l0aCBnY2MgMi4yLjIuCisKKwlJbml0IG5vdyBoYW5kbGVzIHRoZSBTSUdJTlQgc2lnbmFsLiBXaGVuIGluaXQgZ2V0cyBhIFNJR0lOVCBpdCB3aWxsCisJY2FsbCAvdXNyL2Jpbi9yZWJvb3QgYW5kIHRoZXJlYnkgZ2VudGx5IHJlYm9vdCB0aGUgbWFjaGluZS4gVGhpcworCW1ha2VzIHNlbnNlIGJlY2F1c2UgYWZ0ZXIgTGludXggMC45NkItUEwxIHRoZSBrZXktY29tYmluYXRpb24KKwlDdHJsLUFsdC1EZWwgbWF5IHNlbmQgYSBTSUdJTlQgdG8gaW5pdCBpbnN0ZWFkIG9mIGJvb3RpbmcgdGhlIAorCW1hY2hpbmUgdGhlIGhhcmQgd2F5IHdpdGhvdXQgc3luY2luZyBvciBhbnl0aGluZy4KKworCVlvdSBtYXkgd2FudCB0byBnZXQgdGhlIGFkbXV0aWxzLTEuMSBwYWNrYWdlIHdoaWNoIGluY2x1ZGVzIGEgcHJvZ3JhbQorCXRoYXQgd2lsbCBpbnN0cnVjdCB0aGUga2VybmVsIHRvIHVzZSB0aGUgImdlbnRsZS1yZWJvb3QiIHByb2NlZHVyZS4KKworVmVyc2lvbiAxLjMgKDE0LUp1bi05Mik6IGNoYW5nZXMgc2luY2UgMS4yOgorCVRoaXMgaXMgZm9yIExpbnV4IDAuOTZBLgorCisJVGhlIGlvY3RsKFRJT0NTV0lOU1opIGhhcyBiZWVuIHJlbW92ZWQgZnJvbSBsb2dpbi5jIGJlY2F1c2UgaXQgbm93CisJd29ya3MgOi0pLgorCQorCWxvZ2luLmMgbm93IHN1cHBvcnRzIGEgbGFzdGxvZyBkYXRhYmFzZS4KKworCVNldmVyYWwgcHJvZ3JhbXMgYW5kIHBpZWNlcyBvZiBzb3VyY2UgdGhhdCB3ZXJlIGluY2x1ZGVkIGluIHRoZSAxLjIKKwlwYWNrYWdlIGhhcyBiZWVuICpyZW1vdmVkKiBhcyB0aGV5IGFyZSBpbmNvcnBvcmF0ZWQgaW50byB0aGUgbmV3CisJbGliYy4gT3RoZXIgb21pdHRlZCBwYXJ0cyBzdWNoIGFzIGxhc3QoMSkgaGFzIGJlZW4gcmVwbGFjZWQgYnkKKwliZXR0ZXIgdmVyc2lvbnMsIGFuZCBjYW4gYmUgZm91bmQgaW4gdGhlIGFkbXV0aWxzIHBhY2thZ2UuCisKKwlBZ2V0dHkgaXMgbm93IGNhbGxlZCBnZXR0eSBhbmQgd2lsbCBiZSBwbGFjZWQgaW4gL2V0Yy4KKworCUEgZmV3IGNoYW5nZXMgaGFzIGJlZW4gbWFkZSB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGNvbXBpbGUgdGhlCisJc3R1ZmYgd2l0aCBHQ0MgMi54LgorCitWZXJzaW9uIDEuMiAoMjgtRmViLTkyKTogY2hhbmdlcyBzaW5jZSAxLjE6CisJVGhpcyBpcyBmb3IgTGludXggMC4xMi4KKworCUEgY291cGxlIG9mIHByb2JsZW1zIHdpdGggc2ltcGxlaW5pdC5jIGhhcyBiZWVuIHNvbHZlZCwgdGhhbmtzIHRvCisJSHVtYmVydG8gWnVhemFnYS4gU28gbm93IGluaXQgZ3Jva3MgY29tbWVudHMgaW4gL2V0Yy9pbml0dGFiLCBhbmQKKwloYW5kbGVzIHRoZSBIVVAgYW5kIFRTVFAgc2lnbmFscyBwcm9wZXJseS4KKworCUkgYWRkZWQgdHdvIHNtYWxsIHNjcmlwdHMgdG8gdGhlIGRpc3RyaWJ1dGlvbjogdXNlcnMgYW5kIG1lc2cuCisKKwlURVJNIGlzIG5vdyBjYXJyaWVkIHRocm91Z2ggZnJvbSAvZXRjL2luaXR0YWIgYWxsIHRoZSB3YXkgdG8gdGhlCisJc2hlbGwuIENvbnNvbGUgdHR5J3MgYXJlIHNwZWNpYWwtY2FzZWQsIHNvIHRoZSB0ZXJtY2FwIGVudHJ5IGluCisJL2V0Yy9pbml0dGFiIGlzIG92ZXJyaWRkZW4gYnkgdGhlIHNldHRpbmcgZ2l2ZW4gYXQgYm9vdC10aW1lLgorCVRoaXMgcmVxdWlyZXMgYSBkaWZmZXJlbnQgcGF0Y2ggdG8gdGhlIGtlcm5lbCB0aGFuIHRoYXQgZGlzdHJpYnV0ZWQKKwl3aXRoIHZlcnNpb24gMS4xCisKKwlMb2dpbiBubyBtb3JlIHNlbmRzIHN1cGVyZmx1b3VzIGNoYXJzIGZyb20gYSBwYXNzd29yZCB0byB0aGUgCisJc2hlbGwuIEl0IGFsc28gcHJvcGVybHkgcHJpbnRzIGEgTkwgYWZ0ZXIgdGhlIHBhc3N3b3JkLgorCisJQWdldHR5IGRpZG4ndCBzZXQgdGhlIGVyYXNlIGNoYXJhY3RlciBwcm9wZXJseSwgaXQgZG9lcyBub3cuCisKKwlBIGZldyBleHRyYSBkZWZpbmVzIGhhcyBiZWVuIGFkZGVkIHRvIHV0bXAuaAorCisJU2V2ZXJhbCBuZXR0ZXJzIGhlbHBlZCBkaXNjb3ZlciB0aGUgYnVncyBpbiAxLjEuIFRoYW5rcyB0byB0aGVtCisJYWxsLgorCitWZXJzaW9uIDEuMSAocmVsZWFzZWQgMTktRmViLTkyKTogQ2hhbmdlcyBzaW5jZSAxLjA6CisJQSBidWcgaW4gc2ltcGxlaW5pdC5jIGhhcyBiZWVuIGZpeGVkLCB0aGFua3MgdG8gUGlldHJvIENhc3RlbGxpLgorCVRoZSBkZWZpbml0aW9uIG9mIHRoZSB1dF9saW5lIGZpZWxkIGhhcyBiZWVuIGNoYW5nZWQgdG8gdHJhY2sgdGhlCisJVVNHIHN0YW5kYXJkIG1vcmUgY2xvc2VseSwgd2Ugbm93IHN0cmlwICIvZGV2LyIgb2ZmIHRoZSBmcm9udC4KKwlUaGFua3MgdG86IERvdWdsYXMgRS4gUXVhbGUgYW5kIFN0ZXBoZW4gR2FsbGltb3JlLgorCisJSSBoYXZlIGFkZGVkIGEgZ2V0bG9naW4uYyBsaWJyYXJ5IHJvdXRpbmUsIGFuZCBhIHdyaXRlKDEpIGNvbW1hbmQuCisJSSByZW1vdmVkIHRoZSBxcGwtaW5pdCBzdHVmZi4gSWYgcGVvcGxlIHdhbnQgdG8gdXNlIGl0LCB0aGV5IHNob3VsZAorCWdldCBpdCBmcm9tIHRoZSBzb3VyY2UuIEkgZG9uJ3Qgd2FudCB0byBoYWNrIG9uIGl0IGFueW1vcmUuCisKKwlBIGNvdXBsZSBvZiBwZW9wbGUgcmVwb3J0ZWQgcHJvYmxlbXMgd2l0aCBnZXR0eSBoYXZpbmcgcHJvYmxlbXMgCisJd2l0aCBzZXJpYWwgdGVybWluYWxzLiBUaGF0IHdhcyBjb3JyZWN0LiBJIGJvcnJvd2VkIGEgbnVsbC1tb2RlbQorCWZyb20gVG9tbXkgVGhvcm4sIGFuZCBub3cgdGhlIHByb2JsZW1zIHNob3VsZCBiZSBmaXhlZC4gSXQgc2VlbXMKKwl0aGF0IHRoZXJlIGlzIGtlcHQgYSBsb3Qgb2YgZ2FyYmFnZSBpbiB0aGUgc2VyaWFsIGJ1ZmZlcnMsIGZsdXNoCisJdGhlbSBhbmQgaXQgd29ya3MgbGlrZSBhIGNoYXJtLiBHZXR0eSBkb2VzIGFuIGlvY3RsKDAsIFRDRkxTSCwgMikKKwlmb3IgdGhpcy4KKworCVRoZSB3cml0ZS5jIGNvZGUgbm93IGRvdWJsZXMgYXMgY29kZSBmb3IgYSB3YWxsKDEpIHByb2dyYW0uCisKK0Rlc2NyaXB0aW9uIG9mIHRoZSB2YXJpb3VzIGZpbGVzOgorCitsb2dpbi5jCQlUaGUgbG9naW4gcHJvZ3JhbS4gVGhpcyBpcyBhIHBvcnRhdGlvbiBvZiBCU0QgbG9naW4sIGZpcnN0CisJCXRvIEhQLVVYIDguMCBieSBNaWNoYWVsIEdsYWQgKGdsYWRAZGFpbWkuYWF1LmRrKSwgYW5kCisJCXRvIExpbnV4IChpbml0aWFsbHkgdG8gMC4xMikgYnkgbWUuCisKK2FnZXR0eS5jCVRoZSBnZXR0eSBwcm9ncmFtLiBGcm9tIGNvbXAuc291cmNlcy5taXNjLCBieSBXLlouIFZlbmVtYS4KKwkJSGFja2VkIGEgYml0IGJ5IG1lLgorCit3cml0ZS5jCQlBIHdyaXRlKDEpIGNvbW1hbmQsIHVzZWQgdG8gcGFzcyBtZXNzYWdlcyBiZXR3ZWVuIHVzZXJzCisJCWF0IGRpZmZlcmVudCB0ZXJtaW5hbHMuIFRoaXMgY29kZSBkb3VibGVzIGFzIGNvZGUgZm9yIAorCQlhIHdhbGwoMSkgY29tbWFuZC4gTWFrZSBhIHN5bWxpbms6IC91c3IvYmluL3dhbGwgLT4KKwkJL3Vzci9iaW4vd3JpdGUgZm9yIHRoaXMuCisKK21lc2cJCUEgdGlueSBzaGVsbHNjcmlwdCwgc28geW91IGNhbiBhdm9pZCB0aGF0IG90aGVyIHBlb3BsZSB3cml0ZQorCQl0byB5b3VyIHNoZWxsLgorCitwYXRobmFtZXMuaDoKKwkJSGVhZGVyLgorCitHZXR0eSB3aWxsIHByaW50IHRoZSBjb250ZW50cyBvZiAvZXRjL2lzc3VlIGlmIGl0J3MgcHJlc2VudCBiZWZvcmUgYXNraW5nCitmb3IgdXNlcm5hbWUuIExvZ2luIHdpbGwgcHJpbnQgdGhlIGNvbnRlbnRzIG9mIC9ldGMvbW90ZCBhZnRlciBzdWNjZXNzZnVsCitsb2dpbi4gTG9naW4gZG9lc24ndCBwcmludCAvZXRjL21vdGQsIGFuZCBkb2Vzbid0IGNoZWNrIGZvciBtYWlsIGlmCit+Ly5odXNobG9naW4gaXMgcHJlc2VudCBhbmQgd29ybGQgcmVhZGFibGUuCisKK0lmIC9ldGMvbm9sb2dpbiBpcyBwcmVzZW50IHRoZW4gbG9naW4gd2lsbCBwcmludCBpdHMgY29udGVudHMgYW5kIGRpc2FsbG93CithbnkgbG9naW5zIGV4Y2VwdCByb290LgorSXQgbWlnaHQgYmUgYSBnb29kIGlkZWEgdG8gaGF2ZSBhICJybSAtZiAvZXRjL25vbG9naW4iIGxpbmUgaW4gb25lJ3MgCisvZXRjL3JjIGZpbGUuCisKK0lmIC9ldGMvc2VjdXJldHR5IGlzIHByZXNlbnQgaXQgZGVmaW5lcyB3aGljaCB0dHkncyB0aGF0IHJvb3QgY2FuIGxvZ2luIG9uLgorCisgICAtIFBldGVyIChwb2VAZGFpbWkuYWF1LmRrKQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlLXNjaGVkdWxlLnR4dCBiL0RvY3VtZW50YXRpb24vcmVsZWFzZS1zY2hlZHVsZS50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGUxMjY5NAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZS1zY2hlZHVsZS50eHQKQEAgLTAsMCArMSw0MiBAQAorUmVsZWFzZSBzY2hlZHVsZQorLS0tLS0tLS0tLS0tLS0tLQorCitUaGUgdXRpbC1saW51eCBwYWNrYWdlIHVzZXMgdGhlIDxtYWpvcj4uPG1pbm9yPi48bWFpbnRlbmFpbmNlPiB2ZXJzaW9uCitudW1iZXJpbmcgc2NoZW1lLiAgU2luY2UgdGhlIG1ham9yIHZlcnNpb24gaXMgcHJldHR5IG11Y2ggZml4ZWQsIGFueQorcmVsZWFzZSBtZWFucyBhbiBpbmNyZW1lbnQgb2YgdGhlIG1pbm9yIG51bWJlci4gIFRoZSBtaW5vciB2ZXJzaW9uIGlzCitpbmNyZW1lbnRlZCByb3VnaGx5IHR3aWNlIHBlciB5ZWFyLiAgVGhlIGVhc2llc3Qgd2F5IHRvIGVzdGltYXRlIHdoZW4KK3RoZSBuZXh0IHZlcnNpb24gd2lsbCBhcHBlYXIsIGlzIHRvIGxvb2sgYXQgdGhlIHRpbWUgc3RhbXAgb2YgdGhlIGxhc3QKK3JlbGVhc2UuCisKK0JlZm9yZSBlYWNoIHJlbGVhc2UgdGhlcmUgYXJlIGEgZmV3IHJlbGVhc2UgY2FuZGlkYXRlcywgd2hpY2ggd2lsbCBiZQorY29sbGVjdGl2ZWx5IHRlc3RlZC4gIER1cmluZyB0aGUgdGVzdCBwZXJpb2QgY2hhbmdlcyB0byB0aGUgY29kZSBiYXNlCithcmUgcmVzdHJpY3RlZC4gIFVzdWFsbHkgdGhlcmUgYXJlIHR3byByZWxlYXNlIGNhbmRpZGF0ZXMuCisKKyAgd2hhdAkgbGVuZ3RoCQl3aGF0IHdpbGwgYmUgYWNjZXB0ZWQgaW50byB1cHN0cmVhbQorICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAgcmMxCSAxLTIgd2Vla3MJYnVnIGZpeGVzIG9ubHkKKyAgcmMyCSAxLTIgd2Vla3MJdHJhbnNsYXRpb25zLCBmYXRhbC90cml2aWFsIGJ1ZyBmaXhlcworCitUaGUgcGVyaW9kIGJldHdlZW4gYSByZWxlYXNlIGFuZCB0aGUgbmV4dCByZWxlYXNlIGNhbmRpZGF0ZSBjYW4gYmUgY29uc2lkZXJlZAorYXMgdGhlIG1lcmdlIHdpbmRvdy4KKworVGhlIHJlbGVhc2UgdGFyYmFsbCBpcyBnZW5lcmF0ZWQgYnkgIm1ha2UgZGlzdGNoZWNrIiBjb21tYW5kLgorCitSZWxlYXNlIGNyaXRlcmlhCistLS0tLS0tLS0tLS0tLS0tCisKK0ZvciBhbGwgcmVsZWFzZXMgaXQgaXMgcmVxdWlyZWQgdGhhdDoKKworICAgLSBtYWtlIGNoZWNraW5jbHVkZXMgcGFzc2VzCisgICAtIG1ha2UgY2hlY2tjb25maWcgcGFzc2VzCisgICAtIG1ha2UgZGlzdGNoZWNrIHBhc3NlcworICAgLSBjZCB0ZXN0cyAmJiAuL3J1bi5zaCBwYXNzZXMKKyAgIC0gYW4gb3V0LW9mLXRyZWUgYnVpbGQgd29ya3MKKyAgICAgKGNkIC4uICYmIG1rZGlyIGJ1aWxkICYmIGNkIGJ1aWxkICYmIC4uL3V0aWwtbGludXgvY29uZmlndXJlICYmIG1ha2UpCisKKyAgIC0gaWRlYWxseTogYSBidWlsZCB3aXRoIHVDbGliYyB3b3JrcywgYW5kIC0td2l0aC1zbGFuZyB3b3JrcworCitTZWUgYWxzbworLS0tLS0tLS0KKworLi4vUkVBRE1FCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjEzLVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhOWU2ZWYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjEzLVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDQ2MCBAQAorCitVdGlsLWxpbnV4LW5nIDIuMTMgUmVsZWFzZSBOb3RlcyAgKDI4LUF1Zy0yMDA3KQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworUmVsZWFzZSBoaWdobGlnaHRzOgorLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBtb3VudCg4KSBkb2Vzbid0IGluY2x1ZGUgTkZTIGNsaWVudCBjb2RlIGFueW1vcmUuIERvbid0IGZvcmdldCB0bworIGluc3RhbGwgbmZzLXV0aWxzIDEuMS4wIG9yIG5ld2VyIHdpdGggL3NiaW4vW3VdbW91bnQue25mcyxuZnM0fS4KKworIG1vdW50KDgpIGRvZXNuJ3QgaW5jbHVkZSBmaWxlc3lzdGVtIGRldGVjdGlvbiBjb2RlIGFueW1vcmUuIFlvdQorIGhhdmUgdG8gY29tcGlsZSAtLXdpdGgtZnNwcm9iZT17YmxraWQsdm9sdW1lX2lkfSwgYW5kIGxpYmJsa2lkCisgKGUyZnNwcm9ncykgb3IgbGlidm9sdW1lX2lkICh1ZGV2ID49IHYxMTApIGlzIHJlcXVpcmVkLgorCisgbW91bnQoOCkgc3VwcG9ydHMgbmV3IHJlbGF0aW1lLCBjb250ZXh0LCBmc2NvbnRleHQsIGFuZCBkZWZjb250ZXh0CisgbW91bnQgb3B0aW9ucy4KKworIGxvc2V0dXAoOCkgc3VwcG9ydHMgY29tbWFuZCBsaW5lIG9wdGlvbiAiLWEiIHRvIGxpc3QgYWxsIHVzZWQgbG9vcAorIGRldmljZXMsICctcycgdG8gcHJpbnQgYSBkZXZpY2UgbmFtZSBpZiAiLWYiIGFuZCBhIGZpbGUgYXJndW1lbnQKKyBhcmUgcHJlc2VudCwgYW5kICItciIgdG8gY3JlYXRlIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlLgorCisgZmRpc2soOCkgU3VuIGxhYmVsIHN1cHBvcnQgaGFzIGJlZW4gaW1wcm92ZWQuIGZkaXNrKDgpIGlzIGFsc28gYWJsZQorIHRvIHdhcm4gYWJvdXQgZGV0ZWN0ZWQgR1BUIChmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BUKS4KKworIHRhc2tzZXQoMSkgaXMgaW5kZXBlbmRlbnQgb24gaGFyZGNvZGVkIE5SX0NQVVMuIGNocnQoMSkgc3VwcG9ydHMKKyBTQ0hFRF9CQVRDSCBzY2hlZHVsaW5nIHBvbGljeS4KKworIFRoZSBwYWNrYWdlIGJ1aWxkIHN5c3RlbSBpcyBub3cgYmFzZWQgb24gYXV0b3Rvb2xzLiBUaGUgYnVpbGQgc3lzdGVtCisgc3VwcG9ydHMgIHNlcGFyYXRlIENGTEFHUyBhbmQgTERGTEFHUyBmb3Igc3VpZCBwcm9ncmFtcyAoU1VJRF9DRkxBR1MsCisgU1VJRF9MREZMQUdTKS4gRm9yIG1vcmUgZGV0YWlscyBzZWUgdGhlIFJFQURNRSBmaWxlCisKKyBod2Nsb2NrKDgpIHN1cHBvcnRzIGNvbW1hbmQgbGluZSBvcHRpb24gLS1ydGM9PHBhdGg+IGFuZCAvZGV2L3J0YzAKKyBkZXZpY2UuIC0tc3lzdG9oYyBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIGltcHJvdmVkLCBhbmQgaXQgZG9lc24ndCBjYXVzZQorIGEgNTAwbXMgaW5hY2N1cmFjeSBlYWNoIHRpbWUgaXQgaXMgdXNlZC4KKworIEF1ZGl0IHN5c3RlbSBzdXBwb3J0ICgtLXdpdGgtYXVkaXQpIGhhcyBiZWVuIGFkZGVkIHRvIGh3Y2xvY2soOCkgYW5kCisgbG9naW4oMSkuCisKKyBTRUxpbnV4IHN1cHBvcnQgKC0td2l0aC1zZWxpbnV4KSBoYXMgYmVlbiBhZGRlZCB0byBta3N3YXAoOCkgYW5kCisgbW91bnQoOCkuCisKKyBzZXRhcmNoKDgpIHVwc3RyZWFtIGhhcyBiZWVuIG1lcmdlZCB3aXRoIHV0aWwtbGludXgtbmcuCisKKyBydGN3YWtlKDgpIGNvbW1hbmQgaGFzIGJlZW4gYWRkZWQgdG8gdXRpbC1saW51eC1uZy4KKworIGFyY2goMSkgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiAidW5hbWUgLW0iIG9yIGFyY2goMSkgZnJvbSBjb3JldXRpbHMKKyAoPj0gNi45KykuIFRoZSB1dGlsLWxpbnV4LW5nIHBhY2thZ2UgZG9lc24ndCBidWlsZCBhcmNoIGJ5IGRlZmF1bHQsCisgeW91IGhhdmUgdG8gdXNlIHRoZSBvcHRpb24gLS1lbmFibGUtYXJjaC4KKworCitGaXhlZCBzZWN1cml0eSBpc3N1ZXM6CistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIENWRS0yMDA3LTA4MjIgLSBtb3VudCg4KSBhbGxvd3MgbG9jYWwgdXNlcnMgdG8gdHJpZ2dlciBhIE5VTEwKKyAgICAgICAgICAgICAgICAgZGVyZWZlcmVuY2UgYW5kIGFuIGFwcGxpY2F0aW9uIGNyYXNoCisgQ1ZFLTIwMDYtNzEwOCAtIGxvZ2luKDEpIG9taXRzIFBBTSBhY2NvdW50IHZhbGlkYXRpb24gd2hlbiBhdXRoIGlzCisgICAgICAgICAgICAgICAgIHNraXBwZWQKKworCitDaGFuZ2Vsb2c6CistLS0tLS0tLS0KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIENoYW5nZUxvZyBmaWxlcyBhdDoKKyBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjEzLworCisKK2FnZXR0eToKKyAgIC0gOCBiaXQgY2hhcmFjdGVycyBvbiB0aGUgTGludXggY29uc29sZSBsZWFkIHRvIGlucHV0IGNvcnJ1cHRpb24gIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGFkZCAnTycgZXNjYXBlIGNvZGUgdG8gZGlzcGxheSBkb21haW4gbmFtZSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZ2V0aG9zdG5hbWUoKSByZXR1cm4gdmFsdWUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzaG9ydCBtYWxsb2MgaW4gaW5pdHN0cmluZyBoYW5kbGluZyAgW0xhTW9udCBKb25lc10KK2Jsb2NrZGV2OgorICAgLSBhZGQgQkxLRlJBR0VUL0JMS0ZSQVNFVCBpb2N0bHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSBhbmQgdXBkYXRlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggImJsb2NrZGV2IC0tZ2V0c3oiIGZvciBsYXJnZSBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgTFUgYW5kIExMVSBmb3IgQkxLR0VUU0laRSBhbmQgQkxLR0VUU0laRTY0ICBbS2FyZWwgWmFrXQorYnVpbGQtc3lzOgorICAgLSBhZGQgJHtBQyxBUCxBTSxBSH1fT1BUUyB0byBhdXRvZ2VuLnNoICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQUNfR05VX1NPVVJDRSAgW0thcmVsIFpha10KKyAgIC0gYWRkIEF1dG9tYWtlIG9wdGlvbiBkaXN0LWJ6aXAyICBbU3RlcGFuIEthc2FsXQorICAgLSBhZGQgLS1kaXNhYmxlLW1ha2VpbnN0YWxsLWNob3duICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIFNVSURfQ0ZMQUdTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgU1VJRF9MREZMQUdTICBbU3RlcGFuIEthc2FsXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgYXVkaXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB3YXJuaW5nIHdoZW4gbGlidXVpZCBpcyBub3QgZm91bmQgIFtLYXJlbCBaYWtdCisgICAtIGFtZW5kIC5naXRpZ25vcmUgIFtTdGVwYW4gS2FzYWxdCisgICAtIGNhbGwgYXV0b21ha2UgYWZ0ZXIgYXV0b2NvbmYgIFtTdGVwYW4gS2FzYWxdCisgICAtIGNsZWFudXAgYXJjaGl0ZWN0dXJlIGNvbmRpdGlvbmFscyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzeXMtdXRpbHMvIHJkZXYgc3ltbGlua3MgIFtLYXJlbCBaYWtdCisgICAtIGNvbmZpZ3VyZS5hbSBzZWxpbnV4IHN1cHBvcnQgY2xlYW51cCAgW0thcmVsIFpha10KKyAgIC0gZGVjbGFyZSBTVUlEX0NGTEFHUyBhbmQgU1VJRF9MREZMQUdTIGFzIHByZWNpb3VzICBbU3RlcGFuIEthc2FsXQorICAgLSBkbyBub3QgYnVpbGQgY29udmVuaWVuY2UgbGlicmFyaWVzIGluIGxpYi8gIFtTdGVwYW4gS2FzYWxdCisgICAtIGRvIG5vdCBraWNrIG9mZiBBTV9DRkxBR1MgYnkgU1VJRF9DRkxBR1MgIFtTdGVwYW4gS2FzYWxdCisgICAtIGRvIG5vdCBwbGF5IHdpdGggREVGUywgdXNlIEFNX0NQUEZMQUdTICBbU3RlcGFuIEthc2FsXQorICAgLSBkbyBub3Qgc2V0IHdpdGhfZm9vIHR3aWNlICBbU3RlcGFuIEthc2FsXQorICAgLSBkbyBub3QgdXNlIGludGVybmFsIEF1dG9jb25mIHZhcmlhYmxlcyAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gZG8gbm90IHVzZSB3aWxkY2FyZHMgaW4gRVhUUkFfRElTVCAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gZmFjdG9yIG91dCBjb21tb24gcGFydHMgZnJvbSBtb3VudC9NYWtlZmlsZS5hbSAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gZml4IGRpcmVjdG9yaWVzIGluIEVYVFJBX0RJU1QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBIQVZFX05DVVJTRVMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpZmRlZiBFTkFCTEVfV0lERUNIQVIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsaW5raW5nIHdoZW4gbmN1cnNlcyBpcyBidWlsdCB3aXRoIC0td2l0aC10ZXJtbGliPXRpbmZvICBbQXJrYWRpdXN6IE1pxZtraWV3aWN6XQorICAgLSBmaXggUkVBRE1FIGZpbGVuYW1lcyBhbmQgYWRkIG1pc3NpbmcgZmlsZXMgdG8gRVhUUkFfRElTVHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0aGUgZXhhbXBsZSBjb25maWd1cmUgY2FsbCBpbiBSRUFETUUgIFtTdGVwYW4gS2FzYWxdCisgICAtIGZpeCB0aGUgZmluYWwgbWVzc2FnZSBvZiBhdXRvZ2VuLnNoICBbU3RlcGFuIEthc2FsXQorICAgLSBpbiBjb25maWd1cmUuYWMsIGNoYW5nZSAicG8iIC0+ICIkc3JjZGlyL3BvIiAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gaW4gdGhlIGNsZWFuIHRhcmdldHMgdXNlICJmaW5kIC4uLiB8IHhhcmdzIHJtIC1mIiAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gbGV0IGNvbmZpZ3VyZSBpbnN0YW50aWF0ZSB0aGUgbWlzYy11dGlscy8qLnBsIHNjcmlwdHMgIFtTdGVwYW4gS2FzYWxdCisgICAtIG1ha2UgdGhlIGdldG9wdCBleGFtcGxlIGRpcmVjdG9yeSByZWxhdGl2ZSB0byBkYXRhZGlyICBbU3RlcGFuIEthc2FsXQorICAgLSBtZXJnZSBhZGphY2VudCBBQ19DT05GSUdfSEVBREVSUyBhbmQgQUNfQ09ORklHX0ZVTkNTIGNhbGxzICBbU3RlcGFuIEthc2FsXQorICAgLSBtaW5vciBmaXhlcyBpbiBjb25maWd1cmUuaW4gIFtLYXJlbCBaYWtdCisgICAtIG1pc3NpbmcgaGVhZGVyIHdoZW4gTkxTIGlzIGRpc2FibGVkICBbR2FicmllbCBCYXJhemVyXQorICAgLSBtb3VudC9NYWtlZmlsZS5hbSB0aW55IGNsZWFudXAgSUkgIFtTdGVwYW4gS2FzYWxdCisgICAtIG1vdW50L01ha2VmaWxlLmFtIHRpbnkgY2xlYW51cCAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gbW92ZSAtRCBmbGFncyB0byAqX0NQUEZMQUdTICBbU3RlcGFuIEthc2FsXQorICAgLSBtb3ZlIHRoZSBvcHRpbWl6YXRpb24gZmxhZ3MgdG8gQU1fQ0ZMQUdTICBbU3RlcGFuIEthc2FsXQorICAgLSAtLXByZWZpeCBkZWZhdWx0cyB0byAvdXNyICBbU3RlcGFuIEthc2FsXQorICAgLSByZWxlYXNlKysgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBhY2xvY2FsLm00IGZyb20gU0NNICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgQUNfUFJPR19SQU5MSUIgIFtTdGVwYW4gS2FzYWxdCisgICAtIHJlbW92ZSBhc20vcGFnZS5oIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBjb25maWcuaC5pbiBmcm9tIFZDUyAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gcmVtb3ZlIGNvbmZpZy9pbmNsdWRlLU1ha2VmaWxlLmFtIGZyb20gRVhUUkFfRElTVCAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gcmVtb3ZlIERFRkFVTFRfSU5DTFVERVMgd29ya2Fyb3VuZCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIC1mb21pdC1mcmFtZS1wb2ludGVyICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2VuZXJhdGVkIGF1dG90b29scyBzdHVmZiBmcm9tIGdpdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGxpYnRvb2wgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSAibWFrZSBtcnByb3BlciIsIGdpdC1jbGVhbiBpcyBnb29kIGVub3VnaCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHBvL01ha2V2YXJzLnRlbXBsYXRlIGZyb20gRVhUUkFfRElTVCAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gcmVtb3ZlIHN3YXBhcmdzLmgsIG1vdmUgdGhlIHRlc3RzIHRvIG1haW4gY29uZmlndXJlLmFjICBbU3RlcGFuIEthc2FsXQorICAgLSByZW5hbWUgdG8gLW5nLCBjaGFuZ2UgbWFpbnRhaW5lciBuYW1lICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIEFDX1RSWV8qIGJ5IEFDXypfSUZFTFNFICBbU3RlcGFuIEthc2FsXQorICAgLSBzL0FDX0hFTFBfU1RSSU5HL0FTX0hFTFBfU1RSSU5HLyAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gc2V0IERJU1RDSEVDS19DT05GSUdVUkVfRkxBR1MgaW4gdG9wLWxldmVsIG1ha2VmaWxlICBbU3RlcGFuIEthc2FsXQorICAgLSBzaW1wbGlmeSAiY2xlYW4iIGluIHRlc3RzL01ha2VmaWxlLmFtICBbU3RlcGFuIEthc2FsXQorICAgLSB1cGRhdGUgcG8vUE9URklMRVMuaW4gIFtTdGVwYW4gS2FzYWxdCisgICAtIHVzZSBkaXN0X2V4YW1wbGVfREFUQSAgW1N0ZXBhbiBLYXNhbF0KKyAgIC0gdXNlIGRpc3Rfbm9pbnN0X0RBVEEgdG8gd29yayBhcm91bmQgdGhlIGJ1ZyB3aXRoIGRpc3RfbWFuX01BTlMgIFtTdGVwYW4gS2FzYWxdCisgICAtIHVzZSBkaXN0X25vaW5zdF9IRUFERVJTIGluIGluY2x1ZGUvTWFrZWZpbGUuYW0gIFtTdGVwYW4gS2FzYWxdCisgICAtIHVzZSBkaXN0X3VzcmJpbmV4ZWNfU0NSSVBUUyBpbiBtaXNjLXV0aWxzL01ha2VmaWxlLmFtICBbU3RlcGFuIEthc2FsXQorY2FsOgorICAgLSBhZGQgdGVzdCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggYSBzZWdmYXVsdCBhbmQgLTNtIGhpZ2hsaWdodGluZyAgW0thcmVsIFpha10KKyAgIC0gaWZkZWYgY2xlYW51cCwgbm9uLWN1cnNlcy90ZW1wY2FwIGNvZGUgZml4ZXMgIFtLYXJlbCBaYWtdCisgICAtIHdpZGVjaGFyIGNvZGUgY2xlYW51cCAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gYnVpbGQtc3lzIGRlZmluZXMgSEFWRV9SUE1BVENILCBub3QgSEFWRV9ycG1hdGNoICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3R1cGlkIHR5cG8gaW4gR1BUIGNoZWNrZXIgY2FsbCAgW0thcmVsIFpha10KK2Noc2g6CisgICAtIGRvbid0IHVzZSBlbXB0eSBzaGVsbCBmaWVsZCBpbiAvZXRjL3Bhc3N3ZCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHRhaWxpbmcgd2loaXQtc3BhY2VzIGFuZCB1c2UgUEFUSF9CU0hFTEwgIFtLYXJlbCBaYWtdCitjb2w6CisgICAtIGdldHdjaGFyKCkgZXJyb3JzIHNob3VsZG4ndCBiZSBoaWRkZW4gIFtLYXJlbCBaYWtdCitjeXR1bmU6CisgICAtIG1ha2UgdGhlIG9uZWxpbmVyIG1vcmUgc3BlY2lmaWMgdGhlIGN5Y2xhZGVzIGh3IGluIHF1ZXN0aW9uICBbSnVzdGluIEIgUnllXQorICAgLSByZW1vdmUgbGludXgvdHR5LmggaW5jbHVzaW9uICBbS2FyZWwgWmFrXQorZGRhdGU6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KK2Rpc2stdXRpbHM6CisgICAtIGZpeCBsaWJ1dWlkIHVzYWdlIGluIG1rc3dhcCAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gbGV0IG1rZnMgdG9vbHMgb3BlbiB3aXRoIE9fRVhDTCAgW01hdHRoaWFzIEtvZW5pZ10KK2RvY3M6CisgICAtIGFkZCBERVBSRUNBVEVEIHRvIEVYVFJBX0RJU1QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGh0dHAgLy90cmFuc2xhdGlvbnByb2plY3Qub3JnICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmRldig4KSBiZXR3ZWVuIGRlcHJlY2F0ZWQgdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBSRUFETUUubGljZW5zaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVsZWFzZSBub3RlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRoZSBERVBSRUNBVEVEIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIFRPRE8gZmlsZSBhbmQgYWRkIGEgbmV3IHJlc3Vlc3QgZm9yIDIuMTQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhdXRob3JzaGlwIG9mIDgtYml0IGNsZWFudXAgYWdldHR5IHBhdGNoICBbS2FyZWwgWmFrXQorICAgLSBmaXggQlNEIGxpY2VuY2UgbmFtZSBpbiBSRUFETUUubGljZW5zaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggaW5mbyBhYm91dCBkZXZlbC9tYXN0ZXIgYnJhbmNocyAgW0thcmVsIFpha10KKyAgIC0gZml4IFVSTCBhbmQgdHlwb3MgaW4gUkVBRE1FLmRldmVsICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVwcmVjYXRlZCBzZWN0aW9uIGZyb20gUkVBRE1FICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgcmVsZWFzZSBub3RlcyAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSBNYWtlZmlsZS5hbSByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIEdQVCBkZXRlY3Rpb24gY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIE1BQyBsYWJlbCBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciB1ZGV2IHBlcnNpc3RlbnQgZGV2aWNlIG5hbWVzICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBjaGVjayByZXR1cm5zIGluIGZkaXNrIGZyb20gcGFydGl0aW9uIGNoYW5nZXMgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gY2xlYW51cCBmdWxsIGRpc2sgZGV0ZWN0aW9uIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcGFydG5hbWUuYyAgW0thcmVsIFpha10KKyAgIC0gZG8gbm90IGNvbXBsYWluIGFib3V0IHJlZ3VsYXIgZmlsZXMgIFtILiBQZXRlciBBbnZpbl0KKyAgIC0gZml4ICJkaWZmZXIgaW4gc2lnbmVkbmVzcyIgY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAidHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUiICBbS2FyZWwgWmFrXQorICAgLSBtYW55IHNpZ25pZmljYW50IGltcHJvdmVtZW50cyBhbmQgZml4ZXMgdG8gU3VuIGxhYmVsIGhhbmRsaW5nICBbRGF2aWQgTWlsbGVyXQorICAgLSBtb3ZlIGR1cGxpY2F0ZSBzdHVmZiBmcm9tIGZkaXNrKmxhYmVsLmggdG8gZmRpc2suaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHVuc2lnbmVkIGxvbmcgbG9uZyBpbnN0ZWFkIGludCBmb3Igc2VjdG9ycyAgW0thcmVsIFpha10KKyAgIC0gd2hlbiBnZW5lcmF0aW5nIGEgRE9TIGRpc2sgbGFiZWwsIGdpdmUgaXQgYW4gSUQgIFtILiBQZXRlciBBbnZpbl0KK2dldG9wdDoKKyAgIC0gcmVtb3ZlIG9sZCB1bnVzZWQgZmlsZXMgIFtLYXJlbCBaYWtdCitoZXhkdW1wOgorICAgLSBkb24ndCB1c2UgbWVtc2V0IHdpdGggemVybyBsZW5ndGggIFtLYXJlbCBaYWtdCitod2Nsb2NrOgorICAgLSBhZGQgLS1ydGM9PHBhdGg+IG9wdGlvbiBhbmQgc3VwcG9ydCBmb3IgL2Rldi9ydGMwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgYXVkaXQgc3lzdGVtICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS1zeXN0b2hjIHNldHMgY2xvY2sgMC41IHNlY29uZHMgc2xvdyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBnZ2MgaGFwcHkgYW5kIGNoZWNrIHJldHVybiB2YWx1ZXMgZnJvbSBmZ2V0cywgcmVhZCBhbmQgd3JpdGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB0YWlsaW5nIHdoaXRlLXNwYWNlcyBhbmQgY2xlYW4gdXAgY2xvY2suaCAgW0thcmVsIFpha10KK2lvbmljZToKKyAgIC0gY2xlYW4gdXAgZXJyb3IgaGFuZGxpbmcgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGNsZWFudXAgdXNhZ2UgZm9yIGlkbGUgY2xhc3MgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGZpeCBpb25pY2UgYnVpbGQgb24gc3BhcmMgIFtEYXZpZCBNaWxsZXJdCisgICAtIHByZWZlciBTWVNfaW9wcmlvX3tzZXQsZ2V0fSBmcm9tIGdsaWJjIHRvIGhhcmRjb2RlZCB2ZXJzaW9uICBbS2FyZWwgWmFrXQoraXBjczoKKyAgIC0gYWRkIG5ldyB0ZXN0cyBmb3IgaXBjcyBsaW1pdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWdyZXNzaW9uIHRlc3QgZm9yIG91dHB1dCBoZWFkZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBTZW1hcGhvcmUgaGVhZGVycyAgW0thcmVsIFpha10KKyAgIC0gbWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkgaW4ga2J5dGVzIGluc3RlYWQgcGFnZXMgIFtLYXJlbCBaYWtdCitsb2dnZXI6CisgICAtIHVzZSBzbnByaW50ZiBpbnN0ZWFkIG9mIHNwcmludGYgaW4gbG9nZ2VyLmMgIFtMYU1vbnQgSm9uZXNdCitsb2dpbjoKKyAgIC0gYWRkIGF1ZGl0IHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBJUHY2IHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWdyZXNzaW9uIHRlc3QgZm9yIElQIGFkZHJlc3MgY2hlY2tpbmcgY29kZSAgW0thcmVsIFpha10KKyAgIC0gYXR0ZW1wdCB0byBydW4gaWYgaXQgaGFzIG5vIHJlYWQvd3JpdGUgYWNjZXNzIHRvIGl0cyB0ZXJtaW5hbCAgW0phc29uIFZhcyBEaWFzXQorICAgLSBjbG9zZSBQQU0gc2Vzc2lvbiBhZnRlciBmYWlsZWQgcGFtX3NldGNyZWQgIFtTdGV2ZSBHcnViYl0KKyAgIC0gaW1wcm92ZSB3b3JrIHdpdGggc2lnbmFscyAgW0thcmVsIFpha10KKyAgIC0ga2VlcCBzeXNsb2cgdXNlZnVsIGZvciBlbmQgb2YgUEFNIHNlc3Npb24uICBbS2FyZWwgWmFrXQorICAgLSBsb2dpbidzIHRpbWVvdXQgY2FuIGZhaWwgIFtKYXNvbiBWYXMgRGlhc10KKyAgIC0gb21pdHMgUEFNIGFjY291bnQgdmFsaWRhdGlvbiB3aGVuIGF1dGggaXMgc2tpcHBlZCAoQ1ZFLTIwMDYtNzEwOCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB0cmlpbGluZyB3aGl0ZS1zcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgL3Vzci9zcG9vbC9tYWlsIHdpdGggL3Zhci9zcG9vbC9tYWluIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgMzJiaXQgdXRtcCBjb3JyZWN0bHkgb24gNjRiaXQgc3lzdGVtICBbS2FyZWwgWmFrXQorbG9tb3VudC5jOgorICAgLSBkb24ndCB1c2UgbWxvY2thbGwgaWYgQ1JZUFRfTk9ORSAgW01hc2F0YWtlIFlBTUFUT10KK2xvb2s6CisgICAtIGZpeCBwcm9ibGVtIHdpdGggIWlzYWxudW0oKSB3b3JkcyAgW0thcmVsIFpha10KKyAgIC0gbWFuIHBhZ2UgY2xhcmlmaWNhdGlvbiAgW1DDoWRyYWlnIEJyYWR5XQorICAgLSByZW1vdmUgdGFpbGluZyB3aGl0ZS1zcGFjZXMgIFtLYXJlbCBaYWtdCitsb3NldHVwOgorICAgLSBhZGQgLWEgb3B0aW9uIHRvIGxpc3QgYWxsIHVzZWQgbG9vcCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBuZXcgb3B0aW9uIC1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIGFuZCBmaXggbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IHJlYWQtb25seSBsb29wcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRvIG1hbiBwYWdlIGluZm8gYWJvdXQgZGVwcmVjYXRlZCBjcnlwdG9sb29wICBbS2FyZWwgWmFrXQorbWFuIHBhZ2VzOgorICAgLSBhZGQgIkFWQUlMQUJJTElUWSIgc2VjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBvZiBjaHJ0LjEgYW5kIHRhc2tzZXQuMSAgW0xhTW9udCBKb25lc10KK21jb29raWU6CisgICAtIHJlbW92ZSBub24tbGludXggY29kZSAgW0thcmVsIFpha10KK21pc2MtdXRpbDoKKyAgIC0gbmV3IHJ0Y3dha2UgY29tbWFuZCAgW0Jlcm5oYXJkIFdhbGxlXQorbWlzYy11dGlsczoKKyAgIC0gYWRkIHNjcmlwdHJlcGxheSBtYW5wYWdlICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSByZW1vdmUgb2xkIGNhbCB0ZXN0ICBbS2FyZWwgWmFrXQorbWtmczoKKyAgIC0gcmVtb3ZlIG5vbnNlbnNlIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitta2ZzLmNyYW1mczoKKyAgIC0gY2xlYW51cCBIQVZFXyBtYWNyb3MgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIHdheSBob3cgbWtmcyB3b3JrcyB3aXRoIGVtcHR5IGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgaGFyZGNvZGVkIGxpbWl0IGZvciBkaXJlY3RvcmllcyAgW0thcmVsIFpha10KK21rc3dhcDoKKyAgIC0gYWRkIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYXV0b21hdGljYWxseSBhZGQgc2VsaW51eCBsYWJlbCB0byBzd2FwZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgbWtzd2FwIHVzYWdlIG9uIGFscmVhZHkgbW91bnRlZCBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIGRlZmF1bHQgdG8gVjEgaW4gYW55IGNhc2UgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGZpeCBzaWduZWRuZXNzIHByb2JsZW1zIGFuZCByZW1vdmUgb2Jzb2xldGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZ2NjIGhhcHB5ICB1bnNpZ25lZCBsb25nIHVzYWdlICBbS2FyZWwgWmFrXQorbW9yZToKKyAgIC0gZml4IGZpbGUgZGVzY3JpcHRvciBsZWFrICBbU3RldmUgR3J1YmJdCisgICAtIGZpeCB1bmRlcmxpbmluZyBmb3IgbXVsdGlieXRlIGNoYXJzICBbS2FyZWwgWmFrXQorbW91bnQ6CisgICAtIGFkZCBhY2wgb3B0aW9uIGRvY3VtZW50YXRpb24gZm9yIGV4dDMgYW5kIHJlaXNlcmZzICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBhZGQgbm90ZSBhYm91dCAvZXRjL210YWIgdW5yZWxpYWJpbGl0eSB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBmY250bC9pb2N0bCB1bnJlbGlhYmlsaXR5IG9uIE5GUyB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLXMgYW5kIC1mIGFuZCBub3RlIHRvIG1hbiBwYWdlIGZvciBleHRlcm5hbCBtb3VudCBoZWxwZXJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2ltcGxlIChwcmludGYtbGlrZSkgZGVidWcgcm91dGluZSBhbmQgLS1kZWJ1ZyBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBjb250ZXh0LCBmc2NvbnRleHQgYW5kIGRlZmNvbnRleHQgc2VsaW51eCBtb3VudCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgbWl4ZWQgdXNhZ2Ugb2YgU1BFQ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgbXRhYiAidWhlbHBlciIgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCBkdXBsaWNhdGUgZW50cmllcyBpbiBtdGFiIHdoZW4gbW91bnQgLWYgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGR1cGxpY2F0ZXMgZm9yIHJvb3QgZnMgaW4gbXRhYiAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gY2FsbCAvc2Jpbi9tb3VudC48dHlwZT4gYWxzbyB3aGVuIG1vdW50aW5nIHdpdGhvdXQgIi10IiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZ2V0ZnMqIChmc3RhYi5jKSBpbnRlcmZhY2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGluZm8gYWJvdXQgTkZTIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGRvZXNuJ3QgcnBjX3BpcGVmcyBhbmQgbmZzZCBvbiB1bW91bnQgLWEgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCB0cmVhdCBhcm0vc3BhcmMgc3BlY2lhbGx5LiAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBkb24ndCB1bW91bnQgc3lzZnMgd2hlbiBydW5uaW5nIHVtb3VudCAtYSAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmaXggLWYgLW8gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gZml4IC1mdiBzbyB0aGF0IGl0IGRvZXNuJ3QgaW5jb3JyZWN0bHkgc3BpdCBvdXQgYW4gZXJyb3IgdGhhdCBub3RoaW5nIHdhcyBkb25lLiAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmaXggaGFzXyogZnVuY3Rpb25zIChDVkUtMjAwNy0wODIyKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGluY29ycmVjdCBiZWhhdmlvciB3aGVuIG1vcmUgdGhhbiBvbmUgZnMgdHlwZSBpcyBzcGVjaWZpZWQgIFtBdHRpbGEgw4FmcmFdCisgICAtIGZpeCBsaXN0IGxvZ2ljIGluIHVwZGF0ZV9tdGFiICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IHVzYWdlIGluIHVwZGF0ZV9tdGFiICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIGZpeCBtdGFiX2xvY2sgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIGVycm9yIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZyZWUgbG9vcCBkZXZpY2Ugb24gZmFpbHVyZSAgW1Nhc2NoYSBTb21tZXJdCisgICAtIGZzcHJvYmUgIGFkZCBsaWJ2b2x1bWVfaWQgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAgYWRkIGxpYnZvbHVtZV9pZCBzdXBwb3J0IHRvIGNvbmZpZ3VyZS5hYyAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAgbWFrZSBmc3Byb2JlX2dldF9kZXZuYW1lIGZ1bmN0aW9ucyBtb3JlIGdlbmVyaWMgIFtLYXJlbCBaYWtdCisgICAtIGZzcHJvYmUgIHJlbW92ZSBtb3VudF9ndWVzc19mc3R5cGUue2MsaH0gIFtLYXJlbCBaYWtdCisgICAtIGZzcHJvYmUgIHJlbW92ZSBub24tYmxraWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAgcmVuYW1lIGZpbGVzIHRvIGZzcHJvYmVfKiAgW0thcmVsIFpha10KKyAgIC0gZnNwcm9iZSAgcmVuYW1lIHRoZSByZXN0IG9mIEFQSSByb3V0aW5lcyB0byBmc3Byb2JlXyogIFtLYXJlbCBaYWtdCisgICAtIGZzcHJvYmUgIHVzZSBibGtpZCBjYWNoZSBvbmx5IHdoZW4gcmVhbGx5IG5lY2Vzc2FyeSAgW0thcmVsIFpha10KKyAgIC0gZ2V0ZnNfKiAoZnN0YWIpIGludGVyZmFjZSBoYXMgdG8gd29yayB3aXRoIGNhbm9uaWNhbGl6ZSgpICBbS2FyZWwgWmFrXQorICAgLSBraWxsIG1vdW50X2d1ZXNzX3Jvb3RkZXYgIFtTdGVwYW4gS2FzYWxdCisgICAtIGxvb3AgZGV2aWNlIHJhY2UgY29uZGl0aW9uICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBtZW50aW9uIGhmc3BsdXMgaW4gbW91bnQgbWFucGFnZSAgW0xhTW9udCBKb25lc10KKyAgIC0gbmVlZHMgdG8gaGFuZGxlIHNwZWNpYWwgbW91bnRwcm9nIGV2ZW4gb24gZ3Vlc3NlZCBmaWxlIHN5c3RlbXMuICBbS2FyZWwgWmFrXQorICAgLSBwYXJzZSBTUEVDIGJlZm9yZSBzZWFyY2ggaW4gZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIHJlbGF0aXZlIGF0aW1lIHN1cHBvcnQgIFtWYWxlcmllIEhlbnNvbl0KKyAgIC0gcmVtb3ZlIGFsbCBORlMgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG5mc21vdW50KCkgZnJvbSBzdW5kcmllcy5oICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGdldGZzX2J5X3NwZWNkaXIoKSB3aXRob3V0IG1lbSBsZWFrcyAgW0thcmVsIFpha10KKyAgIC0gc2hhcmVkLXN1YnRyZWUgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gc2hvdWxkIHNldCBwcm9wZXIgcGVybWlzc2lvbnMgb24gbG9ja3RpbWUgIFtGbMOhdmlvIExlaXRuZXJdCisgICAtIHVwZGF0ZSBtdGFiIGNvcnJlY3RseSB3aGVuIG1vdW50IC0tbW92ZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHhmcyBtb3VudCBvcHRpb25zICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSB1c2UgZW5jb2RlZCBsYWJlbHMgZm9yIHZvbHVtZV9pZCAgW0theSBTaWV2ZXJzXQorICAgLSB1c2UgZ3Jvd2FibGUgc3RyaW5nIGZvciBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9vcD0gb3B0aW9uIHdoZW4gbW91bnRpbmcgYnkgL3NiaW4vbW91bnQuPHR5cGU+ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVhbGxvYyBmb3IgeHN0cmNvbmNhdCBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB2ZXJib3NlIG1vZGUgaW5zdGVhZCBkZWJ1ZyBtb2RlICBbS2FyZWwgWmFrXQorbmFtZWk6CisgICAtIGZpeCBsb2dpYyBhbmQgaW5maW5pdGUgbG9vcCBvZiBzeW1saW5rcyAgW0thcmVsIFpha10KKyAgIC0gbmV3IHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KK25ld2dycDoKKyAgIC0gYWRkIHN1cHBvcnQgZm9yIC9ldGMvZ3NoYWRvdyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmVzdWx0IGZyb20gZ2V0Z3JuYW0oKSBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KK3BhcnR4OgorICAgLSBhZGQgbWFuIHBhZ2VzIGZvciBhZGRwYXJ0LCBkZWxwYXJ0IGFuZCBwYXJ0eCAgW0thcmVsIFpha10KK3BvOgorICAgLSBnZXR0ZXh0aXppbmcgc29tZSBvdmVybG9va2VkIG1lc3NhZ2VzLiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW5hbWUgbW91bnQvbW50ZW50LmMgdG8gbW91bnQvbW91bnRfbW50ZW50LmMgIFtLYXJlbCBaYWtdCisgICAtIHR5cG8gaW4gZnJlbmNoIHRyYW5zbGF0aW9uIG9mIG1vdW50IGVycm9yLiAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFBpc2FyXQorICAgLSB1cGRhdGUgZGUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNaWNoYWVsIFBpZWZlbF0KKyAgIC0gdXBkYXRlIG5sLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSBzdi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhbmllbCBOeWxhbmRlcl0KKyAgIC0gdXBkYXRlIHZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGhhbiBWaW5oIFRoaW5oXQorICAgLSB2aXB3IGRvZXNuJ3QgdXNlIHJwbWF0Y2gsIGFsbCB0cmFuc2xhdGlvbnMgaGF2ZSB0byB1c2UgeS9uICBbS2FyZWwgWmFrXQorcmF3OgorICAgLSBhZGQgZmlsZSB3aXRoIHVkZXYgcnVsZSBleGFtcGxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBhY2NlcHQgcmF3MCBhcyBhIHRhcmdldCBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRoZSByYXcgY29tbWFuZCB0byAvc2JpbiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIChhYm91dCBkZCBhbmQgT19ESVJFQ1QpICBbS2FyZWwgWmFrXQorcmRldjoKKyAgIC0gc2hvdWxkIGJlIGRlbGl2ZXJlZCBvbiBhbWQ2NCBhcyB3ZWxsIGFzIGkzODYuICBbTGFNb250IEpvbmVzXQorcmVhZHByb2ZpbGU6CisgICAtIGZpeCBvbiBwcGM2NCAgW01hdHRoaWFzIEtvZW5pZ10KK3NjaGVkdXRpbHM6CisgICAtIGFkZCBzdXBwb3J0IGZvciBTQ0hFRF9CQVRDSCAgW0thcmVsIFpha10KKyAgIC0gZGVmaW5lIFNDSEVEX0JBVENIIHdoZW4gY29tcGlsZSB3aXRoIG9sZCBnbGliYyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNocnQgZG9jcyBhbmQgcGlkPTAgdXNhZ2UgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIHJlbW92ZSBleHRyYSBoeXB0ZW5zIGZyb20gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorc2NyaXB0OgorICAgLSBmaXggcmFjZSBjb25kaXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHF1aWV0IG1vZGUgIFtLYXJlbCBaYWtdCitzZXRhcmNoOgorICAgLSBhZGQgTkxTIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLTNnYiBvcHRpb24gZm90IGNvbXBhdGliaWxpdHkgd2l0aCBEZWJpYW4gbGludXh7MzIsNjR9IGNvbW1hbmQgIFtLYXJlbCBaYWssIExhTW9udCBKb25lc10KKyAgIC0gYWRkIF9fYWxwaGFfXyBzdXBwb3J0ICBbQmFsaW50IENyaXN0aWFuXQorICAgLSBhZGQgcGFyaXNjL3BhcmlzYzY0IHN1cHBvcnQgIFtMYU1vbnQgSm9uZXNdCisgICAtIGFkZCBzcGFyYzMyYmFzaCBhbGlhcyB0byBrZWVwIGNvbXBhdGliaWxpdHkgd2l0aCBzcGFyYzMyICBbRGVubmlzIEdpbG1vcmVdCisgICAtIGNsZWFudXAgbGljZW5zaW5nIG5vdGUgIFtLYXJlbCBaYWtdCisgICAtIGZpbmlzaCBhZGRpbmcgcGFyaXNjIHN1cHBvcnQgIFtLYXJlbCBaYWssIExhTW9udCBKb25lc10KK3NmZGlzazoKKyAgIC0gZml4ICJkaWZmZXIgaW4gc2lnbmVkbmVzcyIgY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAibWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCIgY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIHNldHRpbmcgZGVmYXVsdCBnZW9tZXRyeSB2YWx1ZXMgIFtMdWNpYW5vIENoYXZlel0KK3N3YXBvZmY6CisgICAtIGNvcnJlY3RseSBoYW5kbGUgVVVJRD0gYW5kIExBQkVMPSBpZGVudGlmaWVycyAgW0xhTW9udCBKb25lc10KK3N3YXBvbjoKKyAgIC0gY2xlYW51cCBQQVRIXyBtYWNyb3MgYW5kIHRhaWxpbmcgd2hpdGUtc3BhY2VzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZzcHJvYmVfKigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb2VzIG5vdCBjb3JyZWN0bHkgZGVhbCB3aXRoIHN5bWxpbmtzICBbTWFyY28gZCdJdHJpXQorICAgLSBmaXggc3dhcG9uIGhlYWRlcnMgYW5kIHN5c2NhbGxzICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHNpbXBsaWZ5IGFuICNpZiAgW1N0ZXBhbiBLYXNhbF0KK3N5cy11dGlsczoKKyAgIC0gYWRkIGFyY2goMSkgYmFjayB0byB0aGUgb2ZmaWNpYWwgdHJlZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgb2Jzb2xldGUgcmFtc2l6ZSBvcHRpb24gdG8gcmRldi44ICBbS2FyZWwgWmFrXQorICAgLSBhZGRlZCBzZXRhcmNoIGNvbW1hbmQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW4gcGFnZSBoZWFkZXJzICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNvbWUgbWFuIHBhZ2VzIGZyb20gY2F0ZWdvcnkgOCB0byAxICBbS2FyZWwgWmFrXQordGFza3NldDoKKyAgIC0gY2hlY2sgZm9yIGV4aXN0ZW5jZSBvZiBzY2hlZF9nZXRhZmZpbml0eSAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBpbmRlcGVuZGVudCBvZiBoYXJkY29kZWQgTlJfQ1BVUyBtYXguICBbQ2xpZmYgV2lja21hbl0KK3Rlc3RzOgorICAgLSBhZGQgYmFzaWMgaW5mcmFzdHJ1Y3R1cmUgZm9yIHJlZ3Jlc3Npb24gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjYWwgLTEgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNhbCAtMyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2FsIC15IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBleHBlY3RlZCBvdXRwdXRzIGZvciBjcmFtZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbnMgZm9yIGxhYmVsLCB1dWlkIGFuZCBmc3R5cGUgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaHdjbG9jayBzeXN0b2hjIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJyYXJ5IGZvciBMRF9QUkVMT0FEIHRvIG1hbmlwdWxhdGUgd2l0aCB0aW1lKCkgaW4gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWNlbnNlIG5vdGljZXMsIGNoYW5nZSBmcm9tIGdwbHYyLW9ubHkgdG8gZ3BsdjItb3ItbGF0ZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb2NrX210YWIoKSBwZXJmb3JtYW5jZSBhbmQgcmVsaWFiaWxpdHkgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvb2sgdGVzdCBmb3Igd29yZHMgd2l0aCBzZXBhcmF0b3IgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGhlYWRlciAgW01hdHRoaWFzIEtvZW5pZ10KKyAgIC0gYWRkIG1rZnMuY3JhbWZzIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW9yZSB2YXJpYW50cyB0byB7bW91bnQsZnN0YWJ9LWJ5LXtsYWJlbCx1dWlkLGRldm5hbWV9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgZGV2bmFtZSBmcm9tIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgZGV2bmFtZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgZGV2bmFtZSB3aXRoIGxhYmVsIGluIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgZGV2bmFtZSB3aXRoIHV1aWQgaW4gZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBieSBsYWJlbCBmcm9tIGZzdGFiIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBieSBMQUJFTCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgbGFiZWwgd2l0aCBkZXZuYW1lIGluIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgbGFiZWwgd2l0aCB1dWlkIGluIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgYnkgVVVJRCBmcm9tIGZzdGFiIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBieSBVVUlEIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCBieSB1dWlkIHdpdGggZGV2bmFtZSBpbiBmc3RhYiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50IGJ5IHV1aWQgd2l0aCBsYWJlbCBpbiBmc3RhYiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50IC9kZXYvc3ltbGluayB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgLS1tb3ZlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCAtbyByZW1vdW50IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNjcmlwdCgxKSByYWNlIGNvbmRpdGlvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2ltcGxlIGhlbHBlciB0aGF0IHJldHVybnMgaW5mbyBhYm91dCBzeXN0ZW0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBmc3RhYiBtb2RpZmljYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBzdWlkIHByb2dyYW1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3dhcG9uIGJ5IGRldm5hbWUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN3YXBvbiBieSBVVUlEIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IGZvciAvc2Jpbi9tb3VudC48dHlwZT4gY2FsbCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRzX2xvZyBhbmQgLS12ZXJib3NlIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0c19vayBhbmQgdHNfZmFpbGVkICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGJsa2lkIGNhY2hlIGFmdGVyIHRlc3QgZGV2aWNlIGRlaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGNvZGUgcmVmYWN0b3JpbmcgLS0gbmV3IHRzX2RldmljZV9pbml0IGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjb2RlIHJlZmFjdG9yaW5nIC0tIG5ldyB0c19za2lwX25vbnJvb3QgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGNvZGUgcmVmYWN0b3JpbmcgLS0gbmV3IHRzX3VkZXZfbG9vcF9zdXBwb3J0IGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgbXRhYmxvY2sgdGVzdCB3aGVuIHVpZD0wIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhcmd2W10gdXNhZ2UgaW4gbW50X3Rlc3Rfc3lzaW5mby5jICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGVwZW5kZW5jZSBvbiBibGtpZCAgW0thcmVsIFpha10KKyAgIC0gZml4IE1ha2VmaWxlLmFtIChhZGQgbWlzc2luZyB0ZXN0cykgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0c19mc3RhYl9hZGQgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBVTE9OR19NQVggdXNhZ2Ugb24gMzJiaXQgbWFjaGluZXMgIFtLYXJlbCBaYWtdCisgICAtICJpZiBbLi4uXSIgY2xlYW4gdXAgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgY2xlYW4gbmVlZCB0byByZW1vdmUgZGlmZnMgYW5kIG91dHB1dHMgIFtLYXJlbCBaYWtdCisgICAtIHBhc3MgYWxsIGFyZ3VtZW50cyB0byB0c19pbml0LCBhZGQgdHNfaGFzX29wdGlvbiBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVmcmVzaCBtdGFibG9jayBvdXRwdXQgaW4gZXhwZWN0ZWQvIGRpcmVjdG9yeSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlcGVuZGVuY2Ugb24gaGVscGVycy9saWJwcmVsb2FkLXRpbWUuc28gIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IGRldmljZXMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAkQVdLIGJhc2VkIG9uIGNvbmZpZ3VyZSByZXN1bHRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVsYXRpdmUgcGF0aHMgd2hlbiBzb3VyY2luZyBmaWxlcyAgW01pa2UgRnJ5c2luZ2VyXQordGV4dC11dGlsczoKKyAgIC0gZml4IHRoZSBtb3JlIGNvbW1hbmQgY29tcGlsYXRpb24gYWdhaW5zdCB0ZXJtY2FwICBbS2FyZWwgWmFrXQordG9vbHM6CisgICAtIGFkZCBjb2RlY2hlY2stY29uZmlnIHRoYXQgY2hlY2tzIGZvciB7SEFWRSxFTkFCTEV9XyBvcnBoYW5zICBbS2FyZWwgWmFrXQordmlwdzoKKyAgIC0gZml4IHBlcm1pc3Npb25zICg2MDAtPjQwMCkgZm9yIGVkaXRlZCAvZXRjL1tnXXNob2RvdyBmaWxlcyAgW0thcmVsIFpha10KK3dhbGw6CisgICAtIGZpeCBPX05PTkJMT0NLIHVzYWdlICBbQWxhbiBDdXJyeV0KKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQgc2lnc2V0bWFzaygpIGZyb20gd2FsbCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVud2FudGVkIG5ld2xpbmVzIGZyb20gd2FsbCAgW0thcmVsIFpha10KK3doZXJlaXM6CisgICAtIGFkZCBsaWI2NCBwYXRocyAgW0thcmVsIFpha10KKworLSBDbGVhbiB1cCBwYWdlc2l6ZS9QQUdFX1NJWkUgdXNhZ2UuICBbS2FyZWwgWmFrXQorLSBhbHNvIHNlYXJjaCBmb3IgX19zdGV4dCBpbiByZWFkcHJvZmlsZSAgW01pa2UgRnJ5c2luZ2VyXQorLSBjaGVjayBleGl0IHN0YXR1cyBvZiBhdXRvdG9vbHMgIFtNaWtlIEZyeXNpbmdlcl0KKy0gY2xlYW4gdXAgcmVhbHBhdGguW2NoXSBpbmNsdWRlcyBhbmQgbWFjcm9zICBbS2FyZWwgWmFrXQorLSBleGVjbCgpIHNob3VsZCBiZSB1c2UgTlVMTCBub3QgMCAgW0thcmVsIFpha10KKy0gbWFucGFnZSB0eXBvcyAgW0xhTW9udCBKb25lc10KKy0gcmVtb3ZlIGhhcmRjb2RlZCBwYWNrYWdlIG5hbWUgZnJvbSBzb21lIHV0aWxzICBbS2FyZWwgWmFrXQorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE0LVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTQtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiYTVjZTcKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE0LVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDQxOCBAQAorCitVdGlsLWxpbnV4LW5nIDIuMTQgUmVsZWFzZSBOb3RlcyAoMDktSnVuLTIwMDgpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBtb3VudCg4KSBzdXBwb3J0cyBuZXcgIm5vZmFpbCIgbW91bnQgb3B0aW9uLgorCisgbW91bnQoOCkgc3VwcG9ydHMgYXV0by1kZXN0cnVjdGlvbiBvZiBsb29wIGRldmljZXMuCisKKyBsb3NldHVwKDgpIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItaiIgdG8gc2hvdyBzdGF0dXMgb2YgYWxsCisgbG9vcCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCBnaXZlbiBmaWxlLgorCisgbG9zZXR1cCg4KSBzdXBwb3J0cyB1bmxpbWl0ZWQgbnVtYmVyIG9mIGxvb3AgZGV2aWNlcy4KKworIGxvc2V0dXAoOCkgc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tc2l6ZWxpbWl0IiB0byBzZXQgZGF0YSBlbmQuCisKKyBsZGF0dGFjaCg4KSBjb21tYW5kIGhhcyBiZWVuIGFkZGVkIHRvIHV0aWwtbGludXgtbmcuIFRoZSBsZGF0dGFjaAorIGRhZW1vbiBvcGVucyB0aGUgc3BlY2lmaWVkIGRldmljZSBmaWxlIGFuZCBhdHRhY2hlcyB0aGUgbGluZSBkaXNjaXBsaW5lCisgdG8gaXQgZm9yIHByb2Nlc3Npbmcgb2YgdGhlIHNlbnQgYW5kL29yIHJlY2VpdmVkIGRhdGEuCisKKyBzZXR0ZXJtKDgpIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItYmxhbmsgW2ZvcmNlfHBva2VdIiBmb3IKKyBUSU9DTF97QkxBTktFRCxCTEFOS31TQ1JFRU4uCisKKyB0YWlsZig4KSBoYXMgYmVlbiByZWltcGxlbWVudGVkIHRvIHVzZSBpbm90aWZ5LgorCisgdGFpbGYoOCkgc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1uIiB0byBzcGVjaWZ5aW5nIG91dHB1dCBsaW5lcy4KKworIG1rc3dhcCg4KSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiLVUiIHRvIHNldCBVVUlEIGV4cGxpY2l0bHkuCisKKyBmZGlzayg4KSBoYXMgYmVlbiBmaXhlZCB0byBjYWxjdWxhdGUgcGFydGl0aW9uIHNpemUgaW4gMl5OLgorCisgY2FsKDgpIHN1cHBvcnRzIGhpZ2hsaWdodGluZyBhbiBhcmJpdHJhcnkgZGF0ZS4KKworIGFnZXR0eSg4KSBtYWtlcyB1c2VybmFtZS1pbi11cHBlcmNhc2UgZmVhdHVyZSBvcHRpb25hbCAob2ZmIGJ5IGRlZmF1bHQpLgorIFVzZXJzIHdobyB1c2UgdXBwZXJjYXNlLW9ubHkgdGVybWluYWxzIG5lZWQgdG8gdXNlIHRoZSBvcHRpb24gIi1VIiBub3cuCisKKyBsb3NldHVwKDgpLCBtb3VudCg4KSwgdW1vdW50KDgpLCBmZGlzayg4KSBhbmQgc2ZkaXNrKDgpIHN1cHBvcnQgc3RhdGljCisgbGlua2luZyB3aGVuIGNvbXBpbGVkIHdpdGggLS1lbmFibGUtc3RhdGljLXByb2dyYW1zLgorCisgaHdjbG9jayg4KSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiYWRqZmlsZSIgdG8gb3ZlcnJpZGUKKyB0aGUgZGVmYXVsdCAvZXRjL2FkanRpbWUuCisKKyBzY3JpcHRyZXBsYXkoMSkgY29tbWFuZCBoYXMgYmVlbiByZS13cml0dGVuIGZyb20gUGVybCB0byBDLgorCisKK0RlcHJlY2F0ZWQKKy0tLS0tLS0tLS0KKworIFRoZSBsb3NldHVwKDgpICctcycgb3B0aW9uIChpbnRyb2R1Y2VkIGJ5IHV0aWwtbGludXgtbmctMi4xMykgaXMgZGVwcmVjYXRlZAorIG5vdy4gIFRoaXMgc2hvcnQgZm9ybSBvZiB0aGUgb3B0aW9uICctLXNob3cnIGNvdWxkIGJlIGluIGNvbGxpc2lvbiB3aXRoCisgTG9vcC1BRVMgbG9zZXR1cCBpbXBsZW1lbnRhdGlvbiB3aGVyZSB0aGUgc2FtZSBvcHRpb24gaXMgdXNlZCBmb3IgdGhlIGxvb3AKKyBzaXplbGltaXQuCisKKworRml4ZWQgc2VjdXJpdHkgaXNzdWVzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIENWRS0yMDA4LTE5MjYgLSBhdWRpdCBsb2cgaW5qZWN0aW9uIHZpYSBsb2dpbgorCisJCSBUaGUgcHJvYmxlbSB3YXMgb3JpZ2luYWxseSByZXBvcnRlZCBmb3IgT3BlblNTSCBmZXcgbW9udGhzCisgICAgICAgICAgICAgICAgIGFnbyAoQ1ZFLTIwMDctMzEwMikuIFRoZSBsb2dpbigxKSBpcyBhZmZlY3RlZCBieSB0aGUgc2FtZQorICAgICAgICAgICAgICAgICBidWcgd2hlbiBidWlsdCB3aXRoIHRoZSBvcHRpb24gIi0td2l0aC1hdWRpdCIuCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMTMgYW5kIHYyLjE0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eC1uZyAyLjEzLjEuMSBbMjItQXByLTIwMDhdCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTMvdjIuMTMuMS4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xMy92Mi4xMy4xLjEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xMy4xIFsxNi1KYW4tMjAwOF0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xMy92Mi4xMy4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xMy92Mi4xMy4xLUNoYW5nZUxvZworCisKK0NoYW5nZUxvZyBiZXR3ZWVuIHYyLjEzIGFuZCB2Mi4xNAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNC8KKworYWdldHR5OgorICAgLSBjbGVhbnVwIE1BWEhPU1ROQU1FTEVOICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHVzZXJuYW1lLWluLXVwcGVyY2FzZSBmZWF0dXJlIG9wdGlvbmFsIChvZmYgYnkgZGVmYXVsdC4pICBbSGFtaXNoIENvbGVtYW5dCisgICAtIG5vbi1saW51eCBzdXBwb3J0ICh1c2UgcGF0aG5hbWVzLmgpICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIHRlcm1pbyB3aXRoIHRlcm1pb3MgaW50ZXJmYWNlICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSB1bmdldHRleHRpemUgc2V2ZXJhbCBkZWJ1Z2dpbmcgbWVzc2FnZXMuICBbQmVubm8gU2NodWxlbmJlcmddCitibG9ja2RldjoKKyAgIC0gYWRkIC0tZ2V0c3ogdG8gYmxvY2tkZXYuOCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgZGVzY3JpcHRpb24gYWJvdXQgb3B0aW9uIC0tcmVwb3J0IGluIG1hbnBhZ2UgIFtMaSBaZWZhbl0KKyAgIC0gZml4ICBvcGVuZWQgZmlsZSBsZWF2aW5nIHVuY2xvc2VkICBbbGl6Zl0KKyAgIC0gdXNlIGxpYi9ibGtkZXYuYywgZml4IC0tcmVwb3J0ICBbS2FyZWwgWmFrXQorYnVpbGQtc3lzOgorICAgLSBhZGQgLS1lbmFibGUtc3RhdGljLXByb2dyYW1zICBbU3RlcGFuIEthc2FsLCBLYXJlbCBaYWtdCisgICAtIGFkZCBBQ19DQU5PTklDQUxfSE9TVCAgW01pa2xvcyBTemVyZWRpXQorICAgLSBhZGQgVkFSU1VGRklYIHRvIFVUSUxfQ0hFQ0tfTElCICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXJyLmggY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGlvbmljZSBmb3IgU3VwZXItSCBhcmNoaXRlY3R1cmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2Mi4xNCB0byBORVdTICBbS2FyZWwgWmFrXQorICAgLSBhdXRvZ2VuLnNoIHJlcG9ydHMgdmVyc2lvbnMgb2YgYXV0b3Rvb2xzIG5vdyAgW0thcmVsIFpha10KKyAgIC0gYnVpbGQgYXJjaCgxKSBkdXJpbmcgZGlzdGNoZWNrICBbU3RlcGFuIEthc2FsXQorICAgLSBjbGVhbnVwICJ4JGZvbyIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZGlzay11dGlscy9NYWtlZmlsZS5hbSAodXNlICR1dGlsc19jb21tb24pICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlIG9mIGxpbnV4L21ham9yLmggIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGRpc2FibGUgc3lzY2FsbCBmYWxsYmFja3MgZm9yIG5vbi1saW51eCBzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgYWRkIC1sdXVpZCB0byBCTEtJRF9MSUJTICBbU3RlcGFuIEthc2FsXQorICAgLSBmaXggbWlzc2luZyBkZXBzIGZvciBzd2Fwb24gIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGlnbm9yZSBhIGJ1bmNoIG9mIGdlbmVyYXRlZCBmaWxlcywgbW9zdGx5IGJpbmFyaWVzICBbSmFtZXMgWW91bmdtYW5dCisgICAtIG5scy9sb2NhbGUgaGFuZGxpbmcgaW4gdXRpbC1saW51eC1uZyBnZW5lcmFsICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIG5vbi1saW51eCBzdXBwb3J0ICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSByZWxlYXNlKysgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBlcnJzLmggIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBmaWxlcyB0aGF0IGFyZSBubyBsb25nZXIgZGVsaXZlcmVkIGZyb20gZ2l0ICBbTGFNb250IEpvbmVzXQorICAgLSByZW1vdmUgaGFyZGNvZGVkIF9HTlVfU09VUkNFICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2stbG9jYWwgdGFyZ2V0IGZyb20gbG9naW4tdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBzZXQgQUNfUFJFUkVRIHRvIDIuNjAsIGluY3JlbWVudCB2ZXJzaW9uIHRvIDIuMTQgIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IGNvZGUgYXJvdW5kIFJERVZfTElOS1MgYW5kIFNFVEFSQ0hfTElOS1MgIFtTdGVwYW4gS2FzYWxdCisgICAtIHVuaWZ5IG1ldGhvZCBmb3IgY2hlY2tpbmcgc3lzdGVtIGNhbGxzIGFuZCBmYWxsYmFjayBoYW5kbGluZyAgW01pa2UgRnJ5c2luZ2VyLCBTdGVwYW4gS2FzYWxdCisgICAtIHVwZGF0ZSAuZ2l0aWdub3JlIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZGlzdF9tYW5fTUFOUyBpbnN0ZWFkIG9mIG1hbl9NQU5TICBbU3RlcGFuIEthc2FsXQorICAgLSB1c2UgbmN1cnNlc3cgKHdpZGUgdmVyc2lvbikgd2hlbiBwb3NzaWJlICBbS2FyZWwgWmFrLCBNaWtlIEZyeXNpbmdlcl0KKyAgIC0gdXNlIHBrZy1jb25maWcgdG8gZmluZCB0aGUgbGlicyBmb3Igc3RhdGljIGJ1aWxkICBbU3RlcGFuIEthc2FsXQorICAgLSB1c2UgcG9ydGFibGUgJChWQVIgPSkgaW5zdGVhZCBvZiBnbWFrZS1zcGVjaWZpYyAkKGFkZHN1ZmZpeCkgIFtTdGVwYW4gS2FzYWxdCitjYWw6CisgICAtIGFkZCBkZXNjcmlwdGlvbiBhYm91dCBvcHRpb24gLVYgdG8gbWFucGFnZSAgW0xpIFplZmFuXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgaGlnaGxpZ2h0aW5nIGFuIGFyYml0cmFyeSBkYXRlICBbUMOhZHJhaWcgQnJhZHldCisgICAtIGF2b2lkIC1XZm9ybWF0IHdhcm5pbmdzICBbSmltIE1leWVyaW5nXQorICAgLSBmaXggd2Vla2RheSBhbGlnbm1lbnQgZm9yIGNlcnRhaW4gbG9jYWxlcyAgW1DDoWRyYWlnIEJyYWR5XQorICAgLSByZXBsYWNlIGVycnMuaCB3aXRoIGxpYmMgZXJyLmggIFtLYXJlbCBaYWtdCisgICAtIHVzZSBIQVZFX0xJQntOQ1VSU0VTLE5DVVJTRVNXfSBpbnN0ZWFkIEhBVkVfTkNVUlNFUyAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gZGVmaW5lIHBvcnRhYmxlIHtERUZBVUxULEFMVEVSTkFURX1fREVWSUNFICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBkaXNwbGF5IGN5bGluZGVycyBiZXlvbmQgMTAyNCAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHNsaWdodGx5IGluY3JlYXNlIHRoZSBzaXplIG9mIG1lbnUgYnV0dG9ucyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0cmFuc2xhdGUgcGFydGl0aW9uLXR5cGUgbmFtZXMgd2hlbiB0aGV5IGFyZSBwcmludGVkLiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorY2hmbjoKKyAgIC0gYWRkIHBhbV9lbmQoKSBjYWxsIGFuZCBjbGVhbnVwIFBBTSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgaW4gc2VsaW51eCBzdHVmZiAgW0thcmVsIFpha10KK2NoZm4sIGNoc2gsIGxvZ2luOgorICAgLSBjb2xsYXBzaW5nIHRocmVlIHNpbWlsYXIgbWVzc2FnZXMgaW50byBhIHNpbmdsZSBvbmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2Noc2g6CisgICAtIHNob3VsZCB1c2UgcGFtX2VuZCBmdW5jdGlvbiB0byB0ZXJtaW5hdGUgdGhlIFBBTSB0cmFuc2FjdGlvbiAgW1l1IFpoaWd1bywgS2FyZWwgWmFrXQorY29sdW1uOgorICAgLSByZXBsYWNlIGVycnMuaCB3aXRoIGxpYmMgZXJyLmggIFtLYXJlbCBaYWtdCitkZGF0ZToKKyAgIC0gMTF0aCwgMTJ0aCBhbmQgMTN0aCBvZiBtb250aCAgW1ZvbGtlciBTY2hhdHpdCitkb2NzOgorICAgLSBhZGQgYSBub3RlIGFib3V0IG1pbml4IHYzIHRvIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGluZm8gYWJvdXQgLmJ1Z2ZpeCByZWxlYXNlcyBhbmQgYnJhbmNoZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGluY29ycmVjdCB0YWcgMi4xMy4xICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBsb3NldHVwIC0tc2l6ZWxpbWl0IHRvIFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgc3RhdGljIGxpbmtpbmcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2Mi4xNCBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgREVQUkVDQVRFRCBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIFJFQURNRS5kZXZlbCwgYWRkIG5vdGUgYWJvdXQgY29kaW5nIHN0eWxlIGFuZCBTaWduZWQtb2ZmLWJ5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggQ2hhbmdlTG9nIFVSTCAgW1Bhc2NhbCBUZXJqYW5dCisgICAtIGZpeCBzdGFibGUgYnJhbmNoZSBuYW1lIGluIFJFQURNRS5kZXZlbCAgW0thcmVsIFpha10KKyAgIC0gbWFyayB2aXB3KDEpIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgdmlwdyBmcm9tIHNoYWRvdy11dGlscyAgW0thcmVsIFpha10KKyAgIC0gcmVmcmVzaCBUT0RPIGxpc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkYXRlIGZyb20gUmVsZWFzTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHR3ZWFrIGEgZmV3IG1lc3NhZ2VzIGZvciBjbGFyaXR5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB2Mi4xNCBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHdlIGFscmVhZHkgcmV3cm90ZSB0aGUgc2NyaXB0cmVwbGF5IHNjcmlwdDsgcmVtb3ZlIHRoYXQgVE9ETyBlbnRyeSAgW0phbWVzIFlvdW5nbWFuXQorZWx2dHVuZToKKyAgIC0gdXNlIGdldF9saW51eF92ZXJzaW9uKCkgIFtLYXJlbCBaYWtdCitmZGZvcm1hdDoKKyAgIC0gaW5zdGFsbCB0byAvdXNyL3NiaW4gaW5zdGVhZCB0byAvdXNyL2JpbiAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSBiZXR0ZXIgZmFsbGJhY2sgZm9yIGdldF9yYW5kb21faWQoKSAgW0guIFBldGVyIEFudmluXQorICAgLSBjYWxjdWxhdGUgK3NpemV7SyxNLEd9IGluIDJeTiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCTEsqIGlvY3RscyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG9lc24ndCByZWNvZ25pemUgdGhlIFZNd2FyZSBFU1ggcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZG9pbmcgdXNlbGVzcyBpb2N0bCB3aGVuIGVkaXRpbmcgYW4gaW1hZ2UgIFtQYXNjYWwgVGVyamFuXQorICAgLSBmaXggYnVpbGRpbmcgZm9yIEFWUjMyIGFuZCBDUklTICBbSW1yZSBLYWxvel0KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIG1lc3NhZ2UgdHdlYWsgIFtLYXJlbCBaYWtdCisgICAtIG5vbi1saW51eCBzdXBwb3J0IChNQVhQQVRITEVOKSAgW0thcmVsIFpha10KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgKHVzZSBzdGFuZGFyZCB1aW50eHlfdCBpbnN0ZWFkIF9fdXh5KSAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gdXNlIG1vcmUgcmVhZGFibGUgIkdQVCIgbmFtZSByYXRoZXIgdGhhbiAiRUZJIEdQVCIgIFtSb2JlcnQgTWlsbGFuXQorICAgLSB1c2Ugc3dhYiBtYWNyb3MgZnJvbSBiaXRvcHMuaCAgW0thcmVsIFpha10KK2Zsb2NrOgorICAgLSB0eXBvIGluIG1hbiBwYWdlICBbQS4gQ29zdGFdCitmc2NrLmNyYW1mczoKKyAgIC0gY2xlYW4gdXAgZ2NjIHdhcm5pbmdzICBbUmFuZHkgRHVubGFwXQorZnNjay5taW5peDoKKyAgIC0gY29ycmVjdCB0aGUgZXJyb3IgbWVzc2FnZSBnaXZlbiB3aGVuIHdlIGNhbid0IG9wZW4gdGhlIGRldmljZSAgW0phbWVzIFlvdW5nbWFuXQorICAgLSByZXNldCB0aGUgdGVybWluYWwgc3RhdGUgaWYgd2UgYXJlIGtpbGxlZCBieSBhIGZhdGFsIHNpZ25hbCAgW0phbWVzIFlvdW5nbWFuXQorZ2V0b3B0OgorICAgLSBmaXggcGF0aCB0byBleGFtcGxlcyBpbiBnZXRvcHQuMSAgW0thcmVsIFpha10KKyAgIC0gaW5zdGFsbCBleGFtcGxlIHNjcmlwdHMgYXMgU0NSSVBUUywgbm90IERBVEEgIFtQZXRlciBCcmVpdGVubG9obmVyXQoraHdjbG9jazoKKyAgIC0gYWRkIC0tYWRqZmlsZT1wYXRoIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIEVOT0RFViAgW0RhdmlkIFdvb2Rob3VzZV0KKyAgIC0gZG8gbm90IGNyZWF0ZSBhIHplcm8gYWRqZmlsZSAgW0FsYWluIEd1aWJlcnRdCisgICAtIGZpeCAtLXJ0YyBvcHRpb24gIFtNYXR0aGlhcyBLb2VuaWcsIEthcmVsIFpha10KK2luY2x1ZGU6CisgICAtIDxzdGRpbnQuaD4gcHJvdmlkZXMgZXZlcnl0aGluZyAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gYWRkIGJpdG9wcy5oIHdpdGggc3dhYnsxNiwzMiw2NH0gbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnQgcGF0aHMgdG8gcGF0aG5hbWVzLmggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcGF0aG5hbWVzLmggIFtLYXJlbCBaYWtdCitpb25pY2U6CisgICAtIGFkZCBhIG5vdGUgYWJvdXQgcGVybWlzc2lvbnMgdG8gaW9uaWNlLjEgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtYW4gcGFnZSB0byByZWZsZWN0IElETEUgY2xhc3MgY2hhbmdlIGluICAyLjYuMjUgIFtLYXJlbCBaYWtdCitpcGNzOgorICAgLSBhZGQgaW5mb3JtYXRpb24gYWJvdXQgUE9TSVggY29tcGF0aWJpbGl0eSB0byBpcGNzLjEgIFtLYXJlbCBaYWtdCitraWxsOgorICAgLSBtYW4gcGFnZSBpcyBtaXNzaW5nIGEgZGVzY3JpcHRpb24gb2YgImtpbGwgLTAiICBbS2FyZWwgWmFrXQorbGRhdHRhY2g6CisgICAtIGFkZCBOTFMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gbmV3IGNvbW1hbmQgIFtUaWxtYW4gU2NobWlkdF0KKyAgIC0gdXNlIGdsaWJjIHRlcm1pb3MgIFtLYXJlbCBaYWtdCitsaWI6CisgICAtIGFkZCBibGtkZXYue2MsaH0gIFtTdGVmYW4gS3JhaCwgS2FyZWwgWmFrXQorICAgLSBhZGQgbGludXhfdmVyc2lvbi57YyxofSAgW1N0ZWZhbiBLcmFoXQorbG9naW46CisgICAtIGF1ZGl0IGxvZyBpbmplY3Rpb24gYXR0YWNrIHZpYSBsb2dpbiAgW1N0ZXZlIEdydWJiXQorICAgLSBmaXggYSBzbWFsbCBtZW1vcnkgbGVhayBhbmQgcmVtb3ZlIHVubmVjZXNzYXJ5IHplcm9pbmcgIFtLYXJlbCBaYWtdCisgICAtIGxvZ2luIHNlZ2ZhdWx0cyBvbiBFT0YgKHJoIzI5ODQ2MSkgIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgdGVybWlvIHdpdGggdGVybWlvcyBpbnRlcmZhY2UgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHJld3JpdGUgaXNfbG9jYWwoKSB0byByZW1vdmUgbGltaXRzIG9uIGxpbmUgbGVuZ3RoICBbSmFtZXMgWW91bmdtYW5dCitsb2dpbi11dGlsczoKKyAgIC0gY2xlYW51cCBzdHJsZW4oKSBhbmQgZmdldHMoKSB1c2FnZSAgW0phbWVzIFlvdW5nbWFuXQorbG9zZXR1cDoKKyAgIC0gYWRkIC0tYXNzb2NpYXRlZCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXNpemVsaW1pdCBvcHRpb24gIFtTaGFjaGFyIFNoZW1lc2hdCisgICAtIGNhbm9uaWNhbGl6ZSBsb29wZmlsZSBuYW1lICBbS2FyZWwgWmFrLCBNYXR0aGlhcyBLb2VuaWddCisgICAtIGNsZWFuIHVwIGdjYyB3YXJuaW5ncyAgW1JhbmR5IER1bmxhcF0KKyAgIC0gZml4IGVycm5vIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBsb3NldHVwLjggIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgdGhlIG9wdGlvbiAtcyBhcyBkZXByZWNhdGVkICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIHhzdHJkdXAoKSBhbmQgZXJyb3IoKSAgW0thcmVsIFpha10KKyAgIC0gc3BsaXQgaGVscCBtZXNzYWdlIGludG8gdHdvIHNtYWxsZXIgcGFydHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3VwcG9ydCB1bmxpbWl0ZWQgbnVtYmVyIG9mIGxvb3BzICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RhbmRhcmQgdWludHh5X3QgdHlwZXMgKHN0cnVjdCBsb29wX2luZm82NCkgIFtTYW11ZWwgVGhpYmF1bHRdCittZXNnOgorICAgLSByZXBsYWNlIGVycnMuaCB3aXRoIGxpYmMgZXJyLmggIFtLYXJlbCBaYWtdCitta2ZzLmNyYW1mczoKKyAgIC0gY2xlYW4gdXAgZ2NjIHdhcm5pbmdzICBbUmFuZHkgRHVubGFwLCBLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgaGVhZGVyIGZpbGUgIFtsaXpmXQorICAgLSBzd2l0Y2ggb24gbG9jYWxpemF0aW9uLiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorbWtmcy5taW5peDoKKyAgIC0gYWRkIHNlY3RvcnNpemUgY2hlY2sgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIGNsZWFuIHVwIGdjYyB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZ2NjIHdhcm5pbmdzICBbUmFuZHkgRHVubGFwXQorICAgLSBkZXZpY2Ugc2l6ZSBjbGVhbnVwICBbTWF0dGhpYXMgS29lbmlnXQorbWtzd2FwOgorICAgLSBCTEtHRVRTSVpFIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAga0IgdnMuIEtpQiB1c2FnZSBpbiBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBsaW51eF92ZXJzaW9uKCkgY29kZSBjb25zb2xpZGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBwb3NzaWJsZSB0byBjcmFzaCB3aXRoIFNFTGludXggcmVsYWJlbGluZyBzdXBwb3J0ICBbS2FpR2FpIEtvaGVpXQorICAgLSBzZXQgVVVJRCBmb3Igc3dhcCBzcGFjZSAoYWRkIC1VIG9wdGlvbikgIFtNYXJ0aW4gU2NodWx6ZV0KKyAgIC0gc2V0IGVycm5vPTAgaW4gd3JpdGVfYWxsKCkgIFtLYXJlbCBaYWtdCisgICAtIHdoZW4gd3JpdGluZyB0aGUgc2lnbmF0dXJlIHBhZ2UsIGhhbmRsZSBFSU5UUiByZXR1cm5zICBbS2FyZWwgWmFrXQorbW9yZToKKyAgIC0gY2xlYW51cCBnY2Mgd2FybmluZ3MgIFtSYW5keSBEdW5sYXBdCisgICAtIG5vbi1saW51eCBzdXBwb3J0ICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSByZXBsYWNlIENCQVVEIHdpdGggY2ZnZXRpc3BlZWQoKSAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gdXNlIEhBVkVfV0lERUNIQVIgaW5zdGVhZCBFTkFCTEVfV0lERUNIQVIgIFtLYXJlbCBaYWtdCittb3VudDoKKyAgIC0gImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUiIG1lc3NhZ2Ugc29tZXRpbWVzIG1lYW5zIGZhaWx1cmUsIHNvbWV0aW1lcyBub3QgIFtNYXJrIE1jTG91Z2hsaW5dCisgICAtICJub2ZhaWwiIG1vdW50IG9wdGlvbiAgW01hdHRoaWFzIEtvZW5pZywgS2FyZWwgWmFrXQorICAgLSAtTHwtVSBzZWdmYXVsdCB3aGVuIGxhYmVsIG9yIHV1aWQgZG9lc24ndCBleGlzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vcmUgZGV0YWlscyB0byB0aGUgLS12ZXJzaW9uIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHNpemVsaW1pdD0gbW91bnQgb3B0aW9uIChmb3IgbG9vcCBtb3VudHMpICBbU2hhY2hhciBTaGVtZXNoXQorICAgLSBhbGxvdyBhdXRvLWRlc3RydWN0aW9uIG9mIGxvb3AgZGV2aWNlcyAgW0Jlcm5hcmRvIElubm9jZW50aV0KKyAgIC0gY2hhaW4gb2Ygc3ltbGlua3MgdG8gZnN0YWIgY2F1c2VzIHVzZSBvZiBwb2ludGVyIGFmdGVyIGZyZWUgIFtOb3JiZXJ0IEJ1Y2htdWxsZXJdCisgICAtIGNsZWFuIHVwIGdjYyB3YXJuaW5ncyAobW91bnRfbW50ZW50LmMpICBbUmFuZHkgRHVubGFwXQorICAgLSBjbGVhbiB1cCBnbG9iYWwgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwICJub25lIiBmc3R5cGUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgS0VSTkVMX1ZFUlNJT04sIHJlbW92ZSBteV9kZXZfdC5oICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGNhbm9uaWNhbGl6ZSgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGVycm9yKCkgYW5kIGRpZSgpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlIG9mIF9QQVRIXyogIFtLYXJlbCBaYWtdCisgICAtIGRvZXNuJ3QgZHJvcCBwcml2aWxlZ2VzIHByb3Blcmx5IHdoZW4gY2FsbGluZyBoZWxwZXJzICBbTHVkd2lnIE51c3NlbF0KKyAgIC0gZG9uJ3QgY2FsbCBjYW5vbmljYWxpemUoU1BFQykgZm9yIGNpZnMsIHNtYmZzIGFuZCBuZnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNhbm9uaWNhbGl6ZSBMQUJFTD0gb3IgVVVJRD0gc3BlYyAgW0thcmVsIFpha10KKyAgIC0gZHJvcCB0aGUgcGFydCBhbHdheXMgdHJ1ZSBmcm9tIGEgd2hpbGUgY29uZGl0aW9uICBbUGFzY2FsIFRlcmphbl0KKyAgIC0gZml4IGEgc21hbGwgdHlwbyBpbiBtb3VudC44ICBbQ2hyaXN0b3BoZSBCbGFlc3NdCisgICAtIGZpeCBmZCBsZWFrICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBmaXggdHlwbyBpbiBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBoaW50IGFib3V0IGhlbHBlciBwcm9ncmFtIGlmIGRldmljZSBkb2Vzbid0IGV4aXN0ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGNobW9kICYgY2hvd24gdXNhZ2UgYW5kIGNsZWFuIHVwIGdjYyB3YXJuaW5ncyAoZnN0YWIuYykgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZXJyb3IgbWVzc2FnZSB3aGVuIGhlbHBlciBwcm9ncmFtIG5vdCBwcmVzZW50ICBbTGFNb250IEpvbmVzXQorICAgLSBwcmV2ZW50IGxvb3AgbW91bnRpbmcgdGhlIHNhbWUgZmlsZSB0d2ljZSAgW0thcmVsIFphaywgTWF0dGhpYXMgS29lbmlnXQorICAgLSByZW1vdW50IGRvZXNuJ3QgY2FyZSBhYm91dCBsb29wPSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIE1TX3tSRVBMQUNFLEFGVEVSLEJFRk9SRSxPVkVSfSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGJ1aWx0LWluIHN1cHBvcnQgZm9yIGJhY2tncm91bmQgbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgcmVkdW5kYW50IGZmbHVzaCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHNldF9wcm9jX25hbWUoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgaWYtYmVmb3JlLW15X2ZyZWUsIGRlZmluZSBteV9mcmVlIGFzIGEgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBNTlRUWVBFX1NXQVAgKGZyb20gbW50ZW50LmgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYXRleGl0KCkgcmF0aGVyIHRoYW4gKCphdF9kaWUpKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBibGtkZXZfZ2V0X3NpemUoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNhbm9uaWNhbGl6ZSBpbiBnZXRmc19ieV9kZXZuYW1lICBbS2FyZWwgWmFrXQorbmFtZWk6CisgICAtIGFkZCB0byBpZGVudGlmeSBGSUZPIChuYW1lZCBwaXBlKSBhbmQgdXBkYXRlIG1hbnBhZ2UgIFtMaSBaZWZhbl0KKyAgIC0gY2xlYW51cCB0YWlsaW5nIHdoaXRlLXNwYWNlcyAgW0thcmVsIFpha10KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgKGdldF9jdXJyZW50X2Rpcl9uYW1lKCkgYW5kIFBBVEhfTUFYKSAgW0thcmVsIFphaywgU2FtdWVsIFRoaWJhdWx0XQorcGFydHg6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN3YWIgbWFjcm9zIGZyb20gYml0b3BzLmggIFtLYXJlbCBaYWtdCitwZzoKKyAgIC0gZml4IHNlZ2ZhdWx0IG9uIHNlYXJjaCAgW1JhamVldiBWLiBQaWxsYWldCitwbzoKKyAgIC0gYWRkIGV1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWlrZWwgT2xhc2FnYXN0aV0KKyAgIC0gYWRkIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQW5kcnplaiBLcnp5c3p0b2Zvd2ljel0KKyAgIC0gZml4IHR5cG8gaW4gZGUucG8gIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBQT1RGSUxFUy5pbiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNhLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSm9zZXAgUHVpZ2RlbW9udF0KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQaXNhcl0KKyAgIC0gdXBkYXRlIGRhLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQ2xhdXMgSGluZHNnYXVsXQorICAgLSB1cGRhdGUgZGUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNaWNoYWVsIFBpZWZlbF0KKyAgIC0gdXBkYXRlIGVzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbU2FudGlhZ28gVmlsYSBEb25jZWxdCisgICAtIHVwZGF0ZSBldC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01lZWxpcyBSb29zXQorICAgLSB1cGRhdGUgZmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtMYXVyaSBOdXJtaV0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWljaGVsIFJvYml0YWlsbGVdCisgICAtIHVwZGF0ZSBodS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0dhYm9yIEtlbGVtZW5dCisgICAtIHVwZGF0ZSBpZC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FyaWYgRS4gTnVncm9ob10KKyAgIC0gdXBkYXRlIGl0LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWFyY28gQ29sb21ib10KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGFpc3VrZSBZYW1hc2hpdGFdCisgICAtIHVwZGF0ZSBubC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1cGRhdGUgcG8gZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBwdF9CUi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1JvZHJpZ28gU3R1bHplciBMb3Blc10KKyAgIC0gdXBkYXRlIHJ1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGF2ZWwgTWFyeWFub3ZdCisgICAtIHVwZGF0ZSBzbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1NpbW9uIE1paGV2Y10KKyAgIC0gdXBkYXRlIHN2LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGFuaWVsIE55bGFuZGVyXQorICAgLSB1cGRhdGUgdHIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyXQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNYXhpbSBWLiBEeml1bWFuZW5rb10KKyAgIC0gdXBkYXRlIHZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQ2x5dGllIFNpZGRhbGxdCityZW5hbWU6CisgICAtIGFkZCBkZXNjcmlwdGlvbiBhYm91dCBvcHRpb24gLVYgdG8gbWFucGFnZSAgW0xpIFplZmFuXQorICAgLSByZW1vdmUgdXNlbGVzcyB2YXJpYWJsZSAgW0xpIFplZmFuXQorcmVuaWNlOgorICAgLSBkZXRlY3QgZXJyb3JzIGluIGFyZ3VtZW50cywgYWRkIC12LCAtaCBhbmQgbG9uZyBvcHRpb25zICBbTGFNb250IEpvbmVzLCBLYXJlbCBaYWtdCityZXY6CisgICAtIHVzZSB3YXJuKCkgaW4gZXJycy5oICBbTGkgWmVmYW5dCitydGN3YWtlOgorICAgLSBmaXggVVRDIHRpbWUgdXNhZ2UgIFtEYXZpZCBCcm93bmVsbF0KKyAgIC0gZml4IHRoZSBkZWZhdWx0IG1vZGUgdG8gInN0YW5kYnkiICBbUGF1bGl1cyBaYWxlY2thc10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIFNBVEUgLT4gU1RBVEUgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZml4IHZlcmJvc2UgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gaW5jbHVkZSBsaWJnZW4uaCBmb3IgYmFzZW5hbWUgcHJvdG90eXBlICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIG1pc2MgY2xlYW51cHMgIFtEYXZpZCBCcm93bmVsbF0KK3NjcmlwdDoKKyAgIC0gY2xlYW51cCBnY2Mgd2FybmluZ3MgIFtSYW5keSBEdW5sYXBdCisgICAtIGNsZWFudXAgaW5jbHVkZXMgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGRpZXMgb24gU0lHV0lOQ0ggIFtLYXJlbCBaYWtdCisgICAtIHJlYWQgcmV0dXJucyBhIHNpemVfdCAgW0phbWVzIFlvdW5nbWFuXQorc2NyaXB0cmVwbGF5OgorICAgLSBnZXR0ZXh0aXplIGEgZm9yZ290dGVuIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGluIEMgIFtLYXJlbCBaYWssIEphbWVzIFlvdW5nbWFuXQorc2V0YXJjaDoKKyAgIC0gYWRkIGZhbGxiYWNrIGZvciBsaW51eC9wZXJzb25hbGl0eSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyB0byBzZXRhcmNoIGFuZCB1cGRhdGUgbWFucGFnZSAgW0thcmVsIFphaywgTGkgWmVmYW5dCisgICAtIGFkZCBtaXNzaW5nIGFscGhhIHN1YmFyY2hzICBbT2xpdmVyIEZhbGtdCisgICAtIGFkZGluZyBncm9mZiBzeW1saW5rcyB0byBzZXRhcmNoIG1hbnVhbCBwYWdlICBbQXJrYWRpdXN6IE1pxZtraWV3aWN6XQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAgW0xhTW9udCBKb25lc10KKyAgIC0gZ2VuZXJhdGUgZ3JvZmYgbGlua3MgaW4gYSBiZXR0ZXIgd2F5ICBbS2FyZWwgWmFrXQorICAgLSBwcm92aWRlIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5ICBbRG1pdHJ5IFYuIExldmluXQorICAgLSB0d2VhayB0aGUgaGVscCB0ZXh0LCBhbmQgZ2V0dGV4dGl6ZSBhIGZvcmdvdHRlbiBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitzZXR0ZXJtOgorICAgLSBhZGQgLWJsYW4gW2ZvcmNlfHBva2VdIG9wdGlvbnMgZm9yIFRJT0NMX3tCTEFOS0VELEJMQU5LfVNDUkVFTiAgW1NhbXVlbCBUaGliYXVsdCwgS2FyZWwgWmFrXQorICAgLSBkdW1wIGJ5IFRJT0NMSU5VWCBpcyBkZXByZWNhdGVkIHNpbmNlIGxpbnV4IDEuMS45Mi4gIFtLYXJlbCBaYWtdCisgICAtIG9wZW5lZCBmaWxlIGxlYXZpbmcgdW5jbG9zZWQgIFtLYXJlbCBaYWssIGxpemZdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2F0eSBpZm5kZWYgVENHRVRTICBbU2FtdWVsIFRoaWJhdWx0XQorc2ZkaXNrOgorICAgLSBhbGxvdyBwYXJ0aXRpb25pbmcgZHJpdmVzIG9mIG92ZXIgMl4zMSBzZWN0b3JzLiAgW0t1bmloaWtvIElNQUldCisgICAtIGNsZWFudXAgODMgZ2NjIHdhcm5pbmdzICBbUmFuZHkgRHVubGFwXQorICAgLSBvcGVuZWQgZmlsZXMgbGVhdmluZyB1bmNsb3NlZCAgW0thcmVsIFphaywgTGkgWmVmYW5dCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBsaW51eC91bmlzdGQuaCAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gdXNlIGdldF9saW51eF92ZXJzaW9uKCkgIFtLYXJlbCBaYWtdCitzaHV0ZG93bjoKKyAgIC0gdXNlIF9QQVRIX01PVU5URUQgaW5zdGVhZCBvZiBfUEFUSF9NVEFCICBbU3RlcGFuIEthc2FsXQorc3dhcG9uOgorICAgLSBSZWluaXRpYWxpemUgc29mdHdhcmUgc3VzcGVuZCBhcmVhcyB0byBhdm9pZCBmdXR1cmUgY29ycnVwdGlvbi4gIFtLZWVzIENvb2ssIEthcmVsIFpha10KKyAgIC0gYWRkIHN1bmRyaWVzLmggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGdjYyB3YXJuaW5ncyAgW1JhbmR5IER1bmxhcF0KKyAgIC0gY2xlYW51cCB1c2FnZSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHN3c3VzcGVuZCBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlYWRqdXN0IHRoZSB1c2FnZSBzdW1tYXJpZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IG15cmVhbHBhdGgoKSBjYWxsICBbS2FyZWwgWmFrXQorc3lzLXV0aWxzOgorICAgLSBjb3JyZWN0IHNldGFyY2guOCBtYW5wYWdlIGxpbmsgY3JlYXRpb24gIFtGcsOpZMOpcmljIEJvdGhhbXldCit0YWlsZjoKKyAgIC0gYWRkIG9wdGlvbiAtbiB0byBzcGVjaWZ5aW5nIG91dHB1dCBsaW5lcyAgW0xpIFplZmFuXQorICAgLSBjbGVhbiB1cCBnY2Mgd2FybmluZ3MgJiBmaXggdXNlIG9mIGVycm5vICBbS2FyZWwgWmFrXQorICAgLSBpbm90aWZ5IGJhc2VkIHJlaW1wbGVtZW50YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIG5vbi1saW51eCBzdXBwb3J0ICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBvcGVuZWQgZmlsZSBsZWF2aW5nIHVuY2xvc2VkICBbbGl6Zl0KKyAgIC0gcmVwbGFjZSBlcnJzLmggd2l0aCBsaWJjIGVyci5oICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCAic29ydCIgdG8gY3JhbWZzIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IGZvciBpbmNsdWRlL3BhdGhuYW1lcy5oICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdHMtbW91bnQtbm9uY2Fub25pY2FsICBbS2FyZWwgWmFrXQorICAgLSBleGFjdGx5IGRlZmluZSBhIHRpbWUgZm9ybWF0IGluIGxzIC1sIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkIGNhY2hlIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRlc3RfYmtkZXYgdG8gbGliLyAgW0thcmVsIFpha10KKyAgIC0gcmVkaXJlY3QgbGliYmxraWQgY2FjaGUgdG8gQkxLSURfRklMRSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIHRlc3Rfc3lzaW5mbywgcmVtb3ZlIHRhaWxpbmcgd2hpdGUtc3BhY2VzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9zZXR1cCAtcyAgW0thcmVsIFpha10KK3Vtb3VudDoKKyAgIC0gYWRkIGhpbnQgYWJvdXQgbHNvZiAmIGZ1c2VyICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcmludCBkdXBsaWNhdGUgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBhdGV4aXQoKSByYXRoZXIgdGhhbiAoKmF0X2RpZSkoKSAgW0thcmVsIFpha10KK3dhbGw6CisgICAtIGNsZWFudXAgTUFYSE9TVE5BTUVMRU4gIFtLYXJlbCBaYWtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE1LVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTUtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiMTJmNzIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE1LVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDY3NSBAQAorCitVdGlsLWxpbnV4LW5nIDIuMTUgUmVsZWFzZSBOb3RlcyAoMDUtTWF5LTIwMDkpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK21rc3dhcCg4KToKKyAgLSBta3N3YXAgbGlrZSBtYW55IG90aGVycyBta2ZzLWxpa2UgdXRpbHMgRVJBU0VTIFRIRSBGSVJTVCBCTE9DS1Mgb24gCisgICAgdGhlIGRldmljZSB0byByZW1vdmUgb2xkIG9uLWRpc2sgZmlsZXN5c3RlbXMuIG1rc3dhcCByZWZ1c2VzIHRvIAorICAgIGVyYXNlIHRoZSBmaXJzdCBibG9jayBvbiBhIGRldmljZSB3aXRoIGEgZGlzayBsYWJlbCAoU1VOLCBCU0QsIC4uLikKKyAgICBvciBvbiB3aG9sZSBkaXNrIChlLmcuIC9kZXYvc2RhKS4KKworICAtIERPRVMgTk9UIFNVUFBPUlQgdjAgU1dBUCBTUEFDRSBhbnkgbW9yZS4gVGhlIGtlcm5lbCBoYXMgbm90CisgICAgc3VwcG9ydGVkIHYwIHN3YXAgc3BhY2UgZm9ybWF0IHNpbmNlIDIuNS4yMi4gVGhlIG5ldyB2ZXJzaW9uIHYxIGlzIAorICAgIHN1cHBvcnRlZCBzaW5jZSAyLjEuMTE3LgorCitzd2Fwb24oOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1mLy0tZml4cGciIHRvIHJlaW5pdGlhbGl6ZSB0aGUKKyAgICBzd2FwIHNwYWNlIHdpdGggYSB3cm9uZyBwYWdlc2l6ZS4gQXMgc3dhcCBmb3JtYXQgZGVwZW5kcyBvbiB0aGUgcGFnZXNpemUKKyAgICBiZWluZyB1c2VkLCBpdCBtYXkgaGFwcGVuIHRoYXQgdGhlIHBhZ2VzaXplIG9mIHRoZSBzd2FwIHNwYWNlIGFuZCB0aGUKKyAgICBjdXJyZW50IHBhZ2VzaXplIGRpZmZlci4KKworbG9naW4oMSk6CisgIC0gcmVxdWlyZXMgL2V0Yy9wYW0uZC9yZW1vdGUgd2hlbiBjb21waWxlZCB3aXRoIFBBTSBzdXBwb3J0IGFuZAorICAgIGV4ZWN1dGVkIHdpdGggIi1oIDxob3N0bmFtZT4iIG9wdGlvbi4gVGhlICItaCIgb3B0aW9uIGlzIHVzZWQgYnkgb3RoZXIKKyAgICBzZXJ2ZXJzIChpLmUuLCB0ZWxuZXRkKDgpKSB0byBwYXNzIHRoZSBuYW1lIG9mIHRoZSByZW1vdGUgaG9zdCB0byBsb2dpbi4KKworY2FsKDEpOgorICAtIGRldGVybWluZXMgdGhlIGZpcnN0IGRheSBvZiB3ZWVrIGZyb20gdGhlIGxvY2FsZS4KKworbGliYmxraWQsIGJsa2lkKDgpIGFuZCBmaW5kZnMoOCk6CisgIFRoZSBsaWJibGtpZCBsaWJyYXJ5IGhhcyBiZWVuIG1vdmVkIGZyb20gZTJmc3Byb2dzIHRvIHV0aWwtbGludXgtbmcuIFRoZSAKKyAgbGlicmFyeSBoYXMgYmVlbiBleHRlbmRlZCBhbmQgbm93IGluY2x1ZGVzOgorICAKKyAgICAtIGxvdy1sZXZlbCBwcm9iaW5nIEFQSSB0aGF0IGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSBmb3IgdWRldiBydWxlcworICAgICAgKGNtZGxpbmU6IGJsa2lkIC1wIC1vIHVkZXYgPGRldmljZT4pCisKKyAgICAtIHZlcnkgaGlnaC1sZXZlbCBBUEkgdGhhdCBwcm92aWRlcyBwb3J0YWJsZSBpbnRlcmZhY2UgZm9yIExBQkVMcyBhbmQKKyAgICAgIFVVSURzIGV2YWx1YXRpb24gb24gMi40LCAyLjYgYW5kIHVkZXYtYmFzZWQgc3lzdGVtLiBJdCdzIHJlY29tbWVuZGVkCisgICAgICB0byB1c2UgImJsa2lkIC1MfC1VIiBpbiB5b3VyIHNjcmlwdHMgcmF0aGVyIHRoYW4gZGlyZWN0bHkgcmVhZCAKKyAgICAgIC9kZXYvZGlzay9ieS0qIHN5bWxpbmtzLgorCisgICAgLSB0aGUgb2xkIEFCSSBhbmQgQVBJIGlzIGJhY2t3YXJkbHkgY29tcGF0aWJsZSB3aXRoIHRoZSBjdXJyZW50IHZlcnNpb24KKyAgICAgIGZyb20gZTJmc3Byb2dzLgorCisgIEFsbCB1dGlscyAobW91bnQsIHN3YXBvbiwgZnNjaywgLi4uKSBpbiB0aGUgcGFja2FnZSBpcyBwb3NzaWJsZSB0byBsaW5rIAorICBhZ2FpbnN0IHRoaXMgbmV3IGxpYnJhcnksIG9yIHRoZSBvbGQgdmVyc2lvbiBmcm9tIGUyZnNwcm9ncywgb3IgCisgIGxpYnZvbHVtZV9pZCBmcm9tIHVkZXYgcGFja2FnZS4KKworICBUaGUgZGVmYXVsdCBpcyBzdGlsbCBsaWJibGtpZCBmcm9tIGUyZnNwcm9ncy4gVGhlIG5ldyBsaWJyYXJ5IGNvdWxkIGJlIAorICBlbmFibGVkIGJ5ICItLXdpdGgtZnNwcm9iZT1idWlsdGluIiBjb25maWd1cmUgb3B0aW9uLgorCisgIFRoZSBsaWJ2b2x1bWVfaWQgZnJvbSB1ZGV2IGFuZCB2b2xfaWQgY29tbWFuZCBpcyBkZXByZWNhdGVkIG5vdy4KKworZnNjayg4KToKKyAgLSBoYXMgYmVlbiBtb3ZlZCB0byBmcm9tIGUyZnNwcm9ncyB0byB1dGlsLWxpbnV4LW5nLgorCitkbWVzZygxKQorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItciIgdG8gcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlcgorICAgIChpLmUuIGRvbuKAmXQgc3RyaXAgdGhlIGxvZyBsZXZlbCBwcmVmaXhlcykuCisKK2Zsb2NrKDEpOgorICAtIGFsbG93cyBsb2NrIGRpcmVjdG9yeQorCitmc2NrLmNyYW1mczoKKyAgLSBhdXRvbWF0aWNhbGx5IGRldGVjdHMgdGhlIGltYWdlIGVuZGlhbm5lc3MsIGFuZCBjYW4gd29yayBvbiBpbWFnZXMgb2YgCisgICAgZWl0aGVyIGVuZGlhbm5lc3MuCisKK21rZnMuY3JhbWZzOgorICAtIG5vdyBhY2NlcHRzIGEgbmV3IG9wdGlvbmFsIHBhcmFtZXRlciAoLU4pIHRoYXQgYWxsb3dzIGNyZWF0aW5nIAorICAgIHRoZSBjcmFtZnMgaW1hZ2UgaW4gZWl0aGVyIGVuZGlhbm5lc3MuCisKK3JlbmljZSgxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiLW4iIGZvciBjb21wYXRpYmlsaXR5IHdpdGggUE9TSVgKKworaHdjbG9jayg4KQorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItLXN5c3R6IiB0byByZXNldCB0aGUgU3lzdGVtIFRpbWUKKyAgICBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZS4gU2luY2UgdGhlIHN5c3RlbSBjbG9jayB0aW1lIGlzIGFscmVhZHkKKyAgICBzZXQgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2sgYnkgdGhlIGtlcm5lbCAod2hlbiBjb21waWxlZCB3aXRoIAorICAgIENPTkZJR19SVENfSENUT1NZUyksIHRoZXJlJ3Mgbm8gcGFydGljdWxhciBuZWVkIHRvIHJlYWQgdGhlIGhhcmR3YXJlCisgICAgY2xvY2sgYWdhaW4uCisKK2lvbmljZSgxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiLXQiIG9wdGlvbiB0byBpZ25vcmUgZmFpbHVyZSB0byBzZXQKKyAgICByZXF1ZXN0ZWQgcHJpb3JpdHkuICBUaGlzIG1pZ2h0IGJlIG9mIHVzZSBpbiBjYXNlIHNvbWV0aGluZyAoc2VsaW51eCwKKyAgICBvbGQga2VybmVsLCBldGMuKSBkb2VzIG5vdCBhbGxvdyB0aGUgcmVxdWVzdGVkIHNjaGVkdWxpbmcgcHJpb3JpdHkgCisgICAgdG8gYmUgc2V0LgorCisgIC0gdGhlIGNvbW1hbmQgbGluZSBvcHRpb24gIi1wIiBoYW5kbGVzIG11bHRpcGxlIFBJRHMgbm93LgorCitsb3NldHVwKDgpOgorICAtIGRldGFjaGVzIG1vcmUgZGV2aWNlcyBieSAiLWQgPGxvb3A+IFs8bG9vcD4gLi5dIgorCitpcGNtaygxKToKKyAgLSB0aGlzIE5FVyBDT01NQU5EIGFsbG93cyB0byBjcmVhdGUgYWQtaG9jIElQQyByZXNvdXJjZXMuCisKK2xzY3B1KDEpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgZ2F0aGVycyBDUFUgYXJjaGl0ZWN0dXJlIGluZm9ybWF0aW9uIGxpa2UgbnVtYmVyCisgICAgb2YgQ1BVcywgdGhyZWFkcywgY29yZXMsIHNvY2ssIE5VTUEgbm9kZXMsIGluZm9ybWF0aW9uIGFib3V0IENQVSAKKyAgICBjYWNoZXMsIGluZm9ybWF0aW9uIGFib3V0IGh5cGVydmlzb3IgYW5kIHZpcnR1YWxpemF0aW9uIHN1cHBvcnQsIAorICAgIC4uZXRjLiBhbmQgcHJpbnRzIGl0IGluIGh1bWFuLXJlYWRhYmxlIG9yIHBhcnNlLWFibGUgZm9ybWF0LgorCituYW1laSgxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnMgLS1vd25lcnMsIC0tbG9uZyBhbmQgLS12ZXJ0aWNhbAorICAgIHRvIHByaW50IGxzKDEpLWxpa2Ugb3V0cHV0LgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjE0IGFuZCB2Mi4xNQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXgtbmcgMi4xNC4xIFsxMC1BdWctMjAwOF0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNC92Mi4xNC4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNC92Mi4xNC4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTQuMiBbMDktRmViLTIwMDldCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTQvdjIuMTQuMi1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTQvdjIuMTQuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VMb2cgYmV0d2VlbiB2Mi4xNCBhbmQgdjIuMTUKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTUvCisKK2FkZHBhcnQ6CisgICAtIDUxMi1ieXRlIHNlY3RvcnMgaW4gY29kZSwgYnl0ZXMgaW4gbWFuLXBhZ2UgIFtLYXJlbCBaYWtdCithZ2V0dHk6CisgICAtIElVQ0xDIGFuZCBPTENVQyBhcmUgTGludXggZXh0ZW5zaW9ucyAgW0F1cmVsaWVuIEphcm5vXQorICAgLSBjaGVjayBmb3IgdGVybWlvcy5jX2xpbmUgc3RydWN0IG1lbWJlciBieSBhdXRvY29uZiAgW0thcmVsIFpha10KKyAgIC0gc3lzL3R5cGVzLmggYW5kIHRpbWUuaCBhcmUgaW5jbHVkZWQgbW9yZSB0aGFuIG9uY2UgIFtLYXJlbCBaYWtdCitibGtpZDoKKyAgIC0gR2l2ZSBhIHByaW9yaXR5IGJvbnVzIHRvICJsZWFmIiBkZXZpY2VtYXBwZXIgZGV2aWNlcyAgW1RoZW9kb3JlIFRzJ29dCisgICAtIExTSSBNZWdhUkFJRCAgW0thcmVsIFpha10KKyAgIC0gTlZJRElBIHJhaWQgIFtLYXJlbCBaYWtdCisgICAtIE9wdGltaXplIGRldmljZW1hcHBlciBzdXBwb3J0ICBbVGhlb2RvcmUgVHMnb10KKyAgIC0gUHJvbWlzZSByYWlkICBbS2FyZWwgWmFrXQorICAgLSBSZWZ1c2UgdG8gY3JlYXRlIGEgZGV2aWNlIHN0cnVjdHVyZSBmb3IgYSBub24tZXhpc3RlbnQgZGV2aWNlICBbVGhlb2RvcmUgVHMnb10KKyAgIC0gVW5leHBvcnQgdGhlIHByaXZhdGUgc3ltYm9sIGJsa2lkX2RldmRpcnMgIFtUaGVvZG9yZSBUcydvXQorICAgLSBhZGQgIHRvIHJlaXNlciAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1MIC1VIG9wdGlvbnMgKGV2YWx1YXRpb24gQVBJKSAgW3Jvb3RdCisgICAtIGFkZCAtcCBhbmQgbG93LXByb2JlIG1vZGUgdG8gYmxraWQgYmluYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQ2hyaXN0b3BoJ3Mgbm90ZSBhYm91dCBsaWJkaXNrIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBEREYgcmFpZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIERFQlVHX0xPV1BST0JFLCBjbGVhbnVwIGEgbGl0dGxlIGRlYnVnIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBhZGQgR0ZTIGFuZCBHRlMyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgR0ZTMiBVVUlEIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBHRlMyIHJlZy4gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEhGUyBhbmQgSEZTKyAgW0thcmVsIFpha10KKyAgIC0gYWRkIEhQRlMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBIVEZTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgSVNXIHJhaWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBKTWljcm9uIFJBSUQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMVUtTIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMVk0yIHN1cHBvcnQgYW5kIGEgZml4IF9zcHJpbnRmX3V1aWQoKSBidWcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMaW51eCBSQUlEICBbS2FyZWwgWmFrXQorICAgLSBhZGQgU2lsaWNvbiBJbWFnZSBNZWRsYXkgUkFJRCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIFRPRE8gaGludCBhYm91dCBETSBkZXZuYW1lcyBpbiBzeXNmcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIFRPRE8gaGludCBhYm91dCBibGtpZF9wYXJzZV90YWdfc3RyaW5nKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBUT0RPIG5vdGUgYWJvdXQgYmxraWRfZXZhbHVhdGVfc3BlY190b19idWZmZXIoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVERiBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVUZTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVkZBVCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVklBIFJBSUQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBaU0Ygc3VwcG9ydCAgW0FuZHJlYXMgRGlsZ2VyXQorICAgLSBhZGQgWlNGIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBfX2F0dHJpYnV0ZV9fICgoZm9ybWF0KSkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhIG5vdGUgdG8gVE9ETyBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYWRhcHRlYyByYWlkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmFzaWMgY29uZmlndXJlLmFjIHN0dWZmIGFuZCBibGtpZC5wYyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX2RvX3NhZmVwcm9iZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfZXZhbHVhdGVfc3BlYygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfcHJvYmVfZ2V0X3NiKCkgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBidHJmcyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY21kbGluZSBpbnRlcmZhY2UgZm9yIGJsa2lkX3Byb2JlX2ZpbHRlcl91c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGRmIHJhaWQgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXh0ezIsMyw0LDRkZXZlbH0gc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZhbGxiYWNrIHRvIGV4dDQgZm9yIDIuNi4yOSsga2VybmVscyBpZiBleHQyIGlzIG5vdCBwcmVzZW50ICBbVGhlb2RvcmUgVHMnb10KKyAgIC0gYWRkIGZpbmRmcyg4KSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGhpZ2hwb2ludHszN3gsNDV4fSBSQUlEcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGhwZnMgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaXNvOTYwMCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGpmcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvdyBsZXZlbCBwcm9iaW5nIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGx2bTEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsdm0yIHJlZy50ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWluaXggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGJsa2lkUC5oIHRvIE1ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBoZnMuYyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldHdhcmUgKE5TUykgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXR3YXJlIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBvcHRpb25zIHRvIGJsa2lkLjggYW5kIGhlbHAgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IHJlcXVpcmVtZW50cyB0byBUT0RPIGxpc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBvY2ZzIGFuZCBvcmFjbGVhc20gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBvY2ZzMiB2ZXJzaW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcHJvcGVyIGNvcHlpbmcgaW5mbyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZy50ZXN0cyBmb3IgSEZTIGFuZCBIRlMrICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcm9tZnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzcXVhc2hmcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIC9ldGMvYmxraWQuY29uZiBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3lzdiBhbmQgeGVuaXggIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0c3RfdHlwZXMuYyB0byBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVkZXYgSURfRlNfKiBvdXRwdXQgdG8gYmxraWQgYmluYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdWRldiBzdHJpbmcgZW5jb2Rpbmcgcm91dGluZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB1dWlkIGFuZCB2ZXJzaW9uIHN1cHBvcnQgdG8gZ2ZzMiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZlcnNpb24gYW5kIHByb2JlIEZTSW5mbyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZlcnNpb24gc3VwcG9ydCB0byBMVk0yICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdm9sX2lkIGNhbGwgdG8gYmxraWQgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdnhmcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHhmcyAgW0thcmVsIFpha10KKyAgIC0gYmxrZGV2IHNpemUgZmFsbGJhY2sgIFtLYXJlbCBaYWtdCisgICAtIGJsa2lkLnN0YXRpYyBtYWtlIHRhcmdldCAgW0thcmVsIFpha10KKyAgIC0gYmxraWRfZXZhbHVhdGVfc3BlYygpIHNob3VsZG4ndCBpZ25vcmUgJEJMS0lEX0ZJTEUgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGNhbGxvYygpIHJldHVybiB2YWx1ZSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgaWRpbmZvW10gaW5kZXggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIG1hbiBwYWdlcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBfTE9HUFJPQkUgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc3RhcnRzIG9mIHByb2JpbmcgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvbXBpbGUgVEVTVF9QUk9HUkFNcyAgW0thcmVsIFpha10KKyAgIC0gY29ycmVjdGx5IGluaXRpYWxpemUgbWFnaWNzW10gYXJyYXlzICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgYmFzaWMgZGlyZWN0b3JpZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGRlcmVmZXJlbmNlIE5VTEwgdXBvbiBzbGFzaGxlc3MgbW9kdWxlIGRlcGVuZGVuY3kgbGluZSAgW0ppbSBNZXllcmluZ10KKyAgIC0gZml4IC4uLl9zdHJuY3B5X3V1aWQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIHN5bnRheCBuaXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9kb19wcm9iZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9zYWZlX3N0cmluZygpICBbS2FyZWwgWmFrXQorICAgLSBmaXggZXhpdCBjb2RlcyBpbiBibGtpZCg4KSAgW1Njb3R0IEphbWVzIFJlbW5hbnRdCisgICAtIGZpeCBleHQyIFNFQ19UWVBFICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmlsZSBkZXNjcmlwdG9yIGxlYWsgd2hlbiBjaGVja2luZyBmb3IgYSBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBnY2Mgd2FybmluZyBpbiBibGtpZF9nZXRfY2FjaGVfZmlsZW5hbWUoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGhlZGVhZGVyIGluIG50ZnMuYyAgW0thcmVsIFpha10KKyAgIC0gZml4IGhpZ2hwb2ludDM3eCBvZmZzZXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsb3ctcHJvYmUgbW9kZSByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub24tdWRldiBsb3ctcHJvYmUgbW9kZSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBvY2ZzMiBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIChzeW50YXggZXJyb3IpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdWRldiBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB4ZnMgbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIGhmcyAtIGRvIG5vdCBzZXQgVVVJRCBmb3IgZW10cHkgZmluZGVyIGluZm8gIFtLYXkgU2lldmVyc10KKyAgIC0gaGZzIC0gdXNlIHByb3BlciBuYXRpdmUgVVVJRCBmb3JtYXQgIFtLYXkgU2lldmVyc10KKyAgIC0gaW1wcm92ZSBkZGYgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBsaW51eF9yYWlkIC0gZml4IGxvZ2ljIGZvciB2b2x1bWVzIHdpdGggc2l6ZSA9PSAwICBbS2FyZWwgWmFrXQorICAgLSBtZXJnZSBsaWJibGtpZCBjb2RlIGZyb20gZTJmc3Byb2dzL2xpYi9ibGtpZCAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgY2hhbmdlcyB0byBsaWJyYXJ5IGJ1aWxkIHN5c3RlbSAgW0thcmVsIFpha10KKyAgIC0gbmV0d2FyZSBTQiBoYXMgdG8gYmUgcGFja2VkICBbS2FyZWwgWmFrXQorICAgLSBvcHRpbWl6ZSBmb3Igc3RyaW5nIFVVSURzICBbS2FyZWwgWmFrXQorICAgLSByZS1vcmRlciBsaXN0IG9mIGZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSByZWNvZ25pemUgZXh0MyB3aXRoIHRlc3RfZnMgc2V0IGFzIGV4dDMgIFtFcmljIFNhbmRlZW5dCisgICAtIHJlY29nbml6ZSBleHQ0KGRldikgd2l0aG91dCBqb3VybmFsICBbRXJpYyBTYW5kZWVuXQorICAgLSByZWZyZXNoIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGJsa2lkX3R5cGVzLmggIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaWZkZWYgX19jcGx1c3BsdXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgc3R1ZmYgZnJvbSBNYWtlZmlsZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgaWYtYmVmb3JlLWZyZWUgdGVzdHMgIFtKaW0gTWV5ZXJpbmddCisgICAtIHJlbW92ZSB3aG9sZS1kaXNrIGVudHJpZXMgZnJvbSBjYWNoZSB3aGVuIHBhcnRpdGlvbnMgYXJlIGZvdW5kICBbRXJpYyBTYW5kZWVuXQorICAgLSByZW5hbWUgYmxraWRfZGVidWdfaW5pdCB0byBibGtpZF9pbml0X2RlYnVnICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgYmxraWRfZXZhbHVhdGVfc3BlYyB0byBibGtpZF9ldmFsdWF0ZV90YWcgIFtLYXJlbCBaYWtdCisgICAtIHNldCBzaXplIGZvciBub24tYmxrZGV2cywgYWRkIGJsa2lkX3Byb2JlX3N0cmNweV91dWlkKCkgIFtLYXJlbCBaYWtdCisgICAtIHNwbGl0IFNPTkFNRSBhbmQgTElCQkxLSURfVkVSU0lPTiAgW0thcmVsIFpha10KKyAgIC0gc3RhcnQgdG8gdXNlIEFCSSB2ZXJzaW9uaW5nICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGRldGVjdGlvbiBvZiBtdWx0aXBsZSBzaWduYXR1cmVzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHZpYSByYWlkIHZlcnNpb24gMiAgW1N2ZW4gSm9zdF0KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBnaXRpZ25vcmUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAiY2hhciAqKiIgcmF0aGVyIHRoYW4gInVuc2lnbmVkIGNoYXIgKioiICBbS2FyZWwgWmFrXQorICAgLSB1c2UgL2Rldi9tYXBwZXIvPG5hbWU+IHJhdGhlciB0aGFuIC9kZXYvZG0tPE4+ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgL3N5cy9ibG9jay9kbS08Tj4vZG0vbmFtZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIFJlcXVpcmVzLnByaXZhdGUgYW5kIGZpeCB0aGUgaW5jbHVkZSBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBibGtpZF9wcm9iZV9zdHJjcHlfdXVpZCgpIGZvciBsdWtzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcG9zaXggdWludDMyX3QgaW4gb2NmcyBzdXBlcmJsb2NrICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcG9zaXggdWludFhYX3QgaW4gbHZtIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzaXplb2YoKSBmb3IgaGZzIHV1aWQgIFtLYXJlbCBaYWtdCisgICAtIHZmYXQgLSBmaXggZGVjbGFyYXRpb24gIFtLYXkgU2lldmVyc10KK2Jsa2lzOgorICAgLSBmaXggZGV0ZWN0aW9uIG9mIGV4dDRkZXYgYXMgZXh0NCAgW0VyaWMgU2FuZGVlbl0KK2Jsb2NrZGV2OgorICAgLSBhZGQgbm90ZSB0aGF0IHRoZSBTdGFydFNlYyBpcyBpbiA1MTItYnl0ZSBzZWN0b3JzICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9zc2libGUgYnVmZmVyIG92ZXJmbG93ICBbS2FyZWwgWmFrXQorYnVpbGQtc3lzOgorICAgLSBhZGQgJHVzcmxpYmV4ZWNkaXIgYW5kIGZpeCBwYXRocyBmb3IgWy91c3JdL2xpYjY0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLW1vdW50ICBbQWxvbiBCYXItTGV2XQorICAgLSBhZGQgLS13aXRoPWZzcHJvYmU9YnVpbHRpbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1sdXVpZCB0byBCTEtJRF9MSUJTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnNjayBiaW5hcnkgdG8gLmdpdGlnbm9yZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgQUNfQ19CSUdFTkRJQU4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGZpbGVzIHRvIGluY2x1ZGUvTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZW1wb3JhcnkgbGlidG9vbCAqLm00IHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIC0td2l0aC1mc3Byb2JlIGhlbHAgc3RyaW5nICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHN5cy11dGlscy9NYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gZGVmaW5lIGxpYmRpciAgW0thcmVsIFpha10KKyAgIC0gZml4IGJ1Z3MgZGV0ZWN0ZWQgYnkgIm1ha2UgZGlzdGNoZWNrIiAgW0thcmVsIFpha10KKyAgIC0gbGlidG9vbGl6ZSBieSBsaWJ0b29sLTIgIFtLYXJlbCBaYWtdCisgICAtIGxpYnRvb2xpemUgbW91bnQvTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgcGl2b3Rfcm9vdCg4KSB0byBzeXMtdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggZ2VuZXJhdGVkIGxpYnRvb2wtMiBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4xNS1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjE1LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1c2Ugb2YgZGV2bWFwcGVyIGxpYnJhcnkgIFtLYXJlbCBaYWtdCisgICAtIHRnZXRzIGlzIG5vdCBpbiBuY3Vyc2VzIGJ1dCBpbiB0aW5mbyAgW0Fya2FkaXVzeiBNacWba2lld2ljel0KKyAgIC0gdXNlIHBrZy1jb25maWcgZm9yIGJsa2lkIGFuZCB2b2x1bWVfaWQgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIGRldGVybWluZSB0aGUgZmlyc3QgZGF5IG9mIHdlZWsgZnJvbSB0aGUgbG9jYWxlICBbUMOhZHJhaWcgQnJhZHldCisgICAtIHJlbW92ZSBnY2MtaXNtIGZyb20gbmxfbGFuZ2luZm8oKSBjYWxsICBbS2FyZWwgWmFrXQorY2ZkaXNrOgorICAgLSBhY2NlcHQgeWVzL25vIGFzIGZhbGxiYWNrICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBmaXggImNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiIGJ1ZyAgW0thcmVsIFpha10KK2NoZm46CisgICAtIHNldmVyYWwgc3RyaW5ncyB3aXRob3V0IGdldHRleHQgY2FsbHMgIFtLYXJlbCBaYWtdCitjaHJ0OgorICAgLSBhZGQgTkxTIHN1cHBvcnQsIGNsZWFuIGVycm9yIG1lc3NhZ2VzIGFuZCByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhIGNvbW1lbnQgYWJvdXQgbm9uIFBPU0lYIDEwMDMuMWIgYXR0cmlidXRlcyBpbiBjaHJ0LjEgIFtBdXJlbGllbiBKYXJub10KKyAgIC0gb3V0cHV0IGJ1Z2xldCB3aGVuIHJlcG9ydGluZyBzY2hlZHVsaW5nIGNsYXNzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IENGUyBTQ0hFRF9JRExFIHByaW9yaXR5IGFuZCBkb2N1bWVudCBpdCAgW01hcnRpbiBTdGVpZ2Vyd2FsZF0KK2Rpc2stdXRpbHM6CisgICAtIGNsZWFuIHVwIGNvZGUsIHVzZSBibGtkZXZfKiBmdW5jdGlvbnMgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGluY2x1ZGUgZmNudGwuaCBkaXJlY3RseSAobWtmcy5jcmFtZnMsIHJhdykgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gcy9NT1VOVEVEL19QQVRIX01PVU5URUQvICBbbWF4aW1pbGlhbiBhdHRlbXNdCitkbWVzZzoKKyAgIC0gQWRkIC1yIChyYXcpIG9wdGlvbi4gIFtBZGFtIEphY2tzb25dCisgICAtIG51a2Ugb2xkIGdsaWJjIDUgc3VwcG9ydCAgW21heGltaWxpYW4gYXR0ZW1zXQorZG9jczoKKyAgIC0gVE9ETzogYWRkIHJlcXVlc3QgdG8gdXNlIG5sX2xhbmdpbmZvKCkgIFtLYXJlbCBaYWtdCisgICAtIFRPRE8gdXBkYXRlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBub3RlIGFib3V0IC9wcm9jL3N5cy9rZXJuZWwvcmFuZG9tL3V1aWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhIG5vdGUgYWJvdXQga3BhcnR4IHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBlbnRyeSBhYm91dCAvcHJvYy9wYXJ0aXRpb25zIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZWF0dXJlLXJlcXVlc3RzIGZyb20gUkggYnVnemlsbGEgdG8gVE9ETyBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VnZ2VzdGlvbiBhYm91dCBUWj1VVEMgdG8gVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbywgY2FsKDgpIC0tPiBjYWwoMSkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPIGxpc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB2Mi4xNSBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCitlbHZ0dW5lOgorICAgLSBhZGQgTkxTIHN1cHBvcnQgIFtQZWRybyBSaWJlaXJvXQorZmRpc2s6CisgICAtIChhbmQgcGFydHgpIHJlbW92ZSBCTEtHRVRMQVNUU0VDVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIDB4YWYgSEZTIC8gSEZTIHBhcnRpdGlvbiB0eXBlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc29tZSBtaXNzaW5nIGluY2x1ZGVzICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBjYW5ub3QgY3JlYXRlIHBhcnRpdGlvbiB3aXRoIHN0YXJ0aW5nIGJleW9uZCAxIFRCICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIF9QQVRIX0RFVl8qIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gZG9lc24ndCBoYW5kbGUgbGFyZ2UgKDRLaUIpIHNlY3RvcnMgcHJvcGVybHkgIFtFcmljIFNhbmRlZW5dCisgICAtIGRvbid0IGNoZWNrIGZvciBHUFQgd2hlbiBhc2tlZCBmb3IgZGlzayBzaXplIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBnZXRfbGludXhfdmVyc2lvbigpIGZvciBub24tbGludXggIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGV4aXQoMykgbmVlZHMgc3RkbGliLmggaW5jbHVkZSAgW21heGltaWxpYW4gYXR0ZW1zXQorICAgLSBmaXggbWFuIHBhZ2UgdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1heC4gcHRuYW1lICBbS2FyZWwgWmFrXQorICAgLSBub24tbGludXggc3VwcG9ydCAoQkxLKiBhbmQgSERJT18qKSAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gcmVhZCAvcHJvYy9wYXJ0aXRpb25zIGluIG1vcmUgcm9idXN0IHdheSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGluZm9ybWF0aW9uIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBnZXR0ZXh0IGNhbGwgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBFTkFCTEVfQ01EVEFHUSBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gcm91bmQgcmVwb3J0ZWQgc2l6ZXMgcmF0aGVyIHRoYW4gdHJ1bmNhdGUgIFtLYXJlbCBaYWtdCisgICAtIHNldmVyYWwgc3RyaW5ncyB3aXRob3V0IGdldHRleHQgY2FsbHMgIFtQZWRybyBSaWJlaXJvXQorICAgLSBzdWdnZXN0IHBhcnRwcm9iZSg4KSBhbmQga3BhcnR4KDgpIHdoZW4gQkxLUlJQQVJUIGZhaWxlZCAgW1ZpbmNlbnQgRGVmZm9udGFpbmVzLCBLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgIi1iIDQwOTYiIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCArY3lsaW5kZXIgbm90YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSByZWFsIHNlY3RvciBzaXplIGluIHZlcmlmeSgpIGFuZCB3YXJuX2N5bGluZGVycygpICBbS2FyZWwgWmFrXQorICAgLSB3YXJuIHVzZXJzIGFib3V0IDIuMlRCIGRvcyBwYXJ0aXRpb24gbGltaXQgIFtLYXJlbCBaYWtdCitmbG9jazoKKyAgIC0gQWxsb3cgbG9jayBkaXJlY3RvcnkgIFtBbGV4ZXkgR2xhZGtvdl0KKyAgIC0gYWRkIE5MUyBzdXBwb3J0LCByZW1vdmUgdGFpbGluZyB3aGl0ZS1zcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwcmludGYgZm9ybWF0IGVycm9yIGluIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHNlZ2ZhdWx0cyB3aGVuIGZpbGUgbmFtZSBpcyBub3QgZ2l2ZW4gIFtLYXJlbCBaYWtdCitmc2NrOgorICAgLSBjb3NtZXRpYyBjaGFuZ2VzIChOTFMsIHBhdGhzLCAuLi4pICBbS2FyZWwgWmFrXQorICAgLSBsaW5rIHdpdGggZ2VuZXJpYyBmc3Byb2JlIHdyYXBwZXIgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZnNjayBmcm9tIGUyZnNwcm9ncyB0byB1dGlsLWxpbnV4LW5nICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgByBmcm9tIHdhcm5pbmcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgaWYtYmVmb3JlLWZyZWUgdGVzdHMgIFtLYXJlbCBaYWtdCitmc2NrLmNyYW1mczoKKyAgIC0gYWRkIE5MUyBzdXBwb3J0ICBbUGVkcm8gUmliZWlyb10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIHNlZ2ZhdWx0IHdpdGggSU5DTFVERV9GU19URVNUUyBhbmQgbm8gLXggb3B0aW9uICBbS2FyZWwgWmFrXQorZnNjay5taW5peDoKKyAgIC0gYWRkIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KK2dldG9wdDoKKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGlmZGVmcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgaWYtYmVmb3JlLWZyZWUgdGVzdHMgIFtLYXJlbCBaYWtdCitod2Nsb2NrOgorICAgLSBhZGQgLS1zeXN0eiBvcHRpb24gdG8gc2V0IHN5c3RlbSBjbG9jayBmcm9tIGl0c2VsZiAgW1Njb3R0IEphbWVzIFJlbW5hbnRdCisgICAtIGFsd2F5cyByZWFkcyBoYXJkd2FyZSBjbG9jayAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBoZWxwIG91dHB1dCBhbmQgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsb2NrLmggaXMgaW5jbHVkZWQgbW9yZSB0aGFuIG9uY2UgIFtLYXJlbCBaYWtdCisgICAtIGRlbGF5IGxvb3AgaW4gc2V0X2hhcmR3YXJlX2Nsb2NrX2V4YWN0ICBbS2FsZXYgU29pa29uZW5dCisgICAtIGRvbid0IG9wZW4gL2Rldi9ydGMgcmVwZWF0ZWRseSAgW0thcmVsIFpha10KKyAgIC0gb21pdCB3YXJuaW5nIGFib3V0IGRyaWZ0IGlmIC0tbm9hZGpmaWxlIGdpdmVuICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSByZWFkX2hhcmR3YXJlX2Nsb2NrX3J0YygpIG5lZWQgdG8gcmV0dXJuIGVycm9yIGNvZGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgImNsaSIgYW5kICJzdGkiIGZyb20gaTM4NiBDTU9TIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB4ODZfNjQtc3BlY2lmaWMgYm9nb24gIFtEYXZpZCBCcm93bmVsbF0KKyAgIC0gc2V2ZXJhbCBzdHJpbmdzIHdpdGhvdXQgZ2V0dGV4dCBjYWxscyAgW1BlZHJvIFJpYmVpcm9dCisgICAtIHVuc2hhZG93IGEgZGlhZ25vc3RpYyBwcmludGYgIFtLYWxldiBTb2lrb25lbl0KKyAgIC0gdXNlIGNhcmVmdWxseSBzeW5jaHJvbml6ZV90b19jbG9ja190aWNrKCkgcmV0dXJuIGNvZGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdGltZSBsaW1pdCBmb3Igc3luY2hyb25pemF0aW9uIGJ1c3kgd2FpdCAgW0thcmVsIFpha10KK2luY2x1ZGU6CisgICAtIGFkZCBtaXNzaW5nIGZpbGVzIHRvIE1ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSBiaXRvcHMgLSBleHBsaWNpdGx5IGluY2x1ZGUgZW5kaWFuLmggIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgc3dhcGhlYWRlci5oIHRvIGluY2x1ZGUgIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIHN3YXBoZWFkZXIuaCBpcyBtaXNzaW5nIGluIE1ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSB1c2UgX19CWVRFX09SREVSIHJhdGhlciB0aGFuIEFDIHNwZWNpZmljIFdPUkRTX0JJR0VORElBTiAgW0thcmVsIFpha10KK2lvbmljZToKKyAgIC0gRXh0ZW5kIHRoZSBtYW4gcGFnZSB0byBleHBsYWluIHRoZSAibm9uZSIgY2xhc3MgYW5kIGNwdS1uaWNlIGluaGVyaXRhbmNlICBbSmFrb2IgVW50ZXJ3dXJ6YWNoZXJdCisgICAtIGEgbGl0dGxlIGNsZWFudXAgb2YgIm5vbmUiIGRlc2NyaXB0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLXQgb3B0aW9uICBbTHVib21pciBLdW5kcmFrXQorICAgLSBhZGQgc3RydG9sKCkgY2hlY2tzLCBjbGVhbnVwIHVzYWdlIHRleHQgYW5kIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjaGFuZ2UgSmVucyBBeGJvZSdzIGVtYWlsICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGVycm9yIG1lc3NhZ2VzLCBhZGQgTkxTIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIG1hbnBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGxldCAtcCBoYW5kbGUgbXVsdGlwbGUgUElEcyAgW1N0ZXBoYW4gTWFrYV0KK2lwY21rOgorICAgLSBhZGQgTkxTIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBlcnJvciBjb2RlcyBhbmQgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIG5ldyBjb21tYW5kICBbSGF5ZGVuIEphbWVzXQoraXBjczoKKyAgIC0gYWRqdXN0IHNvbWUgZmllbGQgcG9zaXRpb25zIGFuZCB3aWR0aHMgZm9yIGNvcnJlY3QgYWxpZ25tZW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBleGl0IGNvZGVzLCByZW1vdmUgdGFpbGluZyB3aGl0ZS1zcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIHVuZ2V0dGV4dGl6ZSB0aGUgc3BhY2luZyBvZiB0aGUgdGFibGUgaGVhZGVycyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorbGRhdHRhY2g6CisgICAtIGRvbid0IGNvbXBpbGUgZm9yIG5vbi1saW51eCBzeXN0ZW1zICBbU2FtdWVsIFRoaWJhdWx0XQorbGliOgorICAgLSBhZGQgX19CWVRFX09SREVSIHRvIG1kNS5jICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaXNfd2hvbGVfZGlzaygpIGZyb20gZmRpc2sgY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHB0dHlwZS5jIGZvciBQVCB0eXBlcyBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0X2lzbW91bnRlZCBmb3IgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBibGtkZXYuYyBjbGVhbiB1cCwgbm9uLWxpbnV4IHN1cHBvcnQgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGRvIG5vdCBpbmNsdWRlIDxsaW51eC9mZC5oPiBpbiBpc21vdW50ZWQuYyAgW0F1cmVsaWVuIEphcm5vXQorICAgLSBmaXggZnNwcm9iZSB3cmFwcGVyIChjb25zdCBjaGFyICogaXMgbm9uc2Vuc2UpICBbS2FyZWwgWmFrXQorICAgLSBmc3Byb2JlIC0gZml4IGdjYyB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBnY2Mgd2FybmluZyBpbiBmaXggZnNwcm9iZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBvcGVuX2RldmljZSgpIG9wdGlvbmFsIGluIGZzcHJvYmUuYyAgW0thcmVsIFpha10KKyAgIC0gcHR0eXBlICBhZGQgQlNEIHN1YnBhcnRpdGlvbnMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gcHR0eXBlICBmaXggRE9TIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcHR0eXBlIC0gZXh0ZW5kIHRoZSBBUEkgdG8gd29yayB3aXRoIGZpbGUgZGVzY3JpcHRvcnMgIFtLYXJlbCBaYWtdCisgICAtIHdob2xlZGlzayAtIGV4dGVuZCBBUEksIGFkZCB0ZXN0IHByb2dyYW0gIFtLYXJlbCBaYWtdCisgICAtIHB0dHlwZSAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorbG9nZ2VyOgorICAgLSBzZXZlcmFsIHN0cmluZ3Mgd2l0aG91dCBnZXR0ZXh0IGNhbGxzICBbUGVkcm8gUmliZWlyb10KK2xvZ2luOgorICAgLSBjbGVhbnVwIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAoaW50MzIgdGltZSgpIGFyZykgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB3YXJuaW5nICJkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMiICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgInN3aXRjaGluZyB1c2VycyIgbm9uc2Vuc2UgZnJvbSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlICJyZW1vdGUiIGFzIGEgUEFNIHNlcnZpY2UgbmFtZSBmb3IgImxvZ2luIC1oIiAgW0thcmVsIFpha10KKyAgIC0gdXNlIG9wZW4oMikgcmF0aGVyIHRoZW4gYWNjZXNzKDIpIGZvciAkSE9NRS8uaHVzaGxvZ2luICBbS2FyZWwgWmFrXQorbG9naW4tdXRpbHM6CisgICAtIHNldmVyYWwgc3RyaW5ncyB3aXRob3V0IGdldHRleHQgY2FsbHMgIFtQZWRybyBSaWJlaXJvXQorbG9zZXR1cDoKKyAgIC0gYWRkIHdhcm5pbmcgYWJvdXQgcmVhZC1vbmx5IG1vZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGNvZGUgYXJvdW5kIExPX0ZMQUdTX0FVVE9DTEVBUiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZGV0YWNoIG1vcmUgZGV2aWNlcyBieSAiLWQgPGxvb3A+IFs8bG9vcD4gLi5dIiAgW0thcmVsIFpha10KKyAgIC0gbG9vcGxpc3RfKiByZWZhY3RvcmluZywgcmVtb3ZlIHNjYW5kaXIoKSAgW0thcmVsIFpha10KKyAgIC0gbWlzc2luZyBFQlVTWSBlcnJvciBoaW50IG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1vdW50IGVuZGxlc3MgbG9vcCBoYW5nICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVwZW5kZW5jZSBvbiBtaW5vciBudW1iZXJzICBbS2FyZWwgWmFrXQorICAgLSBzZXZlcmFsIHN0cmluZ3Mgd2l0aG91dCBnZXR0ZXh0IHN0cmluZ3MgIFtQZWRybyBSaWJlaXJvXQorICAgLSB0cnkgdG8gc2V0IHVwIGxvb3AgcmVhZG9ubHkgaWYgRUFDQ0VTICBbTWF0dGhpYXMgS29lbmlnXQorbHNjcHU6CisgICAtIC0tc3lzcm9vdCBvcHRpb24gYW5kIHN0YWJsZSBjYWNoZSBvdXRwdXQgIFtDYWkgUWlhbl0KKyAgIC0gYWRkIEh5cGVydmlzb3IgZGV0ZWN0aW9uICBbS2FyZWwgWmFrLCBLeSBTcmluaXZhc2FuXQorICAgLSBuZXcgY29tbWFuZCAgW0NhaSBRaWFuLCBLYXJlbCBaYWtdCisgICAtIHJlZ3Jlc3Npb24gdGVzdHMgIFtDYWkgUWlhbl0KKyAgIC0gcmV0dXJuIEVYSVRfU1VDQ0VTUyBhdCB0aGUgZW5kICBbTWF0dGhpYXMgS29lbmlnXQorbWlzYy11dGlsczoKKyAgIC0gd3JpdGUgaW5jbHVkZSBzaWduYWwuaCBkaXJlY3RseSAgW21heGltaWxpYW4gYXR0ZW1zXQorbWtmcy5jcmFtZnM6CisgICAtIGFkZCBlbmRpYW5uZXNzIHN1cHBvcnQgdG8gY3JhbWZzIHRvb2xzICBbUm95IFBlbGVkXQorICAgLSBsb3dlciBtZW1vcnkgcmVxdWlyZW1lbnRzIGZvciBsYXlvdXRzIHdpdGggZHVwbGljYXRlIGZpbGVzICBbUm95IFBlbGVkXQorICAgLSBzZXZlcmFsIHN0cmluZ3Mgd2l0aG91dCBnZXR0ZXh0IGNhbGxzICBbUGVkcm8gUmliZWlyb10KK21rZnMubWluaXg6CisgICAtIChhbmQgZnNjaykgcmVuYW1lIGJpdG9wcy5oICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2l6ZSBkZXRlY3Rpb24gIFtNYXR0aGlhcyBLb2VuaWddCisgICAtIHJlbW92ZSBsb2NhbCBpbXBsZW1lbnRhdGlvbiBvZiB7c2V0LGNscn1iaXQgIFtLYXJlbCBaYWtdCitta3N3YXA6CisgICAtIGNsZWFuIHVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBoYW5kbGUgMl4zMiBwYWdlcyAgW0h1Z2ggRGlja2luc10KKyAgIC0gbm9uLWxpbnV4IHN1cHBvcnQgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHJlbW92ZSB2MCBzd2FwIHNwYWNlIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIHphcCBib290Yml0cyAgW0thcmVsIFpha10KK21vcmU6CisgICAtIGRvbid0IHVzZSBhLm91dC5oICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIG1pbm9yIGZpeGVzIHRvIG1hZ2ljKCkgIFtKYW1lcyBZb3VuZ21hbl0KK21vdW50OgorICAgLSBBZGQgc3RyaWN0YXRpbWUgc3VwcG9ydCAgW01hdHRoZXcgR2FycmV0dF0KKyAgIC0gYWRkIGRvY3MgYWJvdXQgdXRmOD0wIGZvciB2ZmF0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaV92ZXJzaW9uIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBpbmZvIGFib3V0IC9wcm9jL21vdW50cyB0byBtb3VudC4xICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCBzZW1hbnRpY3Mgb2YgcmVhZC1vbmx5IG1vdW50IHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBpbmZvIGFib3V0IHR6PVVUQyBvcHRpb24gZm9yIEZBVCB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm9yZWFsdGltZSB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcm9vdGNvbnRleHQ9IFNFTGludXggbW91bnQgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2hvcnRvcHRpb25zIGZvciBiaW5kLCBtb3ZlIGFuZCByYmluZCAgW21heGltaWxpYW4gYXR0ZW1zXQorICAgLSBjbGVhbiB1cCBTUEVDIGNhbm9uaWNhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFucyB1cCBtb3VudCg4KSB0cm9mZiBtYXJrdXAgIFtTYW0gVmFyc2hhdmNoaWtdCisgICAtIGNyZWF0ZSBzZXBhcmF0ZSBzZWN0aW9uIGZvciBmcy1pbmRlcGVuZGVudCBvcHRpb25zIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGRvY3VtZW50IG5ld2luc3RhbmNlIGFuZCBwdG14bW9kZSBvcHRpb25zIHRvIGRldnB0cyAgW1N1a2FkZXYgQmhhdHRpcHJvbHVdCisgICAtIGZpbmFsaXplIHN1cHBvcnQgb2YgcXVvdGVkIExBQkVMcy9VVUlEcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGdjYyB3YXJuaW5nICh2YXJpYWJsZSB1c2VkIHVuaW5pdGlhbGl6ZWQpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnRfc3RhdGljX0xEQUREICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0d1YW4gWGluXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gaW4gdm9sdW1lX2lkIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGdlbmVyaWMgYmxraWQvdm9sdW1lX2lkIHdyYXBwZXIsIHVzZSBibGtpZF9ldmFsdWF0ZV8qICBbS2FyZWwgWmFrXQorICAgLSBpbmZvcm0gYWJvdXQgVUlEIGFuZCBlVUlEIHdoZW4gdmVyYm9zZSA+IDIgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZmlsZV90IFNFTGludXggd2FybmluZyBvcHRpb25hbCBhbmQgc2hvcnRlciAgW0thcmVsIFpha10KKyAgIC0gbW92ZSByZWFscGF0aC5jIGNvZGUgdG8gbGliLyAgW0thcmVsIFpha10KKyAgIC0gbXRhYiBjcmVhdGVkIG11bHRpcGxlIHRpbWVzIHdpdGggLWEgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBub24tc2V0dWlkIChQT1NJWCBmaWxlIGNhcGFiaWxpdGllcykgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGxpbmsgdG8gbmFtZXN5cy5jb20gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBzcHVyaW91cyBuZXdsaW5lIGZyb20gbW91bnQuOCAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSByZW1vdmUgdXNlbGVzcyBpZi1iZWZvcmUtZnJlZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gcmVvcmRlciBsaXN0IG9mIG9wdGlvbnMgaW4gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gcmV0cnkgb24gRU5PTUVESVVNICBbTWF0dGhpYXMgS29lbmlnXQorICAgLSBzL01PVU5URUQvX1BBVEhfTU9VTlRFRC8gIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gc3VnZ2VzdCB0byB1c2UgYmxvY2tkZXYgLS1zZXRybyByYXRoZXIgdGhhbiBsb3NldHVwICBbS2FyZWwgWmFrXQorICAgLSBzdW5kcmllcy5oIGFkZCBrbGliYyBzdXBwb3J0ICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIHN5bmMgRkFUIGluZm8gaW4gbW91bnQuOCB3aXRoIERvY3VtZW50YXRpb24vZmlsZXN5c3RlbXMvdmZhdC50eHQgIFtLYXJlbCBaYWtdCisgICAtIHN5bmMgdG1wZnMgaW5mbyBpbiBtb3VudC44IHdpdGggRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy90bXBmcy50eHQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdWJzZWN0aW9ucyBpbiBtb3VudC44IERFU0NSSVBUSU9OICBbS2FyZWwgWmFrXQorICAgLSB3YXJuIG9uICJmaWxlX3QiIHNlbGludXggY29udGV4dCAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBhZGQgLS1vd25lcnMgYW5kIC0tbG9uZyBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS12ZXJ0aWNhbCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIG9wdGlvbnMgdG8gbmFtZWkuMSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZHVwbGljYXRlICcvJyBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBidWZmZXIgb3ZlcmZsb3cgIFtLYXJlbCBaYWtdCisgICAtIG5ldyByZS13cml0dGVuIHZlcnNpb24gIFtLYXJlbCBaYWtdCitwYXJ0eDoKKyAgIC0gY29udmVydCBoYXJkIHNlY3RvciBzaXplIHRvIDUxMi1ieXRlIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGR1cGxpY2F0ZSBsaWIvYmxrZGV2LmMgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmVkZWNsYXJlIGRhZGRyX3QgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gdXNlIGlvY3RscyBmcm9tIGxpYi9ibGtkZXYuYyAgW0thcmVsIFpha10KK3BnOgorICAgLSBhZGQgZ2V0dGV4dCBjYWxsIGZvciB0aGUgaGVscCBzdHJpbmcgIFtLYXJlbCBaYWtdCisgICAtIHNldmVyYWwgc3RyaW5ncyB3aXRob3V0IGdldHRleHQgY2FsbHMgIFtQZWRybyBSaWJlaXJvXQorcGl2b3Rfcm9vdDoKKyAgIC0gY2xlYW4gdXAgIFtLYXJlbCBaYWtdCitwbzoKKyAgIC0gYWRkIHpoX0NOLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUmF5IFdhbmddCisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgdXBkYXRlLXBvdGZpbGVzIHNjcmlwdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFBPVEZJTEVTLmluICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFBpc2FyXQorICAgLSB1cGRhdGUgZmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtMYXVyaSBOdXJtaV0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTmljb2xhcyBQcm92b3N0XQorICAgLSB1cGRhdGUgaWQucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtBcmlmIEUuIE51Z3JvaG9dCisgICAtIHVwZGF0ZSBqYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01ha290byBLYXRvXQorICAgLSB1cGRhdGUgbGlzdCBvZiAuYyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG5sLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSB2aS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0NseXRpZSBTaWRkYWxsXQorcmF3OgorICAgLSBhZGQgTkxTIHN1cHBvcnQgIFtQZWRybyBSaWJlaXJvXQorICAgLSBkZWZhdWx0IHRvIC9kZXYvcmF3L3Jhd2N0bCAgW0thcmVsIFpha10KK3JkZXY6CisgICAtIGNsZWFudXAgaW5jbHVkZXMgIFtLYXJlbCBaYWtdCityZWFkcHJvZmlsZToKKyAgIC0gc2V2ZXJhbCBzdHJpbmdzIHdpdGhvdXQgZ2V0dGV4dCBjYWxscyAgW1BlZHJvIFJpYmVpcm9dCityZW5pY2U6CisgICAtIGFkZCAtbiBvcHRpb24gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBQT1NJWCAgW0thcmVsIFpha10KK3J0Y3dha2U6CisgICAtIGFkZCBtaXNpbmcgLlJFIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIGV4cGxhaW4gc3VwcG9ydGVkIG1vZGVzIGluIHJ0Y3dha2UuOCAgW0thcmVsIFpha10KKyAgIC0gcHJlZmVyIFJUQ19XS0FMTV9TRVQgb3ZlciBSVENfQUxNX1NFVCAgW0dhYnJpZWwgQnVydF0KKyAgIC0gc3VwcG9ydCBub3Qgc3VzcGVuZGluZyAgW01hcmNvIGQnSXRyaV0KK3NjcmlwdDoKKyAgIC0gZG9uJ3QgZmx1c2ggaW5wdXQgd2hlbiBzdGFydGluZyBzY3JpcHQgIFtBbmRyZXcgTWNHaWxsXQorc2NyaXB0cmVwbGF5OgorICAgLSBuZXcgaW1wbGVtZW50YXRpb24gaXMgb3V0LW9mLXN5bmMgIFtLYXJlbCBaYWtdCitzZWxpbnV4OgorICAgLSBpc19zZWxpbnV4X2VuYWJsZWQoKSByZXR1cm5zIDAsIDEgYW5kIC0xICBbS2FyZWwgWmFrXQorc2V0dGVybToKKyAgIC0gZml4IC1ibGFuayBtYW4gcGFnZSAgW0thcmVsIFpha10KK3NmZGlzazoKKyAgIC0gZml4IENvbXBpbGF0aW9uIEVycm9yICBbQ0FJIFFpYW5dCisgICAtIGZpeCBwb3NzaWJsZSBidWZmZXIgb3ZlcmZsb3cgIFtLYXJlbCBaYWtdCisgICAtIHByaW50IHZlcnNpb24gc2hvdWxkIGVuZCB3aXRoIGEgbmV3bGluZSAgW0RlbmlzIENoZW5nUnFdCitzaW1tcGxlaW5pdDoKKyAgIC0gZml4IGdjYyB3YXJuaW5nIChidWZmZXIgc2l6ZSBpbiByZWFkKCkpICBbS2FyZWwgWmFrXQorc2ltcGxlaW5pdDoKKyAgIC0gY2xlYW51cCBnZXR0ZXh0IGNhbGxzLCB1c2Ugc25wcmludGYoKSAgW0thcmVsIFpha10KK3N3YXBvbjoKKyAgIC0gLWEgaGFzIHRvIGNvbXBsYWluLCBmaXggbGVha3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtZi8tLWZpeHBnc3ogb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXJyb3IgbWVzc2FnZXMgZm9yIGxzZWVrIGFuZCB3cml0ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgc3dhcF9nZXRfaGVhZGVyKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzd2FwIGZvcm1hdCBkZXRlY3Rpb24gYW5kIHBhZ2VzaXplIGNoZWNrICBbTWF0dGhpYXMgS29lbmlnLCBPbGFmIEhlcmluZ10KKyAgIC0gY2xlYW51cCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZG9fc3dhcG9uKCkgcmVmYWN0b3JpbmcgKG1vdmUgc3RhdCgpIGNoZWNrcykgIFtLYXJlbCBaYWtdCisgICAtIGRvX3N3YXBvbigpIHJlZmFjdG9yaW5nIChzcGxpdCBpbnRvIHR3byBmdW5jdGlvbnMpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBzL3dhcm4vd2FybngvICBbS2FyZWwgWmFrXQorICAgLSBmaXggd29yZGluZyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBTV1NVU1BFTkQgc2lnbmF0dXJlIHJhdGhlciB0aGFuIGV4ZWMgbWtzd2FwICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBzcGVjIHRvIGRldm5hbWUgY29udmVyc2lvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVyci5oIHN0dWZmICBbS2FyZWwgWmFrXQordGFpbGY6CisgICAtIHVuaXN0ZC5oIGlzIGluY2x1ZGVkIG1vcmUgdGhhbiBvbmNlICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCAiYnl0ZS1vcmRlciIgdG8gaGVscGVycy90ZXN0X3N5c2luZm8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAuL3J1bi5zaCA8Y29tcG9uZW50PiAgW0thcmVsIFpha10KKyAgIC0gYWRkIE1ENSByZWdyZXNzaW9uIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmc2NrIGlzbW91bnRlZCByZWcudGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYmJsa2lkIHJlZ3Jlc3Npb24gdGVzdHMgKGltYWdlcyBmcm9tIGUyZnNwcm9ncykgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsc2NwdSgxKSB0ZXN0IGZvciBmdWxsdmlydC4gWGVuIHg4Nl82NCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxzY3B1KDEpIHRlc3QgZm9yIHBhcmF2aXJ0LiBYZW4gaTM4NiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1kNSByZWdyZXNzaW9uIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtay1sc2NwdS1pbnB1dC5zaCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHN1YmRpcnMgdG8gYmFzaWMgdGVzdCBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBzdWJ0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN3YWJOKCkgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBhbHNvIGZvciAvZGV2L2xvb3AvWCAgW0thcmVsIFpha10KKyAgIC0gY2htb2QgLXggdHMvbHNjcHUvbWstaW5wdXQuc2ggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHRoZSB0ZXN0aW5nIHNjcmlwdHMgIFtBbcOpcmljbyBXYW5nXQorICAgLSBjbGVhbnVwIGxzY3B1IHJlZy50ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9iaXRvcHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvY2FsIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvY29sIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvY3JhbWZzL2ZzY2stZW5kaWFubmVzcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9jcmFtZnMvbWtmcy1lbmRpYW5uZXNzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHRzL2h3Y2xvY2sgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvaXBjcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9sb2dpbiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9sb29rICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHRzL21kNSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9taW5peCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9tb3VudCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9uYW1laSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9wYXRocyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0cy9zY3JpcHQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHMvc3dhcG9uICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgZXhwZWN0ZWQvJChjb21wb25lbnQpLyQodGVzdG5hbWUpICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgc3ViZGlycyBmb3IgdGVzdCBzY3JpcHRzICBbS2FyZWwgWmFrXQorICAgLSBkZXRlY3QgbGlidm9sdW1lX2lkIHdoZW4gbW91bnQoOCkgaXMgY29tcGlsZWQgIFtLYXJlbCBaYWtdCisgICAtIGRpc2FibGUgYmxraWQgdGVzdHMgd2hlbiBibGtpZCg4KSBpcyBub3QgY29tcGlsZWQgIFtLYXJlbCBaYWtdCisgICAtIGRpc2FibGUgc3VpZCBtb3VudCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggLXJlZ2V4IGluIHJ1bi5zaCAgW0thcmVsIFpha10KKyAgIC0gZml4IFRTXyogcGF0aHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmaWxlIG5hbWUgaXMgdG9vIGxvbmcgKG1heCA5OSkgLSBndGFyICBbS2FyZWwgWmFrXQorICAgLSBmaXggb3V0cHV0IHN0cmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHRoZSBmaW5hbCBtZXNzYWdlIGZvciBzdWJ0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gaW4gbG93LXByb2JlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIGxzY3B1IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgc29tZSBnZW5lcmljIHN0dWZmIGZyb20gdHNfaW5pdCgpIHRvIGEgbmV3IHRzX2luaXRfZW52KCkgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggTWFrZWZpbGUuYW0gKGFkZCBtaXNzaW5nIGxzY3B1IHRlc3RzKSAgW0thcmVsIFpha10KKyAgIC0gcmVmcmVzaCBhbmQgY2xlYW51cCBjcmFtZnMvbWtmcyAgW3Jvb3RdCisgICAtIHJlZnJlc2ggY2FsKDEpIGV4cGVjdGVkIG91dHB1dHMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggZXhwZWN0ZWQgbW91bnQoOCkgb3V0cHV0cyAgW0thcmVsIFpha10KKyAgIC0gcmVmcmVzaCBpcGNzIGV4cGVjdGVkIG91dHB1dHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBpbnB1dCBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBzdHVmZiBmcm9tIE1ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5leHBlY3RlZCBleGl0IGZyb20gKl9zdWJ0ZXN0IGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgcmV0dXJuIHZhbHVlIGNoZWNrcyBpbiB0ZXN0aW5nIHNjcmlwdHMgIFtBbcOpcmljbyBXYW5nXQorICAgLSB1cGRhdGUgbmFtZWkgcmVnLnRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHdlIG5lZWRuJ3QgYmxraWQuc2ggIFtLYXJlbCBaYWtdCit0b29sczoKKyAgIC0gYWRkIGNoZWNrY29uZmlnIHRvIHRvcC1sZXZlbCBNYWtlZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNoZWNraW5jbHVkZXMucGwgKGZyb20gbGludXgga2VybmVsKSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGNvZGVjaGVjay1jb25maWcgdG8gY2hlY2tjb25maWcuc2ggIFtLYXJlbCBaYWtdCit1bW91bnQ6CisgICAtIGNoZWNrIGZvciBvdmVybGFpZCBtb3VudHMgIFtHdWFuIFhpbl0KKyAgIC0gY2xlYW51cCBnZWZzX2J5X3NwZWNkaXIoKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAiLWQiIG9wdGlvbiBmb3IgYXV0b2NsZWFyIGxvb3BzICBbS2FyZWwgWmFrXQorICAgLSBubyBjaGVja2luZyBtb3VudCBwb2ludCByZW1vdmFsICBbR3VhbiBYaW5dCit3aGVyZWlzOgorICAgLSBpbmNsdWRlIGRpcmVudC5oIGluc3RlYWQgc3lzL2Rpci5oICBbbWF4aW1pbGlhbiBhdHRlbXNdCit3cml0ZToKKyAgIC0gZG9lc24ndCBjaGVjayBmb3IgdHR5IGdyb3VwICBbS2FyZWwgWmFrXQorCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE2LVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTYtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjZDI5ODQKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE2LVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDE4MiBAQAorCitVdGlsLWxpbnV4LW5nIDIuMTYgUmVsZWFzZSBOb3RlcyAoMTUtSnVsLTIwMDkpCis9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK2xpYnV1aWQsIHV1aWRnZW4oMSkgYW5kIHV1aWRkKDgpOgorICAtIHRoZSBsaWJ1dWlkIGxpYnJhcnkgaGFzIGJlZW4gbW92ZWQgZnJvbSBlMmZzcHJvZ3MgdG8gdXRpbC1saW51eC1uZworCitzd2l0Y2hfcm9vdDoKKyAgLSB0aGlzIE5FVyBDT01NQU5EIGFsbG93cyB0byBzd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290CisgICAgb2YgdGhlIG1vdW50IHRyZWUuCisKK21vdW50LCB1bW91bnQsIGZzY2s6CisgIC0gRE9FUyBOT1QgU1VQUE9SVCBsaW5raW5nIGFnYWluc3Qgb2Jzb2xldGUgbGlidm9sdW1lX2lkIChmcm9tIHVkZXYpCisKK2xpYmJsa2lkOgorICAtIGRldmVsb3BtZW50IGZpbGVzICguc28sIC5hLCAuLi4pIGhhdmUgYmVlbiBtb3ZlZCBmcm9tIC9saWIgdG8gL3Vzci9saWIuCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMTUgYW5kIHYyLjE2CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eC1uZyAyLjE1LjEgWzEwLUp1bi0yMDA5XQorCisgKiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE1L3YyLjE1LjEtUmVsZWFzZU5vdGVzCisgICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE1L3YyLjE1LjEtQ2hhbmdlTG9nCisKKworQ2hhbmdlTG9nIGJldHdlZW4gdjIuMTUgYW5kIHYyLjE2CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIENoYW5nZUxvZyBmaWxlcyBhdDoKKyBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2LworCisKK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZGlzYWJsZS1saWJibGtpZCwgcmVtb3ZlIHZvbHVtZV9pZCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLXN3aXRjaF9yb290ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLXRscyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS11dWlkZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVUSUxfe1NFVCxSRVNUT1JFfV9GTEFHUyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIG9wZW5hdCgpIGFuZCBsaW51eCBmb3Igc3dpdGNoX3Jvb3QgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbGlidXVpZCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gY29tcGxldGUgL2xpYnMgdG8gL3NobGlicyByZW5hbWUgIFtLYXJlbCBaYWtdCisgICAtIGVuYWJsZSBmc2NrIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAibWFrZSAtQyIgYnVnICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS1kaXNhYmxlLXV1aWRkICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWQuaCBpbmNsdWRlIGZvciBvbGQgZTJmc3Byb2dzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZXhlYy9kYXRhIGluc3RhbGwgaG9va3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBoZWFkZXJzIGluIG1rc3dhcCBhbmQgbGliYmxraWQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsaWJ1dWlkIE1ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGlidXVpZCBhbmQgbGliYmxraWQgdmVyc2lvbi1pbmZvICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBmcm9tIDMwNjg4ZGRlNTVmNjM3YzliOTg0ODA5YzY4NWI2MTM3OGI4MjgwNWYgIFtSb2JlcnQgRsO2cnN0ZXJdCisgICAtIGltcHJvdmUgJGxpYmRpcm5hbWUgZGVmaW5pdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzeW1saW5rcyBjcmVhdGlvbiBpbiBzaGxpYnMvICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjE2LXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMTYtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIC9saWJzIHRvIC9zaGxpYnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSB0byBfZXhlY2RpciAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJzZSBzaGxpYnMgaW5zdGFsbGF0aW9uICBbS2F5IFNpZXZlcnNdCitidWlsZHN5czoKKyAgIC0gbW92ZSAkdXNye2JpbixzYmluLGxpYn1leGVjZGlyIGRlZmluaXRpb24gdG8gLi9jb25maWd1cmUgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIEhpZ2hsaWdodCB0b2RheSBldmVuIHdoZW4gbW9udGggb3IgeWVhciBzcGVjaWZpZWQgIFtSYWplZXYgVi4gUGlsbGFpXQorICAgLSB1Q2xpYmMgaGFzIGxhbmdpbmZvLmggYnV0IG5vdCBfTkxfVElNRV9XRUVLXzFTVERBWS4gIFtUb20gUHJpbmNlXQorY2hydDoKKyAgIC0gZG9uJ3QgYXNzdW1lIFNDSEVEX0JBVENIIGFuZCBTQ0hFRF9JRExFIGV4aXN0ICBbQXVyZWxpZW4gSmFybm9dCitkb2NzOgorICAgLSBhZGQgbWlzc2luZyBjb21tYW5kcy9wcm9qZWN0cyB0byBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2Mi4xNiBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggVE9ETyBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZXhhbXBsZS5maWxlcy9yY1subG9jYWxdICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgaW5mb3JtYXRpb24gZnJvbSBmc3RhYiBleGFtcGxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMTYgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMTYtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorZmRpc2s6CisgICAtIChhbmQgY2ZkaXNrKSBmaXggdG8gYmUgY29uc2lzdGVudCBhYm91dCBtYXhpbXVtIGhlYWRzICBbQ2hyaXMgV2ViYl0KKyAgIC0gYWRkIHNpbXBsZSB0ZXN0IGZvciBkb3NsYWJlbCBzdHVmZiAgW1pkZW5layBCZWhhbl0KK2h3Y2xvY2s6CisgICAtIGZpeCBtaXNtYXRjaGVkIHBvcGVuL2ZjbG9zZS4gIFtKb2huIEtlZXBpbmddCitpbmNsdWRlOgorICAgLSBjbGVhbiB1cCBfUEFUSF9ERVZfKiBtYWNyb3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBfUEFUSF9ERVYgIFtLYXJlbCBaYWtdCitpb25pY2U6CisgICAtIEFsbG93IHNldHRpbmcgdGhlIG5vbmUgY2xhc3MgIFtKYWtvYiBVbnRlcnd1cnphY2hlcl0KK2xkYXR0YWNoOgorICAgLSBhZGQgTl9QUFMgc3VwcG9ydCAgW1RpbG1hbiBTY2htaWR0XQorbGliYmxraWQ6CisgICAtIGFkZCBkZXZpY2UtbWFwcGVyIHNuYXBzaG90IGNvdyBkZXZpY2UgcHJvYmUgIFtNaWxhbiBCcm96XQorICAgLSBhZGQgaW5zdGFsbC1ob29rIGZvciBsaWJ1dWlkLlthLHNvXSBkZXZlbCBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0ZGFyZy5oIHRvIGJsa2lkUC5oICBbS2FyZWwgWmFrXQorICAgLSBibGtpZF9kb19zYWZlcHJvYmUoKSBoYXMgdG8gYmUgdG9sZXJhbnQgdG8gUkFJRHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZGVidWcgbWVzc2FnZXMgYW5kIHJldHVybiBjb2RlcyBpbiBibGtpZF9kb19wcm9iZSgpICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCByZXF1aXJlIHVkZXYgc3ltbGlua3MgdmVyaWZpY2F0aW9uIGZvciBub24tcm9vdCB1c2VycyAgW0thcmVsIFpha10KKyAgIC0gZml4ICJoYW5ncyBmb3JldmVyIHdpdGggcGFydGl0aW9uIHR5cGUgbWRyYWlkIiAgW0thcmVsIFpha10KKyAgIC0gZml4ICNpZmRlZnMgcmVhZGFiaWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAkbGliZGlyIGluIGJsa2lkLnBjICBbS2FyZWwgWmFrXQorICAgLSBmaXggTFZNMSBwcm9iZSAgW01pbGFuIEJyb3pdCisgICAtIGZpeCByZWlzZXJmcyBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGxpYnV1aWQgb3B0aW9uYWwgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdG8gbWlzYy11dGlscy8gZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitsaWJ1dWlkOgorICAgLSBhZGQgLS1kaXNhYmxlLWxpYnV1aWQgYW5kIExJQlVVSURfVkVSU0lPTiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC5naXRpZ25vcmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBpbmZvIGFib3V0IHUtbC1uZyB0byBtYW4gcGFnZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBpbnN0YWxsLWhvb2sgZm9yIGxpYnV1aWQuW2Esc29dIGRldmVsIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBEb24ndCBydW4gdXVpZGQgaWYgaXQgd291bGQgZmFpbCBkdWUgdG8gcGVybWlzc2lvbiBwcm9ibGVtcyAgW1RoZW9kb3JlIFRzJ29dCisgICAtIGZpeCAkbGliZGlyIGluIHV1aWQucGMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwYXJhbGxlbCBidWlsZGluZyAgW0thcmVsIFpha10KKyAgIC0gZ2VuZXJhdGUgdXVpZF9nZW5lcmF0ZV97cmFuZG9tLHRpbWV9LjMgbWFuIHBhZ2UgbGlua3MgW0thcmVsIFpha10KKyAgIC0gaW1wb3J0IFVVSUQgbGlicmFyeSBmcm9tIGUyZnNwcm9ncyAgW0thcmVsIFpha10KKyAgIC0gTWFrZSBzdXJlIGZkJ3MgMCwgMSwgYW5kIDIgYXJlIHZhbGlkIGJlZm9yZSBleGVjJ2luZyB1dWlkZCAgW1RoZW9kb3JlIFRzJ29dCisgICAtIG1vdmUgY2xvY2sgc3RhdGUgZmlsZSBmcm9tIC92YXIvbGliIHRvIC92YXIvcnVuICBbS2FyZWwgWmFrXQorbGlidXVpZCwgdXVpZGQ6CisgICAtIEF2b2lkIGluZmluaXRlIGxvb3Agd2hpbGUgcmVhZGluZyBmcm9tIHRoZSBzb2NrZXQgZmQgIFtUaGVvZG9yZSBUcydvXQorbG9zZXR1cDoKKyAgIC0gYWRkIC0tc2V0LWNhcGFjaXR5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmV0dXJuIGNvZGVzIG9mIGZ1bmN0aW9ucyBhcm91bmYgaXNfYXNzb2NpYXRlZCgpICBbS2FyZWwgWmFrXQorICAgLSBoYW5kbGUgc3ltbGlua3MgaW4gL2Rldi9sb29wLyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBzdWdnZXN0IHRvIHVzZSBtb2Rwcm9iZSByYXRoZXIgdGhhbiBpbnNtb2QgaW4gbG9zZXR1cC44ICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGZpeCBjcHVpZCBjb2RlIG9uIHg4Ni9QSUMgIFtNaWtlIEZyeXNpbmdlcl0KK21vdW50OgorICAgLSAoYW5kIGZzY2spIHJlbW92ZSBsaWJ2b2x1bWVfaWQgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYSBsaXR0bGUgY2xlYW4gdXAgaW5mbyBhYm91dCBsb29wZGV2cyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGV4dDQgdG8gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGV4dDQgdG8gdGhlIGxpc3Qgb2YgZmlsZXN5c3RlbXMgaW4gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGluZm8gYWJvdXQgb2Jzb2xldGUgdmZhdCBvcHRpb25zIHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IGxvb3Agc3VpZCB1bW91bnQgIFtLYXkgU2lldmVyc10KKyAgIC0gY2xlYW51cCBub3RlcyBhYm91dCAtbCBvcHRpb24gaW4gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gZml4IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYHNlY3VyaXR5X2dldF9pbml0aWFsX2NvbnRleHQnICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIE1TX3tQUk9QQUdBVElPTixCSU5ELE1PVkV9IGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlICJub25lIiBmc3R5cGUgZm9yIE1TX1BST1BBR0FUSU9OIG1vdW50cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIFRBRyBwYXJzaW5nIGZ1bmN0aW9uIGZyb20gbGliYmxraWQgIFtLYXJlbCBaYWtdCisgICAtIHdoZW4gYSByZW1vdW50IHRvIHJ3IGZhaWxzLCBxdWl0IGFuZCByZXR1cm4gYW4gZXJyb3IgIFtWYWxlcmllIEF1cm9yYV0KK3BvOgorICAgLSBmaXggdHlwbyBpbiBGcmVuY2ggdHJhbnNsYXRpb24gIFtPbGl2aWVyIEJsaW5dCisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggUE9URklMRVMuaW4gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUGlzYXJdCisgICAtIHVwZGF0ZSBmaS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0xhdXJpIE51cm1pXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtOaWNvbGFzIFByb3Zvc3RdCisgICAtIHVwZGF0ZSB2aS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0NseXRpZSBTaWRkYWxsXQorcmF3OgorICAgLSBVc2UgdGhlIFJBV19TRVRCSU5EIGlvY3RsIHdpdGhvdXQgc3RhdCdpbmcgdGhlIHJhdyMgZmlsZSAgW0plZmYgTWFob25leV0KKyAgIC0gdW5kZXByZWNhdGUgcmF3ICBbS2FyZWwgWmFrXQorc3dpdGNoX3Jvb3Q6CisgICAtIGFkZCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1YnJvb3Qgc3VwcG9ydCAgW0RhbmllbCBEcmFrZV0KKyAgIC0gY2xlYW4gdXAgYXJndltdIHVzYWdlLCBhZGQgLWggYW5kIC1WICBbS2FyZWwgWmFrXQorICAgLSBkbyByZWN1cnNpdmVSZW1vdmUgYWZ0ZXIgb3VyIHJvb3QgaXMgbW92ZWQgdG8gYXZvaWQgcmFjZXMuICBbUGV0ZXIgSm9uZXNdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGZvcmsgYmVmb3JlIGNsZWFuaW5nIHVwIHRoZSBmaWxlc3lzdGVtLiAgW1BldGVyIEpvbmVzXQorICAgLSBuZXcgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSB0byB1c2UgZnN0YXRhdCgpIGFuZCB1bmxpbmthdCgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJyLmgsIGNsZWFuIHVwIHJldHVybiBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZpbGUgZGVzY3JpcHRvciBpbnN0ZWFkIG9mIHBhdGggZm9yIHJlY3Vyc2l2ZVJlbW92ZSgpICBbUGV0ZXIgSm9uZXNdCisgICAtIHVzZSBzbnByaW50ZigpIHJhdGhlciB0YW4gc3Rye2NweSxjYXR9KCkgIFtLYXJlbCBaYWtdCit0ZXN0czoKKyAgIC0gYWRkIGZ1bmN0aW9ucyBmb3Igd29yayB3aXRoZGlzayBpbWFnZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtZHJhaWQgbGliYmxraWQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcnVuIHNvbWUgbW91bnQgdGVzdHMgZm9yIG5vbi1yb290IHVzZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggJ2RlbGV0ZSBleHRlbmRlZCBwYXJ0aXRpb24nIGNoZWNrc3VtICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVpc2VyZnMgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IHNjcmlwdCB0aGF0IGNyZWF0ZXMgbHNjcHUgZHVtcHMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgbHNjcHUgL3Byb2MgYW5kIC9zeXMgZHVtcHMgdG8gdGFyYmFsbHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBicm9rZW4gWGVuIGR1bXBzIGZvciBsc2NwdSAgW0thcmVsIFpha10KK3Vtb3VudDoKKyAgIC0gY2xlYW4gdXAgaGVscCBvdXRwdXQgIFtLYXJlbCBaYWtdCit1dWlkZDoKKyAgIC0gQXZvaWQgY2xvc2luZyB0aGUgc2VydmVyIHNvY2tldCB3aGVuIGNhbGxpbmcgY3JlYXRlX2RhZW1vbigpICBbVGhlb2RvcmUgVHMnb10KKyAgIC0gZml4ICRQSURGSUxFIGluIHV1aWRkLnJjICBbS2FyZWwgWmFrXQorICAgLSBpbml0IC92YXIvcnVuL3V1aWRkLCBhZGQgb3B0aW9uIGZvciBvbi1kZW1hbmQgbW9kZSB0byAucmMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB1dWlkZCBmaWxlcyBmcm9tIC92YXIvbGliL2xpYnV1aWQgdG8gL3Zhci9ydW4vdXVpZGQgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdXVpZGQucmMgdG8gbWlzYy11dGlscyBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCisgICAtIG5ldyBjb21tYW5kIChVVUlEIGRhZW1vbiBmcm9tIGUyZnNwcm9ncykgIFtLYXJlbCBaYWtdCit1dWlkZ2VuOgorICAgLSBuZXcgY29tbWFuZCAoZnJvbSBlMmZzcHJvZ3MpICBbS2FyZWwgWmFrXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNy1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE3LVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OTg4YjRmCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNy1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSw1MjYgQEAKK1V0aWwtbGludXgtbmcgMi4xNyBSZWxlYXNlIE5vdGVzICgwOC1KYW4tMjAxMCkKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworUmVsZWFzZSBoaWdobGlnaHRzCistLS0tLS0tLS0tLS0tLS0tLS0KKworZmFsbG9jYXRlOgorICAtIHRoaXMgTkVXIENPTU1BTkQgaXMgYSBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIGZhbGxvY2F0ZSAKKyAgICBMaW51eCBzeXNjYWxsIGFuZCBhbGxvd3MgdG8gcHJlYWxsb2NhdGUgYmxvY2tzIHRvIGEgZmlsZS4KKwordW5zaGFyZQorICAtIHRoaXMgTkVXIENPTU1BTkQgaXMgYSBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIHVuc2hhcmUgTGludXggc3lzY2FsbCAKKyAgICBhbmQgYWxsb3dzIHRvIHJ1biBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gcGFyZW50LgorCit3aXBlZnMKKyAgLSB0aGlzIE5FVyBDT01NQU5EIGlzIGJhc2VkIG9uIGxpYmJsa2lkIGFuZCBhbGxvd3MgdG8gcmVtb3ZlIGZpbGVzeXN0ZW0KKyAgICBvciBSQUlEIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4KKworbGliYmxraWQ6CisgIC0gbGliYmxraWQgYWxsb3dzIHRvIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2UgdG9wb2xvZ3ksCisgICAgY3VycmVudGx5IHN1cHBvcnRlZCBtZXRob2RzIGFyZToKKworICAgICAgKiBpb2N0bCAtIHN1cHBvcnRlZCBzaW5jZSBrZXJuZWwgMi42LjMyCisgICAgICAqIHN5c2ZzIC0gc3VwcG9ydGVkIHNpbmNlIGtlcm5lbCAyLjYuMzEKKyAgICAgICogZmFsbGJhY2sgZm9yIERNLCBNRCwgTFZNIGFuZCBFVk1TIG9uIG9sZCBrZXJuZWxzIChiYXNlIG9uIGNvZGUgCisgICAgICAgIGZyb20geGZzcHJvZ3MvbGliZGlzaykKKworICAgIFRoZSB0b3BvbG9neSBzdXBwb3J0IGlzIG1vc3RseSBkZXNpZ25lZCBmb3IgbWtmcyBwcm9ncmFtcyBvciBwYXJ0aXRpb25pbmcKKyAgICB0b29scyAoYWxyZWFkeSB1c2VkIGluIG1rZnMueGZzLCBta2V4MmZzLCBsaWJwYXJ0ZWQgYW5kIGZkaXNrKQorICAgIAorICAtIGxpYmJsa2lkIHN1cHBvcnRzIHBhcnRpdGlvbiB0YWJsZXMgcGFyc2luZyAoY3VycmVudGx5IHN1cHBvcnRlZCBhcmUKKyAgICBhaXgsIGJzZCwgZG9zLCBtYWMsIGdwdCwgbWluaXgsIHNnaSwgc29sYXJpcywgc3VuIGFuZCB1bml4d2FyZSkuIFRoaXMgCisgICAgZnVuY3Rpb25hbGl0eSBpcyBkZXNpZ25lZCBmb3IgbWtmcyBwcm9ncmFtcywgRGV2aWNlS2l0cywgW2tdcGFydHggb3Igc28uCisKKyAgLSBsaWJibGtpZCBBUEkgZG9jdW1lbnRhdGlvbiBpcyBhdmFpbGFibGUgYXQKKyAgICBodHRwOi8vZnRwLmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvbGliYmxraWQtZG9jcy8KKworYmxvY2tkZXY6CisgICAtIHN1cHBvcnRzIGFsbCBuZXcgdG9wb2xvZ3kgaW9jdGxzCisKK2ZkaXNrOgorICAgLSB0aGUgZmRpc2sgY29tbWFuZCBhbGlnbnMgbmV3bHkgY3JlYXRlZCBwYXJ0aXRpb25zIHRvIG1pbmltdW1faW9fc2l6ZQorICAgICBib3VuZGFyeSAoIm1pbmltdW1faW9fc2l6ZSIgaXMgcGh5c2ljYWwgc2VjdG9yIHNpemUgb3Igc3RyaXBlIGNodW5rCisgICAgIHNpemUgb24gUkFJRHMpLgorCisgICAtIHRoZSBmZGlzayBjb21tYW5kIHN1cHBvcnRzIGRpc2tzIHdpdGggYWxpZ25tZW50X29mZnNldCBub3cuCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMTYgYW5kIHYyLjE3CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eC1uZyAyLjE2LjEgWzA3LVNlcC0yMDA5XQorCisgKiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2L3YyLjE2LjEtUmVsZWFzZU5vdGVzCisgICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2L3YyLjE2LjEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNi4yIFszMC1Ob3YtMjAwOV0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNi92Mi4xNi4yLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNi92Mi4xNi4yLUNoYW5nZUxvZworCisKK0NoYW5nZUxvZyBiZXR3ZWVuIHYyLjE2IGFuZCB2Mi4xNworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy8KKworYWRkcGFydDoKKyAgIC0gYWRkcGFydC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorYmxraWQ6CisgICAtIGFkZCBJRF9GU19BTUJJVkFMRU5UIGZvciB1ZGV2IG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHByZXR0eSBvdXRwdXQsIGRvY3VtZW50IC1MIGluY29tcGF0aWJpbGl0eSB3aXRoIGUyZnNwcm9ncyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gdXNlIC1zIDxUQUc+IGZvciBsb3ctbGV2ZWwgcHJvYmluZyAoLXAgbW9kZSkgIFtLYXJlbCBaYWtdCitibG9ja2RldjoKKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHVpbnQgYW5kIHVzaG9ydCBpb2N0bHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0b3BvbG9neSBpb2N0bHMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYmxvY2tkZXYuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gZml4IHRvcG9sb2d5IGlvY3RscyAgW0thcmVsIFpha10KKyAgIC0gcmVmYWN0b3JpbmcgKGJldHRlciBjb21tYW5kcyBkZWZpbml0aW9uKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGMuaCAgW0thcmVsIFpha10KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZGlzYWJsZS1tYWtlaW5zdGFsbC1zZXR1aWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBIQVZFX0xJQkJMS0lEX0lOVEVSTkFMICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgcGtnLWNvbmZpZyBiZWZvcmUgZ3RrLWRvYyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIHVuaW9uIHNlbXVuIGluc3RlYWQgb2YgdXNpbmcgX1NFTV9TRU1VTl9VTkRFRklORUQgIFtHdWlsbGVtIEpvdmVyXQorICAgLSBjbGVhbiB1cCBndGstZG9jIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBndGstZG9jIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIC0tZGlzYWJsZS17ZmFsbG9jYXRlLHBpdm90X3Jvb3QsdW5zaGFyZX0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQU1fQ0ZMQUdTIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHN0YXRpYyBidWlsZGluZyAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IGlmIGNvbnN0IGlzIGF2YWlsYWJsZSAgW0d1aWxsZW0gSm92ZXJdCisgICAtIGRldGVjdCBpZiB2b2xhdGlsZSBpcyBhdmFpbGFibGUgIFtHdWlsbGVtIEpvdmVyXQorICAgLSBkb24ndCBkaXN0cmlidXRlIGdlbmVyYXRlZCAqLnBjIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBkaXN0cmlidXRlIGdlbmVyYXRlZCBibGtpZC5oICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgc2lsZW50IHJ1bGVzIGlmIGF1dG9tYWtlID49IDEuMTEgIFtHdWlsbGVtIEpvdmVyXQorICAgLSBmaXggKG9mZmljaWFsKSBndGstZG9jLm1ha2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBCVUlMRF9QSVZPVF9ST09UIGNvbmRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkIENGTEFHUyBpbiBmZGlzay9NYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gZml4IG91dC1vZi1zb3VyY2UgYnVpbGQgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMTctcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4xNy1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjE3LXJjMykgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBMVF9TVEFUSUNfTERGTEFHUyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGd0a2RvY2l6ZSBmcm9tIGF1dG9nZW4uc2ggIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSAtLXdpdGgtZnNwcm9iZSBmcm9tIGRpc3RjaGVjayBmbGFncyAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBUTFMgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBjYWwuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gZml4IChoYXJtbGVzcykgdHlwbyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIGZpeCBicm9rZW4gY29tcHV0YXRpb24gZm9yIFNlcCAxNzUyICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIDxsb2NhbGVpbmZvLmg+IGluY2x1ZGUgIFtHdWlsbGVtIEpvdmVyXQorICAgLSB1c2UgYy5oICBbS2FyZWwgWmFrXQorY2ZkaXNrOgorICAgLSBjZmRpc2suOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gbW9yZSBrZXkgYWx0ZXJuYXRpdmVzICBbSmFuIFNhcmVuaWtdCitjaGZuOgorICAgLSBjaGZuLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitjaHJ0OgorICAgLSB1c2UgYy5oICBbS2FyZWwgWmFrXQorY2hzaDoKKyAgIC0gY2hzaC4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorY3RybGFsdGRlbDoKKyAgIC0gY3RybGFsdGRlbC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorY3l0dW5lOgorICAgLSBjeXR1bmUuOCBtaXNzaW5nIGRlc2NyaXB0aW9uIG9mIGAtUycsIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorZGRhdGU6CisgICAtIGRkYXRlLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitkZWxwYXJ0OgorICAgLSBkZWxwYXJ0LjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitkbWVzZzoKKyAgIC0gYWRkIC1yIHRvIGhlbHAgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBkbWVzZy4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBmaXggdHlwbyBpbiBtYW4gcGFnZSAgW0tlbiBLb3Bpbl0KK2RvY3M6CisgICAtIFJFQURNRSB3aWR0aCBhbmQgbGFuZ3VhZ2UgY29ycmVjdGlvbiAgW0phbiBTYXJlbmlrXQorICAgLSBhZGQgJ3Vuc2hhcmUnIGFuZCAnd2lwZWZzJyB0byBBVVRIT1JTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTEdQTHYyKyB0byBsaXN0IG9mIGxpY2Vuc2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmdldHRleHQoKSBpbnRvIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHYyLjE3IFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlICJUaGUgUGVyZmVjdCBQYXRjaCIgVVJMICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gbGlzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjE3IFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2VsdnR1bmU6CisgICAtIGVsdnR1bmUuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK2ZhbGxvY2F0ZToKKyAgIC0gY2hlY2sgZm9yIEVSQU5HRSBlcnJvcnMgIFtLYXJlbCBaYWtdCisgICAtIG5ldyBjb21tYW5kICBbS2FyZWwgWmFrLCBFcmljIFNhbmRlZW5dCitmZGZvcm1hdDoKKyAgIC0gZmRmb3JtYXQuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gZml4IG1lbW9yeSBsZWFrIGluIHZlcmlmeV9kaXNrKCkgIFtDcmlzdGlhbiBSb2Ryw61ndWV6XQorZmRpc2s6CisgICAtIGFkZCBiYXNpYyByb3V0aW5lcyBmb3IgTEJBIGFsaWdubWVudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZ3Jlc3Npb24gdGVzdCBsaXN0aW5nIGVtcHR5L25vbnNlbnNlIGltYWdlcyAgW1pkZW5layBCZWhhbl0KKyAgIC0gYWxpZ24gZW5kIG9mIHBhcnRpdGlvbiB3aGVuIGRlZmluZWQgYnkgK3NpemV7SyxNLEd9ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgcGFydGl0aW9uIGJvdW5kYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBmZGlzay44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBmaXggc3RyaWN0LWFsaWFzaW5nIGJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIG9mZmVyIGFsaWduZWQgZmlyc3Qgc2VjdG9yICBbS2FyZWwgWmFrXQorICAgLSBwcmludCBpbmZvIGFuZCByZWNvbW1lbmRhdGlvbnMgYWJvdXQgYWxpZ25tZW50ICBbS2FyZWwgWmFrXQorICAgLSByZWFkIHRvcG9sb2d5IGluZm8gZnJvbSBsaWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gc2dpIGxhYmVsIC0gcmVtb3ZlIGR1cGxpY2F0ZSBzd2FiMTZzd2FiWzE2LDMyXSgpIGRlZmluaXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBzbGVlcC1hZnRlci1zeW5jIGFuZCBmc3luYyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGMuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1pbmltYWxfaW9fc2l6ZSBmb3IgdGhlIGZpcnN0IHBhcnRpdGlvbiAgW0thcmVsIFpha10KK2ZpbmRmczoKKyAgIC0gZml4IHR5cG8gaW4gZmluZGZzLjggIFtLYXJlbCBaYWtdCitmbG9jazoKKyAgIC0gZml4IGhhbmcgd2hlbiBwYXJlbnQgaWdub3JlcyBTSUdDSExEICBbTWlrZSBGcnlzaW5nZXJdCitmc2NrOgorICAgLSBkb2N1bWVudCBmc2NrIGJlaGF2aW9yIHdydCBub2ZhaWwgb3B0aW9uIGFuZCBmc3R5cGUgJ2F1dG8nICBbTHVkd2lnIE51c3NlbF0KKyAgIC0gZnNjay44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBob25vciBub2ZhaWwgb3B0aW9uIGluIGZzY2sgIFtMdWR3aWcgTnVzc2VsXQorZnNjay5taW5peDoKKyAgIC0gZml4IGJyb2tlbiB6b25lIGNoZWNraW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3RyaWN0LWFsaWFzaW5nIGJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIGZzY2subWluaXguOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK2ZzdGFiOgorICAgLSBmc3RhYi41IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorZ2V0b3B0OgorICAgLSBnZXRvcHQuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK2hleGR1bXA6CisgICAtIGJ1ZyBpbiBoZXhkdW1wIHdoZW4gb2Zmc2V0ID09IGZpbGUgbGVuZ3RoICBbQW3DqXJpY28gV2FuZ10KKyAgIC0gaGV4ZHVtcC4xIGVycm9uZW91cyAuTm0gIiIgIFtQZXRlciBCcmVpdGVubG9obmVyXQoraHdjbG9jazoKKyAgIC0gZG8gbm90IGFjY2VzcyBoYXJkd2FyZSBjbG9jayB3aGVuIHVzaW5nIC0tc3lzdHogIFtTY290dCBKYW1lcyBSZW1uYW50XQorICAgLSBod2Nsb2NrLjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHNldCBrZXJuZWwgdGltZXpvbmUgd2l0aCAtLXN5c3R6IC0tdXRjICBbU2NvdHQgSmFtZXMgUmVtbmFudF0KKyAgIC0gdXNlIGMuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRpbWUgbGltaXQgZm9yIEtER0hXQ0xLIGJ1c3kgd2FpdCAgW0thcmVsIFpha10KK2luY2x1ZGU6CisgICAtIGFkZCBjLmggd2l0aCBmdW5kYW1lbnRhbCBDIGRlZmluaXRpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYy5oIGluIGNhbm9uaWNhbGl6ZS5oICBbS2FyZWwgWmFrXQoraW5pdGN0bDoKKyAgIC0gZml4IHN0cmljdC1hbGlhc2luZyBidWdzICBbS2FyZWwgWmFrXQorICAgLSBpbml0Y3RsLjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitpb25pY2U6CisgICAtIGFkZCBhIG5vdGUgYWJvdXQgbm9uZSBjbGFzcyBhbmQgQ0ZRICBbS2FyZWwgWmFrXQorICAgLSBpb25pY2UuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK2lwY21rOgorICAgLSBpcGNtay4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQoraXBjcm06CisgICAtIGlwY3JtLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitpcGNzOgorICAgLSBpcGNzLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBfX0dMSUJDX18gaW5zdGVhZCBvZiBvYnNvbGV0ZSBfX0dOVV9MSUJSQVJZX18gIFtHdWlsbGVtIEpvdmVyXQoraXNvc2l6ZToKKyAgIC0gaXNvc2l6ZS44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQora2lsbDoKKyAgIC0ga2lsbC4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSB1c2UgYy5oICBbS2FyZWwgWmFrXQorbGFzdDoKKyAgIC0gZml4IHV0bXAudXRfdGltZSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gbGFzdC4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorbGRhdHRhY2g6CisgICAtIGxkYXR0YWNoLjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBjLmggIFtLYXJlbCBaYWtdCitsaWI6CisgICAtIGFkZCBhIGdlbmVyaWMgY3JjMzIoKSAgW0thcmVsIFpha10KKyAgIC0gYnVnICh0eXBvKSBpbiBmdW5jdGlvbiBNRDVGaW5hbCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmlsZSBkZXNjcmlwdG9yIGxlYWsgaW4gaXNfbW91bnRlZCgpICBbVGhlb2RvcmUgVHMnb10KKyAgIC0gZml4IGxpYi9NYWtlZmlsZS5hbSAocmVtb3ZlIHB0dHlwZS5jKSAgW0thcmVsIFpha10KKyAgIC0gaW1wb3J0IHdob2xlIGlzbW91bnRlZC5jIGNvZGUgZnJvbSBlMmZzcHJvZ3MgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBwdHR5cGUuYyAgW0thcmVsIFpha10KK2xpYmJsa2lkOgorICAgLSBEUkJEIHN1cHBvcnQgZm9yIGJsa2lkICBbQmFzdGlhbiBGcmllZHJpY2hdCisgICAtIGFkZCAqLmtvLmd6IHN1cHBvcnQgdG8gbW9kdWxlcy5kZXAgcGFyc2VyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQUlYIHBhcnRpdGlvbnMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJMS0lEX1NVQkxLU18qIGZsYWdzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQkxLSURfe1ZFUlNJT04sREFURX0gdG8gYmxraWQuaCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJTRCBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBETSB0b3BvbG9neSBzdXBwb3J0IChmb3Igb2xkIGtlcm5lbHMpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgRUZJIEdQVCBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBFVk1TIHRvcG9sb2d5IHN1cHBvcnQgKGZvciBvbGQga2VybmVscykgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMVk0gdG9wb2xvZ3kgc3VwcG9ydCAoZm9yIG9sZCBrZXJuZWxzKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIE1BQyBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBNRCB0b3BvbG9neSBzdXBwb3J0IChmb3Igb2xkIGtlcm5lbHMpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTUlOSVggcGFydGl0aW9ucyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTVMtRE9TIHBhcnRpdGlvbnMgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFNHSSBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTT0xBUklTLVg4NiBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTVU4gcGFydGl0aW9ucyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVUJJIHZvbHVtZSBzdXBwb3J0ICBbQ29yZW50aW4gQ2hhcnldCisgICAtIGFkZCBVQklGUyBzdXBwb3J0ICBbQ29yZW50aW4gQ2hhcnldCisgICAtIGFkZCBVTklYV0FSRSBwYXJ0aXRpb25zIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhIHByb2JlIGZvciBiZnMgIFtDaHJpc3RvcGggSGVsbHdpZ10KKyAgIC0gYWRkIGJsa2lkX2Rldm5vX3RvX3dob2xlZGlzaygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfZHJpdmVyX2hhc19tYWpvcigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZV9zdHJpbmcoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX3Byb2JlX2dldF97c2l6ZSxzZWN0b3JzaXplLGRldm5vfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2l0X1t1bl1yZWYoKSB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2hhaW4gc3RydWN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyBmb3IgY2hhaW4gdGFncyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZmlsdGVyIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZnVuY3Rpb24gZm9yIGJpbmFyeSBkYXRhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgY29tbWVudHMgdG8gcHJvYmUuYyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgcGFja2VkIGF0dHJpYnV0ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBta2ZzIHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgVVVJRF9TVUIsIGluY3JlbWVudCBudW1iZXIgb2Ygc3VwZXJibG9jayB2YWx1ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXJ0aXRpb25zIGZpbHRlciByb3V0aW5lcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhcnRpdGlvbnMgcGFyc2luZyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydGl0aW9ucyBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwcml2YXRlIGJsa2lkX3RvcG9sb2d5X3NldF8qKCkgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2FtcGxlcy90b3BvbG9neS5jICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2VjdG9yIHNpemUgZnVuY3MgdG8gYmxraWQuaC5pbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cGVyYmxvY2tzIGNoYWluICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwZXJibG9ja3MgZmlsdGVyIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cGVyYmxvY2tzLmMgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgU0JNQUdJQyBhbmQgU0JNQUdJQ19PRkZTRVQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBWTUZTIChWTXdhcmUgRmlsZSBTeXN0ZW0pICBbTWlrZSBIb21tZXldCisgICAtIGFkZCBzdXBwb3J0IGZvciB0b3BvbG9neSBpb2N0bHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IGNhc2VzIGZvciBWTUZTICBbTWlrZSBIb21tZXldCisgICAtIGFkZCB0b3BvbG9neSBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyBsaW5raW5nIHdpdGggdUNsaWJjICBbRGFuaWVsIE1pZXJzd2FdCisgICAtIGFsbG93IHRvIGNoYW5nZSBkaW1lbnNpb24gb2YgcHJvYmluZyBhcmVhICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byByZWFkIGluIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93cyBtb3JlIHByb2JpbmcgbWV0aG9kcyBmb3IgdG9wb2xvZ3kgY2hhaW4gIFtLYXJlbCBaYWtdCisgICAtIGFubm91bmNlIEpvbGlldCBleHRlbnNpb24gIFtNYXhpbSBMZXZpdHNreV0KKyAgIC0gY2xlYW51cCBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdG9wb2xvZ3kgZmFsbGJhY2sgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgR1BUIHBhcnRpdGlvbiBMQkEgdG8gNTEyLWJ5dGUgc2VjdG9ycyAgW0thcmVsIFpha10KKyAgIC0gY29zbWV0aWMgY2hhbmdlIGluIHRvcG9sb2d5IHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gY3JlYXRlIGEgZ2VuZXJpYyBibGtpZF9lbmNvZGVfdG9fdXRmOCgpICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgYSBnZW5lcmljIGJsa2lkX3VucGFyc2VfdXVpZCgpICBbS2FyZWwgWmFrXQorICAgLSBkb2VzIG5vdCByZXR1cm4gdXNlbGVzcyBiaW5hcnkgZGF0YSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmV0dXJuIGVtcHR5IExBQkVMcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc2NhbiBwcml2YXRlIC9kZXYvLnVkZXYgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggQWRhcHRlYyBSQUlEIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IEZBTFNFIGRlZmluaXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBGQVQgc3VwZXIgYmxvY2sgZGVmaW5pdGlvbiAgW0xhd3JlbmNlIFJ1c3RdCisgICAtIGZpeCBOVEZTIG5vbi1BU0NJSSBsYWJlbHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBVRlMgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9kb19wcm9iZSgpIHRvIHdvcmsgcHJvcGVybHkgd2l0aCBjaGFpbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9mc3RhdGF0KCkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwoKSBjYWxsIGZvciBKb2xpZXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBidWZmZXIgb3ZlcmZsb3cgaW4gYmxraWRfZW5jb2RlX3N0cmluZygpICBbRmxvcmlhbiBadW1iaWVobF0KKyAgIC0gZml4IGNhY2hlLT5wcm9iZSBtZW1vcnkgbGVhayAgW0thcmVsIFpha10KKyAgIC0gZml4IGV4dDIgZGV0ZWN0aW9uIG9uIHN5c3RlbXMgd2l0aCBleHQ0IG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBnY2Mgd2FybmluZyAod2Fybl91bnVzZWRfcmVzdWx0KSAgW0thcmVsIFpha10KKyAgIC0gZml4IGhpZ2hwb2ludDM3eCBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub24tbWFnaWMgRkFUIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHByb2JpbmcgZm9yIGJpbmFyeSBpbnRlcmZhY2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZWdmYXVsdCBpbiBibGtpZF9kb19wcm9iZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGhlIGRlZmF1bHQgY2FjaGUgZmlsZSBwYXRoICBbS2FyZWwgWmFrXQorICAgLSBmaXggdG9wb2xvZ3kgaW5mb3JtYXRpb24gdmFsdWVzICBbRXJpYyBTYW5kZWVuXQorICAgLSBmaXggdHlwbyAoc3dzdXBlbmQgLT4gc3dzdXNwZW5kKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gcy9IaWhnL0hpZ2gvICBbSmltIE1leWVyaW5nXQorICAgLSBmaXggd2FybmluZyBtZXNzYWdlIGluIG1rZnMgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBndGtkb2NpemUgKEFQSSBkb2NzIGdlbmVyYXRlZCBieSBndGstZG9jcykgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNoYW5nZXMgdG8gZG0gdG9wb2xvZ3kgY29kZSAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgY2hhbmdlcyB0byBzYW1wbGVzICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBmaXggaW4gdG9wb2xvZ3kgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIEZTL3JhaWQgc3R1ZmYgdG8gc3VwZXJibG9ja3MgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGJsa2lkX2tub3duX2ZzdHlwZSgpIHRvIHN1cGVyYmxvY2tzLmMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZmlsdGVyIG1hY3JvcyB0byBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gcHJlZmVyIElTTzk2NjAgUFZEIExhYmVsIHRvIEpvbGlldCBMYWJlbCAgW0thcmVsIFpha10KKyAgIC0gcHJvcGVybHkgcmVzZXQgcG9zaXRpb24gaW4gcHJvYmluZyBjaGFpbnMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggYmxraWQue2gsc3ltfSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgc3VwZXJibG9jayBmdW5jdGlvbnMgZnJvbSBwcm9iZS5jICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgaGlnaHBvaW50IFJBSURzIHRvIGhwdHszNyw0NX14X3JhaWRfbWVtYmVyICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gZmlyc3QgZGV0ZWN0ZWQgY3J5cHRvIGRldmljZSAgW1Njb3R0IEphbWVzIFJlbW5hbnRdCisgICAtIHRvcG9sb2d5IC0gYWRkIGxvZ2ljYWwgYW5kIHBoeXNpY2FsIHNlY3RvciBzaXplICBbS2FyZWwgWmFrXQorICAgLSB0b3BvbG9neSAtIGlnbm9yZSBub24tYmxvY2tkZXZzICBbS2FyZWwgWmFrXQorICAgLSB0cmltIHRhaWxpbmcgd2hpdGVzcGFjZSBmcm9tIHVuaWNvZGUgTEFCRUxzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZG9jcy8uZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgQkxLU1NaR0VUIGZvciBHUFQgc2VjdG9ycyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKCkgaW4gZG9jcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGMuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGMuaCBpbiBzYW1wbGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY2hhaW5zIGluIGJsa2lkX2RvX3tzYWZlLGZ1bGwsfV9wcm9iZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY2hhaW5zIGluIHByb2JlciAoZGUpaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmc3RhdGF0KCksIGltcHJvdmUgcmVhZGRpcigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcHJpdmF0ZSB7bG9va3VwLGdldH1fdmFsdWUgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3VwZXJibG9jayBmaWx0ZXIgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3VwZXJibG9ja3MuaCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRoZSBuZXcgQVBJIGluIHdob2xlIHUtbC1uZyAgW0thcmVsIFpha10KK2xpYnV1aWQ6CisgICAtIHJlbW92ZSAuVUUgbWFjcm8gZnJvbSBsaWJ1dWlkIG1hbiBwYWdlcy4gIFtNaWxhbiBCcm96XQorbGluZToKKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQgI2lkZW50IGRpcmVjdGl2ZSAgW0thcmVsIFpha10KK2xvc2V0dXA6CisgICAtIGxvc2V0dXAuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gcmVtb3ZlIHVudXNlZCBtYWNybyAgW0thcmVsIFpha10KK2xzY3B1OgorICAgLSBhZGQgezMyLDY0fS1iaXQgQ1BVIG1vZGVzIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbHNjcHUuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21jb29raWU6CisgICAtIG1jb29raWUuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21lc2c6CisgICAtIG1lc2cuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21rZnM6CisgICAtIG1rZnMuOCBpbmNvbXBsZXRlIHNlbnRlbmNlIGFuZCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21rZnMuYmZzOgorICAgLSBta2ZzLmJmcy44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorbWtmcy5jcmFtZnM6CisgICAtIGZpeCBnY2Mgd2FybmluZyAoaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZSkgIFtLYXJlbCBaYWtdCitta2ZzLm1pbml4OgorICAgLSBmaXggc3RyaWN0LWFsaWFzaW5nIGJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIG1rZnMubWluaXguOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK21rc3dhcDoKKyAgIC0gZml4IG1lbW9yeSBsZWFrcywgY2xlYW51cCBjaGVja19ibG9ja3MoKSAgW0thcmVsIFpha10KKyAgIC0gbWtzd2FwLjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHJlc3RvcmUgZGV2aWNlIGFyZ3VtZW50IGluIG1rc3dhcC44IHN5bm9wc2lzICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KKyAgIC0gdW5icmVhayAtYyAoImNoZWNrIikgb3B0aW9uLiAgW1BldGVyIERlIFdhY2h0ZXJdCisgICAtIHVzZSBsaWJibGtpZCB0byBkZXRlY3QgUFQgIFtLYXJlbCBaYWtdCittb3JlOgorICAgLSBsaW1pdGVkIGxpbmUgYnVmZmVyIGxlbmd0aCByZXN1bHRzIGluIGNvcnJ1cHRlZCBVVEYtOCB0ZXh0ICBbS2FyZWwgWmFrXQorICAgLSBtb3JlLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCittb3VudDoKKyAgIC0gYWRkIC0tbm8tY2Fub25pY2FsaXplIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGEgbm90ZSBhYm91dCAvZGV2L2Rpc2svYnktKiB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYSBub3RlIGFib3V0IGJpbmQtZGlyIHJlbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCBleHR7Myw0fSBiYXJyaWVycyB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzcXVhc2hmcyB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdWJpZnMgdG8gdGhlIG1vdW50LjggbWFuIHBhZ2UgIFtTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yXQorICAgLSBhbmQgbGliYmxraWQgIGNvdmVydCAvZGV2L2RtLU4gdG8gL2Rldi9tYXBwZXIvPG5hbWU+ICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgLS1tb3ZlIGRlc2NyaXB0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgdW5zdWNjZXNzZnVsIHJlYWQtb25seSBiaW5kIG1vdW50cyAgW0thcmVsIFpha10KKyAgIC0gZGlzYWJsZSAtLW5vLWNhbm9uaWNhbGl6ZSBmb3Igbm9uLXJvb3QgdXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIGRvY3VtZW50IGNoYW5nZWQgc2VtYW50aWNzIG9mIHRtcGZzIHNpemUgb3B0aW9uIGluIG1vdW50LjggIFtrZXZpbi5ncmFuYWRlQGdtYWlsLmNvbV0KKyAgIC0gZml4IG1vdW50LjgsIHhmcyBhdHRyMiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZWZlcmVuY2UgdG8gc2FtYmEtY2xpZW50IGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIG1lbnRpb24gbXRhYiBmb3Igc2luZ2xlIG1vdW50IHBvaW50IG1vdW50IGluIG1vdW50LjggIFtQZXRlciBWb2xrb3ZdCisgICAtIG1vcmUgZXhwbGljaXRseSBleHBsYWluICdzdHJpY3RhdGltZScgaW4gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gbW9yZSB2ZXJib3NlICJtb3VudCAgb25seSByb290IGNhbiBkbyB0aGF0IiBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBtb3VudC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBtb3ZlIGluZm8gYWJvdXQgZGV2aWNlcyB0byB0aGUgdG9wIG9mIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaXN0IG9mIHBzZXVkbyBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBiZXR0ZXIgbW91bnQgcG9pbnRzIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IGFsb25lIHN5bWxpbmsgZXZhbHVhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZ2F0ZXIgaW5mb3JtYXRpb24gYWJvdXQgLyAocm9vdCkgIFtLYXJlbCBaYWtdCisgICAtIG5hbWVpLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBjLmggIFtLYXJlbCBaYWtdCituZXdncnA6CisgICAtIG5ld2dycC4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSB1c2UgYy5oLCByZW1vdmUgdGFpbGluZyB3aGl0ZXNwYWNlICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIHBhcnR4LjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBjLmggIFtLYXJlbCBaYWtdCisgICAtIHdvcmsgcHJvcGVybHkgd2l0aCA1MTIgc2VjdG9ycyAoZG9zIFBUKSAgW0thcmVsIFpha10KK3BnOgorICAgLSBjb21tYW5kIGVudGVycyBpbmZpbml0ZSBsb29wICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBOTFMgZGlzYWJsZWQgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSBwZy4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorcGl2b3Rfcm9vdDoKKyAgIC0gcGl2b3Rfcm9vdC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorcG86CisgICAtIGZpeCBncmFtbWFyIGdsaXRjaCBpbiBnZXJtYW4gdHJhbnNsYXRpb24gIFtIZW5kcmlrIEzDtm5uZ3Jlbl0KKyAgIC0gZml4IG1zZ2lkIGJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBQT1RGSUxFUy5pbiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQaXNhcl0KKyAgIC0gdXBkYXRlIGV1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWlrZWwgT2xhc2FnYXN0aSBVcmFuZ2FdCisgICAtIHVwZGF0ZSBldS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01pa2VsIE9sYXNhZ2FzdGldCisgICAtIHVwZGF0ZSBmaS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0xhdXJpIE51cm1pXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtOaWNvbGFzIFByb3Zvc3RdCisgICAtIHVwZGF0ZSBpZC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FyaWYgRS4gTnVncm9ob10KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWFrb3RvIEthdG9dCisgICAtIHVwZGF0ZSBwbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pha3ViIEJvZ3Vzel0KKyAgIC0gdXBkYXRlIHBvL1BPVEZJTEVTLmluICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbHl0aWUgU2lkZGFsbF0KKyAgIC0gdXBkYXRlIHpoX0NOLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUmF5IFdhbmddCityZGV2OgorICAgLSByZGV2LjggZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCityZWFkcHJvZmlsZToKKyAgIC0gcmVhZHByb2ZpbGUuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3JlbmFtZToKKyAgIC0gcmVuYW1lLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCityZW5pY2U6CisgICAtIHJlbmljZS4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorcmVzZXQ6CisgICAtIHJlc2V0LjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitydGN3YWtlOgorICAgLSBhZGQgUzUgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIHRoZSB0bV9pc2RzdCBmaWVsZCByZXR1cm5lZCBmcm9tIHRoZSBSVEMgIFtQYXVsIEZveF0KKyAgIC0gcnRjd2FrZS44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorc2NyaXB0cmVwbGF5OgorICAgLSBmaXggdHlwbyBpbiBlcnJvciBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBzY3JpcHRyZXBsYXkuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3NldGFyY2g6CisgICAtIHNldGFyY2guOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3NldHNpZDoKKyAgIC0gc2V0c2lkLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCitzZXR0ZXJtOgorICAgLSBzZXR0ZXJtLjEgZm9ybWF0dGluZyAgW1BldGVyIEJyZWl0ZW5sb2huZXJdCisgICAtIHVzZSBjLmgsIHJlbW92ZSB0YWlsaW5nIHdoaXRlc3BhY2UgIFtLYXJlbCBaYWtdCitzZmRpc2s6CisgICAtIGNvbmZ1c2VkIGFib3V0IGRpc2sgc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gZHVtcCBoYXMgdG8gYmUgJExBTkcgaW5zZW5zaXRpdmUgIFtLYXJlbCBaYWtdCisgICAtIHNmZGlzay44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorICAgLSB1c2UgYy5oLCByZW1vdmUgb2Jzb2xldGUgI2lmZGVmcyAgW0thcmVsIFpha10KK3NodXRkb3duOgorICAgLSBzaHV0ZG93bi44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorc2ltcGxlaW5pdDoKKyAgIC0gc2ltcGxlaW5pdC44IGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQorc3dhcG9uOgorICAgLSBmaXggdHlwbyBvbiBzd2Fwb24uOCBtYW5wYWdlICBbRmxvcmVudGluIER1bmVhdV0KKyAgIC0gaGFuZGxlIDw9bGludXgtMi42LjE5IGJ1ZyBpbiAvcHJvYy9zd2FwcyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBtb3JlIHJvYnVzdCBwcm9nbmFtZSBwcm9iaW5nICBbS2FyZWwgWmFrXQorICAgLSBzd2Fwb24uOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3N3aXRjaF9yb290OgorICAgLSBhZGQgbm90ZSBhYm91dCBzdWJyb290cyB0byBzd2l0Y2hfcm9vdC44ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgVElPQ1NDVFRZIGFuZCBzZXRzaWQoKSAgW0thcmVsIFpha10KKyAgIC0gc3dpdGNoX3Jvb3QuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3RhaWxmOgorICAgLSBmaXggcHJpbnRmIGZvcm1hdCAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSByZXBvcnQgaW5vdGlmeV9hZGRfd2F0Y2goKSBwcm9ibGVtcyAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBhZGQgQkZTIGxpYmJsa2lkIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIE5URlMgYmxraWQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVCSUZTIHRlc3QgaW1hZ2UgdG8gYmxraWQgdGVzdCBzdWl0ZSAgW0NvcmVudGluIENoYXJ5XQorICAgLSBhZGQgVUZTIHRlc3QgaW1hZ2UgZm9yIGxpYmJsa2lkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVklBIFJBSUQgdGVzdCBpbWFnZSBmb3IgbGliYmxraWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhZGFwdGVjIFJBSUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkIHJlZ3Jlc3Npb24gdGVzdHMgZm9yIElTTzk2NjAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBocHQzN3ggUkFJRCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaHB0NDV4IFJBSUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGlzdyBSQUlEIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBqbWljcm9uIFJBSUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxzaSBSQUlEIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBudmlkaWEgUkFJRCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydGl0aW9ucyBwcm9iaW5nIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwcm9taXNlIFJBSUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNpbGljb24gUkFJRCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmZGlzayBkb3NsYWJlbCB0ZXN0IGFsc28gY2hlY2tzIGNoYW5naW5nIHBhcnRpdGlvbiB0eXBlICBbWmRlbmVrIEJlaGFuXQorICAgLSBmZGlzayBkb3NsYWJlbCB0ZXN0IGFsc28gY2hlY2tzIHNldHRpbmcgcGFydGl0aW9uIGFjdGl2ZSAgW1pkZW5layBCZWhhbl0KKyAgIC0gcmVmcmVzaCBHUFQgcmVncmVzc2lvbiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIGxzY3B1IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdm9sX2lkIGZyb20gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBibGtpZC9pbWFnZXMgdG8gYmxraWQvaW1hZ2VzLWZzICBbS2FyZWwgWmFrXQorICAgLSBzd2Fwb24gd29ya2Fyb3VuZCBmb3IgbGlidG9vbCB3cmFwcGVyICBbS2FyZWwgWmFrXQorICAgLSB0ZXN0IGZvciBiYXNpYyBmdW5jdGlvbmFsaXR5IG9mIHN1biBsYWJlbHMgIFtaZGVuZWsgQmVoYW5dCisgICAtIHVwZGF0ZSBmc2NrLmlzbW91bnRlZCB0ZXN0ICBbS2FyZWwgWmFrXQordHVuZWxwOgorICAgLSB0dW5lbHAuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3VsOgorICAgLSB1bC4xIGVycm9uZW91cyAuU0ggaW5zdGVhZCBvZiAuU2ggIFtQZXRlciBCcmVpdGVubG9obmVyXQordW1vdW50OgorICAgLSBhZGQgLS1uby1jYW5vbmljYWxpemUgIFtLYXJlbCBaYWtdCisgICAtIHVtb3VudC44IGNvbW1hbmQgbGluZSBmb3IgdW1vdW50IGhlbHBlcnMsIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQordW5zaGFyZToKKyAgIC0gbmV3IGNvbW1hbmQgIFtNaWtoYWlsIEd1c2Fyb3ZdCit1dWlkZDoKKyAgIC0gdXVpZGQuOCBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3V1aWRnZW46CisgICAtIHV1aWRnZW4uMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KK3ZpcHc6CisgICAtIHZpcHcuOCByZW1vdmUgZXJyb25lb3VzIGVtcHR5IGxpbmUsIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQord2hlcmVpczoKKyAgIC0gd2hlcmVpcy4xIGZvcm1hdHRpbmcgIFtQZXRlciBCcmVpdGVubG9obmVyXQord2lwZWZzOgorICAgLSBmaXggY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnQgIFtLYXJlbCBaYWtdCit3cml0ZToKKyAgIC0gd3JpdGUuMSBmb3JtYXR0aW5nICBbUGV0ZXIgQnJlaXRlbmxvaG5lcl0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTgtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xOC1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhhMzFkNAotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTgtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNDY4IEBACitVdGlsLWxpbnV4LW5nIDIuMTggUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIHV0aWwtbGludXgtbmcgcGFja2FnZSBkb2VzIG5vdCBjb250YWluIHJkZXYoOCksIHJhbXNpemUoOCksIAordmlkbW9kZSg4KSBhbmQgcm9vdGZsYWdzKDgpIGFueW1vcmUuIAorCitUaGUgZmRpc2soOCkgY29tbWFuZCBkb2VzIG5vdCB1c2UgRE9TLWNvbXBhdGlibGUgbW9kZSBhbmQgY3lsaW5kZXJzIGFzIGRpc3BsYXkKK3VuaXRzIGJ5IGRlZmF1bHQuIFRoZSBvbGQgZGVwcmVjYXRlZCBET1MgYmVoYXZpb3IgY291bGQgYmUgZW5hYmxlZCBieSAnYycgYW5kCisndScgZmRpc2sgY29tbWFuZHMgb3IgZnJvbSBjb21tYW5kIGxpbmUgYnkgJy1jPWRvcyAtdT1jeWxpbmRlcnMnIG9wdGlvbnMuCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK2xpYm1vdW50OgorICAtIHRoaXMgTkVXIExJQlJBUlkgaXMgZGVzaWduZWQgdG8gYmUgdXNlZCBpbiBsb3ctbGV2ZWwgdXRpbHMgbGlrZQorICAgIG1vdW50KDgpIGFuZCAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVycyBhcyB3ZWxsIGFzIGluIHNvbWUgb3RoZXIKKyAgICBwcm9qZWN0cy4KKworICAtIHRoZSBsaWJyYXJ5IEFQSSBpcyBzdGlsbCBvZmZpY2lhbGx5IHVuc3RhYmxlLiBUaGUgbGlicmFyeSBwcm92aWRlcworICAgIGZzdGFiLCBtdGFiIGFuZCBtb3VudGluZm8gcGFyc2VyLCByb3V0aW5lcyBmb3Igd29yayB3aXRoIHBhcnNlZCAKKyAgICBkYXRhIGFuZCBtb3VudCBvcHRpb25zLCBtdGFiIGxvY2tpbmcsIGV0Yy4gVGhlIGhpZ2gtbGV2ZWwgQVBJIGZvciAKKyAgICBtb3VudCgyKSBpcyBwbGFubmVkIGZvciB0aGUgbmV4dCBtYWpvciByZWxlYXNlLiBGb3IgbW9yZSBkZXRhaWxzIHNlZToKKyAgICBodHRwOi8vdGhyZWFkLmdtYW5lLm9yZy9nbWFuZS5saW51eC51dGlsaXRpZXMudXRpbC1saW51eC8zMjM5CisKKyAgLSB0aGUgdXRpbHMgbGlrZSBtb3VudCg4KSBvciB1bW91bnQoOCkgYXJlIG5vdCBsaW5rZWQgd2l0aCB0aGUgbGlicmFyeQorICAgIHlldC4gVGhpcyBjaGFuZ2UgaXMgcGxhbm5lZCBmb3IgdXRpbC1saW51eC1uZy0yLjE5LgorCitmaW5kbW50KDgpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgaXMgYSBjb21tYW5kIGxpbmUgaW50ZXJmYWNlIHRvIHRoZSBsaWJtb3VudCBsaWJyYXJ5IAorICAgIGZvciB3b3JrIHdpdGggbW91bnRpbmZvLCBmc3RhYiBhbmQgbXRhYiBmaWxlcworCitmc2ZyZWV6ZSg4KToKKyAgIC0gdGhpcyBORVcgQ09NTUFORCBpcyB2ZXJ5IHNpbXBsZSB3cmFwcGVyIGFyb3VuZCBGSUZSRUVaRS9GSVRIQVcgaW9jdGxzCisKK3N3YXBsYWJlbCg4KToKKyAgIC0gdGhpcyBORVcgQ09NTUFORCBhbGxvd3MgdG8gY2hhbmdlIHN3YXBhcmVhIFVVSUQgYW5kIGxhYmVsCisKK2Jsa2lkKDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItaSIgdG8gcHJpbnQgSS9PIExpbWl0cworCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1uIiB0byByZXN0cmljdCBwcm9iaW5nIGZ1bmN0aW9ucyB0byAKKyAgICBkZWZpbmVkIGxpc3Qgb2Ygc3VwZXJibG9jayB0eXBlcyAobmFtZXMpLgorCisgIC0gcmV0dXJucyBkZXRhaWxzIGZyb20gcGFydGl0aW9uIHRhYmxlICh0eXBlLCBmbGFncywgdXVpZCwgLi4uKQorCitjaHJ0KDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItUi8tLXJlc2V0LW9uLWZvcmsiIHRvIGVuYWJsZSAKKyAgICBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZsYWcKKworZmRpc2soOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1jIiB0byBzd2l0Y2ggb2ZmIERPUyBtb2RlCisgIC0gdXNlcyAxTWlCIG9mZnNldCBmb3IgdGhlIGZpcnN0IHBhcnRpdGlvbgorICAgIChhbGwgdGhlc2UgY2hhbmdlcyBhcmUgYWxyZWFkeSBpbiB0aGUgcmVsZWFzZSAyLjE3LjIpCisKK2h3Y2xvY2soOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tcHJlZGljdCIgdG8gcHJlZGljdCB3aGF0IHRoZSBSVEMgd2lsbCAKKyAgICByZWFkIGF0IHRpbWUgZ2l2ZW4gYnkgdGhlIC0tZGF0ZSBvcHRpb24gYmFzZWQgb24gdGhlIGFkanRpbWUgZmlsZS4KKworbGRhdHRhY2goOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1pLy0taWZsYWciIHRvIHNldHMgdGhlIHNwZWNpZmllZCBiaXRzIAorICAgIGluIHRoZSBjX2lmbGFnIHdvcmQgb2YgdGhlIHNlcmlhbCBsaW5lLgorCitmYWxsb2NhdGUoMSksIGxvc2V0dXAoOCkgYW5kIG1vdW50KDgpOgorICAtIHRoZSBvcHRpb25zIC0tb2Zmc2V0LCAtLWxlbmd0aCBvciAtLXNpemVsaW1pdCBzdXBwb3J0IHN1ZmZpeGVzCisgICAgKE1pQiwgR2lCLCAuLi4pIGFuZCBoZXggbnVtYmVycworCit1bW91bnQoOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tZmFrZSIgdG8gYXZvaWQgdW1vdW50KDIpIHN5c2NhbGwKKworCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4xNyBhbmQgdjIuMTgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4LW5nIDIuMTcuMSBbMjItRmViLTIwMTBdCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTcvdjIuMTcuMS1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTcvdjIuMTcuMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE3LjIgWzIyLU1hci0yMDEwXQorCisgKiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE3L3YyLjE3LjItUmVsZWFzZU5vdGVzCisgICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE3L3YyLjE3LjItQ2hhbmdlTG9nCisKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjE3IGFuZCB2Mi4xOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTgvCisKK2FkZHBhcnQ6CisgICAtIHVzZSBhdG9sbCgpIGZvciBwYXJzaW5nIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgIFtUaG9tYXMgRmVocl0KK2Jsa2lkOgorICAgLSBhZGQgXG4gdG8gdGhlICItbyB1ZGV2IiBvdXRwdXQgd2hlbiBwcm9iZSBtb3JlIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAnZXhwb3J0JyBvdXRwdXQgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLWkgb3B0aW9uIHRvIHByaW50IEkvTyBsaW1pdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtbiA8bGlzdD4gb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3bGluZSB3aGVuIG9ubHkgb25lIHZhbHVlIGlzIHByaW50ZWQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgLXUgPGxpc3Q+IHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGVuY29kZSBQQVJUX0VOVFJZX1RZUEUgIFtLYXJlbCBaYWtdCisgICAtIGV4cG9ydCBJRF9QQVJUX0VOVFJZXyogdmFyaWFibGVzIGZvciB1ZGV2ICBbS2FyZWwgWmFrXQorICAgLSBmaXggI2lmZGVmIEhBVkVfVEVSTUlPW1NdX0ggIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBSQUlEcyBhbmQgdGlueSBkZXZpY2VzIHByb2JpbmcgIFtLYXJlbCBaYWtdCisgICAtIHByb2JlIGZvciBQVCwgZG9uJ3QgcHJvYmUgZm9yIEZTIG9uIHNtYWxsIHdob2xlLWRpc2tzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgX0VOQyBmcm9tIElEX1BBUlRfRU5UUllfe05BTUUsVFlQRX0gdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIG9wdGlvbiBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSByZXBvcnQgb3BlbigpIGVycm9ycyBpbiBsb3ctbGV2ZWwgcHJvYmluZyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBzdWZmaXhlcyBmb3IgLU8gPG9mZnNldD4gYW5kIC1TIDxzaXplPiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlL3VzYWdlKCkgIFtLYXJlbCBaYWtdCitibG9ja2RldjoKKyAgIC0gcmVkdWNlIHVzYWdlIHRleHQgd2lkdGggIFtGcmFuY2VzY28gQ29zb2xldG9dCitidWlsZC1zeXM6CisgICAtIGFkZCBtaXNzaW5nIHRlc3RzIGZvciBsaWJ1dWlkIGFuZCBsaWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBsaWJ7bW91bnQsYmxraWR9IGJ1aWxkaW5nICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlZCBjaGVjayBmb3IgZmFsbG9jYXRlKCkgIFtZYW5uIERyb25lYXVkXQorICAgLSBtaW5vciBjaGFuZ2VzIGZvciBHTlUvSHVyZCAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gcmVsZWFzZSsrICh2Mi4xOC1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjE4LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgI2luY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIC4uLyB3aXRoICR0b3Bfc3JjZGlyICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgaW5jbHVkZS9NYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGluY2x1ZGUvbGlzdC5oICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBmYWN0b3Igb3V0IGFuZCB1cGRhdGUgbXVsdGlieXRlIGFsaWdubWVudCBjb2RlICBbUMOhZHJhaWcgQnJhZHldCisgICAtIGZpeCBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgY2FsY3VsYXRpb24gb24gQkUgc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGluZm8gZnJvbSBtYW4gcGFnZSAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gZml4IHdhcm5pbmcgIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uIOKAmHdjd2lkdGjigJkgIFtLYXJlbCBaYWtdCisgICAtIHNldCAnW05ld10nIGFzIGRlZmF1bHQgaXRlbSBvbiBtZW51IGZvciBub24gYWxsb2NhdGVkIHNwYWNlIGluc3RlYWQgb2YgJ1tIZWxwXScuICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBzZXQgJ1tRdWl0XScgYXMgZGVmYXVsdCBtZW51IGl0ZW0gb24gZmlyc3QgcnVuIGluc3RlYWQgb2YgJ1tCb290YWJsZV0nLiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gc3VwcG9ydCBub24tYXNjaWkgY2hhcmFjdGVycyBpbiBpbnB1dCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYmJsa2lkICBbTWF0dGhpYXMgS8O2bmlnXQorY2hydDoKKyAgIC0gYWRkIC0tcmVzZXQtb24tZm9yayAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tdmVyYm9zZSB0byBtYW4gcGFnZSwgY29ycmVjdCAtViBmb3IgLS12ZXJzaW9uLCBhbHBoYWJldGl6ZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgU0NIRURfUkVTRVRfT05fRk9SSyAgW0FkcmlhbiBLbm90aF0KKyAgIC0gY2hhbmdlIHR3byBtZXNzYWdlcyBpbnRvIGZvdXIgdHJhbnNsYXRhYmxlIHNlbnRlbmNlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzbGljZSBoZWxwIHRleHQgaW50byBtYW5hZ2VhYmxlIGNodW5rcyBmb3IgdHJhbnNsYXRvcnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2RvY3M6CisgICAtIGZpeCB1bW91bnQgLS1mYWtlIG5vdGUgaW4gUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgIFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB0ZXN0cy9SRUFETUUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB2Mi4xOCBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCitmYWxsb2NhdGU6CisgICAtIGNoZWNrIGZvciBudW1iZXIgb2YgYXJndW1lbnRzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHN1ZmZpeGVzIGZvciAtLW9mZnNldCBhbmQgLS1sZW5ndGggIFtLYXJlbCBaYWtdCitmZGlzazoKKyAgIC0gYWRkIC1jIG9wdGlvbiAoc3dpdGNoIG9mZiBET1MgbW9kZSkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgYWxpZ25tZW50LCBkZWZhdWx0IHRvIDFNaUIgb2Zmc2V0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGhlbHAsIGFkZCAtaCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3RseSB0cnVuY2F0ZSBhbmQgYWxpZ24gdHJhbnNsYXRlZCBwYXJ0aXRpb24gbmFtZXMgIFtQw6FkcmFpZyBCcmFkeV0KKyAgIC0gZGlzYWJsZSBET1MgbW9kZSBhbmQgY3lsaW5kZXJzIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNoZWNrIGFsaWdubWVudF9vZmZzZXQgYWdhaW5zdCBnZW9tZXRyeSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaW5jbHVkZSBzY3NpLmggIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSAxTWlCIGdyYWluIG9uIHNtYWxsIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGV4dGVuZCAtYyBhbmQgLXUgb3B0aW9ucyB0byBzdXBwb3J0IG9sZCBET1Mgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGZhbGxiYWNrIGZvciB0b3BvbG9neSB2YWx1ZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAncCcgb3V0cHV0IGZvciBzdW4gbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtYiA8c2VjdG9yc2l6ZT4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBBTElHTl9VUCAgW0thcmVsIFpha10KKyAgIC0gZml4IGNoZWNrX2FsaWdubWVudCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGVmYXVsdCBmaXJzdCBzZWN0b3IgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgJ21vdmUgYmVnaW4gb2YgcGFydGl0aW9uJyBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGFkZCBwYXJ0aXRpb24gZGlhbG9nICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHRoZSBkZXNjcmlwdGlvbiBvZiAtYyBhbmQgLXUgb3B0aW9ucyBvbiBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1vdmUgZXJyb25lb3VzIDxzaXplPiBhcmd1bWVudCBmcm9tIC11IG9wdGlvbiBpbiBoZWxwIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVwbGFjZSBiemVybyB3aXRoIG1lbXNldCAgW0pvbiBSaW5nbGVdCisgICAtIHN3YXAgVlRPQyB2YWx1ZXMgZm9yIHdhcm5pbmcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIHVudGFuZ2xlIHRoZSByZXBvcnRpbmcgb2YgZGVwcmVjYXRlZCBtb2RlIGFuZCB1bml0ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSAib3B0aW1hbCBJL08gc2l6ZSIgaW4gd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAxTWlCIG9mZnNldCBhbmQgZ3JhaW4gYWx3YXlzIHdoZW4gcG9zc2libGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtb3JlIGVsZWdhbnQgd2F5IHRvIGNvdW50IGFuZCBjaGVjayBhbGlnbm1lbnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBvcHRpbWFsX2lvX3NpemUgIFtLYXJlbCBaYWtdCitmaW5kbW50OgorICAgLSBhZGQgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRyZWUgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHtmcyx2ZnN9LW9wdGlvbnMgY29sdW1ucyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc3dhcCBzb3VyY2UgYW5kIHRhcmdldCBmb3IgdGFncyAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgY29kaW5nIHN0eWxlIGZpeGVzICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGZyb20gL3NiaW4gdG8gL2JpbiAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSB0byB1c2UgbGliL3R0LmMgIFtLYXJlbCBaYWtdCisgICAtIHNtYWxsIGNoYW5nZSBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1bmdldHRleHRpemUgdGhlIGRpcmVjdGlvbnMgYW5kIGZpeCBzcGVsbGluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZnNjazoKKyAgIC0gZml4IHR5cG8gaW4gZnNjay44ICBbRnJhbmNlc2NvIENvc29sZXRvXQorZnNjay9ta2ZzL21vdW50OgorICAgLSB1bmlmeSBkZWZhdWx0IHNlYXJjaCBwYXRocyBmb3IgaGVscGVycyAgW01pa2UgRnJ5c2luZ2VyXQorZnNmcmVlemU6CisgICAtIG5ldyBjb21tYW5kICBbSGFqaW1lIFRhaXJhXQorZ2l0OgorICAgLSBpZ25vcmUgaW5kZXggZmlsZXMgZ2VuZXJhdGVkIGJ5IGN0YWdzIGFuZCBjc2NvcGUgIFtQZXRyIFV6ZWxdCitod2Nsb2NrOgorICAgLSBhZGQgLS1wcmVkaWN0IGZvciBwcmVkaWN0aW5nIFJUQyByZWFkaW5nIGF0IGEgZ2l2ZW4gdGltZSAgW1RpbW8gSnVoYW5pIExpbmRmb3JzXQoraW5jbHVkZToKKyAgIC0gYWRkIG1pbi9tYXggbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNobGlicy8uLi4vbGlzdC5oIHRvIHRoZSBpbmNsdWRlLyBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCitpb25pY2U6CisgICAtIGZpeCB0eXBvICBbUGllcnJlIEhhdXdlZWxlXQorICAgLSBub24tY3J5cHRpYyBlcnJvciBtZXNzYWdlIHdoZW4gaW9uaWNlIGNhbid0IGV4ZWN2cCAgW8OGdmFyIEFybmZqw7Zyw7AgQmphcm1hc29uXQoraXBjcm06CisgICAtIHJlbW92ZSByZWR1bmRhbnQgbWVzc2FnZSBpbiBjYXNlIG9mIGludmFsaWQgb3B0aW9uICBbRnJhbmNlc2NvIENvc29sZXRvXQoraXBjczoKKyAgIC0gYWRkIG1pc3NpbmcgIlBJRHMiIHRvIHJlbGF0ZWQgc2hhcmVkIG1lbW9yeSBoZWFkZXIgdGV4dCAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gYWR2aXNlIHRyYW5zbGF0b3JzIGEgZGlmZmVyZW50IG91dHB1dCBmb3JtYXQgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGdldCByaWQgb2YgY29sb25zIGZyb20gaGVhZGVyIHN0cmluZ3MgZm9yIGNvbnNpc3RlbmN5ICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW9yZ2FuaXplIGhlbHAgYW5kIHVzYWdlIHRleHRzICBbRnJhbmNlc2NvIENvc29sZXRvXQorbGRhdHRhY2g6CisgICAtIGFkZCAtLWlmbGFnIGNvbW1hbmQgbGluZSBvcHRpb24gIFtUaWxtYW4gU2NobWlkdF0KKyAgIC0gY3JlYXRlIGEgZ2VuZXJpYyBmdW5jdGlvbnMgZm9yIG5hbWU9dmFsdWUgdGFibGVzICBbS2FyZWwgWmFrXQorICAgLSBwcmludHMgaGVscCB0byBzdGRvdXQgIFtLYXJlbCBaYWtdCitsaWI6CisgICAtIGFkZCAjaWZuZGVmIGFyb3VuZCBtaW4oKSBtYXgoKSBtYWNyb3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmYWxsYmFjayBmb3IgbGliYyAodUNsaWJjKSB3aXRob3V0IENQVV9BTExPQyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1hbmdsZS5jIGZvciBtdGFiIChmc3RhYiBvciBzd2FwcykgZW5jb2RpbmcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdHJ0b3NpemUoKSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHR0LmMgKFRyZWUgYW5kIFRhYmxlIG91dHB1dCkgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGNvbXBpbGF0aW9uIGZhaWx1cmUgb24gcmF3aGlkZSAgW0ppbSBNZXllcmluZ10KKyAgIC0gZml4IGJsa2Rldl9maW5kX3NpemUoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVud2FudGVkIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSB0dC5jICBkb24ndCBwcmludCBoZWFkZXIgZm9yIGVtcHR5IHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSB0dC5jIC0gZml4IG1pbmltYWwgd2lkdGggb2YgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZnN0YXQoKSBhcyBmYWxsYmFjayBpbiBibGtkZXZfZ2V0X3NpemUoKSAgW0thcmVsIFpha10KK2xpYmJsa2lkOgorICAgLSBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBCZUZTIGRldGVjdGlvbiAgW0plcm9lbiBPb3J0d2lqbl0KKyAgIC0gQWRkIHByb2JpbmcgZnVuY3Rpb24gZm9yIEJlRlMgIFtKZXJvZW4gT29ydHdpam5dCisgICAtIGFkZCBQQVJUX0VOVFJZX3tTQ0hFTUUsTlVNQkVSfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX29wZW5hdCgpLCBjbGVhbnVwIGJsa2lkX2ZzdGF0YXQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfcGFydGxpc3RfZ2V0X3RhYmxlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtpZF9wcm9iZV9hbGxfcmVtb3ZhYmxlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtpZF9wcm9iZV9nZXRfe29mZnNldCxmZH0gZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXhGQVQgZmlsZSBzeXN0ZW0gZGV0ZWN0aW9uIHN1cHBvcnQgIFtBbmRyZXcgTmF5ZW5rb10KKyAgIC0gYWRkIGdlbmVyaWMgZnVuY3Rpb25zIGZvciBzeXNmcyBhdHRyaWJ1dGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWljcm9zZWNvbmQgcmVzb2x1dGlvbiBmb3IgY2FjaGUgZW50cmllcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pbmltYWwgc2l6ZXMgZm9yIE9DRlMgYW5kIEdGUyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9pdGVyX2dldF9kaXJlY3Rpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhcnRpYWwgc3VwcG9ydCBmb3Igc3VwZXJibG9jayBiaW5hcnkgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGF0aHMgYW5kIHRhZ3MgY2FjaGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzYW5pdHkgY2hlY2tzIGZvciBGQVQgdG8gRE9TIFBUIHBhcnNlciAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIFBBUlRfRU5UUllfKiB2YWx1ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBwYXJ0aXRpb24gZmxhZ3MvYXR0cmlidXRlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVsdHJpeCBQVCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCBwcm9iaW5nIENEcyBmb3IgUkFJRCAgW00uUy5Db2xjbG91Z2hdCisgICAtIGNhbGwgcmVhZCgpIHBlciBGQVQgcm9vdCBkaXIgZW50cnkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZnN0YXQoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzb21lIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc3VwZXJibG9ja3Nfc2FmZXByb2JlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2Ugb2YgZW1wdHkgdG9wb2xvZ3kgdmFsdWVzICBbS2FyZWwgWmFrXQorICAgLSBkaXNhYmxlIHJlYWQtYWhlYWQgd2hlbiBwcm9iaW5nIGRldmljZSBmaWxlcyAgW0xpbnVzIFRvcnZhbGRzXQorICAgLSBkb24ndCBjYWxsIHJlYWQoKSBwZXIgRkFUIGRpci1lbnRyeSBvbiBsYXJnZSBkaXNrcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZ2F0aGVyIFBBUlRfRU5UUllfKiB2YWx1ZXMgZm9yIGJpbmFyeSBpbnRlcmZhY2UgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByb2JlIGZvciBHUFQgYW5kIFVuaXh3YXJlIFBUIG9uIGZsb3BwaWVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcm9iZSBmb3IgbmVzdGVkIFBUIG9uIHRpbnkgZGlza3MgKDw9MS40NE1pQikgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJldHVybiBlcnJvciBvbiBlbXB0eSBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIGZzdGF0KCkgaW4gYmxraWRfZ2V0X2Rldl9zaXplKCkgIFtLYXJlbCBaYWtdCisgICAtIGV4cG9ydCBmdW5jdGlvbnMgdG8gZ2V0IHdob2xlLWRpc2sgZGV2bm8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCAncGFydG5vJyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IExVS1MgdmVyc2lvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IFpTRiBkZXRlY3Rpb24gIFtBbmRyZWFzIERpbGdlcl0KKyAgIC0gZml4IGJsa2lkX3BhcnRsaXN0X2Rldm5vX3RvX3BhcnRpdGlvbigpIGZvciBleHRlbmRlZCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29sbGlzaW9uIGJldHdlZW4gUkFJRCBhbmQgUFQgcHJvYmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGRpc3BsYXkgb2YgZGV2aWNlIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbmZpbml0ZSBsb29wIHdoZW4gcHJvYmUgY2hhaW4gYmFpbHMgb3V0IGVhcmx5ICBbQ29saW4gV2F0c29uXQorICAgLSBmaXggcmVhZGxpbmUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZWdmYXVsdCBpbiBkcmRiICBbTWF0dGhpYXMgS8O2bmlnXQorICAgLSBmaXggc29tZSB0eXBvcyAgW01pbGFuIEJyb3pdCisgICAtIGltcHJvYmUgRERGIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBNRCAwLjkwIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBNRCAwLjkwLjAgZGV0ZWN0aW9uICh1c2Ugc2ItPnNpemUpICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIE1EIDEuMCBkZXRlY3Rpb24sIGFkZCBVVUlEX1NVQiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBTdW4gVlRPQyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBaRlMgZGV0ZWN0aW9uIGFuZCBhZGQgTEFCRUwgYW5kIFVVSUQgZXh0cmFjdGlvbiAgW0FuZHJlYXMgRGlsZ2VyXQorICAgLSBtaW5vciBmaXhlcyBpbiBiZWZzLmMgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgcm9idXN0IG1pbml4IHByb2JpbmcgIFtLYXJlbCBaYWtdCisgICAtIG9wdGltaXplIFVERiBsYWJlbCByZWFkaW5nICBbS2FyZWwgWmFrXQorICAgLSBwcmV2ZW50IG92ZXJmbG93IGluIEJlRlMgIFtKZXJvZW4gT29ydHdpam5dCisgICAtIHByb2JlIGZvciAobm9uLWxpbnV4KSBSQUlEcyBvbiB3aG9sZSBkZXZpY2VzIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIHJlYWQgd2hvbGUgU0IgYnVmZmVyICg2OWtCKSBvbiBsYXJnZSBkaXNrcyAgW0thcmVsIFpha10KKyAgIC0gcmVhZCgpIG9wdGltaXphdGlvbiBmb3Igc21hbGwgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlICIweCIgcHJlZml4IGZyb20gRFJCRCBVVUlEICBbS2FyZWwgWmFrXQorICAgLSByZXNldCBCTEtJRF9USU5ZX0RFViBmbGFnIGluIGJsa2lkX3Byb2JlX3NldF9kZXZpY2UgIFtQYXNjYWwgVGVyamFuXQorICAgLSByZXNldCBzdXBlcmJsb2NrcyByZXN1bHQgYWZ0ZXIgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIHJlc3RyaWN0IFJBSUQvRlMgcHJvdmluZyBmb3Igc21hbGwgZGV2aWNlcyAoMS40TWlCKSAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKCkgIFtLYXJlbCBaYWtdCisgICAtIHNldCBjb3JyZWN0IG9mZnNldHMgZm9yIFR1eE9uSWNlIHNpZ25hdHVyZSAgW0Nob3cgTG9vbmcgSmluXQorICAgLSBzZXQgbWluaW1hbCBzaXplIGZvciBqZnMsIHJlaXNlciwgc3dhcCBhbmQgemZzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGFsaWdubWVudF9vZmZzZXQ9LTEgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgY2hhbmdlIGluIGRlYnVnIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gZXhwb3J0IG1hZ2ljIHN0cmluZ3MgZnJvbSByYWlkcyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBnZXRzaXplLmMgY29kZSB0byBsaWIvICBbS2FyZWwgWmFrXQorbGlibW91bnQ6CisgICAtIGFkZCAjd2FybmluZyBsaWJtb3VudCBBUEkgaXMgbm90IHN0YWJsZSB5ZXQhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmFzaWMgZGlycyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJhc2ljIHV0aWxzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVidWcgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmc3RhYi9tdGFiL21vdW50aW5mbyBsb29rdXAgcm91dGluZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmc3RhYi9tdGFiL21vdW50aW5mbyBwYXJzaW5nIHJvdXRpbmVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGlzdCByb3V0aW5lcyBhbmQgZ2VuZXJpYyBpdGVyYXRvciAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9jYWNoZV9maW5kX3RhZ192YWx1ZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2VudHJ5ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X21hdGNoX3tmc3R5cGUsb3B0aW9uc30gZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X29wdHN0cl8qIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG10YWIgbG9ja2luZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgb3B0bHMgKG9wdGlvbnMgY29udGFpbmVyKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHVzZXJkYXRhIGFuZCB3b3JrIHdpdGggVkZTIHRyZWUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0X3ZlcnNpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2ZXJzaW9uLmMgIFtLYXJlbCBaYWtdCisgICAtIGFub3RoZXIgTWFrZWZpbGUuYW0gZml4ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGNhY2hlIGZsYWdzIGFuZCBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBidWlsZCB0ZXN0cyBieSBkZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgbW50X2luaXRfZGVidWcoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IE1ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW50X2ZzX21hdGNoX3NvdXJjZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbmFtZSBvZiBtbnRfZnNfZ2V0Xypfb3B0c3RyKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzb21lIGd0a2RvYyB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gbWVyZ2UgdmZzIGFuZCBmcyBvcHRpb25zIG1vcmUgY2FyZWZ1bGx5ICBbS2FyZWwgWmFrXQorICAgLSBwcm9wZXIgdGVzdHMgZGVmaW5pdGlvbiBpbiBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gcmVhZCBkZXZubywgSUQgYW5kIHBhcmVudCBJRCBmcm9tIC9wcm9jL3NlbGYvbW91bnRpbmZvICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbW50X29wZW5fZGV2aWNlKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBtbnRfb3B0bHNfaXRlcmF0ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzeW1ib2xzIHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbWFuZ2xlIGZ1bmN0aW9uIGZyb20gbGliLyAgW0thcmVsIFpha10KK2xvZ2dlcjoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgJ2tlcm4nIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KK2xvZ2luOgorICAgLSBjaGVjayB0aGF0IGFmdGVyIHR0eSByZW9wZW4gd2Ugc3RpbGwgd29yayB3aXRoIGEgdGVybWluYWwgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGxpbmsgUEFNZWQgdmVyc2lvbiB3aXRoIGxpYmNyeXB0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmQgaW5zdGVhZCBvZiBwYXRobmFtZSBmb3IgdXBkYXRlIHR0eSdzIG93bmVyIGFuZCBwZXJtaXNzaW9ucyAgW1lhbm4gRHJvbmVhdWRdCitsb3NldHVwOgorICAgLSBzdXBwb3J0IHN1ZmZpeGVzIGFuZCBoZXggbnVtYmVycyBmb3IgLS1vZmZzZXQgYW5kIC0tc2l6ZWxpbWl0ICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCBDUFVfRVFVQUxfUyBkZWZpbml0aW9uIGZvciBvbGQvb2JzY3VyZSBsaWJjICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHBhdGhfc2NhbnN0cigpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzZWQgbmFtZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBDUFVfRVFVQUxfUyBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNwdWlkIG9wY29kZSBkZXRlY3Rpb24gIFtIZW5uZSBWb2dlbHNhbmddCisgICAtIGZpeCB0eXBvIGluIGxzY3B1LjEgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCB0eXBvLCAiZmFpbGQiIHRvICJmYWlsZWQiICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGdldHRleHRpemUgIkNQVShzKSIgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGltcHJvdmUgLS1zeXNyb290IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgTENfTUVTU0FHRVMgd2l0aCBMQ19BTEwgaW4gc2V0bG9jYXRlKCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHVzZSBjcHVzZXQgbWFza3MsIHJlYWQgZGF0YSBmb3IgYWxsIENQVXMgIFtLYXJlbCBaYWtdCittZXNzYWdlczoKKyAgIC0gZ2V0dGV4dGl6ZSBhIGZldyBza2lwcGVkIG9yIGZvcmdvdHRlbiBvbmVzICBbQmVubm8gU2NodWxlbmJlcmddCitta3N3YXA6CisgICAtIGFkZCBhIG5vdGUgdGhhdCAtcCBpcyB1bmNlY2Vzc2FyeSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2FsbCBibGtkZXZfZmluZF9zaXplKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSB0b28gc21hbGwgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICBbS2FyZWwgWmFrXQorICAgLSBmaXhlZCBzdHJ0b2xsKCkgdXNhZ2UgIFtZYW5uIERyb25lYXVkXQorICAgLSBtb3JlIHJvYnVzdCBzdHJ0b3VsbCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHdyaXRlX2FsbCgpIHRvIGluY2x1ZGUvd3JpdGVhbGwuaCAgW0thcmVsIFpha10KKyAgIC0gdHdlYWsgdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSBjYWxsb2MoKSwgcmVtb3ZlIG9ic29sZXRlIHYxIGhlYWRlciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gemFwIGJvb3RiaXRzIG9uIHJlZ3VsYXIgZmlsZXMgIFtLYXJlbCBaYWtdCittb3VudDoKKyAgIC0gYWRkIG5vdGVzIGFib3V0IC1vIHJlbW91bnQscm8sYmluZCB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZHZpc2UgdXNlcnMgdG8gdXNlICJtb2Rwcm9iZSIsIG5vdCAiaW5zbW9kIiAgW0thcmVsIFpha10KKyAgIC0gYXV0b21hdGljYWxseSBkZXRlY3QgYW5kIGxvb3AtbW91bnQgcmVndWxhciBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IHdoZW4ga2VybmVsIHNpbGVudGx5IGFkZHMgTVNfUkRPTkxZIGZsYWcgIFtQZXRyIFV6ZWxdCisgICAtIGRvbid0IGNyZWF0ZSBsb29wZGV2IGZvciBNU19CSU5EICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQorICAgLSBmaXggaW5mb3JtYXRpb24gYWJvdXQgWEZTIGxvZyBidWZmZXJzIGluIG1vdW50LjggIFtDaHJpc3RvcGggSGVsbHdpZ10KKyAgIC0gZml4IG1lbW9yeSBsZWFrICBbUGV0ciBVemVsXQorICAgLSBmaXggdHlwbyBpbiBjb21tZW50ICBbUGV0ciBVemVsXQorICAgLSBmaXggdHlwb3MgaW4gbW91bnQuOCAgW1BldHIgVXplbF0KKyAgIC0gbW9yZSBleHBsaWNpdGx5IGV4cGxhaW4gZnN0YWIgdXNhZ2UgaW4gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gbW9yZSByb2J1c3Qgb2Zmc2V0PSBhbmQgc2l6ZWxpbWl0PSBwYXJzaW5nICBbS2FyZWwgWmFrXQorICAgLSBwb3NpeCBvcHRpb24gb2YgdmZhdCBpcyBvYnNvbGV0ZSAgW1lvc2hpaGlybyBUYWthaGFzaGldCisgICAtIHByb3Blcmx5IGlnbm9yZSBjb21tZW50cyBpbiAvZXRjL2ZpbGVzeXN0ZW1zICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHJlcG9ydCBhbWJpdmFsZW50IEZTIGRldGVjdGlvbiwgaW1wcm92ZSBicnV0ZSBmb3JjZSBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIHJldmVydCB1Z2x5IEVOT01FRElVTSBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHN1ZmZpeGVzIGZvciBvZmZzZXQ9IGFuZCBzaXplbGltaXQ9ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZG9jdW1lbnRhdGlvbiBhYm91dCBiYXJyaWVyIG1vdW50IG9wdGlvbnMgIFtKYW4gS2FyYV0KKyAgIC0gdXNlICV1IGZvciB1aWRfdCBhbmQgZ2lkX3QgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBhdXRvLWxvb3BkZXYgZm9yIGFsbCBrbm93biBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHVubWFuZ2xlL21hbmdsZSgpIGZyb20gbGliICBbS2FyZWwgWmFrXQorICAgLSB3YXJuIHVzZXJzIHRoYXQgbXRhYiBpcyByZWFkLW9ubHkgIFtLYXJlbCBaYWtdCituYW1laToKKyAgIC0gZml4IG1hbiBwYWdlIGZvcm1hdHRpbmcgIFtWbGFkaW1pciBCcmVkbmlrb3ZdCitwYXJ0eDoKKyAgIC0gZG8gbm90IGFkZCBub25leGlzdGVudCBwYXJ0aXRpb25zICBbUGhpbGxpcCBTdXNpXQorICAgLSBmaXggaW5maW5pdGUgbG9vcCAgW0thcmVsIFpha10KK3BvOgorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFBpc2FyXQorICAgLSB1cGRhdGUgZXMucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtTYW50aWFnbyBWaWxhIERvbmNlbF0KKyAgIC0gdXBkYXRlIGV1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWlrZWwgT2xhc2FnYXN0aSBVcmFuZ2FdCisgICAtIHVwZGF0ZSBpZC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FyaWYgRS4gTnVncm9ob10KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWFrb3RvIEthdG9dCisgICAtIHVwZGF0ZSBsaXN0IG9mIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbHl0aWUgU2lkZGFsbF0KK3JkZXY6CisgICAtIHJlbW92ZSB0aGlzIGRlcHJlY2F0ZWQgY29tbWFuZCAgW0thcmVsIFpha10KK3J0Y3dha2U6CisgICAtIGFkZCAtLWRyeS1ydW4gb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGlzYWJsZSBhY3Rpb24gZm9yIHJ0YyBhbGFybSAgW01hcmVrIE90YWhhbF0KKyAgIC0gYWRkIGRpc2FibGUgYWN0aW9uIHRvIHJ0Y3dha2UgbWFuIHBhZ2UgIFtNYXJlayBPdGFoYWxdCisgICAtIGRvZXMgbWlzcyB0aGUgIm9mZiIgb3B0aW9uICBbS2FyZWwgWmFrXQorc2NyaXB0OgorICAgLSBvcHRpb25hbGx5IGNvbXBpbGUgd2l0aCBsaWJ1dGVtcHRlciB0byB1cGRhdGUgdXRtcCAgW0thcmVsIFpha10KKyAgIC0gcHJlc2VydmUgY2hpbGQgZXhpdCBzdGF0dXMgIFtLYXJlbCBaYWtdCitzZmRpc2s6CisgICAtIG1ha2Ugc3VyZSB3cml0ZXMgbWFrZSBpdCB0byBkaXNrIGluIHdyaXRlX3BhcnRpdGlvbnMoKSAgW0JyeW4gTS4gUmVldmVzXQorc3dhcGxhYmVsOgorICAgLSBmaXggdHlwbyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gbmV3IGNvbW1hbmQgIFtKYXNvbiBCb3JkZW5dCitzd2Fwb246CisgICAtIGZpeCBzd2Fwc2l6ZSBjYWxjdWxhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBERUxFVEVEX1NVRkZJWCB0byBpbmNsdWRlL3BhdGhuYW1lcy5oICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgIiAoZGVsZXRlZCkiIGZyb20gZmlsZW5hbWVzIGZyb20gL3Byb2Mvc3dhcHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB1bm1hbmdsZSgpIGZvciBmaWxlbmFtZXMgZnJvbSAvcHJvYy9zd2FwcyAgW0thcmVsIFpha10KK3Rhc2tzZXQ6CisgICAtIGFkZCBOTFMgc3VwcG9ydCwgdXNlIGVyci5oLCBjbGVhbnVwICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIE5SX0NQVVMgZGV0ZXJtaW5hdGlvbiB0byBsaWIvY3B1c2V0LmMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgYml0bWFwIHJvdXRpbmVzIHRvIGxpYi9jcHVzZXQuYyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYmMgYmFzZWQgY3B1X3NldF90ICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCBCZUZTIHRlc3QgaW1hZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtpZCB0ZXN0IGZvciBUdXhPbkljZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkIHRlc3RzIGZvciBSQUlEMSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNwdXNldCByZWdyZXNzaW9uIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlzayBhbGlnbm1lbnQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsc2NwdSBkdW1wIGZyb20gRGVsbCBSNzEwLCA4LWNvcmUgTmVoYWxlbSB3L0hUIChSSEVMIDUuNSkgIFtLYXJlbCBaYWtdCisgICAtIGFkZGVkIHRlc3RzIGFnYWluc3Qgc3RydG9zaXplICBbWWFubiBEcm9uZWF1ZF0KKyAgIC0gZXhwbGljaXRseSB1c2UgLS1jaHVuayBhbmQgLS1tZXRhZGF0YSBpbiBNRCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggUkFJRHMgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhbmQgdXBkYXRlIG9sZCBmZGlzayB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZml4IHdoaXRlc3BhY2VzICBbS2FyZWwgWmFrXQorICAgLSBtb3VudCBjcmFtZnMgcmVhZC1vbmx5ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgRlMgdGVzdCBpbWFnZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBibGtpZCB0ZXN0IGZvciByYWlkMSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJsa2lkL21kLXJhaWQxLSogdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGlwY3MvaGVhZGVycyB0ZXN0ICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSB1cGRhdGUgbHNjcHUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsc2NwdSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgUE9TSVggbG9jYWxlICBbWWFubiBEcm9uZWF1ZF0KK3RleHR1YWw6CisgICAtIGZpeCB0eXBvcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG9zLCBhbmQgcmVwaHJhc2Ugc29tZSB0aGluZ3MgZm9yIGNsYXJpdHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc2xpZ2h0bHkgaW1wcm92ZSB0d28gUkVBRE1FIGZpbGVzICBbQmVubm8gU2NodWxlbmJlcmddCit1bW91bnQ6CisgICAtIGFkZCAtLWZha2Ugb3B0aW9uIHRvIHVtb3VudCg4KSAgW01pa2xvcyBTemVyZWRpXQorICAgLSBkbyBub3Qgc3luYygpIGFzIHRoZSBrZXJuZWwgZG9lcyBpdCBieSBpdHNlbGYgIFtQZXRyIFV6ZWxdCit1bnNoYXJlOgorICAgLSBkcm9wIHBvdGVudGlhbCBldWlkIHByaXZpbGVnZXMgYmVmb3JlIGV4ZWMgIFtLYXJlbCBaYWtdCit1dWlkZDoKKyAgIC0gc3BlbGwgdGhlIHBsdXJhbCBvZiAiVVVJRCIgY29uc2lzdGVudGx5IGFzICJVVUlEcyIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3dpcGVmczoKKyAgIC0gY2xlYW51cCB1c2FnZSgpIGFuZCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxpY2Vuc2UgKEdQTCAtPiBHUEx2MispICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWtzICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgZGV2aWNlcyB3aXRoIHBhcnRpdGlvbiB0YWJsZSAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgd2FybmluZyBpcyBQVCBkZXRlY3RlZCAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBzdWZmaXhlcyBmb3IgLS1vZmZzZXQgIFtLYXJlbCBaYWtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE5LVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTktUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkMGMzMTgKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE5LVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDY2MCBAQAorVXRpbC1saW51eCAyLjE5IFJlbGVhc2UgTm90ZXMgKDEwLUZlYi0yMDExKQorPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCitUaGUgdXRpbC1saW51eC1uZyBwcm9qZWN0IGhhcyBiZWVuIHJlbmFtZWQgYmFjayB0byB1dGlsLWxpbnV4LgorCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitsc2Jsayg4KToKKyAgLSB0aGlzIE5FVyBDT01NQU5EIGxpc3RzIGluZm9ybWF0aW9uIGFib3V0IGFsbCBvciBzZWxlY3RlZCBibG9jayBkZXZpY2VzIGluCisgICAgdHJlZS1saWtlIGZvcm1hdC4KKworcGFydHgoOCk6CisgIC0gdGhpcyBjb21tYW5kIGhhcyBiZWVuIHJld3JpdHRlbiB0byB1c2UgbGliYmxraWQgZm9yIHBhcnRpdGlvbiB0YWJsZXMKKyAgICBwYXJzaW5nLiBJdCBzdXBwb3J0cyBhaXgsIGJzZCwgZG9zLCBncHQsIG1hYywgbWluaXgsIHNnaSwgc29sYXJpc194ODYsIHN1biwKKyAgICB1bHRyaXggYW5kIHVuaXh3YXJlIG5vdy4KKworICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItLXNob3ciIHRvIGxpc3QgcGFydGl0aW9ucyBpbiBuZXcgZm9ybWF0CisKKyAgLSBwcmludHMgVVVJRCBhbmQgbmFtZSBmb3IgR1BUIGFuZCBtYWMgcGFydGl0aW9ucworCitmaW5kbW50KDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItLXN1Ym1vdW50cyIgdG8gbGlzdCBhbGwgc3VibW91bnRzIGZvcgorICAgIHNlbGVjdGVkIG1vdW50cG9pbnQocykKKworYWdldHR5KDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAiLWMiIGFuZCAiLXMiIHRvIHJldXNlIGFscmVhZHkgaW5pdGlhbGl6ZWQKKyAgICB0dHkgY2ZsYWdzIGFuZCBleGlzdGluZyBiYXVkIHJhdGUKKworbW91bnQoOCksIHVtb3VudCg4KToKKyAgLSBjb3VsZCBiZSBsaW5rZWQgd2l0aCBsaWJtb3VudCAoLS1lbmFibGUtbGlibW91bnQtbW91bnQpIHRvIG1hbmFnZSB1c2Vyc3BhY2UKKyAgICBtb3VudCBvcHRpb25zIG91dHNpZGUgL2V0Yy9tdGFiIG9uIHN5c3RlbXMgd2hlcmUgdGhlIGZpbGUgaXMgYSBzeW1saW5rIHRvCisgICAgL3Byb2MvbW91bnRzLiAoRVhQRVJJTUVOVEFMKQorCitsb3NldHVwKDgpLCBtb3VudCg4KToKKyAgLSB1c2VzIC9zeXMvZGV2L2Jsb2NrLzxkZXZpY2U+L2xvb3AvYmFja2luZ19maWxlIHJhdGhlciB0aGFuIGxvb3BkZXYgaW9jdGxzCisgICAgKHJlcXVpcmVzIGtlcm5lbCA+PSAyLjYuMzcpCisKK2ZzY2soOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1sIiB0byBsb2NrIHdob2xlLWRpc2sgZGV2aWNlIGJ5IAorICAgIGV4Y2x1c2l2ZSBmbG9jaygyKS4gVGhpcyBvcHRpb24gaXMgcmVjb21tZW5kZWQgd2hlbiBtb3JlIGZzY2soOCkgaW5zdGFuY2VzCisgICAgYXJlIGV4ZWN1dGVkIGluIHRoZSBzYW1lIHRpbWUuIAorCitydGN3YWtlKDgpOgorICAgLSBzdXBwb3J0cyBuZXcgbW9kZSAic2hvdyIgdG8gcHJpbnQgdGhlIGN1cnJlbnQgUlRDIGFsYXJtIHRpbWUKKworZnN0cmltKDgpOgorICAgLSB0aGlzIE5FVyBDT01NQU5EIGFsbG93cyB0byBkaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0KKyAgICAgKHdyYXBwZXIgZm9yIEZJVFJJTSBpb2N0bCkKKworc3dhcG9uKDgpOgorICAgLSBzdXBwb3J0cyBuZXcgb3B0aW9ucyAiZGlzY2FyZCIgYW5kICJub2ZhaWwiCisKK2Jsa2lkKDgpOgorICAgLSBsb3ctbGV2ZWwgcHJvYmluZyAoLXApIHJldHVybnMgIjgiIGV4aXQgY29kZSBmb3IgYW1iaXZhbGVudCBwcm9iaW5nIHJlc3VsdHMKKyAgICAgIAorbGlibW91bnQ6CisgICAtIGluY2x1ZGUgZmlsZSBoYXMgYmVlbiByZW5hbWVkIGZyb20gbW91bnQvbW91bnQuaCB0byBsaWJtb3VudC9saWJtb3VudC5oCisKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjE4IGFuZCB2Mi4xOQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTkvCisKK2FkZHBhcnQ6CisgICAtIGNvZGUgY29uc29saWRhdGlvbiAgW0thcmVsIFpha10KK2FnZXR0eToKKyAgIC0gVXNlIEVYSVRfKiBhbmQgYWRkIG5vcmV0dXJuIGF0dHJpYnV0ZSAgW01hcmVrIFBvbGFjZWtdCisgICAtIGFkZCAtYyB0byByZXVzZSBjZmxhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtcyB0byByZXVzZSBleGlzdGluZyBiYXVkIHJhdGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtcyBvcHRpb24gKGJhdWQgcmF0ZSBzZXR1cCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBpZ25vcmVfcmVzdWx0KCkgb3Igd3JpdGUoMSwgLi4uKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIG5sX2xhbmdpbmZvKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHdpcGUgQ0xPQ0FMIGZsYWcgIFtLYXJlbCBaYWtdCitibGtpZDoKKyAgIC0gYWRkIG5ldyByZXR1cm4gY29kZSA4IGZvciBhbWJpdmFsZW50IGxvdy1sZXZlbCBwcm9iaW5nIHJlc3VsdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgUEFSVF9FTlRSWV8gdGFncyB0byBibGtpZC44ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcmludCBkZXZuYW1lIGlmIG5vdGhpbmcgZGV0ZWN0ZWQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJldHVybiBQQVJUX0VOVFJZXyogaWYgcGFydGl0aW9uIGlzIGVtcHR5ICBbS2FyZWwgWmFrXQorICAgLSBkeW5hbWljYWxseSBhbGxvY2F0ZSBkZXZpY2VuYW1lIGFycmF5ICBbRXJpYyBTYW5kZWVuXQorYmxvY2tkZXY6CisgICAtIGFkZCBCTEtESVNDQVJEWkVST0VTICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBibG9ja2Rldi44ICBbS2FyZWwgWmFrXQorICAgLSBzeW5jIG1hbiBwYWdlIHdpdGggY29kZSAgW0thcmVsIFpha10KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZW5hYmxlLWxpYm1vdW50LW1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWVzZyB0byAuZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBoZWFkZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBycG1hdGNoLmggdG8gTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciBsb2ZmX3QsIGl0IG1heSBub3QgZXhpc3QgIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gY2hlY2sgZm9yIHBhdGhzLmggIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gY2xlYW51cCBhdXRvZ2VuLnNoICBbS2FyZWwgWmFrXQorICAgLSBkcm9wIHNobGlicy9NYWtlZmlsZS5hbSB0aGF0IG9ubHkgYWRkcyBTVUJESVJTICBbRGllZ28gRWxpbyAnRmxhbWVleWVzJyBQZXR0ZW7Dsl0KKyAgIC0gZHJvcCB0aGUgZ2V0c2l6ZSB0ZXN0IG91dCBvZiBNYWtlZmlsZS5hbSAgW0RpZWdvIEVsaW8gJ0ZsYW1lZXllcycgUGV0dGVuw7JdCisgICAtIGVuYWJsZSBsc2JsayBhbmQgbGlibW91bnQgZm9yIExpbnV4IG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIGV4cGxpY2l0bHkgY2hlY2sgZm9yIHNsYW5nLmggIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsc2JsayBidWlsZGluZyAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIGdlbmVyYXRlZCBsdG1haW4uc2ggIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgY2hlY2sgZm9yIGNyeXB0ICBbRmFiaWFuIEdyb2ZmZW5dCisgICAtIGxpbmsgd2l0aCBzb2NrZXRsaWJzIHdoZW4gbmVjZXNzYXJ5ICBbRmFiaWFuIEdyb2ZmZW5dCisgICAtIG1hbiBhbGlhc2VzIGRvbid0IGRlcGVuZCBvbiBvcmlnaW5hbCBtYW4gcGFnZSAgW0RpZWdvIEVsaW8gJ0ZsYW1lZXllcycgUGV0dGVuw7JdCisgICAtIHByb3ZpZGUgbWlzc2luZyBzdHJubGVuIGZyb20gc3RydXRpbHMgIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gcmVsZWFzZSsrICh2Mi4xOS1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjE5LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMTktcmMzKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGdlbmVyYXRlZCBwby9QT1RGSUxFUy5pbiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciAgW0thcmVsIFpha10KKyAgIC0gcmVxdWlyZSBhdXRvbWFrZSAxLjEwIGFzIGd0ay1kb2MgcmVxdWlyZXMgaXQgYW55d2F5ICBbRGllZ28gRWxpbyAnRmxhbWVleWVzJyBQZXR0ZW7Dsl0KKyAgIC0gc2hlbGwgc3ludGF4IGZpeCBpbiBhdXRvZ2VuLnNoICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBXT1JEU19CSUdFTkRJQU4gdG8gZGV0ZXJtaW5lIHBsYXRmb3JtIGJ5dGUtb3JkZXIgIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gdXNlIGdlbmVyYXRlZCBsaWJ0b29sLTIgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB0aGUgc2lsZW50LXJ1bGVzIHByZWZpeCB3aGVuIGdlbmVyYXRpbmcgbWFuIHBhZ2VzLiAgW0RpZWdvIEVsaW8gJ0ZsYW1lZXllcycgUGV0dGVuw7JdCitjYWw6CisgICAtIGZvbGxvdyBIQVZFX0xBTkdJTkZPICBbS2FyZWwgWmFrXQorICAgLSB1c2UgRVhJVF8qIGFuZCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gY2xvc2UgdGhlIHByb2dyYW0gd2hlbiB0ZXJtaW5hbCBpc24ndCBwcmVzZW50ICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBkYXRhIHR5cGUgbWlzbWF0Y2gsIGFuZCBvdGhlciwgY29tcGlsZXIgd2FybmluZyBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBkb24ndCB1c2Ugc2l6ZSBvZiBkZXZpY2UgYmFzZWQgb24gY3lsaW5kZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS13aXRoLXNsYW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggbisxIGFnYWluICBbS2FyZWwgWmFrXQorICAgLSBmaXggbisxIGJ1ZyBpbiBlcnJvciBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBnZXRfc3RyaW5nIG5vdCBjYWxjdWxhdGluZyBjb3JyZWN0IGxpbWl0cyAgW0thcmVsIFpha10KKyAgIC0gc2VhcmNoIGZvciBuY3Vyc2Vzdy9uY3Vyc2VzLmggIFtNaWtlIEZyeXNpbmdlcl0KK2NoZm46CisgICAtIFVzZSBFWElUXyogYW5kIGVycigpICBbTWFyZWsgUG9sYWNla10KK2NocnQ6CisgICAtIEFkZCBub3JldHVybiBhdHRyaWJ1dGUgdG8gc2hvd191c2FnZSgpIGZ1bmN0aW9uICBbTWFyZWsgUG9sYWNla10KK2Noc2g6CisgICAtIGRvbid0IHN1Z2dlc3QgeXBjaHNoICBbS2FyZWwgWmFrXQorICAgLSB1c2UgRVhJVF8qIGFuZCBlcnIuaCAgW0thcmVsIFpha10KK2NvbDoKKyAgIC0gdXNlIGVyci5oIGFuZCBFWElUXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgeGFsbG9jIGZvciBtZW1vcnkgYWxsb2NhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KK2NvbHVtbjoKKyAgIC0gRU9GIGhhbmRsaW5nIGJ1ZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb2RlIHJlYWRhYmlsaXR5IGltcHJvdmVtZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBkYXRhIHR5cGUgbWlzbWF0Y2ggY29tcGlsZXIgd2FybmluZyBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBlcnJvciBtZXNzYWdpbmcgJiBleGl0IGNvZGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2x1bW4uMSB0eXBvICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBnZXRvcHRfbG9uZyBhbmQgbmV3IGhlbHAgb3V0cHV0ICBbU2FtaSBLZXJvbGFdCisgICAtIHNlZ2ZhdWx0IG9uIGVtcHR5IGlucHV0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbWFudWFsIHBhZ2UgdG8gbWF0Y2ggY29sdW1uIHN3aXRjaGVzICBbU2FtaSBLZXJvbGFdCitjdHJsYWx0ZGVsOgorICAgLSB1c2UgZXJyKCkgaW5zdGVhZCBvZiBmcHJpbnRmKCkgYW5kIGV4aXQoKSAgW01hcmVrIFBvbGFjZWtdCitkZGF0ZToKKyAgIC0gZml4IHR5cG8gaW4gZGRhdGUuMSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmV2ZXJ0IG1hbiBwYWdlIHR5cG8gIFtLYXJlbCBaYWtdCitkZWxwYXJ0OgorICAgLSBjb2RlIGNvbnNvbGlkYXRpb24gIFtLYXJlbCBaYWtdCitkaXNrLXV0aWxzOgorICAgLSBmaXggbWFucGFnZSB0eXBvcyAgW0RhdmlkbG9ociBCdWVzb10KK2RtZXNnOgorICAgLSBmaXggbWVtb3J5IGxlYWsgaW4gZG1lc2coMSkuICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2Ugc3RydG9sX29yX2VyciBpbnN0ZWFkIG9mIGF0b2kgIFtEYXZpZGxvaHIgQnVlc29dCitkb2NzOgorICAgLSBhZGQgYmxraWQgLS1saXN0LWFsbCB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQ09QWUlORy5saWIqIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBhZ2V0dHkgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgc2ZkaXNrIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2Mi4xOSBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3Qgc3BlbGxpbmcgbWlzdGFrZXMgaW4gREVQUkVDQVRFRCBmaWxlICBbSm9uIEdyYW50XQorICAgLSBmaXggdHlwbyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHR5cG9zIGluIG1hbiBwYWdlcyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBpdCBlYXNpZXIgdG8gZmluZCBtYWlsIGxpc3QgYWRkcmVzcyAgW0FsZXhhbmRlciBTaGlzaGtpbl0KKyAgIC0gbWFyayBsaW5lKDEpIGFzIGRlcHJlY2F0ZWQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBpcGMudGV4aSAoaW5mbyB3aXRoIElQQyBBUEkgZG9jcykgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBERVBSRUNBVEVEIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMTkgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcnBtYXRjaCgpIGZvciBzZmRpc2sgIFtLYXJlbCBaYWtdCitmYWxsb2NhdGU6CisgICAtIGZpeCBidWlsZCBmYWlsdXJlIHdpdGggb2xkIGxpbnV4IGhlYWRlcnMgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCitmZGlzazoKKyAgIC0gYWRkIGRlc2NyaXB0aW9uIGZvciBwYXJ0aXRpb24gdHlwZSAweDI3ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXhGQVQgdG8gTUJSIHBhcnRpdGlvbiB0eXBlIDB4NyAgW0pvbiBHcmFudF0KKyAgIC0gZG9uJ3Qga2VlcCBpbnRlcm5hbGx5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIGVsaW1pbmF0ZSByZWR1bmRhbnQgY2FsbCB0byBvcGVuKCkgIFtNYXJrdXMgUmlubmVdCisgICAtIGZpeCBhbGlnbm1lbnQgY2hlY2sgZm9yIG5vbi01MTItYnl0ZSBsb2dpY2FsIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmcmVlc3BhY2UgYm91bmRhcmllcyBjYWxjdWxhdGlvbiBvbiBTR0kgZGlza2xhYmVsICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNlIG9mIG5vbiBwb3J0YWJsZSB0eXBlICBbRnJhbsOnb2lzIFJldm9sXQorICAgLSBtb3JlIG1lYW5pbmdmdWwgZXJyb3IgbWVzc2FnZXMgKHVzZSBlcnIuaCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHF1aXQgd2l0aCBhIHNpbmdsZSBDVFJMLUQsIGNvbmZpcm0gaWYgbmVjZXNzYXJ5ICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZS1wcmludCBwcm9tcHQgYWZ0ZXIgbWF5YmVfZXhpdCgpICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIGZhdGFsKHVzYWdlKSB3aXRoIGEgc2VwYXJhdGUgdXNhZ2UoKSBmdW5jdGlvbiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXBkYXRlIE1CUiBhZnRlciBJRCBjaGFuZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjYW5vbmljYWxpemVkIG5hbWVzIGZvciAtbCAoYW5kIHNmZGlzayAtZCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgbGliICBbRnJhbmNlc2NvIENvc29sZXRvXQorZmluZG1udDoKKyAgIC0gYWRkIC0tc3VibW91bnRzIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC9ldGMvZnN0YWIuZCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTUFKIE1JTiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIGZzLXJvb3QgKHN1YnZvbHVtZXMgYW5kIGJpbmQgbW91bnRzKSAgW0thcmVsIFpha10KKyAgIC0gYXBwbHkgbmV3IGNoYW5nZXMgZnJvbSB0dC5jICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBzd2FwIHNvdXJjZSBhbmQgdGFyZ2V0IGlmIHRoZSBzb3VyY2UgaXMgYSB0YWcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBleGl0IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW5wYWdlIHR5cG9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggc3VwcG9ydCBmb3IgLWEgb3B0aW9uICBbTWlsYW4gQnJvel0KKyAgIC0gZm9sbG93IEhBVkVfTEFOR0lORk8gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuZXcgbGlibW91bnQgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbmV3IHRhYiBwYXJzaW5nIEFQSSAgW0thcmVsIFpha10KK2Zsb2NrOgorICAgLSBmaXggZmlsZSBudW1iZXIgaW4gZmxvY2suMSBtYW4gcGFnZSAgW1BhdHJpY2UgRHVtYXNdCisgICAtIHByb3Blcmx5IHJlcG9ydCBleGVjKCkgZXJyb3JzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbW9yZSB1c2VmdWwgZXhhbXBsZSBpbiBmbG9jay4xICBbSmFrb2IgVW50ZXJ3dXJ6YWNoZXJdCitmc2NrOgorICAgLSBhZGQgc3VwcG9ydCBmb3Igd2hvbGUtZGlzayBsb2NraW5nICgtbCBvcHRpb24pICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHdob2xlLWRpc2sgY2hlY2ssIGRldGVjdCBzdGFja2VkIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGluY2x1ZGUgYy5oLCBmYWxsYmFjayBmb3IgUEFUSF9NQVggIFtLYXJlbCBaYWtdCisgICAtIGluZm9ybSBhYm91dCBub25leGlzdGVudCBkZXZpY2VzIGluIHZlcmJvc2UgbW9kZSAgW0thcmVsIFpha10KKyAgIC0gcmV0dXJucyBwcm9wZXIgY29kZSBvbiBleGVjKCkgZXJyb3IgIFtLYXJlbCBaYWtdCitmc3RyaW06CisgICAtIGFkZCBuZXcgY29tbWFuZCAgW0x1a2FzIEN6ZXJuZXJdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQoraGV4ZHVtcDoKKyAgIC0gcmVtb3ZlIG9kIGZ1bmN0aW9uYWxpdHkgaW4gZmF2b3IgdG8gR05VIGNvcmV1dGlscyBvZCAgW1NhbWkgS2Vyb2xhXQoraHdjbG9jazoKKyAgIC0gW202OGtdIHVuYnJlYWsgRlRCRlMgd2l0aCByZWNlbnQgKD49IDIuNC4xOD8pIGtlcm5lbHMgIFtUaG9yc3RlbiBHbGFzZXJdCisgICAtIGFsbG93IHNldHRpbmcgb2YgUlRDIHdoZW4gaXQgY29udGFpbnMgaW52YWxpZCBkYXRhICBbUGV0ZXIgVHlzZXJdCitpbmNsdWRlOgorICAgLSBbYy5oXSBhZGQgdW51c2VkIGF0dHJpYnV0ZSB0byBpZ25vcmVfcmVzdWx0KCkgIFtLYXJlbCBaYWtdCisgICAtIFtjLmhdIGZpeCBfX2FsbG9jX3NpemVfXyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBbYy5oXSBhZGQgZmFsbGJhY2sgZm9yIGFsbG9jX3NpemUgYXR0cmlidXRlcyAgW0thcmVsIFpha10KKyAgIC0gW2MuaF0gbW92ZSBpZ25vcmVfcmVzdWx0KCkgdG8gZ2NjLW9ubHkgYmxvY2sgIFtLYXJlbCBaYWtdCisgICAtIFt0dF0gZW5sYXJnZSBvdXRwdXQgYnVmZmVyICBbS2FyZWwgWmFrXQorICAgLSBbeGFsbG9jLmhdIGluY2x1ZGUgc3RyaW5nLmggIFtNYXJlayBQb2xhY2VrXQorICAgLSBhZGQgZmFsbGJhY2sgZm9yIHJwbWF0Y2goKSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gY2xlYW51cCBibGtkZXYuaCAgW0thcmVsIFpha10KKyAgIC0gZW11bGF0ZSBkaXJmZCB3aGVuIG5lY2Vzc2FyeSAgW0ZhYmlhbiBHcm9mZmVuXQorICAgLSBmaXggbGlzdC5oIGlmZGVmcyAgW0thcmVsIFpha10KKyAgIC0gW3hhbGxvY10gZ2VuZXJhbCBwdXJwb3NlIG1lbW9yeSBhbGxvY2F0aW9uIGhhbmRsaW5nIHdyYXBwZXJzICBbRGF2aWRsb2hyIEJ1ZXNvXQoraXBjOgorICAgLSByZW1vdmUgLmluZm8gZmlsZSAgW0thcmVsIFpha10KK2xhc3Q6CisgICAtIFVzZSBFWElUXyogYW5kIGVycigpICBbTWFyZWsgUG9sYWNla10KKyAgIC0gdXNlIHhhbGxvYyBsaWIgIFtEYXZpZGxvaHIgQnVlc29dCitsaWI6CisgICAtIFtjXSBhZGQgaWdub3JlX3Jlc3VsdCgpICBbS2FyZWwgWmFrXQorICAgLSBbZW52XSBjb25zb2xpZGF0ZSBzYWZlX2dldGVudigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBbaXNtb3VudGVkXSBkb24ndCB3YXN0IHRpbWUgd2l0aCBtdGFiIGlzIC9wcm9jL21vdW50cyB1c2VkICBbS2FyZWwgWmFrXQorICAgLSBbc3RydXRpbHNdIGdlbmVyYWwgcHVycG9zZSBzdHJpbmcgaGFuZGxpbmcgZnVuY3Rpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBbc3RydXRpbHNdIG1vdmUgc3RybW9kZSgpIGZyb20gbmFtZWkuYyB0byBzdHJ1dGlscy5jICBbS2FyZWwgWmFrXQorICAgLSBbdHRdIGFkZCBUVF9GTF9SSUdIVCwgYWRkIGNvbHVtbnMgbGlzdCBwYXJzZXIgIFtLYXJlbCBaYWtdCisgICAtIFt0dF0gZml4IGFsaWdubWVudCBvZiB0aGUgbGFzdCB0cmVlIGNoaWxkICBbS2FyZWwgWmFrXQorICAgLSBbeGFsbG9jXSBhZGQgeHN0cmR1cCgpICBbS2FyZWwgWmFrXQorICAgLSBbeGFsbG9jXSBkb24ndCB1c2UgaGFyZGNvZGVkIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmFsbGJhY2sgZm9yIG5sX2xhbmdpbmZvKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IHByb2dyYW0gdG8gY2Fub25pY2FsaXplLmMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB3cmFwcGVycyBmb3IgImF0IiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW5nZSgpIGFuZCB1bm1hbmdsZSgpIHRvIGhhbmRsZSBOVUxMICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3ludGF4IGVycm9yIGluIGJsa2Rldi5jICBbS2FyZWwgWmFrXQorbGliL3R0OgorICAgLSBmaXggbGFuZ2luZm8gYnVpbGQgYnJlYWsgIFtEYXZpZGxvaHIgQnVlc29dCitsaWJibGtpZDoKKyAgIC0gMjU2TWlCIGlzIG1pbiBzaXplIG9mIGJ0cmZzICBbS2FyZWwgWmFrXQorICAgLSBOVEZTIHZvbHVtZSBsYWJlbCBub3QgZm91bmQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMSU5ISUIwMDAxIHNpZ25hdHVyZSB0byBzd2FwIHByb2JlciAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2Rldi5oIHRvIGJsa2lkUC5oICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnMoKSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIG1hZ2ljIHRvIHZmYXQgIFtKZXJvZW4gT29ydHdpam5dCisgICAtIGFkZCBuaWxmczIgZmlsZXN5c3RlbSBzdXBlcmJsb2NrIHByb2JlICBbSmlybyBTRUtJQkFdCisgICAtIGFkZCBzZWFyY2hpbmcgaW4gYXR0cmlidXRlcyBkaXIgdG8gQmVGUyAgW0plcm9lbiBPb3J0d2lqbl0KKyAgIC0gYWRkIHNpZ25hdHVyZSB0byBGQVQzMiBmc2luZm8gYmxvY2sgIFtKZXJvZW4gT29ydHdpam5dCisgICAtIGNhY2hlIGlzIGluY29ycmVjdGx5IHJldmFsaWRhdGVkICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3Igc3dhcCBvciBETSBjb3cgb24gc21hbGwgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gY29uZGl0aW9uYWxpc2UgcGFydHMgZnJvbSBibGtpZC90b3BvbG9neSBmb3IgTGludXggIFtGYWJpYW4gR3JvZmZlbl0KKyAgIC0gY29uc29saWRhdGUgbWFnaWMgc3RyaW5ncyBkZXRlY3Rpb24gY29kZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIHplcm8gZm9yIFNCTUFHSUNfT0ZGU0VUICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcm9iZSBkaXJlY3RvcmllcyAgW0thcmVsIFpha10KKyAgIC0gZml4IE1CUiBkZXRlY3Rpb24gb24gaVBvZCBhbmQgY2xlYW51cCB2ZmF0IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBlbmRpYW4gY29udmVyc2lvbiBidWcgaW4gTklMRlMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayAgW0lnb3IgQmF6aGl0b3ZdCisgICAtIGZpeCB0eXBvIGZpbGVzeXN0ZW0gbmFtZSBuaWxmcyB0byBuaWxmczIgIFtKaXJvIFNFS0lCQV0KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSBzZWN0aW9uICBbVmFsZXJpZSBBdXJvcmFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBfX1VDTElCQ19fIGNoZWNrICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIHNldCB0b2xlcmFudCBmbGFnIGZvciBIRlMgIFtBbGV4YW5kcmUgUGVpeG90byBGZXJyZWlyYV0KKyAgIC0gc3VwcG9ydCBMSUJCTEtJRF9ERUJVRz0gZW52LiAgW0thcmVsIFpha10KKyAgIC0gdXNlIFBSSWQ2NCBpbiBQVCBwYXJzZXIgIFtLYXJlbCBaYWtdCisgICAtIHdyb25nIFBUIGRldGVjdGlvbiBvbiBSQUlEMCAgW0thcmVsIFpha10KK2xpYm1vdW50OgorICAgLSBfU0NfR0VUUFdfUl9TSVpFX01BWCBwb3J0YWJpbGl0eSBpc3N1ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC9ldGMvZnN0YWIuZCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgREJHKCkgdG8gb3B0c3RyLmMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBGUyBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBMSUJNT1VOVF97TVRBQixGU1RBQn0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBNTlRfRlNfU1dBUCBmbGFnICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYW5kIGNvcHkgRlMgaW50ZXJuYWwgZmxhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlcyBhbmQgZml4IHR5cG9zIGluIHRhYl91cGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmaXJzdCBwYXJ0IG9mIGhpZ2gtbGV2ZWwgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb25zIGZvciBtb3VudC48dHlwZT4gaGVscGVycyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyBnZXQgbXRhYi91dGFiIHBhdGhzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG93LWxldmVsIEFQSSBmb3IgdW1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2NvbnRleHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfY29udGV4dF9nZXRfe2ZzdGFiLG10YWJ9KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfY29udGV4dF9nZXRfe3NvdXJjZSx0YXJnZXQsZnN0eXBlfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9jb250ZXh0X2lzXyogZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2NvcHlfZnMoKSBhbmQgbW50X2ZzX3NldF9yb290KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfZnNfZ2V0X3Jvb3QoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9mc19wcmVwZW5kX29wdHN0cigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2dldF93cml0YWJsZV9tdGFiX3BhdGgoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9vcHRzdHJfZml4X3VzZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfb3B0c3RyX2dldF9tb3VudGZsYWdzKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfb3B0c3RyX2dldF91c2Vyc3BhY2VfbW91bnRmbGFncygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3NwbGl0X29wdHN0cigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYl9maW5kX3BhaXIoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJfcGFyc2VfbXRhYigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYl9wYXJzZV9zdHJlYW0oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJfc2V0X3BhcnNlcl9lcnJjYigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50ZW50LmggY29tcGF0aWJsZSBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50KDIpIGFuZCAvc2Jpbi9tb3VudC48dHlwZT4gc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50KDgpIHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG10YWIgbWFuYWdlbWVudCB0byBjb250ZXh0IEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBkZWJ1ZyBtZXNzYWdlcywgZml4IHVtb3VudCByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBwc2V0dWRvIGZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IHBzZXVkbyBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJvdXRpbmVzIGZvciB1aWQ9LCBnaXQ9IGFuZCBjb250ZXh0PSB0cmFuc2xhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIG10YWIgbWFuYWdlbWVudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVoZWxwZXI9LCBpbXByb3ZlIG1udF9zcGxpdF9vcHRzdHIoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVtb3VudCgyKSBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdW5pdCB0ZXN0IGZvciBtbnRfY29weV9mcygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdW5tYW5nbGUvbWFuZ2xlKCkgZnVuY3Rpb25zIHRvIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHV0aWxzIGZvciB3b3JrIHdpdGggdWlkL2dpZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHV0aWxzIHRvIGdldCBGUyByb290L21vdW50cG9pbnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB7c3RhcnQsZW5kfXN3aXRoKCkgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byBvdmVyd3JpdGUgbXRhYi9mc3RhYiBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3dzIHRvIHN3YXAgc291cmNlIGFuZCB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyBzdG9yZSBydy9ybyBmbGFncyB0byBtdGFiICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgcGVybWlzc2lvbnMgYW5kIG9wdHN0ciBldmFsaWF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgd29yayB3aXRoIG10YWIgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gbW50X3VwZGF0ZV8qIHRhcmdldCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgbG9jay5jICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBtbnRfZnNfc2V0X29wdHN0cigpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBtb3VudC5zeW0gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgbW91bnRmbGFncyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBBUEkgYW5kIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQVBJLCByZW1vdmUgdHlwZWRlZiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBNU19SRE9OTFkgdXNhZ2VhbmQgbW50X3VwZGF0ZV8qIHN5bWJvbHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY29udGV4dCBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZGVidWcgZmxhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZnN0YWIgcGFyc2VyLCBpbXByb3ZlIG1udF90YWIgZXJyY2IgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaGVscGVyIGluaXRpYWxpemF0aW9uIEFQSSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBoZWxwZXJzIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaGlnaC1sZXZlbCBtb3VudCBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaW50ZXJuYWwgQVBJICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxvY2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbmdsZSgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1vdW50LmggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbW91bnQuc3ltICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAoY2FjaGUuYykgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcmV0dXJuIGNvZGVzIChmcy5jKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCByZXR1cm4gY29kZXMgKGl0ZXIuYykgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcmV0dXJuIGNvZGVzIChsb2NrLmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAob3B0bWFwLmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAob3B0c3RyLmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAodGFiLmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHJldHVybiBjb2RlcyAodGFiX3BhcnNlLmMpICBbS2FyZWwgWmFrXQorICAgLSBjb21waWxlIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBjb3B5IG1vdW50IGF0dHJzIGZyb20gdXRhYiB0byBjb250ZXh0ICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0bHkgdXNlICJub25lIiB2YWx1ZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBjaGVjayBmb3IgRUFHQUlOIGFmdGVyIGZsb2NrKCkgIFtQZXRyIFV6ZWxdCisgICAtIGRvbid0IGNvbXBpbGUgdGVzdHMgYnkgZGVmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZXhwb3J0IHNvbWUgY2FjaGUuYyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJlcGFyZSB1cGRhdGUgaWYgc3lzY2FsbCBmYWlsZWQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJldHVybiBvbGQgZGF0YSBmcm9tIG9wdGxzIGl0ZXJhdG9yICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBzdG9yZSBmaWxlbmFtZSB0byBtbnRfdGFiICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgTlVMTCBwb2ludGVyIGluIG1udGVudiAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kIG1udF91cGRhdGVfKiBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBNYWtlZmlsZSBhbmQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21tZW50IGZvciBtbnRfdW5sb2NrX2ZpbGUoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbnRleHQgbW91bnQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IGRhdGF0eXBlIGZvciBtb3VudGZsYWdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lcmdlX29wdHN0ciAoZG8gbm90IHRydW5jYXRlIDMgdHJhaWxpbmcgY2hhcmFjdGVycykgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBtbnRfb3B0c3RyX2FwcGx5X2ZsYWdzKCkgdG8gd29yayB3aXRoIG9wdGlvbmFsIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbl9hdCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQgaGVscGVycyBjYWxsICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQuaCBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IG9wdHN0ciB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGFiX3VwZGF0ZSB0ZXN0IHByb2dyYW0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0byB3b3JrIHdpdGggYnRyZnMgc3Vidm9sdW1lIHVzZXIgbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNlcj0gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1dGFiIGZpbGUgYW5kIGRpciBtb2RlcywgYWRkIG5ldyBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wbGVtZW50IG1udF9jb250ZXh0X3N1YnN0X29wdHN0cigpICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGFuIHJlbmFtZSBBUEkgZm9yIG10YWIgbWFuYWdlbWVudCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBhc3NlcnQoKSBhbmQgREJHKCkgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZGVidWdnaW5nLCBmaXggb3B0c3RyIHByZXBlbmQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZnN0YWIvbXRhYiBvcHRpb25zIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGZ1bmN0aW9uIGZvciB3b3JrIHdpdGggbXRhYiBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBtbnRfZ2V0X2ZzX3Jvb3QoKSBhbmQgbW50X2dldF9tb3VudHBvaW50KCkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcGFyc2VyIHJldHVybiBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBwYXJzZXJzIHJldHVybiBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzdGF0dXMgY2hlY2ssIG1pbm9yIGNsZWFudXBzICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBjbGVhbnVwIGluIG9wdHN0ci5jICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBmaXhlcyAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgZml4ZXMgaW4gY2FjaGUuYyAgW0thcmVsIFpha10KKyAgIC0gbW9yZSByb2J1c3QgZmxvY2soKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gb3B0aW1pemUgYmxraWRfZGV2bm9fdG9fZGV2bmFtZSgpICBbS2FyZWwgWmFrXQorICAgLSBwcm9wZXJseSBjYW5vbmljYWxpemUgc291cmNlIGFuZCB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBmcyBhbmQgdGFiIHByaW50ZiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBtbnRfdGFiX3N0cmVycigpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3Nhcnkgb3B0aW9ucyBjb250YWluZXIgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgbW50X3N0cmNvbmNhdDMoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHV0YWIgZnJvbSBBUEksIHVwZGF0ZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIG1vdW50LmggdG8gbGlibW91bnQuaCAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIG1vdW50LnN5bSAtPiBsaWJtb3VudC5zeW0gIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgREJHKCkgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgbW91bnRpbmZvL2ZzdGFiIHBhcnNlcnMgdG8gdXNlIHNzY2FuZigpICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIG9wdHN0ciB0cmFuc2xhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSB1cGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIHNwbGl0IGNvbnRleHQuYyAgW0thcmVsIFpha10KKyAgIC0gc3BsaXQgbW50X2NvbnRleHRfZG9fbW91bnQoKSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCAve3Byb2MsZXRjfS9maWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1vdW50LnN5bSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1vdW50LntoLHN5bX0gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtdGFiIGFmdGVyIG1vdW50KDIpICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBhdHRyaWJ1dGUgX19mb3JtYXRfXyBmb3IgZGVidWcgcm91dGluZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBiZXR0ZXIgZm9ybWF0IGZvciB1dGFiLCBpbXByb3ZlIGJpbmQgbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbW50X2ZzIGZvciBtdGFiIEFQSSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNlcGFyYXRlIGJ1ZmZlciBmb3IgdXNlcnNwYWNlIG9wdGlvbnMsIGFkZCBtb3VudCBhdHRyaWJ1dGVzICBbS2FyZWwgWmFrXQorbGlidXVpZDoKKyAgIC0gZG8gbm90IGNoZWNrIGZvciBFQUdBSU4gYWZ0ZXIgZmxvY2soKSAgW1BldHIgVXplbF0KKyAgIC0gZml4IGxvY2tpbmcgb2YgY2xvY2sgc3RhdGUgY291bnRlciBmaWxlICBbUGV0ciBVemVsXQorbG9naW46CisgICAtIGZpeCAiaWdub3JpbmcgcmV0dXJuIHZhbHVlIiBlcnJvcnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBFWElUXyogYW5kIGVyci5oLCBjbGVhbiB1cCByZXR1cm4gY29kZXMgIFtNYXJlayBQb2xhY2VrXQorICAgLSB1c2UgRVhJVF8qIGluIGNoZWNrdHR5KCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgbGliICBbRGF2aWRsb2hyIEJ1ZXNvXQorbG9vazoKKyAgIC0gZml4IGNvbmZsaWN0IGJldHdlZW4gbG9jYWxseSBkZWZpbmVkIGVycigpIGFuZCBnbGliYydzIHZlcnNpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGZpeCBtZW1vcnkgbGVhayBpbiBsb29rKDEpICBbRGF2aWRsb2hyIEJ1ZXNvXQorbG9zZXR1cDoKKyAgIC0gZG8gbm90IGRpc3Rpbmd1aXNoIGJldHdlZW4gbWFsbG9jIGFuZCByZWFsbG9jICBbVG9iaWFzIEtsYXVzZXJdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBmc3RhYi5oIGluY2x1ZGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAvc3lzL2Rldi9ibG9jay8uLi4vbG9vcC9iYWNraW5nX2ZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdGRvdXQgYW5kIHJldHVybiAwIGZvciAtLWhlbHAgIFtLYXJlbCBaYWtdCitsc2JsazoKKyAgIC0gYWRkIC0tbm9kZXBzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IHV0aWxpdHkgIFtNaWxhbiBCcm96XQorICAgLSByZW5hbWUgIlJBIiBjb2x1bW4gdG8gIlJFIiAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgZ3JhbW1hciB0b3VjaGVzIHRvIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgIlJNIiBmb3IgcmVtb3ZhYmxlICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCAteCBhbmQge09uLE9mZn0tbGluZSBDUFUocykgbWFzay9saXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYnl0ZSBvcmRlciBhbmQgYm9nb01JUFMgaW5mb3JtYXRpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFkZCBkZXNjcmlwdGlvbiBvZiAtLXN5c3Jvb3Qgb3B0aW9uIHRvIG1hbiBwYWdlLCBwbHVzIGdyYW1tYXIgdG91Y2hlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhdm9pZCBsZW4gPSAwIGFzIGEgY29uc2VxdWVuY2Ugb2YgbWF4Y3B1cyA9IDAgIFtHZXJyaXQgUmVua2VyXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCA2NGJpdCBDUFUgZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZWFsbHkgdXNlICdtb2RlJyBhcmd1bWVudCBpbiBwYXRoX2ZvcGVuKCkgIFtQZXRyIFV6ZWxdCisgICAtIHN1cHBvcnQgb2ZmbGluZSBDUFVzICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHN5c2ZzIHdpdGhvdXQgY3B1L29ubGluZSBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbHNjcHUuMSB0byBpbmNsdWRlIG5ldyBhZGRpdGlvbnMuICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgR1BMdjIrICBbS2FyZWwgWmFrXQorbWFuOgorICAgLSBhZGQgcnVzc2lhbiB0cmFuc2xhdGlvbiBvZiBkZGF0ZS4xICBbS2FyZWwgWmFrXQorbWVzZzoKKyAgIC0gVXNlIEVYSVRfKiBhbmQgZGlzY2FyZCBLJlIgc3R5bGUgZGVjbGFyYXRpb24uICBbTWFyZWsgUG9sYWNla10KKyAgIC0gY2hhbmdlIGVycm9yIGV4aXQgY29kZSBmcm9tIDEgdG8gPjEgIFtGcmFuY2VzY28gQ29zb2xldG9dCittaXNjLXV0aWxzOgorICAgLSB1c2UgbmV3IHhtYWxsb2MoKSB3cmFwcGVyICBbRGF2aWRsb2hyIEJ1ZXNvXQorbWtmczoKKyAgIC0gYWRkIGBta2ZzLmV4dDRgIHRvIHNlY3Rpb24gU0VFIEFMU08gb2YgYG1rZnMuOGAuICBbUGF1bCBNZW56ZWxdCisgICAtIGdlbmVyYWwgY2xlYW51cHMgIFtEYXZpZGxvaHIgQnVlc29dCitta2ZzLmNyYW1mczoKKyAgIC0gdXNlIHN5bWJvbGljIGV4aXQgY29kZXMgIFtTYW1pIEtlcm9sYV0KK21vcmU6CisgICAtIHVzZSB4YWxsb2MgZm9yIG1lbW9yeSBhbGxvY2F0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorbW91bnQ6CisgICAtIEFkZCBtb3JlIHBzZXVkbyBmaWxlc3lzdGVtcy4gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIERvbid0IGNhbGwgY2Fub25pY2FsaXplXyooU1BFQykgZm9yIDlwICBbU3ZlbiBFY2tlbG1hbm5dCisgICAtIGFkZCBpbmZvIGFib3V0IHR5cGUuc3VidHlwZSB0byAvc2Jpbi9tb3VudC48dHlwZT4gQVBJIGRlc2NyaXB0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2luaXRfZGVidWcoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgY29udGV4dD0gcmVtb3VudCB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBzdWJ0eXBlcyB0byBmc3RhYi41ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcm9vdGNvbnRleHQ9IGZvciB0bXBmcyBvbiBTRUxpbnV4IGJveGVzICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCBzdGFydGluZyBhIG1hbiBwYWdlIGxpbmUgd2l0aCBhIHNpbmdsZSBxdW90ZSAgW0NocmlzIEZyb3N0XQorICAgLSBiZSBtb3JlIGV4cGxpY2l0IGFib3V0IC0tbW92ZSBpbiBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgZGVzY3JpYmUgVVVJRHMgdXNhZ2UgaW4gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBjYW5vbmljYWxpemUgcGF0aHMgaW4gSEFWRV9MSUJNT1VOVF9NT1VOVCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBmc3RhYi41ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYW5vbmljYWxpemUgInNwZWMiIHdpdGggLS1uby1jYW5vbmljYWxpemUgb3B0aW9uICBbTWlrbG9zIFN6ZXJlZGldCisgICAtIGRvbid0IHVzZSBhdXRvLWNsZWFyIGxvb3BkZXYgaWYgbXRhYiBpcyBhdmFpbGFibGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAibW91bnQgLWEiIGZvciBhdXRvLWNsZWFyIGxvb3BkZXZzIGFuZCAvcHJvYy9tb3VudHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhdGltZSBkZXNjcmlwdGlvbiBpbiBtb3VudC44IG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2NjIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtb3VudC44LCBzaG9ydG5hbWU9bWl4ZWQgaXMgbm93IGRlZmF1bHQgZm9yIHZmYXQgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBwYXJzaW5nIG9mZnNldD0gZm9sbG93ZWQgYnkgbW9yZSBvcHRpb25zICBbUGV0ciBVemVsXQorICAgLSBmaXggcmVmZXJlbmNlIHRvIGNpZnMtdXRpbHMgaW4gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gZ2V0IG1vc3QgcmVjZW50bHkgbW91bnRlZCBmcyBmcm9tIC9ldGMvbXRhYi4gIFtWYWxlcmllIEF1cm9yYV0KKyAgIC0gaGFuZGxlIGZpbGVzeXN0ZW1zIHdpdGggc3VidHlwZSAgW01pa2xvcyBTemVyZWRpXQorICAgLSBpZ25vcmUgKmNvbnRleHQ9IG9wdGlvbnMgb24gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB2ZXJib3NlIGluZm8gIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgZGllKCkgYXMgbm9ucmV0dXJuICBbS2FyZWwgWmFrXQorICAgLSByZWFkIC9zeXMgZm9yIGxvb3BkZXYgYmFja2luZyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSByZWFkIG10YWIgYnkgbGlibW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB3YXJuaW5nIGFib3V0IEZTIGRldGVjdGlvbiBmcm9tIG1vdW50LjEgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgSEFWRV9MSUJNT1VOVF9NT1VOVCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGlzX3JlYWRvbmx5KCkgIFtLYXJlbCBaYWtdCisgICAtIHNhbml0eSBjaGVjayBtb3VudCBmbGFncyBmb3IgTVNfUFJPUEFHQVRJT04gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBleHR7Myw0fSBvcHRpb25zIGluIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSByZWxhdGltZSBkZXNjcmlwdGlvbiBpbiBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgZm9yIG10YWIvdXRhYiB1cGRhdGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdXRpbWVuc2F0KEFUX0ZEQ1dEKSByYXRoZXIgdGhhbiBvcGVuKCkrZnV0aW1lbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHZlcmJvc2UgIGluZm8gZm9yIEhBVkVfTElCTU9VTlRfTU9VTlQgb25seSAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBmaXggbWVtb3J5IGxlYWsgaW4gbmFtZWkoMSkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHBhcnNlIGFsbCBwYXRoIGFyZ3VtZW50cyB3aGVuIGFuIG9wdGFyZyBwYXRoIHdpbGwgZmFpbCAgW1NhbWkgS2Vyb2xhXQorbmV3Z3JwOgorICAgLSBVc2UgZXJyKCkgYW5kIEVYSVRfKiAgW01hcmVrIFBvbGFjZWtdCitwYXJ0eDoKKyAgIC0gYWRkIG1hYyBwYXJ0aXRpb24gdGFibGUgc3VwcG9ydCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIHN1biBwYXJ0aXRpb24gdGFibGUgc3VwcG9ydCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gY2xlYW51cCBhbmQgYWRkIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGNvbXBsZXRlIHJld3JpdGUgIFtEYXZpZGxvaHIgQnVlc28sIEthcmVsIFpha10KKyAgIC0gZml4IGF1dGhvcnMgc2VjdGlvbiBpbiBtYW4gcGFnZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHR5cG8gaW4gcGFydHguOCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW50ZWdyYXRlIHN1cHBvcnQgZm9yIG1hYyBhbmQgc3VuIHBhcnRpdGlvbnMsIGJhc2VkIG9uIGtwYXJ0eC4gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIG5vcm1hbGl6ZSB0aGUgcHVuY3R1YXRpb24gb2YgbWFuIHBhZ2UsIGFuZCBpbXByb3ZlIGdyYW1tYXIgaGVyZSBhbmQgdGhlcmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGlueSBjaGFuZ2UgaW4gdXNhZ2UoKSAgW0thcmVsIFpha10KK3BnOgorICAgLSB1c2UgeGFsbG9jIGZvciBtZW1vcnkgYWxsb2NhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KK3BvOgorICAgLSBhZGQgZ2wucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtGcmFuIERpw6lndWV6XQorICAgLSBhZGQgemhfVFcucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtXZWktTHVuIENoYW9dCisgICAtIGZpeCBub3RlIGFib3V0IGxpY2Vuc2UgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggZ2wgYW5kIHpoX1RXICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYWZ0ZXIgcmVuYW1lICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhdmlkIFByw6l2b3RdCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01pbGFuIEJvdWNoZXQtVmFsYXRdCisgICAtIHVwZGF0ZSBodS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0dhYm9yIEtlbGVtZW5dCisgICAtIHVwZGF0ZSBqYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01ha290byBLYXRvXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgdmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtDbHl0aWUgU2lkZGFsbF0KK3BvcnRhYmlsaXR5OgorICAgLSBmaXggbW50ZW50LmggYW5kIHB0eS5oIHVzYWdlICBbRnJhbsOnb2lzIFJldm9sXQorICAgLSB1c2Ugc3RhbmRhcmQgY29uc3RhbnRzICBbRnJhbsOnb2lzIFJldm9sXQorcmVuaWNlOgorICAgLSBpbXByb3ZlIG1lc3NhZ2VzIHNwZWNpZnlpbmcgd2hhdCBJRCBpcyByZWZlcnJpbmcgdG8gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIG1ha2Ugc29tZSBmdW5jdGlvbnMgc3RhdGljICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgaGFyZGNvZGVkIHByb2dyYW0gbmFtZSB1c2luZyB3YXJuKCkgYW5kIHdhcm54KCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJldmVyc2UgJXMgcG9zaXRpb24gaW4gZXJyb3IgbWVzc2FnZXMgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJld3JpdGUgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIChuaWNlIHJsaW1pdCB3YXMgYWRkZWQgdG8ga2VybmVsKSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK3JldjoKKyAgIC0gY29kaW5nIHN0eWxlLCB2YXJpb3VzIGZpeGVzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgeGFsbG9jIGZvciBtZW1vcnkgYWxsb2NhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KK3J0Y3dha2U6CisgICAtIGFkZCAnc2hvdycgbW9kZSBmb3IgcnRjIGFsYXJtICBbTWFyZWsgT3RhaGFsXQorICAgLSB1c2UgZXJyLmggcm91dGluZXMgIFtLYXJlbCBaYWtdCitzY2hlZHV0aWxzOgorICAgLSBmaXggdHlwb3MgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSB1bm5lZWRlZCBoZWFkZXIgZmlsZXMgIFtEYXZpZGxvaHIgQnVlc29dCitzZmRpc2s6CisgICAtIGFkZCBvcHRpb24gdG8gdXNlIG1heGltdW0gcGFydGl0aW9uIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIHNhdmUgZXJybm8gYmVmb3JlIGNhbGxpbmcgcGVycm9yICBbRm9yZXN0IEJvbmRdCitzaHV0ZG93bjoKKyAgIC0gVXNlIEVYSVRfKiAgW01hcmVrIFBvbGFjZWtdCitzaW1wbGVpbml0OgorICAgLSBVc2UgRVhJVF8qICBbTWFyZWsgUG9sYWNla10KKyAgIC0gbW92ZSBvbGQgaW5pdCBzdHVmZiB0byBzZXBhcmF0ZSBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCitzd2Fwb246CisgICAtIENhbm9uaWNhbGl6ZSBzd2FwIGRldmljZSAgW0FsZXhleSBHbGFka292XQorICAgLSBEb2N1bWVudCBidHJmcyBsaW1pdGF0aW9uIHdpdGggc3dhcGZpbGVzICBbSmVmZiBNYWhvbmV5XQorICAgLSBhZGQgImRpc2NhcmQiIHN1cHBvcnQgIFtIdWdoIERpY2tpbnNdCisgICAtIGFkZCBzdXBwb3J0IGZvciAibm9mYWlsIiBmc3RhYiBtb3VudCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGJldHRlciB0ZXh0IGZvciAiZGlzY2FyZCIsIG5vdGUgYWJvdXQgc3dhcG9uIGluIGZzdGFiLjUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbmVlZGxlc3NseSBnbG9iYWwgdmFyaWFibGVzIHN0YXRpYyAgW1RvYmlhcyBLbGF1c2VyXQorICAgLSB1c2UgRVhJVF9TVUNDRVNTIGNvbnN0YW50cyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gd2FybiBpZiBmaWxlIG93bmVyIGlzIG5vdCByb290ICBbS2FyZWwgWmFrXQorc3dwYW9uOgorICAgLSB1c2UgY2Fub25pY2FsaXplZCBkZXZuYW1lcyBvbiAtcyBvdXRwdXQgIFtLYXJlbCBaYWtdCitzeXMtdXRpbHM6CisgICAtIGZpeCBtYW5wYWdlIHR5cG9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBtYWtlIHVzZSB4YWxsb2Mgd3JhcHBlcnMgIFtEYXZpZGxvaHIgQnVlc29dCit0YWlsZjoKKyAgIC0gZml4ZWQgdGltaW5nIGlzc3VlIHRoYXQgY291bGQgY2F1c2UgZHVwbGljYXRlIGRhdGEgb3V0cHV0ICBbRGltYSBLb2dhbl0KKyAgIC0gdXNlIHhhbGxvYyBmb3IgbWVtb3J5IGFsbG9jYXRpb24gIFtEYXZpZGxvaHIgQnVlc29dCit0YXNrc2V0OgorICAgLSBwcm9wZXIgbnVtYmVycyBwYXJzaW5nICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCAgcmVncmVzc2lvbiB0ZXN0cyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIGJhc2ljIGxpYm1vdW50IHRlc3RzIGZvciBtb3VudGluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2lkIHRlc3QgZm9yIHBhcnRpdGlvbmVkIFJBSUQwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGlibW91bnQgbG9jayB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGlibW91bnQgbXRhYiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYm1vdW50IG10YWIgdXBkYXRlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJtb3VudCBvcHRzdHIuYyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYm1vdW50IHRhYl9wYXJzZS5jIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGlibW91bnQgdGFncyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYm1vdW50IHV0YWIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJtb3VudCB1dGlscy5jIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmlsZnMyIHRlc3QgZm9yIGxpYmJsa2lkICBbSmlybyBTRUtJQkFdCisgICAtIGFkZCBxdW90ZWQgb3B0c3RyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdXRhYiB1cGRhdGUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciBtdGFiICBbS2FyZWwgWmFrXQorICAgLSBmaXggYmxraWQgTUQgdGVzdCAobWlzc2luZyB0YWlsaW5nIHdoaXRlc3BhY2VzKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxpYm1vdW50IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzdHJ0b3NpemUoKSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgZGV2aWNlIG5hbWUgdXNlZCBpbiBzb21lIGZkaXNrIGFuZCBibGtpZCB0ZXN0cyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gaW1wcm92ZSBsaWJtb3VudCBjb250ZXh0IG1vdW50IGFuZCB1bW91bnQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzdWJ0ZXN0cyBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVmcmVzaCBsaWJtb3VudCBmc3RhYiBwYXJzZXIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHNraXAgbm9uLWNvbXBpbGVkIGxpYm1vdW50IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB0cnVuY2F0ZSBCZUZTIGFuZCB0dXhvbmljZSBpbWFnZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxzY3B1IHRlc3RzIG9uIHg4Nl82NCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG5hbWVpIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZpbmRtbnQoOCkgZm9yIG1vdW50IC0tbW92ZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmluZG1udCg4KSBmb3IgcmVtb3VudCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1c2Uge3NyYyxidWlsZH1kaXIgdmFyaWFibGVzIGZvciB0ZXN0cyAgW0thcmVsIFpha10KK3VsOgorICAgLSBmaXggbWVtb3J5IGxlYWsuICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgYXRleGl0KCkgdG8gZGVhbGxvY2F0ZSBidWZmZXIsIHByaW50IGVycm9ycyBieSBlcnIoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyBmb3IgbWVtb3J5IGFsbG9jYXRpb24gIFtEYXZpZGxvaHIgQnVlc29dCit1bW91bnQ6CisgICAtIGFkZCBIQVZFX0xJQk1PVU5UX01PVU5UIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNhbGwgaXNfbG9vcF9hdXRvY2xlYXIoKSBmb3IgYWxsIGxvb3BkZXZzICBbS2FyZWwgWmFrXQorICAgLSB1bW91bnQgLXIgc2VnZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdHJ0b3NpemUoKSBmb3Igb2Zmc2V0PSAgW0thcmVsIFpha10KK3Vuc2hhcmU6CisgICAtIGZpeCBTSUdTRUdWIG9uIGludmFsaWQgY29tbWFuZCBsaW5lIG9wdGlvbiAgW0FsZXhleSBHbGFka292XQordXVpZGQ6CisgICAtIGNvcnJlY3RseSByZXBvcnQgbnVtYmVyIG9mIGdlbmVyYXRlZCBzdWJzZXF1ZW50IFVVSURzICBbUGV0ciBVemVsXQorICAgLSBmaXggLW4gdXNhZ2UgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB1dWlkZCAtciAtbiAyICBbUGV0ciBVemVsXQorICAgLSBpbmNyZWFzZSBjb25uZWN0aW9uIGJhY2tsb2cgc2l6ZSB0byBTT01BWENPTk4gIFtQZXRyIFV6ZWxdCisgICAtIG1lbnRpb24gLXEgaW4gdXVpZGQuOCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIFVVSUREX09QX0JVTEtfKl9VVUlEIG5hbWVkIGNvbnN0YW50cyAgW1BldHIgVXplbF0KKyAgIC0gdXNlIFVVSURfU1RSX0xFTiBhbmQgVVVJRF9MRU4gIFtQZXRyIFV6ZWxdCisgICAtIHVzZSBkYWVtb24oMykgbGlicmFyeSBmdW5jdGlvbiAgW1BldHIgVXplbF0KKyAgIC0gdXNlIGRpZSgpIHdoZXJlIHBvc3NpYmxlICBbUGV0ciBVemVsXQorICAgLSB1c2Ugd3JpdGVfYWxsIGZyb20gaW5jbHVkZS93cml0ZWFsbC5oICBbUGV0ciBVemVsXQordmlwdzoKKyAgIC0gZml4IHdhcm5fdW51c2VkX3Jlc3VsdCBnY2Mgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIEVYSVRfKiBhbmQgZXJyKCkgIFtNYXJlayBQb2xhY2VrXQord2FsbDoKKyAgIC0gVXNlIEVYSVRfKiBhbmQgZXJyKCkgIFtNYXJlayBQb2xhY2VrXQorICAgLSBhZGQgdXNhZ2UgZnVuY3Rpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGRvY3VtZW50IC1uIG9wdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHByb2duYW1lICBbS2FyZWwgWmFrXQorICAgLSB1c2UgeGFsbG9jIGxpYiAgW0RhdmlkbG9ociBCdWVzb10KK3dpcGVmczoKKyAgIC0gZmFpbCBpZiBtb3JlIGRldmljZSBhcmd1bWVudHMgc3BlY2lmaWVkICBbTWlsYW4gQnJvel0KKyAgIC0gdXNlIHdyaXRlX2FsbCBmcm9tIGluY2x1ZGUvd3JpdGVhbGwuaCAgW1BldHIgVXplbF0KKwpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMC1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIwLVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDlkODlkCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMC1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSwxMDYxIEBACitVdGlsLWxpbnV4IDIuMjAgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIFRoZSBkZGF0ZSgxKSBjb21tYW5kIGlzIG5vdCBidWlsdCBieSBkZWZhdWx0IChzZWUgLS1lbmFibGUtZGRhdGUpLgorCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCithZ2V0dHkoOCk6CisgIC0gbWluZ2V0dHkgZmVhdHVyZXMgaGF2ZSBiZWVuIG1lcmdlZCB0byBhZ2V0dHkKKworY2hydCgxKSwgdGFza3NldCgxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAiLS1hbGwtdGFza3MiIHRvIHNldCBvciByZXRyaWV2ZSB0aGUgCisgICAgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIFBJRAorCitkbWVzZygxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnM6IC0tY2xlYXIsIC0tY29uc29sZS1vbiwgLS1jb25zb2xlLW9mZiwKKyAgICAtLWN0aW1lLCAtLWRlY29kZSwgLS1mYWNpbGl0eT08bGlzdD4sIC0tbGV2ZWw9PGxpc3Q+LCAtLXNob3ctZGVsdGEsCisgICAgLS1ub3RpbWUsIC0ta2VybmVsIGFuZCAtLXVzZXJzcGFjZQorCitmZGlzayg4KToKKyAgLSBpbXByb3ZlZCBkaWFsb2dzIHRvIGJlIG1vcmUgdXNlci1mcmllbmRseQorCitmaW5kbW50KDgpLCBwYXJ0eCg4KSwgbHNibGsoOCkKKyAgLSBzdXBwb3J0IG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uICItLXBhaXJzIiB0byBlbmFibGUga2V5PSJ2YWx1ZSIgCisgICAgb3V0cHV0IGZvcm1hdAorCitmaW5kbW50KDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAiLS1wb2xsIiBhbmQgIi0tdGltZW91dCIgdG8gbW9uaXRvcgorICAgIC9wcm9jL3NlbGYvbW91bnRpbmZvIGNoYW5nZXMKKworaW9uaWNlKDEpOgorICAtIHN1cHBvcnRzIGh1bWFuLXJlYWRhYmxlIHNjaGVkdWxpbmcgY2xhc3MgbmFtZXMsIGZvciBleGFtcGxlOgorICAgIGlvbmljZSAtYyBiZXN0LWVmZm9ydCAkUElECisKK2tpbGwoMSk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1xIDxzaWd2YWw+IiB0byB1c2Ugc2lncXVldWUoMikKKyAgLSBzdXBwb3J0cyByZWFsLXRpbWUgc2lnbmFscyBpbiBmb3JtYXRzIFJUPG4+LCBSVE1JTis8bj4gYW5kIFJUTUFYLTxuPgorCitsaWJtb3VudDoKKyAgLSB0aGUgQVBJIG9mZmljaWFsbHkgc3RhYmxlCisKK2xzYmxrKDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb2x1bW5zOiAKKyAgICAgIFRZUEUgICAgICAtIGRldmljZSB0eXBlCisgICAgICBSUS1TSVpFICAgLSBxdWV1ZSByZXF1ZXN0IHNpemUKKyAgICAgIFNUQVRFICAgICAtIGRldmljZSBzdGF0ZSAoZS5nLiBydW5uaW5nLCBzdXNwZW5kZWQpCisgICAgICBEQUxJR04gICAgLSBkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQKKyAgICAgIERJU0MtR1JBTiAtIGRpc2NhcmQgZ3JhbnVsYXJpdHkKKyAgICAgIERJU0MtTUFYICAtIGRpc2NhcmQgbWF4IGJ5dGVzCisgICAgICBESVNDLVpFUk8gLSBkaXNjYXJkIHplcm9lcyBkYXRhCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi1EIiB0byBwcmludCBkZXZpY2UgZGlzY2FyZCB0b3BvbG9neQorCitsc2NwdSg4KToKKyAgLSBpbXByb3ZlZCBzdXBwb3J0IGZvciBzMzkwIGJveGVzCisKK21rZnMubWluaXg6CisgIC0gc3VwcG9ydHMgbWluaXggdmVyc2lvbiAzCisKK21vdW50cG9pbnQoMSk6CisgIC0gdGhpcyBORVcgQ09NTUFORCBpcyBsaWJtb3VudCBiYXNlZCByZS1pbXBsZW1lbnRhdGlvbiBvZiBtb3VudHBvaW50KDEpIGZyb20KKyAgICBzeXN2aW5pdCBzdWl0ZQorCitzZXRhcmNoKDgpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAiLS11bmFtZS0yLjYiIHRvIGVuYWJsZSBVTkFNRTI2CisgICAgcGVyc29uYWxpdHkgZmxhZworCitzaW1wbGVpbml0OgorICAtIHRoaXMgc2V0IG9mIGRlcHJlY2F0ZWQgdXRpbHMgaGFzIGJlZW4gUkVNT1ZFRAorCit3YWxsKDEpOgorICAtIHN1cHBvcnQgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tdGltZW91dCIgdG8gc3BlY2lmeSB3cml0ZSB0aW1lb3V0IHRvIAorICAgIHRlcm1pbmFscyBpbiBzZWNvbmRzLgorCitJdCdzIG5vdCBzdXBwb3J0ZWQgdG8gbGluayB3aXRoIGV4dGVybmFsIChlLmcuIGZyb20gZTJmc3Byb2dzKSBsaWJibGtpcyBhbmQKK2xpYnV1aWQgYW55IG1vcmUuCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMTkgYW5kIHYyLjIwCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eCAyLjE5LjEgWzAyLU1heS0yMDExXQorCisgKiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE5L3YyLjE5LjEtUmVsZWFzZU5vdGVzCisgICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE5L3YyLjE5LjEtQ2hhbmdlTG9nCisKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjE5IGFuZCB2Mi4yMAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjAvCisKK2FkZHBhcnQ6CisgICAtIG11bHRpcGxpY2F0aW9uIG9uIDUxMiBkZWxldGVkICBbQW50b24gVi4gQm95YXJzaGlub3ZdCithZ2V0dHk6CisgICAtICNlbmRpZiBjb21tZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBDLlVURi04IGxvY2FsZSBpbnN0ZWFkIG9mIGVuX1VTLlVURi04ICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBGaXggSVVURjggZmxhZyAgW1dlcm5lciBGaW5rXQorICAgLSBhZGQgYW4gYXV0b2xvZ2luIGZlYXR1cmUgIFtXZXJuZXIgRmlua10KKyAgIC0gYmV0dGVyIHN1cHBvcnQgb2YgdmlydHVhbCBjb25zb2xlICBbRHIuIFdlcm5lciBGaW5rXQorICAgLSBjaGVjayB2aXJ0dWFsIGNvbnNvbGUgZm9yIFVURi04IHN1cHBvcnQgIFtXZXJuZXIgRmlua10KKyAgIC0gY2xlYW4gdXAgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgYXJndiBwYXJzaW5nLCB1dG1wIHVwZGF0ZSwgdXNlIHdyaXRlYWxsKCksIGV0Yy4gIFtXZXJuZXIgRmlua10KKyAgIC0gY29kaW5nIHN0eWxlIC0gZml4IGNvbW1lbnRzLCByZW1vdmUgdGFpbGluZyB3aGl0ZXNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgLSBmaXggaWRlbnRhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHhhbGxvYy5oIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBlcnJvciBtZXNzYWdlIGFib3V0IHJlcXVpcmVkIGFyZ3VtZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBnZXRvcHQgY2FzZSBzZWdtZW50IHJlb3JkZXJpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBsb2dpbigxKSBhcmd2W10gIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgY29kZSBjbGVhbnVwICBbV2VybmVyIEZpbmtdCisgICAtIG9ubHkgZW5hYmxlIEZfVVRGOCBpZiBrZXJuZWwgaGFzIGFscmVhZHkgc2V0IElVVEY4LiAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gcHJvcGVyIHNlc3Npb24gb24gdGhlIHRlcm1pbmFsIGxpbmUgIFtXZXJuZXIgRmlua10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IG9wdGlvbnMgc3lub255bXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBzcGFjZSBhbmQgIih2b2lkKSIganVuayAgW0thcmVsIFpha10KKyAgIC0gc3ltYm9saWMgc3RhbmRhcmQgZmlsZSBkZXNjcmlwdG9ycyAgW1NhbWkgS2Vyb2xhXQorICAgLSB0cnkgbmV4dCBzcGVlZCBhZnRlciBDQlJFQUsgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBhIGdlbmVyaWMgZnVuY3Rpb24gZm9yIHN0cmluZ3MgY29uY2F0ZW5hdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYy5oICBbU2FtaSBLZXJvbGFdCisgICAtIGZ1cnRoZXIgc2NydWJiaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgaXNzdWUgcGF0aCB0byBwYXRobmFtZXMuaCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmdXJ0aGVyIG1pbmdldHR5IGZlYXR1cmVzICBbRHIuIFdlcm5lciBGaW5rXQorYmxrZGV2OgorICAgLSBhZGQgYmxrZGV2X2lzX21pc2FsaWduZWQoKSAgW0RhdmlkbG9ociBCdWVzb10KK2Jsa2lkOgorICAgLSBhZGQgLWQgb3B0aW9uIHRvIHByaW50IG5vbi1wcmludGFibGUgY2hhcnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGZyZWUoKSB1bmluaXRpYWxpemVkIHZhcmlhYmxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpZ25vcmUgLWkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJlYWQgcGFzdCBlbmQgb2YgRkFUMzIgY2x1c3RlciBjaGFpbiAgW0pvaG4gTGluZGdyZW5dCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGRvdWJsZSBmcmVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGluZGVudCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyAoYWRkIC1rIG9wdGlvbikgIFtLYXJlbCBaYWtdCisgICAtIHNtYWxsIGZpeCBmb3Igc2FmZV9wcmludCgpICBbU2VyZ2V5IEd1c2Fyb3ZdCisgICAtIHVuaWZvcm1pemUgdGhlIHN5bm9wc2lzLCByZW1vdmUgInRoZSB0aGUiICBbQmVubm8gU2NodWxlbmJlcmddCitibG9ja2RldjoKKyAgIC0gYWRkIC0taGVscCBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYnJva2VuIGNvbXBpbGVyIHdhcm5pbmcgY2lyY3VtdmVudGlvbiByZW1vdmVkICBbU2FtaSBLZXJvbGFdCisgICAtIGNvZGluZyBzdHlsZSBmaXggIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5kZW50IHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBwcm9nbmFtZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgb3B0aW9ucyByZWFkIG9ubHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdHlwZSBtaXNtYXRjaCBmaXggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcGF0aG5hbWVzLmggdG8gZmluZCBwYXJ0aXRpb25zICBbU2FtaSBLZXJvbGFdCitidWlsZC1zeXM6CisgICAtIEVuYWJsZSBhdXRvbWFrZSdzIC1Xbm8tcG9ydGFiaWxpdHkgb3B0aW9uLiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS1lbmFibGUtZGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZXF1aXJlZCBmaWxlcyB0byBkaXN0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB0ZXJtLXV0aWxzLyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRlcm0tdXRpbHMvLmdpdGlnbm9yZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlLjMgLmdpdGlnbm9yZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgcGFydHggTWFrZWZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbGliLyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZGlzYWJsZSBsaWIvIGF0LmMgdGVzdHMgYnVpbGRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBpZ25vcmUgZGF0YXJvb3RkaXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgYnVpbGQgbHNibGsgb24gTGludXggd2l0aG91dCBvcGVuYXQoKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc3VwcG9ydCBleHRlcm5hbCAoZTJmc3Byb2dzKSBsaWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc3VwcG9ydCBleHRlcm5hbCAoZTJmc3Byb2dzKSBsaWJ1dWlkICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB0cnkgdG8gY2hncnAgd3JpdGUgb3Igd2FsbCBpZiB0aGV5IGFyZSBub3QgYnVpbHQgIFtNYXJjLUFudG9pbmUgUGVyZW5ub3VdCisgICAtIGRvbid0IHVzZSBIQVZFX0xJQkJMS0lEX0lOVEVSTkFMIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgbW91bnRwb2ludCwgYWRkIGRlcGVuZGVuY2Ugb24gbGlibW91dCAgW0thcmVsIFpha10KKyAgIC0gZml4ICdtYWtlIGNoZWNraW5jbHVkZXMnIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29uZmlndXJlLmFjIGZvciB1dWlkZCAgW0thcmVsIFpha10KKyAgIC0gZml4IGRpc3RjaGVjayBmb3IgdGVybS11dGlscyAgW0thcmVsIFpha10KKyAgIC0gZml4IGdpdC12ZXJzaW9uLWdlbiBmb3IgLXJjIHRhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBndGstZG9jIGJ1aWxkICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ3RrLWRvYyBkaXN0Y2xlYW4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzcGFjZXMgdmVyc3VzIHRhYnMgY29uZmxpY3QgIFtNYXJjLUFudG9pbmUgUGVyZW5ub3VdCisgICAtIGZpeCB1bnBvcnRhYmxlIE1ha2VmaWxlLmFtIGFzc2lnbm1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZSA8dXVpZC5oPiByYXRoZXIgdGhhbiA8dXVpZC91dWlkLmg+ICBbS2FyZWwgWmFrXQorICAgLSBpbnRyb2R1Y2UgQU1fUFJPR19DQ19DX08gbWFjcm8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBCVUlMRF9TQ0hFRFVUSUxTIHRvIHRvcC1sZXZlbCBNYWtlZmlsZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBhZ2V0dHkgdG8gdGVybS11dGlscyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBtZXNnIHRvIHRlcm0tdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHJlc2V0IHRvIHRlcm0tdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNjcmlwdCBhbmQgc2NyaXB0cmVwbGF5IHRvIHRlcm0tdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNldHRlcm0gdG8gdGVybS11dGlscy8gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgd2FsbCB0byB0ZXJtLXV0aWxzLyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB3cml0ZSB0byB0ZXJtLXV0aWxzIGRpcmVjdG9yeSAgW1NhbWkgS2Vyb2xhXQorICAgLSBub24tbGludXggZml4dXAgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHByaW50IGhlbHBmdWwgZXJyb3Igd2hlbiBwa2cubTQgaXMgbWlzc2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBwcm92aWRlIGFsdGVybmF0aXZlcyBmb3IgZXJyLCBlcnJ4LCB3YXJuIGFuZCB3YXJueCAgW0ZhYmlhbiBHcm9mZmVuXQorICAgLSByZWxlYXNlKysgKHYyLjIwLXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjAtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGFuZCBpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgY2hlY2stbmV3cyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGZpbGVzIGZyb20gZ2V0b3B0ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbmFtZSAtLWVuYWJsZS1wYXJ0eCB0byAtLWRpc2FibGUtcGFydHggIFtLYXJlbCBaYWtdCisgICAtIHN0b3AgYnVpbGRpbmcgbGluZSgxKSBieSBkZWZhdWx0ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBBQ19MQU5HX1NPVVJDRSB0byBzdXBwcmVzcyB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgQVVUT01BS0VfT1BUSU9OUyA9IGdudSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZ2l0LXZlcnNpb24tZ2VuIHRvIGRpc3RpbmN0IGdpdCBhbmQgcmVsZWFzZSB2ZXJzaW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZ3RrZG9jIHdpdGhvdXQgdG1wbCBkaXIgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzaWxlbnQgcnVsZXMgZ290IGd0a2RvYywgZml4IGRlcGVuZGVuY2llcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRvcC1sZXZlbCBkaXJlY3RvcnkgZm9yIGxpYmJsa2lkIHJhdGhlciB0aGFuIHNobGlicy9ibGtpZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRvcC1sZXZlbCBkaXJlY3RvcnkgZm9yIGxpYm1vdW50IHJhdGhlciB0aGFuIHNobGlicy9tb3VudCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRvcC1sZXZlbCBkaXJlY3RvcnkgZm9yIGxpYnV1aWQgcmF0aGVyIHRoYW4gc2hsaWJzL3V1aWQgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIGFyZ3VtZW50IGNoZWNraW5nLCBsb25nIG9wdGlvbnMgYW5kIGFyZ3VtZW50IGNoZWNraW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIGZldyBjb2Rpbmcgc3R5bGUgaXNzdWVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggbWFucGFnZSBmb3JtYXR0aW5nICBbUGV0ciBVemVsXQorICAgLSBpbmRlbnQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gKCJmaXN0dCBkYXkiKSBpbiBoZWxwIHRleHQsIHNlaXplIGNoYW5jZSB0byBpbXByb3ZlIGl0ICBbQmVubm8gU2NodWxlbmJlcmddCitjZmRpc2s6CisgICAtIGFkZCBob21lIGFuZCBlbmQga2V5cyBtb3ZlbWVudHMgaW4gcGFydGl0aW9uIGxpc3QgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBjb21waWxhdGlvbiB3aXRoIHNsYW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2NjIHdhcm5pbmcgKHVudXNlZCB2YXJpYWJsZSkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgIk5vIG1vcmUgcGFydGl0aW9uIiB3YXJuaW5nIHRvIGRyYXdfY3Vyc29yKCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIG1vdmUga2V5cyByZWxhdGVkIHRvIHRoZSBjdXJzb3Igb2YgdGhlIHBhcnRpdGlvbiBsaXN0IG91dHNpZGUgbWVudXNlbGVjdCgpICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgdW51c2VkIHZlcnRpY2FsIG1lbnUgZGlyZWN0aW9uIGNvZGUgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHVzZSBrZXlwYWQoKSBpbiBtZW51IHNlbGVjdGlvbiBmdW5jdGlvbiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2NoZWNrdHR5OgorICAgLSBVc2UgTkdST1VQU19NQVggaW5zdGVhZCBvZiBOR1JPVVBTICBbSm9zaWFoIFdvcmNlc3Rlcl0KKyAgIC0gZml4IHVudXNlZCBwYXJhbWV0ZXJzICBbU2FtaSBLZXJvbGFdCitjaGZuOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KK2NocnQ6CisgICAtIFtzZWxpbnV4XSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cmluZ3MgdG8gdXNlIE5MUyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGp1c3Qgc3R5bGUgb2YgbWFuIHBhZ2UsIGFscGhhYmV0aXplIG9wdGlvbiAtcCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhbGxvdyB0byB1c2UgLS1hbGwtdGFza3Mgd2hlbiByZXRyaWV2ZSBpbmZvICBbS2FyZWwgWmFrXQorICAgLSBjaHJ0LjEgZml4IGdyYW1tYXIgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGNsYXJpZnkgdXNlIG9mIC1hIG9wdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gY29kaW5nIHN0eWxlIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSBkYXRhIHR5cGUgY29tcGlsZXIgd2FybmluZyBmaXhlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHRocmVhZHMgYXdhcmUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHNpbGVudGx5IGlnbm9yZSAtUiBpZiB1bnN1cHBvcnRlZCAgW0thcmVsIFpha10KK2Noc2g6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2NjIGxpbmsoKSB3YXJuX3VudXNlZF9yZXN1bHQgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNtYWxsIG1lbW9yeSBsZWFrICBbS2FyZWwgWmFrXQorY29sOgorICAgLSBjaGVjayB3aXRoIHN0cnRvbF9vcl9lcnIgb3B0aW9uIGFyZ3VtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIGNvZGluZyBzdHlsZSBjaGFuZ2VzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KK2NvbGN0cjoKKyAgIC0gdXNlIGxvbmcgb3B0aW9ucyBhbmQgY2xlYW4gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCitjb2xybToKKyAgIC0gZ290b3MsIGxvbmcgb3B0aW9ucyBhbmQgYXJndW1lbnQgY2hlY2tpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFudWFsIHVwZGF0ZSAgW1NhbWkgS2Vyb2xhXQorY29sdW1uOgorICAgLSBmaXggcHJvYmxlbXMgd2l0aCB1bmluaXRpYWxpemVkIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyBsaWIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHZlcnNpb24gcHJpbnRpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29kaW5nIHN0eWxlIGZpeGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZyZWUgbWVtb3J5IGJlZm9yZSBleGl0ICBbU2FtaSBLZXJvbGFdCisgICAtIGdsb2JhbCB2YXJpYWJsZXMgcmVtb3ZlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHRhYmxlIGZ1bmN0aW9uIGNsYXJpZmljYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwbGFjZSBlbWFsbG9jIHdpdGggeGNhbGxvYyAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YWxpZGF0ZSBudW1lcmljIHVzZXIgaW5wdXRzICBbU2FtaSBLZXJvbGFdCitjcmFtZnM6CisgICAtIHJlbW92ZSBjcmFtZnNfY29tbW9uLmggIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBzdGRpbnQuaCBpbnN0ZWFkIG9mIHV7OCwxNiwzMn0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCitjcmFtZnNfY29tbW9uOgorICAgLSBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK2N5dHVuZToKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtLYXJlbCBaYWtdCitkZGF0ZToKKyAgIC0gZml4IFN0LiBUaWIncyBEYXkgaW4gb3RoZXIgbGFuZ3VhZ2VzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbm9uLWFzY2lpIGNoYXJzIGZyb20gZGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBBUlJBWV9TSVpFICBbS2FyZWwgWmFrXQorZG1lc2c6CisgICAtIGFkZCAtLWNsZWFyIChTWVNMT0dfQUNUSU9OX0NMRUFSKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tY29uc29sZS1vbiBhbmQgLS1jb25zb2xlLW9mZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tY3RpbWUgdG8gcHJpbnQgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGVjb2RlIHRvIHByaW50IHJlYWRhYmxlIGZhY2lsaXR5IGFuZCBsZXZlbCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZmFjaWxpdHkgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1sZXZlbD08bGlzdD4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXNob3ctZGVsdGEgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLXQgb3B0aW9uIHRvIHN1cHByZXNzIHRpbWVzdGFtcHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtdSBhbmQgLWsgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucywgLS1oZWxwIGFuZCAtLXZlcnNpb24gIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHByaW50IHRpbWUgZGVsdGEgd2l0aG91dCB0aW1lc3RhbXAgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIG1lc3MgYXQgdGhlIGVuZCBvZiBkbWVzZyBvdXRwdXQgIFtQZXRyIFV6ZWxdCisgICAtIGNsZWFudXAgb3B0aW9ucyBhbmQgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgbGV2ZWwgcGFyc2lpZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcmludCBub24tcHJpbnRhYmxlIGNoYXJzLCBwYXJzZSByZWNvcmRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHNlZ2ZhdWx0ICBbTWFyYy1BbnRvaW5lIFBlcmVubm91XQorICAgLSBmaXggdHlwbyBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIHNvbWUgb3B0aW9ucyBtdXR1YWxseSBleGNsdXNpdmUgIFtLYXJlbCBaYWtdCisgICAtIHByaW50X2J1ZmZlcigpIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSByZWZhY3RvcmluZyAtIGNsZWFudXAgZ2V0IGJ1ZnNpemUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVmYWN0b3JpbmcgLSBjbGVhbnVwIG1haW4oKSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZWZhY3RvcmluZyAtIGNsZWFudXAgcHJpbnQgYnVmZmVyIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlZmFjdG9yaW5nIC0gY2xlYW51cCByZWFkIGJ1ZmZlciBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW9yZGVyIG9wdGlvbnMsIGFkZCBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIFNZU0xPR19BQ1RJT05fKiBtYWNyb3MgcmF0aGVyIHRoYW4gbWFnaWMgY29uc3RhdG50cyAgW0thcmVsIFpha10KKyAgIC0gdmFyaWFibGVzIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwcyAtLSB1c2UgZXJyKCksIHhhbGxvYygpICBbTWFyZWsgUG9sYWNla10KK2RvY3M6CisgICAtIG1lbnRpb24gbWtzd2FwIGxvbmcgb3B0aW9ucyBpbiBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBUT0RPIHVwZGF0ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIDIuMjAgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTWF0ZWogdG8gQVVUSE9SUyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyB0byBmZGZvcm1hdC44ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gbWtmcy44ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gbWtmcy5iZnMuOCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZ2V0dHkgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGFnZXR0eSBtYW51YWwgdXBkYXRlICBbU2FtaSBLZXJvbGFdCisgICAtIGFsc28gdW5pZm9ybWl6ZSBoZWFkZXJzIGFuZCBmb290ZXJzIG9mIHRyb2ZmLWZvcm1hdHRlZCBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY29sIG1hbnVhbCB1cGRhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29sY3J0IG1hbnVhbCB1cGRhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZHJvcCB0aGUgcGx1cmFsaXphdGlvbiBpdGVtIHdpdGggbmdldHRleHQoKSBpbiBUT0RPIGZpbGUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZmF2b3VyIHNtYWxsIHBhdGNoZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5mb3JtIGFib3V0IGNhbCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5mb3JtIGFib3V0IG1jb29raWUgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGlzb3NpemUuOCBhZGQgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGxvb2suMSBtYW51YWwgcmV3cm90ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtZW50aW9uIGxvbmcgb3B0aW9ucyBpbiBpb25pY2UuMSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtZW50aW9uIGxvbmcgb3B0aW9ucyBpbiB1dWlkZC44IG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBSRUFETUUubmFtZWkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lLjEgdmVyYm9zZSwgbG9uZyBvcHRpb25zIGFuZCB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHNjcmlwdHJlcGxheSBhZGQgbm90ZSBhYm91dCBuZXcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzY3JpcHRyZXBsYXkgbWVudGlvbiBiYXNpYyBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ZkaXNrIG1hbnVhbCB1cGRhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdGVsbCBtb3VudC8qIGlzIGluIG1haW50ZW5hbmNlIG1vZGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdHdlYWsgdGhlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2Ygc2V2ZXJhbCBkaXNrLXV0aWxzIG1hbiBwYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0d2VhayB0aGUgZm9ybWF0dGluZyBhbmQgd29yZGluZyBvZiBzb21lIHRleHQtdXRpbHMgbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVuLWRlcHJlY2F0ZSBraWxsKDEpICBbS2FyZWwgWmFrXQorICAgLSB1bmlmb3JtaXplIHRoZSBoZWFkZXIgYW5kIGZvb3RlciBsaW5lcyBpbiBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIERFUFJFQ0FURUQgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFJlbGVhc2VOb3RlcyAgZml4IHR5cG8gaW4gdjIuMjAtUmVsZWFzZU5vdGVzICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGV4YW1wbGUgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB2Mi4yMCBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHV1aWRnZW4uMSBtZW50aW9uIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorZWx2dHVuZSwgaXNvc2l6ZToKKyAgIC0gcHJpbnQgdXNhZ2UgdGV4dCBpbiBjYXNlIG9mIGludmFsaWQgb3B0aW9uICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgcmVkdW5kYW50IG1lc3NhZ2UgaW4gY2FzZSBvZiBpbnZhbGlkIG9wdGlvbiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2ZhbGxvY2F0ZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorZmRmb3JtYXQ6CisgICAtIGNsZWFudXAgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbmNsdWRlLXdoYXQteW91LXVzZSBoZWFkZXIgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW50ZWdlciBjb21wYXJpc29ucyAmIHVudXNlZCBwYXJhbWV0ZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4YWxsb2MuaCAgW1NhbWkgS2Vyb2xhXQorZmRpc2s6CisgICAtIGFjY2VwdCBkaWdpdHMtc3BhY2Utc3VmZml4IGZvcm1hdCAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gYWRkIGEgZGVmYXVsdCByZXNwb25zZSBmb3IgdGhlIHBhcnRpdGlvbiB0eXBlIGRpYWxvZyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gY2hhbmdlIHByaW1hcnkgb3IgZXh0ZW5kZWQgcGFydGl0aW9uIHR5cGUgZGlhbG9nICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBjaGVjayBpbmRleCBiZWZvcmUgYWNjZXNzIHRvIGFycmF5IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4ICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgZm9yIHR5cGUiIGVycm9yIG1lc3NhZ2UgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyIC1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBlcnJvciBtZXNzYWdlIGZvciBtaXNzaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gbW9yZSByb2J1c3Qgd2hvbGUtZGlzayBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIHByaW50IGxvZ2ljYWwgcGFydGl0aW9uIG51bWJlciB3aGlsZSBhZGRpbmcgaXQgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHF1aXQgZnJvbSBwYXJ0aXRpb24gdHlwZSBkaWFsb2cgYWZ0ZXIgaW52YWxpZCByZXNwb25zZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXNlIGEgc2luZ2xlIHZhcmlhYmxlIGZvciB0aGUgY3VycmVudCBkaXNrbGFiZWwgIFtGcmFuY2VzY28gQ29zb2xldG9dCitmZGlzaywgZGlzcGxheSwgaGV4ZHVtcC5oOgorICAgLSBVc2Ugc3RhbmRhcmQgQyB0eXBlcyBpbnN0ZWFkIG9mIHVfaW50LCB1X2NoYXIsIHVfbG9uZywgZXRjLiAgW0pvc2lhaCBXb3JjZXN0ZXJdCisgICAtIGNvcnJlY3QgdGhlIGdyYW1tYXIgb2YgYW4gZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZmluZG1udDoKKyAgIC0gKG1hbiBwYWdlKSBzaG9ydCBvcHRpb24gZm9yIC0tdGltZW91dCBpcyBub3QgLXQgYnV0IC13ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCAtLXBhaXJzIHRvIG91dHB1dCBpbiBrZXk9InZhbHVlIiBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXBvbGwgYW5kIC0tdGltZW91dCB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXBvbGwgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS10aW1lb3V0IG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbHVtbnMgZGVzY3JpcHRpb24gdG8gdGhlIC0taGVscCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIG1udF90YWJfbmV4dF9mcygpIHJldHVybiBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZmlsdGVyIGZpbGVzeXN0ZW1zIGFuZCBhY3Rpb25zIGZvciAtLXBvbGwgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxlYWsgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3BlbGxpbmcsIHdvcmRpbmcgYW5kIG9yZGVyIG9mIGhlbHAgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtaW5vciBjb2Rpbmcgc3R5bGUgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgT0xELSogY29sdW1ucyBvbmx5IHdoZW4gbmVjZXNzYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBzbGljZSB1cCB0aGUgaGVscCB0ZXh0IGludG8gbWFuYWdlYWJsZSBjaHVua3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2Zsb2NrOgorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBleGFtcGxlIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorZnNjazoKKyAgIC0gZml4IC1DIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjbGFuZyBjb21waWxlciB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGluIG1hbiBwYWdlIHNheSB0aGF0ICJvcHRpb25zIHRha2UgYXJndW1lbnRzIiwgbm90IHZpY2UgdmVyc2EgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW4gdXNhZ2UoKSB1bm1hcmsgdHlwZSBhcyBvcHRpb25hbCBmb3IgdGhlIC10IG9wdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbmRlbnQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIDx2YXI+IGluIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzYW1lIHdvcmQgY2F0ZWdvcnkgaW4gbWVzc2FnZSwgYW5kIGFkZCB0cmFuc2xhdG9ycyBjb21tZW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSB4bWFsbG9jLCB3YXJuICYgZXJyIGFuZCBuZXcgdXNhZ2UgIFtTYW1pIEtlcm9sYV0KK2ZzY2ssIGNoZWNrdHR5LCBmbG9jazoKKyAgIC0gVXNlIG1vcmUgcG9ydGFibGUgaW5jbHVkZXMuICBbSm9zaWFoIFdvcmNlc3Rlcl0KK2ZzY2suY3JhbWZzOgorICAgLSBhZGQgbWlzc2VkIHN0cmluZ3MgdG8gdHJhbnNsYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJldGlyZSBkaWUgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYy5oICBbU2FtaSBLZXJvbGFdCitmc2NrLm1pbml4OgorICAgLSBmaXggImFycmF5IHN1YnNjcmlwdCBpcyBhYm92ZSBhcnJheSBib3VuZHMiICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjb21tb24gZnVuY3Rpb25hbGl0bHkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBsaWIvaXNtb3VudGVkLmMgIFtLYXJlbCBaYWtdCitmc2ZyZWV6ZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorZnN0cmltOgorICAgLSBjYXN0IGZyb20gX191NjQgdG8gc3RhbmRhcmQgQyB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0IG1pc3Rha2VuIGdyYW1tYXIgaW4gb25lIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2ZzdHJpbSwgc2V0YXJjaDoKKyAgIC0gcmVwbGFjZSBlcnJvcigpIHdpdGggZXJyKCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCitnZXRvcHQ6CisgICAtIGFkZCBzdGF0aWMgcXVhbGlmaWVycyAgW09saXZpZXIgTWVuZ3XDqV0KKyAgIC0gZG8gbm90IGJ1bmRsZSBoZWxwIHRleHQgbGluZXMgaW50byBhIHNpbmdsZSB1bndpZWxkeSBjaHVuayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggJy0tdW5xb3RlJyB0eXBvIGluIHVzYWdlIHRleHQgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGdjYyB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBpbmRlbnQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1c2VyIGdldG9wdF9sb25nIHBhcnNpbmcgdG8gdXNlIGZ1bmN0aW9uIHBvaW50ZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gb3B0aW9ucyBzdHJ1Y3QsIHVzYWdlIGFuZCB2ZXJzaW9uIG91dHB1dHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGZyZWUoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgPHZhcj4gaW4gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYy5oICBbU2FtaSBLZXJvbGFdCitoZXhkdW1wOgorICAgLSBkb24ndCBpbmNsdWRlIGVyci5oIGRpcmVjdGx5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggImJlZ2lubmluIiB0eXBvIGluIHVzYWdlIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHNlZ2ZhdWx0IGR1ZSB0byB1bmluaXRpYWxpemVkIG1lbW9yeSAgW1BldHIgVXplbF0KKyAgIC0gbmV3IHVzYWdlKCksIHhhbGxvYyBhbmQgZXJyLmggc3R1ZmYgIFtTYW1pIEtlcm9sYV0KK2h3Y2xvY2s6CisgICAtIERvbid0IHVzZSBhc20vaW8uaCBpZiBzeXMvaW8uaCBjYW4ndCBiZSBmb3VuZCAgW0pvc2lhaCBXb3JjZXN0ZXJdCisgICAtIGFkZCB2YXJpYWJsZSBpbml0aWFsaXphdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBidWlsZCBvbiBub24tTGludXggIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGNvZGluZyBzdHlsZSBjbGVhbiB1cCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGdjYyB3YXJuaW5nICh1bmluaXRpYWxpemVkIHZhcmlhYmxlKSAgW0thcmVsIFpha10KKyAgIC0gaW4gbWFuIHBhZ2UgbW92ZSAtLWRhdGUgYW5kIC0tZXBvY2ggZnJvbSBGdW5jdGlvbnMgdG8gT3B0aW9ucyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbmNsdWRlLXdoYXQteW91LXVzZSBoZWFkZXIgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5kZW50IHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgUlRDIGRlZmF1bHQgdG8gVVRDIHRpbWUgIFtEYW5pZWwgRHJha2VdCisgICAtIG1vdmUgbG9uZyBvcHRpb25zIGF3YXkgZnJvbSBnbG9iYWwgc2NvcGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBwYXRoIGRlZmluaXRpb25zIHRvIHBhdGhuYW1lcy5oICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBjbG9jay1wcGMuYyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZ290byBzdGF0ZW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIG1pc2xlYWRpbmcgaW5mb3JtYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHRpbnkgY2hhbmdlIGluIGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSA8dmFyPiBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGliYyBlcnJvciBwcmludGluZyBmdW5jdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdmFsaWRhdGUgbnVtZXJpYyBvcHRpb24gYXJndW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIHdoZW4gY3V0dGluZyB1cCBoZWxwIHRleHRzIGFueXdheSwgZG8gaXQgaW50byBzbWFsbCBjaHVua3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2luY2x1ZGU6CisgICAtIFthdC5oXSAgaW5jbHVkZSBjLmggZm9yIFBBVEhfTUFYICBbS2FyZWwgWmFrXQorICAgLSBbYml0b3BzLmhdIG1ha2UgcmV0dXJuIHZhbHVlcyBjb25zaXN0ZW50ICBbS2FyZWwgWmFrXQorICAgLSBbYy5oXSAgYWRkIGZhbGxiYWNrIGZvciBvbGQgbGlicyB3aXRob3V0IE9fQ0xPRVhFQyAgW0thcmVsIFpha10KKyAgIC0gW2MuaF0gIHJlbW92ZSBzdHJpbmdzLmggaW5jbHVkZSBkdWJsaWNhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gW2MuaF0gIHR5cGVvZiB0byBfX3R5cGVvZl9fIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSBbYy5oXSBJbmNsdWRlIHN0ZGxpYi5oIHVuY29uZGl0aW9uYWx5ICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIFtjLmhdIGFkZCBkZWZpbml0aW9uIHdyYXBwZXJzIGZvciBvbGQgbGliYyB2ZXJzaW9ucyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gW2MuaF0gbW92ZSB1cCBkZWNsYXJhdGlvbiBvZiBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSBiZWZvcmUgdXNhZ2UgIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gW25scy5oXSBkZWZpbmUgYSBtYWNybyBmb3IgaGFuZGxpbmcgcGx1cmFscyB3aXRoIG5nZXR0ZXh0KCkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gW3N0cnV0aWxzLmNdIGFkZCBsaXN0IHBhcnNlcnMgIFtLYXJlbCBaYWtdCisgICAtIFt0dC5jXSBhbHdheXMgdHJ1bmNhdGUgaWYgVFRfRkxfVFJVTkMgIFtLYXJlbCBaYWtdCisgICAtIFt3cml0ZWFsbF0gYWRkIGZ3cml0ZV9hbGwoKSAgW0thcmVsIFpha10KKyAgIC0gW3hhbGxvYy5oXSAgbWVudGlvbiBzdHJkdXAgaW4gdGhlIGZpbGUgZGVzY3JpcHRpb24gIFtQZXRyIFV6ZWxdCisgICAtIG1pbml4LmggIHVzZSBkYXRhIHR5cGVzIGZyb20gc3RkaW50LmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBkaXNrLXV0aWxzL21rZnMuaCAtPiBpbmNsdWRlL2V4aXRjb2Rlcy5oICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgZnNjayByZXR1cm4gdmFsdWVzIHRvIGV4aXRjb2Rlcy5oICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgbWluaXguaCB0byBpbmNsdWRlIGRpcmVjdG9yeSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUga2VybmVsIGhlYWRlcnMgZnJvbSBtaW5peC5oICBbU2FtaSBLZXJvbGFdCitpb25pY2U6CisgICAtIElPUFJJT19QUklPXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGFkanVzdCBzeW5vcHNpcyBhbmQgd29yZGluZyBhbmQgZm9ybWF0dGluZyBvbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYWxsb3cgdG8gdXNlIG5hbWVzIGZvciAtYyA8Y2xhc3M+ICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IC1WIG91dHB1dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggLXAgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGNvbW1hbmQgbGluZSBpbnRlcnByZXRhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbWFrZSAtdCBtb3JlIHRvbGVyYW50ICBbS2FyZWwgWmFrXQorICAgLSBzbGlnaHRseSBpbXByb3ZlIGdyYW1tYXIsIHNwYWNpbmcgYW5kIGNvbnNpc3RlbmN5IG9mIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitpb3NpemU6CisgICAtIGZpeCBnY2Mgd2FybmluZyAgW0thcmVsIFpha10KK2lwY21rOgorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCitpcGNzOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIHJlYWxseSBzaG93IGFsbCByZXNvdXJjZXMgd2hlbiAtYSBhbmQgLWkgYXJlIGNvbWJpbmVkICBbSmVucyBLcmlzdGlhbiBTw7hnYWFyZF0KKyAgIC0gdXNlIHVuc2lnbmVkIHR5cGUgZm9yIHVpZC9naWQgIFtLYXJlbCBaYWtdCitpc29zaXplOgorICAgLSBjaGVjayB1c2VyIGlucHV0IHRvIGJlIG51bWVyaWMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIHN0eWxlLCBncmFtbWFyIGFuZCBzcGFjaW5nIG9mIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGluY2x1ZGUtd2hhdC15b3UtdXNlIGhlYWRlciBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBzb21lIGVycm9yIG1lc3NhZ2VzICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSB1c2UgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2tpbGw6CisgICAtIGFkZCAtcSBzaWd2YWwgdG8gdXNlIHNpZ3F1ZXVlKDIpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgcmVhbC10aW1lIHNpZ25hbHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSB0cmFuc2xhdGUgIi1sIDxudW0+IiB0byBSVDxuPiAgW0thcmVsIFpha10KK2xhc3Q6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorbGRhdHRhY2g6CisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KK2xpYjoKKyAgIC0gW2F0LmNdIGFkZCByZWFkbGlua19hdCgpLCBmaXggc2VtYW50aWMgZm9yIGFic29sdXRlIHBhdGhzICBbS2FyZWwgWmFrXQorICAgLSBbYXQuY10gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorICAgLSBbYmxrZGV2LmNdIGFkZCBibGtkZXZfZ2V0X3BoeXNlY3Rvcl9zaXplKCkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIFtibGtkZXYuY10gbW9yZSByb2J1c3QgYmxrZGV2X2lzX21pc2FsaWduZWQoKSAgW0thcmVsIFpha10KKyAgIC0gW2Jsa2Rldi5jXSByZW1vdmUga2VybmVsIHZlcnNpb24gY2hlY2sgZnJvbSBibGtkZXZfZ2V0X3NlY3Rvcl9zaXplKCkgIFtLYXJlbCBaYWtdCisgICAtIFtjcHVzZXQuY10gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIFtmc3Byb2JlLmNdIGZpeCBibGtpZF9ldmFsdWF0ZV9zcGVjKCkgY2FsbCAgW0thcmVsIFpha10KKyAgIC0gW2ZzcHJvYmUuY10gcmVtb3ZlIG9ic29sZXRlIDxibGtpZC9ibGtpZC5oPiAgW0thcmVsIFpha10KKyAgIC0gW2ZzcHJvYmUuY10gdXNlIGludGVybmFsIGxpYmJsa2lkIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIFtsaW51eF92ZXJzaW9uLmNdIGFjY29tbW9kYXRlIHR3by1jb21wb25lbnQgbGludXggdmVyc2lvbiAoZS5nLiAzLjApICBbS2FyZWwgWmFrXQorICAgLSBbbGludXhfdmVyc2lvbi5jXSBzaW1wbGlmeSB2ZXJzaW9uIHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIFtsb29wZGV2LmNdIGFkZCBtb2R1bGUgZm9yIHdvcmsgbG9vcCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBbbG9vcGRldi5jXSBjbGVhbnVwIGZsYWdzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBbbG9vcGRldi5jXSBjb3JyZWN0IHFzb3J0IGNvbXBhcmUgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIFtsb29wZGV2LmNdIGNvcnJlY3QgdHJpdmlhbCB0eXBvICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBbbWFuZ2xlLmNdIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBbcHJvY3V0aWxzLmNdICBhZGQgbWlzc2luZyBmaWxlcy4gU29ycnkuICBbS2FyZWwgWmFrXQorICAgLSBbcHJvY3V0aWxzLmNdICBnZW5lcmFsIHB1cnBvc2UgcHJvY2ZzIHBhcnNpbmcgZnVuY3Rpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBbcHJvY3V0aWxzLmNdIGltcHJvdmUgcm9idXN0bmVzcyAgW0thcmVsIFpha10KKyAgIC0gW3N0cnV0aWxzLmNdIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBbc3RydXRpbHMuY10gbW9yZSByb2J1c3Qgc3RydG9sIGNoZWNrcyAgW0thcmVsIFpha10KKyAgIC0gW3N0cnV0aWxzXSBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93IG9uIGxhcmdlIHZhbHVlcyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gW3N5c2ZzLmNdIGFkZCBzeXNmc19yZWFkbGluayBhbmQgbmFtZS9wYXRoIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gW3N5c2ZzLmNdIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBbc3lzZnMuY10gZml4IGRvdWJsZSBmcmVlICBbS2FyZWwgWmFrXQorICAgLSBbc3lzZnMuY10gbWFrZSBzeXNmc19yZWFkXyogZnVuY3Rpb24gbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIFt0dC5jXSBGaXggbWJzX3dpZHRoIG1hY3JvIGZvciBzeXN0ZW1zIHdpdGhvdXQgV0lERUNIQVIgIFtKb3NpYWggV29yY2VzdGVyXQorICAgLSBbdHQuY10gY2xlYW4gdXAgdXNlZCB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gW3R0LmNdIGRlcmVmZXJlbmNpbmcgZGF0YSBiZWZvcmUgYSBudWxsIGNoZWNrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gW3R0LmNdIHN1cHBvcnQgZml4ZWQgd2lkdGggYW5kIG11bHRpcGxlIHR0X3ByaW50X3RhYmxlKCkgY2FsbHMgIFtLYXJlbCBaYWtdCisgICAtIFt0dC5jXSBzdXBwb3J0IGtleT0idmFsdWUiIG91dHB1dCBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIFt0dC5jXSB1c2UgbWJzX3RydW5jYXRlKCkgZnJvbSBtYnNhbGlnbi5jICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZ2VuZXJpYyBzeXNmcyB1dGlscyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cnRvdWxfb3JfZXJyKCkgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KK2xpYmJsa2lkOgorICAgLSBbcGFydGl0aW9uc10gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXIgLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBbc3VwZXJibG9ja3NdIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyIC1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gW3RvcG9sb2d5XSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlciAtV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBJRF9QQVJUX0VOVFJZX3tPRkZTRVQsU0laRSxESVNLfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIFBBUlRfRU5UUllfKiB0byBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfZXZhbHVhdGVfc3BlYygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRvY3MgZm9yIG5ldyBQQVJUX0VOVFJZXyogdmFsdWVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gYmVmcyB2YWxpZGF0ZSBkaV9icl9zaXplICE9MCBhbmQgYnJfcGVyX2RpX2JyICE9IDAgIFtUaW1vIFdhcm5zXQorICAgLSBjbGVhbnVwIGZsYWdzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHByb2JlciBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIHN3YXAgVVVJRCBpZiBvbmx5IGZpcnN0IGJ5dGUgaXMgemVybyAgW1JpY2hhcmQgVy5NLiBKb25lc10KKyAgIC0gZml4IEVGSSBHUFQgdXVpZCBieXRlIG9yZGVyICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlciAtV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBnY2Mgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluICpfdG9fY3B1KCkgdXNhZ2UgaW4gcmFpZCBkZXRlY3Rpb24gW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmb3VuZCB3aG9sZS1kaXNrIGZvciBwYXJ0aXRpb25zIG1hcHBlZCBieSBrcGFydHggIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBoZnNwbHVzIHN1cGVyYmxvY2tzIHdpdGggYmxvY2tzaXplIDwgNTEyICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGJsa2lkX19zY2FuX2RpciAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB3aG9sZSBkaXNrIHByb2JpbmcgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNoYW5nZSBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBNSU5JWF9NQVhQQVJUSVRJT05TIHRvIG1pbml4LmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHRlc3QgZm9yIG5vbi16ZXJvIGhlYWQgY291bnQgaW4gRkFUIHN1cGVyYmxvY2sgcHJvYmUuICBbTmljayBIb2xsb3dheV0KKyAgIC0gdHJ5IHRvIGRldGVjdCBpZiBQVCBpcyBuZXdlciB0aGFuIExWTSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSA2NGJpdCBvZmZzZXQgaW4gc2VhcmNoX2ZhdF9sYWJlbCB0byBhdm9pZCB0cnVuY2F0aW9uICBbSmluZHJpY2ggTWFrb3ZpY2thXQorICAgLSB1c2UgTUlOSVhfQkxPQ0tfU0laRSBmcm9tIG1pbml4LmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGJsa2lkX3Byb2JlX2dldF9idWZmZXIoKSBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNhY2hlZCBidWZmZXJzIGZvciBuZXN0ZWQgUFQgcHJvYmluZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBhcnRubyBmb3IgcGFydGl0aW9ucyBtYXBwZWQgYnkgRE0gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdHVmZiBmcm9tIHN5c2ZzLmggYW5kIGF0LmggIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdXBlcmJsb2NrIHN0cnVjdHVyZSBmcm9tIG1pbml4LmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHN5c2ZzX2luaXQoKSBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KKyAgIC0gdmFsaWRhdGUgaGZzIGJsb2Nrc2l6ZSAhPSAwICBbVGltbyBXYXJuc10KKyAgIC0gdmZhdCBiaWcgZW5kaWFuIGZpeCAgW0ppbmRyaWNoIE1ha292aWNrYV0KK2xpYm1vdW50OgorICAgLSBhZGQgTU9VTlRfMi4yMCB2ZXJzaW9uIHRvIHRoZSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmYWxsYmFja3MgZm9yIG9sZCBzeXN0ZW1zIHdpdGhvdXQgdW1vdW50MigpIHN5c2NhbGwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBnZW5lcmljIGZ1bmN0aW9uIHRvIHJlYWQgdGFibGUgZm9yIGNvbnRleHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfcmVzZXRfdGFibGUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJkaWZmXyogZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX2lzX21vdW50ZWQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vdW50IHN1cHBvcnQgZm9yIGxvb3BkZXZzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW91bnRwb2ludCgxKSBpbXBsZW1lbnRhdGlvbiB0byBzYW1wbGVzLyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBoZWxwZXI9IHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBtb3VudCAtYSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHgtKiBtb3VudCBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gY29udmVydCAvZGV2L2xvb3BOIHRvIGJhY2tpbmcgZmlsZW5hbWUgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHNldCBwYXJzZXIgY2FsbGJhY2sgdG8gY29udGV4dCAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgcmVkdW5kYW50IGRlY2xhcmF0aW9uIG9mIG1udF9jb250ZXh0X2RvX3Vtb3VudCAgW0phbiBFbmdlbGhhcmR0XQorICAgLSBiZXR0ZXIgInVzZXIiIGV2YWx1YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGJsb2NrIHNpZ25hbHMgd2hlbiB1cGRhdGUgdXRhYiAgW0thcmVsIFpha10KKyAgIC0gYmxvY2sgc2lnbmFscyB3aGVuIHdyaXRpbmcgdG8gbXRhYiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgY2FjaGUuYyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCAqX2RvX1t1XW1vdW50KCkgcmV0dXJuIGNvZGVzIGFuZCBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGNvZGUgZm9yICJub25lIiBzb3VyY2UgYW5kIGZzdHlwZSwgZml4IG1lbSBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcmV0dXJuIGNvZGVzIGluIG1vdW50IHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1bW91bnQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gY3JlYXRlIGEgZGVmYXVsdCBsb2NrIGZvciBtdGFiIHVwZGF0ZSAgW0thcmVsIFpha10KKyAgIC0gY3V0IHVwIG1vdW50J3MgaGVscCB0ZXh0IGludG8gbWFuYWdlYWJsZSBjaHVua3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZG9uJ3QgZXhwb3J0IGZ1bmN0aW9ucyBmb3IgdmZzL2ZzL3VzZXJzcGFjZSBtb3VudCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlciAtV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZnN0eXBlIGNhY2hpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsZWFrIGluIHNhbXBsZSBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgaW4gY2FjaGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtdGFiIHVwZGF0ZSBmb3IgIm5vbmUiIHNvdXJjZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHBhcnNpbmcgb2YgbW91bnRpbmZvIGZyb20gMi42LjM5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggc29tZSB0eXBvcyBhbmQgY29weSZwYXN0ZSBtaXN0YWtlcyBpbiBjb21tZW50cyAgW1BldHIgVXplbF0KKyAgIC0gZml4IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1bmRlZmluZWQgc291cmNlcyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgaW4gc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGFwcGx5X2ZzdGFiIGRlYnVnZ2luZyAgW0thcmVsIFpha10KKyAgIC0ga2VlcCBjb2RlIG1vcmUgcmVhZGFibGUgZm9yIGFuYWx5emVycyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIG10YWIgYW5kIHV0YWIgbG9ja2luZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBjaGFuZ2VzIGluIHNhbXBsZSBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBmaXggdG8gbW50X3RhYmRpZmZfKiAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgZml4ZXMgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgcm9idXN0IG10YWIgYW5kIHV0YWIgdXBkYXRlIChDVkUtMjAxMS0xNjc2LCBDVkUtMjAxMS0xNjc3KSAgW0thcmVsIFpha10KKyAgIC0gcGx1ZyBtZW1vcnkgbGVhayBpbiBzYW1wbGUgcHJvZ3JhbSAgW1BldHIgVXplbF0KKyAgIC0gcmVtb3ZlICdzZWNsYWJlbCcgb24gcmVtb3VudCwgaW1wcm92ZSBmb3IgMi42LjM5ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaW5jbHVkZXMsIG1hc2sgQVBJIGFzIHN0YWJsZSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGluIGNhY2hlLmMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBtb3VudCBvcHRpb24gInF1aWV0IiB0byAic2lsZW50IiAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBta29zdG1wcygpIHdpdGggbW9yZSBwb3J0YWJsZSBta3N0ZW1wKCkgIFtLYXJlbCBaYWtdCisgICAtIHNtYWxsIGxvY2sgY29kZSBjbGVhbnVwICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IC9ydW4vbW91bnQgcmF0aGVyIHRoYW4gL2Rldi8ubW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgTlVMTCBzb3VyY2UgcGF0aCBmb3IgbW50X3RhYmxlX2ZpbmRfKiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaXN0IG9mIHBzZXVkby1maWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNoZGlyKCkgYW5kIE5PRk9MTE9XIHVtb3VudCBmbGFnIGZvciB1bW91bnQgb3BlcmF0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW50X2xvY2sgZm9yIHV0YWIgZmxvY2sgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtbnRfdGFibGVfZ2V0X2ZzX3Jvb3QoKSBpbiB1dGFiIGNvZGUgIFtLYXJlbCBaYWtdCitsaWJ1dWlkOgorICAgLSBfX3V1aWRfZ2VuZXJhdGVfdGltZSgpICByZXBvcnQgaWYgY2xvY2tfc2VxIGlzIHNhZmUgIFtQZXRyIFV6ZWxdCisgICAtIGRvIG5vdCB1c2UgaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0ZXN0IGluIGdldF9jbG9jaygpICBbUGV0ciBVemVsXQorICAgLSBnZXRfY2xvY2soKSAgcmVwb3J0IGlmIHRoZSBjbG9ja19zZXEgaXMgc2FmZSAgW1BldHIgVXplbF0KKyAgIC0gaW50cm9kdWNlIHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlKCkgIFtQZXRyIFV6ZWxdCisgICAtIG1hbnBhZ2Ugc3BlbGxpbmcgZml4ZXMgIFtQZXRyIFV6ZWxdCisgICAtIG1vdmUgX191dWlkIGZ1bmN0aW9uIHRvIFVVSUREX1BSSVZBVEUgaW4gdXVpZC5zeW0gIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSB1dWlkX19nZW5lcmF0ZV8qIHRvIF9fdXVpZF9nZW5lcmF0ZV8qICBbUGV0ciBVemVsXQorICAgLSB1cGRhdGUgbWFucGFnZSwgbWVudGlvbiB1dWlkX2dlbmVyYXRlX3RpbWVfc2FmZSAgW1BldHIgVXplbF0KK2xvZ2dlcjoKKyAgIC0gZml4IHZhcmlhYmxlIHR5cGUgY29tcGlsZXIgd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGRlc2NyaXB0aW9ucyBvbiBtYW4gcGFnZSwgc29ydCB0aGUgb3B0aW9ucywgYWRkIC1oIGFuZCAtViAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlLCBzb3J0IGFuZCBzbGljZSB1cCB1c2FnZSgpIGhlbHAgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbmRlbnQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gbWVudGlvbiBsb25nIG9wdGlvbiBpbiBsb2dnZXIgbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCBmb3IgbG9nZ2luZyB0byBVRFAgc29ja2V0IC8gcmVtb3RlIHN5c2xvZyBzZXJ2ZXIgIFtXVUVCQkVMUywgSm9zZWYgXChFeHRlcm5cKV0KKyAgIC0gc3VwcG9ydCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc2ltcGxlIGFwb3N0cm9waGUgaW5zdGVhZCBvZiBtdWx0aWJ5dGUgY2hhciBpbiBsb2dnZXIuMSAgW1BldHIgVXplbF0KK2xvZ2luOgorICAgLSBjbGVhbnVwIHVudXNlZCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvZXMgbm90IGlnbm9yZSBzZXRnaWQoKSByZXR1cm4gY29kZSBmb3Igbm9uLXJvb3RzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY2hlY2t0dHkgdGVzdCB0byBjb21waWxlIHdpdGggb2xkIGdsaWJjICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlciAtV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvcyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KK2xvZ2luLXV0aWxzOgorICAgLSBpbmNsdWRlIGZpeCAgW1NhbWkgS2Vyb2xhXQorbG9vazoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGp1c3QgdGhlIGZvcm1hdHRpbmcgYW5kIHNvbWUgd29yZGluZyBvZiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFucGFnZSBmb3JtYXR0aW5nICBbUGV0ciBVemVsXQorbG9zZXR1cDoKKyAgIC0gYWxsb3cgdG8gdXNlIC0tdmVyYm9zZSB3aXRoIC0tYWxsICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3QgcXNvcnQgY29tcGFyZSBmdW5jdGlvbiAgW0FuZHJlYXMgU2Nod2FiXQorICAgLSBzcGVsbGluZyBmaXhlcyAgW1BldHIgVXplbF0KK2xzYmxrOgorICAgLSBhZGQgLS1wYWlycyB0byBvdXRwdXQgaW4ga2V5PSJ2YWx1ZSIgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVFlQRSBjb2x1bW4gdG8gbHNibGsgb3V0cHV0ICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIG5vdGUgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcXVldWUgcmVxdWVzdCBzaXplIGF0dHJpYnV0ZSAgW01pbGFuIEJyb3pdCisgICAtIGFkZCBzdGF0ZSBhdHRyaWJ1dGUgIFtNaWxhbiBCcm96XQorICAgLSBhZGQgc3VwcG9ydCBmb3IgZGlzY2FyZCB0b3BvbG9neSAoLUQgb3B0aW9uKSAgW01hcnRpbiBLLiBQZXRlcnNlbl0KKyAgIC0gYml0d2lzZSBvciBUVF9GTF9BU0NJSSB3aXRoIHR0X2ZsYWdzIGluc3RlYWQgb2Ygc2V0dGluZyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gY29ycmVjdCBtaXN0YWtlbiB3b3JkICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVhZGxpbmsoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHN0cnRvdWwoKSB1c2FnZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBkZXZpY2UgaWYgZGlzYXBwZWFyIHdoaWxlIHByb2Nlc3NpbmcgIFtNaWxhbiBCcm96XQorICAgLSBpbXByb3ZlIGRpc2NhcmQgc3VwcG9ydCAgW01hcnRpbiBLLiBQZXRlcnNlbl0KKyAgIC0gdXNlIGdlbmVyaWMgc3lzZnMgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3NpemVfdCBmb3IgcmVhZGxpbmsoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN5c2ZzX3JlYWRfdTY0KCkgcmF0aGVyIHRoYW4gc3lzZnNfc3RyZHVwKCkgKyBhdG9sKCkgIFtLYXJlbCBaYWtdCitsc2NwdToKKyAgIC0gYWRkIHN1cHBvcnQgZm9yIGJvb2tzICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IFZNd2FyZSBoeXBlcnZpc29yICBbU3RlcGhlbiBIZW1taW5nZXJdCisgICAtIGRldGVjdCBzdW40e3Usdn0gaW4gL3Byb2MvY3B1aW5mbyBmb3Igc3BhcmM2NCAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kIC0tcGFyc2UgZnVuY3Rpb25hbGl0eSAgW0thcmVsIFpha10KKyAgIC0gZml4IGJvZ29taXBzIGRldGVjdGlvbiBmb3IgczM5MCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG9wLW1vZGUgZm9yIC97c3lzLHByb2N9IGR1bXBzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGhyZWFkcy1wZXItY29yZSBjYWxjdWxhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIHhzdHJkdXAgZnJvbSB4YWxsb2MuaCAgW1BldHIgVXplbF0KK21jb29raWU6CisgICAtIGNoYW5nZSBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugd2FybngsIGxvbmcgb3B0aW9ucyBhbmQgaGVscCBzY3JlZW4gIFtTYW1pIEtlcm9sYV0KK21kNToKKyAgIC0gdXNlIHN5bWJvbGljYWwgZGlnZXN0IGxlbmd0aCAgW1NhbWkgS2Vyb2xhXQorbWVzZzoKKyAgIC0gYWRkIFxuIHRvIHVzYWdlKCkgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIHRoZSBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1hbiBwYWdlIGNsZWFuIHdxdXAgIFtLYXJlbCBaYWtdCisgICAtIG5ldyAtLXZlcmJvc2Ugb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsb25nIG9wdGlvbnMsIGFsc28gLS1oZWxwIGFuZCAtLXZlcnNpb24gYWRkZWQgIFtTYW1pIEtlcm9sYV0KK21pbml4OgorICAgLSBhZGQgTUlOSVhfIHByZWZpeCB0byBzb21lIGdsb2JhbCBtYWNyb3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb21tb24gZnVuY3Rpb25hbGl0eSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIHZlcnNpb24gMyBsYXlvdXQgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGNsZWFudXAgZ2xvYmFsIHZhcmlhYmxlcyBhbmQgbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2FybmluZyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gbW92ZSBnbG9iYWxzIGFuZCBpbmxpbmUgZnVuY3Rpb25zIHRvIG1pbml4X3Byb2dyYW1zLmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGZzIHN0YXRlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaW5pdGlhbGl6YXRpb25zICBbS2FyZWwgWmFrXQorbWlzYzoKKyAgIC0gaHVyZCBidWlsZCBmaXhlcyAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gdXNlIHVuc2lnbmVkIGludCBmb3IgYml0LWZpbGVkcyAgW0thcmVsIFpha10KK21pc2MtdXRpbHM6CisgICAtIHJlbW92ZSBtaXNsZWFkaW5nIFJFQURNRSBmaWxlcyAgW1NhbWkgS2Vyb2xhXQorbWtmczoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNtYWxsIGZvcm1hdHRpbmcgaXNzdWVzIGluIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGluY2x1ZGUtd2hhdC15b3UtdXNlIGhlYWRlciBjaGVjayAgW1NhbWkgS2Vyb2xhXQorbWtmcy5iZnM6CisgICAtIGFkZCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51IHAgLS12ZXJzaW9uIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbmNsdWRlLXdoYXQteW91LXVzZSBoZWFkZXIgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGVycigpIGluc3RlYWQgb2YgZXJyeCgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGliYyBlcnJvciBmYWNpbGl0aWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4c3RyZHVwIGZyb20geGFsbG9jLmggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdmFsaWRhdGUgbnVtZXJpYyB1c2VyIGlucHV0cyAgW1NhbWkgS2Vyb2xhXQorbWtmcy5jcmFtZnM6CisgICAtIGNsZWFyZXIgZXJyb3IgbWVzc2FnZSwgImNhbm5vdCBjbG9zZSIgaW5zdGVhZCBvZiAiY2xvc2luZyIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZXJyb3IgcHJpbnRpbmcgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZmV3IHN5bWJvbGljIGV4aXQgY29kZXMgd2hlcmUgbWlzc2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbmNsdWRlLXdoYXQteW91LXVzZSBoZWFkZXIgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4YWxsb2MuaCAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YWxpZGF0ZSBudW1lcmljIHVzZXIgaW5wdXRzICBbU2FtaSBLZXJvbGFdCitta2ZzLm1pbml4OgorICAgLSBhZGQgZnMgdmVyc2lvbiBvcHRpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgbWluaXggdjMgc3VwcG9ydCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gY2hlY2sgZm9yIG1pc2FsaWdubWVudCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZG9jdW1lbnQgLTMgb3B0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHdyaXRlX2FsbCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBnZW5lcmFsIGNsZWFudXBzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgZGllKCkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHN0YW5kYXJkaXplIHN1cGVyYmxvY2sgYXR0cmlidXRlIHNldHRpbmdzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgY29tbW9uIGZ1bmN0aW9uYWxpdHkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBpbm9kZSB3cmFwcGVycyAgW0RhdmlkbG9ociBCdWVzb10KK21rc3dhcDoKKyAgIC0gVXNlIGMuaCAgW21heGltaWxpYW4gYXR0ZW1zXQorICAgLSBhZGQgYWxpZ25tZW50IGNoZWNrICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBjb2Rpbmcgc3R5bGUgdW5pZmljYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0byBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IGxvbmcgb3B0aW9ucyBhbmQgY2hlY2sgdXNlciBpbnB1dHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIEVYSVRfIHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliYyBlcnJvciBtZXNzYWdpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeGFsbG9jICBbU2FtaSBLZXJvbGFdCittb3JlOgorICAgLSBuZXcgdXNhZ2Ugb3V0cHV0LCBhbmQgc29tZSB0cml2aWFsIGZpeGVzICBbU2FtaSBLZXJvbGFdCittb3VudDoKKyAgIC0gLWEgc2VnZmF1bHRzIHdoZW4gNHRoIGZpZWxkIGlzIG9taXR0ZWQgKG1vdW50IG9wdGlvbnMpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBibGFuayBsaW5lcyB0byBmc3RhYi41ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGhlbHBlcj0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCB1ZnN0eXBlPXVmczIgdG8gbW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gY2Fub25pY2FsaXplIGZzdGFiIG1udF9kaXIgIFtLYXJlbCBaYWtdCisgICAtIGZpcnN0IGxvb2sgZm9yIG1vdW50cG9pbnQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmUgLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGRvdWJsZSBmcmVlIGluIG1vdW50LmMgd2l0aCBTRUxpbnV4IGVuYWJsZWQgIFtLaXJpbGwgRWxhZ2luXQorICAgLSBmaXggcmVmZXJlbmNlIHRvIHNoYXJlZHN1YnRyZWUgZG9jdW1lbnRhdGlvbiBpbiBtb3VudC44ICBbTWlrZSBIb21tZXldCisgICAtIGZpeCB0eXBvIGluIG1vdW50LjggIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0eXBvcyBpbiBtb3VudC44ICBbTmljb2xhcyBGcmFuY29pc10KKyAgIC0gbWFrZSB0aGUgZXJyb3IgbWVzc2FnZSBjbGVhciAgW1BldHIgVXplbF0KKyAgIC0gbW91bnQuOCByZW1vdmUgcmVwcmVjYXRlZCBiaC9ub2JoIG9wdGlvbnMgZnJvbSB0aGUgbWFudWFsIHBhZ2UgIFtMdWthcyBDemVybmVyXQorICAgLSByZW1vdmUgJ3NlY2xhYmVsJyBtb3VudCBvcHRpb24gb24gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGFjY2lkZW50YWwgZXh0cmEgd29yZCBpbiBleHQ0IGRvY3VtZW50YXRpb24gaW4gbW91bnQuOCAgW1BldHIgVXplbF0KKyAgIC0gcmVtb3ZlIG5vdGUgYWJvdXQgb2Jzb2xldGUgdm9sdW1lX2lkIGxpYnJhcnkgZnJvbSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lICJxdWlldCIgdG8gInNpbGVudCIgKE1TX1NJTEVOVCkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtdGFiIG9uICItZiIgYW5kIGNvbXBpbGVkIHdpdGggbGlibW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmZmx1c2goKSBhbmQgdGVtcG9yYXJ5IGZpbGUgZm9yIG10YWIgdXBkYXRlcyAoQ1ZFLTIwMTEtMTA4OSkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtb3VudCB0byBkZXRlY3QgYWxyZWFkeSBtb3VudGVkIGJpbmQgbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9jayBmcm9tIG1udF91cGRhdGVfdGFibGUoKSAgW0thcmVsIFpha10KK21vdW50cG9pbnQ6CisgICAtIGFkZCBuZXcgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorbmFtZWk6CisgICAtIGFkZCAtLXZlcnNpb24gb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHRvIGFyZ3VtZW50IGhhbmRsaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MuaCAgW1NhbWkgS2Vyb2xhXQorcGFydHg6CisgICAtIGFkZCAtLXBhaXJzIHRvIG91dHB1dCBpbiBrZXk9InZhbHVlIiBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmYWxsYmFjayBmb3Igb3BlbmF0KCkgdG8gYmUgdXNhYmxlIG9uIG9sZCBzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBwcmludCBudWxsICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBnZXQgcGFydGl0aW9uIG51bWJlciB3aXRoIHN5c2ZzIGxpYiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW1wcm92ZSBjbGFyaXR5IG9mIHNvbWUgbWVzc2FnZXMsIGdldHRleHRpemUgdHdvIG1pc3NlZCBvbmVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlbW92ZSB1bnVzZWQgaGVhZGVycyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc3dpdGNoIG9uIGxvY2FsaXphdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0cml2aWFsIGNvbW1lbnQgZml4ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgbG93ZXJjYXNlIGluIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzeXNmc19kZWluaXQgIFtEYXZpZGxvaHIgQnVlc29dCitwYXJ0eCwgbHNibGs6CisgICAtIGZpeCBnZXR0ZXh0IGNhbGxzICBbS2FyZWwgWmFrXQorcGc6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcmVzdWx0XSAgW0thcmVsIFpha10KKyAgIC0gZml4IHdyaXRlX2FsbCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBub3JtYWxpemUgZm9ybWF0dGluZyBvZiB0aGUgbWFuIHBhZ2UsIGFuZCB0d2VhayBzb21lIG9mIGl0cyB3b3JkaW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJldHVybiB2YWx1ZSB3YXJuaW5nIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc2l6ZV90IGZvciB3Y3N0b21icygpIHJldHVybiBjb2RlICBbU2FtaSBLZXJvbGFdCitwbzoKKyAgIC0gYWxzbyBleHRyYWN0IHBsdXJhbCBtZXNzYWdlcyBmcm9tIHRoZSBDIGZpbGVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGNoYW5nZSBNU0dJRF9CVUdTX0FERFJFU1MgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBzZWFyY2ggL3NhbXBsZXMvIHN1YmRpcmVjdG9yaWVzIGZvciB0cmFuc2xhdGFibGUgc3RyaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBkZS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BoaWxpcHAgVGhvbWFzXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtEYXZpZCBQcsOpdm90XQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorcHJvY3V0aWxzOgorICAgLSBpbmNsdWRlIG1pc3NpbmcgaGVhZGVyICBbRGF2aWRsb2hyIEJ1ZXNvXQorcmF3OgorICAgLSByZW1vdmUgY29uc3RhbnRzIGZyb20gbWVzc2FnZSBzdHJpbmdzOyB1bmRvIHNvbWUgYWJicmV2cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorcmVhZHByb2ZpbGU6CisgICAtIGRvbid0IHN0b3AgcGFyc2luZyBhdCBfX2luaXRfZW5kICBbUG8tWXUgQ2h1YW5nXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KK3JlbmFtZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB2ZXJib3NlIG9wdGlvbiAmIG1haW50ZW5hbmNlIGZpeGVzICBbU2FtaSBLZXJvbGFdCityZW5pY2U6CisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KK3JldjoKKyAgIC0gbWFyayBzaWdubyB1bnVzZWQgaW4gc2lnX2hhbmRsZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVtb3J5IGxlYWsgZml4ICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpb24gbG9uZyBvcHRpb25zIGluIG1hbiBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIG9wdGlvbiBwYXJzaW5nIGJ1ZyBmaXhlZCAmIGxvbmcgb3B0aW9ucyBhZGRlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeHJlYWxsb2MgZnJvbSB4YWxsb2MuaCAgW1NhbWkgS2Vyb2xhXQorcnRjd2FrZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgZHVwbGljYXRlIGFyZ3VtZW50IHN0cmluZ3MgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHRlc3QgZm9yIGF2YWlsYWJsZSBzdXNwZW5kIG1vZGVzICBbTGF3cmVuY2UgUnVzdF0KK3NjcmlwdDoKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpbmNsdWRlIGVyci5oIGRpcmVjdGx5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGluZGljYXRlIHRoYXQgdGhlIGZpbGUgYXJndW1lbnQgdG8gLS10aW1pbmcgaXMgb3B0aW9uYWwgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW5mb3JtIGFib3V0IGxvbmcgb3B0aW9ucyBpbiBzY3JpcHQgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbm9ybWFsaXplIGZvcm1hdHRpbmcgb2YgdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG9wdGlvbiAtLWZvcmNlIGFkZGVkICBbU2FtaSBLZXJvbGFdCisgICAtIG9wdGlvbmFsIHRpbWluZyBvdXRwdXQgZmlsZSBhcmd1bWVudCBhZGRlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgbWFnaWMgY29uc3RhbnRzIGFuZCBhIHR5cGUgbWlzbWF0Y2ggZml4ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB2b2lkIGNhc3RpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCBmb3IgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KK3NjcmlwdHJlcGxheToKKyAgIC0gYWxsb3cgYXJndW1lbnRzIGFzIGNvbW1hbmQgbGluZSBzd2l0Y2hlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBidWcgaW4gYXJndW1lbnQgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBlbmQgcHJpbnRpbmcgd2l0aCBuZXcgbGluZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggYnVmZmVyIG92ZXJmbG93ICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgc3lub3BzaXMgYW5kIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgaW4gbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3VwcG9ydCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KK3NldGFyY2g6CisgICAtIGFkZCAtLXVuYW1lLTIuNiBvcHRpb24gZm9yIHBlcnNvbmFsaXR5IGZsYWcgVU5BTUUyNiAgW0JlbiBIdXRjaGluZ3NdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorc2V0dGVybToKKyAgIC0gYWRkIG5vdGUgYWJvdXQgbG9uZyBkdW1wIGZpbGUgcGF0aHMgdG8gbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdmFyaWFibGUgdHlwZXMsIGFuZCB1bnVzZWQgYXJndW1lbnQgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZnVuY3Rpb24gc2NyZWVuZHVtcCBjb2Rpbmcgc3R5bGUgZml4ZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiBpbiBtYW4gc2V0dGVybS4xIC12ZXJzaW9uIGFuZCAtaGVscCBzd2l0Y2hlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZWdmYXVsdCB3aXRoIGxvbmcgZHVtcCBmaWxlIG5hbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCAtaGVscCBhbmQgLXZlcnNpb24gb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliYyBlcnJvciBwcmludGluZyBmYWNpbGl0aWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4bWFsbG9jKCkgIFtLYXJlbCBaYWtdCitzZmRpc2s6CisgICAtIChtYW4gcGFnZSkgdXNlIGNvbW1hIGJldHdlZW4gc2hvcnQgYW5kIGxvbmcgb3B0aW9uIGluc3RlYWQgb2YgIm9yIiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjb3JyZWN0ICctLWluc2lkZS1vcmRlcicgdG8gJy0taW5zaWRlLW91dGVyJyBpbiBkb2N1bWVudGF0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGRlY2xhcmUgdW51c2VkIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvZGluZyBzdHlsZS4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmb3IgZGF0YSB0eXBlIG1pc21hdGNoZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGltcGxpY2l0IG92ZXJmbG93ICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB0eXBvIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBnZXR0ZXh0aXplIGVhY2ggd2FybmluZyBhcyBhIHdob2xlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGhlbHAgc2NyZWVuIGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGRlc2NyaXB0aW9ucyBvZiBvcHRpb25zIC0tbm8tcmVyZWFkIGFuZCAtLXNob3ctZXh0ZW5kZWQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW5kZW50IHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc29tZSB0ZXN0cyBjb25kaXRpb25hbCB0byAhTGludXggIFtHaXVsaW8gT3JzZXJvXQorICAgLSBwcmV2aW91c2x5IHVuZG9jdW1lbnRlZCBvcHRpb25zIHRvIHVzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBpbmNvbnNpc3RlbnQgYW5kIHdhc3RlZnVsIG5ld2xpbmVzIGluIHRoZSBfKCkgY2FsbHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVuYW1lIHdhcm4gdG8gbXlfd2FybiAgW0ZhYmlhbiBHcm9mZmVuXQorICAgLSByZXR1cm5zIG5vbi16ZXJvIG9uIGZhaWxlZCBCTEtSUlBBUlQgaW9jdGwgIFtBbmRyZWEgR2FsYnVzZXJhXQorICAgLSBzbGljZSBoZWxwIHRleHQgaW50byBzbWFsbCBjaHVua3MgYW5kIGltcHJvdmUgaXRzIHdvcmRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3NpbXBsZWluaXQ6CisgICAtIHJlbW92ZSB0aGlzIGRlcHJlY2F0ZWQgc2V0IG9mIHV0aWxzICBbS2FyZWwgWmFrXQorc3RydXRpbHM6CisgICAtIG5ldyB3cmFwcGVyIGZ1bmN0aW9uIHN0cnRvbGxfb3JfZXJyICBbU2FtaSBLZXJvbGFdCitzd2FwbGFiZWw6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KK3N3YXBvbjoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIG1pc3Npbmcgc2VwYXJhdG9yIGluIHN3YXBvbiAtcyBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgbGliICBbRGF2aWRsb2hyIEJ1ZXNvXQorc3lzZnM6CisgICAtIGZyZWUgdXNlZCByZXNvdXJjZXMgIFtEYXZpZGxvaHIgQnVlc29dCit0YWlsZjoKKyAgIC0gZml4IG1lbW1vdmUoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IG9wZW4oKSByZXR1cm4gdmFsdWUgY2hlY2sgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBoYXJtb25pemUgb3B0aW9uIGFyZ3VtZW50IGFuZCBleHBsYW5hdGlvbiBpbiB1c2FnZSBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN1cHBvcnQgLS1saW5lcyAwICBbS2FyZWwgWmFrXQorICAgLSB0YWlsZiBtZW50aW9uIG5ldyBoZWxwICYgdmVyc2lvbiBvcHRpb25zIGluIG1hbiBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KK3Rhc2tzZXQ6CisgICAtIGFkanVzdCBzdHlsZSBvZiBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgdGhyZWFkcyBhd2FyZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIHhhbGxvYyBsaWIgIFtEYXZpZGxvaHIgQnVlc29dCit0ZXN0X3N5c2luZm86CisgICAtIFVzZSBDSEFSX0JJVCpzaXplb2Yodm9pZCopIGluc3RlYWQgb2YgX19XT1JEU0laRS4gIFtKb3NpYWggV29yY2VzdGVyXQorICAgLSBmaXggcHJpbnRmIGZvcm1hdCAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBbY3B1c2V0XSBjYWxsIGZyZWUoKSBmb3IgcmFuZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAnbm9uZScgc291cmNlIHRvIGxpYm1vdW50IHVwZGF0ZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1vIHJlbW91bnQgdG8gbGlibW91bnQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb2xybSBiYXNpYyB0ZXN0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBjb2x1bW4gdGVzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGR1bXAgZnJvbSBQUEM2NCB0byBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGR1bXAgZnJvbSBVbHRyYVNwYXJjIFQxIHRvIGxzY3B1IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZHVtcCBmcm9tIGh1Z2UgaWE2NCB0byBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxzY3B1IGR1bXBzIGZyb20gdGhyZWUgRGVsbCdzICYgYSBYZW4gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1vdW50KDgpIHRlc3QgZm9yIGZzdGFiIGVudHJpZXMgd2l0aG91dCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdCBmb3IgUkxJTUlUX0ZTSVpFIGlzc3VlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdHMgZm9yIFt1XW1vdW50IHJlZ3VsYXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcnVuIG1vdW50L3JlZ2ZpbGUgdGVzdCBvbiBvbGQga2VybmVsICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XdW51c2VkLXBhcmFtZXRlcl0gIFtLYXJlbCBaYWtdCisgICAtIGdyYW1tYXIgZml4ZXMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSBnZW5lcmF0ZWQgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdGVzdCBjb2x1bW4oMSkgd2l0aCBtdWx0aXBsZSBpbnB1dCBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIEdQVCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYmxraWQgTUQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZvciByZWNlbnQgZmRpc2sgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxpYm1vdW50IHRlc3RzIChhZGQgb3B0c3RyIG91dHB1dCkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYm1vdW50IHRhYiB1cGRhdGUgdGVzdHMgZm9yIFVJRD0wIG9ubHkgIFtLYXJlbCBaYWtdCit0ZXh0dWFsOgorICAgLSBhZGQgc29tZSBndWlkaW5nIGNvbW1lbnRzIGZvciB0cmFuc2xhdG9ycyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdGhyZWUgdHlwb3MgaW4gbWVzc2FnZSBzdHJpbmdzIGFuZCBpbXByb3ZlIGNvbnNpc3RlbmN5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgdGhlIHdvcmRpbmcgb2Ygc29tZSBlcnJvciBhbmQgdXNhZ2UgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHdlYWsgc2V2ZXJhbCBtYW5wYWdlcywgbWFpbmx5IHRoZSBibGtpZCBvbmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3R0eW1zZzoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFuZCB1c2UgRVhJVF8gIFtTYW1pIEtlcm9sYV0KK3R1bmVscDoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCit1bDoKKyAgIC0gYWRkIC1oIGFuZCAtViB0byB0aGUgbWFuIHBhZ2U7IHVzZSAiZmlsZSIgYW5kIGxvd2VyY2FzZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbiB1c2FnZSgpIG5vdCBvdmVyd3JpdGluZyBidXQgb3ZlcnJpZGluZyBpcyBtZWFudCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlIHVzYWdlKCkgc2F5IHRoYXQgbW9yZSB0aGFuIG9uZSBpbnB1dCBmaWxlIGlzIGFsbG93ZWQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIHN1cGVyZmx1b3VzIHJldHVybiBhcyB1c2FnZSgpIGRvZXMgbm90IHJldHVybiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQordWwuYzoKKyAgIC0gY2xvc2UgZmlsZXMgYW5kIGZyZWUgbWVtb3J5IGFmdGVyIHVzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGNvZGUgc3R5bGUgYW5kIGNvbW1lbnQgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29udmVydCBkZWZpbml0aW9uIHRvIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGVzY2FwZSBoYW5kbGluZyByZWZhY3RvcmVkICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWVyIHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIG1hZ2ljIGNvbnN0YW50IHJlbW92YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB3YXJuIHVzZXIgd2hlbiBjb21tYW5kIGNob29zZXMgdGVybSB0eXBlICBbU2FtaSBLZXJvbGFdCit1bW91bnQ6CisgICAtIGFsbG93IHVubW91bnRpbmcgbG9vcGRldiBzcGVjaWZpZWQgYnkgYXNzb2NpYXRlZCBmaWxlICBbUGV0ciBVemVsXQorICAgLSBibG9jayBzaWduYWxzIHdoZW4gdW1vdW50aW5nIGFuZCB1cGRhdGluZyBtdGFiIChDVkUtMjAxMS0xNjc2LCBDVkUtMjAxMS0xNjc3KSAgW0thcmVsIFpha10KKyAgIC0gZG8gbm90IGhhbmcgd2l0aCBkaXNjb25uZWN0ZWQgTkZTIG1vdW50cyAgW1BldHIgVXplbF0KKyAgIC0gc2VnZmF1bHRzIHdpdGggaW5jb25zaXN0ZW50IGVudHJ5IGluIC9ldGMvZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbm9uLWNhbm9uaWNhbCBkZXZuYW1lcyBpbiBtdGFiICBbS2FyZWwgWmFrXQorICAgLSB1c2UgVU1PVU5UX05PRk9MTE9XIGZvciBub24tcm9vdCB1c2VycyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGhlbHBlcj0gZm9yIGFsbCBVSURzICBbS2FyZWwgWmFrXQordW5zaGFyZToKKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQordXVpZGQ6CisgICAtIChtYW4gcGFnZSkgYWxwaGFiZXRpemUgdGhlIG9wdGlvbnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gKG1hbiBwYWdlKSByZXBhaXIgdGhlIHNuaXBwZWQgdXAgZGVzY3JpcHRpb24gb2Ygb3B0aW9uIC1UICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCAiLXEiIHRvIHN5bm9wc2lzLCBvcmRlciBvcHRpb25zIGFscGhhYmV0aWNhbGx5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGZpeGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGRpZSgpIGZ1bmN0aW9uIHJlbW92ZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGlzdGluZ3Vpc2ggYmV0d2VlbiBzaW5ndWxhciBhbmQgcGx1cmFsIGluIHRocmVlIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFucGFnZSAgbGlidXVpZCgzKSBkb2VzIG5vdCBleGlzdCAgW1BldHIgVXplbF0KKyAgIC0gbG9uZyBvcHRpb25zICYgbmV3IHVzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBnb3RvIHN0YXRlbWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3ltYm9saWMgZXhpdCBhbmQgcmV0dXJuIHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQordXVpZGdlbjoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCit2aXB3OgorICAgLSAobWFuIHBhZ2UpIHVuaWZvcm1pemUgaGVhZGVyIGFuZCBmb290ZXIsIHR3ZWFrIHRoZSBmb3JtYXR0aW5nICBbQmVubm8gU2NodWxlbmJlcmddCit3YWxsOgorICAgLSBhZGQgbG9uZyBvcHRpb25zIGFuZCA3OSBjaGFyIGN1dCBpbmZvIHRvIHRoZSBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBidWlsZCB3aXRoIFNVSURfe0MsTER9RkxBR1MgIFtQZXRyIFV6ZWxdCisgICAtIGNsZWFudXAgbWJ1ZnNpemUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZXMgYW5kIHN1cHBvcnQgVE1QRElSICBbU2FtaSBLZXJvbGFdCisgICAtIHN1cHBvcnQgLS10aW1lb3V0IHN3aXRjaCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC0tdGltZW91dCBzd2l0Y2ggKHZvbCAyLikgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KK3doZXJlaXM6CisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIG5ldyB1c2FnZSBvdXRwdXQgJiB2ZXJzaW9uIHByaW50aW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBmaW5kKCkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSBnb3RvIHN0YXRlbWVudHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGNvZGluZyBzdHlsZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gd2FybmluZ3MsIGV4aXQgdmFsdWVzLCBicmFjZXMgYW5kIHJldHVybnMgIFtTYW1pIEtlcm9sYV0KK3dpcGVmczoKKyAgIC0gYWRkIHZlcnNpb24gcHJpbnRpbmcgJiBjb21waWxlciB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGNoYW5nZSBvcHRpb24gLXYgdG8gLVYgZm9yIC0tdmVyc2lvbjsgYWRkIGl0IHRvIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGdldHRleHRpemUgb25lIHNlbnRlbmNlIGFzIGEgd2hvbGUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3dyaXRlOgorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGxvbmcgb3B0aW9ucyAmIG5ldyB1c2FnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWludGVuYW5jZSBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgaW5jb25zaXN0ZW50IHBlcmlvZHMgZnJvbSB0d28gZXJyb3IgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKworLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCistIGxvbmcgb3B0aW9ucyAmIG5ldyB1c2FnZSAgW1NhbWkgS2Vyb2xhXQorLSBtYWludGVuYW5jZSBmaXhlcyAgW1NhbWkgS2Vyb2xhXQorLSByZW1vdmUgaW5jb25zaXN0ZW50IHBlcmlvZHMgZnJvbSB0d28gZXJyb3IgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjEtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMS1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjA0NjI3MgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjEtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsOTc5IEBACitVdGlsLWxpbnV4IDIuMjEgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIFRoZSB1ZGV2IGNvbXBhdGlibGUgb3V0cHV0ICgtbyB1ZGV2KSBmcm9tIGJsa2lkKDgpIGlzIGRlcHJlY2F0ZWQuIFVkZXYKKyBsaW5rcyBkaXJlY3RseSB0byBsaWJibGtpZCBub3cuCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK2NoY3B1KDgpOgorICAgLSB0aGlzIE5FVyBDT01NQU5EIGNhbiBtb2RpZnkgdGhlIHN0YXRlIG9mIENQVXMsIGVuYWJsZSBvciBkaXNhYmxlIENQVXMsCisgICAgIHNjYW4gZm9yIG5ldyBDUFVzLCBjaGFuZ2UgdGhlIENQVSBkaXNwYXRjaGluZyBtb2RlIG9mIHRoZSB1bmRlcmx5aW5nCisgICAgIGh5cGVydmlzb3IsIGFuZCByZXF1ZXN0IENQVXMgZnJvbSB0aGUgaHlwZXJ2aXNvciAoY29uZmlndXJlKSBvciByZXR1cm4gQ1BVcyB0bworICAgICB0aGUgaHlwZXJ2aXNvciAoZGVjb25maWd1cmUpLgorCitwcmxpbWl0KDEpOgorICAgLSB0aGlzIE5FVyBDT01NQU5EIGlzIHZlcnkgc21hcnQgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byBwcmxpbWl0KDIpCisgICAgIHN5c2NhbGwgYW5kIGFsbG93cyB0byBnZXQgYW5kIHNldCBhIHByb2Nlc3MgcmVzb3VyY2UgbGltaXRzLiBJdCdzIG11Y2gKKyAgICAgbW9yZSBmbGV4aWJsZSB0aGFuIG9sZCBzaGVsbCBidWlsdC1pbiB1bGltaXQoMSkuCisKK2xvZ2luKDEpOgorICAgLSB0aGUgY29tbWFuZCBoYXMgYmVlbiByZXdyaXR0ZW4sIGZlYXR1cmVzOgorICAgICAqIHN0cmljdGx5IFBBTS1vbmx5LCBhbm90aGVyIGF1dGhlbnRpY2F0aW9uIG1ldGhvZCBpcyB1bnN1cHBvcnRlZAorICAgICAqIGNvbXBhdGlibGUgd2l0aCBTdXNlIGxvZ2luKDEpCisgICAgICogc3VwcG9ydHMgL2V0Yy9sb2dpbi5kZWZzKDUpIGNvbmZpZyBmaWxlCisKK2xvc2V0dXAoOCk6CisgICAtIHRoZSBjb21tYW5kIGhhcyBiZWVuIHJld3JpdHRlbiwgZmVhdHVyZXM6CisgICAgICogcmVxdWlyZXMga2VybmVsID49IDIuNgorICAgICAqIHN1cHBvcnRzIDY0Yml0IGlvY3RscyBvbmx5CisgICAgICogbG9zZXR1cCAtYSBkb2VzIG5vdCByZXF1aXJlIHJvb3QgcGVybWlzc2lvbnMgKGtlcm5lbCA+PSAyLjYuMzcpCisgICAgICogdXNlcyBuZXcgL2Rldi9sb29wLWNvbnRyb2wga2VybmVsIEFQSSAoa2VybmVsID49IDMuMSkKKyAgICAgKiBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXBhcnRzY2FuIHRvIGVuYWJsZSBrZXJuZWwgcGFydGl0aW9uCisgICAgICAgdGFibGUgcGFyc2VyCisKK21vdW50KDgpLCB1bW91bnQoOCk6CisgICAtIG5ldyBwdXJlIGxpYm1vdW50IGJhc2VkIG1vdW50KDgpIGFuZCB1bW91bnRzKDgpIGNvbW1hbmRzIGFyZSBhdmFpbGFibGUsIAorICAgICB0aGlzIGV4cGVyaW1lbnRhbCBpbXBsZW1lbnRhdGlvbiBjb3VsZCBiZSBlbmFibGVkIGJ5IC0tZW5hYmxlLW5ldy1tb3VudAorICAgICAKK2FnZXR0eSg4KToKKyAgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zIC0tbm9oaW50cyB0byBkaXNhYmxlIGhpbnRzIGFib3V0IE51bSwKKyAgICAgQ2FwcyBhbmQgU2Nyb2xsIExvY2tzCisgICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tcmVtb3RlIHRvIGFkZCBhIGhvc3RuYW1lIHRvIHRoZSAKKyAgICAgbG9naW4oMSkgY29tbWFuZCBsaW5lCisKK2RtZXNnKDEpOgorICAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnMgLS1maWxlIHRvIHJlYWQgdGhlIGxvZyBmcm9tIGEgZmlsZSByYXRoZXIgCisgICAgIHRoYW4gZnJvbSBrZXJuZWwgYnVmZmVyCisKK2ZhbGxvY2F0ZSg4KToKKyAgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zIC0tcHVuY2gtaG9sZSB0byBwdW5jaCBob2xlcyBpbiB0aGUgZmlsZQorCitmaW5kbW50KDgpOgorICAgLSBzdXBwb3J0cyBhbHRlcm5hdGl2ZSBsb2NhdGlvbiBvZiB0aGUgZnN0YWIgZmlsZQorCitpcGNybSg4KToKKyAgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gLS1hbGwgdG8gcmVtb3ZlIGFsbCByZXNvdXJjZXMKKworbHNjcHUoMSk6CisgICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAtLWFsbCwgLS1vZmZsaW5lIGFuZCAtLW9ubGluZSB0byBsaXN0CisgICAgIGFsbCwgb2ZmbGluZSBvciBvbmxpbmUgQ1BVcworICAgLSBzdXBwb3J0cyBzMzkwIHRvcG9sb2d5IGRlc2NyaXB0aW9uIChwb2xhcml6YXRpb24sIGJvb2tzLCAuLi4pCisKK3BhcnR4KDgpOgorICAgLSBzdXBwb3J0cyBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgKG5vdGUgdGhhdCBzaW5jZSBrZXJuZWwgMy4yIHBhcnRpdGlvbmVkIAorICAgICBsb29wIGRldmljZXMgYXJlIHVzYWJsZSBldmVyeXdoZXJlIChpbmNsdWRpbmcgRmVkb3JhKSkKKword2lwZWZzKDgpOgorICAgLSBhbGxvd3MgdG8gemFwIHBhcnRpdGlvbiB0YWJsZXMKKyAgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gIi0tdHlwZSA8bGlzdD4iIHRvIHdpcGUgb25seSBzcGVjaWZpZWQKKyAgICAgZmlsZXN5c3RlbXMsIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZSB0eXBlcworCitsaWJibGtpZDoKKyAgIC0gcHJvdmlkZXMgbmV3IGZ1bmN0aW9uIGJsa2lkX2RvX3dpcGUoKSB0byByZW1vdmUgYWxsIHNpZ25hdHVyZXMgZnJvbSB0aGUKKyAgICAgZ2l2ZW4gYmxvY2sgZGV2aWNlLiBUaGlzIG5ldyBmdW5jdGlvbmFsaXR5IGlzIHVzZWQgaW4gd2lwZWZzKDgpIGFuZAorICAgICBta3N3YXAoOCkuIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIHRoaXMgZnVuY3Rpb24gaW4gbWtmcy1saWtlIHByb2dyYW1zLgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjIwIGFuZCB2Mi4yMQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yMC4xIFsyMC1PY3QtMjAxMV0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMC92Mi4yMC4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMC92Mi4yMC4xLUNoYW5nZUxvZworCisKK0NoYW5nZXMgYmV0d2VlbiB2Mi4yMCBhbmQgdjIuMjEKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIENoYW5nZUxvZyBmaWxlcyBhdDoKKyBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIxLworCithZ2V0dHk6CisgICAtIGFkZCAtLW5vaGludHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdGF0aWMgYW5kIGNvbnN0IHF1YWxpZmllcnMgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGNoZWNrIGxvY2FsdGltZSgpIHJlc3VsdCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIGxvZ19lcnIoKSBmb3Igbm9uLWZhdGFsIGVycm9ycyAgW0thcmVsIFpha10KKyAgIC0gZG91YmxlIGVxdWFscyBzaWduIHR5cG8gaW4gb3BlbnR0eSgpICBbS2FyZWwgWmFrXQorICAgLSBtYXAgTkwgdG8gQ1ItTkwgb24gb3V0cHV0IGluIGluaXRpYWwgdGVybWlvc3NldHRpbmdzICBbSmFjb2J5IEhpY2tlcnNvbl0KKyAgIC0gcGFzcyBob3N0bmFtZSB0byBsb2dpbigxKSAgW0thcmVsIFpha10KKyAgIC0gdGVzdCBFQ0hPIG9uIGNfbGZsYWcgIFtLYXJlbCBaYWtdCithcmNoOgorICAgLSBtaW5vciBjaGFuZ2VzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIHN0YXJ0IHVzaW5nIGFyY2ggYXMgYSB1c2FnZSgpIGV4YW1wbGUgIFtTYW1pIEtlcm9sYV0KK2Jsa2RldjoKKyAgIC0gYWRkIGlzX2Jsa2RldiBmdW5jdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KK2Jsa2lkOgorICAgLSBhZGQgY29tbWVudCB0byBrZWVwIHN0YXRpYyBhbmFseXNlcnMgaGFwcHkgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZkIGJlZm9yZSB1c2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggdW5maW5pc2hlZCBzZW50ZW5jZSBmb3IgLWwgb3B0aW9uIGluIGJsa2lkLjggIFtEYXZlIFJlaXNuZXJdCisgICAtIG1vdmUgY2FjaGUgdG8gL3J1biBvbiBuZXcgc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gcG90ZW50aWFsIG51bGwgZGVyZWZlbmNlIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHByaW50IElEX1BBUlRfRU5UUllfKiBmb3Igc21hbGwgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIC13IG9wdGlvbiBmcm9tIG1hbiBwYWdlIGFuZCB1c2FnZSgpIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgYXNzaWdtZW50ICBbS2FyZWwgWmFrXQorYmxvY2tkZXY6CisgICAtIG1ha2UgZnVuY3Rpb25zIHN0YXRpYyAgW1dhbmxvbmcgR2FvXQorICAgLSBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUgZm9yIHN0YXRpYyBhbmFseXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorYnVpbGQtc3lzOgorICAgLSBhZGQgLS1lbmFibGUtbW9zdC1idWlsZHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC0tZW5hYmxlLW5ldy1tb3VudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVMX0JVSUxEX0lOSVQgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBVTF9SRVFVSVJFU18qIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNoYW5nZWxvZyB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjaGVja3NtYXRjaCB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjaGVja3hhbGxvYyB0byB0b3BsZXZlbCBNYWtlZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGVyciBhbmQgZXJyeCB0byBzbWF0Y2ggbm9fcmV0dXJuX2Z1bmNzICBbS2FyZWwgWmFrXQorICAgLSBhZGQga28tcmVsZWFzZS1nZW4gc2NyaXB0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQga28tcmVsZWFzZS1wdXNoIHNjcmlwdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxvZ19lcnIgdG8gc21hdGNoIG5vbi1yZXR1cm4gZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBCVUlMRF9QUkxJTUlUICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBoZWFkZXJzIHRvIGRpc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHBhdGguaCB0byBNYWtlZmlsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNsZWVwZXhpdCBmcm9tIGxvZ2luLmMgdG8gc21hdGNoIG5vbi1yZXR1cm4gZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc21hdGNoIGRhdGEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0b29scy8gdG8gRVhUUkFfRElTVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRvb2xzL2NvbmZpZy1nZW4gYW5kIGJhc2ljIGNvbXBpbGF0aW9uIHNjZW5hcmlvcyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgSEFWRV8gZGVmaW5pdGlvbnMgd2l0aCAjaWZkZWYgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBzY2FuZiAlbXMgbW9kaWZpZXIgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfQVJDSCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9DUkFNRlMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfRUxWVFVORSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9GQUxMT0NBVEUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfRlNDSyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9IV0NMT0NLICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX0tJTEwsIGVuYWJsZSBraWxsKDEpIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTElCTU9VTlQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTE9HSU5fVVRJTFMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTFNCTEsgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTU9VTlQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfTU9VTlRQT0lOVCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9QQVJUWCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9QSVZPVF9ST09UICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX1JBVyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF9TQ0hFRFVUSUxTICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX1NXSVRDSF9ST09UICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX1VOU0hBUkUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfVVVJREQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfe0REQVRFLEFHRVRUWX0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgQlVJTERfe0xBU1QsTElORSxNRVNHfSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBCVUlMRF97TFMsQ0h9Q1BVICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX3tSRU5BTUUsUkVTRVR9ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIEJVSUxEX3tXQUxMLFdSSVRFfSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBIQVZFX0xJQkNSWVBUICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1pc2MtdXRpbHMvTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGRkYXRlIHR5cG8gZml4ZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgaW5zdGFsbCBydS9kZGF0ZS4xIGlmIGRkYXRlIGRpc2FibGVkICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgZnVsbCBwYXRocyBmb3Igc21hdGNoICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgLnh6LCBkaXNhYmxlIC5neiAgW0thcmVsIFpha10KKyAgIC0gZW5oYW5jZSBlcnJvciBtZXNzYWdlIGZvciBtaXNzaW5nIGxpYnRvb2xpemUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IFVMX0lOSVRfQlVJTEQgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBidWlsZGluZyBvZiB3YWxsICBbUGV0ciBVemVsXQorICAgLSBmaXggbGlidXVpZCAgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeGVzIHRvIFVTQUdFXyogbWFjcm9zICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgY2hhbmdlbG9nIHRhcmdldCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBrby1yZWxlYXNlLSogc2NyaXB0cyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSAtLWVuYWJsZS1saWJ7bW91bnQsdXVpZCxibGtpZH0gYmVmb3JlIG90aGVycyAtLWVuYWJsZS0qICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIC0td2l0aC0qIGJlZm9yZSAtLWVuYWJsZS0qICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGdldHRleHQgY2hlY2sgYmVmb3JlIC0tZW5hYmxlLSogIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgc3RydWN0cywgdHlwZXMsIGRlc2NzIGNoZWNrcyBiZWZvcmUgLS1lbmFibGUtKiAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBzd2Fwb24gZnJvbSBtb3VudC8gdG8gc3lzLXV0aWxzLyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB0eXBlIGNoZWNrcyBiZWZvcmUgLS1lbmFibGUtKiAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yMS1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjIxLXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSByZWR1bmRhbnQgX19wcm9nbmFtZSBjaGVjayAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHJlZHVuZGFudCBmbGFncyBmcm9tIG1vdW50L01ha2VmaWxlLmFtICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgcGVybCBjaGVjayAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIEJVSUxEX0JVR19PTl9aRVJPIGRlZmluaXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIGFuZCBtb3ZlIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gcmVxdWlyZSBQQU0gZm9yIGxvZ2luLXV0aWxzICBbS2FyZWwgWmFrXQorICAgLSBzdXBvcnQgc3RhdGljIGJ1aWxkIGZvciBuZXcgW3VdbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAkKE1BS0UpIGZvciBjaGVja3NtYXRjaCAgW0thcmVsIFpha10KKyAgIC0gdXNlICRidWlsZF9saWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIC0tZW5hYmxlLW1vc3QtYnVpbGRzIGZvciBkaXN0Y2hlY2sgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIG5vbi1BTlNJIGRlZmluaXRpb24gW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgYWxpZ25tZW50IHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gd2N0b21iKCkgcmV0dXJucyAtMSBvbiBlcnJvciAgW0thcmVsIFpha10KK2NoY3B1OgorICAgLSBjaGVjayBnZXRfbWF4X251bWJlcl9vZl9jcHVzKCkgcmVzdWx0IHByb3Blcmx5ICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IHRvIHVzZSBsaWIvcGF0aC5jICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIG1hbiBwYWdlIHVwZGF0ZSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBuZXcgdG9vbCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBwcm92aWRlIGJldHRlciB1c2VyIGZlZWRiYWNrICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSBhcHByb3ByaWF0ZSB2YXJpYWJsZSB0eXBlIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KK2NoY3B1LGNwdXNldDoKKyAgIC0gcmVkdWNlIGNvZGUgZHVwbGljYXRpb24gZm9yIGNwdSBsaXN0IHBhcnNpbmcgIFtIZWlrbyBDYXJzdGVuc10KK2NoZm46CisgICAtIGFsaWduIHdpdGggaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHVzZS1hZnRlci1mcmVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG5vbi1BTlNJIGRlZmluaXRpb25zIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBub24tUEFNIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KK2NoZm4sIGNoc2g6CisgICAtIG5ldyBmaWxlIHBhbWZhaWwuaCBmb3IgZXJyb3IgcHJpbnRpbmcgIFtTYW1pIEtlcm9sYV0KK2NoZm4sIGNoc2gsIHNldHB3bmFtOgorICAgLSBnZXQgdHJ1ZS9mYWxzZSBmcm9tIHN0ZGJvb2wuaCAgW1NhbWkgS2Vyb2xhXQorY2hmbiwgc2V0cHduYW06CisgICAtIGxldCBjb25maWcuaCBiZSBpbiBjb250cm9sIG9mIGV4dGVuc2lvbnMgaW4gdXNlICBbU2FtaSBLZXJvbGFdCitjaHJ0OgorICAgLSBhZGQgY29tbWVudCB0byBrZWVwIHN0YXRpYyBhbmFseXNlcnMgaGFwcHkgIFtLYXJlbCBaYWtdCitjaHNoOgorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBidWlsZCBidWcgIGRvIG5vdCBvdmVycmlkZSBjb25maWcuaCBkZWZpbml0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIG5vbi1QQU0gY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorY29sdW1uOgorICAgLSBhdm9pZCBtZW1vcnkgb3ZlcnJ1biBhbmQvb3IgdXNlIG9mIHVuaW5pdGlhbGl6ZWQgYnVmZmVyICBbSmltIE1leWVyaW5nXQorICAgLSBkb24ndCBjaGVjayByZXN1bHQgZnJvbSB4bWFsbG9jKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBlcnJvciByZXBvcnRlZCBieSBzbWF0Y2ggIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYyBsaWJzICBbRGF2ZSBSZWlzbmVyXQorY3B1c2V0OgorICAgLSBhZGQgb3B0aW9uIHRvIGFsbG93IGNwdWxpc3RfcGFyc2UoKSB0byBmYWlsICBbSGVpa28gQ2Fyc3RlbnNdCitjdHJsYWx0ZGVsOgorICAgLSBhZGQgdmVyc2lvbiAmIGhlbHAgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtaW5vciBjaGFuZ2VzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCitjeXR1bmU6CisgICAtIGFkZCBsb25nIG9wdGlvbnMgYW5kIHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgbnVtZXJpYyB1c2VyIGlucHV0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb2Rpbmcgc3R5bGUgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY3l0dW5lLjggZml4IGZvcm1hdHRpbmcgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBwcmludGYgdHlwZSB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHJlZmFjdG9yIG1haW4oKSwgbmV3IGZ1bmN0aW9uIHF1ZXJ5X3R0eV9zdGF0cygpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KK2RtZXNnOgorICAgLSBhZGQgLS1maWxlIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IGZvciBub24tQ09ORklHX1BSSU5US19USU1FIGtlcm5lbHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcHJpbnRpbmcgb2YgbXVsdGlieXRlIGNoYXJhY3RlcnMgIFtQZXRyIFV6ZWxdCisgICAtIHJlbW92ZSBleHRyYSBzcGFjZSBvbmx5IGFmdGVyIHRpbWUgc3RhbXAgIFtLYXJlbCBaYWtdCitkbzoKKyAgIC0gZml4IGN6ZWNoIExBQkVMPSB0cmFuc2xhdGlvbiAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIGFkZCBkZWJ1Z2dpbmcgZG9jICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBEb2N1bWVudGF0aW9uIGRpcmVjdG9yeSBhZGRlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS12ZXJzaW9uIHRvIHNldGFyY2guOCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgaG93dG8tYnVpbGQtc3lzLnR4dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGh3Y2xvY2sgLWMgdG8gVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mbyBhYm91dCB2aXJ0LXdoYXQgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYm1vdW50ICYgbGliYmxraWQgZGVidWcgaW5zdHJ1Y3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gaXBjbWsuMSBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIGlwY3JtLjEgbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyB0byBpcGNzLjEgbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyB0byByZWFkcHJvZmlsZS44ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gdHVuZWxwLjggIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vbi1yZXR1cm4gZnVuY3Rpb24gYW5kIGlmIHNob3J0aGFuZCB0aXBzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBub3RlIGFib3V0IEJVSUxEXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBjb25maWctZ2VuIHB1cnBvc2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGZkaXNrIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGxvc2V0dXAgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgbW91bnQoOCkgb3B0aW9ucyB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZXMgYWJvdXQgdG9vbHMvY29uZmlnLWdlbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBybGltaXQgdG8gdGhlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVzYWdlKCkgaG93dG8gZm9yIGNvbnRyaWJ1dG9ycyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgdjIuMjEgUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgeC1tb3VudC1ta2RpciB0byBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFsaWduIGNvbC4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIGNvbGNydC4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIGNvbHJtLjEgd2l0aCBob3d0by1tYW4tcGFnZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxpZ24gZmFsbG9jYXRlLjEgd2l0aCBob3d0by1tYW4tcGFnZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxpZ24gaGV4ZHVtcC4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIGxvZ2dlci4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIG1vcmUuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiByZW5pY2UuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiByZXYuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiBzY3JpcHQuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiBzY3JpcHRyZXBsYXkuMSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB0dW5lbHAuOCB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB1bC4xIHdpdGggaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIHZpcHcuOCB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB3YWxsLjEgd2l0aCBob3d0by1tYW4tcGFnZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hjcHUgYW5kIHJlYWRwcm9maWxlIGFyZSBzeXNhZG1pbiB1dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBvbGQgcmVhZG1lIGZpbGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGNvcHkgY29udHJpYnV0b3JzIGZyb20gbGVnYWN5IGZpbGVzIHRvIEFVVEhPUlMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHJldHVybiB2YWx1ZSB0YWJsZSBpbiBmc2NrLjggIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiBsb25nIG9wdGlvbnMgaW4gY3RybGFsdGRlbC44ICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpb24gbG9uZyBvcHRpb25zIGluIGN5dHVuZS44ICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpb24gbG9uZyBvcHRpb25zIGluIHBpdm90X3Jvb3QuOCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIHNldHVpZCBpbmZvcm1hdGlvbiBmcm9tIHJlYW1lIHRvIGh3Y2xvY2suOCAgW1NhbWkgS2Vyb2xhXQorICAgLSBuZXcgZmlsZSBEb2N1bWVudGF0aW9uL2hvd3RvLWNvbXBpbGF0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBuZXcgZmlsZSBEb2N1bWVudGF0aW9uL2hvd3RvLWNvbnRyaWJ1dGUudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIG5ldyBmaWxlIERvY3VtZW50YXRpb24vaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIG5ldyBmaWxlIERvY3VtZW50YXRpb24vcmVsZWFzZS1zY2hlZHVsZS50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbmV3IGZpbGUgRG9jdW1lbnRhdGlvbi9zb3VyY2UtY29kZS1tYW5hZ2VtZW50LnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBub3RlIGFib3V0IGluZGVwZW5kZW50IHN1cGVyIGJsb2NrIHN0cnVjdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVmcmVzaCBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBSRUFETUUuY2xlYXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIFVSTCB0byB1LWwgd2VicGFnZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZWQgdGV4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXF1aXJlIGtlcm5lbCBzdXBwb3J0IGJlZm9yZSBhY2NlcHRpbmcgdXNlIG9mIGl0ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlc3RydWN0dXJlIGZsb2NrLjEgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdGVsbCB3aGF0IHRoZSBEb2N1bWVudGF0aW9uLyBpcyBhYm91dCAgW1NhbWkgS2Vyb2xhXQorICAgLSB0cml2aWFsIGRvY3VtZW50YXRpb24gZml4ZXMgYW5kIGltcHJvdmVtZW50cyAgW1BldHIgVXplbF0KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbUGV0ciBVemVsXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY29weXJpZ2h0IHllYXJzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMjEtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgLkxHUEwgZXh0ZW5zaW9uIGZvciBmaWxlIHdpdGggR05VIExlc3NlciBMaWNlbnNlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgY29ycmVjdCB0cmFuc2xhdGlvbiBwcm9qZWN0IHVybCAgW1NhbWkgS2Vyb2xhXQorZmFsbG9jYXRlOgorICAgLSBhZGQgRkFMTE9DX0ZMX1BVTkNIX0hPTEUgc3VwcG9ydCAgW0NvbmcgV2FuZ10KKyAgIC0gY2xlYW4gdXAgZmFsbGJhY2tzIGZvciBGQUxMT0NfRkxfKiBmbGFncyAgW0thcmVsIFpha10KK2ZkZm9ybWF0OgorICAgLSBmaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KK2ZkaXNrOgorICAgLSBGaXggYmFkIGludmFsaWQgZmxhZyAweDAwMDAwIHdhcm5pbmcgbWVzc2FnZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gYWRkIG1pc3NpbmcgYnJlYWsgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGFuIGludGVybWVkaWF0ZSB2YXJpYWJsZSBpbiBjb21tYW5kX3Byb21wdCgpICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBhdm9pZCBzZWdmYXVsdCB2YWxpZGF0aW5nIGEgc2dpIGxhYmVsIChib290L3N3YXAgbm90IHNldCkgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGRvbid0IHNob3J0ZW4gbG9uZyBwYXRoIHRvIGRpc2sgZGV2aWNlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBzd2FwIHVuc2lnbmVkIGNoYXIgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBnZXRfZXhpc3RpbmdfcGFydGl0aW9uKCkgaWYgZGlzayBsYWJlbCBpc24ndCBkb3MgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGRyb3Agb25lIHBhcmFtZXRlciBmcm9tIHRyeSgpIGZ1bmN0aW9uICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBlbmFibGUgZXhwZXJ0IG1lbnUgd2l0aCBTR0kgbGFiZWwgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBjZHJvbSBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbmNvcnJlY3QgcG9zaXRpb24gb2YgaXNfaWRlX2Nkcm9tX29yX3RhcGUoKSBjYWxsICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBmaXggbGFzdCBzZWN0b3IgZGlhbG9nIGJ1ZyBhZnRlciBhbiBpbmNvcnJlY3QgaW5wdXQgd2l0aCBzdWZmaXggIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBwb29yIGNvZGluZyBzdHlsZSAgW0thcmVsIFpha10KKyAgIC0gZ2V0IHJpZCBvZiBnZXRfYm9vdChjcmVhdGVfZW1wdHlfc3VuKSBjYWxsICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBnZXQgcmlkIG9mIHR5cGVfb3BlbiBnbG9iYWwgdmFyaWFibGUgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGltcHJvdmUgc29tZSBtZXNzYWdlcyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gbW92ZSBjb2RlIGZvciByZW5hbWluZyBTR0kgYm9vdGZpbGUgdG8gU0dJIG1vZHVsZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gbW92ZSBjb21tYW5kIHByb21wdCBjb2RlIHRvIGEgc2VwYXJhdGUgZnVuY3Rpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHByaW50IGEgbWVzc2FnZSB3aXRoIHNpemUgYW5kIHR5cGUgb2YgY3JlYXRlZCBwYXJ0aXRpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHByaW50IHBhcnRpdGlvbiBkZWxldGVkIG1lc3NhZ2UgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHByaW50IHdlbGNvbWUgbWVzc2FnZSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gcmVtb3ZlIFBBQ0tFRCBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHBvc3NpYmx5X29zZl9sYWJlbCB2YXJpYWJsZSB0aGF0IGlzIG9ubHkgYXNzaWduZWQgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJlbW92ZSByZWR1bmRhbnQgZGVjbGFyYXRpb24gW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdW5lZWNlc3NhcnkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCAncmVxdWlyZScgbWVtYmVyIGluIGVudW0gYWN0aW9uICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgdW51c2VkIGd1ZXNzX2RldmljZV90eXBlKCkgZnVuY3Rpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJlbmFtZSBic2VsZWN0LCB4c2VsZWN0IGZ1bmN0aW9ucyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gcmVuYW1lIHJlYWRfaW50X3N4KCkgYW5kIHNvbWUgcmVsYXRlZCB2YXJpYWJsZXMgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHJlbmFtZSB0cnkoKSBhbmQgdHJ5cHJvY3B0KCkgZnVuY3Rpb25zICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZXdyaXRlIHByaW50IG1lbnUgc3lzdGVtICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBzcGxpdCBkZWxldGVfcGFydGl0aW9uKCkgb2ZmIGZyb20gZG9zX2RlbGV0ZV9wYXJ0aXRpb24oKSAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXBkYXRlIGluZm9ybWF0aW9uIGFib3V0IEdOVSBQYXJ0ZWQgaW4gZmRpc2suOCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIENEUk9NX0dFVF9DQVBBQklMSVRZIGlvY3RsICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgbmdldHRleHQoKSBpbiBzdHJfdW5pdHMoKSBmb3IgcGx1cmFsIGZvcm1zICBbRnJhbmNlc2NvIENvc29sZXRvXQorZmluZG1udDoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgTElCTU9VTlRfKiBlbnYudmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGluaXRpYWxpemUgcmMgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgLS1wb2xsIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSByZXZlcnQgLS1mc3RhYiBiZWhhdmlvciwgYWRkIC0tdGFiLWZpbGUgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGFsdGVybmF0aXZlIGxvY2F0aW9uIG9mIGZzdGFiICBbRGF2ZSBSZWlzbmVyXQorICAgLSBzdXBwb3J0IG11bHRpcGxlIC0tdGFiLWZpbGUgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHdhcm54IGZvciBsaWJtbnQgZXJyb3IgY2FsbGJhY2sgIFtEYXZlIFJlaXNuZXJdCitmbG9jazoKKyAgIC0gYWRkIG1pc3Npbmcgd29yZCDCu2JlwqsgdG8gZmxvY2suMSAgW1BhdWwgTWVuemVsXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBmbG9jay4xIGdyYW1tYXIgYnkgcmVtb3ZpbmcgwrtzwqsgIFtQYXVsIE1lbnplbF0KKyAgIC0gZml4IHNpemVvZiB1c2FnZSBbY2xhbmcgLVdzaXplb2YtcG9pbnRlci1tZW1hY2Nlc3NdICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGZsb2NrKDEpIHdvcmsgb24gTkZTdjQgIFtNaWNoYWwgS3ViZWNla10KKyAgIC0gbW92ZSBsb25nX29wdGlvbnMgc3RydWN0IHRvIGZ1bmN0aW9uIHNjb3BlICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IHN0cnRvdGltZXZhbCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHRpbWVyIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBPX1JEV1IgYXMgZmFsbGJhY2sgaWYgT19SRE9OTFkgcmV0dXJucyBFSU8gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmdW5jdGlvbiBhdHRyaWJ1dGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHN0cnV0aWxzLmggdG8gY2hlY2sgbnVtZXJpYyB1c2VyIGlucHV0ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzeXNleGl0LmggZm9yIGFsbCBleGl0IHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQorZnNjazoKKyAgIC0gbWFrZSBmcy0+dHlwZSB1c2FnZSBtb3JlIHJvYnVzdCBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSB1c2UgRlMgYmxhY2tsaXN0IGZvciBub24tYWxsIG1vZGUgdG9vICBbS2FyZWwgWmFrXQorZnNjay5jcmFtZnM6CisgICAtIG1hcmsgdXNhZ2UoKSBhcyBub3JldHVybiAgW0thcmVsIFpha10KK2ZzY2subWluaXg6CisgICAtIGZpeCB6b25lX21hcCBtZW1vcnkgYWxsb2NhdGlvbiBmYWlsdXJlIGNoZWNrICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgbWVtc2V0IGNhbGxzICBbRnJhbmNlc2NvIENvc29sZXRvXQorZnN0cmltOgorICAgLSBmaXggc2VjdGlvbiBudW1iZXIgaW4gcmVmZXJyYWwgdG8gbWFucGFnZSAgW1BldHIgVXplbF0KK2hleGR1bXA6CisgICAtIG1ha2UgY29kZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK2h3Y2xvY2s6CisgICAtIGNsZWFuIHVzYWdlLCByZW1vdmUgcmVkdW5kYXQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG5ldmVyIHJlYWQgdmFsdWUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQoraW5jbHVkZSxjLmg6CisgICAtIGluY2x1ZGUgZmNudGwuaCBiZWZvcmUgY2hlY2sgZm9yIE9fQ0xPRVhFQyBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQoraW5jbHVkZSxvcHR1dGlsczoKKyAgIC0gYWRkIG9wdGlvbl90b19sb25nb3B0KCkgIFtLYXJlbCBaYWtdCitpbmNsdWRlLHhhbGxvYzoKKyAgIC0gY2hlY2sgZm9yIE5VTEwgYmVmb3JlIGNhbGxpbmcgc3RyZHVwICBbRGF2ZSBSZWlzbmVyXQorICAgLSBmaXggd2hpdGVzcGFjZSB0byBiZSBjb25zaXN0ZW50ICBbRGF2ZSBSZWlzbmVyXQoraW5jbHVkZS9sb29wZGV2Lmg6CisgICAtIGFkZCBtaXNzaW5nIGZ1bmN0aW9uIHByb3RvdHlwZSAgW0RhdmUgUmVpc25lcl0KK2lwY21rOgorICAgLSBhZGQgbG9uZyBvcHRpb25zICYgZml4IHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgaGlnaCBzcGVlZCBpcGMgY3JlYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBjYW1lbCBjYXNpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgY29kZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YWxpZGF0ZSBudW1lcmljIG9wdGlvbiBhcmd1bWVudHMgIFtTYW1pIEtlcm9sYV0KK2lwY3JtOgorICAgLSBhZGQgLS1hbGwgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCAtLXZlcmJvc2Ugb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHN0YXRpYyBrZXl3b3JkIHRvIHNvbWUgZnVuY3Rpb25zICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBjaGVjayBJUEMgc3lzY2FsbHMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGV4aXQgaWYgdW5rbm93biBlcnJvciBvY2N1cnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHdyb25nIHN1YmplY3QgaW4gZXJyb3IgbWVzc2FnZXMgZm9yIC1tLCAtcSwgLXMgaWQgb3B0aW9ucyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIHJlZmFjdG9yIG5ldyBhbmQgb2xkIG1haW4gdG8gc2hhcmUgY29kZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgdGVybmFyeSBvcGVyYXRvciBpbiAiKGtleXxpZCkgZmFpbGVkIiBtZXNzYWdlICBbRnJhbmNlc2NvIENvc29sZXRvXQoraXBjczoKKyAgIC0gYWRkIGxvbmcgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb21tZW50ICYgd2hpdGUgc3BhY2UgY2xlYW4gdXAgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5jbHVkZS13aGF0LXlvdS11c2UgaGVhZGVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIG1pbm9yIGNoYW5nZXMgdG8gdXNhZ2UoKSAgW0thcmVsIFpha10KK2lzbG9jYWw6CisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK2tpbGw6CisgICAtIGZpeCBmZCBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBmaXggaXNzdWUgd2FybmVkIGJ5IHNtYXRjaCAgW1NhbWkgS2Vyb2xhXQorICAgLSBwb3RlbnRpYWwgbnVsbCBkZXJlZmVuY2UgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KK2xhc3Q6CisgICAtIGZpeCBmZXcgY29tcGlsZXIgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNtYXRjaCB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdyBmaXhlZCBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCitsZGF0dGFjaDoKKyAgIC0gYWRkIGRlZmF1bHQgY2FzZSB0byBzd2l0Y2hlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBudW1lcmljIHVzZXIgaW5wdXRzIHdpdGggc3RydG9sX29yX2VyciAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb252ZXJ0IGRlYnVnIG1hY3JvIHRvIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK2xpYjoKKyAgIC0gW3N0cnV0aWxzXSBhZGQgc3RydG9kX29yX2VycigpIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgc2V0cHJvY3RpdGxlLmMgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBhdHRlbXB0IHRvIGNsb3NlKDApIGluIHN5c2ZzX2RlaW5pdCgpICBbUGV0ciBVemVsXQorbGliLGNwdXNldDoKKyAgIC0gZW5mb3JjZSBzdHJpY3RlciBwYXJzaW5nIG9mIGNwdSBsaXN0cyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBmaXggY29tbWVudHMgZm9yIGNwdSBtYXNrL2xpc3QgZnVuY3Rpb25zICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VuaW5pdGlhbGl6ZWRdICBbS2FyZWwgWmFrXQorICAgLSBmaXggb2RkIHBsYWNlZCBicmFjZXMgaW4gY3B1bGlzdF9wYXJzZSgpICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGZpeCBzdHJpZGUgaGFuZGxpbmcgaW4gY3B1bGlzdF9wYXJzZSgpICBbSGVpa28gQ2Fyc3RlbnNdCitsaWIsbG9vcGRldjoKKyAgIC0gYWRkIExPT1BfQ1RMX0dFVF9GUkVFIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1Z3UgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZml4IHVzZSBvZiBsb2dpY2FsICcmJicgd2l0aCBjb25zdGFudCBvcGVyYW5kICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorbGliLG1hdGNoOgorICAgLSBzcGxpdCBtYXRjaF9mc3R5cGUoKSBmcm9tIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorbGliLHBhdGg6CisgICAtIG1vdmUgcGF0aCBhY2Nlc3MgZnVuY3Rpb25zIGZyb20gbHNjcHUgaW50byBsaWIvcGF0aC5jICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSB3cml0ZV9hbGwoKSAgW0hlaWtvIENhcnN0ZW5zXQorbGliLHN0cnV0aWxzOgorICAgLSBhZGQgZGVmYXVsdCB2YWx1ZSB0byBwYXJzZV9yYW5nZSgpICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzaGFyZSBwYXJzZV9yYW5nZSgpICBbRGF2aWRsb2hyIEJ1ZXNvXQorbGliLHR0OgorICAgLSBhZGQgVFRfRkxfTk9FWFRSRU1FUyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdHJpbSBsYXN0IGxpbmUgY2hhciAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XcmV0dXJuLXR5cGVdICBbS2FyZWwgWmFrXQorbGliL2ZzcHJvYmU6CisgICAtIG1hciB0aGlzIGludGVybmFsIEFQSSBhcyBkZXByZWNhdGVkICBbS2FyZWwgWmFrXQorbGliL2xvb3BkZXY6CisgICAtIGZpeCBwYXJ0IHNjYW4gZGV0ZWN0aW9uIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBkaXIgbGVhayBvbiBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgYXNzaWdtZW50IGFuZCBudWxsIGRlZmVyZW5jZSAgW0thcmVsIFpha10KK2xpYi9zdHJ1dGlsczoKKyAgIC0gbW92ZSBhcnJheSBib3VuZHMgY2hlY2sgaW4gc3RyaW5nX3RvX2lkYXJyYXkoKSB0byBhcHByb3ByaWF0ZSBwbGFjZS4gIFtDaGFuZGFuIEIgUmFqZW5kYV0KK2xpYi9zeXNmczoKKyAgIC0gZml4IGhhbmRsZSBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9zc2libGUgZmQgbGVhayBvbiBlcnJvciAgW0thcmVsIFpha10KK2xpYmJsa2lkOgorICAgLSBEUkJEIHByb3h5IGRhdGEtbG9nIGlkZW50aWZpY2F0aW9uLiAgW1BoaWxpcHAgTWFyZWtdCisgICAtIGFkZCBCTEtJRF9QQVJUU19NQUdJQyAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJMS0lEX1BBUlRTX01BR0lDIHRvIGJsa2lkX2RvX3dpcGUoKSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmxraWRfZG9fd2lwZSgpICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyByZXR1cm4gdmFsdWUgdG8gaW5kaWNhdGUgZXJyb3IgW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBibGtpZF9wcm9iZV9zZXRfbWFnaWMoKSByZXR1cm4gaW4gR1BUIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBibGtpZF9wcm9iZV9zZXRfbWFnaWMoKSByZXR1cm4gaW4gdWx0cml4IGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBibGtpZF9wcm9iZV9zZXRfbWFnaWMoKSByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmb3IgTlVMTCBpbiBibGtpZF9mbHVzaF9jYWNoZSgpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmVuYW1lKCkgcmV0dXJuIHZhbHVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmV0dXJuIHZhbHVlcyBpbiBzYWZlX3Byb2JlIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGFyaWZ5IG9wZXJhdGlvbiBvcmRlciBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbXBhcmluZyBhbiBhcnJheSB0byBudWxsIGlzIG5vdCB1c2VmdWwgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYWxsIENEUk9NX0dFVF9DQVBBQklMSVRZIGZvciBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgUFRNQUdJQyBhbHNvIGlmIG9ubHkgUFRUWVBFIHJlcXVlc3RlZCAgW0thcmVsIFpha10KKyAgIC0gZXhwb3J0IGluZm8gYWJvdXQgUFQgbWFnaWMgc3RyaW5ncyAgW0thcmVsIFpha10KKyAgIC0gZml4IGJsa2lkX2RvX2Z1bGxwcm9iZSgpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxpbWl0IGZvciBPQ0ZTIGNoZWNrICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFjIHBhcnRpdGlvbiBkZXRlY3Rpb24gIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIGZpeCBzbWF0Y2ggd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggc3VzcGljaW91cyBpbXBsaWNpdCBzaWduIGV4dGVuc2lvbiBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1c2UtYWZ0ZXItZnJlZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcmVpc2VyZnMgYW5kIGJ0cmZzIG1pbi4gc2l6ZSBsaW1pdHMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZmQgdXNhZ2UgaW4gbWQgY29kZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgZG9jcyBjaGFuZ2VzICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBtb3JlIHJvYnVzdCBpZHggdXNhZ2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBuZXcgbWFnaWMgZm9yIDguNCBzdHlsZSAodW5jbGVhbikgYWN0aXZpdHkgbG9nLiAgW1BoaWxpcHAgTWFyZWtdCisgICAtIHJlbW92ZSA+PiA5IGZyb20gR1BUIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBwb3NpdGlvbiBjaGVjayBmcm9tIGxpc3RfZm9yX2VhY2hfc2FmZSBsb29wcyAgW0thcmVsIFpha10KKyAgIC0gc2lsZW5jZSBhIGZvcm1hdCBzdHJpbmcgd2FybmluZyBbLVdmb3JtYXRdICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSB1cGRhdGUgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gdmVyaWZ5IGFycm95IGJvdW5kIGJlZm9yZSByZWZlcmVuY2UgW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorbGlibW91bnQ6CisgICAtIFVzZSBmaWx0ZXIgYXJnIG9mIHNjYW5kaXIqIHRvIHBpY2t1cCAvZXRjL2ZzdGFiLmQvKi5mc3RhYiBmaWxlcyAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gYWRkICIrIiBwcmVmaXggZm9yIG9wdGlvbnMgcGF0dGVybiAoZS5nIGZpbmRtbnQgLU8pICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1wYXNzLWZkIHRvIHNhbXBsZXMvbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtYSB0byB1bW91bnQoOCkgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTU5UX09NT0RFX05PVEFCICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb24gdG8gcGFyc2Ugb2Zmc2V0cy9zaXplcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyB0byBleHBvcnQgc3lzY2FsbC9oZWxwZXJzIHN0YXR1cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9jb250ZXh0X3Vtb3VudF9uZXh0KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgZXhwcmltZW50YWwgdW1vdW50KDgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcG9zdC1tb3VudCBjaGVja3MgdG8gZGV0ZWN0IHJvL3J3ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2FuaXRpemVfZW52KCkgdG8gbW91bnQoOCkgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgZW5jcnlwdGVkIGxvb3BkZXZzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgbW91bnQgLWEgLS1mb3JrICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byB0b2dnbGUgcm8vcncgYW5kIG1vdW50IGFnYWluICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byB1c2UgVVVJRCBhbmQgTEFCRUwgZm9yIG93bmVyL2dyb3VwIG1vdW50IG9wdGlvbnMgaW4gZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyB0cnVzdCB0aGUgc291cmNlIG9mIGEgcHNldWRvZnMgIFtEYXZlIFJlaXNuZXJdCisgICAtIGF2b2lkIGR1cGxpY2F0ZSBsb29wZGV2cyAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgcmVzb2x2aW5nIHBzZXVkb2ZzIHNvdXJjZSBvbiB1cGRhdGUgIFtEYXZlIFJlaXNuZXJdCisgICAtIGNsZWFuIHVwIGNvbnRleHQgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHBvc3QtdW1vdW50IG9wZXJhdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIE1OVF9GU18qIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIHN5c2NvbmYoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIGNobW9kL293biBlcnJvcnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHBhc3MgY29tbWVudHM9L3gtKiB0byBtb3VudC48dHlwZT4gaGVscGVycyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlICJuZXciIGluIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgaW5mbyBhYm91dCBsaWJyYXJ5IGZlYXR1cmVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggTVNfQklORHxNU19SRUMgdXNhZ2UsIGltcHJvdmUgc29tZSBiaXR3aXNlIG9wZXJhdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIHBvdGVudGlhbCBtZW1vcnkgbGVhayBhdCBtbnRfdGFibGVfcGFyc2VfZGlyICBbTWFzYXRha2UgWUFNQVRPXQorICAgLSBmaXggYXV0by1sb29wZGV2ICBbS2FyZWwgWmFrXQorICAgLSBmaXggYnVmZmVyIG92ZXJmbG93IGFuZCBsZWFrcyBpbiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZml4IGJ1Z3MgZGV0ZWN0ZWQgYnkgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNoZGlyIHRvIHBhcmVudCBmb3IgcmVzdHJpY3RlZCAodXNlcikgdW1vdW50cyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNoZWNrZWQtcmV0dXJuIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VuaW5pdGlhbGl6ZWQgLVdmb3JtYXRdICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29udGV4dCB0ZXN0IGxvZ2ljICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGVhayBpbiB0YWIgcGFyc2luZyBlcnJvciBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGVhayBpbiB0YWJfdXBkYXRlLmMgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IGxlYWsgaW4gdGFiZGlmZiB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggbmVnYXRpdmUgcmV0dXJucyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBudWxsIGRlcmVmZXJlbmNpbmcgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0cml2aWFsIHR5cG9zIGluIGRlYnVnZ2luZyBvdXRwdXQgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCB0eXBvIGluIGZ1bmN0aW9uIG5hbWUgIFtEYXZlIFJlaXNuZXJdCisgICAtIGZpeCB1c2Ugb2YgbG9naWNhbCAnJiYnIHdpdGggY29uc3RhbnQgb3BlcmFuZCAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gZml4ZWQgYSBzbWFsbCB0eXBvICBbcy5wQG9yYml0YWxmb3guY29tXQorICAgLSBpZ25vcmUgImRlZmF1bHRzIiBtb3VudCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSB0YWlsaW5nIHNsYXNoIGluIG5ldGZzIHNvdXJjZSBwYXRocyAgW1BldHIgVXplbF0KKyAgIC0gaW1wcm92ZSB2ZXJib3NlIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaXRlciByZXNldCBtb3JlIHJvYnVzdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugb3B0aW9ucyBpbiBmc3RhYiBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gcG90ZW50aWFsIG51bGwgZGVyZWZlbmNlIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHByZXZpb3VzbHkgYXNzdW1lZCBudWxsIHBvaW50ZXIgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVkdW5kYW50IG51bGwgY2hlY2sgb24gY2FsbGluZyBmcmVlKCkgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgYXNzaWdtZW50ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZnN0YWIuZCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbWFnaWMgY29uc3RhdG50IGZyb20gbW91bnQoOCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB0ZWFzZXIgcHJvdG8gZm9yIG1udF90YWJsZV9nZXRfbmFtZSAgW0RhdmUgUmVpc25lcl0KKyAgIC0gc2NhbmRpcmF0IGJhc2VkIG1udF90YWJsZV9wYXJzZV9kaXIgaW1wbGVtZW50YXRpb24gIFtNYXNhdGFrZSBZQU1BVE9dCisgICAtIHN1cHBvcnQgLW8gbG9vcD08ZGV2bmFtZT4gIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgZGlycyBmb3IgbW50X3RhYmxlX3BhcnNlX2ZzdGFiKCksIGFkZCBtbnRfdGFibGVfcGFyc2VfZGlyKCkgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgdW1vdW50IC9wYXRoL2ZpbGUuaW1nICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHtvZmZzZXQsc2l6ZWxpbWl0fT0gZm9vciBsb29wZGV2cyAgW0thcmVsIFpha10KKyAgIC0gdW5hYmxlIHRvIHVtb3VudCBuZnMgc2hhcmVzIHVzaW5nIHRoZSBmb3JjZSBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSAjaWZkZWYgZnIgc2VsaW51eCBzcGVjaWZpYyB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBVU0FHRV8qIGZyb20gbW91bnQoOCkgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9vcGRldiBkZWJ1ZyBmYWNpbGl0eSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHVuc2lnbmVkIGludCBmb3IgYml0ZmllbGRzIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHZhcmlhYmxlIGRlcmVmZXJlbmNlZCBiZWZvcmUgY2hlY2sgW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KK2xpYnV1aWQ6CisgICAtIGFkZCBsaW1pdHMuaCBpbmNsdWRlIGZvciBPUEVOX01BWCAgW21heGltaWxpYW4gYXR0ZW1zXQorICAgLSBmaXggaW5jbHVkZXMgaW4gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorbGluZToKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorbGlzdHM6CisgICAtIGFkZCBsaXN0IHNvcnRpbmcgcm91dGluZSAgW0RhdmlkbG9ociBCdWVzb10KK2xvZ2dlcjoKKyAgIC0gZml4IHJlbW90ZSBsb2dnaW5nICBbS2FyZWwgWmFrXQorICAgLSBub24tQU5TSSBkZWZpbml0aW9uIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCitsb2dpbjoKKyAgIC0gKGFuZCBjaHNoKSBtYWtlIHB3X3NoZWxsIHVzYWdlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBQQU0gYWNjb3VudCBjaGVja3MgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIFBBTSBhdXRoIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBQQU0gaW5pdGlhbGl6YXRpb24gcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIFBBTSBzZXNzaW9uIGluaXRpYWxpemF0aW9uIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLUggb3B0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggU3VzZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIExPR0lOX1JFVFJJRVMsIGNsZWFudXAgcmV0cmllcyBjaGVjayBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaG9zdG5hbWUgdG8gbG9naW5fY29udGV4dCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb2dpbi5kZWZzIGNvZGUgYW5kIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGlkIHRvIGxvZ2luX2NvbnRleHQgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3RydWN0IGxvZ2luX2NvbnRleHQsIGNvbnNvbGlkYXRlIHR0eSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdXNlcm5hbWUgdG8gbG9naW5fY29udGV4dCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2ZXJzaW9uIHByaW50aW5nIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGxvY2F0ZSBidWZmZXIgd2l0aCBzaGVsbCBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiBGQUlMX0RFTEFZIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGJlZ2luIG9mIHRoZSBsb2dpbi5jIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbXBhcmluZyBhbiBhcnJheSB0byBudWxsIGlzIG5vdCB1c2VmdWwgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjb3NtZXRpYyBjaGFuZ2VzIGluIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGVudiBpbml0aWFsaXphdGlvbiByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XcmV0dXJuLXR5cGVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGVhaywgaW1wcm92ZSBzdHJ0b2sgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZvcmsgJiBzZXNzaW9uIGluaXRpYWxpemF0aW9uIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBob3N0e25hbWUsYWRkcmVzc30gaW5pdGlhbGl6YXRpb24gcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgaHVzaGVkIG1vZGUgKG1lcmdlIHN1c2UgY2hhbmdlcykgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcGFtX3NldGNyZWQoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gaW5kZW50IC1saW51eCAgW0thcmVsIFpha10KKyAgIC0gbGFzdGxvZyBjb2RlIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBsb2cgZ29vZCBsb2dpbnMgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgcm9idXN0IHN5c2NvbmYoKSB1c2FnZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgX1BBVEhfQlRNUCB0byBwYXRobmFtZXMuaCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBzaWduYWwgc3R1ZmYgdG8gdGhlIG9uZSBwbGFjZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIFBBTV9GQUlMX0NIRUNLIGFuZCBQQU1fRU5EIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSBhbmQgY29tbWVudHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBrZXJiZXJvcyBzcGVjaWZpYyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbm9uLVBBTSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgY29kZSwgY2xlYW4gdXAgbWFjcm9zIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgaW5mbyBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgcGFtX2hhbmRsZV90IGZyb20gbWFpbigpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaWZkZWYgSEFWRV9DUllQVF9IICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIGNvZGUgYW5kIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIG1vdGQoKSwgdXNlIE1PVERfRklMRSBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHR0eSBjaG93bi5jaG1vZCByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIERFRkFVTFRfSE9NRSBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBFTlZfUEFUSCBhbmQgRU5WX3tST09ULFNVfVBBVEggZnJvbSBsb2dpbi5kZWZzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgRkFJTF9ERUxBWSBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBIVVNITE9HSU5fRklMRSBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBMT0dJTl9USU1FT1VUIGZyb20gbG9naW4uZGVmcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIExPR19VTktGQUlMX0VOQUIgZnJvbSBsb2dpbi5kZWZzLCBpbXByb3ZlIGxvZ2dpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBUVFlHUk9VUCBmcm9tIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBUVFlQRVJNIGZyb20gbG9naW4uZGVmcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGdldHB3bmFtX3IoKSByYXRoZXIgdGhhbiBtYW51YWxseSBjb3B5IHBhc3N3ZCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsb2dpbl9jb250ZXh0IHN0cnVjdCBpbiBhdWRpdCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNldGdyb3VwcygwLCBOVUxMKSBmb3Igcm9vdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYy5oICBbS2FyZWwgWmFrXQorICAgLSB1dG1wIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCitsb2dpbmRlZnM6CisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK2xvb3BkZXY6CisgICAtIGltcHJvdmUgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgTE9fRkxBR1NfUEFSVFNDQU4gZmxhZyAoa2VybmVsIDMuMikgIFtLYXJlbCBaYWtdCitsb3NldHVwOgorICAgLSBhZGQgLS1wYXJ0c2NhbiBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IG5vbi1yb290IHVzZXJzIHRvIGxvc2V0dXAuOCAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgIHRvIGNvbnRyb2wgZGVidWcgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGhlYWRlcnMsIGNtZGxpbmUgY2hlY2tzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdwb2ludGVyLXNpZ24gLVdmb3JtYXRdICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHhnZXRwYXNzIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRvIHN5cy11dGlscyBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgeGdldHBhc3MoKSB0byBsaWIveGdldHBhc3MuYyAgW0thcmVsIFpha10KKyAgIC0gbmV3IC1EIG9wdGlvbiB0byBkZWxldGUgYWxsIHVzZWQgbG9vcCBkZXZpY2VzICBbUGV0ciBVemVsXQorICAgLSBwcmludCBpbmZvIGFib3V0IG9uZSBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgaWYgcmVxdWVzdGVkICBbUGV0ciBVemVsXQorICAgLSByZW1vdmUgI2lmZGVmIExPT1BfU0VUX0ZEIG5vbnNlbnNlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgMzItYml0IGlvY3RscyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG1vdW50LXNwZWNpZmljIGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSAjaWZkZWYgTUFJTiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSAtYSAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSAtYyAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSAtZCBhbmQgLUQgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgLWYgIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgLWogIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgbG9vcCBzZXR1cCAgW0thcmVsIFpha10KK2xzYmxrOgorICAgLSBhZGQgVVVJRCB0byAtLWZzIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVkZXYgc3VwcG9ydCAgW0lsaWFzIE1hbWVkb3ZdCisgICAtIGNoZWNrIHN0YXQoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gaW5mb3JtIGFib3V0IGRlcGVuY2VuY3kgdG8gL3N5cy9kZXYvYmxvY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIF9fTkNPTFVNTlMgIFtEYXZpZGxvaHIgQnVlc29dCitsc2NwdToKKyAgIC0gYWRkIC0tYWxsIG9wdGlvbiAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhZGQgLS1vZmZsaW5lIG9wdGlvbiAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhZGQgLS1vbmxpbmUgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS12ZXJzaW9uIG9wdGlvbiAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhZGQgSHlwZXJ2aXNvciB0byBvdXRwdXQgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gYWRkIGNvbHVtbiBuYW1lcyB0byAtLWhlbHAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb2x1bW5zIGRlc2NyaXB0aW9uIHRvIGhlbHAsIGZpeCBoZWFkZXIgZm9yIHBhcnNhYmxlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbmZpZ3VyZWQgc3RhdGUgdG8gb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFkZCBjcHUgcG9sYXJpemF0aW9uIHRvIHBhcnNlYWJsZSBvdXRwdXQgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gYWRkIGh1bWFuIHJlYWRhYmxlIGV4dGVuZGVkIGNwdSB0YWJsZSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBvbmxpbmUgc3RhdGUgdG8gb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFkZCBwaHlzaWNhbCBjcHUgYWRkcmVzcyB0byBwYXJzZWFibGUgb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFkZCBzMzkwIGt2bSB0ZXN0IGNhc2UgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gYWRkIHMzOTAgdGVzdCBjYXNlICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFsbG93IHJlYWRfY2FjaGUoKSB0byBiZSBjYWxsZWQgZm9yIG9mZmxpbmUgY3B1cyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBjbGVhbnVwIG91dHB1dCBtb2RlcyAgW0thcmVsIFpha10KKyAgIC0gZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkZXRlY3QgSUJNIGh5cGVydmlzb3IgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gZml4IC1lIG91dHB1dCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBmaXggY2FjaGUgb3V0cHV0IGZvciBleHRlbmRlZCBwYXJzYWJsZSBvdXRwdXQgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggY3B1IG1hcCBhcnJheSBzaXplcyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBmaXggZmFsbGJhY2sgbnRocmVhZHMgY2FsY3VsYXRpb24gIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gZml4IGZkIGxlYWsgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzMzkwIGJvZ29taXBzIGRldGVjdGlvbiBjb2Rpbmcgc3R5bGUgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gZml4IHR5cG8gaW4gaGVscCB0ZXh0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGdldHRleHRpemUgdHdvIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIG1hbiBwYWdlIHVwZGF0ZSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSByZW1vdmUgY29tbWEgb3BlcmF0b3IgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gcmVtb3ZlIHVubmVlZGVkIGZpbGUgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gcy9ZL1llcy8gcy9OL05vLyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzaG93IGRpc3BhdGNoaW5nIG1vZGUgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gc2ltcGxpZnkgY2FjaGUgY29sdW1uIG91dHB1dCBmdW5jdGlvbiAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzdHJpY3RlciBjb21tYW5kIGxpbmUgcGFyc2luZyAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzd2l0Y2ggWWVzL05vIG91dHB1dCB0byBsb3dlciBjYXNlICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSBidWZmZXIgZm9yIGRhdGEgYW5kIGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmdW5jdGlvbiB0byBzZWFyY2ggaW4gY3B1IG1hc2tzIGFycmF5cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGh5cGVydmlzb3IgZ2VuZXJhdGVkIHRvcG9sb2d5IGluZm9ybWF0aW9uICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIHVzZSB4YWxsb2MgbGlicyAgW0RhdmUgUmVpc25lcl0KK21pc2M6CisgICAtIHVzZSAlbSBpbiBmb3JtYXQgc3RyaW5nIGluc3RlYWQgb2YgJXMgYW5kIHN0cmVycm9yKGVycm5vKSAgW1BldHIgVXplbF0KK21rZnMuYmZzOgorICAgLSBhZGQgc2V0bG9jYWxlICBbRGF2aWRsb2hyIEJ1ZXNvXQorbWtmcy5jcmFtZnM6CisgICAtIGNoZWNrIGJsb2Nrc2l6ZSB1c2VyIGlucHV0IFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xvc2Ugb3BlbiBmaWxlIGFmdGVyIHVzYWdlIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KK21rZnMubWluaXg6CisgICAtIEZpeCBzdXBlcl9zZXRfbnpvbmVzKCkgIFtNYXVyaXppbyBMb21iYXJkaV0KKyAgIC0gSW4gTWluaXggVjMgZmlsZXN5c3RlbXMgdGhlIG1heGltdW0gZmlsZW5hbWUgbGVuZ3RoIGlzIDYwIGNoYXJzIGFuZCB0aGUgZGlyc2l6ZSBpcyA2NCBieXRlcy4gIFtNYXVyaXppbyBMb21iYXJkaV0KKyAgIC0gU29tZSBidWcgZml4ZXMgIFtNYXVyaXppbyBMb21iYXJkaV0KKyAgIC0gVGhlIHNfYmxvY2tzaXplIGZpZWxkIG9mIHRoZSBNaW5peFYzIHN1cGVyYmxvY2sgbXVzdCBiZSBpbml0aWFsaXplZCB3aXRoIGEgdmFsaWQgYmxvY2sgc2l6ZSwgbm90IHRoZSB0b3RhbCBudW1iZXIgb2YgYmxvY2tzIG9mIHRoZSBkZXZpY2UhICBbTWF1cml6aW8gTG9tYmFyZGldCisgICAtIFRoZSB0b3RhbCBudW1iZXIgb2Ygem9uZXMgaXMgbGltaXRlZCB0byA2NTUzNiBvbmx5IG9uIFYxIGZpbGVzeXN0ZW1zICBbTWF1cml6aW8gTG9tYmFyZGldCisgICAtIGlub2RlIG51bWJlcnMgYXJlIDMyLWJpdCB3aWRlIGluIFYzIGZpbGVzeXN0ZW1zICBbTWF1cml6aW8gTG9tYmFyZGldCisgICAtIHJlbW92ZSByZWR1bmRhbnQgY29kZSAgW01hdXJpemlvIExvbWJhcmRpXQorbWtzd2FwOgorICAgLSBjaGVjayBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWVzKCkgcmV0dXJuIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gd2lwZSBhbGwgb2xkIHNpZ25hdHVyZXMgIFtLYXJlbCBaYWtdCittb3JlOgorICAgLSBhZGQgY29tbWVudCAgW0thcmVsIFpha10KK21vdW50OgorICAgLSAobmV3KSBhZGQgLS1mc3RhYiA8cGF0aD4gb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBhZGQgLS1mc3RhYiB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBtb3JlIGluZm8gYWJvdXQgLS1zdGFiIHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBzZWxpbnV4IHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBzb3VyY2UvdGFyZ2V0IHRvIGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGltcHJvdmUgIG1vdW50IC1hIGV4aXN0IGNvZGVzIGFuZCBlcnJvZXIgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIHByaW50IGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBzaGFyZSBleGl0IGNvZGVzIGJ5IGluY2x1ZGUvZXhpdGNvZGVzLmggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBoaW50IHRoYXQgY29udGV4dD0gaGFzIHRvIGJlIHF1b3RlZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGluZm8gYWJvdXQgbGlibW91bnQgZmVhdHVyZXMgdG8gLS12ZXJzaW9uIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYXBwZW5kIGludmVydGluZyBvcHRpb25zIGZvciBtb3VudC48dHlwZT4gIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGNhbm9uaWNhbGl6aW5nIHBzZXVkb2ZzIHBhdGhzICBbRGF2ZSBSZWlzbmVyXQorICAgLSBjaGVjayBmb3IgdGFyZ2V0IGJlZm9yZSBzb3VyY2Ugb24gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gY2xlYXIgZmxhZ3MgYmVmb3JlIG9wdGlvbnMgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gZGVmaW5lIGZhbGxiYWNrIHNlbGludXhfd2FybmluZyBtYWNybyB3aXRoIDIgcGFyYW1zICBbRGF2ZSBSZWlzbmVyXQorICAgLSBkaXN0aW5ndWlzaCBiZXR3ZWVuIE1TX0NPTU1FTlQgZmxhZ3MgKG5ldGRldiwgbm9mYWlsLCAuLi4pICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYW5vbmljYWxpemUgdGhlIHNvdXJjZSBvZiBhIHBzZXVkb2ZzICBbRGF2ZSBSZWlzbmVyXQorICAgLSBlbmFibGUgZnN0YWIuZCAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gZml4IF9fYXR0cmlidXRlX18ga2V5d29yZCAgW0thcmVsIFpha10KKyAgIC0gZml4IGJ1aWxkICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VudXNlZC1wYXJhbWV0ZXIgLVd1bnVzZWQtdmFyaWFibGVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbG9vcGRldiBkZWluaXRpYWxpemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZW1vdW50aW5nIHRtcGZzIHJlYWQtd3JpdGUgaGFuZ3MgKHNlbGludXgpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgc3VwZXJmbHVvdXMgImFuIiB1bmRlciBleHQ0IG1vdW50IG9wdGlvbnMgaW4gbW91bnQuOCAgW0ZyZWRlcmlrIFwiRnJlc29cIiBTLiBPbGVzZW5dCisgICAtIHVwZGF0ZSBpbmZvIGFib3V0IGNoZWNrPSBtb3VudCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjb21tb24gbGlicyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIG5ldyBsaWIvbG9vcGRldi5jIGNvZGUgIFtLYXJlbCBaYWtdCittb3VudHBvaW50OgorICAgLSBmYWxsYmFjayBvbiBzdGF0IHdoZW4gL3Byb2MgaXNuJ3QgbW91bnRlZCAgW0thcmVsIFpha10KKyAgIC0gcmVmYWN0b3IgZXhpdCBwYXRoICBbRGF2ZSBSZWlzbmVyXQorICAgLSByZXR1cm4gZGV2X3QgZnJvbSBkaXJfdG9fZGV2aWNlICBbRGF2ZSBSZWlzbmVyXQorICAgLSBzdXBwb3J0IHN5bWJvbGljIGFuZCByZWxhdGl2ZSBwYXRocyAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBtb3JlIHJvYnVzdCBhZGRfaXQoKSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCituZXdncnA6CisgICAtIGFkZCB2ZXJzaW9uIGFuZCBoZWxwIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggcG9zc2libGUgRklMRSBsZWFrIG9uIGVycm9yICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIGNoZWNrIHN5c2ZzX2luaXQoKSByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgYW5kIG1hbiBwYWdlLCBhZGQgdW5kb2N1bWVudGVkIC0tdmVyYm9zZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJpbnQgZXJyb3Igd2hlbiBwYXJ0aXRpb24gYWxyZWFkeSBkb2Vzbid0IGV4aXN0ICBbUGhpbGxpcCBTdXNpXQorICAgLSBkb24ndCB0cmVhdCBlbXB0eSBwYXJ0aXRpb24gdGFibGUgYXMgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzbWFsbCBsZWFrICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgX19OQ09MVU1OUyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc3VwcG9ydCBsb29wIGRldmljZXMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBVU0FHRV8gbWFjcm9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorcGl2b3Rfcm9vdDoKKyAgIC0gYWRkIHZlcnNpb24gJiBoZWxwIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBtaW5vciBjaGFuZ2VzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCitwbzoKKyAgIC0gbWVyZ2UgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQaXNhcl0KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQw61zYcWZXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtEYXZpZCBQcsOpdm90XQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCitwcmxpbWl0OgorICAgLSBhZGQgLS17cmF3LG5vaGVhZGluZ3N9IG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhIHVuaXRzIGNvbHVtbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIGFkZCBmYWxiYWNrcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIGV4ZWN1dGluZyBhIGNvbW1hbmQgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBhdm9pZCBzZWdmYXVsdCBkdWUgdG8gYXJyYXktb3V0LW9mLWJvdW5kcyBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc2hhcmUgcG9pbnRlciBmb3Igb2xkIGFuZCBuZXcgaW4gcHJsaW1pdCgyKSAgW0thcmVsIFpha10KKyAgIC0gZml4IFNZU18gbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjYXNlIHdoZW4gUElEIGlzIGdpdmVuIGxhdGVyICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZml4IGVycm9yIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub2hlYWRpbmdzIG9wdGlvbiBpbiBtYW4gcGFnZSAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGZpeCB0eXBvIGluIG1hbiBwYWdlLCBvcHRpb24gLS12ZXJib3NlICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gbmV3IGNvbW1hbmQgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlcGxhY2UgbGltc1tpXSB3aXRoIHBvaW50ZXIgIFtLYXJlbCBaYWtdCisgICAtIHJldHVybiBwcm9wZXIgdHlwZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcy9hbW91bnQvbnVtYmVyLyAgW0ppbSBNZXllcmluZ10KKyAgIC0gc2hvdyBhbGwgbGltaXRzIGlmIGNhbGxlZCB3aXRob3V0IG9wdGlvbnMgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSB1c2UgeGFsbG9jIGxpYnMgIFtEYXZpZGxvaHIgQnVlc29dCityYXc6CisgICAtIGZpeCBzaGFkb3dpbmcgb2YgbWlub3IgZnVuY3Rpb24gIFttYXhpbWlsaWFuIGF0dGVtc10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHJldHVybiBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCityZWFkcHJpZmlsZToKKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IG9wdHN0cmluZyBhcnJheSAgW0thcmVsIFpha10KK3JlYWRwcm9maWxlOgorICAgLSBhZGQgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyAgW1NhbWkgS2Vyb2xhXQorcnRjd2FrZToKKyAgIC0gYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNyYXNoIChpbnZhbGlkIGZyZWUpICBbUGV0ciBVemVsXQorc2NyaXB0OgorICAgLSBmaXggYnVpbGRpbmcgd2l0aCAtLWRpc2FibGUtbmxzICBbTmF0YW5hZWwgQ29wYV0KKyAgIC0gbGliaW50bC5oIGluY2x1ZGVkIGluIG5scy5oICBbS2FyZWwgWmFrXQorICAgLSBub24tQU5TSSBkZWZpbml0aW9uIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCitzZWxpbnV4X3V0aWxzOgorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCitzZXRhcmNoOgorICAgLSBhZGQgdmVyc2lvbiBwcmludGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtaW5vciBjaGFuZ2VzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgb3B0aW9ucyBzdHJ1Y3QgdG8gZnVuY3Rpb24gc2NvcGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lICBbU2FtaSBLZXJvbGFdCitzZXRwd25hbToKKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgbm9uLUFOU0kgZGVmaW5pdGlvbnMgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorc2V0c2lkOgorICAgLSBhZGQgIisiIHRvIGdldG9wdF9sb25nKCkgIFtIYXJhbGQgSG95ZXJdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgYW5kIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KK3NldHRlcm06CisgICAtIG9yZGVyIG1hbiBwYWdlIGl0ZW1zIGFscGhhYmV0aWNhbGx5ICBbSmFyaSBBYWx0b10KK3NmZGlzazoKKyAgIC0gYWRkIGNvbW1lbnQgdG8ga2VlcCBzdGF0aWMgYW5hbHlzZXJzIGhhcHB5ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBhbGlnbm1lbnQgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZkIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaWxlIGRlc2NyaXB0b3IgaXMgb2YgaW50IHR5cGUgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBmZCBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9vciBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIGNkcm9tIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHdlaXJkIGluZGVudGF0aW9uIGluIG1zZG9zX3BhcnRpdGlvbigpICBbUGV0ciBVemVsXQorICAgLSBmcmVlIHZhcmlhYmxlIHdoaWNoIGdvdCB0aGUgYWxsb2NhdGlvbiBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGdldF9kaXNrc2l6ZSgpIHJldHVybnMgbG9uZyBsb25nICBbUGV0ciBVemVsXQorICAgLSBpbnRyb2R1Y2UgZ2V0X3VsbCgpIGZ1bmN0aW9uICBbUGV0ciBVemVsXQorICAgLSBtYWtlIHRoZSBjeWxpbmRlciBib3VuZGFyeSBjaGVjayBsZXNzIGZhdGFsICBbUGV0ciBVemVsXQorICAgLSByZW1vdmUgUEFDS0VEIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBhc3NpZ21lbnQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkb193YXJuICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZmF0YWwgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHNmZGlzay44IGZpeCBmb3JtYXR0aW5nICBbUGV0ciBVemVsXQorICAgLSB1c2UgaXNfYmxrZGV2ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgdW5zaWduZWQgbG9uZyBsb25nIHRvIGludGVybmFsbHkgcmVwcmVzZW50IHNlY3RvciBudW1iZXIgIFtQZXRyIFV6ZWxdCisgICAtIHdhcm4gaWYgcGFydGl0aW9uIGV4Y2VlZHMgcGFydGl0aW9uIHRhYmxlIGxpbWl0cyAgW1BldHIgVXplbF0KK3N3YXBvbjoKKyAgIC0gYWRkIGJyZWFrIHRvIGtlZXAgc3RhdGljIGFuYWx5c2VycyBoYXBweSAgW0thcmVsIFpha10KKyAgIC0gbWVyZ2Ugc3dhcF9jb25zdGFudHMuaCBpbnRvIHN3YXBvbi5jICBbS2FyZWwgWmFrXQorc3dpdGNoX3Jvb3Q6CisgICAtIGFkZCBubHMgc3VwcG9ydCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbG9zZSBvcGVuIGZpbGUgYWZ0ZXIgdXNhZ2UgW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBoYW5kbGUgL3J1biBhbmQgZG8gbm90IG1vdW50IG92ZXIgZXhpc3RpbmcgbW91bnRzICBbSGFyYWxkIEhveWVyXQorICAgLSB1bW91bnQgbW91bnQgcG9pbnRzIHdlIGNhbm5vdCBtb3ZlIHdpdGggTU5UX0RFVEFDSCAgW0hhcmFsZCBIb3llcl0KK3Rhc2tzZXQ6CisgICAtIHVzZSBhcHByb3ByaWF0ZSB2YXJpYWJsZSB0eXBlIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KK3Rlc3Q6CisgICAtIHJlZnJlc2ggYnVpbGQtc3lzIHRlc3RzICBbS2FyZWwgWmFrXQordGVzdHM6CisgICAtIGFkZCAtLW1lbWNoZWNrIHRvICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYnVpbGQtc3lzIHJlZ3Jlc3Npb24gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGV4Y2VwdGlvbnMgZm9yIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHZhbGdyaW5kICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9vcGRldiBsaWJtb3VudCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWtmcy5jYXJtZnMgdGVzdCBmb3Igc21hbGwgRlMgd2l0aCBkdXBsaWNhdGUgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0c19mZGlza19jbGVhbiBmdW5jdGlvbiB0byBtYWtlIGZkaXNrIG91dHB1dCBjb21wYXJhYmxlICBbRnJhbmNlc2NvIENvc29sZXRvXQorICAgLSBhZGQgdmFsZ3JpbmQgdG8gbGlibW91bnQgY29udGV4dCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZhbGdyaW5kIHRvIGxpYm1vdW50IGNvbnRleHQgdXRhYiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZhbGdyaW5kIHRvIGxpYm1vdW50IGxvY2sgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2YWxncmluZCB0byBsaWJtb3VudCB0YWIgcGFyc2UgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZhbGdyaW5kIHRvIGxpYm1vdW50IHRhYmRpZmYgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2YWxncmluZCB0byBsaWJtb3VudCB0YWdzIGV2YWwuIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgd2FsbCB0byBidWlsZC1zeXMgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGNhbGwgdmFsZ3JpbmQgZnJvbSBsaWJtb3VudCBvcHRzdHIgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gY2FsbCB2YWxncmluZCBmcm9tIGxpYm1vdW50IHV0aWxzIGFuZCB1cGRhdGUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaXNsb2NhbCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHBhdGhzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQvc3BlY2lhbCB0byBiZSBjb21wYXRpYmxlIHdpdGggbGlibW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBvcHRpb25zIGV2YWx1YXRpb24sIGFkZCBzdXBwb3J0IGZvciBvcHRpb25hbCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtaW5peCB0ZXN0cyBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGNoZWNrdHR5IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bmV4cGVjdGVkIHNldCAteCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVuc3VwcG9ydGVkIGxvc2V0dXAgLXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayBhbmQgYmxraWQgTUQgdGVzdHMgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHVwZGF0ZSBmZGlzayB0ZXN0cyAgW0ZyYW5jZXNjbyBDb3NvbGV0b10KKyAgIC0gdXBkYXRlIHRlc3RzIHdpdGggZmRpc2sgb3V0cHV0ICBbS2FyZWwgWmFrXQordG9vbHM6CisgICAtIGFkZCBuZXcgY29kZSBjaGVja2luZyBzY3JpcHQgIFtEYXZlIFJlaXNuZXJdCisgICAtIHVzZSBncGctYWdnZW50IGluIGtvLXJlbGVhc2UtZ2VuICBbS2FyZWwgWmFrXQordHVuZWxwOgorICAgLSBhZGQgbG9uZyBvcHRpb25zIGFuZCBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGZyZWUgYWxsb2NhdGlvbiwgdXNlIHhhbGxvYyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliYyBlcnJvciBwcmludGluZyBmYWNpbGl0aWVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzeW1ib2xpYyBleGl0IHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQordW1vdW50OgorICAgLSAobmV3KSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIHVzZSB0aGUgc2FtZSBleGl0IGNvZGVzIGFzIG1vdW50KDgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBicmVhayAgW0thcmVsIFpha10KKyAgIC0gYWRkIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIHJlc3BlY3QgZnMgc2VhcmNoIHBhdGggIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gdXNlIG5ldyBsaWIvbG9vcGRldi5jIGNvZGUgIFtLYXJlbCBaYWtdCit1bnNoYXJlOgorICAgLSBhZGQgbm90ZSBhYm91dCBNU19TSEFSRUQgdG8gdW5zaGFyZS4xICBbS2FyZWwgWmFrXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQordXVpZGQ6CisgICAtIEFkZCBtaXNzaW5nIGJyZWFrIHRvIG9wdGlvbiBjYXNlIHN0YXRlbWVudCAgW0VyaWMgU2FuZGVlbl0KK3ZpcHc6CisgICAtIGRvbid0IG1vZGlmeSBlbnZpcm9ubWVudCwgY2hlY2sgc3RydG9rKCkgcmV0dXJuIHZhbHVlICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHN0b3AgcHJpbnRpbmcgbm9uLXNlbnNlIHZlcnNpb24gc3RyaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYy5oICBbS2FyZWwgWmFrXQord2hlcmVpczoKKyAgIC0gZml4IGdjYyB3YXJuaW5ncyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRva2VuIGFzc2lnbm1lbnQgaW50byBsb29wIHN5bnRheCAgW0thcmVsIFpha10KKyAgIC0gbm9uLUFOU0kgZGVmaW5pdGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIHZhbHVlIHdhcm5pbmcgIFtGcmFuY2VzY28gQ29zb2xldG9dCisgICAtIHNlYXJjaCBpbiBwYXRoICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzZWFyY2ggaW4gcGF0aCBmb3IgYmluYXJpZXMgb25seSAgW0thcmVsIFpha10KK3dpcGVmczoKKyAgIC0gYWRkIC10IDxsaXN0PiBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgLWEsIHVzZSBibGtpZF9kb193aXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4YWxsb2MgbGliICBbRGF2aWRsb2hyIEJ1ZXNvXQord3JpdGU6CisgICAtIGZpeCBwYXRoIGZvciBmcmVvcGVuKCkgIFtLYXJlbCBaYWtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIyLVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjItUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1NmY2N2YKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIyLVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDExOTIgQEAKK1V0aWwtbGludXggMi4yMiBSZWxlYXNlIE5vdGVzIFtTZXAgNCwgMjAxMl0KKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworIFRoZSBjcnlwdG9sb29wIHN1cHBvcnQgaW4gdGhlIGNvbW1hbmRzIG1vdW50KDgpIGFuZCBsb3NldHVwKDgpIGlzIERFUFJFQ0FURUQuCisgVGhpcyBpcyB0aGUgbGFzdCByZWxlYXNlIHdoZXJlIGVuY3J5cHRpb249IG1vdW50IG9wdGlvbiBhbmQgLWUsLUUsLS1lbmNyeXB0aW9uCisgbG9zZXR1cCBvcHRpb25zIGFyZSBzdXBwb3J0ZWQuCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK3BhcnR4KDgpOgorICAtIHRoZSBkZWZhdWx0IG91dHB1dCBoYXMgYmVlbiBjaGFuZ2VkLCB0aGUgbGVnYWN5IG91dHB1dCB3YXMgZGVwcmVjYXRlZCBmb3IKKyAgICBtb3JlIHRoYW4gMSB5ZWFyLiBVc2VycyB3aG8gZGVwZW5kIG9uIHRoZSBvbGQgb3V0cHV0IGZvcm1hdCBoYXZlIHRvIHVzZQorICAgIC0tbGlzdCBjb21tYW5kIGxpbmUgb3B0aW9uLgorCittb3VudCg4KSwgdW1vdW50KDgpLCBzd2Fwb24oOCksIGJsa2lkKDgpIGFuZCBmaW5kbW50KDgpOgorICAtIHN1cHBvcnRzIFBBUlRVVUlEPSBhbmQgUEFSVExBQkVMPSB0YWdzIHRvIHNwZWNpZnkgYmxvY2sgZGV2aWNlcyBieSBwYXJ0aXRpb24KKyAgICBVVUlEIG9yIExBQkVMIChmb3IgZXhhbXBsZSBmb3IgVUVGSSBHUFQpLiBUaGVzZSB0YWdzIGFyZSBmaWxlc3lzdGVtCisgICAgaW5kZXBlbmRlbnQgYW5kIHByb3ZpZGUgcGVyc2lzdGVudCBjb25maWd1cmF0aW9uICh5b3VyIC9ldGMvZnN0YWIgc2V0dGluZyAKKyAgICB3aWxsIG5vdCBiZSBhZmZlY3RlZCBieSBta2ZzL21rc3dhcCBjaGFuZ2VzKS4KKworZG1lc2coMSk6CisgIC0gcmVhZHMga2VybmVsIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIG9uIGtlcm5lbCAzLjUKKyAgLSBzdXBwb3J0cyBuZXcgb3B0aW9uIC0tZm9sbG93IHRvIHdhaXQgZm9yIG5ldyBtZXNzYWdlcyAgKGtlcm5lbCAzLjUgcmVxdWlyZWQpCisgIC0gc3VwcG9ydHMgbmV3IG9wdGlvbiAtLXJlbHRpbWUgdG8gcHJpbnQgaHVtYW4gcmVhZGFibGUgZGVsdGFzCisKK3N1KDEpOgorICAtIGhhcyBiZWVuIG1lcmdlZCBmcm9tIGNvcmV1dGlscyBpbnRvIHV0aWwtbGludXgKKyAgLSB1dGlscy1saW51eCB2ZXJzaW9uIHVzZXMgL2V0Yy9wYW0uZC9zdS1sIFBBTSBjb25maWcgZmlsZSBmb3IgLS1sb2dpbiAKKyAgICAoZS5nLiAic3UgLSIpIHNlc3Npb24uCisKK3N1bG9naW4oOCk6CisgIC0gaGFzIGJlZW4gbWVyZ2VkIGZyb20gc3lzdmluaXQgaW50byB1dGlsLWxpbnV4CisKK3V0bXBkdW1wKDEpOgorICAtIGhhcyBiZWVuIG1lcmdlZCBmcm9tIHN5c3Zpbml0IGludG8gdXRpbC1saW51eAorCitlamVjdCgxKToKKyAgLSBoYXMgYmVlbiBtZXJnZWQgZnJvbSBpbmFjdGl2ZSB1cHN0cmVhbSBmcm9tIHNmLm5ldCBhbmQgRmVkb3JhIGludG8gdXRpbC1saW51eAorICAtIHN1cHBvcnRzIG5ldyBvcHRpb25zIC0tbWFudWFsZWplY3QsIC0tZm9yY2UgYW5kIC0tbm8tcGFydGl0aW9ucy11bm1vdW50CisKK2xzbG9ja3MoMSkKKyAgLSB0aGlzIE5FVyBDT01NQU5EIHByaW50cyBsb2NhbCBzeXN0ZW0gbG9ja3MgYW5kIGl0J3MgcmVwbGFjZW1lbnQgdG8gdmVyeSAKKyAgICBsb25nIHRpbWUgdW5tYWludGFpbmVkIGxzbGsoMSkKKyAKK3dkY3RsKDgpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgc2hvd3MgaGFyZHdhcmUgd2F0Y2hkb2cgc3RhdHVzCisKK21vdW50KDgpOgorICAtIHB1cmUgbGlibW91bnQgYmFzZWQgbW91bnQoOCkgYW5kIHVtb3VudCg4KSBjb21tYW5kIGFyZSBFTkFCTEVEIEJZIERFRkFVTFQKKyAgLSB0aGUgb2xkIG1vdW50KDgpIGFuZCB1bW91bnQoOCkgaW1wbGVtZW50YXRpb24gaXMgREVQUkVDQVRFRAorICAtIHRoZSBoeWJyaWQgbW91bnQoOCkgW29sZCBtb3VudCBsaW5rZWQgd2l0aCBsaWJtb3VudF0gaXMgbm90IHN1cHBvcnRlZCBhbnltb3JlCisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zIC0tc291cmNlIGFuZCAtLXRhcmdldCB0byBhdm9pZCBhbWJpdmFsZW50CisgICAgaW50ZXJwcmV0YXRpb24gaWYgb25seSBvbmUgYXJndW1lbnQgaXMgZ2l2ZW4KKworc3dhcG9uKDgpOgorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS1zaG93IHRvIHByaW50IGluZm9ybWF0aW9uIGFib3V0IHN3YXBzIGluIGRlZmluYWJsZQorICAgIGZvcm1hdAorCitmaW5kbW50KDgpOgorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS10YXNrIDxwaWQ+IHRvIHByaW50IHByaXZhdGUgdGFzayBtb3VudCB0YWJsZQorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS1kZiB0byBpbWl0YXRlIGRmKDEpCisKK2ZkaXNrKDgpCisgIC0gZG9lcyBub3QgcHJpbnQgZ2VvbWV0cnkgaW4gJ3AncmludCBvdXRwdXQgaW4gbm9uLURPUyBtb2RlCisKK2xpYnV1aWQ6CisgIC0gZG9lcyBOT1QgRVhFQ1VURSB1dWlkZCBvbiBkZW1hbmQsIHRoZSBkYWVtb24gaGFzIHRvIGJlIHN0YXJ0ZWQgYnkgCisgICAgaW5pdCBzY3JpcHRzIC8gc3lzdGVtZAorCit1dWlkZDoKKyAgLSBzdXBwb3J0cyBzb2NrZXQgYWN0aXZhdGlvbiAoZm9yIHN5c3RlbWQpCisgIC0gc3VwcG9ydHMgbmV3IG9wdGlvbnMgLW5vLWZvcmssIC0tbm8tcGlkIGFuZCAtLXNvY2tldC1hY3RpdmF0aW9uCisKK2Zsb2NrKDEpOgorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLS1jb25mbGljdC1leGl0LWNvZGUgdG8gc3BlY2lmeSByZXR1cm4gY29kZQorCitmc2NrKDgpOgorICAtIHN1cHBvcnRzIG5ldyBvcHRpb24gLXIgdG8gcmVwb3J0IG1lbW9yeSBhbmQgcnVudGltZSBzdGF0aXN0aWNzCisKK2xzYmxrKDgpOgorICAtIHN1cHBvcnRzIGludmVyc2UgdHJlZXMgKG5ldyBvcHRpb24gLXMpIAorCitsb3NldHVwKDgpOgorICAtIHN1cHBvcnRzIG9wdGlvbiAtLWRldGFjaC1hbGwgdG8gZGV0YWNoIGFsbCBsb29wIGRldmljZXMKKworCitidWlsZC1zeXN0ZW0gY2hhbmdlczoKKyAgLSBsb2dpbigxKSBlbmFibGVkIGJ5IGRlZmF1bHQgKHNlZSAtLWRpc2FibGUtbG9naW4pCisgIC0gcGFydHgoOCkgZW5hYmxlZCBieSBkZWZhdWx0IChzZWUgLS1kaXNhYmxlLXBhcnR4KQorICAtIGtpbGwoMSkgZW5hYmxlZCBieSBkZWZhdWx0IChzZWUgLS1kaXNhYmxlLWtpbGwpCisgIC0gbmV3IG5vbi1yZWN1cnNpdmUgYnVpbGQtc3lzdGVtCisgIAorCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4yMSBhbmQgdjIuMjIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4IDIuMjEuMSBbMzAtTWFyLTIwMTJdCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjEvdjIuMjEuMS1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjEvdjIuMjEuMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjIxLjIgWzI1LU1heS0yMDEyXQorCisgKiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIxL3YyLjIxLjItUmVsZWFzZU5vdGVzCisgICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIxL3YyLjIxLjItQ2hhbmdlTG9nCisKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjIxIGFuZCB2Mi4yMgorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjIvCisKK2FkZHBhcnQ6CisgICAtIGFsaWduIHdpdGggdXRpbC1saW51eCBjb2Rpbmcgc3RhbmRhcmRzICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCithZ2V0dHk6CisgICAtIGNsb3NlIHR0eSBiZWZvcmUgdmhhbmd1cCgpICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHRjc2V0cGdycCgpIG9wdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIHJvYnVzdCBkZWJ1ZygpIG1hY3JvLCBjaGVjayBpb2N0bCByZXN1bHQgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHZjIGluaXRpYWxpemF0aW9uIHRvIHR0eXV0aWxzLmggIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBzbGVlcCgxMCkgIFtNYW50YXMgTWlrdWzEl25hc10KKyAgIC0gdXNlIGNvbmZpZ3VyZWQgcnVuIHN0YXRlIGRpcmVjdG9yeSAgW1NhbWkgS2Vyb2xhXQorYWxsIGZpbGVzOgorICAgLSBtYWtlIG1vc3QgdmFyaWFibGVzIHN0YXRpYyBhbmQgY29uc3Qgd2hlbiBwb3NzaWJsZS4gZGVjbGFyZSBsb3RzIG9mIGZ1bmN0aW9ucyBzdGF0aWMuICBbSmltIE1leWVyaW5nXQorYXJjaCwgZWplY3QsIGVsdnR1bmU6CisgICAtIEdyYWNlZnVsbHkgZGlzYWJsZSBvbiBub24tTGludXggcGxhdGZvcm1zLiAgW1Rob21hcyBTY2h3aW5nZV0KK2Jsa2RldjoKKyAgIC0gYWRkIGJsa2Rldl9zY3NpX3R5cGVfdG9fbmFtZSgpICBbU2FtaSBLZXJvbGFdCitibGtpZDoKKyAgIC0gYWRkIERFVk5BTUU9IHRvIGV4cG9ydCBvdXRwdXQgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZG9jcyBhYm91dCBQQVJUVVVJRD0gYW5kIFBBUlRMQUJFTD0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IHZhcmlhYmxlIHRhZ3MgYW5kIGRldmljZXMgb3JkZXIuICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVhbGxvYyBtZW1vcnkgbGVhayBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW50cm9kdWNlIHN5bWJvbGljIG5hbWVzIGZvciBkaWZmZXJlbnQgYmxraWQgZXhpdCBjb2RlcyAgW1BldHIgVXplbF0KKyAgIC0gc3RvcCBkZXZpY2UgcHJvYmluZyBpZiBlcnJvciBpcyBkZXRlY3RlZCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXhjbHVzaXZlX29wdGlvbigpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBnZXRfdGVybWluYWxfd2lkdGgoKSBmcm9tIHR0eXV0aWxzLmggIFtQZXRyIFV6ZWxdCisgICAtIHVzZSBzdHJ0b3NpemVfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzeW1ib2xpYyBleGl0IGNvZGUgIFtQZXRyIFV6ZWxdCitidWlsZDoKKyAgIC0gZml4IHJlZHVuZGFudCByZWRlY2xhcmF0aW9uIHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB1bnVzZWQgcGFyYW1ldGVyIHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCitidWlsZC1zeXM6CisgICAtIGFkZCAtLWRpYWJsZS1zdWxvZ2luIChlbmFibGVkIGJ5IGRlZmF1bHQpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLWxvZ2luICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLXN1ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1lbmFibGUtY2hmbi1jaHNoICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1lbmFibGUtbmV3Z3JwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1lbmFibGUtdmlwdyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1XYWxsIHRvIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLVdlcnJvciB0byBVTF9XQVJOX0FERCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucywgc29ydCB3YXJuaW5nIG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtV3JlZHVuZGFudC1kZWNscyAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJVSUxEX1dEQ1RMLCBjaGVjayBmb3IgbGludXgvd2F0Y2hkb2cuaCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVMX0NPTkZMSUNUU19CVUlMRCBtNCBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVMX1BST0dfQ0xBTkcgZnVuY3Rpb24sIHJlbmFtZSB3YXJuaW5ncy5tNCAtPiBjb21waWxlci5tNCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGEgY3Jvc3Njb21waWxlIHBhdGggZm9yIHNjYW5mX2N2X2FsbG9jX21vZGlmaWVyICBbU2ViYXN0aWFuIEFuZHJ6ZWogU2lld2lvcl0KKyAgIC0gYWRkIGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZWplY3QgdG8gLmdpdGlnbm9yZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGV4Y2x1ZGUgbGlzdCB0byBVTF9BRERfV0FSTiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZpbGVzIG1ha2UgY2hlY2sgZ2VuZXJhdGVzIGluIGdpdGlnbm9yZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgZnNwcm9iZS5oIHRvIGRpc3QgIFtQZXRyIFV6ZWxdCisgICAtIGFkZCBtaW5pc2cgQ09QWUlORyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYWdlci5oIHRvIE1ha2Vtb2R1bGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCByYW5kdXRpbHMuaCB0byBkaXN0ICBbUGV0ciBVemVsXQorICAgLSBhZGQgcnVuLnNoIHRvIG1ha2UgY2hlY2sgZm9yIG5vbi1yb290IHVzZXJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2QtZGFlbW9uLmggdG8gTWFrZW1vZHVsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1IGV4ZWN1dGFibGUgdG8gLmdpdGlnbm9yZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3dhcG9uLWNvbW1vbi5oIHRvIHN3YXBvbiBzb3VyY2VzIChmaXggZGlzdGNoZWNrKSAgW1BldHIgVXplbF0KKyAgIC0gYWRkIHRlc3RzL3J1bi1ub25yb290LnNoIHRvIGF1dG9tYWtlIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0dHl1dGlscy5oIHRvIGRpc3QgIFtQZXRyIFV6ZWxdCisgICAtIGFsd2F5cyB1c2UgZGVmYXVsdCAkKExEQUREKSAgW0thcmVsIFpha10KKyAgIC0gY2hhbmdlIC0tbG9jYWxzdGF0ZWRpciB0byAvcnVuICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgLmdpdGlnbm9yZSBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBtb3VudCBzdHVmZiBpbiBjb25maWd1cmUuYW0gIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgZGlzay11dGlscy8gdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IGluY2x1ZGUvIHRvIG1vZHVsZSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBsaWIvIHRvIGxpYmNvbW1vbi5sYSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBsaWIvIHRvIG1vZHVsZSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBsaWJibGtpZC8gdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IGxpYm1vdW50LyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgbGlidXVpZC8gdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IGxvZ2luLXV0aWxzLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgbWlzYy11dGlscy8gdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IG1vdW50LyB0byBtb2R1bGUsIHJlbmFtZSB0byBtb3VudC1kZXByZWNhdGVkLyAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBzY2hlZHV0aWxzLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgc3lzLXV0aWxzLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgdGVybS11dGlscy8gdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IHRlc3RzLyB0byBtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNvbnZlcnQgdGV4dC11dGlscy8gdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgc3RhdGljIHV1aWRfZ2VuZXJhdGVfKi4zIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBkZWZhdWx0IHRvIG5ldyBzeXMtdXRpbHMvbW91bnQuYywgYWRkIC0tZW5hYmxlLWRlcHJlY2F0ZWQtbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGRlZmluZSBwZXItdGVzdCAtRFRFU1RfUFJPR1JBTSBpbiBsaWIvICBbS2FyZWwgWmFrXQorICAgLSBkZXRlcm1pbmUgYXZhaWxhYmlsaXR5IG9mIF9fZnBlbmRpbmcoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBkaXNhYmxlIGNoa2R1cGV4ZSBieSBkZWZhdWx0LCBtYXJrIGFzIGRlcHJlY2F0ZWQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNvbXBpbGUgbGlie21vdW50LGJsa2lkfSB0ZXN0cyB3aGVuIC0tZGlzYWJsZS1zdGF0aWMgc3BlY2lmaWVkICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjcmVhdGUgZW1wdHkgbWFuL3J1IGRpcmVjdG9yeSAgW0thcmVsIFpha10KKyAgIC0gZW5hYmxlIGxpYm1vdW50IGFuZCBsaWJibGtpZCBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBlbmhhbmNlIHJlYWRhYmlsaXR5IG9mIHRoZSBhdXRvdG9vbHMgZmlsZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZW5zdXJlIEJVSUxEX0NGRElTSyBpcyBhbHdheXMgZGVmaW5lZCAgW0RhdmUgUmVpc25lcl0KKyAgIC0gZXhjbHVkZSBzb21lIENDIHdhcm5pbmdzIGZvciBjbGFuZyAgW0thcmVsIFpha10KKyAgIC0gZXhwYW5kIHBhdGhzIGF0IG1ha2UgdGltZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGJ1aWxkIHdpdGhvdXQgbGlicyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNoa2R1cGV4ZSByZWdyZXNzaW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBkZXNjcmlwdGlvbiBvZiB1dG1wZHVtcCBjb25maWd1cmUgb3B0aW9uICBbUGV0ciBVemVsXQorICAgLSBmaXggc3dhcGxhYmVsICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgLmRpcnN0YW1wIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGluY2x1ZGUgY29ycmVjdCBzb3VyY2UgZmlsZSBmb3IgY2hzaCAgW0RhdmUgUmVpc25lcl0KKyAgIC0gaW5jbHVkZSB0b29scy9naXQtdmVyc2lvbi1nZW4gaW4gdGhlIHRhcmJhbGwgIFtQZXRyIFV6ZWxdCisgICAtIG1ha2UgdGhlIGNyb3NzY29tcGlsZSBwYXRoIGZvciBzY2FuZl9jdl9hbGxvY19tb2RpZmllciBjbGV2ZXIgIFtTZWJhc3RpYW4gQW5kcnplaiBTaWV3aW9yXQorICAgLSBtb3ZlIGNvbmZpZ3VyZSBsb2dpbiBvcHRpb25zIHRvIG9uZSBwbGFjZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBnZXRvcHQgdG8gbWlzYy11dGlscy8gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgaHdjbG9jayB0byBzeXMtdXRpbHMvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIG9ic29sZXRlIGxpYi9mc3Byb2JlIHRvIG1vdW50LyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBwYXJ0eCB0byBkaXNrLXV0aWxzLyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB0ZXN0cyB0byBjaGVja19QUk9HUkFNUyAgW0thcmVsIFpha10KKyAgIC0gbm90ZSBzdWxvZ2luIGluIGNvbmZpZ3VyZSBoZWxwICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjIyLXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjItcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIC1EVVNFX1BBTT0xIGZvciBzdSgxKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGluY2x1ZGUtTWFrZWZpbGUuYW0gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gYW5kIGhlYWRlciBjaGVja3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIGZkaXNrIC0+IGZkaXNrcy8sIGNvbnZlcnQgdG8gbW9kdWxlICBbS2FyZWwgWmFrXQorICAgLSBydW4gZGlzdGNoZWNrIHdpdGggdmVyYm9zZSBtYWtlIHJ1bGVzICBbUGV0ciBVemVsXQorICAgLSBzL3J1bWFuL3J1bWFuMS8gIFtLYXJlbCBaYWtdCisgICAtIHN1aWQgc3UgaW4gbWFrZSBpbnN0YWxsICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IHNlcGFyYXRlIGxpYmludGwgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzbGFzaCBmb3IgYmluYXJpZXMgaW4gZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorYnVpbGQtc3lzdGVtOgorICAgLSBlbmFibGUgYXV0b21ha2Ugc3ViZGlyLW9iamVjdHMgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIEZpeCBidWlsZGluZyB1bmRlciB1Q2xpYmMuICBbSmFtZXMgTGUgQ3Vpcm90XQorY2hjcHU6CisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorY2hlY2t4YWxsb2M6CisgICAtIG51ZGdlIHJlZ2V4LCBmaXggbmV3Zm91bmQgaW5zdGFuY2VzICBbRGF2ZSBSZWlzbmVyXQorY2hmbjoKKyAgIC0gdXNlIHBhdGhuYW1lcy5oIGZvciBwYXRocyAgW1NhbWkgS2Vyb2xhXQorY2hzaDoKKyAgIC0gdXNlIHBhdGhuYW1lcy5oIGZvciBwYXRocyAgW1NhbWkgS2Vyb2xhXQorY29scm06CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCitjb2x1bW46CisgICAtIC0tc2VwYXJhdG9yIHNlZ2ZhdWx0cyAgW0IgV2F0c29uXQorY3l0dW5lOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorZGRhdGU6CisgICAtIHJ1c3NpYW4gbWFudWFsIG1pc3NpbmcgZnJvbSBwYWNrYWdlICBbU2FtaSBLZXJvbGFdCitkZWxwYXJ0OgorICAgLSBhbGlnbiB3aXRoIHV0aWwtbGludXggY29kaW5nIHN0YW5kYXJkcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorZGlzay11dGlsczoKKyAgIC0gY2xlYW51cCBzdHJ0b3h4X29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitkbWVzZzoKKyAgIC0gYWRkIC0tZm9sbG93IGZlYXR1cmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXJlbHRpbWUgdG8gcHJpbnQgaHVtYW4gcmVhZGFibGUgZGVsdGFzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1zeXNsb2cgdG8gZm9yY2UgdG8gb2xkIHN5c2xvZygyKSBpbnRlcmZhY2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmaWxlYmFjayBmb3IgU0VFS19EQVRBICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGV4Y2x1c2l2ZV9vcHRpb24oKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCwgbW92ZSBtb3JlIHN0dWZmIHRvIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXgga21zZyByZWFkIGlmIHJlYWQgcmV0dXJucyBFUElQRSAgW01pbGFuIEJyb3pdCisgICAtIGZpeCBrbXNnIHVzYWJpbGl0eSBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gaW1wbGVtZW50IGJhY2t3YXJkbHkgY29tcGF0aWJsZSAtLXJhdyBmb3IgL2Rldi9rbXNnICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGVyciBoYW5kbGluZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBpbmZvcm0gdXNlciB3aGVuIGtsb2djdGwoKSBvciByZWFkX2J1ZmZlcigpIGZhaWxzICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgZmlsZW5hbWUgdG8gY29udHJvbCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIHJlYWQgL2Rldi9rbXNnIChzaW5jZSBrZXJuZWwgMy41LjApICBbS2FyZWwgWmFrXQorICAgLSByZWZhY3RvcmluZyBmb3Iga21zZyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IC0tY2xlYXIgZm9yIGttc2cgIFtLYXJlbCBaYWtdCisgICAtIHVuaWZ5IGludGVybmFsIEFQSXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorZG9jOgorICAgLSBmaXggdHlwbyBpbiB2Mi4yMi1SZWxlYXNlTm90ZXMgIFtCZXJuaGFyZCBWb2Vsa2VyXQorZG9jczoKKyAgIC0gVE9ETyByZW1vdmFsLCBsZGF0dGFjaCB1c2FnZSBpcyBkb25lICBbU2FtaSBLZXJvbGFdCisgICAtIFRPRE8gcmVtb3ZhbCwgbG9naW4tdXRpbHMgZXJyb3IgcHJpbnRpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gVE9ETyByZW1vdmFsLCBycG1hdGNoIHRhc2sgaXMgZG9uZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgIHYyLjIyLVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRlcHJlY2F0aW9uIGNvbW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBub3RlIGFib3V0IGVuYWJsZWQga2lsbCgxKSB0byB2Mi4yMi1SZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IG5vbi1yZWN1cnNpdmUgYnVpbGQtc3lzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBwYXJ0eCBvdXRwdXQgY2hhbmdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcXVvdGEgbW91bnQgb3B0aW9uIHN1cHBvcnQgZGVzY3JpcHRpb24gZm9yIGV4dDIgIFtCasO2cm4gSmFja2VdCisgICAtIGFkZCBzdS4xIG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzeXMtdXRpbHMvdW1vdW50LjggbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xhcmlmeSBLaUIgdnMuIEtCIGluIG1hbiBwYWdlcyAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGNsZWFuIHVwIGNoY3B1LjggbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIGRtZXNnLjEgbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIGdldG9wdC4xIG1hbnVhbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBsb2dpbi4xIG1hbnVhbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBwYXJ0eC44IG1hbnVhbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBzdWxvZ2luLjggbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIHV0bXBkdW1wLjEgbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIHdkY3RsLjggbWFudWFsICBbU2FtaSBLZXJvbGFdCisgICAtIGNvcnJlY3Rpb25zIHRvIEZTRiBsaWNlbnNlIGZpbGVzLCBhbmQgcG9zdGFsIGFkZHJlc3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG8gbm90IG92ZXJ3cml0ZSBkZGF0ZS4xIG1hbnVhbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBlamVjdC4xICBhbGlnbiB3aXRoIERvY3VtZW50YXRpb24vaG93dG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBhbGwgbWFuIHBhZ2UgZ3JvZmYgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGVtYWlsIG1hY3JvIGluIG1hbnVhbCBleGFtcGxlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBmdXJ0aGVyIHR5cG9zIGZvdW5kIGJ5IG1pc3NwZWxsaW5ncyAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGZpeCB0eXBvcyBmb3VuZCBieSBtaXNzcGVsbGluZ3MgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBmdHAgc2VydmVyIGRvZXMgbm8gbG9uZ2VyIHN1cHBvcnQgdXRpbC1saW51eC1uZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYW4gcGFnZSBzeW50YXggZml4ZXMgIFtWaWxsZSBTa3l0dMOkXQorICAgLSBtYXJrIHVkZXYgYW5kIGxpc3QgYmxraWQoOCkgb3V0cHV0IGZvcm1hdHMgZGVwcmVjYXRlZCAgW0thcmVsIFpha10KKyAgIC0gbWVudGlvbiB0aGUgcmVxdWlyZWQgbW91bnQgb3B0aW9ucyBmb3Igam91cm5hbGVkIHZlcnNpb24gMiBxdW90YSAgW0Jqw7ZybiBKYWNrZV0KKyAgIC0gbW92ZSBmc3RhYi41IHRvIHN5cy11dGlscyAobW91bnQvIGRpciBpcyBkZXByZWNhdGVkKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCBjb25maWcvdGV4aW5mby50ZXggIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgc3UuMSBtYW51YWwgIFtMdWR3aWcgTnVzc2VsXQorICAgLSB0ZWxsIGFib3V0IGlyYyBjaGFubmVsICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgaG93dG8tdGVzdHMudHh0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdGVzdHMgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjIyLVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2VqZWN0OgorICAgLSBhZGQgLS1mb3JjZSBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLW1hbnVhbGVqZWN0IGZyb20gZmVkb3JhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtWCBmcm9tIEZlZG9yYSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gYWRkcmVzcyBkZXZpY2UgYnkgTEFCRUwvVVVJRCAgW0thcmVsIFpha10KKyAgIC0gYnJpZWZlciB1c2FnZSAgW01pY2hhbCBMdXNjb25dCisgICAtIGNhbGwgdW1vdW50IDxtb3VudHBvaW50PiByYXRoZXIgdGhhbiA8ZGV2aWNlPiAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIGhvdHBsdWcvcmVtb3ZhYmxlIGF0dHJpYnV0ZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdW5tb3VudF9kZXZpY2VzKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGFyZ3YgcGFyc2luZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBkZXZuYW1lIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBlamVjdF8qIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgaW5jbHVkZXMgIFtNaWNoYWwgTHVzY29uXQorICAgLSBjbGVhbiB1cCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgdW1vdW50IHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCB2ZXJib3NlIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVtb3VudCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsb3NlIG9wZW4gZmlsZSBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGNvZGluZyBzdHlsZSBmaXhlcyAgW0thcmVsIFpha10KKyAgIC0gY29uc3RpZnkgYXJyYXkgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZG9uJ3QgdHJ5IHRvIHVzZSBub24tZGV2aWNlIHBhdGggIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdmb3JtYXRdICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgd29yayB3aXRoIHBhcnRpdGlvbmVkIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGluZm9ybSBpZiBDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5ICBbU2FtaSBLZXJvbGFdCisgICAtIGluZm9ybSB3aHkgb3BlbiBmYWlsZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5pdGlhbCBtZXJnZSBlamVjdCBhbmQgdXRpbC1saW51eCAgW01pY2hhbCBMdXNjb25dCisgICAtIG1ha2UgdGhlIGNvZGUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtb2RpZmljYXRpb24gb2YgcGFyc2VfYXJnIGZ1bmN0aW9uICBbTWljaGFsIEx1c2Nvbl0KKyAgIC0gbmV3IGF1dG9fZWplY3QgY29kZSBmcm9tIEZlZG9yYSAgW0thcmVsIFpha10KKyAgIC0gbmV3IGNsb3NlX3RyYXkgY29kZSBmcm9tIEZlZG9yYSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIE1vdW50YWJsZURldmljZSBmdW5jdGlvbiAgW01pY2hhbCBMdXNjb25dCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBjb2RlLCB1c2UgRVhJVF8qIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBoYW5kbGVfeF9vcHRpb24gdG8gc2V0X2RldmljZV9zcGVlZCAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBDTE9TRSBhbmQgRkNMT1NFIG1hY3JvcyBieSBlX2Nsb3NlIGFuZCBlX2ZjbG9zZSBmdW5jdGlvbnMgIFtNaWNoYWwgTHVzY29uXQorICAgLSByZXBsYWNlIGZwcmludGYgd2l0aCBlcnIgYW5kIHdhcm4gIFtNaWNoYWwgTHVzY29uXQorICAgLSByZXR1cm4gcHJvcGVyIDAvMSBmcm9tIGVqZWN0X2Nkcm9tKCkgIFtEYXZlIFJlaXNuZXJdCisgICAtIHNpbXBsaWZ5IGZpbmRfZGV2aWNlICBbTWljaGFsIEx1c2Nvbl0KKyAgIC0gc3VwcG9ydCBDRElPQ0VKRUNUIGlvY3RsICBbS2FyZWwgWmFrXQorICAgLSB1bmlmaWNhdGlvbiBvZiBjb2Rpbmcgc3R5bGUgIFtNaWNoYWwgTHVzY29uXQorICAgLSB1c2UgQlVJTERfRUpFQ1QsIG1vdmUgdG8gc3lzLXV0aWxzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgQ0RST01fRFJJVkVfU1RBVFVTIGlmIGF2YWlsYWJsZSBmb3IgdHJheSB0b2dnbGluZyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSB1c2UgU0dfSU8gaW9jdGwgZm9yIHNjc2kgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjYW5vbmljYWxpemVfcGF0aCB0byB0cmVhdCBzeW1ib2xpYyBsaW5rcyAgW01pY2hhbCBMdXNjb25dCisgICAtIHVzZSBsaWJtb3VudCB0byBkZXRlY3QgaWYgY2Ryb20gaXMgbW91bnRlZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lIGluc3RlYWQgb2YgcHJvZ3JhbU5hbWUgIFtNaWNoYWwgTHVzY29uXQorICAgLSB1c2UgeHN0cmR1cCgpICBbS2FyZWwgWmFrXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitlamVjdCgxKToKKyAgIC0gZml4IHR5cG8gaW4gbW91bnQoMSkgcmVmZXJlbmNlICBbTWlrZSBGcnlzaW5nZXJdCitmYWxsb2NhdGU6CisgICAtIGFkZCAtLXZlcnNpb24gYW5kIGFsaWduIHdpdGggaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0ICBbU2FtaSBLZXJvbGFdCitmZGlzazoKKyAgIC0gKGRvcykgY2xlYW51cCBmdW5jdGlvbiBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gQVBJICBhZGQgZGVsZXRlIHBhcnRpdGlvbiB0byBsYWJlbCBvcGVyYXRpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBBUEkgIGFkZCBmZGlza19sYWJlbF9jaGFuZ2UgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIEFQSSAgYWRkIGdlb21ldHJ5ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBBUEkgIGFkZCBsYWJlbCBwcm9iaW5nIGZ1bmN0aW9uYWxpdHkgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIEFQSSAgYWRkIG1iciAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gQVBJICBhZGQgbmV3IHBhcnRpdGlvbiB0byBsYWJlbCBvcGVyYXRpb25zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBBUEkgIGFkZCB0byBsYWJlbCBvcGVyYXRpb25zIHRvIGNvbnRleHQgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIEFQSSAgYWRkIHRvcG9sb2d5IGRlYnVnICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBBUEkgIGFkZCB2ZXJpZnkgdG8gbGFiZWwgb3BlcmF0aW9ucyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gQVBJICBhZGQgd3JpdGUgdG8gbGFiZWwgb3BlcmF0aW9ucyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gQVBJICBjb21tZW50IGxhYmVscyBhcnJheSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gQVBJICBmaXggZmRpc2tfYWRkX3BhcnRpdGlvbiBjb21tZW50IHN0eWxlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgYW4gcXVpdC9leGl0IGhhbmRsaW5nIGZ1bmN0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgZGVidWcgc3VwcG9ydCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIGRldmljZSB0b3BvbG9neSB0byB0aGUgQVBJICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgZmRpc2tfZGV2X3NlY3Rzel9pc19kZWZhdWx0IGhlbHBlciAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgcmVhZG9ubHkgb3B0aW9uIHRvIGZkaXNrX25ld19jb250ZXh0X2Zyb21fZmlsZW5hbWUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNvbWUgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0b3RhbCBzZWN0b3JzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhaXggIGZpeCB3YXJuaW5nICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhaXggIHJlbW92ZSBtYWdpYyBhaXhsYWJlbCBtYWNybywgbWFyayB1bnVzZWQgcGFyYW1ldGVycyAgW0thcmVsIFpha10KKyAgIC0gYWx3YXlzIHByaW50IHRvdGFsIG51bWJlciBvZiBzZWN0b3JzICBbUGV0ciBVemVsXQorICAgLSBhbHdheXMgdXNlIHN0ZGVyciBmb3IgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGJzZCAgbWFyayB1bnVzZWQgcGFyYW1ldGVycyAgW0thcmVsIFpha10KKyAgIC0gY2FzdCBiZWZvcmUgY291bnQgc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzdHJ0b3h4X29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgRE9TIHNwZWNpZmljIHdyaXRlIHRhYmxlIGZ1bmN0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBkZS1kdXBsaWNhdGUgZGlzayBsYWJlbCBzdHJpbmdzICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZG8gbm90IGNhbGwgc2dpIGFuZCBzdW4gY29kZSB3aGVuIGNyZWF0aW5nIGEgbmV3IGRvcyBsYWJlbCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZG9jdW1lbnQgRkRJU0tfREVCVUcgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGRvbid0IGNhbGwgdXBkYXRlX3VuaXRzKCkgaW4gbGFiZWwgcHJvYmVzIGlmIG5vdCBuZWNlc3NhcnkgIFtQZXRyIFV6ZWxdCisgICAtIGRvbid0IGlnbm9yZSAxTWlCIGdyYW51bGFyaXR5IG9uIDUxMi1ieXRlIHNlY3RvciBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwcmludCBDSFMgZ2VvbWV0cnkgdW5sZXNzIERPUyBjb21wYXRpYmxlIG1vZGUgaXMgc2V0ICBbUGV0ciBVemVsXQorICAgLSBkb24ndCBwcmludCBjb25mdXNpbmcgd2FybmluZyBvbiBub24tcGFydGl0aW9uZWQgZGlza3MgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByaW50IHdlbGNvbWUgbWVzc2FnZSB0byBzdGRlcnIgIFtLYXJlbCBaYWtdCisgICAtIGRvcyAgbWFyayB1bnVzZWQgcGFyYW1ldGVycyAgW0thcmVsIFpha10KKyAgIC0gZG9zICB1c2Ugc2VjdG9yX3QgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGV4dGVuZCBjb21tZW50cyBmb3IgZmRpc2tfbmV3X2NvbnRleHQoKSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXSAgW1BldHIgVXplbF0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XcG9pbnRlci1zaWduXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XdW51c2VkLXZhcmlhYmxlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBlcnJvciBtZXNzYWdlIGZvciB0b28gc21hbGwgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGZkaXNrZG9zbGFiZWwuYyBnbG9iYWwgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggaW9fc2l6ZSB1c2FnZSBpbiBuZXcgQVBJICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVudSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHNlZ2ZhdWx0IG9uIGJzZCBsYWJlbCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHRvIGJ1aWxkIGZvciBJQTMyICBbQ2hyaXN0aWFuIFdpZXNlXQorICAgLSBmaXggdHlwbyAgW1BldHIgVXplbF0KKyAgIC0gZml4IHR5cG8gaW4gY29tbWVudCAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGdldF9ib290KCkgaGFzIHRvIGRpZSAoc3RlcCBJLikgIFtLYXJlbCBaYWtdCisgICAtIGdldF9ib290KCkgaGFzIHRvIGRpZSAoc3RlcCBJSS4pICBbS2FyZWwgWmFrXQorICAgLSBpbnRyb2R1Y2UgZmRpc2sgY29udGV4dCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW50cm9kdWNlIHNlY3Rvcl90IHR5cGUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGlzb2xhdGUgZG9zIGxhYmVsIGxvZ2ljICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBrZXJuZWwvYmlvcyBzZWN0b3JzIGFuZCBoZWFkcyBuZWVkIG5vdCBiZSBnbG9iYWwgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIG1hYyAgcmVtb3ZlIG1hZ2ljIG1hY2xhYmVsIG1hY3JvLCBtYXJrIHVudXNlZCBwYXJhbWV0ZXJzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIENIUyB1c2VyIHZhbHVlcyBtb3JlIHJvYnVzdCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gbWFrZSBncmFpbiBnbG9iYWwgdmFyaWFibGUgcGFydCBvZiBmZGlza19jb250ZXh0KCkgIFtQZXRyIFV6ZWxdCisgICAtIG1ha2UgaWYgY2xhdXNlIGVhc2llciB0byByZWFkICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgbGFiZWwgQVBJIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIGRvcyBjb21wYXRpYmlsaXR5L0NIUyBvcHRpb25zIGRlcHJlY2F0ZWQgaW4gbWFucGFnZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gbW92ZSBET1MgZ2VvbWV0cnkgY29kZSBmcm9tIGdlbmVyaWMgcGFydCB0byBsYWJlbCBzcGVjaWZpYyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBET1MgbmV3L2FkZCBwYXJ0aXRpb24gY29kZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gbW92ZSBrZXJuZWwgZ2VvbWV0cnkgaW50byBibGtkZXYgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIG1vdmUgbGFiZWwgc3BlY2lmaWMgc3R1ZmYgdG8gZmRpc2tkb3NsYWJlbC5jICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHVzZXIgZ2VvbWV0cnkgc2V0dGluZyBmcm9tIGZkaXNrLmMgdG8gQVBJICBbS2FyZWwgWmFrXQorICAgLSByZWZhY3RvciAtcyBvcHRpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSBhY3Rpb24gZW51bSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIGJvZ3VzIHN0YXRlbWVudCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIGR1bW15IGZ1bmN0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgbGlzdGluZyB2YXJpYWJsZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIHN0YWNrIGp1bXBpbmcgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSB1bnVzZWQgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCBmdW5jdGlvbiBkZWNsYXJhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIHVudXNlZCBoc2Myc2VjdG9yIG1hY3JvICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgdW51c2VkIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgY29tbWVudHMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbW92ZSB1c2VyIHNwZWNpZmllZCBzZWN0b3Igc2l6ZSBnbG9iYWwgdmFyaWFibGUgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHJlbmFtZSBjeHQtPm1iciBidWZmZXIgdG8gY3h0LT5maXJzdHNlY3RvciAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGxhYmVsIHByb2JpbmcgZnVuY3Rpb25zICBbUGV0ciBVemVsXQorICAgLSByZXR1cm4gc3VjY2VzcyBmcm9tIHNnaV9jcmVhdGVfZGlza2xhYmVsICBbUGV0ciBVemVsXQorICAgLSByZXdvcmsgZmF0YWwgZXJyb3JzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzZXQgbGFiZWwgcG9pbnRlciBpbiBmZGlza19jcmVhdGVfZGVmYXVsdF9kaXNrbGFiZWwoKSAgW0thcmVsIFpha10KKyAgIC0gc2dpICBhYm9ydCBvbiBIRElPX0dFVEdFTyBmYWlsdXJlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzZ2kgIHJlbW92ZSB1bnVzZWQgY29kZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc2dpICByZW1vdmUgdW51c2VkIGZ1bmN0aW9uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzZ2kgIHVzZSBzZWN0b3JfdCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc2dpICB1c2UgeGNhbGxvYygpICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBkZXZpY2Ugb3BlbmluZyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc3RhbmRhcml6ZSB2ZXJzaW9uIG91dHB1dCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gc3RvcCBidWZmZXJpbmcgd2VsY29tZSBtZXNzYWdlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBzdW4gIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHN1biAgdXNlIHNlY3Rvcl90ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB0ZXN0cyAgdXBkYXRlIG9kZGlucHV0IHRlc3QgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBCU0QgbGFiZWwgaGVhZGVyICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgRVhJVF9TVUNDRVNTIGZvciAtbCBvcHRpb24gIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBjb250ZXh0IGFzIGEgcGFyYW1ldGVyICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgbWVtc2V0KCkgcmF0aGVyIHRoYW4gYnplcm8oKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHJhbmR1dGlscyBmb3IgbWJyIHNpZ25hdHVyZSBjcmVhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorZmlsZXV0aWxzOgorICAgLSBkaWZmZXJlbnRpYXRlIHhta3N0ZW1wIGFuZCB4Zm1rc3RlbXAgIFtTYW1pIEtlcm9sYV0KKyAgIC0geG1rc3RlbXAoKSBpbnRlcmZhY2UgY2hhbmdlICBbRGF2ZSBSZWlzbmVyXQorZmluZGZzOgorICAgLSBhZGQgLS12ZXJzaW9uICYgYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KK2ZpbmRtbnQ6CisgICAtIGFkZCAtLXRhc2sgPHRpZD4gb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS12ZXJzaW9uICYgYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC1ELCAtLWRmIG9wdGlvbiB0byBpbWl0YXRlIGRmKDEpICBbRGF2ZSBSZWlzbmVyXQorICAgLSBhZGQgLVAsIC0tcGFpcnMgdG8gdGhlIG1hbiBwYWdlICBbQmlsbCBQZW1iZXJ0b25dCisgICAtIGFkZCBGUyBzaXplLCBhdmFpbCwgdXNlZCwgYW5kIHVzZSUgY29sdW1ucyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gYWRkIEZTUk9PVCBjb2x1bW4gIFtEYXZlIFJlaXNuZXJdCisgICAtIGFkZCBUSUQgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWF0Y2hfYnlfZmlsZSB0byBkbyB3aXRoaW4tZGV2aWNlIG1hdGNoaW5nICBbRGF2ZSBSZWlzbmVyXQorICAgLSBhZGQgbm90ZSBhYm91dCBceDxoZXg+IHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgUEFSVFVVSUQ9IGFuZCBQQVJUTEFCRUw9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgbWFqIG1pbiBzb3VyY2UgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGlmIG1vcmUgLUYgb3B0aW9ucyBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIGZhbGxiYWNrIHRvIG1vdW50aW5mbyBmb3IgcG9sbGluZyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV3VuaW5pdGlhbGl6ZWRdICBbUGV0ciBVemVsXQorICAgLSBmaXggdHlwbyBpbiBtYW5wYWdlICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gaW1wcm92ZSAtLWRmIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gcmVmZXJlbmNlIGNvcnJlY3QgbWFudWFsIHNlY3Rpb24gIFtEYXZlIFJlaXNuZXJdCisgICAtIHJlbW92ZSBkdWJsaWNhdGUgdXNhZ2UoKSBsaW5lICBbU2FtaSBLZXJvbGFdCisgICAtIHJlc3RyaWN0IHdpdGhpbi1kZXZpY2UgbWF0Y2hpbmcgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgLW8gKzxhdHRyPiBmb3IgYWRkaW5nIGF0dHJpYnV0ZSB0byBvdXRwdXQgZmllbGRzLiAgW01pbGFuIEJyb3pdCisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3Quc3RfYmF2YWlsIGZvciBhdmFpbGFibGUgY29sdW1uICBbRGF2ZSBSZWlzbmVyXQorICAgLSB1c2UgeGFzcHJpbnRmKCkgIFtLYXJlbCBaYWtdCitmbG9jazoKKyAgIC0gdXNlci1jb25maWd1cmFibGUgZXhpdCBjb2RlICBbSmFuIFwiWWVueWFcIiBLYXNwcnpha10KK2ZzY2s6CisgICAtIEFkZCBhIC1yIG9wdGlvbiB0byByZXBvcnQgbWVtb3J5IGFuZCBydW50aW1lIHN0YXRpc3RpY3MgIFtGcmFuayBNYXloYXJdCisgICAtIGNvZGluZyBzdHlwZSBmaXhlcyAoY2FsbG9jLCBlcnIsIC4uLikgIFtLYXJlbCBaYWtdCisgICAtIGNvc21ldGljIGNoYW5nZXMgaW4gY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBkdXBsaWNhdGUgZXhpdCBjb2RlIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZnJlZSBmc3RhYiB0YWJsZSBvbiBwYXJzZSBmYWlsdXJlICBbRGF2ZSBSZWlzbmVyXQorICAgLSBkb24ndCB0cnkgdG8gY2FsbCBmc2NrIGZvciB1bmRlZmluZWQgZnMgdHlwZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB0byBkaXNrLXV0aWxzIGRpcmVjdG9yeSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHN0cmluZ19jb3B5KCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBmc2NrLmggIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgZnNwcm9iZSB3aXRoIGxpYm1vdW50IHV0aWxzICBbS2FyZWwgWmFrXQorICAgLSB0aW55IGNvZGluZyBzdHlsZSBmaXggIFtLYXJlbCBaYWtdCisgICAtIHVzZSBnZXR0aW1lb2ZkYXkoKSBmb3IgcmVhbCBlbGFwc2VkIHRpbWUgc3RhdGlzdGljICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGVzcyBhZ2dyZXNzaXZlIG1ldGhvZCB0byBkZXRlY3QgbW91bnRlZCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgZm9yIGZpbGVzeXN0ZW0gbGlzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYm1vdW50IHRvIGNoZWNrIGZvciBtb3VudGVkIGZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorZnNjay5jcmFtZnM6CisgICAtIGFkZCBsb25nIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGlzYWxsb3cgdW5rbm93biBjb21tYW5kIGxpbmUgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorZnNjay5taW5peDoKKyAgIC0gYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHJwbWF0Y2goKSBmb3IgeWVzL25vIHF1ZXN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzeW1ib2xpYyBleGl0IGNvZGVzICBbU2FtaSBLZXJvbGFdCitmc2NrLm1pbml4LmM6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVd1bnVzZWQtcmVzdWx0XSAgW1BldHIgVXplbF0KK2ZzdGFiOgorICAgLSBmc3RhYi41IGZpeCBtaXNzcGVsbGluZyBvZiBkZXByZWNhdGVkICBbRGF2ZSBSZWlzbmVyXQorZnN0cmltOgorICAgLSBhZGQgLS12ZXJzaW9uIGFuZCBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RydG9zaXplX29yX2VycigpICBbS2FyZWwgWmFrXQorZ2V0b3B0OgorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitoZXhkdW1wOgorICAgLSBmaXggY29tcGFyaXNvbiBvZiBkaXN0aW5jdCBwb2ludGVyIHR5cGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHByaW50IHNlbnNpYmxlIG1lc3NhZ2Ugd2hlbiBhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgbWFuIHBhZ2UgZm9yIC1uIGFuZCAtcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN0cnRvc2l6ZSgpIGZvciAtbiBhbmQgLXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdHJ0b3NpemVfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCitod2Nsb2NrOgorICAgLSBjbGVhbnVwIHN0cnRveHhfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHNldCB0aW1lIGZvciAtLXN5c3R6ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBleGNsdXNpdmVfb3B0aW9uKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQoraW5jbGlkZS9lbnY6CisgICAtIGlubmNsdWRlIGMuaCwgcmVtb3ZlIF8oKSBtYWNybyBmcm9tIHhzZXRlbnYoKSAgW0thcmVsIFpha10KK2luY2x1ZGU6CisgICAtIFtjLmhdIHByb3RlY3QgY29udGFpbmVyX29mICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIGFkZCAvcHJvYy9sb2NrcyBwYXRoIHRvIHBhdGhuYW1lcyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIGFzcHJpbnRmIHdyYXBwZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHN0cmVhbSBlcnJvciBjaGVja2luZyBmYWNpbGl0eSAgW1NhbWkgS2Vyb2xhXQorICAgLSBkZWZpbmUgZm9ybWF0IHRvIGJlIGNvbnN0YW50IGluIHhhc3ByaW50ZigpICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzcHVyaW91cyBsaXN0Lmggd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHZvaWQgcG9pbnRlciBhcml0aG1ldGljcyB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIGdldF90ZXJtaW5hbF93aWR0aCgpIHRvIHR0eXV0aWxzLmggIFtQZXRyIFV6ZWxdCisgICAtIHJlbmFtZSB3cml0ZWFsbC5oIHRvIGFsbC1pby5oICBbUGV0ciBVemVsXQoraW5jbHVkZSBbb3B0dXRpbHNdOgorICAgLSBhZGQgZXhjbHVzaXZlX29wdGlvbigpIGlubGluZSBmdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQoraW5jbHVkZS9ibGtkZXY6CisgICAtIGNsZWFudXAgdXAgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2M6CisgICAtIG1vdmUgZmFsbGJhY2sgZm9yIE1BWEhPU1ROQU1FTEVOIHRvIGMuaCAgW0thcmVsIFpha10KK2luY2x1ZGUvZXhpdGNvZGVzOgorICAgLSBhZGQgRlNDS19ERVNUUlVDVCBhbGlhcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgbmFtZXMsIGFkZCBfRVhfIHN1ZmZpeCAgW0thcmVsIFpha10KK2luY2x1ZGUvb3B0dXRpbHM6CisgICAtIGFkZCBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGV4Y2x1c2l2ZV9vcHRpb24oKSAgW0thcmVsIFpha10KK2luY2x1ZGUvdHQ6CisgICAtIGltcHJvdmUgd29yayB3aXRoIG5vbi11dGY4IGNoYXJzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgc3R1ZmYgIFtLYXJlbCBaYWtdCitpbmNsdWRlL3R0eXV0aWxzOgorICAgLSBtb3JlIHJvYnVzdCBnZXRfdGVybWluYWxfd2lkdGgoKSAgW0thcmVsIFpha10KK2luY2x1ZGUvdHR5dXRpbHMuaDoKKyAgIC0gYWRkIGluY2x1ZGUgZ3VhcmRzICBbRGF2ZSBSZWlzbmVyXQoraXBjbWs6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCitraWxsOgorICAgLSBDaGVjayB0aGUgY29ycmVjdCB2YXJpYWJsZSB3aGVuIGNvbmZpZ3VyaW5nLiAgW1Rob21hcyBTY2h3aW5nZV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK2tpbGwsIHJhdywgcmVuYW1lOgorICAgLSBEb24ndCBleHBsaWNpdGx5IGVuYWJsZSBmb3IgLS1lbmFibGUtbW9zdC1idWlsZHMuICBbVGhvbWFzIFNjaHdpbmdlXQorbGFzdDoKKyAgIC0gdXNlIG1pbigpIGZyb20gYy5oICBbS2FyZWwgWmFrXQorbGRhdHRhY2g6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCitsaWI6CisgICAtIGFkZCBmaWxldXRpbHMgZnVuY3Rpb24gY29sbGVjdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgcGFnZXIgZnVuY3Rpb25hbGl0eSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmFuZG9tIHV0aWxpdGllcyAgW0RhdmlkbG9ociBCdWVzb10KK2xpYi9ibGtkZXY6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3JldHVybi10eXBlXSAgW0thcmVsIFpha10KKyAgIC0gcmV0dXJuIHN0YXRpYyBzdHJpbmdzIGJ5IGJsa2Rldl9zY3NpX3R5cGVfdG9fbmFtZSgpICBbS2FyZWwgWmFrXQorbGliL2Nhbm9uaWNhbGl6ZToKK2xpYi9maWxldXRpbHM6CisgICAtIGFkZCBnZXRfZmRfdGFic2l6ZSgpICBbS2FyZWwgWmFrXQorbGliL2xvb3BkZXY6CisgICAtIG1pbm9yIGJ1ZyBmaXggIGFkZCBtaXNzaW5nIHNlbWljb2xvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3JlIHJvYnVzdCBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIHdhcm5fdW51c2VkX3Jlc3VsdCBmb3JpbXBvcnRhbnQgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorbGliL21hbmdsZToKKyAgIC0gY2hlY2sgZm9yIGVuZCBvZiBzdHJpbmcgb24gZXZlcnkgaXRlcmF0aW9uICBbRGF2ZSBSZWlzbmVyXQorICAgLSBjbGVhbnVwLCBhZGQgdW5oZXhtYW5nbGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIG1lbW9yeSBsZWFrIGluIHRoZSB0ZXN0IGNhc2UgIFtDb25nIFdhbmddCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtLYXJlbCBaYWtdCitsaWIvbWF0Y2g6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCitsaWIvbWJzYWxpZ246CisgICAtIGFib3J0KCkgd2hlbiBub24tZXhwZWN0ZWQgY2FzZSBpcyBlbmNvdW50ZXJlZCAgW1NhbWkgS2Vyb2xhXQorbGliL3BhZ2VyOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwYWlyIGJ1aWxkIGZvciBub24tTGludXguICBbVGhvbWFzIFNjaHdpbmdlXQorbGliL3N0cnV0aWxzOgorICAgLSBhZGQgc3RyaW5nX2FkZF90b19pZGFycmF5KCkgLSBwYXJzZSBhbmQgYWRkIHRvIGlkIGxpc3QgIFtNaWxhbiBCcm96XQorICAgLSBhZGQgc3RyaW5nX3RvX2JpdG1hc2soKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cnRvc2l6ZV9vcl9lcnIsIGNsZWFuIHVwICBbS2FyZWwgWmFrXQorICAgLSBjaXJjdW12ZW50IG1pc3NpbmcgbG9jYWxlY29udigpICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIGNyZWF0ZSB0eXBlIHNwZWNpZmljIHN0cnRveHhfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCitsaWIvc3lzZnM6CisgICAtIGNoZWNrIGlmIGN4dC0+ZGlyX3BhdGggaXMgTlVMTCBpbiBzeXNmc19yZWFkbGluaygpICBbQ29uZyBXYW5nXQorICAgLSBleHBlY3QgcDxOPiBzdWZmaXggZm9yIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3lzZnNfaXNfcGFydGl0aW9uX2RpcmVudCgpICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN5c2ZzX3BhcnRub190b19kZXZubyBiZXR0ZXIgcmVhZGFibGUgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSB1c2Ugd2Fybl91bnVzZWRfcmVzdWx0IGZvciBzeXNmc19pbml0KCkgIFtLYXJlbCBaYWtdCitsaWIvdHQ6CisgICAtIGFsd2F5cyBlc2NhcGUgJ1wnIHRvIHNpbXBsaWZ5IHBhcnNpbmcgaW4gc2NyaXB0cyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIG5vbi1wcmludGFibGUgY2hhcnMgZm9yIHJhdy9leHBvcnQgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBjb3VudCByZWFkIGNlbGxzLCBpbXByb3ZlIFx4Pz8gaGV4IGVuY29kaW5nICBbS2FyZWwgWmFrXQorICAgLSBlbmNvZGUgZGF0YSBmb3IgUkFXIGFuZCBFWFBPUlQgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBleHBvcnQgdHRfZnB1dHNfe3F1b3RlZCxub25ibGFua30gZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBceCUwMnggdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHdvcmsgbW9yZSBzZW5zaXRpdmUgd2l0aCBsYXJnZSBjb2x1bW5zICBbS2FyZWwgWmFrXQorbGliYmxraWQ6CisgICAtIGFjY2VwdCBzbWFsbCBibG9ja3MgZm9yIE5URlMgYW5kIFJlaXNlcmZzIGluIGJsa2lkICBbVmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua29dCisgICAtIGFkZCBkbS12ZXJpdHkgaGFzaCBkZXZpY2UgZGV0ZWN0aW9uICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgUEFSVFVVSUQ9IGFuZCBQQVJUTEFCRUw9ICBbS2FyZWwgWmFrXQorICAgLSBiZWZzICBkZWNsYXJlIGZ1bmN0aW9ucyBzdGF0aWMgIFtQZXRyIFV6ZWxdCisgICAtIGNhc3QgYmxraWRfbG9mZl90IHRvIHVuc2lnbmVkIGxvbmcgbG9uZyAgW1BldHIgVXplbF0KKyAgIC0gY2xlYW51cCBfYXR0cmlidXRlX18gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzeXNmcyBjb250ZXh0IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBnZW5lcmF0ZSBwc2V1ZG8tVVVJRCBmb3IgSVNPOTY2MCBpbWFnZSBmaWxlICBbQW5kcmVhcyBWb2dlbF0KKyAgIC0gcHJvcGVybHkgcmVzZXQgY2hhaW4gaW4gcHJvYmVfZG9fd2lwZSgpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGVudHJpZXMgaW4gc3ltYm9scyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXdyaXRlIG50ZnMgcHJvYmVyICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IFVGUyBVVUlEICBbVmxhZGltaXIgJ8+GLWNvZGVyL3BoY29kZXInIFNlcmJpbmVua29dCisgICAtIHRydXN0IGluIHVkZXYgc3ltbGlua3MsIGRvbid0IHZlcmlmeSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGRtLXZlcml0eSBzY2FuICBbTWlsYW4gQnJvel0KKyAgIC0gdXNlIHVuc2lnbmVkIGludHMgaW4gbnRmcyBwcm9iZXIgIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gVXNlIGJpbmFyeSBzZWFyY2ggdG8gY29tcGFyZSBwc2V1ZG9mcyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gYWRkIE1OVF9FUlJfTE9PUERFViAgW0thcmVsIFpha10KKyAgIC0gYWRkIE1OVF9FUlJfTU9VTlRPUFQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb25maWdmcyB0byBwc2V1ZG9mcyBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2NvbnRleHRfZnN0YWJfYXBwbGllZCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2NvbnRleHRfZ2V0X29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9mc19zdHJlcV9zcmNwYXRoKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfZnNfc3RyZXFfdGFyZ2V0KCkgYW5kIGV4cG9ydCBhbGwgbW50X2ZzX3N0cmVxXyogIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfb3B0c3RyX2RlZHVwbGljYXRlX29wdGlvbigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX2ZpbmRfZGV2bm8oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3BlY2lhbCBNTlRfRVJSXyBjb2RlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIFBBUlRVVUlEPSBhbmQgUEFSVExBQkVMPSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgdG8gcGFyc2UgL3Byb2Mvc3dhcHMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IGVtcHR5IHNvdXJjZSBmb3IgbW91bnQoMikgc3lzY2FsbCAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gZGlzYWJsZSBzd2FwIGJldHdlZW4gc291cmNlIGFuZCB0YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGluZmluaXRlIGxvb3AgaW4gY2hpbGQgZnMgaXRlcmF0aW9uICBbRGF2ZSBSZWlzbmVyXQorICAgLSBjYW5vbmljYWxpemUgYWxsIHBhdGhzIGZyb20gKGZzKXRhYiAgW0thcmVsIFpha10KKyAgIC0gY2Fub25pY2FsaXplIHRhcmdldHMgZnJvbSBmc3RhYiBvbiBtb3VudCAtYSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgVkZTIG1vdW50IG9wdGlvbnMgaW4gbW50X2RpZmZfdGFibGVzKCkgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIE1OVF9GTVRfKiB1c2FnZSBpbiBwYXJzZXIgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZmxhZ3MgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsb3NlIGRldmljZSBmZCAodG8gYXZvaWQgbW91bnQoMikgRUJVU1kpICBbS2FyZWwgWmFrXQorICAgLSBjb3NtZXRpYyBjaGFuZ2VzIGFyb3VuZCAibm9uZSIgIFtLYXJlbCBaYWtdCisgICAtIGRlZHVwbGljYXRlIFNFTGludXggbW91bnQgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2Fub25pY2FsaXplIHRhcmdldCAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZ2VuZXJhdGUgZW1wdHkgb3B0aW9uIHN0cmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHRyZWF0ICJub25lIiBkaWZmZXJlbnRseSAgW0RhdmUgUmVpc25lcl0KKyAgIC0gZG9uJ3QgdXNlIG5vc3VpZCxub2V4ZWMsbm9kZXYgZm9yIGNpZnMgdXNlcj1mb28gIFtLYXJlbCBaYWtdCisgICAtIGV4cG9zZSBtbnRfZ2V0X21vdW50cG9pbnQgYXMgZXh0ZXJuYWwgQVBJICBbRGF2ZSBSZWlzbmVyXQorICAgLSBmaXggImFscmVhZHkgbW91bnRlZCIgZGV0ZWN0aW9uIG9uIHN5c3RlbXMgd2l0aCBtdGFiICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW50X2NvbnRleHRfZ3Vlc3NfZnN0eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtb3VudCBieSBwYXR0ZXJuICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVhZCBiZWZvcmUgYWxsb2NhdGVkIGJ1ZmZlciAgW1BldHIgVXplbF0KKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdHJpdmlhbCB0eXBvcyAgW1BldHIgVXplbF0KKyAgIC0gZml4IHVubWFuZ2xlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgaWZkZWYgSEFWRV9MSUJTRUxJTlVYIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIG1udF90YWJsZXNfaXNfbW91bnRlZCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzb21lIHN0cmluZyBvcGVyYXRpb25zIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBvcHRpbWl6ZSBmb3IgcGF0aHMgd2l0aCB0YWlsaW5nIHNsYXNoICBbS2FyZWwgWmFrXQorICAgLSBwbHVnIGEgbWVtb3J5IGxlYWsgaW4gZXhlY19oZWxwZXIoKSAgW1BldHIgVXplbF0KKyAgIC0gcmVtb3VudCBkb2VzIG5vdCBhZGQgZW50cnkgdG8gbXRhYiBmaWxlICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgbW50X2NvbnRleHRfZnN0YWJfYXBwbGllZCB0byBtbnRfY29udGV4dF90YWJfYXBwbGllZCAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBtbnRfdGFibGVfaXNfZnNfbW91bnRlZCgpIHRvIGJlIGxlc3MgYWdncmVzc2l2ZSAgW0thcmVsIFpha10KKyAgIC0gc2F2ZSB0YXNrIElEIGZvciBtb3VudGluZm8gdGlsZXMgIFtLYXJlbCBaYWtdCisgICAtIHRyaW0gbGVhZGluZyBjb21tYXMgZnJvbSBlYWNoIG9wdGlvbnMgc3RyaW5nICBbRGF2ZSBSZWlzbmVyXQorICAgLSB1c2UgbW91bnQuPHR5cGU+IC1zIGZvciBORlMgb25seSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN0ZGVyciBmb3IgaW5pdGlhbCBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorbGlidXVpZDoKKyAgIC0gYXZvaWQgZG91YmxlIG9wZW4gYW5kIGxlYWtpbmcgZGVzY3JpcHRvciAgW1BldHIgVXplbF0KKyAgIC0gYXZvaWQgZG91YmxlIG9wZW4gYW5kIGxlYWtpbmcgZmQgKHJld29ya2VkKSAgW1BldHIgVXplbF0KKyAgIC0gZG9uJ3QgZXhlYyB1dWlkZCAgW1BldHIgVXplbF0KKyAgIC0gZml4IHR5cG8gaW4gdXVpZF9jb21wYXJlIG1hbnBhZ2UgIFtQZXRyIFV6ZWxdCisgICAtIG1vdmUgY2xvY2sudHh0IHBhdGggdG8gaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgcmVhZF9hbGwgdG8gaW5jbHVkZS9hbGwtaW8uaCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIEVYSVRfRkFJTFVSRSAgW1BldHIgVXplbF0KKyAgIC0gdXNlIGdldF9mZF90YWJzaXplKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtYXgoKSBmcm9tIGMuaCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIHJhbmR1dGlscyAgW0RhdmlkbG9ociBCdWVzb10KK2xvZ2dlcjoKKyAgIC0gYXZvaWQgZXhwbGljaXQgZmNsb3NlKHN0ZG91dCkgIFtEYXZlIFJlaXNuZXJdCisgICAtIG1hcmsgZGVjb2RlL3BlbmNvZGUgYXMgc3RhdGljICBbRGF2ZSBSZWlzbmVyXQorICAgLSB1c2UgbWVtY3B5IGluc3RlYWQgb2YgYmNvcHkgIFtEYXZlIFJlaXNuZXJdCitsb2dpbjoKKyAgIC0gSW5jbHVkZSA8bGludXgvbWFqb3IuaD4gb25seSBpZiBpdCBleGlzdHMuICBbVGhvbWFzIFNjaHdpbmdlXQorICAgLSBhZGQgVVNFUiB0byBpbml0aWFsIGVudmlyb25tZW50ICBbRGF2ZSBSZWlzbmVyXQorICAgLSBhbGxvdyBUVFlHUk9VUCBuYW1lIGJlZ2luIGJ5IG51bWJlciAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbG9zZSB0dHkgYmVmb3JlIHZoYW5ndXAoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IExPR0lOX0NIT1dOX1ZDUyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2VnbWVudGF0aW9uIGZhdWx0IGluIGxvZ191dG1wICBbS2FyZWwgWmFrXQorICAgLSBtaW5vciBzcGVsbGluZyBmaXhlcyAgW0VsYW4gUnV1c2Ftw6RlXQorICAgLSBtaW5vciBzcGVsbGluZyBmaXhlcyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBjcmF6eSBzaGFkb3ctdXRpbHMgc3ludGF4IGluIGxvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBnZXRfZmRfdGFic2l6ZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZ2V0ZHRhYmxlc2l6ZSgpIGNvcnJlY3RseSBpbiBsb2dpbi5jICBbY2hhcyB3aWxsaWFtcyAtIENPTlRSQUNUT1JdCitsb2dpbi11dGlsczoKKyAgIC0gYWRkIG1pc3NpbmcgaGVhZGVyLCBmaXggc2V0cHduYW0uYyBmY2xvc2UgbG9naWMgIFtLYXJlbCBaYWtdCisgICAtIHZlcmlmeSB3cml0aW5nIHRvIHN0cmVhbXMgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2xvZ2luZGVmczoKKyAgIC0gY2hhbmdlIGdldGxvZ2luZGVmc19udW0oKSB0byByZXR1cm4gdW5zaWduZWQgbG9uZyAgW1NhbWkgS2Vyb2xhXQorbG9vazoKKyAgIC0gcmVtb3ZlIGV4dHJhIHNlbWljb2xvbiAgW1NhbWkgS2Vyb2xhXQorbG9zZXR1cDoKKyAgIC0gRml4IHNldHRpbmcgb2Ygc2l6ZWxpbWl0IG9uIG5ldyBsb29wIGRldmljZXMgIFtEYW5pZWwgRHJha2VdCisgICAtIGFkZCAtLWRldGFjaC1hbGwgdG8gdGhlIGxpc3Qgb2Ygb3B0aW9ucyAgW1BldHIgVXplbF0KKyAgIC0gaW1wcm92ZSAtYSB0byByZXBvcnQgbG9vcGRldnMgPCA1MTIgYnl0ZXMgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgdmVyYm9zZSBmYWlsZWQgc2V0dXAgZXJyb3IgbWVzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBleGNsdXNpdmVfb3B0aW9uKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHN0cnRvc2l6ZV9vcl9lcnIoKSAgW0thcmVsIFpha10KKyAgIC0gd2FybiBhYm91dCBiYWNraW5nIGZpbGUgc2l6ZSAgW0thcmVsIFpha10KK2xzYmxrOgorICAgLSBSUS1TSVpFIGlzIHBhcnQgb2YgdGhlIC0tdG9wb2xvZ3kgb3V0cHV0IChtYW4gcGFnZSBidWdmaXgpICBbRGF2ZSBSZWlzbmVyXQorICAgLSBhZGQgLS1pbmNsdWRlIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tdmVyc2lvbiBzd2l0Y2ggIFtNaWxhbiBCcm96XQorICAgLSBhZGQgV1dOLCBpbXByb3ZlIHVkZXYgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGludmVyc2UgdHJlZSBzdXBwb3J0ICgtcykgIFtQZXRlciBSYWpub2hhXQorICAgLSBhZGQgbm90IGFib3V0IHVuc3RhYmxlIGRlZmF1bHQgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVhZC1haGVhZCBjb2x1bW4uICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIFBBUlRVVUlEPSBhbmQgUEFSVExBQkVMPSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgaW9jdGwgcmVzdWx0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgc3lzZnNfcmVhZF91NjQgcmV0dXJuIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjb3VudCB3aXRoIHRlcm1pbmF0aW5nIGNoYXJhY3RlciwgbWFuIHBhZ2UgLXMgZW50cnkgIFtQZXRlciBSYWpub2hhXQorICAgLSBlc2NhcGUgdW5zYWZlIGNoYXJzIGluIHBhcnNhYmxlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gZml4IC9zeXMvLi4uL3JvIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZG1fbmFtZSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHVzYWdlLCBpbXByb3ZlIGV4Y2x1ZGUvaW5jbHVkZSBsaXN0cyBwYXJzaW5nICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIG1hbiBwYWdlIHdvcmRpbmcgIFtSZWdpZCBJY2hpcmFdCisgICAtIHBlcm1pdCBvcHRpb24gLS1leGNsdWRlIG1vcmUgdGhhbiBvbmNlICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gcmVtb3ZlIChkbS1OKSBmcm9tIE5BTUUgZm9yIHJhdy9wYWlyIG91dHB1dCBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBwcml2YXRlIFx4PGhleD4gY29kaW5nLCBkZWNvZGUgZGF0YSBmcm9tIHVkZXYgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgLW8gKzxhdHRyPiBmb3IgYWRkaW5nIGF0dHJpYnV0ZSB0byBvdXRwdXQgZmllbGRzLiAgW01pbGFuIEJyb3pdCisgICAtIHVzZSBibGtkZXZfc2NzaV90eXBlX3RvX25hbWUoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBleGNsdXNpdmVfb3B0aW9uKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGZhbGxiYWNrIGZvciBUWVBFICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgdG8gZ2V0IG1vdW50cG9pbnRzL3N3YXBzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVhZGxpbmtfYXQgZnJvbSBhdC5jICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3NpZ24tY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJseSB1bmRlZmluZWQgb3BlcmF0aW9uICBbUGV0ciBVemVsXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGxpbWl0IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lLCAtLW9mZmxpbmUgdG8gcGFyc2FibGUgYW5kIGV4dGVuZGVkIG91dHB1dCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSB1c2UgZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBleGNsdXNpdmVfb3B0aW9uKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdmFsdWVzIGluIC9wcm9jL2J1cy9wY2kvZGV2aWNlcyBhcmUgYWx3YXlzIHVuc2lnbmVkICBbU2FtaSBLZXJvbGFdCitsc2xvY2s6CisgICAtIHJlbW92ZSBkdXBsaWNhdGUgdmFyaWFibGUgIFtLYXJlbCBaYWtdCitsc2xvY2tzOgorICAgLSBhZGQgLS1ub3RydW5jYXRlLCBtaW5vciBmaXhlcyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIFRZUEUgY29sdW1uICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBhZGQgbHNsb2Nrcy44IG1hbiBwYWdlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggYnJhY2tldCBpbmRlbnRhdGlvbiAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBtaW5vciBmaXggaW4gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gbmV3IGNvbW1hbmQgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSB4YXNwcmludGYgZm9yIHNhZmUgYWxsb2NhdGlvbiAgW1NhbWkgS2Vyb2xhXQorbWVzZzoKKyAgIC0gdXNlIHJwbWF0Y2ggdG8geWVzL25vIHF1ZXN0aW9uICBbU2FtaSBLZXJvbGFdCittaXNjOgorICAgLSBjbGVuYXVwIFNJWkUgY29sdW1ucyBpbiBsc2JsayBhbmQgZmluZG1udCAgW0thcmVsIFpha10KK21pc2MtdXRpbHM6CisgICAtIGNsZWFudXAgc3RydG94eF9vcl9lcnIoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1bnVzZWQgc3RyaW5ncy5oIGluY2x1ZGVzICBbbWF4aW1pbGlhbiBhdHRlbXNdCisgICAtIGZpeCB0eXBvcyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorbWtmcy5jcmFtZnM6CisgICAtIGRpc2FsbG93IHVua25vd24gY29tbWFuZCBsaW5lIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCAnTUlOJyBtYWNybyBkZWZpbml0aW9uICBbUGV0ciBVemVsXQorbWtzd2FwOgorICAgLSBhbGxvdyBjcmVhdGluZyBzd2FwIG9uIC9kZXYvaGRbYWJdICBbUGV0ciBVemVsXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgZGlhZ25vc3RpY3MgbWVzc2FnZSBpZiB0aGUgZGV2aWNlIGlzIG1vdW50ZWQgIFtQZXRyIFV6ZWxdCisgICAtIHVzZSBpc19tb3VudGVkKCkgaW5zdGVhZCBvZiBjaGVja19tb3VudCgpICBbUGV0ciBVemVsXQorbW9yZToKKyAgIC0gYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggcG9pbnRlciB3cmFwIGFyb3VuZCBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggcmVnZXggZXJyb3IgbWVzc2FnZXMgcHJpbnRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZWFyY2ggcmVwZXRpdGlvbiByZWdyZXNzaW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHR5cG9zICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSByZW1vdmUgYSBtZWFuaW5nbGVzcyB0ZXN0ICBbSmVyZW15IEh1bnR3b3JrXQorbW91bnQ6CisgICAtIChuZXcpIGFkZCAnaW50ZXJuYWwtb25seShpKScgdG8gbm9uLXJvb3QgYWxsb3dlZCBvcHRpb25zICBbUmFnaGF2ZW5kcmEgRCBQcmFiaHVdCisgICAtIChuZXcpIGFkZCAtLXNvdXJjZSBhbmQgLS10YXJnZXQgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBsb29wZGV2IHNwZWNpZmljIGVycm9yIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGFkZCBtaXNzaW5nIHhhbGxvYy5oICBbS2FyZWwgWmFrXQorICAgLSAobmV3KSBhZGQgbm90ZSBhYm91dCB1bnN1cHBvcnRlZCAnaWdub3JlJyBmc3R5cGUgdG8gZnN0YWIuNSAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgYWRkIHN1cHBvcnQgZm9yIFBBUlRVVUlEPSBhbmQgUEFSVExBQkVMPSAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgYWxsb3cgc2xvcHB5IGZvciBub24tcm9vdCAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgYmUgbW9yZSBwZWRhbnRpYyBhYm91dCAtLW1ha2UtKiAgW0thcmVsIFpha10KKyAgIC0gKG5ldykgY2xlYW51cCBtb3VudCAtYSByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGZpeCBNU19SRUMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIHVzZSBNTlRfRVJSXyBmb3IgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIChuZXcpIHVzZSBleGNsdXNpdmVfb3B0aW9uKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gKG9sZCkgY2hlY2sgZm9yIExEX0ZMQUdTX0FVVE9DTEVBUiBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KKyAgIC0gKG9sZCkgZml4IGVuY3J5cHRpb249IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSAob2xkKSByZW1vdmUgaHlicmlkIGxpYm1vdW50IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIChvbGQpIHJlbW92ZSBtdGFiIGxvY2sgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZXh0NCBvcHRpb24gaW5vZGVfcmVhZGFoZWFkIHNob3VsZCBiZSBpbm9kZV9yZWFkYWhlYWRfYmxrcyBpbiBtb3VudC44ICBbRXJ5dSBHdWFuXQorICAgLSBmaXggbWFuIHBhZ2UgdHlwbyBzL3JlYXRpbWUvcmVsYXRpbWUvICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVjdXJzaXZlbHkgcHJvcGFnYXRpb24gbW91bnRpbmcgIFtEb25nIEhhb10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGZyZWUoKSAgW0thcmVsIFpha10KKyAgIC0gcmVwbGFjZSBjb250cm9sIGNoYXJzIGluIG1vdW50cG9pbnQgbmFtZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB2ZXJpZnkgd3JpdGluZyB0byBzdHJlYW1zIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCittb3VudHBvaW50OgorICAgLSBhY2NvdW50IGZvciBlcnJvciBmcm9tIGluIG1udF9mc19nZXRfdGFyZ2V0ICBbRGF2ZSBSZWlzbmVyXQorICAgLSBhZGQgLS12ZXJzaW9uICYgYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGEgbWlub3IgYnVnIHdpdGggMCAwIGRldm5vICBbWmhpIExpXQorbmFtZWk6CisgICAtIGZpeCByZWxhdGl2ZSBzeW1saW5rcyBldmFsdWF0aW9uICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIGFkZCAtLXZlcnNpb24gb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgc3RydG94eF9vcl9lcnIoKSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCAtbyArPGF0dHI+IGZvciBhZGRpbmcgYXR0cmlidXRlIHRvIG91dHB1dCBmaWVsZHMgIFtNaWxhbiBCcm96XQorICAgLSB1c2UgLXMgb3B0aW9uIGZvciBkZWZhdWx0IG91dHB1dCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXhjbHVzaXZlX29wdGlvbigpICBbU2FtaSBLZXJvbGFdCisgICAtIHZlcmlmeSB3cml0aW5nIHRvIHN0cmVhbXMgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK3BhdGhuYW1lczoKKyAgIC0gY2xlYW4gdXAgdmFyaW91cyB1c2VyIGRhdGFiYXNlIHBhdGhzICBbU2FtaSBLZXJvbGFdCitwZzoKKyAgIC0gYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29ycmVjdCB2ZXJzaW9uIHByaW50aW5nIGluIGhlbHAgc2NyZWVuICBbU2FtaSBLZXJvbGFdCitwbzoKKyAgIC0gYWRkICouaCBzdHVmZiB0byBQT1RGSUxFUyAgW0thcmVsIFpha10KKyAgIC0gbWVyZ2UgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQw61zYcWZXQorICAgLSB1cGRhdGUgZGEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKb2UgSGFuc2VuXQorICAgLSB1cGRhdGUgZGUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtBcnVuIFBlcnNhdWRdCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhdmlkIFByw6l2b3RdCisgICAtIHVwZGF0ZSBqYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1Rha2VzaGkgSGFtYXNha2ldCisgICAtIHVwZGF0ZSBubC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1cGRhdGUgcGwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKYWt1YiBCb2d1c3pdCisgICAtIHVwZGF0ZSB1ay5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1l1cmkgQ2hvcm5vaXZhbl0KKyAgIC0gdXBkYXRlIHZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVHLhuqduIE5n4buNYyBRdcOibl0KKyAgIC0gdXBkYXRlIHpoX0NOLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbV3lsbWVyIFdhbmddCitwcmxpbWl0OgorICAgLSBpbXByb3ZlIGVycm9yIG1lc3NhZ2VzIGZvciBiYWQgLS1waWQgaW52b2NhdGlvbiAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIHJlbW92ZSBib2d1cyBpbnN0cnVjdGlvbnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorcmF3OgorICAgLSBhZGQgbG9uZyBvcHRpb25zIGFuZCB2ZXJzaW9uIHByaW50aW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIHdpdGggaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIG51bWVyaWMgdXNlciBpbnB1dHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21pc3NpbmctcHJvdG90eXBlc10gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHBhdGhuYW1lcy5oIGZvciBmaWxlIGxvY2F0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3ltYm9saWMgZXhpdCBudW1iZXJzICBbU2FtaSBLZXJvbGFdCityZXNldDoKKyAgIC0gbWFrZSBzY3JpcHRzIGJvdXJuZSBzaCBjb21wbGlhbnQgW2NoZWNrYmFzaGlzbXNdICBbU2FtaSBLZXJvbGFdCityZXNpemVwYXJ0OgorICAgLSBhZGQgbmV3IGNvbW1hbmQgIFtLYXJlbCBaYWssIFZpdmVrIEdveWFsXQorICAgLSByZW1vdmUgZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KK3JldjoKKyAgIC0gbWVudGlvbiB0YWMoMSkgaW4gJ1NFRSBBTFNPJyBtYW4gcGFnZSBzZWN0aW9uICBbSmFtZXMgUi4gVmFuIFphbmR0XQorcnRjd2FrZToKKyAgIC0gb25seSBpbnZva2UgUlRDX0FJRV9PTi9PRkYgaW9jdGxzIGluIHBhaXJzICBbUGF1bCBGb3hdCisgICAtIHRpbnkgY29kaW5nIHN0eWxlIGNoYW5nZSAgW0thcmVsIFpha10KK3NjaGVkdXRpbHM6CisgICAtIGNsZWFudXAgc3RydG94eF9vcl9lcnIoKSAgW0thcmVsIFpha10KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorc2NyaXB0OgorICAgLSBhZGQgbm9yZXR1cm4gZnVuY3Rpb24gYXR0cmlidXRlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBlcnJvciBpbiB1c2FnZSgpIG91dHB1dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBwbGF5IHdlbGwgd2l0aCBjc2ggd2hlbiBpbnZva2VkIGZyb20gd2l0aGluIC9ldGMvY3NoLmxvZ2luICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIGNvZGUgIFtLYXJlbCBaYWtdCitzY3JpcHRyZXBsYXk6CisgICAtIGZpeCBjb21waWxlciBmb3JtYXQgd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorc2V0YXJjaDoKKyAgIC0gZGlzYWxsb3cgdW5rbm93biBjb21tYW5kIGxpbmUgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBkbyBub3QgdXNlIC0xIGFzIGFycmF5IGluZGV4IFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK3NldHB3bmFtOgorICAgLSB1c2UgeG1rc3RlbXAoKSBhbmQgbGNrcHdkZigpICBbU2FtaSBLZXJvbGFdCitzZXRzaWQ6CisgICAtIEluY2x1ZGUgPHN5cy9pb2N0bC5oPiBpbnN0ZWFkIG9mIDx0ZXJtaW8uaD4uICBbVGhvbWFzIFNjaHdpbmdlXQorICAgLSBhZGQgb3B0aW9uICItYyIgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCAgW0hhcmFsZCBIb3llcl0KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggb2ZmLWJ5LW9uZSBlcnJvciBpbiBleGVjdnAgY2FsbCAgW0Jlcm5oYXJkIFZvZWxrZXJdCitzZXR0ZXJtOgorICAgLSBjb3JyZWN0IG1hbnVhbCBwYWdlIHJlZmVyZW5jZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCitzZmRpc2s6CisgICAtIGZpeCBjYWxjdWxhdGlvbiBkdWUgdG8gdHlwZSBtaXNtYXRjaCAoaXg4NikgIFtQZXRyIFV6ZWxdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VudXNlZC1yZXN1bHRdICBbUGV0ciBVemVsXQorICAgLSBpbXByb3ZlIEZfTUVHQUJZVEUgaGVhZGVyICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gbWFrZSAtbCBsZXNzIHZlcmJvc2UgYWJvdXQgbWlzc2luZyBQVCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHJwbWF0Y2ggdG8geWVzL25vIHF1ZXN0aW9uICBbU2FtaSBLZXJvbGFdCitzdHJ1dGlsczoKKyAgIC0gcmV0dXJuIHN1Y2Nlc3Mgb24gdGVzdCBwcm9ncmFtICBbRGF2aWRsb2hyIEJ1ZXNvXQorc3U6CisgICAtIEFkZCBBTV9MREZMQUdTIHRvIHN1X0xERkxBR1MuICBbVGhvbWFzIFNjaHdpbmdlXQorICAgLSBEb24ndCBpbmNsdWRlIHRoZSB1bnVzZWQgPHN5cy9mc3VpZC5oPiAgW1Rob21hcyBTY2h3aW5nZV0KKyAgIC0gTWVudGlvbiBTVUlEXyogZmVhdHVyZS4gIFtUaG9tYXMgU2Nod2luZ2VdCisgICAtIGFsaWduIHdpdGggaG93dG8tdXNhZ2UtZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIGN1c3RvbSBNQVggbWFjcm8gIFtMdWR3aWcgTnVzc2VsXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KKyAgIC0gaW50cm9kdWNlIHhzZXRlbnYgZ2xvYmFsbHkgIFtMdWR3aWcgTnVzc2VsXQorICAgLSBwcmVzZXJ2ZSBlcnJubyBpbiBjbGVhbnVwX3BhbSgpICBbTHVkd2lnIE51c3NlbF0KKyAgIC0gcmVtb3ZlIHByb2dyYW1fbmFtZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVuaW1wbGVtZW50ZWQgb3B0aW9ucyAtdSBhbmQgLXYgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSByZW1vdmUgdW51c2VkIGNvZGUgIFtMdWR3aWcgTnVzc2VsXQorICAgLSByZXBsYWNlIFBBTV9CQUlMX1AgbWFjcm8gd2l0aCBiZXR0ZXIgc29sdXRpb24gIFtMdWR3aWcgTnVzc2VsXQorICAgLSB1c2UgQlNEIGVyciBmdW5jdGlvbiBpbnN0ZWFkIG9mIGdudSdzIGVycm9yKCkgIFtMdWR3aWcgTnVzc2VsXQorICAgLSB1c2UgRU5WX1BBVEggcmVzcCBFTlZfU1VQQVRIIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBsb2dpbiAgW0x1ZHdpZyBOdXNzZWxdCisgICAtIHVzZSBFWElUX0ZBSUxVUkUgY29uc2lzdGVudGx5ICBbTHVkd2lnIE51c3NlbF0KKyAgIC0gdXNlIHhzdHJkdXAoKSAgW0thcmVsIFpha10KK3N1bG9naW46CisgICAtIGFkZCBpMThuIHN0cmluZ3MgIFtEYXZlIFJlaXNuZXJdCisgICAtIGFkZCBsb25nIG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IHBvcnQgdG8gdXRpbC1saW51eCB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGNoZGlyIGFuZCBnZXRjd2QgcmV0dXJuIHZhbHVlcyBbLVd1bnVzZWQtcmVzdWx0XSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzdHJ0b3h4X29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2VsaW51eCBidWlsZCAgW0thcmVsIFpha10KKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBnZXQgcmlkIG9mIGNhbGxzIHRvIC9iaW4vc2FzaCAgW0RhdmUgUmVpc25lcl0KKyAgIC0gaGVhZGVyL2luY2x1ZGUgY2xlYW51cCAgW0RhdmUgUmVpc25lcl0KKyAgIC0gaW5pdGlhbCBpbXBvcnQgZnJvbSBzeXN2aW5pdCAgW0RhdmUgUmVpc25lcl0KKyAgIC0gaW5pdGlhbGl6ZSBubHMgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIHBhcnNlIHRpbWVvdXQgbW9yZSBjYXJlZnVsbHkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBDSEVDS197REVTLE1ENX0gZGVmaW5lcyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gcmVtb3ZlIFVTRV9PTkVMSU5FIGFuZCBTQU5FX1RJTyBkZWZpbmVzICBbRGF2ZSBSZWlzbmVyXQorICAgLSByZXBsYWNlIG9sZGVyIHNpZ25hbCgpIHdpdGggc2lnYWN0aW9uKCkgIFtEYXZlIFJlaXNuZXJdCisgICAtIHJlcGxhY2UgcGVycm9yKCkgd2l0aCB3YXJ4KCkgIFtLYXJlbCBaYWtdCisgICAtIHNoYXJlIHZjIGluaXRpYWxpemF0aW9uIHdpdGggYWdldHR5ICBbS2FyZWwgWmFrXQorICAgLSBzdWxvZ2luLjggcmVmYWN0b3IgbWFucGFnZSAgW0RhdmUgUmVpc25lcl0KKyAgIC0gdXNlIEVYSVRfKiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGEgbW9yZSBzdGFuZGFyZCB1c2FnZSBvdXRwdXQgIFtEYXZlIFJlaXNuZXJdCisgICAtIHVzZSBlcnIuaCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBhdGhuYW1lcy5oIGZvciBmaWxlIGxvY2F0aW9ucyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gdXNlIHNpemVfdCBmb3IgaXRlcmF0b3IgdG8gYXZvaWQgY2FzdCAgW0RhdmUgUmVpc25lcl0KKyAgIC0gd2hpdGVzcGFjZSBmaXhlcyAgW0RhdmUgUmVpc25lcl0KK3N3YXBsYWJlbDoKKyAgIC0gYWRkIC0tdmVyc2lvbiBhbmQgYWxpZ24gd2l0aCBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKCkgcmVzdWx0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK3N3YXBvZmY6CisgICAtIGNsZWFudXAgdXNhZ2UoKSBhbmQgaW5jbHVkZXMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgY29kZSBmcm9tIHN3YXBvbi5jIHRvIHN3YXBvZmYuYyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYm1vdW50IHRvIHBhcnNlIGZzdGFiICBbS2FyZWwgWmFrXQorc3dhcG9uOgorICAgLSBhZGQgLS1zaG93IG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgUEFSVFVVSUQ9IGFuZCBQQVJUTEFCRUw9ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1haW4oKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS1zdW1tYXJ5IG91dHB1dCByZWdyZXNzaW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBraWxsIHVudXNlZCB2YXJpYWJsZXMgaW4gc2hvd190YWJsZSgpICBbUGV0ciBVemVsXQorICAgLSBtYWtlIC0tc2hvdyBzaXplIHRvIGJlIGh1bWFuIHJlYWRhYmxlIGJ5IGRlZmF1bHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWlub3IgY29kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZ2VuZXJpYyBjb2RlIHRvIHN3YXBvbi1jb21tb24uYyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGRpcmVjdGx5IGJsa2lkIHJhdGhlciB0aGFuIGZzcHJvYmUgd3JhcHBlciAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYm1vdW50IGZvciAvcHJvYy9zd2FwcyBwYXJzaW5nICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlibW91bnQgZm9yIGZzdGFiIHBhcnNpbmcgKGZvciBzd2Fwb24gLS1hbGwpICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugb25seSBsaWJtb3VudCBmb3IgcGF0aHMvdGFncyBldmVhbHVhdGlvbiAgW0thcmVsIFpha10KK3N5cy11dGlsczoKKyAgIC0gYXZvaWQgZHVwbGljYXRlIHJlZmVyZW5jZSB0byBmc3RhYi41ICBbRGF2ZSBSZWlzbmVyXQorICAgLSBjbGVhbnVwIHN0cnRveHhfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvcyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorc3lzZnM6CisgICAtIGZpeCBwcmludGYgZm9ybWF0IHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrIHRvIHN5c2ZzX2Rldm5vX3RvX3dob2xlZGlzayAgW01pY2hhbCBMdXNjb25dCit0YWlsZjoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK3Rlcm0tdXRpbHM6CisgICAtIGNsZWFudXAgc3RydG94eF9vcl9lcnIoKSAgW0thcmVsIFpha10KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQordGVzdDoKKyAgIC0gdGVzdCAnbm9uZScgc291cmNlIGZvciBtb3VudCg4KSAgW0thcmVsIFpha10KK3Rlc3Rfc3lzaW5mbzoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBhZGQgVUZTIHV1aWRzIHRvIHJlc3VsdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsYXlvdXQgaW5mbyB0byBkb3MgbW9kZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGlibW91bnQgb3B0c3RyIGRlZHVwbGljYXRlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9zZXR1cC9tb3VudCBlbmNyeXB0aW9uIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsc2NwdSB0ZXN0IGZvciBib3ggd2l0aCA2NCBDUFVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbHNsb2NrcyB0byBidWlsZC1zeXMgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub24tZG9zIG1vZGUgZmRpc2sgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN3YXBvbiB0ZXN0cyBmb3IgLS1maXhwZ3N6IGFuZCBmaXggc2lnbmF0dXJlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdHMgZm9yIG1vdW50IC0tbWFrZS0qIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdW1vdW50LWJ5LWVqZWN0IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBibGtpZC9tZC1yYWlkMS1wYXJ0IGZhaWxzICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gY2hlY2sgZm9yICdtYWtlIGNoZWNrJyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0c19pc19tb3VudGVkICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gaHdjbG9jayAgbG9jYXRlIG50cGRhdGUgYnkgdXNpbmcgcGF0aCAgW1NhbWkgS2Vyb2xhXQorICAgLSBsb29rICBhZGQgd29yZHMgZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGJsa2lkL21kLXJhaWQxLXBhcnQgbW9yZSByb2J1c3QgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBtYWtlIGNvbXBhdGlibGUgd2l0aCBhdXRvdG9vbHMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugb3V0cHV0IGFuZCBkaWZmIGRpcnMgdXNhZ2UgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgcm9idXN0IHN5bWxpbmtzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBwYXJ0eCBjaGFuZ2VkIGRlZmF1bHQgb3V0cHV0IGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgTERfTElCUkFSWV9QQVRIIGZyb20gc3dhcG9uIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbHQtIHByZWZpeGVzICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgZG9zbGFiZWwgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gc2VhcmNoIGZvciAibm9uZSIgYnkgZmluZG1udCAgW0thcmVsIFpha10KKyAgIC0gc2VhcmNoIG1vdW50IHBvaW50IGluIGNhbm9uaWNhbGl6ZWQgZm9ybSBpbiAvcHJvYy9tb3VudHMgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBzdGFuZGFyZGl6ZSBmZGlzayBoZWFkZXJzIGluIE1CUiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdGVzdCBub24tY2Fub25pY2FsIHBhdGhzIGluIGZzdGFiICBbS2FyZWwgWmFrXQorICAgLSB0aW55IGNoYW5nZSBpbiBvdXRwdXQgaGVhZGVyICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBibGtpZCB0ZXN0cyB3aXRoIGZkaXNrIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJ1aWxkLXN5cyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayB0ZXN0IChkZWZhdWx0IG91dHB1dCBmb3JtYXQgY2hhbmdlZCkgIFtQZXRyIFV6ZWxdCisgICAtIHVwZGF0ZSBpc28gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaWJtb3VudCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG5vbi1saWIgYnVpbGQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBvZGRpbnB1dCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgcGFydHgsIGFkZCBtaXNzaW5nIHdoaXRlc3BhY2UgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBwYXRocyB0byBoZWxwZXJzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZWplY3QgLS1mb3JjZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRzX2lzX21vdW50ZWQgaW4gbW91bnQvcmVnZmlsZSAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIHdhaXQgYSBtb21lbnQgYmV0d2VlbiBtb3VudCBhbmQgdW1vdW50ICBbS2FyZWwgWmFrXQordGV4dC11dGlsczoKKyAgIC0gY2xlYW51cCBzdHJ0b3h4X29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbWluKCkgZnJvbSBjLmggIFtQZXRyIFV6ZWxdCisgICAtIHZlcmlmeSB3cml0aW5nIHRvIHN0cmVhbXMgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK3RleHQtdXRpbHMvaGV4c3ludGF4LmM6CisgICAtIGZpeCBmb3IgbWlzc2luZyBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSAgW0FuZHJlYXMgQmllw59tYW5uXQordG9vbHM6CisgICAtIGFkZCBhc3ByaW50ZiB0byBjaGVja3hhbGxvYyBzY3JpcHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGNoZWNrbWFucy5zaCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc21hbGwgYW5kIHN0dXBpZCBzY3JpcHQgdG8gY2hlY2sgSEFWRV9ERUNMXyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2tjb25maWcuc2ggIG1ha2Ugc2NyaXB0cyBib3VybmUgc2ggY29tcGxpYW50IFtjaGVja2Jhc2hpc21zXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIGNvbmZpZy1nZW4uZCAgW0thcmVsIFpha10KKyAgIC0gY29uZmlnLWdlbiAgbWFrZSBzY3JpcHRzIGJvdXJuZSBzaCBjb21wbGlhbnQgW2NoZWNrYmFzaGlzbXNdICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUga28tcmVsZWFzZS0qIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIGtvLXJlbGVhc2UgIG1ha2Ugc2NyaXB0cyBib3VybmUgc2ggY29tcGxpYW50IFtjaGVja2Jhc2hpc21zXSAgW1NhbWkgS2Vyb2xhXQordHJhbnNsYXRpb246CisgICAtIHVuaWZ5IGZpbGUgb3BlbiBlcnJvciBtZXNzYWdlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1bmlmeSBzdGF0IGVycm9yIG1lc3NhZ2VzICBbU2FtaSBLZXJvbGFdCit0dW5lbHA6CisgICAtIGNoZWNrIGZzdGF0IHJldHVybiBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9sZCwgbm93IHVubmVlZGVkIGhlYWRlciAgW0RhdmUgUmVpc25lcl0KK3VsOgorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uICBbU2FtaSBLZXJvbGFdCit1dGlsLWxpbnV4OgorICAgLSBEb2N1bWVudCBuZXcgRkFUIG9wdGlvbnMgIFtTdGV2ZW4gSi4gTWFnbmFuaV0KK3V0bXBkdW1wOgorICAgLSBhZGQgTkxTIGFuZCBjbG9zZXN0cmVhbSBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGNvbW1lbnRzLCBmdW5jcyBkZWZpbml0aW9uIGxpbmVzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGZpbGUgZGVzY3JpcHRvciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBkb2N1bWVudCBvcHRpb25hbCBmaWxlbmFtZSBhcmd1bWVudCAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGVuY291cmFnZSB1c2VycyBub3QgdG8gZm9sbG93IHN0ZGluICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VudXNlZC1yZXN1bHRdICBbS2FyZWwgWmFrXQorICAgLSBmaXhlcyBiYXNlZCBvbiBzdGF0aWMgYW5hbHlzaXMgW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBraWxsIHVudXNlZCB2YXJpYWJsZSBpbiBmb2xsb3dfYnlfaW5vdGlmeSgpICBbUGV0ciBVemVsXQorICAgLSBuZXcgY29tbWFuZCwgbWVyZ2UgZnJvbSBzeXN2aW5pdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGxpYmM1IHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGVyci5oIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSB1c2UgaGVscCBhbmQgdmVyc2lvbiBvdXRwdXQgbWFjcm9zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBpbm90aWZ5IHRvIHdoZW4gZm9sbG93aW5nIGZpbGUgIFtTYW1pIEtlcm9sYSwgS2FyZWwgWmFrXQorICAgLSB1c2UgeGFsbG9jLmgsIG1pbm9yIGNvZGluZyBzdHlsZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB3aGl0ZSBzcGFjZSBmaXggIFtTYW1pIEtlcm9sYV0KK3V1aWRkOgorICAgLSBhZGQgc3lzdGVtZCB1bml0IGZpbGVzICBbUGV0ciBVemVsXQorICAgLSBkbyBub3QgZHJvcCBwcml2aWxlZ2VzICBbUGV0ciBVemVsXQorICAgLSBmYWN0b3Igb3V0IHBpZGZpbGUgY3JlYXRpb24gaW50byBzZXBhcmF0ZSBmdW5jdGlvbiAgW1BldHIgVXplbF0KKyAgIC0gZmFjdG9yIG91dCBzb2NrZXQgY3JlYXRpb24gaW50byBzZXBhcmF0ZSBmdW5jdGlvbiAgW1BldHIgVXplbF0KKyAgIC0gaW1wbGVtZW50IC0tbm8tZm9yayBvcHRpb24gIFtQZXRyIFV6ZWxdCisgICAtIGltcGxlbWVudCAtLW5vLXBpZCBvcHRpb24gIFtQZXRyIFV6ZWxdCisgICAtIGltcGxlbWVudCAtLXNvY2tldC1hY3RpdmF0aW9uIG9wdGlvbiAgW1BldHIgVXplbF0KKyAgIC0gaW1wcm92ZSBzeXN0ZW1kIHVuaXQgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGludHJvZHVjZSB1dWlkZF9jeHQgdG8gcGFzcyBhcmd1bWVudHMgdG8gc2VydmVyIGxvb3AgIFtQZXRyIFV6ZWxdCisgICAtIG1vdmUgZnJvbSAvdmFyL3J1bi91dWlkZCB0byAvcnVuL3V1aWRkICBbS2FyZWwgWmFrXQorICAgLSBwcmludCBhbGwgZGVidWdnaW5nIGluZm9ybWF0aW9uIHRvIHN0ZGVyciAgW1BldHIgVXplbF0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVzZWxlc3MgaW5pdGlhbGl6YXRpb24gb2YgY2xlYW51cF9zb2NrZXQgIFtQZXRyIFV6ZWxdCisgICAtIHVzZSBVVUlERF9PUF9HRVRQSUQgaW5zdGVhZCBvZiBtYWdpYyBudW1iZXIgIFtQZXRyIFV6ZWxdCisgICAtIHVzZSBjb25maWd1cmVkIHJ1biBzdGF0ZSBkaXJlY3RvcnkgaW4gbWFudWFsIGV0YyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgaWdub3JlX3Jlc3VsdCBoZWxwZXIgIFtQZXRyIFV6ZWxdCisgICAtIHVzZSBvdXRwdXQgcmVkaXJlY3Rpb24gd2hpY2ggd29ya3MgW2NoZWNrYmFzaGlzbXNdICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBydW4gY29uZmlndXJlZCBzdGF0ZSBkaXJlY3RvcnkgIFtTYW1pIEtlcm9sYV0KK3ZpcHc6CisgICAtIGFkZCBub3JldHVybiBmdW5jdGlvbiBhdHRyaWJ1dGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB2aW0gd3JpdGViYWNrdXAgbW9kZSB3b3JrICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBycG1hdGNoIHRvIHllcy9ubyBxdWVzdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeG1rc3RlbXAoKSBhbmQgbGNrcHdkZigpICBbU2FtaSBLZXJvbGFdCit3YWxsOgorICAgLSB1c2UgeG1rc3RlbXAgZm9yIHRlbXBvcmFyeSBmaWxlICBbU2FtaSBLZXJvbGFdCit3ZGN0bDoKKyAgIC0gYWRkICItLXNldHRpbWVvdXQiIHRvIHNldCB0aGUgdGltZW91dCAgW0hhcmFsZCBIb3llcl0KKyAgIC0gYWRkIC0tZmxhZ3Mtb25seSBhbmQgb3B0aW9uYWwgY29sdW1uIERFVklDRSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tb25lbGluZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgd2F0Y2hkb2cgc3RhdHVzIHRvb2wgIFtMZW5uYXJ0IFBvZXR0ZXJpbmddCisgICAtIGFsaWduIHdpdGggb3RoZXIgdXRpbC1saW51eCBjb21tYW5kcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGxvdyB0byBzcGVjaWZ5IG1vcmUgdGhhbiBvbmUgZGV2aWNlICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0IG1hbnVhbCBzZWN0aW9uIHJlZmVyZW5jZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29uZmxpY3RpbmcgdHlwZXMgb24gb2xkIHN5c3RlbXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB0aW1lb3V0cyBvdXRwdXQgbW9yZSBwYXJzYWJsZSAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSB0byB1c2UgbGliL3R0ICBbS2FyZWwgWmFrXQorICAgLSB0aW55IGNoYW5nZSB0byBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXhjbHVzaXZlX29wdGlvbigpICBbU2FtaSBLZXJvbGFdCit3aGVyZWlzOgorICAgLSBjbGVhbnVwIG1hbiBwYWdlLCBhZGQgbm90ZSBhYm91dCAkUEFUSCAgW0thcmVsIFpha10KKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbiAgW0thcmVsIFpha10KK3dpcGVmczoKKyAgIC0gRml4IG1pc21hdGNoIGlmIG1vcmUgLW8gb3B0aW9ucyB1c2VkLiAgW01pbGFuIEJyb3pdCisgICAtIGFkZCBxdWlldCBmbGFnICgtcSkgIFtNaWxhbiBCcm96XQorICAgLSBhbHdheXMgcHJpbnQgZGV2bmFtZSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBtb3JlIGRldmljZSBhcmd1bWVudHMgZm9yIHdpcGVmcyAgW01pbGFuIEJyb3pdCisgICAtIHVzZSBlcnJfZXhjbHVzaXZlX29wdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGV4Y2x1c2l2ZV9vcHRpb24oKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RydG9zaXplX29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3ltYm9saWMgdmFsdWUgZm9yIG1hcmt1cCBtb2RlICBbU2FtaSBLZXJvbGFdCit3cml0ZToKKyAgIC0gRG9uJ3QgZXhwbGljaXRseSBpbmNsdWRlIDxhc20vcGFyYW0uaD4uICBbVGhvbWFzIFNjaHdpbmdlXQorICAgLSBVc2UgUEFUSF9NQVggaW5zdGVhZCBvZiBNQVhQQVRITEVOLCBhcyBlbHNld2hlcmUuICBbVGhvbWFzIFNjaHdpbmdlXQoreGFsbG9jOgorICAgLSB1c2UgeGFzcHJpbnRmIGluIGFsbCBmaWxlcyAgW1NhbWkgS2Vyb2xhXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMy1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIzLVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTI2Yzc5Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMy1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSwxMTcyIEBACitVdGlsLWxpbnV4IDIuMjMgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIGNyeXB0b2xvb3Agc3VwcG9ydCBpbiB0aGUgY29tbWFuZHMgbW91bnQoOCkgYW5kIGxvc2V0dXAoOCkgaGFzIGJlZW4KK1JFTU9WRUQuIFRoZSBlbmNyeXB0aW9uPSBtb3VudCBvcHRpb24gYW5kIC1lLC1FLC0tZW5jcnlwdGlvbiBsb3NldHVwIG9wdGlvbnMKK2FyZSBubyBtb3JlIHN1cHBvcnRlZC4KKworVGhlIGNvbW1hbmQgYXJjaCgxKSBoYXMgYmVlbiBSRU1PVkVEIGZyb20gdXRpbC1saW51eCBpbiBmYXZvdXIgb2YgY29yZXV0aWxzCit2ZXJzaW9uLgorCitUaGUgY29tbWFuZCBjaGtkdXBleGUgaGFzIGJlZW4gUkVNT1ZFRCBmcm9tIHV0aWwtbGludXguCisKK1RoZSBjb21tYW5kIGRkYXRlIGhhcyBiZWVuIFJFTU9WRUQgZnJvbSB1dGlsLWxpbnV4LiAgWW91IGNhbiBmaW5kIGl0IGhlcmU6CitodHRwczovL2dpdGh1Yi5jb20vYm8wdHMvZGRhdGUKKworVGhlIGxpYnJhcnkgbGliYmxraWQgc3VwcG9ydHMgTElCQkxLSURfREVCVUc9PG1hc2s+IGVudmlyb25tZW50IHZhcmlhYmxlIHRvCitwcmludCBkZWJ1ZyBtZXNzYWdlcyBvbiBzdGRlcnIuIFRoZSBvbGQgQkxLSURfREVCVUc9IGlzIG5vIG1vcmUgc3VwcG9ydGVkLgorCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCituc2VudGVyKDEpOgorICAtIHRoaXMgTkVXIENPTU1BTkQgcHJvdmlkZXMgY29tbWFuZCBsaW5lIGludGVyZmFjZSB0byBzZXRucygpIExpbnV4IHN5c2NhbGwgCisgICAgYW5kIGFsbG93cyB0byBydW4gcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzCisKK3Vuc2hhcmUoMSk6CisgIC0gc3VwcG9ydHMgbmV3IFBJRCBhbmQgVVNFUiBuYW1lc3BhY2VzCisKK2ZkaXNrKDgpOgorICAtIHByb3ZpZGVzIGV4cGVyaW1lbnRhbCBzdXBwb3J0IGZvciBHVUlEIFBhcnRpdGlvbiBUYWJsZSAoR1BUKSwgdGhlCisgICAgaW1wbGVtZW50YXRpb24gaXMgc3RpbGwgbm90IGNvbXBsZXRlIGFuZCBzb21lICh1bmltcG9ydGFudCkgZmVhdHVyZXMgYXJlIG1pc3NpbmcuCisKKyAgLSB+NTAlIG9mIGZkaXNrIGNvZGUgaGFzIGJlZW4gcmVmYWN0b3JlZCwgdGhpcyB0YXNrIGlzIGdvaW5nIHRvIGJlIGNvbXBsZXRlIAorICAgIGluIHRoZSBuZXh0IHJlbGVhc2UuIFRoZSBnb2FsIGlzIHRvIGhhdmUgbGliZmRpc2sgc2hhcmVkIGJldHdlZW4gYWxsIGZkaXNrcy4KKworcGFydHgoOCk6CisgIC0gc3VwcG9ydHMgbmV3ICJ1cGRhdGUiIGNvbW1hbmQgKGltcGxlbWVudGVkIGJ5IEJMS1BHX1JFU0laRV9QQVJUSVRJT04gaW9jdGwpCisKK21vdW50KDgpOgorICAtIHN1cHBvcnRzIG5ldyB1c2Vyc3BhY2UgbW91bnQgb3B0aW9uIHgtbW91bnQubWtkaXJbPTxtb2RlPl0gdG8gY3JlYXRlIAorICAgIG1vdW50cG9pbnRzIG9uIGRlbWFuZAorCisgIC0gdGhlIHN1cHBvcnQgZm9yIHByb3BhZ2F0aW9uIGZsYWdzIGhhcyBiZWVuIGltcHJvdmVkLCBub3cgdGhlIGZsYWdzIGNvdWxkIGJlCisgICAgc3BlY2lmaWVkIGluIC9ldGMvZnN0YWIgYW5kIHVzZWQgdG9nZXRoZXIgd2l0aCByZWd1bGFyIG1vdW50IG9wdGlvbnMuIEl0J3MKKyAgICBhbHNvIHBvc3NpYmxlIHRvIHNwZWNpZnkgbW9yZSBwcm9wYWdhdGlvbiBmbGFncyB0b2dldGhlci4gVGhpcyBFWFBFUklNRU5UQUwgCisgICAgZmVhdHVyZSBpcyBpbXBsZW1lbnRlZCBieSBhZGRpdGlvbmFsIG1vdW50KDIpIHN5c2NhbGxzLCBiZWNhdXNlIExpbnV4IGRvZXMKKyAgICBub3QgYWxsb3cgdG8gdXNlIHByb3BhZ2F0aW9uIGZsYWdzIHdpdGggYW5vdGhlciBvcHRpb25zIG9yIG1vcmUgZmxhZ3MgCisgICAgdG9nZXRoZXIuCisKK3Vtb3VudCg4KToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXJlY3Vyc2l2ZSB0byByZWN1cnNpdmVseSB1bm1vdW50CisgICAgYWxsIHN1Yi1tb3VudHMgZm9yIHRoZSBzcGVjaWZpZWQgbW91bnRwb2ludAorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tYWxsLXRhcmdldHMgdG8gdW5tb3VudCBhbGwgbW91bnRwb2ludHMgaW4KKyAgICB0aGUgY3VycmVudCBuYW1lc3BhY2UgZm9yIHRoZSBzcGVjaWZpZWQgZmlsZXN5c3RlbQorICAtIHRoZSBvcHRpb25zIC0tcmVjdXJzaXZlIGFuZCAtLWFsbC10YXJnZXRzIGNvdWxkIGJlIHVzZWQgdG9nZXRoZXIKKworZG1lc2coMSk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb25zIC0tY29sb3IsIC0taHVtYW4gYW5kIC0tbm9wYWdlciwgdGhlCisgICAgLS1odW1hbiBvcHRpb24gZW5hYmxlcyByZWxhdGl2ZSB0aW1lcywgY29sb3JzIGFuZCBwYWdlciBzdXBwb3J0LgorCitzdSgxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbnMgLS1ncm91cCBhbmQgLS1zdXBwLWdyb3VwIHRvIHNwZWNpZnkKKyAgICBwcmltYXJ5IGFuZCBzdXBwbGVtZW50YXJ5IGdyb3VwcworCitjaGZuKDEpIGFuZCBjaHNoKDEpOgorICAtIHRoZSBjb21tYW5kcyBjb3VsZCBiZSBsaW5rZWQgd2l0aCBsaWJ1c2VyIHRvIHN1cHBvcnQgbm9uLWxvY2FsCisgICAgYWNjb3VudHMgbW9kaWZpY2F0aW9uIChlLmcuIExEQVAsIGV0YykuCisKK2tpbGwoMSk6CisgIC0gdGhlIGNvbW1hbmQgaGFzIGJlZW4gaW1wcm92ZWQgdG8gYmUgY29tcGF0aWJsZSB3aXRoIHByb2NwcyB2ZXJzaW9uLCB0aGUKKyAgICBwcm9jcHMgdmVyc2lvbiBpcyBkZXByZWNhdGVkIG5vdywgdGhlIHV0aWwtbGludXggdmVyc2lvbiBpcyBlbmFibGVkIGJ5CisgICAgZGVmYXVsdC4KKworYmxrZGlzY2FyZCg4KToKKyAgLSB0aGlzIE5FVyBDT01NQU5EIGRpc2NhcmQgc2VjdG9ycyBvbiBhIGRldmljZSAoZm9yIGV4YW1wbGUgb24gU1NEIGRpc2tzKQorCitzdWxvZ2luKDgpOgorICAtIHByb3ZpZGVzIG11bHRpLWNvbnNvbGUgZmVhdHVyZSBmcm9tIFN5c1Zpbml0CisKK2ZpbmRtbnQoOCk6CisgIC0gcHJvdmlkZXMgbmV3IGNvbHVtbnMgRlJFUSwgUEFTU05PLCBJRCwgT1BULUZJRUxEUywgUFJPUEFHQVRJT04KKworbHNsb2Nrcyg4KToKKyAgLSBwcm92aWRlcyBuZXcgY29sdW1uIEJMT0NLRVIgYW5kIGRldGVjdHMgYmxvY2tlZCBsb2NrcworCitsc2Jsayg4KToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXNjc2kgYW5kIG5ldyBjb2x1bW5zIEhDVEwsIFRSQU5zcG9ydAorICAgIFZFTkRPUiBhbmQgUkVWaXNpb24KKworc3dhcG9uKDgpIGFuZCBsb3NldHVwKDgpOgorICAtIHRoZSBjb21tYW5kcyBwcmludHMgYmFzaWMgb3ZlcnZpZXcgYnkgZGVmYXVsdCBpZiBubyBvcHRpb24gc3BlY2lmaWVkCisKK2NvbHVtbigxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLW91dHB1dC1zZXBhcmF0b3IgdG8gc3BlY2lmeSB0YWJsZSAKKyAgICBvdXRwdXQgZGVsaW1pdGVyCisKK3JlbmFtZSgxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXN5bWxpbmsgdG8gcmVuYW1lIHN5bWxpbmsgdGFyZ2V0CisKK2h3Y2xvY2soOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gLS1jb21wYXJlIHRvIHBlcmlvZGljYWxseSBjb21wYXJlIAorICAgIHRoZSBIYXJkd2FyZSBDbG9jayB0byB0aGUgU3lzdGVtIFRpbWUgKGJhc2VkIG9uIGFkanRpbWV4IC1jKQorCitpcGNzKDEpOgorICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAtLWJ5dGVzIGFuZCAtLWh1bWFuCisKK3dpcGVmcygxKToKKyAgLSBzdXBwb3J0cyBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLWZvcmNlIHRvIGZvcmNlIGVyYXNlIG9uIHVzZWQgZGV2aWNlcworCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjIyIGFuZCB2Mi4yMworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yMi4xIFsxMC1PY3QtMjAxMl0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMi92Mi4yMi4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMi92Mi4yMi4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjIuMiBbMTMtRGVjLTIwMTJdCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjIvdjIuMjIuMi1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjIvdjIuMjIuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMjIgYW5kIHYyLjIzCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMy8KKworYWdldHR5OgorICAgLSBhZGQgLS1jaHJvb3QgdG8gdXNhZ2UoKSBhbmQgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXtlcmFzZSxraWxsfS1jaGFycyBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLUUsIC0tcmVtb3RlIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBcNCBhbmQgXDYgaXNzdWUgZmlsZSBzZXF1ZW5jZXMgdG8gcHJpbnQgSVAgYWRkcmVzc2VzICBbS2FyZWwgWmFrXQorICAgLSBmaXggYXV0b2RldGVjdGlvbiBmb3IgVEVSTSAgW01pY2hhbCBTY2htaWR0XQorICAgLSBtYWtlIC0tYXV0b2xvZ2luIHVzZWZ1bCB3aXRoIC0tc2tpcC1sb2dpbiAocHJvbXB0KSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBcezQsNn0gaXNzdWUgZmlsZSBjb2RlIG1vcmUgcm9idXN0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1c2FnZSgpIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcHJvcGVybHkgcGx1cmFsaXplIHRoZSByZXBvcnRpbmcgb2YgdGhlIG51bWJlciBvZiB1c2VycyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1vdmUgQCBhbmQgIyBhcyBkZWZhdWx0IGtpbGwgYW5kIGVyYXNlIGNoYXJzICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIGdldGhvc3RieW5hbWUoKSB3aXRoIGdldGFkZHJpbmZvKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwbGFjZSBwZXJtcyA2NjAgdG8gNjIwICBbS2FyZWwgWmFrXQorICAgLSBzdG9wIHVzaW5nIE1BWEhPU1ROQU1FTEVOICBbS2FyZWwgWmFrXQorICAgLSB0aGUgY29tbWFuZCBkb2VzIG5vdCBoYXZlIC1oIGFuZCAtViBvcHRpb25zICBbU2FtaSBLZXJvbGFdCithcmNoOgorICAgLSByZW1vdmUgdGhlIGNvbW1hbmQsIGRlcHJlY2F0ZWQgc2luY2UgMi4xMywgdXNlIGNvcmV1dGlscyB2ZXJzaW9uICBbS2FyZWwgWmFrXQorYmFzaC1jb21wbGV0aW9uOgorICAgLSBBdm9pZCBzb21lIHVubmVjZXNzYXJ5IHN1YnNoZWxscy4gIFtWaWxsZSBTa3l0dMOkXQorICAgLSBEb24ndCBvZmZlciBhbnkgbW9yZSBjb21wbGV0aW9ucyBhZnRlciBoZWxwIG9yIHZlcnNpb24uICBbVmlsbGUgU2t5dHTDpF0KKyAgIC0gRG9uJ3Qgb2ZmZXIgc2hvcnQgb3B0aW9ucyB3aGVyZSBjb3JyZXNwb25kaW5nIGxvbmcgb25lIGV4aXN0cy4gIFtWaWxsZSBTa3l0dMOkXQorICAgLSBTeW1saW5rIHJ1bnVzZXIgc3ltbGluayB0byBzdSBzbyBpdCBnZXRzIGxvYWRlZCBvbiBkZW1hbmQuICBbVmlsbGUgU2t5dHTDpF0KKyAgIC0gYWRkIGJhc2ggY29tcGxldGlvbiBjb25maWd1cmUgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBjb21wbGV0aW9uIGZpbGVzIHRvIE1ha2VmaWxlLmFtICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzd2Fwb2ZmICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZGlzay11dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmZGlza3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbG9naW4tdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWlzYy11dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW5hbWUgc2hlbGwtY29tcGxldGlvbiAtPiBiYXNoLWNvbXBsZXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHNjaGVkdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2V0YXJjaCAgdXNlIGNvcnJlY3QgbGlzdCBmb3IgYXJjaGl0ZWN0dXJlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzd2Fwb24gIGFkZCBvcHRpb25zIGFuZCBmaXggYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3lzLXV0aWxzICBbU2FtaSBLZXJvbGFdCisgICAtIHRlcm0tdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdGV4dC11dGlscyAgW1NhbWkgS2Vyb2xhXQorYmxrZGlzY2FyZDoKKyAgIC0gYWRkIG5ldyBjb21tYW5kICBbTHVrYXMgQ3plcm5lcl0KK2Jsa2lkOgorICAgLSBhbHNvIGFjY2VwdCAtViBmb3IgZGlzcGxheWluZyB2ZXJzaW9uIGluZm9ybWF0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGRvY3VtZW50IExJQkJMS0lEX0RFQlVHIHVzZXJzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggZG91YmxlIGZyZWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFuIHBhZ2UgbWVzcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIE9fQ0xPRVhFQyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyBldmVyeXdoZXJlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgeGFsbG9jLmggd2hlbiBwb3NzaWJsZSAgW1NhbWkgS2Vyb2xhXQorYnVpbGQtc3lzOgorICAgLSBBZGQgZmxhZyBmb3IgZW5hYmxpbmcvZGlzYWJsaW5nIGxpYnVzZXIgc3VwcG9ydC4gIFtDb2R5IE1hbG9uZXldCisgICAtIGFkZCAtLWRpc2FibGUtYmFzaC1jb21wbGV0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLWJmcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS1jeXR1bmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtZmRmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtaHdjbG9jayAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS13ZGN0bCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS17bW9yZSx1bCxwZ30gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhbm90aGVyIGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY29uZmlnLWdlbi5kIHN0dWZmIGZvciBjaHNoLWNoZm4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb25maWd1cmUgc3VtbWFyeSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRldmVsLW5vbi1kb2NzIGNvbXBpbGUgcHJvZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGV4ZWNfc2hlbGwuaCB0byBkaXN0cmlidXRpb24gIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBhZGQgZmlsZXMgdG8gZGlzdHJpYnV0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBnY292IGZpbGVzIHRvIC5naXRpZ25vcmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5hbWVzcGFjZS5oIHRvIGRpc3RyaWJ1dGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbnNlbnRlciB0byBnaXRpZ25vcmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHBhY2thZ2UgdXJsIHRvIEFDX0lOSVQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgZm9yIHNlY3VyaXR5X2dldF9pbml0aWFsX2NvbnRleHQoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXBkYXRlLXBvdGZpbGVzIHNjcmlwdCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCAtLWVuYWJsZS1tb3N0LWJ1aWxkcyBsaXN0ICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgY3B1X3NldF90IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgbGlicyBmcm9tIHBrZy1jb25maWcgZnJvbSBsaWJ1c2VyICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgbmVzdGVkIEJVSUxEXyogIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLWxvY2Fsc3RhdGVkaXIgaGV1cmlzdGljcyAgW0thcmVsIFpha10KKyAgIC0gZml4IFVMX1JFUVVJUkVTX0hBVkUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub24tbGludXggYnVpbGQgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGZpeCBuc2VudGVyIHJlcXVpcmVtZW50cyAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBjaGtkdXBleGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW5mb3JtIGd0ay1kb2MgYWJvdXQgX191bF9hdHRyaWJ1dGVfXyAgW0thcmVsIFpha10KKyAgIC0gaW5zdGFsbCBzdS4xIGlmIGJ1aWxkaW5nIHN1ICBbRGF2ZSBSZWlzbmVyXQorICAgLSBpbnZlcnQgZmxhZyBmb3Igc3Vsb2dpbiBlbWVyZ2VuY3kgbW91bnQgIFtEYXZlIFJlaXNuZXJdCisgICAtIGtlZXAgbGlidXNlciBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gbHNsb2NrcyBkZXBlbmRzIG9uIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHdhbGwgb3B0aW9uYWwgaW4gYmFzaC1jb21wbGV0aW9uICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHJ1bnVzZXIoMSkgdG8gc2JpbiBkaXIgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjMtcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yMy1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgLS1lbmFibGUtZ3RrLWRvYyBmcm9tIG1ha2UgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBjb25zb2xlcy5oICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2V0aG9zdGJ5bmFtZSgpIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBzdGF0aWMgZnJvbSBjb25maWctZ2VuLmQve2RldmVsLGFsbH0uY29uZiAgW0thcmVsIFpha10KKyAgIC0gc2V0IGRlcGVuZGVuY2UgZmRpc2sgLT4gbGliZmRpc2sgLT4gbGlidXVpZCAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgdXNybGliX2V4ZWNkaXIgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbGlzdCBvZiB2YXJpYWJsZXMgZm9yIFVMX1JFUVVJUkVTX0hBVkUgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIHRlc3QgZm9yIHNlY3VyZV9nZXRlbnYoKSB0b28uICBbQ3Jpc3RpYW4gUm9kcsOtZ3Vlel0KKyAgIC0gdXNlICdjaGVjaycgZm9yIGFsbCB1dGlscyB3aXRoIGRlcGVuZGVuY2llcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIEFDX0NPTVBJTEVfSUZFTFNFICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBBQ19VU0VfU1lTVEVNX0VYVEVOU0lPTlMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYmNvbW1vbi5hIGZvciBsc2xvY2tzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcGtnLWNvbmZpZyBmb3Igc2VsaW51eCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBrZy1jb25maWcgcmVzdWx0cyBmb3IgbGlidXNlciAgW0thcmVsIFpha10KK2NhbDoKKyAgIC0gZG9uJ3QgbWl4IG5jdXJzZXMgb3V0cHV0IGZ1bmN0aW9ucyBhbmQgcHJpbnRmKCkgIFtLYXJlbCBaYWtdCitjaGZuOgorICAgLSBBZGQgbGlidXNlciBzdXBwb3J0ICBbQ29keSBNYWxvbmV5XQorICAgLSBhbHdheXMgdXNlIHJldHVybiByYXRoZXIgdGhhbiBleGl0KCkgaW4gbWFpbiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZXhpdCBzdGF0dXMgIFtLYXJlbCBaYWtdCitjaGtkdXBleGU6CisgICAtIHJlbW92ZSwgZGVwcmVjYXRlZCBmb3IgeWVhcnMgIFtLYXJlbCBaYWtdCitjaHJ0OgorICAgLSBtYWtlIGNvbW1hbmQgc3ludGF4IGVhc2llciB0byB1bmRlcnN0YW5kIGluIHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KK2Noc2g6CisgICAtIEFkZCBsaWJ1c2VyIHN1cHBvcnQgIFtDb2R5IE1hbG9uZXldCisgICAtIHVzZSByZXR1cm4gcmF0aGVyIHRoYW4gZXhpdCBpbiBtYWluLCBjbGVhbiB1cCBtYW4gcGFnZSAgW0thcmVsIFpha10KK2Noc2gtY2hmbjoKKyAgIC0gTW92ZSBwYW0gYXV0aCB0byBpdHMgb3duIGZ1bmN0aW9uLCBmYWN0b3Jpbmcgb3V0IGNvbW1vbiBjb2RlICBbQ29keSBNYWxvbmV5XQorICAgLSBmaXggYnVncywgaW1wcm92ZSBjb21waWxhdGlvbiAgW0thcmVsIFpha10KK2NvbDoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1Xc3RyaWN0LXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorY29sdW1uOgorICAgLSBhZGQgLS1vdXRwdXQtc2VwYXJhdG9yIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGFyaWZ5IHRoZSAtLXNlcGFyYXRvciBvcHRpb24gIFtQw6FkcmFpZyBCcmFkeV0KKyAgIC0gZGVzY3JpYmUgY2hhbmdlIG9mIHNlcGFyYXRvciBiZWhhdmlvciBpbiBtYW4gcGFnZSBidWdzIHNlY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBkZWZpbmVkIHNlcGFyYXRvciB0byBiZSBub24tZ3JlZWR5ICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCitkZGF0ZToKKyAgIC0gcmVtb3ZlIGZyb20gdXRpbC1saW51eCAgW1NhbWkgS2Vyb2xhXQorZG1lc2c6CisgICAtIEFkZCBhIC0tY29sb3Igb3B0aW9uIHRvIGNvbG9yaXplIGVycm9yIGFuZCBwYW5pYyBtZXNzYWdlcyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCAtLWh1bWFuICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYm91bmRhcnkgY2hlY2sgdG8gZmFjaWxpdHkgJiBsZXZlbCBhcnJheSB1c2FnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29uc29sZS1sZXZlbCBvZmYtYnktb25lICBbQmrDuHJuIE1vcmtdCisgICAtIGZpeCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNhZ2UoKSBvdXRwdXQgY29uc2lzdGFuY3kgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB1c2FnZSgpIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWlub3IgY2xlYW51cCBvZiBFWENMX3h4eF9FUlIgbWFjcm9zICBbQW5kcmlpIEJvcmR1bm92XQorICAgLSBtb3JlIGNvbG9ycywgbW9yZSBmdW4gIFtLYXJlbCBaYWtdCisgICAtIHBhcnNlIGxldmVsIHdoZW4gLS1jb2xvciBpcyB1c2VkICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSAkUEFHRVIgZm9yIC0taHVtYW4gb3V0cHV0LCBhZGQgLS1ub3BhZ2VyICBbS2FyZWwgWmFrXQorZG9jOgorICAgLSByZW1vdmUgaW5jb3JyZWN0IHNwYWNlcyBmcm9tIGxzY3B1IHN5bm9wc2lzIGluIG1hbnBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2RvY3M6CisgICAtIGFkZCBBVkFJTEFCSUxJVFkgc2VjdGlvbiB0byBpc29zaXplIG1hbiBwYWdlLCBhbmQgdHdlYWsgd29yZGluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgZnNjay5jcmFtZnMgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxpbmUgYnJlYWtzIHRvIHdoZXJlaXMuMSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbGlzdCBvZiBleHBlY3RlZCBQQU0gY29uZmlnIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIGFuZCB0aWR5IHVwIGtpbGwuMSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbWlzc2luZyBleGl0IHZhbHVlIHRvIGZzY2subWluaXgoOCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1pc3NpbmcgaW5mb3JtYXRpb24gYWJvdXQgLW8gKzxsaXN0PiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1rZnMuY3JhbWZzIG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBub3RlIGFib3V0IC9ldGMvcGFtLmQvc3UtbCB0byBSZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IC92YXIvbGliL2h3Y2xvY2sgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1KDEpIGJ0bXAgbG9nZ2luZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIFRCIHRvIGxpc3Qgb2Ygc3VwcG9ydGVkIHN1ZmZpeGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdjIuMjMtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgd2lwZWZzIGZlYXR1cmUgcmVxdWVzdCB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhbGlnbiBibGtkaXNjYXJkLjggd2l0aCBob3ctdG8tbWFuLXBhZ2UudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIG5zZW50ZXIuMSBtYW4gcGFnZSB3aXRoIGhvd3RvLW1hbi1wYWdlLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhcmNoIGlzIGdvbmUsIHVzZSBkZWxwYXJ0IGFzIHVzYWdlKCkgZnVuY3Rpb24gZXhhbXBsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBBVVRIT1JTLCBORVdTICBVVEYtOCBmaXhlcy4gIFtWaWxsZSBTa3l0dMOkXQorICAgLSBBVVRIT1JTICByZW1vdmUgZm91ciBkdXBsaWNhdGUgZW50cmllcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjbGVhbnVwIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGNvbC4xICBmaXggbWFudWFsIHBhZ2UgbmFtZSBzZWN0aW9uIFtjaGVja21hbnMuc2hdICBbU2FtaSBLZXJvbGFdCisgICAtIGRkYXRlIHJlbW92YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbHVtbi4xIGdyb2ZmIHN5bnRheCBlcnJvciAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggcHJsaW1pdCB0eXBvICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZ2VuZXJpYyB3aGVyZWlzLjEgY2xlYW4gdXAgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBncmFtbWFyIGFuZCBmb3JtYXR0aW5nIG9mIGV4cGxhbmF0aW9uIG9mICItbyArbGlzdCIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIGJsa2lkIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgd29yZGluZywgZm9ybWF0dGluZyBhbmQgYWNjdXJhY3kgb2YgaXBjcyBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHdvcmRpbmcsIGdyYW1tYXIgYW5kIGZvcm1hdHRpbmcgb2YgbHNibGsgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSB0aGUgc2VjdGlvbiBBVkFJTEFCSUxJVFkgYWx3YXlzIGNvbWUgbGFzdCBpbiBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFyayBvbGQgbG9zZXR1cCBvdXRwdXQgZm9ybWF0IGFzIERFUFJFQ0FURUQgIFtLYXJlbCBaYWtdCisgICAtIG1lbnRpb24gT3BlbiBHcm91cCByZXF1aXJlbWVudHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiB3aGF0IE9wZW4gR3JvdXAgaGFzIG1hcmtlZCBsZWdhY3kgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWtzd2FwLjggIHJlY29tbWVuZCBmYWxsb2NhdGUoMSkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW91bnQuOCAgbWFrZSBwcm9wYWdhdGlvbiBmbGFncyBhZGp1c3RhYmxlIFtjaGVja21hbnMuc2hdICBbU2FtaSBLZXJvbGFdCisgICAtIE5FV1MgIGFkZCBzb21lIG1pc3NpbmcgYWNjZW50cywgc2luY2UgdGhpcyBpcyBub3cgVVRGLTggIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbm9ybWFsaXplIGZvcm1hdHRpbmcgb2YgZmluZG1udCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBub3JtYWxpemUgZm9ybWF0dGluZyBvZiBsc2xvY2tzIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG5vcm1hbGl6ZSBmb3JtYXR0aW5nIG9mIHdpcGVmcyBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1vdmUgZGVhZCBsaW5rICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBod2Nsb2NrIC0tY29tcGFyZSBmcm9tIFRPRE8gIFtCaWxsIFBlbWJlcnRvbl0KKyAgIC0gcmVtb3ZlIHJlcGVhdGVkIHdvcmRzIFtjaGVja21hbnMuc2hdICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSByZXBlYXRlZCB3b3JkcyAgW0thcmVsIFpha10KKyAgIC0gc29ydCB0aGUgb3B0aW9ucyBpbiBmaW5kbW50IG1hbiBwYWdlIGFscGhhYmV0aWNhbGx5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN3YXBvbi44IG9wdGlvbiBuYW1lIGZpeCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1bW91bnQuOCBzeW50YXggZml4LiAgW1ZpbGxlIFNreXR0w6RdCisgICAtIHVwYWR0ZSB2Mi4yMy1SZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBkZXByZWNhdGVkIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBkZXByZWNhdGVkLnR4dCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjIzLVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHllYXIgIFtLYXJlbCBaYWtdCisgICAtIHVzYWdlIGZ1bmN0aW9uIGFuZCBnZXR0ZXh0ICBbU2FtaSBLZXJvbGFdCitlamVjdDoKKyAgIC0gcmVtb3ZlIGEgZHVwbGljYXRlIGNvbW1hbmQgbmFtZSBmcm9tIGVycm9yIG1lc3NhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcm9idXN0IHN0cmluZ3MgdXNhZ2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorZmRpc2s6CisgICAtIChhaXgpIHJlbW92ZSB1bnV1c2VkIHZhcmlhYmxlICdwYXJ0aXRpb25zJyAgW0thcmVsIFpha10KKyAgIC0gKGJkcykgdXNlIG5lc3RlZCBwYXJ0aXRpb24gdGFibGUgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGFkZCBwYXJ0aXRpb25zIGNvdW50ZXJzICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSBzdXBwb3J0IG5vbi1uZXN0ZWQgdmVyc2lvbiB0b28gIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGtpbGwgJ3BhcnRpdGlvbnMnIGdsb2JhbCB2YXJpYWJsZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbW92ZSAnbW92ZSBiZWdpbicgY29kZSB0byBmZGlza2Rvc2xhYmUuYyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbW92ZSAndG9nZ2xlIGFjdGl2ZScgY29kZSB0byBmZGlza2Rvc2xhYmUuYyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbW92ZSBkb3Mgc3BlY2lmaWMgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbW92ZSBkb3NfbGlzdF90YWJsZV9leHBlcnQoKSB0byBmZGlza2Rvc2xhYmUuYyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbW92ZSBmaXggb3JkZXIgY29kZSB0byBmZGlza2Rvc2xhYmUuYyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbW92ZSBsaXN0IHRhYmxlIGNvZGUgdG8gZmRpc2tkb3NsYWJlLmMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHVzZSBuZXcgZGlhbG9nIHRvIGFzayBmb3IgcHJpbS4gcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgYWxpZ24gbmV3bHkgY3JlYXRlZCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBjaGVjayBpZiB0aGUgIkZpcnN0IHNlY3RvciIgaXMgdW51c2VkICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBjaGVjayBwYXJ0aXRpb25zIGFsaWdubWVudCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBmaXgge2xhc3QsZmlyc3R9X3VzYWJsZV9sYmEgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHJlbW92ZSBnbG9iYWwgdmFyaWFibGVzLCBjbGVhbnVwIGhlYWRlciB2ZXJpZmljYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHVzZSBmZGlza197d2Fybix3YXJ4LGluZm99IGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgdXNlIHRvcG9sb2d5IHRvIGRlZmluZSBGaXJzdFVzYWJsZUxCQSAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgIHVzZSBhc2sgQVBJLCByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSBjbGVhbnVwIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSByZW1vdmUgZGVhZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlICdwYXJ0aXRpb25zJyAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgcmVtb3ZlIG5hc3R5IHN1bmxhYmVsIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSBzaGFyZSBkaXNrIGxhYmVsIHN0cnVjdCB3aXRoIGxpYmJsa2lkICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSB1c2UgQXNrIEFQSSBmb3IgbmV3LXBhcnRpdG9uIGRpYWxvZyAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgdXNlIGNwdV90b19iZSogbWFjcm9zLCByZW1vdmUgb3RoZXJfZW5kaWFuIGdsb2JhbCB2YXJpYWJsZSAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgdXNlIGZkaXNrXyBwcmVmaXggZm9yIGxhYmVsIHNwZWNpZmljIHB1YmxpYyBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIHVzZSBmZGlza197aW5mbyx3YXJueH0gIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIHVzZSB5ZXMvbm8gZnJvbSBsaWJmZGlzayAgW0thcmVsIFpha10KKyAgIC0gYWRkICdHJyB0byBjcmVhdGUgU0dJIGxhYmVsIHRvIHRoZSBtYWluIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBBQXJjaDY0IHN1cHBvcnQgIFtNYXJjaW4gSnVzemtpZXdpY3pdCisgICAtIGFkZCBHUFQgc3VwcG9ydCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYWRkIGNhbGxhY2tzIGZvciBpbmZvLCB3YXJuIGFuZCB3YXJueCBBc2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2FsbGJhY2sgZm9yIGFzay1udW1iZXJzIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX2dldF9wYXJ0aXRpb25fdHlwZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfc2V0X3BhcnRpdGlvbl90eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgZnVuY3Rpb25zIGZvciB3b3JrIHdpdGggZmRpc2tfcGFydHR5cGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciB0aGUgWHRlbnNhIGFyY2hpdGVjdHVyZSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgemVybyBhcyBkZWZhdWx0IG9mZnNldC9zaXplICBbS2FyZWwgWmFrXQorICAgLSBhcGkgIGltcHJvdmUgc29tZSBjb21tZW50cyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYXBpICBtb3ZlIGRpc2tsYWJlbCB0eXBlIHRvIGN4dCAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gYXBpICBwcm9wYWdhdGUgYWRkIHBhcnRpdGlvbnMgdG8gdXNlcnMgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGFwaSAgcHJvcGFnYXRlIHBhcnRpdGlvbiBkZWxldGlvbiB0byB1c2VycyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gY2xlYW51cCBkZWJ1ZyBtZXNzYWdlcyBhbmQgY29tbWVudHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgcGFydGl0aW9uIHN0YXJ0L2VuZCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY29ycmVjdGx5IGluaXRpYWxpemUgcG9pbnRlciB0byBzdW4gbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBnZXQgYW5kIHJlYWQgb3BlcmF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBmYWlscyBzaWxlbnRseSBpZiBFQlIgaXMgb3V0c2lkZSBvZiBkaXNrICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBvZmZlciBHUFQgc3R1ZmYgaW4gQlNEIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3BvaW50ZXItYXJpdGhdIGFuZCBmbG9hdGluZyBwb2ludCBleGNlcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsaXN0IHR5cGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2VnZmF1bHQgd2hlbiBwcmludGluZyBncHQgcmF3IGRhdGEgIFtEYXZpZGxvaHIgQnVlc29dCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBncHQgIGNoZWNrIGhlYWRlciBzaXplICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBncHQgIHVzZSBzd2FwX2VmaV9ndWlkIGZvciBuZXcgcGFydGl0aW9ucyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZ3B0ICB3cml0ZSBlbnRpcmUgZmlyc3Qgc2VjdG9yICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBpbXByb3ZlIE1CUiBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbGlzdCBwYXJ0aXRpb24gdHlwZXMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgRE9TIHVuaXRzIHN0dWZmIHRvIGZkaXNrZG9zbGFiZWwuYyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBwYXJ0aXRpb24gdHlwZXMgdG8gbGFiZWwgc3BlY2lmaWMgcGFydCAgW0thcmVsIFpha10KKyAgIC0gbm8gbW9yZSBBSVggInN1cHBvcnQiICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgY29tbWEgZnJvbSBhc2sgbnVtYmVyIGRpYWxvZyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGNyYXBweSBidWdzIHNlY3Rpb24gZnJvbSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBjb2RlIChhbHJlYWR5IGluIGxpYmZkaXNrKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGZkaXNrX2xhYmVsIGZyb20gQVBJIGZ1bmN0aW9ucywgYWRkIGFzc2VydHMsIHVzZSBzaXplX3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBnbG9iYWwgdW5pdCB2YXJpYWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBnbG9iYWwgdmFyaWFibGUgc2VjdG9yX29mZnNldCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVud2FudGVkIG9wZXJhdG9yIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHJlcG9ydCBQVCB0eXBlLCBpbmZvcm0gYWJvdXQgbmV3IEdQVCAgW0thcmVsIFpha10KKyAgIC0gc29ydCBtZW51ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgQkxLU1NaR0VUIGFzIGRlZmF1bHQgZm9yIGlvLWxpbWl0cyByYXRoZXIgdGhhbiBoYXJkY29kZWQgbGltaXQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjb21tYSBpbiB0aGUgYXNrLXBhcnRpdGlvbi1udW1iZXIgZGlhbG9nIChhZ2FpbikgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBkZWJ1ZyBzdHVmZiBmcm9tIGxpYmZkaXNrICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmRpc2tfYXNrX3BhcnRudW0oKSBldmVyeXdoZXJlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmRpc2tfcGFydHR5cGUgIGluIGFkZF9wYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJmZGlzayBsYWJlbC0+Y2hhbmdlZCAgW0thcmVsIFpha10KKyAgIC0gemVyb3NpemUgRUJSIGJ1ZmZlciAgW0thcmVsIFpha10KK2ZkaXNrczoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCitmaW5kbW50OgorICAgLSBhZGQgRlJFUSBhbmQgUEFTU05PIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBJRCBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBPUFQtRklFTERTIGNvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIFBST1BBR0FUSU9OIGNvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gcmVhZCAoUEFSVClVVUlEL0xBQkVMIGZyb20gdWRldiBEQiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2FyZSBhYm91dCB4YXNwcmludGYoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gZnNyb290IC0+IG5vZnNyb290ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIC0tdGFyZ2V0IHVzYWJsZSB3aXRoIGJpbmQgbW91bnRzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHVzYWdlKCkgdHJhbnNsYXRvciBmcmllbmRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgdHJlZSBvdXRwdXQgaW4gbW9yZSBjYXNlcyAgW0thcmVsIFpha10KK2Zsb2NrOgorICAgLSBpbXByb3ZlIHVzYWdlIHN0cmluZ3MgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gcG9zc2libGUgcG9pbnRlciBkZXJlZmVyZW5jZXMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSB1c2UgaW5jbHVkZS90aW1lci5oICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RydG90aW1ldmFsKCkgZnJvbSBsaWJjb21tb24gIFtLYXJlbCBaYWtdCitmc2NrOgorICAgLSBhZGQgIi0tIiB0byB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgZmlsZSBkZXNjcmlwdG9yIGZvciAtQyBhcyBvcHRpb25hbCBpbiBoZWxwIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2ZzY2suY3JhbWZzOgorICAgLSBhZGQgZHVtbXkgLWEgLXkgZm9yIGNvbXBhdGliaWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHJldHVybnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjb21waWxlIHdpdGggLURJTkNMVURFX0ZTX1RFU1RTIGZvciBtYWtlIGNoZWNrICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdwb2ludGVyLWFyaXRoXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorZnNmcmVlemU6CisgICAtIGFkZCBub3RlIGFib3V0IGF0aW1lIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIGNvbGxpc2lvbiBiZXR3ZWVuIG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHVzYWdlKCksIGFkZCAtViAgW0thcmVsIFpha10KKyAgIC0gdGVsbCB1c2VyIHdoZW4gbWFuZGF0b3J5IG9wdGlvbiBpcyBub3Qgc3BlY2lmaWVkICBbU2FtaSBLZXJvbGFdCitmc3RyaW06CisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSAid2VyZSIgZnJvbSB2ZXJib3NlIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBodW1hbiByZWFkYWJsZSBzaXplcyBpbiB2ZXJib3NlIG91dHB1dCAgW0thcmVsIFpha10KK2dldG9wdDoKKyAgIC0gZml4IG5vcm1hbGl6ZSgpIHVzYWdlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHVzYWdlKCkgdHlwbyB1bnF1b3RlIC0+IHVucXVvdGVkICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHRoZSBjb2RlIG1vcmUgcmVhZGFibGUgZm9yIGFuYWx5c2VycyAgW0thcmVsIFpha10KK2dwdDoKKyAgIC0gY3JlYXRlIGVtcHR5IGRpc2tsYWJlbHMgIFtEYXZpZGxvaHIgQnVlc29dCitoZXhkdW1wOgorICAgLSBkbyBub3Qgc2VnZmF1bHQgd2hlbiBpdGVyYXRpbmcgb3ZlciBhbiBlbXB0eSBmb3JtYXQgc3RyaW5nICBbT25kcmVqIE9wcmFsYV0KK2h3Y2xvY2s6CisgICAtIGFkZCBhIG5ldyAtLWNvbXBhcmUgb3B0aW9uICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIHRoZSAtLWNvbXBhcmUgb3B0aW9uIHRvIHRoZSBtYW4gcGFnZSAgW0JpbGwgUGVtYmVydG9uXQorICAgLSBjbGVhbnVwIF8oKSB1c2FnZSBpbiBzeW5jaHJvbml6ZV90b19jbG9ja190aWNrX3J0YygpICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjb25mdXNlIHVzZXJzIHdpdGggc2VsZWN0KCkgdGltZW91dCB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB3YXJwIHRoZSBzeXN0ZW10aW1lIGlmIHRoZSBSVEMgaXMgaW4gVVRDICBbVG9tIEd1bmRlcnNlbl0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGh3Y2xvY2sgbGVhcC1zZWNvbmQtYXdhcmUgIFtKb3NlcGggUGFybWVsZWVdCisgICAtIG1ha2UgdXNhZ2UoKSBjaGFuZ2UgdHJhbnNsYXRvciBmcmllbmRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSB3YWl0IHRpbWUgaW4gaHdjbG9jayBpcyBub3QgbG9uZyBlbm91Z2ggZm9yIHNvbWUgQVJNIGRldmljZXMgIFtLYXJlbCBaYWtdCitpbmNsdWRlOgorICAgLSBhZGQgbWlzc2luZyB2YWx1ZXMgdG8gc3lzZnNfY3h0IGluaXRpYWxpemVyIGRlZmluaXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHRpbWVyLmggIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY29weXJpZ2h0IGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBTWVNfe3Vuc2hhcmUsbnNlbnRlcn0gdXNhZ2UgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2JpdG9wdHM6CisgICAtIFVzZSB0aGUgb3BlcmF0aW5nIHN5c3RlbSBieXRlc3dhcHBpbmcgZnVuY3Rpb25zICBbS2FyZWwgWmFrLCBDcmlzdGlhbiBSb2Ryw61ndWV6XQoraW5jbHVkZS9jOgorICAgLSBhZGQgZ2V0X2hvc3RuYW1lX21heCgpIGlubGluZSBmdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbWFjcm8gVUxfQ0xPRVhFQ1NUUiAgW0thcmVsIFpha10KKyAgIC0gbW92ZSB1c2xlZXAoKSBmYWxsYmFjayB0byBjLmggIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBNQVhIT1NUTkFNRUxFTiBtYWNybyAgW0thcmVsIFpha10KK2luY2x1ZGUvZW52OgorICAgLSB1bmlmeSBpbmRlbnRhdGlvbiAgW1NhbWkgS2Vyb2xhXQoraW5jbHVkZS9maWxldXRpbHM6CisgICAtIHVzZSBPX0NMT0VYRUMgZm9yIG1rdGVtcCBzdHVmZiAgW0thcmVsIFpha10KK2luY2x1ZGUvbGlzdDoKKyAgIC0gYWRkIGxpc3RfbGFzdF9lbnRyeSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdW5kZWZpbmVkIGJlaGF2aW9yIGluIGxpc3RfZW50cnkoKSBtYWNybyAgW1NhbWkgTGllZGVzXQoraW5jbHVkZS9vcHR1dGlsczoKKyAgIC0gbWFrZSBjb2xsaXNpb25zIGRldGVjdGlvbiBiZXR3ZWVuIG9wdGlvbnMgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCitpbmNsdWRlL3BhdGhuYW1lczoKKyAgIC0gcmVuYW1lIF9QQVRIX0FESlBBVEggdG8gX1BBVEhfQURKVElNRSAgW0thcmVsIFpha10KK2luY2x1ZGUvc3lzZnM6CisgICAtIGFkZCBTQ1NJIGhvc3QgY2hhbm5lbCB0YXJnZXQgbHVuIHN1cHBvcnQgIFtLYXJlbCBaYWtdCitpbmNsdWRlL3RpbWVyOgorICAgLSByZXR1cm4gc2V0aXRpbWVyIHJldHVybiB2YWx1ZSAgW0thcmVsIFpha10KK2luY2x1ZGUvdHR5dXRpbHM6CisgICAtIGFkZCBkZWZhdWx0IGNoYXJkYXRhICBbV2VybmVyIEZpbmtdCitpbmNsdWRlL3hhbGxvYzoKKyAgIC0gYWRkIHhnZXRob3N0bmFtZSgpICBbS2FyZWwgWmFrXQoraW5sdWRlL3B0LXN1bjoKKyAgIC0gYWRkIGZsYWdzIGFuZCB0YWdzICBbS2FyZWwgWmFrXQoraW9uaWNlOgorICAgLSBrZWVwIG91dHB1dCBiYWNrd2FyZGx5IGNvbXBhdGlibGUgIFtLYXJlbCBaYWtdCitpcGNtazoKKyAgIC0gdXNlIHJhbmRvbV9nZXRfYnl0ZXMoKSB0byBnZW5lcmF0ZSBJUEMga2V5cyAgW0thcmVsIFpha10KK2lwY3JtOgorICAgLSBhdm9pZCAndW5pbml0aWFsaXplZCcgd2FybmluZyAgW0Jlcm5oYXJkIFZvZWxrZXJdCitpcGNzOgorICAgLSBhZGQgLS1ieXRlcyBzaXplIG91dHB1dCBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC0taHVtYW4gcmVhZGFibGUgc2l6ZSBjb252ZXJzaW9uIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgL3Byb2MgYW5kIC9zeXMgcGF0aCBkZWZpbml0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhc3Npc3QgZGVidWdnaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIGRvX21zZygpLCBhbmQgYWRkIGlwY19tc2dfZ2V0X2luZm8oKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBkb19zZW0oKSwgYW5kIGFkZCBpcGNfc2VtX2dldF9pbmZvKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgZG9fc2htKCkgIFtLYXJlbCBaYWtdCisgICAtIGRldGVybWluZSBpcGMgbGltaXRzIGZyb20gL3Byb2MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgW2NsYW5nIC1XdW5pbml0aWFsaXplZF0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncywgdXNlIDY0Yml0IHRpbWUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpcGNfc2htX2dldF9pbmZvKCksIHVzZSBjYWxsb2MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzcGFjaW5nIGluIHN1bW1hcnkgb3V0cHV0ICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgLS1odW1hbiByZWFsbHkgc2V4eSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBpbmRpdmlkdWFsIG1lc3NhZ2UgcXVldWUgaWQgcHJpbnRpbmcgdG8gdXNlIC9wcm9jICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgaW5kaXZpZHVhbCBzZW1hcGhvcmUgaWQgcHJpbnRpbmcgdG8gdXNlIC9wcm9jICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgaW5kaXZpZHVhbCBzaGFyZWQgbWVtb3J5IGlkIHByaW50aW5nIHRvIHVzZSAvcHJvYyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWFkIHNoYXJlZCBtZW1vcnkgdmFsdWVzIGZyb20gL3Byb2MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHByaW50X3Blcm1zKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwb3J0IGFuIGVycm9yIHdoZW4gLWkgaXMgdXNlZCB3aXRoIG11bHRpcGxlIHJlc291cmNlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQoraXNvc2l6ZToKKyAgIC0gZml4IHVzYWdlKCkgLWggb3B0aW9uIHByaW50IG91dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbmZvcm0gaWYgZmlsZSBkb2VzIG5vdCBsb29rIGxpa2UgaXNvIGZpbGUgc3lzdGVtICBbU2FtaSBLZXJvbGFdCitraWxsOgorICAgLSBhZGQgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBub3RlIGFib3V0IHRocmVhZHMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcHJldHR5IHByaW50ZWQgbGlzdCBvdXRwdXQgKGZvciBjb21wYXRpYmlsaXR5IHdpdGggcHJvY3BzKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGlnbiB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC0tbGlzdD08c2lnbmFsPiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdGllcyBhbmQgZXhpdCB2YWx1ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIG5ldyBBUEkgZnJvbSBsaWIvcHJvY3V0aWxzLmMgIFtLYXJlbCBaYWtdCitraWxsLCBwcm9jczoKKyAgIC0gdXNlIHBpZF90IGZvciBwaWRzICBbU2FtaSBLZXJvbGFdCitsYXN0OgorICAgLSBzdG9wIHVzaWcgTUFYSE9TVE5BTUVMRU4gIFtLYXJlbCBaYWtdCitsaWI6CisgICAtIHVzZSBPX0NMT0VYRUMgaW4gbGliY29tbW9uICBbS2FyZWwgWmFrXQorbGliL2Nhbm9uaWNhbGl6ZToKKyAgIC0gYWRkIGNhbm9uaWNhbGl6ZV9wYXRoX3Jlc3RyaWN0ZWQoKSB0byBjYW5vbmljYWxpemUgd2l0aG91dCBzdWlkIHBlcm1pc3NzaW9ucyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIC9kZXYvbWFwcGVyLzxuYW1lPiBpZiB0aGUgbm9kZSBkb2VzIG5vdCBleGlzdCAgW0thcmVsIFpha10KK2xpYi9jb2xvcjoKKyAgIC0gYWRkIG1vZHVsZSBmb3Igd29yayB3aXRoIHRlcm1pbmFsIGNvbG9ycyAgW09uZHJlaiBPcHJhbGFdCitsaWIvY29uc29sYXM6CisgICAtIHJlbW92ZSBnbG9iYWwgdmFyaWFibGUgY29uY291bnQsIGZpeCBsaW5rZWQgbGlzdCAgW0thcmVsIFpha10KK2xpYi9jb25zb2xlOgorICAgLSBmaXggcG9zc2libGUgZmQgbGVhayAgW0thcmVsIFpha10KK2xpYi9jb25zb2xlczoKKyAgIC0gL3Byb2MvY29uc29sZXMgY29kZSByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gVElPQ0dERVYgY29kZSByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvZGUgdG8gZGV0ZWN0IGFsbCBzeXN0ZW0gY29uc29sZXMgIFtXZXJuZXIgRmlua10KKyAgIC0gYWRkIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGVzdCBwcm9ncmFtICBbS2FyZWwgWmFrXQorICAgLSBjbWRsaW5lIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNhbGwgcGVycm9yKCkgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNsZWFuIHVwcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZSBjb21wYXJlZGV2ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlIGNvbnNvbGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlIGluaXRjcCAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgY2xlYW51cCAgW0thcmVsIFpha10KKyAgIC0gc3lzZnMgY29kZSByZWZhY3RvcmluZyAgW0thcmVsIFpha10KKyAgIC0gdHJ5IGFub3RoZXIgbWV0aG9kcyBiZWZvcmUgZ28gdG8gZmFsbGJhY2sgIFtLYXJlbCBaYWtdCitsaWIvaXNtb3VudGVkOgorICAgLSBiYXNpYyBzdXBwb3J0IGZvciBsb29wIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbG9vcGRldiBzdXBwb3J0ICBbS2FyZWwgWmFrXQorbGliL2xvb3BkZXY6CisgICAtIGNoZWNrIGZvciAvc3lzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbG9vcGRldl9maW5kX2J5X2JhY2tpbmdfZmlsZSgpICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGxvb3BjeHRfZ2V0X2RldmljZSgpIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorbGliL21ic2FsaWduOgorICAgLSBjb3JyZWN0IGxpY2Vuc2UgaGVhZGVyIGZyb20gR1BMdlsyM10gdG8gTEdQTHYyKyAgW1DDoWRyYWlnIEJyYWR5XQorbGliL3BhZ2VyOgorICAgLSByb2J1c3Qgd29yayB3aXRoIGZpbGUgZGVzY3JpcHRvcnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliL3BhdGg6CisgICAtIGFkZCBwYXRoX3JlYWRfdTY0KCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBmdW5jdGlvbnMgdG8gYmUgbW9yZSBleHBsaWNpdCAgW0thcmVsIFpha10KK2xpYi9wcm9jdXRpbHM6CisgICAtIGFkZCBzaW1wbGUgQVBJIHRvIHNjYW4gL3Byb2MvUElELyogIFtLYXJlbCBaYWtdCisgICAtIHRlc3QgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCitsaWIvc3RydXRpbHM6CisgICAtIGFkZCBzdHJ0b3RpbWV2YWxfb3JfZXJyKCkgIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IHN0cnRvc2l6ZSgpLCByZXR1cm4gaW5mbyBhYm91dCBzdWZmaXggIFtLYXJlbCBaYWtdCitsaWIvc3lzZnM6CisgICAtIGFkZCBTQ1NJIGxpbmsgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb25zIGZvciBTQ1NJIGhvc3QgYXR0cmlidXRlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHN5c2ZzX2Rldm5hbWVfdG9fZGV2bm8gZm9yIGRtIHBhcnRpdGlvbnMgIFtQZXRlciBSYWpub2hhXQorICAgLSBtb3JlIHJvYnVzdCBzeXNmc19vcGVuZGlyKCkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliL3R0OgorICAgLSBkb24ndCBpZ25vcmUgImV4dHJlbWUiIGNvbHVtbnMgaWYgYW4gZnJlZSBzcGFjZSBpcyBhdmFpbGFibGUgIFtLYXJlbCBaYWtdCitsaWIvdHR5OgorICAgLSBkb24ndCB0cnVuY2F0ZSBvdXRwdXQgb24gbm9uLXRlcm1pbmFscyAgW0thcmVsIFpha10KK2xpYi90dHl1dGlsczoKKyAgIC0gYWRkIGdldF90ZXJtaW5hbF9uYW1lKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IHByb2dyYW0gIFtLYXJlbCBaYWtdCisgICAtIGNyZWF0ZSAuYyBmaWxlICBbS2FyZWwgWmFrXQorbGliL3hhbGxvYzoKKyAgIC0gYWRkIHhzdHJuZHVwKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtYW1vcnkgbGVhayBpbiB4Z2V0aG9zdG5hbWUoKSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitsaWJibGtpZDoKKyAgIC0gKGdwdCkgZG9uJ3QgbW9kaWZ5IGluIG1lbW9yeSBidWZmZXJzICBbS2FyZWwgWmFrXQorICAgLSAodWRmKSBmaXggcG9zc2libGUgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gRG9uJ3Qga2VlcCByZWFkaW5nIHNhbWUgc2VjdG9yIG9mIElTTyAgW1plZXNoYW4gQWxpIChLaGF0dGFrKV0KKyAgIC0gRXhwb3NlIG1vcmUgSVNPOTY2MCBoZWFkZXJzICBbWmVlc2hhbiBBbGkgKEtoYXR0YWspXQorICAgLSBQcm9iZSBVREYgdm9sdW1lcyBmb3IgSVNPOTY2MCBpbmZvIGFzIHdlbGwgIFtaZWVzaGFuIEFsaSAoS2hhdHRhayldCisgICAtIGFkZCBGbGFzaC1GcmllbmRseSBGaWxlIFN5c3RlbSAoZjJmcykgc3VwcG9ydCAgW0FsZWphbmRybyBNYXJ0aW5leiBSdWl6XQorICAgLSBhZGQgYmxraWRfcHJvYmVfc3RlcF9iYWNrIHRvIGRvY3VtZW50YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtpZF9wcm9iZV9zdGVwX2JhY2soKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRlYnVnIG1lc3NhZ2VzIGZvciAiaWRtYWciIHN0dWZmIGFuZCBidHJmcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgdG8gcHJpdmF0ZSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbiBhdHRyaWJ1dGVzIHRvIHB1YmxpYyBBUEkgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgbWlzc2luZyBsZTE2X3RvX2NwdSB0byBzaWwgcmFpZCBwcm9iZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIHByb21pc2UgcmFpZCBtZXRhZGF0YSBsb2NhdGlvbnMgIFtQaGlsbGlwIFN1c2ldCisgICAtIGFkZCBzdXBwb3J0IGZvciBidHJmcyBiYWNrdXAgc3VwZXJibG9jayAgW0dvZmZyZWRvIEJhcm9uY2VsbGldCisgICAtIGFyY2ggaW5kZXBlbmRlbnQgbWluaXggZGV0ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBmY2htb2QoKSByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBta2RpcigvcnVuL2Jsa2lkKSByZXR1cm4gY29kZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHJldHVybnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBEQkcoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgYXJndW1lbnRzIGNoZWNrcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBibGtpZF9zdHJjb25jYXQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbm9ubnVsbCBhdHRyaWJ1dGUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGV4cG9ydCBibGtpZF9pbml0X2RlYnVnKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBEQkcoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IE5URlMgcHJvYmVyIG9uIGJpZy1lbmRpYW4gbWFjaGluZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBaRlMgc3VwZXJibG9rIG9mZnNldCBmb3IgU0JNQUdJQyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1Xc3RyaWN0LWFsaWFzaW5nXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvcHlyaWdodCBub3RpY2VkIHRvIGJlIGNvbnNpc3RlbnQgKHNvIGFsbCBhcmUgTEdQTCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkb2NzIGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzaWxpY29uIHJhaWQgY2hlY2tzdW0gY29kZSBvbiBCRSAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIG5lc3RlZCBCU0QgcGFydGl0aW9ucyBpZiBzYW1lIGxpa2UgcGFyZW50ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIERCRygpIG1hY3JvICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIFNpbGljb24gUkFJRCBwcm9iZXIgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdGVzdF9ibGtpZF9kZXZubywgZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XdW51c2VkLXJlc3VsdF0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgYmFja3VwIHN1cGVyYmxvY2sgdmlzaWJsZSBmb3Igd2lwZWZzKDgpIG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoKSB1c2FibGUgb24gd2hvbGUtZGlzayAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBidHJmcyBtYWdpY3MgbW9yZSByZWFkYWJsZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzd2FwIGRldGVjdGlvbiBhcmNoIGluZGVwZW5kZW50ICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHN1biBQVCBkZWZpbml0aW9uIHRvIGluY2x1ZGUvICBbS2FyZWwgWmFrXQorICAgLSBudW1iZXIgb2YgZnVuY3Rpb25zIHNob3VsZCBub3QgYmUgZGVjbGFyZWQgZXh0ZXJuIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmUtcmVhZCBQQVJUe1VVSUQsTEFCRUx9IGZvciBzdWNjZXNzZnVsbHkgdmVyaWZpZWQgY2FjaGVkIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlYWQgd2hvbGUgYnVmZmVyIGZvciBpc29fdm9sdW1lX2Rlc2NyaXB0b3IgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBibGtpZF97c3RybmR1cCxzdHJkdXB9ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIHRhZ3MgZnJvbSBjYWNoZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9wdGltaXphdGlvbiBmcm9tIHZlcmlmeSggZnVucnRpb24gIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBpbiBzdW5fZGlza2xhYmVsIGZvciBjb21wYXRpYmlsaXR5IHdpdGggZmRpc2sgIFtLYXJlbCBaYWtdCisgICAtIHJldHVybiBkaXNrIElEL1VVSUQgYnkgUFQgYmluYXJ5IGludGVyZmFjZSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBMSUJCTEtJRF9ERUJVRz0gb25seSAgW0thcmVsIFpha10KKyAgIC0gdWJpZnMgaXMgTEUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBPX0NMT0VYRUMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjb3JyZWN0IGJsb2NrIHNpemUgZm9yIFVERiBwcm9iZSAgW1phY2hhcnkgQ2F0bGluXQorICAgLSB1c2UgbW9yZSByb2J1c3QgY29kZSBpbiBzaWxpY29uX3JhaWQgY2hlY2tzdW0gcHJvYmVyICBbS2FyZWwgWmFrXQorbGliZmRpc2s6CisgICAtIChncHQpIGZpeCBFRkkgVVVJRCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IGNvbXBpbGVyIHdhcm5pbmdzIFstV2Zvcm1hdF0gIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCB2YWxpZF9wbWJyKCkgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGludHJvZHVjZSBkcml2ZXIgaW5kZXBlbmRlbnQgcGFydGl0aW9ucyBjb3VudGVycyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgbW92ZSBjb2RlIGZyb20gZmRpc2sgdG8gbGliZmRpc2sgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHJtZW92ZSB4YWxsb2MgY2FsbHMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHVzZSBsZTY0X3RvX2NwdSgpIGZvciBhbHRlcm5hdGl2ZSBMQkEgY2hlY2tzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgImFzayIgaW50ZXJmYWNlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgRkRJU0tfTEFCRUxfRkxfQUREUEFSVF9OT1BBUlROTyAgW0thcmVsIFpha10KKyAgIC0gYWRkIFllcy9ObyB0byBBc2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYWxpZ25tZW50IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBiYXNpYyBsaWJyYXJ5IGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmFzaWMgc3RydWN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbnRleHQgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGlza19wYXJ0aXRpb25faXNfdXNlZCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfbGFiZWwgdG8gZHJpdmVyIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX25ld19jb250ZXh0KCksIHJldXNlIGNvbnRleHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19wYXJ0aXRpb25fdG9nZ2xlX2ZsYWcoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3Jlc2V0X2FsaWdubWVudCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmlyc3RzZWN0b3IgdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBnZW5lcmljIGxhYmVsIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBpbmZvIGFib3V0IGRpc3BsYXkgdW5pdHMgdG8gY29udGV4dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGluZm8sIHdhcm4gYW5kIHdhbnggQXNrIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxhYmVsLT5jaGFuZ2VkIGZsYWcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXJ0X2dldF9zdGF0dXMgb3BlcmF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydHR5cGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHByb2JpbmcgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdHVmZiBmb3IgdW5pdCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIG5lc3RlZCBjb250ZXh0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRvcG9sb2d5IGFuZCBnZW9tZXRyeSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB3cmFwcGVyIHRvIGFzayBmb3IgbnVtYmVycyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmV0dXJucyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZmRpc2tfZ2V0X3BhcnRpdGlvbl90eXBlKCkgcmV0dXJucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB0aGUgcmVzdCBvZiBmZGlza3MvdXRpbHMuYyBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kICJhc2siIEFQSSwgYWRkIHN1cHBvcnQgZm9yIG9mZnNldHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBncHQgc3RhdHVzLCBkb24ndCB1c2UgeGNhbGxvYygpIGluIGxpYnJhcnkgIFtLYXJlbCBaYWtdCisgICAtIGdwdCAgcmVtb3ZlIGxlZnRvdmVyIGNvbW1lbnRzICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBpbXByb3ZlIGZkaXNrX2Fza19wYXJ0bnVtKCkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbGFiZWwgZGVpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0ga2lsbCBkb3NfY29tcGF0aWJsZV9mbGFnIGdsb2JhbCB2YXJpYWJsZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBsYWJlbCBpZGVudGlmaWVyIHRvIGxhYmVsIHN0cnVjdCAgW0thcmVsIFpha10KKyAgIC0gc3BsaXQgbGFiZWwgYW5kIGxhYmVsIG9wZXJhdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBPX0NMT0VYRUMgIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gYWRkIGRlYnVnIG1lc3NhZ2UgdG8gZ3Vlc3MgRlMgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbiBhdHRyaWJ1dGVzIHRvIHByaXZhdGUgQVBJICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgdG8gcHVibGljIEFQSSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBtaXNzaW5nIE1OVF9FUlJfQU1CSUZTICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X2ZzX2dldF9wcm9wYWdhdGlvbigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcHJpdmF0ZSBtbnRfZ2V0X2tlcm5lbF9jbWRsaW5lX29wdGlvbigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdmVyc2lvbiBhbmQgZmVhdHVyZXMgdG8gZGVidWcgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byB1c2UgcHJvcGFnYXRpb24gZmxhZ3MgaW4gZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIGFwcGVuZCBsb29wIG9wdGlvbiB3aGVuIGF1dG9tYXRpY2FsbHkgY3JlYXRlIGxvb3BkZXYgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGVuZGxlc3MgbG9vcCBpbiBtbnRfZ2V0X2tlcm5lbF9jbWRsaW5lX29wdGlvbiAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGNsZWFuIG5vbm51bGwgYXR0cmlidXRlIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCAvZGV2L3Jvb3QgZnJvbSBtb3VudGluZm8gdG8gdGhlIGRldmljZSBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0bHkgaW50ZXJwcmV0ICcqJyBmcm9tIC9ldGMvZmlsZXN5c3RlbXMgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3RseSBwcm9wYWdhdGUgYW1iaXZhbGVudCBibGtpZCBwcm9iaW5nIHJlc3VsdHMgIFtLYXJlbCBaYWtdCisgICAtIGRldGFjaCBsb29wZGV2IG9uIHVtb3VudCBpZiBsb29wIG9wdGlvbiBpbiBtdGFiICBbS2FyZWwgWmFrXQorICAgLSBkb2N1bWVudCBMSUJNT1VOVF9ERUJVRyB1c2VycyAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gZG9uJ3QgcHJlcGFyZSB1cGRhdGUgZm9yIGVtcHR5IG10YWIvdXRhYiBvbiB1bW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJlbW92ZSB1c2VyPSB3aGVuIGV4ZWN1dGVkIGJ5IHJvb3QgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJlc2V0IE5PU1dBUE1BVENIIGNvbnRleHQgZmxhZyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc2V0dXAgbmV3IGxvb3BkZXYgb24gcmVtb3VudCB3aXRoIHJlZ3VsYXIgbXRhYiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdHJ5IHRvIHBsYXkgd2l0aCBsb29wZGV2cyBpZiB1bW91bnQgYXJndW1lbnQgaXMgcmVhbGx5IG1vdW50cG9pbnQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBzYWZlX2dldGVudigpIGZvciB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgdW1vdW50IG9wdGltaXphdGlvbiBmb3IgLWwgb3IgLWYgIFtLYXJlbCBaYWtdCisgICAtIGV4cG9ydCB1bW91bnQgbW91bnRwb2ludCBsb29rIHVwIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBfX21udF9jYWNoZV9maW5kX3RhZ192YWx1ZSgpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IF9fbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKCkgbm9udWxsIGF0dHJpYnV0ZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIG1lbSBsZWFrICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQubmZzIHNlZ2ZhdWx0LCByZWx5IG9uIGFzc2VydCgpIHJhdGhlciB0aGFuIG9uIG5vbm51bGwgIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZWdyZXNzaW9uIHRlc3QgaGVscGVyICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZml4IHN1cHBvcnQgb2YgY29tbWEtc2VwYXJhdGVkIGZzIHR5cGVzIGxpc3RzICBbR2xlYiBGb3RlbmdhdWVyLU1hbGlub3Zza2l5XQorICAgLSBmaXggdHlwb3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1bW91bnQgZmlsZS5pbWcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1c2VyLW1vdW50IGJ5IHJvb3QgZm9yIG1vdW50Ljx0eXBlPiBoZWxwZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXhlZCBjb21tZW50IGFib3V0IHBhcmFtICBbUmF1bCBHdXRpZXJyZXogU2VnYWxlc10KKyAgIC0gaWdub3JlIG5hbWU9dmFsdWUgaWYgb25seSAnbmFtZScgaXMgZXhwZWN0ZWQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBtbnRfdGFibGVfZ2V0X3Jvb3RfZnMoKSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBrZWVwIE1TX1BST1BBR0FUSU9OIGZsYWdzIGluIG1udF9jb250ZXh0X3NldF9tZmxhZ3MoKSByZXN1bHQgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZGVidWcgc3R1ZmYgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbGlibW91bnQuaCBjb25zaXN0ZW50IHdpdGggY29kZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBta3N0ZW1wKCkgbW9yZSByb2J1c3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIG1udF90YWJsZV9maW5kXyogbW9yZSByb2J1c3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIHJvYnVzdCB0YWIgZmlsdGVyIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBvcHRpbWl6ZSBtdGFiIGFuZCB1dGFiIHBhcnNpbmcgaW4gdW1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBvcHRpbWl6ZSB0YWIgZmlsZXMgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gcmVhZCBvcHRpb25hbCBtb3VudGluZm8gZmllbGRzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gc2VnZmF1bHRzIGlmIG5laXRoZXIgL2V0Yy9maWxlc3lzdGVtcyBub3IvcHJvYy9maWxlc3lzdGVtcyBleGlzdHMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbG9vcGRldnMgaW4gbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQoKSAgW0thcmVsIFpha10KKyAgIC0gdGFncyBkb2VzIG5vdCBzdGFydCB3aXRoICcvJyAgW0thcmVsIFpha10KKyAgIC0gdGlueSByZWZhY3RvcmluZyBpbiBtbnRfdGFibGVfaXNfZnNfbW91bnRlZCgpICBbS2FyZWwgWmFrXQorICAgLSB1bW91bnQgY3Jhc2hlcyB3aGVuIHRyeWluZyB0byB1bW91bnQgYSBub24tbW91bnRwb2ludCAgW0thcmVsIFpha10KKyAgIC0gdXNlIE9fQ0xPRVhFQyAgW0thcmVsIFpha10KKyAgIC0gdXNlIE9fQ0xPRVhFQyBldmVyeXdoZXJlICBbS2FyZWwgWmFrXQorICAgLSB1c2VyLW1vdW50ZWQgbG9vcGJhY2sgZnMgY2Fubm90IGJlIHVubW91bnRlZCBieSB1c2VyICBbS2FyZWwgWmFrXQorbGlibW91bnQsIGNvbDoKKyAgIC0gcmVtb3ZlIHJlZHVuZGFudCBudWxsIGNoZWNrcyBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCitsaWJtb3VudCwgZWplY3Q6CisgICAtIHJlcGxhY2UgaW5kZXgoKSBhbmQgcmluZGV4KCkgd2l0aCBzdHJyY2goKSBvciBzdHJyY2hyKCkgIFtTYW1pIEtlcm9sYV0KK2xpYnV1aWQ6CisgICAtIHVzZSBPX0NMT0VYRUMgIFtLYXJlbCBaYWtdCitsb2dnZXI6CisgICAtIGFsbG93IHRvIGxvZyB1c2luZyB0Y3AgdHJhbnNwb3J0IHByb3RvY29sICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgbG9jYWwgc29ja2V0cyB0byB0cnkgYm90aCBzdHJlYW0gYW5kIGRhdGFncmFtICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2Ugc29ja2V0IGluaXRpYWxpemF0aW9uIGluIG1haW4oKSBtb3JlIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIGdldGhvc3RieW5hbWUoKSB3aXRoIGdldGFkZHJpbmZvKCkgIFtTYW1pIEtlcm9sYV0KK2xvZ2luOgorICAgLSBjaGVjayBsYXN0bG9nIGxzZWVrIHJldHVybiBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmV0dXJucyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VudXNlZC1yZXN1bHRdICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZmlsZSBkZXNjcmlwdG9yIGxlYWsgW2NwcGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXVzZSBERUFEX1BST0NFU1MgdXRtcCBlbnRyaWVzICBbS2FyZWwgWmFrXQorICAgLSBzdG9wIHVzaW5nIE1BWEhPU1ROQU1FTEVOICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZ2V0X3Rlcm1pbmFsX25hbWUoKSBmcm9tIHR0eXV0aWxzLmMgIFtLYXJlbCBaYWtdCitsb29wZGV2OgorICAgLSBzeW5jIGNhcGFjaXR5IGFmdGVyIHNldHRpbmcgaXQgIFtKZWZmIE1haG9uZXldCitsb3NldHVwOgorICAgLSBhZGQgLS1saXN0IGFuZCAtLW91dHB1dCBvcHRpb24gIFtPbmRyZWogT3ByYWxhXQorICAgLSBhbGxvdyAtaiBvcHRpb24gYXJndW1lbnQgdG8gYmUgcmVsYXRpdmUgcGF0aCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGxvdyB0byB1c2UgLU8gd2l0aG91dCAtLWxpc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWNsYXJhdGlvbnMgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHVzYWdlKCkgdHJhbnNsYXRvciBmcmllbmRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW5hbWUgU0laRS0+U0laRUxJTUlUICBbS2FyZWwgWmFrXQorbHNibGs6CisgICAtIEFkZCAtLXNjc2kgc3dpdGNoICBbTWlsYW4gQnJvel0KKyAgIC0gQWRkIHJldmlzaW9uIGNvbHVtbiAgW01pbGFuIEJyb3pdCisgICAtIEFkZCB2ZW5kb3IgY29sdW1uICBbTWlsYW4gQnJvel0KKyAgIC0gQWRkIHdyaXRlLXNhbWUgYXR0cmlidXRlIHRvIHRvcG9sb2d5IGluZm8gIFtNaWxhbiBCcm96XQorICAgLSBhZGQgLS1wYXRocyAgW0thcmVsIFpha10KKyAgIC0gYWRkIFNDU0kgSCBDIFQgTCBhdHRyaWJ1dGUgIFtNaWxhbiBCcm96XQorICAgLSBhZGQgU0NTSSB0cmFuc3BvcnQgdHlwZSBhdHRyaWJ1dGUgIFtNaWxhbiBCcm96XQorICAgLSBhZGQgVFJBTnNwb3J0IHRvIC0tc2NzaSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhZGRfcmFuZG9tIGNvbHVtbnMgIFtNaWxhbiBCcm96XQorICAgLSBhZGQgcGFyZW50IGtlcm5lbCBuYW1lIGNvbHVtbiAgW01pbGFuIEJyb3pdCisgICAtIGNoZWNrIHJldHVybnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYXJlIGFib3V0IHhhc3ByaW50ZigpIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpZ25vcmUgZGlzayBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhbmQgdXBkYXRlIG1hbiBwYWdlIGFib3V0IC0tc2NzaSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvcHkgJiBwYXN0IGJ1ZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGhjdGwgYnVmZmVyIHVzYWdlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHByb2Nlc3Npbmcgb2YgZG0gcGFydGl0aW9uIG1hcHBpbmdzICBbUGV0ZXIgUmFqbm9oYV0KKyAgIC0gZml4IHJlcG9ydGluZyBvZiAncGFydCcgdHlwZSAgW1BldGVyIFJham5vaGFdCisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlc3VzZSB1ZGV2IGhhbmRsZXIgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuZXcgc3lzZnMgZnVuY3Rpb25zLCBjbGVhbiB1cCBnZXRfdHJhbnNwb3J0KCkgIFtLYXJlbCBaYWtdCitsc2NwdToKKyAgIC0gRml4IGlzc3VlIGZvdW5kIG9uIENQVSBob3QtcmVtb3ZlICBbVG9zaGkgS2FuaV0KKyAgIC0gYWRkIE1vZGVsIG5hbWUgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3QgdGhlIGRlc2NyaXB0aW9uIG9mIC0tc3lzcm9vdCBpbiBoZWxwIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZG9uJ3QgY2FyZSBhYm91dCB4YXNwcmludGYoKSByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmVhZCBjcHVpZCBvbiBub24tbGl2ZSBzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBmaXggZXJyb3IgbWVzc2FnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIC9wcm9jL3N5c2luZm8gdXNhZ2UgbW9yZSByb2J1c3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHJlYWRfdG9wb2xvZ3koKSBtb3JlIHJvYnVzdCB0byBhdm9pZCBTSUdGUEUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkZWFkIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIHNldCAzMi1iaXQgLyA2NC1iaXQgZm9yIHBwYyAgW0thcmVsIFpha10KK2xzbG9ja3M6CisgICAtIGFkZCBCTE9DS0VSIGNvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IGJsb2NrZWQgbG9ja3MsIGZpeCAvcHJvYy9sb2NrcyBwYXJzZXIgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNhcmUgYWJvdXQgeGFzcHJpbnRmKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCAtbyArPGxpc3Q+IGNvbnZlbnRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtb3VudCB0byBwYXJzZSBtb3VudGluZm8gIFtLYXJlbCBaYWtdCittZDU6CisgICAtIGZpeCBzdHJpY3QgYWxpYXNpbmcgd2FybmluZ3MgIFtNaWtlIEZyeXNpbmdlcl0KK21pbml4OgorICAgLSBjaGFuZ2UgdHlwZXMgaW4gaGVhZGVyIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwbGFjZSBtYWdpYyBjb25zdGFudHMgd2l0aCBtYWNybyBuYW1lcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugb2ZmX3QsIHNpemVfdCwgZXRjIGFwcHJvcHJpYXRlIHR5cGVzICBbU2FtaSBLZXJvbGFdCittaXNjOgorICAgLSBtYWtlIHJlYWRsaW5rKCkgdXNhZ2UgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCitta2ZzOgorICAgLSBpbmRpY2F0ZSB0aGF0IHNwZWNpZnlpbmcgZnMtdHlwZSBhbmQgZnMtb3B0aW9ucyBhcmUgaW5kZXBlbmRlbnQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK21rZnMuY3JhbWZzOgorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitta2ZzLm1pbml4OgorICAgLSBjaGVjayBudW1lcmljIHVzZXIgaW5wdXRzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV2Zvcm1hdF0gIFtLYXJlbCBaYWtdCisgICAtIGZzY2sgbWluaXggIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KK21rc3dhcDoKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBwcm9wZXJseSBwbHVyYWxpemUgdGhlIGJhZC1wYWdlcyBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHdpcGUgb2xkIHNpZ25hdHVyZSBpZiB0aGVyZSBpcyBubyBwYXJ0IHRhYmxlIGJ5IGRlZmF1bHQgIFtNaWxhbiBCcm96XQorbW9yZToKKyAgIC0gYWxpZ24gdm9pZCBpbiBmdW5jdGlvbnMgd2l0aCBwcm90b3R5cGVzLCBhbmQgcmVtb3ZlIHZvaWQgY2FzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgdG8gY29tcGlsZSBhcyBub24taW50ZXJhY3RpdmUgdGVzdF9tb3JlIHByb2dyYW0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGZldyBtZW1vcnkgbGVha3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlICBbU2FtaSBLZXJvbGFdCittb3VudDoKKyAgIC0gKGRlcHJlY2F0ZWQpIGNoZWNrIGxvb3BjeHRfIHJldHVybiB2YWx1ZXMgIFtLYXJlbCBaYWtdCisgICAtIChkZXByZWNhdGVkKSBkcm9wIC0tZ3Vlc3MtZnN0eXBlICBbS2FyZWwgWmFrXQorICAgLSAoZGVwcmVjYXRlZCkgcmVtb3ZlIGR1cGxpY2F0ZSB4c3RybmR1cCgpICBbS2FyZWwgWmFrXQorICAgLSBGaXggLXQgaW4gbGlzdGluZyBtb2RlIHdoZW4gcnVuIGFzIG5vbi1yb290ICBbUmljaGFyZCBUb2xsZXJ0b25dCisgICAtIGFkZCAtLXJlYWQtd3JpdGUgdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXNob3ctbGFiZWxzIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLWMgYWJicmV2aWF0aW9uIGZvciAtLW5vLWNhbm9uaWNhbGl6ZSB0byBtYW4gcGFnZSAgW0JpbGwgUGVtYmVydG9uXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIGZvciAtTCBhbmQgLVUgdG8gbWFuIHBhZ2UgIFtCaWxsIFBlbWJlcnRvbl0KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHgtbW91bnQubWtkaXJbPTxtb2RlPl0gb3B0aW9uICBbT25kcmVqIE9wcmFsYSwgS2FyZWwgWmFrXQorICAgLSBhZGQgdmVyYm9zZSBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gZG9jdW1lbnQgb3B0aW9ucyBmb3IgZGVidWdmcyAgW0RhdmUgUmVpc25lcl0KKyAgIC0gZG9jdW1lbnQgeC0qIG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhIGZldyB0eXBvcyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBmaXggYmluZCBtb3VudCBzdWNjZXNzIG1lc3NhZ2UgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBmaXggbWFuIHBhaGUgdHlwbyBpbiBxdW90YSBtb3VudCBvcHRpb24gbmFtZXMgIFtCasO2cm4gSmFja2VdCisgICAtIGZpeCB0eXBvcyBpbiBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAtLW1vdmUgZXJyb3IgbWVzc2FnZSBvbiBzaGFyZWQgdHJlZXMgIFtLYXJlbCBaYWtdCisgICAtIGxvc2V0dXAgIHJlbW92ZSBvYnNvbGV0ZSBlbmNyeXB0aW9uIHN1cHBvcnQgIFtMdWR3aWcgTnVzc2VsXQorICAgLSBtYWtlIC0tdmVyYm9zZSBtb3JlIHZlcmJvc2UgYWJvdXQgcHJvcGFnYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBleHQ0IGpvdXJuYWw9dXBkYXRlIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHNhbml0aXplIHBhdGhzIGZyb20gbm9uLXJvb3QgdXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbXVsdGlwbGUgTVNfUFJPUEFHQVRJT04gZmxhZ3MgaW4gb25lIG1vdW50KDgpIGV4ZWMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnRzIHBhdGhzIGNhbm9uaWNhbGl6YXRpb24gZm9yIGFsdGVybmF0aXZlIGZzdGFicyAgW0thcmVsIFpha10KKyAgIC0gd3JpdGUgc3VjY2VzcyBtZXNzYWdlcyB0byBzdGRvdXQgIFtLYXJlbCBaYWtdCittb3VudHBvaW50OgorICAgLSBkb24ndCBoYXJkY29kZSBwYXRocyAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBkb24ndCBjYXJlIGFib3V0IHhhc3ByaW50ZigpIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK25hbWVzcGFjZS5oOgorICAgLSBGaXggdHlwbyAgcy9DTE9ORV9ORVdTTlMvQ0xPTkVfTkVXTlMvICBbSm9zaCBUcmlwbGV0dF0KK25ld2dycDoKKyAgIC0gbW9yZSByb2J1c3QgY3J5cHQoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhzdHJkdXAgdG8gY2hlY2sgYWxsb2NhdGlvbiBzdWNjZWVkZWQgIFtTYW1pIEtlcm9sYV0KK25zZW50ZXI6CisgICAtIEFkZCBjb25zdCB0byBkZWNsYXJhdGlvbnMgd2hlcmUgcG9zc2libGUuICBbRXJpYyBXLiBCaWVkZXJtYW5dCisgICAtIEVuaGFuY2Ugd2FpdGluZyBmb3IgYSBjaGlsZCBwcm9jZXNzICBbRXJpYyBXLiBCaWVkZXJtYW5dCisgICAtIFByb3Blcmx5IHNwZWxsIHNpZ25pZmljYW50IGluIGEgY29tbWVudC4gIFtFcmljIFcuIEJpZWRlcm1hbl0KKyAgIC0gUmVwbGFjZSBhIGJhcmUgc3RydG91bCB3aXRoIHN0cnRvdWxfb3JfZXJyICBbRXJpYyBXLiBCaWVkZXJtYW5dCisgICAtIGFkanVzdCBmZXcgZXJyb3IgbWVzc2FnZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgYXJndW1lbnRzIHRvIGJlIHNwZWNpZmllZCBpbiBhbnkgb3JkZXIgIFtaYmlnbmlldyBKxJlkcnplamV3c2tpLVN6bWVrXQorICAgLSBkcm9wIGNvcmUgd2hlbiBpbXBvc3NpYmxlIGhhcHBlbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGVycm9ycyBpbiBtYW5wYWdlICBbWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1la10KKyAgIC0gZml4IGluZGVudGF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgb3B0aW9uYWwgYXJncyBpbiB1c2FnZSgpIGFuZCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1c2FnZSgpIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbmV3IGNvbW1hbmQgKGxpZ2h0IHdyYXBwZXIgYXJvdW5kIHNldG5zKSAgW0VyaWMgVy4gQmllZGVybWFuXQorICAgLSByZW5hbWUgLS1leGVjLy1lIHRvIC0tbm8tZm9yay8tRiAgW1piaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWtdCisgICAtIHJlc3BlY3QgLS1leGVjIG5vIG1hdHRlciB3aGVyZSBpdCBhcHBlYXJzICBbWmJpZ25pZXcgSsSZZHJ6ZWpld3NraS1Tem1la10KK3BhcnR4OgorICAgLSBhZGQgdXBkYXRlIGNvbW1hbmQgIFtQaGlsbGlwIFN1c2ldCisgICAtIGRvbid0IGNhcmUgYWJvdXQgeGFzcHJpbnRmKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBkZXByZWNhdGVkIG9wdGlvbiBmcm9tIHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KK3BnOgorICAgLSBhZGQgY29uc3QgcXVhbGlmaWVycyB3aGVyZSBzdWl0YWJsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbm9yZXR1cm4gZnVuY3Rpb24gYXR0cmlidXRlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBudW1lcmljIHVzZXIgaW5wdXRzICBbU2FtaSBLZXJvbGFdCisgICAtIGRvIG5vdCB0dXJuIG9mZiB3YXJuaWducyBhcnRpZmljaWFsbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZWZhY3RvciBhcmd1bWVudCBoYW5kaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZhY2lsaXRpZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHVuaXN0ZC5oIFNURE9VVF9GSUxFTk8gIFtTYW1pIEtlcm9sYV0KK3BvOgorICAgLSBhZGQgaHIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUb21pc2xhdiBLcnpuYXJdCisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUGlzYXJdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUMOtc2HFmV0KKyAgIC0gdXBkYXRlIGRhLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSm9lIEhhbnNlbl0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGF2aWQgUHLDqXZvdF0KKyAgIC0gdXBkYXRlIGhyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVG9taXNsYXYgS3J6bmFyXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIHVwZGF0ZSB2aS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1Ry4bqnbiBOZ+G7jWMgUXXDom5dCitwcmxpbWl0OgorICAgLSBkb24ndCBjYXJlIGFib3V0IHhhc3ByaW50ZigpIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorcmF3OgorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSAgU3VjY2VzcyIgIFtLYXJlbCBaYWtdCityZWFkcHJvZmlsZToKKyAgIC0gYWRkIC0tY291bnRlcnMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggLS1yZWVzdCAoLS1yZXNldCkgdHlwbyAgW0thcmVsIFpha10KKyAgIC0gcmVvcmRlciBvcHRpb25zIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorcmVuYW1lOgorICAgLSBhZGQgLS1zeW1saW5rIG9wdGlvbiBmb3IgcmVuYW1pbmcgc3ltbGluayB0YXJnZXQgIFtKYW4gKHlhYykgTWF0xJtqa2FdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXNhZ2UoKSB0cmFuc2xhdG9yIGZyaWVuZGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBtYWNybyB0byBwcmludCB2ZXJzaW9uICBbS2FyZWwgWmFrXQorcmVuaWNlOgorICAgLSBhY2NlcHQgYWxzbyAtViBmb3IgLS12ZXJzaW9uLCBhbmQgZG9jdW1lbnQgaXQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY29ycmVjdCB0aGUgdXNhZ2Ugc3lub3BzaXMsIGFuZCBpbXByb3ZlIGhlbHAgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorcnRjd2FrZToKKyAgIC0gYWRkIC0tYWRqZmlsZSBjb21tYW5kIGxpbmUgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1hdXRvIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciAiZnJlZXplIiBtb2RlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG9lc24ndCByZXNldCB3YWtlYWxhcm0gIFtHaWFjb21vXQorICAgLSBwYXNzIC1oIHRvIHNodXRkb3duICBbTWlrZSBGcnlzaW5nZXJdCitydW51c2VyOgorICAgLSBhZGQgLXUgdG8gbm90IGV4ZWN1dGUgc2hlbGwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IFBBTSB0byBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gbmV3IGNvbW1hbmQgKGRlcml2ZWQgZnJvbSBzdSgxKSkgIFtLYXJlbCBaYWtdCitzY2hlZHV0aWxzOgorICAgLSBkb24ndCBhcHBseSAtYSB3aXRob3V0IC1wICBbRGFuaWVsIFN0b2RkZW5dCitzY3JpcHQ6CisgICAtIGRvIG5vdCB0cnkgdG8gY2xvc2Ugc3RkZXJyIHR3aWNlICBbU2FtaSBLZXJvbGFdCisgICAtIHNlYXJjaCBzaGVsbCBmcm9tIHBhdGgsIHdoZW4gbmVjZXNzYXJ5ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBfX25vcmV0dXJuX18gZm9yIHJlYWxseSBsYXN0IGZ1bmN0aW9uIFtjbGFuZyAtV2ludmFsaWQtbm9yZXR1cm5dICBbS2FyZWwgWmFrXQorc2V0YXJjaDoKKyAgIC0gYWRkIG9wdGlvbiB0byBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgdXNhZ2UoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBub3JtYWxpemUgbWFuIHBhZ2UgZm9ybWF0dGluZyAgW0thcmVsIFpha10KK3NldHByaXY6CisgICAtIEZpeCBhbiBlcnJvciBtZXNzYWdlIHR5cG8gIFtBbmR5IEx1dG9taXJza2ldCisgICAtIG1vdmUgcGF0aHMgdG8gcGF0aG5hbWVzLmggIFtLYXJlbCBaYWtdCisgICAtIHJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgTGludXggcHJpdmlsZWdlIHNldHRpbmdzICBbQW5keSBMdXRvbWlyc2tpXQorc2V0dGVybToKKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB2YXJpb3VzIGNvbG9yIG9wdGlvbiBhcmd1bWVudCBsaXN0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGVycm9yIG1lc3NhZ2UgbW9yZSBpbmZvcm1hdGl2ZSAgW1BldHIgVXplbF0KK3NmZGlzazoKKyAgIC0gRml4IGZvcm1hdCBzcGVjaWZpZXJzIGZvciBzaXplX3QgIFtUaGllcnJ5IFJlZGluZ10KKyAgIC0gZml4IGFsaWFzaW5nIHdhcm5pbmdzICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIGZpeCBmb3JtYXR0aW5nIHR5cG8gaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitzdToKKyAgIC0gYWRkIC0tZ3JvdXAgYW5kIC0tc3VwcC1ncm91cCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2VnbWVudGF0aW9uIGZhdWx0IHJlcG9ydGluZyBvZiB0aGUgY2hpbGQgcHJvY2VzcyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGRvbid0IG1vZGlmeSBQQVRIIGlmIC1sIG5vdCBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkIiBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1Xc3RyaWN0LXByb3RvdHlwZXNdICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3R1cGlkIHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGZpeGVkIGEgdHlwbyBpbiBwYW0gZXJyb3IgbWVzc2FnZSAgW1ZpdGV6c2xhdiBDaXpla10KKyAgIC0gbG9nIGZhaWxlZCBsb2dpbnMgdG8gYnRtcCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBjb2RlIG1vcmUgcm9idXN0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbW9yZSByb2J1c3QgZ2V0cHd1aWQoKSBmb3IgR05VIEh1cnQgW2NvcmV1dGlscyA3MWI3ZGRjXSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBnZW5lcmljIHN1IGNvZGUgdG8gc3UtY29tbW9uLmMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgbG9uZyBvcHRpb25zIHRvIG1haW4oKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlICcrJyBmcm9tIGdldG9wdF9sb25nKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBsb2dfc3UgdG8gbG9nX3N5c2xvZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGdldF90ZXJtaW5hbF9uYW1lKCkgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBsb2dpbigxKSAgW0thcmVsIFpha10KKyAgIC0gdmVyaWZ5IHdyaXRpbmcgdG8gc3RyZWFtcyB3YXMgc3VjY2Vzc2Z1bCAgW0thcmVsIFpha10KK3N1LWNvbW1vbjoKKyAgIC0gbWFrZSB1c2FnZSgpIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KK3N1bG9naW46CisgICAtIGFkZCBtdWx0aSBjb25zb2xlIGZlYXR1cmUgZnJvbSBTeXNWaW5pdCBzdWxvZ2luICBbV2VybmVyIEZpbmtdCisgICAtIGNsZWFudXAgZmlsZSBkZXNjcmlwdG9ycyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY291cGxlIG9mIG9idmlvdXMgZml4ZXMgZm9yIG5vbi1saW51eCBzeXN0ZW1zICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBkb24ndCBydW4gaWYgbm90IGZvdW5kIHBhc3N3dyBlbnRyeSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSB7ZGUsY29ufXN0cnVjdG9yIGF0dHJpYnV0ZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1c2xlZXAoKSB3b3JrYXJvdW5kIHdvcmsgIFtXZXJuZXIgRmlua10KKyAgIC0gbWFwIE5MIHRvIENSLU5MIG9uIG91dHB1dCBpbiBpbml0aWFsIHRlcm1pb3Mgc2V0dGluZ3MgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNvZGluZyBzdHlsZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSBtb3VudCB0ZW1wb3JhcnkgL2RldiBhbmQgL3Byb2MgaWYgbm90IGZvdW5kICBbV2VybmVyIEZpbmtdCisgICAtIHJlbW92ZSBjb25zb2xlcy5jIGZyb20gbGliY29tbW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYWxhcm0gZnVuY3Rpb24gdG8gaW5kaWNhdGUgaWYgYSB0aW1lb3V0IG9jY3VycyAgW1dlcm5lciBGaW5rXQorICAgLSB1c2UgdGhlIGxpbmtlZCBsaXN0cyBmcm9tIGxpc3QuaCBmb3IgY29uc29sZXMgbGlzdCAgW1dlcm5lciBGaW5rXQorc3dhcG9uOgorICAgLSBjaGVjayBudW1lcmljIHVzZXIgaW5wdXRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNsYXJpZnkgc3dhcG9uLjggcHJpb3JpdHkgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGRlZmF1bHQgdG8gLS1zaG93IGlmIG5vdGhpbmcgaXMgcmVxdWVzdGVkICBbU2FtaSBLZXJvbGFdCisgICAtIGRvbid0IGNhcmUgYWJvdXQgeGFzcHJpbnRmKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1tb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBwcmludCB3YXJuaW5nIGFib3V0IGluc2VjdXJlIG93bmVyL3Blcm1pc3Npb25zICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbG9vcCBkZWNsYXJhdGlvbiBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCitzd2l0Y2hfcm9vdDoKKyAgIC0gQWRkIGEgc2FuaXR5IGNoZWNrICBbUmljaGFyZCBXZWluYmVyZ2VyXQorICAgLSBjaGVjayBvcGVuKCkgcmV0dXJuIHZhbHVlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBhZGQgQkUgbWluaXggdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGFybXY3IGxzY3B1IGR1bXAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjaGZuc2ggYnVpbGQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkbWVzZygxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgZjJmcyBpbWFnZSB0ZXN0ICBbQWxlamFuZHJvIE1hcnRpbmV6IFJ1aXpdCisgICAtIGFkZCBmYWxsb2NhdGUoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGZkaXNrIEJTRCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2sgR1BUIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBnZXRvcHQoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGlvbmljZSgxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgaXBjbWsoMSkgYW5kIGlwY3JtKDEpIGNoZWNrcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgaXNvc2l6ZSgxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbGluZSgxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbWNvb2tpZSgxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbWlzaW5nICJleHBvcnQiIGtleXdvcmQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3JlKDEpIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBwcGM2NC1QT1dFUjctNjRjcHUgbHNjcHUgZHVtcCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJldigxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc2V0YXJjaCg4KSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc2V0c2lkKDEpIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzaGFyZWQgc3VidHJlZXMgdG8gdW1vdW50IC0tcmVjdXJzaXZlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0YWlsZigxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgdWwoMSkgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHVtb3VudCAtLWFsbC10YXJnZXRzIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdW1vdW50IC0tcmVjdXJzaXZlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB1dG1wZHVtcCgxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgd2hlcmVpcygxKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQvaW1wcm92ZSBtb3VudCBzaGFyZWQtc3VidHJlZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgc2NzaV9kZWJ1ZyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpcGNzIGJhc2ljIGxpbWl0IHdoZW4gYmMgaXMgbm90IGF2YWlsYWJsZSAgW0dpbGxlcyBFc3BpbmFzc2VdCisgICAtIGZpeCBtb3VudCBtb3ZlIHRlc3QgdG8gd29yayB3aXRoIHNoYXJlZCBtb3VudCAgW01pbGFuIEJyb3pdCisgICAtIGZpeCB0aW1lem9uZSBmb3IgY3JhbWZzICBbTWlsYW4gQnJvel0KKyAgIC0gZml4IHR5cG8gaW4gZmRpc2sgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIHN0ZGVyciBpbiBmZGlzayAtbCAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIHRlc3QgaWYga2VybmVsIGRvZXNuJ3Qgc3VwcG9ydCBtaW5peCBmcyAgW01pbGFuIEJyb3pdCisgICAtIG1ha2UgbGluZSgxKSBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtb3VudCB0ZXN0cyBiYWNrd2FyZGx5IGNvbXBhdGlibGUgd2l0aCBkZXByZWNhdGVkLW1vdW50LyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1dG1wZHVtcCBUWiBpbmRlcGVuZGVudCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBmYWxsb2NhdGUgdGVzdCBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHRhaWxmIHRlc3QgaW5wdXQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBlbmNyeXB0aW9uIGxvb3BkZXYgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGxzY3B1IC9zeXMgZHVtcHMgd2l0aG91dCAncG9zc2libGUnIENQVSBtYXNrICBbS2FyZWwgWmFrXQorICAgLSBza2lwIGlwY3MgbGltaXRzIG92ZXJmbG93IHdoZW4gYmMgaXMgbm90IGF2YWlsYWJsZSAgW0dpbGxlcyBFc3BpbmFzc2VdCisgICAtIHNvcnQgY29tbWFuZHMgc3RyaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1bnNldCAqX0RFQlVHIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlICdvZGQgaW5wdXQnIGZkaXNrIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBJU08gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBVREYgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGFrcy1wYXJ0aXRpb24tbnVtYmVyIGRpYWxvZyAocGxhbm5lZCByZWdyZXNzaW9uKSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJzZCB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayBtYnIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGlwY3MgKHJlb3JkZXIgZGVmYXVsdCBvdXRwdXQpICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbGliYmxraWQgUFQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNoZWNrc3VtIHRvIGRldGVjdCByZXYoMSkgY29uc2lzdGVuY3kgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB1ZGV2YWRtIHNldHRsZSByYXRoZXIgdGhhbiBzbGVlcCAgW0thcmVsIFpha10KK3RleHR1YWw6CisgICAtIGFkZCBtaXNzaW5nIGNvbW1hIGFuZCBjb2xvbiBpbiBzb21lIGhlbHAgdGV4dHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IGEgZmV3IHR5cG9zIGluIHNvbWUgb2YgdGhlIHVzYWdlIGhlbHAgdGV4dHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHRoZSBleGFtcGxlIGluIHdoZXJlaXMgbWFuIHBhZ2UsIHBsdXMgZnVydGhlciBpbXByb3ZlbWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHR3byBtaXNlbmNvZGluZ3MgaW4gY29tbWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHR5cG9zIGluIG1lc3NhZ2VzICBbWXVyaSBDaG9ybm9pdmFuXQorICAgLSBnZXR0ZXh0aXplIGFuIG92ZXJsb29rZWQgc3RyaW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGdldHRleHRpemUgc2V2ZXJhbCBvdmVybG9va2VkIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgYW4gZXJyb3IgbWVzc2FnZSBhbmQgYSBoZWxwIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIGluY29uc2lzdGVudCBwZXJpb2RzIGZyb20gdHdvIGVycm9yIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNsaWNlIHRoZSBoZWxwIHRleHQgb2YgZnNjayBpbnRvIHN0cmlwcywgZm9yIHRyYW5zbGF0b3JzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNsaWNlIHRoZSBoZWxwIHRleHQgb2YgbHNjcHUgaW50byBzdHJpcHMsIGZvciB0cmFuc2xhdG9ycyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzcGVsbCBhbmQgZW5jb2RlIHRoZSBuYW1lIG9mIEFya2FkaXVzeiBNacWba2lld2ljeiBjb3JyZWN0bHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3RhbmRhcmRpemUgcmVwb3J0aW5nIG9mIHByb2dyYW0gbmFtZSBwbHVzIHBhY2thZ2UgdmVyc2lvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzdGFuZGFyZGl6ZSB0aGUgcmVwb3J0aW5nIG9mIHByb2dyYW0gbmFtZSBwbHVzIHBhY2thZ2UgdmVyc2lvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0YWcgdHdvIGJ1ZyBtZXNzYWdlcyBhcyAiaW50ZXJuYWwgZXJyb3IiICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHRpbnkgdHdlYWtzIG9mIHNvbWUgZXJyb3IgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHlwbyBmaXhlcyAgW0dpbGxlcyBFc3BpbmFzc2VdCisgICAtIHVzZSBVVElMX0xJTlVYX1ZFUlNJT04gZXZlcnl3aGVyZSAgW0thcmVsIFpha10KK3Rvb2xzOgorICAgLSBhZGQgY2hlY2tzIHRvIG1hbnVhbCBwYWdlIHRlc3Qgc2NyaXB0ICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgY2hlY2ttYW5zLnNoIHRvIGZpbmQgbWlzc2luZyBtYW51YWxzICBbU2FtaSBLZXJvbGFdCit0cmFuc2xhdGlvbjoKKyAgIC0gdW5pZnkgZXhlYyBlcnJvciBtZXNzYWdlcyAgW1NhbWkgS2Vyb2xhXQordHVuZWxwOgorICAgLSBhZGQgbWlzc2luZyBicmVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGRlcHJlY2F0aW9uICByZW1vdmUgY29tbWFuZCBmcm9tIGRlZmF1bHQgYnVpbGQgIFtTYW1pIEtlcm9sYV0KK3VsOgorICAgLSBjbGVhbnVwIHVzYWdlKCkgYW5kIG1hbiBwYWdlICBbS2FyZWwgWmFrXQordW1vdW50OgorICAgLSAocmVjdXJzaXZlKSBhZGQgYSBjYWNoZSB0byB0aGUgdGFibGUgIFtEYXZlIFJlaXNuZXJdCisgICAtIChyZWN1cnNpdmUpIGRvbid0IGNhbGwgdW1vdW50KDIpIGZvciBhbHJlYWR5IHVubW91bnRlZCB0YXJnZXRzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1hbGwtdGFyZ2V0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1SLCAtLXJlY3Vyc2l2ZSBvcHRpb24gIFtEYXZlIFJlaXNuZXJdCisgICAtIGFkZCBub3RlIGFib3V0IG5hbWVzcGFjZXMgdG9vIC0tYWxsLXRhcmdldHMgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyByZXR1cm4gTU9VTlRfRVhfKiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gLS1yZWN1cnNpdmUgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgLS1yZWN1cnNpdmUgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1c2FnZSgpIHRyYW5zbGF0b3IgZnJpZW5kbHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2FuaXRpemUgcGF0aHMgZnJvbSBub24tcm9vdCB1c2VycyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGRldm5vIHRvIGlkZW50aWZ5IC0tYWxsLXRhcmdldCBkZXZpY2VzICBbS2FyZWwgWmFrXQordW5zaGFyZToKKyAgIC0gQWRkIHN1cHBvcnQgZm9yIHRoZSBwaWQgYW5kIHVzZXIgbmFtZXNwYWNlcyAgW0VyaWMgVy4gQmllZGVybWFuXQorICAgLSBtYWtlIHVzYWdlKCkgdHJhbnNsYXRvciBmcmllbmRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IHRoZSBzd2l0Y2hpbmcgb2YgbmFtZXNwYWNlcyAgW05laWwgSG9ybWFuXQorICAgLSB0d2VhayBzdHlsZSAgW01pa2UgRnJ5c2luZ2VyXQordW5zaGFyZSgxKToKKyAgIC0gZGVsZXRlIGVtcHR5IE5PVEVTIHNlY3Rpb24gIFtNaWtlIEZyeXNpbmdlcl0KK3Vuc2hhcmUsbnNlbnRlcjoKKyAgIC0gTW92ZSB0aGUgb2xkIGxpYmMgaGFuZGxpbmcgaW50byBhIGNvbW1vbiBoZWFkZXIgbmFtZXNwYWNlLmggIFtFcmljIFcuIEJpZWRlcm1hbl0KKyAgIC0gc3Bhd24gc2hlbGwgYnkgZGVmYXVsdCAgW1piaWduaWV3IErEmWRyemVqZXdza2ktU3ptZWtdCit1dWlkZDoKKyAgIC0gdXVpZGQuOCBEb2N1bWVudCAtLWRlYnVnIGFuZCAtLXF1aWV0IGxvbmcgb3B0aW9ucy4gIFtWaWxsZSBTa3l0dMOkXQordXVpZGdlbjoKKyAgIC0gZml4IC0tcmFuZG9tICBbS2FyZWwgWmFrXQordmFyaW91czoKKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbnMgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdmFyaWFibGUgYW5kIGZ1bmN0aW9uIGRlY2xhcmF0aW9ucyBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCit2aXB3OgorICAgLSBhZGQgdXNhZ2UoKSBmdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdW51c2VkIHNldHt1aWQsZ2lkfSBjYWxscyAgW0thcmVsIFpha10KK3dhbGw6CisgICAtIHVzZSB4Z2V0aG9zdG5hbWUoKSAgW1NhbWkgS2Vyb2xhXQord2RjdGw6CisgICAtIGFkZCBmYWxsYmFja3MgZm9yIG9sZCBrZXJuZWwgaGVhZGVycyAgW0thcmVsIFpha10KKyAgIC0gZ2V0dGV4dGl6ZSBvbmUgZm9yZ290dGVuIHdvcmQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHJlYXQgYWxpZ25lZCB0cmFuc2xhdGFibGUgc3RyaW5ncyBpbiBhIHVuaWZvcm0gbWFubmVyICBbQmVubm8gU2NodWxlbmJlcmddCit3aGVyZWlzOgorICAgLSBhZGQgc2VhcmNoIHNjb3BlIGxpc3Rpbmcgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIHdpdGggaG93dG8tdXNhZ2UtZnVuY3Rpb24udHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGNhbm9uaWNhbGl6ZSBkaXJlY3RvcmllcyBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSByZWFkYWJpbGl0eSBmb3IgYW5hbHlzZXJzICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIG1vc3Qgb2YgdGhlIGNvbW1hbmQgIFtTYW1pIEtlcm9sYSwgS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IE1BTlBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KK3dpcGVmczoKKyAgIC0gQWRkIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGl0IHRvIGVyYXNlLiAgW1JpY2hhcmQgVy5NLiBKb25lc10KKyAgIC0gYWRkIC1mIHRvIGdldG9wdF9sb25nKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZG9fd2lwZSgpIG1vcmUgcmVhZGFibGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSB1c2UgT19FWENMICBbS2FyZWwgWmFrXQord3JpdGU6CisgICAtIHN0b3AgdXNpbmcgTUFYSE9TVE5BTUVMRU4gIFtLYXJlbCBaYWtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI0LVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjQtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyYWFkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI0LVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDkyNCBAQAorCitVdGlsLWxpbnV4IDIuMjQgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhpcyBpcyB0aGUgbGFzdCByZWxlYXNlIHdoZXJlIHRoZSBvbGQgbm9uLWxpYm1vdW50IG1vdW50KDgpIGltcGxlbWVudGF0aW9uCitpcyBzdXBwb3J0ZWQgYW5kIG1haW50YWluZWQuCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK2ZkaXNrKDgpOgorIC0gdGhlIGNvZGUgaGFzIGJlZW4gY29tcGxldGVseSByZWZhY3RvcmVkIGFuZCBtb3ZlZCB0byBsaWJmZGlzaworICAgKHRoZSBsaWJyYXJ5IGRvZXMgbm90IGhhdmUgYSBzdGFibGUgQVBJIHlldCkKKyAtIHVzZXIgaW50ZXJmYWNlIGhhcyBiZWVuIHVuaWZpZWQgZm9yIGFsbCBsYWJlbCB0eXBlcyBhbmQgaXQgc3VwcG9ydHMgY29sb3JzCisgLSBHUFQgZGlzayBVVUlELCBwYXJ0aXRpb24gVVVJRCBhbmQgcGFydGl0aW9uIG5hbWUgbW9kaWZpY2F0aW9uIGlzIHN1cHBvcnRlZCBub3cKKworcHlsaWJtb3VudDoKKyAtIHRoaXMgbmV3IGxpYnJhcnkgcHJvdmlkZXMgUFlUSE9OIEJJTkRJTkdTIGZvciBsaWJtb3VudDsKKyAgIHVzZSAtLXdpdGgtcHl0aG9uWz0yfDNdIHRvIGVuYWJsZSB0aGUgYmluZGluZ3MKKworbGFzdCgxKSBhbmQgbGFzdGIoMSk6CisgLSB0aGUgTkVXIElNUExFTUVOVEFUSU9OIGhhcyBiZWVuIG1lcmdlZCBmcm9tIHN5c3Zpbml0IHRvIHV0aWwtbGludXggYW5kCisgICBleHRlbmRlZDsgbm93IGl0IHN1cHBvcnRzIGNvbW1hbmQgbGluZSBvcHRpb25zIC0tcHJlc2VudCwgLS1zaW5jZSwgYW5kCisgICAtLXRpbWUtZm9ybWF0CisgLSB1c2UgLS1lbmFibGUtZGVwcmVjYXRlZC1sYXN0IHRvIGVuYWJsZSB0aGUgb2xkIHV0aWwtbGludXggbGFzdCgxKSBpbXBsZW1lbnRhdGlvbgorCitzd2Fwb24oOCk6CisgLSB0aGUgb3B0aW9uIC0tZGlzY2FyZD0gYW5kIGZzdGFiIG1vdW50IG9wdGlvbiBkaXNjYXJkPSBhbGxvdyB0byBleHBsaWNpdGx5CisgICBzcGVjaWZ5ICdwYWdlcycgb3IgJ29uY2UnIGRpc2NhcmQgcG9saWN5LiBJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIHRoZQorICAgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBlbmFibGUgYm90aC4gU2VlIHN3YXBvbi44IG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuCisKK2xpYmJsa2lkIGFuZCBibGtpZCg4KToKKyAtIHN1cHBvcnRzIExPR1VVSUQ9IGZvciBleHRlcm5hbCBsb2dzIChlLmcuIGV4dE4gYW5kIFhGUykKKyAtIGdlbmVyYXRlcyBhIHBzZXVkbyBQQVJUVVVJRD0gZm9yIE1CUiBwYXJ0aXRpb25zIChiYXNlZCBvbiBNQlIgSWQsIExpbnV4IGtlcm5lbAorICAgc3VwcG9ydHMgdGhlIHNhbWUgY29uY2VwdCBmb3Igcm9vdD0gY29tbWFuZCBsaW5lIG9wdGlvbikKKworYWdldHR5KDgpOgorIC0gc3VwcG9ydGVzIG5ldyBpc3N1ZSBmaWxlIFxTIGVzY2FwZSBjb2RlIHRvIHJlYWQgaW5mb3JtYXRpb24gZnJvbSAvZXRjL29zLXJlbGVhc2UKKyAtIHRoZSBvcHRpb24gLUwgYWxsb3dzIHRvIGNvbXBsZXRlbHkgY29udHJvbCBDTE9DQUwgZmxhZworCitkbWVzZygxKToKKyAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tdGltZS1mb3JtYXQgdG8gc3BlY2lmeSB0aW1lIGZvcm1hdAorIC0gc3VwcG9ydHMgbmV3IGlzby04NjAxIHRpbWUgZm9ybWF0CisKK2hleGR1bXAoMSk6CisgLSBzdXBwb3J0cyBsb25nIG9wdGlvbnMgbm93CisKK3dhbGwoMSk6CisgLSB0aGUgY29tbWFuZCBpcyBjb21wYXRpYmxlIHdpdGggc3lzdmluaXQgaW1wbGVtZW50YXRpb24gbm93CisKK2xvZ2dlcigxKToKKyAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tcHJpby1wcmVmaXggd2hlbiBsb2dnaW5nIHN0ZGluCisKK2xzY3B1KDEpOgorIC0gYWxsb3dzIHRvIGRldGVjdCBtb3JlIGh5cGVydmlzb3IgdHlwZXMgYW5kIHByb3ZpZGVzIGluZm8gYWJvdXQgTWF4CisgICBhbmQgTWluIENQVSBNaHoKKwordW5zaGFyZSg4KToKKyAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9ucyAtLWZvcmsgYW5kIC0tbW91bnQtcHJvYyBmb3IKKyAgIHBpZCBuYW1lc3BhY2VzCisKK3dpcGVmcyg4KToKKyAgLSBub3cgd2lwZXMgc3VwZXJibG9ja3Mgd2l0aCBpbmNvcnJlY3QgY2hlY2tzdW1zIHRvbworICAtIHN1cHBvcnRzIG5ldyBjb21tYW5kIGxpbmUgb3B0aW9uIC0tYmFja3VwIHRvIGJhY2t1cCBlcmFzZWQgZGF0YSB0bworICAgICRIT01FL3dpcGVmcy08ZGV2bmFtZT4tPG9mZnNldD4uYmFrCisKK25vbG9naW4oOCk6CisgIC0gdGhpcyBjb21tYW5kIGhhcyBiZWVuIG1lcmdlZCBpbnRvIHV0aWwtbGludXgsIHRoZSBjb21tYW5kIHBvbGl0ZWx5CisgICAgcmVmdXNlcyBhIGxvZ2luLgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjIzIGFuZCB2Mi4yNAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yMi4xIFtKdW4gMzEgMjAxM10KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMy92Mi4yMy4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMy92Mi4yMy4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjMuMiBbTWF5IDI4IDIwMTNdCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjMvdjIuMjMuMi1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjMvdjIuMjMuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMjMgYW5kIHYyLjI0CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNC8KKworYWdldHR5OgorICAgLSAtTCBhY2NlcHRzIG9wdGlvbmFsIGFyZ3VtZW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgXFMgdG8gb3V0cHV0IC9ldGMvb3MtcmVsZWFzZSBkYXRhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYmF1ZCByYXRlcyBhdmFpbGFibGUgZnJvbSBnbGliYyB0aGF0IGFyZSBub3QgYWxyZWFkeSBzdXBwb3J0ZWQgIFtKYW1lcyBCdXJlbl0KKyAgIC0gYWxsb3cgZnVsbCBjb250cm9sIG9uIENMT0NBTCBmbGFnICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIGRlYnVnIGlmZGVmcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmVtb3ZlIEVDSE9DVEwgZnJvbSBjX2xmbGFnICBbS2FyZWwgWmFrXQorICAgLSBmaXggYSBraWxsL2VyYXNlIGVycm9yIGluIG1hbiBwYWdlIGFuZCBpbXByb3ZlIGNsYXJpdHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSB3b3JkaW5nLCBncmFtbWFyIGFuZCBzb21lIGZvcm1hdHRpbmcgaW4gbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gb25seSB1c2UgRVhUQS9FWFRCIG1hY3JvcyBpZiBCMTkyMDAvQjM4NDAwIG1hY3JvcyBhcmUgbm90IHByZXNlbnQgIFtKYW1lcyBCdXJlbl0KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIGFuZCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgT19OT05CTE9DSyBvbmx5IGZvciBzZXJpYWwgbGluZXMgd2l0aCBDTE9DQUwgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdGFuZGFyZCBhbmd1bGFyIGJyYWNrZXRzIGluIHVzYWdlIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdW5yZWNvZ25pemVkIG9wdGlvbiAnLS1sb2dpbnBhdXNlJyIgIFtrZXJuY10KK2Jhc2gtY29tcGxldGlvbjoKKyAgIC0gYWRkIG1vdW50IGFuZCB1bW91bnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHR5cG9zIGluIG1rZnMuYmZzIGxvZ2ljICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHVzZSAnXG4nIGFzIElGUyB3aGVuIGFzayBmb3IgZmlsZW5hbWVzICBbS2FyZWwgWmFrXQorYmxrZGlzY2FyZDoKKyAgIC0gdXNlIGZzdGF0KCkgcmF0aGVyIHRoYW4gc3RhdCgpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2Jsa2lkOgorICAgLSBleHBvcnQgSURfUEFSVF9UQUJMRV9VVUlEICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBJRF9GU19BTUJJVkFMRU49ICBbS2FyZWwgWmFrXQorYmxraWQsIGh3Y2xvY2ssIGxkYXR0YWNoOgorICAgLSB1c2UgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgIFtTYW1pIEtlcm9sYV0KK2Jsb2NrZGV2OgorICAgLSBSZW1vdmUgdGhlIC0tc2V0YnN6IChzZXQgYmxvY2tzaXplKSBvcHRpb24gd2hpY2ggaGFzIG5ldmVyIHdvcmtlZC4gIFtSaWNoYXJkIFcuTS4gSm9uZXNdCisgICAtIGFkZCBub3RlIGFib3V0IC0tc2V0YnN6IHVzYWJpbGl0eSAgW0thcmVsIFpha10KK2J1aWxkLXN5czoKKyAgIC0gQ2hlY2sgZm9yIHR5cGUgc2lnaGFuZGxlcl90IGFuZCB1c2UgaWYgcHJlc2VudCAgW01pY2hhZWwgRm9ybmV5XQorICAgLSBGaXggY2hlY2sgZm9yIF9fR05VX0xJQlJBUllfXyAgW01pY2hhZWwgRm9ybmV5XQorICAgLSBVc2UgX1BPU0lYX1ZFUlNJT04gdG8gZGV0ZXJtaW5lIHN1cHBvcnQgZm9yICVtICBbTWljaGFlbCBGb3JuZXldCisgICAtIGFkZCAqdmltIGFuZCBjbGFuZ19jb21wbGV0ZSB0byBnaXRpZ25vcmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtc2V0dGVybSAgW0thcmVsIFpha10KKyAgIC0gYWRkIENGTEFHUyBhbmQgTERGTEFHUyBmb3IgZGFlbW9ucyBhbmQgc2hhcmVkIGxpYnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBweWxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcHlsaWJtb3VudCBfX2luaXRfXy5weSBFWFRSQV9ESVNUICBbS2FyZWwgWmFrXQorICAgLSBhbHdheXMgY2hlY2sgZm9yIHNldG5zKCkgYW5kIHVuc2hhcmUoKSBsaWJzIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY29tcGxldGUgZWx2dHVuZSByZW1vdmFsICBbU2FtaSBLZXJvbGFdCisgICAtIGVuYWJsZSBtZXNnKDEpIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAke3ByZWZpeH0gdXNhZ2UsIGJlIG1vcmUgdmVyYm9zZSBhYm91dCBweSBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gZml4IGluY2x1ZGUgTWFrZW1vZHVsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxhc3Qgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsYXN0YiBzeW1saW5rICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3RhdGljIGJ1aWxkcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHRpbmZvIGNvbmdpdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSBmaXgge2xpYixzYmlufWRpciBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm9iZSBVTF9DT05GTElDVF9CVUlMRCBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gaW5zdGFsbCBweWxpYm1vdW50IGludG8gIFtLYXJlbCBaYWtdCisgICAtIGluc3RhbGwgdG8gdGhlIGNvcnJlY3QgcHl0aG9uIGRpcnMgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZ2V0b3B0IGV4YW1wbGVzIHRvIGRvY2RpciAgW0thcmVsIFpha10KKyAgIC0gb25lIGluc3RhbGwgZGlyIGZvciBhbGwgcHlsaWJtb3VudCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gcHJlZmVyIEFTX0NBU0UgcmF0aGVyIHRoYW4gc2hlbGwgJ2Nhc2UnICBbU2FtaSBLZXJvbGFdCisgICAtIHByZWZlciBBU19JRiByYXRoZXIgdGhhbiBzaGVsbCAnaWYnICBbU2FtaSBLZXJvbGFdCisgICAtIHB5bGlibW91bnQgd2lsbCBub3Qgd29yayB3aGVuIHB5dGhvbjMgaXMgcHJlc2VudCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWxlYXNlKysgKHYyLjI0LXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjQtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQgZWx2dHVuZSBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZW52aXJvbm1lbnQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ltcGxpZnkgcHl0aG9uIGRldGVjdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC0td2l0aC1weXRob25bPXsyLDN9XSAgW0thcmVsIFpha10KKyAgIC0gdXNlIC1Xbm8tY2xvYmJlcmVkIGZvciBzb21lIEJTRCBjcmFwICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYmFja3RpY2tzIHJhdGhlciB0aGFuICQoKSBmb3IgY29tbWFuZHMgaW4gY29uZmlndXJlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBtNCBxdW90aW5nIGNvbnNpc3RlbnRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgdGluZm8gKm9yKiBuY3Vyc2VzIGZvciBtb3JlKDEpLCB1bCgxKSBhbmQgc2V0dGVybSgxKSAgW0thcmVsIFpha10KK2NhbDoKKyAgIC0gYWRkIC0tY29sb3IgdG8gdXNhZ2UoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCB1c2Ugb2YgY29uc3RhbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbnZlcnQgZnVuY3Rpb24gbGlrZSBkZWZpbml0aW9ucyB0byBmdW5jdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGUtZHVwbGljYXRlIGp1bGlhbiBzcGVjaWZpYyBmdW5jdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IC15IG91dHB1dCBmb3IgVVRGOCAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgb24gc3lzdGVtcyB3aXRob3V0IHRlcm0gbGlicyAgW0thcmVsIFpha10KKyAgIC0gZml4IGZldyB0eXBlIG1pc21hdGNoZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGdldHRleHQgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHByZXByb2Nlc3NvciBkaXJlY3RpdmUgaW5kZW5kYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHdhcm5pbmcgd2hlbiBjb21waWxlZCAtLXdpdGhvdXQtbmN1cnNlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBjb2Rpbmcgc3R5bGUgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdGhlIGhlbHAgdGV4dCBhbmQgbWFuIHBhZ2UgIFtQw6FkcmFpZyBCcmFkeV0KKyAgIC0gbWFyayBhbGwgZnVuY3Rpb25zIHN0YXRpYyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgYXJiaXRyYXJ5IGxpbWl0IG9mIG1heGl1bSB5ZWFyIGJlaW5nIDk5OTkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGluaXRpYWxpemF0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgc3RhdGljYWxseSBkZWZpbmVkIGRhdGEgcmVhZC1vbmx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IGNhbGVuZGFyIHJlZm9ybWF0IGNhbGN1bGF0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBjb2xvcm1vZGUgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgZGF5X2luX3dlZWsoKSBjYWxjdWxhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdG9wIHRyaW1taW5nIHdoaXRlc3BhY2VzICBbU2FtaSBLZXJvbGFdCisgICAtIHN1cHBvcnQgLS1jb2xvcls9e2F1dG8sYWx3YXlzLG5ldmVyfV0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIENsYXVzIFTDuG5kZXJpbmcncyBkYXkgb2YgdGhlIHdlZWsgYWxnb3JpdGhtICBbU2FtaSBLZXJvbGFdCitjZmRpc2s6CisgICAtIGFkZCBsb25nIG9wdGlvbnMgdG8gdGhlIGNvbW1hbmQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgd3JpdGluZyB0byBhIGZpbGUgZGVzY3JpcHRvciB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggYW1iaWd1b3VzIGNvZGUgIFtLYXJlbCBaYWtdCitjaGNwdToKKyAgIC0gY2xlYW4gdXAgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCitjaGZuOgorICAgLSBhc3NpZ25lZCB2YWx1ZSBpcyBuZXZlciByZWFkIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KK2NvbHVtbjoKKyAgIC0gZGVyZWZlcmVuY2Ugb2YgbnVsbCBwb2ludGVyIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHZhcmlhYmxlIGxlbmd0aCBwcmludGYgZmllbGQgd2lkdGggdG8gd3ByaW50IGJsYW5rcyAgW1NhbWkgS2Vyb2xhXQorY3l0dW5lOgorICAgLSBmaXggZ2x1c2ggdHlwbyBpbiBjeXR1bmUgIFtSYWZhZWwgRmVycmVpcmFdCitkbWVzZzoKKyAgIC0gYWRkIC0tdGltZS1mb3JtYXQgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBpc28tODYwMSB0aW1lIGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb252ZXJ0IHRpbWUgZm9ybWF0IGJpdGZpZWxkIHRvIGVudW0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGVmaW5lIGlzX3RpbWVmbXQoKSBtYWNybyBvbmx5IG9uY2UgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBwYWdlciBmb3IgLS1mb2xsb3cgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLWh1bWFuIGNvbG9yIGluaXRpYWxpemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNhZ2UoKSB0eXBvICBbU2FtaSBLZXJvbGFdCisgICAtIGluZm9ybSB1c2VyIC0tc2hvdy1kZWx0YSBhbmQgaXNvODYwMSB0aW1lIGZvcm1hdCBkb2VzIG5vdCBtaXggIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB0aW1lIHN0YW1wcyB0byBiZSBwcmludGVkIGNvbnNpc3RlbnRseSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWdyb3VwIHRpbWUgcmVsYXRlZCBvcHRpb25zIGNsb3NlIHRvIGVhY2ggb3RoZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCAtLWNvbG9yWz17YXV0byxhbHdheXMsbmV2ZXJ9XSAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIGFkZCAtLXByZXNlbnQgdG8gbGFzdCgxKSBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS1zaW5jZSBhbmQgdGltZSBvcHRpb24gZm9ybWF0cyB0byBsYXN0KDEpIG1hbnVhbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgLS10aW1lLWZvcm1hdCBvcHRpb24gYW5kIElTTy04NjAxIGZvcm1hdCB0byBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC0tdGltZS1mb3JtYXQgdG8gbGFzdCgxKSBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIGxhc3QuMSBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbHNjcHUgbWF4IG1oeiB0byBtYW51YWwgYW5kIGJhc2ggY29tcGxldGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbWlzc2luZyBvcHRpb25zIHRvIHNmZGlzayBtYW51YWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vdGUgdG8gd2FsbCgxKSBhYm91dCBzZXNzaW9ucyB3aGljaCB3aWxsIG5vdCBnZXQgbWVzc2FnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgdjIuMjQtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBiZSBjbGVhciB3aGljaCBsYXN0KDEpIGlzIGRlcHJlY2F0ZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2FsICBhZGQgLS1jb2xvciBvcHRpb24gZGVzY3JpcHRpb24gdG8gbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2FsICBzdG9wIHRlbGxpbmcgeWVhciA5OTk5IGlzIHVwcGVyIGxpbWl0ICBbU2FtaSBLZXJvbGFdCisgICAtIGNvcnJlY3Qgc2ZkaXNrIC0tYWN0aXZhdGUgaW5zdHJ1Y3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIG1hbiBwYWdlIGZvciBkbWVzZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmb3JtYXQsIGdyYW1tYXJpemUsIGFuZCBzdGFuZGFyZGl6ZSB0aGUgd2FsbCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGEgYml0IHRoZSB3b3JkaW5nIG9uIHRoZSBsb2dnZXIgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSBmb3JtYXR0aW5nIGFuZCB3b3JkaW5nIG9mIG1hbiBwYWdlcyBmb3IgZmRpc2sgYW5kIGNmZGlzayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2YgdGhlIGdldG9wdCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGdyYW1tYXIgYW5kIGNvbnNpc3RlbmN5IG9mIGNvbW1lbnRzIGluIGxvZ2luLmMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSBncmFtbWFyIGFuZCB3b3JkaW5nIG9mIHRoZSByZWxlYXNlLXNjaGVkdWxlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSBncmFtbWFyLCB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIHN1IG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2UgZGVzY3JpcHRpb24gb2YgLS1hY3RpdmF0ZSBjbGVhcmVyIG9uIG1hbiBwYWdlIG9mIHNmZGlzayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtZW50aW9uIGluIFJlbGVhc2VOb3RlcyBvbmx5IFBPIGZpbGVzIHRoYXQgd2VyZSBhY3R1YWxseSB1cGRhdGVkICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG5vcm1hbGl6ZSB0aGUgZm9ybWF0dGluZyBvZiBtYW4gcGFnZXMgZm9yIG5zZW50ZXIgYW5kIHVuc2hhcmUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbm90ZSBkZGF0ZSByZW1vdmFsICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHNsaWdodGx5IGNvcnJlY3QgdGhlIG1hbiBwYWdlIG9mIGNvbHVtbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzb3J0IG9wdGlvbnMgaW4gbGFzdCBtYW4gcGFnZSBhbHBoYWJldGljYWxseSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzb3J0IHRoZSBvcHRpb25zIGluIHRoZSBsb2dnZXIgbWFuIHBhZ2UgYWxwaGFiZXRpY2FsbHkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3RhbmRhcmRpemUgdGhlIHBocmFzZXMgZm9yIC0taGVscCBhbmQgLS12ZXJzaW9uIGluIGFsbCBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHdlYWsgZm9ybWF0dGluZyBhbmQgZ3JhbW1hciBvZiB0aGUgaXBjcm0gbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHdlYWsgdGhlIGdyYW1tYXIgb2YgYW4gYWdldHR5IG1hbi1wYWdlIGZyYWdtZW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHR3ZWFrIHdvcmRpbmcgYW5kIGZvcm1hdHRpbmcgb2YgbGFzdCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0d2VhayB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIHVuc2hhcmUgYW5kIG5zZW50ZXIgbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHR3ZWFrIHdvcmRpbmcsIGdyYW1tYXIgYW5kIGZvcm1hdHRpbmcgb2YgZmRpc2sgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSB2Mi4yNC1SZWxlYXNlTm90ZXMgIFtLYXJlbCBaYWtdCitlamVjdDoKKyAgIC0gQ2hlY2sgaG9zdF9zdGF0dXMgYW5kIGRyaXZlcl9zdGF0dXMgd2hlbiB1c2luZyBTR19JTy4gIFtLYXJlbCBaYWtdCisgICAtIGFzc2lnbmVkIHZhbHVlIGlzIG5ldmVyIHJlYWQgW2NsYW5nLWFuYWx5emVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1bmxvY2sgZG9vciBiZWZvcmUgaXNzdWluZyBDRFJPTUVKRUNUIGNvbW1hbmQgIFtBYXJvbiBMdV0KK2V4ZWNfc2hlbGw6CisgICAtIGFkZCBhIGxpY2Vuc2UgYW5kIHRvdWNoIHVwIGZ1bmMgZGVmICBbTWlrZSBGcnlzaW5nZXJdCitmYWxsb2NhdGU6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2ZkZm9ybWF0OgorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCitmZGlzazoKKyAgIC0gKGJzZCkgKk9TRiAtLT4gKkJTRCAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgYWRkIGJzZF9nZXRfcGFydGl0aW9uX3N0YXR1cygpICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSBjbGVhbiB1cCBCU0RfTEFCRUwqIG1hY3JvcyAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgY2xlYW4gdXAgaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGNsZWFudXAgYm9vdHN0cmFwIGluc3RhbGwgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgY2xlYW51cCBkcml2ZXIgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGNsZWFudXAgbGFiZWwgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGNvZGluZyBzdHlsZSwgcmVtb3ZlIHVubmVjZXNzYXJ5ICNpZmRlZiAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgZmluYWwgY29kZSBjbGVhbiB1cCAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgZml4IGFkZC9saW5rIHBhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgaW1wbGVtZW50IHJlZ3VsYXIgYnNkIG1lbnUgY2FsbGJhY2sgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIG1pbm9yIGNvZGUgY2xlYW4gdXAgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIG1vdmUgYnNkYnVmZmVyIHRvIGZkaXNrX2JzZF9sYWJlbCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIG1vdmUgZ2xvYmFsIGxhYmVsIHZhcmlhYmxlcyB0byBmZGlza19ic2RfbGFiZWwgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSByZW1vdmUgZGVhZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSByZW1vdmUgZ2VuZXJpYyBhY3Rpb25zIGZyb20gYnNkX2NvbW1hbmRfcHJvbXB0KCkgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIHJlbW92ZSBwcmludGYoKSBmcm9tIHRoZSBkcml2ZXIgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgcmVtb3ZlIHhic2RfIHByZWZpeCAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgcmV3cml0ZSBsaXN0IGRpc2tsYWJlbCBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgdXNlIGFzayBBUEkgZm9yIGFkZCBwYXJ0aXRpb24gZGlhbG9nICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSB1c2UgbGliZmRpc2sgZm9yIHBhcnRpdGlvbiBudW1iZXIgZGlhbG9nICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSB1c2UgbGliZmRpc2sgdG8gYXNrIGZvciBsYWJlbCBzZXR0aW5nICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSB1c2UgbWFjcm9zIGZyb20gcHQtbWJyLmggIFtLYXJlbCBaYWtdCisgICAtIChic2QpIHVzZSBwdC1ic2QuaCAgW0thcmVsIFpha10KKyAgIC0gKGJzZCkgd3JpdGUvcmVhZCBQVCBjb2RlIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGFkZCBkb3MgbWVudSBjYWxsYmFjayAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgY2xlYW4gdXAgbGlzdCBQVCBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGNsZWFudXAgcHVibGljIGZ1bmN0aW9uIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBkb24ndCBjaGVjayBmb3IgQ0hTIGluIG1vdmUtYmVnaW4gY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IG9mZnNldCBkaWFsb2cgdW5pdCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IHBvc3NpYmxlIG1lbS1sZWFrcyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbW92ZSBtYWNybyBpc19kb3NfY29tcGF0aWJsZSgpICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBtb3ZlIHB0ZSBzcGVjaWZpYyBmdW5jdGlvbiB0byBkb3MuYyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIGdsb2JhbCBwdGVzW10gIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHJlbW92ZSBnbG9iYWwgdmFyaWFibGVzIGZvciBleHRlbmRlZCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSByZW1vdmUgaW5saW5lIGZ1bmN0aW9uIGZyb20gaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHJlbW92ZSByZW1haW5pbmcgZ2xvYmFsIHZhcmlhYmxlcyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIHJlbWFpbmluZyBwcmludGYoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIHJlbWFpbmluZyByZWFkX3tpbnQsY2hhcn0oKSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHJlbW92ZSB1bm5lY2Vzc2FyeSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciBmaWxlIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSByZW5hbWUgbWVtYmVycyBpbiBzdHJ1Y3QgcHRlICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSByZW5hbWUgc3RydWN0IHBhcnRpdGlvbiB0byBkb3NfcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2UgYXNrIEFQSSBmb3IgbmV3IHBhcnRpdGlvbiBkaWFsb2cgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHVzZSBhc2sgQVBJIHRvIGNoYW5nZSBkaXNrIElEICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2UgbGliZmRpc2sgdG8gYXNrIGZvciBwYXJ0aXRpb24gdHlwZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgdXNlIHB0LW1ici5oICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgdCwgdiBhbmQgeCB0byBtZW51ICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBlbmxhcmdlIGNvbHVtbnMgaW4gbGlzdCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIChncHQsIHN1bikgdXNlIGZkaXNrX3BhcnRuYW1lKCkgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIGNsZWFudSBzZ2lfaW5mbyBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgY2xlYW51cCBib290IGZpbGUgbmFtZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBjbGVhbnVwIGRldnBhcmFtcyBmbGFncyAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgY2xlYW51cCBkaXNrIGxhYmVsIHN0cnVjdCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgZG9uJ3QgdHJ5IHRvIGNvbnZlcnQgTUJSIHRvIFNHSSAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgZml4IGNoZWNrc3VtIGNhbGN1bGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZG9uJ3QgdXNlIHJlYWRfY2hhcnMoKSB0byBhc2sgeWVzL25vIHF1ZXN0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZW1vdmUgZGVhZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZW1vdmUgZ2xvYmFsIGZyZWVsaXN0ICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZW1vdmUgbWFnaWMgc3RyaW5ncyAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgcmVtb3ZlIHByaW50ZiBmcm9tIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZXdyaXRlIHNnaV9saXN0X3RhYmxlKCkgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIHNoYXJlIGRpc2sgbGFiZWwgZGVmaW5pdGlvbiB3aXRoIGxpYmJsa2lkICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBzbWFsbCBjb2Rpbmcgc3R5bGUgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgdXNlIGFzayBBUEkgZm9yIGZpcnN0L2xhc3QgZGlhbG9ncyAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgdXNlIGNwdV90b19iZVhYKCkgYW5kIGJlWFhfdG9fY3B1KCkgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIHVzZSBzdHVmZiBmZnJvbSBwdC1tYnIuaCBhbmQgbGliZmRpc2sgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIGNvbnNvbGlkYXRlICdwJ3JpbnQgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSByZW1vdmUgZGVhZCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSB1c2UgdHQuYyB0byBsaXN0IGRpc2sgbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIC1sIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLUwgdG8gY29sb3JpemUgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLXQgPHR5cGU+IHRvIGVuYWJsZSBvbmx5IHNwZWNpZmllZCB0eXBlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgR1BUIHNwZWNpZmljIGNhbGxiYWNrIHRvIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhc2t0eXBlICJzdHJpbmciIGFuZCBzdXBwb3J0IFVVSUQgcGFydGl0aW9uIGNoYW5nZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJzZCwgZG9zIGFuZCBzZ2kgbWVudXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlLCB1c2UgY29sb3JzIGZvciAtbCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyB0byBnZW9tZXRyeSBtZW51ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWJyX2dldF9wYXJ0aXRpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBzdHVmZiB0byBkaXNwbGF5IG1lbnVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VuIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciB0aGUgTWljcm9CbGF6ZSBhcmNoaXRlY3R1cmUgIFtOYXRoYW4gUm9zc2ldCisgICAtIGFsbG93IHRvIGV4Y2hhbmdlIGNvbnRleHQgcG9pbnRlciBpbiBtZW51IGNhbGxiYWNrcyAgW0thcmVsIFpha10KKyAgIC0gYWx3YXlzIGFsbG93ICdwJ3JpbnQgY29tbWFuZCBpbiBleHBlcnQgbWVudSAgW0thcmVsIFpha10KKyAgIC0gYXNrIGZvciBwYXJ0aXRpb24gaW4gY2hhcnMgIFtLYXJlbCBaYWtdCisgICAtIGJsb29keSByZXZvbHV0aW9uIGluIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBTR0kgdmVyaWZ5IGRpc2tsYWJlbCBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzZ2kgbWVudSBjYWxsYmFja3N3cSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHdhcm5pbmcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgd3JpdGUgdGFibGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgY29kZSBpbiBmZGlzay5jICBbS2FyZWwgWmFrXQorICAgLSBkZXRlY3QgbWVudSBlbnRyaWVzIGNvbGxpc2lvbnMgaW4gZGVidWcgbW9kZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHB0ZXNbXSBpbiBnZW5lcmljIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAncicgaW4gQlNEIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtbCAgW0thcmVsIFpha10KKyAgIC0gZml4IG1hbiB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9zc2libGUgbWVtbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwcmludGYgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgaW5mbyBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbWVudXMgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZSBmb3IgQlNEIGxhYmVsICBbS2FyZWwgWmFrXQorICAgLSBtYWluKCkgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaW50ZXJuYWwgY29tbWFuZCBsaW5lIGNhc2Ugc2Vuc2l0aXZlICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIC1zIG9wdGlvbiBhcyBkZXByZWNhdGVkICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlICJjcmVhdGUgbGFiZWwiIGFjdGlvbnMgdG8gbWVudSBjYWxsYmFjayAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBkb3Mgc3BlY2lmaWMgY29kZSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBleHBlY3QgYWN0aW9ucyB0byBtZW51IGNhbGxiYWNrICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGdlb21ldHJ5IGNvbW1hbmRzIHRvIHNlcGFyYXRlIG1lbnUgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgZ2V0X25yX3NlY3RzKCkgZmRpc2suaCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSByZW1haW5pbmcgYWN0aW9ucyB0byBtZW51IGNhbGxiYWNrcyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSByZW1haW5pbmcgcHRlc1tdIGNvZGUgdG8gZmRpc2tkb3NsYWJlbC5jICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHN1biBjb21tYW5kcyB0byBzdW4gbWVudSBjYWxsYmFjayAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgZ2VvbWV0cnkgZm9yIGRvcy1jb21wYXRpYmxlIG1vZGUgdG9vICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgTWFjIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBjb21tb24uaCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG5vd2FybiBnbG9iYWwgdmFyaWFibGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvbGQgY29kZSB0byBhc2sgdXNlciAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVnbHkgZmF0YWwoKSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgY29kZSwgY29kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBDSFMgZG9zX3BhcnRpdGlvbiBzdHJ1Y3QgbWVtYmVycyAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0IGFkZCAnRycgdG8gY3JlYXRlIFNHSSBsYWJlbCB0byB0aGUgbWFpbiBtZW51ICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIGR1bXAgZmlyc3Qgc2VjdG9yIGFkZCBkdW1wIGRpc2tsYWJlbCBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSBzZXBhcmF0ZSBkaXNrcyBieSBcbiBpbiAtbCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAgbGliZmRpc2sgdG8gYXNrIGZvciBwYXJ0aXRpb24gdHlwZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX2luZm8oKSB0byBwcmludCBnZW9tZXRyeSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX3tpbmZvLHdhcm59IG9uIG1vcmUgcGxhY2VzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZnVuY3Rpb25zIGZyb20gcHQtbWJyLmggIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuZXcgbWVudSBpbmZyYXN0cnVjdHVyZSB0byB2ZXJpZnkga2V5cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIG5ldyBtZW51cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHJlbW92ZSByZWFkX2ludCgpIHVzYWdlIGZyb20gZmRpc2suYyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyBzdHVmZiAgW0thcmVsIFpha10KK2ZpbmRtbnQ6CisgICAtIGFsd2F5cyBhbGxvY2F0ZSBtZW1vcnkgZm9yIGNlbGwgdmFsdWUgIFtEYXZlIFJlaXNuZXJdCisgICAtIGF2b2lkIHVudXNlZCBwYXJhbWV0ZXIgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSB1ZGV2IHVzYWdlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSB0ZXN0IGZvciBmc3R5cGUvb3B0aW9ucy9tYWogbWluIGJlZm9yZSBzb3VyY2UgYW5kIHRhcmdldCAgW0thcmVsIFpha10KKyAgIC0gdXNlIFRUX0ZMX0ZSRUVEQVRBIGZvciB0dCB0YWJsZSAgW0thcmVsIFpha10KK2ZzY2s6CisgICAtIGRvbid0IHByaW50IHdhcm5pbmcgaWYgdGhlcmUgaXMgbm8gL2V0Yy9mc3RhYiBhdCBhbGwgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtb3VudCBmcyByZWZlcmVuY2UgY291bnRlciAgW0thcmVsIFpha10KK2ZzY2suY3JhbWZzOgorICAgLSBhZGQgTENfQ1RZUEUgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2ZzY2subWluaXg6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK2dldG9wdDoKKyAgIC0gYWRkIHJlZmVyZW5jZSB0byAvdXNyL3NoYXJlL2RvY3MgdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCitoZXhkdW1wOgorICAgLSBhZGQgbG9uZyBvcHRpb25zIHRvIHRoZSBjb21tYW5kICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBnbG9iYWwgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHJldmVydCBnbG9iYWwgZXhpdHZhbCB2YXJpYWJsZSBjaGFuZ2UgIFtTYW1pIEtlcm9sYV0KK2hleHN5bnRheDoKKyAgIC0gaW4gaGVscCB0ZXh0LCB3cmFwIGFyZ3VtZW50IG9mIG9wdGlvbiAtZSBpbiBhbmd1bGFyIGJyYWNrZXRzICBbQmVubm8gU2NodWxlbmJlcmddCitod2Nsb2NrOgorICAgLSByZW1vdmUgcmVmZXJlbmNlcyB0byBhZGp0aW1leCBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugd2FybigpIHRvIHByaW50IGNtb3MgZXJyb3JzICBbS2FyZWwgWmFrXQoraW5jbHVkZToKKyAgIC0gQWRkIG1pc3NpbmcgaW5jbHVkZXMgIFtNaWNoYWVsIEZvcm5leV0KKyAgIC0gYWRkIGNsb3NlX2ZkKCkgZm9yIG5vdGljaW5nIHdyaXRlIGVycm9ycyBiZWZvcmUgY2xvc2UoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjYXJlZnVscHV0ICBwcmludCBkZXRlcm1pbmVkIGNoYXIgd2hlbiB1bnByaW50YWJsZSBjaGFyIGlzIGZvdW5kICBbU2FtaSBLZXJvbGFdCitpbmNsdWRlL3B0LW1icjoKKyAgIC0gYWRkIGZ1bmN0aW8gdG8gc3RvcmUgbGUgIFtLYXJlbCBaYWtdCitpbmNsdWRlL3hhbGxvYzoKKyAgIC0gYWRkIHdhcm5fdW51c2VkX3Jlc3VsdCB0byBhbGxvY2F0aW9uIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KK2lwY3M6CisgICAtIGFzc2lnbmVkIHZhbHVlcyBhcmUgbmV2ZXIgcmVhZCBbY2xhbmctYW5hbHl6ZXJdICBbU2FtaSBLZXJvbGFdCitsYXN0OgorICAgLSAtLWZ1bGx0aW1lIGFuZCAtLXRpbWUtZm9ybWF0IGFyZSBtdXR1YWxseSBleGNsdXNpdmUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXByZXNlbnQgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCAtLXNpbmNlIHRpbWUgc3BlYyBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIC0tdGltZS1mb3JtYXQgd2l0aCBpc28tODYwMSBmb3JtYXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxpbmsgdG8gdXRpbC1saW51eCB0byBsYXN0LjEgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb25nIG9wdGlvbnMsIGltcHJvdmUgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgLS1maWxlIHRvIGJlIGRlZmluZWQgbXVsdGlwbGUgdGltZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgZXhwZWN0ZWQgbnVtZXJpYyB1c2VyIGlucHV0IGlzIG51bWJlciAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBmc3RhdCgpIHJldHVybiBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHRoZSBiZWdpbiBvZiB0aGUgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGNsZWFuIHVwICBbS2FyZWwgWmFrXQorICAgLSBjb25zb2xpZGF0ZSBidG1wL3d0bXAgZmlsZSBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgdGltZSBmb3JtYXR0aW5nIHRvIG9uZSBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLXByZXNlbnQgb3B0aW9uIGxvZ2ljIGVycm9yICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtYW4gcGFnZSBncm9mZiB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHR5cG8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZ2xvYmFsIHZhcmlhYmxlcyBhcmUgaW5pdGlhbGl6ZSBhdXRvbWF0aWNhbGx5IHRvIHplcm8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBzd2l0Y2ggY2FzZXMgY29tcGxldGUsIGFuZCBpbmZvcm0gaWYgaW1wb3NzaWJsZSBvY2N1cnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiBvcHRpb25hbCBhcmd1bWVudHMgaW4gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIHN5c3Zpbml0IGxhc3QvbGFzdGIgIFtPbmRyZWogT3ByYWxhXQorICAgLSBuZXZlciByZXN0cmljdCBzZXNzaW9uIHRpbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcGFyc2UgZWFzeSB0byB1c2UgdGltZSBmb3JtYXRzICBbU2FtaSBLZXJvbGFdCisgICAtIHByZWZlciBlbnVtIHJhdGhlciB0aGFuICNkZWZpbml0aW9uIGxpc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGJyb2tlbiBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBtaXN0YWtlbiAtRiwgLS1mdWxsbmFtZXMgZW50cnkgZnJvbSB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGVsbCB2ZXJiYWxseSBzeXN0ZW0gaXMgc3RpbGwgcnVubmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB0cmltIHRyYWlsaW5nIHdoaXRlIHNwYWNlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgYXMgbmFycm93IHZhcmlhYmxlIHNjb3BpbmcgYXMgcG9zc2libGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGJpdCBhcnJheSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNhcmVmdWxwdXQoKSBmb3IgcHJpbnRhYmxlIGNoYXJhY3RlciBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGNvbmZpZ3VyYXRpb24gc3RydWN0ICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4YWxsb2MuaCwgZXJyLmgsIG5scy5oIGFuZCBFWElUXyBtYWNyb3MgIFtLYXJlbCBaYWtdCitsYXN0LCB1dG1wZHVtcCwgYWdldHR5LCB3YWxsLCB3cml0ZToKKyAgIC0gYXZvaWQgY29tcGF0aWJpbGl0eSBoYWNrcyAgW1NhbWkgS2Vyb2xhXQorbGliOgorICAgLSBhZGQgY3JjNjQoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbmFtZSB0aW1lLXV0aWwuYyB0byB0aW1ldXRpbHMuYywgZml4IGhlYWRlcnMgIFtLYXJlbCBaYWtdCitsaWIvY2Fub25pY2FsOgorICAgLSB1c2UgcmVhbHBhdGgoKSBmcm9tIGxpYmMgIFtLYXJlbCBaYWtdCitsaWIvY29sb3JzOgorICAgLSBhZGQgY29sb3Jtb2RlX29yX2VycigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgYXV0bywgYWx3YXlzIGFuZCBuZXZlciBtb2RlcyAgW0thcmVsIFpha10KK2xpYi9sb29wZGV2OgorICAgLSBhc3NpZ25lZCB2YWx1ZSBpcyBuZXZlciByZWFkIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGxvb3BjeHRfY2hlY2tfc2l6ZSgpIHRvIHdvcmsgd2l0aCBibGtkZXZzICBbS2FyZWwgWmFrXQorbGliL21ic2FsaWduOgorICAgLSBpbml0aWFsaXphdGlvbnMgdmFsdWVzIGFyZSBuZXZlciByZWFkIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KK2xpYi9zdHJ1dGlsczoKKyAgIC0gbW92ZSAqc3dpdGgoKSBmdW5jdGlvbnMgdG8gcHJpdmF0ZSBsaWJyYXJ5ICBbU2FtaSBLZXJvbGFdCisgICAtIG9wdGltYWxpemUge3N0YXJ0cyxlbmRzfXdpdGgoKSAgW0thcmVsIFpha10KK2xpYi90aW1lLXV0aWw6CisgICAtIGNvcHkgdGltZSBwYXJzaW5nIGZ1bmN0aW9ucyBmcm9tIHN5c3RlbWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBZWVlZTU1EREhITU1TUyB0byBjb21tb24gcGFyc2VyICBbU2FtaSBLZXJvbGFdCitsaWIvdHQ6CisgICAtIGFkZCBUVF9GTF9GUkVFREFUQSAgW0thcmVsIFpha10KK2xpYi90dHk6CisgICAtIGRvbid0IGhhcmRjb2RlIHRlcm1pbmFsIGZkIGluIGdldF90ZXJtaW5hbF9uYW1lKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBnZXRfdGVybWluYWxfbmFtZSgpIHVzYWdlLCBjbGVhbnVwIGNvZGUgIFtLYXJlbCBaYWtdCitsaWJibGtpZDoKKyAgIC0gQWRkIGJjYWNoZSBzdXBwb3J0ICBbUm9sZiBGb2trZW5zXQorICAgLSBEZXRlY3QgZXh0ZXJuYWwgWEZTIGxvZyBkZXZpY2UgIFtFcmljIFNhbmRlZW5dCisgICAtIEdldCByaWQgb2YgYW4gdW5uZWNlc3NhcnkgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBSZUZTIG1hZ2ljIHN0cmluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyB0byBzZXQgUFRVVUlEICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBkaWZmcyBiZXR3ZWVuIGVycm9ycyBhbmQgZmFpbGVkIHByb2JpbmcgaW4gc2lsaWNvbiByYWlkICBbS2FyZWwgWmFrXQorICAgLSBkaWZmcyBiZXR3ZWVuIGVycm9ycyBhbmQgZmFpbGVkIHByb2JpbmcgaW4gdmlhIHJhaWQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGludGVycHJldCByZWd1YWwgWEZTIGFzIGV4dGVybmFsIHhmcyBsb2cgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBVVUlEPSBmb3IgeGZzIGV4dGVybmFsIGxvZyAgW0thcmVsIFpha10KKyAgIC0gZXhwb3J0IGluZm8gYWJvdXQgYmFkIGNzdW0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBibGtpZF9wYXJzZV90YWdfc3RyaW5nKCkgdG8gaWdub3JlIGluY29tcGxldGUgdGFncyAgW0thcmVsIFpha10KKyAgIC0gZml4IGtib2ZmIHVzYWdlIGluIEJTRCBwcm9iZXIgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXVpZF9pc19lbXB0eSgpIHVzYWJsZSBmb3Igd2hvbGUgbGlicmFyeSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBNQlIgZGVmaW5pdGlvbnMgdG8gaW5jbHVkZS9wdC1tYnIuaCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBNQlIgcGFydGl0aW9uIHR5cGVzIHRvIGluY2x1ZGUvICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIFNHSSBkaXNrbGFiZWwgZGVmaW5pdGlvbnMgdG8gaW5jbHVkZS8gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgYnNkIGRlZmluaXRpb25zIHRvIHB0LWJzZC5oICBbS2FyZWwgWmFrXQorICAgLSBwb3B1bGF0ZSBqYmQgTE9HVVVJRCBpbiBhZGRpdGlvbiB0byBVVUlEICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgVVVJRF9MT0cgdG8gTE9HVVVJRCAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIHN5c190eXBlIHRvIHN5c19pbmQgIFtLYXJlbCBaYWtdCisgICAtIHNldCBQVFVVSUQgZm9yIEdQVCBhbmQgRE9TICBbS2FyZWwgWmFrXQorICAgLSBzcGxpdCBibGtpZF9wYXJ0dGFibGVfc2V0X2lkKCkgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgcHNldWRvIFBBUlRVVUlEPSBmb3IgTUJSICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHByb3BlciB0eXBlIGluIHhmcyBsb2cgY2hlY2tlciBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzZXBhcmF0ZSBmdW5jdGlvbiB0byB2ZXJpZnkgY2hlY2tzdW1zICBbS2FyZWwgWmFrXQorbGliZmRpc2s6CisgICAtIChiZHMpIGNsZWFudXAgaW5jbHVkZXMgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIGxlYXZlIGNvbnRleHQgaWYgbmV3IGRpc2tsYWJlbCB1bndhbnRlZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgYWxsIGRpc2tsYWJlbCBsb2NhdGUgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGNvcnJlY3QgdGhlIGdyYW1tYXIgb2YgdGhlIGRpc2staWRlbnRpZmllciBwcm9tcHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gKGRvcykgY29zbWV0aWMgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgaW1wcm92ZSB0aGUgZ3JhbW1hciBvZiBhbiBlcnJvciBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIChncHQpICVsZCAtPiAlanUgaW4gdmVyaWZ5IGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBjbGVhbnVwIHN0cnVjdHMgbWVtYmVycyBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIG1vcmUgcm9idXN0IFBNQlIgcGFydGl0aW9uIHNpemUgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHByaW50IFVVSUQgYW5kIE5BTUUgaW4gZXhwZXJ0IG1vZGUgb25seSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgc3VwcG9ydCBmb3IgZGlza2xhYmVsIGR1bXAgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHVzZSBjb25zaXN0ZW50IGZpbmFsIHBlcmlvZCBpbiBzdGF0dXMgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gKGdwdCkgdXNlIGdlbmVyaWMgJ2NyZWF0ZWQgcGFydGl0aW9uJyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1c2UgbGliL3R0LmMgdG8gbGlzdCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBhZGQgZHJpdmVyICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSBtYWtlIGl0IG1vcmUgb2J2aW91cyB3aHkgdGhlIGZpcnN0IHNlY3RvciBtb3ZlZCAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgbW92ZSBkcml2ZXIgZnJvbSBmZGlzayB0byBsaWJyYXJ5ICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSByZW1vdmUgZHVwbGljYXRlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBBUEkgdG8gZGlzYWJsZSBzcGVjaWZpZWQgbGFiZWwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBGRElTS19ERUJVR19GUk9OVEVORCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEZESVNLX0xBQkVMX0ZMX1JFUVVJUkVfR0VPTUVUUlkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBJbnRlbCBSYXBpZCBTdGFydCBUZWNobm9sb2d5IEdVSUQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhc2t0eXBlICJzdHJpbmciIGFuZCBzdXBwb3J0IFVVSUQgcGFydGl0aW9uIGNoYW5nZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJzZCBkcml2ZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19jb250ZXh0X2VuYWJsZV9kZXRhaWxzKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19oYXNfdXNlcl9kZXZpY2VfcHJvcGVydGllcygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfcGFydG5hbWUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3Njcm91bmQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZnVuY3Rpb24gdG8gZ2V0IGRpc2tsYWJlbCBJRCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGdlbmVyaWMgZnVuY3Rpb24gdG8gc2V0IGRpc2tsYWJlbCBJRCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpc3QoKSBsYWJlbCBvcGVyYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgJ2FzaycgdHlwZSBUQUJMRSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gYWRkcmVzcyBwYXJ0aXRpb24gYnkgY2hhcnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHN1biBnZW9tZXRyeSBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBTR0kgZnVuY3Rpb25zIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHdhcm5pbmcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvcHkgYXNrIGNhbGxiYWNrIGZyb20gcGFyZW50YWwgY29udGV4dCAgW0thcmVsIFpha10KKyAgIC0gZG8gbm90IHVzZSB2YV9saXN0IGluIHRoZSBBc2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCByZS1hbGxvY2F0ZSByYW5nZSBzdHJpbmcgaW4gQXNrIEFQSSAgW0thcmVsIFpha10KKyAgIC0gZXhwbGljaXRseSBhZGQgQ09QWUlORyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBleHRlbmQgZmRpc2tfaW5mbygpIGZ1bmN0aW9uYWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjeWxpbmRlcnMgYW5kIHNlY3RvciBidWZmZXIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBmbG9hdGluZyBwb2ludCBleGNlcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZWN0b3JidWZmZXIgdXNhZ2UgaW4gZG9zIGRyaXZlciAgW0thcmVsIFpha10KKyAgIC0gZ3B0ICBhdm9pZCB1bm5lY2Vzc2FyeSBwbWJyIGNoZWNrICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSBncHQgIGxvb3NlbiBjaGVjayBmb3QgcG1iciBzaXplIGluIGxiYSAgW0RhdmlkbG9ociBCdWVzb10KKyAgIC0gaW1wcm92ZSBmZGlza19zYXZlX3VzZXJfZ2VvbWV0cnkoKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBuZXN0ZWQgY29udGV4dCBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzcGVsbGluZyBvZiB0d28gY29tbWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSBkZWZhdWx0IGdlb20gdXNhZ2UgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaXQgcG9zc2libGUgdG8gcmVzZXQgZGV2aWNlIHByb3BlcnRpZXMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGhlIGxpYnJhcnkgdXNhYmxlIHdpdGggdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgbGFiZWwgbW9kaWZpZWQgZm9yIFBNQlIgbWlzbWF0Y2ggIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgbWJyIGNvZGUgdG8gdGhlIGxpYnJhcnkgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgc3luYygpIGFuZCByZXJlYWQgUFQgY29kZSBmcm9tIGZkaXNrIHRvIGxpYmZkaXNrICBbS2FyZWwgWmFrXQorICAgLSBwcm92aWRlIG1vcmUgZGV0YWlscyBhYm91dCBHUFQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSAiZ3B0IHN1cHBvcnQgaXMgbmV3IiB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29kZSBmcm9tIHRlc3RfZmRpc2tfYXNrICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IEdQVCBwYXJ0aXRpb24gbmFtZSAobGFiZWwpIGNoYW5nZSAgW0thcmVsIFpha10KKyAgIC0gdHJlYXQgc2l6ZSBtaXNtYXRjaCBhcyBhIHdhcm5pbmcsIG5vdCBhbiBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHRlc3RfcmFuZ2VzKCkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNvbnRleHQgZ2VvbWV0cnkgaW4gU0dJIGFuZCBTVU4gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmZGlza19jb2xvbigpIGFuZCBmZGlza19zaW5mbygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmRpc2tfd2FybngoKSBpbiBmZGlza19hc2tfcGFydG51bSgpICBbS2FyZWwgWmFrXQorbGliZmRpc2svZ3B0OgorICAgLSBwYXJ0bHkgcGx1cmFsaXplIG9uZSBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitsaWJmZGlzay9zZ2k6CisgICAtIHByb3Blcmx5IHBsdXJhbGl6ZSB0aHJlZSBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0d2VhayBhbmQgaGFybW9uaXplIHNvbWUgY29tbWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdHdlYWsgYW5kIGhhcm1vbml6ZSBzb21lIG1lc3NhZ2Ugc3RyaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorbGlibW91bnQ6CisgICAtIChkb2NzKSBtYWtlIGl0IG9idmlvdXMgaG93IHdlIGNhbGwgbW91bnQuPHR5cGU+IGhlbHBlcnMgIFtLYXJlbCBaYWtdCisgICAtICh0ZXN0KSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBGaXggdHlwbyBpbiBjb21tZW50ICBbTmFtaHl1bmcgS2ltXQorICAgLSBGcmVlIHNwbGl0dGVkIG9wdHN0cidzIHdoZW4gZXJyb3Igb2NjdXJyZWQgIFtOYW1oeXVuZyBLaW1dCisgICAtIEdldCByaWQgb2YgYW4gdW5uZWNlc3NhcnkgY2hlY2sgIFtOYW1oeXVuZyBLaW1dCisgICAtIFJlbW92ZSBzdGFsZSBjb21tZW50IG9uIG1udF9jb250ZXh0X21vdW50KCkgIFtOYW1oeXVuZyBLaW1dCisgICAtIFNhdmUgZXJybm8gaWYgbWtvc3RlbXAoKSBmYWlsZWQgIFtOYW1oeXVuZyBLaW1dCisgICAtIFNldCBlYWNoIG9wdHN0cidzIHRvIE5VTEwgaWYgZmFpbGVkICBbTmFtaHl1bmcgS2ltXQorICAgLSBhZGQgYSBnZW5lcmljIGFwcGVuZF9zdHJpbmcoKSBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9uIGZvciBjb250ZXh0IHVzZXJkYXRhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb25zIHRvIGhhbmRsZSBjb21tZW50cyBpbiBmcyB0YWJsZXMgIFtPbmRyZWogT3ByYWxhLCBLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbnMgdG8gc2FmZWx5IHJlcGxhY2UgYSBmcyB0YWJsZSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBtaXNzaW5nIGRlY2xhcmF0aW9ucyB0byBsaWJtb3VudC5oLmluIGFuZCBkb2N1bWVudGF0aW9uICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIG1udF90YWJsZV9pc19lbXB0eSgpLCBpbXByb3ZlIHRhYmxlIGxpc3QgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtbnRfdGFibGVfd2l0aF9jb21tZW50cygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX3tmaXJzdCxsYXN0fV9mcygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX3tzZXQsZ2V0fV91c2VyZGF0YSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGZ1bmN0aW9uIHRvIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWZlcmVuY2UgY291bnRlciB0byBsaWJtbnRfdGFibGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZWZlcmVuY2UgY291bnRpbmcgdG8gbGlibW50X2NhY2hlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVmZXJlbmNlIGNvdW50aW5nIHRvIGxpYm1vdW50X2ZzICBbS2FyZWwgWmFrXQorICAgLSBiZSBtb3JlIHJlc3RyaWN0aXZlIGFib3V0IHZhbGlkIHRhZyBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gYmUgcm9idXN0IGZvciBlbXB0eSB0YXJnZXQvc291cmNlIHN0cmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGJlIHJvYnVzdCB3aGVuIHdvcmsgd2l0aCBsb29wZGV2IGJhY2tpbmcgZmlsZSBwYXRocyAgW0thcmVsIFpha10KKyAgIC0gY2Fub25pY2FsaXplIGZvciBjb252ZXJzaW9uIGZyb20gbG9vcGRldiBiYWNraW5nIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGNoYW5nZSB0YWlsaW5nIHRvIHRyYWlsaW5nIGluICpfdGFpbGluZ19jb21tZW50cyBmdW5jdGlvbnMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjbGVhbnVwIGxpYm1udF9mcyBsaXN0IGFmdGVyIG1udF90YWJsZV9yZW1vdmVfZnMoKSAgW0thcmVsIFpha10KKyAgIC0gY29tcG9zZSBtb3VudC48dHlwZT4gaGVscGVycyBwYXRocyBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIHJvb3QgZnMgb24gdW1vdW50IC1hICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NsYW5nLWFuYWx5emVyXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1udF9jb250ZXh0X2lzX2NoaWxkKCkgY29tbWVudCAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG9zICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZnJlZSB1c2VybmFtZSBhZnRlciBjaGVjayAgW0RhdmUgUmVpc25lcl0KKyAgIC0gbWFrZSBtbnRfZnNfe2FwLHByZX1wZW5kX29wdGlvbnMoKSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtbnRfdGFibGVfcmVwbGFjZV9maWxlKCkgbW9yZSByb2J1c3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIHJvYnVzdCBvcHRpb25zIHN0cmluZyBwYXJzaW5nICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgY2xlYW51cCBpbiB1bW91bnQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBNU19TSUxFTlQgZm9yIC97cHJvYyxldGN9L2ZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJyLmggaW4gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1lbW1vdmUgd2hlbiBvdmVybGFwIHBvc3NpYmxlICBbRGF2ZSBSZWlzbmVyXQorbG9nZ2VyOgorICAgLSBhZGQgc3VwcG9ydCBmb3IgLS1wcmlvLXByZWZpeCB3aGVuIGxvZ2dpbmcgc3RkaW4gIFtEZW5uaXMgSCBKZW5zZW5dCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgY29kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCitsb2dpbjoKKyAgIC0gdXNlIFRDU0FOT1cgdG8gcmVtb3ZlIEhVUENMICBbS2FyZWwgWmFrXQorbG9zZXR1cDoKKyAgIC0gYWRkIC0tcmF3IGFuZCAtLW5vaGVhZGluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGN1dCB0aGUgcmVtYWluaW5nIGxpdHRsZSBibG9jayBvZiBoZWxwIHRleHQgaW50byBzbGljZXMgdG9vICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGRvbid0IHJlcXVpcmUgNTEyLWJ5dGUgYWxpZ25lZCBvZmZzZXRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbG9vcCBkZXZpY2UgbmFtZSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSAtaiA8cGF0aD4gbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIHNldCBlcnJubyBmb3IgbWlzYWxpZ25lZCBvZmZzZXRzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgVFRfRkxfRlJFRURBVEEgZm9yIHR0IHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbG9vcC1jb250cm9sIHRvIGV4cGxpY2l0bHkgYXNrIGZvciBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB3YXJuX3NpemUoKSBmb3IgcmVndWxhciBmaWxlcyBvbmx5ICBbS2FyZWwgWmFrXQorbHNibGs6CisgICAtIGFkZCBTRVJJQUwgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgVFRfRkxfRlJFRURBVEEgZm9yIHR0IHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZGV2bm8gdG8gY2hlY2sgaWYgdGhlIGZpbGVzeXN0ZW0gaXMgbW91bnRlZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGRldm5vIHRvIGdldCBtb3VudHBvaW50ICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCBtYXggTUh6IHZhbHVlIHRvIG1ha2UgY3B1IGdvdmVybm9yIGVmZmVjdHMgbW9yZSB2aXNpYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB2aXJ0dWFsaXphdGlvbiB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgc3RyY2hyKCkgcmVzdWx0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBETUkgY29kZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGRldGVjdCBtb3JlIGh5cGVydmlzb3IgdmVuZG9ycyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGRvbid0IHBhc3MgbnVsbCBwb2ludGVyIHRvIHN0cmluZyBmdW5jdGlvbnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NsYW5nLWFuYWx5emVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggc2hhZG93IGRlY2xhcmF0aW9uIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwb3J0IGNwdSBtaW4gbWh6ICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgVFRfRkxfRlJFRURBVEEgZm9yIHR0IHRhYmxlICBbS2FyZWwgWmFrXQorbHNsb2NrczoKKyAgIC0gdXNlIFRUX0ZMX0ZSRUVEQVRBIGZvciB0dCB0YWJsZSAgW0thcmVsIFpha10KK21jb29raWU6CisgICAtIHBsdXJhbGl6ZSB0d28gbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK21lc2c6CisgICAtIHN5bmMgdXNhZ2UoKSB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQorbWlzYzoKKyAgIC0gdXNlIGxpYm1udF9jYWNoZSByZWZlcmVuY2UgY291bnRpbmcgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJtbnRfdGFibGUgcmVmZXJlbmNlIGNvdW50ZXIgIFtLYXJlbCBaYWtdCitta2ZzLmJmczoKKyAgIC0gY2hlY2sgd3JpdGluZyB0byBhIGZpbGUgZGVzY3JpcHRvciB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggNjQtQml0IGFuZCBlbmRpYW4gcHJvYmxlbXMgIFtpaG5vXQorbWtmcy5jcmFtZnM6CisgICAtIGFyZ3VtZW50IHRvIGZyZWUoKSBpcyBhIGNvbnN0YW50IGFkZHJlc3MgW2NsYW5nLWFuYWx5emVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1bmlmeSB3cml0ZSBjaGVjayB0byBhIGZpbGUgZGVzY3JpcHRvciAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RhbmRhcmQgZXJyb3IgbWVzc2FnZSAgW0thcmVsIFpha10KK21rZnMubWluaXg6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcHJvcGVybHkgcGx1cmFsaXplIGZvdXIgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK21rc3dhcDoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgc3dhcCBoZWFkZXIgbGltaXQgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1bmlmeSB3cml0ZSBjaGVjayB0byBhIGZpbGUgZGVzY3JpcHRvciAgW1NhbWkgS2Vyb2xhXQorbW9yZToKKyAgIC0gYXNzaWduZWQgdmFsdWUgaXMgbmV2ZXIgcmVhZCBbY2xhbmctYW5hbHl6ZXJdICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIGZvciBidWZmZXIgc2l6ZSB3aGVuIHdyaXRlIG11bHRpYnl0ZSBjaGFyICBbS2FyZWwgWmFrXQorICAgLSBmaXggYnVmZmVyIG92ZXJmbG93ICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2FybmluZyB3aGVuIGNvbXBpbGVkIC0td2l0aG91dC1uY3Vyc2VzICBbS2FyZWwgWmFrXQorICAgLSBndWFyYW50ZWUgc3BhY2UgZm9yIG11bHRpYnl0ZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBvdXRwdXQgcmVkaXJlY3Rpb24gbW9yZSBlZmZpY2llbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHZhcmlhYmxlIGxlbmd0aCBwcmludGYgZmllbGQgd2lkdGggdG8gcHJpbnQgYmxhbmtzICBbU2FtaSBLZXJvbGFdCittb3VudDoKKyAgIC0gKGRlcHJlY2F0ZWQpIGZpeCB0eXBvIHRhaWxlZC0+ZmFpbGVkICBbWXVyaSBDaG9ybm9pdmFuXQorICAgLSBhZGQgbm90ZXMgYWJvdXQgVVVJRHMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWlzdGFrZW4gd29yZCBhbmQgc29tZSBncmFtbWFyIGluIG1hbiBwYWdlIG9mIG1vdW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCByZXBlYXRpbmcgd29yZHMgaW4gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgeGZzIGRvY3MgIFtLYXJlbCBaYWtdCitub2xvZ2luOgorICAgLSBhZGQgbmV3IGNvbW1hbmQgIFtLYXJlbCBaYWtdCituc2VudGVyOgorICAgLSBBbGxvdyBzZWxlY3RpbmcgdGhlIHVpZCBhbmQgZ2lkIHRvIGJlIHVzZWQgaW4gdGhlIGVudGVyZWQgdXNlcm5zICBbUmljaGFyZCBXZWluYmVyZ2VyXQorICAgLSB1bnNoYXJlICB1c2UgTENfQUxMICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29ycmVjdCB0aHJlZSBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBwbHVyYWxpemUgb25lIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIFRUX0ZMX0ZSRUVEQVRBIGZvciB0dCB0YWJsZSAgW0thcmVsIFpha10KK3BnOgorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgTENfQUxMICBbS2FyZWwgWmFrXQorcGcuYzoKKyAgIC0gQWRkIC0taGVscCBhbmQgLS12ZXJzaW9uICBbSmFyaSBBYWx0b10KK3BvOgorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY2EucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKb3NlcCBQdWlnZGVtb250XQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBkZS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FydW4gUGVyc2F1ZF0KKyAgIC0gdXBkYXRlIGVzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbU2FudGlhZ28gVmlsYSBEb25jZWxdCisgICAtIHVwZGF0ZSBldC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW01lZWxpcyBSb29zXQorICAgLSB1cGRhdGUgZXUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNaWtlbCBPbGFzYWdhc3RpIFVyYW5nYV0KKyAgIC0gdXBkYXRlIGZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTGF1cmkgTnVybWldCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhdmlkIFByw6l2b3RdCisgICAtIHVwZGF0ZSBnbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0ZyYW4gRGnDqWd1ZXpdCisgICAtIHVwZGF0ZSBoci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1RvbWlzbGF2IEtyem5hcl0KKyAgIC0gdXBkYXRlIGh1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbR2Fib3IgS2VsZW1lbl0KKyAgIC0gdXBkYXRlIGlkLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQXJpZiBFLiBOdWdyb2hvXQorICAgLSB1cGRhdGUgaXQucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNYXJjbyBDb2xvbWJvXQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgcHRfQlIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtSYWZhZWwgRmVycmVpcmFdCisgICAtIHVwZGF0ZSBwdF9CUi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1JvZHJpZ28gU3R1bHplciBMb3Blc10KKyAgIC0gdXBkYXRlIHJ1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGF2ZWwgTWFyeWFub3ZdCisgICAtIHVwZGF0ZSBzbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1NpbW9uIE1paGV2Y10KKyAgIC0gdXBkYXRlIHN2LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGFuaWVsIE55bGFuZGVyXQorICAgLSB1cGRhdGUgdHIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyXQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIHVwZGF0ZSB1dGlsLWxpbnV4LnBvdCAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0ZVTEwgTkFNRV0KKyAgIC0gdXBkYXRlIHZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVHLhuqduIE5n4buNYyBRdcOibl0KKyAgIC0gdXBkYXRlIHpoX0NOLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbV3lsbWVyIFdhbmddCisgICAtIHVwZGF0ZSB6aF9UVy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1dlaS1MdW4gQ2hhb10KK3BybGltaXQ6CisgICAtIGRlbGV0ZSByZW1fcHJsaW0gcHJvdG90eXBlICBbRGF2aWRsb2hyIEJ1ZXNvXQorICAgLSB1c2UgVFRfRkxfRlJFRURBVEEgZm9yIHR0IHRhYmxlICBbS2FyZWwgWmFrXQorcHlsaWJtb3VudDoKKyAgIC0gYWRkIF9faW5pdF9fLnB5ICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVncmVzc2lvbiB0ZXN0cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGJhc2ljIGNvZGUgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjaGVjayBmb3IgbW50X2ZzX2dldF90YWcoKSByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwICpfSEVMUCBzdHJpbmdzIGZvcm1hdHRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY3h0IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG9iamVjdCBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGNoYW5nZXMgaW4gY29udGV4dC5jICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgY2hhbmdlcyBpbiBmcy5jICBbS2FyZWwgWmFrXQorICAgLSBjb2Rpbmcgc3R5bGUgY2hhbmdlcyBpbiB0YWIuYyAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlIGNoYW5nZXMsIGRvbid0IHRvdWNoIENvbnRleHQoKSBzdGF0dXMgIFtLYXJlbCBaYWtdCisgICAtIGZzLmMgLSBjbGVhbnVwLCByZW1vdmUgbGlibW91bnQgcHJpdmF0ZSBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBoZWxwcyBzdHJpbmdzIGZvcm1hdHRpbmcgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGFiIHBhcnNlcnMgbW9yZSByb2J1c3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgQ29udGV4dF9nZXRfdGFibGUoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGJpbmRzcmMgZnJvbSBmcyBBUEkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZXdyaXRlIHRvIGJlIHB5Mi9weTMgdW5pdmVyc2FsICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIGxpYm1vdW50IHJlZmVyZW5jZSBjb3VudGluZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIG1udF9mc19zZXRfdXNlcmRhdGEoKSByYXRoZXIgdGhhbiAtPnVzZXJkYXRhICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugb25seSBwdWJsaWMgbGlibW91bnQgQVBJIGluIHRhYi5jICBbS2FyZWwgWmFrXQorcmF3OgorICAgLSB1c2UgTENfQUxMICBbS2FyZWwgWmFrXQorcmVuaWNlOgorICAgLSBleGl0IHdpdGggbm9uLXplcm8gdmFsdWUgd2hlbiBhcmd1bWVudHMgY2F1c2Ugd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KK3Jlc2l6ZXBhcnQ6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK3JldjoKKyAgIC0gZml4IG5ldyBsaW5lIHJlZ3Jlc3Npb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVkdWNlIHN0cmVhbSBjaGVja2luZyB3aGVuIGNsb3NpbmcgcmVhZC1vbmx5IGZpbGUgZGVzY3JpcHRvciAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBuZXcgbGluZSBkZXRlY3Rpb24gYW5kIGltcG9zc2libGUgdGVzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdG9wIGFkZGluZyBuZXcgbGluZSBhdCB0aGUgZW5kIHdoZW4gaW5wdXQgZG9lcyBub3QgaGF2ZSBpdCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RyaW5nIHByaW50aW5nIHJhdGhlciB0aGFuIGNoYXJhY3RlciBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KK3J1bnVzZXI6CisgICAtIHVwZGF0ZSBtYW4gcGFnZSwgYWRkIG5vdGUgYWJvdXQgLWwgdnMuIC1wICBbS2FyZWwgWmFrXQorc2QtZGFlbW9uOgorICAgLSB1cGRhdGUgZmlsZXMgdGFrZW4gZnJvbSBzeXN0ZW1kIHByb2plY3QgIFtTYW1pIEtlcm9sYV0KK3NldGFyY2g6CisgICAtIHByZWZlciBwcmVwcm9jZXNzb3IgcmF0aGVyIHRoYW4gYXV0b3Rvb2xzIGNoZWNrICBbU2FtaSBLZXJvbGFdCitzZXRwcml2OgorICAgLSBhbGxvdyBsb2dpbiBhbmQgZ3JvdXAgbmFtZSBvcHRpb24gYXJndW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgd3JpdGluZyB0byBhIGZpbGUgd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIExDX0FMTCAgW0thcmVsIFpha10KK3NldHNpZDoKKyAgIC0gYWRkIGFuIG9wdGlvbiB0byB3YWl0IGNoaWxkIHJldHVybiB2YWx1ZSAgW0RhbmllbCBLYWhuIEdpbGxtb3JdCisgICAtIGV4aXQgd2hlbiBjb250cm9sIHRlcm1pbmFsIGNhbm5vdCBiZSBzZXQgIFtTYW1pIEtlcm9sYV0KK3NldHRlcm06CisgICAtIGZpeCB0ZXJtLmgvbmN1cnNlcy5oIGluY2x1ZGUgb3JkZXJpbmcgIFtNaWtlIEZyeXNpbmdlcl0KK3NmZGlzazoKKyAgIC0gYXNzaWduZWQgdmFsdWUgaXMgbmV2ZXIgcmVhZCBbY2xhbmctYW5hbHl6ZXJdICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgdW5oaWRlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHVzYWdlKCkgZnVuY3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGRvbid0IGNhbGwgQkxLUlJQQVJUIGZvciBub24tYmxvY2sgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHdvcmQgJ2Rpc2snLiAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB5L24gbWlzbWF0Y2ggIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdW5oaWRpbmcgYXMgY29tcGxldGUgYXMgcG9zc2libGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwbGFjZSBteV93YXJuKCkgd2l0aCB3YXJueCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBsaWJjIGVycm9yIHByaW50aW5nIGZ1bmN0aW9uLCBhbmQgc3ltYm9saWMgZXhpdCB2YWx1ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lIHRvIGRldGVybWluZSBwcm9ncmFtIG5hbWUgIFtTYW1pIEtlcm9sYV0KK3N1OgorICAgLSBhZGQgaW5mbyBhYm91dCBwYW1fbGFzdGxvZyB0byBzdS4xICBbS2FyZWwgWmFrXQorICAgLSBjb25zaXN0ZW50IGFuZ3VsYXIgYnJhY2tldHMgYW5kIGxvd2VyY2FzZSBpbiBoZWxwIHRleHQgb2YgJ3N1JyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggY2F1Z2h0X3NpZ25hbCBsb2dpYyBhbmQgaW5pdGlhbGl6ZSBvbGRhY3QgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggZXhpdCBzdGF0dXMgaWYgdGVybWluYXRlZCBieSBzaWduYWwgIFtPbmRyZWogT3ByYWxhXQorICAgLSBmaXggbGFzdGxvZyBhbmQgYnRtcCBsb2dnaW5nICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgdG8gLS1sb2dpbiAgW0thcmVsIFpha10KKyAgIC0gc3VwcHJlc3MgUEFNIGluZm8gbWVzc2FnZXMgZm9yIC1jIG9yIG5vbi1sb2dpbiBzZXNzaW9ucyAgW0thcmVsIFpha10KK3N1LWNvbW1vbjoKKyAgIC0gcGx1cmFsaXplIG9uZSBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitzdWxvZ2luOgorICAgLSBjbGVhbiB1cCBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbY2xhbmctYW5hbHl6ZXJdICBbU2FtaSBLZXJvbGFdCitzd2FwbGFiZWw6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KK3N3YXBvbjoKKyAgIC0gYWxsb3cgYSBtb3JlIGZsZXhpYmxlIHN3YXAgZGlzY2FyZCBwb2xpY3kgIFtSYWZhZWwgQXF1aW5pXQorICAgLSBjaGVjayB3cml0aW5nIHRvIGEgZmlsZSBkZXNjcmlwdG9yIHdhcyBzdWNjZXNzZnVsICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBUVF9GTF9GUkVFREFUQSBmb3IgdHQgdGFibGUgIFtLYXJlbCBaYWtdCit0ZXN0czoKKyAgIC0gYWRkIFhGUyBsb2cgaW1hZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBiY2FjaGUgaW1hZ2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2FsIGRheSBjb2xvciBjb3JuZXIgY2FzZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGNhbGVuZGFyIHJlZm9ybWF0aW9uIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsYXN0KDEpIHRlc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGxvc2V0dXAgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub2xvZ2luIHRvIGJ1aWxkIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydHggcmVncmVzc2lvbiB0ZXN0cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGNoZWNrIGNhbCB3b3JrcyB3aGVuIHllYXIgaXMgZmFyIGluIGZ1dHVyZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBsYXN0KDEpIGFuZCB1dG1wZHVtcCgxKSBJUHY2IGZ1bmN0aW9uYWxpdHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29uc29saWRhdGUgUHkgdGVzdHMgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgY2FsIC0tY29sb3IgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gbHNjcHUgIGFkZCBDUFUgbWF4IE1IeiB0byB0ZXN0IHJlc3VsdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWlub3IgY2hhbmdlcyB0byBtYWtlIHRlc3RzIG1vcmUgcG9ydGFibGUgIFtLYXJlbCBaYWtdCisgICAtIG5ldyB3YXJuaW5nIGZpeCAgW0dpbGxlcyBFc3BpbmFzc2VdCisgICAtIHBhcnR4IHRlc3RzIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggZmRpc2sgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlZnJlc2ggamJkIGJsa2lkIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSByZW1haW5pbmcgc2V0IC14ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayBvdXRwdXRzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbGlibW91bnQgZnN0YWIgZnVsbCBwYXJzZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbHNjcHUgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBvZGQgb3V0cHV0IGZkaXNrIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzdW4gbGFiZWwgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlICdidHJmcycgcmF0aGVyIHRoYW4gJ2J0cmZzY3RsJyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN0YWJsZSBNQlIgSUQgIFtLYXJlbCBaYWtdCit0ZXh0dWFsOgorICAgLSBjaGFuZ2Ugc3BlbGxpbmcgb2YgImRpc2sgbGFiZWwiIHRvIHRoZSBtb3JlIGFidW5kYW50ICJkaXNrbGFiZWwiICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGVuZCBib3RoIHRoZSBzaW5ndWxhciBhbmQgdGhlIHBsdXJhbCBtZXNzYWdlIHdpdGggYSBwZXJpb2QgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZXF1YWxpemUgZm91ciBlcnJvciBtZXNzYWdlcyB3aXRoIGFscmVhZHkgZXhpc3Rpbmcgb25lcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggbWlzc3BlbGxlZCB3b3JkcyBpbiAtcmMxICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2V2ZXJhbCB0eXBvcyBhbmQgYW5ndWxhciBicmFja2V0cyBpbiBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdHlwbyBpbiBlcnJvciBtZXNzYWdlIGFuZCB1bmlmb3JtaXplIHRoZWlyIHVzZSBvZiBwZXJpb2QgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4aW5nIHR5cG9zIGluIGEgd2FybmluZyBhbmQgYW4gZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBoYXJtb25pemUgc29tZSBsb29wLWRldmljZSBlcnJvciBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGNsYXJpdHkgb2Ygc29tZSBlcnJvciBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlIHR3byBtZXNzYWdlcyBzb21ld2hhdCBlYXNpZXIgdG8gdW5kZXJzdGFuZCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBwcm9wZXJseSB1c2UgdXBwZXJjYXNlIGluIGNlcnRhaW4gYWJicmV2aWF0aW9ucyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1vdmUgZHVwbGljYXRlIG1lbnRpb24gb2YgJy0taGVscCcgZnJvbSBsc2JsayBoZWxwIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3RhbmRhcmRpemUgc29tZSAiY2Fubm90IHJlYWQiIGFuZCAic2VlayBmYWlsZWQiIGVycm9yIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN0YW5kYXJkaXplIHN5bm9wc2lzIGZvciBsb2dpbiwgYW5kIGltcHJvdmUgYW4gZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzdGFuZGFyZGl6ZSB0aGUgc3BlbGxpbmcgb2YgInN1cGVydXNlciIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdGFnIGEgdHJhbnNsYXRvciBjb21tZW50IGFuZCBwdXQgaXQgaW4gcHJvcGVyIHBsYWNlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHRpbnkgYWxwaGFiZXRpY2FsIGFuZCBncmFtbWF0aWNhbCB0d2VhayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgY29uc2lzdGVudCB3b3JkaW5nIGFuZCBwdW5jdHVhdGlvbiBpbiBmZGlzayBzdHVmZiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgdGhlIHN0YW5kYXJkIGFuZ3VsYXIgYnJhY2tldHMgZm9yIG5vbi1saXRlcmFsIGFyZ3VtZW50cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQordG9vbHM6CisgICAtIGdlbmVyYXRlIGF1dG90b29scyBmaWxlcyBpZiBtaXNzaW5nICBbU2FtaSBLZXJvbGFdCit1bDoKKyAgIC0gZW5oYW5jZSBjb21tYW5kIHBlcmZvcm1hbmNlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBjb3JyZWN0IHR5cGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzdHJpbmcgcHJpbnRpbmcgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KK3Vtb3VudDoKKyAgIC0gcHJvdmlkZSBtb3JlIGhlbHBmdWwgZXJyb3IgbWVzc2FnZSAgW0thcmVsIFpha10KK3Vuc2hhcmU6CisgICAtIGFkZCAtLWZvcmsgb3B0aW9ucyBmb3IgcGlkIG5hbWVzcGFjZXMgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gYWRkIC0tbW91bnQtcHJvYyBmb3IgcGlkIG5hbWVzcGFjZXMgIFtLYXJlbCBaYWtdCit1dG1wZHVtcDoKKyAgIC0gYWRkIG9wdGlvbiB0byB3cml0ZSB0byBhIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYXNzaWduZWQgdmFsdWVzIGFyZSBuZXZlciByZWFkIFtjbGFuZy1hbmFseXplcl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBJUHY2IGFkZHJlc3NlcyB3b3JrICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgYW5hbHl6ZXJzIGhhcHB5ICBbS2FyZWwgWmFrXQordXVpZGQ6CisgICAtIGFkZCBtaXNzaW5nIGluaXRpYWxpemVyIFtjbGFuZy1hbmFseXplcl0gIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGVycm9yIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQordmFyaW91czoKKyAgIC0gZml4IG1peGluZyBkZWNsYXJhdGlvbnMgYW5kIGNvZGUgY29tcGlsZXIgd2FybmluZ3MgW3NtYXRjaF0gIFtTYW1pIEtlcm9sYV0KK3dhbGw6CisgICAtIGFsbG93IHRvIHNwZWNpZnkgPG1lc3NhZ2U+IG9uIGNvbW1hbmQgbGluZSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgd3JpdGluZyB0byBhIGZpbGUgZGVzY3JpcHRvciB3YXMgc3VjY2Vzc2Z1bCAgW1NhbWkgS2Vyb2xhXQorICAgLSBsaW5lIHdyYXAgYXQgY29sdW1uIDc5IGFsc28gd2hlbiBsaW5lIGhhcyB0YWIgY2hhcnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBiYW5uZXIgc3lzdmluaXQgY29tcGF0aWJsZSAgW0thcmVsIFpha10KKyAgIC0gc2VuZCBtZXNzYWdlIGFsc28gdG8gc2Vzc2lvbnMgb3BlbmVkIGJ5IHVzZXIgJ3NsZWVwZXInICBbU2FtaSBLZXJvbGFdCisgICAtIHN5bmMgdXNhZ2UoKSB3aXRoIGhvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCAgW1NhbWkgS2Vyb2xhXQord2RjdGw6CisgICAtIGNoZWNrIHdyaXRpbmcgdG8gYSBmaWxlIGRlc2NyaXB0b3Igd2FzIHN1Y2Nlc3NmdWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZ2V0dGV4dGl6ZSBhbmQgcGx1cmFsaXplIG9uZSBmb3Jnb3R0ZW4gbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBwbHVyYWxpemUgb25lIHRocmljZS1yZXBlYXRlZCBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSBUVF9GTF9GUkVFREFUQSBmb3IgdHQgdGFibGUgIFtLYXJlbCBaYWtdCit3aXBlZnM6CisgICAtIEFsc28gd2lwZSBzdXBlcmJsb2NrcyB3aXRoIGJhZCBjaGVja3N1bXMgIFtHYWJyaWVsIGRlIFBlcnRodWlzXQorICAgLSBhZGQgLS1iYWNrdXAgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjbGVhbiB1cCBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBwbHVyYWxpemUgb25lIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3dyaXRlOgorICAgLSBjaGFuZ2UgZGV0ZXJtaW5hdGlvbiBjYW4gdXNlciB3cml0ZSB0byBhIHRlcm1pbmFsICBbU2FtaSBLZXJvbGFdCisKKy0gY2hhbmdlIGRldGVybWluYXRpb24gY2FuIHVzZXIgd3JpdGUgdG8gYSB0ZXJtaW5hbCAgW1NhbWkgS2Vyb2xhXQpkaWZmIC0tZ2l0IGEvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNS1SZWxlYXNlTm90ZXMgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI1LVJlbGVhc2VOb3RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWEzOGZiCi0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNS1SZWxlYXNlTm90ZXMKQEAgLTAsMCArMSwxMjkwIEBACitVdGlsLWxpbnV4IDIuMjUgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIGNvbW1hbmQgY3l0dW5lKDgpIGhhcyBiZWVuIFJFTU9WRUQgZnJvbSB1dGlsLWxpbnV4LgorCitUaGUgbm9uLWxpYm1vdW50IG1vdW50KDgpIGltcGxlbWVudGF0aW9uIGhhcyBiZWVuIFJFTU9WRUQgZnJvbSB1dGlsLWxpbnV4LgorCitUaGUgInN3YXBvbiAtLXN1bW1hcnkiIG91dHB1dCBmb3JtYXQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUKKyJzd2Fwb24gLS1zaG93Wz08Y29sdW1ucz5dIiB0aGF0IHByb3ZpZGVzIGJldHRlciBjb250cm9sIG9uIG91dHB1dCBmb3JtYXR0aW5nLgorCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCitsaWJzbWFydGNvbHM6CisgLSB0aGlzIE5FVyBTSEFSRUQgTElCUkFSWSAoYnV0IHdpdGggc3RhYmxlIEFQSSkgYWxsb3dzIHRvIHByaW50IGRhdGEgaW4KKyAgIHRhYmxlcywgdHJlZXMgb3IgcGFyc2FibGUgZm9ybWF0cywgc3VwcG9ydCBjb2xvcnMsIHNvcnRpbmcgZXRjLiBUaGUgY29kZSBoYXMKKyAgIGJlZW4gb3JpZ2luYWxseSBkZXZlbG9wZWQgZm9yIGxzYmxrKDgpIGFuZCBmaW5kbW50KDgpLgorCitjZmRpc2soOCk6CisgLSB0aGUgY29kZSBiZWVuIGNvbXBsZXRlbHkgcmV3cml0dGVuLCBub3cgaXQgdXNlcyBsaWJmZGlzayBhbmQgbGlic21hcnRjb2xzLCAKKyAgIHN1cHBvcnRzIEdQVCwgU1VOLCBTR0kgYW5kIEJTRCBkaXNrIGxhYmVscworIC0gdGhlIGNvbW1hbmQgaXMgbm8gbW9yZSBiYXNlZCBvbiBDSFMgYWRkcmVzc2luZworCitmZGlzayg4KToKKyAtIG5vIG1vcmUgcHJpbnQgc2l6ZXMgaW4gMTAyNC1ieXRlIGJsb2NrcywgYnV0IGluIHJlYWwgc2VjdG9ycyBvciBodW1hbiAKKyAgIHJlYWRhYmxlIHNpemVzIChNaUIsIFRpQiwgZXRjLikKKyAtIGFsbG93cyB0byBtb2RpZnkgR1BUIHBhcnRpdGlvbiBhdHRyaWJ1dGVzIAorCitsc2xvZ2lucygxKToKKyAtIHRoaXMgTkVXIENPTU1BTkQgbGlzdCBpbmZvcm1hdGlvbiBhYm91dCB1c2VycywgZ3JvdXBzIGFuZCBzeXN0ZW0gYWNjb3VudHMsCisgICBwcm92aWRlcyAgZGF0YSBmcm9tIGxhc3QsIHd0bXAsIGJ0bXAsIGh1c3Qgc3RhdHVzLCBwYXNzd29yZCBleHBpcmF0aW9uCisgICBzZXR0aW5ncywgU0VMaW51eCBjb250ZXh0LCBub2xvZ2luIHNldHRpbmcsIGV0Yy4gCisKK3Rlcm1pbmFsLWNvbG9ycy5kKDUpOgorIC0gdGhpcyBuZXcgZGlyZWN0b3J5IGNvbnRyb2xzIG91dHB1dCBjb2xvcml6YXRpb24gZm9yIHZhcmlvdXMgdXRpbGl0aWVzCisgLSBub3cgZG1lc2coMSkgc3VwcG9ydHMgY29sb3JzIGN1c3RvbWl6YXRpb24sIGZvciBleGFtcGxlCisgICAgICAgIGVjaG8gJ2FsZXJ0IDM3OzQxJyA+PiAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL2RtZXNnLnNjaGVtZQorICAgc2V0cyByZWQgYmFja2dyb3VuZCBmb3IgYWxlcnQgbWVzc2FnZXMuCisKK2NhbCgxKToKKyAgLSBzdXBwb3J0cyBuZXcgb3B0aW9uIC0td2VlayB0byBzaG93IHdlZWsgbnVtYmVycworCitmYWxsb2NhdGUoMSk6CisgIC0gc3VwcG9ydHMgbmV3IG9wdGlvbiAtLWRpZy1ob2xlcyB0byBkZXRlY3QgYW5kIGRpZyBob2xlcywgaXQgbWFrZXMgdGhlIAorICAgIGZpbGUgc3BhcnNlIGluLXBsYWNlLCB3aXRob3V0IHVzaW5nIGV4dHJhIGRpc2sgc3BhY2UuCisKK2ZzdHJpbSgxKToKKyAgLSBzdXBwb3J0cyBuZXcgb3B0aW9uIC0tYWxsIHRvIGRpc2NhcmQgYWxsIGZpbGVzeXN0ZW0gb24gZGV2aWNlcyB0aGF0IHN1cHBvcnRzCisgICAgVFJJTSBvcGVyYXRpb24uCisKK2hleGR1bXAoMSk6CisgIC0gdGhlIG9yaWdpbmFsIHZlcnkgb2xkIEJTRCBoYXMgYmVlbiByZWZhY3RvcmVkCisgIC0gdGhlIG91dHB1dCBmb3JtYXQgdW5pdHMgc3VwcG9ydCBjb2xvcnMgbm93LCB0aGUgY29sb3JpemVkIHJlZ2lvbnMgY291bGQgYmUKKyAgICBzcGVjaWZpZWQgYnkgdmFsdWUgb3Igb2Zmc2V0LgorCitsaWJtb3VudDoKKyAgLSB0aGUgbGlicmFyeSBhbGxvd3MgdG8gdXNlIC1zIChzbG9wcHkpIG1vdW50IGNvbW1hbmQgbGluZSBvcHRpb24gZm9yIGFsbCBleHRlcm5hbAorICAgIG1vdW50IGhlbHBlcnMuIFRoZSBvcHRpb24gd2FzIG9yaWdpbmFsbHkgTkZTIHNwZWNpZmljLgorCitsb2dnZXIoMSk6CisgIC0gc3VwcG9ydHMgbmV3IG9wdGlvbiAtLWpvdXJuYWxkIHRvIHNlbmQgc3RydWN0dXJlZCBtZXNzYWdlcyB0byBzeXN0ZW1kIGpvdXJuYWwKKworbHNibGsoOCk6CisgIC0gc3VwcG9ydHMgbmV3IGNvbW1hbmQgbGluZSBvcHRpb24gLS1zb3J0IDxjb2x1bW4+IHRvIHNvcnQgb3V0cHV0CisKK2tpbGwoMSkgYW5kIHNldHRlcm0oMSk6CisgIC0gdGhlIGNvbW1hbmRzIGhhdmUgYmVlbiByZWZhY3RvcmVkIHRvIGJlIG1vcmUgcm9idXN0CisgCisKK1RoZSBidWlsZCBzeXN0ZW0gaGFzIGJlZW4gaW1wcm92ZWQgdG8gc3VwcG9ydCB0byBidWlsZCBvbmx5IGV4cGxpY2l0bHkgc3BlY2lmaWVkCit1dGlscyBvciBsaWJzIChlLmcuIC0tZGlzYWJsZS1hbGwtcHJvZ3JhbXMgLS1lbmFibGUtbGliYmxraWQgdG8gYnVpbGQgb25seSAKK2xpYmJsa2lkKS4KKworVGhlIHByb2plY3QgdGVzdCBzdWl0ZSBoYXMgYmVlbiBpbXByb3ZlZCB0byBiZSBtb3JlIHBvcnRhYmxlIGFuZCByb2J1c3QsIHByb2plY3QKK3VzZXMgdHJhdmlzLWNpIHNlcnZpY2Ugbm93LgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjI0IGFuZCB2Mi4yNQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yNC4xIFtKYW4gMjAgMjAxNF0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNC92Mi4yNC4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNC92Mi4yNC4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjQuMiBbQXByIDI0IDIwMTRdCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjQvdjIuMjQuMi1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjQvdjIuMjQuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMjQgYW5kIHYyLjI1CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNS8KKworCithZGRwYXJ0OgorICAgLSBtaW5vciBtYW4gcGFnZSBpbXByb3ZlbWVudHMgIFtPbmRyZWogT3ByYWxhXQorYWdldHR5OgorICAgLSBGaXggaW1wbGVtZW50YXRpb24gb2Ygb3B0aW9uIC0tbm9uZXdsaW5lLiBUaGUgZmxhZyBGX05PTkwgd2FzIG5ldmVyIHNldC4gIFtCZW5qYW1pbiBSb2Jpbl0KKyAgIC0gVXBkYXRlIGhlbHAgdXNhZ2UgZnVuY3Rpb24gIFtCZW5qYW1pbiBSb2Jpbl0KKyAgIC0gYXZvaWQgdGhhdCBhZ2V0dHkgbm9yIHN1bG9naW4gYXJlIGZvb2xlZCBieSBhIHJ1bm5pbmcgcGx5bW91dGggIFtXZXJuZXIgRmlua10KKyAgIC0gYmVzaWRlIHZpcnR1YWwgY29uc29sZXMgc3VwcG9ydCB4dmMgYW5kIGh2YyBkZXZpY2UgbGluZXMgYXMgd2VsbCAgW1dlcm5lciBGaW5rXQorICAgLSBiZXR0ZXIgc3VwcG9ydCBvZiB0aGUgc3BlY2lhbCBzeXN0ZW0gY29uc29sZXMgb24gUzM5MCAgW1dlcm5lciBGaW5rXQorICAgLSBmaXggb2RkIGNoZWNrIGZvciBjaGFyZGV2L3R0eSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCB0aGUgc3BlY2lhbCB0ZXJtaW5hbCBvbiBmaXJzdCBzZXJpYWwgbGluZSBvbiBhIFMvMzkwICBbV2VybmVyIEZpbmtdCisgICAtIHVwZGF0ZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRoZSAiYmVzdCIgaW50ZXJmYWNlIGZvciBcNCBhbmQgXDYgIFtLYXJlbCBaYWtdCitiYXNoLWNvbXBsZXRpb246CisgICAtIHVwZGF0ZSBjZmRpc2sgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmYWxsb2NhdGUsIGZzdHJpbSBhbmQgbHNibGsgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayAgW0thcmVsIFpha10KK2Jsa2Rpc2NhcmQ6CisgICAtIEJMS1NTWkdFVCBmaWxscyBpbiBhbiBpbnQsIG5vdCBhIHVpbnQ2NCAgW1RoZW9kb3JlIFRzJ29dCitibGtpZDoKKyAgIC0gY29udmVydCBzdXBlcmJsb2NrcyB0byBuZXcgY2FsbGluZyBjb252ZW50aW9uICBbSGFubmVzIFJlaW5lY2tlXQorICAgLSBlc2NhcGUgcXVvdGVzIGluIHRoZSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ltcGxlIHR5cG8gIFtQaGlsbGlwIFN1c2ldCisgICAtIHN0b3Agc2Nhbm5pbmcgb24gSS9PIGVycm9yICBbSGFubmVzIFJlaW5lY2tlXQorYmxvY2tkZXY6CisgICAtIFNvbWUgbWlub3IgY29ycmVjdGlvbnMgdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSBkb24ndCB1c2UgSERJT19HRVRHRU8gIFtQaGlsbGlwIFN1c2ldCitidWlsLXN5czoKKyAgIC0gZGlzYWJsZSBpbiBVTF9CVUlMRF9JTklUKCkgb24gLS1kaXNhYmxlLWFsbC1wcm9ncmFtcyAgW0thcmVsIFpha10KK2J1aWxkOgorICAgLSBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncyAgW1J1ZWRpZ2VyIE1laWVyXQorYnVpbGQtc3lzOgorICAgLSBhZGQgLS1kaXNhYmxlLWFsbC1wcm9ncmFtcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZGlzYWJsZS1taW5peCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZW5hYmxlLXB5bGlibW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXdpdGgtc21hY2sgdG8gY29uZmlnLWdlbi5kICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfIHZhcnMgZm9yIGFsbCBMaW51eC1vbmx5IHV0aWxzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfQ0hSVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJVSUxEX0dFVE9QVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJVSUxEX3tCTEtJRCxGSU5ERlMsV0lQRUZTLEZJTkRNTlR9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQlVJTERfe0NPTCxDT0xDUlQsQ09MUk0sQ09MVU1OLEhFWERVTVAsUkVWLFRBSUxGfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJVSUxEX3tTQ1JJUFQsU0NSSVBUUkVQTEFZfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJVSUxEX3tTRkRJU0ssQkxPQ0tERVYsTUtTV0FQLElPU0laRSxNS0ZTfSAgW0thcmVsIFpha10KKyAgIC0gYWRkIEJVSUxEX3tVVUlER0VOLENBTCxMT0dHRVIsTE9PUCxNQ09PS0lFLE5BTUVJLFdIRVJFSVN9ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVUxfREVGQVVMVF9FTkFCTEUoKSBhbmQgJHVsX2RlZmF1bHRfZXN0YXRlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVUxfRVhDTFVERV9BUkNIKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkaXNhYmxlLWFsbC5jb25mIHRvIGNvbmZpZy1nZW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJzbWFydGNvbHMgdG8ga28tcmVsZWFzZS1nZW4gc2NyaXB0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBkZXBlbmRlbmNpZXMgdG8gbGlic21hcnRjb2xzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm9uLWxpYnNtYXJ0Y29scy5jb25mICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3lzLXV0aWxzL3VuYW1lMjYuOCB0byBnaXRpZ25vcmUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgYmFzaC1jb21wbGV0aW9uLyAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgc3lzdGVtZCBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjb21waWxlIGRlcHJlY2F0ZWQgbGFzdCgxKSBvbiAtLWVuYWJsZS1hbGwtcHJvZ3JhbXMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNvbm5lY3QgX0RFUEVOREVOQ0lFUyBhbmQgX0xJQkFERCAgW0thcmVsIFpha10KKyAgIC0gZW5hYmxlIGNoZm4gYW5kIGNoc2ggYnkgZGVmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gZW5hYmxlIHBhcmFsbGVsIHRlc3RzIGZvciBtYWtlIGNoZWNrICBbS2FyZWwgWmFrXQorICAgLSBleGNsdWRlIERvY3VtZW50YXRpb24vIGZyb20gbG9va2luZyBmb3IgdHJhbnNsYXRhYmxlIHN0cmluZ3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IC5oLmluIHVzYWdlIGluIGxpYmJsa2lkIGFuZCBsaWJtb3VudCAgW0thcmVsIFpha10KKyAgIC0gZml4IEVOQUJMRV9BTEwgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBVTF9CVUlMRF9JTklUKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhdXRvcG9pbnQgZ2V0dGV4dCB2ZXJzaW9uIGZ1biAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZnN0cmltIHN5c3RlbWQgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzbWFydGNvbHMucGMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvLCBsb29rIHZzIGxvb3AgKDFiMTVjYmQxKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdHlwbywgc2V0IEhBVkVfTElCVVVJRCAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8sIHNwYXJjIHZzIHNwYXJrICg2MmIyYzAyNCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHVwZGF0ZS1wb3RmaWxlcyBzY3JpcHQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHdpdGhfcHl0aG9uIHVzYWdlLCBpbXByb3ZlIGxvZ2ljICBbS2FyZWwgWmFrXQorICAgLSBmaXhlcyBmb3Igbm9uLUxpbnV4IHN5c3RlbXMgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIGZzdHJpbSBkZXBlbmRzIG9uIGxpYm1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBoYXJtb25pemUgc29tZSBpbmRlbnRhdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHRoZSBpbmZvcm1hdGl2ZSBtZXNzYWdlIHdoZW4gbm90IGJ1aWxkaW5nIHNvbWUgdXRpbCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBsaWJtb3VudC9weXRob24vX19pbml0X18ucHkgaXMgYWx3YXlzIGEgZGlzdCBmaWxlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1vdmUgbGlic21hcnRjb2xzLnNvIHRvIC9saWIgaWYgdGhleSBleGlzdHMgIFtLYXJlbCBaYWtdCisgICAtIG92ZSBmZGlza3MgdG8gZGlzay11dGlscyAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yNS1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjI1LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkZXByZWNhdGVkLW1vdW50LyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIHdob2xlZGlzay5jICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3Nhcnkgdm9pZCBjYXN0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXN0b3JlIG1ha2UgZGlzdGNoZWNrJ3MgY29uZmlndXJlIGZsYWdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNtYWxsIGZpeGVzIHRvIGxpYnNtYXJ0Y29scyAgW0thcmVsIFpha10KKyAgIC0gc29ydCBnaXRpZ25vcmUgZmlsZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCAuL2NvbmZpZ3VyZSBBREpUSU1FX1BBVEg9ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYXV0b21ha2UncyBQWVRIT04gcHJpbWFyeSBmb3IgX19pbml0X18ucHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXNlIGdldHRleHQgMC4xOC4zIGlmIHBvc3NpYmxlICBbUnVlZGlnZXIgTWVpZXJdCitidWlsZF9zeXM6CisgICAtIGZpeCBkZWZhdWx0IGVzdGF0ZSB1c2FnZSAgW0thcmVsIFpha10KK2NhbDoKKyAgIC0gYWRkIGlucHV0IHZhcmlhYmxlIG5hbWVzIHRvIGZ1bmN0aW9uIHByb3RvdHlwZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG1vbnRoIGNvbnRlbnRzIHN0cnVjdHVyZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGRlZCAtd3wtLXdlZWsgZm9yIHNob3dpbmcgd2VlayBudW1iZXJzICBbVG9tbWkgS3ludG9sYV0KKyAgIC0gYWRkZWQgYXJndW1lbnQgb3B0aW9uIGZvciAtd3wtLXdlZWsgdG8gZGlzcGxheSB0aGF0IHdlZWsgIFtUb21taSBLeW50b2xhXQorICAgLSBhZGRlZCB0d28gbWlzc2luZyB0ZXN0cyAgW1RvbW1pIEt5bnRvbGFdCisgICAtIGFsbCBvdXRwdXQgbXVzdCB1c2UgbXlfcHV0c3RyaW5nICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRldGVybWluZSBob3cgbWFueSBoZWFkZXIgbGluZXMgYXJlIG5lZWRlZCBhdCBpbml0aWFsaXphdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBkZXRlcm1pbmUgb3V0cHV0IHdpZHRoIGF0IGJlZ2lubmluZyBvZiBydW4gYW5kIHJldXNlIHJlc3VsdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQorICAgLSBpbiBtYW4gcGFnZSBhZG1pdCB0aGF0IGFueSB3ZWVrIGhhcyBqdXN0IG9uZSBTdW5kYXkgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW4gbWFuIHBhZ2UgaW1wcm92ZSBncmFtbWFyIGFuZCB3b3JkaW5nIG9mIHRoZSByZWZvcm1hdGlvbiBsaW1pdGF0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGxpbWl0IHllYXIgdG8gMzIgYml0IHZhbHVlICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgZGF5X2luX3dlZWsoKSB1c2Ugc2FtZSB2YXJpYWJsZSBuYW1lcyBhcyBvdGhlciBmdW5jdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB1c2VyIHJlcXVlc3QgdG8gYmUgcGFydCBvZiByZWFkLW9ubHkgY29udHJvbCBzdHJ1Y3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiB3aGVyZSBHcmVnb3JpYW4gcmVmb3JtYXRpb24gaGFwcGVuIGluIFNlcHRlbWJlciAxNzUyICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBvcHRpb25hbCBmcm9tIHNob3J0IGFyZyAtdyAgW1RvbW1pIEt5bnRvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBzdGF0aWMgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bnVzZWQgc3RydWN0dXJlIGFuZCBkZWZpbml0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbmFtZSBhc2NpaV93bnVtKCkgdG8gYXNjaWlfd2Vla251bSgpICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IGFzY2lpX3dlZWtudW0oKSBmdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgY29udHJvbCBzdHJ1Y3R1cmUgZm9yIHJ1biB0aW1lIGNvbmZpZ3VyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIG1vbnRoIGNvbnRlbnRzIHN0cnVjdHVyZSBmb3IgLS10aHJlZSBwcmludGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbW9udGggY29udGVudHMgc3RydWN0dXJlIGZvciAtLXllYXIgcHJpbnRpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdmFyaW91cyB0ZXN0cyBmb3Igd2VlayBudW1iZXJzICBbVG9tbWkgS3ludG9sYV0KK2NmZGlzazoKKyAgIC0gYWNjZXB0ICdzJyBhcyB3ZWxsIGFzICdTJyBmb3Igc2VjdG9ycyAgW0thcmVsIFpha10KKyAgIC0gYWN0dWFsbHkgdHJhbnNsYXRlIHRoZSBwYXJ0aXRpb24gdHlwZXMgaW4gdGhlIG1lbnUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYWRkIC0temVybyBjb21tYW5kIGxpbmUgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVUkgZm9yIGxpbmZkaXNrIG1lbnVzLCBhc2sgZm9yIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBbU29ydF0gb3BlcmF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYnJhY2VzIHRvIGVuc3VyZSBvcGVyYXRpb24gb3JkZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGNyZWF0ZSBsZWJlbCBVSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGhlbHAgc2NyZWVuICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWVudSBhY3Rpb24gZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFnZSBkb3duL3VwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGFydHR5cGUgZGlhbG9nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdXNhZ2UoKSBhbmQgc29tZSBiYXNpYyBtYWluKCkgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGJhc2ljIFVJIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBzY29scyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCwgcmVuYW1lIG1lbnVpdGVtIHN0cnVjdCAgW0thcmVsIFpha10KKyAgIC0gY29kaW5nIHN0eWxlLCBjb21tZW50cywgZXRjLiAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgbWVudSBkZXNjcmlwdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIG1lbnUgbW92ZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBvZmZlciBCU0QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb2xvcnMgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlLXRpbWUgZXJyb3IgZml4ZXMgIzU5ICBbV29sZmdhbmcgUmljaHRlcl0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGRpdmlzaW9uIGJ5IHplcm8gW2NsYW5nLWFuYWx5emVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggaGVhZGVyICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG9zc2libGUgbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2xhbmcgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICh1bmRlY2xhcmVkIHZhcmlhYmxlIHNpbmNlIGIxZjU4MzMwKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggd2FybmluZyB1c2FnZSwgaW1wcm92ZSAncycgaGVscCAgW0thcmVsIFpha10KKyAgIC0gZm9sbG93IGRlZmF1bHQgZW5kIGlmIHBvc3NpYmxlICBbS2FyZWwgWmFrXQorICAgLSBmb2xsb3cgdGVybWluYWwtY29sb3JzLmQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgYWRkIHBhcnR0eXBlIFVJICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGluZm8gbGluZSBhbmQgbWVudSB1cGRhdGVzICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGluZm8gbGluZSwgYWRkIERlbGV0ZSBhY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdHJlZSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgd3JpdGUgZGlhbG9nICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGNvZGUgbW9yZSByZWFkYWJsZSBmb3IgYW5hbHl6ZXJzIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtZW51cyBzZW5zaXRpdmUgdG8gRVNDICBbS2FyZWwgWmFrXQorICAgLSBtZW51IGFjdGlvbnMgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIG1hbiBwYWdlIGltcHJvdmVtZW50cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJlZnJlc2ggbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlb3JkZXIgYWJzdHJhY3QgUFQgYWNjb3JkaW5nIHRvIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gcmVzaXplIFVJIG9uIFNJR1dJTkNIICBbS2FyZWwgWmFrXQorICAgLSByZXN0b3JlIHRoZSBsaWNlbnNlIHRoYXQgd2FzIGxvc3QgaW4gSmFudWFyeSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzdXBwb3J0IDxzaXplPlMsIGFuZCBsb25nIGhpbnQgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgcGFydGl0aW9ucyBsaXN0IGxvbmdlciB0aGFuIHNjcmVlbiBMSU5FUyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydHMgYWxzbyB2ZXJ0aWNhbCBtZW51cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlIENPTE9SUyBzZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbWVudSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdGFibGUgaW5kZXggd2hlbiBvdXQgb2YgcmFuZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAvZGV2L3NkYSBieSBkZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgXG4gZm9yIG1lc3NhZ2VzIG9uIHN0ZG91dCBhbmQgc3RkZXJyICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVhbCBwYXJ0bm8gIFtLYXJlbCBaYWtdCisgICAtIHVzZSB0cmVlLW1vZGUgZm9yIGV4dGVuZGVkLCBjb2xvcml6ZSBmcmVlc2FwY2UgIFtLYXJlbCBaYWtdCitjaGNwdToKKyAgIC0gY2xlYW51cCByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc3Rkb3V0L3N0ZGVyciB1c2FnZSAgW0thcmVsIFpha10KK2NoZm46CisgICAtIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KK2Noc2g6CisgICAtIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KK2Noc2gsIGNoZm46CisgICAtIGFkZCBpbmZvIGFib3V0IG5vbi1sb2NhbCBzdXBwb3J0IHRvIHRoZSBtYW4gcGFnZXMgIFtLYXJlbCBaYWtdCitjb2x1bW46CisgICAtIGZpeCBtZW0gbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGluZm9ybSB1c2VyIHdoZW4gbXVsdGlieXRlIGNvbnZlcnNpb24gZXJyb3Igb2NjdXJzICBbU2FtaSBLZXJvbGFdCitjeXR1bmU6CisgICAtIHJlbW92ZSBmcm9tIHV0aWwtbGludXggIFtTYW1pIEtlcm9sYV0KK2RlbHBhcnQ6CisgICAtIG1pbm9yIG1hbiBwYWdlIGltcHJvdmVtZW50cyAgW09uZHJlaiBPcHJhbGFdCitkbWVzZzoKKyAgIC0gLXcgb3V0cHV0IG5vdCBsaW5lLWJ1ZmZlcmVkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBpbmNsdWRlICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCB1bm5lY2Vzc2FyeSB2YXJpYWJsZSBhc3NpZ25tZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIGRvbid0IHJlcG9ydCBFUElQRSAgW0thcmVsIFpha10KKyAgIC0gZml4IC0tcmF3IHplcm8gdGltZXN0YW1wIGZvciBrbXNnICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIGdldF9ib290X3RpbWUoKSB0byBsaWIvdGltZXV0aWxzICBbU2FtaSBLZXJvbGFdCisgICAtIHN1cHBvcnQgY29sb3JzIGN1c3RvbWl6YXRpb24gIFtLYXJlbCBaYWtdCitkb2NzOgorICAgLSBhZGQgYSBuZXcgY29tbWFuZCBib2lsZXJwbGF0ZSBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBmZGlzayBtYWMgc3VwcG9ydCB0byBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsc2xvZ2lucygxKSB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBsc2JsayAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgbWFrZSBkaXN0Y2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXRjaGluZyBwcm9jZXNzIHRvIGhvd3RvLWNvbnRyaWJ1dGUudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBwaWQgYWxpcyB0byBkZXByZWNhdGVkLnR4dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHYyLjI1LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gYnJpbmcgYSBmZXcgbW9yZSBtYW4gcGFnZXMgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYnJpbmcgZWlnaHQgbW9yZSBtYW4gcGFnZXMgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYnJpbmcgZml2ZSBtb3JlIG1hbiBwYWdlcyBjbG9zZXIgdG8gc3RhbmRhcmQgZm9ybWF0dGluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBicmluZyBmb3VyIG1vcmUgbWFuIHBhZ2VzIGNsb3NlciB0byBzdGFuZGFyZCBmb3JtYXR0aW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGJyaW5nIG9uZSBtb3JlIG1hbiBwYWdlIGNsb3NlciB0byBzdGFuZGFyZCBmb3JtYXR0aW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGJyaW5nIHNldmVyYWwgbWFuIHBhZ2VzIGNsb3NlciB0byBzdGFuZGFyZCBmb3JtYXR0aW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGJyaW5nIHNvbWUgbW9yZSBtYW4gcGFnZXMgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4ICJiZWhhdmlvdXIiIHZzLiAiYmVoYXZpb3IiICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFueSB3b3JkaW5nIGFuZCBzb21lIGZvcm1hdHRpbmcgaXNzdWVzIGluIHRoZSBtYW4gcGFnZSBvZiBraWxsICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBtaW5vciB0aGluZ3MgaW4gbWFuLXBhZ2UgaG93dG8gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBuYW1lIGFuZCBVUkwgb2YgMi4yNS1yYzEgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHR3byBjb21tYW5kIHJlcHJlc2VudGF0aW9ucyBpbiB0aGUgbWFuIHBhZ2Ugb2YgbW9yZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBncmFtbWFyaXplIHRoZSB1c2FnZSBob3d0byAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2YgYSBmZXcgbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgdGhlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2YgdHdvIG1hbiBwYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHRoZSB3b3JkaW5nIGFuZCBjb252ZW50aW9ucyBpbiB0aGUgbWFuLXBhZ2UgaG93dG8gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIG9mIHRoZSBtYW4gcGFnZSBvZiBjZmRpc2sgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSBoZXhkdW1wLjEgY29sb3Igc3BlY2lmaWNhdGlvbiBlYXNpZXIgdG8gdW5kZXJzdGFuZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYW55IHRpbnkgZm9ybWF0dGluZyBhbmQgd29yZGluZyBpbXByb3ZlbWVudHMgdG8gbWFuIHBhZ2Ugb2YgbW91bnQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbW91bnQgLW8gbm91c2VyIGlzIG5vdCB1c2VmdWwsIGJlIGNsZWFyZXIgYWJvdXQgdGhhdCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZWZyZXNoIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBjZmRpc2sudHh0ICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgbGlicyB4bWwvdmVyc2lvbi54bWwgdG8geG1sL3ZlcnNpb24tdXRpbHMueG1sICBbS2FyZWwgWmFrXQorICAgLSBzZXR0ZXJtLjEgYWRkIG1pc3Npbmcgb3B0aW9ucyB0byBtYW51YWwgcGFnZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXR0ZXJtLjEgYWRkIG9wdGlvbnMgY29tcGF0aWJpbGl0eSBub3RlICBbU2FtaSBLZXJvbGFdCisgICAtIHNldHRlcm0uMSBjbGVhbiB1cCBtYW51YWwgcGFnZSBncm9mZiBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8sIHdpcGUgY2hlY2sgZm9yIGZkaXNrIGFscmVhZHkgaW1wbGVtZW50ZWQgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBob3d0byByZWdhcmRzIHRvIGJ1aWxkLXN5c3RlbSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbGlua3MgdG8gaHR0cCAvL2dpdC5rZXJuZWwub3JnLyB3ZWIgcmVwb3NpdG9yeSB2aWV3cyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgdjIuMjUtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorZmFsbG9jYXRlOgorICAgLSBBZGQgIi0tZGlnLWhvbGVzIiBvcHRpb24gIFtSb2RyaWdvIENhbXBvc10KKyAgIC0gQ2xhcmlmeSB0aGF0IHNwYWNlIGNhbiBhbHNvIGJlIGRlYWxsb2NhdGVkICBbUm9kcmlnbyBDYW1wb3NdCisgICAtIEhpZGUgI2lmZGVmIHRyaWNrcyB0byBjYWxsIGZhbGxvY2F0ZSBpbiBhIGZ1bmN0aW9uICBbUm9kcmlnbyBDYW1wb3NdCisgICAtIGFkZCAtLXZlcmJvc2UsIGNsZWFuIHVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBGQUxMT0NfRkxfWkVST19SQU5HRSBzdXBwb3J0ICBbTHVrYXMgQ3plcm5lcl0KKyAgIC0gYXZvaWQgdW5uZWNlc3NhcnkgY29tcHV0YXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xhcmlmeSB1c2FnZSgpICBbUMOhZHJhaWcgQnJhZHldCisgICAtIGNvZGUgb3B0aW1hbGl6YXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggRkFMTE9DX0ZMX1pFUk9fUkFOR0UgZmxhZyBjaGVjayAgW0thcmVsIFpha10KKyAgIC0gZml4IGNoZWNrIG9mIG51bWJlciBvZiBhcmd1bWVudHMgIFtCZXJuaGFyZCBWb2Vsa2VyXQorICAgLSBmaXggbWFuIHBhZ2Ugc3lub3BzaXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtaXNzaW5nIHNlbnRpbmVsIGZvciBpc19udWwoKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAtLWRpZy1ob2xlcyAgW0thcmVsIFpha10KKyAgIC0gaW50cm9kdWNlIGFuIG9wdGlvbiAtYyB0byBzdXBwb3J0IENPTExBUFNFX1JBTkdFICBbRG9uZ3N1IFBhcmtdCisgICAtIG1ha2UgbWFuIHBhZ2UgcmVhZGFibGUgZm9yIGh1bWFucyAgW0thcmVsIFpha10KKyAgIC0gcHJlZmVyIEZBTExPQ19GTF8qIGZsYWdzIGZyb20gbGliYyBoZWFkZXJzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgT19DUkVBVCBvbmx5IGZvciB0aGUgZGVmYXVsdCBiZWhhdmlvciAgW0thcmVsIFpha10KKyAgIC0gdXNlIFBPU0lYX0ZBRFZfRE9OVE5FRUQgdG8gZGlzY2FyZCBjYWNoZWQgZGF0YSAgW0thcmVsIFpha10KKyAgIC0gdXNlIFNFRUtfREFUQSBvbiBhbHJlYWR5IHNwYXJzZSBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpLCBjbGVhbnVwIGdldG9wdF9sb25nKCkgc3R1ZmYgIFtLYXJlbCBaYWtdCitmZGZvcm1hdDoKKyAgIC0gU29tZSBtaW5vciBjaGFuZ2UgdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSBtYXRjaCB2YXJpYWJsZSBhbmQgcHJpbnQgZm9ybWF0IHR5cGVzICBbU2FtaSBLZXJvbGFdCitmZGlzazoKKyAgIC0gKGdwdCkgYWRkIEEsQixSLFMgZXhwZXJ0IGNvbW1hbmRzIHRvIG1vZGlmeSBhdHRyaWJ1dGVzICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBtb3JlIGh1bWFuIHJlYWRhYmxlIGluZm8gYWJvdXQgZnJlZSBzcGFjZSAgW0thcmVsIFpha10KKyAgIC0gYWRkICdNJyB0byBhY2Nlc3MgR1BUIG5lc3RlZCBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb25nIG9wdGlvbnMsIGNsZWFudXAgbWFuIHBhZ2UgYW5kIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IGNvbG9ycyB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGNvZGUgZHVwbGljYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgY2FyZSBhYm91dCBwYXJ0aXRpb24gdHlwZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIC0tZ2VvbS0qIHByZWZpeCBmb3IgQ0hTIG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAncCdyaW50IGVycm9yIG9uIGVtcHR5IFBUICBbS2FyZWwgWmFrXQorICAgLSBmaXggbmFzdHkgY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQorICAgLSBmaXggcHJpbnRmIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXNhZ2UoKSwgLWwgWzxkaXNrPl0gIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIGZkaXNrLWFzay5jIHRvIGZkaXNrLmMgIFtLYXJlbCBaYWtdCisgICAtIHByaW50IHRhYmxlIGhlYWRlciBhcyBib2xkICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29kZSAgW0thcmVsIFpha10KKyAgIC0gcmVvcmRlciBpbnRybyB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBjb2xvcnMgY3VzdG9taXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIEFTS1RZUEVfTUVOVSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN5c2ZzX2Rldm5vX2lzX3dob2xlZGlzaygpICBbS2FyZWwgWmFrXQorZmluZGZzOgorICAgLSBhZGQgYWJpbGl0eSB0byB3b3JrIHdpdGggUEFSVHtVVUlELExBQkVMfT0gdG9vICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3ltYm9saWMgZXhpdCB2YWx1ZXMsIGFuZCB0ZWxsIGFib3V0IHRoZW0gaW4gbWFudWFsICBbU2FtaSBLZXJvbGFdCitmaW5kbW50OgorICAgLSBhZGQgLS1ieXRlcyB0byBwcmludCBzaXplcyBpbiBieXRlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbm9jYW5vbmljYWxpemUgdG8gYXZvaWQgcmVhbHBhdGgoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC1VIHRvIGRlLWRlcGxpY2F0ZSBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBmbGFncyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtaW5pbWFsbHkgaW1wcm92ZSB3b3JkaW5nIG9mIHVzYWdlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbW9yZSByb2J1c3QgdXNhZ2Ugb2YgY29sdW1uc1tdICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBjYWNoZV9zZXRfdGFyZ2V0cygpICBbS2FyZWwgWmFrXQorICAgLSBzbGlnaHRseSBpbXByb3ZlIHdvcmRpbmcgYW5kIGZvcm1hdHRpbmcgaW4gbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHVzZSBtbnRfY2FjaGVfc2V0X3RhcmdldHMoKSBmb3Igbm9uLWtlcm5lbCB0YWJsZSAgW0VyaWMgUmFubmF1ZF0KK2Zsb2NrOgorICAgLSBDaGFuZ2UgdGhlICdleGl0IHN0YXR1cycgbWFuIHBhZ2Ugc2VjdGlvbiB0byBtYWtlIG1vcmUgc2Vuc2UgIFtXaWVsYW5kIEhvZmZtYW5uXQorICAgLSBkb2N1bWVudCBleGl0IHN0YXR1cyBvZiBmbG9jayBpbiBtYW4gcGFnZSAgW1BoaWxsaXAgU3VzaV0KKyAgIC0gdXNlIG5mczQgZmFsbGJhY2sgb24gRUJBREYgdG9vICBbS2FyZWwgWmFrXQorZnNjazoKKyAgIC0gU29tZSB0eXBvZ3JhcGhpY2FsIGNvcnJlY3Rpb25zIHRvIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gYWRkIGV4dDQgdG8gbGlzdCBvZiBmaWxlc3lzdGVtcyB3aXRoIHByb2dyZXNzIGJhcnMgaW4gZnNjayBtYW4gcGFnZSAgW1BoaWxsaXAgU3VzaV0KKyAgIC0gZG9uJ3QgcmV0dXJuIGVycm9yIGlmIGZzY2suPHR5cGU+IGRvZXMgbm90IGV4aXN0ICBbS2FyZWwgWmFrXQorICAgLSB1bmluaXRpYWxpemVkIGFyZ3VtZW50IHZhbHVlIFtjbGFuZy1hbmFseXplXSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHByaXZhdGUgbG9jayBmaWxlIHJhdGhlciB0aGFuIHdob2xlLWRpc2sgZGlyZWN0bHkgIFtLYXJlbCBaYWtdCitmc2NrLmNyYW1mczoKKyAgIC0gYWRkIG9wdGlvbiAtLWJsb2Nrc2l6ZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhbGxvdyBzbWFsbGVyIHN1cGVyYmxvY2sgc2l6ZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2xlYW51cCB1c2FnZSgpIGFuZCB3YXJuaW5nIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBpZmRlZiB1bnVzZWQgb3V0YnVmZmVyIGFuZCBwYWdlX3NpemUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVmYWN0b3Igb3B0aW9uIC14Ly0tZXh0cmFjdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgZGVmaW5lIElOQ0xVREVfRlNfVEVTVFMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVuYW1lIHZhcmlhYmxlIHBhZ2Vfc2l6ZSB0byBibGtzaXplICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHVwZGF0ZSBtYW4gcGFnZSAoLS1leHRyYWN0IGFuZCAtLWJsb2Nrc2l6ZSkgIFtSdWVkaWdlciBNZWllcl0KK2ZzY2subWluaXg6CisgICAtIEEgZmV3IHR5cG9ncmFwaGljYWwgY29ycmVjdGlvbnMgdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorZnN0cmltOgorICAgLSBhZGQgLS1hbGwgdG8gZGlzY2FyZCBhbGwgZmlsZXN5c3RlbSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGhpbnQgdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzeXN0ZW1kIHVuaXRzICBbVGhvbWFzIELDpGNobGVyXQorICAgLSBhdm9pZCBUT0NUT1UgcmFjZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGRhaWx5IC0+IHdlZWtseSBpbiBzeXN0ZW1kIHRpbWVyICBbS2FyZWwgWmFrXQorICAgLSBkZS1kdXBsaWNhdGUgbGlzdCBvZiBmaWxlc3lzdGVtcyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2dldG9wdDoKKyAgIC0gZ2V0b3B0LjEgVGhlIHVzdWFsIGRvYyBkaXIgaXMgL3Vzci9zaGFyZS9kb2MsIG5vdCAuLi4vZG9jcyAgW1ZpbGxlIFNreXR0w6RdCitoZXhkdW1wOgorICAgLSBDcmVhdGUgc3RydWN0IGhleGR1bXAgY29udGFpbmluZyBwcmV2aW91c2x5IGdsb2JhbCB2YXJpYWJsZXMuICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gTWVyZ2UgaGV4c3ludGF4LmMgaW50byBoZXhkdW1wLmMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBSZW5hbWUgc3RydWN0IF9wciB0byBzdHJ1Y3QgaGV4ZHVtcF9wciBhbmQgcmVtb3ZlIGl0J3MgdHlwZWRlZiAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCAtLWNvbG9yIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSB0byBiYWQqKCkgZnVuY3Rpb25zICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGJhc2ljIHRlc3RzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGhpZ2hsaWdodGluZyBzdXBwb3J0ICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIHRoZSBwcmVmaXggJ2hleGR1bXAtJyB0byB7Y29udixkaXNwbGF5LHBhcnNlfS5jICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gY2F0Y2ggbWVtb3J5IGxlYWtzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gY2xlYW51cCBvZiByZWR1bmRhbnQgc3ltYm9scy9yZXBlYXRpbmcgbGl0ZXJhbHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjb2xvciB1bml0IG1heSBub3cgYmUgbG9uZ2VyIHRoYW4gdGhlIGNvcnJlc3BvbmRpbmcgZm9ybWF0IHVuaXQgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjb252ZXJ0IGEgdmFyaWFibGUgdHlwZSBhY2NvcmRpbmcgd2l0aCBmbXQgIFtBbmRyZXcgVmFnaW5dCisgICAtIGRlbGV0ZSByZWR1bmRhbnQgdHlwZWNhc3RzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZG9uJ3QgYWNjZXNzIGhleCBhZnRlciBmcmVlaW5nIGl0ICBbQW5kcmV3IFZhZ2luXQorICAgLSBmb3JtYXR0aW5nIGFuZCB2YXJpYWJsZSBuYW1lIGNsZWFudXAgIFtPbmRyZWogT3ByYWxhXQorICAgLSBnZXQgcmlkIG9mIHJlZHVuZGFudCB0eXBlY2FzdHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBtYWtlIGFkZGZpbGUoKSB2YXJpYWJsZSBuYW1lcyBtb3JlIGhpbnRpbmcgb2YgdGhlaXIgcHVycG9zZSAgW09uZHJlaiBPcHJhbGFdCisgICAtIG1pbm9yIGZvcm1hdHRpbmcgaW1wcm92ZW1lbnRzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gbWlub3IgZm9ybWF0dGluZyBpbXByb3ZlbWVudHMgaW4gZGlzcGxheSgpICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmVuYW1lIGFkZCB0byBhZGRfZm10ICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmVuYW1lIGluKCkgdG8gZmlyc3RfbGV0dGVyKCkgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZW5hbWUgbmV4dHtmcyxmdSxwcn0gdG8ge2ZzLGZ1LHByfWxpc3QgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZW5hbWUgcmV3cml0ZSB0byByZXdyaXRlX3J1bGVzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmVuYW1lIHN0cnVjdCBfZnMgdG8gc3RydWN0IGhleGR1bXBfZnMgYW5kIHJlbW92ZSBpdHMgdHlwZWRlZiAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJlbmFtZSBzdHJ1Y3QgX2Z1IHRvIHN0cnVjdCBoZXhkdW1wX2Z1IGFuZCByZW1vdmUgaXRzIHR5cGVkZWYgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZXdyaXRlIGFkZCgpICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmV3cml0ZSBhZGRmaWxlKCkgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZXdyaXRlIGFkZGZpbGUoKSB0byB1c2UgZ2V0bGluZSgpICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmV3cml0ZSBjbHV0dGVyZWQgY2FzZSBzdGF0ZW1lbnRzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmV3cml0ZSBlc2NhcGUoKSAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJld3JpdGUgZ2V0KCkgIFtPbmRyZWogT3ByYWxhXQorICAgLSByZXdyaXRlIG5leHQoKSAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJld3JpdGUgcmV3cml0ZSgpICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmV3cml0ZSgpIGZvcm1hdHRpbmcgaW1wcm92ZW1lbnRzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gc2ltcGxpZnkgbmV3c3ludGF4IGFyZ3VtZW50cyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHVzZSBHTlUgY2FzZSByYW5nZXMgd2hlcmUgcG9zc2libGUgIFtPbmRyZWogT3ByYWxhXQorICAgLSB1c2UgbGlzdC5oIHF1ZXVlcyBhbmQgcmV3cml0ZSByZWR1bmRhbnQgZm9yIGN5Y2xlcyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHVzZSBuZXcgY29sb3JzIEFQSSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNraXBfc3BhY2UoKSBpbiBhZGQoKSAgW09uZHJlaiBPcHJhbGFdCisgICAtIHVzZSB4YXNwcmludGYgaW4gY29udl9jKCkgIFtPbmRyZWogT3ByYWxhXQorICAgLSB1c2UgeGNhbGxvYygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgeHN0cm5jcHkgaW4gYWRkKCkgIFtPbmRyZWogT3ByYWxhXQoraHdjbG9jazoKKyAgIC0gQ2hlY2sgZHJpZnQgdmFsdWUgaW4gL2V0Yy9hZGp0aW1lICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gUHJldmVudCBleGNlc3NpdmUgZHJpZnQgdmFsdWVzICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gZml4IHBvc3NpYmxlIGhhbmcgYW5kIG90aGVyIHNldF9oYXJkd2FyZV9jbG9ja19leGFjdCgpIGlzc3VlcyAgW0NocmlzIE1hY0dyZWdvcl0KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIGludGVybmF0aW9uYWxpemluZyB0aGUgbWVzc2FnZSBvZiB0aGUgdXNlZCBpbnRlcmZhY2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc29tZXRpbWVzIG9uZSBkYXkgbGFzdHMgMjMgaG91cnMuICBbcGVwcGVdCitpbmNsdWRlL2Jvb3R0aW1lOgorICAgLSBhZGQgYSBuZXcgZmlsZSAgW0thcmVsIFpha10KK2luY2x1ZGUvYzoKKyAgIC0gZG8gbm90IGdldHRleHRpemUgYSB3b3JkbGVzcyBzdHJpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIGEgZHVwbGljYXRlIGluY2x1ZGUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2luY2x1ZGUvYy5oOgorICAgLSBhZGQgbWFjcm8gdG8gcHJpbnQgZGVmaW5pdGlvbnMgYXMgc3RyaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHByZWZlciBuYW5vc2xlZXAoKSBvdmVyIHVzbGVlcCgpICBbS2FyZWwgWmFrXQoraW5jbHVkZS9jYXJlZnVscHV0YzoKKyAgIC0gY2xlYW51cCBhbmQgYWRkIGZwdXRzX3txdW90ZWQsbm9uYmxhbmt9KCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBhIGR1cGxpY2F0ZSBpbmNsdWRlICBbQmVubm8gU2NodWxlbmJlcmddCitpbmNsdWRlL2Nsb3Nlc3RyZWFtOgorICAgLSBkb24ndCB3aXBlIGVycm5vIG9uIEVQSVBFICBbS2FyZWwgWmFrXQoraW5jbHVkZS9kZWJ1ZzoKKyAgIC0gYWRkIGFub3RoZXIgZGVidWcgbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29kaW5nIHN0eWxlICBbS2FyZWwgWmFrXQoraW5jbHVkZS9saXN0OgorICAgLSBhZGQgdm9pZCBkYXRhIHRvIHRoZSBzb3J0IGNtcCBmdW5jdGlvbiAgW0thcmVsIFpha10KK2luY2x1ZGUvc3dhcGhlYWRlci5oOgorICAgLSBlbnN1cmUgdHlwZSBzaXplcyAgW1NhbWkgS2Vyb2xhXQoraW5jbHVkZS90dDoKKyAgIC0gYWRkIGZ1bmN0aW9uIHRvIGNvbnZlcnQgdGFibGUgdG8gc3RyaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdHRfaXNfZW1wdHkoKSAgW0thcmVsIFpha10KK2luY2x1ZGUveGFsbG9jOgorICAgLSBhZGQgeHZhc3ByaW50ZigpICBbS2FyZWwgWmFrXQoraW9uaWNlOgorICAgLSBGaXggb3V0cHV0IGZvciBjYXNlIGlvY2xhc3M9PTAgIFtNaWNoYWVsIEJ1bmtdCisgICAtIGFkZCBhIG1pc3NpbmcgZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgdGhlIHdheSB0byBzcGVjaWZ5IHRoZSB0YXJnZXQgcHJvY2Vzc2VzIHdpdGggcGdpZCBhbmQgdWlkICBbTWFzYXRha2UgWUFNQVRPXQoraXBjczoKKyAgIC0gY2xlYW51cCBqdW1wbGFiZWwgc3RseWVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRvIG5vdCBnZXR0ZXh0aXplIHdvcmRsZXNzIHN0cmluZ3MgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IGlwY19tc2dfZ2V0X2luZm8gZmFsbGJhY2sgY2FzZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggaXBjX3NlbV9nZXRfaW5mbyBmYWxsYmFjayBjYXNlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBpcGNfc2htX2dldF9pbmZvIGZhbGxiYWNrIGNhc2UgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IG1lbWxlYWsgaW4gaXBjXypfZ2V0X2luZm8gZnVuY3Rpb25zICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBzaXplX3Qgb3ZlcmZsb3cgIFtLYXJlbCBaYWtdCitpc29zaXplOgorICAgLSBBIGZldyB0eXBvZ3JhcGhpY2FsIGNoYW5nZXMgdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSBtYWtlIC0tZGl2aXNvciB0byByZXF1aXJlIGFyZ3VtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgZmlsZSBuYW1lIHByaW50aW5nIGFmdGVyIGVycm9yIGRldGVybWluYXRpb24gIFtTYW1pIEtlcm9sYV0KK2tpbGw6CisgICAtIGFkZCAtLXZlcmJvc2Ugb3B0aW9uIHRvIGRpc3BsYXkgd2hhdCBpcyBraWxsZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGNvcHlyaWdodHMsIGV0Yy4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXJzZV9hcmd1bWVudHMoKSBmdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb2Rpbmcgc3R5bGUsIHNpbXBsaWZ5IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGRlcHJlY2F0IGludm9jYXRpb24gYXMgJ3BpZCcgY29tbWFuZCBuYW1lICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBidWcgaW4gLS1hbGwgc2VtYW50aWMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZmxpcCBhbGwgY29tcGFyaW9ucyB0byBiZSBpbiBzbWFsbGVyIC0gZ3JlYXRlciBvcmRlciAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGtpbGwtYnktbmFtZSBtb3JlIG9idmlvdXMgaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugb3B0aW9ucyAtLXBpZCBhbmQgLS1xdWV1ZSBtdXR1YWxseSBleGNsdXNpdmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSB1c2FnZSgpIG5vdCB0byByZXR1cm4gIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBtYWdpYyBudW1iZXJzIGluIGJlZ2lubmluZyBvZiB0aGUgZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIHNpZ3F1ZXVlIGlucHV0cyB0byBjb250cm9sIHN0cnVjdCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaW5kaXJlY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVuYW1lIHByaW50c2lnKCkgdG8gcHJpbnRfc2lnbmFsX25hbWUoKSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIHByaW50c2lnbmFscygpIHRvIHByaW50X2FsbF9zaWduYWxzcHJpbnRfYWxsX3NpZ25hbHMoKSAgW0thcmVsIFpha10KKyAgIC0gcmVvcmRlciBmdW5jdGlvbnMgdG8gbWFrZSBpdCBtb3JlIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gNjQgb24gcGFydGlhbCBzdWNjZXNzICBbS2FyZWwgWmFrXQorICAgLSB0ZWxsIHdoYXQgaXMgd3JvbmcgcmF0aGVyIHRoYW4gb3V0cHV0IHVzYWdlKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdGlueSBjaGFuZ2UgaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSAtLXF1ZXVlIG9wdGlvbiBhcmd1bWVudCBhcyBzaWd2YWwgaW50ZWdlciB2YWx1ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgY29udHJvbCBzdHJ1Y3R1cmUgdG8gcGFzcyB1c2VyIGlucHV0IHRvIGZ1bmN0aW9ucyAgW1NhbWkgS2Vyb2xhXQorbGFzdDoKKyAgIC0gLS10aW1lLWZvcm1hdD1mdWxsIHNob3VsZCBkbyB0aGUgc2FtZSBsaWtlIC1GICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGF2b2lkIGxlYWRpbmcgIi0iIGJlZm9yZSAibm8gbG9nb3V0IiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggaXNfcGhhbnRvbSgpIGRldGVjdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggaXNfcGhhbnRvbSgpIGxvZ2ljIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1pbm9yIHR5cG9zIGluIHRoZSBtYW4gcGFnZSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGZpeCB1bmluaXRpYWxpemVkIGxlbmd0aCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtYWtlIHNlc3Npb24gZ29uZSBkZXRlcm1pbmF0aW9uIG1vcmUgcm9idXN0ICBbU2FtaSBLZXJvbGFdCisgICAtIG1pbm9yIGNsZWFudXAgaWYgc3RhdGVtZW50cyAgW1J1ZWRpZ2VyIE1laWVyXQorbGliL2Jvb3R0aW1lOgorICAgLSBhZGQgYSBuZXcgZmlsZSAgW0thcmVsIFpha10KK2xpYi9jYW5vbmljYWxpemU6CisgICAtIG1ha2UgRE0gY2Fub25pY2FsaXphdGlvbiBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK2xpYi9jb2xvcjoKKyAgIC0gYWRkIGNvbG9yc2NoZW1lIHBhcnNlciAgW0thcmVsIFpha10KK2xpYi9jb2xvcnM6CisgICAtIGFkZCBpbmZvIHRvIG1hbiBwYWdlcywgYWRkIHRlcm1pbmFsLWNvbG9ycy5kLjUgIFtLYXJlbCBaYWssIE9uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBzdXBwb3J0IGZvciBAdGVybSBhbmQgL2hvbWUva3phayAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRvIHRoZSBtYW4gcGFnZSBoaW50IGFib3V0ICRIT01FIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byB0ZW1wb3JhcnkgZGlzYWJsZSBjb2xvcnMgIFtLYXJlbCBaYWtdCisgICAtIGNhcmUgYWJvdXQgY29sb3JzIG9ubHkgb24gdHR5KCkgIFtLYXJlbCBaYWtdCisgICAtIGNoYW5nZSBhbiBpbmNsdWRlIHRvIGEgbG9jYWwgb25lICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGNoZWNrIGZvciAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL1t1dGlsXS5kaXNhYmxlICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZml4IGNvbG9ycyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbWVtb3J5IGxlYWsgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3VwcG9ydCA8bmFtZT4uZW5hYmxlIHRvbyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBzY2hlbWVzIGN1c3RvbWl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtYW4gcGFnZSAgW0thcmVsIFpha10KK2xpYi9maWxldXRpbHM6CisgICAtIGFkZCBta2Rpcl9wKCkgZnJvbSBsaWJtb3VudCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KCkgZnJvbSBsaWJtb3VudCAgW0thcmVsIFpha10KKyAgIC0geGFsbG9jIHN0dWZmIGluIGxpYnJhcnktbGlrZSBjb2RlICBbS2FyZWwgWmFrXQorbGliL2lzbW91bnRlZDoKKyAgIC0gbW9yZSByb2J1c3QgYnVmZmVyIHVzYWdlIFtjbGFuZy1hbmFseXplXSAgW0thcmVsIFpha10KK2xpYi9sb29wZGV2OgorICAgLSBjb21wYXJpbmcgYW4gYXJyYXkgdG8gbnVsbCBpcyBub3QgdXNlZnVsIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2xpYi9sb29wZGV2LmM6CisgICAtIHJlc2V0IGVycm5vIGJlZm9yZSBzdHJ0b2woKSBjYWxsICBbWXVyaXkgTmF6YXJvdl0KK2xpYi9tYmFsaWduOgorICAgLSBhZGQgbWJzX3NhZmVfd2lkdGgoKSBmcm9tIHR0LmMgIFtLYXJlbCBaYWtdCisgICAtIHJlcG9ydCBhbHNvIHNpemUgaW4gYnl0ZXMgIFtLYXJlbCBaYWtdCitsaWIvbWJzYWxpZ246CisgICAtIHNwbGl0IG1ic19zYWZlX2VuY29kZSgpICBbS2FyZWwgWmFrXQorbGliL3BhZ2VyOgorICAgLSB1c2UgbmFtZXMgd2hlbiByZWZlcnJpbmcgdG8gc3RhbmRhcmQgZmlsZSBkZXNjcmlwdG9ycyAgW1NhbWkgS2Vyb2xhXQorbGliL3BhdGg6CisgICAtIGFkZCBwYXRoX3N0cmR1cCgpICBbS2FyZWwgWmFrXQorbGliL3Byb2N1dGlsczoKKyAgIC0gY2hlY2sgZmdldHMoKSByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBub3RpY2Ugc2V0dWlkKCkgcHJvY2VzcyBvd25lcnNoaXAgY2hhbmdlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXNldCBlcnJubyBiZWZvcmUgc3RydG9sKCkgY2FsbCAgW1NhbWkgS2Vyb2xhXQorbGliL3N0cnV0aWxzOgorICAgLSBmaXggcGFyc2Vfc2l6ZSgpIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGRlYy5wb2ludHMgaW4gcGFyc2Vfc2l6ZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcHJvcGVyIHJldHVybiBjb2RlcyBpbiBwYXJzZV9zaXplKCkgIFtLYXJlbCBaYWtdCitsaWIvc3lzZnM6CisgICAtIGFkZCBzeXNmc19kZXZub19pc19sdm1fcHJpdmF0ZSgpIGZyb20gbGliYmxraWQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzeXNmc19kZXZub19pc193aG9sZWRpc2soKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XdW51c2VkLXZhcmlhYmxlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHNjYW5mIGZvcm1hdCBzdHJpbmcgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGRpcmVudCBkX3R5cGUgdXNhZ2UgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCitsaWIvdGVybWluYWwtY29sb3JzLmQ6CisgICAtIGxpYi90ZXJtaW5hbC1jb2xvcnMuZC41IEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KK2xpYi90aW1ldXRpbHM6CisgICAtIGZpeCBtZW1vcnkgbGVhayAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZ2V0X2Jvb3RfdGltZSBmcm9tIGxpYmNvbW1vbiAgW0thcmVsIFpha10KK2xpYi90dDoKKyAgIC0gYWRkIFRUX0ZMX01BWCB0byBmaWxsIHNjcmVlbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZHVjZSB0ZXJtIHdpZHRoIGZ1bmN0aW9uYWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0Yl9nZXRfbmxpbmVzKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0dF9saW5lX2dldF91c2VyZGF0YSgpICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBoYXJkY29kZSBzdGRvdXQgYXMgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBrZWVwIHRyYWNrIGFib3V0IG91dHB1dCBvcmRlciAgW0thcmVsIFpha10KK2xpYi90dC5jOgorICAgLSBHb29kYnllISAgW09uZHJlaiBPcHJhbGFdCitsaWJibGtpZDoKKyAgIC0gKG5pbGZzMikgY2hlY2sgYWxzbyBiYWNrdXAgc3VwZXJibG9jayAgW0thcmVsIFpha10KKyAgIC0gKHpmcykgbGV0J3Mga2VlcCBjb21waWxlciBoYXBweSAgW0thcmVsIFpha10KKyAgIC0gSWRlbnRpZnkgZXh0TiBmaWxlIHN5c3RlbSBwcm9wZXJseSAgW0x1a2FzIEN6ZXJuZXJdCisgICAtIGFkZCBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uX2J5X3BhcnRubygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXh0cmEgY2hlY2tzIHRvIFhGUyBwcm9iZXIgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaW50ZXJuYWwgcmV0dXJuIGNvZGVzICBbS2FyZWwgWmFrXQorICAgLSBjb21wYXJpbmcgYW4gYXJyYXkgdG8gbnVsbCBpcyBub3QgdXNlZnVsIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY29udmVydCBHUFQgYXR0cmlidXRlcyB0byBob3N0IGVuZGlhbm5lc3MgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3QgdGhlIHJldHVybiB2YWx1ZXMgaW4gc3F1YXNoZnMgcHJvYmUgIFtEYXZpZCBTaGVhXQorICAgLSBkZXRlY3QgYWxvbmUgUE1CUiAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IHNxdWFzaGZzIDMgdnMgNCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdpbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayBpbiBibGtpZF9wYXJzZV90YWdfc3RyaW5nKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwYXJ0aXRpb25zIHByb2JpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwcm9iZV9kZGYoKSBbY2xhbmctYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZXR1cm4gY29kZXMgZnJvbSBQQVJUX0VOVFJZXyogcHJvYmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNnaSBQVCBwYXJzZXIgdG8gcmVwb3J0IHN5c3RlbSBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3dhcC1hcmVhIHZlcnNpb24gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBwcml2YXRlIExWTSBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbmV3X3BhcnRpdGlvbigpIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBubyBtb3JlIHByb2JlIGZvciBidHJmcyBiYWNrdXAgc3VwZXJibG9jayAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHByaXZhdGUgZnVuY3Rpb24gZnJvbSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgaW5jbHVkZS9kZWJ1Zy5oICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIG5ldyBkZWJ1ZyBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCitsaWJibGtpZC9saWJibGtpZC4zOgorICAgLSBJbXByb3ZlIHRoZSB0eXBzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KK2xpYmNvbW1vbjoKKyAgIC0gYWRkIGNvbW1vbiBkZWJ1Z2dpbmcgcm91dGluZXMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBkZWZpbmUgbW9yZSBkZWJ1Z2dpbmcgbWFjcm9zICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZG9uJ3QgbWVudGlvbiBsaWIgdmVyc2lvbnMgaW4gZGVidWcgbWFjcm9zICBbT25kcmVqIE9wcmFsYV0KK2xpYmZkaXNrOgorICAgLSAoYnNkKSBmaXggb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSAoYnNkKSByZW1vdmUgZ2V0X3BhcnRpdGlvbl90eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIChic2QpIHVzZSBuZXcgZ2V0X3BhcnQoKSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGJlIG1vcmUgdmVyYm9zZSB3aGVuIGNoYW5nZSBib290YWJsZSBmbGFnICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBjYWxjdWxhdGlvbiBvZiB0b3RhbCBzaXplIGJhc2VkIG9uIENIUyBpbiBjaGVjayBmdW5jdGlvbiAgW1Rob3JzdGVuIFdpbG1lcl0KKyAgIC0gKGRvcykgY29uc29saWRhdGUgcGFydGl0aW9uIGVuZC1vZmZzZXQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgY291bnQgZmlzcnQgdXNhYmxlIExCQSB0byB0b3RhbCBudW1iZXIgb2YgdXNlZCBzZWN0b3JzICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmaXggZXh0X2luZGV4IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmaXggZnJlZSBwYXJ0IGNvdW50ZXIgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGZpeCBsb2cucGFydGl0aW9uIGRlbGV0ZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgaW1wcm92ZSBsb2dpY2FsIHBhcnRpdGlvbiByZW9yZGVyIGNvbW1hbmQgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIG1ha2UgRUJSIHBhcnNlciBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVtb3ZlIGdldF9wYXJ0aXRpb25fdHlwZSgpICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2UgY2hlY2soKSBmb3IgZG9zLWNvbWFwdGlibGUgbW9kZSBvbmx5ICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2UgbmV3IGxpc3QoKSBhbmQgZ2V0X3BhcnQoKSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHdhcm4gb24gdHlwZSAwICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgL2hvbWUgR1VJRCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgYWxsb3cgdG8gd29yayB3aXRoIGh5YnJpZCBHUFQgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBsYXN0IExCQSBjb2RlIGZvciBTX0lTUkVHICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBpbXBsZW1lbnQgJ2ZpeCBvcmRlcicgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgaW1wcm92ZSBhbmQgY2xlYW51cCByZWNvdmVyeSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBpbml0aWFsaXplIGxhc3RfbGJhLCBjbGVhbnVwIHBhLT57c3RhcnQsc2l6ZX0gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHJlY292ZXIgZnJvbSBjb3JydXB0ZWQgcHJpbWFyeS9iYWNrdXAgUFQgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHJlbW92ZSBnZXRfcGFydGl0aW9uX3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgdXNlIGVudHJ5IGF0dHJpYnV0ZXMgYXMgYml0bWFwICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1c2UgZmRpc2tfY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSAobWJyKSBmaXggbG9naWNhbCBjaGFpbiB0ZXJtaW5hdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKHNnaSkgY2xlYW51cCwgYWRkIGluZm9yIGFib3V0IHdob2xlLWRpc2sgcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSBnZW5lcmF0ZSBwYXJ0bmFtZSBhY2NvcmRpbmcgdG8gcGFydGl0aW9uIHBvc2l0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoc2dpKSByZW1vdmUgZ2V0X3BhcnRpdGlvbl90eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIHVzZSBuZXcgbGlzdCgpIGFuZCBnZXRfcGFydCgpIEFQSSAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgYWRkIGluZm8gYWJvdXQgd2hvbGUtZGlzayBwYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIGZpeCBlbmQgc2VjdG9ycyB3aXRoICsxIGVycm9yICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSByZW1vdmUgZ2V0X3BhcnRpdGlvbl90eXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIHVzZSBuZXcgbGlzdCgpIGFuZCBnZXRfcGFydCgpIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIEFTS1RZUEVfTUVOVSBhbmQgY29udGV4dCBsYXN0X2xiYSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGR1bXAgZnVuY3Rpb25zLCBtYWtlIGZyZWVzcGFjZSBjb2RlIGdlbmVyaWMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19wYXJ0aXRpb25fKl9mb2xsb3dfZGVmYXVsdCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfdGFibGVfZ2V0X25lbnRzKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBnZW5lcmljIGZ1bmN0aW9uIHRvIGNoZWNrIHBhcnRpdGlvbnMgb3JkZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgbGlzdCgpIGNvbHVtbnMsIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXJ0aXRpb25zIHJlb3JkZXIgb3BlcmF0aW9uIHRvIGxhYmVsIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZmVyZW5jZSBjb3VudGluZyB0byBmZGlza19wYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCB0byBsaXN0IGZyZWUgc3BhY2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0YWJsZSBjb250YWluZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0YWJsZSBzb3J0IGZ1bmN0aW9uLCB1c2UgaXQgaW4gZ2V0X2ZyZWVzcGFjZSAgW0thcmVsIFpha10KKyAgIC0gYWdhaW4gaW1wcm92ZSBmcmVlc3BhY2UgY29kZSAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgdHdvIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IHdyb25nIHByaW50IGZvcm1hdHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY2xlYW4gdXAgY3lsaW5kZXIgY29sdW1uICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBkZWJ1ZyBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHNjb2xzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgZG8gdGhlIHNhbWUgdGhpbmcgdHdpY2UgaW4gc2luZ2xlIGlmIHN0YXRlbWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSBkb24ndCBhc2sgZm9yIHByaS9sb2cgaWYgd2FudGVkIHN0YXJ0IHdpdGhpbiBleHRlbmRlZCBwYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGNvdW50IHNwZWNpYWwgd2hvbGUtZGlzayBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBleHRlbmQgQVBJIGRlZmluaXRpb24gdG8gbGlzdCBpbmZvIGFib3V0IHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAlanUgLT4gJXp1ICBbS2FyZWwgWmFrXQorICAgLSBmaXggYnNkX3RyYW5zbGF0ZV9mc3R5cGUoKSBmb3IgYWxwaGEgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGZkaXNrX2NvbnRleHRfYXNzaWduX2RldmljZSgpIGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmcmVlc2FwY2UgZGV0ZWN0aW9uIGZvciBuZXN0ZWQgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZml4IGxvZ2ljYWwgcGFydGl0aW9uIHJlb3JkZXIgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gZml4IHBvc3NpYmxlIG1lbW9yeSBsZWFrIFtjbGFuZy1hbmFseXplXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHByaW50ZiBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gZm9sbG93IHJlcXVlc3RlZCBzaXplIHJhdGhlciB0aGFuIHVzZSBhbGwgYXZhaWxhYmxlIHNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBpbXBsZW1lbnQgZ2VuZXJpYyBmdW5jdGlvbnMgZm9yIEZESVNLX0NPTF8gc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgY29udmVyc2lvbiB0byBzdHJpbmcgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZnJlZXNhcGNlIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaW5pdGlhbGl6ZSBsYXN0X2xiYSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBkaXNrIHN5bmMoKSBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBmaXJzdCBzZWN0b3IgYnVmZmVyIHVzYWdlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHFzb3J0X3IoKSBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBwYXJ0aXRpb24gc3R1ZmYgdG8gcGFydGl0aW9uLmMgIFtLYXJlbCBaYWtdCisgICAtIHByb3Blcmx5IGltcGxlbWVudCByZWFkLW9ubHkgbW9kZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGZkaXNrX2NvbG9uKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBmZGlza19nZXRfcGFydGl0aW9uX3R5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGxhYmVsIHNwZWNpZmljIGdldF9mcmVlc3BhY2UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB0dCBzdHVmZiBmcm9tIEFQSSAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBmcmVlc3BhY2UgY29kZSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBleHRlbmRlZCBhdHRyaWJ1dGVzIG1vZGlmaWNhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBuZXN0ZWQgTUJSICBbS2FyZWwgWmFrXQorICAgLSB0aW55IGNsZWFuIHVwIGluIGZkaXNrX3RhYmxlX3RvX3N0cmluZygpICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgR1BUIHBhcnRpdGlvbiB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX3RhYmxlIHRvIGdlbmVyYXRlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGluY2x1ZGUvZGVidWcuaCAgW09uZHJlaiBPcHJhbGFdCisgICAtIHVzZSBuZXcgZGVidWcgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcGFydGl0aW9uIHRlbXBsYXRlICBbS2FyZWwgWmFrXQorICAgLSB3YXJuIGFib3V0IG9ic29sZXRlIHNpZ25hdHVyZXMgb24gdGhlIGRldmljZSAgW0thcmVsIFpha10KK2xpYm1vdW50OgorICAgLSBGUyBpZCBhbmQgcGFyZW50IElEIGNvdWxkIGJlIHplcm8gIFtLYXJlbCBaYWtdCisgICAtIGFjY2VwdCAoZGVsZXRlZCkgcGF0aCBzdWZmaXggaW4gbW91bnRpbmZvIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBlZml2YXJmcyB0byB0aGUgbGlzdCBvZiBwc2V1ZG8gZmlsZXN5c3RlbXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGFzc2VydCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW50X3RhYmxlX3VuaXFfZnMoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWdfaXNfdmFsaWQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0YXRmc19tYWdpYy5oICBbS2FyZWwgWmFrXQorICAgLSBhZGp1c3QgdGhlIG9yZGVyaW5nIG9mIGEgI2RlZmluZSBhbmQgdHdlYWsgc29tZSBjb21tZW50cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhbGxvdyB0byB1c2UgLXMgKHNsb3BweSkgZm9yIGFsbCBleHRlcm5hbCBoZWxwZXJzICBbS2FyZWwgWmFrXQorICAgLSBhbHdheXMgdXNlIG1udF9yZXNvbHZlX3RhcmdldCgpIGluIG1udF9mc19tYXRjaF90YXJnZXQoKSAgW0thcmVsIFpha10KKyAgIC0gY2dyb3VwIG1hZ2ljIGFscmVhZHkgZGVmaW5lZCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBmaXhfb3B0c3RyKCkgcmVnYXJkcyB0byBzZWxpbnV4IGFuZCBzbWFjayAgW0thcmVsIFpha10KKyAgIC0gZGVmaW5lIEJUUkZTX1RFU1RfTUFHSUMgaWYgbWlzc2luZyAgW0Jlcm5oYXJkIFZvZWxrZXJdCisgICAtIGRvbid0IHRvdWNoIG10YWIgd2hlbiBtb3VudCAtbiBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY2FuZiBmb3JtYXQgc3RyaW5nIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gaW4gc21hY2sgcGF0aCAgW0thcmVsIFpha10KKyAgIC0gZnVydGhlciBkZWJ1Zy5oIGludGVncmF0aW9uICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gaW5pdGlhbGl6ZSAqcm9vdCB0byBOVUxMIGluIG1udF90YWJsZV9nZXRfcm9vdF9mcyAgW1Rob21hcyBCw6RjaGxlcl0KKyAgIC0gbWFrZSB0aGUgbW91bnRpbmZvIHBhcnNlciBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbW50X3Jlc29sdmVfcGF0aCAgZG9uJ3QgY2Fub25pY2FsaXplIGZzLT50YXJnZXQgZm9yIHN3YXAgIFtFcmljIFJhbm5hdWRdCisgICAtIG1udF9yZXNvbHZlX3BhdGggIHVzZSBzdHJjbXAoKSBvbmx5IGlmIGJvdGggYXJlIGNhbm9uaWNhbCAgW0VyaWMgUmFubmF1ZF0KKyAgIC0gbW50X3Jlc29sdmVfdGFyZ2V0ICB0aXB0b2UgYXJvdW5kIGFjdGl2ZSBtb3VudCBwb2ludHMgIFtFcmljIFJhbm5hdWRdCisgICAtIHJlbW92ZSBzbWFja2ZzKiBvcHRpb24gd2hlbiBTTUFDSyBub3QgZW5hYmxlZCAgW0thcmVsIFpha10KKyAgIC0gc2lsZW5jZSBzb21lIGRvY3Mgd2FybmluZ3MgIFtPbmRyZWogT3ByYWxhXQorICAgLSBzcGVjaWFsIHRyZWF0bWVudCBmb3IgYXV0byBpbiBmc3R5cGUgcGF0dGVybiAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHV0YWIgYWZ0ZXIgc3VjY2Vzc2Z1bCBleHRlcm4gaGVscGVyIG1vdW50ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbWFjcm9zIGZyb20gaW5jbHVkZS9kZWJ1Zy5oICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gdXNlIG5ldyBkZWJ1ZyBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCitsaWJzbWFydGNvbHM6CisgICAtIChkb2NzKSByZW9yZGVyIGZ1bmN0aW9ucyBpbiB2ZXJzaW9uIHNlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTQ09MU19GTF9NQVggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBiYXNpYyBmaWxlcyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBjZWxscyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBjb2x1bW5zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVidWcgYW5kIHZlcnNpb24gZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbiB0byBjb252ZXJ0IHRhYmxlIHRvIHN0cmluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGl0ZXJhdG9yICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGxpbmVzICBbS2FyZWwgWmFrLCBPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgbWlzc2luZyBDT1BZSU5HIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGNvcHlyaWdodCBub3RpZmljYXRpb25zICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIG5vdGUgYWJvdXQgZGVhbGxvY2F0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZHVjZSB0ZXJtIHdpZHRoIGZ1bmN0aW9uYWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY29sc19zb3J0X3RhYmxlKCkgIFtLYXJlbCBaYWssIFNoYWt1ciBTaGFtcyBNdWxsaWNrXQorICAgLSBhZGQgc2NvbHNfdGFibGVfaXNfZW1wdHkoKSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBzZXBhcmF0b3IgZ2V0dGVycy9zZXR0ZXJzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIHN5bWJvbHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgdGFibGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRhYmxlIHN0cnVjdCwgY2xlYW51cCByZWZjb3VudGluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRlc3QgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhbGxvdyB0byByZWFkIGxpbmVzIGFzIHRyZWUgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyBkZWFsbG9jYXRlIGluIHNjb2xzX3Jlc2V0X2NlbGwoKSAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgdmFyaWFibGUgZGVyZWZlcmVuY2UgYWZ0ZXIgcmVsZWFzZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayByZWNvdW50X3dpZHRocygpIHJldHVybiB2YWx1ZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgZmxhZ3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGZsYWdzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCB0ZXN0LmMgZXhhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gY29sb3JzIG1heSBub3cgYmUgc3BlY2lmaWVkIGFzIGh1bWFuLXJlYWRhYmxlIHN0cmluZ3MgIFtPbmRyZWogT3ByYWxhXQorICAgLSBkb2N1bWVudGF0aW9uICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZG9uJ3QgY29sb3JpemUgdHJlZSBhc2NpaSBhcnQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IG1peCB3aWR0aCAoaW4gY2VsbHMpIGFuZCBzaXplIChpbiBieXRlcykgIFtLYXJlbCBaYWtdCisgICAtIGZpbGwgdGhlIHN5bWJvbCB2ZXJzaW9uIGZpbGUgIFtPbmRyZWogT3ByYWxhXQorICAgLSBmaXggYSB1c2FnZSBleGFtcGxlICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZml4IGJ1ZmZlciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwYWRkaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGVzdCAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGxpbmUgYW5kIGNlbGwgc2VwYXJhdG9ycyAgW0thcmVsIFpha10KKyAgIC0gaW5jbHVkZSBzdGRpbyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGluaXQgc3ltYm9scyB3aGVuIG5lY2Vzc2FyeSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBzb21lIGNvZGUgYXJvdW5kICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlc3VzZSBidWZmZXIgZm9yIGVuY29kZWQgZGF0YSAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0IHRoZSBjb2x1bW4gZmxhZ3MgQVBJICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcmV3cml0ZSB0ZXN0IGNvZGUgdG8gdHJlZSgxKS1saWtlIHV0aWwgIFtLYXJlbCBaYWtdCisgICAtIHNlcGFyYXRlIGZsYWdzLCBhZGQgZ2V0dGVycy9zZXR0ZXJzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gc3VwcG9ydCBhbHRlcm5hdGl2ZSBzdHJlYW1zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgYnVmZmVyIHN0cnVjdCBpbiB0YWJsZV9wcmludC5jICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbmV3IGNvbG9ycyBBUEkgIFtLYXJlbCBaYWtdCitsaWJ1dWlkOgorICAgLSAobWFuL3V1aWRfdGltZS4zKSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtICh1dWlkLjMpIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gKHV1aWRfY2xlYXIuMykgSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSAodXVpZF9jb21wYXJlLjMpIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gKHV1aWRfY29weS4zKSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtICh1dWlkX2dlbmVyYXRlKSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtICh1dWlkX2lzX251bGwuMykgSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSAodXVpZF9wYXJzZS4zKSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtICh1dWlkX3VucGFyc2UuMykgSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorbGluZmRpc2s6CisgICAtIGFsaWduIGZyZWUgc3BhY2UgIFtLYXJlbCBaYWtdCitsb2dnZXI6CisgICAtIGFsbG93IHVzZXIgdG8gc2VuZCBzdHJ1Y3R1cmVkIGpvdXJuYWxkIG1lc3NhZ2VzICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIG51bWVyaWMgcHJpb3JpdHkgYW5kIGZhY2lsaXR5IGlucHV0IHZhbHVlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmYWlsIHdoZW4gaW8gdmVjdG9yIG51bWJlciBleGNlZWRzIG1heGltdW0gIFtTYW1pIEtlcm9sYV0KK2xvZ2luOgorICAgLSBleHRyYWN0IGdldF9odXNobG9naW5fc3RhdHVzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gZml4IG1pbm9yIHR5cG9zIGluIHRoZSBtYW4gcGFnZSAgW09uZHJlaiBPcHJhbGFdCitsb3NldHVwOgorICAgLSBjbGVhbiB1cCBjb2x1bW5zW10gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHNjb2xzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjbGVhciBGRCBhdCBFQlVTWSBlcnJvciBpbiBsb29wY3h0X3NldHVwX2RldmljZSgpICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gZG9uJ3QgaWdub3JlIEVCVVNZIGluIGxvc2V0dXAgd2hlbiB0aGUgbG9vcCBkZXZpY2UgaXMgZ2l2ZW4gIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBmaXggLWYgb24gc3lzdGVtcyB3aXRob3V0IC9kZXYvbG9vcC1jb250cm9sICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgd2FybmluZyBmb3IgdW5zdXBwb3J0ZWQgLWUgYW5kIC1FICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gRVhJVF9GQUlMVVJFIG9uIHVuc3VjY2Vzc2Z1bCAtZiAgW0thcmVsIFpha10KKyAgIC0gdGlueSBjaGFuZ2UgdG8gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHdhaXQgZm9yIHVkZXYgIFtLYXJlbCBaYWtdCitsb3NldHVwLCBhZ2V0dHk6CisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBpZidzIGJlZm9yZSBmcmVlKCkgIFtTYW1pIEtlcm9sYV0KK2xvc2V0dXAsIG1vdW50OgorICAgLSByZW1vdmUgLS1wYXNzLWZkIGF0IGFsbCAgW0thcmVsIFpha10KK2xzYmxrOgorICAgLSBhZGQgLS1zb3J0IDxjb2x1bW4+ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLU8gb3B0aW9uIHRvIHNob3cgYWxsIGF2YWlsYWJsZSBjb2x1bW5zICBbTWFzYXRha2UgWUFNQVRPXQorICAgLSBhZGQgUEFSVEZMQUdTIGNvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIFBBUlRUWVBFIHRhZyAgW01pY2hhZWwgTWFyaW5lYXVdCisgICAtIGNoZWNrIG51bWJlciBvZiB1c2VkIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGRhdGEgcHJlcGFyYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBpbmZvc1tdIGFuZCBjb2x1bW5zW10gIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtRCBzZWdmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gZml4LCBzZXQgZGVmYXVsdCBzb3J0X2lkID0gLTEgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJzbWFydGNvbHMgIFtPbmRyZWogT3ByYWxhXQorbHNjcHU6CisgICAtIGF2b2lkIGRvdWJsZSBmcmVlICBbU2FtaSBLZXJvbGFdCisgICAtIGF2b2lkIHVzZSBvZiBiemVybygpIGluIGZhdm9yIG9mIG1lbXNldCgpICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIHNjb2xzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwLCB1c2UgX1BBVEhfU1lTX0NQVS9OT0RFICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRldGVjdCBPUy80MDAgYW5kIHBIeXAgaHlwZXJ2aXNvcnMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZG9uJ3QgYWJvcnQgaWYgY2FjaGUgc2l6ZSBpcyB1bmtub3duICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRvbid0IGFzc3VtZSBmaWxlc3lzdGVtIHN1cHBvcnRzIGRfdHlwZSB3aGVuIHNlYXJjaGluZyBmb3IgTlVNQSBub2RlcyAgW1N0ZXdhcnQgU21pdGhdCisgICAtIGZpeCBpZmRlZiBIQVZFX3N5c19pb19oIFtjaGVja2NvbmZpZ10gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdm13YXJlIGRldGVjdGlvbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtaW5vciBjbGVhbnVwIGFuZCBpbXByb3ZlIGh5cGVydmlzb3IgZGV0ZWN0aW9uICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlYWRfaHlwZXJ2aXNvcl9kbWkgIG9ubHkgZmFsbGJhY2sgdG8gbWVtb3J5IHNjYW4gb24geDg2L3g4Nl82NCAgW1N0ZXdhcnQgU21pdGhdCisgICAtIHNvcnQgTlVNQSBub2RlcyB0byBrZWVwIG91dHB1dCBodW1hbiByZWFkYWJsZSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBkaXNjb250aW51b3VzIE5VTUEgbm9kZXMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbm9uIHNlcXVlbnRpYWxseSBudW1iZXJpbmcgb2YgQ1BVcyAgW0FsZXhhbmRlciBUcm9vc2hdCisgICAtIHVzZSBsaWJzbWFydGNvbHMgIFtPbmRyZWogT3ByYWxhXQorbHNsb2NrczoKKyAgIC0gY2xlYW4gdXAgY29sdW1uc1tdIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzICBbT25kcmVqIE9wcmFsYV0KK2xzbG9naW5zOgorICAgLSBOTFMgZm9yIGFsbCBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbm9oZWFkaW5ncyAgW0thcmVsIFpha10KKyAgIC0gYWRkIEZBSUxFRC1MT0dJTiB0byBwcmV0dHkgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZnVuY3Rpb25hbGl0eSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGFkZCBvcHRpb24gLS1pc28gIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgb3B0aW9uIC0tdGltZS1mb3JtYXQgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgcmVhZHR1bXAuaCBoZWFkZXIgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgbXVsdGlwbGUgdGltZSBmb3JtYXRzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWxpZ24gdG8gcmlnaHQgMHwxIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGFsc28gYWRkIHJlYWR1dG1wLmMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjbGVhbiB1cCBwYXNzd29yZCBoYXNoIGNoZWNrICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIC1hIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBkZWZhdWx0IG91dHB1dHMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZmlsbF90YWJsZSgpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHNvbWUgY29tbWFuZCBsaW5lIG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc3RhdHVzW10gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdGltZSBmb3JtYXRzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGNvbW1lbnQtaW4gYW4gZXhwZW5zaXZlIHJlYWxsb2MgIFtPbmRyZWogT3ByYWxhXQorICAgLSBjb25kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIGNvdW50IHBlci11c2VyIHByb2Nlc3NlcyAgW09uZHJlaiBPcHJhbGFdCisgICAtIGZpeCBub2xvZ2lucyBjaGVjayAgW0thcmVsIFpha10KKyAgIC0gZml4IG9wdGlvbiBleGNsdXNpdml0eSAgW09uZHJlaiBPcHJhbGFdCisgICAtIGZpeCBwcmV0dHktcHJpbnQgY29sdW1ucyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBDT0xfUFdEX1dBUk4gYW5kIENPTF9OUFJPQ1MgZGVzYyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBub2xvZ2lucyBhbmQgc2hhZG93IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHByZXR0eSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3VwcGxlbWVudGFyeSBncm91cHMgY29kZSwgYWRkIFNVUFAtR0lEUyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB0aGUgY29sdW1ucyBpbmZvcm1hdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHdvcmRpbmcgYW5kIGZvcm1hdHRpbmcgb2YgdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2UgLS1ub3RydW5jYXRlIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGl0IHdvcmsgIFtPbmRyZWogT3ByYWxhXQorICAgLSBtZW50aW9uIC0tdGltZS1mb3JtYXQgaW4gdXNhZ2UgIFtPbmRyZWogT3ByYWxhXQorICAgLSBtb3JlIHJvYnVzdCB1c2FnZSBvZiBjb2x1bW5zW10gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdG8gbG9naW4tdXRpbHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSBwcmV0dHkgcHJpbnRpbmcgYW5kIGV4dGVuZGVkIC1sLC1nICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gcHJpbnQgc3lzdGVtZCBqb3VybmFsIGxvZ3MgIFtLYXJlbCBaYWssIE9uZHJlaiBPcHJhbGFdCisgICAtIHJlbW92ZSAtLXNvcnQtYnktbmFtZSAgW0thcmVsIFpha10KKyAgIC0gc3RvcmUgdXNlcnMgaW4gYSB0cmVlICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gc3luYyBtYW4gcGFnZSBhbmQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGJpdC1hcnJheSwgY2xlYW51cCBTRUxpbnV4IGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB0aHJlYWQtc2FmZSBmdW5jdGlvbnMgIFtPbmRyZWogT3ByYWxhXQorbHNsb2dpbnMoMSk6CisgICAtIHNrZWxldG9uIGFuZCBhcmdwYXJzaW5nIGZvciBhIG5ldyB1dGlsaXR5ICBbT25kcmVqIE9wcmFsYV0KK21hbjoKKyAgIC0gU3ludGF4IGFuZCBzcGVsbGluZyBmaXhlcy4gIFtWaWxsZSBTa3l0dMOkXQorbWNvb2tpZToKKyAgIC0gYWRkIC0tbWF4LXNpemUgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFsbG93IC0tZmlsZSBvcHRpb24gYmUgZGVmaW5lZCBtdWx0aXBsZSB0aW1lcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgY29udHJvbCBzdHJ1Y3R1cmUsIGFuZCBmaXggdXNhZ2UoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliL3JhbmR1dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc2FtZSB2YXJpYWJsZSB0eXBlIGNvbnNpc3RlbnRseSAgW1NhbWkgS2Vyb2xhXQorbWtmczoKKyAgIC0gU29tZSB0eXBvZ3JhcGhpY2FsIGNoYW5nZXMgdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSBtYXJrIHRoaXMgd3JhcHBlciBhcyBERVBSRUNBVEVEICBbS2FyZWwgWmFrXQorbWtmcy5iZnM6CisgICAtIE9uZSB0eXBvZ3JhcGhpY2FsIGNvcnJlY3Rpb24gdG8gdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorbWtmcy5jcmFtZnM6CisgICAtIFNvbWUgdHlwb2dyYXBoaWNhbCBjb3JyZWN0aW9ucyB0byB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIGZpeCBjcmFzaCB3aGVuIC1iIDAgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXNlIGRlZmluZWQgZmFpbHVyZSBuYW1lIHJhdGhlciB0aGFuIG1hZ2ljIHZhbHVlICBbU2FtaSBLZXJvbGFdCitta2ZzLm1pbml4OgorICAgLSBTb21lIHR5cG9ncmFwaGljYWwgY2hhbmdlcyBpbiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIGZpeCBmc2NhbmYoKSBmb3JtYXQgc3RyaW5nIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK21rc3dhcDoKKyAgIC0gU29tZSBtaW5vciB0eXBvZ3JhcGhpY2FsIGNvcnJlY3Rpb25zIHRvIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XdW51c2VkLXZhcmlhYmxlXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGNydWZ0IGZyb20gdGhlIG1hbiBwYWdlICBbUGhpbGxpcCBTdXNpXQorICAgLSByZW1vdmUgbGVnYWN5IHN3YXAgc3RydWN0dXJlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB1c2FnZSBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KK21rc3dhcCwgc3dhcGxhYmVsOgorICAgLSBtb3ZlIHZlcnNpb24gbnVtYmVyIHRvIGhlYWRlciAgW1NhbWkgS2Vyb2xhXQorbW9yZToKKyAgIC0gZml4IGRvdWJsZSBmcmVlIGNyYXNoICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtZW0gbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZm9ybWF0dGluZyBhbmQgd29yZGluZyBvZiBtYW4gcGFnZSBhbmQgaGVscCB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCittb3VudDoKKyAgIC0gYWRkIGJ0cmZzIHRvIG1vdW50LjggIFtHdWkgSGVjaGVuZ10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgIm5vYXV0byIgdG8gLS1hbGwgZGVzY3JpcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IG9yZGVyIGZvciAtYSB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFwcGx5ICJub2ZhaWwiIHRvIE1OVF9FUlJfTk9TT1VSQ0UgbGlibW91bnQgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3QgbW91bnQgbWFuIHBhZ2UgZGVmYXVsdCBpc285NjYwIHBlcm1pc3Npb24gIFtQaGlsbGlwIFN1c2ldCisgICAtIGZpeCAtLWFsbCBhbmQgbm9mYWlsIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWFuIG1vdW50IHBhZ2UgdHlwZSAgW1BoaWxsaXAgU3VzaV0KKyAgIC0gZml4IG1hbiBwYWdlIFtjaGVja21hbnNdICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGlueSB0eXBvIGluIG1hbiBwYWdlICBbU3RlcGhhbiBNw7xsbGVyXQorICAgLSBpbXByb3ZlIC1zIG1hbiBtYWdlIGluZm8gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgTkFNRT12YWx1ZSB0YWdzIHVzYWJsZSBmb3Igbm9uLXJvb3QgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgaGludHMgYWJvdXQgZGVmYXVsdCBtb3VudCBvcHRpb25zIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBtb3VudC44IFNvbWUgdHlwb2dyYXBoaWNhbCBhbmQgcHJlZml4IGNvcnJlY3Rpb25zIHRvIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KKyAgIC0gbW91bnQuOCBmaXggZ3JhbW1hciAgW1BoaWxsaXAgU3VzaV0KKyAgIC0gbm90ZSB0aGF0IC1jIHVudXNlZCBmb3IgbW91bnQuPHR5cGU+IGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBzdGF0ZW1lbnQgZnJvbSBtb3VudC44ICBbUGhpbGxpcCBTdXNpXQorICAgLSB1cGRhdGUgWEZTIG1vdW50LjggYWxsb2NzaXplPSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGluZm8gYWJvdXQgbXRhYiBpbiBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbWFuIHBhZ2UgZXh0My80IG1vdW50IG9wdGlvbnMgIFtDYXJsb3MgTWFpb2xpbm9dCisgICAtIHVwZGF0ZSBtb3VudC44IGFib3V0IGJhcnJpZXIgbW91bnQgb3B0aW9ucyBkZWZhdWx0cyAgW1J1ZWRpZ2VyIE1laWVyXQorbmFtZWk6CisgICAtIGFsaWduIG1pc3NpbmcgZmlsZXMgd2l0aCByZXN0IG9mIHRoZSBwcmludCBvdXQgIFtTYW1pIEtlcm9sYV0KK25vbG9naW46CisgICAtIG1pbm9yIG1hbiBwYWdlIGltcHJvdmVtZW50cyAgW09uZHJlaiBPcHJhbGFdCituc2VudGVyOgorICAgLSBhZGQgKyB0byBnZXRvcHRfbG9uZygpICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2V0e2dpZCx1aWR9IG9yZGVyLGRyb3Agc3VwcGxlbWVudGFyeSBncm91cHMgIFtLYXJlbCBaYWtdCitwYXJ0eDoKKyAgIC0gSW1wcm92ZSB0aGUgdHlwZXNldHRpbmcgb2YgdGhlIG1hbnVhbCAgW0JqYXJuaSBJbmdpIEdpc2xhc29uXQorICAgLSBjbGVhbnVwIGxpYnNtYXJ0Y29scyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IC0tdXBkYXRlIHJhbmdlcyBhbmQgb3V0IG9mIG9yZGVyIHRhYmxlcyAgW1Njb3R0IE1vc2VyXQorICAgLSBtYWtlIGRpcmVudCBkX3R5cGUgdXNhZ2UgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uX2J5X3BhcnRubygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzICBbT25kcmVqIE9wcmFsYV0KK3BnOgorICAgLSBwZy4xIEFkZCAtaCwgLS1oZWxwLCAtViwgLS12ZXJzaW9uICBbSmFyaSBBYWx0b10KKyAgIC0gcGcuMSBNb3ZlIChwbHVzKSBvcHRpb25zIG5lYXIgKG1pbnVzKSBvcHRpb24gYXQgdGhlIGJlZ2lubmluZyAgW0phcmkgQWFsdG9dCitwbzoKKyAgIC0gYWRkICctLW5vLXdyYXAnIHRvIG1zZ21lcmdlLCB0byBub3Qgd3JhcCBsb25nIG1lc3NhZ2UgbGluZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWVyZ2UgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGV0ciBQw61zYcWZXQorICAgLSB1cGRhdGUgZGEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKb2UgSGFuc2VuXQorICAgLSB1cGRhdGUgZGUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtNYXJpbyBCbMOkdHRlcm1hbm5dCisgICAtIHVwZGF0ZSBlcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FudG9uaW8gQ2ViYWxsb3MgUm9hXQorICAgLSB1cGRhdGUgZmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtMYXVyaSBOdXJtaV0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGF2aWQgUHLDqXZvdF0KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVGFrZXNoaSBIYW1hc2FraV0KKyAgIC0gdXBkYXRlIG5sLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSBwbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pha3ViIEJvZ3Vzel0KKyAgIC0gdXBkYXRlIHB0X0JSLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUmFmYWVsIEZlcnJlaXJhXQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIHVwZGF0ZSB2aS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1Ry4bqnbiBOZ+G7jWMgUXXDom5dCisgICAtIHVwZGF0ZSB6aF9DTi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1d5bG1lciBXYW5nXQorcHJsaW1pdDoKKyAgIC0gY2xlYW4gdXAgY29sdW1uc1tdIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBzY29scyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHJlcGVhdGluZyB3b3JkcyBmcm9tIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzICBbT25kcmVqIE9wcmFsYV0KK3B5bGlibW91bnQ6CisgICAtIGNvcnJlY3RseSBpbXBvcnQgZnJvbSBweWxpYm1vdW50LnNvICBbRGF2ZSBSZWlzbmVyXQorICAgLSBpbXBvcnQgZGlyZWN0bHkgZnJvbSBweWxpYm1vdW50IGluIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uY2Vzc2FyeSBzdWJkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCityYXc6CisgICAtIEltcHJvdmUgdGhlIHR5cGVzZXR0aW5nIG9mIHRoZSBtYW51YWwgIFtCamFybmkgSW5naSBHaXNsYXNvbl0KK3JlbmFtZToKKyAgIC0gZml4IG1lbSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHJlZmVyZW5jZSB0byBtbXYgZ3RvbSBtYW4gcGFnZSAgW0thcmVsIFpha10KK3JlbmljZToKKyAgIC0gY29ycmVjdCBtYXggcHJpb3JpdHkgaW4gcmVuaWNlIG1hbiBwYWdlICBbUGhpbGxpcCBTdXNpXQorcnVudXNlcjoKKyAgIC0gZml4IG1pbm9yIHR5cG9zIGluIHRoZSBtYW4gcGFnZSAgW09uZHJlaiBPcHJhbGFdCitzY3JpcHQ6CisgICAtIC0tcXVpZXQgb3B0aW9uIGlzIG5vdCBxdWlldC4gIFtKYW1lcyBIdW50XQorICAgLSBBbHNvIGZsdXNoIHdyaXRlcyB0byB0aW1pbmcgZmlsZS4gIFtKZXNwZXIgRGFobCBOeWVydXBdCisgICAtIGNoZWNrIHRoYXQgc3RkaW4gaXMgYSB0ZXJtaW5hbCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgY29kZSB0byBnZW5lbnJhdGUgU3Rhci9Eb25lIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBmaWxlcyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2FsbCBUSU9DR1dJTlNaIGluIHNpZ25hbCBoYW5kbGVyICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB3YWl0IGZvciBlbXB0eSBkZXNjcmlwdG9ycyBpZiBjaGlsZCBpcyBkZWFkICBbS2FyZWwgWmFrXQorICAgLSBmaXggYSByYXJlIGRlYWRsb2NrIGFmdGVyIGNoaWxkIHRlcm1pbmF0aW9uICBbQ3NhYmEgS29zXQorICAgLSBmaXggaW5jb25zaXN0ZW50IC1xLCB1c2UgcG9sbCgpIHJhdGhlciB0aGVuIE9fTk9OQkxPQ0sgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzcHVyaW91cyBleGl0IGZyb20gaW5wdXQgcmVhZCBsb29wIG9uIEVJTlRSLiAgW0NzYWJhIEtvc10KKyAgIC0gcmVzdG9yZSBlcnJubyBpbiBzaWduYWwgaGFuZGxlciAgW0thcmVsIFpha10KKyAgIC0gc2NyaXB0IGlucHV0IHJlZGlyZWN0aW9uIC8gZW9mIGhhbmRsaW5nICBbS2FyZWwgWmFrXQorICAgLSBzaWxlbmNlIHRoZSBkb25lIG1lc3NhZ2Ugb24gLS1xdWlldCBhcyB3ZWxsICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSB0aW1lIGZyb20gZW5kIG9mIHJlYWQoKSBjYWxsIHBhcnRpYWxseSBmaXhlcyAjNTggIFtXb2xmZ2FuZyBSaWNodGVyXQorICAgLSB1c2UgYWxsLWlvLmggdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK3NjcmlwdHJlcGxheToKKyAgIC0gQWRkIC0tbWF4ZGVsYXkgb3B0aW9uLiAgW0plc3BlciBEYWhsIE55ZXJ1cF0KKyAgIC0gbm8gbmVlZCB0byBza2lwIGZpcnN0IHRpbWUgdmFsdWUgb3IgbGFzdCBieXRlcyBmaXhlcyAjNTggIFtXb2xmZ2FuZyBSaWNodGVyXQorc2V0YXJjaDoKKyAgIC0gRml4IHBwYzY0bGUgYXJjaGl0ZWN0dXJlcyAgW0FudG9uIEJsYW5jaGFyZF0KKyAgIC0gYWRkIGdlbmVyaWMgc3VwcG9ydCBmb3Igc2V0YXJjaCAkKHVuYW1lIC1tKSAuLi4gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIHNob3J0Y3V0IGJpbmFyeSB1bmFtZTI2ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZsdXNoIG91dHB1dCBzdHJlYW1zIGJlZm9yZSBleGVjICBbUnVlZGlnZXIgTWVpZXJdCitzZXRwcml2OgorICAgLSBGaXggLS1hcHBhcm1vci1wcm9maWxlICBbQW5keSBMdXRvbWlyc2tpXQorICAgLSBGaXggLS1zZWxpbnV4LWxhYmVsICBbQW5keSBMdXRvbWlyc2tpXQorICAgLSBhdm9pZCBhbGxvY2EoKSB1c2UgeG1hbGxvYygpIGluc3RlYWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2ltcGxpZnkgdXNhZ2UoKSAgW0thcmVsIFpha10KK3NldHRlcm06CisgICAtIGFkZCBpbml0X3Rlcm1pbmFsKCkgdG8gbWFrZSBtYWluKCkgc2hvcnRlciAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgb3B0aW9uIGNvbnRyb2wgc3RydWN0dXJlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzZXRfYmxhbmtpbmcoKSBhY3Rpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHVzYWdlKCkgZGVzY3JpcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIGluY2x1ZGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIHNjcmVlbmR1bXAoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIHByaW50ZigpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjb252ZXJ0IHJlbWFpbmluZyBtYWdpYyB2YWx1ZXMgdG8gc3ltYm9saWMgcmVmZXJlbmNlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb252ZXJ0IHZhcmlvdXMgY29uc3RhbnQgbnVtYmVyIGRlZmluaXRpb25zIHRvIGVudW1zICBbU2FtaSBLZXJvbGFdCisgICAtIGNvcnJlY3QgdXNhZ2UoKSBicmlnaHQgY29sb3IgYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4ICdicmlnaHQnIGluIHVzYWdlLCByZW1vdmUgdW5uZWNlc3NhcnkgZXJyb3IgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IC1kdW1wIG1hbiBwYWdlIGluZm8gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBmb3JtYXR0aW5nIGFuZCB3b3JkaW5nIG9mIHVzYWdlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSBwZXJmb3JtX3NlcXVlbmNlKCkgY29kaW5nIHN0eWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgd29yZGluZyBhbmQgZm9ybWF0dGluZyBvZiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSAtbXNnbGV2ZWwgMCB0byB3b3JrIGFzIGlzIGRpZCBlYXJsaWVyICBbU2FtaSBLZXJvbGFdCisgICAtIG1hcmsgc29tZSBvcHRpb25zIHRvIGJlIGV4Y2x1c2l2ZSB3aXRoIGVhY2ggb3RoZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBzaG93X3RhYnMoKSBhbmQgc2NyZWVuZHVtcCgpIGZ1bmN0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWNvbW1lbmQgbG9uZyBvcHRpb25zIHdpdGggZG91YmxlIGh5cGhlbiAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZGV2ZnMgYW5kIC9kZXYvdmNzYTAgc3VwcG9ydCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdWxjb2xvciBhbmQgaGJjb2xvciBkdXBsaWNhdGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdW51c2VkIGNvZGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVzYWdlIGNvbW1lbnQgc2VnbWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSB0ZWxsIHVzZXIgd2hlbiBvcHRpb25zIGRvZXMgbm90IGVmZmVjdCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZ2V0b3B0X2xvbmdfb25seSgpIGZvciBvcHRpb24gcGFyc2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RyaW5nIHV0aWxzIHRvIG51bWVyaWMgcGFyc2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YXJpb3VzIHZpc3VhbCB0ZXJtaW5hbCBlZmZlY3RzIGFyZSBub3QgY29uc29sZSBzcGVjaWZpYyAgW1NhbWkgS2Vyb2xhXQorc2ZkaXNrOgorICAgLSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIG1lcmdlIHBhcnRuYW1lLmMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHByZXNzIExpbnV4LWlycmVsZXZhbnQgd2FybmluZ3Mgd2l0aCAtTCAgW1BldHIgVXplbF0KKyAgIC0gdXNlIHN5c2ZzX2Rldm5vX2lzX3dob2xlZGlzaygpICBbS2FyZWwgWmFrXQorc3RydXRpbHM6CisgICAtIGFkZCBza2lwX3NwYWNlKCkgZnVuY3Rpb24gIFtPbmRyZWogT3ByYWxhXQorc3U6CisgICAtIGRvbid0IHVzZSBraWxsKDAsIC4uLikgd2hlbiBwcm9wYWdhdGUgc2lnbmFsICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWlub3IgdHlwb3MgaW4gdGhlIG1hbiBwYWdlICBbT25kcmVqIE9wcmFsYV0KK3N1bG9naW46CisgICAtIGNoZWNrIHJlc3VsdCBvZiB0aGUgb3BlbigpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHVuaW5pdGlhbGl6ZWQgc3RydWN0IHNpZ2FjdGlvbiBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpbmQgYSBzdWl0YWJsZSBjb25zb2xlIGRldmljZSAgW1dlcm5lciBGaW5rXQorICAgLSBtaW5vciBtYW4gcGFnZSBpbXByb3ZlbWVudHMgIFtPbmRyZWogT3ByYWxhXQorICAgLSB1c2UgZGlyZW50LT5kX3R5cGUgd2hlbiBzY2FucyAvZGV2ICBbS2FyZWwgWmFrXQorc3dhcGxhYmVsOgorICAgLSBJbXByb3ZlIHRoZSB0eXBlc2V0dGluZyBvZiB0aGUgbWFudWFsICBbQmphcm5pIEluZ2kgR2lzbGFzb25dCisgICAtIHdyb25nIHZlcnNpb24gbnVtYmVyIGluIGNoZWNrICBbU2FtaSBLZXJvbGFdCitzd2Fwb246CisgICAtIGFsaWduIC0tc3VtbWFyeSBmaWVsZHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW4gdXAgY29sdW1uc1tdIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBzY29scyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gbWFyayAtLXN1bWFycnkgYXMgZGVwcmVjYXRlZCAgW0thcmVsIFpha10KKyAgIC0gc3dhcHMgd2l0aCBsZWdhY3kgdmVyc2lvbiBsYWJlbCBhcmUgbm90IHN1cHBvcnRlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGlic21hcnRjb2xzICBbT25kcmVqIE9wcmFsYV0KK3N3YXBvbiwgc3dhcGhlYWRlciwgbWtzd2FwOgorICAgLSBtb3ZlIHN3YXAgc2lnbmF0dXJlIHRvIGhlYWRlciAgW1NhbWkgS2Vyb2xhXQorc3dpdGNoX3Jvb3Q6CisgICAtIG1ha2UgZGlyZW50IGRfdHlwZSB1c2FnZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gdmVyaWZ5IGluaXRyYW1mcyBieSBmX3R5cGUsIG5vdCBkZXZubyAgW0RhdmUgUmVpc25lcl0KK3Rhc2tzZXQ6CisgICAtIGZpeCBQRVJNSVNTSU9OUyBzZWN0aW9uIG9mIHRhc2tzZXQgbWFuIHBhZ2UgIFtSaWsgdmFuIFJpZWxdCit0ZXJtLXV0aWxzOgorICAgLSBhdm9pZCBlcnJvciBtZXNzYWdlIHN0cmluZyBsZW5ndGggY291dGluZyBlcnJvcnMgIFtTYW1pIEtlcm9sYV0KK3Rlc3RzOgorICAgLSBhZGQgLkJFIGhleGR1bXAgdGVzdCByZXN1bHRzIChmcm9tIHMzOTApICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVEVSTT0gdG8gYWxsIGNhbCgxKSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJhc2ljIHRlc3QgY2FzZSBmb3IgaXBjcyAtbSAtaSBuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBiYXNpYyB0ZXN0IGNhc2UgZm9yIGlwY3MgLXEgLWkgbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgYmFzaWMgdGVzdCBjYXNlIGZvciBpcGNzIC1zIC1pIG4gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGV4aXQgY2FzZSAiS05PV04gRkFJTEVEIiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgZmRpc2sgJ2YnIGNvbW1hbmQgTUJSIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbiB0c19jaGVja19sb3NldHVwICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBmdW5jdGlvbiB0c19jaGVja19wcm9nICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBpc29zaXplIC0tc2VjdG9ycyBhbmQgLS1kaXZpc29yIHRlc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBraWxsIC0tcXVldWUgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGtpbGxfZnVuY3Rpb25zLnNoIHRvIGF2b2lkIGR1cGxpY2F0ZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbHNjcHUgSUJNIHBTZXJpZXMgdGVzdCBkYXRhICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBsc2NwdSBkdW1wIGZvciBwcGMgY3B1IHdpdGggbm8gY2FjaGUgc2l6ZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgcGFydHggLS11cGRhdGUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNpZ25hbCByZWNlaXZlciBwcm9ncmFtICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBzcGFyYzY0IGxzY3B1IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0IGNhc2UgZm9yIGxhc3QgLXRpbWUtZm9ybWF0PWZ1bGwgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIHV0bXBkdW1wLWNpcmNsZSB0ZXN0IChhcmNoIGluZGVwZW5kZW50KSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgdmJveCBsc2NwdSBkdW1wICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFsaWduIGxhc3QuMSB3aXRoIHJlY2VudCBwaGFudG9tIGRldGVjdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGxvdyB0ZXN0IG9wdGlvbnMgdG8gYmUgb3ZlcnJpZGRlbiBieSBlbnYgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWxsb3cgdG8gYWRkIG9yIG92ZXJyaWRlIHRlc3Qgc3VpdGUgb3B0aW9ucyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhdm9pZCBleGVjdXRpbmcgZGlybmFtZSgxKSBjb21tYW5kICBbU2FtaSBLZXJvbGFdCisgICAtIGNhbCAgZG8gbm90IGxldCAtLXdlZWs9PG51bT4gdG8gYWRqdXN0IHJlcXVlc3RlZCBtb250aCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjYWwgIHRha2UgYWNjb3VudCB3ZWVrIG51bWJlcnMgd2hlbiBkZXRlcm1pbmcgbW9udGggbGVuZ3RoICBbU2FtaSBLZXJvbGFdCisgICAtIGNhbCgxKSBpcyB5ZWFyIGlzIGxpbWl0ZWQgdG8gc2lnbmVkIDMyIGJpdCB2YWx1ZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjYWxsIHRzX2luaXRfZW52IGFzIGVhcmx5IGFzIHBvc3NpYmxlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNoZWNrIC9wcm9jIGF2YWlsYWJpbGl0eSwgYW5kIGdvLWFyb3VuZCBpZiBpdCBpcyBpbmNvbXBsZXRlICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIGNvbW1hbmRzIG5lZWRlZCBmb3IgcnVubmluZyBhIHRlc3QgZXhpc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgZm9yIG1rZnMuZXh0ezIsMyw0fSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjaGVjayBraWxsIGFsbCB1c2VyIHByb2Nlc3NlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBraWxsIGlzIGNvbnZlcnRpbmcgc2lnbmFscyBuYW1lcyBjb3JyZWN0bHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sga2lsbCBwcmludCBwaWQgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHN3YXBsYWJlbCwgYW5kIHBlcmZvcm0gbW9yZSBzd2Fwb24gYm91bmRhcnkgdGVzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgdmFyaW91cyB3YXlzIHRvIHNwZWNpZnkga2lsbCBzaWduYWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCBmYWxsb2NhdGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdHNfc2NzaV9kZWJ1Z19pbml0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNsZWFudXAsIHJlbW92ZSB1bnVzZWQgbHNjcHUgb3V0cHV0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNvbnNvbGlkYXRlIHNvbWUgY2hlY2tzIGZvciBjb21tYW5kcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmZGlzayBhZGRlZCBhIHBhcnRpdGlvbnMgb3JkZXIgbWVzc2FnZSAoOGI2MDg3MmUpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZkaXNrIG5vdyBwcmludHMgU0dJIHN5c3RlbSBwYXJ0aXRpb25zIHRvbyAgW0thcmVsIFpha10KKyAgIC0gZml4ICJLTk9XTiBGQUlMRUQiIGZvciBzdWJ0ZXN0cyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZmRpc2sgR1BUIHRlc3QgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGZkaXNrL2JzZCBmb3IgYmlnIGVuZGlhbiBzeXN0ZW1zICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBmc2NrLmNyYW1mcyBmb3Igc3lzdGVtcyB3aXRoIGNlcnRhaW4gcGFnZSBzaXplcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggaGV4ZHVtcCBmb3IgYmlnIGVuZGlhbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggaGV4ZHVtcCwgYWRkIHRzX2ZpbmFsaXplICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBraWxsIHByb2JsZW1zICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBsYXN0IGZvciBiaWdlbmRpYW4gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHB5dGhvbiB0ZXN0cyBmb3IgZGlzdCBhbmQgb3V0LW9mLXRyZWUgYnVpbGRzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB0cmFpbGluZyBzcGFjZXMgaW4gY2FsKDEpIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBmaXggdXRtcGR1bXAvaXB2NnRvYmluIGZvciBiaWdlbmRpYW4gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHV0bXBkdW1wL2lwdjZ0b3R4dCBmb3IgYmlnZW5kaWFuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB1dG1wZHVtcC90by1iaW5hcnkgZm9yIGJpZ2VuZGlhbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdXRtcGR1bXAvdG8tdGV4dCBmb3IgYmlnZW5kaWFuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB2YXIgbmFtZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4LCB0eXBvIHNjaGVkdXRpbHMvY3B1c2V0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGdldHRpbmcgcGFyYWxsZXJfam9icyBtb3JlIHJvYnVzdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpZ25vcmUgZGVwcmVjYXRlZCBsYXN0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGludHJvZHVjZSBUU19DTURfVVVJREdFTiAobmV2ZXIgdXNlIGluc3RhbGxlZCBvbmUpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGlwY3MvbGltaXRzMiBpcyBrbm93biB0byBmYWlsICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGtpbGxfZnVuY3Rpb25zLnNoIG5lZWRzIGdhd2sgKHNraXAgaWYgc291cmNlZCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbGFzdCAgc2tpcCB3aGVuIGxhc3QgaXMgbm90IGVuYWJsZWQgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gbGlibW91bnQgIHNraXAgdGFiZmlsZXMtcHkgd2hlbiBweWxpYm1vdW50IGlzIGRpc2FibGVkICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIG1ha2UgdGVzdHMgdG8gcnVuIHBhcmFsbGVsICBbU2FtaSBLZXJvbGFdCisgICAtIG1lcmdlIGxhc3QvIGFuZCB1dG1wZHVtcC8gaW50byBuZXcgdXRtcC8gZGlyICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHByb3ZpZGUgbWlzc2luZyB0ZXN0IGRhdGEgZm9yICJsYXN0IiBvbiBleG90aWMgYXJjaHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcXVvdGUgZ2VuZXJhdGVkIGFyZ3VtZW50cyBmb3IgaXBjcm0gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVmcmVzaCBmZGlzayBvdXRwdXRzICBbS2FyZWwgWmFrXQorICAgLSByZWx5IG9uIHRzX2luaXRfcHkgb25seSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQgbW91bnQgdGVzdHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHRlc3RfZnNjay5jcmFtZnMgKHJldmVydHMgNmMzMmFlNzgpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSB0ZXN0X3dob2xlZGlzayAgW0thcmVsIFpha10KKyAgIC0gcmV0dXJuIGVycm9yIGlmIGZhaWx1cmVzIGZpbGUgbm90IHVzYWJsZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZXdyaXRlIGh3Y2xvY2sgdGVzdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBydW4gdGVzdHMgaW4gZGV0ZXJtaW5pc3RpYyBvcmRlciAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzY3JpcHQvcmFjZSB3b3VsZCB3b3JrIHdpdGggdmFyaWFibGUgbG9vcCBjb3VudCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBza2lwIHNvbWUgbGFzdCB0ZXN0cyBpZiBubyBkbnMgc3VwcG9ydCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBza2lwIHVtb3VudC1hbGx0YXJnZXRzIG9uIHJlZ3VsYXIgbXRhYiAgW0thcmVsIFpha10KKyAgIC0gc2tpcCB1dG1wZHVtcCB0ZXN0cyBmb3IgZXhvdGljIGFyY2hzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNvbWUgbW9yZSB0ZXN0cyBuZWVkIGxvb3Agc3VwcG9ydCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzcGxpdCBsYXN0IGludG8gZG5zIGFuZCBub2RucyBzdWJ0ZXN0cyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzcGxpdCBvZmYgbG9zZXR1cCBzY3NpX2RlYnVnIHBhcnQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc3R5bGUgTWFrZWZpbGUgYW5kIG1ha2Ugb3V0cHV0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHN3YXBsYWJlbCBuZWVkcyB0byByZXNwZWN0IHBhZ2VzaXplICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHRlc3QgY29ycnV0ZWQgR1BUIGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIHRyeSBoYXJkIHRvIGNyZWF0ZSBzd2FwbGFiZWwncyB0ZXN0IGltYWdlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHRzX2RldmljZV9pbml0IHJlbW92ZSB1c2VsZXNzIGVycm9yIGhhbmRsaW5nICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHRzX2RldmljZV9pbml0IHJlcXVpcmVzIGxvb3Agc3VwcG9ydCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0c19tb3VudCBrbm93cyB3aGljaCBmcyBpcyBleHBlY3RlZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0c19tb3VudCB2YWxpZGF0ZXMgZXJyb3IgbWVzc2FnZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0c19zY3NpX2RlYnVnX2luaXQgbXVzdCBub3QgcnVuIGluIGEgc3Vic2hlbGwgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdHNfc2NzaV9kZWJ1Z19pbml0IHNraXAgaW5zdGVhZCBvZiBkaWUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXBkYXRlIFB5IHBhcnNlIG1vdW50aW5mbyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYmxraWQgc3dhcCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJ1aWxkIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQtc3lzIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZmRpc2sgTUJSIGFuZCBTVU4gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBmZGlzayBzdW4gdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGlvbmljZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbGlibW91bnQgdGFiZGlmZiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxzY3B1IHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgcGFydHggc2dpIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB0c19jaGVja19sb3NldHVwIGluIGxvc2V0dXAgdGVzdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgdHNfbW91bnQgZm9yIGNyYW1mcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB3cml0ZSB0ZXN0cy9mYWlsdXJlcyB0byBidWlsZC0gaW5zdGVhZCBvZiBzcmNkaXIgIFtSdWVkaWdlciBNZWllcl0KK3RleHR1YWw6CisgICAtIGZpeCBzb21lIHR5cG9zICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB0aGUgdXNhZ2UgbWVzc2FnZSBvZiBraWxsICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlbW92ZSBzcXVhcmUgYnJhY2tldHMgZnJvbSBhcm91bmQgdGhyZWUgZG90cyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzbGljZSB1cCBhbmQgc3RhbmRhcmRpemUgdGhlIHVzYWdlIHRleHQgb2YgaW9uaWNlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNtYWxsIGlucHJvdmVtZW50cyB0byB1c2FnZSBhbmQgbWFuIHBhZ2Ugb2YgZnN0cmltICBbQmVubm8gU2NodWxlbmJlcmddCit0b29sczoKKyAgIC0gYWRkIHVzYWdlIGluZm9ybWF0aW9uIHRvIGNoZWNrY29uZmlnLnNoICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgY29uZmlnLWdlbiB0byByZXF1aXJlIGJ1aWxkIHRhcmdldCBhcmd1bWVudCAgW1NhbWkgS2Vyb2xhXQordHJhdmlzLWNpOgorICAgLSBhYm9ydCBpZiBtYWtlIGNoZWNrIGZhaWxzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGVuYWJsZSBtb3JlIGZlYXR1cmVzIGFuZCB1cGRhdGUgZ2V0dGV4dCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBlbmFibGUgcm9vdCBjaGVja3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW1wb3J0IHRyYXZpcyB5YW1sIGNvbnRyb2xsZXIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWlub3IgY2xlYW51cCBhbmQgc3BlZWR1cCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZWZhY3RvciBhbmQgYWRkIC50cmF2aXMtZnVuY3Rpb25zLnNoICBbUnVlZGlnZXIgTWVpZXJdCit1bW91bnQ6CisgICAtIE1ha2Ugc3VyZSBleGl0IGNvZGUgZG9lcyBub3Qgb3ZlcmZsb3cgIFtOaWNvbGFzIEJvaWNoYXRdCisgICAtIGFkZCBpbmZvIHRoYXQgLS1hbGwtdGFyZ2V0cyB3b3JrcyB3aXRoIG10YWIgc3ltbGluayBvbmx5ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgbW91bnRpbmZvIGlmIHBvc3NpYmxlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiB1c2FnZSAgW0pvbmF0aGFuIExpdV0KKyAgIC0gZml4IHVtb3VudCBieSB0YWcgZm9yIG5vbi1yb290cyAgW0thcmVsIFpha10KKyAgIC0gbW9yZSByb2J1c3Qgc3VjY2VzcyBtZXNzYWdlIGZvciAtLWFsbCAgW0thcmVsIFpha10KKyAgIC0gc2xpZ2h0bHkgaW1wcm92ZSB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3Vuc2hhcmU6CisgICAtIEFkZCBwb3NzaWJpbGl0eSB0byBhZGQgbWFwcGluZyBpbnRvIHJvb3QgdXNlciBpbiB1c2VyIG5hbWVzcGFjZSAgW0x1Ym9taXIgUmludGVsXQorICAgLSBhZGQgKyB0byBnZXRvcHRfbG9uZygpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW9yZSBoaW50cyBhYm91dCBtb3VudCBuYW1lc3BhY2VzIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gaW5jbHVkZSBsaWJtb3VudC5oIHRvIHByb3ZpZGUgbWlzc2luZyBNU18qIGRlZmluZXMgIFtSdWVkaWdlciBNZWllcl0KK3V0bXBkdW1wOgorICAgLSBmaXggbG9jYWx0aW1lKCkgZXJyb3IgaGFuZGxpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWlub3IgbWFuIHBhZ2UgaW1wcm92ZW1lbnRzICBbT25kcmVqIE9wcmFsYV0KK3V1aWRkOgorICAgLSBkbyBub3QgbWl4IHNpZ25lZCB0eXBlIGFuZCB1bnNpZ25lZCBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIGVuc3VyZSBwaWQgZmlsZSBpcyB3cm90ZSB3aGVuIGl0IGlzIHJlcXVlc3RlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdGltZW91dCBmcm9tIHN5c3RlbWQgc2VydmljZSBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBzZXQgb3B0aW9ucyB0byBiZSBtdXR1YWxseSBleGNsdXNpdmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHBrZy1jb25maWcgdG8gZmluZCBzeXN0ZW1kLWRlYW1vbiBzdXBwb3J0ICBbU2FtaSBLZXJvbGFdCit1dWlkZC5yYzoKKyAgIC0gUmVxdWlyZXMgcmVtb3RlX2ZzICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBkcm9wIG9uLWRlbWFuZCBtb2RlIGZyb20gc2NyaXB0ICBbQW5kcmVhcyBIZW5yaWtzc29uXQordXVpZGdlbjoKKyAgIC0gdXNlIHR5cGUgZGVmaW5pdGlvbnMgZnJvbSB1dWlkLmggIFtTYW1pIEtlcm9sYV0KK3ZpcHc6CisgICAtIG1pbm9yIG1hbiBwYWdlIGltcHJvdmVtZW50cyAgW09uZHJlaiBPcHJhbGFdCit3YWxsOgorICAgLSBhZGQgZmFsbGJhY2sgZm9yIGZhaWxlZCBzeXNjb25mKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgbWFnaWMgbnVtYmVyIGJ5IG5hbWVkIHZhbHVlICBbU2FtaSBLZXJvbGFdCit3ZGN0bDoKKyAgIC0gY2xlYW4gdXAgY29sdW1uc1tdIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBzY29scyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyAgW09uZHJlaiBPcHJhbGFdCit3aGVyZWlzOgorICAgLSBhdm9pZCBwcmludGluZyB1bmluaXRpYWxpemVkIHN0cmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggbWlzc2luZyBuZXdsaW5lIG9uIGVtcHR5IHJlc3VsdHMgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCit3aXBlZnM6CisgICAtIGFkZCBjb21tZW50cyB0byBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBjYWxsIEJMS1JSUEFSVCB3aGVuIGVyYXNlIHBhcnRpdGlvbiB0YWJsZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZXJhc2UgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMgYnkgZGVmYXVsdCAgW0thcmVsIFpha10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjYtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNi1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJhY2EwZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjYtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsMTA0MiBAQAorVXRpbC1saW51eCAyLjI2IFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKyBUaGlzIHZlcnNpb24gcHJvdmlkZXMgYSBjb21wbGV0ZWx5IG5ldyBzZmRpc2soOCkgY29tbWFuZDsgdGhlIG5ldyB2ZXJzaW9uIGlzCisgYmFzZWQgb24gbGliZmRpc2suIElmIHlvdXIgdXNlIGNhc2VzIGRlcGVuZCBvbiBzZmRpc2soOCksIHRoZW4gaXQgaXMgc3Ryb25nbHkKKyByZWNvbW1lbmRlZCB0byBiZSBjYXJlZnVsIGFuZCByZS10ZXN0IHlvdXIgc2NyaXB0cy4gVGhlIG5ldyB2ZXJzaW9uIHN1cHBvcnRzCisgTUJSIGFuZCBHUFQgZGlzayBsYWJlbHMgKFNHSSBhbmQgU1VOIGFyZSBhbHNvIHN1cHBvcnRlZCBidXQgbm90IHdlbGwgdGVzdGVkKS4KKyBUaGUgbmV3IHZlcnNpb24gbm8gbG9uZ2VyIHN1cHBvcnRzIHNvbWUgb2JzY3VyZSBNQlItc3BlY2lmaWMgY29tbWFuZC1saW5lCisgb3B0aW9ucyBub3IgbGVnYWN5IENIUyBhZGRyZXNzaW5nLgorCisKKyBUaGUgbGlicmFyeSBsaWJibGtpZCAoYW5kIGJsa2lkKDgpIG9uIHRoZSBjb21tYW5kIGxpbmUpIG5vdyB1c2VzIHRoZSBzYW1lIFVERgorIGZpZWxkcyBhcyBXaW5kb3dzIGFuZCBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcyBpbiBvcmRlciB0byBnZXQgaHVtYW4tcmVhZGFibGUKKyBVREYgdm9sdW1lIGlkZW50aWZpZXJzIChMQUJFTD0gdGFnKS4gVGhpcyBjaGFuZ2UgbWF5IGJlIGJhY2t3YXJkbHkgaW5jb21wYXRpYmxlCisgZm9yIHNvbWUgVURGIHZvbHVtZXMuCisKKworIFRoZSBjb21tYW5kIGh3Y2xvY2soOCkgdXNlcyB0aGUgZHJpZnQgY29ycmVjdGlvbiBmb3IgYWxsIHJlbGV2YW50IG9wZXJhdGlvbnMKKyBhbmQgaXQgaXMgdW5uZWNlc3NhcnkgdG8gc3BlY2lmeSAtLWFkanVzdCBvbiB0aGUgaHdjbG9jayBjb21tYW5kIGxpbmUgbm93LgorCisgVGhlIGNvbW1hbmQgaHdjbG9jayg4KSBkb2VzIG5vdCBhdXRvbWF0aWNhbGx5IChyZSljYWxjdWxhdGUgdGhlIGRyaWZ0IGZhY3RvciBvbgorIC0tc3lzdG9oYyB0byBhdm9pZCBzZXZlcmFsIHByb2JsZW1zIChudHBkIHdpdGggJzExIG1pbnV0ZSBtb2RlJywgZm9yIGV4YW1wbGUpLAorIGJ1dCB0aGUgbmV3IGNvbW1hbmQtbGluZSBvcHRpb24gLS11cGRhdGUtZHJpZnQgaGFzIHRvIGJlIGV4cGxpY2l0bHkgdXNlZCB0bworIGZvcmNlIGh3Y2xvY2soOCkgdG8gdXBkYXRlIC9ldGMvYWRqdGltZS4KKworIEZvciBtb3JlIGRldGFpbHMgc2VlIHRoZSBod2Nsb2NrKDgpIG1hbiBwYWdlLgorCisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK3pyYW1jdGwoOCk6CisgLSB0aGlzIE5FVyBDT01NQU5EIGFsbG93cyB0byBjb250cm9sIC9kZXYvenJhbU4gZGV2aWNlcworCithZ2V0dHkoOCk6CisgLSBzdXBwb3J0cyBuZXcgb3B0aW9uIC0tcmVsb2FkIHRvIGZvcmNlIGFscmVhZHkgcnVubmluZyBhZ2V0dHkgcHJvY2Vzc2VzIHRvCisgICByZXByaW50IHRoZSAvZXRjL2lzc3VlIGZpbGUKKworY2ZkaXNrKDgpLCBzZmRpc2soOCkgYW5kIGZkaXNrKDgpOgorIC0gc3VwcG9ydCBzZmRpc2stY29tcGF0aWJsZSBzY3JpcHRzOyBpdCdzIHBvc3NpYmxlIHRvIHNhdmUgeW91ciBwYXJ0aXRpb25pbmcKKyAgIGxheW91dCB0byB0ZXh0IGZpbGVzIGFuZCAocmUpdXNlIGl0IGluIGFsbCBmZGlza3MKKworZmRpc2soOCksIHNmZGlzayg4KToKKyAtIHN1cHBvcnQgbmV3IGNvbW1hbmQtbGluZSBvcHRpb24gIi0tb3V0cHV0IDxsaXN0PiIgdG8gc3BlY2lmeSBvdXRwdXQgY29sdW1ucworICAgZm9yIC0tbGlzdCBvciBwcmludCBjb21tYW5kcworCituc2VudGVyKDEpOgorIC0gaGFzIGJlZW4gdXBkYXRlZCB0byB3b3JrIHdpdGggdGhlIGxhdGVzdCBrZXJuZWwgY2hhbmdlcyBpbiB1c2VyIG5hbWVzcGFjZXMKKyAtIHN1cHBvcnRzIG5ldyBjb21tYW5kLWxpbmUgb3B0aW9uIC0tcHJlc2VydmUtY3JlZGVudGlhbHMKKwordW5zaGFyZSgxKToKKyAtIGhhcyBiZWVuIHVwZGF0ZWQgdG8gd29yayB3aXRoIHRoZSBsYXRlc3Qga2VybmVsIGNoYW5nZXMgaW4gdXNlciBuYW1lc3BhY2VzCisgLSBzdXBwb3J0cyBuZXcgY29tbWFuZC1saW5lIG9wdGlvbiAiLS1zZXRncm91cHM9PGRlbnl8YWxsb3c+IgorCitzd2Fwb24oOCk6CisgLSBzdXBwb3J0cyBuZXcgY29tbWFuZC1saW5lIG9wdGlvbiAiLW8gPGxpc3Q+IiB3aXRoIHRoZSBzYW1lIHNlbWFudGljcyBhcworICAgLW8gZm9yIG1vdW50KDgpOyBpdCdzIG5vdyBwb3NzaWJsZSB0byBzcGVjaWZ5IHN3YXAgb3B0aW9ucyBvbiB0aGUgY29tbWFuZAorICAgbGluZSBieSB0aGUgc2FtZSBzdHJpbmcgYXMgaW4gZnN0YWIKKworZmRmb3JtYXQoOCk6CisgLSBzdXBwb3J0cyBuZXcgY29tbWFuZC1saW5lIG9wdGlvbnMgLS1mcm9tIGFuZCAtLXRvIHRvIHNwZWNpZnkgdHJhY2tzIGFuZAorICAgLS1yZXBhaXIgZm9yIGJyb2tlbiBmbG9wcGllcworCitnZXRvcHQoMSk6CisgLSBoYXMgYmVlbiB1cGRhdGVkIHRvIHRoZSBsYXRlc3QgdmVyc2lvbiAob3JpZ2luYWxseSBtYWludGFpbmVkIG91dHNpZGUgb2YKKyAgIHV0aWwtbGludXgpIGFuZCByZWZhY3RvcmVkCisKK2xkYXR0YWNoKDgpOgorIC0gaGFzIGJlZW4gaW1wcm92ZWQgdG8gc3VwcG9ydCBHU00wNzEwIGFuZCBpbnRybyBtb2RlbSBjb21tYW5kcworCitsb2dnZXIoMSk6CisgLSBzdXBwb3J0cyBuZXcgY29tbWFuZC1saW5lIG9wdGlvbiAtLWlkPSB0byBzcGVjaWZ5IFBJRCAob3IgYW5vdGhlciBJRCkKKyAtIGFsbG93cyB0byBzcGVjaWZ5IC0tcmZjMzE2NCBvciAtLXJmYzU0MjQgc3lzbG9nIHByb3RvY29scworCitsaWJmZGlzazoKKyAtIHRoZSBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGFzIGEgc2hhcmVkIGxpYnJhcnkgd2l0aCBhIHN0YWJsZSBBUEkgYW5kIGEKKyAgIHN0YW5kYXJkIGhlYWRlciBmaWxlCisKK2xpYm1vdW50OgorIC0gcHJvdmlkZXMgYSBuZXcgc2ltcGxlIEFQSSB0byBtb25pdG9yIG1vdW50LXRhYmxlIGNoYW5nZXMgKGluY2x1ZGluZworICAgY2hhbmdlcyBpbiB1c2Vyc3BhY2UgbW91bnQgb3B0aW9ucykKKworCitUaGUgZGVidWcgaW5mcmFzdHJ1Y3R1cmUgaW4gdGhlIGxpYnJhcmllcyBsaWJtb3VudCwgbGlic21hcnRjb2xzbSwgbGliZmRpc2sgYW5kCitsaWJibGtpZCBhbGxvd3MgdG8gc3BlY2lmeSBkZWJ1ZyBvcHRpb25zIGJ5IGh1bWFuLXJlYWRhYmxlIHN0cmluZ3MgdG9vLiBGb3IKK2V4YW1wbGUgIkxJQk1PVU5UX0RFQlVHPWFsbCBtb3VudCAvbW50Ii4KKworCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4yNSBhbmQgdjIuMjYKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4IDIuMjUuMSBbU2VwIDMgMjAxNF0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNS92Mi4yNS4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNS92Mi4yNS4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjUuMiBbT2N0IDI0IDIwMTRdCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjUvdjIuMjUuMi1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjUvdjIuMjUuMi1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMjUgYW5kIHYyLjI2CistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKKyBGb3IgbW9yZSBkZXRhaWxzIHNlZSBDaGFuZ2VMb2cgZmlsZXMgYXQ6CisgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNi8KKworYWdldHR5OgorICAgLSBSZXByb21wdCBhbmQgcmVwcmludCAvZXRjL2lzc3VlIHdoZW4gYXNrZWQgIFtTdGVmIFdhbHRlcl0KKyAgIC0gZG9uJ3QgaWdub3JlIFRFUk0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmaXhpbmcgRlRCRlMgb24gIWxpbnV4IChEZWJpYW4gdXRpbC1saW51eCAyLjIwLjEtMS4yKSAgW0NocmlzdG9waCBFZ2dlcl0KKyAgIC0ga2VlcCB0aGUgY3VycmVudCBiYXVkIGJlZm9yZSB0cnkgOTYwMCBvbiBzZXJpYWwgbGluZXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmdXRpbWVucywgY2hlY2sgZm9yIGFsbCBpbiBjb25maWd1cmUuYWMgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyBzZXQgZGVmYXVsdCBzZXJpYWwgbGluZSBzcGVlZCAgW0thcmVsIFpha10KK2Jhc2gtY29tcGxldGlvbjoKKyAgIC0gSW52b2tlIGFjdHVhbCBjb21tYW5kcyB0byBiZSBjb21wbGV0ZWQsIG5vdCBiYXNlbmFtZXMgIFtWaWxsZSBTa3l0dMOkXQorICAgLSBmaXggcnVudXNlciBpbnN0YWxsICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIHN0b3AgYmVpbmcgY2xldmVyIHdoZW4gbGlzdGluZyBibG9jayBkZXZpY2VzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzd2Fwb24gbGFiZWwgYW5kIHV1aWQgbGlzdGluZyBzdXBwb3J0ICBbU2FtaSBLZXJvbGFdCitibGtkaXNjYXJkOgorICAgLSBhZGQgc3VwcG9ydCBmb3Igc3RlcHMgYW5kIHByb2dyZXNzICBbRmVkZXJpY28gU2ltb25jZWxsaV0KKyAgIC0gZmFpbCBvbiBzZWN0b3IgbWlzYWxpZ25tZW50ICBbRmVkZXJpY28gU2ltb25jZWxsaV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBlcnItPmVycngoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGluY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdW5kZXJmbG93IHdoZW4gb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSAgW1JhcGhhZWwgUy4gQ2FydmFsaG9dCisgICAtIHVwZGF0ZSBtYW4gcGFnZSAgW0thcmVsIFpha10KK2Jsa2lkOgorICAgLSBhZGQgaGludCBhYm91dCBsc2JsayB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBleHRyYSB0cmFpbGluZyBzcGFjZXMgaW4gb3V0cHV0ICBbS2FyZWwgWmFrXQorYmxvY2tkZXY6CisgICAtIGNoZWNrIHJldHVybiB3aGVuIHJlYWQgZnJvbSBzeXNmcyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitidWlsZDoKKyAgIC0gZml4IHByaW50ZiB3YXJuaW5ncyBmb3IgaWNjICgtV2Zvcm1hdC1zZWN1cml0eSkgIFtSdWVkaWdlciBNZWllcl0KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb24gdG8gY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlzay5wYyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrUC5oIHRvIHNvdXJjZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBoaW50IGFib3V0ICdtYWtlJyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNmZGlzay5zdGF0aWMgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIGljYyB3YXJuaW5ncyAiaWdub3JpbmcgdW5rbm93biBvcHRpb24iICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGJ1aWxkIGxpYm1vdW50IGV2ZXJ5d2hlcmUgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGNoZWNrIGZvciBsaWJ0b29saXplIHJhdGhlciB0aGFuIGxpYnRvb2wgIFtIZWxtdXQgR3JvaG5lXQorICAgLSBjbGVhbnVwIGluIGxpYm1vdW50IE1ha2Vtb2R1bGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgbGlicmFyeSBzeW1ib2wgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGNyZWF0ZSBhIHJlZ3VsYXIgc2hhcmVkIGxpYmZkaXNrLnNvICBbS2FyZWwgWmFrXQorICAgLSBjcmVhdGUgcGFyZW50IGRpcmVjdG9yeSBmb3IgJChQQVRIRklMRVMpICBbTWljaGFlbCBNYXJpbmVhdV0KKyAgIC0gZml4IFVMX1NDQU5GX1RZUEVfTU9ESUZJRVIgZm9yIGljYyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZG91YmxlIHByZWZpeCB3aXRoIGV4cGxpY3QgLS1saWJkaXIgIFtDaHJpc3RvcGggSnVuZ2hhbnNdCisgICAtIGZpeCBtYWtlIGNoZWNraW5jbHVkZXMgd2FybmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHN3aXRjaF9yb290L3Bpdm90X3Jvb3QgY3V0LW4tcGFzdGUgZXJyb3IgaW4gY29uZmlndXJlLmFjICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBmcmVlKCkgbmVlZHMgc3RkbGliLmggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaHdjbG9jayByZXF1aXJlcyAtbG0gIFtDcmlzdGlhbiBSb2Ryw61ndWV6XQorICAgLSBpbXByb3ZlIHdvcmRpbmcgYW5kIHB1bmN0dWF0aW9uIG9mIHNldmVyYWwgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSBzY2FuZl9jdl9hbGxvY19tb2RpZmllciB0byB3b3JrIFtMZWFrU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIGFsbCBhcm91bmQgY2xvY2tfZ2V0dGltZSgpIHRvIG1vbm90b25pYy5jICBbS2FyZWwgWmFrXQorICAgLSBvbGQgZ2xpYmMgcmVxdWlyZXMgLWxydCBjbG9ja19nZXR0aW1lKCkgIFtLYXJlbCBaYWtdCisgICAtIHByb3Blcmx5IGNoZWNrIGZvciAtbHJ0ICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjI2LXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjYtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHN3YXAtY29tbW9uLmggZnJvbSBzeXMtdXRpbHMvTWFrZW1vZHVsZS5hbSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IG5zZW50ZXIuc3RhdGljICBbS2FyZWwgWmFrXQorICAgLSB1c2UgLWx1dGlsIGZvciBCU0Qgb25seSAgW0thcmVsIFpha10KKyAgIC0gdXNlIENMT0NLR0VUVElNRV9MSUJTICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBgY29sb3JgIG9wdGlvbiBkb2N1bWVudGF0aW9uIHNob3VsZCBtYXRjaCBhY3R1YWwgYmVoYXZpb3VyICBbRXVnZW5lIFl1bmFrXQorICAgLSBmaXggc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cgW0FkZHJlc3NTYW5pdGl6ZXJdICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBpbnQ2NF90IGluc3RlYWQgb2YgbG9uZyAgW1J1ZWRpZ2VyIE1laWVyXQorY2ZkaXNrOgorICAgLSBhY3R1YWxseSB0cmFuc2xhdGUgdGhlIHRhYmxlIGhlYWRlcnMgYW5kIHRoZSBib3R0b20gbGluZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgbGliZmRpc2sgaW5kZXBlbmRlbnQgZGVidWcgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBzZmRpc2sgc2NyaXB0cyAgW0thcmVsIFpha10KKyAgIC0gYWxzbyByZWNvZ25pemUgYSBsb3dlcmNhc2UgJ2wnIGZvciBsb2FkaW5nIGEgc2NyaXB0IGZpbGUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gY2xlYW51cCBtZW51aXRlbSBkcmF3IGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZGVmYXVsdCB0byBRdWl0IG1lbnUgaXRlbSAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IHRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZXMgIFtLYXJlbCBaYWtdCisgICAtIGRpc2FibGUgc29tZSBLRVlfKiBpbiB1aV9nZXRfd3FzdHJpbmcoKSAgW0thcmVsIFpha10KKyAgIC0gZG8gbm90IHN0YXJ0bGUgdGhlIHVzZXIgd2l0aCBhIGZhbHNlIG1lc3NhZ2Ugd2hlbiAtLXplcm8gaXMgdXNlZCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBkb24ndCBtZXNzIHVwIHRoZSBoZWxwIHNjcmVlbiBieSBwcmludGluZyB0aGUgUE8gZmlsZSBoZWFkZXIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZG9uJ3QgbW9kaWZ5IG5jdXJzZXMgTElORVMgYW5kIENPTFMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW0gbGVhayBhbmQgbWFpbl9tZW51X2FjdGlvbigpIGxvZ2ljIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gaW4gdGhlIHByZXZpb3VzIGNvbW1pdCAgW0thcmVsIFpha10KKyAgIC0gZm9yY2UgbWFpbiBtZW51IHRvIGRlZmF1bHQgdG8gUXVpdC9OZXcgbWVudSBpdGVtcyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBEdW1wIGRpYWxvZyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBjcmVhdGUtbGFiZWwgVUkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbWVudSBjbGVhbiBmdW5jdGlvbiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB1aV9nZXRfc2l6ZSgpIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHdvcmRpbmcgYW5kIGNvbnNpc3RlbmN5IG9mIHRoZSBzaXplIHdhcm5pbmdzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2UgJz8nIGFuIGFsaWFzIG9mICdoJywgdG8gYWxzbyBzaG93IHRoZSBoZWxwIHNjcmVlbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtb3ZlIGN1cnNfc2V0KDEpIHRvIHVpX2VuZCgpICBbS2FyZWwgWmFrXQorICAgLSBwcmludCAid3Jvbmcgb3JkZXIiIHdhcm5pbmcgYWZ0ZXIgc3RhcnR1cCwgY29sb3JpemUgaW5mbyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gcHVuY3R1YXRlIHRoZSBib3R0b21iYXIgbWVzc2FnZXMgY29uc2lzdGVudGx5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlZW5hYmxlIGN1cnNvciB3aGVuIHF1aXR0aW5nICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSByZW1vdmUgW0xvYWRdIGZyb20gbWVudSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHRoZSBtaXN0YWtlbiBCIGZyb20gdGhlIGV4cGxhbmF0aW9uIG9mIHNpemUgc3VmZml4ZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc2hvcnRlbiB0aGUgaGVscCBzY3JlZW4gdG8gbWFrZSBpdCBmaXQgd2l0aGluIDI1IGxpbmVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSBvbmx5IHB1YmxpYyBsaWJmZGlzayBBUEkgIFtLYXJlbCBaYWtdCisgICAtIHdyb25nIGludGVycHJldGF0aW9uIG9mIHllcyBpbiBub24tZW5nbGlzaCBsYW5ndWFnZSAgW0thcmVsIFpha10KK2NoZm46CisgICAtIGFkZCBtaW5pbWFsaXN0aWMgc3RydWN0IGNoZm5fY29udHJvbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBwYXJzZV9hcmd2KCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGF0aW9uIHdpdGhvdXQgbGlidXNlciAgW0thcmVsIFpha10KKyAgIC0gZml4IHVzYWdlKCkgcmVncmVzc2lvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGNvbW1hbmQgdG8gb2JleSBsb2dpbi5kZWZzIENIRk5fUkVTVFJJQ1QgaW5zdHJ1Y3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgbmV3IGFuZCBvbGQgZmluZ2VyIHN0cnVjdHMgdG8gY2hmbiBjb250cm9sIHN0cnVjdCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZnVuY3Rpb24gcHJvdG90eXBlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgc2V0X2NoYW5nZWRfZGF0YSgpIGFuZCBhZGQgYWRkX21pc3NpbmcoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW5hbWUgcHJvbXB0KCkgdG8gYXNrX25ld19maWVsZCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHJld3JpdGUgcHJvbXB0KCkgdG8gdXNlIHN0cnV0aWxzICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IHBhcnNlX3Bhc3N3ZCgpIGJ5IHVzaW5nIHN0cnNlcCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB4YXNwcmludGYoKSByYXRoZXIgdGhhbiBidW5jaCBvZiBzdHJsZW4oKSBhbmQgbWFsbG9jKCkgY2FsbHMgIFtTYW1pIEtlcm9sYV0KK2NoZm4sIGNoc2g6CisgICAtIHNoYXJlIGlsbGVnYWxfcGFzc3dkX2NoYXJzKCkgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KK2NocnQ6CisgICAtIGFkZCBub3RlIGFib3V0IHplcm8gcHJpb3JpdHkgZm9yIElETEUgYW5kIEJBVENIICBbS2FyZWwgWmFrXQorY2hzaDoKKyAgIC0gYWxsb3cgdXNlciB0byBzZXQgc2hlbGwgdG8gL2Jpbi9zaCBpZiBub25lIGlzIHNldCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBwYXJzZV9hcmd2KCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZmFpbCBnZXRfc2hlbGxfbGlzdCgpIGNoZWNrIHdoZW4gL2V0Yy9zaGVsbHMgY2Fubm90IGJlIG9wZW5lZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBrZWVwIHN0cnVjdCBvcHRpb25zIGluIC5yb2RhdGEgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBmdW5jdGlvbiBwcm90b3R5cGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHJld3JpdGUgZnVuY3Rpb24gaW50ZXJhY3Rpbmcgd2l0aCB1c2VyIHRvIGdldCBwYXRoIHRvIG5ldyBzaGVsbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgZmV3IHZhcmlhYmxlcyByZWFkLW9ubHkgYW5kIHJlbmFtZSBvbmUgb2YgdGhlbSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBjaGVja19zaGVsbCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IGdldF9zaGVsbF9saXN0KCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBnZXRsaW5lKCkgdG8gc3VwcG9ydCBhcmJpdHJhcmlseSBsb25nIGxpbmVzICBbU2FtaSBLZXJvbGFdCitjb2xjcnQ6CisgICAtIHNsaWNlIHVwIHRoZSB1c2FnZSB0ZXh0IGZvciBlYXNlIG9mIHRyYW5zbGF0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCitkbWVzZzoKKyAgIC0gRW5hYmxlIHByb3BlciBpbmRlbnQgZm9yIG1lc3NhZ2VzIGNvbnRhaW5pbmcgbGluZSBicmVha3MgIFtJbmdvIEJyw7xja2xdCisgICAtIGltcHJvdmUgcmVsdGltZSBjb2xvcnMgIFtLYXJlbCBaYWtdCitkb2NzOgorICAgLSBTcGVsbGluZyBmaXhlcyAgW1ZpbGxlIFNreXR0w6RdCisgICAtIGFkZCBUT0RPIGVudHJ5IGZvciBsaWJibGtpZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNmZGlzayBhdXRvLXNvcnQgdG8gVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaG93dG8tcHVsbC1yZXF1ZXN0LnR4dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgaW5mbyBhYm91dCAqX0RFQlVHPSB0byBtYW4gcGFnZXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb2dnZXIgcHJvdG9jb2wgbm90ZXMgdG8gbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5ldyBjZmRpc2sgcmVxdWVzdCB0byBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzd2Fwb24gLW8gdG8gVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdGhlIFNvcnQgY29tbWFuZCB0byB0aGUgbWFuIHBhZ2Ugb2YgY2ZkaXNrICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkanVzdCBzb21lIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmdzIGluIGEgaGFuZGZ1bCBvZiBtYW4gcGFnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYWRqdXN0IHRoZSBncmFtbWFyLCB0ZXh0LCBzb3J0aW5nIGFuZCBmb3JtYXR0aW5nIG9mIGxvZ2dlciBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBicmluZyB0aGUgY2hydCBhbmQgdGFza3NldCBtYW4gcGFnZXMgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYnJpbmcgdGhlIHJ0Y3dha2UgbWFuIHBhZ2UgY2xvc2VyIHRvIHN0YW5kYXJkIGZvcm1hdHRpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYnJpbmcgdGhlIHJ1bnVzZXIgYW5kIHN1IG1hbiBwYWdlcyBjbG9zZXIgdG8gc3RhbmRhcmQgZm9ybWF0dGluZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBkb24ndCB1c2UgYm9sZCBvciBpdGFsaWNzIGZvciAiW29wdGlvbl0iIGluIHN5bm9wc2lzIG9mIG1hbiBwYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggZ3JhbW1hciBhbmQgcHVuY3R1YXRpb24gYW5kIHR5cG9zIGluIDIuMjYgcmVsZWFzZSBub3RlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggaW5jb25zaXN0ZW5jaWVzIGluIG1hbiBwYWdlcyAgW1N0ZXZlbiBIb25leW1hbl0KKyAgIC0gZml4IHNvbWUgdGhpbmdzIHRoYXQgd2VyZSBvdmVybG9va2VkIGR1cmluZyB0aGUgZmlyc3QgcGFzcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggc29tZSB3b3JkaW5nIGFuZCBmb3JtYXR0aW5nIGluIG1hbiBwYWdlIG9mIHN3YXBvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggc29tZSB3b3JkaW5nLCBncmFtbWFyIGFuZCBmb3JtYXR0aW5nIGluIG1hbiBwYWdlIG9mIHN3YXBvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdGhlIGdyYW1tYXIgYW5kIGZvcm1hdHRpbmcgaW4gdGhlIG1hbiBwYWdlIG9mIHNmZGlzayAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdGhlIGdyYW1tYXIgb2YgdGhlIHJlY2VudCBjb21tZW50IGFib3V0IGNvbW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCB0aGUgbGluayB0byB0aGUgcmMxIGNoYW5nZWxvZyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdHdvICJtYXliZSBiZSIgZHVwbGljYXRpb25zIGluIHByb2dyYW0gY29tbWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHR3byBwYXRocyBvZiB0aGUgdjIuMjAtUmVsZWFzZU5vdGVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCB0d28gc3BlbGxpbmdzIGluIG1hbiBwYWdlIG9mIGxvZ2dlciAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdHlwb3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeC11cCBtYW4tcGFnZXMgZmxhZ2dlZCBieSBjaGVja21hbnMuc2ggIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZ2l2ZSB0aGUgbWFuIHBhZ2Ugb2YgdXRtcGR1bXAgdGhlIHByb3BlciBVc2VyIENvbW1hbmRzIGhlYWRlciAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHNvbWUgd29yZGluZ3MgaW4gdGhlIG1hbiBwYWdlIG9mIG1vdW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgc29tZSB3b3JkaW5ncyBvbiB0aGUgbWFuIHBhZ2Ugb2Ygd2lwZWZzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgdGhlIGRlc2NyaXB0aW9uIG9mIC0tc2l6ZSBpbiB0aGUgbWFuIHBhZ2Ugb2YgenJhbWN0bCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHRoZSBmb3JtYXR0aW5nIG9mIHRoZSBjaGZuIGFuZCBjaHNoIG1hbiBwYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHRoZSBncmFtbWFyIG9mIHRoZSAic2VlIHRoZSBjaGFuZ2Vsb2ciIHBocmFzZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIHRoZSBzb3J0aW5nIG9mIHRoZSBvcHRpb25zIGluIHRoZSBtYW4gcGFnZSBvZiBnZXRvcHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaW1wcm92ZSB0aGUgd29yZGluZyBhbmQgZm9ybWF0dGluZyBvZiB0aGUgenJhbWN0bCBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlIGxvZ2dlci4xIGZhY2lsaXRpZXMgYW5kIGxldmVscyBlYXNpZXIgdG8gcmVhZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHRoZSBtYW4tcGFnZSBsaWNlbnNlcyBvZiBjaHJ0IGFuZCB0YXNrc2V0IG1hdGNoIHRoZWlyIGludGVudCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBtYWtlIHRoZSB3b3JkaW5nIG9mIHRoZSBwYXJ0eCBtYW4gcGFnZSBhIGJpdCBtb3JlIHByZWNpc2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSB0b29scy9jaGVja21hbnMuc2ggdG8gcGFzcyB3aXRob3V0IHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIG1lbnRpbnRpb24gZGVmYXVsdCB1ZHAgYW5kIHRjcCBwb3J0cyBsb2dnZXIgaXMgdXNpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWVudGlvbiBuaWNlKDEpIGluIHJlbmljZSgxKSBtYW51YWwgcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtZW50aW9uIHRoYXQgc2V0YXJjaCBtYXkgbm90IGJlIGFibGUgdG8gc2V0IGFsbCBsaXN0ZWQgYXJjaGl0ZWN0dXJlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1vdmUgYWxsIG1lbnRpb24gb2YgaGVscGVyPSBhbmQgdWhlbHBlcj0gZnJvbSB1bW91bnQgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIFJFQURNRXMgZm9yIChzKWZkaXNrICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgYW5kIHVubmVlZGVkIGNvbW1lbnRzIGZyb20gbWFuLXBhZ2UgZmlsZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVzdG9yZSBtaW51cyBzeW1ib2xzIGluIGxvbmcgb3B0cyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZXN0b3JlIHRoZSBhbHRlcm5hdGl2ZSBmb3JtIG9mIHNldGFyY2ggaW4gaXRzIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlc3RvcmUgdGhlIG1lbnRpb24gb2YgdWhlbHBlcj0gYW5kIGhlbHBlcj0gaW4gbWFuIHBhZ2Ugb2YgdW1vdW50ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJldHJvZml0IHRoZSBkYXRlcyBvbiBzb21lIG9sZCByZWxlYXNlIGFubm91bmNlbWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc21hbGwgaW1wcm92ZW1lbnRzIHRvIGhvd3RvLWNvbnRyaWJ1dGUudHh0ICBbU2FtaSBLZXJvbGFdCisgICAtIHNvcnQgdGhlIG9wdGlvbnMgaW4gdGhlIG1hbiBwYWdlIG9mIHNmZGlzayBhbHBoYWJldGljYWxseSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzb3J0IHRoZSBvcHRpb25zIGluIHRoZSBtYW4gcGFnZXMgb2YgaHdjbG9jayBhbmQgdXVpZGQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc3BlbGxpbmcsIHdvcmRpbmcsIGFuZCBncmFtbWFyIGZpeGVzIGluIHRoZSBtYW4gcGFnZSBvZiB3aGVyZWlzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN5bmMgdGhlIGRvY3N0cmluZyBvZiBhZGRwYXJ0LCBkZWxwYXJ0IGFuZCByZXNpemVwYXJ0IHRvIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1cGRhdGUgQVBJIGRvY3MgeWVhcnMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZGVwcmVjYXRpb24gYmFubmVycyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgaW5mbyBhYm91dCBlbnYgZGVidWcgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMjYtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorZWplY3Q6CisgICAtIGFkZCBzdHJ1Y3QgZWplY3RfY29udHJvbCB0byByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgdmVyYm9zaXR5IHRvIGNkcm9tIGRvb3IgbG9jayBlcnJvciAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIG9wZW5fZGV2aWNlKCkgYW5kIHNlbGVjdF9zcGVlZCgpIHRvIHVzZSBzdHJ1Y3QgZWplY3RfY29udHJvbCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3ZlIHVucmVhY2hhYmxlIGNvZGUgdG8gcHJlcHJvY2Vzc29yICNlbHNlIGJsb2NrIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHN5c2ZzIEFQSSB0byBkZXRlY3QgaG90cGx1ZyAgW0thcmVsIFpha10KK2ZhbGxvY2F0ZToKKyAgIC0gY3JlYXRlIG1vZGUgMDY2NiwgdGhhdCdzIHdoYXQgdW1hc2sgaXMgZm9yICBbS2FyZWwgWmFrXQorZmRmb3JtYXQ6CisgICAtIEFkZCBuZXcgc3dpdGNoZXMgLWYvLS1mcm9tLCAtdC8tLXRvLCAtci8tLXJlcGFpciAgW0phcm9taXIgQ2FwaWtdCisgICAtIGNsZWFuIHVwIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeGluZyBjb3B5J24ncGFzdGUgaXNzdWUgaW4gdGhlIG1hbnVhbCAgW0phcm9taXIgQ2FwaWtdCitmZGlzazoKKyAgIC0gKHNnaSkgZml4IHVuc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cgW0FkZHJlc3NTYW5pdGl6ZXJdICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCAtLW91dHB1dCA8bGlzdD4gZm9yIHByaW50IGNvbW1hbmQocykgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLW91dHB1dCB0byB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaW5kZXBlbmRlbnQgZGVidWcgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzZWN0aW9uIGFib3V0IHNpemVzIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHNmZGlzayBzY3JpcHRzICBbS2FyZWwgWmFrXQorICAgLSBhbHdheXMgcHJpbnQgd2FybmluZyBmb3IgbWlzLWFsaWduZWQgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmV0dXJuIGFuZCByb2J1c3QgbGFiZWwgdXNhZ2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggLWwgWzxkZXZpY2U+XSAgW0thcmVsIFpha10KKyAgIC0gZml4IGFuZCBpbXByb3ZlIC1sIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAtLWxpc3Qgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaCAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gbW92ZSAtLWxpc3QgZnVuY3Rpb25hbGl0eSB0byBzZXBhcmF0ZWQgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gcmVmYWN0b3IgL3Byb2MvcGFydGl0aW9ucyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gcmVzZXQgY2FjaGVkIG91dHB1dCBmaWVsZHMgd2hlbiBjaGFuZ2UgZGlzayBsYWJlbCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHRlc3RzIGFuZCBjbGVhbiB1cCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJmZGlzayBwdWJsaWMgQVBJIG9ubHkgIFtLYXJlbCBaYWtdCitmaW5kbW50OgorICAgLSBkb2N1bWVudCAtLXVuaXEgb3B0aW9uIGluIG1hbiBwYWdlICBbQmVybmhhcmQgVm9lbGtlcl0KKyAgIC0gZG9uJ3QgcGFyc2UgbW91bnRpbmZvIHR3aWNlICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtIGxlYWtzIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK2Zsb2NrOgorICAgLSBhZGQgZXJyb3IgbWVzc2FnZSB0byB0cmFuc2xhdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gemVybyB0aW1lb3V0IGlzIHZhbGlkICBbS2FyZWwgWmFrXQorZnNjazoKKyAgIC0gZGVhbGxvY2F0ZSB3aGVuIG5vIGNhY2hlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XbG9naWNhbC1ub3QtcGFyZW50aGVzZXNdICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbW9ub3RvbmljIHRpbWUgdG8gZnNjayBydW4gdGltZSBtZWFzdXJlbWVudCAgW1NhbWkgS2Vyb2xhXQorZnNjay5taW5peDoKKyAgIC0gZml4IHNlZ21lbnRhdGlvbiBmYXVsdCAgW1NhbWkgS2Vyb2xhXQorZnN0cmltOgorICAgLSBpbml0aWFsaXplIHBhdGggdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KK2dldG9wdDoKKyAgIC0gYWRkIHN0cnVjdCBnZXRvcHRfY29udHJvbCBhbmQgcmVtb3ZlIGdsb2JhbCB2YXJpYWJsZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYXZvaWQgcmUtdGVybWluYXRpbmcgbG9uZ19vcHRpb24gbGlzdCBhdCBldmVyeSB1cGRhdGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hhbmdlIC0tc2hlbGwgYXJndW1lbnQgcGFyc2luZyBmdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbnVwIGFkZF9sb2dfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBub25vcHRpb25zIG9wdHN0cmluZyBjb21tZW50IGNvcnJlY3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBub3JtYWxpemUoKSBwcmludCBzdHJpbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIHByZWZlciBzd2l0Y2gtY2FzZSByYXRoZXIgdGhhbiBsb25nIGlmIHN0YXRlbWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgZnVuY3Rpb24gcHJvdG90eXBlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY29kZSAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW5hbWUgZnVuY3Rpb24gdG8ga2VlcCBjb2RlIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBzeW5jIHdpdGggMS4xLjYgcmVsZWFzZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeHN0cmR1cCByYXRoZXIgdGhhbiBtYWxsb2MgKyBzdHJjcHkgIFtTYW1pIEtlcm9sYV0KK2hleGR1bXA6CisgICAtIEZpeCBwYXJzZSBmb3JtYXQgb2YgImJ5dGUgY291bnQgd2l0aG91dCByZXBldGl0aW9uIGNvdW50IiAgW0hVQU5HIFdlaV0KKyAgIC0gcmVtb3ZlIGRlcHJlY2F0aW9uIG1lc3NhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlICdsbCcgZm9ybWF0IG1vZGlmaWVyIGluc3RlYWQgb2YgdGhlIG5vbi1zdGFuZGFyZCAncScuICBbTmF0YW5hZWwgQ29wYV0KK2h3Y2xvY2s6CisgICAtIEFkZCAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gQWRkIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiBNQU4gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gQWRkIG50cHRpbWUgcmVmZXJlbmNlIHRvIG1hbi1wYWdlICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIEluY29ycmVjdCBVVEMgZGVmYXVsdHMgIFtKV1BdCisgICAtIFJlZHVjZSBkcmlmdCBmYWN0b3IgdXBkYXRlIHBlcmlvZCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBhZGQgY2hlY2tpbmcga2VybmVsIHZhcnMgdG8gbWFuLXBhZ2UgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWRkIG5vdGVzIGFib3V0IGRlZmF1bHQgYmVoYXZpb3IgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gYWRqdXN0IHdvcmRpbmcgb2YgdjIuMjYgbm90ZXMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gY2hlY2sgZm9yIHBlcm1pc3Npb25zIGJlZm9yZSB1c2UgY2xvY2sgaW50ZXJmYWNlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbiBhbmQgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2hlY2sgQ01PUyBhdXRvbWF0aWNhbGx5IG9uIHg4Nl82NCAgW0thcmVsIFpha10KKyAgIC0gZW5hYmxlIC0tZGlyZWN0aXNhIGZvciB4ODZfNjQgIFtKV1BdCisgICAtIGV4Y2x1ZGUgYWxzbyBpMzg2IGZyb20gQ01PUyBhdXRvLXByb2JpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzdXBlcmZsdW91cyAnaWYnIHN0YXRlbWVudCBhbmQgdHlwbyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBoY3Rvc3lzIGRyaWZ0IGNvbXBlbnNhdGlvbiBJSSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBoY3Rvc3lzIGRyaWZ0IGNvbXBlbnNhdGlvbiBJSSBDT01NRU5UUyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBoY3Rvc3lzIGRyaWZ0IGNvbXBlbnNhdGlvbiBJSSBNQU4gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gaW1wcm92ZSBtYW4tcGFnZSBsYW5ndWFnZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBpbXByb3ZlIHdvcmRpbmcgYW5kIGZvcm1hdHRpbmcgb2YgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFuIHBhZ2UgJ1NpbmNlIHYyLjI2JyBub3RlcyAgW0pXUF0KKyAgIC0gbWFuIHJlZ3Jlc3Npb24gIFtKV1BdCisgICAtIG1hbi1wYWdlIGVycmF0YSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwgTUFOICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHJlbW92ZSBhdXRvbWF0aWMgSVNBIGZhbGxiYWNrICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHJlbW92ZSByZWZlcnJhbCB0byBkZXByZWNhdGVkIGtleWJvYXJkIGludGVyZmFjZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgbWFuIHBhZ2UgZm9yIHYyLjI2IHJjICBbSldQXQorICAgLSB1cGRhdGUgbWFuLXBhZ2UgZm9yIGRpcmVjdGlzYSBjaGFuZ2UgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gdXNlIGZhYnMoKSBpbnN0ZWFkIGFicygpIHdoZW4gYXJndW1lbnQgaXMgZG91YmxlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBwbHVyYWxpemVkIHRyYW5zbGF0aW9ucy4gIFtMYXVyaSBOdXJtaV0KK2liZmRpc2s6CisgICAtIChncHQpIGFsbG93IHRvIG1heGltaXplIHBhcnRpdGlvbiAgW0thcmVsIFpha10KK2luY2x1ZGU6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBmcHV0Y19jYXJlZnVsKCkgaW4gY2FyZWZ1bHB1dGMuaCAgW1NhbWkgS2Vyb2xhXQoraW5jbHVkZS9jOgorICAgLSBkZWZpbmUgVUxfQVNBTl9CTEFDS0xJU1QgYWRkcmVzc19zYW5pdGl6ZXIgZnVuY3Rpb24gYXR0cmlidXRlICBbU2FtaSBLZXJvbGFdCitpbmNsdWRlL2NhcmVmdWxwdXRjOgorICAgLSBlbmNvZGUgYWxzbyAnIGFuZCAkIGluIGZwdXRzX3F1b3RlZCgpIG91dHB1dCAgW0thcmVsIFpha10KK2luY2x1ZGUvZGVidWc6CisgICAtIGFsbG93IHRvIHNwZWZpY3kgZW1wdHkgbWFza25hbWVzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hc2tzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBhbmQgY2xlYW51cCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtYXNrbmFtZXMgb3B0aW9uYWwgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgJ2NvbnN0JyBkZWNsYXJhdGlvbiB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCitpbmNsdWRlL29wdHV0aWxzOgorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KK2luY2x1ZGUvc3RhdGZzX21hZ2ljOgorICAgLSB1c2UgbWFjcm8gcmF0aGVyIHRoYW4gdHlwZSBmb3IgZl90eXBlICBbS2FyZWwgWmFrXQoraW9uaWNlOgorICAgLSBkcm9wIHRoZSBkdXBsaWNhdGUgZG9jc3RyaW5nICBbQmVubm8gU2NodWxlbmJlcmddCitpcGMqOgorICAgLSB1c2UgY3VzdG9tYXJ5IGZwdXRzKCkgaW5zdGVhZCBvZiBmcHJpbnRmKCkgd2l0aCB0aGUgdXNhZ2UgbWFjcm9zICBbQmVubm8gU2NodWxlbmJlcmddCitpcGNybToKKyAgIC0gYWRkIGhhY2tzIHRvIGF2b2lkIEZUQkZTICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBmaXggdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGdldHRleHRpemUgdGhlIGNvbW1hbmQgc3lub3BzaXMgb2YgdGhlIHVzYWdlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2lwY3M6CisgICAtIGZpeCBzaG1jdGwoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR3byBkYXRhIHR5cGUgZXJyb3JzIFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbiB1c2FnZSBzaG93IHJlc291cmNlIG9wdGlvbiBhcyBub25vcHRpb25hbCB3aGVuIHVzZWQgd2l0aCAtaSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSByZW1haW5pbmcga0ZyZWVCU0QgaGFja2VyeSBmb3IgYnVpbGRpbmcuICBbQXVyZWxpZW4gSmFybm9dCisgICAtIHJlbW92ZSBGSVhNRSBtYXJrdXAgIFtTYW1pIEtlcm9sYV0KK2xhc3Q6CisgICAtIGltcHJvdmUgY29kZSByZWFkYWJpbGl0eSBieSByZW5hbWluZyB2YXJpYWJsZSBuYW1lcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGlzX3BoYW50b20oKSB3aGVuIGtlcm5lbCBjb25maWcgZG9lcyBub3QgaW5jbHVkZSBhdWRpdCBzdXBwb3J0ICBbU2FtaSBLZXJvbGFdCitsZGF0dGFjaDoKKyAgIC0gR1NNMDcxMCBzdXBwb3J0LCBhZGQgaW50cm8gbW9kZW0gY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZhbGxiYWNrIGZvciBOX0dTTTA3MTAgIFtLYXJlbCBaYWtdCitsaWI6CisgICAtIGZpeCBjcmMzMiBhbmQgY3JjNjQgaW50ZWdlciBvdmVyZmxvd3MgW0FkZHJlc3NTYW5pdGl6ZXJdICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB4Z2V0cGFzcygpICBbU2FtaSBLZXJvbGFdCitsaWIvYmxrZGV2OgorICAgLSByZXBvcnQgY29ycmVjdCBkaXNrIHNpemUgb24gR05VL2tGcmVlQlNELiBUaGFua3MgVHVjby4gIFtSb2JlcnQgTWlsbGFuXQorbGliL2NvbG9yczoKKyAgIC0gYWRkIGZ1bmN0aW9uIHRvIHJldHVybiBjb2xvciBmcm9tIHNjaGVtZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGRvdWJsZSBmcmVlIG9uIGVycm9yIHBhdGggIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIHVzZSBzdGF0aWMgYnVmZmVycyB3aGVuIHBhcnNlIHNjaGVtZSAgW0thcmVsIFpha10KK2xpYi9pc21vdW50ZWQ6CisgICAtIG1ha2UgaXQgbW9yZSBjb21wYXRpYmxlIHdpdGggbHNibGsgb3V0cHV0ICBbS2FyZWwgWmFrXQorbGliL2xvb3BkZXY6CisgICAtIHJlbW92ZSB0ZXN0IHByb2dyYW0gIFtLYXJlbCBaYWtdCisgICAtIHJlcGxhY2UgY3VzdG9tIERCRygpIHdpdGggaW5jbHVkZS9kZWJ1Zy5oICBbS2FyZWwgWmFrXQorbGliL21iYWxpZ246CisgICAtIGZpeCB1bnNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93IFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorbGliL3N0cnV0aWxzOgorICAgLSBhY2NlcHQgbm90IGp1c3QgJ0InIGJ1dCBhbHNvIGxvd2VyY2FzZSAnYicgaW4gYSBzaXplIHN1ZmZpeCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorbGliL3N3YXBwcm9iZXI6CisgICAtIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorbGliL3N5c2ZzOgorICAgLSBhZGQgc3Vic3lzdGVtIGFuZCBob3RwbHVnIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gd3JpdGUgdG8gc3lzZnMgYXR0cmlidXRlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNzaXplX3QgZm9yIHN5c2ZzX3JlYWRsaW5rKCkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliYmxraWQ6CisgICAtIChiY2FjaGUpIGZpeCBrZXlzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBmaXggUFQgb2Zmc2V0ICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1c2UgcmVhbCBzZWN0b3Igc2l6ZSB0byBzZXQgUFRNQUdJQ19PRkZTRVQgIFtLYXJlbCBaYWtdCisgICAtIChoZnMpIGF2b2lkIG92ZXJmbG93IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gKG5pbGZzKSBmaXggdHlwbyAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gYXNzdW1lIHN0cnRvdWxsKCkgaXMgYXZhaWxhYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIGNhcmUgYWJvdXQgdW5zYWZlIGNoYXJzIGluIGNhY2hlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBkZWJ1ZywgYWRkICJoZWxwIiBkZWJ1ZyBtYXNrICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XcG9pbnRlci1zaWduXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1hY3JvIHJlZGVmaW5pdGlvbiBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3RlbnRpYWwgYnVmZXIgb3ZlcmZsb3dzICBbU2ViYXN0aWFuIEtyYWhtZXJdCisgICAtIGltcHJvdmUgTUJSIHZzLiBGQVQgKyBib290IHNlY3RvciBkZXRlY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgc3RyaW5nIHRyaW0gZnVuY3Rpb24gdG8gc3RydXRpbHMuaCAgW0thcmVsIFpha10KKyAgIC0gc2V0IFNCTUFHSUMgZm9yIG5pbGZzMiAgW0thcmVsIFpha10KKyAgIC0gc3VwZXJibG9ja3MgIEFkZCBmdW5jdGlvbiBibGtpZF9wcm9iZV9zZXRfdXRmOF9pZF9sYWJlbCBmb3Igc2V0dGluZyB1dGY4IGlkIGxhYmVsICBbUGFsaSBSb2jDoXJdCisgICAtIHVkZiAgRml4IHJlYWRpbmcgTEFCRUwsIGFkZCBzdXBwb3J0IGZvciBVVUlEIGFuZCBvdGhlciB1ZGYgaWRlbnRpZmllcnMgIFtQYWxpIFJvaMOhcl0KKyAgIC0gemVyb2l6ZSBlcnJubyBvbiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKCkgc3VjY2VzcyAgW0thcmVsIFpha10KK2xpYmZkaXNrOgorICAgLSAoYnNkKSBhZGQgc2V0X3BhcnQoKSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIChkb2NzKSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgYWxsb3cgdG8gbWF4aW1pemUgcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBiZSBzdXJlIHRoYXQgc29ydGVkIEVCUiBsaXN0IGlzIHRlcm1pbmF0ZWQgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGRlbGV0ZSBhbHNvIGxvZ2ljYWwgd2l0aCBleHRlbmRlZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZG9uJ3QgaW5mb3JtIGFib3V0IGxvZ2ljYWwgcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmaXggTi0xIGVycm9yIGZvciBwYXJ0aXRpb24gc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IGJvb2FibGUgZmxhZyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IGxvZ2ljYWwgcGFydGl0aW9ucyBhZGQvZGVsZXRlIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGZpeCBsb2dpY2FsIHBhcnRpdGlvbnMgZXJyb3JzIGhhbmRsaW5nICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZm9sbG93IGJvb3RhYmxlIHNldHRpbmcgd2hlbiBhZGQgcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmb2xsb3cgZXhwbGljaXQgc2l6ZXMgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIGltcGxlbWVudCBmZGlza19zZXRfcGFydGl0aW9uKCkgYmFja2VuZCAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgbWFrZSBhIGhlbHBmdWwgbWVzc2FnZSBmaXQgd2l0aGluIDgwIGNoYXJhY3RlcnMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gKGRvcykgbW9yZSBjYXJlZnVsbHkgY2hlY2sgZm9yIHByaW1hcnkgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmVzZXQgbG9naWNhbCBwYXJ0aXRpb24gc3R1ZmYgYWZ0ZXIgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIChkb3MpIHNldCBwYXJ0aXRpb24gc3RhcnQvc2l6ZSBvbmx5IHdoZW4gcmVxdWVzdGVkICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2Ugc2NyaXB0IGxhYmVsLWlkICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB3cml0ZSBuZXcgZW1wdHkgbGFiZWwgdG9vICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIEdVSUQgIFtTZXJnZWkgQW50b25vdl0KKyAgIC0gKGdwdCkgYWxsb3cgdG8gc3BlY2lmeSBhdHRyIGJpdCBieSBBUEkgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGFsbG93IHRvIHNwZWNpZnkgdXVpZCBhbmQgbmFtZSB3aGVuIGNyZWF0ZSBuZXcgcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBjaGVjayByZXR1cm4gZnJvbSBHVUlEIHBhcnNlciBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGNoZWNrIHN0cmluZ190b19ndWlkKCkgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGNsZWFudXAgaGVhZGVyIHNpemUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGRvbid0IGFsaWduIGxhc3QgcG9zc2libGUgTEJBICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBkb24ndCBvZmZlciBmaXJzdCBzZWN0b3IgYmVmb3JlIHRoZSBmaXJzdCBwYXJ0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBmaXggTi0xIGVycm9yIGZvciBwYXJ0aXRpb24gc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZm9sbG93IGV4cGxpY2l0IHNpemUsIGZpeiBzaXplKzEgYnVmICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBmb2xsb3cgbGFiZWwtaWQgZnJvbSBzY3JpcHQgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGltcGxlbWVudCBmZGlza19zZXRfcGFydGl0aW9uKCkgYmFja2VuZCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgbWFrZSBtb2RlIG1vcmUgcmVhZGFibGUgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHBhcnNlIGF0dHIgYml0cyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgcmVtb3ZlICdDeWxpbmRlcnMnICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBzZXRfe25hbWUsdXVpZH0gZnVuY3Rpb25zIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1c2UgZ2VuZXJpYyBBUEkgdG8gY2hhbmdlIFVVSUQgYW5kIG5hbWUgIFtLYXJlbCBaYWtdCisgICAtIChzZ2kpIGFkZCBzZXRfcGFydCgpIEFQSSAgW0thcmVsIFpha10KKyAgIC0gYWNjZXB0IFN0YXJ0IG9mZnNldCBpbiB7QixNLEcuLn1pQiBpbiBzZmRpc2sgc2NyaXB0cyAgW0thcmVsIFpha10KKyAgIC0gYWNjZXB0IGR1bXAgd2l0aCBxdW90ZXMgIFtLYXJlbCBaYWtdCisgICAtIGFjdHVhbGx5IHRyYW5zbGF0ZSB0aGUgaHVtYW4tcmVhZGFibGUgbmFtZSBvZiB0aGUgcGFydGl0aW9uIHR5cGUgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYWRkIEFQSSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY29tbWVudHMgdG8gaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkb2NzIGZvciBCU0QgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZG9jcyBmb3IgRE9TIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRvY3MgZm9yIEdQVCBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkb2NzIGZvciBTR0kgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZG9jcyBmb3IgU1VOIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRvY3MgZm9yIGluaXQgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZG9jcyBmb3IgaXRlcmF0b3IgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19hcHBseV90YWJsZSgpIGFuZCBmZGlza19kZWxldGVfYWxsX3BhcnRpdGlvbnMoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX2NvcHlfcGFydHR5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX2xhYmVsX2dldF9maWVsZF9ieV9uYW1lKCkgYW5kIGNvbnN0IGZvciBsYWJlbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19wYXJ0aXRpb25faXNfYm9vdGFibGUoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3BhcnRpdGlvbl9pc193aG9sZWRpc2soKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3NldF9wYXJ0aXRpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZ1bmN0aW9ucyB0byBhcHBseSBwYXJ0aXRpb25nIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbnMgdG8gcGxheSBuYXN0eSBnYW1lcyB3aXRoIGZpcnN0L2xhc3QgTEJBICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZ2VvbWV0cnkgdG8gQVBJLCBjbGVhbnVwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW9yZSBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlZi5jb3VudGluZyB0byBhc2sgQVBJICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVmZXJlbmNlIHRvIGNvbnRleHQgdG8gZHVtcCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNvbWUgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHNmZGlzay1saWtlIHNjcmlwdCBmb3JtYXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB2ZXJzaW9uLmMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHNwZWNpZnkgcGFydGl0aW9uIHNpemUgYnkgZXhwbGljaXQgbnVtYmVyIG9mIHNlY3RvcnMgIFtLYXJlbCBaYWtdCisgICAtIGJhc2ljIGZkaXNrX2R1bXBfKiBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIEFQSSAoYWxpZ25tZW50LmMpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBBUEkgKGNvbnRleHQuYykgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIGRlYnVnLCBhZGQgaGVscCBkZWJ1ZyBtYXNrICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGFzayBBUEksIGFkZCBjb21tZW50cyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBjb250ZXh0IGRldm5hbWUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZmRpc2tfaXNfbGFiZWwgc3R1ZmYgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZygpIGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZ3RrLWRvY3Mgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgaW50ZXJuYWwgZHJpdmVycycgQVBJICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxhYmVsIGdlb21ldHJ5IEFQSSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBwYXJ0bm8gQVBJICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHBhcnR0eXBlIEFQSSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzY3JpcHQgZHVtcCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzY3JpcHQgc2l6ZT0gY29kZSAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgc2NyaXB0IHBhcnNlciBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBhbGlnbiB2ZXJ5IHNtYWxsIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBvZmZfdCBpbiBwdWJsaWMgQVBJICBbS2FyZWwgWmFrXQorICAgLSBleHRlbmQgZHVtcCBwYXJzaW5nIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmZGlza19sYWJlbF9pc19sYWJlbHR5cGUoKSAgW0thcmVsIFpha10KKyAgIC0gZmRpc2tfcmVhZF9maXJzdHNlY3RvciBzaG91bGQgc2VlayB0byBvZmZzZXQgMCAgW1NhbXVlbCBUaGliYXVsdF0KKyAgIC0gZmluYWwgcGFydHR5cGUgQVBJIGNsZWFudXAgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhZGRfbG9naWNhbCgpIGFzc2VydCAgW0thcmVsIFpha10KKyAgIC0gZml4IGJ1ZyBpbiBjbXBfbnVtYmVycygpIGFuZCBwYXJ0aXRpb25zIHNvcnRpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjZmRpc2sgZnJlZXNwYWNlIGFuYWx5emUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmRpc2tfZGVsZXRlX2FsbF9wYXJ0aXRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmZGlza19nZXRfb3B0aW1hbF9pb3NpemUoKSBhbmQgdXBkYXRlIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmRpc2tfcGFydGl0aW9uX2dldF9wYXJlbnQoKSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2V0X3BhcnRpdGlvbl91bnVzZWRfcHJpbWFyeSgpICBbQm9yaXMgRWdvcm92XQorICAgLSBmaXggaXNzdWVzIHdpdGggdmVyeSBzbWFsbCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggcGFydGl0aW9uIG5hbWVzIG9uIEdOVSBIdXJkLiAgW0dhYnJpZWxlIEdpYWNvbmVdCisgICAtIGZpeCBwb3NzaWJsZSBtZW0gbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY3JpcHQgbmV4dF90b2tlbigpICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2NyaXB0IHBhcnNlciAgW0thcmVsIFpha10KKyAgIC0gZml4IHNjcmlwdCBwYXJzZXIsIGFkZCBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNjcmlwdCBwYXJ0aXRpb25zIHNpemUgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNjcmlwdCB1bml0IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzb21lIHR5cG9zICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3VuIGFuZCBzZ2kgdG8gYmUgdXNhYmxlIGZyb20gc2ZkaXNrICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGFibGVfYWRkX2ZyZWVzcGFjZSgpLCBhZGQgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmb2xsb3cgZXhwbGljaXRseSBzcGVjaWZpZWQgcGFydGl0aW9uIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGdyYWluIGlzIGluIGJ5dGVzLCBmaXggcHJldmlvdXMgcGF0Y2hlcyAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIHdob2xlLWRpc2sgcGFydGl0aW9uIHdoZW4gY2hlY2sgb3JkZXIgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZGVidWcgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgY29kZSBtb3JlIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoKSBtb3JlIHJvYnVzdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgaXQgcG9zc2libGUgdG8gZ2V0IGZpZWxkcyBmb3IgYWxsIGxhYmVzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB6ZXJvIGZvciBzaXplIGFuZCBzdGFydCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBsYWJlbCBuYW1lcyBjYXNlIGluc2Vuc2l0aXZlICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHNjcmlwdCBoZWFkZXIgcGFyc2VyIG1vcmUgcGVkYW50aWMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgeWVzL25vIGRpYWxvZ3MgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgZG9jcyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBmZGlza19hc2tfcGFydG51bSgpIHRvIEFQSSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBnZXRfcGFydHR5cGVzIHRvIGxhYmVsIEFQSSAgW0thcmVsIFpha10KKyAgIC0gcHJvcGFnYXRlIGFzc2lnbi1kZXZpY2Ugb3BlcmF0aW9uIHRvIHBhcmVudCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlICdlbmQnIGZyb20gc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYnVnIGR1bXAgZnVuY3Rpb24sIGNsZWFudXAgQVBJICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVwZW5kZW5jZSBvbiBsaWJzbWFydGNvbHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBmbGFncyBmcm9tIGZkaXNrX2FzayBBUEkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvbGQgbGFiZWwgZHJpdmVzJyBBUEkgZm9yIHBhcnR0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGFuZCBtb3ZlIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgZmRpc2tfY29sdW1uIHRvIGZkaXNrX2ZpZWxkICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgZmRpc2tfZHVtcF8gdG8gZmRpc2tfc2NyaXB0XyAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIHNlY3Rvcl90IHRvIGZkaXNrX3NlY3Rvcl90ICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gcGFydG5vIHdoZW4gYWRkIG5ldyBwYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgdW5rbm93biBwYXJ0aXRpb24gdHlwZXMgaW4gc2ZkaXNrIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuZXcgc2V0X3BhcnQgQVBJIGluIGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVmZXJlbmNlIGNvdW50aW5nIGZvciBjb250ZXh0ICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc2tpcF9ibGFuaygpIGluIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIHZhcnkgYmFzaWMgZHVtcCBwYXJzaW5nIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KK2xpYm1vdW50OgorICAgLSAoZG9jcykgYWRkIG1vbml0b3IgZXhhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gKG1vbml0b3IpIGFkZCBrZXJuZWwgbW91bnRuaW5mbyBtb25pdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSAobW9uaXRvcikgY2xlYW51cCB3YWl0L3ZlcmlmeSBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gKG1vbml0b3IpIG1ha2UgbW50X21vbml0b3JfbmV4dF9jaGFuZ2VkKCkgdXNhYmxlIGZvciBlcG9sbCB2ZXJzaW9uIHRvbyAgW0thcmVsIFpha10KKyAgIC0gKG1vbml0b3IpIHVzZSBpbm90aWZ5IGZvciB1dGFiIGxvY2sgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gTU5UX09NT0RFX0ZPUkNFIHVzYWdlICBbRnJpZG9saW4gUG9rb3JueV0KKyAgIC0gYWRkIC0tZW5hYmxlLWxpYm1vdW50LWZvcmNlLW1vdW50aW5mbyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBsaWJtbnRfbW9uaXRvciBBUEkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBvcHRpb25zIG1hcCB0byBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcHJpdmF0ZSBtbnRfY29udGV4dF9nZXRfbXRhYl9mb3JfdGFyZ2V0KCkgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHVuc3BlY2lmaWVkIHNvdXJjZSBvbiByZW1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBkZWJ1ZywgYWRkIGhlbHAgZGVidWcgbWFzayAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBndGstZG9jcyB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBtb25pdG9yIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJldHVybiByb290IGlmIHBhdGggY29udGFpbnMgLy8gb3IgZW5kaW5nIC8gIFtTw7hyZW4gSG9sbV0KKyAgIC0gZG9uJ3QgdXNlIC97cHJvYyxleHR9L2ZpbGVzeXN0ZW1zIHdoZW4gbW9yZSBmcyB0eXBlcyBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsb2NrIHRlc3QgdG8gdXNlIHJlYWwgdGltZSB0byBzeW5jICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtIGxlYWsgaW4gZG9fbW91bnRfYnlfdHlwZXMoKSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgb3ZlcmZsb3cgW0FkZHJlc3NTYW5pdGl6ZXJdICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtbnRfaXNfcmVhZG9ubHkoKSAjaWZkZWYgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBtZW0gbGVhayBpbiBoYXNfdXRhYl9lbnRyeSgpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cGUgcG9pbnRlciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHV0YWIgZW50cnkgb24gcmVtb3VudCAgW0thcmVsIFpha10KKyAgIC0gaGlkZSBkZXRhaWxzIGFib3V0IGZhaWxlZCBzZWFyY2ggaW4gZnN0YWIvbXRhYiAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBrZXJuZWwgY29tbWFuZCBsaW5lIHBhcnNpbmcgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gaW1wcm92ZSBtbnRfcmVzZXRfZnMoKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSByZW1vdW50IGxvZ2ljICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHB1YmxpYyB0b3AtbGV2ZWwgbW9uaXRvciBGRCBvbmx5ICBbS2FyZWwgWmFrXQorICAgLSBtb25pdG9yIHVucmVmIGZ1bmN0aW9uIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBvbmx5IGluY2x1ZGUgY29udGV4dCBvbiBsaW51eCAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gb25seSBpbnZva2UgbG9vcGN4dCBvbiBsaW51eCAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gcHJvdmlkZSB2ZXJzaW9uIGFzIGludCBmb3IgYmV0dGVyIGNvbXBpbGV0aW1lIHRlc3QgIFtTw7hyZW4gSG9sbV0KKyAgIC0gcmVhZCB1dGFiIGFsd2F5cyB3aGVuIHJlYWQgbXRhYiBmcm9tIC9wcm9jICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgYXNzZXJ0KGFyZykgZnJvbSBwdWJsaWMgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSByZXVzZSBhbGxvY2F0ZWQgZnMgaW4gcGFyc2VyICBbS2FyZWwgWmFrXQorICAgLSByZXZlcnQgInJlYWQgbXRhYiBvbiByZW1vdW50IiBpZGVhICBbS2FyZWwgWmFrXQorICAgLSBzcGxpdCBtb25pdG9yIGluaXRpYWxpemF0aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgLXQgZm9yIHR5cGUuc3VidHlwZSBpbiBoZWxwZXJzIEFQSSAgW0thcmVsIFpha10KK2xpYnMvZGVidWc6CisgICAtIGFjY2VwdCBodW1hbiByZWFkYWJsZSBuYW1lcyBmb3IgX0RFQlVHPSAgW09uZHJlaiBPcHJhbGFdCitsaWJzbWFydGNvbHM6CisgICAtIChkb2NzKSBpbXByb3ZlIHNlY3Rpb24gZGVzY3JpcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbiB1cCBkZWJ1ZywgYWRkIGhlbHAgZGVidWcgbWFzayAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBndGstZG9jcyB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gZml4IGRvY3MgbmFtZXNwYWNlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgYXNzZXJ0KGFyZykgZnJvbSBwdWJsaWMgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSB1c2UgQVNDSUkgYXJ0IGZvciB0cmVlcyByYXRoZXIgdGhhbiBwYWRkaW5nICBbS2FyZWwgWmFrXQorbGlidXVpZDoKKyAgIC0gYWRkIGV4dGVybiBxdWFsaWZpZXJzIHRvIHV1aWQvdXVpZC5oIHN5c3RlbSBoZWFkZXIgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIF9TVklEX1NPVVJDRSBwcmUtcHJvY2Vzc29yIGRlZmluaXRpb24gIFtTYW1pIEtlcm9sYV0KK2xpbmU6CisgICAtIHVzZSB1dGlsLWxpbnV4IGNvbnZlbnRpb25zICBbU2FtaSBLZXJvbGFdCitsaW5mZGlzazoKKyAgIC0gY2xlYW51cCBmc3luYyB1c2FnZSAgW0thcmVsIFpha10KK2xpbm1vdW50OgorICAgLSAobW9uaXRvcikgcmVmcmVzaCBkb2NzLCBoZWFkZXJzIGFuZCBzeW1ib2xzIHRhYmxlICBbS2FyZWwgWmFrXQorbG9nZ2VyOgorICAgLSBhZGQgLS1zb2NrZXQtZXJyb3JzIGNvbXBhdGliaWxpdHkgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBmdW5jdGlvbiBwb2ludGVyIHRvIGNob29zZSBob3cgbG9nZ2luZyBpcyBkb25lICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBob3N0bmFtZSB0byByZmMzMTY0IG1lc3NhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHByb2Nlc3MgLS1pZD1wYXJlbnQgb3B0aW9uYWwgYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHJmYzU0MjQgc3VwcG9ydCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGxvdyB1c2Ugb2YgLS1pZD1wcGlkIHdoZW4gbG9nZ2luZyBsb2NhbGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIGF2YWlsYWJpbGl0eSBvZiBudHBfZ2V0dGltZSgpICBbU2FtdWVsIFRoaWJhdWx0XQorICAgLSBjbGVhbiB1cCBzdHJpbmdzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgcmVseSBvbmx5IGdldGxvZ2luKDMpIHRlbGxpbmcgd2hvIHJhbiB0aGUgY29tbWFuZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBlbnN1cmUgcHJvZ3JhbSB3cml0ZXMgZXZlcnl0aGluZyB0byBzeXNsb2cgZmlsZSBkZXNjcmlwdG9yICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCAtaT1wcGlkICBbS2FyZWwgWmFrXQorICAgLSBmaXggaW5kZW50YXRpb24gaXNzdWVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB1bnRyYW5zbGF0ZWQgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gZ2V0dGltZW9mZGF5IG5lZWRzIDxzeXMvdGltZS5oPiAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gaW1wcm92ZSByZWFkYWJsaXR5IG9mIHBlbmNvZGUoKSBmdW5jdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgLS1zdGRlcnIgcHJpbnQgcmVtb3RlIHNlcnZlciBtZXNzYWdlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBvcHRpbWl6ZSBzdHJpbmcgaW5pdGlhbGl6YXRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHJlZmFjdG9yIGxvbmcgaWYgY2xhdXNlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBvcGVubG9nKDMpIG9wdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVxdWlyZSAtLXtzZXJ2ZXIsc29ja2V0fSB0byByZW1vdGUgcmZjNTQyL3JmYzMxNjQgbG9nICBbS2FyZWwgWmFrXQorICAgLSBzZXQgZnVuY3Rpb24gYXJndW1lbnRzIHJlYWQtb25seSB3aGVuIHBvc3NpYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIHRpZHkgdXAgbWFpbigpIGJ5IGFkZGluZyBzbWFsbCBmdW5jdGlvbnMgYW5kIGN0bCBkYXRhICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBnZW5lcmljIC0taWQ9PGlkPiAgW0thcmVsIFpha10KKyAgIC0gd2FybiB3aGVuIC0tZmlsZSBhbmQgY29tbWFuZCBsaW5lIG1lc3NhZ2UgYXJlIGNvbWJpbmVkICBbU2FtaSBLZXJvbGFdCitsb2dpbjoKKyAgIC0gRml4IHVudXNlZCB2YXJpYWJsZXMgaW4gbG9naW4uYyBpZiBfSEFWRV9VVF9UViBpc24ndCBkZWZpbmVkICBbV2lsbCBKb2hhbnNzb25dCisgICAtIGZpeCBtZW0gbGVhayBpbiBpbml0X2Vudmlyb24oKSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBTSUdYRlNaIHdoZW4gd3JpdGUgdG8gbGFzdGxvZyAgW0thcmVsIFpha10KK2xvZ2luLXV0aWxzOgorICAgLSBFbmFibGUgYnVpbGRpbmcgdXRpbC1saW51eCBhZ2FpbnN0IE9wZW5QQU0gIFtXaWxsIEpvaGFuc3Nvbl0KKyAgIC0gdXNlIGxpYmMgZXJyb3IgcHJpbnRpbmcgZmFjaWxpdHkgIFtTYW1pIEtlcm9sYV0KK2xvb2s6CisgICAtIHJlbW92ZSBkZWFkIGNvZGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc2xpY2UgdXAgdGhlIHVzYWdlIHRleHQgZm9yIGVhc2Ugb2YgdHJhbnNsYXRpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2xvc2V0dXA6CisgICAtIGltcHJvdmUgbWFuIHBhZ2UgLUQgZG9jcyAgW0thcmVsIFpha10KK2xzYmxrOgorICAgLSBhZGQgSE9UUExVRyBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTVUJTWVNURU1TIGNvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGVzIGFib3V0IHVkZXYgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXBsZW1lbnQgU09NRU9LICg9NjQpIHJldHVybiBjb2RlICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCBzLVBhciBzdXBwb3J0ICBbQmVuamFtaW4gUm9tZXJdCisgICAtIGJsYWNrbGlzdCB2bXdhcmVfYmRvb3IoKSBBZGRyZXNzU2FuaXRpemVyIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFuIHVwIHZtd2FyZSBpbmxpbmUgYXNtICBbTWlrZSBGcnlzaW5nZXJdCisgICAtIGNsZWFudXAgcHBjIHZpcnR1YWxpemF0aW9uIGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZGV0ZWN0IGFsc28gUUVNVSBlbXVsYXRpb24gb24gcHBjICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgZXJyb3IgWy1XZXJyb3I9Zm9ybWF0LXNlY3VyaXR5XSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNwcGNoZWNrIHdhcm5pbmdzICBbQm9yaXMgRWdvcm92XQorICAgLSBmaXggdHlwb3MgaW4gcHBjIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHRoZW9yZXRpY2FsIGJ1ZmZlciBvdmVyZmxvdyAgW1RvYmlhcyBTdG9lY2ttYW5uXQorbHNsb2NrczoKKyAgIC0gZml4IHR5cGUgd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorbHNsb2dpbnM6CisgICAtIGFkZCBzcGFjZSB0byBzeXN0ZW1kIGpvdXJuYWwgaGVhZGVyIGFuZCBtZXNzYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGFsaWduIHVzYWdlKCkgYW5kIG1hbnVhbCB3aXRoIHN0cnVjdCBvcHRpb24gbG9uZ29wdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgY2hhbmdpbmcgcGFzc3dvcmQgY2hhbmdlZCBhbmQgZXhwaXJhdGlvbiB0aW1lIGZvcm1hdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCBhZnRlciBlcnJvciBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtbCAtZyBsb2dpYyAgW0thcmVsIFpha10KKyAgIC0gZml4IGFzc2VydGlvbiBmYWlsdXJlIGZvciBub25lIGV4aXN0aW5nIGxvZ2lucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggc2hvcnQgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmcmVlIGFmdGVyIGVycm9yIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBqb3VybmFsZCBsYXN0IGxvZ3MgdGltZSBzdGFtcHMgdG8gaG9ub3IgLS10aW1lLWZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWplY3QgdW5rbm93biB0aW1lIGZvcm1hdCBhcmd1bWVudHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdGVsbCB3aHkgY29tbWFuZCBmYWlsZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGhhcmRjb2RlZCBwYXRocyBmcm9tIHBhdGhuYW1lcy5oICBbU2FtaSBLZXJvbGFdCittYWludDoKKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorbWNvb2tpZToKKyAgIC0gYXZvaWQgZm9ybWF0IHdhcm5pbmcgIFtCZXJuaGFyZCBWb2Vsa2VyXQorbWlzYzoKKyAgIC0gdXNlIG1vbm90b25pYyB0aW1lIHJhdGVyIHRoYW4gZ2V0dGltZW9mZGF5ICBbS2FyZWwgWmFrXQorbWtmcy5taW5peDoKKyAgIC0gZml4IGNvdXBsZSBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorbWtzd2FwOgorICAgLSBhZGQgc3RydWN0IG1rc3dhcF9jb250cm9sIHRvIHJlbW92ZSBnbG9iYWwgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGFsd2F5cyB1c2UgaGVhZGVyIGZyb20gY29udHJvbCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIGNvZGluZyBzdHlsZSBpbXByb3ZlbWVudHMgIFtLYXJlbCBaYWtdCisgICAtIGRldmljZSBvcGVuIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIGRldmljZSB3cml0ZSBjb2RlIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGZpbmFsIHJlcG9ydCBtb3JlIGh1bWFuIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHJlbWFpbmluZyBmdW5jdGlvbnMgdG8gdGFrZSBjb250cm9sIHN0cnVjdHVyZSBhcyBhcmd1bWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgbWVtb3J5IGxlYWtzIFtMZWFrU2FuaXRpemVyXSBbdmFsZ3JpbmRdICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBzeXN0ZW0gYXJjaGl0ZWN0dXJlIHNwZWNpZmljIG1heCBzd2FwIHNpemUgY2hlY2tzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBzaXplIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIHNldCB2YXJpYWJsZSBvbmx5IHdoZW4gaXQncyB2YWx1ZSBpcyBrbm93biAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZXJyKCkgcmF0aGVyIHRoYW4gcGVycm9yKCkgJiYgZXhpdCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHZhcmlvdXMgbWlub3IgaW1wcm92ZW1lbnQgIFtTYW1pIEtlcm9sYV0KK21vcmU6CisgICAtIGJsYWNrbGlzdCB1bnNpZ25lZCBpbnRlZ2VyIG92ZXJmbG93IFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZXBlYXQgc2VhcmNoIGNyYXNoICBbU2FtaSBLZXJvbGFdCisgICAtIHJlcGxhY2UgYWQtaG9jIHN1cHBvcnQgZm9yIHBsdXJhbHMgd2l0aCBnZXR0ZXh0IHBsdXJhbHMuICBbTGF1cmkgTnVybWldCittb3VudDoKKyAgIC0gQWRkIGRvY3VtZW50YXRpb24gb2YgRkFUIG1vdW50IG9wdGlvbiB0aW1lX29mZnNldCAgW0phbiBLYXJhXQorICAgLSBGdXJ0aGVyIEZBVCBtb3VudCBvcHRpb24gdXBkYXRlICBbSmFuIEthcmFdCisgICAtIGNsZWFuIHVwIC10IGluZm8gaW4gbW91bnQuOCBhbmQgZnN0YWIuNSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIG10YWIgZm9yIC0tYmluZCAtbyByZW1vdW50ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIC0tbW92ZSBkb2NzICBbS2FyZWwgWmFrXQorbW91bnRwb2ludDoKKyAgIC0gYWRkIHN0cnVjdCBtb3VudHBvaW50X2NvbnRyb2wgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xhcmlmeSB0aGF0IGl0IHdvcmtzIG9uIGZpbGVzICBbRGF2ZSBSZWlzbmVyXQorICAgLSBkcm9wIFNfSVNESVIgY2hlY2sgIFtEYXZlIFJlaXNuZXJdCisgICAtIHNpbXBsaWZ5IGlmIHN0YXRlbWVudCAgW1NhbWkgS2Vyb2xhXQorbmV3Z3JwOgorICAgLSBhdm9pZCB1c2Ugb2Ygb2Jzb2xldGUgZ2V0cGFzcygpIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgc2hlbGwgZGV0ZXJtaW5hdGlvbiBjbG9zZXIgd2hlcmUgaXQgaXMgdXNlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgZnVuY3Rpb24gYXJndW1lbnRzIHJlYWQtb25seSB3aGVuIHBvc3NpYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IGlmIGVsc2UgY2xhdXNlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgbGliYyBmdW5jdGlvbiB0byByZWFkIGdzaGFkb3cgaWYgaXQgaXMgYXZhaWxhYmxlICBbU2FtaSBLZXJvbGFdCituc2VudGVyOgorICAgLSBhZGQgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBhbmQgY2xlYW51cCBzZXRncm91cHMoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gdXNlIC0tc2V0e3VpZCxnaWR9IGZvciBhbGwgbmFtZXNwYWNlcyAgW0thcmVsIFpha10KKyAgIC0ga2VlcCBzZW1hbnRpYyBjb25zaXN0ZW50ICBbS2FyZWwgWmFrXQorcGFydHg6CisgICAtIGFkZCAtLXVwZGF0ZSB0byB1bF9leGNsX3R3cSBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgImhhcmQgZHJpdmUiIGluIG1hbiBwYWdlcyAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgYSAtLXZlcmJvc2UgcHJvZ3Jlc3MgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorcG86CisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUMOtc2HFmV0KKyAgIC0gdXBkYXRlIGRhLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSm9lIEhhbnNlbl0KKyAgIC0gdXBkYXRlIGRlLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWFyaW8gQmzDpHR0ZXJtYW5uXQorICAgLSB1cGRhdGUgZXMucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtBbnRvbmlvIENlYmFsbG9zIFJvYV0KKyAgIC0gdXBkYXRlIGZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTGF1cmkgTnVybWldCisgICAtIHVwZGF0ZSBmci5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0RhdmlkIFByw6l2b3RdCisgICAtIHVwZGF0ZSBqYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1Rha2VzaGkgSGFtYXNha2ldCisgICAtIHVwZGF0ZSBubC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1cGRhdGUgcGwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKYWt1YiBCb2d1c3pdCisgICAtIHVwZGF0ZSBwdF9CUi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1JhZmFlbCBGZXJyZWlyYV0KKyAgIC0gdXBkYXRlIHJ1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGF2ZWwgTWFyeWFub3ZdCisgICAtIHVwZGF0ZSB1ay5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1l1cmkgQ2hvcm5vaXZhbl0KKyAgIC0gdXBkYXRlIHZpLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVHLhuqduIE5n4buNYyBRdcOibl0KKyAgIC0gdXBkYXRlIHpoX0NOLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbV3lsbWVyIFdhbmddCisgICAtIHVwZGF0ZSB6aF9UVy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1dlaS1MdW4gQ2hhb10KK3JhdzoKKyAgIC0gZml4IHJhdyBxdWVyeSAgW0thcmVsIFpha10KK3JlbmFtZToKKyAgIC0gYWRkIGdldHByaW9yaXR5KCkgbWVzc2FnZSBsb29rdXAgdGFibGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWxsb3cgcmVuYW1pbmcgaW4gc3ViZGlyZWN0b3JpZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY29udGludWUgZGVzcGl0ZSBzb21ldGhpbmcgZmFpbGVkICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBmdW5jdGlvbiBwb2ludGVyIHRvIHNlbGVjdCBmaWxlIG9yIHN5bWxpbmsgb3BlcmF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzdHJyY2hyKCkgaW5zdGVhZCBvZiByaW5kZXgoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgdXNhZ2UgYW5kIHZlcnNpb24gcHJpbnQgb3V0IG1hY3JvcyAgW1NhbWkgS2Vyb2xhXQorcmVuaWNlOgorICAgLSBhdm9pZCBoYXZpbmcgc2FtZSBsaW5lcyBvZiBjb2RlIHR3aWNlICBbU2FtaSBLZXJvbGFdCisgICAtIGRpc2FsbG93IC0tcHJpb3JpdHkgPGFyZz4gd2l0aG91dCBwaWQgYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IG51bWVyaWMgdWlkIGFyZ3VtZW50IHBhcnNpbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVvcmRlciBmdW5jdGlvbnMgdG8gYXZvaWQgbmVlZCBvZiBmdW5jdGlvbiBwcm90b3R5cGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVvcmRlciB1c2FnZSgpIG9wdGlvbiBkZXNjcmlwdGlvbnMgIFtTYW1pIEtlcm9sYV0KK3NjcmlwdDoKKyAgIC0gbWF5IGJlIGhhbmdzICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBubyBsb2dnaW5nIGZvciBub24taW50ZXJhY3RpdmUgc2hlbGxzICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gc2NyaXB0LjEgSW1wcm92ZSBkb2N1bWVudGF0aW9uIG9mIG5vbi1pbnRlcmFjdGl2ZSBiZWhhdmlvciAgW1N0YW5pc2xhdiBCcmFiZWNdCitzZXRhcmNoOgorICAgLSBjbGVhbnVwIG9wdGlvbnMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRpZmZlcmVudGlhdGUgYmV0d2VlbiAidW5yZWNvZ25pemVkIiBhbmQgImNhbm5vdCBzZXQiICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCAtLWxpc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIChtaXNzaW5nIGJyYWNlcykgZm9yIHBwY2xlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1ha2UgdGhlIHVzYWdlIHN5bm9wc2lzIGNvbXByZWhlbnNpYmxlIGZvciB0cmFuc2xhdG9ycyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBwcmludCBlcnJvciB3aGVuIGNvbW1hbmQgcnVucyB3aXRob3V0IGFyZ3VtZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZWluZGVudCBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBwZXJzb25hbGl0eSgpIHN5c3RlbSBjYWxsIHdoZW4gaXQgaXMgYXZhaWxhYmxlICBbU2FtaSBLZXJvbGFdCitzZXR0ZXJtOgorICAgLSBmaXggZHViaW91cyBvbmUtYml0IHNpZ25lZCBiaXRmaWVsZCBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCitzZmRpc2s6CisgICAtIC0tbGlzdCBqdXN0IG9uZSBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIGFjdHVhbGx5IHRyYW5zbGF0ZSB0aGUgdGFibGUgaGVhZGVycyBieSBjYWxsaW5nIGdldHRleHQoKSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgLS1hY3RpdmF0ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tYXBwZW5kICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1iYWNrdXAgYW5kIC0tYmFja3VwLWZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWR1bXAgZnVuY3Rpb25hbGl0eSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbGFiZWwtbmVzdGVkIGZvciBoeWJyaWQgR1BUICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1saXN0LXR5cGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1uYW1lICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1uby1hY3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLW5vLXJlcmVhZCBhbmQgLS1mb3JjZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tb3V0cHV0IDxsaXN0PiBmb3IgcHJpbnQgY29tbWFuZChzKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tcGFydC1hdHRycyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tcGFydHR5cGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXF1aWV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1zaG93LXNpemUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXVuaXQgYW5kIC0tc2hvdy1nZW9tZXRyeSwgdXBkYXRlIGRlcHJlY2F0ZWQudHh0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS11dWlkIGNvbW1hbmQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXZlcmlmeSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbW1lbnRzLCByZW1vdmUgdW5uZWNlc3NhcnkgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBkZXByZWNhdGVkIC0tTGludXggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIHN0dWZmIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFzayBvbiBFT0YgIFtLYXJlbCBaYWtdCisgICAtIGJhc2ljIG1haW4oKSBhbmQgZnJpZW5kcyAgW0thcmVsIFpha10KKyAgIC0gYmUgc2Vuc2l0aXZlIHRvIFBUIGxpbWl0cyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBjb21tZW50cyBhbmQgY29tbWFuZF9hY3RpdmF0ZSgpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGlzYXR0eSgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG9wdGlvbiBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzeW5jKCkgdXNhZ2UsIGZpeCAtLWFjdGl2YXRlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzYWdlKCkgYW5kIGxvbmcgb3B0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gZml4IC0tYnl0ZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLWlkIGZhbGx0aHJvdWdoIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB2ZXJzaW9uIHR5cG9zIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbXBsZW1lbnQgLS1saXN0ICBbS2FyZWwgWmFrXQorICAgLSBpbXBsZW1lbnQgY29tbWFuZF9mZGlzaygpICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIFVJICBbS2FyZWwgWmFrXQorICAgLSBpbiB0aGUgdXNhZ2UgdGV4dCBzaG93IC12IGZvciAtLXZlcnNpb24gaW5zdGVhZCBvZiAtViAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbmNsdWRlIHJwbWF0Y2guaCAgW1NhbWkgS2Vyb2xhXQorICAgLSBsZWF2ZSBvbiBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBkdW1wIGZvcm1hdCB1c2FibGUgb24gc3RkaW4gIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgdXBkYXRlIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gcmVxdWlyZSBjb25maXJtYXRpb24gYmVmb3JlIHdyaXRlIHRvIHRoZSBkZXZpY2UgIFtLYXJlbCBaYWtdCisgICAtIHJldHVybiBkZXRlcm1pbmlzdGljIHZhbHVlIGZyb20gc2ZkaXNrX2RlaW5pdCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHN1cHBvcnQgLU4gZm9yIHByaW1hcnkgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZSgpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcGx1cmFsaXplZCB0cmFuc2xhdGlvbi4gIFtMYXVyaSBOdXJtaV0KK3N0cnV0aWxzOgorICAgLSBmaXggdW5zaWduZWQgaW50ZWdlciBvdmVyZmxvd3MgW0FkZHJlc3NTYW5pdGl6ZXJdICBbU2FtaSBLZXJvbGFdCitzdToKKyAgIC0gZml4IG1lbSBsZWFrIGluIG1vZGlmeV9lbnZpcm9uKCkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBwcmludCBwcm9wZXIgY29yZSBkdW1wIG1lc3NhZ2Ugd2hlbiBraWxsZWQgIFtwY3BhXQorc3Vsb2dpbjoKKyAgIC0gbWFrZSBzdXJlIHRoYXQgZmFsbGJhY2sgRkQgaXMgdmFsaWQgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorc3Vsb2dpbiwgaHdjbG9jazoKKyAgIC0gdXNlIHh1c2xlZXAoKSBpbnN0ZWFkIG9mIHVzbGVlcCgpICBbU2FtaSBLZXJvbGFdCitzd2FwbGFiZWw6CisgICAtIG1vdmUgc3dhcG9uLWNvbW1vbiB0byBpbmNsdWRlIGRpcmVjdG9yeSAgW1NhbWkgS2Vyb2xhXQorc3dhcG9mZjoKKyAgIC0gc3dhcG9mZiBzd2FwIGZpbGVzIGJ5IExBQkVMIGFuZCBVVUlEICBbS2FyZWwgWmFrXQorc3dhcG9uOgorICAgLSBhZGQgLW8gPGxpc3Q+IGZvciBjb21wYXRpYmlsaXR5IHdpdGggbW91bnQgIFtLYXJlbCBaYWtdCisgICAtIGFsaWduIGF2YWlsYWJsZSBjb2x1bW5zIHNlY3Rpb24gaW4gdXNhZ2UoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBkb24ndCBwcmludCBlcnJvcnMgYXMgZGF0YSBpbiBzbWFydGNvbHMgdGFibGUgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBlbXB0eSBzdHJpbmdzIGZvciBzbWFydGNvbHMgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIG1hbiBwYWdlIG5vdGVzIGFib3V0IGhvbGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZXh0cmEgd29yZCBmcm9tIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgaW52YWxpZCBlcnJvciBzdHJpbmcgcHJpbnQgb3V0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXdvcmQgc29tZSB1c2FnZSBzdHJpbmdzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNoYXJlIGdldF9zd2FwX3Byb2JlcigpIHdpdGggc3dhcGxhYmVsIHRvIHByaW50IHV1aWQgYW5kIGxhYmVsICBbU2FtaSBLZXJvbGFdCisgICAtIHNwbGl0IHN3YXBvbi1jb21tb24uYyAgW0thcmVsIFpha10KK3N3aXRjaF9yb290OgorICAgLSBkb2N1bWVudCB0aGF0IG1haW50YWlucyAvcnVuIHRvbyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzdGF0ZnMtPmZfdHlwZSBwb3J0YWJpbGl0eSAgW0thcmVsIFpha10KK3RhaWxmOgorICAgLSBzbGljZSB1cCB0aGUgdXNhZ2UgdGV4dCBmb3IgZWFzZSBvZiB0cmFuc2xhdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQordGVybWluYWwtY29sb3JzLmQ6CisgICAtIGFkZCBkZWJ1ZyBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgY29tbWVudHMgdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmaWx0ZXIgYnkgbmFtZSAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBBZGQgVURGIGhkZCBpbWFnZSBjcmVhdGVkIGJ5IExpbnV4IG1rdWRmZnMgIFtQYWxpIFJvaMOhcl0KKyAgIC0gQWRkIFVERiBoZGQgaW1hZ2UgY3JlYXRlZCBieSBMaW51eCBta3VkZmZzIHdpdGggY3VzdG9tIHBhcmFtcyAgW1BhbGkgUm9ow6FyXQorICAgLSBBZGQgVURGIGhkZCBpbWFnZSBjcmVhdGVkIGJ5IE5ldEJTRCBuZXdmc191ZGYgKGZyb20gVURGY2xpZW50IDAuNy41KSAgW1BhbGkgUm9ow6FyXQorICAgLSBBZGQgVURGIGhkZCBpbWFnZSBjcmVhdGVkIGJ5IE5ldEJTRCBuZXdmc191ZGYgKGZyb20gVURGY2xpZW50IDAuNy43KSAgW1BhbGkgUm9ow6FyXQorICAgLSBBZGQgVURGIGhkZCBpbWFnZSBjcmVhdGVkIGJ5IFdpbmRvd3MgNyAgW1BhbGkgUm9ow6FyXQorICAgLSBGYWxsIGJhY2sgb24gaG9zdC9nZXRlbnQgaW4gdHNfcmVzb2x2ZV9ob3N0ICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBhZGQgUE1CUiBzZmRpc2sgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJsa2Rpc2NhcmQgb2Zmc2V0cyB0ZXN0ICBbRmVkZXJpY28gU2ltb25jZWxsaV0KKyAgIC0gYWRkIGRlYnVnIHRlc3RzICBbT25kcmVqIE9wcmFsYV0KKyAgIC0gYWRkIGZ1bmN0aW9uIHRvIGNoYW5nZSBkaXJlY3RvcnkgcmVsaWFibGUgd2F5ICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBtb3JlIGdldG9wdCB0ZXN0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbW91bnQgLXQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlbmFtZSgxKSBjaGVja3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHJlbmFtZSgxKSByZXR1cm4gdmFsdWUgY2hlY2sgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNmZGlzayBHUFQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzZmRpc2sgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgbm9uLWlub3RpZnkgdGFpbGYgdG8ga2VlcCB1cCAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gYXBwbHkgdHJhdmlzIGNsYW5nIFBBVEggd29ya2Fyb3VuZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBmb3Igd2lwZWZzIGFuZCBoZWxwZXJzIGluIGZkaXNrIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxpYm1vdW50IGRlYnVnIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGNvcHkgdGVzdC1zdWl0ZSBmcm9tIEZyb2RvIExvb2lqYWFyZCdzIGdldG9wdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBkb24ndCBjaGVjayB0aGUgY3VycmVudCBpcGNzIGxpbWl0cyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaGFyZGNvZGUgZGV2bmFtZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmZGlzay9ic2QgYWdhaW4gZm9yIGJpZyBlbmRpYW4gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGZkaXNrL2JzZCBmb3IgdGhlIHR3byBwb3NzaWJsZSBzZWN0b3JzL29mZnNldHMgIFtBdXJlbGllbiBKYXJub10KKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtBZGRyZXNzU2FuaXRpemVyXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggcmVuYW1lIHN1YmRpciBjaGVjayB0aGF0IHdhcyBmYWlsaW5nIGluIHRyYXZpcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggc3dhcGxhYmVsIHRlc3QgZm9yIDlhODNiMDNjICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB0aGUgaXBjcyB0ZXN0IGZvciBzaG1hbGwgYmVpbmcgdG9vIGJpZyB0byBzaG93ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHNvbWUgd29yZGluZ3Mgb2YgdGhlIG91dHB1dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBraWxsIG91dHB1dCBtZXNzYWdlIGNoYW5nZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGlwY3MgbGltaXQgY2FsY3VsYXRpb25zIHdvcmsgd2hlbiBudW1iZXJzIGFyZSBsYXJnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYXJrIHB5dGhvbiBsaWJtb3VudCB0ZXN0cyBrbm93biB0byBmYWlsIHdpdGggQWRkcmVzc1Nhbml0aXplciAgW1NhbWkgS2Vyb2xhXQorICAgLSBweXRob24gdGVzdHMgc2hvdWxkIG5vdCByZW1vdmUgdXNlcidzIExEX0xJQlJBUllfUEFUSCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzY3NpX2RlYnVnIHdvcmthcm91bmQgIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IGFuZCB1cGRhdGUgc3dhcGxhYmVsIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHNraXAga2lsbCAtU0VHViB0ZXN0IHdoZW4gcnVubmluZyBBZGRyZXNzU2FuaXRpemVyICBbU2FtaSBLZXJvbGFdCisgICAtIHRlc3QgY2F6eSBzaXplcyBmb3Igc2ZkaXNrICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgTUJSIHNvcnQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFVERiB0ZXN0IChhZGQgaWRlbnRpZmllcnMpICBbUGFsaSBSb2jDoXJdCisgICAtIHVwZGF0ZSBic2QgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJ1aWxkIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQtc3lzIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZmRpc2sgZm9ybWF0dGluZyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgc2ZkaXNrIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdHNfY2QgZXZlcnl3aGVyZSB0byBjaGFuZ2UgZGlyZWNyb3J5ICBbU2FtaSBLZXJvbGFdCit0ZXh0dWFsOgorICAgLSAiYW1iaXZhbGVudCIgYXBwbGllcyB0byBpbnRlbnRpb25zLCAiYW1iaWd1b3VzIiB0byByZXN1bHRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCBhIGNvbW1hIGZvciBjbGFyaXR5LCBwbHVzIHNvbWUgb3RoZXIgdHdlYWtzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGFkZCBhIGRvY3N0cmluZyB0byBtb3N0IG9mIHRoZSB1dGlsaXRpZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gYW5ndWxhciBicmFja2V0cyBhcm91bmQgYSBub24tbGl0ZXJhbCBhcmd1bWVudCwgc2luZ3VsYXIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZG8gbm90IHN0YXJ0IG9wdGlvbiBkZXNjcmlwdGlvbnMgd2l0aCBhIGNhcGl0YWwgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IGNvdXBsZSB0eXBvcyBpbiBjb21tZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggc29tZSB0eXBvcyBhbmQgaW5jb25zaXN0ZW5jaWVzIGluIHZhcmlvdXMgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHNwZWxsb3MgYW5kIGluY29uc2lzdGVuY2llcyBpbiBzZXZlcmFsIHByb2dyYW0gbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IHZhcmlvdXMgbWlub3IgdHlwb3MgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIGdyYW1tYXJpemUgYW4gZXJyb3IgbWVzc2FnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBncmFtbWFyaXplIGFuIGluZm9ybWF0aXZlIG1lc3NhZ2UsIGFuZCB0d2VhayBzb21lIGNvbW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGdyYW1tYXJpemUgYW5kIGhhcm1vbml6ZSB0aGUgc3RhdCBlcnJvciBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGdyYW1tYXJpemUgYW5vdGhlciBlcnJvciBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGltcHJvdmUgZXJyb3IgbWVzc2FnZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbGlzdCB0aGUgb3B0aW9ucyBvZiBzZXRhcmNoIGluIGEgbW9yZSBhbHBoYWJldGljYWwgb3JkZXIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbWFrZSB0aGUgbGljZW5zZSBvZiBjaHJ0IGFuZCB0YXNrc2V0IHNsaWdodGx5IG1vcmUgZXhwbGljaXQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gbm90IHVzaW5nIGFuZ3VsYXIgYnJhY2tldHMgYXJvdW5kIGxpdGVyYWwgYXJndW1lbnRzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHB1dCBvcHRpb24gYW5kIGl0cyBkZXNjcmlwdGlvbiBpbnRvIGEgc2luZ2xlIHRyYW5zbGF0YWJsZSBzdHJpbmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIHNvbWUgaW5jb25zaXN0ZW50IHBlcmlvZHMgZnJvbSBlcnJvciBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzaGFyZSBjcnlwdCgpIGVycm9yIG1lc3NhZ2UgaW4gc3Vsb2dpbiBhbmQgbmV3Z3JwICBbU2FtaSBLZXJvbGFdCisgICAtIHNsaWNlIHVwIHRoZSB1c2FnZSB0ZXh0IG9mIHN3YXBvbiBmb3IgZWFzZSBvZiB0cmFuc2xhdGlvbiAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBzb3J0IHRoZSBvcHRpb25zIGluIHRoZSB1c2FnZSB0ZXh0IG9mIHNmZGlzayBhbHBoYWJldGljYWxseSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB0aGVyZSBtYXkgYmUgbm8gc3BhY2UgYmV0d2VlbiBvcHRpb24gYW5kIG9wdGlvbmFsID1hcmcgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIGEgc29tZXdoYXQgY2xlYXJlciBhbmQgbW9yZSBzdGFuZGFyZCBmYWlsdXJlIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIGFuZ3VsYXIgYnJhY2tldHMgYXJvdW5kIGVhY2ggaW5kaXZpZHVhbCBhcmd1bWVudCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSB1c2UgbWFudWFsIHRhaWwgdXNhZ2UoKSBtYWNybyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgdXNhZ2UoKSB0ZXh0IGVsZW1lbnQgbWFjcm9zICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSB2ZXJzaW9uIHByaW50aW5nIG1hY3JvIGV2ZXJ5d2hlcmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNpbmcgYW5ndWxhciBicmFja2V0cyBhcm91bmQgaW5kaXZpZHVhbCBhcmd1bWVudHMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK3Rvb2xzOgorICAgLSBjaGVja21hbi5zaCBwb3J0YWJpbGl0eSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBjaGVja21hbi5zaCBwb3J0YWJpbGl0eSBsZXhncm9nICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGNoZWNrbWFucy5zaCBhZGQgc3RhdHMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gY2hlY2ttYW5zLnNoIGNsZWFuIHVwICdsZXQnICBbSiBXaWxsaWFtIFBpZ2dvdHRdCit0cmF2aXM6CisgICAtIHdoaXRlbGlzdCBicmFuY2hlcyAgW0thcmVsIFpha10KK3VsOgorICAgLSBmaXggZmlsdGVyKCkgaW5kZW50YXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVuZXhwbGFpbmVkIFRFUk09bHByIG92ZXJyaWRlICBbU2FtaSBLZXJvbGFdCit1bW91bnQ6CisgICAtIHJlYWQgbW91bnRpbmZvIGlmIC0tZGV0YWNoLWxvb3AgZ2l2ZW4gIFtSb2JlcnQgU2NoaWVsZV0KK3Vuc2hhcmU6CisgICAtIEZpeCAtLW1hcC1yb290LXVzZXIgdG8gd29yayBvbiBuZXcga2VybmVscyAgW0VyaWMgVy4gQmllZGVybWFuXQorICAgLSBhZGQgLS1zZXRncm91cHM9ZGVueXxhbGxvdyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNvbWUgZXhhbXBsZXMgIFtMdWJvbWlyIFJpbnRlbF0KK3V0bXBkdW1wOgorICAgLSBkb24ndCBwYXNzIHBhcmFtZXRlciBvZiB0eXBlICJzdHJ1Y3QgdXRtcCIgYnkgdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQordXVpZGQ6CisgICAtIEZpeGVkIGEgdHlwbyBpbiBkYWVtb24gbG9nZ2luZyBtZXNzYWdlICBbTmlrb2xheSBTaXZvdl0KK3ZhcmlvdXM6CisgICAtIGVyYXNlIGFsbCB0cmFjZXMgb2YgdGhlIGxvbmctb2Jzb2xldGUgZXh0IGZpbGVzeXN0ZW0gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZXJhc2UgYWxsIHRyYWNlcyBvZiB0aGUgbG9uZy1vYnNvbGV0ZSB4aWFmcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQord2FsbDoKKyAgIC0gd3JhcCBtZXNzYWdlIGhlYWRlciB3aGVuIGl0IGV4Y2VlZHMgNzkgY2hhcmFjdGVycyAgW1NhbWkgS2Vyb2xhXQord2hlcmVpczoKKyAgIC0gY2xlYW51cCBkZWJ1ZyBzdHVmZiwgZml4IGFyZ3ZbXSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gbG9va3VwIGFsc28gaW5mbyBkb2NzICBbS2FyZWwgWmFrXQorICAgLSByZXNldCBzZWFyY2ggbWFzayBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KK3dpcGVmczoKKyAgIC0gZml4IEZEIGxlYWsgb24gZXJyb3IgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorenJhbWN0bDoKKyAgIC0gYWRkIGJhc2ggY29tcGxldGlvbiBzY3JpcHQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGRldGFpbHMgdG8gLS1zaXplIG9wdGlvbiBkb2N1bWVudGF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGNhbm5vbmljYWxpemUgZGV2bmFtZSB3aGVuIG5vIGZ1bGxwYXRoIHNwZWNpZmllZCAgW0thcmVsIFpha10KKyAgIC0gZmFpbCBzdGF0dXMgcHJpbnRvdXQgd2hlbiBkZXZpY2UgZG9lcyBub3QgZXhpc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0aGUgd29yZGluZyBvZiBzb21lIG1lc3NhZ2Ugc3RyaW5ncyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZml4ZWQgdHdvIC1XZm9ybWF0LXNlY3VyaXR5IHdhcm5pbmdzICBbU3RldmVuIEhvbmV5bWFuXQorICAgLSBpbXByb3ZlIGVycm9yIG1lc3NhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBvcHRpb24gY29tYmluYXRpb24gZXJyb3IgbWVzc2FnaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBleHRyYSBcbiBmcm9tIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgY29tbWFuZCB0byBjb250cm9sIC9kZXYvenJhbU4gZGV2aWNlcyAgW0thcmVsIFphaywgVGltb2ZleSBUaXRvdmV0c10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjctUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNy1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzBlNWIxYgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjctUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNzY1IEBACitVdGlsLWxpbnV4IDIuMjcgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIGNvbW1hbmQgdGFpbGYgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgdGFpbCAtZiBmcm9tIGNvcmV1dGlscy4KKworVGhlIGNvbW1hbmQgdW5zaGFyZSBwcm92aWRlcyBhIG5ldyBvcHRpb24gLS1wcm9wYWdhdGlvbj1zbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWQKK3RvIGNvbnRyb2wgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlcy4gVGhlIGRlZmF1bHQgaXMgInByaXZhdGUiIG5vdy4gVGhlCituZXcgZGVmYXVsdCB1bmlmaWVzIHVuc2hhcmUgYmVoYXZpb3IgYW5kIG1ha2VzIGl0IGluZGVwZW5kZW50IG9mIGRpc3RyaWJ1dGlvbgorZGVmYXVsdC4gVGhlIHVuc2hhcmUgc3VwcG9ydHMgcGVyc2lzdGVudCBuYW1lc3BhY2VzIHRvbyAobm8gcHJvY2VzcyBoYXMgdG8gcnVuCit0byBrZWVwIG5hbWVzcGFjZSBpbiBleGlzdGVuY2UpLgorCitUaGUgY29tbWFuZCBtb3VudCg4KSBzdXBwb3J0cyByZWFkLW9ubHkgYmluZHMgaW4gb25lIHN0ZXAgYnkgdGhlIG9wdGlvbnMKKyJiaW5kLHJvIiAoY29tbWFuZCBsaW5lIG9yIGZzdGFiKS4gVGhpcyBmZWF0dXJlIGlzIGltcGxlbWVudGVkIGJ5IGFkZGl0aW9uYWwKK3JlbW91bnQgbW91bnQoMikgc3lzY2FsbCBhbmQgaXQgaXMgbm90IGF0b21pYy4KKworVGhlIGNvbW1hbmRzIGZkaXNrIGFuZCBzZmRpc2sgY2FuIGJlIGNvbXBpbGVkIHdpdGggR05VIHJlYWRsaW5lIHN1cHBvcnQgdG8KK2ltcHJvdmUgdGhlaXIgbGluZS1lZGl0aW5nIGZ1bmN0aW9uYWxpdHkuCisKK1RoZSBsaWJyYXJ5IGxpYnNtYXJ0Y29scyBhbmQgdGhlIGNvbW1hbmRzIGZpbmRtbnQsIGxvc2V0dXAsIGxzYmxrLCBsc2xvY2tzLAorc2ZkaXNrIGFuZCBsc2lwYyBwcm92aWRlIG91dHB1dCBpbiBKU09OIGZvcm1hdC4KKworVGhlIGNvbW1hbmQgbWtmcyAoZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgbWtmcy48dHlwZT4pIGRvZXMgbm90IHVzZSBoYXJkLWNvZGVkCitwYXRocywgYnV0IGl0IGZvbGxvd3MgJFBBVEguCisKK1RoZSBjb21tYW5kIHNjcmlwdCBoYXMgYmVlbiBtYXNzaXZlbHkgaW1wcm92ZWQgdG8gYmUgbW9yZSByb2J1c3QgYW5kIGxlc3MKK2NvbXBsZXguICBOb3cgYWxsIGlzIGltcGxlbWVudGVkIGJ5IG9uZSBwcm9jZXNzIHdoaWNoIG1vbml0b3JzIHRoZSBydW5uaW5nCitzZXNzaW9uIGJ5IHBvbGwoKSwgc2lnbmFsZmQoKSwgZXRjLgorCitUaGUgY29tbWFuZCBzdWxvZ2luIHN1cHBvcnRzIGxvY2tlZCByb290IGFjY291bnRzIGlmIHRoZSBjb21tYW5kLWxpbmUgb3B0aW9uCistLWZvcmNlIGlzIHNwZWNpZmllZC4gUmVhZCB0aGUgc3Vsb2dpbiBtYW4gcGFnZSBiZWZvcmUgeW91IHVzZSBpdCEKKworVGhlIGNvbW1hbmQgYWdldHR5IHJlbG9hZHMgdGhlIHByb21wdCBvbiBhZGRyZXNzIGNoYW5nZXMgaWYgbmV0d29yayBpbmZvcm1hdGlvbgoraXMgZGlzcGxheWVkLgorCit1dGlsLWxpbnV4IG5vdyBzdXBwb3J0cyBhbmQgZW5hYmxlcyBjb2xvcnMgYnkgZGVmYXVsdC4gSXQgaXMgcG9zc2libGUgdG8gY2hhbmdlCit0aGlzIGJlaGF2aW9yIHdpdGggLS1kaXNhYmxlLWNvbG9ycy1kZWZhdWx0IHRvIGJlIG1vcmUgdXNlci1mcmllbmRseSB0byBjb2xvcmJsaW5kCitwZW9wbGUuIFRoZSBjb2xvcnMgY2FuIHN0aWxsIGJlIGVuYWJsZWQgYnkgZWRpdGluZyAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kLiBTZWUKK3Rlcm1pbmFsLWNvbG9ycy5kKDUpLgorCitUaGUgY29tbWFuZCBjZmRpc2sgZGlzcGxheXMgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2VsZWN0ZWQgcGFydGl0aW9uCisocGFydGl0aW9uIFVVSUQsIGZpbGVzeXN0ZW0gaWRlbnRpZmllcnMsIG1vdW50cG9pbnQsIGV0Yy4pLiBUaGlzIGV4dHJhIHdpbmRvdworY2FuIGJlIHRvZ2dsZWQgd2l0aCB0aGUgJ3gnIGtleS4KKworVGhlIGNvbW1hbmQgZmRpc2sgcHJvdmlkZXMgYSBuZXcgY29tbWFuZCAnRicgdG8gcHJpbnQgZnJlZSwgdW5wYXJ0aXRpb25lZCBzcGFjZQorKGdhcHMpIG9uIHRoZSBkaXNrLiBUaGUgc2FtZSBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkIGJ5IHNmZGlzayB0aHJvdWdoIHRoZQorb3B0aW9uIC0tbGlzdC1mcmVlLiAgVGhlIGZkaXNrIGNvbW1hbmQgd2lwZXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgZGV2aWNlIGJ5CitkZWZhdWx0OyB0aGUgbmV3IG9wdGlvbiAtLXByb3RlY3QtYm9vdCBkaXNhYmxlcyB0aGlzIGJlaGF2aW9yLiBUaGUgbmV3IGZkaXNrCitjb21tYW5kICdpJyBwcm92aWRlcyBtb3JlIGluZm9ybWF0aW9uIGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi4KKworVGhlIGNvbW1hbmQgY2FsIHN1cHBvcnRzIHRoZSBuZXcgb3B0aW9ucyAtLXR3ZWx2ZSBhbmQgLS1tb250aHMgPG4+IHRvIGRpc3BsYXkKK3RoZSBuZXh0IHR3ZWx2ZSBvciA8bj4gbW9udGhzLgorCitUaGUgY29tbWFuZCBydGN3YWtlIHN1cHBvcnRzIGEgbmV3IG9wdGlvbiAtLWxpc3QtbW9kZXMgdG8gbGlzdCBhdmFpbGFibGUgbW9kZXMsCithbmQgYSBuZXcgb3B0aW9uIC0tZGF0ZSBmb3IgaHVtYW4tcmVhZGFibGUgdGltZXMuIHJ0Y3dha2UgZG9lcyBub3Qgc3VwcG9ydAorUlRDX0FMTV9SRUFEIGFuZCBSVENfQUxNX1NFVCBmYWxsYmFja3MgYW55IG1vcmUuCisKK1RoZSB1dGlsLWxpbnV4IGNvZGUgaXMgcG9zc2libGUgcmVidWlsZCB3aXRoIC0tZGlzYWJsZS1hc3NlcnQgbm93LgorCisKK1NlY3VyaXR5IGlzc3VlcworLS0tLS0tLS0tLS0tLS0tCisKK0NWRS0yMDE1LTUyMjQgLSBjaGZuLCBjaHNoIGZpbGUgbmFtZSBjb2xsaXNpb24gZHVlIHRvIGluY29ycmVjdCBta3N0ZW1wIHVzZSBpZgorICAgICAgICAgICAgICAgIGNvbXBpbGVkIHdpdGhvdXQgbGlidXNlci4KKyAgICAgICAgICAgICAgICBbdGhhbmtzIHRvIFF1YWx5cyBTZWN1cml0eSBBZHZpc29yeSB0ZWFtOyBxdWFseXMuY29tXQorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjI2IGFuZCB2Mi4yNworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yNi4xIFtNYXIgMyAyMDE1XQorCisgKiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI2L3YyLjI2LjEtUmVsZWFzZU5vdGVzCisgICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI2L3YyLjI2LjEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNi4yIFtBcHIgNCAyMDE1XQorCisgKiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI2L3YyLjI2LjItUmVsZWFzZU5vdGVzCisgICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI2L3YyLjI2LjItQ2hhbmdlTG9nCisKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjI2IGFuZCB2Mi4yNworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCisgRm9yIG1vcmUgZGV0YWlscyBzZWUgQ2hhbmdlTG9nIGZpbGVzIGF0OgorIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjcvCisKK2FnZXR0eToKKyAgIC0gUmVwcm9tcHQgb25jZSB0aGUgbmV0d29yayBhZGRyZXNzZXMgY2hhbmdlIGlmIGFkZHJlc3MgZGlzcGxheWVkICBbU3RlZiBXYWx0ZXJdCisgICAtIGNsZWFudXAgcGx5bW91dGggdXNhZ2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN1cmUgdGhhdCByZWxvYWQgZmlsZSBleGlzdHMgIFtLYXJlbCBaYWtdCisgICAtIHJlbG9hZCBpc3N1ZSBvbiAtLWF1dG9sb2dpbiAtLWxvZ2luLXBhdXNlIHRvbyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCAvdXNyL2xpYi9vcy1yZWxlYXNlIHRvbyAgW0thcmVsIFpha10KK2Jhc2gtY29tcGxldGlvbjoKKyAgIC0gY2FsICBhZGQgLS10d2VsdmUgYW5kIC0tY29sb3Igb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSBoYW5kbGUgY29tbWEtc2VwYXJhdGVkIG9wdGlvbnMgIFtCb3JpcyBFZ29yb3ZdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzIFtzaGVsbGNoZWNrXSAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gc3luYyBsc2NwdSBjb21wbGV0aW9uIHdpdGggY29kZSAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gdXBkYXRlIGZldyBvcHRpb25zIGNoYW5nZWQgc2luY2UgdjIuMjYgIFtTYW1pIEtlcm9sYV0KK2Jsa2lkOgorICAgLSBhbm90aGVyIGhpbnQgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBiZSBtb3JlIHByZWNpc2UgaW4gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpZ25vcmUgaW5mbyBhYm91dCBwYXJ0aXRpb25zIG9uIG5vbi1mb3JtYXRlZCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHpmcyBkZXRlY3Rpb24gbW9yZSByb2J1c3QgIFtNaWNoYWwgSHVtcHVsYV0KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZGlzYWJsZS1hc3NlcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRpc2FibGUtY2FsICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLWNvbG9ycy1kZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1lbmFibGUtdXNyZGlyLXBhdGggIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXdpdGgtcmVhZGxpbmUgIFtPbmRyZWogT3ByYWxhXQorICAgLSBhZGQgLS13aXRob3V0LSogZm9yIGFsbCBsaWJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgSEFWRV9MSUJNT1VOVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFRJTkZPX0xJQlNfU1RBVElDICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGNvbXBpbGVyIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyBhdXRvY29uZiA8IDIuNjQgdG8gYmUgdXNlZCAgW0tpciBLb2x5c2hraW5dCisgICAtIGFsbG93IGdldHRleHQgMC4xNyB0byBiZSB1c2VkICBbS2lyIEtvbHlzaGtpbl0KKyAgIC0gY2xlYW51cCByZWFsdGltZSBsaWIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRlZmluZSBjZmRpc2sgZGVwZW5kZW5jZSBvbiBvcGVuX21lbXN0cmVhbSAgW0thcmVsIFpha10KKyAgIC0gZml4IFJFQURMSU5FX0xJQlNfU1RBVElDIHVzYWdlIGZvciBmZGlzayAgW0thcmVsIFpha10KKyAgIC0gZml4IHBhcmFsbGVsIGJ1aWxkcyB3L3NldGFyY2ggbGlua3MgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZml4IHRlc3RfY29sb3JzIGJ1aWxkICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gaW5jbHVkZSBlcnJuby5oIGluc3RlYWQgb2YgYXJncC5oICBbQ2hlbiBRaV0KKyAgIC0gbWFrZSBhdXRvZ2VuLnNoIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIHNjcmlwdCgxKSBhcyBMaW51eCBvbmx5IGR1ZSB0byBzaWduYWxmZCgpICBbS2FyZWwgWmFrXQorICAgLSBuY3Vyc2VzIGlzIG9wdGlvbmFsLCBkb24ndCBmYWlsIHdoZW4gbWlzc2luZyAgW0thcmVsIFpha10KKyAgIC0gcHl0aG9uIGlzIG9wdGlvbmFsLCBkb24ndCBmYWlsIHdoZW4gbWlzc2luZyAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yNy1yYzEpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjI3LXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgc3RhdGljIGJ1aWxkIHdpdGggcmVhZGxpbmUgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgdW5zaGFyZS5zdGF0aWMgIFtHZW9yZyBTY2hpZXNzZXJdCisgICAtIHR5cG8gLWx0aW5mbyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgUkVBTFRJTUVfTElCUyBmb3Igc2NyaXB0ICBbS2FyZWwgWmFrXQorY2FsOgorICAgLSBhZGQgLVkgYW5kIC1uIDxudW0+ICBbTWF4IEtsaW5nZXIsIEthcmVsIFpha10KKyAgIC0gY2FyZSBhYm91dCBzZXR1cHJ0ZXJtKCkgcmVzdWx0ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBiaWdnZXN0IHdlZWsgbnVtYmVyIGNvcnJlY3RseSB3aGVuIGhpZ2hsaWdodGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb3JyZWN0IGdyZWdvcmlhbiB3ZWVrIG51bWJlcmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb3JyZWN0IHRoZSBtYW4gcGFnZSAgdGhlIHJlZm9ybWF0aW9uIGVsaW1pbmF0ZWQgZWxldmVuIGRheXMsIG5vdCB0ZW4gIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IEphbnVhcnkgMTc1MyB3ZWVrIG51bWJlciBwcmludG91dCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZXBsYWNlIG1hZ2ljIGNvbnN0YW50cyB3aXRoIHN5bWJvbGljYWwgdmFsdWVzICBbU2FtaSBLZXJvbGFdCitjZmRpc2s6CisgICAtIGFsbG93IGFuIHVwcGVyY2FzZSBYIHRvIHRvZ2dsZSB0aGUgZXh0cmEgaW5mbyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjaGVjayByZXR1cm4gdmFsdWUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGV4dHJhIHBhcnRpdGlvbnMgaW5mbyBmb3Igc2xhbmcgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByaW50IG9ic29sZXRlIENIUyBhZGRyZXNzZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb25kaXRpb24gbG9naWMgW2NwcGNoZWNrXSAgW0JvcmlzIEVnb3Jvdl0KKyAgIC0gbWFrZSBzdXJlIHRoYXQgZXh0cmEgaW5mbyBpcyByZWZyZXNoZWQvcmVtb3ZlZCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzdXJlIHRoYXQgb3V0cHV0IGZpdHMgdG8gdGVybWluYWwgd2lkdGggIFtLYXJlbCBaYWtdCisgICAtIHByb3Blcmx5IHRvZ2dsZSBleHRyYSBpbmZvIHdpbmRvdywgbWFrZSBpdCBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gcHJvdmlkZSBleHRyYSBwYXJ0aW5mbyB3aXRoICJ4IiAgW09uZHJlaiBPcHJhbGEsIEthcmVsIFpha10KKyAgIC0gcmVtb3ZlIGV4dHJhIGxpbmUgYmV0d2VlbiBtZW51IGFuZCBpbmZvIGxpbmUgIFtLYXJlbCBaYWtdCisgICAtIHNwZWxsICJsYWJlbCIgaW4gbG93ZXIgY2FzZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorY2ZkaXNrLCBzZmRpc2s6CisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGVzICBbS2FyZWwgWmFrXQorY2hmbjoKKyAgIC0gZG9jdW1lbnQgQ0hGTl9SRVNUUklDVCAvZXRjL2xvZ2luLmRlZnMgIFtLYXJlbCBaYWtdCitjaHJ0OgorICAgLSBmaXggLS1oZWxwIGluY29uc2lzdGVuY3kgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGhlIHVzYWdlIHN5bm9wc2lzIGNsZWFyZXIgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gc2xpY2UgdXAgdGhlIHVzYWdlIHRleHQgYW5kIG5vcm1hbGl6ZSBpdHMgbGF5b3V0ICBbQmVubm8gU2NodWxlbmJlcmddCitjaHNoLCBjaGZuLCB2aXB3OgorICAgLSBmaXggZmlsZW5hbWVzIGNvbGxpc2lvbiAgW0thcmVsIFpha10KK2NvbGNydDoKKyAgIC0gYWxsb2NhdGUgZW5vdWdoIHNwYWNlIGZvciBkYXRhIG1vdmVzIFthZmwgJiBhc2FuXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhdm9pZCB3cml0aW5nIGJleW9uZCBhcnJheSBib3VuZCBbYWZsICYgYXNhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlICNkZWZpbmUgaW4gcGxhY2Ugb2YgbWFnaWMgY29uc3RhbnRzICBbU2FtaSBLZXJvbGFdCitjb2xvcnM6CisgICAtIGNsZWFudXAgbWFuIHBhZ2VzLCBhZGQgaGludCB0byB1c2FnZSgpICBbS2FyZWwgWmFrXQorZG1lc2c6CisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gaGlnaGxpZ2h0IC1UIGlzc3VlcyBpbiBkb2NzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgR01UIGluIHRlc3RzLCBhZGQgRE1FU0dfVEVTVF9CT09USU1FICBbS2FyZWwgWmFrXQorZG9jczoKKyAgIC0gYWRkIGhpbnQgYWJvdXQgY2hmbiAmIGNoc2ggYnVnIGFuZCB0aGFua3MgdG8gcXVhbHlzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbHNibGsgdnMuIGJ0cmZzIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3VudCAtLW5hbWVzcGFjZSB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZXN0IGFib3V0IGRyb25lLmlvIGFuZCB0cmF2aXMtY2kgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXJtaW5hbC1jb2xvcnMgcmVxdWVzdHMgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHYyLjI3LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gZG9jdW1lbnQgLS1leGNsdWRlIGZvciB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZml4IFRPRE8gdHlwb3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBndGstZG9jcyByZWxhdGVkIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggc29tZSBncmFtbWFyIGFuZCBwdW5jdHVhdGlvbiBpbiB0aGUgMi4yNyByZWxlYXNlIG5vdGVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBzb21lIHNwZWxsaW5nIGVycm9ycyBhbmQgdHlwb3MgaW4gbWFuIHBhZ2VzICBbQmlsbCBQZW1iZXJ0b25dCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmc3RhYig1KSBncmFtbWFyIC8gRW5nbGlzaCBmaXhlcywgYW5kIHNvbWUgb3RoZXIgdXBkYXRlcyAgW1BldGVyIENvcmRlc10KKyAgIC0gbWFrZSBmc2NrLm1pbml4KDgpIG1vcmUgcHJldHR5ICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSB0aGluZ3MgZnJvbSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1bmlmeSBta3N3YXAoOCkgd2l0aCBzd2Fwb24oOCkgYWJvdXQgaG9sZXMgd2FybmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjI3LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2VqZWN0OgorICAgLSB1c2UgcGFyc2Vfc3dpdGNoKCkgIFtTYW1pIEtlcm9sYV0KK2ZhbGxvY2F0ZToKKyAgIC0gZml4IGVycm9yIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCitmZGlzazoKKyAgIC0gYWRkICdGJyBjb21tYW5kIHRvIGxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1wcm90ZWN0LWJvb3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBHTlUgUmVhZGxpbmUgc3VwcG9ydCB0byBmZGlzayAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRoZSAnaSduZm8gY29tbWFuZCAgW0plYW4tTG91cCAnY2xpcHBpeCcgQm9nYWxob10KKyAgIC0gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuICs8c2VjdG9yPiBhbmQgKzxzaXplPntNLEcsLi4ufSAgW0thcmVsIFpha10KKyAgIC0gZml4IHJlYWRsaW5lIHdyYXBwZXIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBpbml0IGxpYnNtYXJ0Y29scyBkZWJ1ZyAgW0thcmVsIFpha10KKyAgIC0gcHJvdmlkZSBtb3JlIGluZm9ybWF0aW9uIGJ5ICdpJ25mbyBjb21tYW5kICBbS2FyZWwgWmFrXQorICAgLSB2YWx1ZSBpcyBuZXZlciByZWFkIFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KK2ZkaXNrLCBzZmRpc2s6CisgICAtIGZpeCAtbyA8bGlzdD4gYmFja2VuZCAgW0thcmVsIFpha10KK2ZpbmRtbnQ6CisgICAtIGFkZCAtLWpzb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLW1vdW50cG9pbnQgY29tbWFuZCBsaW5lIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmVseSBvbiBzdF9kZXYgZm9yIC0tdGFyZ2V0ICBbS2FyZWwgWmFrXQorZmxvY2s6CisgICAtIE5VTEwgZGVyZWYgIFtCcmFkIEZvcnNjaGluZ2VyXQorICAgLSBhZGQgLS12ZXJib3NlIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdGltZW91dCBoYW5kbGVyIHBvaW50ZXIgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgdGltZW91dCBoYW5kbGluZyAgW1NhbWkgS2Vyb2xhXQorZnNjazoKKyAgIC0gRml4IHBhcnNpbmcgb2YgLXIgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBmaXggZnNjayAtQyB7ZmR9IHBhcnNpbmcgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBpbXBsZW1lbnQgZnNjayAtciB7ZmR9ICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gcHJpbnQgZXJyb3JzIG9uIGludmFsaWQgLXIgYXJndW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBQQVRIIG9yIGZhbGxiYWNrIHRvIC9zYmluICBbS2FyZWwgWmFrXQorZnNjay5taW5peDoKKyAgIC0gYWRkIG1pbml4IHYzIHN1cHBvcnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYmUgbW9yZSBwYXJhbm9pZCB3aXRoIGJsb2NrIGJ1ZmZlcnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBpbnRyb2R1Y2UgbG9uZyBvcHRpb25zIHRvIHRoZSBjb21tYW5kICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbmFtZSBkZXZpY2UgZmlsZSBkZXNjcmlwdG9yIHZhcmlhYmxlICBbU2FtaSBLZXJvbGFdCitmc3RyaW06CisgICAtIGNsb3NlIGRpciBiZWZvcmUgZXhpdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGRlLWR1cGxpY2F0ZSBieSBtb3VudCBzb3VyY2UgdG9vICBbS2FyZWwgWmFrXQorZ2V0b3B0OgorICAgLSB1c2UgJCguLi4pIGNvbW1hbmQgc3Vic3RpdHV0aW9uIGluIGV4YW1wbGUgc2NyaXB0IFtzaGVsbGNoZWNrXSAgW1NhbWkgS2Vyb2xhXQoraGV4ZHVtcDoKKyAgIC0gZml4IG1hbiBwYWdlICgteCB2cy4gZGVmYXVsdCBvdXRwdXQpICBbS2FyZWwgWmFrXQoraHdjbG9jazoKKyAgIC0gSW1wcm92ZSBGSUxFUyBzZWN0aW9uICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIFJlbW92ZSBUWlVUQyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBhZGQgJzExIG1pbnV0ZSBtb2RlJyBpbmZvcm1hdGlvbiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBhZGQgLUQgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVFpESVIgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gY2xlYW4gdXAgbWFuIHBhZ2UgaGVhZGVyICBbS2FyZWwgWmFrXQorICAgLSBjb3NtZXRpYyBjaGFuZ2VzIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBhbGxvdyBub24tcm9vdCBhY2Nlc3MgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmZ2V0cyB1bmNoZWNrZWQgcmV0dXJuIHZhbHVlIHdhcm5pbmcgb24gYWxwaGEgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGZpeCBmb3JtYXQgd2FybmluZyBpbiBhbHBoYSBjb2RlICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBmaXggaW9wbCBpbXBsaWNpdCBkZWNsYXJhdGlvbiB3YXJuaW5nIG9uIGFscGhhICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBmaXggc2lnbmVkL3Vuc2lnbmVkIGNvbXBhcmlzb24gd2FybmluZyBvbiBhbHBoYSAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gZml4IHNwZWxsaW5nLCBwdW5jdHVhdGlvbiBhbmQgZm9ybWF0dGluZyBtaXN0YWtlcyBpbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZmx1c2ggc3Rkb3V0IGluIGh3Y2xvY2sgLWMgIFtBbGV4ZXkgR2FsYWtob3ZdCisgICAtIGluY3JlYXNlIGRlYnVnIG91dHB1dCBwcmVjaXNpb24gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gbWFrZSBzdGF0aWMgYW5hbHl6ZXMgbW9yZSBoYXBweSAgW0thcmVsIFpha10KKyAgIC0gbWFuLXBhZ2UgZXJyYXRhICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIG5vbi1yb290IGFjY2VzcyBpbiB0ZXN0IG1vZGUgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVncmVzc2lvbiBmaXggIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIGFuIHVudHJ1ZSBwaHJhc2UgZnJvbSB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgZGVwcmVjaWF0ZWQgbnRwZGF0ZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQoraW5jbHVkZS9hbGwtaW86CisgICAtIHJlYWRfYWxsKCkgZG9uJ3QgcmV0cnkgb24gRU9GICBbS2FyZWwgWmFrXQoraW5jbHVkZS9jOgorICAgLSBEZWZpbmUgRl9EVVBGRF9DTE9FWEVDIG9uIGtGcmVlQlNEIHN5c3RlbXMgaWYgbWlzc2luZyAgW0d1aWxsZW0gSm92ZXJdCitpbmNsdWRlL3hhbGxvYzoKKyAgIC0gYWRkIGVycl9vb20oKSAgW0thcmVsIFpha10KK2lwY21rOgorICAgLSBzdXBwb3J0IDxzaXplPntLLE0sRywuLi59ICBbS2FyZWwgWmFrXQora2lsbDoKKyAgIC0gQWRkIHZlcmJvc2UgdG8gbWFuIHBhZ2UuICBbUmFnaGF2ZW5kcmEgRCBQcmFiaHVdCitsYXN0OgorICAgLSBmaXggZmlyc3QgKGN1cnJlbnQpIHJ1bmxldmVsIGxpbmUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHV0bXBsaXN0IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBrZWVwIGFycmF5IG9mIGZpbGVzIGluIG1haW4oKSAgW0thcmVsIFpha10KK2xhc3QtZGVwcmVjYXRlZDoKKyAgIC0gcmVtb3ZlIGZyb20gc291cmNlIHRyZWUgIFtTYW1pIEtlcm9sYV0KK2xkYXR0YWNoOgorICAgLSBhZGFwdCBwcmludF90YWJsZSBjb2x1bW4gd2lkdGggdG8gd2lkZXN0IGVudHJ5ICBbVGlsbWFuIFNjaG1pZHRdCisgICAtIGFsd2F5cyBzZXQgbGluZSBzcGVlZCBhbmQgZm9ybWF0IGZvciBOX0dJR0FTRVRfTTEwMSAgW1RpbG1hbiBTY2htaWR0XQorICAgLSBvcmRlciBsaW5lIGRpc2NpcGxpbmVzIGNhbm9uaWNhbGx5ICBbVGlsbWFuIFNjaG1pZHRdCisgICAtIHRpbnkgY29kaW5nIHN0eWxlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCitsaWIvYmxrZGV2OgorICAgLSB1c2UgNjQtYml0IHRvIGNvdW50IHNpemUgaW4gYnl0ZXMgIFtLYXJlbCBaYWtdCitsaWIvY29sb3JzOgorICAgLSBhZGQgVVNBR0VfQ09MT1JTX0RFRkFVTFQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJ0aW5mbyB0byBjaGVjayB0ZXJtaW5hbCBjYXBhYmlsaXR5ICBbS2FyZWwgWmFrXQorbGliL2ZpbGV1dGlsczoKKyAgIC0gQWRkIG5ldyBkdXBfZmRfY2xvZXhlYyBmdW5jdGlvbiAgW0d1aWxsZW0gSm92ZXJdCitsaWIvbW9ub3RvbmljOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgIFtLYXJlbCBaYWtdCitsaWIvcHJvY3V0aWxzOgorICAgLSBhZGQgcHJvY19nZXRfY21kbGluZSgpICBbS2FyZWwgWmFrXQorbGliL3N0cnV0aWw6CisgICAtIGZpeCBwYXJzZV9zd2l0Y2ggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtBbmRyZWFzIEhlbnJpa3Nzb25dCitsaWIvc3RydXRpbHM6CisgICAtIGV4dGVuZCBwYXJzZV9zd2l0Y2goKSB0byBhY2NlcHQgbW9yZSBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggc3RyaW5nX2FkZF90b19pZGFycmF5KCkgaW50IHZzLiBzaXplX3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc3RybW9kZSgpIG1vcmUgZ2VuZXJpYyAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBwYXJzZV9zd2l0Y2goKSBmcm9tIHNldHRlcm0oMSkgdG8gbGlicmFyeSAgW1NhbWkgS2Vyb2xhXQorbGliL3N0cnY6CisgICAtIGFkZCBuZXcgZnVuY3Rpb25zIChmcm9tIHN5c3RlbWQpICBbS2FyZWwgWmFrXQorbGliL3N5c2ZzOgorICAgLSBGaXggL2RldiB0byAvc3lzIG5vZGUgbmFtZSB0cmFuc2xhdGlvbiAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIFVzZSBkdXBfZmRfY2xvZXhlYyBpbnN0ZWFkIG9mIGRpcmVjdCBjYWxsIHRvIGZjbnRsICBbR3VpbGxlbSBKb3Zlcl0KKyAgIC0gbWFrZSBzeXNmc19uZXh0X3N1YnN5c3RlbSgpIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgZGV2bmFtZSBmdW5jdGlvbnMsIGNsZWFudXAgIFtLYXJlbCBaYWtdCitsaWIvc3lzZnMuYzoKKyAgIC0gdXNlIGZjbnRsKC4uRl9EVVBGRF9DTE9FWEVDKSBpbnN0ZWFkIG9mIGR1cCgyKSAgW0NyaXN0aWFuIFJvZHLDrWd1ZXpdCitsaWIvdGltZXI6CisgICAtIHVzZSBzZXBhcmF0ZSBmaWxlIGZvciB0aW1lcnMgIFtLYXJlbCBaYWtdCitsaWIvdGltZXV0aWxzOgorICAgLSBmaXggaW5kZW50aW9uIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCitsaWJibGtpZDoKKyAgIC0gKGRyYmRtYW5hZ2UpIGFkZCBtYWdpYyBzdHJpbmdzIGFycmF5IHRlcm1pbmF0b3IgIFtLYXJlbCBaYWtdCisgICAtIChkcmJkbWFuYWdlKSBpbXByb3ZlIHZlcnNpb24gc2V0dGluZyBjb2RlICBbS2FyZWwgWmFrXQorICAgLSAobmlsZnMyKSBjaGVjayBkZXZpc2Ugc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gKG5pbGZzMikgY2hlY2sgc2l6ZSBmb3IgYmFja3VwIHN1cGVyYmxvY2sgb25seSAgW0thcmVsIFpha10KKyAgIC0gYWRkZWQgZHJiZG1hbmFnZSBjb250cm9sIHZvbHVtZSBkZXRlY3Rpb24uICBbUGhpbGlwcCBNYXJla10KKyAgIC0gY2xlYW51cCBuYW1lcywgZG9uJ3QgY29weSBwcm9iaW5nIHJlc3VsdHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV3VudXNlZC12YXJpYWJsZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggaW5jb25zaXN0ZW50IGluZGVudGluZyBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHByb2JpbmcgZGF0YSBzdHJ1Y3R1cmVzIG1vcmUgZHluYW1pYyAgW09uZHJlaiBPcHJhbGFdCisgICAtIHJlbW92ZSBkZWFkIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSB1c2UgJ1ZFUlNJT04nIHJhdGhlciB0aGFuICdQRVJTSVNURU5DRV9WRVJTSU9OJyAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgc29tZSBjb25kaXRpb25zIFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCisgICAtICh6ZnMpIG1ha2UgbGVzcyBzeXNjYWxscyAgW01pY2hhbCBIdW1wdWxhXQorbGliZmRpc2s6CisgICAtIChic2QpIGFkZCBub3RlIGFib3V0IG5vbi13cml0dGVuIHBhcmVudGFsIE1CUiAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgIHJldGFpbiBleGlzdGluZyBib290IGZsYWcgd2hlbiByZXNpemluZyBhIHBhcnRpdGlvbiAgW0thcmVsIFphaywgYXdpbGxpYW1AcmVkaGF0LmNvXQorICAgLSAoZG9zKSBmaXggY3lsaW5kZXJzIGNhbGN1bGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmaXggdGlueSBwYXJ0aXRpb25zIGNhbGN1bGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgQVBJIGZvciByYXcgcGFydGl0aW9uIGF0dHJpYnV0ZXMgIFtNaWNoYWVsIE1hcmluZWF1XQorICAgLSAoZ3B0KSBhZGQgZXh0cmEgY2hlY2sgZm9yIEZpcnN0L0xhc3QgTEJBICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgbWlzc2luZyBHVUlEcyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgY2hlY2sgaGVhZGVyIHNpemUgYmVmb3JlIHZlcmlmeSBDUkMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCAiTWlkbmlnaHRCU0QgVUZTIiBVVUlEICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBmaXggTEUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBhdHRyaWJ1dGVzIGVuZGlhbm5lc3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gKGdwdCkgZml4IGNoZWNrIGZvciBiZWdpbm5pbmcgb2YgcHJvdGVjdGl2ZSBwYXJ0aXRpb24gIFtNaWNoYWVsIE1hcmluZWF1XQorICAgLSAoZ3B0KSBmaXggZW5kIHNlY3RvciBjYWxjdWxhdGlvbiBvbiByZXNpemUgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBsYWJlbCBwb2ludGVyIHVzYWdlIFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIChncHQpIG1ha2UgaXQgcG9zc2libGUgdG8gY3JlYXRlIHJlYWxseSBzbWFsbCBwYXJ0aXRpb25zICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSByZW9yZGVyIG9ubHkgd2hlbiBuZWNlc3NhcnkgIFtLYXJlbCBaYWtdCisgICAtIFVzZSBwcmVkaWN0YWJsZSAvZGV2L21hcHBlciBwYXJ0aXRpb24gbmFtZXMgZm9yIC9kZXYvZG0tTiAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIGFkZCBHUFQgR1VJRHMgZm9yIEFSTXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBHUFQgR1VJRHMgZm9yIFBSZVAgIFtTY290dCBNb3Nlcl0KKyAgIC0gYWRkIEpTT04gZHVtcCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb21tZW50IHRvIHRoZSBoZWFkZXIgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzX2FsbCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbl9ieV9wYXJ0bm8oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZnZXRzKCkgY2FsbGJhY2sgZm9yIHNjcmlwdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgQVBJIHRvIHJlYWQgbGFiZWwgc3BlY2lmaWMgZGF0YSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHdhcm5pbmcgdG8gcmVzaXplIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQge2ZpcnN0LGxhc3R9LWxiYSBoZWFkZXIgdG8gc2ZkaXNrIHNjcml0cHMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIGNoYW5nZSBwYXJ0aXRpb24gdHlwZSBmb3IgZXh0ZW5kZWQgcGFydGl0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gbW92ZSBzdGFydCB0byBmaXJzdCB1c2FibGUgTEJBICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGFzc2VydCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCByZXNpemUgaW4gbGFiZWwgZHJpdmVycyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcmV0dXJuIGVtcHR5IHN0cmluZ3MgZnJvbSBmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZSgpIGZvciB1bmtub3duIHR5cGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2NyaXB0IHBhcnNlciB0byBzdXBwb3J0IHJlc2l6ZSBvcGVyYXRpb25zICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2NyaXB0ayBwYXJzZXIgdG8gc3VwcG9ydCBhbG9uZSBzaWducyAgW0thcmVsIFpha10KKyAgIC0gZml4IHN5bWJvbHMgdmVyc2lvbmluZyBzY3JpcHQgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBtaXNhbGlnbmVkIG9wdGltYWwgSS9PIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgKzAgcGFydGl0aW9uIHNpemUgIFtLYXJlbCBaYWtdCisgICAtIGtlZXAgRkRJU0tfRklFTERfQ1lMSU5ERVJTIGluZGVwZW5kZW50IG9uIGNvbnRleHQgbW9kZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBjb250ZXh0LT5sYWJlbCB1c2FnZSBtb3JlIHJvYnVzdCBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSByZWNvZ25pemUgRkFUMzIgcGFydGl0aW9ucyBoaWRkZW4gYnkgQWNyb25pcyBzb2Z0d2FyZSAgW0rDtnJnIEplbmRlcmVrXQorICAgLSByZW1vdmUgaW1wb3NzaWJsZSBjb25kaXRpb24gW3NtYXRjaCBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIHNjcmlwdCBmdW5jdGlvbnMgdG8gaW1wcm92ZSByZWFkYWJpbGl0eSAgW0thcmVsIFpha10KKyAgIC0gcmVzdWx0IG9mIG9wZXJhdGlvbiBpcyBnYXJiYWdlIG9yIHVuZGVmaW5lZCBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgYWxpZ25tZW50IHRvIG5vbiBwb3dlciBvZiAyICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGJvb3RiaXRzIHByb3RlY3Rpb24gZnJvbSAocClNQlIgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgcmVzaXplIG9wZXJhdGlvbiBpbiBmZGlza19zZXRfcGFydGl0aW9uKCkgIFtLYXJlbCBaYWtdCisgICAtIHVuZGVmaW5lZCBvciBnYXJiYWdlIHZhbHVlIHJldHVybmVkIHRvIGNhbGxlciBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gKGRvY3MpIGZpeCB0eXBvICBbUm9ubnkgQ2hldmFsaWVyXQorICAgLSAoZG9jcykgZml4IHdvcmRpbmcgIFtSb25ueSBDaGV2YWxpZXJdCisgICAtIChtb25pdG9yKSBmaXggZG9jcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF90YWJsZV9nZXRfZnNfcm9vdCgpIHRvIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBmbG9jaygpIHRvIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciAiYmluZCxybyIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBNU19MQVpZVElNRSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBhc3NlcnQoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBmcyByb290IGRldGVjdGlvbiBjb2RlICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgY2FsbCB1bW91bnQgaGVscGVyIG9uIC0tZmFrZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XZGlzY2FyZGVkLXF1YWxpZmllcnNdICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW50X21vbml0b3JfZXZlbnRfY2xlYW51cCgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyBpbiBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKCkgIFtLYXJlbCBaYWtdCisgICAtIGhhbmRsZSBhcmJpdHJhcnkgbGluZSBsZW5ndGggZm9yIG1vdW50cyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBtb25pdG9yIHRvIGJlIHVzYWJsZSBmb3Igbm9uLXJvb3QgdXNlcnMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbW50X2dldF9maWxlc3lzdGVtcygpIG1vcmUgcm9idXN0IFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KKyAgIC0gbWFyayBvdmVybGF5IGFzIHBzZXVkby1GUyAgW0thcmVsIFpha10KKyAgIC0gc29ydCBwc2V1ZG8gZmlsZXN5c3RlbXMgYnkgTENfQ09MTEFURT1DICBbS2FyZWwgWmFrXQorICAgLSB0eXBvIGZpeGVzICBbS2lyIEtvbHlzaGtpbl0KKyAgIC0gdmFyaWFibGUgZGVyZWZlcmVuY2VkIGJlZm9yZSBjaGVjayBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorbGlic21hcnRjb2xzOgorICAgLSBhZGQgSlNPTiBvdXRwdXQgZm9ybWF0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBsaW5rIHdpdGggdGluZm8gIFtLYXJlbCBaYWtdCisgICAtIGtlZXAgSlNPTiBmaWVsZCBuYW1lcyBsb3dlci1jYXNlICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGNoaWxkLXBhcmVudCByZWZlcmVuY2UgbW9yZSByb2J1c3QgW2NsYW5nIGFuYWx5emVdICBbS2FyZWwgWmFrXQorICAgLSByZWR1Y2UgcmVsYXRpdmUgY29sdW1ucyBtb3JlIGFnZ3Jlc3NpdmVseSAgW0thcmVsIFpha10KK2xpYnV1aWQ6CisgICAtIHJldHVybiBjb3JyZWN0IHZhbHVlIGZvciB1dWlkX2dlbmVyYXRlX3RpbWVfc2FmZSAgW1JvbWFpbiBCb3V2aWVyXQorbG9nZ2VyOgorICAgLSAtLXN0ZGVyciBhbmQgLS1uby1hY3QgdHVybiAiYXV0by1lcnJvcnMiIG9uICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIEFkZCBzdXBwb3J0IHRvIGxvZ2dlciBmb3IgUkZDNjU4NyBvY3RldCBjb3VudGluZyAgW0FsZXggQmxpZ2hdCisgICAtIEZpeCB1c2Ugb2YgZXJybm8gYWZ0ZXIgc3RydG9sKCkgd2l0aG91dCB6ZXJvaW5nIGZpcnN0ICBbU3RlZiBXYWx0ZXJdCisgICAtIGFkZCAtLW1zZ2lkIG9wdGlvbiwgcGVybWl0cyB0byBzZXQgUkZDNTQyNCBNU0dJRCBmaWVsZCAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gYWRkIC0tbm8tYWN0IGZvciB0ZXN0aW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1za2lwLWVtcHR5LWxpbmVzIHRvIHByZXZlbnQgbG9nZ2luZyBlbXB0eSBsaW5lcyAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gYWRkIC1EVEVTVF9MT0dHRVIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb21tZW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBrZXJuLT51c2VyIGNvbnZlcnNpb24gIFtLYXJlbCBaYWtdCisgICAtIGJ1Z2ZpeCAgbWlzc2luZyBzYW5pdHkgY2hlY2tzIHdpdGggLS1wcmlvLXByZWZpeCBvcHRpb24gIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGJ1Z2ZpeCAgdGNwIHN5c2xvZyBmcmFtaW5nIGlzIGJyb2tlbiwgLVQgdW51c2FibGUgIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGNoZWNrIGZvciBudHBfZ2V0dGltZSgpIHJhdGhlciB0aGFuIGZvciB0aW1leC5oICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayB4Z2V0aG9zdG5hbWUoKSByZXR1cm4gdmFsdWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG8gbm90IGV4aXQgd2hlbiBzb2NrZXQgZXJyb3JzIGFyZSBub3QgZW5mb3JjZWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IC1pIGFyZ3VtZW50IHBhcnNpbmcgcmVncmVzc2lvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggLXAga2Vybi4qIHByaW9yaXR5IGlzIGFjY2VwdGVkIHJlZ3Jlc3Npb24gIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGZpeCBMT0dHRVJfVEVTVF9USU1FT0ZEQVkgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbmNvbnNpc3RlbnQgZm9ybWF0IHJlZ3Jlc3Npb24gd2hlbiBsb2dnaW5nIGxvY2FsbHkgIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGZpeCBpbnZhbGlkIHRpbWVzdGFtcCBpbiByZmM1NDI1IGZvcm1hdCAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gZml4IGludmFsaWQgdGltZXN0YW1wIHJlZ3Jlc3Npb24gaW4gbG9jYWwgZm9ybWF0ICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSBmaXggbWVtb3J5IGxlYWtzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtdWx0aXBsZSBmb3JtYXQgYnVncyBpbiByZmM1NDI0IGZvcm1hdHRlciAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gZml4IHJmYzU0MjQgZm9ybWF0IGNyYXNoICBbS2FyZWwgWmFrXQorICAgLSBmaXggd2hpdGVzcGFjZSBhbmQgY29tcGlsZXIgd2FybmluZyBbLVd1bnVzZWQtdmFyaWFibGVdICBbS2FyZWwgWmFrXQorICAgLSBnZW5lcmF0ZSBoZWFkZXIgd2hlbiByZWFkaW5nIG1lc3NhZ2UgZnJvbSBzdGRpbiAgW1BhdHJpY2sgUGxhZ3dpdHpdCisgICAtIGltcHJvdmUgbG9nZ2VyIC0tam91cm5hbGQgbWFuIHBhZ2UgZXhhbXBsZSAgW01pY2hhbCBTY2htaWR0XQorICAgLSBpbXByb3ZlIHJlYWRhYmlsaXR5IFtzbWF0Y2ggc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGxpbmsgbGlic3lzdGVtZC1kYWVtb24uc28gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWVzc2FnZXMgYXJlIGxvZ2dlZCB3aXRoIGtlcm4uKiBwcmlvcml0eSBieSBkZWZhdWx0ICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSBtb3ZlIC9kZXYvbG9nIHRvIHBhdGhuYW1lcy5oICBbU2FtaSBLZXJvbGFdCisgICAtIHBlcm1pdCB0byBzZW5kIG1lc3NhZ2VzIGxhcmdlciB0aGFuIDEwMjQgY2hhcmFjdGVycyAgW1JhaW5lciBHZXJoYXJkc10KKyAgIC0gcmVmYWN0b3IgbWVzc2FnZSBnZW5lcmF0aW9uICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSByZWZhY3RvciB0aGUgd2F5IG91dHB1dCBpcyB3cml0dGVuICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSByZW1vdmUgImludGVyZmFjZSB0byBzeXNsb2coMykiIGZyb20gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHNtYWxsIGNoYW5nZSBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB0aWR5IGZldyBpbmRlbnRhdGlvbiBpc3N1ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGVycngoKSB3aGVuIGNoZWNraW5nIHVzZXIgaW5wdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHVzZXJuYW1lIGFzIHRoZSBkZWZhdWx0IHRhZyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhzdHJkdXAoKSAgW0thcmVsIFpha10KK2xvZ2dlciBtYW4gcGFnZToKKyAgIC0gYnVtcCBtYW4gcGFnZSBkYXRlIHRvIGN1cnJlbnQgIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGZpeCBzb21lICJzeXNsb2coMykgcm91dGluZSIgcmVtbmFudHMgIFtSYWluZXIgR2VyaGFyZHNdCisgICAtIGZpeCB0eXBvICBbUmFpbmVyIEdlcmhhcmRzXQorICAgLSB1cGRhdGUgLS1zaXplIGRvYyAgW1JhaW5lciBHZXJoYXJkc10KK2xvZ2luOgorICAgLSByZXBsYWNlIHNpZ2ludGVycnVwdCB3aXRoIHNpZ2FjdGlvbiAgW0NoZW4gUWldCitsb3NldHVwOgorICAgLSBhZGQgLS1qc29uICBbS2FyZWwgWmFrXQorICAgLSBiZSBjYXJlZnVsIHdpdGggZXJybm8gIFtLYXJlbCBaYWtdCisgICAtIHByaW50IG1vcmUgdXNhYmxlIGVycm9yIG1lc3NhZ2Ugb24gZmFpbGVkIC1mICBbS2FyZWwgWmFrXQorbHNibGs6CisgICAtIERpc3BsYXkgbW91bnRwb2ludCBldmVuIGZvciB0b3AtbGV2ZWwgZGV2aWNlICBbTWlsYW4gQnJvel0KKyAgIC0gYWRkIC0tanNvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGRlYnVnIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGlnbm9yZSBkZXBlbmRlbmNlcyBmb3IgcGFydGl0aW9uZWQgZGV2aWVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVzb3VyY2UgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGZvbGxvdyBrZXJuZWwgZm9yIGludmVyc2UgdHJlZSAgW0thcmVsIFpha10KKyAgIC0gbHNibGsuOCBGaXggZGVzY3JpcHRpb24gb2Ygb3V0cHV0IGZvcm1hdCAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIHVzZSBpbnRlcm5hbGx5IHN5c2ZzIGRldm5hbWVzICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGFkZCBjcHUgZmxhZ3MgZW50cnkgdG8gc3VtbWFyeSBvdXRwdXQgIFtXQU5HIENoYW9dCisgICAtIGFkZCB3YXJuaW5nIGZvciBfX1NBTklUSVpFX0FERFJFU1NfXyAgW0thcmVsIFpha10KKyAgIC0gZml4IHJlYWRfaHlwZXJ2aXNvcl9wb3dlcnBjKCkgbG9naWMgIFtLYXJlbCBaYWtdCitsc2lwYzoKKyAgIC0gYWRkIENPTU1BTkQgZm9yIHNobWVtICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQ1RJTUUgdG8gc2htZW0gZGVmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIFVTRSUgdG8gLS1nbG9iYWwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3JlIHJlc291cmNlIHRvIHRoZSBsaW1pdHMgbGlzdCAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgc2NvbHNfbGluZV9yZWZlcl9kYXRhKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgLW8gdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgY29sdW1ucyBpbmRleGVzICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVzZXJuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB7dXNlcixncm91cH1uYW1lIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBkZWZhdWx0IHRvIC0tZ2xvYmFsICBbS2FyZWwgWmFrXQorICAgLSBkaWZmZXJlbnRpYXRlIGJldHdlZW4gVUlEIGFuZCBVU0VSIG5hbWVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBkdXBsaWNhdGUgYWxyZWFkeSBhbGxvY2F0ZWQgZGF0YSAgW0thcmVsIFpha10KKyAgIC0gZml4IElEIHBhcnNpbmcsIHVzZSBmdWxsIHRpbWUgZm9yIHByZXR0eSBwcmludCAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvZGluZyBzdHlsZSAgW0thcmVsIFpha10KKyAgIC0gaWZkZWYgU0hNXyogbWFjcm9zICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIC0tZ2xvYmFsICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIEpTT04gb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIC0taWQgdXNhYmxlIHdpdGggYWxsIG91dHB1dCBmb3JtYXRzIGFuZCB3aXRoIC1vICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIG91dG1vZGUgdG8gY29sdHJvbCBzdHJ1Y3QgIFtLYXJlbCBaYWtdCisgICAtIG5ldyBjb21tYW5kIHRvIGxpc3QgSVBDIGZhY2lsaXRpZXMgIFtLYXJlbCBaYWssIEthcmVsIFpha10KKyAgIC0gcmVtb3ZlIC0tcHJpbnQwIGFuZCAtY29sb24tc2VwYXJhdGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgIlVzYWdlICIgIFtLYXJlbCBaYWtdCisgICAtIHRoZSBkZWZhdWx0IC0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC1jIC0taWQgYW5kIC10ICBbS2FyZWwgWmFrXQorICAgLSB0aW55IGNoYW5nZSBhYm91dCAtLWdsb2JhbCB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdWItdGFibGUgZm9yIHNlbXBob3JlIGVsZW1lbnRzICBbS2FyZWwgWmFrXQorICAgLSB2YWx1ZSBpcyBuZXZlciByZWFkIFtjbGFuZyBhbmFseXplXSAgW0thcmVsIFpha10KK2xzbG9ja3M6CisgICAtIGFkZCAtLWpzb24gIFtLYXJlbCBaYWtdCisgICAtIHNsaWNlIHVwIHRoZSByZWNlbnRseSBtb2RpZmllZCB1c2FnZSB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCitsc2xvZ2luczoKKyAgIC0gZml4IC0tdXNlci1hY2NzIGFuZCAtLXN5c3RlbS1hY2NzIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIHJlYWRfdXRtcCgpIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgW21ha2UgY2hlY2tpbmNsdWRlc10gIFtLYXJlbCBaYWtdCittYW46CisgICAtIGZpeCBub2xhenl0aW1lIHR5cG8gaW4gbW91bnQoOCkgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCittY29va2llOgorICAgLSBmaXggLWYgdXNhZ2UgW2NsYW5nIGFuYWx5emVdICBbS2FyZWwgWmFrXQorbWlzYzoKKyAgIC0gZml4IGluZGVudGlvbiBbc21hdGNoIHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVkdW5kYW50IGFzc2lnbm1lbnQgYW5kIHJlYXNzaWdubWVudHMgYmVmb3JlIHVzZSBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzaGFkb3cgZGVjbGFyYXRpb25zICBbU2FtaSBLZXJvbGFdCitta2ZzOgorICAgLSBkcm9wIGhhcmRjb2RlZCBzZWFyY2ggcGF0aCAgW01pa2UgRnJ5c2luZ2VyXQorbWtmcy5jcmFtZnM6CisgICAtIHJlbW92ZSBkZWFkIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbWtmcy5taW5peDoKKyAgIC0gYWRkIGZzX2NvbnRyb2wgc3RydWN0dXJlLCBhbmQgcmVtb3ZlIG1vc3QgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgaGludCBmb3Igc2Nhbm5lcnMgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayByZXF1ZXN0ZWQgYmxvY2tzIHdpbGwgbm90IGV4Y2VlZCBhdmFpbGFibGUgb24gZGV2aWNlICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHVzZXIgaW5wdXQgY2FyZWZ1bGx5ICBbU2FtaSBLZXJvbGFdCisgICAtIGluY3JlYXNlIG1heGltdW0gbWluaXggdjIgYW5kIHYzIGZpbGUgc3lzdGVtIHNpemVzICBbSm9zaHVhIEh1ZHNvbl0KKyAgIC0gaW50cm9kdWNlIGxvbmcgb3B0aW9ucyB0byB0aGUgY29tbWFuZCAgW1NhbWkgS2Vyb2xhXQorICAgLSByZS1maXggYmxvY2sgY291bnQgbWF0aHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVmYWN0b3Igcm9vdCBibG9jayBjb250ZW50IGNyZWF0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bnVzZWZ1bCBjb2RlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBpc19tb3VudGVkKCkgZnJvbSBsaWJjb21tb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHhhbGxvYyAgW0thcmVsIFpha10KK21vcmU6CisgICAtIGltcHJvdmUgdWdseSBtYWNybyAgW0thcmVsIFpha10KK21vdW50OgorICAgLSBkb24ndCByZW1vdW50IHJlYWQtb25seSBvbiAtLWJpbmQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsYXp5dGltZSBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBtb3VudC44IENsYXJpZnkgcmVsYXRpb24gYmV0d2VlbiBub2F0aW1lIGFuZCBub2RpcmF0aW1lICBbQm9ydXQgTXJha10KKyAgIC0gbW91bnQuOCBhbHNvIG5vdGUgZGlyYXRpbWUgZG9lcyBub3Qgb3ZlcnJpZGUgbm9hdGltZS4gIFtCb3J1dCBNcmFrXQorICAgLSByZW1vdmUgWEZTIGZyb20gbWFuIHBhZ2UsIHhmc3Byb2dzIHByb3ZpZGVzIHhmcyg1KSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0aW9ucyBvZiAtLWhlbHAgYW5kIC0tdmVyc2lvbiBmcm9tIHVzYWdlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK25zZW50ZXI6CisgICAtIGFkZCAtWiB0byBzZXQgc2VsaW51eCBjb250ZXh0ICBbS2FyZWwgWmFrXQorcG86CisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBlcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FudG9uaW8gQ2ViYWxsb3MgUm9hXQorICAgLSB1cGRhdGUgZmkucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtMYXVyaSBOdXJtaV0KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRGF2aWQgUHLDqXZvdF0KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVGFrZXNoaSBIYW1hc2FraV0KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCitwcmxpbWl0OgorICAgLSB0ZWxsIGluIC0tdmVyYm9zZSBvdXRwdXQgd2hpY2ggcGlkIGdvdCB0aGUgbmV3IGxpbWl0ICBbU2FtaSBLZXJvbGFdCitwcm9jdXRpbHM6CisgICAtIHJlc2V0IGVycm5vIGJlZm9yZSByZWFkZGlyICBbUnVlZGlnZXIgTWVpZXJdCityZW5hbWU6CisgICAtIGFsbG93IGZ1bGwtcGF0aCByZW5hbWVzICBbQW5kcmVhcyBIZW5yaWtzc29uXQorcmVzZXQ6CisgICAtIGRlcHJlY2F0ZSB0aGUgc2NyaXB0LCBhbmQgcmVtb3ZlIHJlc2V0LjAzM2MgIFtTYW1pIEtlcm9sYV0KK3JwbWF0Y2g6CisgICAtIHVzZSBzeW1ib2xpYyB2YWx1ZSB3aGVuIGV2YWx1YXRpb24gcmV0dXJuIGNvZGVzICBbU2FtaSBLZXJvbGFdCitydGN3YWtlOgorICAgLSBhZGQgLS1saXN0LW1vZGVzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBodW1hbiByZWFkYWJsZSAtLWRhdGUgdGltZXN0YW1wIGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgcnRjd2FrZV9jb250cm9sIGFuZCByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbGVhbiB1cCBzdHJ1Y3QgdG0gaW5pdGlhbGl6YXRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGNvc21ldGljIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBvdmVyd3JpdGUgZGV2aWNlIG5hbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG9uJ3QgdXNlIHVzYWdlKCkgb24gZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIGVudW1lcmF0ZSBjb25zdGFudCBtb2RlIHN0cmluZ3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IEFSUkFZX1NJWkUoKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHByZXByb2Nlc3NvciByZWRlZmluaXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHZhbGdyaW5kIHdhcm5pbmcgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBjb2Rpbmcgc3R5bGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBvcGVuKCkgdXNhZ2UgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHJlYWRfY2xvY2tfbW9kZSgpICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2Ugc29tZSBjb21tYW5kIGxpbmUgb3B0aW9ucyBtdXR1YWxseSBleGNsdXNpdmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVhZCBhY2NlcHRlZCBtb2RlIHN0cmluZ3MgZnJvbSAvc3lzL3Bvd2VyL3N0YXRlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBSVENfQUxNX1JFQUQgYW5kIFJUQ19BTE1fU0VUIGNvbXBhdGliaWxpdHkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVwbGFjZSBsb25nIGlmIGVsc2Ugc3RhdGVtZW50IHdpdGggc3dpdGNoIGNhc2UgIFtTYW1pIEtlcm9sYV0KK3NjcmlwdDoKKyAgIC0gRml4IG1hbmdsZWQgRU9GIGFuZCBoYW5nIG9uIGJpZyBlbmRpYW4gIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBhZGQgJ1NjcmlwdCBzdGFydGVkJyBsaW5lIGFsd2F5cyB0byBjYXB0dXJlIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vcmV0dXJuIGZ1bmN0aW9uIGF0dHJpYnV0ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIG5vdGUgdG8gQlVHUyBtYW4gcGFnZSBzZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3RydWN0IHNjcmlwdF9jb250cm9sIGFuZCByZW1vdmUgZ2xvYmFsIHZhcmlhYmxlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgU0NSSVBUX0RFQlVHPSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzaWduYWxzIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbG9zZSB0aW1pbmdmcCBhbHNvIHdoZW4gLWUgIFtLYXJlbCBaYWtdCisgICAtIGRlYnVnIHBvbGwoKSByZXN1bHRzICBbS2FyZWwgWmFrXQorICAgLSBldmFsdWF0ZSBlcnJubyBvbmx5IGlmIHJlYWQoKSBzZXRzIGl0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBFT0YgcHJvYmxlbXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB2YXJpYWJsZSBpbml0aWFsaXphdGlvbiB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgU0lHe1RFUk0sUVVJVCxLSUxMfSBzZW5zaXRpdml0eSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBwb2xsIGRlYnVnZ2luZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzdXJlIGVycm5vIGlzIHplcm8gIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIGRvaW5wdXQoKSBhbmQgb3V0cHV0KCkgZnVuY3Rpb25zIHRvIGRvX2lvKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBkb19pbygpIGNvbnRlbnQgdG8gc21hbGwgZnVuY3Rpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgdGltaW5nIGZpbGUgb3BlbmluZyBjbG9zZSB0byB1c2Ugb2YgaXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGZ1bmN0aW9uIHByb3RvdHlwZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGlvIHZzIHNpZ25hbCByYWNlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBtYWdpYyBjb25zdGFudHMgZnJvbSBwb2xsIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBjb250cm9sIHN0cnVjdCBtZW1iZXJzICBbS2FyZWwgWmFrXQorICAgLSByZXBsYWNlIHN0cmZ0aW1lKCkgd29ya2Fyb3VuZCB3aXRoIENGTEFHUyA9IC1Xbm8tZm9ybWF0LXkyayAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgY29ycmVjdCBpbnB1dCB0eXBlLCBtb3ZlIGNvbW1lbnQsIGFuZCBzbyBvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZ2V0dGltZV9tb25vdG9uaWMoKSB0byBnZXQgdGltaW5nIGZpbGUgdGltZXN0YW1wcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcG9sbCgpIHJhdGhlciB0aGFuIHNlbGVjdCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBzaWduYWxmZCgpIHRvIGNhdGNoIHNpZ25hbHMgIFtTYW1pIEtlcm9sYV0KK3NldGFyY2g6CisgICAtIGZpeCByZWdyZXNzaW9uIGZvciBzcGFyYyBidWlsZHMgIFtXYWxkZW1hciBCcm9ka29yYl0KK3NldHRlcm06CisgICAtIHJlbW92ZSBkZWFkIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorc2ZkaXNrOgorICAgLSBhY2NlcHQgZW1wdHkgcGFydGl0aW9ucyBmcm9tIGR1bXAgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWpzb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWxpc3QtZnJlZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgLS1jb2xvciAgW0thcmVsIFpha10KKyAgIC0gYWRkIHJlYWRsaW5lIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGNsYXJpZmljYXRpb24gZm9yIHNmZGlzayBtYW4gcGFnZSAgW0lhbiBXaWVuYW5kXQorICAgLSBjbGVhbnVwIHByb21wdCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJpbnQgZXh0cmEgbGluZWJyZWFrcyBvbiAtLXF1aWV0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgQkxLUlJQQVJUIHRvIGNoZWNrIGxvb3BkZXYgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGVuYWJsZSBib290Yml0cyBwcm90ZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggLWEgdnMuIC1BIGJ1ZyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAtTiB3YXJuaW5ncyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzb21lIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHNob3cgdGhhdCB0aGUgY29tbWFuZCAtLXZlcmlmeSBvcHRpb25hbGx5IHRha2VzIGRldmljZSBuYW1lcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorc3Vsb2dpbjoKKyAgIC0gVXNlIHJlYWQgaW5zdGVhZCBvZiBhbGxvY2F0ZWQgc2l6ZSBmcm9tIGdldGxpbmUoKSAgW0d1aWxsZW0gSm92ZXJdCisgICAtIGRvbid0IHVzZSBzdHJjcHkoKSwgZW5sYXJnZSBwd2QgbGluZSBidWZmZXIgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3VwcG9ydCBmb3IgbG9ja2VkIHJvb3QgYWNjb3VudCAgW0thcmVsIFpha10KK3N3YXBvbjoKKyAgIC0gZml4IHJlc3RhcnQgd2FpdHBpZCB3aXRoIGVycm5vID09IEVJTlRSICBbS2FyZWwgWmFrXQorICAgLSBzZWFyY2ggZm9yIG1rc3dhcCB2aWEgUEFUSCAgW01pa2UgRnJ5c2luZ2VyXQorc3lzLXV0aWxzOgorICAgLSBsc2NwdSBzZWdmYXVsdHMgd2hlbiBidWlsdCB3aXRoIC1mc2FuaXRpemU9YWRkcmVzcyAgW0NyaXN0aWFuIFJvZHLDrWd1ZXpdCitzeXMtdXRpbHMvZGlzay11dGlscy9saWI6CisgICAtIGZpeCBwcmludGYgZm9ybWF0IHR5cGVzIFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCit0YWlsZjoKKyAgIC0gY291bnQgbGFzdCBsaW5lcyBjb3JyZWN0bHkgYXQgaW5pdGlhbCBwcmludCBvdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZGVwcmVjYXRlZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkbyBub3QgYWxsb3cgbWludXMgc2lnbmVkIGxhc3QgbGluZXMgYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZW5zdXJlIGZpbGUgYXJndW1lbnQgcmVhbGx5IGlzIGEgZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggb3BlbigpIHJldHVybiB2YWx1ZSBjaGVjayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzaXplX3QgYW5kIGZ3cml0ZSgpICBbS2FyZWwgWmFrXQordGFzdHM6CisgICAtIGFkZCBsb2dnZXIgb2N0ZXQgY291bnRpbmcgdGVzdCAgW0thcmVsIFpha10KK3Rlc3RfdXVpZGQ6CisgICAtIGFkZCBjb21tZW50ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcGlkLCB0aWQgYW5kIGlkeCBiYWNrIHRvIG9iamVjdCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBjb3VudGVycyBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBwaWQgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNlZCB0eXBlcyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgZXhpdCBvbiBmYWlsZWQgcHRocmVhZF9jcmVhdGUoKSAgW0thcmVsIFpha10KKyAgIC0gZXJyIG1lc3NhZ2VzLCBhcmd2W10gcGFyc2luZyBhbmQgYW5vdGhlciBjbGVhbnVwcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGluY2x1ZGUgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgcmVhZGFiaWxpdHkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugb2JqZHVtcCBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSAoYmxraWQpIHVwZGF0ZSBkcmJkbWFuYWdlICBbS2FyZWwgWmFrXQorICAgLSAoY2FsKSB1cGRhdGUgVVMgd2VlayBudW1iZXJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgJHRvcF9idWlsZGRpciB0byAkUEFUSCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgLS1leGNsdWRlPTxsaXN0PiBmb3IgcnVuLnNoICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1za2lwLWxvb3BkZXZzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgSlNPTiBzZmRpc2sgZHVtcHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBibGtpZCBzY3JpcHQgdG8gdGVzdCB3aG9sZS1kaXNrIE1CUiBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY29sY3J0IHJlZ3Jlc3Npb24gdGVzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGRtZXNnIG11bHRpbGluZSBtZXNzYWdlIGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBkb2N1bWVudGF0aW9uIGFib3V0IGVudmlyb25tZW50IHZhcmlhYmxlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgZnNjay5taW5peCBjaGVja3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGZ1bGxwYXRoIHRlc3RzIHRvIHJlbmFtZS9zdWJkaXIgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGFkZCBoZXhkdW1wIGZyb20gR1BUICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbG9nZ2VyKDEpIGNvbW1hbmQgbGluZSBvcHRpb25zIHRlc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb2dnZXIoMSkgZXJyb3IgY29uZGl0aW9uIHRlc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBsb2dnZXIoMSkgam91cm5hbGQgdGVzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbG9nZ2VyKDEpIG1lc3NhZ2UgZm9ybWF0IHRlc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBvbGQgZHVtcCBmb3Igc2ZkaXNrICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2NyaXB0IG91dHB1dCBidWZmZXJpbmcgcmFjZSBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc2NyaXB0cmVwbGF5IHRlc3QgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNmZGlzayByZXNpemUgcmVncmVzc2lvbiB0ZXN0cyBmb3IgTUJSICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2ZkaXNrIHJlc2l6ZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNmZGlzayByZXNpemUgdGVzdHMgZm9yIEdQVCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1YnRlc3RzIGZvciBpbnZhbGlkIGxvZ2dlciBkZXZpdmUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIHRlc3RfZG1lc2cgdGhhdCBoYXMgZml4ZWQgYm9vdCB0aW1lICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB1ZGV2YWRtIHNldHRsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHV1aWRkIHRlc3QgcHJvZ3JhbSAgW0h1c2NoYWFtIEh1c3NhaW5dCisgICAtIGFkZCB2ZXJ5IGxvbmcgbW91bnQgbGluZSB0byBsaWJtb3VudCBtdGFiICBbS2VlcyBDb29rXQorICAgLSBhZGQgd2F5IHRvIGNvbnRyb2wgbWtmcy5taW5peCB0aW1lIHN0YW1wcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbHdheXMga2lsbCBoZWxwZXIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYXZvaWQgJj4+IGZvciBiYXNoIGNvbXBhdGliaWxpdHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2hlY2sgZG1lc2cgbWVzc2FnZSBjb2xvcmluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjaGVjayBzY3JpcHQgb3B0aW9ucyB3b3JrIGFzIGV4cGVjdGVkICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIHRpbWVzdGFtcCBmb3JtYXRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNvbmZpZy5oIGxpdmVzIGluIGJ1aWxkIGRpcmVjdG9yeSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkaXNhcm0gdGFpbGYgdGVzdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggY3JhbWZzL21rZnMgZm9yIEJFIGFuZCBkaWZmZXJlbnQgcGFnZXNpemVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBmZGlzay9ic2QgZm9yIHBwYzY0bGUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGdldG9wdCBmb3Igb2xkIGdsaWJjICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBraWxsL2FsbF9wcm9jZXNzZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGxvZ2dlciBkZXZpY2UgcGF0aG5hbWUgdG9vIGxvbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IG1pbml4IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtaW5peCB0ZXN0cyBmaWxlbmFtZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzZmRpc2sgR1BUIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCwgZG9uJ3QgY2FsbCB0c19kaWUgZnJvbSBzdWJzaGVsbCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbXByb3ZlIHJlYWRhYmlsaXR5IGZvciBmZGlzay9ic2QgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW50cm9kdWNlIFRTX0xPT1BfREVWUyBmb3IgY2xlYW51cCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbnRyb2R1Y2UgdHNfY2xlYW51cF9vbl9leGl0KCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbG9nZ2VyIHdpdGggc29jYXQgZGV2aWNlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGxvZ2dlciwgdmFsaWRhdGUgd3JpdHRlbiBzb2NrZXQgZGF0YSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBsb2dnZXIvZXJyb3JzIGRvZXMgbm90IHVzZSAtLW5vLWFjdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBsb29wIHRlc3RzLCBkb24ndCBjYWxsIHRzX2RpZSgpIHdpdGggREVWSUNFIHBhcmFtZXRlciAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtYWtlIGxpYm1vdW50IGNvbnRleHQgdGVzdHMgc2Vuc2l0aXZlIHRvIFVTRV9MSUJNT1VOVF9GT1JDRV9NT1VOVElORk8gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbGlibW91bnQgcHl0aG9uIGNvbnRleHQgdGVzdHMgc2Vuc2l0aXZlIHRvIFVTRV9MSUJNT1VOVF9GT1JDRV9NT1VOVElORk8gIFtLYXJlbCBaYWtdCisgICAtIG1vcmUgZXJyb3IgaGFuZGxpbmcgaW4gbW91bnQvbW92ZSAocmVmYWN0b3IpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1vcmUoMSkgZGVwZW5kcyBvbiB0ZXJtaW5hbCwgZm9yY2UgdG8gVEVSTT1saW51eCAgW0thcmVsIFpha10KKyAgIC0gbW91bnQvbW92ZSBhbHNvIHRlc3RzIGZpbmRtbnQgdnMuIG1vdW50cG9pbnQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbW91bnQvcmxpbWl0IHRyaWVzIHRvIHJlc3RvcmUgbXRhYiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBuZXZlciB1c2UgLW8gcGlwZWZhaWwgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gb3B0aW9uYWxseSBza2lwIHRlc3RzIHdoZXJlIGxvb3Agc3VwcG9ydCBpcyBuZWVkZWQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHByaXZhdGUyIGRpciBmcm9tIG1vdW50L21vdmUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB3YXJuaW5nIGZyb20gdGVzdCBvdXRwdXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVxdWlyZSB3aXBlZnMgZm9yIHNmZGlzay9ncHQgIFtLYXJlbCBaYWtdCisgICAtIHNjc2lfZGVidWcgdGVzdHMsIGRvbid0IGNhbGwgdHNfZGllKCkgd2l0aCBERVZJQ0UgcGFyYW1ldGVyICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNpbXBsaWZ5IGNvbW1vbiBsb2dnZXIgb3B0aW9ucyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzb21lIG1vcmUgbW91bnQgZXJyb3IgaGFuZGxpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc3RhcnQgc2NyaXB0L3JhY2UgdGVzdCBvbmx5IHdoZW4gLS1mb3JjZSBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIHRyeSBta2ZzICYgbW91bnQgYWxsIHN1cHBvcnRlZCBtaW5peCB2ZXJzaW9ucyAgW0thcmVsIFpha10KKyAgIC0gdHNfc2NzaV9kZWJ1Z19pbml0KCkgc2xlZXBzIGEgYml0IGVhcmxpZXIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXBkYXRlIGJ1aWxkLXN5cyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGZkaXNrIEJTRCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGxzY3B1IHRlc3RzIChkdWUgdG8gQ1BVIGZsYWdzIGluIG91dHB1dCkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzZmRpc2sgLS1kdW1wIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzdGF0aWMgYnVpbGQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIC0tbm8tYWN0IGZvciBsb2dnZXIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB0c19za2lwIGZvciBsb2dnZXIvam91cm5hbGQgIFtLYXJlbCBaYWtdCisgICAtIHZlcmlmeSBsb2dnZXIgcmV0dXJuIHZhbHVlICBbUnVlZGlnZXIgTWVpZXJdCit0ZXh0dWFsOgorICAgLSBhZGp1c3QgZ3JhbW1hciBhbmQgcHVuY3R1YXRpb24gb2Ygc29tZSBtZXNzYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQordG9vbHM6CisgICAtIGFkZCBlcnJfb29tKCkgdG8gc21hdGNoIG5vX3JldHVybl9mdW5jcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGhleGR1bXAgYmFkY29udigpIHRvIG5vcmV0dXJuIHNtYXRjaCBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGliZmRpc2sgZG9jcyB0byBrZXJuZWwub3JnIHJlbGVhc2UgZ2VuZXJhdG9yICBbS2FyZWwgWmFrXQorICAgLSBzdG9wIGNoZWNrbWFucy5zaCB2YWxpZGF0aW5nIGxpYnRvb2wgYnVpbGRzICBbU2FtaSBLZXJvbGFdCit0cmF2aXM6CisgICAtIGFkZCBNQUtFX0NIRUNLX09QVFMgIFtLYXJlbCBaYWtdCisgICAtIGluc3RhbGwgc29jYXQgPj0gMS43LjIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbW92ZSBpbnN0YWxsIHNjcmlwdCB0byAudHJhdmlzLWZ1bmN0aW9ucy5zaCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB3aGl0ZWxpc3QgdHJhdmlzKiBicmFuY2hlcyAgW1J1ZWRpZ2VyIE1laWVyXQordHJhdmlzZToKK3R1bmVscDoKKyAgIC0gcmVtb3ZlIGdldF92YWwoKSBpbiBmYXZvdXIgb2Ygc3RydG9sX29yX2VycigpICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBwcmVwcm9jZXNzb3IgZGlyZWN0aXZlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgcGFyc2Vfc3dpdGNoKCkgIFtTYW1pIEtlcm9sYV0KK3Vuc2hhcmU6CisgICAtIGFkZCAtLXByb3BhZ2F0aW9uLCB1c2UgTVNfUFJJVkFURSBieSBkZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyBwZXJzaXN0aW5nIG1vdW50IG5hbWVzcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHBlcnNpc3RpbmcgbmFtZXNwYWNlcyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGFuZ3VsYXIgYnJhY2tldHMgZnJvbSBsaXRlcmFsIGFyZ3VtZW50IGluIHVzYWdlIHRleHQgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBbbWFrZSBjaGVja2luY2x1ZGVzXSAgW0thcmVsIFpha10KK3dhbGw6CisgICAtIGRvIG5vdCB1c2UgYSB0ZW1wb3JhcnkgZmlsZS4gIFtLYXJlbCBaYWssIEphbm4gSG9ybl0KK3doZXJlaXM6CisgICAtIG1ha2UgIi1CTVMgPGRpcj4gLWYiIG1vcmUgb2J2aW91cyBpbiB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSB0ZWxsIHdoZW4gbWFuZGF0b3J5IG9wdGlvbiBpcyBtaXNzaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHRyaXZpYWwgc3BlbGxpbmcgYW5kIGdyYW1tYXIgZml4ICBbTWlrZSBQbGFjZV0KK3pyYW1jdGw6CisgICAtIGFkZCBNRU0tTElNSVQsIE1FTS1VU0VEIGFuZCBNSUdSQVRFRCBjb2x1bW5zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbGluayB0byBrZXJuZWwgZG9jdW1lbnRhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IC9zeXMvYmxvY2svenJhbTxpZD4vbW1fc3RhdCAgW0thcmVsIFpha10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjgtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yOC1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk1ZjY3ZgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjgtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNzI1IEBACitVdGlsLWxpbnV4IDIuMjggUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworTm93IGNmZGlzaywgc2ZkaXNrIGFuZCBmZGlzayB3aXBlIGFsbCBmaWxlc3lzdGVtIGFuZCBSQUlEIHNpZ25hdHVyZXMgd2hlbgorY3JlYXRpbmcgYSBuZXcgZGlzayBsYWJlbCBpbiBpbnRlcmFjdGl2ZSBtb2RlLiAgSXQncyBwb3NzaWJsZSB0byBjb250cm9sIHRoaXMKK2ZlYXR1cmUgd2l0aCAtLXdpcGVbPWF1dG98bmV2ZXJ8YWx3YXlzXS4gIEZvciBub24tdGVybWluYWxzIHRoZSBmZWF0dXJlIGlzCitkaXNhYmxlZCBieSBkZWZhdWx0LgorCitsc25zIC0tIHRoaXMgTkVXIENPTU1BTkQgbGlzdHMgaW5mb3JtYXRpb24gYWJvdXQgYWxsIGN1cnJlbnRseSBhY2Nlc3NpYmxlCituYW1lc3BhY2VzIG9yIGFib3V0IHRoZSBnaXZlbiBuYW1lc3BhY2UuCisKK1RoZSBjb21tYW5kIHNmZGlzayBzdXBwb3J0cyBuZXcgb3BlcmF0aW9ucyAtLWRlbGV0ZSwgLS1tb3ZlLWRhdGEgYW5kIC0tcmVvcmRlci4KKworVGhlIGNvbW1hbmQgYmxrZGlzY2FyZCBzdXBwb3J0cyBhIG5ldyBvcHRpb24gLS16ZXJvb3V0IHRvIHplcm8tZmlsbCByYXRoZXIgdGhhbgorZGlzY2FyZCBhIHNwZWNpZmllZCBhcmVhLgorCitUaGUgY29tbWFuZCBjYWwgc3VwcG9ydHMgYSBuZXcgb3B0aW9uIC0tc3BhbiB0byBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZworbXVsdGlwbGUgbW9udGhzIChlLmcuICJjYWwgLS1zcGFuIC0tbW9udGhzIDUiIHRvIGRpc3BsYXkgdHdvIG1vbnRocyBiZWZvcmUgYW5kCit0d28gbW9udGhzIGFmdGVyIHRoZSBjdXJyZW50IG1vbnRoKS4KKworVGhlIGNvbW1hbmQgY2hydCBzdXBwb3J0cyB0aGUgREVBRExJTkUgc2NoZWR1bGluZyBjbGFzcyBhbmQgdGhlIG5ldyBvcHRpb25zCistLXNjaGVkLXJ1bnRpbWUgLS1zY2hlZC1wZXJpb2QgYW5kIC0tc2NoZWQtZGVhZGxpbmUuCisKK1RoZSBjb21tYW5kIGxvZ2dlciBzdXBwb3J0cyBSRkMgNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgdGhyb3VnaCB0aGUgbmV3IG9wdGlvbnMKKy0tc2QtaWQgYW5kIC0tc2QtcGFyYW0uCisKK1RoZSBjb21tYW5kIGxvc2V0dXAgc3VwcG9ydHMgYSBuZXcgb3B0aW9uIC0tZGlyZWN0LWlvWz1vbnxvZmZdLgorCitUaGUgY29tbWFuZCBsc2JsayBhbGxvd3MgdG8gc29ydCBvdXRwdXQgYnkgdW5wcmludGVkIGNvbHVtbnMgKGUuZy4gbHNibGsKKy0tb3V0cHV0IE5BTUUgLS1zb3J0IFNJWkUpLgorCitUaGUgY29tbWFuZCBtb3VudCBhcHBsaWVzIHRoZSBub2ZhaWwgbW91bnQgb3B0aW9uIHRvIEVOT01FRElVTSBlcnJvcnMuCisKK1RoZSBjb21tYW5kcyBuc2VudGVyIGFuZCB1bnNoYXJlIHN1cHBvcnQgYSBuZXcgb3B0aW9uIC0tY2dyb3VwIGZvciB3b3JrIHdpdGggCitjZ3JvdXBzIG5hbWVzcGFjZXMgKENMT05FX05FV0NHUk9VUCkuCisKK1RoZSBsaWJyYXJ5IGxpYm1vdW50IGhhcyBiZWVuIGltcHJvdmVkIHRvIHByb3Blcmx5IGRldGVjdCBhbHJlYWR5IG1vdW50ZWQgYnRyZnMKK3N1YnZvbHVtZXMuCisKK1RoZSBsaWJyYXJ5IGxpYnNtYXJ0Y29scyBoYXMgYmVlbiBtYXNzaXZlbHkgaW1wcm92ZWQgdG8gcHJpbnQgdGFibGUgcmFuZ2VzLAorbXVsdGktbGluZSBjZWxscywgdGFibGUgdGl0bGVzIGFuZCB0byBzdXBwb3J0IGNvbnRpbnVvdXMgcHJpbnRpbmcuCisKK1RoZSBwYWNrYWdlIGJ1aWxkIHN5c3RlbSBhbmQgY29kZSBoYXZlIGJlZW4gaW1wcm92ZWQgdG8gYmUgbW9yZSBwb3J0YWJsZSB0bworbm9uLUxpbnV4IHN5c3RlbXMgKEJTRCwgT1NYKS4KKworVGhlIHBhY2thZ2UgZG9lcyBub3QgcHJvdmlkZSBmYWxsYmFjayBzb2x1dGlvbnMgZm9yIG9wZW5hdC1mYW1pbHkgZnVuY3Rpb25zCithbnltb3JlLgorCitUaGUgcHl0aG9uIGJpbmRpbmcgZm9yIGxpYnNtYXJ0Y29scyBpcyBhdmFpbGFibGUgaW4gc2VwYXJhdGUgcHJvamVjdCBhdAoraHR0cHM6Ly9naXRodWIuY29tL2lnbmF0ZW5rb2JyYWluL3B5dGhvbi1zbWFydGNvbHMuCisKKworU2VjdXJpdHkgaXNzdWVzCistLS0tLS0tLS0tLS0tLS0KKworQ1ZFLTIwMTYtMjc3OQorCitUaGlzIHNlY3VyaXR5IGlzc3VlIGlzIE5PVCBGSVhFRCB5ZXQuICBJdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSBpb2N0bAorVElPQ1NUSSBieSBzZXRzaWQoKSBvbmx5LiAgVW5mb3J0dW5hdGVseSwgc2V0c2lkKCkgaGFzIHdlbGwtZGVmaW5lZCB1c2UgY2FzZXMKK2luIHN1KDEpIGFuZCBydW51c2VyKDEpIGFuZCBhbnkgY2hhbmdlcyB3b3VsZCBpbnRyb2R1Y2UgcmVncmVzc2lvbnMuICBJdCBzZWVtcword2UgbmVlZCBhIGJldHRlciB3YXkgLS0gaWRlYWxseSBhbm90aGVyIGlvY3RsIChvciB3aGF0ZXZlciBpcyBzdXBwb3J0ZWQgYnkgdGhlCitrZXJuZWwpIHRvIGRpc2FibGUgVElPQ1NUSSB3aXRob3V0IHNldHNpZCgpLgorCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjI3IGFuZCB2Mi4yOAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4yNy4xIFtOb3YgMTEgMjAxNV0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNy92Mi4yNy4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNy92Mi4yNy4xLUNoYW5nZUxvZworCisKK0NoYW5nZXMgYmV0d2VlbiB2Mi4yNyBhbmQgdjIuMjgKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKworYWdldHR5OgorICAgLSBhZGQgc3VwcG9ydCBmb3IgXGUgaW4gaXNzdWUgZmlsZSB0byBwcmludCBcMDMzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBpZ25vcmUgbmV0bGluayBvbiBzZWxlY3QoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNob3duKDMpLCBjaG1vZCgzKSBhbmQgb3BlbigzKSByYWNlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBhdG9pKCkgZnJvbSBhcmd2W10gcGFyc2luZyBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgXGV7bmFtZX0gZm9yIGlzc3VlIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHR3ZWFrIGZvcm1hdHRpbmcgYW5kIHNvbWUgd29yZGluZ3MgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCitiYXNoLWNvbXBsZXRpb246CisgICAtIGFkZCBjYWwgLS1zcGFuICBbS2FyZWwgWmFrXQorICAgLSBjdXJseSBicmFjZSBtaXNzZWQgZm9yIGZpbmRtbnQgIFtBbGV4YW5kZXIgS3VsZXNob3ZdCisgICAtIGZzY2suY3JhbWZzLCBpc29zaXplICBmaW5kIGZpbGVzIGFuIGFyZ3VtZW50ICBbU2FtaSBLZXJvbGFdCisgICAtIGZzdHJpbSAgdXNlIG1vdW50cG9pbnQsIG5vdCBkZXZpY2UgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGlwY21rICBhZGQgbWlzc2luZyBjb21wbGV0aW9uIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbHNsb2dpbnMgIGFkZCBtaXNzaW5nIGNvbXBsZXRpb24gZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBsc25zICBhZGQgbWlzc2luZyBjb21wbGV0aW9uIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGNocnQgY29tcGxldGlvbiAgW1NhbWkgS2Vyb2xhXQorYmxrZGlzY2FyZDoKKyAgIC0gYWRkIC0temVyb291dCAoQkxLWkVST09VVCBpb2N0bCkgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHJlcG9ydCAiemVybyByYW5nZSIgYXQgdGhlIGVuZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggc3RhdHMgcmVwb3J0aW5nIChvZmYgYnkgb25lKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdGltZXZhbCBjb21wYXJpc29uIGluY2x1c2l2ZSB1c2VjcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzbGljZSB1cCB0aGUgcmVjZW50bHkgY2hhbmdlZCB1c2FnZSB0ZXh0ICBbQmVubm8gU2NodWxlbmJlcmddCitibGtpZDoKKyAgIC0gZG9uJ3QgbWFyayB6ZnMgYXMgUkFJRCAgW0thcmVsIFpha10KK2Jsa2lkLCB1dWlkZCwgdXVpZGdlbjoKKyAgIC0gYXNzdW1lIGdldG9wdC5oIGFuZCBnZXRvcHQuaCBhcmUgYXZhaWxhYmxlICBbU2FtaSBLZXJvbGFdCitidWlsZC1zeXM6CisgICAtIFByb3Blcmx5IG9yZGVyIGluc3RhbGwgZGVwZW5kZW5jaWVzIG9mIHB5bGlibW91bnQgIFtGaWxpcGUgQnJhbmRlbmJ1cmdlcl0KKyAgIC0gYWRkIC0tZGlzYWJsZS1pcGNybSAtLWRpc2FibGUtaXBjcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgLS1kaXNhYmxlLWxvZ2dlciBhbmQgLS1kaXNhYmxlLWxzbG9naW5zICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBhbmQgdXNlIG9wZW5hdCBidWlsZCBjb25kaXRpb25hbHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGxzbnMgdG8gZ2l0aWdub3JlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyAibm90IGZvdW5kIiBzdHJpbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFsd2F5cyBhZGQgQU1fQ0ZMQUdTICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFsd2F5cyB1c2UgZ2xvYmFsIExEQUREICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGJ1aWxkX2luaXQgc2hvdWxkIGNoZWNrIGZvciBmbG9jayAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBidW1wIGFsc28gUEFDS0FHRV9WRVJTSU9OX1JFTEVBU0UgbnVtYmVyICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBsaW5rZXIgc3VwcG9ydCBmb3IgdmVyc2lvbiBzY3JpcHRzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNocnQgcmVxdWlyZXMgYSBzY2hlZF9zZXQqIGZ1bmN0aW9uICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRpc2FibGUgbG9naW4tdXRpbHMgaWYgc2hhZG93Lmggb3IgdXRtcC5oIGlzIG1pc3NpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZGlzYWJsZSB1bnVzZWQgcGFyYW1ldGVyIHdhcm5pbmdzIGZvciBzb21lIHRlc3QgcHJvZ3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IFtnXWxpYnRvb2xpemUgdmVyc2lvbiBmb3IgT1NYICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBhZ2FpbiBVTF9TQ0FORl9UWVBFX01PRElGSUVSICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBjYXAtbmcgY29uZmlndXJlIGZsYWcgaGFuZGxpbmcgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZml4IGlmLi5lbmRpZiBmb3IgKl9sYV9MREZMQUdTICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGlidG9vbGl6ZSBmb3IgT1NYICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB0eXBvICBbUm9tYWluIE5hb3VyXQorICAgLSBmaXggdHlwbyBhbmQgbW9yZSBhbGwgUlQgdG8gdGhlIHNhbWUgcGxhY2UgIFtLYXJlbCBaYWtdCisgICAtIGhhcHB5IG5ldyB5ZWFyLi4uICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgdmltIC5zd3AgZmlsZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW1wcm92ZSB1dWlkZCBhbmQgc2NyaXB0IGJ1aWxkIGNvbmRpdGlvbnMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW5zdGFsbCBtaXNzaW5nIGJhc2ggY29tcGxldGlvbnMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbm8gbmVlZCB0byB1bi1pZ25vcmUgdHJhY2tlZCBmaWxlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBwb3J0YWJsZSB1c2FnZSBvZiBmaW5kIGNvbW1hbmQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcHlsaWJtb3VudCwgbW91bnQgY29udGV4dCBpcyBMaW51eCBvbmx5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbGVhc2UrKyAodjIuMjgtcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yOC1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgQU1fQ09ORElUSU9OQUwgZnJvbSBVTF9DSEVDS19TWVNDQUxMICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGNhbCBzb3VyY2VzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBsaWJ0ZXJtY2FwIHN1cHBvcnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc29tZSBsaWJtb3VudCB0ZXN0IHByb2dzIGFyZSBMaW51eCBvbmx5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHVzZSAkUEtHX0NPTkZJRyAgW0thcmVsIFpha10KKyAgIC0gdXNlIEFDX1BST0dfTUtESVJfUCBhbmQgcmVtb3ZlIGEgZmV3IGdudWlzbXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXNlIFJFQUxUSU1FX0xJQlMgIFtLYXJlbCBaYWtdCitidWlsZHN5czoKKyAgIC0gZml4IHN0YXRpYyBjb25maWd1cmF0aW9uIGFuZCBidWlsZGluZyAgW0xhZGEgVHJpbWFzb3ZhXQorY2FsOgorICAgLSBBZGQgLS1zcGFuIG9wdGlvbiAgW0RlaXpdCisgICAtIFRyYWNrIGRhdGUgc3BhbiBpbmRlcGVuZGVudGx5IGZyb20gbW9udGhzX2luX3JvdyAgW0RlaXpdCisgICAtIHJlbW92ZSBsaWJ0ZXJtY2FwIGFyZ3VtZW50cyB0byBteV90Z2V0c3RyKCkgIFtTYW1pIEtlcm9sYV0KK2NmZGlzazoKKyAgIC0gdXNlIG5ldyBsaWJzbWFydGNvbHMgZnVuY3Rpb25hbGl0eSB0byBmaXggb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSB3aXBlIGRldmljZSBpZiBjcmVhdGUgYSBuZXcgbGFiZWwgIFtLYXJlbCBaYWtdCitjaGZuOgorICAgLSBpbXByb3ZlIGZvcm1hdHRpbmcgYW5kIHdvcmRpbmcgb2YgdGhlIG1hbnBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2NocnQ6CisgICAtIGFkZCBjb250cm9sIHN0cnVjdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIFNDSEVEX0RFQURMSU5FICBbS2FyZWwgWmFrXQorICAgLSBmaXggY2FzZSBTQ0hFRF9SUiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtYWtlIC0tc2NoZWQtKiBzaG9ydCBvcHRpb25zIHRvIHJlcXVpcmUgYW4gYXJndW1lbnQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbWFrZSBtYW4gcGFnZSBtb3JlIHN0cnVjdHVyZWQgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdXNhZ2UgbW9yZSByZWFkYWJsZSAgW0thcmVsIFpha10KKyAgIC0gb3V0cHV0IGZ1bmN0aW9uIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIHdvcmRzIGFuZCB0d2VhayBzb21lIHBocmFzaW5ncyBpbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVzdG9yZSByZW1vdmVkIGlmZGVmIFNDSEVEX1JFU0VUX09OX0ZPUksgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2V0IGZ1bmN0aW9uIHJlZmFjdG9yaW5nICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc2NoZWRfZ2V0YXR0cigpICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc2NoZWRfc2V0YXR0cigpIGlmIGF2YWlsYWJsZSAgW0thcmVsIFpha10KK2NvbGNydDoKKyAgIC0gbWlub3IgY29zbWV0aWMgY2hhbmdlcyAgW0thcmVsIFpha10KKyAgIC0gcmVpbXBsZW1lbnRhdGlvbiAgW1NhbWkgS2Vyb2xhXQorY29sdW1uOgorICAgLSBpZ25vcmUgbm9uLXByaW50YWJsZSBjaGFycyAgW0thcmVsIFpha10KK2N0cmxhbHRkZWw6CisgICAtIGRpc3BsYXkgc2V0dGluZyB3aGVuIHJhbiB3aXRob3V0IGFyZ3VtZW50cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGVycm9yIG1lc3NhZ2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB0d2VhayB0aGUgd29yZGluZyBpbiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIHBhdGguaCB0byByZWFkIC9wcm9jICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcmVib290KCkgcHJvdmlkZWQgYnkgbGliYywgYXNzdW1pbmcgaXQgaXMgMS1hZGljLiAgW0Nhc3BlciBUaS4gVmVjdG9yXQorZG1lc2c6CisgICAtIGltcHJvdmUgZ3JhbW1hciBhbmQgY29uc2lzdGVuY3kgb2YgdXNhZ2UgdGV4dCAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorZG1zZWc6CisgICAtIHNsaWdodGx5IGltcHJvdmUgcHVuY3R1YXRpb24gYW5kIGZvcm1hdHRpbmcgb2YgdGhlIG1hbnBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2RvYXA6CisgICAtIGZpeCBkb3dubG9hZCBVUkwgIFtLYXJlbCBaYWtdCitkb2NzOgorICAgLSBhZGQgbm90ZSBhYm91dCBDTE9ORV9ORVdDR1JPVVAgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgbGlic21hcnRjb2xzIFB5dGhvbiBiaW5kaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdG8gVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwb3MgZm91bmQgYnkgY29kZXNwZWxsICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGltcHJvdmUgZ3JhbW1hciBhbmQgd29yZGluZyBpbiB0aGUgMi4yOCByZWxlYXNlIG5vdGVzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1pc2NlbGxhbmVvdXMgdGlueSB0d2Vha3Mgb2YgbWFuIHBhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIFRPRE8gZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGN0cmxhbHRkZWwuOCBtYW4gcGFnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgdjIuMjgtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorZXhlY19zaGVsbDoKKyAgIC0gcHJldmVudCBiYXNlbmFtZSBmcm9tIG1vZGlmeWluZyBlbnYgIFtSdWVkaWdlciBNZWllcl0KK2ZhbGxvY2F0ZToKKyAgIC0gaW1wcm92ZSBzeW5vcHNpcyBhbmQgc3BlbGxpbmcgaW4gbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gcmVzdG9yZSBtYW4tcGFnZSBjb250ZW50IHRoYXQgd2FzIGRlbGV0ZWQgaW4gY29tbWl0IDViMDMzYmZkICBbQmVubm8gU2NodWxlbmJlcmddCitmZGZvcm1hdDoKKyAgIC0gZml4IGJsb2NrIGRldmljZSBvcGVuIHJhY2UgIFtTYW1pIEtlcm9sYV0KK2ZkaXNrOgorICAgLSBhZGQgLS13aXBlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGhlIGdyYW1tYXIgb2YgYW4gb3B0aW9uIGRlc2NyaXB0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCB3YXJuaW5nLCBpbmNvbXBhdGlibGUgcG9pbnRlciB0eXBlcyBwYXNzaW5nICd1aW50NjRfdCAqJyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggd2FybmluZywgdW5pbml0aWFsaXplZCB2YXJpYWJsZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtYWtlICdmJyBjb21tYW5kIG1vcmUgdmVyYm9zZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgYXNzaWdubWVudCBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgaW5jbHVkZSBzeXNmcy5oICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHN1biwgdW5kZWYgSEFWRV9RU09SVF9SIGZvciBub24tTGludXggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdG8gcmVjb2duaXplIEludGVsIFJhcGlkIFN0YXJ0IGhpYmVybmF0aW9uIHBhcnRpdGlvbiAgW0rDtnJnIEplbmRlcmVrXQorICAgLSB0byByZWNvZ25pemUgcGFydGl0aW9uIHR5cGUgMHhFQSAoUnVmdXMpICBbSsO2cmcgSmVuZGVyZWtdCitmZGlzaywgY2ZkaXNrLCBzZmRpc2s6CisgICAtIGltcHJvdmUgdGhlIGdyYW1tYXIgb2YgdGhyZWUgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2ZkaXNrLCBzZmRpc2s6CisgICAtIGFkanVzdCBzb21lIGZvcm1hdHRpbmcgaW4gdGhlIG1hbiBwYWdlcyAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGp1c3QgdGhlIHdvcmRpbmcgb2YgdGhlIC0td2lwZSBvcHRpb24gIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2ZpbmRtbnQ6CisgICAtIGltcHJvdmUgZm9ybWF0dGluZyBhbmQgd29yZGluZyBvZiB0aGUgbWFuIHBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXNlIHNjb2xzX3RhYmxlX3ByaW50X3JhbmdlKCkgZm9yIC0tcG9sbCAgW0thcmVsIFpha10KK2ZzY2s6CisgICAtIHJldGlyZSBzdGF0KDMpIHdoZW4gYWNjZXNzKDMpIGRvZXMgYmV0dGVyIGpvYiAgW1NhbWkgS2Vyb2xhXQorZnNjay5taW5peDoKKyAgIC0gZml4IHYzIHZlcnNpb24gb2Zmc2V0ICBbUnVlZGlnZXIgTWVpZXJdCitmc3RyaW06CisgICAtIGEgZmV3IHRpbnkgdHdlYWtzIG9mIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhZGQgcmVmZXJlbmNlIHRvIGJsa2Rpc2NhcmQgIFtLYXJlbCBaYWtdCisgICAtIHN5c3RlbWQgdGltZXIgdW5pdHMgc2hvdWxkIGJlIFdhbnRlZEJ5PXRpbWVycy50YXJnZXQgIFtQZXRlciBIb2VnXQorZ2V0b3B0OgorICAgLSBmaXggLW4gbmFtZSBmb3IgQlNEICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1ha2Ugc3VyZSBzZXRwcm9nbmFtZSBwcm92aWRlZCBieSBub24tTGludXggc3lzdGVtICBbS2FyZWwgWmFrXQoraGV4ZHVtcDoKKyAgIC0gY2VydGFpbiBsb25nIG9wdGlvbnMgc2hvdWxkIG5vdCBhY2NlcHQgYXJndW1lbnRzICBbUGhpbCBSdWZmd2luZF0KKyAgIC0gZml4IGEgdHlwbyBhbmQgdHdlYWsgc29tZSB3b3JkaW5ncyBpbiB0aGUgbWFucGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQoraHdjbG9jazoKKyAgIC0gY2hhbmdlIGF1ZGl0IG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmb3JtYXQgc3BlY2lmaWVyIFtjcHBjaGVja10gIFtCb3JpcyBFZ29yb3ZdCisgICAtIHJlbW92ZSBleHRyYSBzcGFjZSBmcm9tIC0tc2hvdyBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsYWJzKCkgZm9yIGxvbmcgIFtLYXJlbCBaYWtdCitod2Nsb2NrLmMsIGh3Y2xvY2suOC5pbjoKKyAgIC0gbmV3IC0tc2hvdyBmb3JtYXQgIFtKIFdpbGxpYW0gUGlnZ290dF0KK2luY2x1ZGU6CisgICAtIGFkZCBtaXNzaW5nIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBpbmNsdWRlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjaGVjayBmb3Igc3lzL3N5c21hY3Jvcy5oICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBzeXMvc3lzaW5mby5oICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1vdmUgc3lzL3N5c21hY3Jvcy5oIHRvIGMuaCAgW0thcmVsIFpha10KKyAgIC0gcHJvdmlkZSBNQVBfQU5PTllNT1VTIG9uIE9TWCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgbm93IHVzZWxlc3MgbGludXhfcmVib290LmguICBbQ2FzcGVyIFRpLiBWZWN0b3JdCisgICAtIHJlbW92ZSB1bnVzZWQgbW50ZW50LmggIFtSdWVkaWdlciBNZWllcl0KK2luY2x1ZGUvYml0b3BzOgorICAgLSBhZGQgY2FzdHMgdG8gYnN3YXAgZnVuY3Rpb25zICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGF2b2lkIGZhbGxiYWNrcyBmb3IgbW9yZSBzeXN0ZW1zICBbUnVlZGlnZXIgTWVpZXJdCitpbmNsdWRlL2ZpbGV1dGlsczoKKyAgIC0gYWRkIGlzX3NhbWVfaW5vZGUoKSBjaGVjayAgW1NhbWkgS2Vyb2xhXQoraW5jbHVkZS9wdC1tYnItcGFydG5hbWVzOgorICAgLSByZW1vdmUgJ3wnIGZyb20gcGFydGl0aW9uIHR5cGUgbmFtZSAgW0thcmVsIFpha10KK2lwY3M6CisgICAtIC0tc2htZW1zLCB1cHdhcmQvYmFja3dhcmQgY29tcGF0aWJpbGl0eSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjb25zb2xpZGF0ZSBvdXRwdXQgaGVhZGVyIHByaW50aW5nICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBpcGNfc2VtX2dldF9saW1pdHMoKSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzdGF0aWMgYW5hbHl6ZXIgaGFwcHkgW2NsYW5nIGFuYWx5emVdICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN1cmUgdG8gcGFyc2Ugd2hvbGUgbGluZXMgZm9yIHNobV9kYXRhICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNob3cgZ2lkIGluc3RlYWQgb2YgdWlkICBbSHVzaGFuIEppYV0KKyAgIC0gdWxvbmcgLT4gdW5zaWduZWQgbG9uZyAgW1J1ZWRpZ2VyIE1laWVyXQoraXNvc2l6ZToKKyAgIC0gc3RvcCB1bm1lYW5pbmdmdWwgcHJpbnRpbmcgZXJybm8gbWVzc2FnZSAgW1NhbWkgS2Vyb2xhXQorbGFzdDoKKyAgIC0gZGlzcGxheSBpbnB1dCBmaWxlIGluIHVzYWdlKCkgYWNjb3JkaW5nIHRvIGNvbW1hbmQgbmFtZSAgW1NhbWkgS2Vyb2xhXQorbGliOgorICAgLSBkZWZpbmUgTE9HSU5fTkFNRV9NQVggZmFsbGJhY2sgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGlzbW91bnRlZCBpbmNsdWRlcyBmb3IgRnJlZUJTRCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdW51c2VkIHBhcmFtZXRlcnMgYW5kIHZhcmlhYmxlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbmNsdWRlIHN0cnV0aWxzLmggZm9yIG1lbXBjcHkoKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbmNsdWRlIHN5cy9zdGF0LmggZm9yIHN0cnVjdCBzdGF0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1vdmUgZm9wZW5fYXQoKSB0byBmaWxldXRpbHMuaCwgcmVtb3ZlIGF0LmggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcHJvdmlkZSBmYWxsYmFjayBpZiBta29zdGVtcCgzKSBtaXNzaW5nICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBvcGVuYXQgZmFsbGJhY2sgZnVuY3Rpb25zIChpbmNsdWRlL2F0LmgpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVuYW1lIHN0cm1vZGUoKSBhbmQgc2V0bW9kZSgpICBbUnVlZGlnZXIgTWVpZXJdCitsaWIvYmxrZGV2OgorICAgLSBhZGQgb3Blbl9ibGtkZXZfb3JfZmlsZSgpIGZ1bmN0aW9uICBbU2FtaSBLZXJvbGFdCitsaWIvY29sb3I6CisgICAtIGFkZCBtb3JlIEVTQyBzZXEuICBbS2FyZWwgWmFrXQorbGliL2NyYzMyOgorICAgLSBkb24ndCByZXF1aXJlIHRvIG1vZGlmeSBHUFQgaGVhZGVyICBbS2FyZWwgWmFrXQorbGliL2xpbnV4X3ZlcnNpb246CisgICAtIGF2b2lkIG1ham9yIGFuZCBtaW5vciBzaGFkb3dpbmcgIFtLYXJlbCBaYWtdCitsaWIvbWJzYWxpZ246CisgICAtIGZpeCB3YXJuaW5ncyB3aGVuIGNvbXBpbGUgd2l0aG91dCB3aWRlY2hhcnMgIFtLYXJlbCBaYWtdCitsaWIvcGF0aDoKKyAgIC0gaWZkZWYgcGF0aF9zZXRfcHJlZml4KCkgbGlrZSBpbiBwYXRoLmggIFtSdWVkaWdlciBNZWllcl0KK2xpYi9zdHJ1dGlsczoKKyAgIC0gYWRkIG1vcmUgRVJBTkdFIG1lc3NhZ2VzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBlcnJubyB1c2FnZSBpbiBzdHJ0b2ludCBmdW5jdGlvbnMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcGFyc2Vfc2l6ZSgpLCBzeW5jIGVycm5vIGFuZCByZXR1cm4gdmFsdWUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXNlIGludCBmb3IgZmdldGMoKSAgW0thcmVsIFpha10KK2xpYi9zdHJ2OgorICAgLSBhZGQgc3Rydl9leHRlbmR2KCkgIFtLYXJlbCBaYWtdCitsaWIvc3lzZnM6CisgICAtIG1ha2Ugc3lzZnNfZ2V0X2Rldm5hbWUoKS9ibGtpZF9kZXZub190b193aG9sZWRpc2soKSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KK2xpYi90dHk6CisgICAtIFBhc3MgZGVmYXVsdCB3aWR0aCB0byBnZXRfdGVybWluYWxfd2lkdGgoKSAgW0JvcmlzIEVnb3Jvdl0KK2xpYmJsa2lkOgorICAgLSAocHJvbWlzZSByYWlkKSBjbGVhbnVwIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtICh6ZnMpIGFkZCBjYXN0IHRvIGZpeCBVQiBbY3BwY2hlY2tdICBbQm9yaXMgRWdvcm92XQorICAgLSAoemZzKSBrZWVwIGJ1ZmZlcmVzIHJlYWQtb25seSAgW0thcmVsIFpha10KKyAgIC0gVXBkYXRlIGZvciBuZXdlciBiY2FjaGUgc3VwZXJibG9ja3MgIFtLZW50IE92ZXJzdHJlZXRdCisgICAtIGFkZCByZWFkKCkgYmFzZWQgZmFsbGJhY2sgZm9yIGNoYXIgKFVCSSkgZGV2cyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgbGltaXRzIGJlZm9yZSBpbmRleGluZyBhcnJheSBbY3BwY2hlY2tdICBbQm9yaXMgRWdvcm92XQorICAgLSBkb24ndCBpbmNsdWRlIGVuZGlhbi5oICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBidWZmZXJzIG1hcHBpbmcgb24gMzJiaXQgYXJjaHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1ha2UgWEZTIExvZyB2aXNpYmxlIGZvciB3aXBlZnMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbWluaXggcHJvYmVyIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSByZXZlcnQgbW1hcCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGludGVybmFsbHkgdWludDY0X3QgZm9yIG9mZnNldHMgYW5kIHNpemVzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbW1hcCgpIHJhdGhlciB0aGFuIHJlYWQoKSAgW0thcmVsIFpha10KK2xpYmJsa2lkLGxpYm1vdW50OgorICAgLSBEbyBub3QgdXNlIHZvaWQqIGluIGNhbGN1bGF0aW9ucyBbY3BwY2hlY2tdICBbQm9yaXMgRWdvcm92XQorbGliY29tbW9uOgorICAgLSBkb24ndCBpbmNsdWRlIHN5c2luZm8uaCAgW1J1ZWRpZ2VyIE1laWVyXQorbGliZmRpc2s6CisgICAtIChic2QpIGZpeCBzcGVsbGluZyBpbiB3YXJuaW5nIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gKGdwdCkgY29udHJvbCByYW5nZXMgaW4gc2V0X3BhcnRpdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgcmV3b3JkIHR3byBlcnJvciBtZXNzYWdlcyB3aXRoIGEgc2Vuc2Ugb2YgZGlyZWN0aW9uICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIEFkZCBHUFQgdHlwZSBHVUlEIGZvciBJdGFuaXVtIExpbnV4IHJvb3QgIFtBbmRyZXcgV2lsY294XQorICAgLSBEZXRlY3Qgb3V0LW9mLXNwYWNlIHdoZW4gYWRkaW5nIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiAgW0lhbiBXaWVuYW5kXQorICAgLSBGaXggb3JkZXIgb2YgQy9IL1MgbnVtYmVycyBvdXRwdXQgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIGFkZCBBUEkgdG8gY29udHJvbCBzaWduYXR1cmVzIHdpcGluZyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgYnJlYWsgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtb3JlIGRlYnVnIG1lc3NhZ2UgdG8gcmVzaXplIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5ncyBbLVdtaXNzaW5nLXByb3RvdHlwZXNdICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBtaXNzaW5nIHN5bWJvbCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggcGFydGl0aW9uIG1vdmUvcmVzaXplIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZWYuY291bnRpbmcgaW4gZmRpc2tfYXBwbHlfc2NyaXB0KCkgW2NsYW5nIGFuYWx5emVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZml4IHdhcm5pbmdzLCAicmVkdW5kYW50IHJlZGVjbGFyYXRpb24iIFstV3JlZHVuZGFudC1kZWNsc10gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIGlmZGVmIEhESU9fR0VUR0VPICBbUnVlZGlnZXIgTWVpZXJdCitsaWJtb3VudDoKKyAgIC0gKG1vbml0b3IpIGRvbid0IGNoZWNrIGZvciByZWd1bGFyIG10YWIgIFtLYXJlbCBaYWtdCisgICAtIChtb25pdG9yKSByZW1vdmUgdW5uZWNlc3NhcnkgZXBvbGwgRVBPTExQUkkgIFtLYXJlbCBaYWtdCisgICAtIEZpeCBwb3NzaWJsZSBOVUxMIGRlcmVmZXJlbmNlIGluIGdldF9idHJmc19mc19yb290KCkgIFtLYXJlbCBaYWtdCisgICAtIFR5cG8gZml4ICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gYWRkICdmb3JjZS1tb3VudGluZm8nIHRvIGZlYXR1cmVzIGxpc3QsIGltcHJvdmUgZGVidWcgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjZ3JvdXAyIHBzZXVkbyBGUyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbW1lbnQsIHJlbW92ZSBUT0RPIGl0ZW0gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsb29wIHRvIGRlYnVnIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1udF9mc19zZXRfcHJpb3JpdHkoKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjbGVhbnVwIGJ0cmZzLmMgaGVhZGVyICBbS2FyZWwgWmFrXQorICAgLSBjb2RlIHJlLWluZGVudGF0aW9uICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gY29uc29saWRhdGUgYnRyZnMgc3R1ZmYsIG1ha2UgaXQgbW9yZSBwb3J0YWJsZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaW5jbHVkZSBsaWJpby5oICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBpcy1tb3VudGVkIGNoZWNrIGZvciBidHJmcyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbWxlYWsgaW4gbW50X3ByZXR0eV9wYXRoKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtbnRfdGFibGVfaXNfZnNfbW91bnRlZCgpIGZvciBsb29wZGV2ICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQoKSBsb29wZGV2IHVzZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHRhcmdldCByZXNvbHZpbmcgZm9yIGJ0cmZzIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBmaXggdWlkPSBhbmQgZ2lkPSB0cmFuc2xhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZm9sbG93IGRvY3Mgd2l0aCBwYXJzZS1lcnJvciBjYWxsYmFjayByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gaGFuZGxlIGJ0cmZzIGRlZmF1bHQgc3Vidm9sdW1lIG1vdW50ICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gaW1wcm92ZSBjb252ZXJzaW9uIGZyb20gcm9vdD0gdG8gdGhlIGRldm5hbWUgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgYnRyZnMgc3Vidm9sIGNvZGUgcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIHJlc3VsdCBvZiBvcGVyYXRpb24gaXMgZ2FyYmFnZSBvciB1bmRlZmluZWQgW2NsYW5nIGFuYWx5emVdICBbS2FyZWwgWmFrXQorICAgLSBydW4gYnRyZnMgc3Vidm9sIGNoZWNrcyBmb3IgImF1dG8iIGZzIHR5cGUgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBydW4gYnRyZnMgc3Vidm9sIGNoZWNrcyBmb3IgInN1YnZvbGlkIiBvcHRpb24gIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSB1c2UgZnN0YXRhdChBVF9OT19BVVRPTU9VTlQpIGZvciBtb3VudHBvaW50cyAgW0thcmVsIFpha10KK2xpYnNtYXJ0Y29sczoKKyAgIC0gYWRkICdTaW5jZScgdGFnIGZvciBndGtkb2MgZm9yIHNvbWUgZnVuY3Rpb25zICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIEpTT04gdG8gdGhlIHRlc3QgYXBwbGljYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTQ09MU19GTF9ISURERU4gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZXcgbWV0aG9kcyB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgdGl0bGUgIFtJZ29yIEduYXRlbmtvXQorICAgLSBhZGQgbmV3IGZ1bmN0aW9ucyB0byBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2FtcGxlLXNjb2xzLWNvbnRpbnVvdXMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzYW1wbGVzIGRpcmVjdG9yeSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNjb2xzX2NvbHVtbl9pc19oaWRkZW4gaW50byBzeW0gZmlsZSAgW0lnb3IgR25hdGVua29dCisgICAtIGFkZCBzY29sc19jb2x1bW5faXNfd3JhcCB0byBkb2NzICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIHNjb2xzX3RhYmxlX2VuYWJsZV9ub3dyYXAoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNjb2xzX3RhYmxlX3ByaW50X3JhbmdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0aXRsZSB0byB0aGUgdGVzdCBhcHBsaWNhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHdyYXAuYyBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHJlZHVjZSB0cmVlIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHNldCBkYXRhIGJ5IHJlZmVyZW5jZSB0byBsaWJzY29sc19jb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIGJlIHN1cmUgY29sdW1uIGlzIHVudXNlZCAgW0thcmVsIFpha10KKyAgIC0gZG9jdW1lbnQgdjIuMjcgc3ltYm9scyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgbG9vc2UgY29sb3JzIHdoZW4gd3JhcHBpbmcgIFtJZ29yIEduYXRlbmtvXQorICAgLSBkb24ndCBzb3J0IGlmIGNtcGZ1bmMoKSBpcyBub3Qgc2V0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB0cnkgdG8gYWxpZ24gdGl0bGUgaWYgaXQncyBtb3JlIHRoYXQgdGVybSAgW0lnb3IgR25hdGVua29dCisgICAtIGRvbid0IHVzZSBmcHJpbnRmKCkgd2hlbiBjb3VudCBjZWxscyAgW0thcmVsIFpha10KKyAgIC0gZmlsbCB3cmFwcGVkIGxpbmVzIHdpdGggc3BhY2UgaW5zdGVhZCBvZiAneCcgIFtJZ29yIEduYXRlbmtvXQorICAgLSBmaXggcmVsYXRpdmUgY29sdW1uIHdpZHRoIGZvciBtYXhvdXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCByaWdodC1hbGlnbmVkIGxvZ2ljIGZvciBsYXN0IGNvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHNhbXBsZXMgYnVpbGQsIGFkZCB0aXRsZS5jICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UoKSB0byBwcmludCBoZWFkZXIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzdHVwaWQgdHlwbyAgW0thcmVsIFpha10KKyAgIC0gZml4IHRpdGxlIGFsaWduaW5nIHRvIGNlbnRlciAgW0lnb3IgR25hdGVua29dCisgICAtIGZpeCB0aXRsZSBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGltcGxlbWVudCBTQ09MU19GTF9XUkFQICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gaW1wbGVtZW50IHNjb2xzX3RhYmxlX3ByaW50X3JhbmdlX3RvX3N0cmluZyAgW0lnb3IgR25hdGVua29dCisgICAtIGltcGxlbWVudCB0aXRsZSBvZiB0YWJsZSAgW0lnb3IgR25hdGVua29dCisgICAtIG1ha2UgU0NPTFNfRkxfV1JBUCB1c2FibGUgaW4gdHJlZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBvdXRwdXQgYnVmZmVyIHNpemUgZXN0aW1hdGlvbiBtb3JlIHJvYnVzdCBhbmQgZWxlZ2FudCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzdXJlIHdlIGhhdmUgc3BhY2UgZm9yIGFzY2lpIGFydCAgW0thcmVsIFpha10KKyAgIC0gcG9zaXRpb24gb2YgdGl0bGUgaW4gZmFjdCB1bnNpZ25lZCAgW0lnb3IgR25hdGVua29dCisgICAtIHByaW50IHRpdGxlIG9ubHkgd2l0aCBTQ09MU19GTVRfSFVNQU4gIFtJZ29yIEduYXRlbmtvXQorICAgLSBwdXQgbmV3IGxpbmUgYWZ0ZXIgdGl0bGUgIFtJZ29yIEduYXRlbmtvXQorICAgLSByZWR1Y2UgYWxzbyBTQ09MU19GTF9XUkFQIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIHJlZmxlY3QgY2hhbmdpbmdpbmcgU0NPTFNfRkxfVFJFRSBhZnRlciBhZGRpbmcgdG8gdGFibGUgIFtJZ29yIEduYXRlbmtvXQorICAgLSByZXdyaXRlIC4vc2FtcGxlLXNjb2xzLXdyYXAgIFtLYXJlbCBaYWtdCisgICAtIHNldCBldmVyeXRoaW5nIG9uY2UgaW4gc2NvbHNfdGFibGVfc2V0X3RpdGxlKCkgIFtJZ29yIEduYXRlbmtvXQorICAgLSBzdXBwb3J0IGNvbnRpbnVvdXMgcHJpbnRpbmcgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbXVsdGktbGluZSBjZWxscyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBtdWx0aWJ5dGUgdGl0bGVzLCByZW5hbWUgd3JhcCB0byBwYWRkaW5nICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic2NvbHNfY2VsbCBmb3IgdGl0bGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzeW1ib2xzIGZvciB0aXRsZSB3cmFwICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gd3JhcCBjb2x1bW5zIGNvcnJlY3RseSB3aXRoIHVuaWNvZGUgIFtJZ29yIEduYXRlbmtvXQorbGlidXVpZDoKKyAgIC0gZml4IGJ1ZmZlciBvdmVyZmxvdyB3aXRoIGxvbmcgcGF0aHMgIFtLYXJlbCBaYWtdCitsaW5lOgorICAgLSBrZWVwIHN0ZGluIHVuYnVpZmZlcmVkICBbS2FyZWwgWmFrXQorbG9nZ2VyOgorICAgLSBhZGQgLS1zZC1pZCBhbmQgLXNkLXBhcmFtICBbS2FyZWwgWmFrXQorICAgLSBhbHdheXMgdXBkYXRlIGhlYWRlciB3aGVuIHdyaXRpbmcgc3RkaW4gbGluZSAgW0thcmVsIFpha10KKyAgIC0gY29ycmVjdCB0aGUgZ3JhbW1hciBvZiBhbiBlcnJvciBtZXNzYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nLCBjb25zdCBmYWNpbGl0eW5hbWVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbQVNBTiBhbmQgdmFsZ3JpbmRdICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtZXNzYWdlcyBzZXBhcmF0aW9uIG9uIFVOSVggc29ja2V0ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGdyYW1tYXIgYW5kIGZvcm1hdHRpbmcgb2YgdGhlIG1hbnBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0ga2VlcCBtYW4gcGFnZSBjb25zaXN0ZW50IGFuZCB1c2UgXC0gZXZlcnl3aGVyZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIHNoYWRvdyBkZWNsYXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzb3J0IHRoZSBvcHRpb25zIGluIHRoZSBtYW5wYWdlIGFscGhhYmV0aWNhbGx5ICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHVzZSAtLWlkIGFzIGxvY2FsIHNvY2tldCBjcmVkZW50aWFscyAgW0thcmVsIFpha10KKyAgIC0gdXNlIFNDTV9DUkVERU5USUFMUyBvbiBMSU5VWCBvbmx5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHVzZSBpb3ZlYyBhbmQgc2VuZG1zZygpIHRvIHNlbmQgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGlvdmVjIGZvciBhbGwgbWVzc2FnZSAgW0thcmVsIFpha10KK2xvZ2luOgorICAgLSBmaXggc3RhdCgyKSByYWNlICBbU2FtaSBLZXJvbGFdCitsb2dpbiwgbW91bnQ6CisgICAtIGZpeCBfX1NDX0dFVFBXX1JfU0laRV9NQVggdXNhZ2UgIFtLYXJlbCBaYWtdCitsb2dpbi11dGlsczoKKyAgIC0gbWlub3IgdXRtcCBjbGVhbnVwICBbUnVlZGlnZXIgTWVpZXJdCitsb29rOgorICAgLSBjb25zaWRlciBibGFua3MgYXMgZGlyZWN0b3J5IGNoYXJhY3RlcnMgIFtLYXJlbCBaYWtdCitsb3NldHVwOgorICAgLSBjbGVhbiB1cCAtLWRpcmVjdC1pbyAgW0thcmVsIFpha10KKyAgIC0gY29ycmVjdCBzb21lIGZvcm1hdHRpbmcgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHN1cHBvcnQgaW9jdGwgY21kIG9mIExPT1BfU0VUX0RJUkVDVF9JTyAgW01pbmcgTGVpXQorICAgLSBzdXBwb3J0IGxpc3QgZGlyZWN0IGlvICBbTWluZyBMZWldCitsc2JsazoKKyAgIC0gYWxsb3cgdG8gLS1zb3J0IGJ5IGhpZGRlbiBjb2x1bW4gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1c2VsZXNzIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSB0aW55IG1hbiBwYWdlIHVwZGF0ZSBmb3IgLS1zb3J0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgdW5zaWduZWQgdHlwZSBmb3IgU0laRSAgW0thcmVsIFpha10KK2xzY3B1OgorICAgLSBGaXggbW9kZWwgYW5kIG1vZGVsIG5hbWUgb24gUG93ZXIgU3lzdGVtcyAgW1Zhc2FudCBIZWdkZV0KKyAgIC0gUHJpbnQgcGh5c2ljYWwgY3B1IGluZm9ybWF0aW9uICBbU3VrYWRldiBCaGF0dGlwcm9sdV0KKyAgIC0gY29ycmVjdCB0aGUgVmlydHVhbGl6YXRpb24gdHlwZSBvbiBYZW4gRG9tVSBQViBndWVzdCAgW0RvbmdsaSBaaGFuZ10KKyAgIC0gZml4IGJhY2t3YXJkIGJ1ZmZlciBzaXplIGFkanVzdG1lbnQgYWZ0ZXIgYWRkaW5nIGRlbGltaXRlciAgW1l1cml5IE0uIEthbWluc2tpeV0KKyAgIC0gZml4IG1lbWxlYWsgYmVjYXVzZSBvZiBhbWJpZ3VvdXMgdGFncyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbXByb3ZlIHNwYWNpbmcgYW5kIHNwZWxsaW5nIGluIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBrZWVwIGxzY3B1IHVzYWJsZSBvbiBzbmFwc2hvdHMgIFtLYXJlbCBaYWtdCisgICAtIHJldmVydCB1bm5lY2Vzc2FyeSBwYXRoX2V4aXN0KCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjcHUgYW5kIHJldmlzaW9uIHRhZyBpZiBhdmFpbGFibGUgIFtSdWVkaWdlciBNZWllcl0KK2xzaXBjOgorICAgLSBkb24ndCBmcmVlIHNobSBkYXRhIGlmIG5vIHNobSBpZCBpcyBmb3VuZCAgW1JvbWFpbiBOYW91cl0KKyAgIC0gdHdlYWsgYSBmZXcgd29yZGluZ3Mgb24gdGhlIG1hbnBhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KK2xzbG46CisgICAtIGFsbG93cyB0byBsaXN0IG5hbWVzcGFjZSBwcm9jZXNzZXMgIFtLYXJlbCBaYWtdCitsc2xvY2tzOgorICAgLSB1c2Ugc3R1ZmYgZnJvbSBsaWIvcHJvY3V0aWxzICBbS2FyZWwgWmFrXQorbHNsb2dpbnM6CisgICAtIGZpeCBnZXRncm91cGxpc3QoKSB1c2FnZSBmb3IgNjRCRSAgW0thcmVsIFpha10KK2xzbnM6CisgICAtIEZpeCAibG93ZXJzIiAtPiAibG93ZXN0IiB0eXBvIGluIC0taGVscCBmb3IgQ09MX1BJRCAgW1cuIFRyZXZvciBLaW5nXQorICAgLSBhZGQgVVNFUiBhbmQgVUlEICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGV0YWlscyB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZmlsdGVyIGJ5IE5TIHR5cGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmYWlsdXJlIGFmdGVyIHpvbWJpZSBwcm9jZXNzICBbWXVyaXkgTS4gS2FtaW5za2l5XQorICAgLSBmaXggdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBmb3JtYXR0aW5nIGFuZCB3b3JkaW5nIG9mIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBpbXByb3ZlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBuZXcgY29tbWFuZCAgW0thcmVsIFpha10KKyAgIC0gcmVhZCBhbGwgcHJvY2Vzc2VzIHdoZW4gLS10YXNrIHNwZWNpZmllZCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVud2FudGVkIGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIHNvcnQgbmFtZXNwYWNlcywgYXZvaWQgZHVwbGljYXRlIGVudHJpZXMgaW4gdHJlZSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4Y2FsbG9jKCkgIFtSdWVkaWdlciBNZWllcl0KK2xzbnMuYzoKKyAgIC0gZml4IGVycm9yIHJldHVybiAgW1l1cml5IE0uIEthbWluc2tpeV0KK21lc2c6CisgICAtIGZpeCBtdWx0aXBsZSByYWNlcyAgW1NhbWkgS2Vyb2xhXQorbWlzYzoKKyAgIC0gYWdhaW4gZml4aW5nIG1hbnkgcHJpbnRmIGZvcm1hdCBzdHJpbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFsd2F5cyBjYXN0IHRpbWV2YWwudHZfdXNlYyB0byBsb25nIHJhdGhlciB0aGFuIGludCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhdm9pZCBzaGFkb3dpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21waWxlciB3YXJudW5ncyAodW5zaWduZWQvc2lnbmVkKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggaWNjL2NsYW5nIGNvbXBpbGVyIHdhcm5pbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBwcmludGYgaTM4NiBjb21waWxlciB3YXJuaW5ncyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggc29tZSBpbmNsdWRlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggc29tZSBwcmludGYgZm9ybWF0IHN0cmluZ3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHdhcm5pbmdzICJ1bnVzZWQgcGFyYW1ldGVyIiBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBuZXZlciBjYXN0IHZvaWQqIGZyb20gbWFsbG9jKDMpIGFuZCBmcmllbmRzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgaW5jbHVkZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBwYXRoIG5hbWUgZGVmaW5pdGlvbnMgdGhhdCBhcmUgdW51c2VkICBbU2FtaSBLZXJvbGFdCisgICAtIHNhZmVyIChhbmQgdW5pZm9ybSkgaGFuZGxpbmcgb2YgcmV0dXJuIHZhbHVlICBbWXVyaXkgTS4gS2FtaW5za2l5XQorbWlzYy11dGlsczoKKyAgIC0gYnVpbGQgdGVzdF91dWlkZCBvbmx5IGlmIEJVSUxEX1VVSUREICBbUnVlZGlnZXIgTWVpZXJdCitta2ZzLmJmczoKKyAgIC0gYWxsb3cgY3JlYXRpbmcgZmlsZSBzeXN0ZW0gdG8gYSBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBibG9jayBkZXZpY2Ugb3BlbiByYWNlICBbU2FtaSBLZXJvbGFdCitta2ZzLm1pbml4OgorICAgLSBmaXggYmxvY2sgZGV2aWNlIG9wZW4gcmFjZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdjIvdjMgLmJhZGJsb2NrcyBpbm9kZSBudW1iZXIgZm9yIGJpZyBlbmRpYW4gIFtSdWVkaWdlciBNZWllcl0KK21rc3dhcDoKKyAgIC0gYWRkIHdhcm5pbmdzIGZvciBpbnNlY3VyZSBkZXZpY2UgcGVybWlzc2lvbnMvb3duZXJzICBbV2F5bmUgUi4gUm90aF0KKyAgIC0gZml4IGJsb2NrIGRldmljZSBvcGVuIHJhY2UgIFtTYW1pIEtlcm9sYV0KK21vcmU6CisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBjb21wYXRpYmlsaXR5IGxheWVyICBbS2FyZWwgWmFrXQorbW91bnQ6CisgICAtIGFkanVzdCBzb21lIHdvcmRpbmdzIGFuZCBmb3JtYXR0aW5nIGluIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBhbGxvdyBub2ZhaWwgdG8gc2lsZW5jZSBFTk9NRURJVU0gY2FzZXMgIFtNaWtlIEZyeXNpbmdlcl0KKyAgIC0gZnVydGhlciBpbXByb3ZlIGZvcm1hdHRpbmcgb2YgdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIGhhcmR3cmFwIGFuIG92ZXJsb25nIGV4YW1wbGUgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1vdW50LjggQWRkIGRvY3VtZW50YXRpb24gb2Ygb3ZlcmxheSBtb3VudCBvcHRpb25zICBbT3NhbXUgQW9raV0KK21vdW50LCB1bW91bnQsIHN3YXBvbiwgZnNjaywgbHNibGssIGZpbmRtbnQ6CisgICAtIGhhcm1vbml6ZSBzaXggZXJyb3IgbWVzc2FnZXMgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gaWdub3JlIG1hbGZvcm1lZCBsaW5lcyAgW0thcmVsIFpha10KK25hbWVpOgorICAgLSBtb3ZlIGljYWNoZSB0byBsaWIvICBbS2FyZWwgWmFrXQorbmV3Z3JwOgorICAgLSByZW5hbWUgbWVtc2V0X3MoKSAgW1J1ZWRpZ2VyIE1laWVyXQorbm9sb2dpbjoKKyAgIC0gcmVxdWlyZSAvZXRjL25vbG9naW4udHh0IHRvIGJlIGZpbGUgIFtTYW1pIEtlcm9sYV0KK3BhcnR4OgorICAgLSBmaXggLS1uciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gcHJldmVudCBjb2RlIGR1cGxpY2F0aW9uICBbS2FyZWwgWmFrXQorcG86CisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUMOtc2HFmV0KKyAgIC0gdXBkYXRlIGRlLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGhpbGlwcCBUaG9tYXNdCisgICAtIHVwZGF0ZSBlcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FudG9uaW8gQ2ViYWxsb3MgUm9hXQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgcHRfQlIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtSYWZhZWwgRm9udGVuZWxsZV0KKyAgIC0gdXBkYXRlIHJ1LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbRXZnZW5peSBZYWt1c2hldl0KKyAgIC0gdXBkYXRlIHN2LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbU2ViYXN0aWFuIFJhc211c3Nlbl0KKyAgIC0gdXBkYXRlIHVrLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbWXVyaSBDaG9ybm9pdmFuXQorICAgLSB1cGRhdGUgemhfQ04ucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtXeWxtZXIgV2FuZ10KK3BybGltaXQ6CisgICAtIGNsZWFudXAgb3V0cHV0IHVuaXRzICBbS2FyZWwgWmFrXQorcmVhZHByb2ZpbGU6CisgICAtIGFkZCBzY2FuZiBmaWVsZCB3aWR0aCBsaW1pdHMgW2NwcGNoZWNrXSAgW0JvcmlzIEVnb3Jvdl0KK3JlbmFtZToKKyAgIC0gYWRkIGV4YW1wbGUgdG8gdGhlIG1hbiBwYWdlICBbS2FsaWd1bGVdCitzY29scy90YWJsZV9wcmludDoKKyAgIC0gcmVzdG9yZSBvbGQgc3RyZWFtIGFmdGVyIHByaW50aW5nIHRvIHN0ciAgW0lnb3IgR25hdGVua29dCitzY3JpcHQ6CisgICAtIGJlIHBlZGFudGljIGFuZCB1c2UgIiUiU0NOaTY0ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBhc3N1bWUgdGhhdCB0aW1lX3QgaXMgY29tcGF0aWJsZSB3aXRoIGxvbmcgIFtJc2FhYyBEdW5oYW1dCisgICAtIGZpeCBtaXNzcGVsbGluZyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0d2VhayBzcGFjaW5nIGFuZCB3b3JkaW5nLCBhbmQgcmVzdG9yZSBmaWxsaW5nIGluIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorc2NyaXB0LCBod2Nsb2NrOgorICAgLSBjaGVjayBmaWxlIGV4aXN0IHdpdGggYWNjZXNzKDMpIHJhdGhlciB0aGFuIHN0YXQoMykgIFtTYW1pIEtlcm9sYV0KK3NjcmlwdHJlcGxheS9uZXdncnA6CisgICAtIHVzZSBzaWduZWQgaW50IHRvIHN0b3JlIHJldHVybiBvZiBnZXRvcHRfbG9uZyAgW0ZpbGlwZSBCcmFuZGVuYnVyZ2VyXQorc2V0YXJjaDoKKyAgIC0gYWRkICJleGVjIiBtZXNzYWdlIHRvIC0tdmVyYm9zZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggcGVyc29uYWxpdHkgc3lzY2FsbCByZXR1cm4gY29kZSBjaGVjayAgW0RtaXRyeSBWLiBMZXZpbl0KK3NldHNpZDoKKyAgIC0gZml4IGFyZ3VtZW50IGNvdW50IGJ1ZyAgW1NhbWkgS2Vyb2xhXQorc2ZkaXNrOgorICAgLSBhZGQgJ1UnIHNob3J0Y3V0IGZvciBFU1AgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLWRlbGV0ZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbW92ZS1kYXRhICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1yZW9yZGVyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS13aXBlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgRVNQIHNob3J0Y3V0IGFsc28gZm9yIExlZ2FjeSBNQlIgIFtLYXJlbCBaYWtdCisgICAtIGFkanVzdCBtb3JlIHdvcmRpbmdzIGFuZCBmb3JtYXR0aW5nIGluIHRoZSBtYW4gcGFnZSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBjbGVhbnVwIGFuZCBvcHRpbWl6ZSAtLW1vdmUtZGF0YSAgW0thcmVsIFpha10KKyAgIC0gZml4IC1OIHJldHVybiBjb2RlIGRldGVjdGlvbiwgYWRkIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHRoZSB3b3JkaW5nIG9mIHNldmVuIGVycm9yIG1lc3NhZ2VzICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIG1ha2UgLS1xdWlldCByZWFsbHkgcXVpZXQgIFtLYXJlbCBaYWtdCitzZmRpc2ssIGZkaXNrOgorICAgLSBhZGQgZmZsdXNoKCkgIFtLYXJlbCBaYWtdCitzdToKKyAgIC0gY2xlYW4gdXAgZ3JvdXBzIGluaXRpYWxpemF0aW9uICBbS2FyZWwgWmFrXQorc3Vsb2dpbjoKKyAgIC0gQWx3YXlzIG1ha2UgZWNobyB3b3JrIGFmdGVyIHBlcmZvcm1pbmcgZ2V0cGFzc3dkIGV2ZW4gaWYgcm9vdCBhY2NvdW50IGlzIGxvY2tlZCAgW1dlcm5lciBGaW5rXQorICAgLSBVc2UgZmFsbGJhY2sgbWV0aG9kIG9uIHRoZSBIdXJkIGZvciBkZXRlY3RpbmcgY29uc29sZXMgIFtKYW1lcyBDbGFya2VdCisgICAtIGF2b2lkIHNoYXJlZCBtZW1vcnkgYXJlYSB1c2VtYXNrIGJ1dCB1c2Ugd2FpdGlkKCkgZm9yIGNoaWxkcyAgW1dlcm5lciBGaW5rXQorICAgLSBmaXggc2lnc2V0X3QgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBtaXNzaW5nIFdFWElURUQsIGFkZCB3YXJuaW5nICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGtlZXAgaW5pdGlhbGl6YXRpb24gbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCitzd2Fwb246CisgICAtIGFkZCBjb250cm9sIHN0cnVjdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBkbyBub3QgcnVuIGV4ZWN2cCgpIGNhbGxzIHdoZW4gc3dhcG9uIGlzIHNldHVpZCBiaW5hcnkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZHJvcCBwZXJtcyBpZiBzZXR1aWQgYmVmb3JlIGNhbGwgbWtzd2FwICBbS2FyZWwgWmFrXQorICAgLSBmaXggZGlzY2FyZD1wYWdlcyBkb2NzICBbUmljaGFyZCBZYW9dCisgICAtIGZpeCBzdGF0KDMpIGFuZCBvcGVuKDMpIHJhY2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBmdW5jdGlvbiBhcmd1bWVudHMgdG8gY29udHJvbCBzdHJ1Y3R1cmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGFzc2VydCAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBjb250cm9sIHN0cnVjdCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gc2ltcGxpZnkgY3RsLT5kZXZpY2UgdXNhZ2UgIFtLYXJlbCBaYWtdCit0YXNrc2V0OgorICAgLSBmaXggZGVzY3JpcHRpb24gb2YgYC1jYCBvcHRpb24gaW4gdGhlIG1hbiBwYWdlICBbWXVyaXkgTS4gS2FtaW5za2l5XQordGVzdHM6CisgICAtIC0tcGFyYWxsZWwgcHJpbnRzIHJlc3VsdHMgaW4gYSBzaW5nbGUgbGluZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgRE0gZXJyb3IgdGFyZ2V0IGZvciBibGtpZCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGJ0cmZzIG1vdW50IHRlc3RzICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gYWRkIGNvbGNydCBmdW5jdGlvbmFsIHRlc3RzICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBmZGlzay9ic2QgaGV4ZHVtcCBmb3IgYWxwaGEgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGxvZ2dlciB0ZXN0cyAiaWQgX251bWJlcnNfIHdpdGggc3BhY2VzIiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgbWlzc2luZyBmaWxlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5ldyBmZGlzayBic2QgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIG9wdGlvbiAtLXBhcnNhYmxlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBzZmRpc2sgLS1tb3ZlLWRhdGEgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNvbWUgY2hlY2tfdGVzdF9jb21tYW5kIHJlcXVpcmVtZW50cyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgc29tZSBsaW5lIHRlc3RzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCB0ZXN0IGZvciBsb29wIG9wdGlvbiBpbiBmc3RhYiAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIGFkZCB1dWlkIHBhcnNlciBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgdXVpZGQgb3V0cHV0IGNoZWNrICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB1dWlkZ2VuIG91dHB1dCBjaGVjayAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbHdheXMgY3JlYXRlIHNwYXJzZSBpbWFnZSBmaWxlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhdm9pZCBzZWQgLUUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYmxrZGlzY2FyZCwgY2hlY2sgcmV0dXJuIHZhbHVlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjaGVjayBmb3IgVFNfSEVMUEVSX1NZU0lORk8gaW4gc3dhcCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gY3JhbWZzLCBmaXggcm9vdCBncm91cCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkaXNhYmxlIGVqZWN0IGZvciBicm9rZW4ga2VybmVscyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkb24ndCBjb21wYXJlIGJ0cmZzIG1vdW50IG9wdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHNraXAgY2FzZSAib3V0cHV0IHVuZGVmaW5lZCIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZG9uJ3QgdXNlIG1rZnMuYnRyZnMgb3B0aW9uIC1mICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRvbid0IHVzZSBzeXN0ZW0ncyBtb3VudCBjb21tYW5kcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmYWxsYmFjayBmb3IgbWlzc2luZyBUU19ERVNDICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XbWlzc2luZy1wcm90b3R5cGVzXSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZmRpc2svYnNkIGZvciBhbHBoYSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZmRpc2svYnNkIGZvciBocHBhICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBtaW5peCB0ZXN0cyBmb3IgYmlnIGVuZGlhbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggbm9uLXdvcmtpbmcgdWRldmFkbSBzZXR0bGUgZm9yIHNjc2lfZGVidWcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHJlZGlyZWN0aW9uICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gZml4IHJ1bi5zaCAtLXBhcmFsbGVsPTEgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHRzX29wdGlvbiBoZWxwZXJzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGdldG9wdDIsIGFkZCBmdW5jdGlvbiBnbnVfZ2V0b3B0X2NsZWFuKCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaG90Zml4LCB3YWl0IGZvciBzY3NpX2RlYnVnIHBhcnRpb24gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaWdub3JlIHNldGFyY2ggb24gc3BhcmMgIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBzd2Fwb24gd2FybmluZ3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW1wcm92ZSBnZXRvcHQgbG9vcCBlcnJvciBjYXNlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGltcHJvdmUgc2V0YXJjaCB0ZXN0cywgcmVnYXJkaW5nIC0tdW5hbWUtMi42IGlzc3VlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbXByb3ZlIHNraXBwaW5nIG9mIG9sZCBidHJmcy10b29scyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtYWtlIGxpYm1vdW50L2xvY2sgb3B0aW9uYWwgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc3dhcGxhYmVsIHRlc3QgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGVzdF91dWlkX3BhcnNlciB0byByZWFkIGZpbGVzICBbU2FtaSBLZXJvbGFdCisgICAtIG1hcmsgb2xkIGJzZCBmZGlzayB0ZXN0IGFzIGRlcHJlY2F0ZWQgIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgc2NyaXB0IHJhY2UgdGVzdCBhcyAia25vd24gZmFpbCIgIFtLYXJlbCBaYWtdCisgICAtIG1pbml4LCBhZGQgYSB1c2VmdWwgbm9uLXJvb3QgY2hlY2sgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWluaXgsIHNvbWUgY29ycmVjdGlvbnMgYW5kIGNsZWFudXAgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWluaXgsIHVzZSBoZXhkdW1wIGluc3RlYWQgb2YgbWQ1c3VtICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG1pbm9yIGNsZWFudXAgdHNfZmRpc2tfY2xlYW4oKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBta2ZzLmV4dDMgaW1hZ2UtZmlsZSBuZWVkcyBvcHRpb24gLUYgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbm8gbW9yZSBzbGVlcCwgdWRldmFkbSBzZXR0bGUgb25seSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgZGVwcmVjYXRlZCBtZDVzdW0gYmFzZWQgZmRpc2svYnNkIHRlc3QgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIGludmFsaWQgYXJndW1lbnQgaW4gbGlibW91bnQvZGVidWcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHJlZHVuZGFudCBjaGVjayBmb3IgTlVMTCBbY3BwY2hlY2tdICBbQm9yaXMgRWdvcm92XQorICAgLSByZXBsYWNlIHVzZXJuYW1lIHdpdGggdGFnIGluIGxvZ2dlciB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBzZmRpc2svZ3B0LXJlb3JkZXIsIGFkZCBtaXNzaW5nIHJlc3VsdHMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2tpcCBCTEtESVNDQVJEIGlmIHVuc3VwcG9ydGVkICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNraXAgYXV0b21ha2UncyBlbXB0eSAiVGVzdHN1aXRlIHN1bW1hcnkiICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNraXAgYnRyZnMgdGVzdHMgaWYgdmVyc2lvbiB0b28gb2xkICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNraXAgaXBjcyB0ZXN0IHdoaWNoIHJlcXVpcmUgL3Byb2MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2tpcCBub25yb290IGJlZm9yZSBjaGVja2luZyBmb3IgcHJvZ3MgaW4gUEFUSCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBza2lwIG9sZCBzb2NhdCBzaWxlbnRseSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0c19mZGlza19jbGVhbigpLCByZW1vdmUgb3B0aW1hbCBpb3NpemUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdWRldmFkbSBzZXR0bGUgYmVmb3JlIGxvc2V0dXAgLWQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXBkYXRlIFpGUyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYW5kIGV4dGVuZCBsb2dnZXIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBidWlsZC1zeXMgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjb2xjcnQgdGVzdCBleHBlY3RhdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIHN3YXBmaWxlIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNmZGlzayAtLW5vLXJlcmVhZCB3aGVyZXZlciBpdCdzIG5lZWRlZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgeHogaW5zdGVhZCBvZiBiemlwMiBmb3IgYmxraWQgaW1hZ2VzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHdpcGVmcyBmaXgsIHRzX2luaXQgd2FzIGNhbGxlZCB0b28gbGF0ZSAgW1J1ZWRpZ2VyIE1laWVyXQordG9vbHM6CisgICAtIGFkZCBjaGVja2NvbXBsZXRpb24uc2ggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGNoZWNrY29tcGxldGlvbi5zaCAgW0thcmVsIFpha10KK3RyYXZpczoKKyAgIC0gUmVtb3ZlIHdvcmthcm91bmQgZm9yIGxpYnRvb2wgaW5zdGFsbCBvZiBweWxpYm1vdW50ICBbRmlsaXBlIEJyYW5kZW5idXJnZXJdCisgICAtIGFkZCBPU1ggYnVpbGQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY29zbWV0aWNzLCBvcmRlciBzY3JpcHRzIGxpa2UgdGhleSBhcmUgZXhlY3V0ZWQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW5zdGFsbCBtZGFkbSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBsZXQncyBpZ25vcmUgYXB0LWdldCByZXR1cm4gY29kZSAgW0thcmVsIFpha10KKyAgIC0gbWlub3IgY2xlYW51cCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzd2l0Y2ggdG8gVWJ1bnR1IDE0LjA0IFRydXN0eSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB3b3JrYXJvdW5kIGVudiBwb2xsdXRpb24sIFBZVEhPTl9DRkxBR1MgIFtSdWVkaWdlciBNZWllcl0KK3Vtb3VudDoKKyAgIC0gYWRkIG1hbiBwYWdlIG5vdGUgdGhhdCAtLWZvcmNlIGlzIG5vdCBwZXJmZWN0ICBbS2FyZWwgWmFrXQordW5zaGFyZToKKyAgIC0gYWRkIGV4YW1wbGUgZm9yIHBlcnNpc3RlbnQgbW91bnQgbmFtZXNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBkZXNjcmliZSB0aGUgc2V0Z3JvdXBzIHJlc3RyaWN0aW9uIG1vcmUgZXhwbGljaXRseSAgW0Jlbm5vIFNjaHVsZW5iZXJnXQorICAgLSBmaXggYnVzeWxvb3AgYW5kIHJlZHVjZSByYWNpbmcgcHJvYmFiaWxpdHkgIFtZdXJpeSBNLiBLYW1pbnNraXldCisgICAtIGZpeCBpbmNvbXBsZXRlIHNlbnRlbmNlIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIHdvcmRpbmcgYW5kIGZvcm1hdHRpbmcgaW4gdGhlIG1hbiBwYWdlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlcGxhY2UgYSBzcGVjaWFsIGNoYXJhY3RlciBpbiB0aGUgbWFuIHBhZ2Ugd2l0aCBhIHNwYWNlICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHRpbnkgY2hhbmdlICBbS2FyZWwgWmFrXQordXVpZGQ6CisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlIGZvciB0aW1lb3V0ICBbS2FyZWwgWmFrXQorICAgLSBjb3JyZWN0IHRoZSB3b3JkaW5nIG9mIGFuIGVycm9yIG1lc3NhZ2UgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1Xc2lnbi1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHNoYWRvdyBkZWNsYXJhdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIHNvY2tldCBhY3RpdmF0aW9uIGVycm9yIG1lc3NhZ2luZyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzbGljZSB1cCB0aGUgdXNhZ2UgdGV4dCBhbmQgbm9ybWFsaXplIGl0cyBsYXlvdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGN4dC0+cXVpZXQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzaWduYWxmZCgpIGFuZCBzZXR1cF90aW1lcigpICBbU2FtaSBLZXJvbGFdCit2aXB3OgorICAgLSBSZW1vdmUgcHJlLUFOU0kgY29tcGlsZXIgc3VwcG9ydCAgW1JvbWFpbiBOYW91cl0KKyAgIC0gbWFrZSB0bXBfZmlsZSB1c2FnZSBtb3JlIHJvYnVzdCBbY2xhbmcgYW5hbHl6ZV0gIFtLYXJlbCBaYWtdCisgICAtIHByaW50IG9ubHkgb25lIG5ldyBsaW5lIHdoZW4gYXNraW5nIGFib3V0IHNoYWRvdyBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBwdXRzKCkgd2hlbiBmb3JtYXR0aW5nIHVubmVjZXNzYXJ5ICBbS2FyZWwgWmFrXQord2lwZWZzOgorICAgLSBBbGxvdyBiIHRvIGJlIHVzZWQgYXMgdGhlIHNob3J0IG9wdGlvbiBmb3IgYmFja3VwICBbQmlsbCBQZW1iZXJ0b25dCit3aXBlZnMsIHNmZGlzazoKKyAgIC0gaW5jbHVkZSBsaWJnZW4uaCBmb3IgYmFzZW5hbWUoM3ApICBbUnVlZGlnZXIgTWVpZXJdCit6cmFtY3RsOgorICAgLSBmaXggbGlzdHMgb2YgdGhlIGFsbCBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjktUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yOS1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ3MzMxMgotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjktUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNTg3IEBACitVdGlsLWxpbnV4IDIuMjkgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworU2VjdXJpdHkgaXNzdWVzCistLS0tLS0tLS0tLS0tLS0KKworQ1ZFLTIwMTYtMjc3OQorCitUaGlzIHNlY3VyaXR5IGlzc3VlIGlzIE5PVCBGSVhFRCB5ZXQuICBJdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSBpb2N0bAorVElPQ1NUSSBieSBzZXRzaWQoKSBvbmx5LiAgVW5mb3J0dW5hdGVseSwgc2V0c2lkKCkgaGFzIHdlbGwtZGVmaW5lZCB1c2UgY2FzZXMKK2luIHN1KDEpIGFuZCBydW51c2VyKDEpIGFuZCBhbnkgY2hhbmdlcyB3b3VsZCBpbnRyb2R1Y2UgcmVncmVzc2lvbnMuICBJdCBzZWVtcword2UgbmVlZCBhIGJldHRlciB3YXkgLS0gaWRlYWxseSBhbm90aGVyIGlvY3RsIHRvIGRpc2FibGUgVElPQ1NUSSB3aXRob3V0CitzZXRzaWQoKSBvciBpbiB1c2Vyc3BhY2UgaW1wbGVtZW50ZWQgcHR5IGNvbnRhaW5lciAocGxhbm5lZCBhcyBleHBlcmltZW50YWwKK3N1KDEpIGZlYXR1cmUgZm9yIHYyLjMwKS4KKworCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4yOCBhbmQgdjIuMjkKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4IDIuMjguMiBbU2VwIDcgMjAxNl0KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOC92Mi4yOC4yLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOC92Mi4yOC4yLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjguMSBbQXVnIDExIDIwMTZdCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjgvdjIuMjguMS1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjgvdjIuMjguMS1DaGFuZ2VMb2cKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjI4IGFuZCB2Mi4yOQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCithZ2V0dHk6CisgICAtIGNhbGwgdW5hbWUoKSBvbmx5IHdoZW4gbmVjZXNzYXJ5ICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBtb2RpZnkgYXJndltdIHdoZW4gcGFyc2Ugc3BlZWRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggXFMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgdW5yZWFjaGFibGUgY29kZSB0byBwcmUtcHJvY2Vzc29yICNlbHNlIHNlZ21lbnQgW29jbGludF0gIFtTYW1pIEtlcm9sYV0KK2Jsa2RldjoKKyAgIC0gZ3VhcmQgYWdhaW5zdCBtaXNzaW5nIERJT0NHRElORk8gb24gRnJlZUJTRCAxMSAgW0ZyYW5jbyBGaWNodG5lcl0KK2Jsa2Rpc2NhcmQ6CisgICAtIEltcHJvdmUgbWFuIHBhZ2UgIFtBbGxvbiBNdXJlaW5pa10KK2J1aWxkLXN5czoKKyAgIC0gYWRkIC0tZGlzYWJsZS1wbHltb3V0aC1zdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1kaXNhYmxlLXdpZGVjaGFyICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1lbmFibGUtbGlidXVpZC1mb3JjZS11dWlkZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgVUxfUkVRVUlSRVNfQ09NUElMRSBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgaW5jbHVkZS9wbHltb3V0aC1jdHJsLmggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub24tYWN0aW9uIGZvciBuY3Vyc2VzIHBrZy1jb25nIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBwYXJpc2MgdG8gZGVmaW5lIEFSQ0hfICBbS2FyZWwgWmFrXQorICAgLSBhZGQgdG9vbHMvTWFrZW1vZHVsZS5hbSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgcmVsYXRpb24gYmV0d2VlbiBuY3Vyc2VzW3ddIGFuZCB3aWRlLWNoYXIgc3VwcG9ydCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCAtLXdpdGgtbmN1cnNlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbW1lbnRzIGluIHVsLm00ICBbS2FyZWwgWmFrXQorICAgLSBmaXggZHJvbmUuaW8gYnVpbGRzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWlzc2luZyBuY3Vyc2VzdyBtZXNzYWdlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB0eXBvIG9uIG5jdXJzZXMtY29uZmlnIGNvbW1hbmQgbGluZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHVDbGliYy1uZyBzY2FuZiBjaGVjayAgW1dhbGRlbWFyIEJyb2Rrb3JiXQorICAgLSBpbXByb3ZlIGxpYm5jdXJzZXN3NSBpbnN0YWxsIGZvciB0cmF2aXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMjktcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4yOS1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBsaWJzbWFydGNvbHMgc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZ2xvYmFsIGRlcGVuZGVuY2UgYmV0d2VlbiB3aWRlY2hhciBhbmQgbmN1cnNlc3cgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBbY3NdZmRpc2sgTERBRERzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2Jzb2xldGUgY29tbWVudCAgW0thcmVsIFpha10KKyAgIC0gdGVzdCBmdW5jdGlvbnMgZG9lcyBub3QgcmV0dXJuIHZvaWQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIFVMX0RFRkFVTFRfRU5BQkxFKCkgb25seSBmb3IgcHJvZ3JhbXMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBuY3Vyc2VzLWNvbmZpZyByYXRoZXIgdGhhbiBwa2ctY29uZmlnICBbS2FyZWwgWmFrXQorICAgLSB3b3JrYXJvdW5kIGZvciBhdXRvY29uZiAicHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkIiAgW0thcmVsIFpha10KK2NhbDoKKyAgIC0gYWxsb3cgdG8gc3BlY2lmeSBtb250aCBieSBuYW1lICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG5vbi1uY3Vyc2VzIGJ1aWxkICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZXJyIG1lc3NhZ2UgZnJvbSBtb250aG5hbWVfdG9fbnVtYmVyKCkgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgYWJicmV2aWF0ZWQgbW9udGggbmFtZXMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgYWxvbmUgbW9udGggbmFtZSBwYXJhbWV0ZXIgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgdGltZXN0YW1wcyAgW0thcmVsIFpha10KKyAgIC0gdXNlICUwNGQgZm9yIHllYXIgIFtLYXJlbCBaYWtdCitjZmRpc2s6CisgICAtIGZpeCBtb3VudHBvaW50IGRldGVjdGlvbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyBBU0NJSSBmb3Igbm9uLXdpZGVjaGFyIGVudmlyb25tZW50ICBbS2FyZWwgWmFrXQorY2Zpc2s6CisgICAtIGFkZCAvZGV2L3ZkYSBhcyBhbm90aGVyIGRlZmF1bHQgZGlzayAgW0thcmVsIFpha10KK2NoZm46CisgICAtIGNoc2ggIHVzZSBzZWxpbnV4X2NoZWNrX3Bhc3N3ZF9hY2Nlc3MoKSAgW0thcmVsIFpha10KK2NocnQ6CisgICAtIGFkZCBmYWxsYmFjayB0byBiZSB1c2FibGUgb24ga2VybmVscyB3aXRob3V0IHNjaGVkX3tnZXQsc2V0fWF0dHIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBIQVZFX1NDSEVEX1NFVEFUVFIgZmFsbGJhY2sgY2FzZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmb2xsb3cgbmljZSBzZXR0aW5nLCBwcmVmZXIgc2NoZWRfc2V0c2NoZWR1bGVyKCkgIFtLYXJlbCBaYWtdCisgICAtIHZhbGlkYXRlIHByaW9yaXR5IGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0ICBbU2FtaSBLZXJvbGFdCitjb2xjcnQ6CisgICAtIGF2b2lkIHRoZSBjb21tYW5kIGdldHRpbmcgaHVuZyBbYWZsXSAgW1NhbWkgS2Vyb2xhXQorY3JhbWZzOgorICAgLSBhZGQgbWlzc2luZyBpbmNsdWRlcyAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0IGNyYzMyIGNoYW5nZXMgIFtLYXJlbCBaYWtdCitkZWJ1ZzoKKyAgIC0gdXNlIGNvbnN0IHZvaWQgKiBmb3IgdWxfZGVidWdvYmooKSAgW0lnb3IgR25hdGVua29dCitkZXByZWNhdGVkLnR4dDoKKyAgIC0gQWRkIHNmZGlzayAtLXNob3ctcHQtZ2VvbWV0cnkgIFtTdGFuaXNsYXYgQnJhYmVjXQorZG1lc2c6CisgICAtIC0tbm90aW1lIHNob3VsZCBub3Qgc3VwcHJlc3MgLS1zaG93LWRlbHRhICBbU2FtaSBLZXJvbGFdCisgICAtIGRyb3AgY29yZSBhdCBpbXBvc3NpYmxlIGNhc2UgaW4gcmVhZF9idWZmZXIoKSBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggaW5kZW50aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RydGltZXZhbF9pc28oKSAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIEZpeCB2YXJpb3VzIHR5cG9zICBbU2ViYXN0aWFuIFJhc211c3Nlbl0KKyAgIC0gYWRkIGZpbGUgZm9ybWF0IG5vdGUgdG8gdXRtcGR1bXAgbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHNmZGlzayBzY3JpcHRzIHF1b3RlcyBpc3N1ZSB0byBUT0RPIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIG9wdGluYWwgb3B0aW9uIGFyZ3VtZW50cyBzaG91bGQgYmUgbG9uZy1vbmx5ICBbU2FtaSBLZXJvbGFdCisgICAtIHNvbWUgcmFuZG9tIGZpeGVzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgaW5mb3IgYWJvdXQgVElPQ1NUSSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjI5LVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSBBZGQgc3VwcG9ydCBmb3IgYWx0ZXJpbmcgR1BUIHNpemUgIFtTYXNzYW4gUGFuYWhpbmVqYWRdCisgICAtIEZpeCB0eXBvIFJlcXVpcmVkUGFydGl0b24gLT4gUmVxdWlyZWRQYXJ0aXRpb24gIFtTZWJhc3RpYW4gUmFzbXVzc2VuXQorICAgLSBhZGQgLS13aXBlLXBhcnRpdGlvbnM9YXV0b3xuZXZlcnxkZWZhdWx0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbWxlYWsgaW4gbGlzdF9kaXNrX2dlb21ldHJ5KCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWFrZSAtbCA8ZGV2IC4uLj4gYmVoYXZlcyBsaWtlIGZkaXNrIC1sICBbVGhpZXJyeSBWaWduYXVkXQorICAgLSB1c2UgUEFHRVIgZm9yICdsJyBjb21tYW5kLiAgW0thcmVsIFpha10KK2ZpbmRtbnQ6CisgICAtICh2ZXJpZnkpIGFkZCBkb2NzICBbS2FyZWwgWmFrXQorICAgLSAodmVyaWZ5KSBhZGQgb3B0aW9ucyB2ZXJpZmljYXRpb24gIFtLYXJlbCBaYWtdCisgICAtICh2ZXJpZnkpIGFkZCBzb3VyY2UgdmVyaWZpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSAodmVyaWZ5KSBhZGQgc3dhcGFyZWEgdmVyaWZpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSAodmVyaWZ5KSBjaGVjayBmaWxlc3lzdGVtIHR5cGUgIFtLYXJlbCBaYWtdCisgICAtICh2ZXJpZnkpIGZpeCBtZW0gbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtICh2ZXJpZnkpIG1pbm9yIGNoYW5nZXMgaW4gc3RyaW5ncyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tdmVyaWZ5IGFuZCAtLXZlcmJvc2UgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgaW5jbHVkZSAgW0thcmVsIFpha10KK2Zsb2NrOgorICAgLSBJbnRyb2R1Y2Ugbm8tZm9yayBvcHRpb24uICBbVGVycnkgQnVydG9uXQorICAgLSBmaXggbm8tZmxvY2sgcGF0Y2ggIFtLYXJlbCBaYWtdCisgICAtIGtlZXAgcnVuX3Byb2dyYW0oKSBzaW1wbGUgIFtLYXJlbCBaYWtdCitmc2NrOgorICAgLSBmaXggcmFjaW5nIGJldHdlZW4gdW5sb2NrL3VubGluayBhbmQgb3BlbiAgW1l1cml5IE0uIEthbWluc2tpeV0KKyAgIC0gcmVtb3ZlIGZzLXNwZWNpZmljIG9wdGlvbnMgZnJvbSBtYW4gcGFnZSAgW0thcmVsIFpha10KK2ZzY2suY3JhbWZzOgorICAgLSBkb24ndCBpZ25vcmUgcmVhZCgpIHJlc3VsdCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitmc2NrLm1pbml4OgorICAgLSBWZXJpZnkgbW9yZSBmaWVsZHMgaW4gc3VwZXItYmxvY2suICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIGZpeCBlbmRsZXNzIGxvb3AgYW5kIG91dCBvZiBzdGFjayAgW0thcmVsIFpha10KK2ZzdHJpbToKKyAgIC0gYWRkIC12IHRvIHRoZSBzeXN0ZW1kIHNlcnZpY2UgIFtLYXJlbCBaYWtdCitnZXRvcHM6CisgICAtIGltcHJvdmUgZ2V0b3B0LXBhcnNlLmJhc2ggZXhhbXBsZSAgW1NhbWkgS2Vyb2xhXQorZ2V0b3B0OgorICAgLSBiZSBzdXJlIHRoYXQgb3B0aW9ucyBhcnJheSBpcyB0ZXJtaW5hdGVkICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtb3J5IGxlYWtzIGFuZCBpbnRlZ2VyIG92ZXJmbG93cyBbQVNBTiAmIHZhbGdyaW5kXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBrZWVwIHBvaW50ZXIgdG8gJ25hbWUnIGluIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQoraHdjbG9jazoKKyAgIC0gdXNlIHN0cnRpbWV2YWxfaXNvKCkgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2Nsb3Nlc3RyZWFtOgorICAgLSBkZWZpbmUgZXhpdCBjb2RlcyAgW0thcmVsIFpha10KK2luY2x1ZGUvZW52OgorICAgLSBtaW5vciBmaXhlcyBhbmQgY2xlYW4gdXBzICBbS2FyZWwgWmFrXQoraW5jbHVkZS90aW1ldXRpbHM6CisgICAtIHJld3JpdGUgaXNvIGZvcm1hdHRpbmcgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcG9pbnRlciBmb3IgdGltZV90ICBbS2FyZWwgWmFrXQoraW5jbHVkZS93aWRlY2hhcjoKKyAgIC0gYWRkIGZhbGxiYWNrIGZvciBXRU9GICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBmYWxsYmFja3MgIFtLYXJlbCBaYWtdCitpb25pY2U6CisgICAtIGNsYXJpZnkgZGVzY3JpcHRpb24gb2YgLS1jbGFzc2RhdGEgIFtEYW5pZWwgU2hhaGFmXQoraXNvc2l6ZToKKyAgIC0gZG9uJ3QgaWdub3JlIHJlYWQoKSByZXN1bHQgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVhZCgpIHJlc3VsdCBjaGVjayAgW0thcmVsIFpha10KK2tpbGw6CisgICAtIHJlbW92ZSBwaWQgY29tbWFuZC1uYW1lIHRvIG9wdGlvbiBhbGlhcyAgW1NhbWkgS2Vyb2xhXQorbGFzdDoKKyAgIC0gY2xlYW51cCB0aW1lIGZvcm1hdHRpbmcgY29kZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGxvZ291dCB0aW1lICBbS2FyZWwgWmFrXQorbGliOgorICAgLSBhdm9pZCBkb3VibGUgZnJlZSBpbiBsb29wZGV2LmMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdHJ5IHRvIGZpbmQgdHR5IGluIGdldF90ZXJtaW5hbF9uYW1lKCkgIFtTYW1pIEtlcm9sYV0KK2xpYi9jcmMzMjoKKyAgIC0gcHJlZml4IHB1YmxpYyBmdW5jdGlvbnMgIFtHdXN0YXZvIFphY2FyaWFzXQorbGliL2xvb3BkZXY6CisgICAtIFNldCBlcnJubyBpbiBpc19sb29wZGV2IG9uIGVycm9yICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIGNsZWFudXAgc2l6ZWxpbWl0IGNoZWNrICBbS2FyZWwgWmFrXQorbGliL21ic2FsaWduOgorICAgLSBmaXggZm9yIG5vbi13aWRlY2hhciAgW0thcmVsIFpha10KKyAgIC0gZnJlZSBidWZmZXIgYWZ0ZXIgZXJyb3IgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliL3BhZ2VyOgorICAgLSBjbGVhbnVwIGFuZCBleHRlbmQgQVBJICBbS2FyZWwgWmFrXQorICAgLSBmaXggdGVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVzdG9yZSBzaWduYWxzIHNldHRpbmcgYnkgcGFnZXJfY2xvc2UoKSAgW0thcmVsIFpha10KK2xpYi9yYW5kdXRpbHM6CisgICAtIGFkZCB4c3JhbmQoKSBhbmQgcmFuZF9nZXRfbnVtYmVyKCkgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBmdW5jdGlvbiAgW0thcmVsIFpha10KK2xpYi9zdHJ1dGlsczoKKyAgIC0gbWFrZSBsZWZ0IGFuZCByaWdodCB0cmltcyBtb3JlIHJvYnVzdCAgW1NhbWkgS2Vyb2xhXQorbGliL3N5c2ZzOgorICAgLSBiZSBtb3JlIHNtYXJ0IGZvciBub24tc2NzaSBkZXZpY2VzICBbS2FyZWwgWmFrXQorbGliL3RpbWV1dGlsczoKKyAgIC0gYWRkIHN0cnRpbWVfc2hvcnQoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0cnh4eF9pc28oKSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCitsaWIvdHR5dXRpbHM6CisgICAtIHVzZSBzdGRvdXQgZm9yIGdldF90ZXJtaW5hbF93aWR0aCgpICBbS2FyZWwgWmFrXQorbGliYmxraWQ6CisgICAtIEFkZCBtZXRhZGF0YSBzaWduYXR1cmUgY2hlY2sgZm9yIElNU00gb24gNEtuIGRyaXZlcyAgW0FsZXhleSBPYml0b3Rza2l5XQorICAgLSBBdm9pZCBPT0IgYWNjZXNzIG9uIGlsbGVnYWwgWkZTIHN1cGVyYmxvY2tzICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIEF2b2lkIHN0cmxlbiBpZiBvbmx5IGZpcnN0IGNoYXIgaXMgY2hlY2tlZCAgW1RvYmlhcyBTdG9lY2ttYW5uXQorICAgLSBDaGVjayB0aGF0IGNsdXN0ZXIgc2l6ZSBpcyBub256ZXJvIHdoZW4gcHJvYmluZyBleEZBVCAgW1Jvc3Rpc2xhdiBTa3Vkbm92XQorICAgLSBbZXhmYXRdIExpbWl0IG1heGltdW0gbnVtYmVyIG9mIGl0ZXJhdGlvbnMgaW4gZmluZF9sYWJlbCAgW1Jvc3Rpc2xhdiBTa3Vkbm92XQorICAgLSBhdm9pZCBub24tZW1wdHkgcmVjdXJzaW9uIGluIEVCUiAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgYmxraWRfcGFyc2VfdGFnX3N0cmluZygpIHJldHVybiBjb2RlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgY2hlY2sgbm9ubnVsbCBhdHRyaWJ1dGVzIGZvciBOVUxMIFstV25vbm51bGwtY29tcGFyZV0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWJ1Z2dpbmcgbWFjcm8gW29jbGludF0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IG1pc3Rha2UgaW4gZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gaWdub3JlIGVtcHR5IE1CUiBvbiBMVk0gZGV2aWNlICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgZXh0ZW5kZWQgcGFydGl0aW9uIGF0IHplcm8gb2Zmc2V0ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIEkvTyBlcnJvcnMgb24gQ0RST01zIG5vbi1mYXRhbCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBibGtpZF9kb193aXBlKCkgd29yayB3aXRoIHByb2JlcyB3aXRoIG9mZnNldCAgW1BldHIgVXplbF0KKyAgIC0gcmVkdWNlIHByb2JpbmcgYXJlYSBmb3IgY3JhenkgQ0RST01zICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW51c2VkIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBpZiBjbGF1c2UgW29jbGludF0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3RvcmUgb25seSBjYW5vbmljYWwgZGV2bmFtZXMgdG8gdGhlIGNhY2hlICBbS2FyZWwgWmFrXQorbGliY29tbW9uOgorICAgLSBhZGQgSVNPXzg2MDFfR01USU1FIHRoYXQgd2lsbCBwcmludCBVVEMtMCB0aW1lc3RhbXBzICBbU2FtaSBLZXJvbGFdCitsaWJmZGlzazoKKyAgIC0gKGRvY3MpIGFkZCBtaXNzaW5nIHZlcnNpb24gbm90ZXMgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGJlIG1vcmUgY2FyZWZ1bCB3aXRoIDY0Yml0IGNvbnN0YW50cyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgbWFrZSBhdHRyaWJ1dGVzIHBhcnNlciBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gKHNjcmlwdCkgbWFrZSBib290YWJsZSBmbGFnIHBhcnNpbmcgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIEFkZCBzdXBwb3J0IGZvciBhbHRlcmluZyBHUFQgc2l6ZSAgW1Nhc3NhbiBQYW5haGluZWphZF0KKyAgIC0gRGlzdGluZ3Vpc2ggYmV0d2VlbiBmaXJzdCBMQkEgc2VjdG9yIGFuZCBwYXJ0aXRpb24gIFtUb2JpYXMgU3RvZWNrbWFubl0KKyAgIC0gRml4IGFzc2VydCBlcnJvciBpbiBmcmVlIHNwYWNlIGhhbmRsaW5nICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIGFkZCBBUEkgZm9yIHdvcmsgd2l0aCBsYWJlbGl0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfd2lwZV9wYXJ0aXRpb24oKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRyaXZpYWwgc2NyaXB0IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZmRpc2tfZ3B0X3NldF9ucGFydGl0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGxhYmVsaXRlbSBpbml0aWFsaXphdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgb2ZmZXIgemVybyBsZW5ndGggZnJlZXNwYWNlICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmFuZ2UgY2hlY2tpbmcgZm9yIGZkaXNrX3NldF9sYXN0X2xiYSAgW1Nhc3NhbiBQYW5haGluZWphZF0KKyAgIC0gZml4IHNjcmlwdCBUeXBlPSBhbmQgSWQ9IHBhcnNpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmaXggdW5pbml0aWFsaXplZCBmZGlza19sYWJlbGl0ZW0gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWFrZSBzY3JpcHQgdG9rZW4gcGFyc2VyIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHRhYmxlLWxlbmd0aCB1c2FnZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBmZGlza19maWVsZF8uLi4oKSBmdW5jdGlvbnMgdG8gZmllbGQuYyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX2FkZF9wYXJ0aXRpb24oKSBmb3IgdW51c2VkIHBhcnRubyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHRhYmxlLWxlbmd0aCBpbiBkdW1wIGZvciBub24tc3RhbmRhcmQgUFQgIFtLYXJlbCBaYWtdCitsaWJsa2lkOgorICAgLSBBZGQgbGVuZ3RoIGNoZWNrIGluIHByb2JlX25pbGZzMiBiZWZvcmUgY3JjMzIgIFtUb3JzdGVuIEhpbGJyaWNoXQorICAgLSBmaXggcHJvYmVfbmlsZnMyIEkvTyBlcnJvciBiYWNrdXAgIFtLYXJlbCBaYWtdCitsaWJtb3VudDoKKyAgIC0gRml4IHBvc3NpYmxlIGNyYXNoIGluIG1udF9jb250ZXh0X3NldHVwX2xvb3BkZXYoKSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEludHJvZHVjZSBuZXcgZXJyb3IgIE1OVF9FUlJfTE9PUE9WRVJMQVAgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBQcmVzZXJ2ZSBlbXB0eSBzdHJpbmcgdmFsdWUgaW4gb3B0c3RyIHBhcnNpbmcgIFtGaWxpcGUgQnJhbmRlbmJ1cmdlcl0KKyAgIC0gUmUtb3JnYW5pemUgaXNfbW91bnRlZF9zYW1lX2xvb3BmaWxlKCkgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBkb24ndCBjaGVjayBub25udWxsIGF0dHJpYnV0ZXMgZm9yIE5VTEwgWy1Xbm9ubnVsbC1jb21wYXJlXSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3Qgc3VwcG9ydCAvZXRjL210YWIgYnkgZGVmYXVsdCAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbW9yeSBsZWFrICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtbnRfdGFibGVfcGFyc2VfbXRhYigpIGxvZ2ljICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW50X3RhYmxlX3BhcnNlX3N0cmVhbSgpIGxvZ2ljICBbS2FyZWwgWmFrXQorICAgLSBmaXggbW91bnQgLWEgZm9yIGNpZnMgIFtBdXJlbGllbiBBcHRlbF0KKyAgIC0gZml4IG51bGwtY2hlY2tpbmcgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBpZ25vcmUgcmVkdW5kYW50IHNsYXNoZXMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Uga2VybmVsX2ZzX3Bvc3RwYXJzZSgpIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSBvbmUgaXRlcmF0aW9uIHRvIGRldGVjdCBvdmVybGFwIGFuZCByZXVzZSBsb29wZGV2ICBbS2FyZWwgWmFrXQorICAgLSBwYXJhbm9pZCBjaGFuZ2UgaW4gbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQoKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGR1cGxpY2F0ZSBjb2RlICBbS2FyZWwgWmFrXQorICAgLSByZXVzZSBleGlzdGluZyBsb29wIGRldmljZSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIHRyeSBhYnNvbHV0ZSB0YXJnZXQgYmVmb3JlIGNhbm9uaWNhbGl6ZSAgW0thcmVsIFpha10KK2xpYm1vdW50LCBsb29rOgorICAgLSByZW1vdmUgZGVhZCBjb2RlIFtvY2xpbnRdICBbU2FtaSBLZXJvbGFdCitsaWJtb3V0OgorICAgLSBSZXVzZSBsb29wIGRldmljZSBzYWZlbHkgIFtTdGFuaXNsYXYgQnJhYmVjXQorbGlic21hcnRjb2xzOgorICAgLSAoZG9jcykgYWRkIG1pc3NpbmcgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSAoZG9jcykgYWRkIG1pc3NpbmcgdmVyc2lvbiBub3RlcyAgW0thcmVsIFpha10KKyAgIC0gQ29ycmVjdGVkIEpTT04gZXNjYXBpbmcgIFtLYXJlbCBaYWssIEJyeWFuIEVsbGlvdHRdCisgICAtIGFkZCBKU09OIHN1cHBvcnQgdG8gc2FtcGxlIGFwcGxpY2F0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYXBwbGljYXRpb24gdG8gdGVzdCBsaWJyYXJ5IGZlYXR1cmVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmFsbGJhY2sgZm9yIHN5bWJvbHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmdW5jdGlvbnMgdG8gY29udHJvbCB0ZXJtaW5hbCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1heG91dCBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY29sc19jb2x1bW5fYWRkX3dpZHRoKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY29sc190YWJsZV9nZXRfbmFtZSgpICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIHNjb2xzX3RhYmxlX2lzX25vbGluZXNlcCgpICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIHNjb2xzX3RhYmxlX2lzX25vd3JhcCgpICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIHRyZWVzIHRvIHRoZSBzYW1wbGUgYXBwbGljYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIGNoYW5nZSBjZWxsIHBhZGRpbmcgY2hhciAgW0thcmVsIFpha10KKyAgIC0gYmUgY29uc2lzdGVudCwgdXNlICdzeScgZm9yIHN5bWJvbHMgIFtJZ29yIEduYXRlbmtvXQorICAgLSBiZSBtb3JlIHN0cmljdCBhYm91dCBlbXB0eSB0YWJsZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZ2V0IGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBsaW5lIHNlcGFyYXRvciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzY29sc190YWJsZV9zZXRfc3ltYm9scygpIEFQSSAgW0thcmVsIFpha10KKyAgIC0gY29tbWl0IG1pc3NpbmcgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gY3VzdG9tIHdyYXAgZml4ZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHByaW50IHRpdGxlIGNvbG9yIGlzIGNvbG9ycyBkaXNhYmxlZCAgW0thcmVsIFpha10KKyAgIC0gZXh0ZW5kIHdyYXBubCBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBXUkFQTkwgY3Jhc2hlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IFdSQVBOTCBvbiBzdHJpbmdzIHdpdGhvdXQgXG4gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb21tZW50ICBbS2FyZWwgWmFrXQorICAgLSBmaXggaGlkZGVuIGZpbGUgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtaW5pbWFsIGNvbHVtbiB3aWR0aCBjYWxjdWxhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IG5vbi10dHkgb3V0cHV0IGZvciAnbWF4b3V0JyBjb2x1bW5zICBbS2FyZWwgWmFrXQorICAgLSBmaXggcGFkZGluZyBmb3Igbm9uLW1heG91dCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBzY29sc190YWJsZV9lbmFibGVfY29sb3JzKCkgdXNhZ2UgaW4gc2FtcGxlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IHRpdGxlIG91dHB1dCBvbiBub24tdHR5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHJlZSBwYWRkaW5nICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwb3MgaW4gZG9jcyAgW0lnb3IgR25hdGVua29dCisgICAtIGZpeGVzIGluIGRvYyBnZW5lcmF0aW9uICBbSWdvciBHbmF0ZW5rb10KKyAgIC0gaW1wcm92ZSBKU09OICBbS2FyZWwgWmFrXQorICAgLSBrZWVwIHNjb2xzX3RhYmxlX2dldF90ZXJtd2lkdGgoKSByZWFkLW9ubHkgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZ2V0X2xpbmUvY29sdW1uX3NlcGFyYXRvcigpIHJldHVybiBjb25zdCAgW0lnb3IgR25hdGVua29dCisgICAtIG1ha2Ugc2NvbHNfc29ydF90YWJsZSgpIHVzYWJsZSBmb3IgdHJlZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkZWJ1Z2luZyBjb2RlIGZyb20gc2FtcGxlICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IExJQlNNQVJUQ09MU19ERUJVR19QQURESU5HPW9uICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IGN1c3RvbSB3cmFwIGFuZCByZW1vdmUgU0NPTFNfRkxfV1JBUE5MICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IG11bHRpLWxpbmUgY2VsbHMgYmFzZWQgb24gbGluZSBicmVha3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBTQ09MU19GTF9SSUdIVCBpbiBzYW1wbGUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBjb25zdCBxdWFsaWZpZXIgZm9yIHNjb2xzX3RhYmxlX2dldF90ZXJtd2lkdGggIFtJZ29yIEduYXRlbmtvXQorICAgLSB1c2UgY29uc3QgcXVhbGlmaWVyIHdoZXJlIGl0J3MgcG9zc2libGUgIFtJZ29yIEduYXRlbmtvXQorbG9nZ2VyOgorICAgLSBhZGQgbWFuIHBhZ2Ugbm90ZSBhYm91dCB0aGUgZGVmYXVsdCAtLXRhZyAgW0thcmVsIFpha10KKyAgIC0gYmUgbW9yZSBwcmVjaXNlIGFib3V0IC0tcG9ydCBkZXNjcmlwdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHRyYWlsaW5nIHNwYWNlcyB3aGVuIG91dHB1dGluZyB0byBqb3VybmFsICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IGlmIGNsYXVzZSBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQorbG9vcGRldjoKKyAgIC0gSW1wbGVtZW10IGxvb3BjeHRfc2V0X3N0YXR1cygpICBbU3RhbmlzbGF2IEJyYWJlY10KK2xvc2V0dXA6CisgICAtIFByZXZlbnQgQVVUT0NMRUFSIGRldGFjaCByYWNlICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gYWRkIC0tbm9vdmVybGFwIG9wdGlvbnMgIFtLYXJlbCBaYWssIFN0YW5pc2xhdiBCcmFiZWNdCisgICAtIGFsbG93IHRvIHVzZSAtLW5vb3ZlcmxhcCB3aGVuIGRldmljZSBzcGVjaWZpZWQgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBvdXRkYXRlZCBjb21tZW50ICBbIll1cml5IE0uIEthbWluc2tpeSJdCitsb3NldHVwIC0tbm9vdmVybGFwOgorICAgLSBmaXggdHlwbyAgW1N0YW5pc2xhdiBCcmFiZWNdCitsc2JsazoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgLS1zb3J0IGFuZCAtLWxpc3QgcmVsYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgc3VwcG9ydCBmb3IgbnZtZSAgW0thcmVsIFpha10KKyAgIC0gc29ydCBieSBNQUogTUlOIGJ5IGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBJRF9XV05fV0lUSF9FWFRFTlNJT04gaXMgcG9zc2libGUgIFtLYXJlbCBaYWtdCitsc2NwdToKKyAgIC0gYWRkIC0tcGh5c2ljYWwgb3B0aW9uICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGFkZCBkcmF3ZXIgc3VwcG9ydCAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhZGQgcGFyc2FibGUgdGVzdGNhc2Ugd2l0aCB0aGUgLS1waHlzaWNhbCBvcHRpb24gIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gYWRkIHMzOTAgZHJhd2VyIHRlc3RjYXNlICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGRpc2FibGUgaXNfdm13YXJlX3BsYXRmb3JtKCkgZm9yIG5vbi1yb290IHVzZXJzICBbS2FyZWwgWmFrXQorICAgLSBmaXggTU1IWiBjb2x1bW4gZW50cnkgd2l0aGluIG1hbiBwYWdlICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIGZpeCB0eXBvIGluIHN1bW1hcnkgb3V0cHV0ICBbSGVpa28gQ2Fyc3RlbnNdCisgICAtIG1ha2UgbG9va3VwX2NhY2hlKCkgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG9ubHkgdHJ5IHRvIHJlYWQgc3lzZnMgYXR0cmlidXRlcyBvZiBwcmVzZW50IENQVXMgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gcHJpbnQgY29ycmVjdCBudW1iZXIgb2YgdGhyZWFkcyBwZXIgY29yZSBpZiBwb3NzaWJsZSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzaG93IGFkZGl0aW9uYWwgY2FjaGVzIChzMzkwKSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBzaG93IG1hY2hpbmUgdHlwZSAoczM5MCkgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gc2hvdyBzdGF0aWMgYW5kIGR5bmFtaWMgTUh6IChzMzkwKSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSB1cGRhdGUgczM5MC1scGFyLWRyYXdlciB0ZXN0Y2FzZSAgW0hlaWtvIENhcnN0ZW5zXQorbHNpcGM6CisgICAtIHVzZSBzdHJ0aW1lX3Nob3J0KCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdHJ0bV9pc28oKSAgW0thcmVsIFpha10KK2xzbG9ja3M6CisgICAtIGFkZCAtLW5vaW5hY2Nlc3NpYmxlICBbS2FyZWwgWmFrXQorbHNsb2dpbnM6CisgICAtIHNpbXBsaWZ5IGlmIGNsYXVzZSBhbmQgbW92ZSBkZWZpbml0aW9uIGFuZCBjb21tZW50cyBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2Ugc3RydGltZV9zaG9ydCgpICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RydG1faXNvKCkgIFtLYXJlbCBaYWtdCitsc25zOgorICAgLSBjaGVjayBmb3IgT09NICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtIGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBtaXNzaW5nIG5zLzxuYW1lPiBpcyBub3QgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgY2dyb3VwIG5hbWVzcGFjZXMgIFtNaWNoYcWCIEJhcnRvc3praWV3aWN6XQorbHNwY3U6CisgICAtIG1pbm9yIG1hbnBhZ2UgaW1wcm92ZW1lbnQgIFtIZWlrbyBDYXJzdGVuc10KK21hbiBwYWdlczoKKyAgIC0gZml4IHNwYWNpbmcgYmV0d2VlbiBtYW4gcGFnZSBuYW1lICYgc2VjdGlvbiBudW1iZXIgIFtNaWtlIEZyeXNpbmdlcl0KK21pc2M6CisgICAtIEZpeCB2YXJpb3VzIHR5cG9zICBbU2ViYXN0aWFuIFJhc211c3Nlbl0KKyAgIC0gYWx3YXlzIGNoZWNrIHNldGVudigzKSByZXR1cm4gdmFsdWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xlYW51cCBub24td2lkZWNoYXIgY29tcGlsYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWNsYXJhdGlvbnMgc2hhZG93aW5nIHZhcmlhYmxlcyBpbiB0aGUgZ2xvYmFsIHNjb3BlIFtvY2xpbnRdICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB1bnNpZ25lZCBpbnQgdXNhZ2UgZm9yIGN0eXBlLmggZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSBvbmNlIGFnYWluIHNvbWUgcHJpbnRmIGZvcm1hdCBzdHJpbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHNpbXBsaWZ5IGlmIGNsYXVzZXMgW29jbGludF0gIFtTYW1pIEtlcm9sYV0KK21rc3dhcDoKKyAgIC0gdG9sZXJhdGUgRU5PVFNVUCB3aGVuIGZhaWxpbmcgdG8gcmVsYWJlbCAgW0x1Ym9taXIgUmludGVsXQorbW9yZToKKyAgIC0gZG9uJ3QgaW5jbHVkZSBuY3Vyc2VzLmgsIGZpeCBmb3Igbm9uLXdpZGVjaGFyICBbS2FyZWwgWmFrXQorbW91bnQ6CisgICAtIEhhbmRsZSBFUk9GUyBiZWZvcmUgY2FsbGluZyBtb3VudCgpIHN5c2NhbGwgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBIYW5kbGUgTU5UX0VSUl9MT09QT1ZFUkxBUCAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIGFkZCBub3RlIGFib3V0IGFub3RoZXIgZmxhZ3MgZm9yICJyZW1vdW50LGJpbmQiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBsb29wZGV2IHJldXNlIHRvIG1vdW50LjggIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IHBhdGhzIHZlcmlmaWNhdGlvbiB0byBtb3VudC44ICBbS2FyZWwgWmFrXQorICAgLSBhcHBlbmQgaW52ZXJ0aW5nIG9wdGlvbnMgZm9yIG1vdW50Ljx0eXBlPiBvbiAidXNlcnMiICBbS2FyZWwgWmFrXQorICAgLSBtb3VudC44IFVwZGF0ZSBsb29wIGRldmljZSBkb2N1bWVudGF0aW9uICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gc21hbGwgY2hhbmdlIHRvIG1vdW50LjggbG9vcGRldiBzZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSB0cnkgdG8gdGVsbCB3aGF0IG1vdW50IHdhcyBkb2luZyB3aGVuIGl0IGZhaWxlZCAgW1NhbWkgS2Vyb2xhXQorbnNlbnRlcjoKKyAgIC0gZW50ZXIgbmFtZXNwYWNlcyBpbiB0d28gcGFzc2VzICBbSmFtZXMgQm90dG9tbGV5XQorcGF0aG5hbWVzOgorICAgLSBndWFyZCBjbGFzaGluZyBkZWZpbml0aW9ucyBvbiBGcmVlQlNEICBbRnJhbmNvIEZpY2h0bmVyXQorcGc6CisgICAtIHN0b3AgYnVpbGRpbmcgdGhlIGNvbW1hbmQgYnkgZGVmYXVsdCAgW1NhbWkgS2Vyb2xhXQorcG86CisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUMOtc2HFmV0KKyAgIC0gdXBkYXRlIGRlLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUGhpbGlwcCBUaG9tYXNdCisgICAtIHVwZGF0ZSBlcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FudG9uaW8gQ2ViYWxsb3MgUm9hXQorICAgLSB1cGRhdGUgamEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtUYWtlc2hpIEhhbWFzYWtpXQorICAgLSB1cGRhdGUgbmwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtCZW5ubyBTY2h1bGVuYmVyZ10KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgc3YucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtTZWJhc3RpYW4gUmFzbXVzc2VuXQorICAgLSB1cGRhdGUgdWsucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIHVwZGF0ZSB6aF9DTi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1d5bG1lciBXYW5nXQorcHlsaWJtb3VudDoKKyAgIC0gaW5jbHVkZSBjLmggIFtLYXJlbCBaYWtdCityYW1jdGw6CisgICAtIGFkZCBzdXBwb3J0IGZvciB6cmFtLWNvbnRyb2wgIFtLYXJlbCBaYWtdCityZXY6CisgICAtIEF2b2lkIGNhbGxpbmcgZnJlZSBpbiBhIHNpZ25hbCBoYW5kbGVyICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIEF2b2lkIG91dCBvZiBib3VuZGFyeSByZWFkICBbVG9iaWFzIFN0b2Vja21hbm5dCitydGN3YWtlOgorICAgLSBhZGQgbm90ZSBhYm91dCBSVEMgbGltaXRzICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN1cmUgYnVmZmVyIGlzIHplcm8gdGVybWluYXRlZCBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitzY3JpcHQ6CisgICAtIGF2b2lkIHRyeWluZyBmY2xvc2UoTlVMTCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgc3RhdHVzIG9mIHdyaXRlcyB3aGVuIGNsb3Npbmcgb3V0cHV0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBjbG9zZSBmaWxlIGRlc2NyaXB0b3JzIG9uIGV4ZWMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW1wcm92ZSBjb2Rpbmcgc3R5bGUgYW5kIHRoZSAiZG9uZSIgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVtcHR5LXNsYXZlIGhldXJpc3RpYyBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KK3NjcmlwdHJlcGxheToKKyAgIC0gYXZvaWQgcmUtaW1wbGVtZW50aW5nIHN0cnRvZF9vcl9lcnIoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGVycm9yIG1lc3NhZ2UgIFtTYW1pIEtlcm9sYV0KK3NldGFyY2g6CisgICAtIGxldCdzIGtlZXAgYW5hbHl6ZXIgaGFwcHkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorc2V0cHduYW06CisgICAtIGZpeCBtZW1vcnkgbGVhayAgW1NhbWkgS2Vyb2xhXQorc2V0dGVybToKKyAgIC0gZGUtZHVwbGljYXRlIGNvbG9yIG9wdGlvbiBzdHJpbmcgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGRlY2xhcmF0aW9ucyBzaGFkb3dpbmcgdmFyaWFibGVzIGluIHRoZSBnbG9iYWwgc2NvcGUgW29jbGludF0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHRyYW5zbGF0aW9uIHN0cmluZyAgW1NhbWkgS2Vyb2xhXQorc2ZkaXNrOgorICAgLSBBZGQgLS1zaG93LXB0LWdlb21ldHJ5IGNvbXBhdGliaWxpdHkgY29kZSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEFkZCBzdXBwb3J0IGZvciBhbHRlcmluZyBHUFQgc2l6ZSAgW1Nhc3NhbiBQYW5haGluZWphZF0KKyAgIC0gYWRkIC0tbm8tdGVsbC1rZXJuZWwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXdpcGUtcGFydGl0aW9ucz1hdXRvfG5ldmVyfGRlZmF1bHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzaG93LXB0LWdlb21ldHJ5IHRvIHVzYWdlKCkgYW5kIHNmZGlzay44ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGJlZm9yZSBnb2luZyBvdXQgb2Ygc2NvcGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBleGl0IHdpdGggZXJyb3IgaWYgcmVyZWFkaW5nIHBhcnRpdGlvbiB0YWJsZSBmYWlscyAgW1ZpY3RvciBEb2Rvbl0KKyAgIC0gZnJlZSBiZWZvcmUgZ29pbmcgb3V0IG9mIHNjb3BlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBub24taW50ZXJhY3RpdmUgb3V0cHV0IG1vcmUgcmVhZGFibGUgIFtLYXJlbCBaYWtdCitzbWFydGNvbHMvc3ltYm9sczoKKyAgIC0gZnJlZSBjZWxsX3BhZGRpbmcgaW4gdW5yZWYoKSAgW0lnb3IgR25hdGVua29dCitzdSwgcnVudXNlciwgc2V0cHJpdjoKKyAgIC0gY3JlYXRlIGxpbmtzIGJldHdlZW4gbWFuIHBhZ2VzICBbS2FyZWwgWmFrXQorc3UscnVudXNlcjoKK3N1bG9naW46CisgICAtIGFnZXR0eSAgdXNlIHRoZSBwbHltb3V0aCBsb2NhbCBwcm90b2NvbCBpbnN0ZWFkIHRoZSBwbHltb3V0aCBiaW5hcnkgIFtXZXJuZXIgRmlua10KKyAgIC0gbWFrZSBmb3BlbiBPX0NMT0VYRUMgc3BlY2lmaWVyIHVzYWdlIHBvcnRhYmxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBfX25vbm51bGxfXyBmdW5jdGlvbiBhdHRyaWJ1dGUgIFtTYW1pIEtlcm9sYV0KK3N3YXBvZmY6CisgICAtIGZpeCBtZW0gbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCitzd2Fwb246CisgICAtIGZpeCBkaXNjYXJkIG9wdGlvbiBwYXJzaW5nICBbS2FyZWwgWmFrXQorc3dpdGNoX3Jvb3Q6CisgICAtIHNpbXBsaWZ5IGNvZGUgYW5kIHJlZHVjZSBpbmRlbnRhdGlvbiBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQorc3lzcHJpdjoKKyAgIC0gZmxpcCBpbnZlcnRlZCBsb2dpYyBbb2NsaW50XSAgW1NhbWkgS2Vyb2xhXQordGFpbGY6CisgICAtIEZpeCBwcmV2aW91c2x5IGFkanVzdGVkIHNlZ2ZhdWx0IHBhdGNoICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIEZpeCBzZWdtZW50YXRpb24gZmF1bHQgaW4gdGFpbGYgb24gMzIgYml0ICBbVG9iaWFzIFN0b2Vja21hbm5dCit0YXNrc2V0OgorICAgLSBjbGFyaWZ5IHRoYXQgbWFza3MgYXJlIGFsd2F5cyBoZXggaW4gbWFuIHBhZ2UgIFtDaHJpcyBNZXRjYWxmXQordGVzdHM6CisgICAtIGZpeCByYWlkMSBtaW5pbXVtIEkvTyBzaXplICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIChjcmFtZnMpIGNoZWNrIGZvciB0ZXN0X3N5c2luZm8gIFtLYXJlbCBaYWtdCisgICAtIEFkZCBoZWxwZXIgZm9yIFRJT0NTVEkgZXhwbG9pdCAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEFkZCBsb29wLW92ZXJsYXkgdGVzdCAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEFkZCBsb3NldHVwLWxvb3AgdGVzdCBzdWl0ZSAgW1N0YW5pc2xhdiBCcmFiZWNdCisgICAtIEFsbG93IHJ1bm5pbmcgYSBzaW5nbGUgdGVzdCBjYXNlIGZyb20gdGVzdHMvcnVuLnNoICBbRmlsaXBlIEJyYW5kZW5idXJnZXJdCisgICAtIEZpeCBmZGlzay9pZCBhbmQgZmRpc2svbWJyLW5vbmRvcy1tb2RlIG9uIFNwYXJjICBbSmFtZXMgQ2xhcmtlXQorICAgLSBVc2UgcHJvcGVyIHdvcmQgc3BsaXR0aW5nIHdoZW4gZXhlY3V0aW5nIHRlc3RzICBbRmlsaXBlIEJyYW5kZW5idXJnZXJdCisgICAtIGFkZCBHUFQgYXR0cmlidXRlcyBwYXJzZXIgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBhbm90aGVyIGxpYnNtYXJ0Y29scyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGFub3RoZXIgc2ZkaXNrIHNjcmlwdCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNocnQgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNocnQgdnMuIG5pY2UgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbHVtbnMgc2VwYXJhdG9yIHRvIGxpYnNtYXJ0Y29scyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXhwb3J0IGFuZCByYXcgdG8gbGlic21hcnRjb2xzIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmbG9jayB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYnNtYXJ0Y29scyBKU09OIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJzbWFydGNvbHMgdGl0bGUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGxpYnNtYXJ0Y29scyB3cmFwIGFuZCB3cmFwbmwgdHJlZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgZXhwZWN0ZWQvIGRpciBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNmZGlzayBUeXBlPSBhbmQgSWQ9IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzZmRpc2sgc2NyaXB0IGNhc2UtaW5zZW5zaXRpdmUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHRyZWUgbGlic21hcnRjb2xzIHRlc3QgZmlsZXMgIFtLYXJlbCBaYWtdCisgICAtIGFsd2F5cyBxdW90ZSAkTE9ERVYgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYXZvaWQgJj4+IGZvciBiYXNoIGNvbXBhdGliaWxpdHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2FsbCB1bW91bnQgLS1mYWtlIGZvciB0bXBmcyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gY2hhbGxlbmdlIHV0bXBkdW1wIGxvY2FsaXphdGlvbiBnby1hcm91bmQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2hlY2sgZm9yIG1vdW50KDgpIGluIG1pbml4IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciB0aW1lb3V0IHByb2cgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIHJtbW9kIHNjc2lfZGVidWcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZG9uJ3QgZGVwZW5kIG9uIEdOVSBtZDVzdW0gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGZvciBub24tbmN1cnNlcyB2ZXJzaW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggbGlibW91bnQgbG9vcC1vdmVybGF5IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBsb29wLW92ZXJsYXkgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IGxvc2V0dXAgdGVzdHMgZm9yIC0tbm9vdmVybGFwICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHR5dXRpbHMgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gZml4IHV0bXBkdW1wIHRpbWVzdGFtcHMgdG8gYmUgaW4gaXNvIGZvcm1hdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXBsZW1lbnQgdHNfc2tpcF9zdWJ0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGxpYnNtYXJ0Y29scyB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBrZWVwICdocHBhJyBpbiBmZGlzay9ic2QgdGVzdCB0b28gIFtLYXJlbCBaYWtdCisgICAtIGxldCBsc21vZCBmYWlsIHNpbGVudGx5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGxldCdzIGZvbGxvdyB0c19zY3NpX2RlYnVnX3JtbW9kICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGNocnQgdGVzdCBtb3JlIGRlYnVnLWFibGUgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgdGVzdHMgbW9yZSBwb3J0YWJsZSBkdWUgdG8gbXRhYiAgW0thcmVsIFpha10KKyAgIC0gbWFyayBidWlsZC1pbiBwYXRocyB0ZXN0IGFzIG9wdGlvbmFsICBbS2FyZWwgWmFrXQorICAgLSBtYXJrIGNocnQgYXMgVFNfS05PV05fRkFJTCAgW0thcmVsIFpha10KKyAgIC0gbWFyayBjaHJ0IHRlc3RzIGFzIHJvb3Qtb25seSAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBnZXRvcHQgdG8gc2VwYXJhdGUgZGlyZWN0b3J5ICBbS2FyZWwgWmFrXQorICAgLSByZWFsbHkgZml4IGZkaXNrL2JzZCBmb3IgaHBwYSAgW0hlbGdlIERlbGxlcl0KKyAgIC0gcmVmcmVzaCBjYWwoMSkgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIFVTRV9MSUJNT1VOVF9GT1JDRV9NT1VOVElORk8gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlcGxhY2Ugc2xlZXAgYnkgdWRldmFkbSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB0ZXN0X21kNSBwcmludHMgbWQ1c3VtIG9ubHkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdWRldmFkbSBzZXR0bGUgYmVmb3JlIGxvc2V0dXAgLWQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXBkYXRlIGJ1aWxkLXN5cyBleHBlY3RlZCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBidWlsZC1zeXMgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzZmRpc2sgb3V0cHV0IHN0cmluZ3MgIFtLYXJlbCBaYWtdCisgICAtIHV0bXBkdW1wIGFkZCBzdWJzZWNvbmQgYWNjdXJhY3kgdGVzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSB3YWl0IGZvciBmbG9jayBiYWNrZ3JvdW5kIHByb2Nlc3MgIFtSdWVkaWdlciBNZWllcl0KK3Rvb2xzOgorICAgLSBhZGQgc2NyaXB0IHRvIGxvYWQgLnBvIGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBrby1yZWxlYXNlLWdlbiB1c2FibGUgd2l0aCBncGcyICBbS2FyZWwgWmFrXQordHJhdmlzOgorICAgLSBmaXggT1NYLCBnbGlidG9vbGl6ZSBjb3VsZCBub3QgZmluZCBzZWQgIFtSdWVkaWdlciBNZWllcl0KK3RyaXZpYWw6CisgICAtIHMvYXV0b21hdGljYWwvYXV0b21hdGljL2cgIFtJZ29yIEduYXRlbmtvXQorICAgLSB1c2UgdGFicyBjb25zaXN0ZW50bHkgIFtJZ29yIEduYXRlbmtvXQordWw6CisgICAtIEZpeCBidWZmZXIgb3ZlcmZsb3cgIFtUb2JpYXMgU3RvZWNrbWFubl0KK3Vtb3VudDoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgRlMgbmFtZXMgZGlmZmVyZW5jZXMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHVtb3VudC44IGFib3V0IG10YWIgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBvYnNvbGV0ZSBpbmZvIGFib3V0IGxvb3A9IGluIHVtb3VudC44ICBbS2FyZWwgWmFrXQordXRtcGR1bXA6CisgICAtIHVzZSBhbHdheXMgVVRDLTAgdGltZXpvbmUgaW4gdGV4dHVhbCBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGlzby04NjAxIHRpbWVzdGFtcCBmb3JtYXQgd2l0aCBzdWJzZWNvbmQgYWNjdXJhY3kgIFtTYW1pIEtlcm9sYV0KK3V1aWRkOgorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgcGlkcGlsZSBwYXRoIHZhcmlhYmxlICBbU2FtaSBLZXJvbGFdCit3ZGN0OgorICAgLSBtYXJrIHVzYWdlKCkgYXMgbm9yZXR1cm4gIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK3dpcGVmczoKKyAgIC0gZm9yY2UgR1BUIGRldGVjdGlvbiAgW0thcmVsIFpha10KK3dyaXRlOgorICAgLSBhZGQgY29udHJvbCBzdHJ1Y3R1cmUgdG8gY2xhcmlmeSB3aGF0IGlzIGdvaW5nIG9uICBbU2FtaSBLZXJvbGFdCisgICAtIGRvbid0IHVzZSBzdHJmdGltZSgpICBbS2FyZWwgWmFrXQorICAgLSBmaXggc2V0dWlkIHJlbGF0ZWQgcmVncmVzc2lvbiAgW1dheW5lIFBvbGxvY2tdCisgICAtIGdldCByaWQgb2YgZnVuY3Rpb24gcHJvdG90eXBlcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIHRpbWVzdGFtcCB0byBiZSBvYnZpb3VzbHkganVzdCBhIGNsb2NrIHRpbWUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIFBVVEMgbWFjcm8gIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHBvaW50bGVzcyBmaWxlbm8oMykgY2FsbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHV0bXAgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcnVuIGF0ZXhpdCgpIGNoZWNrcyBhdCB0aGUgZW5kIG9mIGV4ZWN1dGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBzZXQgYXRpbWUgdmFsdWUgaW4gdGVybV9jaGsoKSBvbmx5IHdoZW4gbmVlZGVkICBbU2FtaSBLZXJvbGFdCisgICAtIHN0b3AgcmVtb3ZpbmcgYW5kIGFkZGluZyAvZGV2LyBpbiBmcm9udCBvZiB0dHkgc3RyaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIHRlbGwgd2hlbiBlZmZlY3RpdmUgZ2lkIGFuZCB0dHkgcGF0aCBncm91cCBtaXNtYXRjaCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgeHN0cm5jcHkoKSBmcm9tIHN0cnV0aWxzLmggIFtTYW1pIEtlcm9sYV0KKworLSBhZGQgY29udHJvbCBzdHJ1Y3R1cmUgdG8gY2xhcmlmeSB3aGF0IGlzIGdvaW5nIG9uICBbU2FtaSBLZXJvbGFdCistIGRvbid0IHVzZSBzdHJmdGltZSgpICBbS2FyZWwgWmFrXQorLSBmaXggc2V0dWlkIHJlbGF0ZWQgcmVncmVzc2lvbiAgW1dheW5lIFBvbGxvY2tdCistIGdldCByaWQgb2YgZnVuY3Rpb24gcHJvdG90eXBlcyAgW1NhbWkgS2Vyb2xhXQorLSBpbXByb3ZlIGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorLSBpbXByb3ZlIGZ1bmN0aW9uIGFuZCB2YXJpYWJsZSBuYW1lcyAgW1NhbWkgS2Vyb2xhXQorLSBtYWtlIHRpbWVzdGFtcCB0byBiZSBvYnZpb3VzbHkganVzdCBhIGNsb2NrIHRpbWUgIFtTYW1pIEtlcm9sYV0KKy0gcmVtb3ZlIFBVVEMgbWFjcm8gIFtTYW1pIEtlcm9sYV0KKy0gcmVtb3ZlIHBvaW50bGVzcyBmaWxlbm8oMykgY2FsbHMgIFtTYW1pIEtlcm9sYV0KKy0gcmVtb3ZlIHVubmVjZXNzYXJ5IHV0bXAgdmFyaWFibGVzICBbU2FtaSBLZXJvbGFdCistIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtTYW1pIEtlcm9sYV0KKy0gcnVuIGF0ZXhpdCgpIGNoZWNrcyBhdCB0aGUgZW5kIG9mIGV4ZWN1dGlvbiAgW1NhbWkgS2Vyb2xhXQorLSBzZXQgYXRpbWUgdmFsdWUgaW4gdGVybV9jaGsoKSBvbmx5IHdoZW4gbmVlZGVkICBbU2FtaSBLZXJvbGFdCistIHN0b3AgcmVtb3ZpbmcgYW5kIGFkZGluZyAvZGV2LyBpbiBmcm9udCBvZiB0dHkgc3RyaW5nICBbU2FtaSBLZXJvbGFdCistIHRlbGwgd2hlbiBlZmZlY3RpdmUgZ2lkIGFuZCB0dHkgcGF0aCBncm91cCBtaXNtYXRjaCAgW1NhbWkgS2Vyb2xhXQorLSB1c2UgeHN0cm5jcHkoKSBmcm9tIHN0cnV0aWxzLmggIFtTYW1pIEtlcm9sYV0KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMzAtUmVsZWFzZU5vdGVzIGIvRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4zMC1SZWxlYXNlTm90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U3OTViZQotLS0gL2Rldi9udWxsCisrKyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMzAtUmVsZWFzZU5vdGVzCkBAIC0wLDAgKzEsNzU4IEBACitVdGlsLWxpbnV4IDIuMzAgUmVsZWFzZSBOb3RlcworPT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworVGhlIGxpYmJsa2lkIGxpYnJhcnkgaGFzIGJlZW4gaW1wcm92ZWQgZm9yIGh5YnJpZCBDRFJPTS9EVkQgbWVkaWEgYnkgZXh0cmFjdGluZwordGhlIExBQkVMIGFuZCBVVUlEIHZhbHVlcyBmcm9tIHRoZSBVREYgaGVhZGVyLCByYXRoZXIgdGhhbiB0aGUgSVNPOTY2MCBoZWFkZXIuCitUaGlzIGNoYW5nZSBtYWtlcyBoeWJyaWQgQ0RST00vRFZEIG1lZGlhIGNyZWF0ZWQgb24gb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMgbW9yZQorY29tcGF0aWJsZSBpbiBMaW51eCB1c2VyLXNwYWNlLiBVbmZvcnR1bmF0ZWx5LCB0aGlzIGNoYW5nZSBtYXkgaW50cm9kdWNlIGEKK3JlZ3Jlc3Npb24gZm9yICh1bnVzdWFsKSBoeWJyaWQgQ0RST00vRFZEcyB3aGVyZSB0aGUgSVNPIGFuZCBVREYgaGVhZGVycyB1c2UgYQorZGlmZmVyZW50IExBQkVMLgorCitUaGUgZGVwcmVjYXRlZCBjb21tYW5kIHRhaWxmIGhhcyBiZWVuIHJlbW92ZWQuIFVzZSAidGFpbCAtZiIgZnJvbSBjb3JldXRpbHMuCisKK2Jsa3pvbmUgLS0gTkVXIENPTU1BTkQgdG8gcnVuIHpvbmUgY29tbWFuZHMgb24gYmxvY2sgZGV2aWNlcyB0aGF0IHN1cHBvcnQgWm9uZWQKK0Jsb2NrIENvbW1hbmRzIChaQkMpIG9yIFpvbmVkLWRldmljZSBBVEEgQ29tbWFuZHMgKFpBQykuIFRoZSBjdXJyZW50bHkKK3N1cHBvcnRlZCBmdW5jdGlvbmFsaXR5IGlzICdyZXBvcnQnIGFuZCAncmVzZXQnLgorW3RoYW5rcyB0byBTaGF1biBUYW5jaGVmZiAoU2VhZ2F0ZSksIERhbWllbiBMZSBNb2FsIChXRCldCisKK2ZpbmNvcmUgLS0gTkVXIENPTU1BTkQgdG8gY291bnQgcGFnZXMgb2YgZmlsZSBjb250ZW50cyBpbiBjb3JlIChtZW1vcnkpLgorW3RoYW5rcyB0byBNYXNhdGFrZSBZQU1BVE8gKFJlZCBIYXQpXQorCitsc21lbSAtLSBORVcgQ09NTUFORCB0byBsaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZQorc3RhdHVzIChvcmlnaW5hbGx5IGltcGxlbWVudGVkIGluIFBlcmwgZm9yIHMzOTAtdG9vbHMpLiBbdGhhbmtzIHRvIENsZW1lbnMgdm9uIE1hbm4KK2FuZCBIZWlrbyBDYXJzdGVucyAoSUJNKV0KKworY2htZW0gLS0gTkVXIENPTU1BTkQgdG8gc2V0IG1lbW9yeSBvbmxpbmUvb2ZmbGluZSBzdGF0dXMgW3RoYW5rcyB0byBIZWlrbworQ2Fyc3RlbnMgKElCTSldCisKK1JlbW92ZWQgQWxwaGEgYW5kIGRlYWQgY29kZSBmcm9tIGh3Y2xvY2sncyAtLWRpcmVjdGlzYSBvcHRpb24uCisKK1RoZSBjb21tYW5kIGZhbGxvY2F0ZSBzdXBwb3J0cyBhbiAiaW5zZXJ0IHJhbmdlIiBvcGVyYXRpb24gbm93LgorCitUaGUgY29tbWFuZCAiY29sdW1uIC10fC0tdGFibGUiIGhhcyBiZWVuIG1vZGlmaWVkIHRvIHVzZSBsaWJzbWFydGNvbHMuIEl0IG5vdworcHJvdmlkZXMgbmVhcmx5IGFsbCBvZiB0aGF0IGxpYnJhcnkncyBmdW5jdGlvbmFsaXR5IGZyb20gdGhlIGNvbW1hbmQgbGluZS4gRm9yCitleGFtcGxlOiBwcmludGluZyBhIHRhYmxlIGhlYWRlciwgcmVvcmRlcmluZyBjb2x1bW5zLCBhbGlnbmluZyBjb2x1bW5zCit0byB0aGUgcmlnaHQsIHByaW50aW5nIHRyZWUtbGlrZSBvdXRwdXQsIHdyYXBwaW5nIGxpbmVzIGluIGNlbGxzLCB0cnVuY2F0aW5nCit0ZXh0IGluIGNlbGxzLCBldGMuCisKK1RoZSBsaWJtb3VudCBsaWJyYXJ5IG5vdyBwcm92aWRlcyBhbiBBUEkgdG8gZ2VuZXJhdGUgZXhpdCBjb2RlcyBhbmQgZXJyb3Ivd2FybmluZworbWVzc2FnZXMgY29tcGF0aWJsZSB3aXRoIG1vdW50KDgpLgorCisKK1NlY3VyaXR5IGlzc3VlcworLS0tLS0tLS0tLS0tLS0tCisKK2h3Y2xvY2sgLSBubyBsb25nZXIgbWFrZXMgYW55IGludGVybmFsIHBlcm1pc3Npb24gY2hlY2tzLiBUaGUgU3lzdGVtCisgIEFkbWluaXN0cmF0b3IgbXVzdCBzZXQgcHJvcGVyIHBlcm1pc3Npb25zIHRvIGNvbnRyb2wgdXNlciBhY2Nlc3MgdG8KKyAgdGhlIFJUQy4gSXQgaXMgTk9UIHJlY29tbWVuZGVkIHRvIHVzZSBzZXQtdXNlci1JRC4KKworQ1ZFLTIwMTYtMjc3OSAtIFRoaXMgc2VjdXJpdHkgaXNzdWUgaXMgTk9UIEZJWEVEIHlldC4gIEl0IGlzIHBvc3NpYmxlIHRvCisgIGRpc2FibGUgdGhlIGlvY3RsIFRJT0NTVEkgYnkgc2V0c2lkKCkgb25seS4gIFVuZm9ydHVuYXRlbHksIHNldHNpZCgpCisgIGhhcyB3ZWxsLWRlZmluZWQgdXNlIGNhc2VzIGluIHN1KDEpIGFuZCBydW51c2VyKDEpIGFuZCBhbnkgY2hhbmdlcworICB3b3VsZCBpbnRyb2R1Y2UgcmVncmVzc2lvbnMuICBJdCBzZWVtcyB3ZSBuZWVkIGEgYmV0dGVyIHdheSAtLSBpZGVhbGx5CisgIGFub3RoZXIgaW9jdGwgdG8gZGlzYWJsZSBUSU9DU1RJIHdpdGhvdXQgc2V0c2lkKCkgb3IgaW4gYSB1c2Vyc3BhY2UKKyAgaW1wbGVtZW50ZWQgcHR5IGNvbnRhaW5lciAocGxhbm5lZCBhcyBleHBlcmltZW50YWwgc3UoMSkgZmVhdHVyZSkuCisKKworU3RhYmxlIG1haW50ZW5hbmNlIHJlbGVhc2VzIGJldHdlZW4gdjIuMjkgYW5kIHYyLjMwCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKwordXRpbC1saW51eCAyLjI5LjIgW0ZlYiAwMiAyMDE3XQorCisgKiBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI5L3YyLjI5LjItUmVsZWFzZU5vdGVzCisgICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI5L3YyLjI5LjItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yOS4xIFtKYW4gMDEgMjAxN10KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOS92Mi4yOS4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOS92Mi4yOS4xLUNoYW5nZUxvZworCitDaGFuZ2VzIGJldHdlZW4gdjIuMjkgYW5kIHYyLjMwCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2FnZXR0eToKKyAgIC0gZml4IGEgbWVtb3J5IGxlYWsgd2hlbiBwYXJzaW5nIFxTIGluIGlzc3VlIGZpbGVzICBbTWF0dGhpYXMgR2Vyc3RuZXJdCisgICAtIGZpeCBjaGFyYWN0ZXJzIHJlb3JkZXIgaW4gbG9naW4gcHJvbXB0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggaWZkZWYgdHlwbyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggbG9naW4tb3B0aW9ucyBkZXNjIGluIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSAtLXJlbW90ZSB0byBmb3J3YXJkIC0tbm9ob3N0bmFtZSBhcyAtSCB0byBsb2dpbiAgW1NhbWkgS2Vyb2xhXQorICAgLSByZS1hZGQgdXRtcC5oIGZvciBEZWJpYW4gR05VL2tGcmVlQlNEICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBvYnNvbGV0ZSBIQVZFX1VQRFdUTVAgZmFsbGJhY2sgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHZhcmlhYmxlIHRoYXQgaXMgc2V0IGJ1dCBub3QgcmVhZCAgW1NhbWkgS2Vyb2xhXQorICAgLSB2YXJpb3VzIG1hbi1wYWdlIGZpeGVzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCitiYXNoLWNvbXBsZXRpb246CisgICAtIGFkZCBhIGZ1bmN0aW9uIGZvciBmaW5jb3JlIGNvbW1hbmQgIFtNYXNhdGFrZSBZQU1BVE9dCisgICAtIGFkZCBibGtyZXNldCBhbmQgYmxrcmVwb3J0IGNvbXBsZXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGRpc2stdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGZpbmNvcmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIGZpbmNvcmUgdG8gaGF2ZSBsYXRlc3Qgb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgaHdjbG9jayAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgbG9naW4tdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIG1pc2MtdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIHNjaGVkdXRpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIHN5cy11dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgdGVybS11dGlscyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgdGV4dC11dGlscyAgW1NhbWkgS2Vyb2xhXQorYmxraWQ6CisgICAtIGFkZCBjb250cm9sIHN0cnVjdCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgY3VybHkgYnJhY2VzIHRvIGRvLXdoaWxlIHN0YXRlbWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgbG9uZyBvcHRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBtZXNzYWdlcyB0byB0cmFuc2xhdGlvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XZGlzY2FyZGVkLXF1YWxpZmllcnNdICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmV0dXJuIGNvZGUgd2hlbiBkaXNwbGF5IHRoZSB2ZXJzaW9uICBbQWxleGV5IEdsYWRrb3ZdCisgICAtIHNpbXBsaWZ5IHZlcnNpb24gb3B0aW9uIGhhbmRsaW5nICBbU2FtaSBLZXJvbGFdCitibGt6b25lOgorICAgLSBBZGQgLS1jb3VudCBvcHRpb24gIFtEYW1pZW4gTGUgTW9hbF0KKyAgIC0gRml4IHpvbmUgY29uZGl0aW9uIHN0cmluZ3MgaGFuZGxpbmcgIFtEYW1pZW4gTGUgTW9hbF0KKyAgIC0gSW1wcm92ZSB6b25lIGluZm9ybWF0aW9uIHByaW50ICBbRGFtaWVuIExlIE1vYWxdCisgICAtIFJlcG9ydCBhbGwgem9uZXMgaWYgbGVuZ3RoIGlzIG5vdCBzcGVjaWZpZWQgIFtEYW1pZW4gTGUgTW9hbF0KKyAgIC0gUmVzZXQgYWxsIHpvbmVzIHdoZW4gbGVuZ3RoIGlzIG5vdCBzcGVjaWZpZWQgIFtEYW1pZW4gTGUgTW9hbF0KKyAgIC0gYWRkIGJhc2gtY29tcGxldGlvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvdW50IG9wdGlvbiB0byBiYXNoLWNvbXBsZXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgY29tbWFuZCAobWVyZ2UgYmxrcmVwb3J0IGFuZCBibGtyZXNldCkgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBvcHR1dGlscy5oIHRvIGNoZWNrIG11dHVhbGx5IGV4Y2x1c2l2ZSBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgIkxCQSIgZnJvbSB1c2FnZSgpIGFuZCB1bm5lY2Vzc2FyeSBhbGlnbm1lbnQgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIHNsaWNlIHVwIG9wdGlvbiBkZXNjcmlwdGlvbnMsIGZpeCB0eXBvLCBmaXggZG9jc3RyaW5nICBbQmVubm8gU2NodWxlbmJlcmddCisgICAtIHJlbW92ZSBpbiBmYXZvdXIgb2YgYmxrem9uZSAgW0thcmVsIFpha10KKyAgIC0gc21hbGwgY29kZSBjbGVhbiB1cHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlICJMQkEiIGZyb20gdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gQWRkIG5ldyBjb21tYW5kcyBmb3IgWkFDL1pCQyBkcml2ZXMgIFtTaGF1biBUYW5jaGVmZl0KK2J1aWxkLXN5czoKKyAgIC0gYWRkIEFDX1NUUlVDVF9USU1FWk9ORSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub24td2lkZWNoYXIuY29uZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIHBhcnNlLWRhdGUueSAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIFBPU0lYIHV0bXB4IHVzYWdlICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNsZWFudXAgVUxfTkNVUlNFU19DSEVDSyAgW0thcmVsIFpha10KKyAgIC0gY29zbWV0aWNzIFBBQ0tBR0VfVkVSU0lPTl9NSU5PUiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjb3NtZXRpY3MsIGF2b2lkIHVzZWxlc3MgbTQgcXVvdGVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRpc2FibGUgdGFpbGYgYnkgZGVmYXVsdCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkb24ndCBjbGVhbiAqLmltZyBmaWxlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggInJlbW92ZSB0aGUgZyBpbiBnaXQgZGVzY3JpYmUiICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCAtLWRpc2FibGUtYWxsLXByb2dyYW1zIC0tZW5hYmxlLXNjaGVkdXRpbHMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBiYXNoaXNtLCBpbnRyb2R1Y2VkIGluIDg1MDA0YjE0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBjb21waWxhdGlvbiB3aXRoIG5jdXJzZXMgYW5kIHVDbGliYyBvciBtdXNsIGxpYmMgIFtDYXJsb3MgU2FudG9zXQorICAgLSBmaXggZW1wdHkgcGFja2FnZSByZWxlYXNlIG51bWJlciAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggbGlicmFyeSBvcmRlciB3aGVuIGxpbmtpbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGxzbWVtIGRlcGVuZGVuY2UgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZGV0ZWN0aW9uIG9mIHRoZSAiaXNuYW4iIGZ1bmN0aW9uIGluIHVDbGliYyAgW0NhcmxvcyBTYW50b3NdCisgICAtIG1ha2UgbmN1cnNlcyBkZXRlY3Rpb24gbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgbHNtZW0gYW5kIGNobWVtIGFzIExpbnV4IG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIG5jdXJzZXMgaGVhZGVycyBjbGVhbnVwICBbS2FyZWwgWmFrXQorICAgLSBwcmVmZXIgbmN1cnNlcy1jb25maWcgcmF0aGVyIHRoYW4gcGtnLWNvbmZpZyAgW0thcmVsIFpha10KKyAgIC0gcHJlZmVyIHBrZy1jb25maWcgZm9yIG5jdXJzZXMgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMzAtcmMxKSAgW0thcmVsIFpha10KKyAgIC0gcmVsZWFzZSsrICh2Mi4zMC1yYzIpICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgY29sdW1uLW9sZC5jICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZHVwbGljYXRlIGluY2x1ZGVzICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgb2xkIGdpdCBmYWxsYmFjayBmcm9tIGdpdC12ZXJzaW9uLWdlbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZXF1aXJlIGtlcm5lbCBoZWFkZXJzIG9uIExpbnV4ICBbS2FyZWwgWmFrXQorICAgLSBzaW1wbGlmeSBVTF9FTkFCTEVfQUxJQVMoKSBzZW1hbnRpYyAgW0thcmVsIFpha10KKyAgIC0gdGVzdF9saW51eF92ZXJzaW9uIGlzIExpbnV4IG9ubHkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBwYWNrYWdlIHJlbGVhc2UgbnVtYmVyIGR1cmluZyBkZXZlbG9wbWVudCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgLWxtIGZvciBzY3JpcHRyZXBsYXkgaWYgbmVjZXNzYXJ5ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgTUFUSF9MSUJTIGZvciBod2Nsb2NrICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc2VkIHRvIHN1YnN0aXR1dGUgIFtLYXJlbCBaYWtdCitjYWw6CisgICAtIG5jdXJzZXMgY2xlYW51cCAgW0thcmVsIFpha10KK2NmZGlzazoKKyAgIC0gYWRkIGNvcHlyaWdodCB0byBoZWxwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaGludHMgZm9yIHNjYW5uZXJzIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gYXZvaWQgdXNlIG9mIFZMQSBpbiBjb21iaW5hdGlvbiB3aXRoIHNpemVvZigpIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgVUkgcmVmcmVzaCBvbiBeTCAgW0thcmVsIFpha10KKyAgIC0gdXNlIGJ1ZmZlciBlZGl0b3IgZm9yIHVpX2dldF9zdHJpbmcoKSAgW0thcmVsIFpha10KK2NoZm46CisgICAtIGRpc2FibGUgdGFiIGNvbXBsZXRpb24gIFtTYW1pIEtlcm9sYV0KK2NoZm4sIGNoc2g6CisgICAtIHVzZSByZWFkbGluZSgzKSB0byByZWNlaXZlIHVzZXIgaW5wdXQgIFtTYW1pIEtlcm9sYV0KK2NobWVtOgorICAgLSBkb24ndCB1c2Ugc2NhbmYgZm9ybWF0IGZvciBwcmludGYgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbmV3IHRvb2wgIFtIZWlrbyBDYXJzdGVuc10KK2NocnQ6CisgICAtIGRlZmF1bHQgdG8gU0NIRURfUlIgcG9saWN5ICBbQW5kcmVhcyBIZW5yaWtzc29uXQorY2hzaDoKKyAgIC0gdXNlIC1oIGFzIHNob3J0aGFuZCBmb3IgLS1oZWxwIGluc3RlYWQgb2YgLXUgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCitjb2w6CisgICAtIGF2b2lkIGV4dHJhIG5ld2xpbmUgaWYgbm8gaW5wdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYmFja3NwYWNpbmcgd2lkZWNoYXJzICBbR3JhZHkgTWFydGluXQorY29sdW1uOgorICAgLSBhZGQgLS1qc29uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS10YWJsZS1jb2xuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tdGFibGUtY29scmlnaHQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXRhYmxlLWhpZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXRhYmxlLW5vZXh0cmVtZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tdGFibGUtb3JkZXIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXRhYmxlLXRydW5jYXRlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS10YWJsZS13cmFwICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS10cmVlIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NlZCBzZW1pY29sb25zIGluIGNhc2Ugb2YgIUhBVkVfV0lERUNIQVIgIFtBbGV4YW5kZXIgS3VsZXNob3ZdCisgICAtIGFkZCBub3RlIHRoYXQgY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFyZSBpZ25vcmVkICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc3VwcG9ydCBmb3IgdHJlZXMgIFtLYXJlbCBaYWtdCisgICAtIGJlIHJvYnVzdCBvbiBlbXB0eSB0YWJsZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIG11bHRpLWJ5dGUgI2lmZWxzZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgdXNhZ2UoKSBhbmQgb3B0aW9ucyBvcmRlciAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIG1ic190b193Y3MoKSBlcnJvcnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLXRyZWUgaWQtcGFyZW50IGxvb3AgY3Jhc2ggIFtLYXJlbCBaYWtdCisgICAtIGZpeCBncmVlZHkgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSBmb3JjZSB0byBmb2xsb3cgc3BlY2lmaWVkIHdpZHRoICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGlucHV0KCkgbW9yZSBnZW5lcmljICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIG1icy93Y3MgY29udmVyc2lvbnMgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbW9yZSBvYnZpb3VzIHdoYXQgaXMgZGVmYXVsdCBiZWhhdmlvciAgW0thcmVsIFpha10KKyAgIC0gcGFyZW50IGFuZCBjaGlsZCBoYXMgdG8gYmUgaW5kZXBlbmRlbnQgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSAtLWNvbHVtbnMgdG8gLS1vdXRwdXQtd2lkdGggIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBmdW5jdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSByZW5hbWUgdG9vIGdlbmVyaWMgbWFjcm8gIFtLYXJlbCBaYWtdCisgICAtIHJlb3JkZXIgZnVuY3Rpb25zICBbS2FyZWwgWmFrXQorICAgLSByZXF1aXJlIGNvbHVtbiBuYW1lcyBmb3IgSlNPTiAgW0thcmVsIFpha10KKyAgIC0gc3BsaXQgb2xkIGFuZCBuZXcgY29kZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIE5PRVhUUkVNRVMgZm9yIHRoZSBsYXN0IGNvbHVtbiAgW0thcmVsIFpha10KKyAgIC0gdXNlIGNvbG50cm9sIHN0cnVjdCBvbiBtb3JlIHBsYWNlcyAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVycl9leGNsdXNpdmVfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzIGZvciAtLXRhYmxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzIHRvIGF2b2lkIGNpcmN1bGFyIGRlcGVuZGVuY2VzICBbS2FyZWwgWmFrXQorY29sdW1uczoKKyAgIC0gYWRkIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCB3aWR0aCAgW0thcmVsIFpha10KK2Rpc2stdXRpbHMvbWtmcy5taW5peDoKKyAgIC0gU2V0IG5pbm9kZXMgYWZ0ZXIgY2hlY2tpbmcgbWF4ICBbTmF0ZSBDbGFya10KK2RtZXNnOgorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgaGVhZGVyICBbS2FyZWwgWmFrXQorZG9jczoKKyAgIC0gRml4IHdvcmQgcmVwZXRpdGlvbnMgIFtZdXJpIENob3Jub2l2YW5dCisgICAtIGFkZCBCVUcgUkVQT1JUSU5HIHNlY3Rpb24gdG8gUkVBRE1FICBbS2FyZWwgWmFrXQorICAgLSBhZGQgY2htZW0gYW5kIHRhaWxmIHRvIFJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGluZm9ybWF0aW9uIGFib3V0IG1haWxpbmcgbGlzdCByZWplY3Rpb24gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWRkIG5vdGUgYWJvdXQgYnJhbmNoZXMgdG8gUkVBRE1FICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGFnZXR0eS44IG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIGltcHJvdmUgYm9pbGVycGxhdGUuYyBvcHRpb25zIGV4YW1wbGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gaW9uaWNlKDEpICBTRUUgQUxTTyAgYWRkIGlvcHJpb19zZXQoMikgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIGtpbGwoMSkgIEFkZCBtb3JlIGRldGFpbCBvbiB1c2Ugb2YgU0lHVEVSTSB2cyBTSUdLSUxMICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSBraWxsKDEpICBGaXggc2VjdGlvbiByZWZlcmVuY2UgZm9yIHNpZ3F1ZXVlKDMpIGFuZCBhZGQgdG8gU0VFIEFMU08gIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIGtpbGwoMSkgIEZvcm1hdHRpbmcgZml4ZXMgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIGtpbGwoMSkgIFJld29yayBub3RlcyBvbiB0aHJlYWQgZ3JvdXBzICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSBraWxsKDEpICBXb3JkaW5nIGZpeCAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gbGFzdCgxKSAgRWxpbWluYXRlIG9kZGJhbGwgZm9ybWF0dGluZyAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gbGFzdCgxKSAgU0VFIEFMU08gIGFkZCByZWZlcmVuY2UgdG8gd3RtcCg1KSAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gbHNucyg4KSAgU0VFIEFMU08gIGFkZCBuYW1lc3BhY2VzKDcpICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSBtYWtlIGNvbHVtbi4xIGV4YW1wbGUgdG8gdXNlIGFzY2lpIG91dHB1dCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtb3VudCg4KSAgV29yZGluZyBmaXggIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIG1vdmUgc291cmNlLWNvZGUtbWFuYWdlbWVudC50eHQgdG8gUkVBRE1FICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIG5hbWVpKDEpICBTRUUgQUxTTyAgYWRkIHN5bWxpbmsoNykgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIG5zZW50ZXIoMSkgIERlc2NyaWJlIHRoZSAnZmlsZScgYXJndW1lbnQgdXNlZCBieSBuYW1lc3BhY2Ugb3B0aW9ucyAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gbnNlbnRlcigxKSAgRm9ybWF0dGluZyBmaXggIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIG5zZW50ZXIoMSkgIGFkZCBtaXNzaW5nICdzZWUgYWxzbycgZm9yIC0tdXNlciAgW0thcmVsIFpha10KKyAgIC0gcGFyc2UtZGF0ZS50eHQgZml4IHdoaXRlc3BhY2UgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVuaWNlKDEpICBBZGQgU0VFIEFMU08gZW50cnkgZm9yIHNjaGVkKDcpICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSByZW5pY2UoMSkgIEFkZCBjcmVkZW50aWFscyg3KSB0byBTRUUgQUxTTyAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gcmVuaWNlKDEpICBSZW1vdmUgb2Jzb2xldGUgQlVHUyB0ZXh0ICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSByZW5pY2UoMSkgIFJld29yayBkaXNjdXNzaW9uIG9mIHVucHJpdmlsZWdlZCB1c2VycywgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIHJlcGxhY2UgRlRQIGJ5IEhUVFBTIGluIGtlcm5lbC5vcmcgVVJMcyAgW1PDqWJhc3RpZW4gSGVsbGV1XQorICAgLSB0YXNrc2V0KDEpICBXb3JkaW5nIGZpeCAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gdHJ5IHRvIGNvbnZpbmNlIG9wZW4oMikgT19ESVJFQ1QgcmF0aGVyIHRoYW4gdXNpbmcgcmF3IGRldmljZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgQVVUSE9SUyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgRG9jdW1lbnRhdGlvbi9kZXByZWNhdGVkLnR4dCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8sIGFkZCBtb3VudCg4KSBub2F1dG8sYXV0byAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGhvd3RvLWNvbnRyaWJ1dGUudHh0ICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHVwZGF0ZSBzb3VyY2UtY29kZS1tYW5hZ2VtZW50LnR4dCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjMwLVJlbGVhc2VOb3RlcyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1cGRhdGUgdjIuMzAtUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSB2YXJpb3VzIHBhZ2VzICBGb3JtYXQgcGF0aG5hbWVzIGFzIGl0YWxpYyAoLkkpICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSB2YXJpb3VzIHBhZ2VzICBVc2UgIklEIiBub3QgImlkIiBpbiBtYW4gcGFnZXMgIFtNaWNoYWVsIEtlcnJpc2tdCisgICAtIHZhcmlvdXMgcGFnZXMgIFVzZSAiUElEIiBub3QgInBpZCIgaW4gbWFuLXBhZ2VzICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSB2YXJpb3VzIHBhZ2VzICBVc2UgInN5c3RlbSBjYWxsIiBub3QgInN5c2NhbGwiICBbTWljaGFlbCBLZXJyaXNrXQorICAgLSB2YXJpb3VzIHBhZ2VzICBVc2UgJ1VJRCIgYW5kICJHSUQiLCBub3QgInVpZCIgYW5kICJnaWQiIGluIG1hbiBwYWdlcyAgW01pY2hhZWwgS2Vycmlza10KKyAgIC0gdmFyaW91cyBwYWdlcyAgVXNlIGNvbnNpc3RlbnQgdGVybWlub2xvZ3kgKHNldC11c2VyLUlEIGFuZCBzZXQtZ3JvdXAtSUQpICBbTWljaGFlbCBLZXJyaXNrXQorZmFsbG9jYXRlOgorICAgLSBBZGRlZCBwb3NpeF9mYWxsb2NhdGUoKSBzdXBwb3J0LiAgW0RlbmlzIENoYXBseWdpbl0KKyAgIC0gYWRkIGluc2VydCByYW5nZSBzdXBwb3J0ICBbRmFiaWFuIEZyZWRlcmlja10KK2ZkaXNrOgorICAgLSBhZGQgdG8gdGhlIG1hbiBwYWdlIG1pc3Npbmcgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBzY29sc19saW5lX3JlZmVyX2RhdGEoKSByZXR1cm4gY29kZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGJlIHNpbGVudCB3aGVuIGxpc3Qgbm9uLWV4aXN0aW5nIGRldmljZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cGUgZGlhbG9nICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIC0td2lwZSBmdW5jdGlvbmFsaXR5ICBbS2FyZWwgWmFrXQorICAgLSBpbmZvcm0gb24gJ3AnIGFib3V0IHdpcGVkIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCitmZGlzaywgc2ZkaXNrOgorICAgLSBhdm9pZCBub24tQU5TSSBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorZmluY29yZToKKyAgIC0gYWRkIC0tYnl0ZXMgYW5kIC0tbm9oZWFkaW5ncyAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1yYXcgYW5kIC0tanNvbiAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbHVtbiBSRVMgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHJjIGZyb20gc21hcnRjb2xzIHN0dWZmIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBlcnJvciBvbiBvcGVuKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBmaWxlIGRlc2NyaXB0b3IgbGVhayAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggbXVsdGlwbGljYXRpb24gb3ZlcmZsb3cgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbmV3IGNvbW1hbmQgZm9yIGNvdW50aW5nIHBhZ2VzIG9mIGZpbGUgY29udGVudHMgaW4gY29yZSAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNpemVfdCBldmVyeXdoZXJlICBbS2FyZWwgWmFrXQorZmluZGZzOgorICAgLSB1c2UgZ2V0b3B0X2xvbmcoKSB0byBwYXJzZSBvcHRpb25zICBbU2FtaSBLZXJvbGFdCitmaW5kbW50OgorICAgLSBhZGQgLS10cmVlIHRvIGFsbG93IHRvIGVuYWJsZSB0cmVlIG91dHB1dCBmb3IgLS1tdGFiICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBtb3VudCBvcHRpb25zICBbS2FyZWwgWmFrXQorICAgLSBlcnJvciBvbiAtLXRhcmdldCAvbm9uLWV4aXN0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY291cGxlIG1lbW9yeSBsZWFrcyBbY3BwY2hlY2tdICBbU2FtaSBLZXJvbGFdCisgICAtIGZsdXNoIHN0ZG91dCBhZnRlciBlYWNoICh1bikocmUpbW91bnQgZXZlbnQsIHdoZW4gcG9sbGluZy4gIFtQZWRybyBNaWd1ZWwgQ2FydmFsaG9dCisgICAtIHVzZSBsaW5lIHNlcGFyYXRvciBmb3IgLS1wb2xsIG91dHB1dCAgW0thcmVsIFpha10KK2ZzY2subWluaXg6CisgICAtIGFkZCBoaW50IGZvciBzY2FubmVycyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjcmFzaCAgW1NhbWkgS2Vyb2xhXQorZnNmcmVlemU6CisgICAtIG1vdmUgZmlsZXN5c3RlbSBzdXBwb3J0IGluZm8gdG8gbWFudWFsIHBhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGZ1bmN0aW9ucyAgW1NhbWkgS2Vyb2xhXQorZnN0cmltOgorICAgLSBkZS1kdXBsaWNhdGUgYnRyZnMgc3ViLXZvbHVtZXMgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSB1c2UgTU5UX0VYXyogZnJvbSBsaWJtb3VudCAgW0thcmVsIFpha10KK2dldG9wczoKKyAgIC0gbWFrZSAtLWEtbG9uZyBvcHRpb24gd29yayBhZ2FpbiAgW1NhbWkgS2Vyb2xhXQoraHdjbG9jazoKKyAgIC0gLS1zZXQgYW5kIC0tcHJlZGljdCBzZWdtZW50YXRpb24gZmF1bHQgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWRkIGRlYnVnZ2luZyB0byBvcGVuX3J0YygpICBbU2FtaSBLZXJvbGFdCisgICAtIGFsbG9hdGUgZGF0ZV9yZXNwIHBhcnNpbmcgYnVmZmVyIGluIGludGVycHJldF9kYXRlX3N0cmluZygpICBbU2FtaSBLZXJvbGFdCisgICAtIGNsYXJpZnkgY21vcyBpbmIgYW5kIG91dGIgcHJlcHJvY2Vzc29yIGRpcmVjdGl2ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xhcmlmeSBzZXRfY21vc19lcG9jaCgpIGNvZGUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZG8gbm90IGhhcmRjb2RlIGRhdGUgY29tbWFuZCBtYWdpYyBzdHJpbmcgdHdpY2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gKlNFQ1VSSVRZKiBkb24ndCBjaGVjayBmb3IgcGVybWlzc2lvbnMgIFtLYXJlbCBaYWtdIFNlZSAnU2VjdXJpdHkgaXNzdWVzJworICAgLSBleHRyYSBtZXNzYWdlcyBmb3IgZGVidWcgb25seSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBmaXggcnRjIGF0ZXhpdCByZWdpc3RyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHdoaXRlc3BhY2UgaW4gaHdjbG9jay1ydGMuYyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBpbXByb3ZlIGF1ZGl0IGNvbnRyb2wgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gaW1wcm92ZSBjbW9zIG1lc3NhZ2Ugc3RyaW5ncyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBpbXByb3ZlIGNvZGluZyBzdHlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBpbXByb3ZlIGRlZmF1bHQgZnVuY3Rpb24gaGFuZGxpbmcgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gaW5pdGlhbGl6ZSBzdHJ1Y3QgYWRqdGltZSBtZW1iZXJzICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgLS1kYXRlPWFyZ3VtZW50IGxlc3MgcHJvbmUgdG8gaW5qZWN0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgY2xvY2sgdGVzdCBtb2RlIG1lc3NhZ2UgY29uc2lzdGVudCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBtYWtlIGVwb2NoIGZ1bmN0aW9ucyBhbHBoYSBvbmx5ICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIG1vdmUgY29tbWFuZC1saW5lIG9wdGlvbnMgdG8gY29udHJvbCBzdHJ1Y3R1cmUgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBlcnJvciBtZXNzYWdlcyB0byBkZXRlcm1pbmVfY2xvY2tfYWNjZXNzX21ldGhvZCgpICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSAtLWNvbXBhcmUgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSAxOTk0IEF3YXJkIEJJT1Mgd29ya2Fyb3VuZCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgRkxPT1IgbWFjcm8gaW4gZmF2b3VyIG9mIGZsb29yKDMpICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBVVEMtMCBsb2NhbGl6YXRpb24gaGFjayAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgYWxwaGEgY21vcyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgZGVhZCBjbW9zIGNvZGUgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSBhbmQgb3RoZXIgbWlub3IgZml4ZXMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIGRpdmlzaW9uIGJ5IHplcm8gW2FzYW5dICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBod2Nsb2NrX2V4aXQoKSBpbmRpcmVjdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgaWYtaWYtY29uZGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgbWFnaWMgY29uc3RhbnRzIGZyb20gaW50ZXJwcmV0X2RhdGVfc3RyaW5nKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHJlc2lkdWFsICdjb21wYXJlJyBmcm9tIG1hbi1wYWdlICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHJlbW92ZSB0cmFpbGluZyBkb3QgZnJvbSBtZXNzYWdlcyB0aGF0IGluY2x1ZGUgc3lzdGVtIGVycm9yIG1lc3NhZ2UgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IHR5cGUgY2FzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHVubmVlZGVkIGJyYWNlcyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgdW51c2VkICdzaWxlbnQnIGFyZyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgdW51c2VkIGF0b21pYyBhcmcgaW4gY21vcyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgdW51c2VkIGNtb3MgY3RsIHN0cnVjdHMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gc2ltcGxpZnkgc2F2ZV9hZGp0aW1lKCkgZXhlY3V0aW9uIGZsb3cgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3RyZWFtIGxpbmUgc3luY2hyb25pemVfdG9fY2xvY2tfdGlja19ydGMoKSAgW1NhbWkgS2Vyb2xhXQorICAgLSB0cnkgUlRDR0VUIGFuZCBSVENTRVQgb25seSB3aGVuIG5vcm1hbCBydGMgZmFpbHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGEgY29uc2lzdGVudCBuYW1lIGZvciAtLXByZWRpY3QgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gdXNlIGVycnRyeWhlbHAoKSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1c2UgcGFyc2VfZGF0ZSBmdW5jdGlvbiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1c2Ugc3ltYm9saWMgbWFnaWMgdmFsdWVzIHBhc3NlZCBpbiBiZXR3ZWVuIGZ1bmN0aW9ucyAgW1NhbWkgS2Vyb2xhXQoraHdjbG9jay1ydGMuYzoKKyAgIC0gdHJ5IHRoZSAnbmV3JyBydGMgY2xhc3MgZmlyc3QgIFtKIFdpbGxpYW0gUGlnZ290dF0KK2luY2x1ZGU6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nICBbU2FtaSBLZXJvbGFdCitpbmNsdWRlL2MuaDoKKyAgIC0gYWRkIGVycnRyeWhlbHAoKSAgW0thcmVsIFpha10KK2luY2x1ZGUvZXhpdGNvZGVzOgorICAgLSByZW1vdmUgbW91bnQoOCkgZXhpdCBjb2RlcyAgW0thcmVsIFpha10KK2lwY3M6CisgICAtIG1ha2Ugc2htYWxsIG92ZXJmbG93IGEgYml0IGxlc3Mgd29yc2UgIFtSdWVkaWdlciBNZWllcl0KK2xhc3Q6CisgICAtIGluY2x1ZGUgbGliZ2VuLmggZm9yIGJhc2VuYW1lKDNwKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgLS10aW1lLWZvcm1hdCBpbnN0cnVjdGlvbiB3aGVuIHByaW50aW5nIHd0bXAgY3JlYXRpb24gdGltZSAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgZG9tYWluIHN0cmluZyBtb3JlIGNhcmVmdWxseSAgW0thcmVsIFpha10KK2xpYjoKKyAgIC0gYWRkIHBhcnNlLWRhdGUgZG9jdW1lbnRhdGlvbiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBhZGQgcGFyc2UtZGF0ZS55ICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGFkZCB0aW1lZ20oKSBwb3J0YWJpbGl0eSBmdW5jdGlvbiB0byBsaWIvdGltZXV0aWxzLmMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIHVuaXF1ZSBpZmRlZnMgZm9yIHRlc3RzICBbS2FyZWwgWmFrXQorbGliLHN0cnV0aWxzOgorICAgLSBhZGQgc3RydG91eFsxNnwzMnw2NF1fb3JfZXJyIGZ1bmN0aW9ucyAgW0hlaWtvIENhcnN0ZW5zXQorbGliL2NvbG9yczoKKyAgIC0gRml4IGJ1ZyB3aGVyZSBoZWxwIHRleHQgd2FzIG5vdCBiZWluZyB0cmFuc2xhdGVkLiAgW1NlYmFzdGlhbiBSYXNtdXNzZW5dCisgICAtIGFzc2VydCByYXRoZW4gdGhhbiBvdmVyZmxvdyBbLVdudWxsLWRlcmVmZXJlbmNlXSAgW0thcmVsIFpha10KKyAgIC0gZml4IHRlc3QgY29tcGlsYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIG5jdXJzZXMgY2xlYW51cCAgW0thcmVsIFpha10KK2xpYi9jcHVzZXQ6CisgICAtIHN0b3AgY2hhbmdpbmcgdmFyaWFibGUgdGhhdCBpcyBub3QgcmVhZCAgW1NhbWkgS2Vyb2xhXQorbGliL2lkY2FjaGU6CisgICAtIGFkZCB2b2lkIHRvIGZ1bmN0aW9uIGRlY2xhcmF0aW9uIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KK2xpYi9saW51eF92ZXJzaW9uOgorICAgLSBhZGQgdGVzdCBmb3IgbWFudWFsIHRlc3RpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBjb2RlIGluZGVudGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHN0dXBpZCB0eXBvICBbS2FyZWwgWmFrXQorbGliL2xpc3Q6CisgICAtIHJlbW92ZSBMSVNUX0hFQUQgbWFjcm8gIFtLYXJlbCBaYWtdCitsaWIvbG9vcGRldjoKKyAgIC0gcmVtb3ZlIHVubmVjZXNzYXJ5IGhlYWRlciAgW0thcmVsIFpha10KK2xpYi9tYnNlZGl0OgorICAgLSBhZGQgc2ltcGxlIGJ1ZmZlciBlZGl0b3IgIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0eXBvIGluIGNvbW1lbnQgIFtTYW1pIEtlcm9sYV0KK2xpYi9wYWdlcjoKKyAgIC0gZG9uJ3QgdXNlIHBhZ2VyIGlmIGNvbW1hbmQgbm90IGF2YWlsYWJsZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIHhhbGxvYyAgW0thcmVsIFpha10KK2xpYi9wYXJzZS1kYXRlOgorICAgLSBkb24ndCB1c2UgeGFsbG9jIGluIGxpYi1saWtlIGNvZGUgIFtLYXJlbCBaYWtdCitsaWIvcmFuZHV0aWxzOgorICAgLSBnbGliYyAyLjI1IGhhcyBnZXRyYW5kb20oMikgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGdldHJhbmRvbSgyKSB3aGVuIGl0IGlzIGF2YWlsYWJsZSAgW1NhbWkgS2Vyb2xhXQorbGliL3N0cnV0aWxzOgorICAgLSBmaXggdHlwb3MgaW4gaHVnZSBzaXplIHN1ZmZpeGVzICBbS2FyZWwgWmFrXQorICAgLSByZXR1cm4gZW5kIHBvaW50ZXIgYnkgaXNkaWdpdF9zdHJpbmcoKSAgW0thcmVsIFpha10KK2xpYi90aW1lcjoKKyAgIC0gYWRkIGNvbW1lbnQgIFtLYXJlbCBaYWtdCitsaWIvdGltZXIuYzoKKyAgIC0gcHJldmVudCBwYXRob2xvZ2ljYWwgcmFjZSBjb25kaXRpb24gIFtSYXNtdXMgVmlsbGVtb2VzXQorICAgLSByZW1vdmUgYm9ndXMgU0FfU0lHSU5GTyBmcm9tIHRpbWVyX3NldHRpbWUgY2FsbCAgW1Jhc211cyBWaWxsZW1vZXNdCitsaWJibGtpZDoKKyAgIC0gKGRvY3MpIGFkZCBtaXNzaW5nICdzaW5jZScgdGFncyAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IGZvcmNlIGZsYWcgIFtLYXJlbCBaYWtdCisgICAtIEFkZCBzdXBwb3J0IGZvciBMYXRpbjEgZW5jb2RpbmcgaW4gYmxraWRfZW5jb2RlX3RvX3V0ZjgoKSAgW1BhbGkgUm9ow6FyXQorICAgLSBGaXggYmxraWQuY29uZiBwYXJzaW5nICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIEZpeCBvdXQgb2YgYm91bmRzIGJ5dGUgc3dhcHMgaW4gWkZTIGhhbmRsaW5nICBbQWxkZW4gVG9uZGV0dGFyXQorICAgLSBGaXggb3V0IG9mIGJvdW5kcyByZWFkcyBpbiBCRUZTIGhhbmRsaW5nICBbQWxkZW4gVG9uZGV0dGFyXQorICAgLSBGaXggb3V0IG9mIGJvdW5kcyByZWFkcyBvbiBiYWQgR1BUIGhlYWRlciAgW0FsZGVuIFRvbmRldHRhcl0KKyAgIC0gRml4IG91dCBvZiBib3VuZHMgcmVhZHMgb24gYmFkIE5URlMgTWFzdGVyIEZpbGUgVGFibGUgIFtBbGRlbiBUb25kZXR0YXJdCisgICAtIGFkZCBibGtpZF9wYXJ0aXRpb25zX2dldF9uYW1lKCkgIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIGJsa2lkX3Byb2JlX3NldF9zZWN0b3JzaXplKCkgIFtLYXJlbCBaYWtdCisgICAtIGF2b2lkIG92ZXJmbG93IHdoZW4gaW5pdGlhbGl6aW5nIGFycmF5ICBbU2FtaSBLZXJvbGFdCisgICAtIGRlY2xhcmUgYWNyb3NzIGZpbGUgdmFyaWFibGVzIGluIGJsa2lkUC5oIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZW5zdXJlIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgaXMgbm90IHVzZWQgW2NsYW5nXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggQkxLSURfUEFSVFNfRk9SQ0VfR1BUIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdHlwbyAgW0thcmVsIFpha10KKyAgIC0gcHJldmVudCBPT0IgYWNjZXNzIHdoaWxlIHByb2JpbmcgSEZTKyAgW1RvYmlhcyBTdG9lY2ttYW5uXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgJ3N0YXRpYycga2V5d29yZCAgW0thcmVsIFpha10KKyAgIC0gdWRmICBDaGFuZ2UgYWxnb3JpdGhtIGZvciByZXBvcnRpbmcgVVVJRCAgW1BhbGkgUm9ow6FyXQorICAgLSB1ZGYgIENvcnJlY3RseSBoYW5kbGUgVURGIHN0cmluZ3MgZW5jb2RlZCBpbiA4Yml0IE9TVEEgQ29tcHJlc3NlZCBVbmljb2RlICBbUGFsaSBSb2jDoXJdCisgICAtIHVkZiAgRm9yIGJldHRlciByZWFkaWJpbGl0eSB1c2Ugb25lIHNucHJpbnRmIGNhbGwgaW5zdGVhZCBtdWx0aXBsZSBpbiBsb29wICBbUGFsaSBSb2jDoXJdCitsaWJibGtpZC9taW5peDoKKyAgIC0gTWF0Y2ggbWluaXggc3VwZXJibG9jayB0eXBlcyAgW05hdGUgQ2xhcmtdCisgICAtIFNhbml0eSBjaGVjayBzdXBlcmJsb2NrIHNfc3RhdGUgZm9yIHYgMSBhbmQgMiAgW05hdGUgQ2xhcmtdCisgICAtIFVzZSBzYW1lIGNoZWNrcyBmb3IgdmVyc2lvbiAzICBbTmF0ZSBDbGFya10KK2xpYmZkaXNrOgorICAgLSAoZG9jcykgYWRkIG1pc3NpbmcgJ3NpbmNlJyB0YWdzICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBhZGQgSUQgcmVsYXRlZCBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZGVidWcgd2hhdCB3ZSByZWFkIGZyb20gZmlyc3Qgc2VjdG9yICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBtYWtlIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSBwcmltYXJ5L2xvZ2ljYWwgYnkgdGVtcGxhdGUgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGFkZCBjaGVjayBmb3IgZW50cmllcyBhcnJheSBzaXplICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBjYXJlIGFib3V0IFNTSVpFX01BWCBmb3IgcmVhZCgyKSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZG9uJ3QgYWNjZXNzIGVudHJpZXMgYXJyYXkgZGlyZWN0bHkgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIGZpeCBlbnRzIHplcm9pemUgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIG1ha2UgY2FsY3VsYXRpb25zIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBtYWtlIGVudHJpZXMgYXJyYXkgc2l6ZSBjYWxjdWxhdGlvbiBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgbWFrZSBzdXJlIGl0J3MgR1BUIGluIHB1YmxpYyBBUEkgIFtLYXJlbCBaYWtdCisgICAtIChncHQpIHJlbmFtZSB0byBncHRfZW50cnlfaXNfdXNlZCgpICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSB1cGRhdGUgbnBhcnRzX21heCAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgdXNlIHNpemVfdCBhbmQgZ3B0X2dldF9uZW50cmllcygpICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSB1c2Ugc2VsZl9sYWJlbCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfcGFydGl0aW9uX2hhc193aXBlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzYW1wbGUtZmRpc2stbWtwYXJ0IGJpbmFyeSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHZlcnNpb24gdG8gZGVidWcgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byBjaGFuZ2UgYW4gZXhpc3RpbmcgZXh0ZW5kZWQgcGFydGl0aW9uICBbUGF2ZWwgQnV0c3lraW5dCisgICAtIGFwcGx5IGxhYmVsIGFsaWdubWVudCBwcm9wZXJ0aWVzICBbS2FyZWwgWmFrXQorICAgLSBjaGFuZ2UgdGhlIHdheSBob3cgYXBwbHkgdXNlciBkZXZpY2UgcHJvcGVydGllcyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIGNvbGxpc2lvbnMgd2hlbiBjcmVhdGUgbmV3IGxhYmVsICBbS2FyZWwgWmFrXQorICAgLSBjbGFzc2lmeSBjb2xsaXNpb24gdHlwZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgcHJpbnQgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBibGtkZXYgaW9jdGxzIGZvciByZWd1bGFyIGZpbGVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgZXJybm8gYWZ0ZXIgY2xvc2UoKSAgW0thcmVsIFpha10KKyAgIC0gZml4IE5MUyBzdXBwb3J0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdzaWduLWNvbXBhcmVdICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmRpc2tfc2V0X3dpcGVfYXJlYSgpIGNhbGxzICBbS2FyZWwgWmFrXQorICAgLSBmaXggcG90ZW50aWFsbHkgTlVMTCBwb2ludGVyIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggdmFyaWFibGUgc2hhZG93aW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGluaXRpYWxpemUgcGFydG5vIHZhcmlhYmxlIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gcmVjb3VudCBzaXplIHdoZW4gYXBwbHkgdXNlciBkZXZpY2UgcHJvcGVydGllcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtZW1jcHkoKSBmb3Igbm9uLXRlcm1pbmF0ZWQgc3RyaW5nIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gdmVyaWZ5IHBhcnRubyBmcm9tIHRlbXBsYXRlICBbS2FyZWwgWmFrXQorbGlibW91bnQ6CisgICAtIChkb2NzKSBhZGQgbWlzc2luZyAnc2luY2UnIHRhZ3MgIFtLYXJlbCBaYWtdCisgICAtIChkb2NzKSBhZGQgdW51c2VkIGRlY2xhcmF0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gKGRvY3MpIHJlbW92ZSB1bndhbnRlZCB0YWcgIFtLYXJlbCBaYWtdCisgICAtIEVuc3VyZSB1dGFiLmxvY2sgbW9kZSA2NDQgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBGaXggaW5jb3JyZWN0IGRldGFjaCBvZiByZXVzZWQgbG9vcCBkZXZpY2UgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBhZGQgbW50X2NvbnRleHRfZ2V0X2V4Y29kZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVhZC1vbmx5IHdhcm5pbmcgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZzdGF0KCkgcmV0dXJuIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBjb3NtZXRpYyBjaGFuZ2UgdG8gbW50X3RhYmxlX2ZpbmRfc3JjcGF0aCgpICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBwYXNzIC0xIHRvIGNsb3NlKCkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmlsZSBkZXNjcmlwdG9yIGxlYWsgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1vdW50IC1vbG9vcD0vZGV2L2xvb3BYIHJlZ3Jlc3Npb24gIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBmaXggdXNlIG9mIHByZXByb2Nlc3NvciBpZGVudGlmaWVyICBbU2FtaSBLZXJvbGFdCisgICAtIGludHJvZHVjZSBYLSogY29tbWVudHMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugcm9vdGZzIGxvb2t1cCBieSBwYXJlbnQtaWQgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIHJlaW1wbGVtZW50IG1udF9tYXRjaF9vcHRpb25zKCkgIFtLYXJlbCBaYWtdCisgICAtIHJldHVybiB0YWIgZW50cnkgZm9yIGRlZmF1bHQgbm9kZSAgW1BldHIgVm9yZWxdCisgICAtIHJldmVydCBYLSogYW5kIHgtKiBtZWFuaW5nICBbS2FyZWwgWmFrXQorICAgLSBzdXBwb3J0IE1TX1JET05MWSBvbiB3cml0ZS1wcm90ZWN0ZWQgZGV2aWNlcyAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBuYW1lPXZhbHVlIGZvciBtbnRfbWF0Y2hfb3B0aW9ucygpICBbS2FyZWwgWmFrXQorICAgLSB1c2UgeC1zeXN0ZW1kIG9wdGlvbnMgYXMgWC0qICBbS2FyZWwgWmFrXQorbGlic21hcnRjb2xzOgorICAgLSAoZG9jcykgYWRkIG1pc3NpbmcgJ3NpbmNlJyB0YWdzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVidWcgbWVzZyB0byBzZWUgd2lkdGggY2hhbmdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2NvbHNfY2VsbF9nZXRfYWxpZ25tZW50KCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY29sc19saW5lX2lzX2FuY2VzdG9yKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY29sc19saW5lX21vdmVfY2VsbHMoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNjb2xzX3NvcnRfdGFibGVfYnlfdHJlZSgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2NvbHNfdGFibGVfbW92ZV9jb2x1bW4oKSAgW0thcmVsIFpha10KKyAgIC0gYWxsb3cgdG8gYWRkIGNvbHVtbiB0byBhbHJlYWR5IHVzZWQgdGFibGUgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIHNjb2xzX3RhYmxlX3NldF9kZWZhdWx0X3N5bWJvbHMoKSByZXR1cm4gY29kZSBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGNvbHVtbiB3aWR0aCByZWR1Y3Rpb24gcmVmYWN0b3JpbmcgIFtLYXJlbCBaYWtdCisgICAtIGZpeCByZWxhdGl2ZSB3aWR0aCBpbnRlcnByZXRhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gZml4IHRlc3QgdmFyaWFibGUgc2hhZG93aW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCB0eXBvICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgZGVhZCBjaGVja3MgIFtJZ29yIEduYXRlbmtvXQorICAgLSBzdXBwb3J0IGNvbHVtbnMgc2VwYXJhdG9ycyBncmVhdGVyIHRoYW4gb25lIG91dHB1dCBjZWxsICBbS2FyZWwgWmFrXQorICAgLSB1bnVzZWQgcGFyYW1ldGVyIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorbGlidXVpZDoKKyAgIC0gdW51c2VkIHBhcmFtZXRlciBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KK2xvZ2dlcjoKKyAgIC0gbWFrZSBtb250aCBuYW1lcywgbG9naW4gbmFtZSwgYW5kIHRhZyByZWFkLW9ubHkgb2JqZWN0cyAgW1NhbWkgS2Vyb2xhXQorICAgLSBzdXBwb3J0IHN1Yi10cmVlcyBpbiB0aGUgSUQgZm9yIFJGQzU0MjQgIFtLYXJlbCBaYWtdCitsb2dpbjoKKyAgIC0gcHJldmVudCBPT0IgcmVhZCBvbiBpbGxlZ2FsIC9ldGMvaHVzaGxvZ2lucyAgW1RvYmlhcyBTdG9lY2ttYW5uXQorICAgLSByZS1hZGQgbGFzdGxvZy5oIGhlYWRlciAgW1J1ZWRpZ2VyIE1laWVyXQorbG9naW4tdXRpbHM6CisgICAtIGF2b2lkIHVzaW5nIHRoZSBkZWZpbmVkIHV0bXAgc2l6ZXMuICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBfSEFWRV9VVF9UViBmYWxsYmFjayAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBzd2l0Y2ggdG8gdXRtcHguaCAgW1J1ZWRpZ2VyIE1laWVyXQorbG9zZXR1cDoKKyAgIC0gbG9zZXR1cC44IFJlb3JkZXIgb3B0aW9ucyBkb2N1bWVudGF0aW9uICBbRnJlZGVyaWNrIEdyb3NlXQorbHNibGs6CisgICAtIGFkZCBaT05FRCBjb2x1bW4gIFtEYW1pZW4gTGUgTW9hbF0KKyAgIC0gZG9uJ3QgZHVwbGljYXRlIGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAtLWludmVyc2UgLS1saXN0ICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHNjb2xzX2ZsYWdzIHRvIGxzYmxrIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZXJydHJ5aGVscCgpICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIERldGVjdCBXaW5kb3dzIFN1YnN5c3RlbSBmb3IgTGludXggIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBSZWFkIGF2YWlsYWJsZSBDUFVzIG1heCBhbmQgbWluIGZyZXF1ZW5jaWVzICBbTWFtYXRoYSBJbmFtZGFyXQorICAgLSBhZGQgLS1qc29uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgYWFyY2g2NCBzcGVjaWZpYyBuYW1lcyAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgcmV0dXJuIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2UgcGF0aF9leGlzdCgpIGJlZm9yZSBwYXRoX2ZvcGVuKCkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW0gbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgY3B1X3ttYXgsbWlufV9taHooKSB1c2FnZSBtb3JlIGVsZWdhbnQgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbWluL21heCBmcmVxIGFycmF5cyB1c2FnZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBvc3JlbGVhc2UgZmlsZSBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gcmV1c2UgdGhlIHNhbWUgYnVmZmVyICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzIHRvIHByaW50IHN1bW1hcnkgdG9vICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbWFjcm8gZm9yIHBhdGggdG8gRE1JICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3lzZnMgZm9yIHRhYmxlIGFjY2VzcyBpZiBhdmFpbGFibGUgIFtBcmQgQmllc2hldXZlbF0KK2xzaXBjOgorICAgLSBmaXggb3B0aW9ucyBwYXJzaW5nIGFuZCBzeW5jIHdpdGggbWFuIHBhZ2UgIFtTYW1pIEtlcm9sYV0KK2xzbG9ja3M6CisgICAtIHJlbW92ZSBkZWFkIGNvZGUgIFtLYXJlbCBaYWtdCitsc2xvZ2luczoKKyAgIC0gcmVtb3ZlIHVzZWxlc3Mgc3RybGVuKCkgIFtSdWVkaWdlciBNZWllcl0KK2xzbWVtOgorICAgLSAobWFuIHBhZ2UpIHJlY29tbWVuZCB1c2UgLS1vdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCAtLXN1bW1hcnlbPTx3aGVuPl0gb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQ29weXJpZ2h0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbWlzc2luZyBwbGFjZWhvbGRlcnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB0ZXN0Y2FzZSAgW0hlaWtvIENhcnN0ZW5zXQorICAgLSBhbGlnbiBTVEFURSB0byB0aGUgcmlnaHQgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgZm9yIC0tc3VtbWFyeT1vbmx5ICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwLCB1c2UgbGlic21hcnRjb2xzIGZvciBhbGwgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSBkaXNhYmxlIHN1bW1hcnkgZm9yIEpTT05tLCByYXcgYW5kIGV4cG9ydCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgbm9kZSBsb29rdXAgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gbmV3IHRvb2wgIFtIZWlrbyBDYXJzdGVuc10KKyAgIC0gcmVuYW1lIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQorbHNuczoKKyAgIC0gRml4IHBhcnNlciBmb3IgL3Byb2MvPHBpZD4vc3RhdCB3aGljaCBpcyBpbmNsdWRpbmcgc3BhY2UgaW4gY29tbSAgW09HQVdBIEhpcm9mdW1pXQorbWFuOgorICAgLSBhZGQgYSBwYWdlIGZvciBmaW5jb3JlIGNvbW1hbmQgIFtNYXNhdGFrZSBZQU1BVE9dCisgICAtIGNoZm4oMSkgIGFkZCBjaHNoIGFuZCBsb2dpbi5kZWZzIHRvIFNFRSBBTFNPICBbQW5kcmVhcyBIZW5yaWtzc29uXQorICAgLSBjaHNoKDEpICBhZGQgbG9naW4uZGVmcyB0byBTRUUgQUxTTyAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gZml4IGNvdXBsZSB0b29scy9jaGVja21hbnMuc2ggd2FybmluZ3MgIFtjYXQgLi9kaXNrLXV0aWxzL2ZzY2suOCB8IHRyb2ZmIC1tYW5kb2MgLXd3IC1dCisgICAtIGltcHJvdmUgYmxrcmVwb3J0KDgpIGFuZCBibGtyZXNldCg4KSBtYW51YWwgcGFnZXMgIFtTYW1pIEtlcm9sYV0KK21pc2M6CisgICAtIGFkZCBzdGF0aWMga2V5d29yZCB0byB3aGVyZSBuZWVkZWQgW3NtYXRjaCBzY2FuXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBjb25zb2xpZGF0ZSBzbWFydGNvbHMgZXJyb3IgbWVzc2FnZXMgIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCB1c2UgcGxhaW4gMCBhcyBOVUxMIFtzbWF0Y2ggc2Nhbl0gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBzdHJpbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBzb21lIHdhcm5pbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB0eXBvcyB1c2luZyBjb2Rlc3BlbGwgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc3BlbGxpbmcsIGFsd2F5cyB1c2UgImNhbm5vdCIgaW5zdGVhZCBvZiAiY2FuIG5vdCIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc3RvcCBtaXhpbmcgZGVjbGFyYXRpb25zIGFuZCBjb2RlICBbU2FtaSBLZXJvbGFdCitta3N3YXA6CisgICAtIHVzZSBtZW1jcHkoKSBmb3Igbm9uLXRlcm1pbmF0ZWQgc3RyaW5nIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK21vcmU6CisgICAtIGF2b2lkIGRvdWJsZSBmcmVlKCkgb24gZXhpdCAgW0thcmVsIFpha10KK21vdW50OgorICAgLSB1c2UgTU5UX0VYXyogZnJvbSBsaWJtb3VudCAgW0thcmVsIFpha10KK21vdW50LCB1bW91bnQ6CisgICAtIHVzZSBtbnRfY29udGV4dF9nZXRfZXhjb2RlKCkgIFtLYXJlbCBaYWtdCituZXdncnA6CisgICAtIHVzZSBsaWJjIGV4cGxpY2l0X2J6ZXJvKCkgd2hlbiBpdCBpcyBhdmFpbGFibGUgIFtTYW1pIEtlcm9sYV0KK25vbG9naW46CisgICAtIGRvbid0IGNhbGwgZnN0YXQoKSBhZnRlciBmYWlsZWQgb3BlbigpIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KK25zZW50ZXI6CisgICAtIGFkZCAtLWFsbCBvcHRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB1c2FnZSgpIGFuZCBpbXByb3ZlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorb3B0dXRpbHMuaDoKKyAgIC0gZG9uJ3QgcHJpbnQgbm9uLWdyYXBoIGNoYXJhY3RlcnMgIFtKIFdpbGxpYW0gUGlnZ290dF0KK3BhcnNlLWRhdGU6CisgICAtIHJlbW92ZSBleHRyYW5lb3VzIGZvcm0gZmVlZCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorcGFydHg6CisgICAtIGFkZCAtLWxpc3QtdHlwZXMgb3B0aW9uICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCAtLXNlY3Rvci1zaXplIG9wdGlvbiAgW0thcmVsIFpha10KK3BvOgorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZGEucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKb2UgSGFuc2VuXQorICAgLSB1cGRhdGUgZGUucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQaGlsaXBwIFRob21hc10KKyAgIC0gdXBkYXRlIGZyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbU3TDqXBoYW5lIEF1bGVyeV0KKyAgIC0gdXBkYXRlIGphLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbVGFrZXNoaSBIYW1hc2FraV0KKyAgIC0gdXBkYXRlIHBsLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbSmFrdWIgQm9ndXN6XQorICAgLSB1cGRhdGUgcHRfQlIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtSYWZhZWwgRm9udGVuZWxsZV0KKyAgIC0gdXBkYXRlIHN2LnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbU2ViYXN0aWFuIFJhc211c3Nlbl0KKyAgIC0gdXBkYXRlIHRyLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbTWVzdXRjYW4gS3VydF0KKyAgIC0gdXBkYXRlIHVrLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbWXVyaSBDaG9ybm9pdmFuXQorICAgLSB1cGRhdGUgemhfQ04ucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtXeWxtZXIgV2FuZ10KK3JlbmFtZToKKyAgIC0gYWRkIC0tbm8tYWN0IG9wdGlvbiAgW0FsZXhhbmRlciBGIFLDuGRzZXRoXQorICAgLSBhZGQgLS1uby1hY3QgdG8gYmFzaC1jb21wbGV0aW9uICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIC0tbm8tYWN0IHRvIGltcGx5IC0tdmVyYm9zZSAgW1NhbWkgS2Vyb2xhXQorcnVudXNlcjoKKyAgIC0gYWRkICItLSIgdG8gU1lOT1BTSVMgIFtLYXJlbCBaYWtdCitzY3JpcHQ6CisgICAtIGFsd2F5cyB3cml0ZSBzdGF0IGFuZCBkb25lIG1lc3NhZ2UgdG8gdHlwZXNjcmlwdCBmaWxlICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYWxsIHN0cmZ0aW1lKCkgaWYgbm90IG5lY2Vzc2FyeSAgW0thcmVsIFpha10KKyAgIC0gZml4IHN0YXJ0IG1lc3NhZ2Ugc2hvd2luZyBpbiBvdXRwdXQgZmlsZSB3aGVuIC1xIGlzIG9uICBbUnVpIFpoYW8gKHJlbnl1bmV5dW4pXQorc2V0dGVybToKKyAgIC0gYWRkIC0tcmVzaXplIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggYml0ZmllbGQgd2FybmluZyBbc21hdGNoXSAgW1NhbWkgS2Vyb2xhXQorc2ZkaXNrOgorICAgLSAtLXF1aWV0IGZpeGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgaGludHMgZm9yIHNjYW5uZXJzIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgYWxpZ25tZW50IHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIC0tZHVtcCBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gZGlzYW1iaWd1YXRlIHVuaXRzIG9mIC0tc2hvdy1zaXplICBbQ2hyaXMgTW9yaW5dCisgICAtIGRvbid0IGJlIHNpbGVudCB3aGVuIGxpc3Qgbm9uLWV4aXN0aW5nIGRldmljZSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSAtLXdpcGUgZnVuY3Rpb25hbGl0eSAgW0thcmVsIFpha10KKyAgIC0gbm90ZSBhYm91dCBzbWFsbCBwYXJ0aXRpb24gaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgZW1wdHkgbGFiZWwgdXNlLWNhc2UgIFtLYXJlbCBaYWtdCisgICAtIHVudXNlZCBwYXJhbWV0ZXIgJ3NmJyBbLVd1bnVzZWQtcGFyYW1ldGVyXSAgW0thcmVsIFpha10KK3N1OgorICAgLSBwcm9wZXJseSBjbGVhciBjaGlsZCBQSUQgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgY29uc3QgZGVjbGFyYXRpb24gIFtTYW1pIEtlcm9sYV0KK3N1LCBydW51c2VyOgorICAgLSBmaXggdHlwbyBpbiB0aGUgL2V0Yy9kZWZhdWx0IHBhdGggIFtLYXJlbCBaYWtdCitzdWxvZ2luOgorICAgLSBhZGQgbWlzc2luZyB0eXBlICBbS2FyZWwgWmFrXQorICAgLSBiYWlsIG91dCBmcm9tIGdldHBhc3N3ZCguLi4pIG9uIHRpbWVvdXQgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIG1ha2UgZ2V0cGFzc3dkKC4uLikgcmV0dXJuIE5VTEwgb24gXkQgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCisgICAtIHJlZHVjZSB2dWxuZXJhYmlsaXR5IHN1cmZhY2UgIFtTYW1pIEtlcm9sYV0KK3N3aXRjaF9yb290OgorICAgLSB1bmxpbmsgZmlsZXMgd2l0aG91dCBfRElSRU5UX0hBVkVfRF9UWVBFICBbUGF0cmljayBTdGVpbmhhcmR0XQorICAgLSB1c2UgZ2V0b3B0X2xvbmcoKSB0byBwYXJzZSBvcHRpb25zICBbU2FtaSBLZXJvbGFdCit0YWlsZjoKKyAgIC0gcmVtb3ZlIGRlcHJlY2F0ZWQgdXRpbGl0eSAgW1NhbWkgS2Vyb2xhXQordGFza3NldDoKKyAgIC0gZG9uJ3QgdXNlIHplcm8gUElEIGluIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQordGVybS11dGlscy9zY3JpcHQ6CisgICAtIGZpeCB0eXBvIGxlYWRpbmcgdG8gc3ludGF4IGVycm9yICBbQmVydCB2YW4gSGFsbF0KK3Rlc3Q6CisgICAtIGZpeCBtb3VudHBvaW50IGRldmljZSBjaGVjayBpbiBsaWJtb3VudC9sb29wICBbUnVlZGlnZXIgTWVpZXJdCit0ZXN0X3V1aWRkOgorICAgLSBkb24ndCB1c2UgZXJyb3IuaCAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSAobGlibW91bnQpIHBhcnNlIHZlcnNpb24gZnJvbSBjb21tYW5kIGxpbmUgIFtLYXJlbCBaYWtdCisgICAtIChzZmRpc2spIHRlbGwga2VybmVsIGFib3V0IG5ldyBwYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIEFkZCBVREYgQ0QtUk9NIGh5YnJpZCBpbWFnZSAoSVNPK0pvbGlldCtVREYpIGNyZWF0ZWQgYnkgTmVybyA2ICBbUGFsaSBSb2jDoXJdCisgICAtIEFkZCBVREYgaGRkIGltYWdlIHdpdGggbm9uIEFTQ0lJIDhiaXQgbGFiZWwgY3JlYXRlZCBieSBMaW51eCBta3VkZmZzIDEuMyAgW1BhbGkgUm9ow6FyXQorICAgLSBBZGQgVURGIGhkZCBpbWFnZXMgY3JlYXRlZCBieSBMaW51eCBta3VkZmZzIDEuMyAgW1BhbGkgUm9ow6FyXQorICAgLSBGaXggVURGIHRlc3Qgb3V0cHV0IGFmdGVyIGNoYW5naW5nIFVVSUQgYWxnb3JpdGhtICBbUGFsaSBSb2jDoXJdCisgICAtIEZpeCBVREYgdGVzdCBvdXRwdXQgZm9yIDhiaXQgT1NUQSBDb21wcmVzc2VkIFVuaWNvZGUgIFtQYWxpIFJvaMOhcl0KKyAgIC0gRml4IHRlc3Qgb3V0cHV0IGZvciBsb3ctcHJvYmUtdWRmIHRvIGNvbnRhaW4gVURGIGRhdGEgIFtQYWxpIFJvaMOhcl0KKyAgIC0gSW50cm9kdWNlIGxpYm1vdW50L2xvb3AgIFtTdGFuaXNsYXYgQnJhYmVjXQorICAgLSBSZW5hbWUgdWRmLWhkZC1ta3VkZmZzKiBpbWFnZXMgdG8gaW5kaWNhdGUgdXNlZCBta3VkZmZzIHZlcnNpb24gIFtQYWxpIFJvaMOhcl0KKyAgIC0gYWRkIC0tbW91bnRwb2ludCB0byBmaW5kbW50IGNhbGxzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1zaG93LWRpZmYgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjYXNlcyBmb3IgdGVzdGluZyBmaW5jb3JlIGNvbW1hbmQgIFtNYXNhdGFrZSBZQU1BVE9dCisgICAtIGFkZCBjb2x1bW4oMSkgY29sdW1uYXRlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjb2x1bW4oMSkgdGFibGUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbHVtbi9maWxlcyBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmaW5kbW50IG91dHB1dCB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZpbmRtbnQgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBtaXNzaW5nIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuZXcgYnVpbGQtc3lzIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbmV3IGZpbmRtbnQgLS1vcHRpb25zIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgc2ZkaXNrIC0td2lwZSBhbmQgLS13aXBlLXBhcnRpdGlvbiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHN0YXRpYyBrZXl3b3JkIHdoZXJlIG5lZWRlZCBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCB0ZXN0cyBmb3IgbmV3IGNvbHVtbiBmZWF0dXJlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHVkZXZhZG0gc2V0dGxlIHRvIHNmZGlzayB3aXBlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgeDg2XzY0LTE2ZyBsc21lbSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhbm90aGVyIGltcHJvdmVtZW50IHRvIHRoZSBzZmRpc2sgd2lwZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhdm9pZCBkaWZmIG9mIGRpZmZzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNoZWNrIGZvciBUU19IRUxQRVJfU1lTSU5GTyBpbiBmaW5jb3JlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciBwcyAtLXBwaWQgIFtLYXJlbCBaYWtdCisgICAtIGNoZWNrIGZvciB0aW1lb3V0IGNvbW1hbmQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2xlYW51cCBhbmQgdXBkYXRlIGxzbWVtICBbS2FyZWwgWmFrXQorICAgLSBkZWZpbmUgY29sdW1ucyBmb3IgZmluY29yZSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgdXNlIHBsYWluIDAgYXMgTlVMTCBbc21hdGNoIHNjYW5dICBbU2FtaSBLZXJvbGFdCisgICAtIGZpbmNvcmUvY291bnQsIHNraXAgdW5zdXBwb3J0ZWQgRlMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGZpbmNvcmUvY291bnQgZm9yIFBBR0VfU0laRSAhPSA0MDk2ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGdyZXAncyBzaG9ydCBvcHRpb24gLUEgaXMgbW9yZSBwb3J0YWJsZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBoYW5kbGUgZGQgZXJyb3JzIGluIGZpbmNvcmUvY291bnQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaGFuZGxlIG5vbiBnbGliYyBlcnJvciBtZXNzYWdlIGZvciBmYWxsb2NhdGUgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWFrZSAvcHJvYyBvcHRpb25hbCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBzZmRpc2sgd2lwZSBwYXJ0aXRpb24gb3B0aW9uYWwgIFtLYXJlbCBaYWtdCisgICAtIHJlZGlyZWN0IHVud2FudGVkIGRkKDEpIGFkdmljZXMgdG8gL2Rldi9udWxsICBbS2FyZWwgWmFrXQorICAgLSByZWZyZXNoIGZpbmNvcmUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gcmVmcmVzaCBsc2NwdSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGZpbmNvcmUgU01BTExFUl9USEFOX1BBR0VTSVpFIHRlc3RzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBzdGF0dXM9bm9uZSBkZCgxKSBmcm9tIGZpbmNvcmUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBidWlsZC1zeXMgZHVlIHRvIHJlYWRsaW5lICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQtc3lzIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaWJtb3VudCBvdXRwdXRzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgbHNtZW0gdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzY3JpcHQoMSkgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBzZmRpc2sgb3V0cHV0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgd2lwZS1wYXJ0aXRpb24gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzd2FwIGluIHNmZGlzayB3aXBlIHRlc3QgIFtLYXJlbCBaYWtdCit0ZXh0LXV0aWxzOgorICAgLSB1c2UgcHJvcGVyIHBhdGhzIHRvIHRlcm0uaCAgW0thcmVsIFpha10KK3RyYXZpczoKKyAgIC0gbGV0IE9TWCBhdXRvLXNraXAgdXRtcHggdG9vbHMgIFtSdWVkaWdlciBNZWllcl0KK3Vtb3VudDoKKyAgIC0gZXhjbHVkZSBzZWxpbnV4ZnMgZnJvbSAtLWFsbCAgW0thcmVsIFpha10KKyAgIC0gZml4IHR5cG8gIFtLYXJlbCBaYWtdCisgICAtIHVzZSBNTlRfRVhfKiBmcm9tIGxpYm1vdW50ICBbS2FyZWwgWmFrXQordW5zaGFyZToKKyAgIC0gYWRkIG5vdGUgYWJvdXQgcGVyc2lzdGVuIFBJRCBuYW1lc3BhY2VzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCBzeXNmcyBhbmQgcHJvY2ZzICBbS2FyZWwgWmFrXQorICAgLSBmaXggU1lOT1BTSVMgYW5kIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjcm9zcyByZWZlcmVuY2UgdG8gbmFtZXNwYWNlcyg3KSAgW01pY2hhZWwgS2VycmlzayAobWFuLXBhZ2VzKV0KK3V0bXBkdW1wOgorICAgLSBjb2RlIGZvcm1hdHRpbmcgZm9yIHJlYWRhYmlsaXR5ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZSAgW1NhbWkgS2Vyb2xhXQordmlwdzoKKyAgIC0gdXNlIGdldG9wdF9sb25nKCkgdG8gcGFyc2Ugb3B0aW9ucyAgW1NhbWkgS2Vyb2xhXQord2FsbDoKKyAgIC0gYWRkIC0tZ3JvdXAgb3B0aW9uICBbSmltIFBhdHRlcnNvbl0KKyAgIC0gY2hlY2sgLWcgR0lEICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN1cmUgd2l0aCBub3QgcmVmZXJlbmNpbmcgYSBudWxsIHBvaW50ZXIgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bm5lY2Vzc2FyeSBpbmNsdWRlICBbS2FyZWwgWmFrXQord2lwZWZzOgorICAgLSBhZGQgbm90ZSBhYm91dCBuby1hY3QgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSB1bnVzZWQgcGFyYW1ldGVyIFstV3VudXNlZC1wYXJhbWV0ZXJdICBbS2FyZWwgWmFrXQorenJhbWN0bDoKKyAgIC0gYWRkIG1pc2luZyBsaW5lIHRlcm1pbmF0b3IgIFtLYXJlbCBaYWtdCisgICAtIGJlIG1vcmUgc3BlY2lmaWMgYWJvdXQgZGVmYXVsdCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgbW1fc3RhdCBwYXJzZXIgbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjMxLVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMzEtUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhYmY4MzIKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjMxLVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDY3MSBAQAorVXRpbC1saW51eCAyLjMxIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1RoZSBwYWNrYWdlIGJ1aWxkLXN5c3RlbSBmb2xsb3dzIEdOVSBDb2RpbmcgU3RhbmRhcmRzIGFuZCB1c2VzIC0tcnVuc3RhdGVkaXIKK2luc3RlYWQgb2YgLS1sb2NhbHN0YXRlZGlyLiBUaGUgZGVmYXVsdCBpcyAvcnVuLiBQbGVhc2UsIHJldmlldyB5b3VyIGRpc3RyaWJ1dGlvbgorYnVpbGQgc2NyaXB0cyAoc3BlYyBmaWxlcyBldGMuKSB0byBiZSBzdXJlIHRoYXQgdGhpcyBjaGFuZ2UgZG9lcyBub3QgaW50cm9kdWNlCithbnkgcmVncmVzc2lvbiB0byB5b3VyIGRpc3RyaWJ1dGlvbi4KKworCitSZWxlYXNlIGhpZ2hsaWdodHMKKy0tLS0tLS0tLS0tLS0tLS0tLQorCityZmtpbGwgLS0gTkVXIENPTU1BTkQgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy4gVGhpcyBuZXcKK2ltcGxlbWVudGF0aW9uIGlzIGJhc2VkIHVwb24sIGFuZCBiYWNrd2FyZCBjb21wYXRpYmxlIHdpdGgsIHRoZSBvcmlnaW5hbCByZmtpbGwKK2Zyb20gSm9oYW5uZXMgQmVyZyBhbmQgTWFyY2VsIEhvbHRtYW5uLgorCitUaGUgY29tbWFuZCBzdSBoYXMgYmVlbiByZWZhY3RvcmVkIGFuZCBleHRlbmRlZCB0byBjcmVhdGUgcHNldWRvIHRlcm1pbmFsIGZvcgordGhlIHNlc3Npb24gKG5ldyBvcHRpb24gLS1wdHkpLiBUaGlzIG5ldyBFWFBFUklNRU5UQUwgZmVhdHVyZSBwcm92aWRlcyBiZXR0ZXIKK2lzb2xhdGlvbiBiZXR3ZWVuIHJvb3QncyB0ZXJtaW5hbCBhbmQgYW4gdW5wcml2aWxlZ2VkIHN1IHNlc3Npb24uCisKK3V1aWRwYXJzZSAtLSBORVcgQ09NTUFORCB0byBwcm92aWRlIHZhcmlhbnQgYW5kIHR5cGUgZGV0YWlscyBmb3IgaW5wdXQgVVVJRHMuCisKK1RoZSBsaWJyYXJ5IGxpYnV1aWQgYW5kIGNvbW1hbmQgdXVpZGdlbiBzdXBwb3J0IGhhc2gtYmFzZWQgVVVJRHMgdjMgKG1kNSkgYW5kCit2NSAoc2hhMSkgYXMgc3BlY2lmaWVkIGJ5IFJGQy00MTIyLiBUaGUgbGlicmFyeSBhbHNvIHByb3ZpZGVzIFVVSUQgdGVtcGxhdGVzCitmb3IgZG5zLCB1cmwsIG9pZCwgb3IgeDUwMC4KKworVGhlIGxpYnJhcnkgbGliYmxraWQgaGFzIGJlZW4gZXh0ZW5kZWQgdG8gc3VwcG9ydCBETS1pbnRlZ3JpdHksIEhQRSAoYWthCitleHRlbmRlZC1YRlMpIGFuZCBVQkkgc3VwZXJibG9jay4gVGhlIGxpYnJhcnkgYWxzbyBwcm92aWRlcyBhIG5ldyBBUEkgdG8gaGlkZQorYWxyZWFkeSBkZXRlY3RlZCBzaWduYXR1cmVzLiBUaGlzIGFsbG93cyB0aGUgZ2F0aGVyaW5nIG9mIGFsbCBwb3NzaWJsZSBtYWdpYworc3RyaW5nIHBlcm11dGF0aW9ucyBmb3IgYSBkZXZpY2UuIEZvciBleGFtcGxlLCB0aGUgY29tbWFuZCB3aXBlZnMgd2lsbCBub3cgcHJpbnQKK3RoZSBjb21wbGV0ZSBsaXN0IG9mIGFsbCBtYWdpYyBzdHJpbmdzLgorCitUaGUgbGlicmFyeSBsaWJmZGlzayBwcm92aWRlcyBhIG5ldyBBUEkgdG8gbW9kaWZ5IGdyYWluIChhIHNpemUgdXNlZCBmb3IKK3BhcnRpdGlvbiBjYWxjdWxhdGlvbnMpIGFuZCBpdCBpcyBhbHNvIHBvc3NpYmxlIHRvIGNvbXBsZXRlbHkgZGlzYWJsZSBkaWFsb2cKK2RyaXZlbiBwYXJ0aXRpb25pbmcuCisKK1RoZSBsaWJyYXJ5IGxpYnNtYXJ0Y29scyBwcm92aWRlcyBhIG5ldyBBUEkgdG8gbW92ZSBjb2x1bW5zLiBUaGlzIG5ldworZnVuY3Rpb25hbGl0eSBpcyBhdmFpbGFibGUgYnkgImNvbHVtbiAtLXRhYmxlLW9yZGVyIiBvbiB0aGUgY29tbWFuZCBsaW5lLgorCitUaGUgY29tbWFuZCAiY29sdW1uIC0tdGFibGUtaGVhZGVyLXJlcGVhdCIgYWxsb3dzIHJlcGV0aXRpb24gb2YgdGFibGUgaGVhZGVycworYWNjb3JkaW5nIHRvIHRlcm1pbmFsIHNpemUuCisKK1RoZSBsaWJmZGlzayBoYXMgYmVlbiBleHRlbmRlZCB0byB1c2UgQkxLUEcgaW9jdGxzIHRvIGluZm9ybSB0aGUga2VybmVsIGFib3V0CitjaGFuZ2VzLiBUaGlzIG1lYW5zIHRoYXQgY2ZkaXNrIGFuZCBmZGlzayB3aWxsIG5vdCBmb3JjZSB0aGUga2VybmVsIHRvIHJlcmVhZAorYWxsIG9mIHRoZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCB1bnRvdWNoZWQgcGFydGl0aW9ucyBtYXkgcmVtYWluIG1vdW50ZWQgYW5kIHVzZWQKK2J5IHRoZSBzeXN0ZW0uIFRoZSB0eXBpY2FsIHVzZS1jYXNlIGlzIHJlc2l6aW5nIHRoZSBsYXN0IHBhcnRpdGlvbiBvbiB0aGUgc3lzdGVtCitkaXNrLgorCitUaGUgY29tbWFuZCBjZmRpc2sgcHJvdmlkZXMgYSBuZXcgZGlhbG9nIHRvIHJlc2l6ZSBhIHBhcnRpdGlvbi4KKworVGhlIGZkaXNrIG1lbnUgYmVoYXZpb3Igb24gXkMgYW5kIF5EIGhhcyBiZWVuIGltcHJvdmVkIHRvIHN0b3AgdGhlIGN1cnJlbnQKK29wZXJhdGlvbiBhbmQgcmV0dXJuIHRvIG1haW4gbWVudSByYXRoZXIgdGhhbiBpbW1lZGlhdGVseSB0ZXJtaW5hdGluZyB0aGUgZmRpc2sKK3Byb2dyYW0uCisKK1RoZSAnbG9vaycgY29tbWFuZCBub3cgZm9sbG93cyB0aGUgV09SRExJU1QgZW52aXJvbm1lbnQgdmFyaWFibGUgKGlmIHNwZWNpZmllZCkKK3RvIGZpbmQgdGhlIHdvcmQgbGlzdC4KKworQWxtb3N0IGFsbCBvZiB0aGUgLS1oZWxwIGFuZCAtLXZlcnNpb24gb3V0cHV0cyBoYXZlIGJlZW4gaW1wcm92ZWQgKHRoYW5rcyB0bworUnVlZGlnZXIgTWVpZXIgYW5kIG90aGVycykuCisKK1RoZSAnc2NyaXB0JyBjb21tYW5kIGhhcyBiZWVuIGltcHJvdmVkIHRvIGZvbGxvdyB0aGUgdXN1YWwgc2VtYW50aWNzIGZvcgorc3RvcC9jb250aW51ZSBzaWduYWxzLiBJdCdzIHBvc3NpYmxlIHRvIG1vdmUgYSBzZXNzaW9uIHRvIHRoZSBiYWNrZ3JvdW5kIGFuZAorbGF0ZXIgYmFjayB0byB0aGUgZm9yZWdyb3VuZCAoZS5nLiBzaGVsbCBjb21tYW5kICJmZyIsIGV0Yy4pLgorCitUaGUgc2V0cHJpdiBjb21tYW5kIG5vdyBzdXBwb3J0cyBhbWJpZW50IGNhcGFiaWxpdGllcyB3aXRoIHRoZSBuZXcgY29tbWFuZCBsaW5lCitvcHRpb24gLS1hbWJpZW50LWNhcHMgKHRoYW5rcyBQYXRyaWNrIFN0ZWluaGFyZHQpIGFuZCB0aGUgbmV3IGNvbW1hbmQgbGluZQorb3B0aW9uIC0taW5pdC1ncm91cHMgYWxsb3dzIGluaXRpYWxpemF0aW9uIG9mIHN1cHBsZW1lbnRhcnkgZ3JvdXBzICh0aGFua3MgdG8KK1NlYmFzdGlhbiBTY2hyYWRlcikuCisKK1RoZSBod2Nsb2NrIGNvbW1hbmQgbm93IHNpZ25pZmljYW50bHkgcmVkdWNlcyBzeXN0ZW0gc2h1dGRvd24gdGltZXMgYnkgbm90CityZWFkaW5nIHRoZSBSVEMgYmVmb3JlIHNldHRpbmcgaXQgKGV4Y2VwdCB3aGVuIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gaXMKK3VzZWQpLiBUaGlzIGFsc28gbWl0aWdhdGVzIG90aGVyIHBvdGVudGlhbCBzaHV0ZG93biBhbmQgUlRDIHNldHRpbmcgcHJvYmxlbXMKK2NhdXNlZCBieSByZXF1aXJpbmcgYW4gUlRDIHJlYWQuCisKK1RoZSBod2Nsb2NrIGNvbW1hbmQgbm93IGxvZ3MgLS1zeXN0eiB3aGVuIHVzaW5nIGxpYmF1ZGl0LiBBbHNvLCBmb3IgYnVzeWJveAorY29tcGF0aWJpbGl0eSAtbCBpcyBub3cgYWxpYXNlZCB0byAtLWxvY2FsdGltZS4KKworCitTZWN1cml0eSBpc3N1ZXMKKy0tLS0tLS0tLS0tLS0tLQorCitDVkUtMjAxNi0yNzc5IAorCisgVGhlIG5ldyBleHBlcmltZW50YWwgInN1IC0tcHR5IiBmZWF0dXJlIGhhcyBiZWVuIGltcGxlbWVudGVkIHRvIGZpeCB0aGlzIGlzc3VlLgorIFRoZSBmZWF0dXJlIGlzIG5vdCBlbmFibGVkIGJ5IGRlZmF1bHQgYW5kIHRoZSBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLXB0eSBpcworIG5lY2Vzc2FyeS4KKworIFRoZSBjbGFzc2ljIHdheSBpcyB0byB1c2Ugc2V0c2lkKCkgdG8gZGlzYWJsZSB0aGUgaW9jdGwgVElPQ1NUSS4gVW5mb3J0dW5hdGVseSwKKyBzZXRzaWQoKSBoYXMgd2VsbC1kZWZpbmVkIHVzZSBjYXNlcyBpbiBzdSgxKSBhbmQgcnVudXNlcigxKSBhbmQgYW55IGNoYW5nZXMgCisgd291bGQgaW50cm9kdWNlIHJlZ3Jlc3Npb25zLiBUaGUgc2V0c2lkKCkgYWxzbyBkb2VzIG5vdCBmaXggY29yZSBvZiB0aGUgcHJvYmxlbSAKKyB0aGF0IGlzIHRlcm1pbmFsIGZpbGUgZGVzY3JpcHRvcnMgc2hhcmVkIGJldHdlZW4gcHJpdmlsZWdlZCBhbmQgdW5wcml2aWxlZ2VkCisgc2Vzc2lvbnMuCisKK1N0YWJsZSBtYWludGVuYW5jZSByZWxlYXNlcyBiZXR3ZWVuIHYyLjMwIGFuZCB2Mi4zMQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK3V0aWwtbGludXggMi4zMC4xIFtKdWwgMDcgMjAxN10KKworICogaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4zMC92Mi4zMC4xLVJlbGVhc2VOb3RlcworICAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4zMC92Mi4zMC4xLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMzAuMiBbU2VwIDIxIDIwMTddCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMzAvdjIuMzAuMi1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMzAvdjIuMzAuMi1DaGFuZ2VMb2cKKworQ2hhbmdlcyBiZXR3ZWVuIHYyLjMwIGFuZCB2Mi4zMQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorRG9jczoKKyAgIC0gYWRkIGEgY29tbWVudCBmb3IgY29uc3RhbnRzIHRvIGJvaWxlcnBsYXRlLmMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWRkIGh3Y2xvY2sgJ2hpZ2hsaWdodHMnIHYyLjMxLVJlbGVhc2VOb3RlcyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBncmFtbWFyIGZpeGVzIGZvciB2Mi4zMS1SZWxlYXNlTm90ZXMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gbW92ZSBvcHRpb24gbmFtaW5nIHRvIGhvd3RvLWNvbnRyaWJ1dGUudHh0ICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHVwZGF0ZSBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gb3V0cHV0IHJma2lsbCB0eXBlIG5hbWVzIGZyb20gYW4gYXJyYXkgaW5zdGVhZCBvZiBhIHN0YXRpYyBzdHJpbmcuICBbRGFycmVuIFNhbHRdCithZ2V0dHk6CisgICAtIGFkZCAtLWxpc3Qtc3BlZWRzIG9wdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgY29tcGlsZSB0aW1lIGZlYXR1cmVzIHRvIC0tdmVyc2lvbiBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IC0tbG9naW4tcGF1c2UgbG9naWMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCAvZXRjL29zLXJlbGVhc2UgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gZml4IGludmFsaWQgdXNhZ2UgY3Jhc2ggIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGxvZ2luIG5hbWUgREVML0NUUkxeVSBpc3N1ZSAgW0thcmVsIFpha10KKyAgIC0ga2VlcCByZXR1cm5zIGluIG1haW4oKSAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgL2V0Yy9pc3N1ZSBvbiAtLXNraXAtbG9naW4gIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkZWFkIERPX0RFVkZTX0ZJRERMSU5HIGNvZGUgc2VnbWVudCAgW1NhbWkgS2Vyb2xhXQorYmFzaC1jb21wbGV0aW9uOgorICAgLSBsb29rIGZvciBsb29rIGNvbXBsZXRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgY29tcGxldGlvbnMgdG8gd29yayB3aGVuIGJhc2ggc2V0IC11IGlzIGluIHVzZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBzaW1wbGlmeSBwaWQgbGlzdGluZyAgW1NhbWkgS2Vyb2xhXQorICAgLSB1cGRhdGUgdXVpZGdlbiwgd2lwZWZzLCB0dW5lbHAsIHNldHByaXYsIGFuZCBod2Nsb2NrICBbU2FtaSBLZXJvbGFdCitibGtpZDoKKyAgIC0gQWRkIGRtLWludGVncml0eSBzdXBlcmJsb2NrIHNpZ25hdHVyZSAgW01pbGFuIEJyb3pdCisgICAtIGNsZWFudXAgbWFuIHBhZ2UgaW5mbyBhYm91dCBsc2JsayAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBtYW4gcGFnZSB3b3JkaW5nICBbS2FyZWwgWmFrXQorICAgLSBtb3JlIGluZm8gYWJvdXQgYW1iaXZhbGVudCByZXN1bHRzIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGVycnRyeWhlbHAgaW5zdGVhZCBvZiBlcnJ0cnloICBbUnVlZGlnZXIgTWVpZXJdCitibG9ja2RldjoKKyAgIC0gY29ycmVjdCBtYW4gcGFnZSBuYW1lIGluIC0taGVscCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkb2N1bWVudCAtLXNldHJvIG1vcmUgcHJvcGVybHkgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgLS1oZWxwIGFuZCBtYW4gcGFnZSAgW1J1ZWRpZ2VyIE1laWVyXQorYnVpbGQtc3lzOgorICAgLSB1c2UgLS1ydW5zdGF0ZWRpciBpbnN0ZWFkIG9mIC0tbG9jYWxzdGF0ZWRpciAgW0FuZHJlYXMgSGVucmlrc3Nvbl0KKyAgIC0gYWRkIC0tZGlzYWJsZS1yZmtpbGwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBsaWJ0aW5mb3cgY2hlY2sgIFtLYXJlbCBaYWtdCisgICAtIGNob3duIGJlZm9yZSBjaG1vZCBmb3IgU1VJRHMgIFtLYXJlbCBaYWtdCisgICAtIGRlZmluZSBkZXBlbmRlbmNlIGJldHdlZW4gY2hzaCBhbmQgZ2V0dXNlcnNoZWxsICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCB1c2Ugbm9uLWV4aXN0aW5nIFVVSURfTElCUyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggY2hvd24gbWlzdGFrZSwgYWRkIGNoZWNrdXNhZ2Uuc2ggdG8gdGhlIGRpc3QgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IG5vbi1ibGtpZCBjb21waWxhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBjaG93biB1c2FnZSBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbWFrZSByZmtpbGwgb3B0aW9uYWwgKGFuZCBlbmFibGVkIGJ5IGRlZmF1bHQpICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjMxLXJjMSkgIFtLYXJlbCBaYWtdCisgICAtIHJlbGVhc2UrKyAodjIuMzEtcmMyKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCByZmtpbGwucHkgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbmN1cnNlc3cgd2l0aG91dCBoZWFkZXJzIGluIG5jdXJzZXN3LyBkaXJlY3RvcnkgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBESVNUQ0hFQ0tfQ09ORklHVVJFX0ZMQUdTICBbS2FyZWwgWmFrXQorY2ZkaXNrOgorICAgLSBhZGQgbWlzc2luZyAweDdGIGtleSBtYXBwaW5nICBbS2FyZWwgWmFrXQorICAgLSBhZGQgcmVzaXplIGZ1bmN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIGRpZS1vbi1zaWduYWwgY29kZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSByZXNpemUgY29kZSBtb3JlIHJlYWRhYmxlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZmRpc2tfcmVyZWFkX2NoYW5nZXMoKSAgW0thcmVsIFpha10KK2Noc2g6CisgICAtIGNsZWFudXAgZ2xvYmFsX3NoZWxscyB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gbWFrZSByZWFkbGluZSBjb21wbGV0aW9uIHRvIHByb3Bvc2UgdmFsaWQgc2hlbGxzICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBsb2NhbCAvZXRjL3NoZWxscyBwYXJzaW5nIGluIGZhdm91ciBvZiBnZXR1c2Vyc2hlbGwoMykgIFtTYW1pIEtlcm9sYV0KKyAgIC0gc3BsaXQgZ2V0X3NoZWxsX2xpc3QoKSAgW0thcmVsIFpha10KK2NvbHVtbjoKKyAgIC0gKC10KSBkaXNhYmxlIGVuY29kaW5nIGZvciBub24tcHJpbnRhYmxlIGNoYXJzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS10YWJsZS1oZWFkZXItcmVwZWF0ICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsYXRpb24gd2hlbiBsaWJjIGxhY2tzIHdpZGUtY2hhcmFjdGVyIHN1cHBvcnQgIFtDYXJsb3MgU2FudG9zXQorZG1lc2c6CisgICAtIGRvIG5vdCBhY2NlcHQgYW55IG5vbi1vcHRpb24gYXJndW1lbnRzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBkZWxpbWl0ZXIgY2FsY3VsYXRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZyYWdtZW50IGNvbmNhdGVuYXRpb24gIFtWaW5uaWUgTWFncm9dCisgICAtIHByaW50IG9ubHkgMiBoZXggZGlnaXRzIGZvciBlYWNoIGhleC1lc2NhcGVkIGJ5dGUgIFtJdmFuIERlbGFsYW5kZV0KK2RvY3M6CisgICAtIChUT0RPKSBtYWtlIFBNQlIgYm9vdCBmbGFnIG1vcmUgdXNlci1mcmllbmRseSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZW5hYmxlLXByb2dyYW1zIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCAyLjMwLjIgdG8gUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQVNBTiB0byBUT0RPIGxpc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBBdGFyaSBQVCB0byB0aGUgVE9ETyBsaXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgQ0FQX1NZU19BRE1JTiB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgVVVJRCB2MyBhbiB2NSB0byBUT0RPICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZXhlYygpIGV4aXQgY29kZXMgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG9wdGlvbmFsIG9wdGlvbiBiYWNrIHRvIHN0cnVjdCBvcHRpb24gIFtTYW1pIEtlcm9sYV0KKyAgIC0gYWRkIHByb2dyYW0tZGVzYyB0byBob3d0by11c2FnZS1mdW5jdGlvbi50eHQgYW5kIGJvaWxlcnBsYXRlLmMgIFtLYXJlbCBaYWtdCisgICAtIGNvcnJlY3QgbGluZSgxKSBkZXByZWNhdGlvbiBjb21tZW50ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBUT0RPIGl0ZW0gZm9yIGZkaXNrICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgVVVJRCB2MyBhbmQgdjUgZnJvbSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgcmVwZWF0ZWQgd29yZCBmcm9tIG1vdW50KDgpIG1hbiBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHJlbW92ZSBzb21lIG9sZCBoaXN0b3J5IGZyb20gbWFucGFnZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gdXBkYXRlIEFVVEhPUlMgZmlsZSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIFRPRE8sIHJlbW92ZSBhdXRvLG5vYXV0byAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGJvaWxlcnBsYXRlLmMgdXNhZ2UoKSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1cGRhdGUgdjIuMzEgcmVsZWFzZSBub3RlcyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHYyLjMxLVJlbGVhc2VOb3RlcyAgW0thcmVsIFpha10KK2ZkZm9ybWF0OgorICAgLSBjbGVhciBwcm9ncmVzcyBtZXNzYWdlIGJlZm9yZSBwcmludGluZyAiZG9uZSIgIFtKYWt1YiBXaWxrXQorZmRpc2s6CisgICAtIGFkZCBtaXNzaW5nIGluY2x1ZGUgIFtLYXJlbCBaYWtdCisgICAtIGFkZCB3cmFwX2ZnZXRzKCkgZm9yIGdldHRpbmcgdXNlciBpbnB1dCAgW1ZhY2xhdiBEb2xlemFsXQorICAgLSBmaXggY29weSBmcm9tIHJlYWRsaW5lIGFuZCB3aGl0ZXNwYWNlIHN0cmlwcGluZyAgW1ZhY2xhdiBEb2xlemFsXQorICAgLSBmaXggcmVhZGxpbmUgaW50ZXJhY3Rpb24gd2l0aCBzaWduYWxzICBbS2FyZWwgWmFrXQorICAgLSBoYW5kbGUgU0lHSU5UIGluIGRpYWxvZ3MgYXMgY2FuY2VsICBbVmFjbGF2IERvbGV6YWxdCisgICAtIG1pbm9yIGZpeGVzIHRvIG1ha2UgcmVhZGxpbmUgd29yayAgW1ZhY2xhdiBEb2xlemFsXQorICAgLSByZXNldCBjb250ZXh0IGFmdGVyIGZhaWxlZCBzY3JpcHQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmZGlza19yZXJlYWRfY2hhbmdlcygpICBbS2FyZWwgWmFrXQorICAgLSB1c2Ugc3RydXRpbHMgdG8gdHJpbSB3aGl0ZXNwYWNlIGZyb20gaW5wdXQgIFtWYWNsYXYgRG9sZXphbF0KK2ZpbmNvcmU6CisgICAtIG1ha2Ugc3VyZSBtbWFwKE5VTEwsIC4uLikgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorZmxvY2ssIGdldG9wdDoKKyAgIC0gd3JpdGUgLS1oZWxwIHRvIHN0ZG91dCBhbmQgcmV0dXJuIDAgIFtSdWVkaWdlciBNZWllcl0KK2ZzY2s6CisgICAtIGFkZCAtLWhlbHAgYW5kIC0tdmVyc2lvbiAgW1J1ZWRpZ2VyIE1laWVyXQorZnN0YWIoNSk6CisgICAtIG1lbnRpb24gaG93IHRhYnMgYXJlIGVzY2FwZWQgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCitmc3RyaW06CisgICAtIHByZWZlciBlYXJsaWVyIG1vdW50ZWQgZmlsZXN5c3RlbXMgIFtBbGV4IEl2YW5vdl0KKyAgIC0gcmVtb3ZlIG9ic29sZXRlIGNvbW1lbnQgIFtLYXJlbCBaYWtdCitod2Nsb2NrOgorICAgLSAtLWVwb2NoIHByZXNlbmNlIHRlc3QgZmFpbHMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWRkIC0tdXBkYXRlLWRyaWZ0IGNoZWNrICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGFkZCAtYSB0aGF0IGlzIHNob3J0IG9mIC0tYWRqdXN0IHRvIG1hbnVhbCBwYWdlIGFuZCB1c2FnZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgYXVkaXQgZm9yIC0tc3lzdHogIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWRkIHVzYWdlKCkgZnVuY3Rpb25zIGhlYWRpbmcgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWxsb3cgLWwgYXMgYWxpYXMgZm9yIC0tbG9jYWx0aW1lICBbUmFzbXVzIFZpbGxlbW9lc10KKyAgIC0gY2xvc2UgaHdhdWRpdF9mZCB1bmNvbmRpdGlvbmFsbHkgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gY29ycmVsYXRlIGhjbG9ja3RpbWUgaW5zdGVhZCBvZiBzZXRfdGltZS4gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZG9uJ3QgYWx3YXlzIHVzZSBod2Nsb2NrX2V4aXQgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZG9uJ3QgaWZkZWYgcHJpbnRmIGFyZ3VtZW50cyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBleGl0IGJ1ZyBmaXggYW5kIHNpbmdsZSB0ZXN0IG1vZGUgbWVzc2FnZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBmaW5hbCB1c2FnZSgpIHN0cmluZ3Mgc2xpY2UgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZml4IFJUQyByZWFkIGxvZ2ljICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGZpeCBoY2xvY2tfdmFsaWQgdGVzdCBhbmQgZXJyb3IgbWVzc2FnZXMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZml4IHJlZ3Jlc3Npb24gZnJvbSBjM2FlNzg1ICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGZpeCB1bmltcGxlbWVudGVkIGlvY3RsIHRlc3QgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZml4IHdhcm5pbmcgWy1XaW52YWxpZC1ub3JldHVybl0gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZm9yIGRlYnVnZ2luZyBwcmludCBzdGFydHVwIHN5c3RlbSB0aW1lICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGltcHJvdmUgUlRDIGVwb2NoIG1lc3NhZ2VzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIG1ha2UgZGVidWcgaW1wbGljaXQgZm9yIHRlc3QgbW9kZS4gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gbW92ZSBkcmlmdCBjb3JyZWN0aW9uIGFuZCAtLXByZWRpY3QgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gbW92ZSBydGMgcGVybWlzc2lvbnMgdGVzdCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBtb3ZlIHN5c3R6IGFib3ZlIGluaXQgY2xvY2tzIHJlYWQgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gbW92ZSBzeXN0eiBpbnRvIGhjdG9zeXMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVmYWN0b3Igc2V0X3N5c3RlbV9jbG9jaygpICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHJlbW92ZSBib29sIHR5cGUgZGVmaW5pdGlvbiAgW1NhbWkgS2Vyb2xhXQorICAgLSByZW1vdmUgYnVzeXdhaXQgdHJpc3RhdGUgcmV0dXJuIHN0YXR1cyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgY3VzdG9tIGVycm5vIHN0cmluZyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgZGVhZCBjb2RlIGluIHVzYWdlKCkgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIGRlYWQgaW9jdGwgY2hlY2sgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIGZyb20gdXNhZ2UoKSBGSUxFICpvdXQgPSBzdGRvdXQgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIG02OGsgYW5kIGFscGhhIGNtb3MgZnJvbSBtYW51YWwgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIHNldF9zeXN0ZW1fY2xvY2tfdGltZXpvbmUoKSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgc3lzZXhpdHMuaCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgdW51c2VkIGVwb2NoX29wdGlvbiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgdW51c2VkIG9wdHN0cmluZyBjaGFyYWN0ZXJzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHJlbW92ZSB1bnVzZWQgc3RkYXJnLmggIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIHVud2FudGVkIHNwYWNlIGJlZm9yZSBkZXNjcmlwdGlvbiAgW0thcmVsIFpha10KKyAgIC0gcmVzdG9yZSBzZWxlY3QoKSB0aW1lb3V0IHdhcm5pbmcgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gc2xpY2UgdXAgdGhlIHVzYWdlIHRleHQgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gc3F1YXNoIGN1c3RvbSBlcnJubyBzdHJpbmdzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHN5bmMgb25lLWxpbmVyIGRlc2NyaXB0aW9ucyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1cGRhdGUgLS1oZWxwIGNvbnRlbnQgYW5kIGdyYW1tYXIgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gdXBkYXRlIG1hbiBwYWdlICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHVwZGF0ZSBzZXRfc3lzdGVtX2Nsb2NrIGNvbW1lbnRzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHVwZGF0ZSBzZXRfc3lzdGVtX2Nsb2NrIGRlYnVnZ2luZyAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1cGRhdGUgdXNhZ2UoKSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1cGRhdGUgdXNhZ2UoKSBGSUxFIG5hbWUgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gdXBkYXRlIHVzYWdlKCkgdG8gdXRpbC1saW51eCBzdHlsZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1c2FnZSgpIHVzZSBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSB1c2UgUlRDIGluIGhlbHAgb3V0cHV0ICBbSiBXaWxsaWFtIFBpZ2dvdHRdCitpbmNsdWRlOgorICAgLSBtb3ZlIHBhbWZhaWwuaCB0byBhdXRoLmMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXBkYXRlIHBhdGhuYW1lcy5oICBbSiBXaWxsaWFtIFBpZ2dvdHRdCitpbmNsdWRlL2MuaDoKKyAgIC0gYWRkIFVTQUdFX0NPTU1BTkRTIGFuZCBVU0FHRV9DT0xVTU5TICBbSiBXaWxsaWFtIFBpZ2dvdHRdCitpcGNzOgorICAgLSBmaXggbWVtb3J5IGxlYWsgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQoraXNvc2l6ZToKKyAgIC0gYXZvaWQgcmVhZGluZyBtb3JlIGRhdGEgdGhhbiB3aGF0IGlzIG5lZWRlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBpdGVyYXRlIG92ZXIgYWxsIGFyZ3VtZW50cyBldmVuIHdoZW4gc29tZXRoaW5nIGZhaWxzICBbS2FyZWwgWmFrXQorICAgLSB1c2FnZSgpIGFuZCBjb2Rpbmcgc3R5bGUgY2xlYW51cCAgW0thcmVsIFpha10KK2xhc3Q6CisgICAtIGNvbmRpdGlvbiAoc2VjcyA9PSAwKSAtIG5vdyBoYW5kbGVkIGNvcnJlY3RseSAgW2NvYXN0YWwtaGlrZXJdCisgICAtIGRvbid0IHNob3cgbmVnYXRpdmUgdGltZSAgW2NvYXN0YWwtaGlrZXJdCitsZGF0dGFjaDoKKyAgIC0gc2ltcGxpZnkgZGVidWdnaW5nIGZ1bmN0aW9uIHdoZW4gdndhcm54KDMpIGlzIGF2YWlsYWJsZSAgW1NhbWkgS2Vyb2xhXQorbGliOgorICAgLSBmaXggc3RydXRpbHMuaCwgcmVtb3ZlIFNUUlRPWFhfRVhJVF9DT0RFICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBfUkxEXyBmcm9tIGZvcmJpZCBlbnZpcm9ubWVudCB2YXJpYWJsZSBsaXN0ICBbU2FtaSBLZXJvbGFdCisgICAtIHNpbXBsaWZ5IGNwdXNldCBpZiBjbGF1c2VzIHRoYXQgcmV0dXJuICBbU2FtaSBLZXJvbGFdCisgICAtIHN0eWxlIGNvc21ldGljcyBwbHltb3V0aC1jdHJsLmMgIFtSdWVkaWdlciBNZWllcl0KK2xpYi9ibGtkZXY6CisgICAtIHJlbW92ZSBzdXBwb3J0IGZvciBMaW51eCA8IDIuNiAgW1J1ZWRpZ2VyIE1laWVyXQorbGliL21hdGNoOgorICAgLSBtYWtlIG1hdGNoX2ZzdHlwZSgpIGNhc2UgaW5zZW5zaXRpdmUgIFtLYXJlbCBaYWtdCitsaWIvbWJzZWRpdDoKKyAgIC0gY2hlY2sgd2N0b21iKCkgcmV0dXJuIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliL3BhZ2VyOgorICAgLSBjaGVjayBvcGVuKCkgcmV0dXJuIGNvZGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorbGliL3BhdGg6CisgICAtIGFkZCBlcnJvciBoYW5kbGluZyB0byBwYXRoX3ZjcmVhdGUoKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggY3Jhc2gsIHBhdGhidWYgb3ZlcmZsb3cgIFtSdWVkaWdlciBNZWllcl0KK2xpYi9wd2R1dGlsczoKKyAgIC0gYWRkIHhnZXRsb2dpbigpICBbS2FyZWwgWmFrXQorbGliL3JhbmR1dGlsczoKKyAgIC0gaW1wcm92ZSBnZXRyYW5kb20oKSB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHN1cGVyZmx1b3VzIGNvbnRpbnVlICBbS2FyZWwgWmFrXQorICAgLSByZXNldCBsb3NlIGNvdW50ZXIgIFtLYXJlbCBaYWtdCitsaWIvcmFuZHV0aWxzLmM6CisgICAtIEZhbGwgYmFjayBncmFjZWZ1bGx5IHdoZW4ga2VybmVsIGRvZXNuJ3Qgc3VwcG9ydCBnZXRyYW5kb20oMikuICBbQ2hyaXN0b3BoZXIgSmFtZXMgSGFsc2UgUm9nZXJzXQorICAgLSBNb3JlIHBhcmFub2lhIGluIGdldHJhbmRvbSgpIGNhbGwuICBbQ2hyaXN0b3BoZXIgSmFtZXMgSGFsc2UgUm9nZXJzXQorbGliL3R0eXV0aWxzOgorICAgLSByZXR1cm4gdGVybWluYWwgbGluZXMgdG9vICBbS2FyZWwgWmFrXQorbGliYmxraWQ6CisgICAtICh2ZmF0KSBhZGQgbW9yZSBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gYWRkIEhQRSBleHRlbmRlZC1YRlMgdG8ga25vd24gZmlsZXN5c3RlbXMgIFtNYXJrIFRpbmd1ZWx5XQorICAgLSBhZGQgc3VwcG9ydCBmb3IgVUJJIHN1cGVyYmxvY2sgIFtSYWZhxYIgTWnFgmVja2ldCisgICAtIGFsbG93IHRvIGhpZGUgYWxyZWFkeSBkZXRlY3RlZCBzaWduYXR1cmVzICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjaGVjayBmb3Igc2l6ZSBvbiBVQkkgKGNoYXIgZGV2KSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIENEUk9NX0dFVF9DQVBBQklMSVRZIGlvY3RsIGZvciBETSBkZXZpY2VzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVdmb3JtYXQtdHJ1bmNhdGlvbj1dICBbS2FyZWwgWmFrXQorICAgLSBmaXggZ2NjLTcgd2FybmluZyAtV2ludC1pbi1ib29sLWNvbnRleHQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbWFyayBVQkkgYXMgUkFJRCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGRlYWQgY29kZSBhbmQgYmxraWRfcHJvYmVfbmV3X3ZhbHVlKCkgIFtLYXJlbCBaYWtdCisgICAtIHVkZiAgQWRkIHN1cHBvcnQgZm9yIElEX0ZTX1ZFUlNJT04gIFtQYWxpIFJvaMOhcl0KKyAgIC0gdWRmICBEZS1kdXBsaWNhdGUgY29kZSBmb3IgZHN0cmluZyBkZWNvZGluZyAgW1BhbGkgUm9ow6FyXQorICAgLSB1ZGYgIERlZmluZSBtYWdpYyBjb25zdGFudHMgIFtQYWxpIFJvaMOhcl0KKyAgIC0gdWRmICBGaXggZGV0ZWN0aW9uIG9mIFVERiBpbWFnZXMgd2l0aCBibG9jayBzaXplIDEwMjQgYW5kIDQwOTYgIFtQYWxpIFJvaMOhcl0KKyAgIC0gdWRmICBGaXggcGFyc2luZyBvZiBVREYgZHN0cmluZyBzdHJ1Y3R1cmVzICBbUGFsaSBSb2jDoXJdCisgICAtIHVkZiAgRml4IHR5cGVzICBbUGFsaSBSb2jDoXJdCitsaWJmZGlzazoKKyAgIC0gKGRvcykgYWNjZXB0IHN0YXJ0IGZvciBsb2cucGFydGl0aW9ucyBvbiB0ZW1wbGF0ZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgYmUgbW9yZSB2ZXJib3NlIG9uIHBhcnRubyAtRVJBTkdFIGVycm9yICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBjbGVhbnVwIHRlbXBsYXRlIGJhc2VkIHBhcnRpdGlvbmluZyAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgZml4IHByaW1hcnkvbG9naWNhbCBsb2dpYyB3aGVuIGZvbGxvdyB0ZW1wbGF0ZSAgW0thcmVsIFpha10KKyAgIC0gKGRvcykgcmV0dXJuIEVJTlZBTCB3aGVuIGRlbGV0ZSB1bnVzZWQgcGFydGl0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSB1c2Ugc2l6ZS09MSB3aGVuIGFsaWdubWVudCBub3QgdXNlZCBsYXRlciAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgZml4IHNpemUtMSBlcnJvciAgW0thcmVsIFpha10KKyAgIC0gKHN1bikgbWFrZSBtYXRoIG1vcmUgcm9idXN0IFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tZ3JhaW4gdG8gbWtwYXJ0IHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIC0tbm9wYXJ0bm8gdG8gbWtwYXJ0IHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbW1lbnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19kZXZpY2VfaXNfdXNlZCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZmRpc2tfZGlzYWJsZV9kaWFsb2dzKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmZGlza19yZWFzc2lnbl9kZXZpY2UoKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGZkaXNrX3NhdmVfdXNlcl9ncmFpbigpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW9yZSBkZWJ1ZyBtZXNzYWdlcyB0byBnZXQtbGFzdC1wb3NzaWJsZSByZXNpemUgc3BhY2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzYW1wbGUtZmRpc2stbWtwYXJ0LWZ1bGxzcGVjICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byByZXNpemUgY29udGFpbmVyICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byByZXNpemUgaW4gdW5zb3J0ZWQgcGFydGl0aW9uIHRhYmxlICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHN1biBsYWJlbCBjaGVja3N1bSB1c3VhZ2UgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZG9uJ3QgaGFyZGNvZGUgbGFiZWwgdHlwZSBpbiBzYW1wbGVzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmRpc2tfcmVzZXRfcGFydGl0aW9uKCkgbGVha2luZyAqX2NocyBzdHJpbmdzLiAgW1ZhY2xhdiBEb2xlemFsXQorICAgLSBmaXggZ3VpZCB1c2FnZSBvZiBwYWNrZWQgc3RydWN0IGdwdF9lbnRyeSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdHdvIHBvdGVudGlhbCBtZW1vcnkgZXJyb3JzLiAgW1ZhY2xhdiBEb2xlemFsXQorICAgLSBmaXggd2FybmluZyAtV3VudXNlZC1mdW5jdGlvbiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBpbXByb3ZlICJhZGQgcGFydGl0aW9uIiBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIGFsaWdubWVudCBkZWJ1ZyBtZXNhZ2dlcyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSB0YWJsZSBwcmludCBkZWJ1Z3MgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgZmRpc2sgY29tcGxpYW50IHRvIFVFRkkvR1BUIHNwZWNpZmljYXRpb24gb24gUE1CUiAgW0thcmVsIFpha10KKyAgIC0gbW92ZSBmZGlza19yZXJlYWRfcGFydGl0aW9uX3RhYmxlKCkgdG8gYW5vdGhlciBmaWxlICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgdW5uZWNlc3NhcnkgZnN0YXQoKSBjYWxsICBbS2FyZWwgWmFrXQorICAgLSByZW1vdmUgd2hpdGVzcGFjZXMgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgZGVmYXVsdCBwYXJ0bm8gaW4gbWtwYXJ0LWZ1bGxzcGVjIHNhbXBsZSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBsb2dpY2FsIHBhcnRpdGlvbiByZXNpemUgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBCTEtQRyBpb2N0bHMgdG8gaW5mb3JtIGtlcm5lbCBhYm91dCBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1c2UgQkxLUEdfKiBpb2N0bHMgb24gbGludXggb25seSAgW0thcmVsIFpha10KKyAgIC0gdXNlIGZkaXNrX3NlY3Rvcl90IGNvbnNpc3RlbnRseSBhbmQgZml4IHByaW50ZiBmb3JtYXQgc3RyaW5ncyAgW1J1ZWRpZ2VyIE1laWVyXQorbGlibW91bnQ6CisgICAtICh1bW91bnQpIHVzZSBtb3VudCB0YWJsZSBmaWx0ZXIgb24gLWMgb25seSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGh1bWFuIGNvbXBhdGlibGUgbWVzc2FnZSBmb3IgRUJBRE1TRyBlcnJubyAgW0thcmVsIFpha10KKyAgIC0gYnRyZnMsIHJlbW92ZSB1bnVzZWQgc2V0dGVyIGZ1bmN0aW9ucyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBleHBvcnQgbG9ja2luZyBlcnJvcnMgYXMgTU5UX0VYX0ZJTEVJTyAgW0thcmVsIFpha10KKyAgIC0gZml4IFB5dGhvbiBnZXRfcHJvcGFnYXRpb24gIFtHaXVzZXBwZSBTY3JpdmFub10KKyAgIC0gZml4IHdhcm5pbmcgInNldCBidXQgbm90IHVzZWQiICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGlnbm9yZSAiYmluZCIgZnJvbSBmc3RhYiBvbiBjb21tYW5kIGxpbmUgInJlbW91bnQiICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIG1udF9jb250ZXh0X2lzX2ZzX21vdW50ZWQgd29yayBmb3IgL3Byb2MgIFtJdmFuIERlbGFsYW5kZV0KKyAgIC0gbWFrZSBzdXJlIHdlIGNhbGwgc3RhdCgpIHByb3BlbHkgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSB1c2UgX2V4aXQoKSBpbiA8dHlwZT4gaGFuZGxlcnMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBtb3VudCB0YWJsZSBmaWx0ZXIgb24gLS1uby1jYW5vbmljYWxpemUgIFtLYXJlbCBaYWtdCitsaWJzbWFydGNvbHM6CisgICAtIChkb2NzKSBhZGQgbmV3IGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gKGRvY3MpIGFkZCBub3RlIGFib3V0IGxpbmUgc2VwYXJhdG9ycyAgW0thcmVsIFpha10KKyAgIC0gKHNhbXBsZSkgY2xlYW51cCBsaW5lIHNlcGFyYXRvciB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIGhlYWRlci1yZXBlYXQgZmVhdHVyZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3Npbmcgc3ltYm9scyAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNjb2xzX3RhYmxlX2VuYWJsZV9ub2VuY29kaW5nKCkgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY29sc190YWJsZV97c2V0LGdldH1fdGVybWhlaWdodCgpICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBjYWxsIGZyZWVfYnVmZmVyKCkgZm9yIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgW2NvdmVyaXR5IHNjYW5dICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tbWVudCAodG8gbWFrZSBndGstZG9jcyBoYXBweSkgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBoZWFwLWJ1ZmZlci1vdmVyZmxvdyB3aGVuIG1vdmUgY29sdW1ucyAgW0thcmVsIFpha10KKyAgIC0gZml4IHNjb2xzX2xpbmVfbW92ZV9jZWxscygpIG4rMSBlcnJvciBbYXNhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB3YXJuaW5nICJ1bnVzZWQgcGFyYW1ldGVyIiAgW1J1ZWRpZ2VyIE1laWVyXQorbGlidXVpZDoKKyAgIC0gYWRkIHN1cHBvcnQgZm9yIGhhc2gtYmFzZWQgVVVJRHMgIFtQaGlsaXAgUHJpbmRldmlsbGVdCisgICAtIHVzZSBhY2Nlc3MoMikgd2hlbiBjaGVja2luZyAvZGV2L3JhbmRvbSBhdmFpbGFiaWxpdHkgIFtTYW1pIEtlcm9sYV0KK2xvZ2dlcjoKKyAgIC0gYWRkIGR1bW15IGZhbGxiYWNrIGZvciBPU1ggIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHJlY29ubmVjdCBvbiBpbml0aWFsIGZhaWxlZCBjb25uZWN0IHRvbyAgW0thcmVsIFpha10KKyAgIC0ga2VlcCBoZWFkZXIgZ2VuZXJhdG9ycyBpbmRlcGVuZGVudCBvbiBjb25uZWN0aW9uICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHN0ZGluIHBhcnNpbmcgbW9yZSBmcmllbmRseSB0byBzdGF0aWMgYW5hbHl6ZXJzICBbS2FyZWwgWmFrXQorICAgLSByZWNvbm5lY3Qgb24gZmFpbGVkIHNlbmQoKSAgW0thcmVsIFpha10KK2xvZ2luOgorICAgLSBhZGQgLS1oZWxwIGFuZCAtLXZlcnNpb24gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIC0taGVscCB0ZXh0ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCB4Z2V0cHduYW0oKSAgW0thcmVsIFpha10KKyAgIC0gZml4IHNpZ25hbCByYWNlICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIHVzZSBJUHY0IG9uIElQdjQtbWFwcGluZy10by1JUHY2ICBbS2FyZWwgWmFrXQorbG9vazoKKyAgIC0gdXNlIFdPUkRMSVNUIGVudmlyb25tZW50IHZhcmlhYmxlIHRvIGZpbmQgd29yZCBsaXN0ICBbU2FtaSBLZXJvbGFdCitsb3NldHVwOgorICAgLSBBZGQgc3VwcG9ydCBmb3IgbG9naWNhbCBibG9jayBzaXplICBbU3RhbmlzbGF2IEJyYWJlY10KKyAgIC0gYWRkIGluZm8gYWJvdXQgbGF6eSBkZXRhY2ggdG8gbWFucGFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgaW5pdGlhbGl6ZXIgW2NsYW5nXSAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggYml0d2lzZSB2cy4gbG9naWNhbCB0eXBvIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbmZsaWN0aW5nIHR5cGVzIGZvciDigJhsb29wY3h0X3NldF9ibG9ja3NpemXigJkgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSB0byAtLXNlY3Rvci1zaXplIGFuZCBMT0ctU0VDICBbS2FyZWwgWmFrXQorbHNibGs6CisgICAtIGFkZCBvcHRpb24gLS10cmVlICBbS2FyZWwgWmFrXQorICAgLSBzbWFsbCBtYW4gcGFnZSBjaGFuZ2UgaW4gcmV0dXJuIGNvZGVzIGRlc2NyaXB0aW9uICBbS2FyZWwgWmFrXQorbHNjcHU6CisgICAtIGNsZWFudXAgRE1JIGRldGVjdGlvbiByZXR1cm4gY29kZXMgIFtLYXJlbCBaYWtdCisgICAtIG1ha2UgY2xhbmcgYW5hbHl6ZXIgaGFwcHkgIFtSdWVkaWdlciBNZWllcl0KK2xzbG9naW5zOgorICAgLSBiZSBtb3JlIGV4cGxpY2l0IHdpdGggLWcgaW4gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBwb3NzaWJsZSBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGlnbm9yZSBub24tZXhpc3RpbmcgdXNlcnMgIFtLYXJlbCBaYWtdCitsc21lbToKKyAgIC0gZml4LCB1c2luZyBmcmVlZCBtZW1vcnkgIFtSdWVkaWdlciBNZWllcl0KK21pc2M6CisgICAtIFBPU0lYIHVzYWdlIGRkLCByZWdhcmRpbmcgdW5pdCBzdWZmaXhlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhdm9pZCBzb21lIGRlYWQgaW5pdGlhbGl6YXRpb24gd2FybmluZ3MgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2xlYW51cCBVVUlEX1NUUl9MRU4gZGVmaW5pdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgYW5kIGZpeCAtLXVua25vd25vcHQgaXNzdWVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGNvbnNvbGlkYXRlIGFsbCAtLWhlbHAgb3B0aW9uIGRlc2NyaXB0aW9ucyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjb25zb2xpZGF0ZSBtYWNybyBzdHlsZSBVU0FHRV9IRUxQX09QVElPTlMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY29uc29saWRhdGUgdXNhZ2UoKSAiQXZhaWxhYmxlIGNvbHVtbnMiICBbS2FyZWwgWmFrXQorICAgLSBjb3NtZXRpY3MsIHJlbW92ZSBhcmd1bWVudCBmcm9tIHVzYWdlKEZJTEUqKSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBjb3NtZXRpY3MsIHJlbW92ZSBhcmd1bWVudCBmcm9tIHVzYWdlKGludCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGdjYy03IHNucHJpbnRmIHdhcm5pbmdzIC1XZm9ybWF0LXRydW5jYXRpb24gIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGdjYy03IHNwcmludGYgd2FybmluZ3MgLVdmb3JtYXQtb3ZlcmZsb3cgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGdnYy03IGZhbGx0aHJvdWdoIHdhcm5pbmdzICBbU2FtaSBLZXJvbGFdCisgICAtIGZpeCBtb3JlIHN0cnV0aWxzIHJlbGF0ZWQgZXhpdCBjb2RlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggb3B0dXRpbHMuaCByZWxhdGVkIGV4aXQgY29kZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHJlYXNzaWduZWQgdmFsdWVzIGJlZm9yZSBvbGQgb25lcyBoYXMgYmVlbiB1c2VkIFtjcHBjaGVja10gIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHNvbWUgYnJva2VuIGV4aXQgY29kZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IHNvbWUgcHJpbnRmIGZvcm1hdCBzdHJpbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCB4YWxsb2MuaCByZWxhdGVkIGV4aXQgY29kZXMgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW50cm9kdWNlIHByaW50X3VzYWdlX2hlbHBfb3B0aW9ucygpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIG5ldmVyIHVzZSB1c2FnZShFUlJPUikgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbmV2ZXIgdXNlIHVzYWdlKHN0ZGVycikgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gbm8gbW9yZSBlcnJ0cnloKCkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHN0cmF5IHNlbWljb2xvbnMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gcmVtb3ZlIHN1cGVyZmx1b3VzIG51bGwgcG9pbnRlciBjaGVja3MgZm9yIG9wdGFyZyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZXBsYWNlIG1hZ2ljIG51bWJlciAzNyB3aXRoIFVVSURfU1RSX0xFTiAgW1BoaWxpcCBQcmluZGV2aWxsZV0KKyAgIC0gcmV2ZXJ0IHRvIHRoZSBvbGQgVVNBR0VfSEVMUCBzdHJpbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHVwZGF0ZSAtLWhlbHAgY29udGVudCBhZ2FpbiAgW1J1ZWRpZ2VyIE1laWVyXQorbWtmcy5jcmFtZnM6CisgICAtIGFkZCAtLWhlbHAgYW5kIC0tdmVyc2lvbiAgW1J1ZWRpZ2VyIE1laWVyXQorbW9yZToKKyAgIC0gYWRkIC0taGVscCBhbmQgLS12ZXJzaW9uICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSB1bnVzZWQgdmFyaWFibGUgIFtSdWVkaWdlciBNZWllcl0KK21vdW50OgorICAgLSBmaXggbWFuIHBhZ2UgdHlwbyAoLS1iaW5kLHJvKSAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGV4dE4gZnJvbSBtb3VudC44IG1hbiBwYWdlICBbS2FyZWwgWmFrXQorcGFyc2UtZGF0ZToKKyAgIC0gZml4IHByaW50ZiBmb3JtYXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVmYWN0b3IgdG1fZGlmZigpICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHJlbW92ZSB1bnVzZWQgRVBPQ0hfWUVBUiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgdW51c2VkIG9yZGluYWxfZGF5X3NlZW4gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVtb3ZlIHVudXNlZCB5ZWFyX3NlZW4gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVwbGFjZSBJU0RJR0lUIHdpdGggY19pc2RpZ2l0ICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHRpbWVfem9uZV9oaG1tKCkgYnVnIGZpeGVzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHVzZSBpbnQgd2hlcmUgYXBwcm9wcmlhdGUgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gdXNlIGludG1heF90IHdoZXJlIGFwcHJvcHJpYXRlICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHVzZSB0b191Y2hhcigpIGluc3RlYWQgb2YgYXNzaWdubWVudC4gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gdXNlIHVpbnRtYXhfdCB3aGVyZSBhcHByb3ByaWF0ZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorcGFydHg6CisgICAtIG1vdmUgcGFydHguaCB0byBpbmNsdWRlLyAgW0thcmVsIFpha10KK3BvOgorICAgLSBGaXggYSB0eXBvICBbTWFzYW5hcmkgSWlkYV0KKyAgIC0gRml4IHRyYW5zbGF0aW9uIGluIGphLnBvICBbTWFzYW5hcmkgSWlkYV0KKyAgIC0gZml4IGlwY3JtIHRyYW5zbGF0aW9uIGVycm9yIGZyLnBvICBbS2FyZWwgWmFrXQorICAgLSBtZXJnZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY3MucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtQZXRyIFDDrXNhxZldCisgICAtIHVwZGF0ZSBkYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pvZSBIYW5zZW5dCisgICAtIHVwZGF0ZSBlcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0FudG9uaW8gQ2ViYWxsb3MgUm9hXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtTdMOpcGhhbmUgQXVsZXJ5XQorICAgLSB1cGRhdGUgcGwucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtKYWt1YiBCb2d1c3pdCisgICAtIHVwZGF0ZSBwdF9CUi5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1JhZmFlbCBGb250ZW5lbGxlXQorICAgLSB1cGRhdGUgc3YucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtTZWJhc3RpYW4gUmFzbXVzc2VuXQorcHlsaWJtb3VudDoKKyAgIC0gTlVMTCB0ZXJtaW5hdGUga3dsaXN0IGluIENvbnRleHRfaW5pdCAgW1phYyBNZWRpY29dCityZW5hbWU6CisgICAtIGFkZCAtbyB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIG5vdGljZSB3aGVuIGV4cHJlc3Npb24gYW5kIHJlcGxhY2VtZW50IGFyZSB0aGUgc2FtZSBzdHJpbmcgIFtTYW1pIEtlcm9sYV0KK3Jlc2V0OgorICAgLSByZW1vdmUgc2NyaXB0IGZyb20gdGhlIHBhY2thZ2UgIFtTYW1pIEtlcm9sYV0KK3Jma2lsbDoKKyAgIC0gYWRkIE5GQyBmYWxsYmFjayBmb3Igb2xkIGhlYWRlcnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBTYW1pIHRvIGF1dGhvcnMgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBiYXNoLWNvbXBsZXRpb24gZmlsZSAgW1NhbWkgS2Vyb2xhXQorICAgLSBhZGQgc3lzdGVtZC1yZmtpbGwoOCkgc2VlIGFsc28gc2VnbWVudCAgW1NhbWkgS2Vyb2xhXQorICAgLSBhbGxvdyB1c2Ugb2YgbXVsdGlwbGUgYXJndW1lbnRzICBbU2FtaSBLZXJvbGFdCisgICAtIGNoZWNrIGlkIG51bWJlciByZWZlcnMgdG8gYSBkZXZpY2UgdGhhdCBleGlzdHMgIFtTYW1pIEtlcm9sYV0KKyAgIC0gY2xhcmlmeSAnYWxsIGRldmljZXMnIGhhbmRsaW5nICBbU2FtaSBLZXJvbGFdCisgICAtIGNsZWFudXAgcmV0dXJucyAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2FnZSgpICBbS2FyZWwgWmFrXQorICAgLSBkbyBub3QgZnN5bmMoMykgL2Rldi9yZmtpbGwgZmlsZSBkZXNjcmlwdG9yICBbU2FtaSBLZXJvbGFdCisgICAtIGRvIG5vdCBpZ25vcmUgcmVhZCBlcnJvciAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggY29kaW5nIHN0eWxlIGFuZCBlcnJvciBtZXNzYWdlcyAgW0thcmVsIFpha10KKyAgIC0gZml4IGRlc2NyaXB0aW9uIG5hbWUgdHlwbyAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggdHlwbyBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZGVmYXVsdCBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGluZm9ybSBpbiBzeXNsb2cgd2hlbiByZmtpbGwgaXMgaW52b2tlZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBtYWtlIGNvbW1hbmQgdG8gYnVpbGQgaW4gdXRpbC1saW51eCBwcm9qZWN0ICBbU2FtaSBLZXJvbGFdCisgICAtIG1ha2UgcHJvZ3JhbW1pbmcgc3R5bGUgdG8gbWF0Y2ggdXRpbC1saW51eCBwcm9qZWN0ICBbU2FtaSBLZXJvbGFdCisgICAtIG1vdmUgZmlsZXMgdG8gYXBwcm9wcmlhdGUgbG9jYXRpb25zICBbU2FtaSBLZXJvbGFdCisgICAtIHJlZmFjdG9yIGFjdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBkdXBsaWNhdGUgY29kZSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBvbGQgImxpc3QiIG91dHB1dCAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBiYWNrIGFuZCBmb3J3YXJkIGNvbXBhdGlibGUgdGVzdCAgW1NhbWkgS2Vyb2xhXQorICAgLSB1c2UgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wcyBpbiBldmVudCBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gdXNlIGxpYnNtYXJ0Y29scyBvdXRwdXQgIFtTYW1pIEtlcm9sYV0KKyAgIC0gbW92ZSBpdCBiZWxvdyByZmtpbGxfYmxvY2suICBbRGFycmVuIFNhbHRdCitydW51c2VyOgorICAgLSBmaXggbGlua2luZyAgW1NhbWkgS2Vyb2xhXQorc2NyaXB0OgorICAgLSBlbnN1cmUgdHlwZXNjcmlwdCBhbmQgdGltaW5nIGVycm9ycyBkbyBub3QgYnJlYWsgdGVybWluYWwgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IGFtYmlndWl0eSBhYm91dCB0aGUgb3B0aW9uYWwgYXJndW1lbnQgb2YgdGhlIC10IG9wdGlvbiAgW0FudG9uaW8gT3NwaXRlXQorICAgLSByZW5hbWUgZml4dHR5KCkgdG8gZW5hYmxlX3Jhd21vZGVfdHR5KCkgIFtLYXJlbCBaYWtdCisgICAtIHNpbXBsaWZ5IHN0ZGluIHVzYWdlIGluIHBvbGwoKSAgW0thcmVsIFpha10KKyAgIC0gc3VwcG9ydCBzaWd7c3RvcC9jb250fSAgW0thcmVsIFpha10KK3NldGFyY2g6CisgICAtIHVzZSBlcnJ0cnloZWxwKCkgIFtSdWVkaWdlciBNZWllcl0KK3NldHByaXY6CisgICAtIEFkZCAtLWluaXQtZ3JvdXBzIG9wdGlvbiAgW1NlYmFzdGlhbiBTY2hyYWRlcl0KKyAgIC0gYWRkIC0tYW1iaWVudC1jYXBzIHRvIHVzYWdlKCkgIFtLYXJlbCBaYWtdCisgICAtIGFsaWduIC0taGVscCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkb2N1bWVudCBhY2NlcHRlZCBmb3JtYXRzIGZvciBuYW1pbmcgY2FwcyAgW1BhdHJpY2sgU3RlaW5oYXJkdF0KKyAgIC0gaW50cm9kdWNlIGluZGlyZWN0aW9uIGZvciBgY2FwbmdfdHlwZWAgZW51bSAgW1BhdHJpY2sgU3RlaW5oYXJkdF0KKyAgIC0gcHJveHkgZnVuY3Rpb24gY2hlY2tpbmcgd2hldGhlciBhIGNhcGFiaWxpdHkgaXMgc2V0ICBbUGF0cmljayBTdGVpbmhhcmR0XQorICAgLSBwcm94eSBmdW5jdGlvbiB0byB1cGRhdGUgY2FwYWJpbGl0aWVzICBbUGF0cmljayBTdGVpbmhhcmR0XQorICAgLSBzaWxlbmNlIGNvbXBpbGVyIHdhcm5pbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc3VwcG9ydCBkdW1waW5nIGFtYmllbnQgY2FwYWJpbGl0aWVzICBbUGF0cmljayBTdGVpbmhhcmR0XQorICAgLSBzdXBwb3J0IG1vZGlmeWluZyB0aGUgc2V0IG9mIGFtYmllbnQgY2FwYWJpbGl0aWVzICBbUGF0cmljayBTdGVpbmhhcmR0XQorICAgLSBzdXBwb3J0IHNldHRpbmcgdW5uYW1lZCBjYXBhYmlsaXRpZXMgIFtQYXRyaWNrIFN0ZWluaGFyZHRdCitzZXRwcm9jdGl0bGU6CisgICAtIGZpeCBvdXQgb2YgYm91bmRhcnkgYWNjZXNzICBbVG9iaWFzIFN0b2Vja21hbm5dCitzZXRzaWQ6CisgICAtIGRvY3VtZW50IGZvcmsoMikgdXNhZ2UgIFtLYXJlbCBaYWtdCitzZmRpc2s6CisgICAtIHVzZSBmZGlza19kZXZpY2VfaXNfdXNlZCgpICBbS2FyZWwgWmFrXQorc3U6CisgICAtIChwdHkpIGZpeCBjaGlsZCBzaWduYWwgbWFzayB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gKHB0eSkgZml4IHNsYXZlIHRlcm1pbmFsIGF0dHJpYnV0ZXMgaW5pdGlhbGl6YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIChwdHkpIGltcHJvdmUgU0lHU1RPUC9TSUdDT05UIHNlbWFudGljICBbS2FyZWwgWmFrXQorICAgLSAocHR5KSBzYXZlIGNoaWxkIHN0YXR1cyAgW0thcmVsIFpha10KKyAgIC0gKHB0eSkgc2ltcGxpZnkgc3RkaW4gdXNhZ2UgaW4gcG9sbCgpICBbS2FyZWwgWmFrXQorICAgLSBhZGQgLS1wdHkgb3B0aW9uICBbS2FyZWwgWmFrXQorICAgLSBhZGQgUFRZIHN1cHBvcnQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBjaGlsZCB0byBjb250cm9sIHN0cnVjdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgZGVidWcuaCBzdHVmZiAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vcmUgaW5mb3JtYXJ0aW9uIHRvIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgd2FpdF9mb3JfY2hpbGQoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW4gdXAgY29uc3QgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFuIHVwIHNpZ25hbHMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgUEFNIHN0dWZmICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHB3ZCBzdHJ1Y3QgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgc2V0ZW52IHJlbGF0ZWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzZXR1aWQvZ2lkIHJlbGF0ZWQgY29kZSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBzaGVsbCByZWxhdGVkIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCB1c2VybmFtZXMgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGNvbnNvbGlkYXRlIHR0eSBuYW1lIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBjb3NtZXRpYyBjaGFuZ2VzIGFmdGVyIGluZGVudCAgW0thcmVsIFpha10KKyAgIC0gY29zbWV0aWMgY29kZSBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSBlbmFibGUgVElPQ1NDVFRZIGFuZCBtaW5vciBjaGFuZ2VzICBbS2FyZWwgWmFrXQorICAgLSBmaXggY29tcGlsZXIgd2FybmluZ3MgWy1XaW1wbGljaXQtZmFsbHRocm91Z2g9XSAgW0thcmVsIFpha10KKyAgIC0gZml4IGRlYnVnIG1lc3NhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBpbmRlbnRpb24gIFtLYXJlbCBaYWtdCisgICAtIGZpeCBub24tcHR5IGNvbXBpbGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggcmVmYWN0b3JpbmcgYnVnIGluIGNoaWxkIFBJRCB1c2FnZSAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzb21lIGRlYnVnIG1lc3NhZ2VzICBbS2FyZWwgWmFrXQorICAgLSBrZWVwIG9sZCBzaWdhY3Rpb25zIGluIGNvbnRyb2wgc3RydWN0ICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIHdhaXRfZm9yX2NoaWxkKCkgdXNhYmxlIGluIGFyYml0cmFyeSBzaXR1YXRpb24gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgUEFNIHNlc3Npb24gaW5pdGlhbGl6YXRpb24gdG8gc2VwYXJhdGUgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIG1vdmUgcGFyZW50IHNpZ25hbHMgc2V0dXAgdG8gc2VwYXJhdGUgZnVuY3Rpb24gIFtLYXJlbCBaYWtdCisgICAtIHByb3Blcmx5IGNsZWFyIGNoaWxkIFBJRCAgW0thcmVsIFpha10KKyAgIC0gcmVuYW1lIGV2YWx1YXRlX3VpZCgpICBbS2FyZWwgWmFrXQorICAgLSByZW9yZGVyIGZ1bmN0aW9ucyAgW0thcmVsIFpha10KKyAgIC0gdW5ibG9jayBzaWduYWxzIGlzIGFsbCBpbml0aWFsaXplZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHN3aXRjaCgpIHRvIHNwbGl0IGFmdGVyIGZvcmsgIFtLYXJlbCBaYWtdCitzd2FwbGFiZWw6CisgICAtIGZpeCAtLWRpc2FibGUtbGlidXVpZCBjb21waWxhdGlvbiAgW0thcmVsIFpha10KK3Rlc3Q6CisgICAtIHVwZGF0ZSBQTUJSIGhleCBkdW1wcyAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBBZGQgVURGIGhkZCBpbWFnZSB3aGljaCBsYWJlbCBoYXMgbGVuZ3RoIDMwIGNoYXJhY3RlcnMgIFtQYWxpIFJvaMOhcl0KKyAgIC0gQWRkIFVERiBoZGQgaW1hZ2VzIHdpdGggYmxvY2tzaXplIDEwMjQgYW5kIDQwOTYgY3JlYXRlZCBieSBMaW51eCBta3VkZmZzIDEuMyAgW1BhbGkgUm9ow6FyXQorICAgLSBhZGQgTUJSIHJlc2l6ZSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1vcmUgdGVzdHMgZm9yIGxpbmUoMSkgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2hlY2sgZm9yIG1pc3NpbmcgcHJvZ3JhbXMgaW4gbGFzdCgxKSB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayBzZmRpc2sgcmVzaXplIG9uIHVuc29ydGVkIG9mZnNldHMgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IHVzZSBlcnJubyBpbiBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIGV4cGxpY2l0bHkgZGVmaW5lIHdpcGVmcyBvdXRwdWl0IGNvbHVtbnMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhbmQgcmVmYWN0b3IgcGFydHggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGZpbmNvcmUsIGRvbid0IHVzZSB2YXJpYWJsZSBDT0xVTU5TICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSBVVUlEcyB3aXRoIHRpbWUgb3ZlcmZsb3cgZnJvbSB1dWlkcGFyc2UgIFtLYXJlbCBaYWtdCisgICAtIHNwbGl0IHBhcnR4IGluIHJvb3QgYW5kIG5vbi1yb290ICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHVwZGF0ZSBVREYgdGVzdCwgYWRkIElEX0ZTX1ZFUlNJT04gIFtQYWxpIFJvaMOhcl0KKyAgIC0gdXBkYXRlIGJ1aWxkLXN5cyB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHNmZGlzayB3aXBlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSB3aXBlZnMgb3V0cHV0cyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHNhbXBsZS1mZGlzay1ta3BhcnQgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzYW1wbGUtZmRpc2stbWtwYXJ0LWZ1bGxzcGVjICBbS2FyZWwgWmFrXQordG9vbHM6CisgICAtIGFkZCBjaGVja3VzYWdlLnNoICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGFkZCBzZWdmYXVsdCBkZXRlY3Rpb24gZm9yIGNoZWNrdXNhZ2Uuc2ggIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gY2hlY2t1c2FnZSBjYW4gZHVtcCBhbGwgY29tbWFuZCBvdXRwdXQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaWdub3JlIHVuc2FmZSBjb21tYW5kcyBpbiBjaGVja3VzYWdlLnNoICBbUnVlZGlnZXIgTWVpZXJdCit0cmF2aXM6CisgICAtIGFkZCBtYWtlIGNoZWNrdXNhZ2UgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGFub3RoZXIgY2hvd24gaXNzdWUgIFtLYXJlbCBaYWtdCisgICAtIG1pbm9yIGNvc21ldGljcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2UgLS1kaXNhYmxlLW1ha2VpbnN0YWxsLWNob3duIGV2ZXJ5d2hlcmUgIFtLYXJlbCBaYWtdCit0dW5lbHA6CisgICAtIHVzZSBsaW51eCBoZWFkZXIgIFtTYW1pIEtlcm9sYV0KK3Vtb3VudDoKKyAgIC0gYWRkIG5vdGUgYWJvdXQgTkZTIGFuZCAtYyB0byB1bW91bnQuOCAgW0thcmVsIFpha10KKyAgIC0gbmV2ZXIgJ3N0YXQnIHRoZSBwYXRoIHdoZW4gIi1jIiBpcyBnaXZlbi4gIFtOZWlsQnJvd25dCit1dWlkZDoKKyAgIC0gcmVtb3ZlIHVudXNlZCBkZWZpbmUgIFtSdWVkaWdlciBNZWllcl0KK3V1aWRnZW46CisgICAtIGFkZCBtb3JlIGRldGFpbHMgdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzdXBwb3J0IGZvciBoYXNoLWJhc2VkIFVVSURzICBbUGhpbGlwIFByaW5kZXZpbGxlXQorICAgLSBpbXByb3ZlIC0taGVscCAgW0thcmVsIFpha10KKyAgIC0gc2xpY2UgdXAgdGhlIHVzYWdlIHRleHQgIFtTYW1pIEtlcm9sYV0KK3V1aWRwYXJzZToKKyAgIC0gYWRkIGJhc2gtY29tcGxldGlvbiBmaWxlICBbU2FtaSBLZXJvbGFdCisgICAtIGFkZCBuZXcgY29tbWFuZCAgW1NhbWkgS2Vyb2xhXQorICAgLSBmaXggZ2V0b3B0IGNyYXNoICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBzdGFjay1idWZmZXItb3ZlcmZsb3cgW2FzYW5dICBbS2FyZWwgWmFrXQorICAgLSBuaWwgdXVpZCBoYXZlIGFsbCBiaXRzIHNldCB0byB6ZXJvICBbU2FtaSBLZXJvbGFdCisgICAtIHNlIEpTT04gdGFibGUgbmFtZSBvbiAtSiAgW0thcmVsIFpha10KK3ZpcHc6CisgICAtIHVzZSBleHBsaWNpdF9iemVybygpIHRvIGNsZWFyIGJ1ZmZlciBhZnRlciBjb3B5ICBbU2FtaSBLZXJvbGFdCit3YWxsOgorICAgLSBkb24ndCB1c2UgZ2lkX3Qgd2hlbiBhbGxvY2F0ZSBncm91bnBzIGFycmF5ICBbS2FyZWwgWmFrXQorICAgLSBmaXggT1NYIGdldGdyb3VwbGlzdCwgZ2lkX3QqIHZzIGludCogIFtLYXJlbCBaYWtdCit3ZGN0bDoKKyAgIC0gZG8gbm90IGNhbGwgZnN5bmMoMikgd2hlbiBjbG9zaW5nIHdhdGNoZG9nIGRldmljZSAgW1NhbWkgS2Vyb2xhXQord2hlcmVpczoKKyAgIC0gYWRkIC0taGVscCBhbmQgLS12ZXJzaW9uICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGluY2x1ZGUgbmF0aXZlIG11bHRpYXJjaCBwYXRoIGluIGxpYiBzZWFyY2ggcGF0aHMgIFtBbmRyZWFzIEhlbnJpa3Nzb25dCit3aXBlZnM6CisgICAtIGFkZCBjb250cm9sIHN0cnVjdCAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBvZmZzZXRzIGxpc3QgdXNhZ2UsIGZpeCAtdCBmaWx0ZXIgIFtLYXJlbCBaYWtdCisgICAtIGRvbid0IGRvIHN0ZXAtYmFjayBpZiA8dHlwZT4gZG9lcyBub3QgbWF0Y2ggIFtLYXJlbCBaYWtdCisgICAtIGV4aXQgb24gZmFpbGVkIGVyYXNlICBbS2FyZWwgWmFrXQorICAgLSBpbXByb3ZlIC0taGVscCAgW0thcmVsIFpha10KKyAgIC0gcHJpbnQgYWxsIHNpZ25hdHVyZSBwZXJtdXRhdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIHRyeSBhbm90aGVyIG1hZ2ljIHN0cmluZ3Mgb24gLW8gYW5kIC10ICBbS2FyZWwgWmFrXQorICAgLSB1c2UgbGlic21hcnRjb2xzICBbS2FyZWwgWmFrXQorenJhbWN0bDoKKyAgIC0gZml4IHNob3cgYWxsIG5vbi16ZXJvIHpyYW0gZGV2aWNlcyAgW0phbWVzIFNhbmZvcmRdCisgICAtIHJlbW92ZSB1bnVzZWQgWlJBTV9FTVBUWSBhbmQgYmxhbmsgbGluZSAgW0phbWVzIFNhbmZvcmRdCmRpZmYgLS1naXQgYS9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjMyLVJlbGVhc2VOb3RlcyBiL0RvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMzItUmVsZWFzZU5vdGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmYjkzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9Eb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjMyLVJlbGVhc2VOb3RlcwpAQCAtMCwwICsxLDQ5MiBAQAorVXRpbC1saW51eCAyLjMyIFJlbGVhc2UgTm90ZXMKKz09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKK1JlbGVhc2UgaGlnaGxpZ2h0cworLS0tLS0tLS0tLS0tLS0tLS0tCisKK1RoZSBjb21tYW5kIGNhbCgxKSBoYXMgYmVlbiBpbXByb3ZlZCB0byBwcm92aWRlIGJldHRlciBjb250cm9sIG9uIHVzZWQgY2FsZW5kYXIKK3N5c3RlbS4gTm93IGl0IGlzIHBvc3NpYmxlIHRvIHN3aXRjaCBiZXR3ZWVuIEdyZWdvcmlhbiBhbmQgSnVsaWFuIGV4Y2x1c2l2ZWx5LAorb3IgdXNlIHRoZSBjdXJyZW50IGRlZmF1bHQgKHJlZm9ybSBpbiBTZXB0ZW1iZXIgMTc1MikuIFRoZSBuZXcgY29tbWFuZCBsaW5lCitvcHRpb25zIC0tcmVmb3JtIGFuZCAtLWlzbyBoYXZlIGJlZW4gYWRkZWQuIFRoZSBjb21tYW5kIGFsc28gZm9sbG93cyB0ZXJtaW5hbAord2lkdGggdG8gZm9ybWF0IG91dHB1dC4KKworVGhlIGxpYnJhcnkgbGliYmxraWQgaGFzIGJlZW4gZXh0ZW5kZWQgdG8gc3VwcG9ydCBMVUtTMiwgTWljcm9uIG1wb29sLCBWRE8gYW5kCitBdGFyaSBwYXJ0aXRpb24gdGFibGUuCisKK1RoZSBjb21tYW5kIHJma2lsbCg4KSBoYXMgYmVlbiBtb3ZlZCB0byAvdXNyL3NiaW4gdG8gYmUgY29tcGF0aWJsZSB3aXRoIHRoZQorb3JpZ2luYWwgcmZraWxsIGltcGxlbWVudGF0aW9uLgorCitUaGUgY29tbWFuZCBkbWVzZygxKSBwcm92aWRlcyBiZXR0ZXIgc3VwcG9ydCBmb3IgbXVsdGktbGluZSBtZXNzYWdlcyBhbmQgdGhlCituZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLWZvcmNlLXByZWZpeCB0byBwcmludCBmYWNpbGl0eSwgbGV2ZWwgb3IgdGltZXN0YW1wCitpbmZvcm1hdGlvbiB0byBlYWNoIGxpbmUgb2YgYSBtdWx0aS1saW5lIG1lc3NhZ2UKKworVGhlIGNvbW1hbmQgZmFsbG9jYXRlKDEpIC0tZGlnLWhvbGVzIGlzIGZhc3RlciBhbmQgbW9yZSBlZmZlY3Qgbm93LgorCitUaGUgY29tbWFuZCBmZGlzayg4KSBwcm92aWRlcyBhY2Nlc3MgdG8gUHJvdGVjdGl2ZSBNQlIgYWNjZXNzaWJsZSBmcm9tIG1haW4KK21lbnUuIFRoZSBTdW4gbGFiZWwgc3VwcG9ydCBoYXMgYmVlbiBpbXByb3ZlZC4KKworVGhlIGNvbW1hbmQgbHNjcHUoMSkgcHJvdmlkZXMgbW9yZSBkZXRhaWxzIGFib3V0IEFSTSBDUFVzIG5vdy4KKworVGhlIGNvbW1hbmQgbHNtZW0oMSkgc3VwcG9ydHMgbWVtb3J5IHpvbmUgYXdhcmVuZXNzIG5vdy4KKworVGhlIGNvbW1hbmQgbHNucyg4KSBwcm92aWRlcyBuZXRuc2lkIGFuZCBuc2ZzIGNvbHVtbnMgbm93LgorCitUaGUgY29tbWFuZCBydGN3YWtlKDgpIHdhaXRzIHN0ZGluIHRvIHNldHRsZSBkb3duIGJlZm9yZSBlbnRlcmluZyBhIHN5c3RlbQorc2xlZXAuCisKK1RoZSBuZXcgY29tbWFuZCBsaW5lIG9wdGlvbiAtLWtpbGwtY2hpbGQgaGFzIGJlZW4gYWRkZWQgdG8gdW5zaGFyZSgxKS4KKworCitTdGFibGUgbWFpbnRlbmFuY2UgcmVsZWFzZXMgYmV0d2VlbiB2Mi4zMSBhbmQgdjIuMzIKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorCit1dGlsLWxpbnV4IDIuMzEuMSBbRGVjIDE5IDIwMTddCisKKyAqIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMzEvdjIuMzEuMS1SZWxlYXNlTm90ZXMKKyAgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMzEvdjIuMzEuMS1DaGFuZ2VMb2cKKworCitDaGFuZ2VzIGJldHdlZW4gdjIuMzEgYW5kIHYyLjMyCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisKK2FnZXR0eToKKyAgIC0gRml4IGEgdXNlIG9mIHVuaW5pdGlhbGlzZWQgbWVtb3J5IGluIGFuIGFnZXR0eSBlcnJvciBwYXRoLiAgW1N0ZXZlbiBTbWl0aF0KKyAgIC0gYWRkIHN1cHBvcnQgZm9yIC9ldGMvaXNzdWUuZCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIHVudXNlZCBmbGFnICBbS2FyZWwgWmFrXQorYmFzaC1jb21wbGV0aW9uOgorICAgLSAodW1vdW50KSB1c2UgZmluZG1udCwgZXNjYXBlIGEgc3BhY2UgaW4gcGF0aHMgIFtLYXJlbCBaYWtdCisgICAtIEV4Y2x1ZGUgL2Rldi9mZCBmcm9tIGZzY2sgZmluZCAgW0tldmluIExvY2tlXQorICAgLSB1cGRhdGUgenJhbWN0bCBhbGdvcml0aG1zIGxpc3QgIFtTYW1pIEtlcm9sYV0KK2Jsa2lkOgorICAgLSBBZGQgc3VwcG9ydCBmb3IgTFVLUzIgYW5kIG5ldyBMQUJFTCBhdHRyaWJ1dGVzLiAgW01pbGFuIEJyb3pdCitibGt6b25lOgorICAgLSBGaXggYSB0eXBvIGluIGJsa3pvbmUuOCAgW01hc2FuYXJpIElpZGFdCitibG9ja2RldjoKKyAgIC0gYmUgbW9yZSBleHBsaWNpdCBmb3IgQkxLU1NaIGluIGJsb2NrZGV2LjggIFtLYXJlbCBaYWtdCitidWlsZC1zeXM6CisgICAtIChjb25maWd1cmUpIGZpeCBiYXNoaXNtcyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBhZGQgLS1lbmFibGUtYXNhbiBhbmQgLS1tZW1jaGVjay1hc2FuIGZvciB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1pc3NpbmcgaW5jbHVkZSAgW0thcmVsIFpha10KKyAgIC0gYXV0b21ha2UgaXMgYWJsZSB0byBmaW5kIGhlYWRlcnMgaW4gYnVpbGRkaXIgLi4uICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGF2b2lkIHVzaW5nIHByb2dfREVQRU5ERU5DSUVTICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRpc2FibGUgYnoyIHRhcmJhbGwgYW5kIGZpeCBzb21lIGFtIHdhcm5pbmdzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRvbid0IGNoZWNrIGZvciBzd2Fwb24oKSBudW1iZXIgb2YgYXJndW1lbnRzICBbS2FyZWwgWmFrXQorICAgLSBmb3Jnb3QgdXBkYXRlIE5FV1MgZm9yIHYyLjMyLXJjMSAgW0thcmVsIFpha10KKyAgIC0gZ3RrZG9jLWZpeHhyZWYgdjEuMjcgcmVxdWlyZXMgbW9kdWxlIG9wdGlvbiAgW0thcmVsIFpha10KKyAgIC0gbHNucyByZXF1aXJlcyBsaWJtb3VudCAgW0thcmVsIFpha10KKyAgIC0gbW92ZSByZmtpbGwgdG8gL3Vzci9zYmluICBbS2FyZWwgWmFrXQorICAgLSByZWxlYXNlKysgKHYyLjMyLXJjMikgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBnZW5lcmF0ZWQgaGVhZGVycyBmcm9tIGRpc3QgdGFyIGJhbGwgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gcmVtb3ZlIHJlZHVuZGFudCBFWFRSQV9ESVNUIGZpbGVzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbW92ZSB1bm5lZWRlZCBkZXBlbmRlbmNpZXMgb24gYmxhLmguaW4gIFtSdWVkaWdlciBNZWllcl0KK2NhbDoKKyAgIC0gVXNlIEFMVE1PTl8qIGNvcnJlY3RseSAgW1JhZmFsIEx1enluc2tpXQorICAgLSBhZGQgaWZkZWYgVEVTVF9DQUwgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBvcHRpb24gdG8gc2V0IEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBjbGVhbiB1cCBtYW4gcGFnZSBzeW5vcHNpcyBzeW50YXggIFtLYXJlbCBaYWtdCisgICAtIGRvIG5vdCBzZXQgbW9udGhzX2luX3JvdyB3aXRoIC0zIG9wdGlvbiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBkb24ndCB1c2UgeWVhciBoZWFkZXIgZm9yIC0xLCAtMyBvciAtbiAgW0thcmVsIFpha10KKyAgIC0gZXhwbGFpbiBtYWdpYyB2YWx1ZXMgZm9yIGRheSBvZiB3ZWVrIGNhbGN1bGF0aW9uICBbS2FyZWwgWmFrXQorICAgLSBmaXggZmlyc3Qgd2VlayBjYWxjdWxhdGlvbiAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBmaXgganVsaWFuIGNhbGVuZGFycyBmb3IgbGFyZ2UgeWVhcnMgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZml4IG11bHRpLWJ5dGUgY29tbWVudCwgZXhwbGFpbiBpbiBiZXR0ZXIgd2F5ICBbS2FyZWwgWmFrLCBKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZml4IHdlZWsgY2FsY3VsYXRpb25zIGZvciAxNzUyICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGZvbGxvdyB0ZXJtaW5hbCB3aWR0aCAgW0thcmVsIFpha10KKyAgIC0gaG9ub3IgbnVtX21vbnRocyB3aGVuIG9ubHkgYSB5ZWFyIGFyZ3VtZW50ICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIG1vdmUgUkVGT1JNQVRJT05fWUVBUiB0byBjb250cm9sIHN0cnVjdCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZW1vdmUgZXh0cmEgc3BhY2UgYWZ0ZXIgeWVhciBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBtYW4gcGFnZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorY2htZW06CisgICAtIGNsZWFudXAgaW5jbHVkZXMgIFtLYXJlbCBaYWtdCisgICAtIGNsZWFudXAgdXNhZ2UoKSAgW0thcmVsIFpha10KK2NocnQ6CisgICAtIGZpeCBjb21waWxlciB3YXJuaW5nIFstV21heWJlLXVuaW5pdGlhbGl6ZWRdICBbS2FyZWwgWmFrXQorY29sdW1uOgorICAgLSBhZGQgLS10YWJsZS1ub2hlYWRpbmdzICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byBoaWRlIHVubmFtZWQgY29sdW1ucyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgaWdub3JlIHNwYWNlLWNoYXIgc2VwYXJhdG9ycyBhdCBiZWdpbiBvZiB0aGUgbGluZSAgW0thcmVsIFpha10KKyAgIC0gZml4IG1lbW9yeSBsZWFrIFtjb3Zlcml0eSBzY2FuXSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIGNvbHVtbi4xICBbYWhtb2dpdF0KKyAgIC0gdXNlIFx4PGhleD4gZm9yIGludmFsaWQgbXVsdGlieXRlIHNlcS4gIFtLYXJlbCBaYWtdCitkbWVzZzoKKyAgIC0gQWRkIC0tZm9yY2UtcHJlZml4IG9wdGlvbiAgW1ByYXJpdCBCaGFyZ2F2YV0KKyAgIC0gYWRkIG5vdGUgYWJvdXQgLUYgZm9ybWF0IHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IGNvbXBpbGVyIHdhcm5pbmcgWy1XdW5pbml0aWFsaXplZF0gIFtLYXJlbCBaYWtdCisgICAtIHVzZSB4c3RyZHVwKCkgaW4geGFsbG9jLmggYmFzZWQgdXRpbCAgW0thcmVsIFpha10KK2RvY3M6CisgICAtIGFkZCBJU0MgbGljZW5jZSAgW0NhcmxvcyBTYW50b3NdCisgICAtIGFkZCBuZXcgaWRlYSB0byBUT0RPIGxpc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IEpTT04gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBub3RlIGFib3V0IE5WTWUtbXVsdGlwYXRoIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCByZW1vdW50LWFsbCBpZGVhIHRvIFRPRE8gIFtLYXJlbCBaYWtdCisgICAtIGFkZCBzY3JpcHQoMSkgZXZlbnRzIGlkZWEgdG8gVE9ETyAgW0thcmVsIFpha10KKyAgIC0gaW1wcm92ZSBzZXRhcmNoKDgpIG1hbnVhbCBwYWdlICBbU2FtaSBLZXJvbGFdCisgICAtIHVwZGF0ZSBBVVRIT1JTIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBUT0RPICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgVE9ETyBmaWxlICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgdjIuMzItUmVsZWFzZU5vdGVzICBbS2FyZWwgWmFrXQorZWplY3Q6CisgICAtIHJlbW92ZSBsaXN0X3NwZWVkcygpICNpZmRlZiBDRFJPTV9TRUxFQ1RfU1BFRUQgcHJvdGVjdGlvbiAgW1NhbWkgS2Vyb2xhXQorZmFsbG9jYXRlOgorICAgLSBkaWcgaG9sZXMgb25seSBpbiBkYXRhIGV4dGVudHMgIFtLYXJlbCBaYWssIFZhY2xhdiBEb2xlemFsXQorICAgLSByZW1vdmUgdHlwbyAgW0thcmVsIFpha10KK2ZkaXNrOgorICAgLSAoZ3B0KSBtYWtlIFBNQlIgYWNjZXNzaWJsZSBmcm9tIG1haW4gbWVudSAgW0thcmVsIFpha10KK2ZpbmNvcmU6CisgICAtIEhhbmRsZSBsYXJnZSBmaWxlcyBjb3JyZWN0bHkgb24gMzIgYml0ICBbVG9iaWFzIFN0b2Vja21hbm5dCisgICAtIEhhbmRsZSBsYXJnZSBmaWxlcyBvbiAzMiBiaXQgd2l0aG91dCBMRlMgIFtUb2JpYXMgU3RvZWNrbWFubl0KKyAgIC0gZml4IGEgdHlwbyBpbiBmaW5jb3JlLjEgIFtNYXNhdGFrZSBZQU1BVE9dCitmaW5kZnM6CisgICAtIGRvbid0IGluY2x1ZGUgZXhpdGNvZGVzLmggIFtLYXJlbCBaYWtdCitmaW5kbW50OgorICAgLSBmaW5kbW50LjggcmVtb3ZlIHNwdXJpb3VzIHNwYWNlcyBiZWZvcmUgIi0tdHJlZSIgYW5kICItLXZlcmJvc2UiICBbSmFrdWIgV2lsa10KK2ZzY2s6CisgICAtIGNsZWFudXAgZmluZF9mc2NrKCkgIFtLYXJlbCBaYWtdCisgICAtIGNvZGluZyBzdHlsZSBjbGVhbnVwICBbS2FyZWwgWmFrXQorICAgLSB1c2UgeGFzcHJpbnRmIHRvIGF2b2lkIGJ1ZmZlciBvdmVycnVucyB3aXRoIGFuIGluc2FuZSBmcyB0eXBlICBbVGhlb2RvcmUgVHMnb10KK2ZzY2suY3JhbWZzOgorICAgLSBGaXggYnVzIGVycm9yIG9uIGJyb2tlbiBmaWxlIHN5c3RlbS4gIFtUb2JpYXMgU3RvZWNrbWFubl0KKyAgIC0gZml4IGNyYXNoIHdoZW4gc3VwZXJibG9jayBzaXplIGlzIHRvbyBzbWFsbCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZXJyb3IgbWVzc2FnZSAgW1J1ZWRpZ2VyIE1laWVyXQorZnN0cmltOgorICAgLSBkb24ndCBpbmNsdWRlIGV4aXRjb2Rlcy5oICBbS2FyZWwgWmFrXQorICAgLSBmaXggZnMuaCBhbmQgbW91bnQuaCBjb2xsaXNpb24gIFtLYXJlbCBaYWtdCitod2Nsb2NrOgorICAgLSBhZGQgLS11bC1kZWJ1ZyBpbXBsZW1lbnRpbmcgZGVidWcuaCAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBhZGQgaXNvLTg2MDEgb3ZlcmZsb3cgY2hlY2sgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gZml4IGRlYnVnIHJlZ3Jlc3Npb24gIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gcmVuYW1lIC0tZGVidWcgb3B0aW9uIHRvIC0tdmVyYm9zZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSByZXZlcnQgaW9jdGwgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHJlZW50cmFudCB0aW1lIGNvbnZlcnNpb24gZnVuY3Rpb25zICBbSiBXaWxsaWFtIFBpZ2dvdHRdCitpbmNsdWRlL2M6CisgICAtIGFkZCBlcnJleGVjKCkgIFtLYXJlbCBaYWtdCitpbmNsdWRlL2RlYnVnOgorICAgLSBkb24ndCBwcmludCBwb2ludGVyIGFkZHJlc3MgZm9yIFNVSUQgcHJvZ3JhbXMgIFtLYXJlbCBaYWtdCisgICAtIGltcHJvdmUgZGVidWcgbWVzc2FnZSAgW0thcmVsIFpha10KKyAgIC0gaW50cm9kdWNlIF9fVUxfSU5JVF9ERUJVR19GUk9NX1NUUklORygpICBbS2FyZWwgWmFrXQorICAgLSBwcmludCBpbmZvIHdoZW4gYWRkcmVzc2VzIHN1cHByZXNzZWQgIFtLYXJlbCBaYWtdCitraWxsOgorICAgLSBFeHRyYWN0IHNpZ25hbCBuYW1lcyBpbnRvIHNpZ25hbWVzLmgvc2lnbmFtZXMuYyAgW05pa2xhcyBIYW1iw7xjaGVuXQorbGliOgorICAgLSBBZGQgc2ltcGxlIGNyYzMyYygpIGZ1bmN0aW9uICBbSm9obiBHcm92ZXNdCitsaWIvZXhlY19zaGVsbDoKKyAgIC0gKGFuZCBwYWdlcikgdXNlIGVycmV4ZWMoKSAgW0thcmVsIFpha10KKyAgIC0gY2xlYW51cCBmdW5jdGlvbiBhdHRyaWJ1dGVzICBbS2FyZWwgWmFrXQorbGliL21hbmdsZToKKyAgIC0gcmV0dXJuIHNpemUgb2YgdGhlIGRlY29kZWQgYnVmZmVyICBbS2FyZWwgWmFrXQorbGliL21ic2FsaWduOgorICAgLSBGaXggZXNjYXBpbmcgbm9ucHJpbnRhYmxlIG11bHRpYnl0ZSBjaGFyYWN0ZXJzICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGFkZCBtYnNfaW52YWxpZF9lbmNvZGUoKSAgW0thcmVsIFpha10KKyAgIC0gZW5jb2RlIFx4IHRvIFx4ZWN4ICBbS2FyZWwgWmFrXQorICAgLSBlbmNvZGUgYmFja3NsYXNoIHRvIHByZXZlbnQgYW1iaWd1aXR5ICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGVzY2FwZSAiXHgiIHdoZW4gSEFWRV9XSURFQ0hBUiBub3QgZGVmaW5lZCAgW1ZhY2xhdiBEb2xlemFsXQorbGliL21kNToKKyAgIC0gdXNlIHVsXy9VTF8gcHJlZml4ICBbS2FyZWwgWmFrXQorbGliL3BhdGg6CisgICAtIG1ha2UgcGF0aF9zZXRfcHJlZml4KCkgaW5kZXBlbmRlbnQgb24gY3B1X3NldF90ICBbS2FyZWwgWmFrXQorbGliL3JhbmR1dGlsczoKKyAgIC0gRG8gbm90IGJsb2NrIG9uIGdldHJhbmRvbSgpICBbQ2FybG8gQ2Fpb25lXQorICAgLSBkb24ndCBicmVhayBvbiBFQUdBSU4sIHVzZSB1c2xlZXAoKSAgW0thcmVsIFpha10KK2xpYi9zaGExOgorICAgLSBmaXggaW5kZW50aW9uICBbS2FyZWwgWmFrXQorICAgLSB1c2UgcHJvcGVyIFdPUkRTX0JJR0VORElBTiBtYWNybyAgW0thcmVsIFpha10KKyAgIC0gdXNlIHVsXy9VTF9wcmVmaXggZm9yIHN5bWJvbHMgIFtLYXJlbCBaYWtdCitsaWIvc2lnbmFtZXM6CisgICAtIGZpeCByZWRlZmluaXRpb24gb2YgJ3N5c19zaWduYW1lJyBvbiBPU1ggIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSBzaWduYW1lIGFycmF5IGZyb20gaGVhZGVyIGZpbGUgIFtLYXJlbCBaYWtdCisgICAtIHJlbW92ZSB1bnVzZWQgZnVuY3Rpb24gIFtTYW1pIEtlcm9sYV0KK2xpYi90aW1ldXRpbHM6CisgICAtIElTT184NjAxX0JVRlNJWiB0b28gc21hbGwgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gYWRkIGNvbW1vbiBJU08gdGltZXN0YW1wIG1hc2tzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIGFkZCBnZXRfZ210b2ZmKCkgIFtKIFdpbGxpYW0gUGlnZ290dF0KK2xpYi90aW1ldXRpbHMuYzoKKyAgIC0gYnVnIGZpeCBTZWdtZW50YXRpb24gZmF1bHQgIFtKIFdpbGxpYW0gUGlnZ290dF0KKyAgIC0gc3RyeHh4X2lzbyAgZG8gbm90IHdyYXAgdG1feWVhciAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBzdHJ4eHhfaXNvICB0ZXN0IGNvbnZlcnNpb24gZXJyb3JzICBbSiBXaWxsaWFtIFBpZ2dvdHRdCisgICAtIHdhcm4gZm9ybWF0X2lzb190aW1lKCkgb3ZlcmZsb3cgIFtKIFdpbGxpYW0gUGlnZ290dF0KK2xpYmJsa2lkOgorICAgLSAoYmNhY2hlKSBjbGVhbnVwIG1hZ2ljIHN0cmluZyBkZWZpbml0aW9uICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSAgbWFrZSBzdWJ0eXBlcyBwcm9iaW5nIG1vcmUgcm9idXN0ICBbS2FyZWwgWmFrXQorICAgLSAobXBvb2wpIGNoZWNrc3VtIGlzIExFICBbS2FyZWwgWmFrXQorICAgLSAobXBvb2wpIGRvbid0IHVzZSBndGtkb2NzLWxpa2UgY29tbWVudCBibG9jayAgW0thcmVsIFpha10KKyAgIC0gQWRkIFZETyBzdXBlcmJsb2NrIGluZm9ybWF0aW9uIGludG8gYmxraWQgIFtTd2VldCBUZWEgRG9ybWlueV0KKyAgIC0gQWRkIHN1cHBvcnQgZm9yIE1pY3JvbiBtcG9vbCBmb3JtYXR0ZWQgZHJpdmVzICBbSm9obiBHcm92ZXNdCisgICAtIEFkZCBzdXBwb3J0IGZvciBzdHJhdGlzICBbVG9ueSBBc2xlc29uXQorICAgLSBNYXJrIGNoYXIqIHBhcmFtcyB0byBibGtpZF9kZXZfc2V0X3NlYXJjaCBhcyBjb25zdCAgW0FuZHkgR3JvdmVyXQorICAgLSBTdXBwb3J0IGZvciBBdGFyaSBwYXJ0aXRpb25pbmcgc2NoZW1lICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGFkZCBkZWJ1ZyBtZXNzYWdlcyB3aGVuIGlnbm9yZSB1c2VsZXNzIGRldmljZXMgIFtLYXJlbCBaYWtdCisgICAtIGF0YXJpIC0gZG9uJ3QgYWRkIGR1cGxpY2F0ZSBlbnRyaWVzICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGF0YXJpIC0gZml4IGJhZCB2YXJpYWJsZSBuYW1lICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGF0YXJpIC0gcmVqZWN0IGRldmljZXMgd2l0aCBibG9ja3NpemUgIT0gNTEyICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGF0YXJpIC0gdGVzdCBpZiBhbnkgcGFydGl0aW9uIGZpdHMgZGlzayBzaXplICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGlnbm9yZSBwcml2YXRlIFN0cmF0aXMgZGV2aWNlcyAgW1RvbnkgQXNsZXNvbl0KKyAgIC0gaW1wcm92ZSBGcmVlQlNEIHBhcnRpdGlvbnMgcGFyc2luZyAgW0thcmVsIFpha10KKyAgIC0gbWFrZSBtcG9vbCBpbmRlcGVuZGVudCBvbiBsaWJ1dWlkICBbS2FyZWwgWmFrXQorICAgLSB1ZGYgIEZpeCBwYXJzaW5nIExWSUQgbG9jYXRpb24gIFtQYWxpIFJvaMOhcl0KKyAgIC0gdWRmICBGaXggcGFyc2luZyBVREYgcmV2aXNpb24gIFtQYWxpIFJvaMOhcl0KKyAgIC0gdWRmICBGaXggcmVhZGluZyBMb2dpY2FsIFZvbHVtZSBJbnRlZ3JpdHkgRGVzY3JpcHRvciBJbXBsZW1lbnRhdGlvbiBVc2UgKExWSURJVSkgIFtQYWxpIFJvaMOhcl0KKyAgIC0gdWRmICBPcHRpbWl6ZSBhbmQgZml4IHByb2Jpbmcgd2hlbiBibG9jayBzaXplID4gMjA0OCBieXRlcyAgW1BhbGkgUm9ow6FyXQorICAgLSB1ZGYgIFJlYWxseSB0cnkgdG8gcmVhZCBvbmx5IGZpcnN0IExWSUQgIFtQYWxpIFJvaMOhcl0KKyAgIC0gdWRmICBTdG9wIHNjYW5uaW5nIFZvbHVtZSBEZXNjcmlwdG9ycyBhZnRlciB3ZSBmb3VuZCBUZXJtaW5hdGluZyBEZXNjcmlwdG9yICBbUGFsaSBSb2jDoXJdCisgICAtIHVkZiAgVXBkYXRlIGNvcHlyaWdodCAgW1BhbGkgUm9ow6FyXQorICAgLSB1ZGYgIFVzZSBVREYgcmV2aXNpb24gZmllbGQgZnJvbSBMVkQgZG9tYWluIGlkICIqT1NUQSBVREYgQ29tcGxpYW50IiBhcyBhIGZhbGxiYWNrIHZhbHVlIGZvciBJRF9GU19WRVJTSU9OIHdoZW4gTFZJRElVIGlzIG1pc3NpbmcgIFtQYWxpIFJvaMOhcl0KKyAgIC0gdmZhdCAgRml4IHJlYWRpbmcgbGFiZWxzIHdoaWNoIHN0YXJ0cyB3aXRoIGJ5dGUgMHgwNSAgW1BhbGkgUm9ow6FyXQorbGliZmRpc2s6CisgICAtIChkb2NzKSBhZGQgbWlzc2luZyBkb2NzIGJsb2NrcyAgW0thcmVsIFpha10KKyAgIC0gKGRvY3MpIGltcHJvdmUgZW51bXMgZG9jdW1lbnRhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKGRvY3MpIHVwZGF0ZSB5ZWFyICBbS2FyZWwgWmFrXQorICAgLSAoZG9zKSBmaXggbWF4IGhlYWRzICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBhZGQgVk13YXJlIHNwZWNpZmljIFVVSURzICBbS2FyZWwgWmFrXQorICAgLSAoZ3B0KSBtb3ZlIGJhY2t1cCBoZWFkZXIgYWZ0ZXIgZGV2aWNlIHJlc2l6ZSAgW0thcmVsIFpha10KKyAgIC0gKGdwdCkgdXNlIGZkaXNrX3dhcm4oKSBmb3IgZmFpbGVkIG5hbWUgc2V0dGluZyAgW0thcmVsIFpha10KKyAgIC0gKHNjcmlwdCkgYmUgY29uc2lzdGVudCBpbiBjb2RlIHdpdGggdHlwZXMgIFtLYXJlbCBaYWtdCisgICAtIChzY3JpcHQpIHN1cHBvcnQgUiAoUkFJRCkgYW5kIFYgKExWTSkgc2hvcnRjdXRzICBbS2FyZWwgWmFrXQorICAgLSAoc3VuKSBlbmhhbmNlIHNlYXJjaGluZyBvZiBmcmVlIHNwYWNlICBbTWlraGFpbCBWb3JvYnlvdl0KKyAgIC0gKHN1bikgZml4IGNyZWF0aW9uIG9mIHdob2xlIGRpc2sgcGFydGl0aW9uICBbTWlraGFpbCBWb3JvYnlvdl0KKyAgIC0gKHN1bikgZml4IG4tMSBidWcgYW5kIHdob2xlLWRpc2sgIFtLYXJlbCBaYWtdCisgICAtIChzdW4pIG1vdmUgYWxpZ25pbmcgb2YgdGhlIGZpcnN0IHNlY3RvciBiZWZvcmUgYXZhaWxhYmlsaXR5IGNoZWNrICBbTWlraGFpbCBWb3JvYnlvdl0KKyAgIC0gRml4IHVuaW5pdGlhbGl6ZWQgc3RydWN0dXJlICBbUm9kZHkgU2h1bGVyXQorICAgLSBhbGxvY2F0ZSBlbm91Z2ggYnl0ZXMgZm9yIHVjczIgdG8gdXRmOCBlbmNvZGluZyAgW1ZhY2xhdiBEb2xlemFsXQorICAgLSBhbGxvdyB0byBzdGFydCBmcmVlc3BhY2UgZm9yIHplcm8gIFtLYXJlbCBaYWtdCisgICAtIGV4dGVuZCBBUEkgdG8gcHJvdmlkZSBsYWJlbCBzcGVjaWZpYyBnZW9tZXRyeSByYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkb2NzIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBncHQgIHByb3Blcmx5IGVuY29kZSBzdHJpbmcgb24gcmVuYW1lICBbVmFjbGF2IERvbGV6YWxdCisgICAtIHJldHVybiBieXRlcyBwcm9jZXNzZWQgZnJvbSBncHRfZW50cnlfc2V0X25hbWUoKSwgcHJvY2VzcyByYyAgW1ZhY2xhdiBEb2xlemFsXQorbGlibW91bnQ6CisgICAtIChkb2NzKSB1cGRhdGUgeWVhciAgW0thcmVsIFpha10KKyAgIC0gQWxsb3cgTU5UX0ZPUkNFIGFuZCBNTlRfREVUQUNIIGF0IHVtb3VudCAgW0pvc2h1YSBXYXR0XQorICAgLSBVc2Ugd2FpdHBpZCgpIHdoZW4gd2FpdGluZyBmb3IgbW91bnQgaGVscGVyIGNoaWxkIHByb2Nlc3MgIFtWcmF0aXNsYXYgUG9kemltZWtdCisgICAtIGFkZCBtaXNzaW5nIG1hY3JvIHRvIGRvY3MgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBuc2ZzIGJldHdlZW4gcHNldWRvIGZpbGVzeXN0ZW1zICBbS2FyZWwgWmFrXQorICAgLSBjaGVjayB3YWl0cGlkKCkgcmV0dXJuIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIGRlYWxsb2NhdGUgb24gL3Byb2Mvc3dhcHMgcGFyc2UgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBhY2Nlc3MoKSB1dGFiIHdyaXRlIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorICAgLSBmaXggZXhhbXBsZSBpbiBkb2NzICBbS2FyZWwgWmFrXQorICAgLSBmaXggZnMgcGF0dGVybiB1c2FnZSBpbiBtb3VudCAtLWFsbCAgW0thcmVsIFpha10KKyAgIC0gZml4IG1udF90YWJsZV9pc19mc19tb3VudGVkKCkgZm9yIHJiaW5kICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIGxpYm1vdW50LmggbW9yZSByb2J1c3QgIFtLYXJlbCBaYWtdCisgICAtIG1ha2Ugc3VyZSB3ZSBkZWFsbG9jYXRlIG9uIHBhcnNlIGVycm9yICBbS2FyZWwgWmFrXQorICAgLSBtaW5pbWl6ZSB1dGltZW5zYXQoKSB3cml0ZSB0ZXN0IHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSB1c2UgZWFjZXNzKCkgcmF0aGVyIHRoYW4gb3BlbigpIHRvIGNoZWNrIG10YWIvdXRhYiAgW0thcmVsIFpha10KK2xpYnNtYXJ0Y29sczoKKyAgIC0gKGRvY3MpIHVwZGF0ZSB5ZWFyICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBhZGQgYmxhbmsgcGFkZGluZyBhZnRlciBsZWZ0IGFsaWduZWQgdGl0bGUgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBkb2NzIHdhcm5pbmdzICBbS2FyZWwgWmFrXQorICAgLSBmaXggbWVtLWxlYWtzIGluIHNhbXBsZXMgIFtLYXJlbCBaYWtdCisgICAtIGZpeGVzIGlzc3VlIHdpdGggMCB3aWR0aCBjb2x1bW5zICBbdGFpeXVdCisgICAtIGludGVycHJldCB6ZXJvIHdpZHRoIGZvciBwZW5kaW5nIGRhdGEgYXMgZXJyb3IgIFtLYXJlbCBaYWtdCisgICAtIHNldCBtaW5pbWFsIGNvbHVtbiB3aWR0aCB0byAxICBbS2FyZWwgWmFrXQorbGlidXVpZDoKKyAgIC0gbWFrZSAiQ09ORk9STUlORyBUTyIgbWFuIHNlY3Rpb25zIG1vcmUgZXhwbGljaXQgIFtLYXJlbCBaYWtdCitsb2dpbjoKKyAgIC0gYWRkIExPR0lOX1BMQUlOX1BST01QVCB0byBsb2dpbi5kZWZzICBbS2FyZWwgWmFrXQorbG9naW4tdXRpbHM6CisgICAtIHVzZSBmcmVlX2dldGxvZ2luZGVmc19kYXRhKCkgIFtLYXJlbCBaYWtdCitsc2JsazoKKyAgIC0gYWRkIGhpbnQgYWJvdXQgcGVybXMgdG8gbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGRvY3VtZW50IExTQkxLX0RFQlVHPSAgW0thcmVsIFpha10KKyAgIC0gdHJ5IGRldmljZS9kZXYgdG8gcmVhZCBkZXZubyAgW0thcmVsIFpha10KK2xzY3B1OgorICAgLSAoYXJtKSBjbGVhbnVwIGNvZGUgIFtLYXJlbCBaYWtdCisgICAtIERlY29kZSBBUk0gQ1BVcyAgW1Jpa3UgVm9pcGlvXQorICAgLSBUcmVhdCByZWFkIGZhaWx1cmUgb24gWGVuIEh5cGVydmlzb3IgcHJvcGVydGllcyBhcyBub24tZmF0YWwgIFtEaXJrIE11ZWxsZXJdCisgICAtIG1vdmUgQVJNIGRlY29kaW5nIHRvIGxzY3B1LWFybS5jICBbS2FyZWwgWmFrXQorICAgLSBtb3ZlIHN0cnVjdCBsc2NwdV9kZXNjIGhlYWRlciBmaWxlICBbS2FyZWwgWmFrXQorbHNjcHUtYXJtOgorICAgLSBhZGQgRmFyYWRheSBBbmQgQnJhaG1hIGNvcmVzICBbUmlrdSBWb2lwaW9dCitsc2xvY2tzOgorICAgLSBhZGQgbm90ZSBhYm91dCBPRkRMQ0sgIFtLYXJlbCBaYWtdCitsc21lbToKKyAgIC0gYWRkIC0tc3BsaXQgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBoaW50IGFib3V0IGJsb2NrIG1lcmdlcyB0byB0aGUgbWFuIHBhZ2UgIFtLYXJlbCBaYWtdCisgICAtIGZpeCBtZW1vcnkgbGVhayBbY292ZXJpdHkgc2Nhbl0gIFtLYXJlbCBaYWtdCisgICAtIGZpeCB0b3RhbCBvbmxpbmUvb2ZmbGluZSBtZW1vcnkgY2FsY3VsYXRpb24gIFtHZXJhbGQgU2NoYWVmZXJdCisgICAtIGltcHJvdmUgcGF0aF9yZWFkX3h4eCgpIHVzYWdlICBbS2FyZWwgWmFrXQorICAgLSBtYWtlIC0tc3BsaXQgb3B0aW9uYWwsIGZvbGxvdyBvdXRwdXQgYnkgZGVmYXVsdCAgW0thcmVsIFpha10KK2xzbWVtL2NobWVtOgorICAgLSBhZGQgbWVtb3J5IHpvbmUgYXdhcmVuZXNzICBbR2VyYWxkIFNjaGFlZmVyXQorICAgLSBhZGQgbWVtb3J5IHpvbmUgYXdhcmVuZXNzIHRvIGJhc2gtY29tcGxldGlvbiAgW0FuZHJlIFdpbGRdCitsc25zOgorICAgLSAobWFuKSB3cml0ZSBhYm91dCB1c2luZyBtdWx0aS1saW5lIGluIE5TRlMgY2VsbCBvZiBsc25zICBbTWFzYXRha2UgWUFNQVRPXQorICAgLSBhZGQgLS1ub3dyYXAoLVcpIG9wdGlvbiAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gYWRkIGEgY2FzZSBmb3IgdGVzdGluZyBuZXRuc2lkIGNvbHVtbiAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gYWRkIGEgY2FzZSBmb3IgdGVzdGluZyBuc2ZzIGNvbHVtbiAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gYWRkIG5ldG5zaWQgY29sdW1uICBbTWFzYXRha2UgWUFNQVRPXQorICAgLSBhZGQgbnNmcyBjb2x1bW4gIFtNYXNhdGFrZSBZQU1BVE9dCisgICAtIGRpc2FibGUgbmV0bnNpZCBjb2x1bW4gYnkgZGVmYXVsdCAgW01hc2F0YWtlIFlBTUFUT10KKyAgIC0gZml4IGNsYW5nIGNvbXBpbGVyIHdhcm5pbmcgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gaW5pdGlhbGl6ZSBzdHVmZiB3aGVuIHJlYWxseSBuZWNlc3NhcnkgIFtLYXJlbCBaYWtdCisgICAtIG5zZnMgc3R1ZmYgY2xlYW51cCAgW0thcmVsIFpha10KKyAgIC0gcmVtb3ZlIGlmLWFmdGVyLXhjYWxsb2MgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSBub3RydW5zIHRvIG5vX3RydW5jICBbS2FyZWwgWmFrXQorbWFuOgorICAgLSB1c2UgbG9uZyBvcHRpb25zIGluIHRleHQgYW5kIGFkZCBleGFtcGxlIHRvIHV1aWRnZW4gIFtTYW1pIEtlcm9sYV0KK21jb29raWU6CisgICAtIChtYW4pIGFkZCBub3RlIGFib3V0IGdldHJhbmRvbSgpICBbS2FyZWwgWmFrXQorICAgLSBwcm9wZXJseSBpbml0aWFsaXplIGhhc2ggIFtLYXJlbCBaYWtdCittZDU6CisgICAtIGRlY2xhcmUgYnl0ZVJldmVyc2UgYXMgc3RhdGljICBbTHVjYSBDZXJlc29saV0KK21pc2M6CisgICAtIGZpeCBwcmludGYgaTM4NiBjb21waWxlciB3YXJuaW5ncyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggdHlwb3MgIFtTYW1pIEtlcm9sYV0KKyAgIC0gZml4IHR5cG9zIHVzaW5nIGNvZGVzcGVsbCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSByZW1vdmUgJXAgZnJvbSBkZWJ1ZyBtZXNzYWdlcyAgW0thcmVsIFpha10KK21vdW50OgorICAgLSAobWFuKSBiZSBleHBsaWNpdCBhYm91dCBiaW5kIG9wZXJhdGlvbiAgW0thcmVsIFpha10KKyAgIC0gKG1hbikgdXBkYXRlIG1vdW50IG9wdGlvbnMgZm9yIFVERiAgW1N0ZXZlIEtlbnRvbl0KKyAgIC0gYWRkIGhpbnQgYWJvdXQgLXQgYW5kIHJvb3QgcGVybXMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbW9yZSBkZXRhaWxzIGFib3V0IFVVSURzIGFuZCBMQUJFTHMgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbm90ZSBhYm91dCAiYWxyZWFkeSBtb3VudGVkIiBiZWhhdmlvciAgW0thcmVsIFpha10KKyAgIC0gYWRkIG5vdGUgYWJvdXQgY2FjaGVkIGtlcm5lbCB0YWJsZSBmb3IgLS1hbGwgIFtLYXJlbCBaYWtdCisgICAtIGJlIG1vcmUgYWNjdXJhdGUgaW4gbWFuIHBhZ2UgYWJvdXQgcHJvcGFnYXRpb24gZmxhZ3MgIFtLYXJlbCBaYWtdCittb3VudCg4KToKKyAgIC0gZHJvcCByZWR1bmRhbnQgZmlsZXN5c3RlbS1zcGVjaWZpYyBzZWN0aW9ucyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSBwb2ludCBwZW9wbGUgdG8gdGhlIHByb2MoNSkgcGFnZSBmb3IgbW91bnQgb3B0aW9ucyAgW01pa2UgRnJ5c2luZ2VyXQorICAgLSB1bW91bnQgZG9lcyBub3QgKGFueW1vcmU/KSBzYXkgYG5vbmUgYnVzeScgIFtBbGFuIEplbmtpbnNdCituZXdncnA6CisgICAtIHVzZSBlcnJleGVjKCkgIFtLYXJlbCBaYWtdCituc2VudGVyOgorICAgLSBmaXggY29tcGlsZXIgd2FybmluZyBbLVd1bmluaXRpYWxpemVkXSAgW0thcmVsIFpha10KKyAgIC0gcmV2ZXJ0IGNoYW5nZXMgY29tbWl0dGVkIGJ5IGFjY2lkZW50ICBbS2FyZWwgWmFrXQorcG86CisgICAtIG1lcmdlIGNoYW5nZXMgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBjcy5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1BldHIgUMOtc2HFmV0KKyAgIC0gdXBkYXRlIGVzLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbQW50b25pbyBDZWJhbGxvcyBSb2FdCisgICAtIHVwZGF0ZSBmaS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0xhdXJpIE51cm1pXQorICAgLSB1cGRhdGUgZnIucG8gKGZyb20gdHJhbnNsYXRpb25wcm9qZWN0Lm9yZykgIFtGcsOpZMOpcmljIE1hcmNoYWxdCisgICAtIHVwZGF0ZSBqYS5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1Rha2VzaGkgSGFtYXNha2ldCisgICAtIHVwZGF0ZSBwbC5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW0pha3ViIEJvZ3Vzel0KKyAgIC0gdXBkYXRlIHB0X0JSLnBvIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpICBbUmFmYWVsIEZvbnRlbmVsbGVdCisgICAtIHVwZGF0ZSB1ay5wbyAoZnJvbSB0cmFuc2xhdGlvbnByb2plY3Qub3JnKSAgW1l1cmkgQ2hvcm5vaXZhbl0KK3JlbmFtZToKKyAgIC0gcmVuYW1lLjEgZml4IHR5cG8sIHdoZXJlIC0+IHdlcmUgIFtLZW55b24gUmFscGhdCisgICAtIHVzZSBhY2Nlc3MoMykgdG8gY2hlY2sgaWYgYSBmaWxlIGV4aXN0cyAgW1NhbWkgS2Vyb2xhXQorcmZraWxsOgorICAgLSBwcm92aWRlIFJGS0lMTF9UWVBFX0ZNIGlmIHVuZGVmaW5lZCAgW1J1ZWRpZ2VyIE1laWVyXQorcnRjd2FrZToKKyAgIC0gYWRkIG5vdGUgYWJvdXQgSFcgYW5kIHNsZWVwIHRvIHRoZSBtYW4gcGFnZSAgW0thcmVsIFpha10KKyAgIC0gZml4IHN5cyB2cy4gcnRjIHRpbWUgZGVsdGEgdXNhZ2UgIFtLYXJlbCBaYWtdCisgICAtIHdhaXQgc3RkaW4gdG8gc2V0dGxlIGRvd24gYmVmb3JlIGVudGVyaW5nIGEgc3lzdGVtIHNsZWVwICBbU2FtaSBLZXJvbGFdCitzYW1wbGUtc2NvbHMtdGl0bGU6CisgICAtIGFkZCBsZWZ0IHRpdGxlIHdpdGhvdXQgcGFkZGluZyAgW0thcmVsIFpha10KK3NjaGVkdXRpbHM6CisgICAtIHVzZSBlcnJleGVjKCkgIFtLYXJlbCBaYWtdCitzZXRhcmNoOgorICAgLSBtaW5vciBjb2RlIGNsZWFuIHVwICBbU2FtaSBLZXJvbGFdCitzZXRwcml2OgorICAgLSBhZGQgZXhhbXBsZSBzZWN0aW9uICBbU2FtIE1vcnJpc10KKyAgIC0gZml4IG1hbnBhZ2UgdHlwbyAgW1NhbSBNb3JyaXNdCisgICAtIGltcHJvdmUgZGVzY3JpcHRpb24gaW4gbWFuIHBhZ2UgIFtTYW0gTW9ycmlzXQorICAgLSBpbmNsdWRlIC0taW5pdC1ncm91cHMgaW4gdGhlIGxpc3Qgb2Ygb3B0aW9ucyB0aGF0IGNhbiBiZSBzcGVjaWZpZWQgd2l0aCAtLVtyZV1naWQgIFtTYW0gTW9ycmlzXQorc2V0c2lkOgorICAgLSBuZXcgb3B0aW9uIC0tZm9yayAgW0thcmVsIFpha10KK3NmZGlzazoKKyAgIC0gYWRkIGhpbnQgYWJvdXQgdWRldiBhbmQgZmxvY2sgdG8gdGhlIG1hbiBwYWdlICBbS2FyZWwgWmFrXQorICAgLSBhbGxvdyB0byBkaXNhYmxlIGJvb3RhYmxlIGZsYWcgb24gYWxsIHBhcnRpdGlvbnMgIFtLYXJlbCBaYWtdCisgICAtIGFsbG93IHRvIHVzZSAtLWFjdGl2YXRlIGZvciBQTUJSICBbS2FyZWwgWmFrXQorICAgLSBjbGVhbnVwIHNob3J0Y3V0cyBpbiBtYW4gcGFnZSB0b28gIFtLYXJlbCBaYWtdCisgICAtIGNyZWF0ZSBlbXB0eSBsYWJlbCBvbiAnd3JpdGUnIGNvbW1hbmQgIFtLYXJlbCBaYWtdCisgICAtIHdhaXQgYmVmb3JlIHJlLXJlYWQgIFtLYXJlbCBaYWtdCitzaWduYW1lczoKKyAgIC0gTWFrZSBpbnB1dCBjaGFyIGJ1ZmZlcnMgY29uc3QgIFtOaWtsYXMgSGFtYsO8Y2hlbl0KK3N1OgorICAgLSBidWlsZCBmaXggZm9yIHRoZSBjYXNlIHdoZXJlIFVTRV9QVFkgaXMgbm90IGRlZmluZWQgIFtTYW11ZWwgVGhpYmF1bHRdCisgICAtIHVzZSBlcnJleGVjKCkgIFtLYXJlbCBaYWtdCitzeXMtdXRpbHM6CisgICAtIHVzZSBlcnJleGVjKCkgIFtLYXJlbCBaYWtdCit0ZXN0OgorICAgLSBBZGQgVURGIGhkZCBpbWFnZSB3aXRoIGZpbmFsIGJsb2NrIHNpemUgNDA5NiBjcmVhdGVkIGJ5IExpbnV4IG1rdWRmZnMgMS4zICBbUGFsaSBSb2jDoXJdCisgICAtIHVzZSBzdWJ0ZXN0cyBmb3IgamFuMTc1MyBjYWwoMSkgdGVzdCAgW0thcmVsIFpha10KK3Rlc3Rfc2hhMToKKyAgIC0gdXBkYXRlIGhlbHBlciAgW0thcmVsIFpha10KK3Rlc3RzOgorICAgLSBBZGQgVURGIGNkIGltYWdlIGNyZWF0ZWQgYnkgbWt1ZGZpc28gMjAxMDAyMDggIFtQYWxpIFJvaMOhcl0KKyAgIC0gR1BUIGRldmljZSByZXNpemUgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIC9wcm9jL3N3YXBzIGxpYm1vdW50IHBhcnNlciB0ZXN0ICBbS2FyZWwgWmFrXQorICAgLSBhZGQgTFVLUyB0ZXN0IGltYWdlcyAgW01pbGFuIEJyb3pdCisgICAtIGFkZCBjYWwoMSkgLS13ZWVrPTQwIDE3NTIgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBmc2NrLmNyYW1mcyBiYWQtaGVhZGVyIHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIGFkZCBpcGNzbGltaXRzIGxvY2sgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkIGxvY2sgb24gc2hhcmVkIHJlc291cmNlcyAoZS5nLiBzY3NpX2RlYnVnKSAgW0thcmVsIFpha10KKyAgIC0gYWRkIG1kYWRtIGxvY2tzICBbS2FyZWwgWmFrXQorICAgLSBhZGQgbXBvb2wgYmxraWQgdGVzdCBpbWFnZSAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNldC14IHRvIGxzbnMgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gYWRkIHNvbWUgbW9yZSB1ZGV2YWRtIHNldHRsZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgdGVzdHMgZm9yIGVuY29kZSBmdW5jdGlvbnMgZnJvbSBsaWIvbWJzYWxpZ24uYyAgW1ZhY2xhdiBEb2xlemFsXQorICAgLSBhZGQgdWRldmFkbSBzZXR0bGUgdG8gc2ZkaXNrL3Jlc2l6ZSAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBhZGQgd2llcmQgc2xlZXAgZm9yIGxpYm1vdW50L2NvbnRleHQgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gYWRkZWQgbWlzc2luZyBleHBlY3RlZCBvdXRwdXRzIGZvciBwYXJ0eCAoYXRhcmkpICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGFkZGVkIHRlc3QgZm9yIGxpYmJsa2lkIGF0YXJpIHB0ICBbVmFjbGF2IERvbGV6YWxdCisgICAtIGFkanVzdCBmb3IgSVNPIHRpbWV6b25lIGNvbG9uIHVzZSAgW0ogV2lsbGlhbSBQaWdnb3R0XQorICAgLSBhbGxvdyB0byB1c2UgbWVtb3J5IGNoZWNrcyBmb3IgbGlic21hcnRjb2xzICBbS2FyZWwgWmFrXQorICAgLSBiZXR0ZXIgbHNucyByZXBvcnQgb24gZmFpbCAgW0thcmVsIFpha10KKyAgIC0gY2hlY2sgZm9yIEhBVkVfTElOVVhfTkVUX05BTUVTUEFDRV9IICBbS2FyZWwgWmFrXQorICAgLSBjb2x1bW4oMSkgdGVzdCBmb3Igc3BhY2UtY2hhciBzZXBhcmF0b3IgIFtLYXJlbCBaYWtdCisgICAtIGNvbHVtbigxKSB0ZXN0IG5vbi1zcGFjZSBzZXBhcmF0b3IgYXQgYmVnaW4gb2YgbGluZSAgW0thcmVsIFpha10KKyAgIC0gY29uc29saWRhdGUgdHNfZGV2aWNlX2hhcyBVVUlEIG9yIExBQkVMICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGRvbid0IGNhbGwgdGVzdHMgd2l0aCByYWNlcyBpbiAtLXBhcmFsbGVsICBbS2FyZWwgWmFrXQorICAgLSBkb24ndCBsb2NrIGZkIDEgKHN0ZG91dCksIGRvbid0IHVzZSAvcHJvYy8kJC9mZCAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkb24ndCB1c2UgbW91bnQuPHR5cGU+IGhlbHBlcnMgaW4gbW91bnQtYnktcGF0dGVybiB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdXNlIHVubG9ja2VkIHJlc291cmNlcyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBkb250J3QgdGltZW91dCBmbG9jayAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBmaXggZmluY29yZS9jb3VudCBLTk9XTl9GQUlMICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBncmVwIGV4cHJlc3Npb25zIGZvciBkZXZpY2VzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGZpeCBsb3NldHVwIHJhY2UgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gZml4IGxzbnMgcGVybXMgIFtLYXJlbCBaYWtdCisgICAtIGhhbmRsZSB4YXJncyBlcnJvcnMgYW5kIGludmFsaWQgYXJncyAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSBtYWtlIGxzbnMgdGVzdCBtb3JlIHJvYnVzdCAgW0thcmVsIFpha10KKyAgIC0gbWFyayBmaW5jb3JlL2NvdW50IGFzIEtOT1dOX0ZBSUwgIFtLYXJlbCBaYWtdCisgICAtIG1hcmsgbWJzZW5jb2RlIGFzIEtOT1dOX0ZBSUwgIFtWYWNsYXYgRG9sZXphbF0KKyAgIC0gbWJzZW5jb2RlIC0gcmVtb3ZlZCBlbW9qaSwgYWRkZWQgY29udHJvbCB1bmljb2RlIGNoYXJhY3RlciAgW1ZhY2xhdiBEb2xlemFsXQorICAgLSBtYnNlbmNvZGUgLSB0ZXN0IGZvciBIQVZFX1dJREVDSEFSICBbVmFjbGF2IERvbGV6YWxdCisgICAtIG1lcmdlIDFtIGFuZCAzbSBjYWwoMSkgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIG1lcmdlIHNlcDE3NTIgY2FsKDEpIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSBtZXJnZSB5ZWFyIGNhbCgxKSB0ZXN0cyAgW0thcmVsIFpha10KKyAgIC0gcmUtaW50cm9kdWNlIGJhc2ggMyBjb21wYXRpYmlsaXR5IChPU1gpICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHJlbmFtZSAtLW1lbWNoZWNrIHRvIC0tbWVtY2hlY2stdmFsZ3JpbmQgIFtLYXJlbCBaYWtdCisgICAtIHJlbmFtZSB0c192YWxncmluZCB0byB0c19ydW4gIFtLYXJlbCBaYWtdCisgICAtIHJld3JpdGUgY2FsKDEpIGJpZ3llYXIgdGVzdCAgW0thcmVsIFpha10KKyAgIC0gcmV3cml0ZSBmc2NrLWJhZC1oZWFkZXIgIFtSdWVkaWdlciBNZWllcl0KKyAgIC0gc2ltcGxpZnkgY2FsKDEpIHNlcDE3NTJ3IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHN1cHBvcnQgbXVsdGlwbGUgbG9ja3MgIFtLYXJlbCBaYWtdCisgICAtIHN1cHByZXNzIHdhcm5pbmcgZm9yIG9sZCBzeW5jKDEpICBbcm9vdF0KKyAgIC0gdW5sb2NrcyBvbiBmYWlsZWQgdHNfc2NzaV9kZWJ1Z19pbml0ICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgYnVpbGQtc3lzIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY2FsKDEpIHRlc3RzICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgY29sdW1ucyB0ZXN0IGR1ZSB0byBkZGEyMjljN2IyYjE2YTMxZmFlOGU5OTA3OWFiNGY0YWU1YmM4ZWFjICBbS2FyZWwgWmFrXQorICAgLSB1cGRhdGUgZGVmYXVsdCBsc21lbSBvdXRwdXQgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsaWJzbWFydGNvbHMvdGl0bGUgIFtLYXJlbCBaYWtdCisgICAtIHVwZGF0ZSBsc21lbSAgW0thcmVsIFpha10KKyAgIC0gdXBkYXRlIHNldGFyY2ggdGVzdCAgW0thcmVsIFpha10KKyAgIC0gdXNlIFRTX0hFTFBFUl9DQUwgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBmbG9jayB0byBtb2RpZnkgZnN0YWIgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBsaWJ0b29sIHRvIGV4ZWN1dGUgd2l0aCB2YWxncmluZCAgW0thcmVsIFpha10KKyAgIC0gdXNlIHBncmVwIGluc3RlYWQgb2YgcHMgLS1wcGlkIC4uLiAgW1J1ZWRpZ2VyIE1laWVyXQorICAgLSB1c2Ugc3VidGVzdHMgZm9yIHNlcDE3NTJ3IHRlc3QgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdWJ0ZXN0cyBmb3Igd2Vla2FyZyBjYWwoMSkgdGVzdHMgIFtLYXJlbCBaYWtdCisgICAtIHVzZSBzdWJ0ZXN0cyBmb3Igd2Vla251bSBjYWwoMSkgdGVzdHMgIFtLYXJlbCBaYWtdCit0ZXN0cy9sc21lbToKKyAgIC0gdXBkYXRlIGxzbWVtIHRlc3Qgd2l0aCBaT05FUyBjb2x1bW4gIFtHZXJhbGQgU2NoYWVmZXJdCit0ZXh0LXV0aWxzOgorICAgLSB1c2UgZXJyZXhlYygpICBbS2FyZWwgWmFrXQordG9vbHM6CisgICAtIGltcHJvdmUgY2hlY2ttYW5zICBbS2FyZWwgWmFrXQordHJhdmlzOgorICAgLSBlbmFibGUgb3N4IHJvb3QgY2hlY2tzICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIGhvbWVicmV3L2R1cGVzIHdhcyBkZXByZWNhdGVkICBbUnVlZGlnZXIgTWVpZXJdCisgICAtIHVzZSBwYXJhbGxlbCByb290IGNoZWNrcyAgW1J1ZWRpZ2VyIE1laWVyXQordW5zaGFyZToKKyAgIC0gQWRkIC0ta2lsbC1jaGlsZCBvcHRpb24uICBbTmlrbGFzIEhhbWLDvGNoZW5dCisgICAtIEFsbG93IHBhc3NpbmcgPHNpZ25hbWU+IHRvIC0ta2lsbC1jaGlsZCAgW05pa2xhcyBIYW1iw7xjaGVuXQorICAgLSBjbGVhbnVwIGlmLWlmIGNvZGUgIFtLYXJlbCBaYWtdCit1dWlkZDoKKyAgIC0gY29zbWV0aWMgY29kaW5nIHN0eWxlIGNoYW5nZSAgW0thcmVsIFpha10KKyAgIC0gZG9uJ3QgdHJ1bmNhdGUgbG9uZyBzb2NrZXQgcGF0aHMgIFtSdWVkaWdlciBNZWllcl0KK3ZpcHc6CisgICAtIGRvIG5vdCBsZXQgZWRpdG9yIHRvIGluaGVyaXQgb3BlbiBmaWxlIGRlc2NyaXB0b3JzICBbU2FtaSBLZXJvbGFdCisgICAtIHVzZSBlcnJleGVjKCkgIFtLYXJlbCBaYWtdCit3aGVyZWlzOgorICAgLSBmaXggdHlwbyBpbiBkZWJ1ZyBtZXNzYWdlICBbS2FyZWwgWmFrXQorenJhbWN0bDoKKyAgIC0gdXNlIHhzdHJkdXAoKSAgW0thcmVsIFpha10KZGlmZiAtLWdpdCBhL0RvY3VtZW50YXRpb24vcmZraWxsLnJlYWRtZSBiL0RvY3VtZW50YXRpb24vcmZraWxsLnJlYWRtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzFjMmE2Ci0tLSAvZGV2L251bGwKKysrIGIvRG9jdW1lbnRhdGlvbi9yZmtpbGwucmVhZG1lCkBAIC0wLDAgKzEsMTUgQEAKK1RoaXMgd2FzIHRoZSBvcmlnaW5hbCBSRUFETUUgd2hlbiByZmtpbGwgd2FzIGEgc3RhbmRhbG9uZSBwcm9qZWN0LgorCistLSBzbmlwCisKK1RoaXMgaXMgJ3Jma2lsbCcsIGEgdG9vbCB0byB1c2UgL2Rldi9yZmtpbGwuCisKKworVG8gYnVpbGQgcmZraWxsLCBqdXN0IGVudGVyICdtYWtlJy4KKworJ3Jma2lsbCcgaXMgY3VycmVudGx5IG1haW50YWluZWQgYXQgaHR0cDovL2dpdC5zaXBzb2x1dGlvbnMubmV0L3Jma2lsbC5naXQvLAorc29tZSBtb3JlIGRvY3VtZW50YXRpb24gaXMgYXZhaWxhYmxlIGF0CitodHRwOi8vd2lyZWxlc3Mua2VybmVsLm9yZy9lbi91c2Vycy9Eb2N1bWVudGF0aW9uL3Jma2lsbC4KKworUGxlYXNlIHNlbmQgYWxsIHBhdGNoZXMgdG8gSm9oYW5uZXMgQmVyZyA8am9oYW5uZXNAc2lwc29sdXRpb25zLm5ldD4KK2FuZCBDQyBsaW51eC13aXJlbGVzc0B2Z2VyLmtlcm5lbC5vcmcgZm9yIGNvbW11bml0eSByZXZpZXcuCmRpZmYgLS1naXQgYS9NYWtlZmlsZS5hbSBiL01ha2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3NjU3YWYKLS0tIC9kZXYvbnVsbAorKysgYi9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDIzNCBAQAorQU1fQ1BQRkxBR1MgPSBcCisJLWluY2x1ZGUgY29uZmlnLmggXAorCS1JJCh0b3Bfc3JjZGlyKS9pbmNsdWRlIFwKKwktRExPQ0FMRURJUj1cIiQobG9jYWxlZGlyKVwiIFwKKwktRF9QQVRIX1JVTlNUQVRFRElSPVwiJHtydW5zdGF0ZWRpcn1cIgorQU1fQ0ZMQUdTID0gLWZzaWduZWQtY2hhciAkKFdBUk5fQ0ZMQUdTKQorQU1fTERGTEFHUyA9CisKKyMgQWRkIGdldHRleHQgc3R1ZmYgdG8gdGhlIGdsb2JhbCBMREFERCBmb3Igc3lzdGVtcyB3aXRoIHNlcGFyYXRlIGxpYmludGwKKyMgbGlicmFyeS4gVGhlIExUTElCSU5UTCBpcyBnZW5lcmF0ZWQgYnkgQU1fR05VX0dFVFRFWFQgbWFjcm8uCisjCitMREFERCA9ICQoTFRMSUJJTlRMKQorCisjIEF1dG9tYWtlIChhdCBsZWFzdCB1cCB0byAxLjEwKSBtaXNoYW5kbGVzIGRpc3RfbWFuX01BTlMgaW5zaWRlIGNvbmRpdGlvbmFscy4KKyMgVW5saWtlIHdpdGggb3RoZXIgZGlzdCBwcmltYXJpZXMsIHRoZSBmaWxlcyBhcmUgbm90IGRpc3RyaWJ1dGVkIGlmIHRoZQorIyBjb25kaXRpb25hbCBpcyBmYWxzZS4KKyMgV29yayB0aGUgYnVnIGFyb3VuZCB1bnRpbCBpdCBpcyBmaXhlZDoKK2Rpc3Rfbm9pbnN0X0RBVEEgPSAkKGRpc3RfbWFuX01BTlMpCisKKyMgUGF0aHMgdG8gaW4tdHJlZSBsaWJyYXJpZXMgKHVzZSB1bF8gcHJlZml4IHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMpIE5vdGUKKyMgdGhhdCBibGtpZC5oLCBsaWJtb3VudC5oLCBsaWJmZGlzay5oIGFuZCBsaWJzbWFydGNvbHMuaCBhcmUgZ2VuZXJhdGVkIGFuZAorIyBzdG9yZWQgaW4gYnVpbGQgZGlycy4KKyMKK3VsX2xpYmJsa2lkX2luY2RpciA9ICQodG9wX2J1aWxkZGlyKS9saWJibGtpZC9zcmMKK3VsX2xpYm1vdW50X2luY2RpciA9ICQodG9wX2J1aWxkZGlyKS9saWJtb3VudC9zcmMKK3VsX2xpYnNtYXJ0Y29sc19pbmNkaXIgPSAkKHRvcF9idWlsZGRpcikvbGlic21hcnRjb2xzL3NyYwordWxfbGliZmRpc2tfaW5jZGlyICA9ICQodG9wX2J1aWxkZGlyKS9saWJmZGlzay9zcmMKKwordWxfbGlidXVpZF9pbmNkaXIgID0gJCh0b3Bfc3JjZGlyKS9saWJ1dWlkL3NyYworCitwa2djb25maWdkaXIgPSAkKHVzcmxpYl9leGVjZGlyKS9wa2djb25maWcKKworYmFzaGNvbXBsZXRpb25kaXIgPSBAYmFzaGNvbXBsZXRpb25kaXJACisKK2Rpc3Rfbm9pbnN0X0hFQURFUlMgPQorbm9pbnN0X1BST0dSQU1TID0KK25vaW5zdF9MVExJQlJBUklFUyA9Cit1c3JiaW5fZXhlY19QUk9HUkFNUyA9Cit1c3JzYmluX2V4ZWNfUFJPR1JBTVMgPQorZGlzdF9tYW5fTUFOUyA9CittYW5fTUFOUyA9Citwa2djb25maWdfREFUQSA9Cit1c3JsaWJfZXhlY19MVExJQlJBUklFUyA9CitiaW5fUFJPR1JBTVMgPQorc2Jpbl9QUk9HUkFNUyA9CitkaXN0X3VzcmJpbl9leGVjX1NDUklQVFMgPQorc3lzdGVtZHN5c3RlbXVuaXRfREFUQSA9CitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgPQorY2hlY2tfUFJPR1JBTVMgPQorZGlzdF9jaGVja19TQ1JJUFRTID0KKworUEFUSEZJTEVTID0KKworSU5TVEFMTF9FWEVDX0hPT0tTID0KK1VOSU5TVEFMTF9IT09LUyA9CitJTlNUQUxMX0RBVEFfSE9PS1MgPQorQ0xFQU5fTE9DQUxTID0KK0NIRUNLX0xPQ0FMUyA9CisKK0VYVFJBX0RJU1QgPQorQ0xFQU5GSUxFUyA9CisKK1NVQkRJUlMgPSBwbworCitSQ1NfRklORF9JR05PUkUgPSBcKCAtbmFtZSBTQ0NTIC1vIC1uYW1lIEJpdEtlZXBlciAtbyAtbmFtZSAuc3ZuIC1vIFwKKwkJLW5hbWUgQ1ZTIC1vIC1uYW1lIC5wYyAtbyAtbmFtZSAuaGcgLW8gLW5hbWUgLmdpdCBcKSAtcHJ1bmUgLW8KKworQUNMT0NBTF9BTUZMQUdTID0gLUkgbTQKKworRVhUUkFfRElTVCArPSBcCisJLnZlcnNpb24gXAorCWF1dG9nZW4uc2ggXAorCURvY3VtZW50YXRpb24gXAorCXBvL3VwZGF0ZS1wb3RmaWxlcyBcCisJUkVBRE1FLmxpY2Vuc2luZworCitpbmNsdWRlIHRvb2xzL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgaW5jbHVkZS9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYi9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYnV1aWQvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSBsaWJibGtpZC9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYm1vdW50L01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgbGlic21hcnRjb2xzL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgbGliZmRpc2svTWFrZW1vZHVsZS5hbQorCitpbmNsdWRlIHNjaGVkdXRpbHMvTWFrZW1vZHVsZS5hbQoraW5jbHVkZSB0ZXh0LXV0aWxzL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgdGVybS11dGlscy9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxvZ2luLXV0aWxzL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgc3lzLXV0aWxzL01ha2Vtb2R1bGUuYW0KK2luY2x1ZGUgbWlzYy11dGlscy9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGRpc2stdXRpbHMvTWFrZW1vZHVsZS5hbQorCitpbmNsdWRlIGJhc2gtY29tcGxldGlvbi9NYWtlbW9kdWxlLmFtCisKK2luY2x1ZGUgdGVzdHMvTWFrZW1vZHVsZS5hbQorCisjIHB5bGlibW91bnRleGVjIG1vZHVsZSBtdXN0IGJlIGluc3RhbGxlZCBhZnRlciB1c3JsaWJfZXhlYyBsaWJyYXJpZXMsCisjIG90aGVyd2lzZSB0aGUgbGlidG9vbCByZWxpbmsgc3RlcCB3aWxsIGZhaWwgdG8gZmluZCBsaWJtb3VudC5sYSBhbmQKKyMgd2lsbCB0cnkgLWxtb3VudCB3aGljaCBpcyBwb3NzaWJseSBub3QgYXZhaWxhYmxlLgorIworIyBTbyBpbnRyb2R1Y2UgdGhpcyBkZXBlbmRlbmN5IHJ1bGU6CisjIGluc3RhbGwtcHlsaWJtb3VudGV4ZWNMVExJQlJBUklFUzogaW5zdGFsbC11c3JsaWJfZXhlY0xUTElCUkFSSUVTCitAdmVyYmF0aW1fcHlsaWJtb3VudF9kZXBlbmRlbmN5QAorCisjCisjIERvbid0IHJlbHkgb24gY29uZmlndXJlLmFjIEFDX0NPTkZJR19GSUxFUyBmb3IgaW5zdGFsbCBwYXRocy4KKyMKKyMgVGhlIHBhdGhzIHNob3VsZCBiZSBleHBhbmRlZCBhdCBtYWtlIHRpbWUgcmF0aGVyIHRoYW4gY29uZmlndXJlOgorIyAgLSB0byBzdXBwb3J0ICdtYWtlIGluc3RhbGwgcHJlZml4PS9mb28gREVTVERJUj0vZm9vJworIyAgLSB0byByZWN1cnNpdmVseSBleHBhbmRzIHRoZSBwYXRocyAoZS5nLiBBQ19DT05GSUdfRklMRVMgZXhwYW5kcworIyAgICAnQHVzcnNiaW5fZXhlY2RpckAnIHRvICR7ZXhlY19wcmVmaXh9L3NiaW4nKQorIworZWRpdF9jbWQgPSBzZWQgXAorCSAtZSAnc3xAcHJlZml4W0BdfCQocHJlZml4KXxnJyBcCisJIC1lICdzfEBleGVjX3ByZWZpeFtAXXwkKGV4ZWNfcHJlZml4KXxnJyBcCisJIC1lICdzfEBzeXNjb25mZGlyW0BdfCQoc3lzY29uZmRpcil8ZycgXAorCSAtZSAnc3xAZGF0YWRpcltAXXwkKGRhdGFkaXIpfGcnIFwKKwkgLWUgJ3N8QHNiaW5kaXJbQF18JChzYmluZGlyKXxnJyBcCisJIC1lICdzfEBiaW5kaXJbQF18JChiaW5kaXIpfGcnIFwKKwkgLWUgJ3N8QGluY2x1ZGVkaXJbQF18JChpbmNsdWRlZGlyKXxnJyBcCisJIC1lICdzfEBydW5zdGF0ZWRpcltAXXwkKHJ1bnN0YXRlZGlyKXxnJyBcCisJIC1lICdzfEB1c3JsaWJfZXhlY2RpcltAXXwkKHVzcmxpYl9leGVjZGlyKXxnJyBcCisJIC1lICdzfEB1c3JiaW5fZXhlY2RpcltAXXwkKHVzcmJpbl9leGVjZGlyKXxnJyBcCisJIC1lICdzfEB1c3JzYmluX2V4ZWNkaXJbQF18JCh1c3JzYmluX2V4ZWNkaXIpfGcnIFwKKwkgLWUgJ3N8QFZFUlNJT05bQF18JChWRVJTSU9OKXxnJyBcCisJIC1lICdzfEBBREpUSU1FX1BBVEhbQF18JChBREpUSU1FX1BBVEgpfGcnIFwKKwkgLWUgJ3N8QExJQlVVSURfVkVSU0lPTltAXXwkKExJQlVVSURfVkVSU0lPTil8ZycgXAorCSAtZSAnc3xATElCTU9VTlRfVkVSU0lPTltAXXwkKExJQk1PVU5UX1ZFUlNJT04pfGcnIFwKKwkgLWUgJ3N8QExJQk1PVU5UX01BSk9SX1ZFUlNJT05bQF18JChMSUJNT1VOVF9NQUpPUl9WRVJTSU9OKXxnJyBcCisJIC1lICdzfEBMSUJNT1VOVF9NSU5PUl9WRVJTSU9OW0BdfCQoTElCTU9VTlRfTUlOT1JfVkVSU0lPTil8ZycgXAorCSAtZSAnc3xATElCTU9VTlRfUEFUQ0hfVkVSU0lPTltAXXwkKExJQk1PVU5UX1BBVENIX1ZFUlNJT04pfGcnIFwKKwkgLWUgJ3N8QExJQlNNQVJUQ09MU19WRVJTSU9OW0BdfCQoTElCU01BUlRDT0xTX1ZFUlNJT04pfGcnIFwKKwkgLWUgJ3N8QExJQkZESVNLX1BDX1JFUVVJUkVTW0BdfCQoTElCRkRJU0tfUENfUkVRVUlSRVMpfGcnIFwKKwkgLWUgJ3N8QExJQkZESVNLX1ZFUlNJT05bQF18JChMSUJGRElTS19WRVJTSU9OKXxnJyBcCisJIC1lICdzfEBMSUJGRElTS19NQUpPUl9WRVJTSU9OW0BdfCQoTElCRkRJU0tfTUFKT1JfVkVSU0lPTil8ZycgXAorCSAtZSAnc3xATElCRkRJU0tfTUlOT1JfVkVSU0lPTltAXXwkKExJQkZESVNLX01JTk9SX1ZFUlNJT04pfGcnIFwKKwkgLWUgJ3N8QExJQkZESVNLX1BBVENIX1ZFUlNJT05bQF18JChMSUJGRElTS19QQVRDSF9WRVJTSU9OKXxnJyBcCisJIC1lICdzfEBMSUJCTEtJRF9WRVJTSU9OW0BdfCQoTElCQkxLSURfVkVSU0lPTil8ZycKKworQ0xFQU5GSUxFUyArPSAkKFBBVEhGSUxFUykKK0VYVFJBX0RJU1QgKz0gJChQQVRIRklMRVM6PS5pbikKKworJChQQVRIRklMRVMpOiBNYWtlZmlsZQorCUAgcm0gLWYgJEAgJEAudG1wCisJJChBTV9WX2F0KSAkKE1LRElSX1ApICQkKGRpcm5hbWUgJEApCisJJChBTV9WX0dFTikgc3JjZGlyPScnOyBcCisJCXRlc3QgLWYgLi8kQC5pbiB8fCBzcmNkaXI9JChzcmNkaXIpLzsgXAorCQkkKGVkaXRfY21kKSAkJHtzcmNkaXJ9JEAuaW4gPiRALnRtcAorCUAgbXYgJEAudG1wICRACisKKyMgQXJyYW5nZSBzbyB0aGF0IC50YXJiYWxsLXZlcnNpb24gYXBwZWFycyBvbmx5IGluIHRoZSBkaXN0cmlidXRpb24KKyMgdGFyYmFsbCwgYW5kIG5ldmVyIGluIGEgY2hlY2tlZC1vdXQgcmVwb3NpdG9yeS4KK2Rpc3QtaG9vazoKKwllY2hvICQoVkVSU0lPTikgPiAkKGRpc3RkaXIpLy50YXJiYWxsLXZlcnNpb24KKyMgU2V0IENoYW5nZUxvZyB0YWcgcmVmZXJlbmNlLgorCXNlZCAtaSAicy9sb2cvbG9nO2g9JChWRVJTSU9OKS8iICQoZGlzdGRpcikvQ2hhbmdlTG9nCisKK2Rpc3RjbGVhbi1sb2NhbDoKKwktZmluZCAuIC1uYW1lIFwqfiAtbyAtbmFtZSBcKi5vcmlnIC1vIC1uYW1lIFwqLnJlaiB8IHhhcmdzIHJtIC1mCisJcm0gLXJmIGF1dG9tNHRlLmNhY2hlCisKKworY2hlY2tpbmNsdWRlczoKKwlAZmluZCAqICQoUkNTX0ZJTkRfSUdOT1JFKSBcCisJCS1uYW1lICcqLltoY1NdJyAtdHlwZSBmIC1wcmludCB8IHNvcnQgLXUgXAorCQl8IHhhcmdzICQodG9wX3NyY2RpcikvdG9vbHMvY2hlY2tpbmNsdWRlcy5wbAorCitjaGVja2NvbmZpZzoKKwlAZmluZCAqICQoUkNTX0ZJTkRfSUdOT1JFKSBcCisJCS1uYW1lICcqLltoY1NdJyAtdHlwZSBmIC1wcmludCB8IHNvcnQgLXUgXAorCQl8IHhhcmdzICQodG9wX3NyY2RpcikvdG9vbHMvY2hlY2tjb25maWcuc2ggJCh0b3Bfc3JjZGlyKQorCitjaGVja21hbnM6CisJQCQodG9wX3NyY2RpcikvdG9vbHMvY2hlY2ttYW5zLnNoCisKK2NoZWNreGFsbG9jOgorCUAgJCh0b3Bfc3JjZGlyKS90b29scy9jaGVja3hhbGxvYy5zaAorCitjaGVja2RlY2w6CisJQCAkKHRvcF9zcmNkaXIpL3Rvb2xzL2NoZWNrZGVjbC5zaAorCitjaGVja2NvbXBsZXRpb246CisJQCAkKHRvcF9zcmNkaXIpL3Rvb2xzL2NoZWNrY29tcGxldGlvbi5zaCAkKHRvcF9zcmNkaXIpCisKK2NoZWNrdXNhZ2U6CisJQCAkKHRvcF9zcmNkaXIpL3Rvb2xzL2NoZWNrdXNhZ2Uuc2ggXAorCQkkKGJpbl9QUk9HUkFNUykgJChzYmluX1BST0dSQU1TKSBcCisJCSQodXNyYmluX2V4ZWNfUFJPR1JBTVMpICQodXNyc2Jpbl9leGVjX1BST0dSQU1TKQorCitESVNUQ0hFQ0tfQ09ORklHVVJFX0ZMQUdTID0gXAorCS0tZGlzYWJsZS11c2UtdHR5LWdyb3VwIFwKKwktLWRpc2FibGUtc2lsZW50LXJ1bGVzIFwKKwktLWVuYWJsZS1hbGwtcHJvZ3JhbXMgXAorCS0tZGlzYWJsZS1tYWtlaW5zdGFsbC1jaG93biBcCisJLS1lbmFibGUtc3RhdGljLXByb2dyYW1zIFwKKwktLWVuYWJsZS1ndGstZG9jIFwKKwktLXdpdGgtcHl0aG9uIFwKKwktLXdpdGgtYmFzaGNvbXBsZXRpb25kaXI9JCRkY19pbnN0YWxsX2Jhc2UvJChiYXNoY29tcGxldGlvbmRpcikgXAorCS0td2l0aC1zeXN0ZW1kc3lzdGVtdW5pdGRpcj0kJGRjX2luc3RhbGxfYmFzZS8kKHN5c3RlbWRzeXN0ZW11bml0ZGlyKQorCitCVUlMVF9TT1VSQ0VTID0gLnZlcnNpb24KKy52ZXJzaW9uOgorCWVjaG8gJChWRVJTSU9OKSA+ICRALXQgJiYgbXYgJEAtdCAkQAorCitDSEFOR0VMT0dfRklMRSA9IHYkKFZFUlNJT04pLUNoYW5nZUxvZworCiskKENIQU5HRUxPR19GSUxFKToKKwlAIGlmIHRlc3QgIngkJFBSRVZJT1VTX1ZFUlNJT04iID09ICJ4IjsgdGhlbiBcCisJCWVjaG8gIlVzYWdlIG1ha2UgY2hhbmdlbG9nIFBSRVZJT1VTX1ZFUlNJT049PHZlcnNpb24+IjsgXAorCQlleGl0IDE7IFwKKwlmaQorCUAgZWNobyAiQ2hhbmdlcyBiZXR3ZWVuIHYkKFBSRVZJT1VTX1ZFUlNJT04pIGFuZCB2JChWRVJTSU9OKSIgPiAkKENIQU5HRUxPR19GSUxFKQorCUAgZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iID4+ICQoQ0hBTkdFTE9HX0ZJTEUpCisJQCBlY2hvID4+ICQoQ0hBTkdFTE9HX0ZJTEUpCisJJChBTV9WX0dFTikgZ2l0IGxvZyAtLXN0YXQgdiQoUFJFVklPVVNfVkVSU0lPTikuLkhFQUQgPj4gJChDSEFOR0VMT0dfRklMRSkKKyMKKyMKKyMgc21hdGNoIHNjYW4gLS0gc21hdGNoIGFuZCBjZ2NjIGFyZSBleHBlY3RlZCBpbiAkUEFUSAorIworY2hlY2tzbWF0Y2g6CisJJChNQUtFKSBDSEVDSz0ic21hdGNoIC0tZGF0YT0kKGFic190b3Bfc3JjZGlyKS90b29scy9zbWF0Y2gtZGF0YSIgQ0M9Y2djYworCitjaGFuZ2Vsb2c6ICQoQ0hBTkdFTE9HX0ZJTEUpCisKK2luc3RhbGwtZXhlYy1ob29rOiAkKElOU1RBTExfRVhFQ19IT09LUykKKwordW5pbnN0YWxsLWhvb2s6ICQoVU5JTlNUQUxMX0hPT0tTKQorCitpbnN0YWxsLWRhdGEtaG9vazogJChJTlNUQUxMX0RBVEFfSE9PS1MpCisKK2NsZWFuLWxvY2FsOiAkKENMRUFOX0xPQ0FMUykKKworY2hlY2stbG9jYWw6ICQoQ0hFQ0tfTE9DQUxTKQpkaWZmIC0tZ2l0IGEvTkVXUyBiL05FV1MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2EyMWNmYQotLS0gL2Rldi9udWxsCisrKyBiL05FV1MKQEAgLTAsMCArMSwxODA3IEBACit1dGlsLWxpbnV4IDIuMzI6IE1hciAyMSAyMDE4CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjMyLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMzIvdjIuMzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4zMi1yYzI6IE1hciAwMSAyMDE4CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjMyLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMzIvdjIuMzItcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMzItcmMxOiBGZWIgMTMgMjAxOAorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4zMi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjMyL3YyLjMyLXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjMxOiBPY3QgMTkgMjAxNworKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4zMS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjMxL3YyLjMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMzEtcmMyOiBPY3QgMDMgMjAxNworKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4zMS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjMxL3YyLjMxLXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjMxLXJjMTogU2VwIDIyIDIwMTcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMzEtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4zMS92Mi4zMS1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4zMDogSnVuIDAyIDIwMTcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMzAtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4zMC92Mi4zMC1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjMwLXJjMjogTWF5IDEyIDIwMTcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMzAtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4zMC92Mi4zMC1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4zMC1yYzE6IE1heSAxMiAyMDE3CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjMwLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMzAvdjIuMzAtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjk6IE5vdiA4IDIwMTYKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjktUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOS92Mi4yOS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI5LXJjMjogT2N0IDE5IDIwMTYKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjktUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yOS92Mi4yOS1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yOS1yYzE6IFNlcCAzMCAyMDE2CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI5LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjkvdjIuMjktcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjg6IEFwciAxMiAyMDE2CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI4LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjgvdjIuMjgtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yOC1yYzI6IE1hciAyOSAyMDE2CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI4LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjgvdjIuMjgtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjgtcmMxOiBNYXIgMTEgMjAxNgorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yOC1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI4L3YyLjI4LXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI3OiBTZXAgMDcgMjAxNQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI3L3YyLjI3LUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjctcmMyOiBBdWcgMjQgMjAxNQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI3L3YyLjI3LXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI3LXJjMTogSnVsIDMxIDIwMTUKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjctUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNy92Mi4yNy1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNjogRmViIDE5IDIwMTUKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjYtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNi92Mi4yNi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI2LXJjMjogRmViIDQgMjAxNQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI2L3YyLjI2LXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI2LXJjMTogSmFuIDE0IDIwMTUKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjYtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNi92Mi4yNi1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNTogSnVsIDIyIDIwMTQKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjUtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNS92Mi4yNS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI1LXJjMjogSnVsIDIgMjAxNAorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yNS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjI1L3YyLjI1LXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI1LXJjMTogSnVuIDE4IDIwMTQKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjUtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNS92Mi4yNS1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNDogT2N0IDIxIDIwMTMKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjQtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNC92Mi4yNC1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjI0LXJjMjogT2N0IDExIDIwMTMKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjQtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yNC92Mi4yNC1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yNC1yYzE6IFNlcCAyNyAyMDEzCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjI0LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjQvdjIuMjQtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjM6IEFwciAyNSAyMDEzCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIzLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjMvdjIuMjMtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yMy1yYzI6IEFwciAxMCAyMDEzCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIzLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjMvdjIuMjMtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjMtcmMxOiBNYXIgMjIgMjAxMworKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIzL3YyLjIzLXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjIyOiBTZXAgMDQgMjAxMgorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIyL3YyLjIyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjItcmMyOiBBdWcgMTUgMjAxMgorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIyL3YyLjIyLXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjIyLXJjMTogSnVsIDI3IDIwMTIKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjItUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMi92Mi4yMi1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yMTogRmViIDI0IDIwMTIKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjEtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMS92Mi4yMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjIxLXJjMjogRmViIDA2IDIwMTIKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMjEtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4yMS92Mi4yMS1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yMS1yYzE6IEphbiAxOCAyMDEyCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIxLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjEvdjIuMjEtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjA6IEF1ZyAyOSAyMDExCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIwLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjAvdjIuMjAtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4yMC1yYzI6IEF1ZyAxNyAyMDExCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjIwLVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMjAvdjIuMjAtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMjAtcmMxOiBKdWwgMjkgMjAxMQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4yMC1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjIwL3YyLjIwLXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjE5OiBGZWIgMTAgMjAxMQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xOS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE5L3YyLjE5LUNoYW5nZUxvZworCit1dGlsLWxpbnV4IDIuMTktcmMzOiBKYW4gMjUgMjAxMQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xOS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE5L3YyLjE5LXJjMy1DaGFuZ2VMb2cKKwordXRpbC1saW51eCAyLjE5LXJjMjogSmFuIDI1IDIwMTEKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTktUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xOS92Mi4xOS1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4xOS1yYzE6IEphbiAwNSAyMDExCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE5LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTkvdjIuMTktcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTg6IEp1biAzMCAyMDEwCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE4LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTgvdjIuMTgtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xOC1yYzI6IEp1biAxOCAyMDEwCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE4LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTgvdjIuMTgtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTgtcmMxOiBKdW4gNyAyMDEwCisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE4LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTgvdjIuMTgtcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTc6IEphbiA4IDIwMTAKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTctUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy92Mi4xNy1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE3LXJjMzogRGVjIDEwIDIwMDkKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTctUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy92Mi4xNy1yYzMtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNy1yYzI6IERlYyA5IDIwMDkKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTctUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNy92Mi4xNy1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNy1yYzE6IE5vdiAyMCAyMDA5CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE3LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTcvdjIuMTctcmMxLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTY6IEp1bCAgMjAwOQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2L3YyLjE2LUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTYtcmMyOiBKdWwgMiAyMDA5CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE2LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTYvdjIuMTYtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTYtcmMxOiBKdW4gMjggMjAwOQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNi1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE2L3YyLjE2LXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE1OiBNYXkgNSAyMDA5CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE1LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTUvdjIuMTUtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNS1yYzI6IEFwciAxNyAyMDA5CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE1LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTUvdjIuMTUtcmMyLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTUtcmMxOiBNYXIgMTggMjAwOQorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNS1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE1L3YyLjE1LXJjMS1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE0OiBKdW4gOSAyMDA4CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE0LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTQvdjIuMTQtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xNC1yYzM6IE1heSAxOSAyMDA4CisqIHNlZSBEb2N1bWVudGF0aW9uL3JlbGVhc2VzL3YyLjE0LVJlbGVhc2VOb3RlcyBvciB0aGUgY29tcGxldGUgY2hhbmdlbG9nIGF0CisgIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdjIuMTQvdjIuMTQtcmMzLUNoYW5nZUxvZworCit1dGlsLWxpbnV4LW5nIDIuMTQtcmMyOiBBcHIgMjggMjAwOAorKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xNC1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjE0L3YyLjE0LXJjMi1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjE0LXJjMTogQXByIDE2IDIwMDgKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTQtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xNC92Mi4xNC1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xMzogQXVnIDI4IDIwMDcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xMy92Mi4xMy1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjEzLXJjMzogQXVnIDggMjAwNworKiBzZWUgRG9jdW1lbnRhdGlvbi9yZWxlYXNlcy92Mi4xMy1SZWxlYXNlTm90ZXMgb3IgdGhlIGNvbXBsZXRlIGNoYW5nZWxvZyBhdAorICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L3YyLjEzL3YyLjEzLXJjMy1DaGFuZ2VMb2cKKwordXRpbC1saW51eC1uZyAyLjEzLXJjMjogSnVsIDE3IDIwMDcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xMy92Mi4xMy1yYzItQ2hhbmdlTG9nCisKK3V0aWwtbGludXgtbmcgMi4xMy1yYzE6IEp1bCA0IDIwMDcKKyogc2VlIERvY3VtZW50YXRpb24vcmVsZWFzZXMvdjIuMTMtUmVsZWFzZU5vdGVzIG9yIHRoZSBjb21wbGV0ZSBjaGFuZ2Vsb2cgYXQKKyAgaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC92Mi4xMy92Mi4xMy1yYzEtQ2hhbmdlTG9nCisKK3V0aWwtbGludXggMi4xMy1wcmU3CisKKyogbW91bnQ6IGRlZmF1bHQgdG8gY2lmcyBpbnN0ZWFkIG9mIHNtYmZzIGZvciBzb3VyY2VzCisgICAgICAgICBzdGFydGluZyB3aXRoIC8vIChMYXJzIE11ZWxsZXIpCisqIGZsb2NrOiBkb2N1bWVudGF0aW9uIHVwZGF0ZXMgKEguIFBldGVyIEFudmluKQorKiBuZXcgdHJhbnNsYXRpb246IGlkCisqIHVwZGF0ZWQgdHJhbnNsYXRpb25zOiBkZSwgaXQsIHNsLCB1aworCit1dGlsLWxpbnV4IDIuMTMtcHJlNgorCisqIGdldG9wdDogdXBkYXRlZCB0byAxLjEuNAorKiByZXBsYWNlZCBhbGwgKmxsc2VlayB2YXJpYW50cyB3aXRoIGxzZWVrCisqIG1pc2MgYnVpbGQgc3lzdGVtLCBjb2RlIGFuZCBkb2NzIGNsZWFudXBzIGFuZCBmaXhlcworKiB1cGRhdGVkIHRyYW5zbGF0aW9uczogZnIsIGl0CisKK3V0aWwtbGludXggMi4xMy1wcmU1CisKKyoge2ZzY2ssbWtmc30uY3JhbWZzOiB1cGRhdGVkIHRvIGNyYW1mcy0xLjEKKyoge2ZzY2ssbWtmc30uY3JhbWZzOiByZW1vdmVkIFBBR0VfQ0FDSEVfU0laRSB1c2FnZQorKiB1bW91bnQ6IGZpeCAidW1vdW50IC1uIC1yIiAoRGVyaWNrIFN3YW5lcG9lbCkKKyogbWlzYyBidWlsZCBzeXN0ZW0gYW5kIGNvZGUgY2xlYW51cHMgYW5kIGZpeGVzCisqIHVwZGF0ZWQgdHJhbnNsYXRpb246IGNhCisKK3V0aWwtbGludXggMi4xMy1wcmU0CisKKyogZG9uJ3QgYnVpbGQgZmRpc2sgb24gbTY4ayAoTWlrZSBGcnlzaW5nZXIpCisqIG1pc2MgYnVpbGQgc3lzdGVtIGFuZCBkb2N1bWVudGF0aW9uIGZpeGVzCisqIHJlbW92ZWQgcHJvZ3JhbTogY2xlYXIKKwordXRpbC1saW51eCAyLjEzLXByZTMKKworKiBtaXNjIGJ1bGQgc3lzdGVtIGZpeGVzCisqIGNmZGlzazogZml4IGEgc2VnZmF1bHQgd2l0aCBSZWlzZXJGUyBwYXJ0aXRpb25zCisqIHVtb3VudDogZGlzYWxsb3cgLXIgb3B0aW9uIGZvciBub24tcm9vdCB1c2VycworKiB1cGRhdGVkIHRyYW5zbGF0aW9uczogZGEsIGZyLCBpdCwgbmwsIHJ1LCBzbCwgdHIKKwordXRpbC1saW51eCAyLjEzLXByZTIKKworKiBmbG9jazogcmVwbGFjZWQgd2l0aCBmbG9jay0yLjAuMiBieSBILiBQZXRlciBBbnZpbgorKiBtaXNjIGJ1aWxkIHN5c3RlbSBmaXhlcywgbGlidG9vbCBpcyBubyBsb25nZXIgdXNlZAorKiBtaXNjIGNvZGUgZml4ZXMKKyogdXBkYXRlZCB0cmFuc2xhdGlvbnM6IGNhLCBmaSwgZnIsIG5sLCBydSwgdHIKKwordXRpbC1saW51eCAyLjEzLXByZTEKKworKiB1c2UgR05VIGF1dG9jb25mL2F1dG9tYWtlL2xpYnRvb2wgZm9yIGJ1aWxkaW5nCisqIGFkZGVkIHNjaGVkdXRpbHMKKyogcmVtb3ZlZCBzdXBwb3J0IGZvciBjdXJzZXMgaW1wbGVtZW50YXRpb25zIG90aGVyIHRoYW4gbmN1cnNlcworKiByZW1vdmVkIHByb2dyYW1zOiBhcmNoLCBwYXNzd2QsIHJlc2N1ZXB0LCBzZXRmZHBybSwgc2xuCisqIHJlbW92ZWQgbWttaW5peC0wLjEvCisqIG1pc2MgZml4ZXMgYW5kIGRvY3VtZW50YXRpb24gdXBkYXRlcworKiBuZXcgdHJhbnNsYXRpb246IHZpCisqIHVwZGF0ZWQgdHJhbnNsYXRpb25zOiBjYSwgZGUsIGZpLCBmciwgaXQsIG5sLCBydSwgdHIKKwordXRpbC1saW51eCAyLjEycQorCisqIHVwZGF0ZWQgdHJhbnNsYXRpb246IG5sCisKK3V0aWwtbGludXggMi4xMnEtcHJlMgorCisqIHNmZGlzazogZG9jdW1lbnQgLUcgb3B0aW9uIGluIC0taGVscCBvdXRwdXQKKyogdXBkYXRlZCB0cmFuc2xhdGlvbnM6IGNhLCBldCwgZnIKKwordXRpbC1saW51eCAyLjEycS1wcmUxCisKKyogbmV3IG1haW50YWluZXIKKyogc2ZkaXNrOiBhZGQgLUcgb3B0aW9uIChBbmRyaWVzIEJyb3V3ZXIpCisqIHVwZGF0ZWQgdHJhbnNsYXRpb25zOiBkZSwgZXMsIHJ1LCBzdiwgdHIKKwordXRpbC1saW51eCAyLjEycAorCisqIGNmZGlzazogZml4IG51bWJlciBvZiBuZXcgcGFydGl0aW9uIHdoZW4gcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlcgorKiBmZGlzazogZml4IFN1biBsYWJlbCBoYW5kbGluZyBpbiBzZWN0b3IgbW9kZQorKiBta2ZzOiBuZXZlciB0cnVuY2F0ZSBmaWxlbmFtZSAobm90IHRoYXQgdGhhdCBldmVyIGhhcHBlbmVkKQorKiBtb3JlOiBmaXggcmVkcmF3IGZsYXcKKwordXRpbC1saW51eCAyLjEybixvCisKKyogbG9tb3VudDogcmV2ZXJ0IHBhdGNoIGZyb20gMi4xMmoKKyogbHB0dW5lLjg6IC1UIG9wdGlvbiBpcyBvYnNvbGV0ZQorKiBta3N3YXAsIG1rc3dhcC44LCBzd2Fwb246IHN1cHBvcnQgbGFiZWxzCisgICh1c2UgSEFWRV9CTEtJRD1ubyBhcyBsb25nIGFzIHRoZSBibGtpZCBsaWJyYXJ5IGRvZXNuJ3Qgc3VwcG9ydCB0aGlzKQorKiB1bW91bnQ6IGFsbG93IHVzZXIgdW5tb3VudGluZyByZXBlYXRlZGx5IG1vdW50ZWQgbmZzIG1vdW50cworCit1dGlsLWxpbnV4IDIuMTJtCisKKyogY2ZkaXNrOiByZWNvZ25pemUgSkZTLCBzdXBwb3J0IHJlaXNlcmZzIGxhYmVscyAoZmxhdmlvLnN0YW5jaGluYUB0aW4uaXQpCisqIG1vdW50OiBmaXggb3B0aW9uIHBhcnNpbmcgYnVnCisqIG1vdW50Ljg6IHNldmVyYWwgdXBkYXRlcworKiBzd2Fwb24uODogZG9jdW1lbnQgLXYgb3B0aW9uCisKK3V0aWwtbGludXggMi4xMmwKKworKiBNYWtlZmlsZTogcmVtb3ZlIGNhdC1pZC10YmwuYyB1cG9uIG1ha2UgY2xlYW4KKyogZmRpc2s6IGZpeGVkIGEgYnVnIHRoYXQgd291bGQgY2F1c2UgYSBub24tdXBkYXRlIG9mIGEgc3VuIGRpc2tsYWJlbAorKiBmZGlzazogdXNlIHNlY3RvcnNpemUgaW5zdGVhZCBvZiA1MTIgZm9yIFNHSSAoRXJpYyBZLiBUaGVyaWF1bHQpCisqIGZkaXNrOiB1c2UgX19hdHRyaWJ1dGVfXygocGFja2VkKSkgZm9yIGFscGhhLCBBUk06IGF2b2lkIHVuYWxpZ25lZCBhY2Nlc3NlcworKiBod2Nsb2NrOiBhY3R1YWxseSB1c2UgSEFWRV90bV9nbXRvZmYKKyogc3dhcG9uOiBmaXggcHJpb3JpdHkgaGFuZGxpbmcKKyogdW1vdW50OiByZWZ1c2UgdG8gdW5tb3VudCBhbiBlbXB0eSBzdHJpbmcKKwordXRpbC1saW51eCAyLjEyaworCisqIGNmZGlzazogZml4ZWQgYSBzaWduZWQgY2hhcmFjdGVyIGJ1ZyBjYXVzaW5nIHByb2JsZW1zIGZvciBTcGFuaXNoIHVzZXJzCisqIGNvbmZpZ3VyZSwgTUNPTkZJRzogZGV0ZWN0IGdjYyAzLjQuMCBhbmQgdXNlIC1tdHVuZSBvcHRpb24gKE1hdHRoZXcgQnVyZ2VzcykKKyogY29uZmlndXJlOiBkbyBub3QgcnVuIC4vY29uZnRlc3QgKGZvciBjcm9zcyBjb21waWxhdGlvbikgKE5JSUJFIFl1dGFrYSkKKyogZnNjay5jcmFtZnM6IHRyeSB0byBnZXQgY29ycmVjdCBQQUdFX0NBQ0hFX1NJWkUKKyogbG9zZXR1cDogdHJ5IHRvIGdpdmUgYmV0dGVyIGVycm9yIG1lc3NhZ2VzCisqIHJlYWRwcm9maWxlOiBkZWZhdWx0IG1hcCBmaWxlIGlzIC9ib290L1N5c3RlbS5tYXAKKyogcmRldi44OiBhZGRlZCBoaXN0b3JpY2FsIGluZm8gb24gcmFtZGlzaworKiBOZXcgRnJlbmNoLCBTcGFuaXNoLCBTd2VkaXNoIGFuZCBUdXJraXNoIG1lc3NhZ2VzCisKK3V0aWwtbGludXggMi4xMmoKKworKiBjYWw6IGhpZ2hsaWdodCB0b2RheSAoUMOhZHJhaWcgQnJhZHkpCisqIGxvbW91bnQ6IHN0b3AgcmVhZGluZyBwYXNzd2QgYXQgTlVMLCBmaXggbG9fZW5jcnlwdCBrZXlfc2l6ZSAoV29sZnJhbSBLbGVmZikKKyogbG9zZXR1cDogYWRkIC1mIG9wdGlvbiB0byBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZQorICAoQWxleGFuZGVyIFdpZ2VuLCBSZW1jbyB2YW4gTW9vaykKKyogbW9yZTogY29kZSBjbGVhbnVwIChKb2FjaGltIEhlbmtlKQorKiBtb3VudDogYWRkICJncm91cCIgbW91bnQgb3B0aW9uIChNYXJ0aW4gRGlja29wcCkKKyogc2ZkaXNrOiBmaXggMi42LjggQkxLUlJQQVJUIGlvY3RsIGRhbWFnZSAoRXJpYyBMYW1tZXJ0cykKKyogc3dhcG9uOiBsZXQgc3dhcG9uIC1hIHNraXAgdGhlIHN3YXBmaWxlcyBtYXJrZWQgIm5vYXV0byIgKERhbGUgUi4gV29ybGV5KQorKiB1bW91bnQ6IGZpeCBwcm9ibGVtIHdpdGggZW1wdHkgbXRhYiAoQnJ5YW4gS2FkemJhbikKKyogdW1vdW50OiB1c2Ugc3BlY2lhbCB1bW91bnQgcHJvZ3JhbSBpZiBpdCBleGlzdHMgKFJhbSBQYWkpCisqIE5ldyBEYW5pc2ggYW5kIEZyZW5jaCBtZXNzYWdlcworCit1dGlsLWxpbnV4IDIuMTJpCisKKyogTUNPTkZJRzogZml4IGJ1aWxkIGNvbmRpdGlvbnMKKyogY2hmbiwgY2hzaDogYWRkIGVycm9yIGNoZWNraW5nCisqIGN5dHVuZTogdXNlIGxvY2FsIGhlYWRlciBjeWNsYWRlcy5oCisqIGZkaXNrOiBmaXggZGVmYXVsdCBTR0kgdm9sdW1lIGhlYWRlciBzaXplIChFcmljIFNhbmRlZW4pCisqIGZzdGFiLmM6IHVzZSBzdHJzaWduYWwoKSBpbnN0ZWFkIG9mIHN5c19zaWdsaXN0W10KKyogaHdjbG9jazogdXNlIDxzeXMvaW8uaD4gd2hlbiBhdmFpbGFibGUgb24gaTM4NgorKiBod2Nsb2NrOiBkb24ndCB0cnkgS0RHSFdDTEsgb24gYXJjaHMgb3RoZXIgdGhhbiBfX202OGtfXworKiBzZmRpc2s6IGNvcnJlY3QgdHlwbyBpbiBfX2F0dHJpYnV0ZV9fdXNlZCBub25zZW5zZQorKiBzZmRpc2s6IHVzZSBQQUNLRUQgb24gX19hcm1fXyAoSmVyb2VuIERvYmJlbGFlcmUpCisqIHNmZGlzazogZml4IHdhcm5pbmcgcHJpbnRvdXQKKwordXRpbC1saW51eCAyLjEyZSxmLGcsaAorCisqIGNmZGlzazogYXZvaWQgY3Jhc2ggaWYgbm8gcGFydGl0aW9uIHRhYmxlCisqIGVsdnR1bmU6IHRlbGwgdXNlciB0aGF0IHRoaXMgb25seSB3b3JrcyBvbiAyLjQga2VybmVscworKiBsb21vdW50OiBjbGVhciBwYXNzd29yZHMgYWZ0ZXIgdXNlCisqIG1vdW50OiBhY2NlcHQgY29tbWVudHMgKGludHJvZHVjZWQgYnkgXDspIGluIGZzdGFiIC0gd2l0aGRyYXduIGFnYWluCisqIG1vdW50OiBhY2NlcHQgY29tbWVudHMgKHNwZWNpZmllZCBieSBjb21tZW50PSkgaW4gZnN0YWIKKyogbW91bnQ6IHN1cHBvcnQgb2Nmcywgb2NmczIKKyogW3VdbW91bnQ6IGJlIG1vcmUgY2FyZWZ1bCB3aXRoIG1hbGxvYywgdHJ5IHRvIGF2b2lkIE9PTSB3aXRoIG1hbnkgbW91bnRzCisqIHNmZGlzazogX19hdHRyaWJ1dGVfX3VzZWQgbm9uc2Vuc2UgdG8gc3VwcG9ydCBnY2MgMy40CisqIHNodXRkb3duOiBkbyBub3QgdW5tb3VudCB2YXJpb3VzIHZpcnR1YWwgZmlsZXN5c3RlbXMKKwordXRpbC1saW51eCAyLjEyYyxkCisKKyogbW91bnQuODogYWRkZWQgcmVjZW50IGV4dDIgbW91bnQgb3B0aW9ucworKiBtb3VudDogc3VwcG9ydCBqZnMgbW91bnQtYnktbGFiZWwsIGltcHJvdmUgcmVpc2VyZnMgc3VwcG9ydAorKiBzZmRpc2s6IHJlbW92ZSBzdHJhbmdlICJlbmRzIGluIGEgZGlnaXQiIGhldXJpc3RpYworKiAqZmRpc2s6IHVzZSBjb21tb24gZGlza3NpemUoKSByb3V0aW5lCisKK3V0aWwtbGludXggMi4xMmIKKworKiBjaHNoOiBpbXByb3ZlZCBlcnJvciBtZXNzYWdlCisqIGRtZXNnOiBhc2sga2VybmVsIHByb3BlciBidWZmZXIgc2l6ZQorKiBsb3NldHVwOiBoYW5kbGUgNjQtYml0IG9mZnNldHMKKyogYmxvY2tkZXY6IGFsc28gcmVwb3J0IEJMS0dFVFNJWkU2NCByZXN1bHQKKyogYmxvY2tkZXYsIGVsdnR1bmUsIGZkaXNrOiBoYW5kbGUgbmV3IGtlcm5lbCBfSU9SLF9JT1cgZGVmaW5lcworKiBmZGlzazogcmVtb3ZlIHN0cmFuZ2UgImVuZHMgaW4gYSBkaWdpdCIgaGV1cmlzdGljCisqIGZkaXNrOiBhbHNvIGxpc3QgU29sYXJpcyBhcyBwb3NzaWJsZSB0eXBlIGZvciAweDgyCisqIG1vdW50OiBhZGRlZCAtLXJiaW5kIG9wdGlvbgorKiBtb3VudDogdXNlIGJsa2lkLCB1dWlkIGxpYnJhcmllcyB3aGVuIGF2YWlsYWJsZQorKiBtb3VudDogc3VwcG9ydCByZWlzZXJmcyBtb3VudCBieSBsYWJlbAorKiBtb3VudDogYXR0ZW1wdCB0byB1c2UgdGhlIHJpZ2h0IGRlZmluaXRpb24gb2YgZGV2X3QgaW4gc3RydWN0IGxvb3BpbmZvCisqIG1vdW50Ljg6IGpmcyBtb3VudCBvcHRpb25zIGFkZGVkCisqIHJlYWRwcm9maWxlOiBuZXcgLXMgb3B0aW9uCisqIHJlbmFtZS4xOiBhZGRlZCByZWYgdG8gbW12LjEKKyogcmVwbGF5OiByZW5hbWVkIHRvIHNjcmlwdHJlcGxheTsgY29ycmVjdCB0eXBvcworKiBzY3JpcHQ6IGRvIG5vdCB1c2UgbG9jYWxlIGZvciB0aW1lIGRlbGF5IGZsb2F0aW5nIHBvaW50IG51bWJlciBmb3JtYXQKKyogc2ZkaXNrOiBlcnJvciBtZXNzYWdlcyB0byBzdGRlcnIKKyogTmV3IENhdGFsYW4sIER1dGNoLCBGaW5uaXNoLCBGcmVuY2gsIEdlcm1hbiwgU3BhbmlzaCwgU3dlZGlzaCwgVHVya2lzaCwKKyAgVWtyYWluaWFuIG1lc3NhZ2VzCisKK3V0aWwtbGludXggMi4xMmEKKworKiBjaGZuLCBjaHNoLCBsb2dpbiwgdmlwdzogU0VsaW51eCBzdXBwb3J0CisqIGZkaXNrOiBmaXggZm9yIGtlcm5lbHMgMi40LjE1LTIuNC4xNworKiBmZGlzazogZml4IHdoZW4gYWxsIHBhcnRpdGlvbnMgYXJlIGluIHVzZQorKiBod2Nsb2NrOiBhZGQgYSB0aW1lb3V0IHdoZW4gd2FpdGluZyBmb3IgYSBjbG9jayB1cGRhdGUgKEfDtnJhbiBXZWluaG9sdCkKKyogaXBjczogY29tcGlsYXRpb24gZml4CisqIGlwY3M6IHNobWluZm8uc2htYWxsIGdpdmVzIHBhZ2VzCisqIGxvZ2luOiB1c2UgZ2V0dXRsaW5lKCkgaW5zdGVhZCBvZiBnZXR1dGlkKCkKKyogbG9naW46IGZpeCBmb3IgNjQtYml0IHRpbWVfdAorKiBtb3VudDogZWZzIHN1cHBvcnQKKyogcGFydHg6IGJpZ2VuZGlhbiBmaXgKKyogcmVhZHByb2ZpbGU6IHN1cHBvcnQgZm9yIDY0LWJpdCBhZGRyZXNzZXMKKyogc2V0dGVybTogZml4IGtsb2djdGwgZXJyb3IgbWVzc2FnZSAoSm9lcm4gSGVpc3NsZXIpCisqIHNldHRlcm0uMTogY2xhcmlmaWNhdGlvbgorKiBzZmRpc2s6IGZpeCBjaGVjayBmb3IgaXNfaWRlX2Nkcm9tX29yX3RhcGUKKyogdW1vdW50OiBza2lwIHByb2MsIGRldmZzLCBkZXZwdHMgb24gdW1vdW50IC1hCisKK3V0aWwtbGludXggMi4xMgorCisqIGxvc2V0dXA6IGNyeXB0b2xvb3Agc3VwcG9ydAorKiBsb3NldHVwOiAtcCBvcHRpb24gc3BlY2lmaWVzIGZkIGZvciBwYXNzcGhyYXNlCisqIGZkaXNrOiBzZ2kgbGF5b3V0IGZpeAorKiBtb3VudDogLXAgb3B0aW9uIHNwZWNpZmllcyBmZCBmb3IgcGFzc3BocmFzZQorKiBtb3VudDogcmVjb2duaXplIHNvbWUgUENET1MgZmxvcHBpZXMKKyogdW1vdW50OiBpbiAidW1vdW50IG5hbWUiLCBmaXJzdCB0cnkgdG8gaW50ZXJwcmV0ICJuYW1lIiBhcyBhIG1vdW50IHBvaW50CisKK3V0aWwtbGludXggMi4xMnByZQorCisqIENhdGFsYW4gbWVzc2FnZXMgKEFudG9uaSBCZWxsYSBQw6lyZXopCisqIERhbmlzaCBtZXNzYWdlcyAoQ2xhdXMgSGluZHNnYXVsKQorKiBEdXRjaCBtZXNzYWdlcyAoVGFjbyBXaXR0ZSkKKyogRmlubmlzaCBtZXNzYWdlcyAoTGF1cmkgTnVybWkpCisqIEZyZW5jaCBtZXNzYWdlcyAoTWljaGVsIFJvYml0YWlsbGUpCisqIEdlcm1hbiBtZXNzYWdlcyAoTWljaGFlbCBQaWVmZWwpCisqIFNsb3ZlbmlhbiBtZXNzYWdlcyAoUHJpbW/FviBQZXRlcmxpbikKKyogU3BhbmlzaCBtZXNzYWdlcyAoU2FudGlhZ28gVmlsYSBEb25jZWwpCisqIFN3ZWRpc2ggbWVzc2FnZXMgKENocmlzdGlhbiBSb3NlKQorKiBUdXJraXNoIG1lc3NhZ2VzIChOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyKQorKiBjZmRpc2s6IGxvY2FsaXplIHRoZSBZL04gYW5zd2VyLCBpbXByb3ZlIHByaW50aW5nIGxvY2FsaXplZCBtZXNzYWdlcworKiBjZmRpc2s6IG1ha2UgdmFyaW91cyB2YXJpYWJsZXMgbG9uZyBsb25nIC0gc29tZSBkaXNrcyBhcmUgY2xvc2UgdG8gMiBUQgorKiBjZmRpc2s6IHVzZSBCTEtHRVRTSVpFNjQKKyogZmRpc2s6IG1ha2UgdmFyaW91cyB2YXJpYWJsZXMgdW5zaWduZWQgdG8gbGVuZ3RoZW4gdGhlIGxpZmUgb2YgMzItYml0IHZhcnMKKyogZmRpc2s6IHNvbWUgc2dpIGZpeGVzIChQaGlsbGlwIEtlc2xpbmcpCisqIGZkaXNrOiBrPTEwMDAsIEs9MTAyNAorKiBmZGlzazogcmVtb3ZlZCBsYXN0IG9jY3VycmVuY2VzIG9mIEhESU9fUkVRCisqIGZkaXNrOiB1c2UgQkxLR0VUU0laRTY0CisqIGh3Y2xvY2s6IGZpeCBydGMgdGVzdCAoSGVpa28gWnVlcmtlcikKKyogbG9naW46IHNldCBhIHRpbWVvdXQgb24gcHJpbnRpbmcgdGhlIHRpbWVvdXQgbWVzc2FnZSAoUm9iZXJ0IEFtYnJvc2UpCisqIG1kNTogeDg2XzY0IGZpeCAobW1qKQorKiBtb3JlOiBQT1NJWCBmaXhlcworKiBtb3VudDogZG8gbm90IHN1cHBseSBNU19NR0NfVkFMIHdoZW4gdGhlcmUgYXJlIGNvbmZsaWN0aW5nIGZsYWdzCisqIG1vdW50OiBuY3AgYW5kIHNtYiBhcmUgY2FsbGVkIHNtYmZzIGFuZCBuY3BmcyAtIGdsb2JhbCBjaGFuZ2UKKyogbW91bnQ6IGFkZCBzdXBwb3J0IGZvciB4dm0gbW91bnQgYnkgbGFiZWwgKEVyaWMgU2FuZGVlbikKKyogbW91bnQ6IGNvcnJlY3QgaGZzIG1hZ2ljIHJlY29nbml0aW9uCisqIG1vdW50OiBrZWVwIG9yaWdpbmFsIHVtYXNrIC0gaXQgaW5mbHVlbmNlcyB0aGUgbW91bnQgY2FsbCAobW1qKQorKiByYXcuODogZG9jdW1lbnRlZCB1bmJpbmRpbmcgb2YgcmF3IGRldmljZXMKKyogcmVhZHByb2ZpbGU6IGZpeGVkIG9mZi1ieSBlaWdodCBlcnJvciAoV2VybmVyIEFsbWVzYmVyZ2VyKQorKiBzY3JpcHQ6IGFkZCAtYyBvcHRpb24gKFdheW5lIERhdmlzb24pCisqIHNmZGlzay44OiBhZGRlZCBhbiBleGFtcGxlIG9mIHBhcnRpdGlvbmluZyB3aXRoIGxvZ2ljYWwgcGFydGl0aW9ucworKiBzZmRpc2s6IG9ubHkgYWRkIGEgQUE1NSBzaWduYXR1cmUgZm9yIERPUy10eXBlIHBhcnRpdGlvbiB0YWJsZXMKKyogdGFpbGY6IG5ldyAoUmlrIEZhaXRoKQorCit1dGlsLWxpbnV4IDIuMTF6CisKKyogQ2F0YWxhbiBtZXNzYWdlcyAoQW50b25pIEJlbGxhIFDDqXJleikKKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIER1dGNoIG1lc3NhZ2VzIChUYWNvIFdpdHRlKQorKiBGaW5uaXNoIG1lc3NhZ2VzIChMYXVyaSBOdXJtaSkKKyogRnJlbmNoIG1lc3NhZ2VzIChNaWNoZWwgUm9iaXRhaWxsZSkgLSBIVVJSQVkhCisqIEdlcm1hbiBtZXNzYWdlcyAoTWljaGFlbCBQaWVmZWwpCisqIFNsb3ZlbmlhbiBtZXNzYWdlcyAoUHJpbW/FviBQZXRlcmxpbikKKyogU3BhbmlzaCBtZXNzYWdlcyAoU2FudGlhZ28gVmlsYSBEb25jZWwpCisqIFN3ZWRpc2ggbWVzc2FnZXMgKENocmlzdGlhbiBSb3NlKQorKiBUdXJraXNoIG1lc3NhZ2VzIChOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyKQorKiBnZXRvcHQ6IHJlcGxhY2VkIGdldG9wdC0xLjEuMiBieSBnZXRvcHQtMS4xLjMgKEZyb2RvIExvb2lqYWFyZCkKKyogbWtjcmFtZnM6IGNoYW5nZSBkZWZhdWx0IGJsb2Nrc2l6ZSBmb3IgaWE2NCBhbmQgYWxwaGEKKyogbW9yZS5oZWxwOiByZW1vdmVkIChpdCBpcyBidWlsdC1pbiBub3csIGFuZCB0cmFuc2xhdGVkKQorKiBtb3VudDogYWRkIC1pIG9wdGlvbiAoaW5oaWJpdCBjYWxsaW5nIGV4dGVybmFsIG1vdW50IHByb2dyYW1zKQorKiBtb3VudDogY2hhbmdlIGRlZmF1bHQ6IGRvIHJlc29sdmUgc3ltbGlua3MKKyogcmVhZHByb2ZpbGU6IGxvb2sgZm9yIFN5c3RlbS5tYXAgYWxzbyBpbiAvYm9vdC9TeXN0ZW0ubWFwLWB1bmFtZSAtcmAgKG1taikKKyogc2ZkaXNrOiBhbHNvIHRyYW5zbGF0ZSAic3RhcnQiIGFuZCAiZW5kIjsgcy9NQi9NaUIvCisKK3V0aWwtbGludXggMi4xMXkKKworKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogRmlubmlzaCBtZXNzYWdlcyAoTGF1cmkgTnVybWkpCisqIEdlcm1hbiBtZXNzYWdlcyAoTWljaGFlbCBQaWVmZWwpCisqIFNwYW5pc2ggbWVzc2FnZXMgKFNhbnRpYWdvIFZpbGEgRG9uY2VsKQorKiBTd2VkaXNoIG1lc3NhZ2VzIChDaHJpc3RpYW4gUm9zZSkKKyogY2ZkaXNrOiBpbXByb3ZlIGVzY2FwZSBzZXEgcmVjb2duaXRpb24gd2hlbiBjb21waWxlZCB3aXRoIHNsYW5nCisqIGZkaXNrOiBkZWNpbWFsIHVuaXRzCisqIGh3Y2xvY2svcnRjLmM6IG1pbm9yIGNsZWFudXAgKEpvYWNoaW0gSGVua2UpCisqIGlwY3M6IGNvbXBpbGF0aW9uIGZpeAorKiBtb3JlOiBraWxsIGV4dGVybmFsIGhlbHAgZmlsZSAoSm9hY2hpbSBIZW5rZSkKKyogbW91bnQ6IGZpeCBMQUJFTD0gaGFuZGxpbmcgZm9yIHVzZXIgdW1vdW50CisqIG1vdW50OiBkb24ndCBhYm9ydCBvbiByZWFkIGVycm9yIG9uIHBob3RvY2RzIChHecO2cmd5IEvDtnZlc2RpKQorKiBtb3VudC44OiBhZGQgZG1hc2sgYW5kIGZtYXNrIHZmYXQgbW91bnQgb3B0aW9ucworKiBwZzogY29tcGlsYXRpb24gZml4IChKb2FjaGltIEhlbmtlKQorKiBzY3JpcHQ6IGxvY2FsaXplZCB0aW1lIHN0cmluZ3MgKEfDtnJhbiBVZGRlYm9yZykKKyogc2V0dGVybTogYWNjZXB0IGRldmZzIG5hbWUgKEpvYWNoaW0gSGVua2UpCisqIHNpbXBsZWluaXQ6IHNlY3VyaXR5OiByZWZ1c2UgaW5pdGN0bF9mZCBpZiBzZXR0aW5nIEZEX0NMT0VYRUMgZmFpbHMKKyogdW1vdW50OiBhbGxvdyB1c2VyIHVtb3VudCBhZnRlciBtb3VudCBieSBsYWJlbCBvciB1dWlkCisKK3V0aWwtbGludXggMi4xMXgKKworKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogRHV0Y2ggbWVzc2FnZXMgKFRhY28gV2l0dGUpCisqIEZpbm5pc2ggbWVzc2FnZXMgKExhdXJpIE51cm1pKQorKiBHZXJtYW4gbWVzc2FnZXMgKE1pY2hhZWwgUGllZmVsKQorKiBTd2VkaXNoIG1lc3NhZ2VzIChDaHJpc3RpYW4gUm9zZSkKKyogVHVya2lzaCBtZXNzYWdlcyAoTmlsZ8O8biBCZWxtYSBCdWfDvG5lcikKKyogY2ZkaXNrOiBjb3JyZWN0IGVycm9yIHByaW50b3V0CisqIGZkaXNrOiBhbGxvdyBhZGRpdGlvbiBvZiBhIG5ldyBwYXJ0aXRpb24gd2hlbiBsb2dpY2FscyBhbGwgdXNlZAorICBidXQgcHJpbWFyeSBmcmVlCisqIGh3Y2xvY2s6IGRldGVjdCBzeXN0aW1lIGp1bXBzIGJhY2t3YXJkIGR1cmluZyBzZXR0aW5nIGh3Y2xvY2sKKyogbWtmcy5jcmFtZnM6IGRvIG5vdCBtbWFwIGFsbCBmaWxlcyBzaW11bHRhbmVvdXNseQorKiBta2ZzLmNyYW1mczogbWFrZSBibG9ja3NpemUgc2V0dGFibGUKKyogbWtmcy5taW5peDogY29ycmVjdCBlcnJvciBwcmludG91dAorKiBta3N3YXAuODogbm93IG1heCAzMiBzd2Fwc3BhY2VzCisqIG1vdW50OiBuZXcgLS1yYmluZCBmbGFnLCBmb3IgcmVjdXJzaXZlIGxvb3BiYWNrIG1vdW50cworKiBtb3VudCwgdW1vdW50OiBuZXcgLU8gb3B0aW9uIChNaWNoYWVsIEsuIEpvaG5zb24pCisqIG1vdW50Ljg6IC1PIGFuZCB3aW45NSBvcHRpb25zIGRvY3VtZW50ZWQKKyogc2V0cHduYW0uYzogb3BlbiB0ZW1wIHB3IGZpbGUgd2l0aCBPX0VYQ0wKKyogc2ltcGxlaW5pdDogZml4IGZvciAic3Bhd24gdG9vIGZhc3QiIChEZW5pcyBWbGFzZW5rbykKKyogc3dhcG9uOiBuZXcgLWUgb3B0aW9uIChFcmlrIFRyb2FuKQorCit1dGlsLWxpbnV4IDIuMTF3CisKKyogY2ZkaXNrLCBmZGlzazogYWxsb3cgc2xpZ2h0bHkgbGFyZ2VyIGRpc2sgc2l6ZXMKKyogZmRpc2s6IE1ha2VmaWxlOiBhbHNvIGZvciBtNjggKHN1bjMpIChLYWotTWljaGFlbCBMYW5nKQorKiBmZGlzazogYWxsb3cgdG8gdXNlIHRoZSBsYXN0IHBhcnRpYWwgY3lsaW5kZXIsIGNoYW5nZSBkaXNwbGF5IGZvcm1hdAorKiBmZGlzazogZG8gbm90IGFzayBwYXJ0aXRpb24gbnVtYmVyIGluIGNhc2UgdGhlcmUgaXMgb25seSBvbmUgY2hvaWNlCisqIGZkaXNrOiBuZXcgc3VubGFiZWwgZml4CisqIGxvZ2luOiBmaXggcG9zc2libGUgbG9jYWwgcm9vdCBleHBsb2l0IChXb2pjaWVjaCBQdXJjennFhHNraSkKKyogbW9yZTogYmlnZW5kaWFuIGZpeAorCit1dGlsLWxpbnV4IDIuMTF2CisKKyogQ2F0YWxhbiBtZXNzYWdlcyAoQW50b25pIEJlbGxhIFDDqXJleikKKyogRmlubmlzaCBtZXNzYWdlcyAoTGF1cmkgTnVybWkpCisqIFZlcnkgZmV3IFJ1c3NpYW4gbWVzc2FnZXMgKHBhbml2YW5AeWFuZGV4LnJ1KQorKiBTbG92ZW5pYW4gbWVzc2FnZXMgKFByaW1vxb4gUGV0ZXJsaW4pCisqIFNwYW5pc2ggbWVzc2FnZXMgKFNhbnRpYWdvIFZpbGEgRG9uY2VsKQorKiBTd2VkaXNoIG1lc3NhZ2VzIChDaHJpc3RpYW4gUm9zZSkKKyogVHVya2lzaCBtZXNzYWdlcyAoTmlsZ8O8biBCZWxtYSBCdWfDvG5lcikKKyogZmRpc2s6IGFkZCAtQywgLUgsIC1TIGNvbW1hbmQgbGluZSBvcHRpb25zCisqIGZkaXNrOiBhbGxvdyBjaGFuZ2luZyB0eXBlIDAKKyogbWtzd2FwOiBlbmFibGUgdXNlIG9mID4gMkdCIHN3YXBzcGFjZQorKiBtb3JlOiB0cmFuc2xhdGlvbiBmaXgKKyogbW91bnQ6IHNldCB1bWFzayAoU2ViYXN0aWFuIEtyYWhtZXIpCisqIG1vdW50OiB0ZXN0IGJvdGggbGUgYW5kIGJlIHZlcnNpb24gb2YgY3JhbWZzIG1hZ2ljIChPbGFmIEhlcmluZykKKyogbW91bnQ6IHJlY29nbml6ZSBPcmFjbGUgbWFnaWMKKyogcGc6IHVzZSBmc2Vla282NCBhbmQgZnRlbGxvNjQgd2hlbiBhdmFpbGFibGUKKwordXRpbC1saW51eCAyLjExdQorCisqIERhbmlzaCBtZXNzYWdlcyAoQ2xhdXMgSGluZHNnYXVsKQorKiBHZXJtYW4gbWVzc2FnZXMgKE1pY2hhZWwgUGllZmVsKQorKiBTcGFuaXNoIG1lc3NhZ2VzIChTYW50aWFnbyBWaWxhIERvbmNlbCkKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIFR1cmtpc2ggbWVzc2FnZXMgKE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIpCisqIGNvbmZpZ3VyZTogZm9yIGZzY2suY3JhbWZzLCBta2ZzLmNyYW1mczogYWRkIHRlc3QgZm9yIGxpYnoKKyogdGV4dC11dGlscy9NYWtlZmlsZTogcGcgZml4IChUb29tYXMgUm9zaW4pCisqIHBvL01ha2VmaWxlOiB0eXBvIGZpeCAoU2lsdmFuIE1pbmdoZXR0aSkKKyogYWdldHR5OiB1c2Ugc2FtZSB0ZXN0IGFzIGxvZ2luIGRvZXMgdG8gZmluZCB1dG1wIGVudHJ5CisqIGZkaXNrOiBmaXggZm9yIGZkaXNrIG9uIGVtcHR5IGRpc2sgKE1pY2hhZWwgRC4gQmxhY2spCisqIGh3Y2xvY2s6IGNvbXBpbGF0aW9uIGZpeCBvbiBhbHBoYQorKiBtb3VudDogYWRkIG1vdW50IGJ5IGxhYmVsIGZvciBqZnMgKENocmlzdG9waCBIZWxsd2lnKQorKiBtb3VudDogYWRkIG1vdW50IGJ5IGxhYmVsIGZvciBldm1zIChMdWNpYW5vIENoYXZleikKKyogbW91bnQ6IGFsbG93IHJlZ3VsYXIgZmlsZXMgd2hlbiBndWVzc2luZyAoTWljaGFsIFN2ZWMpCisqIHBhcnR4L2dwdC5jOiBmaXggc2l6ZSBjb21wdXRhdGlvbiAoTWF0dCBEb21zY2gpCisqIHJlYWRwcm9maWxlOiBuZXcgb3B0aW9uIC1iIChEYXZpZCBNb3NiZXJnZXIpCisqIHVtb3VudDogZG9uJ3QgdW1vdW50IGRldmZzIHVwb24gdW1vdW50IC1hIChEYXZpZCBHaWxiZXJ0KQorCit1dGlsLWxpbnV4IDIuMTF0CisKKyogZmRmb3JtYXQ6IHJlbW92ZSB0ZXN0IG9uIG1ham9yCisqIGZzY2suY3JhbWZzOiBhZGRlZCBOTFMKKyogZmRpc2s6IGZpeCBkZXZpY2UgbmFtZXMgd2l0aCBzdW5kaXNrbGFiZWxzIHVuZGVyIGRldmZzIChLYWotTWljaGFlbCBMYW5nKQorKiBmZGlzazogbWlub3IgcG9saXNoaW5nCisqIGh3Y2xvY2s6IGFsc28gaGFuZGxlIEVOT1RUWSBpb2N0bCByZXR1cm4gKE1hY2llaiBXLiBSb3p5Y2tpKQorKiBod2Nsb2NrOiBtaW5vciBwb2xpc2hpbmcKKyogaXBjcm0uODogbWlub3IgcG9saXNoaW5nCisqIG1rZnMuY3JhbWZzOiBhZGRlZCBOTFMKKyogbWtmcy5jcmFtZnM6IGFkZGVkIC12ICh2ZXJib3NlKSBvcHRpb24sIGFuZCBtYWRlIGRlZmF1bHQgc2lsZW50CisqIG1vdW50OiBwYXRjaCBmb3IgbWFrZSAtaiAoUmVkSGF0KQorKiBzd2Fwb2ZmOiBtaW5vciBwb2xpc2hpbmcKKwordXRpbC1saW51eCAyLjExcworCisqIEVzdG9uaWFuIG1lc3NhZ2VzIChNZWVsaXMgUm9vcykKKyogRnJlbmNoIG1lc3NhZ2VzOiBzb21lIG1pbm9yIGNvcnJlY3Rpb25zCisqIEdlcm1hbiBtZXNzYWdlcyAoTWljaGFlbCBQaWVmZWwpCisqIFNwYW5pc2ggbWVzc2FnZXMgKFNhbnRpYWdvIFZpbGEgRG9uY2VsKQorKiBTd2VkaXNoIG1lc3NhZ2VzIChDaHJpc3RpYW4gUm9zZSkKKyogVHVya2lzaCBtZXNzYWdlcyAoTmlsZ8O8biBCZWxtYSBCdWfDvG5lcikKKyogTUNPTkZJRzogYWxsb3cgIm1ha2UgRElTQUJMRV9OTFM9eWVzIDx0YXJnZXQ+IiAoUGV0ZXIgQnJlaXRlbmxvaG5lcikKKyogY29uZmlndXJlOiBkb24ndCBydW4gLi9jb25mdGVzdCAtIGJldHRlciBmb3IgY3Jvc3MtY29tcGlsYXRpb24gKE1hZ251cyBEYW1tKQorKiBmZGlzazogZml4ZXMgZm9yIGRpc2tzIHdpdGggT1NGLzEgbGFiZWwKKyogZnNjay5jcmFtZnM6IG5ldyAoZnJvbSBrZXJuZWwgc291cmNlKQorKiBod2Nsb2NrOiBpbXByb3ZlZCBhZGp0aW1lIGhhbmRsaW5nIChKYW1lcyBQLiBSdXRsZWRnZSkKKyogaHdjbG9jazogcmVtb3ZlIHNoaG9wdHMgc3R1ZmYKKyogaXBjczogcmVtb3ZlIHVudXNlZCBoZWFkaW5nIChNaWNoYWVsIEtlcnJpc2spCisqIGxpbmU6IHJlcGxhY2UgYnkgQyB2ZXJzaW9uIC0gdGhlIHNoIHZlcnNpb24gd2FzIGJyb2tlbiAoR3VubmFyIFJpdHRlcikKKyogbG9naW46IGRlZmF1bHQgcm9vdCBwYXRoOiBhZGRlZCAvdXNyL2xvY2FsL1tzXWJpbiAoUmVkSGF0KQorKiBta2ZzLmNyYW1mczogbmV3IChmcm9tIGtlcm5lbCBzb3VyY2UpCisqIG1vdW50OiB3aGVuIG5vIHR5cGUgaXMga25vd24sIGFzc3VtZSB0aGF0IHByZWZpeCAvLyBpbXBsaWVzIHNhbWJhIChSZWRIYXQpCisqIG1vdW50IC1hOiBhdm9pZCBzdGF0IG9uIGRldmljZXMgdGhhdCBoYXZlIG5vYXV0byBvcHRpb24gKEplcm9lbiBNb3N0ZXJ0KQorKiBtb3VudCBieSBsYWJlbDogaWdub3JlIFJBSUQgcGFydGl0aW9ucyAoUmVkSGF0KQorKiBbdV1tb3VudDogZnN0YWIuYyBmaXggKGVqYkBxbC5vcmcpCisqIHBnOiBuZXcgKEd1bm5hciBSaXR0ZXIpCisqIHNmZGlzazogc21hbGwgQlNEIHBhcnRpdGlvbiBmaXgKKyogc3dhcG9mZiAtYTogYWxzbyBkbyBzd2Fwb2ZmIG9uIGFsbCBmaWxlcyBmb3VuZCBpbiAvcHJvYy9zd2FwcworKiBzd2Fwb24gLWE6IHNraXAgZmlsZXMgYWxyZWFkeSBmb3VuZCBpbiAvcHJvYy9zd2FwcworCit1dGlsLWxpbnV4IDIuMTFyCisKKyogRXN0b25pYW4gbWVzc2FnZXMgKE1lZWxpcyBSb29zKQorKiBHZXJtYW4gbWVzc2FnZXMgKE1pY2hhZWwgUGllZmVsKQorKiBTcGFuaXNoIG1lc3NhZ2VzIChTYW50aWFnbyBWaWxhIERvbmNlbCkKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIFR1cmtpc2ggbWVzc2FnZXMgKE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIpCisqIE1DT05GSUc6IG1vdmUgJChDRkxBR1MpIHRvIHRoZSBlbmQgdG8gYWxsb3cgb3ZlcnJpZGVzIChLZXZpbiBQLiBGbGVtaW5nKQorKiBjYWw6IHRpbnkgZml4IChNaXRzdXJ1IENoaW5lbikKKyogZmRpc2s6IGF2b2lkIDxsaW51eC9oZHJlZy5oPgorKiBmZGlzazogeDg2XzY0IHBhdGNoIChNYWRzIE1hcnRpbiBKw7hyZ2Vuc2VuKQorKiBod2Nsb2NrLjg6IHpvbmVpbmZvIGlzIG5vdyBpbiAvdXNyL3NoYXJlCisqIG1rc3dhcDogcmVwb3J0IGluIEtpQiBpbnN0ZWFkIG9mIGJ5dGVzLgorCit1dGlsLWxpbnV4IDIuMTFxCisKKyogZmRpc2s6IGdlb21ldHJ5IGltcHJvdmVtZW50CisqIGxvZ2luOiBvcGVuIHR0eSBmaXggKERlbmlzIFZsYXNlbmtvKQorKiBtb3JlOiB3aWRlIGNoYXJhY3RlciBwYXRjaGVzIChNaXRzdXJ1IENoaW5lbikKKyogbW91bnQ6IGNvbXBsYWluIG9uIG1vdW50LWJ5LWxhYmVsIHdoZW4gbGFiZWwgaXMgbm90IHVuaXF1ZSAoTWF0dCBDb3BwaW5nKQorKiBwYXJ0eDogYWRkIEdVSUQgUGFydGl0aW9uIFRhYmxlcyAoTWF0dCBEb21zY2gpCisKK3V0aWwtbGludXggMi4xMXAKKworKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogR2VybWFuIG1lc3NhZ2VzIChLYXJsIEVpY2h3YWxkZXIpCisqIFNwYW5pc2ggbWVzc2FnZXMgKFNhbnRpYWdvIFZpbGEgRG9uY2VsKQorKiBTd2VkaXNoIG1lc3NhZ2VzIChDaHJpc3RpYW4gUm9zZSkKKyogVHVya2lzaCBtZXNzYWdlcyAoTmlsZ8O8biBCZWxtYSBCdWfDvG5lcikKKyogaXBjcm06IG1ha2UgUE9TSVggY29tcGF0aWJsZSAoQW5kcmUgQ29yd2luIE1henpvbmUpCisqIGlwY3JtLjg6IGlkZW0KKyoga2lsbDogZml4ZWQgTWFrZWZpbGUKKyogbG9naW46IHNldHNpZCBmaXhlcworKiBta3N3YXA6IG1heCBzaXplIG9mIHN3YXAgc3BhY2UgaXMgdmVyeSBsYXJnZSAoUGV0ZXIgQ2h1YmIpCisqIG1vdW50OiBKRlMgc3VwcG9ydCBmb3IgbW91bnQtYnktbGFiZWwgKGhjaCkKKyogbmZzbW91bnQ6IGNoZWNrIGZvciA8cnBjc3ZjL25mc19wcm90Lmg+IChoY2gpCisqIHJlYWRwcm9maWxlOiBrZWVwIHRyYWNrIG9mIGxpbmUgbnVtYmVycyAoSm9obiBMZXZvbikKKyogdW1vdW50OiBmaXggZm9yIE1OVF9ERVRBQ0gKKwordXRpbC1saW51eCAyLjExbworCisqIEVzdG9uaWFuIG1lc3NhZ2VzIChNZWVsaXMgUm9vcykKKyogSmFwYW5lc2UgbWVzc2FnZXMgKERhaXN1a2UgWWFtYXNoaXRhKQorKiBTcGFuaXNoIG1lc3NhZ2VzIChTYW50aWFnbyBWaWxhIERvbmNlbCkKKyogY2FsOiBvcHRpb24gLXM6IFN1bmRheSBpcyBmaXJzdCBkYXkgb2YgdGhlIHdlZWsKKyogY2FsLjE6IHVwZGF0ZWQKKyogY2ZkaXNrOiBnaXZlIG5vdCBvbmx5IGJ5dGVzIGJ1dCBhbHNvIE1CIG9yIEdCIGZvciBjbGFyaXR5LgorKiBjb2xybTogd2lkZSBjaGFyYWN0ZXIgZml4IChFbGxpb3QgTGVlKQorKiAqZmRpc2s6IGFkZGVkIERhcndpbiB0eXBlcyAoVmluY2VudCBCb3VyZ29uamVuKQorKiBmc3RhYi41OiB1cGRhdGVkCisqIGhleGR1bXA6IC1DIG9wdGlvbgorKiBod2Nsb2NrOiBjbW9zLmM6IGRvIG5vdCBpbmNsdWRlIDxhc20vaW8uaD4gb24gYWxwaGEKKyogbW91bnQ6IGltcHJvdmVkIGRldGVjdGlvbiBvZiB1ZnMgKGFuZCBzbG93ZG93biBvZiBkZXRlY3Rpb24gb2YgaXNvOTY2MCkKKyogbW91bnQuODogYWRkZWQgaW5mbyBvbiAqIGluIC9ldGMvZmlsZXN5c3RlbXMsIHNob3J0bmFtZSBvcHRpb24gb2YgdmZhdCwKKyAgbW91bnQgLS1tb3ZlLCB1ZGYsIHJldHVybiBjb2RlcworKiByYXc6IHRyeSAvZGV2L3Jhdy9yYXdjdGwgd2hlbiAvZGV2L3Jhd2N0bCBmYWlscyAoVGhpZXJyeSBWaWduYXVkKQorKiByYy5zZXJpYWw6IHJlbW92ZWQgLSBzZXRzZXJpYWwgaXMgbm8gbG9uZ2VyIGluIHV0aWwtbGludXggKGtyb21KeCkKKyogUkVBRE1FLmFkbXV0aWw6IHJlbW92ZWQgLSBvbmx5IG9mIGhpc3RvcmljYWwgaW50ZXJlc3QKKyogUkVBRE1FLmJvb3R1dGlscy0wLjE6IHJlbW92ZWQgLSBvbmx5IG9mIGhpc3RvcmljYWwgaW50ZXJlc3QKKyogc2NyaXB0OiBzZWN1cml0eSBmaXgKKyogc2ZkaXNrOiBpbXByb3ZlZCBnZW9tZXRyeSBkZXRlY3Rpb247IHdpZGVyIGNvbHVtbnM7IGRlZmF1bHQgZGlza3MgZnJvbQorICAvcHJvYy9wYXJ0aXRpb25zCisqIHVtb3VudDogcGVybWlzc2lvbiB0ZXN0IG93bmVyIHVtb3VudAorKiB3YWxsLjE6IGFkZGVkIHN1aWQgcmVzdHJpY3Rpb24KKwordXRpbC1saW51eCAyLjExbgorCisqIERhbmlzaCBtZXNzYWdlcyAoQ2xhdXMgSGluZHNnYXVsKQorKiBHZXJtYW4gbWVzc2FnZXMgKEthcmwgRWljaHdhbGRlcikKKyogU3dlZGlzaCBtZXNzYWdlcyAoQ2hyaXN0aWFuIFJvc2UpCisqIFR1cmtpc2ggbWVzc2FnZXMgbm93IGluIFVURi04IChOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyKQorKiBibG9ja2RldjogYWRkIC0tcmVwb3J0IG9wdGlvbgorKiBjYWw6IGZpeCBmb3Igd2lkZSBtdWx0aWJ5dGUtY2hhciAoTW90b25vYnUgSWNoaW11cmEpCisqIGNmZGlzazogcmVjb2duaXplIGV4dDMgYW5kIHJlaXNlcmZzIChGbGF2aW8gU3RhbmNoaW5hKQorKiBmc2NrLm1pbml4OiBpMThuIGNoYW5nZXMKKyogaXBjLntpbmZvLHRleGl9OiBtaW5vciBjb3JyZWN0aW9uCisqIGxvZ2luOiBjb21waWxhdGlvbiBmaXggKEphcm9zbGF3IEouIFB5c3pueSkKKyogbW91bnQuODogdG1wZnMgbW91bnQgb3B0aW9ucyAoS2FybCBFaWNod2FsZGVyKQorKiBtb3VudDogcmVjb2duaXplIG1pbml4IHYyCisqIG1vdW50OiBzdXBwb3J0IG1vdW50LWJ5LWxhYmVsIGFsc28gZm9yIGx2bSAoS2lyYnkgQm9obGluZykKKyogbW91bnQ6IG9yZGVyIGd1ZXNzaW5nIG9mIGZzdHlwZXMgYWNjb3JkaW5nIHRvIHNlZWsgb2Zmc2V0CisqIHBpdm90X3Jvb3Q6IGNvbXBpbGF0aW9uIGZpeCBmb3IgaWE2NAorKiByZWFkcHJvZmlsZTogYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvbiAoV2VybmVyIEFsbWVzYmVyZ2VyKQorCit1dGlsLWxpbnV4IDIuMTFtCisKKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIEdlcm1hbiBtZXNzYWdlcyAoS2FybCBFaWNod2FsZGVyKQorKiBTd2VkaXNoIG1lc3NhZ2VzIChDaHJpc3RpYW4gUm9zZSkKKyogVHVya2lzaCBtZXNzYWdlcyAoTmlsZ8O8biBCZWxtYSBCdWfDvG5lcikKKyogZmRpc2s6IGFkZGVkIG5ldGJzZCB0eXBlIChTdGV2ZW4gSi4gSGlsbCkKKyogbW9yZTogZml4IGZvciB1bnNpZ25lZCBjaGFyIChSdXN0eSBSdXNzZWxsKQorKiBtb3VudDogYWRkZWQgc3lzdiBtYWdpYyAoVGltIExhdW5jaGJ1cnkpCisqIHNldHRlcm06IGZpeGVkICJzZXR0ZXJtIC1mb3JlZ3JvdW5kIGRlZmF1bHQiCisKK3V0aWwtbGludXggMi4xMWwKKworKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogYmFubmVyOiByZW1vdmVkIC0gaXQgaXMgaW4gYnNkZ2FtZXMKKyogZmRpc2s6IHNob3cgcGFydGl0aW9ucyB3aXRoIGVtcHR5IHR5cGUgYnV0IHNvbWUgb3RoZXIgbm9uemVybyBmaWVsZAorKiBsb2dpbjogY29weSB0aGUgc3RhdGljIHN0cnVjdCB0aGF0IGdldHB3bmFtKCkgcmV0dXJucyBiZWZvcmUgY2FsbGluZworICBQQU0gcm91dGluZXMgdGhhdCBtaWdodCB0aGVtc2VsdmVzIHVzZSBnZXRwd25hbSgpLiBBYm9ydCBvbiBwcm9ibGVtcy4KKyAgKE9sYWYgS2lyY2gpCisqIG1vdW50OiBhZGRlZCBqZnMgbWFnaWMgKENocmlzdG9waCBIZWxsd2lnKQorKiByZW5pY2U6IHJlcG9ydCB0aGUgY29ycmVjdCBuZXcgcHJpb3JpdHkgYWZ0ZXIgYSBzZXRwcmlvcml0eSgpCisqIHVtb3VudDogYWRkIGxhenkgdW5tb3VudCAoQ2hyaXN0b3BoIEhlbGx3aWcpCisKK3V0aWwtbGludXggMi4xMWsKKworICBWYXJpb3VzIHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3dzIHdlcmUgcG9pbnRlZCBvdXQgYnkgYXdheXp6ekBkaWdpYmVsLm9yZy4KKyAgRml4ZXMgaW4gYWdldHR5LCBod2Nsb2NrLCBuYW1laSwgcmVhZHByb2ZpbGUsIHNpbXBsZWluaXQsIHZpcHcuCisgIChBbHNvIGFkZGVkIGEgZmV3IFtmXWNsb3NlKCkgY2FsbHMgLSBlbnRpcmVseSBzdXBlcmZsdW91c2x5LikKKworKiBhZ2V0dHk6IGF2b2lkIHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdworKiBjZmRpc2s6IHJlY29nbml6ZSB4ZnMgKE5hdGhhbiBTY290dCkKKyogY3l0dW5lOiBhZGRlZCBjbG9zZSgpCisqIGZkZm9ybWF0OiBhZGRlZCBjbG9zZSgpCisqIGZkaXNrOiBhZGRlZCBmY2xvc2UoKQorKiBod2Nsb2NrOiBhdm9pZCBwb3NzaWJsZSBidWZmZXIgb3ZlcmZsb3cKKyogbWtmcy5taW5peDogYWRkZWQgZmNsb3NlKCkKKyogbW91bnQ6IHJlbW92ZSB0aGUgYXNzdW1wdGlvbiB0aGF0IDYzNSBpcyB0aGUgZGVmYXVsdCBtb3VudCBwb3J0CisqIG5hbWVpOiBhdm9pZCBwb3NzaWJsZSBidWZmZXIgb3ZlcmZsb3cKKyogcmRldjogYWRkZWQgY2xvc2VkaXIoKQorKiByZWFkcHJvZmlsZTogYXZvaWQgcG9zc2libGUgYnVmZmVyIG92ZXJmbG93CisqIHNmZGlzazogYWRkZWQgZmNsb3NlKCkKKyogc2ltcGxlaW5pdDogYXZvaWQgcG9zc2libGUgYnVmZmVyIG92ZXJmbG93CisqIHN3YXBvbjogYWRkZWQgZmNsb3NlKCkKKyogdW1vdW50OiB1c2UgdGNwIHdoZW4gbW91bnQgd2FzIGRvbmUgdXNpbmcgdGNwIChKYW1lcyBEIFN0cmFuZGJvZ2UpCisqIHZpcHc6IGF2b2lkIHBvc3NpYmxlIGJ1ZmZlciBvdmVyZmxvdworCit1dGlsLWxpbnV4IDIuMTFqCisKKyogZmRpc2s6IGZpeCBmb3IgQUlYIGxhYmVsIChPbGFmIEhlcmluZykKKyogZmRpc2s6IGZpeCBmb3IgY3JlYXRpbmcgRE9TIGxhYmVsIHdoZW4gQlNEIGxhYmVsIGlzIHByZXNlbnQKKyogbW91bnQuODogYWRkZWQgcmVtYXJrIGFib3V0IGJsb2Nrc2l6ZSB0byBleHQyIHNiPSBtb3VudCBvcHRpb24gZGVzY3JpcHRpb24uCisqIHBhcnRpdGlvbnR5cGU6IG5ldywgbm90IGluc3RhbGxlZAorCit1dGlsLWxpbnV4IDIuMTFpCisKKyogdGVzdGluY2w6IGRvIG5vdCBydW4gY29uZnRlc3QgKEJyaWFuIE11cnBoeSkKKyogYmxvY2tkZXY6IGNvcnJlY3RlZCBpb2N0bCBudW1iZXJzIG5vdyB0aGF0IEJMS0JTWkdFVCBpcyBpbiAyLjQuMTBwcmUzCisqIGNhbDogZml4ZWQgZm9yIEh1bmdhcmlhbiBsb2NhbGUKKyogY2FsOiBmaXhlZCBmb3IgbXVsdGlieXRlIGxvY2FsZXMgKFBhYmxvIFNhcmF0eGFnYSkKKyogZmRpc2s6IGF2b2lkIHN1cGVyZmx1b3VzIHdhcm5pbmcgYWJvdXQgRE9TIHBhcnRpdGlvbnMKKyogbGluZTogbmV3LCB0byBzdXBwb3J0IFNDTyBzaGVsbCBzY3JpcHRzIChDaHJpc3RvcGggSGVsbHdpZykKKyogbW91bnQ6IGFkZGVkIHZ4ZnMgbWFnaWMKKyogcGFzc3dkOiB0aW55IGZpeCBmb3IgQVJNIChLZW4gQ294KQorKiByZXBsYXk6IHJlcGxheSB0eXBlc2NyaXB0IHdpdGggdGltaW5ncyAoSm9leSBIZXNzKQorKiBzY3JpcHQ6IGFkZCAtdCBmbGFnIGZvciB0aW1pbmcgKEpvZXkgSGVzcykKKwordXRpbC1saW51eCAyLjExaAorCisqIFR1cmtpc2ggbWVzc2FnZXMgKE5pbGfDvG4gQmVsbWEgQnVnw7xuZXIpCisqIERhbmlzaCBtZXNzYWdlcyAoQ2xhdXMgSGluZHNnYXVsKQorKiBiYW5uZXI6IG1pbm9yIGZpeCAoYXdheXp6ekBkaWdpYmVsLm9yZykKKyogbWtmcy5taW5peDogbWluaXggdjIgZml4CisqIG1vcmUuMTogaW1wcm92ZWQgKEVkd2FyZCBCZXR0cykKKyogbW91bnQuODogY29ycmVjdGVkIGRlc2NyaXB0aW9uIG9mIHRoZSBud2ZzIHVuaV94bGF0ZSBtb3VudCBvcHRpb24KKyogdmlwdzogbWFrZSB0ZW1wIGZpbGVzIG9mIG1vZGUgMDYwMCAoQmlsbCBOb3R0aW5naGFtKQorKiB3YWxsOiBhdm9pZCB3cml0aW5nIHRvIC9kZXYvOjAKKwordXRpbC1saW51eCAyLjExZworCisqIE1DT05GSUcgJiBjb25maWd1cmU6IGZpeCBmb3IgZ2NjIDMuMAorICBOb3RlIHRoYXQgbmZzbW91bnRfeGRyLmMgbWF5IGdpdmUgd2FybmluZ3Mgd2l0aCBnY2MgMy4wLCBlc3NlbnRpYWxseQorICBiZWNhdXNlIG9mIGRlZmluZXMgaW4gPHJwYy94ZHIuaD4gdGhhdCB1c2UgdGhpbmdzIGxpa2UgbnRvaGwoKmJ1ZisrKQorICB3aGVyZSBudG9obCh4KSBpcyBhIG1hY3JvIHdpdGggc2V2ZXJhbCBvY2N1cnJlbmNlcyBvZiB4LgorKiBibG9ja2Rldjogc3VwcG9ydCBmb3IgdGhlIGdldC9zZXQgYmxvY2tzaXplIGlvY3RscworICBbbm90IHlldCBpbiB0aGUgMi40LjUga2VybmVsXQorKiBmZGlzazogYWRkZWQgTGludXgvUEEtUklTQyB0eXBlIChNYXR0IFRhZ2dhcnQpCisqIG1vdW50OiBtaW5vciBmaXggKEFuZHJleSBKLiBNZWxuaWtvZmYpCisqIG1vdW50OiBhZGRlZCBzb21lIGV4dDMgc3R1ZmYgKEFuZHJldyBNb3J0b24pCisqIG1vdW50OiBhZGRlZCBoZXVyaXN0aWNzIGZvciByZWlzZXJmcyAoQW5kcmV3IE1vcnRvbikKKyogbW91bnQuODogYWRkZWQgZXh0MyBhbmQgcmVpc2VyZnMgZG9jcyAoQW5kcmV3IE1vcnRvbikKKwordXRpbC1saW51eCAyLjExZgorCisqIEN6ZWNoIG1lc3NhZ2VzIChKacWZw60gUGF2bG92c2vDvSkKKyogZmRpc2s6IGZpeCBmb3IgInJlb3JkZXIiIGV4cGVydCBjb21tYW5kCisgICh1c2Ugb2Ygc2ZkaXNrIGFmdGVyd2FyZHMgaXMgc3RpbGwgcmVjb21tZW5kZWQpCisqIG1vdW50OiBtaW5vciBmaXhlcworCit1dGlsLWxpbnV4IDIuMTFlCisKKyogRGFuaXNoIG1lc3NhZ2VzIChDbGF1cyBIaW5kc2dhdWwpCisqIEJyYXppbGlhbiBQb3J0dWd1ZXNlIG1lc3NhZ2VzIChSb2RyaWdvIFN0dWx6ZXIgTG9wZXMpCisqIGFnZXR0eTogZ2l2ZSB0dHkgbW9kZSAwNjAwIGluc3RlYWQgb2YgMDYyMgorKiBjYWw6IGltcHJvdmVkIG1hbnBhZ2UKKyogY2ZkaXNrOiBhZGQgdXNlci1mcmllbmRsaW5lc3MgaW4gY2FzZSBvZiBlbXB0eSBkaXNrIChNYXR0aGV3IFdpbGNveCkKKyogZG1lc2c6IGltcHJvdmVkIG1hbnBhZ2UKKyogZmRpc2s6IFN1cGVySCBmaXggKElTSElLQVdBIE11dHN1bWkpCisqIGh3Y2xvY2s6IGFjY2VwdCBhbHBoYSBvcHRpb25zIGluIGJvdGggdXBwZXIgYW5kIGxvd2VyIGNhc2UKKyAgKHNvIGFzIHRvIG1ha2UgdGhlIG1hbiBwYWdlIGNvcnJlY3QpCisqIGh3Y2xvY2s6IGFkZCBvcHRpb24gLS1ub2FkanRpbWUgKEhlbnJpcXVlIE0uIEhvbHNjaHVoKQorKiBsb2dpbjogY2hpbGQgbXVzdCBoYXZlIGNvbnRyb2xsaW5nIHR0eSAoTWljaGHFgiBNb3NrYWwpCisqIG1vcmU6IGRvbid0IHNlZWsgdW5zZWVrYWJsZSBpbnB1dCAoRGF2aWQgV2hlZG9uKQorKiBtb3VudDogdXBvbiByZXF1ZXN0IGJ5IFJpY2hhcmQgR29vY2g6IGlmIHRoZSBtb3VudCBwb2ludCBpcyBzcGVjaWZpZWQKKyAgYXMgc3ltbGluaywgcHV0IHN5bWxpbmssIG5vdCBhY3R1YWwgbW91bnQgcG9pbnQgaW4gbXRhYi4KKyAgKFRoaXMgYXZvaWRzIHRoZSBsb25nIGFuZCB1Z2x5IGRldmZzIG5hbWVzLCBidXQgbWF5IGJyZWFrIHRoaW5ncy4KKyAgUGxlYXNlIGNvbXBsYWluIGluIGNhc2Ugb2YgcHJvYmxlbXMuKQorKiBtb3VudDogd2l0aCBtb3VudCAtYSAtdCBuZnM6CisgIGlmIHdlIHVzZWQgZmFsbGJhY2sgdG8gbmZzIHYzLCBkb24ndCBkbyBzbyBmb3Igc3Vic2VxdWVudCBtb3VudHMKKyogbW91bnQ6IGFkZCBoZXVyaXN0aWNzIGZvciBleHQzIChBbmRyZXcgTW9ydG9uKQorKiBtb3VudDogYWRkZWQgcXVvdGEgaW5mbyB0byBtb3VudC44CisqIG1vdW50OiBhbGxvdyBjb21tYS1zZXBhcmF0ZWQgdHlwZSBsaXN0cywgYWxzbyBpbiBmc3RhYgorKiByYXc6IHNtYWxsIGZpeCBmb3IgcHBjCisKK3V0aWwtbGludXggMi4xMWQKKworKiBmZGlzazogZml4IGZvciBPU0YgKFdpbGwgV29vZHMpCisqIGNoc2g6IGNvbXBpbGF0aW9uIGZpeCAoUm9uYWxkIFdhaGwpCisKK3V0aWwtbGludXggMi4xMWMKKworKiBDemVjaCBtZXNzYWdlcyAoSmnFmcOtIFBhdmxvdnNrw70pCisqIEdlcm1hbiBtZXNzYWdlcyAoRWxyb25kKQorKiBNYWtlZmlsZS9NQ09ORklHIGltcHJvdmVtZW50cyAoUGV0ZXIgQnJlaXRlbmxvaG5lcikKKyogZmRpc2s6IGFkZGVkIGEgZmV3IHBhcnRpdGlvbiB0eXBlcworKiBmZGlzazogY29ycmVjdCBwYXJ0aXRpb24gbnVtYmVyaW5nIGZvciBzZ2kgcGFydGl0aW9ucyAoTmF0aGFuIFNjb3R0KQorKiBmZGlzazogbWFrZSBpdCBjb21waWxlIG9uIGhwcGEgYnkgYXJiaXRyYXJpbHkgdHJlYXRpbmcgaHBwYSBsaWtlIHBvd2VycGMKKyAgKE1hdHQgVGFnZ2FydCkKKyogZnNjay5taW5peDogaW1wcm92ZWQgbG9jYWxpc2F0aW9uIChFbHJvbmQpCisqIGdldG9wdDogdXBkYXRlZCB0byB2ZXJzaW9uIDEuMS4yIChGcm9kbyBMb29pamFhcmQpCisqIGh3Y2xvY2s6IGZpeGVzIGZvciBJQTY0IChUaG9yc3RlbiBLdWt1aykKKyogaHdjbG9jazogdXNlIC9kZXYvdmMvMSB3aGVuIGRldmZzIGlzIHVzZWQgKFRob21hcyBLb2VsbGVyKQorKiBod2Nsb2NrOiBtb3JlIGRldmZzIHN1cHBvcnQgKGUuZy4gL2Rldi9taXNjL3J0YykKKyogaXBjczogYWRkIHNwYWNlcyBpbiBvdXRwdXQgKERlV2l0dCBDbGludG9uKSwKKyAgY29ycmVjdCBzb21lIGVycm9yIG1lc3NhZ2VzIChCb2JieSBkZSBWb3MpCisqIGxvZ2luOiBmaXggVElPQ05PVFRZIChBbmRyZWFzIEhhdW1lciwgQWRhbSBKLiBSaWNodGVyKQorKiBsb2dpbjogYWRkIGJ0bXAgbG9nZ2luZyBvZiB1bnN1Y2Nlc3NmdWwgbG9naW4gYXR0ZW1wdHMgKEVyaWsgVHJvYW4pCisqIGxvZ2luOiBhdm9pZCBhIFNJR0hVUCByYWNlIHdpdGggUEFNIGVuYWJsZWQgKFBldGVyICdMdW5hJyBSdW5lc3RpZykKKyogbG9naW46IGNvcHkgdGhlIHN0YXRpYyByZXN1bHQgcmV0dXJuZWQgYnkgZ2V0aG9zdGJ5bmFtZSB0byBhdm9pZAorICBjb3JydXB0aW9uIGJ5IHBhbV9hdXRoZW50aWNhdGUgdmlhIHBhbV9sZGFwIChBbmRyZWFzIERhbW0pCisqIGxvZ2luOiByZW1vdmVkIHRoZSBSRURIQVRfSUdOT1JFRF9NQUlMU0laRSBoYWNrCisqIGxvZ2luOiB1bmNvbmRpdGlvbmFsbHkgZG8gdmhhbmd1cAorKiBsb2dpbjogemVybyBQQU1fVVNFUiB3aGVuIG5vIHVzZXJuYW1lIHdhcyBnaXZlbiAoQXJrYWRpdXN6IE1pxZtraWV3aWN6KQorKiBsb29rOiBkaWN0aW9uYXJ5IG5vdyB1bmRlciAvdXNyL3NoYXJlIChFcmlrIFRyb2FuKQorKiBtb3VudDogYWRkIHNhbml0aXplX2VudigpIChTb2xhciBEZXNpZ25lcikKKyogbW91bnQ6IGFub3RoZXIgaGV1cmlzdGljIGZvciB2ZmF0IChNaWNoYWwgU3ZlYykKKyogbW91bnQ6IHhmcyBtYWdpYyBoYXMgb25seSBvbmUgZW5kaWFubmVzcyAoTmF0aGFuIFNjb3R0KQorKiBtb3VudDogcmV0dXJuIGZhaWx1cmUgd2hlbiB0Y3AgdXNlZCBhbmQgcG9ydG1hcCByZXR1cm5zIDAgKEguIEouIEx1KQorKiByZGV2OiBhbGxvdyB1bmxpbWl0ZWQgcmVjdXJzaW9uIHRvIGZpbmQgdGhlIGxvbmcgZGV2ZnMgbmFtZXMKKyAgQWxzbywgYWxsb3cgbWFqb3IsbWlub3IgcGFpciB0aGUgc3BlY2lmeSBkZXZpY2UgKHJlcXVlc3QgYnkgUnVzc2VsbCBDb2tlcikKKyogcmVhZHByb2ZpbGU6IGFycmF5IGJvdW5kIGNoZWNrIChBbmRyZXcgTW9ydG9uKQorKiBzY3JpcHQ6IHRyYW5zbWl0IHdpbmRvdyBjaGFuZ2VzIHRvIGNoaWxkIChKb2V5IEhlc3MpCisqIHNmZGlzazogZW5kaWFuIGZpeCBmb3IgcHBjIChHcmVnb3J5IEdlaXNlbGhhcnQpCisqIHNmZGlzazogbmV3IGZlYXR1cmU6IHNpZ24gaXMgb2Zmc2V0IGZyb20gZGVmYXVsdCAoQnlyb24gU3Rhbm9zemVrKQorKiBzZmRpc2s6IGFkZCBzb21lIGRlZmF1bHQgZGV2aWNlcyB0byBsaXN0IChMdWNhIE1vbnRlY2NoaWFuaSkKKyogc2ZkaXNrOiBubyBwYXJ0aXRpb24gdGFibGUgb24gaWRlIHRhcGUKKyogc2h1dGRvd246IGNsb3NlIGZpbGVzLCB1bmJsb2NrIHNpZ25hbHMgKFJpY2hhcmQgR29vY2gpCisqIHNpbXBsZWluaXQ6IGJsb2NrIHNpZ25hbHMgaW4gaGFuZGxlcnM7IGFkZCBub19yZWJvb3Qgb3B0aW9uIChSaWNoYXJkIEdvb2NoKQorKiBzd2FwZGV2OiBkZWxldGVkLCBpdCB3YXMgbGFzdCB1c2VkIHdpdGggTGludXggMC4xMi4KKyogdW1vdW50OiBtaXBzIGRvZXMgc3VwcG9ydCB1bW91bnQyIChNYWNpZWogVy4gUm96eWNraSkKKyogdW1vdW50OiBhZGQgc2FuaXRpemVfZW52KCkgKFNvbGFyIERlc2lnbmVyKQorKiB1bW91bnQ6IGZpeCBleGl0IHN0YXR1cworKiB3YWxsOiBkbyBub3QgZm9yZ2V0IDgwdGggY2hhcmFjdGVyIChUaG9yc3RlbiBLdWt1aykKKwordXRpbC1saW51eCAyLjExYjoKKworKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogdW1vdW50OiBtaXBzIGRvZXMgbm90IHN1cHBvcnQgdW1vdW50MiAoQ2hyaXN0b3BoIE1hcnRpbikKKyogZmRpc2s6IHRpbnkgZml4CisqIG1vdW50Ljg6IGFkZnMgb3B0aW9ucyBkb2N1bWVudGVkLCB4ZnMgY29ycmVjdGVkCisKK3V0aWwtbGludXggMi4xMWE6CisKKyogdHNvcnQ6IGRlbGV0ZWQgLSBpdCBpcyBwYXJ0IG9mIEdOVSB0ZXh0dXRpbHMgMi4wCisqIG1vdW50OiBmaXggcm9vdGRldigpIChSaWNoYXJkIEtldHRsZXdlbGwpCisqIG1vdW50OiBmaXggZ2lkIG9mIG10YWIgZmlsZQorKiBtb3VudDogdHJ5IC9wcm9jL2ZpbGVzeXN0ZW1zIGFmdGVyIC9ldGMvZmlsZXN5c3RlbXMgaWYgdGhlIGxhdHRlciBlbmRzIGluICIqIgorKiBmZGlzazogYWRkZWQgYSBmZXcgc3lzdGVtIHR5cGVzCisKK3V0aWwtbGludXggMi4xMToKKworKiBKdW1wIHRvIDIuMTEgdG8gbm90ZSB0aGF0IGxpYmMtNC41LjI2IGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQsCisgIGFuZCB3ZSByZXF1aXJlIGxpYmMtNC42LjI3IChzaW5jZSBub3cgc25wcmludGYgaXMgdXNlZCkuCisgIEFsc28sIGtiZHJhdGUgaGFzIG5vdyBiZWVuIHJlbW92ZWQuIEZpbmQgaXQgaW4ga2JkLTEuMDUuCisgIEFkZGVkIC1EX0ZJTEVfT0ZGU0VUX0JJVFM9NjQgdG8gQ0ZMQUdTLgorKiBEYW5pc2ggbWVzc2FnZXMgKENsYXVzIEhpbmRzZ2F1bCkKKyogZmRpc2s6IGF2b2lkIGxvb3AgaW4gY2FzZSBvZiBleHRlbmRlZCB3aXRob3V0IGxvZ2ljYWwKKyogaXBjczogY29ycmVjdGVkIGludGVyY2hhbmdlZCByZXBvcnQgb24gbXNnX3J0aW1lL21zZ19zdGltZSAoQXJ1biBLdW1hciBVKQorKiBraWxsOiB1cGRhdGVkIG1hbnBhZ2UKKyogbGFzdDogdmVyeSBtdWNoIGZhc3RlciB3aXRoIG1tYXAgKE1hcmVrIFplbGVtKQorKiBsb2dpbjogQXBwbGllZCBQQU0gcGF0Y2ggYnkgRGF2aWQgTWFjS2VuemllIDxkam1Ad2ViLnVzLnV1Lm5ldD4KKyogbG9naW46IGRvIGEgc2V0c2lkIGluIHRoZSBjaGlsZCAoRXJpayBUcm9hbikKKyogbW91bnQ6IG1ha2UgIm1vdW50IDE5Mi4xNjguMS44Oi8gL2EgLW8gYmciIHdvcmsgYWdhaW4gKEJqb2VybiBWb2lndCkKKyogbW91bnQ6IGFkZGVkIGNvbnN0YW50IE1TX01PVkUKKyogcmVhZHByb2ZpbGU6IGFkZGVkIC1NIG9wdGlvbiwgdXBkYXRlZCBtYW5wYWdlIChBbmRyZXcgTW9ydG9uKQorKiBzZXRzaWQ6IGZvcmsgd2hlbiBpdCB3b3VsZCBmYWlsIG90aGVyd2lzZSAoSm9obiBGcmVtbGluKQorKiBzaW1wbGVpbml0OiB1cGRhdGVkIChSaWNoYXJkIEdvb2NoIGV0IGFsLikKKyogdmlwdzogYWxzbyBvZmZlciB0byBlZGl0IHNoYWRvdyBmaWxlIChFcmlrIFRyb2FuKQorKiB4ZnMgZG9jcyAoTmF0aGFuIFNjb3R0KQorCit1dGlsLWxpbnV4IDIuMTBzOgorCisqIERhbmlzaCBtZXNzYWdlcyAoQ2xhdXMgSGluZHNnYXVsKQorKiBmaXhlcyB0byBtYWtlIGdjYyBoYXBweSAoSm9zZXBoIFMuIE15ZXJzKQorKiBmaXggZm9yIG1vcmUgb24gcGFyaXNjIChSaWNoYXJkIEhpcnN0KQorKiBjaGFuZ2UgcmRldiB0byBzZWFyY2ggc3ViZGlyZWN0b3JpZXMgb2YgL2RldiAoUGF1bCBDbGVtZW50cykKKyogdWwgZml4IChNYXNhbyBLYXdhbXVyYSkgLSBzZXQgY29sdW1ucyBjb3JyZWN0bHkKKyogY2FsIGZpeCAoQnJlbmRhbiBLZWhvZSkgLSBkb24ndCBvdmVyZmxvdyB3ZWVrZGF5IGFycmF5IGluIEdhZWxpYworKiBmZGlzayBmaXggKG5pbGVzQHNjeWxkLmNvbSkgLSBmbHVzaCBzdGRvdXQKKyogZmRpc2sgZml4IC0gZG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIG91dCBlbXB0eSBsYWJlbAorKiBsb2dpbjogbWFrZSBkZWZhdWx0IHR0eSBtb2RlIDA2MDAKKyogc2NyaXB0OiByZWZ1c2UgdG8gd3JpdGUgdHlwZXNjcmlwdCBpZiB0aGF0IGlzIGEgc3ltbGluaworKiBzY3JpcHQ6IGFjY2VwdCAtViB0byBvdXRwdXQgdmVyc2lvbgorKiB3aGVyZWlzOiBhbHNvIHNlYXJjaCAvdXNyL3NoYXJlL21hbi4KKyogaHdjbG9jazogaW1wcm92ZSBsb2NhbGUgaGFuZGxpbmcKKyogaHdjbG9jazogZml4IGZvciBOYXV0aWx1cyAoTmVva2xpcyBLeXJpYXppcykKKyogaXNvc2l6ZTogbmV3CisKK3V0aWwtbGludXggMi4xMHI6CisKKyogbW91bnQ6IHN1cHBvcnQgbW91bnQgYnkgdXVpZCBvciBsYWJlbCBmb3IgeGZzIChOYXRoYW4gU2NvdHQpCisqIG1vdW50OiBhZGRlZCBwcm9iZSBmb3IgbWluaXggb24gYmlnZW5kaWFuIHN5c3RlbXMgKE5hdGhhbiBTY290dCkKKyogbW91bnQ6IGFkZGVkIHByb2JlcyBmb3IgY3JhbWZzLCBoZnMsIGhwZnMgYW5kIGFkZnMgKFNlcHAgV2lqbmFuZHMpCisqIG1vdW50OiBjaGFuZ2Ugc2V0dXA7IGxldCB1bW91bnQgcmVtb3ZlIGF0IG1vc3Qgb25lIGxpbmUgZnJvbSAvZXRjL210YWIKKyogbW91bnQ6IGltcHJvdmUgbWFuIHBhZ2UKKyogbW9yZSwgY29sLCBjb2xjcnQsIGNvbHJtLCBjb2x1bW4sIHVsOiBubHMgaW1wcm92ZW1lbnRzIChNYXNhbyBLYXdhbXVyYSkKKwordXRpbC1saW51eCAyLjEwcToKKworKiBtb3VudDogYWNjZXB0IG5vbm51bWVyaWMgdWlkPSBhbmQgZ2lkPSBvcHRpb25zCisqIHdyaXRlIGFuZCB3YWxsOiBzZWN1cml0eSBpbXByb3ZlbWVudAorKiBmaXhlZCBmZGZvcm1hdCBmbGF3IChXZXJuZXIgQWxtZXNiZXJnZXIpCisqIHVzZSByaWdodCBtb3VudHBvcnQgdXBvbiB1bW91bnQgKEdsZW5uIExpbmdsZSkKKyogc2ltcGxlaW5pdCAvIG5lZWQgLyBpbml0Y3RsIHN0dWZmIChSaWNoYXJkIEdvb2NoKQorKiBQb3J0dWd1ZXNlIG1lc3NhZ2VzIChSb2RyaWdvIFN0dWx6ZXIgTG9wZXMgZXQgYWwuKQorCit1dGlsLWxpbnV4IDIuMTBwOgorCisqIG1vdW50OiBkb24ndCBzZXQgdXAgYSBsb29wIGZpbGUgd2l0aCAtbyBsb29wLHJlbW91bnQgKE1hcmMgTXV0eikKKyogZmRpc2s6IGNoYW5nZXMgZm9yIHNlY3RvcnNpemUgZGlmZmVyZW50IGZyb20gNTEyCisqIG1vcmU6IHN0YW5kb3V0IGZpeCAoUGF1bCBWb2p0YSkKKyogbW9yZTogaW1wcm92ZSB1c2FnZSBtZXNzYWdlIChMaW5jb2xuIE15ZXJzKQorKiBsb2dnZXI6IEFkZGVkIC1kIG9wdGlvbiB0byB1c2UgZGF0YWdyYW1zIChHZXJ3aW4gUGZhYikKKyogY2FsOiBBZGRlZCAtMyBvcHRpb24gdG8gYWxzbyBwcmludCBwcmV2L25leHQgbW9udGggKE1pY2hhZWwgQ2hhcmxlcyBQcnV6bmljaykKKyogRnJlbmNoIG1lc3NhZ2VzIChDaHJpc3RvcGhlIE1lcmxldCkKKyogSmFwYW5lc2UgbWVzc2FnZXMgKERhaXN1a2UgWWFtYXNoaXRhKQorCit1dGlsLWxpbnV4IDIuMTBvOgorCisqIGZkZm9ybWF0OiBmaXhlZCB0byB3b3JrIHdpdGgga2VybmVsIDIuNC4wdGVzdDYgKE1hcmVrIFdvanRvd2ljeikKKyogbG9zZXR1cDogYWxzbyByZXR1cm4gc3RhdHVzIHdoZW4gb25seSBzaG93aW5nIGxvb3AgZGV2aWNlIHN0YXR1cyAoZXd0KQorKiBtb3VudDogZG8gbm90IHJldHJ5IHJvIGlmIG1vdW50IHdhcyBybzsgaW1wcm92ZSBlcnJvciBtZXNzYWdlCisqIGxvZ2luOiBub3QgaW5zdGFsbGVkIHN1aWQKKyogZ2V0b3B0OiBieSBkZWZhdWx0IGluc3RhbGwgYXV4IGZpbGVzIGluIC91c3Ivc2hhcmUvbWlzYworCit1dGlsLWxpbnV4IDIuMTBuOgorCisqIGFkZGVkIGJsb2NrZGV2LjgKKyogY2hhbmdlIHRvIGVsdnR1bmUgKGFuZHJlYSkKKyogZml4ZWQgb3ZlcnJ1biBpbiBhZ2V0dHkgKHZpaUBwZW5ndWlucG93ZXJlZC5jb20pCisqIHNodXRkb3duOiBwcmVmZXIgdW1vdW50aW5nIGJ5IG1vdW50IHBvaW50IChyZ29vY2gpCisqIGZkaXNrOiBhZGRlZCBwbGFuOQorKiBmZGlzazogcmVtb3ZlIGVtcHR5IGxpbmtzIGluIGNoYWluIG9mIGV4dGVuZGVkIHBhcnRpdGlvbnMKKyogbW91bnQ6IGRlZmluZSBBTFdBWVNfU1RBVAorKiBtb3VudDogYWRkIHJlcGxhY2UsIGFmdGVyLCBiZWZvcmUsIG92ZXIsIGJpbmQKKyogdW1vdW50OiBhbHNvIGZyZWUgbG9vcCBkZXZpY2Ugd2hlbiBub3Qgd3JpdGluZyBtdGFiCisqIGxvbW91bnQ6IHRyeSBib3RoIC9kZXYvbG9vcE4gYW5kIC9kZXYvbG9vcC9OCisqIGh3Y2xvY2s6IGhhbmRsZSBib3RoIC9kZXYvcnRjIGFuZCAvZGV2L2VmaXJ0YyAoQmlsbCBOb3R0aW5naGFtKQorKiBzY3JpcHQ6IGFkZGVkIC1mIChmbHVzaCkgb3B0aW9uIChJdmFuIFNjaHJldGVyKQorKiBzY3JpcHQ6IGFkZGVkIC1xIChxdWlldCkgb3B0aW9uIChQZXIgQW5kcmVhcyBCdWVyKQorKiBnZXRvcHQ6IHVwZGF0ZWQgdG8gdmVyc2lvbiAxLjEuMCAoRnJvZG8gTG9vaWphYXJkKQorKiBDemVjaCBtZXNzYWdlcyAoSmnFmcOtIFBhdmxvdnNrw70pCisKK3V0aWwtbGludXggMi4xMG06CisKKyogY2hmbiBmaXggd2hlbiBQQU0gaXMgdXNlZCAoTWFydGluLUQuIExhY2Fzc2UpCisqIGRvIG5vdCB1c2UgTENfTlVNRVJJQyBwYXJ0IG9mIGxvY2FsZSBpbiBod2Nsb2NrIHdoZW4gd3JpdGluZyAvZXRjL2FkanRpbWUKKyogbW91bnQgc3RhdHVzIHJldHVybiBmcm9tIHNtYiBvciBuY3AgZml4IChNYXJrIFBlbG9xdWluKQorKiBtb3VudCBuZXcgb3B0aW9uIC1sOiBhbHNvIHByaW50IGxhYmVsIHdoZW4gbGlzdGluZyBtb3VudHMKKyogbW91bnQgYWRkIGhldXJpc3RpYyBmb3IgeGZzIChNYXJ0aW4gSy4gUGV0ZXJzZW4pCisqIG1vdW50IFVVSUQgYW5kIGxhYmVsIGNhY2hlIChFcmlrIFRyb2FuKQorKiBtb3VudCBpbXByb3ZlIGNoZWNrIGZvciBgYWxyZWFkeSBtb3VudGVkJyBpbiBjYXNlIG9mIGxhYmVsIG9yIHV1aWQKKyogZmRpc2sgcGFydGl0aW9uIG5hbWVzIG1vcmUgZGV2ZnMtZnJpZW5kbHkKKyogZmRpc2sgYnNkbGFiZWwgbGFyZ2UgZGlzayBzdXBwb3J0CisqIHNldHRlcm0uMTogb3B0aW9ucyBkb2N1bWVudGVkIChDb2xpbiBXYXRzb24pCisqIHJlbmFtZSBjb3JyZWN0aW9uCisqIEdlcm1hbiwgU3BhbmlzaCwgRnJlbmNoLCBJdGFsaWFuLCBQb3J0dWd1ZXNlIG1lc3NhZ2VzCisgIChSb2dlciBMdWV0aGksIEJldGggUG93ZWxsLCBBbHZhcm8gQW50dW5lcykKKwordXRpbC1saW51eCAyLjEwbDoKKworKiBNZXJnZWQgbG9zZXR1cC5jIGFuZCBsb21vdW50LmMKKyogQU5TSWZpZWQgZXZlcnl0aGluZworCit1dGlsLWxpbnV4IDIuMTBrOgorCisqIE5GUyB2ZXJzaW9uIDQgbW91bnQgc3VwcG9ydCAoVHJvbmQgTXlrbGVidXN0KQorKiBod2Nsb2NrIGZpeCAoU3RlZmFuIFJpbmcpCisqIEFkZGVkIC1wIG9wdGlvbiB0byBjb2wsIGFzIHJlcXVpcmVkIGJ5IFNVUyAoSm9zZXBoIFMuIE15ZXJzKQorCit1dGlsLWxpbnV4IDIuMTBqOgorCisqIGZkaXNrIGZpeGVzIChNaWNoYWwgSmFlZ2VybWFubikKKwordXRpbC1saW51eCAyLjEwaToKKworKiBuZXcgZGlyZWN0b3J5IHBhcnR4ICh3aXRoIGNvZGUgdG8gcGxheSB3aXRoLCBub3QgdG8gdXNlKQorKiBtaW5vciBmZGlzayBjaGFuZ2VzCisKK3V0aWwtbGludXggMi4xMGg6CisKKyogQWRkZWQgcGl2b3Rfcm9vdCAoV2VybmVyIEFsbWVzYmVyZ2VyKQorKiBBZGRlZCBlbHZ0dW5lIChBbmRyZWEgQXJjYW5nZWxpKQorKiBBZGRlZCBuZWVkIGFuZCBleHRlbmRlZCBzaW1wbGVpbml0IGFuZCBzaHV0ZG93biAoUmljaGFyZCBHb29jaCkKKyogUmVtb3ZlZCBhbGwgI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisqIGVycm5vIGZpeGVzIChKb3NlcGggUy4gTXllcnMpCisqIElBLTY0IGZpeGVzIChNaWNoYWVsIEsuIEpvaG5zb24pCisqIGZkaXNrIGZpeGVzIGZvciBPU0YvMSBvbiBBbHBoYSAoRGF2aWQgSHVnZ2lucy1EYWluZXMpCisqIGZkaXNrIHNlY3RvcnNpemUgZml4IChHcmVnIEhvc2xlcikKKyogbW91bnQgc3BlZWQ9IG9wdGlvbiB0byBlbmFibGUgbW91bnRpbmcgYmFkIENEUk9NcyAoTWFyY28gZCdJdHJpKQorKiBpcGNybSBkZWxldGVzIHNldmVyYWwgdGhpbmdzIGF0IG9uY2UgKEZyYW5rIFphZ28pCisKK3V0aWwtbGludXggMi4xMGc6CisKKyogZmRpc2sgY2FuIG5vdyBzb3J0IHBhcnRpdGlvbnMgaW50byBvcmRlciBbdW50ZXN0ZWQsIGJld2FyZSFdCisqIFVwZGF0ZSBvZiBta3N3YXAgZm9yIHNwYXJjNjQgKGpqKQorKiBVcGRhdGUgb2YgcmF3IChTdGVwaGVuIFR3ZWVkaWUpOgorICBDb250cm9sIGZpbGUgd2FzIC9kZXYvcmF3LCBub3cgL2Rldi9yYXdjdGwKKyAgQWNjZXNzIGZpbGVzIHdlcmUgL2Rldi9yYXcqLCBub3cgL2Rldi9yYXcvcmF3KgorKiBDemVjaCBtZXNzYWdlcyAoSmnFmcOtIFBhdmxvdnNrw70pCisqIEdlcm1hbiBtZXNzYWdlcyAoRGFuaWVsIEVnZ2VyKQorKiBsb3NldHVwIGxvY2tzIG1lbW9yeSAoRnJhbmsgdiBXYXZlcmVuKQorCit1dGlsLWxpbnV4IDIuMTBmOgorCisqIFNlY3VyaXR5IGZpeCBmb3IgbW91bnQgKG9raXIpCisqIEF2b2lkIGluZmluaXRlIGxvb3AgaW4gbmFtZWkgKEJyZXR0IFd1dGgpCisqIGFkZGVkIGNsb2NrLXBwYy5jIChmcm9tIE1hdHN1dXJhIFRha2Fub3JpKSwgbm90IG1lcmdlZCB5ZXQKKyogZGVsZXRlZCBjbG9ja0Igc3ViZGlyZWN0b3J5CisqIHJlY29nbml6ZSBta2Rvc2ZzIHN0cmluZyAoTWljaGFsIFN2ZWMpCisKK3V0aWwtbGludXggMi4xMGU6CisKKyogTmV3OiByZW5hbWUKKyogQWRkZWQgb3B0aW9uIHRvIG1rc3dhcCBzbyB0aGF0IHVzZXIgY2FuIG92ZXJyaWRlIHBhZ2VzaXplCisqIGZkaXNrIC1sIG5vdyByZWFkcyAvcHJvYy9wYXJ0aXRpb25zIHdoZW4gbm8gZGV2aWNlIHdhcyBnaXZlbgorKiBGaXhlZCBmZGlzay44IChKYW1lcyBNYW5uaW5nKQorKiBBZGRlZCBkZXZwdHMgaW5mbyB0byBtb3VudC44IChFbHJvbmQpCisqIE5ld2xpbmUgZml4IGZvciBsb2dnZXIgb3V0cHV0IHRvIHN0ZG91dCAoSGVucmkgU3BlbmNlcikKKwordXRpbC1saW51eCAyLjEwZDoKKworKiBEbyBub3QgdHJ5IHRvIG1vdW50IHNvbWV0aGluZyBhcyB1ZGYgd2l0aG91dCBnb29kIHJlYXNvbgorKiBEbyBub3QgbG9vcCBpbiB1bW91bnQgaWYgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGUKKyogQWxsb3cgZmRpc2sgdHdpY2UgYXMgbWFueSBjeWxpbmRlcnMKKyogRml4ZWQgbm9uLWNhc2Vmb2xkaW5nIHNlYXJjaCBpbiBsb29rIChNYXJrdXMgRGVtbGVpdG5lcikKKwordXRpbC1saW51eCAyLjEwYzoKKworKiBWYXJpb3VzIGNvbXBpbGF0aW9uIGZpeGVzCisKK3V0aWwtbGludXggMi4xMGI6CisKKyogRml4ZWQgc21ibW91bnQgcHJvYmxlbSAoQW5kcmV3IFRyaWRnZWxsKQorKiBGaXhlZCBkZGF0ZSBwcm9ibGVtIHdpdGggdGhlIGRheSBhZnRlciBTdC4gVGliJ3MgRGF5IChCcmFkKQorKiBHZXJtYW4gbWVzc2FnZXMgKEVscm9uZCkKKyogTWFkZSBraWxsIGEgYml0IG1vcmUgc3RhbmRhcmQgY29tcGxpYW50CisqIE1hZGUgc29tZSBtb3JlIHByb2dyYW1zIG91dHB1dCBhIHZlcnNpb24KKwordXRpbC1saW51eCAyLjEwYToKKworKiBKYXBhbmVzZSBtZXNzYWdlcyAoRGFpc3VrZSBZYW1hc2hpdGEpCisqIEZyZW5jaCBtZXNzYWdlcyBhbmQgc2V2ZXJhbCBEZWJpYW4gZml4ZXMgKFZpbmNlbnQgUmVuYXJkaWFzKQorKiBGaXhlZCBpbmZpbml0ZSBsb29wIGluIG1rZnMubWluaXgKKwordXRpbC1saW51eCAyLjEwOgorCisqIEFkZGVkIEJTRCBkaXNrbGFiZWwgY29kZSB0byByZXNjdWVwdAorKiBBZGRlZCBibG9ja2RldiB1dGlsaXR5CisqIEZpeCBsb3NldHVwIHJldHVybiBjb2RlCisqIEZpeCB1bml0IGRpc3BsYXkgaW4gY2ZkaXNrCisqIERvIG5vdCByZWRlZmluZSBfUEFUSF9NQUlMRElSIChzbyB0aGF0IHJlY2VudCBzeXN0ZW1zIGNhbiBoYXZlIC92YXIvbWFpbCkKKyogQWRkZWQgLS1sb2NhbHRpbWUgb3B0aW9uIHRvIGh3Y2xvY2s7CisgIGFkZGVkIHRoaXJkIGxpbmUgKExPQ0FML1VUQykgdG8gL2V0Yy9hZGp0aW1lLgorKiBBZGQgLUggb3B0aW9uIHRvIGFnZXR0eSAoRGF2aWQgSG9sbGFuZCkKKwordXRpbC1saW51eCAyLjl6OgorCisqIEphcGFuZXNlIG1lc3NhZ2VzIChEYWlzdWtlIFlhbWFzaGl0YSkKKyogQ3plY2ggbWVzc2FnZXMgKEppxZnDrSBQYXZsb3Zza8O9KQorKiBBZGRlZCBzb21lIHVkZiBzdHVmZiB0byBtb3VudC44CisqIEFkZGVkIGlvY3RsIGZvciBmZGlzayBvbiBic2RsYWJlbHMKKwordXRpbC1saW51eCAyLjl5OgorCisqIFdpZGUgY2hhcmFjdGVyIHN1cHBvcnQgKEJydW5vIEhhaWJsZSkKKyogR2VybWFuIG1lc3NhZ2VzIGFuZCBzb21lIHNtYWxsIGZpeGVzIChFbHJvbmQpCisqIFNtYWxsIGZpeCB0byBvd25lciBtb3VudCBvcHRpb24gKEVyaWsgVHJvYW4pCisqIERvbid0IHNsZWVwIHNvIGxvbmcgaW4gY2xvY2sva2QuYyAoQ2hyaXN0aWFuIFQuIFN0ZWlnaWVzKQorCit1dGlsLWxpbnV4IDIuOXg6CisKKyogR2VybWFuIG1lc3NhZ2VzIGFuZCBhIGkxOG4gZml4IChFbHJvbmQpCisqIG1vdW50IG9wdGlvbjogYWxsb3cgdGhlIG93bmVyIHRvIG1vdW50IGEgZGV2aWNlIChSZWRIYXQpCisqIHVnbHk6IGxldCBsb2dpbiBvcGVuIGNvbnNvbGUgd2l0aCBPX05PTkJMT0NLIChNYWNpZWogVy4gUm96eWNraSkKKyogVUdMWTogbGV0IGxvZ2luIGlnbm9yZSBtYWlsIHRoYXQgaXMgcHJlY2lzZWx5IDUyMyBieXRlcyBsb25nIChSZWRIYXQpCisqIGFkZGVkIG1rZnMuYmZzLCBta2ZzLmJmcy44CisqIG1vdW50IG5vdyByZWNvZ25pemVzIHFueDQgYW5kIGJmcyBwYXJ0aXRpb25zCisqIHJlc2N1ZXB0IG5vdyByZWNvZ25pemVzIFVuaXh3YXJlIHBhcnRpdGlvbnMKKyogaHdjbG9jayBmaXggb24gbTY4ayAoUm9tYW4gSG9kZWspCisqIHNldmVyYWwgbWlub3IgdGhpbmdzCisKK3V0aWwtbGludXggMi45dzoKKworKiBVcGRhdGVkIG1vdW50LjggKFlhbm4gRHJvbmVhdWQpCisqIEltcHJvdmVkIG1ha2VmaWxlcworKiBGaXhlZCBmbGF3IGluIGZkaXNrCisKK3V0aWwtbGludXggMi45djoKKworKiBjZmRpc2sgbm8gbG9uZ2VyIGJlbGlldmVzIHRoZSBrZXJuZWwncyBIREdFVEdFTworICAoYW5kIG1heSBiZSBhYmxlIHRvIHBhcnRpdGlvbiBhIDIgVEIgZGlzaykKKwordXRpbC1saW51eCAyLjl1OgorCisqIEN6ZWNoIG1vcmUuaGVscCBhbmQgbWVzc2FnZXMgKEppxZnDrSBQYXZsb3Zza8O9KQorKiBKYXBhbmVzZSBtZXNzYWdlcyAoRGFpc3VrZSBZYW1hc2hpdGEpCisqIGZkaXNrIGZpeCAoS2xhdXMgRy4gV2FnbmVyKQorKiBtb3VudCBmaXggKEhpcm9rYXp1IFRha2FoYXNoaSkKKyogYWdldHR5OiBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sIChUaG9yc3RlbiBLcmFuemtvd3NraSkKKyogbWlub3IgY2ZkaXNrIGltcHJvdmVtZW50cworKiBmZGlzayBubyBsb25nZXIgYWNjZXB0cyBhIGRlZmF1bHQgZGV2aWNlCisqIE1ha2VmaWxlIGZpeAorCit1dGlsLWxpbnV4IDIuOXQ6CisKKyogbmF0aW9uYWwgbGFuZ3VhZ2Ugc3VwcG9ydCBmb3IgaHdjbG9jaworKiBKYXBhbmVzZSBtZXNzYWdlcyAoYm90aCBieSBEYWlzdWtlIFlhbWFzaGl0YSkKKyogR2VybWFuIG1lc3NhZ2VzIGFuZCBzb21lIG1pc2MgaTE4biBmaXhlcyAoRWxyb25kKQorKiBDemVjaCBtZXNzYWdlcyAoSmnFmcOtIFBhdmxvdnNrw70pCisqIHdhbGwgZml4ZWQgZm9yIC9kZXYvcHRzL3h4IHR0eXMKKyogbWFrZSBsYXN0IGFuZCB3YWxsIHVzZSBnZXR1dGVudCgpIChTYXNjaGEgU2NodW1hbm4pCisgIFtNYXliZSB0aGlzIGlzIGJhZDogbGFzdCByZWFkaW5nIGFsbCBvZiB3dG1wIG1heSBiZSB0b28gc2xvdy4KKyAgIFJldmVydCBpbiBjYXNlIHBlb3BsZSBjb21wbGFpbi5dCisqIGRvY3VtZW50ZWQgVVVJRD0gYW5kIExBQkVMPSBpbiBmc3RhYi41CisqIGFkZGVkIHNvbWUgcGFydGl0aW9uIHR5cGVzCisqIHN3YXBvbjogd2FybiBvbmx5IGlmIHZlcmJvc2UKKwordXRpbC1saW51eCAyLjlzOgorCisqIHR1bmVscCBwYXRjaCAoQW5kcmVhIEFyY2FuZ2VsaSkKKyogZml4ZWQgbW91bnQgcmFjZSAoSEpMdSkKKyogR2VybWFuIG1lc3NhZ2VzIChFbHJvbmQpCisKK3V0aWwtbGludXggMi45W3Bxcl06CisKKyogZXJybm8tPmVycnN2IHBhdGNoIChBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8pCisqIGh3Y2xvY2sgcGF0Y2ggZm9yIHRoZSBBd2FyZCA0LjUwZyBCSU9TICIyMDk0IiBidWcuIChEYXZlIENvZmZpbikKKyogZmRpc2sgcGF0Y2ggdG8gY29ycmVjdCBkZWxldGlvbiBvZiBsYXN0IGxvZ2ljYWwgcGFydGl0aW9uCisKK3V0aWwtbGludXggMi45bzoKKworKiBmaXggdG8gbG9naW4gYnkgQW1icm9zZSBDLiBMaQorKiBpbXByb3ZlbWVudCB0byBtY29va2llIGluc3BpcmVkIGJ5IGEgcGF0Y2ggZnJvbSBSaWsgRmFpdGgKKyogbW9yZSBpMThuIGJ5IEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbzsgcHRfQlIgbG9jYWxlCisKK3V0aWwtbGludXggMi45bjoKKworKiBBZGRlZCAtdSBvcHRpb24gdG8gbG9nZ2VyICh3cml0ZSB0byB1c2VyLXNwZWNpZmllZCBzb2NrZXQ7IE1hcnRpbiBTY2h1bHR6ZSkKKyogQWRkZWQgbW91bnQuc21iIHNjcmlwdCBjb250cmlidXRlZCBieSBHcmVnIEdhbHBlcmluCisqIFNvbWUgbW9yZSBuYXRpb25hbCBsYW5ndWFnZSBzdXBwb3J0CisqIG1rZnMubWluaXggYXJndW1lbnQgcGFyc2luZyBmaXhlZAorKiB3cml0ZSBmaXhlZCBmb3IgL2Rldi9wdHMveHggdHR5cworKiBjb25maWd1cmUgYWRhcHRlZCBmb3IgdGhlIGNhc2Ugb2YgPHNjc2kvc2NzaS5oPiB0aGF0IG5lZWRzIHVfY2hhci4KKwordXRpbC1saW51eCAyLjltOgorCisqIEFkZGVkIG5hdGlvbmFsIGxhbmd1YWdlIHN1cHBvcnQgKG1pc2lla0BwbGQuT1JHLlBMKQorKiBtaW5vciBpbXByb3ZlbWVudHMgaW4gbW91bnQsIGZkaXNrLCBjZmRpc2ssIGFnZXR0eSwgbW9yZQorCit1dGlsLWxpbnV4IDIuOWw6CisKKyogQWRkZWQgL2Rldi9wb3J0IHVzZSB0byBod2Nsb2NrIGFnYWluIC0gaXQgbWF5IGJlIG5lY2Vzc2FyeSBmb3IgSmVuc2VuLgorCit1dGlsLWxpbnV4IDIuOWs6CisKKyogbWFqb3IgcmVzaHVmZmxlIG9mIGh3Y2xvY2sgc3R1ZmY7IGFkZGVkIHNwYXJjIGFuZCBhbHBoYSBjb2RlCisqIGZkaXNrIGZpeAorKiB0aW55IHNodXRkb3duIGZpeAorCit1dGlsLWxpbnV4IDIuOWo6CisKKyogYWRkZWQgY29uZmlndXJlCisqIG1lcmdlZCB0aHJlZSBsaXN0cyBvZiBwYXJ0aXRpb24gdHlwZXMgaW4gKmZkaXNrCisqIG11bHRpIHBhZ2UgZGlzcGxheSBpbiBjZmRpc2sKKyogdGVzdCBmb3IgZ2V0bG9naW4oKSA9PSAiIjsKKyogc3RhcnQgZml4dXAgaHdjbG9jaworCit1dGlsLWxpbnV4IDIuOWk6CisKKyogZml4ZWQgMi45aCB0eXBvIGluIG1vcmUKKyogYWRkZWQgLW06IGBNb25kYXkgaXMgMXN0IGRheScgb3B0aW9uIHRvIGNhbCAoSmVhbi1GcmFuY29pcyBCaWdub2xsZXMpCisqIGNoYW5nZWQgUEFNIHN0dWZmIGluIGxvZ2luLmMgKCstIG1qb2huc29uKQorKiBhZGRlZCB3YXJuaW5nIHRvIGNmZGlzayBpbiBjYXNlIG9mIG11bHRpcGxlIGJvb3RhYmxlIHBhcnRpdGlvbnMKKyogYWRkZWQgMjA0OC1ieXRlIHNlY3RvciBzdXBwb3J0IGluIGZkaXNrIChPbGl2ZXIgU2NoYWVydGVsKQorCit1dGlsLWxpbnV4IDIuOWg6CisKKyogbW91bnQgcmVjb2duaXplcyAidWlkPXVzZXJ1aWQiIGFuZCAiZ2lkPXVzZXJnaWQiIGluIC9ldGMvZnN0YWIuCisqIGRvY3VtZW50ZWQgdGhlIGZhY3QgdGhhdCAibW91bnQgLXQgc21iIiB3aWxsIGNhbGwgL3NiaW4vbW91bnQuc21iLgorKiBtb3VudCBnaXZlcyBjbGVhciBlcnJvciBtZXNzYWdlIHdoZW4gZnN0YWIgZG9lcyBub3QgZW5kIGluIG5ld2xpbmUuCisqIHN3YXBvbiBjaGVja3MgbW9kZSBvZiBmaWxlCisqIGNmZGlzayBnb3QgYSBtb3JlIHNwZWNpZmljIGV4aXQgc3RhdHVzIChFbnJpcXVlIFphbmFyZGkpCisKK3V0aWwtbGludXggMi45ZzoKKworKiBtb3VudCB1cGRhdGVzIChsb2NraW5nLCAidXNlcnMiIGtleXdvcmQsICIvZXRjL2ZpbGVzeXN0ZW1zIiwKKyAgInByb3RvIiBhbmQgInZlcnMiIG9wdGlvbnMgaW4gbmZzbW91bnQsIC4uLikKKwordXRpbC1saW51eCAyLjlmOgorCisqIG1hZGUgdWwgaGFuZGxlIGxpbmVzIG9mIGFyYml0cmFyeSBsZW5ndGggKFNjb3R0IE1heHdlbGwpCisqIGtpbGxlZCBzb21lIEMvSC9TIG5vbnNlbnNlIGluIGZkaXNrCisqIGZpeGVzIGZvciBhcmNocyB3aXRoIHVuc2lnbmVkIGNoYXIgdHlwZSAoQW1icm9zZSBMaSkKKyogZmRpc2sgZml4ZXMgZm9yIHBvd2VyIHBjIChUb20gUmluaSkKKyogYWRkZWQgYSBkZWZpbmUgZm9yIE5DVVJTRVNfQ09OU1QKKyogZml4ZXMgZm9yIGxpc3Qgb2Ygc2lnbmFscyBpbiBraWxsLmMKKyogZml4ZXMgZm9yIHVzZXIgbmFtZSBsZW5ndGggaW4gbGFzdC5jCisKK3V0aWwtbGludXggMi45ZToKKworKiBhZGRlZCBhIGZvcmdvdHRlbiBkZWNsYXJhdGlvbiB0byBsb2dpbi5jIChDaHJpc3RpYW4gT3lhcnp1bikKKwordXRpbC1saW51eCAyLjlkOgorCisqIGZpeGVkIHNlZ2ZhdWx0IGluIHVtb3VudCBjYXVzZWQgYnkgV2lsY294JyBwYXRjaCAoU3RlZmZlbiBaYWhuKQorKiBhZGRlZCBsbnogc3R1ZmYgdG8gZmRpc2sKKwordXRpbC1saW51eCAyLjljOgorCisqIHJlZml4ZWQgUEFNIHN0dWZmIGluIGxvZ2luLmMgdGhhdCB3YXMgYnJva2VuIGluIDIuOC4KKwordXRpbC1saW51eCAyLjliOgorCisqIHNwbGl0IFJFQURNRSBpbnRvIElOU1RBTEwgYW5kIEhJU1RPUlkKKyogYWRkZWQgYSBzZW50ZW5jZSB0byBzd2Fwb24uOAorKiBiZWhhdmlvciBvZiB3cml0ZSBvbiBub24tQVNDSUkgZml4ZWQKKyogaHdjbG9jayBhZGFwdGVkIHRvIHN1cnZpdmUgYSBmYWlsaW5nIG1rdGltZSgpCisKK3V0aWwtbGludXggMi45YToKKworKiBhZGRlZCBhbiBpbmNsdWRlIHRvIGxpYi9teV9yZWJvb3QuYyBzbyB0aGF0IF9fR0xJQkNfXyBpcyBkZWZpbmVkCisqIGFkZGVkIHNldGxvY2FsZSgpIHRvIGxvZ2luLXV0aWxzL2NoZm4uYworKiBkbyBub3QgcmVjb21wdXRlIE1BSUwgaW4gbG9naW4tdXRpbHMvbG9naW4uYworCit1dGlsLWxpbnV4IDIuOToKKworSElHSExJR0hUUyBmb3IgdmVyc2lvbiAyLjk6CisKKzEpIFJlbW92ZWQgcHJvZ3JhbXM6CisgICAtIHN0cmluZ3MuIFRoZXJlIGlzIGEgdmVyc2lvbiBpbiBiaW51dGlscy4KKyAgIC0gZnJhZy4gKE1vdmVkIHRvIGhpc3RvcmljIGluIDIuNCwgY3JlcHQgYmFjayBpbiAyLjUuIEdvbmUgYWdhaW4uKQorMWEpIE5vdCB5ZXQgcmVtb3ZlZCBwcm9ncmFtOgorICAgLSBzZXRmZHBybS4gSXQgYWxzbyBpcyBpbiBmZHV0aWxzLTUuMiAod2l0aCBhbiBleGNlcHRpb25hbGx5CisgICAgIHVnbHkgbWFuIHBhZ2UpLgorMWIpIFJlbW92ZWQgZGlyZWN0b3J5OgorICAgLSBic2QuIChUaGUgcm91dGluZSBnZXRvcHQoKSBpcyBpbiBsaWJjLiBlcnIoKSBtb3ZlZCB0byBsaWIuKQorMikgSW1wcm92ZW1lbnRzOgorICAgLSBkZGF0ZSBoYXMgYmVlbiBmaXhlZCB0byBjb3VudCBkb3duIHRvIHRoZSBuZXcsIHJpZ2h0IFgtZGF5CisgICAtIGxvb2sgaXMgbm93IHdpbGxpbmcgdG8gc2VhcmNoIG5vbi1FbmdsaXNoIGRpY3Rpb25hcmllcworICAgICAoaS5lLiwgdXNlcyBsb2NhbGUpCisgICAtIGNhbCBub3cga25vd3MgdGhhdCBEdXRjaCBkYXkgYWJicmV2aWF0aW9ucyBoYXZlIGxlbmd0aCAyIG9ubHkKKyAgIC0gbWNvb2tpZSBkb2VzIG5vdCBibG9jayB3aGVuIG5vIHJhbmRvbSBzdHVmZiBpcyBhdmFpbGFibGUKKyAgIC0gc2h1dGRvd24gZ290IGEgY29uZmlndXJhdGlvbiBmaWxlIC9ldGMvc2h1dGRvd24uY29uZgorICAgLSBmZGlzayBub3cgcmVhZHMgU0dJIGRpc2sgbGFiZWxzICh0aGFua3MgdG8gQW5kcmVhcyBOZXVwZXIpCisgICAtIG1rc3dhcCBub3cga25vd3MgYWJvdXQgbmV3IHN3YXAgYXJlYXM7IG1rc3dhcC44IGhhcyBiZWVuIHJld3JpdHRlbgorICAgLSB1bW91bnQga25vd3MgYWJvdXQgdW1vdW50MigpIGFuZCBmb3JjZWQgdW5tb3VudGluZyBvZiBuZnMgbW91bnRzCisgICAgIChob3dldmVyLCBJIGRvbid0IHRoaW5rIGl0IHJlYWxseSB3b3JrcykKKyAgIC0gbW91bnQgaXMgbm93IHdpbGxpbmcgdG8gaGFuZGxlIGZpbGUgbmFtZXMgd2l0aCBlbWJlZGRlZCBzcGFjZXMKKyAgIC0gbW91bnQgY2FuIG5vdyBtb3VudCB0aGluZ3MgYnkgVVVJRCBvciB2b2x1bWUgbmFtZQorMykgVWdsaWZpY2F0aW9uczoKKyAgIC0gc3dhcC5oIGhhcyBiZWVuIHJlcGxhY2VkIGJ5IGEgcHJpdmF0ZSBzd2FwX2NvbnN0YW50cy5oIHNpbmNlCisgICAgIDxsaW51eC9zd2FwLmg+IGRvZXMgbm90IGNvbXBpbGUKKyAgIC0gcmVib290IGhhcyBiZWNvbWUgYSBwcml2YXRlIHJvdXRpbmUsIHNpbmNlIGxpYmM1IGFuZCBnbGliYzIgY29uZmxpY3QKKyAgIC0gYSBta21pbml4LTAuMSBkaXJlY3RvcnkgY29udGFpbnMgc29tZSBwYXRjaGVzIHRvIGxldCBta2ZzLm1pbml4CisgICAgIHdvcmsgdW5kZXIgRE9TLiAoVW50ZXN0ZWQuKQorNCkgTnVtZXJvdXMgb3RoZXIgc21hbGwgY2hhbmdlcy4KKworMHhGKSBTZW5kIHF1ZXN0aW9ucyBhbmQvb3IgcGF0Y2hlcyB0byB1dGlsLWxpbnV4QG1hdGgudWlvLm5vCisKK3V0aWwtbGludXggMi45IHdhcyByZWxlYXNlZCBieSBBbmRyaWVzIEJyb3V3ZXIgLSBhZWJAY3dpLm5sCitUaGUgYWRkcmVzcyB1dGlsLWxpbnV4QG1hdGgudWlvLm5vIHJlYWNoZXMgUmlrLCBBbmRyaWVzLCBQZXRlciwKK01pY2hhZWwsIEVyaWssIE5pY29sYWkgYW5kIHBvc3NpYmx5IG90aGVycy4gIEh3Y2xvY2sgc3R1ZmYgaXMKK2ZvcndhcmRlZCB0byBCcnlhbi4KKwordXRpbC1saW51eCAyLjg6CisKK0hJR0hMSUdIVFMgZm9yIHZlcnNpb24gMi44OgorCisxKSBOZXcgcHJvZ3JhbXM6CisgICAtIGdldG9wdCgxKSBieSBGcm9kbyBMb29pamFhcmQgcmVwbGFjZXMgdGhlIG9sZGVyIGJzZCBiYXNlZCB2ZXJzaW9uLgorICAgICBLZXl3b3JkczogQmFja3dhcmQgY29tcGF0aWJsZSwgc3VwcG9ydHMgLS1sb25nIG9wdGlvbnMuCisxKSBSZW1vdmVkIHByb2dyYW1zOiAKKyAgIC0gY2hyb290OiBpcyBubyBsb25nZXIgaW4gdXRpbC1saW51eC4gIEdldCBpdCBmcmVlIHdpdGggR05VIHNoLXV0aWxzCisgICAtIGhvc3RpZDogTm8tb25lIGNvdWxkIGZpZ3VyZSBvdXQgdGhlIHJpZ2h0IHdheSBmb3IgdGhpcyBwcm9ncmFtIHRvCisJCXdvcmsuICBBbm90aGVyIGhvc3RpZCBwcm9ncmFtIGlzIGluY2x1ZGVkIGluIHBvZWlnbAorCQkoc2VlIHRoZSBMU00sIFByaW1hcnktc2l0ZTogZnRwLmRhaW1pLmFhdS5kayAvcHViL2xpbnV4L3BvZSkKKzIpIFZhcmlvdXMgcG9ydGFiaWxpdHkgZW5oYW5jZW1lbnRzLiAgQW1vbmcgb3RoZXIgdGhpbmdzIGh3Y2xvY2sgbm93IHdvcmtzCisgICBhIGxvdCBiZXR0ZXIgb24gbm9uIEludGVsIGFyY2hpdGVjdHVyZXMuICBTaG91bGQgY29tcGlsZSB3aXRoIGxpYmMgNCwgNQorICAgYW5kIDYgYXMgd2VsbCBhcyBvbGQgYW5kIHJlY2VudCBrZXJuZWxzLiAgUGVvcGxlIHVzaW5nIG5vbi1pbnRlbCBoYXJkd2FyZQorICAgYXJlIGVuY291cmFnZWQgdG8gc2VuZCBwYXRjaGVzLgorMykgcmV2IG5vdyBvbmx5IGxpbWl0cyBsaW5lbGVuZ3RoIHRvIG1lbW9yeSBjYXBhY2l0eQorNCkgZG1lc2cgbm93IHVzZXMgYSBidWZmZXIgdGhhdCBtYXRjaGVzIHRoZSBrZXJuZWwgYnVmZmVyIGluIHNpemUgKDhLQikKKworCit1dGlsLWxpbnV4IDIuNzoKKworSElHSExJR0hUUyBmb3IgdmVyc2lvbiAyLjc6CisKKzEpIHV0aWwtbGludXggbm93IF9yZXF1aXJlc18gbmN1cnNlcy4gIFNldmVyYWwgcHJvZ3JhbXMgYXJlIGNvbXBsZXRlbHkKKyAgIGNvbnZlcnRlZCB0byB1c2UgdGVybWluZm8gKGluc3RlYWQgb2YgdGVybWNhcCkuCisKKzIpIFJlbW92ZWQgcHJvZ3JhbXM6CisgICAtIGNsb2NrOiBEcm9wcGVkIGVudGlyZWx5LiAgVXNlIGh3Y2xvY2sgKGluY2x1ZGVkKS4KKyAgIC0gc3luYzogaXMgaW4gZ251IGZpbGV1dGlscy4KKyAgIC0gc2V0c2VyaWFsOiBJcyBiZWluZyBtYWludGFpbmVkIGJ5IFRlZCBUcydvLCBoZSByZWNvbW1lbmRzCisJc2V0c2VyaWFsLTIuMTIgKDIuMTMgaXMgYmFkIGx1Y2spCisgICAtIGNsZWFyOiBJbmNsdWRlZCBpbiBuY3Vyc2VzCisgICAtIGhvc3RuYW1lLCBkb21haW5uYW1lLCBkbnNkb21haW5uYW1lOiBJdCdzIGluIG5ldC11dGlscy4KKyAgIC0gbHBjbnRsLgorCiszKSBCdWdmaXhlcywgYWRkaXRpb25zOgorICAgLSBjZmRpc2s6IEEgbXVjaCBpbXByb3ZlZCB2ZXJzaW9uLiBBbGwga25vd24gYnVncyBoYXZlIGJlZW4gZml4ZWQuCisgICAtIHNmZGlzazogQSBjb21tYW5kIGxpbmUgZmRpc2sgdHlwZSB1dGlsaXR5LCBmb3JtZXJseSBjYWxsZWQgZmRpc2stMy4wNC4KKyAgIC0gU0VDVVJJVFk6IEFsbCBrbm93biBob2xlcyBpbiBsb2dpbiwgY2hmbiwgY2hzaCBhbmQgb3RoZXJzIGhhdmUgYmVlbgorICAgICBwbHVnZ2VkLiAgVVBHUkFERSBOT1cgaWYgeW91IGhhdmVuJ3QgYWxyZWFkeSBmaXhlZCB0aGVtIHlvdXJzZWxmLgorICAgLSBTaG91bGQgd29yayB3aXRoIGxpYmMgNCwgNSBhbmQgNiAoZ251bGliYyksIG9uIG02OGssIGludGVsLCBhbHBoYQorICAgICBhbmQgc3BhcmMuCisKKzQpIFByb2JsZW1zOgorICAgLSBUaGUgcnBjZ2VuIHRoYXQgY29tZXMgaW4gTmV0S2l0LUItMC4wOSBpcyBicm9rZW4uICBBdCBsZWFzdCBhcworICAgICBwYWNrYWdlZCB3aXRoIFJlZEhhdCA0LjIgKE5ldEtpdC1CLTAuMDktNikuICBUaGVyZSBhcmUgc2V2ZXJhbAorICAgICB3YXlzIHRvIGRlYWwgd2l0aCB0aGlzOgorICAgICAtIERvbid0IHJ1biBycGNnZW4sIHRoZSBuZWVkZWQgcHJlLWdlbmVyYXRlZCBzb3VyY2VzIGFyZSBpbmNsdWRlZAorICAgICAgIChuZnNtb3VudF94ZHIuYykuICBZb3UgbXVzdCBoYWNrIG1vdW50L01ha2VmaWxlIHRvIGRvIHRoaXMuCisgICAgIC0gRWRpdCB0aGUgc291cmNlIGVtaXR0ZWQgYnkgcnBjZ2VuIHNvIGl0IGNhbiBjb21waWxlLiAgVGhpcyBpcyB2ZXJ5CisgICAgICAgc2ltcGxlIGlmIHlvdSBrbm93IEMuCisgICAgIC0gRGlzYWJsZSB0aGUgTkZTIHBhcnRzIG9mIG1vdW50LiAgWW91IGhhdmUgdG8gZWRpdCBtb3VudC9NYWtlZmlsZQorICAgICAgIHRvIGRvIHRoaXMuCisgICAgIC0gVXNlIHNvbWUgb3RoZXIgcnBjZ2VuLgorCit1dGlsLWxpbnV4IDIuNi4xCisKK1RoaXMgcmVsZWFzZSB3YXMgbmV2ZXIgbWFkZSBwdWJsaWMKKworU2VlIG5vdGVzIGZvciAyLjYgZm9yIGluc3RhbGxhdGlvbiBpbnN0cnVjdGlvbnMuCisKK1RoaXMgaXMgYSBpbmNyZW1lbnRhbCByZWxlYXNlIGNvbnRhaW5pbmcgc29tZSBmaXhlcy4gIEEgbmV3IHJlbGVhc2UKK3dpbGwgYmUgbWFkZSBsYXRlciBmaXhpbmcgdGhlIG91dHN0YW5kaW5nIGJ1Z3MuCistIFRoaW5ncyBjb21waWxlcyBhbmQgd29ya3MgYmV0dGVyIHdpdGggcmVjZW50IHJlbGVhc2VzIG9mIGtlcm5lbCwgCisgIG5jdXJzZXMsIGFuZCBzbyBmb3J0aDogZmRpc2ssIG1vcmUKKy0gU29tZSBmaXhlcyB0byBtYWtlIHRoaW5ncyBjb21waWxlIG91dCBvZiB0aGUgYm94IG9uIGFscGhhcy4KKy0gVGhlcmUgaGFzIGJlZW4gcmVwb3J0ZWQgYSBwcm9ibGVtIHdpdGggbG9naW4gYW5kIC9ldGMvdXNlcnR0eS4gIEl0CisgIHNob3VsZCBiZSBmaXhlZC4gIElmIHlvdSBzdGlsbCBoYXZlIHByb2JsZW1zIGdldCBhIHJlY2VudCBNQUtFREVWIGFuZCAKKyAgdXNlIGl0IHRvIG1ha2UgbmV3IHR0eSBkZXZpY2VzLiAgVGhleSB3ZXJlIHJlbnVtYmVyZWQgc29tZXRpbWUgZHVyaW5nCisgIHRoZSAxLjMgcGhhc2Ugb2YgdGhlIGtlcm5lbC4KKy0gaXBjcyBub3cgZGlzcGxheXMgdGhlIGtleSBvZiB0aGUgc3RydWN0dXJlcy4KKy0gQSAoaGFybWxlc3M/KSBvdmVyZmxvdyBidWcgd2FzIGZpeGVkIGluIGxvZ2luLgorCitPdXRzdGFuZGluZyBidWdzOgorLSBsb2dpbi9nZXR0eSBoYXMgYSBkZW5pYWwgb2Ygc2VydmljZSBwcm9ibGVtLgorLSBTZXZlcmFsIHBsYWNlcyBuZWVkcyBhIGJpdCBtb3JlIHBvbGlzaC4KKy0gVGhlcmUgYXJlIGEgX2xvdF8gb2Ygbm9uZmF0YWwgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgbW91bnQuICBUaGlzIHdpbGwKKyAgbm90IG5lY2Vzc2FyaWx5IGJlIGZpeGVkLgorCisKK3V0aWwtbGludXggMi42CisKK0hJR0hMSUdIVFMgZm9yIHZlcnNpb24gMi42OgorCiswKSBUaGUgZmlyc3QgcmVsZWFzZSB3aXRoIG1lIGF0IHRoZSBoZWxtLiAgUExFQVNFIFNFTkQgUEFUQ0hFUyBBTkQKKyAgIFVQREFURVMgVE86IHV0aWwtbGludXhAbWF0aC51aW8ubm8uCisKKzEpIFJlbW92ZWQgcHJvZ3JhbXM6CisgICAtIG1kNXN1bSwgZHNwbGl0OiBhdmFpbGFibGUgaW4gR05VIHRleHR1dGlscy4KKyAgIC0gc3lzbG9nZDogU3lza2xvZ2QgaXMgbm93IHByZWZlcnJlZC4gIEl0IGlzIGF2YWlsYWJsZSBhdAorCXRzeC0xMS5taXQuZWR1Oi9wdWIvc291cmNlcy9zYmluCisJc3Vuc2l0ZS51bmMuZWR1Oi9wdWIvTGludXgvc3lzdGVtL0RhZW1vbnMKKworMikgQnVnZml4ZXMsIGFkZGl0aW9uczogCisgICAtIFNFQ1VSSVRZOiBBbGwga25vd24gaG9sZXMgaW4gbW91bnQgaGF2ZSBiZWVuIGZpeGVkLiAgVVBHUkFERSBOT1cKKyAgICAgaWYgeW91IGhhdmVuJ3QgYWxyZWFkeSEKKyAgIC0gUG9ydGFiaWxpdHkgZW5oYW5jZW1lbnRzIHRvIHRoZSBtaW5peCBmaWxlc3lzdGVtIHV0aWxzIChtNjhrIGFuZAorICAgICBBcm0gcGF0Y2hlcykuCisgICAtIHBhc3N3ZC9jaHNoL2NoZm4gd2lsbCBub3QgbWVzcyB1cCB0aGUgcGFzc3dkIGZpbGUgb24gYSBOSVMgbWFjaGluZQorICAgLSBvdGhlcnMgdG9vIG51bWVyb3VzIHRvIGVudW1lcmF0ZS4KKworMykgTmV3IHByb2dyYW1zOiAKKyAgIC0gdmlnciAoaXQncyBsaWtlIHZpcHcpCisgICAtIEludHJvZHVjaW5nIGh3Y2xvY2suICBBIGNvbXBsZXRlIHJld3JpdGUgb2YgdGhlIGxhdGVzdCBhdmFpbGFibGUKKyAgICAgY2xvY2sgc291cmNlLiAgSXQgc3VwcG9ydHMgaW50ZWwvQ01PUywgL2Rldi9ydGMgYW5kIGxpbnV4L202OGsKKyAgICAgc3lzdGVtIGNsb2NrIGludGVyZmFjZXMuICBDbG9jayBzdXBwb3J0cyB0aGUgc2FtZSB0aGluZ3MgYnV0IGlzIG5vdworICAgICBvYnNvbGV0ZSBhbmQgd2lsbCBub3QgYmUgcHJlc2VudCBpbiB0aGUgbmV4dCByZWxlYXNlLiAgU3RhcnQgdXNpbmcKKyAgICAgaHdjbG9jayBub3cuICBQbGVhc2UuCisKKwordXRpbC1saW51eCAyLjUKKworSElHSExJR0hUUyBmb3IgdmVyc2lvbiAyLjU6CiswKSBOaWNvbGFpIExhbmdmZWxkdCBpcyB0YWtpbmcgb3ZlciBtYWludGVuYW5jZSBvZiB1dGlsLWxpbnV4LCB3aXRoIHRoZQorICAgaGVscCBvZiBhIGZldyBvdGhlcnMgKE1pY2hhZWwgSy4gSm9obnNvbiwgQW5kcmllcyBCcm91d2VyLCBhbmQgUmlrCisgICBGYWl0aCkuCisKKyAgIFBMRUFTRSBTRU5EIFBBVENIRVMgQU5EIFVQREFURVMgVE86IHV0aWwtbGludXhAbWF0aC51aW8ubm8KKworMSkgVGhlIGZvbGxvd2luZyBwYWNrYWdlcyBoYXZlIGJlZW4gcmVtb3ZlZC4gIFBsZWFzZSB1c2UgdGhlIHVwLXRvLWRhdGUsCisgICBjYW5vbmljYWwgdmVyc2lvbnMgb2YgdGhlc2UgcGFja2FnZXMgZnJvbSB0aGUgbGlzdGVkIHBsYWNlczoKKworICAgIHRpbWV6b25lIHN1cHBvcnQgKC91c3IvbGliL3pvbmVpbmZvLCBsaWJ6LmEsIHppYywgemR1bXApOgorICAgICAgICBlbHNpZS5uY2kubmloLmdvdjovcHViL3R6Y29kZTk1ZC50YXIuZ3oKKyAgICAgICAgZWxzaWUubmNpLm5paC5nb3Y6L3B1Yi90emRhdGE5NWgudGFyLmd6CisgICAgTUFLRURFVi1DOgorICAgICAgICBzdW5zaXRlLnVuYy5lZHU6L3B1Yi9MaW51eC9zeXN0ZW0vQWRtaW4vTUFLRURFVi1DLTEuNS50YXIuZ3oKKyAgICBNQUtFREVWOgorICAgICAgICBzdW5zaXRlLnVuYy5lZHU6L3B1Yi9MaW51eC9zeXN0ZW0vQWRtaW4vTUFLRURFVi0yLjIudGFyLmd6CisgICAgbWQ1c3VtOgorICAgICAgICBwcmVwLmFpLm1pdC5lZHU6L3B1Yi9nbnUvdGV4dHV0aWxzLTEuMy50YXIuZ3oKKyAgICAgICAgW1RoZSBHTlUgdmVyc2lvbiBpcyBub3cgY29tcGF0aWJsZSB3aXRoIHRoZSBQbHVtYi9MYW5rZXN0ZXIKKyAgICAgICAgdmVyc2lvbi5dCisgICAga3N5bW9vcHM6CisgICAgICAgIE5vdyBidW5kbGVkIHdpdGggdGhlIGtlcm5lbCBpbiBsaW51eC9zY3JpcHRzLgorCisyKSB1cGRhdGVfc3RhdGUgaGFzIGJlZW4gcmVtb3ZlZAorMykgZmRpc2sgbm93IHN1cHBvcnRzIE5ldEJTRCBkaXNrbGFiZWxzIGNvdXJ0ZXN5IG9mIEJlcm5oYXJkIEZhc3RlbnJhdGgKKyAgIDxmYXN0ZW5AYXRoZW5lLmluZm9ybWF0aWsudW5pLWJvbm4uZGU+IChhbmQgPiA4R0IgZGlza3MsIGNvdXJ0ZXN5IG9mCisgICBBbmRyaWVzIEJyb3V3ZXIpCis0KSBtb3VudCBpbXByb3ZlZCAtLSBtYW55IHBhdGNoZXMgZnJvbSBBbmRyaWVzIEJyb3V3ZXIgZm9yIGdyZWF0bHkgaW1wcm92ZWQKKyAgIGVycm9yIHJlcG9ydGluZworNSkgZGRhdGUsIGNoa2R1cGV4ZSwgYW5kIG90aGVyIHByb2dyYW1zIGhhdmUgYmVlbiBpbXByb3ZlZCBhbmQgYnVnIGZpeGVkCis2KSB1dGlsLWxpbnV4IGlzIG5vdyBhIHNvdXJjZS1vbmx5IGRpc3RyaWJ1dGlvbgorNykgbWNvb2tpZSBnZW5lcmF0ZXMgYmV0dGVyIHJhbmRvbSBudW1iZXJzIGFuZCB3aWxsIHVzZSAvZGV2L3JhbmRvbSBvcgorICAgL2Rldi9hdWRpbyBpZiBhdmFpbGFibGUKKzgpIGNoZm4sIGNoc2gsIHBhc3N3ZCwgYW5kIHZpcHcgaGF2ZSBiZWVuIHVwZGF0ZWQgd2l0aCBzZWN1cml0eSBwYXRjaGVzCisgICBmcm9tIFplZnJhbSA8QS5NYWluQGRjcy53YXJ3aWNrLmFjLnVrPi4gIE5vdywgdGhleSBhbGwgdXNlIHRoZSBzYW1lCisgICBsb2NraW5nLCBhbmQgc2V2ZXJhbCBzZWN1cml0eSBob2xlcyBoYXZlIGJlZW4gcGF0Y2hlZC4gIEZ1cnRoZXIsIGNoc2gKKyAgIGFuZCBjaGZuIGNhbiBiZSBjb25maWd1cmVkIGF0IGNvbXBpbGUgdGltZSB0byByZXF1aXJlIGEgcGFzc3dvcmQgYmVmb3JlCisgICB1cGRhdGVzIGFuZCBjaHNoIGNhbiBiZSBjb25maWd1cmVkIHRvIG9ubHkgdXNlIHNoZWxscyBmcm9tIC9ldGMvc2hlbGxzLgorICAgICAgICAKKworSElHSExJR0hUUyBmb3IgdmVyc2lvbiAyLjQgKDIuMyB3YXMgbmV2ZXIgcmVsZWFzZWQpOgorMCkgTWljaGFlbCBLLiBKb2huc29uIDxqb2huc29ubUBuaWdlbC52bmV0Lm5ldD4gaXMgdGhlIGludGVyaW0gbWFpbnRhaW5lcgorICAgd2hpbGUgUmlrIEZhaXRoIGlzIHdvcmtpbmcgb24gUGhEIHdvcmsuCisxKSBsb2dpbiBub3cgbWFrZXMgdGhlIGxvZ2luIHR0eSBtb2RlIDYwMCBhbmQgcGxhY2VzIGl0IGluIGdyb3VwICJ0dHkiCisyKSB3YWxsLCBhbmQgd3JpdGUgd2lsbCBub3Qgd3JpdGUgZGFuZ2Vyb3VzIGVzY2FwZSBzZXF1ZW5jZXMKKzMpIHdhbGwgYW5kIHdyaXRlIGNhbiBiZSBydW4gc2V0Z2lkICJ0dHkiLiAgSWYgdXRpbC1saW51eCBpcyBjb21waWxlZCBmb3IKKyAgIHRoaXMgb3B0aW9uLCAibWVzZyB5IiB3aWxsIG9ubHkgc2V0IGdyb3VwIHdyaXRlIGluc3RlYWQgb2YgZ3JvdXAvb3RoZXIKKyAgIHdyaXRlLgorNCkgZmRpc2sgYW5kIGNmZGlzayBoYXZlIGJlZW4gcGF0Y2hlZCB3aXRoIHRoZSBsYXRlc3QgbGxzZWVrLmMuICBBbHRob3VnaCBJCisgICBoYWQgYSBsb3Qgb2YgYnVnIHJlcG9ydHMgYWJvdXQgZmRpc2sgZnJvbSB1dGlsLWxpbnV4LTIuMiwgSSB3YXMgdW5hYmxlCisgICB0byByZXByb2R1Y2UgYW55IG9mIHRoZSBwcm9ibGVtcy4gIFNvbWUgb2YgdGhlIHByb2JsZW1zIGFwcGVhcmVkIHRvIGJlCisgICByZWxhdGVkIHRvIGEgZmFpbHVyZSB0byByZWJvb3QgdGhlIG1hY2hpbmUgYWZ0ZXIgY2hhbmdpbmcgdGhlIHBhcnRpdGlvbgorICAgdGFibGUsIGFuZCBzb21lIG1heSBoYXZlIGJlZW4gZHVlIHRvIGEgc3BlY2lmaWMga2VybmVsIHJldmlzaW9uIHByb2JsZW0uCisgICBIb3dldmVyLCB0aGlzIGRvZXNuJ3Qgc2VlbSB0byBhY2NvdW50IGZvciBhbGwgb2YgdGhlIGJ1ZyByZXBvcnRzIC0tIGlmCisgICB0aGlzIHZlcnNpb24gZ2l2ZXMgeW91IHByb2JsZW0sIHBsZWFzZSBzZW5kIGFzIGNvbXBsZXRlIGEgYnVnIHJlcG9ydCBhcworICAgcG9zc2libGUuCis1KSBjaGtkdXBleGUgZnJvbSBOaWNvbGFpIExhbmdmZWxkdCAoamFubEBpZmkudWlvLm5vKQorNikgY3RybGFsdGRlbCBub3cgaW5zdGFsbHMgaW50byAvc2JpbiBpbnN0ZWFkIG9mIC91c3Ivc2JpbgorNykgbWtmcyByZXBsYWNlbWVudCBmcm9tIFJvbiBTb21tZWxpbmcgKHNvbW1lbEBzY2kua3VuLm5sKQorOCkgbHBjbnRsIHJlbW92ZWQuICBVc2UgdHVuZWxwIGluc3RlYWQuCis5KSBrc3ltb29wcyBmcm9tIEdyZWcgTWNHYXJ5IDxna21AbWFnaWxsYS5jaWNobGlkLmNvbT4KKzEwKSBta2ZzLm1pbml4IG5vdyBjbGVhcnMgdGhlIGZpcnN0IDUxMiBieXRlcyBvZiB0aGUgZmlsZSBzeXN0ZW0gc28gdGhhdAorICAgIE1pbml4IGRpc2tzIHdvbid0IGJlIGNvbmZ1c2VkIHdpdGggTVNET1MgZGlza3MgKERhbmllbCBRdWlubGFuCisgICAgKHF1aW5sYW5AeWdnZHJhc2lsLmNvbSkpCisxMSkgbWtzd2FwIHNob3VsZCBub3cgd29yayBvbiBhbiBBbHBoYSBydW5uaW5nIExpbnV4CisxMikgZnJhZyByZW1vdmVkLiAgU2VlCisgICAgc3Vuc2l0ZS51bmMuZWR1Oi9wdWIvTGludXgvc3lzdGVtL0ZpbGVzeXN0ZW1zL2RlZnJhZy0wLjYudGFyLmd6IGZvciB0aGUKKyAgICBsYXRlc3QgdmVyc2lvbi4KKzEzKSBtb3VudCBwYXRjaGVzIGZyb20gQW5kcmllcy5Ccm91d2VyQGN3aS5ubCBhbmQgRGFuIFF1aW5sYW4KKyAgICAocXVpbmxhbkB5Z2dkcmFzaWwuY29tKS4KKzE0KSBNQUtFREVWIGFuZCBNQUtFREVWLUMgdXBkYXRlZCB0byB0aGUgbGF0ZXN0IHZlcnNpb25zLgorMTUpIFBhdGhzIHVwZGF0ZWQgZm9yIEZTU1RORCAxLjIuICBUaGlzIG1lYW5zIHRoYXQgeW91IG1heSBuZWVkIHRvIG1ha2UKKyAgICBzb21lIGxpbmtzLiAgVGhlIGxpbmtzIHlvdSBuZWVkIHRvIG1ha2Ugd2Ugc3lzdGVtIGRlcGVuZGVudC4gIFRoZQorICAgIHVsdGltYXRlIGdvYWwgaXMgdG8gcmVuYW1lIC92YXIvYWRtIHRvIC92YXIvbG9nIGFuZCBoYXZlIGEgc3ltYm9saWMKKyAgICBsaW5rIGZyb20gL3Zhci9hZG0gdG8gL3Zhci9sb2cgZHVyaW5nIHRoZSB0cmFuc2l0aW9uIHBlcmlvZC4gIElmIHlvdQorICAgIGFyZSBydW5uaW5nIGFuIEVMRiBzeXN0ZW0sIHlvdSBwcm9iYWJseSB3b24ndCBoYXZlIHRvIGRvIGFueXRoaW5nLiAgVGhlCisgICAgYm90dG9tIGxpbmUgaXMgdGhhdCB0aGUgZm9sbG93aW5nIGZpbGVzIG11c3QgZXhpc3Qgb3IgYmUgcG9pbnRlcnMgdG8KKyAgICB0aGUgb2xkIHZlcnNpb24gKHVzZWQgaW50ZXJuYWxseSBieSB0aGUgYS5vdXQgbGlicmFyaWVzKToKKworICAgICAgICAgICAgIE5ldyAgICAgICAgICAgICAgICAgT2xkCisKKyAgICAgICAgL3Zhci9sb2cvd3RtcCAgICAgICAvdmFyL2FkbS93dG1wCisgICAgICAgIC92YXIvbG9nL2xhc3Rsb2cgICAgL3Zhci9hZG0vbGFzdGxvZworICAgICAgICAvdmFyL3J1bi91dG1wICAgICAgIC92YXIvYWRtL3V0bXAKKworSElHSExJR0hUUyBmb3IgdmVyc2lvbiAyLjI6CisxKSBUaGlzIGlzIHByaW1hcmlseSBhIHF1aWNrIGJ1Zy1maXggcmVsZWFzZSBmb3IgdmVyc2lvbiAyLjEKKzIpIG1rZnMgd3JhcHBlciBhZGRlZCBiYWNrIGluLCBzaW5jZSBlMmZzcHJvZ3Mgb25seSBzdXBwbGllcyBhbiBmc2NrIHdyYXBwZXIKKzMpIHNlbGVjdGlvbiByZW1vdmVkLCBzaW5jZSBzb21lb25lIGFwcGVhcnMgdG8gYmUgbWFpbnRhaW5pbmcgaXQgbm93LiAgU2VlCisgICBzdW5zaXRlLnVuYy5lZHU6L3B1Yi9saW51eC9rZXJuZWwvcGF0Y2hlcy9jb25zb2xlIGZvciByZWNlbnQgc291cmNlcy4KKyAgIEZvciB0aGUgdGltZSBiZWluZywgSSdtIGtlZXBpbmcgYSBjb3B5IGluIHRoZSBoaXN0b3JpYyBzdWJkaXJlY3Rvcnkgb2YKKyAgIHV0aWwtbGludXguICBBICJtYWtlIGluc3RhbGwiIHNob3VsZCB3b3JrIGZpbmQgZnJvbSB3aXRoaW4gdGhhdAorICAgZGlyZWN0b3J5LgorNCkgTm90ZSB0aGF0IG90aGVyIGZsb3BweSB1dGlsaXRpZXMgYXJlIGF2YWlsYWJsZSBmcm9tOgorICAgIGZ0cC5pbWFnLmZyOnB1Yi9MaW51eC9aTElCQy9mZHV0aWxzL2ZkdXRpbHMtNC4xLnNyYy50YXIuZ3oKKyAgICBzdW5zaXRlLnVuYy5lZHU6L3B1Yi9MaW51eC9zeXN0ZW0vTWlzYy9mZHV0aWxzLTQuMS5zcmMudGFyLmd6CisgICAgdHN4LTExLm1pdC5lZHU6L3B1Yi9saW51eC9zb3VyY2VzL3NiaW4vZmR1dGlscy00LjEuc3JjLnRhci5negorCisKK0hJR0hMSUdIVFMgZm9yIHZlcnNpb24gMi4xOgorCisxKSBEaXJlY3Rvcnkgc3RydWN0dXJlIHJlYXJyYW5nZSwgd2l0aCBjb25maWd1cmF0aW9uIHN1cHBvcnQgZm9yIHRob3NlIHdobworICAgdXNlIHNoYWRvdyBwYXNzd29yZHMgYW5kIFN5c3RlbSBWIGluaXQgKG5vIHN1cHBvcnQgaXMgcHJvdmlkZWQgZm9yIHRoZXNlCisgICB0aGluZ3MsIGJ1dCB5b3VyIHV0aWxpdGllcyB3b24ndCBnZXQgb3ZlcndyaXR0ZW4gaWYgeW91IGRvIGEgIm1ha2UKKyAgIGluc3RhbGwiIGFmdGVyIHlvdSBwcm9wZXJseSBlZGl0IE1DT05GSUcpLgorMikgZmRpc2sgYW5kIGNmZGlzayBzaG91bGQgd29yayBhcyBleHBlY3RlZCB3aXRoIDJHQisgZGlzayBkcml2ZXMKKzMpIEFzIHVzdWFsLCBsb3RzIG9mIHN0dWZmIHdhcyB1cGRhdGVkIGFuZCBhZGRlZCwgaW5jbHVkaW5nIG1vdW50LCB2aXB3LAorICAgcmVhZHByb2ZpbGUKKzQpIFNvbWUgc3R1ZmYgd2FzIGFsc28gZGVsZXRlZCwgYW5kIGNhbiBub3cgYmUgZm91bmQgZWxzZXdoZXJlOgorICAgIGZzY2sgd3JhcHBlcjogdHN4LTExLm1pdC5lZHU6L3B1Yi9saW51eC9BTFBIQS9leHQyZnMvZTJmc3Byb2dzKgorICAgIHB3ZCwgc3U6IHByZXAuYWkubWl0LmVkdTovcHViL2dudS9zaC11dGlscyoKKyAgICBlZDogcHJlcC5haS5taXQuZWR1Oi9wdWIvZ251L2VkKgorICAgIG9kOiBwcmVwLmFpLm1pdC5lZHU6L3B1Yi9nbnUvdGV4dHV0aWxzKgorICAgIHV1ZGVjb2RlL3V1ZW5jb2RlOiBwcmVwLmFpLm1pdC5lZHU6L3B1Yi9nbnUvc2hhcnV0aWxzKgorICAgIGJkZmx1c2gvdXBkYXRlOiBmdHAuZnVuZXQuZmk6L3B1Yi9PUy9MaW51eC9QRU9QTEUvTGludXMvdjEuMS9iZGZsdXNoKgorCisKKworUEFSVElBTCBISVNUT1JZIE9GIFVUSUwtTElOVVg6CisKK2JzZDoKKyAgICBOb3RoaW5nIGluIHRoaXMgZGlyZWN0b3J5IGdldHMgaW5zdGFsbGVkLCBidXQgc29tZSBCU0QgcHJvZ3JhbXMgbmVlZAorICAgIHRoaXMgc3VwcG9ydDoKKyAgICAgICAgZXJyLmM6IDguMSAoQmVya2VsZXkpIDYvNC85MworICAgICAgICBlcnIuaDogOC4xIChCZXJrZWxleSkgNi8yLzkzCisgICAgICAgIGdldG9wdC5jOiA0LjEzIChCZXJrZWxleSkgMi8yMy85MQorICAgICAgICBwYXRobmFtZXMuaDogNS4zIChCZXJrZWxleSkgNS85Lzg5IHdpdGggZXh0ZW5zaXZlIG1vZGlmaWNhdGlvbnMgZm9yCisgICAgICAgICAgICAgICAgICAgICBMaW51eAorCitkaXNrLXV0aWxzOgorICAgIGNmZGlzazogMC44IEJFVEEgKD4yR0IpIGZyb20gS2V2aW4gRS4gTWFydGluIChtYXJ0aW5AY3MudW5jLmVkdSkgd2l0aAorICAgICAgICAgICAgbW9kaWZpY2F0aW9ucyBmb3IgZGlza3MgPiAyR0IuCisgICAgICAgICAgICBmdHAuY3MudW5jLmVkdTovcHViL3VzZXJzL21hcnRpbi9saW51eC9jZmRpc2stMC44LnRhci5negorICAgIGZkZm9ybWF0OiBXZXJuZXIgQWxtZXNiZXJnZXIgKGFsbWVzYmVyQG5lc3NpZS5jcy5pZC5ldGh6LmNoKSwgd2l0aAorICAgICAgICAgICAgICBtb2RpZmljYXRpb25zIGJ5IE1hcmNlbCBNb2wgKG1hcmNlbEBkdXRlY2FkLmV0LnR1ZGVsZnQubmwpKS4KKyAgICAgICAgICAgICAgTGF0ZXIsIHVwZGF0ZWQgd2l0aCBhIFNlcHRlbWJlciAxOTkyIHZlcnNpb24gYnkgV2VybmVyLgorICAgIGZkaXNrOiBBLiBWLiBMZSBCbGFuYyAoTGVCbGFuY0BtY2MuYWMudWspIGZkaXNrIDEuNSByZWxlYXNlLCB3aXRoCisgICAgICAgICAgIHBhdGNoZWQgZnJvbSBLZXZpbiBNYXJ0aW4gZm9yIERPUyBhbmQgT1MvMiBjb21wYXRpYmlsaXR5ICgxLjVhKTsKKyAgICAgICAgICAgUmlrIEZhaXRoICgxLjViLCAyLjApLgorICAgIGZzY2subWluaXgsIG1rZnMubWluaXg6IExpbnVzIFRvcnZhbGRzLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnk6IFJpaworICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KSwgU2NvdHQgSGVhdm5lcgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzZGhAcG8uY3dydS5lZHUpLCBEci4gV2V0dHN0ZWluCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGdyZWcld2luZC51dWNwQHBsYWlucy5ub2Rhay5lZHUpLCBEYW5pZWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBRdWlubGFuIChxdWlubGFuQHlnZ2RyYXNpbC5jb20pLgorICAgIG1rZnM6IERhdmlkIEVuZ2VsIChkYXZpZEBvZHMuY29tKSBhbmQgRnJlZCBOLiB2YW4gS2VtcGVuCisgICAgICAgICAgKHdhbHRqZUB1V2FsdC5OTC5NdWduZXQuT1JHKQorICAgICAgICAgIFZlcnNpb24gMS45IGZyb20gUm9uIFNvbW1lbGluZyAoc29tbWVsQHNjaS5rdW4ubmwpCisgICAgbWtzd2FwOiBMaW51cyBUb3J2YWxkcywgd2l0aCBtb2RpZmljYXRpb25zIGJ5IE1pa2UgSmFnZGlzCisgICAgICAgICAgICAoamFnZ3lAcHVycGxldC5kZW1vbi5jby51ay4gKQorICAgICAgICAgICAgVmVyc2lvbiBmb3IgQWxwaGEgZnJvbQorICAgICAgICAgICAgY2FnZS5jcy5hcml6b25hLmVkdTovcHViL2RhdmlkbS9saW51eC9ta3N3YXAtYXhwLTk1MDUwMy50YXIuZ3oKKyAgICBzZXRmZHBybTogV2VybmVyIEFsbWVzYmVyZ2VyIChhbG1lc2JlckBuZXNzaWUuY3MuaWQuZXRoei5jaCkKKyAgICAgICAgICAgICAgTm90ZSB0aGF0IG1vcmUgZmxvcHB5IHV0aWxpdGllcyBhcmUgYXZhaWxhYmxlIGZyb206CisgICAgICAgICAgICAgICAgZnRwLmltYWcuZnI6cHViL0xpbnV4L1pMSUJDL2ZkdXRpbHMvZmR1dGlscy00LjEuc3JjLnRhci5negorICAgICAgICAgICAgICAgIHN1bnNpdGUudW5jLmVkdTovcHViL0xpbnV4L3N5c3RlbS9NaXNjL2ZkdXRpbHMtNC4xLnNyYy50YXIuZ3oKKyAgICAgICAgICAgICAgICB0c3gtMTEubWl0LmVkdTovcHViL2xpbnV4L3NvdXJjZXMvc2Jpbi9mZHV0aWxzLTQuMS5zcmMudGFyLmd6CisgICAgbGxzZWVrLmM6IGZyb20gUmVteSBDYXJkJ3MgZTJmc3Byb2dzLTAuNWIudGFyLmd6ICgyMU1hcjk1IHZlcnNpb24pIGZyb206CisgICAgICAgICAgICAgICAgc3Vuc2l0ZS51bmMuZWR1Oi9wdWIvTGludXgvc3lzdGVtL0ZpbGVzeXN0ZW1zL2V4dDIKKworZ2FtZXM6CisgICAgYmFubmVyOiAoOC4zIChCZXJrZWxleSkgNC8yLzk0KQorICAgICAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorCitsb2dpbi11dGlsczoKKyAgICBhZ2V0dHk6IFcuIFouIFZlbmVtYSwgcG9ydGVkIGJ5IFBldGVyIE9yYmFlayA8cG9lQGRhaW1pLmFhdS5kaz4uCisgICAgICAgICAgICBmdHAuZGFpbWkuYWF1LmRrOi9wdWIvbGludXgvcG9lL3BvZWlnbC0xLjM3LnRhci5negorICAgIGNoZm46IFNhbHZhdG9yZSBWYWxlbnRlIDxzdmFsZW50ZUBhdGhlbmEubWl0LmVkdT4KKyAgICBjaHNoOiBTYWx2YXRvcmUgVmFsZW50ZSA8c3ZhbGVudGVAYXRoZW5hLm1pdC5lZHU+CisgICAgbGFzdDogNS4xMSB3L3llYXIgKEJlcmtlbGV5KSA2LzI5Lzg4OyBQb3J0IGJ5IE1pY2hhZWwgSGFhcmR0IHdpdGgKKyAgICAgICAgICBjaGFuZ2VzIGJ5IFBldGVyIE9yYmFlay4KKyAgICAgICAgICBmdHA6Ly9mdHAuZGFpbWkuYWF1LmRrL3B1Yi9saW51eC9wb2UvYWRtdXRpbC0xLjE2LnRhci5negorICAgIGxvZ2luOiA1LjQwIChCZXJrZWxleSkgNS85Lzg5OyB3aXRoIHBvcnRzIGJ5IE1pY2hhZWwgR2xhZCBhbmQgUGV0ZXIgT3JiYWVrCisgICAgICAgICAgIGZ0cC5kYWltaS5hYXUuZGs6L3B1Yi9saW51eC9wb2UvcG9laWdsLTEuMzcudGFyLmd6CisgICAgbWVzZzogOC4yIChCZXJrZWxleSkgMS8yMS85NAorICAgICAgICAgIGZ0cC5jZHJvbS5jb206L3B1Yi9ic2Qtc291cmNlcy80LjRCU0QtTGl0ZS91c3Ivc3JjL3Vzci5iaW4KKyAgICBuZXdncnA6IE1pY2hhZWwgSGFhcmR0LCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgUGV0ZXIgT3JiYWVrLgorICAgICAgICAgICAgZnRwOi8vZnRwLmRhaW1pLmFhdS5kay9wdWIvbGludXgvcG9lL2FkbXV0aWwtMS4xNi50YXIuZ3oKKyAgICBwYXNzd2Q6IFBldGVyIE9yYmFlaywgd2l0aCB5cCBtb2RpZmljYXRpb25zIGJ5IEFsdmFybyBNYXJ0aW5legorICAgICAgICAgICAgRWNoZXZhcnJpYSAoYWx2YXJvQGVuYW5vLmV0c2l0LnVwbS5lcykKKyAgICAgICAgICAgIGZ0cDovL2Z0cC5kYWltaS5hYXUuZGsvcHViL2xpbnV4L3BvZS9hZG11dGlsLTEuMTYudGFyLmd6CisgICAgc2h1dGRvd246IFBldGVyIE9yYmFlaywgd2l0aCBuZXcgbW9kaWZpY2F0aW9ucyBieSBTdGVwaGVuIFR3ZWVkaWUsIFJpaworICAgICAgICAgICAgICBGYWl0aCwgYW5kIERhdmUgKGdlbnR6ZWxAbm92YS5lbmV0LmRlYy5jb20pLgorICAgICAgICAgICAgICBmdHA6Ly9mdHAuZGFpbWkuYWF1LmRrL3B1Yi9saW51eC9wb2UvYWRtdXRpbC0xLjE2LnRhci5negorICAgIHNpbXBsZWluaXQ6IFBldGVyIE9yYmFlaworICAgICAgICAgICAgICAgIGZ0cC5kYWltaS5hYXUuZGs6L3B1Yi9saW51eC9wb2UvcG9laWdsLTEuMzcudGFyLmd6CisgICAgdmlwdzogNS4xNiAoQmVya2VsZXkpIDMvMy85MSwgd2l0aCBtb2RpZmljYXRpb25zIGJ5IE1pa2UgR3J1cGVuaG9mZgorICAgICAgICAgIDxrYXNobWlyQHVtaWFjcy5VTUQuRURVPiAKKyAgICB3YWxsOiA4LjIgKEJlcmtlbGV5KSAxMS8xNi85MyAoV2l0aCBjaGFuZ2VzIHNvIHRoYXQgZGFtYWdpbmcgZXNjYXBlCisgICAgICAgICAgc2VxdWVuY2VzIGNhbm5vdCBiZSBzZW50LikKKyAgICAgICAgICBmdHAuY2Ryb20uY29tOi9wdWIvYnNkLXNvdXJjZXMvNC40QlNELUxpdGUvdXNyL3NyYy91c3IuYmluCisKKworbWlzYy11dGlsczoKKyAgICBjYWw6IDguNCAoQmVya2VsZXkpIDQvMi85NCwgd2l0aCBtb2RpZmljYXRpb25zIGJ5IFJpayBGYWl0aCBhbmQKKyAgICAgICAgIEhlaW5Ac3R1ZGVudC50dS1jbGF1c3RoYWwuZGUgKEpvY2hlbiBIZWluKS4KKyAgICAgICAgIGZ0cC5jZHJvbS5jb206L3B1Yi9ic2Qtc291cmNlcy80LjRCU0QtTGl0ZS91c3Ivc3JjL3Vzci5iaW4KKyAgICBjaGtkdXBleGU6IFZlcnNpb24gMS4yIGZyb20gIk5pY29sYWkgTGFuZ2ZlbGR0IiA8amFubEBpZmkudWlvLm5vPgorICAgIGNsZWFyOiBSaWsgRmFpdGgKKyAgICBkZGF0ZTogRHJ1ZWwgdGhlIENoYW90aWMgYWthIEplcmVteSBKb2huc29uIGFrYSBtcHl0aG9uQGdudS5haS5taXQuZWR1LAorICAgICAgICAgICB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgTGVlIEhhcnZleSBPc3dhbGQgU21pdGgsIEsuUy5DLiBhbmQKKyAgICAgICAgICAgc3Vic3RhbnRpYWwgdXBkYXRlcyBmcm9tIFJldi4gQnJvLiBMZWUgSDouIE86LiBTbWl0aCwgS1lUUAorICAgIGRvbWFpbm5hbWU6IFBldGVyIE9yYmFlaworICAgICAgICAgICAgZnRwLmRhaW1pLmFhdS5kazovcHViL2xpbnV4L3BvZS9wb2VpZ2wtMS4zNy50YXIuZ3oKKyAgICBkc3BsaXQ6IERhdmlkIEFybnN0ZWluIChhcm5zdGVpbkBuZXRjb20uY29tKQorICAgICAgICAgICAgZ2F0ZWtlZXBlci5kZWMuY29tOi9wdWIvdXNlbmV0L2NvbXAuc291cmNlcy5taXNjL3ZvbHVtZTQwL2RzcGxpdAorICAgIGdldG9wdCAoZ2V0b3B0cHJvZyk6IGpodW5peC5oY2Yuamh1LmVkdToKKyAgICAgICAgICAgL3B1Yi9wdWJsaWNfZG9tYWluX3NvZnR3YXJlL05ldEJTRC91c3Ivc3JjL3Vzci5iaW4vZ2V0b3B0CisJICAgcmVwbGFjZWQgYnkgZ2V0b3B0LTEuMC4zLnRhci5neiBmcm9tIEZyb2RvIExvb2lqYWFyZCwKKwkgICBmb3VuZCBhdCBodHRwOi8vaHVpemVuLmRkcy5ubC9+ZnJvZG9sCisgICAgaG9zdGlkOiBNaXRjaCBEU291emEgKG0uZHNvdXphQG1yYy1hcHUuY2FtLmFjLnVrKQorICAgICAgICAgICAgZnRwLmRhaW1pLmFhdS5kazovcHViL2xpbnV4L3BvZS9wb2VpZ2wtMS4zNy50YXIuZ3oKKyAgICBob3N0bmFtZS9kbnNkb21haW5uYW1lOiBQZXRlciBUb2JpYXMgPHRvYmlhc0BzZXJ2ZXIuZXQtaW5mLmZoby1lbWRlbi5kZT4KKyAgICAgICAgICAgICAgVGhpcyB2ZXJzaW9uICgxLjYpIHNob3VsZCBhbHNvIGJlIGF2YWlsYWJsZSBzb29uIGluOgorICAgICAgICAgICAgICBuaWMuZnVuZXQuZmk6L3B1Yi9PUy9MaW51eC9QRU9QTEUvTGludXMvbmV0LXNvdXJjZS9iYXNlL05ldEtpdC1BKgorICAgIGtpbGw6IEJTRCB2ZXJzaW9uLCBtb2RpZmllZCBieSBTYWx2YXRvcmUgVmFsZW50ZSA8c3ZhbGVudGVAbWl0LmVkdT4KKyAgICBsb2dnZXI6IDguMSAoQmVya2VsZXkpIDYvNi85Mywgd2l0aCBtb2RpZmljYXRpb25zIGJ5IFJpayBGYWl0aAorICAgICAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorICAgIGxvb2suYzogOC4xIChCZXJrZWxleSkgNi8xNC85Mywgd2l0aCBtb2RpZmljYXRpb25zIGJ5IFJpayBGYWl0aAorICAgICAgICAgICAgZnRwLmNkcm9tLmNvbTovcHViL2JzZC1zb3VyY2VzLzQuNEJTRC1MaXRlL3Vzci9zcmMvdXNyLmJpbgorICAgIG1jb29raWU6IFJpayBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKyAgICBtZDVzdW06IEJyYW5raSBMYW5rZXN0ZXIgYW5kIENvbGluIFBsdW1iLiAgVGhlIE1ENSBtZXNzYWdlLWRpZ2VzdAorICAgICAgICAgICAgYWxnb3JpdGhtIGlzIGluIHRoZSBQdWJsaWMgRG9tYWluLiAgVGhpcyBpbXBsZW1lbnRhdGlvbgorICAgICAgICAgICAgY2FsY3VsYXRlcyBtZXNzYWdlLWRpZ2VzdCBpbmZvcm1hdGlvbiBvbmx5LCBhbmQgY2FuIE5PVCBiZSB1c2VkCisgICAgICAgICAgICBmb3IgZW5jcnlwdGlvbi4gIFRoZXJlZm9yZSBpdCBpcyBleHBvcnRhYmxlIGZyb20gdGhlIFVTQS4KKyAgICAgICAgICAgIE9yaWdpbmFsIHNvdXJjZXMgaW4gdGhlIE1JVCB2ZXJzaW9uIG9mIFBHUCAyLjYuMi4KKyAgICBuYW1laTogUm9nZXIgUy4gU291dGh3aWNrLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgU3RldmUgVGVsbC4KKyAgICByZXNldDogUmlrIEZhaXRoCisgICAgc2NyaXB0OiA1LjEzIChCZXJrZWxleSkgMy81LzkxLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgUmljayBTbGFka2V5CisgICAgICAgICAgICAoanJzQHdvcmxkLnN0ZC5jb20pLCBIYXJhbGQgS29lbmlnCisgICAgICAgICAgICAoa29lbmlnQG5vdmEudGF0LnBoeXNpay51bmktdHVlYmluZ2VuLmRlKS4KKyAgICBzZXR0ZXJtOiBHb3Jkb24gSXJsYW0gKGdvcmRvbmlAY3MudWEub3ouYXUpLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkKKyAgICAgICAgICAgICBQZXRlciBNYWNEb25hbGQsIE1pa2EgTGlsamViZXJnIChsaWxqZWJlckBjcy5IZWxzaW5raS5GSSksCisgICAgICAgICAgICAgSm9obiBXYWxkZXIgKGotd2FsZGVyQHVpdWMuZWR1KSBbZm9yIGRvc2VtdV0uCisgICAgdHNvcnQ6IDUuMyAoQmVya2VsZXkpIDYvMS85MAorICAgICAgICAgICB3dWFyY2hpdmUud3VzdGwuZWR1Oi9taXJyb3JzLzQuMy1yZW5vCisgICAgd2hlcmVpczogNS41IChCZXJrZWxleSkgNC8xOC85MQorICAgICAgICAgICAgIHd1YXJjaGl2ZS53dXN0bC5lZHU6L21pcnJvcnMvNC4zLXJlbm8KKyAgICB3cml0ZTogOC4xIChCZXJrZWxleSkgNi82LzkzLCB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgTWlrZSBHcnVwZW5ob2ZmCisgICAgICAgICAgIChrYXNobWlyQHVtaWFjcy51bWQuZWR1KS4gIFdpdGggY2hhbmdlcyBzbyB0aGF0IGRhbWFnaW5nIGVzY2FwZQorICAgICAgICAgICBzZXF1ZW5jZXMgY2Fubm90IGJlIHNlbnQuCisgICAgICAgICAgIGZ0cC5jZHJvbS5jb206L3B1Yi9ic2Qtc291cmNlcy80LjRCU0QtTGl0ZS91c3Ivc3JjL3Vzci5iaW4KKworCittb3VudDoKKyAgICBtb3VudCwgdW1vdW50LCBzd2Fwb24KKworICAgIFJpY2sgU2xhZGtleSBwdXQgdG9nZXRoZXIgdGhlIG1vdW50LTAuOTkuNi50YXIuWiBwYWNrYWdlLCBhbmQgU3RlcGhlbgorICAgIFR3ZWVkaWUgcHJvdmlkZWQgdXBkYXRlcy4gIFRoZSB1dGlsaXRpZXMgd2VyZSBvcmlnaW5hbGx5IGZyb20gdGhhdAorICAgIHBhY2thZ2UgKGFsbCBhcHBlYXIgdG8gYmUgYnkgRG91ZyBRdWFsZSAocXVhbGVAc2FhdmlrLmNzLndpc2MuZWR1KSwKKyAgICB3aXRoIG1vZGlmaWNhdGlvbnMgYnkgSC4gSi4gTHUgKGhsdUBlZWNzLndzdS5lZHUpIG9uIDExLzI1LzkyOyBSaWNrCisgICAgU2xhZGtleSAoanJzQHdvcmxkLnN0ZC5jb20pIGluIEphbnVhcnkgMTk5MzsgYW5kIFN0ZXBoZW4gVHdlZWRpZQorICAgIDxzY3RAZGNzLmVkLmFjLnVrPiBvbiA4IE9jdG9iZXIgMTk5My4gIFRoaXMgZGlzdHJpYnV0aW9uIG1vdW50IG5vdworICAgIHN1cHBvcnRzIE5GUyBzdHVmZi4gIEkgaGF2ZSBtb2RpZmllZCB0aGUgbWFuIHBhZ2VzLiAgSSBoYXZlIGFsc28gYWRkZWQKKyAgICBhIHNtYWxsIHBhdGNoIGZyb20gSGFtaXNoIEdsZW4gQ29sZW1hbiAodDkzMzA5M0BtaW55b3MueHgucm1pdC5PWi5BVSkKKyAgICB3aGljaCByZXN0b3JlcyB0aGUgLW8gc2VtYW50aWNzLgorICAgIAorICAgIFVwZGF0ZWQgd2l0aCBSaWNrIFNsYWRrZXkncyBtb3VudC0wLjk5LjE0LnRhci5neiBwYWNrYWdlLCBhbmQgd2l0aAorICAgIGV4dHJhIHBhdGNoZXMgZnJvbSBSaWNrLiAgQWRhbSBKLiBSaWNodGVyIGFsbG93ZWQgLXQgb3B0aW9uIHRvIGJlCisgICAgb3B0aW9uYWwuIFBhdHJpY2sgSi4gVm9sa2VyZGluZyAodm9sa2VyZGlAbWhkMS5tb29yaGVhZC5tc3VzLmVkdSkgYW5kCisgICAgTWl0Y2h1bSBEU291emEgYm90aCBwcm92aWRlZCBwYXRjaGVzIHRoYXQgZml4ZWQgdGhlIChudWxsKSBwcm9ibGVtIHdoZW4KKyAgICBub3QgdXNpbmcgLXQuIE1pdGNodW0gRFNvdXphCisgICAgKG1pdGNoQG1yYy1hcHBsaWVkLXBzeWNob2xvZ3kuY2FtYnJpZGdlLmFjLnVrKSBhZGRlZCBzdXBwb3J0IGZvciBsb29wCisgICAgZGV2aWNlIG1vdW50cy4gU2ViYXN0aWFuIExlZGVyZXIKKyAgICAobGVkZXJlckBuZXh0LXBjLmluZm9ybWF0aWsudW5pLWJvbm4uZGUpIGFkZGVkIHN1cHBvcnQgZm9yIHNlbmRpbmcgYW4KKyAgICB1bm1vdW50IFJQQyBjYWxsIHRvIHRoZSBzZXJ2ZXIgd2hlbiBhbiBORlMtZmlsZXN5c3RlbSBpcyB1bm1vdW50ZWQuCisgICAgU2FuZGVyIHZhbiBNYWxzc2VuIChzdm1Aa296bWl4LmhhY2t0aWMubmwpIGFkZGVkIHN1cHBvcnQgZm9yIHJlbW91bnRpbmcKKyAgICByZWFkb25seSBmaWxlIHN5c3RlbXMgcmVhZG9ubHkuICBNaWtlIEdydXBlbmhvZmYKKyAgICA8a2FzaG1pckB1bWlhY3MuVU1ELkVEVT4gYWRkZWQgYSBwcm9iZSBvZiB0aGUgc3VwZXJibG9jayBmb3IgdGhlIHR5cGUKKyAgICBiZWZvcmUgL3Byb2MvZmlsZXN5c3RlbXMgaXMgY2hlY2tlZC4gIEFuZHJpZXMuQnJvdXdlckBjd2kubmwgZml4ZWQgdXAKKyAgICBlcnJvciByZXBvcnRpbmcuCisKKyAgICBVcGRhdGVkIHdpdGggcGF0Y2hlcyBmcm9tIEFuZHJpZXMuQnJvdXdlckBjd2kubmwgYW5kIERhbiBRdWlubGFuCisgICAgKHF1aW5sYW5AeWdnZHJhc2lsLmNvbSkuICBBbmQgbW9yZSBwYXRjaGVzIGZyb20gQW5kcmllcyBhbmQgb3RoZXJzLgorCitoaXN0b3JpYy9zZWxlY3Rpb246IFRoZSBjb21wbGV0ZSBzZWxlY3Rpb24tMS41IHBhY2thZ2UsIGJ5IEFuZHJldyBIYXlsZXR0CisgICAgPGFqaEBnZWMtbXJjLmNvLnVrPiwgMTd0aCBKdW5lIDE5OTMsIGlzIGluY2x1ZGVkIGluIHRoZSBoaXN0b3JpYyB0cmVlLgorICAgIEtlcm5lbCBwYXRjaGVzIGFyZSBubyBsb25nZXIgbmVjZXNzYXJ5IGZvciBtb2Rlcm4ga2VybmVscywgYnV0IHRoZXNlCisgICAgd2VyZSB0aW55IHNvIEkgbGVmdCB0aGVtIGluIGZvciBoaXN0b3JpY2FsIHJlYXNvbnMuICBUaGUgTWFrZWZpbGUgd2FzCisgICAgbW9kaWZpZWQgZm9yIHRoaXMgZGlzdHJpYnV0aW9uLiAgV2l0aCBjaGFuZ2VzIGZyb20gUmljayBTbGFka2V5LgorCitzeXMtdXRpbHM6CisgICAgYXJjaDogUmlrIEZhaXRoIDxmYWl0aEBjcy51bmMuZWR1PgorICAgIGNocm9vdDogUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAgICBjbG9jazogT3JpZ2luYWxseSBmcm9tIHRoZSB0aW1lc3JjLTEuMi50YXIuWiBwYWNrYWdlLCBDaGFybGVzIEhlZHJpY2ssCisgICAgICAgICAgIGhlZHJpY2tAY3MucnV0Z2Vycy5lZHUgKFYxLjApOyBSb2IgSG9vZnQsIGhvb2Z0QGNoZW0ucnV1Lm5sCisgICAgICAgICAgIChWMS4xKTsgSGFyYWxkIEtvZW5pZyAoa29lbmlnQG5vdmEudGF0LnBoeXNpay51bmktdHVlYmluZ2VuLmRlKQorICAgICAgICAgICAoVjEuMikuICBXaXRoIGFkZGl0aW9uYWwgY2hhbmdlczogSGFtaXNoIENvbGVtYW4KKyAgICAgICAgICAgKGhhbWlzaEB6b3QuYXBhbmEub3JnLmF1KSAoVjEuMmEpOyBBbGFuIE1vZHJhCisgICAgICAgICAgIChhbGFuQHNwcmkubGV2ZWxzLnVuaXNhLmVkdS5hdSAoVjEuMywgVjEuNCkuCisgICAgY3RybGFsdGRlbDogUGV0ZXIgT3JiYWVrIDxwb2VAZGFpbWkuYWF1LmRrPgorICAgICAgICAgICAgICAgIGZ0cDovL2Z0cC5kYWltaS5hYXUuZGsvcHViL2xpbnV4L3BvZS9hZG11dGlsLTEuMTYudGFyLmd6CisgICAgY3l0dW5lOiBOaWNrIFNpbWljaXNoIChuanNAc2NpZmkuZW1pLm5ldCkgYW5kIFJpayBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKyAgICBkbWVzZzogVGhlb2RvcmUgVHMnbyAodHl0c29AYXRoZW5hLm1pdC5lZHUpOyBSaWNrIFNsYWRrZXkKKyAgICAgICAgICAgKGpyc0B3b3JsZC5zdGQuY29tKQorICAgIGlwY3JtOiBGcm9tIHRoZSBpcGNkZWx0YS50YXIueiBkaXN0cmlidXRpb24gYnkga3Jpc2huYQorICAgICAgICAgICBiYWxhc3ViQGNpcy5vaGlvLXN0YXRlLmVkdSBvbiAzLzE1LzkzLiAgaXBjLmluZm8gYW5kIGlwYy50ZXhpCisgICAgICAgICAgIGFyZSBhbHNvIGZyb20gdGhhdCBkaXN0cmlidXRpb24uCisgICAgaXBjczogQWxzbyBmcm9tIHRoZSBpcGNkZWx0YS50YXIueiBkaXN0cmlidXRpb24gYnkga3Jpc2huYQorICAgICAgICAgIGJhbGFzdWJAY2lzLm9oaW8tc3RhdGUuZWR1LCB3aXRoIHBhdGNoZXMgZnJvbSBNaWtlIEphZ2RpcworICAgICAgICAgIChqYWdneUBwdXJwbGV0LmRlbW9uLmNvLnVrKQorICAgIGtiZHJhdGU6IFJpayBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSksIHdpdGggcGF0Y2hlcyBmcm9tCisgICAgICAgICAgICAgQW5kcmllcy5Ccm91d2VyQGN3aS5ubCBhbmQgSm9obiBCb3dtYW4KKyAgICAgICAgICAgICAoYm93bWFuQGhhZ2FyLnBoLnV0ZXhhcy5lZHUpCisgICAga3N5bW9vcHM6IDEuNyBmcm9tIEdyZWcgTWNHYXJ5IDxna21AbWFnaWxsYS5jaWNobGlkLmNvbT4KKyAgICByZGV2OiBhbG1lc2JlckBuZXNzaWUuY3MuaWQuZXRoei5jaCAoV2VybmVyIEFsbWVzYmVyZ2VyKSwgd2l0aAorICAgICAgICAgIG1vZGlmaWNhdGlvbnMgZnJvbSBQZXRlciBNYWNEb25hbGQsIFN0ZXBoZW4gVHdlZWRpZQorICAgICAgICAgIChzY3RAZGNzLmVkLmFjLnVrKSwgYW5kIERhdmUgKGdlbnR6ZWxAbm92YS5lbmV0LmRlYy5jb20pCisgICAgcmVhZHByb2ZpbGU6IEFsZXNzYW5kcm8gUnViaW5pIGZyb20gcmVhZHByb2ZpbGUtMi4wLnRhci5negorICAgIHJlbmljZTogOC4xIChCZXJrZWxleSkgNi85LzkzCisgICAgICAgICAgICBmdHAuY2Ryb20uY29tOi9wdWIvYnNkLXNvdXJjZXMvNC40QlNELUxpdGUvdXNyL3NyYy91c3IuYmluCisgICAgc2V0c2VyaWFsOiBNaWNoYWVsIEsuIEpvaG5zb24gKGpvaG5zb25tQHN0b2xhZi5lZHUpIHJlLXJlbGVhc2VkIFJpY2sKKyAgICAgICAgICAgICAgIFNsYWRrZXkncyBzZXRzZXJpYWwgaW4gSmFudWFyeSAxOTkzLCB3aXRoIGNoYW5nZXMgYnkKKyAgICAgICAgICAgICAgIFRoZW9kb3JlIFRzJ28gKHR5dHNvQG1pdC5lZHUpLiAgSSB0aGluayB0aGF0IFRoZW9kb3JlIGFsc28KKyAgICAgICAgICAgICAgIGRpZCBleHRlbnNpdmUgY2hhbmdlcyBmb3IgdmVyc2lvbiAyLjAxLCBJIGNhbid0IGZpbmQgYW55CisgICAgICAgICAgICAgICBub3RlcyBhYm91dCB0aGlzIGluIHRoZSBkb2N1bWVudGF0aW9uLiBIb3dldmVyLCBUaGVvZG9yZQorICAgICAgICAgICAgICAgVHMnbyAodHl0c29AQVRIRU5BLk1JVC5FRFUpIHJlbGVhc2VkIHZlcnNpb24gMi4xMCwgYW5kIHRoYXQKKyAgICAgICAgICAgICAgIGlzIG5vdyBpbmNsdWRlZC4KKyAgICBzZXRzaWQ6IFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisgICAgc2xuOiBNaWtlIFBhcmtlciBhbmQgRGF2aWQgTWFjS2VuemllIChmcm9tIExpbnV4J3MgbGliYykKKyAgICBzeW5jOiBOaWNrIEhvbGxvd2F5LCB3aXRoIHRoYW5rcyB0byBKYW1lcyBCb25maWVsZAorICAgIHR1bmVscDogTWljaGFlbCBLLiBKb2huc29uIChqb2huc29ubUBuaWdlbC52bmV0Lm5ldCkKKworCitzeXNsb2dkOgorICAgNS40NSAoQmVya2VsZXkpIDMvMi85MQorCisgICBNb3N0IG9mIHRoZSBjaGFuZ2VzIGZvciBzeXNsb2dkIGNvbWUgZnJvbSBSaWNrIFNsYWRrZXkKKyAgIChqcnNAd29ybGQuc3RkLmNvbSksIGJ1dCBJJ2QgbGlrZSB0byB0aGFuayBvdGhlciBwZW9wbGUgd2hvIHNlbnQgaW4KKyAgIGNoYW5nZXMgKHdoaWNoIHVzdWFsbHkgZ290IGZvcndhcmRlZCB0byBSaWNrKTogQ2Fyc3RlbiBQYWV0aAorICAgKGNhbGxlQGNhbGxlLmluLWJlcmxpbi5kZSkgYW5kIEtheiBTYXNheWFtYSAoa2F6QGxpbGlhLmlpam5ldC5vci5qcCkuCisKK3RleHQtdXRpbHM6CisgICAgY29sOiA1LjMgKEJlcmtlbGV5KSAyLzIvOTE7IHdpdGggcGF0Y2hlcyBmcm9tIEFuZHJpZXMuQnJvdXdlckBjd2kubmwKKyAgICAgICAgIGFuZCBDYXJsIENocmlzdG9mZmVyc29uIChjY2hyaXNAY29ubmVjdGVkLmNvbSkKKyAgICAgICAgIHd1YXJjaGl2ZS53dXN0bC5lZHU6L21pcnJvcnMvNC4zLXJlbm8ve2Jpbix1c3IuYmlufQorICAgIGNvbGNydDogOC4xIChCZXJrZWxleSkgNi82LzkzIChCaWxsIEpveSkKKyAgICAgICAgICAgIGZ0cC5jZHJvbS5jb206L3B1Yi9ic2Qtc291cmNlcy80LjRCU0QtTGl0ZS91c3Ivc3JjL3Vzci5iaW4KKyAgICBjb2xybTogNS40IChCZXJrZWxleSkgNi8xLzkwIChKZWZmIFNjaHJpZWJtYW4pCisgICAgY29sdW1uOiA4LjMgKEJlcmtlbGV5KSA0LzIvOTQKKyAgICAgICAgICAgIGZ0cC5jZHJvbS5jb206L3B1Yi9ic2Qtc291cmNlcy80LjRCU0QtTGl0ZS91c3Ivc3JjL3Vzci5iaW4KKyAgICBoZXhkdW1wOiA1LjUgKEJlcmtlbGV5KSA2LzEvOTAKKyAgICAgICAgICAgICB3dWFyY2hpdmUud3VzdGwuZWR1Oi9taXJyb3JzLzQuMy1yZW5vL3tiaW4sdXNyLmJpbn0KKyAgICBtb3JlOiA1LjE5IChCZXJrZWxleSkgNi8yOS84OCAoRXJpYyBTaGllbmJyb29kLCBHZW9mZiBQZWNrLCBKb2huIEZvZGVyYXJvKQorICAgIHJldjogNS4yIChCZXJrZWxleSkgMy8yMS85Mjsgd2l0aCBtb2RpZmljYXRpb25zIGJ5IENoYXJsZXMgSGFubnVtCisgICAgICAgICAobXljcm9mdEBnbnUuYWkubWl0LmVkdSksIEJyaWFuIEtvZWhtc3RlZHQgKGJwa0BnbnUuYWkubWl0LmVkdSksCisgICAgICAgICBiamRvdW1hQHhzNGFsbC5ubAorICAgICAgICAgd3VhcmNoaXZlLnd1c3RsLmVkdTovbWlycm9ycy80LjMtcmVuby97YmluLHVzci5iaW59CisgICAgc3RyaW5nczogNS4xMCAoQmVya2VsZXkpIDUvMjMvOTE7IHdpdGggcGF0Y2hlcyBmcm9tIFZpdG9yIER1YXJ0ZQorICAgICAgICAgICAgIDx2YWRAZmN0LnVubC5wdD4KKyAgICAgICAgICAgICB3dWFyY2hpdmUud3VzdGwuZWR1Oi9taXJyb3JzLzQuMy1yZW5vL3tiaW4sdXNyLmJpbn0KKyAgICB1bDogOC4xIChCZXJrZWxleSkgNi82LzkzCisgICAgICAgIGZ0cC5jZHJvbS5jb206L3B1Yi9ic2Qtc291cmNlcy80LjRCU0QtTGl0ZS91c3Ivc3JjL3Vzci5iaW4KKwpkaWZmIC0tZ2l0IGEvTk9USUNFIGIvTk9USUNFCm5ldyBmaWxlIG1vZGUgMTIwMDAwCmluZGV4IDAwMDAwMDAuLmQyNDg0MmYKLS0tIC9kZXYvbnVsbAorKysgYi9OT1RJQ0UKQEAgLTAsMCArMSBAQAorQ09QWUlORwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL1JFQURNRSBiL1JFQURNRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjU2OTMyCi0tLSAvZGV2L251bGwKKysrIGIvUkVBRE1FCkBAIC0wLDAgKzEsMTM0IEBACisKKwkJCQkgIHV0aWwtbGludXgKKworCQl1dGlsLWxpbnV4IGlzIGEgcmFuZG9tIGNvbGxlY3Rpb24gb2YgTGludXggdXRpbGl0aWVzCisKKyAgICAgTm90ZTogZm9yIHRoZSB5ZWFycyAyMDA2LTIwMTAgdGhpcyBwcm9qZWN0IHdhcyBuYW1lZCAidXRpbC1saW51eC1uZyIuCisKK01BSUxJTkcgTElTVDoKKworICAgICAgRS1NQUlMOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZworICAgICAgVVJMOiAgICBodHRwOi8vdmdlci5rZXJuZWwub3JnL3ZnZXItbGlzdHMuaHRtbCN1dGlsLWxpbnV4CisKKyAgICAgIFRoZSBtYWlsaW5nIGxpc3Qgd2lsbCByZWplY3QgZW1haWwgbWVzc2FnZXMgdGhhdCBjb250YWluOgorICAgICAgIC0gbW9yZSB0aGFuIDEwMEsgY2hhcmFjdGVycworICAgICAgIC0gaHRtbAorICAgICAgIC0gc3BhbSBwaHJhc2VzL2tleXdvcmRzCisgICAgICBTZWU6IGh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvbWFqb3Jkb21vLWluZm8uaHRtbCN0YWJvbworCitJUkMgQ0hBTk5FTDoKKworICAgICAgI3V0aWwtbGludXggYXQgZnJlZW5vZGUubmV0OgorCisgICAgICBpcmM6Ly9jaGF0LmZyZWVub2RlLm5ldC91dGlsLWxpbnV4CisKKyAgICAgIFRoZSBJUkMgY2hhbm5lbCBhbmQgTWFpbGluZyBsaXN0IGFyZSBmb3IgZGV2ZWxvcGVycyBhbmQgcHJvamVjdAorICAgICAgbWFpbnRhaW5lcnMuIEZvciBlbmQgdXNlcnMgaXQgaXMgcmVjb21tZW5kZWQgdG8gdXRpbGl6ZSB0aGUKKyAgICAgIGRpc3RyaWJ1dGlvbidzIHN1cHBvcnQgc3lzdGVtLgorCitCVUcgUkVQT1JUSU5HOgorCisgICAgICBFLU1BSUw6IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnCisgICAgICBXZWI6ICAgIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4L2lzc3VlcworCisgICAgICBUaGlzIHByb2plY3QgaGFzIG5vIHJlc291cmNlcyB0byBwcm92aWRlIHN1cHBvcnQgZm9yIGRpc3RyaWJ1dGlvbiBzcGVjaWZpYworICAgICAgaXNzdWVzLiBGb3IgZW5kIHVzZXJzIGl0IGlzIHJlY29tbWVuZGVkIHRvIHV0aWxpemUgdGhlIGRpc3RyaWJ1dGlvbidzCisgICAgICBzdXBwb3J0IHN5c3RlbS4KKworTkxTIChQTyBUUkFOU0xBVElPTlMpOgorCisgICAgICBQTyBmaWxlcyBhcmUgbWFpbnRhaW5lZCBieToKKwkgIGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL2RvbWFpbi91dGlsLWxpbnV4Lmh0bWwKKworVkVSU0lPTiBTQ0hFTUE6CisKKyAgICAgIFN0YW5kYXJkIHJlbGVhc2VzOgorCSAgPG1ham9yPi48bWlub3I+Wy48bWFpbnQ+XQorCSAgICAgbWFqb3IgPSBmYXRhbCBhbmQgZGVlcCBjaGFuZ2VzCisJICAgICBtaW5vciA9IHR5cGljYWwgcmVsZWFzZSB3aXRoIG5ldyBmZWF0dXJlcworCSAgICAgbWFpbnQgPSBtYWludGVuYW5jZSByZWxlYXNlczsgYnVnIGZpeGVzIG9ubHkKKworICAgICAgRGV2ZWxvcG1lbnQgcmVsZWFzZXM6CisJIDxtYWpvcj4uPG1pbm9yPi1yYzxOPgorCitTT1VSQ0UgQ09ERToKKworIERvd25sb2FkIGFyY2hpdmU6CisJICBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4LworCisgU0NNIChTb3VyY2UgQ29kZSBNYW5hZ2VtZW50KSBSZXBvc2l0b3J5OgorCisgICAgUHJpbWFyeSByZXBvc2l0b3J5OgorCSAgZ2l0IGNsb25lIGdpdDovL2dpdC5rZXJuZWwub3JnL3B1Yi9zY20vdXRpbHMvdXRpbC1saW51eC91dGlsLWxpbnV4LmdpdAorCisgICAgQmFja3VwIHJlcG9zaXRvcnk6CisJICBnaXQgY2xvbmUgZ2l0Oi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4LmdpdAorCisgICAgV2ViIGludGVyZmFjZXM6CisJICBodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvY2dpdC91dGlscy91dGlsLWxpbnV4L3V0aWwtbGludXguZ2l0CisJICBodHRwczovL2dpdGh1Yi5jb20va2FyZWx6YWsvdXRpbC1saW51eAorCisgICAgICBOb3RlOiB0aGUgR2l0SHViIHJlcG9zaXRvcnkgbWF5IGNvbnRhaW4gdGVtcG9yYXJ5IGRldmVsb3BtZW50IGJyYW5jaGVzIHRvby4KKworICAgICAgVGhlIGtlcm5lbC5vcmcgcmVwb3NpdG9yeSBjb250YWlucyBtYXN0ZXIgKGN1cnJlbnQgZGV2ZWxvcG1lbnQpIGFuZCBzdGFibGUvKgorICAgICAgKG1haW50ZW5hbmNlKSBicmFuY2hlcyBvbmx5LiBBbGwgbWFzdGVyIG9yIHN0YWJsZS8qIGNoYW5nZXMgYXJlIGFsd2F5cyBwdXNoZWQKKyAgICAgIHRvIGJvdGggcmVwb3NpdG9yaWVzIGF0IHRoZSBzYW1lIHRpbWUuCisKKyAgICBSZXBvc2l0b3J5IEJyYW5jaGVzOiAnZ2l0IGJyYW5jaCAtYScKKwkgIG1hc3RlciBicmFuY2gKKwkgICAtIGN1cnJlbnQgZGV2ZWxvcG1lbnQKKwkgICAtIHRoZSBzb3VyY2UgZm9yIHN0YWJsZSByZWxlYXNlcyB3aGVuIGRlZW1lZCByZWFkeS4KKwkgICAtIGRheS10by1kYXkgc3RhdHVzIGlzOiAnaXQgd29ya3MgZm9yIG1lJy4gVGhpcyBtZWFucyB0aGF0IGl0cworCSAgICAgbm9ybWFsIHN0YXRlIGlzIHVzZWZ1bCBidXQgbm90IHdlbGwgdGVzdGVkLgorCSAgIC0gbG9uZy10ZXJtIGRldmVsb3BtZW50IG9yIGludmFzaXZlIGNoYW5nZXMgaW4gYWN0aXZlIGRldmVsb3BtZW50IGFyZQorCSAgICAgZm9ya2VkIGludG8gc2VwYXJhdGUgJ3RvcGljJyBicmFuY2hlcyBmcm9tIHRoZSB0aXAgb2YgJ21hc3RlcicuCisKKwkgIHN0YWJsZS8gYnJhbmNoZXMKKwkgICAtIHB1YmxpYyByZWxlYXNlcworCSAgIC0gYnJhbmNoIG5hbWU6IHN0YWJsZS92PG1ham9yPi48bWlub3I+LgorCSAgIC0gY3JlYXRlZCBmcm9tIHRoZSAnbWFzdGVyJyBicmFuY2ggYWZ0ZXIgdHdvIG9yIG1vcmUgcmVsZWFzZQorCSAgICAgY2FuZGlkYXRlcyBhbmQgdGhlIGZpbmFsIHB1YmxpYyByZWxlYXNlLiBUaGlzIG1lYW5zIHRoYXQgdGhlIHN0YWJsZQorCSAgICAgcmVsZWFzZXMgYXJlIGNvbW1pdHRlZCwgdGFnZ2VkLCBhbmQgcmVhY2hhYmxlIGluICdtYXN0ZXInLgorCSAgIC0gdGhlc2UgYnJhbmNoZXMgdGhlbiBiZWNvbWUgZm9ya2VkIGRldmVsb3BtZW50IGJyYW5jaGVzLiBUaGlzIG1lYW5zCisJICAgICB0aGF0IGFueSBjaGFuZ2VzIG1hZGUgdG8gdGhlbSBkaXZlcmdlIGZyb20gdGhlICdtYXN0ZXInIGJyYW5jaC4KKwkgICAtIG1haW50ZW5hbmNlIHJlbGVhc2VzIGFyZSBwYXJ0IG9mLCBhbmQgYmVsb25nIHRvLCB0aGVpciByZXNwZWN0aXZlCisJICAgICBzdGFibGUgYnJhbmNoLiBBcyBzdWNoLCB0aGV5IGFyZSB0YWdzKDxtYWpvcj4uPG1pbm9yPi48bWFpbnQ+KSBhbmQKKwkgICAgIG5vdCBicmFuY2hlcyBvZiB0aGVpciBvd24uIFRoZXkgYXJlIG5vdCBwYXJ0IG9mLCB2aXNpYmxlIGluLCBvcgorCSAgICAgaGF2ZSBhbnl0aGluZyB0byBkbyB3aXRoIHRoZSAnbWFzdGVyJyBkZXZlbG9wbWVudCBicmFuY2guIEluIGdpdAorCSAgICAgdGVybWlub2xvZ3k6IG1haW50ZW5hbmNlIHJlbGVhc2VzIGFyZSBub3QgcmVhY2hhYmxlIGZyb20gJ21hc3RlcicuCisJICAgLSB3aGVuIGluaXRpYWxseSBjbG9uZWQgKGFzIHdpdGggdGhlICdnaXQgY2xvbmUnIGNvbW1hbmQgZ2l2ZW4gYWJvdmUpCisJICAgICB0aGVzZSBicmFuY2hlcyBhcmUgY3JlYXRlZCBhcyAncmVtb3RlIHRyYWNraW5nIGJyYW5jaGVzJyBhbmQgYXJlCisJICAgICBvbmx5IHZpc2libGUgYnkgdXNpbmcgdGhlIC1hIG9yIC1yIG9wdGlvbnMgdG8gJ2dpdCBicmFuY2gnLiBUbworCSAgICAgY3JlYXRlIGEgbG9jYWwgYnJhbmNoIHVzZSB0aGUgZGVzaXJlZCB0YWcgd2l0aCB0aGlzIGNvbW1hbmQ6CisJICAgICAnZ2l0IGNoZWNrb3V0IC1iIHYyLjI5LjIgdjIuMjkuMicKKworICAgIFRhZ3M6ICdnaXQgdGFnJworCSAgIC0gYSBuZXcgdGFnIG9iamVjdCBpcyBjcmVhdGVkIGZvciBldmVyeSByZWxlYXNlLgorCSAgIC0gdGFnIG5hbWU6IHY8dmVyc2lvbj4uCisJICAgLSBhbGwgdGFncyBhcmUgc2lnbmVkIGJ5IHRoZSBtYWludGFpbmVyJ3MgUEdQIGtleS4KKworICAgIEtub3duIEJ1Z3M6CisJLSBkb24ndCB1c2UgdGFnIHYyLjEzLjEgKGNyZWF0ZWQgYW5kIHB1Ymxpc2hlZCBieSBtaXN0YWtlKSwKKwkgIHVzZSB2Mi4xMy4xLVJFQUwgaW5zdGVhZC4KKworV09SS0ZMT1cgRVhBTVBMRToKKworIDEpIGRldmVsb3BtZW50IChicmFuY2g6IDxtYXN0ZXI+KQorCisgMikgbWFzdGVyIHJlbGVhc2UgKHRhZ3M6IHYyLjI5LXJjMSwgdjIuMjktcmMyLCB2Mi4yOSwgYnJhbmNoOiA8bWFzdGVyPikKKworIDMpIGRldmVsb3BtZW50ICh3b3JrIG9uIHYyLjMwLCBicmFuY2g6IDxtYXN0ZXI+KQorCisgNCkgZm9yayAtLSBjcmVhdGUgYSBuZXcgYnJhbmNoIDxzdGFibGUvdjIuMjk+IGJhc2VkIG9uIHRhZyB2Mi4yOQorCisgICAgIDRhKSBuZXcgcGF0Y2hlcyBvciBjaGVycnktcGljayBwYXRjaGVzIGZyb20gPG1hc3Rlcj4gKGJyYW5jaDogPHN0YWJsZS92Mi4yOT4pCisKKyAgICAgNGIpIHN0YWJsZSByZWxlYXNlICh0YWc6IHYyLjI5LjEsIGJyYW5jaDogPHN0YWJsZS92Mi4yOT4pCisKKyAgICAgNGMpIG1vcmUgcGF0Y2hlczsgYW5vdGhlciByZWxlYXNlICh0YWc6IHYyLjI5LjIsIGJyYW5jaDogPHN0YWJsZS92Mi4yOT4pCisKKyA1KSBtYXN0ZXIgcmVsZWFzZSB2Mi4zMCAoYnJhbmNoOiA8bWFzdGVyPikKKyAgICAuLi4KKword2hlcmUgMykgYW5kIDQpIGhhcHBlbiBzaW11bHRhbmVvdXNseS4KKwpkaWZmIC0tZ2l0IGEvUkVBRE1FLmxpY2Vuc2luZyBiL1JFQURNRS5saWNlbnNpbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTFlMDc4NwotLS0gL2Rldi9udWxsCisrKyBiL1JFQURNRS5saWNlbnNpbmcKQEAgLTAsMCArMSwyMCBAQAorCitUaGUgcHJvamVjdCB1dGlsLWxpbnV4IGRvZXNuJ3QgdXNlIHRoZSBzYW1lIGxpY2Vuc2UgZm9yIGFsbCBvZiB0aGUgY29kZS4KK1RoZXJlIGlzIGNvZGUgdW5kZXI6CisKKyAgICogR1BMdjIrIChHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIsIG9yIGFueSBsYXRlciB2ZXJzaW9uKQorCisgICAqIEdQTHYyIChHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2ZXJzaW9uIDIpCisKKyAgICogTEdQTHYyKyAoR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYyIChvciAyLjEpIG9yIGFueSBsYXRlciB2ZXJzaW9uKQorCisgICAqIEJTRCB3aXRoIGFkdmVydGlzaW5nCisKKyAgICogUHVibGljIERvbWFpbgorCitQbGVhc2UsIGNoZWNrIHRoZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLiBBIGxpY2Vuc2UgaXMgdXN1YWxseSBhdCB0aGUgc3RhcnQKK29mIGVhY2ggc291cmNlIGZpbGUuCisKK1RoZSAuL0NPUFlJTkcgZmlsZSAoR1BMdjIrKSBpcyB0aGUgZGVmYXVsdCBsaWNlbnNlIGZvciBjb2RlIHdpdGhvdXQgYW4gZXhwbGljaXRseQorZGVmaW5lZCBsaWNlbnNlLgorCmRpZmYgLS1naXQgYS9hdXRvZ2VuLnNoIGIvYXV0b2dlbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNjI1YjJkCi0tLSAvZGV2L251bGwKKysrIGIvYXV0b2dlbi5zaApAQCAtMCwwICsxLDE1MSBAQAorIyEvYmluL3NoCisKKyMKKyMgSGVscHMgZ2VuZXJhdGUgYXV0b2NvbmYvYXV0b21ha2Ugc3R1ZmYsIHdoZW4gY29kZSBpcyBjaGVja2VkIG91dCBmcm9tIFNDTS4KKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTAgLSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKworc3JjZGlyPWBkaXJuYW1lICQwYAordGVzdCAteiAiJHNyY2RpciIgJiYgc3JjZGlyPS4KKworVEhFRElSPWBwd2RgCitjZCAkc3JjZGlyCitESUU9MAorCisjIHByb3ZpZGUgc2ltcGxlIGdldHRleHQgYmFja3dhcmQgY29tcGF0aWJpbGl0eQorYXV0b3BvaW50X2Z1biAoKQoreworCSMgd2UgaGF2ZSB0byBkZWFsIHdpdGggc2V0IC1lIC4uLgorCXJldD0iMCIKKworCSMgY2hlY2sgYWdhaW5zdCB0aGlzIGhhcmRjb2RlZCBzZXQgb2YgYWx0ZXJuYXRpdmUgZ2V0dGV4dCB2ZXJzaW9ucworCWd0X3Zlcj1gZ2V0dGV4dCAtLXZlcnNpb24gfFwKKwkJc2VkIC1uIC1lICdzLy4qIFwoMFwuMTdcfDBcLjE4XHwwXC4xOFwuWzEtMl1cKSQvXDEvcCdgCisKKwlpZiBbIC1uICIkZ3RfdmVyIiBdOyB0aGVuCisJCWVjaG8gIndhcm5pbmc6IGZvcmNpbmcgYXV0b3BvaW50IHRvIHVzZSBvbGQgZ2V0dGV4dCAkZ3RfdmVyIgorCQlybSAtZiBjb25maWd1cmUuYWMuYXV0b2dlbmJhaworCQlzZWQgLWkuYXV0b2dlbmJhayBjb25maWd1cmUuYWMgXAorCQkJLWUgInMvXChBTV9HTlVfR0VUVEVYVF9WRVJTSU9OXCkuKi9cMShbJGd0X3Zlcl0pLyIKKwlmaQorCisJYXV0b3BvaW50ICIkQCIgfHwgcmV0PSQ/CisKKwlpZiBbIC1uICIkZ3RfdmVyIiBdOyB0aGVuCisJCW12IGNvbmZpZ3VyZS5hYy5hdXRvZ2VuYmFrIGNvbmZpZ3VyZS5hYworCWZpCisKKwlyZXR1cm4gJHJldAorfQorCit0ZXN0IC1mIHN5cy11dGlscy9tb3VudC5jIHx8IHsKKwllY2hvCisJZWNobyAiWW91IG11c3QgcnVuIHRoaXMgc2NyaXB0IGluIHRoZSB0b3AtbGV2ZWwgdXRpbC1saW51eCBkaXJlY3RvcnkuIgorCWVjaG8KKwlESUU9MQorfQorCisoYXV0b3BvaW50IC0tdmVyc2lvbikgPCAvZGV2L251bGwgPiAvZGV2L251bGwgMj4mMSB8fCB7CisgICAgICAgIGVjaG8KKyAgICAgICAgZWNobyAiWW91IG11c3QgaGF2ZSBhdXRvcG9pbnQgaW5zdGFsbGVkIHRvIGdlbmVyYXRlIHRoZSB1dGlsLWxpbnV4IGJ1aWxkIHN5c3RlbS4iCisgICAgICAgIGVjaG8gIlRoZSBhdXRvcG9pbnQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSBHTlUgZ2V0dGV4dCBwYWNrYWdlLiIKKwllY2hvCisgICAgICAgIERJRT0xCit9CisoYXV0b2NvbmYgLS12ZXJzaW9uKSA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxIHx8IHsKKwllY2hvCisJZWNobyAiWW91IG11c3QgaGF2ZSBhdXRvY29uZiBpbnN0YWxsZWQgdG8gZ2VuZXJhdGUgdGhlIHV0aWwtbGludXggYnVpbGQgc3lzdGVtLiIKKwllY2hvCisJRElFPTEKK30KKyhhdXRvaGVhZGVyIC0tdmVyc2lvbikgPCAvZGV2L251bGwgPiAvZGV2L251bGwgMj4mMSB8fCB7CisJZWNobworCWVjaG8gIllvdSBtdXN0IGhhdmUgYXV0b2hlYWRlciBpbnN0YWxsZWQgdG8gZ2VuZXJhdGUgdGhlIHV0aWwtbGludXggYnVpbGQgc3lzdGVtLiIKKwllY2hvICJUaGUgYXV0b2hlYWRlciBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIEdOVSBhdXRvY29uZiBwYWNrYWdlLiIKKwllY2hvCisJRElFPTEKK30KKworaWYgISAoYmlzb24gLS12ZXJzaW9uKSA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisJZWNobworCWVjaG8gIllvdSBtdXN0IGhhdmUgYmlzb24gaW5zdGFsbGVkIHRvIGJ1aWxkIHRoZSB1dGlsLWxpbnV4LiIKKwllY2hvCisJRElFPTEKK2Vsc2UKKwlsZXh2ZXI9JChiaXNvbiAtLXZlcnNpb24gfCBhd2sgJy9eYmlzb24gXChHTlUgW0JiXWlzb25cKS8geyBwcmludCAkNCB9JykKKwljYXNlICIkbGV4dmVyIiBpbgorCQlbMi05XS4qKQorCQkJOzsKKwkJKikKKwkJCWVjaG8KKwkJCWVjaG8gIllvdSBtdXN0IGhhdmUgYmlzb24gdmVyc2lvbiA+PSAyLngsIGJ1dCB5b3UgaGF2ZSAkbGV4dmVyLiIKKwkJCWVjaG8KKwkJCURJRT0xCisJCQk7OworCWVzYWMKK2ZpCisKK0xJQlRPT0xJWkU9bGlidG9vbGl6ZQorY2FzZSBgdW5hbWVgIGluIERhcndpbiopIExJQlRPT0xJWkU9Z2xpYnRvb2xpemUgOzsgZXNhYworaWYgISAoJExJQlRPT0xJWkUgLS12ZXJzaW9uKSA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxOyB0aGVuCisJZWNobworCWVjaG8gIllvdSBtdXN0IGhhdmUgbGlidG9vbC0yIGluc3RhbGxlZCB0byBnZW5lcmF0ZSB0aGUgdXRpbC1saW51eCBidWlsZCBzeXN0ZW0uIgorCWVjaG8KKwlESUU9MQorZWxzZQorCWx0dmVyPSQoJExJQlRPT0xJWkUgLS12ZXJzaW9uIHwgYXdrICcvXltnXSpsaWJ0b29saXplLyB7IHByaW50ICQ0IH0nKQorCWx0dmVyPSR7bHR2ZXI6LSJub25lIn0KKwl0ZXN0ICR7bHR2ZXIjIzIufSA9ICIkbHR2ZXIiICYmIHsKKwkJZWNobworCQllY2hvICJZb3UgbXVzdCBoYXZlIGxpYnRvb2wgdmVyc2lvbiA+PSAyLngueCwgYnV0IHlvdSBoYXZlICRsdHZlci4iCisJCWVjaG8KKwkJRElFPTEKKwl9CitmaQorCisoYXV0b21ha2UgLS12ZXJzaW9uKSA8IC9kZXYvbnVsbCA+IC9kZXYvbnVsbCAyPiYxIHx8IHsKKwllY2hvCisJZWNobyAiWW91IG11c3QgaGF2ZSBhdXRvbWFrZSBpbnN0YWxsZWQgdG8gZ2VuZXJhdGUgdGhlIHV0aWwtbGludXggYnVpbGQgc3lzdGVtLiIKKwllY2hvCisJRElFPTEKK30KKworaWYgdGVzdCAiJERJRSIgLWVxIDE7IHRoZW4KKwlleGl0IDEKK2ZpCisKK2VjaG8KK2VjaG8gIkdlbmVyYXRpbmcgYnVpbGQtc3lzdGVtIHdpdGg6IgorZWNobyAiICAgYXV0b3BvaW50OiAgJChhdXRvcG9pbnQgLS12ZXJzaW9uIHwgaGVhZCAtMSkiCitlY2hvICIgICBhY2xvY2FsOiAgICAkKGFjbG9jYWwgLS12ZXJzaW9uIHwgaGVhZCAtMSkiCitlY2hvICIgICBhdXRvY29uZjogICAkKGF1dG9jb25mIC0tdmVyc2lvbiB8IGhlYWQgLTEpIgorZWNobyAiICAgYXV0b2hlYWRlcjogJChhdXRvaGVhZGVyIC0tdmVyc2lvbiB8IGhlYWQgLTEpIgorZWNobyAiICAgYXV0b21ha2U6ICAgJChhdXRvbWFrZSAtLXZlcnNpb24gfCBoZWFkIC0xKSIKK2VjaG8gIiAgIGxpYnRvb2xpemU6ICQoJExJQlRPT0xJWkUgLS12ZXJzaW9uIHwgaGVhZCAtMSkiCitlY2hvICIgICBiaXNvbjogICAgICAkKGJpc29uIC0tdmVyc2lvbiB8IGhlYWQgLTEpIgorCitybSAtcmYgYXV0b200dGUuY2FjaGUKKworc2V0IC1lCitwby91cGRhdGUtcG90ZmlsZXMKK2F1dG9wb2ludF9mdW4gLS1mb3JjZSAkQVBfT1BUUworaWYgISBncmVwIC1xIGRhdGFyb290ZGlyIHBvL01ha2VmaWxlLmluLmluOyB0aGVuCisJZWNobyBhdXRvcG9pbnQgZG9lcyBub3QgaG9ub3IgZGF0YXJvb3QgdmFyaWFibGUsIHBhdGNoaW5nLgorCXNlZCAtaSAtZSAncy9eZGF0YWRpciAqPVwoLipcKS9kYXRhcm9vdGRpciA9IEBkYXRhcm9vdGRpckBcCitkYXRhZGlyID0gQGRhdGFkaXJAL2cnIHBvL01ha2VmaWxlLmluLmluCitmaQorJExJQlRPT0xJWkUgLS1mb3JjZSAkTFRfT1BUUworYWNsb2NhbCAtSSBtNCAkQUxfT1BUUworYXV0b2NvbmYgJEFDX09QVFMKK2F1dG9oZWFkZXIgJEFIX09QVFMKKworYXV0b21ha2UgLS1hZGQtbWlzc2luZyAkQU1fT1BUUworCitjZCAiJFRIRURJUiIKKworZWNobworZWNobyAiTm93IHR5cGUgJyRzcmNkaXIvY29uZmlndXJlJyBhbmQgJ21ha2UnIHRvIGNvbXBpbGUuIgorZWNobworCisKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9NYWtlbW9kdWxlLmFtIGIvYmFzaC1jb21wbGV0aW9uL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFmMjk4YQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMzIxIEBACitpZiBCVUlMRF9CQVNIX0NPTVBMRVRJT04KKworaWYgQlVJTERfQkxLSUQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vYmxraWQKK2VuZGlmCitpZiBCVUlMRF9DQUwKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vY2FsCitlbmRpZgoraWYgQlVJTERfQ09MCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2NvbAorZW5kaWYKK2lmIEJVSUxEX0NPTENSVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jb2xjcnQKK2VuZGlmCitpZiBCVUlMRF9DT0xSTQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jb2xybQorZW5kaWYKK2lmIEJVSUxEX0NPTFVNTgorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jb2x1bW4KK2VuZGlmCitpZiBCVUlMRF9GSU5DT1JFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2ZpbmNvcmUKK2VuZGlmCitpZiBCVUlMRF9GSU5ERlMKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vZmluZGZzCitlbmRpZgoraWYgQlVJTERfRklORE1OVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9maW5kbW50CitlbmRpZgoraWYgQlVJTERfRkxPQ0sKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vZmxvY2sKK2VuZGlmCitpZiBCVUlMRF9HRVRPUFQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vZ2V0b3B0CitlbmRpZgoraWYgQlVJTERfSEVYRFVNUAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9oZXhkdW1wCitlbmRpZgoraWYgQlVJTERfSVBDTUsKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vaXBjbWsKK2VuZGlmCitpZiBCVUlMRF9JUENSTQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9pcGNybQorZW5kaWYKK2lmIEJVSUxEX0lQQ1MKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vaXBjcworZW5kaWYKK2lmIEJVSUxEX0lTT1NJWkUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vaXNvc2l6ZQorZW5kaWYKK2lmIEJVSUxEX0xPR0dFUgorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9sb2dnZXIKK2VuZGlmCitpZiBCVUlMRF9MT09LCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xvb2sKK2VuZGlmCitpZiBCVUlMRF9MU0lQQworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9sc2lwYworZW5kaWYKK2lmIEJVSUxEX0xTTlMKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbHNucworZW5kaWYKK2lmIEJVSUxEX01DT09LSUUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbWNvb2tpZQorZW5kaWYKK2lmIEJVSUxEX01LRlMKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbWtmcworZW5kaWYKK2lmIEJVSUxEX01LU1dBUAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9ta3N3YXAKK2VuZGlmCitpZiBCVUlMRF9OQU1FSQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9uYW1laQorZW5kaWYKK2lmIEJVSUxEX1BSTElNSVQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vcHJsaW1pdAorZW5kaWYKK2lmIEJVSUxEX1JFQURQUk9GSUxFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3JlYWRwcm9maWxlCitlbmRpZgoraWYgQlVJTERfUkVOSUNFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3JlbmljZQorZW5kaWYKK2lmIEJVSUxEX1JFVgorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9yZXYKK2VuZGlmCitpZiBCVUlMRF9TQ1JJUFQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vc2NyaXB0CitlbmRpZgoraWYgQlVJTERfU0NSSVBUUkVQTEFZCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3NjcmlwdHJlcGxheQorZW5kaWYKK2lmIEJVSUxEX1NFVFNJRAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9zZXRzaWQKK2VuZGlmCitpZiBCVUlMRF9XSEVSRUlTCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3doZXJlaXMKK2VuZGlmCitpZiBCVUlMRF9XSVBFRlMKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vd2lwZWZzCitlbmRpZgoraWYgQlVJTERfRlNDSworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9mc2NrCitlbmRpZgorCitpZiBCVUlMRF9CRlMKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbWtmcy5iZnMKK2VuZGlmCisKK2lmIEJVSUxEX01JTklYCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gXAorCWJhc2gtY29tcGxldGlvbi9mc2NrLm1pbml4IFwKKwliYXNoLWNvbXBsZXRpb24vbWtmcy5taW5peAorZW5kaWYKKworaWYgQlVJTERfQ1JBTUZTCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gXAorCWJhc2gtY29tcGxldGlvbi9mc2NrLmNyYW1mcyBcCisJYmFzaC1jb21wbGV0aW9uL21rZnMuY3JhbWZzCitlbmRpZgoraWYgQlVJTERfUEFSVFgKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBcCisJYmFzaC1jb21wbGV0aW9uL2FkZHBhcnQgXAorCWJhc2gtY29tcGxldGlvbi9kZWxwYXJ0IFwKKwliYXNoLWNvbXBsZXRpb24vcmVzaXplcGFydCBcCisJYmFzaC1jb21wbGV0aW9uL3BhcnR4CitlbmRpZgoraWYgQlVJTERfUkFXCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3JhdworZW5kaWYKK2lmIEJVSUxEX1NXQVBMQUJFTAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9zd2FwbGFiZWwKK2VuZGlmCitpZiBCVUlMRF9GREZPUk1BVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9mZGZvcm1hdAorZW5kaWYKK2lmIEJVSUxEX0JMT0NLREVWCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2Jsb2NrZGV2CitlbmRpZgorCitpZiBCVUlMRF9GRElTSworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9mZGlzaworZW5kaWYKK2lmIEJVSUxEX1NGRElTSworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9zZmRpc2sKK2VuZGlmCitpZiBCVUlMRF9DRkRJU0sKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vY2ZkaXNrCitlbmRpZgorCitpZiBCVUlMRF9DSEZOX0NIU0gKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBcCisJYmFzaC1jb21wbGV0aW9uL2NoZm4gXAorCWJhc2gtY29tcGxldGlvbi9jaHNoCitlbmRpZgoraWYgQlVJTERfTEFTVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9sYXN0CitlbmRpZgoraWYgQlVJTERfTFNMT0dJTlMKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbHNsb2dpbnMKK2VuZGlmCitpZiBCVUlMRF9ORVdHUlAKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbmV3Z3JwCitlbmRpZgorCitpZiBCVUlMRF9TVQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9zdQorZW5kaWYKKworaWYgQlVJTERfUlVOVVNFUgoraW5zdGFsbC1kYXRhLWhvb2stYmFzaGNvbXAtcnVudXNlcjo6CitpZiBCVUlMRF9TVQorCWxuIC1zZiBzdSAkKERFU1RESVIpJChiYXNoY29tcGxldGlvbmRpcikvcnVudXNlcgorZWxzZQorCWNwICQodG9wX3NyY2RpcikvYmFzaC1jb21wbGV0aW9uL3N1ICQoREVTVERJUikkKGJhc2hjb21wbGV0aW9uZGlyKS9ydW51c2VyCitlbmRpZgorSU5TVEFMTF9EQVRBX0hPT0tTICs9IGluc3RhbGwtZGF0YS1ob29rLWJhc2hjb21wLXJ1bnVzZXIKK2VuZGlmCisKK2lmIEJVSUxEX1VUTVBEVU1QCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3V0bXBkdW1wCitlbmRpZgoraWYgQlVJTERfTElCVVVJRAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi91dWlkZ2VuCitlbmRpZgoraWYgQlVJTERfVVVJRFBBUlNFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3V1aWRwYXJzZQorZW5kaWYKK2lmIEJVSUxEX1VVSURECitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3V1aWRkCitlbmRpZgoraWYgQlVJTERfTFNCTEsKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbHNibGsKK2VuZGlmCitpZiBCVUlMRF9MU0xPQ0tTCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xzbG9ja3MKK2VuZGlmCitpZiBCVUlMRF9SRU5BTUUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vcmVuYW1lCitlbmRpZgoraWYgQlVJTERfQ0hSVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jaHJ0CitlbmRpZgoraWYgQlVJTERfSU9OSUNFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2lvbmljZQorZW5kaWYKK2lmIEJVSUxEX1RBU0tTRVQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vdGFza3NldAorZW5kaWYKKworaWYgQlVJTERfQ0hDUFUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vY2hjcHUKK2VuZGlmCitpZiBCVUlMRF9DSE1FTQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9jaG1lbQorZW5kaWYKK2lmIEJVSUxEX0VKRUNUCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2VqZWN0CitlbmRpZgoraWYgQlVJTERfRkFMTE9DQVRFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2ZhbGxvY2F0ZQorZW5kaWYKK2lmIEJVSUxEX0hXQ0xPQ0sKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vaHdjbG9jaworZW5kaWYKK2lmIEJVSUxEX1RVTkVMUAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi90dW5lbHAKK2VuZGlmCitpZiBCVUlMRF9MU0NQVQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9sc2NwdQorZW5kaWYKK2lmIEJVSUxEX0xTTUVNCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xzbWVtCitlbmRpZgoraWYgQlVJTERfTE9TRVRVUAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9sb3NldHVwCitlbmRpZgoraWYgQlVJTERfTU9VTlQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbW91bnQKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vdW1vdW50CitlbmRpZgoraWYgQlVJTERfTU9VTlRQT0lOVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9tb3VudHBvaW50CitlbmRpZgoraWYgQlVJTERfTlNFTlRFUgorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9uc2VudGVyCitlbmRpZgoraWYgQlVJTERfUElWT1RfUk9PVAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9waXZvdF9yb290CitlbmRpZgoraWYgQlVJTERfU0VUUFJJVgorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9zZXRwcml2CitlbmRpZgoraWYgQlVJTERfU1dBUE9OCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3N3YXBvbgorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9zd2Fwb2ZmCitlbmRpZgoraWYgQlVJTERfVU5TSEFSRQorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi91bnNoYXJlCitlbmRpZgoraWYgQlVJTERfV0RDVEwKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vd2RjdGwKK2VuZGlmCitpZiBCVUlMRF9CTEtESVNDQVJECitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2Jsa2Rpc2NhcmQKK2VuZGlmCitpZiBCVUlMRF9CTEtaT05FCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2Jsa3pvbmUKK2VuZGlmCitpZiBCVUlMRF9DVFJMQUxUREVMCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2N0cmxhbHRkZWwKK2VuZGlmCitpZiBCVUlMRF9ETUVTRworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9kbWVzZworZW5kaWYKK2lmIEJVSUxEX0ZTRlJFRVpFCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2ZzZnJlZXplCitlbmRpZgoraWYgQlVJTERfRlNUUklNCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2ZzdHJpbQorZW5kaWYKK2lmIEJVSUxEX0xEQVRUQUNICitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL2xkYXR0YWNoCitlbmRpZgoraWYgQlVJTERfUkZLSUxMCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3Jma2lsbAorZW5kaWYKK2lmIEJVSUxEX1JUQ1dBS0UKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vcnRjd2FrZQorZW5kaWYKK2lmIEJVSUxEX1NFVEFSQ0gKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vc2V0YXJjaAorZW5kaWYKK2lmIEJVSUxEX1pSQU1DVEwKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24venJhbWN0bAorZW5kaWYKKworaWYgQlVJTERfTUVTRworZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi9tZXNnCitlbmRpZgoraWYgQlVJTERfV0FMTAorZGlzdF9iYXNoY29tcGxldGlvbl9EQVRBICs9IGJhc2gtY29tcGxldGlvbi93YWxsCitlbmRpZgoraWYgQlVJTERfV1JJVEUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vd3JpdGUKK2VuZGlmCitpZiBCVUlMRF9TRVRURVJNCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3NldHRlcm0KK2VuZGlmCisKK2lmIEJVSUxEX01PUkUKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vbW9yZQorZW5kaWYKK2lmIEJVSUxEX1BHCitkaXN0X2Jhc2hjb21wbGV0aW9uX0RBVEEgKz0gYmFzaC1jb21wbGV0aW9uL3BnCitlbmRpZgoraWYgQlVJTERfVUwKK2Rpc3RfYmFzaGNvbXBsZXRpb25fREFUQSArPSBiYXNoLWNvbXBsZXRpb24vdWwKK2VuZGlmCisKK2VuZGlmICMgQlVJTERfQkFTSF9DT01QTEVUSU9OCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vYWRkcGFydCBiL2Jhc2gtY29tcGxldGlvbi9hZGRwYXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxNzk2MzkKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vYWRkcGFydApAQCAtMCwwICsxLDIzIEBACitfYWRkcGFydF9tb2R1bGUoKQoreworCWxvY2FsIGN1cgorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwljYXNlICRDT01QX0NXT1JEIGluCisJCTEpCisJCQlPUFRTPSItLWhlbHAgLS12ZXJzaW9uICQobHNibGsgLXBucm8gbmFtZSkiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCTs7CisJCTIpCisJCQkjIEZJWE1FOiBob3cgdG8gZGV0ZXJtaW5lIG5leHQgZnJlZSBwYXJ0aXRpb24gbnVtYmVyCisJCQk7OworCQkzKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzdGFydCIgLS0gJGN1cikgKQorCQkJOzsKKwkJNCkKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibGVuZ3RoIiAtLSAkY3VyKSApCisJCQk7OworCWVzYWMKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2FkZHBhcnRfbW9kdWxlIGFkZHBhcnQKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9ibGtkaXNjYXJkIGIvYmFzaC1jb21wbGV0aW9uL2Jsa2Rpc2NhcmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjRhNWMzNAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9ibGtkaXNjYXJkCkBAIC0wLDAgKzEsMzUgQEAKK19ibGtkaXNjYXJkX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW8nfCctLW9mZnNldCd8Jy1sJ3wnLS1sZW5ndGgnfCctcCd8Jy0tc3RlcCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm51bSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIKKwkJCQktLW9mZnNldAorCQkJCS0tbGVuZ3RoCisJCQkJLS1zdGVwCisJCQkJLS1zZWN1cmUKKwkJCQktLXplcm9vdXQKKwkJCQktLXZlcmJvc2UKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24KKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfYmxrZGlzY2FyZF9tb2R1bGUgYmxrZGlzY2FyZApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2Jsa2lkIGIvYmFzaC1jb21wbGV0aW9uL2Jsa2lkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YjM0YzMKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vYmxraWQKQEAgLTAsMCArMSw5OCBAQAorX2Jsa2lkX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBPVVRQVVRfQUxMCisJT1VUUFVUX0FMTD0nJworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWMnfCctLWNhY2hlLWZpbGUnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW8nfCctLW91dHB1dCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInZhbHVlIGRldmljZSBleHBvcnQgZnVsbCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tbWF0Y2gtdGFnJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAidGFnIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy10J3wnLS1tYXRjaC10b2tlbicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIlRZUEU9IExBQkVMPSBVVUlEPSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTCd8Jy0tbGFiZWwnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGNkIC9kZXYvZGlzay9ieS1sYWJlbC8gMj4vZGV2L251bGwgJiYgZWNobyAqKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVSd8Jy0tdXVpZCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoY2QgL2Rldi9kaXNrL2J5LXV1aWQvIDI+L2Rldi9udWxsICYmIGVjaG8gKikiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVMnfCctLXNpemUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzaXplIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1PJ3wnLS1vZmZzZXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJvZmZzZXQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXUnfCctLXVzYWdlcycpCisJCQlPVVRQVVRfQUxMPXssbm99e2ZpbGVzeXN0ZW0scmFpZCxjcnlwdG8sb3RoZXJ9CisJCQk7OworCQknLW4nfCctLW1hdGNoLXR5cGVzJykKKwkJCU9VVFBVVF9BTEw9IgorCQkJCSQoYXdrICd7cHJpbnQgJE5GfScgL3Byb2MvZmlsZXN5c3RlbXMpCisJCQkJJChcbHMgL2xpYi9tb2R1bGVzLyQodW5hbWUgLXIpL2tlcm5lbC9mcykKKwkJCSIKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlpZiBbIC1uICIkT1VUUFVUX0FMTCIgXTsgdGhlbgorCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBPVVRQVVRfQUxMIE9VVFBVVAorCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJZm9yIFdPUkQgaW4gJE9VVFBVVF9BTEw7IGRvCisJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJT1VUUFVUPSIkV09SRCAke09VVFBVVDotIiJ9IgorCQkJZmkKKwkJZG9uZQorCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICIkcmVhbGN1ciIpICkKKwkJcmV0dXJuIDAKKwlmaQorCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9IgorCQkJCS0tY2FjaGUtZmlsZQorCQkJCS0tbm8tZW5jb2RpbmcKKwkJCQktLWdhcmJhZ2UtY29sbGVjdAorCQkJCS0tb3V0cHV0CisJCQkJLS1saXN0LWZpbGVzeXN0ZW1zCisJCQkJLS1tYXRjaC10YWcKKwkJCQktLW1hdGNoLXRva2VuCisJCQkJLS1saXN0LW9uZQorCQkJCS0tbGFiZWwKKwkJCQktLXV1aWQKKwkJCQktLXByb2JlCisJCQkJLS1pbmZvCisJCQkJLS1zaXplCisJCQkJLS1vZmZzZXQKKwkJCQktLXVzYWdlcworCQkJCS0tbWF0Y2gtdHlwZXMKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24KKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfYmxraWRfbW9kdWxlIGJsa2lkCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vYmxrem9uZSBiL2Jhc2gtY29tcGxldGlvbi9ibGt6b25lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE1MDY4NGQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vYmxrem9uZQpAQCAtMCwwICsxLDUyIEBACitfYmxrem9uZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1vJ3wnLS1vZmZzZXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzZWN0b3IiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWwnfCctLWxlbmd0aCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNpemUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWMnfCctLWNvdW50JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibnVtYmVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCWNhc2UgJHByZXYgaW4KKwkJCQkncmVwb3J0J3wncmVzZXQnKQorCQkJCQlPUFRTPSItLXZlcmJvc2UgLS1vZmZzZXQgLS1sZW5ndGggLS1jb3VudCIKKwkJCQkJOzsKKwkJCQkqKQorCQkJCQlPUFRTPSItLWhlbHAgLS12ZXJzaW9uIgorCQkJCQk7OworCQkJZXNhYworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJKikKKwkJCWNhc2UgJHByZXYgaW4KKwkJCQkncmVwb3J0J3wncmVzZXQnKQorCQkJCQk7OworCQkJCSopCisJCQkJCU9QVFM9InJlcG9ydCByZXNldCIKKwkJCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQkJCTs7CisJCQllc2FjCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9ibGt6b25lX21vZHVsZSBibGt6b25lCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vYmxvY2tkZXYgYi9iYXNoLWNvbXBsZXRpb24vYmxvY2tkZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdhY2EyNgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9ibG9ja2RldgpAQCAtMCwwICsxLDQ0IEBACitfYmxvY2tkZXZfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwlERVZTPSIkKGxzYmxrIC1wbnJvIG5hbWUpIgorCU9QVFM9Ii1oIC1WIC1xCisJCS0tcmVwb3J0CisJCS0tZ2V0c3oKKwkJLS1zZXRybworCQktLXNldHJ3CisJCS0tZ2V0cm8KKwkJLS1nZXRkaXNjYXJkemVyb2VzCisJCS0tZ2V0c3MKKwkJLS1nZXRwYnN6CisJCS0tZ2V0aW9taW4KKwkJLS1nZXRpb29wdAorCQktLWdldGFsaWdub2ZmCisJCS0tZ2V0bWF4c2VjdAorCQktLWdldGJzegorCQktLXNldGJzegorCQktLWdldHNpemU2NAorCQktLXNldHJhCisJCS0tZ2V0cmEKKwkJLS1zZXRmcmEKKwkJLS1nZXRmcmEKKwkJLS1mbHVzaGJ1ZnMKKwkJLS1yZXJlYWRwdAorCQkkREVWUyIKKwljYXNlICRwcmV2IGluCisJCSctLXNldGJzeicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImJ5dGVzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tc2V0cmEnfCctLXNldGZyYScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNlY3RvcnMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2Jsb2NrZGV2X21vZHVsZSBibG9ja2RldgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2NhbCBiL2Jhc2gtY29tcGxldGlvbi9jYWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYyN2JkYgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9jYWwKQEAgLTAsMCArMSwyOSBAQAorX2NhbF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iCS0tb25lCisJCQkJLS10aHJlZQorCQkJCS0tbW9udGhzCisJCQkJLS1zdW5kYXkKKwkJCQktLXNwYW4KKwkJCQktLW1vbmRheQorCQkJCS0tanVsaWFuCisJCQkJLS15ZWFyCisJCQkJLS10d2VsdmUKKwkJCQktLXdlZWsKKwkJCQktLWNvbG9yPWF1dG8KKwkJCQktLWNvbG9yPWFsd2F5cworCQkJCS0tY29sb3I9bmV2ZXIKKwkJCQktLXZlcnNpb24KKwkJCQktLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2NhbF9tb2R1bGUgY2FsCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vY2ZkaXNrIGIvYmFzaC1jb21wbGV0aW9uL2NmZGlzawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTIxZmEzCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2NmZGlzawpAQCAtMCwwICsxLDI5IEBACitfY2ZkaXNrX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLUwnfCctLWNvbG9yJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiYXV0byBuZXZlciBhbHdheXMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVYnfCctLXZlcnNpb24nfCdoJ3wnLS1oZWxwJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIJLS1jb2xvcgorCQkJCS0temVybworCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfY2ZkaXNrX21vZHVsZSBjZmRpc2sKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jaGNwdSBiL2Jhc2gtY29tcGxldGlvbi9jaGNwdQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDk2YzI1Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2NoY3B1CkBAIC0wLDAgKzEsNTkgQEAKK19jaGNwdV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1lJ3wnLS1lbmFibGUnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgQ1BVTElTVF9BTEwgQ1BVTElTVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJQ1BVTElTVF9BTEw9JChzZWQgJ3MvXi97Lzsgcy8tLy4uL2c7IHMvLC99IHsvZzsgcy8kL30vJyAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9vZmZsaW5lKQorCQkJZm9yIFdPUkQgaW4gJChldmFsIGVjaG8gJENQVUxJU1RfQUxMKTsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCUNQVUxJU1Q9IiRXT1JEICR7Q1BVTElTVDotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRDUFVMSVNUIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWQnfCctLWRpc2FibGUnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgQ1BVTElTVF9BTEwgQ1BVTElTVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJQ1BVTElTVF9BTEw9JChzZWQgJ3MvXi97Lzsgcy8tLy4uL2c7IHMvLC99IHsvZzsgcy8kL30vJyAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9vbmxpbmUpCisJCQlmb3IgV09SRCBpbiAkKGV2YWwgZWNobyAkQ1BVTElTVF9BTEwpOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJQ1BVTElTVD0iJFdPUkQgJHtDUFVMSVNUOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJENQVUxJU1QiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctYyd8Jy0tY29uZmlndXJlJ3wnLWcnfCctLWRlY29uZmlndXJlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiY3B1LWxpc3QiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLWRpc3BhdGNoJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiaG9yaXpvbnRhbCB2ZXJ0aWNhbCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSItLWhlbHAKKwkJLS1lbmFibGUKKwkJLS1kaXNhYmxlCisJCS0tY29uZmlndXJlCisJCS0tZGVjb25maWd1cmUKKwkJLS1kaXNwYXRjaAorCQktLXJlc2NhbgorCQktLXZlcnNpb24iCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9jaGNwdV9tb2R1bGUgY2hjcHUKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jaGZuIGIvYmFzaC1jb21wbGV0aW9uL2NoZm4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWNhMGY3MgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9jaGZuCkBAIC0wLDAgKzEsMjIgQEAKK19jaGZuX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXUnfCctLWhlbHAnfCctdid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1mdWxsLW5hbWUgLS1vZmZpY2UgLS1vZmZpY2UtcGhvbmUgLS1ob21lLXBob25lIC0taGVscCAtLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLXUgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfY2hmbl9tb2R1bGUgY2hmbgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2NobWVtIGIvYmFzaC1jb21wbGV0aW9uL2NobWVtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlM2FmODcKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY2htZW0KQEAgLTAsMCArMSwzMCBAQAorX2NobWVtX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iCisJCQkJLS1lbmFibGUKKwkJCQktLWRpc2FibGUKKwkJCQktLWJsb2NrcworCQkJCS0tdmVyYm9zZQorCQkJCS0tem9uZQorCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbgorCQkJIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzaXplIHJhbmdlIGJsb2NrcmFuZ2UiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2NobWVtX21vZHVsZSBjaG1lbQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2Nob29tIGIvYmFzaC1jb21wbGV0aW9uL2Nob29tCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMTZkZjEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY2hvb20KQEAgLTAsMCArMSwyOSBAQAorX2Nob29tX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW4nfCctLWFkanVzdCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInstMTAwMC4uMTAwMH0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLXBpZCcpCisJCQlsb2NhbCBQSURTCisJCQlQSURTPSQoY2QgL3Byb2MgJiYgZWNobyBbMC05XSopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCU9QVFM9Ii0tYWRqdXN0CisJCS0tcGlkCisJCS0taGVscAorCQktLXZlcnNpb24iCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9jaG9vbV9tb2R1bGUgY2hvb20KZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jaHJ0IGIvYmFzaC1jb21wbGV0aW9uL2NocnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2UwYjkxNQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9jaHJ0CkBAIC0wLDAgKzEsNTIgQEAKK19jaHJ0X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1UJ3wnLS1zY2hlZC1ydW50aW1lJ3wnLVAnfCctLXNjaGVkLXBlcmlvZCd8Jy1EJ3wnLS1zY2hlZC1kZWFkbGluZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm5hbm9zZWNvbmRzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iCisJCQkJLS1hbGwtdGFza3MKKwkJCQktLWJhdGNoCisJCQkJLS1kZWFkbGluZQorCQkJCS0tZmlmbworCQkJCS0taGVscAorCQkJCS0taWRsZQorCQkJCS0tbWF4CisJCQkJLS1vdGhlcgorCQkJCS0tcGlkCisJCQkJLS1yZXNldC1vbi1mb3JrCisJCQkJLS1ycgorCQkJCS0tc2NoZWQtZGVhZGxpbmUKKwkJCQktLXNjaGVkLXBlcmlvZAorCQkJCS0tc2NoZWQtcnVudGltZQorCQkJCS0tdmVyYm9zZQorCQkJCS0tdmVyc2lvbgorCQkJIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgaQorCWZvciBpIGluICR7Q09NUF9XT1JEU1sqXX07IGRvCisJCWNhc2UgJGkgaW4KKwkJJy1wJ3wnLS1waWQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGNkIC9wcm9jICYmIGVjaG8gWzAtOV0qKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCWVzYWMKKwlkb25lCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1jIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2NocnRfbW9kdWxlIGNocnQKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jaHNoIGIvYmFzaC1jb21wbGV0aW9uL2Noc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJmOGFkZAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9jaHNoCkBAIC0wLDAgKzEsMjYgQEAKK19jaHNoX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXMnfCctLXNoZWxsJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJCgkMSAtbCkiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXUnfCctLWhlbHAnfCctdid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1zaGVsbCAtLWxpc3Qtc2hlbGxzIC0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLXUgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfY2hzaF9tb2R1bGUgY2hzaApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2NvbCBiL2Jhc2gtY29tcGxldGlvbi9jb2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2VhNTdiNQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9jb2wKQEAgLTAsMCArMSwyNyBAQAorX2NvbF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1sJ3wnLS1saW5lcycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm51bWJlciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctSCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSItLW5vLWJhY2tzcGFjZXMKKwkJLS1maW5lCisJCS0tcGFzcworCQktLXRhYnMKKwkJLS1zcGFjZXMKKwkJLS1saW5lcworCQktLXZlcnNpb24KKwkJLS1oZWxwIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfY29sX21vZHVsZSBjb2wKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jb2xjcnQgYi9iYXNoLWNvbXBsZXRpb24vY29sY3J0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2NmQ3ZTYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vY29sY3J0CkBAIC0wLDAgKzEsMjcgQEAKK19jb2xjcnRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIJLS1uby11bmRlcmxpbmluZworCQkJCS0taGFsZi1saW5lcworCQkJCS0tdmVyc2lvbgorCQkJCS0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2NvbGNydF9tb2R1bGUgY29sY3J0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vY29scm0gYi9iYXNoLWNvbXBsZXRpb24vY29scm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjIyZGJhYQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9jb2xybQpAQCAtMCwwICsxLDI5IEBACitfY29scm1fbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXZlcnNpb24gLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkQ09NUF9DV09SRCBpbgorCQkxKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzdGFydGNvbCIgLS0gJGN1cikgKQorCQkJOzsKKwkJMikKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiZW5kY29sIiAtLSAkY3VyKSApCisJCQk7OworCWVzYWMKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2NvbHJtX21vZHVsZSBjb2xybQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2NvbHVtbiBiL2Jhc2gtY29tcGxldGlvbi9jb2x1bW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FmOGU3MwotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9jb2x1bW4KQEAgLTAsMCArMSwzOCBAQAorX2NvbHVtbl9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1jJ3wnLS1jb2x1bW5zJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibnVtYmVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1zJ3wnLS1zZXBhcmF0b3InfCctbyd8Jy0tb3V0cHV0LXNlcGFyYXRvcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInN0cmluZyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWNvbHVtbnMKKwkJCQktLXRhYmxlCisJCQkJLS1zZXBhcmF0b3IKKwkJCQktLW91dHB1dC1zZXBhcmF0b3IKKwkJCQktLWZpbGxyb3dzCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfY29sdW1uX21vZHVsZSBjb2x1bW4KZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9jdHJsYWx0ZGVsIGIvYmFzaC1jb21wbGV0aW9uL2N0cmxhbHRkZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM4YTk0MwotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9jdHJsYWx0ZGVsCkBAIC0wLDAgKzEsMTcgQEAKK19jdHJsYWx0ZGVsX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWlmIFsgJENPTVBfQ1dPUkQgLWVxIDEgXTsgdGhlbgorCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImhhcmQgc29mdCIgLS0gJGN1cikgKQorCWZpCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9jdHJsYWx0ZGVsX21vZHVsZSBjdHJsYWx0ZGVsCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZGVscGFydCBiL2Jhc2gtY29tcGxldGlvbi9kZWxwYXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1YTkyZWYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZGVscGFydApAQCAtMCwwICsxLDI0IEBACitfZGVscGFydF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJENPTVBfQ1dPUkQgaW4KKwkJMSkKKwkJCU9QVFM9Ii0taGVscCAtLXZlcnNpb24gJChsc2JsayAtcG5ybyBuYW1lKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJOzsKKwkJMikKKwkJCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChjYXQgL3N5cy9ibG9jay8ke3ByZXYjIyovfS8qL3BhcnRpdGlvbiAyPi9kZXYvbnVsbCkiIC0tICRjdXIpICkKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZGVscGFydF9tb2R1bGUgZGVscGFydApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2RtZXNnIGIvYmFzaC1jb21wbGV0aW9uL2RtZXNnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwNzNlNWIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZG1lc2cKQEAgLTAsMCArMSw2MyBAQAorCitfZG1lc2dfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctRid8Jy0tZmlsZScpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctZid8Jy0tZmFjaWxpdHknKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJrZXJuIHVzZXIgbWFpbCBkYWVtb24gYXV0aCBzeXNsb2cgbHByIG5ld3MiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWwnfCctLWxldmVsJ3wnLW4nfCctLWNvbnNvbGUtbGV2ZWwnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJlbWVyZyBhbGVydCBjcml0IGVyciB3YXJuIG5vdGljZSBpbmZvIGRlYnVnIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1zJ3wnLS1idWZmZXItc2l6ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNpemUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS10aW1lLWZvcm1hdCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImRlbHRhIHJlbHRpbWUgY3RpbWUgbm90aW1lIGlzbyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSItLWNsZWFyCisJCS0tcmVhZC1jbGVhcgorCQktLWNvbnNvbGUtb2ZmCisJCS0tc2hvdy1kZWx0YQorCQktLXJlbHRpbWUKKwkJLS1jb25zb2xlLW9uCisJCS0tZmlsZQorCQktLWZhY2lsaXR5CisJCS0taHVtYW4KKwkJLS1rZXJuZWwKKwkJLS1jb2xvcgorCQktLWxldmVsCisJCS0tY29uc29sZS1sZXZlbAorCQktLW5vcGFnZXIKKwkJLS1yYXcKKwkJLS1zeXNsb2cKKwkJLS1idWZmZXItc2l6ZQorCQktLWN0aW1lCisJCS0tbm90aW1lCisJCS0tdGltZS1mb3JtYXQKKwkJLS11c2Vyc3BhY2UKKwkJLS1mb2xsb3cKKwkJLS1kZWNvZGUKKwkJLS1oZWxwCisJCS0tdmVyc2lvbiIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2RtZXNnX21vZHVsZSBkbWVzZwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2VqZWN0IGIvYmFzaC1jb21wbGV0aW9uL2VqZWN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyN2VmMWIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZWplY3QKQEAgLTAsMCArMSw2NCBAQAorX2VqZWN0X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWEnfCctLWF1dG8nfCctaSd8Jy0tbWFudWFsZWplY3QnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJvZmYgb24iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWMnfCctLWNoYW5nZXJzbG90JykKKwkJCSMgRklYTUU6IHRoZXJlIG11c3QgYmUgd2F5IHRvIGRldGVybWluZSBzbG90cworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzbG90IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy14J3wnLS1jZHNwZWVkJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChlamVjdCAtLWxpc3RzcGVlZCAyPi9kZXYvbnVsbCkiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1hdXRvCisJCQkJLS1jaGFuZ2Vyc2xvdAorCQkJCS0tZGVmYXVsdAorCQkJCS0tZmxvcHB5CisJCQkJLS1mb3JjZQorCQkJCS0tbWFudWFsZWplY3QKKwkJCQktLW5vLXVubW91bnQKKwkJCQktLW5vLXBhcnRpdGlvbnMtdW5tb3VudAorCQkJCS0tbm9vcAorCQkJCS0tcHJvYworCQkJCS0tdGFwZQorCQkJCS0tY2Ryb20KKwkJCQktLXNjc2kKKwkJCQktLXRyYXljbG9zZQorCQkJCS0tdHJheXRvZ2dsZQorCQkJCS0tdmVyYm9zZQorCQkJCS0tY2RzcGVlZAorCQkJCS0tbGlzdHNwZWVkCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgREVWUworCURFVlM9IiQoZm9yIEkgaW4gL3N5cy9jbGFzcy9ibG9jay8qL3JlbW92YWJsZTsgZG8KKwkJaWYgWyAkKGNhdCAkSSkgLW5lIDAgXTsgdGhlbgorCQkJT0xEX0lGUz0kSUZTCisJCQlJRlM9Jy8nOworCQkJQVJSPSgkSSkKKwkJCWVjaG8gIi9kZXYvJHtBUlJbNF19IgorCQkJSUZTPSRPTERfSUZTCisJCWZpCisJZG9uZSkiCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkREVWUyIgJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZWplY3RfbW9kdWxlIGVqZWN0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZmFsbG9jYXRlIGIvYmFzaC1jb21wbGV0aW9uL2ZhbGxvY2F0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzA4NzRjCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2ZhbGxvY2F0ZQpAQCAtMCwwICsxLDQxIEBACitfZmFsbG9jYXRlX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW8nfCctLW9mZnNldCd8Jy1sJ3wnLS1sZW5ndGgnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJieXRlcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIKKwkJCQktLWNvbGxhcHNlLXJhbmdlCisJCQkJLS1kaWctaG9sZXMKKwkJCQktLWluc2VydC1yYW5nZQorCQkJCS0tbGVuZ3RoCisJCQkJLS1rZWVwLXNpemUKKwkJCQktLW9mZnNldAorCQkJCS0tcHVuY2gtaG9sZQorCQkJCS0temVyby1yYW5nZQorCQkJCS0tcG9zaXgKKwkJCQktLXZlcmJvc2UKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24KKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2ZhbGxvY2F0ZV9tb2R1bGUgZmFsbG9jYXRlCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZmRmb3JtYXQgYi9iYXNoLWNvbXBsZXRpb24vZmRmb3JtYXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDljYjBhMgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9mZGZvcm1hdApAQCAtMCwwICsxLDI5IEBACitfZmRmb3JtYXRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZid8Jy0tZnJvbSd8Jy10J3wnLS10byd8Jy1yJ3wnLS1yZXBhaXInKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ0cmFja19udW0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJREVWUz0kKGZvciBJIGluIGVjaG8gL2Rldi9mZCo7IGRvIGlmIFsgLWUgJEkgXTsgdGhlbiBlY2hvICRJOyBmaTsgZG9uZSkKKwlPUFRTPSIKKwkJLS1mcm9tCisJCS0tdG8KKwkJLS1yZXBhaXIKKwkJLS1uby12ZXJpZnkKKwkJLS1oZWxwCisJCS0tdmVyc2lvbgorCQkkREVWUworCSIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2ZkZm9ybWF0X21vZHVsZSBmZGZvcm1hdApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2ZkaXNrIGIvYmFzaC1jb21wbGV0aW9uL2ZkaXNrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1NWRlMTQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZmRpc2sKQEAgLTAsMCArMSw5NyBAQAorX2ZkaXNrX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXMnfCctLWdldHN6JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctYid8Jy0tc2VjdG9yLXNpemUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICI1MTIgMTAyNCAyMDQ4IDQwOTYiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWMnfCctLWNvbXBhdGliaWxpdHknKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJkb3Mgbm9uZG9zIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1MJ3wnLS1jb2xvcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImF1dG8gbmV2ZXIgYWx3YXlzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVF9BTEwgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlPVVRQVVRfQUxMPSIKKwkJCQlBdHRycworCQkJCUJvb3QKKwkJCQlCc2l6ZQorCQkJCUNwZworCQkJCUN5bGluZGVycworCQkJCURldmljZQorCQkJCUVuZAorCQkJCUVuZC1DL0gvUworCQkJCUZsYWdzCisJCQkJRnNpemUKKwkJCQlJZAorCQkJCU5hbWUKKwkJCQlTZWN0b3JzCisJCQkJU2l6ZQorCQkJCVNsaWNlCisJCQkJU3RhcnQKKwkJCQlTdGFydC1DL0gvUworCQkJCVR5cGUKKwkJCQlUeXBlLVVVSUQKKwkJCQlVVUlECisJCQkiCisJCQlmb3IgV09SRCBpbiAkT1VUUFVUX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCU9VVFBVVD0iJFdPUkQgJHtPVVRQVVQ6LSIifSIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkT1VUUFVUIiAtUyAnLCcgLS0gIiRyZWFsY3VyIikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdSd8Jy0tdW5pdHMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJjeWxpbmRlcnMgc2VjdG9ycyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctQyd8Jy0tY3lsaW5kZXJzJ3wnLUgnfCctLWhlYWRzJ3wnLVMnfCctLXNlY3RvcnMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctdid8Jy0tdmVyc2lvbid8Jy1WJ3wnLS1saXN0JykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXNlY3Rvci1zaXplCisJCQkJLS1wcm90ZWN0LWJvb3QKKwkJCQktLWNvbXBhdGliaWxpdHkKKwkJCQktLWNvbG9yCisJCQkJLS1saXN0CisJCQkJLS1vdXRwdXQKKwkJCQktLXR5cGUKKwkJCQktLXVuaXRzCisJCQkJLS1nZXRzegorCQkJCS0tYnl0ZXMKKwkJCQktLXdpcGUKKwkJCQktLXdpcGUtcGFydGl0aW9ucworCQkJCS0tY3lsaW5kZXJzCisJCQkJLS1oZWFkcworCQkJCS0tc2VjdG9ycworCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZmRpc2tfbW9kdWxlIGZkaXNrCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZmluY29yZSBiL2Jhc2gtY29tcGxldGlvbi9maW5jb3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2Mzk3NjMKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZmluY29yZQpAQCAtMCwwICsxLDQ2IEBACitfZmluY29yZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUX0FMTCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCU9VVFBVVF9BTEw9J1BBR0VTIFNJWkUgRklMRSBSRVMnCisJCQlmb3IgV09SRCBpbiAkT1VUUFVUX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCU9VVFBVVD0iJFdPUkQgJHtPVVRQVVQ6LSIifSIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkT1VUUFVUIiAtUyAnLCcgLS0gIiRyZWFsY3VyIikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkgICAgLSopCisJCQlPUFRTPSIKKwkJCQktLWpzb24KKwkJCQktLWJ5dGVzCisJCQkJLS1ub2hlYWRpbmdzCisJCQkJLS1vdXRwdXQKKwkJCQktLXJhdworCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbgorCQkJIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJHtjdXI6LSIvIn0pICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2ZpbmNvcmVfbW9kdWxlIGZpbmNvcmUKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9maW5kZnMgYi9iYXNoLWNvbXBsZXRpb24vZmluZGZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyOTdiODYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZmluZGZzCkBAIC0wLDAgKzEsMzQgQEAKK19maW5kZnNfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTIGZpbmRhYmxlCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXZlcnNpb24gLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJZm9yIGkgaW4gJChsc2JsayAtcnBubyBsYWJlbCk7IGRvCisJCWZpbmRhYmxlKz0iIExBQkVMPSRpIgorCWRvbmUKKwlmb3IgaSBpbiAkKGxzYmxrIC1ycG5vIHV1aWQpOyBkbworCQlmaW5kYWJsZSs9IiBVVUlEPSRpIgorCWRvbmUKKwlmb3IgaSBpbiAkKGxzYmxrIC1ycG5vIHBhcnRsYWJlbCk7IGRvCisJCWZpbmRhYmxlKz0iIFBBUlRMQUJFTD0kaSIKKwlkb25lCisJZm9yIGkgaW4gJChsc2JsayAtcnBubyBwYXJ0dXVpZCk7IGRvCisJCWZpbmRhYmxlKz0iIFBBUlRVVUlEPSRpIgorCWRvbmUKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRmaW5kYWJsZSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZmluZGZzX21vZHVsZSBmaW5kZnMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9maW5kbW50IGIvYmFzaC1jb21wbGV0aW9uL2ZpbmRtbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI3MGQzNgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9maW5kbW50CkBAIC0wLDAgKzEsMTQ0IEBACitfZmluZG1udF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1wJ3wnLS1wb2xsJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiPWxpc3QiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXcnfCctLXRpbWVvdXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ0aW1lb3V0IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1kJ3wnLS1kaXJlY3Rpb24nKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJmb3J3YXJkIGJhY2t3YXJkIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1GJ3wnLS10YWItZmlsZScpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTid8Jy0tdGFzaycpCisJCQlsb2NhbCBUSUQ9JycgSSBBUlIKKwkJCWZvciBJIGluIC9wcm9jLyovbW91bnRpbmZvOyBkbyBJRlM9LyByZWFkIC1yYSBBUlIgPDw8ICIkSSI7IFRJRCs9IiR7QVJSWzJdfSAiOyBkb25lCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRUSUQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLU8nfCctLW9wdGlvbnMnKQorCQkJbG9jYWwgTVRBQl8zUkQgSQorCQkJZGVjbGFyZSAtYSBUTVBfQVJSCisJCQlkZWNsYXJlIC1BIE1OVF9PUFRTCisJCQl3aGlsZSByZWFkIE1UQUJfM1JEOyBkbworCQkJCUlGUz0nLCcgcmVhZCAtcmEgVE1QX0FSUiA8PDwiJE1UQUJfM1JEIgorCQkJCWZvciBJIGluICR7VE1QX0FSUltAXX07IGRvCisJCQkJCU1OVF9PUFRTWyRJXT0nMScKKwkJCQlkb25lCisJCQlkb25lIDwgPCgkMSAtcm5vIE9QVElPTlMpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7IU1OVF9PUFRTW0BdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVF9BTEwgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisKKwkJCU9VVFBVVF9BTEw9IlNPVVJDRSBUQVJHRVQgRlNUWVBFIE9QVElPTlMgVkZTLU9QVElPTlMKKwkJCQlGUy1PUFRJT05TIExBQkVMIFVVSUQgUEFSVExBQkVMIFBBUlRVVUlECisJCQkJTUFKXDpNSU4gQUNUSU9OIE9MRC1UQVJHRVQgT0xELU9QVElPTlMKKwkJCQlTSVpFIEFWQUlMIFVTRUQgVVNFJSBGU1JPT1QgVElEIElECisJCQkJT1BULUZJRUxEUyBQUk9QQUdBVElPTiBGUkVRIFBBU1NOTyIKKworCQkJZm9yIFdPUkQgaW4gJE9VVFBVVF9BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICR7T1VUUFVUOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy10J3wnLS10eXBlcycpCisJCQlsb2NhbCBUWVBFUworCQkJVFlQRVM9ImFkZnMgYWZmcyBhdXRvZnMgY2lmcyBjb2RhIGNvaGVyZW50IGNyYW1mcworCQkJCWRlYnVnZnMgZGV2cHRzIGVmcyBleHQyIGV4dDMgZXh0NCBoZnMKKwkJCQloZnNwbHVzIGhwZnMgaXNvOTY2MCBqZnMgbWluaXggbXNkb3MKKwkJCQluY3BmcyBuZnMgbmZzNCBudGZzIHByb2MgcW54NCByYW1mcworCQkJCXJlaXNlcmZzIHJvbWZzIHNxdWFzaGZzIHNtYmZzIHN5c3YgdG1wZnMKKwkJCQl1YmlmcyB1ZGYgdWZzIHVtc2RvcyB1c2JmcyB2ZmF0IHhlbml4IHhmcyIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFRZUEVTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1TJ3wnLS1zb3VyY2UnKQorCQkJbG9jYWwgREVWX01QT0lOVAorCQkJREVWX01QT0lOVD0kKCQxIC1ybm8gU09VUkNFIHwgZ3JlcCBeL2RldikKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJERFVl9NUE9JTlQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVQnfCctLXRhcmdldCcpCisJCQlsb2NhbCBERVZfTVBPSU5UCisJCQlERVZfTVBPSU5UPSQoJDEgLXJubyBUQVJHRVQpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRERVZfTVBPSU5UIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1NJ3wnLS1tb3VudHBvaW50JykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtbyBkaXJuYW1lcyAtLSAke2N1cjotIi8ifSkgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWZzdGFiCisJCQkJLS1tdGFiCisJCQkJLS1rZXJuZWwKKwkJCQktLXBvbGwKKwkJCQktLXRpbWVvdXQKKwkJCQktLWFsbAorCQkJCS0tYXNjaWkKKwkJCQktLWNhbm9uaWNhbGl6ZQorCQkJCS0tZGYKKwkJCQktLWRpcmVjdGlvbgorCQkJCS0tZXZhbHVhdGUKKwkJCQktLXRhYi1maWxlCisJCQkJLS1maXJzdC1vbmx5CisJCQkJLS1pbnZlcnQKKwkJCQktLWpzb24KKwkJCQktLWxpc3QKKwkJCQktLXRhc2sKKwkJCQktLW5vaGVhZGluZ3MKKwkJCQktLW5vdHJ1bmNhdGUKKwkJCQktLW9wdGlvbnMKKwkJCQktLW91dHB1dAorCQkJCS0tb3V0cHV0LWFsbAorCQkJCS0tcGFpcnMKKwkJCQktLXJhdworCQkJCS0tdHlwZXMKKwkJCQktLW5vZnNyb290CisJCQkJLS1zdWJtb3VudHMKKwkJCQktLXNvdXJjZQorCQkJCS0tdGFyZ2V0CisJCQkJLS1tb3VudHBvaW50CisJCQkJLS1oZWxwCisJCQkJLS10cmVlCisJCQkJLS1yZWFsCisJCQkJLS1wc2V1ZG8KKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBERVZfTVBPSU5UCisJREVWX01QT0lOVD0kKCQxIC1ybm8gVEFSR0VULFNPVVJDRSkKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRERVZfTVBPSU5UIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9maW5kbW50X21vZHVsZSBmaW5kbW50CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZmxvY2sgYi9iYXNoLWNvbXBsZXRpb24vZmxvY2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2I2ODI0NQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9mbG9jawpAQCAtMCwwICsxLDQ3IEBACitfZmxvY2tfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctdyd8Jy0tdGltZW91dCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNlY29uZHMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLUUnfCctLWNvbmZsaWN0LWV4aXQtY29kZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInswLi4yNTV9IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1jJ3wnLS1jb21tYW5kJykKKwkJCWNvbXBvcHQgLW8gYmFzaGRlZmF1bHQKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtYyAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tc2hhcmVkCisJCQkJLS1leGNsdXNpdmUKKwkJCQktLXVubG9jaworCQkJCS0tbm9uYmxvY2sKKwkJCQktLXRpbWVvdXQKKwkJCQktLWNvbmZsaWN0LWV4aXQtY29kZQorCQkJCS0tY2xvc2UKKwkJCQktLWNvbW1hbmQKKwkJCQktLW5vLWZvcmsKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAke2N1cjotIi8ifSkgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZmxvY2tfbW9kdWxlIGZsb2NrCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZnNjayBiL2Jhc2gtY29tcGxldGlvbi9mc2NrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1YjRmNTMKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZnNjawpAQCAtMCwwICsxLDM5IEBACitfZnNja19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1iJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic3VwZXJibG9jayIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctQicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImJsb2Nrc2l6ZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImV4dGVybmFsX2pvdXJuYWwiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWwnfCctTCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImJhZF9ibG9ja3NfZmlsZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctPycpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLXAgLW4gLXkgLWMgLWYgLXYgLWIgLUIgLWogLWwgLUwiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoZmluZCAtTCAvZGV2LyAtcGF0aCAvZGV2L2ZkIC1wcnVuZSBcCisJCS1vIC10eXBlIGIgLXByaW50IDI+L2Rldi9udWxsKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZnNja19tb2R1bGUgZnNjawpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2ZzY2suY3JhbWZzIGIvYmFzaC1jb21wbGV0aW9uL2ZzY2suY3JhbWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxN2QyZmUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZnNjay5jcmFtZnMKQEAgLTAsMCArMSwzMyBAQAorX2ZzY2suY3JhbWZzX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWInfCctLWJsb2Nrc2l6ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNpemUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1leHRyYWN0JykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtbyBkaXJuYW1lcyAtLSAke2N1cjotIi8ifSkgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIi0tdmVyYm9zZSAtLWJsb2Nrc2l6ZSAtLWV4dHJhY3QgLS1oZWxwIC0tdmVyc2lvbiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2ZzY2suY3JhbWZzX21vZHVsZSBmc2NrLmNyYW1mcwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2ZzY2subWluaXggYi9iYXNoLWNvbXBsZXRpb24vZnNjay5taW5peApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYzQ1NzFlCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2ZzY2subWluaXgKQEAgLTAsMCArMSwxNiBAQAorX2ZzY2subWluaXhfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWxpc3QgLS1hdXRvIC0tcmVwYWlyIC0tdmVyYm9zZSAtLXN1cGVyIC0tdW5jbGVhcmVkIC0tZm9yY2UgLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZnNjay5taW5peF9tb2R1bGUgZnNjay5taW5peApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2ZzZnJlZXplIGIvYmFzaC1jb21wbGV0aW9uL2ZzZnJlZXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1YmQ2OGUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vZnNmcmVlemUKQEAgLTAsMCArMSwyNCBAQAorX2ZzZnJlZXplX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1mcmVlemUgLS11bmZyZWV6ZSAtLWhlbHAgLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgTVBPSU5UCisJTVBPSU5UPSIkKGZpbmRtbnQgLXQgZXh0MixleHQzLGV4dDQscmVpc2VyZnMsamZzLHhmcyAtbyBUQVJHRVQgLW4gLXIpIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJE1QT0lOVCIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfZnNmcmVlemVfbW9kdWxlIGZzZnJlZXplCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZnN0cmltIGIvYmFzaC1jb21wbGV0aW9uL2ZzdHJpbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjZkZGQ5Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2ZzdHJpbQpAQCAtMCwwICsxLDM0IEBACitfZnN0cmltX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW8nfCctLW9mZnNldCd8Jy1sJ3wnLS1sZW5ndGgnfCctbSd8Jy0tbWluaW11bScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm51bSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWFsbAorCQkJCS0tb2Zmc2V0CisJCQkJLS1sZW5ndGgKKwkJCQktLW1pbmltdW0KKwkJCQktLXZlcmJvc2UKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBNUE9JTlRTCisJTVBPSU5UUz0kKGZpbmRtbnQgLXJubyBTT1VSQ0UsVEFSR0VUIHwgYXdrICcvXlwvZGV2L3twcmludCAkMn0nKQorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJE1QT0lOVFMiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2ZzdHJpbV9tb2R1bGUgZnN0cmltCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vZ2V0b3B0IGIvYmFzaC1jb21wbGV0aW9uL2dldG9wdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTNmY2E2Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2dldG9wdApAQCAtMCwwICsxLDM3IEBACitfZ2V0b3B0X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWwnfCctLWxvbmdvcHRpb25zJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibG9uZ29wdHMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW4nfCctLW5hbWUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJuYW1lIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vcHRpb25zJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAib3B0c3RyaW5nIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1zJ3wnLS1zaGVsbCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNoIGJhc2ggY3NoIHRjc2giIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1hbHRlcm5hdGl2ZSAtLWhlbHAgLS1sb25nb3B0aW9ucyAtLW5hbWUgLS1vcHRpb25zIC0tcXVpZXQgLS1xdWlldC1vdXRwdXQgLS1zaGVsbCAtLXRlc3QgLS11bnF1b3RlZCAtLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2dldG9wdF9tb2R1bGUgZ2V0b3B0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vaGV4ZHVtcCBiL2Jhc2gtY29tcGxldGlvbi9oZXhkdW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwYjFhYjYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vaGV4ZHVtcApAQCAtMCwwICsxLDUzIEBACitfaGV4ZHVtcF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1MJ3wnLS1jb2xvcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImF1dG8gbmV2ZXIgYWx3YXlzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1lJ3wnLS1mb3JtYXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJmb3JtYXQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW4nfCctLWxlbmd0aCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImxlbmd0aCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tc2tpcCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm9mZnNldCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVid8Jy0tdmVyc2lvbid8Jy1oJ3wnLS1oZWxwJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIJLS1vbmUtYnl0ZS1vY3RhbAorCQkJCS0tb25lLWJ5dGUtY2hhcgorCQkJCS0tY2Fub25pY2FsCisJCQkJLS10d28tYnl0ZXMtZGVjaW1hbAorCQkJCS0tdHdvLWJ5dGVzLW9jdGFsCisJCQkJLS10d28tYnl0ZXMtaGV4CisJCQkJLS1jb2xvcj0KKwkJCQktLWZvcm1hdAorCQkJCS0tZm9ybWF0LWZpbGUKKwkJCQktLWxlbmd0aAorCQkJCS0tc2tpcAorCQkJCS0tbm8tc3F1ZWV6aW5nCisJCQkJLS12ZXJzaW9uCisJCQkJLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfaGV4ZHVtcF9tb2R1bGUgaGV4ZHVtcApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2h3Y2xvY2sgYi9iYXNoLWNvbXBsZXRpb24vaHdjbG9jawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmQ4N2U0Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2h3Y2xvY2sKQEAgLTAsMCArMSw1NyBAQAorX2h3Y2xvY2tfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZid8Jy0tcnRjJ3wnLS1hZGpmaWxlJykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tZGF0ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInRpbWUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1lcG9jaCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInllYXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctPyd8Jy0taGVscCd8Jy12J3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0taGVscAorCQkJCS0tc2hvdworCQkJCS0tZ2V0CisJCQkJLS1zZXQKKwkJCQktLWhjdG9zeXMKKwkJCQktLXN5c3RvaGMKKwkJCQktLXN5c3R6CisJCQkJLS1hZGp1c3QKKwkJCQktLWdldGVwb2NoCisJCQkJLS1zZXRlcG9jaAorCQkJCS0tcHJlZGljdAorCQkJCS0tdmVyc2lvbgorCQkJCS0tdXRjCisJCQkJLS1sb2NhbHRpbWUKKwkJCQktLXJ0YworCQkJCS0tZGlyZWN0aXNhCisJCQkJLS1kYXRlCisJCQkJLS1lcG9jaAorCQkJCS0tdXBkYXRlLWRyaWZ0CisJCQkJLS1ub2FkamZpbGUKKwkJCQktLWFkamZpbGUKKwkJCQktLXRlc3QKKwkJCQktLWRlYnVnIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9od2Nsb2NrX21vZHVsZSBod2Nsb2NrCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vaW9uaWNlIGIvYmFzaC1jb21wbGV0aW9uL2lvbmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjA4NzI3Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2lvbmljZQpAQCAtMCwwICsxLDUwIEBACitfaW9uaWNlX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWMnfCctLWNsYXNzJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiezAuLjN9IG5vbmUgcmVhbHRpbWUgYmVzdC1lZmZvcnQgaWRsZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbid8Jy0tY2xhc3NkYXRhJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiezAuLjd9IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1QJ3wnLS1wZ2lkJykKKwkJCWxvY2FsIFBHSUQKKwkJCVBHSUQ9IiQoYXdrICd7cHJpbnQgJDV9JyAvcHJvYy8qL3N0YXQgMj4vZGV2L251bGwgfCBzb3J0IC11KSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFBHSUQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLXBpZCcpCisJCQlsb2NhbCBQSURTCisJCQlQSURTPSQoZm9yIEkgaW4gL3Byb2MvWzAtOV0qOyBkbyBlY2hvICR7SSMjIi9wcm9jLyJ9OyBkb25lKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkUElEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctdSd8Jy0tdWlkJykKKwkJCWxvY2FsIFVJRFMKKwkJCVVJRFM9IiQoc3RhdCAtLWZvcm1hdD0nJXUnIC9wcm9jL1swLTldKiB8IHNvcnQgLXUpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkVUlEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWNsYXNzIC0tY2xhc3NkYXRhIC0tcGlkIC0tcGdpZCAtLWlnbm9yZSAtLXVpZCAtLXZlcnNpb24gLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfaW9uaWNlX21vZHVsZSBpb25pY2UKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9pcGNtayBiL2Jhc2gtY29tcGxldGlvbi9pcGNtawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OTYyNjZjCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2lwY21rCkBAIC0wLDAgKzEsMjcgQEAKK19pcGNta19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2CisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctTSd8Jy0tc2htZW0nKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzaXplIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1TJ3wnLS1zZW1hcGhvcmUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLW1vZGUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJtb2RlIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiLS1zaG1lbSAtLXNlbWFwaG9yZSAtLXF1ZXVlIC0tbW9kZSAtLWhlbHAgLS12ZXJzaW9uIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9pcGNta19tb2R1bGUgaXBjbWsKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9pcGNybSBiL2Jhc2gtY29tcGxldGlvbi9pcGNybQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWQwM2Y5Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2lwY3JtCkBAIC0wLDAgKzEsNjIgQEAKK19pcGNybV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMgS0VZSURTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctbSd8Jy0tc2htZW0taWQnKQorCQkJS0VZSURTPSIkKGlwY3MgLW0gfCBhd2sgJ3tpZiAoMyA8IE5SKSB7cHJpbnQgJDJ9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkS0VZSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1NJ3wnLS1zaG1lbS1rZXknKQorCQkJS0VZSURTPSIkKGlwY3MgLW0gfCBhd2sgJ3tpZiAoMyA8IE5SKSB7cHJpbnQgJDF9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkS0VZSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1xJ3wnLS1xdWV1ZS1pZCcpCisJCQlLRVlJRFM9IiQoaXBjcyAtcSB8IGF3ayAne2lmICgzIDwgTlIpIHtwcmludCAkMn19JykiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRLRVlJRFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVEnfCctLXF1ZXVlLWtleScpCisJCQlLRVlJRFM9IiQoaXBjcyAtcSB8IGF3ayAne2lmICgzIDwgTlIpIHtwcmludCAkMX19JykiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRLRVlJRFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXMnfCctLXNlbWFwaG9yZS1pZCcpCisJCQlLRVlJRFM9IiQoaXBjcyAtcyB8IGF3ayAne2lmICgzIDwgTlIpIHtwcmludCAkMn19JykiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRLRVlJRFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVMnfCctLXNlbWFwaG9yZS1rZXknKQorCQkJS0VZSURTPSIkKGlwY3MgLXMgfCBhd2sgJ3tpZiAoMyA8IE5SKSB7cHJpbnQgJDF9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkS0VZSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQknPScpCisJCQljdXI9JHtjdXIjPX0KKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2htIG1zZyBzZW0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSIJLS1zaG1lbS1pZAorCQktLXNobWVtLWtleQorCQktLXF1ZXVlLWlkCisJCS0tcXVldWUta2V5CisJCS0tc2VtYXBob3JlLWlkCisJCS0tc2VtYXBob3JlLWtleQorCQktLWFsbD0KKwkJLS12ZXJib3NlCisJCS0taGVscAorCQktLXZlcnNpb24iCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9pcGNybV9tb2R1bGUgaXBjcm0KZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9pcGNzIGIvYmFzaC1jb21wbGV0aW9uL2lwY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U5M2U0ZAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9pcGNzCkBAIC0wLDAgKzEsMzMgQEAKK19pcGNzX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWknfCctLWlkJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiaWQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJT1BUUz0iLS1pZAorCQktLWhlbHAKKwkJLS12ZXJzaW9uCisJCS0tc2htZW1zCisJCS0tcXVldWVzCisJCS0tc2VtYXBob3JlcworCQktLWFsbAorCQktLXRpbWUKKwkJLS1waWQKKwkJLS1jcmVhdG9yCisJCS0tbGltaXRzCisJCS0tc3VtbWFyeQorCQktLWh1bWFuCisJCS0tYnl0ZXMiCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9pcGNzX21vZHVsZSBpcGNzCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vaXNvc2l6ZSBiL2Jhc2gtY29tcGxldGlvbi9pc29zaXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlYzJmOGIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vaXNvc2l6ZQpAQCAtMCwwICsxLDI3IEBACitfaXNvc2l6ZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1kJ3wnLS1kaXZpc29yJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibnVtYmVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiLS1kaXZpc29yIC0tc2VjdG9ycyAtLWhlbHAgLS12ZXJzaW9uIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfaXNvc2l6ZV9tb2R1bGUgaXNvc2l6ZQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xhc3QgYi9iYXNoLWNvbXBsZXRpb24vbGFzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2Q4MDIxCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2xhc3QKQEAgLTAsMCArMSw1MyBAQAorX2xhc3RfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZid8Jy0tZmlsZScpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbid8Jy0tbGltaXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXMnfCctLXNpbmNlJ3wnLXQnfCctLXVudGlsJ3wnLXAnfCctLXByZXNlbnQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS10aW1lLWZvcm1hdCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm5vdGltZSBzaG9ydCBmdWxsIGlzbyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9IgorCQkJCS0taG9zdGxhc3QKKwkJCQktLWRucworCQkJCS0tZmlsZQorCQkJCS0tZnVsbHRpbWVzCisJCQkJLS1pcAorCQkJCS0tbGltaXQKKwkJCQktLW5vaG9zdG5hbWUKKwkJCQktLXNpbmNlCisJCQkJLS11bnRpbAorCQkJCS0tcHJlc2VudAorCQkJCS0tZnVsbG5hbWVzCisJCQkJLS1zeXN0ZW0KKwkJCQktLXRpbWUtZm9ybWF0CisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uCisJCQkiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLXUgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbGFzdF9tb2R1bGUgbGFzdApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xkYXR0YWNoIGIvYmFzaC1jb21wbGV0aW9uL2xkYXR0YWNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyYjRiNWIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbGRhdHRhY2gKQEAgLTAsMCArMSw2OCBAQAorX2xkYXR0YWNoX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXMnfCctLXNwZWVkJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic3BlZWQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWMnfCctLWludHJvLWNvbW1hbmQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzdHJpbmciIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLXBhdXNlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2Vjb25kcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaSd8Jy0taWZsYWcnKQorCQkJbG9jYWwgSUZMQUdTCisJCQlJRkxBR1M9IkJSS0lOVCBJQ1JOTCBJR05CUksgSUdOQ1IgSUdOUEFSIElNQVhCRUwKKwkJCQlJTkxDUiBJTlBDSyBJU1RSSVAgSVVDTEMgSVVURjggSVhBTlkKKwkJCQlJWE9GRiBJWE9OIFBBUk1SSworCQkJCS1CUktJTlQgLUlDUk5MIC1JR05CUksgLUlHTkNSIC1JR05QQVIgLUlNQVhCRUwKKwkJCQktSU5MQ1IgLUlOUENLIC1JU1RSSVAgLUlVQ0xDIC1JVVRGOCAtSVhBTlkKKwkJCQktSVhPRkYgLUlYT04gLVBBUk1SSyIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJElGTEFHUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWRlYnVnCisJCQkJLS1zcGVlZAorCQkJCS0taW50cm8tY29tbWFuZAorCQkJCS0tcGF1c2UKKwkJCQktLXNldmVuYml0cworCQkJCS0tZWlnaHRiaXRzCisJCQkJLS1ub3Bhcml0eQorCQkJCS0tZXZlbnBhcml0eQorCQkJCS0tb2RkcGFyaXR5CisJCQkJLS1vbmVzdG9wYml0CisJCQkJLS10d29zdG9wYml0cworCQkJCS0taWZsYWcKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQkvKikKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgTERJU0NfREVWSUNFCisJTERJU0NfREVWSUNFPSI2UEFDSyBBWDI1IEdJR0FTRVQgR0lHQVNFVF9NMTAxIEhDSSBIRExDIElSREEgTTEwMQorCQkJTU9VU0UgUFBQIFBQUyBSMzk2NCBTTElQIFNUUklQIFNZTkNQUFAgU1lOQ19QUFAKKwkJCVRUWSBYMjUgL2Rldi8iCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkTERJU0NfREVWSUNFIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9sZGF0dGFjaF9tb2R1bGUgbGRhdHRhY2gKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sb2dnZXIgYi9iYXNoLWNvbXBsZXRpb24vbG9nZ2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmYjk1NjUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbG9nZ2VyCkBAIC0wLDAgKzEsNzggQEAKK19sb2dnZXJfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZid8Jy0tZmlsZSd8Jy0tam91cm5hbGQnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW4nfCctLXNlcnZlcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLUEgaG9zdG5hbWUgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctUCd8Jy0tcG9ydCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoYXdrICckMSB+IC9ec3lzbG9nJC8gIHtzcGxpdCgkMiwgYSwgIi8iKTsgcHJpbnQgYVsxXX0nIC9ldGMvc2VydmljZXMpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1wJ3wnLS1wcmlvcml0eScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInthdXRoLGF1dGhwcml2LGNyb24sZGFlbW9uLGZ0cCxscHIsbWFpbCxuZXdzLHNlY3VyaXR5fS57YWxlcnQsY3JpdCxkZWJ1ZyxlbWVyZyxlcnIsZXJyb3J9IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy10J3wnLS10YWcnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ0YWciIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXUnfCctLXNvY2tldCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoYXdrICckTkYgfiAvXlwvLyB7cHJpbnQgJE5GfScgL3Byb2MvbmV0L3VuaXgpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tc29ja2V0LWVycm9ycycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm9uIG9mZiBhdXRvIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tbXNnaWQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJtc2dpZCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIKKwkJCQktLWZpbGUKKwkJCQktLWhlbHAKKwkJCQktLWlkCisJCQkJLS1qb3VybmFsZAorCQkJCS0tbXNnaWQKKwkJCQktLW5vLWFjdAorCQkJCS0tb2N0ZXQtY291bnQKKwkJCQktLXBvcnQKKwkJCQktLXByaW8tcHJlZml4CisJCQkJLS1wcmlvcml0eQorCQkJCS0tcmZjMzE2NAorCQkJCS0tcmZjNTQyNAorCQkJCS0tc2VydmVyCisJCQkJLS1zaXplCisJCQkJLS1za2lwLWVtcHR5CisJCQkJLS1zb2NrZXQKKwkJCQktLXNvY2tldC1lcnJvcnMKKwkJCQktLXN0ZGVycgorCQkJCS0tdGFnCisJCQkJLS10Y3AKKwkJCQktLXVkcAorCQkJCS0tdmVyc2lvbgorCQkJIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9sb2dnZXJfbW9kdWxlIGxvZ2dlcgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xvb2sgYi9iYXNoLWNvbXBsZXRpb24vbG9vawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZWFmZTIzCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2xvb2sKQEAgLTAsMCArMSwzNSBAQAorX2xvb2tfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctdCd8Jy0tdGVybWluYXRlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiY2hhciIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWFsdGVybmF0aXZlIC0tYWxwaGFudW0gLS1pZ25vcmUtY2FzZSAtLXRlcm1pbmF0ZSAtLXZlcnNpb24gLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkQ09NUF9DV09SRCBpbgorCQkxKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxvb2sgIiRjdXIiKSIgLS0gJGN1cikgKQorCQkJOzsKKwkJMikKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQk7OworCWVzYWMKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2xvb2tfbW9kdWxlIGxvb2sKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sb3NldHVwIGIvYmFzaC1jb21wbGV0aW9uL2xvc2V0dXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDIwNzI2NQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9sb3NldHVwCkBAIC0wLDAgKzEsNzkgQEAKK19sb3NldHVwX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBBUkcKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1kJ3wnLS1kZXRhY2gnKQorCQkJQVJHPSIkKCQxIC0tb3V0cHV0IE5BTUUgfCBhd2sgJ3tpZiAoMSA8IE5SKSB7cHJpbnR9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkQVJHIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1qJ3wnLS1hc3NvY2lhdGVkJykKKwkJCUFSRz0iJCgkMSAtLW91dHB1dCBCQUNLLUZJTEUgfCBhd2sgJ3tpZiAoMSA8IE5SKSB7cHJpbnR9fScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkQVJHIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1jJ3wnLS1zZXQtY2FwYWNpdHknKQorCQkJQVJHPSIkKGZvciBJIGluIC9kZXYvbG9vcFswLTldKjsgZG8gaWYgWyAtZSAkSSBdOyB0aGVuIGVjaG8gJEk7IGZpOyBkb25lKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEFSRyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb2Zmc2V0J3wnLS1zaXplbGltaXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLU8nfCctLW91dHB1dCcpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBPVVRQVVRfQUxMIE9VVFBVVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJT1VUUFVUX0FMTD0iTkFNRSBBVVRPQ0xFQVIgQkFDSy1GSUxFIEJBQ0stSU5PCisJCQkJQkFDSy1NQUo6TUlOIE1BSjpNSU4gT0ZGU0VUIFBBUlRTQ0FOIFJPCisJCQkJU0laRUxJTUlUIERJTyIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAke09VVFBVVDotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWFsbAorCQkJCS0tZGV0YWNoCisJCQkJLS1kZXRhY2gtYWxsCisJCQkJLS1maW5kCisJCQkJLS1zZXQtY2FwYWNpdHkKKwkJCQktLWFzc29jaWF0ZWQKKwkJCQktLW5vb3ZlcmxhcAorCQkJCS0tb2Zmc2V0CisJCQkJLS1zaXplbGltaXQKKwkJCQktLXBhcnRzY2FuCisJCQkJLS1yZWFkLW9ubHkKKwkJCQktLXNob3cKKwkJCQktLXZlcmJvc2UKKwkJCQktLWpzb24KKwkJCQktLWxpc3QKKwkJCQktLW5vaGVhZGluZ3MKKwkJCQktLW91dHB1dAorCQkJCS0tb3V0cHV0LWFsbAorCQkJCS0tcmF3CisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbG9zZXR1cF9tb2R1bGUgbG9zZXR1cApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xzYmxrIGIvYmFzaC1jb21wbGV0aW9uL2xzYmxrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkODZmOWYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbHNibGsKQEAgLTAsMCArMSw4OSBAQAorX2xzYmxrX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBMU0JMS19DT0xTX0FMTAorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisKKwlMU0JMS19DT0xTX0FMTD0iCisJCU5BTUUgS05BTUUgTUFKOk1JTiBGU1RZUEUgTU9VTlRQT0lOVCBMQUJFTCBVVUlEIFBBUlRUWVBFCisJCVBBUlRMQUJFTCBQQVJUVVVJRCBQQVJURkxBR1MgUkEgUk8gUk0gSE9UUExVRyBNT0RFTCBTRVJJQUwgU0laRQorCQlTVEFURSBPV05FUiBHUk9VUCBNT0RFIEFMSUdOTUVOVCBNSU4tSU8gT1BULUlPIFBIWS1TRUMgTE9HLVNFQworCQlST1RBIFNDSEVEIFJRLVNJWkUgVFlQRSBESVNDLUFMTiBESVNDLUdSQU4gRElTQy1NQVggRElTQy1aRVJPCisJCVdTQU1FIFdXTiBSQU5EIFBLTkFNRSBIQ1RMIFRSQU4gU1VCU1lTVEVNUyBSRVYgVkVORE9SCisJIgorCisJY2FzZSAkcHJldiBpbgorCQknLWUnfCctLWV4Y2x1ZGUnfCctSSd8Jy0taW5jbHVkZScpCisJCQlsb2NhbCByZWFsY3VyIHByZWZpeCBNQUpPUl9BTEwgTUFKT1IgSSBKCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlmb3IgSSBpbiAvc3lzL2Rldi9ibG9jay8qOyBkbworCQkJCUo9JHtJIyMqL30KKwkJCQlNQUpPUl9BTEw9IiR7TUFKT1JfQUxMOi0iIn0gJHtKJSU6Kn0iCisJCQlkb25lCisJCQlmb3IgV09SRCBpbiAke01BSk9SX0FMTDotIiJ9OyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJTUFKT1I9IiRXT1JEICR7TUFKT1I6LSIifSIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIke01BSk9SOi0iIn0iIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIExTQkxLX0NPTFMKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCWZvciBXT1JEIGluICRMU0JMS19DT0xTX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCUxTQkxLX0NPTFM9IiRXT1JEICR7TFNCTEtfQ09MUzotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRMU0JMS19DT0xTIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXgnfCctLXNvcnQnKQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRMU0JMS19DT0xTX0FMTCIgIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1hbGwKKwkJCQktLWJ5dGVzCisJCQkJLS1ub2RlcHMKKwkJCQktLWRpc2NhcmQKKwkJCQktLWV4Y2x1ZGUKKwkJCQktLWZzCisJCQkJLS1oZWxwCisJCQkJLS1pbmNsdWRlCisJCQkJLS1qc29uCisJCQkJLS1hc2NpaQorCQkJCS0tbGlzdAorCQkJCS0tcGVybXMKKwkJCQktLW5vaGVhZGluZ3MKKwkJCQktLW91dHB1dAorCQkJCS0tb3V0cHV0LWFsbAorCQkJCS0tcGF0aHMKKwkJCQktLXBhaXJzCisJCQkJLS1yYXcKKwkJCQktLWludmVyc2UKKwkJCQktLXRvcG9sb2d5CisJCQkJLS1zY3NpCisJCQkJLS1zb3J0CisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKCQxIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9sc2Jsa19tb2R1bGUgbHNibGsKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9sc2NwdSBiL2Jhc2gtY29tcGxldGlvbi9sc2NwdQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDM1ODJmCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2xzY3B1CkBAIC0wLDAgKzEsNTIgQEAKK19sc2NwdV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBPUFRTX0FMTAorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLS1leHRlbmRlZD0nfCc9JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9QVFMKKwkJCWN1cj0ke2N1ciM9fQorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJT1BUU19BTEw9IkNQVSBDT1JFIFNPQ0tFVCBOT0RFCisJCQkJQk9PSyBEUkFXRVIgQ0FDSEUgUE9MQVJJWkFUSU9OIEFERFJFU1MKKwkJCQlDT05GSUdVUkVEIE9OTElORSBNQVhNSFogTUlOTUhaIgorCQkJZm9yIFdPUkQgaW4gJE9QVFNfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1BUUz0iJFdPUkQgJHtPUFRTOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9QVFMiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTX0FMTD0iLS1hbGwKKwkJCQktLW9ubGluZQorCQkJCS0tb2ZmbGluZQorCQkJCS0tanNvbgorCQkJCS0tZXh0ZW5kZWQ9CisJCQkJLS1wYXJzZT0KKwkJCQktLXN5c3Jvb3QKKwkJCQktLWhleAorCQkJCS0tcGh5c2ljYWwKKwkJCQktLW91dHB1dC1hbGwKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU19BTExbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbHNjcHVfbW9kdWxlIGxzY3B1CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbHNpcGMgYi9iYXNoLWNvbXBsZXRpb24vbHNpcGMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQwZmU0MgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9sc2lwYwpAQCAtMCwwICsxLDcxIEBACitfbHNpcGNfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTIEFSRworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWknfCctLWlkJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiaWQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tdGltZS1mb3JtYXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzaG9ydCBmdWxsIGlzbyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVF9BTEwgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlPVVRQVVRfQUxMPSIKKwkJCQlLRVkgSUQgT1dORVIgUEVSTVMgQ1VJRCBDVVNFUiBDR0lECisJCQkJQ0dST1VQIFVJRCBVU0VSIEdJRCBHUk9VUCBDVElNRQorCisJCQkJU0laRSBOQVRUQ0ggU1RBVFVTIEFUVEFDSCBERVRBQ0gKKwkJCQlDT01NQU5EIENQSUQgTFBJRAorCisJCQkJVVNFREJZVEVTIE1TR1MgU0VORCBSRUNWIExTUElEIExSUElECisKKwkJCQlOU0VNUyBPVElNRQorCisJCQkJUkVTT1VSQ0UgREVTQ1JJUFRJT04gTElNSVQgVVNFRCBVU0UlCisJCQkiCisJCQlmb3IgV09SRCBpbiAkT1VUUFVUX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCU9VVFBVVD0iJFdPUkQgJHtPVVRQVVQ6LSIifSIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkT1VUUFVUIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSIKKwkJLS1zaG1lbXMKKwkJLS1xdWV1ZXMKKwkJLS1zZW1hcGhvcmVzCisJCS0tZ2xvYmFsCisJCS0taWQKKwkJLS1ub2hlYWRpbmdzCisJCS0tbm90cnVuY2F0ZQorCQktLXRpbWUtZm9ybWF0CisJCS0tYnl0ZXMKKwkJLS1jcmVhdG9yCisJCS0tZXhwb3J0CisJCS0tanNvbgorCQktLW5ld2xpbmUKKwkJLS1saXN0CisJCS0tb3V0cHV0CisJCS0tbnVtZXJpYy1wZXJtcworCQktLXJhdworCQktLXRpbWUKKwkJLS1oZWxwCisJCS0tdmVyc2lvbgorCSIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2xzaXBjX21vZHVsZSBsc2lwYwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xzbG9ja3MgYi9iYXNoLWNvbXBsZXRpb24vbHNsb2NrcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmU3NWZmCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2xzbG9ja3MKQEAgLTAsMCArMSw1MCBAQAorX2xzbG9ja3NfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctcCd8Jy0tcGlkJykKKwkJCWxvY2FsIFBJRFMKKwkJCSMgL3Byb2MvbG9ja3MgY2FuIGhhdmUgOCB0byA5IGZpZWxkcywgc2VlIGNvbW1pdAorCQkJIyA1NWMwZDE2YmFiOGNjODRiNzJiZjExY2IyZmRkOGFhNjIwNWFjNjA4CisJCQlQSURTPSIkKGF3ayAne3ByaW50ICQoTkYtMyl9JyAvcHJvYy9sb2NrcykiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUX0FMTCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCU9VVFBVVF9BTEw9IkNPTU1BTkQgUElEIFRZUEUgU0laRSBNT0RFIE0gU1RBUlQgRU5EIFBBVEggQkxPQ0tFUiIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAke09VVFBVVDotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSIKKwkJLS1qc29uCisJCS0tbm9pbmFjY2Vzc2libGUKKwkJLS1ub2hlYWRpbmdzCisJCS0tb3V0cHV0CisJCS0tb3V0cHV0LWFsbAorCQktLXBpZAorCQktLXJhdworCQktLW5vdHJ1bmNhdGUKKwkJLS1oZWxwCisJCS0tdmVyc2lvbgorCSIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorCit9Citjb21wbGV0ZSAtRiBfbHNsb2Nrc19tb2R1bGUgbHNsb2NrcwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xzbG9naW5zIGIvYmFzaC1jb21wbGV0aW9uL2xzbG9naW5zCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjg2NTFmZTkKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbHNsb2dpbnMKQEAgLTAsMCArMSw3NyBAQAorX2xzbG9naW5zX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUyBMU0xPR0lOU19DT0xTX0FMTAorCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJTFNMT0dJTlNfQ09MU19BTEw9IgorCQlVU0VSIFVJRCBHRUNPUyBIT01FRElSIFNIRUxMIE5PTE9HSU4gUFdELUxPQ0sgUFdELUVNUFRZCisJCVBXRC1ERU5ZIEdST1VQIEdJRCBTVVBQLUdST1VQUyBTVVBQLUdJRFMgTEFTVC1MT0dJTiBMQVNULVRUWQorCQlMQVNULUhPU1ROQU1FIEZBSUxFRC1MT0dJTiBGQUlMRUQtVFRZIEhVU0hFRCBQV0QtV0FSTgorCQlQV0QtQ0hBTkdFIFBXRC1NSU4gUFdELU1BWCBQV0QtRVhQSVIgQ09OVEVYVCBQUk9DCisJIgorCWNhc2UgJHByZXYgaW4KKwkJJy1nJ3wnLS1ncm91cHMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGdldGVudCBncm91cCB8IGF3ayAtRjogJ3twcmludCAkMX0nKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbCd8Jy0tbG9naW5zJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChnZXRlbnQgcGFzc3dkIHwgYXdrIC1GOiAne3ByaW50ICQxfScpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tdGltZS1mb3JtYXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzaG9ydCBmdWxsIGlzbyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXd0bXAtZmlsZSd8Jy0tYnRtcC1maWxlJykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgTFNMT0dJTlNfQ09MUworCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJZm9yIFdPUkQgaW4gJExTTE9HSU5TX0NPTFNfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJTFNMT0dJTlNfQ09MUz0iJFdPUkQgJHtMU0xPR0lOU19DT0xTOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJExTTE9HSU5TX0NPTFMiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIgorCQkJLS1hY2MtZXhwaXJhdGlvbgorCQkJLS1jb2xvbi1zZXBhcmF0ZQorCQkJLS1leHBvcnQKKwkJCS0tZmFpbGVkCisJCQktLXN1cHAtZ3JvdXBzCisJCQktLWdyb3VwcworCQkJLS1sYXN0CisJCQktLWxvZ2lucworCQkJLS1uZXdsaW5lCisJCQktLW5vaGVhZGluZ3MKKwkJCS0tbm90cnVuY2F0ZQorCQkJLS1vdXRwdXQKKwkJCS0tb3V0cHV0LWFsbAorCQkJLS1wd2QKKwkJCS0tcmF3CisJCQktLXN5c3RlbS1hY2NzCisJCQktLXRpbWUtZm9ybWF0CisJCQktLXVzZXItYWNjcworCQkJLS1jb250ZXh0CisJCQktLXByaW50MAorCQkJLS13dG1wLWZpbGUKKwkJCS0tYnRtcC1maWxlCisJCQktLWhlbHAKKwkJCS0tdmVyc2lvbgorCQkiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2xzbG9naW5zX21vZHVsZSBsc2xvZ2lucwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xzbWVtIGIvYmFzaC1jb21wbGV0aW9uL2xzbWVtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkNmU4NDIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbHNtZW0KQEAgLTAsMCArMSw1MyBAQAorX2xzbWVtX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW8nfCctLW91dHB1dCcpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBPVVRQVVRfQUxMIE9VVFBVVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJT1VUUFVUX0FMTD0nUkFOR0UgU0laRSBTVEFURSBSRU1PVkFCTEUgQkxPQ0sgTk9ERSBaT05FUycKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAke09VVFBVVDotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAiJHJlYWxjdXIiKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1zJ3wnLS1zeXNyb290JykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtbyBkaXJuYW1lcyAtLSAke2N1cjotIi8ifSkgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXN1bW1hcnknKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJuZXZlciBhbHdheXMgb25seSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlPUFRTPSIKKwkJLS1qc29uCisJCS0tcGFpcnMKKwkJLS1hbGwKKwkJLS1ieXRlcworCQktLW5vaGVhZGluZ3MKKwkJLS1vdXRwdXQKKwkJLS1vdXRwdXQtYWxsCisJCS0tcmF3CisJCS0tc3lzcm9vdAorCQktLXN1bW1hcnkKKwkJLS1oZWxwCisJCS0tdmVyc2lvbgorCSIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX2xzbWVtX21vZHVsZSBsc21lbQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL2xzbnMgYi9iYXNoLWNvbXBsZXRpb24vbHNucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTY0NjA2Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL2xzbnMKQEAgLTAsMCArMSw1NyBAQAorX2xzbnNfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTIExTTlNfQ09MU19BTEwKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCUxTTlNfQ09MU19BTEw9IgorCQlOUyBUWVBFIFBBVEggTlBST0NTIFBJRCBQUElEIENPTU1BTkQgVUlEIFVTRVIKKwkiCisJY2FzZSAkcHJldiBpbgorCQknLW8nfCctLW91dHB1dCcpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBMU05TX0NPTFMKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCWZvciBXT1JEIGluICRMU05TX0NPTFNfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJTFNOU19DT0xTPSIkV09SRCAke0xTTlNfQ09MUzotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRMU05TX0NPTFMiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcCd8Jy0tdGFzaycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoY2QgL3Byb2MgJiYgZWNobyBbMC05XSopIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy10J3wnLS10eXBlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibW50IG5ldCBpcGMgdXNlciBwaWQgdXRzIGNncm91cCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIgorCQkJCQktLWpzb24KKwkJCQkJLS1saXN0CisJCQkJCS0tbm9oZWFkaW5ncworCQkJCQktLW91dHB1dAorCQkJCQktLW91dHB1dC1hbGwKKwkJCQkJLS10YXNrCisJCQkJCS0tcmF3CisJCQkJCS0tbm90cnVuY2F0ZQorCQkJCQktLXR5cGUKKwkJCQkJLS1oZWxwCisJCQkJCS0tdmVyc2lvbgorCQkJCSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibW50IG5ldCBwaWQgdXRzIGlwYyB1c2VyIiAtLSAkY3VyICkgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbHNuc19tb2R1bGUgbHNucwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21jb29raWUgYi9iYXNoLWNvbXBsZXRpb24vbWNvb2tpZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDE1ODJmCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL21jb29raWUKQEAgLTAsMCArMSwzMSBAQAorX21jb29raWVfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZid8Jy0tZmlsZScpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbSd8Jy0tbWF4LXNpemUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJieXRlcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWZpbGUgLS1tYXgtc2l6ZSAtLXZlcmJvc2UgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbWNvb2tpZV9tb2R1bGUgbWNvb2tpZQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21lc2cgYi9iYXNoLWNvbXBsZXRpb24vbWVzZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjgwYmFiCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL21lc2cKQEAgLTAsMCArMSwyMiBAQAorX21lc2dfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXZlcmJvc2UgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAieSBuIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9tZXNnX21vZHVsZSBtZXNnCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbWtmcyBiL2Jhc2gtY29tcGxldGlvbi9ta2ZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNzg3NDcKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbWtmcwpAQCAtMCwwICsxLDI3IEBACitfbWtmc19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy10J3wnLS10eXBlJykKKwkJCUZTVFlQRVM9JChmb3IgSSBpbiAvc2Jpbi9ta2ZzLiogL3Vzci9zYmluL21rZnMuKjsgZG8gaWYgWyAtZSAkSSBdOyB0aGVuIGVjaG8gJHtJIyMqbWtmcy59OyBmaTsgZG9uZSkKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEZTVFlQRVMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0nLS10eXBlIC0tdmVyYm9zZSAtLWhlbHAgLS12ZXJzaW9uJworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIC9wYXRoL3RvL2ZpbGUiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX21rZnNfbW9kdWxlIG1rZnMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9ta2ZzLmJmcyBiL2Jhc2gtY29tcGxldGlvbi9ta2ZzLmJmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTQ1OGJiCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL21rZnMuYmZzCkBAIC0wLDAgKzEsMzAgQEAKK19ta2ZzLmJmc19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1OJ3wnLS1pbm9kZXMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVYnfCctLXZuYW1lJ3wnLUYnfCctLWZuYW1lJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibmFtZSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0nLS1pbm9kZXMgLS12bmFtZSAtLWZuYW1lIC0tdmVyYm9zZSAtLWhlbHAgLS12ZXJzaW9uJworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIC9wYXRoL3RvL2ZpbGUiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX21rZnMuYmZzX21vZHVsZSBta2ZzLmJmcwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21rZnMuY3JhbWZzIGIvYmFzaC1jb21wbGV0aW9uL21rZnMuY3JhbWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmNzRlMTIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbWtmcy5jcmFtZnMKQEAgLTAsMCArMSw0NCBAQAorX21rZnMuY3JhbWZzX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWInKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJibGtzaXplIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1lJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiZWRpdGlvbiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImJpZyBsaXR0bGUgaG9zdCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm5hbWUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctVicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLWggLXYgLUUgLWIgLWUgLU4gLWkgLW4gLXAgLXMgLXoiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9ta2ZzLmNyYW1mc19tb2R1bGUgbWtmcy5jcmFtZnMKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9ta2ZzLm1pbml4IGIvYmFzaC1jb21wbGV0aW9uL21rZnMubWluaXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTcyNWZkNgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9ta2ZzLm1pbml4CkBAIC0wLDAgKzEsMzIgQEAKK19ta2ZzLm1pbml4X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWknfCctLWlub2RlcycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImlub2RlcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbCd8Jy0tYmFkYmxvY2tzJykKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbid8Jy0tbmFtZWxlbmd0aCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIjE0IDMwIDYwIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1uYW1lbGVuZ3RoIC0taW5vZGVzIC0tY2hlY2sgLS1iYWRibG9ja3MgLS1oZWxwIC0tdmVyc2lvbiAtMSAtMiAtMyIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChsc2JsayAtcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbWtmcy5taW5peF9tb2R1bGUgbWtmcy5taW5peApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL21rc3dhcCBiL2Jhc2gtY29tcGxldGlvbi9ta3N3YXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmNjYzIxNAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9ta3N3YXAKQEAgLTAsMCArMSw0MCBAQAorX21rc3dhcF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1wJ3wnLS1wYWdlc2l6ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImJ5dGVzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1MJ3wnLS1sYWJlbCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImxhYmVsIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy12J3wnLS1zd2FwdmVyc2lvbicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIjEiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVUnfCctLXV1aWQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKHV1aWRnZW4gLXIpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tY2hlY2sgLS1mb3JjZSAtLXBhZ2VzaXplIC0tbGFiZWwgLS1zd2FwdmVyc2lvbiAtLXV1aWQgLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX21rc3dhcF9tb2R1bGUgbWtzd2FwCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbW9yZSBiL2Jhc2gtY29tcGxldGlvbi9tb3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwOWNlYTIKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbW9yZQpAQCAtMCwwICsxLDMwIEBACitfbW9yZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1WJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItZCAtZiAtbCAtcCAtYyAtdSAtcyAtbnVtYmVyIC1WIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJKyopCisJCQlPUFRTPSIrbnVtYmVyICsvc3RyaW5nIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9tb3JlX21vZHVsZSBtb3JlCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbW91bnQgYi9iYXNoLWNvbXBsZXRpb24vbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzdlNGJlYQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9tb3VudApAQCAtMCwwICsxLDgzIEBACitfbW91bnRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctdCd8Jy0tdHlwZXMnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgVFlQRVMKKwkJCVRZUEVTPSIKKwkJCQkkKFxscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikva2VybmVsL2ZzIHwgYXdrICd7cHJpbnQgJDEsICJubyIgJDF9JykKKwkJCQkkKGF3ayAne3ByaW50ICRORiwgIm5vIiAkTkZ9JyAvcHJvYy9maWxlc3lzdGVtcykKKwkJCSIKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCWZvciBXT1JEIGluICRUWVBFUzsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCVRZUEVfQ09MUz0iJFdPUkQgJHtUWVBFX0NPTFM6LSIifSIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkVFlQRV9DT0xTIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLUwnfCctLWxhYmVsJykKKwkJCWxvY2FsIExBQkVMUworCQkJTEFCRUxTPSIkKGxzYmxrIC1vIExBQkVMIC1ucikiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRMQUJFTFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLVUnfCctLXV1aWQnKQorCQkJbG9jYWwgVVVJRFMKKwkJCVVVSURTPSIkKGxzYmxrIC1vIFVVSUQgLW5yKSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFVVSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9IgktLWFsbAorCQkJCS0tbm8tY2Fub25pY2FsaXplCisJCQkJLS1mYWtlCisJCQkJLS1mb3JrCisJCQkJLS1mc3RhYgorCQkJCS0taGVscAorCQkJCS0taW50ZXJuYWwtb25seQorCQkJCS0tc2hvdy1sYWJlbHMKKwkJCQktLW5vLW10YWIKKwkJCQktLW9wdGlvbnMKKwkJCQktLXRlc3Qtb3B0cworCQkJCS0tcmVhZC1vbmx5CisJCQkJLS10eXBlcworCQkJCS0tc291cmNlCisJCQkJLS10YXJnZXQKKwkJCQktLXZlcmJvc2UKKwkJCQktLXZlcnNpb24KKwkJCQktLXJlYWQtd3JpdGUKKwkJCQktLWxhYmVsCisJCQkJLS11dWlkCisJCQkJLS1iaW5kCisJCQkJLS1tb3ZlCisJCQkJLS1yYmluZAorCQkJCS0tbWFrZS1zaGFyZWQKKwkJCQktLW1ha2Utc2xhdmUKKwkJCQktLW1ha2UtcHJpdmF0ZQorCQkJCS0tbWFrZS11bmJpbmRhYmxlCisJCQkJLS1tYWtlLXJzaGFyZWQKKwkJCQktLW1ha2UtcnNsYXZlCisJCQkJLS1tYWtlLXJwcml2YXRlCisJCQkJLS1tYWtlLXJ1bmJpbmRhYmxlIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbW91bnRfbW9kdWxlIG1vdW50CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbW91bnRwb2ludCBiL2Jhc2gtY29tcGxldGlvbi9tb3VudHBvaW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxNDMyN2MKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbW91bnRwb2ludApAQCAtMCwwICsxLDI0IEBACitfbW91bnRwb2ludF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tcXVpZXQgLS1mcy1kZXZubyAtLWRldm5vIC0taGVscCAtLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAke2N1cjotIi8ifSkgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbW91bnRwb2ludF9tb2R1bGUgbW91bnRwb2ludApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL25hbWVpIGIvYmFzaC1jb21wbGV0aW9uL25hbWVpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MDI3MzUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vbmFtZWkKQEAgLTAsMCArMSwyNCBAQAorX25hbWVpX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1oZWxwIC0tdmVyc2lvbiAtLW1vdW50cG9pbnRzIC0tbW9kZXMgLS1vd25lcnMgLS1sb25nIC0tbm9zeW1saW5rcyAtLXZlcnRpY2FsIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfbmFtZWlfbW9kdWxlIG5hbWVpCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vbmV3Z3JwIGIvYmFzaC1jb21wbGV0aW9uL25ld2dycApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZTM5YzBmCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL25ld2dycApAQCAtMCwwICsxLDIyIEBACitfbmV3Z3JwX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZyAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9uZXdncnBfbW9kdWxlIG5ld2dycApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL25zZW50ZXIgYi9iYXNoLWNvbXBsZXRpb24vbnNlbnRlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDU2ZjA2Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL25zZW50ZXIKQEAgLTAsMCArMSw2MyBAQAorX25zZW50ZXJfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctUyd8Jy0tdWlkJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAidWlkIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1HJ3wnLS1naWQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJnaWQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXQnfCctLXRhcmdldCcpCisJCQlsb2NhbCBQSURTCisJCQlQSURTPSQoY2QgL3Byb2MgJiYgZWNobyBbMC05XSopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQknPScpCisJCQkjIEZJWE1FOiAtLXJvb3QgYW5kIC0td2Qgc2hvdWxkIHVzZSBnZXQgb25seQorCQkJIyBkaXJlY3RvcmllcyBhcyBjb21wZ2VuIG91dHB1dC4gIElmICRjdXIgaXMKKwkJCSMgb3Zlcndyb3RlIHRoZSBzYW1lIHdheSBhcyBiZWxvdyBpbiBjYXNlIHNlZ21lbnQKKwkJCSMgZm9yICRwcmV2IHRoZSBjb21tYW5kLWxpbmUgd2lsbCBnZXQgbWFuZ2xlZC4KKwkJCWN1cj0ke2N1ciM9fQorCQkJOzsKKwkJLSopCisJCQlPUFRTPSIKKwkJCQktLWFsbAorCQkJCS0tdGFyZ2V0CisJCQkJLS1tb3VudD0KKwkJCQktLXV0cz0KKwkJCQktLWlwYz0KKwkJCQktLW5ldD0KKwkJCQktLXBpZD0KKwkJCQktLWNncm91cD0KKwkJCQktLXVzZXI9CisJCQkJLS1zZXR1aWQKKwkJCQktLXNldGdpZAorCQkJCS0tcHJlc2VydmUtY3JlZGVudGlhbHMKKwkJCQktLXJvb3Q9CisJCQkJLS13ZD0KKwkJCQktLW5vLWZvcmsKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24KKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX25zZW50ZXJfbW9kdWxlIG5zZW50ZXIKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9wYXJ0eCBiL2Jhc2gtY29tcGxldGlvbi9wYXJ0eApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjgxNDZiCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3BhcnR4CkBAIC0wLDAgKzEsNjUgQEAKK19wYXJ0eF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMgT1VUUFVUX0FMTAorCUNPTVBSRVBMWT0oKQorCU9VVFBVVF9BTEw9Ik5SIFNUQVJUIEVORCBTRUNUT1JTIFNJWkUgTkFNRSBVVUlEIFRZUEUgRkxBR1MgU0NIRU1FIgorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW4nfCctLW5yJykKKwkJCXJldHVybiAwCisJCQk7OworCQknLW8nfCctLW91dHB1dCcpCisJCQlsb2NhbCByZWFsY3VyIHByZWZpeCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAke09VVFBVVDotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctUyd8Jy0tc2VjdG9yLXNpemUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzaXplIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy10J3wnLS10eXBlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChwYXJ0eCAtLWxpc3QtdHlwZXMpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9IgorCQkJCS0tYWRkCisJCQkJLS1kZWxldGUKKwkJCQktLXVwZGF0ZQorCQkJCS0tc2hvdworCQkJCS0tYnl0ZXMKKwkJCQktLW5vaGVhZGluZ3MKKwkJCQktLW5yCisJCQkJLS1vdXRwdXQKKwkJCQktLW91dHB1dC1hbGwKKwkJCQktLXBhaXJzCisJCQkJLS1yYXcKKwkJCQktLXNlY3Rvci1zaXplCisJCQkJLS10eXBlCisJCQkJLS1saXN0LXR5cGVzCisJCQkJLS12ZXJib3NlCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uCisJCQkiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQobHNibGsgLXBucm8gbmFtZSkiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3BhcnR4X21vZHVsZSBwYXJ0eApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3BnIGIvYmFzaC1jb21wbGV0aW9uL3BnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhmY2UxMzAKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcGcKQEAgLTAsMCArMSwzMyBAQAorX3BnX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXAnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJwcm9tcHQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctVicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLW51bWJlciAtYyAtZSAtZiAtbiAtcCAtciAtcyAtaCAtViIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSsqKQorCQkJT1BUUz0iK251bWJlciArL3BhdHRlcm4vIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfcGdfbW9kdWxlIHBnCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vcGl2b3Rfcm9vdCBiL2Jhc2gtY29tcGxldGlvbi9waXZvdF9yb290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1ZGY0YjQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcGl2b3Rfcm9vdApAQCAtMCwwICsxLDIxIEBACitfcGl2b3Rfcm9vdF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2CisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRDT01QX0NXT1JEIGluCisJCTF8MikKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtbyBkaXJuYW1lcyAtLSAke2N1cjotIi8ifSkgKQorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9waXZvdF9yb290X21vZHVsZSBwaXZvdF9yb290CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vcHJsaW1pdCBiL2Jhc2gtY29tcGxldGlvbi9wcmxpbWl0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZjNjBjNjQKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcHJsaW1pdApAQCAtMCwwICsxLDY5IEBACitfcHJsaW1pdF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1wJ3wnLS1waWQnKQorCQkJUElEUz0kKGNkIC9wcm9jICYmIGVjaG8gWzAtOV0qKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkUElEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVF9BTEwgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlPVVRQVVRfQUxMPSJERVNDUklQVElPTiBSRVNPVVJDRSBTT0ZUIEhBUkQgVU5JVFMiCisJCQlmb3IgV09SRCBpbiAkT1VUUFVUX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCU9VVFBVVD0iJFdPUkQgJHtPVVRQVVQ6LSIifSIKKwkJCQlmaQorCQkJZG9uZQorCQkJY29tcG9wdCAtbyBub3NwYWNlCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVAgIiRwcmVmaXgiIC1XICIkT1VUUFVUIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCSc9JykKKwkJCWN1cj0ke2N1ciM9fQorCQkJIyBGSVhNRTogaXMgdGhlcmUgYW55dGhpbmcgd2hhdCBjb3VsZCBiZSBwcmludGVkCisJCQkjIGFzIGxpbWl0IHZhbHVlKHMpCisJCQk7OworCQktKikKKwkJCU9QVFM9Ii0tcGlkCisJCQkJLS1vdXRwdXQKKwkJCQktLW5vaGVhZGluZ3MKKwkJCQktLXJhdworCQkJCS0tdmVyYm9zZQorCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbgorCQkJCS0tY29yZT0KKwkJCQktLWRhdGE9CisJCQkJLS1uaWNlPQorCQkJCS0tZnNpemU9CisJCQkJLS1zaWdwZW5kaW5nPQorCQkJCS0tbWVtbG9jaz0KKwkJCQktLXJzcz0KKwkJCQktLW5vZmlsZT0KKwkJCQktLW1zZ3F1ZXVlPQorCQkJCS0tcnRwcmlvPQorCQkJCS0tc3RhY2s9CisJCQkJLS1jcHU9CisJCQkJLS1ucHJvYz0KKwkJCQktLWFzPQorCQkJCS0tbG9ja3M9CisJCQkJLS1ydHRpbWU9IgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY29tcG9wdCAtbyBiYXNoZGVmYXVsdAorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtYyAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9wcmxpbWl0X21vZHVsZSBwcmxpbWl0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vcmF3IGIvYmFzaC1jb21wbGV0aW9uL3JhdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGMzMjYxCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3JhdwpAQCAtMCwwICsxLDIzIEBACitfcmF3X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCWxvY2FsIE9QVFMKKwkJCU9QVFM9Ii0tcXVlcnkgLS1hbGwgLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChmb3IgSSBpbiAvZGV2L3Jhdy8qOyBkbyBpZiBbIC1lICRJIF07IHRoZW4gZWNobyAkSTsgZmk7IGRvbmUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9yYXdfbW9kdWxlIHJhdwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3JlYWRwcm9maWxlIGIvYmFzaC1jb21wbGV0aW9uL3JlYWRwcm9maWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkMjY1YTYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcmVhZHByb2ZpbGUKQEAgLTAsMCArMSwzNyBAQAorX3JlYWRwcm9maWxlX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLW0nfCctLW1hcGZpbGUnfCctcCd8Jy0tcHJvZmlsZScpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTSd8Jy0tbXVsdGlwbGllcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm11bHRpcGxpZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJT1BUUz0iLS1tYXBmaWxlCisJCS0tcHJvZmlsZQorCQktLW11bHRpcGxpZXIKKwkJLS1pbmZvCisJCS0tdmVyYm9zZQorCQktLWFsbAorCQktLWhpc3RiaW4KKwkJLS1jb3VudGVycworCQktLXJlc2V0CisJCS0tbm8tYXV0bworCQktLWhlbHAKKwkJLS12ZXJzaW9uIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfcmVhZHByb2ZpbGVfbW9kdWxlIHJlYWRwcm9maWxlCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vcmVuYW1lIGIvYmFzaC1jb21wbGV0aW9uL3JlbmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNDMxMjE5Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3JlbmFtZQpAQCAtMCwwICsxLDM0IEBACitfcmVuYW1lX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS12ZXJib3NlIC0tc3ltbGluayAtLWhlbHAgLS12ZXJzaW9uIC0tbm8tYWN0IC0tbm8tb3ZlcnJpZGUiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRDT01QX0NXT1JEIGluCisJCTEpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImV4cHJlc3Npb24iIC0tICRjdXIpICkKKwkJCTs7CisJCTIpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInJlcGxhY2VtZW50IiAtLSAkY3VyKSApCisJCQk7OworCQkqKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfcmVuYW1lX21vZHVsZSByZW5hbWUKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9yZW5pY2UgYi9iYXNoLWNvbXBsZXRpb24vcmVuaWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0OTVmMzcKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vcmVuaWNlCkBAIC0wLDAgKzEsNDEgQEAKK19yZW5pY2VfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZyd8Jy0tcGdycCcpCisJCQlsb2NhbCBQR1JQCisJCQlQR1JQPSQocHMgLWF4IC1vcGdycCB8IHNlZCAnMWQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkUEdSUCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbid8Jy0tcHJpb3JpdHknKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ7LTIwLi4yMH0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXAnfCctLXBpZCcpCisJCQlsb2NhbCBQSURTCisJCQlQSURTPSQoY2QgL3Byb2MgJiYgZWNobyBbMC05XSopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy11J3wnLS11c2VyJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtdSAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCU9QVFM9Ii0tcGdycAorCQktLXByaW9yaXR5CisJCS0tcGlkCisJCS0tdXNlcgorCQktLWhlbHAKKwkJLS12ZXJzaW9uIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfcmVuaWNlX21vZHVsZSByZW5pY2UKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9yZXNpemVwYXJ0IGIvYmFzaC1jb21wbGV0aW9uL3Jlc2l6ZXBhcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UzODUwMwotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9yZXNpemVwYXJ0CkBAIC0wLDAgKzEsMjcgQEAKK19yZXNpemVwYXJ0X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkQ09NUF9DV09SRCBpbgorCQkxKQorCQkJT1BUUz0iLS1oZWxwIC0tdmVyc2lvbiAkKGxzYmxrIC1wbnJvIG5hbWUpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQk7OworCQkyKQorCQkJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGNhdCAvc3lzL2Jsb2NrLyR7cHJldiMjKi99LyovcGFydGl0aW9uIDI+L2Rldi9udWxsKSIgLS0gJGN1cikgKQorCQkJOzsKKwkJMykKKwkJCUNPTVBSRVBMWT0ibGVuZ3RoIgorCQkJOzsKKwllc2FjCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9yZXNpemVwYXJ0X21vZHVsZSByZXNpemVwYXJ0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vcmV2IGIvYmFzaC1jb21wbGV0aW9uL3JldgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNTM5N2Q1Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3JldgpAQCAtMCwwICsxLDI0IEBACitfcmV2X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS12ZXJzaW9uIC0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3Jldl9tb2R1bGUgcmV2CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vcmZraWxsIGIvYmFzaC1jb21wbGV0aW9uL3Jma2lsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjQzNjY2Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3Jma2lsbApAQCAtMCwwICsxLDQ4IEBACitfcmZraWxsX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknbGlzdCd8J2Jsb2NrJ3wndW5ibG9jaycpCisJCQlsb2NhbCB0YXJnZXRzCisJCQl0YXJnZXRzPSIkKHJma2lsbCAtLW91dHB1dD1pZCx0eXBlIC0tbm9oZWFkaW5ncyBsaXN0KSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiYWxsICR0YXJnZXRzIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMDsKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJZm9yIFdPUkQgaW4gIkRFVklDRSBUWVBFIElEIFNPRlQgSEFSRCI7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICR7T1VUUFVUOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCU9QVFM9IgorCQlldmVudAorCQlsaXN0CisJCWJsb2NrCisJCXVuYmxvY2sKKwkJLS1qc29uCisJCS0tbm9oZWFkaW5ncworCQktLW91dHB1dAorCQktLW91dHB1dC1hbGwKKwkJLS1yYXcKKwkJLS1oZWxwCisJCS0tdmVyc2lvbgorCSIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorCit9Citjb21wbGV0ZSAtRiBfcmZraWxsX21vZHVsZSByZmtpbGwKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9ydGN3YWtlIGIvYmFzaC1jb21wbGV0aW9uL3J0Y3dha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RlZTJmMwotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9ydGN3YWtlCkBAIC0wLDAgKzEsNTkgQEAKK19ydGN3YWtlX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLUEnfCctLWFkamZpbGUnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWQnfCctLWRldmljZScpCisJCQlsb2NhbCBSVENfREVWUworCQkJUlRDX0RFVlM9JChjZCAvc3lzL2NsYXNzL3J0Yy8gJiYgZWNobyAqKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkUlRDX0RFVlMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW0nfCctLW1vZGUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKHJ0Y3dha2UgLS1saXN0LW1vZGVzKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tc2Vjb25kcycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNlY29uZHMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXQnfCctLXRpbWUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ0aW1lX3QiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1kYXRlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiWVlZWU1NRERoaG1tc3MiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJT1BUUz0iCisJCS0tYXV0bworCQktLWFkamZpbGUKKwkJLS1kYXRlCisJCS0tZGV2aWNlCisJCS0tZHJ5LXJ1bgorCQktLWxvY2FsCisJCS0tbGlzdC1tb2RlcworCQktLW1vZGUKKwkJLS1zZWNvbmRzCisJCS0tdGltZQorCQktLXV0YworCQktLXZlcmJvc2UKKwkJLS1oZWxwCisJCS0tdmVyc2lvbgorCSIKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3J0Y3dha2VfbW9kdWxlIHJ0Y3dha2UKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9zY3JpcHQgYi9iYXNoLWNvbXBsZXRpb24vc2NyaXB0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3YjkxYTkKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc2NyaXB0CkBAIC0wLDAgKzEsNDEgQEAKK19zY3JpcHRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctYyd8Jy0tY29tbWFuZCcpCisJCQljb21wb3B0IC1vIGJhc2hkZWZhdWx0CisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWMgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJJz0nKQorCQkJY3VyPSR7Y3VyIz19CisJCQk7OworCQktKikKKwkJCU9QVFM9Ii0tYXBwZW5kCisJCQkJLS1jb21tYW5kCisJCQkJLS1yZXR1cm4KKwkJCQktLWZsdXNoCisJCQkJLS1mb3JjZQorCQkJCS0tcXVpZXQKKwkJCQktLW91dHB1dC1saW1pdAorCQkJCS0tdGltaW5nPQorCQkJCS0tdmVyc2lvbgorCQkJCS0taGVscCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3NjcmlwdF9tb2R1bGUgc2NyaXB0CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc2NyaXB0cmVwbGF5IGIvYmFzaC1jb21wbGV0aW9uL3NjcmlwdHJlcGxheQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZTFhNzkwCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3NjcmlwdHJlcGxheQpAQCAtMCwwICsxLDMzIEBACitfc2NyaXB0cmVwbGF5X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLWQnfCctLWRpdmlzb3InfCctbSd8Jy0tbWF4ZGVsYXknKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJkaWdpdCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXRpbWluZworCQkJCS0tdHlwZXNjcmlwdAorCQkJCS0tZGl2aXNvcgorCQkJCS0tbWF4ZGVsYXkKKwkJCQktLXZlcnNpb24KKwkJCQktLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9zY3JpcHRyZXBsYXlfbW9kdWxlIHNjcmlwdHJlcGxheQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3NldGFyY2ggYi9iYXNoLWNvbXBsZXRpb24vc2V0YXJjaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDk2ZTk3Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3NldGFyY2gKQEAgLTAsMCArMSw0NCBAQAorX3NldGFyY2hfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlpZiBbICRDT01QX0NXT1JEIC1lcSAxIF07IHRoZW4KKwkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKCQxIC0tbGlzdCkiIC0tICRjdXIpICkKKwkJcmV0dXJuIDAKKwlmaQorCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9IgorCQkJCS0tMzJiaXQKKwkJCQktLWZkcGljLWZ1bmNwdHJzCisJCQkJLS1zaG9ydC1pbm9kZQorCQkJCS0tYWRkci1jb21wYXQtbGF5b3V0CisJCQkJLS1hZGRyLW5vLXJhbmRvbWl6ZQorCQkJCS0td2hvbGUtc2Vjb25kcworCQkJCS0tc3RpY2t5LXRpbWVvdXRzCisJCQkJLS1yZWFkLWltcGxpZXMtZXhlYworCQkJCS0tbW1hcC1wYWdlLXplcm8KKwkJCQktLTNnYgorCQkJCS0tNGdiCisJCQkJLS11bmFtZS0yLjYKKwkJCQktLXZlcmJvc2UKKwkJCQktLWxpc3QKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24KKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNvbXBvcHQgLW8gYmFzaGRlZmF1bHQKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWMgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc2V0YXJjaF9tb2R1bGUgc2V0YXJjaApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3NldHByaXYgYi9iYXNoLWNvbXBsZXRpb24vc2V0cHJpdgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzY3ZjgyCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3NldHByaXYKQEAgLTAsMCArMSwxMTEgQEAKK19zZXRwcml2X21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLS1hbWJpZW50LWNhcHMnfCctLWluaC1jYXBzJ3wnLS1ib3VuZGluZy1zZXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgSU5IRVJJVF9BTEwgSU5IRVJJVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJSU5IRVJJVF9BTEw9JCgkMSAtLWxpc3QtY2Fwc3wgYXdrICd7cHJpbnQgJDEsICItIiAkMX0nKQorCQkJZm9yIFdPUkQgaW4gJElOSEVSSVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJSU5IRVJJVD0iJFdPUkQgJHtJTkhFUklUOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJElOSEVSSVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXJ1aWQnfCctLWV1aWQnfCctLXJldWlkJykKKwkJCWxvY2FsIFVJRFMKKwkJCVVJRFM9JChnZXRlbnQgcGFzc3dkIHwgYXdrIC1GOiAne3ByaW50ICQzfScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRVSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tcmdpZCd8Jy0tZWdpZCd8Jy0tcmVnaWQnKQorCQkJbG9jYWwgR0lEUworCQkJR0lEUz0kKGdldGVudCBncm91cCB8IGF3ayAtRjogJ3twcmludCAkM30nKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkR0lEUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWdyb3VwcycpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBHSURTX0FMTCBHSURTCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlHSURTX0FMTD0kKGdldGVudCBncm91cCB8IGF3ayAtRjogJ3twcmludCAkM30nKQorCQkJZm9yIFdPUkQgaW4gJEdJRFNfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJR0lEUz0iJFdPUkQgJHtHSURTOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJEdJRFMiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXNlY3VyZWJpdHMnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgU0JJVFNfQUxMIFNCSVRTIFdPUkQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCVNCSVRTX0FMTD0iCisJCQkJeyssLX1rZWVwX2NhcHNfbG9ja2VkCisJCQkJeyssLX1ub3Jvb3QKKwkJCQl7KywtfW5vcm9vdF9sb2NrZWQKKwkJCQl7KywtfW5vX3NldHVpZF9maXh1cAorCQkJCXsrLC19bm9fc2V0dWlkX2ZpeHVwX2xvY2tlZAorCQkJIgorCQkJZm9yIFdPUkQgaW4gJFNCSVRTX0FMTDsgZG8KKwkJCQlpZiAhIFtbICRwcmVmaXggPT0gKiIkV09SRCIqIF1dOyB0aGVuCisJCQkJCVNCSVRTPSIkV09SRCAke1NCSVRTOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJFNCSVRTIiAtUyAnLCcgLS0gJHJlYWxjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1zZWxpbnV4LWxhYmVsJykKKwkJCSMgRklYTUU6IGhvdyB0byBsaXN0IHNlbGludXggbGFiZWxzPworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJsYWJlbCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWFwcGFybW9yLXByb2ZpbGUnKQorCQkJIyBGSVhNRTogaG93IHRvIGxpc3QgYXBwYXJtb3IgcHJvZmlsZXM/CisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInByb2ZpbGUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1kdW1wCisJCQkJLS1uby1uZXctcHJpdnMKKwkJCQktLWFtYmllbnQtY2FwcworCQkJCS0taW5oLWNhcHMKKwkJCQktLWJvdW5kaW5nLXNldAorCQkJCS0tcnVpZAorCQkJCS0tZXVpZAorCQkJCS0tcmdpZAorCQkJCS0tZWdpZAorCQkJCS0tcmV1aWQKKwkJCQktLXJlZ2lkCisJCQkJLS1jbGVhci1ncm91cHNjbGVhcgorCQkJCS0ta2VlcC1ncm91cHNrZWVwCisJCQkJLS1ncm91cHMKKwkJCQktLXNlY3VyZWJpdHMKKwkJCQktLXNlbGludXgtbGFiZWwKKwkJCQktLWFwcGFybW9yLXByb2ZpbGUKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljb21wb3B0IC1vIGJhc2hkZWZhdWx0CisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1jIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3NldHByaXZfbW9kdWxlIHNldHByaXYKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9zZXRzaWQgYi9iYXNoLWNvbXBsZXRpb24vc2V0c2lkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1NWVjMjcKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc2V0c2lkCkBAIC0wLDAgKzEsMjMgQEAKK19zZXRzaWRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWN0dHkgLS13YWl0IC0taGVscCAtLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljb21wb3B0IC1vIGJhc2hkZWZhdWx0CisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1jIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3NldHNpZF9tb2R1bGUgc2V0c2lkCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc2V0dGVybSBiL2Jhc2gtY29tcGxldGlvbi9zZXR0ZXJtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1MjEzZGYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc2V0dGVybQpAQCAtMCwwICsxLDEyNyBAQAorX3NldHRlcm1fbW9kdWxlKCkKK3sKKwlsb2NhbCBicmlnaHQgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLS10ZXJtJykKKwkJCWxvY2FsIFRFUk1fTElTVCBJCisJCQlURVJNX0xJU1Q9JycKKwkJCWZvciBJIGluIC91c3Ivc2hhcmUvdGVybWluZm8vPy8qOyBkbworCQkJCVRFUk1fTElTVCs9IiR7SSMjKi99ICIKKwkJCWRvbmUKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFRFUk1fTElTVCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWZvcmVncm91bmQnfCctLWJhY2tncm91bmQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJibGFjayBibHVlIGN5YW4gZGVmYXVsdCBncmVlbiBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3ciIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS11bGNvbG9yJ3wnLS1oYmNvbG9yJ3wnYnJpZ2h0JykKKwkJCWlmIFsgJHByZXYgIT0gJ2JyaWdodCcgXTsgdGhlbgorCQkJCWJyaWdodD0nYnJpZ2h0IGJsYWNrIGdyZXknCisJCQllbHNlCisJCQkJYnJpZ2h0PScnCisJCQlmaQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkYnJpZ2h0IGJsdWUgY3lhbiBncmVlbiBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3ciIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1jdXJzb3InfCctLXJlcGVhdCd8Jy0tYXBwY3Vyc29ya2V5cyd8Jy0tbGluZXdyYXAnfCctLWludmVyc2VzY3JlZW4nfCctLWJvbGQnfCctLWhhbGYtYnJpZ2h0J3wnLS1ibGluayd8Jy0tcmV2ZXJzZSd8Jy0tdW5kZXJsaW5lJ3wnLS1tc2cnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJvZmYgb24iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1jbGVhcicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImFsbCByZXN0IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tdGFicyd8Jy0tY2xydGFicycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInRhYjEgdGFiMiB0YWIzIHRhYjE2MCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXJlZ3RhYnMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJ7MS4uMTYwfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLWJsYW5rJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiezAuLjYwfSBmb3JjZSBwb2tlIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tZHVtcCd8Jy0tYXBwZW5kJykKKwkJCWxvY2FsIE5VTV9DT05TCisJCQlOVU1fQ09OUz0oL2Rldi92Y3NhPyopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInsxLi4keyNOVU1fQ09OU1sqXX19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tZmlsZScpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLW1zZ2xldmVsJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiezAuLjh9IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tcG93ZXJzYXZlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAib24gdnN5bmMgaHN5bmMgcG93ZXJkb3duIG9mZiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXBvd2VyZG93bicpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInswLi42MH0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLS1ibGVuZ3RoJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiMC0yMDAwIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tYmZyZXEnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJmcmVxbnVtYmVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0taGVscCd8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJT1BUUz0iCS0tdGVybQorCQktLXJlc2V0CisJCS0tcmVzaXplCisJCS0taW5pdGlhbGl6ZQorCQktLWN1cnNvcgorCQktLXJlcGVhdAorCQktLWFwcGN1cnNvcmtleXMKKwkJLS1saW5ld3JhcAorCQktLWRlZmF1bHQKKwkJLS1mb3JlZ3JvdW5kCisJCS0tYmFja2dyb3VuZAorCQktLXVsY29sb3IKKwkJLS1oYmNvbG9yCisJCS0tdWxjb2xvcgorCQktLWhiY29sb3IKKwkJLS1pbnZlcnNlc2NyZWVuCisJCS0tYm9sZAorCQktLWhhbGYtYnJpZ2h0CisJCS0tYmxpbmsKKwkJLS1yZXZlcnNlCisJCS0tdW5kZXJsaW5lCisJCS0tc3RvcmUKKwkJLS1jbGVhcgorCQktLXRhYnMKKwkJLS1jbHJ0YWJzCisJCS0tcmVndGFicworCQktLWJsYW5rCisJCS0tZHVtcAorCQktLWFwcGVuZAorCQktLWZpbGUKKwkJLS1tc2cKKwkJLS1tc2dsZXZlbAorCQktLXBvd2Vyc2F2ZQorCQktLXBvd2VyZG93bgorCQktLWJsZW5ndGgKKwkJLS1iZnJlcQorCQktLXZlcnNpb24KKwkJLS1oZWxwIgorCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc2V0dGVybV9tb2R1bGUgc2V0dGVybQpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3NmZGlzayBiL2Jhc2gtY29tcGxldGlvbi9zZmRpc2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQwMWY4OQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9zZmRpc2sKQEAgLTAsMCArMSw5NiBAQAorX3NmZGlza19tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1kJ3wnLS1kdW1wJ3wnLUonfCctLWpzb24nfCctbCd8Jy0tbGlzdCd8Jy1GJ3wnLS1saXN0LWZyZWUnfCctcid8Jy0tcmVvcmRlcid8Jy1zJ3wnLS1zaG93LXNpemUnfCctVid8Jy0tdmVyaWZ5J3wnLUEnfCctLWFjdGl2YXRlJ3wnLS1kZWxldGUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1kcG5ybyBuYW1lKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctTid8Jy0tcGFydG5vJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibnVtYmVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy0tY29sb3InfCctdyd8Jy0td2lwZSd8Jy1XJ3wnLS13aXBlLXBhcnRpdGlvbnMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJhdXRvIG5ldmVyIGFsd2F5cyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctbyd8Jy0tb3V0cHV0JykKKwkJCWxvY2FsIHByZWZpeCByZWFsY3VyIE9VVFBVVF9BTEwgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlPVVRQVVRfQUxMPSIKKwkJCQlBdHRycyBCb290IEJzaXplIENwZyBDeWxpbmRlcnMgRGV2aWNlIEVuZAorCQkJCUVuZC1DL0gvUyBGbGFncyBGc2l6ZSBJZCBOYW1lIFNlY3RvcnMgU2l6ZQorCQkJCVNsaWNlIFN0YXJ0IFN0YXJ0LUMvSC9TIFR5cGUgVHlwZS1VVUlEIFVVSUQKKwkJCSIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAke09VVFBVVDotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAiJHJlYWxjdXIiKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1PJ3wnLS1iYWNrdXAtZmlsZScpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy12J3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJJz0nKQorCQkJY3VyPSR7Y3VyIz19CisJCQk7OworCQktKikKKwkJCU9QVFM9IgorCQkJCS0tYWN0aXZhdGUKKwkJCQktLWR1bXAKKwkJCQktLWpzb24KKwkJCQktLXNob3ctZ2VvbWV0cnkKKwkJCQktLWxpc3QKKwkJCQktLWxpc3QtZnJlZQorCQkJCS0tcmVvcmRlcgorCQkJCS0tc2hvdy1zaXplCisJCQkJLS1saXN0LXR5cGVzCisJCQkJLS12ZXJpZnkKKwkJCQktLWRlbGV0ZQorCQkJCS0tcGFydC1sYWJlbAorCQkJCS0tcGFydC10eXBlCisJCQkJLS1wYXJ0LXV1aWQKKwkJCQktLXBhcnQtYXR0cnMKKwkJCQktLWFwcGVuZAorCQkJCS0tYmFja3VwCisJCQkJLS1ieXRlcworCQkJCS0tbW92ZS1kYXRhCisJCQkJLS1mb3JjZQorCQkJCS0tY29sb3IKKwkJCQktLXBhcnRubworCQkJCS0tbm8tYWN0CisJCQkJLS1uby1yZXJlYWQKKwkJCQktLW5vLXRlbGwta2VybmVsCisJCQkJLS1iYWNrdXAtZmlsZQorCQkJCS0tb3V0cHV0CisJCQkJLS1xdWlldAorCQkJCS0td2lwZQorCQkJCS0td2lwZS1wYXJ0aXRpb25zCisJCQkJLS1sYWJlbAorCQkJCS0tbGFiZWwtbmVzdGVkCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uCisJCQkiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQobHNibGsgLXBucm8gbmFtZSkiIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3NmZGlza19tb2R1bGUgc2ZkaXNrCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc3UgYi9iYXNoLWNvbXBsZXRpb24vc3UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGFkMWI1ZgotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9zdQpAQCAtMCwwICsxLDQ3IEBACitfc3VfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctJ3wnLXUnfCctLXVzZXInKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC11IC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWcnfCctLWdyb3VwJ3wnLUcnfCctLXN1cHAtZ3JvdXAnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1nIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXMnfCctLXNoZWxsJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChjaHNoIC1sKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIJLS11c2VyCisJCQkJLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudAorCQkJCS0tZ3JvdXAKKwkJCQktLXN1cHAtZ3JvdXAKKwkJCQktLWxvZ2luCisJCQkJLS1jb21tYW5kCisJCQkJLS1zZXNzaW9uLWNvbW1hbmQKKwkJCQktLWZhc3QKKwkJCQktLXNoZWxsCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc3VfbW9kdWxlIHN1Citjb21wbGV0ZSAtRiBfc3VfbW9kdWxlIHJ1bnVzZXIKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi9zd2FwbGFiZWwgYi9iYXNoLWNvbXBsZXRpb24vc3dhcGxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4YWE5Y2QKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc3dhcGxhYmVsCkBAIC0wLDAgKzEsMzIgQEAKK19zd2FwbGFiZWxfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctTCd8Jy0tbGFiZWwnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJsYWJlbCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVSd8Jy0tdXVpZCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgJyQodXVpZGdlbiknIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1sYWJlbCAtLXV1aWQgLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3N3YXBsYWJlbF9tb2R1bGUgc3dhcGxhYmVsCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vc3dhcG9mZiBiL2Jhc2gtY29tcGxldGlvbi9zd2Fwb2ZmCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZGNmMDUKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vc3dhcG9mZgpAQCAtMCwwICsxLDM4IEBACitfc3dhcG9mZl9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1hJ3wnLS1hbGwnKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVSd8J1VVSUQ9JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChzd2Fwb24gLS1zaG93PVVVSUQgLS1ub2hlYWRpbmcpIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1MJ3wnTEFCRUw9JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJChzd2Fwb24gLS1zaG93PUxBQkVMIC0tbm9oZWFkaW5nKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItTAorCQkJCS1VCisJCQkJLS1hbGwKKwkJCQktLXZlcmJvc2UKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiQoc3dhcG9uIC0tc2hvdz1OQU1FIC0tcmF3IC0tbm9oZWFkaW5nKSIgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfc3dhcG9mZl9tb2R1bGUgc3dhcG9mZgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3N3YXBvbiBiL2Jhc2gtY29tcGxldGlvbi9zd2Fwb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZiNmYwOQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi9zd2Fwb24KQEAgLTAsMCArMSw4NCBAQAorX3N3YXBvbl9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1wJ3wnLS1wcmlvcml0eScpCisJCQkjIFByaW9yaXR5IHJhbmdlIGlzIC0xIHRvIDMyNzY3LiAgUGVyaGFwcyB0aGVzZQorCQkJIyBmZXcgYXJlIGVub3VnaC4KKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiey0xLi45fSAzMjc2NyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctLXNob3cnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUX0FMTCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCU9VVFBVVF9BTEw9Ik5BTUUgVFlQRSBTSVpFIFVTRUQgUFJJTyBVVUlEIExBQkVMIgorCQkJZm9yIFdPUkQgaW4gJE9VVFBVVF9BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICR7T1VUUFVUOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1VJ3wnVVVJRD0nKQorCQkJbG9jYWwgVVVJRFMKKwkJCVVVSURTPSIkKGxzYmxrIC1ucnAgLW8gRlNUWVBFLFVVSUQgfCBhd2sgJyQxIH4gL3N3YXAvIHsgcHJpbnQgJDIgfScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkVVVJRFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLUwnfCdMQUJFTD0nKQorCQkJbG9jYWwgTEFCRUxTCisJCQlMQUJFTFM9IiQobHNibGsgLW5ycCAtbyBGU1RZUEUsTEFCRUwgfCBhd2sgJyQxIH4gL3N3YXAvIHsgcHJpbnQgJDIgfScpIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkTEFCRUxTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJ1BBUlRVVUlEPScpCisJCQlsb2NhbCBQQVJUVVVJRFMKKwkJCVBBUlRVVUlEUz0iJChsc2JsayAtbnJwIC1vIEZTVFlQRSxQQVJUVVVJRCB8IGF3ayAnJDEgfiAvc3dhcC8geyBwcmludCAkMiB9JykiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQQVJUVVVJRFMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknUEFSVExBQkVMPScpCisJCQlsb2NhbCBQQVJUTEFCRUxTCisJCQlQQVJUTEFCRUxTPSIkKGxzYmxrIC1ucnAgLW8gRlNUWVBFLFBBUlRMQUJFTCB8IGF3ayAnJDEgfiAvc3dhcC8geyBwcmludCAkMiB9JykiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQQVJUTEFCRUxTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tYWxsCisJCQkJLS1kaXNjYXJkCisJCQkJLS1pZmV4aXN0cworCQkJCS0tZml4cGdzegorCQkJCS0tcHJpb3JpdHkKKwkJCQktLXN1bW1hcnkKKwkJCQktLXNob3cKKwkJCQktLW91dHB1dC1hbGwKKwkJCQktLW5vaGVhZGluZ3MKKwkJCQktLXJhdworCQkJCS0tYnl0ZXMKKwkJCQktLXZlcmJvc2UKKwkJCQktTAorCQkJCS1VCisJCQkJLS1oZWxwCisJCQkJLS12ZXJzaW9uIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgREVWUworCURFVlM9IiQobHNibGsgLW5ycCAtbyBGU1RZUEUsTkFNRSB8IGF3ayAnJDEgfiAvc3dhcC8geyBwcmludCAkMiB9JykiCisJY29tcG9wdCAtbyBub3NwYWNlCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mVyAiJERFVlMgTEFCRUw9IFVVSUQ9IFBBUlRMQUJFTD0gUEFSVFVVSUQ9IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF9zd2Fwb25fbW9kdWxlIHN3YXBvbgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3Rhc2tzZXQgYi9iYXNoLWNvbXBsZXRpb24vdGFza3NldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzlhN2JkCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3Rhc2tzZXQKQEAgLTAsMCArMSw0NyBAQAorX3Rhc2tzZXRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctYyd8Jy0tY3B1LWxpc3QnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgQ1BVTElTVF9BTEwgQ1BVTElTVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJQ1BVTElTVF9BTEw9JChzZWQgJ3MvXi97Lzsgcy8tLy4uL2c7IHMvLC99IHsvZzsgcy8kL30vJyAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS9vbmxpbmUpCisJCQlmb3IgV09SRCBpbiAkKGV2YWwgZWNobyAkQ1BVTElTVF9BTEwpOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJQ1BVTElTVD0iJFdPUkQgJHtDUFVMSVNUOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJENQVUxJU1QiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcCd8Jy0tcGlkJykKKwkJCWxvY2FsIFBJRFMKKwkJCSMgRklYTUU6IHRoZSBwaWQgYXJndW1lbnQgaXMgYW1iaWd1b3VzLiAgV2hlbgorCQkJIyBzZXR0aW5nIGFuIGFmZmluaXR5IHRoZSBvcHRhcmcgaGFzIHRvIGJlIGNwdQorCQkJIyBtYXNrLiAgVGhlIGZvbGxvd2luZyBpcyBnb29kIG9ubHkgZm9yIGdldHRpbmcKKwkJCSMgYWZmaW5pdHkuCisJCQlQSURTPSQoY2QgL3Byb2MgJiYgZWNobyBbMC05XSopCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRQSURTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tYWxsLXRhc2tzIC0tcGlkIC0tY3B1LWxpc3QgLS1oZWxwIC0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNvbXBvcHQgLW8gYmFzaGRlZmF1bHQKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWMgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfdGFza3NldF9tb2R1bGUgdGFza3NldApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3R1bmVscCBiL2Jhc2gtY29tcGxldGlvbi90dW5lbHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmJlM2Q1NAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi90dW5lbHAKQEAgLTAsMCArMSw1MSBAQAorX3R1bmVscF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1pJ3wnLS1pcnEnfCctYyd8Jy0tY2hhcnMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXQnfCctLXRpbWUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJtaWxsaXNlY29uZHMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXcnfCctLXdhaXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJtaWNyb3NlY29uZHMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWEnfCctLWFib3J0J3wnLW8nfCctLWNoZWNrLXN0YXR1cyd8Jy1DJ3wnLS1jYXJlZnVsJ3wnLXEnfCctLXByaW50LWlycScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIm9mZiBvbiIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWlycQorCQkJCS0tdGltZQorCQkJCS0tY2hhcnMKKwkJCQktLXdhaXQKKwkJCQktLWFib3J0CisJCQkJLS1jaGVjay1zdGF0dXMKKwkJCQktLWNhcmVmdWwKKwkJCQktLXN0YXR1cworCQkJCS0tcmVzZXQKKwkJCQktLXByaW50LWlycQorCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWxvY2FsIElGUz0kJ1xuJworCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1mIC0tICR7Y3VyOi0iL2Rldi9scCJ9KSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF90dW5lbHBfbW9kdWxlIHR1bmVscApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3VsIGIvYmFzaC1jb21wbGV0aW9uL3VsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ0OWNiZTAKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vdWwKQEAgLTAsMCArMSwzMyBAQAorX3VsX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLXQnfCctLXRlcm1pbmFsJykKKwkJCWxvY2FsIFRFUk1fTElTVCBJCisJCQlURVJNX0xJU1Q9JycKKwkJCWZvciBJIGluIC91c3Ivc2hhcmUvdGVybWluZm8vPy8qOyBkbworCQkJCVRFUk1fTElTVCs9IiR7SSMjKi99ICIKKwkJCWRvbmUKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFRFUk1fTElTVCIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLXRlcm1pbmFsIC0taW5kaWNhdGVkIC0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF91bF9tb2R1bGUgdWwKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi91bW91bnQgYi9iYXNoLWNvbXBsZXRpb24vdW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4YzkwZDYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vdW1vdW50CkBAIC0wLDAgKzEsNDkgQEAKK191bW91bnRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctdCd8Jy0tdHlwZXMnKQorCQkJbG9jYWwgVFlQRVMKKwkJCVRZUEVTPSIKKwkJCQkkKFxscyAvbGliL21vZHVsZXMvJCh1bmFtZSAtcikva2VybmVsL2ZzIHwgYXdrICd7cHJpbnQgJDEsICJubyIgJDF9JykKKwkJCQkkKGF3ayAne3ByaW50ICRORiwgIm5vIiAkTkZ9JyAvcHJvYy9maWxlc3lzdGVtcykKKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJFRZUEVTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9IgktLWFsbAorCQkJCS0tYWxsLXRhcmdldHMKKwkJCQktLW5vLWNhbm9uaWNhbGl6ZQorCQkJCS0tZGV0YWNoLWxvb3AKKwkJCQktLWZha2UKKwkJCQktLWZvcmNlCisJCQkJLS1pbnRlcm5hbC1vbmx5CisJCQkJLS1uby1tdGFiCisJCQkJLS1sYXp5CisJCQkJLS10ZXN0LW9wdHMKKwkJCQktLXJlY3Vyc2l2ZQorCQkJCS0tcmVhZC1vbmx5CisJCQkJLS10eXBlcworCQkJCS0tdmVyYm9zZQorCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbiIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCisJbG9jYWwgb2xkaWZzPSRJRlMKKwlJRlM9JCdcbicKKwlDT01QUkVQTFk9KCAkKCBjb21wZ2VuIC1XICckKGZpbmRtbnQgLWxubyBUQVJHRVQgfCBzZWQgInMvXChbWzpibGFuazpdXVwpL1xcXFxcMS9nIiknIC0tICIkY3VyIiApICkKKwlJRlM9JG9sZGlmcworfQorY29tcGxldGUgLUYgX3Vtb3VudF9tb2R1bGUgdW1vdW50CmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vdW5zaGFyZSBiL2Jhc2gtY29tcGxldGlvbi91bnNoYXJlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmZGE0YTEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vdW5zaGFyZQpAQCAtMCwwICsxLDQ1IEBACitfdW5zaGFyZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy0tcHJvcGFnYXRpb24nKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJzbGF2ZSBzaGFyZWQgcHJpdmF0ZSB1bmNoYW5nZWQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXMnfCctLXNldGdyb3VwcycpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgImFsbG93IGRlbnkiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1tb3VudAorCQkJCS0tdXRzCisJCQkJLS1pcGMKKwkJCQktLW5ldAorCQkJCS0tcGlkCisJCQkJLS11c2VyCisJCQkJLS1jZ3JvdXAKKwkJCQktLWZvcmsKKwkJCQktLWtpbGwtY2hpbGQKKwkJCQktLW1vdW50LXByb2MKKwkJCQktLW1hcC1yb290LXVzZXIKKwkJCQktLXByb3BhZ2F0aW9uCisJCQkJLS1zZXRncm91cHMKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljb21wb3B0IC1vIGJhc2hkZWZhdWx0CisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1jIC0tICRjdXIpICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3Vuc2hhcmVfbW9kdWxlIHVuc2hhcmUKZGlmZiAtLWdpdCBhL2Jhc2gtY29tcGxldGlvbi91dG1wZHVtcCBiL2Jhc2gtY29tcGxldGlvbi91dG1wZHVtcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjYzNmMxCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3V0bXBkdW1wCkBAIC0wLDAgKzEsMjQgQEAKK191dG1wZHVtcF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tZm9sbG93IC0tcmV2ZXJzZSAtLW91dHB1dCAtLXZlcnNpb24gLS1oZWxwIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJbG9jYWwgSUZTPSQnXG4nCisJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfdXRtcGR1bXBfbW9kdWxlIHV0bXBkdW1wCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vdXVpZGQgYi9iYXNoLWNvbXBsZXRpb24vdXVpZGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzhmNjY5NwotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi91dWlkZApAQCAtMCwwICsxLDM5IEBACitfdXVpZGRfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctcCd8Jy0tcGlkJ3wnLXMnfCctLXNvY2tldCcpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLWYgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctVCd8Jy0tdGltZW91dCcpCisJCQlsb2NhbCBJRlM9JCdcbicKKwkJCWNvbXBvcHQgLW8gZmlsZW5hbWVzCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInRpbWVvdXQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLW4nfCctLXV1aWRzJykKKwkJCWxvY2FsIElGUz0kJ1xuJworCQkJY29tcG9wdCAtbyBmaWxlbmFtZXMKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAibnVtYmVyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii0tcGlkIC0tc29ja2V0IC0tdGltZW91dCAtLWtpbGwgLS1yYW5kb20gLS10aW1lIC0tdXVpZHMgLS1uby1waWQgLS1uby1mb3JrIC0tc29ja2V0LWFjdGl2YXRpb24gLS1kZWJ1ZyAtLXF1aWV0IC0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3V1aWRkX21vZHVsZSB1dWlkZApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3V1aWRnZW4gYi9iYXNoLWNvbXBsZXRpb24vdXVpZGdlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZTY0MDE1Ci0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3V1aWRnZW4KQEAgLTAsMCArMSwzOSBAQAorX3V1aWRnZW5fbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctbid8Jy0tbmFtZXNwYWNlJykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiQGRucyBAdXJsIEBvaWQgQHg1MDAgQHguNTAwIiAtLSAiJGN1ciIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLU4nfCctLW5hbWUnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJuYW1lIiAtLSAiJGN1ciIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iCisJCQkJLS1yYW5kb20KKwkJCQktLXRpbWUKKwkJCQktLW5hbWVzcGFjZQorCQkJCS0tbmFtZQorCQkJCS0tbWQ1CisJCQkJLS1zaGExCisJCQkJLS1oZXgKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24KKwkJCSIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJHtPUFRTWypdfSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfdXVpZGdlbl9tb2R1bGUgdXVpZGdlbgpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3V1aWRwYXJzZSBiL2Jhc2gtY29tcGxldGlvbi91dWlkcGFyc2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTY0Njg0NAotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi91dWlkcGFyc2UKQEAgLTAsMCArMSwzNyBAQAorX3V1aWRwYXJzZV9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUCisJCQlyZWFsY3VyPSIke2N1ciMjKix9IgorCQkJcHJlZml4PSIke2N1ciUkcmVhbGN1cn0iCisJCQlmb3IgV09SRCBpbiAiVVVJRCBWQVJJQU5UIFRZUEUgVElNRSI7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICR7T1VUUFVUOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCU9QVFM9IgorCQktLWpzb24KKwkJLS1ub2hlYWRpbmdzCisJCS0tb3V0cHV0CisJCS0tcmF3CisJCS0taGVscAorCQktLXZlcnNpb24KKwkiCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJcmV0dXJuIDAKKworfQorY29tcGxldGUgLUYgX3V1aWRwYXJzZV9tb2R1bGUgdXVpZHBhcnNlCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vd2FsbCBiL2Jhc2gtY29tcGxldGlvbi93YWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyZmJhOWEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vd2FsbApAQCAtMCwwICsxLDMyIEBACitfd2FsbF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy10J3wnLS10aW1lb3V0JykKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAic2Vjb25kcyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctZyd8Jy0tZ3JvdXAnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1BICdncm91cCcgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSItLWdyb3VwIC0tbm9iYW5uZXIgLS10aW1lb3V0IC0tdmVyc2lvbiAtLWhlbHAiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF93YWxsX21vZHVsZSB3YWxsCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vd2RjdGwgYi9iYXNoLWNvbXBsZXRpb24vd2RjdGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFhODcwZQotLS0gL2Rldi9udWxsCisrKyBiL2Jhc2gtY29tcGxldGlvbi93ZGN0bApAQCAtMCwwICsxLDcwIEBACitfd2RjdGxfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctZid8Jy0tZmxhZ3MnKQorCQkJbG9jYWwgRkxBR1MKKwkJCUZMQUdTPSJBTEFSTU9OTFkKKwkJCQlDQVJEUkVTRVQKKwkJCQlFWFRFUk4xCisJCQkJRVhURVJOMgorCQkJCUZBTkZBVUxUCisJCQkJS0VFUEFMSVZFUElORworCQkJCU1BR0lDQ0xPU0UKKwkJCQlPVkVSSEVBVAorCQkJCVBPV0VST1ZFUgorCQkJCVBPV0VSVU5ERVIKKwkJCQlQUkVUSU1FT1VUCisJCQkJU0VUVElNRU9VVCIKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAiJEZMQUdTIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUX0FMTCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCU9VVFBVVF9BTEw9IkZMQUcgREVTQ1JJUFRJT04gU1RBVFVTIEJPT1QtU1RBVFVTIERFVklDRSIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAke09VVFBVVDotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tc2V0dGltZW91dCcpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNlY29uZHMiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLWgnfCctLWhlbHAnfCctVid8Jy0tdmVyc2lvbicpCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJY2FzZSAkY3VyIGluCisJCS0qKQorCQkJT1BUUz0iLS1mbGFncworCQkJCS0tbm9mbGFncworCQkJCS0tbm9pZGVudAorCQkJCS0tbm9oZWFkaW5ncworCQkJCS0tb25lbGluZQorCQkJCS0tb3V0cHV0CisJCQkJLS1yYXcKKwkJCQktLW5vdGltZW91dHMKKwkJCQktLXNldHRpbWVvdXQKKwkJCQktLWZsYWdzLW9ubHkKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAke2N1cjotIi9kZXYvIn0pICkKKwlyZXR1cm4gMAorfQorY29tcGxldGUgLUYgX3dkY3RsX21vZHVsZSB3ZGN0bApkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3doZXJlaXMgYi9iYXNoLWNvbXBsZXRpb24vd2hlcmVpcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGNiYWMzCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3doZXJlaXMKQEAgLTAsMCArMSwyOCBAQAorX3doZXJlaXNfbW9kdWxlKCkKK3sKKwlsb2NhbCBjdXIgcHJldiBPUFRTCisJQ09NUFJFUExZPSgpCisJY3VyPSIke0NPTVBfV09SRFNbQ09NUF9DV09SRF19IgorCXByZXY9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JELTFdfSIKKwljYXNlICRwcmV2IGluCisJCSctQid8Jy1NJ3wnLVMnKQorCQkJbG9jYWwgSUZTPSQnXG4nCisJCQljb21wb3B0IC1vIGZpbGVuYW1lcworCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1vIGRpcm5hbWVzIC0tICR7Y3VyOi0iLyJ9KSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1oJ3wnLVYnKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJGN1ciBpbgorCQktKikKKwkJCU9QVFM9Ii1iIC1CIC1tIC1NIC1zIC1TIC1mIC11IC1sIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJmaWxlIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF93aGVyZWlzX21vZHVsZSB3aGVyZWlzCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24vd2lwZWZzIGIvYmFzaC1jb21wbGV0aW9uL3dpcGVmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzU2OGNhCi0tLSAvZGV2L251bGwKKysrIGIvYmFzaC1jb21wbGV0aW9uL3dpcGVmcwpAQCAtMCwwICsxLDYwIEBACitfd2lwZWZzX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYgT1BUUworCUNPTVBSRVBMWT0oKQorCWN1cj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkRdfSIKKwlwcmV2PSIke0NPTVBfV09SRFNbQ09NUF9DV09SRC0xXX0iCisJY2FzZSAkcHJldiBpbgorCQknLU8nfCctLW91dHB1dCcpCisJCQlsb2NhbCBwcmVmaXggcmVhbGN1ciBPVVRQVVRfQUxMIE9VVFBVVAorCQkJcmVhbGN1cj0iJHtjdXIjIyosfSIKKwkJCXByZWZpeD0iJHtjdXIlJHJlYWxjdXJ9IgorCQkJT1VUUFVUX0FMTD0iVVVJRCBMQUJFTCBMRU5HVEggVFlQRSBPRkZTRVQgVVNBR0UgREVWSUNFIgorCQkJZm9yIFdPUkQgaW4gJE9VVFBVVF9BTEw7IGRvCisJCQkJaWYgISBbWyAkcHJlZml4ID09ICoiJFdPUkQiKiBdXTsgdGhlbgorCQkJCQlPVVRQVVQ9IiRXT1JEICR7T1VUUFVUOi0iIn0iCisJCQkJZmkKKwkJCWRvbmUKKwkJCWNvbXBvcHQgLW8gbm9zcGFjZQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1QICIkcHJlZml4IiAtVyAiJE9VVFBVVCIgLVMgJywnIC0tICRyZWFsY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vZmZzZXQnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJvZmZzZXQiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXQnfCctLXR5cGVzJykKKwkJCWxvY2FsIFRZUEVTCisJCQlUWVBFUz0iJChibGtpZCAtaykiCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiRUWVBFUyIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctaCd8Jy0taGVscCd8Jy1WJ3wnLS12ZXJzaW9uJykKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIKKwkJCQktLWFsbAorCQkJCS0tYmFja3VwCisJCQkJLS1mb3JjZQorCQkJCS0tbm9oZWFkaW5ncworCQkJCS0tanNvbgorCQkJCS0tbm8tYWN0CisJCQkJLS1vZmZzZXQKKwkJCQktLW91dHB1dAorCQkJCS0tcGFyc2FibGUKKwkJCQktLXF1aWV0CisJCQkJLS10eXBlcworCQkJCS0taGVscAorCQkJCS0tdmVyc2lvbgorCQkJIgorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIke09QVFNbKl19IiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwllc2FjCisJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKGxzYmxrIC1wbnJvIG5hbWUpIiAtLSAkY3VyKSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF93aXBlZnNfbW9kdWxlIHdpcGVmcwpkaWZmIC0tZ2l0IGEvYmFzaC1jb21wbGV0aW9uL3dyaXRlIGIvYmFzaC1jb21wbGV0aW9uL3dyaXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMmQyZmEKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24vd3JpdGUKQEAgLTAsMCArMSwyNCBAQAorX3dyaXRlX21vZHVsZSgpCit7CisJbG9jYWwgY3VyIHByZXYKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1oJ3wnLS1oZWxwJ3wnLVYnfCctLXZlcnNpb24nKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCWNhc2UgJENPTVBfQ1dPUkQgaW4KKwkJMSkKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtVyAnJCh1c2VycyknIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQkyKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICIkKHcgLWggJHByZXYgfCBhd2sgJ3twcmludCAkMn0nKSIgLS0gJGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJZXNhYworCXJldHVybiAwCit9Citjb21wbGV0ZSAtRiBfd3JpdGVfbW9kdWxlIHdyaXRlCmRpZmYgLS1naXQgYS9iYXNoLWNvbXBsZXRpb24venJhbWN0bCBiL2Jhc2gtY29tcGxldGlvbi96cmFtY3RsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyNzRhNTYKLS0tIC9kZXYvbnVsbAorKysgYi9iYXNoLWNvbXBsZXRpb24venJhbWN0bApAQCAtMCwwICsxLDYwIEBACitfenJhbWN0bF9tb2R1bGUoKQoreworCWxvY2FsIGN1ciBwcmV2IE9QVFMKKwlDT01QUkVQTFk9KCkKKwljdXI9IiR7Q09NUF9XT1JEU1tDT01QX0NXT1JEXX0iCisJcHJldj0iJHtDT01QX1dPUkRTW0NPTVBfQ1dPUkQtMV19IgorCWNhc2UgJHByZXYgaW4KKwkJJy1hJ3wnLS1hbGdvcml0aG0nKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJsem8gbHo0IGx6NGhjIGRlZmxhdGUgODQyIiAtLSAkY3VyKSApCisJCQlyZXR1cm4gMAorCQkJOzsKKwkJJy1vJ3wnLS1vdXRwdXQnKQorCQkJbG9jYWwgcHJlZml4IHJlYWxjdXIgT1VUUFVUX0FMTCBPVVRQVVQKKwkJCXJlYWxjdXI9IiR7Y3VyIyMqLH0iCisJCQlwcmVmaXg9IiR7Y3VyJSRyZWFsY3VyfSIKKwkJCU9VVFBVVF9BTEw9Ik5BTUUgRElTS1NJWkUgREFUQSBDT01QUiBBTEdPUklUSE0KKwkJCQlTVFJFQU1TIFpFUk8tUEFHRVMgVE9UQUwgTUVNLUxJTUlUIE1FTS1VU0VECisJCQkJTUlHUkFURUQgTU9VTlRQT0lOVCIKKwkJCWZvciBXT1JEIGluICRPVVRQVVRfQUxMOyBkbworCQkJCWlmICEgW1sgJHByZWZpeCA9PSAqIiRXT1JEIiogXV07IHRoZW4KKwkJCQkJT1VUUFVUPSIkV09SRCAke09VVFBVVDotIiJ9IgorCQkJCWZpCisJCQlkb25lCisJCQljb21wb3B0IC1vIG5vc3BhY2UKKwkJCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtUCAiJHByZWZpeCIgLVcgIiRPVVRQVVQiIC1TICcsJyAtLSAkcmVhbGN1cikgKQorCQkJcmV0dXJuIDAKKwkJCTs7CisJCSctcyd8Jy0tc2l6ZScpCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgInNpemUiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCQknLXQnfCctLXN0cmVhbXMnKQorCQkJQ09NUFJFUExZPSggJChjb21wZ2VuIC1XICJudW1iZXIiIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwljYXNlICRjdXIgaW4KKwkJLSopCisJCQlPUFRTPSIJLS1hbGdvcml0aG0KKwkJCQktLWJ5dGVzCisJCQkJLS1maW5kCisJCQkJLS1ub2hlYWRpbmdzCisJCQkJLS1vdXRwdXQKKwkJCQktLW91dHB1dC1hbGwKKwkJCQktLXJhdworCQkJCS0tcmVzZXQKKwkJCQktLXNpemUKKwkJCQktLXN0cmVhbXMKKwkJCQktLWhlbHAKKwkJCQktLXZlcnNpb24iCisJCQlDT01QUkVQTFk9KCAkKGNvbXBnZW4gLVcgIiR7T1BUU1sqXX0iIC0tICRjdXIpICkKKwkJCXJldHVybiAwCisJCQk7OworCWVzYWMKKwlsb2NhbCBJRlM9JCdcbicKKwljb21wb3B0IC1vIGZpbGVuYW1lcworCUNPTVBSRVBMWT0oICQoY29tcGdlbiAtZiAtLSAke2N1cjotIi9kZXYvenJhbSJ9KSApCisJcmV0dXJuIDAKK30KK2NvbXBsZXRlIC1GIF96cmFtY3RsX21vZHVsZSB6cmFtY3RsCmRpZmYgLS1naXQgYS9jb25maWcuaCBiL2NvbmZpZy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMTA3OGMKLS0tIC9kZXYvbnVsbAorKysgYi9jb25maWcuaApAQCAtMCwwICsxLDg1NCBAQAorLyogY29uZmlnLmguICBHZW5lcmF0ZWQgZnJvbSBjb25maWcuaC5pbiBieSBjb25maWd1cmUuICAqLworLyogY29uZmlnLmguaW4uICBHZW5lcmF0ZWQgZnJvbSBjb25maWd1cmUuYWMgYnkgYXV0b2hlYWRlci4gICovCisKKy8qIERlZmluZSBpZiBidWlsZGluZyB1bml2ZXJzYWwgKGludGVybmFsIGhlbHBlciBtYWNybykgKi8KKy8qICN1bmRlZiBBQ19BUFBMRV9VTklWRVJTQUxfQlVJTEQgKi8KKworLyogRW5hYmxlIGFnZXR0eSAtLXJlbG9hZCBmZWF0dXJlICovCisjZGVmaW5lIEFHRVRUWV9SRUxPQUQgMQorCisvKiBTaG91bGQgY2hmbiBhbmQgY2hzaCByZXF1aXJlIHRoZSB1c2VyIHRvIGVudGVyIHRoZSBwYXNzd29yZD8gKi8KKyNkZWZpbmUgQ0hGTl9DSFNIX1BBU1NXT1JEIDEKKworLyogUGF0aCB0byBod2Nsb2NrIGFkanRpbWUgZmlsZSAqLworI2RlZmluZSBDT05GSUdfQURKVElNRV9QQVRIICIvZXRjL2FkanRpbWUiCisKKy8qIERlZmluZSB0byAxIGlmIHRyYW5zbGF0aW9uIG9mIHByb2dyYW0gbWVzc2FnZXMgdG8gdGhlIHVzZXIncyBuYXRpdmUKKyAgIGxhbmd1YWdlIGlzIHJlcXVlc3RlZC4gKi8KKyNkZWZpbmUgRU5BQkxFX05MUyAxCisKKy8qIHNlYXJjaCBwYXRoIGZvciBmcyBoZWxwZXJzICovCisjZGVmaW5lIEZTX1NFQVJDSF9QQVRIICIvc2Jpbjovc2Jpbi9mcy5kOi9zYmluL2ZzIgorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGFzbS9pby5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX0FTTV9JT19IICovCisKKy8qIERlZmluZSBpZiBidHJmcyBzdHVmZiBpcyBhdmFpbGFibGUgKi8KKyNkZWZpbmUgSEFWRV9CVFJGU19TVVBQT1JUIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxieXRlc3dhcC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9CWVRFU1dBUF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIE1hYyBPUyBYIGZ1bmN0aW9uIENGTG9jYWxlQ29weUN1cnJlbnQgaW4gdGhlCisgICBDb3JlRm91bmRhdGlvbiBmcmFtZXdvcmsuICovCisvKiAjdW5kZWYgSEFWRV9DRkxPQ0FMRUNPUFlDVVJSRU5UICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBNYWMgT1MgWCBmdW5jdGlvbiBDRlByZWZlcmVuY2VzQ29weUFwcFZhbHVlIGluCisgICB0aGUgQ29yZUZvdW5kYXRpb24gZnJhbWV3b3JrLiAqLworLyogI3VuZGVmIEhBVkVfQ0ZQUkVGRVJFTkNFU0NPUFlBUFBWQUxVRSAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGNsb2NrX2dldHRpbWUnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0NMT0NLX0dFVFRJTUUgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB0aGUgc3lzdGVtIGhhcyB0aGUgdHlwZSBgY3B1X3NldF90Jy4gKi8KKyNkZWZpbmUgSEFWRV9DUFVfU0VUX1QgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGNyeXB0Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0NSWVBUX0ggMQorCisvKiBEZWZpbmUgaWYgdGhlIEdOVSBkY2dldHRleHQoKSBmdW5jdGlvbiBpcyBhbHJlYWR5IHByZXNlbnQgb3IgcHJlaW5zdGFsbGVkLgorICAgKi8KKyNkZWZpbmUgSEFWRV9EQ0dFVFRFWFQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYENQVV9BTExPQycsIGFuZCB0byAwIGlmIHlvdQorICAgZG9uJ3QuICovCisjZGVmaW5lIEhBVkVfREVDTF9DUFVfQUxMT0MgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgZGVjbGFyYXRpb24gb2YgYGRpcmZkJywgYW5kIHRvIDAgaWYgeW91IGRvbid0LgorICAgKi8KKy8qICN1bmRlZiBIQVZFX0RFQ0xfRElSRkQgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGB0em5hbWUnLCBhbmQgdG8gMCBpZiB5b3UgZG9uJ3QuCisgICAqLworLyogI3VuZGVmIEhBVkVfREVDTF9UWk5BTUUgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGRlY2xhcmF0aW9uIG9mIGBfTkxfVElNRV9XRUVLXzFTVERBWScsIGFuZCB0byAwCisgICBpZiB5b3UgZG9uJ3QuICovCisjZGVmaW5lIEhBVkVfREVDTF9fTkxfVElNRV9XRUVLXzFTVERBWSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZGlyZmQnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0RJUkZEIDEKKworLyogRGVmaW5lIHRvIDEgaWYgYGRkX2ZkJyBpcyBhIG1lbWJlciBvZiBgRElSJy4gKi8KKy8qICN1bmRlZiBIQVZFX0RJUl9ERF9GRCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGRsZmNuLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0RMRkNOX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGVhY2Nlc3MnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0VBQ0NFU1MgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGVuZGlhbi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9FTkRJQU5fSCAxCisKKy8qIERlZmluZSB0byAxIGlmIGhhdmUgKiplbnZpcm9uIHByb3RvdHlwZSAqLworI2RlZmluZSBIQVZFX0VOVklST05fREVDTCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZXJyJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9FUlIgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGVycm5vLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0VSUk5PX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGVycngnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0VSUlggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGVyci5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9FUlJfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZXhwbGljaXRfYnplcm8nIGZ1bmN0aW9uLiAqLworLyogI3VuZGVmIEhBVkVfRVhQTElDSVRfQlpFUk8gKi8KKworLyogSGF2ZSB2YWxpZCBmYWxsb2NhdGUoKSBmdW5jdGlvbiAqLworI2RlZmluZSBIQVZFX0ZBTExPQ0FURSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8ZmNudGwuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfRkNOVExfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnB1cmdlJyBmdW5jdGlvbi4gKi8KKy8qICN1bmRlZiBIQVZFX0ZQVVJHRSAqLworCisvKiBEZWZpbmUgdG8gMSBpZiBmc2Vla28gKGFuZCBwcmVzdW1hYmx5IGZ0ZWxsbykgZXhpc3RzIGFuZCBpcyBkZWNsYXJlZC4gKi8KKyNkZWZpbmUgSEFWRV9GU0VFS08gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZzdGF0YXQnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0ZTVEFUQVQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGZzeW5jJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9GU1lOQyAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZnV0aW1lbnMnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0ZVVElNRU5TIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRkb21haW5uYW1lJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9HRVRET01BSU5OQU1FIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRkdGFibGVzaXplJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9HRVREVEFCTEVTSVpFIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRleGVjbmFtZScgZnVuY3Rpb24uICovCisvKiAjdW5kZWYgSEFWRV9HRVRFWEVDTkFNRSAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldG1udGluZm8nIGZ1bmN0aW9uLiAqLworLyogI3VuZGVmIEhBVkVfR0VUTU5USU5GTyAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGdldG9wdC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9HRVRPUFRfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgZ2V0cmFuZG9tJyBmdW5jdGlvbi4gKi8KKy8qICN1bmRlZiBIQVZFX0dFVFJBTkRPTSAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGdldHJsaW1pdCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfR0VUUkxJTUlUIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXRzZ25hbScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfR0VUU0dOQU0gMQorCisvKiBEZWZpbmUgaWYgdGhlIEdOVSBnZXR0ZXh0KCkgZnVuY3Rpb24gaXMgYWxyZWFkeSBwcmVzZW50IG9yIHByZWluc3RhbGxlZC4gKi8KKyNkZWZpbmUgSEFWRV9HRVRURVhUIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBnZXR1c2Vyc2hlbGwnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0dFVFVTRVJTSEVMTCAxCisKKy8qIERlZmluZSBpZiB5b3UgaGF2ZSB0aGUgaWNvbnYoKSBmdW5jdGlvbiBhbmQgaXQgd29ya3MuICovCisvKiAjdW5kZWYgSEFWRV9JQ09OViAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGlub3RpZnlfaW5pdCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfSU5PVElGWV9JTklUIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBpbm90aWZ5X2luaXQxJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9JTk9USUZZX0lOSVQxIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxpbnR0eXBlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9JTlRUWVBFU19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBpb3Blcm0nIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0lPUEVSTSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgaW9wbCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfSU9QTCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgaXNuYW4nIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX0lTTkFOIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBqcmFuZDQ4JyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9KUkFORDQ4IDEKKworLyogRGVmaW5lIGlmIGxhbmdpbmZvLmggZGVmaW5lcyBBTFRNT05feCBjb25zdGFudHMgKi8KKy8qICN1bmRlZiBIQVZFX0xBTkdJTkZPX0FMVE1PTiAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxhbmdpbmZvLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xBTkdJTkZPX0ggMQorCisvKiBEZWZpbmUgaWYgbGFuZ2luZm8uaCBkZWZpbmVzIF9OTF9BQkFMVE1PTl94IGNvbnN0YW50cyAqLworLyogI3VuZGVmIEhBVkVfTEFOR0lORk9fTkxfQUJBTFRNT04gKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsYXN0bG9nLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xBU1RMT0dfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbGNob3duJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9MQ0hPV04gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGF1ZGl0JyBsaWJyYXJ5ICgtbGF1ZGl0KS4gKi8KKy8qICN1bmRlZiBIQVZFX0xJQkFVRElUICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSAtbGJsa2lkLiAqLworI2RlZmluZSBIQVZFX0xJQkJMS0lEIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjYXAtbmcnIGxpYnJhcnkgKC1sY2FwLW5nKS4gKi8KKy8qICN1bmRlZiBIQVZFX0xJQkNBUF9ORyAqLworCisvKiBEbyB3ZSBuZWVkIC1sY3J5cHQ/ICovCisjZGVmaW5lIEhBVkVfTElCQ1JZUFQgMQorCisvKiBEZWZpbmUgaWYgbGlibW91bnQgYXZhaWxhYmxlLiAqLworI2RlZmluZSBIQVZFX0xJQk1PVU5UIDEKKworLyogRGVmaW5lIGlmIG5jdXJzZXMgbGlicmFyeSBhdmFpbGFibGUgKi8KKyNkZWZpbmUgSEFWRV9MSUJOQ1VSU0VTIDEKKworLyogRGVmaW5lIGlmIG5jdXJzZXN3IGxpYnJhcnkgYXZhaWxhYmxlICovCisvKiAjdW5kZWYgSEFWRV9MSUJOQ1VSU0VTVyAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJlYWRsaW5lJyBsaWJyYXJ5ICgtbHJlYWRsaW5lKS4gKi8KKyNkZWZpbmUgSEFWRV9MSUJSRUFETElORSAxCisKKy8qIERlZmluZSBpZiBsaWJydGFzIGV4aXN0cyAqLworLyogI3VuZGVmIEhBVkVfTElCUlRBUyAqLworCisvKiBEZWZpbmUgaWYgU0VMaW51eCBpcyBhdmFpbGFibGUgKi8KKy8qICN1bmRlZiBIQVZFX0xJQlNFTElOVVggKi8KKworLyogRGVmaW5lIGlmIGxpYnN5c3RlbWQgaXMgYXZhaWxhYmxlICovCisvKiAjdW5kZWYgSEFWRV9MSUJTWVNURU1EICovCisKKy8qIERlZmluZSBpZiBsaWJ0aW5mbyBvciBsaWJ0aW5mb3cgYXZhaWxhYmxlLiAqLworI2RlZmluZSBIQVZFX0xJQlRJTkZPIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB1ZGV2JyBsaWJyYXJ5ICgtbHVkZXYpLiAqLworI2RlZmluZSBIQVZFX0xJQlVERVYgMQorCisvKiBEZWZpbmUgaWYgbGlidXNlciBpcyBhdmFpbGFibGUgKi8KKy8qICN1bmRlZiBIQVZFX0xJQlVTRVIgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB1dGVtcHRlcicgbGlicmFyeSAoLWx1dGVtcHRlcikuICovCisvKiAjdW5kZWYgSEFWRV9MSUJVVEVNUFRFUiAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHV0aWwnIGxpYnJhcnkgKC1sdXRpbCkuICovCisjZGVmaW5lIEhBVkVfTElCVVRJTCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGlidXRpbC5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX0xJQlVUSUxfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgLWx1dWlkLiAqLworI2RlZmluZSBIQVZFX0xJQlVVSUQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2Jsa3BnLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX0JMS1BHX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2Jsa3pvbmVkLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX0JMS1pPTkVEX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2J0cmZzLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX0JUUkZTX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2Nkcm9tLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX0NEUk9NX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2NvbXBpbGVyLmg+IGhlYWRlciBmaWxlLiAqLworLyogI3VuZGVmIEhBVkVfTElOVVhfQ09NUElMRVJfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L2ZhbGxvYy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9MSU5VWF9GQUxMT0NfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvZmQuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfTElOVVhfRkRfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvZnMuaD4gaGVhZGVyIGZpbGUuICovCisvKiAjdW5kZWYgSEFWRV9MSU5VWF9GU19IICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvZ3NtbXV4Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX0dTTU1VWF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaW51eC9tYWpvci5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9MSU5VWF9NQUpPUl9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaW51eC9uZXRfbmFtZXNwYWNlLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX05FVF9OQU1FU1BBQ0VfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvcmF3Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX1JBV19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxsaW51eC9zZWN1cmViaXRzLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX1NFQ1VSRUJJVFNfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvdGlvY2wuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfTElOVVhfVElPQ0xfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bGludXgvdmVyc2lvbi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9MSU5VWF9WRVJTSU9OX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPGxpbnV4L3dhdGNoZG9nLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xJTlVYX1dBVENIRE9HX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYGxsc2VlaycgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfTExTRUVLIDEKKworLyogRGVmaW5lIHRvIDEgaWYgaGF2ZSBsbHNlZWsgcHJvdG90eXBlICovCisvKiAjdW5kZWYgSEFWRV9MTFNFRUtfUFJPVE9UWVBFICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bG9jYWxlLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX0xPQ0FMRV9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgdGhlIHN5c3RlbSBoYXMgdGhlIHR5cGUgYGxvZmZfdCcuICovCisjZGVmaW5lIEhBVkVfTE9GRl9UIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBsc2VlazY0JyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9MU0VFSzY0IDEKKworLyogRGVmaW5lIHRvIDEgaWYgaGF2ZSBsc2VlazY0IHByb3RvdHlwZSAqLworI2RlZmluZSBIQVZFX0xTRUVLNjRfUFJPVE9UWVBFIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxtZW1vcnkuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfTUVNT1JZX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1lbXBjcHknIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX01FTVBDUFkgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYG1rb3N0ZW1wJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9NS09TVEVNUCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bW50ZW50Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX01OVEVOVF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBuYW5vc2xlZXAnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX05BTk9TTEVFUCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmN1cnNlc3cvbmN1cnNlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX05DVVJTRVNXX05DVVJTRVNfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5jdXJzZXN3L3Rlcm0uaD4gaGVhZGVyIGZpbGUuICovCisvKiAjdW5kZWYgSEFWRV9OQ1VSU0VTV19URVJNX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuY3Vyc2VzLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX05DVVJTRVNfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8bmN1cnNlcy9uY3Vyc2VzLmg+IGhlYWRlciBmaWxlLiAqLworLyogI3VuZGVmIEhBVkVfTkNVUlNFU19OQ1VSU0VTX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuY3Vyc2VzL3Rlcm0uaD4gaGVhZGVyIGZpbGUuICovCisvKiAjdW5kZWYgSEFWRV9OQ1VSU0VTX1RFUk1fSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5ldGluZXQvaW4uaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfTkVUSU5FVF9JTl9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxuZXQvaWZfZGwuaD4gaGVhZGVyIGZpbGUuICovCisvKiAjdW5kZWYgSEFWRV9ORVRfSUZfRExfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPG5ldC9pZi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9ORVRfSUZfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgbnRwX2dldHRpbWUnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX05UUF9HRVRUSU1FIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBvcGVuYXQnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX09QRU5BVCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgb3Blbl9tZW1zdHJlYW0nIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX09QRU5fTUVNU1RSRUFNIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxwYXRocy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9QQVRIU19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwZXJzb25hbGl0eScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfUEVSU09OQUxJVFkgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBvc2l4X2ZhZHZpc2UnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1BPU0lYX0ZBRFZJU0UgMQorCisvKiBIYXZlIHZhbGlkIHBvc2l4X2ZhbGxvY2F0ZSgpIGZ1bmN0aW9uICovCisjZGVmaW5lIEhBVkVfUE9TSVhfRkFMTE9DQVRFIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBwcmN0bCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfUFJDVEwgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHBybGltaXQnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1BSTElNSVQgMQorCisvKiBEZWZpbmUgaWYgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgaXMgZGVmaW5lZCAqLworI2RlZmluZSBIQVZFX1BST0dSQU1fSU5WT0NBVElPTl9TSE9SVF9OQU1FIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxwdHkuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfUFRZX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHFzb3J0X3InIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1FTT1JUX1IgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJlYm9vdCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfUkVCT09UIDEKKworLyogRGVmaW5lIGlmIGN1cnNlcyBsaWJyYXJ5IGhhcyB0aGUgcmVzaXpldGVybSgpLiAqLworI2RlZmluZSBIQVZFX1JFU0laRVRFUk0gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHJwbWF0Y2gnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1JQTUFUQ0ggMQorCisvKiBEZWZpbmUgaWYgc3RydWN0IHNvY2thZGRyIGNvbnRhaW5zIHNhX2xlbiAqLworLyogI3VuZGVmIEhBVkVfU0FfTEVOICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2NhbmRpcmF0JyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9TQ0FORElSQVQgMQorCisvKiBzY2FuZiAlYXMgbW9kaWZpZXIgKi8KKy8qICN1bmRlZiBIQVZFX1NDQU5GX0FTX01PRElGSUVSICovCisKKy8qIHNjYW5mICVtcyBtb2RpZmllciAqLworI2RlZmluZSBIQVZFX1NDQU5GX01TX01PRElGSUVSIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzY2hlZF9zZXRhdHRyJyBmdW5jdGlvbi4gKi8KKy8qICN1bmRlZiBIQVZFX1NDSEVEX1NFVEFUVFIgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzY2hlZF9zZXRzY2hlZHVsZXInIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NDSEVEX1NFVFNDSEVEVUxFUiAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2VjdXJlX2dldGVudicgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU0VDVVJFX0dFVEVOViAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2VjdXJpdHlfZ2V0X2luaXRpYWxfY29udGV4dCcgZnVuY3Rpb24uICovCisvKiAjdW5kZWYgSEFWRV9TRUNVUklUWV9HRVRfSU5JVElBTF9DT05URVhUICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c2VjdXJpdHkvb3BlbnBhbS5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1NFQ1VSSVRZX09QRU5QQU1fSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHNlY3VyaXR5L3BhbV9hcHBsLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NFQ1VSSVRZX1BBTV9BUFBMX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHNlY3VyaXR5L3BhbV9taXNjLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NFQ1VSSVRZX1BBTV9NSVNDX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHNldG5zJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9TRVROUyAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0cHJvZ25hbWUnIGZ1bmN0aW9uLiAqLworLyogI3VuZGVmIEhBVkVfU0VUUFJPR05BTUUgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBzZXRyZXNnaWQnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NFVFJFU0dJRCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2V0cmVzdWlkJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9TRVRSRVNVSUQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHNoYWRvdy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TSEFET1dfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGBzaWdoYW5kbGVyX3QnLiAqLworI2RlZmluZSBIQVZFX1NJR0hBTkRMRVJfVCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc2lncXVldWUnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NJR1FVRVVFIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzbGFuZy5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1NMQU5HX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzbGFuZy9zbGFuZy5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1NMQU5HX1NMQU5HX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzbGFuZy9zbGN1cnNlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1NMQU5HX1NMQ1VSU0VTX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzbGN1cnNlcy5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1NMQ1VSU0VTX0ggKi8KKworLyogQWRkIFNNQUNLIHN1cHBvcnQgKi8KKy8qICN1bmRlZiBIQVZFX1NNQUNLICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3JhbmRvbScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1JBTkRPTSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RkaW50Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NURElOVF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzdGRpb19leHQuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1RESU9fRVhUX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0ZGxpYi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVERMSUJfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3RyaW5ncy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVFJJTkdTX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN0cmluZy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TVFJJTkdfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RybmNocicgZnVuY3Rpb24uICovCisvKiAjdW5kZWYgSEFWRV9TVFJOQ0hSICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RybmR1cCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1RSTkRVUCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3RybmxlbicgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1RSTkxFTiAxCisKKy8qIERlZmluZSB0byAxIGlmIGhhdmUgc3Ryc2lnbmFsIGZ1bmN0aW9uIHByb3RvdHlwZSAqLworI2RlZmluZSBIQVZFX1NUUlNJR05BTF9ERUNMIDEKKworLyogRGVmaW5lIHRvIDEgaWYgYHN0X210aW0udHZfbnNlYycgaXMgYSBtZW1iZXIgb2YgYHN0cnVjdCBzdGF0Jy4gKi8KKyNkZWZpbmUgSEFWRV9TVFJVQ1RfU1RBVF9TVF9NVElNX1RWX05TRUMgMQorCisvKiBEZWZpbmUgdG8gMSBpZiBgY19saW5lJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHRlcm1pb3MnLiAqLworI2RlZmluZSBIQVZFX1NUUlVDVF9URVJNSU9TX0NfTElORSAxCisKKy8qIERlZmluZSB0byAxIGlmIGB0bV96b25lJyBpcyBhIG1lbWJlciBvZiBgc3RydWN0IHRtJy4gKi8KKyNkZWZpbmUgSEFWRV9TVFJVQ1RfVE1fVE1fWk9ORSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3dhcG9mZicgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfU1dBUE9GRiAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgc3dhcG9uJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9TV0FQT04gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN5c2NvbmYnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NZU0NPTkYgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHN5c2luZm8nIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1NZU0lORk8gMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9kaXNrbGFiZWwuaD4gaGVhZGVyIGZpbGUuICovCisvKiAjdW5kZWYgSEFWRV9TWVNfRElTS0xBQkVMX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvZGlzay5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1NZU19ESVNLX0ggKi8KKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvZW5kaWFuLmg+IGhlYWRlciBmaWxlLiAqLworLyogI3VuZGVmIEhBVkVfU1lTX0VORElBTl9IICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2ZpbGUuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX0ZJTEVfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2lvY2NvbS5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1NZU19JT0NDT01fSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9pb2N0bC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfSU9DVExfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL2lvLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19JT19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvbWtkZXYuaD4gaGVhZGVyIGZpbGUuICovCisvKiAjdW5kZWYgSEFWRV9TWVNfTUtERVZfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9tb3VudC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfTU9VTlRfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3BhcmFtLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19QQVJBTV9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvcHJjdGwuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1BSQ1RMX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9yZXNvdXJjZS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfUkVTT1VSQ0VfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3NpZ25hbGZkLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19TSUdOQUxGRF9IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvc29ja2V0Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19TT0NLRVRfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3NvY2tpby5oPiBoZWFkZXIgZmlsZS4gKi8KKy8qICN1bmRlZiBIQVZFX1NZU19TT0NLSU9fSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zdGF0Lmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19TVEFUX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zd2FwLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19TV0FQX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zeXNjYWxsLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19TWVNDQUxMX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy9zeXNtYWNyb3MuaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1NZU01BQ1JPU19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdGltZXguaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfU1lTX1RJTUVYX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90aW1lLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19USU1FX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy90dHlkZWZhdWx0cy5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfVFRZREVGQVVMVFNfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8c3lzL3R5cGVzLmg+IGhlYWRlciBmaWxlLiAqLworI2RlZmluZSBIQVZFX1NZU19UWVBFU19IIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIDxzeXMvdWNyZWQuaD4gaGVhZGVyIGZpbGUuICovCisvKiAjdW5kZWYgSEFWRV9TWVNfVUNSRURfSCAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHN5cy91bi5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9TWVNfVU5fSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dGVybS5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9URVJNX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHRpbWVnbScgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfVElNRUdNIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB0aW1lcl9jcmVhdGUnIGZ1bmN0aW9uLiAqLworLyogI3VuZGVmIEhBVkVfVElNRVJfQ1JFQVRFICovCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSB0YXJnZXQgc3VwcG9ydHMgdGhyZWFkLWxvY2FsIHN0b3JhZ2UuICovCisjZGVmaW5lIEhBVkVfVExTIDEKKworLyogRG9lcyBzdHJ1Y3QgdG0gaGF2ZSBhIGZpZWxkIHRtX2dtdG9mZj8gKi8KKyNkZWZpbmUgSEFWRV9UTV9HTVRPRkYgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3VyIGBzdHJ1Y3QgdG0nIGhhcyBgdG1fem9uZScuIERlcHJlY2F0ZWQsIHVzZQorICAgYEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUnIGluc3RlYWQuICovCisjZGVmaW5lIEhBVkVfVE1fWk9ORSAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBkb24ndCBoYXZlIGB0bV96b25lJyBidXQgZG8gaGF2ZSB0aGUgZXh0ZXJuYWwgYXJyYXkKKyAgIGB0em5hbWUnLiAqLworLyogI3VuZGVmIEhBVkVfVFpOQU1FICovCisKKy8qIERlZmluZSB0byAxIGlmIHRoZSBzeXN0ZW0gaGFzIHRoZSB0eXBlIGB1bmlvbiBzZW11bicuICovCisvKiAjdW5kZWYgSEFWRV9VTklPTl9TRU1VTiAqLworCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgPHVuaXN0ZC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9VTklTVERfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBgdW5saW5rYXQnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1VOTElOS0FUIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB1bnNoYXJlJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9VTlNIQVJFIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB1cGR3dG1weCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfVVBEV1RNUFggMQorCisvKiBEZWZpbmUgaWYgY3Vyc2VzIGxpYnJhcnkgaGFzIHRoZSB1c2VfZGVmYXVsdF9jb2xvcnMoKS4gKi8KKyNkZWZpbmUgSEFWRV9VU0VfREVGQVVMVF9DT0xPUlMgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHVzbGVlcCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfVVNMRUVQIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB1dGltZW5zYXQnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX1VUSU1FTlNBVCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dXRtcHguaD4gaGVhZGVyIGZpbGUuICovCisjZGVmaW5lIEhBVkVfVVRNUFhfSCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSA8dXRtcC5oPiBoZWFkZXIgZmlsZS4gKi8KKyNkZWZpbmUgSEFWRV9VVE1QX0ggMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3Ugd2FudCB0byB1c2UgdXVpZCBkYWVtb24uICovCisjZGVmaW5lIEhBVkVfVVVJREQgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYHZ3YXJueCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfVldBUk5YIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB3YXJuJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9XQVJOIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGB3YXJueCcgZnVuY3Rpb24uICovCisjZGVmaW5lIEhBVkVfV0FSTlggMQorCisvKiBEbyB3ZSBoYXZlIHdpZGUgY2hhcmFjdGVyIHN1cHBvcnQ/ICovCisjZGVmaW5lIEhBVkVfV0lERUNIQVIgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9fZnBlbmRpbmcnIGZ1bmN0aW9uLiAqLworI2RlZmluZSBIQVZFX19fRlBFTkRJTkcgMQorCisvKiBEZWZpbmUgdG8gMSBpZiB5b3UgaGF2ZSB0aGUgYF9fZnB1cmdlJyBmdW5jdGlvbi4gKi8KKyNkZWZpbmUgSEFWRV9fX0ZQVVJHRSAxCisKKy8qIERlZmluZSBpZiBfX3Byb2duYW1lIGlzIGRlZmluZWQgKi8KKyNkZWZpbmUgSEFWRV9fX1BST0dOQU1FIDEKKworLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBfX3NlY3VyZV9nZXRlbnYnIGZ1bmN0aW9uLiAqLworLyogI3VuZGVmIEhBVkVfX19TRUNVUkVfR0VURU5WICovCisKKy8qIGxpYmJsa2lkIGRhdGUgc3RyaW5nICovCisjZGVmaW5lIExJQkJMS0lEX0RBVEUgIjIxLU1hci0yMDE4IgorCisvKiBsaWJibGtpZCB2ZXJzaW9uIHN0cmluZyAqLworI2RlZmluZSBMSUJCTEtJRF9WRVJTSU9OICIyLjMyLjI5MSIKKworLyogbGliZmRpc2sgdmVyc2lvbiBzdHJpbmcgKi8KKyNkZWZpbmUgTElCRkRJU0tfVkVSU0lPTiAiMi4zMi4yOTEiCisKKy8qIGxpYm1vdW50IHZlcnNpb24gc3RyaW5nICovCisjZGVmaW5lIExJQk1PVU5UX1ZFUlNJT04gIjIuMzIuMjkxIgorCisvKiBsaWJzbWFydGNvbHMgdmVyc2lvbiBzdHJpbmcgKi8KKyNkZWZpbmUgTElCU01BUlRDT0xTX1ZFUlNJT04gIjIuMzIuMjkxIgorCisvKiBTaG91bGQgbG9naW4gY2hvd24gL2Rldi92Y3NOPyAqLworLyogI3VuZGVmIExPR0lOX0NIT1dOX1ZDUyAqLworCisvKiBTaG91bGQgbG9naW4gc3RhdCgpIHRoZSBtYWlsYm94PyAqLworLyogI3VuZGVmIExPR0lOX1NUQVRfTUFJTCAqLworCisvKiBEZWZpbmUgdG8gdGhlIHN1Yi1kaXJlY3Rvcnkgd2hlcmUgbGlidG9vbCBzdG9yZXMgdW5pbnN0YWxsZWQgbGlicmFyaWVzLiAqLworI2RlZmluZSBMVF9PQkpESVIgIi5saWJzLyIKKworLyogIk11bHRpLWFyY2ggdHJpcGxldCBmb3Igd2hlcmVpcyBsaWJyYXJ5IHNlYXJjaCBwYXRoIiAqLworI2RlZmluZSBNVUxUSUFSQ0hUUklQTEVUICJ4ODZfNjQtbGludXgtZ251IgorCisvKiBEZWZpbmUgdG8gMSBpZiBhc3NlcnRpb25zIHNob3VsZCBiZSBkaXNhYmxlZC4gKi8KKy8qICN1bmRlZiBOREVCVUcgKi8KKworLyogU2hvdWxkIGNoc2ggYWxsb3cgb25seSBzaGVsbHMgaW4gL2V0Yy9zaGVsbHM/ICovCisjZGVmaW5lIE9OTFlfTElTVEVEX1NIRUxMUyAxCisKKy8qIE5hbWUgb2YgcGFja2FnZSAqLworI2RlZmluZSBQQUNLQUdFICJ1dGlsLWxpbnV4IgorCisvKiBEZWZpbmUgdG8gdGhlIGFkZHJlc3Mgd2hlcmUgYnVnIHJlcG9ydHMgZm9yIHRoaXMgcGFja2FnZSBzaG91bGQgYmUgc2VudC4gKi8KKyNkZWZpbmUgUEFDS0FHRV9CVUdSRVBPUlQgImt6YWtAcmVkaGF0LmNvbSIKKworLyogRGVmaW5lIHRvIHRoZSBmdWxsIG5hbWUgb2YgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX05BTUUgInV0aWwtbGludXgiCisKKy8qIERlZmluZSB0byB0aGUgZnVsbCBuYW1lIGFuZCB2ZXJzaW9uIG9mIHRoaXMgcGFja2FnZS4gKi8KKyNkZWZpbmUgUEFDS0FHRV9TVFJJTkcgInV0aWwtbGludXggMi4zMi4yOTEtNzhjNiIKKworLyogRGVmaW5lIHRvIHRoZSBvbmUgc3ltYm9sIHNob3J0IG5hbWUgb2YgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX1RBUk5BTUUgInV0aWwtbGludXgiCisKKy8qIERlZmluZSB0byB0aGUgaG9tZSBwYWdlIGZvciB0aGlzIHBhY2thZ2UuICovCisjZGVmaW5lIFBBQ0tBR0VfVVJMICJodHRwOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvIgorCisvKiBEZWZpbmUgdG8gdGhlIHZlcnNpb24gb2YgdGhpcyBwYWNrYWdlLiAqLworI2RlZmluZSBQQUNLQUdFX1ZFUlNJT04gIjIuMzIuMjkxLTc4YzYiCisKKy8qIFNob3VsZCBwZyByaW5nIHRoZSBiZWxsIG9uIGludmFsaWQga2V5cz8gKi8KKyNkZWZpbmUgUEdfQkVMTCAxCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSBBTlNJIEMgaGVhZGVyIGZpbGVzLiAqLworI2RlZmluZSBTVERDX0hFQURFUlMgMQorCisvKiBGYWxsYmFjayBzeXNjYWxsIG51bWJlciBmb3IgZmFsbG9jYXRlICovCisvKiAjdW5kZWYgU1lTX2ZhbGxvY2F0ZSAqLworCisvKiBGYWxsYmFjayBzeXNjYWxsIG51bWJlciBmb3IgaW9wcmlvX2dldCAqLworLyogI3VuZGVmIFNZU19pb3ByaW9fZ2V0ICovCisKKy8qIEZhbGxiYWNrIHN5c2NhbGwgbnVtYmVyIGZvciBpb3ByaW9fc2V0ICovCisvKiAjdW5kZWYgU1lTX2lvcHJpb19zZXQgKi8KKworLyogRmFsbGJhY2sgc3lzY2FsbCBudW1iZXIgZm9yIHBpdm90X3Jvb3QgKi8KKy8qICN1bmRlZiBTWVNfcGl2b3Rfcm9vdCAqLworCisvKiBGYWxsYmFjayBzeXNjYWxsIG51bWJlciBmb3IgcHJsaW1pdDY0ICovCisvKiAjdW5kZWYgU1lTX3BybGltaXQ2NCAqLworCisvKiBGYWxsYmFjayBzeXNjYWxsIG51bWJlciBmb3Igc2NoZWRfZ2V0YWZmaW5pdHkgKi8KKy8qICN1bmRlZiBTWVNfc2NoZWRfZ2V0YWZmaW5pdHkgKi8KKworLyogRmFsbGJhY2sgc3lzY2FsbCBudW1iZXIgZm9yIHNjaGVkX3NldGF0dHIgKi8KKy8qICN1bmRlZiBTWVNfc2NoZWRfc2V0YXR0ciAqLworCisvKiBGYWxsYmFjayBzeXNjYWxsIG51bWJlciBmb3Igc2V0bnMgKi8KKy8qICN1bmRlZiBTWVNfc2V0bnMgKi8KKworLyogRmFsbGJhY2sgc3lzY2FsbCBudW1iZXIgZm9yIHN3YXBvZmYgKi8KKy8qICN1bmRlZiBTWVNfc3dhcG9mZiAqLworCisvKiBGYWxsYmFjayBzeXNjYWxsIG51bWJlciBmb3Igc3dhcG9uICovCisvKiAjdW5kZWYgU1lTX3N3YXBvbiAqLworCisvKiBGYWxsYmFjayBzeXNjYWxsIG51bWJlciBmb3IgdW5zaGFyZSAqLworLyogI3VuZGVmIFNZU191bnNoYXJlICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdXIgPHN5cy90aW1lLmg+IGRlY2xhcmVzIGBzdHJ1Y3QgdG0nLiAqLworLyogI3VuZGVmIFRNX0lOX1NZU19USU1FICovCisKKy8qIEVuYWJsZXMgY29sb3JpemVkIG91dHB1dCBmcm9tIHV0aWxzIGJ5IGRlZmF1bHQgKi8KKyNkZWZpbmUgVVNFX0NPTE9SU19CWV9ERUZBVUxUIDEKKworLyogRGVmaW5lIHRvIDEgaWYgd2FudCB0byBzdXBwb3J0IG10YWIuICovCisvKiAjdW5kZWYgVVNFX0xJQk1PVU5UX1NVUFBPUlRfTVRBQiAqLworCisvKiBFbmFibGUgcGx5bW91dGggc3VwcG9ydCBmZWF0dXJlIGZvciBzdWxvZ2luIGFuZCBhZ2dldHkgKi8KKyNkZWZpbmUgVVNFX1BMWU1PVVRIX1NVUFBPUlQgMQorCisvKiBTaG91bGQgc3Vsb2dpbiB1c2UgYSBlbWVyZ2VuY3kgbW91bnQgb2YgL2RldiBhbmQgL3Byb2M/ICovCisvKiAjdW5kZWYgVVNFX1NVTE9HSU5fRU1FUkdFTkNZX01PVU5UICovCisKKy8qIEVuYWJsZSBleHRlbnNpb25zIG9uIEFJWCAzLCBJbnRlcml4LiAgKi8KKyNpZm5kZWYgX0FMTF9TT1VSQ0UKKyMgZGVmaW5lIF9BTExfU09VUkNFIDEKKyNlbmRpZgorLyogRW5hYmxlIEdOVSBleHRlbnNpb25zIG9uIHN5c3RlbXMgdGhhdCBoYXZlIHRoZW0uICAqLworI2lmbmRlZiBfR05VX1NPVVJDRQorIyBkZWZpbmUgX0dOVV9TT1VSQ0UgMQorI2VuZGlmCisvKiBFbmFibGUgdGhyZWFkaW5nIGV4dGVuc2lvbnMgb24gU29sYXJpcy4gICovCisjaWZuZGVmIF9QT1NJWF9QVEhSRUFEX1NFTUFOVElDUworIyBkZWZpbmUgX1BPU0lYX1BUSFJFQURfU0VNQU5USUNTIDEKKyNlbmRpZgorLyogRW5hYmxlIGV4dGVuc2lvbnMgb24gSFAgTm9uU3RvcC4gICovCisjaWZuZGVmIF9UQU5ERU1fU09VUkNFCisjIGRlZmluZSBfVEFOREVNX1NPVVJDRSAxCisjZW5kaWYKKy8qIEVuYWJsZSBnZW5lcmFsIGV4dGVuc2lvbnMgb24gU29sYXJpcy4gICovCisjaWZuZGVmIF9fRVhURU5TSU9OU19fCisjIGRlZmluZSBfX0VYVEVOU0lPTlNfXyAxCisjZW5kaWYKKworCisvKiBTaG91bGQgd2FsbCBhbmQgd3JpdGUgYmUgaW5zdGFsbGVkIHNldGdpZCB0dHk/ICovCisjZGVmaW5lIFVTRV9UVFlfR1JPVVAgMQorCisvKiBEZWZpbmUgdG8gMSB0byByZW1vdmUgL2JpbiBhbmQgL3NiaW4gZnJvbSBQQVRIIGVudi52YXJpYWJsZSAqLworLyogI3VuZGVmIFVTRV9VU1JESVJfUEFUSFNfT05MWSAqLworCisvKiBWZXJzaW9uIG51bWJlciBvZiBwYWNrYWdlICovCisjZGVmaW5lIFZFUlNJT04gIjIuMzIuMjkxLTc4YzYiCisKKy8qIERlZmluZSBXT1JEU19CSUdFTkRJQU4gdG8gMSBpZiB5b3VyIHByb2Nlc3NvciBzdG9yZXMgd29yZHMgd2l0aCB0aGUgbW9zdAorICAgc2lnbmlmaWNhbnQgYnl0ZSBmaXJzdCAobGlrZSBNb3Rvcm9sYSBhbmQgU1BBUkMsIHVubGlrZSBJbnRlbCkuICovCisjaWYgZGVmaW5lZCBBQ19BUFBMRV9VTklWRVJTQUxfQlVJTEQKKyMgaWYgZGVmaW5lZCBfX0JJR19FTkRJQU5fXworIyAgZGVmaW5lIFdPUkRTX0JJR0VORElBTiAxCisjIGVuZGlmCisjZWxzZQorIyBpZm5kZWYgV09SRFNfQklHRU5ESUFOCisvKiAjICB1bmRlZiBXT1JEU19CSUdFTkRJQU4gKi8KKyMgZW5kaWYKKyNlbmRpZgorCisvKiBFbmFibGUgTUFQX0FOT04gaW4gc3lzL21tYW4uaCBvbiBNYWMgT1MgWCAqLworLyogI3VuZGVmIF9EQVJXSU5fQ19TT1VSQ0UgKi8KKworLyogRW5hYmxlIGxhcmdlIGlub2RlIG51bWJlcnMgb24gTWFjIE9TIFggMTAuNS4gICovCisjaWZuZGVmIF9EQVJXSU5fVVNFXzY0X0JJVF9JTk9ERQorIyBkZWZpbmUgX0RBUldJTl9VU0VfNjRfQklUX0lOT0RFIDEKKyNlbmRpZgorCisvKiBOdW1iZXIgb2YgYml0cyBpbiBhIGZpbGUgb2Zmc2V0LCBvbiBob3N0cyB3aGVyZSB0aGlzIGlzIHNldHRhYmxlLiAqLworLyogI3VuZGVmIF9GSUxFX09GRlNFVF9CSVRTICovCisKKy8qIERlZmluZSB0byAxIHRvIG1ha2UgZnNlZWtvIHZpc2libGUgb24gc29tZSBob3N0cyAoZS5nLiBnbGliYyAyLjIpLiAqLworLyogI3VuZGVmIF9MQVJHRUZJTEVfU09VUkNFICovCisKKy8qIERlZmluZSBmb3IgbGFyZ2UgZmlsZXMsIG9uIEFJWC1zdHlsZSBob3N0cy4gKi8KKy8qICN1bmRlZiBfTEFSR0VfRklMRVMgKi8KKworLyogRGVmaW5lIHRvIDEgaWYgb24gTUlOSVguICovCisvKiAjdW5kZWYgX01JTklYICovCisKKy8qIERlZmluZSB0byAyIGlmIHRoZSBzeXN0ZW0gZG9lcyBub3QgcHJvdmlkZSBQT1NJWC4xIGZlYXR1cmVzIGV4Y2VwdCB3aXRoCisgICB0aGlzIGRlZmluZWQuICovCisvKiAjdW5kZWYgX1BPU0lYXzFfU09VUkNFICovCisKKy8qIERlZmluZSB0byAxIGlmIHlvdSBuZWVkIHRvIGluIG9yZGVyIGZvciBgc3RhdCcgYW5kIG90aGVyIHRoaW5ncyB0byB3b3JrLiAqLworLyogI3VuZGVmIF9QT1NJWF9TT1VSQ0UgKi8KKworLyogRGVmaW5lIHRvIGVtcHR5IGlmIGBjb25zdCcgZG9lcyBub3QgY29uZm9ybSB0byBBTlNJIEMuICovCisvKiAjdW5kZWYgY29uc3QgKi8KKworLyogRGVmaW5lIHRvIGVtcHR5IGlmIHRoZSBrZXl3b3JkIGB2b2xhdGlsZScgZG9lcyBub3Qgd29yay4gV2FybmluZzogdmFsaWQKKyAgIGNvZGUgdXNpbmcgYHZvbGF0aWxlJyBjYW4gYmVjb21lIGluY29ycmVjdCB3aXRob3V0LiBEaXNhYmxlIHdpdGggY2FyZS4gKi8KKy8qICN1bmRlZiB2b2xhdGlsZSAqLwpkaWZmIC0tZ2l0IGEvY29uZmlnL2d0ay1kb2MubWFrZSBiL2NvbmZpZy9ndGstZG9jLm1ha2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRkYmQzNgotLS0gL2Rldi9udWxsCisrKyBiL2NvbmZpZy9ndGstZG9jLm1ha2UKQEAgLTAsMCArMSwyNDcgQEAKKyMKKyMgV0FSTklORzogdGhpcyBpcyBub3QgZ3RrLWRvYy5tYWtlIGZpbGUgZnJvbSBndGstZG9jIHByb2plY3QuIFRoaXMKKyMgICAgICAgICAgZmlsZSBoYXMgYmVlbiBtb2RpZmllZCB0byBtYXRjaCB3aXRoIHV0aWwtbGludXggcmVxdWlyZW1lbnRzOgorIworIyAgICAgICAgICAqIGluc3RhbGwgZmlsZXMgdG8gJGRhdGFkaXIKKyMgICAgICAgICAgKiBkb24ndCBtYWludGFpbiBnZW5lcmF0ZWQgZmlsZXMgaW4gZ2l0IHJlcG9zaXRvcnkKKyMgICAgICAgICAgKiBkb24ndCBkaXN0cmlidXRlIHRoZSBmaW5hbCBodG1sIGZpbGVzCisjICAgICAgICAgICogZG9uJ3QgcmVxdWlyZSAtLWVuYWJsZS1ndGstZG9jIGZvciAibWFrZSBkaXN0IgorIyAgICAgICAgICAqIHN1cHBvcnQgb3V0LW9mLXRyZWUgYnVpbGQgKCRzcmNkaXIgIT0gJGJ1aWxkZGlyKQorIworIyAtLSBremFrLCBOb3YgMjAwOQorIworCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMgRXZlcnl0aGluZyBiZWxvdyBoZXJlIGlzIGdlbmVyaWMgIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKK2lmIEdUS19ET0NfVVNFX0xJQlRPT0wKK0dUS0RPQ19DQyA9ICQoTElCVE9PTCkgLS10YWc9Q0MgLS1tb2RlPWNvbXBpbGUgJChDQykgJChJTkNMVURFUykgJChBTV9DUFBGTEFHUykgJChDUFBGTEFHUykgJChBTV9DRkxBR1MpICQoQ0ZMQUdTKQorR1RLRE9DX0xEID0gJChMSUJUT09MKSAtLXRhZz1DQyAtLW1vZGU9bGluayAkKENDKSAkKEFNX0NGTEFHUykgJChDRkxBR1MpICQoQU1fTERGTEFHUykgJChMREZMQUdTKQorR1RLRE9DX1JVTiA9ICQoTElCVE9PTCkgLS1tb2RlPWV4ZWN1dGUKK2Vsc2UKK0dUS0RPQ19DQyA9ICQoQ0MpICQoSU5DTFVERVMpICQoQU1fQ1BQRkxBR1MpICQoQ1BQRkxBR1MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykKK0dUS0RPQ19MRCA9ICQoQ0MpICQoQU1fQ0ZMQUdTKSAkKENGTEFHUykgJChBTV9MREZMQUdTKSAkKExERkxBR1MpCitHVEtET0NfUlVOID0KK2VuZGlmCisKKyMgV2Ugc2V0IEdQQVRIIGhlcmU7IHRoaXMgZ2l2ZXMgdXMgc2VtYW50aWNzIGZvciBHTlUgbWFrZQorIyB3aGljaCBhcmUgbW9yZSBsaWtlIG90aGVyIG1ha2UncyBWUEFUSCwgd2hlbiBpdCBjb21lcyB0bworIyB3aGV0aGVyIGEgc291cmNlIHRoYXQgaXMgYSB0YXJnZXQgb2Ygb25lIHJ1bGUgaXMgdGhlbgorIyBzZWFyY2hlZCBmb3IgaW4gVlBBVEgvR1BBVEguCisjCitHUEFUSCA9ICQoc3JjZGlyKQorCitUQVJHRVRfRElSPSQoZG9jZGlyKS8kKERPQ19NT0RVTEUpCisKK0RJU1RDTEVBTkZJTEVTID0KKworRVhUUkFfRElTVCA9IAkJCQlcCisJJChjb250ZW50X2ZpbGVzKQkJXAorCSQoSFRNTF9JTUFHRVMpCQkJXAorCSQoRE9DX01BSU5fU0dNTF9GSUxFKQkJXAorCSQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0CisjCSQoRE9DX01PRFVMRSktb3ZlcnJpZGVzLnR4dAorCitET0NfU1RBTVBTPXNjYW4tYnVpbGQuc3RhbXAgc2dtbC1idWlsZC5zdGFtcCBodG1sLWJ1aWxkLnN0YW1wIFwKKwkgICAkKHNyY2Rpcikvc2V0dXAuc3RhbXAgJChzcmNkaXIpL3NnbWwuc3RhbXAgXAorCSAgICQoc3JjZGlyKS9odG1sLnN0YW1wCisKK1NDQU5PQkpfRklMRVMgPSAJCSBcCisJJChET0NfTU9EVUxFKS5hcmdzIAkgXAorCSQoRE9DX01PRFVMRSkuaGllcmFyY2h5ICBcCisJJChET0NfTU9EVUxFKS5pbnRlcmZhY2VzIFwKKwkkKERPQ19NT0RVTEUpLnByZXJlcXVpc2l0ZXMgXAorCSQoRE9DX01PRFVMRSkuc2lnbmFscyAgICBcCisgICAgICAgICQoRE9DX01PRFVMRSkudHlwZXMgICAgICAgICAgICAjIHV0aWwtbGludXg6IHdlIGRvbid0IHVzZSB0eXBlcworCitSRVBPUlRfRklMRVMgPSBcCisJJChET0NfTU9EVUxFKS11bmRvY3VtZW50ZWQudHh0IFwKKwkkKERPQ19NT0RVTEUpLXVuZGVjbGFyZWQudHh0IFwKKwkkKERPQ19NT0RVTEUpLXVudXNlZC50eHQKKworQ0xFQU5GSUxFUyA9ICQoU0NBTk9CSl9GSUxFUykgJChSRVBPUlRfRklMRVMpICQoRE9DX1NUQU1QUykKKworaWYgRU5BQkxFX0dUS19ET0MKK2FsbC1sb2NhbDogaHRtbC1idWlsZC5zdGFtcAorZWxzZQorYWxsLWxvY2FsOgorZW5kaWYKKworZG9jczogaHRtbC1idWlsZC5zdGFtcAorCiskKFJFUE9SVF9GSUxFUyk6IHNnbWwtYnVpbGQuc3RhbXAKKworIyMjIyBzZXR1cCAjIyMjCisKK3NldHVwLWJ1aWxkLnN0YW1wOgorCS1AaWYgdGVzdCAiJChhYnNfc3JjZGlyKSIgIT0gIiQoYWJzX2J1aWxkZGlyKSIgOyB0aGVuIFwKKwkgICBlY2hvICdndGstZG9jOiBQcmVwYXJpbmcgYnVpbGQnOyBcCisJICAgZmlsZXM9YGVjaG8gJChFWFRSQV9ESVNUKSAkKGV4cGFuZF9jb250ZW50X2ZpbGVzKSAkKHNyY2RpcikvJChET0NfTU9EVUxFKS50eXBlc2A7IFwKKwkgICBpZiB0ZXN0ICJ4JCRmaWxlcyIgIT0gIngiIDsgdGhlbiBcCisJICAgICAgIGZvciBmaWxlIGluICQkZmlsZXMgOyBkbyBcCisJICAgICAgICAgICB0ZXN0IC1mICQoYWJzX3NyY2RpcikvJCRmaWxlICYmIFwKKwkgICAgICAgICAgICAgICBjcCAtcCAkKGFic19zcmNkaXIpLyQkZmlsZSAkKGFic19idWlsZGRpcikvOyBcCisJICAgICAgIGRvbmUgXAorCSAgIGZpIFwKKwlmaQorCUB0b3VjaCBzZXR1cC1idWlsZC5zdGFtcAorCisKK3NldHVwLnN0YW1wOiBzZXR1cC1idWlsZC5zdGFtcAorCUB0cnVlCisKKworIyMjIyBzY2FuICMjIyMKKworc2Nhbi1idWlsZC5zdGFtcDogJChIRklMRV9HTE9CKSAkKENGSUxFX0dMT0IpICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLSoudHh0ICQoY29udGVudF9maWxlcykKKworCUB0ZXN0IC1mICQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0IHx8IFwKKwkJY3AgJChzcmNkaXIpLyQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0ICQoYnVpbGRkaXIpCisKKwkkKEFNX1ZfR0VOKWd0a2RvYy1zY2FuIC0tbW9kdWxlPSQoRE9DX01PRFVMRSkgXAorCSAgICAgICAgICAgIC0tc291cmNlLWRpcj0kKHNyY2RpcikvJChET0NfU09VUkNFX0RJUikgXAorCSAgICAgICAgICAgIC0tc291cmNlLWRpcj0kKGJ1aWxkZGlyKS8kKERPQ19TT1VSQ0VfRElSKSBcCisgICAgICAgICAgICAgICAgICAgIC0taWdub3JlLWRlY29yYXRvcnM9Il9fdWxfYXR0cmlidXRlX19cKC4qXCkiIFwKKwkgICAgICAgICAgICAtLWlnbm9yZS1oZWFkZXJzPSIkKElHTk9SRV9IRklMRVMpIiBcCisJICAgICAgICAgICAgLS1vdXRwdXQtZGlyPSQoYnVpbGRkaXIpIFwKKwkgICAgICAgICAgICAkKFNDQU5fT1BUSU9OUykgJChFWFRSQV9IRklMRVMpCisKKwlAIGlmIGdyZXAgLWwgJ14uLiokJCcgJChzcmNkaXIpLyQoRE9DX01PRFVMRSkudHlwZXMgPiAvZGV2L251bGwgMj4mMSA7IHRoZW4gXAorCSAgICBDQz0iJChHVEtET0NfQ0MpIiBMRD0iJChHVEtET0NfTEQpIiBSVU49IiQoR1RLRE9DX1JVTikiIFwKKwkgICAgQ0ZMQUdTPSIkKEdUS0RPQ19DRkxBR1MpICQoQ0ZMQUdTKSIgTERGTEFHUz0iJChHVEtET0NfTElCUykgXAorICAgICAgICAgICAgJChMREZMQUdTKSIgZ3RrZG9jLXNjYW5nb2JqICQoU0NBTkdPQkpfT1BUSU9OUykgXAorCQkJLS1tb2R1bGU9JChET0NfTU9EVUxFKSAtLW91dHB1dC1kaXI9JChidWlsZGRpcikgOyBcCisJZWxzZSBcCisJICAgIGZvciBpIGluICQoU0NBTk9CSl9GSUxFUykgOyBkbyBcCisgICAgICAgICAgICAgICB0ZXN0IC1mICQkaSB8fCB0b3VjaCAkJGkgOyBcCisJICAgIGRvbmUgXAorCWZpCisJQCB0b3VjaCBzY2FuLWJ1aWxkLnN0YW1wCisKKyQoRE9DX01PRFVMRSktZGVjbC50eHQgJChTQ0FOT0JKX0ZJTEVTKSAkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKERPQ19NT0RVTEUpLW92ZXJyaWRlcy50eHQ6IHNjYW4tYnVpbGQuc3RhbXAKKwlAdHJ1ZQorCisjIyMjIHRlbXBsYXRlcyAjIyMjCisjCisjdG1wbC1idWlsZC5zdGFtcDogJChET0NfTU9EVUxFKS1kZWNsLnR4dCAkKFNDQU5PQkpfRklMRVMpICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKERPQ19NT0RVTEUpLW92ZXJyaWRlcy50eHQKKyMJQGVjaG8gJ2d0ay1kb2M6IFJlYnVpbGRpbmcgdGVtcGxhdGUgZmlsZXMnCisjCXRlc3QgLXogJChidWlsZGRpcikvdG1wbCB8fCAkKE1LRElSX1ApICQoYnVpbGRkaXIpL3RtcGwKKyMJZ3RrZG9jLW1rdG1wbCAtLW1vZHVsZT0kKERPQ19NT0RVTEUpIFwKKyMJICAgICAgICAgICAgICAkKE1LVE1QTF9PUFRJT05TKQorIwl0b3VjaCB0bXBsLWJ1aWxkLnN0YW1wCisjCisjdG1wbC5zdGFtcDogdG1wbC1idWlsZC5zdGFtcAorIwlAdHJ1ZQorIworI3RtcGwvKi5zZ21sOgorIwlAdHJ1ZQorIworCisjIyMjIHhtbCAjIyMjCisKK3NnbWwtYnVpbGQuc3RhbXA6IHNldHVwLnN0YW1wICQoSEZJTEVfR0xPQikgJChDRklMRV9HTE9CKSAkKERPQ19NT0RVTEUpLWRlY2wudHh0ICAkKERPQ19NT0RVTEUpLXNlY3Rpb25zLnR4dCAkKGV4cGFuZF9jb250ZW50X2ZpbGVzKQorCSQoQU1fVl9HRU4pZ3RrZG9jLW1rZGIgLS1tb2R1bGU9JChET0NfTU9EVUxFKSBcCisJICAgICAgICAgICAgLS1zb3VyY2UtZGlyPSQoc3JjZGlyKS8kKERPQ19TT1VSQ0VfRElSKSBcCisJICAgICAgICAgICAgLS1zb3VyY2UtZGlyPSQoYnVpbGRkaXIpLyQoRE9DX1NPVVJDRV9ESVIpIFwKKwkgICAgICAgICAgICAtLW91dHB1dC1mb3JtYXQ9eG1sIFwKKwkgICAgICAgICAgICAtLWlnbm9yZS1maWxlcz0iJChJR05PUkVfSEZJTEVTKSIgXAorCSAgICAgICAgICAgIC0tZXhwYW5kLWNvbnRlbnQtZmlsZXM9IiQoZXhwYW5kX2NvbnRlbnRfZmlsZXMpIiBcCisJICAgICAgICAgICAgLS1tYWluLXNnbWwtZmlsZT0kKHNyY2RpcikvJChET0NfTUFJTl9TR01MX0ZJTEUpIFwKKwkgICAgICAgICAgICAkKE1LREJfT1BUSU9OUykKKwlAdG91Y2ggc2dtbC1idWlsZC5zdGFtcAorCitzZ21sLnN0YW1wOiBzZ21sLWJ1aWxkLnN0YW1wCisJQHRydWUKKworIyMjIyBodG1sICMjIyMKKworaHRtbC1idWlsZC5zdGFtcDogc2dtbC5zdGFtcCAkKHNyY2RpcikvJChET0NfTUFJTl9TR01MX0ZJTEUpICQoY29udGVudF9maWxlcykKKwlAcm0gLXJmICQoYnVpbGRkaXIpL2h0bWwKKwlAJChNS0RJUl9QKSAkKGJ1aWxkZGlyKS9odG1sCisJJChBTV9WX0dFTiljZCAkKGJ1aWxkZGlyKS9odG1sICYmIFwKKwkgIGd0a2RvYy1ta2h0bWwgLS1wYXRoPSIkKGFic19idWlsZGRpcik6JChhYnNfYnVpbGRkaXIpL3htbDokKGFic19zcmNkaXIpIiBcCisJICAgICAgICAgICAgICAgICQoTUtIVE1MX09QVElPTlMpIFwKKwkgICAgICAgICAgICAgICAgJChET0NfTU9EVUxFKSBcCisJICAgICAgICAgICAgICAgICQoYWJzX3NyY2RpcikvJChET0NfTUFJTl9TR01MX0ZJTEUpCisKKwlAdGVzdCAieCQoSFRNTF9JTUFHRVMpIiA9ICJ4IiB8fCBcCisJCSggY2QgJChzcmNkaXIpICYmIGNwICQoSFRNTF9JTUFHRVMpICQoYWJzX2J1aWxkZGlyKS9odG1sICkKKworCSQoQU1fVl9HRU4pZ3RrZG9jLWZpeHhyZWYgLS1tb2R1bGUtZGlyPWh0bWwgXAorCQkgICAgICAgLS1tb2R1bGU9JChET0NfTU9EVUxFKSBcCisJICAgICAgICAgICAgICAgLS1odG1sLWRpcj0kKEhUTUxfRElSKSBcCisJICAgICAgICAgICAgICAgJChGSVhYUkVGX09QVElPTlMpCisJQHRvdWNoIGh0bWwtYnVpbGQuc3RhbXAKKworIyMjIyMjIyMjIyMjIyMKKworY2xlYW4tbG9jYWw6CisJcm0gLWYgKn4gKi5iYWsKKwlybSAtcmYgLmxpYnMKKworZGlzdGNsZWFuLWxvY2FsOgorCXJtIC1yZiB4bWwgaHRtbCAkKFJFUE9SVF9GSUxFUykgKi5zdGFtcCBcCisJICAgICAgICQoRE9DX01PRFVMRSktb3ZlcnJpZGVzLnR4dCBcCisJICAgICAgICQoRE9DX01PRFVMRSktZGVjbC1saXN0LnR4dCAkKERPQ19NT0RVTEUpLWRlY2wudHh0CisJdGVzdCAkKGFic19idWlsZGRpcikgPT0gICQoYWJzX3NyY2RpcikgfHwgXAorCSAgICAgICBybSAtZiAkKERPQ19NT0RVTEUpLSoudHh0ICQoRE9DX01PRFVMRSktKi54bWwgKi54bWwuaW4KKworaW5zdGFsbC1kYXRhLWxvY2FsOgorCWluc3RhbGxmaWxlcz1gZWNobyAkKGJ1aWxkZGlyKS9odG1sLypgOyBcCisJaWYgdGVzdCAiJCRpbnN0YWxsZmlsZXMiID0gJyQoYnVpbGRkaXIpL2h0bWwvKic7IFwKKwl0aGVuIGVjaG8gJy0tIE5vdGhpbmcgdG8gaW5zdGFsbCcgOyBcCisJZWxzZSBcCisJICBpZiB0ZXN0IC1uICIkKERPQ19NT0RVTEVfVkVSU0lPTikiOyB0aGVuIFwKKwkgICAgaW5zdGFsbGRpcj0iJChERVNURElSKSQoVEFSR0VUX0RJUiktJChET0NfTU9EVUxFX1ZFUlNJT04pIjsgXAorCSAgZWxzZSBcCisJICAgIGluc3RhbGxkaXI9IiQoREVTVERJUikkKFRBUkdFVF9ESVIpIjsgXAorCSAgZmk7IFwKKwkgICQobWtpbnN0YWxsZGlycykgJCR7aW5zdGFsbGRpcn0gOyBcCisJICBmb3IgaSBpbiAkJGluc3RhbGxmaWxlczsgZG8gXAorCSAgICBlY2hvICctLSBJbnN0YWxsaW5nICckJGkgOyBcCisJICAgICQoSU5TVEFMTF9EQVRBKSAkJGkgJCR7aW5zdGFsbGRpcn07IFwKKwkgIGRvbmU7IFwKKwkgIGlmIHRlc3QgLW4gIiQoRE9DX01PRFVMRV9WRVJTSU9OKSI7IHRoZW4gXAorCSAgICBtdiAtZiAkJHtpbnN0YWxsZGlyfS8kKERPQ19NT0RVTEUpLmRldmhlbHAyIFwKKwkgICAgICAkJHtpbnN0YWxsZGlyfS8kKERPQ19NT0RVTEUpLSQoRE9DX01PRFVMRV9WRVJTSU9OKS5kZXZoZWxwMjsgXAorCSAgICBtdiAtZiAkJHtpbnN0YWxsZGlyfS8kKERPQ19NT0RVTEUpLmRldmhlbHAgXAorCSAgICAgICQke2luc3RhbGxkaXJ9LyQoRE9DX01PRFVMRSktJChET0NfTU9EVUxFX1ZFUlNJT04pLmRldmhlbHA7IFwKKwkgIGZpOyBcCisJICAhIHdoaWNoIGd0a2RvYy1yZWJhc2UgPi9kZXYvbnVsbCAyPiYxIHx8IFwKKwkgICAgZ3RrZG9jLXJlYmFzZSAtLXJlbGF0aXZlIC0tZGVzdC1kaXI9JChERVNURElSKSAtLWh0bWwtZGlyPSQke2luc3RhbGxkaXJ9IDsgXAorCWZpCisKK3VuaW5zdGFsbC1sb2NhbDoKKwlpZiB0ZXN0IC1uICIkKERPQ19NT0RVTEVfVkVSU0lPTikiOyB0aGVuIFwKKwkgIGluc3RhbGxkaXI9IiQoREVTVERJUikkKFRBUkdFVF9ESVIpLSQoRE9DX01PRFVMRV9WRVJTSU9OKSI7IFwKKwllbHNlIFwKKwkgIGluc3RhbGxkaXI9IiQoREVTVERJUikkKFRBUkdFVF9ESVIpIjsgXAorCWZpOyBcCisJcm0gLXJmICQke2luc3RhbGxkaXJ9CisKKyMKKyMgUmVxdWlyZSBndGstZG9jIHdoZW4gbWFraW5nIGRpc3QKKyMKK2lmIEVOQUJMRV9HVEtfRE9DCitkaXN0LWNoZWNrLWd0a2RvYzoKK2Vsc2UKK2Rpc3QtY2hlY2stZ3RrZG9jOgorCUBlY2hvICIqKiogZ3RrLWRvYyBtdXN0IGJlIGluc3RhbGxlZCBhbmQgZW5hYmxlZCBpbiBvcmRlciB0byBtYWtlIGRpc3QiCisJQGZhbHNlCitlbmRpZgorCisjZGlzdC1ob29rOiBkaXN0LWNoZWNrLWd0a2RvYyBkaXN0LWhvb2stbG9jYWwgc2dtbC5zdGFtcCBodG1sLWJ1aWxkLnN0YW1wCisjCW1rZGlyICQoZGlzdGRpcikvdG1wbAorIwlta2RpciAkKGRpc3RkaXIpL3htbAorIwlta2RpciAkKGRpc3RkaXIpL2h0bWwKKyMJLWNwICQoc3JjZGlyKS90bXBsLyouc2dtbCAkKGRpc3RkaXIpL3RtcGwKKyMJLWNwICQoc3JjZGlyKS94bWwvKi54bWwgJChkaXN0ZGlyKS94bWwKKyMJY3AgJChzcmNkaXIpL2h0bWwvKiAkKGRpc3RkaXIpL2h0bWwKKyMJLWNwICQoc3JjZGlyKS8kKERPQ19NT0RVTEUpLnR5cGVzICQoZGlzdGRpcikvCisjCS1jcCAkKHNyY2RpcikvJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQgJChkaXN0ZGlyKS8KKyMJY2QgJChkaXN0ZGlyKSAmJiBybSAtZiAkKERJU1RDTEVBTkZJTEVTKQorIwkhIHdoaWNoIGd0a2RvYy1yZWJhc2UgPi9kZXYvbnVsbCAyPiYxIHx8IFwKKyMJICBndGtkb2MtcmViYXNlIC0tb25saW5lIC0tcmVsYXRpdmUgLS1odG1sLWRpcj0kKGRpc3RkaXIpL2h0bWwKKyMKKyMuUEhPTlkgOiBkaXN0LWhvb2stbG9jYWwgZG9jcwpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MWNhNzYKLS0tIC9kZXYvbnVsbAorKysgYi9jb25maWd1cmUuYWMKQEAgLTAsMCArMSwyNDI1IEBACitBQ19JTklUKFt1dGlsLWxpbnV4XSwKKwltNF9lc3lzY21kKFt0b29scy9naXQtdmVyc2lvbi1nZW4gLnRhcmJhbGwtdmVyc2lvbl0pLAorCVtremFrQHJlZGhhdC5jb21dLCwKKwlbaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4L10pCisKKworQUNfUFJFUkVRKFsyLjYwXSkKKworQUNfQ09ORklHX0FVWF9ESVIoW2NvbmZpZ10pCitBQ19DT05GSUdfTUFDUk9fRElSKFttNF0pCitkbmwgQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TIG11c3QgYmUgY2FsbGVkIGJlZm9yZSBhbnkgbWFjcm9zIHRoYXQgcnVuCitkbmwgdGhlIGNvbXBpbGVyIChsaWtlIEFDX1BST0dfTElCVE9PTCkgdG8gYXZvaWQgYXV0b2NvbmYgZXJyb3JzLgorQUNfVVNFX1NZU1RFTV9FWFRFTlNJT05TCitBTV9JTklUX0FVVE9NQUtFKFstV2FsbCBmb3JlaWduIDEuMTAgdGFyLXBheCBuby1kaXN0LWd6aXAgZGlzdC14eiBzdWJkaXItb2JqZWN0c10pCisKK200X2lmZGVmKFtBTV9TSUxFTlRfUlVMRVNdLCBbQU1fU0lMRU5UX1JVTEVTKFt5ZXNdKV0sCisJCQkgICAgW0FDX1NVQlNUKFtBTV9ERUZBVUxUX1ZFUkJPU0lUWV0sIFsxXSldKQorbTRfaWZkZWYoW0FNX1BST0dfQVJdLCBbQU1fUFJPR19BUl0pCisKK0FDX0NPTkZJR19TUkNESVIoW3N5cy11dGlscy9tb3VudC5jXSkKK0FDX1BSRUZJWF9ERUZBVUxUKFsvdXNyXSkKKworZG5sIHZlcnNpb24gZGV0YWlscyBmcm9tIDxtYWpvcj4uPG1pbm9yPlstPHN1ZmZpeD5dCitQQUNLQUdFX1ZFUlNJT05fTUFKT1I9JChlY2hvICRQQUNLQUdFX1ZFUlNJT04gfCBhd2sgLUYuICd7cHJpbnQgJDF9JykKK1BBQ0tBR0VfVkVSU0lPTl9NSU5PUj0kKGVjaG8gJFBBQ0tBR0VfVkVSU0lPTiB8IGF3ayAtRi4gJ3sKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1YigiLS4qIiwiIiwkMik7IHByaW50ICQyfScpCitQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRT0kKGVjaG8gJFBBQ0tBR0VfVkVSU0lPTiB8IGF3ayAtRi4gJ3sKKyAgICAgICAgICAgICAgICAgICAgIHN1YigiLS4qIiwiIiwkMyk7IHByaW50ICQzIH4gL15APDpAMC05QDo+QCskLyA/ICQzIDogMH0nKQorCitkbmwgbGliYmxraWQgdmVyc2lvbgorTElCQkxLSURfVkVSU0lPTj0iJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUi4kUEFDS0FHRV9WRVJTSU9OX01JTk9SLiRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSIKK0xJQkJMS0lEX0RBVEU9IjIxLU1hci0yMDE4IgorTElCQkxLSURfTFRfTUFKT1I9MQorTElCQkxLSURfTFRfTUlOT1I9MQorTElCQkxLSURfTFRfTUlDUk89MAorTElCQkxLSURfVkVSU0lPTl9JTkZPPWBleHByICRMSUJCTEtJRF9MVF9NQUpPUiArICRMSUJCTEtJRF9MVF9NSU5PUmA6JExJQkJMS0lEX0xUX01JQ1JPOiRMSUJCTEtJRF9MVF9NSU5PUgorCitkbmwgbGlidXVpZCB2ZXJzaW9uCitMSUJVVUlEX1ZFUlNJT049IiRQQUNLQUdFX1ZFUlNJT05fTUFKT1IuJFBBQ0tBR0VfVkVSU0lPTl9NSU5PUi4kUEFDS0FHRV9WRVJTSU9OX1JFTEVBU0UiCitMSUJVVUlEX0xUX01BSk9SPTEKK0xJQlVVSURfTFRfTUlOT1I9MworTElCVVVJRF9MVF9NSUNSTz0wCitMSUJVVUlEX1ZFUlNJT05fSU5GTz1gZXhwciAkTElCVVVJRF9MVF9NQUpPUiArICRMSUJVVUlEX0xUX01JTk9SYDokTElCVVVJRF9MVF9NSUNSTzokTElCVVVJRF9MVF9NSU5PUgorCitkbmwgbGlibW91bnQgdmVyc2lvbgorTElCTU9VTlRfVkVSU0lPTj0iJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUi4kUEFDS0FHRV9WRVJTSU9OX01JTk9SLiRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSIKK0xJQk1PVU5UX0xUX01BSk9SPTEKK0xJQk1PVU5UX0xUX01JTk9SPTEKK0xJQk1PVU5UX0xUX01JQ1JPPTAKK0xJQk1PVU5UX1ZFUlNJT05fSU5GTz1gZXhwciAkTElCTU9VTlRfTFRfTUFKT1IgKyAkTElCTU9VTlRfTFRfTUlOT1JgOiRMSUJNT1VOVF9MVF9NSUNSTzokTElCTU9VTlRfTFRfTUlOT1IKKworZG5sIGxpYnNtYXJ0Y29scyB2ZXJzaW9uCitMSUJTTUFSVENPTFNfVkVSU0lPTj0iJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUi4kUEFDS0FHRV9WRVJTSU9OX01JTk9SLiRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSIKK0xJQlNNQVJUQ09MU19MVF9NQUpPUj0xCitMSUJTTUFSVENPTFNfTFRfTUlOT1I9MQorTElCU01BUlRDT0xTX0xUX01JQ1JPPTAKK0xJQlNNQVJUQ09MU19WRVJTSU9OX0lORk89YGV4cHIgJExJQlNNQVJUQ09MU19MVF9NQUpPUiArICRMSUJTTUFSVENPTFNfTFRfTUlOT1JgOiRMSUJTTUFSVENPTFNfTFRfTUlDUk86JExJQlNNQVJUQ09MU19MVF9NSU5PUgorCitkbmwgbGliZmRpc2sgdmVyc2lvbgorTElCRkRJU0tfVkVSU0lPTj0iJFBBQ0tBR0VfVkVSU0lPTl9NQUpPUi4kUEFDS0FHRV9WRVJTSU9OX01JTk9SLiRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSIKK0xJQkZESVNLX0xUX01BSk9SPTEKK0xJQkZESVNLX0xUX01JTk9SPTEKK0xJQkZESVNLX0xUX01JQ1JPPTAKK0xJQkZESVNLX1ZFUlNJT05fSU5GTz1gZXhwciAkTElCRkRJU0tfTFRfTUFKT1IgKyAkTElCRkRJU0tfTFRfTUlOT1JgOiRMSUJGRElTS19MVF9NSUNSTzokTElCRkRJU0tfTFRfTUlOT1IKKworIyBDaGVjayB3aGV0aGVyIGV4ZWNfcHJlZml4PS91c3I6CitBU19DQVNFKFskZXhlY19wcmVmaXg6JHByZWZpeF0sCitbTk9ORTpOT05FIHwgTk9ORTovdXNyIHwgL3VzcjoqXSwKKyAgW0FDX01TR19OT1RJQ0UoW0RlZmF1bHQgLS1leGVjLXByZWZpeCBkZXRlY3RlZC5dKQorICAgQVNfQ0FTRShbJGJpbmRpcl0sICBbJyR7ZXhlY19wcmVmaXh9L2JpbiddLCAgW2JpbmRpcj0vYmluOyAgIEFDX01TR19OT1RJQ0UoWyAgLS1iaW5kaXIgZGVmYXVsdHMgdG8gL2Jpbl0pICBdKQorICAgQVNfQ0FTRShbJHNiaW5kaXJdLCBbJyR7ZXhlY19wcmVmaXh9L3NiaW4nXSwgW3NiaW5kaXI9L3NiaW47IEFDX01TR19OT1RJQ0UoWyAgLS1zYmluZGlyIGRlZmF1bHRzIHRvIC9zYmluXSldKQorICAgQVNfQ0FTRShbJGxpYmRpcl0sICBbJyR7ZXhlY19wcmVmaXh9L2xpYiddLCAgW2xpYmRpcj0vbGliOyAgIEFDX01TR19OT1RJQ0UoWyAgLS1saWJkaXIgZGVmYXVsdHMgdG8gL2xpYl0pICBdKQorICBdCispCisKKworIyBkZWZhdWx0IGZvciBvbGQgdmVyc2lvbnMgd2l0aG91dCAkcnVuc3RhdGVkaXIKK0FTX0lGKFt0ZXN0IHgiJHJ1bnN0YXRlZGlyIiA9IHhdLCBbcnVuc3RhdGVkaXI9JyR7bG9jYWxzdGF0ZWRpcn0vcnVuJ10pCisKKyMgb3VyIGRlZmF1bHQgaWYgJGxvY2Fsc3RhdGVkaXIgdW5jaGFuZ2VkCitBU19DQVNFKFskbG9jYWxzdGF0ZWRpcjokcnVuc3RhdGVkaXJdLAorIFtOT05FOicke2xvY2Fsc3RhdGVkaXJ9L3J1bicgfCAvdmFyOicke2xvY2Fsc3RhdGVkaXJ9L3J1bicgfCBOT05FOicvcnVuJyBdLAorICAgW3J1bnN0YXRlZGlyPS9ydW47IEFDX01TR19OT1RJQ0UoWyAgLS1ydW5zdGF0ZWRpciBkZWZhdWx0cyB0byAvcnVuXSldCispCisKK0FDX1NVQlNUKFtydW5zdGF0ZWRpcl0pCisKKworIyBUaGUgb3JpZ2luYWwgZGVmYXVsdCB2YWx1ZXMgb2Yge2JpbixzYmluLGxpYn1kaXIKK3VzcmJpbl9leGVjZGlyPScke2V4ZWNfcHJlZml4fS9iaW4nCitBQ19TVUJTVChbdXNyYmluX2V4ZWNkaXJdKQorCit1c3JzYmluX2V4ZWNkaXI9JyR7ZXhlY19wcmVmaXh9L3NiaW4nCitBQ19TVUJTVChbdXNyc2Jpbl9leGVjZGlyXSkKKworQVNfQ0FTRShbJGxpYmRpcl0sCisgWycke2V4ZWNfcHJlZml4fS8nKiB8ICcke3ByZWZpeH0vJyogfCAvdXNyLyogfCAiJHtwcmVmaXh9Ii8qIF0sCisgICBbdXNybGliX2V4ZWNkaXI9JGxpYmRpcl0sCisgW3VzcmxpYl9leGVjZGlyPScke2V4ZWNfcHJlZml4fSckbGliZGlyXQorKQorQUNfU1VCU1QoW3VzcmxpYl9leGVjZGlyXSkKKworCitBTV9QUk9HX0NDX0NfTworQUNfUFJPR19NS0RJUl9QCitBQ19QUk9HX0NDX1NUREMKK0FDX1BST0dfWUFDQworQUNfQ0FOT05JQ0FMX0hPU1QKK0FDX0NfQ09OU1QKK0FDX0NfVk9MQVRJTEUKK0FDX0NfQklHRU5ESUFOCisKK2RubCBDb21waWxlciB3YXJuaW5ncworVUxfV0FSTl9BREQoWy1mbm8tY29tbW9uXSkKK1VMX1dBUk5fQUREKFstV2FsbF0pCitVTF9XQVJOX0FERChbLVdlcnJvcj1zZXF1ZW5jZS1wb2ludF0pCitVTF9XQVJOX0FERChbLVdleHRyYV0pCitVTF9XQVJOX0FERChbLVdleHRyYS1zZW1pXSkKK1VMX1dBUk5fQUREKFstV2VtYmVkZGVkLWRpcmVjdGl2ZV0pCitVTF9XQVJOX0FERChbLVdtaXNzaW5nLWRlY2xhcmF0aW9uc10pCitVTF9XQVJOX0FERChbLVdtaXNzaW5nLXBhcmFtZXRlci10eXBlXSkKK1VMX1dBUk5fQUREKFstV21pc3NpbmctcHJvdG90eXBlc10pCitVTF9XQVJOX0FERChbLVduby1taXNzaW5nLWZpZWxkLWluaXRpYWxpemVyc10pCitVTF9XQVJOX0FERChbLVdyZWR1bmRhbnQtZGVjbHNdKQorVUxfV0FSTl9BREQoWy1Xc2lnbi1jb21wYXJlXSkKK1VMX1dBUk5fQUREKFstV3R5cGUtbGltaXRzXSkKK1VMX1dBUk5fQUREKFstV3VuaW5pdGlhbGl6ZWRdKQorVUxfV0FSTl9BREQoWy1XdW51c2VkLWJ1dC1zZXQtcGFyYW1ldGVyXSkKK1VMX1dBUk5fQUREKFstV3VudXNlZC1idXQtc2V0LXZhcmlhYmxlXSkKK1VMX1dBUk5fQUREKFstV3VudXNlZC1wYXJhbWV0ZXJdKQorVUxfV0FSTl9BREQoWy1XdW51c2VkLXJlc3VsdF0pCitVTF9XQVJOX0FERChbLVd1bnVzZWQtdmFyaWFibGVdKQorVUxfV0FSTl9BREQoWy1XbmVzdGVkLWV4dGVybnNdKQorVUxfV0FSTl9BREQoWy1XcG9pbnRlci1hcml0aF0pCitVTF9XQVJOX0FERChbLVdzdHJpY3QtcHJvdG90eXBlc10pCitVTF9XQVJOX0FERChbLVdmb3JtYXQtc2VjdXJpdHldKQorVUxfV0FSTl9BREQoWy1XaW1wbGljaXQtZnVuY3Rpb24tZGVjbGFyYXRpb25dKQorVUxfV0FSTl9BREQoWy1XZGlzY2FyZGVkLXF1YWxpZmllcnNdKQorQUNfU1VCU1QoW1dBUk5fQ0ZMQUdTXSkKKworVUxfV0FSTl9BREQoWy1Xbm8tY2xvYmJlcmVkXSwgW0JTRF9XQVJOX0NGTEFHU10pCitBQ19TVUJTVChbQlNEX1dBUk5fQ0ZMQUdTXSkKKworVUxfV0FSTl9BREQoWy1Xbm8tY2FzdC1mdW5jdGlvbi10eXBlXSwgW1BZVEhPTl9XQVJOX0NGTEFHU10pCitBQ19TVUJTVChbUFlUSE9OX1dBUk5fQ0ZMQUdTXSkKKworVUxfV0FSTl9BREQoWy1Xbm8tdW51c2VkLXBhcmFtZXRlcl0sIFtOT19VTlVTRURfV0FSTl9DRkxBR1NdKQorQUNfU1VCU1QoW05PX1VOVVNFRF9XQVJOX0NGTEFHU10pCisKKworQUNfQVJHX0VOQUJMRShbYXNhbl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1hc2FuXSwgW2NvbXBpbGUgd2l0aCBBZGRyZXNzIFNhbml0aXplcl0pLAorICBbXSwgW2VuYWJsZV9hc2FuPW5vXQorKQorQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2FzYW4iID0geHllc10sIFsKKyAgVUxfV0FSTl9BREQoWy1mc2FuaXRpemU9YWRkcmVzc10pCitdKQorCisKKworZG5sIGxpYnRvb2wtMgorTFRfSU5JVAorCitkbmwgY2hlY2sgc3VwcG9ydGVkIGxpbmtlciBmbGFncworQVhfQ0hFQ0tfVlNDUklQVAorCittNF9pZm5kZWYoW1BLR19QUk9HX1BLR19DT05GSUddLAorICBbbTRfZmF0YWwoW0NvdWxkIG5vdCBsb2NhdGUgdGhlIHBrZy1jb25maWcgYXV0b2NvbmYKKyAgICBtYWNyb3MuIFRoZXNlIGFyZSB1c3VhbGx5IGxvY2F0ZWQgaW4gL3Vzci9zaGFyZS9hY2xvY2FsL3BrZy5tNC4KKyAgICBJZiB5b3VyIG1hY3JvcyBhcmUgaW4gYSBkaWZmZXJlbnQgbG9jYXRpb24sIHRyeSBzZXR0aW5nIHRoZQorICAgIGVudmlyb25tZW50IHZhcmlhYmxlIEFMX09QVFM9Ii1JL290aGVyL21hY3JvL2RpciIgYmVmb3JlIHJ1bm5pbmcKKyAgICAuL2F1dG9nZW4uc2ggb3IgYXV0b3JlY29uZiBhZ2Fpbi4gTWFrZSBzdXJlIHBrZy1jb25maWcgaXMgaW5zdGFsbGVkLl0pXSkKK1BLR19QUk9HX1BLR19DT05GSUcKKworR1RLX0RPQ19DSEVDSyhbMS4xMF0pCitBQ19QQVRIX1BST0coW1hTTFRQUk9DXSwgW3hzbHRwcm9jXSkKKworbGludXhfb3M9bm8KK2JzZF9vcz1ubworQVNfQ0FTRShbJHtob3N0X29zfV0sCisgIFsqbGludXgqXSwKKyAgICAgW2xpbnV4X29zPXllc10sCisgIFsqZGFyd2luKl0sCisgICAgIFtkYXJ3aW5fb3M9eWVzXSwKKyAgWypic2QqXSwKKyAgICAgW2JzZF9vcz15ZXNdKQorQU1fQ09ORElUSU9OQUwoW0xJTlVYXSwgW3Rlc3QgIngkbGludXhfb3MiID0geHllc10pCitBTV9DT05ESVRJT05BTChbREFSV0lOXSwgW3Rlc3QgIngkZGFyd2luX29zIiA9IHh5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JTRF0sIFt0ZXN0ICJ4JGJzZF9vcyIgPSB4eWVzXSkKKworQVNfSUYoW3Rlc3QgICJ4JGRhcndpbl9vcyIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW19EQVJXSU5fQ19TT1VSQ0VdLCBbMV0sIFtFbmFibGUgTUFQX0FOT04gaW4gc3lzL21tYW4uaCBvbiBNYWMgT1MgWF0pCitdKQorCitkbmwgZGVmaW5lIEFSQ0hfPE5BTUU+IGNvbmRpdGlvbmFscworVUxfU0VUX0FSQ0goW0k4Nl0sIFtpPzg2LSpdKQorVUxfU0VUX0FSQ0goWzg2XzY0XSwgW3g4Nl82NCpdKQorVUxfU0VUX0FSQ0goW0lBNjRdLCBbaWE2NCpdKQorVUxfU0VUX0FSQ0goW1MzOTBdLCBbczM5MCpdKQorVUxfU0VUX0FSQ0goW1NQQVJDXSwgW3NwYXJjKl0pCitVTF9TRVRfQVJDSChbUFBDXSwgW3BwYyp8cG93ZXJwYypdKQorVUxfU0VUX0FSQ0goW002OEtdLCBbbTY4Kl0pCitVTF9TRVRfQVJDSChbTUlQU10sIFttaXBzKl0pCitVTF9TRVRfQVJDSChbSFBQQV0sIFtocHBhKnxwYXJpc2MqXSkKKworQUNfU1lTX0xBUkdFRklMRQorQUNfSEVBREVSX0FTU0VSVAorQUNfU1RSVUNUX1RJTUVaT05FCisKK2RubCBEb24ndCBmb3JnZXQgdG8gbWFpbnRhaW4gYWx0ZXJuYXRpdmVseSBhbGxvd2VkIHZlcnNpb25zIGluIGF1dG9nZW4uc2ghCitBTV9HTlVfR0VUVEVYVF9WRVJTSU9OKFswLjE4LjNdKQorQU1fR05VX0dFVFRFWFQoW2V4dGVybmFsXSkKKworQVNfSUYoW3Rlc3QgLWQgIiRzcmNkaXIvcG8iXSwgWworICBBTExfTElOR1VBUz1gY2QgJHNyY2Rpci9wbyA+IC9kZXYvbnVsbCAmJiBlY2hvICoucG8gfCBzZWQgJ3MvXC5wby8vZydgCitdLCBbCisgIEFMTF9MSU5HVUFTPSJhZiBhbSBhciBhcyBiZSBiZyBibl9JTiBibiBjYSBjcyBjeSBkYSBkZSBlbCBlbl9HQiBlcyBldCBldV9FUyBmYSBmaSBmciBnbCBndSBoZSBoaSBociBodSBoeSBpZCBpcyBpdCBqYSBrYSBrbiBrbyBrdSBsbyBsdCBsdiBtayBtbCBtciBtcyBteSBuYiBubCBubiBubyBuc28gb3IgcGEgcGwgcHRfQlIgcHQgcm8gcnUgc2kgc2sgc2wgc3Egc3JATGF0biBzciBzdiB0YSB0ZSB0aCB0ciB1ayB1ciB2aSB6aF9DTiB6aF9UVyB6dSIKK10pCisKK0FDX0NIRUNLX0hFQURFUlMoW2xpbnV4L2NvbXBpbGVyLmggbGludXgvYmxrcGcuaCBsaW51eC9tYWpvci5oXSwgW10sIFtdLCBbCisjaWZkZWYgSEFWRV9MSU5VWF9DT01QSUxFUl9ICisjaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKyNlbmRpZgorXSkKK0FDX0NIRUNLX0hFQURFUlMoWyBcCisJYXNtL2lvLmggXAorCWVyci5oIFwKKwllcnJuby5oIFwKKwlmY250bC5oIFwKKwlnZXRvcHQuaCBcCisJaW50dHlwZXMuaCBcCisJbGFzdGxvZy5oIFwKKwlsaWJ1dGlsLmggXAorCWxpbnV4L2J0cmZzLmggXAorCWxpbnV4L2Nkcm9tLmggXAorCWxpbnV4L2ZhbGxvYy5oIFwKKwlsaW51eC93YXRjaGRvZy5oIFwKKwlsaW51eC9mZC5oIFwKKwlsaW51eC9yYXcuaCBcCisJbGludXgvdGlvY2wuaCBcCisJbGludXgvdmVyc2lvbi5oIFwKKwlsaW51eC9zZWN1cmViaXRzLmggXAorCWxpbnV4L25ldF9uYW1lc3BhY2UuaCBcCisJbG9jYWxlLmggXAorCW1udGVudC5oIFwKKwluZXQvaWYuaCBcCisJbmV0L2lmX2RsLmggXAorCW5ldGluZXQvaW4uaCBcCisJcGF0aHMuaCBcCisJcHR5LmggXAorCXNlY3VyaXR5L3BhbV9hcHBsLmggXAorCXN0ZGludC5oIFwKKwlzdGRpb19leHQuaCBcCisJc3RkbGliLmggXAorCWVuZGlhbi5oIFwKKwlieXRlc3dhcC5oIFwKKwlzeXMvZW5kaWFuLmggXAorCXN5cy9kaXNrLmggXAorCXN5cy9kaXNrbGFiZWwuaCBcCisJc3lzL2ZpbGUuaCBcCisJc3lzL2lvLmggXAorCXN5cy9pb2Njb20uaCBcCisJc3lzL2lvY3RsLmggXAorCXN5cy9ta2Rldi5oIFwKKwlzeXMvbW91bnQuaCBcCisJc3lzL3BhcmFtLmggXAorCXN5cy9wcmN0bC5oIFwKKwlzeXMvcmVzb3VyY2UuaCBcCisJc3lzL3NpZ25hbGZkLmggXAorCXN5cy9zb2NrZXQuaCBcCisJc3lzL3NvY2tpby5oIFwKKwlzeXMvc3RhdC5oIFwKKwlzeXMvc3lzbWFjcm9zLmggXAorCXN5cy9zd2FwLmggXAorCXN5cy9zeXNjYWxsLmggXAorCXN5cy90aW1lLmggXAorCXN5cy90aW1leC5oIFwKKwlzeXMvdHR5ZGVmYXVsdHMuaCBcCisJc3lzL3R5cGVzLmggXAorCXN5cy91Y3JlZC5oIFwKKwlzeXMvdW4uaCBcCisJdW5pc3RkLmggXAorCXNoYWRvdy5oIFwKKwl1dG1wLmggXAorCXV0bXB4LmggXAorXSkKKworIyBUaGVyZSBpcyBhIGNvbGxpc2lvbiBpbiBvbGQga2VybmVsLWhlYWRlcnMuIFRoZSBib3RoIGZpbGVzIG1vdW50LmggYW5kIGZzLmgKKyMgZGVmaW5lIE1TXyogbWFjcm9zLiBGaXhlZCBieSBrZXJuZWwgY29tbWl0IGU0NjJlYzUwY2I1ZmFkMTlmNjAwM2EzZDgwODdmNGEwOTQ1ZGQyYjEuCisjCitBQ19DSEVDS19IRUFERVJTKFtsaW51eC9mcy5oIF0sIFtdLCBbXSwKKyBbI2lmZGVmIEhBVkVfU1lTX01PVU5UX0gKKyAgICMgaW5jbHVkZSA8bGludXgvZnMuaD4KKyAgICMgaW5jbHVkZSA8c3lzL21vdW50Lmg+CisgICNlbmRpZgorXSkKKworQUNfQ0hFQ0tfSEVBREVSUyhbbGludXgvZ3NtbXV4LmggXSwgW10sIFtdLAorIFsjaWZkZWYgTElOVVhfR1NNTVVYX0gKKyAgICMgaW5jbHVkZSA8bGludXgvZ3NtbXV4Lmg+CisgICAjZW5kaWYKK10pCisKK0FDX0NIRUNLX0hFQURFUlMoW3NlY3VyaXR5L3BhbV9taXNjLmhdLAorCQlbQU1fQ09ORElUSU9OQUwoW0hBVkVfTElOVVhQQU1dLCBbdHJ1ZV0pXSwKKwkJW0FNX0NPTkRJVElPTkFMKFtIQVZFX0xJTlVYUEFNXSwgW2ZhbHNlXSldLCBbCisjaWZkZWYgSEFWRV9TRUNVUklUWV9QQU1fQVBQTF9ICisjaW5jbHVkZSA8c2VjdXJpdHkvcGFtX2FwcGwuaD4KKyNlbmRpZgorXSkKKworQUNfQ0hFQ0tfSEVBREVSUyhbbGludXgvYmxrem9uZWQuaF0pCisKK0FDX0NIRUNLX0hFQURFUlMoW3NlY3VyaXR5L29wZW5wYW0uaF0sIFtdLCBbXSwgWworI2lmZGVmIEhBVkVfU0VDVVJJVFlfUEFNX0FQUExfSAorI2luY2x1ZGUgPHNlY3VyaXR5L3BhbV9hcHBsLmg+CisjZW5kaWYKK10pCisKK0FDX0NIRUNLX0hFQURFUlMoW2xhbmdpbmZvLmhdLAorCQlbQU1fQ09ORElUSU9OQUwoW0hBVkVfTEFOR0lORk9dLCBbdHJ1ZV0pXSwKKwkJW0FNX0NPTkRJVElPTkFMKFtIQVZFX0xBTkdJTkZPXSwgW2ZhbHNlXSldKQorCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgbGFuZ2luZm8uaCBkZWZpbmVzIEFMVE1PTl94IGNvbnN0YW50c10pCitBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisJI2luY2x1ZGUgPGxhbmdpbmZvLmg+CitdXSwgW1sKKwljaGFyICpzdHI7CisJc3RyID0gbmxfbGFuZ2luZm8gKEFMVE1PTl8xKTsKKwlzdHIgPSBubF9sYW5naW5mbyAoQUxUTU9OXzIpOworCXN0ciA9IG5sX2xhbmdpbmZvIChBTFRNT05fMyk7CisJc3RyID0gbmxfbGFuZ2luZm8gKEFMVE1PTl80KTsKKwlzdHIgPSBubF9sYW5naW5mbyAoQUxUTU9OXzUpOworCXN0ciA9IG5sX2xhbmdpbmZvIChBTFRNT05fNik7CisJc3RyID0gbmxfbGFuZ2luZm8gKEFMVE1PTl83KTsKKwlzdHIgPSBubF9sYW5naW5mbyAoQUxUTU9OXzgpOworCXN0ciA9IG5sX2xhbmdpbmZvIChBTFRNT05fOSk7CisJc3RyID0gbmxfbGFuZ2luZm8gKEFMVE1PTl8xMCk7CisJc3RyID0gbmxfbGFuZ2luZm8gKEFMVE1PTl8xMSk7CisJc3RyID0gbmxfbGFuZ2luZm8gKEFMVE1PTl8xMik7CitdXSldLCBbCisJQUNfTVNHX1JFU1VMVChbeWVzXSkKKwlBQ19ERUZJTkUoW0hBVkVfTEFOR0lORk9fQUxUTU9OXSwgWzFdLAorCQlbRGVmaW5lIGlmIGxhbmdpbmZvLmggZGVmaW5lcyBBTFRNT05feCBjb25zdGFudHNdKQorXSwgWworCUFDX01TR19SRVNVTFQoW25vXSkKK10pCisKKworQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGxhbmdpbmZvLmggZGVmaW5lcyBfTkxfQUJBTFRNT05feCBjb25zdGFudHNdKQorQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworCSNpbmNsdWRlIDxsYW5naW5mby5oPgorXV0sIFtbCisJY2hhciAqc3RyOworCXN0ciA9IG5sX2xhbmdpbmZvIChfTkxfQUJBTFRNT05fMSk7CisJc3RyID0gbmxfbGFuZ2luZm8gKF9OTF9BQkFMVE1PTl8yKTsKKwlzdHIgPSBubF9sYW5naW5mbyAoX05MX0FCQUxUTU9OXzMpOworCXN0ciA9IG5sX2xhbmdpbmZvIChfTkxfQUJBTFRNT05fNCk7CisJc3RyID0gbmxfbGFuZ2luZm8gKF9OTF9BQkFMVE1PTl81KTsKKwlzdHIgPSBubF9sYW5naW5mbyAoX05MX0FCQUxUTU9OXzYpOworCXN0ciA9IG5sX2xhbmdpbmZvIChfTkxfQUJBTFRNT05fNyk7CisJc3RyID0gbmxfbGFuZ2luZm8gKF9OTF9BQkFMVE1PTl84KTsKKwlzdHIgPSBubF9sYW5naW5mbyAoX05MX0FCQUxUTU9OXzkpOworCXN0ciA9IG5sX2xhbmdpbmZvIChfTkxfQUJBTFRNT05fMTApOworCXN0ciA9IG5sX2xhbmdpbmZvIChfTkxfQUJBTFRNT05fMTEpOworCXN0ciA9IG5sX2xhbmdpbmZvIChfTkxfQUJBTFRNT05fMTIpOworXV0pXSwgWworCUFDX01TR19SRVNVTFQoW3llc10pCisJQUNfREVGSU5FKFtIQVZFX0xBTkdJTkZPX05MX0FCQUxUTU9OXSwgWzFdLAorCQlbRGVmaW5lIGlmIGxhbmdpbmZvLmggZGVmaW5lcyBfTkxfQUJBTFRNT05feCBjb25zdGFudHNdKQorXSwgWworCUFDX01TR19SRVNVTFQoW25vXSkKK10pCisKKworZG5sIENvbnZlcnQgc29tZSBhY19jdl9oZWFkZXJfKiB2YXJpYWJsZXMgdG8gaGF2ZV8qCitkbmwKK2hhdmVfbGludXhfdmVyc2lvbl9oPSRhY19jdl9oZWFkZXJfbGludXhfdmVyc2lvbl9oCitoYXZlX2xpbnV4X2Jsa3pvbmVkX2g9JGFjX2N2X2hlYWRlcl9saW51eF9ibGt6b25lZF9oCitoYXZlX2xpbnV4X2J0cmZzX2g9JGFjX2N2X2hlYWRlcl9saW51eF9idHJmc19oCitoYXZlX2xpbnV4X3Jhd19oPSRhY19jdl9oZWFkZXJfbGludXhfcmF3X2gKK2hhdmVfbGludXhfc2VjdXJlYml0c19oPSRhY19jdl9oZWFkZXJfbGludXhfc2VjdXJlYml0c19oCitoYXZlX2xpbnV4X3dhdGNoZG9nX2g9JGFjX2N2X2hlYWRlcl9saW51eF93YXRjaGRvZ19oCitoYXZlX3NlY3VyaXR5X3BhbV9hcHBsX2g9JGFjX2N2X2hlYWRlcl9zZWN1cml0eV9wYW1fYXBwbF9oCitoYXZlX3NlY3VyaXR5X3BhbV9taXNjX2g9JGFjX2N2X2hlYWRlcl9zZWN1cml0eV9wYW1fbWlzY19oCitoYXZlX3NlY3VyaXR5X29wZW5wYW1faD0kYWNfY3ZfaGVhZGVyX3NlY3VyaXR5X29wZW5wYW1faAoraGF2ZV9zaGFkb3dfaD0kYWNfY3ZfaGVhZGVyX3NoYWRvd19oCitoYXZlX3N5c19zaWduYWxmZF9oPSRhY19jdl9oZWFkZXJfc3lzX3NpZ25hbGZkX2gKK2hhdmVfdXRtcHhfaD0kYWNfY3ZfaGVhZGVyX3V0bXB4X2gKKworQVNfQ0FTRShbJGxpbnV4X29zOiRoYXZlX2xpbnV4X3ZlcnNpb25faF0sCisgIFt5ZXM6bm9dLAorICAgIFtBQ19NU0dfRVJST1IoW2tlcm5lbCBoZWFkZXJzIHJlcXVpcmVkIG9uIExpbnV4XSldCispCisKK0FDX0NPTVBJTEVfSUZFTFNFKFtBQ19MQU5HX1BST0dSQU0oW1sKKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CitdXSwgW1sKKyAgICBpbnQgYSA9IDA7CisgICAgc3RydWN0IHRtICp0bSA9IGxvY2FsdGltZSgwKTsKKyAgICBpZiAoYSA9PSAtMSkgIC8qIGZhbHNlICovCisJc2xlZXAodG0tPnRtX2dtdG9mZik7CitdXSldLAorW0FDX0RFRklORShbSEFWRV9UTV9HTVRPRkZdLCBbMV0sIFtEb2VzIHN0cnVjdCB0bSBoYXZlIGEgZmllbGQgdG1fZ210b2ZmP10pCitdKQorCitBQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3QgdGVybWlvcy5jX2xpbmVdLCwsCisgICAgW1sjaW5jbHVkZSA8dGVybWlvcy5oPl1dKQorCitBQ19DSEVDS19NRU1CRVJTKFtzdHJ1Y3Qgc3RhdC5zdF9tdGltLnR2X25zZWNdLCwsCisJWyNpbmNsdWRlIDxzeXMvc3RhdC5oPl0pCisKK0FDX0NIRUNLX0RFQ0xTKFtfTkxfVElNRV9XRUVLXzFTVERBWV0sW10sW10sW1sjaW5jbHVkZSA8bGFuZ2luZm8uaD5dXSkKKworQUNfQ0hFQ0tfREVDTChbbGxzZWVrXSwKKwlbQUNfREVGSU5FKFtIQVZFX0xMU0VFS19QUk9UT1RZUEVdLCBbMV0sCisJCQlbRGVmaW5lIHRvIDEgaWYgaGF2ZSBsbHNlZWsgcHJvdG90eXBlXSldLAorCVtdLAorCVsjaW5jbHVkZSA8dW5pc3RkLmg+XSkKKworQUNfQ0hFQ0tfREVDTChbbHNlZWs2NF0sCisJW0FDX0RFRklORShbSEFWRV9MU0VFSzY0X1BST1RPVFlQRV0sIFsxXSwKKwkJCVtEZWZpbmUgdG8gMSBpZiBoYXZlIGxzZWVrNjQgcHJvdG90eXBlXSldLAorCVtdLAorCVsjZGVmaW5lIF9MQVJHRUZJTEVfU09VUkNFCisJICNkZWZpbmUgX0xBUkdFRklMRTY0X1NPVVJDRQorCSAjaW5jbHVkZSA8dW5pc3RkLmg+XSkKKworQUNfQ0hFQ0tfREVDTChbZW52aXJvbl0sCisJW0FDX0RFRklORShbSEFWRV9FTlZJUk9OX0RFQ0xdLCBbMV0sCisJCVtEZWZpbmUgdG8gMSBpZiBoYXZlICoqZW52aXJvbiBwcm90b3R5cGVdKV0sCispCisKK0FDX0NIRUNLX0RFQ0woW3N0cnNpZ25hbF0sCisJW0FDX0RFRklORShbSEFWRV9TVFJTSUdOQUxfREVDTF0sIFsxXSwKKwkJW0RlZmluZSB0byAxIGlmIGhhdmUgc3Ryc2lnbmFsIGZ1bmN0aW9uIHByb3RvdHlwZV0pXSwKKykKKworQUNfQ0hFQ0tfREVDTChbVElPQ0dMQ0tUUk1JT1NdLAorCSAgICAgIFtoYXZlX3Rpb2NnbGNrdHJtaW9zPXllc10sIFtoYXZlX3Rpb2NnbGNrdHJtaW9zPW5vXSwKKyAgICAgICAgICAgICAgWyNpbmNsdWRlIDxzeXMvaW9jdGwuaD5dKQorQUNfQ0hFQ0tfREVDTChbU09DS19DTE9FWEVDXSwKKwkgICAgICBbaGF2ZV9zb2NrX2Nsb2V4ZWM9eWVzXSwgW2hhdmVfc29ja19jbG9leGVjPW5vXSwKKwkgICAgICBbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD5dKQorQUNfQ0hFQ0tfREVDTChbU09DS19OT05CTE9DS10sCisJICAgICAgW2hhdmVfc29ja19ub25ibG9jaz15ZXNdLCBbaGF2ZV9zb2NrX25vbmJsb2NrPW5vXSwKKwkgICAgICBbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD5dKQorQUNfQ0hFQ0tfREVDTChbU09fUEFTU0NSRURdLAorCSAgICAgIFtoYXZlX3NvX3Bhc3NjcmVkPXllc10sIFtoYXZlX3NvX3Bhc3NjcmVkPW5vXSwKKwkgICAgICBbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorICAgICAgICAgICAgICAgI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD5dKQorCitBQ19DSEVDS19GVU5DUyhbIFwKKwlfX2ZwdXJnZSBcCisJZnB1cmdlIFwKKwlfX2ZwZW5kaW5nIFwKKwlzZWN1cmVfZ2V0ZW52IFwKKwlfX3NlY3VyZV9nZXRlbnYgXAorCWVhY2Nlc3MgXAorCWVyciBcCisJZXJyeCBcCisJZXhwbGljaXRfYnplcm8gXAorCWZzeW5jIFwKKwl1dGltZW5zYXQgXAorCWdldGRvbWFpbm5hbWUgXAorCWdldGR0YWJsZXNpemUgXAorCWdldGV4ZWNuYW1lIFwKKwlnZXRtbnRpbmZvIFwKKwlnZXRyYW5kb20gXAorCWdldHJsaW1pdCBcCisJZ2V0c2duYW0gXAorCWlub3RpZnlfaW5pdCBcCisJanJhbmQ0OCBcCisJbGNob3duIFwKKwlsbHNlZWsgXAorCWxzZWVrNjQgXAorCW1lbXBjcHkgXAorCW1rb3N0ZW1wIFwKKwluYW5vc2xlZXAgXAorCW50cF9nZXR0aW1lIFwKKwlwZXJzb25hbGl0eSBcCisJcG9zaXhfZmFkdmlzZSBcCisJcHJjdGwgXAorCXFzb3J0X3IgXAorCXJwbWF0Y2ggXAorCXNjYW5kaXJhdCBcCisJc2V0cHJvZ25hbWUgXAorCXNldHJlc2dpZCBcCisJc2V0cmVzdWlkIFwKKwlzY2hlZF9zZXRhdHRyIFwKKwlzY2hlZF9zZXRzY2hlZHVsZXIgXAorCXNpZ3F1ZXVlIFwKKwlzcmFuZG9tIFwKKwlzdHJuY2hyIFwKKwlzdHJuZHVwIFwKKwlzdHJubGVuIFwKKwlzeXNjb25mIFwKKwlzeXNpbmZvIFwKKwl0aW1lZ20gXAorCXVzbGVlcCBcCisJdndhcm54IFwKKwl3YXJuIFwKKwl3YXJueCBcCitdKQorQUNfRlVOQ19GU0VFS08KKworQUNfQ0hFQ0tfRlVOQ1MoW29wZW5hdCBmc3RhdGF0IHVubGlua2F0XSwgW2hhdmVfb3BlbmF0PXllc10sIFtoYXZlX29wZW5hdD1ub10pCitBQ19DSEVDS19GVU5DUyhbaW9wZXJtIGlvcGxdLCBbaGF2ZV9pbz15ZXNdKQorQUNfQ0hFQ0tfRlVOQ1MoW2Z1dGltZW5zXSwgW2hhdmVfZnV0aW1lbnM9eWVzXSkKK0FDX0NIRUNLX0ZVTkNTKFtpbm90aWZ5X2luaXQxXSwgW2hhdmVfaW5vdGlmeV9pbml0MT15ZXNdKQorQUNfQ0hFQ0tfRlVOQ1MoW29wZW5fbWVtc3RyZWFtXSwgW2hhdmVfb3Blbl9tZW1zdHJlYW09eWVzXSxbaGF2ZV9vcGVuX21lbXN0cmVhbT1ub10pCitBQ19DSEVDS19GVU5DUyhbcmVib290XSwgW2hhdmVfcmVib290PXllc10sW2hhdmVfcmVib290PW5vXSkKK0FDX0NIRUNLX0ZVTkNTKFt1cGR3dG1weCB1cGR3dG1weF0sIFtoYXZlX2dudV91dG1weD15ZXNdLCBbaGF2ZV9nbnVfdXRtcHg9bm9dKQorQUNfQ0hFQ0tfRlVOQ1MoW2dldHVzZXJzaGVsbF0sIFtoYXZlX2dldHVzZXJzaGVsbD15ZXNdLFtoYXZlX2dldHVzZXJzaGVsbD1ub10pCisKK0FNX0NPTkRJVElPTkFMKFtIQVZFX09QRU5BVF0sIFt0ZXN0ICJ4JGhhdmVfb3BlbmF0IiA9IHh5ZXNdKQorCisKK0FDX0NIRUNLX0ZVTkNTKFtpc25hbl0sIFtdLAorCVtBQ19DSEVDS19MSUIoW21dLCBbaXNuYW5dLCBbTUFUSF9MSUJTPSItbG0iXSldCisJW0FDX0NIRUNLX0xJQihbbV0sIFtfX2lzbmFuXSwgW01BVEhfTElCUz0iLWxtIl0pXQorKQorQUNfU1VCU1QoW01BVEhfTElCU10pCisKKworZG5sIGxpYi9tb25vbm90aWMuYyBtYXkgcmVxdWlyZSAtbHJ0CitBQ19DSEVDS19GVU5DUyhbY2xvY2tfZ2V0dGltZV0sIFtdLAorCVtBQ19DSEVDS19MSUIoW3J0XSwgW2Nsb2NrX2dldHRpbWVdLCBbUkVBTFRJTUVfTElCUz0iLWxydCJdKV0KKykKKworaGF2ZV90aW1lcj0ibm8iCitBQ19DSEVDS19GVU5DUyhbdGltZXJfY3JlYXRlXSwKKwlbaGF2ZV90aW1lcj0ieWVzIl0sCisJW0FDX0NIRUNLX0xJQihbcnRdLCBbdGltZXJfY3JlYXRlXSwgWworCQloYXZlX3RpbWVyPSJ5ZXMiCisJCVJFQUxUSU1FX0xJQlM9Ii1scnQiCisJXSxbCisJCUFDX1NFQVJDSF9MSUJTKFt0aW1lcl9jcmVhdGVdLCBbcnRdLCBbCisJCQlBQ19NU0dfUkVTVUxUKHllcykKKwkJCWhhdmVfdGltZXI9InllcyIKKwkJCVJFQUxUSU1FX0xJQlM9Ii1scnQgLWxwdGhyZWFkIgorCQldLFtdLCBbLWxwdGhyZWFkXQorCQkpCisJCV0pXQorKQorCitBQ19TVUJTVChbUkVBTFRJTUVfTElCU10pCisKKworQUNfQ0hFQ0tfTElCKFtydGFzXSwgW3J0YXNfZ2V0X3N5c3Bhcm1dLCBbCisJUlRBU19MSUJTPSItbHJ0YXMiCisJQUNfREVGSU5FX1VOUVVPVEVEKFtIQVZFX0xJQlJUQVNdLCBbMV0sIFtEZWZpbmUgaWYgbGlicnRhcyBleGlzdHNdKSwgW10sCitdKQorQUNfU1VCU1QoW1JUQVNfTElCU10pCisKKworQUNfQ0hFQ0tfTUVNQkVSKFtzdHJ1Y3Qgc29ja2FkZHIuc2FfbGVuXSwKKwkJQUNfREVGSU5FX1VOUVVPVEVEKFtIQVZFX1NBX0xFTl0sIFsxXSwgW0RlZmluZSBpZiBzdHJ1Y3Qgc29ja2FkZHIgY29udGFpbnMgc2FfbGVuXSksIFtdLAorCVsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisJICNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+XSkKKworU09DS0VUX0xJQlM9CitBQ19TRUFSQ0hfTElCUyhbc29ja2V0XSwgW3NvY2tldF0sCisJW0FTX0lGKFt0ZXN0IHgiJGFjX2N2X3NlYXJjaF9zb2NrZXQiICE9IHgibm9uZSByZXF1aXJlZCJdLAorCQlbU09DS0VUX0xJQlM9IiRTT0NLRVRfTElCUyAtbHNvY2tldCJdKQorXSkKK0FDX1NVQlNUKFtTT0NLRVRfTElCU10pCisKKworaGF2ZV9kaXJmZD1ubworQUNfQ0hFQ0tfRlVOQ1MoW2RpcmZkXSwgW2hhdmVfZGlyZmQ9eWVzXSwgW2hhdmVfZGlyZmQ9bm9dKQorQVNfSUYoW3Rlc3QgeCIkaGF2ZV9kaXJmZCIgPSB4bm9dLCBbCisJQUNfQ0hFQ0tfREVDTFMoW2RpcmZkXSwKKwkJW2hhdmVfZGlyZmQ9eWVzXSwgW2hhdmVfZGlyZmQ9bm9dLAorCQlbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCQkgI2luY2x1ZGUgPGRpcmVudC5oPl0pCitdKQorCitoYXZlX2RkZmQ9bm8KK0FTX0lGKFt0ZXN0IHgiJGhhdmVfZGlyZmQiID0geG5vXSwgWworCUFDX0NIRUNLX01FTUJFUlMoW0RJUi5kZF9mZF0sCisJCVtoYXZlX2RkZmQ9eWVzXSwgW2hhdmVfZGRmZD1ub10sCisJCVsjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisJCSAjaW5jbHVkZSA8ZGlyZW50Lmg+XSkKK10pCisKK0FTX0NBU0UoWyRoYXZlX2RpcmZkOiRoYXZlX2RkZmRdLAorICBbbm86bm9dLAorICAgIFtBQ19NU0dfRVJST1IoW2Nhbm5vdCBmaW5kIGEgbWV0aG9kIHRvIGdldCBmaWxlZGVzY3JpcHRvciBvZiBkaXJlY3RvcnldKV0KKykKKworCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgaXMgZGVmaW5lZF0pCitBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisJI2luY2x1ZGUgPGVycm5vLmg+CitdXSwgW1sKKwlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSA9ICJ0ZXN0IjsKK11dKV0sIFsKKwlBQ19NU0dfUkVTVUxUKFt5ZXNdKQorCUFDX0RFRklORShbSEFWRV9QUk9HUkFNX0lOVk9DQVRJT05fU0hPUlRfTkFNRV0sIFsxXSwKKwkJW0RlZmluZSBpZiBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSBpcyBkZWZpbmVkXSkKK10sIFsKKwlBQ19NU0dfUkVTVUxUKFtub10pCitdKQorCisKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciBfX3Byb2duYW1lIGlzIGRlZmluZWRdKQorQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbZXh0ZXJuIGNoYXIgKl9fcHJvZ25hbWU7XSwKKwkgICBbaWYgKCpfX3Byb2duYW1lID09IDApIHJldHVybiAxO10pXSwKKwkgICBBQ19ERUZJTkUoW0hBVkVfX19QUk9HTkFNRV0sIFsxXSwgW0RlZmluZSBpZiBfX3Byb2duYW1lIGlzIGRlZmluZWRdKQorCSAgIEFDX01TR19SRVNVTFQoW3llc10pLAorCSAgIEFDX01TR19SRVNVTFQoW25vXSkpCisKK2RubCBTdGF0aWMgY29tcGlsYXRpb24KK200X2RlZmluZShbVUxfU1RBVElDX1BST0dSQU1TXSwgW2xvc2V0dXAsIG1vdW50LCB1bW91bnQsIGZkaXNrLCBzZmRpc2ssIGJsa2lkLCBuc2VudGVyLCB1bnNoYXJlXSkKKworQUNfQVJHX0VOQUJMRShbc3RhdGljLXByb2dyYW1zXSwKKyAgW0FTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zdGF0aWMtcHJvZ3JhbXM9TElTVF0sCisgICAgICBbbGluayBzdGF0aWMgdGhlIHByb2dyYW1zIGluIExJU1QgKGNvbW1hLXNlcGFyYXRlZCwKKyAgICAgIHN1cHBvcnRlZCBmb3IgXW00X2RlZm4oW1VMX1NUQVRJQ19QUk9HUkFNU10pWyldKV0pCisKK0FTX0NBU0UoWyRlbmFibGVfc3RhdGljX3Byb2dyYW1zXSwKKyAgW3llc10sCisgICAgW2VuYWJsZV9zdGF0aWNfcHJvZ3JhbXM9bTRfcXVvdGUoVUxfU1RBVElDX1BST0dSQU1TKV0sCisgIFtub10sCisgICAgW2VuYWJsZV9zdGF0aWNfcHJvZ3JhbXM9XQorKQorCitkbmwgU2V0IGFsbCB0aGUgaW5kaXZpZHVhbCBBTV9DT05ESVRJT05BTHMKK200X2ZvcmVhY2goW1VMX1BSR10sIG00X2RlZm4oW1VMX1NUQVRJQ19QUk9HUkFNU10pLCBbCisgIEFTX0NBU0UoWywkZW5hYmxlX3N0YXRpY19wcm9ncmFtcyxdLAorICAgWyosVUxfUFJHLCpdLCBbc3RhdGljX1tdVUxfUFJHPXllc10KKyAgKQorICBBU19JRihbdGVzdCAieCRzdGF0aWNfW11VTF9QUkciID0geHllc10sIFtBQ19NU0dfTk9USUNFKFtlbmFibGUgc3RhdGljIGJ1aWxkOiBVTF9QUkcuXSldKQorICBBTV9DT05ESVRJT05BTChbSEFWRV9TVEFUSUNfXW00X3RvdXBwZXIoVUxfUFJHKSwKKyAgICBbdGVzdCAieCRzdGF0aWNfW11VTF9QUkciID0geHllc10pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW2FsbC1wcm9ncmFtc10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtYWxsLXByb2dyYW1zXSwgW2Rpc2FibGUgZXZlcnl0aGluZywgbWlnaHQgYmUgb3ZlcnJpZGRlbiBieSAtLWVuYWJsZS08bmFtZT5dKSwKKyAgW10sIFtlbmFibGVfYWxsX3Byb2dyYW1zPXVuZGVmaW5lZF0KKykKKworQVNfQ0FTRShbJGVuYWJsZV9hbGxfcHJvZ3JhbXNdLAorICBbeWVzXSwgW0FDX01TR19XQVJOKFtmb3JjZSB0byBidWlsZCBhbGwgcHJvZ3JhbXMgYnkgZGVmYXVsdF0pCisgICAgICAgICAgdWxfZGVmYXVsdF9lc3RhdGU9Y2hlY2tdLAorICBbbm9dLCAgW0FDX01TR19XQVJOKFtkaXNhYmxlIGFsbCBwcm9ncmFtcyBieSBkZWZhdWx0XSkKKyAgICAgICAgICB1bF9kZWZhdWx0X2VzdGF0ZT1ub10KKykKKworCitBWF9DSEVDS19UTFMKKworQUNfREVGVU4oW1VMX1NDQU5GX1RZUEVfTU9ESUZJRVJdLCBbZG5sCisjIGluY2x1ZGUgPHN0ZGlvLmg+CisjIGluY2x1ZGUgPHN0ZGxpYi5oPgoraW50IG1haW4oKQoreworCWludCBpOworCWludCByYyA9IDE7CisJY2hhciAqczsKKwlpID0gc3NjYW5mKCJ4IiwgJDEsICZzKTsKKwlpZiAoaSA9PSAxICAmJiAqcyA9PSAneCcpCisJCXJjID0gMDsKKwlmcmVlKHMpOworCXJldHVybiByYzsKK31dKQorCitBQ19DQUNIRV9WQUwoW3NjYW5mX2N2X2FsbG9jX21vZGlmaWVyXSwKKyAgQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW1VMX1NDQU5GX1RZUEVfTU9ESUZJRVIoWyIlbXMiXSldKV0sCisgICAgW3NjYW5mX2N2X2FsbG9jX21vZGlmaWVyPW1zXSwKKyAgICBBQ19SVU5fSUZFTFNFKFtBQ19MQU5HX1NPVVJDRShbVUxfU0NBTkZfVFlQRV9NT0RJRklFUihbIiVhcyJdKV0pXSwKKyAgICAgIFtzY2FuZl9jdl9hbGxvY19tb2RpZmllcj1hc10sCisgICAgICBbc2NhbmZfY3ZfYWxsb2NfbW9kaWZpZXI9bm9dCisgICAgKQorICAgICwKKworICAgIFtBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoWworICAgICAjaW5jbHVkZSA8c3RkaW8uaD4KKyAgICAgI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisgICAgICNpZiBkZWZpbmVkKF9fR0xJQkNfXykgJiYgIWRlZmluZWQoX19VQ0xJQkNfXykKKworICAgICAjaWYgIShfX0dMSUJDX1BSRVJFUSgyLCA3KSkKKyAgICAgI2Vycm9yICVtIGlzIG5vdCBhdmFpbGFibGUKKyAgICAgI2VuZGlmCisKKyAgICAgI2VsaWYgZGVmaW5lZChfUE9TSVhfVkVSU0lPTikKKworICAgICAjaWYgX1BPU0lYX1ZFUlNJT04gPCAyMDA4MDlMCisgICAgICNlcnJvciAlbSBpcyBub3QgYXZhaWxhYmxlCisgICAgICNlbmRpZgorCisgICAgICNlbHNlCisgICAgICNlcnJvciBZb3VyIEMtbGlicmFyeSBpcyBub3Qgc3VwcG9ydGVkLgorICAgICAjZW5kaWYKKyAgICAgXSldLAorICAgIFtzY2FuZl9jdl9hbGxvY19tb2RpZmllcj1tc10sCisgICAgW3NjYW5mX2N2X2FsbG9jX21vZGlmaWVyPW5vXSldCisgICkKKykKKworQUNfTVNHX0NIRUNLSU5HKFtzY2FuZiBzdHJpbmcgYWxsb2MgbW9kaWZpZXJzXSkKK0FTX0NBU0UoWyRzY2FuZl9jdl9hbGxvY19tb2RpZmllcl0sCisgIFttc10sCisgICAgW0FDX01TR19SRVNVTFQoWyglbXMpIHllc10pCisgICAgIEFDX0RFRklORShbSEFWRV9TQ0FORl9NU19NT0RJRklFUl0sIFsxXSwgW3NjYW5mICVtcyBtb2RpZmllcl0pCisgICAgIGhhdmVfc2NhbmZfYWxsb2NfbW9kaWZpZXI9eWVzXSwKKyAgW2FzXSwKKyAgICBbQUNfTVNHX1JFU1VMVChbKCVhcykgeWVzXSkKKyAgICAgaGF2ZV9zY2FuZl9hbGxvY19tb2RpZmllcj15ZXMKKyAgICAgQUNfREVGSU5FKFtIQVZFX1NDQU5GX0FTX01PRElGSUVSXSwgWzFdLCBbc2NhbmYgJWFzIG1vZGlmaWVyXSldLAorICBbQUNfTVNHX1JFU1VMVChbbm9dKQorICAgaGF2ZV9zY2FuZl9hbGxvY19tb2RpZmllcj1ub10KKykKKworCitBQ19BUkdfV0lUSChbdXRpbF0sIEFTX0hFTFBfU1RSSU5HKFstLXdpdGhvdXQtdXRpbF0sIFtjb21waWxlIHdpdGhvdXQgbGlidXRpbF0pLAorICBbXSwgW3dpdGhfdXRpbD1hdXRvXQorKQorQVNfSUYoW3Rlc3QgIngkd2l0aF91dGlsIiA9IHhub10sIFsKKyAgQU1fQ09ORElUSU9OQUwoW0hBVkVfVVRJTF0sIFtmYWxzZV0pCisgIGhhdmVfdXRpbD1ubworXSwgWworICBVTF9DSEVDS19MSUIoW3V0aWxdLCBbb3BlbnB0eV0pCitdKQorCisKK0FDX0NIRUNLX1RZUEVTKFt1bmlvbiBzZW11bl0sIFtdLCBbXSwgW1sKKyNpbmNsdWRlIDxzeXMvc2VtLmg+CitdXSkKK0FDX0NIRUNLX1RZUEVTKFtsb2ZmX3RdKQorCisKK0FDX0FSR19FTkFCTEUoW3dpZGVjaGFyXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS13aWRlY2hhcl0sIFtkbyBub3QgY29tcGlsZSB3aWRlIGNoYXJhY3RlciBzdXBwb3J0XSksCisgIFtdLCBbZW5hYmxlX3dpZGVjaGFyPWNoZWNrXQorKQorVUxfQlVJTERfSU5JVChbd2lkZWNoYXJdKQorVUxfUkVRVUlSRVNfQ09NUElMRShbd2lkZWNoYXJdLCBbWworICAjaW5jbHVkZSA8d2NoYXIuaD4KKyAgI2luY2x1ZGUgPHdjdHlwZS5oPgorICAjaW5jbHVkZSA8c3RkaW8uaD4KKyAgXV0sIFtbCisgICAgd2NoYXJfdCB3YzsKKyAgICB3aW50X3QgdzsKKyAgICB3ID0gZmdldHdjKHN0ZGluKTsKKyAgICBpZiAodyA9PSBXRU9GKSBleGl0KDEpOworICAgIHdjID0gdzsKKyAgICBmcHV0d2Mod2Msc3Rkb3V0KTsKKyAgXV0sCisgIFt3Y2hhcl90IHN1cHBvcnRdKQorCitBU19JRihbdGVzdCAieCRidWlsZF93aWRlY2hhciIgPSB4eWVzIF0sIFsKKyAgQUNfREVGSU5FKFtIQVZFX1dJREVDSEFSXSwgWzFdLCBbRG8gd2UgaGF2ZSB3aWRlIGNoYXJhY3RlciBzdXBwb3J0P10pCitdKQorCisKK0FDX0NIRUNLX1RZUEVTKFtjcHVfc2V0X3RdLCBbaGF2ZV9jcHVfc2V0X3Q9eWVzXSwgW10sIFtbCisjaW5jbHVkZSA8c2NoZWQuaD4KK11dKQorCitBTV9DT05ESVRJT05BTChbSEFWRV9DUFVfU0VUX1RdLCBbdGVzdCAieCRoYXZlX2NwdV9zZXRfdCIgPSB4eWVzXSkKKworQUNfQ0hFQ0tfVFlQRVMoW3NpZ2hhbmRsZXJfdF0sIFtdLCBbXSwgW1sKKyNpbmNsdWRlIDxzaWduYWwuaD4KK11dKQorCitBQ19DSEVDS19ERUNMUyhbQ1BVX0FMTE9DXSwgW10sIFtdLCBbWworI2luY2x1ZGUgPHNjaGVkLmg+CitdXSkKKworIyBvbiBTb2xhcmlzLCB5b3UgY2FuJ3QgbWl4IGFuZCBtYXRjaCBzdGFuZGFyZHMsIHNpbmNlIHdlIHVzZSBjOTkKKyMgYXBhcmVudGx5IGF0IHRoaXMgc3RhZ2UsIFhPUEVOX1NPVVJDRSB3aWxsIGNvbmZsaWN0LiAgQXMgd29ya2Fyb3VuZCwKKyMgY2hlY2sgZm9yIGNyeXB0LmggYW5kIHVzZSB0aGF0IHdpdGhvdXQgWE9QRU5fU09VUkNFLgorQUNfQ0hFQ0tfSEVBREVSUyhbY3J5cHQuaF0pCitBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisjaWZkZWYgSEFWRV9DUllQVF9ICisjaW5jbHVkZSA8Y3J5cHQuaD4KKyNlbHNlCisjZGVmaW5lIF9YT1BFTl9TT1VSQ0UKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorXV0sIFtbCitjaGFyICpjID0gY3J5cHQoImFiYyIsInB3Iik7CitdXSldLFtdLFsKKyAgTElCUz0iJExJQlMgLWxjcnlwdCIKKyAgQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworICAjaWZkZWYgSEFWRV9DUllQVF9ICisgICNpbmNsdWRlIDxjcnlwdC5oPgorICAjZWxzZQorICAjZGVmaW5lIF9YT1BFTl9TT1VSQ0UKKyAgI2luY2x1ZGUgPHVuaXN0ZC5oPgorICAjZW5kaWYKKyAgXV0sIFtbCisgIGNoYXIgKmMgPSBjcnlwdCgiYWJjIiwicHciKTsKKyAgXV0pXSxbCisgIEFDX0RFRklORShbSEFWRV9MSUJDUllQVF0sIFsxXSwgW0RvIHdlIG5lZWQgLWxjcnlwdD9dKQorICBoYXZlX2xpYmNyeXB0PXllcworICBdLFsKKyAgQUNfTVNHX0VSUk9SKFtjcnlwdCgpIGlzIG5vdCBhdmFpbGFibGVdKQorICBdKQorXSkKK0FNX0NPTkRJVElPTkFMKFtIQVZFX0xJQkNSWVBUXSwgW3Rlc3QgIngkaGF2ZV9saWJjcnlwdCIgPSB4eWVzXSkKKworCitBQ19BUkdfV0lUSChbc2VsaW51eF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtc2VsaW51eF0sIFtjb21waWxlIHdpdGggU0VMaW51eCBzdXBwb3J0XSksCisgIFtdLCBbd2l0aF9zZWxpbnV4PW5vXQorKQorCitBU19JRihbdGVzdCAieCR3aXRoX3NlbGludXgiID0geG5vXSwgWworICBBTV9DT05ESVRJT05BTChbSEFWRV9TRUxJTlVYXSwgW2ZhbHNlXSkKK10sIFsKKyAgUEtHX0NIRUNLX01PRFVMRVMoW1NFTElOVVhdLCBbbGlic2VsaW51eCA+PSAyLjBdLAorCVtBQ19ERUZJTkUoW0hBVkVfTElCU0VMSU5VWF0sIFsxXSwgW0RlZmluZSBpZiBTRUxpbnV4IGlzIGF2YWlsYWJsZV0pCisJIFVMX1BLR19TVEFUSUMoW1NFTElOVVhfTElCU19TVEFUSUNdLCBbbGlic2VsaW51eF0pCisJIEFNX0NPTkRJVElPTkFMKFtIQVZFX1NFTElOVVhdLCBbdHJ1ZV0pCisJIGhhdmVfc2VsaW51eD15ZXNdLAorCVtoYXZlX3NlbGludXg9bm9dKQorCisgIEFTX0NBU0UoWyR3aXRoX3NlbGludXg6JGhhdmVfc2VsaW51eF0sCisgICAgW3llczpub10sIFtBQ19NU0dfRVJST1IoW1NFTGludXggc2VsZWN0ZWQgYnV0IGxpYnNlbGludXggbm90IGZvdW5kIG9yIHRvbyBvbGRdKV0KKyAgKQorCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfc2VsaW51eCIgPSB4eWVzXSwgWworICAgIFVMX1NFVF9GTEFHUyhbXSwgW10sIFskU0VMSU5VWF9MSUJTXSkKKyAgICAjIFRoaXMgZnVuY3Rpb24gaXMgbWlzc2luZyBpbiBvbGQgbGlic2VsaW51eCAxLnh4IHZlcnNpb25zCisgICAgQUNfQ0hFQ0tfRlVOQ1MoW3NlY3VyaXR5X2dldF9pbml0aWFsX2NvbnRleHRdKQorICAgIFVMX1JFU1RPUkVfRkxBR1MKKyAgXSkKK10pCitBQ19TVUJTVChbU0VMSU5VWF9MSUJTXSkKK0FDX1NVQlNUKFtTRUxJTlVYX0xJQlNfU1RBVElDXSkKKworCitBQ19BUkdfV0lUSChbYXVkaXRdLAorICBBU19IRUxQX1NUUklORyhbLS13aXRoLWF1ZGl0XSwgW2NvbXBpbGUgd2l0aCBhdWRpdCBzdXBwb3J0XSksCisgIFtdLCBbd2l0aF9hdWRpdD1ub10KKykKKworQVNfSUYoW3Rlc3QgIngkd2l0aF9hdWRpdCIgPSB4bm9dLCBbCisgIEFNX0NPTkRJVElPTkFMKFtIQVZFX0FVRElUXSwgW2ZhbHNlXSkKK10sIFsKKyAgVUxfQ0hFQ0tfTElCKFthdWRpdF0sIFthdWRpdF9sb2dfdXNlcl9tZXNzYWdlXSkKKyAgQVNfQ0FTRShbJHdpdGhfYXVkaXQ6JGhhdmVfYXVkaXRdLAorICAgIFt5ZXM6bm9dLAorICAgICAgW0FDX01TR19FUlJPUihbQXVkaXQgc2VsZWN0ZWQgYnV0IGxpYmF1ZGl0IG5vdCBmb3VuZCAob3IgZG9lcyBub3Qgc3VwcG9ydCBhdWRpdF9sb2dfdXNlcl9tZXNzYWdlKCkpXSldCisgICkKK10pCisKK0FDX0FSR19XSVRIKFt1ZGV2XSwgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC11ZGV2XSwgW2NvbXBpbGUgd2l0aG91dCB1ZGV2IHN1cHBvcnRdKSwKKyAgW10sIFt3aXRoX3VkZXY9YXV0b10KKykKKworQVNfSUYoW3Rlc3QgIngkd2l0aF91ZGV2IiA9IHhub10sIFsKKyAgQU1fQ09ORElUSU9OQUwoW0hBVkVfVURFVl0sIFtmYWxzZV0pCitdLCBbCisgIFVMX0NIRUNLX0xJQihbdWRldl0sIFt1ZGV2X25ld10pCisgIEFTX0NBU0UoWyR3aXRoX3VkZXY6JGhhdmVfdWRldl0sCisgICAgW3llczpub10sCisgICAgICBbQUNfTVNHX0VSUk9SKFt1ZGV2IHNlbGVjdGVkIGJ1dCBsaWJ1ZGV2IG5vdCBmb3VuZF0pXQorICApCitdKQorCisKK2RubCB3aWRlLWNoYXIgbmN1cnNlcworQUNfQVJHX1dJVEgoW25jdXJzZXN3XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC1uY3Vyc2Vzd10sIFtkbyBub3QgYnVpbGQgd2l0aCB3aWRlLWNoYXIgbmN1cnNlc10pLAorICBbXSwgW3dpdGhfbmN1cnNlc3c9YXV0b10KKykKK2hhdmVfbmN1cnNlc3c9bm8KK2hhdmVfbmN1cnNlc3dfaGVhZGVyPW5vCitBU19JRihbdGVzdCAieCR3aXRoX25jdXJzZXN3IiAhPSB4bm9dLCBbCisgIFVMX05DVVJTRVNfQ0hFQ0soW25jdXJzZXN3XSkKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9uY3Vyc2VzdyIgPSB4eWVzXSwgWworICAgIEFDX0NIRUNLX0hFQURFUlMoW25jdXJzZXN3L25jdXJzZXMuaF0sIFtoYXZlX25jdXJzZXN3X2hlYWRlcj15ZXNdKQorICAgIEFDX0NIRUNLX0hFQURFUlMoW25jdXJzZXN3L3Rlcm0uaF0pCisKKyAgICAjIERlZmluZSBIQVZFX05DVVJTRVNfSCBvbmx5IGlmIGNoZWNrIGZvciBIQVZFX05DVVJTRVNXX05DVVJTRVNfSCBpcworICAgICMgdW5zdWNjZXNzZnVsIHRvIGF2b2lkIHRvbyBtYW55ICpfSCBwZXJtaXRhdGlvbnMgaW4gY29uZmlnLmgKKyAgICBBU19JRihbdGVzdCAieCRoYXZlX25jdXJzZXN3X2hlYWRlciIgPSB4bm9dLCBbCisJICAgQUNfQ0hFQ0tfSEVBREVSUyhbbmN1cnNlcy5oXSwgW2hhdmVfbmN1cnNlc3dfaGVhZGVyPXllc10pCisJICAgQUNfQ0hFQ0tfSEVBREVSUyhbdGVybS5oXSkKKyAgICBdKQorICAgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlc3dfaGVhZGVyIiA9IHhub10sIFtoYXZlX25jdXJzZXN3PW5vXSkKKyAgXSkKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9uY3Vyc2VzdyIgPSB4eWVzXSwgWworICAgIENVUlNFU19MSUJfTkFNRT0ibmN1cnNlc3ciCisgICAgQUNfREVGSU5FKFtIQVZFX0xJQk5DVVJTRVNXXSwgWzFdLCBbRGVmaW5lIGlmIG5jdXJzZXN3IGxpYnJhcnkgYXZhaWxhYmxlXSkKKyAgXSkKK10pCitBU19DQVNFKFskd2l0aF9uY3Vyc2VzdzokaGF2ZV9uY3Vyc2Vzd10sCisgIFt5ZXM6bm9dLCBbQUNfTVNHX0VSUk9SKFtuY3Vyc2VzdyBzZWxlY3RlZCwgYnV0IGxpYnJhcnkgbm90IGZvdW5kXSldKQorCisKK2RubCBub24td2lkZSBuY3Vyc2VzCitBQ19BUkdfV0lUSChbbmN1cnNlc10sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtbmN1cnNlc10sIFtidWlsZCB3aXRoIG5vbi13aWRlIG5jdXJzZXNdKSwKKyAgW10sIFt3aXRoX25jdXJzZXM9YXV0b10KKykKK2hhdmVfbmN1cnNlcz1ubworaGF2ZV9uY3Vyc2VzX2hlYWRlcj1ubworQVNfQ0FTRShbJHdpdGhfbmN1cnNlczokYnVpbGRfd2lkZWNoYXJdLAorICBbeWVzOnllc10sIFtBQ19NU0dfRVJST1IoW3dpZGUtY2hhciBzdXBwb3J0IGVuYWJsZWQsIGJ1dCBub24td2lkZSBuY3Vyc2VzIHNlbGVjdHNdKV0pCisKK0FTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlc3ciID0geG5vIC1hICJ4JHdpdGhfbmN1cnNlcyIgIT0geG5vIF0sIFsKKyAgVUxfTkNVUlNFU19DSEVDSyhbbmN1cnNlc10pCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlcyIgPSB4eWVzXSwgWworICAgIEFDX0NIRUNLX0hFQURFUlMoW25jdXJzZXMvbmN1cnNlcy5oXSwgW2hhdmVfbmN1cnNlc19oZWFkZXI9eWVzXSkKKyAgICBBQ19DSEVDS19IRUFERVJTKFtuY3Vyc2VzL3Rlcm0uaF0pCisKKyAgICAjIERlZmluZSBIQVZFX05DVVJTRVNfSCBvbmx5IGlmIGNoZWNrIGZvciBIQVZFX05DVVJTRVNfTkNVUlNFU19IIGlzCisgICAgIyB1bnN1Y2Nlc3NmdWwgdG8gYXZvaWQgdG9vIG1hbnkgKl9IIHBlcm1pdGF0aW9ucyBpbiBjb25maWcuaAorICAgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlc19oZWFkZXIiID0geG5vXSwgWworCSAgIEFDX0NIRUNLX0hFQURFUlMoW25jdXJzZXMuaF0sIFtoYXZlX25jdXJzZXNfaGVhZGVyPXllc10pCisJICAgQUNfQ0hFQ0tfSEVBREVSUyhbdGVybS5oXSkKKyAgICBdKQorICAgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlc19oZWFkZXIiID0geG5vXSwgW2hhdmVfbmN1cnNlcz1ub10pCisgIF0pCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfbmN1cnNlcyIgPSB4eWVzXSwgWworICAgIENVUlNFU19MSUJfTkFNRT0ibmN1cnNlcyIKKyAgICBBQ19ERUZJTkUoW0hBVkVfTElCTkNVUlNFU10sIFsxXSwgW0RlZmluZSBpZiBuY3Vyc2VzIGxpYnJhcnkgYXZhaWxhYmxlXSkKKyAgXSkKK10pCitBU19DQVNFKFskd2l0aF9uY3Vyc2VzOiRoYXZlX25jdXJzZXNdLAorICBbeWVzOm5vXSwgW0FDX01TR19FUlJPUihbbmN1cnNlcyBzZWxlY3RlZCwgYnV0IGxpYnJhcnkgbm90IGZvdW5kXSldKQorCitBQ19TVUJTVChbTkNVUlNFU19DRkxBR1NdKQorQUNfU1VCU1QoW05DVVJTRVNfTElCU10pCitBTV9DT05ESVRJT05BTChbSEFWRV9OQ1VSU0VTXSwgW3Rlc3QgIngkaGF2ZV9uY3Vyc2VzdyIgPSB4eWVzIC1vICAieCRoYXZlX25jdXJzZXMiID0geHllc10pCisKKworQUNfQVJHX1dJVEgoW3NsYW5nXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1zbGFuZ10sIFtjb21waWxlIGNmZGlzayB3aXRoIHNsYW5nIHJhdGhlciB0aGFuIG5jdXJzZXNdKSwKKyAgW10sIFt3aXRoX3NsYW5nPW5vXQorKQoraGF2ZV9zbGFuZz1ubworQVNfSUYoW3Rlc3QgIngkd2l0aF9zbGFuZyIgPSB4eWVzXSwgWworICBBQ19DSEVDS19IRUFERVJTKFtzbGFuZy5oIHNsYW5nL3NsYW5nLmhdKQorICBBQ19DSEVDS19IRUFERVJTKFtzbGN1cnNlcy5oIHNsYW5nL3NsY3Vyc2VzLmhdLAorCQkgICBbaGF2ZV9zbGFuZz15ZXNdLCBbXSwgWworI2lmZGVmIEhBVkVfU0xBTkdfSAorI2luY2x1ZGUgPHNsYW5nLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfU0xBTkdfU0xBTkdfSCkKKyNpbmNsdWRlIDxzbGFuZy9zbGFuZy5oPgorI2VuZGlmCitdKQorICBBU19JRihbdGVzdCAieCRoYXZlX3NsYW5nIiA9IHhub10sIFsKKyAgICBBQ19NU0dfRVJST1IoW3NsYW5nIHNlbGVjdGVkIGJ1dCBzbGN1cnNlcy5oIG5vdCBmb3VuZF0pXSwKKyAgICBbQ1VSU0VTX0xJQl9OQU1FPXNsYW5nCisgIF0pCitdKQorQU1fQ09ORElUSU9OQUwoW0hBVkVfU0xBTkddLCBbdGVzdCAieCRoYXZlX3NsYW5nIiA9IHh5ZXNdKQorCisKK0FTX0lGKFt0ZXN0ICJ4JGhhdmVfc2xhbmciID0geHllcyAtbyAieCRoYXZlX25jdXJzZXN3IiA9IHh5ZXMgLW8gIngkaGF2ZV9uY3Vyc2VzIiA9IHh5ZXNdLCBbCisJQUNfQ0hFQ0tfTElCKFskQ1VSU0VTX0xJQl9OQU1FXSwgdXNlX2RlZmF1bHRfY29sb3JzLCBbCisJCSAgICAgQUNfREVGSU5FKEhBVkVfVVNFX0RFRkFVTFRfQ09MT1JTLCAxLAorCQkJICAgICAgIFtEZWZpbmUgaWYgY3Vyc2VzIGxpYnJhcnkgaGFzIHRoZSB1c2VfZGVmYXVsdF9jb2xvcnMoKS5dKQorCV0pCisJQUNfQ0hFQ0tfTElCKFskQ1VSU0VTX0xJQl9OQU1FXSwgcmVzaXpldGVybSwgWworCQkgICAgIEFDX0RFRklORShIQVZFX1JFU0laRVRFUk0sIDEsCisJCQkgICAgICAgW0RlZmluZSBpZiBjdXJzZXMgbGlicmFyeSBoYXMgdGhlIHJlc2l6ZXRlcm0oKS5dKQorCV0pCitdKQorCisKK0FDX0FSR19XSVRIKFt0aW5mb10sIEFTX0hFTFBfU1RSSU5HKFstLXdpdGhvdXQtdGluZm9dLCBbY29tcGlsZSB3aXRob3V0IGxpYnRpbmZvXSksCisgIFtdLCBbd2l0aF90aW5mbz1hdXRvXQorKQoraGF2ZV90aW5mbz1ubworaGF2ZV90aW5mb3c9bm8KK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfdGluZm8iICE9IHhub10sIFsKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9uY3Vyc2VzdyIgPSB4eWVzXSwgWworICAgIFVMX1RJTkZPX0NIRUNLKFt0aW5mb3ddKQorICBdKQorICBBU19JRihbdGVzdCAieCRoYXZlX3RpbmZvdyIgPSB4bm9dLCBbCisgICAgVUxfVElORk9fQ0hFQ0soW3RpbmZvXSkKKyAgXSkKK10pCitBQ19TVUJTVChbVElORk9fTElCU10pCitBQ19TVUJTVChbVElORk9fTElCU19TVEFUSUNdKQorQUNfU1VCU1QoW1RJTkZPX0NGTEFHU10pCitBTV9DT05ESVRJT05BTChbSEFWRV9USU5GT10sIFt0ZXN0ICJ4JGhhdmVfdGluZm8iID0geHllcyAtbyAieCRoYXZlX3RpbmZvdyIgPSB4eWVzXSkKK0FTX0lGKFt0ZXN0ICJ4JGhhdmVfdGluZm8iID0geHllcyAtbyAieCRoYXZlX3RpbmZvdyIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoSEFWRV9MSUJUSU5GTywgMSwgW0RlZmluZSBpZiBsaWJ0aW5mbyBvciBsaWJ0aW5mb3cgYXZhaWxhYmxlLl0pCitdKQorCisKK0FDX0FSR19XSVRIKFtyZWFkbGluZV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGhvdXQtcmVhZGxpbmVdLCBbZG8gbm90IGJ1aWxkIHdpdGggR05VIFJlYWRsaW5lIHN1cHBvcnRdKSwKKyAgW10sIFt3aXRoX3JlYWRsaW5lPWF1dG9dCispCisKK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfcmVhZGxpbmUiID0geG5vXSwgWworICBBTV9DT05ESVRJT05BTChbSEFWRV9SRUFETElORV0sIFtmYWxzZV0pCitdLCBbCisgIFVMX0NIRUNLX0xJQihbcmVhZGxpbmVdLCBbcmVhZGxpbmVdKQorICBBU19DQVNFKFskd2l0aF9yZWFkbGluZTokaGF2ZV9yZWFkbGluZV0sCisgICAgW3llczpub10sCisgICAgICBbQUNfTVNHX0VSUk9SKFtyZWFkbGluZSBzZWxlY3RlZCBidXQgbGlicmVhZGxpbmUgbm90IGZvdW5kIF0pXSwKKyAgICBbKjp5ZXNdLAorICAgICAgW1JFQURMSU5FX0xJQlM9Ii1scmVhZGxpbmUiCisgICAgICAgUkVBRExJTkVfTElCU19TVEFUSUM9Ii1scmVhZGxpbmUgJFRJTkZPX0xJQlNfU1RBVElDIl0KKyAgKQorXSkKK0FDX1NVQlNUKFtSRUFETElORV9MSUJTXSkKK0FDX1NVQlNUKFtSRUFETElORV9MSUJTX1NUQVRJQ10pCisKKworQUNfQVJHX1dJVEgoW3V0ZW1wdGVyXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC11dGVtcHRlcl0sIFtjb21waWxlIHNjcmlwdCgxKSB3aXRoIGxpYnV0ZW1wdGVyXSksCisgIFtdLCBbd2l0aF91dGVtcHRlcj1ub10KKykKKworQVNfSUYoW3Rlc3QgIngkd2l0aF91dGVtcHRlciIgPSB4eWVzXSwgWworICBVTF9DSEVDS19MSUIoW3V0ZW1wdGVyXSwgW3V0ZW1wdGVyX2FkZF9yZWNvcmRdKQorICBBU19JRihbdGVzdCAieCRoYXZlX3V0ZW1wdGVyIiA9IHhub10sIFsKKyAgICBBQ19NU0dfRVJST1IoW3V0ZW1wdGVyIHNlbGVjdGVkIGJ1dCBsaWJ1dGVtcHRlciBub3QgZm91bmRdKQorICBdKQorXSwgWworICBBTV9DT05ESVRJT05BTChbSEFWRV9VVEVNUFRFUl0sIFtmYWxzZV0pCitdKQorCisKK2RubAorZG5sIGxpYnV1aWQKK2RubAorQUNfQVJHX0VOQUJMRShbbGlidXVpZF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbGlidXVpZF0sIFtkbyBub3QgYnVpbGQgbGlidXVpZCBhbmQgdXVpZCB1dGlsaXRpZXNdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbGlidXVpZF0sIFt5ZXNdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xpYnV1aWRdKQorQUNfU1VCU1QoW0xJQlVVSURfVkVSU0lPTl0pCitBQ19TVUJTVChbTElCVVVJRF9WRVJTSU9OX0lORk9dKQorQU1fQ09ORElUSU9OQUwoQlVJTERfTElCVVVJRCwgdGVzdCAieCRidWlsZF9saWJ1dWlkIiA9IHh5ZXMpCisKK0FDX0FSR19FTkFCTEUoW2xpYnV1aWQtZm9yY2UtdXVpZGRdLAorICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtbGlidXVpZC1mb3JjZS11dWlkZF0sIFtzdXBwb3J0IHV1aWRkIGV2ZW4gdGhvdWdoIHRoZSBkYWVtb24gaXMgbm90IGJ1aWx0XSksCisgIFtdLCBbZW5hYmxlX2xpYnV1aWRfZm9yY2VfdXVpZGQ9bm9dCispCisKK0FTX0lGKFt0ZXN0ICJ4JGJ1aWxkX2xpYnV1aWQiID0geHllc10sIFsKKyAgQUNfREVGSU5FKEhBVkVfTElCVVVJRCwgMSwgW0RlZmluZSB0byAxIGlmIHlvdSBoYXZlIHRoZSAtbHV1aWQuXSkKK10pCisKK2RubAorZG5sIGxpYmJsa2lkCitkbmwKK0FDX0FSR19FTkFCTEUoW2xpYmJsa2lkXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1saWJibGtpZF0sIFtkbyBub3QgYnVpbGQgbGliYmxraWQgYW5kIG1hbnkgcmVsYXRlZCB1dGlsaXRpZXNdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbGliYmxraWRdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xpYmJsa2lkXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xpYmJsa2lkXSwgW29wZW5hdF0sIFtvcGVuYXQgZnVuY3Rpb25zXSkKK0FDX1NVQlNUKFtMSUJCTEtJRF9EQVRFXSkKK0FDX1NVQlNUKFtMSUJCTEtJRF9WRVJTSU9OXSkKK0FDX1NVQlNUKFtMSUJCTEtJRF9WRVJTSU9OX0lORk9dKQorQUNfREVGSU5FX1VOUVVPVEVEKFtMSUJCTEtJRF9WRVJTSU9OXSwgWyIkTElCQkxLSURfVkVSU0lPTiJdLCBbbGliYmxraWQgdmVyc2lvbiBzdHJpbmddKQorQUNfREVGSU5FX1VOUVVPVEVEKFtMSUJCTEtJRF9EQVRFXSwgWyIkTElCQkxLSURfREFURSJdLCBbbGliYmxraWQgZGF0ZSBzdHJpbmddKQorQVNfSUYoW3Rlc3QgIngkYnVpbGRfbGliYmxraWQiID0geHllc10sIFsKKyAgQUNfREVGSU5FKFtIQVZFX0xJQkJMS0lEXSwgWzFdLCBbRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIC1sYmxraWQuXSkKK10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTElCQkxLSURdLCBbdGVzdCAieCRidWlsZF9saWJibGtpZCIgPSB4eWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MSUJCTEtJRF9URVNUU10sIFt0ZXN0ICJ4JGJ1aWxkX2xpYmJsa2lkIiA9IHh5ZXMgLWEgIngkZW5hYmxlX3N0YXRpYyIgPSB4eWVzXSkKKworZG5sCitkbmwgbGlibW91bnQKK2RubAorQUNfQVJHX0VOQUJMRShbbGlibW91bnRdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxpYm1vdW50XSwgW2RvIG5vdCBidWlsZCBsaWJtb3VudF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtsaWJtb3VudF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbbGlibW91bnRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xpYm1vdW50XSwgW2xpYmJsa2lkXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xpYm1vdW50XSwgW3NjYW5mX2FsbG9jX21vZGlmaWVyXSwgW3NjYW5mIHN0cmluZyBhbGxvYyBtb2RpZmllcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfTElCTU9VTlRdLCBbdGVzdCAieCRidWlsZF9saWJtb3VudCIgPSB4eWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MSUJNT1VOVF9URVNUU10sIFt0ZXN0ICJ4JGJ1aWxkX2xpYm1vdW50IiA9IHh5ZXMgLWEgIngkZW5hYmxlX3N0YXRpYyIgPSB4eWVzXSkKK0FTX0lGKFt0ZXN0ICJ4JGJ1aWxkX2xpYm1vdW50IiA9IHh5ZXNdLCBbCisJQUNfREVGSU5FKEhBVkVfTElCTU9VTlQsIDEsIFtEZWZpbmUgaWYgbGlibW91bnQgYXZhaWxhYmxlLl0pCitdKQorCitBQ19TVUJTVChbTElCTU9VTlRfVkVSU0lPTl0pCitBQ19TVUJTVChbTElCTU9VTlRfTUFKT1JfVkVSU0lPTl0sICRQQUNLQUdFX1ZFUlNJT05fTUFKT1IpCitBQ19TVUJTVChbTElCTU9VTlRfTUlOT1JfVkVSU0lPTl0sICRQQUNLQUdFX1ZFUlNJT05fTUlOT1IpCitBQ19TVUJTVChbTElCTU9VTlRfUEFUQ0hfVkVSU0lPTl0sICRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSkKK0FDX1NVQlNUKFtMSUJNT1VOVF9WRVJTSU9OX0lORk9dKQorQUNfREVGSU5FX1VOUVVPVEVEKFtMSUJNT1VOVF9WRVJTSU9OXSwgWyIkTElCTU9VTlRfVkVSU0lPTiJdLCBbbGlibW91bnQgdmVyc2lvbiBzdHJpbmddKQorCitBQ19BUkdfRU5BQkxFKFtsaWJtb3VudC1zdXBwb3J0LW10YWJdLAorICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtbGlibW91bnQtc3VwcG9ydC1tdGFiXSwgW3N1cHBvcnQgL2V0Yy9tdGFiIChkZWZhdWx0IGlzIHVzZSAvcHJvYy9zZWxmL21vdW50aW5mbyldKSwKKyAgW10sIFtlbmFibGVfbGlibW91bnRfc3VwcG9ydF9tdGFiPW5vXQorKQorCitBU19JRihbdGVzdCAieCRlbmFibGVfbGlibW91bnRfc3VwcG9ydF9tdGFiIiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbVVNFX0xJQk1PVU5UX1NVUFBPUlRfTVRBQl0sIFsxXSwgW0RlZmluZSB0byAxIGlmIHdhbnQgdG8gc3VwcG9ydCBtdGFiLl0pCitdKQorCisKK2RubAorZG5sIGxpYnNtYXJ0Y29scworZG5sCitBQ19BUkdfRU5BQkxFKFtsaWJzbWFydGNvbHNdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxpYnNtYXJ0Y29sc10sIFtkbyBub3QgYnVpbGQgbGlic21hcnRjb2xzXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2xpYnNtYXJ0Y29sc10sIFt5ZXNdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTElCU01BUlRDT0xTXSwgW3Rlc3QgIngkYnVpbGRfbGlic21hcnRjb2xzIiA9IHh5ZXNdKQorCitBQ19TVUJTVChbTElCU01BUlRDT0xTX1ZFUlNJT05dKQorQUNfU1VCU1QoW0xJQlNNQVJUQ09MU19WRVJTSU9OX0lORk9dKQorQUNfREVGSU5FX1VOUVVPVEVEKFtMSUJTTUFSVENPTFNfVkVSU0lPTl0sIFsiJExJQlNNQVJUQ09MU19WRVJTSU9OIl0sIFtsaWJzbWFydGNvbHMgdmVyc2lvbiBzdHJpbmddKQorCisKK2RubAorZG5sIGxpYmZkaXNrCitkbmwKK0FDX0FSR19FTkFCTEUoW2xpYmZkaXNrXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1saWJmZGlza10sIFtkbyBub3QgYnVpbGQgbGliZmRpc2tdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbGliZmRpc2tdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xpYmZkaXNrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsaWJmZGlza10sIFtsaWJ1dWlkXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MSUJGRElTS10sIFt0ZXN0ICJ4JGJ1aWxkX2xpYmZkaXNrIiA9IHh5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xJQkZESVNLX1RFU1RTXSwgW3Rlc3QgIngkYnVpbGRfbGliZmRpc2siID0geHllcyAtYSAieCRlbmFibGVfc3RhdGljIiA9IHh5ZXNdKQorCitBU19JRihbdGVzdCAieCRidWlsZF9saWJibGtpZCIgPSB4eWVzXSwKKyAgW0xJQkZESVNLX1BDX1JFUVVJUkVTPSJ1dWlkIGJsa2lkIl0sW0xJQkZESVNLX1BDX1JFUVVJUkVTPSJ1dWlkIl0pCitBQ19TVUJTVChbTElCRkRJU0tfUENfUkVRVUlSRVNdKQorCitBQ19TVUJTVChbTElCRkRJU0tfVkVSU0lPTl0pCitBQ19TVUJTVChbTElCRkRJU0tfTUFKT1JfVkVSU0lPTl0sICRQQUNLQUdFX1ZFUlNJT05fTUFKT1IpCitBQ19TVUJTVChbTElCRkRJU0tfTUlOT1JfVkVSU0lPTl0sICRQQUNLQUdFX1ZFUlNJT05fTUlOT1IpCitBQ19TVUJTVChbTElCRkRJU0tfUEFUQ0hfVkVSU0lPTl0sICRQQUNLQUdFX1ZFUlNJT05fUkVMRUFTRSkKK0FDX1NVQlNUKFtMSUJGRElTS19WRVJTSU9OX0lORk9dKQorQUNfREVGSU5FX1VOUVVPVEVEKFtMSUJGRElTS19WRVJTSU9OXSwgWyIkTElCRkRJU0tfVkVSU0lPTiJdLCBbbGliZmRpc2sgdmVyc2lvbiBzdHJpbmddKQorCisKK1VMX0JVSUxEX0lOSVQoW2ZkaXNrXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2ZkaXNrXSwgW29wZW5hdF0sIFtvcGVuYXQgZnVuY3Rpb25zXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtmZGlza10sIFtsaWJmZGlza10pCitVTF9SRVFVSVJFU19CVUlMRChbZmRpc2tdLCBbbGlic21hcnRjb2xzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9GRElTS10sIFt0ZXN0ICJ4JGJ1aWxkX2ZkaXNrIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW3NmZGlza10sIFtjaGVja10pCitVTF9SRVFVSVJFU19IQVZFKFtzZmRpc2tdLCBbb3BlbmF0XSwgW29wZW5hdCBmdW5jdGlvbnNdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3NmZGlza10sIFtsaWJmZGlza10pCitVTF9SRVFVSVJFU19CVUlMRChbc2ZkaXNrXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfU0ZESVNLXSwgW3Rlc3QgIngkYnVpbGRfc2ZkaXNrIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW2NmZGlza10sIFtjaGVja10pCitVTF9SRVFVSVJFU19CVUlMRChbY2ZkaXNrXSwgW2xpYmZkaXNrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtjZmRpc2tdLCBbbGlic21hcnRjb2xzXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2NmZGlza10sIFtvcGVuX21lbXN0cmVhbV0sIFtvcGVuX21lbXN0cmVhbSBmdW5jdGlvbl0pCitVTF9SRVFVSVJFU19IQVZFKFtjZmRpc2tdLCBbbmN1cnNlc3csc2xhbmcsbmN1cnNlc10sIFtuY3Vyc2VzdywgbmN1cnNlcyBvciBzbGFuZyBsaWJyYXJ5XSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9DRkRJU0tdLCBbdGVzdCAieCRidWlsZF9jZmRpc2siID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbW91bnRdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLW1vdW50XSwgW2RvIG5vdCBidWlsZCBtb3VudCg4KSBhbmQgdW1vdW50KDgpXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW21vdW50XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFttb3VudF0pCitVTF9SRVFVSVJFU19MSU5VWChbbW91bnRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW21vdW50XSwgW2xpYm1vdW50XSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9NT1VOVF0sIFt0ZXN0ICJ4JGJ1aWxkX21vdW50IiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2xvc2V0dXBdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxvc2V0dXBdLCBbZG8gbm90IGJ1aWxkIGxvc2V0dXBdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbG9zZXR1cF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbbG9zZXR1cF0pCitVTF9SRVFVSVJFU19MSU5VWChbbG9zZXR1cF0pCitVTF9SRVFVSVJFU19CVUlMRChbbG9zZXR1cF0sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xPU0VUVVBdLCBbdGVzdCAieCRidWlsZF9sb3NldHVwIiA9IHh5ZXNdKQorCitBQ19BUkdfRU5BQkxFKFt6cmFtY3RsXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS16cmFtY3RsXSwgW2RvIG5vdCBidWlsZCB6cmFtY3RsXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3pyYW1jdGxdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3pyYW1jdGxdKQorVUxfUkVRVUlSRVNfTElOVVgoW3pyYW1jdGxdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3pyYW1jdGxdLCBbbGlic21hcnRjb2xzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9aUkFNQ1RMXSwgW3Rlc3QgIngkYnVpbGRfenJhbWN0bCIgPSB4eWVzXSkKKworQUNfQVJHX0VOQUJMRShbZnNja10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtZnNja10sIFtkbyBub3QgYnVpbGQgZnNja10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtmc2NrXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtmc2NrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtmc2NrXSwgW2xpYm1vdW50XSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9GU0NLXSwgW3Rlc3QgIngkYnVpbGRfZnNjayIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtwYXJ0eF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcGFydHhdLCBbZG8gbm90IGJ1aWxkIGFkZHBhcnQsIGRlbHBhcnQsIHBhcnR4XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3BhcnR4XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtwYXJ0eF0pCitVTF9SRVFVSVJFU19MSU5VWChbcGFydHhdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3BhcnR4XSwgW2xpYmJsa2lkXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtwYXJ0eF0sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1BBUlRYXSwgW3Rlc3QgIngkYnVpbGRfcGFydHgiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbdXVpZGRdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXV1aWRkXSwgW2RvIG5vdCBidWlsZCB0aGUgdXVpZCBkYWVtb25dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbdXVpZGRdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3V1aWRkXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFt1dWlkZF0sIFtsaWJ1dWlkXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3V1aWRkXSwgW3RpbWVyXSwgW3RpbWVyX2NyZWF0ZSBmdW5jdGlvbl0pCitVTF9SRVFVSVJFU19IQVZFKFt1dWlkZF0sIFtzeXNfc2lnbmFsZmRfaF0sIFtzeXMvc2lnbmFsZmQuaCBoZWFkZXJdKQorQVNfSUYoW3Rlc3QgIngkYnVpbGRfdXVpZGQiID0geHllcyB8fCB0ZXN0ICJ4JGVuYWJsZV9saWJ1dWlkX2ZvcmNlX3V1aWRkIiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbSEFWRV9VVUlERF0sIFsxXSwgW0RlZmluZSB0byAxIGlmIHlvdSB3YW50IHRvIHVzZSB1dWlkIGRhZW1vbi5dKQorXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9VVUlERF0sIFt0ZXN0ICJ4JGJ1aWxkX3V1aWRkIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW3V1aWRnZW5dLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3V1aWRnZW5dLCBbbGlidXVpZF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfVVVJREdFTl0sIFt0ZXN0ICJ4JGJ1aWxkX3V1aWRnZW4iID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW3V1aWRwYXJzZV0sIFtjaGVja10pCitVTF9SRVFVSVJFU19CVUlMRChbdXVpZHBhcnNlXSwgW2xpYnV1aWRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3V1aWRwYXJzZV0sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1VVSURQQVJTRV0sIFt0ZXN0ICJ4JGJ1aWxkX3V1aWRwYXJzZSIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbYmxraWRdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2Jsa2lkXSwgW2xpYmJsa2lkXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9CTEtJRF0sIFt0ZXN0ICJ4JGJ1aWxkX2Jsa2lkIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtmaW5kZnNdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2ZpbmRmc10sIFtsaWJibGtpZF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfRklOREZTXSwgW3Rlc3QgIngkYnVpbGRfZmluZGZzIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFt3aXBlZnNdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3dpcGVmc10sIFtsaWJibGtpZF0pCitVTF9SRVFVSVJFU19CVUlMRChbd2lwZWZzXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfV0lQRUZTXSwgW3Rlc3QgIngkYnVpbGRfd2lwZWZzIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtmaW5kbW50XSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtmaW5kbW50XSwgW2xpYm1vdW50XSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtmaW5kbW50XSwgW2xpYmJsa2lkXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtmaW5kbW50XSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfRklORE1OVF0sIFt0ZXN0ICJ4JGJ1aWxkX2ZpbmRtbnQiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbW91bnRwb2ludF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbW91bnRwb2ludF0sIFtkbyBub3QgYnVpbGQgbW91bnRwb2ludF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFttb3VudHBvaW50XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFttb3VudHBvaW50XSkKK1VMX1JFUVVJUkVTX0JVSUxEKFttb3VudHBvaW50XSwgW2xpYm1vdW50XSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9NT1VOVFBPSU5UXSwgW3Rlc3QgIngkYnVpbGRfbW91bnRwb2ludCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtmYWxsb2NhdGVdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWZhbGxvY2F0ZV0sIFtkbyBub3QgYnVpbGQgZmFsbG9jYXRlXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2ZhbGxvY2F0ZV0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbZmFsbG9jYXRlXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtmYWxsb2NhdGVdKQorVUxfUkVRVUlSRVNfU1lTQ0FMTF9DSEVDSyhbZmFsbG9jYXRlXSwgW1VMX0NIRUNLX1NZU0NBTEwoW2ZhbGxvY2F0ZV0pXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9GQUxMT0NBVEVdLCBbdGVzdCAieCRidWlsZF9mYWxsb2NhdGUiID0geHllc10pCisKK0FTX0lGKFt0ZXN0ICJ4JGJ1aWxkX2ZhbGxvY2F0ZSIgPSB4eWVzXSwgWworICBkbmwgY2hlY2sgZm9yIHZhbGlkIGZhbGxvY2F0ZSgpIGZ1bmN0aW9uCisgIGRubCB3aXRoIDMyIGJpdHMgZ2xpYmMgMi4xMCwgZmFsbG9jYXRlKCkgZXhpc3RzIGJ1dCBub3QgZmFsbG9jYXRlNjQoKQorICBkbmwgd2hlbiBfRklMRV9PRkZTRVRfQklUUz09NjQsIGZhbGxvY2F0ZSgpIGlzIHJlZGlyZWN0IHRvIGZhbGxvY2F0ZTY0KCkKKyAgZG5sIGFuZCBwcm9ncmFtIGNhbid0IGJlIGxpbmtlZC4KKyAgZG5sIEFDX0NIRUNLX0ZVTkMgY2FuJ3QgY2F0Y2ggc3VjaCBlcnJvcnMgc2luY2UgaXQncyByZWRlZmluaW5nCisgIGRubCBmdW5jdGlvbiBwcm90b3R5cGUuCisgIEFDX01TR19DSEVDS0lORyhbZm9yIHZhbGlkIGZhbGxvY2F0ZSgpIGZ1bmN0aW9uXSkKKyAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworI2lmZGVmIEhBVkVfVU5JU1REX0gKKyMgaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19UWVBFU19ICisjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9MSU5VWF9GQUxMT0NfSAorIyBpbmNsdWRlIDxsaW51eC9mYWxsb2MuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRkNOVExfSAorIyBpbmNsdWRlIDxmY250bC5oPgorI2VuZGlmCitdXSxbWworICAgbG9uZyByZXQ7CisgICByZXQgPSBmYWxsb2NhdGUoMCwgRkFMTE9DX0ZMX0tFRVBfU0laRSwgMHhmZmZmZmZmZnVsLCAweGZmZmZmZmZmdWwpOworICAgaWYgKHJldCAhPSAwKSB7CisgICAgICByZXR1cm4gMTsKKyAgIH0KKyAgIF1dKV0sWworICBBQ19NU0dfUkVTVUxUKFt5ZXNdKQorICBBQ19ERUZJTkUoW0hBVkVfRkFMTE9DQVRFXSwgWzFdLCBbSGF2ZSB2YWxpZCBmYWxsb2NhdGUoKSBmdW5jdGlvbl0pXSxbCisgIEFDX01TR19SRVNVTFQoW25vXSldKQorXSkKKworQVNfSUYoW3Rlc3QgIngkYnVpbGRfZmFsbG9jYXRlIiA9IHh5ZXNdLCBbCisgIGRubCBjaGVjayBmb3IgdmFsaWQgcG9zaXhfZmFsbG9jYXRlKCkgZnVuY3Rpb24KKyAgQUNfTVNHX0NIRUNLSU5HKFtmb3IgdmFsaWQgcG9zaXhfZmFsbG9jYXRlKCkgZnVuY3Rpb25dKQorICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFtbCisjaWZkZWYgSEFWRV9VTklTVERfSAorIyBpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyMgaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0xJTlVYX0ZBTExPQ19ICisjIGluY2x1ZGUgPGxpbnV4L2ZhbGxvYy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GQ05UTF9ICisjIGluY2x1ZGUgPGZjbnRsLmg+CisjZW5kaWYKK11dLFtbCisgICBsb25nIHJldDsKKyAgIHJldCA9IHBvc2l4X2ZhbGxvY2F0ZSgwLCAweGZmZmZmZmZmdWwsIDB4ZmZmZmZmZmZ1bCk7CisgICBpZiAocmV0ICE9IDApIHsKKyAgICAgIHJldHVybiAxOworICAgfQorICAgXV0pXSxbCisgIEFDX01TR19SRVNVTFQoW3llc10pCisgIEFDX0RFRklORShbSEFWRV9QT1NJWF9GQUxMT0NBVEVdLCBbMV0sIFtIYXZlIHZhbGlkIHBvc2l4X2ZhbGxvY2F0ZSgpIGZ1bmN0aW9uXSldLFsKKyAgQUNfTVNHX1JFU1VMVChbbm9dKV0pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW3Vuc2hhcmVdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXVuc2hhcmVdLCBbZG8gbm90IGJ1aWxkIHVuc2hhcmVdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbdW5zaGFyZV0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbdW5zaGFyZV0pCitVTF9SRVFVSVJFU19MSU5VWChbdW5zaGFyZV0pCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFt1bnNoYXJlXSwgW1VMX0NIRUNLX1NZU0NBTEwoW3Vuc2hhcmVdKV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfVU5TSEFSRV0sIFt0ZXN0ICJ4JGJ1aWxkX3Vuc2hhcmUiID0geHllc10pCitBQ19DSEVDS19GVU5DUyhbdW5zaGFyZV0pCisKK0FDX0FSR19FTkFCTEUoW25zZW50ZXJdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLW5zZW50ZXJdLCBbZG8gbm90IGJ1aWxkIG5zZW50ZXJdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbnNlbnRlcl0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbbnNlbnRlcl0pCitVTF9SRVFVSVJFU19MSU5VWChbbnNlbnRlcl0pCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFtuc2VudGVyXSwgW1VMX0NIRUNLX1NZU0NBTEwoW3NldG5zXSldLCBbc2V0bnNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX05TRU5URVJdLCBbdGVzdCAieCRidWlsZF9uc2VudGVyIiA9IHh5ZXNdKQorQUNfQ0hFQ0tfRlVOQ1MoW3NldG5zXSkKKworCitBQ19BUkdfV0lUSChbY2FwX25nXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC1jYXAtbmddLCBbY29tcGlsZSB3aXRob3V0IGxpYmNhcC1uZ10pLAorICBbXSwgW3dpdGhfY2FwX25nPWF1dG9dCispCitBU19JRihbdGVzdCAieCR3aXRoX2NhcF9uZyIgPSB4bm9dLCBbCisgIEFNX0NPTkRJVElPTkFMKFtIQVZFX0NBUF9OR10sIFtmYWxzZV0pCisgIGhhdmVfY2FwX25nPW5vCitdLFsKKyAgVUxfQ0hFQ0tfTElCKFtjYXAtbmddLCBbY2FwbmdfYXBwbHldLCBbY2FwX25nXSkKK10pCisKKworQUNfQVJHX0VOQUJMRShbc2V0cHJpdl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc2V0cHJpdl0sIFtkbyBub3QgYnVpbGQgc2V0cHJpdl0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtzZXRwcml2XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtzZXRwcml2XSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtzZXRwcml2XSkKK1VMX1JFUVVJUkVTX0hBVkUoW3NldHByaXZdLCBbbGludXhfc2VjdXJlYml0c19oXSwgW3NlY3VyZWJpdHMuaCBoZWFkZXIgZmlsZV0pCitVTF9SRVFVSVJFU19IQVZFKFtzZXRwcml2XSwgW2NhcF9uZ10sIFtsaWJjYXAtbmcgbGlicmFyeV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfU0VUUFJJVl0sIFt0ZXN0ICJ4JGJ1aWxkX3NldHByaXYiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbZWplY3RdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWVqZWN0XSwgW2RvIG5vdCBidWlsZCBlamVjdF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtlamVjdF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbZWplY3RdKQorVUxfUkVRVUlSRVNfTElOVVgoW2VqZWN0XSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtlamVjdF0sIFtsaWJtb3VudF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfRUpFQ1RdLCBbdGVzdCAieCRidWlsZF9lamVjdCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFthZ2V0dHldLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWFnZXR0eV0sIFtkbyBub3QgYnVpbGQgYWdldHR5XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2FnZXR0eV0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbYWdldHR5XSkKK1VMX1JFUVVJUkVTX0hBVkUoW2FnZXR0eV0sIFt1dG1weF9oXSwgW3V0bXB4LmggaGVhZGVyXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2FnZXR0eV0sIFtnbnVfdXRtcHhdLCBbR05VIHV0bXB4IGZ1bmN0aW9uc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfQUdFVFRZXSwgW3Rlc3QgIngkYnVpbGRfYWdldHR5IiA9IHh5ZXNdKQorQVNfSUYoW3Rlc3QgIngkaGF2ZV9mdXRpbWVucyIgPSB4eWVzIC1hICJ4JGhhdmVfaW5vdGlmeV9pbml0MSIgPSB4eWVzIF0sIFsKKyAgQUNfREVGSU5FKFtBR0VUVFlfUkVMT0FEXSwgWzFdLCBbRW5hYmxlIGFnZXR0eSAtLXJlbG9hZCBmZWF0dXJlXSkKK10sWworICBBQ19NU0dfV0FSTihbZnV0aW1lbnMgb3IgaW5vdGlmeV9pbml0MSBub3QgZm91bmQ7IGFnZXR0eSg4KSB3aWxsIG5vdCBwcm92aWRlIC0tLXJlbG9hZCBmdW5jdGlvbmFsaXR5XSkKK10pCisKKworQUNfQVJHX0VOQUJMRShbcGx5bW91dGhfc3VwcG9ydF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcGx5bW91dGhfc3VwcG9ydF0sIFtkb24gbm90IGNhcmUgYWJvdXQgcGx5bW91dGggaW4gc3lsb2dpbig4KSBhbmQgYWdldHR5KDgpXSksCisgIFtdLCBbZW5hYmxlX3BseW1vdXRoX3N1cHBvcnQ9Y2hlY2tdCispCitVTF9CVUlMRF9JTklUKFtwbHltb3V0aF9zdXBwb3J0XSkKK1VMX1JFUVVJUkVTX0hBVkUoW3BseW1vdXRoX3N1cHBvcnRdLCBbdGlvY2dsY2t0cm1pb3NdLCBbVElPQ0dMQ0tUUk1JT1MgZmxhZ10pCitVTF9SRVFVSVJFU19IQVZFKFtwbHltb3V0aF9zdXBwb3J0XSwgW3NvY2tfY2xvZXhlY10sIFtTT0NLX0NMT0VYRUMgZmxhZ10pCitVTF9SRVFVSVJFU19IQVZFKFtwbHltb3V0aF9zdXBwb3J0XSwgW3NvY2tfbm9uYmxvY2tdLCBbU09DS19OT05CTE9DSyBmbGFnXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3BseW1vdXRoX3N1cHBvcnRdLCBbc29fcGFzc2NyZWRdLCBbU09fUEFTU0NSRUQgZmxhZ10pCitBTV9DT05ESVRJT05BTChbVVNFX1BMWU1PVVRIX1NVUFBPUlRdLCBbdGVzdCAieCRidWlsZF9wbHltb3V0aF9zdXBwb3J0IiA9IHh5ZXNdKQorQVNfSUYoW3Rlc3QgIngkYnVpbGRfcGx5bW91dGhfc3VwcG9ydCIgPSB4eWVzIF0sIFsKKyAgICBBQ19ERUZJTkUoW1VTRV9QTFlNT1VUSF9TVVBQT1JUXSwgWzFdLCBbRW5hYmxlIHBseW1vdXRoIHN1cHBvcnQgZmVhdHVyZSBmb3Igc3Vsb2dpbiBhbmQgYWdnZXR5XSkKK10pCisKKworQUNfQVJHX1dJVEgoW2xpYnpdLAorICBBU19IRUxQX1NUUklORyhbLS13aXRob3V0LWxpYnpdLCBbY29tcGlsZSB3aXRob3V0IGxpYnpdKSwKKyAgW10sIFt3aXRoX2xpYno9YXV0b10KKykKK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfbGlieiIgPSB4bm9dLCBbaGF2ZV96PW5vXSwgWworICBBQ19DSEVDS19MSUIoW3pdLCBbY3JjMzJdLCBbaGF2ZV96PXllc10sIFtoYXZlX3o9bm9dKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFtjcmFtZnNdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWNyYW1mc10sIFtkbyBub3QgYnVpbGQgZnNjay5jcmFtZnMsIG1rZnMuY3JhbWZzXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2NyYW1mc10sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbY3JhbWZzXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2NyYW1mc10sIFt6XSwgW3ogbGlicmFyeV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ1JBTUZTXSwgW3Rlc3QgIngkYnVpbGRfY3JhbWZzIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2Jmc10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtYmZzXSwgW2RvIG5vdCBidWlsZCBta2ZzLmJmc10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtiZnNdLCBbeWVzXSldCispCitVTF9CVUlMRF9JTklUKFtiZnNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0JGU10sIFt0ZXN0ICJ4JGJ1aWxkX2JmcyIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFttaW5peF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbWluaXhdLCBbZG8gbm90IGJ1aWxkIGZzY2subWluaXgsIG1rZnMubWluaXhdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbWluaXhdLCBbeWVzXSldCispCitVTF9CVUlMRF9JTklUKFttaW5peF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfTUlOSVhdLCBbdGVzdCAieCRidWlsZF9taW5peCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtmZGZvcm1hdF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtZmRmb3JtYXRdLCBbZG8gbm90IGJ1aWxkIGZkZm9ybWF0XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2ZkZm9ybWF0XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtmZGZvcm1hdF0pCitVTF9SRVFVSVJFU19MSU5VWChbZmRmb3JtYXRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0ZERk9STUFUXSwgW3Rlc3QgIngkYnVpbGRfZmRmb3JtYXQiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbaHdjbG9ja10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaHdjbG9ja10sIFtkbyBub3QgYnVpbGQgaHdjbG9ja10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtod2Nsb2NrXSwgW2NoZWNrXSldCispCitoYXZlX2xpbnV4ZHVtbXk9JGxpbnV4X29zCisKK1VMX0JVSUxEX0lOSVQoW2h3Y2xvY2tdKQorVUxfUkVRVUlSRVNfSEFWRShbaHdjbG9ja10sIFtpbywgbGludXhkdW1teV0sIFtpb3Blcm0gaW9wbCBmdW5jdGlvbiBvciBMaW51eF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfSFdDTE9DS10sIFt0ZXN0ICJ4JGJ1aWxkX2h3Y2xvY2siID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbbWtmc10sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX01LRlNdLCBbdGVzdCAieCRidWlsZF9ta2ZzIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtpc29zaXplXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfSVNPU0laRV0sIFt0ZXN0ICJ4JGJ1aWxkX2lzb3NpemUiID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbZnN0cmltXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtmc3RyaW1dKQorVUxfUkVRVUlSRVNfQlVJTEQoW2ZzdHJpbV0sIFtsaWJtb3VudF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfRlNUUklNXSwgW3Rlc3QgIngkYnVpbGRfZnN0cmltIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW3N3YXBvbl0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbc3dhcG9uXSkKK1VMX1JFUVVJUkVTX1NZU0NBTExfQ0hFQ0soW3N3YXBvbl0sIFtVTF9DSEVDS19TWVNDQUxMKFtzd2Fwb25dKV0sIFtzd2Fwb25dKQorVUxfUkVRVUlSRVNfU1lTQ0FMTF9DSEVDSyhbc3dhcG9uXSwgW1VMX0NIRUNLX1NZU0NBTEwoW3N3YXBvZmZdKV0sIFtzd2Fwb2ZmXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtzd2Fwb25dLCBbbGliYmxraWRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3N3YXBvbl0sIFtsaWJtb3VudF0pCitVTF9SRVFVSVJFU19CVUlMRChbc3dhcG9uXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfU1dBUE9OXSwgW3Rlc3QgIngkYnVpbGRfc3dhcG9uIiA9IHh5ZXNdKQorQUNfQ0hFQ0tfRlVOQ1MoW3N3YXBvbl0pCitBQ19DSEVDS19GVU5DUyhbc3dhcG9mZl0pCisKKworVUxfQlVJTERfSU5JVChbbHNibGtdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2xzYmxrXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsc2Jsa10sIFtsaWJibGtpZF0pCitVTF9SRVFVSVJFU19CVUlMRChbbHNibGtdLCBbbGlibW91bnRdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xzYmxrXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTFNCTEtdLCBbdGVzdCAieCRidWlsZF9sc2JsayIgPSB4eWVzXSkKKworCitVTF9CVUlMRF9JTklUKFtsc2NwdV0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbbHNjcHVdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xzY3B1XSwgW2xpYnNtYXJ0Y29sc10pCitVTF9SRVFVSVJFU19IQVZFKFtsc2NwdV0sIFtjcHVfc2V0X3RdLCBbY3B1X3NldF90IHR5cGVdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xTQ1BVXSwgW3Rlc3QgIngkYnVpbGRfbHNjcHUiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbHNsb2dpbnNdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWxzbG9naW5zXSwgW2RvIG5vdCBidWlsZCBsc2xvZ2luc10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtsc2xvZ2luc10sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbbHNsb2dpbnNdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xzbG9naW5zXSwgW2xpYnNtYXJ0Y29sc10pCitVTF9SRVFVSVJFU19IQVZFKFtsc2xvZ2luc10sIFtzaGFkb3dfaF0sIFtzaGFkb3cuaCBoZWFkZXJdKQorVUxfUkVRVUlSRVNfSEFWRShbbHNsb2dpbnNdLCBbdXRtcHhfaF0sIFt1dG1weC5oIGhlYWRlcl0pCitVTF9SRVFVSVJFU19IQVZFKFtsc2xvZ2luc10sIFtnbnVfdXRtcHhdLCBbR05VIHV0bXB4IGZ1bmN0aW9uc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTFNMT0dJTlNdLCBbdGVzdCAieCRidWlsZF9sc2xvZ2lucyIgPSB4eWVzXSkKKworCitVTF9CVUlMRF9JTklUKFtjaGNwdV0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbY2hjcHVdKQorVUxfUkVRVUlSRVNfSEFWRShbY2hjcHVdLCBbY3B1X3NldF90XSwgW2NwdV9zZXRfdCB0eXBlXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9DSENQVV0sIFt0ZXN0ICJ4JGJ1aWxkX2NoY3B1IiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3dkY3RsXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS13ZGN0bF0sIFtkbyBub3QgYnVpbGQgd2RjdGxdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbd2RjdGxdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3dkY3RsXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFt3ZGN0bF0pCitVTF9SRVFVSVJFU19CVUlMRChbd2RjdGxdLCBbbGlic21hcnRjb2xzXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3dkY3RsXSwgW2xpbnV4X3dhdGNoZG9nX2hdLCBbbGludXgvd2F0Y2hkb2cuaCBoZWFkZXIgZmlsZV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfV0RDVExdLCBbdGVzdCAieCRidWlsZF93ZGN0bCIgPSB4eWVzXSkKKworCitVTF9CVUlMRF9JTklUKFtzd2FwbGFiZWxdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfQlVJTEQoW3N3YXBsYWJlbF0sIFtsaWJibGtpZF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfU1dBUExBQkVMXSwgW3Rlc3QgIngkYnVpbGRfc3dhcGxhYmVsIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW21rc3dhcF0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX01LU1dBUF0sIFt0ZXN0ICJ4JGJ1aWxkX21rc3dhcCIgPSB4eWVzXSkKK0FTX0lGKFt0ZXN0ICJ4JGJ1aWxkX21rc3dhcCIgPSB4eWVzIC1hICJ4JGJ1aWxkX2xpYnV1aWQiICE9IHh5ZXNdLCBbCisgIEFDX01TR19XQVJOKFt1dWlkIGxpYnJhcnkgaXMgbm90IGZvdW5kOyBta3N3YXAoOCkgd2lsbCBub3QgZ2VuZXJhdGUgVVVJRHNdKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFtjYWxdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLWNhbF0sIFtkbyBub3QgYnVpbGQgY2FsXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2NhbF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbY2FsXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9DQUxdLCBbdGVzdCAieCRidWlsZF9jYWwiID0geHllc10pCisKK0FDX0FSR19FTkFCTEUoW2xvZ2dlcl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbG9nZ2VyXSwgW2RvIG5vdCBidWlsZCBsb2dnZXJdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbG9nZ2VyXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtsb2dnZXJdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xPR0dFUl0sIFt0ZXN0ICJ4JGJ1aWxkX2xvZ2dlciIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbbG9va10sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xPT0tdLCBbdGVzdCAieCRidWlsZF9sb29rIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFttY29va2llXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTUNPT0tJRV0sIFt0ZXN0ICJ4JGJ1aWxkX21jb29raWUiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW25hbWVpXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTkFNRUldLCBbdGVzdCAieCRidWlsZF9uYW1laSIgPSB4eWVzXSkKKworbWF0cmlwbGV0PSIkKCRDQyAtcHJpbnQtbXVsdGlhcmNoIDI+L2Rldi9udWxsIHx8IHRydWUpIgoraWYgdGVzdCAieCRtYXRyaXBsZXQiICE9ICJ4IjsgdGhlbgorICBBQ19ERUZJTkVfVU5RVU9URUQoW01VTFRJQVJDSFRSSVBMRVRdLCBbIiRtYXRyaXBsZXQiXSwKKyAgWyJNdWx0aS1hcmNoIHRyaXBsZXQgZm9yIHdoZXJlaXMgbGlicmFyeSBzZWFyY2ggcGF0aCJdKQorZmkKK1VMX0JVSUxEX0lOSVQoW3doZXJlaXNdLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9XSEVSRUlTXSwgW3Rlc3QgIngkYnVpbGRfd2hlcmVpcyIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbZ2V0b3B0XSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfR0VUT1BUXSwgW3Rlc3QgIngkYnVpbGRfZ2V0b3B0IiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW2Jsb2NrZGV2XSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtibG9ja2Rldl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfQkxPQ0tERVZdLCBbdGVzdCAieCRidWlsZF9ibG9ja2RldiIgPSB4eWVzXSkKKworCitVTF9CVUlMRF9JTklUKFtwcmxpbWl0XSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtwcmxpbWl0XSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtwcmxpbWl0XSwgW2xpYnNtYXJ0Y29sc10pCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFtwcmxpbWl0XSwgW1VMX0NIRUNLX1NZU0NBTEwoW3BybGltaXQ2NF0pXSwgW3BybGltaXQ2NF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfUFJMSU1JVF0sIFt0ZXN0ICJ4JGJ1aWxkX3BybGltaXQiID0geHllc10pCitBU19JRihbdGVzdCAieCRidWlsZF9wcmxpbWl0IiA9IHh5ZXNdLCBbCisgIEFDX0NIRUNLX0ZVTkNTKFtwcmxpbWl0XSkKK10pCisKKworVUxfQlVJTERfSU5JVChbbHNsb2Nrc10sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbbHNsb2Nrc10pCitVTF9SRVFVSVJFU19CVUlMRChbbHNsb2Nrc10sIFtsaWJtb3VudF0pCitVTF9SRVFVSVJFU19CVUlMRChbbHNsb2Nrc10sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xTTE9DS1NdLCBbdGVzdCAieCRidWlsZF9sc2xvY2tzIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3N3aXRjaF9yb290XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1zd2l0Y2hfcm9vdF0sIFtkbyBub3QgYnVpbGQgc3dpdGNoX3Jvb3RdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbc3dpdGNoX3Jvb3RdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3N3aXRjaF9yb290XSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtzd2l0Y2hfcm9vdF0pCitVTF9SRVFVSVJFU19IQVZFKFtzd2l0Y2hfcm9vdF0sIFtvcGVuYXRdLCBbb3BlbmF0IGZ1bmN0aW9uXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9TV0lUQ0hfUk9PVF0sIFt0ZXN0ICJ4JGJ1aWxkX3N3aXRjaF9yb290IiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3Bpdm90X3Jvb3RdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXBpdm90X3Jvb3RdLCBbZG8gbm90IGJ1aWxkIHBpdm90X3Jvb3RdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbcGl2b3Rfcm9vdF0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbcGl2b3Rfcm9vdF0pCitVTF9SRVFVSVJFU19MSU5VWChbcGl2b3Rfcm9vdF0pCitVTF9SRVFVSVJFU19TWVNDQUxMX0NIRUNLKFtwaXZvdF9yb290XSwgW1VMX0NIRUNLX1NZU0NBTEwoW3Bpdm90X3Jvb3RdKV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfUElWT1RfUk9PVF0sIFt0ZXN0ICJ4JGJ1aWxkX3Bpdm90X3Jvb3QiID0geHllc10pCisKKworVUxfQlVJTERfSU5JVChbZmxvY2tdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfSEFWRShbZmxvY2tdLCBbdGltZXJdLCBbdGltZXJfY3JlYXRlIGZ1bmN0aW9uXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9GTE9DS10sIFt0ZXN0ICJ4JGJ1aWxkX2Zsb2NrIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2xzbWVtXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sc21lbV0sIFtkbyBub3QgYnVpbGQgbHNtZW1dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbHNtZW1dLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xzbWVtXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtsc21lbV0pCitVTF9SRVFVSVJFU19CVUlMRChbbHNtZW1dLCBbbGlic21hcnRjb2xzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MU01FTV0sIFt0ZXN0ICJ4JGJ1aWxkX2xzbWVtIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2NobWVtXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1jaG1lbV0sIFtkbyBub3QgYnVpbGQgY2htZW1dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbY2htZW1dLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2NobWVtXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtjaG1lbV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ0hNRU1dLCBbdGVzdCAieCRidWlsZF9jaG1lbSIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbaXBjbWtdLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9JUENNS10sIFt0ZXN0ICJ4JGJ1aWxkX2lwY21rIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW2lwY3JtXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1pcGNybV0sIFtkbyBub3QgYnVpbGQgaXBjcm1dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbaXBjcm1dLCBbeWVzXSldCispCitVTF9CVUlMRF9JTklUKFtpcGNybV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfSVBDUk1dLCBbdGVzdCAieCRidWlsZF9pcGNybSIgPSB4eWVzXSkKKworQUNfQVJHX0VOQUJMRShbaXBjc10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtaXBjc10sIFtkbyBub3QgYnVpbGQgaXBjc10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtpcGNzXSwgW3llc10pXQorKQorVUxfQlVJTERfSU5JVChbaXBjc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfSVBDU10sIFt0ZXN0ICJ4JGJ1aWxkX2lwY3MiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2Nob29tXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtjaG9vbV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ0hPT01dLCBbdGVzdCAieCRidWlsZF9jaG9vbSIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbbHNpcGNdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2xzaXBjXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsc2lwY10sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xTSVBDXSwgW3Rlc3QgIngkYnVpbGRfbHNpcGMiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2xzbnNdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2xzbnNdKQorVUxfUkVRVUlSRVNfQlVJTEQoW2xzbnNdLCBbbGlic21hcnRjb2xzXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtsc25zXSwgW2xpYm1vdW50XSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MU05TXSwgW3Rlc3QgIngkYnVpbGRfbHNucyIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbcmVuaWNlXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfUkVOSUNFXSwgW3Rlc3QgIngkYnVpbGRfcmVuaWNlIiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3Jma2lsbF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcmZraWxsXSwgW2RvIG5vdCBidWlsZCByZmtpbGxdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbcmZraWxsXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtyZmtpbGxdKQorVUxfUkVRVUlSRVNfTElOVVgoW3Jma2lsbF0pCitVTF9SRVFVSVJFU19CVUlMRChbcmZraWxsXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfUkZLSUxMXSwgW3Rlc3QgIngkYnVpbGRfcmZraWxsIiA9IHh5ZXNdKQorCisKK1VMX0JVSUxEX0lOSVQoW3NldHNpZF0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1NFVFNJRF0sIFt0ZXN0ICJ4JGJ1aWxkX3NldHNpZCIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbcmVhZHByb2ZpbGVdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW3JlYWRwcm9maWxlXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9SRUFEUFJPRklMRV0sIFt0ZXN0ICJ4JGJ1aWxkX3JlYWRwcm9maWxlIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtkbWVzZ10sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbZG1lc2ddKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0RNRVNHXSwgW3Rlc3QgIngkYnVpbGRfZG1lc2ciID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2N0cmxhbHRkZWxdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2N0cmxhbHRkZWxdKQorZG5sIHdlIGFzc3VtZSByZWJvb3QoKSB0byBiZSB0aGUgMS1hcmd1bWVudCB2YXJpYW50LCBiZWNhdXNlIGV2ZW4gY29uc2lkZXJpbmcKK2RubCB3aWRlbHkgdXNlZCBhbHRlcm5hdGl2ZSBDIGxpYnJhcmllcyBsaWtlIHVjbGliYywgZGlldGxpYmMgYW5kIG11c2wsCitkbmwgcmVib290KCkgd2l0aCBtdWx0aXBsZSBhcmd1bWVudHMgaXMgeWV0IG9ubHkgZm91bmQgaW4gZ2xpYmMgdmVyc2lvbnMKK2RubCBlYXJsaWVyIHRoYW4gMi54LgorVUxfUkVRVUlSRVNfSEFWRShbY3RybGFsdGRlbF0sIFtyZWJvb3RdLCBbcmVib290IGZ1bmN0aW9uXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9DVFJMQUxUREVMXSwgW3Rlc3QgIngkYnVpbGRfY3RybGFsdGRlbCIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbZmluY29yZV0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbZmluY29yZV0pCitVTF9SRVFVSVJFU19CVUlMRChbZmluY29yZV0sIFtsaWJzbWFydGNvbHNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0ZJTkNPUkVdLCBbdGVzdCAieCRidWlsZF9maW5jb3JlIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtmc2ZyZWV6ZV0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbZnNmcmVlemVdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0ZTRlJFRVpFXSwgW3Rlc3QgIngkYnVpbGRfZnNmcmVlemUiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2Jsa2Rpc2NhcmRdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW2Jsa2Rpc2NhcmRdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0JMS0RJU0NBUkRdLCBbdGVzdCAieCRidWlsZF9ibGtkaXNjYXJkIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtibGt6b25lXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtibGt6b25lXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2Jsa3pvbmVdLCBbbGludXhfYmxrem9uZWRfaF0sIFtsaW51eC9ibGt6b25lZC5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfQkxLWk9ORV0sIFt0ZXN0ICJ4JGJ1aWxkX2Jsa3pvbmUiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2xkYXR0YWNoXSwgW2NoZWNrXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtsZGF0dGFjaF0pCitBTV9DT05ESVRJT05BTChbQlVJTERfTERBVFRBQ0hdLCBbdGVzdCAieCRidWlsZF9sZGF0dGFjaCIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbcnRjd2FrZV0sIFtjaGVja10pCitVTF9SRVFVSVJFU19MSU5VWChbcnRjd2FrZV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfUlRDV0FLRV0sIFt0ZXN0ICJ4JGJ1aWxkX3J0Y3dha2UiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW3NldGFyY2hdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfTElOVVgoW3NldGFyY2hdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1NFVEFSQ0hdLCBbdGVzdCAieCRidWlsZF9zZXRhcmNoIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtzY3JpcHRdLCBbY2hlY2tdKQorVUxfUkVRVUlSRVNfSEFWRShbc2NyaXB0XSwgW3N5c19zaWduYWxmZF9oXSwgW3N5cy9zaWduYWxmZC5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfU0NSSVBUXSwgW3Rlc3QgIngkYnVpbGRfc2NyaXB0IiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtzY3JpcHRyZXBsYXldLCBbeWVzXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9TQ1JJUFRSRVBMQVldLCBbdGVzdCAieCRidWlsZF9zY3JpcHRyZXBsYXkiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2NvbF0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0NPTF0sIFt0ZXN0ICJ4JGJ1aWxkX2NvbCIgPSB4eWVzXSkKKworVUxfQlVJTERfSU5JVChbY29sY3J0XSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ09MQ1JUXSwgW3Rlc3QgIngkYnVpbGRfY29sY3J0IiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtjb2xybV0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0NPTFJNXSwgW3Rlc3QgIngkYnVpbGRfY29scm0iID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW2NvbHVtbl0sIFtjaGVja10pCitVTF9SRVFVSVJFU19CVUlMRChbY29sdW1uXSwgW2xpYnNtYXJ0Y29sc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ09MVU1OXSwgW3Rlc3QgIngkYnVpbGRfY29sdW1uIiA9IHh5ZXNdKQorCitVTF9CVUlMRF9JTklUKFtoZXhkdW1wXSwgW3llc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfSEVYRFVNUF0sIFt0ZXN0ICJ4JGJ1aWxkX2hleGR1bXAiID0geHllc10pCisKK1VMX0JVSUxEX0lOSVQoW3Jldl0sIFt5ZXNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1JFVl0sIFt0ZXN0ICJ4JGJ1aWxkX3JldiIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFt0dW5lbHBdLAorICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtdHVuZWxwXSwgW2J1aWxkIHR1bmVscF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFt0dW5lbHBdLCBbbm9dKV0KKykKK1VMX0JVSUxEX0lOSVQoW3R1bmVscF0pCitVTF9SRVFVSVJFU19MSU5VWChbdHVuZWxwXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9UVU5FTFBdLCBbdGVzdCAieCRidWlsZF90dW5lbHAiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShba2lsbF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUta2lsbF0sIFtkbyBub3QgYnVpbGQga2lsbF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtraWxsXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtraWxsXSkKK1VMX1JFUVVJUkVTX0xJTlVYKFtraWxsXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9LSUxMXSwgW3Rlc3QgIngkYnVpbGRfa2lsbCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtsYXN0XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sYXN0XSwgW2RvIG5vdCBidWlsZCBsYXN0XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW2xhc3RdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xhc3RdKQorVUxfUkVRVUlSRVNfSEFWRShbbGFzdF0sIFt1dG1weF9oXSwgW3V0bXB4LmggaGVhZGVyXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xhc3RdLCBbZ251X3V0bXB4XSwgW0dOVSB1dG1weCBmdW5jdGlvbnNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0xBU1RdLCBbdGVzdCAieCRidWlsZF9sYXN0IiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3V0bXBkdW1wXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS11dG1wZHVtcF0sIFtkbyBub3QgYnVpbGQgdXRtcGR1bXBdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbdXRtcGR1bXBdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3V0bXBkdW1wXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3V0bXBkdW1wXSwgW3V0bXB4X2hdLCBbdXRtcHguaCBoZWFkZXJdKQorVUxfUkVRVUlSRVNfSEFWRShbdXRtcGR1bXBdLCBbZ251X3V0bXB4XSwgW0dOVSB1dG1weCBmdW5jdGlvbnNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1VUTVBEVU1QXSwgW3Rlc3QgIngkYnVpbGRfdXRtcGR1bXAiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbGluZV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1saW5lXSwgW2J1aWxkIGxpbmVdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbGluZV0sIFtub10pXQorKQorVUxfQlVJTERfSU5JVChbbGluZV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfTElORV0sIFt0ZXN0ICJ4JGJ1aWxkX2xpbmUiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbWVzZ10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbWVzZ10sIFtkbyBub3QgYnVpbGQgbWVzZ10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFttZXNnXSwgW3llc10pXQorKQorVUxfQlVJTERfSU5JVChbbWVzZ10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTUVTR10sIFt0ZXN0ICJ4JGJ1aWxkX21lc2ciID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbcmF3XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1yYXddLCBbZG8gbm90IGJ1aWxkIHJhd10pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtyYXddLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3Jhd10pCitVTF9SRVFVSVJFU19MSU5VWChbcmF3XSkKK1VMX1JFUVVJUkVTX0hBVkUoW3Jhd10sIFtsaW51eF9yYXdfaF0sIFtyYXcuaCBoZWFkZXIgZmlsZV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfUkFXXSwgW3Rlc3QgIngkYnVpbGRfcmF3IiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3JlbmFtZV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtcmVuYW1lXSwgW2RvIG5vdCBidWlsZCByZW5hbWVdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbcmVuYW1lXSwgW3llc10pXQorKQorVUxfQlVJTERfSU5JVChbcmVuYW1lXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9SRU5BTUVdLCBbdGVzdCAieCRidWlsZF9yZW5hbWUiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbdmlwd10sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS12aXB3XSwgW2J1aWxkIHZpcHddKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbdmlwd10sIFtub10pXQorKQorVUxfQlVJTERfSU5JVChbdmlwd10pCitVTF9SRVFVSVJFU19IQVZFKFt2aXB3XSwgW3NoYWRvd19oXSwgW3NoYWRvdy5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfVklQV10sIFt0ZXN0ICJ4JGJ1aWxkX3ZpcHciID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbbmV3Z3JwXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLW5ld2dycF0sIFtidWlsZCBuZXdncnBdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbmV3Z3JwXSwgW25vXSldCispCitVTF9CVUlMRF9JTklUKFtuZXdncnBdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX05FV0dSUF0sIFt0ZXN0ICJ4JGJ1aWxkX25ld2dycCIgPSB4eWVzXSkKKworCitBQ19BUkdfV0lUSChbdXNlcl0sIEFTX0hFTFBfU1RSSU5HKFstLXdpdGhvdXQtdXNlcl0sIFtjb21waWxlIHdpdGhvdXQgbGlidXNlciAocmVtb3RlIGNoc2gpXSksCisgIFtdLCBbd2l0aF91c2VyPWNoZWNrXQorKQoraGF2ZV91c2VyPW5vCitBU19JRihbdGVzdCAieCR3aXRoX3VzZXIiICE9IHhub10sIFsKKyAgUEtHX0NIRUNLX01PRFVMRVMoTElCVVNFUixbbGlidXNlciA+PSAwLjU4XSwgW2hhdmVfdXNlcj15ZXNdLCBbaGF2ZV91c2VyPW5vXSkKKyAgQVNfQ0FTRShbJHdpdGhfdXNlcjokaGF2ZV91c2VyXSwKKyAgICBbeWVzOm5vXSwKKyAgICAgIFtBQ19NU0dfRVJST1IoW3VzZXIgc2VsZWN0ZWQgYnV0IGxpYnVzZXIgbm90IGZvdW5kXSldLAorICAgIFsqOnllc10sCisgICAgICBbQUNfREVGSU5FKFtIQVZFX0xJQlVTRVJdLCBbMV0sIFtEZWZpbmUgaWYgbGlidXNlciBpcyBhdmFpbGFibGVdKV0KKyAgKQorICAjIHRlbXBvcmFyeSBzb2x1dGlvbiwgbGlidXNlciBoYXMgc3R1cGlkIC5wYyB3aGVyZSBhcmUgZXhwb3J0ZWQgYWxsCisgICMgcHJpdmF0ZSBkZXBlbmRlbmNpZXMgdG8gUmVxdWlyZXM6IGluc3RlYWQgb2YgUmVxdWlyZXMucHJpdmF0ZToKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV91c2VyIiA9IHh5ZXNdLCBbCisgICAgTElCVVNFUl9MSUJTPS1sdXNlcgorICBdKQorXSkKK0FNX0NPTkRJVElPTkFMKFtIQVZFX1VTRVJdLCBbdGVzdCAieCRoYXZlX3VzZXIiID0geHllc10pCisKK0FDX0FSR19FTkFCTEUoW2NoZm4tY2hzaC1wYXNzd29yZF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtY2hmbi1jaHNoLXBhc3N3b3JkXSwgW2RvIG5vdCByZXF1aXJlIHRoZSB1c2VyIHRvIGVudGVyIHRoZSBwYXNzd29yZCBpbiBjaGZuIGFuZCBjaHNoXSksCisgIFtdLCBbZW5hYmxlX2NoZm5fY2hzaF9wYXNzd29yZD15ZXNdCispCisKK0FDX0FSR19FTkFCTEUoW2NoZm4tY2hzaF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1jaGZuLWNoc2hdLCBbYnVpbGQgY2hmbiBhbmQgY2hzaF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtjaGZuX2Noc2hdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2NoZm5fY2hzaF0pCitVTF9SRVFVSVJFU19IQVZFKFtjaGZuX2Noc2hdLCBbc2hhZG93X2hdLCBbc2hhZG93LmggaGVhZGVyXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2NoZm5fY2hzaF0sIFtnZXR1c2Vyc2hlbGxdLCBbZ2V0dXNlcnNoZWxsIGZ1bmN0aW9uXSkKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2NoZm5fY2hzaF9wYXNzd29yZCIgPSB4eWVzIC1vICJ4JGhhdmVfdXNlciIgPSB4eWVzXSwgWworICBVTF9SRVFVSVJFU19IQVZFKFtjaGZuX2Noc2hdLCBbc2VjdXJpdHlfcGFtX2FwcGxfaF0sIFtQQU0gaGVhZGVyIGZpbGVdKQorICBBQ19ERUZJTkUoW0NIRk5fQ0hTSF9QQVNTV09SRF0sIFsxXSwgW1Nob3VsZCBjaGZuIGFuZCBjaHNoIHJlcXVpcmUgdGhlIHVzZXIgdG8gZW50ZXIgdGhlIHBhc3N3b3JkP10pCitdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX0NIRk5fQ0hTSF0sIFt0ZXN0ICJ4JGJ1aWxkX2NoZm5fY2hzaCIgPSB4eWVzXSkKK0FNX0NPTkRJVElPTkFMKFtDSEZOX0NIU0hfUEFTU1dPUkRdLCBbdGVzdCAieCRlbmFibGVfY2hmbl9jaHNoX3Bhc3N3b3JkIiA9IHh5ZXNdKQorCitBQ19BUkdfRU5BQkxFKFtjaHNoLW9ubHktbGlzdGVkXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1jaHNoLW9ubHktbGlzdGVkXSwgW2Noc2g6IGFsbG93IHNoZWxscyBub3QgaW4gL2V0Yy9zaGVsbHNdKSwKKyAgW10sIGVuYWJsZV9jaHNoX29ubHlfbGlzdGVkPXllcworKQorCitBU19JRihbdGVzdCAieCRlbmFibGVfY2hzaF9vbmx5X2xpc3RlZCIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW09OTFlfTElTVEVEX1NIRUxMU10sIFsxXSwgW1Nob3VsZCBjaHNoIGFsbG93IG9ubHkgc2hlbGxzIGluIC9ldGMvc2hlbGxzP10pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW2xvZ2luXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1sb2dpbl0sIFtkbyBub3QgYnVpbGQgbG9naW5dKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbbG9naW5dLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW2xvZ2luXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xvZ2luXSwgW3NlY3VyaXR5X3BhbV9hcHBsX2hdLCBbUEFNIGhlYWRlciBmaWxlXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xvZ2luXSwgW3NlY3VyaXR5X3BhbV9taXNjX2gsIHNlY3VyaXR5X29wZW5wYW1faF0sIFtQQU0gY29udmVyc2F0aW9uIGZ1bmN0aW9uc10pCitVTF9SRVFVSVJFU19IQVZFKFtsb2dpbl0sIFt1dG1weF9oXSwgW3V0bXB4LmggaGVhZGVyXSkKK1VMX1JFUVVJUkVTX0hBVkUoW2xvZ2luXSwgW2dudV91dG1weF0sIFtHTlUgdXRtcHggZnVuY3Rpb25zXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9MT0dJTl0sIFt0ZXN0ICJ4JGJ1aWxkX2xvZ2luIiA9IHh5ZXNdKQorCitBQ19BUkdfRU5BQkxFKFtsb2dpbi1jaG93bi12Y3NdLAorICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtbG9naW4tY2hvd24tdmNzXSwgW2xldCBsb2dpbiBjaG93biAvZGV2L3Zjc05dKSwKKyAgW10sIFtlbmFibGVfbG9naW5fY2hvd25fdmNzPW5vXQorKQorCitBU19JRihbdGVzdCAieCRlbmFibGVfbG9naW5fY2hvd25fdmNzIiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbTE9HSU5fQ0hPV05fVkNTXSwgWzFdLCBbU2hvdWxkIGxvZ2luIGNob3duIC9kZXYvdmNzTj9dKQorXSkKKworQUNfQVJHX0VOQUJMRShbbG9naW4tc3RhdC1tYWlsXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLWxvZ2luLXN0YXQtbWFpbF0sIFtsZXQgbG9naW4gc3RhdCgpIHRoZSBtYWlsYm94XSksCisgIFtdLCBbZW5hYmxlX2xvZ2luX3N0YXRfbWFpbD1ub10KKykKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2xvZ2luX3N0YXRfbWFpbCIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW0xPR0lOX1NUQVRfTUFJTF0sIFsxXSwgW1Nob3VsZCBsb2dpbiBzdGF0KCkgdGhlIG1haWxib3g/XSkKK10pCisKKworQUNfQVJHX0VOQUJMRShbbm9sb2dpbl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtbm9sb2dpbl0sIFtkbyBub3QgYnVpbGQgbm9sb2dpbl0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtub2xvZ2luXSwgW3llc10pXQorKQorVUxfQlVJTERfSU5JVChbbm9sb2dpbl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfTk9MT0dJTl0sIFt0ZXN0ICJ4JGJ1aWxkX25vbG9naW4iID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbc3Vsb2dpbl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc3Vsb2dpbl0sIFtkbyBub3QgYnVpbGQgc3Vsb2dpbl0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtzdWxvZ2luXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtzdWxvZ2luXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3N1bG9naW5dLCBbc2hhZG93X2hdLCBbc2hhZG93LmggaGVhZGVyXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9TVUxPR0lOXSwgW3Rlc3QgIngkYnVpbGRfc3Vsb2dpbiIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtzdV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc3VdLCBbZG8gbm90IGJ1aWxkIHN1XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3N1XSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFtzdV0pCitVTF9SRVFVSVJFU19IQVZFKFtzdV0sIFtzZWN1cml0eV9wYW1fYXBwbF9oXSwgW1BBTSBoZWFkZXIgZmlsZV0pCitVTF9SRVFVSVJFU19IQVZFKFtzdV0sIFt1dG1weF9oXSwgW3V0bXB4LmggaGVhZGVyXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3N1XSwgW2dudV91dG1weF0sIFtHTlUgdXRtcHggZnVuY3Rpb25zXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9TVV0sIFt0ZXN0ICJ4JGJ1aWxkX3N1IiA9IHh5ZXNdKQorCisKK0FDX0FSR19FTkFCTEUoW3J1bnVzZXJdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXJ1bnVzZXJdLCBbZG8gbm90IGJ1aWxkIHJ1bnVzZXJdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbcnVudXNlcl0sIFtjaGVja10pXQorKQorVUxfQlVJTERfSU5JVChbcnVudXNlcl0pCitVTF9SRVFVSVJFU19IQVZFKFtydW51c2VyXSwgW3NlY3VyaXR5X3BhbV9hcHBsX2hdLCBbUEFNIGhlYWRlciBmaWxlXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3J1bnVzZXJdLCBbdXRtcHhfaF0sIFt1dG1weC5oIGhlYWRlcl0pCitVTF9SRVFVSVJFU19IQVZFKFtydW51c2VyXSwgW2dudV91dG1weF0sIFtHTlUgdXRtcHggZnVuY3Rpb25zXSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9SVU5VU0VSXSwgW3Rlc3QgIngkYnVpbGRfcnVudXNlciIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFt1bF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtdWxdLCBbZG8gbm90IGJ1aWxkIHVsXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3VsXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFt1bF0pCitVTF9SRVFVSVJFU19IQVZFKFt1bF0sIFtuY3Vyc2VzdywgbmN1cnNlc10sIFtuY3Vyc2VzdyBvciBuY3Vyc2VzIGxpYnJhcmllc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfVUxdLCBbdGVzdCAieCRidWlsZF91bCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFttb3JlXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1tb3JlXSwgW2RvIG5vdCBidWlsZCBtb3JlXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW21vcmVdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW21vcmVdKQorVUxfUkVRVUlSRVNfSEFWRShbbW9yZV0sIFtuY3Vyc2VzdywgbmN1cnNlc10sIFtuY3Vyc2VzdyBvciBuY3Vyc2VzIGxpYnJhcmllc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfTU9SRV0sIFt0ZXN0ICJ4JGJ1aWxkX21vcmUiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbcGddLAorICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtcGddLCBbYnVpbGQgcGddKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbcGddLCBbbm9dKV0KKykKK1VMX0JVSUxEX0lOSVQoW3BnXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3BnXSwgW25jdXJzZXN3LCBuY3Vyc2VzXSwgW25jdXJzZXN3IG9yIG5jdXJzZXMgbGlicmFyeV0pCitBTV9DT05ESVRJT05BTChbQlVJTERfUEddLCBbdGVzdCAieCRidWlsZF9wZyIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtzZXR0ZXJtXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1zZXR0ZXJtXSwgW2RvIG5vdCBidWlsZCBzZXR0ZXJtXSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3NldHRlcm1dLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3NldHRlcm1dKQorVUxfUkVRVUlSRVNfTElOVVgoW3NldHRlcm1dKQorVUxfUkVRVUlSRVNfSEFWRShbc2V0dGVybV0sIFtuY3Vyc2VzdywgbmN1cnNlc10sIFtuY3Vyc2VzdyBvciBuY3Vyc2VzIGxpYnJhcnldKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1NFVFRFUk1dLCBbdGVzdCAieCRidWlsZF9zZXR0ZXJtIiA9IHh5ZXNdKQorCisjIGJ1aWxkX3NjaGVkdXRpbHM9IGlzIGp1c3QgY29uZmlndXJlLW9ubHkgdmFyaWFibGUgdG8gY29udHJvbAorIyBpb25pY2UsIHRhc2tzZXQgYW5kIGNocnQKK0FDX0FSR19FTkFCTEUoW3NjaGVkdXRpbHNdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXNjaGVkdXRpbHNdLCBbZG8gbm90IGJ1aWxkIGNocnQsIGlvbmljZSwgdGFza3NldF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFtzY2hlZHV0aWxzXSwgW2NoZWNrXSldCispCisKKworVUxfRU5BQkxFX0FMSUFTKFtpb25pY2VdLCBbc2NoZWR1dGlsc10pCitVTF9CVUlMRF9JTklUKFtpb25pY2VdKQorVUxfUkVRVUlSRVNfU1lTQ0FMTF9DSEVDSyhbaW9uaWNlXSwKKwlbVUxfQ0hFQ0tfU1lTQ0FMTChbaW9wcmlvX3NldF0sCisJICBbYWxwaGFdLAlbNDQyXSwKKwkgIFtpKjg2XSwJWzI4OV0sCisJICBbaWE2NCpdLAlbMTI3NF0sCisJICBbcG93ZXJwYypdLAlbMjczXSwKKwkgIFtzMzkwKl0sCVsyODJdLAorCSAgW3NwYXJjKl0sCVsxOTZdLAorCSAgW3NoKl0sCVsyODhdLAorCSAgW3g4Nl82NCpdLAlbMjUxXSldLAorCVtpb3ByaW9fc2V0XSkKKworVUxfUkVRVUlSRVNfU1lTQ0FMTF9DSEVDSyhbaW9uaWNlXSwKKwlbVUxfQ0hFQ0tfU1lTQ0FMTChbaW9wcmlvX2dldF0sCisJICBbYWxwaGFdLAlbNDQzXSwKKwkgIFtpKjg2XSwJWzI5MF0sCisJICBbaWE2NCpdLAlbMTI3NV0sCisJICBbcG93ZXJwYypdLAlbMjc0XSwKKwkgIFtzMzkwKl0sCVsyODNdLAorCSAgW3NwYXJjKl0sCVsyMThdLAorCSAgW3NoKl0sCVsyODldLAorCSAgW3g4Nl82NCpdLAlbMjUyXSldLAorCVtpb3ByaW9fZ2V0XSkKKworQU1fQ09ORElUSU9OQUwoW0JVSUxEX0lPTklDRV0sIFt0ZXN0ICJ4JGJ1aWxkX2lvbmljZSIgPSB4eWVzXSkKKworCitVTF9FTkFCTEVfQUxJQVMoW3Rhc2tzZXRdLCBbc2NoZWR1dGlsc10pCitVTF9CVUlMRF9JTklUKFt0YXNrc2V0XSkKK1VMX1JFUVVJUkVTX0hBVkUoW3Rhc2tzZXRdLCBbY3B1X3NldF90XSwgW2NwdV9zZXRfdCB0eXBlXSkKK1VMX1JFUVVJUkVTX1NZU0NBTExfQ0hFQ0soW3Rhc2tzZXRdLAorCVtVTF9DSEVDS19TWVNDQUxMKFtzY2hlZF9nZXRhZmZpbml0eV0pXSwKKwlbc2NoZWRfZ2V0YWZmaW5pdHldKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1RBU0tTRVRdLCBbdGVzdCAieCRidWlsZF90YXNrc2V0IiA9IHh5ZXNdKQorCisKK2hhdmVfc2NoZWRzZXR0ZXI9bm8KK0FTX0lGKFt0ZXN0ICJ4JGFjX2N2X2Z1bmNfc2NoZWRfc2V0c2NoZWR1bGVyIiA9IHh5ZXNdLCBbaGF2ZV9zY2hlZHNldHRlcj15ZXNdLAorICAgICAgW3Rlc3QgIngkYWNfY3ZfZnVuY19zY2hlZF9zZXRhdHRyIiA9IHh5ZXNdLCBbaGF2ZV9zY2hlZHNldHRlcj15ZXNdKQorCitVTF9FTkFCTEVfQUxJQVMoW2NocnRdLCBbc2NoZWR1dGlsc10pCitVTF9CVUlMRF9JTklUKFtjaHJ0XSkKK1VMX1JFUVVJUkVTX0hBVkUoW2NocnRdLCBbc2NoZWRzZXR0ZXJdLCBbc2NoZWRfc2V0IGZ1bmN0aW9uc10pCitBTV9DT05ESVRJT05BTChbQlVJTERfQ0hSVF0sIFt0ZXN0ICJ4JGJ1aWxkX2NocnQiID0geHllc10pCisKK0FTX0lGKFt0ZXN0ICJ4JGJ1aWxkX2NocnQiID0geHllc10sIFsKKwlVTF9DSEVDS19TWVNDQUxMKFtzY2hlZF9zZXRhdHRyXSkKK10pCisKKworQUNfQVJHX0VOQUJMRShbd2FsbF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtd2FsbF0sIFtkbyBub3QgYnVpbGQgd2FsbF0pLAorICBbXSwgW1VMX0RFRkFVTFRfRU5BQkxFKFt3YWxsXSwgW2NoZWNrXSldCispCitVTF9CVUlMRF9JTklUKFt3YWxsXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3dhbGxdLCBbdXRtcHhfaF0sIFt1dG1weC5oIGhlYWRlcl0pCitBTV9DT05ESVRJT05BTChbQlVJTERfV0FMTF0sIFt0ZXN0ICJ4JGJ1aWxkX3dhbGwiID0geHllc10pCisKKworQUNfQVJHX0VOQUJMRShbd3JpdGVdLAorICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtd3JpdGVdLCBbYnVpbGQgd3JpdGVdKSwKKyAgW10sIFtVTF9ERUZBVUxUX0VOQUJMRShbd3JpdGVdLCBbbm9dKV0KKykKK1VMX0JVSUxEX0lOSVQoW3dyaXRlXSkKK1VMX1JFUVVJUkVTX0hBVkUoW3dyaXRlXSwgW3V0bXB4X2hdLCBbdXRtcHguaCBoZWFkZXJdKQorVUxfUkVRVUlSRVNfSEFWRShbd3JpdGVdLCBbZ251X3V0bXB4XSwgW0dOVSB1dG1weCBmdW5jdGlvbnNdKQorQU1fQ09ORElUSU9OQUwoW0JVSUxEX1dSSVRFXSwgW3Rlc3QgIngkYnVpbGRfd3JpdGUiID0geHllc10pCisKKworQUNfQVJHX1dJVEgoW2J0cmZzXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC1idHJmc10sIFtkbyBub3QgYnVpbGQgd2l0aCBidHJmcyBzdXBwb3J0XSksCisgIFtdLCBbd2l0aF9idHJmcz1jaGVja10KKykKK2hhdmVfYnRyZnM9bm8KK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfYnRyZnMiICE9IHhub10sIFsKKyAgQVNfQ0FTRShbJHdpdGhfYnRyZnM6JGhhdmVfbGludXhfYnRyZnNfaF0sCisgICAgW3llczpub10sCisgICAgW0FDX01TR19FUlJPUihbYnRyZnMgc2VsZWN0ZWQgYnV0IGxpbnV4L2J0cmZzLmggbm90IGZvdW5kXSldLAorICAgIFtjaGVjazpub10sCisgICAgICAgW0FDX01TR19XQVJOKFtsaW51eC9idHJmcy5oIG5vdCBmb3VuZCwgZG8gbm90IGJ1aWxkIHdpdGggYnRyZnMgc3VwcG9ydF0pXSwKKyAgICBbKjp5ZXNdLAorICAgICAgIFtoYXZlX2J0cmZzPXllcworCUFDX0RFRklORShbSEFWRV9CVFJGU19TVVBQT1JUXSwgWzFdLCBbRGVmaW5lIGlmIGJ0cmZzIHN0dWZmIGlzIGF2YWlsYWJsZV0pXQorICApCitdKQorQU1fQ09ORElUSU9OQUwoW0hBVkVfQlRSRlNdLCBbdGVzdCAieCRoYXZlX2J0cmZzIiA9IHh5ZXNdKQorCisKK0FDX0FSR19XSVRIKFtzeXN0ZW1kXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC1zeXN0ZW1kXSwgW2RvIG5vdCBidWlsZCB3aXRoIHN5c3RlbWQgc3VwcG9ydF0pLAorICBbXSwgW3dpdGhfc3lzdGVtZD1jaGVja10KKykKKworaGF2ZV9zeXN0ZW1kPW5vCitBU19JRihbdGVzdCAieCR3aXRoX3N5c3RlbWQiICE9IHhub10sIFsKKyAgIyBuZXcgdmVyc2lvbiAtLSBhbGwgbGlic3lzdGVtZC0qIGxpYnMgbWVyZ2VkIGludG8gbGlic3lzdGVtZAorICBQS0dfQ0hFQ0tfTU9EVUxFUyhbU1lTVEVNRF0sIFtsaWJzeXN0ZW1kXSwgW2hhdmVfc3lzdGVtZD15ZXNdLCBbaGF2ZV9zeXN0ZW1kPW5vXSkKKyAgIyBvbGQgdmVyc2lvbnMKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9zeXN0ZW1kIiAhPSAieHllcyJdLCBbCisgICAgUEtHX0NIRUNLX01PRFVMRVMoW1NZU1RFTURfREFFTU9OXSwgW2xpYnN5c3RlbWQtZGFlbW9uXSwKKwkJICAgICAgW2hhdmVfc3lzdGVtZF9kYWVtb249eWVzXSwgW2hhdmVfc3lzdGVtZF9kYWVtb249bm9dKQorICAgIFBLR19DSEVDS19NT0RVTEVTKFtTWVNURU1EX0pPVVJOQUxdLCBbbGlic3lzdGVtZC1qb3VybmFsXSwKKwkJICAgICAgW2hhdmVfc3lzdGVtZF9qb3VybmFsPXllc10sIFtoYXZlX3N5c3RlbWRfam91cm5hbD1ub10pCisgICAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9zeXN0ZW1kX2RhZW1vbiIgPSAieHllcyIgLWEgIngkaGF2ZV9zeXN0ZW1kX2pvdXJuYWwiID0gInh5ZXMiIF0sWworCSAgIGhhdmVfc3lzdGVtZD15ZXNdKQorICBdKQorICBBU19DQVNFKFskd2l0aF9zeXN0ZW1kOiRoYXZlX3N5c3RlbWRdLAorICAgIFt5ZXM6bm9dLAorICAgICAgW0FDX01TR19FUlJPUihbc3lzdGVtZCBleHBlY3RlZCBidXQgbGlic3lzdGVtZCBub3QgZm91bmRdKV0sCisgICAgWyo6eWVzXSwKKyAgICAgICBBQ19ERUZJTkUoW0hBVkVfTElCU1lTVEVNRF0sIFsxXSwgW0RlZmluZSBpZiBsaWJzeXN0ZW1kIGlzIGF2YWlsYWJsZV0pCisgICkKK10pCitBTV9DT05ESVRJT05BTChbSEFWRV9TWVNURU1EXSwgW3Rlc3QgIngkaGF2ZV9zeXN0ZW1kIiA9IHh5ZXNdKQorCisKK0FDX0FSR19XSVRIKFtzeXN0ZW1kc3lzdGVtdW5pdGRpcl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtc3lzdGVtZHN5c3RlbXVuaXRkaXI9RElSXSwgW2RpcmVjdG9yeSBmb3Igc3lzdGVtZCB1bml0IGZpbGVzIChyZXF1aXJlcyBzeXN0ZW1kIHN1cHBvcnQpXSksCisgIFtdLCBbd2l0aF9zeXN0ZW1kc3lzdGVtdW5pdGRpcj1jaGVja10KKykKK0FTX0lGKFt0ZXN0ICJ4JHdpdGhfc3lzdGVtZHN5c3RlbXVuaXRkaXIiID0geGNoZWNrXSwgWworICBBU19JRihbdGVzdCAieCRoYXZlX3N5c3RlbWQiID0geHllc10sIFsKKyAgICB3aXRoX3N5c3RlbWRzeXN0ZW11bml0ZGlyPWAkUEtHX0NPTkZJRyAtLXZhcmlhYmxlPXN5c3RlbWRzeXN0ZW11bml0ZGlyIHN5c3RlbWRgCisgIF0sWworICAgIHdpdGhfc3lzdGVtZHN5c3RlbXVuaXRkaXI9bm8KKyAgXSkKK10pCitBU19JRihbdGVzdCAieCR3aXRoX3N5c3RlbWRzeXN0ZW11bml0ZGlyIiAhPSAieG5vIl0sIFsKKyAgQUNfU1VCU1QoW3N5c3RlbWRzeXN0ZW11bml0ZGlyXSwgWyR3aXRoX3N5c3RlbWRzeXN0ZW11bml0ZGlyXSkKK10pCisKKworQUNfQVJHX1dJVEgoW3NtYWNrXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1zbWFja10sIFtidWlsZCB3aXRoIFNNQUNLIHN1cHBvcnRdKSwKKyAgW10sIFt3aXRoX3NtYWNrPW5vXQorKQorQVNfSUYoW3Rlc3QgIngkd2l0aF9zbWFjayIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW0hBVkVfU01BQ0tdLCBbMV0sIFtBZGQgU01BQ0sgc3VwcG9ydF0pCitdKQorCisKK0FDX0FSR19XSVRIKFtiYXNoY29tcGxldGlvbmRpcl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLXdpdGgtYmFzaGNvbXBsZXRpb25kaXI9RElSXSwgW0Jhc2ggY29tcGxldGlvbnMgZGlyZWN0b3J5XSksCisgIFtdLAorICBbQVNfSUYoW2AkUEtHX0NPTkZJRyAtLWV4aXN0cyBiYXNoLWNvbXBsZXRpb25gXSwgWworICAgIHdpdGhfYmFzaGNvbXBsZXRpb25kaXI9YCRQS0dfQ09ORklHIC0tdmFyaWFibGU9Y29tcGxldGlvbnNkaXIgYmFzaC1jb21wbGV0aW9uYAorICBdLCBbCisgICAgd2l0aF9iYXNoY29tcGxldGlvbmRpcj0ke2RhdGFkaXJ9L2Jhc2gtY29tcGxldGlvbi9jb21wbGV0aW9ucworICBdKQorXSkKK0FDX1NVQlNUKFtiYXNoY29tcGxldGlvbmRpcl0sIFskd2l0aF9iYXNoY29tcGxldGlvbmRpcl0pCisKK0FDX0FSR19FTkFCTEUoW2Jhc2gtY29tcGxldGlvbl0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtYmFzaC1jb21wbGV0aW9uXSwgW2RvIG5vdCBpbnN0YWxsIGJhc2ggY29tcGxldGlvbiBmaWxlc10pLAorICBbXSwgW2VuYWJsZV9iYXNoX2NvbXBsZXRpb249eWVzXQorKQorCitBTV9DT05ESVRJT05BTChbQlVJTERfQkFTSF9DT01QTEVUSU9OXSwgW3Rlc3QgIngkZW5hYmxlX2Jhc2hfY29tcGxldGlvbiIgPSB4eWVzXSkKKworCitBQ19BUkdfV0lUSChbcHl0aG9uXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aG91dC1weXRob25dLCBbZG8gbm90IGJ1aWxkIHB5dGhvbiBiaW5kaW5ncywgdXNlIC0td2l0aC1weXRob249ezIsM30gdG8gZm9yY2UgdmVyc2lvbl0pLAorICBbXSwgW3dpdGhfcHl0aG9uPWNoZWNrIHdpdGh2YWw9Y2hlY2tdCispCisKK2hhdmVfcHl0aG9uPW5vCitoYXZlX2xpYnB5dGhvbj1ubworQVNfSUYoW3Rlc3QgIngkd2l0aF9weXRob24iICE9IHhub10sIFsKKyAgIyBXZSBmb2xsb3cgZGlzdHJpYnV0aW9ucyBkZWZhdWx0IGFuZCBsb29rIGZvciBQS0cgbW9kdWxlIG5hbWUgInB5dGhvbiIKKyAgIyAobWluaW1hbCB2ZXJzaW9uIGlzIDIpIGJ1dCBpZiBtYWpvciB2ZXJzaW9uIGlzIGV4cGxpY2l0bHkgc3BlY2lmaWVkIGJ5CisgICMgLS13aXRoLXB5dGhvbj0yIG9yIC0td2l0aC1weXRob249MyB0aGVuIHdlIGxvb2sgZm9yIFBLRyBtb2R1bGUgInB5dGhvbjIiIG9yCisgICMgInB5dGhvbjMiLgorICBBU19JRihbdGVzdCAieCR3aXRodmFsIiAhPSB4bm8gLWEgIngkd2l0aHZhbCIgIT0geHllcyAtYSAieCR3aXRodmFsIiAhPSB4Y2hlY2tdLAorCVtweW1ham9yPSIkd2l0aHZhbCI7IFBZVEhPTj1weXRob24ke3B5bWFqb3J9XSwgW3B5bWFqb3I9IjIiXSkKKworICAjIGNoZWNrIGZvciBweXRob24gaW50ZXJwcmV0ZXIKKyAgQU1fUEFUSF9QWVRIT04oWyRweW1ham9yXSwgW2hhdmVfcHl0aG9uPXllc10sIFtoYXZlX3B5dGhvbj1ub10pCisgIEFTX0NBU0UoWyR3aXRoX3B5dGhvbjokaGF2ZV9weXRob25dLAorICAgIFt5ZXM6bm9dLAorICAgICAgW0FDX01TR19FUlJPUihbcHl0aG9uIHNlbGVjdGVkIGJ1dCBweXRob24gaW50ZXJwcmV0ZXIgbm90IGZvdW5kXSldLAorICAgIFtjaGVjazpub10sCisgICAgICAgW0FDX01TR19XQVJOKFtweXRob24gaW50ZXJwcmV0ZXIgbm90IGZvdW5kLCBkbyBub3QgYnVpbGQgcHl0aG9uIGJpbmRpbmdzXSldLAorICAgIFsqOnllc10sCisgICAgICAgIyBjaGVjayBmb3IgcHl0aG9uIGRldmVsb3BtZW50IHN0dWZmCisgICAgICAgW1BLR19DSEVDS19NT0RVTEVTKFtQWVRIT05dLCBbcHl0aG9uLSRQWVRIT05fVkVSU0lPTl0sCisJCQkgIFtoYXZlX2xpYnB5dGhvbj15ZXNdLCBbaGF2ZV9saWJweXRob249bm9dKV0KKyAgKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFtweWxpYm1vdW50XSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZGlzYWJsZS1weWxpYm1vdW50XSwgW2RvIG5vdCBidWlsZCBweWxpYm1vdW50XSksCisgIFtdLCBbVUxfREVGQVVMVF9FTkFCTEUoW3B5bGlibW91bnRdLCBbY2hlY2tdKV0KKykKK1VMX0JVSUxEX0lOSVQoW3B5bGlibW91bnRdKQorVUxfUkVRVUlSRVNfSEFWRShbcHlsaWJtb3VudF0sIFtsaWJweXRob25dLCBbbGlicHl0aG9uXSkKK1VMX1JFUVVJUkVTX0JVSUxEKFtweWxpYm1vdW50XSwgW2xpYm1vdW50XSkKK0FNX0NPTkRJVElPTkFMKFtCVUlMRF9QWUxJQk1PVU5UXSwgW3Rlc3QgIngkYnVpbGRfcHlsaWJtb3VudCIgPSAieHllcyJdKQorCisjIFdlIG5lZWQgdG8gaW50cm9kdWNlIGEgdmVyYmF0aW0gZGVwZW5kZW5jeSBpbnRvIHRoZSBNYWtlZmlsZSwgd2l0aG91dCBhdXRvbWFrZQorIyB0cnlpbmcgdG8gaW50ZXJwcmV0IGl0LCBzbyBwdXNoIGl0IGFzIGEgQU1fU1VCU1RfTk9UTUFLRSB2YXJpYWJsZS4KK3ZlcmJhdGltX3B5bGlibW91bnRfZGVwZW5kZW5jeT0nCisKKyMgcHlsaWJtb3VudGV4ZWMgbW9kdWxlIG11c3QgYmUgaW5zdGFsbGVkIGFmdGVyIHVzcmxpYl9leGVjIGxpYnJhcmllcywKKyMgb3RoZXJ3aXNlIHRoZSBsaWJ0b29sIHJlbGluayBzdGVwIHdpbGwgZmFpbCB0byBmaW5kIGxpYm1vdW50LmxhIGFuZAorIyB3aWxsIHRyeSAtbG1vdW50IHdoaWNoIGlzIHBvc3NpYmx5IG5vdCBhdmFpbGFibGUuCitpbnN0YWxsLXB5bGlibW91bnRleGVjTFRMSUJSQVJJRVM6IGluc3RhbGwtdXNybGliX2V4ZWNMVExJQlJBUklFUworCisnCitBQ19TVUJTVChbdmVyYmF0aW1fcHlsaWJtb3VudF9kZXBlbmRlbmN5XSkKK0FNX1NVQlNUX05PVE1BS0UoW3ZlcmJhdGltX3B5bGlibW91bnRfZGVwZW5kZW5jeV0pCisKK0FDX0FSR19FTkFCTEUoW3BnLWJlbGxdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXBnLWJlbGxdLCBbbGV0IHBnIG5vdCByaW5nIHRoZSBiZWxsIG9uIGludmFsaWQga2V5c10pLAorICBbXSwgW2VuYWJsZV9wZ19iZWxsPXllc10KKykKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX3BnX2JlbGwiID0geHllc10sIFsKKyAgQUNfREVGSU5FKFtQR19CRUxMXSwgWzFdLCBbU2hvdWxkIHBnIHJpbmcgdGhlIGJlbGwgb24gaW52YWxpZCBrZXlzP10pCitdKQorCisKK0FDX0RFRlVOKFtGU19QQVRIU19ERUZBVUxUXSwgWy9zYmluOi9zYmluL2ZzLmQ6L3NiaW4vZnNdKQorQUNfQVJHX0VOQUJMRShbZnMtcGF0aHMtZGVmYXVsdF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1mcy1wYXRocy1kZWZhdWx0PXBhdGhzXSwgW2RlZmF1bHQgc2VhcmNoIHBhdGggZm9yIGZzIGhlbHBlcnMgQDw6QEZTX1BBVEhTX0RFRkFVTFRAOj5AXSksCisgIFtBU19DQVNFKFskZW5hYmxldmFsXSwKKyAgICBbeWVzXSwgW2ZzX3BhdGhzX2RlZmF1bHRzPSJGU19QQVRIU19ERUZBVUxUIl0sCisgICAgW25vXSwgIFtmc19wYXRoc19kZWZhdWx0cz0iIl0sCisgICAgW2ZzX3BhdGhzX2RlZmF1bHRzPSIkZW5hYmxldmFsIl0KKyAgKV0sCisgIFtmc19wYXRoc19kZWZhdWx0cz0iRlNfUEFUSFNfREVGQVVMVCJdCispCitBQ19BUkdfRU5BQkxFKFtmcy1wYXRocy1leHRyYV0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1mcy1wYXRocy1leHRyYT1wYXRoc10sIFthZGRpdGlvbmFsIHNlYXJjaCBwYXRocyBmb3IgZnMgaGVscGVyc10pLAorICBbQVNfQ0FTRShbJGVuYWJsZXZhbF0sCisgICAgIFt5ZXN8bm9dLCBbZnNfcGF0aHNfZXh0cmE9IiJdLAorICAgICBbZnNfcGF0aHNfZXh0cmE9IiRlbmFibGV2YWwiXQorICApXSwKKyAgW2ZzX3BhdGhzX2V4dHJhPSIiXQorKQorZnNfcGF0aHM9IiRmc19wYXRoc19kZWZhdWx0cyIKK0FTX0lGKFt0ZXN0ICJ4JGZzX3BhdGhzX2V4dHJhIiAhPSAieCJdLCBbCisgIEFTX0lGKFt0ZXN0ICJ4JGZzX3BhdGhzIiAhPSAieCJdLCBbCisgICAgZnNfcGF0aHM9IiR7ZnNfcGF0aHN9OiIKKyAgXSkKKyAgZnNfcGF0aHM9IiR7ZnNfcGF0aHN9JHtmc19wYXRoc19leHRyYX0iCitdKQorQUNfREVGSU5FX1VOUVVPVEVEKFtGU19TRUFSQ0hfUEFUSF0sICIkZnNfcGF0aHMiLCBbc2VhcmNoIHBhdGggZm9yIGZzIGhlbHBlcnNdKQorCisKK0FDX0FSR19FTkFCTEUoW3VzZS10dHktZ3JvdXBdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLXVzZS10dHktZ3JvdXBdLCBbZG8gbm90IGluc3RhbGwgd2FsbCBhbmQgd3JpdGUgc2V0Z2lkIHR0eV0pLAorICBbXSwgW2VuYWJsZV91c2VfdHR5X2dyb3VwPXllc10KKykKK0FNX0NPTkRJVElPTkFMKFtVU0VfVFRZX0dST1VQXSwgW3Rlc3QgIngkZW5hYmxlX3VzZV90dHlfZ3JvdXAiID0geHllc10pCisKK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV91c2VfdHR5X2dyb3VwIiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbVVNFX1RUWV9HUk9VUF0sIFsxXSwgW1Nob3VsZCB3YWxsIGFuZCB3cml0ZSBiZSBpbnN0YWxsZWQgc2V0Z2lkIHR0eT9dKQorXSkKKworCitBQ19BUkdfRU5BQkxFKFtzdWxvZ2luLWVtZXJnZW5jeS1tb3VudF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWVuYWJsZS1zdWxvZ2luLWVtZXJnZW5jeS1tb3VudF0sCisJCSBbdXNlIGVtZXJnZW5jeSBtb3VudCBvZiAvZGV2IGFuZCAvcHJvYyBmb3Igc3Vsb2dpbl0pLAorICBbXSwgW2VuYWJsZV9zdWxvZ2luX2VtZXJnZW5jeV9tb3VudD1ub10KKykKKworQVNfSUYoW3Rlc3QgIngkZW5hYmxlX3N1bG9naW5fZW1lcmdlbmN5X21vdW50IiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbVVNFX1NVTE9HSU5fRU1FUkdFTkNZX01PVU5UXSwgWzFdLAorCSAgICBbU2hvdWxkIHN1bG9naW4gdXNlIGEgZW1lcmdlbmN5IG1vdW50IG9mIC9kZXYgYW5kIC9wcm9jP10pCitdKQorCisKK0FDX0FSR19FTkFCTEUoW3VzcmRpci1wYXRoXSwKKyAgQVNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXVzcmRpci1wYXRoXSwgW3VzZSBvbmx5IC91c3IgcGF0aHMgaW4gUEFUSCBlbnYuIHZhcmlhYmxlIChyZWNvbW1lbmRlZCBvbiBzeXN0ZW1zIHdpdGggL2JpbiAtPiAvdXNyL2JpbiBzeW1saW5rcyldKSwKKyAgW10sIFtlbmFibGVfdXNyZGlyX3BhdGg9bm9dCispCisKK0FTX0lGKFt0ZXN0ICJ4JGVuYWJsZV91c3JkaXJfcGF0aCIgPSB4eWVzXSwgWworICBBQ19ERUZJTkUoW1VTRV9VU1JESVJfUEFUSFNfT05MWV0sIFsxXSwgW0RlZmluZSB0byAxIHRvIHJlbW92ZSAvYmluIGFuZCAvc2JpbiBmcm9tIFBBVEggZW52LnZhcmlhYmxlXSkKK10pCisKKworQUNfQVJHX0VOQUJMRShbbWFrZWluc3RhbGwtY2hvd25dLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLW1ha2VpbnN0YWxsLWNob3duXSwgW2RvIG5vdCBkbyBjaG93bi1saWtlIG9wZXJhdGlvbnMgZHVyaW5nICJtYWtlIGluc3RhbGwiXSksCisgIFtdLCBbZW5hYmxlX21ha2VpbnN0YWxsX2Nob3duPXllc10KKykKK0FNX0NPTkRJVElPTkFMKFtNQUtFSU5TVEFMTF9ET19DSE9XTl0sIFt0ZXN0ICJ4JGVuYWJsZV9tYWtlaW5zdGFsbF9jaG93biIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFttYWtlaW5zdGFsbC1zZXR1aWRdLAorICBBU19IRUxQX1NUUklORyhbLS1kaXNhYmxlLW1ha2VpbnN0YWxsLXNldHVpZF0sIFtkbyBub3QgZG8gc2V0dWlkIGNobW9kIG9wZXJhdGlvbnMgZHVyaW5nICJtYWtlIGluc3RhbGwiXSksCisgIFtdLCBbZW5hYmxlX21ha2VpbnN0YWxsX3NldHVpZD15ZXNdCispCitBTV9DT05ESVRJT05BTChbTUFLRUlOU1RBTExfRE9fU0VUVUlEXSwgW3Rlc3QgIngkZW5hYmxlX21ha2VpbnN0YWxsX3NldHVpZCIgPSB4eWVzXSkKKworCitBQ19BUkdfRU5BQkxFKFtjb2xvcnMtZGVmYXVsdF0sCisgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtY29sb3JzLWRlZmF1bHRdLCBbZG8gbm90IGNvbG9yaXplIG91dHB1dCBmcm9tIHV0aWxzIGJ5IGRlZmF1bHRdKSwKKyAgW10sIFtlbmFibGVfY29sb3JzX2RlZmF1bHQ9eWVzXQorKQorQVNfSUYoW3Rlc3QgIngkZW5hYmxlX2NvbG9yc19kZWZhdWx0IiA9IHh5ZXNdLCBbCisgIEFDX0RFRklORShbVVNFX0NPTE9SU19CWV9ERUZBVUxUXSwgWzFdLCBbRW5hYmxlcyBjb2xvcml6ZWQgb3V0cHV0IGZyb20gdXRpbHMgYnkgZGVmYXVsdF0pCitdKQorCisKK0FDX0FSR19WQVIoW1NVSURfQ0ZMQUdTXSwKKwkgICBbQ0ZMQUdTIHVzZWQgZm9yIGJpbmFyaWVzIHdoaWNoIGFyZSB1c3VhbGx5IHdpdGggdGhlIHN1aWQgYml0XSkKK0FDX0FSR19WQVIoW1NVSURfTERGTEFHU10sCisJICAgW0xERkxBR1MgdXNlZCBmb3IgYmluYXJpZXMgd2hpY2ggYXJlIHVzdWFsbHkgd2l0aCB0aGUgc3VpZCBiaXRdKQorCitBQ19BUkdfVkFSKFtEQUVNT05fQ0ZMQUdTXSwKKwkgICBbQ0ZMQUdTIHVzZWQgZm9yIGJpbmFyaWVzIHdoaWNoIGFyZSB1c3VhbGx5IGV4ZWN1dGVkIGFzIGRhZW1vbnNdKQorQUNfQVJHX1ZBUihbREFFTU9OX0xERkxBR1NdLAorCSAgIFtMREZMQUdTIHVzZWQgZm9yIGJpbmFyaWVzIHdoaWNoIGFyZSB1c3VhbGx5IGV4ZWN1dGVkIGFzIGRhZW1vbnNdKQorCitBQ19BUkdfVkFSKFtTT0xJQl9DRkxBR1NdLAorCSAgIFtDRkxBR1MgdXNlZCBmb3Igc2hhcmVkIGxpYnJhcmllc10pCitBQ19BUkdfVkFSKFtTT0xJQl9MREZMQUdTXSwKKwkgICBbTERGTEFHUyB1c2VkIGZvciBzaGFyZWQgbGlicmFyaWVzXSkKKworQUNfQVJHX1ZBUihbQURKVElNRV9QQVRIXSwKKwkgICBbUGF0aCB0byBod2Nsb2NrIGFkanRpbWUgZmlsZSwgZGVmYXVsdCAvZXRjL2FkanRpbWVdKQorQVNfSUYoW3Rlc3QgIngkQURKVElNRV9QQVRIIiA9IHhdLCBbQURKVElNRV9QQVRIPSIvZXRjL2FkanRpbWUiXSkKK0FDX0RFRklORV9VTlFVT1RFRChbQ09ORklHX0FESlRJTUVfUEFUSF0sICIkQURKVElNRV9QQVRIIiwgW1BhdGggdG8gaHdjbG9jayBhZGp0aW1lIGZpbGVdKQorCisKK0xJQlM9IiIKKworCitBQ19DT05GSUdfSEVBREVSUyhbY29uZmlnLmhdKQorCisjCisjIERvbid0IHVzZSBjb25maWd1cmUuYWMgdG8gcmVwbGFjZSBpbnN0YWxsIHBhdGhzISBTZWUgTWFrZWZpbGUgUEFUSEZJTEVTIGZvcgorIyBtb3JlIGRldGFpbHMuCisjCitBQ19DT05GSUdfRklMRVMoWworTWFrZWZpbGUKK2xpYmJsa2lkL2RvY3MvTWFrZWZpbGUKK2xpYmJsa2lkL2RvY3MvdmVyc2lvbi54bWwKK2xpYmJsa2lkL3NyYy9ibGtpZC5oCitsaWJmZGlzay9kb2NzL01ha2VmaWxlCitsaWJmZGlzay9kb2NzL3ZlcnNpb24ueG1sCitsaWJmZGlzay9zcmMvbGliZmRpc2suaAorbGlibW91bnQvZG9jcy9NYWtlZmlsZQorbGlibW91bnQvZG9jcy92ZXJzaW9uLnhtbAorbGlibW91bnQvc3JjL2xpYm1vdW50LmgKK2xpYnNtYXJ0Y29scy9kb2NzL01ha2VmaWxlCitsaWJzbWFydGNvbHMvZG9jcy92ZXJzaW9uLnhtbAorbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuaAorcG8vTWFrZWZpbGUuaW4KK10pCisKK0FDX09VVFBVVAorCitBQ19NU0dfUkVTVUxUKFsKKwkke1BBQ0tBR0V9ICAke1ZFUlNJT059CisKKwlwcmVmaXg6ICAgICAgICAgICAgJHtwcmVmaXh9CisJZXhlYyBwcmVmaXg6ICAgICAgICR7ZXhlY19wcmVmaXh9CisKKwlydW5zdGF0ZWRpcjogICAgICAgJHtydW5zdGF0ZWRpcn0KKwliaW5kaXI6ICAgICAgICAgICAgJHtiaW5kaXJ9CisJc2JpbmRpcjogICAgICAgICAgICR7c2JpbmRpcn0KKwlsaWJkaXI6ICAgICAgICAgICAgJHtsaWJkaXJ9CisJaW5jbHVkZWRpcjogICAgICAgICR7aW5jbHVkZWRpcn0KKwl1c3JiaW5fZXhlY2RpcjogICAgJHt1c3JiaW5fZXhlY2Rpcn0KKwl1c3JzYmluX2V4ZWNkaXI6ICAgJHt1c3JzYmluX2V4ZWNkaXJ9CisJdXNybGliX2V4ZWNkaXI6ICAgICR7dXNybGliX2V4ZWNkaXJ9CisKKwljb21waWxlcjogICAgICAgICAgJHtDQ30KKwljZmxhZ3M6ICAgICAgICAgICAgJHtDRkxBR1N9CisJc3VpZCBjZmxhZ3M6ICAgICAgICR7U1VJRF9DRkxBR1N9CisJbGRmbGFnczogICAgICAgICAgICR7TERGTEFHU30KKwlzdWlkIGxkZmxhZ3M6ICAgICAgJHtTVUlEX0xERkxBR1N9CisKKwlQeXRob246ICAgICAgICAgICAgJHtQWVRIT059CisJUHl0aG9uIHZlcnNpb246ICAgICR7UFlUSE9OX1ZFUlNJT059CisJUHl0aG9uIGxpYnM6ICAgICAgICR7cHlleGVjZGlyfQorCisJQmFzaCBjb21wbGV0aW9uczogICR7d2l0aF9iYXNoY29tcGxldGlvbmRpcn0KKwlTeXN0ZW1kIHN1cHBvcnQ6ICAgJHtoYXZlX3N5c3RlbWR9CisJU3lzdGVtZCB1bml0ZGlyOiAgICR7d2l0aF9zeXN0ZW1kc3lzdGVtdW5pdGRpcn0KKwlCdHJmcyBzdXBwb3J0OiAgICAgJHtoYXZlX2J0cmZzfQorCVdpZGUtY2hhciBzdXBwb3J0OiAke2J1aWxkX3dpZGVjaGFyfQorCisJd2FybmluZ3M6CisKKyR7V0FSTl9DRkxBR1N9CisKKwlUeXBlICdtYWtlJyBvciAnbWFrZSA8dXRpbG5hbWU+JyB0byBjb21waWxlLgorXSkKZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvTWFrZW1vZHVsZS5hbSBiL2Rpc2stdXRpbHMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZWEwZWQ2Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMjI4IEBACisKK2lmIEJVSUxEX01JTklYCitzYmluX1BST0dSQU1TICs9IGZzY2subWluaXgKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9mc2NrLm1pbml4LjgKK2ZzY2tfbWluaXhfU09VUkNFUyA9IFwKKwlkaXNrLXV0aWxzL2ZzY2subWluaXguYyBcCisJZGlzay11dGlscy9taW5peF9wcm9ncmFtcy5oCitmc2NrX21pbml4X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK3NiaW5fUFJPR1JBTVMgKz0gbWtmcy5taW5peAorZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL21rZnMubWluaXguOAorbWtmc19taW5peF9TT1VSQ0VTID0gXAorCWRpc2stdXRpbHMvbWluaXhfcHJvZ3JhbXMuaCBcCisJZGlzay11dGlscy9ta2ZzLm1pbml4LmMKK21rZnNfbWluaXhfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKKworY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF9ta2ZzX21pbml4Cit0ZXN0X21rZnNfbWluaXhfU09VUkNFUyA9ICQobWtmc19taW5peF9TT1VSQ0VTKQordGVzdF9ta2ZzX21pbml4X0xEQUREID0gJChta2ZzX21pbml4X0xEQUREKQordGVzdF9ta2ZzX21pbml4X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfU0NSSVBUCitlbmRpZgorCisKK2lmIEJVSUxEX01LRlMKK3NiaW5fUFJPR1JBTVMgKz0gbWtmcworZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL21rZnMuOAorbWtmc19TT1VSQ0VTID0gZGlzay11dGlscy9ta2ZzLmMKK2VuZGlmCisKKworaWYgQlVJTERfSVNPU0laRQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gaXNvc2l6ZQorZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL2lzb3NpemUuOAoraXNvc2l6ZV9TT1VSQ0VTID0gZGlzay11dGlscy9pc29zaXplLmMKK2lzb3NpemVfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKKworaWYgQlVJTERfQkZTCitzYmluX1BST0dSQU1TICs9IG1rZnMuYmZzCitkaXN0X21hbl9NQU5TICs9IGRpc2stdXRpbHMvbWtmcy5iZnMuOAorbWtmc19iZnNfU09VUkNFUyA9IFwKKwlkaXNrLXV0aWxzL21rZnMuYmZzLmMKK21rZnNfYmZzX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCisKK2lmIEJVSUxEX01LU1dBUAorc2Jpbl9QUk9HUkFNUyArPSBta3N3YXAKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9ta3N3YXAuOAorbWtzd2FwX1NPVVJDRVMgPSBcCisJZGlzay11dGlscy9ta3N3YXAuYworbWtzd2FwX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK21rc3dhcF9DRkxBR1MgPSAkKEFNX0NGTEFHUykKK2lmIEJVSUxEX0xJQlVVSUQKK21rc3dhcF9DRkxBR1MgKz0gLUkkKHVsX2xpYnV1aWRfaW5jZGlyKQorbWtzd2FwX0xEQUREICs9IGxpYnV1aWQubGEKK2VuZGlmCitpZiBCVUlMRF9MSUJCTEtJRAorbWtzd2FwX0NGTEFHUyArPSAtSSQodWxfbGliYmxraWRfaW5jZGlyKQorbWtzd2FwX0xEQUREICs9IGxpYmJsa2lkLmxhCitlbmRpZgoraWYgSEFWRV9TRUxJTlVYCitta3N3YXBfTERBREQgKz0gLWxzZWxpbnV4CitlbmRpZgorZW5kaWYgIyBCVUlMRF9NS1NXQVAKKworCitpZiBCVUlMRF9TV0FQTEFCRUwKK3NiaW5fUFJPR1JBTVMgKz0gc3dhcGxhYmVsCitkaXN0X21hbl9NQU5TICs9IGRpc2stdXRpbHMvc3dhcGxhYmVsLjgKK3N3YXBsYWJlbF9TT1VSQ0VTID0gXAorCWRpc2stdXRpbHMvc3dhcGxhYmVsLmMgXAorCWxpYi9zd2FwcHJvYmVyLmMgXAorCWluY2x1ZGUvc3dhcHByb2Jlci5oCisKK3N3YXBsYWJlbF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKK3N3YXBsYWJlbF9MREFERCA9ICQoTERBREQpIGxpYmJsa2lkLmxhIGxpYmNvbW1vbi5sYQorCitpZiBCVUlMRF9MSUJVVUlECitzd2FwbGFiZWxfTERBREQgKz0gbGlidXVpZC5sYQorc3dhcGxhYmVsX0NGTEFHUyArPSAtSSQodWxfbGlidXVpZF9pbmNkaXIpCitlbmRpZgorZW5kaWYgI0JVSUxEX1NXQVBMQUJFTAorCisKK2lmIEJVSUxEX0ZTQ0sKK3NiaW5fUFJPR1JBTVMgKz0gZnNjaworZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL2ZzY2suOAorZnNja19TT1VSQ0VTID0gZGlzay11dGlscy9mc2NrLmMgbGliL21vbm90b25pYy5jCitmc2NrX0xEQUREID0gJChMREFERCkgbGlibW91bnQubGEgbGliYmxraWQubGEgbGliY29tbW9uLmxhICQoUkVBTFRJTUVfTElCUykKK2ZzY2tfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJtb3VudF9pbmNkaXIpIC1JJCh1bF9saWJibGtpZF9pbmNkaXIpCitlbmRpZgorCisKK2lmIEJVSUxEX1JBVworc2Jpbl9QUk9HUkFNUyArPSByYXcKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9yYXcuOAorcmF3X1NPVVJDRVMgPSBkaXNrLXV0aWxzL3Jhdy5jCitlbmRpZgorCisKK2lmIEJVSUxEX0NSQU1GUworY3JhbWZzX2NvbW1vbl9zb3VyY2VzID0gZGlzay11dGlscy9jcmFtZnMuaCBkaXNrLXV0aWxzL2NyYW1mc19jb21tb24uYworc2Jpbl9QUk9HUkFNUyArPSBmc2NrLmNyYW1mcworZnNja19jcmFtZnNfU09VUkNFUyA9IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYyAkKGNyYW1mc19jb21tb25fc291cmNlcykKK2ZzY2tfY3JhbWZzX0xEQUREID0gJChMREFERCkgLWx6IGxpYmNvbW1vbi5sYQorZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLjgKKworc2Jpbl9QUk9HUkFNUyArPSBta2ZzLmNyYW1mcworbWtmc19jcmFtZnNfU09VUkNFUyA9IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYyAkKGNyYW1mc19jb21tb25fc291cmNlcykKK21rZnNfY3JhbWZzX0xEQUREID0gJChMREFERCkgLWx6IGxpYmNvbW1vbi5sYQorZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLjgKK2VuZGlmCisKK2lmIEJVSUxEX0ZERk9STUFUCit1c3JzYmluX2V4ZWNfUFJPR1JBTVMgKz0gZmRmb3JtYXQKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9mZGZvcm1hdC44CitmZGZvcm1hdF9TT1VSQ0VTID0gZGlzay11dGlscy9mZGZvcm1hdC5jCitmZGZvcm1hdF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfQkxPQ0tERVYKK3NiaW5fUFJPR1JBTVMgKz0gYmxvY2tkZXYKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9ibG9ja2Rldi44CitibG9ja2Rldl9TT1VSQ0VTID0gZGlzay11dGlscy9ibG9ja2Rldi5jCitibG9ja2Rldl9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworCitpZiBCVUlMRF9GRElTSworc2Jpbl9QUk9HUkFNUyArPSBmZGlzaworZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL2ZkaXNrLjgKK2ZkaXNrX1NPVVJDRVMgPSBcCisJZGlzay11dGlscy9mZGlzay5jIFwKKwlkaXNrLXV0aWxzL2ZkaXNrLmggXAorCWRpc2stdXRpbHMvZmRpc2stbWVudS5jIFwKKwlkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYyBcCisJZGlzay11dGlscy9mZGlzay1saXN0LmgKKworZmRpc2tfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGliZmRpc2subGEgXAorCSAgICAgIGxpYnNtYXJ0Y29scy5sYSBsaWJ0Y29sb3JzLmxhICQoUkVBRExJTkVfTElCUykKK2ZkaXNrX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGliZmRpc2tfaW5jZGlyKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKKworaWYgSEFWRV9TVEFUSUNfRkRJU0sKK3NiaW5fUFJPR1JBTVMgKz0gZmRpc2suc3RhdGljCitmZGlza19zdGF0aWNfU09VUkNFUyA9ICQoZmRpc2tfU09VUkNFUykKK2ZkaXNrX3N0YXRpY19MREZMQUdTID0gLWFsbC1zdGF0aWMKK2ZkaXNrX3N0YXRpY19DRkxBR1MgPSAkKGZkaXNrX0NGTEFHUykKK2ZkaXNrX3N0YXRpY19MREFERCA9ICQoZmRpc2tfTERBREQpICQoUkVBRExJTkVfTElCU19TVEFUSUMpCitlbmRpZgorZW5kaWYgIyBCVUlMRF9GRElTSworCisKK2lmIEJVSUxEX1NGRElTSworc2Jpbl9QUk9HUkFNUyArPSBzZmRpc2sKK2Rpc3RfbWFuX01BTlMgKz0gZGlzay11dGlscy9zZmRpc2suOAorc2ZkaXNrX1NPVVJDRVMgPSBcCisJZGlzay11dGlscy9zZmRpc2suYyBcCisJZGlzay11dGlscy9mZGlzay1saXN0LmMgXAorCWRpc2stdXRpbHMvZmRpc2stbGlzdC5oCisKK3NmZGlza19MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJmZGlzay5sYSBcCisJICAgICAgIGxpYnNtYXJ0Y29scy5sYSBsaWJ0Y29sb3JzLmxhICQoUkVBRExJTkVfTElCUykKK3NmZGlza19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmZkaXNrX2luY2RpcikgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCisKK2lmIEhBVkVfU1RBVElDX1NGRElTSworc2Jpbl9QUk9HUkFNUyArPSBzZmRpc2suc3RhdGljCitzZmRpc2tfc3RhdGljX1NPVVJDRVMgPSAkKHNmZGlza19TT1VSQ0VTKQorc2ZkaXNrX3N0YXRpY19MREZMQUdTID0gLWFsbC1zdGF0aWMKK3NmZGlza19zdGF0aWNfQ0ZMQUdTID0gJChzZmRpc2tfQ0ZMQUdTKQorc2ZkaXNrX3N0YXRpY19MREFERCA9ICQoc2ZkaXNrX0xEQUREKSAkKFJFQURMSU5FX0xJQlNfU1RBVElDKQorZW5kaWYKK2VuZGlmICMgQlVJTERfU0ZESVNLCisKKworaWYgQlVJTERfQ0ZESVNLCitzYmluX1BST0dSQU1TICs9IGNmZGlzaworZGlzdF9tYW5fTUFOUyArPSBkaXNrLXV0aWxzL2NmZGlzay44CitjZmRpc2tfU09VUkNFUyA9IGRpc2stdXRpbHMvY2ZkaXNrLmMKK2NmZGlza19MREFERCA9IFwKKwkkKExEQUREKSBcCisJbGlic21hcnRjb2xzLmxhIFwKKwlsaWJjb21tb24ubGEgXAorCWxpYmZkaXNrLmxhIFwKKwlsaWJ0Y29sb3JzLmxhCitjZmRpc2tfQ0ZMQUdTID0gXAorCSQoQU1fQ0ZMQUdTKSBcCisJLUkkKHVsX2xpYmZkaXNrX2luY2RpcikgXAorCS1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorCitpZiBCVUlMRF9MSUJNT1VOVAorY2ZkaXNrX0NGTEFHUyArPSAtSSQodWxfbGlibW91bnRfaW5jZGlyKQorY2ZkaXNrX0xEQUREICs9IGxpYm1vdW50LmxhCitlbmRpZgorCitpZiBIQVZFX1NMQU5HCitjZmRpc2tfTERBREQgKz0gLWxzbGFuZworZWxzZQorY2ZkaXNrX0NGTEFHUyArPSAkKE5DVVJTRVNfQ0ZMQUdTKQorY2ZkaXNrX0xEQUREICs9ICQoTkNVUlNFU19MSUJTKQorZW5kaWYKK2VuZGlmICMgQlVJTERfQ0ZESVNLCisKKworaWYgQlVJTERfUEFSVFgKK3VzcnNiaW5fZXhlY19QUk9HUkFNUyArPSBwYXJ0eCBhZGRwYXJ0IGRlbHBhcnQgcmVzaXplcGFydAorZGlzdF9tYW5fTUFOUyArPSBcCisJZGlzay11dGlscy9hZGRwYXJ0LjggXAorCWRpc2stdXRpbHMvZGVscGFydC44IFwKKwlkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuOCBcCisJZGlzay11dGlscy9wYXJ0eC44CisKK2FkZHBhcnRfU09VUkNFUyA9IGRpc2stdXRpbHMvYWRkcGFydC5jCithZGRwYXJ0X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK2RlbHBhcnRfU09VUkNFUyA9IGRpc2stdXRpbHMvZGVscGFydC5jCitkZWxwYXJ0X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK3Jlc2l6ZXBhcnRfU09VUkNFUyA9IGRpc2stdXRpbHMvcmVzaXplcGFydC5jCityZXNpemVwYXJ0X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK3BhcnR4X1NPVVJDRVMgPSBkaXNrLXV0aWxzL3BhcnR4LmMKK3BhcnR4X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGliYmxraWRfaW5jZGlyKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK3BhcnR4X0xEQUREID0gJChMREFERCkgbGliYmxraWQubGEgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQorCitlbmRpZiAjIEJVSUxEX1BBUlRYCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2FkZHBhcnQuOCBiL2Rpc2stdXRpbHMvYWRkcGFydC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZDExYWQKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2FkZHBhcnQuOApAQCAtMCwwICsxLDQwIEBACisuXCIgYWRkcGFydC44IC0tIG1hbiBwYWdlIGZvciBhZGRwYXJ0CisuXCIgQ29weXJpZ2h0IDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIgQ29weXJpZ2h0IDIwMDcgUmVkIEhhdCwgSW5jLgorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBBRERQQVJUIDggIkphbnVhcnkgMjAxNSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorYWRkcGFydCBcLSB0ZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHBhcnRpdGlvbgorLlNIIFNZTk9QU0lTCisuQiBhZGRwYXJ0CisuSSBkZXZpY2UgcGFydGl0aW9uIHN0YXJ0IGxlbmd0aAorLlNIIERFU0NSSVBUSU9OCisuQiBhZGRwYXJ0Cit0ZWxscyB0aGUgTGludXgga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgdGhlIHNwZWNpZmllZCBwYXJ0aXRpb24uCitUaGUgY29tbWFuZCBpcyBhIHNpbXBsZSB3cmFwcGVyIGFyb3VuZCB0aGUgImFkZCBwYXJ0aXRpb24iIGlvY3RsLgorCitUaGlzIGNvbW1hbmQgZG9lc24ndCBtYW5pcHVsYXRlIHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuCisKKy5TSCBQQVJBTUVURVJTCisuVFAKKy5JIGRldmljZQorVGhlIGRpc2sgZGV2aWNlLgorLlRQCisuSSBwYXJ0aXRpb24KK1RoZSBwYXJ0aXRpb24gbnVtYmVyLgorLlRQCisuSSBzdGFydAorVGhlIGJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIChpbiA1MTItYnl0ZSBzZWN0b3JzKS4KKy5UUAorLkkgbGVuZ3RoCitUaGUgbGVuZ3RoIG9mIHRoZSBwYXJ0aXRpb24gKGluIDUxMi1ieXRlIHNlY3RvcnMpLgorCisuU0ggU0VFIEFMU08KKy5CUiBkZWxwYXJ0ICg4KSwKKy5CUiBmZGlzayAoOCksCisuQlIgcGFydGVkICg4KSwKKy5CUiBwYXJ0cHJvYmUgKDgpLAorLkJSIHBhcnR4ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGFkZHBhcnQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvYWRkcGFydC5jIGIvZGlzay11dGlscy9hZGRwYXJ0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE4Yzk5NQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvYWRkcGFydC5jCkBAIC0wLDAgKzEsNjcgQEAKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGFydHguaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDE2KSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJhZGRwYXJ0KDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjLCBmZDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9LAorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKworCWlmIChhcmdjICE9IDUpIHsKKwkJd2FybngoXygibm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAoKGZkID0gb3Blbihhcmd2WzFdLCBPX1JET05MWSkpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgYXJndlsxXSk7CisKKwlpZiAocGFydHhfYWRkX3BhcnRpdGlvbihmZCwKKwkJCXN0cnRvdTMyX29yX2Vycihhcmd2WzJdLCBfKCJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiKSksCisJCQlzdHJ0b3U2NF9vcl9lcnIoYXJndlszXSwgXygiaW52YWxpZCBzdGFydCBhcmd1bWVudCIpKSwKKwkJCXN0cnRvdTY0X29yX2Vycihhcmd2WzRdLCBfKCJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIpKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIikpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvYmxvY2tkZXYuOCBiL2Rpc2stdXRpbHMvYmxvY2tkZXYuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYjAwNjA2Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9ibG9ja2Rldi44CkBAIC0wLDAgKzEsOTEgQEAKKy5cIiBDb3B5cmlnaHQgMTk5OCBBbmRyaWVzIEUuIEJyb3V3ZXIgKGFlYkBjd2kubmwpCisuXCIgQ29weXJpZ2h0IDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIKKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggQkxPQ0tERVYgOCAiQXVndXN0IDIwMTAiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2Jsb2NrZGV2IFwtIGNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUKKy5TSCBTWU5PUFNJUworLkIgYmxvY2tkZXYKKy5SQiBbIFwtcSBdCisuUkIgWyBcLXYgXQorLkkgY29tbWFuZAorLlJJIFsgY29tbWFuZCBcJi4uLlwmXQorLkkgZGV2aWNlCisuUkkgWyBkZXZpY2UgXCYuLi5cJl0KKy5icgorLkIgYmxvY2tkZXYKKy5CIFwtXC1yZXBvcnQKKy5SSSBbIGRldmljZSBcJi4uLlwmXQorLmJyCisuQiBibG9ja2RldgorLlJCIFwtaCB8IFwtVgorLlNIIERFU0NSSVBUSU9OCitUaGUgdXRpbGl0eQorLkIgYmxvY2tkZXYKK2FsbG93cyBvbmUgdG8gY2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4KKy5TSCBPUFRJT05TCisuSVAgIlxmQlwtcVxmUCIKK0JlIHF1aWV0LgorLklQICJcZkJcLXZcZlAiCitCZSB2ZXJib3NlLgorLklQICJcZkJcLVwtcmVwb3J0XGZQIgorUHJpbnQgYSByZXBvcnQgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlLiBJdCBpcyBwb3NzaWJsZSB0byBnaXZlIG11bHRpcGxlCitkZXZpY2VzLiBJZiBub25lIGlzIGdpdmVuLCBhbGwgZGV2aWNlcyB3aGljaCBhcHBlYXIgaW4gL3Byb2MvcGFydGl0aW9ucyBhcmUKK3Nob3duLiBOb3RlIHRoYXQgdGhlIHBhcnRpdGlvbiBTdGFydFNlYyBpcyBpbiA1MTItYnl0ZSBzZWN0b3JzLgorLklQICJcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuSVAgIlxmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIiCitQcmludCB2ZXJzaW9uIGFuZCBleGl0LgorLlNIIENPTU1BTkRTCitJdCBpcyBwb3NzaWJsZSB0byBnaXZlIG11bHRpcGxlIGRldmljZXMgYW5kIG11bHRpcGxlIGNvbW1hbmRzLgorLklQICJcZkJcLVwtZmx1c2hidWZzXGZQIgorRmx1c2ggYnVmZmVycy4KKy5JUCAiXGZCXC1cLWdldGFsaWdub2ZmXGZQIgorR2V0IGFsaWdubWVudCBvZmZzZXQuCisuSVAgIlxmQlwtXC1nZXRic3pcZlAiCitQcmludCBibG9ja3NpemUgaW4gYnl0ZXMuCisuSVAgIlxmQlwtXC1nZXRkaXNjYXJkemVyb2VzXGZQIgorR2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzLgorLklQICJcZkJcLVwtZ2V0ZnJhXGZQIgorR2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIGluIDUxMi1ieXRlIHNlY3RvcnMuCisuSVAgIlxmQlwtXC1nZXRpb21pblxmUCIKK0dldCBtaW5pbXVtIEkvTyBzaXplLgorLklQICJcZkJcLVwtZ2V0aW9vcHRcZlAiCitHZXQgb3B0aW1hbCBJL08gc2l6ZS4KKy5JUCAiXGZCXC1cLWdldG1heHNlY3RcZlAiCitHZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QKKy5JUCAiXGZCXC1cLWdldHBic3pcZlAiCitHZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZS4KKy5JUCAiXGZCXC1cLWdldHJhXGZQIgorUHJpbnQgcmVhZGFoZWFkIChpbiA1MTItYnl0ZSBzZWN0b3JzKS4KKy5JUCAiXGZCXC1cLWdldHJvXGZQIgorR2V0IHJlYWQtb25seS4gUHJpbnQgMSBpZiB0aGUgZGV2aWNlIGlzIHJlYWQtb25seSwgMCBvdGhlcndpc2UuCisuSVAgIlxmQlwtXC1nZXRzaXplNjRcZlAiCitQcmludCBkZXZpY2Ugc2l6ZSBpbiBieXRlcy4KKy5JUCAiXGZCXC1cLWdldHNpemVcZlAiCitQcmludCBkZXZpY2Ugc2l6ZSAoMzItYml0ISkgaW4gc2VjdG9ycy4gRGVwcmVjYXRlZCBpbiBmYXZvciBvZiB0aGUgXC1cLWdldHN6IG9wdGlvbi4KKy5JUCAiXGZCXC1cLWdldHNzXGZQIgorUHJpbnQgbG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyBcKGVuIHVzdWFsbHkgNTEyLgorLklQICJcZkJcLVwtZ2V0c3pcZlAiCitHZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzLgorLklQICJcZkJcLVwtcmVyZWFkcHRcZlAiCitSZXJlYWQgcGFydGl0aW9uIHRhYmxlCisuSVAgIlxmQlwtXC1zZXRic3pcZlAgXGZJYnl0ZXNcZlAiCitTZXQgYmxvY2tzaXplLiBOb3RlIHRoYXQgdGhlIGJsb2NrIHNpemUgaXMgc3BlY2lmaWMgdG8gdGhlIGN1cnJlbnQgZmlsZQorZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UsIHNvIHRoZSBjaGFuZ2Ugb2YgYmxvY2sgc2l6ZSBvbmx5IHBlcnNpc3RzCitmb3IgYXMgbG9uZyBhcyBibG9ja2RldiBoYXMgdGhlIGRldmljZSBvcGVuLCBhbmQgaXMgbG9zdCBvbmNlIGJsb2NrZGV2IGV4aXRzLgorLklQICJcZkJcLVwtc2V0ZnJhXGZQIFxmSXNlY3RvcnNcZlAiCitTZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQgKHNhbWUgbGlrZSBcLVwtc2V0cmEgb24gMi42IGtlcm5lbHMpLgorLklQICJcZkJcLVwtc2V0cmFcZlAgXGZJc2VjdG9yc1xmUCIKK1NldCByZWFkYWhlYWQgKGluIDUxMi1ieXRlIHNlY3RvcnMpLgorLklQICJcZkJcLVwtc2V0cm9cZlAiCitTZXQgcmVhZC1vbmx5LiBUaGUgY3VycmVudGx5IGFjdGl2ZSBhY2Nlc3MgdG8gdGhlIGRldmljZSBtYXkgbm90IGJlIGFmZmVjdGVkIGJ5IHRoZSBjaGFuZ2UuIEZvciBleGFtcGxlCitmaWxlc3lzdGVtIGFscmVhZHkgbW91bnRlZCBpbiByZWFkLXdyaXRlIG1vZGUgd2lsbCBub3QgYmUgYWZmZWN0ZWQuIFRoZSBjaGFuZ2UgYXBwbGllcyBhZnRlciByZW1vdW50LgorLklQICJcZkJcLVwtc2V0cndcZlAiCitTZXQgcmVhZC13cml0ZS4KKy5TSCBBVVRIT1IKK2Jsb2NrZGV2IHdhcyB3cml0dGVuIGJ5IEFuZHJpZXMgRS5cJiBCcm91d2VyIGFuZCByZXdyaXR0ZW4gYnkgS2FyZWwgWmFrLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGJsb2NrZGV2IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2Jsb2NrZGV2LmMgYi9kaXNrLXV0aWxzL2Jsb2NrZGV2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTEyMjQ2MAotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvYmxvY2tkZXYuYwpAQCAtMCwwICsxLDUwNSBAQAorLyoKKyAqIGJsb2NrZGV2LmMgLS0tIERvIHZhcmlvdXMgc2ltcGxlIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lCisgKiBhZWIsIDk5MTAyOAorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisKK3N0cnVjdCBiZGMgeworCWxvbmcJCWlvYzsJCS8qIGlvY3RsIGNvZGUgKi8KKwljb25zdCBjaGFyCSppb2NuYW1lOwkvKiBpb2N0bCBuYW1lIChlLmcuIEJMS1JPU0VUKSAqLworCWxvbmcJCWFyZ3ZhbDsJCS8qIGRlZmF1bHQgYXJndW1lbnQgKi8KKworCWNvbnN0IGNoYXIJKm5hbWU7CQkvKiAtLXNldGZvbyAqLworCWNvbnN0IGNoYXIJKmFyZ25hbWU7CS8qIGFyZ3VtZW50IG5hbWUgb3IgTlVMTCAqLworCisJY29uc3QgY2hhcgkqaGVscDsKKworCWludAkJYXJndHlwZTsKKwlpbnQJCWZsYWdzOworfTsKKworLyogY29tbWFuZCBmbGFncyAqLworZW51bSB7CisJRkxfTk9QVFIJPSAoMSA8PCAxKSwJLyogZG9lcyBub3QgYXNzdW1lIHBvaW50ZXIgKEFSR19JTlQgb25seSkqLworCUZMX05PUkVTVUxUCT0gKDEgPDwgMikJLyogZG9lcyBub3QgcmV0dXJuIGFueSBkYXRhICovCit9OworCisvKiBpb2N0bCBhcmd1bWVudCB0eXBlcyAqLworZW51bSB7CisJQVJHX05PTkUsCisJQVJHX1VTSFJULAorCUFSR19JTlQsCisJQVJHX1VJTlQsCisJQVJHX0xPTkcsCisJQVJHX1VMT05HLAorCUFSR19MTE9ORywKKwlBUkdfVUxMT05HCit9OworCisjZGVmaW5lIElPQ1RMX0VOVFJZKCBpbyApCS5pb2MgPSBpbywgLmlvY25hbWUgPSAjIGlvCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmRjIGJkY21zW10gPQoreworCXsKKwkJSU9DVExfRU5UUlkoQkxLUk9TRVQpLAorCQkubmFtZSA9ICItLXNldHJvIiwKKwkJLmFyZ3R5cGUgPSBBUkdfSU5ULAorCQkuYXJndmFsID0gMSwKKwkJLmZsYWdzID0gRkxfTk9SRVNVTFQsCisJCS5oZWxwID0gTl8oInNldCByZWFkLW9ubHkiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtST1NFVCksCisJCS5uYW1lID0gIi0tc2V0cnciLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAwLAorCQkuZmxhZ3MgPSBGTF9OT1JFU1VMVCwKKwkJLmhlbHAgPSBOXygic2V0IHJlYWQtd3JpdGUiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtST0dFVCksCisJCS5uYW1lID0gIi0tZ2V0cm8iLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IHJlYWQtb25seSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0RJU0NBUkRaRVJPRVMpLAorCQkubmFtZSA9ICItLWdldGRpc2NhcmR6ZXJvZXMiLAorCQkuYXJndHlwZSA9IEFSR19VSU5ULAorCQkuYXJndmFsID0gLTEsCisJCS5oZWxwID0gTl8oImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS1NTWkdFVCksCisJCS5uYW1lID0gIi0tZ2V0c3MiLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS1BCU1pHRVQpLAorCQkubmFtZSA9ICItLWdldHBic3oiLAorCQkuYXJndHlwZSA9IEFSR19VSU5ULAorCQkuYXJndmFsID0gLTEsCisJCS5oZWxwID0gTl8oImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLSU9NSU4pLAorCQkubmFtZSA9ICItLWdldGlvbWluIiwKKwkJLmFyZ3R5cGUgPSBBUkdfVUlOVCwKKwkJLmFyZ3ZhbCA9IC0xLAorCQkuaGVscCA9IE5fKCJnZXQgbWluaW11bSBJL08gc2l6ZSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0lPT1BUKSwKKwkJLm5hbWUgPSAiLS1nZXRpb29wdCIsCisJCS5hcmd0eXBlID0gQVJHX1VJTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IG9wdGltYWwgSS9PIHNpemUiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtBTElHTk9GRiksCisJCS5uYW1lID0gIi0tZ2V0YWxpZ25vZmYiLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtTRUNUR0VUKSwKKwkJLm5hbWUgPSAiLS1nZXRtYXhzZWN0IiwKKwkJLmFyZ3R5cGUgPSBBUkdfVVNIUlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLQlNaR0VUKSwKKwkJLm5hbWUgPSAiLS1nZXRic3oiLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IGJsb2Nrc2l6ZSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0JTWlNFVCksCisJCS5uYW1lID0gIi0tc2V0YnN6IiwKKwkJLmFyZ25hbWUgPSAiPGJ5dGVzPiIsCisJCS5hcmd0eXBlID0gQVJHX0lOVCwKKwkJLmZsYWdzID0gRkxfTk9SRVNVTFQsCisJICAgICAgICAuaGVscCA9IE5fKCJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtHRVRTSVpFKSwKKwkJLm5hbWUgPSAiLS1nZXRzaXplIiwKKwkJLmFyZ3R5cGUgPSBBUkdfVUxPTkcsCisJCS5hcmd2YWwgPSAtMSwKKwkJLmhlbHAgPSBOXygiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0dFVFNJWkU2NCksCisJCS5uYW1lID0gIi0tZ2V0c2l6ZTY0IiwKKwkJLmFyZ3R5cGUgPSBBUkdfVUxMT05HLAorCQkuYXJndmFsID0gLTEsCisJCS5oZWxwID0gTl8oImdldCBzaXplIGluIGJ5dGVzIikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLUkFTRVQpLAorCQkubmFtZSA9ICItLXNldHJhIiwKKwkJLmFyZ25hbWUgPSAiPHNlY3RvcnM+IiwKKwkJLmFyZ3R5cGUgPSBBUkdfSU5ULAorCQkuZmxhZ3MgPSBGTF9OT1BUUiB8IEZMX05PUkVTVUxULAorCQkuaGVscCA9IE5fKCJzZXQgcmVhZGFoZWFkIikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLUkFHRVQpLAorCQkubmFtZSA9ICItLWdldHJhIiwKKwkJLmFyZ3R5cGUgPSBBUkdfTE9ORywKKwkJLmFyZ3ZhbCA9IC0xLAorCQkuaGVscCA9IE5fKCJnZXQgcmVhZGFoZWFkIikKKwl9LHsKKwkJSU9DVExfRU5UUlkoQkxLRlJBU0VUKSwKKwkJLm5hbWUgPSAiLS1zZXRmcmEiLAorCQkuYXJnbmFtZSA9ICI8c2VjdG9ycz4iLAorCQkuYXJndHlwZSA9IEFSR19JTlQsCisJCS5mbGFncyA9IEZMX05PUFRSIHwgRkxfTk9SRVNVTFQsCisJCS5oZWxwID0gTl8oInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIpCisJfSx7CisJCUlPQ1RMX0VOVFJZKEJMS0ZSQUdFVCksCisJCS5uYW1lID0gIi0tZ2V0ZnJhIiwKKwkJLmFyZ3R5cGUgPSBBUkdfTE9ORywKKwkJLmFyZ3ZhbCA9IC0xLAorCQkuaGVscCA9IE5fKCJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtGTFNCVUYpLAorCQkubmFtZSA9ICItLWZsdXNoYnVmcyIsCisJCS5oZWxwID0gTl8oImZsdXNoIGJ1ZmZlcnMiKQorCX0seworCQlJT0NUTF9FTlRSWShCTEtSUlBBUlQpLAorCQkubmFtZSA9ICItLXJlcmVhZHB0IiwKKwkJLmhlbHAgPSBOXygicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIpCisJfQorfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgc3Rkb3V0KTsKKwlwcmludGYoXygKKwkgICAgICAgICAiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisJICAgICAgICAgIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorCSAgICAgICAgICIgJTEkcyAtaHwtVlxuIgorCQkpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJcHV0cyggIF8oIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIikpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKwlwdXRzKCAgXygiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiKSk7CisJcHV0cyggIF8oIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiKSk7CisJcHV0cyggIF8oIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIikpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgc3Rkb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDE2KSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJcHV0cyggIF8oIkF2YWlsYWJsZSBjb21tYW5kczoiKSk7CisJcHJpbnRmKF8oIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iKSwgIi0tZ2V0c3oiKTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShiZGNtcyk7IGkrKykgeworCQlpZiAoYmRjbXNbaV0uYXJnbmFtZSkKKwkJCXByaW50ZigiICVzICUtKnMgJXNcbiIsIGJkY21zW2ldLm5hbWUsCisJCQkJKGludCkoMjQgLSBzdHJsZW4oYmRjbXNbaV0ubmFtZSkpLAorCQkJCWJkY21zW2ldLmFyZ25hbWUsIF8oYmRjbXNbaV0uaGVscCkpOworCQllbHNlCisJCQlwcmludGYoIiAlLTI1cyAlc1xuIiwgYmRjbXNbaV0ubmFtZSwKKwkJCQlfKGJkY21zW2ldLmhlbHApKTsKKwl9CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImJsb2NrZGV2KDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGludCBmaW5kX2NtZChjaGFyICpzKQoreworCXNpemVfdCBqOworCisJZm9yIChqID0gMDsgaiA8IEFSUkFZX1NJWkUoYmRjbXMpOyBqKyspCisJCWlmICghc3RyY21wKHMsIGJkY21zW2pdLm5hbWUpKQorCQkJcmV0dXJuIGo7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBkb19jb21tYW5kcyhpbnQgZmQsIGNoYXIgKiphcmd2LCBpbnQgZCk7CitzdGF0aWMgdm9pZCByZXBvcnRfaGVhZGVyKHZvaWQpOworc3RhdGljIHZvaWQgcmVwb3J0X2RldmljZShjaGFyICpkZXZpY2UsIGludCBxdWlldCk7CitzdGF0aWMgdm9pZCByZXBvcnRfYWxsX2RldmljZXModm9pZCk7CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgZmQsIGQsIGosIGs7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKGFyZ2MgPCAyKSB7CisJCXdhcm54KF8oIm5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJLyogLVYgbm90IHRvZ2V0aGVyIHdpdGggY29tbWFuZHMgKi8KKwlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLVYiKSB8fCAhc3RyY21wKGFyZ3ZbMV0sICItLXZlcnNpb24iKSkgeworCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisJaWYgKCFzdHJjbXAoYXJndlsxXSwgIi1oIikgfHwgIXN0cmNtcChhcmd2WzFdLCAiLS1oZWxwIikpCisJCXVzYWdlKCk7CisKKwkvKiAtLXJlcG9ydCBub3QgdG9nZXRoZXIgd2l0aCBvdGhlciBjb21tYW5kcyAqLworCWlmICghc3RyY21wKGFyZ3ZbMV0sICItLXJlcG9ydCIpKSB7CisJCXJlcG9ydF9oZWFkZXIoKTsKKwkJaWYgKGFyZ2MgPiAyKSB7CisJCQlmb3IgKGQgPSAyOyBkIDwgYXJnYzsgZCsrKQorCQkJCXJlcG9ydF9kZXZpY2UoYXJndltkXSwgMCk7CisJCX0gZWxzZSB7CisJCQlyZXBvcnRfYWxsX2RldmljZXMoKTsKKwkJfQorCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCS8qIGRvIGVhY2ggb2YgdGhlIGNvbW1hbmRzIG9uIGVhY2ggb2YgdGhlIGRldmljZXMgKi8KKwkvKiBkZXZpY2VzIHN0YXJ0IGFmdGVyIGxhc3QgY29tbWFuZCAqLworCWZvciAoZCA9IDE7IGQgPCBhcmdjOyBkKyspIHsKKwkJaiA9IGZpbmRfY21kKGFyZ3ZbZF0pOworCQlpZiAoaiA+PSAwKSB7CisJCQlpZiAoYmRjbXNbal0uYXJnbmFtZSkKKwkJCQlkKys7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoIXN0cmNtcChhcmd2W2RdLCAiLS1nZXRzeiIpKQorCQkJY29udGludWU7CisJCWlmICghc3RyY21wKGFyZ3ZbZF0sICItLSIpKSB7CisJCQlkKys7CisJCQlicmVhazsKKwkJfQorCQlpZiAoYXJndltkXVswXSAhPSAnLScpCisJCQlicmVhazsKKwl9CisKKwlpZiAoZCA+PSBhcmdjKSB7CisJCXdhcm54KF8oIm5vIGRldmljZSBzcGVjaWZpZWQiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlmb3IgKGsgPSBkOyBrIDwgYXJnYzsgaysrKSB7CisJCWZkID0gb3Blbihhcmd2W2tdLCBPX1JET05MWSwgMCk7CisJCWlmIChmZCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBhcmd2W2tdKTsKKwkJZG9fY29tbWFuZHMoZmQsIGFyZ3YsIGQpOworCQljbG9zZShmZCk7CisJfQorCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyB2b2lkIGRvX2NvbW1hbmRzKGludCBmZCwgY2hhciAqKmFyZ3YsIGludCBkKQoreworCWludCByZXMsIGksIGo7CisJaW50IGlhcmcgPSAwOworCXVuc2lnbmVkIGludCB1YXJnID0gMDsKKwl1bnNpZ25lZCBzaG9ydCBodWFyZyA9IDA7CisJbG9uZyBsYXJnID0gMDsKKwlsb25nIGxvbmcgbGxhcmcgPSAwOworCXVuc2lnbmVkIGxvbmcgbHUgPSAwOworCXVuc2lnbmVkIGxvbmcgbG9uZyBsbHUgPSAwOworCWludCB2ZXJib3NlID0gMDsKKworCWZvciAoaSA9IDE7IGkgPCBkOyBpKyspIHsKKwkJaWYgKCFzdHJjbXAoYXJndltpXSwgIi12IikpIHsKKwkJCXZlcmJvc2UgPSAxOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJndltpXSwgIi1xIikpIHsKKwkJCXZlcmJvc2UgPSAwOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS1nZXRzeiIpKSB7CisJCQlyZXMgPSBibGtkZXZfZ2V0X3NlY3RvcnMoZmQsICZsbHUpOworCQkJaWYgKHJlcyA9PSAwKQorCQkJCXByaW50ZigiJWxsZFxuIiwgbGx1KTsKKwkJCWVsc2UKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWogPSBmaW5kX2NtZChhcmd2W2ldKTsKKwkJaWYgKGogPT0gLTEpIHsKKwkJCXdhcm54KF8oIlVua25vd24gY29tbWFuZDogJXMiKSwgYXJndltpXSk7CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKworCQlzd2l0Y2ggKGJkY21zW2pdLmFyZ3R5cGUpIHsKKwkJZGVmYXVsdDoKKwkJY2FzZSBBUkdfTk9ORToKKwkJCXJlcyA9IGlvY3RsKGZkLCBiZGNtc1tqXS5pb2MsIDApOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX1VTSFJUOgorCQkJaHVhcmcgPSBiZGNtc1tqXS5hcmd2YWw7CisJCQlyZXMgPSBpb2N0bChmZCwgYmRjbXNbal0uaW9jLCAmaHVhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX0lOVDoKKwkJCWlmIChiZGNtc1tqXS5hcmduYW1lKSB7CisJCQkJaWYgKGkgPT0gZCAtIDEpIHsKKwkJCQkJd2FybngoXygiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiKSwKKwkJCQkJICAgICAgYmRjbXNbal0ubmFtZSk7CisJCQkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJCQl9CisJCQkJaWFyZyA9IGF0b2koYXJndlsrK2ldKTsKKwkJCX0gZWxzZQorCQkJCWlhcmcgPSBiZGNtc1tqXS5hcmd2YWw7CisKKwkJCXJlcyA9IGJkY21zW2pdLmZsYWdzICYgRkxfTk9QVFIgPworCQkJICAgIGlvY3RsKGZkLCBiZGNtc1tqXS5pb2MsIGlhcmcpIDoKKwkJCSAgICBpb2N0bChmZCwgYmRjbXNbal0uaW9jLCAmaWFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBBUkdfVUlOVDoKKwkJCXVhcmcgPSBiZGNtc1tqXS5hcmd2YWw7CisJCQlyZXMgPSBpb2N0bChmZCwgYmRjbXNbal0uaW9jLCAmdWFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBBUkdfTE9ORzoKKwkJCWxhcmcgPSBiZGNtc1tqXS5hcmd2YWw7CisJCQlyZXMgPSBpb2N0bChmZCwgYmRjbXNbal0uaW9jLCAmbGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBBUkdfTExPTkc6CisJCQlsbGFyZyA9IGJkY21zW2pdLmFyZ3ZhbDsKKwkJCXJlcyA9IGlvY3RsKGZkLCBiZGNtc1tqXS5pb2MsICZsbGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBBUkdfVUxPTkc6CisJCQlsdSA9IGJkY21zW2pdLmFyZ3ZhbDsKKwkJCXJlcyA9IGlvY3RsKGZkLCBiZGNtc1tqXS5pb2MsICZsdSk7CisJCQlicmVhazsKKwkJY2FzZSBBUkdfVUxMT05HOgorCQkJbGx1ID0gYmRjbXNbal0uYXJndmFsOworCQkJcmVzID0gaW9jdGwoZmQsIGJkY21zW2pdLmlvYywgJmxsdSk7CisJCQlicmVhazsKKwkJfQorCisJCWlmIChyZXMgPT0gLTEpIHsKKwkJCXdhcm4oXygiaW9jdGwgZXJyb3Igb24gJXMiKSwgYmRjbXNbal0uaW9jbmFtZSk7CisJCQlpZiAodmVyYm9zZSkKKwkJCQlwcmludGYoXygiJXMgZmFpbGVkLlxuIiksIF8oYmRjbXNbal0uaGVscCkpOworCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQl9CisKKwkJaWYgKGJkY21zW2pdLmFyZ3R5cGUgPT0gQVJHX05PTkUgfHwKKwkJICAgIChiZGNtc1tqXS5mbGFncyAmIEZMX05PUkVTVUxUKSkgeworCQkJaWYgKHZlcmJvc2UpCisJCQkJcHJpbnRmKF8oIiVzIHN1Y2NlZWRlZC5cbiIpLCBfKGJkY21zW2pdLmhlbHApKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoIiVzOiAiLCBfKGJkY21zW2pdLmhlbHApKTsKKworCQlzd2l0Y2ggKGJkY21zW2pdLmFyZ3R5cGUpIHsKKwkJY2FzZSBBUkdfVVNIUlQ6CisJCQlwcmludGYoIiVodVxuIiwgaHVhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX0lOVDoKKwkJCXByaW50ZigiJWRcbiIsIGlhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX1VJTlQ6CisJCQlwcmludGYoIiV1XG4iLCB1YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIEFSR19MT05HOgorCQkJcHJpbnRmKCIlbGRcbiIsIGxhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX0xMT05HOgorCQkJcHJpbnRmKCIlbGxkXG4iLCBsbGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBBUkdfVUxPTkc6CisJCQlwcmludGYoIiVsdVxuIiwgbHUpOworCQkJYnJlYWs7CisJCWNhc2UgQVJHX1VMTE9ORzoKKwkJCXByaW50ZigiJWxsdVxuIiwgbGx1KTsKKwkJCWJyZWFrOworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCByZXBvcnRfYWxsX2RldmljZXModm9pZCkKK3sKKwlGSUxFICpwcm9jcHQ7CisJY2hhciBsaW5lWzIwMF07CisJY2hhciBwdG5hbWVbMjAwICsgMV07CisJY2hhciBkZXZpY2VbMjEwXTsKKwlpbnQgbWEsIG1pLCBzejsKKworCXByb2NwdCA9IGZvcGVuKF9QQVRIX1BST0NfUEFSVElUSU9OUywgInIiKTsKKwlpZiAoIXByb2NwdCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgX1BBVEhfUFJPQ19QQVJUSVRJT05TKTsKKworCXdoaWxlIChmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIHByb2NwdCkpIHsKKwkJaWYgKHNzY2FuZihsaW5lLCAiICVkICVkICVkICUyMDBbXlxuIF0iLAorCQkJICAgJm1hLCAmbWksICZzeiwgcHRuYW1lKSAhPSA0KQorCQkJY29udGludWU7CisKKwkJc3ByaW50ZihkZXZpY2UsICIvZGV2LyVzIiwgcHRuYW1lKTsKKwkJcmVwb3J0X2RldmljZShkZXZpY2UsIDEpOworCX0KKworCWZjbG9zZShwcm9jcHQpOworfQorCitzdGF0aWMgdm9pZCByZXBvcnRfZGV2aWNlKGNoYXIgKmRldmljZSwgaW50IHF1aWV0KQoreworCWludCBmZDsKKwlpbnQgcm8sIHNzeiwgYnN6OworCWxvbmcgcmE7CisJdW5zaWduZWQgbG9uZyBsb25nIGJ5dGVzOworCXVpbnQ2NF90IHN0YXJ0ID0gMDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWZkID0gb3BlbihkZXZpY2UsIE9fUkRPTkxZIHwgT19OT05CTE9DSyk7CisJaWYgKGZkIDwgMCkgeworCQlpZiAoIXF1aWV0KQorCQkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZpY2UpOworCQlyZXR1cm47CisJfQorCisJcm8gPSBzc3ogPSBic3ogPSAwOworCXJhID0gMDsKKwlpZiAoZnN0YXQoZmQsICZzdCkgPT0gMCkgeworCQlkZXZfdCBkaXNrOworCQlzdHJ1Y3QgcGF0aF9jeHQgKnBjOworCisJCXBjID0gdWxfbmV3X3N5c2ZzX3BhdGgoc3Quc3RfcmRldiwgTlVMTCwgTlVMTCk7CisJCWlmIChwYyAmJgorCQkgICAgc3lzZnNfYmxrZGV2X2dldF93aG9sZWRpc2socGMsIE5VTEwsIDAsICZkaXNrKSA9PSAwICYmCisJCSAgICBkaXNrICE9IHN0LnN0X3JkZXYpIHsKKworCQkJaWYgKHVsX3BhdGhfcmVhZF91NjQocGMsICZzdGFydCwgInN0YXJ0IikgIT0gMCkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJCQlfKCIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiKSwKKwkJCQkJZGV2aWNlKTsKKwkJfQorCQl1bF91bnJlZl9wYXRoKHBjKTsKKwl9CisJaWYgKGlvY3RsKGZkLCBCTEtST0dFVCwgJnJvKSA9PSAwICYmCisJICAgIGlvY3RsKGZkLCBCTEtSQUdFVCwgJnJhKSA9PSAwICYmCisJICAgIGlvY3RsKGZkLCBCTEtTU1pHRVQsICZzc3opID09IDAgJiYKKwkgICAgaW9jdGwoZmQsIEJMS0JTWkdFVCwgJmJzeikgPT0gMCAmJgorCSAgICBibGtkZXZfZ2V0X3NpemUoZmQsICZieXRlcykgPT0gMCkgeworCQlwcmludGYoIiVzICU1bGQgJTVkICU1ZCAlMTBqdSAlMTVsbGQgICAlc1xuIiwKKwkJICAgICAgIHJvID8gInJvIiA6ICJydyIsIHJhLCBzc3osIGJzeiwgc3RhcnQsIGJ5dGVzLCBkZXZpY2UpOworCX0gZWxzZSB7CisJCWlmICghcXVpZXQpCisJCQl3YXJueChfKCJpb2N0bCBlcnJvciBvbiAlcyIpLCBkZXZpY2UpOworCX0KKworCWNsb3NlKGZkKTsKK30KKworc3RhdGljIHZvaWQgcmVwb3J0X2hlYWRlcih2b2lkKQoreworCXByaW50ZihfKCJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIikpOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9jZmRpc2suOCBiL2Rpc2stdXRpbHMvY2ZkaXNrLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY1NDhkOAotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvY2ZkaXNrLjgKQEAgLTAsMCArMSwyMDQgQEAKKy5cIiBjZmRpc2suOCAtLSBtYW4gcGFnZSBmb3IgY2ZkaXNrCisuXCIgQ29weXJpZ2h0IDE5OTQgS2V2aW4gRS4gTWFydGluIChtYXJ0aW5AY3MudW5jLmVkdSkKKy5cIiBDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIKKy5cIiBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gbWFrZSBhbmQgZGlzdHJpYnV0ZSB2ZXJiYXRpbSBjb3BpZXMgb2YgdGhpcworLlwiIG1hbnVhbCBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcmUKKy5cIiBwcmVzZXJ2ZWQgb24gYWxsIGNvcGllcy4KKy5cIgorLlwiIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBjb3B5IGFuZCBkaXN0cmlidXRlIG1vZGlmaWVkIHZlcnNpb25zIG9mIHRoaXMKKy5cIiBtYW51YWwgdW5kZXIgdGhlIGNvbmRpdGlvbnMgZm9yIHZlcmJhdGltIGNvcHlpbmcsIHByb3ZpZGVkIHRoYXQgdGhlCisuXCIgZW50aXJlIHJlc3VsdGluZyBkZXJpdmVkIHdvcmsgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIGEKKy5cIiBwZXJtaXNzaW9uIG5vdGljZSBpZGVudGljYWwgdG8gdGhpcyBvbmUuCisuXCIKKy5USCBDRkRJU0sgOCAiTWFyY2ggMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorY2ZkaXNrIFwtIGRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlCisuU0ggU1lOT1BTSVMKKy5CIGNmZGlzaworW29wdGlvbnNdCisuUkkgWyBkZXZpY2UgXQorLlNIIERFU0NSSVBUSU9OCisuQiBjZmRpc2sKK2lzIGEgY3Vyc2VzLWJhc2VkIHByb2dyYW0gZm9yIHBhcnRpdGlvbmluZyBhbnkgYmxvY2sgZGV2aWNlLgorVGhlIGRlZmF1bHQgZGV2aWNlIGlzCisuSVIgL2Rldi9zZGEgLgorCitOb3RlIHRoYXQKKy5CIGNmZGlzaworcHJvdmlkZXMgYmFzaWMgcGFydGl0aW9uaW5nIGZ1bmN0aW9uYWxpdHkgd2l0aCBhIHVzZXItZnJpZW5kbHkgaW50ZXJmYWNlLgorSWYgeW91IG5lZWQgYWR2YW5jZWQgZmVhdHVyZXMsIHVzZQorLkJSIGZkaXNrICg4KQoraW5zdGVhZC4KKworU2luY2UgdmVyc2lvbiAyLjI1CisuQiBjZmRpc2sKK3N1cHBvcnRzIE1CUiAoRE9TKSwgR1BULCBTVU4gYW5kIFNHSSBkaXNrIGxhYmVscywgYnV0IG5vIGxvbmdlciBwcm92aWRlcyBhbnkKK2Z1bmN0aW9uYWxpdHkgZm9yIENIUyAoQ3lsaW5kZXItSGVhZC1TZWN0b3IpIGFkZHJlc3NpbmcuICBDSFMgaGFzCituZXZlciBiZWVuIGltcG9ydGFudCBmb3IgTGludXgsIGFuZCB0aGlzIGFkZHJlc3NpbmcgY29uY2VwdCBkb2VzIG5vdCBtYWtlIGFueQorc2Vuc2UgZm9yIG5ldyBkZXZpY2VzLgorCitTaW5jZSB2ZXJzaW9uIDIuMjUKKy5CIGNmZGlzaworYWxzbyBkb2VzIG5vdCBwcm92aWRlIGEgJ3ByaW50JyBjb21tYW5kIGFueSBtb3JlLgorVGhpcyBmdW5jdGlvbmFsaXR5IGlzIHByb3ZpZGVkIGJ5IHRoZSB1dGlsaXRpZXMKKy5CUiBwYXJ0eCAoOCkKK2FuZAorLkJSIGxzYmxrICg4KQoraW4gYSB2ZXJ5IGNvbWZvcnRhYmxlIGFuZCByaWNoIHdheS4KKworSWYgeW91IHdhbnQgdG8gcmVtb3ZlIGFuIG9sZCBwYXJ0aXRpb24gdGFibGUgZnJvbSBhIGRldmljZSwgdXNlCisuQlIgd2lwZWZzICg4KS4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkJSIFwtTCAsICIgXC1cLWNvbG9yIiBbID0gXGZJd2hlblxmUl0KK0NvbG9yaXplIHRoZSBvdXRwdXQuICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgXGZJd2hlblxmUAorY2FuIGJlIFxmQmF1dG9cZlIsIFxmQm5ldmVyXGZSIG9yIFxmQmFsd2F5c1xmUi4gIElmIHRoZSBcZkl3aGVuXGZSIGFyZ3VtZW50IGlzIG9taXR0ZWQsCitpdCBkZWZhdWx0cyB0byBcZkJhdXRvXGZSLiAgVGhlIGNvbG9ycyBjYW4gYmUgZGlzYWJsZWQsIGZvciB0aGUgY3VycmVudCBidWlsdC1pbiBkZWZhdWx0IAorc2VlIFxmQlwtXC1oZWxwXGZSIG91dHB1dC4gU2VlIGFsc28gdGhlIENPTE9SUyBzZWN0aW9uLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwteiAsICIgXC1cLXplcm8iCitTdGFydCB3aXRoIGFuIGluLW1lbW9yeSB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlLiAgVGhpcyBvcHRpb24gZG9lcyBub3QgemVybyB0aGUKK3BhcnRpdGlvbiB0YWJsZSBvbiB0aGUgZGlzazsgcmF0aGVyLCBpdCBzaW1wbHkgc3RhcnRzIHRoZSBwcm9ncmFtIHdpdGhvdXQKK3JlYWRpbmcgdGhlIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZS4gIFRoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gY3JlYXRlIGEgbmV3CitwYXJ0aXRpb24gdGFibGUgZnJvbSBzY3JhdGNoIG9yIGZyb20gYW4gc2ZkaXNrLWNvbXBhdGlibGUgc2NyaXB0LgorCisuU0ggQ09NTUFORFMKK1RoZSBjb21tYW5kcyBmb3IKKy5CIGNmZGlzaworY2FuIGJlIGVudGVyZWQgYnkgcHJlc3NpbmcgdGhlIGNvcnJlc3BvbmRpbmcga2V5IChwcmVzc2luZworLkkgRW50ZXIKK2FmdGVyIHRoZSBjb21tYW5kIGlzIG5vdCBuZWNlc3NhcnkpLiAgSGVyZSBpcyBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZQorY29tbWFuZHM6CisuVFAKKy5CIGIKK1RvZ2dsZSB0aGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24uICBUaGlzIGFsbG93cyB5b3UgdG8KK3NlbGVjdCB3aGljaCBwcmltYXJ5IHBhcnRpdGlvbiBpcyBib290YWJsZSBvbiB0aGUgZHJpdmUuICBUaGlzIGNvbW1hbmQgbWF5IG5vdAorYmUgYXZhaWxhYmxlIGZvciBhbGwgcGFydGl0aW9uIGxhYmVsIHR5cGVzLgorLlRQCisuQiBkCitEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uLiAgVGhpcyB3aWxsIGNvbnZlcnQgdGhlIGN1cnJlbnQgcGFydGl0aW9uCitpbnRvIGZyZWUgc3BhY2UgYW5kIG1lcmdlIGl0IHdpdGggYW55IGZyZWUgc3BhY2UgaW1tZWRpYXRlbHkKK3N1cnJvdW5kaW5nIHRoZSBjdXJyZW50IHBhcnRpdGlvbi4gIEEgcGFydGl0aW9uIGFscmVhZHkgbWFya2VkIGFzIGZyZWUKK3NwYWNlIG9yIG1hcmtlZCBhcyB1bnVzYWJsZSBjYW5ub3QgYmUgZGVsZXRlZC4KKy5UUAorLkIgaAorU2hvdyB0aGUgaGVscCBzY3JlZW4uCisuVFAKKy5CIG4KK0NyZWF0ZSBhIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlLgorLkIgY2ZkaXNrCit0aGVuIHByb21wdHMgeW91IGZvciB0aGUgc2l6ZSBvZiB0aGUgcGFydGl0aW9uIHlvdSB3YW50IHRvIGNyZWF0ZS4KK1RoZSBkZWZhdWx0IHNpemUgaXMgZXF1YWwgdG8gdGhlIGVudGlyZSBhdmFpbGFibGUgZnJlZSBzcGFjZSBhdCB0aGUgY3VycmVudAorcG9zaXRpb24uCisKK1RoZSBzaXplIG1heSBiZSBmb2xsb3dlZCBieSBhIG11bHRpcGxpY2F0aXZlIHN1ZmZpeDogS2lCICg9MTAyNCksCitNaUIgKD0xMDI0KjEwMjQpLCBhbmQgc28gb24gZm9yIEdpQiwgVGlCLCBQaUIsIEVpQiwgWmlCIGFuZCBZaUIKKyh0aGUgImlCIiBpcyBvcHRpb25hbCwgZS5nLiAiSyIgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgIktpQiIpLgorLlRQCisuQiBxCitRdWl0IHRoZSBwcm9ncmFtLiAgVGhpcyB3aWxsIGV4aXQgdGhlIHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGFueSBkYXRhIHRvCit0aGUgZGlzay4KKy5UUAorLkIgcworU29ydCB0aGUgcGFydGl0aW9ucyBpbiBhc2NlbmRpbmcgc3RhcnQtc2VjdG9yIG9yZGVyLiAgV2hlbiBkZWxldGluZyBhbmQKK2FkZGluZyBwYXJ0aXRpb25zLCBpdCBpcyBsaWtlbHkgdGhhdCB0aGUgbnVtYmVyaW5nIG9mIHRoZSBwYXJ0aXRpb25zIHdpbGwKK25vIGxvbmdlciBtYXRjaCB0aGVpciBvcmRlciBvbiB0aGUgZGlzay4gIFRoaXMgY29tbWFuZCByZXN0b3JlcyB0aGF0IG1hdGNoLgorLlRQCisuQiB0CitDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlLiAgQnkgZGVmYXVsdCwgbmV3IHBhcnRpdGlvbnMgYXJlIGNyZWF0ZWQgYXMKKy5JIExpbnV4CitwYXJ0aXRpb25zLgorLlRQCisuQiB1CitEdW1wIHRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgdG8gYW4gc2ZkaXNrLWNvbXBhdGlibGUgc2NyaXB0IGZpbGUuCisuc3AKK1RoZSBzY3JpcHQgZmlsZXMgYXJlIGNvbXBhdGlibGUgYmV0d2VlbiBcZkJjZmRpc2tcZlIsIFxmQmZkaXNrXGZSLCBcZkJzZmRpc2tcZlIKK2FuZCBvdGhlciBsaWJmZGlzayBhcHBsaWNhdGlvbnMuICBGb3IgbW9yZSBkZXRhaWxzIHNlZQorLkJSIHNmZGlzayAoOCkuCisuc3AKK0l0IGlzIGFsc28gcG9zc2libGUgdG8gbG9hZCBhbiBzZmRpc2stc2NyaXB0IGludG8gXGZCY2ZkaXNrXGZSIGlmIHRoZXJlIGlzCitubyBwYXJ0aXRpb24gdGFibGUgb24gdGhlIGRldmljZSBvciB3aGVuIHlvdSBzdGFydCBcZkJjZmRpc2tcZlIgd2l0aCB0aGUKK1xmQi0temVyb1xmUiBjb21tYW5kLWxpbmUgb3B0aW9uLgorLlRQCisuQiBXCitXcml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIGFuIHVwcGVyY2FzZSBXKS4gIFNpbmNlCit0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIGNvbmZpcm0gb3IgZGVueQordGhlIHdyaXRlIGJ5IGVudGVyaW5nIGB5ZXMnIG9yIGBubycuICBJZiB5b3UgZW50ZXIgYHllcycsCisuQiBjZmRpc2sKK3dpbGwgd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIGFuZCB0aGVuIHRlbGwgdGhlIGtlcm5lbCB0byByZS1yZWFkIHRoZQorcGFydGl0aW9uIHRhYmxlIGZyb20gdGhlIGRpc2suCisKK1RoZSByZS1yZWFkaW5nIG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgZG9lcyBub3QgYWx3YXlzIHdvcmsuICBJbiBzdWNoIGEKK2Nhc2UgeW91IG5lZWQgdG8gaW5mb3JtIHRoZSBrZXJuZWwgYWJvdXQgYW55IG5ldyBwYXJ0aXRpb25zIGJ5IHVzaW5nCisuQlIgcGFydHByb2JlICg4KQorb3IKKy5CUiBwYXJ0eCAoOCksCitvciBieSByZWJvb3RpbmcgdGhlIHN5c3RlbS4KKy5UUAorLkIgeAorVG9nZ2xlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uLgorLlRQCisuSVIgIlVwIEFycm93IiAsICIgRG93biBBcnJvdyIKK01vdmUgdGhlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgb3IgbmV4dCBwYXJ0aXRpb24uICBJZiB0aGVyZSBhcmUgbW9yZQorcGFydGl0aW9ucyB0aGFuIGNhbiBiZSBkaXNwbGF5ZWQgb24gYSBzY3JlZW4sIHlvdSBjYW4gZGlzcGxheSB0aGUgbmV4dAorKHByZXZpb3VzKSBzZXQgb2YgcGFydGl0aW9ucyBieSBtb3ZpbmcgZG93biAodXApIGF0IHRoZSBsYXN0IChmaXJzdCkKK3BhcnRpdGlvbiBkaXNwbGF5ZWQgb24gdGhlIHNjcmVlbi4KKy5UUAorLklSICJMZWZ0IEFycm93IiAsICIgUmlnaHQgQXJyb3ciCitTZWxlY3QgdGhlIHByZWNlZGluZyBvciB0aGUgbmV4dCBtZW51IGl0ZW0uICBIaXR0aW5nIFxmSUVudGVyXGZSIHdpbGwKK2V4ZWN1dGUgdGhlIGN1cnJlbnRseSBzZWxlY3RlZCBpdGVtLgorCisuUFAKK0FsbCBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlcmNhc2Ugb3IgbG93ZXJjYXNlCitsZXR0ZXJzIChleGNlcHQgZm9yCisuQlIgVyByaXRlKS4KK1doZW4gaW4gYSBzdWJtZW51IG9yIGF0IGEgcHJvbXB0LCB5b3UgY2FuIGhpdCB0aGUKKy5JIEVzYwora2V5IHRvIHJldHVybiB0byB0aGUgbWFpbiBtZW51LgorCisuU0ggQ09MT1JTCitJbXBsaWNpdCBjb2xvcmluZyBjYW4gYmUgZGlzYWJsZWQgYnkgY3JlYXRpbmcgdGhlIGVtcHR5IGZpbGUKKy5JUiAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL2NmZGlzay5kaXNhYmxlIC4KKworU2VlCisuQlIgdGVybWluYWwtY29sb3JzLmQgKDUpCitmb3IgbW9yZSBkZXRhaWxzIGFib3V0IGNvbG9yaXphdGlvbiBjb25maWd1cmF0aW9uLgorCisuQiBjZmRpc2sKK2RvZXMgbm90IHN1cHBvcnQgY29sb3IgY3VzdG9taXphdGlvbiB3aXRoIGEgY29sb3Itc2NoZW1lIGZpbGUuCisKKy5TSCBFTlZJUk9OTUVOVAorLklQIENGRElTS19ERUJVRz1hbGwKK2VuYWJsZXMgY2ZkaXNrIGRlYnVnIG91dHB1dC4KKy5JUCBMSUJGRElTS19ERUJVRz1hbGwKK2VuYWJsZXMgbGliZmRpc2sgZGVidWcgb3V0cHV0LgorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCU01BUlRDT0xTX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJzbWFydGNvbHMgZGVidWcgb3V0cHV0LgorLklQIExJQlNNQVJUQ09MU19ERUJVR19QQURESU5HPW9uCit1c2UgdmlzaWJsZSBwYWRkaW5nIGNoYXJhY3RlcnMuIFJlcXVpcmVzIGVuYWJsZWQgTElCU01BUlRDT0xTX0RFQlVHLgorCisuU0ggIlNFRSBBTFNPIgorLkJSIGZkaXNrICg4KSwKKy5CUiBwYXJ0ZWQgKDgpLAorLkJSIHBhcnRwcm9iZSAoOCksCisuQlIgcGFydHggKDgpLAorLkJSIHNmZGlzayAoOCkKKy5TSCBBVVRIT1IKK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlBQCitUaGUgY3VycmVudCBjZmRpc2sgaW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24gdGhlIG9yaWdpbmFsIGNmZGlzaworZnJvbSBLZXZpbiBFLiBNYXJ0aW4gKG1hcnRpbkBjcy51bmMuZWR1KS4KKworLlNIIEFWQUlMQUJJTElUWQorVGhlIGNmZGlzayBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9jZmRpc2suYyBiL2Rpc2stdXRpbHMvY2ZkaXNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNjOGE2MgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvY2ZkaXNrLmMKQEAgLTAsMCArMSwyNzQ3IEBACisvKgorICogY2ZkaXNrLmMgLSBEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS4KKyAqCisgKiAgICAgQ29weXJpZ2h0IChDKSAyMDE0LTIwMTUgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiAgICAgQ29weXJpZ2h0IChDKSAxOTk0IEtldmluIEUuIE1hcnRpbiAobWFydGluQGNzLnVuYy5lZHUpCisgKgorICogICAgIFRoZSBvcmlnaW5hbCBjZmRpc2sgd2FzIGluc3BpcmVkIGJ5IHRoZSBmZGlzayBwcm9ncmFtCisgKiAgICAgICAgICAgYnkgQS4gVi4gTGUgQmxhbmMgKGxlYmxhbmNAbWNjLmFjLnVrLgorICoKKyAqIGNmZGlzayBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxsaWJmZGlzay5oPgorCisjaWZkZWYgSEFWRV9MSUJNT1VOVAorIyBpbmNsdWRlIDxsaWJtb3VudC5oPgkvKiBrZWVwIGl0IG9wdGlvbmFsIGZvciBub24tbGludXggc3lzdGVtcyAqLworI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NMQU5HX0gKKyMgaW5jbHVkZSA8c2xhbmcuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9TTEFOR19TTEFOR19IKQorIyBpbmNsdWRlIDxzbGFuZy9zbGFuZy5oPgorI2VuZGlmCisKKyNpZm5kZWYgX1hPUEVOX1NPVVJDRQorIyBkZWZpbmUgX1hPUEVOX1NPVVJDRSA1MDAgLyogZm9yIGluY2x1c2lvbiBvZiBnZXRfd2NoICovCisjZW5kaWYKKworI2lmZGVmIEhBVkVfU0xDVVJTRVNfSAorIyBpbmNsdWRlIDxzbGN1cnNlcy5oPgorI2VsaWYgZGVmaW5lZChIQVZFX1NMQU5HX1NMQ1VSU0VTX0gpCisjIGluY2x1ZGUgPHNsYW5nL3NsY3Vyc2VzLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU1dfTkNVUlNFU19IKSAmJiBkZWZpbmVkKEhBVkVfV0lERUNIQVIpCisjIGluY2x1ZGUgPG5jdXJzZXN3L25jdXJzZXMuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9OQ1VSU0VTX0gpCisjIGluY2x1ZGUgPG5jdXJzZXMuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9OQ1VSU0VTX05DVVJTRVNfSCkKKyMgaW5jbHVkZSA8bmN1cnNlcy9uY3Vyc2VzLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKyMgaW5jbHVkZSA8d2N0eXBlLmg+CisjIGluY2x1ZGUgPHdjaGFyLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAibWJzYWxpZ24uaCIKKyNpbmNsdWRlICJtYnNlZGl0LmgiCisjaW5jbHVkZSAiY29sb3JzLmgiCisjaW5jbHVkZSAiZGVidWcuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisKK3N0YXRpYyBjb25zdCBjaGFyICpkZWZhdWx0X2Rpc2tzW10gPSB7CisjaWZkZWYgX19HTlVfXworCQkiL2Rldi9oZDAiLAorCQkiL2Rldi9zZDAiLAorI2VsaWYgZGVmaW5lZChfX0ZyZWVCU0RfXykKKwkJIi9kZXYvYWQwIiwKKwkJIi9kZXYvZGEwIiwKKyNlbHNlCisJCSIvZGV2L3NkYSIsCisJCSIvZGV2L3ZkYSIsCisJCSIvZGV2L2hkYSIsCisjZW5kaWYKK307CisKKyNkZWZpbmUgQVJST1dfQ1VSU09SX1NUUklORwkiPj4gICIKKyNkZWZpbmUgQVJST1dfQ1VSU09SX0RVTU1ZCSIgICAgIgorI2RlZmluZSBBUlJPV19DVVJTT1JfV0lEVEgJKHNpemVvZihBUlJPV19DVVJTT1JfU1RSSU5HKSAtIDEpCisKKy8qIHZlcnRpY2FsIG1lbnUgKi8KKyNkZWZpbmUgTUVOVV9WX1NQQURESU5HCQkxCS8qIHNwYWNlIGFyb3VuZCBtZW51IGl0ZW0gc3RyaW5nICovCisKKy8qIGhvcml6b250YWwgbWVudSAqLworI2RlZmluZSBNRU5VX0hfU1BBRERJTkcJCTAJLyogc3BhY2UgYXJvdW5kIG1lbnUgaXRlbSBzdHJpbmcgKi8KKyNkZWZpbmUgTUVOVV9IX0JFVFdFRU4JCTIJLyogc3BhY2UgYmV0d2VlbiBtZW51IGl0ZW1zICovCisjZGVmaW5lIE1FTlVfSF9QUkVTVFIJCSJbIgorI2RlZmluZSBNRU5VX0hfUE9TVFNUUgkJIl0iCisKKyNkZWZpbmUgTUVOVV9USVRMRV9QQURESU5HCTMKKworI2RlZmluZSBNRU5VX0hfUFJFU1RSX1NaCShzaXplb2YoTUVOVV9IX1BSRVNUUikgLSAxKQorI2RlZmluZSBNRU5VX0hfUE9TVFNUUl9TWgkoc2l6ZW9mKE1FTlVfSF9QT1NUU1RSKSAtIDEpCisKKyNkZWZpbmUgVEFCTEVfU1RBUlRfTElORQk0CisjZGVmaW5lIE1FTlVfU1RBUlRfTElORQkJKHVpX2xpbmVzIC0gNCkJCS8qIFRoZSBtZW51IG1heWJlIHVzZSB0d28gbGluZXMgKi8KKyNkZWZpbmUgSU5GT19MSU5FCQkodWlfbGluZXMgLSAyKQorI2RlZmluZSBXQVJOX0xJTkUJCUlORk9fTElORQorI2RlZmluZSBISU5UX0xJTkUJCSh1aV9saW5lcyAtIDEpCisKKyNkZWZpbmUgQ0ZESVNLX0VSUl9FU0MJCTUwMDAKKworI2lmbmRlZiBLRVlfRVNDCisjIGRlZmluZSBLRVlfRVNDCSdcMDMzJworI2VuZGlmCisjaWZuZGVmIEtFWV9ERUxFVEUKKyMgZGVmaW5lIEtFWV9ERUxFVEUJJ1wxNzcnCisjZW5kaWYKKyNpZm5kZWYgS0VZX0RDCisjIGRlZmluZSBLRVlfREMJCTA0MjMKKyNlbmRpZgorCisKKy8qIGNvbG9ycyAqLworZW51bSB7CisJQ0ZESVNLX0NMX05PTkUgPSAwLAorCUNGRElTS19DTF9XQVJOSU5HLAorCUNGRElTS19DTF9GUkVFU1BBQ0UsCisJQ0ZESVNLX0NMX0lORk8KK307CitzdGF0aWMgY29uc3QgaW50IGNvbG9yX3BhaXJzW11bMl0gPSB7CisJLyogY29sb3IgICAgICAgICAgICBmb3JlZ3JvdW5kLCBiYWNrZ3JvdW5kICovCisJW0NGRElTS19DTF9XQVJOSU5HXSAgID0geyBDT0xPUl9SRUQsIC0xIH0sCisJW0NGRElTS19DTF9GUkVFU1BBQ0VdID0geyBDT0xPUl9HUkVFTiwgLTEgfSwKKwlbQ0ZESVNLX0NMX0lORk9dICAgICAgPSB7IENPTE9SX0JMVUUsIC0xIH0KK307CisKK3N0cnVjdCBjZmRpc2s7CisKK3N0YXRpYyBzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICptZW51X2dldF9tZW51aXRlbShzdHJ1Y3QgY2ZkaXNrICpjZiwgc2l6ZV90IGlkeCk7CitzdGF0aWMgc3RydWN0IGNmZGlza19tZW51aXRlbSAqbWVudV9nZXRfbWVudWl0ZW1fYnlfa2V5KHN0cnVjdCBjZmRpc2sgKmNmLCBpbnQga2V5LCBzaXplX3QgKmlkeCk7CitzdGF0aWMgc3RydWN0IGNmZGlza19tZW51ICptZW51X3B1c2goc3RydWN0IGNmZGlzayAqY2YsIHN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKml0ZW0pOworc3RhdGljIHN0cnVjdCBjZmRpc2tfbWVudSAqbWVudV9wb3Aoc3RydWN0IGNmZGlzayAqY2YpOworc3RhdGljIHZvaWQgbWVudV9yZWZyZXNoX3NpemUoc3RydWN0IGNmZGlzayAqY2YpOworCitzdGF0aWMgaW50IHVpX2VuZCh2b2lkKTsKK3N0YXRpYyBpbnQgdWlfcmVmcmVzaChzdHJ1Y3QgY2ZkaXNrICpjZik7CitzdGF0aWMgdm9pZCB1aV93YXJueChjb25zdCBjaGFyICpmbXQsIC4uLik7CitzdGF0aWMgdm9pZCB1aV93YXJuKGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKK3N0YXRpYyB2b2lkIHVpX2luZm8oY29uc3QgY2hhciAqZm10LCAuLi4pOworc3RhdGljIHZvaWQgdWlfZHJhd19tZW51KHN0cnVjdCBjZmRpc2sgKmNmKTsKK3N0YXRpYyBpbnQgdWlfbWVudV9tb3ZlKHN0cnVjdCBjZmRpc2sgKmNmLCBpbnQga2V5KTsKK3N0YXRpYyB2b2lkIHVpX21lbnVfcmVzaXplKHN0cnVjdCBjZmRpc2sgKmNmKTsKKworc3RhdGljIGludCB1aV9nZXRfc2l6ZShzdHJ1Y3QgY2ZkaXNrICpjZiwgY29uc3QgY2hhciAqcHJvbXB0LCB1aW50NjRfdCAqcmVzLAorCQkgICAgICAgdWludDY0X3QgbG93LCB1aW50NjRfdCB1cCwgaW50ICpleHBzaXplKTsKKworc3RhdGljIGludCB1aV9lbmFibGVkOworc3RhdGljIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBzaWdfcmVzaXplOworc3RhdGljIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBzaWdfZGllOworCisvKiBuY3Vyc2VzIExJTkVTIGFuZCBDT0xTIG1heSBiZSBhY3R1YWwgdmFyaWFibGVzIG9yICptYWNyb3MqLCBidXQgd2UgbmVlZAorICogc29tZXRoaW5nIHBvcnRhYmxlIGFuZCB3cml0YWJsZSAqLworc3RhdGljIHNpemVfdCB1aV9saW5lczsKK3N0YXRpYyBzaXplX3QgdWlfY29sczsKKworLyogbWVudSBpdGVtICovCitzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtIHsKKwlpbnQJCWtleTsJCS8qIGtleWJvYXJkIHNob3J0Y3V0ICovCisJY29uc3QgY2hhcgkqbmFtZTsJCS8qIGl0ZW0gbmFtZSAqLworCWNvbnN0IGNoYXIJKmRlc2M7CQkvKiBpdGVtIGRlc2NyaXB0aW9uIChoaW50KSAqLworCXZvaWQJCSp1c2VyZGF0YTsKK307CisKKy8qIG1lbnUgKi8KK3N0cnVjdCBjZmRpc2tfbWVudSB7CisJY2hhcgkJCSp0aXRsZTsJLyogb3B0aW9uYWwgbWVudSB0aXRsZSAqLworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0JKml0ZW1zOwkvKiBhcnJheSB3aXRoIG1lbnUgaXRlbXMgKi8KKwljaGFyCQkJKmlnbm9yZTsvKiBzdHJpbmcgd2l0aCBrZXlzIHRvIGlnbm9yZSAqLworCXNpemVfdAkJCXdpZHRoOwkvKiBtYXhpbWFsIHdpZHRoIG9mIHRoZSBtZW51IGl0ZW0gKi8KKwlzaXplX3QJCQluaXRlbXM7CS8qIG51bWJlciBvZiB0aGUgYWN0aXZlIG1lbnUgaXRlbXMgKi8KKwlzaXplX3QJCQlwYWdlX3N6Oy8qIHdoZW4gbWVudSBsb25nZXIgdGhhbiBzY3JlZW4gKi8KKwlzaXplX3QJCQlpZHg7CS8qIHRoZSBjdXJyZW50IG1lbnUgaXRlbSAqLworCWludAkJCXByZWZrZXk7LyogcHJlZmVycmVkIG1lbnUgaXRlbSAgKi8KKwlzdHJ1Y3QgY2ZkaXNrX21lbnUJKnByZXY7CisKKwkvKiBAaWdub3JlIGtleXMgZ2VuZXJhdG9yICovCisJaW50ICgqaWdub3JlX2NiKQkoc3RydWN0IGNmZGlzayAqLCBjaGFyICosIHNpemVfdCk7CisKKwl1bnNpZ25lZCBpbnQJCXZlcnRpY2FsIDogMTsJLyogZW5hYmxlIHZlcnRpY2FsIG1vZGUgKi8KK307CisKKy8qIG1haW4gbWVudSAqLworc3RhdGljIHN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gbWFpbl9tZW51aXRlbXNbXSA9IHsKKwl7ICdiJywgTl8oIkJvb3RhYmxlIiksIE5fKCJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iKSB9LAorCXsgJ2QnLCBOXygiRGVsZXRlIiksIE5fKCJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIikgfSwKKwl7ICdyJywgTl8oIlJlc2l6ZSIpLCBOXygiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIikgfSwKKwl7ICduJywgTl8oIk5ldyIpLCBOXygiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIikgfSwKKwl7ICdxJywgTl8oIlF1aXQiKSwgTl8oIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIpIH0sCisJeyAndCcsIE5fKCJUeXBlIiksIE5fKCJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIikgfSwKKwl7ICdoJywgTl8oIkhlbHAiKSwgTl8oIlByaW50IGhlbHAgc2NyZWVuIikgfSwKKwl7ICdzJywgTl8oIlNvcnQiKSwgTl8oIkZpeCBwYXJ0aXRpb25zIG9yZGVyIikgfSwKKwl7ICdXJywgTl8oIldyaXRlIiksIE5fKCJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIikgfSwKKwl7ICd1JywgTl8oIkR1bXAiKSwgTl8oIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIikgfSwKKwl7IDAsIE5VTEwsIE5VTEwgfQorfTsKKworLyogZXh0cmEgcGFydGluZm8gaW4gbmFtZTp2YWx1ZSBwYWlycyAqLworc3RydWN0IGNmZGlza19leHRyYSB7CisJY2hhciAqbmFtZTsKKwljaGFyICpkYXRhOworCisJc3RydWN0IGxpc3RfaGVhZCBleHM7Cit9OworCisvKiBsaW5lIGFuZCBleHRyYSBwYXJ0aW5mbyBsaXN0X2hlYWQgKi8KK3N0cnVjdCBjZmRpc2tfbGluZSB7CisJY2hhcgkJCSpkYXRhOwkJLyogbGluZSBkYXRhICovCisJc3RydWN0IGxpYnNjb2xzX3RhYmxlCSpleHRyYTsJCS8qIGV4dHJhIGluZm8gKCdYJykgKi8KKwlXSU5ET1cJCQkqdzsJCS8qIHdpbmRvdyB3aXRoIGV4dHJhIGluZm8gKi8KK307CisKKy8qIHRvcCBsZXZlbCBjb250cm9sIHN0cnVjdCAqLworc3RydWN0IGNmZGlzayB7CisJc3RydWN0IGZkaXNrX2NvbnRleHQJKmN4dDsJLyogbGliZmRpc2sgY29udGV4dCAqLworCXN0cnVjdCBmZGlza190YWJsZQkqdGFibGU7CS8qIHBhcnRpdGlvbiB0YWJsZSAqLworCXN0cnVjdCBmZGlza190YWJsZQkqb3JpZ2luYWxfbGF5b3V0OyAvKiBvcmlnaW5hbCBvbi1kaXNrIFBUICovCisKKwlzdHJ1Y3QgY2ZkaXNrX21lbnUJKm1lbnU7CS8qIHRoZSBjdXJyZW50IG1lbnUgKi8KKworCWludAkqZmllbGRzOwkvKiBvdXRwdXQgY29sdW1ucyBJRHMgKi8KKwlzaXplX3QJbmZpZWxkczsJLyogbnVtYmVyIG9mIGNvbHVtbnMgSURzICovCisKKwljaGFyCSpsaW5lc2J1ZjsJLyogdGFibGUgYXMgc3RyaW5nICovCisJc2l6ZV90CWxpbmVzYnVmc3o7CS8qIHNpemUgb2YgdGhlIHRiX2J1ZiAqLworCisJc3RydWN0CWNmZGlza19saW5lCSpsaW5lczsJLyogbGlzdCBvZiBsaW5lcyAqLworCisJc2l6ZV90CW5saW5lczsJCS8qIG51bWJlciBvZiBsaW5lcyAqLworCXNpemVfdAlsaW5lc19pZHg7CS8qIGN1cnJlbnQgbGluZSA8MC4uTj4sIGV4Y2x1ZGUgaGVhZGVyICovCisJc2l6ZV90ICBwYWdlX3N6OworCisJdW5zaWduZWQgaW50IG53cml0ZXM7CS8qIGZkaXNrX3dyaXRlX2Rpc2tsYWJlbCgpIGNvdW50ZXIgKi8KKworCVdJTkRPVwkqYWN0X3dpbjsJLyogdGhlIHdpbmRvdyBjdXJyZW50bHkgb24gdGhlIHNjcmVlbiAqLworCisjaWZkZWYgSEFWRV9MSUJNT1VOVAorCXN0cnVjdCBsaWJtbnRfdGFibGUgKm10YWI7CisJc3RydWN0IGxpYm1udF90YWJsZSAqZnN0YWI7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqbW50Y2FjaGU7CisjZW5kaWYKKwl1bnNpZ25lZCBpbnQJd3Jvbmdfb3JkZXIgOjEsCQkvKiBQVCBub3QgaW4gcmlnaHQgb3JkZXIgKi8KKwkJCXplcm9fc3RhcnQgOjEsCQkvKiBpZ25vcmUgZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlICovCisJCQlkZXZpY2VfaXNfdXNlZCA6IDEsCS8qIGRvbid0IHVzZSByZS1yZWFkIGlvY3RsICovCisJCQlzaG93X2V4dHJhIDoxOwkJLyogc2hvdyBleHRyYSBwYXJ0aW5mbyAqLworfTsKKworCisvKgorICogbGV0J3MgdXNlIGluY2x1ZGUvZGVidWcuaCBzdHVmZiBmb3IgY2ZkaXNrIHRvbworICovCitzdGF0aWMgVUxfREVCVUdfREVGSU5FX01BU0soY2ZkaXNrKTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVMoY2ZkaXNrKSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBDRkRJU0tfREVCVUdfSU5JVAkoMSA8PCAxKQorI2RlZmluZSBDRkRJU0tfREVCVUdfVUkJCSgxIDw8IDIpCisjZGVmaW5lIENGRElTS19ERUJVR19NRU5VCSgxIDw8IDMpCisjZGVmaW5lIENGRElTS19ERUJVR19NSVNDCSgxIDw8IDQpCisjZGVmaW5lIENGRElTS19ERUJVR19UQUJMRQkoMSA8PCA1KQorI2RlZmluZSBDRkRJU0tfREVCVUdfQUxMCTB4RkZGRgorCisjZGVmaW5lIERCRyhtLCB4KSAgICAgICBfX1VMX0RCRyhjZmRpc2ssIENGRElTS19ERUJVR18sIG0sIHgpCisKK3N0YXRpYyB2b2lkIGNmZGlza19pbml0X2RlYnVnKHZvaWQpCit7CisJX19VTF9JTklUX0RFQlVHX0ZST01fRU5WKGNmZGlzaywgQ0ZESVNLX0RFQlVHXywgMCwgQ0ZESVNLX0RFQlVHKTsKK30KKworLyogSW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1ucyAtLSB3ZSBmb2xsb3cgbGliZmRpc2sgZmllbGRzICh1c3VhbGx5IHNwZWNpZmljCisgKiB0byB0aGUgbGFiZWwgdHlwZS4KKyAqLworc3RhdGljIGludCBjb2xzX2luaXQoc3RydWN0IGNmZGlzayAqY2YpCit7CisJYXNzZXJ0KGNmKTsKKworCWZyZWUoY2YtPmZpZWxkcyk7CisJY2YtPmZpZWxkcyA9IE5VTEw7CisJY2YtPm5maWVsZHMgPSAwOworCisJcmV0dXJuIGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzKE5VTEwsIGNmLT5jeHQsICZjZi0+ZmllbGRzLCAmY2YtPm5maWVsZHMpOworfQorCitzdGF0aWMgdm9pZCBkaWVfb25fc2lnbmFsKHZvaWQpCit7CisJREJHKE1JU0MsIHVsX2RlYnVnKCJkaWUgb24gc2lnbmFsLiIpKTsKKwl1aV9lbmQoKTsKKwlleGl0KEVYSVRfRkFJTFVSRSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlc2l6ZSh2b2lkKQoreworCXN0cnVjdCB3aW5zaXplIHdzOworCisJaWYgKGlvY3RsKGZpbGVubyhzdGRvdXQpLCBUSU9DR1dJTlNaLCAmd3MpICE9IC0xCisJICAgICYmIHdzLndzX3JvdyAmJiB3cy53c19jb2wpIHsKKwkJdWlfbGluZXMgPSB3cy53c19yb3c7CisJCXVpX2NvbHMgID0gd3Mud3NfY29sOworI2lmIEhBVkVfUkVTSVpFVEVSTQorCQlyZXNpemV0ZXJtKHdzLndzX3Jvdywgd3Mud3NfY29sKTsKKyNlbmRpZgorCQljbGVhcm9rKHN0ZHNjciwgVFJVRSk7CisJfQorCXRvdWNod2luKHN0ZHNjcik7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJ1aTogcmVzaXplIHJlZnJlc2ggdWlfY29scz0lenUsIHVpX2xpbmVzPSV6dSIsCisJCQkJdWlfY29scywgdWlfbGluZXMpKTsKKwlzaWdfcmVzaXplID0gMDsKK30KKworLyogUmVhZHMgcGFydGl0aW9uIGluIHRyZWUtbGlrZSBvcmRlciBmcm9tIHNjb2xzCisgKi8KK3N0YXRpYyBpbnQgcGFydGl0aW9uX2Zyb21fc2NvbHMoc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBzY29sc19saW5lX2dldF91c2VyZGF0YShsbik7CisKKwlmZGlza190YWJsZV9hZGRfcGFydGl0aW9uKHRiLCBwYSk7CisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKworCWlmIChzY29sc19saW5lX2hhc19jaGlsZHJlbihsbikpIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmNobG47CisJCXN0cnVjdCBsaWJzY29sc19pdGVyICppdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCisJCWlmICghaXRyKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCXdoaWxlIChzY29sc19saW5lX25leHRfY2hpbGQobG4sIGl0ciwgJmNobG4pID09IDApCisJCQlwYXJ0aXRpb25fZnJvbV9zY29scyh0YiwgY2hsbik7CisJCXNjb2xzX2ZyZWVfaXRlcihpdHIpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNoYXIgKnRhYmxlX3RvX3N0cmluZyhzdHJ1Y3QgY2ZkaXNrICpjZiwgc3RydWN0IGZkaXNrX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCXN0cnVjdCBmZGlza19pdGVyICppdHI7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSA9IE5VTEw7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgKnNfaXRyID0gTlVMTDsKKwljaGFyICpyZXMgPSBOVUxMOworCXNpemVfdCBpOworCWludCB0cmVlID0gMDsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sICpsbl9jb250ID0gTlVMTDsKKworCURCRyhUQUJMRSwgdWxfZGVidWcoImNvbnZlcnQgdG8gc3RyaW5nIikpOworCisJYXNzZXJ0KGNmKTsKKwlhc3NlcnQoY2YtPmN4dCk7CisJYXNzZXJ0KGNmLT5maWVsZHMpOworCWFzc2VydCh0Yik7CisKKwlsYiA9IGZkaXNrX2dldF9sYWJlbChjZi0+Y3h0LCBOVUxMKTsKKwlhc3NlcnQobGIpOworCisJaXRyID0gZmRpc2tfbmV3X2l0ZXIoRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikKKwkJZ290byBkb25lOworCisJLyogZ2V0IGNvbnRhaW5lciAoZS5nLiBleHRlbmRlZCBwYXJ0aXRpb24pICovCisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCBpdHIsICZwYSkgPT0gMCkgeworCQlpZiAoZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChwYSkpIHsKKwkJCURCRyhUQUJMRSwgdWxfZGVidWcoIm5lc3RlZCBkZXRlY3RlZCwgdXNpbmcgdHJlZSIpKTsKKwkJCXRyZWUgPSBTQ09MU19GTF9UUkVFOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwl0YWJsZSA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghdGFibGUpCisJCWdvdG8gZG9uZTsKKwlzY29sc190YWJsZV9lbmFibGVfbWF4b3V0KHRhYmxlLCAxKTsKKwlzY29sc190YWJsZV9lbmFibGVfbm93cmFwKHRhYmxlLCAxKTsKKworI2lmICFkZWZpbmVkKEhBVkVfTElCTkNVUlNFU1cpIHx8ICFkZWZpbmVkKEhBVkVfV0lERUNIQVIpCisJc2NvbHNfdGFibGVfZW5hYmxlX2FzY2lpKHRhYmxlLCAxKTsKKyNlbmRpZgorCisJLyogaGVhZGVycyAqLworCWZvciAoaSA9IDA7IGkgPCBjZi0+bmZpZWxkczsgaSsrKSB7CisJCWludCBmbCA9IDA7CisJCWNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQgPQorCQkJCWZkaXNrX2xhYmVsX2dldF9maWVsZChsYiwgY2YtPmZpZWxkc1tpXSk7CisJCWlmICghZmllbGQpCisJCQljb250aW51ZTsKKworCQlpZiAoZmRpc2tfZmllbGRfaXNfbnVtYmVyKGZpZWxkKSkKKwkJCWZsIHw9IFNDT0xTX0ZMX1JJR0hUOworCQlpZiAoZmRpc2tfZmllbGRfZ2V0X2lkKGZpZWxkKSA9PSBGRElTS19GSUVMRF9UWVBFKQorCQkJZmwgfD0gU0NPTFNfRkxfVFJVTkM7CisJCWlmICh0cmVlICYmIGZkaXNrX2ZpZWxkX2dldF9pZChmaWVsZCkgPT0gRkRJU0tfRklFTERfREVWSUNFKQorCQkJZmwgfD0gU0NPTFNfRkxfVFJFRTsKKworCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsCisJCQkJXyhmZGlza19maWVsZF9nZXRfbmFtZShmaWVsZCkpLAorCQkJCWZkaXNrX2ZpZWxkX2dldF93aWR0aChmaWVsZCksIGZsKSkKKwkJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiBkYXRhICovCisJZmRpc2tfcmVzZXRfaXRlcihpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisKKwl3aGlsZSAoZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24odGIsIGl0ciwgJnBhKSA9PSAwKSB7CisJCXN0cnVjdCBsaWJzY29sc19saW5lICpwYXJlbnQgPSBmZGlza19wYXJ0aXRpb25faXNfbmVzdGVkKHBhKSA/IGxuX2NvbnQgOiBOVUxMOworCisJCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIHBhcmVudCk7CisJCWlmICghbG4pCisJCQlnb3RvIGRvbmU7CisJCWZvciAoaSA9IDA7IGkgPCBjZi0+bmZpZWxkczsgaSsrKSB7CisJCQljaGFyICpjZGF0YSA9IE5VTEw7CisKKwkJCWlmIChmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjZi0+Y3h0LAorCQkJCQljZi0+ZmllbGRzW2ldLCAmY2RhdGEpKQorCQkJCWNvbnRpbnVlOworCQkJc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBpLCBjZGF0YSk7CisJCX0KKwkJaWYgKHRyZWUgJiYgZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcihwYSkpCisJCQlsbl9jb250ID0gbG47CisKKwkJc2NvbHNfbGluZV9zZXRfdXNlcmRhdGEobG4sICh2b2lkICopIHBhKTsKKwkJZmRpc2tfcmVmX3BhcnRpdGlvbihwYSk7CisJfQorCisJaWYgKHNjb2xzX3RhYmxlX2lzX2VtcHR5KHRhYmxlKSkKKwkJZ290byBkb25lOworCisJc2NvbHNfdGFibGVfcmVkdWNlX3Rlcm13aWR0aCh0YWJsZSwgQVJST1dfQ1VSU09SX1dJRFRIKTsKKwlzY29sc19wcmludF90YWJsZV90b19zdHJpbmcodGFibGUsICZyZXMpOworCisJLyogc2NvbHNfKiBjb2RlIG1pZ2h0IHJlb3JkZXIgbGluZXMsIGxldCdzIHJlb3JkZXIgQHRiIGFjY29yZGluZyB0byB0aGUKKwkgKiBmaW5hbCBvdXRwdXQgKGl0J3Mgbm8gcHJvYmxlbSBiZWNhdXNlIHBhcnRpdGlvbnMgYXJlIGFkZHJlc3NlZCBieQorCSAqIHBhcm5vIHN0b3JlZCB3aXRoaW4gc3RydWN0IGZkaXNrX3BhcnRpdGlvbikgICovCisKKwkvKiByZW1vdmUgYWxsICovCisJZmRpc2tfcmVzZXRfaXRlcihpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCBpdHIsICZwYSkgPT0gMCkKKwkJZmRpc2tfdGFibGVfcmVtb3ZlX3BhcnRpdGlvbih0YiwgcGEpOworCisJc19pdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCWlmICghc19pdHIpCisJCWdvdG8gZG9uZTsKKworCS8qIGFkZCBhbGwgaW4gdGhlIHJpZ2h0IG9yZGVyIChkb24ndCBmb3JnZXQgdGhlIG91dHB1dCBpcyB0cmVlKSAqLworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUodGFibGUsIHNfaXRyLCAmbG4pID09IDApIHsKKwkJaWYgKHNjb2xzX2xpbmVfZ2V0X3BhcmVudChsbikpCisJCQljb250aW51ZTsKKwkJaWYgKHBhcnRpdGlvbl9mcm9tX3Njb2xzKHRiLCBsbikpCisJCQlicmVhazsKKwl9Citkb25lOgorCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKKwlzY29sc19mcmVlX2l0ZXIoc19pdHIpOworCWZkaXNrX2ZyZWVfaXRlcihpdHIpOworCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIHZvaWQgY2ZkaXNrX2ZyZWVfbGluZXMoc3RydWN0IGNmZGlzayAqY2YpCit7CisJc2l6ZV90IGkgPSAwOworCXdoaWxlKGkgPCBjZi0+bmxpbmVzKSB7CisJCXNjb2xzX3VucmVmX3RhYmxlKGNmLT5saW5lc1tpXS5leHRyYSk7CisKKwkJREJHKFVJLCB1bF9kZWJ1ZygiZGVsZXRlIHdpbmRvdzogJXAiLAorCQkJCWNmLT5saW5lc1tpXS53KSk7CisKKwkJaWYgKGNmLT5saW5lc1tpXS53KQorCQkJZGVsd2luKGNmLT5saW5lc1tpXS53KTsKKwkJY2YtPmxpbmVzW2ldLncgPSBOVUxMOworCQkrK2k7CisJfQorCWNmLT5hY3Rfd2luID0gTlVMTDsKKwlmcmVlKGNmLT5saW5lcyk7CisJY2YtPmxpbmVzID0gTlVMTDsKK30KKy8qCisgKiBSZWFkIGRhdGEgYWJvdXQgcGFydGl0aW9ucyBmcm9tIGxpYmZkaXNrIGFuZCBwcmVwYXJlIG91dHB1dCBsaW5lcy4KKyAqLworc3RhdGljIGludCBsaW5lc19yZWZyZXNoKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCWludCByYzsKKwljaGFyICpwOworCXNpemVfdCBpOworCisJYXNzZXJ0KGNmKTsKKworCURCRyhUQUJMRSwgdWxfZGVidWcoInJlZnJlc2hpbmcgYnVmZmVyIikpOworCisJZnJlZShjZi0+bGluZXNidWYpOworCWNmZGlza19mcmVlX2xpbmVzKGNmKTsKKwljZi0+bGluZXNidWYgPSBOVUxMOworCWNmLT5saW5lc2J1ZnN6ID0gMDsKKwljZi0+bGluZXMgPSBOVUxMOworCWNmLT5ubGluZXMgPSAwOworCisJZmRpc2tfdW5yZWZfdGFibGUoY2YtPnRhYmxlKTsKKwljZi0+dGFibGUgPSBOVUxMOworCisJLyogcmVhZCBwYXJ0aXRpb25zIGFuZCBmcmVlIHNwYWNlcyBpbnRvIGNmLT50YWJsZSAqLworCXJjID0gZmRpc2tfZ2V0X3BhcnRpdGlvbnMoY2YtPmN4dCwgJmNmLT50YWJsZSk7CisJaWYgKCFyYykKKwkJcmMgPSBmZGlza19nZXRfZnJlZXNwYWNlcyhjZi0+Y3h0LCAmY2YtPnRhYmxlKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWNmLT5saW5lc2J1ZiA9IHRhYmxlX3RvX3N0cmluZyhjZiwgY2YtPnRhYmxlKTsKKwlpZiAoIWNmLT5saW5lc2J1ZikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwljZi0+bGluZXNidWZzeiA9IHN0cmxlbihjZi0+bGluZXNidWYpOworCWNmLT5ubGluZXMgPSBmZGlza190YWJsZV9nZXRfbmVudHMoY2YtPnRhYmxlKSArIDE7CS8qIDEgZm9yIGhlYWRlciBsaW5lICovCisJY2YtPnBhZ2Vfc3ogPSAwOworCWNmLT53cm9uZ19vcmRlciA9IGZkaXNrX3RhYmxlX3dyb25nX29yZGVyKGNmLT50YWJsZSkgPyAxIDogMDsKKworCWlmIChNRU5VX1NUQVJUX0xJTkUgLSBUQUJMRV9TVEFSVF9MSU5FIDwgY2YtPm5saW5lcykKKwkJY2YtPnBhZ2Vfc3ogPSBNRU5VX1NUQVJUX0xJTkUgLSBUQUJMRV9TVEFSVF9MSU5FIC0gMTsKKworCWNmLT5saW5lcyA9IHhjYWxsb2MoY2YtPm5saW5lcywgc2l6ZW9mKHN0cnVjdCBjZmRpc2tfbGluZSkpOworCisJZm9yIChwID0gY2YtPmxpbmVzYnVmLCBpID0gMDsgcCAmJiBpIDwgY2YtPm5saW5lczsgaSsrKSB7CisJCWNmLT5saW5lc1tpXS5kYXRhID0gcDsKKwkJcCA9IHN0cmNocihwLCAnXG4nKTsKKwkJaWYgKHApIHsKKwkJCSpwID0gJ1wwJzsKKwkJCXArKzsKKwkJfQorCQljZi0+bGluZXNbaV0uZXh0cmEgPSBzY29sc19uZXdfdGFibGUoKTsKKwkJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3MoY2YtPmxpbmVzW2ldLmV4dHJhLCAxKTsKKwkJc2NvbHNfdGFibGVfbmV3X2NvbHVtbihjZi0+bGluZXNbaV0uZXh0cmEsIE5VTEwsIDAsIFNDT0xTX0ZMX1JJR0hUKTsKKwkJc2NvbHNfdGFibGVfbmV3X2NvbHVtbihjZi0+bGluZXNbaV0uZXh0cmEsIE5VTEwsIDAsIFNDT0xTX0ZMX1RSVU5DKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKmdldF9jdXJyZW50X3BhcnRpdGlvbihzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlhc3NlcnQoY2YpOworCWFzc2VydChjZi0+dGFibGUpOworCisJcmV0dXJuIGZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb24oY2YtPnRhYmxlLCBjZi0+bGluZXNfaWR4KTsKK30KKworc3RhdGljIGludCBpc19mcmVlc3BhY2Uoc3RydWN0IGNmZGlzayAqY2YsIHNpemVfdCBpKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCisJYXNzZXJ0KGNmKTsKKwlhc3NlcnQoY2YtPnRhYmxlKTsKKworCXBhID0gZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbihjZi0+dGFibGUsIGkpOworCXJldHVybiBmZGlza19wYXJ0aXRpb25faXNfZnJlZXNwYWNlKHBhKTsKK30KKworLyogY29udmVydHMgbGliZmRpc2sgRkRJU0tfQVNLVFlQRV9NRU5VIHRvIGNmZGlzayBtZW51IGFuZCByZXR1cm5zIHVzZXIncworICogcmVzcG9uc2UgYmFjayB0byBsaWJmZGlzaworICovCitzdGF0aWMgaW50IGFza19tZW51KHN0cnVjdCBmZGlza19hc2sgKmFzaywgc3RydWN0IGNmZGlzayAqY2YpCit7CisJc3RydWN0IGNmZGlza19tZW51aXRlbSAqZCwgKmNtOworCWludCBrZXk7CisJc2l6ZV90IGkgPSAwLCBuaXRlbXM7CisJY29uc3QgY2hhciAqbmFtZSwgKmRlc2M7CisKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoY2YpOworCisJLyogY3JlYXRlIGNmZGlzayBtZW51IGFjY29yZGluZyB0byBsaWJmZGlzayBhc2stbWVudSwgbm90ZSB0aGF0IHRoZQorCSAqIGxhc3QgY21bXSBpdGVtIGhhcyB0byBiZSBlbXB0eSAtLSBzbyBuaXRlbXMgKyAxICovCisJbml0ZW1zID0gZmRpc2tfYXNrX21lbnVfZ2V0X25pdGVtcyhhc2spOworCWNtID0geGNhbGxvYyhuaXRlbXMgKyAxLCBzaXplb2Yoc3RydWN0IGNmZGlza19tZW51aXRlbSkpOworCisJZm9yIChpID0gMDsgaSA8IG5pdGVtczsgaSsrKSB7CisJCWlmIChmZGlza19hc2tfbWVudV9nZXRfaXRlbShhc2ssIGksICZrZXksICZuYW1lLCAmZGVzYykpCisJCQlicmVhazsKKwkJY21baV0ua2V5ID0ga2V5OworCQljbVtpXS5kZXNjID0gZGVzYzsKKwkJY21baV0ubmFtZSA9IG5hbWU7CisJfQorCisJLyogbWFrZSB0aGUgbmV3IG1lbnUgYWN0aXZlICovCisJbWVudV9wdXNoKGNmLCBjbSk7CisJdWlfZHJhd19tZW51KGNmKTsKKwlyZWZyZXNoKCk7CisKKwkvKiB3YWl0IGZvciBrZXlzICovCisJd2hpbGUgKCFzaWdfZGllKSB7CisJCWtleSA9IGdldGNoKCk7CisKKwkJaWYgKHNpZ19kaWUpCisJCQlicmVhazsKKwkJaWYgKHNpZ19yZXNpemUpCisJCQl1aV9tZW51X3Jlc2l6ZShjZik7CisJCWlmICh1aV9tZW51X21vdmUoY2YsIGtleSkgPT0gMCkKKwkJCWNvbnRpbnVlOworCisJCXN3aXRjaCAoa2V5KSB7CisJCWNhc2UgS0VZX0VOVEVSOgorCQljYXNlICdcbic6CisJCWNhc2UgJ1xyJzoKKwkJCWQgPSBtZW51X2dldF9tZW51aXRlbShjZiwgY2YtPm1lbnUtPmlkeCk7CisJCQlpZiAoZCkKKwkJCQlmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0KGFzaywgZC0+a2V5KTsKKwkJCW1lbnVfcG9wKGNmKTsKKwkJCWZyZWUoY20pOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKwlpZiAoc2lnX2RpZSkKKwkJZGllX29uX3NpZ25hbCgpOworCisJbWVudV9wb3AoY2YpOworCWZyZWUoY20pOworCXJldHVybiAtMTsKK30KKworLyogbGliZmRpc2sgY2FsbGJhY2sKKyAqLworc3RhdGljIGludCBhc2tfY2FsbGJhY2soc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQlzdHJ1Y3QgZmRpc2tfYXNrICphc2ssCisJCQl2b2lkICpkYXRhIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGFzayk7CisKKwlzd2l0Y2goZmRpc2tfYXNrX2dldF90eXBlKGFzaykpIHsKKwljYXNlIEZESVNLX0FTS1RZUEVfSU5GTzoKKwkJdWlfaW5mbyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9XQVJOWDoKKwkJdWlfd2FybngoZmRpc2tfYXNrX3ByaW50X2dldF9tZXNnKGFzaykpOworCQlicmVhazsKKwljYXNlIEZESVNLX0FTS1RZUEVfV0FSTjoKKwkJdWlfd2FybihmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9NRU5VOgorCQlhc2tfbWVudShhc2ssIChzdHJ1Y3QgY2ZkaXNrICopIGRhdGEpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQl1aV93YXJueChfKCJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiKSwKKwkJCWZkaXNrX2Fza19nZXRfdHlwZShhc2spKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB1aV9lbmQodm9pZCkKK3sKKwlpZiAoIXVpX2VuYWJsZWQpCisJCXJldHVybiAtRUlOVkFMOworCisjaWYgZGVmaW5lZChIQVZFX1NMQ1VSU0VTX0gpIHx8IGRlZmluZWQoSEFWRV9TTEFOR19TTENVUlNFU19IKQorCVNMc21nX2dvdG9yYyh1aV9saW5lcyAtIDEsIDApOworCVNMc21nX3JlZnJlc2goKTsKKyNlbHNlCisJbXZjdXIoMCwgdWlfY29scyAtIDEsIHVpX2xpbmVzLTEsIDApOworI2VuZGlmCisJY3Vyc19zZXQoMSk7CisJbmwoKTsKKwllbmR3aW4oKTsKKwlwcmludGYoIlxuIik7CisJdWlfZW5hYmxlZCA9IDA7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHVpX3ZwcmludF9jZW50ZXIoc2l6ZV90IGxpbmUsIGludCBhdHRycywgY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQoreworCXNpemVfdCB3aWR0aDsKKwljaGFyICpidWYgPSBOVUxMOworCisJbW92ZShsaW5lLCAwKTsKKwljbHJ0b2VvbCgpOworCisJeHZhc3ByaW50ZigmYnVmLCBmbXQsIGFwKTsKKworCXdpZHRoID0gbWJzX3NhZmVfd2lkdGgoYnVmKTsKKwlpZiAod2lkdGggPiAoc2l6ZV90KSB1aV9jb2xzKSB7CisJCWNoYXIgKnAgPSBzdHJyY2hyKGJ1ZiArIHVpX2NvbHMsICcgJyk7CisJCWlmICghcCkKKwkJCXAgPSBidWYgKyB1aV9jb2xzOworCQkqcCA9ICdcMCc7CisJCWlmIChsaW5lICsgMSA+PSB1aV9saW5lcykKKwkJCWxpbmUtLTsKKwkJYXR0cm9uKGF0dHJzKTsKKwkJbXZhZGRzdHIobGluZSwgMCwgYnVmKTsKKwkJbXZhZGRzdHIobGluZSArIDEsIDAsIHArMSk7CisJCWF0dHJvZmYoYXR0cnMpOworCX0gZWxzZSB7CisJCWF0dHJvbihhdHRycyk7CisJCW12YWRkc3RyKGxpbmUsICh1aV9jb2xzIC0gd2lkdGgpIC8gMiwgYnVmKTsKKwkJYXR0cm9mZihhdHRycyk7CisJfQorCWZyZWUoYnVmKTsKK30KKworc3RhdGljIHZvaWQgdWlfY2VudGVyKHNpemVfdCBsaW5lLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXVpX3ZwcmludF9jZW50ZXIobGluZSwgMCwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKK30KKworc3RhdGljIHZvaWQgdWlfd2FybngoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlpZiAodWlfZW5hYmxlZCkKKwkJdWlfdnByaW50X2NlbnRlcihXQVJOX0xJTkUsCisJCQljb2xvcnNfd2FudGVkKCkgPyBDT0xPUl9QQUlSKENGRElTS19DTF9XQVJOSU5HKSA6IDAsCisJCQlmbXQsIGFwKTsKKwllbHNlIHsKKwkJdmZwcmludGYoc3RkZXJyLCBmbXQsIGFwKTsKKwkJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwl9CisJdmFfZW5kKGFwKTsKK30KKworc3RhdGljIHZvaWQgdWlfd2Fybihjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwljaGFyICpmbXRfbTsKKwl2YV9saXN0IGFwOworCisJeGFzcHJpbnRmKCZmbXRfbSwgIiVzOiAlbSIsIGZtdCk7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwlpZiAodWlfZW5hYmxlZCkKKwkJdWlfdnByaW50X2NlbnRlcihXQVJOX0xJTkUsCisJCQljb2xvcnNfd2FudGVkKCkgPyBDT0xPUl9QQUlSKENGRElTS19DTF9XQVJOSU5HKSA6IDAsCisJCQlmbXRfbSwgYXApOworCWVsc2UgeworCQl2ZnByaW50ZihzdGRlcnIsIGZtdF9tLCBhcCk7CisJCWZwdXRjKCdcbicsIHN0ZGVycik7CisJfQorCXZhX2VuZChhcCk7CisJZnJlZShmbXRfbSk7Cit9CisKK3N0YXRpYyB2b2lkIHVpX2NsZWFuX3dhcm4odm9pZCkKK3sKKwltb3ZlKFdBUk5fTElORSwgMCk7CisJY2xydG9lb2woKTsKK30KKworc3RhdGljIGludCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1aV9lcnJ4KGludCByYywgY29uc3QgY2hhciAqZm10LCAuLi4pCisJCXsKKwl2YV9saXN0IGFwOworCXVpX2VuZCgpOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJZnByaW50ZihzdGRlcnIsICIlczogIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCXZmcHJpbnRmKHN0ZGVyciwgZm10LCBhcCk7CisJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwl2YV9lbmQoYXApOworCisJZXhpdChyYyk7Cit9CisKK3N0YXRpYyB2b2lkIHVpX2luZm8oY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlpZiAodWlfZW5hYmxlZCkKKwkJdWlfdnByaW50X2NlbnRlcihJTkZPX0xJTkUsCisJCQkJY29sb3JzX3dhbnRlZCgpID8gQ09MT1JfUEFJUihDRkRJU0tfQ0xfSU5GTykgOiAwLAorCQkJCWZtdCwgYXApOworCWVsc2UgeworCQl2ZnByaW50ZihzdGRvdXQsIGZtdCwgYXApOworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCX0KKwl2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCB1aV9jbGVhbl9pbmZvKHZvaWQpCit7CisJbW92ZShJTkZPX0xJTkUsIDApOworCWNscnRvZW9sKCk7Cit9CisKK3N0YXRpYyB2b2lkIHVpX2hpbnQoY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlpZiAodWlfZW5hYmxlZCkKKwkJdWlfdnByaW50X2NlbnRlcihISU5UX0xJTkUsIEFfQk9MRCwgZm10LCBhcCk7CisJZWxzZSB7CisJCXZmcHJpbnRmKHN0ZG91dCwgZm10LCBhcCk7CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJfQorCXZhX2VuZChhcCk7Cit9CisKK3N0YXRpYyB2b2lkIHVpX2NsZWFuX2hpbnQodm9pZCkKK3sKKwltb3ZlKEhJTlRfTElORSwgMCk7CisJY2xydG9lb2woKTsKK30KKworCitzdGF0aWMgdm9pZCBzaWdfaGFuZGxlcl9kaWUoaW50IGR1bW15IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzaWdfZGllID0gMTsKK30KKworc3RhdGljIHZvaWQgc2lnX2hhbmRsZXJfcmVzaXplKGludCBkdW1teSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc2lnX3Jlc2l6ZSA9IDE7Cit9CisKK3N0YXRpYyB2b2lkIG1lbnVfcmVmcmVzaF9zaXplKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCWlmIChjZi0+bWVudSAmJiBjZi0+bWVudS0+bml0ZW1zKQorCQljZi0+bWVudS0+cGFnZV9zeiA9IChjZi0+bWVudS0+bml0ZW1zIC8gKHVpX2xpbmVzIC0gNCkpID8gdWlfbGluZXMgLSA0IDogMDsKK30KKworc3RhdGljIHZvaWQgbWVudV91cGRhdGVfaWdub3JlKHN0cnVjdCBjZmRpc2sgKmNmKQoreworCWNoYXIgaWdub3JlWzEyOF0gPSB7IDAgfTsKKwlpbnQgaSA9IDA7CisJc3RydWN0IGNmZGlza19tZW51ICptOworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQsICpvcmcgPSBOVUxMOworCXNpemVfdCBpZHg7CisKKwlhc3NlcnQoY2YpOworCWFzc2VydChjZi0+bWVudSk7CisJYXNzZXJ0KGNmLT5tZW51LT5pZ25vcmVfY2IpOworCisJbSA9IGNmLT5tZW51OworCURCRyhNRU5VLCB1bF9kZWJ1ZygidXBkYXRlIG1lbnUgaWdub3JlZCBrZXlzIikpOworCisJaSA9IG0tPmlnbm9yZV9jYihjZiwgaWdub3JlLCBzaXplb2YoaWdub3JlKSk7CisJaWdub3JlW2ldID0gJ1wwJzsKKworCS8qIHJldHVybiBpZiBubyBjaGFuZ2UgKi8KKwlpZiAoKCFtLT5pZ25vcmUgJiYgISppZ25vcmUpCisJICAgIHx8IChtLT5pZ25vcmUgJiYgKmlnbm9yZSAmJiBzdHJjbXAobS0+aWdub3JlLCBpZ25vcmUpID09IDApKSB7CisJCSAgICByZXR1cm47CisJfQorCisJaWYgKCFtLT5wcmVma2V5KQorCQlvcmcgPSBtZW51X2dldF9tZW51aXRlbShjZiwgbS0+aWR4KTsKKworCWZyZWUobS0+aWdub3JlKTsKKwltLT5pZ25vcmUgPSB4c3RyZHVwKGlnbm9yZSk7CisJbS0+bml0ZW1zID0gMDsKKworCWZvciAoZCA9IG0tPml0ZW1zOyBkLT5uYW1lOyBkKyspIHsKKwkJaWYgKG0tPmlnbm9yZSAmJiBzdHJjaHIobS0+aWdub3JlLCBkLT5rZXkpKQorCQkJY29udGludWU7CisJCW0tPm5pdGVtcysrOworCX0KKworCURCRyhNRU5VLCB1bF9kZWJ1ZygidXBkYXRlIG1lbnUgcHJlZmVycmVkIGtleXMiKSk7CisKKwkvKiByZWZyZXNoIG1lbnUgaW5kZXggdG8gYmUgYXQgdGhlIHNhbWUgbWVudWl0ZW0gb3IgZ28gdG8gdGhlIGZpcnN0ICovCisJaWYgKG9yZyAmJiBtZW51X2dldF9tZW51aXRlbV9ieV9rZXkoY2YsIG9yZy0+a2V5LCAmaWR4KSkKKwkJbS0+aWR4ID0gaWR4OworCWVsc2UgaWYgKG0tPnByZWZrZXkgJiYgbWVudV9nZXRfbWVudWl0ZW1fYnlfa2V5KGNmLCBtLT5wcmVma2V5LCAmaWR4KSkKKwkJbS0+aWR4ID0gaWR4OworCWVsc2UKKwkJbS0+aWR4ID0gMDsKKworCW1lbnVfcmVmcmVzaF9zaXplKGNmKTsKK30KKworc3RhdGljIHN0cnVjdCBjZmRpc2tfbWVudSAqbWVudV9wdXNoKAorCQkJc3RydWN0IGNmZGlzayAqY2YsCisJCQlzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICppdGVtcykKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnUgKm0gPSB4Y2FsbG9jKDEsIHNpemVvZigqbSkpOworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQ7CisKKwlhc3NlcnQoY2YpOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJuZXcgbWVudSIpKTsKKworCW0tPnByZXYgPSBjZi0+bWVudTsKKwltLT5pdGVtcyA9IGl0ZW1zOworCisJZm9yIChkID0gbS0+aXRlbXM7IGQtPm5hbWU7IGQrKykgeworCQljb25zdCBjaGFyICpuYW1lID0gXyhkLT5uYW1lKTsKKwkJc2l6ZV90IGxlbiA9IG1ic19zYWZlX3dpZHRoKG5hbWUpOworCQlpZiAobGVuID4gbS0+d2lkdGgpCisJCQltLT53aWR0aCA9IGxlbjsKKwkJbS0+bml0ZW1zKys7CisJfQorCisJY2YtPm1lbnUgPSBtOworCisJbWVudV9yZWZyZXNoX3NpemUoY2YpOworCXJldHVybiBtOworfQorCitzdGF0aWMgc3RydWN0IGNmZGlza19tZW51ICptZW51X3BvcChzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnUgKm0gPSBOVUxMOworCisJYXNzZXJ0KGNmKTsKKworCURCRyhNRU5VLCB1bF9kZWJ1ZygicG9wIG1lbnUiKSk7CisKKwlpZiAoY2YtPm1lbnUpIHsKKwkJbSA9IGNmLT5tZW51LT5wcmV2OworCQlmcmVlKGNmLT5tZW51LT5pZ25vcmUpOworCQlmcmVlKGNmLT5tZW51LT50aXRsZSk7CisJCWZyZWUoY2YtPm1lbnUpOworCX0KKwljZi0+bWVudSA9IG07CisJcmV0dXJuIGNmLT5tZW51OworfQorCitzdGF0aWMgdm9pZCBtZW51X3NldF90aXRsZShzdHJ1Y3QgY2ZkaXNrX21lbnUgKm0sIGNvbnN0IGNoYXIgKnRpdGxlKQoreworCWNoYXIgKnN0ciA9IE5VTEw7CisKKwlpZiAodGl0bGUpIHsKKwkJc2l6ZV90IGxlbiA9ICBtYnNfc2FmZV93aWR0aCh0aXRsZSk7CisJCWlmIChsZW4gKyBNRU5VX1RJVExFX1BBRERJTkcgPiBtLT53aWR0aCkKKwkJCW0tPndpZHRoID0gbGVuICsgTUVOVV9USVRMRV9QQURESU5HOworCQlzdHIgPSB4c3RyZHVwKHRpdGxlKTsKKwl9CisJbS0+dGl0bGUgPSBzdHI7Cit9CisKKworc3RhdGljIGludCB1aV9pbml0KHN0cnVjdCBjZmRpc2sgKmNmIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworCisJREJHKFVJLCB1bF9kZWJ1ZygiaW5pdCIpKTsKKworCS8qIHNldHVwIFNJR0NITEQgaGFuZGxlciAqLworCXNpZ2VtcHR5c2V0KCZzYS5zYV9tYXNrKTsKKwlzYS5zYV9mbGFncyA9IDA7CisJc2Euc2FfaGFuZGxlciA9IHNpZ19oYW5kbGVyX2RpZTsKKwlzaWdhY3Rpb24oU0lHSU5ULCAmc2EsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdURVJNLCAmc2EsIE5VTEwpOworCisJc2Euc2FfaGFuZGxlciA9IHNpZ19oYW5kbGVyX3Jlc2l6ZTsKKwlzaWdhY3Rpb24oU0lHV0lOQ0gsICZzYSwgTlVMTCk7CisKKwl1aV9lbmFibGVkID0gMTsKKwlpbml0c2NyKCk7CisKKyNpZmRlZiBIQVZFX1VTRV9ERUZBVUxUX0NPTE9SUworCWlmIChjb2xvcnNfd2FudGVkKCkgJiYgaGFzX2NvbG9ycygpKSB7CisJCXNpemVfdCBpOworCisJCXN0YXJ0X2NvbG9yKCk7CisJCXVzZV9kZWZhdWx0X2NvbG9ycygpOworCQlmb3IgKGkgPSAxOyBpIDwgQVJSQVlfU0laRShjb2xvcl9wYWlycyk7IGkrKykJCS8qIHllYWgsIHN0YXJ0IGZyb20gMSEgKi8KKwkJCWluaXRfcGFpcihpLCBjb2xvcl9wYWlyc1tpXVswXSwgY29sb3JfcGFpcnNbaV1bMV0pOworCX0KKyNlbHNlCisJY29sb3JzX29mZigpOworI2VuZGlmCisKKwljYnJlYWsoKTsKKwlub2VjaG8oKTsKKwlub25sKCk7CisJY3Vyc19zZXQoMCk7CisJa2V5cGFkKHN0ZHNjciwgVFJVRSk7CisKKwlyZXR1cm4gMDsKK30KKworLyogIlsgc3RyaW5nIF0iICovCisjZGVmaW5lIE1FTlVfSF9JVEVNV0lEVEgobSkJKCAgTUVOVV9IX1BSRVNUUl9TWiBcCisJCQkJICsgTUVOVV9IX1NQQURESU5HIFwKKwkJCQkgKyAobSktPndpZHRoIFwKKwkJCQkgKyBNRU5VX0hfU1BBRERJTkcgXAorCQkJCSArIE1FTlVfSF9QT1NUU1RSX1NaKQorCisjZGVmaW5lIE1FTlVfVl9JVEVNV0lEVEgobSkJKE1FTlVfVl9TUEFERElORyArIChtKS0+d2lkdGggKyBNRU5VX1ZfU1BBRERJTkcpCisKKworc3RhdGljIHNpemVfdCBtZW51aXRlbV9nZXRfbGluZShzdHJ1Y3QgY2ZkaXNrICpjZiwgc2l6ZV90IGlkeCkKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnUgKm0gPSBjZi0+bWVudTsKKworCWlmIChtLT52ZXJ0aWNhbCkgeworCQlpZiAoIW0tPnBhZ2Vfc3opCQkJCS8qIHNtYWxsIG1lbnUgKi8KKwkJCXJldHVybiAodWlfbGluZXMgLSAoY2YtPm1lbnUtPm5pdGVtcyArIDEpKSAvIDIgKyBpZHg7CisJCXJldHVybiAoaWR4ICUgbS0+cGFnZV9zeikgKyAxOworCX0gZWxzZSB7CisJCXNpemVfdCBsZW4gPSBNRU5VX0hfSVRFTVdJRFRIKG0pICsgTUVOVV9IX0JFVFdFRU47IC8qKiBpdGVtIHdpZHRoICovCisJCXNpemVfdCBpdGVtcyA9IHVpX2NvbHMgLyBsZW47CQkJLyogaXRlbXMgcGVyIGxpbmUgKi8KKworCQlpZiAoaXRlbXMgPT0gMCkKKwkJCXJldHVybiAwOworCQlyZXR1cm4gTUVOVV9TVEFSVF9MSU5FICsgKChpZHggLyBpdGVtcykpOworCX0KK30KKworc3RhdGljIGludCBtZW51aXRlbV9nZXRfY29sdW1uKHN0cnVjdCBjZmRpc2sgKmNmLCBzaXplX3QgaWR4KQoreworCWlmIChjZi0+bWVudS0+dmVydGljYWwpIHsKKwkJc2l6ZV90IG5jID0gTUVOVV9WX0lURU1XSURUSChjZi0+bWVudSk7CisJCWlmICgoc2l6ZV90KSB1aV9jb2xzIDw9IG5jKQorCQkJcmV0dXJuIDA7CisJCXJldHVybiAodWlfY29scyAtIG5jKSAvIDI7CisJfSBlbHNlIHsKKwkJc2l6ZV90IGxlbiA9IE1FTlVfSF9JVEVNV0lEVEgoY2YtPm1lbnUpICsgTUVOVV9IX0JFVFdFRU47IC8qIGl0ZW0gd2lkdGggKi8KKwkJc2l6ZV90IGl0ZW1zID0gdWlfY29scyAvIGxlbjsJCQkJLyogaXRlbXMgcGVyIGxpbmUgKi8KKwkJc2l6ZV90IGV4dHJhID0gaXRlbXMgPCBjZi0+bWVudS0+bml0ZW1zID8JCS8qIGV4dHJhIHNwYWNlIG9uIGxpbmUgKi8KKwkJCQl1aV9jb2xzICUgbGVuIDoJCQkJLyogLSBtdWx0aS1saW5lIG1lbnUgKi8KKwkJCQl1aV9jb2xzIC0gKGNmLT5tZW51LT5uaXRlbXMgKiBsZW4pOwkvKiAtIG9uZSBsaW5lIG1lbnUgKi8KKworCQlpZiAoaXRlbXMgPT0gMCkKKwkJCXJldHVybiAwOwkJCQkJLyogaG1tLi4uIG5vIHNwYWNlICovCisKKwkJZXh0cmEgKz0gTUVOVV9IX0JFVFdFRU47CS8qIGFkZCBwYWRkaW5nIGFmdGVyIGxhc3QgaXRlbSB0byBleHRyYSAqLworCisJCWlmIChpZHggPCBpdGVtcykKKwkJCXJldHVybiAoaWR4ICogbGVuKSArIChleHRyYSAvIDIpOworCQlyZXR1cm4gKChpZHggJSBpdGVtcykgKiBsZW4pICsgKGV4dHJhIC8gMik7CisJfQorfQorCitzdGF0aWMgaW50IG1lbnVpdGVtX29uX3BhZ2Uoc3RydWN0IGNmZGlzayAqY2YsIHNpemVfdCBpZHgpCit7CisJc3RydWN0IGNmZGlza19tZW51ICptID0gY2YtPm1lbnU7CisKKwlpZiAobS0+cGFnZV9zeiA9PSAwIHx8CisJICAgIG0tPmlkeCAvIG0tPnBhZ2Vfc3ogPT0gaWR4IC8gbS0+cGFnZV9zeikKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICptZW51X2dldF9tZW51aXRlbShzdHJ1Y3QgY2ZkaXNrICpjZiwgc2l6ZV90IGlkeCkKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICpkOworCXNpemVfdCBpOworCisJZm9yIChpID0gMCwgZCA9IGNmLT5tZW51LT5pdGVtczsgZC0+bmFtZTsgZCsrKSB7CisJCWlmIChjZi0+bWVudS0+aWdub3JlICYmIHN0cmNocihjZi0+bWVudS0+aWdub3JlLCBkLT5rZXkpKQorCQkJY29udGludWU7CisJCWlmIChpKysgPT0gaWR4KQorCQkJcmV0dXJuIGQ7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICptZW51X2dldF9tZW51aXRlbV9ieV9rZXkoc3RydWN0IGNmZGlzayAqY2YsCisJCQkJCQkJaW50IGtleSwgc2l6ZV90ICppZHgpCit7CisJc3RydWN0IGNmZGlza19tZW51aXRlbSAqZDsKKworCWZvciAoKmlkeCA9IDAsIGQgPSBjZi0+bWVudS0+aXRlbXM7IGQtPm5hbWU7IGQrKykgeworCQlpZiAoY2YtPm1lbnUtPmlnbm9yZSAmJiBzdHJjaHIoY2YtPm1lbnUtPmlnbm9yZSwgZC0+a2V5KSkKKwkJCWNvbnRpbnVlOworCQlpZiAoa2V5ID09IGQtPmtleSkKKwkJCXJldHVybiBkOworCQkoKmlkeCkrKzsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgdWlfZHJhd19tZW51aXRlbShzdHJ1Y3QgY2ZkaXNrICpjZiwKKwkJCSAgICAgc3RydWN0IGNmZGlza19tZW51aXRlbSAqZCwKKwkJCSAgICAgc2l6ZV90IGlkeCkKK3sKKwljaGFyICpidWYsICpwdHI7CisJY29uc3QgY2hhciAqbmFtZTsKKwlzaXplX3Qgd2lkdGg7CisJY29uc3Qgc2l6ZV90IGJ1Zl9zeiA9IDgwICogTUJfQ1VSX01BWDsKKwlpbnQgbG4sIGNsLCB2ZXJ0ID0gY2YtPm1lbnUtPnZlcnRpY2FsOworCisJaWYgKCFtZW51aXRlbV9vbl9wYWdlKGNmLCBpZHgpKQorCQlyZXR1cm47CQkvKiBubyB2aXNpYmxlIGl0ZW0gKi8KKwlsbiA9IG1lbnVpdGVtX2dldF9saW5lKGNmLCBpZHgpOworCWNsID0gbWVudWl0ZW1fZ2V0X2NvbHVtbihjZiwgaWR4KTsKKworCXB0ciA9IGJ1ZiA9IHhtYWxsb2MoYnVmX3N6KTsKKwkvKiBzdHJpbmcgd2lkdGggKi8KKwlpZiAodmVydCkgeworCQl3aWR0aCA9IGNmLT5tZW51LT53aWR0aCArIE1FTlVfVl9TUEFERElORzsKKwkJbWVtc2V0KHB0ciwgJyAnLCBNRU5VX1ZfU1BBRERJTkcpOworCQlwdHIgKz0gTUVOVV9WX1NQQURESU5HOworCX0gZWxzZQorCQl3aWR0aCA9IE1FTlVfSF9TUEFERElORyArIGNmLT5tZW51LT53aWR0aCArIE1FTlVfSF9TUEFERElORzsKKworCW5hbWUgPSBfKGQtPm5hbWUpOworCW1ic2FsaWduKG5hbWUsIHB0ciwgYnVmX3N6LCAmd2lkdGgsCisJCQl2ZXJ0ID8gTUJTX0FMSUdOX0xFRlQgOiBNQlNfQUxJR05fQ0VOVEVSLAorCQkJMCk7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoIm1lbnVpdGVtOiBjbD0lZCwgbG49JWQsIGl0ZW09JyVzJyIsCisJCQljbCwgbG4sIGJ1ZikpOworCisJaWYgKHZlcnQpIHsKKwkJbXZhZGRjaChsbiwgY2wgLSAxLCBBQ1NfVkxJTkUpOworCQltdmFkZGNoKGxuLCBjbCArIE1FTlVfVl9JVEVNV0lEVEgoY2YtPm1lbnUpLCBBQ1NfVkxJTkUpOworCX0KKworCWlmIChjZi0+bWVudS0+aWR4ID09IGlkeCkKKwkJc3RhbmRvdXQoKTsKKworCWlmICh2ZXJ0KQorCQltdnByaW50dyhsbiwgY2wsICIlcyIsIGJ1Zik7CisJZWxzZQorCQltdnByaW50dyhsbiwgY2wsICIlcyVzJXMiLCBNRU5VX0hfUFJFU1RSLCBidWYsIE1FTlVfSF9QT1NUU1RSKTsKKwlmcmVlKGJ1Zik7CisKKwlpZiAoY2YtPm1lbnUtPmlkeCA9PSBpZHgpIHsKKwkJc3RhbmRlbmQoKTsKKwkJaWYgKGQtPmRlc2MpCisJCQl1aV9oaW50KF8oZC0+ZGVzYykpOworCX0KK30KKworc3RhdGljIHZvaWQgdWlfY2xlYW5fbWVudShzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlzaXplX3QgaTsKKwlzaXplX3QgbGFzdGxpbmU7CisJc3RydWN0IGNmZGlza19tZW51ICptID0gY2YtPm1lbnU7CisJc2l6ZV90IGxuID0gbWVudWl0ZW1fZ2V0X2xpbmUoY2YsIDApOworCisJaWYgKG0tPnZlcnRpY2FsKQorCQlsYXN0bGluZSA9IGxuICsgKG0tPnBhZ2Vfc3ogPyBtLT5wYWdlX3N6IDogbS0+bml0ZW1zKTsKKwllbHNlCisJCWxhc3RsaW5lID0gbWVudWl0ZW1fZ2V0X2xpbmUoY2YsIG0tPm5pdGVtcyk7CisKKwlmb3IgKGkgPSBsbjsgaSA8PSBsYXN0bGluZTsgaSsrKSB7CisJCW1vdmUoaSwgMCk7CisJCWNscnRvZW9sKCk7CisJCURCRyhNRU5VLCB1bF9kZWJ1ZygiY2xlYW5fbWVudTogbGluZSAlenUiLCBpKSk7CisJfQorCWlmIChtLT52ZXJ0aWNhbCkgeworCQltb3ZlKGxuIC0gMSwgMCk7CisJCWNscnRvZW9sKCk7CisJfQorCXVpX2NsZWFuX2hpbnQoKTsKK30KKworc3RhdGljIHZvaWQgdWlfZHJhd19tZW51KHN0cnVjdCBjZmRpc2sgKmNmKQoreworCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQ7CisJc3RydWN0IGNmZGlza19tZW51ICptOworCXNpemVfdCBpID0gMDsKKwlzaXplX3QgbG4gPSBtZW51aXRlbV9nZXRfbGluZShjZiwgMCk7CisJc2l6ZV90IG5saW5lczsKKworCWFzc2VydChjZik7CisJYXNzZXJ0KGNmLT5tZW51KTsKKworCURCRyhNRU5VLCB1bF9kZWJ1ZygiZHJhdyBzdGFydCIpKTsKKworCXVpX2NsZWFuX21lbnUoY2YpOworCW0gPSBjZi0+bWVudTsKKworCWlmIChtLT52ZXJ0aWNhbCkKKwkJbmxpbmVzID0gbS0+cGFnZV9zeiA/IG0tPnBhZ2Vfc3ogOiBtLT5uaXRlbXM7CisJZWxzZQorCQlubGluZXMgPSBtZW51aXRlbV9nZXRfbGluZShjZiwgbS0+bml0ZW1zKTsKKworCWlmIChtLT5pZ25vcmVfY2IpCisJCW1lbnVfdXBkYXRlX2lnbm9yZShjZik7CisJaSA9IDA7CisJd2hpbGUgKChkID0gbWVudV9nZXRfbWVudWl0ZW0oY2YsIGkpKSkKKwkJdWlfZHJhd19tZW51aXRlbShjZiwgZCwgaSsrKTsKKworCWlmIChtLT52ZXJ0aWNhbCkgeworCQlzaXplX3QgY2wgPSBtZW51aXRlbV9nZXRfY29sdW1uKGNmLCAwKTsKKwkJc2l6ZV90IGN1cnBnID0gbS0+cGFnZV9zeiA/IG0tPmlkeCAvIG0tPnBhZ2Vfc3ogOiAwOworCisJCS8qIGNvcm5lcnMgYW5kIGhvcml6b250YWwgbGluZXMgKi8KKwkJbXZhZGRjaChsbiAtIDEsIGNsIC0gMSwgQUNTX1VMQ09STkVSKTsKKwkJbXZhZGRjaChsbiArIG5saW5lcywgY2wgLSAxLCBBQ1NfTExDT1JORVIpOworCisJCWZvciAoaSA9IDA7IGkgPCBNRU5VX1ZfSVRFTVdJRFRIKG0pOyBpKyspIHsKKwkJCW12YWRkY2gobG4gLSAxLCBjbCArIGksIEFDU19ITElORSk7CisJCQltdmFkZGNoKGxuICsgbmxpbmVzLCBjbCArIGksIEFDU19ITElORSk7CisJCX0KKworCQltdmFkZGNoKGxuIC0gMSwgY2wgKyBpLCBBQ1NfVVJDT1JORVIpOworCQltdmFkZGNoKGxuICsgbmxpbmVzLCBjbCArIGksIEFDU19MUkNPUk5FUik7CisKKwkJLyogZHJhdyBhbHNvIGxpbmVzIGFyb3VuZCBlbXB0eSBsaW5lcyBvbiBsYXN0IHBhZ2UgKi8KKwkJaWYgKG0tPnBhZ2Vfc3ogJiYKKwkJICAgIG0tPm5pdGVtcyAvIG0tPnBhZ2Vfc3ogPT0gbS0+aWR4IC8gbS0+cGFnZV9zeikgeworCQkJZm9yIChpID0gbS0+bml0ZW1zICUgbS0+cGFnZV9zeiArIDE7IGkgPD0gbS0+cGFnZV9zejsgaSsrKSB7CisJCQkJbXZhZGRjaChpLCBjbCAtIDEsIEFDU19WTElORSk7CisJCQkJbXZhZGRjaChpLCBjbCArIE1FTlVfVl9JVEVNV0lEVEgobSksIEFDU19WTElORSk7CisJCQl9CisJCX0KKwkJaWYgKG0tPnRpdGxlKSB7CisJCQlhdHRyb24oQV9CT0xEKTsKKwkJCW12cHJpbnR3KGxuIC0gMSwgY2wsICIgJXMgIiwgbS0+dGl0bGUpOworCQkJYXR0cm9mZihBX0JPTEQpOworCQl9CisJCWlmIChjdXJwZyAhPSAwKQorCQkJbXZhZGRjaChsbiAtIDEsIGNsICsgTUVOVV9WX0lURU1XSURUSChtKSAtIDIsIEFDU19VQVJST1cpOworCQlpZiAobS0+cGFnZV9zeiAmJiBjdXJwZyA8IG0tPm5pdGVtcyAvIG0tPnBhZ2Vfc3opCisJCQltdmFkZGNoKGxuICsgbmxpbmVzLCBjbCArIE1FTlVfVl9JVEVNV0lEVEgobSkgLSAyLCBBQ1NfREFSUk9XKTsKKwl9CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoImRyYXcgZW5kLiIpKTsKK30KKworaW5saW5lIHN0YXRpYyBpbnQgZXh0cmFfaW5zZXJ0X3BhaXIoc3RydWN0IGNmZGlza19saW5lICpsLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpkYXRhKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsc2w7CisJaW50IHJjOworCisJYXNzZXJ0KGwpOworCWFzc2VydChsLT5leHRyYSk7CisKKwlpZiAoIWRhdGEgfHwgISpkYXRhKQorCQlyZXR1cm4gMDsKKworCWxzbCA9IHNjb2xzX3RhYmxlX25ld19saW5lKGwtPmV4dHJhLCBOVUxMKTsKKwlpZiAoIWxzbCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobHNsLCAwLCBuYW1lKTsKKwlpZiAoIXJjKQorCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobHNsLCAxLCBkYXRhKTsKKworCXJldHVybiByYzsKK30KKworI2lmbmRlZiBIQVZFX0xJQk1PVU5UCitzdGF0aWMgY2hhciAqZ2V0X21vdW50cG9pbnQoCXN0cnVjdCBjZmRpc2sgKmNmIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLAorCQkJCWNvbnN0IGNoYXIgKnRhZ25hbWUgX19hdHRyaWJ1dGVfXygodW51c2VkKSksCisJCQkJY29uc3QgY2hhciAqdGFnZGF0YSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlyZXR1cm4gTlVMTDsKK30KKyNlbHNlCitzdGF0aWMgY2hhciAqZ2V0X21vdW50cG9pbnQoc3RydWN0IGNmZGlzayAqY2YsIGNvbnN0IGNoYXIgKnRhZ25hbWUsIGNvbnN0IGNoYXIgKnRhZ2RhdGEpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCWNoYXIgKnRhcmdldCA9IE5VTEw7CisJaW50IG1vdW50ZWQgPSAwOworCisJYXNzZXJ0KHRhZ25hbWUpOworCWFzc2VydCh0YWdkYXRhKTsKKworCURCRyhVSSwgdWxfZGVidWcoImFza2luZyBmb3IgbW91bnRwb2ludCBbJXM9JXNdIiwgdGFnbmFtZSwgdGFnZGF0YSkpOworCisJaWYgKCFjZi0+bW50Y2FjaGUpCisJCWNmLT5tbnRjYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKworCS8qIDFzdCB0cnkgYmV0d2VlbiBtb3VudGVkIGZpbGVzeXN0ZW1zICovCisJaWYgKCFjZi0+bXRhYikgeworCQljZi0+bXRhYiA9IG1udF9uZXdfdGFibGUoKTsKKwkJaWYgKGNmLT5tdGFiKSB7CisJCQltbnRfdGFibGVfc2V0X2NhY2hlKGNmLT5tdGFiLCBjZi0+bW50Y2FjaGUpOworCQkJbW50X3RhYmxlX3BhcnNlX210YWIoY2YtPm10YWIsIE5VTEwpOworCQl9CisJfQorCisJaWYgKGNmLT5tdGFiKQorCQlmcyA9IG1udF90YWJsZV9maW5kX3RhZyhjZi0+bXRhYiwgdGFnbmFtZSwgdGFnZGF0YSwgTU5UX0lURVJfRk9SV0FSRCk7CisKKwkvKiAybmQgdHJ5IGZzdGFiICovCisJaWYgKCFmcykgeworCQlpZiAoIWNmLT5mc3RhYikgeworCQkJY2YtPmZzdGFiID0gbW50X25ld190YWJsZSgpOworCQkJaWYgKGNmLT5mc3RhYikgeworCQkJCW1udF90YWJsZV9zZXRfY2FjaGUoY2YtPmZzdGFiLCBjZi0+bW50Y2FjaGUpOworCQkJCW1udF90YWJsZV9wYXJzZV9mc3RhYihjZi0+ZnN0YWIsIE5VTEwpOworCQkJfQorCQl9CisJCWlmIChjZi0+ZnN0YWIpCisJCQlmcyA9IG1udF90YWJsZV9maW5kX3RhZyhjZi0+ZnN0YWIsIHRhZ25hbWUsIHRhZ2RhdGEsIE1OVF9JVEVSX0ZPUldBUkQpOworCX0gZWxzZQorCQltb3VudGVkID0gMTsKKworCWlmIChmcykgeworCQlpZiAobW91bnRlZCkKKwkJCXhhc3ByaW50ZigmdGFyZ2V0LCBfKCIlcyAobW91bnRlZCkiKSwgbW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwkJZWxzZQorCQkJdGFyZ2V0ID0geHN0cmR1cChtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCX0KKworCXJldHVybiB0YXJnZXQ7Cit9CisjZW5kaWYgLyogSEFWRV9MSUJNT1VOVCAqLworCitzdGF0aWMgdm9pZCBleHRyYV9wcmVwYXJlX2RhdGEoc3RydWN0IGNmZGlzayAqY2YpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBnZXRfY3VycmVudF9wYXJ0aXRpb24oY2YpOworCXN0cnVjdCBjZmRpc2tfbGluZSAqbCA9ICZjZi0+bGluZXNbY2YtPmxpbmVzX2lkeF07CisJY2hhciAqZGF0YSA9IE5VTEw7CisJY2hhciAqbW91bnRwb2ludCA9IE5VTEw7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJwcmVwYXJpbmcgZXh0cmEgZGF0YSIpKTsKKworCS8qIHN0cmluZyBkYXRhIHNob3VsZCBub3QgZXF1YWwgYW4gZW1wdHkgc3RyaW5nICovCisJaWYgKCFmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjZi0+Y3h0LCBGRElTS19GSUVMRF9OQU1FLCAmZGF0YSkgJiYgZGF0YSkgeworCQlleHRyYV9pbnNlcnRfcGFpcihsLCBfKCJQYXJ0aXRpb24gbmFtZToiKSwgZGF0YSk7CisJCWlmICghbW91bnRwb2ludCkKKwkJCW1vdW50cG9pbnQgPSBnZXRfbW91bnRwb2ludChjZiwgIlBBUlRMQUJFTCIsIGRhdGEpOworCQlmcmVlKGRhdGEpOworCX0KKworCWlmICghZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwgRkRJU0tfRklFTERfVVVJRCwgJmRhdGEpICYmIGRhdGEpIHsKKwkJZXh0cmFfaW5zZXJ0X3BhaXIobCwgXygiUGFydGl0aW9uIFVVSUQ6IiksIGRhdGEpOworCQlpZiAoIW1vdW50cG9pbnQpCisJCQltb3VudHBvaW50ID0gZ2V0X21vdW50cG9pbnQoY2YsICJQQVJUVVVJRCIsIGRhdGEpOworCQlmcmVlKGRhdGEpOworCX0KKworCWlmICghZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwgRkRJU0tfRklFTERfVFlQRSwgJmRhdGEpICYmIGRhdGEpIHsKKwkJY2hhciAqY29kZSA9IE5VTEwsICp0eXBlID0gTlVMTDsKKworCQlmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjZi0+Y3h0LCBGRElTS19GSUVMRF9UWVBFSUQsICZjb2RlKTsKKwkJeGFzcHJpbnRmKCZ0eXBlLCAiJXMgKCVzKSIsIGRhdGEsIGNvZGUpOworCisJCWV4dHJhX2luc2VydF9wYWlyKGwsIF8oIlBhcnRpdGlvbiB0eXBlOiIpLCB0eXBlKTsKKwkJZnJlZShkYXRhKTsKKwkJZnJlZShjb2RlKTsKKwkJZnJlZSh0eXBlKTsKKwl9CisKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGNmLT5jeHQsIEZESVNLX0ZJRUxEX0FUVFIsICZkYXRhKSAmJiBkYXRhKSB7CisJCWV4dHJhX2luc2VydF9wYWlyKGwsIF8oIkF0dHJpYnV0ZXM6IiksIGRhdGEpOworCQlmcmVlKGRhdGEpOworCX0KKworCS8qIGZvciBudW1lcmljIGRhdGEsIG9ubHkgc2hvdyBub24temVybyByb3dzICovCisJaWYgKCFmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjZi0+Y3h0LCBGRElTS19GSUVMRF9CU0laRSwgJmRhdGEpICYmIGRhdGEpIHsKKwkJaWYgKGF0b2koZGF0YSkpCisJCQlleHRyYV9pbnNlcnRfcGFpcihsLCAiQlNJWkU6IiwgZGF0YSk7CisJCWZyZWUoZGF0YSk7CisJfQorCisJaWYgKCFmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjZi0+Y3h0LCBGRElTS19GSUVMRF9DUEcsICZkYXRhKSAmJiBkYXRhKSB7CisJCWlmIChhdG9pKGRhdGEpKQorCQkJZXh0cmFfaW5zZXJ0X3BhaXIobCwgIkNQRzoiLCBkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwl9CisKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGNmLT5jeHQsIEZESVNLX0ZJRUxEX0ZTSVpFLCAmZGF0YSkgJiYgZGF0YSkgeworCQlpZiAoYXRvaShkYXRhKSkKKwkJCWV4dHJhX2luc2VydF9wYWlyKGwsICJGU0laRToiLCBkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwl9CisKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIGNmLT5jeHQsIEZESVNLX0ZJRUxEX0ZTVVVJRCwgJmRhdGEpICYmIGRhdGEpIHsKKwkJZXh0cmFfaW5zZXJ0X3BhaXIobCwgXygiRmlsZXN5c3RlbSBVVUlEOiIpLCBkYXRhKTsKKwkJaWYgKCFtb3VudHBvaW50KQorCQkJbW91bnRwb2ludCA9IGdldF9tb3VudHBvaW50KGNmLCAiVVVJRCIsIGRhdGEpOworCQlmcmVlKGRhdGEpOworCX0KKworCWlmICghZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwgRkRJU0tfRklFTERfRlNMQUJFTCwgJmRhdGEpICYmIGRhdGEpIHsKKwkJZXh0cmFfaW5zZXJ0X3BhaXIobCwgXygiRmlsZXN5c3RlbSBMQUJFTDoiKSwgZGF0YSk7CisJCWlmICghbW91bnRwb2ludCkKKwkJCW1vdW50cG9pbnQgPSBnZXRfbW91bnRwb2ludChjZiwgIkxBQkVMIiwgZGF0YSk7CisJCWZyZWUoZGF0YSk7CisJfQorCWlmICghZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY2YtPmN4dCwgRkRJU0tfRklFTERfRlNUWVBFLCAmZGF0YSkgJiYgZGF0YSkgeworCQlleHRyYV9pbnNlcnRfcGFpcihsLCBfKCJGaWxlc3lzdGVtOiIpLCBkYXRhKTsKKwkJZnJlZShkYXRhKTsKKwl9CisKKwlpZiAobW91bnRwb2ludCkgeworCQlleHRyYV9pbnNlcnRfcGFpcihsLCBfKCJNb3VudHBvaW50OiIpLCBtb3VudHBvaW50KTsKKwkJZnJlZShtb3VudHBvaW50KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgdWlfZHJhd19leHRyYShzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlXSU5ET1cgKndpbl9leDsKKwlpbnQgd2xpbmUgPSAxOworCXN0cnVjdCBjZmRpc2tfbGluZSAqbG4gPSAmY2YtPmxpbmVzW2NmLT5saW5lc19pZHhdOworCWNoYXIgKnRic3RyID0gTlVMTCwgKmVuZDsKKwlpbnQgd2luX2V4X3N0YXJ0X2xpbmUsIHdpbl9oZWlnaHQsIHRibGVuOworCWludCBuZGF0YWxpbmVzOworCisJaWYgKCFjZi0+c2hvd19leHRyYSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJkcmF3IGV4dHJhIikpOworCisJYXNzZXJ0KGxuLT5leHRyYSk7CisKKwlpZiAoY2YtPmFjdF93aW4pIHsKKwkJd2NsZWFyKGNmLT5hY3Rfd2luKTsKKwkJdG91Y2h3aW4oc3Rkc2NyKTsKKwl9CisKKwlpZiAoc2NvbHNfdGFibGVfaXNfZW1wdHkobG4tPmV4dHJhKSkgeworCQlleHRyYV9wcmVwYXJlX2RhdGEoY2YpOworCQlpZiAoc2NvbHNfdGFibGVfaXNfZW1wdHkobG4tPmV4dHJhKSkKKwkJCXJldHVybiAwOworCX0KKworCW5kYXRhbGluZXMgPSBmZGlza190YWJsZV9nZXRfbmVudHMoY2YtPnRhYmxlKSArIDE7CisKKwkvKiBuZW50cyArIGhlYWRlciArIG9uZSBmcmVlIGxpbmUgKi8KKwl3aW5fZXhfc3RhcnRfbGluZSA9IFRBQkxFX1NUQVJUX0xJTkUgKyBuZGF0YWxpbmVzOworCXdpbl9oZWlnaHQgPSBNRU5VX1NUQVJUX0xJTkUgLSB3aW5fZXhfc3RhcnRfbGluZTsKKwl0YmxlbiA9IHNjb2xzX3RhYmxlX2dldF9ubGluZXMobG4tPmV4dHJhKTsKKworCS8qIHdlIGNhbid0IGdldCBhIHNpbmdsZSBsaW5lIG9mIGRhdGEgdW5kZXIgdGhlIHBhcnRsaXN0Ki8KKwlpZiAod2luX2hlaWdodCA8IDMpCisJCXJldHVybiAxOworCisJLyogbnVtYmVyIG9mIGRhdGEgbGluZXMgKyAyIGZvciB0b3AvYm90dG9tIGxpbmVzICovCisJd2luX2hlaWdodCA9IHdpbl9oZWlnaHQgPCB0YmxlbiArIDIgPyB3aW5faGVpZ2h0IDogdGJsZW4gKyAyOworCisJaWYgKChzaXplX3QpIHdpbl9leF9zdGFydF9saW5lICsgd2luX2hlaWdodCArIDEgPCBNRU5VX1NUQVJUX0xJTkUpCisJCXdpbl9leF9zdGFydF9saW5lID0gTUVOVV9TVEFSVF9MSU5FIC0gd2luX2hlaWdodDsKKworCXdpbl9leCA9IHN1YndpbihzdGRzY3IsIHdpbl9oZWlnaHQsIHVpX2NvbHMgLSAyLCB3aW5fZXhfc3RhcnRfbGluZSwgMSk7CisKKwlzY29sc190YWJsZV9yZWR1Y2VfdGVybXdpZHRoKGxuLT5leHRyYSwgNCk7CisJc2NvbHNfcHJpbnRfdGFibGVfdG9fc3RyaW5nKGxuLT5leHRyYSwgJnRic3RyKTsKKworCWVuZCA9IHRic3RyOworCXdoaWxlICgoZW5kID0gc3RyY2hyKGVuZCwgJ1xuJykpKQorCQkqZW5kKysgPSAnXDAnOworCisJYm94KHdpbl9leCwgMCwgMCk7CisKKwllbmQgPSB0YnN0cjsKKwl3aGlsZSAoLS13aW5faGVpZ2h0ID4gMSkgeworCQltdndhZGRzdHIod2luX2V4LCB3bGluZSsrLCAxIC8qIHdpbmRvdyBjb2x1bW4qLywgdGJzdHIpOworCQl0YnN0ciArPSBzdHJsZW4odGJzdHIpICsgMTsKKwl9CisJZnJlZShlbmQpOworCisJaWYgKGxuLT53KQorCQlkZWx3aW4obG4tPncpOworCisJREJHKFVJLCB1bF9kZWJ1ZygiZHJhdyB3aW5kb3c6ICVwIiwgd2luX2V4KSk7CisJdG91Y2h3aW4oc3Rkc2NyKTsKKwl3cmVmcmVzaCh3aW5fZXgpOworCisJY2YtPmFjdF93aW4gPSBsbi0+dyA9IHdpbl9leDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdWlfbWVudV9nb3RvKHN0cnVjdCBjZmRpc2sgKmNmLCBpbnQgd2hlcmUpCit7CisJc3RydWN0IGNmZGlza19tZW51aXRlbSAqZDsKKwlzaXplX3Qgb2xkOworCisJLyogc3RvcCBhbmQgYmVnaW4vZW5kIGZvciB2ZXJ0aWNhbCBtZW51cyAqLworCWlmIChjZi0+bWVudS0+dmVydGljYWwpIHsKKwkJaWYgKHdoZXJlIDwgMCkKKwkJCXdoZXJlID0gMDsKKwkJZWxzZSBpZiAod2hlcmUgPiAoaW50KSBjZi0+bWVudS0+bml0ZW1zIC0gMSkKKwkJCXdoZXJlID0gY2YtPm1lbnUtPm5pdGVtcyAtIDE7CisJfSBlbHNlIHsKKwkJLyogY29udGludWUgZnJvbSBiZWdpbi9lbmQgKi8KKwkJaWYgKHdoZXJlIDwgMCkKKwkJCXdoZXJlID0gY2YtPm1lbnUtPm5pdGVtcyAtIDE7CisJCWVsc2UgaWYgKChzaXplX3QpIHdoZXJlID4gY2YtPm1lbnUtPm5pdGVtcyAtIDEpCisJCQl3aGVyZSA9IDA7CisJfQorCWlmICgoc2l6ZV90KSB3aGVyZSA9PSBjZi0+bWVudS0+aWR4KQorCQlyZXR1cm47CisKKwl1aV9jbGVhbl9pbmZvKCk7CisKKwlvbGQgPSBjZi0+bWVudS0+aWR4OworCWNmLT5tZW51LT5pZHggPSB3aGVyZTsKKworCWlmICghbWVudWl0ZW1fb25fcGFnZShjZiwgb2xkKSkgeworCQl1aV9kcmF3X21lbnUoY2YpOworCQlyZXR1cm47CisJfQorCisJZCA9IG1lbnVfZ2V0X21lbnVpdGVtKGNmLCBvbGQpOworCXVpX2RyYXdfbWVudWl0ZW0oY2YsIGQsIG9sZCk7CisKKwlkID0gbWVudV9nZXRfbWVudWl0ZW0oY2YsIHdoZXJlKTsKKwl1aV9kcmF3X21lbnVpdGVtKGNmLCBkLCB3aGVyZSk7CisKK30KKworc3RhdGljIGludCB1aV9tZW51X21vdmUoc3RydWN0IGNmZGlzayAqY2YsIGludCBrZXkpCit7CisJc3RydWN0IGNmZGlza19tZW51ICptOworCisJYXNzZXJ0KGNmKTsKKwlhc3NlcnQoY2YtPm1lbnUpOworCisJaWYgKGtleSA9PSAoaW50KSBFUlIpCisJCXJldHVybiAwOwkvKiBpZ25vcmUgZXJyb3JzICovCisKKwltID0gY2YtPm1lbnU7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoIm1lbnUgbW92ZSBrZXkgPiVjPC4iLCBrZXkpKTsKKworCWlmIChtLT52ZXJ0aWNhbCkKKwl7CisJCXN3aXRjaCAoa2V5KSB7CisJCWNhc2UgS0VZX0RPV046CisJCWNhc2UgJ1wwMTYnOgkvKiBeTiAqLworCQljYXNlICdqJzoJLyogVmktbGlrZSBhbHRlcm5hdGl2ZSAqLworCQkJdWlfbWVudV9nb3RvKGNmLCBtLT5pZHggKyAxKTsKKwkJCXJldHVybiAwOworCQljYXNlIEtFWV9VUDoKKwkJY2FzZSAnXDAyMCc6CS8qIF5QICovCisJCWNhc2UgJ2snOgkvKiBWaS1saWtlIGFsdGVybmF0aXZlICovCisJCQl1aV9tZW51X2dvdG8oY2YsIChpbnQpIG0tPmlkeCAtIDEpOworCQkJcmV0dXJuIDA7CisJCWNhc2UgS0VZX1BQQUdFOgorCQkJaWYgKG0tPnBhZ2Vfc3opIHsKKwkJCQl1aV9tZW51X2dvdG8oY2YsIChpbnQpIG0tPmlkeCAtIG0tPnBhZ2Vfc3opOworCQkJCXJldHVybiAwOworCQkJfQorCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJY2FzZSBLRVlfSE9NRToKKwkJCXVpX21lbnVfZ290byhjZiwgMCk7CisJCQlyZXR1cm4gMDsKKwkJY2FzZSBLRVlfTlBBR0U6CisJCQlpZiAobS0+cGFnZV9zeikgeworCQkJCXVpX21lbnVfZ290byhjZiwgbS0+aWR4ICsgbS0+cGFnZV9zeik7CisJCQkJcmV0dXJuIDA7CisJCQl9CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCQljYXNlIEtFWV9FTkQ6CisJCQl1aV9tZW51X2dvdG8oY2YsIG0tPm5pdGVtcyk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0gZWxzZSB7CisJCXN3aXRjaCAoa2V5KSB7CisJCWNhc2UgS0VZX1JJR0hUOgorCQljYXNlICdcdCc6CisJCQl1aV9tZW51X2dvdG8oY2YsIG0tPmlkeCArIDEpOworCQkJcmV0dXJuIDA7CisJCWNhc2UgS0VZX0xFRlQ6CisjaWZkZWYgS0VZX0JUQUIKKwkJY2FzZSBLRVlfQlRBQjoKKyNlbmRpZgorCQkJdWlfbWVudV9nb3RvKGNmLCAoaW50KSBtLT5pZHggLSAxKTsKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJaWYgKGtleSA9PSAnXDAxNCcpIHsJCS8qIF5MIHJlZnJlc2ggKi8KKwkJdWlfbWVudV9yZXNpemUoY2YpOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoIiBubyBtZW51IG1vdmUga2V5IikpOworCXJldHVybiAxOworfQorCisvKiBidXQgZG9uJ3QgY2FsbCBtZSBmcm9tIHVpX3J1bigpLCB0aGlzIGlzIGZvciBwb3AtdXAgbWVudXMgb25seSAqLworc3RhdGljIHZvaWQgdWlfbWVudV9yZXNpemUoc3RydWN0IGNmZGlzayAqY2YpCit7CisJREJHKE1FTlUsIHVsX2RlYnVnKCJtZW51IHJlc2l6ZS9yZWZyZXNoIikpOworCXJlc2l6ZSgpOworCXVpX2NsZWFuX21lbnUoY2YpOworCW1lbnVfcmVmcmVzaF9zaXplKGNmKTsKKwl1aV9kcmF3X21lbnUoY2YpOworCXJlZnJlc2goKTsKK30KKworc3RhdGljIGludCBwYXJ0aXRpb25fb25fcGFnZShzdHJ1Y3QgY2ZkaXNrICpjZiwgc2l6ZV90IGkpCit7CisJaWYgKGNmLT5wYWdlX3N6ID09IDAgfHwKKwkgICAgY2YtPmxpbmVzX2lkeCAvIGNmLT5wYWdlX3N6ID09IGkgLyBjZi0+cGFnZV9zeikKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHVpX2RyYXdfcGFydGl0aW9uKHN0cnVjdCBjZmRpc2sgKmNmLCBzaXplX3QgaSkKK3sKKwlpbnQgbG4gPSBUQUJMRV9TVEFSVF9MSU5FICsgMSArIGk7CS8qIHNraXAgdGFibGUgaGVhZGVyICovCisJaW50IGNsID0gQVJST1dfQ1VSU09SX1dJRFRIOwkJLyogd2UgbmVlZCBleHRyYSBzcGFjZSBmb3IgY3Vyc29yICovCisJaW50IGN1ciA9IGNmLT5saW5lc19pZHggPT0gaTsKKwlzaXplX3QgY3VycGcgPSAwOworCisJaWYgKGNmLT5wYWdlX3N6KSB7CisJCWlmICghcGFydGl0aW9uX29uX3BhZ2UoY2YsIGkpKQorCQkJcmV0dXJuOworCQlsbiA9IFRBQkxFX1NUQVJUX0xJTkUgKyAoaSAlIGNmLT5wYWdlX3N6KSArIDE7CisJCWN1cnBnID0gY2YtPmxpbmVzX2lkeCAvIGNmLT5wYWdlX3N6OworCX0KKworCURCRyhVSSwgdWxfZGVidWcoCisJCQkiZHJhdyBwYXJ0aXRpb24gJXp1IFtwYWdlX3N6PSV6dSwgIgorCQkJImxpbmU9JWQsIGlkeD0lenVdIiwKKwkJCWksIGNmLT5wYWdlX3N6LCBsbiwgY2YtPmxpbmVzX2lkeCkpOworCisJaWYgKGN1cikgeworCQlhdHRyb24oQV9SRVZFUlNFKTsKKwkJbXZhZGRzdHIobG4sIDAsIEFSUk9XX0NVUlNPUl9TVFJJTkcpOworCQltdmFkZHN0cihsbiwgY2wsIGNmLT5saW5lc1tpICsgMV0uZGF0YSk7CisJCWF0dHJvZmYoQV9SRVZFUlNFKTsKKwl9IGVsc2UgeworCQlpbnQgYXQgPSAwOworCisJCWlmIChjb2xvcnNfd2FudGVkKCkgJiYgaXNfZnJlZXNwYWNlKGNmLCBpKSkgeworCQkJYXR0cm9uKENPTE9SX1BBSVIoQ0ZESVNLX0NMX0ZSRUVTUEFDRSkpOworCQkJYXQgPSAxOworCQl9CisJCW12YWRkc3RyKGxuLCAwLCBBUlJPV19DVVJTT1JfRFVNTVkpOworCQltdmFkZHN0cihsbiwgY2wsIGNmLT5saW5lc1tpICsgMV0uZGF0YSk7CisJCWlmIChhdCkKKwkJCWF0dHJvZmYoQ09MT1JfUEFJUihDRkRJU0tfQ0xfRlJFRVNQQUNFKSk7CisJfQorCisJaWYgKChzaXplX3QpIGxuID09IE1FTlVfU1RBUlRfTElORSAtIDEgJiYKKwkgICAgY2YtPnBhZ2Vfc3ogJiYgY3VycGcgPCBjZi0+bmxpbmVzIC8gY2YtPnBhZ2Vfc3opIHsKKwkJaWYgKGN1cikKKwkJCWF0dHJvbihBX1JFVkVSU0UpOworCQltdmFkZGNoKGxuLCB1aV9jb2xzIC0gMSwgQUNTX0RBUlJPVyk7CisJCW12YWRkY2gobG4sIDAsIEFDU19EQVJST1cpOworCQlpZiAoY3VyKQorCQkJYXR0cm9mZihBX1JFVkVSU0UpOworCX0KKworfQorCitzdGF0aWMgaW50IHVpX2RyYXdfdGFibGUoc3RydWN0IGNmZGlzayAqY2YpCit7CisJaW50IGNsID0gQVJST1dfQ1VSU09SX1dJRFRIOworCXNpemVfdCBpLCBucGFydHMgPSBmZGlza190YWJsZV9nZXRfbmVudHMoY2YtPnRhYmxlKTsKKwlzaXplX3QgY3VycGcgPSBjZi0+cGFnZV9zeiA/IGNmLT5saW5lc19pZHggLyBjZi0+cGFnZV9zeiA6IDA7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJkcmF3IHRhYmxlIikpOworCisJZm9yIChpID0gVEFCTEVfU1RBUlRfTElORTsgaSA8PSBUQUJMRV9TVEFSVF9MSU5FICsgY2YtPnBhZ2Vfc3o7IGkrKykgeworCQltb3ZlKGksIDApOworCQljbHJ0b2VvbCgpOworCX0KKworCWlmIChucGFydHMgPT0gMCB8fCAoc2l6ZV90KSBjZi0+bGluZXNfaWR4ID4gbnBhcnRzIC0gMSkKKwkJY2YtPmxpbmVzX2lkeCA9IG5wYXJ0cyA/IG5wYXJ0cyAtIDEgOiAwOworCisJLyogcHJpbnQgaGVhZGVyICovCisJYXR0cm9uKEFfQk9MRCk7CisJbXZhZGRzdHIoVEFCTEVfU1RBUlRfTElORSwgY2wsIGNmLT5saW5lc1swXS5kYXRhKTsKKwlhdHRyb2ZmKEFfQk9MRCk7CisKKwkvKiBwcmludCBwYXJ0aXRpb25zICovCisJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKQorCQl1aV9kcmF3X3BhcnRpdGlvbihjZiwgaSk7CisKKwlpZiAoY3VycGcgIT0gMCkgeworCQltdmFkZGNoKFRBQkxFX1NUQVJUX0xJTkUsIHVpX2NvbHMgLSAxLCBBQ1NfVUFSUk9XKTsKKwkJbXZhZGRjaChUQUJMRV9TVEFSVF9MSU5FLCAwLCBBQ1NfVUFSUk9XKTsKKwl9CisJaWYgKGNmLT5wYWdlX3N6ICYmIGN1cnBnIDwgY2YtPm5saW5lcyAvIGNmLT5wYWdlX3N6KSB7CisJCW12YWRkY2goTUVOVV9TVEFSVF9MSU5FIC0gMSwgdWlfY29scyAtIDEsIEFDU19EQVJST1cpOworCQltdmFkZGNoKE1FTlVfU1RBUlRfTElORSAtIDEsIDAsIEFDU19EQVJST1cpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB1aV90YWJsZV9nb3RvKHN0cnVjdCBjZmRpc2sgKmNmLCBpbnQgd2hlcmUpCit7CisJc2l6ZV90IG9sZDsKKwlzaXplX3QgbnBhcnRzID0gZmRpc2tfdGFibGVfZ2V0X25lbnRzKGNmLT50YWJsZSk7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJnb3RvIHRhYmxlICVkIiwgd2hlcmUpKTsKKworCWlmICh3aGVyZSA8IDApCisJCXdoZXJlID0gMDsKKwllbHNlIGlmICgoc2l6ZV90KSB3aGVyZSA+IG5wYXJ0cyAtIDEpCisJCXdoZXJlID0gbnBhcnRzIC0gMTsKKworCWlmICgoc2l6ZV90KSB3aGVyZSA9PSBjZi0+bGluZXNfaWR4KQorCQlyZXR1cm4gMDsKKworCW9sZCA9IGNmLT5saW5lc19pZHg7CisJY2YtPmxpbmVzX2lkeCA9IHdoZXJlOworCisJaWYgKCFwYXJ0aXRpb25fb25fcGFnZShjZiwgb2xkKSB8fCFwYXJ0aXRpb25fb25fcGFnZShjZiwgd2hlcmUpKQorCQl1aV9kcmF3X3RhYmxlKGNmKTsKKwllbHNlIHsKKwkJdWlfZHJhd19wYXJ0aXRpb24oY2YsIG9sZCk7CS8qIGNsZWFudXAgb2xkICovCisJCXVpX2RyYXdfcGFydGl0aW9uKGNmLCB3aGVyZSk7CS8qIGRyYXcgbmV3ICovCisJfQorCXVpX2NsZWFuX2luZm8oKTsKKwl1aV9kcmF3X21lbnUoY2YpOworCXVpX2RyYXdfZXh0cmEoY2YpOworCXJlZnJlc2goKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVpX3JlZnJlc2goc3RydWN0IGNmZGlzayAqY2YpCit7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKwljaGFyICppZCA9IE5VTEw7CisgICAgICAgIHVpbnQ2NF90IGJ5dGVzID0gZmRpc2tfZ2V0X25zZWN0b3JzKGNmLT5jeHQpICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGNmLT5jeHQpOworCWNoYXIgKnN0cnN6OworCisJaWYgKCF1aV9lbmFibGVkKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN0cnN6ID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfU1BBQ0UKKwkJCQl8IFNJWkVfU1VGRklYXzNMRVRURVIsIGJ5dGVzKTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGNmLT5jeHQsIE5VTEwpOworCWFzc2VydChsYik7CisKKwljbGVhcigpOworCisJLyogaGVhZGVyICovCisJYXR0cm9uKEFfQk9MRCk7CisJdWlfY2VudGVyKDAsIF8oIkRpc2s6ICVzIiksIGZkaXNrX2dldF9kZXZuYW1lKGNmLT5jeHQpKTsKKwlhdHRyb2ZmKEFfQk9MRCk7CisJdWlfY2VudGVyKDEsIF8oIlNpemU6ICVzLCAlIlBSSXU2NCIgYnl0ZXMsICVqdSBzZWN0b3JzIiksCisJCQlzdHJzeiwgYnl0ZXMsICh1aW50bWF4X3QpIGZkaXNrX2dldF9uc2VjdG9ycyhjZi0+Y3h0KSk7CisJaWYgKGZkaXNrX2dldF9kaXNrbGFiZWxfaWQoY2YtPmN4dCwgJmlkKSA9PSAwICYmIGlkKQorCQl1aV9jZW50ZXIoMiwgXygiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIpLAorCQkJCWZkaXNrX2xhYmVsX2dldF9uYW1lKGxiKSwgaWQpOworCWVsc2UKKwkJdWlfY2VudGVyKDIsIF8oIkxhYmVsOiAlcyIpLCBmZGlza19sYWJlbF9nZXRfbmFtZShsYikpOworCWZyZWUoc3Ryc3opOworCisJdWlfZHJhd190YWJsZShjZik7CisJdWlfZHJhd19tZW51KGNmKTsKKwlyZWZyZXNoKCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHVpX2dldF9zdHJpbmcoY29uc3QgY2hhciAqcHJvbXB0LAorCQkJICAgICBjb25zdCBjaGFyICpoaW50LCBjaGFyICpidWYsIHNpemVfdCBsZW4pCit7CisJaW50IGxuID0gTUVOVV9TVEFSVF9MSU5FLCBjbCA9IDE7CisJc3NpemVfdCByYyA9IC0xOworCXN0cnVjdCBtYnNfZWRpdG9yICplZGl0OworCisJREJHKFVJLCB1bF9kZWJ1ZygidWkgZ2V0IHN0cmluZyIpKTsKKworCWFzc2VydChidWYpOworCWFzc2VydChsZW4pOworCisJbW92ZShsbiwgMCk7CisJY2xydG9lb2woKTsKKworCW1vdmUobG4gKyAxLCAwKTsKKwljbHJ0b2VvbCgpOworCisJaWYgKHByb21wdCkgeworCQltdmFkZHN0cihsbiwgY2wsIChjaGFyICopIHByb21wdCk7CisJCWNsICs9IG1ic19zYWZlX3dpZHRoKHByb21wdCk7CisJfQorCisJZWRpdCA9IG1ic19uZXdfZWRpdChidWYsIGxlbiwgdWlfY29scyAtIGNsKTsKKwlpZiAoIWVkaXQpCisJCWdvdG8gZG9uZTsKKworCW1ic19lZGl0X2dvdG8oZWRpdCwgTUJTX0VESVRfRU5EKTsKKworCWlmIChoaW50KQorCQl1aV9oaW50KGhpbnQpOworCWVsc2UKKwkJdWlfY2xlYW5faGludCgpOworCisJY3Vyc19zZXQoMSk7CisKKwl3aGlsZSAoIXNpZ19kaWUpIHsKKwkJd2ludF90IGM7CS8qIHdlIGhhdmUgZmFsbGJhY2sgaW4gd2lkZWNoYXIuaCAqLworCisJCW1vdmUobG4sIGNsKTsKKwkJY2xydG9lb2woKTsKKwkJbXZhZGRzdHIobG4sIGNsLCBlZGl0LT5idWYpOworCQltb3ZlKGxuLCBjbCArIGVkaXQtPmN1cnNvcl9jZWxscyk7CisJCXJlZnJlc2goKTsKKworI2lmICFkZWZpbmVkKEhBVkVfU0xDVVJTRVNfSCkgJiYgIWRlZmluZWQoSEFWRV9TTEFOR19TTENVUlNFU19IKSAmJiBcCisgICAgZGVmaW5lZChIQVZFX0xJQk5DVVJTRVNXKSAmJiBkZWZpbmVkKEhBVkVfV0lERUNIQVIpCisJCWlmIChnZXRfd2NoKCZjKSA9PSBFUlIpIHsKKyNlbHNlCisJCWlmICgoYyA9IGdldGNoKCkpID09ICh3aW50X3QpIEVSUikgeworI2VuZGlmCisJCQlpZiAoc2lnX2RpZSkKKwkJCQlicmVhazsKKwkJCWlmIChzaWdfcmVzaXplKSB7CisJCQkJcmVzaXplKCk7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoIWlzYXR0eShTVERJTl9GSUxFTk8pKQorCQkJCWV4aXQoMik7CisJCQllbHNlCisJCQkJZ290byBkb25lOworCQl9CisKKwkJREJHKFVJLCB1bF9kZWJ1ZygidWkgZ2V0IHN0cmluZzoga2V5PSVsYyIsIGMpKTsKKworCQlpZiAoYyA9PSAnXHInIHx8IGMgPT0gJ1xuJyB8fCBjID09IEtFWV9FTlRFUikKKwkJCWJyZWFrOworCisJCXJjID0gMTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSBLRVlfRVNDOgorCQkJcmMgPSAtQ0ZESVNLX0VSUl9FU0M7CisJCQlnb3RvIGRvbmU7CisJCWNhc2UgS0VZX0xFRlQ6CisJCQlyYyA9IG1ic19lZGl0X2dvdG8oZWRpdCwgTUJTX0VESVRfTEVGVCk7CisJCQlicmVhazsKKwkJY2FzZSBLRVlfUklHSFQ6CisJCQlyYyA9IG1ic19lZGl0X2dvdG8oZWRpdCwgTUJTX0VESVRfUklHSFQpOworCQkJYnJlYWs7CisJCWNhc2UgS0VZX0VORDoKKwkJCXJjID0gbWJzX2VkaXRfZ290byhlZGl0LCBNQlNfRURJVF9FTkQpOworCQkJYnJlYWs7CisJCWNhc2UgS0VZX0hPTUU6CisJCQlyYyA9IG1ic19lZGl0X2dvdG8oZWRpdCwgTUJTX0VESVRfSE9NRSk7CisJCQlicmVhazsKKwkJY2FzZSBLRVlfVVA6CisJCWNhc2UgS0VZX0RPV046CisJCQlicmVhazsKKwkJY2FzZSBLRVlfREM6CisJCQlyYyA9IG1ic19lZGl0X2RlbGV0ZShlZGl0KTsKKwkJCWJyZWFrOworCQljYXNlICdcYic6CisJCWNhc2UgS0VZX0RFTEVURToKKwkJY2FzZSBLRVlfQkFDS1NQQUNFOgorCQkJcmMgPSBtYnNfZWRpdF9iYWNrc3BhY2UoZWRpdCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJjID0gbWJzX2VkaXRfaW5zZXJ0KGVkaXQsIGMpOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKHJjID09IDEpCisJCQliZWVwKCk7CisJfQorCisJaWYgKHNpZ19kaWUpCisJCWRpZV9vbl9zaWduYWwoKTsKKworCXJjID0gc3RybGVuKGVkaXQtPmJ1Zik7CQkvKiBzdWNjZXNzICovCitkb25lOgorCW1vdmUobG4sIDApOworCWNscnRvZW9sKCk7CisJY3Vyc19zZXQoMCk7CisJcmVmcmVzaCgpOworCW1ic19mcmVlX2VkaXQoZWRpdCk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdWlfZ2V0X3NpemUoc3RydWN0IGNmZGlzayAqY2YsCS8qIGNvbnRleHQgKi8KKwkJICAgICAgIGNvbnN0IGNoYXIgKnByb21wdCwJLyogVUkgZGlhbG9nIHN0cmluZyAqLworCQkgICAgICAgdWludDY0X3QgKnJlcywJCS8qIHJlc3VsdCBpbiBieXRlcyAqLworCQkgICAgICAgdWludDY0X3QgbG93LAkJLyogbWluaW1hbCBzaXplICovCisJCSAgICAgICB1aW50NjRfdCB1cCwJCS8qIG1heGltYWwgc2l6ZSAqLworCQkgICAgICAgaW50ICpleHBzaXplKQkJLyogZXhwbGljaXRseSBzcGVjaWZpZWQgc2l6ZSAqLworeworCWNoYXIgYnVmWzEyOF07CisJdWludDY0X3QgdXNlciA9IDA7CisJc3NpemVfdCByYzsKKwljaGFyICpkZmx0ID0gc2l6ZV90b19odW1hbl9zdHJpbmcoMCwgKnJlcyk7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJnZXRfc2l6ZSAoZGVmYXVsdD0lIlBSSXU2NCIpIiwgKnJlcykpOworCisJdWlfY2xlYW5faW5mbygpOworCisJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVzIiwgZGZsdCk7CisKKwlkbyB7CisJCWludCBwd3IgPSAwLCBpbnNlYyA9IDA7CisKKwkJcmMgPSB1aV9nZXRfc3RyaW5nKHByb21wdCwKKwkJCQlfKCJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsICIKKwkJCQkgICJUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIiksCisJCQkJYnVmLCBzaXplb2YoYnVmKSk7CisJCXVpX2NsZWFuX3dhcm4oKTsKKworCQlpZiAocmMgPT0gMCkgeworCQkJdWlfd2FybngoXygiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIikpOworCQkJY29udGludWU7CQkJLyogbm90aGluZyBzcGVjaWZpZWQgKi8KKwkJfSBlbHNlIGlmIChyYyA9PSAtQ0ZESVNLX0VSUl9FU0MpCisJCQlicmVhazsJCQkJLyogY2FuY2VsIGRpYWxvZyAqLworCisJCWlmIChzdHJjbXAoYnVmLCBkZmx0KSA9PSAwKQorCQkJdXNlciA9ICpyZXMsIHJjID0gMDsJCS8qIG5vIGNoYW5nZSwgdXNlIGRlZmF1bHQgKi8KKwkJZWxzZSB7CisJCQlzaXplX3QgbGVuID0gc3RybGVuKGJ1Zik7CisJCQlpZiAoYnVmW2xlbiAtIDFdID09ICdTJyB8fCBidWZbbGVuIC0gMV0gPT0gJ3MnKSB7CisJCQkJaW5zZWMgPSAxOworCQkJCWJ1ZltsZW4gLSAxXSA9ICdcMCc7CisJCQl9CisJCQlyYyA9IHBhcnNlX3NpemUoYnVmLCAodWludG1heF90ICopJnVzZXIsICZwd3IpOwkvKiBwYXJzZSAqLworCQl9CisKKwkJaWYgKHJjID09IDApIHsKKwkJCURCRyhVSSwgdWxfZGVidWcoImdldF9zaXplIHVzZXI9JSJQUkl1NjQiLCBwb3dlcj0lZCwgaW4tc2VjdG9ycz0lcyIsCisJCQkJCQl1c2VyLCBwd3IsIGluc2VjID8gInllcyIgOiAibm8iKSk7CisJCQlpZiAoaW5zZWMpCisJCQkJdXNlciAqPSBmZGlza19nZXRfc2VjdG9yX3NpemUoY2YtPmN4dCk7CisJCQlpZiAodXNlciA8IGxvdykgeworCQkJCXVpX3dhcm54KF8oIk1pbmltdW0gc2l6ZSBpcyAlIlBSSXU2NCIgYnl0ZXMuIiksIGxvdyk7CisJCQkJcmMgPSAtRVJBTkdFOworCQkJfQorCQkJaWYgKHVzZXIgPiB1cCAmJiBwd3IgJiYgdXNlciA8IHVwICsgKDFVTEwgPDwgcHdyICogMTApKQorCQkJCS8qIGlnbm9yZSB3aGVuIHRoZSB1c2VyIHNwZWNpZmllZCBzaXplIG92ZXJmbG93CisJCQkJICogd2l0aCBpbiByYW5nZSBzcGVjaWZpZWQgYnkgc3VmZml4IChlLmcuIE1pQikgKi8KKwkJCQl1c2VyID0gdXA7CisKKwkJCWlmICh1c2VyID4gdXApIHsKKwkJCQl1aV93YXJueChfKCJNYXhpbXVtIHNpemUgaXMgJSJQUkl1NjQiIGJ5dGVzLiIpLCB1cCk7CisJCQkJcmMgPSAtRVJBTkdFOworCQkJfQorCQkJaWYgKHJjID09IDAgJiYgaW5zZWMgJiYgZXhwc2l6ZSkKKwkJCQkqZXhwc2l6ZSA9IDE7CisKKwkJfSBlbHNlCisJCQl1aV93YXJueChfKCJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iKSk7CisJfSB3aGlsZSAocmMgIT0gMCk7CisKKwlpZiAocmMgPT0gMCkKKwkJKnJlcyA9IHVzZXI7CisJZnJlZShkZmx0KTsKKworCURCRyhVSSwgdWxfZGVidWcoImdldF9zaXplIChyZXN1bHQ9JSJQUkl1NjQiLCByYz0lemQpIiwgKnJlcywgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnVpX2dldF9wYXJ0dHlwZShzdHJ1Y3QgY2ZkaXNrICpjZiwKKwkJCQkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICpjdXIpCit7CisJc3RydWN0IGNmZGlza19tZW51aXRlbSAqZCwgKmNtOworCXNpemVfdCBpID0gMCwgbml0ZW1zLCBpZHggPSAwOworCXN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCA9IE5VTEw7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKwlpbnQgY29kZXR5cGVzID0gMDsKKworCURCRyhVSSwgdWxfZGVidWcoImFza2luZyBmb3IgcGFydHR5cGUuIikpOworCisJbGIgPSBmZGlza19nZXRfbGFiZWwoY2YtPmN4dCwgTlVMTCk7CisKKwkvKiBjcmVhdGUgY2ZkaXNrIG1lbnUgYWNjb3JkaW5nIHRvIGxhYmVsIHR5cGVzLCBub3RlIHRoYXQgdGhlCisJICogbGFzdCBjbVtdIGl0ZW0gaGFzIHRvIGJlIGVtcHR5IC0tIHNvIG5pdGVtcyArIDEgKi8KKwluaXRlbXMgPSBmZGlza19sYWJlbF9nZXRfbnBhcnR0eXBlcyhsYik7CisJaWYgKCFuaXRlbXMpCisJCXJldHVybiBOVUxMOworCisJY20gPSB4Y2FsbG9jKG5pdGVtcyArIDEsIHNpemVvZihzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtKSk7CisJaWYgKCFjbSkKKwkJcmV0dXJuIE5VTEw7CisKKwljb2RldHlwZXMgPSBmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXMobGIpOworCisJZm9yIChpID0gMDsgaSA8IG5pdGVtczsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqeCA9IGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZShsYiwgaSk7CisJCWNoYXIgKm5hbWU7CisKKwkJY21baV0udXNlcmRhdGEgPSAodm9pZCAqKSB4OworCQlpZiAoY29kZXR5cGVzKQorCQkJeGFzcHJpbnRmKCZuYW1lLCAiJTJ4ICVzIiwKKwkJCQlmZGlza19wYXJ0dHlwZV9nZXRfY29kZSh4KSwKKwkJCQlfKGZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHgpKSk7CisJCWVsc2UgeworCQkJbmFtZSA9IChjaGFyICopIF8oZmRpc2tfcGFydHR5cGVfZ2V0X25hbWUoeCkpOworCQkJY21baV0uZGVzYyA9IGZkaXNrX3BhcnR0eXBlX2dldF9zdHJpbmcoeCk7CisJCX0KKwkJY21baV0ubmFtZSA9IG5hbWU7CisJCWlmICh4ID09IGN1cikKKwkJCWlkeCA9IGk7CisJfQorCisJLyogbWFrZSB0aGUgbmV3IG1lbnUgYWN0aXZlICovCisJbWVudV9wdXNoKGNmLCBjbSk7CisJY2YtPm1lbnUtPnZlcnRpY2FsID0gMTsKKwljZi0+bWVudS0+aWR4ID0gaWR4OworCW1lbnVfc2V0X3RpdGxlKGNmLT5tZW51LCBfKCJTZWxlY3QgcGFydGl0aW9uIHR5cGUiKSk7CisJdWlfZHJhd19tZW51KGNmKTsKKwlyZWZyZXNoKCk7CisKKwl3aGlsZSAoIXNpZ19kaWUpIHsKKwkJaW50IGtleSA9IGdldGNoKCk7CisKKwkJaWYgKHNpZ19kaWUpCisJCQlicmVhazsKKwkJaWYgKHNpZ19yZXNpemUpCisJCQl1aV9tZW51X3Jlc2l6ZShjZik7CisJCWlmICh1aV9tZW51X21vdmUoY2YsIGtleSkgPT0gMCkKKwkJCWNvbnRpbnVlOworCisJCXN3aXRjaCAoa2V5KSB7CisJCWNhc2UgS0VZX0VOVEVSOgorCQljYXNlICdcbic6CisJCWNhc2UgJ1xyJzoKKwkJCWQgPSBtZW51X2dldF9tZW51aXRlbShjZiwgY2YtPm1lbnUtPmlkeCk7CisJCQlpZiAoZCkKKwkJCQl0ID0gKHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqKSBkLT51c2VyZGF0YTsKKwkJCWdvdG8gZG9uZTsKKwkJY2FzZSBLRVlfRVNDOgorCQljYXNlICdxJzoKKwkJY2FzZSAnUSc6CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwlpZiAoc2lnX2RpZSkKKwkJZGllX29uX3NpZ25hbCgpOworZG9uZToKKwltZW51X3BvcChjZik7CisJaWYgKGNvZGV0eXBlcykgeworCQlmb3IgKGkgPSAwOyBpIDwgbml0ZW1zOyBpKyspCisJCQlmcmVlKChjaGFyICopIGNtW2ldLm5hbWUpOworCX0KKwlmcmVlKGNtKTsKKwlEQkcoVUksIHVsX2RlYnVnKCJnZXQgcGFycnR5cGUgZG9uZSBbdHlwZT0lc10gIiwgdCA/CisJCQkJZmRpc2tfcGFydHR5cGVfZ2V0X25hbWUodCkgOiBOVUxMKSk7CisJcmV0dXJuIHQ7Cit9CisKK3N0YXRpYyBpbnQgdWlfc2NyaXB0X3JlYWQoc3RydWN0IGNmZGlzayAqY2YpCit7CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqc2MgPSBOVUxMOworCWNoYXIgYnVmW1BBVEhfTUFYXSA9IHsgMCB9OworCWludCByYzsKKworCWVyYXNlKCk7CisJcmMgPSB1aV9nZXRfc3RyaW5nKAlfKCJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiKSwKKwkJCQlfKCJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIiksCisJCQkJYnVmLCBzaXplb2YoYnVmKSk7CisJaWYgKHJjIDw9IDApCisJCXJldHVybiByYzsKKworCXJjID0gLTE7CisJZXJybm8gPSAwOworCXNjID0gZmRpc2tfbmV3X3NjcmlwdF9mcm9tX2ZpbGUoY2YtPmN4dCwgYnVmKTsKKwlpZiAoIXNjICYmIGVycm5vKQorCQl1aV93YXJuKF8oIkNhbm5vdCBvcGVuICVzIiksIGJ1Zik7CisJZWxzZSBpZiAoIXNjKQorCQl1aV93YXJueChfKCJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiKSwgYnVmKTsKKwllbHNlIGlmIChmZGlza19hcHBseV9zY3JpcHQoY2YtPmN4dCwgc2MpICE9IDApCisJCXVpX3dhcm54KF8oIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiKSwgYnVmKTsKKwllbHNlCisJCXJjID0gMDsKKworCXVpX2NsZWFuX2hpbnQoKTsKKwlmZGlza191bnJlZl9zY3JpcHQoc2MpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB1aV9zY3JpcHRfd3JpdGUoc3RydWN0IGNmZGlzayAqY2YpCit7CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqc2MgPSBOVUxMOworCWNoYXIgYnVmW1BBVEhfTUFYXSA9IHsgMCB9OworCUZJTEUgKmYgPSBOVUxMOworCWludCByYzsKKworCXJjID0gdWlfZ2V0X3N0cmluZygJXygiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIiksCisJCQkJXygiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iKSwKKwkJCQlidWYsIHNpemVvZihidWYpKTsKKwlpZiAocmMgPD0gMCkKKwkJcmV0dXJuIHJjOworCisJcmMgPSAwOworCXNjID0gZmRpc2tfbmV3X3NjcmlwdChjZi0+Y3h0KTsKKwlpZiAoIXNjKSB7CisJCXVpX3dhcm4oXygiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJcmMgPSBmZGlza19zY3JpcHRfcmVhZF9jb250ZXh0KHNjLCBOVUxMKTsKKwlpZiAocmMpIHsKKwkJdWlfd2FybngoXygiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJREJHKFVJLCB1bF9kZWJ1Zygid3JpdGluZyBkdW1wIGludG86ICclcyciLCBidWYpKTsKKwlmID0gZm9wZW4oYnVmLCAidyIpOworCWlmICghZikgeworCQl1aV93YXJuKF8oIkNhbm5vdCBvcGVuICVzIiksIGJ1Zik7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCisJcmMgPSBmZGlza19zY3JpcHRfd3JpdGVfZmlsZShzYywgZik7CisJaWYgKCFyYykKKwkJdWlfaW5mbyhfKCJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIpKTsKK2RvbmU6CisJaWYgKHJjKQorCQl1aV93YXJuKF8oIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiKSwgYnVmKTsKKwlpZiAoZikKKwkJZmNsb3NlKGYpOworCWZkaXNrX3VucmVmX3NjcmlwdChzYyk7CisJcmV0dXJuIHJjOworfQorCisvKiBwcmludHMgbWVudSB3aXRoIGxpYmZkaXNrIGxhYmVscyBhbmQgd2FpdHMgZm9yIHVzZXJzIHJlc3BvbnNlICovCitzdGF0aWMgaW50IHVpX2NyZWF0ZV9sYWJlbChzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtICpkLCAqY207CisJaW50IHJjID0gMSwgcmVmcmVzaF9tZW51ID0gMTsKKwlzaXplX3QgaSA9IDAsIG5pdGVtczsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiID0gTlVMTDsKKworCWFzc2VydChjZik7CisKKwlEQkcoVUksIHVsX2RlYnVnKCJhc2tpbmcgZm9yIG5ldyBkaXNrbGFiZS4iKSk7CisKKwkvKiBjcmVhdGUgY2ZkaXNrIG1lbnUgYWNjb3JkaW5nIHRvIGxpYmZkaXNrIGxhYmVscywgbm90ZSB0aGF0IHRoZQorCSAqIGxhc3QgY21bXSBpdGVtIGhhcyB0byBiZSBlbXB0eSAtLSBzbyBuaXRlbXMgKyAxICovCisJbml0ZW1zID0gZmRpc2tfZ2V0X25sYWJlbHMoY2YtPmN4dCk7CisJY20gPSB4Y2FsbG9jKG5pdGVtcyArIDEsIHNpemVvZihzdHJ1Y3QgY2ZkaXNrX21lbnVpdGVtKSk7CisKKwl3aGlsZSAoZmRpc2tfbmV4dF9sYWJlbChjZi0+Y3h0LCAmbGIpID09IDApIHsKKwkJaWYgKGZkaXNrX2xhYmVsX2lzX2Rpc2FibGVkKGxiKSB8fAorCQkgICAgZmRpc2tfbGFiZWxfZ2V0X3R5cGUobGIpID09IEZESVNLX0RJU0tMQUJFTF9CU0QpCisJCQljb250aW51ZTsKKwkJY21baSsrXS5uYW1lID0gZmRpc2tfbGFiZWxfZ2V0X25hbWUobGIpOworCX0KKworCWVyYXNlKCk7CisKKwkvKiBtYWtlIHRoZSBuZXcgbWVudSBhY3RpdmUgKi8KKwltZW51X3B1c2goY2YsIGNtKTsKKwljZi0+bWVudS0+dmVydGljYWwgPSAxOworCW1lbnVfc2V0X3RpdGxlKGNmLT5tZW51LCBfKCJTZWxlY3QgbGFiZWwgdHlwZSIpKTsKKworCWlmICghY2YtPnplcm9fc3RhcnQpCisJCXVpX2luZm8oXygiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iKSk7CisKKworCXdoaWxlICghc2lnX2RpZSkgeworCQlpbnQga2V5OworCisJCWlmIChyZWZyZXNoX21lbnUpIHsKKwkJCXVpX2RyYXdfbWVudShjZik7CisJCQl1aV9oaW50KF8oIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIpKTsKKwkJCXJlZnJlc2goKTsKKwkJCXJlZnJlc2hfbWVudSA9IDA7CisJCX0KKworCQlrZXkgPSBnZXRjaCgpOworCisJCWlmIChzaWdfZGllKQorCQkJYnJlYWs7CisJCWlmIChzaWdfcmVzaXplKQorCQkJdWlfbWVudV9yZXNpemUoY2YpOworCQlpZiAodWlfbWVudV9tb3ZlKGNmLCBrZXkpID09IDApCisJCQljb250aW51ZTsKKwkJc3dpdGNoIChrZXkpIHsKKwkJY2FzZSBLRVlfRU5URVI6CisJCWNhc2UgJ1xuJzoKKwkJY2FzZSAnXHInOgorCQkJZCA9IG1lbnVfZ2V0X21lbnVpdGVtKGNmLCBjZi0+bWVudS0+aWR4KTsKKwkJCWlmIChkKQorCQkJCXJjID0gZmRpc2tfY3JlYXRlX2Rpc2tsYWJlbChjZi0+Y3h0LCBkLT5uYW1lKTsKKwkJCWdvdG8gZG9uZTsKKwkJY2FzZSBLRVlfRVNDOgorCQljYXNlICdxJzoKKwkJY2FzZSAnUSc6CisJCQlnb3RvIGRvbmU7CisJCWNhc2UgJ2wnOgorCQljYXNlICdMJzoKKwkJCXJjID0gdWlfc2NyaXB0X3JlYWQoY2YpOworCQkJaWYgKHJjID09IDApCisJCQkJZ290byBkb25lOworCQkJcmVmcmVzaF9tZW51ID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKHNpZ19kaWUpCisJCWRpZV9vbl9zaWduYWwoKTsKK2RvbmU6CisJbWVudV9wb3AoY2YpOworCWZyZWUoY20pOworCURCRyhVSSwgdWxfZGVidWcoImNyZWF0ZSBsYWJlbCBkb25lIFtyYz0lZF0gIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKworc3RhdGljIGludCB1aV9oZWxwKHZvaWQpCit7CisJc2l6ZV90IGk7CisJc3RhdGljIGNvbnN0IGNoYXIgKmhlbHBbXSA9IHsKKwkJTl8oIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIpLAorCQlOXygiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iKSwKKwkJIiAgIiwKKwkJTl8oIkNvbW1hbmQgICAgICBNZWFuaW5nIiksCisJCU5fKCItLS0tLS0tICAgICAgLS0tLS0tLSIpLAorCQlOXygiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIpLAorCQlOXygiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iKSwKKwkJTl8oIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIpLAorCQlOXygiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIpLAorCQlOXygiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIiksCisJCU5fKCIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiKSwKKwkJTl8oIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIiksCisJCU5fKCIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIpLAorCQlOXygiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IiksCisJCU5fKCIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIiksCisJCU5fKCIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciKSwKKwkJTl8oIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iKSwKKwkJTl8oIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIiksCisJCU5fKCJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIiksCisJCU5fKCJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIpLAorCQlOXygiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIpLAorCQkiICAiLAorCQlOXygiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIpLAorCQlOXygiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iKSwKKwkJIiAgIiwKKwkJTl8oIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIiksCisJCSIgICIsCisJCSIgICIsCisJCSJDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4iCisJfTsKKworCWVyYXNlKCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaGVscCk7IGkrKykKKwkJbXZhZGRzdHIoaSwgMSwgXyhoZWxwW2ldKSk7CisKKwl1aV9pbmZvKF8oIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIpKTsKKworCWdldGNoKCk7CisKKwlpZiAoc2lnX2RpZSkKKwkJZGllX29uX3NpZ25hbCgpOworCXJldHVybiAwOworfQorCisvKiBUT0RPOiB1c2UgQHN6LCBub3cgMTI4Ynl0ZXMgKi8KK3N0YXRpYyBpbnQgbWFpbl9tZW51X2lnbm9yZV9rZXlzKHN0cnVjdCBjZmRpc2sgKmNmLCBjaGFyICppZ25vcmUsCisJCXNpemVfdCBzeiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBnZXRfY3VycmVudF9wYXJ0aXRpb24oY2YpOworCXNpemVfdCBpID0gMDsKKworCWlmICghcGEpCisJCXJldHVybiAwOworCWlmIChmZGlza19wYXJ0aXRpb25faXNfZnJlZXNwYWNlKHBhKSkgeworCQlpZ25vcmVbaSsrXSA9ICdkJzsJLyogZGVsZXRlICovCisJCWlnbm9yZVtpKytdID0gJ3QnOwkvKiBzZXQgdHlwZSAqLworCQlpZ25vcmVbaSsrXSA9ICdiJzsgICAgICAvKiBzZXQgYm9vdGFibGUgKi8KKwkJaWdub3JlW2krK10gPSAncic7CS8qIHJlc2l6ZSAqLworCQljZi0+bWVudS0+cHJlZmtleSA9ICduJzsKKwl9IGVsc2UgeworCQljZi0+bWVudS0+cHJlZmtleSA9ICdxJzsKKwkJaWdub3JlW2krK10gPSAnbic7CisJCWlmICghZmRpc2tfaXNfbGFiZWwoY2YtPmN4dCwgRE9TKSAmJgorCQkgICAgIWZkaXNrX2lzX2xhYmVsKGNmLT5jeHQsIFNHSSkpCisJCQlpZ25vcmVbaSsrXSA9ICdiJzsKKwl9CisKKwlpZiAoIWNmLT53cm9uZ19vcmRlcikKKwkJaWdub3JlW2krK10gPSAncyc7CisKKwlpZiAoZmRpc2tfaXNfcmVhZG9ubHkoY2YtPmN4dCkpCisJCWlnbm9yZVtpKytdID0gJ1cnOworCisJcmV0dXJuIGk7Cit9CisKKworLyogcmV0dXJuczogZXJyb3I6IDwgMCwgc3VjY2VzczogMCwgcXVpdDogMSAqLworc3RhdGljIGludCBtYWluX21lbnVfYWN0aW9uKHN0cnVjdCBjZmRpc2sgKmNmLCBpbnQga2V5KQoreworCXNpemVfdCBuOworCWludCByZWYgPSAwLCByYywgb3JnX29yZGVyID0gY2YtPndyb25nX29yZGVyOworCWNvbnN0IGNoYXIgKmluZm8gPSBOVUxMLCAqd2FybiA9IE5VTEw7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisKKwlhc3NlcnQoY2YpOworCWFzc2VydChjZi0+Y3h0KTsKKwlhc3NlcnQoY2YtPm1lbnUpOworCisJaWYgKGtleSA9PSAwKSB7CisJCXN0cnVjdCBjZmRpc2tfbWVudWl0ZW0gKmQgPSBtZW51X2dldF9tZW51aXRlbShjZiwgY2YtPm1lbnUtPmlkeCk7CisJCWlmICghZCkKKwkJCXJldHVybiAwOworCQlrZXkgPSBkLT5rZXk7CisKKwl9IGVsc2UgaWYgKGtleSAhPSAndycgJiYga2V5ICE9ICdXJykKKwkJa2V5ID0gdG9sb3dlcihrZXkpOwkvKiBjYXNlIGluc2Vuc2l0aXZlIGV4Y2VwdCAnVydyaXRlICovCisKKwlEQkcoTUVOVSwgdWxfZGVidWcoIm1haW4gbWVudSBhY3Rpb246IGtleT0lYyIsIGtleSkpOworCisJaWYgKGNmLT5tZW51LT5pZ25vcmUgJiYgc3RyY2hyKGNmLT5tZW51LT5pZ25vcmUsIGtleSkpIHsKKwkJREJHKE1FTlUsIHVsX2RlYnVnKCIgIGlnbm9yZSAnJWMnIiwga2V5KSk7CisJCXJldHVybiAwOworCX0KKworCXBhID0gZ2V0X2N1cnJlbnRfcGFydGl0aW9uKGNmKTsKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwluID0gZmRpc2tfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGEpOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJtZW51IGFjdGlvbiBvbiAlcCIsIHBhKSk7CisJdWlfY2xlYW5faGludCgpOworCXVpX2NsZWFuX2luZm8oKTsKKworCXN3aXRjaCAoa2V5KSB7CisJY2FzZSAnYic6IC8qIEJvb3RhYmxlIGZsYWcgKi8KKwl7CisJCWludCBmbCA9IGZkaXNrX2lzX2xhYmVsKGNmLT5jeHQsIERPUykgPyBET1NfRkxBR19BQ1RJVkUgOgorCQkJIGZkaXNrX2lzX2xhYmVsKGNmLT5jeHQsIFNHSSkgPyBTR0lfRkxBR19CT09UIDogMDsKKworCQlpZiAoZmwgJiYgZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKGNmLT5jeHQsIG4sIGZsKSkKKwkJCXdhcm4gPSBfKCJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIpOworCQllbHNlIGlmIChmbCkKKwkJCXJlZiA9IDE7CisJCWJyZWFrOworCX0KKyNpZmRlZiBLRVlfREMKKwljYXNlIEtFWV9EQzoKKyNlbmRpZgorCWNhc2UgJ2QnOiAvKiBEZWxldGUgKi8KKwkJaWYgKGZkaXNrX2RlbGV0ZV9wYXJ0aXRpb24oY2YtPmN4dCwgbikgIT0gMCkKKwkJCXdhcm4gPSBfKCJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIik7CisJCWVsc2UKKwkJCWluZm8gPSBfKCJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIik7CisJCXJlZiA9IDE7CisJCWJyZWFrOworCWNhc2UgJ2gnOiAvKiBIZWxwICovCisJY2FzZSAnPyc6CisJCXVpX2hlbHAoKTsKKwkJcmVmID0gMTsKKwkJYnJlYWs7CisJY2FzZSAnbic6IC8qIE5ldyAqLworCXsKKwkJdWludDY0X3Qgc3RhcnQsIHNpemUsIGRmbHRfc2l6ZSwgc2VjcywgbWF4X3NpemU7CisJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKm5wYTsJLyogdGhlIG5ldyBwYXJ0aXRpb24gKi8KKwkJaW50IGV4cHNpemUgPSAwOwkJLyogc2l6ZSBzcGVjaWZpZWQgZXhwbGljaXRseSBpbiBzZWN0b3JzICovCisKKwkJaWYgKCFmZGlza19wYXJ0aXRpb25faXNfZnJlZXNwYWNlKHBhKSB8fCAhZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQkvKiBmcmVlIHNwYWNlIHJhbmdlICovCisJCXN0YXJ0ID0gZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSk7CisJCXNpemUgPSBtYXhfc2l6ZSA9IGRmbHRfc2l6ZSA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSkgKiBmZGlza19nZXRfc2VjdG9yX3NpemUoY2YtPmN4dCk7CisKKwkJaWYgKHVpX2dldF9zaXplKGNmLCBfKCJQYXJ0aXRpb24gc2l6ZTogIiksICZzaXplLAorCQkJCWZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjZi0+Y3h0KSwKKwkJCQltYXhfc2l6ZSwgJmV4cHNpemUpID09IC1DRkRJU0tfRVJSX0VTQykKKwkJCWJyZWFrOworCisJCXNlY3MgPSBzaXplIC8gZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGNmLT5jeHQpOworCisJCW5wYSA9IGZkaXNrX25ld19wYXJ0aXRpb24oKTsKKwkJaWYgKCFucGEpCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQlpZiAoZGZsdF9zaXplID09IHNpemUpCS8qIGRlZmF1bHQgaXMgdG8gZmlsbGluIGFsbCBmcmVlIHNwYWNlICovCisJCQlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KG5wYSwgMSk7CisJCWVsc2UKKwkJCWZkaXNrX3BhcnRpdGlvbl9zZXRfc2l6ZShucGEsIHNlY3MpOworCisJCWlmIChleHBzaXplKQorCQkJZmRpc2tfcGFydGl0aW9uX3NpemVfZXhwbGljaXQocGEsIDEpOworCisJCWZkaXNrX3BhcnRpdGlvbl9zZXRfc3RhcnQobnBhLCBzdGFydCk7CisJCWZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQobnBhLCAxKTsKKwkJLyogYWRkIHRvIGRpc2sgbGFiZWwgLS0gbGliZmRpc2sgd2lsbCBhc2sgZm9yIG1pc3NpbmcgZGV0YWlscyAqLworCQlyYyA9IGZkaXNrX2FkZF9wYXJ0aXRpb24oY2YtPmN4dCwgbnBhLCBOVUxMKTsKKwkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKG5wYSk7CisJCWlmIChyYyA9PSAwKQorCQkJcmVmID0gMTsKKwkJYnJlYWs7CisJfQorCWNhc2UgJ3EnOiAvKiBRdWl0ICovCisJCXJldHVybiAxOworCWNhc2UgJ3QnOiAvKiBUeXBlICovCisJeworCQlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQ7CisKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2UocGEpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCXQgPSAoc3RydWN0IGZkaXNrX3BhcnR0eXBlICopIGZkaXNrX3BhcnRpdGlvbl9nZXRfdHlwZShwYSk7CisJCXQgPSB1aV9nZXRfcGFydHR5cGUoY2YsIHQpOworCQlyZWYgPSAxOworCisJCWlmICh0ICYmIGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZShjZi0+Y3h0LCBuLCB0KSA9PSAwKQorCQkJaW5mbyA9IF8oIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIpOworCQllbHNlCisJCQlpbmZvID0gXygiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIik7CisJCWJyZWFrOworCX0KKwljYXNlICdyJzogLyogcmVzaXplICovCisJeworCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpucGEsICpuZXh0OworCQl1aW50NjRfdCBzaXplLCBtYXhfc2l6ZSwgc2VjczsKKworCQlpZiAoZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShwYSkgfHwgIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJc2l6ZSA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSk7CisKKwkJLyogaXMgdGhlIG5leHQgZnJlZXNwYWNlPyAqLworCQluZXh0ID0gZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbihjZi0+dGFibGUsIGNmLT5saW5lc19pZHggKyAxKTsKKwkJaWYgKG5leHQgJiYgZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShuZXh0KSkKKwkJCXNpemUgKz0gZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKG5leHQpOworCisJCXNpemUgKj0gZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGNmLT5jeHQpOworCQltYXhfc2l6ZSA9IHNpemU7CisKKwkJaWYgKHVpX2dldF9zaXplKGNmLCBfKCJOZXcgc2l6ZTogIiksICZzaXplLAorCQkJCWZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjZi0+Y3h0KSwKKwkJCQltYXhfc2l6ZSwgTlVMTCkgPT0gLUNGRElTS19FUlJfRVNDKQorCQkJYnJlYWs7CisJCXNlY3MgPSBzaXplIC8gZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGNmLT5jeHQpOworCQlucGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CisJCWlmICghbnBhKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJZmRpc2tfcGFydGl0aW9uX3NldF9zaXplKG5wYSwgc2Vjcyk7CisKKwkJcmMgPSBmZGlza19zZXRfcGFydGl0aW9uKGNmLT5jeHQsIG4sIG5wYSk7CisJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihucGEpOworCQlpZiAocmMgPT0gMCkgeworCQkJcmVmID0gMTsKKwkJCWluZm8gPSBfKCJQYXJ0aXRpb24gJXp1IHJlc2l6ZWQuIik7CisJCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgJ3MnOiAvKiBTb3J0ICovCisJCWlmIChjZi0+d3Jvbmdfb3JkZXIpIHsKKwkJCWZkaXNrX3Jlb3JkZXJfcGFydGl0aW9ucyhjZi0+Y3h0KTsKKwkJCXJlZiA9IDE7CisJCX0KKwkJYnJlYWs7CisJY2FzZSAndSc6IC8qIGRVbXAgKi8KKwkJdWlfc2NyaXB0X3dyaXRlKGNmKTsKKwkJYnJlYWs7CisJY2FzZSAnVyc6IC8qIFdyaXRlICovCisJeworCQljaGFyIGJ1Zls2NF0gPSB7IDAgfTsKKworCQlpZiAoZmRpc2tfaXNfcmVhZG9ubHkoY2YtPmN4dCkpIHsKKwkJCXdhcm4gPSBfKCJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iKTsKKwkJCWJyZWFrOworCQl9CisKKwkJcmMgPSB1aV9nZXRfc3RyaW5nKAorCQkJICBfKCJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gd3JpdGUgdGhlIHBhcnRpdGlvbiAiCisJCQkgICAgInRhYmxlIHRvIGRpc2s/ICIpLAorCQkJICBfKCJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIiksCisJCQkgIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJCXJlZiA9IDE7CisJCWlmIChyYyA8PSAwIHx8IChzdHJjYXNlY21wKGJ1ZiwgInllcyIpICE9IDAgJiYKKwkJCQlzdHJjYXNlY21wKGJ1ZiwgXygieWVzIikpICE9IDApKSB7CisJCQlpbmZvID0gXygiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iKTsKKwkJCWJyZWFrOworCQl9CisJCXJjID0gZmRpc2tfd3JpdGVfZGlza2xhYmVsKGNmLT5jeHQpOworCQlpZiAocmMpCisJCQl3YXJuID0gXygiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iKTsKKwkJZWxzZSB7CisJCQlpZiAoY2YtPmRldmljZV9pc191c2VkKQorCQkJCWZkaXNrX3JlcmVhZF9jaGFuZ2VzKGNmLT5jeHQsIGNmLT5vcmlnaW5hbF9sYXlvdXQpOworCQkJZWxzZQorCQkJCWZkaXNrX3JlcmVhZF9wYXJ0aXRpb25fdGFibGUoY2YtPmN4dCk7CisJCQlpbmZvID0gXygiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIpOworCQl9CisJCWNmLT5ud3JpdGVzKys7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlpZiAocmVmKSB7CisJCWxpbmVzX3JlZnJlc2goY2YpOworCQl1aV9yZWZyZXNoKGNmKTsKKwkJdWlfZHJhd19leHRyYShjZik7CisJfSBlbHNlCisJCXVpX2RyYXdfbWVudShjZik7CisKKwl1aV9jbGVhbl9oaW50KCk7CisKKwlpZiAod2FybikKKwkJdWlfd2Fybngod2FybiwgbiArIDEpOworCWVsc2UgaWYgKGluZm8pCisJCXVpX2luZm8oaW5mbywgbiArIDEpOworCWVsc2UgaWYgKGtleSA9PSAnbicgJiYgY2YtPndyb25nX29yZGVyICYmIG9yZ19vcmRlciA9PSAwKQorCQkgdWlfaW5mbyhfKCJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgdWlfcmVzaXplX3JlZnJlc2goc3RydWN0IGNmZGlzayAqY2YpCit7CisJREJHKFVJLCB1bF9kZWJ1ZygidWkgcmVzaXplL3JlZnJlc2giKSk7CisJcmVzaXplKCk7CisJbWVudV9yZWZyZXNoX3NpemUoY2YpOworCWxpbmVzX3JlZnJlc2goY2YpOworCXVpX3JlZnJlc2goY2YpOworCXVpX2RyYXdfZXh0cmEoY2YpOworfQorCitzdGF0aWMgdm9pZCB0b2dnbGVfc2hvd19leHRyYShzdHJ1Y3QgY2ZkaXNrICpjZikKK3sKKwlpZiAoY2YtPnNob3dfZXh0cmEgJiYgY2YtPmFjdF93aW4pIHsKKwkJd2NsZWFyKGNmLT5hY3Rfd2luKTsKKwkJdG91Y2h3aW4oc3Rkc2NyKTsKKwl9CisJY2YtPnNob3dfZXh0cmEgPSBjZi0+c2hvd19leHRyYSA/IDAgOiAxOworCisJaWYgKGNmLT5zaG93X2V4dHJhKQorCQl1aV9kcmF3X2V4dHJhKGNmKTsKKwlEQkcoTUVOVSwgdWxfZGVidWcoImV4dHJhOiAlcyIsIGNmLT5zaG93X2V4dHJhID8gIkVOQUJMRUQiIDogIkRJU0FCTEVEIiApKTsKK30KKworc3RhdGljIGludCB1aV9ydW4oc3RydWN0IGNmZGlzayAqY2YpCit7CisJaW50IHJjID0gMDsKKworCXVpX2xpbmVzID0gTElORVM7CisJdWlfY29scyA9IENPTFM7CisJREJHKFVJLCB1bF9kZWJ1Zygic3RhcnQgY29scz0lenUsIGxpbmVzPSV6dSIsIHVpX2NvbHMsIHVpX2xpbmVzKSk7CisKKwlpZiAoZmRpc2tfZ2V0X2NvbGxpc2lvbihjZi0+Y3h0KSkgeworCQl1aV93YXJueChfKCJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iKSwKKwkJCQlmZGlza19nZXRfY29sbGlzaW9uKGNmLT5jeHQpKTsKKwkJZmRpc2tfZW5hYmxlX3dpcGUoY2YtPmN4dCwgMSk7CisJCXVpX2hpbnQoXygiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIikpOworCQlnZXRjaCgpOworCX0KKworCWlmICghZmRpc2tfaGFzX2xhYmVsKGNmLT5jeHQpIHx8IGNmLT56ZXJvX3N0YXJ0KSB7CisJCXJjID0gdWlfY3JlYXRlX2xhYmVsKGNmKTsKKwkJaWYgKHJjIDwgMCkKKwkJCXVpX2VycngoRVhJVF9GQUlMVVJFLAorCQkJCQlfKCJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIpKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKworCWNvbHNfaW5pdChjZik7CisJcmMgPSBsaW5lc19yZWZyZXNoKGNmKTsKKwlpZiAocmMpCisJCXVpX2VycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIikpOworCisJbWVudV9wdXNoKGNmLCBtYWluX21lbnVpdGVtcyk7CisJY2YtPm1lbnUtPmlnbm9yZV9jYiA9IG1haW5fbWVudV9pZ25vcmVfa2V5czsKKworCXJjID0gdWlfcmVmcmVzaChjZik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwljZi0+c2hvd19leHRyYSA9IDE7CisJdWlfZHJhd19leHRyYShjZik7CisKKwlpZiAoZmRpc2tfaXNfcmVhZG9ubHkoY2YtPmN4dCkpCisJCXVpX3dhcm54KF8oIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIpKTsKKwllbHNlIGlmIChjZi0+d3Jvbmdfb3JkZXIpCisJCXVpX2luZm8oXygiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIikpOworCisJd2hpbGUgKCFzaWdfZGllKSB7CisJCWludCBrZXkgPSBnZXRjaCgpOworCisJCXJjID0gMDsKKworCQlpZiAoc2lnX2RpZSkKKwkJCWJyZWFrOworCQlpZiAoc2lnX3Jlc2l6ZSkKKwkJCS8qIE5vdGUgdGhhdCBuY3Vyc2VzIGdldGNoKCkgcmV0dXJucyBFUlIgd2hlbiBpbnRlcnJ1cHRlZAorCQkJICogYnkgc2lnbmFsLCBidXQgU0xhbmcgZG9lcyBub3QgaW50ZXJydXB0IGF0IGFsbC4gKi8KKwkJCXVpX3Jlc2l6ZV9yZWZyZXNoKGNmKTsKKwkJaWYgKGtleSA9PSBFUlIpCisJCQljb250aW51ZTsKKwkJaWYgKGtleSA9PSAnXDAxNCcpIHsJCS8qIF5MIHJlZnJlc2ggKi8KKwkJCXVpX3Jlc2l6ZV9yZWZyZXNoKGNmKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICh1aV9tZW51X21vdmUoY2YsIGtleSkgPT0gMCkKKwkJCWNvbnRpbnVlOworCisJCURCRyhVSSwgdWxfZGVidWcoIm1haW4gYWN0aW9uIGtleSA+JTEkYzwgW1xcMCUxJG9dLiIsIGtleSkpOworCisJCXN3aXRjaCAoa2V5KSB7CisJCWNhc2UgS0VZX0RPV046CisJCWNhc2UgJ1wwMTYnOgkvKiBeTiAqLworCQljYXNlICdqJzoJLyogVmktbGlrZSBhbHRlcm5hdGl2ZSAqLworCQkJdWlfdGFibGVfZ290byhjZiwgY2YtPmxpbmVzX2lkeCArIDEpOworCQkJYnJlYWs7CisJCWNhc2UgS0VZX1VQOgorCQljYXNlICdcMDIwJzoJLyogXlAgKi8KKwkJY2FzZSAnayc6CS8qIFZpLWxpa2UgYWx0ZXJuYXRpdmUgKi8KKwkJCXVpX3RhYmxlX2dvdG8oY2YsIChpbnQpIGNmLT5saW5lc19pZHggLSAxKTsKKwkJCWJyZWFrOworCQljYXNlIEtFWV9QUEFHRToKKwkJCWlmIChjZi0+cGFnZV9zeikgeworCQkJCXVpX3RhYmxlX2dvdG8oY2YsIChpbnQpIGNmLT5saW5lc19pZHggLSBjZi0+cGFnZV9zeik7CisJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCQljYXNlIEtFWV9IT01FOgorCQkJdWlfdGFibGVfZ290byhjZiwgMCk7CisJCQlicmVhazsKKwkJY2FzZSBLRVlfTlBBR0U6CisJCQlpZiAoY2YtPnBhZ2Vfc3opIHsKKwkJCQl1aV90YWJsZV9nb3RvKGNmLCBjZi0+bGluZXNfaWR4ICsgY2YtPnBhZ2Vfc3opOworCQkJCWJyZWFrOworCQkJfQorCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJY2FzZSBLRVlfRU5EOgorCQkJdWlfdGFibGVfZ290byhjZiwgKGludCkgY2YtPm5saW5lcyAtIDEpOworCQkJYnJlYWs7CisJCWNhc2UgS0VZX0VOVEVSOgorCQljYXNlICdcbic6CisJCWNhc2UgJ1xyJzoKKwkJCXJjID0gbWFpbl9tZW51X2FjdGlvbihjZiwgMCk7CisJCQlicmVhazsKKwkJY2FzZSAnWCc6CisJCWNhc2UgJ3gnOiAvKiBFeHRyYSAqLworCQkJdG9nZ2xlX3Nob3dfZXh0cmEoY2YpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyYyA9IG1haW5fbWVudV9hY3Rpb24oY2YsIGtleSk7CisJCQlpZiAocmMgPCAwKQorCQkJCWJlZXAoKTsKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKHJjID09IDEpCisJCQlicmVhazsgLyogcXVpdCAqLworCX0KKworCW1lbnVfcG9wKGNmKTsKKworCURCRyhVSSwgdWxfZGVidWcoImVuZCIpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIpLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIiwgVVNBR0VfQ09MT1JTX0RFRkFVTFQpOworCWZwdXRzKF8oIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI2KSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImNmZGlzayg4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqZGlza3BhdGggPSBOVUxMOworCWludCByYywgYywgY29sb3Jtb2RlID0gVUxfQ09MT1JNT0RFX1VOREVGOworCXN0cnVjdCBjZmRpc2sgX2NmID0geyAubGluZXNfaWR4ID0gMCB9LAorCQkgICAgICAqY2YgPSAmX2NmOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiY29sb3IiLCAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnTCcgfSwKKwkJeyAiaGVscCIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyAiemVybyIsICAgIG5vX2FyZ3VtZW50LAlOVUxMLCAneicgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0sCisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJMOjpoVnoiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdMJzoKKwkJCWNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9BVVRPOworCQkJaWYgKG9wdGFyZykKKwkJCQljb2xvcm1vZGUgPSBjb2xvcm1vZGVfb3JfZXJyKG9wdGFyZywKKwkJCQkJCV8oInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3onOgorCQkJY2YtPnplcm9fc3RhcnQgPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwljb2xvcnNfaW5pdChjb2xvcm1vZGUsICJjZmRpc2siKTsKKworCWZkaXNrX2luaXRfZGVidWcoMCk7CisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKwljZmRpc2tfaW5pdF9kZWJ1ZygpOworCWNmLT5jeHQgPSBmZGlza19uZXdfY29udGV4dCgpOworCWlmICghY2YtPmN4dCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiKSk7CisKKwlmZGlza19zZXRfYXNrKGNmLT5jeHQsIGFza19jYWxsYmFjaywgKHZvaWQgKikgY2YpOworCisJaWYgKG9wdGluZCA9PSBhcmdjKSB7CisJCXNpemVfdCBpOworCisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGRlZmF1bHRfZGlza3MpOyBpKyspIHsKKwkJCWlmIChhY2Nlc3MoZGVmYXVsdF9kaXNrc1tpXSwgRl9PSykgPT0gMCkgeworCQkJCWRpc2twYXRoID0gZGVmYXVsdF9kaXNrc1tpXTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlpZiAoIWRpc2twYXRoKQorCQkJZGlza3BhdGggPSBkZWZhdWx0X2Rpc2tzWzBdOwkvKiBkZWZhdWx0LCB1c2VkIGZvciAiY2Fubm90IG9wZW4iICovCisJfSBlbHNlCisJCWRpc2twYXRoID0gYXJndltvcHRpbmRdOworCisJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKGNmLT5jeHQsIGRpc2twYXRoLCAwKTsKKwlpZiAocmMgPT0gLUVBQ0NFUykKKwkJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKGNmLT5jeHQsIGRpc2twYXRoLCAxKTsKKwlpZiAocmMgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZGlza3BhdGgpOworCisJaWYgKCFmZGlza19pc19yZWFkb25seShjZi0+Y3h0KSkgeworCQljZi0+ZGV2aWNlX2lzX3VzZWQgPSBmZGlza19kZXZpY2VfaXNfdXNlZChjZi0+Y3h0KTsKKwkJZmRpc2tfZ2V0X3BhcnRpdGlvbnMoY2YtPmN4dCwgJmNmLT5vcmlnaW5hbF9sYXlvdXQpOworCX0KKworCS8qIERvbid0IHVzZSBlcnIoKSwgd2FybigpIGZyb20gdGhpcyBwb2ludCAqLworCXVpX2luaXQoY2YpOworCXVpX3J1bihjZik7CisJdWlfZW5kKCk7CisKKwljZmRpc2tfZnJlZV9saW5lcyhjZik7CisJZnJlZShjZi0+bGluZXNidWYpOworCisJZmRpc2tfdW5yZWZfdGFibGUoY2YtPnRhYmxlKTsKKyNpZmRlZiBIQVZFX0xJQk1PVU5UCisJbW50X3VucmVmX3RhYmxlKGNmLT5mc3RhYik7CisJbW50X3VucmVmX3RhYmxlKGNmLT5tdGFiKTsKKwltbnRfdW5yZWZfY2FjaGUoY2YtPm1udGNhY2hlKTsKKyNlbmRpZgorCXJjID0gZmRpc2tfZGVhc3NpZ25fZGV2aWNlKGNmLT5jeHQsIGNmLT5ud3JpdGVzID09IDApOworCWZkaXNrX3VucmVmX2NvbnRleHQoY2YtPmN4dCk7CisJREJHKE1JU0MsIHVsX2RlYnVnKCJieWUhIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYyA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9jcmFtZnMuaCBiL2Rpc2stdXRpbHMvY3JhbWZzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTBkZGJkYQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvY3JhbWZzLmgKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisgKiBjcmFtZnNfY29tbW9uIC0gY3JhbWZzIGNvbW1vbiBjb2RlCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IFJveSBQZWxlZCwgdGhlLnJveS5wZWxlZCAgLWF0LSAgZ21haWwKKyAqIENvcHlyaWdodCAoYykgMjAwNC0yMDA2IGJ5IEp1bGlhbmUgSG9senQsIGtqdSAtYXQtIGZxZG4ub3JnCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqLworCisjaWZuZGVmIF9fQ1JBTUZTX0gKKyNkZWZpbmUgX19DUkFNRlNfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNkZWZpbmUgQ1JBTUZTX01BR0lDCQkweDI4Y2QzZDQ1CS8qIHNvbWUgcmFuZG9tIG51bWJlciAqLworI2RlZmluZSBDUkFNRlNfU0lHTkFUVVJFCSJDb21wcmVzc2VkIFJPTUZTIgorCisvKgorICogV2lkdGggb2YgdmFyaW91cyBiaXRmaWVsZHMgaW4gc3RydWN0IGNyYW1mc19pbm9kZS4KKyAqIFByaW1hcmlseSB1c2VkIHRvIGdlbmVyYXRlIHdhcm5pbmdzIGluIG1rY3JhbWZzLgorICovCisjZGVmaW5lIENSQU1GU19NT0RFX1dJRFRIIDE2CisjZGVmaW5lIENSQU1GU19VSURfV0lEVEggMTYKKyNkZWZpbmUgQ1JBTUZTX1NJWkVfV0lEVEggMjQKKyNkZWZpbmUgQ1JBTUZTX0dJRF9XSURUSCA4CisjZGVmaW5lIENSQU1GU19OQU1FTEVOX1dJRFRIIDYKKyNkZWZpbmUgQ1JBTUZTX09GRlNFVF9XSURUSCAyNgorCisjaWZuZGVmIEhPU1RfSVNfQklHX0VORElBTgorI2lmZGVmIFdPUkRTX0JJR0VORElBTgorI2RlZmluZSBIT1NUX0lTX0JJR19FTkRJQU4gMQorI2Vsc2UKKyNkZWZpbmUgSE9TVF9JU19CSUdfRU5ESUFOIDAKKyNlbmRpZgorI2VuZGlmCisKKy8qCisgKiBSZWFzb25hYmx5IHRlcnNlIHJlcHJlc2VudGF0aW9uIG9mIHRoZSBpbm9kZSBkYXRhLgorICovCitzdHJ1Y3QgY3JhbWZzX2lub2RlIHsKKwl1aW50MzJfdCBtb2RlOjE2LCB1aWQ6MTY7CisJLyogU0laRSBmb3IgZGV2aWNlIGZpbGVzIGlzIGlfcmRldiAqLworCXVpbnQzMl90IHNpemU6MjQsIGdpZDo4OworCS8qCisJICogTkFNRUxFTiBpcyB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlIG5hbWUsIGRpdmlkZWQgYnkgNCBhbmQKKwkgKiByb3VuZGVkIHVwLiAgKGNyYW1mcyBkb2Vzbid0IHN1cHBvcnQgaGFyZCBsaW5rcy4pCisJICoKKwkgKiBPRkZTRVQ6IEZvciBzeW1saW5rcyBhbmQgbm9uLWVtcHR5IHJlZ3VsYXIgZmlsZXMsIHRoaXMKKwkgKiBjb250YWlucyB0aGUgb2Zmc2V0IChkaXZpZGVkIGJ5IDQpIG9mIHRoZSBmaWxlIGRhdGEgaW4KKwkgKiBjb21wcmVzc2VkIGZvcm0gKHN0YXJ0aW5nIHdpdGggYW4gYXJyYXkgb2YgYmxvY2sgcG9pbnRlcnM7CisJICogc2VlIFJFQURNRSkuICBGb3Igbm9uLWVtcHR5IGRpcmVjdG9yaWVzIGl0IGlzIHRoZSBvZmZzZXQKKwkgKiAoZGl2aWRlZCBieSA0KSBvZiB0aGUgaW5vZGUgb2YgdGhlIGZpcnN0IGZpbGUgaW4gdGhhdAorCSAqIGRpcmVjdG9yeS4gIEZvciBhbnl0aGluZyBlbHNlLCBvZmZzZXQgaXMgemVyby4KKwkgKi8KKwl1aW50MzJfdCBuYW1lbGVuOjYsIG9mZnNldDoyNjsKK307CisKK3N0cnVjdCBjcmFtZnNfaW5mbyB7CisJdWludDMyX3QgY3JjOworCXVpbnQzMl90IGVkaXRpb247CisJdWludDMyX3QgYmxvY2tzOworCXVpbnQzMl90IGZpbGVzOworfTsKKworLyoKKyAqIFN1cGVyYmxvY2sgaW5mb3JtYXRpb24gYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgRlMuCisgKi8KK3N0cnVjdCBjcmFtZnNfc3VwZXIgeworCXVpbnQzMl90IG1hZ2ljOwkJLyogMHgyOGNkM2Q0NSAtIHJhbmRvbSBudW1iZXIgKi8KKwl1aW50MzJfdCBzaXplOwkJLyogTm90IHVzZWQuICBta2NyYW1mcyBjdXJyZW50bHkKKwkJCQkgICB3cml0ZXMgYSBjb25zdGFudCAxPDwxNiBoZXJlLiAqLworCXVpbnQzMl90IGZsYWdzOwkJLyogMCAqLworCXVpbnQzMl90IGZ1dHVyZTsJCS8qIDAgKi8KKwl1aW50OF90IHNpZ25hdHVyZVsxNl07CS8qICJDb21wcmVzc2VkIFJPTUZTIiAqLworCXN0cnVjdCBjcmFtZnNfaW5mbyBmc2lkOy8qIHVuaXF1ZSBmaWxlc3lzdGVtIGluZm8gKi8KKwl1aW50OF90IG5hbWVbMTZdOwkJLyogdXNlci1kZWZpbmVkIG5hbWUgKi8KKwlzdHJ1Y3QgY3JhbWZzX2lub2RlIHJvb3Q7CS8qIFJvb3QgaW5vZGUgZGF0YSAqLworfTsKKworI2RlZmluZSBDUkFNRlNfRkxBR19GU0lEX1ZFUlNJT05fMgkweDAwMDAwMDAxCS8qIGZzaWQgdmVyc2lvbiAjMiAqLworI2RlZmluZSBDUkFNRlNfRkxBR19TT1JURURfRElSUwkJMHgwMDAwMDAwMgkvKiBzb3J0ZWQgZGlycyAqLworI2RlZmluZSBDUkFNRlNfRkxBR19IT0xFUwkJMHgwMDAwMDEwMAkvKiBzdXBwb3J0IGZvciBob2xlcyAqLworI2RlZmluZSBDUkFNRlNfRkxBR19XUk9OR19TSUdOQVRVUkUJMHgwMDAwMDIwMAkvKiByZXNlcnZlZCAqLworI2RlZmluZSBDUkFNRlNfRkxBR19TSElGVEVEX1JPT1RfT0ZGU0VUIDB4MDAwMDA0MDAJLyogc2hpZnRlZCByb290IGZzICovCisKKy8qCisgKiBWYWxpZCB2YWx1ZXMgaW4gc3VwZXIuZmxhZ3MuICBDdXJyZW50bHkgd2UgcmVmdXNlIHRvIG1vdW50CisgKiBpZiAoZmxhZ3MgJiB+Q1JBTUZTX1NVUFBPUlRFRF9GTEFHUykuICBNYXliZSB0aGF0IHNob3VsZCBiZQorICogY2hhbmdlZCB0byB0ZXN0IHN1cGVyLmZ1dHVyZSBpbnN0ZWFkLgorICovCisjZGVmaW5lIENSQU1GU19TVVBQT1JURURfRkxBR1MgKDB4ZmYpCisKKy8qIFVuY29tcHJlc3Npb24gaW50ZXJmYWNlcyB0byB0aGUgdW5kZXJseWluZyB6bGliICovCitpbnQgY3JhbWZzX3VuY29tcHJlc3NfYmxvY2sodm9pZCAqZHN0LCBpbnQgZHN0bGVuLCB2b2lkICpzcmMsIGludCBzcmNsZW4pOworaW50IGNyYW1mc191bmNvbXByZXNzX2luaXQodm9pZCk7CitpbnQgY3JhbWZzX3VuY29tcHJlc3NfZXhpdCh2b2lkKTsKKwordWludDMyX3QgdTMyX3RvZ2dsZV9lbmRpYW5uZXNzKGludCBiaWdfZW5kaWFuLCB1aW50MzJfdCB3aGF0KTsKK3ZvaWQgc3VwZXJfdG9nZ2xlX2VuZGlhbm5lc3MoaW50IGZyb21fYmlnX2VuZGlhbiwgc3RydWN0IGNyYW1mc19zdXBlciAqc3VwZXIpOwordm9pZCBpbm9kZV90b19ob3N0KGludCBmcm9tX2JpZ19lbmRpYW4sIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlX2luLAorCQkgICBzdHJ1Y3QgY3JhbWZzX2lub2RlICppbm9kZV9vdXQpOwordm9pZCBpbm9kZV9mcm9tX2hvc3QoaW50IHRvX2JpZ19lbmRpYW4sIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlX2luLAorCQkgICAgIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlX291dCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9jcmFtZnNfY29tbW9uLmMgYi9kaXNrLXV0aWxzL2NyYW1mc19jb21tb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZmUzZmExCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9jcmFtZnNfY29tbW9uLmMKQEAgLTAsMCArMSwxMDkgQEAKKy8qCisgKiBjcmFtZnNfY29tbW9uIC0gY3JhbWZzIGNvbW1vbiBjb2RlCisgKgorICogQ29weXJpZ2h0IChjKSAyMDA4IFJveSBQZWxlZCwgdGhlLnJveS5wZWxlZCAgLWF0LSAgZ21haWwuY29tCisgKiBDb3B5cmlnaHQgKGMpIDIwMDQtMjAwNiBieSBKdWxpYW5lIEhvbHp0LCBranUgLWF0LSBmcWRuLm9yZworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgImNyYW1mcy5oIgorI2luY2x1ZGUgIi4uL2luY2x1ZGUvYml0b3BzLmgiCisKK3VpbnQzMl90IHUzMl90b2dnbGVfZW5kaWFubmVzcyhpbnQgYmlnX2VuZGlhbiwgdWludDMyX3Qgd2hhdCkKK3sKKwlyZXR1cm4gYmlnX2VuZGlhbiA9PSBIT1NUX0lTX0JJR19FTkRJQU4gPyB3aGF0IDogc3dhYjMyKHdoYXQpOworfQorCit2b2lkIHN1cGVyX3RvZ2dsZV9lbmRpYW5uZXNzKGludCBiaWdfZW5kaWFuLCBzdHJ1Y3QgY3JhbWZzX3N1cGVyICpzdXBlcikKK3sKKwlpZiAoYmlnX2VuZGlhbiAhPSBIT1NUX0lTX0JJR19FTkRJQU4pIHsKKwkJc3VwZXItPm1hZ2ljID0gc3dhYjMyKHN1cGVyLT5tYWdpYyk7CisJCXN1cGVyLT5zaXplID0gc3dhYjMyKHN1cGVyLT5zaXplKTsKKwkJc3VwZXItPmZsYWdzID0gc3dhYjMyKHN1cGVyLT5mbGFncyk7CisJCXN1cGVyLT5mdXR1cmUgPSBzd2FiMzIoc3VwZXItPmZ1dHVyZSk7CisJCXN1cGVyLT5mc2lkLmNyYyA9IHN3YWIzMihzdXBlci0+ZnNpZC5jcmMpOworCQlzdXBlci0+ZnNpZC5lZGl0aW9uID0gc3dhYjMyKHN1cGVyLT5mc2lkLmVkaXRpb24pOworCQlzdXBlci0+ZnNpZC5ibG9ja3MgPSBzd2FiMzIoc3VwZXItPmZzaWQuYmxvY2tzKTsKKwkJc3VwZXItPmZzaWQuZmlsZXMgPSBzd2FiMzIoc3VwZXItPmZzaWQuZmlsZXMpOworCX0KK30KKworc3RhdGljIHZvaWQgaW5vZGVfdG9nZ2xlX2VuZGlhbm5lc3MoaW50IGlucHV0X2JpZ19lbmRpYW4sIGludCBvdXRwdXRfYmlnX2VuZGlhbiwKKwkJCSAgICAgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGVfaW4sCisJCQkgICAgIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlX291dCkKK3sKKwlpZiAoaW5wdXRfYmlnX2VuZGlhbiA9PSBvdXRwdXRfYmlnX2VuZGlhbikgeworCQltZW1tb3ZlKGlub2RlX291dCwgaW5vZGVfaW4sIHNpemVvZigqaW5vZGVfb3V0KSk7CisJfSBlbHNlIHsKKwkJdW5zaWduZWQgY2hhciBpbm9kZV9vdXRfYnVmW3NpemVvZigqaW5vZGVfaW4pXTsKKwkJdW5zaWduZWQgY2hhciAqaW5vZGVfaW5fYnVmID0gKHVuc2lnbmVkIGNoYXIqKWlub2RlX2luOworCisJCWlub2RlX291dF9idWZbMF0gPSBpbm9kZV9pbl9idWZbMV07IC8qIDE2IGJpdDogbW9kZSAqLworCQlpbm9kZV9vdXRfYnVmWzFdID0gaW5vZGVfaW5fYnVmWzBdOworCisJCWlub2RlX291dF9idWZbMl0gPSBpbm9kZV9pbl9idWZbM107IC8qIDE2IGJpdDogdWlkICovCisJCWlub2RlX291dF9idWZbM10gPSBpbm9kZV9pbl9idWZbMl07CisKKwkJaW5vZGVfb3V0X2J1Zls0XSA9IGlub2RlX2luX2J1Zls2XTsgLyogMjQgYml0OiBzaXplICovCisJCWlub2RlX291dF9idWZbNV0gPSBpbm9kZV9pbl9idWZbNV07CisJCWlub2RlX291dF9idWZbNl0gPSBpbm9kZV9pbl9idWZbNF07CisKKwkJaW5vZGVfb3V0X2J1Zls3XSA9IGlub2RlX2luX2J1Zls3XTsgLyogOCBiaXQ6IGdpZCB3aWR0aCAqLworCisJCS8qCisJCSAqIFN0b3AgdGhlIG1hZG5lc3MhIE91dGxhdyBDIGJpdGZpZWxkcyEgVGhleSBhcmUgdW5wb3J0YWJsZQorCQkgKiBhbmQgbmFzdHkhIFNlZSBmb3IgeW91cnNlbGYgd2hhdCBhIG1lc3MgdGhpcyBpczoKKwkJICovCisJCWlmIChvdXRwdXRfYmlnX2VuZGlhbikgeworCQkJaW5vZGVfb3V0X2J1ZlsgOF0gPSAoIChpbm9kZV9pbl9idWZbIDhdJjB4M0YpIDw8IDIgKSB8CisJCQkJKCAoaW5vZGVfaW5fYnVmWzExXSYweEMwKSA+PiA2ICk7CisKKwkJCWlub2RlX291dF9idWZbIDldID0gKCAoaW5vZGVfaW5fYnVmWzExXSYweDNGKSA8PCAyICkgfAorCQkJCSggKGlub2RlX2luX2J1ZlsxMF0mMHhDMCkgPj4gNiApOworCisJCQlpbm9kZV9vdXRfYnVmWzEwXSA9ICggKGlub2RlX2luX2J1ZlsxMF0mMHgzRikgPDwgMiApIHwKKwkJCQkoIChpbm9kZV9pbl9idWZbIDldJjB4QzApID4+IDYgKTsKKworCQkJaW5vZGVfb3V0X2J1ZlsxMV0gPSAoIChpbm9kZV9pbl9idWZbIDldJjB4M0YpIDw8IDIgKSB8CisJCQkJKCAoaW5vZGVfaW5fYnVmWyA4XSYweEMwKSA+PiA2ICk7CisJCX0gZWxzZSB7CisJCQlpbm9kZV9vdXRfYnVmWyA4XSA9ICggKGlub2RlX2luX2J1ZlsgOF0mMHhGRCkgPj4gMiApIHwKKwkJCQkoIChpbm9kZV9pbl9idWZbMTFdJjB4MDMpIDw8IDYgKTsKKworCQkJaW5vZGVfb3V0X2J1ZlsgOV0gPSAoIChpbm9kZV9pbl9idWZbMTFdJjB4RkQpID4+IDIgKSB8CisJCQkJKCAoaW5vZGVfaW5fYnVmWzEwXSYweDAzKSA8PCA2ICk7CisKKwkJCWlub2RlX291dF9idWZbMTBdID0gKCAoaW5vZGVfaW5fYnVmWzEwXSYweEZEKSA+PiAyICkgfAorCQkJCSggKGlub2RlX2luX2J1ZlsgOV0mMHgwMykgPDwgNiApOworCisJCQlpbm9kZV9vdXRfYnVmWzExXSA9ICggKGlub2RlX2luX2J1ZlsgOV0mMHhGRCkgPj4gMiApIHwKKwkJCQkoIChpbm9kZV9pbl9idWZbIDhdJjB4MDMpIDw8IDYgKTsKKwkJfQorCQltZW1tb3ZlKGlub2RlX291dCwgaW5vZGVfb3V0X2J1Ziwgc2l6ZW9mKCppbm9kZV9vdXQpKTsKKwl9Cit9CisKK3ZvaWQgaW5vZGVfdG9faG9zdChpbnQgZnJvbV9iaWdfZW5kaWFuLCBzdHJ1Y3QgY3JhbWZzX2lub2RlICppbm9kZV9pbiwKKwkJICAgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGVfb3V0KQoreworCWlub2RlX3RvZ2dsZV9lbmRpYW5uZXNzKGZyb21fYmlnX2VuZGlhbiwgSE9TVF9JU19CSUdfRU5ESUFOLCBpbm9kZV9pbiwKKwkJCQlpbm9kZV9vdXQpOworfQorCit2b2lkIGlub2RlX2Zyb21faG9zdChpbnQgdG9fYmlnX2VuZGlhbiwgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGVfaW4sCisJCSAgICAgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGVfb3V0KQoreworCWlub2RlX3RvZ2dsZV9lbmRpYW5uZXNzKEhPU1RfSVNfQklHX0VORElBTiwgdG9fYmlnX2VuZGlhbiwgaW5vZGVfaW4sCisJCQkJaW5vZGVfb3V0KTsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZGVscGFydC44IGIvZGlzay11dGlscy9kZWxwYXJ0LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM4NGUyNQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZGVscGFydC44CkBAIC0wLDAgKzEsMjcgQEAKKy5cIiBkZWxwYXJ0LjggLS0gbWFuIHBhZ2UgZm9yIGRlbHBhcnQKKy5cIiBDb3B5cmlnaHQgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIiBDb3B5cmlnaHQgMjAwNyBSZWQgSGF0LCBJbmMuCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIERFTFBBUlQgOCAiSmFudWFyeSAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitkZWxwYXJ0IFwtIHRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBwYXJ0aXRpb24KKy5TSCBTWU5PUFNJUworLkIgZGVscGFydAorLkkgZGV2aWNlIHBhcnRpdGlvbgorLlNIIERFU0NSSVBUSU9OCisuQiBkZWxwYXJ0Cithc2tzIHRoZSBMaW51eCBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IHRoZSBzcGVjaWZpZWQgXGZJcGFydGl0aW9uXGZSCisoYSBudW1iZXIpIG9uIHRoZSBzcGVjaWZpZWQgXGZJZGV2aWNlXGZSLgorVGhlIGNvbW1hbmQgaXMgYSBzaW1wbGUgd3JhcHBlciBhcm91bmQgdGhlICJkZWwgcGFydGl0aW9uIiBpb2N0bC4KKworVGhpcyBjb21tYW5kIGRvZXNuJ3QgbWFuaXB1bGF0ZSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLgorCisuU0ggU0VFIEFMU08KKy5CUiBhZGRwYXJ0ICg4KSwKKy5CUiBmZGlzayAoOCksCisuQlIgcGFydGVkICg4KSwKKy5CUiBwYXJ0cHJvYmUgKDgpLAorLkJSIHBhcnR4ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGRlbHBhcnQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZGVscGFydC5jIGIvZGlzay11dGlscy9kZWxwYXJ0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGMwNjk5NwotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZGVscGFydC5jCkBAIC0wLDAgKzEsNjYgQEAKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGFydHguaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDE2KSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJkZWxwYXJ0KDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjLCBmZDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiaGVscCIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9LAorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKworCWlmIChhcmdjICE9IDMpIHsKKwkJd2FybngoXygibm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKworCWlmICgoZmQgPSBvcGVuKGFyZ3ZbMV0sIE9fUkRPTkxZKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBhcmd2WzFdKTsKKworCWlmIChwYXJ0eF9kZWxfcGFydGl0aW9uKGZkLAorCQkJc3RydG91MzJfb3JfZXJyKGFyZ3ZbMl0sIF8oImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIpKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIikpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZmRmb3JtYXQuOCBiL2Rpc2stdXRpbHMvZmRmb3JtYXQuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2M3MmJkCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9mZGZvcm1hdC44CkBAIC0wLDAgKzEsNzQgQEAKKy5cIiBDb3B5cmlnaHQgMTk5MiwgMTk5MyBSaWNrYXJkIEUuIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBGREZPUk1BVCA4ICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZkZm9ybWF0IFwtIGxvdy1sZXZlbCBmb3JtYXQgYSBmbG9wcHkgZGlzaworLlNIIFNZTk9QU0lTCisuQiBmZGZvcm1hdAorLlJJIFtvcHRpb25zXSAiIGRldmljZSIKKy5TSCBERVNDUklQVElPTgorLkIgZmRmb3JtYXQKK2RvZXMgYSBsb3ctbGV2ZWwgZm9ybWF0IG9uIGEgZmxvcHB5IGRpc2suCisuSSBkZXZpY2UKK2lzIHVzdWFsbHkgb25lIG9mIHRoZSBmb2xsb3dpbmcgKGZvciBmbG9wcHkgZGV2aWNlcyB0aGUgbWFqb3IgPSAyLCBhbmQgdGhlCittaW5vciBpcyBzaG93biBmb3IgaW5mb3JtYXRpb25hbCBwdXJwb3NlcyBvbmx5KToKKy5zcAorLm5mCisuUlMKKy9kZXYvZmQwZDM2MCAgKG1pbm9yID0gNCkKKy9kZXYvZmQwaDEyMDAgKG1pbm9yID0gOCkKKy9kZXYvZmQwRDM2MCAgKG1pbm9yID0gMTIpCisvZGV2L2ZkMEgzNjAgIChtaW5vciA9IDEyKQorL2Rldi9mZDBENzIwICAobWlub3IgPSAxNikKKy9kZXYvZmQwSDcyMCAgKG1pbm9yID0gMTYpCisvZGV2L2ZkMGgzNjAgIChtaW5vciA9IDIwKQorL2Rldi9mZDBoNzIwICAobWlub3IgPSAyNCkKKy9kZXYvZmQwSDE0NDAgKG1pbm9yID0gMjgpCisuUFAKKy9kZXYvZmQxZDM2MCAgKG1pbm9yID0gNSkKKy9kZXYvZmQxaDEyMDAgKG1pbm9yID0gOSkKKy9kZXYvZmQxRDM2MCAgKG1pbm9yID0gMTMpCisvZGV2L2ZkMUgzNjAgIChtaW5vciA9IDEzKQorL2Rldi9mZDFENzIwICAobWlub3IgPSAxNykKKy9kZXYvZmQxSDcyMCAgKG1pbm9yID0gMTcpCisvZGV2L2ZkMWgzNjAgIChtaW5vciA9IDIxKQorL2Rldi9mZDFoNzIwICAobWlub3IgPSAyNSkKKy9kZXYvZmQxSDE0NDAgKG1pbm9yID0gMjkpCisuUkUKKy5maQorLlBQCitUaGUgZ2VuZXJpYyBmbG9wcHkgZGV2aWNlcywgL2Rldi9mZDAgYW5kIC9kZXYvZmQxLCB3aWxsIGZhaWwgdG8gd29yayB3aXRoCisuQiBmZGZvcm1hdAord2hlbiBhIG5vbi1zdGFuZGFyZCBmb3JtYXQgaXMgYmVpbmcgdXNlZCwgb3IgaWYgdGhlIGZvcm1hdCBoYXMgbm90IGJlZW4KK2F1dG9kZXRlY3RlZCBlYXJsaWVyLiAgSW4gdGhpcyBjYXNlLCB1c2UKKy5CUiBzZXRmZHBybSAoOCkKK3RvIGxvYWQgdGhlIGRpc2sgcGFyYW1ldGVycy4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtZlxmUiwgXGZCXC1cLWZyb21cZlIgXGZJTlxmUgorU3RhcnQgYXQgdGhlIHRyYWNrIFxmSU5cZlIgKGRlZmF1bHQgaXMgMCkuCisuVFAKK1xmQlwtdFxmUiwgXGZCXC1cLXRvXGZSIFxmSU5cZlIKK1N0b3AgYXQgdGhlIHRyYWNrIFxmSU5cZlIuCisuVFAKK1xmQlwtclxmUiwgXGZCXC1cLXJlcGFpclxmUiBcZklOXGZSCitUcnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nIHRoZSB2ZXJpZmljYXRpb24gKG1heCBcZklOXGZSIHJldHJpZXMpLgorLlRQCitcZkJcLW5cZlIsIFxmQlwtXC1ub1wtdmVyaWZ5XGZSCitTa2lwIHRoZSB2ZXJpZmljYXRpb24gdGhhdCBpcyBub3JtYWxseSBwZXJmb3JtZWQgYWZ0ZXIgdGhlIGZvcm1hdHRpbmcuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggIlNFRSBBTFNPIgorLkJSIGZkICg0KSwKKy5CUiBlbWtmcyAoOCksCisuQlIgbWtmcyAoOCksCisuQlIgc2V0ZmRwcm0gKDgpCisuU0ggQVVUSE9SCitXZXJuZXIgQWxtZXNiZXJnZXIgKGFsbWVzYmVyQG5lc3NpZS5jcy5pZC5ldGh6LmNoKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZkZm9ybWF0IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2ZkZm9ybWF0LmMgYi9kaXNrLXV0aWxzL2ZkZm9ybWF0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ2MWM4MgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZmRmb3JtYXQuYwpAQCAtMCwwICsxLDI1NiBAQAorLyoKKyAqIGZkZm9ybWF0LmMgIC0gIExvdy1sZXZlbCBmb3JtYXRzIGEgZmxvcHB5IGRpc2sgLSBXZXJuZXIgQWxtZXNiZXJnZXIKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxsaW51eC9mZC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNkZWZpbmUgU0VDVE9SX1NJWkUgNTEyCisKK3N0YXRpYyBzdHJ1Y3QgZmxvcHB5X3N0cnVjdCBwYXJhbTsKKworCitzdGF0aWMgdm9pZCBmb3JtYXRfYmVnaW4oaW50IGN0cmwpCit7CisJaWYgKGlvY3RsKGN0cmwsIEZERk1UQkVHLCBOVUxMKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsICJpb2N0bDogRkRGTVRCRUciKTsKK30KKworc3RhdGljIHZvaWQgZm9ybWF0X2VuZChpbnQgY3RybCkKK3sKKwlpZiAoaW9jdGwoY3RybCwgRkRGTVRFTkQsIE5VTEwpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImlvY3RsOiBGREZNVEVORCIpOworfQorCitzdGF0aWMgdm9pZCBmb3JtYXRfdHJhY2tfaGVhZChpbnQgY3RybCwgc3RydWN0IGZvcm1hdF9kZXNjciAqZGVzY3IpCit7CisJaWYgKGlvY3RsKGN0cmwsIEZERk1UVFJLLCAobG9uZykgZGVzY3IpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImlvY3RsOiBGREZNVFRSSyIpOworfQorCitzdGF0aWMgdm9pZCBzZWVrX3RyYWNrX2hlYWQoaW50IGN0cmwsIHN0cnVjdCBmb3JtYXRfZGVzY3IgKmRlc2NyKQoreworCWxzZWVrKGN0cmwsIChkZXNjci0+dHJhY2sgKiBwYXJhbS5oZWFkICsgZGVzY3ItPmhlYWQpICogcGFyYW0uc2VjdCAqIFNFQ1RPUl9TSVpFLCBTRUVLX1NFVCk7Cit9CisKK3N0YXRpYyB2b2lkIGZvcm1hdF9kaXNrKGludCBjdHJsLCB1bnNpZ25lZCBpbnQgdHJhY2tfZnJvbSwgdW5zaWduZWQgaW50IHRyYWNrX3RvKQoreworCXN0cnVjdCBmb3JtYXRfZGVzY3IgY3VycmVudDsKKworCXByaW50ZihfKCJGb3JtYXR0aW5nIC4uLiAiKSk7CisJZmZsdXNoKHN0ZG91dCk7CisKKwlmb3JtYXRfYmVnaW4oY3RybCk7CisKKwlmb3IgKGN1cnJlbnQudHJhY2sgPSB0cmFja19mcm9tOyBjdXJyZW50LnRyYWNrIDw9IHRyYWNrX3RvOyBjdXJyZW50LnRyYWNrKyspIHsKKwkJZm9yIChjdXJyZW50LmhlYWQgPSAwOyBjdXJyZW50LmhlYWQgPCBwYXJhbS5oZWFkOyBjdXJyZW50LmhlYWQrKykgeworCQkJcHJpbnRmKCIlM3UvJXVcYlxiXGJcYlxiIiwgY3VycmVudC50cmFjaywgY3VycmVudC5oZWFkKTsKKwkJCWZmbHVzaChzdGRvdXQpOworCQkJZm9ybWF0X3RyYWNrX2hlYWQoY3RybCwgJmN1cnJlbnQpOworCQl9CisJfQorCisJZm9ybWF0X2VuZChjdHJsKTsKKworCXByaW50ZigiICAgICBcYlxiXGJcYlxiJXMiLCBfKCJkb25lXG4iKSk7Cit9CisKK3N0YXRpYyB2b2lkIHZlcmlmeV9kaXNrKGludCBjdHJsLCB1bnNpZ25lZCBpbnQgdHJhY2tfZnJvbSwgdW5zaWduZWQgaW50IHRyYWNrX3RvLCB1bnNpZ25lZCBpbnQgcmVwYWlyKQoreworCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJc3RydWN0IGZvcm1hdF9kZXNjciBjdXJyZW50OworCWludCB0cmFja19zaXplLCBjb3VudDsKKwl1bnNpZ25lZCBpbnQgcmV0cmllc19sZWZ0OworCisJdHJhY2tfc2l6ZSA9IHBhcmFtLnNlY3QgKiBTRUNUT1JfU0laRTsKKwlkYXRhID0geG1hbGxvYyh0cmFja19zaXplKTsKKwlwcmludGYoXygiVmVyaWZ5aW5nIC4uLiAiKSk7CisJZmZsdXNoKHN0ZG91dCk7CisKKwljdXJyZW50LnRyYWNrID0gdHJhY2tfZnJvbTsKKwljdXJyZW50LmhlYWQgPSAwOworCXNlZWtfdHJhY2tfaGVhZCAoY3RybCwgJmN1cnJlbnQpOworCisJZm9yIChjdXJyZW50LnRyYWNrID0gdHJhY2tfZnJvbTsgY3VycmVudC50cmFjayA8PSB0cmFja190bzsgY3VycmVudC50cmFjaysrKSB7CisJCWZvciAoY3VycmVudC5oZWFkID0gMDsgY3VycmVudC5oZWFkIDwgcGFyYW0uaGVhZDsgY3VycmVudC5oZWFkKyspIHsKKwkJCWludCByZWFkX2J5dGVzOworCisJCQlwcmludGYoIiUzdVxiXGJcYiIsIGN1cnJlbnQudHJhY2spOworCQkJZmZsdXNoKHN0ZG91dCk7CisKKwkJCXJldHJpZXNfbGVmdCA9IHJlcGFpcjsKKwkJCWRvIHsKKwkJCQlyZWFkX2J5dGVzID0gcmVhZChjdHJsLCBkYXRhLCB0cmFja19zaXplKTsKKwkJCQlpZiAocmVhZF9ieXRlcyAhPSB0cmFja19zaXplKSB7CisJCQkJCWlmIChyZXRyaWVzX2xlZnQpIHsKKwkJCQkJCWZvcm1hdF9iZWdpbihjdHJsKTsKKwkJCQkJCWZvcm1hdF90cmFja19oZWFkKGN0cmwsICZjdXJyZW50KTsKKwkJCQkJCWZvcm1hdF9lbmQoY3RybCk7CisJCQkJCQlzZWVrX3RyYWNrX2hlYWQgKGN0cmwsICZjdXJyZW50KTsKKwkJCQkJCXJldHJpZXNfbGVmdC0tOworCQkJCQkJaWYgKHJldHJpZXNfbGVmdCkKKwkJCQkJCQljb250aW51ZTsKKwkJCQkJfQorCQkJCQlpZiAocmVhZF9ieXRlcyA8IDApCisJCQkJCQlwZXJyb3IoXygiUmVhZDogIikpOworCQkJCQlmcHJpbnRmKHN0ZGVyciwKKwkJCQkJCV8oIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCIKKwkJCQkJCSAgIiBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIiksCisJCQkJCQljdXJyZW50LnRyYWNrLCBjdXJyZW50LmhlYWQsIHRyYWNrX3NpemUsIHJlYWRfYnl0ZXMpOworCQkJCQlmcmVlKGRhdGEpOworCQkJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCQkJfQorCQkJCWZvciAoY291bnQgPSAwOyBjb3VudCA8IHRyYWNrX3NpemU7IGNvdW50KyspCisJCQkJCWlmIChkYXRhW2NvdW50XSAhPSBGRF9GSUxMX0JZVEUpIHsKKwkJCQkJCWlmIChyZXRyaWVzX2xlZnQpIHsKKwkJCQkJCQlmb3JtYXRfYmVnaW4oY3RybCk7CisJCQkJCQkJZm9ybWF0X3RyYWNrX2hlYWQoY3RybCwgJmN1cnJlbnQpOworCQkJCQkJCWZvcm1hdF9lbmQoY3RybCk7CisJCQkJCQkJc2Vla190cmFja19oZWFkIChjdHJsLCAmY3VycmVudCk7CisJCQkJCQkJcmV0cmllc19sZWZ0LS07CisJCQkJCQkJaWYgKHJldHJpZXNfbGVmdCkKKwkJCQkJCQkJY29udGludWU7CisJCQkJCQl9CisJCQkJCQlwcmludGYoXygiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorCQkJCQkJCSAiQ29udGludWluZyAuLi4gIiksIGN1cnJlbnQudHJhY2ssIGN1cnJlbnQuaGVhZCk7CisJCQkJCQlmZmx1c2goc3Rkb3V0KTsKKwkJCQkJCWJyZWFrOworCQkJCQl9CisJCQkJYnJlYWs7CisJCQl9IHdoaWxlIChyZXRyaWVzX2xlZnQpOworCQl9CisJfQorCisJZnJlZShkYXRhKTsKKwlwcmludGYoXygiZG9uZVxuIikpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisgICAgICAgICAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTkpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImZkZm9ybWF0KDgpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGNoOworCWludCBjdHJsOworCWludCB2ZXJpZnkgPSAxOworCXVuc2lnbmVkIGludCByZXBhaXIgPSAwOworCXVuc2lnbmVkIGludCB0cmFja19mcm9tID0gMDsKKwl1bnNpZ25lZCBpbnQgdHJhY2tfdG8gPSAwOworCWludCBoYXNfdXNlcl9kZWZpbmVkX3RyYWNrX3RvID0gMDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiZnJvbSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZid9LAorCQl7InRvIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0J30sCisJCXsicmVwYWlyIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdyJ30sCisJCXsibm8tdmVyaWZ5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGNoID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImY6dDpyOm5WaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoY2gpIHsKKwkJY2FzZSAnZic6CisJCQl0cmFja19mcm9tID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iKSk7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQloYXNfdXNlcl9kZWZpbmVkX3RyYWNrX3RvID0gMTsKKwkJCXRyYWNrX3RvID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBhcmd1bWVudCAtIHRvIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJcmVwYWlyID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIpKTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCXZlcmlmeSA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmIChhcmdjIDwgMSkgeworCQl3YXJueChfKCJubyBkZXZpY2Ugc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCWlmIChzdGF0KGFyZ3ZbMF0sICZzdCkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBhcmd2WzBdKTsKKwlpZiAoIVNfSVNCTEsoc3Quc3RfbW9kZSkpCisJCS8qIGRvIG5vdCB0ZXN0IG1ham9yIC0gcGVyaGFwcyB0aGlzIHdhcyBhbiBVU0IgZmxvcHB5ICovCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogbm90IGEgYmxvY2sgZGV2aWNlIiksIGFyZ3ZbMF0pOworCWN0cmwgPSBvcGVuX2Jsa2Rldl9vcl9maWxlKCZzdCwgYXJndlswXSwgT19SRFdSKTsKKwlpZiAoY3RybCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGFyZ3ZbMF0pOworCWlmIChpb2N0bChjdHJsLCBGREdFVFBSTSwgKGxvbmcpICZwYXJhbSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiKSk7CisKKwlwcmludGYoXygiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIpLAorCQkocGFyYW0uaGVhZCA9PSAyKSA/IF8oIkRvdWJsZSIpIDogXygiU2luZ2xlIiksCisJCXBhcmFtLnRyYWNrLCBwYXJhbS5zZWN0LCBwYXJhbS5zaXplID4+IDEpOworCisJaWYgKCFoYXNfdXNlcl9kZWZpbmVkX3RyYWNrX3RvKQorCQl0cmFja190byA9IHBhcmFtLnRyYWNrIC0gMTsKKworCWlmICh0cmFja19mcm9tID49IHBhcmFtLnRyYWNrKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iKSk7CisJaWYgKHRyYWNrX3RvID49IHBhcmFtLnRyYWNrKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIikpOworCWlmICh0cmFja19mcm9tID4gdHJhY2tfdG8pCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIikpOworCisJZm9ybWF0X2Rpc2soY3RybCwgdHJhY2tfZnJvbSwgdHJhY2tfdG8pOworCisJaWYgKHZlcmlmeSkKKwkJdmVyaWZ5X2Rpc2soY3RybCwgdHJhY2tfZnJvbSwgdHJhY2tfdG8sIHJlcGFpcik7CisKKwlpZiAoY2xvc2VfZmQoY3RybCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2xvc2UgZmFpbGVkIikpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZmRpc2stbGlzdC5jIGIvZGlzay11dGlscy9mZGlzay1saXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDkwYjk0MQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZmRpc2stbGlzdC5jCkBAIC0wLDAgKzEsNTMzIEBACisjaW5jbHVkZSA8bGliZmRpc2suaD4KKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorCisjaW5jbHVkZSAiZmRpc2stbGlzdC5oIgorCisvKiBzZWUgaW5pdF9maWVsZHMoKSAqLworc3RhdGljIGNvbnN0IGNoYXIgKmZpZWxkc19zdHJpbmc7CitzdGF0aWMgaW50ICpmaWVsZHNfaWRzOworc3RhdGljIHNpemVfdCBmaWVsZHNfbmlkczsKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZpZWxkc19sYWJlbDsKKworc3RhdGljIGludCBpc19pZGVfY2Ryb21fb3JfdGFwZShjaGFyICpkZXZpY2UpCit7CisJaW50IGZkLCByZXQ7CisKKwlpZiAoKGZkID0gb3BlbihkZXZpY2UsIE9fUkRPTkxZKSkgPCAwKQorCQlyZXR1cm4gMDsKKwlyZXQgPSBibGtkZXZfaXNfY2Ryb20oZmQpOworCisJY2xvc2UoZmQpOworCXJldHVybiByZXQ7Cit9CisKK3ZvaWQgbGlzdF9kaXNrX2lkZW50aWZpZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisJY2hhciAqaWQgPSBOVUxMOworCisJaWYgKGZkaXNrX2hhc19sYWJlbChjeHQpKQorCQlmZGlza19pbmZvKGN4dCwgXygiRGlza2xhYmVsIHR5cGU6ICVzIiksCisJCQkJZmRpc2tfbGFiZWxfZ2V0X25hbWUobGIpKTsKKworCWlmICghZmRpc2tfaXNfZGV0YWlscyhjeHQpICYmIGZkaXNrX2dldF9kaXNrbGFiZWxfaWQoY3h0LCAmaWQpID09IDAgJiYgaWQpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkRpc2sgaWRlbnRpZmllcjogJXMiKSwgaWQpOworCQlmcmVlKGlkKTsKKwl9Cit9CisKK3ZvaWQgbGlzdF9kaXNrX2dlb21ldHJ5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCXVpbnQ2NF90IGJ5dGVzID0gZmRpc2tfZ2V0X25zZWN0b3JzKGN4dCkgKiBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KTsKKwljaGFyICpzdHJzeiA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYX1NQQUNFCisJCQkJCSAgIHwgU0laRV9TVUZGSVhfM0xFVFRFUiwgYnl0ZXMpOworCisJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVhZGVyIiwgVUxfQ09MT1JfQk9MRCk7CisJZmRpc2tfaW5mbyhjeHQsCV8oIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIiksCisJCQlmZGlza19nZXRfZGV2bmFtZShjeHQpLCBzdHJzeiwKKwkJCWJ5dGVzLCAodWludG1heF90KSBmZGlza19nZXRfbnNlY3RvcnMoY3h0KSk7CisJY29sb3JfZGlzYWJsZSgpOworCWZyZWUoc3Ryc3opOworCisJaWYgKGxiICYmIChmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5KGxiKSB8fCBmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpKQorCQlmZGlza19pbmZvKGN4dCwgXygiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIiksCisJCQkgICAgICAgZmRpc2tfZ2V0X2dlb21faGVhZHMoY3h0KSwKKwkJCSAgICAgICBmZGlza19nZXRfZ2VvbV9zZWN0b3JzKGN4dCksCisJCQkgICAgICAgZmRpc2tfZ2V0X2dlb21fY3lsaW5kZXJzKGN4dCkpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIpLAorCSAgICAgICBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1BMVVJBTCksCisJICAgICAgIGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCksCisJICAgICAgIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjeHQpLAorCSAgICAgICBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCkpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIiksCisJCQkJZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCksCisJCQkJZmRpc2tfZ2V0X3BoeXNlY3Rvcl9zaXplKGN4dCkpOworCWZkaXNrX2luZm8oY3h0LCBfKCJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIiksCisJCQkJZmRpc2tfZ2V0X21pbmltYWxfaW9zaXplKGN4dCksCisJCQkJZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplKGN4dCkpOworCWlmIChmZGlza19nZXRfYWxpZ25tZW50X29mZnNldChjeHQpKQorCQlmZGlza19pbmZvKGN4dCwgXygiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIiksCisJCQkJZmRpc2tfZ2V0X2FsaWdubWVudF9vZmZzZXQoY3h0KSk7CisKKwlsaXN0X2Rpc2tfaWRlbnRpZmllcihjeHQpOworfQorCit2b2lkIGxpc3RfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCXN0cnVjdCBmZGlza19pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICpvdXQgPSBOVUxMOworCWNvbnN0IGNoYXIgKmJvbGQgPSBOVUxMOworCWludCAqaWRzID0gTlVMTDsJCS8qIElEcyBvZiBmZGlza19maWVsZHMgKi8KKwlzaXplX3QJbmlkcyA9IDAsIGk7CisJaW50IHBvc3QgPSAwOworCisJLyogcHJpbnQgbGFiZWwgc3BlY2lmaWMgc3R1ZmYgYnkgbGliZmRpc2sgRkRJU0tfQVNLX0lORk8gQVBJICovCisJZmRpc2tfbGlzdF9kaXNrbGFiZWwoY3h0KTsKKworCS8qIGdldCBwYXJ0aXRpb25zIGFuZCBnZW5lcmF0ZSBvdXRwdXQgKi8KKwlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbnMoY3h0LCAmdGIpIHx8IGZkaXNrX3RhYmxlX2dldF9uZW50cyh0YikgPD0gMCkKKwkJZ290byBkb25lOworCisJaWRzID0gaW5pdF9maWVsZHMoY3h0LCBOVUxMLCAmbmlkcyk7CisJaWYgKCFpZHMpCisJCWdvdG8gZG9uZTsKKworCWl0ciA9IGZkaXNrX25ld19pdGVyKEZESVNLX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHIpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIpKTsKKwkJZ290byBkb25lOworCX0KKworCW91dCA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghb3V0KSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKGNvbG9yc193YW50ZWQoKSkgeworCQlzY29sc190YWJsZV9lbmFibGVfY29sb3JzKG91dCwgMSk7CisJCWJvbGQgPSBjb2xvcl9zY2hlbWVfZ2V0X3NlcXVlbmNlKCJoZWFkZXIiLCBVTF9DT0xPUl9CT0xEKTsKKwl9CisKKwlsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCWFzc2VydChsYik7CisKKwkvKiBkZWZpbmUgb3V0cHV0IHRhYmxlIGNvbHVtbnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbmlkczsgaSsrKSB7CisJCWludCBmbCA9IDA7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNvOworCQljb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkID0KKwkJCQlmZGlza19sYWJlbF9nZXRfZmllbGQobGIsIGlkc1tpXSk7CisJCWlmICghZmllbGQpCisJCQljb250aW51ZTsKKwkJaWYgKGZkaXNrX2ZpZWxkX2lzX251bWJlcihmaWVsZCkpCisJCQlmbCB8PSBTQ09MU19GTF9SSUdIVDsKKwkJaWYgKGZkaXNrX2ZpZWxkX2dldF9pZChmaWVsZCkgPT0gRkRJU0tfRklFTERfVFlQRSkKKwkJCWZsIHw9IFNDT0xTX0ZMX1RSVU5DOworCisJCWNvID0gc2NvbHNfdGFibGVfbmV3X2NvbHVtbihvdXQsCisJCQkJXyhmZGlza19maWVsZF9nZXRfbmFtZShmaWVsZCkpLAorCQkJCWZkaXNrX2ZpZWxkX2dldF93aWR0aChmaWVsZCksIGZsKTsKKwkJaWYgKCFjbykKKwkJCWdvdG8gZG9uZTsKKworCQkvKiBzZXQgY29sdW1uIGhlYWRlciBjb2xvciAqLworCQlpZiAoYm9sZCkKKwkJCXNjb2xzX2NlbGxfc2V0X2NvbG9yKHNjb2xzX2NvbHVtbl9nZXRfaGVhZGVyKGNvKSwgYm9sZCk7CisJfQorCisJLyogZmlsbC1pbiBvdXRwdXQgdGFibGUgKi8KKwl3aGlsZSAoZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24odGIsIGl0ciwgJnBhKSA9PSAwKSB7CisJCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKG91dCwgTlVMTCk7CisKKwkJaWYgKCFsbikgeworCQkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCisJCWZvciAoaSA9IDA7IGkgPCBuaWRzOyBpKyspIHsKKwkJCWNoYXIgKmRhdGEgPSBOVUxMOworCisJCQlpZiAoZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY3h0LCBpZHNbaV0sICZkYXRhKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIGksIGRhdGEpKSB7CisJCQkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiKSk7CisJCQkJZ290byBkb25lOworCQkJfQorCQl9CisJfQorCisJLyogcHJpbnQgKi8KKwlpZiAoIXNjb2xzX3RhYmxlX2lzX2VtcHR5KG91dCkpIHsKKwkJZmRpc2tfaW5mbyhjeHQsICIiKTsJLyoganVzdCBsaW5lIGJyZWFrICovCisJCXNjb2xzX3ByaW50X3RhYmxlKG91dCk7CisJfQorCisJLyogcHJpbnQgd2FybmluZ3MgKi8KKwlmZGlza19yZXNldF9pdGVyKGl0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoaXRyICYmIGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCBpdHIsICZwYSkgPT0gMCkgeworCQlpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQkJY29udGludWU7CisJCWlmICghZmRpc2tfbGJhX2lzX3BoeV9hbGlnbmVkKGN4dCwgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSkpKSB7CisJCQlpZiAoIXBvc3QpCisJCQkJZmRpc2tfaW5mbyhjeHQsICIiKTsgLyogbGluZSBicmVhayAqLworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iKSwKKwkJCQkJICBmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYSkgKyAxKTsKKwkJCXBvc3QrKzsKKwkJfQorCQlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc193aXBlKGN4dCwgcGEpKSB7CisJCQlpZiAoIXBvc3QpCisJCQkJZmRpc2tfaW5mbyhjeHQsICIiKTsgLyogbGluZSBicmVhayAqLworCQkJIGZkaXNrX2luZm8oY3h0LCBfKCJGaWxlc3lzdGVtL1JBSUQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiAlenUgd2lsbCBiZSB3aXBlZC4iKSwKKwkJCQkJIGZkaXNrX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhKSArIDEpOworCQkJIHBvc3QrKzsKKwkJfQorCX0KKworCWlmIChmZGlza190YWJsZV93cm9uZ19vcmRlcih0YikpIHsKKwkJaWYgKCFwb3N0KQorCQkJZmRpc2tfaW5mbyhjeHQsICIiKTsgLyogbGluZSBicmVhayAqLworCQlmZGlza19pbmZvKGN4dCwgXygiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIpKTsKKwl9Citkb25lOgorCXNjb2xzX3VucmVmX3RhYmxlKG91dCk7CisJZmRpc2tfdW5yZWZfdGFibGUodGIpOworCWZkaXNrX2ZyZWVfaXRlcihpdHIpOworfQorCit2b2lkIGxpc3RfZnJlZXNwYWNlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCXN0cnVjdCBmZGlza19pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqb3V0ID0gTlVMTDsKKwljb25zdCBjaGFyICpib2xkID0gTlVMTDsKKwlzaXplX3QgaTsKKwl1aW50bWF4X3Qgc3Vtc2l6ZSA9IDAsIGJ5dGVzID0gMDsKKwljaGFyICpzdHJzejsKKworCXN0YXRpYyBjb25zdCBjaGFyICpjb2xuYW1lc1tdID0geyBOXygiU3RhcnQiKSwgTl8oIkVuZCIpLCBOXygiU2VjdG9ycyIpLCBOXygiU2l6ZSIpIH07CisJc3RhdGljIGNvbnN0IGludCBjb2xpZHNbXSA9IHsgRkRJU0tfRklFTERfU1RBUlQsIEZESVNLX0ZJRUxEX0VORCwgRkRJU0tfRklFTERfU0VDVE9SUywgRkRJU0tfRklFTERfU0laRSB9OworCisJaWYgKGZkaXNrX2dldF9mcmVlc3BhY2VzKGN4dCwgJnRiKSkKKwkJZ290byBkb25lOworCisJaXRyID0gZmRpc2tfbmV3X2l0ZXIoRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikgeworCQlmZGlza193YXJuKGN4dCwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJb3V0ID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCFvdXQpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAoY29sb3JzX3dhbnRlZCgpKSB7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnMob3V0LCAxKTsKKwkJYm9sZCA9IGNvbG9yX3NjaGVtZV9nZXRfc2VxdWVuY2UoImhlYWRlciIsIFVMX0NPTE9SX0JPTEQpOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbG5hbWVzKTsgaSsrKSB7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNvID0gc2NvbHNfdGFibGVfbmV3X2NvbHVtbihvdXQsIF8oY29sbmFtZXNbaV0pLCA1LCBTQ09MU19GTF9SSUdIVCk7CisKKwkJaWYgKCFjbykKKwkJCWdvdG8gZG9uZTsKKwkJaWYgKGJvbGQpCisJCQlzY29sc19jZWxsX3NldF9jb2xvcihzY29sc19jb2x1bW5fZ2V0X2hlYWRlcihjbyksIGJvbGQpOworCX0KKworCS8qIGZpbGwtaW4gb3V0cHV0IHRhYmxlICovCisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCBpdHIsICZwYSkgPT0gMCkgeworCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4gPSBzY29sc190YWJsZV9uZXdfbGluZShvdXQsIE5VTEwpOworCQljaGFyICpkYXRhOworCisJCWlmICghbG4pIHsKKwkJCWZkaXNrX3dhcm4oY3h0LCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiKSk7CisJCQlnb3RvIGRvbmU7CisJCX0KKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29saWRzKTsgaSsrKSB7CisJCQlpZiAoZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgY3h0LCBjb2xpZHNbaV0sICZkYXRhKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIGksIGRhdGEpKSB7CisJCQkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiKSk7CisJCQkJZ290byBkb25lOworCQkJfQorCQl9CisKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCQlzdW1zaXplICs9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSk7CisJfQorCisJYnl0ZXMgPSBzdW1zaXplICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCk7CisJc3Ryc3ogPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF9TUEFDRQorCQkJCQkgICB8IFNJWkVfU1VGRklYXzNMRVRURVIsIGJ5dGVzKTsKKworCWNvbG9yX3NjaGVtZV9lbmFibGUoImhlYWRlciIsIFVMX0NPTE9SX0JPTEQpOworCWZkaXNrX2luZm8oY3h0LAlfKCJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIpLAorCQkJZmRpc2tfZ2V0X2Rldm5hbWUoY3h0KSwgc3Ryc3osCisJCQlieXRlcywgc3Vtc2l6ZSk7CisJY29sb3JfZGlzYWJsZSgpOworCWZyZWUoc3Ryc3opOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIpLAorCSAgICAgICBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1BMVVJBTCksCisJICAgICAgIGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCksCisJICAgICAgIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjeHQpLAorCSAgICAgICBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCkpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIiksCisJCQkJZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCksCisJCQkJZmRpc2tfZ2V0X3BoeXNlY3Rvcl9zaXplKGN4dCkpOworCisJLyogcHJpbnQgKi8KKwlpZiAoIXNjb2xzX3RhYmxlX2lzX2VtcHR5KG91dCkpIHsKKwkJZmRpc2tfaW5mbyhjeHQsICIiKTsJLyogbGluZSBicmVhayAqLworCQlzY29sc19wcmludF90YWJsZShvdXQpOworCX0KK2RvbmU6CisJc2NvbHNfdW5yZWZfdGFibGUob3V0KTsKKwlmZGlza191bnJlZl90YWJsZSh0Yik7CisJZmRpc2tfZnJlZV9pdGVyKGl0cik7Cit9CisKK2NoYXIgKm5leHRfcHJvY19wYXJ0aXRpb24oRklMRSAqKmYpCit7CisJY2hhciBsaW5lWzEyOCArIDFdOworCisJaWYgKCEqZikgeworCQkqZiA9IGZvcGVuKF9QQVRIX1BST0NfUEFSVElUSU9OUywgInIiKTsKKwkJaWYgKCEqZikgeworCQkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBfUEFUSF9QUk9DX1BBUlRJVElPTlMpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwl9CisKKwl3aGlsZSAoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCAqZikpIHsKKwkJY2hhciBidWZbUEFUSF9NQVhdLCAqY247CisJCWRldl90IGRldm5vOworCisJCWlmIChzc2NhbmYobGluZSwgIiAlKmQgJSpkICUqZCAlMTI4W15cbiBdIiwgYnVmKSAhPSAxKQorCQkJY29udGludWU7CisKKwkJZGV2bm8gPSBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGJ1Zik7CisJCWlmIChkZXZubyA8PSAwKQorCQkJY29udGludWU7CisKKwkJaWYgKHN5c2ZzX2Rldm5vX2lzX2RtX3ByaXZhdGUoZGV2bm8sIE5VTEwpIHx8CisJCSAgICBzeXNmc19kZXZub19pc193aG9sZWRpc2soZGV2bm8pIDw9IDApCisJCQljb250aW51ZTsKKworCQlpZiAoIXN5c2ZzX2Rldm5vX3RvX2RldnBhdGgoZGV2bm8sIGJ1Ziwgc2l6ZW9mKGJ1ZikpKQorCQkJY29udGludWU7CisKKwkJY24gPSBjYW5vbmljYWxpemVfcGF0aChidWYpOworCQlpZiAoIWNuKQorCQkJY29udGludWU7CisKKwkJaWYgKCFpc19pZGVfY2Ryb21fb3JfdGFwZShjbikpCisJCQlyZXR1cm4gY247CisJfQorCWZjbG9zZSgqZik7CisJKmYgPSBOVUxMOworCisJcmV0dXJuIE5VTEw7Cit9CisKK2ludCBwcmludF9kZXZpY2VfcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY2hhciAqZGV2aWNlLCBpbnQgd2Fybm1lLCBpbnQgdmVyaWZ5KQoreworCWlmIChmZGlza19hc3NpZ25fZGV2aWNlKGN4dCwgZGV2aWNlLCAxKSAhPSAwKSB7CS8qIHJlYWQtb25seSAqLworCQlpZiAod2Fybm1lIHx8IGVycm5vID09IEVBQ0NFUykKKwkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2aWNlKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWxpc3RfZGlza19nZW9tZXRyeShjeHQpOworCisJaWYgKGZkaXNrX2hhc19sYWJlbChjeHQpKSB7CisJCWxpc3RfZGlza2xhYmVsKGN4dCk7CisJCWlmICh2ZXJpZnkpCisJCQlmZGlza192ZXJpZnlfZGlza2xhYmVsKGN4dCk7CisJfQorCWZkaXNrX2RlYXNzaWduX2RldmljZShjeHQsIDEpOworCXJldHVybiAwOworfQorCitpbnQgcHJpbnRfZGV2aWNlX2ZyZWVzcGFjZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjaGFyICpkZXZpY2UsIGludCB3YXJubWUpCit7CisJaWYgKGZkaXNrX2Fzc2lnbl9kZXZpY2UoY3h0LCBkZXZpY2UsIDEpICE9IDApIHsJLyogcmVhZC1vbmx5ICovCisJCWlmICh3YXJubWUgfHwgZXJybm8gPT0gRUFDQ0VTKQorCQkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZpY2UpOworCQlyZXR1cm4gLTE7CisJfQorCisJbGlzdF9mcmVlc3BhY2UoY3h0KTsKKwlmZGlza19kZWFzc2lnbl9kZXZpY2UoY3h0LCAxKTsKKwlyZXR1cm4gMDsKK30KKwordm9pZCBwcmludF9hbGxfZGV2aWNlc19wdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgdmVyaWZ5KQoreworCUZJTEUgKmYgPSBOVUxMOworCWludCBjdCA9IDA7CisJY2hhciAqZGV2OworCisJd2hpbGUgKChkZXYgPSBuZXh0X3Byb2NfcGFydGl0aW9uKCZmKSkpIHsKKwkJaWYgKGN0KQorCQkJZnB1dHMoIlxuXG4iLCBzdGRvdXQpOworCQlpZiAocHJpbnRfZGV2aWNlX3B0KGN4dCwgZGV2LCAwLCB2ZXJpZnkpID09IDApCisJCQljdCsrOworCQlmcmVlKGRldik7CisJfQorfQorCit2b2lkIHByaW50X2FsbF9kZXZpY2VzX2ZyZWVzcGFjZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCUZJTEUgKmYgPSBOVUxMOworCWludCBjdCA9IDA7CisJY2hhciAqZGV2OworCisJd2hpbGUgKChkZXYgPSBuZXh0X3Byb2NfcGFydGl0aW9uKCZmKSkpIHsKKwkJaWYgKGN0KQorCQkJZnB1dHMoIlxuXG4iLCBzdGRvdXQpOworCQlpZiAocHJpbnRfZGV2aWNlX2ZyZWVzcGFjZShjeHQsIGRldiwgMCkgPT0gMCkKKwkJCWN0Kys7CisJCWZyZWUoZGV2KTsKKwl9Cit9CisKKy8qIHVzYWJsZSBmb3IgZXhhbXBsZSBpbiB1c2FnZSgpICovCit2b2lkIGxpc3RfYXZhaWxhYmxlX2NvbHVtbnMoRklMRSAqb3V0KQoreworCXNpemVfdCBpOworCWludCB0ZXJtd2lkdGg7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IE5VTEw7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9IGZkaXNrX25ld19jb250ZXh0KCk7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuOworCisJdGVybXdpZHRoID0gZ2V0X3Rlcm1pbmFsX3dpZHRoKDgwKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9DT0xVTU5TKTsKKworCXdoaWxlIChmZGlza19uZXh0X2xhYmVsKGN4dCwgJmxiKSA9PSAwKSB7CisJCXNpemVfdCB3aWR0aCA9IDY7CS8qIGxhYmVsIG5hbWUgYW5kIHNlcGFyYXRvcnMgKi8KKworCQlmcHJpbnRmKG91dCwgIiAlczoiLCBmZGlza19sYWJlbF9nZXRfbmFtZShsYikpOworCQlmb3IgKGkgPSAxOyBpIDwgRkRJU0tfTkZJRUxEUzsgaSsrKSB7CisJCQljb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZsID0gZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkKGxiLCBpKTsKKwkJCWNvbnN0IGNoYXIgKm5hbWUgPSBmbCA/IGZkaXNrX2ZpZWxkX2dldF9uYW1lKGZsKSA6IE5VTEw7CisJCQlzaXplX3QgbGVuOworCisJCQlpZiAoIW5hbWUpCisJCQkJY29udGludWU7CisJCQlsZW4gPSBzdHJsZW4obmFtZSkgKyAxOworCQkJaWYgKHdpZHRoICsgbGVuID4gKHNpemVfdCkgdGVybXdpZHRoKSB7CisJCQkJZnB1dHMoIlxuICAgICAiLCBvdXQpOworCQkJCXdpZHRoID0gNjsKKwkJCX0KKwkJCWZwcmludGYob3V0LCAiICVzIiwgbmFtZSk7CisJCQl3aWR0aCArPSBsZW47CisJCX0KKwkJZnB1dGMoJ1xuJywgb3V0KTsKKwl9CisKKwlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7Cit9CisKK3N0YXRpYyBpbnQgZmllbGRuYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmbDsKKwljaGFyIGJ1ZltuYW1lc3ogKyAxXTsKKworCWFzc2VydChuYW1lKTsKKwlhc3NlcnQobmFtZXN6KTsKKwlhc3NlcnQoZmllbGRzX2xhYmVsKTsKKworCW1lbWNweShidWYsIG5hbWUsIG5hbWVzeik7CisJYnVmW25hbWVzel0gPSAnXDAnOworCisJZmwgPSBmZGlza19sYWJlbF9nZXRfZmllbGRfYnlfbmFtZShmaWVsZHNfbGFiZWwsIGJ1Zik7CisJaWYgKCFmbCkgeworCQl3YXJueChfKCIlcyB1bmtub3duIGNvbHVtbjogJXMiKSwKKwkJCQlmZGlza19sYWJlbF9nZXRfbmFtZShmaWVsZHNfbGFiZWwpLCBidWYpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiBmZGlza19maWVsZF9nZXRfaWQoZmwpOworfQorCisvKgorICogSW5pdGlhbGl6ZSBhcnJheSB3aXRoIG91dHB1dCBjb2x1bW5zIChmaWVsZHNfaWRzW10pIGFjY29yZGluZyB0bworICogY29tbWEgZGVsaW1pdGVkIGxpc3Qgb2YgY29sdW1ucyAoQHN0cikuIElmIHRoZSBsaXN0IHN0cmluZyBpcyBub3QKKyAqIGRlZmluZWQgdGhlbiB1c2UgbGlicmFyeSBkZWZhdWx0cy4gVGhpcyBmdW5jdGlvbiBpcyAiLW8gPGxpc3Q+IgorICogYmFja2VuZC4KKyAqCisgKiBJZiB0aGUgY29sdW1ucyBhcmUgYWxyZWFkeSBpbml0aWFsaXplZCB0aGVuIHJldHVybnMgYWxyZWFkeSBleGlzdGluZyBjb2x1bW5zLgorICovCitpbnQgKmluaXRfZmllbGRzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90ICpuKQoreworCWludCAqZGZsdF9pZHMgPSBOVUxMOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisKKwlpZiAoIWZpZWxkc19zdHJpbmcpCisJCWZpZWxkc19zdHJpbmcgPSBzdHI7CisJaWYgKCFjeHQpCisJICAgICAgIGdvdG8gZG9uZTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisKKwlpZiAoIWxiIHx8IGZpZWxkc19sYWJlbCAhPSBsYikgewkvKiBsYWJlbCBjaGFuZ2VkOiByZXNldCAqLworCQlmcmVlKGZpZWxkc19pZHMpOworCQlmaWVsZHNfaWRzID0gTlVMTDsKKwkJZmllbGRzX2xhYmVsID0gbGI7CisJCWZpZWxkc19uaWRzID0gMDsKKwl9CisKKwlpZiAoIWZpZWxkc19sYWJlbCkJLyogIG5vIGxhYmVsICovCisJCWdvdG8gZG9uZTsKKwlpZiAoZmllbGRzX25pZHMpCisJCWdvdG8gZG9uZTsJLyogYWxyZWFkeSBpbml0aWFsaXplZCAqLworCisJLyogbGlicmFyeSBkZWZhdWx0ICovCisJaWYgKGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzKE5VTEwsIGN4dCwgJmRmbHRfaWRzLCAmZmllbGRzX25pZHMpKQorCQlnb3RvIGRvbmU7CisKKwlmaWVsZHNfaWRzID0geGNhbGxvYyhGRElTS19ORklFTERTICogMiwgc2l6ZW9mKGludCkpOworCisJLyogY29weSBkZWZhdWx0cyB0byB0aGUgbGlzdCB3aXRoIHdhbnRlZCBmaWVsZHMgKi8KKwltZW1jcHkoZmllbGRzX2lkcywgZGZsdF9pZHMsIGZpZWxkc19uaWRzICogc2l6ZW9mKGludCkpOworCWZyZWUoZGZsdF9pZHMpOworCisJLyogZXh0ZW5kIG9yIHJlcGxhY2UgZmllbGRzX25pZHNbXSBhY2NvcmRpbmcgdG8gZmllbGRzX3N0cmluZyAqLworCWlmIChmaWVsZHNfc3RyaW5nICYmCisJICAgIHN0cmluZ19hZGRfdG9faWRhcnJheShmaWVsZHNfc3RyaW5nLCBmaWVsZHNfaWRzLCBGRElTS19ORklFTERTICogMiwKKwkJCSAgICAgICAgICAmZmllbGRzX25pZHMsIGZpZWxkbmFtZV90b19pZCkgPCAwKQorCQlleGl0KEVYSVRfRkFJTFVSRSk7Citkb25lOgorCWZpZWxkc19sYWJlbCA9IE5VTEw7CisJaWYgKG4pCisJCSpuID0gZmllbGRzX25pZHM7CisJcmV0dXJuIGZpZWxkc19pZHM7Cit9CisKZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZmRpc2stbGlzdC5oIGIvZGlzay11dGlscy9mZGlzay1saXN0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVkNWMyNQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZmRpc2stbGlzdC5oCkBAIC0wLDAgKzEsNDcgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9GRElTS19MSVNUX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9GRElTS19MSVNUX0gKKworZXh0ZXJuIHZvaWQgbGlzdF9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gdm9pZCBsaXN0X2Rpc2tfaWRlbnRpZmllcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiB2b2lkIGxpc3RfZGlza19nZW9tZXRyeShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiB2b2lkIGxpc3RfZnJlZXNwYWNlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitleHRlcm4gY2hhciAqbmV4dF9wcm9jX3BhcnRpdGlvbihGSUxFICoqZik7CitleHRlcm4gaW50IHByaW50X2RldmljZV9wdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjaGFyICpkZXZpY2UsIGludCB3YXJubWUsIGludCB2ZXJpZnkpOworZXh0ZXJuIGludCBwcmludF9kZXZpY2VfZnJlZXNwYWNlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNoYXIgKmRldmljZSwgaW50IHdhcm5tZSk7CisKK2V4dGVybiB2b2lkIHByaW50X2FsbF9kZXZpY2VzX3B0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCB2ZXJpZnkpOworZXh0ZXJuIHZvaWQgcHJpbnRfYWxsX2RldmljZXNfZnJlZXNwYWNlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitleHRlcm4gdm9pZCBsaXN0X2F2YWlsYWJsZV9jb2x1bW5zKEZJTEUgKm91dCk7CitleHRlcm4gaW50ICppbml0X2ZpZWxkcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpzdHIsIHNpemVfdCAqbik7CisKKworLyogdXNlZCBieSBmZGlzayBhbmQgc2ZkaXNrICovCitlbnVtIHsKKwlXSVBFTU9ERV9BVVRPID0gMCwKKwlXSVBFTU9ERV9ORVZFUiA9IDEsCisJV0lQRU1PREVfQUxXQVlTID0gMgorfTsKKworc3RhdGljIGlubGluZSBpbnQgd2lwZW1vZGVfZnJvbV9zdHJpbmcoY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCXN0YXRpYyBjb25zdCBjaGFyICptb2Rlc1tdID0geworCQlbV0lQRU1PREVfQVVUT10gICA9ICJhdXRvIiwKKwkJW1dJUEVNT0RFX05FVkVSXSAgPSAibmV2ZXIiLAorCQlbV0lQRU1PREVfQUxXQVlTXSA9ICJhbHdheXMiCisJfTsKKworCWlmICghc3RyIHx8ICEqc3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG1vZGVzKTsgaSsrKSB7CisJCWlmIChzdHJjYXNlY21wKHN0ciwgbW9kZXNbaV0pID09IDApCisJCQlyZXR1cm4gaTsKKwl9CisKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfRkRJU0tfTElTVF9IICovCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYyBiL2Rpc2stdXRpbHMvZmRpc2stbWVudS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyY2IwZDcKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYwpAQCAtMCwwICsxLDExMDAgQEAKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJycG1hdGNoLmgiCisjaW5jbHVkZSAiZmRpc2suaCIKKyNpbmNsdWRlICJwdC1zdW4uaCIKKyNpbmNsdWRlICJwdC1tYnIuaCIKKworc3RydWN0IG1lbnVfZW50cnkgeworCWNvbnN0IGNoYXIJa2V5OwkJCS8qIGNvbW1hbmQga2V5ICovCisJY29uc3QgY2hhcgkqdGl0bGU7CQkJLyogaGVscCBzdHJpbmcgKi8KKwl1bnNpZ25lZCBpbnQJbm9ybWFsIDogMSwJCS8qIG5vcm1hbCBtb2RlICovCisJCQlleHBlcnQgOiAxLAkJLyogZXhwZXJ0IG1vZGUgKi8KKwkJCWhpZGRlbiA6IDE7CQkvKiBiZSBzZW5zaXRpdmUgZm9yIHRoaXMga2V5LAorCQkJCQkJICAgYnV0IGRvbid0IHByaW50IGl0IGluIGhlbHAgKi8KKworCWVudW0gZmRpc2tfbGFiZWx0eXBlCWxhYmVsOwkJLyogb25seSBmb3IgdGhpcyBsYWJlbCAqLworCWludCAgICAgICAgICAgICAgICAgICAgIGV4Y2x1ZGU7ICAgIC8qIGFsbCBsYWJlbHMgZXhjZXB0IHRoZXNlICovCisJZW51bSBmZGlza19sYWJlbHR5cGUJcGFyZW50OwkJLyogZm9yIG5lc3RlZCBQVCAqLworfTsKKworI2RlZmluZSBJU19NRU5VX1NFUChlKQkoKGUpLT5rZXkgPT0gJy0nKQorI2RlZmluZSBJU19NRU5VX0hJRChlKQkoKGUpLT5oaWRkZW4pCisKK3N0cnVjdCBtZW51IHsKKwllbnVtIGZkaXNrX2xhYmVsdHlwZQlsYWJlbDsJCS8qIG9ubHkgZm9yIHRoaXMgbGFiZWwgKi8KKwlpbnQgICAgICAgICAgICAgICAgICAgICBleGNsdWRlOyAgICAvKiBhbGwgbGFiZWxzIGV4Y2VwdCB0aGVzZSAqLworCisJdW5zaWduZWQgaW50CQlub25lc3RlZCA6IDE7CS8qIGRvbid0IG1ha2UgdGhpcyBtZW51IGFjdGl2ZSBpbiBuZXN0ZWQgUFQgKi8KKworCWludCAoKmNhbGxiYWNrKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqKiwKKwkJCWNvbnN0IHN0cnVjdCBtZW51ICosCisJCQljb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqKTsKKworCXN0cnVjdCBtZW51X2VudHJ5CWVudHJpZXNbXTsJLyogTlVMTCB0ZXJtaW5hdGVkIGFycmF5ICovCit9OworCitzdHJ1Y3QgbWVudV9jb250ZXh0IHsKKwlzaXplX3QJCW1lbnVfaWR4OwkJLyogdGhlIGN1cnJlbnQgbWVudSAqLworCXNpemVfdAkJZW50cnlfaWR4OwkJLyogaW5kZXggd2l0aCBpbiB0aGUgY3VycmVudCBtZW51ICovCit9OworCisjZGVmaW5lIE1FTlVfQ1hUX0VNUFRZCXsgMCwgMCB9CisjZGVmaW5lIERFQ0xBUkVfTUVOVV9DQih4KSBcCisJc3RhdGljIGludCB4KHN0cnVjdCBmZGlza19jb250ZXh0ICoqLCBcCisJCSAgICAgY29uc3Qgc3RydWN0IG1lbnUgKiwgXAorCQkgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICopCisKK0RFQ0xBUkVfTUVOVV9DQihncHRfbWVudV9jYik7CitERUNMQVJFX01FTlVfQ0Ioc3VuX21lbnVfY2IpOworREVDTEFSRV9NRU5VX0NCKHNnaV9tZW51X2NiKTsKK0RFQ0xBUkVfTUVOVV9DQihnZW9fbWVudV9jYik7CitERUNMQVJFX01FTlVfQ0IoZG9zX21lbnVfY2IpOworREVDTEFSRV9NRU5VX0NCKGJzZF9tZW51X2NiKTsKK0RFQ0xBUkVfTUVOVV9DQihjcmVhdGVsYWJlbF9tZW51X2NiKTsKK0RFQ0xBUkVfTUVOVV9DQihnZW5lcmljX21lbnVfY2IpOworCisvKgorICogTWVudSBlbnRyeSBtYWNyb3M6CisgKglNRU5VX1gqICAgIGV4cGVydCBtb2RlIG9ubHkKKyAqICAgICAgTUVOVV9CKiAgICBib3RoIC0tIGV4cGVydCArIG5vcm1hbCBtb2RlCisgKgorICogICAgICAqX0UgIGV4Y2x1ZGUgdGhpcyBsYWJlbAorICogICAgICAqX0ggIGhpZGRlbgorICogICAgICAqX0wgIG9ubHkgZm9yIHRoaXMgbGFiZWwKKyAqLworCisvKiBzZXBhcmF0b3IgKi8KKyNkZWZpbmUgTUVOVV9TRVAodCkJCXsgLnRpdGxlID0gdCwgLmtleSA9ICctJywgLm5vcm1hbCA9IDEgfQorI2RlZmluZSBNRU5VX1hTRVAodCkJCXsgLnRpdGxlID0gdCwgLmtleSA9ICctJywgLmV4cGVydCA9IDEgfQorI2RlZmluZSBNRU5VX0JTRVAodCkJCXsgLnRpdGxlID0gdCwgLmtleSA9ICctJywgLmV4cGVydCA9IDEsIC5ub3JtYWwgPSAxIH0KKworLyogZW50cnkgKi8KKyNkZWZpbmUgTUVOVV9FTlQoaywgdCkJCXsgLnRpdGxlID0gdCwgLmtleSA9IGssIC5ub3JtYWwgPSAxIH0KKyNkZWZpbmUgTUVOVV9FTlRfRShrLCB0LCBsKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAubm9ybWFsID0gMSwgLmV4Y2x1ZGUgPSBsIH0KKyNkZWZpbmUgTUVOVV9FTlRfTChrLCB0LCBsKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAubm9ybWFsID0gMSwgLmxhYmVsID0gbCB9CisKKyNkZWZpbmUgTUVOVV9YRU5UKGssIHQpCQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSB9CisjZGVmaW5lIE1FTlVfWEVOVF9IKGssIHQpCXsgLnRpdGxlID0gdCwgLmtleSA9IGssIC5leHBlcnQgPSAxLCAuaGlkZGVuID0gMSB9CisKKyNkZWZpbmUgTUVOVV9CRU5UKGssIHQpCQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSwgLm5vcm1hbCA9IDEgfQorI2RlZmluZSBNRU5VX0JFTlRfRShrLCB0LCBsKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSwgLm5vcm1hbCA9IDEsIC5leGNsdWRlID0gbCB9CisKKyNkZWZpbmUgTUVOVV9FTlRfTkVTVChrLCB0LCBsLCBwKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAubm9ybWFsID0gMSwgLmxhYmVsID0gbCwgLnBhcmVudCA9IHAgfQorI2RlZmluZSBNRU5VX1hFTlRfTkVTVChrLCB0LCBsLCBwKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSwgLmxhYmVsID0gbCwgLnBhcmVudCA9IHAgfQorI2RlZmluZSBNRU5VX0JFTlRfTkVTVChrLCB0LCBsLCBwKQl7IC50aXRsZSA9IHQsIC5rZXkgPSBrLCAuZXhwZXJ0ID0gMSwgLm5vcm1hbCA9IDEsIC5sYWJlbCA9IGwsIC5wYXJlbnQgPSBwIH0KKworLyogR2VuZXJpYyBtZW51ICovCitzdGF0aWMgY29uc3Qgc3RydWN0IG1lbnUgbWVudV9nZW5lcmljID0geworCS5jYWxsYmFjawk9IGdlbmVyaWNfbWVudV9jYiwKKwkuZW50cmllcwk9IHsKKwkJTUVOVV9CU0VQKE5fKCJHZW5lcmljIikpLAorCQlNRU5VX0VOVCAgKCdkJywgTl8oImRlbGV0ZSBhIHBhcnRpdGlvbiIpKSwKKwkJTUVOVV9FTlQgICgnRicsIE5fKCJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIpKSwKKwkJTUVOVV9FTlQgICgnbCcsIE5fKCJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIpKSwKKwkJTUVOVV9FTlQgICgnbicsIE5fKCJhZGQgYSBuZXcgcGFydGl0aW9uIikpLAorCQlNRU5VX0JFTlQgKCdwJywgTl8oInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiKSksCisJCU1FTlVfRU5UICAoJ3QnLCBOXygiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiKSksCisJCU1FTlVfQkVOVF9FKCd2JywgTl8oInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIiksIEZESVNLX0RJU0tMQUJFTF9CU0QpLAorCQlNRU5VX0VOVCAgKCdpJywgTl8oInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIikpLAorCisJCU1FTlVfWEVOVCgnZCcsIE5fKCJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiKSksCisJCU1FTlVfWEVOVCgnRCcsIE5fKCJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiKSksCisJCU1FTlVfWEVOVCgnZicsIE5fKCJmaXggcGFydGl0aW9ucyBvcmRlciIpKSwKKworCQlNRU5VX1NFUChOXygiTWlzYyIpKSwKKwkJTUVOVV9CRU5UICgnbScsIE5fKCJwcmludCB0aGlzIG1lbnUiKSksCisJCU1FTlVfRU5UX0UoJ3UnLCBOXygiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiKSwgRkRJU0tfRElTS0xBQkVMX0dQVCksCisJCU1FTlVfRU5UX0UoJ3gnLCBOXygiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIpLCBGRElTS19ESVNLTEFCRUxfQlNEKSwKKworCQlNRU5VX1NFUChOXygiU2NyaXB0IikpLAorCQlNRU5VX0VOVCAgKCdJJywgTl8oImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiKSksCisJCU1FTlVfRU5UICAoJ08nLCBOXygiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiKSksCisKKwkJTUVOVV9CU0VQKE5fKCJTYXZlICYgRXhpdCIpKSwKKwkJTUVOVV9FTlRfRSgndycsIE5fKCJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IiksIEZESVNLX0RJU0tMQUJFTF9CU0QpLAorCQlNRU5VX0VOVF9MKCd3JywgTl8oIndyaXRlIHRhYmxlIHRvIGRpc2siKSwgRkRJU0tfRElTS0xBQkVMX0JTRCksCisJCU1FTlVfQkVOVCAoJ3EnLCBOXygicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIikpLAorCQlNRU5VX1hFTlQgKCdyJywgTl8oInJldHVybiB0byBtYWluIG1lbnUiKSksCisKKwkJTUVOVV9FTlRfTkVTVCgncicsIE5fKCJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIiksIEZESVNLX0RJU0tMQUJFTF9CU0QsIEZESVNLX0RJU0tMQUJFTF9ET1MpLAorCisJCXsgMCwgTlVMTCB9CisJfQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBtZW51IG1lbnVfY3JlYXRlbGFiZWwgPSB7CisJLmNhbGxiYWNrID0gY3JlYXRlbGFiZWxfbWVudV9jYiwKKwkuZXhjbHVkZSA9IEZESVNLX0RJU0tMQUJFTF9CU0QsCisJLm5vbmVzdGVkID0gMSwKKwkuZW50cmllcyA9IHsKKwkJTUVOVV9TRVAoTl8oIkNyZWF0ZSBhIG5ldyBsYWJlbCIpKSwKKwkJTUVOVV9FTlQoJ2cnLCBOXygiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiKSksCisJCU1FTlVfRU5UKCdHJywgTl8oImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIpKSwKKwkJTUVOVV9FTlQoJ28nLCBOXygiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiKSksCisJCU1FTlVfRU5UKCdzJywgTl8oImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIikpLAorCisJCS8qIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgLS0gYmUgc2Vuc2l0aXZlIHRvICdnJywgYnV0IGRvbid0CisJCSAqIHByaW50IGl0IGluIHRoZSBleHBlcnQgbWVudSAqLworCQlNRU5VX1hFTlRfSCgnZycsIE5fKCJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiKSksCisJCXsgMCwgTlVMTCB9CisJfQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBtZW51IG1lbnVfZ2VvID0geworCS5jYWxsYmFjayA9IGdlb19tZW51X2NiLAorCS5leGNsdWRlID0gRkRJU0tfRElTS0xBQkVMX0dQVCB8IEZESVNLX0RJU0tMQUJFTF9CU0QsCisJLmVudHJpZXMgPSB7CisJCU1FTlVfWFNFUChOXygiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiKSksCisJCU1FTlVfWEVOVCgnYycsIE5fKCJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIpKSwKKwkJTUVOVV9YRU5UKCdoJywgTl8oImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiKSksCisJCU1FTlVfWEVOVCgncycsIE5fKCJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siKSksCisJCXsgMCwgTlVMTCB9CisJfQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBtZW51IG1lbnVfZ3B0ID0geworCS5jYWxsYmFjayA9IGdwdF9tZW51X2NiLAorCS5sYWJlbCA9IEZESVNLX0RJU0tMQUJFTF9HUFQsCisJLmVudHJpZXMgPSB7CisJCU1FTlVfQlNFUChOXygiR1BUIikpLAorCQlNRU5VX1hFTlQoJ2knLCBOXygiY2hhbmdlIGRpc2sgR1VJRCIpKSwKKwkJTUVOVV9YRU5UKCduJywgTl8oImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIpKSwKKwkJTUVOVV9YRU5UKCd1JywgTl8oImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIpKSwKKwkJTUVOVV9YRU5UKCdsJywgTl8oImNoYW5nZSB0YWJsZSBsZW5ndGgiKSksCisJCU1FTlVfQkVOVCgnTScsIE5fKCJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiKSksCisKKwkJTUVOVV9YU0VQKCIiKSwKKwkJTUVOVV9YRU5UKCdBJywgTl8oInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIpKSwKKwkJTUVOVV9YRU5UKCdCJywgTl8oInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIpKSwKKwkJTUVOVV9YRU5UKCdSJywgTl8oInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciKSksCisJCU1FTlVfWEVOVCgnUycsIE5fKCJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIpKSwKKworCQl7IDAsIE5VTEwgfQorCX0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWVudSBtZW51X3N1biA9IHsKKwkuY2FsbGJhY2sgPSBzdW5fbWVudV9jYiwKKwkubGFiZWwgPSBGRElTS19ESVNLTEFCRUxfU1VOLAorCS5lbnRyaWVzID0geworCQlNRU5VX0JTRVAoTl8oIlN1biIpKSwKKwkJTUVOVV9FTlQoJ2EnLCBOXygidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIpKSwKKwkJTUVOVV9FTlQoJ2MnLCBOXygidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIpKSwKKworCQlNRU5VX1hFTlQoJ2EnLCBOXygiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIikpLAorCQlNRU5VX1hFTlQoJ2UnLCBOXygiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIpKSwKKwkJTUVOVV9YRU5UKCdpJywgTl8oImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIpKSwKKwkJTUVOVV9YRU5UKCdvJywgTl8oImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIpKSwKKwkJTUVOVV9YRU5UKCd5JywgTl8oImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIikpLAorCQl7IDAsIE5VTEwgfQorCX0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWVudSBtZW51X3NnaSA9IHsKKwkuY2FsbGJhY2sgPSBzZ2lfbWVudV9jYiwKKwkubGFiZWwgPSBGRElTS19ESVNLTEFCRUxfU0dJLAorCS5lbnRyaWVzID0geworCQlNRU5VX1NFUChOXygiU0dJIikpLAorCQlNRU5VX0VOVCgnYScsIE5fKCJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIikpLAorCQlNRU5VX0VOVCgnYicsIE5fKCJlZGl0IGJvb3RmaWxlIGVudHJ5IikpLAorCQlNRU5VX0VOVCgnYycsIE5fKCJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIikpLAorCQlNRU5VX0VOVCgnaScsIE5fKCJjcmVhdGUgU0dJIGluZm8iKSksCisJCXsgMCwgTlVMTCB9CisJfQorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBtZW51IG1lbnVfZG9zID0geworCS5jYWxsYmFjayA9IGRvc19tZW51X2NiLAorCS5sYWJlbCA9IEZESVNLX0RJU0tMQUJFTF9ET1MsCisJLmVudHJpZXMgPSB7CisJCU1FTlVfQlNFUChOXygiRE9TIChNQlIpIikpLAorCQlNRU5VX0VOVCgnYScsIE5fKCJ0b2dnbGUgYSBib290YWJsZSBmbGFnIikpLAorCQlNRU5VX0VOVCgnYicsIE5fKCJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIikpLAorCQlNRU5VX0VOVCgnYycsIE5fKCJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciKSksCisKKwkJTUVOVV9YRU5UKCdiJywgTl8oIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iKSksCisJCU1FTlVfWEVOVCgnaScsIE5fKCJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIpKSwKKworCQlNRU5VX0JFTlRfTkVTVCgnTScsIE5fKCJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIiksCisJCQkJCUZESVNLX0RJU0tMQUJFTF9ET1MsIEZESVNLX0RJU0tMQUJFTF9HUFQpLAorCQl7IDAsIE5VTEwgfQorCX0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWVudSBtZW51X2JzZCA9IHsKKwkuY2FsbGJhY2sgPSBic2RfbWVudV9jYiwKKwkubGFiZWwgPSBGRElTS19ESVNLTEFCRUxfQlNELAorCS5lbnRyaWVzID0geworCQlNRU5VX1NFUChOXygiQlNEIikpLAorCQlNRU5VX0VOVCgnZScsIE5fKCJlZGl0IGRyaXZlIGRhdGEiKSksCisJCU1FTlVfRU5UKCdpJywgTl8oImluc3RhbGwgYm9vdHN0cmFwIikpLAorCQlNRU5VX0VOVCgncycsIE5fKCJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIpKSwKKwkJTUVOVV9FTlQoJ3gnLCBOXygibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIikpLAorCQl7IDAsIE5VTEwgfQorCX0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWVudSAqbWVudXNbXSA9IHsKKwkmbWVudV9ncHQsCisJJm1lbnVfc3VuLAorCSZtZW51X3NnaSwKKwkmbWVudV9kb3MsCisJJm1lbnVfYnNkLAorCSZtZW51X2dlbywKKwkmbWVudV9nZW5lcmljLAorCSZtZW51X2NyZWF0ZWxhYmVsLAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICpuZXh0X21lbnVfZW50cnkoCisJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJc3RydWN0IG1lbnVfY29udGV4dCAqbWMpCit7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCXN0cnVjdCBmZGlza19jb250ZXh0ICpwYXJlbnQgPSBmZGlza19nZXRfcGFyZW50KGN4dCk7CisJdW5zaWduZWQgaW50IHR5cGUgPSAwLCBwcl90eXBlID0gMDsKKworCWFzc2VydChjeHQpOworCisJaWYgKGxiKQorCQl0eXBlID0gZmRpc2tfbGFiZWxfZ2V0X3R5cGUobGIpOworCWlmIChwYXJlbnQpCisJCXByX3R5cGUgPSBmZGlza19sYWJlbF9nZXRfdHlwZShmZGlza19nZXRfbGFiZWwocGFyZW50LCBOVUxMKSk7CisKKwl3aGlsZSAobWMtPm1lbnVfaWR4IDwgQVJSQVlfU0laRShtZW51cykpIHsKKwkJY29uc3Qgc3RydWN0IG1lbnUgKm0gPSBtZW51c1ttYy0+bWVudV9pZHhdOworCQljb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZSA9ICYobS0+ZW50cmllc1ttYy0+ZW50cnlfaWR4XSk7CisKKwkJLyoKKwkJICogd2hvbGUtbWVudSBmaWx0ZXIKKwkJICovCisKKwkJLyogbm8gbW9yZSBlbnRyaWVzICovCisJCWlmIChlLT50aXRsZSA9PSBOVUxMIHx8CisJCS8qIG1lbnUgd2FudGVkIGZvciBzcGVjaWZpZWQgbGFiZWxzIG9ubHkgKi8KKwkJICAgIChtLT5sYWJlbCAmJiBsYiAmJiAhKG0tPmxhYmVsICYgdHlwZSkpIHx8CisJCS8qIHVud2FudGVkIGZvciBuZXN0ZWQgUFQgKi8KKwkJICAgIChtLT5ub25lc3RlZCAmJiBwYXJlbnQpIHx8CisJCS8qIG1lbnUgZXhjbHVkZWQgZm9yIHNwZWNpZmllZCBsYWJlbHMgKi8KKwkJICAgIChtLT5leGNsdWRlICYmIGxiICYmIChtLT5leGNsdWRlICYgdHlwZSkpKSB7CisJCQltYy0+bWVudV9pZHgrKzsKKwkJCW1jLT5lbnRyeV9pZHggPSAwOworCQkJY29udGludWU7CisJCX0KKworCQkvKgorCQkgKiBwZXIgZW50cnkgZmlsdGVyCisJCSAqLworCisJCS8qIGV4Y2x1ZGVkIGZvciB0aGUgY3VycmVudCBsYWJlbCAqLworCQlpZiAoKGUtPmV4Y2x1ZGUgJiYgbGIgJiYgZS0+ZXhjbHVkZSAmIHR5cGUpIHx8CisJCS8qIGVudHJ5IHdhbnRlZCBmb3Igc3BlY2lmaWVkIGxhYmVscyBvbmx5ICovCisJCSAgICAoZS0+bGFiZWwgJiYgbGIgJiYgIShlLT5sYWJlbCAmIHR5cGUpKSB8fAorCQkvKiBleGNsdWRlIG5vbi1leHBlcnQgZW50cmllcyBpbiBleHBlY3QgbW9kZSAqLworCQkgICAgKGUtPmV4cGVydCA9PSAwICYmIGZkaXNrX2lzX2RldGFpbHMoY3h0KSkgfHwKKwkJLyogbmVzdGVkIG9ubHkgKi8KKwkJICAgIChlLT5wYXJlbnQgJiYgKCFwYXJlbnQgfHwgcHJfdHlwZSAhPSBlLT5wYXJlbnQpKSB8fAorCQkvKiBleGNsdWRlIG5vbi1ub3JtYWwgZW50cmllcyBpbiBub3JtYWwgbW9kZSAqLworCQkgICAgKGUtPm5vcm1hbCA9PSAwICYmICFmZGlza19pc19kZXRhaWxzKGN4dCkpKSB7CisJCQltYy0+ZW50cnlfaWR4Kys7CisJCQljb250aW51ZTsKKwkJfQorCQltYy0+ZW50cnlfaWR4Kys7CisJCXJldHVybiBlOworCisJfQorCXJldHVybiBOVUxMOworfQorCisvKiByZXR1cm5zIEBtZW51IGFuZCBtZW51IGVudHJ5IGZvciB0aGVuIEBrZXkgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZ2V0X2ZkaXNrX21lbnVfZW50cnkoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWludCBrZXksCisJCWNvbnN0IHN0cnVjdCBtZW51ICoqbWVudSkKK3sKKwlzdHJ1Y3QgbWVudV9jb250ZXh0IG1jID0gTUVOVV9DWFRfRU1QVFk7CisJY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmU7CisKKwl3aGlsZSAoKGUgPSBuZXh0X21lbnVfZW50cnkoY3h0LCAmbWMpKSkgeworCQlpZiAoSVNfTUVOVV9TRVAoZSkgfHwgZS0+a2V5ICE9IGtleSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChtZW51KQorCQkJKm1lbnUgPSBtZW51c1ttYy5tZW51X2lkeF07CisJCXJldHVybiBlOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IG1lbnVfZGV0ZWN0X2NvbGxpc2lvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgbWVudV9jb250ZXh0IG1jID0gTUVOVV9DWFRfRU1QVFk7CisJY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmUsICpyOworCisJd2hpbGUgKChlID0gbmV4dF9tZW51X2VudHJ5KGN4dCwgJm1jKSkpIHsKKwkJaWYgKElTX01FTlVfU0VQKGUpKQorCQkJY29udGludWU7CisKKwkJciA9IGdldF9mZGlza19tZW51X2VudHJ5KGN4dCwgZS0+a2V5LCBOVUxMKTsKKwkJaWYgKCFyKSB7CisJCQlEQkcoTUVOVSwgdWxfZGVidWcoIndhcm5pbmc6IG5vdCBmb3VuZCAiCisJCQkJCSJlbnRyeSBmb3IgJWMiLCBlLT5rZXkpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCQlpZiAociAhPSBlKSB7CisJCQlEQkcoTUVOVSwgdWxfZGVidWcoIndhcm5pbmc6IGR1cGxpY2F0ZSBrZXkgJyVjJyIsCisJCQkJCQllLT5rZXkpKTsKKwkJCURCRyhNRU5VLCB1bF9kZWJ1ZygiICAgICAgIDogJXMiLCBlLT50aXRsZSkpOworCQkJREJHKE1FTlUsIHVsX2RlYnVnKCIgICAgICAgOiAlcyIsIHItPnRpdGxlKSk7CisJCQlhYm9ydCgpOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfZmRpc2tfbWVudShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBtZW51X2NvbnRleHQgbWMgPSBNRU5VX0NYVF9FTVBUWTsKKwljb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZTsKKworCU9OX0RCRyhNRU5VLCBtZW51X2RldGVjdF9jb2xsaXNpb25zKGN4dCkpOworCisJaWYgKGZkaXNrX2lzX2RldGFpbHMoY3h0KSkKKwkJcHJpbnRmKF8oIlxuSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIpKTsKKwllbHNlCisJCXByaW50ZihfKCJcbkhlbHA6XG4iKSk7CisKKwl3aGlsZSAoKGUgPSBuZXh0X21lbnVfZW50cnkoY3h0LCAmbWMpKSkgeworCQlpZiAoSVNfTUVOVV9ISUQoZSkpCisJCQljb250aW51ZTsJLyogaGlkZGVuIGVudHJ5ICovCisJCWlmIChJU19NRU5VX1NFUChlKSAmJiAoIWUtPnRpdGxlIHx8ICEqZS0+dGl0bGUpKQorCQkJcHJpbnRmKCJcbiIpOworCQllbHNlIGlmIChJU19NRU5VX1NFUChlKSkgeworCQkJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVscC10aXRsZSIsIFVMX0NPTE9SX0JPTEQpOworCQkJcHJpbnRmKCJcbiAgJXNcbiIsIF8oZS0+dGl0bGUpKTsKKwkJCWNvbG9yX2Rpc2FibGUoKTsKKwkJfSBlbHNlCisJCQlwcmludGYoIiAgICVjICAgJXNcbiIsIGUtPmtleSwgXyhlLT50aXRsZSkpOworCX0KKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCisJaWYgKGZkaXNrX2dldF9wYXJlbnQoY3h0KSkgeworCQlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmwgPSBmZGlza19nZXRfbGFiZWwoY3h0LCBOVUxMKSwKKwkJCQkgICAqcCA9IGZkaXNrX2dldF9sYWJlbChmZGlza19nZXRfcGFyZW50KGN4dCksIE5VTEwpOworCisJCWZkaXNrX2luZm8oY3h0LCBfKCJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsICIKKwkJCQkgICJwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIpLAorCQkJCWZkaXNrX2xhYmVsX2dldF9uYW1lKGwpLAorCQkJCWZkaXNrX2xhYmVsX2dldF9uYW1lKHApKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogQXNrcyBmb3IgY29tbWFuZCwgdmVyaWZ5IHRoZSBrZXkgYW5kIHBlcmZvcm0gdGhlIGNvbW1hbmQgb3IKKyAqIHJldHVybnMgdGhlIGNvbW1hbmQga2V5IGlmIG5vIGNhbGxiYWNrIGZvciB0aGUgY29tbWFuZCBpcworICogaW1wbGVtZW50ZWQuCisgKgorICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gbWlnaHQgZXhjaGFuZ2UgdGhlIGNvbnRleHQgcG9pbnRlciB0bworICogc3dpdGNoIHRvIGFub3RoZXIgKG5lc3RlZCkgY29udGV4dC4KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvcgorICogICAgICAgICAgIDAgb24gc3VjY2VzcyAodGhlIGNvbW1hbmQgcGVyZm9ybWVkKQorICogICAgICAgICAgPjAgaWYgbm8gY2FsbGJhY2sgKHRoZW4gcmV0dXJucyB0aGUga2V5KQorICovCitpbnQgcHJvY2Vzc19mZGlza19tZW51KHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCkKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0ID0gKmN4dDA7CisJY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmVudDsKKwljb25zdCBzdHJ1Y3QgbWVudSAqbWVudTsKKwlpbnQga2V5LCByYzsKKwljb25zdCBjaGFyICpwcm9tcHQ7CisJY2hhciBidWZbQlVGU0laXTsKKworCWlmIChmZGlza19pc19kZXRhaWxzKGN4dCkpCisJCXByb21wdCA9IF8oIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIik7CisJZWxzZQorCQlwcm9tcHQgPSBfKCJDb21tYW5kIChtIGZvciBoZWxwKTogIik7CisKKwlmcHV0YygnXG4nLHN0ZG91dCk7CisJcmMgPSBnZXRfdXNlcl9yZXBseShwcm9tcHQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJaWYgKHJjID09IC1FQ0FOQ0VMRUQpIHsKKwkJLyogTWFwIF5DIGFuZCBeRCBpbiBtYWluIG1lbnUgdG8gJ3EnICovCisJCWlmIChpc19pbnRlcmFjdGl2ZQorCQkgICAgJiYgZmRpc2tfbGFiZWxfaXNfY2hhbmdlZChmZGlza19nZXRfbGFiZWwoY3h0LCBOVUxMKSkpIHsKKwkJCXJjID0gZ2V0X3VzZXJfcmVwbHkoCisJCQkJXygiXG5EbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIiksCisJCQkJYnVmLCBzaXplb2YoYnVmKSk7CisJCQlpZiAocmMgfHwgIXJwbWF0Y2goYnVmKSkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCQlrZXkgPSAncSc7CisJfSBlbHNlIGlmIChyYykgeworCQlyZXR1cm4gcmM7CisJfSBlbHNlCisJCWtleSA9IGJ1ZlswXTsKKworCWVudCA9IGdldF9mZGlza19tZW51X2VudHJ5KGN4dCwga2V5LCAmbWVudSk7CisJaWYgKCFlbnQpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCIlYzogdW5rbm93biBjb21tYW5kIiksIGtleSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCURCRyhNRU5VLCB1bF9kZWJ1Zygic2VsZWN0ZWQ6IGtleT0lYywgZW50cnk9JyVzJyIsCisJCQkJa2V5LCBlbnQtPnRpdGxlKSk7CisKKwkvKiBtZW51IGhhcyBpbXBsZW1lbnRlZCBjYWxsYmFjaywgdXNlIGl0ICovCisJaWYgKG1lbnUtPmNhbGxiYWNrKQorCQlyYyA9IG1lbnUtPmNhbGxiYWNrKGN4dDAsIG1lbnUsIGVudCk7CisJZWxzZSB7CisJCURCRyhNRU5VLCB1bF9kZWJ1Zygibm8gY2FsbGJhY2sgZm9yIGtleSAnJWMnIiwga2V5KSk7CisJCXJjID0gLUVJTlZBTDsKKwl9CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoInByb2Nlc3MgbWVudSBkb25lIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzY3JpcHRfcmVhZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19zY3JpcHQgKnNjID0gTlVMTDsKKwljaGFyICpmaWxlbmFtZSA9IE5VTEw7CisJaW50IHJjOworCisJcmMgPSBmZGlza19hc2tfc3RyaW5nKGN4dCwgXygiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIpLCAmZmlsZW5hbWUpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJZXJybm8gPSAwOworCXNjID0gZmRpc2tfbmV3X3NjcmlwdF9mcm9tX2ZpbGUoY3h0LCBmaWxlbmFtZSk7CisJaWYgKCFzYyAmJiBlcnJubykKKwkJZmRpc2tfd2FybihjeHQsIF8oIkNhbm5vdCBvcGVuICVzIiksIGZpbGVuYW1lKTsKKwllbHNlIGlmICghc2MpCisJCWZkaXNrX3dhcm54KGN4dCwgXygiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIiksIGZpbGVuYW1lKTsKKwllbHNlIGlmIChmZGlza19hcHBseV9zY3JpcHQoY3h0LCBzYykgIT0gMCkgeworCQlmZGlza193YXJueChjeHQsIF8oIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiKSwgZmlsZW5hbWUpOworCQlmZGlza193YXJueChjeHQsIF8oIlJlc2V0dGluZyBmZGlzayEiKSk7CisJCXJjID0gZmRpc2tfcmVhc3NpZ25fZGV2aWNlKGN4dCk7CisgICAgICAgICAgICAgICAgaWYgKHJjID09IDAgJiYgIWZkaXNrX2hhc19sYWJlbChjeHQpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmZGlza19pbmZvKGN4dCwgXygiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgTlVMTCk7CisJCX0KKwl9IGVsc2UKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iKSk7CisKKwlmZGlza191bnJlZl9zY3JpcHQoc2MpOworCWZyZWUoZmlsZW5hbWUpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzY3JpcHRfd3JpdGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpzYyA9IE5VTEw7CisJY2hhciAqZmlsZW5hbWUgPSBOVUxMOworCUZJTEUgKmYgPSBOVUxMOworCWludCByYzsKKworCXJjID0gZmRpc2tfYXNrX3N0cmluZyhjeHQsIF8oIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiKSwgJmZpbGVuYW1lKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXNjID0gZmRpc2tfbmV3X3NjcmlwdChjeHQpOworCWlmICghc2MpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIpKTsKKwkJZ290byBkb25lOworCX0KKworCXJjID0gZmRpc2tfc2NyaXB0X3JlYWRfY29udGV4dChzYywgTlVMTCk7CisJaWYgKHJjKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIpKTsKKwkJZ290byBkb25lOworCX0KKworCWYgPSBmb3BlbihmaWxlbmFtZSwgInciKTsKKwlpZiAoIWYpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oIkNhbm5vdCBvcGVuICVzIiksIGZpbGVuYW1lKTsKKwkJZ290byBkb25lOworCX0KKworCXJjID0gZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGUoc2MsIGYpOworCWlmIChyYykKKwkJZmRpc2tfd2FybihjeHQsIF8oIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiKSwgZmlsZW5hbWUpOworCWVsc2UKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIikpOworZG9uZToKKwlpZiAoZikKKwkJZmNsb3NlKGYpOworCWZkaXNrX3VucmVmX3NjcmlwdChzYyk7CisJZnJlZShmaWxlbmFtZSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGFza19mb3Jfd2lwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG5vKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnRtcCA9IE5VTEw7CisJY2hhciAqZnN0eXBlID0gTlVMTDsKKwlpbnQgcmMsIHllcyA9IDA7CisKKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb24oY3h0LCBwYXJ0bm8sICZ0bXApOworCWlmIChyYykKKwkJZ290byBkb25lOworCisJcmMgPSBmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHRtcCwgY3h0LCBGRElTS19GSUVMRF9GU1RZUEUsICZmc3R5cGUpOworCWlmIChyYyB8fCBmc3R5cGUgPT0gTlVMTCkKKwkJZ290byBkb25lOworCisJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iKSwgcGFydG5vICsgMSwgZnN0eXBlKTsKKworCWlmIChwd2lwZW1vZGUgPT0gV0lQRU1PREVfQVVUTyAmJiBpc2F0dHkoU1RESU5fRklMRU5PKSkKKwkJZmRpc2tfYXNrX3llc25vKGN4dCwgXygiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IiksICZ5ZXMpOworCWVsc2UgaWYgKHB3aXBlbW9kZSA9PSBXSVBFTU9ERV9BTFdBWVMpCisJCXllcyA9IDE7CisKKwlpZiAoeWVzKSB7CisJCWZkaXNrX2luZm8oY3h0LCBfKCJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIikpOworCQlyYyA9IGZkaXNrX3dpcGVfcGFydGl0aW9uKGN4dCwgcGFydG5vLCBUUlVFKTsKKwl9Citkb25lOgorCWZkaXNrX3VucmVmX3BhcnRpdGlvbih0bXApOworCWZyZWUoZnN0eXBlKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBCYXNpYyBmZGlzayBhY3Rpb25zCisgKi8KK3N0YXRpYyBpbnQgZ2VuZXJpY19tZW51X2NiKHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51ICptZW51IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICplbnQpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9ICpjeHQwOworCWludCByYyA9IDA7CisJc2l6ZV90IG47CisKKwkvKiBhY3Rpb25zIHNoYXJlZCBiZXR3ZWVuIGV4cGVydCBhbmQgbm9ybWFsIG1vZGUgKi8KKwlzd2l0Y2ggKGVudC0+a2V5KSB7CisJY2FzZSAncCc6CisJCWxpc3RfZGlza19nZW9tZXRyeShjeHQpOworCQlsaXN0X2Rpc2tsYWJlbChjeHQpOworCQlicmVhazsKKwljYXNlICd3JzoKKwkJaWYgKGZkaXNrX2lzX3JlYWRvbmx5KGN4dCkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIikpOworCQkJYnJlYWs7CisJCX0KKwkJcmMgPSBmZGlza193cml0ZV9kaXNrbGFiZWwoY3h0KTsKKwkJaWYgKHJjKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIpKTsKKwkJaWYgKGZkaXNrX2dldF9wYXJlbnQoY3h0KSkKKwkJCWJyZWFrOyAvKiBuZXN0ZWQgUFQsIGRvbid0IGxlYXZlICovCisJCWZkaXNrX2luZm8oY3h0LCBfKCJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIikpOworCisJCWlmIChkZXZpY2VfaXNfdXNlZCkKKwkJCXJjID0gZmRpc2tfcmVyZWFkX2NoYW5nZXMoY3h0LCBvcmlnaW5hbF9sYXlvdXQpOworCQllbHNlCisJCQlyYyA9IGZkaXNrX3JlcmVhZF9wYXJ0aXRpb25fdGFibGUoY3h0KTsKKwkJaWYgKCFyYykKKwkJCXJjID0gZmRpc2tfZGVhc3NpZ25fZGV2aWNlKGN4dCwgMCk7CisJCS8qIGZhbGx0aHJvdWdoICovCisJY2FzZSAncSc6CisJCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJZXhpdChyYyA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFKTsKKwljYXNlICdtJzoKKwkJcmMgPSBwcmludF9mZGlza19tZW51KGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ3YnOgorCQlyYyA9IGZkaXNrX3ZlcmlmeV9kaXNrbGFiZWwoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnaSc6CisJCXJjID0gcHJpbnRfcGFydGl0aW9uX2luZm8oY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnRic6CisJCWxpc3RfZnJlZXNwYWNlKGN4dCk7CisJCWJyZWFrOworCX0KKworCS8qIGV4cGVydCBtb2RlICovCisJaWYgKGVudC0+ZXhwZXJ0KSB7CisJCXN3aXRjaCAoZW50LT5rZXkpIHsKKwkJY2FzZSAnZCc6CisJCQlkdW1wX2ZpcnN0c2VjdG9yKGN4dCk7CisJCQlicmVhazsKKwkJY2FzZSAnRCc6CisJCQlkdW1wX2Rpc2tsYWJlbChjeHQpOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJcmMgPSBmZGlza19yZW9yZGVyX3BhcnRpdGlvbnMoY3h0KTsKKwkJCWlmIChyYykKKwkJCQlmZGlza193YXJueChjeHQsIF8oIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iKSk7CisJCQllbHNlCisJCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJcmMgPSBmZGlza19lbmFibGVfZGV0YWlscyhjeHQsIDApOworCQkJYnJlYWs7CisJCX0KKwkJcmV0dXJuIHJjOworCX0KKworCS8qIG5vcm1hbCBtb2RlICovCisJc3dpdGNoIChlbnQtPmtleSkgeworCWNhc2UgJ2QnOgorCQlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJm4sIEZBTFNFKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gZmRpc2tfZGVsZXRlX3BhcnRpdGlvbihjeHQsIG4pOworCQlpZiAocmMpCisJCQlmZGlza193YXJueChjeHQsIF8oIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIpLCBuICsgMSk7CisJCWVsc2UKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIiksIG4gKyAxKTsKKwkJYnJlYWs7CisJY2FzZSAnSSc6CisJCXNjcmlwdF9yZWFkKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ08nOgorCQlzY3JpcHRfd3JpdGUoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnbCc6CisJCWxpc3RfcGFydGl0aW9uX3R5cGVzKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ24nOgorCXsKKwkJc2l6ZV90IHBhcnRubzsKKwkJcmMgPSBmZGlza19hZGRfcGFydGl0aW9uKGN4dCwgTlVMTCwgJnBhcnRubyk7CisJCWlmICghcmMpCisJCQlyYyA9IGFza19mb3Jfd2lwZShjeHQsIHBhcnRubyk7CisJCWJyZWFrOworCX0KKwljYXNlICd0JzoKKwkJY2hhbmdlX3BhcnRpdGlvbl90eXBlKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ3UnOgorCQlmZGlza19zZXRfdW5pdChjeHQsCisJCQlmZGlza191c2VfY3lsaW5kZXJzKGN4dCkgPyAic2VjdG9ycyIgOgorCQkJCQkJCSAgICJjeWxpbmRlcnMiKTsKKwkJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIpKTsKKwkJZWxzZQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iKSk7CisJCWJyZWFrOworCWNhc2UgJ3gnOgorCQlmZGlza19lbmFibGVfZGV0YWlscyhjeHQsIDEpOworCQlicmVhazsKKwljYXNlICdyJzoKKwkJLyogcmV0dXJuIGZyb20gbmVzdGVkIEJTRCB0byBET1MgKi8KKwkJaWYgKGZkaXNrX2dldF9wYXJlbnQoY3h0KSkgeworCQkJKmN4dDAgPSBmZGlza19nZXRfcGFyZW50KGN4dCk7CisKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIikpOworCQkJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCQl9CisJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKK30KKworCisvKgorICogVGhpcyBpcyBmZGlzayBmcm9udGVuZCBmb3IgR1BUIHNwZWNpZmljIGxpYmZkaXNrIGZ1bmN0aW9ucyB0aGF0CisgKiBhcmUgbm90IGV4cG9ydGVkIGJ5IGdlbmVyaWMgbGliZmRpc2sgQVBJLgorICovCitzdGF0aWMgaW50IGdwdF9tZW51X2NiKHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51ICptZW51IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICplbnQpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9ICpjeHQwOworCXN0cnVjdCBmZGlza19jb250ZXh0ICptYnI7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCXNpemVfdCBuOworCWludCByYyA9IDA7CisJdWludG1heF90IGxlbmd0aCA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoZW50KTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCURCRyhNRU5VLCB1bF9kZWJ1ZygiZW50ZXIgR1BUIG1lbnUiKSk7CisKKwlpZiAoZW50LT5leHBlcnQpIHsKKwkJc3dpdGNoIChlbnQtPmtleSkgeworCQljYXNlICdpJzoKKwkJCXJldHVybiBmZGlza19zZXRfZGlza2xhYmVsX2lkKGN4dCk7CisJCWNhc2UgJ2wnOgorCSAgICAgICAgICAgICAgICByYyA9ICBmZGlza19hc2tfbnVtYmVyKGN4dCwgMSwgZmRpc2tfZ2V0X25wYXJ0aXRpb25zKGN4dCksCisJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB+KHVpbnQzMl90KTAsIF8oIk5ldyBtYXhpbXVtIGVudHJpZXMiKSwgJmxlbmd0aCk7CisJCQlpZiAocmMpCisJCQkJcmV0dXJuIHJjOworCQkJcmV0dXJuIGZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnMoY3h0LCAodWludDMyX3QpIGxlbmd0aCk7CisJCWNhc2UgJ00nOgorCQkJbWJyID0gZmRpc2tfbmV3X25lc3RlZF9jb250ZXh0KGN4dCwgImRvcyIpOworCQkJaWYgKCFtYnIpCisJCQkJcmV0dXJuIC1FTk9NRU07CisJCQkqY3h0MCA9IGN4dCA9IG1icjsKKwkJCWlmIChmZGlza19pc19kZXRhaWxzKGN4dCkpCisJCQkJZmRpc2tfZW5hYmxlX2RldGFpbHMoY3h0LCAxKTsJLyoga2VlcCB1cyBpbiBleHBlcnQgbW9kZSAqLworCQkJZmRpc2tfaW5mbyhjeHQsIF8oIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIikpOworCQkJcmV0dXJuIDA7CisJCX0KKworCQkvKiBhY3Rpb25zIHdoZXJlIGlzIG5lY2Vzc2FyeSBwYXJ0bnVtICovCisJCXJjID0gZmRpc2tfYXNrX3BhcnRudW0oY3h0LCAmbiwgRkFMU0UpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisKKwkJc3dpdGNoKGVudC0+a2V5KSB7CisJCWNhc2UgJ3UnOgorCQkJcGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CS8qIG5ldyB0ZW1wbGF0ZSAqLworCQkJaWYgKCFwYSkKKwkJCQlyYyA9IC1FTk9NRU07CisJCQllbHNlIHsKKwkJCQljaGFyICpzdHIgPSBOVUxMOworCQkJCXJjID0gZmRpc2tfYXNrX3N0cmluZyhjeHQsIF8oIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiKSwgJnN0cik7CisJCQkJaWYgKCFyYykKKwkJCQkJcmMgPSBmZGlza19wYXJ0aXRpb25fc2V0X3V1aWQocGEsIHN0cik7CisJCQkJaWYgKCFyYykKKwkJCQkJcmMgPSBmZGlza19zZXRfcGFydGl0aW9uKGN4dCwgbiwgcGEpOworCQkJCWZyZWUoc3RyKTsKKwkJCQlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJcGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CS8qIG5ldyB0ZW1wbGF0ZSAqLworCQkJaWYgKCFwYSkKKwkJCQlyYyA9IC1FTk9NRU07CisJCQllbHNlIHsKKwkJCQljaGFyICpzdHIgPSBOVUxMOworCQkJCXJjID0gZmRpc2tfYXNrX3N0cmluZyhjeHQsIF8oIk5ldyBuYW1lIiksICZzdHIpOworCQkJCWlmICghcmMpCisJCQkJCXJjID0gZmRpc2tfcGFydGl0aW9uX3NldF9uYW1lKHBhLCBzdHIpOworCQkJCWlmICghcmMpCisJCQkJCXJjID0gZmRpc2tfc2V0X3BhcnRpdGlvbihjeHQsIG4sIHBhKTsKKwkJCQlmcmVlKHN0cik7CisJCQkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlICdBJzoKKwkJCXJjID0gZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKGN4dCwgbiwgR1BUX0ZMQUdfTEVHQUNZQk9PVCk7CisJCQlicmVhazsKKwkJY2FzZSAnQic6CisJCQlyYyA9IGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIEdQVF9GTEFHX05PQkxPQ0spOworCQkJYnJlYWs7CisJCWNhc2UgJ1InOgorCQkJcmMgPSBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoY3h0LCBuLCBHUFRfRkxBR19SRVFVSVJFRCk7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQlyYyA9IGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIEdQVF9GTEFHX0dVSURTUEVDSUZJQyk7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiByYzsKK30KKworCisvKgorICogVGhpcyBpcyBmZGlzayBmcm9udGVuZCBmb3IgTUJSIHNwZWNpZmljIGxpYmZkaXNrIGZ1bmN0aW9ucyB0aGF0CisgKiBhcmUgbm90IGV4cG9ydGVkIGJ5IGdlbmVyaWMgbGliZmRpc2sgQVBJLgorICovCitzdGF0aWMgaW50IGRvc19tZW51X2NiKHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51ICptZW51IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICplbnQpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9ICpjeHQwOworCWludCByYyA9IDA7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoImVudGVyIERPUyBtZW51IikpOworCisJaWYgKCFlbnQtPmV4cGVydCkgeworCQlzd2l0Y2ggKGVudC0+a2V5KSB7CisJCWNhc2UgJ2EnOgorCQl7CisJCQlzaXplX3QgbjsKKwkJCXJjID0gZmRpc2tfYXNrX3BhcnRudW0oY3h0LCAmbiwgRkFMU0UpOworCQkJaWYgKCFyYykKKwkJCQlyYyA9IGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIERPU19GTEFHX0FDVElWRSk7CisJCQlicmVhazsKKwkJfQorCQljYXNlICdiJzoKKwkJeworCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmJzZAorCQkJCQk9IGZkaXNrX25ld19uZXN0ZWRfY29udGV4dChjeHQsICJic2QiKTsKKwkJCWlmICghYnNkKQorCQkJCXJldHVybiAtRU5PTUVNOworCQkJaWYgKCFmZGlza19oYXNfbGFiZWwoYnNkKSkKKwkJCQlyYyA9IGZkaXNrX2NyZWF0ZV9kaXNrbGFiZWwoYnNkLCAiYnNkIik7CisJCQlpZiAocmMpCisJCQkJZmRpc2tfdW5yZWZfY29udGV4dChic2QpOworCQkJZWxzZSB7CisJCQkJKmN4dDAgPSBjeHQgPSBic2Q7CisJCQkJZmRpc2tfaW5mbyhjeHQsCV8oIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIpKTsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJCWNhc2UgJ2MnOgorCQkJdG9nZ2xlX2Rvc19jb21wYXRpYmlsaXR5X2ZsYWcoY3h0KTsKKwkJCWJyZWFrOworCQl9CisJCXJldHVybiByYzsKKwl9CisKKwkvKiBleHBlcnQgbW9kZSAqLworCXN3aXRjaCAoZW50LT5rZXkpIHsKKwljYXNlICdiJzoKKwl7CisJCXNpemVfdCBuOworCQlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJm4sIEZBTFNFKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gZmRpc2tfZG9zX21vdmVfYmVnaW4oY3h0LCBuKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgJ2knOgorCQlyYyA9IGZkaXNrX3NldF9kaXNrbGFiZWxfaWQoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnTSc6CisJCS8qIHJldHVybiBmcm9tIG5lc3RlZCBNQlIgdG8gR1BUICovCisJCWlmIChmZGlza19nZXRfcGFyZW50KGN4dCkpIHsKKwkJCSpjeHQwID0gZmRpc2tfZ2V0X3BhcmVudChjeHQpOworCisJCQlmZGlza19pbmZvKGN4dCwgXygiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIpKTsKKwkJCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKwkJfQorCQlicmVhazsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHN1bl9tZW51X2NiKHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0MCwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51ICptZW51IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJICAgICAgIGNvbnN0IHN0cnVjdCBtZW51X2VudHJ5ICplbnQpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9ICpjeHQwOworCWludCByYyA9IDA7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoImVudGVyIFNVTiBtZW51IikpOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGVudCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoImVudGVyIFNVTiBtZW51IikpOworCisJLyogbm9ybWFsIG1vZGUgKi8KKwlpZiAoIWVudC0+ZXhwZXJ0KSB7CisJCXNpemVfdCBuOworCisJCXJjID0gZmRpc2tfYXNrX3BhcnRudW0oY3h0LCAmbiwgRkFMU0UpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCXN3aXRjaCAoZW50LT5rZXkpIHsKKwkJY2FzZSAnYSc6CisJCQlyYyA9IGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIFNVTl9GTEFHX1JPTkxZKTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCXJjID0gZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKGN4dCwgbiwgU1VOX0ZMQUdfVU5NTlQpOworCQkJYnJlYWs7CisJCX0KKwkJcmV0dXJuIHJjOworCX0KKworCS8qIGV4cGVydCBtb2RlICovCisJc3dpdGNoIChlbnQtPmtleSkgeworCWNhc2UgJ2EnOgorCQlyYyA9IGZkaXNrX3N1bl9zZXRfYWx0X2N5bChjeHQpOworCQlicmVhazsKKwljYXNlICdlJzoKKwkJcmMgPSBmZGlza19zdW5fc2V0X3hjeWwoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnaSc6CisJCXJjID0gZmRpc2tfc3VuX3NldF9pbGZhY3QoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAnbyc6CisJCXJjID0gZmRpc2tfc3VuX3NldF9yc3BlZWQoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAneSc6CisJCXJjID0gZmRpc2tfc3VuX3NldF9wY3lsY291bnQoY3h0KTsKKwkJYnJlYWs7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzZ2lfbWVudV9jYihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqKmN4dDAsCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgbWVudSAqbWVudSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZW50KQoreworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgPSAqY3h0MDsKKwlpbnQgcmMgPSAtRUlOVkFMOworCXNpemVfdCBuID0gMDsKKworCURCRyhNRU5VLCB1bF9kZWJ1ZygiZW50ZXIgU0dJIG1lbnUiKSk7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoZW50KTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCWlmIChlbnQtPmV4cGVydCkKKwkJcmV0dXJuIHJjOworCisJc3dpdGNoIChlbnQtPmtleSkgeworCWNhc2UgJ2EnOgorCQlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJm4sIEZBTFNFKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKGN4dCwgbiwgU0dJX0ZMQUdfQk9PVCk7CisJCWJyZWFrOworCWNhc2UgJ2InOgorCQlmZGlza19zZ2lfc2V0X2Jvb3RmaWxlKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ2MnOgorCQlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJm4sIEZBTFNFKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKGN4dCwgbiwgU0dJX0ZMQUdfU1dBUCk7CisJCWJyZWFrOworCWNhc2UgJ2knOgorCQlyYyA9IGZkaXNrX3NnaV9jcmVhdGVfaW5mbyhjeHQpOworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBUaGlzIGlzIGZkaXNrIGZyb250ZW5kIGZvciBCU0Qgc3BlY2lmaWMgbGliZmRpc2sgZnVuY3Rpb25zIHRoYXQKKyAqIGFyZSBub3QgZXhwb3J0ZWQgYnkgZ2VuZXJpYyBsaWJmZGlzayBBUEkuCisgKi8KK3N0YXRpYyBpbnQgYnNkX21lbnVfY2Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKipjeHQwLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG1lbnUgKm1lbnUgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmVudCkKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0ID0gKmN4dDA7CisJaW50IHJjID0gMCwgb3JnOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGVudCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgQlNEKSk7CisKKwlEQkcoTUVOVSwgdWxfZGVidWcoImVudGVyIEJTRCBtZW51IikpOworCisJc3dpdGNoKGVudC0+a2V5KSB7CisJY2FzZSAnZSc6CisJCXJjID0gZmRpc2tfYnNkX2VkaXRfZGlza2xhYmVsKGN4dCk7CisJCWJyZWFrOworCWNhc2UgJ2knOgorCQlyYyA9IGZkaXNrX2JzZF93cml0ZV9ib290c3RyYXAoY3h0KTsKKwkJYnJlYWs7CisJY2FzZSAncyc6CisJCW9yZyA9IGZkaXNrX2lzX2RldGFpbHMoY3h0KTsKKworCQlmZGlza19lbmFibGVfZGV0YWlscyhjeHQsIDEpOworCQlsaXN0X2Rpc2tsYWJlbChjeHQpOworCQlmZGlza19lbmFibGVfZGV0YWlscyhjeHQsIG9yZyk7CisJCWJyZWFrOworCWNhc2UgJ3gnOgorCQlyYyA9IGZkaXNrX2JzZF9saW5rX3BhcnRpdGlvbihjeHQpOworCQlicmVhazsKKwl9CisJcmV0dXJuIHJjOworfQorCisvKiBDL0gvUyBjb21tYW5kcworICoKKyAqIFRoZSBnZW9tZXRyeSBzZXR0aW5nIGZyb20gdGhpcyBkaWFsb2cgaXMgbm90IHBlcnNpc3RlbnQgYW5kIG1heWJlIHJlc2V0IGJ5CisgKiBmZGlza19yZXNldF9kZXZpY2VfcHJvcGVydGllcygpIChmb3IgZXhhbXBsZSB3aGVuIHlvdSBjcmVhdGUgYSBuZXcgZGlzaworICogbGFiZWwpLiBOb3RlIHRoYXQgb24gY29tbWFuZCBsaW5lIHNwZWNpZmllZCAtQy8tSC8tUyBzZXR0aW5nIGlzIHBlcnNpc3RlbnQKKyAqIGFzIGl0J3MgYmFzZWQgb24gZmRpc2tfc2F2ZV91c2VyX2dlb21ldHJ5KCkuCisgKi8KK3N0YXRpYyBpbnQgZ2VvX21lbnVfY2Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKipjeHQwLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG1lbnUgKm1lbnUgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkgICAgICAgY29uc3Qgc3RydWN0IG1lbnVfZW50cnkgKmVudCkKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0ID0gKmN4dDA7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCWludCByYyA9IC1FSU5WQUw7CisJdWludG1heF90IGMgPSAwLCBoID0gMCwgcyA9IDA7CisJZmRpc2tfc2VjdG9yX3QgbWksIG1hOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJlbnRlciBHRU8gbWVudSIpKTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChlbnQpOworCisJLyogZGVmYXVsdCAqLworCWlmICghbGIpCisJCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgImRvcyIpOworCisJc3dpdGNoIChlbnQtPmtleSkgeworCWNhc2UgJ2MnOgorCQlmZGlza19sYWJlbF9nZXRfZ2VvbXJhbmdlX2N5bGluZGVycyhsYiwgJm1pLCAmbWEpOworCQlyYyA9ICBmZGlza19hc2tfbnVtYmVyKGN4dCwgbWksIGZkaXNrX2dldF9nZW9tX2N5bGluZGVycyhjeHQpLAorCQkJCW1hLCBfKCJOdW1iZXIgb2YgY3lsaW5kZXJzIiksICZjKTsKKwkJYnJlYWs7CisJY2FzZSAnaCc6CisJeworCQl1bnNpZ25lZCBpbnQgaSwgYTsKKwkJZmRpc2tfbGFiZWxfZ2V0X2dlb21yYW5nZV9oZWFkcyhsYiwgJmksICZhKTsKKwkJcmMgPSAgZmRpc2tfYXNrX251bWJlcihjeHQsIGksIGZkaXNrX2dldF9nZW9tX2hlYWRzKGN4dCksCisJCQkJYSwgXygiTnVtYmVyIG9mIGhlYWRzIiksICZoKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgJ3MnOgorCQlmZGlza19sYWJlbF9nZXRfZ2VvbXJhbmdlX3NlY3RvcnMobGIsICZtaSwgJm1hKTsKKwkJcmMgPSAgZmRpc2tfYXNrX251bWJlcihjeHQsIG1pLCBmZGlza19nZXRfZ2VvbV9zZWN0b3JzKGN4dCksCisJCQkJbWEsIF8oIk51bWJlciBvZiBzZWN0b3JzIiksICZzKTsKKwkJYnJlYWs7CisJfQorCisJaWYgKCFyYykKKwkJZmRpc2tfb3ZlcnJpZGVfZ2VvbWV0cnkoY3h0LCBjLCBoLCBzKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgY3JlYXRlbGFiZWxfbWVudV9jYihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqKmN4dDAsCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgbWVudSAqbWVudSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCSAgICAgICBjb25zdCBzdHJ1Y3QgbWVudV9lbnRyeSAqZW50KQoreworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgPSAqY3h0MDsKKwlpbnQgcmMgPSAtRUlOVkFMOworCisJREJHKE1FTlUsIHVsX2RlYnVnKCJlbnRlciBDcmVhdGUgbGFiZWwgbWVudSIpKTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChlbnQpOworCisJaWYgKGVudC0+ZXhwZXJ0KSB7CisJCXN3aXRjaCAoZW50LT5rZXkpIHsKKwkJY2FzZSAnZyc6CisJCQkvKiBEZXByZWNhdGVkLCB1c2UgJ0cnIGluIG1haW4gbWVudSwganVzdCBmb3IgYmFja3dhcmQKKwkJCSAqIGNvbXBhdGliaWxpdHkgb25seS4gKi8KKwkJCXJjID0gZmRpc2tfY3JlYXRlX2Rpc2tsYWJlbChjeHQsICJzZ2kiKTsKKwkJCWJyZWFrOworCQl9CisJfSBlbHNlIHsKKwkJc3dpdGNoIChlbnQtPmtleSkgeworCQkJY2FzZSAnZyc6CisJCQkJcmMgPSBmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgImdwdCIpOworCQkJCWJyZWFrOworCQkJY2FzZSAnRyc6CisJCQkJcmMgPSBmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgInNnaSIpOworCQkJCWJyZWFrOworCQkJY2FzZSAnbyc6CisJCQkJcmMgPSBmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgImRvcyIpOworCQkJCWJyZWFrOworCQkJY2FzZSAncyc6CisJCQkJcmMgPSBmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgInN1biIpOworCQkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKHJjID09IDAgJiYgZmRpc2tfZ2V0X2NvbGxpc2lvbihjeHQpKQorCQlmb2xsb3dfd2lwZV9tb2RlKGN4dCk7CisKKwlyZXR1cm4gcmM7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2ZkaXNrLjggYi9kaXNrLXV0aWxzL2ZkaXNrLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTFjNmI2ZgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZmRpc2suOApAQCAtMCwwICsxLDM2OCBAQAorLlwiIENvcHlyaWdodCAxOTkyLCAxOTkzIFJpY2thcmQgRS4gRmFpdGggKGZhaXRoQGNzLnVuYy5lZHUpCisuXCIgQ29weXJpZ2h0IDE5OTggQW5kcmllcyBFLiBCcm91d2VyIChhZWJAY3dpLm5sKQorLlwiIENvcHlyaWdodCAyMDEyIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorLlwiIENvcHlyaWdodCAoQykgMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggRkRJU0sgOCAiRmVicnVhcnkgMjAxNiIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisKKy5TSCBOQU1FCitmZGlzayBcLSBtYW5pcHVsYXRlIGRpc2sgcGFydGl0aW9uIHRhYmxlCisKKy5TSCBTWU5PUFNJUworLkIgZmRpc2sKK1tvcHRpb25zXQorLkkgZGV2aWNlCisuc3AKKy5CIGZkaXNrIFwtbAorLlJJIFsgZGV2aWNlIC4uLl0KKworLlNIIERFU0NSSVBUSU9OCisuQiBmZGlzaworaXMgYSBkaWFsb2ctZHJpdmVuIHByb2dyYW0gZm9yIGNyZWF0aW9uIGFuZCBtYW5pcHVsYXRpb24gb2YgcGFydGl0aW9uIHRhYmxlcy4KK0l0IHVuZGVyc3RhbmRzIEdQVCwgTUJSLCBTdW4sIFNHSSBhbmQgQlNEIHBhcnRpdGlvbiB0YWJsZXMuCisKK0Jsb2NrIGRldmljZXMgY2FuIGJlIGRpdmlkZWQgaW50byBvbmUgb3IgbW9yZSBsb2dpY2FsIGRpc2tzIGNhbGxlZAorLklSIHBhcnRpdGlvbnMgLgorVGhpcyBkaXZpc2lvbiBpcyByZWNvcmRlZCBpbiB0aGUKKy5JUiAicGFydGl0aW9uIHRhYmxlIiAsCit1c3VhbGx5IGZvdW5kIGluIHNlY3RvciAwIG9mIHRoZSBkaXNrLgorKEluIHRoZSBCU0Qgd29ybGQgb25lIHRhbGtzIGFib3V0IGBkaXNrIHNsaWNlcycgYW5kIGEgYGRpc2tsYWJlbCcuKQorCitBbGwgcGFydGl0aW9uaW5nIGlzIGRyaXZlbiBieSBkZXZpY2UgSS9PIGxpbWl0cyAodGhlIHRvcG9sb2d5KSBieSBkZWZhdWx0LgorLkIgZmRpc2sKK2lzIGFibGUgdG8gb3B0aW1pemUgdGhlIGRpc2sgbGF5b3V0IGZvciBhIDRLLXNlY3RvciBzaXplIGFuZCB1c2UgYW4gYWxpZ25tZW50IG9mZnNldCBvbgorbW9kZXJuIGRldmljZXMgZm9yIE1CUiBhbmQgR1BULiAgSXQgaXMgYWx3YXlzIGEgZ29vZCBpZGVhIHRvIGZvbGxvdyBcZkJmZGlza1xmUidzIGRlZmF1bHRzCithcyB0aGUgZGVmYXVsdCB2YWx1ZXMgKGUuZy4gZmlyc3QgYW5kIGxhc3QgcGFydGl0aW9uIHNlY3RvcnMpIGFuZCBwYXJ0aXRpb24KK3NpemVzIHNwZWNpZmllZCBieSB0aGUgKzxzaXplPntNLEcsLi4ufSBub3RhdGlvbiBhcmUgYWx3YXlzIGFsaWduZWQgYWNjb3JkaW5nCit0byB0aGUgZGV2aWNlIHByb3BlcnRpZXMuCisKK05vdGUgdGhhdAorLkJSIHBhcnR4ICg4KQorcHJvdmlkZXMgYSByaWNoIGludGVyZmFjZSBmb3Igc2NyaXB0cyB0byBwcmludCBkaXNrIGxheW91dHMsCisuQiBmZGlzaworaXMgbW9zdGx5IGRlc2lnbmVkIGZvciBodW1hbnMuICBCYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIHRoZSBvdXRwdXQgb2YKKy5CIGZkaXNrCitpcyBub3QgZ3VhcmFudGVlZC4gIFRoZSBpbnB1dCAodGhlIGNvbW1hbmRzKSBzaG91bGQgYWx3YXlzIGJlIGJhY2t3YXJkIGNvbXBhdGlibGUuCisKKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtYlxmUiwgXGZCXC1cLXNlY3Rvclwtc2l6ZVxmUiBcZklzZWN0b3JzaXplXGZQCitTcGVjaWZ5IHRoZSBzZWN0b3Igc2l6ZSBvZiB0aGUgZGlzay4gIFZhbGlkIHZhbHVlcyBhcmUgNTEyLCAxMDI0LCAyMDQ4LCBhbmQgNDA5Ni4KKyhSZWNlbnQga2VybmVscyBrbm93IHRoZSBzZWN0b3Igc2l6ZS4gIFVzZSB0aGlzIG9wdGlvbiBvbmx5IG9uIG9sZCBrZXJuZWxzIG9yCit0byBvdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYXMuKSAgU2luY2UgdXRpbC1saW51eC0yLjE3LCBcZkJmZGlza1xmUiBkaWZmZXJlbnRpYXRlcworYmV0d2VlbiBsb2dpY2FsIGFuZCBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gIFRoaXMgb3B0aW9uIGNoYW5nZXMgYm90aCBzZWN0b3Igc2l6ZXMgdG8KKy5JQiBzZWN0b3JzaXplIC4KKy5UUAorXGZCXC1CXGZSLCBcZkJcLVwtcHJvdGVjdFwtYm9vdFxmUAorRG9uJ3QgZXJhc2UgdGhlIGJlZ2luIG9mIHRoZSBmaXJzdCBkaXNrIHNlY3RvciB3aGVuIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiAgVGhpcworZmVhdHVyZSBpcyBzdXBwb3J0ZWQgZm9yIEdQVCBhbmQgTUJSLgorLlRQCitcZkJcLWNcZlIsIFxmQlwtXC1jb21wYXRpYmlsaXR5XGZSWz1cZkltb2RlXGZSXQorU3BlY2lmeSB0aGUgY29tcGF0aWJpbGl0eSBtb2RlLCAnZG9zJyBvciAnbm9uZG9zJy4gIFRoZSBkZWZhdWx0IGlzIG5vbi1ET1MKK21vZGUuICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgaXQgaXMgcG9zc2libGUgdG8gdXNlIHRoZSBvcHRpb24gd2l0aG91dAordGhlIFxmSW1vZGVcZlIgYXJndW1lbnQgLS0gdGhlbiB0aGUgZGVmYXVsdCBpcyB1c2VkLiAgTm90ZSB0aGF0IHRoZSBvcHRpb25hbAorXGZJbW9kZVxmUiBhcmd1bWVudCBjYW5ub3QgYmUgc2VwYXJhdGVkIGZyb20gdGhlIFxmQi1jXGZSIG9wdGlvbiBieSBhIHNwYWNlLAordGhlIGNvcnJlY3QgZm9ybSBpcyBmb3IgZXhhbXBsZSAnLWM9ZG9zJy4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBhIGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorXGZCXC1MXGZSLCBcZkJcLVwtY29sb3JcZlJbPVxmSXdoZW5cZlJdCitDb2xvcml6ZSB0aGUgb3V0cHV0LiAgVGhlIG9wdGlvbmFsIGFyZ3VtZW50IFxmSXdoZW5cZlAKK2NhbiBiZSBcZkJhdXRvXGZSLCBcZkJuZXZlclxmUiBvciBcZkJhbHdheXNcZlIuICBJZiB0aGUgXGZJd2hlblxmUiBhcmd1bWVudCBpcyBvbWl0dGVkLAoraXQgZGVmYXVsdHMgdG8gXGZCYXV0b1xmUi4gIFRoZSBjb2xvcnMgY2FuIGJlIGRpc2FibGVkOyBmb3IgdGhlIGN1cnJlbnQgYnVpbHQtaW4gZGVmYXVsdAorc2VlIHRoZSBcZkJcLVwtaGVscFxmUiBvdXRwdXQuICBTZWUgYWxzbyB0aGUgXGZCQ09MT1JTXGZSIHNlY3Rpb24uCisuVFAKK1xmQlwtbFxmUiwgXGZCXC1cLWxpc3RcZlIKK0xpc3QgdGhlIHBhcnRpdGlvbiB0YWJsZXMgZm9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlcyBhbmQgdGhlbiBleGl0LgorSWYgbm8gZGV2aWNlcyBhcmUgZ2l2ZW4sIHRob3NlIG1lbnRpb25lZCBpbgorLkkgL3Byb2MvcGFydGl0aW9ucworKGlmIHRoYXQgZmlsZSBleGlzdHMpIGFyZSB1c2VkLgorLlRQCisuQlIgXC1vICwgIiBcLVwtb3V0cHV0ICIgXGZJbGlzdFxmUAorU3BlY2lmeSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byBwcmludC4gIFVzZQorLkIgXC1cLWhlbHAKK3RvIGdldCBhIGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorCitUaGUgZGVmYXVsdCBsaXN0IG9mIGNvbHVtbnMgbWF5IGJlIGV4dGVuZGVkIGlmIFxmSWxpc3RcZlAgaXMKK3NwZWNpZmllZCBpbiB0aGUgZm9ybWF0IFxmSStsaXN0XGZQIChlLmcuIFxmQi1vICtVVUlEXGZQKS4KKy5UUAorXGZCXC1zXGZSLCBcZkJcLVwtZ2V0c3pcZlIKK1ByaW50IHRoZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgb2YgZWFjaCBnaXZlbiBibG9jayBkZXZpY2UuICBUaGlzIG9wdGlvbiBpcyBERVBSRUNBVEVECitpbiBmYXZvdXIgb2YKKy5CUiBibG9ja2RldiAoMSkuCisuVFAKK1xmQlwtdFxmUiwgXGZCXC1cLXR5cGVcZlIgXGZJdHlwZVxmUgorRW5hYmxlIHN1cHBvcnQgb25seSBmb3IgZGlza2xhYmVscyBvZiB0aGUgc3BlY2lmaWVkIFxmSXR5cGVcZlAsIGFuZCBkaXNhYmxlCitzdXBwb3J0IGZvciBhbGwgb3RoZXIgdHlwZXMuCisuVFAKK1xmQlwtdVxmUiwgXGZCXC1cLXVuaXRzXGZSWz1cZkl1bml0XGZSXQorV2hlbiBsaXN0aW5nIHBhcnRpdGlvbiB0YWJsZXMsIHNob3cgc2l6ZXMgaW4gJ3NlY3RvcnMnIG9yIGluICdjeWxpbmRlcnMnLiAgVGhlCitkZWZhdWx0IGlzIHRvIHNob3cgc2l6ZXMgaW4gc2VjdG9ycy4gIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCBpdCBpcyBwb3NzaWJsZQordG8gdXNlIHRoZSBvcHRpb24gd2l0aG91dCB0aGUgXGZJdW5pdFxmUiBhcmd1bWVudCAtLSB0aGVuIHRoZSBkZWZhdWx0IGlzIHVzZWQuCitOb3RlIHRoYXQgdGhlIG9wdGlvbmFsIFxmSXVuaXRcZlIgYXJndW1lbnQgY2Fubm90IGJlIHNlcGFyYXRlZCBmcm9tIHRoZSBcZkItdVxmUgorb3B0aW9uIGJ5IGEgc3BhY2UsIHRoZSBjb3JyZWN0IGZvcm0gaXMgZm9yIGV4YW1wbGUgJy11PWN5bGluZGVycycuCisKKy5UUAorXGZCXC1DXGZSLCBcZkJcLVwtY3lsaW5kZXJzXGZSIFxmSW51bWJlclxmUgorU3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyBvZiB0aGUgZGlzay4KK0kgaGF2ZSBubyBpZGVhIHdoeSBhbnlib2R5IHdvdWxkIHdhbnQgdG8gZG8gc28uCisuVFAKK1xmQlwtSFxmUiwgXGZCXC1cLWhlYWRzXGZSIFxmSW51bWJlclxmUgorU3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzIG9mIHRoZSBkaXNrLiAgKE5vdCB0aGUgcGh5c2ljYWwgbnVtYmVyLAorb2YgY291cnNlLCBidXQgdGhlIG51bWJlciB1c2VkIGZvciBwYXJ0aXRpb24gdGFibGVzLikKK1JlYXNvbmFibGUgdmFsdWVzIGFyZSAyNTUgYW5kIDE2LgorLlRQCitcZkJcLVNcZlIsIFxmQlwtXC1zZWN0b3JzXGZSIFxmSW51bWJlclxmUgorU3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrIG9mIHRoZSBkaXNrLgorKE5vdCB0aGUgcGh5c2ljYWwgbnVtYmVyLCBvZiBjb3Vyc2UsIGJ1dCB0aGUgbnVtYmVyIHVzZWQgZm9yCitwYXJ0aXRpb24gdGFibGVzLikgQSByZWFzb25hYmxlIHZhbHVlIGlzIDYzLgorCisuVFAKK1xmQlwtd1xmUiwgXGZCXC1cLXdpcGVcZlIgXGZJd2hlblxmUgorV2lwZSBmaWxlc3lzdGVtLCBSQUlEIGFuZCBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlcyBmcm9tIHRoZSBkZXZpY2UsIGluIG9yZGVyCit0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiAgVGhlIGFyZ3VtZW50IFxmSXdoZW5cZlIgY2FuIGJlIFxmQmF1dG9cZlIsCitcZkJuZXZlclxmUiBvciBcZkJhbHdheXNcZlIuICBXaGVuIHRoaXMgb3B0aW9uIGlzIG5vdCBnaXZlbiwgdGhlIGRlZmF1bHQgaXMKK1xmQmF1dG9cZlIsIGluIHdoaWNoIGNhc2Ugc2lnbmF0dXJlcyBhcmUgd2lwZWQgb25seSB3aGVuIGluIGludGVyYWN0aXZlIG1vZGUuCitJbiBhbGwgY2FzZXMgZGV0ZWN0ZWQgc2lnbmF0dXJlcyBhcmUgcmVwb3J0ZWQgYnkgd2FybmluZyBtZXNzYWdlcworYmVmb3JlIGEgbmV3IHBhcnRpdGlvbiB0YWJsZSBpcyBjcmVhdGVkLiAgU2VlIGFsc28KKy5CUiB3aXBlZnMgKDgpCitjb21tYW5kLgorCisuVFAKK1xmQlwtV1xmUiwgXGZCXC1cLXdpcGUtcGFydGl0aW9uXGZSIFxmSXdoZW5cZlIKK1dpcGUgZmlsZXN5c3RlbSwgUkFJRCBhbmQgcGFydGl0aW9uLXRhYmxlIHNpZ25hdHVyZXMgZnJvbSBhIG5ld2x5IGNyZWF0ZWQKK3BhcnRpdGlvbnMsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuICBUaGUgYXJndW1lbnQgXGZJd2hlblxmUiBjYW4KK2JlIFxmQmF1dG9cZlIsIFxmQm5ldmVyXGZSIG9yIFxmQmFsd2F5c1xmUi4gIFdoZW4gdGhpcyBvcHRpb24gaXMgbm90IGdpdmVuLCB0aGUKK2RlZmF1bHQgaXMgXGZCYXV0b1xmUiwgaW4gd2hpY2ggY2FzZSBzaWduYXR1cmVzIGFyZSB3aXBlZCBvbmx5IHdoZW4gaW4KK2ludGVyYWN0aXZlIG1vZGUgYW5kIGFmdGVyIGNvbmZpcm1hdGlvbiBieSB1c2VyLiAgSW4gYWxsIGNhc2VzIGRldGVjdGVkCitzaWduYXR1cmVzIGFyZSByZXBvcnRlZCBieSB3YXJuaW5nIG1lc3NhZ2VzIGJlZm9yZSBhIG5ldyBwYXJ0aXRpb24gaXMKK2NyZWF0ZWQuICBTZWUgYWxzbworLkJSIHdpcGVmcyAoOCkKK2NvbW1hbmQuCisKKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorCisuU0ggREVWSUNFUworVGhlCisuSSBkZXZpY2UKK2lzIHVzdWFsbHkgL2Rldi9zZGEsIC9kZXYvc2RiIG9yIHNvLiAgQSBkZXZpY2UgbmFtZSByZWZlcnMgdG8gdGhlIGVudGlyZSBkaXNrLgorT2xkIHN5c3RlbXMgd2l0aG91dCBsaWJhdGEgKGEgbGlicmFyeSB1c2VkIGluc2lkZSB0aGUgTGludXgga2VybmVsIHRvIHN1cHBvcnQKK0FUQSBob3N0IGNvbnRyb2xsZXJzIGFuZCBkZXZpY2VzKSBtYWtlIGEgZGlmZmVyZW5jZSBiZXR3ZWVuIElERSBhbmQgU0NTSSBkaXNrcy4KK0luIHN1Y2ggY2FzZXMgdGhlIGRldmljZSBuYW1lIHdpbGwgYmUgL2Rldi9oZCogKElERSkgb3IgL2Rldi9zZCogKFNDU0kpLgorCitUaGUKKy5JIHBhcnRpdGlvbgoraXMgYSBkZXZpY2UgbmFtZSBmb2xsb3dlZCBieSBhIHBhcnRpdGlvbiBudW1iZXIuICBGb3IgZXhhbXBsZSwgL2Rldi9zZGExIGlzIHRoZQorZmlyc3QgcGFydGl0aW9uIG9uIHRoZSBmaXJzdCBoYXJkIGRpc2sgaW4gdGhlIHN5c3RlbS4gIFNlZSBhbHNvIExpbnV4IGtlcm5lbAorZG9jdW1lbnRhdGlvbiAodGhlIERvY3VtZW50YXRpb24vZGV2aWNlcy50eHQgZmlsZSkuCisKKy5TSCBTSVpFUworVGhlICJsYXN0IHNlY3RvciIgZGlhbG9nIGFjY2VwdHMgcGFydGl0aW9uIHNpemUgc3BlY2lmaWVkIGJ5IG51bWJlciBvZiBzZWN0b3JzCitvciBieSArPHNpemU+e0ssQixNLEcsLi4ufSBub3RhdGlvbi4gCisKK0lmIHRoZSBzaXplIGlzIHByZWZpeGVkIGJ5ICAnKycgdGhlbiBpdCBpcyBpbnRlcnByZXRlZCBhcyByZWxhdGl2ZSB0byB0aGUKK3BhcnRpdGlvbiBmaXJzdCBzZWN0b3IuIEluIHRoaXMgY2FzZSB0aGUgc2l6ZSBpcyBleHBlY3RlZCBpbiBieXRlcyBhbmQgdGhlCitudW1iZXIgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyBLaUI9MTAyNCwgTWlCPTEwMjQqMTAyNCwKK2FuZCBzbyBvbiBmb3IgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQi4gVGhlICJpQiIgaXMgb3B0aW9uYWwsIGUuZy4gIksiCitoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAiS2lCIi4gCisKK1RoZSByZWxhdGl2ZSBzaXplcyBhcmUgYWx3YXlzIGFsaWduZWQgYWNjb3JkaW5nIHRvIGRldmljZSBJL08gbGltaXRzLiAgVGhlCisrPHNpemU+e0ssQixNLEcsLi4ufSBub3RhdGlvbiBpcyByZWNvbW1lbmRlZC4KKworRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgZmRpc2sgYWxzbyBhY2NlcHRzIHRoZSBzdWZmaXhlcyBLQj0xMDAwLAorTUI9MTAwMCoxMDAwLCBhbmQgc28gb24gZm9yIEdCLCBUQiwgUEIsIEVCLCBaQiBhbmQgWUIuIFRoZXNlIDEwXk4gc3VmZml4ZXMKK2FyZSBkZXByZWNhdGVkLgorCisuU0ggU0NSSVBUIEZJTEVTCisuQiBmZGlzaworYWxsb3dzIHRvIHJlYWQgKGJ5ICdJJyBjb21tYW5kKSBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZXMuIFRoZSBzY3JpcHQgaXMKK2FwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSwgYW5kIHRoZW4gaXQgaXMgcG9zc2libGUgdG8gbW9kaWZ5IHRoZQorcGFydGl0aW9uIHRhYmxlIGJlZm9yZSB5b3Ugd3JpdGUgaXQgdG8gdGhlIGRldmljZS4KKy5QUAorQW5kIHZpY2UtdmVyc2EgaXQgaXMgcG9zc2libGUgdG8gd3JpdGUgdGhlIGN1cnJlbnQgaW4tbWVtb3J5IGRpc2sgbGF5b3V0Cit0byB0aGUgc2NyaXB0IGZpbGUgYnkgY29tbWFuZCAnTycuCisuUFAKK1RoZSBzY3JpcHQgZmlsZXMgYXJlIGNvbXBhdGlibGUgYmV0d2VlbiBjZmRpc2ssIHNmZGlzaywgZmRpc2sgYW5kIGFub3RoZXIKK2xpYmZkaXNrIGFwcGxpY2F0aW9ucy4gRm9yIG1vcmUgZGV0YWlscyBzZWUKKy5CUiBzZmRpc2sgKDgpLgorCisuU0ggRElTSyBMQUJFTFMKKy5CIEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpCisuUlMKK0dQVCBpcyBtb2Rlcm4gc3RhbmRhcmQgZm9yIHRoZSBsYXlvdXQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZS4gIEdQVCB1c2VzIDY0LWJpdAorbG9naWNhbCBibG9jayBhZGRyZXNzZXMsIGNoZWNrc3VtcywgVVVJRHMgYW5kIG5hbWVzIGZvciBwYXJ0aXRpb25zIGFuZCBhbgordW5saW1pdGVkIG51bWJlciBvZiBwYXJ0aXRpb25zIChhbHRob3VnaCB0aGUgbnVtYmVyIG9mIHBhcnRpdGlvbnMgaXMKK3VzdWFsbHkgcmVzdHJpY3RlZCB0byAxMjggaW4gbWFueSBwYXJ0aXRpb25pbmcgdG9vbHMpLgorCitOb3RlIHRoYXQgdGhlIGZpcnN0IHNlY3RvciBpcyBzdGlsbCByZXNlcnZlZCBmb3IgYQorLkIgcHJvdGVjdGl2ZSBNQlIKK2luIHRoZSBHUFQgc3BlY2lmaWNhdGlvbi4gIEl0IHByZXZlbnRzIE1CUi1vbmx5IHBhcnRpdGlvbmluZyB0b29scworZnJvbSBtaXMtcmVjb2duaXppbmcgYW5kIG92ZXJ3cml0aW5nIEdQVCBkaXNrcy4KKworR1BUIGlzIGFsd2F5cyBhIGJldHRlciBjaG9pY2UgdGhhbiBNQlIsIGVzcGVjaWFsbHkgb24gbW9kZXJuIGhhcmR3YXJlIHdpdGggYSBVRUZJCitib290IGxvYWRlci4KKy5SRQorCisuQiBET1MtdHlwZSAoTUJSKQorLlJTCitBIERPUy10eXBlIHBhcnRpdGlvbiB0YWJsZSBjYW4gZGVzY3JpYmUgYW4gdW5saW1pdGVkIG51bWJlciBvZiBwYXJ0aXRpb25zLiAgSW4gc2VjdG9yIDAKK3RoZXJlIGlzIHJvb20gZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiA0IHBhcnRpdGlvbnMgKGNhbGxlZCBgcHJpbWFyeScpLiAgT25lIG9mCit0aGVzZSBtYXkgYmUgYW4gZXh0ZW5kZWQgcGFydGl0aW9uOyB0aGlzIGlzIGEgYm94IGhvbGRpbmcgbG9naWNhbCBwYXJ0aXRpb25zLAord2l0aCBkZXNjcmlwdG9ycyBmb3VuZCBpbiBhIGxpbmtlZCBsaXN0IG9mIHNlY3RvcnMsIGVhY2ggcHJlY2VkaW5nIHRoZQorY29ycmVzcG9uZGluZyBsb2dpY2FsIHBhcnRpdGlvbnMuICBUaGUgZm91ciBwcmltYXJ5IHBhcnRpdGlvbnMsIHByZXNlbnQgb3Igbm90LAorZ2V0IG51bWJlcnMgMS00LiAgTG9naWNhbCBwYXJ0aXRpb25zIGFyZSBudW1iZXJlZCBzdGFydGluZyBmcm9tIDUuCisKK0luIGEgRE9TLXR5cGUgcGFydGl0aW9uIHRhYmxlIHRoZSBzdGFydGluZyBvZmZzZXQgYW5kIHRoZSBzaXplIG9mIGVhY2gKK3BhcnRpdGlvbiBpcyBzdG9yZWQgaW4gdHdvIHdheXM6IGFzIGFuIGFic29sdXRlIG51bWJlciBvZiBzZWN0b3JzIChnaXZlbiBpbiAzMgorYml0cyksIGFuZCBhcyBhCisuQiBDeWxpbmRlcnMvSGVhZHMvU2VjdG9ycwordHJpcGxlIChnaXZlbiBpbiAxMCs4KzYgYml0cykuICBUaGUgZm9ybWVyIGlzIE9LIC0tIHdpdGggNTEyLWJ5dGUgc2VjdG9ycyB0aGlzCit3aWxsIHdvcmsgdXAgdG8gMiBUQi4gIFRoZSBsYXR0ZXIgaGFzIHR3byBwcm9ibGVtcy4gIEZpcnN0LCB0aGVzZSBDL0gvUyBmaWVsZHMKK2NhbiBiZSBmaWxsZWQgb25seSB3aGVuIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2sKK2FyZSBrbm93bi4gIEFuZCBzZWNvbmQsIGV2ZW4gaWYgd2Uga25vdyB3aGF0IHRoZXNlIG51bWJlcnMgc2hvdWxkIGJlLCB0aGUgMjQKK2JpdHMgdGhhdCBhcmUgYXZhaWxhYmxlIGRvIG5vdCBzdWZmaWNlLiAgRE9TIHVzZXMgQy9IL1Mgb25seSwgV2luZG93cyB1c2VzCitib3RoLCBMaW51eCBuZXZlciB1c2VzIEMvSC9TLiAgVGhlCisuQiBDL0gvUyBhZGRyZXNzaW5nIGlzIGRlcHJlY2F0ZWQKK2FuZCBtYXkgYmUgdW5zdXBwb3J0ZWQgaW4gc29tZSBsYXRlciBmZGlzayB2ZXJzaW9uLgorCisuQiBQbGVhc2UsIHJlYWQgdGhlIERPUy1tb2RlIHNlY3Rpb24gaWYgeW91IHdhbnQgRE9TLWNvbXBhdGlibGUgcGFydGl0aW9ucy4KKy5CIGZkaXNrCitkb2VzIG5vdCBjYXJlIGFib3V0IGN5bGluZGVyIGJvdW5kYXJpZXMgYnkgZGVmYXVsdC4KKy5SRQorCisuQiBCU0QvU3VuLXR5cGUKKy5SUworQSBCU0QvU3VuIGRpc2tsYWJlbCBjYW4gZGVzY3JpYmUgOCBwYXJ0aXRpb25zLCB0aGUgdGhpcmQgb2Ygd2hpY2ggc2hvdWxkIGJlIGEgYHdob2xlCitkaXNrJyBwYXJ0aXRpb24uICBEbyBub3Qgc3RhcnQgYSBwYXJ0aXRpb24gdGhhdCBhY3R1YWxseSB1c2VzIGl0cyBmaXJzdCBzZWN0b3IKKyhsaWtlIGEgc3dhcCBwYXJ0aXRpb24pIGF0IGN5bGluZGVyIDAsIHNpbmNlIHRoYXQgd2lsbCBkZXN0cm95IHRoZSBkaXNrbGFiZWwuCitOb3RlIHRoYXQgYQorLkIgQlNEIGxhYmVsCitpcyB1c3VhbGx5IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLgorLlJFCisKKy5CIElSSVgvU0dJLXR5cGUKKy5SUworQW4gSVJJWC9TR0kgZGlza2xhYmVsIGNhbiBkZXNjcmliZSAxNiBwYXJ0aXRpb25zLCB0aGUgZWxldmVudGggb2Ygd2hpY2ggc2hvdWxkIGJlIGFuIGVudGlyZQorYHZvbHVtZScgcGFydGl0aW9uLCB3aGlsZSB0aGUgbmludGggc2hvdWxkIGJlIGxhYmVsZWQgYHZvbHVtZSBoZWFkZXInLiAgVGhlCit2b2x1bWUgaGVhZGVyIHdpbGwgYWxzbyBjb3ZlciB0aGUgcGFydGl0aW9uIHRhYmxlLCBpLmUuLCBpdCBzdGFydHMgYXQgYmxvY2sKK3plcm8gYW5kIGV4dGVuZHMgYnkgZGVmYXVsdCBvdmVyIGZpdmUgY3lsaW5kZXJzLiAgVGhlIHJlbWFpbmluZyBzcGFjZSBpbiB0aGUKK3ZvbHVtZSBoZWFkZXIgbWF5IGJlIHVzZWQgYnkgaGVhZGVyIGRpcmVjdG9yeSBlbnRyaWVzLiAgTm8gcGFydGl0aW9ucyBtYXkKK292ZXJsYXAgd2l0aCB0aGUgdm9sdW1lIGhlYWRlci4gIEFsc28gZG8gbm90IGNoYW5nZSBpdHMgdHlwZSBvciBtYWtlIHNvbWUKK2ZpbGVzeXN0ZW0gb24gaXQsIHNpbmNlIHlvdSB3aWxsIGxvc2UgdGhlIHBhcnRpdGlvbiB0YWJsZS4gIFVzZSB0aGlzIHR5cGUgb2YKK2xhYmVsIG9ubHkgd2hlbiB3b3JraW5nIHdpdGggTGludXggb24gSVJJWC9TR0kgbWFjaGluZXMgb3IgSVJJWC9TR0kgZGlza3MgdW5kZXIKK0xpbnV4LgorLlJFCisKK0Egc3luYygpIGFuZCBhbiBpb2N0bChCTEtSUlBBUlQpIChyZXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmcm9tIGRpc2spCithcmUgcGVyZm9ybWVkIGJlZm9yZSBleGl0aW5nIHdoZW4gdGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiB1cGRhdGVkLgorCisuU0ggIkRPUyBtb2RlIGFuZCBET1MgNi54IFdBUk5JTkciCisuQiBOb3RlIHRoYXQgYWxsIHRoaXMgaXMgZGVwcmVjYXRlZC4gIFlvdSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgdGhpbmdzIGxpa2UKKy5CIGdlb21ldHJ5IGFuZCBjeWxpbmRlcnMgb24gbW9kZXJuIG9wZXJhdGluZyBzeXN0ZW1zLiAgSWYgeW91IHJlYWxseSB3YW50CisuQiBET1MtY29tcGF0aWJsZSBwYXJ0aXRpb25pbmcgdGhlbiB5b3UgaGF2ZSB0byBlbmFibGUgRE9TIG1vZGUgYW5kIGN5bGluZGVyCisuQiB1bml0cyBieSB1c2luZyB0aGUgJy1jPWRvcyAtdT1jeWxpbmRlcnMnIGZkaXNrIGNvbW1hbmQtbGluZSBvcHRpb25zLgorCitUaGUgRE9TIDYueCBGT1JNQVQgY29tbWFuZCBsb29rcyBmb3Igc29tZSBpbmZvcm1hdGlvbiBpbiB0aGUgZmlyc3Qgc2VjdG9yIG9mCit0aGUgZGF0YSBhcmVhIG9mIHRoZSBwYXJ0aXRpb24sIGFuZCB0cmVhdHMgdGhpcyBpbmZvcm1hdGlvbiBhcyBtb3JlIHJlbGlhYmxlCit0aGFuIHRoZSBpbmZvcm1hdGlvbiBpbiB0aGUgcGFydGl0aW9uIHRhYmxlLiAgRE9TIEZPUk1BVCBleHBlY3RzIERPUyBGRElTSyB0bworY2xlYXIgdGhlIGZpcnN0IDUxMiBieXRlcyBvZiB0aGUgZGF0YSBhcmVhIG9mIGEgcGFydGl0aW9uIHdoZW5ldmVyIGEgc2l6ZQorY2hhbmdlIG9jY3Vycy4gIERPUyBGT1JNQVQgd2lsbCBsb29rIGF0IHRoaXMgZXh0cmEgaW5mb3JtYXRpb24gZXZlbiBpZiB0aGUgL1UKK2ZsYWcgaXMgZ2l2ZW4gLS0gd2UgY29uc2lkZXIgdGhpcyBhIGJ1ZyBpbiBET1MgRk9STUFUIGFuZCBET1MgRkRJU0suCisKK1RoZSBib3R0b20gbGluZSBpcyB0aGF0IGlmIHlvdSB1c2UgXGZCZmRpc2tcZlIgb3IgXGZCY2ZkaXNrXGZSIHRvIGNoYW5nZSB0aGUKK3NpemUgb2YgYSBET1MgcGFydGl0aW9uIHRhYmxlIGVudHJ5LCB0aGVuIHlvdSBtdXN0IGFsc28gdXNlCisuQlIgZGQgIigxKSB0byAiICJ6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXMiCitvZiB0aGF0IHBhcnRpdGlvbiBiZWZvcmUgdXNpbmcgRE9TIEZPUk1BVCB0byBmb3JtYXQgdGhlIHBhcnRpdGlvbi4gIEZvcgorZXhhbXBsZSwgaWYgeW91IHdlcmUgdXNpbmcgXGZCZmRpc2tcZlIgdG8gbWFrZSBhIERPUyBwYXJ0aXRpb24gdGFibGUgZW50cnkgZm9yCisvZGV2L3NkYTEsIHRoZW4gKGFmdGVyIGV4aXRpbmcgXGZCZmRpc2tcZlIgYW5kIHJlYm9vdGluZyBMaW51eCBzbyB0aGF0IHRoZQorcGFydGl0aW9uIHRhYmxlIGluZm9ybWF0aW9uIGlzIHZhbGlkKSB5b3Ugd291bGQgdXNlIHRoZSBjb21tYW5kICJkZAoraWY9L2Rldi96ZXJvIG9mPS9kZXYvc2RhMSBicz01MTIgY291bnQ9MSIgdG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzIG9mIHRoZQorcGFydGl0aW9uLgorCisuQiBmZGlzawordXN1YWxseSBvYnRhaW5zIHRoZSBkaXNrIGdlb21ldHJ5IGF1dG9tYXRpY2FsbHkuICBUaGlzIGlzIG5vdCBuZWNlc3NhcmlseSB0aGUKK3BoeXNpY2FsIGRpc2sgZ2VvbWV0cnkgKGluZGVlZCwgbW9kZXJuIGRpc2tzIGRvIG5vdCByZWFsbHkgaGF2ZSBhbnl0aGluZyBsaWtlIGEKK3BoeXNpY2FsIGdlb21ldHJ5LCBjZXJ0YWlubHkgbm90IHNvbWV0aGluZyB0aGF0IGNhbiBiZSBkZXNjcmliZWQgaW4gdGhlIHNpbXBsaXN0aWMKK0N5bGluZGVycy9IZWFkcy9TZWN0b3JzIGZvcm0pLCBidXQgaXQgaXMgdGhlIGRpc2sgZ2VvbWV0cnkgdGhhdCBNUy1ET1MgdXNlcyBmb3IKK3RoZSBwYXJ0aXRpb24gdGFibGUuCisKK1VzdWFsbHkgYWxsIGdvZXMgd2VsbCBieSBkZWZhdWx0LCBhbmQgdGhlcmUgYXJlIG5vIHByb2JsZW1zIGlmIExpbnV4IGlzIHRoZQorb25seSBzeXN0ZW0gb24gdGhlIGRpc2suICBIb3dldmVyLCBpZiB0aGUgZGlzayBoYXMgdG8gYmUgc2hhcmVkIHdpdGggb3RoZXIKK29wZXJhdGluZyBzeXN0ZW1zLCBpdCBpcyBvZnRlbiBhIGdvb2QgaWRlYSB0byBsZXQgYW4gZmRpc2sgZnJvbSBhbm90aGVyCitvcGVyYXRpbmcgc3lzdGVtIG1ha2UgYXQgbGVhc3Qgb25lIHBhcnRpdGlvbi4gIFdoZW4gTGludXggYm9vdHMgaXQgbG9va3MgYXQgdGhlCitwYXJ0aXRpb24gdGFibGUsIGFuZCB0cmllcyB0byBkZWR1Y2Ugd2hhdCAoZmFrZSkgZ2VvbWV0cnkgaXMgcmVxdWlyZWQgZm9yIGdvb2QKK2Nvb3BlcmF0aW9uIHdpdGggb3RoZXIgc3lzdGVtcy4KKworV2hlbmV2ZXIgYSBwYXJ0aXRpb24gdGFibGUgaXMgcHJpbnRlZCBvdXQgaW4gRE9TIG1vZGUsIGEgY29uc2lzdGVuY3kgY2hlY2sgaXMKK3BlcmZvcm1lZCBvbiB0aGUgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMuICBUaGlzIGNoZWNrIHZlcmlmaWVzIHRoYXQgdGhlCitwaHlzaWNhbCBhbmQgbG9naWNhbCBzdGFydCBhbmQgZW5kIHBvaW50cyBhcmUgaWRlbnRpY2FsLCBhbmQgdGhhdCBlYWNoCitwYXJ0aXRpb24gc3RhcnRzIGFuZCBlbmRzIG9uIGEgY3lsaW5kZXIgYm91bmRhcnkgKGV4Y2VwdCBmb3IgdGhlIGZpcnN0CitwYXJ0aXRpb24pLgorCitTb21lIHZlcnNpb25zIG9mIE1TLURPUyBjcmVhdGUgYSBmaXJzdCBwYXJ0aXRpb24gd2hpY2ggZG9lcyBub3QgYmVnaW4KK29uIGEgY3lsaW5kZXIgYm91bmRhcnksIGJ1dCBvbiBzZWN0b3IgMiBvZiB0aGUgZmlyc3QgY3lsaW5kZXIuCitQYXJ0aXRpb25zIGJlZ2lubmluZyBpbiBjeWxpbmRlciAxIGNhbm5vdCBiZWdpbiBvbiBhIGN5bGluZGVyIGJvdW5kYXJ5LCBidXQKK3RoaXMgaXMgdW5saWtlbHkgdG8gY2F1c2UgZGlmZmljdWx0eSB1bmxlc3MgeW91IGhhdmUgT1MvMiBvbiB5b3VyIG1hY2hpbmUuCisKK0ZvciBiZXN0IHJlc3VsdHMsIHlvdSBzaG91bGQgYWx3YXlzIHVzZSBhbiBPUy1zcGVjaWZpYyBwYXJ0aXRpb24gdGFibGUKK3Byb2dyYW0uICBGb3IgZXhhbXBsZSwgeW91IHNob3VsZCBtYWtlIERPUyBwYXJ0aXRpb25zIHdpdGggdGhlIERPUyBGRElTSworcHJvZ3JhbSBhbmQgTGludXggcGFydGl0aW9ucyB3aXRoIHRoZSBMaW51eCBmZGlzayBvciBMaW51eCBjZmRpc2sgcHJvZ3JhbXMuCisuU0ggQ09MT1JTCitJbXBsaWNpdCBjb2xvcmluZyBjYW4gYmUgZGlzYWJsZWQgYnkgYW4gZW1wdHkgZmlsZSBcZkkvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL2ZkaXNrLmRpc2FibGVcZlIuCisKK1NlZQorLkJSIHRlcm1pbmFsLWNvbG9ycy5kICg1KQorZm9yIG1vcmUgZGV0YWlscyBhYm91dCBjb2xvcml6YXRpb24gY29uZmlndXJhdGlvbi4gVGhlIGxvZ2ljYWwgY29sb3IgbmFtZXMKK3N1cHBvcnRlZCBieQorLkIgZmRpc2sKK2FyZToKKy5UUAorLkIgaGVhZGVyCitUaGUgaGVhZGVyIG9mIHRoZSBvdXRwdXQgdGFibGVzLgorLlRQCisuQiBoZWxwLXRpdGxlCitUaGUgaGVscCBzZWN0aW9uIHRpdGxlcy4KKy5UUAorLkIgd2FybgorVGhlIHdhcm5pbmcgbWVzc2FnZXMuCisuVFAKKy5CIHdlbGNvbWUKK1RoZSB3ZWxjb21lIG1lc3NhZ2UuCisKKy5TSCBBVVRIT1JTCisuTVQga3pha0ByZWRoYXQuY29tCitLYXJlbCBaYWsKKy5NRQorLmJyCisuTVQgZGF2ZUBnbnUub3JnCitEYXZpZGxvaHIgQnVlc28KKy5NRQorLmJyCisuUFAKK1RoZSBvcmlnaW5hbCB2ZXJzaW9uIHdhcyB3cml0dGVuIGJ5CitBbmRyaWVzIEUuIEJyb3V3ZXIsIEEuIFYuIExlIEJsYW5jIGFuZCBvdGhlcnMuCisKKy5TSCBFTlZJUk9OTUVOVAorLklQIEZESVNLX0RFQlVHPWFsbAorZW5hYmxlcyBmZGlzayBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCRkRJU0tfREVCVUc9YWxsCitlbmFibGVzIGxpYmZkaXNrIGRlYnVnIG91dHB1dC4KKy5JUCBMSUJCTEtJRF9ERUJVRz1hbGwKK2VuYWJsZXMgbGliYmxraWQgZGVidWcgb3V0cHV0LgorLklQIExJQlNNQVJUQ09MU19ERUJVRz1hbGwKK2VuYWJsZXMgbGlic21hcnRjb2xzIGRlYnVnIG91dHB1dC4KKy5JUCBMSUJTTUFSVENPTFNfREVCVUdfUEFERElORz1vbgordXNlIHZpc2libGUgcGFkZGluZyBjaGFyYWN0ZXJzLiBSZXF1aXJlcyBlbmFibGVkIExJQlNNQVJUQ09MU19ERUJVRy4KKworLlNIICJTRUUgQUxTTyIKKy5CUiBjZmRpc2sgKDgpLAorLkJSIG1rZnMgKDgpLAorLkJSIHBhcnR4ICg4KSwKKy5CUiBzZmRpc2sgKDgpCisKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBmZGlzayBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9mZGlzay5jIGIvZGlzay11dGlscy9mZGlzay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczNTI1ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZkaXNrLmMKQEAgLTAsMCArMSwxMDk1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTkyICBBLiBWLiBMZSBCbGFuYyAoTGVCbGFuY0BtY2MuYWMudWspCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNy0yMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgWW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb246IGVpdGhlciB2ZXJzaW9uIDEgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8cG9sbC5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKKyMgZGVmaW5lIF9GVU5DVElPTl9ERUYKKyMgaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInJwbWF0Y2guaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJwYWdlci5oIgorCisjaW5jbHVkZSAiZmRpc2suaCIKKworI2luY2x1ZGUgInB0LXN1bi5oIgkJLyogdG8gdG9nZ2xlIGZsYWdzICovCisKKyNpZmRlZiBIQVZFX0xJTlVYX0NPTVBJTEVSX0gKKyMgaW5jbHVkZSA8bGludXgvY29tcGlsZXIuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTElOVVhfQkxLUEdfSAorIyBpbmNsdWRlIDxsaW51eC9ibGtwZy5oPgorI2VuZGlmCisKK2ludCBwd2lwZW1vZGUgPSBXSVBFTU9ERV9BVVRPOworaW50IGRldmljZV9pc191c2VkOworaW50IGlzX2ludGVyYWN0aXZlOworc3RydWN0IGZkaXNrX3RhYmxlICpvcmlnaW5hbF9sYXlvdXQ7CisKK3N0YXRpYyBpbnQgd2lwZW1vZGUgPSBXSVBFTU9ERV9BVVRPOworCisvKgorICogZmRpc2sgZGVidWcgc3R1ZmYgKHNlZSBmZGlzay5oIGFuZCBpbmNsdWRlL2RlYnVnLmgpCisgKi8KK1VMX0RFQlVHX0RFRklORV9NQVNLKGZkaXNrKTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVMoZmRpc2spID0gVUxfREVCVUdfRU1QVFlfTUFTS05BTUVTOworCitzdGF0aWMgdm9pZCBmZGlza3Byb2dfaW5pdF9kZWJ1Zyh2b2lkKQoreworCV9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVihmZGlzaywgRkRJU0tQUk9HX0RFQlVHXywgMCwgRkRJU0tfREVCVUcpOworfQorCitzdGF0aWMgdm9pZCByZXBseV9zaWdoYW5kbGVyKGludCBzaWcgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJREJHKEFTSywgdWxfZGVidWcoImdvdCBzaWduYWwiKSk7Cit9CisKK3N0YXRpYyBpbnQgcmVwbHlfcnVubmluZzsKKworI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKK3N0YXRpYyBjaGFyICpyZXBseV9saW5lOworCitzdGF0aWMgdm9pZCByZXBseV9saW5laGFuZGxlcihjaGFyICpsaW5lKQoreworCXJlcGx5X2xpbmUgPSBsaW5lOworCXJlcGx5X3J1bm5pbmcgPSAwOworCXJsX2NhbGxiYWNrX2hhbmRsZXJfcmVtb3ZlKCk7CS8qIGF2b2lkIGR1cGxpY2F0ZSBwcm9tcHQgKi8KK30KKyNlbmRpZgorCitpbnQgZ2V0X3VzZXJfcmVwbHkoY29uc3QgY2hhciAqcHJvbXB0LCBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwlzdHJ1Y3Qgc2lnYWN0aW9uIG9sZGFjdCwgYWN0ID0geworCQkuc2FfaGFuZGxlciA9IHJlcGx5X3NpZ2hhbmRsZXIKKwl9OworCXN0cnVjdCBwb2xsZmQgZmRzW10gPSB7CisJCXsgLmZkID0gZmlsZW5vKHN0ZGluKSwgLmV2ZW50cyA9IFBPTExJTiB9CisJfTsKKwlzaXplX3Qgc3o7CisJaW50IHJldCA9IDA7CisKKwlEQkcoQVNLLCB1bF9kZWJ1ZygiYXNraW5nIGZvciB1c2VyIHJlcGx5ICVzIiwgaXNfaW50ZXJhY3RpdmUgPyAiW2ludGVyYWN0aXZlXSIgOiAiIikpOworCisJc2lnZW1wdHlzZXQoJmFjdC5zYV9tYXNrKTsKKwlzaWdhY3Rpb24oU0lHSU5ULCAmYWN0LCAmb2xkYWN0KTsKKworI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKKwlpZiAoaXNfaW50ZXJhY3RpdmUpCisJCXJsX2NhbGxiYWNrX2hhbmRsZXJfaW5zdGFsbChwcm9tcHQsIHJlcGx5X2xpbmVoYW5kbGVyKTsKKyNlbmRpZgorCXJlcGx5X3J1bm5pbmcgPSAxOworCWRvIHsKKwkJaW50IHJjOworCisJCSpidWYgPSAnXDAnOworI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKKwkJaWYgKCFpc19pbnRlcmFjdGl2ZSkKKyNlbmRpZgorCQl7CisJCQlmcHV0cyhwcm9tcHQsIHN0ZG91dCk7CisJCQlmZmx1c2goc3Rkb3V0KTsKKwkJfQorCisJCXJjID0gcG9sbChmZHMsIDEsIC0xKTsKKwkJaWYgKHJjID09IC0xICYmIGVycm5vID09IEVJTlRSKQl7CS8qIGludGVycnVwdGVkIGJ5IHNpZ25hbCAqLworCQkJREJHKEFTSywgdWxfZGVidWcoImNhbmNlbCBieSBDVFJMK0MiKSk7CisJCQlyZXQgPSAtRUNBTkNFTEVEOworCQkJZ290byBkb25lOworCQl9CisJCWlmIChyYyA9PSAtMSAmJiBlcnJubyAhPSBFQUdBSU4pIHsJLyogZXJyb3IgKi8KKwkJCXJldCA9IC1lcnJubzsKKwkJCWdvdG8gZG9uZTsKKwkJfQorI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKKwkJaWYgKGlzX2ludGVyYWN0aXZlKSB7CisJCQkvKiByZWFkIGlucHV0IGFuZCBjb3B5IHRvIGJ1ZltdICovCisJCQlybF9jYWxsYmFja19yZWFkX2NoYXIoKTsKKwkJCWlmICghcmVwbHlfcnVubmluZyAmJiByZXBseV9saW5lKSB7CisJCQkJc3ogPSBzdHJsZW4ocmVwbHlfbGluZSk7CisJCQkJaWYgKHN6ID09IDApCisJCQkJCWJ1ZltzeisrXSA9ICdcbic7CisJCQkJZWxzZQorCQkJCQltZW1jcHkoYnVmLCByZXBseV9saW5lLCBtaW4oc3osIGJ1ZnN6KSk7CisJCQkJYnVmW21pbihzeiwgYnVmc3ogLSAxKV0gPSAnXDAnOworCQkJCWZyZWUocmVwbHlfbGluZSk7CisJCQkJcmVwbHlfbGluZSA9IE5VTEw7CisJCQl9CisJCX0gZWxzZQorI2VuZGlmCisJCXsKKwkJCWlmICghZmdldHMoYnVmLCBidWZzeiwgc3RkaW4pKQorCQkJCSpidWYgPSAnXDAnOworCQkJYnJlYWs7CisJCX0KKwl9IHdoaWxlIChyZXBseV9ydW5uaW5nKTsKKworCWlmICghKmJ1ZikgeworCQlEQkcoQVNLLCB1bF9kZWJ1ZygiY2FuY2VsIGJ5IENUUkwrRCIpKTsKKwkJcmV0ID0gLUVDQU5DRUxFRDsKKwkJZ290byBkb25lOworCX0KKworCS8qCisJICogY2xlYW51cCB0aGUgcmVwbHkKKwkgKi8KKwlzeiA9IGx0cmltX3doaXRlc3BhY2UoKHVuc2lnbmVkIGNoYXIgKikgYnVmKTsKKwlpZiAoc3ogJiYgKihidWYgKyBzeiAtIDEpID09ICdcbicpCisJCSooYnVmICsgc3ogLSAxKSA9ICdcMCc7CisKKwlEQkcoQVNLLCB1bF9kZWJ1ZygidXNlcidzIHJlcGx5OiA+Pj4lczw8PCIsIGJ1ZikpOworZG9uZToKKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCisJaWYgKGlzX2ludGVyYWN0aXZlKQorCQlybF9jYWxsYmFja19oYW5kbGVyX3JlbW92ZSgpOworI2VuZGlmCisJc2lnYWN0aW9uKFNJR0lOVCwgJm9sZGFjdCwgTlVMTCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBhc2tfbWVudShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfYXNrICphc2ssCisJCSAgICBjaGFyICpidWYsIHNpemVfdCBidWZzeikKKworeworCWNvbnN0IGNoYXIgKnEgPSBmZGlza19hc2tfZ2V0X3F1ZXJ5KGFzayk7CisJaW50IGRmdCA9IGZkaXNrX2Fza19tZW51X2dldF9kZWZhdWx0KGFzayk7CisKKwlpZiAocSkgeworCQlmcHV0cyhxLCBzdGRvdXQpOwkJLyogcHJpbnQgaGVhZGVyICovCisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJfQorCisJZG8geworCQljaGFyIHByb21wdFsxMjhdOworCQlpbnQga2V5LCBjLCByYzsKKwkJY29uc3QgY2hhciAqbmFtZSwgKmRlc2M7CisJCXNpemVfdCBpID0gMDsKKworCQkvKiBwcmludCBtZW51IGl0ZW1zICovCisJCXdoaWxlIChmZGlza19hc2tfbWVudV9nZXRfaXRlbShhc2ssIGkrKywgJmtleSwgJm5hbWUsICZkZXNjKSA9PSAwKQorCQkJZnByaW50ZihzdGRvdXQsICIgICAlYyAgICVzICglcylcbiIsIGtleSwgbmFtZSwgZGVzYyk7CisKKwkJLyogYXNrIGZvciBrZXkgKi8KKwkJc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwgXygiU2VsZWN0IChkZWZhdWx0ICVjKTogIiksIGRmdCk7CisJCXJjID0gZ2V0X3VzZXJfcmVwbHkocHJvbXB0LCBidWYsIGJ1ZnN6KTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoISpidWYpIHsKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIpLCBkZnQpOworCQkJYyA9IGRmdDsKKwkJfSBlbHNlCisJCQljID0gdG9sb3dlcihidWZbMF0pOworCisJCS8qIGNoZWNrIHJlc3VsdCAqLworCQlpID0gMDsKKwkJd2hpbGUgKGZkaXNrX2Fza19tZW51X2dldF9pdGVtKGFzaywgaSsrLCAma2V5LCBOVUxMLCBOVUxMKSA9PSAwKSB7CisJCQlpZiAoYyA9PSBrZXkpIHsKKwkJCQlmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0KGFzaywgYyk7CisJCQkJcmV0dXJuIDA7CS8qIHN1Y2Nlc3MgKi8KKwkJCX0KKwkJfQorCQlmZGlza193YXJueChjeHQsIF8oIlZhbHVlIG91dCBvZiByYW5nZS4iKSk7CisJfSB3aGlsZSAoMSk7CisKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworCisjZGVmaW5lIHRvY2hhcihudW0pCSgoaW50KSAoJ2EnICsgbnVtIC0gMSkpCitzdGF0aWMgaW50IGFza19udW1iZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJICAgICAgc3RydWN0IGZkaXNrX2FzayAqYXNrLAorCQkgICAgICBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwljaGFyIHByb21wdFsxMjhdID0geyAnXDAnIH07CisJY29uc3QgY2hhciAqcSA9IGZkaXNrX2Fza19nZXRfcXVlcnkoYXNrKTsKKwljb25zdCBjaGFyICpyYW5nZSA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3JhbmdlKGFzayk7CisKKwl1aW50NjRfdCBkZmx0ID0gZmRpc2tfYXNrX251bWJlcl9nZXRfZGVmYXVsdChhc2spLAorCQkgbG93ID0gZmRpc2tfYXNrX251bWJlcl9nZXRfbG93KGFzayksCisJCSBoaWdoID0gZmRpc2tfYXNrX251bWJlcl9nZXRfaGlnaChhc2spOworCWludCBpbmNoYXIgPSBmZGlza19hc2tfbnVtYmVyX2luY2hhcnMoYXNrKTsKKworCWFzc2VydChxKTsKKworCURCRyhBU0ssIHVsX2RlYnVnKCJhc2tpbmcgZm9yIG51bWJlciAiCisJCQkiWyclcycsIDwlIlBSSXU2NCIsJSJQUkl1NjQiPiwgZGVmYXVsdD0lIlBSSXU2NCIsIHJhbmdlOiAlc10iLAorCQkJcSwgbG93LCBoaWdoLCBkZmx0LCByYW5nZSkpOworCisJaWYgKHJhbmdlICYmIGRmbHQgPj0gbG93ICYmIGRmbHQgPD0gaGlnaCkgeworCQlpZiAoaW5jaGFyKQorCQkJc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwgXygiJXMgKCVzLCBkZWZhdWx0ICVjKTogIiksCisJCQkJCXEsIHJhbmdlLCB0b2NoYXIoZGZsdCkpOworCQllbHNlCisJCQlzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLCBfKCIlcyAoJXMsIGRlZmF1bHQgJSJQUkl1NjQiKTogIiksCisJCQkJCXEsIHJhbmdlLCBkZmx0KTsKKworCX0gZWxzZSBpZiAoZGZsdCA+PSBsb3cgJiYgZGZsdCA8PSBoaWdoKSB7CisJCWlmIChpbmNoYXIpCisJCQlzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLCBfKCIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiKSwKKwkJCQkJcSwgdG9jaGFyKGxvdyksIHRvY2hhcihoaWdoKSwgdG9jaGFyKGRmbHQpKTsKKwkJZWxzZQorCQkJc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwKKwkJCQkJXygiJXMgKCUiUFJJdTY0Ii0lIlBSSXU2NCIsIGRlZmF1bHQgJSJQUkl1NjQiKTogIiksCisJCQkJCXEsIGxvdywgaGlnaCwgZGZsdCk7CisJfSBlbHNlIGlmIChpbmNoYXIpCisJCXNucHJpbnRmKHByb21wdCwgc2l6ZW9mKHByb21wdCksIF8oIiVzICglYy0lYyk6ICIpLAorCQkJCXEsIHRvY2hhcihsb3cpLCB0b2NoYXIoaGlnaCkpOworCWVsc2UKKwkJc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwgXygiJXMgKCUiUFJJdTY0Ii0lIlBSSXU2NCIpOiAiKSwKKwkJCQlxLCBsb3csIGhpZ2gpOworCisJZG8geworCQlpbnQgcmMgPSBnZXRfdXNlcl9yZXBseShwcm9tcHQsIGJ1ZiwgYnVmc3opOworCQl1aW50NjRfdCBudW0gPSAwOworCisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJaWYgKCEqYnVmICYmIGRmbHQgPj0gbG93ICYmIGRmbHQgPD0gaGlnaCkKKwkJCXJldHVybiBmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBkZmx0KTsKKworCQlpZiAoaXNkaWdpdF9zdHJpbmcoYnVmKSkgeworCQkJY2hhciAqZW5kOworCisJCQllcnJubyA9IDA7CisJCQludW0gPSBzdHJ0b3VtYXgoYnVmLCAmZW5kLCAxMCk7CisJCQlpZiAoZXJybm8gfHwgYnVmID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQkJCWNvbnRpbnVlOworCQl9IGVsc2UgaWYgKGluY2hhciAmJiBpc2FscGhhKCpidWYpKSB7CisJCQludW0gPSB0b2xvd2VyKCpidWYpIC0gJ2EnICsgMTsKKwkJfSBlbHNlCisJCQlyYyA9IC1FSU5WQUw7CisKKwkJaWYgKHJjID09IDAgJiYgbnVtID49IGxvdyAmJiBudW0gPD0gaGlnaCkKKwkJCXJldHVybiBmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBudW0pOworCisJCWZkaXNrX3dhcm54KGN4dCwgXygiVmFsdWUgb3V0IG9mIHJhbmdlLiIpKTsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBhc2tfb2Zmc2V0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCSAgICAgIHN0cnVjdCBmZGlza19hc2sgKmFzaywKKwkJICAgICAgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJY2hhciBwcm9tcHRbMTI4XSA9IHsgJ1wwJyB9OworCWNvbnN0IGNoYXIgKnEgPSBmZGlza19hc2tfZ2V0X3F1ZXJ5KGFzayk7CisJY29uc3QgY2hhciAqcmFuZ2UgPSBmZGlza19hc2tfbnVtYmVyX2dldF9yYW5nZShhc2spOworCisJdWludDY0X3QgZGZsdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X2RlZmF1bHQoYXNrKSwKKwkJIGxvdyA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdyhhc2spLAorCQkgaGlnaCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X2hpZ2goYXNrKSwKKwkJIGJhc2UgPSBmZGlza19hc2tfbnVtYmVyX2dldF9iYXNlKGFzayk7CisKKwlhc3NlcnQocSk7CisKKwlEQkcoQVNLLCB1bF9kZWJ1ZygiYXNraW5nIGZvciBvZmZzZXQgWyclcycsIDwlIlBSSXU2NCIsJSJQUkl1NjQiPiwgYmFzZT0lIlBSSXU2NCIsIGRlZmF1bHQ9JSJQUkl1NjQiLCByYW5nZTogJXNdIiwKKwkJCQlxLCBsb3csIGhpZ2gsIGJhc2UsIGRmbHQsIHJhbmdlKSk7CisKKwlpZiAocmFuZ2UgJiYgZGZsdCA+PSBsb3cgJiYgZGZsdCA8PSBoaWdoKQorCQlzbnByaW50Zihwcm9tcHQsIHNpemVvZihwcm9tcHQpLCBfKCIlcyAoJXMsIGRlZmF1bHQgJSJQUkl1NjQiKTogIiksCisJCSAgICAgICAgIHEsIHJhbmdlLCBkZmx0KTsKKwllbHNlIGlmIChkZmx0ID49IGxvdyAmJiBkZmx0IDw9IGhpZ2gpCisJCXNucHJpbnRmKHByb21wdCwgc2l6ZW9mKHByb21wdCksCisJCSAgICAgICAgIF8oIiVzICglIlBSSXU2NCItJSJQUkl1NjQiLCBkZWZhdWx0ICUiUFJJdTY0Iik6ICIpLAorCQkgICAgICAgICBxLCBsb3csIGhpZ2gsIGRmbHQpOworCWVsc2UKKwkJc25wcmludGYocHJvbXB0LCBzaXplb2YocHJvbXB0KSwgXygiJXMgKCUiUFJJdTY0Ii0lIlBSSXU2NCIpOiAiKSwKKwkJICAgICAgICAgcSwgbG93LCBoaWdoKTsKKworCWRvIHsKKwkJdWludG1heF90IG51bSA9IDA7CisJCWNoYXIgc2lnID0gMCwgKnA7CisJCWludCBwd3IgPSAwOworCisJCWludCByYyA9IGdldF91c2VyX3JlcGx5KHByb21wdCwgYnVmLCBidWZzeik7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJaWYgKCEqYnVmICYmIGRmbHQgPj0gbG93ICYmIGRmbHQgPD0gaGlnaCkKKwkJCXJldHVybiBmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBkZmx0KTsKKworCQlwID0gYnVmOworCQlpZiAoKnAgPT0gJysnIHx8ICpwID09ICctJykgeworCQkJc2lnID0gKmJ1ZjsKKwkJCXArKzsKKwkJfQorCisJCXJjID0gcGFyc2Vfc2l6ZShwLCAmbnVtLCAmcHdyKTsKKwkJaWYgKHJjKQorCQkJY29udGludWU7CisJCURCRyhBU0ssIHVsX2RlYnVnKCJwYXJzZWQgc2l6ZTogJWp1IiwgbnVtKSk7CisJCWlmIChzaWcgJiYgcHdyKSB7CisJCQkvKiAre3NpemV9e0ssTSwuLi59IHNwZWNpZmllZCwgdGhlICJudW0iIGlzIGluIGJ5dGVzICovCisJCQl1aW50NjRfdCB1bml0ID0gZmRpc2tfYXNrX251bWJlcl9nZXRfdW5pdChhc2spOworCQkJbnVtICs9IHVuaXQvMjsJLyogcm91bmQgKi8KKwkJCW51bSAvPSB1bml0OworCQl9CisJCWlmIChzaWcgPT0gJysnKQorCQkJbnVtICs9IGJhc2U7CisJCWVsc2UgaWYgKHNpZyA9PSAnLScpCisJCQludW0gPSBiYXNlIC0gbnVtOworCisJCURCRyhBU0ssIHVsX2RlYnVnKCJmaW5hbCBvZmZzZXQ6ICVqdSBbc2lnOiAlYywgcG93ZXI6ICVkLCAlc10iLAorCQkJCW51bSwgc2lnLCBwd3IsCisJCQkJc2lnID8gInJlbGF0aXZlIiA6ICJhYnNvbHV0ZSIpKTsKKwkJaWYgKG51bSA+PSBsb3cgJiYgbnVtIDw9IGhpZ2gpIHsKKwkJCWlmIChzaWcgJiYgcHdyKQorCQkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3JlbGF0aXZlKGFzaywgMSk7CisJCQlyZXR1cm4gZmRpc2tfYXNrX251bWJlcl9zZXRfcmVzdWx0KGFzaywgKHVpbnQ2NF90KW51bSk7CisJCX0KKwkJZmRpc2tfd2FybngoY3h0LCBfKCJWYWx1ZSBvdXQgb2YgcmFuZ2UuIikpOworCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IGluZm9fY291bnQ7CisKK3N0YXRpYyB2b2lkIGZwdXRzX2luZm8oc3RydWN0IGZkaXNrX2FzayAqYXNrLCBGSUxFICpvdXQpCit7CisJY29uc3QgY2hhciAqbXNnOworCWFzc2VydChhc2spOworCisJbXNnID0gZmRpc2tfYXNrX3ByaW50X2dldF9tZXNnKGFzayk7CisJaWYgKCFtc2cpCisJCXJldHVybjsKKwlpZiAoaW5mb19jb3VudCA9PSAxKQorCQlmcHV0YygnXG4nLCBvdXQpOworCisJZnB1dHMobXNnLCBvdXQpOworCWZwdXRjKCdcbicsIG91dCk7Cit9CisKK2ludCBhc2tfY2FsbGJhY2soc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2FzayAqYXNrLAorCQkgICAgdm9pZCAqZGF0YSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaW50IHJjID0gMDsKKwljaGFyIGJ1ZltCVUZTSVpdOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGFzayk7CisKKwlpZiAoZmRpc2tfYXNrX2dldF90eXBlKGFzaykgIT0gRkRJU0tfQVNLVFlQRV9JTkZPKQorCQlpbmZvX2NvdW50ID0gMDsKKworCXN3aXRjaChmZGlza19hc2tfZ2V0X3R5cGUoYXNrKSkgeworCWNhc2UgRkRJU0tfQVNLVFlQRV9NRU5VOgorCQlyZXR1cm4gYXNrX21lbnUoY3h0LCBhc2ssIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWNhc2UgRkRJU0tfQVNLVFlQRV9OVU1CRVI6CisJCXJldHVybiBhc2tfbnVtYmVyKGN4dCwgYXNrLCBidWYsIHNpemVvZihidWYpKTsKKwljYXNlIEZESVNLX0FTS1RZUEVfT0ZGU0VUOgorCQlyZXR1cm4gYXNrX29mZnNldChjeHQsIGFzaywgYnVmLCBzaXplb2YoYnVmKSk7CisJY2FzZSBGRElTS19BU0tUWVBFX0lORk86CisJCWlmICghZmRpc2tfaXNfbGlzdG9ubHkoY3h0KSkKKwkJCWluZm9fY291bnQrKzsKKwkJZnB1dHNfaW5mbyhhc2ssIHN0ZG91dCk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9XQVJOWDoKKwkJZmZsdXNoKHN0ZG91dCk7CisJCWNvbG9yX3NjaGVtZV9mZW5hYmxlKCJ3YXJuIiwgVUxfQ09MT1JfUkVELCBzdGRlcnIpOworCQlmcHV0cyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSwgc3RkZXJyKTsKKwkJY29sb3JfZmRpc2FibGUoc3RkZXJyKTsKKwkJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19BU0tUWVBFX1dBUk46CisJCWZmbHVzaChzdGRvdXQpOworCQljb2xvcl9zY2hlbWVfZmVuYWJsZSgid2FybiIsIFVMX0NPTE9SX1JFRCwgc3RkZXJyKTsKKwkJZnB1dHMoZmRpc2tfYXNrX3ByaW50X2dldF9tZXNnKGFzayksIHN0ZGVycik7CisJCWVycm5vID0gZmRpc2tfYXNrX3ByaW50X2dldF9lcnJubyhhc2spOworCQlmcHJpbnRmKHN0ZGVyciwgIjogJW1cbiIpOworCQljb2xvcl9mZGlzYWJsZShzdGRlcnIpOworCQlicmVhazsKKwljYXNlIEZESVNLX0FTS1RZUEVfWUVTTk86CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJCWRvIHsKKwkJCWludCB4OworCQkJZnB1dHMoZmRpc2tfYXNrX2dldF9xdWVyeShhc2spLCBzdGRvdXQpOworCQkJcmMgPSBnZXRfdXNlcl9yZXBseShfKCIgW1ldZXMvW05dbzogIiksIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQkJaWYgKHJjKQorCQkJCWJyZWFrOworCQkJeCA9IHJwbWF0Y2goYnVmKTsKKwkJCWlmICh4ID09IFJQTUFUQ0hfWUVTIHx8IHggPT0gUlBNQVRDSF9OTykgeworCQkJCWZkaXNrX2Fza195ZXNub19zZXRfcmVzdWx0KGFzaywgeCk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0gd2hpbGUoMSk7CisJCURCRyhBU0ssIHVsX2RlYnVnKCJ5ZXMtbm8gYXNrOiByZXBseSAnJXMnIFtyYz0lZF0iLCBidWYsIHJjKSk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9TVFJJTkc6CisJeworCQljaGFyIHBybXRbQlVGU0laXTsKKwkJc25wcmludGYocHJtdCwgc2l6ZW9mKHBybXQpLCAiJXM6ICIsIGZkaXNrX2Fza19nZXRfcXVlcnkoYXNrKSk7CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJCXJjID0gZ2V0X3VzZXJfcmVwbHkocHJtdCwgYnVmLCBzaXplb2YoYnVmKSk7CisJCWlmIChyYyA9PSAwKQorCQkJZmRpc2tfYXNrX3N0cmluZ19zZXRfcmVzdWx0KGFzaywgeHN0cmR1cChidWYpKTsKKwkJREJHKEFTSywgdWxfZGVidWcoInN0cmluZyBhc2s6IHJlcGx5ICclcycgW3JjPSVkXSIsIGJ1ZiwgcmMpKTsKKwkJYnJlYWs7CisJfQorCWRlZmF1bHQ6CisJCXdhcm54KF8oImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIpLCBmZGlza19hc2tfZ2V0X3R5cGUoYXNrKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmFza19wYXJ0aXRpb25fdHlwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKnE7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKworCWFzc2VydChjeHQpOworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisKKwlpZiAoIWxiKQorCQlyZXR1cm4gTlVMTDsKKworICAgICAgICBxID0gZmRpc2tfbGFiZWxfaGFzX2NvZGVfcGFydHR5cGVzKGxiKSA/CisJCV8oIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiKSA6CisJCV8oIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiKTsKKwlkbyB7CisJCWNoYXIgYnVmWzI1Nl07CisJCWludCByYyA9IGdldF91c2VyX3JlcGx5KHEsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJCWlmIChyYykKKwkJCWJyZWFrOworCisJCWlmIChidWZbMV0gPT0gJ1wwJyAmJiB0b3VwcGVyKCpidWYpID09ICdMJykKKwkJCWxpc3RfcGFydGl0aW9uX3R5cGVzKGN4dCk7CisJCWVsc2UgaWYgKCpidWYpCisJCQlyZXR1cm4gZmRpc2tfbGFiZWxfcGFyc2VfcGFydHR5cGUobGIsIGJ1Zik7CisgICAgICAgIH0gd2hpbGUgKDEpOworCisJcmV0dXJuIE5VTEw7Cit9CisKKwordm9pZCBsaXN0X3BhcnRpdGlvbl90eXBlcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXNpemVfdCBudHlwZXMgPSAwOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisKKwlhc3NlcnQoY3h0KTsKKwlsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCWlmICghbGIpCisJCXJldHVybjsKKwludHlwZXMgPSBmZGlza19sYWJlbF9nZXRfbnBhcnR0eXBlcyhsYik7CisJaWYgKCFudHlwZXMpCisJCXJldHVybjsKKworCWlmIChmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXMobGIpKSB7CisJCS8qCisJCSAqIFByaW50cyBpbiA0IGNvbHVtbnMgaW4gZm9ybWF0IDxoZXg+IDxuYW1lPgorCQkgKi8KKwkJc2l6ZV90IGxhc3RbNF0sIGRvbmUgPSAwLCBuZXh0ID0gMCwgc2l6ZTsKKwkJaW50IGk7CisKKwkJc2l6ZSA9IG50eXBlczsKKworCQlmb3IgKGkgPSAzOyBpID49IDA7IGktLSkKKwkJCWxhc3RbMyAtIGldID0gZG9uZSArPSAoc2l6ZSArIGkgLSBkb25lKSAvIChpICsgMSk7CisJCWkgPSBkb25lID0gMDsKKworCQlkbyB7CisJCQkjZGVmaW5lIE5BTUVfV0lEVEggMTUKKwkJCWNoYXIgbmFtZVtOQU1FX1dJRFRIICogTUJfTEVOX01BWF07CisJCQlzaXplX3Qgd2lkdGggPSBOQU1FX1dJRFRIOworCQkJY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlKGxiLCBuZXh0KTsKKwkJCXNpemVfdCByZXQ7CisKKwkJCWlmIChmZGlza19wYXJ0dHlwZV9nZXRfbmFtZSh0KSkgeworCQkJCXByaW50ZigiJWMlMnggICIsIGkgPyAnICcgOiAnXG4nLAorCQkJCQkJZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUodCkpOworCQkJCXJldCA9IG1ic2FsaWduKF8oZmRpc2tfcGFydHR5cGVfZ2V0X25hbWUodCkpLAorCQkJCQkJbmFtZSwgc2l6ZW9mKG5hbWUpLAorCQkJCQkJJndpZHRoLCBNQlNfQUxJR05fTEVGVCwgMCk7CisKKwkJCQlpZiAocmV0ID09IChzaXplX3QpLTEgfHwgcmV0ID49IHNpemVvZihuYW1lKSkKKwkJCQkJcHJpbnRmKCIlLTE1LjE1cyIsCisJCQkJCQlfKGZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHQpKSk7CisJCQkJZWxzZQorCQkJCQlmcHV0cyhuYW1lLCBzdGRvdXQpOworCQkJfQorCisJCQluZXh0ID0gbGFzdFtpKytdICsgZG9uZTsKKwkJCWlmIChpID4gMyB8fCBuZXh0ID49IGxhc3RbaV0pIHsKKwkJCQlpID0gMDsKKwkJCQluZXh0ID0gKytkb25lOworCQkJfQorCQl9IHdoaWxlIChkb25lIDwgbGFzdFswXSk7CisKKwl9IGVsc2UgeworCQkvKgorCQkgKiBQcmludHMgMSBjb2x1bW4gaW4gZm9ybWF0IDxpZHg+IDxuYW1lPiA8dHlwZXN0cj4KKwkJICovCisJCXNpemVfdCBpOworCisJCXBhZ2VyX29wZW4oKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbnR5cGVzOyBpKyspIHsKKwkJCWNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCA9IGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZShsYiwgaSk7CisJCQlwcmludGYoIiUzenUgJS0zMHMgJXNcbiIsIGkgKyAxLAorCQkJCQlmZGlza19wYXJ0dHlwZV9nZXRfbmFtZSh0KSwKKwkJCQkJZmRpc2tfcGFydHR5cGVfZ2V0X3N0cmluZyh0KSk7CisJCX0KKworCQlwYWdlcl9jbG9zZSgpOworCX0KKwlwdXRjaGFyKCdcbicpOworfQorCit2b2lkIHRvZ2dsZV9kb3NfY29tcGF0aWJpbGl0eV9mbGFnKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsICJkb3MiKTsKKwlpbnQgZmxhZzsKKworCWlmICghbGIpCisJCXJldHVybjsKKworCWZsYWcgPSAhZmRpc2tfZG9zX2lzX2NvbXBhdGlibGUobGIpOworCWZkaXNrX2luZm8oY3h0LCBmbGFnID8KKwkJCV8oIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiKSA6CisJCQlfKCJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiKSk7CisKKwlmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGUobGIsIGZsYWcpOworCisJaWYgKGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSkKKwkJZmRpc2tfcmVzZXRfYWxpZ25tZW50KGN4dCk7CS8qIHJlc2V0IHRoZSBjdXJyZW50IGxhYmVsICovCit9CisKK3ZvaWQgY2hhbmdlX3BhcnRpdGlvbl90eXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEw7CisJY29uc3QgY2hhciAqb2xkID0gTlVMTDsKKworCWFzc2VydChjeHQpOworCisJaWYgKGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJmksIEZBTFNFKSkKKwkJcmV0dXJuOworCisJaWYgKGZkaXNrX2dldF9wYXJ0aXRpb24oY3h0LCBpLCAmcGEpKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIiksIGkgKyAxKTsKKwkJcmV0dXJuOworCX0KKworCXQgPSAoc3RydWN0IGZkaXNrX3BhcnR0eXBlICopIGZkaXNrX3BhcnRpdGlvbl9nZXRfdHlwZShwYSk7CisJb2xkID0gdCA/IGZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHQpIDogXygiVW5rbm93biIpOworCisJZG8geworCQl0ID0gYXNrX3BhcnRpdGlvbl90eXBlKGN4dCk7CisJfSB3aGlsZSAoIXQpOworCisJaWYgKGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZShjeHQsIGksIHQpID09IDApCisJCWZkaXNrX2luZm8oY3h0LAorCQkJXygiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIiksCisJCQlvbGQsIHQgPyBmZGlza19wYXJ0dHlwZV9nZXRfbmFtZSh0KSA6IF8oIlVua25vd24iKSk7CisJZWxzZQorCQlmZGlza19pbmZvKGN4dCwKKwkJCV8oIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIpLAorCQkJaSArIDEsIG9sZCk7CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCWZkaXNrX3VucmVmX3BhcnR0eXBlKHQpOworfQorCitpbnQgcHJpbnRfcGFydGl0aW9uX2luZm8oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEw7CisJaW50IHJjID0gMDsKKwlzaXplX3QgaSwgbmZpZWxkczsKKwlpbnQgKmZpZWxkcyA9IE5VTEw7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworCisJaWYgKChyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dCwgJmksIEZBTFNFKSkpCisJCXJldHVybiByYzsKKworCWlmICgocmMgPSBmZGlza19nZXRfcGFydGl0aW9uKGN4dCwgaSwgJnBhKSkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiKSwgaSArIDEpOworCQlyZXR1cm4gcmM7CisJfQorCisJaWYgKChyYyA9IGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzX2FsbChsYiwgY3h0LCAmZmllbGRzLCAmbmZpZWxkcykpKQorCQlnb3RvIGNsZWFuX2RhdGE7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmZpZWxkczsgKytpKSB7CisJCWludCBpZCA9IGZpZWxkc1tpXTsKKwkJY2hhciAqZGF0YSA9IE5VTEw7CisJCWNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmQgPSBmZGlza19sYWJlbF9nZXRfZmllbGQobGIsIGlkKTsKKworCQlpZiAoIWZkKQorCQkJY29udGludWU7CisKKwkJcmMgPSBmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBjeHQsIGlkLCAmZGF0YSk7CisJCWlmIChyYyA8IDApCisJCQlnb3RvIGNsZWFuX2RhdGE7CisJCWlmICghZGF0YSB8fCAhKmRhdGEpCisJCQljb250aW51ZTsKKwkJZmRpc2tfaW5mbyhjeHQsICIlMTVzOiAlcyIsIGZkaXNrX2ZpZWxkX2dldF9uYW1lKGZkKSwgZGF0YSk7CisJCWZyZWUoZGF0YSk7CisJfQorCitjbGVhbl9kYXRhOgorCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJZnJlZShmaWVsZHMpOworCXJldHVybiByYzsKK30KKworc3RhdGljIHNpemVfdCBza2lwX2VtcHR5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGksIHNpemVfdCBzeikKK3sKKwlzaXplX3QgbmV4dDsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwMCA9IGJ1ZiArIGk7CisKKwlmb3IgKG5leHQgPSBpICsgMTY7IG5leHQgPCBzejsgbmV4dCArPSAxNikgeworCQlpZiAobWVtY21wKHAwLCBidWYgKyBuZXh0LCAxNikgIT0gMCkKKwkJCWJyZWFrOworCX0KKworCXJldHVybiBuZXh0ID09IGkgKyAxNiA/IGkgOiBuZXh0OworfQorCitzdGF0aWMgdm9pZCBkdW1wX2J1ZmZlcihvZmZfdCBiYXNlLCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBzeiwgaW50IGFsbCkKK3sKKwlzaXplX3QgaSwgbCwgbmV4dCA9IDA7CisKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuOworCWZvciAoaSA9IDAsIGwgPSAwOyBpIDwgc3o7IGkrKywgbCsrKSB7CisJCWlmIChsID09IDApIHsKKwkJCWlmIChhbGwgPT0gMCAmJiAhbmV4dCkKKwkJCQluZXh0ID0gc2tpcF9lbXB0eShidWYsIGksIHN6KTsKKwkJCXByaW50ZigiJTA4anggIiwgKGludG1heF90KWJhc2UgKyBpKTsKKwkJfQorCQlwcmludGYoIiAlMDJ4IiwgYnVmW2ldKTsKKwkJaWYgKGwgPT0gNykJCQkJLyogd29yZHMgc2VwYXJhdG9yICovCisJCQlmcHV0cygiICIsIHN0ZG91dCk7CisJCWVsc2UgaWYgKGwgPT0gMTUpIHsKKwkJCWZwdXRjKCdcbicsIHN0ZG91dCk7CQkvKiBuZXh0IGxpbmUgKi8KKwkJCWwgPSAtMTsKKwkJCWlmIChuZXh0ID4gaSkgeworCQkJCXByaW50ZigiKlxuIik7CisJCQkJaSA9IG5leHQgLSAxOworCQkJfQorCQkJbmV4dCA9IDA7CisJCX0KKwl9CisJaWYgKGwgPiAwKQorCQlwcmludGYoIlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBfYmxrZGV2KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQl1aW50NjRfdCBvZmZzZXQsIHNpemVfdCBzaXplLCBpbnQgYWxsKQoreworCWludCBmZCA9IGZkaXNrX2dldF9kZXZmZChjeHQpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlxuJXM6IG9mZnNldCA9ICUiUFJJdTY0Iiwgc2l6ZSA9ICV6dSBieXRlcy4iKSwKKwkJCW5hbWUsIG9mZnNldCwgc2l6ZSk7CisKKwlhc3NlcnQoZmQgPj0gMCk7CisKKwlpZiAobHNlZWsoZmQsIChvZmZfdCkgb2Zmc2V0LCBTRUVLX1NFVCkgPT0gKG9mZl90KSAtMSkKKwkJZmRpc2tfd2FybihjeHQsIF8oImNhbm5vdCBzZWVrIikpOworCWVsc2UgeworCQl1bnNpZ25lZCBjaGFyICpidWYgPSB4bWFsbG9jKHNpemUpOworCisJCWlmIChyZWFkX2FsbChmZCwgKGNoYXIgKikgYnVmLCBzaXplKSAhPSAoc3NpemVfdCkgc2l6ZSkKKwkJCWZkaXNrX3dhcm4oY3h0LCBfKCJjYW5ub3QgcmVhZCIpKTsKKwkJZWxzZQorCQkJZHVtcF9idWZmZXIob2Zmc2V0LCBidWYsIHNpemUsIGFsbCk7CisJCWZyZWUoYnVmKTsKKwl9Cit9CisKK3ZvaWQgZHVtcF9maXJzdHNlY3RvcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCBhbGwgPSAhaXNhdHR5KFNURE9VVF9GSUxFTk8pOworCisJYXNzZXJ0KGN4dCk7CisKKwlkdW1wX2Jsa2RldihjeHQsIF8oIkZpcnN0IHNlY3RvciIpLCAwLCBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KSwgYWxsKTsKK30KKwordm9pZCBkdW1wX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCBhbGwgPSAhaXNhdHR5KFNURE9VVF9GSUxFTk8pOworCWludCBpID0gMDsKKwljb25zdCBjaGFyICpuYW1lID0gTlVMTDsKKwl1aW50NjRfdCBvZmZzZXQgPSAwOworCXNpemVfdCBzaXplID0gMDsKKworCWFzc2VydChjeHQpOworCisJd2hpbGUgKGZkaXNrX2xvY2F0ZV9kaXNrbGFiZWwoY3h0LCBpKyssICZuYW1lLCAmb2Zmc2V0LCAmc2l6ZSkgPT0gMCAmJiBzaXplKQorCQlkdW1wX2Jsa2RldihjeHQsIG5hbWUsIG9mZnNldCwgc2l6ZSwgYWxsKTsKK30KKworc3RhdGljIGZkaXNrX3NlY3Rvcl90IGdldF9kZXZfYmxvY2tzKGNoYXIgKmRldikKK3sKKwlpbnQgZmQsIHJldDsKKwlmZGlza19zZWN0b3JfdCBzaXplOworCisJaWYgKChmZCA9IG9wZW4oZGV2LCBPX1JET05MWSkpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2KTsKKwlyZXQgPSBibGtkZXZfZ2V0X3NlY3RvcnMoZmQsICh1bnNpZ25lZCBsb25nIGxvbmcgKikgJnNpemUpOworCWNsb3NlKGZkKTsKKwlpZiAocmV0IDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiKSwgZGV2KTsKKwlyZXR1cm4gc2l6ZS8yOworfQorCisKK3ZvaWQgZm9sbG93X3dpcGVfbW9kZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCBkb3dpcGUgPSB3aXBlbW9kZSA9PSBXSVBFTU9ERV9BTFdBWVMgPyAxIDogMDsKKworCWlmIChpc2F0dHkoU1RESU5fRklMRU5PKSAmJiB3aXBlbW9kZSA9PSBXSVBFTU9ERV9BVVRPKQorCQlkb3dpcGUgPSAxOwkvKiBkbyBpdCBpbiBpbnRlcmFjdGl2ZSBtb2RlICovCisKKwlpZiAoZmRpc2tfaXNfcHRjb2xsaXNpb24oY3h0KSAmJiB3aXBlbW9kZSAhPSBXSVBFTU9ERV9ORVZFUikKKwkJZG93aXBlID0gMTsJLyogYWx3YXlzIHJlbW92ZSBvbGQgUFQgKi8KKworCWZkaXNrX2VuYWJsZV93aXBlKGN4dCwgZG93aXBlKTsKKwlpZiAoZG93aXBlKQorCQlmZGlza193YXJueChjeHQsIF8oCisJCQkiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iKSwKKwkJCWZkaXNrX2dldF9jb2xsaXNpb24oY3h0KSk7CisJZWxzZQorCQlmZGlza193YXJueChjeHQsIF8oCisJCQkiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiAiCisJCQkiSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yICIKKwkJCSJmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIiksCisJCQlmZGlza19nZXRfY29sbGlzaW9uKGN4dCkpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisJICAgICAgICAiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iKSwKKwkgICAgICAgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIiksIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX0NPTE9SU19ERUZBVUxUKTsKKwlmcHV0cyhfKCIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDMxKSk7CisKKwlsaXN0X2F2YWlsYWJsZV9jb2x1bW5zKG91dCk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImZkaXNrKDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworCitlbnVtIHsKKwlBQ1RfRkRJU0sgPSAwLAkvKiBkZWZhdWx0ICovCisJQUNUX0xJU1QsCisJQUNUX1NIT1dTSVpFCit9OworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHJjLCBpLCBjLCBhY3QgPSBBQ1RfRkRJU0s7CisJaW50IGNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9VTkRFRjsKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0OworCWNoYXIgKm91dGFyZyA9IE5VTEw7CisJZW51bSB7CisJCU9QVF9CWVRFUwk9IENIQVJfTUFYICsgMQorCX07CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYnl0ZXMiLCAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX0JZVEVTIH0sCisJCXsgImNvbG9yIiwgICAgICAgICAgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdMJyB9LAorCQl7ICJjb21wYXRpYmlsaXR5IiwgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnYycgfSwKKwkJeyAiY3lsaW5kZXJzIiwgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ0MnIH0sCisJCXsgImhlYWRzIiwJICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnSCcgfSwKKwkJeyAic2VjdG9ycyIsICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1MnIH0sCisJCXsgImdldHN6IiwgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdzJyB9LAorCQl7ICJoZWxwIiwgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAibGlzdCIsICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2wnIH0sCisJCXsgInNlY3Rvci1zaXplIiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdiJyB9LAorCQl7ICJ0eXBlIiwgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCcgfSwKKwkJeyAidW5pdHMiLCAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ3UnIH0sCisJCXsgInZlcnNpb24iLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7ICJvdXRwdXQiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbycgfSwKKwkJeyAicHJvdGVjdC1ib290IiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0InIH0sCisJCXsgIndpcGUiLCAgICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd3JyB9LAorCQl7ICJ3aXBlLXBhcnRpdGlvbnMiLHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVycgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWZkaXNrX2luaXRfZGVidWcoMCk7CisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKwlmZGlza3Byb2dfaW5pdF9kZWJ1ZygpOworCisJY3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlpZiAoIWN4dCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiKSk7CisKKwlmZGlza19zZXRfYXNrKGN4dCwgYXNrX2NhbGxiYWNrLCBOVUxMKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJiOkJjOjpDOmhIOmxMOjpvOnNTOnQ6dTo6dlZ3Olc6IiwKKwkJCQlsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdiJzoKKwkJeworCQkJc2l6ZV90IHN6ID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywKKwkJCQkJXygiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIpKTsKKwkJCWlmIChzeiAhPSA1MTIgJiYgc3ogIT0gMTAyNCAmJiBzeiAhPSAyMDQ4ICYmIHN6ICE9IDQwOTYpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiKSk7CisJCQlmZGlza19zYXZlX3VzZXJfc2VjdG9yX3NpemUoY3h0LCBzeiwgc3opOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAnQic6CisJCQlmZGlza19lbmFibGVfYm9vdGJpdHNfcHJvdGVjdGlvbihjeHQsIDEpOworCQkJYnJlYWs7CisJCWNhc2UgJ0MnOgorCQkJZmRpc2tfc2F2ZV91c2VyX2dlb21ldHJ5KGN4dCwKKwkJCQlzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiKSksCisJCQkJMCwgMCk7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQlpZiAob3B0YXJnKSB7CisJCQkJLyogdGhpcyBzZXR0aW5nIGlzIGluZGVwZW5kZW50IG9uIHRoZSBjdXJyZW50CisJCQkJICogYWN0aXZlbHkgdXNlZCBsYWJlbAorCQkJCSAqLworCQkJCWNoYXIgKnAgPSAqb3B0YXJnID09ICc9JyA/IG9wdGFyZyArIDEgOiBvcHRhcmc7CisJCQkJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsICJkb3MiKTsKKworCQkJCWlmICghbGIpCisJCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIikpOworCQkJCWlmIChzdHJjbXAocCwgImRvcyIpID09IDApCisJCQkJCWZkaXNrX2Rvc19lbmFibGVfY29tcGF0aWJsZShsYiwgVFJVRSk7CisJCQkJZWxzZSBpZiAoc3RyY21wKHAsICJub25kb3MiKSA9PSAwKQorCQkJCQlmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGUobGIsIEZBTFNFKTsKKwkJCQllbHNlCisJCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIiksIHApOworCQkJfQorCQkJLyogdXNlIGRlZmF1bHQgaWYgbm8gb3B0YXJnIHNwZWNpZmllZCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ0gnOgorCQkJZmRpc2tfc2F2ZV91c2VyX2dlb21ldHJ5KGN4dCwgMCwKKwkJCQlzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIpKSwKKwkJCQkwKTsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKwkJCWZkaXNrX3NhdmVfdXNlcl9nZW9tZXRyeShjeHQsIDAsIDAsCisJCQkJc3RydG91MzJfb3JfZXJyKG9wdGFyZywKKwkJCQkJXygiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IikpKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWFjdCA9IEFDVF9MSVNUOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJY29sb3Jtb2RlID0gVUxfQ09MT1JNT0RFX0FVVE87CisJCQlpZiAob3B0YXJnKQorCQkJCWNvbG9ybW9kZSA9IGNvbG9ybW9kZV9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWFjdCA9IEFDVF9TSE9XU0laRTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJeworCQkJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IE5VTEw7CisKKwkJCXdoaWxlIChmZGlza19uZXh0X2xhYmVsKGN4dCwgJmxiKSA9PSAwKQorCQkJCWZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZChsYiwgMSk7CisKKwkJCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgb3B0YXJnKTsKKwkJCWlmICghbGIpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiKSwgb3B0YXJnKTsKKwkJCWZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZChsYiwgMCk7CisJCQlicmVhazsKKwkJfQorCQljYXNlICd1JzoKKwkJCWlmIChvcHRhcmcgJiYgKm9wdGFyZyA9PSAnPScpCisJCQkJb3B0YXJnKys7CisJCQlpZiAoZmRpc2tfc2V0X3VuaXQoY3h0LCBvcHRhcmcpICE9IDApCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIHVuaXQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6IC8qIHByZWZlcnJlZCBmb3IgdXRpbC1saW51eCAqLworCQljYXNlICd2JzogLyogZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSAqLworCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICd3JzoKKwkJCXdpcGVtb2RlID0gd2lwZW1vZGVfZnJvbV9zdHJpbmcob3B0YXJnKTsKKwkJCWlmICh3aXBlbW9kZSA8IDApCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlICdXJzoKKwkJCXB3aXBlbW9kZSA9IHdpcGVtb2RlX2Zyb21fc3RyaW5nKG9wdGFyZyk7CisJCQlpZiAocHdpcGVtb2RlIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJY2FzZSBPUFRfQllURVM6CisJCQlmZGlza19zZXRfc2l6ZV91bml0KGN4dCwgRkRJU0tfU0laRVVOSVRfQllURVMpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAoYXJnYy1vcHRpbmQgIT0gMSAmJiBmZGlza19oYXNfdXNlcl9kZXZpY2VfcHJvcGVydGllcyhjeHQpKQorCQl3YXJueChfKCJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIgorCQkJIiBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iKSk7CisKKwljb2xvcnNfaW5pdChjb2xvcm1vZGUsICJmZGlzayIpOworCWlzX2ludGVyYWN0aXZlID0gaXNhdHR5KFNURElOX0ZJTEVOTyk7CisKKwlzd2l0Y2ggKGFjdCkgeworCWNhc2UgQUNUX0xJU1Q6CisJCWZkaXNrX2VuYWJsZV9saXN0b25seShjeHQsIDEpOworCQlpbml0X2ZpZWxkcyhjeHQsIG91dGFyZywgTlVMTCk7CisKKwkJaWYgKGFyZ2MgPiBvcHRpbmQpIHsKKwkJCWludCBrOworCQkJaW50IGN0ID0gMDsKKworCQkJZm9yIChyYyA9IDAsIGsgPSBvcHRpbmQ7IGsgPCBhcmdjOyBrKyspIHsKKwkJCQlpZiAoY3QpCisJCQkJICAgIGZwdXRzKCJcblxuIiwgc3Rkb3V0KTsKKworCQkJCXJjICs9IHByaW50X2RldmljZV9wdChjeHQsIGFyZ3Zba10sIDEsIDApOworCQkJCWN0Kys7CisJCQl9CisJCQlpZiAocmMpCisJCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwkJfSBlbHNlCisJCQlwcmludF9hbGxfZGV2aWNlc19wdChjeHQsIDApOworCQlicmVhazsKKworCWNhc2UgQUNUX1NIT1dTSVpFOgorCQkvKiBkZXByZWNhdGVkICovCisJCWlmIChhcmdjIC0gb3B0aW5kIDw9IDApIHsKKwkJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCQlmb3IgKGkgPSBvcHRpbmQ7IGkgPCBhcmdjOyBpKyspIHsKKwkJCXVpbnRtYXhfdCBibGtzID0gZ2V0X2Rldl9ibG9ja3MoYXJndltpXSk7CisKKwkJCWlmIChhcmdjIC0gb3B0aW5kID09IDEpCisJCQkJcHJpbnRmKCIlanVcbiIsIGJsa3MpOworCQkJZWxzZQorCQkJCXByaW50ZigiJXM6ICVqdVxuIiwgYXJndltpXSwgYmxrcyk7CisJCX0KKwkJYnJlYWs7CisKKwljYXNlIEFDVF9GRElTSzoKKwkJaWYgKGFyZ2Mtb3B0aW5kICE9IDEpIHsKKwkJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJCS8qIEhlcmUgc3RhcnRzIGludGVyYWN0aXZlIG1vZGUsIHVzZSBmZGlza197d2FybixpbmZvLC4ufSBmdW5jdGlvbnMgKi8KKwkJY29sb3Jfc2NoZW1lX2VuYWJsZSgid2VsY29tZSIsIFVMX0NPTE9SX0dSRUVOKTsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iKSwgUEFDS0FHRV9TVFJJTkcpOworCQljb2xvcl9kaXNhYmxlKCk7CisJCWZkaXNrX2luZm8oY3h0LCBfKCJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisJCQkJICAiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iKSk7CisKKwkJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKGN4dCwgYXJndltvcHRpbmRdLCAwKTsKKwkJaWYgKHJjID09IC1FQUNDRVMpIHsKKwkJCXJjID0gZmRpc2tfYXNzaWduX2RldmljZShjeHQsIGFyZ3Zbb3B0aW5kXSwgMSk7CisJCQlpZiAocmMgPT0gMCkKKwkJCQlmZGlza193YXJueChjeHQsIF8oIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIpKTsKKwkJfQorCQlpZiAocmMpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBhcmd2W29wdGluZF0pOworCisJCWZmbHVzaChzdGRvdXQpOworCisJCWlmIChmZGlza19nZXRfY29sbGlzaW9uKGN4dCkpCisJCQlmb2xsb3dfd2lwZV9tb2RlKGN4dCk7CisKKwkJaWYgKCFmZGlza19oYXNfbGFiZWwoY3h0KSkgeworCQkJZmRpc2tfaW5mbyhjeHQsIF8oIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIikpOworCQkJZmRpc2tfY3JlYXRlX2Rpc2tsYWJlbChjeHQsIE5VTEwpOworCisJCX0gZWxzZSBpZiAoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpICYmIGZkaXNrX2dwdF9pc19oeWJyaWQoY3h0KSkKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygKKwkJCQkgICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jICIKKwkJCQkgICJ0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iKSk7CisKKwkJaW5pdF9maWVsZHMoY3h0LCBvdXRhcmcsIE5VTEwpOwkJLyogLW8gPGNvbHVtbnM+ICovCisKKwkJaWYgKCFmZGlza19pc19yZWFkb25seShjeHQpKSB7CisJCQlmZGlza19nZXRfcGFydGl0aW9ucyhjeHQsICZvcmlnaW5hbF9sYXlvdXQpOworCQkJZGV2aWNlX2lzX3VzZWQgPSBmZGlza19kZXZpY2VfaXNfdXNlZChjeHQpOworCQl9CisKKwkJd2hpbGUgKDEpCisJCQlwcm9jZXNzX2ZkaXNrX21lbnUoJmN4dCk7CisJfQorCisJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2ZkaXNrLmggYi9kaXNrLXV0aWxzL2ZkaXNrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTExNDdlMgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZmRpc2suaApAQCAtMCwwICsxLDU2IEBACisjaWZuZGVmIFVUSUxfTElOVVhfRkRJU0tfSAorI2RlZmluZSBVVElMX0xJTlVYX0ZESVNLX0gKKy8qCisgKiAgIGZkaXNrLmgKKyAqLworCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGxpYmZkaXNrLmg+CisKKy8qIExldCdzIHRlbXBvcmFyeSBpbmNsdWRlIHByaXZhdGUgbGliZmRpc2sgaGVhZGVyIGZpbGUuIFRoZSBmaW5hbCBsaWJmZGlzay5oCisgKiBtYXliZSBpbmNsdWRlZCB3aGVuIGZkaXNrLmMgYW5kIGxpYmZkaXNrIGNvZGUgd2lsbCBiZSBjb21wbGV0ZWx5IHNwaXQuCisgKi8KKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKyNpbmNsdWRlICJkZWJ1Zy5oIgorI2luY2x1ZGUgIm5scy5oIgorCisjaW5jbHVkZSAiZmRpc2stbGlzdC5oIgorCisjZGVmaW5lIEZESVNLUFJPR19ERUJVR19JTklUCSgxIDw8IDEpCisjZGVmaW5lIEZESVNLUFJPR19ERUJVR19NRU5VCSgxIDw8IDMpCisjZGVmaW5lIEZESVNLUFJPR19ERUJVR19NSVNDCSgxIDw8IDQpCisjZGVmaW5lIEZESVNLUFJPR19ERUJVR19BU0sJKDEgPDwgNSkKKyNkZWZpbmUgRkRJU0tQUk9HX0RFQlVHX0FMTAkweEZGRkYKKworZXh0ZXJuIGludCBwd2lwZW1vZGU7CitleHRlcm4gc3RydWN0IGZkaXNrX3RhYmxlICpvcmlnaW5hbF9sYXlvdXQ7CitleHRlcm4gaW50IGRldmljZV9pc191c2VkOworZXh0ZXJuIGludCBpc19pbnRlcmFjdGl2ZTsKKworVUxfREVCVUdfREVDTEFSRV9NQVNLKGZkaXNrKTsKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKGZkaXNrLCBGRElTS1BST0dfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkgICAgX19VTF9EQkdfQ0FMTChmZGlzaywgRkRJU0tQUk9HX0RFQlVHXywgbSwgeCkKKworZXh0ZXJuIGludCBnZXRfdXNlcl9yZXBseShjb25zdCBjaGFyICpwcm9tcHQsCisJCQkgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KTsKK2V4dGVybiBpbnQgcHJvY2Vzc19mZGlza19tZW51KHN0cnVjdCBmZGlza19jb250ZXh0ICoqY3h0KTsKKworZXh0ZXJuIGludCBhc2tfY2FsbGJhY2soc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2FzayAqYXNrLAorCQkgICAgdm9pZCAqZGF0YSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpOworCitleHRlcm4gaW50IHByaW50X3BhcnRpdGlvbl9pbmZvKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisvKiBwcm90b3R5cGVzIGZvciBmZGlzay5jICovCitleHRlcm4gdm9pZCBkdW1wX2ZpcnN0c2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIHZvaWQgZHVtcF9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiB2b2lkIGxpc3RfcGFydGl0aW9uX3R5cGVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIHZvaWQgY2hhbmdlX3BhcnRpdGlvbl90eXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitleHRlcm4gdm9pZCB0b2dnbGVfZG9zX2NvbXBhdGliaWxpdHlfZmxhZyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIHZvaWQgZm9sbG93X3dpcGVfbW9kZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfRkRJU0tfSCAqLwpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9mc2NrLjggYi9kaXNrLXV0aWxzL2ZzY2suOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDc1OWYyCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9mc2NrLjgKQEAgLTAsMCArMSw0MTggQEAKKy5cIiBDb3B5cmlnaHQgMTk5MywgMTk5NCwgMTk5NSBieSBUaGVvZG9yZSBUcydvLiAgQWxsIFJpZ2h0cyBSZXNlcnZlZC4KKy5cIiBUaGlzIGZpbGUgbWF5IGJlIGNvcGllZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS4KKy5cIgorLlRIIEZTQ0sgOCAiRmVicnVhcnkgMjAwOSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorZnNjayBcLSBjaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbQorLlNIIFNZTk9QU0lTCisuQiBmc2NrCisuUkIgWyBcLWxzQVZSVE1OUCBdCisuUkIgWyBcLXIKKy5SSSBbIGZkIF1dCisuUkIgWyBcLUMKKy5SSSBbIGZkIF1dCisuUkIgWyBcLXQKKy5JUiBmc3R5cGUgXQorLlJJIFsgZmlsZXN5c3RlbSBcJi4uLlwmXQorLlJCIFsgXC1cLSBdCisuUkkgWyBmcy1zcGVjaWZpYy1vcHRpb25zIF0KKy5TSCBERVNDUklQVElPTgorLkIgZnNjaworaXMgdXNlZCB0byBjaGVjayBhbmQgb3B0aW9uYWxseSByZXBhaXIgb25lIG9yIG1vcmUgTGludXggZmlsZXN5c3RlbXMuCisuSSBmaWxlc3lzCitjYW4gYmUgYSBkZXZpY2UgbmFtZSAoZS5nLgorLklSIC9kZXYvaGRjMSAiLCAiIC9kZXYvc2RiMiApLAorYSBtb3VudCBwb2ludCAoZS5nLgorLklSIC8gIiwgIiAvdXNyICIsICIgL2hvbWUgKSwKK29yIGFuIGV4dDIgbGFiZWwgb3IgVVVJRCBzcGVjaWZpZXIgKGUuZy4KK1VVSUQ9ODg2OGFiZjYtODhjNS00YTgzLTk4YjgtYmZjMjQwNTdmN2JkIG9yIExBQkVMPXJvb3QpLgorTm9ybWFsbHksIHRoZQorLkIgZnNjaworcHJvZ3JhbSB3aWxsIHRyeSB0byBoYW5kbGUgZmlsZXN5c3RlbXMgb24gZGlmZmVyZW50IHBoeXNpY2FsIGRpc2sgZHJpdmVzCitpbiBwYXJhbGxlbCB0byByZWR1Y2UgdGhlIHRvdGFsIGFtb3VudCBvZiB0aW1lIG5lZWRlZCB0byBjaGVjayBhbGwgb2YgdGhlbS4KKy5QUAorSWYgbm8gZmlsZXN5c3RlbXMgYXJlIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLCBhbmQgdGhlCisuQiBcLUEKK29wdGlvbiBpcyBub3Qgc3BlY2lmaWVkLAorLkIgZnNjaword2lsbCBkZWZhdWx0IHRvIGNoZWNraW5nIGZpbGVzeXN0ZW1zIGluCisuSSAvZXRjL2ZzdGFiCitzZXJpYWxseS4gIFRoaXMgaXMgZXF1aXZhbGVudCB0byB0aGUKKy5CIFwtQXMKK29wdGlvbnMuCisuUFAKK1RoZSBleGl0IGNvZGUgcmV0dXJuZWQgYnkKKy5CIGZzY2sKK2lzIHRoZSBzdW0gb2YgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorLlBQCisuUlMKKy5QRCAwCisuVFAKKy5CIDAKK05vIGVycm9ycworLlRQCisuQiAxCitGaWxlc3lzdGVtIGVycm9ycyBjb3JyZWN0ZWQKKy5UUAorLkIgMgorU3lzdGVtIHNob3VsZCBiZSByZWJvb3RlZAorLlRQCisuQiA0CitGaWxlc3lzdGVtIGVycm9ycyBsZWZ0IHVuY29ycmVjdGVkCisuVFAKKy5CIDgKK09wZXJhdGlvbmFsIGVycm9yCisuVFAKKy5CIDE2CitVc2FnZSBvciBzeW50YXggZXJyb3IKKy5UUAorLkIgMzIKK0NoZWNraW5nIGNhbmNlbGVkIGJ5IHVzZXIgcmVxdWVzdAorLlRQCisuQiAxMjgKK1NoYXJlZC1saWJyYXJ5IGVycm9yCisuUEQKKy5SRQorLlBQCitUaGUgZXhpdCBjb2RlIHJldHVybmVkIHdoZW4gbXVsdGlwbGUgZmlsZXN5c3RlbXMgYXJlIGNoZWNrZWQKK2lzIHRoZSBiaXQtd2lzZSBPUiBvZiB0aGUgZXhpdCBjb2RlcyBmb3IgZWFjaAorZmlsZXN5c3RlbSB0aGF0IGlzIGNoZWNrZWQuCisuUFAKK0luIGFjdHVhbGl0eSwKKy5CIGZzY2sKK2lzIHNpbXBseSBhIGZyb250LWVuZCBmb3IgdGhlIHZhcmlvdXMgZmlsZXN5c3RlbSBjaGVja2VycworKFxmQmZzY2tcZlIuXGZJZnN0eXBlXGZSKSBhdmFpbGFibGUgdW5kZXIgTGludXguICBUaGUKK2ZpbGVzeXN0ZW0tc3BlY2lmaWMgY2hlY2tlciBpcyBzZWFyY2hlZCBmb3IgaW4gdGhlCitQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlLiBJZiB0aGUgUEFUSCBpcyB1bmRlZmluZWQgdGhlbgorZmFsbGJhY2sgdG8gIi9zYmluIi4KKy5QUAorUGxlYXNlIHNlZSB0aGUgZmlsZXN5c3RlbS1zcGVjaWZpYyBjaGVja2VyIG1hbnVhbCBwYWdlcyBmb3IKK2Z1cnRoZXIgZGV0YWlscy4KKy5TSCBPUFRJT05TCisuVFAKKy5CIFwtbAorQ3JlYXRlIGFuIGV4Y2x1c2l2ZQorLkJSIGZsb2NrICgyKQorbG9jayBmaWxlICgvcnVuL2ZzY2svPGRpc2tuYW1lPi5sb2NrKSBmb3Igd2hvbGUtZGlzayBkZXZpY2UuCitUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAodGhpcyBtZWFucyB0aGF0IFxmQlwtQVxmUiBhbmQKK1xmQlwtbFxmUiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlKS4gIFRoaXMgb3B0aW9uIGlzIHJlY29tbWVuZGVkIHdoZW4gbW9yZQorLkJSIGZzY2sgKDgpCitpbnN0YW5jZXMgYXJlIGV4ZWN1dGVkIGluIHRoZSBzYW1lIHRpbWUuICBUaGUgb3B0aW9uIGlzIGlnbm9yZWQgd2hlbiB1c2VkIGZvcgorbXVsdGlwbGUgZGV2aWNlcyBvciBmb3Igbm9uLXJvdGF0aW5nIGRpc2tzLiAgXGZCZnNja1xmUiBkb2VzIG5vdCBsb2NrIHVuZGVybHlpbmcKK2RldmljZXMgd2hlbiBleGVjdXRlZCB0byBjaGVjayBzdGFja2VkIGRldmljZXMgKGUuZy5cJiBNRCBvciBETSkgXChlbiB0aGlzIGZlYXR1cmUgaXMKK25vdCBpbXBsZW1lbnRlZCB5ZXQuCisuVFAKKy5CUiBcLXIgXCBbIFxmSWZkXGZSIF0KK1JlcG9ydCBjZXJ0YWluIHN0YXRpc3RpY3MgZm9yIGVhY2ggZnNjayB3aGVuIGl0IGNvbXBsZXRlcy4gIFRoZXNlIHN0YXRpc3RpY3MKK2luY2x1ZGUgdGhlIGV4aXQgc3RhdHVzLCB0aGUgbWF4aW11bSBydW4gc2V0IHNpemUgKGluIGtpbG9ieXRlcyksIHRoZSBlbGFwc2VkCithbGwtY2xvY2sgdGltZSBhbmQgdGhlIHVzZXIgYW5kIHN5c3RlbSBDUFUgdGltZSB1c2VkIGJ5IHRoZSBmc2NrIHJ1bi4gIEZvcgorZXhhbXBsZToKKworL2Rldi9zZGExOiBzdGF0dXMgMCwgcnNzIDkyODI4LCByZWFsIDQuMDAyODA0LCB1c2VyIDIuNjc3NTkyLCBzeXMgMC44NjE4NgorCitHVUkgZnJvbnQtZW5kcyBtYXkgc3BlY2lmeSBhIGZpbGUgZGVzY3JpcHRvcgorLklSIGZkICwKK2luIHdoaWNoIGNhc2UgdGhlIHByb2dyZXNzIGJhciBpbmZvcm1hdGlvbiB3aWxsIGJlIHNlbnQgdG8gdGhhdCBmaWxlIGRlc2NyaXB0b3IKK2luIGEgbWFjaGluZSBwYXJzYWJsZSBmb3JtYXQuICBGb3IgZXhhbXBsZToKKworL2Rldi9zZGExIDAgOTI4MjggNC4wMDI4MDQgMi42Nzc1OTIgMC44NjE4NgorLlRQCisuQiBcLXMKK1NlcmlhbGl6ZQorLkIgZnNjaworb3BlcmF0aW9ucy4gIFRoaXMgaXMgYSBnb29kIGlkZWEgaWYgeW91IGFyZSBjaGVja2luZyBtdWx0aXBsZQorZmlsZXN5c3RlbXMgYW5kIHRoZSBjaGVja2VycyBhcmUgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZS4gIChOb3RlOgorLkJSIGUyZnNjayAoOCkKK3J1bnMgaW4gYW4gaW50ZXJhY3RpdmUgbW9kZSBieSBkZWZhdWx0LiAgVG8gbWFrZQorLkJSIGUyZnNjayAoOCkKK3J1biBpbiBhIG5vbi1pbnRlcmFjdGl2ZSBtb2RlLCB5b3UgbXVzdCBlaXRoZXIgc3BlY2lmeSB0aGUKKy5CIFwtcAorb3IKKy5CIFwtYQorb3B0aW9uLCBpZiB5b3Ugd2lzaCBmb3IgZXJyb3JzIHRvIGJlIGNvcnJlY3RlZCBhdXRvbWF0aWNhbGx5LCBvciB0aGUKKy5CIFwtbgorb3B0aW9uIGlmIHlvdSBkbyBub3QuKQorLlRQCisuQkkgXC10ICIgZnNsaXN0IgorU3BlY2lmaWVzIHRoZSB0eXBlKHMpIG9mIGZpbGVzeXN0ZW0gdG8gYmUgY2hlY2tlZC4gIFdoZW4gdGhlCisuQiBcLUEKK2ZsYWcgaXMgc3BlY2lmaWVkLCBvbmx5IGZpbGVzeXN0ZW1zIHRoYXQgbWF0Y2gKKy5JIGZzbGlzdAorYXJlIGNoZWNrZWQuICBUaGUKKy5JIGZzbGlzdAorcGFyYW1ldGVyIGlzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgZmlsZXN5c3RlbXMgYW5kIG9wdGlvbnMKK3NwZWNpZmllcnMuICBBbGwgb2YgdGhlIGZpbGVzeXN0ZW1zIGluIHRoaXMgY29tbWEtc2VwYXJhdGVkIGxpc3QgbWF5IGJlCitwcmVmaXhlZCBieSBhIG5lZ2F0aW9uIG9wZXJhdG9yCisuUkIgJyBubyAnCitvcgorLlJCICcgISAnLAord2hpY2ggcmVxdWVzdHMgdGhhdCBvbmx5IHRob3NlIGZpbGVzeXN0ZW1zIG5vdCBsaXN0ZWQgaW4KKy5JIGZzbGlzdAord2lsbCBiZSBjaGVja2VkLiAgSWYgbm9uZSBvZiB0aGUgZmlsZXN5c3RlbXMgaW4KKy5JIGZzbGlzdAoraXMgcHJlZml4ZWQgYnkgYSBuZWdhdGlvbiBvcGVyYXRvciwgdGhlbiBvbmx5IHRob3NlIGxpc3RlZCBmaWxlc3lzdGVtcword2lsbCBiZSBjaGVja2VkLgorLnNwCitPcHRpb25zIHNwZWNpZmllcnMgbWF5IGJlIGluY2x1ZGVkIGluIHRoZSBjb21tYS1zZXBhcmF0ZWQKKy5JUiBmc2xpc3QgLgorVGhleSBtdXN0IGhhdmUgdGhlIGZvcm1hdAorLkJJIG9wdHM9IGZzLW9wdGlvblxmUi4KK0lmIGFuIG9wdGlvbnMgc3BlY2lmaWVyIGlzIHByZXNlbnQsIHRoZW4gb25seSBmaWxlc3lzdGVtcyB3aGljaCBjb250YWluCisuSSBmcy1vcHRpb24KK2luIHRoZWlyIG1vdW50IG9wdGlvbnMgZmllbGQgb2YKKy5JIC9ldGMvZnN0YWIKK3dpbGwgYmUgY2hlY2tlZC4gIElmIHRoZSBvcHRpb25zIHNwZWNpZmllciBpcyBwcmVmaXhlZCBieSBhIG5lZ2F0aW9uCitvcGVyYXRvciwgdGhlbiBvbmx5Cit0aG9zZSBmaWxlc3lzdGVtcyB0aGF0IGRvIG5vdCBoYXZlCisuSSBmcy1vcHRpb24KK2luIHRoZWlyIG1vdW50IG9wdGlvbnMgZmllbGQgb2YKKy5JIC9ldGMvZnN0YWIKK3dpbGwgYmUgY2hlY2tlZC4KKy5zcAorRm9yIGV4YW1wbGUsIGlmCisuQiBvcHRzPXJvCithcHBlYXJzIGluCisuSVIgZnNsaXN0ICwKK3RoZW4gb25seSBmaWxlc3lzdGVtcyBsaXN0ZWQgaW4KKy5JIC9ldGMvZnN0YWIKK3dpdGggdGhlCisuQiBybworb3B0aW9uIHdpbGwgYmUgY2hlY2tlZC4KKy5zcAorRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBNYW5kcmFrZSBkaXN0cmlidXRpb25zIHdob3NlIGJvb3Qgc2NyaXB0cworZGVwZW5kIHVwb24gYW4gdW5hdXRob3JpemVkIFVJIGNoYW5nZSB0byB0aGUKKy5CIGZzY2sKK3Byb2dyYW0sIGlmIGEgZmlsZXN5c3RlbSB0eXBlIG9mCisuQiBsb29wCitpcyBmb3VuZCBpbgorLklSIGZzbGlzdCAsCitpdCBpcyB0cmVhdGVkIGFzIGlmCisuQiBvcHRzPWxvb3AKK3dlcmUgc3BlY2lmaWVkIGFzIGFuIGFyZ3VtZW50IHRvIHRoZQorLkIgXC10CitvcHRpb24uCisuc3AKK05vcm1hbGx5LCB0aGUgZmlsZXN5c3RlbSB0eXBlIGlzIGRlZHVjZWQgYnkgc2VhcmNoaW5nIGZvcgorLkkgZmlsZXN5cworaW4gdGhlCisuSSAvZXRjL2ZzdGFiCitmaWxlIGFuZCB1c2luZyB0aGUgY29ycmVzcG9uZGluZyBlbnRyeS4KK0lmIHRoZSB0eXBlIGNhbm5vdCBiZSBkZWR1Y2VkLCBhbmQgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBmaWxlc3lzdGVtCitnaXZlbiBhcyBhbiBhcmd1bWVudCB0byB0aGUKKy5CIFwtdAorb3B0aW9uLAorLkIgZnNjaword2lsbCB1c2UgdGhlIHNwZWNpZmllZCBmaWxlc3lzdGVtIHR5cGUuICBJZiB0aGlzIHR5cGUgaXMgbm90CithdmFpbGFibGUsIHRoZW4gdGhlIGRlZmF1bHQgZmlsZXN5c3RlbSB0eXBlIChjdXJyZW50bHkgZXh0MikgaXMgdXNlZC4KKy5UUAorLkIgXC1BCitXYWxrIHRocm91Z2ggdGhlCisuSSAvZXRjL2ZzdGFiCitmaWxlIGFuZCB0cnkgdG8gY2hlY2sgYWxsIGZpbGVzeXN0ZW1zIGluIG9uZSBydW4uICBUaGlzIG9wdGlvbiBpcwordHlwaWNhbGx5IHVzZWQgZnJvbSB0aGUKKy5JIC9ldGMvcmMKK3N5c3RlbSBpbml0aWFsaXphdGlvbiBmaWxlLCBpbnN0ZWFkIG9mIG11bHRpcGxlIGNvbW1hbmRzIGZvciBjaGVja2luZworYSBzaW5nbGUgZmlsZXN5c3RlbS4KKy5zcAorVGhlIHJvb3QgZmlsZXN5c3RlbSB3aWxsIGJlIGNoZWNrZWQgZmlyc3QgdW5sZXNzIHRoZQorLkIgXC1QCitvcHRpb24gaXMgc3BlY2lmaWVkIChzZWUgYmVsb3cpLiAgQWZ0ZXIgdGhhdCwKK2ZpbGVzeXN0ZW1zIHdpbGwgYmUgY2hlY2tlZCBpbiB0aGUgb3JkZXIgc3BlY2lmaWVkIGJ5IHRoZQorLkkgZnNfcGFzc25vCisodGhlIHNpeHRoKSBmaWVsZCBpbiB0aGUKKy5JIC9ldGMvZnN0YWIKK2ZpbGUuCitGaWxlc3lzdGVtcyB3aXRoIGEKKy5JIGZzX3Bhc3NubwordmFsdWUgb2YgMCBhcmUgc2tpcHBlZCBhbmQgYXJlIG5vdCBjaGVja2VkIGF0IGFsbC4gIEZpbGVzeXN0ZW1zIHdpdGggYQorLkkgZnNfcGFzc25vCit2YWx1ZSBvZiBncmVhdGVyIHRoYW4gemVybyB3aWxsIGJlIGNoZWNrZWQgaW4gb3JkZXIsCit3aXRoIGZpbGVzeXN0ZW1zIHdpdGggdGhlIGxvd2VzdAorLkkgZnNfcGFzc25vCitudW1iZXIgYmVpbmcgY2hlY2tlZCBmaXJzdC4KK0lmIHRoZXJlIGFyZSBtdWx0aXBsZSBmaWxlc3lzdGVtcyB3aXRoIHRoZSBzYW1lIHBhc3MgbnVtYmVyLAorLkIgZnNjaword2lsbCBhdHRlbXB0IHRvIGNoZWNrIHRoZW0gaW4gcGFyYWxsZWwsIGFsdGhvdWdoIGl0IHdpbGwgYXZvaWQgcnVubmluZworbXVsdGlwbGUgZmlsZXN5c3RlbSBjaGVja3Mgb24gdGhlIHNhbWUgcGh5c2ljYWwgZGlzay4KKy5zcAorLkIgZnNjaworZG9lcyBub3QgY2hlY2sgc3RhY2tlZCBkZXZpY2VzIChSQUlEcywgZG0tY3J5cHQsIFwmLi4uXCYpIGluIHBhcmFsbGVsIHdpdGggYW55IG90aGVyCitkZXZpY2UuICBTZWUgYmVsb3cgZm9yIEZTQ0tfRk9SQ0VfQUxMX1BBUkFMTEVMIHNldHRpbmcuICBUaGUgL3N5cyBmaWxlc3lzdGVtIGlzCit1c2VkIHRvIGRldGVybWluZSBkZXBlbmRlbmNpZXMgYmV0d2VlbiBkZXZpY2VzLgorLnNwCitIZW5jZSwgYSB2ZXJ5IGNvbW1vbiBjb25maWd1cmF0aW9uIGluCisuSSAvZXRjL2ZzdGFiCitmaWxlcyBpcyB0byBzZXQgdGhlIHJvb3QgZmlsZXN5c3RlbSB0byBoYXZlIGEKKy5JIGZzX3Bhc3NubwordmFsdWUgb2YgMQorYW5kIHRvIHNldCBhbGwgb3RoZXIgZmlsZXN5c3RlbXMgdG8gaGF2ZSBhCisuSSBmc19wYXNzbm8KK3ZhbHVlIG9mIDIuICBUaGlzIHdpbGwgYWxsb3cKKy5CIGZzY2sKK3RvIGF1dG9tYXRpY2FsbHkgcnVuIGZpbGVzeXN0ZW0gY2hlY2tlcnMgaW4gcGFyYWxsZWwgaWYgaXQgaXMgYWR2YW50YWdlb3VzCit0byBkbyBzby4gIFN5c3RlbSBhZG1pbmlzdHJhdG9ycyBtaWdodCBjaG9vc2UKK25vdCB0byB1c2UgdGhpcyBjb25maWd1cmF0aW9uIGlmIHRoZXkgbmVlZCB0byBhdm9pZCBtdWx0aXBsZSBmaWxlc3lzdGVtCitjaGVja3MgcnVubmluZyBpbiBwYXJhbGxlbCBmb3Igc29tZSByZWFzb24gXChlbiBmb3IgZXhhbXBsZSwgaWYgdGhlCittYWNoaW5lIGluIHF1ZXN0aW9uIGlzIHNob3J0IG9uIG1lbW9yeSBzbyB0aGF0CitleGNlc3NpdmUgcGFnaW5nIGlzIGEgY29uY2Vybi4KKy5zcAorLkIgZnNjaworbm9ybWFsbHkgZG9lcyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGFjdHVhbGx5IGV4aXN0cyBiZWZvcmUKK2NhbGxpbmcgYSBmaWxlc3lzdGVtIHNwZWNpZmljIGNoZWNrZXIuICBUaGVyZWZvcmUgbm9uLWV4aXN0aW5nCitkZXZpY2VzIG1heSBjYXVzZSB0aGUgc3lzdGVtIHRvIGVudGVyIGZpbGVzeXN0ZW0gcmVwYWlyIG1vZGUgZHVyaW5nCitib290IGlmIHRoZSBmaWxlc3lzdGVtIHNwZWNpZmljIGNoZWNrZXIgcmV0dXJucyBhIGZhdGFsIGVycm9yLiAgVGhlCisuSSAvZXRjL2ZzdGFiCittb3VudCBvcHRpb24KKy5CIG5vZmFpbAorbWF5IGJlIHVzZWQgdG8gaGF2ZQorLkIgZnNjaworc2tpcCBub24tZXhpc3RpbmcgZGV2aWNlcy4KKy5CIGZzY2sKK2Fsc28gc2tpcHMgbm9uLWV4aXN0aW5nIGRldmljZXMgdGhhdCBoYXZlIHRoZSBzcGVjaWFsIGZpbGVzeXN0ZW0gdHlwZQorLkJSIGF1dG8gLgorLlRQCisuQlIgXC1DIFwgWyBcZklmZFxmUiBdCitEaXNwbGF5IGNvbXBsZXRpb24vcHJvZ3Jlc3MgYmFycyBmb3IgdGhvc2UgZmlsZXN5c3RlbSBjaGVja2VycyAoY3VycmVudGx5Citvbmx5IGZvciBleHRbMjM0XSkgd2hpY2ggc3VwcG9ydCB0aGVtLiAgXGZCZnNja1xmUiB3aWxsIG1hbmFnZSB0aGUKK2ZpbGVzeXN0ZW0gY2hlY2tlcnMgc28gdGhhdCBvbmx5IG9uZSBvZiB0aGVtIHdpbGwgZGlzcGxheQorYSBwcm9ncmVzcyBiYXIgYXQgYSB0aW1lLiAgR1VJIGZyb250LWVuZHMgbWF5IHNwZWNpZnkgYSBmaWxlIGRlc2NyaXB0b3IKKy5JUiBmZCAsCitpbiB3aGljaCBjYXNlIHRoZSBwcm9ncmVzcyBiYXIgaW5mb3JtYXRpb24gd2lsbCBiZSBzZW50IHRvIHRoYXQgZmlsZSBkZXNjcmlwdG9yLgorLlRQCisuQiBcLU0KK0RvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zIGFuZCByZXR1cm4gYW4gZXhpdCBjb2RlIG9mIDAKK2ZvciBtb3VudGVkIGZpbGVzeXN0ZW1zLgorLlRQCisuQiBcLU4KK0Rvbid0IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmUuCisuVFAKKy5CIFwtUAorV2hlbiB0aGUKKy5CIFwtQQorZmxhZyBpcyBzZXQsIGNoZWNrIHRoZSByb290IGZpbGVzeXN0ZW0gaW4gcGFyYWxsZWwgd2l0aCB0aGUgb3RoZXIgZmlsZXN5c3RlbXMuCitUaGlzIGlzIG5vdCB0aGUgc2FmZXN0IHRoaW5nIGluIHRoZSB3b3JsZCB0byBkbywKK3NpbmNlIGlmIHRoZSByb290IGZpbGVzeXN0ZW0gaXMgaW4gZG91YnQgdGhpbmdzIGxpa2UgdGhlCisuQlIgZTJmc2NrICg4KQorZXhlY3V0YWJsZSBtaWdodCBiZSBjb3JydXB0ZWQhICBUaGlzIG9wdGlvbiBpcyBtYWlubHkgcHJvdmlkZWQKK2ZvciB0aG9zZSBzeXNhZG1pbnMgd2hvIGRvbid0IHdhbnQgdG8gcmVwYXJ0aXRpb24gdGhlIHJvb3QKK2ZpbGVzeXN0ZW0gdG8gYmUgc21hbGwgYW5kIGNvbXBhY3QgKHdoaWNoIGlzIHJlYWxseSB0aGUgcmlnaHQgc29sdXRpb24pLgorLlRQCisuQiBcLVIKK1doZW4gY2hlY2tpbmcgYWxsIGZpbGVzeXN0ZW1zIHdpdGggdGhlCisuQiBcLUEKK2ZsYWcsIHNraXAgdGhlIHJvb3QgZmlsZXN5c3RlbS4gIChUaGlzIGlzIHVzZWZ1bCBpbiBjYXNlIHRoZSByb290CitmaWxlc3lzdGVtIGhhcyBhbHJlYWR5IGJlZW4gbW91bnRlZCByZWFkLXdyaXRlLikKKy5UUAorLkIgXC1UCitEb24ndCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwLgorLlRQCisuQiBcLVYKK1Byb2R1Y2UgdmVyYm9zZSBvdXRwdXQsIGluY2x1ZGluZyBhbGwgZmlsZXN5c3RlbS1zcGVjaWZpYyBjb21tYW5kcwordGhhdCBhcmUgZXhlY3V0ZWQuCisuVFAKK1xmQlwtP1xmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCitcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIEZJTEVTWVNURU0gU1BFQ0lGSUMgT1BUSU9OUworLkIgT3B0aW9ucyB3aGljaCBhcmUgbm90IHVuZGVyc3Rvb2QgYnkgZnNjayBhcmUgcGFzc2VkIHRvIHRoZSBmaWxlc3lzdGVtLXNwZWNpZmljIGNoZWNrZXIhIAorLlBQCitUaGVzZSBvcHRpb25zCisuQiBtdXN0Citub3QgdGFrZSBhcmd1bWVudHMsIGFzIHRoZXJlIGlzIG5vCit3YXkgZm9yCisuQiBmc2NrCit0byBiZSBhYmxlIHRvIHByb3Blcmx5IGd1ZXNzIHdoaWNoIG9wdGlvbnMgdGFrZSBhcmd1bWVudHMgYW5kIHdoaWNoCitkb24ndC4KKy5QUAorT3B0aW9ucyBhbmQgYXJndW1lbnRzIHdoaWNoIGZvbGxvdyB0aGUKKy5CIFwtXC0KK2FyZSB0cmVhdGVkIGFzIGZpbGVzeXN0ZW0tc3BlY2lmaWMgb3B0aW9ucyB0byBiZSBwYXNzZWQgdG8gdGhlCitmaWxlc3lzdGVtLXNwZWNpZmljIGNoZWNrZXIuCisuUFAKK1BsZWFzZSBub3RlIHRoYXQgXGZCZnNja1xmUiBpcyBub3QKK2Rlc2lnbmVkIHRvIHBhc3MgYXJiaXRyYXJpbHkgY29tcGxpY2F0ZWQgb3B0aW9ucyB0byBmaWxlc3lzdGVtLXNwZWNpZmljCitjaGVja2Vycy4gIElmIHlvdSdyZSBkb2luZyBzb21ldGhpbmcgY29tcGxpY2F0ZWQsIHBsZWFzZSBqdXN0CitleGVjdXRlIHRoZSBmaWxlc3lzdGVtLXNwZWNpZmljIGNoZWNrZXIgZGlyZWN0bHkuICBJZiB5b3UgcGFzcworLkIgZnNjaworc29tZSBob3JyaWJseSBjb21wbGljYXRlZCBvcHRpb25zIGFuZCBhcmd1bWVudHMsIGFuZCBpdCBkb2Vzbid0IGRvCit3aGF0IHlvdSBleHBlY3QsCisuQiBkb24ndCBib3RoZXIgcmVwb3J0aW5nIGl0IGFzIGEgYnVnLgorWW91J3JlIGFsbW9zdCBjZXJ0YWlubHkgZG9pbmcgc29tZXRoaW5nIHRoYXQgeW91IHNob3VsZG4ndCBiZSBkb2luZword2l0aAorLkJSIGZzY2sgLgorT3B0aW9ucyB0byBkaWZmZXJlbnQgZmlsZXN5c3RlbS1zcGVjaWZpYyBmc2NrJ3MgYXJlIG5vdCBzdGFuZGFyZGl6ZWQuCisuU0ggRklMRVMKKy5JIC9ldGMvZnN0YWIKKy5TSCBFTlZJUk9OTUVOVCBWQVJJQUJMRVMKK1RoZQorLkIgZnNjaworcHJvZ3JhbSdzIGJlaGF2aW9yIGlzIGFmZmVjdGVkIGJ5IHRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzOgorLlRQCisuQiBGU0NLX0ZPUkNFX0FMTF9QQVJBTExFTAorSWYgdGhpcyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyBzZXQsCisuQiBmc2NrCit3aWxsIGF0dGVtcHQgdG8gY2hlY2sgYWxsIG9mIHRoZSBzcGVjaWZpZWQgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIHJlZ2FyZGxlc3Mgb2YKK3doZXRoZXIgdGhlIGZpbGVzeXN0ZW1zIGFwcGVhciB0byBiZSBvbiB0aGUgc2FtZSBkZXZpY2UuICAoVGhpcyBpcyB1c2VmdWwgZm9yCitSQUlEIHN5c3RlbXMgb3IgaGlnaC1lbmQgc3RvcmFnZSBzeXN0ZW1zIHN1Y2ggYXMgdGhvc2Ugc29sZCBieSBjb21wYW5pZXMgc3VjaAorYXMgSUJNIG9yIEVNQy4pICBOb3RlIHRoYXQgdGhlIGZzX3Bhc3NubyB2YWx1ZSBpcyBzdGlsbCB1c2VkLgorLlRQCisuQiBGU0NLX01BWF9JTlNUCitUaGlzIGVudmlyb25tZW50IHZhcmlhYmxlIHdpbGwgbGltaXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGZpbGVzeXN0ZW0KK2NoZWNrZXJzIHRoYXQgY2FuIGJlIHJ1bm5pbmcgYXQgb25lIHRpbWUuICBUaGlzIGFsbG93cyBjb25maWd1cmF0aW9ucword2hpY2ggaGF2ZSBhIGxhcmdlIG51bWJlciBvZiBkaXNrcyB0byBhdm9pZAorLkIgZnNjaworc3RhcnRpbmcgdG9vIG1hbnkgZmlsZXN5c3RlbSBjaGVja2VycyBhdCBvbmNlLCB3aGljaCBtaWdodCBvdmVybG9hZAorQ1BVIGFuZCBtZW1vcnkgcmVzb3VyY2VzIGF2YWlsYWJsZSBvbiB0aGUgc3lzdGVtLiAgSWYgdGhpcyB2YWx1ZSBpcworemVybywgdGhlbiBhbiB1bmxpbWl0ZWQgbnVtYmVyIG9mIHByb2Nlc3NlcyBjYW4gYmUgc3Bhd25lZC4gIFRoaXMgaXMKK2N1cnJlbnRseSB0aGUgZGVmYXVsdCwgYnV0IGZ1dHVyZSB2ZXJzaW9ucyBvZgorLkIgZnNjaworbWF5IGF0dGVtcHQgdG8gYXV0b21hdGljYWxseSBkZXRlcm1pbmUgaG93IG1hbnkgZmlsZXN5c3RlbSBjaGVja3MgY2FuCitiZSBydW4gYmFzZWQgb24gZ2F0aGVyaW5nIGFjY291bnRpbmcgZGF0YSBmcm9tIHRoZSBvcGVyYXRpbmcgc3lzdGVtLgorLlRQCisuQiBQQVRICitUaGUKKy5CIFBBVEgKK2Vudmlyb25tZW50IHZhcmlhYmxlIGlzIHVzZWQgdG8gZmluZCBmaWxlc3lzdGVtIGNoZWNrZXJzLgorLlRQCisuQiBGU1RBQl9GSUxFCitUaGlzIGVudmlyb25tZW50IHZhcmlhYmxlIGFsbG93cyB0aGUgc3lzdGVtIGFkbWluaXN0cmF0b3IKK3RvIG92ZXJyaWRlIHRoZSBzdGFuZGFyZCBsb2NhdGlvbiBvZiB0aGUKKy5JIC9ldGMvZnN0YWIKK2ZpbGUuICBJdCBpcyBhbHNvIHVzZWZ1bCBmb3IgZGV2ZWxvcGVycyB3aG8gYXJlIHRlc3RpbmcKKy5CUiBmc2NrIC4KKy5UUAorLkIgTElCQkxLSURfREVCVUc9YWxsCitlbmFibGVzIGxpYmJsa2lkIGRlYnVnIG91dHB1dC4KKy5UUAorLkIgTElCTU9VTlRfREVCVUc9YWxsCitlbmFibGVzIGxpYm1vdW50IGRlYnVnIG91dHB1dC4KKy5TSCBTRUUgQUxTTworLm5hCisuQlIgZnN0YWIgKDUpLAorLkJSIG1rZnMgKDgpLAorLkJSIGZzY2suZXh0MiAoOCkKK29yCisuQlIgZnNjay5leHQzICg4KQorb3IKKy5CUiBlMmZzY2sgKDgpLAorLkJSIGNyYW1mc2NrICg4KSwKKy5CUiBmc2NrLmpmcyAoOCksCisuQlIgZnNjay5uZnMgKDgpLAorLkJSIGZzY2subWluaXggKDgpLAorLkJSIGZzY2subXNkb3MgKDgpLAorLkJSIGZzY2sudmZhdCAoOCksCisuQlIgZnNjay54ZnMgKDgpLAorLkJSIHJlaXNlcmZzY2sgKDgpCisuYWQKKy5TSCBBVVRIT1JTCisubmYKK1RoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+CitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5maQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZzY2sgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZnNjay5jIGIvZGlzay11dGlscy9mc2NrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FmYzg4NgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZnNjay5jCkBAIC0wLDAgKzEsMTY5MiBAQAorLyoKKyAqIGZzY2sgLS0tIEEgZ2VuZXJpYywgcGFyYWxsZWxpemluZyBmcm9udC1lbmQgZm9yIHRoZSBmc2NrIHByb2dyYW0uCisgKiBJdCB3aWxsIGF1dG9tYXRpY2FsbHkgdHJ5IHRvIHJ1biBmc2NrIHByb2dyYW1zIGluIHBhcmFsbGVsIGlmIHRoZQorICogZGV2aWNlcyBhcmUgb24gc2VwYXJhdGUgc3BpbmRsZXMuICBJdCBpcyBiYXNlZCBvbiB0aGUgc2FtZSBpZGVhcyBhcworICogdGhlIGdlbmVyaWMgZnJvbnQgZW5kIGZvciBmc2NrIGJ5IERhdmlkIEVuZ2VsIGFuZCBGcmVkIHZhbiBLZW1wZW4sCisgKiBidXQgaXQgaGFzIGJlZW4gY29tcGxldGVseSByZXdyaXR0ZW4gZnJvbSBzY3JhdGNoIHRvIHN1cHBvcnQKKyAqIHBhcmFsbGVsIGV4ZWN1dGlvbi4KKyAqCisgKiBXcml0dGVuIGJ5IFRoZW9kb3JlIFRzJ28sIDx0eXRzb0BtaXQuZWR1PgorICoKKyAqIE1pcXVlbCB2YW4gU21vb3JlbmJ1cmcgKG1pcXVlbHNAZHJpbmtlbC5vdy5vcmcpIDIwLU9jdC0xOTk0OgorICogICBvIENoYW5nZWQgLXQgZnN0eXBlIHRvIGJlaGF2ZSBsaWtlIHdpdGggbW91bnQgd2hlbiAtQSAoYWxsIGZpbGUKKyAqICAgICBzeXN0ZW1zKSBvciAtTSAobGlrZSBtb3VudCkgaXMgc3BlY2lmaWVkLgorICogICBvIGZzY2sgbG9va3MgaWYgaXQgY2FuIGZpbmQgdGhlIGZzY2sudHlwZSBwcm9ncmFtIHRvIGRlY2lkZQorICogICAgIGlmIGl0IHNob3VsZCBpZ25vcmUgdGhlIGZzIHR5cGUuIFRoaXMgd2F5IG1vcmUgZnNjayBwcm9ncmFtcworICogICAgIGNhbiBiZSBhZGRlZCB3aXRob3V0IGNoYW5naW5nIHRoaXMgZnJvbnQtZW5kLgorICogICBvIC1SIGZsYWcgc2tpcCByb290IGZpbGUgc3lzdGVtLgorICoKKyAqIENvcHlyaWdodCAoQykgMTk5MywgMTk5NCwgMTk5NSwgMTk5NiwgMTk5NywgMTk5OCwgMTk5OSwgMjAwMCwKKyAqCSAgICAgICAgIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDUgYnkgIFRoZW9kb3JlIFRzJ28uCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYworICogTGljZW5zZS4KKyAqLworCisjZGVmaW5lIF9YT1BFTl9TT1VSQ0UgNjAwIC8qIGZvciBpbmNsdXNpb24gb2Ygc2FfaGFuZGxlciBpbiBTb2xhcmlzICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8cGF0aHMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8YmxraWQuaD4KKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiZXhpdGNvZGVzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImZpbGV1dGlscy5oIgorI2luY2x1ZGUgIm1vbm90b25pYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKyNkZWZpbmUgWEFMTE9DX0VYSVRfQ09ERQlGU0NLX0VYX0VSUk9SCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNkZWZpbmUgQ0xPU0VfRVhJVF9DT0RFCQlGU0NLX0VYX0VSUk9SCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2lmbmRlZiBERUZBVUxUX0ZTVFlQRQorIyBkZWZpbmUgREVGQVVMVF9GU1RZUEUJImV4dDIiCisjZW5kaWYKKworI2RlZmluZSBNQVhfREVWSUNFUyAzMgorI2RlZmluZSBNQVhfQVJHUyAzMgorCisjZGVmaW5lIEZTQ0tfUlVOVElNRV9ESVJOQU1FCSIvcnVuL2ZzY2siCisKK3N0YXRpYyBjb25zdCBjaGFyICppZ25vcmVkX3R5cGVzW10gPSB7CisJImlnbm9yZSIsCisJImlzbzk2NjAiLAorCSJzdyIsCisJTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKnJlYWxseV93YW50ZWRbXSA9IHsKKwkibWluaXgiLAorCSJleHQyIiwKKwkiZXh0MyIsCisJImV4dDQiLAorCSJleHQ0ZGV2IiwKKwkiamZzIiwKKwkicmVpc2VyZnMiCit9OworCisvKgorICogSW50ZXJuYWwgc3RydWN0dXJlIGZvciBtb3VudCB0YWJsZSBlbnRyaWVzLgorICovCitzdHJ1Y3QgZnNja19mc19kYXRhCit7CisJY29uc3QgY2hhcgkqZGV2aWNlOworCWRldl90CQlkaXNrOworCXVuc2lnbmVkIGludAlzdGFja2VkOjEsCisJCQlkb25lOjEsCisJCQlldmFsX2RldmljZToxOworfTsKKworLyoKKyAqIFN0cnVjdHVyZSB0byBhbGxvdyBleGl0IGNvZGVzIHRvIGJlIHN0b3JlZAorICovCitzdHJ1Y3QgZnNja19pbnN0YW5jZSB7CisJaW50CXBpZDsKKwlpbnQJZmxhZ3M7CQkvKiBGTEFHX3tET05FfFBST0dSRVNTfSAqLworCisJaW50CWxvY2s7CQkvKiBmbG9jaygpZWQgbG9ja3BhdGggZmlsZSBkZXNjcmlwdG9yIG9yIC0xICovCisJY2hhcgkqbG9ja3BhdGg7CS8qIC9ydW4vZnNjay88ZGlza25hbWU+LmxvY2sgb3IgTlVMTCAqLworCisJaW50CWV4aXRfc3RhdHVzOworCXN0cnVjdCB0aW1ldmFsIHN0YXJ0X3RpbWU7CisJc3RydWN0IHRpbWV2YWwgZW5kX3RpbWU7CisJY2hhciAqCXByb2c7CisJY2hhciAqCXR5cGU7CisKKwlzdHJ1Y3QgcnVzYWdlIHJ1c2FnZTsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgZnNja19pbnN0YW5jZSAqbmV4dDsKK307CisKKyNkZWZpbmUgRkxBR19ET05FIDEKKyNkZWZpbmUgRkxBR19QUk9HUkVTUyAyCisKKy8qCisgKiBHbG9iYWwgdmFyaWFibGVzIGZvciBvcHRpb25zCisgKi8KK3N0YXRpYyBjaGFyICpkZXZpY2VzW01BWF9ERVZJQ0VTXTsKK3N0YXRpYyBjaGFyICphcmdzW01BWF9BUkdTXTsKK3N0YXRpYyBpbnQgbnVtX2RldmljZXMsIG51bV9hcmdzOworCitzdGF0aWMgaW50IGxvY2tkaXNrOworc3RhdGljIGludCB2ZXJib3NlOworc3RhdGljIGludCBkb2FsbDsKK3N0YXRpYyBpbnQgbm9leGVjdXRlOworc3RhdGljIGludCBzZXJpYWxpemU7CitzdGF0aWMgaW50IHNraXBfcm9vdDsKK3N0YXRpYyBpbnQgaWdub3JlX21vdW50ZWQ7CitzdGF0aWMgaW50IG5vdGl0bGU7CitzdGF0aWMgaW50IHBhcmFsbGVsX3Jvb3Q7CitzdGF0aWMgaW50IHByb2dyZXNzOworc3RhdGljIGludCBwcm9ncmVzc19mZDsKK3N0YXRpYyBpbnQgZm9yY2VfYWxsX3BhcmFsbGVsOworc3RhdGljIGludCByZXBvcnRfc3RhdHM7CitzdGF0aWMgRklMRSAqcmVwb3J0X3N0YXRzX2ZpbGU7CisKK3N0YXRpYyBpbnQgbnVtX3J1bm5pbmc7CitzdGF0aWMgaW50IG1heF9ydW5uaW5nOworCitzdGF0aWMgdm9sYXRpbGUgaW50IGNhbmNlbF9yZXF1ZXN0ZWQ7CitzdGF0aWMgaW50IGtpbGxfc2VudDsKK3N0YXRpYyBjaGFyICpmc3R5cGU7CitzdGF0aWMgc3RydWN0IGZzY2tfaW5zdGFuY2UgKmluc3RhbmNlX2xpc3Q7CisKKyNkZWZpbmUgRlNDS19ERUZBVUxUX1BBVEggIi9zYmluIgorc3RhdGljIGNoYXIgKmZzY2tfcGF0aDsKKworCisvKiBwYXJzZWQgZnN0YWIgYW5kIG10YWIgKi8KK3N0YXRpYyBzdHJ1Y3QgbGlibW50X3RhYmxlICpmc3RhYiwgKm10YWI7CitzdGF0aWMgc3RydWN0IGxpYm1udF9jYWNoZSAqbW50Y2FjaGU7CisKK3N0YXRpYyBpbnQgY291bnRfc2xhdmVzKGRldl90IGRpc2spOworCitzdGF0aWMgaW50IHN0cmluZ190b19pbnQoY29uc3QgY2hhciAqcykKK3sKKwlsb25nIGw7CisJY2hhciAqcDsKKworCWwgPSBzdHJ0b2wocywgJnAsIDApOworCWlmICgqcCB8fCBsID09IExPTkdfTUlOIHx8IGwgPT0gTE9OR19NQVggfHwgbCA8IDAgfHwgbCA+IElOVF9NQVgpCisJCXJldHVybiAtMTsKKwllbHNlCisJCXJldHVybiAoaW50KSBsOworfQorCisvKiBEbyB3ZSByZWFsbHkgcmVhbGx5IHdhbnQgdG8gY2hlY2sgdGhpcyBmcz8gKi8KK3N0YXRpYyBpbnQgZnNfY2hlY2tfcmVxdWlyZWQoY29uc3QgY2hhciAqdHlwZSkKK3sKKwlzaXplX3QgaTsKKworCWZvcihpID0gMDsgaSA8IEFSUkFZX1NJWkUocmVhbGx5X3dhbnRlZCk7IGkrKykgeworCQlpZiAoc3RyY21wKHR5cGUsIHJlYWxseV93YW50ZWRbaV0pID09IDApCisJCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpc19tb3VudGVkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWludCByYzsKKwljb25zdCBjaGFyICpzcmM7CisKKwlzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisJaWYgKCFzcmMpCisJCXJldHVybiAwOworCWlmICghbW50Y2FjaGUpCisJCW1udGNhY2hlID0gbW50X25ld19jYWNoZSgpOworCWlmICghbXRhYikgeworCQltdGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIW10YWIpCisJCQllcnIoRlNDS19FWF9FUlJPUiwgKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIpKTsKKwkJbW50X3RhYmxlX3NldF9jYWNoZShtdGFiLCBtbnRjYWNoZSk7CisJCW1udF90YWJsZV9wYXJzZV9tdGFiKG10YWIsIE5VTEwpOworCX0KKworCXJjID0gbW50X3RhYmxlX2ZpbmRfc291cmNlKG10YWIsIHNyYywgTU5UX0lURVJfQkFDS1dBUkQpID8gMSA6IDA7CisJaWYgKHZlcmJvc2UpIHsKKwkJaWYgKHJjKQorCQkJcHJpbnRmKF8oIiVzIGlzIG1vdW50ZWRcbiIpLCBzcmMpOworCQllbHNlCisJCQlwcmludGYoXygiJXMgaXMgbm90IG1vdW50ZWRcbiIpLCBzcmMpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgaWdub3JlKHN0cnVjdCBsaWJtbnRfZnMgKik7CisKK3N0YXRpYyBzdHJ1Y3QgZnNja19mc19kYXRhICpmc19jcmVhdGVfZGF0YShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlzdHJ1Y3QgZnNja19mc19kYXRhICpkYXRhID0gbW50X2ZzX2dldF91c2VyZGF0YShmcyk7CisKKwlpZiAoIWRhdGEpIHsKKwkJZGF0YSA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpkYXRhKSk7CisJCW1udF9mc19zZXRfdXNlcmRhdGEoZnMsIGRhdGEpOworCX0KKwlyZXR1cm4gZGF0YTsKK30KKworLyoKKyAqIGZzIGZyb20gZnN0YWIgbWlnaHQgY29udGFpbnMgcmVhbCBkZXZpY2UgbmFtZSBhcyB3ZWxsIGFzIHN5bWxpbmssCisgKiBMQUJFTCBvciBVVUlELCB0aGlzIGZ1bmN0aW9uIHJldHVybnMgY2Fub25pY2FsaXplZCByZXN1bHQuCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpmc19nZXRfZGV2aWNlKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXN0cnVjdCBmc2NrX2ZzX2RhdGEgKmRhdGEgPSBtbnRfZnNfZ2V0X3VzZXJkYXRhKGZzKTsKKworCWlmICghZGF0YSB8fCAhZGF0YS0+ZXZhbF9kZXZpY2UpIHsKKwkJY29uc3QgY2hhciAqc3BlYyA9IG1udF9mc19nZXRfc291cmNlKGZzKTsKKworCQlpZiAoIWRhdGEpCisJCQlkYXRhID0gZnNfY3JlYXRlX2RhdGEoZnMpOworCisJCWRhdGEtPmV2YWxfZGV2aWNlID0gMTsKKwkJZGF0YS0+ZGV2aWNlID0gbW50X3Jlc29sdmVfc3BlYyhzcGVjLCBtbnRfdGFibGVfZ2V0X2NhY2hlKGZzdGFiKSk7CisJCWlmICghZGF0YS0+ZGV2aWNlKQorCQkJZGF0YS0+ZGV2aWNlID0geHN0cmR1cChzcGVjKTsKKwl9CisKKwlyZXR1cm4gZGF0YS0+ZGV2aWNlOworfQorCitzdGF0aWMgZGV2X3QgZnNfZ2V0X2Rpc2soc3RydWN0IGxpYm1udF9mcyAqZnMsIGludCBjaGVjaykKK3sKKwlzdHJ1Y3QgZnNja19mc19kYXRhICpkYXRhOworCWNvbnN0IGNoYXIgKmRldmljZTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWRhdGEgPSBtbnRfZnNfZ2V0X3VzZXJkYXRhKGZzKTsKKwlpZiAoZGF0YSAmJiBkYXRhLT5kaXNrKQorCQlyZXR1cm4gZGF0YS0+ZGlzazsKKworCWlmICghY2hlY2spCisJCXJldHVybiAwOworCisJaWYgKG1udF9mc19pc19uZXRmcyhmcykgfHwgbW50X2ZzX2lzX3BzZXVkb2ZzKGZzKSkKKwkJcmV0dXJuIDA7CisKKwlkZXZpY2UgPSBmc19nZXRfZGV2aWNlKGZzKTsKKwlpZiAoIWRldmljZSkKKwkJcmV0dXJuIDA7CisKKwlkYXRhID0gZnNfY3JlYXRlX2RhdGEoZnMpOworCisJaWYgKCFzdGF0KGRldmljZSwgJnN0KSAmJgorCSAgICAhYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrKHN0LnN0X3JkZXYsIE5VTEwsIDAsICZkYXRhLT5kaXNrKSkgeworCisJCWlmIChkYXRhLT5kaXNrKQorCQkJZGF0YS0+c3RhY2tlZCA9IGNvdW50X3NsYXZlcyhkYXRhLT5kaXNrKSA+IDAgPyAxIDogMDsKKwkJcmV0dXJuIGRhdGEtPmRpc2s7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGZzX2lzX3N0YWNrZWQoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJc3RydWN0IGZzY2tfZnNfZGF0YSAqZGF0YSA9IG1udF9mc19nZXRfdXNlcmRhdGEoZnMpOworCXJldHVybiBkYXRhID8gZGF0YS0+c3RhY2tlZCA6IDA7Cit9CisKK3N0YXRpYyBpbnQgZnNfaXNfZG9uZShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlzdHJ1Y3QgZnNja19mc19kYXRhICpkYXRhID0gbW50X2ZzX2dldF91c2VyZGF0YShmcyk7CisJcmV0dXJuIGRhdGEgPyBkYXRhLT5kb25lIDogMDsKK30KKworc3RhdGljIHZvaWQgZnNfc2V0X2RvbmUoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJc3RydWN0IGZzY2tfZnNfZGF0YSAqZGF0YSA9IGZzX2NyZWF0ZV9kYXRhKGZzKTsKKworCWlmIChkYXRhKQorCQlkYXRhLT5kb25lID0gMTsKK30KKworc3RhdGljIGludCBpc19pcnJvdGF0aW9uYWxfZGlzayhkZXZfdCBkaXNrKQoreworCWNoYXIgcGF0aFtQQVRIX01BWF07CisJRklMRSAqZjsKKwlpbnQgcmMsIHg7CisKKworCXJjID0gc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLAorCQkJIi9zeXMvZGV2L2Jsb2NrLyVkOiVkL3F1ZXVlL3JvdGF0aW9uYWwiLAorCQkJbWFqb3IoZGlzayksIG1pbm9yKGRpc2spKTsKKworCWlmIChyYyA8IDAgfHwgKHVuc2lnbmVkIGludCkgcmMgPj0gc2l6ZW9mKHBhdGgpKQorCQlyZXR1cm4gMDsKKworCWYgPSBmb3BlbihwYXRoLCAiciIpOworCWlmICghZikKKwkJcmV0dXJuIDA7CisKKwlyYyA9IGZzY2FuZihmLCAiJWQiLCAmeCk7CisJaWYgKHJjICE9IDEpIHsKKwkJaWYgKGZlcnJvcihmKSkKKwkJCXdhcm4oXygiY2Fubm90IHJlYWQgJXMiKSwgcGF0aCk7CisJCWVsc2UKKwkJCXdhcm54KF8oInBhcnNlIGVycm9yOiAlcyIpLCBwYXRoKTsKKwl9CisJZmNsb3NlKGYpOworCisJcmV0dXJuIHJjID09IDEgPyAheCA6IDA7Cit9CisKK3N0YXRpYyB2b2lkIGxvY2tfZGlzayhzdHJ1Y3QgZnNja19pbnN0YW5jZSAqaW5zdCkKK3sKKwlkZXZfdCBkaXNrID0gZnNfZ2V0X2Rpc2soaW5zdC0+ZnMsIDEpOworCWNoYXIgKmRpc2twYXRoID0gTlVMTCwgKmRpc2tuYW1lOworCisJaW5zdC0+bG9jayA9IC0xOworCisJaWYgKCFkaXNrIHx8IGlzX2lycm90YXRpb25hbF9kaXNrKGRpc2spKQorCQlnb3RvIGRvbmU7CisKKwlkaXNrcGF0aCA9IGJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoZGlzayk7CisJaWYgKCFkaXNrcGF0aCkKKwkJZ290byBkb25lOworCisJaWYgKGFjY2VzcyhGU0NLX1JVTlRJTUVfRElSTkFNRSwgRl9PSykgIT0gMCkgeworCQlpbnQgcmMgPSBta2RpcihGU0NLX1JVTlRJTUVfRElSTkFNRSwKKwkJCQkgICAgU19JV1VTUnwKKwkJCQkgICAgU19JUlVTUnxTX0lSR1JQfFNfSVJPVEh8CisJCQkJICAgIFNfSVhVU1J8U19JWEdSUHxTX0lYT1RIKTsKKwkJaWYgKHJjICYmIGVycm5vICE9IEVFWElTVCkgeworCQkJd2FybihfKCJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIpLAorCQkJCQlGU0NLX1JVTlRJTUVfRElSTkFNRSk7CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwlkaXNrbmFtZSA9IHN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGRpc2twYXRoKTsKKwlpZiAoIWRpc2tuYW1lKQorCQlkaXNrbmFtZSA9IGRpc2twYXRoOworCisJeGFzcHJpbnRmKCZpbnN0LT5sb2NrcGF0aCwgRlNDS19SVU5USU1FX0RJUk5BTUUgIi8lcy5sb2NrIiwgZGlza25hbWUpOworCisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIpLCBpbnN0LT5sb2NrcGF0aCk7CisKKwlpbnN0LT5sb2NrID0gb3BlbihpbnN0LT5sb2NrcGF0aCwgT19SRE9OTFl8T19DUkVBVHxPX0NMT0VYRUMsCisJCQkJICAgIFNfSVdVU1J8U19JUlVTUnxTX0lSR1JQfFNfSVJPVEgpOworCWlmIChpbnN0LT5sb2NrID49IDApIHsKKwkJaW50IHJjID0gLTE7CisKKwkJLyogaW5mb3JtIHVzZXJzIHRoYXQgd2UncmUgd2FpdGluZyBvbiB0aGUgbG9jayAqLworCQlpZiAodmVyYm9zZSAmJgorCQkgICAgKHJjID0gZmxvY2soaW5zdC0+bG9jaywgTE9DS19FWCB8IExPQ0tfTkIpKSAhPSAwICYmCisJCSAgICBlcnJubyA9PSBFV09VTERCTE9DSykKKwkJCXByaW50ZihfKCIod2FpdGluZykgIikpOworCisJCWlmIChyYyAhPSAwICYmIGZsb2NrKGluc3QtPmxvY2ssIExPQ0tfRVgpICE9IDApIHsKKwkJCWNsb3NlKGluc3QtPmxvY2spOwkJCS8qIGZhaWxlZCAqLworCQkJaW5zdC0+bG9jayA9IC0xOworCQl9CisJfQorCisJaWYgKHZlcmJvc2UpCisJCS8qIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLiAqLworCQlwcmludGYoIiVzLlxuIiwgaW5zdC0+bG9jayA+PSAwID8gXygic3VjY2VlZGVkIikgOiBfKCJmYWlsZWQiKSk7CisKKworZG9uZToKKwlpZiAoaW5zdC0+bG9jayA8IDApIHsKKwkJZnJlZShpbnN0LT5sb2NrcGF0aCk7CisJCWluc3QtPmxvY2twYXRoID0gTlVMTDsKKwl9CisJZnJlZShkaXNrcGF0aCk7CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCB1bmxvY2tfZGlzayhzdHJ1Y3QgZnNja19pbnN0YW5jZSAqaW5zdCkKK3sKKwlpZiAoaW5zdC0+bG9jayA8IDApCisJCXJldHVybjsKKworCWlmICh2ZXJib3NlKQorCQlwcmludGYoXygiVW5sb2NraW5nICVzLlxuIiksIGluc3QtPmxvY2twYXRoKTsKKworCWNsb3NlKGluc3QtPmxvY2spOwkJCS8qIHVubG9jayAqLworCisJZnJlZShpbnN0LT5sb2NrcGF0aCk7CisKKwlpbnN0LT5sb2NrID0gLTE7CisJaW5zdC0+bG9ja3BhdGggPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCBmcmVlX2luc3RhbmNlKHN0cnVjdCBmc2NrX2luc3RhbmNlICppKQoreworCWlmIChsb2NrZGlzaykKKwkJdW5sb2NrX2Rpc2soaSk7CisJZnJlZShpLT5wcm9nKTsKKwlmcmVlKGktPmxvY2twYXRoKTsKKwltbnRfdW5yZWZfZnMoaS0+ZnMpOworCWZyZWUoaSk7CisJcmV0dXJuOworfQorCitzdGF0aWMgc3RydWN0IGxpYm1udF9mcyAqYWRkX2R1bW15X2ZzKGNvbnN0IGNoYXIgKmRldmljZSkKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IG1udF9uZXdfZnMoKTsKKworCWlmIChmcyAmJiBtbnRfZnNfc2V0X3NvdXJjZShmcywgZGV2aWNlKSA9PSAwICYmCisJCQkJICBtbnRfdGFibGVfYWRkX2ZzKGZzdGFiLCBmcykgPT0gMCkgeworCQltbnRfdW5yZWZfZnMoZnMpOworCQlyZXR1cm4gZnM7CisJfQorCisJbW50X3VucmVmX2ZzKGZzKTsKKwllcnIoRlNDS19FWF9FUlJPUiwgXygiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIpLCBkZXZpY2UpOworfQorCitzdGF0aWMgdm9pZCBmc19pbnRlcnByZXRfdHlwZShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwljb25zdCBjaGFyICpkZXZpY2U7CisJY29uc3QgY2hhciAqdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKworCWlmICh0eXBlICYmIHN0cmNtcCh0eXBlLCAiYXV0byIpICE9IDApCisJCXJldHVybjsKKworCW1udF9mc19zZXRfZnN0eXBlKGZzLCBOVUxMKTsKKworCWRldmljZSA9IGZzX2dldF9kZXZpY2UoZnMpOworCWlmIChkZXZpY2UpIHsKKwkJaW50IGFtYmkgPSAwOworCQljaGFyICp0cDsKKwkJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUgPSBtbnRfdGFibGVfZ2V0X2NhY2hlKGZzdGFiKTsKKworCQl0cCA9IG1udF9nZXRfZnN0eXBlKGRldmljZSwgJmFtYmksIGNhY2hlKTsKKwkJaWYgKCFhbWJpKQorCQkJbW50X2ZzX3NldF9mc3R5cGUoZnMsIHRwKTsKKwkJaWYgKCFjYWNoZSkKKwkJCWZyZWUodHApOworCX0KK30KKworc3RhdGljIGludCBwYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSwKKwkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkKK3sKKwl3YXJueChfKCIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIiksIGZpbGVuYW1lLCBsaW5lKTsKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIExvYWQgdGhlIGZpbGVzeXN0ZW0gZGF0YWJhc2UgZnJvbSAvZXRjL2ZzdGFiCisgKi8KK3N0YXRpYyB2b2lkIGxvYWRfZnNfaW5mbyh2b2lkKQoreworCWNvbnN0IGNoYXIgKnBhdGg7CisKKwlmc3RhYiA9IG1udF9uZXdfdGFibGUoKTsKKwlpZiAoIWZzdGFiKQorCQllcnIoRlNDS19FWF9FUlJPUiwgKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIpKTsKKworCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKGZzdGFiLCBwYXJzZXJfZXJyY2IpOworCW1udF90YWJsZV9zZXRfY2FjaGUoZnN0YWIsIG1udGNhY2hlKTsKKworCWVycm5vID0gMDsKKworCS8qCisJICogTGV0J3MgZm9sbG93IGxpYm1vdW50IGRlZmF1bHRzIGlmICRGU1RBQl9GSUxFIGlzIG5vdCBzcGVjaWZpZWQKKwkgKi8KKwlwYXRoID0gZ2V0ZW52KCJGU1RBQl9GSUxFIik7CisKKwlpZiAobW50X3RhYmxlX3BhcnNlX2ZzdGFiKGZzdGFiLCBwYXRoKSkgeworCQlpZiAoIXBhdGgpCisJCQlwYXRoID0gbW50X2dldF9mc3RhYl9wYXRoKCk7CisKKwkJLyogZG9uJ3QgcHJpbnQgZXJyb3Igd2hlbiB0aGVyZSBpcyBubyBmc3RhYiBhdCBhbGwgKi8KKwkJaWYgKGFjY2VzcyhwYXRoLCBGX09LKSA9PSAwKSB7CisJCQlpZiAoZXJybm8pCisJCQkJd2FybihfKCIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIiksIHBhdGgpOworCQkJZWxzZQorCQkJCXdhcm54KF8oIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiKSwgcGF0aCk7CisJCX0KKwl9Cit9CisKKy8qCisgKiBMb29rdXAgZmlsZXN5cyBpbiAvZXRjL2ZzdGFiIGFuZCByZXR1cm4gdGhlIGNvcnJlc3BvbmRpbmcgZW50cnkuCisgKiBUaGUgQHBhdGggaGFzIHRvIGJlIHJlYWwgcGF0aCAobm8gVEFHKSBieSBtbnRfcmVzb2x2ZV9zcGVjKCkuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgbGlibW50X2ZzICpsb29rdXAoY2hhciAqcGF0aCkKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKworCWlmICghcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisKKwlmcyA9IG1udF90YWJsZV9maW5kX3NyY3BhdGgoZnN0YWIsIHBhdGgsIE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghZnMpIHsKKwkJLyoKKwkJICogTWF5YmUgbW91bnRwb2ludCBoYXMgYmVlbiBzcGVjaWZpZWQgb24gZnNjayBjb21tYW5kIGxpbmUuCisJCSAqIFllYWgsIGNyYXp5IGZlYXR1cmUuLi4KKwkJICoKKwkJICogTm90ZSB0aGF0IG1udF90YWJsZV9maW5kX3RhcmdldCgpIG1heSBjYW5vbmljYWxpemUgcGF0aHMgaW4KKwkJICogdGhlIGZzdGFiIHRvIHN1cHBvcnQgc3ltbGlua3MuIFRoaXMgaXMgcmVhbGx5IHVud2FudGVkLAorCQkgKiBiZWNhdXNlIHJlYWRsaW5rKCkgb24gbW91bnRwb2ludHMgbWF5IHRyaWdnZXIgYXV0b21vdW50cy4KKwkJICoKKwkJICogU28sIGRpc2FibGUgdGhlIGNhY2hlIGFuZCBjb21wYXJlIHRoZSBwYXRocyBhcyBzdHJpbmdzCisJCSAqIHdpdGhvdXQgY2FyZSBhYm91dCBzeW1saW5rcy4uLgorCQkgKi8KKwkJbW50X3RhYmxlX3NldF9jYWNoZShmc3RhYiwgTlVMTCk7CisJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KGZzdGFiLCBwYXRoLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwkJbW50X3RhYmxlX3NldF9jYWNoZShmc3RhYiwgbW50Y2FjaGUpOworCX0KKwlyZXR1cm4gZnM7Cit9CisKKy8qIEZpbmQgZnNjayBwcm9ncmFtIGZvciBhIGdpdmVuIGZzIHR5cGUuICovCitzdGF0aWMgaW50IGZpbmRfZnNjayhjb25zdCBjaGFyICp0eXBlLCBjaGFyICoqcHJvZ3BhdGgpCit7CisJY2hhciAqczsKKwljb25zdCBjaGFyICp0cGw7CisJY2hhciAqcHJvZyA9IE5VTEw7CisJY2hhciAqcCA9IHhzdHJkdXAoZnNja19wYXRoKTsKKwlpbnQgcmM7CisKKwkvKiBBcmUgd2UgbG9va2luZyBmb3IgYSBwcm9ncmFtIG9yIGp1c3QgYSB0eXBlPyAqLworCXRwbCA9IChzdHJuY21wKHR5cGUsICJmc2NrLiIsIDUpID8gIiVzL2ZzY2suJXMiIDogIiVzLyVzIik7CisKKwlmb3IocyA9IHN0cnRvayhwLCAiOiIpOyBzOyBzID0gc3RydG9rKE5VTEwsICI6IikpIHsKKwkJeGFzcHJpbnRmKCZwcm9nLCB0cGwsIHMsIHR5cGUpOworCQlpZiAoYWNjZXNzKHByb2csIFhfT0spID09IDApCisJCQlicmVhazsKKwkJZnJlZShwcm9nKTsKKwkJcHJvZyA9IE5VTEw7CisJfQorCisJZnJlZShwKTsKKwlyYyA9IHByb2cgPyAxIDogMDsKKworCWlmIChwcm9ncGF0aCkKKwkJKnByb2dwYXRoID0gcHJvZzsKKwllbHNlCisJCWZyZWUocHJvZyk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgcHJvZ3Jlc3NfYWN0aXZlKHZvaWQpCit7CisJc3RydWN0IGZzY2tfaW5zdGFuY2UgKmluc3Q7CisKKwlmb3IgKGluc3QgPSBpbnN0YW5jZV9saXN0OyBpbnN0OyBpbnN0ID0gaW5zdC0+bmV4dCkgeworCQlpZiAoaW5zdC0+ZmxhZ3MgJiBGTEFHX0RPTkUpCisJCQljb250aW51ZTsKKwkJaWYgKGluc3QtPmZsYWdzICYgRkxBR19QUk9HUkVTUykKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFByb2Nlc3MgcnVuIHN0YXRpc3RpY3MgZm9yIGZpbmlzaGVkIGZzY2sgaW5zdGFuY2VzLgorICoKKyAqIElmIHJlcG9ydF9zdGF0cyBpcyAwLCBkbyBub3RoaW5nLCBvdGhlcndpc2UgcHJpbnQgYSBzZWxlY3Rpb24gb2YKKyAqIGludGVyZXN0aW5nIHJ1c2FnZSBzdGF0aXN0aWNzIGFzIHdlbGwgYXMgZWxhcHNlZCB3YWxsY2xvY2sgdGltZS4KKyAqLworc3RhdGljIHZvaWQgcHJpbnRfc3RhdHMoc3RydWN0IGZzY2tfaW5zdGFuY2UgKmluc3QpCit7CisJc3RydWN0IHRpbWV2YWwgZGVsdGE7CisKKwlpZiAoIWluc3QgfHwgIXJlcG9ydF9zdGF0cyB8fCBub2V4ZWN1dGUpCisJCXJldHVybjsKKworCXRpbWVyc3ViKCZpbnN0LT5lbmRfdGltZSwgJmluc3QtPnN0YXJ0X3RpbWUsICZkZWx0YSk7CisKKwlpZiAocmVwb3J0X3N0YXRzX2ZpbGUpCisJCWZwcmludGYocmVwb3J0X3N0YXRzX2ZpbGUsICIlcyAlZCAlbGQgIgorCQkJCQkgICAiJWxkLiUwNmxkICVsZC4lMDZsZCAlbGQuJTA2bGRcbiIsCisJCQlmc19nZXRfZGV2aWNlKGluc3QtPmZzKSwKKwkJCWluc3QtPmV4aXRfc3RhdHVzLAorCQkJaW5zdC0+cnVzYWdlLnJ1X21heHJzcywKKwkJCShsb25nKWRlbHRhLnR2X3NlYywgKGxvbmcpZGVsdGEudHZfdXNlYywKKwkJCShsb25nKWluc3QtPnJ1c2FnZS5ydV91dGltZS50dl9zZWMsCisJCQkobG9uZylpbnN0LT5ydXNhZ2UucnVfdXRpbWUudHZfdXNlYywKKwkJCShsb25nKWluc3QtPnJ1c2FnZS5ydV9zdGltZS50dl9zZWMsCisJCQkobG9uZylpbnN0LT5ydXNhZ2UucnVfc3RpbWUudHZfdXNlYyk7CisJZWxzZQorCQlmcHJpbnRmKHN0ZG91dCwgIiVzOiBzdGF0dXMgJWQsIHJzcyAlbGQsICIKKwkJCQkicmVhbCAlbGQuJTA2bGQsIHVzZXIgJWxkLiUwNmxkLCBzeXMgJWxkLiUwNmxkXG4iLAorCQkJZnNfZ2V0X2RldmljZShpbnN0LT5mcyksCisJCQlpbnN0LT5leGl0X3N0YXR1cywKKwkJCWluc3QtPnJ1c2FnZS5ydV9tYXhyc3MsCisJCQkobG9uZylkZWx0YS50dl9zZWMsIChsb25nKWRlbHRhLnR2X3VzZWMsCisJCQkobG9uZylpbnN0LT5ydXNhZ2UucnVfdXRpbWUudHZfc2VjLAorCQkJKGxvbmcpaW5zdC0+cnVzYWdlLnJ1X3V0aW1lLnR2X3VzZWMsCisJCQkobG9uZylpbnN0LT5ydXNhZ2UucnVfc3RpbWUudHZfc2VjLAorCQkJKGxvbmcpaW5zdC0+cnVzYWdlLnJ1X3N0aW1lLnR2X3VzZWMpOworfQorCisvKgorICogRXhlY3V0ZSBhIHBhcnRpY3VsYXIgZnNjayBwcm9ncmFtLCBhbmQgbGluayBpdCBpbnRvIHRoZSBsaXN0IG9mCisgKiBjaGlsZCBwcm9jZXNzZXMgd2UgYXJlIHdhaXRpbmcgZm9yLgorICovCitzdGF0aWMgaW50IGV4ZWN1dGUoY29uc3QgY2hhciAqcHJvZ25hbWUsIGNvbnN0IGNoYXIgKnByb2dwYXRoLAorCQkgICBjb25zdCBjaGFyICp0eXBlLCBzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IGludGVyYWN0aXZlKQoreworCWNoYXIgKmFyZ3ZbODBdOworCWludCAgYXJnYywgaTsKKwlzdHJ1Y3QgZnNja19pbnN0YW5jZSAqaW5zdCwgKnA7CisJcGlkX3QJcGlkOworCisJaW5zdCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCppbnN0KSk7CisKKwlhcmd2WzBdID0geHN0cmR1cChwcm9nbmFtZSk7CisJYXJnYyA9IDE7CisKKwlmb3IgKGk9MDsgaSA8bnVtX2FyZ3M7IGkrKykKKwkJYXJndlthcmdjKytdID0geHN0cmR1cChhcmdzW2ldKTsKKworCWlmIChwcm9ncmVzcyAmJgorCSAgICAgICAoKHN0cmNtcCh0eXBlLCAiZXh0MiIpID09IDApIHx8CisJCShzdHJjbXAodHlwZSwgImV4dDMiKSA9PSAwKSB8fAorCQkoc3RyY21wKHR5cGUsICJleHQ0IikgPT0gMCkgfHwKKwkJKHN0cmNtcCh0eXBlLCAiZXh0NGRldiIpID09IDApKSkgeworCisJCWNoYXIgdG1wWzgwXTsKKwkJdG1wWzBdID0gMDsKKwkJaWYgKCFwcm9ncmVzc19hY3RpdmUoKSkgeworCQkJc25wcmludGYodG1wLCA4MCwgIi1DJWQiLCBwcm9ncmVzc19mZCk7CisJCQlpbnN0LT5mbGFncyB8PSBGTEFHX1BST0dSRVNTOworCQl9IGVsc2UgaWYgKHByb2dyZXNzX2ZkKQorCQkJc25wcmludGYodG1wLCA4MCwgIi1DJWQiLCBwcm9ncmVzc19mZCAqIC0xKTsKKwkJaWYgKHRtcFswXSkKKwkJCWFyZ3ZbYXJnYysrXSA9IHhzdHJkdXAodG1wKTsKKwl9CisKKwlhcmd2W2FyZ2MrK10gPSB4c3RyZHVwKGZzX2dldF9kZXZpY2UoZnMpKTsKKwlhcmd2W2FyZ2NdID0gTlVMTDsKKworCWlmICh2ZXJib3NlIHx8IG5vZXhlY3V0ZSkgeworCQljb25zdCBjaGFyICp0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChmcyk7CisKKwkJaWYgKCF0Z3QpCisJCQl0Z3QgPSBmc19nZXRfZGV2aWNlKGZzKTsKKwkJcHJpbnRmKCJbJXMgKCVkKSAtLSAlc10gIiwgcHJvZ3BhdGgsIG51bV9ydW5uaW5nLCB0Z3QpOworCQlmb3IgKGk9MDsgaSA8IGFyZ2M7IGkrKykKKwkJCXByaW50ZigiJXMgIiwgYXJndltpXSk7CisJCXByaW50ZigiXG4iKTsKKwl9CisKKwltbnRfcmVmX2ZzKGZzKTsKKwlpbnN0LT5mcyA9IGZzOworCWluc3QtPmxvY2sgPSAtMTsKKworCWlmIChsb2NrZGlzaykKKwkJbG9ja19kaXNrKGluc3QpOworCisJLyogRm9yayBhbmQgZXhlY3V0ZSB0aGUgY29ycmVjdCBwcm9ncmFtLiAqLworCWlmIChub2V4ZWN1dGUpCisJCXBpZCA9IC0xOworCWVsc2UgaWYgKChwaWQgPSBmb3JrKCkpIDwgMCkgeworCQl3YXJuKF8oImZvcmsgZmFpbGVkIikpOworCQlmcmVlX2luc3RhbmNlKGluc3QpOworCQlyZXR1cm4gZXJybm87CisJfSBlbHNlIGlmIChwaWQgPT0gMCkgeworCQlpZiAoIWludGVyYWN0aXZlKQorCQkJY2xvc2UoMCk7CisJCWV4ZWN2KHByb2dwYXRoLCBhcmd2KTsKKwkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oIiVzOiBleGVjdXRlIGZhaWxlZCIpLCBwcm9ncGF0aCk7CisJfQorCisJZm9yIChpPTA7IGkgPCBhcmdjOyBpKyspCisJCWZyZWUoYXJndltpXSk7CisKKwlpbnN0LT5waWQgPSBwaWQ7CisJaW5zdC0+cHJvZyA9IHhzdHJkdXAocHJvZ25hbWUpOworCWluc3QtPnR5cGUgPSB4c3RyZHVwKHR5cGUpOworCWdldHRpbWVfbW9ub3RvbmljKCZpbnN0LT5zdGFydF90aW1lKTsKKwlpbnN0LT5uZXh0ID0gTlVMTDsKKworCS8qCisJICogRmluZCB0aGUgZW5kIG9mIHRoZSBsaXN0LCBzbyB3ZSBhZGQgdGhlIGluc3RhbmNlIG9uIGF0IHRoZSBlbmQuCisJICovCisJZm9yIChwID0gaW5zdGFuY2VfbGlzdDsgcCAmJiBwLT5uZXh0OyBwID0gcC0+bmV4dCk7CisKKwlpZiAocCkKKwkJcC0+bmV4dCA9IGluc3Q7CisJZWxzZQorCQlpbnN0YW5jZV9saXN0ID0gaW5zdDsKKworCXJldHVybiAwOworfQorCisvKgorICogU2VuZCBhIHNpZ25hbCB0byBhbGwgb3V0c3RhbmRpbmcgZnNjayBjaGlsZCBwcm9jZXNzZXMKKyAqLworc3RhdGljIGludCBraWxsX2FsbChpbnQgc2lnbnVtKQoreworCXN0cnVjdCBmc2NrX2luc3RhbmNlICppbnN0OworCWludAluID0gMDsKKworCWZvciAoaW5zdCA9IGluc3RhbmNlX2xpc3Q7IGluc3Q7IGluc3QgPSBpbnN0LT5uZXh0KSB7CisJCWlmIChpbnN0LT5mbGFncyAmIEZMQUdfRE9ORSkKKwkJCWNvbnRpbnVlOworCQlraWxsKGluc3QtPnBpZCwgc2lnbnVtKTsKKwkJbisrOworCX0KKwlyZXR1cm4gbjsKK30KKworLyoKKyAqIFdhaXQgZm9yIG9uZSBjaGlsZCBwcm9jZXNzIHRvIGV4aXQ7IHdoZW4gaXQgZG9lcywgdW5saW5rIGl0IGZyb20KKyAqIHRoZSBsaXN0IG9mIGV4ZWN1dGluZyBjaGlsZCBwcm9jZXNzZXMsIGFuZCByZXR1cm4gaXQuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZnNja19pbnN0YW5jZSAqd2FpdF9vbmUoaW50IGZsYWdzKQoreworCWludAlzdGF0dXMgPSAwOworCWludAlzaWc7CisJc3RydWN0IGZzY2tfaW5zdGFuY2UgKmluc3QsICppbnN0MiwgKnByZXY7CisJcGlkX3QJcGlkOworCXN0cnVjdCBydXNhZ2UgcnVzYWdlOworCisJaWYgKCFpbnN0YW5jZV9saXN0KQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChub2V4ZWN1dGUpIHsKKwkJaW5zdCA9IGluc3RhbmNlX2xpc3Q7CisJCXByZXYgPSBOVUxMOworI2lmZGVmIFJBTkRPTV9ERUJVRworCQl3aGlsZSAoaW5zdC0+bmV4dCAmJiAocmFuZG9tKCkgJiAxKSkgeworCQkJcHJldiA9IGluc3Q7CisJCQlpbnN0ID0gaW5zdC0+bmV4dDsKKwkJfQorI2VuZGlmCisJCWluc3QtPmV4aXRfc3RhdHVzID0gMDsKKwkJZ290byByZXRfaW5zdDsKKwl9CisKKwkvKgorCSAqIGdjYyAtV2FsbCBmYWlscyBzYXZpbmcgdGhyb3cgYWdhaW5zdCBzdHVwaWRpdHkKKwkgKiAoaW5zdCBhbmQgcHJldiBhcmUgdGhvdWdodCB0byBiZSB1bmluaXRpYWxpemVkIHZhcmlhYmxlcykKKwkgKi8KKwlpbnN0ID0gcHJldiA9IE5VTEw7CisKKwlkbyB7CisJCXBpZCA9IHdhaXQ0KC0xLCAmc3RhdHVzLCBmbGFncywgJnJ1c2FnZSk7CisJCWlmIChjYW5jZWxfcmVxdWVzdGVkICYmICFraWxsX3NlbnQpIHsKKwkJCWtpbGxfYWxsKFNJR1RFUk0pOworCQkJa2lsbF9zZW50Kys7CisJCX0KKwkJaWYgKChwaWQgPT0gMCkgJiYgKGZsYWdzICYgV05PSEFORykpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKHBpZCA8IDApIHsKKwkJCWlmICgoZXJybm8gPT0gRUlOVFIpIHx8IChlcnJubyA9PSBFQUdBSU4pKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGVycm5vID09IEVDSElMRCkgeworCQkJCXdhcm54KF8oIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIpKTsKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCX0KKwkJCXdhcm4oXygid2FpdHBpZCBmYWlsZWQiKSk7CisJCQljb250aW51ZTsKKwkJfQorCQlmb3IgKHByZXYgPSBOVUxMLCBpbnN0ID0gaW5zdGFuY2VfbGlzdDsKKwkJICAgICBpbnN0OworCQkgICAgIHByZXYgPSBpbnN0LCBpbnN0ID0gaW5zdC0+bmV4dCkgeworCQkJaWYgKGluc3QtPnBpZCA9PSBwaWQpCisJCQkJYnJlYWs7CisJCX0KKwl9IHdoaWxlICghaW5zdCk7CisKKwlpZiAoV0lGRVhJVEVEKHN0YXR1cykpCisJCXN0YXR1cyA9IFdFWElUU1RBVFVTKHN0YXR1cyk7CisJZWxzZSBpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSkgeworCQlzaWcgPSBXVEVSTVNJRyhzdGF0dXMpOworCQlpZiAoc2lnID09IFNJR0lOVCkgeworCQkJc3RhdHVzID0gRlNDS19FWF9VTkNPUlJFQ1RFRDsKKwkJfSBlbHNlIHsKKwkJCXdhcm54KF8oIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgIgorCQkJICAgICAgICJ3aXRoIHNpZ25hbCAlZC4iKSwKKwkJCSAgICAgICBpbnN0LT5wcm9nLCBmc19nZXRfZGV2aWNlKGluc3QtPmZzKSwgc2lnKTsKKwkJCXN0YXR1cyA9IEZTQ0tfRVhfRVJST1I7CisJCX0KKwl9IGVsc2UgeworCQl3YXJueChfKCIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIpLAorCQkgICAgICAgaW5zdC0+cHJvZywgZnNfZ2V0X2RldmljZShpbnN0LT5mcyksIHN0YXR1cyk7CisJCXN0YXR1cyA9IEZTQ0tfRVhfRVJST1I7CisJfQorCisJaW5zdC0+ZXhpdF9zdGF0dXMgPSBzdGF0dXM7CisJaW5zdC0+ZmxhZ3MgfD0gRkxBR19ET05FOworCWdldHRpbWVfbW9ub3RvbmljKCZpbnN0LT5lbmRfdGltZSk7CisJbWVtY3B5KCZpbnN0LT5ydXNhZ2UsICZydXNhZ2UsIHNpemVvZihzdHJ1Y3QgcnVzYWdlKSk7CisKKwlpZiAocHJvZ3Jlc3MgJiYgKGluc3QtPmZsYWdzICYgRkxBR19QUk9HUkVTUykgJiYKKwkgICAgIXByb2dyZXNzX2FjdGl2ZSgpKSB7CisJCWZvciAoaW5zdDIgPSBpbnN0YW5jZV9saXN0OyBpbnN0MjsgaW5zdDIgPSBpbnN0Mi0+bmV4dCkgeworCQkJaWYgKGluc3QyLT5mbGFncyAmIEZMQUdfRE9ORSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChzdHJjbXAoaW5zdDItPnR5cGUsICJleHQyIikgJiYKKwkJCSAgICBzdHJjbXAoaW5zdDItPnR5cGUsICJleHQzIikgJiYKKwkJCSAgICBzdHJjbXAoaW5zdDItPnR5cGUsICJleHQ0IikgJiYKKwkJCSAgICBzdHJjbXAoaW5zdDItPnR5cGUsICJleHQ0ZGV2IikpCisJCQkJY29udGludWU7CisJCQkvKgorCQkJICogSWYgd2UndmUganVzdCBzdGFydGVkIHRoZSBmc2NrLCB3YWl0IGEgdGlueQorCQkJICogYml0IGJlZm9yZSBzZW5kaW5nIHRoZSBraWxsLCB0byBnaXZlIGl0CisJCQkgKiB0aW1lIHRvIHNldCB1cCB0aGUgc2lnbmFsIGhhbmRsZXIKKwkJCSAqLworCQkJaWYgKGluc3QyLT5zdGFydF90aW1lLnR2X3NlYyA8IHRpbWUoTlVMTCkgKyAyKSB7CisJCQkJaWYgKGZvcmsoKSA9PSAwKSB7CisJCQkJCXNsZWVwKDEpOworCQkJCQlraWxsKGluc3QyLT5waWQsIFNJR1VTUjEpOworCQkJCQlleGl0KEZTQ0tfRVhfT0spOworCQkJCX0KKwkJCX0gZWxzZQorCQkJCWtpbGwoaW5zdDItPnBpZCwgU0lHVVNSMSk7CisJCQlpbnN0Mi0+ZmxhZ3MgfD0gRkxBR19QUk9HUkVTUzsKKwkJCWJyZWFrOworCQl9CisJfQorcmV0X2luc3Q6CisJaWYgKHByZXYpCisJCXByZXYtPm5leHQgPSBpbnN0LT5uZXh0OworCWVsc2UKKwkJaW5zdGFuY2VfbGlzdCA9IGluc3QtPm5leHQ7CisKKwlwcmludF9zdGF0cyhpbnN0KTsKKworCWlmICh2ZXJib3NlID4gMSkKKwkJcHJpbnRmKF8oIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIiksCisJCSAgICAgICBmc19nZXRfZGV2aWNlKGluc3QtPmZzKSwgaW5zdC0+ZXhpdF9zdGF0dXMpOworCW51bV9ydW5uaW5nLS07CisJcmV0dXJuIGluc3Q7Cit9CisKKyNkZWZpbmUgRkxBR19XQUlUX0FMTAkJMAorI2RlZmluZSBGTEFHX1dBSVRfQVRMRUFTVF9PTkUJMQorLyoKKyAqIFdhaXQgdW50aWwgYWxsIGV4ZWN1dGluZyBjaGlsZCBwcm9jZXNzZXMgaGF2ZSBleGl0ZWQ7IHJldHVybiB0aGUKKyAqIGxvZ2ljYWwgT1Igb2YgYWxsIG9mIHRoZWlyIGV4aXQgY29kZSB2YWx1ZXMuCisgKi8KK3N0YXRpYyBpbnQgd2FpdF9tYW55KGludCBmbGFncykKK3sKKwlzdHJ1Y3QgZnNja19pbnN0YW5jZSAqaW5zdDsKKwlpbnQJZ2xvYmFsX3N0YXR1cyA9IDA7CisJaW50CXdhaXRfZmxhZ3MgPSAwOworCisJd2hpbGUgKChpbnN0ID0gd2FpdF9vbmUod2FpdF9mbGFncykpKSB7CisJCWdsb2JhbF9zdGF0dXMgfD0gaW5zdC0+ZXhpdF9zdGF0dXM7CisJCWZyZWVfaW5zdGFuY2UoaW5zdCk7CisjaWZkZWYgUkFORE9NX0RFQlVHCisJCWlmIChub2V4ZWN1dGUgJiYgKGZsYWdzICYgV05PSEFORykgJiYgIShyYW5kb20oKSAlIDMpKQorCQkJYnJlYWs7CisjZW5kaWYKKwkJaWYgKGZsYWdzICYgRkxBR19XQUlUX0FUTEVBU1RfT05FKQorCQkJd2FpdF9mbGFncyA9IFdOT0hBTkc7CisJfQorCXJldHVybiBnbG9iYWxfc3RhdHVzOworfQorCisvKgorICogUnVuIHRoZSBmc2NrIHByb2dyYW0gb24gYSBwYXJ0aWN1bGFyIGRldmljZQorICoKKyAqIElmIHRoZSB0eXBlIGlzIHNwZWNpZmllZCB1c2luZyAtdCwgYW5kIGl0IGlzbid0IHByZWZpeGVkIHdpdGggIm5vIgorICogKGFzIGluICJub2V4dDIiKSBhbmQgb25seSBvbmUgZmlsZXN5c3RlbSB0eXBlIGlzIHNwZWNpZmllZCwgdGhlbgorICogdXNlIHRoYXQgdHlwZSByZWdhcmRsZXNzIG9mIHdoYXQgaXMgc3BlY2lmaWVkIGluIC9ldGMvZnN0YWIuCisgKgorICogSWYgdGhlIHR5cGUgaXNuJ3Qgc3BlY2lmaWVkIGJ5IHRoZSB1c2VyLCB0aGVuIHVzZSBlaXRoZXIgdGhlIHR5cGUKKyAqIHNwZWNpZmllZCBpbiAvZXRjL2ZzdGFiLCBvciBERUZBVUxUX0ZTVFlQRS4KKyAqLworc3RhdGljIGludCBmc2NrX2RldmljZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IGludGVyYWN0aXZlKQoreworCWNoYXIgKnByb2duYW1lLCAqcHJvZ3BhdGg7CisJY29uc3QgY2hhciAqdHlwZTsKKwlpbnQgcmV0dmFsOworCisJZnNfaW50ZXJwcmV0X3R5cGUoZnMpOworCisJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKworCWlmICh0eXBlICYmIHN0cmNtcCh0eXBlLCAiYXV0byIpICE9IDApCisJCTsKKwllbHNlIGlmIChmc3R5cGUgJiYgc3RybmNtcChmc3R5cGUsICJubyIsIDIpICYmCisJICAgIHN0cm5jbXAoZnN0eXBlLCAib3B0cz0iLCA1KSAmJiBzdHJuY21wKGZzdHlwZSwgImxvb3AiLCA0KSAmJgorCSAgICAhc3RyY2hyKGZzdHlwZSwgJywnKSkKKwkJdHlwZSA9IGZzdHlwZTsKKwllbHNlCisJCXR5cGUgPSBERUZBVUxUX0ZTVFlQRTsKKworCXhhc3ByaW50ZigmcHJvZ25hbWUsICJmc2NrLiVzIiwgdHlwZSk7CisKKwlpZiAoIWZpbmRfZnNjayhwcm9nbmFtZSwgJnByb2dwYXRoKSkgeworCQlmcmVlKHByb2duYW1lKTsKKwkJaWYgKGZzX2NoZWNrX3JlcXVpcmVkKHR5cGUpKSB7CisJCQlyZXR2YWwgPSBFTk9FTlQ7CisJCQlnb3RvIGVycjsKKwkJfQorCQlyZXR1cm4gMDsKKwl9CisKKwludW1fcnVubmluZysrOworCXJldHZhbCA9IGV4ZWN1dGUocHJvZ25hbWUsIHByb2dwYXRoLCB0eXBlLCBmcywgaW50ZXJhY3RpdmUpOworCWZyZWUocHJvZ25hbWUpOworCWZyZWUocHJvZ3BhdGgpOworCWlmIChyZXR2YWwpIHsKKwkJbnVtX3J1bm5pbmctLTsKKwkJZ290byBlcnI7CisJfQorCXJldHVybiAwOworZXJyOgorCXdhcm54KF8oImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIiksCisJCQlyZXR2YWwsIHR5cGUsIGZzX2dldF9kZXZpY2UoZnMpKTsKKwlyZXR1cm4gRlNDS19FWF9FUlJPUjsKK30KKworCisvKgorICogRGVhbCB3aXRoIHRoZSBmc2NrIC10IGFyZ3VtZW50LgorICovCitzdGF0aWMgc3RydWN0IGZzX3R5cGVfY29tcGlsZSB7CisJY2hhciAqKmxpc3Q7CisJaW50ICp0eXBlOworCWludCAgbmVnYXRlOworfSBmc190eXBlX2NvbXBpbGVkOworCisjZGVmaW5lIEZTX1RZUEVfTk9STUFMCTAKKyNkZWZpbmUgRlNfVFlQRV9PUFQJMQorI2RlZmluZSBGU19UWVBFX05FR09QVAkyCisKK3N0YXRpYyB2b2lkIGNvbXBpbGVfZnNfdHlwZShjaGFyICpmc190eXBlLCBzdHJ1Y3QgZnNfdHlwZV9jb21waWxlICpjbXApCit7CisJY2hhcgkqY3AsICpsaXN0LCAqczsKKwlpbnQJbnVtID0gMjsKKwlpbnQJbmVnYXRlLCBmaXJzdF9uZWdhdGUgPSAxOworCisJaWYgKGZzX3R5cGUpIHsKKwkJZm9yIChjcD1mc190eXBlOyAqY3A7IGNwKyspIHsKKwkJCWlmICgqY3AgPT0gJywnKQorCQkJCW51bSsrOworCQl9CisJfQorCisJY21wLT5saXN0ID0geGNhbGxvYyhudW0sIHNpemVvZihjaGFyICopKTsKKwljbXAtPnR5cGUgPSB4Y2FsbG9jKG51bSwgc2l6ZW9mKGludCkpOworCWNtcC0+bmVnYXRlID0gMDsKKworCWlmICghZnNfdHlwZSkKKwkJcmV0dXJuOworCisJbGlzdCA9IHhzdHJkdXAoZnNfdHlwZSk7CisJbnVtID0gMDsKKwlzID0gc3RydG9rKGxpc3QsICIsIik7CisJd2hpbGUocykgeworCQluZWdhdGUgPSAwOworCQlpZiAoc3RybmNtcChzLCAibm8iLCAyKSA9PSAwKSB7CisJCQlzICs9IDI7CisJCQluZWdhdGUgPSAxOworCQl9IGVsc2UgaWYgKCpzID09ICchJykgeworCQkJcysrOworCQkJbmVnYXRlID0gMTsKKwkJfQorCQlpZiAoc3RyY21wKHMsICJsb29wIikgPT0gMCkKKwkJCS8qIGxvb3AgaXMgcmVhbGx5IHNob3J0LWhhbmQgZm9yIG9wdHM9bG9vcCAqLworCQkJZ290byBsb29wX3NwZWNpYWxfY2FzZTsKKwkJZWxzZSBpZiAoc3RybmNtcChzLCAib3B0cz0iLCA1KSA9PSAwKSB7CisJCQlzICs9IDU7CisJCWxvb3Bfc3BlY2lhbF9jYXNlOgorCQkJY21wLT50eXBlW251bV0gPSBuZWdhdGUgPyBGU19UWVBFX05FR09QVCA6IEZTX1RZUEVfT1BUOworCQl9IGVsc2UgeworCQkJaWYgKGZpcnN0X25lZ2F0ZSkgeworCQkJCWNtcC0+bmVnYXRlID0gbmVnYXRlOworCQkJCWZpcnN0X25lZ2F0ZSA9IDA7CisJCQl9CisJCQlpZiAoKG5lZ2F0ZSAmJiAhY21wLT5uZWdhdGUpIHx8CisJCQkgICAgKCFuZWdhdGUgJiYgY21wLT5uZWdhdGUpKSB7CisJCQkJZXJyeChGU0NLX0VYX1VTQUdFLAorCQkJCQlfKCJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKwkJCQkJICAid2l0aCAnbm8nIG9yICchJy4iKSk7CisJCQl9CisJCX0KKworCQljbXAtPmxpc3RbbnVtKytdID0geHN0cmR1cChzKTsKKwkJcyA9IHN0cnRvayhOVUxMLCAiLCIpOworCX0KKwlmcmVlKGxpc3QpOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRydWUgaWYgYSBwYXJ0aWN1bGFyIG9wdGlvbiBhcHBlYXJzIGluIGEKKyAqIGNvbW1hLWRlbGltaXRlZCBvcHRpb25zIGxpc3QKKyAqLworc3RhdGljIGludCBvcHRfaW5fbGlzdChjb25zdCBjaGFyICpvcHQsIGNvbnN0IGNoYXIgKm9wdGxpc3QpCit7CisJY2hhcgkqbGlzdCwgKnM7CisKKwlpZiAoIW9wdGxpc3QpCisJCXJldHVybiAwOworCWxpc3QgPSB4c3RyZHVwKG9wdGxpc3QpOworCisJcyA9IHN0cnRvayhsaXN0LCAiLCIpOworCXdoaWxlKHMpIHsKKwkJaWYgKHN0cmNtcChzLCBvcHQpID09IDApIHsKKwkJCWZyZWUobGlzdCk7CisJCQlyZXR1cm4gMTsKKwkJfQorCQlzID0gc3RydG9rKE5VTEwsICIsIik7CisJfQorCWZyZWUobGlzdCk7CisJcmV0dXJuIDA7Cit9CisKKy8qIFNlZSBpZiB0aGUgZmlsZXN5c3RlbSBtYXRjaGVzIHRoZSBjcml0ZXJpYSBnaXZlbiBieSB0aGUgLXQgb3B0aW9uICovCitzdGF0aWMgaW50IGZzX21hdGNoKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBzdHJ1Y3QgZnNfdHlwZV9jb21waWxlICpjbXApCit7CisJaW50IG4sIHJldCA9IDAsIGNoZWNrZWRfdHlwZSA9IDA7CisJY2hhciAqY3A7CisKKwlpZiAoY21wLT5saXN0ID09IE5VTEwgfHwgY21wLT5saXN0WzBdID09IE5VTEwpCisJCXJldHVybiAxOworCisJZm9yIChuPTA7IChjcCA9IGNtcC0+bGlzdFtuXSk7IG4rKykgeworCQlzd2l0Y2ggKGNtcC0+dHlwZVtuXSkgeworCQljYXNlIEZTX1RZUEVfTk9STUFMOgorCQl7CisJCQljb25zdCBjaGFyICp0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoZnMpOworCisJCQljaGVja2VkX3R5cGUrKzsKKwkJCWlmICh0eXBlICYmIHN0cmNtcChjcCwgdHlwZSkgPT0gMCkKKwkJCQlyZXQgPSAxOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBGU19UWVBFX05FR09QVDoKKwkJCWlmIChvcHRfaW5fbGlzdChjcCwgbW50X2ZzX2dldF9vcHRpb25zKGZzKSkpCisJCQkJcmV0dXJuIDA7CisJCQlicmVhazsKKwkJY2FzZSBGU19UWVBFX09QVDoKKwkJCWlmICghb3B0X2luX2xpc3QoY3AsIG1udF9mc19nZXRfb3B0aW9ucyhmcykpKQorCQkJCXJldHVybiAwOworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKGNoZWNrZWRfdHlwZSA9PSAwKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gKGNtcC0+bmVnYXRlID8gIXJldCA6IHJldCk7Cit9CisKKy8qCisgKiBDaGVjayBpZiBhIGRldmljZSBleGlzdHMKKyAqLworc3RhdGljIGludCBkZXZpY2VfZXhpc3RzKGNvbnN0IGNoYXIgKmRldmljZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmIChzdGF0KGRldmljZSwgJnN0KSA9PSAtMSkKKwkJcmV0dXJuIDA7CisJaWYgKCFTX0lTQkxLKHN0LnN0X21vZGUpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBmc19pZ25vcmVkX3R5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJY29uc3QgY2hhciAqKmlwLCAqdHlwZTsKKworCWlmIChtbnRfZnNfaXNfbmV0ZnMoZnMpIHx8IG1udF9mc19pc19wc2V1ZG9mcyhmcykgfHwgbW50X2ZzX2lzX3N3YXBhcmVhKGZzKSkKKwkJcmV0dXJuIDE7CisKKwl0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoZnMpOworCisJZm9yKGlwID0gaWdub3JlZF90eXBlczsgdHlwZSAmJiAqaXA7IGlwKyspIHsKKwkJaWYgKHN0cmNtcCh0eXBlLCAqaXApID09IDApCisJCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogQ2hlY2sgaWYgd2Ugc2hvdWxkIGlnbm9yZSB0aGlzIGZpbGVzeXN0ZW0uICovCitzdGF0aWMgaW50IGlnbm9yZShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwljb25zdCBjaGFyICp0eXBlOworCisJLyoKKwkgKiBJZiB0aGUgcGFzcyBudW1iZXIgaXMgMCwgaWdub3JlIGl0LgorCSAqLworCWlmIChtbnRfZnNfZ2V0X3Bhc3NubyhmcykgPT0gMCkKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIElmIHRoaXMgaXMgYSBiaW5kIG1vdW50LCBpZ25vcmUgaXQuCisJICovCisJaWYgKG9wdF9pbl9saXN0KCJiaW5kIiwgbW50X2ZzX2dldF9vcHRpb25zKGZzKSkpIHsKKwkJd2FybngoXygiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6ICIKKwkJCSJiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIiksCisJCQltbnRfZnNfZ2V0X3RhcmdldChmcykpOworCQlyZXR1cm4gMTsKKwl9CisKKwkvKgorCSAqIGlnbm9yZSBkZXZpY2VzIHRoYXQgZG9uJ3QgZXhpc3QgYW5kIGhhdmUgdGhlICJub2ZhaWwiIG1vdW50IG9wdGlvbgorCSAqLworCWlmICghZGV2aWNlX2V4aXN0cyhmc19nZXRfZGV2aWNlKGZzKSkpIHsKKwkJaWYgKG9wdF9pbl9saXN0KCJub2ZhaWwiLCBtbnRfZnNfZ2V0X29wdGlvbnMoZnMpKSkgeworCQkJaWYgKHZlcmJvc2UpCisJCQkJcHJpbnRmKF8oIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIpLAorCQkJCQkJCWZzX2dldF9kZXZpY2UoZnMpKTsKKwkJCXJldHVybiAxOworCQl9CisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKF8oIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgIgorCQkJCSAib3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iKSwKKwkJCQlmc19nZXRfZGV2aWNlKGZzKSk7CisJfQorCisJZnNfaW50ZXJwcmV0X3R5cGUoZnMpOworCisJLyoKKwkgKiBJZiBhIHNwZWNpZmljIGZzdHlwZSBpcyBzcGVjaWZpZWQsIGFuZCBpdCBkb2Vzbid0IG1hdGNoLAorCSAqIGlnbm9yZSBpdC4KKwkgKi8KKwlpZiAoIWZzX21hdGNoKGZzLCAmZnNfdHlwZV9jb21waWxlZCkpCisJCXJldHVybiAxOworCisJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKwlpZiAoIXR5cGUpIHsKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iKSwKKwkJCQlmc19nZXRfZGV2aWNlKGZzKSk7CisJCXJldHVybiAxOworCX0KKworCS8qIEFyZSB3ZSBpZ25vcmluZyB0aGlzIHR5cGU/ICovCisJaWYgKGZzX2lnbm9yZWRfdHlwZShmcykpCisJCXJldHVybiAxOworCisKKworCS8qIFNlZSBpZiB0aGUgPGZzY2suZnM+IHByb2dyYW0gaXMgYXZhaWxhYmxlLiAqLworCWlmICghZmluZF9mc2NrKHR5cGUsIE5VTEwpKSB7CisJCWlmIChmc19jaGVja19yZXF1aXJlZCh0eXBlKSkKKwkJCXdhcm54KF8oImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiKSwKKwkJCQlmc19nZXRfZGV2aWNlKGZzKSwgdHlwZSk7CisJCXJldHVybiAxOworCX0KKworCS8qIFdlIGNhbiBhbmQgd2FudCB0byBjaGVjayB0aGlzIGZpbGUgc3lzdGVtIHR5cGUuICovCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY291bnRfc2xhdmVzKGRldl90IGRpc2spCit7CisJRElSICpkaXI7CisJc3RydWN0IGRpcmVudCAqZHA7CisJY2hhciBkaXJuYW1lW1BBVEhfTUFYXTsKKwlpbnQgY291bnQgPSAwOworCisJc25wcmludGYoZGlybmFtZSwgc2l6ZW9mKGRpcm5hbWUpLAorCQkJIi9zeXMvZGV2L2Jsb2NrLyV1OiV1L3NsYXZlcy8iLAorCQkJbWFqb3IoZGlzayksIG1pbm9yKGRpc2spKTsKKworCWlmICghKGRpciA9IG9wZW5kaXIoZGlybmFtZSkpKQorCQlyZXR1cm4gLTE7CisKKwl3aGlsZSAoKGRwID0gcmVhZGRpcihkaXIpKSAhPSBOVUxMKSB7CisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQlpZiAoZHAtPmRfdHlwZSAhPSBEVF9VTktOT1dOICYmIGRwLT5kX3R5cGUgIT0gRFRfTE5LKQorCQkJY29udGludWU7CisjZW5kaWYKKwkJaWYgKGRwLT5kX25hbWVbMF0gPT0gJy4nICYmCisJCSAgICAoKGRwLT5kX25hbWVbMV0gPT0gMCkgfHwKKwkJICAgICAoKGRwLT5kX25hbWVbMV0gPT0gJy4nKSAmJiAoZHAtPmRfbmFtZVsyXSA9PSAwKSkpKQorCQkJY29udGludWU7CisKKwkJY291bnQrKzsKKwl9CisKKwljbG9zZWRpcihkaXIpOworCXJldHVybiBjb3VudDsKK30KKworLyoKKyAqIFJldHVybnMgVFJVRSBpZiBhIHBhcnRpdGlvbiBvbiB0aGUgc2FtZSBkaXNrIGlzIGFscmVhZHkgYmVpbmcKKyAqIGNoZWNrZWQuCisgKi8KK3N0YXRpYyBpbnQgZGlza19hbHJlYWR5X2FjdGl2ZShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlzdHJ1Y3QgZnNja19pbnN0YW5jZSAqaW5zdDsKKwlkZXZfdCBkaXNrOworCisJaWYgKGZvcmNlX2FsbF9wYXJhbGxlbCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoaW5zdGFuY2VfbGlzdCAmJiBmc19pc19zdGFja2VkKGluc3RhbmNlX2xpc3QtPmZzKSkKKwkJLyogYW55IGluc3RhbmNlIGZvciBhIHN0YWNrZWQgZGV2aWNlIGlzIGFscmVhZHkgcnVubmluZyAqLworCQlyZXR1cm4gMTsKKworCWRpc2sgPSBmc19nZXRfZGlzayhmcywgMSk7CisKKwkvKgorCSAqIElmIHdlIGRvbid0IGtub3cgdGhlIGJhc2UgZGV2aWNlLCBhc3N1bWUgdGhhdCB0aGUgZGV2aWNlIGlzCisJICogYWxyZWFkeSBhY3RpdmUgaWYgdGhlcmUgYXJlIGFueSBmc2NrIGluc3RhbmNlcyBydW5uaW5nLgorCSAqCisJICogRG9uJ3QgY2hlY2sgYSBzdGFja2VkIGRldmljZSB3aXRoIGFueSBvdGhlciBkaXNrIHRvby4KKwkgKi8KKwlpZiAoIWRpc2sgfHwgZnNfaXNfc3RhY2tlZChmcykpCisJCXJldHVybiAoaW5zdGFuY2VfbGlzdCAhPSBOVUxMKTsKKworCWZvciAoaW5zdCA9IGluc3RhbmNlX2xpc3Q7IGluc3Q7IGluc3QgPSBpbnN0LT5uZXh0KSB7CisJCWRldl90IGlkaXNrID0gZnNfZ2V0X2Rpc2soaW5zdC0+ZnMsIDApOworCisJCWlmICghaWRpc2sgfHwgZGlzayA9PSBpZGlzaykKKwkJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCisvKiBDaGVjayBhbGwgZmlsZSBzeXN0ZW1zLCB1c2luZyB0aGUgL2V0Yy9mc3RhYiB0YWJsZS4gKi8KK3N0YXRpYyBpbnQgY2hlY2tfYWxsKHZvaWQpCit7CisJaW50IG5vdF9kb25lX3lldCA9IDE7CisJaW50IHBhc3NubyA9IDE7CisJaW50IHBhc3NfZG9uZTsKKwlpbnQgc3RhdHVzID0gRlNDS19FWF9PSzsKKworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCisJaWYgKCFpdHIpCisJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiKSk7CisKKwkvKgorCSAqIERvIGFuIGluaXRpYWwgc2NhbiBvdmVyIHRoZSBmaWxlc3lzdGVtOyBtYXJrIGZpbGVzeXN0ZW1zCisJICogd2hpY2ggc2hvdWxkIGJlIGlnbm9yZWQgYXMgZG9uZSwgYW5kIHJlc29sdmUgYW55ICJhdXRvIgorCSAqIGZpbGVzeXN0ZW0gdHlwZXMgKGRvbmUgYXMgYSBzaWRlLWVmZmVjdCBvZiBjYWxsaW5nIGlnbm9yZSgpKS4KKwkgKi8KKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnMoZnN0YWIsIGl0ciwgJmZzKSA9PSAwKSB7CisJCWlmIChpZ25vcmUoZnMpKSB7CisJCQlmc19zZXRfZG9uZShmcyk7CisJCQljb250aW51ZTsKKwkJfQorCX0KKworCWlmICh2ZXJib3NlKQorCQlmcHV0cyhfKCJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIiksIHN0ZG91dCk7CisKKwkvKgorCSAqIEZpbmQgYW5kIGNoZWNrIHRoZSByb290IGZpbGVzeXN0ZW0uCisJICovCisJaWYgKCFwYXJhbGxlbF9yb290KSB7CisJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KGZzdGFiLCAiLyIsIE1OVF9JVEVSX0ZPUldBUkQpOworCQlpZiAoZnMpIHsKKwkJCWlmICghc2tpcF9yb290ICYmCisJCQkgICAgIWZzX2lzX2RvbmUoZnMpICYmCisJCQkgICAgIShpZ25vcmVfbW91bnRlZCAmJiBpc19tb3VudGVkKGZzKSkpIHsKKwkJCQlzdGF0dXMgfD0gZnNja19kZXZpY2UoZnMsIDEpOworCQkJCXN0YXR1cyB8PSB3YWl0X21hbnkoRkxBR19XQUlUX0FMTCk7CisJCQkJaWYgKHN0YXR1cyA+IEZTQ0tfRVhfTk9OREVTVFJVQ1QpIHsKKwkJCQkJbW50X2ZyZWVfaXRlcihpdHIpOworCQkJCQlyZXR1cm4gc3RhdHVzOworCQkJCX0KKwkJCX0KKwkJCWZzX3NldF9kb25lKGZzKTsKKwkJfQorCX0KKworCS8qCisJICogVGhpcyBpcyBmb3IgdGhlIGJvbmUtaGVhZGVkIHVzZXIgd2hvIGVudGVycyB0aGUgcm9vdAorCSAqIGZpbGVzeXN0ZW0gdHdpY2UuICBTa2lwIHJvb3Qgd2lsbCBza2lwIGFsbCByb290IGVudHJpZXMuCisJICovCisJaWYgKHNraXBfcm9vdCkgeworCQltbnRfcmVzZXRfaXRlcihpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCisJCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKGZzdGFiLCBpdHIsICZmcykgPT0gMCkgeworCQkJY29uc3QgY2hhciAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworCisJCQlpZiAodGd0ICYmIHN0cmNtcCh0Z3QsICIvIikgPT0gMCkKKwkJCQlmc19zZXRfZG9uZShmcyk7CisJCX0KKwl9CisKKwl3aGlsZSAobm90X2RvbmVfeWV0KSB7CisJCW5vdF9kb25lX3lldCA9IDA7CisJCXBhc3NfZG9uZSA9IDE7CisKKwkJbW50X3Jlc2V0X2l0ZXIoaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKworCQl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyhmc3RhYiwgaXRyLCAmZnMpID09IDApIHsKKworCQkJaWYgKGNhbmNlbF9yZXF1ZXN0ZWQpCisJCQkJYnJlYWs7CisJCQlpZiAoZnNfaXNfZG9uZShmcykpCisJCQkJY29udGludWU7CisJCQkvKgorCQkJICogSWYgdGhlIGZpbGVzeXN0ZW0ncyBwYXNzIG51bWJlciBpcyBoaWdoZXIKKwkJCSAqIHRoYW4gdGhlIGN1cnJlbnQgcGFzcyBudW1iZXIsIHRoZW4gd2UgZG9uJ3QKKwkJCSAqIGRvIGl0IHlldC4KKwkJCSAqLworCQkJaWYgKG1udF9mc19nZXRfcGFzc25vKGZzKSA+IHBhc3NubykgeworCQkJCW5vdF9kb25lX3lldCsrOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJaWYgKGlnbm9yZV9tb3VudGVkICYmIGlzX21vdW50ZWQoZnMpKSB7CisJCQkJZnNfc2V0X2RvbmUoZnMpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJLyoKKwkJCSAqIElmIGEgZmlsZXN5c3RlbSBvbiBhIHBhcnRpY3VsYXIgZGV2aWNlIGhhcworCQkJICogYWxyZWFkeSBiZWVuIHNwYXduZWQsIHRoZW4gd2UgbmVlZCB0byBkZWZlcgorCQkJICogdGhpcyB0byBhbm90aGVyIHBhc3MuCisJCQkgKi8KKwkJCWlmIChkaXNrX2FscmVhZHlfYWN0aXZlKGZzKSkgeworCQkJCXBhc3NfZG9uZSA9IDA7CisJCQkJY29udGludWU7CisJCQl9CisJCQkvKgorCQkJICogU3Bhd24gb2ZmIHRoZSBmc2NrIHByb2Nlc3MKKwkJCSAqLworCQkJc3RhdHVzIHw9IGZzY2tfZGV2aWNlKGZzLCBzZXJpYWxpemUpOworCQkJZnNfc2V0X2RvbmUoZnMpOworCisJCQkvKgorCQkJICogT25seSBkbyBvbmUgZmlsZXN5c3RlbSBhdCBhIHRpbWUsIG9yIGlmIHdlCisJCQkgKiBoYXZlIGEgbGltaXQgb24gdGhlIG51bWJlciBvZiBmc2NrJ3MgZXh0YW50CisJCQkgKiBhdCBvbmUgdGltZSwgYXBwbHkgdGhhdCBsaW1pdC4KKwkJCSAqLworCQkJaWYgKHNlcmlhbGl6ZSB8fAorCQkJICAgIChtYXhfcnVubmluZyAmJiAobnVtX3J1bm5pbmcgPj0gbWF4X3J1bm5pbmcpKSkgeworCQkJCXBhc3NfZG9uZSA9IDA7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKGNhbmNlbF9yZXF1ZXN0ZWQpCisJCQlicmVhazsKKwkJaWYgKHZlcmJvc2UgPiAxKQorCQkJcHJpbnRmKF8oIi0td2FpdGluZy0tIChwYXNzICVkKVxuIiksIHBhc3Nubyk7CisKKwkJc3RhdHVzIHw9IHdhaXRfbWFueShwYXNzX2RvbmUgPyBGTEFHX1dBSVRfQUxMIDoKKwkJCQkgICAgRkxBR19XQUlUX0FUTEVBU1RfT05FKTsKKwkJaWYgKHBhc3NfZG9uZSkgeworCQkJaWYgKHZlcmJvc2UgPiAxKQorCQkJCXByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CisJCQlwYXNzbm8rKzsKKwkJfSBlbHNlCisJCQlub3RfZG9uZV95ZXQrKzsKKwl9CisKKwlpZiAoY2FuY2VsX3JlcXVlc3RlZCAmJiAha2lsbF9zZW50KSB7CisJCWtpbGxfYWxsKFNJR1RFUk0pOworCQlraWxsX3NlbnQrKzsKKwl9CisKKwlzdGF0dXMgfD0gd2FpdF9tYW55KEZMQUdfV0FJVF9BVExFQVNUX09ORSk7CisJbW50X2ZyZWVfaXRlcihpdHIpOworCXJldHVybiBzdGF0dXM7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iKSwKKwkJCSBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKwkJIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIiksIG91dCk7CisJZnB1dHMoXygiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisJCSIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKCAiIC0/LCAtLWhlbHAgICAgICVzXG4iLCBVU0FHRV9PUFRTVFJfSEVMUCk7CisJcHJpbnRmKCAiICAgICAtLXZlcnNpb24gICVzXG4iLCBVU0FHRV9PUFRTVFJfVkVSU0lPTik7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iKSwgb3V0KTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImZzY2soOCkiKSk7CisJZXhpdChGU0NLX0VYX09LKTsKK30KKworc3RhdGljIHZvaWQgc2lnbmFsX2NhbmNlbChpbnQgc2lnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwljYW5jZWxfcmVxdWVzdGVkKys7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX2FyZ3YoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQJaSwgajsKKwljaGFyCSphcmcsICpkZXYsICp0bXAgPSBOVUxMOworCWNoYXIJb3B0aW9uc1sxMjhdOworCWludAlvcHQgPSAwOworCWludCAgICAgb3B0c19mb3JfZnNjayA9IDA7CisJc3RydWN0IHNpZ2FjdGlvbglzYTsKKwlpbnQJcmVwb3J0X3N0YXRzX2ZkID0gLTE7CisKKwkvKgorCSAqIFNldCB1cCBzaWduYWwgYWN0aW9uCisJICovCisJbWVtc2V0KCZzYSwgMCwgc2l6ZW9mKHN0cnVjdCBzaWdhY3Rpb24pKTsKKwlzYS5zYV9oYW5kbGVyID0gc2lnbmFsX2NhbmNlbDsKKwlzaWdhY3Rpb24oU0lHSU5ULCAmc2EsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdURVJNLCAmc2EsIE5VTEwpOworCisJbnVtX2RldmljZXMgPSAwOworCW51bV9hcmdzID0gMDsKKwlpbnN0YW5jZV9saXN0ID0gTlVMTDsKKworCWZvciAoaT0xOyBpIDwgYXJnYzsgaSsrKSB7CisJCWFyZyA9IGFyZ3ZbaV07CisJCWlmICghYXJnKQorCQkJY29udGludWU7CisKKwkJLyogdGhlIG9ubHkgdHdvIGxvbmdvcHRzIHRvIHNhdGlzZnkgVUwgc3RhbmRhcmRzICovCisJCWlmICghb3B0c19mb3JfZnNjayAmJiAhc3RyY21wKGFyZywgIi0taGVscCIpKQorCQkJdXNhZ2UoKTsKKwkJaWYgKCFvcHRzX2Zvcl9mc2NrICYmICFzdHJjbXAoYXJnLCAiLS12ZXJzaW9uIikpIHsKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChGU0NLX0VYX09LKTsKKwkJfQorCisJCWlmICgoYXJnWzBdID09ICcvJyAmJiAhb3B0c19mb3JfZnNjaykgfHwgc3RyY2hyKGFyZywgJz0nKSkgeworCQkJaWYgKG51bV9kZXZpY2VzID49IE1BWF9ERVZJQ0VTKQorCQkJCWVycngoRlNDS19FWF9FUlJPUiwgXygidG9vIG1hbnkgZGV2aWNlcyIpKTsKKworCQkJZGV2ID0gbW50X3Jlc29sdmVfc3BlYyhhcmcsIG1udGNhY2hlKTsKKworCQkJaWYgKCFkZXYgJiYgc3RyY2hyKGFyZywgJz0nKSkgeworCQkJCS8qCisJCQkJICogQ2hlY2sgdG8gc2VlIGlmIHdlIGZhaWxlZCBiZWNhdXNlCisJCQkJICogL3Byb2MvcGFydGl0aW9ucyBpc24ndCBmb3VuZC4KKwkJCQkgKi8KKwkJCQlpZiAoYWNjZXNzKF9QQVRIX1BST0NfUEFSVElUSU9OUywgUl9PSykgPCAwKSB7CisJCQkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwKKwkJCQkJCV9QQVRIX1BST0NfUEFSVElUSU9OUyk7CisJCQkJCWVycngoRlNDS19FWF9FUlJPUiwgXygiSXMgL3Byb2MgbW91bnRlZD8iKSk7CisJCQkJfQorCQkJCS8qCisJCQkJICogQ2hlY2sgdG8gc2VlIGlmIHRoaXMgaXMgYmVjYXVzZQorCQkJCSAqIHdlJ3JlIG5vdCBydW5uaW5nIGFzIHJvb3QKKwkJCQkgKi8KKwkJCQlpZiAoZ2V0ZXVpZCgpKQorCQkJCQllcnJ4KEZTQ0tfRVhfRVJST1IsCisJCQkJCQlfKCJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIiksCisJCQkJCQlhcmcpOworCQkJCWVsc2UKKwkJCQkJZXJyeChGU0NLX0VYX0VSUk9SLAorCQkJCQkJXygiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIpLAorCQkJCQkJYXJnKTsKKwkJCX0KKwkJCWRldmljZXNbbnVtX2RldmljZXMrK10gPSBkZXYgPyBkZXYgOiB4c3RyZHVwKGFyZyk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoYXJnWzBdICE9ICctJyB8fCBvcHRzX2Zvcl9mc2NrKSB7CisJCQlpZiAobnVtX2FyZ3MgPj0gTUFYX0FSR1MpCisJCQkJZXJyeChGU0NLX0VYX0VSUk9SLCBfKCJ0b28gbWFueSBhcmd1bWVudHMiKSk7CisJCQlhcmdzW251bV9hcmdzKytdID0geHN0cmR1cChhcmcpOworCQkJY29udGludWU7CisJCX0KKwkJZm9yIChqPTE7IGFyZ1tqXTsgaisrKSB7CisJCQlpZiAob3B0c19mb3JfZnNjaykgeworCQkJCW9wdGlvbnNbKytvcHRdID0gYXJnW2pdOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJc3dpdGNoIChhcmdbal0pIHsKKwkJCWNhc2UgJ0EnOgorCQkJCWRvYWxsID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ0MnOgorCQkJCXByb2dyZXNzID0gMTsKKwkJCQlpZiAoYXJnW2orMV0pIHsJCQkJCS8qIC1DPGZkPiAqLworCQkJCQlwcm9ncmVzc19mZCA9IHN0cmluZ190b19pbnQoYXJnK2orMSk7CisJCQkJCWlmIChwcm9ncmVzc19mZCA8IDApCisJCQkJCQlwcm9ncmVzc19mZCA9IDA7CisJCQkJCWVsc2UKKwkJCQkJCWdvdG8gbmV4dF9hcmc7CisJCQkJfSBlbHNlIGlmIChpKzEgPCBhcmdjICYmICphcmd2W2krMV0gIT0gJy0nKSB7CS8qIC1DIDxmZD4gKi8KKwkJCQkJcHJvZ3Jlc3NfZmQgPSBzdHJpbmdfdG9faW50KGFyZ3ZbaSsxXSk7CisJCQkJCWlmIChwcm9ncmVzc19mZCA8IDApCisJCQkJCQlwcm9ncmVzc19mZCA9IDA7CisJCQkJCWVsc2UgeworCQkJCQkJKytpOworCQkJCQkJZ290byBuZXh0X2FyZzsKKwkJCQkJfQorCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgJ2wnOgorCQkJCWxvY2tkaXNrID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ1YnOgorCQkJCXZlcmJvc2UrKzsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ04nOgorCQkJCW5vZXhlY3V0ZSA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdSJzoKKwkJCQlza2lwX3Jvb3QgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAnVCc6CisJCQkJbm90aXRsZSA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdNJzoKKwkJCQlpZ25vcmVfbW91bnRlZCA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdQJzoKKwkJCQlwYXJhbGxlbF9yb290ID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ3InOgorCQkJCXJlcG9ydF9zdGF0cyA9IDE7CisJCQkJaWYgKGFyZ1tqKzFdKSB7CQkJCQkvKiAtcjxmZD4gKi8KKwkJCQkJcmVwb3J0X3N0YXRzX2ZkID0gc3RydG91MzJfb3JfZXJyKGFyZytqKzEsIF8oImludmFsaWQgYXJndW1lbnQgb2YgLXIiKSk7CisJCQkJCWdvdG8gbmV4dF9hcmc7CisJCQkJfSBlbHNlIGlmIChpKzEgPCBhcmdjICYmICphcmd2W2krMV0gPj0gJzAnICYmICphcmd2W2krMV0gPD0gJzknKSB7CS8qIC1yIDxmZD4gKi8KKwkJCQkJcmVwb3J0X3N0YXRzX2ZkID0gc3RydG91MzJfb3JfZXJyKGFyZ3ZbaSsxXSwgXygiaW52YWxpZCBhcmd1bWVudCBvZiAtciIpKTsKKwkJCQkJKytpOworCQkJCQlnb3RvIG5leHRfYXJnOworCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgJ3MnOgorCQkJCXNlcmlhbGl6ZSA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICd0JzoKKwkJCQl0bXAgPSBOVUxMOworCQkJCWlmIChmc3R5cGUpCisJCQkJCWVycngoRlNDS19FWF9VU0FHRSwKKwkJCQkJCV8oIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIiksICItdCIpOworCQkJCWlmIChhcmdbaisxXSkKKwkJCQkJdG1wID0gYXJnK2orMTsKKwkJCQllbHNlIGlmICgoaSsxKSA8IGFyZ2MpCisJCQkJCXRtcCA9IGFyZ3ZbKytpXTsKKwkJCQllbHNlCisJCQkJCWVycngoRlNDS19FWF9VU0FHRSwKKwkJCQkJCV8oIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IiksICItdCIpOworCQkJCWZzdHlwZSA9IHhzdHJkdXAodG1wKTsKKwkJCQljb21waWxlX2ZzX3R5cGUoZnN0eXBlLCAmZnNfdHlwZV9jb21waWxlZCk7CisJCQkJZ290byBuZXh0X2FyZzsKKwkJCWNhc2UgJy0nOgorCQkJCW9wdHNfZm9yX2ZzY2srKzsKKwkJCQlicmVhazsKKwkJCWNhc2UgJz8nOgorCQkJCXVzYWdlKCk7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCW9wdGlvbnNbKytvcHRdID0gYXJnW2pdOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJbmV4dF9hcmc6CisJCWlmIChvcHQpIHsKKwkJCW9wdGlvbnNbMF0gPSAnLSc7CisJCQlvcHRpb25zWysrb3B0XSA9ICdcMCc7CisJCQlpZiAobnVtX2FyZ3MgPj0gTUFYX0FSR1MpCisJCQkJZXJyeChGU0NLX0VYX0VSUk9SLCBfKCJ0b28gbWFueSBhcmd1bWVudHMiKSk7CisJCQlhcmdzW251bV9hcmdzKytdID0geHN0cmR1cChvcHRpb25zKTsKKwkJCW9wdCA9IDA7CisJCX0KKwl9CisKKwkvKiBWYWxpZGF0ZSB0aGUgcmVwb3J0IHN0YXRzIGZpbGUgZGVzY3JpcHRvciB0byBhdm9pZCBkaXNhc3RlcnMgKi8KKwlpZiAocmVwb3J0X3N0YXRzX2ZkID49IDApIHsKKwkJcmVwb3J0X3N0YXRzX2ZpbGUgPSBmZG9wZW4ocmVwb3J0X3N0YXRzX2ZkLCAidyIpOworCQlpZiAoIXJlcG9ydF9zdGF0c19maWxlKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsCisJCQkJXygiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiKSwKKwkJCQlyZXBvcnRfc3RhdHNfZmQpOworCX0KKworCWlmIChnZXRlbnYoIkZTQ0tfRk9SQ0VfQUxMX1BBUkFMTEVMIikpCisJCWZvcmNlX2FsbF9wYXJhbGxlbCsrOworCWlmICgodG1wID0gZ2V0ZW52KCJGU0NLX01BWF9JTlNUIikpKQorCSAgICBtYXhfcnVubmluZyA9IGF0b2kodG1wKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgaSwgc3RhdHVzID0gMDsKKwlpbnQgaW50ZXJhY3RpdmUgPSAwOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWNvbnN0IGNoYXIgKnBhdGggPSBnZXRlbnYoIlBBVEgiKTsKKworCXNldHZidWYoc3Rkb3V0LCBOVUxMLCBfSU9OQkYsIEJVRlNJWik7CisJc2V0dmJ1ZihzdGRlcnIsIE5VTEwsIF9JT05CRiwgQlVGU0laKTsKKworCXNldGxvY2FsZShMQ19NRVNTQUdFUywgIiIpOworCXNldGxvY2FsZShMQ19DVFlQRSwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXN0cnV0aWxzX3NldF9leGl0Y29kZShGU0NLX0VYX1VTQUdFKTsKKwltbnRfaW5pdF9kZWJ1ZygwKTsJCS8qIGluaXQgbGlibW91bnQgZGVidWcgbWFzayAqLworCW1udGNhY2hlID0gbW50X25ld19jYWNoZSgpOwkvKiBubyBmYXRhbCBlcnJvciBpZiBmYWlsZWQgKi8KKworCXBhcnNlX2FyZ3YoYXJnYywgYXJndik7CisKKwlpZiAoIW5vdGl0bGUpCisJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCisJbG9hZF9mc19pbmZvKCk7CisKKwlmc2NrX3BhdGggPSB4c3RyZHVwKHBhdGggJiYgKnBhdGggPyBwYXRoIDogRlNDS19ERUZBVUxUX1BBVEgpOworCisJaWYgKChudW1fZGV2aWNlcyA9PSAxKSB8fCAoc2VyaWFsaXplKSkKKwkJaW50ZXJhY3RpdmUgPSAxOworCisJaWYgKGxvY2tkaXNrICYmIChkb2FsbCB8fCBudW1fZGV2aWNlcyA+IDEpKSB7CisJCXdhcm54KF8oInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgIgorCQkJCSAgImRldmljZSBvbmx5IC0tIGlnbm9yZSIpKTsKKwkJbG9ja2Rpc2sgPSAwOworCX0KKworCS8qIElmIC1BIHdhcyBzcGVjaWZpZWQgKCJjaGVjayBhbGwiKSwgZG8gdGhhdCEgKi8KKwlpZiAoZG9hbGwpCisJCXJldHVybiBjaGVja19hbGwoKTsKKworCWlmIChudW1fZGV2aWNlcyA9PSAwKSB7CisJCXNlcmlhbGl6ZSsrOworCQlpbnRlcmFjdGl2ZSsrOworCQlyZXR1cm4gY2hlY2tfYWxsKCk7CisJfQorCWZvciAoaSA9IDAgOyBpIDwgbnVtX2RldmljZXM7IGkrKykgeworCQlpZiAoY2FuY2VsX3JlcXVlc3RlZCkgeworCQkJaWYgKCFraWxsX3NlbnQpIHsKKwkJCQlraWxsX2FsbChTSUdURVJNKTsKKwkJCQlraWxsX3NlbnQrKzsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJCWZzID0gbG9va3VwKGRldmljZXNbaV0pOworCQlpZiAoIWZzKQorCQkJZnMgPSBhZGRfZHVtbXlfZnMoZGV2aWNlc1tpXSk7CisJCWVsc2UgaWYgKGZzX2lnbm9yZWRfdHlwZShmcykpCisJCQljb250aW51ZTsKKwkJaWYgKGlnbm9yZV9tb3VudGVkICYmIGlzX21vdW50ZWQoZnMpKQorCQkJY29udGludWU7CisJCXN0YXR1cyB8PSBmc2NrX2RldmljZShmcywgaW50ZXJhY3RpdmUpOworCQlpZiAoc2VyaWFsaXplIHx8CisJCSAgICAobWF4X3J1bm5pbmcgJiYgKG51bV9ydW5uaW5nID49IG1heF9ydW5uaW5nKSkpIHsKKwkJCXN0cnVjdCBmc2NrX2luc3RhbmNlICppbnN0OworCisJCQlpbnN0ID0gd2FpdF9vbmUoMCk7CisJCQlpZiAoaW5zdCkgeworCQkJCXN0YXR1cyB8PSBpbnN0LT5leGl0X3N0YXR1czsKKwkJCQlmcmVlX2luc3RhbmNlKGluc3QpOworCQkJfQorCQkJaWYgKHZlcmJvc2UgPiAxKQorCQkJCXByaW50ZigiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIik7CisJCX0KKwl9CisJc3RhdHVzIHw9IHdhaXRfbWFueShGTEFHX1dBSVRfQUxMKTsKKwlmcmVlKGZzY2tfcGF0aCk7CisJbW50X3VucmVmX2NhY2hlKG1udGNhY2hlKTsKKwltbnRfdW5yZWZfdGFibGUoZnN0YWIpOworCW1udF91bnJlZl90YWJsZShtdGFiKTsKKwlyZXR1cm4gc3RhdHVzOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9mc2NrLmNyYW1mcy44IGIvZGlzay11dGlscy9mc2NrLmNyYW1mcy44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjNDg2ZDYKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL2ZzY2suY3JhbWZzLjgKQEAgLTAsMCArMSw2MSBAQAorLlRIIEZTQ0suQ1JBTUZTIDggIkFwcmlsIDIwMTMiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZzY2suY3JhbWZzIFwtIGZzY2sgY29tcHJlc3NlZCBST00gZmlsZSBzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgZnNjay5jcmFtZnMKK1tvcHRpb25zXQorLkkgZmlsZQorLlNIIERFU0NSSVBUSU9OCisuSSBmc2NrLmNyYW1mcworaXMgdXNlZCB0byBjaGVjayB0aGUgY3JhbWZzIGZpbGUgc3lzdGVtLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC12XGZSLCBcZkJcLVwtdmVyYm9zZVxmUgorRW5hYmxlIHZlcmJvc2UgbWVzc2FnaW5nLgorLlRQCitcZkJcLWJcZlIsIFxmQlwtXC1ibG9ja3NpemVcZlIgXGZJYmxvY2tzaXplXGZSCitVc2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZS4gTXVzdCBiZSBlcXVhbCB0byB3aGF0IHdhcyBzZXQgYXQKK2NyZWF0aW9uIHRpbWUuIE9ubHkgdXNlZCBmb3IgXC1cLWV4dHJhY3QuCisuVFAKK1xmQlwtXC1leHRyYWN0XGZSWz1cZklkaXJlY3RvcnlcZlJdCitUZXN0IHRvIHVuY29tcHJlc3MgdGhlIHdob2xlIGZpbGUgc3lzdGVtLiBPcHRpb25hbGx5IGV4dHJhY3QgY29udGVudHMgb2YgdGhlCisuSSBmaWxlCit0bworLklSIGRpcmVjdG9yeSAuCisuVFAKK1xmQlwtYVxmUgorVGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZC4KKy5UUAorXGZCXC15XGZSCitUaGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIICJFWElUIFNUQVRVUyIKKy5SUworLlBEIDAKKy5UUAorLkIgMAorc3VjY2VzcworLlRQCisuQiA0CitmaWxlIHN5c3RlbSB3YXMgbGVmdCB1bmNvcnJlY3RlZAorLlRQCisuQiA4CitvcGVyYXRpb24gZXJyb3IsIHN1Y2ggYXMgdW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeQorLlRQCisuQiAxNgordXNhZ2UgaW5mb3JtYXRpb24gd2FzIHByaW50ZWQKKy5QRAorLlJFCisuU0ggIlNFRSBBTFNPIgorLkJSIG1vdW50ICg4KSwKKy5CUiBta2ZzLmNyYW1mcyAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBleGFtcGxlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmMgYi9kaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ5YmRhZAotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZnNjay5jcmFtZnMuYwpAQCAtMCwwICsxLDcxNCBAQAorLyoKKyAqIGNyYW1mc2NrIC0gY2hlY2sgYSBjcmFtZnMgZmlsZSBzeXN0ZW0KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDAtMjAwMiBUcmFuc21ldGEgQ29ycG9yYXRpb24KKyAqICAgICAgICAgICAgICAgMjAwNSBBZHJpYW4gQnVuaworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKgorICogMTk5OS8xMi8wMzogTGludXMgVG9ydmFsZHMgKGNyYW1mcyB0ZXN0ZXIgYW5kIHVuYXJjaGl2ZSBwcm9ncmFtKQorICogMjAwMC8wNi8wMzogRGFuaWVsIFF1aW5sYW4gKENSQyBhbmQgbGVuZ3RoIGNoZWNraW5nIHByb2dyYW0pCisgKiAyMDAwLzA2LzA0OiBEYW5pZWwgUXVpbmxhbiAobWVyZ2VkIHByb2dyYW1zLCBhZGRlZCBvcHRpb25zLCBzdXBwb3J0CisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3Igc3BlY2lhbCBmaWxlcywgcHJlc2VydmUgcGVybWlzc2lvbnMgYW5kCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvd25lcnNoaXAsIGNyYW1mcyBzdXBlcmJsb2NrIHYyLCBib2d1cyBtb2RlCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXN0LCBwYXRobmFtZSBsZW5ndGggdGVzdCwgZXRjLikKKyAqIDIwMDAvMDYvMDY6IERhbmllbCBRdWlubGFuIChzdXBwb3J0IGZvciBob2xlcywgcHJldHR5LXByaW50aW5nLAorICogICAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltbGluayBzaXplIHRlc3QpCisgKiAyMDAwLzA3LzExOiBEYW5pZWwgUXVpbmxhbiAoZmlsZSBsZW5ndGggdGVzdHMsIHN0YXJ0IGF0IG9mZnNldCAwIG9yIDUxMiwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZzY2stY29tcGF0aWJsZSBleGl0IGNvZGVzKQorICogMjAwMC8wNy8xNTogRGFuaWVsIFF1aW5sYW4gKGluaXRpYWwgc3VwcG9ydCBmb3IgYmxvY2sgZGV2aWNlcykKKyAqIDIwMDIvMDEvMTA6IERhbmllbCBRdWlubGFuIChhZGRpdGlvbmFsIGNoZWNrcywgdGVzdCBtb3JlIHJldHVybiBjb2RlcywKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSByZWFkIGlmIG1tYXAgZmFpbHMsIHN0YW5kYXJkaXplIG1lc3NhZ2VzKQorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8dXRpbWUuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorCisvKiBXZSBkb24ndCB1c2Ugb3VyIGluY2x1ZGUvY3JjMzIuaCwgYnV0IGNyYzMyIGZyb20gemxpYiEKKyAqCisgKiBUaGUgemxpYiBpbXBsZW1lbnRhdGlvbiBwZXJmb3JtcyBwcmUvcG9zdC1jb25kaXRpb25pbmcuIFRoZSB1dGlsLWxpbnV4CisgKiBpbWxlbWVuYXRpb24gcmVxdWlyZXMgcG9zdC1jb25kaXRpb25pbmcgKHhvcikgaW4gdGhlIGFwcGxpY2F0aW9ucy4KKyAqLworI2luY2x1ZGUgPHpsaWIuaD4KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjcmFtZnMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJleGl0Y29kZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNkZWZpbmUgWEFMTE9DX0VYSVRfQ09ERSBGU0NLX0VYX0VSUk9SCisjaW5jbHVkZSAieGFsbG9jLmgiCisKK3N0YXRpYyBpbnQgZmQ7CQkJLyogUk9NIGltYWdlIGZpbGUgZGVzY3JpcHRvciAqLworc3RhdGljIGNoYXIgKmZpbGVuYW1lOwkJLyogUk9NIGltYWdlIGZpbGVuYW1lICovCitzdGF0aWMgc3RydWN0IGNyYW1mc19zdXBlciBzdXBlcjsJLyoganVzdCBmaW5kIHRoZSBjcmFtZnMgc3VwZXJibG9jayBvbmNlICovCitzdGF0aWMgaW50IGNyYW1mc19pc19iaWdfZW5kaWFuID0gMDsJLyogc291cmNlIGlzIGJpZyBlbmRpYW4gKi8KK3N0YXRpYyBpbnQgb3B0X3ZlcmJvc2UgPSAwOwkvKiAxID0gdmVyYm9zZSAoLXYpLCAyKyA9IHZlcnkgdmVyYm9zZSAoLXZ2KSAqLworc3RhdGljIGludCBvcHRfZXh0cmFjdCA9IDA7CS8qIGV4dHJhY3QgY3JhbWZzICgteCkgKi8KK3N0YXRpYyBjaGFyICpleHRyYWN0X2RpciA9ICIiOwkJLyogb3B0aW9uYWwgZXh0cmFjdGlvbiBkaXJlY3RvcnkgKC14KSAqLworCisjZGVmaW5lIFBBRF9TSVpFIDUxMgorCitzdGF0aWMgdWlkX3QgZXVpZDsJCS8qIGVmZmVjdGl2ZSBVSUQgKi8KKworLyogKGNyYW1mc19zdXBlciArIHN0YXJ0KSA8PSBzdGFydF9kaXIgPCBlbmRfZGlyIDw9IHN0YXJ0X2RhdGEgPD0gZW5kX2RhdGEgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIHN0YXJ0X2RpciA9IH4wVUw7CS8qIHN0YXJ0IG9mIGZpcnN0IG5vbi1yb290IGlub2RlICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBlbmRfZGlyID0gMDsJLyogZW5kIG9mIHRoZSBkaXJlY3Rvcnkgc3RydWN0dXJlICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBzdGFydF9kYXRhID0gfjBVTDsJLyogc3RhcnQgb2YgdGhlIGRhdGEgKDI1NiBNQiA9IG1heCkgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGVuZF9kYXRhID0gMDsJLyogZW5kIG9mIHRoZSBkYXRhICovCisKKworLyogR3VhcmFudGVlIGFjY2VzcyB0byBhdCBsZWFzdCA4a0IgYXQgYSB0aW1lICovCisjZGVmaW5lIFJPTUJVRkZFUl9CSVRTCTEzCisjZGVmaW5lIFJPTUJVRkZFUlNJWkUJKDEgPDwgUk9NQlVGRkVSX0JJVFMpCisjZGVmaW5lIFJPTUJVRkZFUk1BU0sJKFJPTUJVRkZFUlNJWkUgLSAxKQorc3RhdGljIGNoYXIgcmVhZF9idWZmZXJbUk9NQlVGRkVSU0laRSAqIDJdOworc3RhdGljIHVuc2lnbmVkIGxvbmcgcmVhZF9idWZmZXJfYmxvY2sgPSB+MFVMOworCitzdGF0aWMgel9zdHJlYW0gc3RyZWFtOworCisvKiBQcm90b3R5cGVzICovCitzdGF0aWMgdm9pZCBleHBhbmRfZnMoY2hhciAqLCBzdHJ1Y3QgY3JhbWZzX2lub2RlICopOworCitzdGF0aWMgY2hhciAqb3V0YnVmZmVyOworCitzdGF0aWMgc2l6ZV90IGJsa3NpemUgPSAwOworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkJXygiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI2KSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImZzY2suY3JhbWZzKDgpIikpOworCWV4aXQoRlNDS19FWF9PSyk7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3N1cGVyYmxvY2tfZW5kaWFubmVzcyh1aW50MzJfdCBtYWdpYykKK3sKKwlpZiAobWFnaWMgPT0gQ1JBTUZTX01BR0lDKSB7CisJCWNyYW1mc19pc19iaWdfZW5kaWFuID0gSE9TVF9JU19CSUdfRU5ESUFOOworCQlyZXR1cm4gMDsKKwl9IGVsc2UgaWYgKG1hZ2ljID09CisJCSAgIHUzMl90b2dnbGVfZW5kaWFubmVzcyghSE9TVF9JU19CSUdfRU5ESUFOLCBDUkFNRlNfTUFHSUMpKSB7CisJCWNyYW1mc19pc19iaWdfZW5kaWFuID0gIUhPU1RfSVNfQklHX0VORElBTjsKKwkJcmV0dXJuIDA7CisJfSBlbHNlCisJCXJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9zdXBlcihpbnQgKnN0YXJ0LCBzaXplX3QgKiBsZW5ndGgpCit7CisJc3RydWN0IHN0YXQgc3Q7CisKKwkvKiBmaW5kIHRoZSBwaHlzaWNhbCBzaXplIG9mIHRoZSBmaWxlIG9yIGJsb2NrIGRldmljZSAqLworCWlmIChzdGF0KGZpbGVuYW1lLCAmc3QpIDwgMCkKKwkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKworCWZkID0gb3BlbihmaWxlbmFtZSwgT19SRE9OTFkpOworCWlmIChmZCA8IDApCisJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBmaWxlbmFtZSk7CisKKwlpZiAoU19JU0JMSyhzdC5zdF9tb2RlKSkgeworCQl1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXM7CisJCWlmIChibGtkZXZfZ2V0X3NpemUoZmQsICZieXRlcykpCisJCQllcnIoRlNDS19FWF9FUlJPUiwKKwkJCSAgICBfKCJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIiksCisJCQkgICAgZmlsZW5hbWUpOworCQkqbGVuZ3RoID0gYnl0ZXM7CisJfSBlbHNlIGlmIChTX0lTUkVHKHN0LnN0X21vZGUpKQorCQkqbGVuZ3RoID0gc3Quc3Rfc2l6ZTsKKwllbHNlCisJCWVycngoRlNDS19FWF9FUlJPUiwgXygibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIiksIGZpbGVuYW1lKTsKKworCWlmICgqbGVuZ3RoIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIpKTsKKworCS8qIGZpbmQgc3VwZXJibG9jayAqLworCWlmIChyZWFkKGZkLCAmc3VwZXIsIHNpemVvZihzdXBlcikpICE9IHNpemVvZihzdXBlcikpCisJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJjYW5ub3QgcmVhZCAlcyIpLCBmaWxlbmFtZSk7CisJaWYgKGdldF9zdXBlcmJsb2NrX2VuZGlhbm5lc3Moc3VwZXIubWFnaWMpICE9IC0xKQorCQkqc3RhcnQgPSAwOworCWVsc2UgaWYgKCpsZW5ndGggPj0gKFBBRF9TSVpFICsgc2l6ZW9mKHN1cGVyKSkpIHsKKwkJaWYgKGxzZWVrKGZkLCBQQURfU0laRSwgU0VFS19TRVQpID09IChvZmZfdCkgLTEpCisJCQllcnIoRlNDS19FWF9FUlJPUiwgXygic2VlayBvbiAlcyBmYWlsZWQiKSwgZmlsZW5hbWUpOworCQlpZiAocmVhZChmZCwgJnN1cGVyLCBzaXplb2Yoc3VwZXIpKSAhPSBzaXplb2Yoc3VwZXIpKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oImNhbm5vdCByZWFkICVzIiksIGZpbGVuYW1lKTsKKwkJaWYgKGdldF9zdXBlcmJsb2NrX2VuZGlhbm5lc3Moc3VwZXIubWFnaWMpICE9IC0xKQorCQkJKnN0YXJ0ID0gUEFEX1NJWkU7CisJCWVsc2UKKwkJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiKSk7CisJfSBlbHNlCisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiKSk7CisKKwlpZiAob3B0X3ZlcmJvc2UpCisJCXByaW50ZihfKCJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIiksCisJCSAgICAgICBjcmFtZnNfaXNfYmlnX2VuZGlhbiA/IF8oImJpZyIpIDogXygibGl0dGxlIikpOworCisJc3VwZXJfdG9nZ2xlX2VuZGlhbm5lc3MoY3JhbWZzX2lzX2JpZ19lbmRpYW4sICZzdXBlcik7CisJaWYgKHN1cGVyLmZsYWdzICYgfkNSQU1GU19TVVBQT1JURURfRkxBR1MpCisJCWVycngoRlNDS19FWF9FUlJPUiwgXygidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIpKTsKKworCS8qIFdoYXQgYXJlIHZhbGlkIHN1cGVyYmxvY2sgc2l6ZXM/ICovCisJaWYgKHN1cGVyLnNpemUgPCAqc3RhcnQgKyBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikpCisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIiksCisJCSAgICAgc3VwZXIuc2l6ZSk7CisKKwlpZiAoc3VwZXIuZmxhZ3MgJiBDUkFNRlNfRkxBR19GU0lEX1ZFUlNJT05fMikgeworCQlpZiAoc3VwZXIuZnNpZC5maWxlcyA9PSAwKQorCQkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJ6ZXJvIGZpbGUgY291bnQiKSk7CisJCWlmICgqbGVuZ3RoIDwgc3VwZXIuc2l6ZSkKKwkJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiZmlsZSBsZW5ndGggdG9vIHNob3J0IikpOworCQllbHNlIGlmICgqbGVuZ3RoID4gc3VwZXIuc2l6ZSkKKwkJCXdhcm54KF8oImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIikpOworCX0gZWxzZQorCQl3YXJueChfKCJvbGQgY3JhbWZzIGZvcm1hdCIpKTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9jcmMoaW50IHN0YXJ0KQoreworCXZvaWQgKmJ1ZjsKKwl1aW50MzJfdCBjcmM7CisKKwlpZiAoIShzdXBlci5mbGFncyAmIENSQU1GU19GTEFHX0ZTSURfVkVSU0lPTl8yKSkgeworCQl3YXJueChfKCJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IikpOworCQlyZXR1cm47CisJfQorCisJY3JjID0gY3JjMzIoMEwsIE5VTEwsIDApOworCisJYnVmID0KKwkgICAgbW1hcChOVUxMLCBzdXBlci5zaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLCBNQVBfUFJJVkFURSwgZmQsIDApOworCWlmIChidWYgPT0gTUFQX0ZBSUxFRCkgeworCQlidWYgPQorCQkgICAgbW1hcChOVUxMLCBzdXBlci5zaXplLCBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAorCQkJIE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUywgLTEsIDApOworCQlpZiAoYnVmICE9IE1BUF9GQUlMRUQpIHsKKwkJCXNzaXplX3QgdG1wOworCQkJaWYgKGxzZWVrKGZkLCAwLCBTRUVLX1NFVCkgPT0gKG9mZl90KSAtMSkKKwkJCQllcnIoRlNDS19FWF9FUlJPUiwgXygic2VlayBvbiAlcyBmYWlsZWQiKSwgZmlsZW5hbWUpOworCQkJdG1wID0gcmVhZChmZCwgYnVmLCBzdXBlci5zaXplKTsKKwkJCWlmICh0bXAgPCAwKQorCQkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJjYW5ub3QgcmVhZCAlcyIpLCBmaWxlbmFtZSk7CisJCQlpZiAodG1wICE9IChzc2l6ZV90KSBzdXBlci5zaXplKQorCQkJCWVycngoRlNDS19FWF9FUlJPUiwgXygiZmFpbGVkIHRvIHJlYWQgJSJQUkl1MzIiIGJ5dGVzIGZyb20gZmlsZSAlcyIpLAorCQkJCQlzdXBlci5zaXplLCBmaWxlbmFtZSk7CisJCX0KKwl9CisJaWYgKGJ1ZiAhPSBNQVBfRkFJTEVEKSB7CisJCSgoc3RydWN0IGNyYW1mc19zdXBlciAqKSgodW5zaWduZWQgY2hhciAqKSBidWYgKyBzdGFydCkpLT5mc2lkLmNyYyA9CisJCSAgICBjcmMzMigwTCwgTlVMTCwgMCk7CisJCWNyYyA9IGNyYzMyKGNyYywgKHVuc2lnbmVkIGNoYXIgKikgYnVmICsgc3RhcnQsIHN1cGVyLnNpemUgLSBzdGFydCk7CisJCW11bm1hcChidWYsIHN1cGVyLnNpemUpOworCX0gZWxzZSB7CisJCWludCByZXR2YWw7CisJCXNpemVfdCBsZW5ndGggPSAwOworCisJCWJ1ZiA9IHhtYWxsb2MoNDA5Nik7CisJCWlmIChsc2VlayhmZCwgc3RhcnQsIFNFRUtfU0VUKSA9PSAob2ZmX3QpIC0xKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKwkJZm9yICg7OykgeworCQkJcmV0dmFsID0gcmVhZChmZCwgYnVmLCA0MDk2KTsKKwkJCWlmIChyZXR2YWwgPCAwKQorCQkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJjYW5ub3QgcmVhZCAlcyIpLCBmaWxlbmFtZSk7CisJCQllbHNlIGlmIChyZXR2YWwgPT0gMCkKKwkJCQlicmVhazsKKwkJCWlmIChsZW5ndGggPT0gMCkKKwkJCQkoKHN0cnVjdCBjcmFtZnNfc3VwZXIgKilidWYpLT5mc2lkLmNyYyA9CisJCQkJICAgIGNyYzMyKDBMLCBOVUxMLCAwKTsKKwkJCWxlbmd0aCArPSByZXR2YWw7CisJCQlpZiAobGVuZ3RoID4gKHN1cGVyLnNpemUgLSBzdGFydCkpIHsKKwkJCQljcmMgPSBjcmMzMihjcmMsIGJ1ZiwKKwkJCQkJICByZXR2YWwgLSAobGVuZ3RoIC0KKwkJCQkJCSAgICAoc3VwZXIuc2l6ZSAtIHN0YXJ0KSkpOworCQkJCWJyZWFrOworCQkJfQorCQkJY3JjID0gY3JjMzIoY3JjLCBidWYsIHJldHZhbCk7CisJCX0KKwkJZnJlZShidWYpOworCX0KKworCWlmIChjcmMgIT0gc3VwZXIuZnNpZC5jcmMpCisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiY3JjIGVycm9yIikpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9ub2RlKGNoYXIgdHlwZSwgc3RydWN0IGNyYW1mc19pbm9kZSAqaSwgY2hhciAqbmFtZSkKK3sKKwljaGFyIGluZm9bMTBdOworCisJaWYgKFNfSVNDSFIoaS0+bW9kZSkgfHwgKFNfSVNCTEsoaS0+bW9kZSkpKQorCQkvKiBtYWpvci9taW5vciBudW1iZXJzIGNhbiBiZSBhcyBoaWdoIGFzIDJeMTIgb3IgNDA5NiAqLworCQlzbnByaW50ZihpbmZvLCAxMCwgIiU0ZCwlNGQiLCBtYWpvcihpLT5zaXplKSwgbWlub3IoaS0+c2l6ZSkpOworCWVsc2UKKwkJLyogc2l6ZSBiZSBhcyBoaWdoIGFzIDJeMjQgb3IgMTY3NzcyMTYgKi8KKwkJc25wcmludGYoaW5mbywgMTAsICIlOWQiLCBpLT5zaXplKTsKKworCXByaW50ZigiJWMgJTA0byAlcyAlNWQ6JS0zZCAlc1xuIiwKKwkgICAgICAgdHlwZSwgaS0+bW9kZSAmIH5TX0lGTVQsIGluZm8sIGktPnVpZCwgaS0+Z2lkLAorCSAgICAgICAhKm5hbWUgJiYgdHlwZSA9PSAnZCcgPyAiLyIgOiBuYW1lKTsKK30KKworLyoKKyAqIENyZWF0ZSBhIGZha2UgImJsb2NrZWQiIGFjY2VzcworICovCitzdGF0aWMgdm9pZCAqcm9tZnNfcmVhZCh1bnNpZ25lZCBsb25nIG9mZnNldCkKK3sKKwl1bnNpZ25lZCBpbnQgYmxvY2sgPSBvZmZzZXQgPj4gUk9NQlVGRkVSX0JJVFM7CisJaWYgKGJsb2NrICE9IHJlYWRfYnVmZmVyX2Jsb2NrKSB7CisJCXNzaXplX3QgeDsKKworCQlyZWFkX2J1ZmZlcl9ibG9jayA9IGJsb2NrOworCQlpZiAobHNlZWsoZmQsIGJsb2NrIDw8IFJPTUJVRkZFUl9CSVRTLCBTRUVLX1NFVCkgPT0gKG9mZl90KSAtMSkKKwkJCXdhcm4oXygic2VlayBmYWlsZWQiKSk7CisKKwkJeCA9IHJlYWQoZmQsIHJlYWRfYnVmZmVyLCBST01CVUZGRVJTSVpFICogMik7CisJCWlmICh4IDwgMCkKKwkJCXdhcm4oXygicmVhZCByb21mcyBmYWlsZWQiKSk7CisJfQorCXJldHVybiByZWFkX2J1ZmZlciArIChvZmZzZXQgJiBST01CVUZGRVJNQVNLKTsKK30KKworc3RhdGljIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmNyYW1mc19pZ2V0KHN0cnVjdCBjcmFtZnNfaW5vZGUgKmkpCit7CisJc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGUgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgY3JhbWZzX2lub2RlKSk7CisKKwlpbm9kZV90b19ob3N0KGNyYW1mc19pc19iaWdfZW5kaWFuLCBpLCBpbm9kZSk7CisJcmV0dXJuIGlub2RlOworfQorCitzdGF0aWMgc3RydWN0IGNyYW1mc19pbm9kZSAqaWdldCh1bnNpZ25lZCBpbnQgaW5vKQoreworCXJldHVybiBjcmFtZnNfaWdldChyb21mc19yZWFkKGlubykpOworfQorCitzdGF0aWMgdm9pZCBpcHV0KHN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlKQoreworCWZyZWUoaW5vZGUpOworfQorCisvKgorICogUmV0dXJuIHRoZSBvZmZzZXQgb2YgdGhlIHJvb3QgZGlyZWN0b3J5CisgKi8KK3N0YXRpYyBzdHJ1Y3QgY3JhbWZzX2lub2RlICpyZWFkX3N1cGVyKHZvaWQpCit7CisJc3RydWN0IGNyYW1mc19pbm9kZSAqcm9vdCA9IGNyYW1mc19pZ2V0KCZzdXBlci5yb290KTsKKwl1bnNpZ25lZCBsb25nIG9mZnNldCA9IHJvb3QtPm9mZnNldCA8PCAyOworCisJaWYgKCFTX0lTRElSKHJvb3QtPm1vZGUpKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIpKTsKKwlpZiAoIShzdXBlci5mbGFncyAmIENSQU1GU19GTEFHX1NISUZURURfUk9PVF9PRkZTRVQpICYmCisJICAgICgob2Zmc2V0ICE9IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSkgJiYKKwkgICAgIChvZmZzZXQgIT0gUEFEX1NJWkUgKyBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikpKSkgeworCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImJhZCByb290IG9mZnNldCAoJWx1KSIpLCBvZmZzZXQpOworCX0KKwlyZXR1cm4gcm9vdDsKK30KKworc3RhdGljIGludCB1bmNvbXByZXNzX2Jsb2NrKHZvaWQgKnNyYywgc2l6ZV90IGxlbikKK3sKKwlpbnQgZXJyOworCisJc3RyZWFtLm5leHRfaW4gPSBzcmM7CisJc3RyZWFtLmF2YWlsX2luID0gbGVuOworCisJc3RyZWFtLm5leHRfb3V0ID0gKHVuc2lnbmVkIGNoYXIgKilvdXRidWZmZXI7CisJc3RyZWFtLmF2YWlsX291dCA9IGJsa3NpemUgKiAyOworCisJaW5mbGF0ZVJlc2V0KCZzdHJlYW0pOworCisJaWYgKGxlbiA+IGJsa3NpemUgKiAyKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImRhdGEgYmxvY2sgdG9vIGxhcmdlIikpOworCisJZXJyID0gaW5mbGF0ZSgmc3RyZWFtLCBaX0ZJTklTSCk7CisJaWYgKGVyciAhPSBaX1NUUkVBTV9FTkQpCisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiKSwKKwkJICAgICB6RXJyb3IoZXJyKSk7CisJcmV0dXJuIHN0cmVhbS50b3RhbF9vdXQ7Cit9CisKKyNpZiAhSEFWRV9MQ0hPV04KKyNkZWZpbmUgbGNob3duIGNob3duCisjZW5kaWYKKworc3RhdGljIHZvaWQgZG9fdW5jb21wcmVzcyhjaGFyICpwYXRoLCBpbnQgb3V0ZmQsIHVuc2lnbmVkIGxvbmcgb2Zmc2V0LAorCQkJICB1bnNpZ25lZCBsb25nIHNpemUpCit7CisJdW5zaWduZWQgbG9uZyBjdXJyID0gb2Zmc2V0ICsgNCAqICgoc2l6ZSArIGJsa3NpemUgLSAxKSAvIGJsa3NpemUpOworCisJZG8geworCQl1bnNpZ25lZCBsb25nIG91dCA9IGJsa3NpemU7CisJCXVuc2lnbmVkIGxvbmcgbmV4dCA9IHUzMl90b2dnbGVfZW5kaWFubmVzcyhjcmFtZnNfaXNfYmlnX2VuZGlhbiwKKwkJCQkJCQkgICAqKHVpbnQzMl90ICopCisJCQkJCQkJICAgcm9tZnNfcmVhZChvZmZzZXQpKTsKKworCQlpZiAobmV4dCA+IGVuZF9kYXRhKQorCQkJZW5kX2RhdGEgPSBuZXh0OworCisJCW9mZnNldCArPSA0OworCQlpZiAoY3VyciA9PSBuZXh0KSB7CisJCQlpZiAob3B0X3ZlcmJvc2UgPiAxKQorCQkJCXByaW50ZihfKCIgIGhvbGUgYXQgJWx1ICglenUpXG4iKSwgY3VyciwKKwkJCQkgICAgICAgYmxrc2l6ZSk7CisJCQlpZiAoc2l6ZSA8IGJsa3NpemUpCisJCQkJb3V0ID0gc2l6ZTsKKwkJCW1lbXNldChvdXRidWZmZXIsIDB4MDAsIG91dCk7CisJCX0gZWxzZSB7CisJCQlpZiAob3B0X3ZlcmJvc2UgPiAxKQorCQkJCXByaW50ZihfKCIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIiksCisJCQkJICAgICAgIGN1cnIsIG5leHQsIG5leHQgLSBjdXJyKTsKKwkJCW91dCA9IHVuY29tcHJlc3NfYmxvY2socm9tZnNfcmVhZChjdXJyKSwgbmV4dCAtIGN1cnIpOworCQl9CisJCWlmIChzaXplID49IGJsa3NpemUpIHsKKwkJCWlmIChvdXQgIT0gYmxrc2l6ZSkKKwkJCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsCisJCQkJICAgICBfKCJub24tYmxvY2sgKCVsZCkgYnl0ZXMiKSwgb3V0KTsKKwkJfSBlbHNlIHsKKwkJCWlmIChvdXQgIT0gc2l6ZSkKKwkJCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsCisJCQkJICAgICBfKCJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiKSwgb3V0LAorCQkJCSAgICAgc2l6ZSk7CisJCX0KKwkJc2l6ZSAtPSBvdXQ7CisJCWlmICgqZXh0cmFjdF9kaXIgIT0gJ1wwJyAmJiB3cml0ZShvdXRmZCwgb3V0YnVmZmVyLCBvdXQpIDwgMCkKKwkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIHBhdGgpOworCQljdXJyID0gbmV4dDsKKwl9IHdoaWxlIChzaXplKTsKK30KKworc3RhdGljIHZvaWQgY2hhbmdlX2ZpbGVfc3RhdHVzKGNoYXIgKnBhdGgsIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmkpCit7CisJc3RydWN0IHV0aW1idWYgZXBvY2ggPSB7IDAsIDAgfTsKKworCWlmIChldWlkID09IDApIHsKKwkJaWYgKGxjaG93bihwYXRoLCBpLT51aWQsIGktPmdpZCkgPCAwKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oImxjaG93biBmYWlsZWQ6ICVzIiksIHBhdGgpOworCQlpZiAoU19JU0xOSyhpLT5tb2RlKSkKKwkJCXJldHVybjsKKwkJaWYgKCgoU19JU1VJRCB8IFNfSVNHSUQpICYgaS0+bW9kZSkgJiYgY2htb2QocGF0aCwgaS0+bW9kZSkgPCAwKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oImNob3duIGZhaWxlZDogJXMiKSwgcGF0aCk7CisJfQorCWlmIChTX0lTTE5LKGktPm1vZGUpKQorCQlyZXR1cm47CisJaWYgKHV0aW1lKHBhdGgsICZlcG9jaCkgPCAwKQorCQllcnIoRlNDS19FWF9FUlJPUiwgXygidXRpbWUgZmFpbGVkOiAlcyIpLCBwYXRoKTsKK30KKworc3RhdGljIHZvaWQgZG9fZGlyZWN0b3J5KGNoYXIgKnBhdGgsIHN0cnVjdCBjcmFtZnNfaW5vZGUgKmkpCit7CisJaW50IHBhdGhsZW4gPSBzdHJsZW4ocGF0aCk7CisJaW50IGNvdW50ID0gaS0+c2l6ZTsKKwl1bnNpZ25lZCBsb25nIG9mZnNldCA9IGktPm9mZnNldCA8PCAyOworCWNoYXIgKm5ld3BhdGggPSB4bWFsbG9jKHBhdGhsZW4gKyAyNTYpOworCisJaWYgKG9mZnNldCA9PSAwICYmIGNvdW50ICE9IDApCisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwKKwkJICAgICBfKCJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIpLAorCQkgICAgIHBhdGgpOworCisJaWYgKG9mZnNldCAhPSAwICYmIG9mZnNldCA8IHN0YXJ0X2RpcikKKwkJc3RhcnRfZGlyID0gb2Zmc2V0OworCisJLyogVE9ETzogRG8gd2UgbmVlZCB0byBjaGVjayBlbmRfZGlyIGZvciBlbXB0eSBjYXNlPyAqLworCW1lbWNweShuZXdwYXRoLCBwYXRoLCBwYXRobGVuKTsKKwluZXdwYXRoW3BhdGhsZW5dID0gJy8nOworCXBhdGhsZW4rKzsKKwlpZiAob3B0X3ZlcmJvc2UpCisJCXByaW50X25vZGUoJ2QnLCBpLCBwYXRoKTsKKworCWlmICgqZXh0cmFjdF9kaXIgIT0gJ1wwJykgeworCQlpZiAobWtkaXIocGF0aCwgaS0+bW9kZSkgPCAwKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oIm1rZGlyIGZhaWxlZDogJXMiKSwgcGF0aCk7CisJCWNoYW5nZV9maWxlX3N0YXR1cyhwYXRoLCBpKTsKKwl9CisJd2hpbGUgKGNvdW50ID4gMCkgeworCQlzdHJ1Y3QgY3JhbWZzX2lub2RlICpjaGlsZCA9IGlnZXQob2Zmc2V0KTsKKwkJaW50IHNpemU7CisJCWludCBuZXdsZW4gPSBjaGlsZC0+bmFtZWxlbiA8PCAyOworCisJCXNpemUgPSBzaXplb2Yoc3RydWN0IGNyYW1mc19pbm9kZSkgKyBuZXdsZW47CisJCWNvdW50IC09IHNpemU7CisKKwkJb2Zmc2V0ICs9IHNpemVvZihzdHJ1Y3QgY3JhbWZzX2lub2RlKTsKKworCQltZW1jcHkobmV3cGF0aCArIHBhdGhsZW4sIHJvbWZzX3JlYWQob2Zmc2V0KSwgbmV3bGVuKTsKKwkJbmV3cGF0aFtwYXRobGVuICsgbmV3bGVuXSA9IDA7CisJCWlmIChuZXdsZW4gPT0gMCkKKwkJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iKSk7CisJCWlmICgocGF0aGxlbiArIG5ld2xlbikgLSBzdHJsZW4obmV3cGF0aCkgPiAzKQorCQkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJiYWQgZmlsZW5hbWUgbGVuZ3RoIikpOworCQlleHBhbmRfZnMobmV3cGF0aCwgY2hpbGQpOworCisJCW9mZnNldCArPSBuZXdsZW47CisKKwkJaWYgKG9mZnNldCA8PSBzdGFydF9kaXIpCisJCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oImJhZCBpbm9kZSBvZmZzZXQiKSk7CisJCWlmIChvZmZzZXQgPiBlbmRfZGlyKQorCQkJZW5kX2RpciA9IG9mZnNldDsKKwkJaXB1dChjaGlsZCk7CS8qIGZyZWUoY2hpbGQpICovCisJfQorCWZyZWUobmV3cGF0aCk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX2ZpbGUoY2hhciAqcGF0aCwgc3RydWN0IGNyYW1mc19pbm9kZSAqaSkKK3sKKwl1bnNpZ25lZCBsb25nIG9mZnNldCA9IGktPm9mZnNldCA8PCAyOworCWludCBvdXRmZCA9IDA7CisKKwlpZiAob2Zmc2V0ID09IDAgJiYgaS0+c2l6ZSAhPSAwKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsCisJCSAgICAgXygiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiKSk7CisJaWYgKGktPnNpemUgPT0gMCAmJiBvZmZzZXQgIT0gMCkKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELAorCQkgICAgIF8oImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IikpOworCWlmIChvZmZzZXQgIT0gMCAmJiBvZmZzZXQgPCBzdGFydF9kYXRhKQorCQlzdGFydF9kYXRhID0gb2Zmc2V0OworCWlmIChvcHRfdmVyYm9zZSkKKwkJcHJpbnRfbm9kZSgnZicsIGksIHBhdGgpOworCWlmICgqZXh0cmFjdF9kaXIgIT0gJ1wwJykgeworCQlvdXRmZCA9IG9wZW4ocGF0aCwgT19XUk9OTFkgfCBPX0NSRUFUIHwgT19UUlVOQywgaS0+bW9kZSk7CisJCWlmIChvdXRmZCA8IDApCisJCQllcnIoRlNDS19FWF9FUlJPUiwgXygiY2Fubm90IG9wZW4gJXMiKSwgcGF0aCk7CisJfQorCWlmIChpLT5zaXplKQorCQlkb191bmNvbXByZXNzKHBhdGgsIG91dGZkLCBvZmZzZXQsIGktPnNpemUpOworCWlmICggKmV4dHJhY3RfZGlyICE9ICdcMCcpIHsKKwkJaWYgKGNsb3NlX2ZkKG91dGZkKSAhPSAwKQorCQkJZXJyKEZTQ0tfRVhfRVJST1IsIF8oIndyaXRlIGZhaWxlZDogJXMiKSwgcGF0aCk7CisJCWNoYW5nZV9maWxlX3N0YXR1cyhwYXRoLCBpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRvX3N5bWxpbmsoY2hhciAqcGF0aCwgc3RydWN0IGNyYW1mc19pbm9kZSAqaSkKK3sKKwl1bnNpZ25lZCBsb25nIG9mZnNldCA9IGktPm9mZnNldCA8PCAyOworCXVuc2lnbmVkIGxvbmcgY3VyciA9IG9mZnNldCArIDQ7CisJdW5zaWduZWQgbG9uZyBuZXh0ID0KKwkgICAgdTMyX3RvZ2dsZV9lbmRpYW5uZXNzKGNyYW1mc19pc19iaWdfZW5kaWFuLAorCQkJCSAgKih1aW50MzJfdCAqKSByb21mc19yZWFkKG9mZnNldCkpOworCXVuc2lnbmVkIGxvbmcgc2l6ZTsKKworCWlmIChvZmZzZXQgPT0gMCkKKwkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELCBfKCJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIpKTsKKwlpZiAoaS0+c2l6ZSA9PSAwKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIpKTsKKworCWlmIChvZmZzZXQgPCBzdGFydF9kYXRhKQorCQlzdGFydF9kYXRhID0gb2Zmc2V0OworCWlmIChuZXh0ID4gZW5kX2RhdGEpCisJCWVuZF9kYXRhID0gbmV4dDsKKworCXNpemUgPSB1bmNvbXByZXNzX2Jsb2NrKHJvbWZzX3JlYWQoY3VyciksIG5leHQgLSBjdXJyKTsKKwlpZiAoc2l6ZSAhPSBpLT5zaXplKQorCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsIF8oInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiKSwgcGF0aCk7CisJb3V0YnVmZmVyW3NpemVdID0gMDsKKwlpZiAob3B0X3ZlcmJvc2UpIHsKKwkJY2hhciAqc3RyOworCisJCXhhc3ByaW50Zigmc3RyLCAiJXMgLT4gJXMiLCBwYXRoLCBvdXRidWZmZXIpOworCQlwcmludF9ub2RlKCdsJywgaSwgc3RyKTsKKwkJaWYgKG9wdF92ZXJib3NlID4gMSkKKwkJCXByaW50ZihfKCIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIiksCisJCQkgICAgICAgY3VyciwgbmV4dCwgbmV4dCAtIGN1cnIpOworCQlmcmVlKHN0cik7CisJfQorCWlmICgqZXh0cmFjdF9kaXIgIT0gJ1wwJykgeworCQlpZiAoc3ltbGluayhvdXRidWZmZXIsIHBhdGgpIDwgMCkKKwkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJzeW1saW5rIGZhaWxlZDogJXMiKSwgcGF0aCk7CisJCWNoYW5nZV9maWxlX3N0YXR1cyhwYXRoLCBpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRvX3NwZWNpYWxfaW5vZGUoY2hhciAqcGF0aCwgc3RydWN0IGNyYW1mc19pbm9kZSAqaSkKK3sKKwlkZXZfdCBkZXZ0eXBlID0gMDsKKwljaGFyIHR5cGU7CisKKwlpZiAoaS0+b2Zmc2V0KQorCQkvKiBubyBuZWVkIHRvIHNoaWZ0IG9mZnNldCAqLworCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsCisJCSAgICAgXygic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIiksIHBhdGgpOworCisJaWYgKFNfSVNDSFIoaS0+bW9kZSkpIHsKKwkJZGV2dHlwZSA9IGktPnNpemU7CisJCXR5cGUgPSAnYyc7CisJfSBlbHNlIGlmIChTX0lTQkxLKGktPm1vZGUpKSB7CisJCWRldnR5cGUgPSBpLT5zaXplOworCQl0eXBlID0gJ2InOworCX0gZWxzZSBpZiAoU19JU0ZJRk8oaS0+bW9kZSkpIHsKKwkJaWYgKGktPnNpemUgIT0gMCkKKwkJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiKSwKKwkJCSAgICAgcGF0aCk7CisJCXR5cGUgPSAncCc7CisJfSBlbHNlIGlmIChTX0lTU09DSyhpLT5tb2RlKSkgeworCQlpZiAoaS0+c2l6ZSAhPSAwKQorCQkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELAorCQkJICAgICBfKCJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIiksIHBhdGgpOworCQl0eXBlID0gJ3MnOworCX0gZWxzZSB7CisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiYm9ndXMgbW9kZTogJXMgKCVvKSIpLCBwYXRoLCBpLT5tb2RlKTsKKwkJcmV0dXJuOwkJLyogbm90IHJlYWNoZWQgKi8KKwl9CisKKwlpZiAob3B0X3ZlcmJvc2UpCisJCXByaW50X25vZGUodHlwZSwgaSwgcGF0aCk7CisKKwlpZiAoKmV4dHJhY3RfZGlyICE9ICdcMCcpIHsKKwkJaWYgKG1rbm9kKHBhdGgsIGktPm1vZGUsIGRldnR5cGUpIDwgMCkKKwkJCWVycihGU0NLX0VYX0VSUk9SLCBfKCJta25vZCBmYWlsZWQ6ICVzIiksIHBhdGgpOworCQljaGFuZ2VfZmlsZV9zdGF0dXMocGF0aCwgaSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBleHBhbmRfZnMoY2hhciAqcGF0aCwgc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGUpCit7CisJaWYgKFNfSVNESVIoaW5vZGUtPm1vZGUpKQorCQlkb19kaXJlY3RvcnkocGF0aCwgaW5vZGUpOworCWVsc2UgaWYgKFNfSVNSRUcoaW5vZGUtPm1vZGUpKQorCQlkb19maWxlKHBhdGgsIGlub2RlKTsKKwllbHNlIGlmIChTX0lTTE5LKGlub2RlLT5tb2RlKSkKKwkJZG9fc3ltbGluayhwYXRoLCBpbm9kZSk7CisJZWxzZQorCQlkb19zcGVjaWFsX2lub2RlKHBhdGgsIGlub2RlKTsKK30KKworc3RhdGljIHZvaWQgdGVzdF9mcyhpbnQgc3RhcnQpCit7CisJc3RydWN0IGNyYW1mc19pbm9kZSAqcm9vdDsKKworCXJvb3QgPSByZWFkX3N1cGVyKCk7CisJdW1hc2soMCk7CisJZXVpZCA9IGdldGV1aWQoKTsKKwlzdHJlYW0ubmV4dF9pbiA9IE5VTEw7CisJc3RyZWFtLmF2YWlsX2luID0gMDsKKwlpbmZsYXRlSW5pdCgmc3RyZWFtKTsKKwlleHBhbmRfZnMoZXh0cmFjdF9kaXIsIHJvb3QpOworCWluZmxhdGVFbmQoJnN0cmVhbSk7CisJaWYgKHN0YXJ0X2RhdGEgIT0gfjBVTCkgeworCQlpZiAoc3RhcnRfZGF0YSA8IChzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCkpCisJCQllcnJ4KEZTQ0tfRVhfVU5DT1JSRUNURUQsCisJCQkgICAgIF8oImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiKSwKKwkJCSAgICAgc3RhcnRfZGF0YSwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQpOworCQlpZiAoZW5kX2RpciAhPSBzdGFydF9kYXRhKQorCQkJZXJyeChGU0NLX0VYX1VOQ09SUkVDVEVELAorCQkJICAgICBfKCJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIiksCisJCQkgICAgIGVuZF9kaXIsIHN0YXJ0X2RhdGEpOworCX0KKwlpZiAoc3VwZXIuZmxhZ3MgJiBDUkFNRlNfRkxBR19GU0lEX1ZFUlNJT05fMiAmJiBlbmRfZGF0YSA+IHN1cGVyLnNpemUpCisJCWVycngoRlNDS19FWF9VTkNPUlJFQ1RFRCwgXygiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IikpOworCisJaXB1dChyb290KTsJCS8qIGZyZWUocm9vdCkgKi8KK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjOwkJCS8qIGZvciBnZXRvcHQgKi8KKwlpbnQgc3RhcnQgPSAwOworCXNpemVfdCBsZW5ndGggPSAwOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ2ZXJib3NlIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3YnfSwKKwkJeyJ2ZXJzaW9uIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnfSwKKwkJeyJibG9ja3NpemUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2InfSwKKwkJeyJleHRyYWN0IiwgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ3gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9LAorCX07CisKKwlzZXRsb2NhbGUoTENfTUVTU0FHRVMsICIiKTsKKwlzZXRsb2NhbGUoTENfQ1RZUEUsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlzdHJ1dGlsc19zZXRfZXhpdGNvZGUoRlNDS19FWF9VU0FHRSk7CisKKwkvKiBjb21tYW5kIGxpbmUgb3B0aW9ucyAqLworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJheXZWaGI6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSBFT0YpCisJCXN3aXRjaCAoYykgeworCQljYXNlICdhJzoJCS8qIGlnbm9yZSAqLworCQljYXNlICd5JzoKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBGU0NLX0VYX09LOworCQljYXNlICd4JzoKKwkJCW9wdF9leHRyYWN0ID0gMTsKKwkJCWlmKG9wdGFyZykKKwkJCQlleHRyYWN0X2RpciA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCW9wdF92ZXJib3NlKys7CisJCQlicmVhazsKKwkJY2FzZSAnYic6CisJCQlibGtzaXplID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRlNDS19FWF9VU0FHRSk7CisJCX0KKworCWlmICgoYXJnYyAtIG9wdGluZCkgIT0gMSl7CisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChGU0NLX0VYX1VTQUdFKTsKKwl9CisJZmlsZW5hbWUgPSBhcmd2W29wdGluZF07CisKKwl0ZXN0X3N1cGVyKCZzdGFydCwgJmxlbmd0aCk7CisJdGVzdF9jcmMoc3RhcnQpOworCisJaWYob3B0X2V4dHJhY3QpIHsKKwkJaWYgKGJsa3NpemUgPT0gMCkKKwkJCWJsa3NpemUgPSBnZXRwYWdlc2l6ZSgpOworCQlvdXRidWZmZXIgPSB4bWFsbG9jKGJsa3NpemUgKiAyKTsKKwkJdGVzdF9mcyhzdGFydCk7CisJfQorCisJaWYgKG9wdF92ZXJib3NlKQorCQlwcmludGYoXygiJXM6IE9LXG4iKSwgZmlsZW5hbWUpOworCisJZXhpdChGU0NLX0VYX09LKTsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZnNjay5taW5peC44IGIvZGlzay11dGlscy9mc2NrLm1pbml4LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY2MGU0ZgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZnNjay5taW5peC44CkBAIC0wLDAgKzEsMTY4IEBACisuXCIgQ29weXJpZ2h0IDE5OTIsIDE5OTMsIDE5OTQgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBNYXkgYmUgZnJlZWx5IGRpc3RyaWJ1dGVkLgorLlRIIEZTQ0suTUlOSVggOCAiSnVuZSAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitmc2NrLm1pbml4IFwtIGNoZWNrIGNvbnNpc3RlbmN5IG9mIE1pbml4IGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgZnNjay5taW5peAorW29wdGlvbnNdCisuSSBkZXZpY2UKKy5TSCBERVNDUklQVElPTgorLkIgZnNjay5taW5peAorcGVyZm9ybXMgYSBjb25zaXN0ZW5jeSBjaGVjayBmb3IgdGhlIExpbnV4IE1JTklYIGZpbGVzeXN0ZW0uCisuUFAKK1RoZSBwcm9ncmFtIGFzc3VtZXMgdGhlIGZpbGVzeXN0ZW0gaXMgcXVpZXNjZW50LgorLkIgZnNjay5taW5peAorc2hvdWxkIG5vdCBiZSB1c2VkIG9uIGEgbW91bnRlZCBkZXZpY2UgdW5sZXNzIHlvdSBjYW4gYmUgc3VyZSBub2JvZHkgaXMKK3dyaXRpbmcgdG8gaXQuICBSZW1lbWJlciB0aGF0IHRoZSBrZXJuZWwgY2FuIHdyaXRlIHRvIGRldmljZSB3aGVuIGl0CitzZWFyY2hlcyBmb3IgZmlsZXMuCisuUFAKK1RoZSBcZklkZXZpY2VcZlIgbmFtZSB3aWxsIHVzdWFsbHkgaGF2ZSB0aGUgZm9sbG93aW5nIGZvcm06CisuUlMKKy5UUwordGFiKDopOworbGVmdCBsIGwuCisvZGV2L2hkYVsxXChlbjYzXTpJREUgZGlzayAxCisvZGV2L2hkYlsxXChlbjYzXTpJREUgZGlzayAyCisvZGV2L3NkYVsxXChlbjE1XTpTQ1NJIGRpc2sgMQorL2Rldi9zZGJbMVwoZW4xNV06U0NTSSBkaXNrIDIKKy5URQorLlJFCisuUFAKK0lmIHRoZSBmaWxlc3lzdGVtIHdhcyBjaGFuZ2VkLCBpLmUuLCByZXBhaXJlZCwgdGhlbgorLkIgZnNjay5taW5peAord2lsbCBwcmludCAiRklMRSBTWVNURU0gSEFTIENIQU5HRUQiIGFuZCB3aWxsCisuQlIgc3luYyAoMikKK3RocmVlIHRpbWVzIGJlZm9yZSBleGl0aW5nLiAgVGhlcmUgaXMKKy5JIG5vCituZWVkIHRvIHJlYm9vdCBhZnRlciBjaGVjay4KKy5TSCBXQVJOSU5HCisuQiBmc2NrLm1pbml4CitzaG91bGQKKy5CIG5vdAorYmUgdXNlZCBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS4gIFVzaW5nCisuQiBmc2NrLm1pbml4CitvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbSBpcyB2ZXJ5IGRhbmdlcm91cywgZHVlIHRvIHRoZSBwb3NzaWJpbGl0eSB0aGF0CitkZWxldGVkIGZpbGVzIGFyZSBzdGlsbCBpbiB1c2UsIGFuZCBjYW4gc2VyaW91c2x5IGRhbWFnZSBhIHBlcmZlY3RseSBnb29kCitmaWxlc3lzdGVtISAgSWYgeW91IGFic29sdXRlbHkgaGF2ZSB0byBydW4KKy5CIGZzY2subWluaXgKK29uIGEgbW91bnRlZCBmaWxlc3lzdGVtLCBzdWNoIGFzIHRoZSByb290IGZpbGVzeXN0ZW0sIG1ha2Ugc3VyZSBub3RoaW5nCitpcyB3cml0aW5nIHRvIHRoZSBkaXNrLCBhbmQgdGhhdCBubyBmaWxlcyBhcmUgInpvbWJpZXMiIHdhaXRpbmcgZm9yCitkZWxldGlvbi4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtbFxmUiwgXGZCXC1cLWxpc3RcZlIKK0xpc3QgYWxsIGZpbGVuYW1lcy4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcmVwYWlyXGZSCitQZXJmb3JtIGludGVyYWN0aXZlIHJlcGFpcnMuCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWF1dG9cZlIKK1BlcmZvcm0gYXV0b21hdGljIHJlcGFpcnMuICBUaGlzIG9wdGlvbiBpbXBsaWVzCisuQiBcLVwtcmVwYWlyCithbmQgc2VydmVzIHRvIGFuc3dlciBhbGwgb2YgdGhlIHF1ZXN0aW9ucyBhc2tlZCB3aXRoIHRoZSBkZWZhdWx0LiAgTm90ZQordGhhdCB0aGlzIGNhbiBiZSBleHRyZW1lbHkgZGFuZ2Vyb3VzIGluIHRoZSBjYXNlIG9mIGV4dGVuc2l2ZSBmaWxlc3lzdGVtCitkYW1hZ2UuCisuVFAKK1xmQlwtdlxmUiwgXGZCXC1cLXZlcmJvc2VcZlIKK0JlIHZlcmJvc2UuCisuVFAKK1xmQlwtc1xmUiwgXGZCXC1cLXN1cGVyXGZSCitPdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb24uCisuVFAKK1xmQlwtbVxmUiwgXGZCXC1cLXVuY2xlYXJlZFxmUgorQWN0aXZhdGUgTUlOSVgtbGlrZSAibW9kZSBub3QgY2xlYXJlZCIgd2FybmluZ3MuCisuVFAKK1xmQlwtZlxmUiwgXGZCXC1cLWZvcmNlXGZSCitGb3JjZSBhIGZpbGVzeXN0ZW0gY2hlY2sgZXZlbiBpZiB0aGUgZmlsZXN5c3RlbSB3YXMgbWFya2VkIGFzIHZhbGlkLgorTWFya2luZyBpcyBkb25lIGJ5IHRoZSBrZXJuZWwgd2hlbiB0aGUgZmlsZXN5c3RlbSBpcyB1bm1vdW50ZWQuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggRElBR05PU1RJQ1MKK1RoZXJlIGFyZSBudW1lcm91cyBkaWFnbm9zdGljIG1lc3NhZ2VzLiAgVGhlIG9uZXMgbWVudGlvbmVkIGhlcmUgYXJlIHRoZQorbW9zdCBjb21tb25seSBzZWVuIGluIG5vcm1hbCB1c2FnZS4KKy5QUAorSWYgdGhlIGRldmljZSBkb2VzIG5vdCBleGlzdCwKKy5CIGZzY2subWluaXgKK3dpbGwgcHJpbnQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIi4gIElmIHRoZSBkZXZpY2UgZXhpc3RzLCBidXQgaXMgbm90CithIE1JTklYIGZpbGVzeXN0ZW0sCisuQiBmc2NrLm1pbml4Cit3aWxsIHByaW50ICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIi4KKy5TSCAiRVhJVCBDT0RFUyIKK1RoZSBleGl0IGNvZGUgcmV0dXJuZWQgYnkKKy5CIGZzY2subWluaXgKK2lzIHRoZSBzdW0gb2YgdGhlIGZvbGxvd2luZzoKKy5QUAorLlJTCisuUEQgMAorLlRQCisuQiAwCitObyBlcnJvcnMKKy5UUAorLkIgMworRmlsZXN5c3RlbSBlcnJvcnMgY29ycmVjdGVkLCBzeXN0ZW0gc2hvdWxkIGJlIHJlYm9vdGVkIGlmIGZpbGVzeXN0ZW0gd2FzCittb3VudGVkCisuVFAKKy5CIDQKK0ZpbGVzeXN0ZW0gZXJyb3JzIGxlZnQgdW5jb3JyZWN0ZWQKKy5UUAorLkIgNworQ29tYmluYXRpb24gb2YgZXhpdCBjb2RlcyAzIGFuZCA0CisuVFAKKy5CIDgKK09wZXJhdGlvbmFsIGVycm9yCisuVFAKKy5CIDE2CitVc2FnZSBvciBzeW50YXggZXJyb3IKKy5QRAorLlJFCisuUFAKKy5TSCBBVVRIT1JTCisuTVQgdG9ydmFsZHNAXDpjcy5cOmhlbHNpbmtpLlw6ZmkKK0xpbnVzIFRvcnZhbGRzCisuTUUKKy5icgorRXJyb3IgY29kZSB2YWx1ZXMgYnkKKy5NVCBmYWl0aEBcOmNzLlw6dW5jLlw6ZWR1CitSaWsgRmFpdGgKKy5NRQorLmJyCitBZGRlZCBzdXBwb3J0IGZvciBmaWxlc3lzdGVtIHZhbGlkIGZsYWc6CisuTVQgZ3JlZyVcOndpbmQuXDp1dWNwQFw6cGxhaW5zLlw6bm9kYWsuXDplZHUKK0RyLlwmIFdldHRzdGVpbgorLk1FIC4KKy5icgorQ2hlY2sgdG8gcHJldmVudCBmc2NrIG9mIG1vdW50ZWQgZmlsZXN5c3RlbSBhZGRlZCBieQorLk1UIHF1aW5sYW5AXDp5Z2dkcmFzaWwuXDpjb20KK0RhbmllbCBRdWlubGFuCisuTUUgLgorLmJyCitNaW5peCB2MiBmcyBzdXBwb3J0IGJ5CisuTVQgc2Nod2FiQFw6aXNzYW4uXDppbmZvcm1hdGlrLlw6dW5pLWRvcnRtdW5kLlw6ZGUKK0FuZHJlYXMgU2Nod2FiCisuTUUgLAordXBkYXRlZCBieQorLk1UIGphbmxAXDptYXRoLlw6dWlvLlw6bm8KK05pY29sYWkgTGFuZ2ZlbGR0CisuTUUgLgorLmJyCitQb3J0YWJpbGl0eSBwYXRjaCBieQorLk1UIHJta0BcOmVjcy5cOnNvdG9uLlw6YWMuXDp1aworUnVzc2VsbCBLaW5nCisuTUUgLgorLlNIICJTRUUgQUxTTyIKKy5CUiBmc2NrICg4KSwKKy5CUiBmc2NrLmV4dDIgKDgpLAorLkJSIG1rZnMgKDgpLAorLkJSIG1rZnMuZXh0MiAoOCksCisuQlIgbWtmcy5taW5peCAoOCksCisuQlIgcmVib290ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZzY2subWluaXggY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvZnNjay5taW5peC5jIGIvZGlzay11dGlscy9mc2NrLm1pbml4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk3ODY4NAotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvZnNjay5taW5peC5jCkBAIC0wLDAgKzEsMTQzOCBAQAorLyoKKyAqIGZzY2subWluaXguYyAtIGEgZmlsZSBzeXN0ZW0gY29uc2lzdGVuY3kgY2hlY2tlciBmb3IgTGludXguCisgKgorICogKEMpIDE5OTEsIDE5OTIgTGludXMgVG9ydmFsZHMuIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZAorICogYXMgcGVyIHRoZSBHTlUgY29weWxlZnQuCisgKi8KKworLyoKKyAqIDA5LjExLjkxICAtICBtYWRlIHRoZSBmaXJzdCBydWRpbWVudGFyeSBmdW5jdGlvbnMKKyAqCisgKiAxMC4xMS45MSAgLSAgdXBkYXRlZCwgZG9lcyBjaGVja2luZywgbm8gcmVwYWlycyB5ZXQuCisgKgkJU2VudCBvdXQgdG8gdGhlIG1haWxpbmctbGlzdCBmb3IgdGVzdGluZy4KKyAqCisgKiAxNC4xMS45MSAgLQlUZXN0aW5nIHNlZW1zIHRvIGhhdmUgZ29uZSB3ZWxsLiBBZGRlZCBzb21lCisgKgkJY29ycmVjdGlvbi1jb2RlLCBhbmQgY2hhbmdlZCBzb21lIGZ1bmN0aW9ucy4KKyAqCisgKiAxNS4xMS45MSAgLSAgTW9yZSBjb3JyZWN0aW9uIGNvZGUuIEhvcGVmdWxseSBpdCBub3RpY2VzIG1vc3QKKyAqCQljYXNlcyBub3csIGFuZCB0cmllcyB0byBkbyBzb21ldGhpbmcgYWJvdXQgdGhlbS4KKyAqCisgKiAxNi4xMS45MSAgLSAgTW9yZSBjb3JyZWN0aW9ucyAodGhhbmtzIHRvIE1pa2EgSmFsYXZhKS4gTW9zdAorICoJCXRoaW5ncyBzZWVtIHRvIHdvcmsgbm93LiBZZWFoLCBzdXJlLgorICoKKyAqCisgKiAxOS4wNC45MiAgLQlIYWQgdG8gc3RhcnQgb3ZlciBhZ2FpbiBmcm9tIHRoaXMgb2xkIHZlcnNpb24sIGFzIGEKKyAqCQlrZXJuZWwgYnVnIGF0ZSBteSBlbmhhbmNlZCBmc2NrIGluIEZlYnJ1YXJ5LgorICoKKyAqIDI4LjAyLjkzICAtCWFkZGVkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBkaXJlY3RvcnkgZW50cnkgc2l6ZXMuLgorICoKKyAqIFNhdCBNYXIgIDYgMTg6NTk6NDIgMTk5MywgZmFpdGhAY3MudW5jLmVkdTogT3V0cHV0IG5hbWVsZW4gd2l0aAorICogICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBlci1ibG9jayBpbmZvcm1hdGlvbgorICoKKyAqIFNhdCBPY3QgIDkgMTE6MTc6MTEgMTk5MywgZmFpdGhAY3MudW5jLmVkdTogbWFrZSBleGl0IHN0YXR1cyBjb25mb3JtCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIHRoYXQgcmVxdWlyZWQgYnkgZnN1dGlsCisgKgorICogTW9uIEphbiAgMyAxMTowNjo1MiAxOTk0IC0gRHIuIFdldHRzdGVpbiAoZ3JlZyV3aW5kLnV1Y3BAcGxhaW5zLm5vZGFrLmVkdSkKKyAqCQkJICAgICAgQWRkZWQgc3VwcG9ydCBmb3IgZmlsZSBzeXN0ZW0gdmFsaWQgZmxhZy4gIEFsc28KKyAqCQkJICAgICAgYWRkZWQgcHJvZ3JhbV92ZXJzaW9uIHZhcmlhYmxlIGFuZCBvdXRwdXQgb2YKKyAqCQkJICAgICAgcHJvZ3JhbSBuYW1lIGFuZCB2ZXJzaW9uIG51bWJlciB3aGVuIHByb2dyYW0KKyAqCQkJICAgICAgaXMgZXhlY3V0ZWQuCisgKgorICogMzAuMTAuOTQgLSBhZGRlZCBzdXBwb3J0IGZvciB2MiBmaWxlc3lzdGVtCisgKiAgICAgICAgICAgIChBbmRyZWFzIFNjaHdhYiwgc2Nod2FiQGlzc2FuLmluZm9ybWF0aWsudW5pLWRvcnRtdW5kLmRlKQorICoKKyAqIDEwLjEyLjk0ICAtICBhZGRlZCB0ZXN0IHRvIHByZXZlbnQgY2hlY2tpbmcgb2YgbW91bnRlZCBmcyBhZGFwdGVkCisgKiAgICAgICAgICAgICAgZnJvbSBUaGVvZG9yZSBUcydvJ3MgKHR5dHNvQGF0aGVuYS5taXQuZWR1KSBlMmZzY2sKKyAqICAgICAgICAgICAgICBwcm9ncmFtLiAgKERhbmllbCBRdWlubGFuLCBxdWlubGFuQHlnZ2RyYXNpbC5jb20pCisgKgorICogMDEuMDcuOTYgIC0gRml4ZWQgdGhlIHYyIGZzIHN0dWZmIHRvIHVzZSB0aGUgcmlnaHQgI2RlZmluZXMgYW5kIHN1Y2gKKyAqCSAgICAgICBmb3IgbW9kZXJuIGxpYmNzIChqYW5sQG1hdGgudWlvLm5vLCBOaWNvbGFpIExhbmdmZWxkdCkKKyAqCisgKiAwMi4wNy45NiAgLSBBZGRlZCBDIGJpdCBmaWRkbGluZyByb3V0aW5lcyBmcm9tIHJta0BlY3Muc290b24uYWMudWsKKyAqICAgICAgICAgICAgIChSdXNzZWxsIEtpbmcpLiAgSGUgbWFkZSB0aGVtIGZvciBBUk0uICBJdCB3b3VsZCBzZWVtCisgKgkgICAgICAgdGhhdCB0aGUgQVJNIGlzIHBvd2VyZnVsIGVub3VnaCB0byBkbyB0aGlzIGluIEMgd2hlcmVhcworICogICAgICAgICAgICAgaTM4NiBhbmQgbTY0ayBtdXN0IHVzZSBhc3NlbWJseSB0byBnZXQgaXQgZmFzdCA+Oi0pCisgKgkgICAgICAgVGhpcyBzaG91bGQgbWFrZSBtaW5peCBmc2NrIHN5c3RlbWluZGVwZW5kZW50LgorICoJICAgICAgIChqYW5sQG1hdGgudWlvLm5vLCBOaWNvbGFpIExhbmdmZWxkdCkKKyAqCisgKiAwNC4xMS45NiAgLSBBZGRlZCBtaW5vciBmaXhlcyBmcm9tIEFuZHJlYXMgU2Nod2FiIHRvIGF2b2lkIGNvbXBpbGVyCisgKiAgICAgICAgICAgICB3YXJuaW5ncy4gIEFkZGVkIG1jNjhrIGJpdG9wcyBmcm9tCisgKgkgICAgICAgSm9lcmcgRG9yY2hhaW4gPGRvcmNoYWluQG1waS1zYi5tcGcuZGU+LgorICoKKyAqIDA2LjExLjk2ICAtIEFkZGVkIHYyIGNvZGUgc3VibWl0dGVkIGJ5IEpvZXJnIERvcmNoYWluLCBidXQgd3JpdHRlbiBieQorICogICAgICAgICAgICAgQW5kcmVhcyBTY2h3YWIuCisgKgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICoKKyAqIDIwMDgtMDQtMDYgSmFtZXMgWW91bmdtYW4gPGpheUBnbnUub3JnPgorICogLSBJc3N1ZSBiZXR0ZXIgZXJyb3IgbWVzc2FnZSBpZiB3ZSBmYWlsIHRvIG9wZW4gdGhlIGRldmljZS4KKyAqIC0gUmVzdG9yZSB0ZXJtaW5hbCBzdGF0ZSBpZiB3ZSBnZXQgYSBmYXRhbCBzaWduYWwuCisgKgorICoKKyAqIEkndmUgaGFkIG5vIHRpbWUgdG8gYWRkIGNvbW1lbnRzIC0gaG9wZWZ1bGx5IHRoZSBmdW5jdGlvbiBuYW1lcworICogYXJlIGNvbW1lbnRzIGVub3VnaC4gQXMgd2l0aCBhbGwgZmlsZSBzeXN0ZW0gY2hlY2tlcnMsIHRoaXMgYXNzdW1lcworICogdGhlIGZpbGUgc3lzdGVtIGlzIHF1aWVzY2VudCAtIGRvbid0IHVzZSBpdCBvbiBhIG1vdW50ZWQgZGV2aWNlCisgKiB1bmxlc3MgeW91IGNhbiBiZSBzdXJlIG5vYm9keSBpcyB3cml0aW5nIHRvIGl0IChhbmQgcmVtZW1iZXIgdGhhdCB0aGUKKyAqIGtlcm5lbCBjYW4gd3JpdGUgdG8gaXQgd2hlbiBpdCBzZWFyY2hlcyBmb3IgZmlsZXMpLgorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJleGl0Y29kZXMuaCIKKyNpbmNsdWRlICJtaW5peF9wcm9ncmFtcy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImJpdG9wcy5oIgorI2luY2x1ZGUgImlzbW91bnRlZC5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAicnBtYXRjaC5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKyNkZWZpbmUgUk9PVF9JTk8gMQorI2RlZmluZSBZRVNOT19MRU5HVEggNjQKKworLyogR2xvYmFsIHZhcmlhYmxlcyB1c2VkIGluIG1pbml4X3Byb2dyYW1zLmggaW5saW5lIGZ1bmN0aW9ucyAqLworaW50IGZzX3ZlcnNpb24gPSAxOworY2hhciAqc3VwZXJfYmxvY2tfYnVmZmVyOworCitzdGF0aWMgY2hhciAqaW5vZGVfYnVmZmVyOworCisjZGVmaW5lIElub2RlICgoKHN0cnVjdCBtaW5peF9pbm9kZSAqKSBpbm9kZV9idWZmZXIpIC0gMSkKKyNkZWZpbmUgSW5vZGUyICgoKHN0cnVjdCBtaW5peDJfaW5vZGUgKikgaW5vZGVfYnVmZmVyKSAtIDEpCisKK3N0YXRpYyBjaGFyICpkZXZpY2VfbmFtZTsKK3N0YXRpYyBpbnQgZGV2aWNlX2ZkOworc3RhdGljIGludCByZXBhaXIsIGF1dG9tYXRpYywgdmVyYm9zZSwgbGlzdCwgc2hvdywgd2Fybl9tb2RlLCBmb3JjZTsKK3N0YXRpYyBpbnQgZGlyZWN0b3J5LCByZWd1bGFyLCBibG9ja2RldiwgY2hhcmRldiwgbGlua3MsIHN5bWxpbmtzLCB0b3RhbDsKKworc3RhdGljIGludCBjaGFuZ2VkOwkJLyogZmxhZ3MgaWYgdGhlIGZpbGVzeXN0ZW0gaGFzIGJlZW4gY2hhbmdlZCAqLworc3RhdGljIGludCBlcnJvcnNfdW5jb3JyZWN0ZWQ7CS8qIGZsYWcgaWYgc29tZSBlcnJvciB3YXMgbm90IGNvcnJlY3RlZCAqLworc3RhdGljIHNpemVfdCBkaXJzaXplID0gMTY7CitzdGF0aWMgc2l6ZV90IG5hbWVsZW4gPSAxNDsKK3N0YXRpYyBzdHJ1Y3QgdGVybWlvcyB0ZXJtaW9zOworc3RhdGljIHZvbGF0aWxlIHNpZ19hdG9taWNfdCB0ZXJtaW9zX3NldDsKKworLyogRmlsZS1uYW1lIGRhdGEgKi8KKyNkZWZpbmUgTUFYX0RFUFRIIDUwCitzdGF0aWMgaW50IG5hbWVfZGVwdGg7CitzdGF0aWMgY2hhciBuYW1lX2xpc3RbTUFYX0RFUFRIXVtNSU5JWF9OQU1FX01BWCArIDFdOworCisvKiBDb3B5IG9mIHRoZSBwcmV2aW91cywganVzdCBmb3IgZXJyb3IgcmVwb3J0aW5nIC0gc2VlIGdldF9jdXJyZW50X25hbWUuICBUaGlzCisgKiBpcyBhIHdhc3RlIG9mIDEya0Igb3Igc28uICAqLworc3RhdGljIGNoYXIgY3VycmVudF9uYW1lW01BWF9ERVBUSCAqIChNSU5JWF9OQU1FX01BWCArIDEpICsgMV07CisKK3N0YXRpYyB1bnNpZ25lZCBjaGFyICppbm9kZV9jb3VudCA9IE5VTEw7CitzdGF0aWMgdW5zaWduZWQgY2hhciAqem9uZV9jb3VudCA9IE5VTEw7CisKK3N0YXRpYyB2b2lkIHJlY3Vyc2l2ZV9jaGVjayh1bnNpZ25lZCBpbnQgaW5vKTsKK3N0YXRpYyB2b2lkIHJlY3Vyc2l2ZV9jaGVjazIodW5zaWduZWQgaW50IGlubyk7CisKK3N0YXRpYyBjaGFyICppbm9kZV9tYXA7CitzdGF0aWMgY2hhciAqem9uZV9tYXA7CisKKyNkZWZpbmUgaW5vZGVfaW5fdXNlKHgpIChpc3NldChpbm9kZV9tYXAsKHgpKSAhPSAwKQorI2RlZmluZSB6b25lX2luX3VzZSh4KSAoaXNzZXQoem9uZV9tYXAsKHgpLWdldF9maXJzdF96b25lKCkrMSkgIT0gMCkKKworI2RlZmluZSBtYXJrX2lub2RlKHgpIChzZXRiaXQoaW5vZGVfbWFwLCh4KSksY2hhbmdlZD0xKQorI2RlZmluZSB1bm1hcmtfaW5vZGUoeCkgKGNscmJpdChpbm9kZV9tYXAsKHgpKSxjaGFuZ2VkPTEpCisKKyNkZWZpbmUgbWFya196b25lKHgpIChzZXRiaXQoem9uZV9tYXAsKHgpLWdldF9maXJzdF96b25lKCkrMSksY2hhbmdlZD0xKQorI2RlZmluZSB1bm1hcmtfem9uZSh4KSAoY2xyYml0KHpvbmVfbWFwLCh4KS1nZXRfZmlyc3Rfem9uZSgpKzEpLGNoYW5nZWQ9MSkKKworc3RhdGljIHZvaWQKK3Jlc2V0KHZvaWQpIHsKKwlpZiAodGVybWlvc19zZXQpCisJCXRjc2V0YXR0cihTVERJTl9GSUxFTk8sIFRDU0FOT1csICZ0ZXJtaW9zKTsKK30KKworc3RhdGljIHZvaWQKK2ZhdGFsc2lnKGludCBzaWcpIHsKKwkvKiBXZSByZWNlaXZlZCBhIGZhdGFsIHNpZ25hbC4gIFJlc2V0IHRoZSB0ZXJtaW5hbC4gIEFsc28gcmVzZXQgdGhlCisJICogc2lnbmFsIGhhbmRsZXIgYW5kIHJlLXNlbmQgdGhlIHNpZ25hbCwgc28gdGhhdCB0aGUgcGFyZW50IHByb2Nlc3MKKwkgKiBrbm93cyB3aGljaCBzaWduYWwgYWN0dWFsbHkgY2F1c2VkIG91ciBkZWF0aC4gICovCisJc2lnbmFsKHNpZywgU0lHX0RGTCk7CisJcmVzZXQoKTsKKwlyYWlzZShzaWcpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQorbGVhdmUoaW50IHN0YXR1cykgeworCXJlc2V0KCk7CisJZXhpdChzdGF0dXMpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQordXNhZ2Uodm9pZCkgeworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygxOCkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiZnNjay5taW5peCg4KSIpKTsKKwlleGl0KEZTQ0tfRVhfT0spOworfQorCitzdGF0aWMgdm9pZCBkaWUoY29uc3QgY2hhciAqZm10LCAuLi4pCisgICAgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18oX19wcmludGZfXywgMSwgMikpKTsKKworc3RhdGljIHZvaWQKK2RpZShjb25zdCBjaGFyICpmbXQsIC4uLikgeworCXZhX2xpc3QgYXA7CisKKwlmcHJpbnRmKHN0ZGVyciwgVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwl2YV9zdGFydChhcCwgZm10KTsKKwl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwlsZWF2ZShGU0NLX0VYX0VSUk9SKTsKK30KKworLyogVGhpcyBzaW1wbHkgZ29lcyB0aHJvdWdoIHRoZSBmaWxlLW5hbWUgZGF0YSBhbmQgcHJpbnRzIG91dCB0aGUgY3VycmVudCBmaWxlLiAgKi8KK3N0YXRpYyB2b2lkCitnZXRfY3VycmVudF9uYW1lKHZvaWQpIHsKKwlpbnQgaSA9IDAsIGN0OworCWNoYXIgKnAsICpxOworCisJcSA9IGN1cnJlbnRfbmFtZTsKKwl3aGlsZSAoaSA8IG5hbWVfZGVwdGgpIHsKKwkJcCA9IG5hbWVfbGlzdFtpKytdOworCQljdCA9IG5hbWVsZW47CisJCSpxKysgPSAnLyc7CisJCXdoaWxlIChjdC0tICYmICpwKQorCQkJKnErKyA9ICpwKys7CisJfQorCWlmIChpID09IDApCisJCSpxKysgPSAnLyc7CisJKnEgPSAwOworfQorCitzdGF0aWMgaW50Cithc2soY29uc3QgY2hhciAqc3RyaW5nLCBpbnQgZGVmKSB7CisJaW50IHJlc3A7CisJY2hhciBpbnB1dFtZRVNOT19MRU5HVEhdOworCisJaWYgKCFyZXBhaXIpIHsKKwkJcHJpbnRmKCJcbiIpOworCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCQlyZXR1cm4gMDsKKwl9CisJaWYgKGF1dG9tYXRpYykgeworCQlwcmludGYoIlxuIik7CisJCWlmICghZGVmKQorCQkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwkJcmV0dXJuIGRlZjsKKwl9CisJLyogVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKwkgKiB0cmFuc2xhdGVkLiAgKi8KKwlwcmludGYoZGVmID8gXygiJXMgKHkvbik/ICIpIDogXygiJXMgKG4veSk/ICIpLCBzdHJpbmcpOworCWZmbHVzaChzdGRvdXQpOworCWlnbm9yZV9yZXN1bHQoIGZnZXRzKGlucHV0LCBZRVNOT19MRU5HVEgsIHN0ZGluKSApOworCXJlc3AgPSBycG1hdGNoKGlucHV0KTsKKwlzd2l0Y2ggKHJlc3ApIHsKKwljYXNlIFJQTUFUQ0hfSU5WQUxJRDoKKwkJLyogZGVmID0gZGVmICovCisJCWJyZWFrOworCWNhc2UgUlBNQVRDSF9OTzoKKwljYXNlIFJQTUFUQ0hfWUVTOgorCQlkZWYgPSByZXNwOworCQlicmVhazsKKwlkZWZhdWx0OgorCQkvKiBycG1hdGNoIGJ1Zz8gKi8KKwkJYWJvcnQoKTsKKwl9CisJaWYgKGRlZikKKwkJcHJpbnRmKF8oInlcbiIpKTsKKwllbHNlIHsKKwkJcHJpbnRmKF8oIm5cbiIpKTsKKwkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwl9CisJcmV0dXJuIGRlZjsKK30KKworLyogTWFrZSBjZXJ0YWluIHRoYXQgd2UgYXJlbid0IGNoZWNraW5nIGEgZmlsZXN5c3RlbSB0aGF0IGlzIG9uIGEgbW91bnRlZAorICogcGFydGl0aW9uLiAgQ29kZSBhZGFwdGVkIGZyb20gZTJmc2NrLCBDb3B5cmlnaHQgKEMpIDE5OTMsIDE5OTQgVGhlb2RvcmUKKyAqIFRzJ28uICBBbHNvIGxpY2Vuc2VkIHVuZGVyIEdQTC4gICovCitzdGF0aWMgdm9pZAorY2hlY2tfbW91bnQodm9pZCkgeworCWludCBjb250OworCisJaWYgKCFpc19tb3VudGVkKGRldmljZV9uYW1lKSkKKwkJcmV0dXJuOworCisJcHJpbnRmKF8oIiVzIGlzIG1vdW50ZWQuCSAiKSwgZGV2aWNlX25hbWUpOworCWlmIChpc2F0dHkoU1RESU5fRklMRU5PKSAmJiBpc2F0dHkoU1RET1VUX0ZJTEVOTykpCisJCWNvbnQgPSBhc2soXygiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIiksIDApOworCWVsc2UKKwkJY29udCA9IDA7CisJaWYgKCFjb250KSB7CisJCXByaW50ZihfKCJjaGVjayBhYm9ydGVkLlxuIikpOworCQlleGl0KEZTQ0tfRVhfT0spOworCX0KKwlyZXR1cm47Cit9CisKKworc3RhdGljIGludCBpc192YWxpZF96b25lX25yKHVuc2lnbmVkIHNob3J0IG5yKQoreworCWlmIChuciA8IGdldF9maXJzdF96b25lKCkpCisJCXJldHVybiAwOworCWVsc2UgaWYgKG5yID49IGdldF9uem9uZXMoKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKy8qIGNoZWNrX3pvbmVfbnIgY2hlY2tzIHRvIHNlZSB0aGF0ICpuciBpcyBhIHZhbGlkIHpvbmUgbnIuICBJZiBpdCBpc24ndCwgaXQKKyAqIHdpbGwgcG9zc2libHkgYmUgcmVwYWlyZWQuICBDaGVja196b25lX25yIHNldHMgKmNvcnJlY3RlZCBpZiBhbiBlcnJvciB3YXMKKyAqIGNvcnJlY3RlZCwgYW5kIHJldHVybnMgdGhlIHpvbmUgKDAgZm9yIG5vIHpvbmUgb3IgYSBiYWQgem9uZS1udW1iZXIpLiAgKi8KK3N0YXRpYyBpbnQKK2NoZWNrX3pvbmVfbnIodW5zaWduZWQgc2hvcnQgKm5yLCBpbnQgKmNvcnJlY3RlZCkgeworCWlmICghKm5yKQorCQlyZXR1cm4gMDsKKworCWlmICgqbnIgPCBnZXRfZmlyc3Rfem9uZSgpKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIpLCBjdXJyZW50X25hbWUpOworCX0gZWxzZSBpZiAoKm5yID49IGdldF9uem9uZXMoKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iKSwgY3VycmVudF9uYW1lKTsKKwl9IGVsc2UKKwkJcmV0dXJuICpucjsKKworCWlmIChhc2soXygiUmVtb3ZlIGJsb2NrIiksIDEpKSB7CisJCSpuciA9IDA7CisJCSpjb3JyZWN0ZWQgPSAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorY2hlY2tfem9uZV9ucjIodW5zaWduZWQgaW50ICpuciwgaW50ICpjb3JyZWN0ZWQpIHsKKwlpZiAoISpucikKKwkJcmV0dXJuIDA7CisKKwlpZiAoKm5yIDwgZ2V0X2ZpcnN0X3pvbmUoKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iKSwgY3VycmVudF9uYW1lKTsKKwl9IGVsc2UgaWYgKCpuciA+PSBnZXRfbnpvbmVzKCkpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIiksIGN1cnJlbnRfbmFtZSk7CisJfSBlbHNlCisJCXJldHVybiAqbnI7CisKKwlpZiAoYXNrKF8oIlJlbW92ZSBibG9jayIpLCAxKSkgeworCQkqbnIgPSAwOworCQkqY29ycmVjdGVkID0gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIHJlYWQtYmxvY2sgcmVhZHMgYmxvY2sgbnIgaW50byB0aGUgYnVmZmVyIGF0IGFkZHIuICAqLworc3RhdGljIHZvaWQKK3JlYWRfYmxvY2sodW5zaWduZWQgaW50IG5yLCBjaGFyICphZGRyKSB7CisJaWYgKCFucikgeworCQltZW1zZXQoYWRkciwgMCwgTUlOSVhfQkxPQ0tfU0laRSk7CisJCXJldHVybjsKKwl9CisJaWYgKE1JTklYX0JMT0NLX1NJWkUgKiBuciAhPSBsc2VlayhkZXZpY2VfZmQsIE1JTklYX0JMT0NLX1NJWkUgKiBuciwgU0VFS19TRVQpKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIiksCisJCSAgICAgICBjdXJyZW50X25hbWUpOworCQltZW1zZXQoYWRkciwgMCwgTUlOSVhfQkxPQ0tfU0laRSk7CisJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJfSBlbHNlIGlmIChNSU5JWF9CTE9DS19TSVpFICE9IHJlYWQoZGV2aWNlX2ZkLCBhZGRyLCBNSU5JWF9CTE9DS19TSVpFKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iKSwgY3VycmVudF9uYW1lKTsKKwkJbWVtc2V0KGFkZHIsIDAsIE1JTklYX0JMT0NLX1NJWkUpOworCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCX0KK30KKworLyogd3JpdGVfYmxvY2sgd3JpdGVzIGJsb2NrIG5yIHRvIGRpc2suICAqLworc3RhdGljIHZvaWQKK3dyaXRlX2Jsb2NrKHVuc2lnbmVkIGludCBuciwgY2hhciAqYWRkcikgeworCWlmICghbnIpCisJCXJldHVybjsKKwlpZiAobnIgPCBnZXRfZmlyc3Rfem9uZSgpIHx8IG5yID49IGdldF9uem9uZXMoKSkgeworCQlwcmludGYoXygiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKwkJCSAiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iKSk7CisJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJCXJldHVybjsKKwl9CisJaWYgKE1JTklYX0JMT0NLX1NJWkUgKiBuciAhPSBsc2VlayhkZXZpY2VfZmQsIE1JTklYX0JMT0NLX1NJWkUgKiBuciwgU0VFS19TRVQpKQorCQlkaWUoXygic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siKSk7CisJaWYgKE1JTklYX0JMT0NLX1NJWkUgIT0gd3JpdGUoZGV2aWNlX2ZkLCBhZGRyLCBNSU5JWF9CTE9DS19TSVpFKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIiksCisJCSAgICAgICBjdXJyZW50X25hbWUpOworCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCX0KK30KKworLyogbWFwLWJsb2NrIGNhbGN1bGF0ZXMgdGhlIGFic29sdXRlIGJsb2NrIG5yIG9mIGEgYmxvY2sgaW4gYSBmaWxlLiAgSXQgc2V0cworICogJ2NoYW5nZWQnIGlmIHRoZSBpbm9kZSBoYXMgbmVlZGVkIGNoYW5naW5nLCBhbmQgcmUtd3JpdGVzIGFueSBpbmRpcmVjdAorICogYmxvY2tzIHdpdGggZXJyb3JzLiAgKi8KK3N0YXRpYyBpbnQKK21hcF9ibG9jayhzdHJ1Y3QgbWluaXhfaW5vZGUgKmlub2RlLCB1bnNpZ25lZCBpbnQgYmxrbnIpIHsKKwl1bnNpZ25lZCBzaG9ydCBpbmRbTUlOSVhfQkxPQ0tfU0laRSA+PiAxXTsKKwl1bnNpZ25lZCBzaG9ydCBkaW5kW01JTklYX0JMT0NLX1NJWkUgPj4gMV07CisJaW50IGJsa19jaGcsIGJsb2NrLCByZXN1bHQ7CisJc2l6ZV90IHJhbmdlOworCisJaWYgKGJsa25yIDwgNykKKwkJcmV0dXJuIGNoZWNrX3pvbmVfbnIoaW5vZGUtPmlfem9uZSArIGJsa25yLCAmY2hhbmdlZCk7CisJYmxrbnIgLT0gNzsKKwlpZiAoYmxrbnIgPCA1MTIpIHsKKwkJYmxvY2sgPSBjaGVja196b25lX25yKGlub2RlLT5pX3pvbmUgKyA3LCAmY2hhbmdlZCk7CisJCXJlYWRfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwkJYmxrX2NoZyA9IDA7CisJCXJlc3VsdCA9IGNoZWNrX3pvbmVfbnIoYmxrbnIgKyBpbmQsICZibGtfY2hnKTsKKwkJaWYgKGJsa19jaGcpCisJCQl3cml0ZV9ibG9jayhibG9jaywgKGNoYXIgKilpbmQpOworCQlyZXR1cm4gcmVzdWx0OworCX0KKwlibGtuciAtPSA1MTI7CisJYmxvY2sgPSBjaGVja196b25lX25yKGlub2RlLT5pX3pvbmUgKyA4LCAmY2hhbmdlZCk7CisJcmVhZF9ibG9jayhibG9jaywgKGNoYXIgKilkaW5kKTsKKwlibGtfY2hnID0gMDsKKwlyYW5nZSA9IGJsa25yIC8gNTEyOworCWlmIChBUlJBWV9TSVpFKGRpbmQpIDw9IHJhbmdlKSB7CisJCXByaW50ZihfKCJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIpKTsKKwkJcmV0dXJuIDE7CisJfQorCXJlc3VsdCA9IGNoZWNrX3pvbmVfbnIoZGluZCArIHJhbmdlLCAmYmxrX2NoZyk7CisJaWYgKGJsa19jaGcpCisJCXdyaXRlX2Jsb2NrKGJsb2NrLCAoY2hhciAqKWRpbmQpOworCWJsb2NrID0gcmVzdWx0OworCXJlYWRfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwlibGtfY2hnID0gMDsKKwlyZXN1bHQgPSBjaGVja196b25lX25yKGluZCArIChibGtuciAlIDUxMiksICZibGtfY2hnKTsKKwlpZiAoYmxrX2NoZykKKwkJd3JpdGVfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgaW50CittYXBfYmxvY2syKHN0cnVjdCBtaW5peDJfaW5vZGUgKmlub2RlLCB1bnNpZ25lZCBpbnQgYmxrbnIpIHsKKwl1bnNpZ25lZCBpbnQgaW5kW01JTklYX0JMT0NLX1NJWkUgPj4gMl07CisJdW5zaWduZWQgaW50IGRpbmRbTUlOSVhfQkxPQ0tfU0laRSA+PiAyXTsKKwl1bnNpZ25lZCBpbnQgdGluZFtNSU5JWF9CTE9DS19TSVpFID4+IDJdOworCWludCBibGtfY2hnLCBibG9jaywgcmVzdWx0OworCisJaWYgKGJsa25yIDwgNykKKwkJcmV0dXJuIGNoZWNrX3pvbmVfbnIyKGlub2RlLT5pX3pvbmUgKyBibGtuciwgJmNoYW5nZWQpOworCWJsa25yIC09IDc7CisJaWYgKGJsa25yIDwgMjU2KSB7CisJCWJsb2NrID0gY2hlY2tfem9uZV9ucjIoaW5vZGUtPmlfem9uZSArIDcsICZjaGFuZ2VkKTsKKwkJcmVhZF9ibG9jayhibG9jaywgKGNoYXIgKilpbmQpOworCQlibGtfY2hnID0gMDsKKwkJcmVzdWx0ID0gY2hlY2tfem9uZV9ucjIoYmxrbnIgKyBpbmQsICZibGtfY2hnKTsKKwkJaWYgKGJsa19jaGcpCisJCQl3cml0ZV9ibG9jayhibG9jaywgKGNoYXIgKilpbmQpOworCQlyZXR1cm4gcmVzdWx0OworCX0KKwlibGtuciAtPSAyNTY7CisJaWYgKGJsa25yIDwgMjU2ICogMjU2KSB7CisJCWJsb2NrID0gY2hlY2tfem9uZV9ucjIoaW5vZGUtPmlfem9uZSArIDgsICZjaGFuZ2VkKTsKKwkJcmVhZF9ibG9jayhibG9jaywgKGNoYXIgKilkaW5kKTsKKwkJYmxrX2NoZyA9IDA7CisJCXJlc3VsdCA9IGNoZWNrX3pvbmVfbnIyKGRpbmQgKyBibGtuciAvIDI1NiwgJmJsa19jaGcpOworCQlpZiAoYmxrX2NoZykKKwkJCXdyaXRlX2Jsb2NrKGJsb2NrLCAoY2hhciAqKWRpbmQpOworCQlibG9jayA9IHJlc3VsdDsKKwkJcmVhZF9ibG9jayhibG9jaywgKGNoYXIgKilpbmQpOworCQlibGtfY2hnID0gMDsKKwkJcmVzdWx0ID0gY2hlY2tfem9uZV9ucjIoaW5kICsgYmxrbnIgJSAyNTYsICZibGtfY2hnKTsKKwkJaWYgKGJsa19jaGcpCisJCQl3cml0ZV9ibG9jayhibG9jaywgKGNoYXIgKilpbmQpOworCQlyZXR1cm4gcmVzdWx0OworCX0KKwlibGtuciAtPSAyNTYgKiAyNTY7CisJYmxvY2sgPSBjaGVja196b25lX25yMihpbm9kZS0+aV96b25lICsgOSwgJmNoYW5nZWQpOworCXJlYWRfYmxvY2soYmxvY2ssIChjaGFyICopdGluZCk7CisJYmxrX2NoZyA9IDA7CisJcmVzdWx0ID0gY2hlY2tfem9uZV9ucjIodGluZCArIGJsa25yIC8gKDI1NiAqIDI1NiksICZibGtfY2hnKTsKKwlpZiAoYmxrX2NoZykKKwkJd3JpdGVfYmxvY2soYmxvY2ssIChjaGFyICopdGluZCk7CisJYmxvY2sgPSByZXN1bHQ7CisJcmVhZF9ibG9jayhibG9jaywgKGNoYXIgKilkaW5kKTsKKwlibGtfY2hnID0gMDsKKwlyZXN1bHQgPSBjaGVja196b25lX25yMihkaW5kICsgKGJsa25yIC8gMjU2KSAlIDI1NiwgJmJsa19jaGcpOworCWlmIChibGtfY2hnKQorCQl3cml0ZV9ibG9jayhibG9jaywgKGNoYXIgKilkaW5kKTsKKwlibG9jayA9IHJlc3VsdDsKKwlyZWFkX2Jsb2NrKGJsb2NrLCAoY2hhciAqKWluZCk7CisJYmxrX2NoZyA9IDA7CisJcmVzdWx0ID0gY2hlY2tfem9uZV9ucjIoaW5kICsgYmxrbnIgJSAyNTYsICZibGtfY2hnKTsKKwlpZiAoYmxrX2NoZykKKwkJd3JpdGVfYmxvY2soYmxvY2ssIChjaGFyICopaW5kKTsKKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgdm9pZAord3JpdGVfc3VwZXJfYmxvY2sodm9pZCkgeworCS8qIHYzIHN1cGVyIGJsb2NrIGRvZXMgbm90IHRyYWNrIHN0YXRlICovCisJaWYgKGZzX3ZlcnNpb24gPT0gMykKKwkJcmV0dXJuOworCS8qIFNldCB0aGUgc3RhdGUgb2YgdGhlIGZpbGVzeXN0ZW0gYmFzZWQgb24gd2hldGhlciBvciBub3QgdGhlcmUgYXJlCisJICogdW5jb3JyZWN0ZWQgZXJyb3JzLiAgVGhlIGZpbGVzeXN0ZW0gdmFsaWQgZmxhZyBpcyB1bmNvbmRpdGlvbmFsbHkKKwkgKiBzZXQgaWYgd2UgZ2V0IHRoaXMgZmFyLiAgKi8KKwlTdXBlci5zX3N0YXRlIHw9IE1JTklYX1ZBTElEX0ZTOworCWlmIChlcnJvcnNfdW5jb3JyZWN0ZWQpCisJCVN1cGVyLnNfc3RhdGUgfD0gTUlOSVhfRVJST1JfRlM7CisJZWxzZQorCQlTdXBlci5zX3N0YXRlICY9IH5NSU5JWF9FUlJPUl9GUzsKKworCWlmIChNSU5JWF9CTE9DS19TSVpFICE9IGxzZWVrKGRldmljZV9mZCwgTUlOSVhfQkxPQ0tfU0laRSwgU0VFS19TRVQpKQorCQlkaWUoXygic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siKSk7CisJaWYgKE1JTklYX0JMT0NLX1NJWkUgIT0gd3JpdGUoZGV2aWNlX2ZkLCBzdXBlcl9ibG9ja19idWZmZXIsIE1JTklYX0JMT0NLX1NJWkUpKQorCQlkaWUoXygidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIikpOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQKK3dyaXRlX3RhYmxlcyh2b2lkKSB7CisJdW5zaWduZWQgbG9uZyBidWZmc3ogPSBnZXRfaW5vZGVfYnVmZmVyX3NpemUoKTsKKwl1bnNpZ25lZCBsb25nIGltYXBzID0gZ2V0X25pbWFwcygpOworCXVuc2lnbmVkIGxvbmcgem1hcHMgPSBnZXRfbnptYXBzKCk7CisKKwl3cml0ZV9zdXBlcl9ibG9jaygpOworCisJaWYgKHdyaXRlX2FsbChkZXZpY2VfZmQsIGlub2RlX21hcCwgaW1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKSkKKwkJZGllKF8oIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiKSk7CisKKwlpZiAod3JpdGVfYWxsKGRldmljZV9mZCwgem9uZV9tYXAsIHptYXBzICogTUlOSVhfQkxPQ0tfU0laRSkpCisJCWRpZShfKCJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiKSk7CisKKwlpZiAod3JpdGVfYWxsKGRldmljZV9mZCwgaW5vZGVfYnVmZmVyLCBidWZmc3opKQorCQlkaWUoXygiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIpKTsKK30KKworc3RhdGljIHZvaWQKK2dldF9kaXJzaXplKHZvaWQpIHsKKwlpbnQgYmxvY2s7CisJY2hhciBibGtbTUlOSVhfQkxPQ0tfU0laRV07CisJc2l6ZV90IHNpemU7CisKKwlpZiAoZnNfdmVyc2lvbiA9PSAyIHx8IGZzX3ZlcnNpb24gPT0gMykKKwkJYmxvY2sgPSBJbm9kZTJbUk9PVF9JTk9dLmlfem9uZVswXTsKKwllbHNlCisJCWJsb2NrID0gSW5vZGVbUk9PVF9JTk9dLmlfem9uZVswXTsKKwlyZWFkX2Jsb2NrKGJsb2NrLCBibGspOworCisJZm9yIChzaXplID0gMTY7IHNpemUgPCBNSU5JWF9CTE9DS19TSVpFOyBzaXplIDw8PSAxKSB7CisJCWlmIChzdHJjbXAoYmxrICsgc2l6ZSArIDIsICIuLiIpID09IDApIHsKKwkJCWRpcnNpemUgPSBzaXplOworCQkJbmFtZWxlbiA9IHNpemUgLSAyOworCQkJcmV0dXJuOworCQl9CisJfQorCS8qIHVzZSBkZWZhdWx0cyAqLworfQorCitzdGF0aWMgdm9pZAorcmVhZF9zdXBlcmJsb2NrKHZvaWQpIHsKKwlpZiAoTUlOSVhfQkxPQ0tfU0laRSAhPSBsc2VlayhkZXZpY2VfZmQsIE1JTklYX0JMT0NLX1NJWkUsIFNFRUtfU0VUKSkKKwkJZGllKF8oInNlZWsgZmFpbGVkIikpOworCisJc3VwZXJfYmxvY2tfYnVmZmVyID0gY2FsbG9jKDEsIE1JTklYX0JMT0NLX1NJWkUpOworCWlmICghc3VwZXJfYmxvY2tfYnVmZmVyKQorCQlkaWUoXygidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIpKTsKKworCWlmIChNSU5JWF9CTE9DS19TSVpFICE9IHJlYWQoZGV2aWNlX2ZkLCBzdXBlcl9ibG9ja19idWZmZXIsIE1JTklYX0JMT0NLX1NJWkUpKQorCQlkaWUoXygidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siKSk7CisJaWYgKFN1cGVyLnNfbWFnaWMgPT0gTUlOSVhfU1VQRVJfTUFHSUMpIHsKKwkJbmFtZWxlbiA9IDE0OworCQlkaXJzaXplID0gMTY7CisJCWZzX3ZlcnNpb24gPSAxOworCX0gZWxzZSBpZiAoU3VwZXIuc19tYWdpYyA9PSBNSU5JWF9TVVBFUl9NQUdJQzIpIHsKKwkJbmFtZWxlbiA9IDMwOworCQlkaXJzaXplID0gMzI7CisJCWZzX3ZlcnNpb24gPSAxOworCX0gZWxzZSBpZiAoU3VwZXIuc19tYWdpYyA9PSBNSU5JWDJfU1VQRVJfTUFHSUMpIHsKKwkJbmFtZWxlbiA9IDE0OworCQlkaXJzaXplID0gMTY7CisJCWZzX3ZlcnNpb24gPSAyOworCX0gZWxzZSBpZiAoU3VwZXIuc19tYWdpYyA9PSBNSU5JWDJfU1VQRVJfTUFHSUMyKSB7CisJCW5hbWVsZW4gPSAzMDsKKwkJZGlyc2l6ZSA9IDMyOworCQlmc192ZXJzaW9uID0gMjsKKwl9IGVsc2UgaWYgKFN1cGVyMy5zX21hZ2ljID09IE1JTklYM19TVVBFUl9NQUdJQykgeworCQluYW1lbGVuID0gNjA7CisJCWRpcnNpemUgPSA2NDsKKwkJZnNfdmVyc2lvbiA9IDM7CisJfSBlbHNlCisJCWRpZShfKCJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIikpOworCWlmIChnZXRfem9uZV9zaXplKCkgIT0gMCB8fCBNSU5JWF9CTE9DS19TSVpFICE9IDEwMjQpCisJCWRpZShfKCJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiKSk7CisJaWYgKGdldF9uaW5vZGVzKCkgPT0gMCB8fCBnZXRfbmlub2RlcygpID09IFVJTlQzMl9NQVgpCisJCWRpZShfKCJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIikpOworCWlmIChnZXRfbmltYXBzKCkgKiBNSU5JWF9CTE9DS19TSVpFICogOCA8IGdldF9uaW5vZGVzKCkgKyAxKQorCQlkaWUoXygiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siKSk7CisJaWYgKGdldF9maXJzdF96b25lKCkgPiAob2ZmX3QpIGdldF9uem9uZXMoKSkKKwkJZGllKF8oImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siKSk7CisJaWYgKGdldF9uem1hcHMoKSAqIE1JTklYX0JMT0NLX1NJWkUgKiA4IDwKKwkgICAgZ2V0X256b25lcygpIC0gZ2V0X2ZpcnN0X3pvbmUoKSArIDEpCisJCWRpZShfKCJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIpKTsKK30KKworc3RhdGljIHZvaWQKK3JlYWRfdGFibGVzKHZvaWQpIHsKKwl1bnNpZ25lZCBsb25nIGlub2RlcyA9IGdldF9uaW5vZGVzKCk7CisJc2l6ZV90IGJ1ZmZzeiA9IGdldF9pbm9kZV9idWZmZXJfc2l6ZSgpOworCW9mZl90IG5vcm1fZmlyc3Rfem9uZSA9IGZpcnN0X3pvbmVfZGF0YSgpOworCW9mZl90IGZpcnN0X3pvbmUgPSBnZXRfZmlyc3Rfem9uZSgpOworCXVuc2lnbmVkIGxvbmcgem9uZXMgPSBnZXRfbnpvbmVzKCk7CisJdW5zaWduZWQgbG9uZyBpbWFwcyA9IGdldF9uaW1hcHMoKTsKKwl1bnNpZ25lZCBsb25nIHptYXBzID0gZ2V0X256bWFwcygpOworCXNzaXplX3QgcmM7CisKKwlpbm9kZV9tYXAgPSBtYWxsb2MoaW1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKTsKKwlpZiAoIWlub2RlX21hcCkKKwkJZGllKF8oIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIpKTsKKwl6b25lX21hcCA9IG1hbGxvYyh6bWFwcyAqIE1JTklYX0JMT0NLX1NJWkUpOworCWlmICghem9uZV9tYXApCisJCWRpZShfKCJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIpKTsKKwlpbm9kZV9idWZmZXIgPSBtYWxsb2MoYnVmZnN6KTsKKwlpZiAoIWlub2RlX2J1ZmZlcikKKwkJZGllKF8oIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIpKTsKKwlpbm9kZV9jb3VudCA9IGNhbGxvYygxLCBpbm9kZXMgKyAxKTsKKwlpZiAoIWlub2RlX2NvdW50KQorCQlkaWUoXygiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiKSk7CisJem9uZV9jb3VudCA9IGNhbGxvYygxLCB6b25lcyk7CisJaWYgKCF6b25lX2NvdW50KQorCQlkaWUoXygiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIpKTsKKworCXJjID0gcmVhZChkZXZpY2VfZmQsIGlub2RlX21hcCwgaW1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKTsKKwlpZiAocmMgPCAwIHx8IGltYXBzICogTUlOSVhfQkxPQ0tfU0laRSAhPSAoc2l6ZV90KSByYykKKwkJZGllKF8oIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIpKTsKKworCXJjID0gcmVhZChkZXZpY2VfZmQsIHpvbmVfbWFwLCB6bWFwcyAqIE1JTklYX0JMT0NLX1NJWkUpOworCWlmIChyYyA8IDAgfHwgem1hcHMgKiBNSU5JWF9CTE9DS19TSVpFICE9IChzaXplX3QpIHJjKQorCQlkaWUoXygiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiKSk7CisKKwlyYyA9IHJlYWQoZGV2aWNlX2ZkLCBpbm9kZV9idWZmZXIsIGJ1ZmZzeik7CisJaWYgKHJjIDwgMCB8fCBidWZmc3ogIT0gKHNpemVfdCkgcmMpCisJCWRpZShfKCJVbmFibGUgdG8gcmVhZCBpbm9kZXMiKSk7CisJaWYgKG5vcm1fZmlyc3Rfem9uZSAhPSBmaXJzdF96b25lKSB7CisJCXByaW50ZihfKCJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIpKTsKKwkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwl9CisJZ2V0X2RpcnNpemUoKTsKKwlpZiAoc2hvdykgeworCQlwcmludGYoXygiJWxkIGlub2Rlc1xuIiksIGlub2Rlcyk7CisJCXByaW50ZihfKCIlbGQgYmxvY2tzXG4iKSwgem9uZXMpOworCQlwcmludGYoXygiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIpLAorCQkJKGludG1heF90KWZpcnN0X3pvbmUsIChpbnRtYXhfdClub3JtX2ZpcnN0X3pvbmUpOworCQlwcmludGYoXygiWm9uZXNpemU9JWRcbiIpLCBNSU5JWF9CTE9DS19TSVpFIDw8IGdldF96b25lX3NpemUoKSk7CisJCXByaW50ZihfKCJNYXhzaXplPSV6dVxuIiksIGdldF9tYXhfc2l6ZSgpKTsKKwkJaWYgKGZzX3ZlcnNpb24gPCAzKQorCQkJcHJpbnRmKF8oIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIpLCBTdXBlci5zX3N0YXRlKTsKKwkJcHJpbnRmKF8oIm5hbWVsZW49JXpkXG5cbiIpLCBuYW1lbGVuKTsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbWluaXhfaW5vZGUgKgorZ2V0X2lub2RlKHVuc2lnbmVkIGludCBucikgeworCXN0cnVjdCBtaW5peF9pbm9kZSAqaW5vZGU7CisKKwlpZiAoIW5yIHx8IG5yID4gZ2V0X25pbm9kZXMoKSkKKwkJcmV0dXJuIE5VTEw7CisJdG90YWwrKzsKKwlpbm9kZSA9IElub2RlICsgbnI7CisJaWYgKCFpbm9kZV9jb3VudFtucl0pIHsKKwkJaWYgKCFpbm9kZV9pbl91c2UobnIpKSB7CisJCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCQlwcmludGYoXygiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgIgorCQkJCSAiYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIiksIG5yLCBjdXJyZW50X25hbWUpOworCQkJaWYgKHJlcGFpcikgeworCQkJCWlmIChhc2soXygiTWFyayBpbiB1c2UiKSwgMSkpCisJCQkJCW1hcmtfaW5vZGUobnIpOworCQkJfSBlbHNlIHsKKwkJCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCQkJfQorCQl9CisJCWlmIChTX0lTRElSKGlub2RlLT5pX21vZGUpKQorCQkJZGlyZWN0b3J5Kys7CisJCWVsc2UgaWYgKFNfSVNSRUcoaW5vZGUtPmlfbW9kZSkpCisJCQlyZWd1bGFyKys7CisJCWVsc2UgaWYgKFNfSVNDSFIoaW5vZGUtPmlfbW9kZSkpCisJCQljaGFyZGV2Kys7CisJCWVsc2UgaWYgKFNfSVNCTEsoaW5vZGUtPmlfbW9kZSkpCisJCQlibG9ja2RldisrOworCQllbHNlIGlmIChTX0lTTE5LKGlub2RlLT5pX21vZGUpKQorCQkJc3ltbGlua3MrKzsKKwkJZWxzZSBpZiAoU19JU1NPQ0soaW5vZGUtPmlfbW9kZSkpCisJCQk7CisJCWVsc2UgaWYgKFNfSVNGSUZPKGlub2RlLT5pX21vZGUpKQorCQkJOworCQllbHNlIHsKKwkJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJCXByaW50ZihfKCJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIpLAorCQkJICAgICAgIGN1cnJlbnRfbmFtZSwgaW5vZGUtPmlfbW9kZSk7CisJCX0KKworCX0gZWxzZQorCQlsaW5rcysrOworCWlmICghKytpbm9kZV9jb3VudFtucl0pIHsKKwkJcHJpbnRmKF8oIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iKSk7CisJCWlub2RlX2NvdW50W25yXS0tOworCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCX0KKwlyZXR1cm4gaW5vZGU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbWluaXgyX2lub2RlICoKK2dldF9pbm9kZTIodW5zaWduZWQgaW50IG5yKSB7CisJc3RydWN0IG1pbml4Ml9pbm9kZSAqaW5vZGU7CisKKwlpZiAoIW5yIHx8IG5yID4gZ2V0X25pbm9kZXMoKSkKKwkJcmV0dXJuIE5VTEw7CisJdG90YWwrKzsKKwlpbm9kZSA9IElub2RlMiArIG5yOworCWlmICghaW5vZGVfY291bnRbbnJdKSB7CisJCWlmICghaW5vZGVfaW5fdXNlKG5yKSkgeworCQkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQkJcHJpbnRmKF8oIklub2RlICVkIG1hcmtlZCB1bnVzZWQsICIKKwkJCQkgImJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIpLCBuciwgY3VycmVudF9uYW1lKTsKKwkJCWlmIChyZXBhaXIpIHsKKwkJCQlpZiAoYXNrKF8oIk1hcmsgaW4gdXNlIiksIDEpKQorCQkJCQltYXJrX2lub2RlKG5yKTsKKwkJCQllbHNlCisJCQkJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJCQl9CisJCX0KKwkJaWYgKFNfSVNESVIoaW5vZGUtPmlfbW9kZSkpCisJCQlkaXJlY3RvcnkrKzsKKwkJZWxzZSBpZiAoU19JU1JFRyhpbm9kZS0+aV9tb2RlKSkKKwkJCXJlZ3VsYXIrKzsKKwkJZWxzZSBpZiAoU19JU0NIUihpbm9kZS0+aV9tb2RlKSkKKwkJCWNoYXJkZXYrKzsKKwkJZWxzZSBpZiAoU19JU0JMSyhpbm9kZS0+aV9tb2RlKSkKKwkJCWJsb2NrZGV2Kys7CisJCWVsc2UgaWYgKFNfSVNMTksoaW5vZGUtPmlfbW9kZSkpCisJCQlzeW1saW5rcysrOworCQllbHNlIGlmIChTX0lTU09DSyhpbm9kZS0+aV9tb2RlKSkgOworCQllbHNlIGlmIChTX0lTRklGTyhpbm9kZS0+aV9tb2RlKSkgOworCQllbHNlIHsKKwkJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJCXByaW50ZihfKCJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIpLAorCQkJICAgICAgIGN1cnJlbnRfbmFtZSwgaW5vZGUtPmlfbW9kZSk7CisJCX0KKwl9IGVsc2UKKwkJbGlua3MrKzsKKwlpZiAoISsraW5vZGVfY291bnRbbnJdKSB7CisJCXByaW50ZihfKCJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIikpOworCQlpbm9kZV9jb3VudFtucl0tLTsKKwkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwl9CisJcmV0dXJuIGlub2RlOworfQorCitzdGF0aWMgdm9pZAorY2hlY2tfcm9vdCh2b2lkKSB7CisJc3RydWN0IG1pbml4X2lub2RlICppbm9kZSA9IElub2RlICsgUk9PVF9JTk87CisKKwlpZiAoIWlub2RlIHx8ICFTX0lTRElSKGlub2RlLT5pX21vZGUpKQorCQlkaWUoXygicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIpKTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX3Jvb3QyKHZvaWQpIHsKKwlzdHJ1Y3QgbWluaXgyX2lub2RlICppbm9kZSA9IElub2RlMiArIFJPT1RfSU5POworCisJaWYgKCFpbm9kZSB8fCAhU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKKwkJZGllKF8oInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiKSk7Cit9CisKK3N0YXRpYyBpbnQKK2FkZF96b25lKHVuc2lnbmVkIHNob3J0ICp6bnIsIGludCAqY29ycmVjdGVkKSB7CisJaW50IGJsb2NrOworCisJYmxvY2sgPSBjaGVja196b25lX25yKHpuciwgY29ycmVjdGVkKTsKKwlpZiAoIWJsb2NrKQorCQlyZXR1cm4gMDsKKwlpZiAoem9uZV9jb3VudFtibG9ja10pIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIiksCisJCSAgICAgICBjdXJyZW50X25hbWUpOworCQlpZiAoYXNrKF8oIkNsZWFyIiksIDEpKSB7CisJCQkqem5yID0gMDsKKwkJCWJsb2NrID0gMDsKKwkJCSpjb3JyZWN0ZWQgPSAxOworCQl9CisJfQorCWlmICghYmxvY2spCisJCXJldHVybiAwOworCWlmICghem9uZV9pbl91c2UoYmxvY2spKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iKSwKKwkJICAgICAgIGJsb2NrLCBjdXJyZW50X25hbWUpOworCQlpZiAoYXNrKF8oIkNvcnJlY3QiKSwgMSkpCisJCQltYXJrX3pvbmUoYmxvY2spOworCX0KKwlpZiAoISsrem9uZV9jb3VudFtibG9ja10pCisJCXpvbmVfY291bnRbYmxvY2tdLS07CisJcmV0dXJuIGJsb2NrOworfQorCitzdGF0aWMgaW50CithZGRfem9uZTIodW5zaWduZWQgaW50ICp6bnIsIGludCAqY29ycmVjdGVkKSB7CisJaW50IGJsb2NrOworCisJYmxvY2sgPSBjaGVja196b25lX25yMih6bnIsIGNvcnJlY3RlZCk7CisJaWYgKCFibG9jaykKKwkJcmV0dXJuIDA7CisJaWYgKHpvbmVfY291bnRbYmxvY2tdKSB7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKF8oIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIpLAorCQkgICAgICAgY3VycmVudF9uYW1lKTsKKwkJaWYgKGFzayhfKCJDbGVhciIpLCAxKSkgeworCQkJKnpuciA9IDA7CisJCQlibG9jayA9IDA7CisJCQkqY29ycmVjdGVkID0gMTsKKwkJfQorCX0KKwlpZiAoIWJsb2NrKQorCQlyZXR1cm4gMDsKKwlpZiAoIXpvbmVfaW5fdXNlKGJsb2NrKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIiksCisJCSAgICAgICBibG9jaywgY3VycmVudF9uYW1lKTsKKwkJaWYgKGFzayhfKCJDb3JyZWN0IiksIDEpKQorCQkJbWFya196b25lKGJsb2NrKTsKKwl9CisJaWYgKCErK3pvbmVfY291bnRbYmxvY2tdKQorCQl6b25lX2NvdW50W2Jsb2NrXS0tOworCXJldHVybiBibG9jazsKK30KKworc3RhdGljIHZvaWQKK2FkZF96b25lX2luZCh1bnNpZ25lZCBzaG9ydCAqem5yLCBpbnQgKmNvcnJlY3RlZCkgeworCXN0YXRpYyBjaGFyIGJsa1tNSU5JWF9CTE9DS19TSVpFXTsKKwlpbnQgaSwgY2hnX2JsayA9IDA7CisJaW50IGJsb2NrOworCisJYmxvY2sgPSBhZGRfem9uZSh6bnIsIGNvcnJlY3RlZCk7CisJaWYgKCFibG9jaykKKwkJcmV0dXJuOworCXJlYWRfYmxvY2soYmxvY2ssIGJsayk7CisJZm9yIChpID0gMDsgaSA8IChNSU5JWF9CTE9DS19TSVpFID4+IDEpOyBpKyspCisJCWFkZF96b25lKGkgKyAodW5zaWduZWQgc2hvcnQgKilibGssICZjaGdfYmxrKTsKKwlpZiAoY2hnX2JsaykKKwkJd3JpdGVfYmxvY2soYmxvY2ssIGJsayk7Cit9CisKK3N0YXRpYyB2b2lkCithZGRfem9uZV9pbmQyKHVuc2lnbmVkIGludCAqem5yLCBpbnQgKmNvcnJlY3RlZCkgeworCXN0YXRpYyBjaGFyIGJsa1tNSU5JWF9CTE9DS19TSVpFXTsKKwlpbnQgaSwgY2hnX2JsayA9IDA7CisJaW50IGJsb2NrOworCisJYmxvY2sgPSBhZGRfem9uZTIoem5yLCBjb3JyZWN0ZWQpOworCWlmICghYmxvY2spCisJCXJldHVybjsKKwlyZWFkX2Jsb2NrKGJsb2NrLCBibGspOworCWZvciAoaSA9IDA7IGkgPCBNSU5JWF9CTE9DS19TSVpFID4+IDI7IGkrKykKKwkJYWRkX3pvbmUyKGkgKyAodW5zaWduZWQgaW50ICopYmxrLCAmY2hnX2Jsayk7CisJaWYgKGNoZ19ibGspCisJCXdyaXRlX2Jsb2NrKGJsb2NrLCBibGspOworfQorCitzdGF0aWMgdm9pZAorYWRkX3pvbmVfZGluZCh1bnNpZ25lZCBzaG9ydCAqem5yLCBpbnQgKmNvcnJlY3RlZCkgeworCXN0YXRpYyBjaGFyIGJsa1tNSU5JWF9CTE9DS19TSVpFXTsKKwlpbnQgaSwgYmxrX2NoZyA9IDA7CisJaW50IGJsb2NrOworCisJYmxvY2sgPSBhZGRfem9uZSh6bnIsIGNvcnJlY3RlZCk7CisJaWYgKCFibG9jaykKKwkJcmV0dXJuOworCXJlYWRfYmxvY2soYmxvY2ssIGJsayk7CisJZm9yIChpID0gMDsgaSA8IChNSU5JWF9CTE9DS19TSVpFID4+IDEpOyBpKyspCisJCWFkZF96b25lX2luZChpICsgKHVuc2lnbmVkIHNob3J0ICopYmxrLCAmYmxrX2NoZyk7CisJaWYgKGJsa19jaGcpCisJCXdyaXRlX2Jsb2NrKGJsb2NrLCBibGspOworfQorCitzdGF0aWMgdm9pZAorYWRkX3pvbmVfZGluZDIodW5zaWduZWQgaW50ICp6bnIsIGludCAqY29ycmVjdGVkKSB7CisJc3RhdGljIGNoYXIgYmxrW01JTklYX0JMT0NLX1NJWkVdOworCWludCBpLCBibGtfY2hnID0gMDsKKwlpbnQgYmxvY2s7CisKKwlibG9jayA9IGFkZF96b25lMih6bnIsIGNvcnJlY3RlZCk7CisJaWYgKCFibG9jaykKKwkJcmV0dXJuOworCXJlYWRfYmxvY2soYmxvY2ssIGJsayk7CisJZm9yIChpID0gMDsgaSA8IE1JTklYX0JMT0NLX1NJWkUgPj4gMjsgaSsrKQorCQlhZGRfem9uZV9pbmQyKGkgKyAodW5zaWduZWQgaW50ICopYmxrLCAmYmxrX2NoZyk7CisJaWYgKGJsa19jaGcpCisJCXdyaXRlX2Jsb2NrKGJsb2NrLCBibGspOworfQorCitzdGF0aWMgdm9pZAorYWRkX3pvbmVfdGluZDIodW5zaWduZWQgaW50ICp6bnIsIGludCAqY29ycmVjdGVkKSB7CisJc3RhdGljIGNoYXIgYmxrW01JTklYX0JMT0NLX1NJWkVdOworCWludCBpLCBibGtfY2hnID0gMDsKKwlpbnQgYmxvY2s7CisKKwlibG9jayA9IGFkZF96b25lMih6bnIsIGNvcnJlY3RlZCk7CisJaWYgKCFibG9jaykKKwkJcmV0dXJuOworCXJlYWRfYmxvY2soYmxvY2ssIGJsayk7CisJZm9yIChpID0gMDsgaSA8IE1JTklYX0JMT0NLX1NJWkUgPj4gMjsgaSsrKQorCQlhZGRfem9uZV9kaW5kMihpICsgKHVuc2lnbmVkIGludCAqKWJsaywgJmJsa19jaGcpOworCWlmIChibGtfY2hnKQorCQl3cml0ZV9ibG9jayhibG9jaywgYmxrKTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX3pvbmVzKHVuc2lnbmVkIGludCBpKSB7CisJc3RydWN0IG1pbml4X2lub2RlICppbm9kZTsKKworCWlmICghaSB8fCBpID4gZ2V0X25pbm9kZXMoKSkKKwkJcmV0dXJuOworCWlmIChpbm9kZV9jb3VudFtpXSA+IDEpCS8qIGhhdmUgd2UgY291bnRlZCB0aGlzIGZpbGUgYWxyZWFkeT8gKi8KKwkJcmV0dXJuOworCWlub2RlID0gSW5vZGUgKyBpOworCWlmICghU19JU0RJUihpbm9kZS0+aV9tb2RlKSAmJiAhU19JU1JFRyhpbm9kZS0+aV9tb2RlKSAmJgorCSAgICAhU19JU0xOSyhpbm9kZS0+aV9tb2RlKSkKKwkJcmV0dXJuOworCWZvciAoaSA9IDA7IGkgPCA3OyBpKyspCisJCWFkZF96b25lKGkgKyBpbm9kZS0+aV96b25lLCAmY2hhbmdlZCk7CisJYWRkX3pvbmVfaW5kKDcgKyBpbm9kZS0+aV96b25lLCAmY2hhbmdlZCk7CisJYWRkX3pvbmVfZGluZCg4ICsgaW5vZGUtPmlfem9uZSwgJmNoYW5nZWQpOworfQorCitzdGF0aWMgdm9pZAorY2hlY2tfem9uZXMyKHVuc2lnbmVkIGludCBpKSB7CisJc3RydWN0IG1pbml4Ml9pbm9kZSAqaW5vZGU7CisKKwlpZiAoIWkgfHwgaSA+IGdldF9uaW5vZGVzKCkpCisJCXJldHVybjsKKwlpZiAoaW5vZGVfY291bnRbaV0gPiAxKQkvKiBoYXZlIHdlIGNvdW50ZWQgdGhpcyBmaWxlIGFscmVhZHk/ICovCisJCXJldHVybjsKKwlpbm9kZSA9IElub2RlMiArIGk7CisJaWYgKCFTX0lTRElSKGlub2RlLT5pX21vZGUpICYmICFTX0lTUkVHKGlub2RlLT5pX21vZGUpCisJICAgICYmICFTX0lTTE5LKGlub2RlLT5pX21vZGUpKQorCQlyZXR1cm47CisJZm9yIChpID0gMDsgaSA8IDc7IGkrKykKKwkJYWRkX3pvbmUyKGkgKyBpbm9kZS0+aV96b25lLCAmY2hhbmdlZCk7CisJYWRkX3pvbmVfaW5kMig3ICsgaW5vZGUtPmlfem9uZSwgJmNoYW5nZWQpOworCWFkZF96b25lX2RpbmQyKDggKyBpbm9kZS0+aV96b25lLCAmY2hhbmdlZCk7CisJYWRkX3pvbmVfdGluZDIoOSArIGlub2RlLT5pX3pvbmUsICZjaGFuZ2VkKTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX2ZpbGUoc3RydWN0IG1pbml4X2lub2RlICpkaXIsIHVuc2lnbmVkIGludCBvZmZzZXQpIHsKKwlzdGF0aWMgY2hhciBibGtbTUlOSVhfQkxPQ0tfU0laRSArIDJdOworCXN0cnVjdCBtaW5peF9pbm9kZSAqaW5vZGU7CisJdW5zaWduZWQgaW50IGlubzsKKwljaGFyICpuYW1lOworCWludCBibG9jazsKKworCWJsb2NrID0gbWFwX2Jsb2NrKGRpciwgb2Zmc2V0IC8gTUlOSVhfQkxPQ0tfU0laRSk7CisJcmVhZF9ibG9jayhibG9jaywgYmxrKTsKKwluYW1lID0gYmxrICsgKG9mZnNldCAlIE1JTklYX0JMT0NLX1NJWkUpICsgMjsKKwlpbm8gPSAqKHVuc2lnbmVkIHNob3J0ICopKG5hbWUgLSAyKTsKKwlpZiAoaW5vID4gZ2V0X25pbm9kZXMoKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyICIKKwkJCSAiZm9yIGZpbGUgJyUuKnMnLiIpLCBjdXJyZW50X25hbWUsIChpbnQpbmFtZWxlbiwgbmFtZSk7CisJCWlmIChhc2soXygiIFJlbW92ZSIpLCAxKSkgeworCQkJKih1bnNpZ25lZCBzaG9ydCAqKShuYW1lIC0gMikgPSAwOworCQkJd3JpdGVfYmxvY2soYmxvY2ssIGJsayk7CisJCX0KKwkJaW5vID0gMDsKKwl9CisJaWYgKG5hbWVfZGVwdGggPCBNQVhfREVQVEgpCisJCXhzdHJuY3B5KG5hbWVfbGlzdFtuYW1lX2RlcHRoXSwgbmFtZSwgbmFtZWxlbik7CisJZWxzZQorCQlyZXR1cm47CisJbmFtZV9kZXB0aCsrOworCWlub2RlID0gZ2V0X2lub2RlKGlubyk7CisJbmFtZV9kZXB0aC0tOworCWlmICghb2Zmc2V0KSB7CisJCWlmICghaW5vZGUgfHwgc3RyY21wKCIuIiwgbmFtZSkpIHsKKwkJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJCXByaW50ZihfKCIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iKSwKKwkJCSAgICAgICBjdXJyZW50X25hbWUpOworCQkJZXJyb3JzX3VuY29ycmVjdGVkID0gMTsKKwkJfSBlbHNlCisJCQlyZXR1cm47CisJfQorCWlmIChvZmZzZXQgPT0gZGlyc2l6ZSkgeworCQlpZiAoIWlub2RlIHx8IHN0cmNtcCgiLi4iLCBuYW1lKSkgeworCQkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQkJcHJpbnRmKF8oIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIiksCisJCQkgICAgICAgY3VycmVudF9uYW1lKTsKKwkJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJCX0gZWxzZQorCQkJcmV0dXJuOworCX0KKwlpZiAoIWlub2RlKQorCQlyZXR1cm47CisJaWYgKG5hbWVfZGVwdGggPCBNQVhfREVQVEgpCisJCXhzdHJuY3B5KG5hbWVfbGlzdFtuYW1lX2RlcHRoXSwgbmFtZSwgbmFtZWxlbik7CisJZWxzZQorCQlyZXR1cm47CisJbmFtZV9kZXB0aCsrOworCWlmIChsaXN0KSB7CisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKCIlNmQgJTA3byAlM2QgIiwgaW5vLAorCQkJICAgICAgIGlub2RlLT5pX21vZGUsIGlub2RlLT5pX25saW5rcyk7CisJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJcHJpbnRmKCIlcyIsIGN1cnJlbnRfbmFtZSk7CisJCWlmIChTX0lTRElSKGlub2RlLT5pX21vZGUpKQorCQkJcHJpbnRmKCI6XG4iKTsKKwkJZWxzZQorCQkJcHJpbnRmKCJcbiIpOworCX0KKwljaGVja196b25lcyhpbm8pOworCWlmIChpbm9kZSAmJiBTX0lTRElSKGlub2RlLT5pX21vZGUpKQorCQlyZWN1cnNpdmVfY2hlY2soaW5vKTsKKwluYW1lX2RlcHRoLS07CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorY2hlY2tfZmlsZTIoc3RydWN0IG1pbml4Ml9pbm9kZSAqZGlyLCB1bnNpZ25lZCBpbnQgb2Zmc2V0KSB7CisJc3RhdGljIGNoYXIgYmxrW01JTklYX0JMT0NLX1NJWkUgKyA0XTsKKwlzdHJ1Y3QgbWluaXgyX2lub2RlICppbm9kZTsKKwlpbm9fdCBpbm87CisJY2hhciAqbmFtZTsKKwlpbnQgYmxvY2s7CisJY29uc3QgaW50IHZlcnNpb25fb2Zmc2V0ID0gZnNfdmVyc2lvbiA9PSAzID8gNCA6IDI7CisKKwlibG9jayA9IG1hcF9ibG9jazIoZGlyLCBvZmZzZXQgLyBNSU5JWF9CTE9DS19TSVpFKTsKKwlyZWFkX2Jsb2NrKGJsb2NrLCBibGspOworCW5hbWUgPSBibGsgKyAob2Zmc2V0ICUgTUlOSVhfQkxPQ0tfU0laRSkgKyB2ZXJzaW9uX29mZnNldDsKKwlpbm8gPSB2ZXJzaW9uX29mZnNldCA9PSA0ID8gKih1aW50MzJfdCAqKShuYW1lIC0gdmVyc2lvbl9vZmZzZXQpCisJICAgICAgICAgICAgICAgICAgICAgICAgICA6ICoodWludDE2X3QgKikobmFtZSAtIHZlcnNpb25fb2Zmc2V0KTsKKwlpZiAoaW5vID4gZ2V0X25pbm9kZXMoKSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyICIKKwkJCSAiZm9yIGZpbGUgJyUuKnMnLiIpLCBjdXJyZW50X25hbWUsIChpbnQpbmFtZWxlbiwgbmFtZSk7CisJCWlmIChhc2soXygiIFJlbW92ZSIpLCAxKSkgeworCQkJbWVtc2V0KG5hbWUgLSB2ZXJzaW9uX29mZnNldCwgMCwgdmVyc2lvbl9vZmZzZXQpOworCQkJd3JpdGVfYmxvY2soYmxvY2ssIGJsayk7CisJCX0KKwkJaW5vID0gMDsKKwl9CisJaWYgKG5hbWVfZGVwdGggPCBNQVhfREVQVEgpCisJCXhzdHJuY3B5KG5hbWVfbGlzdFtuYW1lX2RlcHRoXSwgbmFtZSwgbmFtZWxlbik7CisJZWxzZQorCQlyZXR1cm47CisJbmFtZV9kZXB0aCsrOworCWlub2RlID0gZ2V0X2lub2RlMihpbm8pOworCW5hbWVfZGVwdGgtLTsKKwlpZiAoIW9mZnNldCkgeworCQlpZiAoIWlub2RlIHx8IHN0cmNtcCgiLiIsIG5hbWUpKSB7CisJCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCQlwcmludGYoXygiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIiksCisJCQkgICAgICAgY3VycmVudF9uYW1lKTsKKwkJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJCX0gZWxzZQorCQkJcmV0dXJuOworCX0KKwlpZiAob2Zmc2V0ID09IGRpcnNpemUpIHsKKwkJaWYgKCFpbm9kZSB8fCBzdHJjbXAoIi4uIiwgbmFtZSkpIHsKKwkJCWdldF9jdXJyZW50X25hbWUoKTsKKwkJCXByaW50ZihfKCIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIpLAorCQkJICAgICAgIGN1cnJlbnRfbmFtZSk7CisJCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCQl9IGVsc2UKKwkJCXJldHVybjsKKwl9CisJaWYgKCFpbm9kZSkKKwkJcmV0dXJuOworCW5hbWVfZGVwdGgrKzsKKwlpZiAobGlzdCkgeworCQlpZiAodmVyYm9zZSkKKwkJCXByaW50ZigiJTZqdSAlMDdvICUzZCAiLCAodWludG1heF90KWlubywgaW5vZGUtPmlfbW9kZSwKKwkJCSAgICAgICBpbm9kZS0+aV9ubGlua3MpOworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZigiJXMiLCBjdXJyZW50X25hbWUpOworCQlpZiAoU19JU0RJUihpbm9kZS0+aV9tb2RlKSkKKwkJCXByaW50ZigiOlxuIik7CisJCWVsc2UKKwkJCXByaW50ZigiXG4iKTsKKwl9CisJY2hlY2tfem9uZXMyKGlubyk7CisJaWYgKGlub2RlICYmIFNfSVNESVIoaW5vZGUtPmlfbW9kZSkpCisJCXJlY3Vyc2l2ZV9jaGVjazIoaW5vKTsKKwluYW1lX2RlcHRoLS07CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZAorcmVjdXJzaXZlX2NoZWNrKHVuc2lnbmVkIGludCBpbm8pIHsKKwlzdHJ1Y3QgbWluaXhfaW5vZGUgKmRpcjsKKwlvZmZfdCBvZmZzZXQ7CisKKwlkaXIgPSBJbm9kZSArIGlubzsKKwlpZiAoIVNfSVNESVIoZGlyLT5pX21vZGUpKQorCQlkaWUoXygiaW50ZXJuYWwgZXJyb3IiKSk7CisJaWYgKGRpci0+aV9zaXplIDwgMiAqIGRpcnNpemUpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIpLCBjdXJyZW50X25hbWUpOworCQllcnJvcnNfdW5jb3JyZWN0ZWQgPSAxOworCX0KKworCWlmICgoIXJlcGFpciB8fCBhdXRvbWF0aWMpICYmICFpc192YWxpZF96b25lX25yKCpkaXItPmlfem9uZSkpIHsKKwkJZ2V0X2N1cnJlbnRfbmFtZSgpOworCQlwcmludGYoXygiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iKSwgY3VycmVudF9uYW1lKTsKKwkJcmV0dXJuOworCX0KKwlmb3IgKG9mZnNldCA9IDA7IG9mZnNldCA8IGRpci0+aV9zaXplOyBvZmZzZXQgKz0gZGlyc2l6ZSkKKwkJY2hlY2tfZmlsZShkaXIsIG9mZnNldCk7Cit9CisKK3N0YXRpYyB2b2lkCityZWN1cnNpdmVfY2hlY2syKHVuc2lnbmVkIGludCBpbm8pIHsKKwlzdHJ1Y3QgbWluaXgyX2lub2RlICpkaXI7CisJb2ZmX3Qgb2Zmc2V0OworCisJZGlyID0gSW5vZGUyICsgaW5vOworCWlmICghU19JU0RJUihkaXItPmlfbW9kZSkpCisJCWRpZShfKCJpbnRlcm5hbCBlcnJvciIpKTsKKwlpZiAoZGlyLT5pX3NpemUgPCAyICogZGlyc2l6ZSkgeworCQlnZXRfY3VycmVudF9uYW1lKCk7CisJCXByaW50ZihfKCIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIiksIGN1cnJlbnRfbmFtZSk7CisJCWVycm9yc191bmNvcnJlY3RlZCA9IDE7CisJfQorCWZvciAob2Zmc2V0ID0gMDsgb2Zmc2V0IDwgZGlyLT5pX3NpemU7IG9mZnNldCArPSBkaXJzaXplKQorCQljaGVja19maWxlMihkaXIsIG9mZnNldCk7Cit9CisKK3N0YXRpYyBpbnQKK2JhZF96b25lKGludCBpKSB7CisJY2hhciBidWZmZXJbMTAyNF07CisKKwlpZiAoTUlOSVhfQkxPQ0tfU0laRSAqIGkgIT0gbHNlZWsoZGV2aWNlX2ZkLCBNSU5JWF9CTE9DS19TSVpFICogaSwgU0VFS19TRVQpKQorCQlkaWUoXygic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiKSk7CisJcmV0dXJuIChNSU5JWF9CTE9DS19TSVpFICE9IHJlYWQoZGV2aWNlX2ZkLCBidWZmZXIsIE1JTklYX0JMT0NLX1NJWkUpKTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrX2NvdW50cyh2b2lkKSB7CisJdW5zaWduZWQgbG9uZyBpOworCisJZm9yIChpID0gMTsgaSA8PSBnZXRfbmlub2RlcygpOyBpKyspIHsKKwkJaWYgKCFpbm9kZV9pbl91c2UoaSkgJiYgSW5vZGVbaV0uaV9tb2RlICYmIHdhcm5fbW9kZSkgeworCQkJcHJpbnRmKF8oIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIpLCBpKTsKKwkJCWlmIChhc2soXygiQ2xlYXIiKSwgMSkpIHsKKwkJCQlJbm9kZVtpXS5pX21vZGUgPSAwOworCQkJCWNoYW5nZWQgPSAxOworCQkJfQorCQl9CisJCWlmICghaW5vZGVfY291bnRbaV0pIHsKKwkJCWlmICghaW5vZGVfaW5fdXNlKGkpKQorCQkJCWNvbnRpbnVlOworCQkJcHJpbnRmKF8oIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iKSwgaSk7CisJCQlpZiAoYXNrKF8oIkNsZWFyIiksIDEpKQorCQkJCXVubWFya19pbm9kZShpKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghaW5vZGVfaW5fdXNlKGkpKSB7CisJCQlwcmludGYoXygiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iKSwgaSk7CisJCQlpZiAoYXNrKF8oIlNldCIpLCAxKSkKKwkJCQltYXJrX2lub2RlKGkpOworCQl9CisJCWlmIChJbm9kZVtpXS5pX25saW5rcyAhPSBpbm9kZV9jb3VudFtpXSkgeworCQkJcHJpbnRmKF8oIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iKSwKKwkJCSAgICAgICBpLCBJbm9kZVtpXS5pX21vZGUsIElub2RlW2ldLmlfbmxpbmtzLAorCQkJICAgICAgIGlub2RlX2NvdW50W2ldKTsKKwkJCWlmIChhc2soXygiU2V0IGlfbmxpbmtzIHRvIGNvdW50IiksIDEpKSB7CisJCQkJSW5vZGVbaV0uaV9ubGlua3MgPSBpbm9kZV9jb3VudFtpXTsKKwkJCQljaGFuZ2VkID0gMTsKKwkJCX0KKwkJfQorCX0KKwlmb3IgKGkgPSBnZXRfZmlyc3Rfem9uZSgpOyBpIDwgZ2V0X256b25lcygpOyBpKyspIHsKKwkJaWYgKHpvbmVfaW5fdXNlKGkpID09IHpvbmVfY291bnRbaV0pCisJCQljb250aW51ZTsKKwkJaWYgKCF6b25lX2NvdW50W2ldKSB7CisJCQlpZiAoYmFkX3pvbmUoaSkpCisJCQkJY29udGludWU7CisJCQlwcmludGYoXygiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iKSwKKwkJCSAgICAgICBpKTsKKwkJCWlmIChhc2soXygiVW5tYXJrIiksIDEpKQorCQkJCXVubWFya196b25lKGkpOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHpvbmVfaW5fdXNlKGkpKQorCQkJcHJpbnRmKF8oIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIpLAorCQkJICAgICAgIGksIHpvbmVfY291bnRbaV0pOworCQllbHNlCisJCQlwcmludGYoXygiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIpLAorCQkJICAgICAgIGksIHpvbmVfY291bnRbaV0pOworCX0KK30KKworc3RhdGljIHZvaWQKK2NoZWNrX2NvdW50czIodm9pZCkgeworCXVuc2lnbmVkIGxvbmcgaTsKKworCWZvciAoaSA9IDE7IGkgPD0gZ2V0X25pbm9kZXMoKTsgaSsrKSB7CisJCWlmICghaW5vZGVfaW5fdXNlKGkpICYmIElub2RlMltpXS5pX21vZGUgJiYgd2Fybl9tb2RlKSB7CisJCQlwcmludGYoXygiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIiksIGkpOworCQkJaWYgKGFzayhfKCJDbGVhciIpLCAxKSkgeworCQkJCUlub2RlMltpXS5pX21vZGUgPSAwOworCQkJCWNoYW5nZWQgPSAxOworCQkJfQorCQl9CisJCWlmICghaW5vZGVfY291bnRbaV0pIHsKKwkJCWlmICghaW5vZGVfaW5fdXNlKGkpKQorCQkJCWNvbnRpbnVlOworCQkJcHJpbnRmKF8oIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iKSwgaSk7CisJCQlpZiAoYXNrKF8oIkNsZWFyIiksIDEpKQorCQkJCXVubWFya19pbm9kZShpKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghaW5vZGVfaW5fdXNlKGkpKSB7CisJCQlwcmludGYoXygiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iKSwgaSk7CisJCQlpZiAoYXNrKF8oIlNldCIpLCAxKSkKKwkJCQltYXJrX2lub2RlKGkpOworCQl9CisJCWlmIChJbm9kZTJbaV0uaV9ubGlua3MgIT0gaW5vZGVfY291bnRbaV0pIHsKKwkJCXByaW50ZihfKCJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIiksCisJCQkgICAgICAgaSwgSW5vZGUyW2ldLmlfbW9kZSwgSW5vZGUyW2ldLmlfbmxpbmtzLAorCQkJICAgICAgIGlub2RlX2NvdW50W2ldKTsKKwkJCWlmIChhc2soXygiU2V0IGlfbmxpbmtzIHRvIGNvdW50IiksIDEpKSB7CisJCQkJSW5vZGUyW2ldLmlfbmxpbmtzID0gaW5vZGVfY291bnRbaV07CisJCQkJY2hhbmdlZCA9IDE7CisJCQl9CisJCX0KKwl9CisJZm9yIChpID0gZ2V0X2ZpcnN0X3pvbmUoKTsgaSA8IGdldF9uem9uZXMoKTsgaSsrKSB7CisJCWlmICh6b25lX2luX3VzZShpKSA9PSB6b25lX2NvdW50W2ldKQorCQkJY29udGludWU7CisJCWlmICghem9uZV9jb3VudFtpXSkgeworCQkJaWYgKGJhZF96b25lKGkpKQorCQkJCWNvbnRpbnVlOworCQkJcHJpbnRmKF8oIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIiksCisJCQkgICAgICAgaSk7CisJCQlpZiAoYXNrKF8oIlVubWFyayIpLCAxKSkKKwkJCQl1bm1hcmtfem9uZShpKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICh6b25lX2luX3VzZShpKSkKKwkJCXByaW50ZihfKCJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iKSwKKwkJCSAgICAgICBpLCB6b25lX2NvdW50W2ldKTsKKwkJZWxzZQorCQkJcHJpbnRmKF8oIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iKSwKKwkJCSAgICAgICBpLCB6b25lX2NvdW50W2ldKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCitjaGVjayh2b2lkKSB7CisJbWVtc2V0KGlub2RlX2NvdW50LCAwLCAoZ2V0X25pbm9kZXMoKSArIDEpICogc2l6ZW9mKCppbm9kZV9jb3VudCkpOworCW1lbXNldCh6b25lX2NvdW50LCAwLCBnZXRfbnpvbmVzKCkgKiBzaXplb2YoKnpvbmVfY291bnQpKTsKKwljaGVja196b25lcyhST09UX0lOTyk7CisJcmVjdXJzaXZlX2NoZWNrKFJPT1RfSU5PKTsKKwljaGVja19jb3VudHMoKTsKK30KKworc3RhdGljIHZvaWQKK2NoZWNrMih2b2lkKSB7CisJbWVtc2V0KGlub2RlX2NvdW50LCAwLCAoZ2V0X25pbm9kZXMoKSArIDEpICogc2l6ZW9mKCppbm9kZV9jb3VudCkpOworCW1lbXNldCh6b25lX2NvdW50LCAwLCBnZXRfbnpvbmVzKCkgKiBzaXplb2YoKnpvbmVfY291bnQpKTsKKwljaGVja196b25lczIoUk9PVF9JTk8pOworCXJlY3Vyc2l2ZV9jaGVjazIoUk9PVF9JTk8pOworCWNoZWNrX2NvdW50czIoKTsKK30KKworaW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikgeworCXN0cnVjdCB0ZXJtaW9zIHRtcDsKKwlpbnQgY291bnQ7CisJaW50IHJldGNvZGUgPSBGU0NLX0VYX09LOworCWludCBpOworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsibGlzdCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbCd9LAorCQl7ImF1dG8iLCBub19hcmd1bWVudCwgTlVMTCwgJ2EnfSwKKwkJeyJyZXBhaXIiLCBub19hcmd1bWVudCwgTlVMTCwgJ3InfSwKKwkJeyJ2ZXJib3NlIiwgbm9fYXJndW1lbnQsIE5VTEwsICd2J30sCisJCXsic3VwZXIiLCBub19hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJeyJ1bmNsZWFyZWQiLCBub19hcmd1bWVudCwgTlVMTCwgJ20nfSwKKwkJeyJmb3JjZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJc3RydXRpbHNfc2V0X2V4aXRjb2RlKEZTQ0tfRVhfVVNBR0UpOworCisJaWYgKElOT0RFX1NJWkUgKiBNSU5JWF9JTk9ERVNfUEVSX0JMT0NLICE9IE1JTklYX0JMT0NLX1NJWkUpCisJCWRpZShfKCJiYWQgaW5vZGUgc2l6ZSIpKTsKKwlpZiAoSU5PREUyX1NJWkUgKiBNSU5JWDJfSU5PREVTX1BFUl9CTE9DSyAhPSBNSU5JWF9CTE9DS19TSVpFKQorCQlkaWUoXygiYmFkIHYyIGlub2RlIHNpemUiKSk7CisKKwl3aGlsZSAoKGkgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAibGFydnNtZlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChpKSB7CisJCWNhc2UgJ2wnOgorCQkJbGlzdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnYSc6CisJCQlhdXRvbWF0aWMgPSAxOworCQkJcmVwYWlyID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWF1dG9tYXRpYyA9IDA7CisJCQlyZXBhaXIgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlzaG93ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCXdhcm5fbW9kZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlmb3JjZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBGU0NLX0VYX09LOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEZTQ0tfRVhfVVNBR0UpOworCQl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisJaWYgKDAgPCBhcmdjKSB7CisJCWRldmljZV9uYW1lID0gYXJndlswXTsKKwl9IGVsc2UgeworCQl3YXJueChfKCJubyBkZXZpY2Ugc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKEZTQ0tfRVhfVVNBR0UpOworCX0KKwljaGVja19tb3VudCgpOwkJLyogdHJ5aW5nIHRvIGNoZWNrIGEgbW91bnRlZCBmaWxlc3lzdGVtPyAqLworCWlmIChyZXBhaXIgJiYgIWF1dG9tYXRpYyAmJiAoIWlzYXR0eShTVERJTl9GSUxFTk8pIHx8ICFpc2F0dHkoU1RET1VUX0ZJTEVOTykpKQorCQlkaWUoXygibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIpKTsKKworCWRldmljZV9mZCA9IG9wZW4oZGV2aWNlX25hbWUsIHJlcGFpciA/IE9fUkRXUiA6IE9fUkRPTkxZKTsKKwlpZiAoZGV2aWNlX2ZkIDwgMCkKKwkJZGllKF8oImNhbm5vdCBvcGVuICVzOiAlcyIpLCBkZXZpY2VfbmFtZSwgc3RyZXJyb3IoZXJybm8pKTsKKwlmb3IgKGNvdW50ID0gMDsgY291bnQgPCAzOyBjb3VudCsrKQorCQlzeW5jKCk7CisJcmVhZF9zdXBlcmJsb2NrKCk7CisKKwkvKiBEZXRlcm1pbmUgd2hldGhlciBvciBub3Qgd2Ugc2hvdWxkIGNvbnRpbnVlIHdpdGggdGhlIGNoZWNraW5nLiAgVGhpcworCSAqIGlzIGJhc2VkIG9uIHRoZSBzdGF0dXMgb2YgdGhlIGZpbGVzeXN0ZW0gdmFsaWQgYW5kIGVycm9yIGZsYWdzIGFuZAorCSAqIHdoZXRoZXIgb3Igbm90IHRoZSAtZiBzd2l0Y2ggd2FzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLiAgKi8KKwlpZiAoZnNfdmVyc2lvbiA8IDMgJiYgIShTdXBlci5zX3N0YXRlICYgTUlOSVhfRVJST1JfRlMpICYmCisJICAgIChTdXBlci5zX3N0YXRlICYgTUlOSVhfVkFMSURfRlMpICYmICFmb3JjZSkgeworCQlpZiAocmVwYWlyKQorCQkJcHJpbnRmKF8oIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIpLCBkZXZpY2VfbmFtZSk7CisJCXJldHVybiByZXRjb2RlOworCX0gZWxzZSBpZiAoZm9yY2UpCisJCXByaW50ZihfKCJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iKSwgZGV2aWNlX25hbWUpOworCWVsc2UgaWYgKHJlcGFpcikKKwkJcHJpbnRmKF8oIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIiksCisJCSAgICAgICBkZXZpY2VfbmFtZSk7CisKKwlyZWFkX3RhYmxlcygpOworCisJLyogUmVzdG9yZSB0aGUgdGVybWluYWwgc3RhdGUgb24gZmF0YWwgc2lnbmFscy4gIFdlIGRvbid0IGRvIHRoaXMgZm9yCisJICogU0lHQUxSTSwgU0lHVVNSMSBvciBTSUdVU1IyLiAgKi8KKwlzaWduYWwoU0lHSU5ULCBmYXRhbHNpZyk7CisJc2lnbmFsKFNJR1FVSVQsIGZhdGFsc2lnKTsKKwlzaWduYWwoU0lHVEVSTSwgZmF0YWxzaWcpOworCisJaWYgKHJlcGFpciAmJiAhYXV0b21hdGljKSB7CisJCXRjZ2V0YXR0cihTVERJTl9GSUxFTk8sICZ0ZXJtaW9zKTsKKwkJdG1wID0gdGVybWlvczsKKwkJdG1wLmNfbGZsYWcgJj0gfihJQ0FOT04gfCBFQ0hPKTsKKwkJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQU5PVywgJnRtcCk7CisJCXRlcm1pb3Nfc2V0ID0gMTsKKwl9CisKKwlpZiAoZnNfdmVyc2lvbiA9PSAyIHx8IGZzX3ZlcnNpb24gPT0gMykgeworCQljaGVja19yb290MigpOworCQljaGVjazIoKTsKKwl9IGVsc2UgeworCQljaGVja19yb290KCk7CisJCWNoZWNrKCk7CisJfQorCWlmICh2ZXJib3NlKSB7CisJCXVuc2lnbmVkIGxvbmcgaW5vZGUsIGZyZWU7CisKKwkJZm9yIChpbm9kZSA9IDEsIGZyZWUgPSAwOyBpbm9kZSA8PSBnZXRfbmlub2RlcygpOyBpbm9kZSsrKQorCQkJaWYgKCFpbm9kZV9pbl91c2UoaW5vZGUpKQorCQkJCWZyZWUrKzsKKwkJcHJpbnRmKF8oIlxuJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iKSwKKwkJICAgICAgIChnZXRfbmlub2RlcygpIC0gZnJlZSksCisJCSAgICAgICAxMDAgKiAoZ2V0X25pbm9kZXMoKSAtIGZyZWUpIC8gZ2V0X25pbm9kZXMoKSk7CisJCWZvciAoaW5vZGUgPSBnZXRfZmlyc3Rfem9uZSgpLCBmcmVlID0gMDsgaW5vZGUgPCBnZXRfbnpvbmVzKCk7IGlub2RlKyspCisJCQlpZiAoIXpvbmVfaW5fdXNlKGlub2RlKSkKKwkJCQlmcmVlKys7CisJCXByaW50ZihfKCIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIiksIChnZXRfbnpvbmVzKCkgLSBmcmVlKSwKKwkJICAgICAgIDEwMCAqIChnZXRfbnpvbmVzKCkgLSBmcmVlKSAvIGdldF9uem9uZXMoKSk7CisJCXByaW50ZihfKCJcbiU2ZCByZWd1bGFyIGZpbGVzXG4iCisJCQkgIiU2ZCBkaXJlY3Rvcmllc1xuIgorCQkJICIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorCQkJICIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisJCQkgIiU2ZCBsaW5rc1xuIgorCQkJICIlNmQgc3ltYm9saWMgbGlua3NcbiIKKwkJCSAiLS0tLS0tXG4iCisJCQkgIiU2ZCBmaWxlc1xuIiksCisJCSAgICAgICByZWd1bGFyLCBkaXJlY3RvcnksIGNoYXJkZXYsIGJsb2NrZGV2LAorCQkgICAgICAgbGlua3MgLSAyICogZGlyZWN0b3J5ICsgMSwgc3ltbGlua3MsCisJCSAgICAgICB0b3RhbCAtIDIgKiBkaXJlY3RvcnkgKyAxKTsKKwl9CisJaWYgKGNoYW5nZWQpIHsKKwkJd3JpdGVfdGFibGVzKCk7CisJCXByaW50ZihfKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisJCQkgIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKwkJCSAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIikpOworCQlmb3IgKGNvdW50ID0gMDsgY291bnQgPCAzOyBjb3VudCsrKQorCQkJc3luYygpOworCX0gZWxzZSBpZiAocmVwYWlyKQorCQl3cml0ZV9zdXBlcl9ibG9jaygpOworCisJaWYgKHJlcGFpciAmJiAhYXV0b21hdGljKQorCQl0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBTk9XLCAmdGVybWlvcyk7CisKKwlpZiAoY2xvc2VfZmQoZGV2aWNlX2ZkKSAhPSAwKQorCQllcnIoRlNDS19FWF9FUlJPUiwgXygid3JpdGUgZmFpbGVkIikpOworCWlmIChjaGFuZ2VkKQorCQlyZXRjb2RlICs9IDM7CisJaWYgKGVycm9yc191bmNvcnJlY3RlZCkKKwkJcmV0Y29kZSArPSA0OworCXJldHVybiByZXRjb2RlOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9pc29zaXplLjggYi9kaXNrLXV0aWxzL2lzb3NpemUuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWE1ZjdkCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9pc29zaXplLjgKQEAgLTAsMCArMSw1NiBAQAorLlRIIElTT1NJWkUgOCAiSnVuZSAyMDExIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitpc29zaXplIFwtIG91dHB1dCB0aGUgbGVuZ3RoIG9mIGFuIGlzbzk2NjAgZmlsZXN5c3RlbQorLlNIIFNZTk9QU0lTCisuQiBpc29zaXplCisuUkkgW29wdGlvbnNdICIgaXNvOTY2MF9pbWFnZV9maWxlIgorLlNIIERFU0NSSVBUSU9OCisuUFAKK1RoaXMgY29tbWFuZCBvdXRwdXRzIHRoZSBsZW5ndGggb2YgYW4gaXNvOTY2MCBmaWxlc3lzdGVtIHRoYXQKK2lzIGNvbnRhaW5lZCBpbiB0aGUgc3BlY2lmaWVkIGZpbGUuICBUaGlzIGZpbGUgbWF5IGJlIGEgbm9ybWFsIGZpbGUgb3IKK2EgYmxvY2sgZGV2aWNlIChlLmcuXCYgL2Rldi9oZGQgb3IgL2Rldi9zcjApLiAgSW4gdGhlIGFic2VuY2Ugb2YKK2FueSBvcHRpb25zIChhbmQgZXJyb3JzKSwgaXQgd2lsbCBvdXRwdXQgdGhlIHNpemUgb2YgdGhlIGlzbzk2NjAKK2ZpbGVzeXN0ZW0gaW4gYnl0ZXMuICBUaGlzIGNhbiBub3cgYmUgYSBsYXJnZSBudW1iZXIgKD4+IDRcIEdCKS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLXggLCAiIFwtXC1zZWN0b3JzIgorU2hvdyB0aGUgYmxvY2sgY291bnQgYW5kIGJsb2NrIHNpemUgaW4gaHVtYW4tcmVhZGFibGUgZm9ybS4KK1RoZSBvdXRwdXQgdXNlcyB0aGUgdGVybSAic2VjdG9ycyIgZm9yICJibG9ja3MiLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGl2aXNvciAiIFxmSW51bWJlclxmUgorT25seSBoYXMgYW4gZWZmZWN0IHdoZW4KKy5CIFwteAoraXMgbm90IGdpdmVuLiAgVGhlIHZhbHVlIHNob3duIChpZiBubyBlcnJvcnMpCitpcyB0aGUgaXNvOTY2MCBmaWxlIHNpemUgaW4gYnl0ZXMgZGl2aWRlZCBieQorLklSIG51bWJlciAuCitTbyBpZgorLkkgbnVtYmVyCitpcyB0aGUgYmxvY2sgc2l6ZSB0aGVuIHRoZSBzaG93biB2YWx1ZSB3aWxsIGJlIHRoZSBibG9jayBjb3VudC4KKy5QUAorVGhlIHNpemUgb2YgdGhlIGZpbGUgKG9yIGJsb2NrIGRldmljZSkgaG9sZGluZyBhbiBpc285NjYwCitmaWxlc3lzdGVtIGNhbiBiZSBtYXJnaW5hbGx5IGxhcmdlciB0aGFuIHRoZSBhY3R1YWwgc2l6ZSBvZiB0aGUKK2lzbzk2NjAgZmlsZXN5c3RlbS4gIE9uZSByZWFzb24gZm9yIHRoaXMgaXMgdGhhdCBjZCB3cml0ZXJzCithcmUgYWxsb3dlZCB0byBhZGQgInJ1biBvdXQiIHNlY3RvcnMgYXQgdGhlIGVuZCBvZiBhbiBpc285NjYwCitpbWFnZS4KKy5TSCAiRVhJVCBTVEFUVVMiCisuUlMKKy5QRCAwCisuVFAKKy5CIDAKK3N1Y2Nlc3MKKy5UUAorLkIgMQorZ2VuZXJpYyBmYWlsdXJlLCBzdWNoIGFzIGludmFsaWQgdXNhZ2UKKy5UUAorLkIgMzIKK2FsbCBmYWlsZWQKKy5UUAorLkIgNjQKK3NvbWUgZmFpbGVkCisuUEQKKy5SRQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGlzb3NpemUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvaXNvc2l6ZS5jIGIvZGlzay11dGlscy9pc29zaXplLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVhNTQ5YQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvaXNvc2l6ZS5jCkBAIC0wLDAgKzEsMjE3IEBACisvKgorICogaXNvc2l6ZS5jIC0gQW5kcmllcyBCcm91d2VyLCAwMDA2MDgKKyAqCisgKiB1c2UgaGVhZGVyIGluZm8gdG8gZmluZCBzaXplIG9mIGlzbzk2NjAgZmlsZSBzeXN0ZW0KKyAqIG91dHB1dCBhIG51bWJlciAtIHVzZWZ1bCBpbiBzY3JpcHRzCisgKgorICogU3lub3BzaXM6CisgKiAgICBpc29zaXplIFsteF0gWy1kIDxudW0+XSA8ZmlsZW5hbWU+CisgKiAgICAgICAgd2hlcmUgIi14IiBnaXZlcyBsZW5ndGggaW4gc2VjdG9ycyBhbmQgc2VjdG9yIHNpemUgd2hpbGUKKyAqICAgICAgICAgICAgICB3aXRob3V0IHRoaXMgYXJndW1lbnQgdGhlIHNpemUgaXMgZ2l2ZW4gaW4gYnl0ZXMKKyAqICAgICAgICB3aXRob3V0ICIteCIgZ2l2ZXMgbGVuZ3RoIGluIGJ5dGVzIHVubGVzcyAiLWQgPG51bT4iIGlzCisgKgkJZ2l2ZW4uIEluIHRoZSBsYXR0ZXIgY2FzZSB0aGUgbGVuZ3RoIGluIGJ5dGVzIGRpdmlkZWQKKyAqCQlieSA8bnVtPiBpcyBnaXZlbgorICoKKyAqICBWZXJzaW9uIDIuMDMgMjAwMC8xMi8yMQorICogICAgIC0gYWRkICItZCA8bnVtPiIgb3B0aW9uIGFuZCB1c2UgbG9uZyBsb25nIHRvIGZpeCB0aGluZ3MgPiAyIEdCCisgKiAgVmVyc2lvbiAyLjAyIDIwMDAvMTAvMTEKKyAqICAgICAtIGVycm9yIG1lc3NhZ2VzIG9uIElPIGZhaWx1cmVzIFtELiBHaWxiZXJ0XQorICoKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2RlZmluZSBJU09TSVpFX0VYSVRfQUxMRkFJTEVECTMyCisjZGVmaW5lIElTT1NJWkVfRVhJVF9TT01FT0sJNjQKKworc3RhdGljIGludCBpc19pc28oaW50IGZkKQoreworCWNoYXIgbGFiZWxbOF07CisKKwlpZiAocHJlYWQoZmQsICZsYWJlbCwgOCwgMHg4MDAwKSA9PSAtMSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIG1lbWNtcCgmbGFiZWwsICYiXDFDRDAwMVwxIiwgOCk7Cit9CisKK3N0YXRpYyBpbnQgaXNvbnVtXzcyMSh1bnNpZ25lZCBjaGFyICpwKQoreworCXJldHVybiAoKHBbMF0gJiAweGZmKQorCQl8ICgocFsxXSAmIDB4ZmYpIDw8IDgpKTsKK30KKworc3RhdGljIGludCBpc29udW1fNzIyKHVuc2lnbmVkIGNoYXIgKnApCit7CisJcmV0dXJuICgocFsxXSAmIDB4ZmYpCisJCXwgKChwWzBdICYgMHhmZikgPDwgOCkpOworfQorCitzdGF0aWMgaW50IGlzb251bV83MjModW5zaWduZWQgY2hhciAqcCwgaW50IHhmbGFnKQoreworCWludCBsZSA9IGlzb251bV83MjEocCk7CisJaW50IGJlID0gaXNvbnVtXzcyMihwICsgMik7CisKKwlpZiAoeGZsYWcgJiYgbGUgIT0gYmUpCisJCS8qIHRyYW5zbGF0aW9uIGlzIHVzZWxlc3MgKi8KKwkJd2FybngoIjcyM2Vycm9yOiBsZT0lZCBiZT0lZCIsIGxlLCBiZSk7CisJcmV0dXJuIChsZSk7Cit9CisKK3N0YXRpYyBpbnQgaXNvbnVtXzczMSh1bnNpZ25lZCBjaGFyICpwKQoreworCXJldHVybiAoKHBbMF0gJiAweGZmKQorCQl8ICgocFsxXSAmIDB4ZmYpIDw8IDgpCisJCXwgKChwWzJdICYgMHhmZikgPDwgMTYpCisJCXwgKChwWzNdICYgMHhmZikgPDwgMjQpKTsKK30KKworc3RhdGljIGludCBpc29udW1fNzMyKHVuc2lnbmVkIGNoYXIgKnApCit7CisJcmV0dXJuICgocFszXSAmIDB4ZmYpCisJCXwgKChwWzJdICYgMHhmZikgPDwgOCkKKwkJfCAoKHBbMV0gJiAweGZmKSA8PCAxNikKKwkJfCAoKHBbMF0gJiAweGZmKSA8PCAyNCkpOworfQorCitzdGF0aWMgaW50IGlzb251bV83MzModW5zaWduZWQgY2hhciAqcCwgaW50IHhmbGFnKQoreworCWludCBsZSA9IGlzb251bV83MzEocCk7CisJaW50IGJlID0gaXNvbnVtXzczMihwICsgNCk7CisKKwlpZiAoeGZsYWcgJiYgbGUgIT0gYmUpCisJCS8qIHRyYW5zbGF0aW9uIGlzIHVzZWxlc3MgKi8KKwkJd2FybngoIjczM2Vycm9yOiBsZT0lZCBiZT0lZCIsIGxlLCBiZSk7CisJcmV0dXJuIChsZSk7Cit9CisKK3N0YXRpYyBpbnQgaXNvc2l6ZShpbnQgYXJnYywgY2hhciAqZmlsZW5hbWVwLCBpbnQgeGZsYWcsIGxvbmcgZGl2aXNvcikKK3sKKwlpbnQgZmQsIG5zZWNzLCBzc2l6ZSwgcmMgPSAtMTsKKwl1bnNpZ25lZCBjaGFyIHZvbHVtZV9zcGFjZV9zaXplWzhdOworCXVuc2lnbmVkIGNoYXIgbG9naWNhbF9ibG9ja19zaXplWzRdOworCisJaWYgKChmZCA9IG9wZW4oZmlsZW5hbWVwLCBPX1JET05MWSkpIDwgMCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGZpbGVuYW1lcCk7CisJCWdvdG8gZG9uZTsKKwl9CisJaWYgKGlzX2lzbyhmZCkpCisJCXdhcm54KF8oIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iKSwgZmlsZW5hbWVwKTsKKworCWlmIChwcmVhZChmZCwgdm9sdW1lX3NwYWNlX3NpemUsIHNpemVvZih2b2x1bWVfc3BhY2Vfc2l6ZSksIDB4ODA1MCkgIT0gc2l6ZW9mKHZvbHVtZV9zcGFjZV9zaXplKSB8fAorCSAgICBwcmVhZChmZCwgbG9naWNhbF9ibG9ja19zaXplLCBzaXplb2YobG9naWNhbF9ibG9ja19zaXplKSwgMHg4MDgwKSAhPSBzaXplb2YobG9naWNhbF9ibG9ja19zaXplKSkgeworCQlpZiAoZXJybm8pCisJCQl3YXJuKF8oInJlYWQgZXJyb3Igb24gJXMiKSwgZmlsZW5hbWVwKTsKKwkJZWxzZQorCQkJd2FybngoXygicmVhZCBlcnJvciBvbiAlcyIpLCBmaWxlbmFtZXApOworCQlnb3RvIGRvbmU7CisJfQorCisJbnNlY3MgPSBpc29udW1fNzMzKHZvbHVtZV9zcGFjZV9zaXplLCB4ZmxhZyk7CisJLyogaXNvbnVtXzcyMyByZXR1cm5zIG5vd2FkYXlzIGFsd2F5cyAyMDQ4ICovCisJc3NpemUgPSBpc29udW1fNzIzKGxvZ2ljYWxfYmxvY2tfc2l6ZSwgeGZsYWcpOworCisJaWYgKDEgPCBhcmdjKQorCQlwcmludGYoIiVzOiAiLCBmaWxlbmFtZXApOworCWlmICh4ZmxhZykKKwkJcHJpbnRmKF8oInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIiksIG5zZWNzLCBzc2l6ZSk7CisJZWxzZSB7CisJCWxvbmcgbG9uZyBwcm9kdWN0ID0gbnNlY3M7CisKKwkJaWYgKGRpdmlzb3IgPT0gMCkKKwkJCXByaW50ZigiJWxsZFxuIiwgcHJvZHVjdCAqIHNzaXplKTsKKwkJZWxzZSBpZiAoZGl2aXNvciA9PSBzc2l6ZSkKKwkJCXByaW50ZigiJWRcbiIsIG5zZWNzKTsKKwkJZWxzZQorCQkJcHJpbnRmKCIlbGxkXG4iLCAocHJvZHVjdCAqIHNzaXplKSAvIGRpdmlzb3IpOworCX0KKworCXJjID0gMDsKK2RvbmU6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIHN0ZG91dCk7CisJZnByaW50ZihzdGRvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCWZwdXRzKF8oIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iKSwgc3Rkb3V0KTsKKworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjUpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImlzb3NpemUoOCkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgaiwgY3RfZXJyID0gMCwgY3QsIG9wdCwgeGZsYWcgPSAwOworCWxvbmcgZGl2aXNvciA9IDA7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ImRpdmlzb3IiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2QnfSwKKwkJeyJzZWN0b3JzIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd4J30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKG9wdCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJkOnhWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChvcHQpIHsKKwkJY2FzZSAnZCc6CisJCQlkaXZpc29yID0KKwkJCSAgICBzdHJ0b2xfb3JfZXJyKG9wdGFyZywKKwkJCQkJICBfKCJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAneCc6CisJCQl4ZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWN0ID0gYXJnYyAtIG9wdGluZDsKKworCWlmIChjdCA8PSAwKSB7CisJCXdhcm54KF8oIm5vIGRldmljZSBzcGVjaWZpZWQiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlmb3IgKGogPSBvcHRpbmQ7IGogPCBhcmdjOyBqKyspIHsKKwkJaWYgKGlzb3NpemUoY3QsIGFyZ3Zbal0sIHhmbGFnLCBkaXZpc29yKSAhPSAwKQorCQkJY3RfZXJyKys7CisJfQorCisJcmV0dXJuCWN0ID09IGN0X2Vycgk/IElTT1NJWkVfRVhJVF9BTExGQUlMRUQgOgkvKiBhbGwgZmFpbGVkICovCisJCWN0X2VycgkJPyBJU09TSVpFX0VYSVRfU09NRU9LIDoJCS8qIHNvbWUgb2sgKi8KKwkJRVhJVF9TVUNDRVNTOwkJCQkJLyogYWxsIHN1Y2Nlc3MgKi8KK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWluaXhfcHJvZ3JhbXMuaCBiL2Rpc2stdXRpbHMvbWluaXhfcHJvZ3JhbXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YWQzMDhkCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9taW5peF9wcm9ncmFtcy5oCkBAIC0wLDAgKzEsMTE4IEBACisjaWZuZGVmIFVUSUxfTElOVVhfTUlOSVhfUFJPR1JBTVNfSAorI2RlZmluZSBVVElMX0xJTlVYX01JTklYX1BST0dSQU1TX0gKKworI2luY2x1ZGUgIm1pbml4LmgiCisKKy8qCisgKiBHbG9iYWwgdmFyaWFibGVzLgorICovCitleHRlcm4gaW50IGZzX3ZlcnNpb247CitleHRlcm4gY2hhciAqc3VwZXJfYmxvY2tfYnVmZmVyOworCisjZGVmaW5lIFN1cGVyICgqKHN0cnVjdCBtaW5peF9zdXBlcl9ibG9jayAqKSBzdXBlcl9ibG9ja19idWZmZXIpCisjZGVmaW5lIFN1cGVyMyAoKihzdHJ1Y3QgbWluaXgzX3N1cGVyX2Jsb2NrICopIHN1cGVyX2Jsb2NrX2J1ZmZlcikKKworI2RlZmluZSBJTk9ERV9TSVpFIChzaXplb2Yoc3RydWN0IG1pbml4X2lub2RlKSkKKyNkZWZpbmUgSU5PREUyX1NJWkUgKHNpemVvZihzdHJ1Y3QgbWluaXgyX2lub2RlKSkKKworI2RlZmluZSBCSVRTX1BFUl9CTE9DSyAoTUlOSVhfQkxPQ0tfU0laRSA8PCAzKQorCisjZGVmaW5lIFVQUEVSKHNpemUsbikgKChzaXplKygobiktMSkpLyhuKSkKKworLyoKKyAqIElubGluZSBmdW5jdGlvbnMuCisgKi8KK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZXRfbmlub2Rlcyh2b2lkKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJcmV0dXJuIFN1cGVyMy5zX25pbm9kZXM7CisJZGVmYXVsdDoKKwkJcmV0dXJuIFN1cGVyLnNfbmlub2RlczsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBnZXRfbnpvbmVzKHZvaWQpCit7CisJc3dpdGNoIChmc192ZXJzaW9uKSB7CisJY2FzZSAzOgorCQlyZXR1cm4gU3VwZXIzLnNfem9uZXM7CisJY2FzZSAyOgorCQlyZXR1cm4gU3VwZXIuc196b25lczsKKwlkZWZhdWx0OgorCQlyZXR1cm4gU3VwZXIuc19uem9uZXM7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgZ2V0X25pbWFwcyh2b2lkKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJcmV0dXJuIFN1cGVyMy5zX2ltYXBfYmxvY2tzOworCWRlZmF1bHQ6CisJCXJldHVybiBTdXBlci5zX2ltYXBfYmxvY2tzOworCX0KK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBsb25nIGdldF9uem1hcHModm9pZCkKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDM6CisJCXJldHVybiBTdXBlcjMuc196bWFwX2Jsb2NrczsKKwlkZWZhdWx0OgorCQlyZXR1cm4gU3VwZXIuc196bWFwX2Jsb2NrczsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgb2ZmX3QgZ2V0X2ZpcnN0X3pvbmUodm9pZCkKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDM6CisJCXJldHVybiBTdXBlcjMuc19maXJzdGRhdGF6b25lOworCWRlZmF1bHQ6CisJCXJldHVybiBTdXBlci5zX2ZpcnN0ZGF0YXpvbmU7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHNpemVfdCBnZXRfem9uZV9zaXplKHZvaWQpCit7CisJc3dpdGNoIChmc192ZXJzaW9uKSB7CisJY2FzZSAzOgorCQlyZXR1cm4gU3VwZXIzLnNfbG9nX3pvbmVfc2l6ZTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gU3VwZXIuc19sb2dfem9uZV9zaXplOworCX0KK30KKworc3RhdGljIGlubGluZSBzaXplX3QgZ2V0X21heF9zaXplKHZvaWQpCit7CisJc3dpdGNoIChmc192ZXJzaW9uKSB7CisJY2FzZSAzOgorCQlyZXR1cm4gU3VwZXIzLnNfbWF4X3NpemU7CisJZGVmYXVsdDoKKwkJcmV0dXJuIFN1cGVyLnNfbWF4X3NpemU7CisJfQorfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGxvbmcgaW5vZGVfYmxvY2tzKHZvaWQpCit7CisJc3dpdGNoIChmc192ZXJzaW9uKSB7CisJY2FzZSAzOgorCWNhc2UgMjoKKwkJcmV0dXJuIFVQUEVSKGdldF9uaW5vZGVzKCksIE1JTklYMl9JTk9ERVNfUEVSX0JMT0NLKTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gVVBQRVIoZ2V0X25pbm9kZXMoKSwgTUlOSVhfSU5PREVTX1BFUl9CTE9DSyk7CisJfQorfQorCitzdGF0aWMgaW5saW5lIG9mZl90IGZpcnN0X3pvbmVfZGF0YSh2b2lkKQoreworCXJldHVybiAyICsgZ2V0X25pbWFwcygpICsgZ2V0X256bWFwcygpICsgaW5vZGVfYmxvY2tzKCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGdldF9pbm9kZV9idWZmZXJfc2l6ZSh2b2lkKQoreworCXJldHVybiBpbm9kZV9ibG9ja3MoKSAqIE1JTklYX0JMT0NLX1NJWkU7Cit9CisKKyNlbmRpZgkJCQkvKiBVVElMX0xJTlVYX01JTklYX1BST0dSQU1TX0ggKi8KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtmcy44IGIvZGlzay11dGlscy9ta2ZzLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTNhN2Y4YgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWtmcy44CkBAIC0wLDAgKzEsOTQgQEAKKy5USCBNS0ZTIDggIkp1bmUgMjAxMSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorbWtmcyBcLSBidWlsZCBhIExpbnV4IGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgbWtmcworW29wdGlvbnNdCisuUkIgWyBcLXQKKy5JUiB0eXBlICJdIFsiIGZzLW9wdGlvbnMgXSAiIGRldmljZSAiIFsgc2l6ZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIFRoaXMgbWtmcyBmcm9udGVuZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiBmaWxlc3lzdGVtIHNwZWNpZmljIG1rZnMuPHR5cGU+IHV0aWxzLgorLlBQCisuQiBta2ZzCitpcyB1c2VkIHRvIGJ1aWxkIGEgTGludXggZmlsZXN5c3RlbSBvbiBhIGRldmljZSwgdXN1YWxseQorYSBoYXJkIGRpc2sgcGFydGl0aW9uLiAgVGhlCisuSSBkZXZpY2UKK2FyZ3VtZW50IGlzIGVpdGhlciB0aGUgZGV2aWNlIG5hbWUgKGUuZy4KKy5JUiAvZGV2L2hkYTEgLAorLklSIC9kZXYvc2RiMiApLAorb3IgYSByZWd1bGFyIGZpbGUgdGhhdCBzaGFsbCBjb250YWluIHRoZSBmaWxlc3lzdGVtLiAgVGhlCisuSSBzaXplCithcmd1bWVudCBpcyB0aGUgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIGZvciB0aGUgZmlsZXN5c3RlbS4KKy5QUAorVGhlIGV4aXQgY29kZSByZXR1cm5lZCBieQorLkIgbWtmcworaXMgMCBvbiBzdWNjZXNzIGFuZCAxIG9uIGZhaWx1cmUuCisuUFAKK0luIGFjdHVhbGl0eSwKKy5CIG1rZnMKK2lzIHNpbXBseSBhIGZyb250LWVuZCBmb3IgdGhlIHZhcmlvdXMgZmlsZXN5c3RlbSBidWlsZGVycworKFxmQm1rZnMuXGZJZnN0eXBlXGZSKQorYXZhaWxhYmxlIHVuZGVyIExpbnV4LgorVGhlIGZpbGVzeXN0ZW0tc3BlY2lmaWMgYnVpbGRlciBpcyBzZWFyY2hlZCBmb3IgdmlhIHlvdXIgUEFUSAorZW52aXJvbm1lbnQgc2V0dGluZyBvbmx5LgorUGxlYXNlIHNlZSB0aGUgZmlsZXN5c3RlbS1zcGVjaWZpYyBidWlsZGVyIG1hbnVhbCBwYWdlcyBmb3IKK2Z1cnRoZXIgZGV0YWlscy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10eXBlICIgXGZJdHlwZVxmUgorU3BlY2lmeSB0aGUgXGZJdHlwZVxmUiBvZiBmaWxlc3lzdGVtIHRvIGJlIGJ1aWx0LgorSWYgbm90IHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgZmlsZXN5c3RlbSB0eXBlCisoY3VycmVudGx5IGV4dDIpIGlzIHVzZWQuCisuVFAKKy5JIGZzLW9wdGlvbnMKK0ZpbGVzeXN0ZW0tc3BlY2lmaWMgb3B0aW9ucyB0byBiZSBwYXNzZWQgdG8gdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyYm9zZSIKK1Byb2R1Y2UgdmVyYm9zZSBvdXRwdXQsIGluY2x1ZGluZyBhbGwgZmlsZXN5c3RlbS1zcGVjaWZpYyBjb21tYW5kcwordGhhdCBhcmUgZXhlY3V0ZWQuCitTcGVjaWZ5aW5nIHRoaXMgb3B0aW9uIG1vcmUgdGhhbiBvbmNlIGluaGliaXRzIGV4ZWN1dGlvbiBvZiBhbnkKK2ZpbGVzeXN0ZW0tc3BlY2lmaWMgY29tbWFuZHMuCitUaGlzIGlzIHJlYWxseSBvbmx5IHVzZWZ1bCBmb3IgdGVzdGluZy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuICAoT3B0aW9uIFxmQlwtVlxmUiB3aWxsIGRpc3BsYXkKK3ZlcnNpb24gaW5mb3JtYXRpb24gb25seSB3aGVuIGl0IGlzIHRoZSBvbmx5IHBhcmFtZXRlciwgb3RoZXJ3aXNlIGl0Cit3aWxsIHdvcmsgYXMgXGZCXC1cLXZlcmJvc2VcZlIuKQorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEJVR1MKK0FsbCBnZW5lcmljIG9wdGlvbnMgbXVzdCBwcmVjZWRlIGFuZCBub3QgYmUgY29tYmluZWQgd2l0aAorZmlsZXN5c3RlbS1zcGVjaWZpYyBvcHRpb25zLgorU29tZSBmaWxlc3lzdGVtLXNwZWNpZmljIHByb2dyYW1zIGRvIG5vdCBhdXRvbWF0aWNhbGx5CitkZXRlY3QgdGhlIGRldmljZSBzaXplIGFuZCByZXF1aXJlIHRoZQorLkkgc2l6ZQorcGFyYW1ldGVyIHRvIGJlIHNwZWNpZmllZC4KKy5TSCBBVVRIT1JTCitEYXZpZCBFbmdlbCAoZGF2aWRAb2RzLmNvbSkKKy5icgorRnJlZCBOLlwmIHZhbiBLZW1wZW4gKHdhbHRqZUB1d2FsdC5ubC5tdWduZXQub3JnKQorLmJyCitSb24gU29tbWVsaW5nIChzb21tZWxAc2NpLmt1bi5ubCkKKy5icgorVGhlIG1hbnVhbCBwYWdlIHdhcyBzaGFtZWxlc3NseSBhZGFwdGVkIGZyb20gUmVteSBDYXJkJ3MgdmVyc2lvbgorZm9yIHRoZSBleHQyIGZpbGVzeXN0ZW0uCisuU0ggU0VFIEFMU08KKy5uYQorLkJSIGZzICg1KSwKKy5CUiBiYWRibG9ja3MgKDgpLAorLkJSIGZzY2sgKDgpLAorLkJSIG1rZG9zZnMgKDgpLAorLkJSIG1rZTJmcyAoOCksCisuQlIgbWtmcy5iZnMgKDgpLAorLkJSIG1rZnMuZXh0MiAoOCksCisuQlIgbWtmcy5leHQzICg4KSwKKy5CUiBta2ZzLmV4dDQgKDgpLAorLkJSIG1rZnMubWluaXggKDgpLAorLkJSIG1rZnMubXNkb3MgKDgpLAorLkJSIG1rZnMudmZhdCAoOCksCisuQlIgbWtmcy54ZnMgKDgpCisuYWQKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBta2ZzIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21rZnMuYmZzLjggYi9kaXNrLXV0aWxzL21rZnMuYmZzLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjMyMjAyYQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWtmcy5iZnMuOApAQCAtMCwwICsxLDU4IEBACisuXCIgQ29weXJpZ2h0IDE5OTkgQW5kcmllcyBFLiBCcm91d2VyIChhZWJAY3dpLm5sKQorLlwiIE1heSBiZSBmcmVlbHkgZGlzdHJpYnV0ZWQuCisuVEggTUtGUy5CRlMgOCAiSnVseSAyMDExIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitta2ZzLmJmcyBcLSBtYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbQorLlNIIFNZTk9QU0lTCisuQiBta2ZzLmJmcworLlJJIFtvcHRpb25zXSAiIGRldmljZSAiIFsgYmxvY2stY291bnQgXQorLlNIIERFU0NSSVBUSU9OCisuQiBta2ZzLmJmcworY3JlYXRlcyBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0gb24gYSBibG9jayBkZXZpY2UKKyh1c3VhbGx5IGEgZGlzayBwYXJ0aXRpb24gb3IgYSBmaWxlIGFjY2Vzc2VkIHZpYSB0aGUgbG9vcCBkZXZpY2UpLgorLlBQCitUaGUKKy5JIGJsb2NrLWNvdW50CitwYXJhbWV0ZXIgaXMgdGhlIGRlc2lyZWQgc2l6ZSBvZiB0aGUgZmlsZXN5c3RlbSwgaW4gYmxvY2tzLgorSWYgbm90aGluZyBpcyBzcGVjaWZpZWQsIHRoZSBlbnRpcmUgcGFydGl0aW9uIHdpbGwgYmUgdXNlZC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLU4gLCAiIFwtXC1pbm9kZXMgIiBcZkludW1iZXJcZlIKK1NwZWNpZnkgdGhlIGRlc2lyZWQgXGZJbnVtYmVyXGZSIG9mIGlub2RlcyAoYXQgbW9zdCA1MTIpLgorSWYgbm90aGluZyBpcyBzcGVjaWZpZWQsIHNvbWUgZGVmYXVsdCBudW1iZXIgaW4gdGhlIHJhbmdlIDQ4XChlbjUxMiBpcyBwaWNrZWQKK2RlcGVuZGluZyBvbiB0aGUgc2l6ZSBvZiB0aGUgcGFydGl0aW9uLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdm5hbWUgIiBcZklsYWJlbFxmUgorU3BlY2lmeSB0aGUgdm9sdW1lIFxmSWxhYmVsXGZSLiAgSSBoYXZlIG5vIGlkZWEgaWYvd2hlcmUgdGhpcyBpcyB1c2VkLgorLlRQCisuQlIgXC1GICwgIiBcLVwtZm5hbWUgIiBcZkluYW1lXGZSCitTcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIFxmSW5hbWVcZlIuICBJIGhhdmUgbm8gaWRlYSBpZi93aGVyZSB0aGlzIGlzIHVzZWQuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorRXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmUuCisuVFAKKy5CIFwtYworVGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZC4KKy5UUAorLkIgXC1sCitUaGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkLgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KK09wdGlvbgorLkIgXC1WCitvbmx5IHdvcmtzIGFzCisuQiBcLVwtdmVyc2lvbgord2hlbiBpdCBpcyB0aGUgb25seSBvcHRpb24uCisuU0ggIkVYSVQgQ09ERVMiCitUaGUgZXhpdCBjb2RlIHJldHVybmVkIGJ5CisuQiBta2ZzLmJmcworaXMgMCB3aGVuIGFsbCB3ZW50IHdlbGwsIGFuZCAxIHdoZW4gc29tZXRoaW5nIHdlbnQgd3JvbmcuCisuU0ggIlNFRSBBTFNPIgorLkJSIG1rZnMgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbWtmcy5iZnMgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtmcy5iZnMuYyBiL2Rpc2stdXRpbHMvbWtmcy5iZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YmY4ZmRmCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9ta2ZzLmJmcy5jCkBAIC0wLDAgKzEsMzA3IEBACisvKgorICogIG1rZnMuYmZzIC0gQ3JlYXRlIFNDTyBCRlMgZmlsZXN5c3RlbSAtIGFlYiwgMTk5OS0wOS0wNworICoKKyAqCVVzYWdlOiBta2ZzLmJmcyBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdIFstRiBmc25hbWVdIGRldmljZQorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisKKyNkZWZpbmUgQkZTX1JPT1RfSU5PCQkyCisjZGVmaW5lIEJGU19OQU1FTEVOCQkxNAorI2RlZmluZSBCRlNfQkxPQ0tTSVpFCQk1MTIKKyNkZWZpbmUgQkZTX1NVUEVSX01BR0lDCQkweDFiYWRmYWNlCisKKy8qIHN1cGVyYmxvY2sgLSA1MTIgYnl0ZXMgKi8KK3N0cnVjdCBiZnNzYiB7CisJdWludDMyX3Qgc19tYWdpYzsKKwl1aW50MzJfdCBzX3N0YXJ0OwkvKiBieXRlIG9mZnNldCBvZiBzdGFydCBvZiBkYXRhICovCisJdWludDMyX3Qgc19lbmQ7CS8qIHNpemVvZihzbGljZSktMSAqLworCisJLyogZm9yIHJlY292ZXJ5IGR1cmluZyBjb21wYWN0aW9uICovCisJdWludDMyX3Qgc19mcm9tLCBzX3RvOwkvKiBzcmMgYW5kIGRlc3QgYmxvY2sgb2YgY3VycmVudCB0cmFuc2ZlciAqLworCWludDMyX3Qgc19iYWNrdXBfZnJvbSwgc19iYWNrdXBfdG87CisKKwkvKiBsYWJlbHMgLSBtYXkgd2VsbCBjb250YWluIGdhcmJhZ2UgKi8KKwljaGFyIHNfZnNuYW1lWzZdOworCWNoYXIgc192b2x1bWVbNl07CisJY2hhciBzX3BhZFs0NzJdOworfTsKKworLyogaW5vZGUgLSA2NCBieXRlcyAqLworc3RydWN0IGJmc2kgeworCXVpbnQxNl90IGlfaW5vOworCXVuc2lnbmVkIGNoYXIgaV9wYWQxWzJdOworCXVpbnQzMl90IGlfZmlyc3RfYmxvY2s7CisJdWludDMyX3QgaV9sYXN0X2Jsb2NrOworCXVpbnQzMl90IGlfYnl0ZXNfdG9fZW5kOworCXVpbnQzMl90IGlfdHlwZTsJLyogMTogZmlsZSwgMjogdGhlIHVuaXF1ZSBkaXIgKi8KKwl1aW50MzJfdCBpX21vZGU7CisJdWludDMyX3QgaV91aWQsIGlfZ2lkOworCXVpbnQzMl90IGlfbmxpbmtzOworCXVpbnQzMl90IGlfYXRpbWUsIGlfbXRpbWUsIGlfY3RpbWU7CisJdW5zaWduZWQgY2hhciBpX3BhZDJbMTZdOworfTsKKworI2RlZmluZSBCRlNfRElSX1RZUEUJMgorCisvKiBkaXJlY3RvcnkgZW50cnkgLSAxNiBieXRlcyAqLworc3RydWN0IGJmc2RlIHsKKwl1aW50MTZfdCBkX2lubzsKKwljaGFyIGRfbmFtZVtCRlNfTkFNRUxFTl07Cit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHJpbnRmKG91dCwKKwkJXygiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnByaW50ZihvdXQsIF8oIlxuT3B0aW9uczpcbiIKKwkJICAgICAgICIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorCQkgICAgICAgIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKwkJICAgICAgICIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKwkJICAgICAgICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorCQkgICAgICAgIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKwkJICAgICAgICIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisJCSAgICAgICApKTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIxKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoIm1rZnMuYmZzKDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHByaW50X3ZlcnNpb24odm9pZCkKK3sKKwlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljaGFyICpkZXZpY2UsICp2b2x1bWUsICpmc25hbWU7CisJbG9uZyBpbm9kZXM7CisJdW5zaWduZWQgbG9uZyBsb25nIHRvdGFsX2Jsb2NrcywgaW5vX2J5dGVzLCBpbm9fYmxvY2tzLCBkYXRhX2Jsb2NrczsKKwl1bnNpZ25lZCBsb25nIGxvbmcgdXNlcl9zcGVjaWZpZWRfdG90YWxfYmxvY2tzID0gMDsKKwlpbnQgdmVyYm9zZSA9IDA7CisJaW50IGZkOworCXVpbnQzMl90IGZpcnN0X2Jsb2NrOworCXN0cnVjdCBiZnNzYiBzYjsKKwlzdHJ1Y3QgYmZzaSByaTsKKwlzdHJ1Y3QgYmZzZGUgZGU7CisJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKwl0aW1lX3Qgbm93OworCWludCBjLCBpLCBsZW47CisKKwllbnVtIHsgVkVSU0lPTl9PUFRJT04gPSBDSEFSX01BWCArIDEgfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7Imlub2RlcyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTid9LAorCQl7InZuYW1lIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiZm5hbWUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ0YnfSwKKwkJeyJ2ZXJib3NlIiwgbm9fYXJndW1lbnQsIE5VTEwsICd2J30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCBWRVJTSU9OX09QVElPTn0sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWlmIChhcmdjIDwgMikgeworCQl3YXJueChfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKwlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi1WIikpCisJCXByaW50X3ZlcnNpb24oKTsKKworCXZvbHVtZSA9IGZzbmFtZSA9ICIgICAgICAiOwkvKiBpcyB0aGVyZSBhIGRlZmF1bHQ/ICovCisJaW5vZGVzID0gMDsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJOOlY6Rjp2aGNsIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnTic6CisJCQlpbm9kZXMgPSBzdHJ0b2xfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIikpOworCQkJYnJlYWs7CisKKwkJY2FzZSAnVic6CisJCQlsZW4gPSBzdHJsZW4ob3B0YXJnKTsKKwkJCWlmIChsZW4gPD0gMCB8fCBsZW4gPiA2KQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ2b2x1bWUgbmFtZSB0b28gbG9uZyIpKTsKKwkJCXZvbHVtZSA9IHhzdHJkdXAob3B0YXJnKTsKKwkJCWJyZWFrOworCisJCWNhc2UgJ0YnOgorCQkJbGVuID0gc3RybGVuKG9wdGFyZyk7CisJCQlpZiAobGVuIDw9IDAgfHwgbGVuID4gNikKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZnNuYW1lIG5hbWUgdG9vIGxvbmciKSk7CisJCQlmc25hbWUgPSB4c3RyZHVwKG9wdGFyZyk7CisJCQlicmVhazsKKworCQljYXNlICd2JzoKKwkJCXZlcmJvc2UgPSAxOworCQkJYnJlYWs7CisKKwkJY2FzZSAnYyc6CisJCWNhc2UgJ2wnOgorCQkJLyogd2hlbiBjYWxsZWQgdmlhIG1rZnMgd2UgbWF5IGdldCBvcHRpb25zIGMsbCx2ICovCisJCQlicmVhazsKKworCQljYXNlIFZFUlNJT05fT1BUSU9OOgorCQkJcHJpbnRfdmVyc2lvbigpOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kID09IGFyZ2MpIHsKKwkJd2FybngoXygibm8gZGV2aWNlIHNwZWNpZmllZCIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCWRldmljZSA9IGFyZ3Zbb3B0aW5kKytdOworCisJaWYgKHN0YXQoZGV2aWNlLCAmc3RhdGJ1ZikgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBkZXZpY2UpOworCisJZmQgPSBvcGVuX2Jsa2Rldl9vcl9maWxlKCZzdGF0YnVmLCBkZXZpY2UsIE9fUkRXUik7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2aWNlKTsKKworCWlmIChvcHRpbmQgPT0gYXJnYyAtIDEpCisJCXVzZXJfc3BlY2lmaWVkX3RvdGFsX2Jsb2NrcyA9CisJCQlzdHJ0b3U2NF9vcl9lcnIoYXJndltvcHRpbmRdLCBfKCJpbnZhbGlkIGJsb2NrLWNvdW50IikpOworCWVsc2UgaWYgKG9wdGluZCAhPSBhcmdjKSB7CisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCWlmIChibGtkZXZfZ2V0X3NlY3RvcnMoZmQsICZ0b3RhbF9ibG9ja3MpID09IC0xKSB7CisJCWlmICghdXNlcl9zcGVjaWZpZWRfdG90YWxfYmxvY2tzKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IGdldCBzaXplIG9mICVzIiksIGRldmljZSk7CisJCXRvdGFsX2Jsb2NrcyA9IHVzZXJfc3BlY2lmaWVkX3RvdGFsX2Jsb2NrczsKKwl9IGVsc2UgaWYgKHVzZXJfc3BlY2lmaWVkX3RvdGFsX2Jsb2NrcykgeworCQlpZiAodXNlcl9zcGVjaWZpZWRfdG90YWxfYmxvY2tzID4gdG90YWxfYmxvY2tzKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkgICAgIF8oImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IiksCisJCQkgICAgIHRvdGFsX2Jsb2Nrcyk7CisJCXRvdGFsX2Jsb2NrcyA9IHVzZXJfc3BlY2lmaWVkX3RvdGFsX2Jsb2NrczsKKwl9CisKKwlpZiAoIWlub2RlcykgeworCQkvKiBwaWNrIHNvbWUgcmVhc29uYWJsZSBkZWZhdWx0ICovCisJCWlub2RlcyA9IDggKiAodG90YWxfYmxvY2tzIC8gODAwKTsKKwkJaWYgKGlub2RlcyA8IDQ4KQorCQkJaW5vZGVzID0gNDg7CisJCWlmICg1MTIgPCBpbm9kZXMpCisJCQlpbm9kZXMgPSA1MTI7CisJfSBlbHNlIHsKKwkJLyogYmVsaWV2ZSB0aGUgdXNlciAqLworCQlpZiAoNTEyIDwgaW5vZGVzKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiKSk7CisJfQorCisJaW5vX2J5dGVzID0gaW5vZGVzICogc2l6ZW9mKHN0cnVjdCBiZnNpKTsKKwlpbm9fYmxvY2tzID0gKGlub19ieXRlcyArIEJGU19CTE9DS1NJWkUgLSAxKSAvIEJGU19CTE9DS1NJWkU7CisJZGF0YV9ibG9ja3MgPSB0b3RhbF9ibG9ja3MgLSBpbm9fYmxvY2tzIC0gMTsKKworCS8qIG1pbWljIHRoZSBiZWhhdmlvciBvZiBTQ08ncyBta2ZzIC0gbWF5YmUgdGhpcyBsaW1pdCBpcyBuZWVkZWQgKi8KKwlpZiAoZGF0YV9ibG9ja3MgPCAzMikKKwkJZXJyeChFWElUX0ZBSUxVUkUsCisJCSAgICAgXygibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIpLAorCQkgICAgIGlub19ibG9ja3MgKyAzMyk7CisKKwltZW1zZXQoJnNiLCAwLCBzaXplb2Yoc2IpKTsKKwlzYi5zX21hZ2ljID0gY3B1X3RvX2xlMzIoQkZTX1NVUEVSX01BR0lDKTsKKwlzYi5zX3N0YXJ0ID0gY3B1X3RvX2xlMzIoaW5vX2J5dGVzICsgc2l6ZW9mKHN0cnVjdCBiZnNzYikpOworCXNiLnNfZW5kID0gY3B1X3RvX2xlMzIodG90YWxfYmxvY2tzICogQkZTX0JMT0NLU0laRSAtIDEpOworCXNiLnNfZnJvbSA9IHNiLnNfdG8gPSBzYi5zX2JhY2t1cF9mcm9tID0gc2Iuc19iYWNrdXBfdG8gPSAtMTsKKwltZW1jcHkoc2Iuc19mc25hbWUsIGZzbmFtZSwgNik7CisJbWVtY3B5KHNiLnNfdm9sdW1lLCB2b2x1bWUsIDYpOworCisJaWYgKHZlcmJvc2UpIHsKKwkJZnByaW50ZihzdGRlcnIsIF8oIkRldmljZTogJXNcbiIpLCBkZXZpY2UpOworCQlmcHJpbnRmKHN0ZGVyciwgXygiVm9sdW1lOiA8JS02cz5cbiIpLCB2b2x1bWUpOworCQlmcHJpbnRmKHN0ZGVyciwgXygiRlNuYW1lOiA8JS02cz5cbiIpLCBmc25hbWUpOworCQlmcHJpbnRmKHN0ZGVyciwgXygiQmxvY2tTaXplOiAlZFxuIiksIEJGU19CTE9DS1NJWkUpOworCQlpZiAoaW5vX2Jsb2NrcyA9PSAxKQorCQkJZnByaW50ZihzdGRlcnIsIF8oIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIiksCisJCQkJaW5vZGVzKTsKKwkJZWxzZQorCQkJZnByaW50ZihzdGRlcnIsIF8oIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIpLAorCQkJCWlub2RlcywgaW5vX2Jsb2Nrcyk7CisJCWZwcmludGYoc3RkZXJyLCBfKCJCbG9ja3M6ICVsbHVcbiIpLCB0b3RhbF9ibG9ja3MpOworCQlmcHJpbnRmKHN0ZGVyciwgXygiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iKSwKKwkJCWxlMzJfdG9fY3B1KHNiLnNfc3RhcnQpIC0gMSwgbGUzMl90b19jcHUoc2Iuc19lbmQpKTsKKwl9CisKKwlpZiAod3JpdGUoZmQsICZzYiwgc2l6ZW9mKHNiKSkgIT0gc2l6ZW9mKHNiKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIikpOworCisJbWVtc2V0KCZyaSwgMCwgc2l6ZW9mKHJpKSk7CisJcmkuaV9pbm8gPSBjcHVfdG9fbGUxNihCRlNfUk9PVF9JTk8pOworCWZpcnN0X2Jsb2NrID0gMSArIGlub19ibG9ja3M7CisJcmkuaV9maXJzdF9ibG9jayA9IGNwdV90b19sZTMyKGZpcnN0X2Jsb2NrKTsKKwlyaS5pX2xhc3RfYmxvY2sgPSBjcHVfdG9fbGUzMihmaXJzdF9ibG9jayArCisJICAgIChpbm9kZXMgKiBzaXplb2YoZGUpIC0gMSkgLyBCRlNfQkxPQ0tTSVpFKTsKKwlyaS5pX2J5dGVzX3RvX2VuZCA9IGNwdV90b19sZTMyKGZpcnN0X2Jsb2NrICogQkZTX0JMT0NLU0laRQorCSAgICArIDIgKiBzaXplb2Yoc3RydWN0IGJmc2RlKSAtIDEpOworCXJpLmlfdHlwZSA9IGNwdV90b19sZTMyKEJGU19ESVJfVFlQRSk7CisJcmkuaV9tb2RlID0gY3B1X3RvX2xlMzIoU19JRkRJUiB8IDA3NTUpOwkvKiBvciBqdXN0IDA3NTUgKi8KKwlyaS5pX3VpZCA9IGNwdV90b19sZTMyKDApOworCXJpLmlfZ2lkID0gY3B1X3RvX2xlMzIoMSk7CQkJLyogcmFuZG9tICovCisJcmkuaV9ubGlua3MgPSAyOworCXRpbWUoJm5vdyk7CisJcmkuaV9hdGltZSA9IGNwdV90b19sZTMyKG5vdyk7CisJcmkuaV9tdGltZSA9IGNwdV90b19sZTMyKG5vdyk7CisJcmkuaV9jdGltZSA9IGNwdV90b19sZTMyKG5vdyk7CisKKwlpZiAod3JpdGUoZmQsICZyaSwgc2l6ZW9mKHJpKSkgIT0gc2l6ZW9mKHJpKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZXJyb3Igd3JpdGluZyByb290IGlub2RlIikpOworCisJbWVtc2V0KCZyaSwgMCwgc2l6ZW9mKHJpKSk7CisJZm9yIChpID0gMTsgaSA8IGlub2RlczsgaSsrKQorCQlpZiAod3JpdGUoZmQsICZyaSwgc2l6ZW9mKHJpKSkgIT0gc2l6ZW9mKHJpKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yIHdyaXRpbmcgaW5vZGUiKSk7CisKKwlpZiAobHNlZWsoZmQsICgxICsgaW5vX2Jsb2NrcykgKiBCRlNfQkxPQ0tTSVpFLCBTRUVLX1NFVCkgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInNlZWsgZXJyb3IiKSk7CisKKwltZW1zZXQoJmRlLCAwLCBzaXplb2YoZGUpKTsKKwlkZS5kX2lubyA9IGNwdV90b19sZTE2KEJGU19ST09UX0lOTyk7CisJbWVtY3B5KGRlLmRfbmFtZSwgIi4iLCAxKTsKKwlpZiAod3JpdGUoZmQsICZkZSwgc2l6ZW9mKGRlKSkgIT0gc2l6ZW9mKGRlKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZXJyb3Igd3JpdGluZyAuIGVudHJ5IikpOworCisJbWVtY3B5KGRlLmRfbmFtZSwgIi4uIiwgMik7CisJaWYgKHdyaXRlKGZkLCAmZGUsIHNpemVvZihkZSkpICE9IHNpemVvZihkZSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yIHdyaXRpbmcgLi4gZW50cnkiKSk7CisKKwlpZiAoY2xvc2VfZmQoZmQpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yIGNsb3NpbmcgJXMiKSwgZGV2aWNlKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21rZnMuYyBiL2Rpc2stdXRpbHMvbWtmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViY2Q5NjEKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL21rZnMuYwpAQCAtMCwwICsxLDE0MCBAQAorLyoKKyAqIG1rZnMJCUEgc2ltcGxlIGdlbmVyaWMgZnJvbnRlbmQgZm9yIHRoZSBmb3IgdGhlIG1rZnMgcHJvZ3JhbQorICoJCXVuZGVyIExpbnV4LiAgU2VlIHRoZSBtYW51YWwgcGFnZSBmb3IgZGV0YWlscy4KKyAqCisgKiBBdXRob3JzOglEYXZpZCBFbmdlbCwgPGRhdmlkQG9kcy5jb20+CisgKgkJRnJlZCBOLiB2YW4gS2VtcGVuLCA8d2FsdGplQHVXYWx0Lk5MLk11Z25ldC5PUkc+CisgKgkJUm9uIFNvbW1lbGluZywgPHNvbW1lbEBzY2kua3VuLm5sPgorICoKKyAqIE1vbiBKdWwgIDEgMTg6NTI6NTggMTk5NjogamFubEBtYXRoLnVpby5ubyAoTmljb2xhaSBMYW5nZmVsZHQpOgorICoJSW5jb3Jwb3JhdGVkIGZpeCBieSBKb25hdGhhbiBLYW1lbnMgPGppa0Bhbm5leC0xLXNsaXAtamlrLmNhbS5vdi5jb20+CisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgkKKyAqLworCisvKgorICogVGhpcyBjb21tYW5kIGlzIGRlcHJlY2F0ZWQuICBUaGUgdXRpbGl0eSBpcyBpbiBtYWludGVuYW5jZSBtb2RlLAorICogbWVhbmluZyB3ZSBrZWVwIHRoZW0gaW4gc291cmNlIHRyZWUgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKKyAqIG9ubHkuICBEbyBub3Qgd2FzdGUgdGltZSBtYWtpbmcgdGhpcyBjb21tYW5kIGJldHRlciwgdW5sZXNzIHRoZQorICogZml4IGlzIGFib3V0IHNlY3VyaXR5IG9yIG90aGVyIHZlcnkgY3JpdGljYWwgaXNzdWUuCisgKgorICogU2VlIERvY3VtZW50YXRpb24vZGVwcmVjYXRlZC50eHQgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKi8KKworI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2lmbmRlZiBERUZBVUxUX0ZTVFlQRQorI2RlZmluZSBERUZBVUxUX0ZTVFlQRQkiZXh0MiIKKyNlbmRpZgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iKSwKKwkJICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIpKTsKKwlmcHJpbnRmKG91dCwgXygiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIpKTsKKwlmcHJpbnRmKG91dCwgXygiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIikpOworCWZwcmludGYob3V0LCBfKCIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iKSk7CisJZnByaW50ZihvdXQsIF8oIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisJCSAgICAgICAiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIpKTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoIm1rZnMoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgcHJpbnRfdmVyc2lvbih2b2lkKQoreworCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNoYXIgKnByb2duYW1lOwkJLyogbmFtZSBvZiBleGVjdXRhYmxlIHRvIGJlIGNhbGxlZCAqLworCWNoYXIgKmZzdHlwZSA9IE5VTEw7CisJaW50IGksIG1vcmUgPSAwLCB2ZXJib3NlID0gMDsKKworCWVudW0geyBWRVJTSU9OX09QVElPTiA9IENIQVJfTUFYICsgMSB9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ0eXBlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0J30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCBWRVJTSU9OX09QVElPTn0sCisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA9PSAyICYmICFzdHJjbXAoYXJndlsxXSwgIi1WIikpCisJCXByaW50X3ZlcnNpb24oKTsKKworCS8qIENoZWNrIGNvbW1hbmRsaW5lIG9wdGlvbnMuICovCisJb3B0ZXJyID0gMDsKKwl3aGlsZSAoKG1vcmUgPT0gMCkKKwkgICAgICAgJiYgKChpID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIlZ0OmgiLCBsb25nb3B0cywgTlVMTCkpCisJCSAgICE9IC0xKSkKKwkJc3dpdGNoIChpKSB7CisJCWNhc2UgJ1YnOgorCQkJdmVyYm9zZSsrOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJZnN0eXBlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJY2FzZSBWRVJTSU9OX09QVElPTjoKKwkJCXByaW50X3ZlcnNpb24oKTsKKwkJZGVmYXVsdDoKKwkJCW9wdGluZC0tOworCQkJbW9yZSA9IDE7CisJCQlicmVhazsJLyogc3RhcnQgb2Ygc3BlY2lmaWMgYXJndW1lbnRzICovCisJCX0KKwlpZiAob3B0aW5kID09IGFyZ2MpIHsKKwkJd2FybngoXygibm8gZGV2aWNlIHNwZWNpZmllZCIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCS8qIElmIC10IHdhc24ndCBzcGVjaWZpZWQsIHVzZSB0aGUgZGVmYXVsdCAqLworCWlmIChmc3R5cGUgPT0gTlVMTCkKKwkJZnN0eXBlID0gREVGQVVMVF9GU1RZUEU7CisKKwl4YXNwcmludGYoJnByb2duYW1lLCAibWtmcy4lcyIsIGZzdHlwZSk7CisJYXJndlstLW9wdGluZF0gPSBwcm9nbmFtZTsKKworCWlmICh2ZXJib3NlKSB7CisJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQlpID0gb3B0aW5kOworCQl3aGlsZSAoYXJndltpXSkKKwkJCXByaW50ZigiJXMgIiwgYXJndltpKytdKTsKKwkJcHJpbnRmKCJcbiIpOworCQlpZiAodmVyYm9zZSA+IDEpCisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCS8qIEV4ZWN1dGUgdGhlIHByb2dyYW0gKi8KKwlleGVjdnAocHJvZ25hbWUsIGFyZ3YgKyBvcHRpbmQpOworCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIHByb2duYW1lKTsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtmcy5jcmFtZnMuOCBiL2Rpc2stdXRpbHMvbWtmcy5jcmFtZnMuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWNmODRiCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9ta2ZzLmNyYW1mcy44CkBAIC0wLDAgKzEsOTAgQEAKKy5USCBNS0ZTLkNSQU1GUyA4ICJBcHJpbCAyMDEzIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitta2ZzLmNyYW1mcyBcLSBtYWtlIGNvbXByZXNzZWQgUk9NIGZpbGUgc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIG1rZnMuY3JhbWZzCitbb3B0aW9uc10KKy5JIGRpcmVjdG9yeSBmaWxlCisuU0ggREVTQ1JJUFRJT04KK0ZpbGVzIG9uIGNyYW1mcyBmaWxlIHN5c3RlbXMgYXJlIHpsaWItY29tcHJlc3NlZCBvbmUgcGFnZSBhdCBhIHRpbWUgdG8KK2FsbG93IHJhbmRvbSByZWFkIGFjY2Vzcy4gIFRoZSBtZXRhZGF0YSBpcyBub3QgY29tcHJlc3NlZCwgYnV0IGlzCitleHByZXNzZWQgaW4gYSB0ZXJzZSByZXByZXNlbnRhdGlvbiB0aGF0IGlzIG1vcmUgc3BhY2UtZWZmaWNpZW50IHRoYW4KK2NvbnZlbnRpb25hbCBmaWxlIHN5c3RlbXMuCisuUFAKK1RoZSBmaWxlIHN5c3RlbSBpcyBpbnRlbnRpb25hbGx5IHJlYWQtb25seSB0byBzaW1wbGlmeSBpdHMgZGVzaWduOyByYW5kb20KK3dyaXRlIGFjY2VzcyBmb3IgY29tcHJlc3NlZCBmaWxlcyBpcyBkaWZmaWN1bHQgdG8gaW1wbGVtZW50LiAgY3JhbWZzCitzaGlwcyB3aXRoIGEgdXRpbGl0eSAobWtjcmFtZnMpIHRvIHBhY2sgZmlsZXMgaW50byBuZXcgY3JhbWZzIGltYWdlcy4KKy5QUAorRmlsZSBzaXplcyBhcmUgbGltaXRlZCB0byBsZXNzIHRoYW4gMTZcIE1CLgorLlBQCitNYXhpbXVtIGZpbGUgc3lzdGVtIHNpemUgaXMgYSBsaXR0bGUgdW5kZXIgMjcyXCBNQi4gIChUaGUgbGFzdCBmaWxlIG9uIHRoZQorZmlsZSBzeXN0ZW0gbXVzdCBiZWdpbiBiZWZvcmUgdGhlIDI1NlwgTUIgYmxvY2ssIGJ1dCBjYW4gZXh0ZW5kIHBhc3QgaXQuKQorLlNIIEFSR1VNRU5UUworVGhlCisuSSBkaXJlY3RvcnkKK2lzIHNpbXBseSB0aGUgcm9vdCBvZiB0aGUgZGlyZWN0b3J5IHRyZWUgdGhhdCB3ZSB3YW50IHRvIGdlbmVyYXRlIGEKK2NvbXByZXNzZWQgZmlsZXN5c3RlbSBvdXQgb2YuCisuUFAKK1RoZQorLkkgZmlsZQord2lsbCBjb250YWluIHRoZSBjcmFtIGZpbGUgc3lzdGVtLCB3aGljaCBsYXRlciBjYW4gYmUgbW91bnRlZC4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtdlxmUgorRW5hYmxlIHZlcmJvc2UgbWVzc2FnaW5nLgorLlRQCitcZkJcLUVcZlIKK1RyZWF0IGFsbCB3YXJuaW5ncyBhcyBlcnJvcnMsIHdoaWNoIGFyZSByZWZsZWN0ZWQgYXMgY29tbWFuZCByZXR1cm4gdmFsdWUuCisuVFAKK1xmQlwtYlxmUiBcZklibG9ja3NpemVcZlIKK1VzZSBkZWZpbmVkIGJsb2NrIHNpemUsIHdoaWNoIGhhcyB0byBiZSBkaXZpc2libGUgYnkgcGFnZSBzaXplLgorLlRQCitcZkJcLWVcZlIgXGZJZWRpdGlvblxmUgorVXNlIGRlZmluZWQgZmlsZSBzeXN0ZW0gZWRpdGlvbiBudW1iZXIgaW4gc3VwZXJibG9jay4KKy5UUAorXGZCXC1OXGZSIFxmSWJpZywgbGl0dGxlLCBob3N0XGZSCitVc2UgZGVmaW5lZCBlbmRpYW5uZXNzLiAgVmFsdWUgZGVmYXVsdHMgdG8KKy5JUiBob3N0IC4KKy5UUAorXGZCXC1pXGZSIFxmSWZpbGVcZlIKK0luc2VydCBhCisuSSBmaWxlCit0byBjcmFtZnMgZmlsZSBzeXN0ZW0uCisuVFAKK1xmQlwtblxmUiBcZkluYW1lXGZSCitTZXQgbmFtZSBvZiB0aGUgY3JhbWZzIGZpbGUgc3lzdGVtLgorLlRQCitcZkJcLXBcZlIKK1BhZCBieSA1MTIgYnl0ZXMgZm9yIGJvb3QgY29kZS4KKy5UUAorXGZCXC1zXGZSCitUaGlzIG9wdGlvbiBpcyBpZ25vcmVkLiAgT3JpZ2luYWxseSB0aGUgXC1zIHR1cm5lZCBvbiBkaXJlY3RvcnkgZW50cnkKK3NvcnRpbmcuCisuVFAKK1xmQlwtelxmUgorTWFrZSBleHBsaWNpdCBob2xlcy4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TSCAiRVhJVCBTVEFUVVMiCisuUlMKKy5QRCAwCisuVFAKKy5CIDAKK3N1Y2Nlc3MKKy5UUAorLkIgOAorb3BlcmF0aW9uIGVycm9yLCBzdWNoIGFzIHVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkKKy5QRAorLlJFCisuU0ggIlNFRSBBTFNPIgorLkJSIGZzY2suY3JhbWZzICg4KSwKKy5CUiBtb3VudCAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBleGFtcGxlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21rZnMuY3JhbWZzLmMgYi9kaXNrLXV0aWxzL21rZnMuY3JhbWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTA0MmFjMQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWtmcy5jcmFtZnMuYwpAQCAtMCwwICsxLDkyNiBAQAorLyoKKyAqIG1rY3JhbWZzIC0gbWFrZSBhIGNyYW1mcyBmaWxlIHN5c3RlbQorICoKKyAqIENvcHlyaWdodCAoQykgMTk5OS0yMDAyIFRyYW5zbWV0YSBDb3Jwb3JhdGlvbgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworLyoKKyAqIE9sZCB2ZXJzaW9uIHdvdWxkIGRpZSBvbiBsYXJnaXNoIGZpbGVzeXN0ZW1zLiBDaGFuZ2UgdG8gbW1hcCB0aGUKKyAqIGZpbGVzIG9uZSBieSBvbmUgaW5zdGVhZCBvZiBhbGwgc2ltdWx0YW5lb3VzbHkuIC0gYWViLCAyMDAyLTExLTAxCisgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx6Y29uZi5oPgorCisvKiBXZSBkb24ndCB1c2Ugb3VyIGluY2x1ZGUvY3JjMzIuaCwgYnV0IGNyYzMyIGZyb20gemxpYiEKKyAqCisgKiBUaGUgemxpYiBpbXBsZW1lbnRhdGlvbiBwZXJmb3JtcyBwcmUvcG9zdC1jb25kaXRpb25pbmcuIFRoZSB1dGlsLWxpbnV4CisgKiBpbWxlbWVuYXRpb24gcmVxdWlyZXMgcG9zdC1jb25kaXRpb25pbmcgKHhvcikgaW4gdGhlIGFwcGxpY2F0aW9ucy4KKyAqLworI2luY2x1ZGUgPHpsaWIuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjcmFtZnMuaCIKKyNpbmNsdWRlICJtZDUuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJleGl0Y29kZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisjZGVmaW5lIENMT1NFX0VYSVRfQ09ERQkgTUtGU19FWF9FUlJPUgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNkZWZpbmUgWEFMTE9DX0VYSVRfQ09ERSBNS0ZTX0VYX0VSUk9SCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKy8qIFRoZSBrZXJuZWwgb25seSBzdXBwb3J0cyBQQURfU0laRSBvZiAwIGFuZCA1MTIuICovCisjZGVmaW5lIFBBRF9TSVpFIDUxMgorCitzdGF0aWMgaW50IHZlcmJvc2UgPSAwOworCitzdGF0aWMgdW5zaWduZWQgaW50IGJsa3NpemUgPSAwOyAvKiBzZXR0YWJsZSB2aWEgLWIgb3B0aW9uLCBkZWZhdWx0IHBhZ2Ugc2l6ZSAqLworc3RhdGljIGxvbmcgdG90YWxfYmxvY2tzID0gMCwgdG90YWxfbm9kZXMgPSAxOyAvKiBwcmUtY291bnQgdGhlIHJvb3Qgbm9kZSAqLworc3RhdGljIGludCBpbWFnZV9sZW5ndGggPSAwOworc3RhdGljIGludCBjcmFtZnNfaXNfYmlnX2VuZGlhbiA9IDA7IC8qIHRhcmdldCBpcyBiaWcgZW5kaWFuICovCisKKy8qCisgKiBJZiBvcHRfaG9sZXMgaXMgc2V0LCB0aGVuIG1rY3JhbWZzIGNhbiBjcmVhdGUgZXhwbGljaXQgaG9sZXMgaW4gdGhlCisgKiBkYXRhLCB3aGljaCBzYXZlcyAyNiBieXRlcyBwZXIgaG9sZSAod2hpY2ggaXMgYSBsb3Qgc21hbGxlciBhCisgKiBzYXZpbmcgdGhhbiBmb3IgbW9zdCBmaWxlc3lzdGVtcykuCisgKgorICogTm90ZSB0aGF0IGtlcm5lbHMgdXAgdG8gYXQgbGVhc3QgMi4zLjM5IGRvbid0IHN1cHBvcnQgY3JhbWZzIGhvbGVzLAorICogd2hpY2ggaXMgd2h5IHRoaXMgaXMgdHVybmVkIG9mZiBieSBkZWZhdWx0LgorICovCitzdGF0aWMgdW5zaWduZWQgaW50IG9wdF9lZGl0aW9uID0gMDsKK3N0YXRpYyBpbnQgb3B0X2Vycm9ycyA9IDA7CitzdGF0aWMgaW50IG9wdF9ob2xlcyA9IDA7CitzdGF0aWMgaW50IG9wdF9wYWQgPSAwOworc3RhdGljIGNoYXIgKm9wdF9pbWFnZSA9IE5VTEw7CitzdGF0aWMgY2hhciAqb3B0X25hbWUgPSBOVUxMOworCitzdGF0aWMgaW50IHdhcm5fZGV2ID0gMDsKK3N0YXRpYyBpbnQgd2Fybl9naWQgPSAwOworc3RhdGljIGludCB3YXJuX25hbWVsZW4gPSAwOworc3RhdGljIGludCB3YXJuX3NraXAgPSAwOworc3RhdGljIGludCB3YXJuX3NpemUgPSAwOworc3RhdGljIGludCB3YXJuX3VpZCA9IDA7CisKKy8qIGVudHJ5LmZsYWdzICovCisjZGVmaW5lIENSQU1GU19FRkxBR19NRDUJMQorI2RlZmluZSBDUkFNRlNfRUZMQUdfSU5WQUxJRAkyCisKKy8qIEluLWNvcmUgdmVyc2lvbiBvZiBpbm9kZSAvIGRpcmVjdG9yeSBlbnRyeS4gKi8KK3N0cnVjdCBlbnRyeSB7CisJLyogc3RhdHMgKi8KKwl1bnNpZ25lZCBjaGFyICpuYW1lOworCXVuc2lnbmVkIGludCBtb2RlLCBzaXplLCB1aWQsIGdpZDsKKwl1bnNpZ25lZCBjaGFyIG1kNXN1bVtVTF9NRDVMRU5HVEhdOworCXVuc2lnbmVkIGNoYXIgZmxhZ3M7CSAgIC8qIENSQU1GU19FRkxBR18qICovCisKKwkvKiBGUyBkYXRhICovCisJY2hhciAqcGF0aDsKKwlpbnQgZmQ7CQkJICAgIC8qIHRlbXBvcmFyaWx5IG9wZW4gZmlsZXMgd2hpbGUgbW1hcHBlZCAqLworCXN0cnVjdCBlbnRyeSAqc2FtZTsJICAgIC8qIHBvaW50cyB0byBvdGhlciBpZGVudGljYWwgZmlsZSAqLworCXVuc2lnbmVkIGludCBvZmZzZXQ7ICAgICAgICAvKiBwb2ludGVyIHRvIGNvbXByZXNzZWQgZGF0YSBpbiBhcmNoaXZlICovCisJdW5zaWduZWQgaW50IGRpcl9vZmZzZXQ7ICAgIC8qIG9mZnNldCBvZiBkaXJlY3RvcnkgZW50cnkgaW4gYXJjaGl2ZSAqLworCisJLyogb3JnYW5pemF0aW9uICovCisJc3RydWN0IGVudHJ5ICpjaGlsZDsJICAgIC8qIE5VTEwgZm9yIG5vbi1kaXJlY3RvcnkgYW5kIGVtcHR5IGRpciAqLworCXN0cnVjdCBlbnRyeSAqbmV4dDsKK307CisKKy8qCisgKiBXaWR0aCBvZiB2YXJpb3VzIGJpdGZpZWxkcyBpbiBzdHJ1Y3QgY3JhbWZzX2lub2RlLgorICogVXNlZCBvbmx5IHRvIGdlbmVyYXRlIHdhcm5pbmdzLgorICovCisjZGVmaW5lIENSQU1GU19TSVpFX1dJRFRIIDI0CisjZGVmaW5lIENSQU1GU19VSURfV0lEVEggMTYKKyNkZWZpbmUgQ1JBTUZTX0dJRF9XSURUSCA4CisjZGVmaW5lIENSQU1GU19PRkZTRVRfV0lEVEggMjYKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlwcmludGYoCisJCV8oInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gIgorCQkgICJbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisJCSAgIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKwkJICAiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzICIKKwkJICAgICIobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisJCSAgIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKwkJICAiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisJCSAgIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisJCSAgIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorCQkgICIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorCQkgICIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorCQkgICIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorCQkgICIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisJCSAgIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorCQkgICIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBQQURfU0laRSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygxNikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgibWtmcy5jcmFtZnMoOCkiKSk7CisJZXhpdChNS0ZTX0VYX09LKTsKK30KKworc3RhdGljIGNoYXIgKgorZG9fbW1hcChjaGFyICpwYXRoLCB1bnNpZ25lZCBpbnQgc2l6ZSwgdW5zaWduZWQgaW50IG1vZGUpeworCWludCBmZDsKKwljaGFyICpzdGFydCA9IE5VTEw7CisKKwlpZiAoIXNpemUpCisJCXJldHVybiBOVUxMOworCisJaWYgKFNfSVNMTksobW9kZSkpIHsKKwkJc3RhcnQgPSB4bWFsbG9jKHNpemUpOworCQlpZiAocmVhZGxpbmsocGF0aCwgc3RhcnQsIHNpemUpIDwgMCkgeworCQkJd2FybihfKCJyZWFkbGluayBmYWlsZWQ6ICVzIiksIHBhdGgpOworCQkJd2Fybl9za2lwID0gMTsKKwkJCWdvdG8gZXJyOworCQl9CisJCXJldHVybiBzdGFydDsKKwl9CisKKwlmZCA9IG9wZW4ocGF0aCwgT19SRE9OTFkpOworCWlmIChmZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBwYXRoKTsKKwkJd2Fybl9za2lwID0gMTsKKwkJZ290byBlcnI7CisJfQorCisJc3RhcnQgPSBtbWFwKE5VTEwsIHNpemUsIFBST1RfUkVBRCwgTUFQX1BSSVZBVEUsIGZkLCAwKTsKKwljbG9zZShmZCk7CisJaWYgKHN0YXJ0ID09IE1BUF9GQUlMRUQpCisJCWVycihNS0ZTX0VYX0VSUk9SLCAibW1hcCIpOworCXJldHVybiBzdGFydDsKK2VycjoKKwlmcmVlKHN0YXJ0KTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQKK2RvX211bm1hcChjaGFyICpzdGFydCwgdW5zaWduZWQgaW50IHNpemUsIHVuc2lnbmVkIGludCBtb2RlKXsKKwlpZiAoU19JU0xOSyhtb2RlKSkKKwkJZnJlZShzdGFydCk7CisJZWxzZQorCQltdW5tYXAoc3RhcnQsIHNpemUpOworfQorCisvKiBjb21wdXRlIG1kNXN1bXMsIHNvIHRoYXQgd2UgZG8gbm90IGhhdmUgdG8gY29tcGFyZSBldmVyeSBwYWlyIG9mIGZpbGVzICovCitzdGF0aWMgdm9pZAorbWRmaWxlKHN0cnVjdCBlbnRyeSAqZSkgeworCWNoYXIgKnN0YXJ0OworCisJc3RhcnQgPSBkb19tbWFwKGUtPnBhdGgsIGUtPnNpemUsIGUtPm1vZGUpOworCWlmIChzdGFydCA9PSBOVUxMKSB7CisJCWUtPmZsYWdzIHw9IENSQU1GU19FRkxBR19JTlZBTElEOworCX0gZWxzZSB7CisJCVVMX01ENV9DVFggY3R4OworCisJCXVsX01ENUluaXQoJmN0eCk7CisJCXVsX01ENVVwZGF0ZSgmY3R4LCAodW5zaWduZWQgY2hhciAqKSBzdGFydCwgZS0+c2l6ZSk7CisJCXVsX01ENUZpbmFsKGUtPm1kNXN1bSwgJmN0eCk7CisKKwkJZG9fbXVubWFwKHN0YXJ0LCBlLT5zaXplLCBlLT5tb2RlKTsKKworCQllLT5mbGFncyB8PSBDUkFNRlNfRUZMQUdfTUQ1OworCX0KK30KKworLyogbWQ1IGRpZ2VzdHMgYXJlIGVxdWFsOyBmaWxlcyBhcmUgYWxtb3N0IGNlcnRhaW5seSB0aGUgc2FtZSwKKyAgIGJ1dCBqdXN0IHRvIGJlIHN1cmUsIGRvIHRoZSBjb21wYXJpc29uICovCitzdGF0aWMgaW50CitpZGVudGljYWxfZmlsZShzdHJ1Y3QgZW50cnkgKmUxLCBzdHJ1Y3QgZW50cnkgKmUyKXsKKwljaGFyICpzdGFydDEsICpzdGFydDI7CisJaW50IGVxdWFsOworCisJc3RhcnQxID0gZG9fbW1hcChlMS0+cGF0aCwgZTEtPnNpemUsIGUxLT5tb2RlKTsKKwlpZiAoIXN0YXJ0MSkKKwkJcmV0dXJuIDA7CisJc3RhcnQyID0gZG9fbW1hcChlMi0+cGF0aCwgZTItPnNpemUsIGUyLT5tb2RlKTsKKwlpZiAoIXN0YXJ0MikgeworCQlkb19tdW5tYXAoc3RhcnQxLCBlMS0+c2l6ZSwgZTEtPm1vZGUpOworCQlyZXR1cm4gMDsKKwl9CisJZXF1YWwgPSAhbWVtY21wKHN0YXJ0MSwgc3RhcnQyLCBlMS0+c2l6ZSk7CisJZG9fbXVubWFwKHN0YXJ0MSwgZTEtPnNpemUsIGUxLT5tb2RlKTsKKwlkb19tdW5tYXAoc3RhcnQyLCBlMi0+c2l6ZSwgZTItPm1vZGUpOworCXJldHVybiBlcXVhbDsKK30KKworLyoKKyAqIFRoZSBsb25nZXN0IGZpbGUgbmFtZSBjb21wb25lbnQgdG8gYWxsb3cgZm9yIGluIHRoZSBpbnB1dCBkaXJlY3RvcnkgdHJlZS4KKyAqIEV4dDJmcyAoYW5kIG1hbnkgb3RoZXJzKSBhbGxvdyB1cCB0byAyNTUgYnl0ZXMuICBBIGNvdXBsZSBvZiBmaWxlc3lzdGVtcworICogYWxsb3cgbG9uZ2VyIChlLmcuIHNtYmZzIDEwMjQpLCBidXQgdGhlcmUgaXNuJ3QgbXVjaCB1c2UgaW4gc3VwcG9ydGluZworICogPjI1NS1ieXRlIG5hbWVzIGluIHRoZSBpbnB1dCBkaXJlY3RvcnkgdHJlZSBnaXZlbiB0aGF0IHN1Y2ggbmFtZXMgZ2V0CisgKiB0cnVuY2F0ZWQgdG8gMjU1IGJ5dGVzIHdoZW4gd3JpdHRlbiB0byBjcmFtZnMuCisgKi8KKyNkZWZpbmUgTUFYX0lOUFVUX05BTUVMRU4gMjU1CisKK3N0YXRpYyBpbnQgZmluZF9pZGVudGljYWxfZmlsZShzdHJ1Y3QgZW50cnkgKm9yaWcsIHN0cnVjdCBlbnRyeSAqbmV3LCBsb2ZmX3QgKmZzbGVuX3ViKQoreworCWlmIChvcmlnID09IG5ldykKKwkJcmV0dXJuIDE7CisJaWYgKCFvcmlnKQorCQlyZXR1cm4gMDsKKwlpZiAob3JpZy0+c2l6ZSA9PSBuZXctPnNpemUgJiYgb3JpZy0+cGF0aCkgeworCQlpZiAoIW9yaWctPmZsYWdzKQorCQkJbWRmaWxlKG9yaWcpOworCQlpZiAoIW5ldy0+ZmxhZ3MpCisJCQltZGZpbGUobmV3KTsKKworCQlpZiAoKG9yaWctPmZsYWdzICYgQ1JBTUZTX0VGTEFHX01ENSkgJiYKKwkJICAgIChuZXctPmZsYWdzICYgQ1JBTUZTX0VGTEFHX01ENSkgJiYKKwkJICAgICFtZW1jbXAob3JpZy0+bWQ1c3VtLCBuZXctPm1kNXN1bSwgVUxfTUQ1TEVOR1RIKSAmJgorCQkgICAgaWRlbnRpY2FsX2ZpbGUob3JpZywgbmV3KSkgeworCQkJbmV3LT5zYW1lID0gb3JpZzsKKwkJCSpmc2xlbl91YiAtPSBuZXctPnNpemU7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKwlyZXR1cm4gZmluZF9pZGVudGljYWxfZmlsZShvcmlnLT5jaGlsZCwgbmV3LCBmc2xlbl91YikgfHwKKwkJICAgZmluZF9pZGVudGljYWxfZmlsZShvcmlnLT5uZXh0LCBuZXcsIGZzbGVuX3ViKTsKK30KKworc3RhdGljIHZvaWQgZWxpbWluYXRlX2RvdWJsZXMoc3RydWN0IGVudHJ5ICpyb290LCBzdHJ1Y3QgZW50cnkgKm9yaWcsIGxvZmZfdCAqZnNsZW5fdWIpIHsKKwlpZiAob3JpZykgeworCQlpZiAob3JpZy0+c2l6ZSAmJiBvcmlnLT5wYXRoKQorCQkJZmluZF9pZGVudGljYWxfZmlsZShyb290LG9yaWcsIGZzbGVuX3ViKTsKKwkJZWxpbWluYXRlX2RvdWJsZXMocm9vdCxvcmlnLT5jaGlsZCwgZnNsZW5fdWIpOworCQllbGltaW5hdGVfZG91Ymxlcyhyb290LG9yaWctPm5leHQsIGZzbGVuX3ViKTsKKwl9Cit9CisKKy8qCisgKiBXZSBkZWZpbmUgb3VyIG93biBzb3J0aW5nIGZ1bmN0aW9uIGluc3RlYWQgb2YgdXNpbmcgYWxwaGFzb3J0IHdoaWNoCisgKiB1c2VzIHN0cmNvbGwgYW5kIGNoYW5nZXMgb3JkZXJpbmcgYmFzZWQgb24gbG9jYWxlIGluZm9ybWF0aW9uLgorICovCitzdGF0aWMgaW50IGNyYW1zb3J0IChjb25zdCBzdHJ1Y3QgZGlyZW50ICoqYSwgY29uc3Qgc3RydWN0IGRpcmVudCAqKmIpCit7CisJcmV0dXJuIHN0cmNtcCgoKmEpLT5kX25hbWUsICgqYiktPmRfbmFtZSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcGFyc2VfZGlyZWN0b3J5KHN0cnVjdCBlbnRyeSAqcm9vdF9lbnRyeSwgY29uc3QgY2hhciAqbmFtZSwgc3RydWN0IGVudHJ5ICoqcHJldiwgbG9mZl90ICpmc2xlbl91YikKK3sKKwlzdHJ1Y3QgZGlyZW50ICoqZGlybGlzdDsKKwlpbnQgdG90YWxzaXplID0gMCwgZGlyY291bnQsIGRpcmluZGV4OworCWNoYXIgKnBhdGgsICplbmRwYXRoOworCXNpemVfdCBsZW4gPSBzdHJsZW4obmFtZSk7CisKKwkvKiBTZXQgdXAgdGhlIHBhdGguICovCisJLyogVE9ETzogUmV1c2UgdGhlIHBhcmVudCdzIGJ1ZmZlciB0byBzYXZlIG1lbWNweSdpbmcgYW5kIGR1cGxpY2F0aW9uLiAqLworCXBhdGggPSB4bWFsbG9jKGxlbiArIDEgKyBNQVhfSU5QVVRfTkFNRUxFTiArIDEpOworCW1lbWNweShwYXRoLCBuYW1lLCBsZW4pOworCWVuZHBhdGggPSBwYXRoICsgbGVuOworCSplbmRwYXRoID0gJy8nOworCWVuZHBhdGgrKzsKKworCS8qIHJlYWQgaW4gdGhlIGRpcmVjdG9yeSBhbmQgc29ydCAqLworCWRpcmNvdW50ID0gc2NhbmRpcihuYW1lLCAmZGlybGlzdCwgTlVMTCwgY3JhbXNvcnQpOworCisJaWYgKGRpcmNvdW50IDwgMCkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIpLCBuYW1lKTsKKworCS8qIHByb2Nlc3MgZGlyZWN0b3J5ICovCisJZm9yIChkaXJpbmRleCA9IDA7IGRpcmluZGV4IDwgZGlyY291bnQ7IGRpcmluZGV4KyspIHsKKwkJc3RydWN0IGRpcmVudCAqZGlyZW50OworCQlzdHJ1Y3QgZW50cnkgKmVudHJ5OworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJaW50IHNpemU7CisJCXNpemVfdCBuYW1lbGVuOworCisJCWRpcmVudCA9IGRpcmxpc3RbZGlyaW5kZXhdOworCisJCS8qIElnbm9yZSAiLiIgYW5kICIuLiIgLSB3ZSB3b24ndCBiZSBhZGRpbmcgdGhlbQorCQkgICB0byB0aGUgYXJjaGl2ZSAqLworCQlpZiAoZGlyZW50LT5kX25hbWVbMF0gPT0gJy4nKSB7CisJCQlpZiAoZGlyZW50LT5kX25hbWVbMV0gPT0gJ1wwJykKKwkJCQljb250aW51ZTsKKwkJCWlmIChkaXJlbnQtPmRfbmFtZVsxXSA9PSAnLicgJiYKKwkJCSAgICBkaXJlbnQtPmRfbmFtZVsyXSA9PSAnXDAnKQorCQkJCWNvbnRpbnVlOworCQl9CisJCW5hbWVsZW4gPSBzdHJsZW4oZGlyZW50LT5kX25hbWUpOworCQlpZiAobmFtZWxlbiA+IE1BWF9JTlBVVF9OQU1FTEVOKSB7CisJCQluYW1lbGVuID0gTUFYX0lOUFVUX05BTUVMRU47CisJCQl3YXJuX25hbWVsZW4gPSAxOworCQl9CisKKwkJbWVtY3B5KGVuZHBhdGgsIGRpcmVudC0+ZF9uYW1lLCBuYW1lbGVuICsgMSk7CisKKwkJaWYgKGxzdGF0KHBhdGgsICZzdCkgPCAwKSB7CisJCQl3YXJuKF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGVuZHBhdGgpOworCQkJd2Fybl9za2lwID0gMTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWVudHJ5ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGVudHJ5KSk7CisJCWVudHJ5LT5uYW1lID0gKHVuc2lnbmVkIGNoYXIgKil4c3RybmR1cChkaXJlbnQtPmRfbmFtZSwgbmFtZWxlbik7CisJCWVudHJ5LT5tb2RlID0gc3Quc3RfbW9kZTsKKwkJZW50cnktPnNpemUgPSBzdC5zdF9zaXplOworCQllbnRyeS0+dWlkID0gc3Quc3RfdWlkOworCQlpZiAoZW50cnktPnVpZCA+PSAxIDw8IENSQU1GU19VSURfV0lEVEgpCisJCQl3YXJuX3VpZCA9IDE7CisJCWVudHJ5LT5naWQgPSBzdC5zdF9naWQ7CisJCWlmIChlbnRyeS0+Z2lkID49IDEgPDwgQ1JBTUZTX0dJRF9XSURUSCkKKwkJCS8qIFRPRE86IFdlIG91Z2h0IHRvIHJlcGxhY2Ugd2l0aCBhIGRlZmF1bHQKKwkJCSAgIGdpZCBpbnN0ZWFkIG9mIHRydW5jYXRpbmc7IG90aGVyd2lzZSB0aGVyZQorCQkJICAgYXJlIHNlY3VyaXR5IHByb2JsZW1zLiAgTWF5YmUgbW9kZSBzaG91bGQKKwkJCSAgIGJlICY9IH4wNzAuICBTYW1lIGdvZXMgZm9yIHVpZCBvbmNlIExpbnV4CisJCQkgICBzdXBwb3J0cyA+MTYtYml0IHVpZHMuICovCisJCQl3YXJuX2dpZCA9IDE7CisJCXNpemUgPSBzaXplb2Yoc3RydWN0IGNyYW1mc19pbm9kZSkgKyAoKG5hbWVsZW4gKyAzKSAmIH4zKTsKKwkJKmZzbGVuX3ViICs9IHNpemU7CisJCWlmIChTX0lTRElSKHN0LnN0X21vZGUpKSB7CisJCQllbnRyeS0+c2l6ZSA9IHBhcnNlX2RpcmVjdG9yeShyb290X2VudHJ5LCBwYXRoLCAmZW50cnktPmNoaWxkLCBmc2xlbl91Yik7CisJCX0gZWxzZSBpZiAoU19JU1JFRyhzdC5zdF9tb2RlKSkgeworCQkJZW50cnktPnBhdGggPSB4c3RyZHVwKHBhdGgpOworCQkJaWYgKGVudHJ5LT5zaXplID49ICgxIDw8IENSQU1GU19TSVpFX1dJRFRIKSkgeworCQkJCXdhcm5fc2l6ZSA9IDE7CisJCQkJZW50cnktPnNpemUgPSAoMSA8PCBDUkFNRlNfU0laRV9XSURUSCkgLSAxOworCQkJfQorCQl9IGVsc2UgaWYgKFNfSVNMTksoc3Quc3RfbW9kZSkpIHsKKwkJCWVudHJ5LT5wYXRoID0geHN0cmR1cChwYXRoKTsKKwkJfSBlbHNlIGlmIChTX0lTRklGTyhzdC5zdF9tb2RlKSB8fCBTX0lTU09DSyhzdC5zdF9tb2RlKSkgeworCQkJLyogbWF5YmUgd2Ugc2hvdWxkIHNraXAgc29ja2V0cyAqLworCQkJZW50cnktPnNpemUgPSAwOworCQl9IGVsc2UgeworCQkJZW50cnktPnNpemUgPSBzdC5zdF9yZGV2OworCQkJaWYgKGVudHJ5LT5zaXplICYgLSgxPDxDUkFNRlNfU0laRV9XSURUSCkpCisJCQkJd2Fybl9kZXYgPSAxOworCQl9CisKKwkJaWYgKFNfSVNSRUcoc3Quc3RfbW9kZSkgfHwgU19JU0xOSyhzdC5zdF9tb2RlKSkgeworCQkJaW50IGJsb2NrcyA9ICgoZW50cnktPnNpemUgLSAxKSAvIGJsa3NpemUgKyAxKTsKKworCQkJLyogYmxvY2sgcG9pbnRlcnMgJiBkYXRhIGV4cGFuc2lvbiBhbGxvd2FuY2UgKyBkYXRhICovCisJCQlpZiAoZW50cnktPnNpemUpCisJCQkJKmZzbGVuX3ViICs9ICg0KzI2KSpibG9ja3MgKyBlbnRyeS0+c2l6ZSArIDM7CisJCX0KKworCQkvKiBMaW5rIGl0IGludG8gdGhlIGxpc3QgKi8KKwkJKnByZXYgPSBlbnRyeTsKKwkJcHJldiA9ICZlbnRyeS0+bmV4dDsKKwkJdG90YWxzaXplICs9IHNpemU7CisJfQorCWZyZWUocGF0aCk7CisJZnJlZShkaXJsaXN0KTsJCS8qIGFsbG9jYXRlZCBieSBzY2FuZGlyKCkgd2l0aCBtYWxsb2MoKSAqLworCXJldHVybiB0b3RhbHNpemU7Cit9CisKKy8qIFJldHVybnMgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpLCB3aGljaCBpbmNsdWRlcyB0aGUgcm9vdCBpbm9kZS4gKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgd3JpdGVfc3VwZXJibG9jayhzdHJ1Y3QgZW50cnkgKnJvb3QsIGNoYXIgKmJhc2UsIGludCBzaXplKQoreworCXN0cnVjdCBjcmFtZnNfc3VwZXIgKnN1cGVyID0gKHN0cnVjdCBjcmFtZnNfc3VwZXIgKikgYmFzZTsKKwl1bnNpZ25lZCBpbnQgb2Zmc2V0ID0gc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgaW1hZ2VfbGVuZ3RoOworCisJaWYgKG9wdF9wYWQpIHsKKwkJb2Zmc2V0ICs9IG9wdF9wYWQ7CisJfQorCisJc3VwZXItPm1hZ2ljID0gQ1JBTUZTX01BR0lDOworCXN1cGVyLT5mbGFncyA9IENSQU1GU19GTEFHX0ZTSURfVkVSU0lPTl8yIHwgQ1JBTUZTX0ZMQUdfU09SVEVEX0RJUlM7CisJaWYgKG9wdF9ob2xlcykKKwkJc3VwZXItPmZsYWdzIHw9IENSQU1GU19GTEFHX0hPTEVTOworCWlmIChpbWFnZV9sZW5ndGggPiAwKQorCQlzdXBlci0+ZmxhZ3MgfD0gQ1JBTUZTX0ZMQUdfU0hJRlRFRF9ST09UX09GRlNFVDsKKwlzdXBlci0+c2l6ZSA9IHNpemU7CisJbWVtY3B5KHN1cGVyLT5zaWduYXR1cmUsIENSQU1GU19TSUdOQVRVUkUsIHNpemVvZihzdXBlci0+c2lnbmF0dXJlKSk7CisKKwlzdXBlci0+ZnNpZC5jcmMgPSBjcmMzMigwTCwgTlVMTCwgMCk7CisJc3VwZXItPmZzaWQuZWRpdGlvbiA9IG9wdF9lZGl0aW9uOworCXN1cGVyLT5mc2lkLmJsb2NrcyA9IHRvdGFsX2Jsb2NrczsKKwlzdXBlci0+ZnNpZC5maWxlcyA9IHRvdGFsX25vZGVzOworCisJbWVtc2V0KHN1cGVyLT5uYW1lLCAweDAwLCBzaXplb2Yoc3VwZXItPm5hbWUpKTsKKwlpZiAob3B0X25hbWUpCisJCXN0cm5jcHkoKGNoYXIgKilzdXBlci0+bmFtZSwgb3B0X25hbWUsIHNpemVvZihzdXBlci0+bmFtZSkpOworCWVsc2UKKwkJc3RybmNweSgoY2hhciAqKXN1cGVyLT5uYW1lLCAiQ29tcHJlc3NlZCIsIHNpemVvZihzdXBlci0+bmFtZSkpOworCisJc3VwZXItPnJvb3QubW9kZSA9IHJvb3QtPm1vZGU7CisJc3VwZXItPnJvb3QudWlkID0gcm9vdC0+dWlkOworCXN1cGVyLT5yb290LmdpZCA9IHJvb3QtPmdpZDsKKwlzdXBlci0+cm9vdC5zaXplID0gcm9vdC0+c2l6ZTsKKwlzdXBlci0+cm9vdC5vZmZzZXQgPSBvZmZzZXQgPj4gMjsKKworCXN1cGVyX3RvZ2dsZV9lbmRpYW5uZXNzKGNyYW1mc19pc19iaWdfZW5kaWFuLCBzdXBlcik7CisJaW5vZGVfZnJvbV9ob3N0KGNyYW1mc19pc19iaWdfZW5kaWFuLCAmc3VwZXItPnJvb3QsICZzdXBlci0+cm9vdCk7CisKKwlyZXR1cm4gb2Zmc2V0OworfQorCitzdGF0aWMgdm9pZCBzZXRfZGF0YV9vZmZzZXQoc3RydWN0IGVudHJ5ICplbnRyeSwgY2hhciAqYmFzZSwgdW5zaWduZWQgbG9uZyBvZmZzZXQpCit7CisJc3RydWN0IGNyYW1mc19pbm9kZSAqaW5vZGUgPSAoc3RydWN0IGNyYW1mc19pbm9kZSAqKSAoYmFzZSArIGVudHJ5LT5kaXJfb2Zmc2V0KTsKKwlpbm9kZV90b19ob3N0KGNyYW1mc19pc19iaWdfZW5kaWFuLCBpbm9kZSwgaW5vZGUpOworCWlmIChvZmZzZXQgPj0gKDEgPDwgKDIgKyBDUkFNRlNfT0ZGU0VUX1dJRFRIKSkpCisJCWVycngoTUtGU19FWF9FUlJPUiwgXygiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iKSk7CisJaW5vZGUtPm9mZnNldCA9IChvZmZzZXQgPj4gMik7CisJaW5vZGVfZnJvbV9ob3N0KGNyYW1mc19pc19iaWdfZW5kaWFuLCBpbm9kZSwgaW5vZGUpOworfQorCisKKy8qCisgKiBXZSBkbyBhIHdpZHRoLWZpcnN0IHByaW50b3V0IG9mIHRoZSBkaXJlY3RvcnkKKyAqIGVudHJpZXMsIHVzaW5nIGEgc3RhY2sgdG8gcmVtZW1iZXIgdGhlIGRpcmVjdG9yaWVzCisgKiB3ZSd2ZSBzZWVuLgorICovCitzdGF0aWMgdW5zaWduZWQgaW50IHdyaXRlX2RpcmVjdG9yeV9zdHJ1Y3R1cmUoc3RydWN0IGVudHJ5ICplbnRyeSwgY2hhciAqYmFzZSwgdW5zaWduZWQgaW50IG9mZnNldCkKK3sKKwlpbnQgc3RhY2tfZW50cmllcyA9IDA7CisJaW50IHN0YWNrX3NpemUgPSA2NDsKKwlzdHJ1Y3QgZW50cnkgKiplbnRyeV9zdGFjazsKKworCWVudHJ5X3N0YWNrID0geG1hbGxvYyhzdGFja19zaXplICogc2l6ZW9mKHN0cnVjdCBlbnRyeSAqKSk7CisKKwlmb3IgKDs7KSB7CisJCWludCBkaXJfc3RhcnQgPSBzdGFja19lbnRyaWVzOworCQl3aGlsZSAoZW50cnkpIHsKKwkJCXN0cnVjdCBjcmFtZnNfaW5vZGUgKmlub2RlID0KKwkJCQkoc3RydWN0IGNyYW1mc19pbm9kZSAqKSAoYmFzZSArIG9mZnNldCk7CisJCQlzaXplX3QgbGVuID0gc3RybGVuKChjb25zdCBjaGFyICopZW50cnktPm5hbWUpOworCisJCQllbnRyeS0+ZGlyX29mZnNldCA9IG9mZnNldDsKKworCQkJaW5vZGUtPm1vZGUgPSBlbnRyeS0+bW9kZTsKKwkJCWlub2RlLT51aWQgPSBlbnRyeS0+dWlkOworCQkJaW5vZGUtPmdpZCA9IGVudHJ5LT5naWQ7CisJCQlpbm9kZS0+c2l6ZSA9IGVudHJ5LT5zaXplOworCQkJaW5vZGUtPm9mZnNldCA9IDA7CisJCQkvKiBOb24tZW1wdHkgZGlyZWN0b3JpZXMsIHJlZ2ZpbGVzIGFuZCBzeW1saW5rcyB3aWxsCisJCQkgICB3cml0ZSBvdmVyIGlub2RlLT5vZmZzZXQgbGF0ZXIuICovCisKKwkJCW9mZnNldCArPSBzaXplb2Yoc3RydWN0IGNyYW1mc19pbm9kZSk7CisJCQl0b3RhbF9ub2RlcysrOwkvKiBhbm90aGVyIG5vZGUgKi8KKwkJCW1lbWNweShiYXNlICsgb2Zmc2V0LCBlbnRyeS0+bmFtZSwgbGVuKTsKKwkJCS8qIFBhZCB1cCB0aGUgbmFtZSB0byBhIDQtYnl0ZSBib3VuZGFyeSAqLworCQkJd2hpbGUgKGxlbiAmIDMpIHsKKwkJCQkqKGJhc2UgKyBvZmZzZXQgKyBsZW4pID0gJ1wwJzsKKwkJCQlsZW4rKzsKKwkJCX0KKwkJCWlub2RlLT5uYW1lbGVuID0gbGVuID4+IDI7CisJCQlvZmZzZXQgKz0gbGVuOworCisJCQlpZiAodmVyYm9zZSkKKwkJCQlwcmludGYoIiAgJXNcbiIsIGVudHJ5LT5uYW1lKTsKKwkJCWlmIChlbnRyeS0+Y2hpbGQpIHsKKwkJCQlpZiAoc3RhY2tfZW50cmllcyA+PSBzdGFja19zaXplKSB7CisJCQkJCXN0YWNrX3NpemUgKj0gMjsKKwkJCQkJZW50cnlfc3RhY2sgPSB4cmVhbGxvYyhlbnRyeV9zdGFjaywgc3RhY2tfc2l6ZSAqIHNpemVvZihzdHJ1Y3QgZW50cnkgKikpOworCQkJCX0KKwkJCQllbnRyeV9zdGFja1tzdGFja19lbnRyaWVzXSA9IGVudHJ5OworCQkJCXN0YWNrX2VudHJpZXMrKzsKKwkJCX0KKwkJCWlub2RlX2Zyb21faG9zdChjcmFtZnNfaXNfYmlnX2VuZGlhbiwgaW5vZGUsIGlub2RlKTsKKwkJCWVudHJ5ID0gZW50cnktPm5leHQ7CisJCX0KKworCQkvKgorCQkgKiBSZXZlcnNlIHRoZSBvcmRlciB0aGUgc3RhY2sgZW50cmllcyBwdXNoZWQgZHVyaW5nCisJCSAqIHRoaXMgZGlyZWN0b3J5LCBmb3IgYSBzbWFsbCBvcHRpbWl6YXRpb24gb2YgZGlzaworCQkgKiBhY2Nlc3MgaW4gdGhlIGNyZWF0ZWQgZnMuICBUaGlzIGNoYW5nZSBtYWtlcyB0aGluZ3MKKwkJICogYGxzIC1VUicgb3JkZXIuCisJCSAqLworCQl7CisJCQlzdHJ1Y3QgZW50cnkgKipsbyA9IGVudHJ5X3N0YWNrICsgZGlyX3N0YXJ0OworCQkJc3RydWN0IGVudHJ5ICoqaGkgPSBlbnRyeV9zdGFjayArIHN0YWNrX2VudHJpZXM7CisJCQlzdHJ1Y3QgZW50cnkgKnRtcDsKKworCQkJd2hpbGUgKGxvIDwgLS1oaSkgeworCQkJCXRtcCA9ICpsbzsKKwkJCQkqbG8rKyA9ICpoaTsKKwkJCQkqaGkgPSB0bXA7CisJCQl9CisJCX0KKworCQkvKiBQb3AgYSBzdWJkaXJlY3RvcnkgZW50cnkgZnJvbSB0aGUgc3RhY2ssIGFuZCByZWN1cnNlLiAqLworCQlpZiAoIXN0YWNrX2VudHJpZXMpCisJCQlicmVhazsKKwkJc3RhY2tfZW50cmllcy0tOworCQllbnRyeSA9IGVudHJ5X3N0YWNrW3N0YWNrX2VudHJpZXNdOworCisJCXNldF9kYXRhX29mZnNldChlbnRyeSwgYmFzZSwgb2Zmc2V0KTsKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoIiclcyc6XG4iLCBlbnRyeS0+bmFtZSk7CisJCWVudHJ5ID0gZW50cnktPmNoaWxkOworCX0KKwlmcmVlKGVudHJ5X3N0YWNrKTsKKwlyZXR1cm4gb2Zmc2V0OworfQorCitzdGF0aWMgaW50IGlzX3plcm8odW5zaWduZWQgY2hhciBjb25zdCAqYmVnaW4sIHVuc2lnbmVkIGxlbikKK3sKKwlpZiAob3B0X2hvbGVzKQorCQkvKiBSZXR1cm5zIG5vbi16ZXJvIGlmZiB0aGUgZmlyc3QgTEVOIGJ5dGVzIGZyb20gQkVHSU4gYXJlCisJCSAgIGFsbCBOVUxzLiAqLworCQlyZXR1cm4gKGxlbi0tID09IDAgfHwKKwkJCShiZWdpblswXSA9PSAnXDAnICYmCisJCQkgKGxlbi0tID09IDAgfHwKKwkJCSAgKGJlZ2luWzFdID09ICdcMCcgJiYKKwkJCSAgIChsZW4tLSA9PSAwIHx8CisJCQkgICAgKGJlZ2luWzJdID09ICdcMCcgJiYKKwkJCSAgICAgKGxlbi0tID09IDAgfHwKKwkJCSAgICAgIChiZWdpblszXSA9PSAnXDAnICYmCisJCQkgICAgICAgbWVtY21wKGJlZ2luLCBiZWdpbiArIDQsIGxlbikgPT0gMCkpKSkpKSkpOworCWVsc2UKKwkJLyogTmV2ZXIgY3JlYXRlIGhvbGVzLiAqLworCQlyZXR1cm4gMDsKK30KKworLyoKKyAqIE9uZSA0LWJ5dGUgcG9pbnRlciBwZXIgYmxvY2sgYW5kIHRoZW4gdGhlIGFjdHVhbCBibG9ja2VkCisgKiBvdXRwdXQuIFRoZSBmaXJzdCBibG9jayBkb2VzIG5vdCBuZWVkIGFuIG9mZnNldCBwb2ludGVyLAorICogYXMgaXQgd2lsbCBzdGFydCBpbW1lZGlhdGVseSBhZnRlciB0aGUgcG9pbnRlciBibG9jazsKKyAqIHNvIHRoZSBpJ3RoIHBvaW50ZXIgcG9pbnRzIHRvIHRoZSBlbmQgb2YgdGhlIGkndGggYmxvY2sKKyAqIChpLmUuIHRoZSBzdGFydCBvZiB0aGUgKGkrMSkndGggYmxvY2sgb3IgcGFzdCBFT0YpLgorICoKKyAqIE5vdGUgdGhhdCBzaXplID4gMCwgYXMgYSB6ZXJvLXNpemVkIGZpbGUgd291bGRuJ3QgZXZlcgorICogaGF2ZSBnb3R0ZW4gaGVyZSBpbiB0aGUgZmlyc3QgcGxhY2UuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQKK2RvX2NvbXByZXNzKGNoYXIgKmJhc2UsIHVuc2lnbmVkIGludCBvZmZzZXQsIHVuc2lnbmVkIGNoYXIgY29uc3QgKm5hbWUsCisJICAgIGNoYXIgKnBhdGgsIHVuc2lnbmVkIGludCBzaXplLCB1bnNpZ25lZCBpbnQgbW9kZSkKK3sKKwl1bnNpZ25lZCBsb25nIG9yaWdpbmFsX3NpemUsIG9yaWdpbmFsX29mZnNldCwgbmV3X3NpemUsIGJsb2NrcywgY3VycjsKKwlsb25nIGNoYW5nZTsKKwljaGFyICpzdGFydDsKKwlCeXRlZiAqcDsKKworCS8qIGdldCB1bmNvbXByZXNzZWQgZGF0YSAqLworCXN0YXJ0ID0gZG9fbW1hcChwYXRoLCBzaXplLCBtb2RlKTsKKwlpZiAoc3RhcnQgPT0gTlVMTCkKKwkJcmV0dXJuIG9mZnNldDsKKwlwID0gKEJ5dGVmICopIHN0YXJ0OworCisJb3JpZ2luYWxfc2l6ZSA9IHNpemU7CisJb3JpZ2luYWxfb2Zmc2V0ID0gb2Zmc2V0OworCWJsb2NrcyA9IChzaXplIC0gMSkgLyBibGtzaXplICsgMTsKKwljdXJyID0gb2Zmc2V0ICsgNCAqIGJsb2NrczsKKworCXRvdGFsX2Jsb2NrcyArPSBibG9ja3M7CisKKwlkbyB7CisJCXVMb25nZiBsZW4gPSAyICogYmxrc2l6ZTsKKwkJdUxvbmdmIGlucHV0ID0gc2l6ZTsKKwkJaWYgKGlucHV0ID4gYmxrc2l6ZSkKKwkJCWlucHV0ID0gYmxrc2l6ZTsKKwkJc2l6ZSAtPSBpbnB1dDsKKwkJaWYgKCFpc196ZXJvIChwLCBpbnB1dCkpIHsKKwkJCWNvbXByZXNzKChCeXRlZiAqKShiYXNlICsgY3VyciksICZsZW4sIHAsIGlucHV0KTsKKwkJCWN1cnIgKz0gbGVuOworCQl9CisJCXAgKz0gaW5wdXQ7CisKKwkJaWYgKGxlbiA+IGJsa3NpemUqMikgeworCQkJLyogKEkgZG9uJ3QgdGhpbmsgdGhpcyBjYW4gaGFwcGVuIHdpdGggemxpYi4pICovCisJCQlwcmludGYoXygiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gIgorCQkJCSAiMipibG9ja2xlbmd0aCAoJWxkKVxuIiksCisJCQkgICAgICAgbGVuKTsKKwkJCWV4aXQoTUtGU19FWF9FUlJPUik7CisJCX0KKworCQkqKHVpbnQzMl90ICopIChiYXNlICsgb2Zmc2V0KSA9IHUzMl90b2dnbGVfZW5kaWFubmVzcyhjcmFtZnNfaXNfYmlnX2VuZGlhbiwgY3Vycik7CisJCW9mZnNldCArPSA0OworCX0gd2hpbGUgKHNpemUpOworCisJZG9fbXVubWFwKHN0YXJ0LCBvcmlnaW5hbF9zaXplLCBtb2RlKTsKKworCWN1cnIgPSAoY3VyciArIDMpICYgfjM7CisJbmV3X3NpemUgPSBjdXJyIC0gb3JpZ2luYWxfb2Zmc2V0OworCS8qIFRPRE86IEFyZ3VhYmx5LCBvcmlnaW5hbF9zaXplIGluIHRoZXNlIDIgbGluZXMgc2hvdWxkIGJlCisJICAgc3RfYmxvY2tzICogNTEyLiAgQnV0IGlmIHlvdSBzYXkgdGhhdCwgdGhlbiBwZXJoYXBzCisJICAgYWRtaW5pc3RyYXRpdmUgZGF0YSBzaG91bGQgYWxzbyBiZSBpbmNsdWRlZCBpbiBib3RoLiAqLworCWNoYW5nZSA9IG5ld19zaXplIC0gb3JpZ2luYWxfc2l6ZTsKKwlpZiAodmVyYm9zZSkKKwkJcHJpbnRmKF8oIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIiksCisJCSAgICAgICAoY2hhbmdlICogMTAwKSAvIChkb3VibGUpIG9yaWdpbmFsX3NpemUsIGNoYW5nZSwgbmFtZSk7CisKKwlyZXR1cm4gY3VycjsKK30KKworCisvKgorICogVHJhdmVyc2UgdGhlIGVudHJ5IHRyZWUsIHdyaXRpbmcgZGF0YSBmb3IgZXZlcnkgaXRlbSB0aGF0IGhhcworICogbm9uLW51bGwgZW50cnktPnBhdGggKGkuZS4gZXZlcnkgc3ltbGluayBhbmQgbm9uLWVtcHR5CisgKiByZWdmaWxlKS4KKyAqLworc3RhdGljIHVuc2lnbmVkIGludAord3JpdGVfZGF0YShzdHJ1Y3QgZW50cnkgKmVudHJ5LCBjaGFyICpiYXNlLCB1bnNpZ25lZCBpbnQgb2Zmc2V0KSB7CisJc3RydWN0IGVudHJ5ICplOworCisJZm9yIChlID0gZW50cnk7IGU7IGUgPSBlLT5uZXh0KSB7CisJCWlmIChlLT5wYXRoKSB7CisJCQlpZiAoZS0+c2FtZSkgeworCQkJCXNldF9kYXRhX29mZnNldChlLCBiYXNlLCBlLT5zYW1lLT5vZmZzZXQpOworCQkJCWUtPm9mZnNldCA9IGUtPnNhbWUtPm9mZnNldDsKKwkJCX0gZWxzZSBpZiAoZS0+c2l6ZSkgeworCQkJCXNldF9kYXRhX29mZnNldChlLCBiYXNlLCBvZmZzZXQpOworCQkJCWUtPm9mZnNldCA9IG9mZnNldDsKKwkJCQlvZmZzZXQgPSBkb19jb21wcmVzcyhiYXNlLCBvZmZzZXQsIGUtPm5hbWUsCisJCQkJCQkgICAgIGUtPnBhdGgsIGUtPnNpemUsZS0+bW9kZSk7CisJCQl9CisJCX0gZWxzZSBpZiAoZS0+Y2hpbGQpCisJCQlvZmZzZXQgPSB3cml0ZV9kYXRhKGUtPmNoaWxkLCBiYXNlLCBvZmZzZXQpOworCX0KKwlyZXR1cm4gb2Zmc2V0OworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHdyaXRlX2ZpbGUoY2hhciAqZmlsZSwgY2hhciAqYmFzZSwgdW5zaWduZWQgaW50IG9mZnNldCkKK3sKKwlpbnQgZmQ7CisJY2hhciAqYnVmOworCisJZmQgPSBvcGVuKGZpbGUsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZSk7CisJYnVmID0gbW1hcChOVUxMLCBpbWFnZV9sZW5ndGgsIFBST1RfUkVBRCwgTUFQX1BSSVZBVEUsIGZkLCAwKTsKKwltZW1jcHkoYmFzZSArIG9mZnNldCwgYnVmLCBpbWFnZV9sZW5ndGgpOworCW11bm1hcChidWYsIGltYWdlX2xlbmd0aCk7CisJaWYgKGNsb3NlIChmZCkgPCAwKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiY2Fubm90IGNsb3NlIGZpbGUgJXMiKSwgZmlsZSk7CisJLyogUGFkIHVwIHRoZSBpbWFnZV9sZW5ndGggdG8gYSA0LWJ5dGUgYm91bmRhcnkgKi8KKwl3aGlsZSAoaW1hZ2VfbGVuZ3RoICYgMykgeworCQkqKGJhc2UgKyBvZmZzZXQgKyBpbWFnZV9sZW5ndGgpID0gJ1wwJzsKKwkJaW1hZ2VfbGVuZ3RoKys7CisJfQorCXJldHVybiAob2Zmc2V0ICsgaW1hZ2VfbGVuZ3RoKTsKK30KKworLyoKKyAqIE1heGltdW0gc2l6ZSBmcyB5b3UgY2FuIGNyZWF0ZSBpcyByb3VnaGx5IDI1Nk1CLiAgKFRoZSBsYXN0IGZpbGUncworICogZGF0YSBtdXN0IGJlZ2luIHdpdGhpbiAyNTZNQiBib3VuZGFyeSBidXQgY2FuIGV4dGVuZCBiZXlvbmQgdGhhdC4pCisgKgorICogTm90ZSB0aGF0IGlmIHlvdSB3YW50IGl0IHRvIGZpdCBpbiBhIFJPTSB0aGVuIHlvdSdyZSBsaW1pdGVkIHRvIHdoYXQgdGhlCisgKiBoYXJkd2FyZSBhbmQga2VybmVsIGNhbiBzdXBwb3J0ICg2NE1CPykuCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQKK21heGZzbGVuKHZvaWQpIHsKKwlyZXR1cm4gKCgoMSA8PCBDUkFNRlNfT0ZGU0VUX1dJRFRIKSAtIDEpIDw8IDIpICAgIC8qIG9mZnNldCAqLworCQkrICgxIDw8IENSQU1GU19TSVpFX1dJRFRIKSAtIDEgICAgICAgICAgICAvKiBmaWxlc2l6ZSAqLworCQkrICgxIDw8IENSQU1GU19TSVpFX1dJRFRIKSAqIDQgLyBibGtzaXplOyAvKiBibG9jayBwb2ludGVycyAqLworfQorCisvKgorICogVXNhZ2U6CisgKgorICogICAgICBta2NyYW1mcyBkaXJlY3RvcnktbmFtZSBvdXRmaWxlCisgKgorICogd2hlcmUgImRpcmVjdG9yeS1uYW1lIiBpcyBzaW1wbHkgdGhlIHJvb3Qgb2YgdGhlIGRpcmVjdG9yeQorICogdHJlZSB0aGF0IHdlIHdhbnQgdG8gZ2VuZXJhdGUgYSBjb21wcmVzc2VkIGZpbGVzeXN0ZW0gb3V0CisgKiBvZi4KKyAqLworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBzdGF0IHN0OwkJLyogdXNlZCB0d2ljZS4uLiAqLworCXN0cnVjdCBlbnRyeSAqcm9vdF9lbnRyeTsKKwljaGFyICpyb21faW1hZ2U7CisJc3NpemVfdCBvZmZzZXQsIHdyaXR0ZW47CisJaW50IGZkOworCS8qIGluaXRpYWwgZ3Vlc3MgKHVwcGVyLWJvdW5kKSBvZiByZXF1aXJlZCBmaWxlc3lzdGVtIHNpemUgKi8KKwlsb2ZmX3QgZnNsZW5fdWIgPSBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcik7CisJdW5zaWduZWQgaW50IGZzbGVuX21heDsKKwljaGFyIGNvbnN0ICpkaXJuYW1lLCAqb3V0ZmlsZTsKKwl1aW50MzJfdCBjcmMgPSBjcmMzMigwTCwgTlVMTCwgMCk7CisJaW50IGM7CisJY3JhbWZzX2lzX2JpZ19lbmRpYW4gPSBIT1NUX0lTX0JJR19FTkRJQU47IC8qIGRlZmF1bHQgaXMgdG8gdXNlIGhvc3Qgb3JkZXIgKi8KKworCXRvdGFsX2Jsb2NrcyA9IDA7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKGFyZ2MgPiAxKSB7CisJCS8qIGZpcnN0IGFyZyBtYXkgYmUgb25lIG9mIG91ciBzdGFuZGFyZCBsb25nb3B0cyAqLworCQlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS1oZWxwIikpCisJCQl1c2FnZSgpOworCQlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS12ZXJzaW9uIikpIHsKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChNS0ZTX0VYX09LKTsKKwkJfQorCX0KKwlzdHJ1dGlsc19zZXRfZXhpdGNvZGUoTUtGU19FWF9VU0FHRSk7CisKKwkvKiBjb21tYW5kIGxpbmUgb3B0aW9ucyAqLworCXdoaWxlICgoYyA9IGdldG9wdChhcmdjLCBhcmd2LCAiaGI6RWU6aTpuOk46cHNWdnoiKSkgIT0gRU9GKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ2InOgorCQkJYmxrc2l6ZSA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ0UnOgorCQkJb3B0X2Vycm9ycyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQlvcHRfZWRpdGlvbiA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnTic6CisJCQlpZiAoc3RyY21wKG9wdGFyZywgImJpZyIpID09IDApCisJCQkJY3JhbWZzX2lzX2JpZ19lbmRpYW4gPSAxOworCQkJZWxzZSBpZiAoc3RyY21wKG9wdGFyZywgImxpdHRsZSIpID09IDApCisJCQkJY3JhbWZzX2lzX2JpZ19lbmRpYW4gPSAwOworCQkJZWxzZSBpZiAoc3RyY21wKG9wdGFyZywgImhvc3QiKSA9PSAwKQorCQkJCS8qIGRlZmF1bHQgKi8gOworCQkJZWxzZQorCQkJCWVycngoTUtGU19FWF9VU0FHRSwgXygiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyIKKwkJCQkJCSAgICIgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIpKTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCW9wdF9pbWFnZSA9IG9wdGFyZzsKKwkJCWlmIChsc3RhdChvcHRfaW1hZ2UsICZzdCkgPCAwKQorCQkJCWVycihNS0ZTX0VYX1VTQUdFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBvcHRfaW1hZ2UpOworCQkJaW1hZ2VfbGVuZ3RoID0gc3Quc3Rfc2l6ZTsgLyogbWF5IGJlIHBhZGRlZCBsYXRlciAqLworCQkJZnNsZW5fdWIgKz0gKGltYWdlX2xlbmd0aCArIDMpOyAvKiAzIGlzIGZvciBwYWRkaW5nICovCisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlvcHRfbmFtZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCW9wdF9wYWQgPSBQQURfU0laRTsKKwkJCWZzbGVuX3ViICs9IFBBRF9TSVpFOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJLyogb2xkIG9wdGlvbiwgaWdub3JlZCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KE1LRlNfRVhfT0spOworCQljYXNlICd2JzoKKwkJCXZlcmJvc2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3onOgorCQkJb3B0X2hvbGVzID0gMTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChNS0ZTX0VYX1VTQUdFKTsKKwkJfQorCX0KKworCWlmICgoYXJnYyAtIG9wdGluZCkgIT0gMikgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoTUtGU19FWF9VU0FHRSk7CisJfQorCWRpcm5hbWUgPSBhcmd2W29wdGluZF07CisJb3V0ZmlsZSA9IGFyZ3Zbb3B0aW5kICsgMV07CisKKwlpZiAoYmxrc2l6ZSA9PSAwKQorCQlibGtzaXplID0gZ2V0cGFnZXNpemUoKTsKKworCWlmIChzdGF0KGRpcm5hbWUsICZzdCkgPCAwKQorCQllcnIoTUtGU19FWF9VU0FHRSwgXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgZGlybmFtZSk7CisJZmQgPSBvcGVuKG91dGZpbGUsIE9fV1JPTkxZIHwgT19DUkVBVCB8IE9fVFJVTkMsIDA2NjYpOworCWlmIChmZCA8IDApCisJCWVycihNS0ZTX0VYX1VTQUdFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBvdXRmaWxlKTsKKworCXJvb3RfZW50cnkgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgZW50cnkpKTsKKwlyb290X2VudHJ5LT5tb2RlID0gc3Quc3RfbW9kZTsKKwlyb290X2VudHJ5LT51aWQgPSBzdC5zdF91aWQ7CisJcm9vdF9lbnRyeS0+Z2lkID0gc3Quc3RfZ2lkOworCisJcm9vdF9lbnRyeS0+c2l6ZSA9IHBhcnNlX2RpcmVjdG9yeShyb290X2VudHJ5LCBkaXJuYW1lLCAmcm9vdF9lbnRyeS0+Y2hpbGQsICZmc2xlbl91Yik7CisKKwkvKiBmaW5kIGR1cGxpY2F0ZSBmaWxlcyAqLworCWVsaW1pbmF0ZV9kb3VibGVzKHJvb3RfZW50cnkscm9vdF9lbnRyeSwgJmZzbGVuX3ViKTsKKworCS8qIGFsd2F5cyBhbGxvY2F0ZSBhIG11bHRpcGxlIG9mIGJsa3NpemUgYnl0ZXMgYmVjYXVzZSB0aGF0J3MKKwkgICB3aGF0IHdlJ3JlIGdvaW5nIHRvIHdyaXRlIGxhdGVyIG9uICovCisJZnNsZW5fdWIgPSAoKGZzbGVuX3ViIC0gMSkgfCAoYmxrc2l6ZSAtIDEpKSArIDE7CisJZnNsZW5fbWF4ID0gbWF4ZnNsZW4oKTsKKworCWlmIChmc2xlbl91YiA+IGZzbGVuX21heCkgeworCQl3YXJueCgJXygid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgIgorCQkJICAiaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICAiCisJCQkgICJXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIiksCisJCQkobG9uZyBsb25nKWZzbGVuX3ViID4+IDIwLAorCQkJZnNsZW5fbWF4ID4+IDIwKTsKKwkJZnNsZW5fdWIgPSBmc2xlbl9tYXg7CisJfQorCisJLyogVE9ETzogV2h5IGRvIHdlIHVzZSBhIHByaXZhdGUvYW5vbnltb3VzIG1hcHBpbmcgaGVyZQorCSAgIGZvbGxvd2VkIGJ5IGEgd3JpdGUgYmVsb3csIGluc3RlYWQgb2YganVzdCBhIHNoYXJlZCBtYXBwaW5nCisJICAgYW5kIGEgY291cGxlIG9mIGZ0cnVuY2F0ZSBjYWxscz8gIElzIGl0IGp1c3QgdG8gc2F2ZSB1cworCSAgIGhhdmluZyB0byBkZWFsIHdpdGggcmVtb3ZpbmcgdGhlIGZpbGUgYWZ0ZXJ3YXJkcz8gIElmIHdlCisJICAgcmVhbGx5IG5lZWQgdGhpcyBodWdlIGFub255bW91cyBtYXBwaW5nLCB3ZSBvdWdodCB0byBtbWFwCisJICAgaW4gc21hbGxlciBjaHVua3MsIHNvIHRoYXQgdGhlIHVzZXIgZG9lc24ndCBuZWVkIG5uIE1CIG9mCisJICAgUkFNIGZyZWUuICBJZiB0aGUgcmVhc29uIGlzIHRvIGJlIGFibGUgdG8gd3JpdGUgdG8KKwkgICB1bi1tbWFwcGFibGUgYmxvY2sgZGV2aWNlcywgdGhlbiB3ZSBjb3VsZCB0cnkgc2hhcmVkIG1tYXAKKwkgICBhbmQgcmV2ZXJ0IHRvIGFub255bW91cyBtbWFwIGlmIHRoZSBzaGFyZWQgbW1hcCBmYWlscy4gKi8KKwlyb21faW1hZ2UgPSBtbWFwKE5VTEwsCisJCQkgZnNsZW5fdWI/ZnNsZW5fdWI6MSwKKwkJCSBQUk9UX1JFQUQgfCBQUk9UX1dSSVRFLAorCQkJIE1BUF9QUklWQVRFIHwgTUFQX0FOT05ZTU9VUywKKwkJCSAtMSwgMCk7CisKKwlpZiAoLTEgPT0gKGludCkgKGxvbmcpIHJvbV9pbWFnZSkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oIlJPTSBpbWFnZSBtYXAiKSk7CisKKwkvKiBTa2lwIHRoZSBmaXJzdCBvcHRfcGFkIGJ5dGVzIGZvciBib290IGxvYWRlciBjb2RlICovCisJb2Zmc2V0ID0gb3B0X3BhZDsKKwltZW1zZXQocm9tX2ltYWdlLCAweDAwLCBvcHRfcGFkKTsKKworCS8qIFNraXAgdGhlIHN1cGVyYmxvY2sgYW5kIGNvbWUgYmFjayB0byB3cml0ZSBpdCBsYXRlci4gKi8KKwlvZmZzZXQgKz0gc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpOworCisJLyogSW5zZXJ0IGEgZmlsZSBpbWFnZS4gKi8KKwlpZiAob3B0X2ltYWdlKSB7CisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKF8oIkluY2x1ZGluZzogJXNcbiIpLCBvcHRfaW1hZ2UpOworCQlvZmZzZXQgPSB3cml0ZV9maWxlKG9wdF9pbWFnZSwgcm9tX2ltYWdlLCBvZmZzZXQpOworCX0KKworCW9mZnNldCA9IHdyaXRlX2RpcmVjdG9yeV9zdHJ1Y3R1cmUocm9vdF9lbnRyeS0+Y2hpbGQsIHJvbV9pbWFnZSwgb2Zmc2V0KTsKKwlpZiAodmVyYm9zZSkKKwkJcHJpbnRmKF8oIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIpLCBvZmZzZXQpOworCisJb2Zmc2V0ID0gd3JpdGVfZGF0YShyb290X2VudHJ5LCByb21faW1hZ2UsIG9mZnNldCk7CisKKwkvKiBXZSBhbHdheXMgd3JpdGUgYSBtdWx0aXBsZSBvZiBibGtzaXplIGJ5dGVzLCBzbyB0aGF0CisJICAgbG9zZXR1cCB3b3Jrcy4gKi8KKwlvZmZzZXQgPSAoKG9mZnNldCAtIDEpIHwgKGJsa3NpemUgLSAxKSkgKyAxOworCWlmICh2ZXJib3NlKQorCQlwcmludGYoXygiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIiksIG9mZnNldCA+PiAxMCk7CisKKwkvKiBXcml0ZSB0aGUgc3VwZXJibG9jayBub3cgdGhhdCB3ZSBjYW4gZmlsbCBpbiBhbGwgb2YgdGhlIGZpZWxkcy4gKi8KKwl3cml0ZV9zdXBlcmJsb2NrKHJvb3RfZW50cnksIHJvbV9pbWFnZStvcHRfcGFkLCBvZmZzZXQpOworCWlmICh2ZXJib3NlKQorCQlwcmludGYoXygiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIiksCisJCSAgICAgICBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikpOworCisJLyogUHV0IHRoZSBjaGVja3N1bSBpbi4gKi8KKwljcmMgPSBjcmMzMihjcmMsICh1bnNpZ25lZCBjaGFyICopIChyb21faW1hZ2Urb3B0X3BhZCksIChvZmZzZXQtb3B0X3BhZCkpOworCSgoc3RydWN0IGNyYW1mc19zdXBlciAqKSAocm9tX2ltYWdlK29wdF9wYWQpKS0+ZnNpZC5jcmMgPSB1MzJfdG9nZ2xlX2VuZGlhbm5lc3MoY3JhbWZzX2lzX2JpZ19lbmRpYW4sIGNyYyk7CisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCJDUkM6ICV4XG4iKSwgY3JjKTsKKworCS8qIENoZWNrIHRvIG1ha2Ugc3VyZSB3ZSBhbGxvY2F0ZWQgZW5vdWdoIHNwYWNlLiAqLworCWlmIChmc2xlbl91YiA8IG9mZnNldCkKKwkJZXJyeChNS0ZTX0VYX0VSUk9SLAorCQkJXygibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAiCisJCQkgICIoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIpLAorCQkJKGxvbmcgbG9uZykgZnNsZW5fdWIsIG9mZnNldCk7CisKKwl3cml0dGVuID0gd3JpdGUoZmQsIHJvbV9pbWFnZSwgb2Zmc2V0KTsKKwlpZiAob2Zmc2V0ICE9IHdyaXR0ZW4pCisJCWVycngoTUtGU19FWF9FUlJPUiwgXygiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiKSwKKwkJCXdyaXR0ZW4sIG9mZnNldCk7CisJaWYgKGNsb3NlX2ZkKGZkKSAhPSAwKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiUk9NIGltYWdlIikpOworCisJLyoKKwkgKiAoVGhlc2Ugd2FybmluZ3MgdXNlZCB0byBjb21lIGF0IHRoZSBzdGFydCwgYnV0IHRoZXkgc2Nyb2xsIG9mZgorCSAqIHRoZSBzY3JlZW4gdG9vIHF1aWNrbHkuKQorCSAqLworCWlmICh3YXJuX25hbWVsZW4pCisJCS8qIENhbid0IGhhcHBlbiB3aGVuIHJlYWRpbmcgZnJvbSBleHQyZnMuICovCisJCS8qIEJ5dGVzLCBub3QgY2hhcnM6IHRoaW5rIFVURjguICovCisJCXdhcm54KF8oIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIiksIE1BWF9JTlBVVF9OQU1FTEVOKTsKKwlpZiAod2Fybl9za2lwKQorCQl3YXJueChfKCJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iKSk7CisJaWYgKHdhcm5fc2l6ZSkKKwkJd2FybngoXygid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgIgorCQkJIihtaW51cyAxIGJ5dGUpLiIpLCAxTCA8PCAoQ1JBTUZTX1NJWkVfV0lEVEggLSAyMCkpOworCWlmICh3YXJuX3VpZCkKKwkJLyogKG5vdCBwb3NzaWJsZSB3aXRoIGN1cnJlbnQgTGludXggdmVyc2lvbnMpICovCisJCXdhcm54KF8oIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAiCisJCQkiKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIiksIENSQU1GU19VSURfV0lEVEgpOworCWlmICh3YXJuX2dpZCkKKwkJd2FybngoXygid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gICIKKwkJCSIoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiKSwgQ1JBTUZTX0dJRF9XSURUSCk7CisJaWYgKHdhcm5fZGV2KQorCQl3YXJueChfKCJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gICIKKwkJCSJUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKwkJCSJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIiksCisJCSAgICAgIENSQU1GU19PRkZTRVRfV0lEVEgpOworCWlmIChvcHRfZXJyb3JzICYmCisJICAgICh3YXJuX25hbWVsZW58d2Fybl9za2lwfHdhcm5fc2l6ZXx3YXJuX3VpZHx3YXJuX2dpZHx3YXJuX2RldikpCisJCWV4aXQoTUtGU19FWF9FUlJPUik7CisKKwlyZXR1cm4gTUtGU19FWF9PSzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvbWtmcy5taW5peC44IGIvZGlzay11dGlscy9ta2ZzLm1pbml4LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzA4ODI3YgotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWtmcy5taW5peC44CkBAIC0wLDAgKzEsODkgQEAKKy5cIiBDb3B5cmlnaHQgMTk5MiwgMTk5MywgMTk5NCBSaWNrYXJkIEUuIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorLlwiIE1heSBiZSBmcmVlbHkgZGlzdHJpYnV0ZWQuCisuVEggTUtGUy5NSU5JWCA4ICJKdW5lIDIwMTUiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK21rZnMubWluaXggXC0gbWFrZSBhIE1pbml4IGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgbWtmcy5taW5peAorW29wdGlvbnNdCisuSSBkZXZpY2UKKy5SSSBbIHNpemUtaW4tYmxvY2tzIF0KKy5TSCBERVNDUklQVElPTgorLkIgbWtmcy5taW5peAorY3JlYXRlcyBhIExpbnV4IE1JTklYIGZpbGVzeXN0ZW0gb24gYSBkZXZpY2UgKHVzdWFsbHkgYSBkaXNrIHBhcnRpdGlvbikuCisKK1RoZQorLkkgZGV2aWNlCitpcyB1c3VhbGx5IG9mIHRoZSBmb2xsb3dpbmcgZm9ybToKKworLm5mCisuUlMKKy9kZXYvaGRhWzFcKGVuOF0gKElERSBkaXNrIDEpCisvZGV2L2hkYlsxXChlbjhdIChJREUgZGlzayAyKQorL2Rldi9zZGFbMVwoZW44XSAoU0NTSSBkaXNrIDEpCisvZGV2L3NkYlsxXChlbjhdIChTQ1NJIGRpc2sgMikKKy5SRQorLmZpCisKK1RoZSBkZXZpY2UgbWF5IGJlIGEgYmxvY2sgZGV2aWNlIG9yIGEgaW1hZ2UgZmlsZSBvZiBvbmUsIGJ1dCB0aGlzIGlzIG5vdAorZW5mb3JjZWQuICBFeHBlY3Qgbm90IG11Y2ggZnVuIG9uIGEgY2hhcmFjdGVyIGRldmljZSA6LSkuCisuUFAKK1RoZQorLkkgc2l6ZS1pbi1ibG9ja3MKK3BhcmFtZXRlciBpcyB0aGUgZGVzaXJlZCBzaXplIG9mIHRoZSBmaWxlIHN5c3RlbSwgaW4gYmxvY2tzLgorSXQgaXMgcHJlc2VudCBvbmx5IGZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eS4KK0lmIG9taXR0ZWQgdGhlIHNpemUgd2lsbCBiZSBkZXRlcm1pbmVkIGF1dG9tYXRpY2FsbHkuCitPbmx5IGJsb2NrIGNvdW50cyBzdHJpY3RseSBncmVhdGVyIHRoYW4gMTAgYW5kIHN0cmljdGx5IGxlc3MgdGhhbgorNjU1MzYgYXJlIGFsbG93ZWQuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLWNcZlIsIFxmQlwtXC1jaGVja1xmUgorQ2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIGZpbGVzeXN0ZW0uICBJZiBhbnkKK2FyZSBmb3VuZCwgdGhlIGNvdW50IGlzIHByaW50ZWQuCisuVFAKK1xmQlwtblxmUiwgXGZCXC1cLW5hbWVsZW5ndGhcZlIgXGZJbGVuZ3RoXGZSCitTcGVjaWZ5IHRoZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMuICBDdXJyZW50bHksIHRoZSBvbmx5IGFsbG93YWJsZQordmFsdWVzIGFyZSAxNCBhbmQgMzAgZm9yIGZpbGUgc3lzdGVtIHZlcnNpb25zIDEgYW5kIDIuICBWZXJzaW9uIDMgYWxsb3dzCitvbmx5IHZhbHVlIDYwLiAgVGhlIGRlZmF1bHQgaXMgMzAuCisuVFAKK1xmQlwtaVxmUiwgXGZCXC1cLWlub2Rlc1xmUiBcZkludW1iZXJcZlIKK1NwZWNpZnkgdGhlIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtLgorLlRQCitcZkJcLWxcZlIsIFxmQlwtXC1iYWRibG9ja3NcZlIgXGZJZmlsZW5hbWVcZlIKK1JlYWQgdGhlIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tCisuSVIgZmlsZW5hbWUgLgorVGhlIGZpbGUgaGFzIG9uZSBiYWQtYmxvY2sgbnVtYmVyIHBlciBsaW5lLiAgVGhlIGNvdW50IG9mIGJhZCBibG9ja3MgcmVhZAoraXMgcHJpbnRlZC4KKy5UUAorLkIgXC0xCitNYWtlIGEgTWluaXggdmVyc2lvbiAxIGZpbGVzeXN0ZW0uICBUaGlzIGlzIHRoZSBkZWZhdWx0LgorLlRQCisuQlIgXC0yICwgIiBcLXYiCitNYWtlIGEgTWluaXggdmVyc2lvbiAyIGZpbGVzeXN0ZW0uCisuVFAKKy5CIFwtMworTWFrZSBhIE1pbml4IHZlcnNpb24gMyBmaWxlc3lzdGVtLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuICBUaGUgbG9uZyBvcHRpb24gY2Fubm90IGJlIGNvbWJpbmVkCit3aXRoIG90aGVyIG9wdGlvbnMuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIICJFWElUIENPREVTIgorVGhlIGV4aXQgY29kZSByZXR1cm5lZCBieQorLkIgbWtmcy5taW5peAoraXMgb25lIG9mIHRoZSBmb2xsb3dpbmc6CisuSVAgMAorTm8gZXJyb3JzCisuSVAgOAorT3BlcmF0aW9uYWwgZXJyb3IKKy5JUCAxNgorVXNhZ2Ugb3Igc3ludGF4IGVycm9yCisuU0ggIlNFRSBBTFNPIgorLkJSIGZzY2sgKDgpLAorLkJSIG1rZnMgKDgpLAorLkJSIHJlYm9vdCAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBta2ZzLm1pbml4IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21rZnMubWluaXguYyBiL2Rpc2stdXRpbHMvbWtmcy5taW5peC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0YzQ3ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL21rZnMubWluaXguYwpAQCAtMCwwICsxLDg0MSBAQAorLyoKKyAqIG1rZnMubWluaXguYyAtIG1ha2UgYSBsaW51eCAobWluaXgpIGZpbGUtc3lzdGVtLgorICoKKyAqIChDKSAxOTkxIExpbnVzIFRvcnZhbGRzLiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgYXMgcGVyCisgKiB0aGUgTGludXggY29weXJpZ2h0LgorICovCisKKy8qCisgKiBERC5NTS5ZWQorICoKKyAqIDI0LjExLjkxICAtCVRpbWUgYmVnYW4uIFVzZWQgdGhlIGZzY2sgc291cmNlcyB0byBnZXQgc3RhcnRlZC4KKyAqCisgKiAyNS4xMS45MSAgLQlDb3JyZWN0ZWQgc29tZSBidWdzLiBBZGRlZCBzdXBwb3J0IGZvciAiLmJhZGJsb2NrcyIKKyAqCQlUaGUgYWxnb3JpdGhtIGZvciAiLmJhZGJsb2NrcyIgaXMgYSBiaXQgd2VpcmQsIGJ1dAorICoJCWl0IHNob3VsZCB3b3JrLiBPaCwgd2VsbC4KKyAqCisgKiAyNS4wMS45MiAgLQlBZGRlZCB0aGUgLWwgb3B0aW9uIGZvciBnZXR0aW5nIHRoZSBsaXN0IG9mIGJhZCBibG9ja3MKKyAqCQlvdXQgb2YgYSBuYW1lZCBmaWxlLiAoRGF2ZSBSaXZlcnMsIHJpdmVyc0Bwb25kcy51dWNwKQorICoKKyAqIDI4LjAyLjkyICAtCUFkZGVkICUtaW5mb3JtYXRpb24gd2hlbiB1c2luZyAtYy4KKyAqCisgKiAyOC4wMi45MyAgLQlBZGRlZCBzdXBwb3J0IGZvciBvdGhlciBuYW1lbGVuZ3RocyB0aGFuIHRoZSBvcmlnaW5hbAorICoJCTE0IGNoYXJhY3RlcnMgc28gdGhhdCBJIGNhbiB0ZXN0IHRoZSBuZXcga2VybmVsIHJvdXRpbmVzLi4KKyAqCisgKiAwOS4xMC45MyAgLQlNYWtlIGV4aXQgc3RhdHVzIGNvbmZvcm0gdG8gdGhhdCByZXF1aXJlZCBieSBmc3V0aWwKKyAqCQkoUmlrIEZhaXRoLCBmYWl0aEBjcy51bmMuZWR1KQorICoKKyAqIDMxLjEwLjkzICAtCUFkZGVkIGlub2RlIHJlcXVlc3QgZmVhdHVyZSwgZm9yIGJhY2t1cCBmbG9wcGllczogdXNlCisgKgkJMzIgaW5vZGVzLCBmb3IgYSBuZXdzIHBhcnRpdGlvbiB1c2UgbW9yZS4KKyAqCQkoU2NvdHQgSGVhdm5lciwgc2RoQHBvLmN3cnUuZWR1KQorICoKKyAqIDAzLjAxLjk0ICAtCUFkZGVkIHN1cHBvcnQgZm9yIGZpbGUgc3lzdGVtIHZhbGlkIGZsYWcuCisgKgkJKERyLiBXZXR0c3RlaW4sIGdyZWcld2luZC51dWNwQHBsYWlucy5ub2Rhay5lZHUpCisgKgorICogMzAuMTAuOTQgIC0gIEFkZGVkIHN1cHBvcnQgZm9yIHYyIGZpbGVzeXN0ZW0KKyAqCQkoQW5kcmVhcyBTY2h3YWIsIHNjaHdhYkBpc3Nhbi5pbmZvcm1hdGlrLnVuaS1kb3J0bXVuZC5kZSkKKyAqIAorICogMDkuMTEuOTQgIC0JQWRkZWQgdGVzdCB0byBwcmV2ZW50IG92ZXJ3cml0ZSBvZiBtb3VudGVkIGZzIGFkYXB0ZWQKKyAqCQlmcm9tIFRoZW9kb3JlIFRzJ28ncyAodHl0c29AYXRoZW5hLm1pdC5lZHUpIG1rZTJmcworICoJCXByb2dyYW0uICAoRGFuaWVsIFF1aW5sYW4sIHF1aW5sYW5AeWdnZHJhc2lsLmNvbSkKKyAqCisgKiAwMy4yMC45NSAgLQlDbGVhciBmaXJzdCA1MTIgYnl0ZXMgb2YgZmlsZXN5c3RlbSB0byBtYWtlIGNlcnRhaW4gdGhhdAorICoJCXRoZSBmaWxlc3lzdGVtIGlzIG5vdCBtaXNpZGVudGlmaWVkIGFzIGEgTVMtRE9TIEZBVCBmaWxlc3lzdGVtLgorICoJCShEYW5pZWwgUXVpbmxhbiwgcXVpbmxhbkB5Z2dkcmFzaWwuY29tKQorICoKKyAqIDAyLjA3Ljk2ICAtICBBZGRlZCBzbWFsbCBwYXRjaCBmcm9tIFJ1c3NlbGwgS2luZyB0byBtYWtlIHRoZSBwcm9ncmFtIGEKKyAqCQlnb29kIGRlYWwgbW9yZSBwb3J0YWJsZSAoamFubEBtYXRoLnVpby5ubykKKyAqCisgKiAwNi4yOS4xMSAgLSAgT3ZlcmFsbCBjbGVhbnVwcyBmb3IgdXRpbC1saW51eCBhbmQgdjMgc3VwcG9ydAorICogICAgICAgICAgICAgIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoKKyAqIDA2LjIwLjE1ICAtICBEbyBub3QgaW5maW5pdGUgbG9vcCBvciBjcmFzaCBvbiBsYXJnZSBkZXZpY2VzCisgKiAgICAgICAgICAgICAgSm9zaHVhIEh1ZHNvbiA8am9zaHVkc29uQGdtYWlsLmNvbT4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxlcnIuaD4KKworI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgIm1pbml4X3Byb2dyYW1zLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAiZXhpdGNvZGVzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImlzbW91bnRlZC5oIgorCisjZGVmaW5lIFhBTExPQ19FWElUX0NPREUgTUtGU19FWF9FUlJPUgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisjZGVmaW5lIE1JTklYX1JPT1RfSU5PIDEKKyNkZWZpbmUgTUlOSVhfQkFEX0lOTyAyCisKKyNkZWZpbmUgVEVTVF9CVUZGRVJfQkxPQ0tTIDE2CisjZGVmaW5lIE1BWF9HT09EX0JMT0NLUyA1MTIKKworI2RlZmluZSBNSU5JWF9NQVhfSU5PREVTIDY1NTM1CisKKyNkZWZpbmUgREVGQVVMVF9GU19WRVJTSU9OIDEKKworLyoKKyAqIEdsb2JhbCB2YXJpYWJsZXMgdXNlZCBpbiBtaW5peF9wcm9ncmFtcy5oIGlubGluZSBmdW5jdGlvbnMKKyAqLworaW50IGZzX3ZlcnNpb24gPSBERUZBVUxUX0ZTX1ZFUlNJT047CitjaGFyICpzdXBlcl9ibG9ja19idWZmZXI7CisKK3N0YXRpYyBjaGFyICppbm9kZV9idWZmZXIgPSBOVUxMOworCisjZGVmaW5lIElub2RlICgoKHN0cnVjdCBtaW5peF9pbm9kZSAqKSBpbm9kZV9idWZmZXIpIC0gMSkKKyNkZWZpbmUgSW5vZGUyICgoKHN0cnVjdCBtaW5peDJfaW5vZGUgKikgaW5vZGVfYnVmZmVyKSAtIDEpCisKK3N0cnVjdCBmc19jb250cm9sIHsKKwljaGFyICpkZXZpY2VfbmFtZTsJCS8qIGRldmljZSBvbiBhIE1pbml4IGZpbGUgc3lzdGVtIGlzIGNyZWF0ZWQgKi8KKwlpbnQgZGV2aWNlX2ZkOwkJCS8qIG9wZW4gZmlsZSBkZXNjcmlwdG9yIG9mIHRoZSBkZXZpY2UgKi8KKwl1bnNpZ25lZCBsb25nIGxvbmcgZnNfYmxvY2tzOwkvKiBkZXZpY2UgYmxvY2sgY291bnQgZm9yIHRoZSBmaWxlIHN5c3RlbSAqLworCWludCBmc191c2VkX2Jsb2NrczsJCS8qIHVzZWQgYmxvY2tzIG9uIGEgZGV2aWNlICovCisJaW50IGZzX2JhZF9ibG9ja3M7CQkvKiBudW1iZXIgb2YgYmFkIGJsb2NrcyBmb3VuZCBmcm9tIGRldmljZSAqLworCXVpbnQxNl90IGZzX25hbWVsZW47CQkvKiBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMgKi8KKwlzaXplX3QgZnNfZGlyc2l6ZTsJCS8qIG1heGltdW0gc2l6ZSBvZiBkaXJlY3RvcnkgKi8KKwl1bnNpZ25lZCBsb25nIGZzX2lub2RlczsJLyogbnVtYmVyIG9mIGlub2RlcyAqLworCWludCBmc19tYWdpYzsJCQkvKiBmaWxlIHN5c3RlbSBtYWdpYyBudW1iZXIgKi8KKwl1bnNpZ25lZCBpbnQKKwkgY2hlY2tfYmxvY2tzOjE7CQkvKiBjaGVjayBmb3IgYmFkIGJsb2NrcyAqLworfTsKKworc3RhdGljIGNoYXIgcm9vdF9ibG9ja1tNSU5JWF9CTE9DS19TSVpFXTsKK3N0YXRpYyBjaGFyIGJvb3RfYmxvY2tfYnVmZmVyWzUxMl07CitzdGF0aWMgdW5zaWduZWQgc2hvcnQgZ29vZF9ibG9ja3NfdGFibGVbTUFYX0dPT0RfQkxPQ0tTXTsKKworc3RhdGljIGNoYXIgKmlub2RlX21hcDsKK3N0YXRpYyBjaGFyICp6b25lX21hcDsKKworI2RlZmluZSB6b25lX2luX3VzZSh4KSAoaXNzZXQoem9uZV9tYXAsKHgpLWdldF9maXJzdF96b25lKCkrMSkgIT0gMCkKKworI2RlZmluZSBtYXJrX2lub2RlKHgpIChzZXRiaXQoaW5vZGVfbWFwLCh4KSkpCisjZGVmaW5lIHVubWFya19pbm9kZSh4KSAoY2xyYml0KGlub2RlX21hcCwoeCkpKQorCisjZGVmaW5lIG1hcmtfem9uZSh4KSAoc2V0Yml0KHpvbmVfbWFwLCh4KS1nZXRfZmlyc3Rfem9uZSgpKzEpKQorI2RlZmluZSB1bm1hcmtfem9uZSh4KSAoY2xyYml0KHpvbmVfbWFwLCh4KS1nZXRfZmlyc3Rfem9uZSgpKzEpKQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI1KSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJta2ZzLm1pbml4KDgpIikpOworCWV4aXQoTUtGU19FWF9PSyk7Cit9CisKKyNpZmRlZiBURVNUX1NDUklQVAorc3RhdGljIGlubGluZSB0aW1lX3QgbWtmc19taW5peF90aW1lKHRpbWVfdCAqdCkKK3sKKwljb25zdCBjaGFyICpzdHIgPSBnZXRlbnYoIk1LRlNfTUlOSVhfVEVTVF9TRUNPTkRfU0lOQ0VfRVBPQ0giKTsKKwl0aW1lX3Qgc2VjOworCisJaWYgKHN0ciAmJiBzc2NhbmYoc3RyLCAiJWxkIiwgJnNlYykgPT0gMSkKKwkJcmV0dXJuIHNlYzsKKwlyZXR1cm4gdGltZSh0KTsKK30KKyNlbHNlCQkJCS8qICFURVNUX1NDUklQVCAqLworIyBkZWZpbmUgbWtmc19taW5peF90aW1lKHgpIHRpbWUoeCkKKyNlbmRpZgorCitzdGF0aWMgdm9pZCBzdXBlcl9zZXRfc3RhdGUodm9pZCkKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDE6CisJY2FzZSAyOgorCQlTdXBlci5zX3N0YXRlIHw9IE1JTklYX1ZBTElEX0ZTOworCQlTdXBlci5zX3N0YXRlICY9IH5NSU5JWF9FUlJPUl9GUzsKKwkJYnJlYWs7CisJZGVmYXVsdDogLyogdjMgKi8KKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCB3cml0ZV90YWJsZXMoY29uc3Qgc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkgeworCXVuc2lnbmVkIGxvbmcgaW1hcHMgPSBnZXRfbmltYXBzKCk7CisJdW5zaWduZWQgbG9uZyB6bWFwcyA9IGdldF9uem1hcHMoKTsKKwlzaXplX3QgYnVmZnN6ID0gZ2V0X2lub2RlX2J1ZmZlcl9zaXplKCk7CisKKwkvKiBNYXJrIHRoZSBzdXBlciBibG9jayB2YWxpZC4gKi8KKwlzdXBlcl9zZXRfc3RhdGUoKTsKKworCWlmIChsc2VlayhjdGwtPmRldmljZV9mZCwgMCwgU0VFS19TRVQpKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIgorCQkJCSAgICIgaW4gd3JpdGVfdGFibGVzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCWlmICh3cml0ZV9hbGwoY3RsLT5kZXZpY2VfZmQsIGJvb3RfYmxvY2tfYnVmZmVyLCA1MTIpKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIpLCBjdGwtPmRldmljZV9uYW1lKTsKKwlpZiAoTUlOSVhfQkxPQ0tfU0laRSAhPSBsc2VlayhjdGwtPmRldmljZV9mZCwgTUlOSVhfQkxPQ0tfU0laRSwgU0VFS19TRVQpKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIpLCBjdGwtPmRldmljZV9uYW1lKTsKKworCWlmICh3cml0ZV9hbGwoY3RsLT5kZXZpY2VfZmQsIHN1cGVyX2Jsb2NrX2J1ZmZlciwgTUlOSVhfQkxPQ0tfU0laRSkpCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCisJaWYgKHdyaXRlX2FsbChjdGwtPmRldmljZV9mZCwgaW5vZGVfbWFwLCBpbWFwcyAqIE1JTklYX0JMT0NLX1NJWkUpKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisKKwlpZiAod3JpdGVfYWxsKGN0bC0+ZGV2aWNlX2ZkLCB6b25lX21hcCwgem1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKSkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisKKwlpZiAod3JpdGVfYWxsKGN0bC0+ZGV2aWNlX2ZkLCBpbm9kZV9idWZmZXIsIGJ1ZmZzeikpCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIpLCBjdGwtPmRldmljZV9uYW1lKTsKK30KKworc3RhdGljIHZvaWQgd3JpdGVfYmxvY2soY29uc3Qgc3RydWN0IGZzX2NvbnRyb2wgKmN0bCwgaW50IGJsaywgY2hhciAqIGJ1ZmZlcikgeworCWlmIChibGsgKiBNSU5JWF9CTE9DS19TSVpFICE9IGxzZWVrKGN0bC0+ZGV2aWNlX2ZkLCBibGsgKiBNSU5JWF9CTE9DS19TSVpFLCBTRUVLX1NFVCkpCisJCWVycngoTUtGU19FWF9FUlJPUiwgXygiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCisJaWYgKHdyaXRlX2FsbChjdGwtPmRldmljZV9mZCwgYnVmZmVyLCBNSU5JWF9CTE9DS19TSVpFKSkKKwkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIiksIGN0bC0+ZGV2aWNlX25hbWUpOworfQorCitzdGF0aWMgaW50IGdldF9mcmVlX2Jsb2NrKHN0cnVjdCBmc19jb250cm9sICpjdGwpIHsKKwl1bnNpZ25lZCBpbnQgYmxrOworCXVuc2lnbmVkIGludCB6b25lcyA9IGdldF9uem9uZXMoKTsKKwl1bnNpZ25lZCBpbnQgZmlyc3Rfem9uZSA9IGdldF9maXJzdF96b25lKCk7CisKKwlpZiAoY3RsLT5mc191c2VkX2Jsb2NrcyArIDEgPj0gTUFYX0dPT0RfQkxPQ0tTKQorCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCWlmIChjdGwtPmZzX3VzZWRfYmxvY2tzKQorCQlibGsgPSBnb29kX2Jsb2Nrc190YWJsZVtjdGwtPmZzX3VzZWRfYmxvY2tzIC0gMV0gKyAxOworCWVsc2UKKwkJYmxrID0gZmlyc3Rfem9uZTsKKwl3aGlsZSAoYmxrIDwgem9uZXMgJiYgem9uZV9pbl91c2UoYmxrKSkKKwkJYmxrKys7CisJaWYgKGJsayA+PSB6b25lcykKKwkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIpLCBjdGwtPmRldmljZV9uYW1lKTsKKwlnb29kX2Jsb2Nrc190YWJsZVtjdGwtPmZzX3VzZWRfYmxvY2tzXSA9IGJsazsKKwljdGwtPmZzX3VzZWRfYmxvY2tzKys7CisJcmV0dXJuIGJsazsKK30KKworc3RhdGljIHZvaWQgbWFya19nb29kX2Jsb2Nrcyhjb25zdCBzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKSB7CisJaW50IGJsazsKKworCWZvciAoYmxrPTAgOyBibGsgPCBjdGwtPmZzX3VzZWRfYmxvY2tzIDsgYmxrKyspCisJCW1hcmtfem9uZShnb29kX2Jsb2Nrc190YWJsZVtibGtdKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgbmV4dCh1bnNpZ25lZCBsb25nIHpvbmUpIHsKKwl1bnNpZ25lZCBsb25nIHpvbmVzID0gZ2V0X256b25lcygpOworCXVuc2lnbmVkIGxvbmcgZmlyc3Rfem9uZSA9IGdldF9maXJzdF96b25lKCk7CisKKwlpZiAoIXpvbmUpCisJCXpvbmUgPSBmaXJzdF96b25lLTE7CisJd2hpbGUgKCsrem9uZSA8IHpvbmVzKQorCQlpZiAoem9uZV9pbl91c2Uoem9uZSkpCisJCQlyZXR1cm4gem9uZTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgbWFrZV9iYWRfaW5vZGVfdjEoc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgbWluaXhfaW5vZGUgKiBpbm9kZSA9ICZJbm9kZVtNSU5JWF9CQURfSU5PXTsKKwlpbnQgaSxqLHpvbmU7CisJaW50IGluZD0wLGRpbmQ9MDsKKwl1bnNpZ25lZCBzaG9ydCBpbmRfYmxvY2tbTUlOSVhfQkxPQ0tfU0laRT4+MV07CisJdW5zaWduZWQgc2hvcnQgZGluZF9ibG9ja1tNSU5JWF9CTE9DS19TSVpFPj4xXTsKKworI2RlZmluZSBORVhUX0JBRCAoem9uZSA9IG5leHQoem9uZSkpCisKKwlpZiAoIWN0bC0+ZnNfYmFkX2Jsb2NrcykKKwkJcmV0dXJuOworCW1hcmtfaW5vZGUoTUlOSVhfQkFEX0lOTyk7CisJaW5vZGUtPmlfbmxpbmtzID0gMTsKKwlpbm9kZS0+aV90aW1lID0gbWtmc19taW5peF90aW1lKE5VTEwpOworCWlub2RlLT5pX21vZGUgPSBTX0lGUkVHICsgMDAwMDsKKwlpbm9kZS0+aV9zaXplID0gY3RsLT5mc19iYWRfYmxvY2tzICogTUlOSVhfQkxPQ0tfU0laRTsKKwl6b25lID0gbmV4dCgwKTsKKwlmb3IgKGk9MCA7IGk8NyA7IGkrKykgeworCQlpbm9kZS0+aV96b25lW2ldID0gem9uZTsKKwkJaWYgKCFORVhUX0JBRCkKKwkJCWdvdG8gZW5kX2JhZDsKKwl9CisJaW5vZGUtPmlfem9uZVs3XSA9IGluZCA9IGdldF9mcmVlX2Jsb2NrKGN0bCk7CisJbWVtc2V0KGluZF9ibG9jaywwLE1JTklYX0JMT0NLX1NJWkUpOworCWZvciAoaT0wIDsgaTw1MTIgOyBpKyspIHsKKwkJaW5kX2Jsb2NrW2ldID0gem9uZTsKKwkJaWYgKCFORVhUX0JBRCkKKwkJCWdvdG8gZW5kX2JhZDsKKwl9CisJaW5vZGUtPmlfem9uZVs4XSA9IGRpbmQgPSBnZXRfZnJlZV9ibG9jayhjdGwpOworCW1lbXNldChkaW5kX2Jsb2NrLDAsTUlOSVhfQkxPQ0tfU0laRSk7CisJZm9yIChpPTAgOyBpPDUxMiA7IGkrKykgeworCQl3cml0ZV9ibG9jayhjdGwsIGluZCwoY2hhciAqKSBpbmRfYmxvY2spOworCQlkaW5kX2Jsb2NrW2ldID0gaW5kID0gZ2V0X2ZyZWVfYmxvY2soY3RsKTsKKwkJbWVtc2V0KGluZF9ibG9jaywwLE1JTklYX0JMT0NLX1NJWkUpOworCQlmb3IgKGo9MCA7IGo8NTEyIDsgaisrKSB7CisJCQlpbmRfYmxvY2tbal0gPSB6b25lOworCQkJaWYgKCFORVhUX0JBRCkKKwkJCQlnb3RvIGVuZF9iYWQ7CisJCX0KKwl9CisJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIpLCBjdGwtPmRldmljZV9uYW1lKTsKK2VuZF9iYWQ6CisJaWYgKGluZCkKKwkJd3JpdGVfYmxvY2soY3RsLCBpbmQsIChjaGFyICopIGluZF9ibG9jayk7CisJaWYgKGRpbmQpCisJCXdyaXRlX2Jsb2NrKGN0bCwgZGluZCwgKGNoYXIgKikgZGluZF9ibG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIG1ha2VfYmFkX2lub2RlX3YyX3YzIChzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBtaW5peDJfaW5vZGUgKmlub2RlID0gJklub2RlMltNSU5JWF9CQURfSU5PXTsKKwlpbnQgaSwgaiwgem9uZTsKKwlpbnQgaW5kID0gMCwgZGluZCA9IDA7CisJdW5zaWduZWQgbG9uZyBpbmRfYmxvY2tbTUlOSVhfQkxPQ0tfU0laRSA+PiAyXTsKKwl1bnNpZ25lZCBsb25nIGRpbmRfYmxvY2tbTUlOSVhfQkxPQ0tfU0laRSA+PiAyXTsKKworCWlmICghY3RsLT5mc19iYWRfYmxvY2tzKQorCQlyZXR1cm47CisJbWFya19pbm9kZSAoTUlOSVhfQkFEX0lOTyk7CisJaW5vZGUtPmlfbmxpbmtzID0gMTsKKwlpbm9kZS0+aV9hdGltZSA9IGlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfY3RpbWUgPSBta2ZzX21pbml4X3RpbWUoTlVMTCk7CisJaW5vZGUtPmlfbW9kZSA9IFNfSUZSRUcgKyAwMDAwOworCWlub2RlLT5pX3NpemUgPSBjdGwtPmZzX2JhZF9ibG9ja3MgKiBNSU5JWF9CTE9DS19TSVpFOworCXpvbmUgPSBuZXh0ICgwKTsKKwlmb3IgKGkgPSAwOyBpIDwgNzsgaSsrKSB7CisJCWlub2RlLT5pX3pvbmVbaV0gPSB6b25lOworCQlpZiAoIU5FWFRfQkFEKQorCQkJZ290byBlbmRfYmFkOworCX0KKwlpbm9kZS0+aV96b25lWzddID0gaW5kID0gZ2V0X2ZyZWVfYmxvY2sgKGN0bCk7CisJbWVtc2V0IChpbmRfYmxvY2ssIDAsIE1JTklYX0JMT0NLX1NJWkUpOworCWZvciAoaSA9IDA7IGkgPCAyNTY7IGkrKykgeworCQlpbmRfYmxvY2tbaV0gPSB6b25lOworCQlpZiAoIU5FWFRfQkFEKQorCQkJZ290byBlbmRfYmFkOworCX0KKwlpbm9kZS0+aV96b25lWzhdID0gZGluZCA9IGdldF9mcmVlX2Jsb2NrIChjdGwpOworCW1lbXNldCAoZGluZF9ibG9jaywgMCwgTUlOSVhfQkxPQ0tfU0laRSk7CisJZm9yIChpID0gMDsgaSA8IDI1NjsgaSsrKSB7CisJCXdyaXRlX2Jsb2NrIChjdGwsIGluZCwgKGNoYXIgKikgaW5kX2Jsb2NrKTsKKwkJZGluZF9ibG9ja1tpXSA9IGluZCA9IGdldF9mcmVlX2Jsb2NrIChjdGwpOworCQltZW1zZXQgKGluZF9ibG9jaywgMCwgTUlOSVhfQkxPQ0tfU0laRSk7CisJCWZvciAoaiA9IDA7IGogPCAyNTY7IGorKykgeworCQkJaW5kX2Jsb2NrW2pdID0gem9uZTsKKwkJCWlmICghTkVYVF9CQUQpCisJCQkJZ290byBlbmRfYmFkOworCQl9CisJfQorCS8qIENvdWxkIG1ha2UgdHJpcGxlIGluZGlyZWN0IGJsb2NrIGhlcmUgKi8KKwllcnJ4KE1LRlNfRVhfRVJST1IsIF8oIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIiksIGN0bC0+ZGV2aWNlX25hbWUpOworIGVuZF9iYWQ6CisJaWYgKGluZCkKKwkJd3JpdGVfYmxvY2sgKGN0bCwgaW5kLCAoY2hhciAqKSBpbmRfYmxvY2spOworCWlmIChkaW5kKQorCQl3cml0ZV9ibG9jayAoY3RsLCBkaW5kLCAoY2hhciAqKSBkaW5kX2Jsb2NrKTsKK30KKworc3RhdGljIHZvaWQgbWFrZV9iYWRfaW5vZGUoc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkKK3sKKwlpZiAoZnNfdmVyc2lvbiA8IDIpIHsKKwkJbWFrZV9iYWRfaW5vZGVfdjEoY3RsKTsKKwkJcmV0dXJuOworCX0KKwltYWtlX2JhZF9pbm9kZV92Ml92MyhjdGwpOworfQorCitzdGF0aWMgdm9pZCBtYWtlX3Jvb3RfaW5vZGVfdjEoc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkgeworCXN0cnVjdCBtaW5peF9pbm9kZSAqIGlub2RlID0gJklub2RlW01JTklYX1JPT1RfSU5PXTsKKworCW1hcmtfaW5vZGUoTUlOSVhfUk9PVF9JTk8pOworCWlub2RlLT5pX3pvbmVbMF0gPSBnZXRfZnJlZV9ibG9jayhjdGwpOworCWlub2RlLT5pX25saW5rcyA9IDI7CisJaW5vZGUtPmlfdGltZSA9IG1rZnNfbWluaXhfdGltZShOVUxMKTsKKwlpZiAoY3RsLT5mc19iYWRfYmxvY2tzKQorCQlpbm9kZS0+aV9zaXplID0gMyAqIGN0bC0+ZnNfZGlyc2l6ZTsKKwllbHNlIHsKKwkJbWVtc2V0KCZyb290X2Jsb2NrWzIgKiBjdGwtPmZzX2RpcnNpemVdLCAwLCBjdGwtPmZzX2RpcnNpemUpOworCQlpbm9kZS0+aV9zaXplID0gMiAqIGN0bC0+ZnNfZGlyc2l6ZTsKKwl9CisJaW5vZGUtPmlfbW9kZSA9IFNfSUZESVIgKyAwNzU1OworCWlub2RlLT5pX3VpZCA9IGdldHVpZCgpOworCWlmIChpbm9kZS0+aV91aWQpCisJCWlub2RlLT5pX2dpZCA9IGdldGdpZCgpOworCXdyaXRlX2Jsb2NrKGN0bCwgaW5vZGUtPmlfem9uZVswXSxyb290X2Jsb2NrKTsKK30KKworc3RhdGljIHZvaWQgbWFrZV9yb290X2lub2RlX3YyX3YzIChzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKSB7CisJc3RydWN0IG1pbml4Ml9pbm9kZSAqaW5vZGUgPSAmSW5vZGUyW01JTklYX1JPT1RfSU5PXTsKKworCW1hcmtfaW5vZGUgKE1JTklYX1JPT1RfSU5PKTsKKwlpbm9kZS0+aV96b25lWzBdID0gZ2V0X2ZyZWVfYmxvY2sgKGN0bCk7CisJaW5vZGUtPmlfbmxpbmtzID0gMjsKKwlpbm9kZS0+aV9hdGltZSA9IGlub2RlLT5pX210aW1lID0gaW5vZGUtPmlfY3RpbWUgPSBta2ZzX21pbml4X3RpbWUoTlVMTCk7CisKKwlpZiAoY3RsLT5mc19iYWRfYmxvY2tzKQorCQlpbm9kZS0+aV9zaXplID0gMyAqIGN0bC0+ZnNfZGlyc2l6ZTsKKwllbHNlIHsKKwkJbWVtc2V0KCZyb290X2Jsb2NrWzIgKiBjdGwtPmZzX2RpcnNpemVdLCAwLCBjdGwtPmZzX2RpcnNpemUpOworCQlpbm9kZS0+aV9zaXplID0gMiAqIGN0bC0+ZnNfZGlyc2l6ZTsKKwl9CisKKwlpbm9kZS0+aV9tb2RlID0gU19JRkRJUiArIDA3NTU7CisJaW5vZGUtPmlfdWlkID0gZ2V0dWlkKCk7CisJaWYgKGlub2RlLT5pX3VpZCkKKwkJaW5vZGUtPmlfZ2lkID0gZ2V0Z2lkKCk7CisJd3JpdGVfYmxvY2sgKGN0bCwgaW5vZGUtPmlfem9uZVswXSwgcm9vdF9ibG9jayk7Cit9CisKK3N0YXRpYyB2b2lkIG1ha2Vfcm9vdF9pbm9kZShzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKQoreworCWNoYXIgKnRtcCA9IHJvb3RfYmxvY2s7CisKKwlpZiAoZnNfdmVyc2lvbiA9PSAzKSB7CisJCSoodWludDMyX3QgKikgdG1wID0gMTsKKwkJc3RyY3B5KHRtcCArIDQsICIuIik7CisJCXRtcCArPSBjdGwtPmZzX2RpcnNpemU7CisJCSoodWludDMyX3QgKikgdG1wID0gMTsKKwkJc3RyY3B5KHRtcCArIDQsICIuLiIpOworCQl0bXAgKz0gY3RsLT5mc19kaXJzaXplOworCQkqKHVpbnQzMl90ICopIHRtcCA9IDI7CisJCXN0cmNweSh0bXAgKyA0LCAiLmJhZGJsb2NrcyIpOworCX0gZWxzZSB7CisJCSoodWludDE2X3QgKikgdG1wID0gMTsKKwkJc3RyY3B5KHRtcCArIDIsICIuIik7CisJCXRtcCArPSBjdGwtPmZzX2RpcnNpemU7CisJCSoodWludDE2X3QgKikgdG1wID0gMTsKKwkJc3RyY3B5KHRtcCArIDIsICIuLiIpOworCQl0bXAgKz0gY3RsLT5mc19kaXJzaXplOworCQkqKHVpbnQxNl90ICopIHRtcCA9IDI7CisJCXN0cmNweSh0bXAgKyAyLCAiLmJhZGJsb2NrcyIpOworCX0KKwlpZiAoZnNfdmVyc2lvbiA8IDIpIHsKKwkJbWFrZV9yb290X2lub2RlX3YxKGN0bCk7CisJCXJldHVybjsKKwl9CisJbWFrZV9yb290X2lub2RlX3YyX3YzKGN0bCk7Cit9CisKK3N0YXRpYyB2b2lkIHN1cGVyX3NldF9uem9uZXMoY29uc3Qgc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDM6CisJCVN1cGVyMy5zX3pvbmVzID0gY3RsLT5mc19ibG9ja3M7CisJCWJyZWFrOworCWNhc2UgMjoKKwkJU3VwZXIuc196b25lcyA9IGN0bC0+ZnNfYmxvY2tzOworCQlicmVhazsKKwlkZWZhdWx0OiAvKiB2MSAqLworCQlTdXBlci5zX256b25lcyA9IGN0bC0+ZnNfYmxvY2tzOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHN1cGVyX2luaXRfbWF4c2l6ZSh2b2lkKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMzoKKwkJU3VwZXIzLnNfbWF4X3NpemUgPSAyMTQ3NDgzNjQ3TDsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQlTdXBlci5zX21heF9zaXplID0gIDB4N2ZmZmZmZmY7CisJCWJyZWFrOworCWRlZmF1bHQ6IC8qIHYxICovCisJCVN1cGVyLnNfbWF4X3NpemUgPSAoNys1MTIrNTEyKjUxMikqMTAyNDsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBzdXBlcl9zZXRfbWFwX2Jsb2Nrcyhjb25zdCBzdHJ1Y3QgZnNfY29udHJvbCAqY3RsLCB1bnNpZ25lZCBsb25nIGlub2RlcykKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDM6CisJCVN1cGVyMy5zX2ltYXBfYmxvY2tzID0gVVBQRVIoaW5vZGVzICsgMSwgQklUU19QRVJfQkxPQ0spOworCQlTdXBlcjMuc196bWFwX2Jsb2NrcyA9IFVQUEVSKGN0bC0+ZnNfYmxvY2tzIC0gKDEgKyBnZXRfbmltYXBzKCkgKyBpbm9kZV9ibG9ja3MoKSksCisJCQkJCSAgICAgQklUU19QRVJfQkxPQ0sgKyAxKTsKKwkJU3VwZXIzLnNfZmlyc3RkYXRhem9uZSA9IGZpcnN0X3pvbmVfZGF0YSgpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlTdXBlci5zX2ltYXBfYmxvY2tzID0gVVBQRVIoaW5vZGVzICsgMSwgQklUU19QRVJfQkxPQ0spOworCQlTdXBlci5zX3ptYXBfYmxvY2tzID0gVVBQRVIoY3RsLT5mc19ibG9ja3MgLSAoMSArIGdldF9uaW1hcHMoKSArIGlub2RlX2Jsb2NrcygpKSwKKwkJCQkJICAgICBCSVRTX1BFUl9CTE9DSyArIDEpOworCQlTdXBlci5zX2ZpcnN0ZGF0YXpvbmUgPSBmaXJzdF96b25lX2RhdGEoKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBzdXBlcl9zZXRfbWFnaWMoY29uc3Qgc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDM6CisJCVN1cGVyMy5zX21hZ2ljID0gY3RsLT5mc19tYWdpYzsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJU3VwZXIuc19tYWdpYyA9IGN0bC0+ZnNfbWFnaWM7CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHZvaWQgc2V0dXBfdGFibGVzKGNvbnN0IHN0cnVjdCBmc19jb250cm9sICpjdGwpIHsKKwl1bnNpZ25lZCBsb25nIGlub2Rlcywgem1hcHMsIGltYXBzLCB6b25lcywgaTsKKworCXN1cGVyX2Jsb2NrX2J1ZmZlciA9IHhjYWxsb2MoMSwgTUlOSVhfQkxPQ0tfU0laRSk7CisKKwltZW1zZXQoYm9vdF9ibG9ja19idWZmZXIsMCw1MTIpOworCXN1cGVyX3NldF9tYWdpYyhjdGwpOworCisJaWYgKGZzX3ZlcnNpb24gPT0gMykgeworCQlTdXBlcjMuc19sb2dfem9uZV9zaXplID0gMDsKKwkJU3VwZXIzLnNfYmxvY2tzaXplID0gTUlOSVhfQkxPQ0tfU0laRTsKKwl9CisJZWxzZSB7CisJCVN1cGVyLnNfbG9nX3pvbmVfc2l6ZSA9IDA7CisJfQorCisJc3VwZXJfaW5pdF9tYXhzaXplKCk7CisJc3VwZXJfc2V0X256b25lcyhjdGwpOworCXpvbmVzID0gZ2V0X256b25lcygpOworCisJLyogc29tZSBtYWdpYyBucnM6IDEgaW5vZGUgLyAzIGJsb2NrcyBmb3Igc21hbGxlciBmaWxlc3lzdGVtcywKKwkgKiBmb3Igb25lIGlub2RlIC8gMTYgYmxvY2tzIGZvciBsYXJnZSBvbmVzLiBta2ZzIHdpbGwgZXZlbnR1YWxseQorCSAqIGNyYWIgYWJvdXQgdG9vIGZhciB3aGVuIGdldHRpbmcgY2xvc2UgdG8gdGhlIG1heGltdW0gc2l6ZS4gKi8KKwlpZiAoY3RsLT5mc19pbm9kZXMgPT0gMCkKKwkJaWYgKDIwNDggKiAxMDI0IDwgY3RsLT5mc19ibG9ja3MpCS8qIDJHQiAqLworCQkJaW5vZGVzID0gY3RsLT5mc19ibG9ja3MgLyAxNjsKKwkJZWxzZSBpZiAoNTEyICogMTAyNCA8IGN0bC0+ZnNfYmxvY2tzKQkvKiAwLjVHQiAqLworCQkJaW5vZGVzID0gY3RsLT5mc19ibG9ja3MgLyA4OworCQllbHNlCisJCQlpbm9kZXMgPSBjdGwtPmZzX2Jsb2NrcyAvIDM7CisJZWxzZQorCQlpbm9kZXMgPSBjdGwtPmZzX2lub2RlczsKKwkvKiBSb3VuZCB1cCBpbm9kZSBjb3VudCB0byBmaWxsIGJsb2NrIHNpemUgKi8KKwlpZiAoZnNfdmVyc2lvbiA9PSAyIHx8IGZzX3ZlcnNpb24gPT0gMykKKwkJaW5vZGVzID0gKChpbm9kZXMgKyBNSU5JWDJfSU5PREVTX1BFUl9CTE9DSyAtIDEpICYKKwkJCSAgfihNSU5JWDJfSU5PREVTX1BFUl9CTE9DSyAtIDEpKTsKKwllbHNlCisJCWlub2RlcyA9ICgoaW5vZGVzICsgTUlOSVhfSU5PREVTX1BFUl9CTE9DSyAtIDEpICYKKwkJCSAgfihNSU5JWF9JTk9ERVNfUEVSX0JMT0NLIC0gMSkpOworCisJaWYgKGZzX3ZlcnNpb24gPT0gMykKKwkJU3VwZXIzLnNfbmlub2RlcyA9IGlub2RlczsKKwllbHNlIHsKKwkJaWYgKGlub2RlcyA+IE1JTklYX01BWF9JTk9ERVMpCisJCQlpbm9kZXMgPSBNSU5JWF9NQVhfSU5PREVTOworCQlTdXBlci5zX25pbm9kZXMgPSBpbm9kZXM7CisJfQorCXN1cGVyX3NldF9tYXBfYmxvY2tzKGN0bCwgaW5vZGVzKTsKKwlpZiAoTUlOSVhfTUFYX0lOT0RFUyA8IGZpcnN0X3pvbmVfZGF0YSgpKQorCQllcnJ4KE1LRlNfRVhfRVJST1IsCisJCSAgICAgXygiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisJCSAgICAgICAiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iKSwKKwkJICAgICAoaW50bWF4X3QpZmlyc3Rfem9uZV9kYXRhKCksCisJCSAgICAgTUlOSVhfTUFYX0lOT0RFUyk7CisJaW1hcHMgPSBnZXRfbmltYXBzKCk7CisJem1hcHMgPSBnZXRfbnptYXBzKCk7CisKKwlpbm9kZV9tYXAgPSB4bWFsbG9jKGltYXBzICogTUlOSVhfQkxPQ0tfU0laRSk7CisJem9uZV9tYXAgPSB4bWFsbG9jKHptYXBzICogTUlOSVhfQkxPQ0tfU0laRSk7CisJbWVtc2V0KGlub2RlX21hcCwweGZmLGltYXBzICogTUlOSVhfQkxPQ0tfU0laRSk7CisJbWVtc2V0KHpvbmVfbWFwLDB4ZmYsem1hcHMgKiBNSU5JWF9CTE9DS19TSVpFKTsKKworCWZvciAoaSA9IGdldF9maXJzdF96b25lKCkgOyBpPHpvbmVzIDsgaSsrKQorCQl1bm1hcmtfem9uZShpKTsKKwlmb3IgKGkgPSBNSU5JWF9ST09UX0lOTyA7IGk8PWlub2RlczsgaSsrKQorCQl1bm1hcmtfaW5vZGUoaSk7CisKKwlpbm9kZV9idWZmZXIgPSB4bWFsbG9jKGdldF9pbm9kZV9idWZmZXJfc2l6ZSgpKTsKKwltZW1zZXQoaW5vZGVfYnVmZmVyLDAsIGdldF9pbm9kZV9idWZmZXJfc2l6ZSgpKTsKKworCXByaW50ZihQXygiJWx1IGlub2RlXG4iLCAiJWx1IGlub2Rlc1xuIiwgaW5vZGVzKSwgaW5vZGVzKTsKKwlwcmludGYoUF8oIiVsdSBibG9ja1xuIiwgIiVsdSBibG9ja3NcbiIsIHpvbmVzKSwgem9uZXMpOworCXByaW50ZihfKCJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIiksCisJCShpbnRtYXhfdClnZXRfZmlyc3Rfem9uZSgpLCAoaW50bWF4X3QpZmlyc3Rfem9uZV9kYXRhKCkpOworCXByaW50ZihfKCJab25lc2l6ZT0lenVcbiIpLCAoc2l6ZV90KSBNSU5JWF9CTE9DS19TSVpFIDw8IGdldF96b25lX3NpemUoKSk7CisJcHJpbnRmKF8oIk1heHNpemU9JXp1XG5cbiIpLGdldF9tYXhfc2l6ZSgpKTsKK30KKworLyoKKyAqIFBlcmZvcm0gYSB0ZXN0IG9mIGEgYmxvY2s7IHJldHVybiB0aGUgbnVtYmVyIG9mCisgKiBibG9ja3MgcmVhZGFibGUvd3JpdGFibGUuCisgKi8KK3N0YXRpYyBzaXplX3QgZG9fY2hlY2soY29uc3Qgc3RydWN0IGZzX2NvbnRyb2wgKmN0bCwgY2hhciAqIGJ1ZmZlciwgaW50IHRyeSwgdW5zaWduZWQgaW50IGN1cnJlbnRfYmxvY2spIHsKKwlzc2l6ZV90IGdvdDsKKwkKKwkvKiBTZWVrIHRvIHRoZSBjb3JyZWN0IGxvYy4gKi8KKwlpZiAobHNlZWsoY3RsLT5kZXZpY2VfZmQsIGN1cnJlbnRfYmxvY2sgKiBNSU5JWF9CTE9DS19TSVpFLCBTRUVLX1NFVCkgIT0KKwkJICAgICAgIGN1cnJlbnRfYmxvY2sgKiBNSU5JWF9CTE9DS19TSVpFICkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiKSwKKwkJCQljdGwtPmRldmljZV9uYW1lKTsKKworCS8qIFRyeSB0aGUgcmVhZCAqLworCWdvdCA9IHJlYWQoY3RsLT5kZXZpY2VfZmQsIGJ1ZmZlciwgdHJ5ICogTUlOSVhfQkxPQ0tfU0laRSk7CisJaWYgKGdvdCA8IDApIGdvdCA9IDA7CQorCWlmIChnb3QgJiAoTUlOSVhfQkxPQ0tfU0laRSAtIDEgKSkgeworCQlwcmludGYoXygiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iKSk7CisJfQorCWdvdCAvPSBNSU5JWF9CTE9DS19TSVpFOworCXJldHVybiBnb3Q7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgY3VycmVudGx5X3Rlc3RpbmcgPSAwOworCitzdGF0aWMgdm9pZCBhbGFybV9pbnRyKGludCBhbG51bSBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKSB7CisJdW5zaWduZWQgbG9uZyB6b25lcyA9IGdldF9uem9uZXMoKTsKKworCWlmIChjdXJyZW50bHlfdGVzdGluZyA+PSB6b25lcykKKwkJcmV0dXJuOworCXNpZ25hbChTSUdBTFJNLGFsYXJtX2ludHIpOworCWFsYXJtKDUpOworCWlmICghY3VycmVudGx5X3Rlc3RpbmcpCisJCXJldHVybjsKKwlwcmludGYoIiVkIC4uLiIsIGN1cnJlbnRseV90ZXN0aW5nKTsKKwlmZmx1c2goc3Rkb3V0KTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfYmxvY2tzKHN0cnVjdCBmc19jb250cm9sICpjdGwpIHsKKwlzaXplX3QgdHJ5LCBnb3Q7CisJc3RhdGljIGNoYXIgYnVmZmVyW01JTklYX0JMT0NLX1NJWkUgKiBURVNUX0JVRkZFUl9CTE9DS1NdOworCXVuc2lnbmVkIGxvbmcgem9uZXMgPSBnZXRfbnpvbmVzKCk7CisJdW5zaWduZWQgbG9uZyBmaXJzdF96b25lID0gZ2V0X2ZpcnN0X3pvbmUoKTsKKworCWN1cnJlbnRseV90ZXN0aW5nPTA7CisJc2lnbmFsKFNJR0FMUk0sYWxhcm1faW50cik7CisJYWxhcm0oNSk7CisJd2hpbGUgKGN1cnJlbnRseV90ZXN0aW5nIDwgem9uZXMpIHsKKwkJaWYgKGxzZWVrKGN0bC0+ZGV2aWNlX2ZkLCBjdXJyZW50bHlfdGVzdGluZyAqIE1JTklYX0JMT0NLX1NJWkUsU0VFS19TRVQpICE9CisJCSAgICBjdXJyZW50bHlfdGVzdGluZypNSU5JWF9CTE9DS19TSVpFKQorCQkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIiksCisJCQkJCWN0bC0+ZGV2aWNlX25hbWUpOworCQl0cnkgPSBURVNUX0JVRkZFUl9CTE9DS1M7CisJCWlmIChjdXJyZW50bHlfdGVzdGluZyArIHRyeSA+IHpvbmVzKQorCQkJdHJ5ID0gem9uZXMtY3VycmVudGx5X3Rlc3Rpbmc7CisJCWdvdCA9IGRvX2NoZWNrKGN0bCwgYnVmZmVyLCB0cnksIGN1cnJlbnRseV90ZXN0aW5nKTsKKwkJY3VycmVudGx5X3Rlc3RpbmcgKz0gZ290OworCQlpZiAoZ290ID09IHRyeSkKKwkJCWNvbnRpbnVlOworCQlpZiAoY3VycmVudGx5X3Rlc3RpbmcgPCBmaXJzdF96b25lKQorCQkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiAiCisJCQkJCSJjYW5ub3QgbWFrZSBmcyIpLCBjdGwtPmRldmljZV9uYW1lKTsKKwkJbWFya196b25lKGN1cnJlbnRseV90ZXN0aW5nKTsKKwkJY3RsLT5mc19iYWRfYmxvY2tzKys7CisJCWN1cnJlbnRseV90ZXN0aW5nKys7CisJfQorCWlmIChjdGwtPmZzX2JhZF9ibG9ja3MgPiAwKQorCQlwcmludGYoUF8oIiVkIGJhZCBibG9ja1xuIiwgIiVkIGJhZCBibG9ja3NcbiIsIGN0bC0+ZnNfYmFkX2Jsb2NrcyksIGN0bC0+ZnNfYmFkX2Jsb2Nrcyk7Cit9CisKK3N0YXRpYyB2b2lkIGdldF9saXN0X2Jsb2NrcyhzdHJ1Y3QgZnNfY29udHJvbCAqY3RsLCBjaGFyICpmaWxlbmFtZSkgeworCUZJTEUgKmxpc3RmaWxlOworCXVuc2lnbmVkIGxvbmcgYmxvY2tubzsKKworCWxpc3RmaWxlID0gZm9wZW4oZmlsZW5hbWUsInIiKTsKKwlpZiAobGlzdGZpbGUgPT0gTlVMTCkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIpLAorCQkJCWN0bC0+ZGV2aWNlX25hbWUpOworCisJd2hpbGUgKCFmZW9mKGxpc3RmaWxlKSkgeworCQlpZiAoZnNjYW5mKGxpc3RmaWxlLCIlbHVcbiIsICZibG9ja25vKSAhPSAxKSB7CisJCQlwcmludGYoXygiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIpLCBjdGwtPmZzX2JhZF9ibG9ja3MgKyAxKTsKKwkJCWVycngoTUtGU19FWF9FUlJPUiwgXygiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIiksCisJCQkJCWN0bC0+ZGV2aWNlX25hbWUpOworCQl9CisJCW1hcmtfem9uZShibG9ja25vKTsKKwkJY3RsLT5mc19iYWRfYmxvY2tzKys7CisJfQorCWZjbG9zZShsaXN0ZmlsZSk7CisKKwlpZiAoY3RsLT5mc19iYWRfYmxvY2tzID4gMCkKKwkJcHJpbnRmKFBfKCIlZCBiYWQgYmxvY2tcbiIsICIlZCBiYWQgYmxvY2tzXG4iLCBjdGwtPmZzX2JhZF9ibG9ja3MpLCBjdGwtPmZzX2JhZF9ibG9ja3MpOworfQorCitzdGF0aWMgaW50IGZpbmRfc3VwZXJfbWFnaWMoY29uc3Qgc3RydWN0IGZzX2NvbnRyb2wgKmN0bCkKK3sKKwlzd2l0Y2ggKGZzX3ZlcnNpb24pIHsKKwljYXNlIDE6CisJCWlmIChjdGwtPmZzX25hbWVsZW4gPT0gMTQpCisJCQlyZXR1cm4gTUlOSVhfU1VQRVJfTUFHSUM7CisJCXJldHVybiBNSU5JWF9TVVBFUl9NQUdJQzI7CisJY2FzZSAyOgorCQlpZiAoY3RsLT5mc19uYW1lbGVuID09IDE0KQorCQkJcmV0dXJuIE1JTklYMl9TVVBFUl9NQUdJQzsKKwkJcmV0dXJuIE1JTklYMl9TVVBFUl9NQUdJQzI7CisJY2FzZSAzOgorCQlyZXR1cm4gTUlOSVgzX1NVUEVSX01BR0lDOworCWRlZmF1bHQ6CisJCWFib3J0KCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBkZXRlcm1pbmVfZGV2aWNlX2Jsb2NrcyhzdHJ1Y3QgZnNfY29udHJvbCAqY3RsLCBjb25zdCBzdHJ1Y3Qgc3RhdCAqc3RhdGJ1ZikKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgZGV2X2Jsb2NrczsKKworCWlmIChTX0lTQkxLKHN0YXRidWYtPnN0X21vZGUpKSB7CisJCWludCBzZWN0b3JzaXplOworCisJCWlmIChibGtkZXZfZ2V0X3NlY3Rvcl9zaXplKGN0bC0+ZGV2aWNlX2ZkLCAmc2VjdG9yc2l6ZSkgPT0gLTEpCisJCQlzZWN0b3JzaXplID0gREVGQVVMVF9TRUNUT1JfU0laRTsJLyoga2VybmVsIDwgMi4zLjMgKi8KKwkJaWYgKE1JTklYX0JMT0NLX1NJWkUgPCBzZWN0b3JzaXplKQorCQkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCAiCisJCQkJCSAgICAgICJzZWN0b3Igc2l6ZSBvZiAlcyIpLCBjdGwtPmRldmljZV9uYW1lKTsKKwkJaWYgKGJsa2Rldl9nZXRfc2l6ZShjdGwtPmRldmljZV9mZCwgJmRldl9ibG9ja3MpID09IC0xKQorCQkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiKSwgY3RsLT5kZXZpY2VfbmFtZSk7CisJCWRldl9ibG9ja3MgLz0gTUlOSVhfQkxPQ0tfU0laRTsKKwl9IGVsc2UgaWYgKCFTX0lTQkxLKHN0YXRidWYtPnN0X21vZGUpKQorCQlkZXZfYmxvY2tzID0gc3RhdGJ1Zi0+c3Rfc2l6ZSAvIE1JTklYX0JMT0NLX1NJWkU7CisJaWYgKCFjdGwtPmZzX2Jsb2NrcykKKwkJY3RsLT5mc19ibG9ja3MgPSBkZXZfYmxvY2tzOworCWVsc2UgaWYgKGRldl9ibG9ja3MgPCBjdGwtPmZzX2Jsb2NrcykKKwkJZXJyeChNS0ZTX0VYX0VSUk9SLAorCQkgICAgIF8oIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iKSwKKwkJICAgICBjdGwtPmRldmljZV9uYW1lLCBjdGwtPmZzX2Jsb2NrcywgZGV2X2Jsb2Nrcyk7CisJaWYgKGN0bC0+ZnNfYmxvY2tzIDwgMTApCisJCWVycngoTUtGU19FWF9FUlJPUiwgXygiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIiksIGN0bC0+ZGV2aWNlX25hbWUpOworCWlmIChmc192ZXJzaW9uID09IDEgJiYgY3RsLT5mc19ibG9ja3MgPiBNSU5JWF9NQVhfSU5PREVTKQorCQljdGwtPmZzX2Jsb2NrcyA9IE1JTklYX01BWF9JTk9ERVM7CisJaWYgKGN0bC0+ZnNfYmxvY2tzID4gKDQgKyAoKE1JTklYX01BWF9JTk9ERVMgLSA0KSAqIEJJVFNfUEVSX0JMT0NLKSkpCisJCWN0bC0+ZnNfYmxvY2tzID0gNCArICgoTUlOSVhfTUFYX0lOT0RFUyAtIDQpICogQklUU19QRVJfQkxPQ0spOwkvKiBVdHRlciBtYXhpbXVtOiBDbGlwLiAqLworfQorCitzdGF0aWMgdm9pZCBjaGVja191c2VyX2luc3RydWN0aW9ucyhzdHJ1Y3QgZnNfY29udHJvbCAqY3RsKQoreworCXN3aXRjaCAoZnNfdmVyc2lvbikgeworCWNhc2UgMToKKwljYXNlIDI6CisJCWlmIChjdGwtPmZzX25hbWVsZW4gPT0gMTQgfHwgY3RsLT5mc19uYW1lbGVuID09IDMwKQorCQkJY3RsLT5mc19kaXJzaXplID0gY3RsLT5mc19uYW1lbGVuICsgMjsKKwkJZWxzZQorCQkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiKSwgY3RsLT5mc19uYW1lbGVuKTsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQlpZiAoY3RsLT5mc19uYW1lbGVuID09IDYwKQorCQkJY3RsLT5mc19kaXJzaXplID0gY3RsLT5mc19uYW1lbGVuICsgNDsKKwkJZWxzZQorCQkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiKSwgY3RsLT5mc19uYW1lbGVuKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJyeChNS0ZTX0VYX0VSUk9SLCBfKCJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIpLCBmc192ZXJzaW9uKTsKKwl9CisJY3RsLT5mc19tYWdpYyA9IGZpbmRfc3VwZXJfbWFnaWMoY3RsKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiogYXJndikKK3sKKwlzdHJ1Y3QgZnNfY29udHJvbCBjdGwgPSB7CisJCS5mc19uYW1lbGVuID0gMzAsCS8qIGtlZXAgaW4gc3luYyB3aXRoIERFRkFVTFRfRlNfVkVSU0lPTiAqLworCQkwCisJfTsKKwlpbnQgaTsKKwlzdHJ1Y3Qgc3RhdCBzdGF0YnVmOworCWNoYXIgKiBsaXN0ZmlsZSA9IE5VTEw7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJuYW1lbGVuZ3RoIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsiaW5vZGVzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdpJ30sCisJCXsiY2hlY2siLCBub19hcmd1bWVudCwgTlVMTCwgJ2MnfSwKKwkJeyJiYWRibG9ja3MiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2wnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXN0cnV0aWxzX3NldF9leGl0Y29kZShNS0ZTX0VYX1VTQUdFKTsKKworCXdoaWxlICgoaSA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICIxdjIzbjppOmNsOlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChpKSB7CisJCWNhc2UgJzEnOgorCQkJZnNfdmVyc2lvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndic6IC8qIGtlcHQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5ICovCisJCQl3YXJueChfKCItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiKSk7CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCQljYXNlICcyJzoKKwkJCWZzX3ZlcnNpb24gPSAyOworCQkJYnJlYWs7CisJCWNhc2UgJzMnOgorCQkJZnNfdmVyc2lvbiA9IDM7CisJCQljdGwuZnNfbmFtZWxlbiA9IDYwOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJY3RsLmZzX25hbWVsZW4gPSBzdHJ0b3UxNl9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2knOgorCQkJY3RsLmZzX2lub2RlcyA9IHN0cnRvdWxfb3JfZXJyKG9wdGFyZywKKwkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQljdGwuY2hlY2tfYmxvY2tzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWxpc3RmaWxlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gTUtGU19FWF9PSzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChNS0ZTX0VYX1VTQUdFKTsKKwkJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCWlmIChhcmdjID4gMCkgeworCQljdGwuZGV2aWNlX25hbWUgPSBhcmd2WzBdOworCQlhcmdjLS07CisJCWFyZ3YrKzsKKwl9CisJaWYgKGFyZ2MgPiAwKQorCQljdGwuZnNfYmxvY2tzID0gc3RydG91bF9vcl9lcnIoYXJndlswXSwgXygiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiKSk7CisKKwlpZiAoIWN0bC5kZXZpY2VfbmFtZSkgeworCQl3YXJueChfKCJubyBkZXZpY2Ugc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKE1LRlNfRVhfVVNBR0UpOworCX0KKwljaGVja191c2VyX2luc3RydWN0aW9ucygmY3RsKTsKKwlpZiAoaXNfbW91bnRlZChjdGwuZGV2aWNlX25hbWUpKQorCQllcnJ4KE1LRlNfRVhfRVJST1IsIF8oIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIiksCisJCQljdGwuZGV2aWNlX25hbWUpOworCWlmIChzdGF0KGN0bC5kZXZpY2VfbmFtZSwgJnN0YXRidWYpIDwgMCkKKwkJZXJyKE1LRlNfRVhfRVJST1IsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGN0bC5kZXZpY2VfbmFtZSk7CisJY3RsLmRldmljZV9mZCA9IG9wZW5fYmxrZGV2X29yX2ZpbGUoJnN0YXRidWYsIGN0bC5kZXZpY2VfbmFtZSwgT19SRFdSKTsKKwlpZiAoY3RsLmRldmljZV9mZCA8IDApCisJCWVycihNS0ZTX0VYX0VSUk9SLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBjdGwuZGV2aWNlX25hbWUpOworCWRldGVybWluZV9kZXZpY2VfYmxvY2tzKCZjdGwsICZzdGF0YnVmKTsKKwlzZXR1cF90YWJsZXMoJmN0bCk7CisJaWYgKGN0bC5jaGVja19ibG9ja3MpCisJCWNoZWNrX2Jsb2NrcygmY3RsKTsKKwllbHNlIGlmIChsaXN0ZmlsZSkKKwkJZ2V0X2xpc3RfYmxvY2tzKCZjdGwsIGxpc3RmaWxlKTsKKworCW1ha2Vfcm9vdF9pbm9kZSgmY3RsKTsKKwltYWtlX2JhZF9pbm9kZSgmY3RsKTsKKworCW1hcmtfZ29vZF9ibG9ja3MoJmN0bCk7CisJd3JpdGVfdGFibGVzKCZjdGwpOworCWlmIChjbG9zZV9mZChjdGwuZGV2aWNlX2ZkKSAhPSAwKQorCQllcnIoTUtGU19FWF9FUlJPUiwgXygid3JpdGUgZmFpbGVkIikpOworCisJcmV0dXJuIE1LRlNfRVhfT0s7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL21rc3dhcC44IGIvZGlzay11dGlscy9ta3N3YXAuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNmFiODUzCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9ta3N3YXAuOApAQCAtMCwwICsxLDE1NCBAQAorLlwiIENvcHlyaWdodCAxOTk4IEFuZHJpZXMgRS4gQnJvdXdlciAoYWViQGN3aS5ubCkKKy5cIgorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5cIgorLlRIIE1LU1dBUCA4ICJNYXJjaCAyMDA5IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitta3N3YXAgXC0gc2V0IHVwIGEgTGludXggc3dhcCBhcmVhCisuU0ggU1lOT1BTSVMKKy5CIG1rc3dhcAorW29wdGlvbnNdCisuSSBkZXZpY2UKKy5SSSBbIHNpemUgXQorLlNIIERFU0NSSVBUSU9OCisuQiBta3N3YXAKK3NldHMgdXAgYSBMaW51eCBzd2FwIGFyZWEgb24gYSBkZXZpY2Ugb3IgaW4gYSBmaWxlLgorCitUaGUKKy5JIGRldmljZQorYXJndW1lbnQgd2lsbCB1c3VhbGx5IGJlIGEgZGlzayBwYXJ0aXRpb24gKHNvbWV0aGluZyBsaWtlCisuSVIgL2Rldi9zZGI3ICkKK2J1dCBjYW4gYWxzbyBiZSBhIGZpbGUuCitUaGUgTGludXgga2VybmVsIGRvZXMgbm90IGxvb2sgYXQgcGFydGl0aW9uIElEcywgYnV0CittYW55IGluc3RhbGxhdGlvbiBzY3JpcHRzIHdpbGwgYXNzdW1lIHRoYXQgcGFydGl0aW9ucworb2YgaGV4IHR5cGUgODIgKExJTlVYX1NXQVApIGFyZSBtZWFudCB0byBiZSBzd2FwIHBhcnRpdGlvbnMuCisoXGZCV2FybmluZzogU29sYXJpcyBhbHNvIHVzZXMgdGhpcyB0eXBlLiAgQmUgY2FyZWZ1bCBub3QgdG8ga2lsbAoreW91ciBTb2xhcmlzIHBhcnRpdGlvbnMuXGZQKQorCitUaGUKKy5JIHNpemUKK3BhcmFtZXRlciBpcyBzdXBlcmZsdW91cyBidXQgcmV0YWluZWQgZm9yIGJhY2t3YXJkcyBjb21wYXRpYmlsaXR5LgorKEl0IHNwZWNpZmllcyB0aGUgZGVzaXJlZCBzaXplIG9mIHRoZSBzd2FwIGFyZWEgaW4gMTAyNC1ieXRlIGJsb2Nrcy4KKy5CIG1rc3dhcAord2lsbCB1c2UgdGhlIGVudGlyZSBwYXJ0aXRpb24gb3IgZmlsZSBpZiBpdCBpcyBvbWl0dGVkLgorU3BlY2lmeWluZyBpdCBpcyB1bndpc2UgXChlbiBhIHR5cG8gbWF5IGRlc3Ryb3kgeW91ciBkaXNrLikKKworQWZ0ZXIgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYSwgeW91IG5lZWQgdGhlCisuQiBzd2Fwb24KK2NvbW1hbmQgdG8gc3RhcnQgdXNpbmcgaXQuICBVc3VhbGx5IHN3YXAgYXJlYXMgYXJlIGxpc3RlZCBpbgorLkkgL2V0Yy9mc3RhYgorc28gdGhhdCB0aGV5IGNhbiBiZSB0YWtlbiBpbnRvIHVzZSBhdCBib290IHRpbWUgYnkgYQorLkIgc3dhcG9uIFwtYQorY29tbWFuZCBpbiBzb21lIGJvb3Qgc2NyaXB0LgorCisuU0ggV0FSTklORworVGhlIHN3YXAgaGVhZGVyIGRvZXMgbm90IHRvdWNoIHRoZSBmaXJzdCBibG9jay4gIEEgYm9vdCBsb2FkZXIgb3IgZGlzayBsYWJlbAorY2FuIGJlIHRoZXJlLCBidXQgaXQgaXMgbm90IGEgcmVjb21tZW5kZWQgc2V0dXAuICBUaGUgcmVjb21tZW5kZWQgc2V0dXAgaXMgdG8KK3VzZSBhIHNlcGFyYXRlIHBhcnRpdGlvbiBmb3IgYSBMaW51eCBzd2FwIGFyZWEuCisKKy5CUiBta3N3YXAgLAorbGlrZSBtYW55IG90aGVycyBta2ZzLWxpa2UgdXRpbHMsCisuQiBlcmFzZXMgdGhlIGZpcnN0IHBhcnRpdGlvbiBibG9jayB0byBtYWtlIGFueSBwcmV2aW91cyBmaWxlc3lzdGVtIGludmlzaWJsZS4KKworSG93ZXZlciwKKy5CIG1rc3dhcAorcmVmdXNlcyB0byBlcmFzZSB0aGUgZmlyc3QgYmxvY2sgb24gYSBkZXZpY2Ugd2l0aCBhIGRpc2sKK2xhYmVsIChTVU4sIEJTRCwgXCYuLi5cJikuCisKKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWMgLCAiIFwtXC1jaGVjayIKK0NoZWNrIHRoZSBkZXZpY2UgKGlmIGl0IGlzIGEgYmxvY2sgZGV2aWNlKSBmb3IgYmFkIGJsb2NrcworYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWEuCitJZiBhbnkgYmFkIGJsb2NrcyBhcmUgZm91bmQsIHRoZSBjb3VudCBpcyBwcmludGVkLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZm9yY2UiCitHbyBhaGVhZCBldmVuIGlmIHRoZSBjb21tYW5kIGlzIHN0dXBpZC4KK1RoaXMgYWxsb3dzIHRoZSBjcmVhdGlvbiBvZiBhIHN3YXAgYXJlYSBsYXJnZXIgdGhhbiB0aGUgZmlsZQorb3IgcGFydGl0aW9uIGl0IHJlc2lkZXMgb24uCisKK0Fsc28sIHdpdGhvdXQgdGhpcyBvcHRpb24sCisuQiBta3N3YXAKK3dpbGwgcmVmdXNlIHRvIGVyYXNlIHRoZSBmaXJzdCBibG9jayBvbiBhIGRldmljZSB3aXRoIGEgcGFydGl0aW9uIHRhYmxlLgorLlRQCisuQlIgXC1MICwgIiBcLVwtbGFiZWwgIiBcZklsYWJlbFxmUgorU3BlY2lmeSBhIFxmSWxhYmVsXGZSIGZvciB0aGUgZGV2aWNlLCB0byBhbGxvdworLkIgc3dhcG9uCitieSBsYWJlbC4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXBhZ2VzaXplICIgXGZJc2l6ZVxmUgorU3BlY2lmeSB0aGUgcGFnZSBcZklzaXplXGZSIChpbiBieXRlcykgdG8gdXNlLiAgVGhpcyBvcHRpb24gaXMgdXN1YWxseSB1bm5lY2Vzc2FyeTsKKy5CIG1rc3dhcAorcmVhZHMgdGhlIHNpemUgZnJvbSB0aGUga2VybmVsLgorLlRQCisuQlIgXC1VICwgIiBcLVwtdXVpZCAiIFxmSVVVSURcZlIKK1NwZWNpZnkgdGhlIFxmSVVVSURcZlIgdG8gdXNlLiAgVGhlIGRlZmF1bHQgaXMgdG8gZ2VuZXJhdGUgYSBVVUlELgorLlRQCisuQlIgXC12ICwgIiBcLVwtc3dhcHZlcnNpb24gMSIKK1NwZWNpZnkgdGhlIHN3YXAtc3BhY2UgdmVyc2lvbi4gIChUaGlzIG9wdGlvbiBpcyBjdXJyZW50bHkgcG9pbnRsZXNzLCBhcyB0aGUgb2xkCisuQiBcLXYgMAorb3B0aW9uIGhhcyBiZWNvbWUgb2Jzb2xldGUgYW5kIG5vdyBvbmx5CisuQiBcLXYgMQoraXMgc3VwcG9ydGVkLgorVGhlIGtlcm5lbCBoYXMgbm90IHN1cHBvcnRlZCB2MCBzd2FwLXNwYWNlIGZvcm1hdCBzaW5jZSAyLjUuMjIgKEp1bmUgMjAwMikuCitUaGUgbmV3IHZlcnNpb24gdjEgaXMgc3VwcG9ydGVkIHNpbmNlIDIuMS4xMTcgKEF1Z3VzdCAxOTk4KS4pCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorCisuU0ggTk9URVMKK1RoZSBtYXhpbXVtIHVzZWZ1bCBzaXplIG9mIGEgc3dhcCBhcmVhIGRlcGVuZHMgb24gdGhlIGFyY2hpdGVjdHVyZSBhbmQKK3RoZSBrZXJuZWwgdmVyc2lvbi4KKworVGhlIG1heGltdW0gbnVtYmVyIG9mIHRoZSBwYWdlcyB0aGF0IGlzIHBvc3NpYmxlIHRvIGFkZHJlc3MgYnkgc3dhcCBhcmVhIGhlYWRlcgoraXMgNDI5NDk2NzI5NSAoVUlOVF9NQVgpLiAgVGhlIHJlbWFpbmluZyBzcGFjZSBvbiB0aGUgc3dhcCBkZXZpY2UgaXMgaWdub3JlZC4KKworUHJlc2VudGx5LCBMaW51eCBhbGxvd3MgMzIgc3dhcCBhcmVhcy4KK1RoZSBhcmVhcyBpbiB1c2UgY2FuIGJlIHNlZW4gaW4gdGhlIGZpbGUKKy5JIC9wcm9jL3N3YXBzCisKKy5CIG1rc3dhcAorcmVmdXNlcyBhcmVhcyBzbWFsbGVyIHRoYW4gMTAgcGFnZXMuCisKK0lmIHlvdSBkb24ndCBrbm93IHRoZSBwYWdlIHNpemUgdGhhdCB5b3VyIG1hY2hpbmUgdXNlcywgeW91IG1heSBiZQorYWJsZSB0byBsb29rIGl0IHVwIHdpdGggImNhdCAvcHJvYy9jcHVpbmZvIiAob3IgeW91IG1heSBub3QgXChlbgordGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSBkZXBlbmQgb24gYXJjaGl0ZWN0dXJlIGFuZCBrZXJuZWwgdmVyc2lvbikuCisKK1RvIHNldCB1cCBhIHN3YXAgZmlsZSwgaXQgaXMgbmVjZXNzYXJ5IHRvIGNyZWF0ZSB0aGF0IGZpbGUgYmVmb3JlCitpbml0aWFsaXppbmcgaXQgd2l0aAorLkJSIG1rc3dhcCAsCitlLmcuXCYgdXNpbmcgYSBjb21tYW5kIGxpa2UKKworLm5mCisuUlMKKyMgZmFsbG9jYXRlIFwtXC1sZW5ndGggOEdpQiBzd2FwZmlsZQorLlJFCisuZmkKKworTm90ZSB0aGF0IGEgc3dhcCBmaWxlIG11c3Qgbm90IGNvbnRhaW4gYW55IGhvbGVzLiAgVXNpbmcKKy5CUiBjcCAoMSkKK3RvIGNyZWF0ZSB0aGUgZmlsZSBpcyBub3QgYWNjZXB0YWJsZS4gIE5laXRoZXIgaXMgdXNlIG9mCisuQlIgZmFsbG9jYXRlICgxKQorb24gZmlsZSBzeXN0ZW1zIHRoYXQgc3VwcG9ydCBwcmVhbGxvY2F0ZWQgZmlsZXMsIHN1Y2ggYXMKKy5CUiBYRlMgIiBvciAiIGV4dDQgLAorb3Igb24gY29weS1vbi13cml0ZSBmaWxlc3lzdGVtcyBsaWtlCisuQlIgYnRyZnMgLgorSXQgaXMgcmVjb21tZW5kZWQgdG8gdXNlCisuQlIgZGQgKDEpCithbmQgL2Rldi96ZXJvIGluIHRoZXNlIGNhc2VzLiAgUGxlYXNlIHJlYWQgbm90ZXMgZnJvbQorLkJSIHN3YXBvbiAoOCkKK2JlZm9yZSBhZGRpbmcgYSBzd2FwIGZpbGUgdG8gY29weS1vbi13cml0ZSBmaWxlc3lzdGVtcy4KKworLlNIIEVOVklST05NRU5UCisuSVAgTElCQkxLSURfREVCVUc9YWxsCitlbmFibGVzIGxpYmJsa2lkIGRlYnVnIG91dHB1dC4KKworLlNIICJTRUUgQUxTTyIKKy5CUiBmZGlzayAoOCksCisuQlIgc3dhcG9uICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIG1rc3dhcCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9ta3N3YXAuYyBiL2Rpc2stdXRpbHMvbWtzd2FwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTYwNzdkYQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvbWtzd2FwLmMKQEAgLTAsMCArMSw1NDMgQEAKKy8qCisgKiBta3N3YXAuYyAtIHNldCB1cCBhIGxpbnV4IHN3YXAgZGV2aWNlCisgKgorICogQ29weXJpZ2h0IChDKSAxOTkxIExpbnVzIFRvcnZhbGRzCisgKiAgICAgICAgICAgICAgIDIwLjEyLjkxIC0gdGltZSBiZWdhbi4gR290IFZNIHdvcmtpbmcgeWVzdGVyZGF5IGJ5IGRvaW5nIHRoaXMgYnkgaGFuZC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgSmFrdWIgSmVsaW5layA8ampAdWx0cmEubGludXguY3o+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorI2luY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorI2luY2x1ZGUgPHNlbGludXgvY29udGV4dC5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJsaW51eF92ZXJzaW9uLmgiCisjaW5jbHVkZSAic3dhcGhlYWRlci5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiaXNtb3VudGVkLmgiCisKKyNpZmRlZiBIQVZFX0xJQlVVSUQKKyMgaW5jbHVkZSA8dXVpZC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisjIGluY2x1ZGUgPGJsa2lkLmg+CisjZW5kaWYKKworI2RlZmluZSBNSU5fR09PRFBBR0VTCTEwCisKKyNkZWZpbmUgU0VMSU5VWF9TV0FQRklMRV9UWVBFCSJzd2FwZmlsZV90IgorCitzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgeworCXN0cnVjdCBzd2FwX2hlYWRlcl92MV8yCSpoZHI7CQkvKiBzd2FwIGhlYWRlciAqLworCXZvaWQJCQkqc2lnbmF0dXJlX3BhZ2U7LyogYnVmZmVyIHdpdGggc3dhcCBoZWFkZXIgKi8KKworCWNoYXIJCQkqZGV2bmFtZTsJLyogZGV2aWNlIG9yIGZpbGUgbmFtZSAqLworCXN0cnVjdCBzdGF0CQlkZXZzdGF0OwkvKiBzdGF0KCkgcmVzdWx0ICovCisJaW50CQkJZmQ7CQkvKiBzd2FwIGZpbGUgZGVzY3JpcHRvciAqLworCisJdW5zaWduZWQgbG9uZyBsb25nCW5wYWdlczsJCS8qIG51bWJlciBvZiBwYWdlcyAqLworCXVuc2lnbmVkIGxvbmcJCW5iYWRwYWdlczsJLyogbnVtYmVyIG9mIGJhZCBwYWdlcyAqLworCisJaW50CQkJdXNlcl9wYWdlc2l6ZTsJLyogLS1wYWdlc2l6ZSAqLworCWludAkJCXBhZ2VzaXplOwkvKiBmaW5hbCBwYWdlc2l6ZSB1c2VkIGZvciB0aGUgaGVhZGVyICovCisKKwljaGFyCQkJKm9wdF9sYWJlbDsJLyogTEFCRUwgYXMgc3BlY2lmaWVkIG9uIGNvbW1hbmQgbGluZSAqLworCXVuc2lnbmVkIGNoYXIJCSp1dWlkOwkJLyogVVVJRCBwYXJzZWQgYnkgbGliYnV1aWQgKi8KKworCXVuc2lnbmVkIGludAkJY2hlY2s6MSwJLyogLS1jaGVjayAqLworCQkJCWZvcmNlOjE7CS8qIC0tZm9yY2UgKi8KK307CisKK3N0YXRpYyB2b2lkIGluaXRfc2lnbmF0dXJlX3BhZ2Uoc3RydWN0IG1rc3dhcF9jb250cm9sICpjdGwpCit7CisJY29uc3QgaW50IGtlcm5lbF9wYWdlc2l6ZSA9IGdldHBhZ2VzaXplKCk7CisKKwlpZiAoY3RsLT51c2VyX3BhZ2VzaXplKSB7CisJCWlmIChjdGwtPnVzZXJfcGFnZXNpemUgPCAwIHx8ICFpc19wb3dlcl9vZl8yKGN0bC0+dXNlcl9wYWdlc2l6ZSkgfHwKKwkJICAgIChzaXplX3QpIGN0bC0+dXNlcl9wYWdlc2l6ZSA8IHNpemVvZihzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMikgKyAxMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IiksCisJCQkgICAgICAgY3RsLT51c2VyX3BhZ2VzaXplKTsKKwkJaWYgKGN0bC0+dXNlcl9wYWdlc2l6ZSAhPSBrZXJuZWxfcGFnZXNpemUpCisJCQl3YXJueChfKCJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsICIKKwkJCQkiaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIiksCisJCQkJY3RsLT5wYWdlc2l6ZSwga2VybmVsX3BhZ2VzaXplKTsKKwkJY3RsLT5wYWdlc2l6ZSA9IGN0bC0+dXNlcl9wYWdlc2l6ZTsKKwl9IGVsc2UKKwkJY3RsLT5wYWdlc2l6ZSA9IGtlcm5lbF9wYWdlc2l6ZTsKKworCWN0bC0+c2lnbmF0dXJlX3BhZ2UgPSB4Y2FsbG9jKDEsIGN0bC0+cGFnZXNpemUpOworCWN0bC0+aGRyID0gKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yICopIGN0bC0+c2lnbmF0dXJlX3BhZ2U7Cit9CisKK3N0YXRpYyB2b2lkIGRlaW5pdF9zaWduYXR1cmVfcGFnZShzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgKmN0bCkKK3sKKwlmcmVlKGN0bC0+c2lnbmF0dXJlX3BhZ2UpOworCisJY3RsLT5oZHIgPSBOVUxMOworCWN0bC0+c2lnbmF0dXJlX3BhZ2UgPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCBzZXRfc2lnbmF0dXJlKGNvbnN0IHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCWNoYXIgKnNwID0gKGNoYXIgKikgY3RsLT5zaWduYXR1cmVfcGFnZTsKKworCWFzc2VydChzcCk7CisJbWVtY3B5KHNwICsgY3RsLT5wYWdlc2l6ZSAtIFNXQVBfU0lHTkFUVVJFX1NaLCBTV0FQX1NJR05BVFVSRSwgU1dBUF9TSUdOQVRVUkVfU1opOworfQorCitzdGF0aWMgdm9pZCBzZXRfdXVpZF9hbmRfbGFiZWwoY29uc3Qgc3RydWN0IG1rc3dhcF9jb250cm9sICpjdGwpCit7CisJYXNzZXJ0KGN0bCk7CisJYXNzZXJ0KGN0bC0+aGRyKTsKKworCS8qIHNldCBVVUlEICovCisJaWYgKGN0bC0+dXVpZCkKKwkJbWVtY3B5KGN0bC0+aGRyLT51dWlkLCBjdGwtPnV1aWQsIHNpemVvZihjdGwtPmhkci0+dXVpZCkpOworCisJLyogc2V0IExBQkVMICovCisJaWYgKGN0bC0+b3B0X2xhYmVsKSB7CisJCXhzdHJuY3B5KGN0bC0+aGRyLT52b2x1bWVfbmFtZSwKKwkJCSBjdGwtPm9wdF9sYWJlbCwgc2l6ZW9mKGN0bC0+aGRyLT52b2x1bWVfbmFtZSkpOworCQlpZiAoc3RybGVuKGN0bC0+b3B0X2xhYmVsKSA+IHN0cmxlbihjdGwtPmhkci0+dm9sdW1lX25hbWUpKQorCQkJd2FybngoXygiTGFiZWwgd2FzIHRydW5jYXRlZC4iKSk7CisJfQorCisJLyogcmVwb3J0IHJlc3VsdHMgKi8KKwlpZiAoY3RsLT51dWlkIHx8IGN0bC0+b3B0X2xhYmVsKSB7CisJCWlmIChjdGwtPm9wdF9sYWJlbCkKKwkJCXByaW50ZigiTEFCRUw9JXMsICIsIGN0bC0+aGRyLT52b2x1bWVfbmFtZSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCJubyBsYWJlbCwgIikpOworI2lmZGVmIEhBVkVfTElCVVVJRAorCQlpZiAoY3RsLT51dWlkKSB7CisJCQljaGFyIHV1aWRfc3RyaW5nW1VVSURfU1RSX0xFTl07CisJCQl1dWlkX3VucGFyc2UoY3RsLT51dWlkLCB1dWlkX3N0cmluZyk7CisJCQlwcmludGYoIlVVSUQ9JXNcbiIsIHV1aWRfc3RyaW5nKTsKKwkJfSBlbHNlCisjZW5kaWYKKwkJCXByaW50ZihfKCJubyB1dWlkXG4iKSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHJpbnRmKG91dCwKKwkJXygiXG5Vc2FnZTpcbiIKKwkJICAiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIpLCBvdXQpOworCisJZnByaW50ZihvdXQsIF8oCisJCSJcbk9wdGlvbnM6XG4iCisJCSIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisJCSIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKwkJIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisJCSIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisJCSIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKwkJIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCisJCSkpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjcpKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgibWtzd2FwKDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgcGFnZV9iYWQoc3RydWN0IG1rc3dhcF9jb250cm9sICpjdGwsIHVuc2lnbmVkIGludCBwYWdlKQoreworCWNvbnN0IHVuc2lnbmVkIGxvbmcgbWF4X2JhZHBhZ2VzID0KKwkJKGN0bC0+cGFnZXNpemUgLSAxMDI0IC0gMTI4ICogc2l6ZW9mKGludCkgLSAxMCkgLyBzaXplb2YoaW50KTsKKworCWlmIChjdGwtPm5iYWRwYWdlcyA9PSBtYXhfYmFkcGFnZXMpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIpLCBtYXhfYmFkcGFnZXMpOworCisJY3RsLT5oZHItPmJhZHBhZ2VzW2N0bC0+bmJhZHBhZ2VzXSA9IHBhZ2U7CisJY3RsLT5uYmFkcGFnZXMrKzsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfYmxvY2tzKHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCXVuc2lnbmVkIGludCBjdXJyZW50X3BhZ2UgPSAwOworCWludCBkb19zZWVrID0gMTsKKwljaGFyICpidWZmZXI7CisKKwlhc3NlcnQoY3RsKTsKKwlhc3NlcnQoY3RsLT5mZCA+IC0xKTsKKworCWJ1ZmZlciA9IHhtYWxsb2MoY3RsLT5wYWdlc2l6ZSk7CisJd2hpbGUgKGN1cnJlbnRfcGFnZSA8IGN0bC0+bnBhZ2VzKSB7CisJCXNzaXplX3QgcmM7CisKKwkJaWYgKGRvX3NlZWsgJiYgbHNlZWsoY3RsLT5mZCwgY3VycmVudF9wYWdlICogY3RsLT5wYWdlc2l6ZSwgU0VFS19TRVQpICE9CisJCSAgICBjdXJyZW50X3BhZ2UgKiBjdGwtPnBhZ2VzaXplKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIpKTsKKworCQlyYyA9IHJlYWQoY3RsLT5mZCwgYnVmZmVyLCBjdGwtPnBhZ2VzaXplKTsKKwkJZG9fc2VlayA9IChyYyA8IDAgfHwgcmMgIT0gY3RsLT5wYWdlc2l6ZSk7CisJCWlmIChkb19zZWVrKQorCQkJcGFnZV9iYWQoY3RsLCBjdXJyZW50X3BhZ2UpOworCQljdXJyZW50X3BhZ2UrKzsKKwl9CisJcHJpbnRmKFBfKCIlbHUgYmFkIHBhZ2VcbiIsICIlbHUgYmFkIHBhZ2VzXG4iLCBjdGwtPm5iYWRwYWdlcyksIGN0bC0+bmJhZHBhZ2VzKTsKKwlmcmVlKGJ1ZmZlcik7Cit9CisKKy8qIHJldHVybiBzaXplIGluIHBhZ2VzICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBsb25nIGdldF9zaXplKGNvbnN0IHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCWludCBmZDsKKwl1bnNpZ25lZCBsb25nIGxvbmcgc2l6ZTsKKworCWZkID0gb3BlbihjdGwtPmRldm5hbWUsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBjdGwtPmRldm5hbWUpOworCWlmIChibGtkZXZfZ2V0X3NpemUoZmQsICZzaXplKSA9PSAwKQorCQlzaXplIC89IGN0bC0+cGFnZXNpemU7CisKKwljbG9zZShmZCk7CisJcmV0dXJuIHNpemU7Cit9CisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECitzdGF0aWMgYmxraWRfcHJvYmUgbmV3X3Byb2Jlcihjb25zdCBzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgKmN0bCkKK3sKKwlibGtpZF9wcm9iZSBwciA9IGJsa2lkX25ld19wcm9iZSgpOworCWlmICghcHIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIikpOworCWlmIChibGtpZF9wcm9iZV9zZXRfZGV2aWNlKHByLCBjdGwtPmZkLCAwLCAwKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIikpOworCXJldHVybiBwcjsKK30KKyNlbmRpZgorCitzdGF0aWMgdm9pZCBvcGVuX2RldmljZShzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgKmN0bCkKK3sKKwlhc3NlcnQoY3RsKTsKKwlhc3NlcnQoY3RsLT5kZXZuYW1lKTsKKworCWlmIChzdGF0KGN0bC0+ZGV2bmFtZSwgJmN0bC0+ZGV2c3RhdCkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBjdGwtPmRldm5hbWUpOworCWN0bC0+ZmQgPSBvcGVuX2Jsa2Rldl9vcl9maWxlKCZjdGwtPmRldnN0YXQsIGN0bC0+ZGV2bmFtZSwgT19SRFdSKTsKKwlpZiAoY3RsLT5mZCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGN0bC0+ZGV2bmFtZSk7CisJaWYgKGN0bC0+Y2hlY2sgJiYgU19JU1JFRyhjdGwtPmRldnN0YXQuc3RfbW9kZSkpIHsKKwkJY3RsLT5jaGVjayA9IDA7CisJCXdhcm54KF8oIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiKSwKKwkJICAgICAgIGN0bC0+ZGV2bmFtZSk7CisJfQorfQorCitzdGF0aWMgdm9pZCB3aXBlX2RldmljZShzdHJ1Y3QgbWtzd2FwX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyICp0eXBlID0gTlVMTDsKKwlpbnQgemFwID0gMTsKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisJYmxraWRfcHJvYmUgcHIgPSBOVUxMOworI2VuZGlmCisJaWYgKCFjdGwtPmZvcmNlKSB7CisJCWlmIChsc2VlayhjdGwtPmZkLCAwLCBTRUVLX1NFVCkgIT0gMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIikpOworCisjaWZkZWYgSEFWRV9MSUJCTEtJRAorCQlwciA9IG5ld19wcm9iZXIoY3RsKTsKKwkJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMocHIsIDEpOworCQlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDApOworCisJCWlmIChibGtpZF9kb19mdWxscHJvYmUocHIpID09IDAgJiYKKwkJICAgIGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUVFlQRSIsCisJCQkJKGNvbnN0IGNoYXIgKiopICZ0eXBlLCBOVUxMKSA9PSAwICYmIHR5cGUpIHsKKwkJCXR5cGUgPSB4c3RyZHVwKHR5cGUpOworCQkJemFwID0gMDsKKwkJfQorI2Vsc2UKKwkJLyogZG9uJ3QgemFwIGlmIGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQgKi8KKwkJemFwID0gMDsKKyNlbmRpZgorCX0KKworCWlmICh6YXApIHsKKwkJLyoKKwkJICogV2lwZSBib290Yml0cworCQkgKi8KKwkJY2hhciBidWZbMTAyNF0gPSB7ICdcMCcgfTsKKworCQlpZiAobHNlZWsoY3RsLT5mZCwgMCwgU0VFS19TRVQpICE9IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIpKTsKKworCQlpZiAod3JpdGVfYWxsKGN0bC0+ZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIikpOworI2lmZGVmIEhBVkVfTElCQkxLSUQKKwkJLyoKKwkJICogV2lwZSByZXN0IG9mIHRoZSBkZXZpY2UKKwkJICovCisJCWlmICghcHIpCisJCQlwciA9IG5ld19wcm9iZXIoY3RsKTsKKworCQlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCQlibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhwciwgMCk7CisJCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwgQkxLSURfU1VCTEtTX01BR0lDfEJMS0lEX1NVQkxLU19UWVBFKTsKKworCQl3aGlsZSAoYmxraWRfZG9fcHJvYmUocHIpID09IDApIHsKKwkJCWNvbnN0IGNoYXIgKmRhdGEgPSBOVUxMOworCisJCQlpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVFlQRSIsICZkYXRhLCBOVUxMKSA9PSAwICYmIGRhdGEpCisJCQkJd2FybngoXygiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIpLCBjdGwtPmRldm5hbWUsIGRhdGEpOworCQkJYmxraWRfZG9fd2lwZShwciwgMCk7CisJCX0KKyNlbmRpZgorCX0gZWxzZSB7CisJCXdhcm54KF8oIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIiksCisJCQljdGwtPmRldm5hbWUpOworCQlpZiAodHlwZSkKKwkJCWZwcmludGYoc3RkZXJyLCBfKCIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiKSwgdHlwZSk7CisJCWVsc2UKKwkJCWZwcmludGYoc3RkZXJyLCBfKCIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIikpOworCQlmcHJpbnRmKHN0ZGVyciwgXygiVXNlIC1mIHRvIGZvcmNlLlxuIikpOworCX0KKwlmcmVlKHR5cGUpOworI2lmZGVmIEhBVkVfTElCQkxLSUQKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKyNlbmRpZgorfQorCisjZGVmaW5lIFNJR05BVFVSRV9PRkZTRVQJMTAyNAorCitzdGF0aWMgdm9pZCB3cml0ZV9oZWFkZXJfdG9fZGV2aWNlKHN0cnVjdCBta3N3YXBfY29udHJvbCAqY3RsKQoreworCWFzc2VydChjdGwpOworCWFzc2VydChjdGwtPmZkID4gLTEpOworCWFzc2VydChjdGwtPnNpZ25hdHVyZV9wYWdlKTsKKworCWlmIChsc2VlayhjdGwtPmZkLCBTSUdOQVRVUkVfT0ZGU0VULCBTRUVLX1NFVCkgIT0gU0lHTkFUVVJFX09GRlNFVCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiKSk7CisKKwlpZiAod3JpdGVfYWxsKGN0bC0+ZmQsIChjaGFyICopIGN0bC0+c2lnbmF0dXJlX3BhZ2UgKyBTSUdOQVRVUkVfT0ZGU0VULAorCQkgICAgICBjdGwtPnBhZ2VzaXplIC0gU0lHTkFUVVJFX09GRlNFVCkgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsCisJCQlfKCIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIiksCisJCQljdGwtPmRldm5hbWUpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IG1rc3dhcF9jb250cm9sIGN0bCA9IHsgLmZkID0gLTEgfTsKKwlpbnQgYywgcGVybU1hc2s7CisJdWludDY0X3Qgc3o7CisJaW50IHZlcnNpb24gPSBTV0FQX1ZFUlNJT047CisJY2hhciAqYmxvY2tfY291bnQgPSBOVUxMLCAqc3Ryc3ogPSBOVUxMOworI2lmZGVmIEhBVkVfTElCVVVJRAorCWNvbnN0IGNoYXIgKm9wdF91dWlkID0gTlVMTDsKKwl1dWlkX3QgdXVpZF9kYXQ7CisjZW5kaWYKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJjaGVjayIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYycgfSwKKwkJeyAiZm9yY2UiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2YnIH0sCisJCXsgInBhZ2VzaXplIiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdwJyB9LAorCQl7ICJsYWJlbCIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTCcgfSwKKwkJeyAic3dhcHZlcnNpb24iLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3YnIH0sCisJCXsgInV1aWQiLCAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdVJyB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyAiaGVscCIsICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJCXsgTlVMTCwgICAgICAgICAgMCwgTlVMTCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJjZnA6TDp2OlU6VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdjJzoKKwkJCWN0bC5jaGVjayA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQljdGwuZm9yY2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJY3RsLnVzZXJfcGFnZXNpemUgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQljdGwub3B0X2xhYmVsID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJdmVyc2lvbiA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIF8oInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIikpOworCQkJaWYgKHZlcnNpb24gIT0gU1dBUF9WRVJTSU9OKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCQlfKCJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIiksIHZlcnNpb24pOworCQkJYnJlYWs7CisJCWNhc2UgJ1UnOgorI2lmZGVmIEhBVkVfTElCVVVJRAorCQkJb3B0X3V1aWQgPSBvcHRhcmc7CisjZWxzZQorCQkJd2FybngoXygid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiKSwKKwkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisjZW5kaWYKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kIDwgYXJnYykKKwkJY3RsLmRldm5hbWUgPSBhcmd2W29wdGluZCsrXTsKKwlpZiAob3B0aW5kIDwgYXJnYykKKwkJYmxvY2tfY291bnQgPSBhcmd2W29wdGluZCsrXTsKKwlpZiAob3B0aW5kICE9IGFyZ2MpIHsKKwkJd2FybngoXygib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKyNpZmRlZiBIQVZFX0xJQlVVSUQKKwlpZihvcHRfdXVpZCkgeworCQlpZiAodXVpZF9wYXJzZShvcHRfdXVpZCwgdXVpZF9kYXQpICE9IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiKSk7CisJfSBlbHNlCisJCXV1aWRfZ2VuZXJhdGUodXVpZF9kYXQpOworCWN0bC51dWlkID0gdXVpZF9kYXQ7CisjZW5kaWYKKworCWluaXRfc2lnbmF0dXJlX3BhZ2UoJmN0bCk7CS8qIGdldCBwYWdlc2l6ZSBhbmQgYWxsb2NhdGUgc2lnbmF0dXJlIHBhZ2UgKi8KKworCWlmICghY3RsLmRldm5hbWUpIHsKKwkJd2FybngoXygiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCWlmIChibG9ja19jb3VudCkgeworCQkvKiB0aGlzIHNpbGx5IHVzZXIgc3BlY2lmaWVkIHRoZSBudW1iZXIgb2YgYmxvY2tzIGV4cGxpY2l0bHkgKi8KKwkJdWludDY0X3QgYmxrcyA9IHN0cnRvdTY0X29yX2VycihibG9ja19jb3VudCwKKwkJCQkJXygiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIpKTsKKwkJY3RsLm5wYWdlcyA9IGJsa3MgLyAoY3RsLnBhZ2VzaXplIC8gMTAyNCk7CisJfQorCisJc3ogPSBnZXRfc2l6ZSgmY3RsKTsKKwlpZiAoIWN0bC5ucGFnZXMpCisJCWN0bC5ucGFnZXMgPSBzejsKKwllbHNlIGlmIChjdGwubnBhZ2VzID4gc3ogJiYgIWN0bC5mb3JjZSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQlfKCJlcnJvcjogIgorCQkJICAic2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlIlBSSXU2NCIgS2lCIiksCisJCQljdGwubnBhZ2VzICogKGN0bC5wYWdlc2l6ZSAvIDEwMjQpLCBzeiAqIChjdGwucGFnZXNpemUgLyAxMDI0KSk7CisKKwlpZiAoY3RsLm5wYWdlcyA8IE1JTl9HT09EUEFHRVMpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkgICAgIF8oImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIpLAorCQkgICAgIChsb25nKShNSU5fR09PRFBBR0VTICogY3RsLnBhZ2VzaXplIC8gMTAyNCkpOworCWlmIChjdGwubnBhZ2VzID4gVUlOVDMyX01BWCkgeworCQkvKiB0cnVlIHdoZW4gc3dhcCBpcyBiaWdnZXIgdGhhbiAxNy41OSB0ZXJhYnl0ZXMgKi8KKwkJY3RsLm5wYWdlcyA9IFVJTlQzMl9NQVg7CisJCXdhcm54KF8oIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIiksCisJCQljdGwubnBhZ2VzICogY3RsLnBhZ2VzaXplIC8gMTAyNCk7CisJfQorCisJaWYgKGlzX21vdW50ZWQoY3RsLmRldm5hbWUpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZXJyb3I6ICIKKwkJCSIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIpLAorCQkJY3RsLmRldm5hbWUpOworCisJb3Blbl9kZXZpY2UoJmN0bCk7CisJcGVybU1hc2sgPSBTX0lTQkxLKGN0bC5kZXZzdGF0LnN0X21vZGUpID8gMDcwMDcgOiAwNzA3NzsKKwlpZiAoKGN0bC5kZXZzdGF0LnN0X21vZGUgJiBwZXJtTWFzaykgIT0gMCkKKwkJd2FybngoXygiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIpLAorCQkJY3RsLmRldm5hbWUsIGN0bC5kZXZzdGF0LnN0X21vZGUgJiAwNzc3NywKKwkJCX5wZXJtTWFzayAmIDA2NjYpOworCWlmIChnZXR1aWQoKSA9PSAwICYmIFNfSVNSRUcoY3RsLmRldnN0YXQuc3RfbW9kZSkgJiYgY3RsLmRldnN0YXQuc3RfdWlkICE9IDApCisJCXdhcm54KF8oIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIiksCisJCQljdGwuZGV2bmFtZSwgY3RsLmRldnN0YXQuc3RfdWlkKTsKKworCisJaWYgKGN0bC5jaGVjaykKKwkJY2hlY2tfYmxvY2tzKCZjdGwpOworCisJd2lwZV9kZXZpY2UoJmN0bCk7CisKKwlhc3NlcnQoY3RsLmhkcik7CisJY3RsLmhkci0+dmVyc2lvbiA9IHZlcnNpb247CisJY3RsLmhkci0+bGFzdF9wYWdlID0gY3RsLm5wYWdlcyAtIDE7CisJY3RsLmhkci0+bnJfYmFkcGFnZXMgPSBjdGwubmJhZHBhZ2VzOworCisJaWYgKChjdGwubnBhZ2VzIC0gTUlOX0dPT0RQQUdFUykgPCBjdGwubmJhZHBhZ2VzKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIikpOworCisJc3ogPSAoY3RsLm5wYWdlcyAtIGN0bC5uYmFkcGFnZXMgLSAxKSAqIGN0bC5wYWdlc2l6ZTsKKwlzdHJzeiA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYX1NQQUNFIHwgU0laRV9TVUZGSVhfM0xFVFRFUiwgc3opOworCisJcHJpbnRmKF8oIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJSJQUkl1NjQiIGJ5dGVzKVxuIiksCisJCXZlcnNpb24sIHN0cnN6LCBzeik7CisJZnJlZShzdHJzeik7CisKKwlzZXRfc2lnbmF0dXJlKCZjdGwpOworCXNldF91dWlkX2FuZF9sYWJlbCgmY3RsKTsKKworCXdyaXRlX2hlYWRlcl90b19kZXZpY2UoJmN0bCk7CisKKwlkZWluaXRfc2lnbmF0dXJlX3BhZ2UoJmN0bCk7CisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlpZiAoU19JU1JFRyhjdGwuZGV2c3RhdC5zdF9tb2RlKSAmJiBpc19zZWxpbnV4X2VuYWJsZWQoKSA+IDApIHsKKwkJc2VjdXJpdHlfY29udGV4dF90IGNvbnRleHRfc3RyaW5nOworCQlzZWN1cml0eV9jb250ZXh0X3Qgb2xkY29udGV4dDsKKwkJY29udGV4dF90IG5ld2NvbnRleHQ7CisKKwkJaWYgKGZnZXRmaWxlY29uKGN0bC5mZCwgJm9sZGNvbnRleHQpIDwgMCkgeworCQkJaWYgKGVycm5vICE9IEVOT0RBVEEpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJCQkJXygiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIiksCisJCQkJCWN0bC5kZXZuYW1lKTsKKwkJCWlmIChtYXRjaHBhdGhjb24oY3RsLmRldm5hbWUsIGN0bC5kZXZzdGF0LnN0X21vZGUsICZvbGRjb250ZXh0KSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIikpOworCQl9CisJCWlmICghKG5ld2NvbnRleHQgPSBjb250ZXh0X25ldyhvbGRjb250ZXh0KSkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IikpOworCQlpZiAoY29udGV4dF90eXBlX3NldChuZXdjb250ZXh0LCBTRUxJTlVYX1NXQVBGSUxFX1RZUEUpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IikpOworCisJCWNvbnRleHRfc3RyaW5nID0gY29udGV4dF9zdHIobmV3Y29udGV4dCk7CisKKwkJaWYgKHN0cmNtcChjb250ZXh0X3N0cmluZywgb2xkY29udGV4dCkhPTApIHsKKwkJCWlmIChmc2V0ZmlsZWNvbihjdGwuZmQsIGNvbnRleHRfc3RyaW5nKSAmJiBlcnJubyAhPSBFTk9UU1VQKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIiksCisJCQkJCQljdGwuZGV2bmFtZSwgY29udGV4dF9zdHJpbmcpOworCQl9CisJCWNvbnRleHRfZnJlZShuZXdjb250ZXh0KTsKKwkJZnJlZWNvbihvbGRjb250ZXh0KTsKKwl9CisjZW5kaWYKKwkvKgorCSAqIEEgc3Vic2VxdWVudCBzd2Fwb24oKSB3aWxsIGZhaWwgaWYgdGhlIHNpZ25hdHVyZQorCSAqIGlzIG5vdCBhY3R1YWxseSBvbiBkaXNrLiAoVGhpcyBpcyBhIGtlcm5lbCBidWcuKQorCSAqIFRoZSBmc3luYygpIGluIGNsb3NlX2ZkKCkgd2lsbCB0YWtlIGNhcmUgb2Ygd3JpdGluZy4KKwkgKi8KKwlpZiAoY2xvc2VfZmQoY3RsLmZkKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBmYWlsZWQiKSk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvcGFydHguOCBiL2Rpc2stdXRpbHMvcGFydHguOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjNmMjA5Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9wYXJ0eC44CkBAIC0wLDAgKzEsMTk1IEBACisuXCIgcGFydHguOCAtLSBtYW4gcGFnZSBmb3IgcGFydHgKKy5cIiBDb3B5cmlnaHQgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIiBDb3B5cmlnaHQgMjAwNyBSZWQgSGF0LCBJbmMuCisuXCIgQ29weXJpZ2h0IDIwMTAgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlwiCisuVEggUEFSVFggIjgiICJEZWNlbWJlciAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitwYXJ0eCBcLSB0ZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2Ygb24tZGlzayBwYXJ0aXRpb25zCisuU0ggU1lOT1BTSVMKKy5CIHBhcnR4CisuUkIgWyBcLWEgfCBcLWQgfCBcLVAgfCBcLXIgfCBcLXMgfCBcLXUgXQorLlJCIFsgXC10ICIgXGZJdHlwZVxmUl0iCisuUkIgWyBcLW4gIiBcZklNIiA6IFxmSU5cZlJdCisuUkIgWyBcLSAiXSAiIFxmSWRpc2sKKy5icgorLkIgcGFydHgKKy5SQiBbIFwtYSB8IFwtZCB8IFwtUCB8IFwtciB8IFwtcyB8IFwtdSBdCisuUkIgWyBcLXQgIiBcZkl0eXBlXGZSXSIKKy5JUiBwYXJ0aXRpb24gIiBbIiBkaXNrIF0KKy5TSCBERVNDUklQVElPTgorR2l2ZW4gYSBkZXZpY2Ugb3IgZGlzay1pbWFnZSwKKy5CIHBhcnR4Cit0cmllcyB0byBwYXJzZSB0aGUgcGFydGl0aW9uIHRhYmxlIGFuZCBsaXN0IGl0cyBjb250ZW50cy4gIEl0CitjYW4gYWxzbyB0ZWxsIHRoZSBrZXJuZWwgdG8gYWRkIG9yIHJlbW92ZSBwYXJ0aXRpb25zIGZyb20gaXRzCitib29ra2VlcGluZy4KKy5QUAorVGhlCisuSSBkaXNrCithcmd1bWVudCBpcyBvcHRpb25hbCB3aGVuIGEKKy5JIHBhcnRpdGlvbgorYXJndW1lbnQgaXMgcHJvdmlkZWQuICBUbyBmb3JjZSBzY2FubmluZyBhIHBhcnRpdGlvbiBhcyBpZiBpdCB3ZXJlIGEgd2hvbGUgZGlzaworKGZvciBleGFtcGxlIHRvIGxpc3QgbmVzdGVkIHN1YnBhcnRpdGlvbnMpLCB1c2UgdGhlIGFyZ3VtZW50ICJcLSIgKGh5cGhlbi1taW51cykuCitGb3IgZXhhbXBsZToKKworLlJTIDcKKy5UUAorcGFydHggXC1cLXNob3cgXC0gL2Rldi9zZGEzCisuUkUKKy5QUAorVGhpcyB3aWxsIHNlZSBzZGEzIGFzIGEgd2hvbGUtZGlzayByYXRoZXIgdGhhbiBhcyBhIHBhcnRpdGlvbi4KKy5QUAorLkIgcGFydHggaXMgbm90IGFuIGZkaXNrIHByb2dyYW0KK1woZW4gYWRkaW5nIGFuZCByZW1vdmluZyBwYXJ0aXRpb25zIGRvZXMgbm90IGNoYW5nZSB0aGUgZGlzaywgaXQganVzdAordGVsbHMgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBvbi1kaXNrCitwYXJ0aXRpb25zLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFkZCIKK0FkZCB0aGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMsIG9yIHJlYWQgdGhlIGRpc2sgYW5kIGFkZCBhbGwgcGFydGl0aW9ucy4KKy5UUAorLkJSIFwtYiAsICIgXC1cLWJ5dGVzIgorUHJpbnQgdGhlIFNJWkUgY29sdW1uIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdC4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWRlbGV0ZSIKK0RlbGV0ZSB0aGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIHBhcnRpdGlvbnMuCisuVFAKKy5CUiBcLWcgLCAiIFwtXC1ub2hlYWRpbmdzIgorRG8gbm90IHByaW50IGEgaGVhZGVyIGxpbmUgd2l0aCBcZkJcLVwtc2hvd1xmUiBvciBcZkJcLVwtcmF3XGZSLgorLlRQCisuQlIgXC1sICwgIiBcLVwtbGlzdCIKK0xpc3QgdGhlIHBhcnRpdGlvbnMuICBOb3RlIHRoYXQgYWxsIG51bWJlcnMgYXJlIGluIDUxMi1ieXRlIHNlY3RvcnMuCitUaGlzIG91dHB1dCBmb3JtYXQgaXMgREVQUkVDQVRFRCBpbiBmYXZvdXIgb2YKKy5CUiBcLVwtc2hvdyAuCitEbyBub3QgdXNlIGl0IGluIG5ld2x5IHdyaXR0ZW4gc2NyaXB0cy4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5yICIgXGZJTSA6IFxmSU4KK1NwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMuICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBhbHNvIHRoZQorZm9ybWF0IFxmSU1cZkJcLVxmSU5cZlIgaXMgc3VwcG9ydGVkLgorVGhlIHJhbmdlIG1heSBjb250YWluIG5lZ2F0aXZlIG51bWJlcnMsIGZvciBleGFtcGxlCisuQiBcLVwtbnIgXC0xOlwtMQorbWVhbnMgdGhlIGxhc3QgcGFydGl0aW9uLCBhbmQKKy5CIFwtXC1uciBcLTI6XC0xCittZWFucyB0aGUgbGFzdCB0d28gcGFydGl0aW9ucy4gIFN1cHBvcnRlZCByYW5nZSBzcGVjaWZpY2F0aW9ucyBhcmU6CisuUlMgMTQKKy5UUAorLkkgTQorU3BlY2lmaWVzIGp1c3Qgb25lIHBhcnRpdGlvbiAoZS5nLlwmIFxmQlwtXC1uciAzXGZSKS4KKy5UUAorLklCIE0gOgorU3BlY2lmaWVzIHRoZSBsb3dlciBsaW1pdCBvbmx5IChlLmcuXCYgXGZCXC1cLW5yIDI6XGZSKS4KKy5UUAorLkJJIDogTgorU3BlY2lmaWVzIHRoZSB1cHBlciBsaW1pdCBvbmx5IChlLmcuXCYgXGZCXC1cLW5yIDo0XGZSKS4KKy5UUAorLklCIE0gOiBOCitTcGVjaWZpZXMgdGhlIGxvd2VyIGFuZCB1cHBlciBsaW1pdHMgKGUuZy5cJiBcZkJcLVwtbnIgMjo0XGZSKS4KKy5SRQorLlRQCisuQlIgXC1vICwgIiBcLVwtb3V0cHV0ICIgXGZJbGlzdAorRGVmaW5lIHRoZSBvdXRwdXQgY29sdW1ucyB0byB1c2UgZm9yCisuQlIgXC1cLXNob3cgLAorLkIgXC1cLXBhaXJzCithbmQKKy5CIFwtXC1yYXcKK291dHB1dC4gIElmIG5vIG91dHB1dCBhcnJhbmdlbWVudCBpcyBzcGVjaWZpZWQsIHRoZW4gYSBkZWZhdWx0IHNldCBpcwordXNlZC4gIFVzZQorLkIgXC1cLWhlbHAKK3RvIGdldAorLkkgbGlzdAorb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLiAgVGhpcyBvcHRpb24gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggdGhlCisuQlIgXC1cLWFkZCAsCisuQlIgXC1cLWRlbGV0ZSAsCisuQiBcLVwtdXBkYXRlCitvcgorLkIgXC1cLWxpc3QKK29wdGlvbnMuCisuVFAKKy5CIFwtXC1vdXRwdXRcLWFsbAorT3V0cHV0IGFsbCBhdmFpbGFibGUgY29sdW1ucy4KKy5UUAorLkJSIFwtUCAsICIgXC1cLXBhaXJzIgorTGlzdCB0aGUgcGFydGl0aW9ucyB1c2luZyB0aGUgS0VZPSJ2YWx1ZSIgZm9ybWF0LgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmF3IgorTGlzdCB0aGUgcGFydGl0aW9ucyB1c2luZyB0aGUgcmF3IG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaG93IgorTGlzdCB0aGUgcGFydGl0aW9ucy4KK1RoZSBvdXRwdXQgY29sdW1ucyBjYW4gYmUgc2VsZWN0ZWQgYW5kIHJlYXJyYW5nZWQgd2l0aCB0aGUKK1xmQlwtXC1vdXRwdXRcZlIgb3B0aW9uLgorQWxsIG51bWJlcnMgKGV4Y2VwdCBTSVpFKSBhcmUgaW4gNTEyLWJ5dGUgc2VjdG9ycy4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXR5cGUgIiBcZkl0eXBlCitTcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUgdHlwZS4KKy5UUAorLkIgXC1cLWxpc3RcLXR5cGVzCitMaXN0IHN1cHBvcnRlZCBwYXJ0aXRpb24gdHlwZXMgYW5kIGV4aXQuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC11cGRhdGUiCitVcGRhdGUgdGhlIHNwZWNpZmllZCBwYXJ0aXRpb25zLgorLlRQCisuQlIgXC1TICwgIiBcLVwtc2VjdG9yXC1zaXplICIgXGZJc2l6ZQorT3ZlcndyaXRlIGRlZmF1bHQgc2VjdG9yIHNpemUuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorVmVyYm9zZSBtb2RlLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFWEFNUExFUworLlRQCitwYXJ0eCBcLVwtc2hvdyAvZGV2L3NkYjMKKy5UUQorcGFydHggXC1cLXNob3cgXC1cLW5yIDMgL2Rldi9zZGIKKy5UUQorcGFydHggXC1cLXNob3cgL2Rldi9zZGIzIC9kZXYvc2RiCitBbGwgdGhyZWUgY29tbWFuZHMgbGlzdCBwYXJ0aXRpb24gMyBvZiAvZGV2L3NkYi4KKy5UUAorcGFydHggXC1cLXNob3cgXC0gL2Rldi9zZGIzCitMaXN0cyBhbGwgc3VicGFydGl0aW9ucyBvbiAvZGV2L3NkYjMgKHRoZSBkZXZpY2UgaXMgdXNlZCBhcword2hvbGUtZGlzaykuCisuVFAKK3BhcnR4IFwtbyBTVEFSVCBcLWcgXC1cLW5yIDUgL2Rldi9zZGIKK1ByaW50cyB0aGUgc3RhcnQgc2VjdG9yIG9mIHBhcnRpdGlvbiA1IG9uIC9kZXYvc2RiIHdpdGhvdXQgaGVhZGVyLgorLlRQCitwYXJ0eCBcLW8gU0VDVE9SUyxTSVpFIC9kZXYvc2RhNSAvZGV2L3NkYQorTGlzdHMgdGhlIGxlbmd0aCBpbiBzZWN0b3JzIGFuZCBodW1hbi1yZWFkYWJsZSBzaXplIG9mIHBhcnRpdGlvbiA1IG9uCisvZGV2L3NkYS4KKy5UUAorcGFydHggXC1cLWFkZCBcLVwtbnIgMzo1IC9kZXYvc2RkCitBZGRzIGFsbCBhdmFpbGFibGUgcGFydGl0aW9ucyBmcm9tIDMgdG8gNSAoaW5jbHVzaXZlKSBvbiAvZGV2L3NkZC4KKy5UUAorcGFydHggXC1kIFwtXC1uciA6XC0xIC9kZXYvc2RkCitSZW1vdmVzIHRoZSBsYXN0IHBhcnRpdGlvbiBvbiAvZGV2L3NkZC4KKy5TSCBTRUUgQUxTTworLkJSIGFkZHBhcnQgKDgpLAorLkJSIGRlbHBhcnQgKDgpLAorLkJSIGZkaXNrICg4KSwKKy5CUiBwYXJ0ZWQgKDgpLAorLkJSIHBhcnRwcm9iZSAoOCkKKy5TSCBBVVRIT1JTCisuTVQgZGF2ZUBnbnUub3JnCitEYXZpZGxvaHIgQnVlc28KKy5NRQorLmJyCisuTVQga3pha0ByZWRoYXQuY29tCitLYXJlbCBaYWsKKy5NRQorLlBQCitUaGUgb3JpZ2luYWwgdmVyc2lvbiB3YXMgd3JpdHRlbiBieQorLk1UIGFlYkBjd2kubmwKK0FuZHJpZXMgRS5cJiBCcm91d2VyCisuTUUgLgorLlNIIEVOVklST05NRU5UCisuSVAgTElCQkxLSURfREVCVUc9YWxsCitlbmFibGVzIGxpYmJsa2lkIGRlYnVnIG91dHB1dC4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBwYXJ0eCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9wYXJ0eC5jIGIvZGlzay11dGlscy9wYXJ0eC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUxMGVmYTkKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL3BhcnR4LmMKQEAgLTAsMCArMSwxMDcxIEBACisvKgorICogcGFydHg6IHRlbGwgdGhlIGtlcm5lbCBhYm91dCB5b3VyIGRpc2sncyBwYXJ0aXRpb25zCisgKiBbVGhpcyBpcyBub3QgYW4gZmRpc2sgLSBhZGRpbmcgYW5kIHJlbW92aW5nIHBhcnRpdGlvbnMKKyAqIGlzIG5vdCBhIGNoYW5nZSBvZiB0aGUgZGlzaywgYnV0IGp1c3QgdGVsbGluZyB0aGUga2VybmVsCisgKiBhYm91dCBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIG9uLWRpc2sgcGFydGl0aW9ucy5dCisgKgorICogYWViLCAyMDAwLTAzLTIxIC0tIHNhaCBpcyA0MiBub3cKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKiAgICAgIFJld3JpdHRlbiB0byB1c2UgbGliYmxraWQgZm9yIHV0aWwtbGludXgKKyAqICAgICAgYmFzZWQgb24gaWRlYXMgZnJvbSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisKKyNpbmNsdWRlIDxibGtpZC5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAicGFydHguaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorI2luY2x1ZGUgImxvb3BkZXYuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisKKy8qIHRoaXMgaXMgdGhlIGRlZmF1bHQgdXBwZXIgbGltaXQsIGNvdWxkIGJlIG1vZGlmaWVkIGJ5IC0tbnIgKi8KKyNkZWZpbmUgU0xJQ0VTX01BWAkyNTYKKworLyogYmFzaWMgdGFibGUgc2V0dGluZ3MgKi8KK2VudW0geworCVBBUlRYX1JBVyA9CQkoMSA8PCAwKSwKKwlQQVJUWF9OT0hFQURJTkdTID0JKDEgPDwgMSksCisJUEFSVFhfRVhQT1JUID0JCSgxIDw8IDIpLAorfTsKKworLyogYWxsIHRoZSBjb2x1bW5zICgtbyBvcHRpb24pICovCitlbnVtIHsKKwlDT0xfUEFSVE5PLAorCUNPTF9TVEFSVCwKKwlDT0xfRU5ELAorCUNPTF9TRUNUT1JTLAorCUNPTF9TSVpFLAorCUNPTF9OQU1FLAorCUNPTF9VVUlELAorCUNPTF9UWVBFLAorCUNPTF9GTEFHUywKKwlDT0xfU0NIRU1FLAorfTsKKworI2RlZmluZSBBQ1RfRVJST1IgIi0te2FkZCxkZWxldGUsc2hvdyxsaXN0LHJhdyxwYWlyc30iCitlbnVtIHsKKwlBQ1RfTk9ORSwKKwlBQ1RfTElTVCwKKwlBQ1RfU0hPVywKKwlBQ1RfQURELAorCUFDVF9VUEQsCisJQUNUX0RFTEVURQorfTsKKworZW51bSB7CisJRkxfQllURVMgPSAoMSA8PCAxKQorfTsKKworLyogY29sdW1uIG5hbWVzICovCitzdHJ1Y3QgY29saW5mbyB7CisJY29uc3QgY2hhcgkqbmFtZTsJLyogaGVhZGVyICovCisJZG91YmxlCQl3aGludDsJLyogd2lkdGggaGludCAoTiA8IDEgaXMgaW4gcGVyY2VudCBvZiB0ZXJtd2lkdGgpICovCisJaW50CQlmbGFnczsJLyogU0NPTFNfRkxfKiAqLworCWNvbnN0IGNoYXIgICAgICAqaGVscDsKK307CisKKy8qIGNvbHVtbnMgZGVzY3JpcHRpb25zICovCitzdGF0aWMgc3RydWN0IGNvbGluZm8gaW5mb3NbXSA9IHsKKwlbQ09MX1BBUlROT10gICA9IHsgIk5SIiwgICAgMC4yNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJwYXJ0aXRpb24gbnVtYmVyIikgfSwKKwlbQ09MX1NUQVJUXSAgICA9IHsgIlNUQVJUIiwgICAwLjMwLCBTQ09MU19GTF9SSUdIVCwgTl8oInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIpIH0sCisJW0NPTF9FTkRdICAgICAgPSB7ICJFTkQiLCAgICAgMC4zMCwgU0NPTFNfRkxfUklHSFQsIE5fKCJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIikgfSwKKwlbQ09MX1NFQ1RPUlNdICA9IHsgIlNFQ1RPUlMiLCAwLjMwLCBTQ09MU19GTF9SSUdIVCwgTl8oIm51bWJlciBvZiBzZWN0b3JzIikgfSwKKwlbQ09MX1NJWkVdICAgICA9IHsgIlNJWkUiLCAgICAwLjMwLCBTQ09MU19GTF9SSUdIVCwgTl8oImh1bWFuIHJlYWRhYmxlIHNpemUiKSB9LAorCVtDT0xfTkFNRV0gICAgID0geyAiTkFNRSIsICAgIDAuMzAsIFNDT0xTX0ZMX1RSVU5DLCBOXygicGFydGl0aW9uIG5hbWUiKSB9LAorCVtDT0xfVVVJRF0gICAgID0geyAiVVVJRCIsICAgIDM2LCAwLCBOXygicGFydGl0aW9uIFVVSUQiKX0sCisJW0NPTF9TQ0hFTUVdICAgPSB7ICJTQ0hFTUUiLCAgMC4xLCBTQ09MU19GTF9UUlVOQywgTl8oInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIpfSwKKwlbQ09MX0ZMQUdTXSAgICA9IHsgIkZMQUdTIiwgICAwLjEsIFNDT0xTX0ZMX1RSVU5DLCBOXygicGFydGl0aW9uIGZsYWdzIil9LAorCVtDT0xfVFlQRV0gICAgID0geyAiVFlQRSIsICAgIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiKX0sCit9OworCisjZGVmaW5lIE5DT0xTIEFSUkFZX1NJWkUoaW5mb3MpCisKKy8qIGFycmF5IHdpdGggSURzIG9mIGVuYWJsZWQgY29sdW1ucyAqLworc3RhdGljIGludCBjb2x1bW5zW05DT0xTXTsKK3N0YXRpYyBzaXplX3QgbmNvbHVtbnM7CisKK3N0YXRpYyBpbnQgdmVyYm9zZTsKK3N0YXRpYyBpbnQgcGFydHhfZmxhZ3M7CitzdGF0aWMgc3RydWN0IGxvb3BkZXZfY3h0IGxjOworc3RhdGljIGludCBsb29wZGV2OworCitzdGF0aWMgdm9pZCBhc3NvY19sb29wZGV2KGNvbnN0IGNoYXIgKmZuYW1lKQoreworCWludCByYzsKKworCWlmIChsb29wY3h0X2luaXQoJmxjLCAwKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIpKTsKKworCXJjID0gbG9vcGN4dF9maW5kX3VudXNlZCgmbGMpOworCWlmIChyYykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIpLAorCQkgICAgZm5hbWUpOworCisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIiksCisJCSAgICAgICBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisKKwlpZiAobG9vcGN4dF9zZXRfYmFja2luZ19maWxlKCZsYywgZm5hbWUpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiKSwgZm5hbWUpOworCisJcmMgPSBsb29wY3h0X3NldHVwX2RldmljZSgmbGMpOworCisJaWYgKHJjID09IC1FQlVTWSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiKSwgZm5hbWUpOworCisJbG9vcGRldiA9IDE7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGdldF9jb2x1bW5faWQoaW50IG51bSkKK3sKKwlhc3NlcnQoQVJSQVlfU0laRShjb2x1bW5zKSA9PSBOQ09MUyk7CisJYXNzZXJ0KChzaXplX3QpbnVtIDwgbmNvbHVtbnMpOworCWFzc2VydChjb2x1bW5zW251bV0gPCAoaW50KSBOQ09MUyk7CisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKGludCBudW0pCit7CisJcmV0dXJuICZpbmZvc1sgZ2V0X2NvbHVtbl9pZChudW0pIF07Cit9CisKK3N0YXRpYyBpbnQgY29sdW1uX25hbWVfdG9faWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChuYW1lKTsKKworCWZvciAoaSA9IDA7IGkgPCBOQ09MUzsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gaW5mb3NbaV0ubmFtZTsKKworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkKKwkJCXJldHVybiBpOworCX0KKwl3YXJueChfKCJ1bmtub3duIGNvbHVtbjogJXMiKSwgbmFtZSk7CisJcmV0dXJuIC0xOworfQorCisvKgorICogR2l2ZW4gYSBwYXJ0aXRpb24gcmV0dXJuIHRoZSBjb3JyZXNwb25kaW5nIHBhcnRpdGlvbiBudW1iZXIuCisgKgorICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gdHJpZXMgdG8gdXNlIHN5c2ZzLCBvdGhlcndpc2UgaXQgYXNzdW1lcyB0aGF0IHRoZQorICogbGFzdCBjaGFyYWN0ZXJzIGFyZSBhbHdheXMgbnVtZXJpYyAoc2RhMSwgc2RjMjAsIGV0YykuCisgKi8KK3N0YXRpYyBpbnQgZ2V0X3BhcnRub19mcm9tX2RldmljZShjaGFyICpwYXJ0aXRpb24sIGRldl90IGRldm5vKQoreworCWludCBwYXJ0bm8gPSAwOworCXNpemVfdCBzejsKKwljaGFyICpwLCAqZW5kID0gTlVMTDsKKworCWFzc2VydChwYXJ0aXRpb24pOworCisJaWYgKGRldm5vKSB7CisJCXN0cnVjdCBwYXRoX2N4dCAqcGM7CisJCWludCByYzsKKworCQlwYyA9IHVsX25ld19zeXNmc19wYXRoKGRldm5vLCBOVUxMLCBOVUxMKTsKKwkJaWYgKCFwYykKKwkJCWdvdG8gZXJyOworCisJCXJjID0gdWxfcGF0aF9yZWFkX3MzMihwYywgJnBhcnRubywgInBhcnRpdGlvbiIpOworCQl1bF91bnJlZl9wYXRoKHBjKTsKKworCQlpZiAocmMgPT0gMCkKKwkJCXJldHVybiBwYXJ0bm87CisJfQorCisJc3ogPSBzdHJsZW4ocGFydGl0aW9uKTsKKwlwID0gcGFydGl0aW9uICsgc3ogLSAxOworCisJaWYgKCFpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqcCkpCisJCWdvdG8gZXJyOworCisJd2hpbGUgKGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICoocCAtIDEpKSkgcC0tOworCisJZXJybm8gPSAwOworCXBhcnRubyA9IHN0cnRvbChwLCAmZW5kLCAxMCk7CisJaWYgKGVycm5vIHx8ICFlbmQgfHwgKmVuZCB8fCBwID09IGVuZCkKKwkJZ290byBlcnI7CisKKwlyZXR1cm4gcGFydG5vOworZXJyOgorCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIiksIHBhcnRpdGlvbik7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X21heF9wYXJ0bm8oY29uc3QgY2hhciAqZGlzaywgZGV2X3QgZGV2bm8pCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXSwgKnBhcmVudCwgKmRpcm5hbWUgPSBOVUxMOworCXN0cnVjdCBzdGF0IHN0OworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJaW50IHBhcnRubyA9IDA7CisKKwlpZiAoIWRldm5vICYmICFzdGF0KGRpc2ssICZzdCkpCisJCWRldm5vID0gc3Quc3RfcmRldjsKKwlpZiAoIWRldm5vKQorCQlnb3RvIGRmbHQ7CisJcGFyZW50ID0gc3RycmNocihkaXNrLCAnLycpOworCWlmICghcGFyZW50KQorCQlnb3RvIGRmbHQ7CisJcGFyZW50Kys7CisKKwlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksIF9QQVRIX1NZU19ERVZCTE9DSyAiLyVkOiVkLyIsCisJCQltYWpvcihkZXZubyksIG1pbm9yKGRldm5vKSk7CisKKwlkaXIgPSBvcGVuZGlyKHBhdGgpOworCWlmICghZGlyKQorCQlnb3RvIGRmbHQ7CisKKwlkaXJuYW1lID0geHN0cmR1cChwYXRoKTsKKworCXdoaWxlICgoZCA9IHJlYWRkaXIoZGlyKSkpIHsKKwkJaW50IGZkOworCisJCWlmICghc3RyY21wKGQtPmRfbmFtZSwgIi4iKSB8fAorCQkgICAgIXN0cmNtcChkLT5kX25hbWUsICIuLiIpKQorCQkJY29udGludWU7CisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQlpZiAoZC0+ZF90eXBlICE9IERUX0RJUiAmJiBkLT5kX3R5cGUgIT0gRFRfVU5LTk9XTikKKwkJCWNvbnRpbnVlOworI2VuZGlmCisJCWlmIChzdHJuY21wKHBhcmVudCwgZC0+ZF9uYW1lLCBzdHJsZW4ocGFyZW50KSkpCisJCQljb250aW51ZTsKKwkJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiJXMvcGFydGl0aW9uIiwgZC0+ZF9uYW1lKTsKKworCQlmZCA9IG9wZW5hdChkaXJmZChkaXIpLCBwYXRoLCBPX1JET05MWSk7CisJCWlmIChmZCkgeworCQkJaW50IHggPSAwOworCQkJRklMRSAqZiA9IGZkb3BlbihmZCwgInIiKTsKKwkJCWlmIChmKSB7CisJCQkJaWYgKGZzY2FuZihmLCAiJWQiLCAmeCkgPT0gMSAmJiB4ID4gcGFydG5vKQorCQkJCQlwYXJ0bm8gPSB4OworCQkJCWZjbG9zZShmKTsKKwkJCX0KKwkJfQorCX0KKworCWZyZWUoZGlybmFtZSk7CisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gcGFydG5vOworZGZsdDoKKwlyZXR1cm4gU0xJQ0VTX01BWDsKK30KKworc3RhdGljIGludCByZWNvdW50X3JhbmdlX2J5X3B0KGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgKmxvd2VyLCBpbnQgKnVwcGVyKQoreworCWludCBuID0gMCwgaSwgbnBhcnRzID0gYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlpbnQgcGFydG5vID0gYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGFyKTsKKwkJbiA9IG1heChwYXJ0bm8sIG4pOworCX0KKworCWlmICgqbG93ZXIgPCAwKQorCQkqbG93ZXIgPSBuICsgKmxvd2VyICsgMTsKKwlpZiAoKnVwcGVyIDwgMCkKKwkJKnVwcGVyID0gbiArICp1cHBlciArIDE7CisKKwlpZiAoKmxvd2VyID4gKnVwcGVyICYmICp1cHBlciAhPSAwKSB7CisJCXdhcm54KF8oInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiKSwgKmxvd2VyLCAqdXBwZXIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIpLCBuLCAqbG93ZXIsICp1cHBlcik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGRlbF9wYXJ0c193YXJueChjb25zdCBjaGFyICpkZXZpY2UsIGludCBmaXJzdCwgaW50IGxhc3QpCit7CisJaWYgKGZpcnN0ID09IGxhc3QpCisJCXdhcm54KF8oIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiKSwgZGV2aWNlLCBmaXJzdCk7CisJZWxzZQorCQl3YXJueChfKCIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIpLAorCQkJCWRldmljZSwgZmlyc3QsIGxhc3QpOworfQorCitzdGF0aWMgaW50IGRlbF9wYXJ0cyhpbnQgZmQsIGNvbnN0IGNoYXIgKmRldmljZSwgZGV2X3QgZGV2bm8sCisJCSAgICAgaW50IGxvd2VyLCBpbnQgdXBwZXIpCit7CisJaW50IHJjID0gMCwgaSwgZXJyZmlyc3QgPSAwLCBlcnJsYXN0ID0gMDsKKworCWFzc2VydChmZCA+PSAwKTsKKwlhc3NlcnQoZGV2aWNlKTsKKworCS8qIHJlY291bnQgcmFuZ2UgYnkgaW5mb3JtYXRpb24gaW4gL3N5cyAqLworCWlmICghbG93ZXIpCisJCWxvd2VyID0gMTsKKwlpZiAoIXVwcGVyIHx8IGxvd2VyIDwgMCB8fCB1cHBlciA8IDApIHsKKwkJaW50IG4gPSBnZXRfbWF4X3BhcnRubyhkZXZpY2UsIGRldm5vKTsKKwkJaWYgKCF1cHBlcikKKwkJCXVwcGVyID0gbjsKKwkJZWxzZSBpZiAodXBwZXIgPCAwKQorCQkJdXBwZXIgPSBuICsgdXBwZXIgKyAxOworCQlpZiAobG93ZXIgPCAwKQorCQkJbG93ZXIgPSBuICsgbG93ZXIgKyAxOworCX0KKwlpZiAobG93ZXIgPiB1cHBlcikgeworCQl3YXJueChfKCJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiAiCisJCQkiZG9lcyBub3QgbWFrZSBzZW5zZSIpLCBsb3dlciwgdXBwZXIpOworCQlyZXR1cm4gLTE7CisJfQorCisJZm9yIChpID0gbG93ZXI7IGkgPD0gdXBwZXI7IGkrKykgeworCQlyYyA9IHBhcnR4X2RlbF9wYXJ0aXRpb24oZmQsIGkpOworCQlpZiAocmMgPT0gMCkgeworCQkJaWYgKHZlcmJvc2UpCisJCQkJcHJpbnRmKF8oIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIpLCBkZXZpY2UsIGkpOworCQkJY29udGludWU7CisJCX0gZWxzZSBpZiAoZXJybm8gPT0gRU5YSU8pIHsKKwkJCWlmICh2ZXJib3NlKQorCQkJCXByaW50ZihfKCIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iKSwgZGV2aWNlLCBpKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXJjID0gLTE7CisJCWlmICh2ZXJib3NlKQorCQkJd2FybihfKCIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiKSwgZGV2aWNlLCBpKTsKKwkJaWYgKCFlcnJmaXJzdCkKKwkJCWVycmxhc3QgPSBlcnJmaXJzdCA9IGk7CisJCWVsc2UgaWYgKGVycmxhc3QgKyAxID09IGkpCisJCQllcnJsYXN0Kys7CisJCWVsc2UgeworCQkJZGVsX3BhcnRzX3dhcm54KGRldmljZSwgZXJyZmlyc3QsIGVycmxhc3QpOworCQkJZXJybGFzdCA9IGVycmZpcnN0ID0gaTsKKwkJfQorCX0KKworCWlmIChlcnJmaXJzdCkKKwkJZGVsX3BhcnRzX3dhcm54KGRldmljZSwgZXJyZmlyc3QsIGVycmxhc3QpOworCXJldHVybiByYzsKK30KKworCitzdGF0aWMgdm9pZCBhZGRfcGFydHNfd2FybngoY29uc3QgY2hhciAqZGV2aWNlLCBpbnQgZmlyc3QsIGludCBsYXN0KQoreworCWlmIChmaXJzdCA9PSBsYXN0KQorCQl3YXJueChfKCIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIpLCBkZXZpY2UsIGZpcnN0KTsKKwllbHNlCisJCXdhcm54KF8oIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIpLAorCQkJCWRldmljZSwgZmlyc3QsIGxhc3QpOworfQorCitzdGF0aWMgaW50IGFkZF9wYXJ0cyhpbnQgZmQsIGNvbnN0IGNoYXIgKmRldmljZSwKKwkJICAgICBibGtpZF9wYXJ0bGlzdCBscywgaW50IGxvd2VyLCBpbnQgdXBwZXIpCit7CisJaW50IGksIG5wYXJ0cywgcmMsIGVycmZpcnN0ID0gMCwgZXJybGFzdCA9IDA7CisKKwlhc3NlcnQoZmQgPj0gMCk7CisJYXNzZXJ0KGRldmljZSk7CisJYXNzZXJ0KGxzKTsKKworCXJjID0gcmVjb3VudF9yYW5nZV9ieV9wdChscywgJmxvd2VyLCAmdXBwZXIpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJbnBhcnRzID0gYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlpbnQgbiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhcik7CisJCXVpbnRtYXhfdCBzdGFydCwgc2l6ZTsKKworCQlpZiAobG93ZXIgJiYgbiA8IGxvd2VyKQorCQkJY29udGludWU7CisJCWlmICh1cHBlciAmJiBuID4gdXBwZXIpCisJCQljb250aW51ZTsKKworCQlzdGFydCA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQocGFyKTsKKwkJc2l6ZSA9ICBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKTsKKworCQlpZiAoYmxraWRfcGFydGl0aW9uX2lzX2V4dGVuZGVkKHBhcikpCisJCQkvKgorCQkJICogTGV0J3MgZm9sbG93IHRoZSBMaW51eCBrZXJuZWwgYW5kIHJlZHVjZQorCQkJICogRE9TIGV4dGVuZGVkIHBhcnRpdGlvbiB0byAxIG9yIDIgc2VjdG9ycy4KKwkJCSAqLworCQkJc2l6ZSA9IG1pbihzaXplLCAodWludG1heF90KSAyKTsKKworCQlpZiAocGFydHhfYWRkX3BhcnRpdGlvbihmZCwgbiwgc3RhcnQsIHNpemUpID09IDApIHsKKwkJCWlmICh2ZXJib3NlKQorCQkJCXByaW50ZihfKCIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIiksIGRldmljZSwgbik7CisJCQljb250aW51ZTsKKwkJfQorCQlyYyA9IC0xOworCQlpZiAodmVyYm9zZSkKKwkJCXdhcm4oXygiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIpLCBkZXZpY2UsIG4pOworCQlpZiAoIWVycmZpcnN0KQorCQkJZXJybGFzdCA9IGVycmZpcnN0ID0gbjsKKwkJZWxzZSBpZiAoZXJybGFzdCArIDEgPT0gbikKKwkJCWVycmxhc3QrKzsKKwkJZWxzZSB7CisJCQlhZGRfcGFydHNfd2FybngoZGV2aWNlLCBlcnJmaXJzdCwgZXJybGFzdCk7CisJCQllcnJsYXN0ID0gZXJyZmlyc3QgPSBuOworCQl9CisJfQorCisJaWYgKGVycmZpcnN0KQorCQlhZGRfcGFydHNfd2FybngoZGV2aWNlLCBlcnJmaXJzdCwgZXJybGFzdCk7CisKKwkvKgorCSAqIFRoZSBrZXJuZWwgd2l0aCBlbmFibGVkIHBhcnRpdGlvbnMgc2Nhbm5lciBmb3IgbG9vcCBkZXZpY2VzIGFkZCAqYWxsKgorCSAqIHBhcnRpdGlvbnMsIHNvIHdlIHNob3VsZCBkZWxldGUgYW55IGV4dHJhLCB1bndhbnRlZCBvbmVzLCB3aGVuIHRoZSAtbgorCSAqIG9wdGlvbiBpcyBwYXNzZWQuCisJICovCisJaWYgKGxvb3BkZXYgJiYgbG9vcGN4dF9pc19wYXJ0c2NhbigmbGMpICYmIChsb3dlciB8fCB1cHBlcikpIHsKKwkJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCQlibGtpZF9wYXJ0aXRpb24gcGFyID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbihscywgaSk7CisJCQlpbnQgbiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhcik7CisKKwkJCWlmIChuIDwgbG93ZXIgfHwgbiA+IHVwcGVyKQorCQkJCXBhcnR4X2RlbF9wYXJ0aXRpb24oZmQsIG4pOworCQl9CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCB1cGRfcGFydHNfd2FybngoY29uc3QgY2hhciAqZGV2aWNlLCBpbnQgZmlyc3QsIGludCBsYXN0KQoreworCWlmIChmaXJzdCA9PSBsYXN0KQorCQl3YXJueChfKCIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIiksIGRldmljZSwgZmlyc3QpOworCWVsc2UKKwkJd2FybngoXygiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiKSwKKwkJCQlkZXZpY2UsIGZpcnN0LCBsYXN0KTsKK30KKworc3RhdGljIGludCB1cGRfcGFydHMoaW50IGZkLCBjb25zdCBjaGFyICpkZXZpY2UsIGRldl90IGRldm5vLAorCQkgICAgIGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgbG93ZXIsIGludCB1cHBlcikKK3sKKwlpbnQgbiwgbnBhcnRzLCByYyA9IDAsIGVycmZpcnN0ID0gMCwgZXJybGFzdCA9IDAsIGVycjsKKwlibGtpZF9wYXJ0aXRpb24gcGFyOworCXVpbnRtYXhfdCBzdGFydCwgc2l6ZTsKKworCWFzc2VydChmZCA+PSAwKTsKKwlhc3NlcnQoZGV2aWNlKTsKKwlhc3NlcnQobHMpOworCisJLyogcmVjb3VudCByYW5nZSBieSBpbmZvcm1hdGlvbiBpbiAvc3lzLCBpZiBvbiBkaXNrIG51bWJlciBvZgorCSAqIHBhcnRpdGlvbnMgaXMgZ3JlYXRlciB0aGFuIGluIC9zeXMgdGhlIHVzZSBvbi1kaXNrIGxpbWl0ICovCisJbnBhcnRzID0gYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscyk7CisJaWYgKCFsb3dlcikKKwkJbG93ZXIgPSAxOworCWlmICghdXBwZXIgfHwgbG93ZXIgPCAwIHx8IHVwcGVyIDwgMCkgeworCQluID0gZ2V0X21heF9wYXJ0bm8oZGV2aWNlLCBkZXZubyk7CisJCWlmICghdXBwZXIpCisJCQl1cHBlciA9IG4gPiBucGFydHMgPyBuIDogbnBhcnRzOworCQllbHNlIGlmICh1cHBlciA8IDApCisJCQl1cHBlciA9IG4gKyB1cHBlciArIDE7CisJCWlmIChsb3dlciA8IDApCisJCQlsb3dlciA9IG4gKyBsb3dlciArIDE7CisJfQorCWlmIChsb3dlciA+IHVwcGVyKSB7CisJCXdhcm54KF8oInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+ICIKKwkJCSJkb2VzIG5vdCBtYWtlIHNlbnNlIiksIGxvd2VyLCB1cHBlcik7CisJCXJldHVybiAtMTsKKwl9CisKKwlmb3IgKG4gPSBsb3dlcjsgbiA8PSB1cHBlcjsgbisrKSB7CisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKGxzLCBuKTsKKwkJaWYgKCFwYXIpIHsKKwkJCWlmICh2ZXJib3NlKQorCQkJCXdhcm4oXygiJXM6IG5vIHBhcnRpdGlvbiAjJWQiKSwgZGV2aWNlLCBuKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJc3RhcnQgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcik7CisJCXNpemUgPSAgYmxraWRfcGFydGl0aW9uX2dldF9zaXplKHBhcik7CisJCWlmIChibGtpZF9wYXJ0aXRpb25faXNfZXh0ZW5kZWQocGFyKSkKKwkJCS8qCisJCQkgKiBMZXQncyBmb2xsb3cgdGhlIExpbnV4IGtlcm5lbCBhbmQgcmVkdWNlCisJCQkgKiBET1MgZXh0ZW5kZWQgcGFydGl0aW9uIHRvIDEgb3IgMiBzZWN0b3JzLgorCQkJICovCisJCQlzaXplID0gbWluKHNpemUsICh1aW50bWF4X3QpIDIpOworCisJCWVyciA9IHBhcnR4X2RlbF9wYXJ0aXRpb24oZmQsIG4pOworCQlpZiAoZXJyID09IC0xICYmIGVycm5vID09IEVOWElPKQorCQkJZXJyID0gMDsgLyogZ29vZCwgaXQgYWxyZWFkeSBkb2Vzbid0IGV4aXN0ICovCisJCWlmIChlcnIgPT0gLTEgJiYgZXJybm8gPT0gRUJVU1kpCisJCXsKKwkJCS8qIHRyeSB0byByZXNpemUgKi8KKwkJCWVyciA9IHBhcnR4X3Jlc2l6ZV9wYXJ0aXRpb24oZmQsIG4sIHN0YXJ0LCBzaXplKTsKKwkJCWlmICh2ZXJib3NlKQorCQkJCXByaW50ZihfKCIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iKSwgZGV2aWNlLCBuKTsKKwkJCWlmIChlcnIgPT0gMCkKKwkJCQljb250aW51ZTsKKwkJfQorCQlpZiAoZXJyID09IDAgJiYgcGFydHhfYWRkX3BhcnRpdGlvbihmZCwgbiwgc3RhcnQsIHNpemUpID09IDApIHsKKwkJCWlmICh2ZXJib3NlKQorCQkJCXByaW50ZihfKCIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIiksIGRldmljZSwgbik7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChlcnIgPT0gMCkKKwkJCWNvbnRpbnVlOworCQlyYyA9IC0xOworCQlpZiAodmVyYm9zZSkKKwkJCXdhcm4oXygiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIiksIGRldmljZSwgbik7CisJCWlmICghZXJyZmlyc3QpCisJCQllcnJsYXN0ID0gZXJyZmlyc3QgPSBuOworCQllbHNlIGlmIChlcnJsYXN0ICsgMSA9PSBuKQorCQkJZXJybGFzdCsrOworCQllbHNlIHsKKwkJCXVwZF9wYXJ0c193YXJueChkZXZpY2UsIGVycmZpcnN0LCBlcnJsYXN0KTsKKwkJCWVycmxhc3QgPSBlcnJmaXJzdCA9IG47CisJCX0KKwl9CisKKwlpZiAoZXJyZmlyc3QpCisJCXVwZF9wYXJ0c193YXJueChkZXZpY2UsIGVycmZpcnN0LCBlcnJsYXN0KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgbGlzdF9wYXJ0cyhibGtpZF9wYXJ0bGlzdCBscywgaW50IGxvd2VyLCBpbnQgdXBwZXIpCit7CisJaW50IGksIG5wYXJ0cywgcmM7CisKKwlhc3NlcnQobHMpOworCisJcmMgPSByZWNvdW50X3JhbmdlX2J5X3B0KGxzLCAmbG93ZXIsICZ1cHBlcik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlucGFydHMgPSBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGxzKTsKKworCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQlibGtpZF9wYXJ0aXRpb24gcGFyID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbihscywgaSk7CisJCWludCBuID0gYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGFyKTsKKwkJdWludG1heF90IHN0YXJ0LCBzaXplOworCisJCWlmIChsb3dlciAmJiBuIDwgbG93ZXIpCisJCQljb250aW51ZTsKKwkJaWYgKHVwcGVyICYmIG4gPiB1cHBlcikKKwkJCWNvbnRpbnVlOworCisJCXN0YXJ0ID0gYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXIpOworCQlzaXplID0gIGJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXIpOworCisJCXByaW50ZihQXygiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIsCisJCQkgICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIsCisJCQkgIHNpemUpLAorCQkgICAgICAgbiwgc3RhcnQsIHN0YXJ0ICsgc2l6ZSAtMSwKKwkJICAgICAgIHNpemUsIChzaXplIDw8IDkpIC8gMTAwMDAwMCk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFkZF9zY29sc19saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUsIGJsa2lkX3BhcnRpdGlvbiBwYXIpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxpbmU7CisJaW50IGksIHJjID0gMDsKKworCWFzc2VydCh0YWJsZSk7CisJYXNzZXJ0KHBhcik7CisKKwlsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIE5VTEwpOworCWlmICghbGluZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKwkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJZm9yIChpID0gMDsgKHNpemVfdClpIDwgbmNvbHVtbnM7IGkrKykgeworCQljaGFyICpzdHIgPSBOVUxMOwkJCS8qIGFsbG9jYXRlZCBzdHJpbmcgKi8KKwkJY29uc3QgY2hhciAqY3N0ciA9IE5VTEw7CQkvKiBmb3JlaWduIHN0cmluZyAqLworCisJCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChpKSkgeworCQljYXNlIENPTF9QQVJUTk86CisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGFyKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU1RBUlQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiVqdSIsIGJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQocGFyKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfRU5EOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlanUiLAorCQkJCQlibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcikgKworCQkJCQlibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSAtIDEpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NFQ1RPUlM6CisJCQl4YXNwcmludGYoJnN0ciwgIiVqdSIsIGJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXIpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TSVpFOgorCQkJaWYgKHBhcnR4X2ZsYWdzICYgRkxfQllURVMpCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlanUiLCAodWludG1heF90KQorCQkJCQlibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSA8PCA5KTsKKwkJCWVsc2UKKwkJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLAorCQkJCQlibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSA8PCA5KTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9OQU1FOgorCQkJY3N0ciA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfbmFtZShwYXIpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1VVSUQ6CisJCQljc3RyID0gYmxraWRfcGFydGl0aW9uX2dldF91dWlkKHBhcik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVFlQRToKKwkJCWlmIChibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGVfc3RyaW5nKHBhcikpCisJCQkJY3N0ciA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZV9zdHJpbmcocGFyKTsKKwkJCWVsc2UKKwkJCQl4YXNwcmludGYoJnN0ciwgIjB4JXgiLAorCQkJCQlibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGUocGFyKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfRkxBR1M6CisJCQl4YXNwcmludGYoJnN0ciwgIjB4JWxseCIsIGJsa2lkX3BhcnRpdGlvbl9nZXRfZmxhZ3MocGFyKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0NIRU1FOgorCQl7CisJCQlibGtpZF9wYXJ0dGFibGUgdGFiID0gYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShwYXIpOworCQkJaWYgKHRhYikKKwkJCQljc3RyID0gYmxraWRfcGFydHRhYmxlX2dldF90eXBlKHRhYik7CisJCQlicmVhazsKKwkJfQorCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKworCQlpZiAoY3N0cikKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsaW5lLCBpLCBjc3RyKTsKKwkJZWxzZSBpZiAoc3RyKQorCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobGluZSwgaSwgc3RyKTsKKwkJaWYgKHJjKSB7CisJCQl3YXJuKF8oImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiKSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzaG93X3BhcnRzKGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgc2NvbHNfZmxhZ3MsIGludCBsb3dlciwgaW50IHVwcGVyKQoreworCWludCBpLCByYyA9IC0xOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGU7CisJaW50IG5wYXJ0czsKKworCWFzc2VydChscyk7CisKKwlucGFydHMgPSBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGxzKTsKKwlpZiAoIW5wYXJ0cykKKwkJcmV0dXJuIDA7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCXRhYmxlID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YWJsZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisJCXJldHVybiAtMTsKKwl9CisJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YWJsZSwgISEoc2NvbHNfZmxhZ3MgJiBQQVJUWF9SQVcpKTsKKwlzY29sc190YWJsZV9lbmFibGVfZXhwb3J0KHRhYmxlLCAhIShzY29sc19mbGFncyAmIFBBUlRYX0VYUE9SVCkpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCAhIShzY29sc19mbGFncyAmIFBBUlRYX05PSEVBRElOR1MpKTsKKworCWZvciAoaSA9IDA7IChzaXplX3QpaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJc3RydWN0IGNvbGluZm8gKmNvbCA9IGdldF9jb2x1bW5faW5mbyhpKTsKKworCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsIGNvbC0+bmFtZSwgY29sLT53aGludCwgY29sLT5mbGFncykpIHsKKwkJCXdhcm54KF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIikpOworCQkJZ290byBkb25lOworCQl9CisJfQorCisJcmMgPSByZWNvdW50X3JhbmdlX2J5X3B0KGxzLCAmbG93ZXIsICZ1cHBlcik7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlpbnQgbiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhcik7CisKKwkJaWYgKGxvd2VyICYmIG4gPCBsb3dlcikKKwkJCWNvbnRpbnVlOworCQlpZiAodXBwZXIgJiYgbiA+IHVwcGVyKQorCQkJY29udGludWU7CisKKwkJcmMgPSBhZGRfc2NvbHNfbGluZSh0YWJsZSwgcGFyKTsKKwkJaWYgKHJjKQorCQkJYnJlYWs7CisJfQorCisJcmMgPSAwOworCXNjb2xzX3ByaW50X3RhYmxlKHRhYmxlKTsKK2RvbmU6CisJc2NvbHNfdW5yZWZfdGFibGUodGFibGUpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGJsa2lkX3BhcnRsaXN0IGdldF9wYXJ0bGlzdChibGtpZF9wcm9iZSBwciwKKwkJCWNvbnN0IGNoYXIgKmRldmljZSwgY2hhciAqdHlwZSkKK3sKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlibGtpZF9wYXJ0dGFibGUgdGFiOworCisJYXNzZXJ0KHByKTsKKwlhc3NlcnQoZGV2aWNlKTsKKworCWlmICh0eXBlKSB7CisJCWNoYXIgKm5hbWVbXSA9IHsgdHlwZSwgTlVMTCB9OworCisJCWlmIChibGtpZF9wcm9iZV9maWx0ZXJfcGFydGl0aW9uc190eXBlKHByLAorCQkJCUJMS0lEX0ZMVFJfT05MWUlOLCBuYW1lKSkgeworCQkJd2FybngoXygiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgIgorCQkJCSJmaWx0ZXIgZm9yICclcyciKSwgdHlwZSk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCX0KKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRpdGlvbnMocHIpOworCWlmICghbHMpIHsKKwkJd2FybngoXygiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIpLCBkZXZpY2UpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9nZXRfdGFibGUobHMpOworCWlmICh2ZXJib3NlICYmIHRhYikgeworCQlwcmludGYoXygiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIpLAorCQkJICAgICAgIGRldmljZSwgYmxraWRfcGFydHRhYmxlX2dldF90eXBlKHRhYikpOworCisJCWlmICghYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscykpCisJCQlwcmludGYoXygiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiKSwgZGV2aWNlKTsKKwl9CisKKwlyZXR1cm4gbHM7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCXNpemVfdCBpOworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIyKSk7CisKKwlmcHV0cyhVU0FHRV9DT0xVTU5TLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBOQ09MUzsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTBzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInBhcnR4KDgpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGZkLCBjLCB3aGF0ID0gQUNUX05PTkUsIGxvd2VyID0gMCwgdXBwZXIgPSAwLCByYyA9IDA7CisJaW50IHNjb2xzX2ZsYWdzID0gMDsKKwljaGFyICp0eXBlID0gTlVMTDsKKwljaGFyICpkZXZpY2UgPSBOVUxMOyAvKiBwb2ludGVyIHRvIGFyZ3ZbXSwgaWU6IC9kZXYvc2RhMSAqLworCWNoYXIgKndob2xlZGlzayA9IE5VTEw7IC8qIGFsbG9jYXRlZCwgaWU6IC9kZXYvc2RhICovCisJY2hhciAqb3V0YXJnID0gTlVMTDsKKwlkZXZfdCBkaXNrX2Rldm5vID0gMCwgcGFydF9kZXZubyA9IDA7CisJdW5zaWduZWQgaW50IHNlY3Rvcl9zaXplID0gMDsKKworCWVudW0geworCQlPUFRfTElTVF9UWVBFUyA9IENIQVJfTUFYICsgMSwKKwkJT1BUX09VVFBVVF9BTEwKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0c1tdID0geworCQl7ICJieXRlcyIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYicgfSwKKwkJeyAibm9oZWFkaW5ncyIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZycgfSwKKwkJeyAicmF3IiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJyB9LAorCQl7ICJsaXN0IiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdsJyB9LAorCQl7ICJzaG93IiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdzJyB9LAorCQl7ICJhZGQiLAlub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2EnIH0sCisJCXsgImRlbGV0ZSIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAnZCcgfSwKKwkJeyAidXBkYXRlIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndScgfSwKKwkJeyAidHlwZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCcgfSwKKwkJeyAibGlzdC10eXBlcyIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfTElTVF9UWVBFUyB9LAorCQl7ICJuciIsCQlyZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ24nIH0sCisJCXsgIm91dHB1dCIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAib3V0cHV0LWFsbCIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfT1VUUFVUX0FMTCB9LAorCQl7ICJwYWlycyIsICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdQJyB9LAorCQl7ICJzZWN0b3Itc2l6ZSIscmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdTJyB9LAorCQl7ICJoZWxwIiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7ICJ2ZXJib3NlIiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdQJywnYScsJ2QnLCdsJywncicsJ3MnLCd1JyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkJImFiZGdscnN1dm46dDpvOlBTOmhWIiwgbG9uZ19vcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ19vcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdhJzoKKwkJCXdoYXQgPSBBQ1RfQUREOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJcGFydHhfZmxhZ3MgfD0gRkxfQllURVM7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQl3aGF0ID0gQUNUX0RFTEVURTsKKwkJCWJyZWFrOworCQljYXNlICdnJzoKKwkJCXNjb2xzX2ZsYWdzIHw9IFBBUlRYX05PSEVBRElOR1M7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQl3aGF0ID0gQUNUX0xJU1Q7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlpZiAocGFyc2VfcmFuZ2Uob3B0YXJnLCAmbG93ZXIsICZ1cHBlciwgMCkpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJb3V0YXJnID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX09VVFBVVF9BTEw6CisJCQlmb3IgKG5jb2x1bW5zID0gMDsgbmNvbHVtbnMgPCBBUlJBWV9TSVpFKGluZm9zKTsgbmNvbHVtbnMrKykKKwkJCQljb2x1bW5zW25jb2x1bW5zXSA9IG5jb2x1bW5zOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJc2NvbHNfZmxhZ3MgfD0gUEFSVFhfRVhQT1JUOworCQkJd2hhdCA9IEFDVF9TSE9XOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJc2NvbHNfZmxhZ3MgfD0gUEFSVFhfUkFXOworCQkJd2hhdCA9IEFDVF9TSE9XOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJd2hhdCA9IEFDVF9TSE9XOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorCQkJc2VjdG9yX3NpemUgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJdHlwZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICd1JzoKKwkJCXdoYXQgPSBBQ1RfVVBEOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTElTVF9UWVBFUzoKKwkJeworCQkJc2l6ZV90IGlkeCA9IDA7CisJCQljb25zdCBjaGFyICpuYW1lID0gTlVMTDsKKworCQkJd2hpbGUgKGJsa2lkX3BhcnRpdGlvbnNfZ2V0X25hbWUoaWR4KyssICZuYW1lKSA9PSAwKQorCQkJCXB1dHMobmFtZSk7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQl9CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAod2hhdCA9PSBBQ1RfTk9ORSkKKwkJd2hhdCA9IEFDVF9TSE9XOworCisJLyogLS1zaG93IGRlZmF1bHQsIGNvdWxkIGJ5IG1vZGlmaWVkIGJ5IC1vICAqLworCWlmICh3aGF0ID09IEFDVF9TSE9XICYmICFuY29sdW1ucykgeworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1BBUlROTzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TVEFSVDsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9FTkQ7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfU0VDVE9SUzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TSVpFOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX05BTUU7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVVVJRDsKKwl9CisKKwlpZiAod2hhdCA9PSBBQ1RfU0hPVyAmJiBvdXRhcmcgJiYKKwkgICAgc3RyaW5nX2FkZF90b19pZGFycmF5KG91dGFyZywgY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkgICAmbmNvbHVtbnMsIGNvbHVtbl9uYW1lX3RvX2lkKSA8IDApCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwkvKgorCSAqIE5vdGUgdGhhdCAncGFydHggL2Rldi9zZGExJyA9PSAncGFydHggL2Rldi9zZGExIC9kZXYvc2RhJworCSAqIHNvIGFzc3VtZSB0aGF0IHRoZSBkZXZpY2UgYW5kL29yIGRpc2sgYXJlIGFsd2F5cyB0aGUgbGFzdAorCSAqIGFyZ3VtZW50cyB0byBiZSBwYXNzZWQgdG8gcGFydHguCisJICovCisJaWYgKG9wdGluZCA9PSBhcmdjIC0gMikgeworCQkvKiBwYXNzZWQgMiBhcmd1bWVudHM6CisJCSAqICAgL2Rldi9zZGExIC9kZXYvc2RhICA6IHBhcnRpdGlvbiArIHdob2xlLWRpc2sKKwkJICogICAtLSAvZGV2L3NkYTEJIDogcGFydGl0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQgYXMgYSB3aG9sZS1kaXNrCisJCSAqLworCQlkZXZpY2UgPSBhcmd2W29wdGluZF07CisKKwkJaWYgKHN0cmNtcChkZXZpY2UsICItIikgPT0gMCkgeworCQkJZGV2aWNlID0gTlVMTDsKKwkJCXdob2xlZGlzayA9IHhzdHJkdXAoYXJndltvcHRpbmQgKyAxXSk7CisJCX0gZWxzZSB7CisJCQlkZXZpY2UgPSBhcmd2W29wdGluZF07CisJCQl3aG9sZWRpc2sgPSB4c3RyZHVwKGFyZ3Zbb3B0aW5kICsgMV0pOworCisJCQlpZiAoZGV2aWNlICYmIHdob2xlZGlzayAmJiAhc3RhcnRzd2l0aChkZXZpY2UsIHdob2xlZGlzaykpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIpKTsKKwkJfQorCX0gZWxzZSBpZiAob3B0aW5kID09IGFyZ2MgLSAxKSB7CisJCS8qIHBhc3NlZCBvbmx5IG9uZSBhcmcgKGllOiAvZGV2L3NkYTMgb3IgL2Rldi9zZGEpICovCisJCXN0cnVjdCBzdGF0IHNiOworCisJCWRldmljZSA9IGFyZ3Zbb3B0aW5kXTsKKworCQlpZiAoc3RhdChkZXZpY2UsICZzYikpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBkZXZpY2UpOworCisJCXBhcnRfZGV2bm8gPSBzYi5zdF9yZGV2OworCisJCWlmIChibGtpZF9kZXZub190b193aG9sZWRpc2socGFydF9kZXZubywKKwkJCQkJICAgICBOVUxMLCAwLCAmZGlza19kZXZubykgPT0gMCAmJgorCQkgICAgcGFydF9kZXZubyAhPSBkaXNrX2Rldm5vKQorCQkJd2hvbGVkaXNrID0gYmxraWRfZGV2bm9fdG9fZGV2bmFtZShkaXNrX2Rldm5vKTsKKworCQlpZiAoIXdob2xlZGlzaykgeworCQkJd2hvbGVkaXNrID0geHN0cmR1cChkZXZpY2UpOworCQkJZGlza19kZXZubyA9IHBhcnRfZGV2bm87CisJCQlkZXZpY2UgPSBOVUxMOworCQkJcGFydF9kZXZubyA9IDA7CisJCX0KKwl9IGVsc2UgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisJaWYgKGRldmljZSAmJiAodXBwZXIgfHwgbG93ZXIpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpKTsKKworCWFzc2VydCh3aG9sZWRpc2spOworCisJaWYgKGRldmljZSkgeworCQkvKiB1c2UgcGFydG5vIGZyb20gZ2l2ZW4gcGFydGl0aW9uIGluc3RlYWQgb2YgLS1uciByYW5nZSwgZS5nOgorCQkgKiAgIHBhcnR4IC1kIC9kZXYvc2RhMworCQkgKiBpcyB0aGUgc2FtZSBsaWtlOgorCQkgKiAgIHBhcnR4IC1kIC0tbnIgMyAvZGV2L3NkYQorCQkgKi8KKwkJc3RydWN0IHN0YXQgc2I7CisKKwkJaWYgKCFwYXJ0X2Rldm5vICYmICFzdGF0KGRldmljZSwgJnNiKSkKKwkJCXBhcnRfZGV2bm8gPSBzYi5zdF9yZGV2OworCisJCWxvd2VyID0gdXBwZXIgPSBnZXRfcGFydG5vX2Zyb21fZGV2aWNlKGRldmljZSwgcGFydF9kZXZubyk7CisJfQorCisJaWYgKHZlcmJvc2UpCisJCXByaW50ZihfKCJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIpLAorCQkgICAgICAgZGV2aWNlID8gZGV2aWNlIDogIm5vbmUiLCB3aG9sZWRpc2ssIGxvd2VyLCB1cHBlcik7CisKKwlpZiAod2hhdCA9PSBBQ1RfQUREIHx8IHdoYXQgPT0gQUNUX0RFTEVURSkgeworCQlzdHJ1Y3Qgc3RhdCB4OworCisJCWlmIChzdGF0KHdob2xlZGlzaywgJngpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsICIlcyIsIHdob2xlZGlzayk7CisKKwkJaWYgIChTX0lTUkVHKHguc3RfbW9kZSkpIHsKKwkJCS8qIG5vdCBhIGJsa2RldiwgdHJ5IHRvIGFzc29jaWF0ZSBpdCB0byBhIGxvb3AgZGV2aWNlICovCisJCQlpZiAod2hhdCA9PSBBQ1RfREVMRVRFKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIiksCisJCQkJICAgICB3aG9sZWRpc2spOworCQkJaWYgKCFsb29wbW9kX3N1cHBvcnRzX3BhcnRzY2FuKCkpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiKSwKKwkJCQkgICAgIHdob2xlZGlzayk7CisJCQlhc3NvY19sb29wZGV2KHdob2xlZGlzayk7CisJCQl3aG9sZWRpc2sgPSB4c3RyZHVwKGxjLmRldmljZSk7CisJCX0gZWxzZSBpZiAoIVNfSVNCTEsoeC5zdF9tb2RlKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogbm90IGEgYmxvY2sgZGV2aWNlIiksIHdob2xlZGlzayk7CisJfQorCWlmICgoZmQgPSBvcGVuKHdob2xlZGlzaywgT19SRE9OTFkpKSA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgd2hvbGVkaXNrKTsKKworCWlmICh3aGF0ID09IEFDVF9ERUxFVEUpCisJCXJjID0gZGVsX3BhcnRzKGZkLCB3aG9sZWRpc2ssIGRpc2tfZGV2bm8sIGxvd2VyLCB1cHBlcik7CisJZWxzZSB7CisJCWJsa2lkX3Byb2JlIHByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJCWJsa2lkX3BhcnRsaXN0IGxzID0gTlVMTDsKKworCQlpZiAoIXByIHx8IGJsa2lkX3Byb2JlX3NldF9kZXZpY2UocHIsIGZkLCAwLCAwKSkKKwkJCXdhcm54KF8oIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiKSwKKwkJCQkJd2hvbGVkaXNrKTsKKwkJZWxzZSB7CisJCQlpZiAoc2VjdG9yX3NpemUpCisJCQkJYmxraWRfcHJvYmVfc2V0X3NlY3RvcnNpemUocHIsIHNlY3Rvcl9zaXplKTsKKworCQkJbHMgPSBnZXRfcGFydGxpc3QocHIsIHdob2xlZGlzaywgdHlwZSk7CisJCX0KKworCQlpZiAobHMpIHsKKwkJCXN3aXRjaCAod2hhdCkgeworCQkJY2FzZSBBQ1RfU0hPVzoKKwkJCQlyYyA9IHNob3dfcGFydHMobHMsIHNjb2xzX2ZsYWdzLCBsb3dlciwgdXBwZXIpOworCQkJCWJyZWFrOworCQkJY2FzZSBBQ1RfTElTVDoKKwkJCQlyYyA9IGxpc3RfcGFydHMobHMsIGxvd2VyLCB1cHBlcik7CisJCQkJYnJlYWs7CisJCQljYXNlIEFDVF9BREQ6CisJCQkJcmMgPSBhZGRfcGFydHMoZmQsIHdob2xlZGlzaywgbHMsIGxvd2VyLCB1cHBlcik7CisJCQkJYnJlYWs7CisJCQljYXNlIEFDVF9VUEQ6CisJCQkJcmMgPSB1cGRfcGFydHMoZmQsIHdob2xlZGlzaywgZGlza19kZXZubywgbHMsIGxvd2VyLCB1cHBlcik7CisJCQkJYnJlYWs7CisJCQljYXNlIEFDVF9OT05FOgorCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlhYm9ydCgpOworCQkJfQorCQl9IGVsc2UKKwkJCXJjID0gMTsKKworCQlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwl9CisKKwlpZiAobG9vcGRldikKKwkJbG9vcGN4dF9kZWluaXQoJmxjKTsKKworCWlmIChjbG9zZV9mZChmZCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygid3JpdGUgZmFpbGVkIikpOworCisJcmV0dXJuIHJjID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9yYXcuOCBiL2Rpc2stdXRpbHMvcmF3LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWEzYjk2ZQotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvcmF3LjgKQEAgLTAsMCArMSw5OSBAQAorLlRIIFJBVyA4ICJBdWd1c3QgMTk5OSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorcmF3IFwtIGJpbmQgYSBMaW51eCByYXcgY2hhcmFjdGVyIGRldmljZQorLlNIIFNZTk9QU0lTCisuQiByYXcKKy5JIC9kZXYvcmF3L3JhdzxOPiA8bWFqb3I+IDxtaW5vcj4KKy5QUAorLkIgcmF3CisuSSAvZGV2L3Jhdy9yYXc8Tj4gL2Rldi88YmxvY2tkZXY+CisuUFAKKy5CIHJhdyBcLXEKKy5JIC9kZXYvcmF3L3JhdzxOPgorLlBQCisuQiByYXcgXC1xYQorLlNIIERFU0NSSVBUSU9OCisuQiByYXcKK2lzIHVzZWQgdG8gYmluZCBhIExpbnV4IHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLiAgQW55CitibG9jayBkZXZpY2UgbWF5IGJlIHVzZWQ6IGF0IHRoZSB0aW1lIG9mIGJpbmRpbmcsIHRoZSBkZXZpY2UgZHJpdmVyIGRvZXMKK25vdCBldmVuIGhhdmUgdG8gYmUgYWNjZXNzaWJsZSAoaXQgbWF5IGJlIGxvYWRlZCBvbiBkZW1hbmQgYXMgYSBrZXJuZWwKK21vZHVsZSBsYXRlcikuCisuUFAKKy5CIHJhdworaXMgdXNlZCBpbiB0d28gbW9kZXM6IGl0IGVpdGhlciBzZXRzIHJhdyBkZXZpY2UgYmluZGluZ3MsIG9yIGl0IHF1ZXJpZXMKK2V4aXN0aW5nIGJpbmRpbmdzLiAgV2hlbiBzZXR0aW5nIGEgcmF3IGRldmljZSwKKy5JIC9kZXYvcmF3L3JhdzxOPgoraXMgdGhlIGRldmljZSBuYW1lIG9mIGFuIGV4aXN0aW5nIHJhdyBkZXZpY2Ugbm9kZSBpbiB0aGUgZmlsZXN5c3RlbS4KK1RoZSBibG9jayBkZXZpY2UgdG8gd2hpY2ggaXQgaXMgdG8gYmUgYm91bmQgY2FuIGJlIHNwZWNpZmllZCBlaXRoZXIgaW4KK3Rlcm1zIG9mIGl0cworLkkgbWFqb3IKK2FuZAorLkkgbWlub3IKK2RldmljZSBudW1iZXJzLCBvciBhcyBhIHBhdGggbmFtZQorLkkgL2Rldi88YmxvY2tkZXY+Cit0byBhbiBleGlzdGluZyBibG9jayBkZXZpY2UgZmlsZS4KKy5QUAorVGhlIGJpbmRpbmdzIGFscmVhZHkgaW4gZXhpc3RlbmNlIGNhbiBiZSBxdWVyaWVkIHdpdGggdGhlCisuSSBcLXEKK29wdGlvbiwgd2hpY2ggaXMgdXNlZCBlaXRoZXIgd2l0aCBhIHJhdyBkZXZpY2UgZmlsZW5hbWUgdG8gcXVlcnkgdGhhdCBvbmUKK2RldmljZSwgb3Igd2l0aCB0aGUKKy5JIFwtYQorb3B0aW9uIHRvIHF1ZXJ5IGFsbCBib3VuZCByYXcgZGV2aWNlcy4KKy5QUAorVW5iaW5kaW5nIGNhbiBiZSBkb25lIGJ5IHNwZWNpZnlpbmcgbWFqb3IgYW5kIG1pbm9yIDAuCisuUFAKK09uY2UgYm91bmQgdG8gYSBibG9jayBkZXZpY2UsIGEgcmF3IGRldmljZSBjYW4gYmUgb3BlbmVkLCByZWFkIGFuZAord3JpdHRlbiwganVzdCBsaWtlIHRoZSBibG9jayBkZXZpY2UgaXQgaXMgYm91bmQgdG8uICBIb3dldmVyLCB0aGUgcmF3CitkZXZpY2UgZG9lcyBub3QgYmVoYXZlIGV4YWN0bHkgbGlrZSB0aGUgYmxvY2sgZGV2aWNlLiAgSW4gcGFydGljdWxhciwKK2FjY2VzcyB0byB0aGUgcmF3IGRldmljZSBieXBhc3NlcyB0aGUga2VybmVsJ3MgYmxvY2sgYnVmZmVyIGNhY2hlCitlbnRpcmVseTogYWxsIEkvTyBpcyBkb25lIGRpcmVjdGx5IHRvIGFuZCBmcm9tIHRoZSBhZGRyZXNzIHNwYWNlIG9mIHRoZQorcHJvY2VzcyBwZXJmb3JtaW5nIHRoZSBJL08uICBJZiB0aGUgdW5kZXJseWluZyBibG9jayBkZXZpY2UgZHJpdmVyIGNhbgorc3VwcG9ydCBETUEsIHRoZW4gbm8gZGF0YSBjb3B5aW5nIGF0IGFsbCBpcyByZXF1aXJlZCB0byBjb21wbGV0ZSB0aGUKK0kvTy4KKy5QUAorQmVjYXVzZSByYXcgSS9PIGludm9sdmVzIGRpcmVjdCBoYXJkd2FyZSBhY2Nlc3MgdG8gYSBwcm9jZXNzJ3MgbWVtb3J5LCBhCitmZXcgZXh0cmEgcmVzdHJpY3Rpb25zIG11c3QgYmUgb2JzZXJ2ZWQuICBBbGwgSS9PcyBtdXN0IGJlIGNvcnJlY3RseQorYWxpZ25lZCBpbiBtZW1vcnkgYW5kIG9uIGRpc2s6IHRoZXkgbXVzdCBzdGFydCBhdCBhIHNlY3RvciBvZmZzZXQgb24KK2Rpc2ssIHRoZXkgbXVzdCBiZSBhbiBleGFjdCBudW1iZXIgb2Ygc2VjdG9ycyBsb25nLCBhbmQgdGhlIGRhdGEgYnVmZmVyCitpbiB2aXJ0dWFsIG1lbW9yeSBtdXN0IGFsc28gYmUgYWxpZ25lZCB0byBhIG11bHRpcGxlIG9mIHRoZSBzZWN0b3IKK3NpemUuICBUaGUgc2VjdG9yIHNpemUgaXMgNTEyIGJ5dGVzIGZvciBtb3N0IGRldmljZXMuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLXFcZlIsIFxmQlwtXC1xdWVyeVxmUgorU2V0IHF1ZXJ5IG1vZGUuCisuQiByYXcKK3dpbGwgcXVlcnkgYW4gZXhpc3RpbmcgYmluZGluZyBpbnN0ZWFkIG9mIHNldHRpbmcgYSBuZXcgb25lLgorLlRQCitcZkJcLWFcZlIsIFxmQlwtXC1hbGxcZlIKK1dpdGgKKy5CIFwtcQorLCBzcGVjaWZ5IHRoYXQgYWxsIGJvdW5kIHJhdyBkZXZpY2VzIHNob3VsZCBiZSBxdWVyaWVkLgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorCisuU0ggQlVHUworVGhlIExpbnV4CisuQlIgZGQgKDEpCitjb21tYW5kIHNob3VsZCBiZSB1c2VkIHdpdGhvdXQgdGhlIFxmQmJzPVxmUiBvcHRpb24sIG9yIHRoZSBibG9ja3NpemUKK25lZWRzIHRvIGJlIGEgbXVsdGlwbGUgb2YgdGhlIHNlY3RvciBzaXplIG9mIHRoZSBkZXZpY2UgKDUxMiBieXRlcyB1c3VhbGx5KSwKK290aGVyd2lzZSBpdCB3aWxsIGZhaWwgd2l0aCAiSW52YWxpZCBBcmd1bWVudCIgbWVzc2FnZXMgKEVJTlZBTCkuCisKKy5QUAorUmF3IEkvTyBkZXZpY2VzIGRvIG5vdCBtYWludGFpbiBjYWNoZSBjb2hlcmVuY3kgd2l0aCB0aGUgTGludXggYmxvY2sKK2RldmljZSBidWZmZXIgY2FjaGUuICBJZiB5b3UgdXNlIHJhdyBJL08gdG8gb3ZlcndyaXRlIGRhdGEgYWxyZWFkeSBpbgordGhlIGJ1ZmZlciBjYWNoZSwgdGhlIGJ1ZmZlciBjYWNoZSB3aWxsIG5vIGxvbmdlciBjb3JyZXNwb25kIHRvIHRoZQorY29udGVudHMgb2YgdGhlIGFjdHVhbCBzdG9yYWdlIGRldmljZSB1bmRlcm5lYXRoLiAgVGhpcyBpcyBkZWxpYmVyYXRlLAorYnV0IGlzIHJlZ2FyZGVkIGVpdGhlciBhIGJ1ZyBvciBhIGZlYXR1cmUgZGVwZW5kaW5nIG9uIHdobyB5b3UgYXNrIQorLlNIIE5PVEVTCitSYXRoZXIgdGhhbiB1c2luZyByYXcgZGV2aWNlcyBhcHBsaWNhdGlvbnMgc2hvdWxkIHByZWZlcgorLkJSIG9wZW4gKDIpCitkZXZpY2VzLCBzdWNoIGFzIC9kZXYvc2RhMSwgd2l0aCB0aGUgT19ESVJFQ1QgZmxhZy4KKy5TSCBBVVRIT1IKK1N0ZXBoZW4gVHdlZWRpZSAoc2N0QHJlZGhhdC5jb20pCisuU0ggQVZBSUxBQklMSVRZCitUaGUgcmF3IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL3Jhdy5jIGIvZGlzay11dGlscy9yYXcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YWJjYmI3Ci0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9yYXcuYwpAQCAtMCwwICsxLDI3NyBAQAorLyoKKyAqIHJhdy5jOiBVc2VyIG1vZGUgdG9vbCB0byBiaW5kIGFuZCBxdWVyeSByYXcgY2hhcmFjdGVyIGRldmljZXMuCisgKgorICogU3RlcGhlbiBUd2VlZGllLCAxOTk5LCAyMDAwCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwKKyAqIFB1YmxpYyBMaWNlbnNlLCB2ZXJzaW9uIDIuCisgKgorICogQ29weXJpZ2h0IFJlZCBIYXQgU29mdHdhcmUsIDE5OTksIDIwMDAKKyAqCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxsaW51eC9tYWpvci5oPgorI2luY2x1ZGUgPGxpbnV4L3Jhdy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCisjZGVmaW5lIEVYSVRfUkFXX0FDQ0VTUyAzCisjZGVmaW5lIEVYSVRfUkFXX0lPQ1RMIDQKKworI2RlZmluZSBSQVdfTlJfTUlOT1JTIDgxOTIKKworc3RhdGljIGludCBkb19xdWVyeTsKK3N0YXRpYyBpbnQgZG9fcXVlcnlfYWxsOworCitzdGF0aWMgaW50IG1hc3Rlcl9mZDsKK3N0YXRpYyBpbnQgcmF3X21pbm9yOworCit2b2lkIG9wZW5fcmF3X2N0bCh2b2lkKTsKK3N0YXRpYyBpbnQgcXVlcnkoaW50IG1pbm9yX3JhdywgY29uc3QgY2hhciAqcmF3X25hbWUsIGludCBxdWlldCk7CitzdGF0aWMgaW50IGJpbmQoaW50IG1pbm9yX3JhdywgaW50IGJsb2NrX21ham9yLCBpbnQgYmxvY2tfbWlub3IpOworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJCV8oIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorCQkgICIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKwkJICAiICUxJHMgLXEgJTIkc3Jhd05cbiIKKwkJICAiICUxJHMgLXFhXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsCisJCV9QQVRIX1JBV0RFVkRJUik7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIiksIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygxNikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgicmF3KDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGxvbmcgc3RydG9sX29jdGFsX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJbG9uZyBudW07CisJY2hhciAqZW5kID0gTlVMTDsKKworCWlmIChzdHIgPT0gTlVMTCB8fCAqc3RyID09ICdcMCcpCisJCWdvdG8gZXJyOworCWVycm5vID0gMDsKKwludW0gPSBzdHJ0b2woc3RyLCAmZW5kLCAwKTsKKworCWlmIChlcnJubyB8fCBzdHIgPT0gZW5kIHx8IChlbmQgJiYgKmVuZCkpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG51bTsKKyBlcnI6CisJaWYgKGVycm5vKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCWVsc2UKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisJcmV0dXJuIDA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IGM7CisJY2hhciAqcmF3X25hbWU7CisJY2hhciAqYmxvY2tfbmFtZTsKKwlpbnQgcmV0dmFsOworCWludCBibG9ja19tYWpvciwgYmxvY2tfbWlub3I7CisJaW50IGksIHJjOworCisJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsicXVlcnkiLCAgIG5vX2FyZ3VtZW50LCBOVUxMLCAncSd9LAorCQl7ImFsbCIsICAgICBub19hcmd1bWVudCwgTlVMTCwgJ2EnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgJzAnfSwKKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJxYVZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ3EnOgorCQkJZG9fcXVlcnkgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJZG9fcXVlcnlfYWxsID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisKKwkvKgorCSAqIENoZWNrIGZvciwgYW5kIG9wZW4sIHRoZSBtYXN0ZXIgcmF3IGRldmljZSwgL2Rldi9yYXcKKwkgKi8KKwlvcGVuX3Jhd19jdGwoKTsKKworCWlmIChkb19xdWVyeV9hbGwpIHsKKwkJaWYgKG9wdGluZCA8IGFyZ2MpIHsKKwkJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCQlmb3IgKGkgPSAxOyBpIDwgUkFXX05SX01JTk9SUzsgaSsrKQorCQkJcXVlcnkoaSwgTlVMTCwgMSk7CisJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwl9CisKKwkvKgorCSAqIEl0J3MgYSBiaW5kIG9yIGEgc2luZ2xlIHF1ZXJ5LiAgRWl0aGVyIHdheSB3ZSBuZWVkIGEgcmF3IGRldmljZS4KKwkgKi8KKworCWlmIChvcHRpbmQgPj0gYXJnYykgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisJcmF3X25hbWUgPSBhcmd2W29wdGluZCsrXTsKKworCS8qCisJICogdHJ5IHRvIGNoZWNrIHRoZSBkZXZpY2UgbmFtZSBiZWZvcmUgc3RhdCgpLCBiZWNhdXNlIG9uIHN5c3RlbXMgd2l0aAorCSAqIHVkZXYgdGhlIHJhdzAgY2F1c2VzIGEgY3JlYXRlIHVkZXYgZXZlbnQgZm9yIGNoYXIgMTYyLzAsIHdoaWNoCisJICogY2F1c2VzIHVkZXYgdG8gKnJlbW92ZSogL2Rldi9yYXdjdGwKKwkgKi8KKwlyYyA9IHNzY2FuZihyYXdfbmFtZSwgX1BBVEhfUkFXREVWRElSICJyYXclZCIsICZyYXdfbWlub3IpOworCWlmIChyYyAhPSAxKSB7CisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKwlpZiAocmF3X21pbm9yID09IDApCisJCWVycngoRVhJVF9SQVdfQUNDRVNTLAorCQkgICAgIF8oIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgIgorCQkgICAgICAgIih1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiKSwKKwkJICAgICByYXdfbmFtZSk7CisKKwlpZiAoZG9fcXVlcnkpCisJCXJldHVybiBxdWVyeShyYXdfbWlub3IsIHJhd19uYW1lLCAwKTsKKworCS8qCisJICogSXQncyBub3QgYSBxdWVyeSwgc28gd2Ugc3RpbGwgaGF2ZSBzb21lIHBhcnNpbmcgdG8gZG8uICBIYXZlIHdlIGJlZW4KKwkgKiBnaXZlbiBhIGJsb2NrIGRldmljZSBmaWxlbmFtZSBvciBhIG1ham9yL21pbm9yIHBhaXI/CisJICovCisJc3dpdGNoIChhcmdjIC0gb3B0aW5kKSB7CisJY2FzZSAxOgorCQlibG9ja19uYW1lID0gYXJndltvcHRpbmRdOworCQlyZXR2YWwgPSBzdGF0KGJsb2NrX25hbWUsICZzdGF0YnVmKTsKKwkJaWYgKHJldHZhbCkKKwkJCWVycihFWElUX1JBV19BQ0NFU1MsCisJCQkgICAgXygiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIpLCBibG9ja19uYW1lKTsKKwkJaWYgKCFTX0lTQkxLKHN0YXRidWYuc3RfbW9kZSkpCisJCQllcnJ4KEVYSVRfUkFXX0FDQ0VTUywKKwkJCSAgICAgXygiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIiksCisJCQkgICAgIGJsb2NrX25hbWUpOworCQlibG9ja19tYWpvciA9IG1ham9yKHN0YXRidWYuc3RfcmRldik7CisJCWJsb2NrX21pbm9yID0gbWlub3Ioc3RhdGJ1Zi5zdF9yZGV2KTsKKwkJYnJlYWs7CisKKwljYXNlIDI6CisJCWJsb2NrX21ham9yID0KKwkJICAgIHN0cnRvbF9vY3RhbF9vcl9lcnIoYXJndltvcHRpbmRdLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiKSk7CisJCWJsb2NrX21pbm9yID0KKwkJICAgIHN0cnRvbF9vY3RhbF9vcl9lcnIoYXJndltvcHRpbmQgKyAxXSwKKwkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IikpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCXJldHVybiBiaW5kKHJhd19taW5vciwgYmxvY2tfbWFqb3IsIGJsb2NrX21pbm9yKTsKK30KKwordm9pZCBvcGVuX3Jhd19jdGwodm9pZCkKK3sKKwltYXN0ZXJfZmQgPSBvcGVuKF9QQVRIX1JBV0RFVkNUTCwgT19SRFdSLCAwKTsKKwlpZiAobWFzdGVyX2ZkIDwgMCkgeworCQltYXN0ZXJfZmQgPSBvcGVuKF9QQVRIX1JBV0RFVkNUTF9PTEQsIE9fUkRXUiwgMCk7CisJCWlmIChtYXN0ZXJfZmQgPCAwKQorCQkJZXJyKEVYSVRfUkFXX0FDQ0VTUywKKwkJCSAgICBfKCJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIiksCisJCQkgICAgX1BBVEhfUkFXREVWQ1RMKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcXVlcnkoaW50IG1pbm9yX3JhdywgY29uc3QgY2hhciAqcmF3X25hbWUsIGludCBxdWlldCkKK3sKKwlzdHJ1Y3QgcmF3X2NvbmZpZ19yZXF1ZXN0IHJxOworCXN0YXRpYyBpbnQgaGFzX3dvcmtlZCA9IDA7CisKKwlpZiAocmF3X25hbWUpIHsKKwkJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKworCQlpZiAoc3RhdChyYXdfbmFtZSwgJnN0YXRidWYpICE9IDApCisJCQllcnIoRVhJVF9SQVdfQUNDRVNTLAorCQkJICAgIF8oIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIiksIHJhd19uYW1lKTsKKwkJaWYgKCFTX0lTQ0hSKHN0YXRidWYuc3RfbW9kZSkpCisJCQllcnJ4KEVYSVRfUkFXX0FDQ0VTUywKKwkJCSAgICAgXygiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiKSwKKwkJCSAgICAgcmF3X25hbWUpOworCQlpZiAobWFqb3Ioc3RhdGJ1Zi5zdF9yZGV2KSAhPSBSQVdfTUFKT1IpCisJCQllcnJ4KEVYSVRfUkFXX0FDQ0VTUywKKwkJCSAgICAgXygiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIpLCByYXdfbmFtZSk7CisJCW1pbm9yX3JhdyA9IG1pbm9yKHN0YXRidWYuc3RfcmRldik7CisJfQorCisJcnEucmF3X21pbm9yID0gbWlub3JfcmF3OworCWlmIChpb2N0bChtYXN0ZXJfZmQsIFJBV19HRVRCSU5ELCAmcnEpIDwgMCkgeworCQlpZiAocXVpZXQgJiYgZXJybm8gPT0gRU5PREVWKQorCQkJcmV0dXJuIDM7CisJCWlmIChoYXNfd29ya2VkICYmIGVycm5vID09IEVJTlZBTCkKKwkJCXJldHVybiAwOworCQllcnIoRVhJVF9SQVdfSU9DVEwsIF8oIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiKSk7CisJfQorCisJLyogSWYgb25lIHF1ZXJ5IGhhcyB3b3JrZWQsIG1hcmsgdGhhdCBmYWN0IHNvIHRoYXQgd2UgZG9uJ3QgcmVwb3J0CisJICogc3B1cmlvdXMgZmF0YWwgZXJyb3JzIGlmIHJhdyg4KSBoYXMgYmVlbiBidWlsdCB0byBzdXBwb3J0IG1vcmUgcmF3CisJICogbWlub3IgbnVtYmVycyB0aGFuIHRoZSBrZXJuZWwgaGFzLiAqLworCWhhc193b3JrZWQgPSAxOworCWlmIChxdWlldCAmJiAhcnEuYmxvY2tfbWFqb3IgJiYgIXJxLmJsb2NrX21pbm9yKQorCQlyZXR1cm4gMDsKKwlwcmludGYoXygiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIiksCisJICAgICAgIF9QQVRIX1JBV0RFVkRJUiwgbWlub3JfcmF3LCAoaW50KXJxLmJsb2NrX21ham9yLAorCSAgICAgICAoaW50KXJxLmJsb2NrX21pbm9yKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBiaW5kKGludCBtaW5vcl9yYXcsIGludCBibG9ja19tYWpvciwgaW50IGJsb2NrX21pbm9yKQoreworCXN0cnVjdCByYXdfY29uZmlnX3JlcXVlc3QgcnE7CisKKwlycS5yYXdfbWlub3IgPSBtaW5vcl9yYXc7CisJcnEuYmxvY2tfbWFqb3IgPSBibG9ja19tYWpvcjsKKwlycS5ibG9ja19taW5vciA9IGJsb2NrX21pbm9yOworCWlmIChpb2N0bChtYXN0ZXJfZmQsIFJBV19TRVRCSU5ELCAmcnEpIDwgMCkKKwkJZXJyKEVYSVRfUkFXX0lPQ1RMLCBfKCJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiKSk7CisJcHJpbnRmKF8oIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIpLAorCSAgICAgICBfUEFUSF9SQVdERVZESVIsIHJhd19taW5vciwgKGludClycS5ibG9ja19tYWpvciwKKwkgICAgICAgKGludClycS5ibG9ja19taW5vcik7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9kaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuOCBiL2Rpc2stdXRpbHMvcmVzaXplcGFydC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEzZWEwZDIKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuOApAQCAtMCwwICsxLDM4IEBACisuXCIgcmVzaXplcGFydC44IC0tIG1hbiBwYWdlIGZvciByZXNpemVwYXJ0CisuXCIgQ29weXJpZ2h0IDIwMTIgVml2ZWsgR295YWwgPHZnb3lhbEByZWRoYXQuY29tPgorLlwiIENvcHlyaWdodCAyMDEyIFJlZCBIYXQsIEluYy4KKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggUkVTSVpFUEFSVCA4ICJKYW51YXJ5IDIwMTUiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3Jlc2l6ZXBhcnQgXC0gdGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbgorLlNIIFNZTk9QU0lTCisuQiByZXNpemVwYXJ0CisuSSBkZXZpY2UgcGFydGl0aW9uIGxlbmd0aAorLlNIIERFU0NSSVBUSU9OCisuQiByZXNpemVwYXJ0Cit0ZWxscyB0aGUgTGludXgga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiB0aGUgc3BlY2lmaWVkIHBhcnRpdGlvbi4KK1RoZSBjb21tYW5kIGlzIGEgc2ltcGxlIHdyYXBwZXIgYXJvdW5kIHRoZSAicmVzaXplIHBhcnRpdGlvbiIgaW9jdGwuCisKK1RoaXMgY29tbWFuZCBkb2Vzbid0IG1hbmlwdWxhdGUgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4KKworLlNIIFBBUkFNRVRFUlMKKy5UUAorLkkgZGV2aWNlCitUaGUgZGlzayBkZXZpY2UuCisuVFAKKy5JIHBhcnRpdGlvbgorVGhlIHBhcnRpdGlvbiBudW1iZXIuCisuVFAKKy5JIGxlbmd0aAorVGhlIG5ldyBsZW5ndGggb2YgdGhlIHBhcnRpdGlvbiAoaW4gNTEyLWJ5dGUgc2VjdG9ycykuCisKKy5TSCBTRUUgQUxTTworLkJSIGFkZHBhcnQgKDgpLAorLkJSIGRlbHBhcnQgKDgpLAorLkJSIGZkaXNrICg4KSwKKy5CUiBwYXJ0ZWQgKDgpLAorLkJSIHBhcnRwcm9iZSAoOCksCisuQlIgcGFydHggKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgcmVzaXplcGFydCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9yZXNpemVwYXJ0LmMgYi9kaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41Mjc1MTdmCi0tLSAvZGV2L251bGwKKysrIGIvZGlzay11dGlscy9yZXNpemVwYXJ0LmMKQEAgLTAsMCArMSwxMTkgQEAKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXJ0eC5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInJlc2l6ZXBhcnQoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IGdldF9wYXJ0aXRpb25fc3RhcnQoaW50IGZkLCBpbnQgcGFydG5vLCB1aW50NjRfdCAqc3RhcnQpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IHBhdGhfY3h0ICpkaXNrID0gTlVMTCwgKnBhcnQgPSBOVUxMOworCWRldl90IGRldm5vID0gMDsKKwlpbnQgcmMgPSAtMTsKKworCS8qCisJICogd2hvbGVkaXNrCisJICovCisJaWYgKGZzdGF0KGZkLCAmc3QpIHx8ICFTX0lTQkxLKHN0LnN0X21vZGUpKQorCQlnb3RvIGRvbmU7CisJZGV2bm8gPSBzdC5zdF9yZGV2OworCWRpc2sgPSB1bF9uZXdfc3lzZnNfcGF0aChkZXZubywgTlVMTCwgTlVMTCk7CisJaWYgKCFkaXNrKQorCQlnb3RvIGRvbmU7CisJLyoKKwkgKiBwYXJ0aXRpb24KKwkgKi8KKwlkZXZubyA9IHN5c2ZzX2Jsa2Rldl9wYXJ0bm9fdG9fZGV2bm8oZGlzaywgcGFydG5vKTsKKwlpZiAoIWRldm5vKQorCQlnb3RvIGRvbmU7CisKKwlwYXJ0ID0gdWxfbmV3X3N5c2ZzX3BhdGgoZGV2bm8sIGRpc2ssIE5VTEwpOworCWlmICghcGFydCkKKwkJZ290byBkb25lOworCWlmICh1bF9wYXRoX3JlYWRfdTY0KHBhcnQsIHN0YXJ0LCAic3RhcnQiKSkKKwkJZ290byBkb25lOworCisJcmMgPSAwOworZG9uZToKKwl1bF91bnJlZl9wYXRoKHBhcnQpOworCXVsX3VucmVmX3BhdGgoZGlzayk7CisJcmV0dXJuIHJjOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGMsIGZkLCBwYXJ0bm87CisJY29uc3QgY2hhciAqd2hvbGVkaXNrOworCXVpbnQ2NF90IHN0YXJ0OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7TlVMTCwgMCwgTlVMTCwgJzAnfSwKKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisKKwlpZiAoYXJnYyAhPSA0KSB7CisJCXdhcm54KF8oIm5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJd2hvbGVkaXNrID0gYXJndlsxXTsKKwlwYXJ0bm8gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndlsyXSwgXygiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IikpOworCisJaWYgKChmZCA9IG9wZW4od2hvbGVkaXNrLCBPX1JET05MWSkpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgd2hvbGVkaXNrKTsKKworCWlmIChnZXRfcGFydGl0aW9uX3N0YXJ0KGZkLCBwYXJ0bm8sICZzdGFydCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIiksCisJCQkJd2hvbGVkaXNrLCBhcmd2WzJdKTsKKworCWlmIChwYXJ0eF9yZXNpemVfcGFydGl0aW9uKGZkLCBwYXJ0bm8sIHN0YXJ0LAorCQkJc3RydG91NjRfb3JfZXJyKGFyZ3ZbM10sIF8oImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IikpKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iKSk7CisKKwlpZiAoY2xvc2VfZmQoZmQpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGZhaWxlZCIpKTsKKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9zZmRpc2suOCBiL2Rpc2stdXRpbHMvc2ZkaXNrLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZhNTIxNwotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvc2ZkaXNrLjgKQEAgLTAsMCArMSw1NjYgQEAKKy5cIiBzZmRpc2suOCAtLSBtYW4gcGFnZSBmb3Igc2ZkaXNrCisuXCIgQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiCisuXCIgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIG1ha2UgYW5kIGRpc3RyaWJ1dGUgdmVyYmF0aW0gY29waWVzIG9mIHRoaXMKKy5cIiBtYW51YWwgcHJvdmlkZWQgdGhlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGVybWlzc2lvbiBub3RpY2UgYXJlCisuXCIgcHJlc2VydmVkIG9uIGFsbCBjb3BpZXMuCisuXCIKKy5cIiBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gY29weSBhbmQgZGlzdHJpYnV0ZSBtb2RpZmllZCB2ZXJzaW9ucyBvZiB0aGlzCisuXCIgbWFudWFsIHVuZGVyIHRoZSBjb25kaXRpb25zIGZvciB2ZXJiYXRpbSBjb3B5aW5nLCBwcm92aWRlZCB0aGF0IHRoZQorLlwiIGVudGlyZSByZXN1bHRpbmcgZGVyaXZlZCB3b3JrIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiBhCisuXCIgcGVybWlzc2lvbiBub3RpY2UgaWRlbnRpY2FsIHRvIHRoaXMgb25lLgorLlwiCisuVEggU0ZESVNLIDggIkp1bmUgMjAxNSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorc2ZkaXNrIFwtIGRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlCisuU0ggU1lOT1BTSVMKKy5CIHNmZGlzaworW29wdGlvbnNdCisuSSBkZXZpY2UKKy5SQiBbIFwtTgorLklSIHBhcnRpdGlvbi1udW1iZXIgXQorLnNwCisuQiBzZmRpc2sKK1tvcHRpb25zXQorLkkgY29tbWFuZAorLlNIIERFU0NSSVBUSU9OCisuQiBzZmRpc2sKK2lzIGEgc2NyaXB0LW9yaWVudGVkIHRvb2wgZm9yIHBhcnRpdGlvbmluZyBhbnkgYmxvY2sgZGV2aWNlLgorCitTaW5jZSB2ZXJzaW9uIDIuMjYKKy5CIHNmZGlzaworc3VwcG9ydHMgTUJSIChET1MpLCBHUFQsIFNVTiBhbmQgU0dJIGRpc2sgbGFiZWxzLCBidXQgbm8gbG9uZ2VyIHByb3ZpZGVzIGFueQorZnVuY3Rpb25hbGl0eSBmb3IgQ0hTIChDeWxpbmRlci1IZWFkLVNlY3RvcikgYWRkcmVzc2luZy4gIENIUyBoYXMKK25ldmVyIGJlZW4gaW1wb3J0YW50IGZvciBMaW51eCwgYW5kIHRoaXMgYWRkcmVzc2luZyBjb25jZXB0IGRvZXMgbm90IG1ha2UgYW55CitzZW5zZSBmb3IgbmV3IGRldmljZXMuCisuc3AKKy5CIHNmZGlzaworKHNpbmNlIHZlcnNpb24gMi4yNikKKy5CIGFsaWducyB0aGUgc3RhcnQgYW5kIGVuZCBvZiBwYXJ0aXRpb25zCit0byBibG9jay1kZXZpY2UgSS9PIGxpbWl0cyB3aGVuIHJlbGF0aXZlIHNpemVzIGFyZSBzcGVjaWZpZWQsIHdoZW4gdGhlIGRlZmF1bHQKK3ZhbHVlcyBhcmUgdXNlZCBvciB3aGVuIG11bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIChlLmcgTWlCKSBhcmUgdXNlZCBmb3Igc2l6ZXMuCitJdCBpcyBwb3NzaWJsZSB0aGF0IHBhcnRpdGlvbiBzaXplIHdpbGwgYmUgb3B0aW1pemVkIChyZWR1Y2VkIG9yIGVubGFyZ2VkKSBkdWUKK3RvIGFsaWdubWVudCBpZiB0aGUgc3RhcnQgb2Zmc2V0IGlzIHNwZWNpZmllZCBleGFjdGx5IGluIHNlY3RvcnMgYW5kIHBhcnRpdGlvbgorc2l6ZSByZWxhdGl2ZSBvciBieSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcy4KKworVGhlIHJlY29tbWVuZGVkIHdheSBpcyBub3QgdG8gc3BlY2lmeSBzdGFydCBvZmZzZXRzIGF0IGFsbCBhbmQgc3BlY2lmeQorcGFydGl0aW9uIHNpemUgaW4gTWlCLCBHaUIgKG9yIHNvKS4gIEluIHRoaXMgY2FzZSBzZmRpc2sgYWxpZ24gYWxsIHBhcnRpdGlvbnMKK3RvIGJsb2NrLWRldmljZSBJL08gbGltaXRzIChvciB3aGVuIEkvTyBsaW1pdHMgYXJlIHRvbyBzbWFsbCB0aGVuIHRvIG1lZ2FieXRlCitib3VuZGFyeSB0byBrZWVwIGRpc2sgbGF5b3V0IHBvcnRhYmxlKS4gIElmIHRoaXMgZGVmYXVsdCBiZWhhdmlvdXIgaXMgdW53YW50ZWQKKyh1c3VhbGx5IGZvciB2ZXJ5IHNtYWxsIHBhcnRpdGlvbnMpIHRoZW4gc3BlY2lmeSBvZmZzZXRzIGFuZCBzaXplcyBpbgorc2VjdG9ycy4gIEluIHRoaXMgY2FzZSBzZmRpc2sgZW50aXJlbHkgZm9sbG93cyBzcGVjaWZpZWQgbnVtYmVycyB3aXRob3V0IGFueQorb3B0aW1pemF0aW9uLgorLnNwCisuQiBzZmRpc2sKK2RvZXMgbm90IGNyZWF0ZSB0aGUgc3RhbmRhcmQgc3lzdGVtIHBhcnRpdGlvbnMgZm9yIFNHSSBhbmQgU1VOIGRpc2sgbGFiZWxzIGxpa2UKKy5CUiBmZGlzayAoOCkKK2RvZXMuCitJdCBpcyBuZWNlc3NhcnkgdG8gZXhwbGljaXRseSBjcmVhdGUgYWxsIHBhcnRpdGlvbnMgaW5jbHVkaW5nIHdob2xlLWRpc2sgc3lzdGVtCitwYXJ0aXRpb25zLgorCisuQiBzZmRpc2sKK3VzZXMgQkxLUlJQQVJUIChyZXJlYWQgcGFydGl0aW9uIHRhYmxlKSBpb2N0bCB0byBtYWtlIHN1cmUgdGhhdCB0aGUgZGV2aWNlIGlzCitub3QgdXNlZCBieSBzeXN0ZW0gb3IgYW5vdGhlciB0b29scyAoc2VlIGFsc28gLS1uby1yZXJlYWQpLiAgSXQncyBwb3NzaWJsZSB0aGF0Cit0aGlzIGZlYXR1cmUgb3IgYW5vdGhlciBzZmRpc2sgYWN0aXZpdHkgcmFjZXMgd2l0aCBcZkJ1ZGV2ZFxmUi4gIFRoZSByZWNvbW1lbmRlZCB3YXkKK2hvdyB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zIGlzIHRvIHVzZSBleGNsdXNpdmUgZmxvY2sgZm9yIHRoZSB3aG9sZS1kaXNrCitkZXZpY2UgdG8gc2VyaWFsaXplIGRldmljZSBhY2Nlc3MuICBUaGUgZXhjbHVzaXZlIGxvY2sgd2lsbCBjYXVzZSB1ZGV2ZCB0byBza2lwCit0aGUgZXZlbnQgaGFuZGxpbmcgb24gdGhlIGRldmljZS4gIEZvciBleGFtcGxlOgorLlJTCisuc3AKKy5uZgorLkIgImZsb2NrIC9kZXYvc2RjIHNmZGlzayAvZGV2L3NkYyIKKy5maQorLnNwCisuUkUKK05vdGUsIHRoaXMgc2VtYW50aWMgaXMgbm90IGN1cnJlbnRseSBzdXBwb3J0ZWQgYnkgdWRldmQgZm9yIE1EIGFuZCBETSBkZXZpY2VzLgorCisuU0ggQ09NTUFORFMKK1RoZSBjb21tYW5kcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgorLlRQCisuUkIgWyBcLU4gIiBcZklwYXJ0aXRpb24tbnVtYmVyXGZSXSAiIFxmSWRldmljZVxmUgorVGhlIGRlZmF1bHQgXGZCc2ZkaXNrXGZSIGNvbW1hbmQgaXMgdG8gcmVhZCB0aGUgc3BlY2lmaWNhdGlvbiBmb3IgdGhlIGRlc2lyZWQKK3BhcnRpdGlvbmluZyBvZiBcZklkZXZpY2VcZlIgZnJvbSBzdGFuZGFyZCBpbnB1dCwgYW5kIHRoZW4gY3JlYXRlIGEgcGFydGl0aW9uCit0YWJsZSBhY2NvcmRpbmcgdG8gdGhlIHNwZWNpZmljYXRpb24uICBTZWUgYmVsb3cgZm9yIHRoZSBkZXNjcmlwdGlvbiBvZiB0aGUKK2lucHV0IGZvcm1hdC4gIElmIHN0YW5kYXJkIGlucHV0IGlzIGEgdGVybWluYWwsIHRoZW4gXGZCc2ZkaXNrXGZSIHN0YXJ0cyBhbgoraW50ZXJhY3RpdmUgc2Vzc2lvbi4KKy5zcAorSWYgdGhlIG9wdGlvbiBcZkJcLU5cZlIgaXMgc3BlY2lmaWVkLCB0aGVuIHRoZSBjaGFuZ2VzIGFyZSBhcHBsaWVkIHRvCit0aGUgcGFydGl0aW9uIGFkZHJlc3NlZCBieSBcZklwYXJ0aXRpb24tbnVtYmVyXGZSLiAgVGhlIHVuc3BlY2lmaWVkIGZpZWxkcworb2YgdGhlIHBhcnRpdGlvbiBhcmUgbm90IG1vZGlmaWVkLgorLnNwCitOb3RlIHRoYXQgaXQncyBwb3NzaWJsZSB0byBhZGRyZXNzIGFuIHVudXNlZCBwYXJ0aXRpb24gd2l0aCBcZkJcLU5cZlIuCitGb3IgZXhhbXBsZSwgYW4gTUJSIGFsd2F5cyBjb250YWlucyA0IHBhcnRpdGlvbnMsIGJ1dCB0aGUgbnVtYmVyIG9mIHVzZWQKK3BhcnRpdGlvbnMgbWF5IGJlIHNtYWxsZXIuICBJbiB0aGlzIGNhc2UgXGZCc2ZkaXNrXGZSIGZvbGxvd3MgdGhlIGRlZmF1bHQKK3ZhbHVlcyBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGUgYW5kIGRvZXMgbm90IHVzZSBidWlsdC1pbiBkZWZhdWx0cyBmb3IgdGhlCit1bnVzZWQgcGFydGl0aW9uIGdpdmVuIHdpdGggXGZCXC1OXGZSLiAgU2VlIGFsc28gXGZCXC1cLWFwcGVuZFxmUi4KKy5UUAorLkJSIFwtQSAsICIgXC1cLWFjdGl2YXRlIFxmSWRldmljZSAiIFsgXGZJcGFydGl0aW9uLW51bWJlci4uLl0KK1N3aXRjaCBvbiB0aGUgYm9vdGFibGUgZmxhZyBmb3IgdGhlIHNwZWNpZmllZCBwYXJ0aXRpb25zIGFuZCBzd2l0Y2ggb2ZmIHRoZQorYm9vdGFibGUgZmxhZyBvbiBhbGwgdW5zcGVjaWZpZWQgcGFydGl0aW9ucy4gVGhlIHNwZWNpYWwgcGxhY2Vob2xkZXIgJy0nCittYXkgYmUgdXNlZCBpbnN0ZWFkIG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVycyB0byBzd2l0Y2ggb2ZmIHRoZSBib290YWJsZSBmbGFnCitvbiBhbGwgcGFydGl0aW9ucy4KKworSWYgbm8gXGZJcGFydGl0aW9uLW51bWJlclxmUiBpcyBzcGVjaWZpZWQsIHRoZW4gbGlzdCB0aGUgcGFydGl0aW9ucyB3aXRoIGFuCitlbmFibGVkIGZsYWcuCisuVFAKKy5CUiAiXC1cLWRlbGV0ZSBcZklkZXZpY2UgIiBbIFxmSXBhcnRpdGlvbi1udW1iZXIgLi4uXQorRGVsZXRlIGFsbCBvciB0aGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMuCisuVFAKKy5CUiBcLWQgLCAiIFwtXC1kdW1wICIgXGZJZGV2aWNlXGZSCitEdW1wIHRoZSBwYXJ0aXRpb25zIG9mIGEgZGV2aWNlIGluIGEgZm9ybWF0IHRoYXQgaXMgdXNhYmxlIGFzIGlucHV0IHRvIFxmQnNmZGlza1xmUi4KK1NlZSB0aGUgc2VjdGlvbiBcZkJCQUNLSU5HIFVQIFRIRSBQQVJUSVRJT04gVEFCTEVcZlIuCisuVFAKKy5CUiBcLWcgLCAiIFwtXC1zaG93XC1nZW9tZXRyeSAiIFsgXGZJZGV2aWNlIC4uLl0KK0xpc3QgdGhlIGdlb21ldHJ5IG9mIGFsbCBvciB0aGUgc3BlY2lmaWVkIGRldmljZXMuIEZvciBiYWNrd2FyZAorY29tcGF0aWJpbGl0eSB0aGUgZGVwcmVjYXRlZCBvcHRpb24gXGZCXC1cLXNob3dcLXB0XC1nZW9tZXRyeVxmUiBoYXZlIHRoZSBzYW1lCittZWFuaW5nIGFzIHRoaXMgb25lLgorLlRQCisuQlIgXC1KICwgIiBcLVwtanNvbiAiIFxmSWRldmljZVxmUgorRHVtcCB0aGUgcGFydGl0aW9ucyBvZiBhIGRldmljZSBpbiBKU09OIGZvcm1hdC4gIE5vdGUgdGhhdCBcZkJzZmRpc2tcZlIgaXMKK25vdCBhYmxlIHRvIHVzZSBKU09OIGFzIGlucHV0IGZvcm1hdC4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxpc3QgIiBbIFxmSWRldmljZSAuLi5dCitMaXN0IHRoZSBwYXJ0aXRpb25zIG9mIGFsbCBvciB0aGUgc3BlY2lmaWVkIGRldmljZXMuICBUaGlzIGNvbW1hbmQgY2FuIGJlIHVzZWQKK3RvZ2V0aGVyIHdpdGggXGZCXC1cLXZlcmlmeVxmUi4KKy5UUAorLkJSIFwtRiAsICIgXC1cLWxpc3QtZnJlZSAiIFsgXGZJZGV2aWNlIC4uLl0KK0xpc3QgdGhlIGZyZWUgdW5wYXJ0aXRpb25lZCBhcmVhcyBvbiBhbGwgb3IgdGhlIHNwZWNpZmllZCBkZXZpY2VzLgorLlRQCisuQlIgIlwtXC1wYXJ0XC1hdHRycyBcZklkZXZpY2UgcGFydGl0aW9uLW51bWJlciAiIFsgXGZJYXR0cmlidXRlcyBdCitDaGFuZ2UgdGhlIEdQVCBwYXJ0aXRpb24gYXR0cmlidXRlIGJpdHMuICBJZiBcZklhdHRyaWJ1dGVzXGZSIGlzIG5vdCBzcGVjaWZpZWQsCit0aGVuIHByaW50IHRoZSBjdXJyZW50IHBhcnRpdGlvbiBzZXR0aW5ncy4gIFRoZSBcZklhdHRyaWJ1dGVzXGZSIGFyZ3VtZW50IGlzIGEKK2NvbW1hLSBvciBzcGFjZS1kZWxpbWl0ZWQgbGlzdCBvZiBiaXRzLiAgVGhlIGN1cnJlbnRseSBzdXBwb3J0ZWQgYXR0cmlidXRlCitiaXRzIGFyZTogUmVxdWlyZWRQYXJ0aXRpb24sIE5vQmxvY2tJT1Byb3RvY29sLCBMZWdhY3lCSU9TQm9vdGFibGUKK2FuZCBHVUlELXNwZWNpZmljIGJpdHMgaW4gdGhlIHJhbmdlIGZyb20gNDggdG8gNjMuICBGb3IgZXhhbXBsZSwgdGhlIHN0cmluZworIlJlcXVpcmVkUGFydGl0aW9uLDUwLDUxIiBzZXRzIHRocmVlIGJpdHMuCisuVFAKKy5CUiAiXC1cLXBhcnRcLWxhYmVsIFxmSWRldmljZSBwYXJ0aXRpb24tbnVtYmVyICIgWyBcZklsYWJlbCBdCitDaGFuZ2UgdGhlIEdQVCBwYXJ0aXRpb24gbmFtZSAobGFiZWwpLiAgSWYgXGZJbGFiZWxcZlIgaXMgbm90IHNwZWNpZmllZCwKK3RoZW4gcHJpbnQgdGhlIGN1cnJlbnQgcGFydGl0aW9uIGxhYmVsLgorLlRQCisuQlIgIlwtXC1wYXJ0XC10eXBlIFxmSWRldmljZSBwYXJ0aXRpb24tbnVtYmVyICIgWyBcZkl0eXBlIF0KK0NoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUuICBJZiBcZkl0eXBlXGZSIGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gcHJpbnQgdGhlCitjdXJyZW50IHBhcnRpdGlvbiB0eXBlLiAgVGhlIFxmSXR5cGVcZlIgYXJndW1lbnQgaXMgaGV4YWRlY2ltYWwgZm9yIE1CUiwKK29yIGEgR1VJRCBmb3IgR1BULiAgRm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgdGhlIG9wdGlvbnMgXGZCXC1jXGZSIGFuZAorXGZCXC1cLWlkXGZSIGhhdmUgdGhlIHNhbWUgbWVhbmluZyBhcyB0aGlzIG9uZS4KKy5UUAorLkJSICJcLVwtcGFydFwtdXVpZCBcZklkZXZpY2UgcGFydGl0aW9uLW51bWJlciAiIFsgXGZJdXVpZCBdCitDaGFuZ2UgdGhlIEdQVCBwYXJ0aXRpb24gVVVJRC4gIElmIFxmSXV1aWRcZlIgaXMgbm90IHNwZWNpZmllZCwKK3RoZW4gcHJpbnQgdGhlIGN1cnJlbnQgcGFydGl0aW9uIFVVSUQuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yZW9yZGVyICIgXGZJZGV2aWNlCitSZW51bWJlciB0aGUgcGFydGl0aW9ucywgb3JkZXJpbmcgdGhlbSBieSB0aGVpciBzdGFydCBvZmZzZXQuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaG93XC1zaXplICIgWyBcZklkZXZpY2UgLi4uXQorTGlzdCB0aGUgc2l6ZXMgb2YgYWxsIG9yIHRoZSBzcGVjaWZpZWQgZGV2aWNlcyBpbiB1bml0cyBvZiAxMDI0IGJ5dGUgc2l6ZS4KK1RoaXMgY29tbWFuZCBpcyBERVBSRUNBVEVEIGluIGZhdm91ciBvZgorLkJSIGJsb2NrZGV2ICgxKS4KKy5UUAorLkJSIFwtVCAsICIgXC1cLWxpc3RcLXR5cGVzIgorUHJpbnQgYWxsIHN1cHBvcnRlZCB0eXBlcyBmb3IgdGhlIGN1cnJlbnQgZGlzayBsYWJlbCBvciB0aGUgbGFiZWwgc3BlY2lmaWVkIGJ5CitcZkJcLVwtbGFiZWxcZlIuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJpZnkgIiBbIFxmSWRldmljZSAuLi5dCitUZXN0IHdoZXRoZXIgdGhlIHBhcnRpdGlvbiB0YWJsZSBhbmQgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3QuCisKKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hcHBlbmQiCitEb24ndCBjcmVhdGUgYSBuZXcgcGFydGl0aW9uIHRhYmxlLCBidXQgb25seSBhcHBlbmQgdGhlIHNwZWNpZmllZCBwYXJ0aXRpb25zLgorLlRQCisuQlIgXC1iICwgIiBcLVwtYmFja3VwIgorQmFjayB1cCB0aGUgY3VycmVudCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyBiZWZvcmUgc3RhcnRpbmcgdGhlIHBhcnRpdGlvbmluZy4KK1RoZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWUgaXMgfi9zZmRpc2stPGRldmljZT4tPG9mZnNldD4uYmFrOyB0byB1c2UgYW5vdGhlcgorbmFtZSBzZWUgb3B0aW9uIFxmQlwtT1xmUiwgXGZCXC1cLWJhY2t1cFwtZmlsZVxmUi4KKy5UUAorLkJSIFwtXC1jb2xvciBbID1cZkl3aGVuIF0KK0NvbG9yaXplIHRoZSBvdXRwdXQuICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgXGZJd2hlblxmUAorY2FuIGJlIFxmQmF1dG9cZlIsIFxmQm5ldmVyXGZSIG9yIFxmQmFsd2F5c1xmUi4gIElmIHRoZSBcZkl3aGVuXGZSIGFyZ3VtZW50IGlzIG9taXR0ZWQsCitpdCBkZWZhdWx0cyB0byBcZkJhdXRvXGZSLiAgVGhlIGNvbG9ycyBjYW4gYmUgZGlzYWJsZWQ7IGZvciB0aGUgY3VycmVudCBidWlsdC1pbiBkZWZhdWx0CitzZWUgdGhlIFxmQlwtXC1oZWxwXGZSIG91dHB1dC4gIFNlZSBhbHNvIHRoZSBcZkJDT0xPUlNcZlIgc2VjdGlvbi4KKy5UUAorLkJSIFwtZiAsICIgXC1cLWZvcmNlIgorRGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmcuCisuVFAKKy5CIFwtXC1MaW51eAorRGVwcmVjYXRlZCBhbmQgaWdub3JlZCBvcHRpb24uICBQYXJ0aXRpb25pbmcgdGhhdCBpcyBjb21wYXRpYmxlIHdpdGgKK0xpbnV4IChhbmQgb3RoZXIgbW9kZXJuIG9wZXJhdGluZyBzeXN0ZW1zKSBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vXC1hY3QiCitEbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0aW5nIHRvIHRoZSBkZXZpY2UuCisuVFAKKy5CIFwtXC1ub1wtcmVyZWFkCitEbyBub3QgY2hlY2sgdGhyb3VnaCB0aGUgcmUtcmVhZC1wYXJ0aXRpb24tdGFibGUgaW9jdGwgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZS4KKy5UUAorLkIgXC1cLW5vXC10ZWxsXC1rZXJuZWwKK0Rvbid0IHRlbGwgdGhlIGtlcm5lbCBhYm91dCBwYXJ0aXRpb24gY2hhbmdlcy4gVGhpcyBvcHRpb24gaXMgcmVjb21tZW5kZWQgdG9nZXRoZXIKK3dpdGggXGZCXC1cLW5vXC1yZXJlYWRcZlIgdG8gbW9kaWZ5IGEgcGFydGl0aW9uIG9uIHVzZWQgZGlzay4gVGhlIG1vZGlmaWVkIHBhcnRpdGlvbgorc2hvdWxkIG5vdCBiZSB1c2VkIChlLmcuIG1vdW50ZWQpLgorLlRQCisuQlIgXC1PICwgIiBcLVwtYmFja3VwXC1maWxlICIgXGZJcGF0aAorT3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZS4gIE5vdGUgdGhhdCB0aGUgZGV2aWNlIG5hbWUgYW5kIG9mZnNldAorYXJlIGFsd2F5cyBhcHBlbmRlZCB0byB0aGUgZmlsZSBuYW1lLgorLlRQCisuQlIgXC1cLW1vdmUtZGF0YSBbID1cZklwYXRoIF0KK01vdmUgZGF0YSBhZnRlciBwYXJ0aXRpb24gcmVsb2NhdGlvbiwgZm9yIGV4YW1wbGUgd2hlbiBtb3ZpbmcgdGhlIGJlZ2lubmluZworb2YgYSBwYXJ0aXRpb24gdG8gYW5vdGhlciBwbGFjZSBvbiB0aGUgZGlzay4gIFRoZSBzaXplIG9mIHRoZSBwYXJ0aXRpb24gaGFzCit0byByZW1haW4gdGhlIHNhbWUsIHRoZSBuZXcgYW5kIG9sZCBsb2NhdGlvbiBtYXkgb3ZlcmxhcC4gIFRoaXMgb3B0aW9uIHJlcXVpcmVzCitvcHRpb24gXGZCXC1OXGZSIGluIG9yZGVyIHRvIGJlIHByb2Nlc3NlZCBvbiBvbmUgc3BlY2lmaWMgcGFydGl0aW9uIG9ubHkuCisKK1RoZSBcZklwYXRoXGZSIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBsb2cgZmlsZSBuYW1lCisodGhlIGRlZmF1bHQgaXMgfi9zZmRpc2stPGRldm5hbWU+Lm1vdmUpLiAgVGhlIGxvZyBmaWxlIGNvbnRhaW5zIGluZm9ybWF0aW9uCithYm91dCBhbGwgcmVhZC93cml0ZSBvcGVyYXRpb25zIG9uIHRoZSBwYXJ0aXRpb24gZGF0YS4KKworTm90ZSB0aGF0IHRoaXMgb3BlcmF0aW9uIGlzIHJpc2t5IGFuZCBub3QgYXRvbWljLiBcZkJEb24ndCBmb3JnZXQgdG8gYmFja3VwIHlvdXIgZGF0YSFcZlIKKworSW4gdGhlIGV4YW1wbGUgYmVsb3csIHRoZSBmaXJzdCBjb21tYW5kIGNyZWF0ZXMgYSAxMDBNaUIgZnJlZSBhcmVhIGJlZm9yZQordGhlIGZpcnN0IHBhcnRpdGlvbiBhbmQgbW92ZXMgdGhlIGRhdGEgaXQgY29udGFpbnMgKGUuZy4gYSBmaWxlc3lzdGVtKSwKK3RoZSBuZXh0IGNvbW1hbmQgY3JlYXRlcyBhIG5ldyBwYXJ0aXRpb24gZnJvbSB0aGUgZnJlZSBzcGFjZSAoYXQgb2Zmc2V0IDIwNDgpLAorYW5kIHRoZSBsYXN0IGNvbW1hbmQgcmVvcmRlcnMgcGFydGl0aW9ucyB0byBtYXRjaCBkaXNrIG9yZGVyCisodGhlIG9yaWdpbmFsIHNkYzEgd2lsbCBiZWNvbWUgc2RjMikuCisuUlMKKy5zcAorLkIgImVjaG8gJysxMDBNLCcgfCBzZmRpc2sgLS1tb3ZlLWRhdGEgL2Rldi9zZGMgLU4gMSIKKy5icgorLkIgImVjaG8gJzIwNDgsJyB8IHNmZGlzayAvZGV2L3NkYyAtLWFwcGVuZAorLmJyCisuQiBzZmRpc2sgL2Rldi9zZGMgLS1yZW9yZGVyCisuc3AKKy5SRQorCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgIiBcZklsaXN0CitTcGVjaWZ5IHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHByaW50LiAgVXNlCisuQiBcLVwtaGVscAordG8gZ2V0IGEgbGlzdCBvZiBhbGwgc3VwcG9ydGVkIGNvbHVtbnMuCisuc3AKK1RoZSBkZWZhdWx0IGxpc3Qgb2YgY29sdW1ucyBtYXkgYmUgZXh0ZW5kZWQgaWYgXGZJbGlzdFxmUCBpcworc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgXGZJK2xpc3RcZlAgKGUuZy4gXGZCLW8gK1VVSURcZlApLgorLlRQCisuQlIgXC1xICwgIiBcLVwtcXVpZXQiCitTdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzLgorLlRQCisuQlIgXC11ICwgIiBcLVwtdW5pdCBTIgorRGVwcmVjYXRlZCBvcHRpb24uICBPbmx5IHRoZSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWQuIFRoaXMgb3B0aW9uIGlzIG5vdAorc3VwcG9ydGVkIHdoZW4gdXNpbmcgdGhlIC0tc2hvdy1zaXplIGNvbW1hbmQuCisuVFAKKy5CUiBcLVggLCAiIFwtXC1sYWJlbCAiIFxmSXR5cGUKK1NwZWNpZnkgdGhlIGRpc2sgbGFiZWwgdHlwZSAoZS5nLiBcZkJkb3NcZlIsIFxmQmdwdFxmUiwgLi4uKS4gIElmIHRoaXMgb3B0aW9uCitpcyBub3QgZ2l2ZW4sIHRoZW4gXGZCc2ZkaXNrXGZSIGRlZmF1bHRzIHRvIHRoZSBleGlzdGluZyBsYWJlbCwgYnV0IGlmIHRoZXJlCitpcyBubyBsYWJlbCBvbiB0aGUgZGV2aWNlIHlldCwgdGhlbiB0aGUgdHlwZSBkZWZhdWx0cyB0byBcZkJkb3NcZlIuIFRoZSBkZWZhdWx0CitvciB0aGUgY3VycmVudCBsYWJlbCBtYXkgYmUgb3ZlcndyaXR0ZW4gYnkgdGhlICJsYWJlbDogPG5hbWU+IiBzY3JpcHQgaGVhZGVyCitsaW5lLiBUaGUgb3B0aW9uIFxmQlwtXC1sYWJlbFxmUiBkb2VzIG5vdCBmb3JjZSBcZkJzZmRpc2tcZlIgdG8gY3JlYXRlIGVtcHR5CitkaXNrIGxhYmVsIChzZWUgdGhlIFxmQkVNUFRZIERJU0sgTEFCRUxcZlIgc2VjdGlvbiBiZWxvdykuCisuVFAKKy5CUiBcLVkgLCAiIFwtXC1sYWJlbFwtbmVzdGVkICIgXGZJdHlwZQorRm9yY2UgZWRpdGluZyBvZiBhIG5lc3RlZCBkaXNrIGxhYmVsLiAgVGhlIHByaW1hcnkgZGlzayBsYWJlbCBoYXMgdG8gZXhpc3QgYWxyZWFkeS4KK1RoaXMgb3B0aW9uIGFsbG93cyB0byBlZGl0IGZvciBleGFtcGxlIGEgaHlicmlkL3Byb3RlY3RpdmUgTUJSIG9uIGRldmljZXMgd2l0aCBHUFQuCisKKy5UUAorLkJSIC13ICwgIiBcLVwtd2lwZSAiXGZJd2hlbgorV2lwZSBmaWxlc3lzdGVtLCBSQUlEIGFuZCBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlcyBmcm9tIHRoZSBkZXZpY2UsIGluIG9yZGVyCit0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiAgVGhlIGFyZ3VtZW50IFxmSXdoZW5cZlIgY2FuIGJlIFxmQmF1dG9cZlIsCitcZkJuZXZlclxmUiBvciBcZkJhbHdheXNcZlIuICBXaGVuIHRoaXMgb3B0aW9uIGlzIG5vdCBnaXZlbiwgdGhlIGRlZmF1bHQgaXMKK1xmQmF1dG9cZlIsIGluIHdoaWNoIGNhc2Ugc2lnbmF0dXJlcyBhcmUgd2lwZWQgb25seSB3aGVuIGluIGludGVyYWN0aXZlIG1vZGU7CitleGNlcHQgdGhlIG9sZCBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlcyB3aGljaCBhcmUgYWx3YXlzIHdpcGVkIGJlZm9yZSBjcmVhdGUKK2EgbmV3IHBhcnRpdGlvbi10YWJsZSBpZiB0aGUgYXJndW1lbnQgXGZJd2hlblxmUiBpcyBub3QgXGZCbmV2ZXJcZlIuIEluIGFsbAorY2FzZXMgZGV0ZWN0ZWQgc2lnbmF0dXJlcyBhcmUgcmVwb3J0ZWQgYnkgd2FybmluZyBtZXNzYWdlcyBiZWZvcmUgYSBuZXcKK3BhcnRpdGlvbiB0YWJsZSBpcyBjcmVhdGVkLiAgU2VlIGFsc28KKy5CUiB3aXBlZnMgKDgpCitjb21tYW5kLgorCisuVFAKKy5CUiAtVyAsICIgXC1cLXdpcGUtcGFydGl0aW9ucyAiXGZJd2hlbgorV2lwZSBmaWxlc3lzdGVtLCBSQUlEIGFuZCBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlcyBmcm9tIGEgbmV3bHkgY3JlYXRlZAorcGFydGl0aW9ucywgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4gIFRoZSBhcmd1bWVudCBcZkl3aGVuXGZSIGNhbgorYmUgXGZCYXV0b1xmUiwgXGZCbmV2ZXJcZlIgb3IgXGZCYWx3YXlzXGZSLiAgV2hlbiB0aGlzIG9wdGlvbiBpcyBub3QgZ2l2ZW4sIHRoZQorZGVmYXVsdCBpcyBcZkJhdXRvXGZSLCBpbiB3aGljaCBjYXNlIHNpZ25hdHVyZXMgYXJlIHdpcGVkIG9ubHkgd2hlbiBpbgoraW50ZXJhY3RpdmUgbW9kZSBhbmQgYWZ0ZXIgY29uZmlybWF0aW9uIGJ5IHVzZXIuICBJbiBhbGwgY2FzZXMgZGV0ZWN0ZWQKK3NpZ25hdHVyZXMgYXJlIHJlcG9ydGVkIGJ5IHdhcm5pbmcgbWVzc2FnZXMgYWZ0ZXIgYSBuZXcgcGFydGl0aW9uIGlzIGNyZWF0ZWQuCitTZWUgYWxzbworLkJSIHdpcGVmcyAoOCkKK2NvbW1hbmQuCisKKy5UUAorLkJSIFwtdiAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisKKy5TSCAiSU5QVVQgRk9STUFUUyIKKy5CIHNmZGlzaworc3VwcG9ydHMgdHdvIGlucHV0IGZvcm1hdHMgYW5kIGdlbmVyaWMgaGVhZGVyIGxpbmVzLgorCisuQiBIZWFkZXIgbGluZXMKKy5SUworVGhlIG9wdGlvbmFsIGhlYWRlciBsaW5lcyBzcGVjaWZ5IGdlbmVyaWMgaW5mb3JtYXRpb24gdGhhdCBhcHBseSB0byB0aGUgcGFydGl0aW9uCit0YWJsZS4gIFRoZSBoZWFkZXItbGluZSBmb3JtYXQgaXM6CisuUlMKKy5zcAorLkIgIjxuYW1lPjogPHZhbHVlPiIKKy5zcAorLlJFCitUaGUgY3VycmVudGx5IHJlY29nbml6ZWQgaGVhZGVycyBhcmU6CisuUlMKKy5UUAorLkIgdW5pdAorU3BlY2lmeSB0aGUgcGFydGl0aW9uaW5nIHVuaXQuICBUaGUgb25seSBzdXBwb3J0ZWQgdW5pdCBpcyBcZkJzZWN0b3JzXGZSLgorLlRQCisuQiBsYWJlbAorU3BlY2lmeSB0aGUgcGFydGl0aW9uIHRhYmxlIHR5cGUuICBGb3IgZXhhbXBsZSBcZkJkb3NcZlIgb3IgXGZCZ3B0XGZSLgorLlRQCisuQiBsYWJlbC1pZAorU3BlY2lmeSB0aGUgcGFydGl0aW9uIHRhYmxlIGlkZW50aWZpZXIuICBJdCBzaG91bGQgYmUgYSAgaGV4YWRlY2ltYWwgbnVtYmVyCisod2l0aCBhIDB4IHByZWZpeCkgZm9yIE1CUiBhbmQgYSBVVUlEIGZvciBHUFQuCisuUkUKKy5zcAorTm90ZSB0aGF0IGl0IGlzIG9ubHkgcG9zc2libGUgdG8gdXNlIGhlYWRlciBsaW5lcyBiZWZvcmUgdGhlIGZpcnN0IHBhcnRpdGlvbgoraXMgc3BlY2lmaWVkIGluIHRoZSBpbnB1dC4KKy5SRQorCisuQiBVbm5hbWVkLWZpZWxkcyBmb3JtYXQKKy5SUworLlJTCisuc3AKKy5JIHN0YXJ0IHNpemUgdHlwZSBib290YWJsZQorLnNwCisuUkUKK3doZXJlIGVhY2ggbGluZSBmaWxscyBvbmUgcGFydGl0aW9uIGRlc2NyaXB0b3IuCisuc3AKK0ZpZWxkcyBhcmUgc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2UsIGNvbW1hIG9yIHNlbWljb2xvbiBwb3NzaWJseQorZm9sbG93ZWQgYnkgd2hpdGVzcGFjZTsgaW5pdGlhbCBhbmQgdHJhaWxpbmcgd2hpdGVzcGFjZSBpcyBpZ25vcmVkLgorTnVtYmVycyBjYW4gYmUgb2N0YWwsIGRlY2ltYWwgb3IgaGV4YWRlY2ltYWw7IGRlY2ltYWwgaXMgdGhlIGRlZmF1bHQuCitXaGVuIGEgZmllbGQgaXMgYWJzZW50LCBlbXB0eSBvciBzcGVjaWZpZWQgYXMgJy0nIGEgZGVmYXVsdCB2YWx1ZSBpcwordXNlZC4gIEJ1dCB3aGVuIHRoZSBcZkItTlxmUiBvcHRpb24gKGNoYW5nZSBhIHNpbmdsZSBwYXJ0aXRpb24pIGlzCitnaXZlbiwgdGhlIGRlZmF1bHQgZm9yIGVhY2ggZmllbGQgaXMgaXRzIHByZXZpb3VzIHZhbHVlLgorLnNwCitUaGUgZGVmYXVsdCB2YWx1ZSBvZgorLkkgc3RhcnQKK2lzIHRoZSBmaXJzdCBub24tYXNzaWduZWQgc2VjdG9yIGFsaWduZWQgYWNjb3JkaW5nIHRvIGRldmljZSBJL08gbGltaXRzLgorVGhlIGRlZmF1bHQgc3RhcnQgb2Zmc2V0IGZvciB0aGUgZmlyc3QgcGFydGl0aW9uIGlzIDEgTWlCLiAgVGhlIG9mZnNldCBtYXkKK2JlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyAoS2lCLCBNaUIsIEdpQiwgVGlCLCBQaUIsCitFaUIsIFppQiBhbmQgWWlCKSB0aGVuIHRoZSBudW1iZXIgaXMgaW50ZXJwcmV0ZWQgYXMgb2Zmc2V0IGluIGJ5dGVzLgorLnNwCitUaGUgZGVmYXVsdCB2YWx1ZSBvZgorLkkgc2l6ZQoraW5kaWNhdGVzICJhcyBtdWNoIGFzIHBvc3NpYmxlIjsgaS5lLiB1bnRpbCB0aGUgbmV4dCBwYXJ0aXRpb24gb3IKK2VuZC1vZi1kZXZpY2UuICBBIG51bWVyaWNhbCBhcmd1bWVudCBpcyBieSBkZWZhdWx0IGludGVycHJldGVkIGFzIGEKK251bWJlciBvZiBzZWN0b3JzLCBob3dldmVyIGlmIHRoZSBzaXplIGlzIGZvbGxvd2VkIGJ5IG9uZSBvZiB0aGUKK211bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIChLaUIsIE1pQiwgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQikKK3RoZW4gdGhlIG51bWJlciBpcyBpbnRlcnByZXRlZCBhcyB0aGUgc2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIGJ5dGVzCithbmQgaXQgaXMgdGhlbiBhbGlnbmVkIGFjY29yZGluZyB0byB0aGUgZGV2aWNlIEkvTyBsaW1pdHMuICBBICcrJyBjYW4KK2JlIHVzZWQgaW5zdGVhZCBvZiBhIG51bWJlciB0byBlbmxhcmdlIHRoZSBwYXJ0aXRpb24gYXMgbXVjaCBhcworcG9zc2libGUuICBOb3RlICcrJyBpcyBlcXVpdmFsZW50IHRvIHRoZSBkZWZhdWx0IGJlaGF2aW91ciBmb3IgYSBuZXcKK3BhcnRpdGlvbjsgZXhpc3RpbmcgcGFydGl0aW9ucyB3aWxsIGJlIHJlc2l6ZWQgYXMgcmVxdWlyZWQuCisuc3AKK1RoZSBwYXJ0aXRpb24KKy5JIHR5cGUKK2lzIGdpdmVuIGluIGhleCBmb3IgTUJSIChET1MpLCB3aXRob3V0IHRoZSAweCBwcmVmaXgsIGEgR1VJRCBzdHJpbmcgZm9yIEdQVCwgb3IKK2Egc2hvcnRjdXQ6CisuUlMKKy5UUAorLkIgTAorTGludXg7IG1lYW5zIDgzIGZvciBNQlIgYW5kIDBGQzYzREFGLTg0ODMtNDc3Mi04RTc5LTNENjlEODQ3N0RFNCBmb3IgR1BULgorLlRQCisuQiBTCitzd2FwIGFyZWE7IG1lYW5zIDgyIGZvciBNQlIgYW5kIDA2NTdGRDZELUE0QUItNDNDNC04NEU1LTA5MzNDODRCNEY0RiBmb3IgR1BUCisuVFAKKy5CIEUKK2V4dGVuZGVkIHBhcnRpdGlvbjsgbWVhbnMgNSBmb3IgTUJSCisuVFAKKy5CIEgKK2hvbWUgcGFydGl0aW9uOyBtZWFucyA5MzNBQzdFMS0yRUI0LTRGMTMtQjg0NC0wRTE0RTJBRUY5MTUgZm9yIEdQVAorLlRQCisuQiBYCitsaW51eCBleHRlbmRlZCBwYXJ0aXRpb247IG1lYW5zIDg1IGZvciBNQlIuCisuVFAKKy5CIFUKK0VGSSBTeXN0ZW0gcGFydGl0aW9uLCBtZWFucyBFRiBmb3IgTUJSIGFuZCBDMTJBNzMyOC1GODFGLTExRDItQkE0Qi0wMEEwQzkzRUM5M0IgZm9yIEdQVAorLlRQCisuQiBSCitMaW51eCBSQUlEOyBtZWFucyBGRCBmb3IgTUJSIGFuZCBBMTlEODgwRi0wNUZDLTREM0ItQTAwNi03NDNGMEY4NDkxMUUgZm9yIEdQVAorLlRQCisuQiBWCitMVk07IG1lYW5zIDhFIGZvciBNQlIgYW5kIEU2RDZEMzc5LUY1MDctNDRDMi1BMjNDLTIzOEYyQTNERjkyOCBmb3IgR1BUCisuUkUKKy5QUAorVGhlIGRlZmF1bHQKKy5JIHR5cGUKK3ZhbHVlIGlzCisuSSBMCisKKy5JIGJvb3RhYmxlCitpcyBzcGVjaWZpZWQgYXMgW1xmQipcZlJ8XGZCLVxmUl0sIHdpdGggYXMgZGVmYXVsdCBub3QtYm9vdGFibGUuICBUaGUKK3ZhbHVlIG9mIHRoaXMgZmllbGQgaXMgaXJyZWxldmFudCBmb3IgTGludXggLSB3aGVuIExpbnV4IHJ1bnMgaXQgaGFzCitiZWVuIGJvb3RlZCBhbHJlYWR5IC0gYnV0IGlyIG1pZ2h0IHBsYXkgYSByb2xlIGZvciBjZXJ0YWluIGJvb3QKK2xvYWRlcnMgYW5kIGZvciBvdGhlciBvcGVyYXRpbmcgc3lzdGVtcy4KKy5SRQorCisuQiBOYW1lZC1maWVsZHMgZm9ybWF0CisuUlMKK1RoaXMgZm9ybWF0IGlzIG1vcmUgcmVhZGFibGUsIHJvYnVzdCwgZXh0ZW5zaWJsZSBhbmQgYWxsb3dzIHRvIHNwZWNpZnkgYWRkaXRpb25hbAoraW5mb3JtYXRpb24gKGUuZy4gYSBVVUlEKS4gIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZSB0aGlzIGZvcm1hdCB0byBrZWVwIHlvdXIgc2NyaXB0cworbW9yZSByZWFkYWJsZS4KKy5SUworLnNwCisuUkkgWyAiZGV2aWNlIFxmQjoiIF0gIiBuYW1lIiBbXGZCPSB2YWx1ZSAiXSwgLi4uIgorLnNwCisuUkUKK1RoZQorLkkgZGV2aWNlCitmaWVsZCBpcyBvcHRpb25hbC4gIFxmQnNmZGlza1xmUiBleHRyYWN0cyB0aGUgcGFydGl0aW9uIG51bWJlciBmcm9tIHRoZQorZGV2aWNlIG5hbWUuICBJdCBhbGxvd3MgdG8gc3BlY2lmeSB0aGUgcGFydGl0aW9ucyBpbiByYW5kb20gb3JkZXIuCitUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgbW9zdGx5IHVzZWQgYnkgXGZCXC1cLWR1bXBcZlIuCitEb24ndCB1c2UgaXQgaWYgeW91IGFyZSBub3Qgc3VyZS4KKworVGhlCisuSSB2YWx1ZQorY2FuIGJlIGJldHdlZW4gcXVvdGF0aW9uIG1hcmtzIChlLmcuIG5hbWU9IlRoaXMgaXMgcGFydGl0aW9uIG5hbWUiKS4KK1RoZSBjdXJyZW50bHkgc3VwcG9ydGVkIGZpZWxkcyBhcmU6CisuUlMKKy5UUAorLkJJIHN0YXJ0PSBudW1iZXIKK1RoZSBmaXJzdCBub24tYXNzaWduZWQgc2VjdG9yIGFsaWduZWQgYWNjb3JkaW5nIHRvIGRldmljZSBJL08gbGltaXRzLiAgVGhlIGRlZmF1bHQKK3N0YXJ0IG9mZnNldCBmb3IgdGhlIGZpcnN0IHBhcnRpdGlvbiBpcyAxIE1pQi4gVGhlIG9mZnNldCBtYXkgYmUgZm9sbG93ZWQgYnkKK3RoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyAoS2lCLCBNaUIsIEdpQiwgVGlCLCBQaUIsIEVpQiwgWmlCIGFuZCBZaUIpIHRoZW4KK3RoZSBudW1iZXIgaXMgaW50ZXJwcmV0ZWQgYXMgb2Zmc2V0IGluIGJ5dGVzLgorLlRQCisuQkkgc2l6ZT0gbnVtYmVyCitTcGVjaWZ5IHRoZSBwYXJ0aXRpb24gc2l6ZSBpbiBzZWN0b3JzLiAgVGhlIG51bWJlciBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlCitzdWZmaXhlcyAoS2lCLCBNaUIsIEdpQiwgVGlCLCBQaUIsIEVpQiwgWmlCIGFuZCBZaUIpLCB0aGVuIGl0J3MgaW50ZXJwcmV0ZWQgYXMgc2l6ZQoraW4gYnl0ZXMgYW5kIHRoZSBzaXplIGlzIGFsaWduZWQgYWNjb3JkaW5nIHRvIGRldmljZSBJL08gbGltaXRzLgorLlRQCisuQiBib290YWJsZQorTWFyayB0aGUgcGFydGl0aW9uIGFzIGJvb3RhYmxlLgorLlRQCisuQkkgYXR0cnM9IHN0cmluZworUGFydGl0aW9uIGF0dHJpYnV0ZXMsIHVzdWFsbHkgR1BUIHBhcnRpdGlvbiBhdHRyaWJ1dGUgYml0cy4gIFNlZQorXGZCXC1cLXBhcnRcLWF0dHJzXGZSIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIEdQVC1iaXRzIHN0cmluZyBmb3JtYXQuCisuVFAKKy5CSSB1dWlkPSBzdHJpbmcKK0dQVCBwYXJ0aXRpb24gVVVJRC4KKy5UUAorLkJJIG5hbWU9IHN0cmluZworR1BUIHBhcnRpdGlvbiBuYW1lLgorLlRQCisuQkkgdHlwZT0gY29kZQorQSBoZXhhZGVjaW1hbCBudW1iZXIgKHdpdGhvdXQgMHgpIGZvciBhbiBNQlIgcGFydGl0aW9uLCBvciBhIEdVSUQgZm9yIGEgR1BUIHBhcnRpdGlvbi4KK0ZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IHRoZSBcZkJJZD1cZlIgZmllbGQgaGFzIHRoZSBzYW1lIG1lYW5pbmcuCisuUkUKKy5SRQorCisuU0ggIkVNUFRZIERJU0sgTEFCRUwiCisuQiBzZmRpc2sKK2RvZXMgbm90IGNyZWF0ZSBwYXJ0aXRpb24gdGFibGUgd2l0aG91dCBwYXJ0aXRpb25zIGJ5IGRlZmF1bHQuIFRoZSBsaW5lcyB3aXRoCitwYXJ0aXRpb25zIGFyZSBleHBlY3RlZCBpbiB0aGUgc2NyaXB0IGJ5IGRlZmF1bHQuIFRoZSBlbXB0eSBwYXJ0aXRpb24gdGFibGUgaGFzCit0byBiZSBleHBsaWNpdGx5IHJlcXVlc3RlZCBieSAibGFiZWw6IDxuYW1lPiIgc2NyaXB0IGhlYWRlciBsaW5lIHdpdGhvdXQgYW55CitwYXJ0aXRpb25zIGxpbmVzLiBGb3IgZXhhbXBsZToKKy5SUworLnNwCisuQiAiZWNobyAnbGFiZWw6IGdwdCcgfCBzZmRpc2sgL2Rldi9zZGIiCisuc3AKKy5SRQorY3JlYXRlcyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlLiBOb3RlIHRoYXQgdGhlIFxmQlwtXC1hcHBlbmRcZlIgZGlzYWJsZXMgdGhpcyBmZWF0dXJlLgorCisuU0ggIkJBQ0tJTkcgVVAgVEhFIFBBUlRJVElPTiBUQUJMRSIKK0l0IGlzIHJlY29tbWVuZGVkIHRvIHNhdmUgdGhlIGxheW91dCBvZiB5b3VyIGRldmljZXMuCisuQiBzZmRpc2sKK3N1cHBvcnRzIHR3byB3YXlzLgorLnNwCitVc2UgdGhlIFxmQlwtXC1kdW1wXGZSIG9wdGlvbiB0byBzYXZlIGEgZGVzY3JpcHRpb24gb2YgdGhlIGRldmljZSBsYXlvdXQKK3RvIGEgdGV4dCBmaWxlLiAgVGhlIGR1bXAgZm9ybWF0IGlzIHN1aXRhYmxlIGZvciBsYXRlciBcZkJzZmRpc2tcZlIgaW5wdXQuCitGb3IgZXhhbXBsZToKKy5SUworLnNwCisuQiAic2ZkaXNrIC0tZHVtcCAvZGV2L3NkYSA+IHNkYS5kdW1wIgorLnNwCisuUkUKK1RoaXMgY2FuIGxhdGVyIGJlIHJlc3RvcmVkIGJ5OgorLlJTCisuc3AKKy5CICJzZmRpc2sgL2Rldi9zZGEgPCBzZGEuZHVtcCIKKy5SRQorCitJZiB5b3Ugd2FudCB0byBkbyBhIGZ1bGwgKGJpbmFyeSkgYmFja3VwIG9mIGFsbCBzZWN0b3JzIHdoZXJlIHRoZQorcGFydGl0aW9uIHRhYmxlIGlzIHN0b3JlZCwKK3RoZW4gdXNlIHRoZSBcZkJcLVwtYmFja3VwXGZSIG9wdGlvbi4gIEl0IHdyaXRlcyB0aGUgc2VjdG9ycyB0bworfi9zZmRpc2stPGRldmljZT4tPG9mZnNldD4uYmFrIGZpbGVzLiAgVGhlIGRlZmF1bHQgbmFtZSBvZiB0aGUgYmFja3VwIGZpbGUgY2FuCitiZSBjaGFuZ2VkIHdpdGggdGhlIFxmQlwtXC1iYWNrdXBcLWZpbGVcZlIgb3B0aW9uLiAgVGhlIGJhY2t1cCBmaWxlcworY29udGFpbiBvbmx5IHJhdyBkYXRhIGZyb20gdGhlIFxmSWRldmljZVxmUi4KK05vdGUgdGhhdCB0aGUgc2FtZSBjb25jZXB0IG9mIGJhY2t1cCBmaWxlcyBpcyB1c2VkIGJ5CisuQlIgd2lwZWZzICg4KS4KK0ZvciBleGFtcGxlOgorLlJTCisuc3AKKy5CICJzZmRpc2sgLS1iYWNrdXAgL2Rldi9zZGEiCisuc3AKKy5SRQorVGhlIEdQVCBoZWFkZXIgY2FuIGxhdGVyIGJlIHJlc3RvcmVkIGJ5OgorLlJTCisuc3AKKy5uZgorLkIgImRkICBpZj1+L3NmZGlzay1zZGEtMHgwMDAwMDIwMC5iYWsgIG9mPS9kZXYvc2RhICBcZSIKKy5CICIgIHNlZWs9JCgoMHgwMDAwMDIwMCkpICBicz0xICBjb252PW5vdHJ1bmMiCisuZmkKKy5zcAorLlJFCitOb3RlIHRoYXQgXGZCc2ZkaXNrXGZSIHNpbmNlIHZlcnNpb24gMi4yNiBubyBsb25nZXIgcHJvdmlkZXMgdGhlIFxmQlwtSVxmUiBvcHRpb24gdG8KK3Jlc3RvcmUgc2VjdG9ycy4KKy5CUiBkZCAoMSkKK3Byb3ZpZGVzIGFsbCBuZWNlc3NhcnkgZnVuY3Rpb25hbGl0eS4KKworLlNIIENPTE9SUworSW1wbGljaXQgY29sb3JpbmcgY2FuIGJlIGRpc2FibGVkIGJ5IGFuIGVtcHR5IGZpbGUgXGZJL2V0Yy90ZXJtaW5hbC1jb2xvcnMuZC9zZmRpc2suZGlzYWJsZVxmUi4KKworU2VlCisuQlIgdGVybWluYWwtY29sb3JzLmQgKDUpCitmb3IgbW9yZSBkZXRhaWxzIGFib3V0IGNvbG9yaXphdGlvbiBjb25maWd1cmF0aW9uLiBUaGUgbG9naWNhbCBjb2xvciBuYW1lcworc3VwcG9ydGVkIGJ5CisuQiBzZmRpc2sKK2FyZToKKy5UUAorLkIgaGVhZGVyCitUaGUgaGVhZGVyIG9mIHRoZSBvdXRwdXQgdGFibGVzLgorLlRQCisuQiB3YXJuCitUaGUgd2FybmluZyBtZXNzYWdlcy4KKy5UUAorLkIgd2VsY29tZQorVGhlIHdlbGNvbWUgbWVzc2FnZS4KKworLlNIIE5PVEVTCitTaW5jZSB2ZXJzaW9uIDIuMjYgXGZCc2ZkaXNrXGZSIG5vIGxvbmdlciBwcm92aWRlcyB0aGUgXGZCXC1SXGZSIG9yCitcZkJcLVwtcmVcLXJlYWRcZlIgb3B0aW9uIHRvIGZvcmNlIHRoZSBrZXJuZWwgdG8gcmVyZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUuCitVc2UgXGZCYmxvY2tkZXYgXC1cLXJlcmVhZHB0XGZSIGluc3RlYWQuCisuUFAKK1NpbmNlIHZlcnNpb24gMi4yNiBcZkJzZmRpc2tcZlIgZG9lcyBub3QgcHJvdmlkZSB0aGUgXGZCXC1cLURPU1xmUiwgXGZCXC1cLUlCTVxmUiwgXGZCXC1cLURPU1wtZXh0ZW5kZWRcZlIsCitcZkJcLVwtdW5oaWRlXGZSLCBcZkJcLVwtc2hvd1wtZXh0ZW5kZWRcZlIsIFxmQlwtXC1jeWxpbmRlcnNcZlIsIFxmQlwtXC1oZWFkc1xmUiwgXGZCXC1cLXNlY3RvcnNcZlIsCitcZkJcLVwtaW5zaWRlXC1vdXRlclxmUiwgXGZCXC1cLW5vdFwtaW5zaWRlXC1vdXRlclxmUiBvcHRpb25zLgorCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBTRkRJU0tfREVCVUc9YWxsCitlbmFibGVzIHNmZGlzayBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCRkRJU0tfREVCVUc9YWxsCitlbmFibGVzIGxpYmZkaXNrIGRlYnVnIG91dHB1dC4KKy5JUCBMSUJCTEtJRF9ERUJVRz1hbGwKK2VuYWJsZXMgbGliYmxraWQgZGVidWcgb3V0cHV0LgorLklQIExJQlNNQVJUQ09MU19ERUJVRz1hbGwKK2VuYWJsZXMgbGlic21hcnRjb2xzIGRlYnVnIG91dHB1dC4KKworLlNIICJTRUUgQUxTTyIKKy5CUiBmZGlzayAoOCksCisuQlIgY2ZkaXNrICg4KSwKKy5CUiBwYXJ0ZWQgKDgpLAorLkJSIHBhcnRwcm9iZSAoOCksCisuQlIgcGFydHggKDgpCisKKy5TSCBBVVRIT1IKK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlBQCitUaGUgY3VycmVudCBzZmRpc2sgaW1wbGVtZW50YXRpb24gaXMgYmFzZWQgb24gdGhlIG9yaWdpbmFsIHNmZGlzaworZnJvbSBBbmRyaWVzIEUuIEJyb3V3ZXIuCisKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzZmRpc2sgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvc2ZkaXNrLmMgYi9kaXNrLXV0aWxzL3NmZGlzay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMDMxMTIKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL3NmZGlzay5jCkBAIC0wLDAgKzEsMjIyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5NSAgQW5kcmllcyBFLiBCcm91d2VyIChhZWJAY3dpLm5sKQorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiBZb3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjogZWl0aGVyIFZlcnNpb24gMQorICogb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBBLlYuIExlIEJsYW5jIChMZUJsYW5jQG1jYy5hYy51aykgd3JvdGUgTGludXggZmRpc2sgMTk5Mi0xOTk0LAorICogcGF0Y2hlZCBieSB2YXJpb3VzIHBlb3BsZSAoZmFpdGhAY3MudW5jLmVkdSwgbWFydGluQGNzLnVuYy5lZHUsCisgKiBsZWlzbmVyQHNkc3AubWMueGVyb3guY29tLCBlc3JAc25hcmsudGh5cnN1cy5jb20sIGFlYkBjd2kubmwpCisgKiAxOTkzLTE5OTUsIHdpdGggdmVyc2lvbiBudW1iZXJzIChhcyBmYXIgYXMgSSBoYXZlIHNlZW4pIDAuOTMgLSAyLjBlLgorICogVGhpcyBwcm9ncmFtIGhhZCAoaGVhZCxzZWN0b3IsY3lsaW5kZXIpIGFzIGJhc2ljIHVuaXQsIGFuZCB3YXMKKyAqICh0aGVyZWZvcmUpIGJyb2tlbiBpbiBzZXZlcmFsIHdheXMgZm9yIHRoZSB1c2Ugb24gbGFyZ2VyIGRpc2tzIC0KKyAqIGZvciBleGFtcGxlLCBteSBsYXN0IHBhdGNoIChmcm9tIDIuMGQgdG8gMi4wZSkgd2FzIHJlcXVpcmVkCisgKiB0byBhbGxvdyBhIHBhcnRpdGlvbiB0byBjcm9zcyBjeWxpbmRlciA4MDY0LCBhbmQgdG8gd3JpdGUgYW4KKyAqIGV4dGVuZGVkIHBhcnRpdGlvbiBwYXN0IHRoZSA0R0IgbWFyay4KKyAqCisgKiBLYXJlbCBaYWsgd3JvdGUgbmV3IHNmZGlzayBiYXNlZCBvbiBsaWJmZGlzayBmcm9tIHV0aWwtbGludXgKKyAqIGluIDIwMTQuCisgKi8KKworI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCisjIGRlZmluZSBfRlVOQ1RJT05fREVGCisjIGluY2x1ZGUgPHJlYWRsaW5lL3JlYWRsaW5lLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxsaWJnZW4uaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJkZWJ1Zy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJycG1hdGNoLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKworI2luY2x1ZGUgImxpYmZkaXNrLmgiCisjaW5jbHVkZSAiZmRpc2stbGlzdC5oIgorCisvKgorICogc2ZkaXNrIGRlYnVnIHN0dWZmIChzZWUgZmRpc2suaCBhbmQgaW5jbHVkZS9kZWJ1Zy5oKQorICovCitzdGF0aWMgVUxfREVCVUdfREVGSU5FX01BU0soc2ZkaXNrKTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVMoc2ZkaXNrKSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBTRkRJU0tQUk9HX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgU0ZESVNLUFJPR19ERUJVR19QQVJTRQkoMSA8PCAyKQorI2RlZmluZSBTRkRJU0tQUk9HX0RFQlVHX01JU0MJKDEgPDwgMykKKyNkZWZpbmUgU0ZESVNLUFJPR19ERUJVR19BU0sJKDEgPDwgNCkKKyNkZWZpbmUgU0ZESVNLUFJPR19ERUJVR19BTEwJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKHNmZGlzaywgU0ZESVNLUFJPR19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKHNmZGlzaywgU0ZESVNLUFJPR19ERUJVR18sIG0sIHgpCisKK2VudW0geworCUFDVF9GRElTSyA9IDEsCisJQUNUX0FDVElWQVRFLAorCUFDVF9DSEFOR0VfSUQsCisJQUNUX0RVTVAsCisJQUNUX0xJU1QsCisJQUNUX0xJU1RfRlJFRSwKKwlBQ1RfTElTVF9UWVBFUywKKwlBQ1RfUkVPUkRFUiwKKwlBQ1RfU0hPV19TSVpFLAorCUFDVF9TSE9XX0dFT00sCisJQUNUX1ZFUklGWSwKKwlBQ1RfUEFSVFRZUEUsCisJQUNUX1BBUlRVVUlELAorCUFDVF9QQVJUTEFCRUwsCisJQUNUX1BBUlRBVFRSUywKKwlBQ1RfREVMRVRFCit9OworCitzdHJ1Y3Qgc2ZkaXNrIHsKKwlpbnQJCWFjdDsJCS8qIEFDVF8qICovCisJaW50CQlwYXJ0bm87CQkvKiAtTiA8cGFydG5vPiwgZGVmYXVsdCAtMSAqLworCWludAkJd2lwZW1vZGU7CS8qIHJlbW92ZSBmb3JlaWduIHNpZ25hdHVyZXMgZnJvbSBkaXNrICovCisJaW50CQlwd2lwZW1vZGU7CS8qIHJlbW92ZSBmb3JlaWduIHNpZ25hdHVyZXMgZnJvbSBwYXJ0aXRpb25zICovCisJY29uc3QgY2hhcgkqbGFiZWw7CQkvKiAtLWxhYmVsIDxsYWJlbD4gKi8KKwljb25zdCBjaGFyCSpsYWJlbF9uZXN0ZWQ7CS8qIC0tbGFiZWwtbmVzdGVkIDxsYWJlbD4gKi8KKwljb25zdCBjaGFyCSpiYWNrdXBfZmlsZTsJLyogLU8gPHBhdGg+ICovCisJY29uc3QgY2hhcgkqbW92ZV90eXBlc2NyaXB0OyAvKiAtLW1vdmVkYXRhIDx0eXBlc2NyaXB0PiAqLworCWNoYXIJCSpwcm9tcHQ7CisKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dAkqY3h0OwkJLyogbGliZmRpc2sgY29udGV4dCAqLworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gICpvcmlnX3BhOwkvKiAtTiA8cGFydG5vPiBiZWZvcmUgdGhlIGNoYW5nZSAqLworCisJdW5zaWduZWQgaW50IHZlcmlmeSA6IDEsCS8qIGNhbGwgZmRpc2tfdmVyaWZ5X2Rpc2tsYWJlbCgpICovCisJCSAgICAgcXVpZXQgIDogMSwJLyogc3VwcHJlc3MgZXh0cmEgbWVzc2FnZXMgKi8KKwkJICAgICBpbnRlcmFjdGl2ZSA6IDEsCS8qIHJ1bm5pbmcgb24gdHR5ICovCisJCSAgICAgbm9yZXJlYWQgOiAxLAkvKiBkb24ndCBjaGVjayBkZXZpY2UgaXMgaW4gdXNlICovCisJCSAgICAgZm9yY2UgIDogMSwJLyogZG8gYWxzbyBzdHVwaWQgdGhpbmdzICovCisJCSAgICAgYmFja3VwIDogMSwJLyogYmFja3VwIHNlY3RvcnMgYmVmb3JlIHdyaXRlIFBUICovCisJCSAgICAgY29udGFpbmVyIDogMSwJLyogUFQgY29udGFpbnMgY29udGFpbmVyIChNQlIgZXh0ZW5kZWQpIHBhcnRpdGlvbnMgKi8KKwkJICAgICBhcHBlbmQgOiAxLAkvKiBkb24ndCBjcmVhdGUgbmV3IFBULCBhcHBlbmQgcGFydGl0aW9ucyBvbmx5ICovCisJCSAgICAganNvbiA6IDEsCQkvKiBKU09OIGR1bXAgKi8KKwkJICAgICBtb3ZlZGF0YTogMSwJLyogbW92ZSBkYXRhIGFmdGVyIHJlc2l6ZSAqLworCQkgICAgIG5vdGVsbCA6IDEsCS8qIGRvbid0IHRlbGwga2VybmVsIGFvdXQgbmV3IFBUICovCisJCSAgICAgbm9hY3QgIDogMTsJLyogZG8gbm90IHdyaXRlIHRvIGRldmljZSAqLworfTsKKworI2RlZmluZSBTRkRJU0tfUFJPTVBUCSI+Pj4gIgorCitzdGF0aWMgdm9pZCBzZmRpc2twcm9nX2luaXRfZGVidWcodm9pZCkKK3sKKwlfX1VMX0lOSVRfREVCVUdfRlJPTV9FTlYoc2ZkaXNrLCBTRkRJU0tQUk9HX0RFQlVHXywgMCwgU0ZESVNLX0RFQlVHKTsKK30KKworCitzdGF0aWMgaW50IGdldF91c2VyX3JlcGx5KGNvbnN0IGNoYXIgKnByb21wdCwgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJY2hhciAqcDsKKwlzaXplX3Qgc3o7CisKKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCisJaWYgKGlzYXR0eShTVERJTl9GSUxFTk8pKSB7CisJCXAgPSByZWFkbGluZShwcm9tcHQpOworCQlpZiAoIXApCisJCQlyZXR1cm4gMTsKKwkJbWVtY3B5KGJ1ZiwgcCwgYnVmc3opOworCQlmcmVlKHApOworCX0gZWxzZQorI2VuZGlmCisJeworCQlmcHV0cyhwcm9tcHQsIHN0ZG91dCk7CisJCWZmbHVzaChzdGRvdXQpOworCisJCWlmICghZmdldHMoYnVmLCBidWZzeiwgc3RkaW4pKQorCQkJcmV0dXJuIDE7CisJfQorCisJZm9yIChwID0gYnVmOyAqcCAmJiAhaXNncmFwaCgqcCk7IHArKyk7CS8qIGdldCBmaXJzdCBub24tYmxhbmsgKi8KKworCWlmIChwID4gYnVmKQorCQltZW1tb3ZlKGJ1ZiwgcCwgcCAtIGJ1Zik7CS8qIHJlbW92ZSBibGFuayBzcGFjZSAqLworCXN6ID0gc3RybGVuKGJ1Zik7CisJaWYgKHN6ICYmICooYnVmICsgc3ogLSAxKSA9PSAnXG4nKQorCQkqKGJ1ZiArIHN6IC0gMSkgPSAnXDAnOworCisJREJHKEFTSywgdWxfZGVidWcoInVzZXIncyByZXBseTogPj4+JXM8PDwiLCBidWYpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBhc2tfY2FsbGJhY2soc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQlzdHJ1Y3QgZmRpc2tfYXNrICphc2ssCisJCQl2b2lkICpkYXRhKQoreworCXN0cnVjdCBzZmRpc2sgKnNmID0gKHN0cnVjdCBzZmRpc2sgKikgZGF0YTsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGFzayk7CisKKwlzd2l0Y2goZmRpc2tfYXNrX2dldF90eXBlKGFzaykpIHsKKwljYXNlIEZESVNLX0FTS1RZUEVfSU5GTzoKKwkJaWYgKHNmLT5xdWlldCkKKwkJCWJyZWFrOworCQlmcHV0cyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSwgc3Rkb3V0KTsKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19BU0tUWVBFX1dBUk5YOgorCQlmZmx1c2goc3Rkb3V0KTsKKwkJY29sb3Jfc2NoZW1lX2ZlbmFibGUoIndhcm4iLCBVTF9DT0xPUl9SRUQsIHN0ZGVycik7CisJCWZwdXRzKGZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhhc2spLCBzdGRlcnIpOworCQljb2xvcl9mZGlzYWJsZShzdGRlcnIpOworCQlmcHV0YygnXG4nLCBzdGRlcnIpOworCQlicmVhazsKKwljYXNlIEZESVNLX0FTS1RZUEVfV0FSTjoKKwkJZmZsdXNoKHN0ZG91dCk7CisJCWNvbG9yX3NjaGVtZV9mZW5hYmxlKCJ3YXJuIiwgVUxfQ09MT1JfUkVELCBzdGRlcnIpOworCQlmcHV0cyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSwgc3RkZXJyKTsKKwkJZXJybm8gPSBmZGlza19hc2tfcHJpbnRfZ2V0X2Vycm5vKGFzayk7CisJCWZwcmludGYoc3RkZXJyLCAiOiAlbVxuIik7CisJCWNvbG9yX2ZkaXNhYmxlKHN0ZGVycik7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9ZRVNOTzoKKwl7CisJCWNoYXIgYnVmW0JVRlNJWl07CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJCWRvIHsKKwkJCWludCB4OworCQkJZnB1dHMoZmRpc2tfYXNrX2dldF9xdWVyeShhc2spLCBzdGRvdXQpOworCQkJcmMgPSBnZXRfdXNlcl9yZXBseShfKCIgW1ldZXMvW05dbzogIiksIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQkJaWYgKHJjKQorCQkJCWJyZWFrOworCQkJeCA9IHJwbWF0Y2goYnVmKTsKKwkJCWlmICh4ID09IFJQTUFUQ0hfWUVTIHx8IHggPT0gUlBNQVRDSF9OTykgeworCQkJCWZkaXNrX2Fza195ZXNub19zZXRfcmVzdWx0KGFzaywgeCk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0gd2hpbGUoMSk7CisJCURCRyhBU0ssIHVsX2RlYnVnKCJ5ZXMtbm8gYXNrOiByZXBseSAnJXMnIFtyYz0lZF0iLCBidWYsIHJjKSk7CisJCWJyZWFrOworCX0KKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBzZmRpc2tfaW5pdChzdHJ1Y3Qgc2ZkaXNrICpzZikKK3sKKwlmZGlza19pbml0X2RlYnVnKDApOworCXNjb2xzX2luaXRfZGVidWcoMCk7CisJc2ZkaXNrcHJvZ19pbml0X2RlYnVnKCk7CisKKwlzZi0+Y3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlpZiAoIXNmLT5jeHQpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IikpOworCWZkaXNrX3NldF9hc2soc2YtPmN4dCwgYXNrX2NhbGxiYWNrLCAodm9pZCAqKSBzZik7CisJZmRpc2tfZW5hYmxlX2Jvb3RiaXRzX3Byb3RlY3Rpb24oc2YtPmN4dCwgMSk7CisKKwlpZiAoc2YtPmxhYmVsX25lc3RlZCkgeworCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqeCA9IGZkaXNrX25ld19uZXN0ZWRfY29udGV4dChzZi0+Y3h0LAorCQkJCQkJCXNmLT5sYWJlbF9uZXN0ZWQpOworCQlpZiAoIXgpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiKSk7CisJCS8qIHRoZSBvcmlnaW5hbCBjb250ZXh0IGlzIGF2YWlsYWJsZSBieSBmZGlza19nZXRfcGFyZW50KCkgKi8KKwkJc2YtPmN4dCA9IHg7CisJfQorfQorCitzdGF0aWMgaW50IHNmZGlza19kZWluaXQoc3RydWN0IHNmZGlzayAqc2YpCit7CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKnBhcmVudDsKKworCWFzc2VydChzZik7CisJYXNzZXJ0KHNmLT5jeHQpOworCisJcGFyZW50ID0gZmRpc2tfZ2V0X3BhcmVudChzZi0+Y3h0KTsKKwlpZiAocGFyZW50KSB7CisJCWZkaXNrX3VucmVmX2NvbnRleHQoc2YtPmN4dCk7CisJCXNmLT5jeHQgPSBwYXJlbnQ7CisJfQorCisJZmRpc2tfdW5yZWZfY29udGV4dChzZi0+Y3h0KTsKKwlmcmVlKHNmLT5wcm9tcHQpOworCisJbWVtc2V0KHNmLCAwLCBzaXplb2YoKnNmKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpnZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bm8pCit7CisJc3RydWN0IGZkaXNrX3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisKKwlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbnMoY3h0LCAmdGIpICE9IDApCisJCXJldHVybiBOVUxMOworCisJcGEgPSBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uX2J5X3BhcnRubyh0YiwgcGFydG5vKTsKKwlpZiAocGEpCisJCWZkaXNrX3JlZl9wYXJ0aXRpb24ocGEpOworCWZkaXNrX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcGE7Cit9CisKK3N0YXRpYyB2b2lkIGJhY2t1cF9zZWN0b3JzKHN0cnVjdCBzZmRpc2sgKnNmLAorCQkJICAgY29uc3QgY2hhciAqdHBsLAorCQkJICAgY29uc3QgY2hhciAqbmFtZSwKKwkJCSAgIGNvbnN0IGNoYXIgKmRldm5hbWUsCisJCQkgICB1aW50NjRfdCBvZmZzZXQsIHNpemVfdCBzaXplKQoreworCWNoYXIgKmZuYW1lOworCWludCBmZCwgZGV2ZmQ7CisKKwlkZXZmZCA9IGZkaXNrX2dldF9kZXZmZChzZi0+Y3h0KTsKKwlhc3NlcnQoZGV2ZmQgPj0gMCk7CisKKwl4YXNwcmludGYoJmZuYW1lLCAiJXMweCUwOCJQUkl4NjQiLmJhayIsIHRwbCwgb2Zmc2V0KTsKKworCWZkID0gb3BlbihmbmFtZSwgT19DUkVBVCB8IE9fV1JPTkxZLCBTX0lSVVNSIHwgU19JV1VTUik7CisJaWYgKGZkIDwgMCkKKwkJZ290byBmYWlsOworCisJaWYgKGxzZWVrKGRldmZkLCAob2ZmX3QpIG9mZnNldCwgU0VFS19TRVQpID09IChvZmZfdCkgLTEpIHsKKwkJZmRpc2tfd2FybihzZi0+Y3h0LCBfKCJjYW5ub3Qgc2VlayAlcyIpLCBkZXZuYW1lKTsKKwkJZ290byBmYWlsOworCX0gZWxzZSB7CisJCXVuc2lnbmVkIGNoYXIgKmJ1ZiA9IHhtYWxsb2Moc2l6ZSk7CisKKwkJaWYgKHJlYWRfYWxsKGRldmZkLCAoY2hhciAqKSBidWYsIHNpemUpICE9IChzc2l6ZV90KSBzaXplKSB7CisJCQlmZGlza193YXJuKHNmLT5jeHQsIF8oImNhbm5vdCByZWFkICVzIiksIGRldm5hbWUpOworCQkJZnJlZShidWYpOworCQkJZ290byBmYWlsOworCQl9CisJCWlmICh3cml0ZV9hbGwoZmQsIGJ1Ziwgc2l6ZSkgIT0gMCkgeworCQkJZmRpc2tfd2FybihzZi0+Y3h0LCBfKCJjYW5ub3Qgd3JpdGUgJXMiKSwgZm5hbWUpOworCQkJZnJlZShidWYpOworCQkJZ290byBmYWlsOworCQl9CisJCWZyZWUoYnVmKTsKKwl9CisKKwlmZGlza19pbmZvKHNmLT5jeHQsIF8oIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIpLAorCQkJbmFtZSwgKHVpbnRtYXhfdCkgb2Zmc2V0LCAodWludG1heF90KSBzaXplLCBmbmFtZSk7CisJY2xvc2UoZmQpOworCWZyZWUoZm5hbWUpOworCXJldHVybjsKK2ZhaWw6CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIiksIGRldm5hbWUpOworfQorCitzdGF0aWMgY2hhciAqbWtfYmFja3VwX2ZpbGVuYW1lX3RwbChjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqc3VmZml4KQoreworCWNoYXIgKnRwbCA9IE5VTEw7CisJY2hhciAqbmFtZSwgKmJ1ZiA9IHhzdHJkdXAoZGV2bmFtZSk7CisKKwluYW1lID0gYmFzZW5hbWUoYnVmKTsKKworCWlmICghZmlsZW5hbWUpIHsKKwkJY29uc3QgY2hhciAqaG9tZSA9IGdldGVudiAoIkhPTUUiKTsKKwkJaWYgKCFob21lKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIikpOworCQl4YXNwcmludGYoJnRwbCwgIiVzL3NmZGlzay0lcyVzIiwgaG9tZSwgbmFtZSwgc3VmZml4KTsKKwl9IGVsc2UKKwkJeGFzcHJpbnRmKCZ0cGwsICIlcy0lcyVzIiwgZmlsZW5hbWUsIG5hbWUsIHN1ZmZpeCk7CisKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHRwbDsKK30KKworCitzdGF0aWMgdm9pZCBiYWNrdXBfcGFydGl0aW9uX3RhYmxlKHN0cnVjdCBzZmRpc2sgKnNmLCBjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWNvbnN0IGNoYXIgKm5hbWU7CisJY2hhciAqdHBsOworCXVpbnQ2NF90IG9mZnNldCA9IDA7CisJc2l6ZV90IHNpemUgPSAwOworCWludCBpID0gMDsKKworCWFzc2VydChzZik7CisKKwlpZiAoIWZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJcmV0dXJuOworCisJdHBsID0gbWtfYmFja3VwX2ZpbGVuYW1lX3RwbChzZi0+YmFja3VwX2ZpbGUsIGRldm5hbWUsICItIik7CisKKwljb2xvcl9zY2hlbWVfZW5hYmxlKCJoZWFkZXIiLCBVTF9DT0xPUl9CT0xEKTsKKwlmZGlza19pbmZvKHNmLT5jeHQsIF8oIkJhY2t1cCBmaWxlczoiKSk7CisJY29sb3JfZGlzYWJsZSgpOworCisJd2hpbGUgKGZkaXNrX2xvY2F0ZV9kaXNrbGFiZWwoc2YtPmN4dCwgaSsrLCAmbmFtZSwgJm9mZnNldCwgJnNpemUpID09IDAgJiYgc2l6ZSkKKwkJYmFja3VwX3NlY3RvcnMoc2YsIHRwbCwgbmFtZSwgZGV2bmFtZSwgb2Zmc2V0LCBzaXplKTsKKworCWlmICghc2YtPnF1aWV0KQorCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCWZyZWUodHBsKTsKK30KKworc3RhdGljIGludCBtb3ZlX3BhcnRpdGlvbl9kYXRhKHN0cnVjdCBzZmRpc2sgKnNmLCBzaXplX3QgcGFydG5vLCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpvcmlnX3BhKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8pOworCWNoYXIgKmRldm5hbWUgPSBOVUxMLCAqdHlwZXNjcmlwdCA9IE5VTEwsICpidWYgPSBOVUxMOworCUZJTEUgKmYgPSBOVUxMOworCWludCBvayA9IDAsIGZkLCBiYWNrd2FyZCA9IDA7CisJZmRpc2tfc2VjdG9yX3QgbnNlY3RvcnMsIGZyb20sIHRvLCBzdGVwLCBpOworCXNpemVfdCBzcywgc3RlcF9ieXRlcywgY2M7CisJdWludG1heF90IHNyYywgZHN0OworCWludCBlcnJzdjsKKworCWFzc2VydChzZi0+bW92ZWRhdGEpOworCisJaWYgKCFwYSkKKwkJd2FybngoXygiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiKSk7CisJZWxzZSBpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCXdhcm54KF8oImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiKSk7CisJZWxzZSBpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQl3YXJueChfKCJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIpKTsKKwllbHNlIGlmICghZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKG9yaWdfcGEpKQorCQl3YXJueChfKCJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIikpOworCWVsc2UgaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KG9yaWdfcGEpKQorCQl3YXJueChfKCJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIpKTsKKwllbHNlIGlmIChmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKSA9PSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KG9yaWdfcGEpKQorCQl3YXJueChfKCJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiKSk7CisJZWxzZSBpZiAoZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKG9yaWdfcGEpIDwgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSkKKwkJd2FybngoXygibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIikpOworCWVsc2UKKwkJb2sgPSAxOworCWlmICghb2spCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKE1JU0MsIHVsX2RlYnVnKCJtb3ZpbmcgZGF0YSIpKTsKKworCWZkID0gZmRpc2tfZ2V0X2RldmZkKHNmLT5jeHQpOworCisJc3MgPSBmZGlza19nZXRfc2VjdG9yX3NpemUoc2YtPmN4dCk7CisJbnNlY3RvcnMgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUob3JpZ19wYSk7CisJZnJvbSA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQob3JpZ19wYSk7CisJdG8gPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKTsKKworCWlmICgodG8gPj0gZnJvbSAmJiBmcm9tICsgbnNlY3RvcnMgPj0gdG8pIHx8CisJICAgIChmcm9tID49IHRvICYmIHRvICsgbnNlY3RvcnMgPj0gZnJvbSkpIHsKKwkJLyogc291cmNlIGFuZCB0YXJnZXQgb3ZlcmxheSwgY2hlY2sgaWYgd2UgbmVlZCB0byBjb3B5CisJCSAqIGJhY2t3YXJkbHkgZnJvbSBlbmQgb2YgdGhlIHNvdXJjZSAqLworCQlEQkcoTUlTQywgdWxfZGVidWcoIm92ZXJsYXkgYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldCIpKTsKKwkJYmFja3dhcmQgPSBmcm9tIDwgdG87CisJCURCRyhNSVNDLCB1bF9kZWJ1ZygiIGNvcHkgb3JkZXI6ICVzIiwgYmFja3dhcmQgPyAiYmFja3dhcmQiIDogImZvcndhcmQiKSk7CisKKwkJc3RlcCA9IGZyb20gPiB0byA/IGZyb20gLSB0byA6IHRvIC0gZnJvbTsKKwkJaWYgKHN0ZXAgPiBuc2VjdG9ycykKKwkJCXN0ZXAgPSBuc2VjdG9yczsKKwl9IGVsc2UKKwkJc3RlcCA9IG5zZWN0b3JzOworCisJLyogbWFrZSBzdGVwIHVzYWJsZSBmb3IgbWFsbG9jKCkgKi8KKwlpZiAoc3RlcCAqIHNzID4gKGdldHBhZ2VzaXplKCkgKiAyNTZVKSkKKwkJc3RlcCA9IChnZXRwYWdlc2l6ZSgpICogMjU2KSAvIHNzOworCisJLyogYWxpZ24gdGhlIHN0ZXAgKG5vdGUgdGhhdCBuc2VjdG9ycyBkb2VzIG5vdCBoYXZlIHRvIGJlIHBvd2VyIG9mIDIpICovCisJd2hpbGUgKG5zZWN0b3JzICUgc3RlcCkKKwkJc3RlcC0tOworCisJc3RlcF9ieXRlcyA9IHN0ZXAgKiBzczsKKwlEQkcoTUlTQywgdWxfZGVidWcoIiBzdGVwOiAlanUgKCV6dSBieXRlcykiLCAodWludG1heF90KXN0ZXAsIHN0ZXBfYnl0ZXMpKTsKKworI2lmIGRlZmluZWQoUE9TSVhfRkFEVl9TRVFVRU5USUFMKSAmJiBkZWZpbmVkKEhBVkVfUE9TSVhfRkFEVklTRSkKKwlpZiAoIWJhY2t3YXJkKQorCQlwb3NpeF9mYWR2aXNlKGZkLCBmcm9tICogc3MsIG5zZWN0b3JzICogc3MsIFBPU0lYX0ZBRFZfU0VRVUVOVElBTCk7CisjZW5kaWYKKwlkZXZuYW1lID0gZmRpc2tfcGFydG5hbWUoZmRpc2tfZ2V0X2Rldm5hbWUoc2YtPmN4dCksIHBhcnRubysxKTsKKwl0eXBlc2NyaXB0ID0gbWtfYmFja3VwX2ZpbGVuYW1lX3RwbChzZi0+bW92ZV90eXBlc2NyaXB0LCBkZXZuYW1lLCAiLm1vdmUiKTsKKworCWlmICghc2YtPnF1aWV0KSB7CisJCWZkaXNrX2luZm8oc2YtPmN4dCwiIik7CisJCWNvbG9yX3NjaGVtZV9lbmFibGUoImhlYWRlciIsIFVMX0NPTE9SX0JPTEQpOworCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIkRhdGEgbW92ZToiKSk7CisJCWNvbG9yX2Rpc2FibGUoKTsKKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCIgdHlwZXNjcmlwdCBmaWxlOiAlcyIpLCB0eXBlc2NyaXB0KTsKKwkJcHJpbnRmKF8oIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iKSwKKwkJCSh1aW50bWF4X3QpIGZyb20sICh1aW50bWF4X3QpIHRvLCAodWludG1heF90KSBuc2VjdG9ycyk7CisJCWZmbHVzaChzdGRvdXQpOworCX0KKworCWlmIChzZi0+aW50ZXJhY3RpdmUpIHsKKwkJaW50IHllcyA9IDA7CisJCWZkaXNrX2Fza195ZXNubyhzZi0+Y3h0LCBfKCJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIpLCAmeWVzKTsKKwkJaWYgKCF5ZXMpIHsKKwkJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygiTGVhdmluZy4iKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCWYgPSBmb3Blbih0eXBlc2NyaXB0LCAidyIpOworCWlmICghZikKKwkJZ290byBmYWlsOworCisJLyogZG9uJ3QgdHJhbnNsYXRlICovCisJZnByaW50ZihmLCAiIyBzZmRpc2s6ICIgUEFDS0FHRV9TVFJJTkcgIlxuIik7CisJZnByaW50ZihmLCAiIyBEaXNrOiAlc1xuIiwgZGV2bmFtZSk7CisJZnByaW50ZihmLCAiIyBQYXJ0aXRpb246ICV6dVxuIiwgcGFydG5vICsgMSk7CisJZnByaW50ZihmLCAiIyBPcGVyYXRpb246IG1vdmUgZGF0YVxuIik7CisJZnByaW50ZihmLCAiIyBPcmlnaW5hbCBzdGFydCBvZmZzZXQgKHNlY3RvcnMvYnl0ZXMpOiAlanUvJWp1XG4iLAorCSAgICAgICAgKHVpbnRtYXhfdClmcm9tLCAodWludG1heF90KWZyb20gKiBzcyk7CisJZnByaW50ZihmLCAiIyBOZXcgc3RhcnQgb2Zmc2V0IChzZWN0b3JzL2J5dGVzKTogJWp1LyVqdVxuIiwKKwkgICAgICAgICh1aW50bWF4X3QpdG8sICh1aW50bWF4X3QpdG8gKiBzcyk7CisJZnByaW50ZihmLCAiIyBBcmVhIHNpemUgKHNlY3RvcnMvYnl0ZXMpOiAlanUvJWp1XG4iLAorCSAgICAgICAgKHVpbnRtYXhfdCluc2VjdG9ycywgKHVpbnRtYXhfdCluc2VjdG9ycyAqIHNzKTsKKwlmcHJpbnRmKGYsICIjIFNlY3RvciBzaXplOiAlenVcbiIsIHNzKTsKKwlmcHJpbnRmKGYsICIjIFN0ZXAgc2l6ZSAoaW4gYnl0ZXMpOiAlenVcbiIsIHN0ZXBfYnl0ZXMpOworCWZwcmludGYoZiwgIiMgU3RlcHM6ICVqdVxuIiwgKHVpbnRtYXhfdCkobnNlY3RvcnMgLyBzdGVwKSk7CisJZnByaW50ZihmLCAiI1xuIik7CisJZnByaW50ZihmLCAiIyA8c3RlcD46IDxmcm9tPiA8dG8+IChzdGVwIG9mZnNldHMgaW4gYnl0ZXMpXG4iKTsKKworCXNyYyA9IChiYWNrd2FyZCA/IGZyb20gKyBuc2VjdG9ycyA6IGZyb20pICogc3M7CisJZHN0ID0gKGJhY2t3YXJkID8gdG8gKyBuc2VjdG9ycyA6IHRvKSAqIHNzOworCWJ1ZiA9IHhtYWxsb2Moc3RlcF9ieXRlcyk7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoIiBpbml0aWFsOiBzcmM9JWp1IGRzdD0lanUiLCBzcmMsIGRzdCkpOworCisJZm9yIChjYyA9IDEsIGkgPSAwOyBpIDwgbnNlY3RvcnM7IGkgKz0gc3RlcCwgY2MrKykgeworCQlzc2l6ZV90IHJjOworCisJCWlmIChiYWNrd2FyZCkKKwkJCXNyYyAtPSBzdGVwX2J5dGVzLCBkc3QgLT0gc3RlcF9ieXRlczsKKworCQlEQkcoTUlTQywgdWxfZGVidWcoIiMlMDV6dTogc3JjPSVqdSBkc3Q9JWp1IiwgY2MsIHNyYywgZHN0KSk7CisKKwkJLyogcmVhZCBzb3VyY2UgKi8KKwkJaWYgKGxzZWVrKGZkLCBzcmMsIFNFRUtfU0VUKSA9PSAob2ZmX3QpIC0xKQorCQkJZ290byBmYWlsOworCQlyYyA9IHJlYWQoZmQsIGJ1Ziwgc3RlcF9ieXRlcyk7CisJCWlmIChyYyA8IDAgfHwgcmMgIT0gKHNzaXplX3QpIHN0ZXBfYnl0ZXMpCisJCQlnb3RvIGZhaWw7CisKKwkJLyogd3JpdGUgdGFyZ2V0ICovCisJCWlmIChsc2VlayhmZCwgZHN0LCBTRUVLX1NFVCkgPT0gKG9mZl90KSAtMSkKKwkJCWdvdG8gZmFpbDsKKwkJcmMgPSB3cml0ZShmZCwgYnVmLCBzdGVwX2J5dGVzKTsKKwkJaWYgKHJjIDwgMCB8fCByYyAhPSAoc3NpemVfdCkgc3RlcF9ieXRlcykKKwkJCWdvdG8gZmFpbDsKKwkJZnN5bmMoZmQpOworCisJCS8qIHdyaXRlIGxvZyAqLworCQlmcHJpbnRmKGYsICIlMDV6dTogJTEyanUgJTEyanVcbiIsIGNjLCBzcmMsIGRzdCk7CisKKyNpZiBkZWZpbmVkKFBPU0lYX0ZBRFZfRE9OVE5FRUQpICYmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKQorCQlwb3NpeF9mYWR2aXNlKGZkLCBzcmMsIHN0ZXBfYnl0ZXMsIFBPU0lYX0ZBRFZfRE9OVE5FRUQpOworI2VuZGlmCisJCWlmICghYmFja3dhcmQpCisJCQlzcmMgKz0gc3RlcF9ieXRlcywgZHN0ICs9IHN0ZXBfYnl0ZXM7CisJfQorCisJZmNsb3NlKGYpOworCWZyZWUoYnVmKTsKKwlmcmVlKGRldm5hbWUpOworCWZyZWUodHlwZXNjcmlwdCk7CisKKwlyZXR1cm4gMDsKK2ZhaWw6CisJZXJyc3YgPSAtZXJybm87CisJd2FybihfKCIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIpLCBkZXZuYW1lKTsKKwlpZiAoZikKKwkJZmNsb3NlKGYpOworCWZyZWUoYnVmKTsKKwlmcmVlKGRldm5hbWUpOworCWZyZWUodHlwZXNjcmlwdCk7CisKKwlyZXR1cm4gZXJyc3Y7Cit9CisKK3N0YXRpYyBpbnQgd3JpdGVfY2hhbmdlcyhzdHJ1Y3Qgc2ZkaXNrICpzZikKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKHNmLT5ub2FjdCkKKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIpKTsKKwllbHNlIHsKKwkJcmMgPSBmZGlza193cml0ZV9kaXNrbGFiZWwoc2YtPmN4dCk7CisJCWlmIChyYyA9PSAwICYmIHNmLT5tb3ZlZGF0YSAmJiBzZi0+b3JpZ19wYSkKKwkJCXJjID0gbW92ZV9wYXJ0aXRpb25fZGF0YShzZiwgc2YtPnBhcnRubywgc2YtPm9yaWdfcGEpOworCQlpZiAoIXJjKSB7CisJCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIlxuVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIpKTsKKwkJCWlmICghc2YtPm5vdGVsbCkgeworCQkJCS8qIExldCdzIHdhaXQgYSBsaXR0bGUgYml0LiBJdCdzIHBvc3NpYmxlIHRoYXQgb3VyCisJCQkJICogc3lzdGVtIGlzIHN0aWxsIGJ1c3kgd2l0aCBhIHByZXZpb3VzIHJlLXJlYWQKKwkJCQkgKiBpb2N0bCAob24gc2ZkaXNrIHN0YXJ0KSBvciB3aXRoIGFub3RoZXIgdGFzaworCQkJCSAqIHJlbGF0ZWQgdG8gdGhlIHdyaXRlIHRvIHRoZSBkZXZpY2UuCisJCQkJICovCisJCQkJeHVzbGVlcCgyNTAwMDApOworCQkJCWZkaXNrX3JlcmVhZF9wYXJ0aXRpb25fdGFibGUoc2YtPmN4dCk7CisJCQl9CisJCX0KKwl9CisJaWYgKCFyYykKKwkJcmMgPSBmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwKKwkJCQlzZi0+bm9hY3QgfHwgc2YtPm5vdGVsbCk7CS8qIG5vLXN5bmMgKi8KKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBzZmRpc2sgLS1saXN0IFs8ZGV2aWNlIC4uXQorICovCitzdGF0aWMgaW50IGNvbW1hbmRfbGlzdF9wYXJ0aXRpb25zKHN0cnVjdCBzZmRpc2sgKnNmLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGZhaWwgPSAwOworCWZkaXNrX2VuYWJsZV9saXN0b25seShzZi0+Y3h0LCAxKTsKKworCWlmIChhcmdjKSB7CisJCWludCBpLCBjdCA9IDA7CisKKwkJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgeworCQkJaWYgKGN0KQorCQkJCWZwdXRzKCJcblxuIiwgc3Rkb3V0KTsKKwkJCWlmIChwcmludF9kZXZpY2VfcHQoc2YtPmN4dCwgYXJndltpXSwgMSwgc2YtPnZlcmlmeSkgIT0gMCkKKwkJCQlmYWlsKys7CisJCQljdCsrOworCQl9CisJfSBlbHNlCisJCXByaW50X2FsbF9kZXZpY2VzX3B0KHNmLT5jeHQsIHNmLT52ZXJpZnkpOworCisJcmV0dXJuIGZhaWw7Cit9CisKKy8qCisgKiBzZmRpc2sgLS1saXN0LWZyZWUgWzxkZXZpY2UgLi5dCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9saXN0X2ZyZWVzcGFjZShzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBmYWlsID0gMDsKKwlmZGlza19lbmFibGVfbGlzdG9ubHkoc2YtPmN4dCwgMSk7CisKKwlpZiAoYXJnYykgeworCQlpbnQgaSwgY3QgPSAwOworCisJCWZvciAoaSA9IDA7IGkgPCBhcmdjOyBpKyspIHsKKwkJCWlmIChjdCkKKwkJCQlmcHV0cygiXG5cbiIsIHN0ZG91dCk7CisJCQlpZiAocHJpbnRfZGV2aWNlX2ZyZWVzcGFjZShzZi0+Y3h0LCBhcmd2W2ldLCAxKSAhPSAwKQorCQkJCWZhaWwrKzsKKwkJCWN0Kys7CisJCX0KKwl9IGVsc2UKKwkJcHJpbnRfYWxsX2RldmljZXNfZnJlZXNwYWNlKHNmLT5jeHQpOworCisJcmV0dXJuIGZhaWw7Cit9CisKKy8qCisgKiBzZmRpc2sgLS1saXN0LXR5cGVzCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9saXN0X3R5cGVzKHN0cnVjdCBzZmRpc2sgKnNmKQoreworCWNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdDsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCWNvbnN0IGNoYXIgKm5hbWU7CisJc2l6ZV90IGkgPSAwOworCWludCBjb2RlczsKKworCWFzc2VydChzZik7CisJYXNzZXJ0KHNmLT5jeHQpOworCisJbmFtZSA9IHNmLT5sYWJlbCA/IHNmLT5sYWJlbCA6ICJkb3MiOworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKHNmLT5jeHQsIG5hbWUpOworCWlmICghbGIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIiksIG5hbWUpOworCisJY29kZXMgPSBmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXMobGIpOworCWZwdXRzKF8oIklkICBOYW1lXG5cbiIpLCBzdGRvdXQpOworCisJd2hpbGUgKCh0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlKGxiLCBpKyspKSkgeworCQlpZiAoY29kZXMpCisJCQlwcmludGYoIiUyeCAgJXNcbiIsIGZkaXNrX3BhcnR0eXBlX2dldF9jb2RlKHQpLAorCQkJCQkgICBmZGlza19wYXJ0dHlwZV9nZXRfbmFtZSh0KSk7CisJCWVsc2UKKwkJCXByaW50ZigiJXMgICVzXG4iLCBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHQpLAorCQkJCQkgIGZkaXNrX3BhcnR0eXBlX2dldF9uYW1lKHQpKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2ZXJpZnlfZGV2aWNlKHN0cnVjdCBzZmRpc2sgKnNmLCBjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWludCByYyA9IDE7CisKKwlmZGlza19lbmFibGVfbGlzdG9ubHkoc2YtPmN4dCwgMSk7CisKKwlpZiAoZmRpc2tfYXNzaWduX2RldmljZShzZi0+Y3h0LCBkZXZuYW1lLCAxKSkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGRldm5hbWUpOworCQlyZXR1cm4gMTsKKwl9CisKKwljb2xvcl9zY2hlbWVfZW5hYmxlKCJoZWFkZXIiLCBVTF9DT0xPUl9CT0xEKTsKKwlmZGlza19pbmZvKHNmLT5jeHQsICIlczoiLCBkZXZuYW1lKTsKKwljb2xvcl9kaXNhYmxlKCk7CisKKwlpZiAoIWZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiKSk7CisJZWxzZQorCQlyYyA9IGZkaXNrX3ZlcmlmeV9kaXNrbGFiZWwoc2YtPmN4dCk7CisKKwlmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogc2ZkaXNrIC0tdmVyaWZ5IFs8ZGV2aWNlIC4uXQorICovCitzdGF0aWMgaW50IGNvbW1hbmRfdmVyaWZ5KHN0cnVjdCBzZmRpc2sgKnNmLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IG5mYWlscyA9IDAsIGN0ID0gMDsKKworCWlmIChhcmdjKSB7CisJCWludCBpOworCQlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CisJCQlpZiAoaSkKKwkJCQlmZGlza19pbmZvKHNmLT5jeHQsICIgIik7CisJCQlpZiAodmVyaWZ5X2RldmljZShzZiwgYXJndltpXSkgPCAwKQorCQkJCW5mYWlscysrOworCQl9CisJfSBlbHNlIHsKKwkJRklMRSAqZiA9IE5VTEw7CisJCWNoYXIgKmRldjsKKworCQl3aGlsZSAoKGRldiA9IG5leHRfcHJvY19wYXJ0aXRpb24oJmYpKSkgeworCQkJaWYgKGN0KQorCQkJCWZkaXNrX2luZm8oc2YtPmN4dCwgIiAiKTsKKwkJCWlmICh2ZXJpZnlfZGV2aWNlKHNmLCBkZXYpIDwgMCkKKwkJCQluZmFpbHMrKzsKKwkJCWZyZWUoZGV2KTsKKwkJCWN0Kys7CisJCX0KKwl9CisKKwlyZXR1cm4gbmZhaWxzOworfQorCitzdGF0aWMgaW50IGdldF9zaXplKGNvbnN0IGNoYXIgKmRldiwgaW50IHNpbGVudCwgdWludG1heF90ICpzeikKK3sKKwlpbnQgZmQsIHJjID0gMDsKKworCWZkID0gb3BlbihkZXYsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKSB7CisJCWlmICghc2lsZW50KQorCQkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXYpOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCWlmIChibGtkZXZfZ2V0X3NlY3RvcnMoZmQsICh1bnNpZ25lZCBsb25nIGxvbmcgKikgc3opID09IC0xKSB7CisJCWlmICghc2lsZW50KQorCQkJd2FybihfKCJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiKSwgZGV2KTsKKwkJcmMgPSAtZXJybm87CisJfQorCisJY2xvc2UoZmQpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIHNmZGlzayAtLXNob3ctc2l6ZSBbPGRldmljZSAuLl0KKyAqCisgKiAoc2lsbHksIGJ1dCBqdXN0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5KQorICovCitzdGF0aWMgaW50IGNvbW1hbmRfc2hvd19zaXplKHN0cnVjdCBzZmRpc2sgKnNmIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCSAgICAgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXVpbnRtYXhfdCBzejsKKworCWlmIChhcmdjKSB7CisJCWludCBpOworCQlmb3IgKGkgPSAwOyBpIDwgYXJnYzsgaSsrKSB7CisJCQlpZiAoZ2V0X3NpemUoYXJndltpXSwgMCwgJnN6KSA9PSAwKQorCQkJCXByaW50ZigiJWp1XG4iLCBzeiAvIDIpOworCQl9CisJfSBlbHNlIHsKKwkJRklMRSAqZiA9IE5VTEw7CisJCXVpbnRtYXhfdCB0b3RhbCA9IDA7CisJCWNoYXIgKmRldjsKKworCQl3aGlsZSAoKGRldiA9IG5leHRfcHJvY19wYXJ0aXRpb24oJmYpKSkgeworCQkJaWYgKGdldF9zaXplKGRldiwgMSwgJnN6KSA9PSAwKSB7CisJCQkJcHJpbnRmKCIlczogJTlqdVxuIiwgZGV2LCBzeiAvIDIpOworCQkJCXRvdGFsICs9IHN6IC8gMjsKKwkJCX0KKwkJCWZyZWUoZGV2KTsKKwkJfQorCQlpZiAodG90YWwpCisJCQlwcmludGYoXygidG90YWw6ICVqdSBibG9ja3NcbiIpLCB0b3RhbCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfZ2VvbShzdHJ1Y3Qgc2ZkaXNrICpzZiwgY29uc3QgY2hhciAqZGV2bmFtZSkKK3sKKwlmZGlza19lbmFibGVfbGlzdG9ubHkoc2YtPmN4dCwgMSk7CisKKwlpZiAoZmRpc2tfYXNzaWduX2RldmljZShzZi0+Y3h0LCBkZXZuYW1lLCAxKSkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGRldm5hbWUpOworCQlyZXR1cm4gMTsKKwl9CisKKwlmZGlza19pbmZvKHNmLT5jeHQsICIlczogJWp1IGN5bGluZGVycywgJWp1IGhlYWRzLCAlanUgc2VjdG9ycy90cmFjayIsCisJCQlkZXZuYW1lLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfZ2V0X2dlb21fY3lsaW5kZXJzKHNmLT5jeHQpLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfZ2V0X2dlb21faGVhZHMoc2YtPmN4dCksCisJCQkodWludG1heF90KSBmZGlza19nZXRfZ2VvbV9zZWN0b3JzKHNmLT5jeHQpKTsKKworCWZkaXNrX2RlYXNzaWduX2RldmljZShzZi0+Y3h0LCAxKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIHNmZGlzayAtLXNob3ctZ2VvbWV0cnkgWzxkZXZpY2UgLi5dCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9zaG93X2dlb21ldHJ5KHN0cnVjdCBzZmRpc2sgKnNmLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IG5mYWlscyA9IDA7CisKKwlpZiAoYXJnYykgeworCQlpbnQgaTsKKwkJZm9yIChpID0gMDsgaSA8IGFyZ2M7IGkrKykgeworCQkJaWYgKHByaW50X2dlb20oc2YsIGFyZ3ZbaV0pIDwgMCkKKwkJCQluZmFpbHMrKzsKKwkJfQorCX0gZWxzZSB7CisJCUZJTEUgKmYgPSBOVUxMOworCQljaGFyICpkZXY7CisKKwkJd2hpbGUgKChkZXYgPSBuZXh0X3Byb2NfcGFydGl0aW9uKCZmKSkpIHsKKwkJCWlmIChwcmludF9nZW9tKHNmLCBkZXYpIDwgMCkKKwkJCQluZmFpbHMrKzsKKwkJCWZyZWUoZGV2KTsKKwkJfQorCX0KKworCXJldHVybiBuZmFpbHM7Cit9CisKKy8qCisgKiBzZmRpc2sgLS1hY3RpdmF0ZSA8ZGV2aWNlPiBbPHBhcnRubz4gLi4uXQorICovCitzdGF0aWMgaW50IGNvbW1hbmRfYWN0aXZhdGUoc3RydWN0IHNmZGlzayAqc2YsIGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgcmMsIG5wYXJ0cywgaSwgbGlzdG9ubHk7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMOworCisJaWYgKGFyZ2MgPCAxKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIikpOworCWRldm5hbWUgPSBhcmd2WzBdOworCisJLyogIC0tYWN0aXZhdGUgPGRldmljZT4gKi8KKwlsaXN0b25seSA9IGFyZ2MgPT0gMTsKKworCXJjID0gZmRpc2tfYXNzaWduX2RldmljZShzZi0+Y3h0LCBkZXZuYW1lLCBsaXN0b25seSk7CisJaWYgKHJjKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKworCWlmIChmZGlza19pc19sYWJlbChzZi0+Y3h0LCBHUFQpKSB7CisJCS8qIFN3aXRjaCBmcm9tIEdQVCB0byBQTUJSICovCisJCXNmLT5jeHQgPSBmZGlza19uZXdfbmVzdGVkX2NvbnRleHQoc2YtPmN4dCwgImRvcyIpOworCQlpZiAoIXNmLT5jeHQpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiKSk7CisJfSBlbHNlIGlmICghZmRpc2tfaXNfbGFiZWwoc2YtPmN4dCwgRE9TKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9yIFBNQlIgb25seSIpKTsKKworCWlmICghbGlzdG9ubHkgJiYgc2YtPmJhY2t1cCkKKwkJYmFja3VwX3BhcnRpdGlvbl90YWJsZShzZiwgZGV2bmFtZSk7CisKKwlucGFydHMgPSBmZGlza19nZXRfbnBhcnRpdGlvbnMoc2YtPmN4dCk7CisJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCWNoYXIgKmRhdGEgPSBOVUxMOworCisJCS8qIG5vdGUgdGhhdCBmZGlza19nZXRfcGFydGl0aW9uKCkgcmV1c2VzIHRoZSBAcGEgcG9pbnRlciwgeW91CisJCSAqIGRvbid0IGhhdmUgdG8gKHJlKWFsbG9jYXRlIGl0ICovCisJCWlmIChmZGlza19nZXRfcGFydGl0aW9uKHNmLT5jeHQsIGksICZwYSkgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCS8qIHNmZGlzayAtLWFjdGl2YXRlICBsaXN0IGJvb3RhYmxlIHBhcnRpdGlvbnMgKi8KKwkJaWYgKGxpc3Rvbmx5KSB7CisJCQlpZiAoIWZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZShwYSkpCisJCQkJY29udGludWU7CisJCQlpZiAoZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgc2YtPmN4dCwKKwkJCQkJCUZESVNLX0ZJRUxEX0RFVklDRSwgJmRhdGEpID09IDApIHsKKwkJCQlwcmludGYoIiVzXG4iLCBkYXRhKTsKKwkJCQlmcmVlKGRhdGEpOworCQkJfQorCisJCS8qIGRlYWN0aXZhdGUgYWxsIGFjdGl2ZSBwYXJ0aXRpb25zICovCisJCX0gZWxzZSBpZiAoZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlKHBhKSkKKwkJCWZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhzZi0+Y3h0LCBpLCBET1NfRkxBR19BQ1RJVkUpOworCX0KKworCS8qIHNmZGlzayAtLWFjdGl2YXRlIDxwYXJ0bm8+IFsuLl0gKi8KKwlmb3IgKGkgPSAxOyBpIDwgYXJnYzsgaSsrKSB7CisJCWludCBuOworCisJCWlmIChpID09IDEgJiYgc3RyY21wKGFyZ3ZbMV0sICItIikgPT0gMCkKKwkJCWJyZWFrOworCQluID0gc3RydG91MzJfb3JfZXJyKGFyZ3ZbaV0sIF8oImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIikpOworCisJCXJjID0gZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKHNmLT5jeHQsIG4gLSAxLCBET1NfRkxBR19BQ1RJVkUpOworCQlpZiAocmMpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQlfKCIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciKSwKKwkJCQlkZXZuYW1lLCBpICsgMSk7CisJfQorCisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKworCWlmIChsaXN0b25seSkKKwkJcmMgPSBmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CisJZWxzZQorCQlyYyA9IHdyaXRlX2NoYW5nZXMoc2YpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIHNmZGlzayAtLWRlbGV0ZSA8ZGV2aWNlPiBbPHBhcnRubz4gLi4uXQorICovCitzdGF0aWMgaW50IGNvbW1hbmRfZGVsZXRlKHN0cnVjdCBzZmRpc2sgKnNmLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc2l6ZV90IGk7CisJY29uc3QgY2hhciAqZGV2bmFtZSA9IE5VTEw7CisKKwlpZiAoYXJnYyA8IDEpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisJZGV2bmFtZSA9IGFyZ3ZbMF07CisKKwlpZiAoZmRpc2tfYXNzaWduX2RldmljZShzZi0+Y3h0LCBkZXZuYW1lLCAwKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKworCWlmIChzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCS8qIGRlbGV0ZSBhbGwgKi8KKwlpZiAoYXJnYyA9PSAxKSB7CisJCXNpemVfdCBucGFydHMgPSBmZGlza19nZXRfbnBhcnRpdGlvbnMoc2YtPmN4dCk7CisJCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQkJaWYgKGZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKHNmLT5jeHQsIGkpICYmCisJCQkgICAgZmRpc2tfZGVsZXRlX3BhcnRpdGlvbihzZi0+Y3h0LCBpKSAhPSAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIpLCBkZXZuYW1lLCBpICsgMSk7CisJCX0KKwkvKiBkZWxldGUgc3BlY2lmaWVkICovCisJfSBlbHNlIHsKKwkJZm9yIChpID0gMTsgaSA8IChzaXplX3QpIGFyZ2M7IGkrKykgeworCQkJc2l6ZV90IG4gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndltpXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwkJCWlmIChmZGlza19kZWxldGVfcGFydGl0aW9uKHNmLT5jeHQsIG4gLSAxKSAhPSAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIpLCBkZXZuYW1lLCBuKTsKKwkJfQorCX0KKworCXJldHVybiB3cml0ZV9jaGFuZ2VzKHNmKTsKK30KKworLyoKKyAqIHNmZGlzayAtLXJlb3JkZXIgPGRldmljZT4KKyAqLworc3RhdGljIGludCBjb21tYW5kX3Jlb3JkZXIoc3RydWN0IHNmZGlzayAqc2YsIGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljb25zdCBjaGFyICpkZXZuYW1lID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYykKKwkJZGV2bmFtZSA9IGFyZ3ZbMF07CisJaWYgKCFkZXZuYW1lKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIikpOworCisJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKHNmLT5jeHQsIGRldm5hbWUsIDApOwkvKiByZWFkLXdyaXRlICovCisJaWYgKHJjKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKworCWlmIChzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCWlmIChmZGlza19yZW9yZGVyX3BhcnRpdGlvbnMoc2YtPmN4dCkgPT0gMSkJLyogdW5jaGFuZ2VkICovCisJCXJjID0gZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHNmLT5jeHQsIDEpOworCWVsc2UKKwkJcmMgPSB3cml0ZV9jaGFuZ2VzKHNmKTsKKworCXJldHVybiByYzsKK30KKworCisvKgorICogc2ZkaXNrIC0tZHVtcCA8ZGV2aWNlPgorICovCitzdGF0aWMgaW50IGNvbW1hbmRfZHVtcChzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMOworCXN0cnVjdCBmZGlza19zY3JpcHQgKmRwOworCWludCByYzsKKworCWlmIChhcmdjKQorCQlkZXZuYW1lID0gYXJndlswXTsKKwlpZiAoIWRldm5hbWUpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisKKwlyYyA9IGZkaXNrX2Fzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgZGV2bmFtZSwgMSk7CS8qIHJlYWQtb25seSAqLworCWlmIChyYykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2bmFtZSk7CisKKwlpZiAoIWZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiKSwgZGV2bmFtZSk7CisKKwlkcCA9IGZkaXNrX25ld19zY3JpcHQoc2YtPmN4dCk7CisJaWYgKCFkcCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IikpOworCisJcmMgPSBmZGlza19zY3JpcHRfcmVhZF9jb250ZXh0KGRwLCBOVUxMKTsKKwlpZiAocmMpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIiksIGRldm5hbWUpOworCisJaWYgKHNmLT5qc29uKQorCQlmZGlza19zY3JpcHRfZW5hYmxlX2pzb24oZHAsIDEpOworCWZkaXNrX3NjcmlwdF93cml0ZV9maWxlKGRwLCBzdGRvdXQpOworCisJZmRpc2tfdW5yZWZfc2NyaXB0KGRwKTsKKwlmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CQkvKiBuby1zeW5jKCkgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYXNzaWduX2RldmljZV9wYXJ0aXRpb24oc3RydWN0IHNmZGlzayAqc2YsCisJCQkJY29uc3QgY2hhciAqZGV2bmFtZSwKKwkJCQlzaXplX3QgcGFydG5vLAorCQkJCWludCByZG9ubHkpCit7CisJaW50IHJjOworCXNpemVfdCBuOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGIgPSBOVUxMOworCisJYXNzZXJ0KHNmKTsKKwlhc3NlcnQoZGV2bmFtZSk7CisKKwkvKiByZWFkLW9ubHkgd2hlbiBhIG5ldyA8dHlwZT4gdW5kZWZpbmVkICovCisJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKHNmLT5jeHQsIGRldm5hbWUsIHJkb25seSk7CisJaWYgKHJjKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXZuYW1lKTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKHNmLT5jeHQsIE5VTEwpOworCWlmICghbGIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIiksIGRldm5hbWUpOworCisJbiA9IGZkaXNrX2dldF9ucGFydGl0aW9ucyhzZi0+Y3h0KTsKKwlpZiAocGFydG5vID4gbikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgIgorCQkJCSAgICAgIm9ubHkgJXp1IHBhcnRpdGlvbnMiKSwgZGV2bmFtZSwgcGFydG5vLCBuKTsKKwlpZiAoIWZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKHNmLT5jeHQsIHBhcnRubyAtIDEpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiKSwKKwkJCQlkZXZuYW1lLCBwYXJ0bm8pOworfQorCisvKgorICogc2ZkaXNrIC0tcGFydC10eXBlIDxkZXZpY2U+IDxwYXJ0bm8+IFs8dHlwZT5dCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9wYXJ0dHlwZShzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXNpemVfdCBwYXJ0bm87CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0eXBlID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqdHlwZXN0ciA9IE5VTEw7CisKKwlpZiAoIWFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisJZGV2bmFtZSA9IGFyZ3ZbMF07CisKKwlpZiAoYXJnYyA8IDIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIpKTsKKwlwYXJ0bm8gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndlsxXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwlpZiAoYXJnYyA9PSAzKQorCQl0eXBlc3RyID0gYXJndlsyXTsKKwllbHNlIGlmIChhcmdjID4gMykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgYXJndW1lbnRzIikpOworCisJLyogcmVhZC1vbmx5IHdoZW4gYSBuZXcgPHR5cGU+IHVuZGVmaW5lZCAqLworCWFzc2lnbl9kZXZpY2VfcGFydGl0aW9uKHNmLCBkZXZuYW1lLCBwYXJ0bm8sICF0eXBlc3RyKTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKHNmLT5jeHQsIE5VTEwpOworCisJLyogcHJpbnQgcGFydGl0aW9uIHR5cGUgKi8KKwlpZiAoIXR5cGVzdHIpIHsKKwkJY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gTlVMTDsKKwkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCisJCWlmIChmZGlza19nZXRfcGFydGl0aW9uKHNmLT5jeHQsIHBhcnRubyAtIDEsICZwYSkgPT0gMCkKKwkJCXQgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3R5cGUocGEpOworCQlpZiAoIXQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiKSwKKwkJCQkJCWRldm5hbWUsIHBhcnRubyk7CisKKwkJaWYgKGZkaXNrX2xhYmVsX2hhc19jb2RlX3BhcnR0eXBlcyhsYikpCisJCQlwcmludGYoIiUyeFxuIiwgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUodCkpOworCQllbHNlCisJCQlwcmludGYoIiVzXG4iLCBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHQpKTsKKworCQlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCQlmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCS8qIHBhcnNlIDx0eXBlPiBhbmQgYXBwbHkgdG8gUFQgKi8KKwl0eXBlID0gZmRpc2tfbGFiZWxfcGFyc2VfcGFydHR5cGUobGIsIHR5cGVzdHIpOworCWlmICghdHlwZSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIiksCisJCQkJZmRpc2tfbGFiZWxfZ2V0X25hbWUobGIpLCB0eXBlc3RyKTsKKworCWVsc2UgaWYgKGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZShzZi0+Y3h0LCBwYXJ0bm8gLSAxLCB0eXBlKSAhPSAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiKSwKKwkJCQkJCWRldm5hbWUsIHBhcnRubyk7CisJZmRpc2tfdW5yZWZfcGFydHR5cGUodHlwZSk7CisJcmV0dXJuIHdyaXRlX2NoYW5nZXMoc2YpOworfQorCisvKgorICogc2ZkaXNrIC0tcGFydC11dWlkIDxkZXZpY2U+IDxwYXJ0bm8+IFs8dXVpZD5dCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9wYXJ0dXVpZChzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXNpemVfdCBwYXJ0bm87CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqdXVpZCA9IE5VTEw7CisKKwlpZiAoIWFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisJZGV2bmFtZSA9IGFyZ3ZbMF07CisKKwlpZiAoYXJnYyA8IDIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIpKTsKKwlwYXJ0bm8gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndlsxXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwlpZiAoYXJnYyA9PSAzKQorCQl1dWlkID0gYXJndlsyXTsKKwllbHNlIGlmIChhcmdjID4gMykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgYXJndW1lbnRzIikpOworCisJLyogcmVhZC1vbmx5IGlmIHV1aWQgbm90IGdpdmVuICovCisJYXNzaWduX2RldmljZV9wYXJ0aXRpb24oc2YsIGRldm5hbWUsIHBhcnRubywgIXV1aWQpOworCisJLyogcHJpbnQgcGFydGl0aW9uIHV1aWQgKi8KKwlpZiAoIXV1aWQpIHsKKwkJY29uc3QgY2hhciAqc3RyID0gTlVMTDsKKworCQlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8gLSAxLCAmcGEpID09IDApCisJCQlzdHIgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3V1aWQocGEpOworCQlpZiAoIXN0cikKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIpLAorCQkJCQkJZGV2bmFtZSwgcGFydG5vKTsKKwkJcHJpbnRmKCIlc1xuIiwgc3RyKTsKKwkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwkJZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHNmLT5jeHQsIDEpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoc2YtPmJhY2t1cCkKKwkJYmFja3VwX3BhcnRpdGlvbl90YWJsZShzZiwgZGV2bmFtZSk7CisKKwlwYSA9IGZkaXNrX25ld19wYXJ0aXRpb24oKTsKKwlpZiAoIXBhKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIpKTsKKworCWlmIChmZGlza19wYXJ0aXRpb25fc2V0X3V1aWQocGEsIHV1aWQpICE9IDAgfHwKKwkgICAgZmRpc2tfc2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8gLSAxLCBwYSkgIT0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIiksCisJCQkJCQlkZXZuYW1lLCBwYXJ0bm8pOworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHdyaXRlX2NoYW5nZXMoc2YpOworfQorCisvKgorICogc2ZkaXNrIC0tcGFydC1sYWJlbCA8ZGV2aWNlPiA8cGFydG5vPiBbPGxhYmVsPl0KKyAqLworc3RhdGljIGludCBjb21tYW5kX3BhcnRsYWJlbChzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXNpemVfdCBwYXJ0bm87CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqbmFtZSA9IE5VTEw7CisKKwlpZiAoIWFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiKSk7CisJZGV2bmFtZSA9IGFyZ3ZbMF07CisKKwlpZiAoYXJnYyA8IDIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIpKTsKKwlwYXJ0bm8gPSBzdHJ0b3UzMl9vcl9lcnIoYXJndlsxXSwgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisKKwlpZiAoYXJnYyA9PSAzKQorCQluYW1lID0gYXJndlsyXTsKKwllbHNlIGlmIChhcmdjID4gMykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgYXJndW1lbnRzIikpOworCisJLyogcmVhZC1vbmx5IGlmIG5hbWUgbm90IGdpdmVuICovCisJYXNzaWduX2RldmljZV9wYXJ0aXRpb24oc2YsIGRldm5hbWUsIHBhcnRubywgIW5hbWUpOworCisJLyogcHJpbnQgcGFydGl0aW9uIG5hbWUgKi8KKwlpZiAoIW5hbWUpIHsKKwkJY29uc3QgY2hhciAqc3RyID0gTlVMTDsKKworCQlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8gLSAxLCAmcGEpID09IDApCisJCQlzdHIgPSBmZGlza19wYXJ0aXRpb25fZ2V0X25hbWUocGEpOworCQlpZiAoIXN0cikKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIpLAorCQkJCQkJZGV2bmFtZSwgcGFydG5vKTsKKwkJcHJpbnRmKCIlc1xuIiwgc3RyKTsKKwkJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwkJZmRpc2tfZGVhc3NpZ25fZGV2aWNlKHNmLT5jeHQsIDEpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoc2YtPmJhY2t1cCkKKwkJYmFja3VwX3BhcnRpdGlvbl90YWJsZShzZiwgZGV2bmFtZSk7CisKKwlwYSA9IGZkaXNrX25ld19wYXJ0aXRpb24oKTsKKwlpZiAoIXBhKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIpKTsKKworCWlmIChmZGlza19wYXJ0aXRpb25fc2V0X25hbWUocGEsIG5hbWUpICE9IDAgfHwKKwkgICAgZmRpc2tfc2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8gLSAxLCBwYSkgIT0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIiksCisJCQkJZGV2bmFtZSwgcGFydG5vKTsKKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHdyaXRlX2NoYW5nZXMoc2YpOworfQorCisvKgorICogc2ZkaXNrIC0tcGFydC1hdHRycyA8ZGV2aWNlPiA8cGFydG5vPiBbPGF0dHJzPl0KKyAqLworc3RhdGljIGludCBjb21tYW5kX3BhcnRhdHRycyhzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXNpemVfdCBwYXJ0bm87CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqYXR0cnMgPSBOVUxMOworCisJaWYgKCFhcmdjKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIikpOworCWRldm5hbWUgPSBhcmd2WzBdOworCisJaWYgKGFyZ2MgPCAyKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiKSk7CisJcGFydG5vID0gc3RydG91MzJfb3JfZXJyKGFyZ3ZbMV0sIF8oImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIikpOworCisJaWYgKGFyZ2MgPT0gMykKKwkJYXR0cnMgPSBhcmd2WzJdOworCWVsc2UgaWYgKGFyZ2MgPiAzKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5leHBlY3RlZCBhcmd1bWVudHMiKSk7CisKKwkvKiByZWFkLW9ubHkgaWYgbmFtZSBub3QgZ2l2ZW4gKi8KKwlhc3NpZ25fZGV2aWNlX3BhcnRpdGlvbihzZiwgZGV2bmFtZSwgcGFydG5vLCAhYXR0cnMpOworCisJLyogcHJpbnQgcGFydGl0aW9uIG5hbWUgKi8KKwlpZiAoIWF0dHJzKSB7CisJCWNvbnN0IGNoYXIgKnN0ciA9IE5VTEw7CisKKwkJaWYgKGZkaXNrX2dldF9wYXJ0aXRpb24oc2YtPmN4dCwgcGFydG5vIC0gMSwgJnBhKSA9PSAwKQorCQkJc3RyID0gZmRpc2tfcGFydGl0aW9uX2dldF9hdHRycyhwYSk7CisJCWlmIChzdHIpCisJCQlwcmludGYoIiVzXG4iLCBzdHIpOworCQlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCQlmZGlza19kZWFzc2lnbl9kZXZpY2Uoc2YtPmN4dCwgMSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChzZi0+YmFja3VwKQorCQliYWNrdXBfcGFydGl0aW9uX3RhYmxlKHNmLCBkZXZuYW1lKTsKKworCXBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCWlmICghcGEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IikpOworCisJaWYgKGZkaXNrX3BhcnRpdGlvbl9zZXRfYXR0cnMocGEsIGF0dHJzKSAhPSAwIHx8CisJICAgIGZkaXNrX3NldF9wYXJ0aXRpb24oc2YtPmN4dCwgcGFydG5vIC0gMSwgcGEpICE9IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIpLAorCQkJCWRldm5hbWUsIHBhcnRubyk7CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCXJldHVybiB3cml0ZV9jaGFuZ2VzKHNmKTsKK30KKworc3RhdGljIHZvaWQgc2ZkaXNrX3ByaW50X3BhcnRpdGlvbihzdHJ1Y3Qgc2ZkaXNrICpzZiwgc2l6ZV90IG4pCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWNoYXIgKmRhdGE7CisKKwlhc3NlcnQoc2YpOworCisJaWYgKHNmLT5xdWlldCkKKwkJcmV0dXJuOworCWlmIChmZGlza19nZXRfcGFydGl0aW9uKHNmLT5jeHQsIG4sICZwYSkgIT0gMCkKKwkJcmV0dXJuOworCisJZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgc2YtPmN4dCwgRkRJU0tfRklFTERfREVWSUNFLCAmZGF0YSk7CisJcHJpbnRmKCIlMTJzIDogIiwgZGF0YSk7CisKKwlmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBzZi0+Y3h0LCBGRElTS19GSUVMRF9TVEFSVCwgJmRhdGEpOworCXByaW50ZigiJTEycyAiLCBkYXRhKTsKKworCWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIHNmLT5jeHQsIEZESVNLX0ZJRUxEX0VORCwgJmRhdGEpOworCXByaW50ZigiJTEycyAiLCBkYXRhKTsKKworCWZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcocGEsIHNmLT5jeHQsIEZESVNLX0ZJRUxEX1NJWkUsICZkYXRhKTsKKwlwcmludGYoIiglcykgIiwgZGF0YSk7CisKKwlmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBzZi0+Y3h0LCBGRElTS19GSUVMRF9UWVBFLCAmZGF0YSk7CisJcHJpbnRmKCIlc1xuIiwgZGF0YSk7CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworfQorCitzdGF0aWMgdm9pZCBjb21tYW5kX2ZkaXNrX2hlbHAodm9pZCkKK3sKKwlmcHV0cyhfKCJcbkhlbHA6XG4iKSwgc3Rkb3V0KTsKKworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVscC10aXRsZSIsIFVMX0NPTE9SX0JPTEQpOworCWZwdXRzKF8oIiBDb21tYW5kczpcbiIpLCBzdGRvdXQpOworCWNvbG9yX2Rpc2FibGUoKTsKKwlmcHV0cyhfKCIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIpLCBzdGRvdXQpOworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJZnB1dHMoXygiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iKSwgc3Rkb3V0KTsKKworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJY29sb3Jfc2NoZW1lX2VuYWJsZSgiaGVscC10aXRsZSIsIFVMX0NPTE9SX0JPTEQpOworCWZwdXRzKF8oIiBJbnB1dCBmb3JtYXQ6XG4iKSwgc3Rkb3V0KTsKKwljb2xvcl9kaXNhYmxlKCk7CisJZnB1dHMoXygiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIpLCBzdGRvdXQpOworCisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorCQkiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKwkJIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCWZwdXRzKF8oIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorCQkiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKwkJIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iKSwgc3Rkb3V0KTsKKworCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJZnB1dHMoXygiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEgsVSxSLFYgc2hvcnRjdXRzLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCWZwdXRzKF8oIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworCWNvbG9yX3NjaGVtZV9lbmFibGUoImhlbHAtdGl0bGUiLCBVTF9DT0xPUl9CT0xEKTsKKwlmcHV0cyhfKCIgRXhhbXBsZTpcbiIpLCBzdGRvdXQpOworCWNvbG9yX2Rpc2FibGUoKTsKKwlmcHV0cyhfKCIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iKSwgc3Rkb3V0KTsKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworfQorCitlbnVtIHsKKwlTRkRJU0tfRE9ORV9OT05FID0gMCwKKwlTRkRJU0tfRE9ORV9FT0YsCisJU0ZESVNLX0RPTkVfQUJPUlQsCisJU0ZESVNLX0RPTkVfV1JJVEUsCisJU0ZESVNLX0RPTkVfQVNLCit9OworCisvKiByZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLCAxIHN1Y2Nlc3NmdWxseSBzdG9wIHNmZGlzayAqLworc3RhdGljIGludCBsb29wX2NvbnRyb2xfY29tbWFuZHMoc3RydWN0IHNmZGlzayAqc2YsCisJCQkJIHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLAorCQkJCSBjaGFyICpidWYpCit7CisJY29uc3QgY2hhciAqcCA9IHNraXBfYmxhbmsoYnVmKTsKKwlpbnQgcmMgPSBTRkRJU0tfRE9ORV9OT05FOworCisJaWYgKHN0cmNtcChwLCAicHJpbnQiKSA9PSAwKQorCQlsaXN0X2Rpc2tsYWJlbChzZi0+Y3h0KTsKKwllbHNlIGlmIChzdHJjbXAocCwgImhlbHAiKSA9PSAwKQorCQljb21tYW5kX2ZkaXNrX2hlbHAoKTsKKwllbHNlIGlmIChzdHJjbXAocCwgInF1aXQiKSA9PSAwKQorCQlyYyA9IFNGRElTS19ET05FX0FTSzsKKwllbHNlIGlmIChzdHJjbXAocCwgIndyaXRlIikgPT0gMCkKKwkJcmMgPSBTRkRJU0tfRE9ORV9XUklURTsKKwllbHNlIGlmIChzdHJjbXAocCwgImFib3J0IikgPT0gMCkKKwkJcmMgPSBTRkRJU0tfRE9ORV9BQk9SVDsKKwllbHNlIHsKKwkJaWYgKHNmLT5pbnRlcmFjdGl2ZSkKKwkJCWZkaXNrX3dhcm54KHNmLT5jeHQsIF8oInVuc3VwcG9ydGVkIGNvbW1hbmQiKSk7CisJCWVsc2UgeworCQkJZmRpc2tfd2Fybngoc2YtPmN4dCwgXygibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIpLAorCQkJCQlmZGlza19zY3JpcHRfZ2V0X25saW5lcyhkcCkpOworCQkJcmMgPSAtRUlOVkFMOworCQl9CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBoYXNfY29udGFpbmVyKHN0cnVjdCBzZmRpc2sgKnNmKQoreworCXNpemVfdCBpLCBucGFydHM7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCisJaWYgKHNmLT5jb250YWluZXIpCisJCXJldHVybiBzZi0+Y29udGFpbmVyOworCisJbnBhcnRzID0gZmRpc2tfZ2V0X25wYXJ0aXRpb25zKHNmLT5jeHQpOworCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBpLCAmcGEpICE9IDApCisJCQljb250aW51ZTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9pc19jb250YWluZXIocGEpKSB7CisJCQlzZi0+Y29udGFpbmVyID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwlyZXR1cm4gc2YtPmNvbnRhaW5lcjsKK30KKworc3RhdGljIHNpemVfdCBsYXN0X3B0X3BhcnRubyhzdHJ1Y3Qgc2ZkaXNrICpzZikKK3sKKwlzaXplX3QgaSwgbnBhcnRzLCBwYXJ0bm8gPSAwOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gTlVMTDsKKworCisJbnBhcnRzID0gZmRpc2tfZ2V0X25wYXJ0aXRpb25zKHNmLT5jeHQpOworCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQlzaXplX3QgeDsKKworCQlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihzZi0+Y3h0LCBpLCAmcGEpICE9IDAgfHwKKwkJICAgICFmZGlza19wYXJ0aXRpb25faXNfdXNlZChwYSkpCisJCQljb250aW51ZTsKKwkJeCA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhKTsKKwkJaWYgKHggPiBwYXJ0bm8pCisJCQlwYXJ0bm8gPSB4OworCX0KKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHBhcnRubzsKK30KKworI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKK3N0YXRpYyBjaGFyICpzZmRpc2tfZmdldHMoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsCisJCQkgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6LCBGSUxFICpmKQoreworCXN0cnVjdCBzZmRpc2sgKnNmID0gKHN0cnVjdCBzZmRpc2sgKikgZmRpc2tfc2NyaXB0X2dldF91c2VyZGF0YShkcCk7CisKKwlhc3NlcnQoZHApOworCWFzc2VydChidWYpOworCWFzc2VydChidWZzeiA+IDIpOworCisJaWYgKHNmLT5pbnRlcmFjdGl2ZSkgeworCQljaGFyICpwID0gcmVhZGxpbmUoc2YtPnByb21wdCk7CisJCXNpemVfdCBsZW47CisKKwkJaWYgKCFwKQorCQkJcmV0dXJuIE5VTEw7CisJCWxlbiA9IHN0cmxlbihwKTsKKwkJaWYgKGxlbiA+IGJ1ZnN6IC0gMikKKwkJCWxlbiA9IGJ1ZnN6IC0gMjsKKworCQltZW1jcHkoYnVmLCBwLCBsZW4pOworCQlidWZbbGVuXSA9ICdcbic7CQkvKiBhcHBlbmQgXG4gdG8gYmUgY29tcGF0aWJsZSB3aXRoIGxpYmMgZmdldGMoKSAqLworCQlidWZbbGVuICsgMV0gPSAnXDAnOworCQlmcmVlKHApOworCQlmZmx1c2goc3Rkb3V0KTsKKwkJcmV0dXJuIGJ1ZjsKKwl9CisJcmV0dXJuIGZnZXRzKGJ1ZiwgYnVmc3osIGYpOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgaWdub3JlX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwkvKiBpbmNvbXBsZXRlIHBhcnRpdGlvbiBzZXR0aW5nICovCisJaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSAmJiAhZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2lzX2RlZmF1bHQocGEpKQorCQlyZXR1cm4gMTsKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkgJiYgIWZkaXNrX3BhcnRpdGlvbl9lbmRfaXNfZGVmYXVsdChwYSkpCisJCXJldHVybiAxOworCisJLyogcHJvYmFibHkgZHVtcCBmcm9tIG9sZCBzZmRpc2sgd2l0aCBzdGFydD0wIHNpemU9MCAqLworCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSAmJiBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKSA9PSAwICYmCisJICAgIGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkgJiYgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSA9PSAwKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmb2xsb3dfd2lwZV9tb2RlKHN0cnVjdCBzZmRpc2sgKnNmKQoreworCWludCBkb3dpcGUgPSBzZi0+d2lwZW1vZGUgPT0gV0lQRU1PREVfQUxXQVlTID8gMSA6IDA7CisKKwlpZiAoc2YtPmludGVyYWN0aXZlICYmIHNmLT53aXBlbW9kZSA9PSBXSVBFTU9ERV9BVVRPKQorCQlkb3dpcGUgPSAxOwkvKiBkbyBpdCBpbiBpbnRlcmFjdGl2ZSBtb2RlICovCisKKwlpZiAoZmRpc2tfaXNfcHRjb2xsaXNpb24oc2YtPmN4dCkgJiYgc2YtPndpcGVtb2RlICE9IFdJUEVNT0RFX05FVkVSKQorCQlkb3dpcGUgPSAxOwkvKiBhbHdheXMgd2lwZSBvbGQgUFQgKi8KKworCWZkaXNrX2VuYWJsZV93aXBlKHNmLT5jeHQsIGRvd2lwZSk7CisJaWYgKHNmLT5xdWlldCkKKwkJcmV0dXJuOworCisJaWYgKGRvd2lwZSkgeworCQlpZiAoIWZkaXNrX2lzX3B0Y29sbGlzaW9uKHNmLT5jeHQpKSB7CisJCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIiksCisJCQkJCWZkaXNrX2dldF9jb2xsaXNpb24oc2YtPmN4dCkpOworCQkJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwkJfQorCX0gZWxzZSB7CisJCWZkaXNrX3dhcm54KHNmLT5jeHQsIF8oCisJCQkiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiAiCisJCQkiSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yICIKKwkJCSJzZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIpLAorCQkJZmRpc2tfZ2V0X2NvbGxpc2lvbihzZi0+Y3h0KSk7CisJCWZwdXRjKCdcbicsIHN0ZGVycik7CisJfQorfQorCitzdGF0aWMgaW50IHdpcGVfcGFydGl0aW9uKHN0cnVjdCBzZmRpc2sgKnNmLCBzaXplX3QgcGFydG5vKQoreworCWludCByYywgeWVzID0gMDsKKwljaGFyICpmc3R5cGUgPSBOVUxMOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnRtcCA9IE5VTEw7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoImNoZWNraW5nIGZvciBzaWduYXR1cmUiKSk7CisKKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb24oc2YtPmN4dCwgcGFydG5vLCAmdG1wKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCXJjID0gZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyh0bXAsIHNmLT5jeHQsIEZESVNLX0ZJRUxEX0ZTVFlQRSwgJmZzdHlwZSk7CisJaWYgKHJjIHx8IGZzdHlwZSA9PSBOVUxMKQorCQlnb3RvIGRvbmU7CisKKwlmZGlza193YXJueChzZi0+Y3h0LCBfKCJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iKSwgcGFydG5vICsgMSwgZnN0eXBlKTsKKworCWlmIChzZi0+cHdpcGVtb2RlID09IFdJUEVNT0RFX0FVVE8gJiYgaXNhdHR5KFNURElOX0ZJTEVOTykpCisJCWZkaXNrX2Fza195ZXNubyhzZi0+Y3h0LCBfKCJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iKSwgJnllcyk7CisJZWxzZSBpZiAoc2YtPnB3aXBlbW9kZSA9PSBXSVBFTU9ERV9BTFdBWVMpCisJCXllcyA9IDE7CisKKwlpZiAoeWVzKSB7CisJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIpKTsKKwkJcmMgPSBmZGlza193aXBlX3BhcnRpdGlvbihzZi0+Y3h0LCBwYXJ0bm8sIFRSVUUpOworCX0KK2RvbmU6CisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHRtcCk7CisJZnJlZShmc3R5cGUpOworCURCRyhNSVNDLCB1bF9kZWJ1ZygicGFydGl0aW9uIHdpcGUgY2hlY2sgZW5kIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgcmVmcmVzaF9wcm9tcHRfYnVmZmVyKHN0cnVjdCBzZmRpc2sgKnNmLCBjb25zdCBjaGFyICpkZXZuYW1lLAorCQkgICAgICAgICAgICAgICAgICBzaXplX3QgbmV4dF9wYXJ0bm8sIGludCBjcmVhdGVkKQoreworCWlmIChjcmVhdGVkKSB7CisJCWNoYXIgKnBhcnRuYW1lID0gZmRpc2tfcGFydG5hbWUoZGV2bmFtZSwgbmV4dF9wYXJ0bm8gKyAxKTsKKwkJaWYgKCFwYXJ0bmFtZSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIpKTsKKworCQlpZiAoIXNmLT5wcm9tcHQgfHwgIXN0YXJ0c3dpdGgoc2YtPnByb21wdCwgcGFydG5hbWUpKSB7CisJCQlmcmVlKHNmLT5wcm9tcHQpOworCQkJeGFzcHJpbnRmKCZzZi0+cHJvbXB0LCIlczogIiwgcGFydG5hbWUpOworCQl9CisJCWZyZWUocGFydG5hbWUpOworCX0gZWxzZSBpZiAoIXNmLT5wcm9tcHQgfHwgIXN0YXJ0c3dpdGgoc2YtPnByb21wdCwgU0ZESVNLX1BST01QVCkpIHsKKwkJZnJlZShzZi0+cHJvbXB0KTsKKwkJc2YtPnByb21wdCA9IHhzdHJkdXAoU0ZESVNLX1BST01QVCk7CisJfQorfQorCisvKgorICogc2ZkaXNrIDxkZXZpY2U+IFtbLU5dIDxwYXJ0bm8+XQorICoKKyAqIE5vdGUgdGhhdCB0aGUgb3B0aW9uIC1OIGlzIHRoZXJlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkuCisgKi8KK3N0YXRpYyBpbnQgY29tbWFuZF9mZGlzayhzdHJ1Y3Qgc2ZkaXNrICpzZiwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCByYyA9IDAsIHBhcnRubyA9IHNmLT5wYXJ0bm8sIGNyZWF0ZWQgPSAwLCB1bnVzZWQgPSAwOworCXN0cnVjdCBmZGlza19zY3JpcHQgKmRwOworCXN0cnVjdCBmZGlza190YWJsZSAqdGIgPSBOVUxMOworCWNvbnN0IGNoYXIgKmRldm5hbWUgPSBOVUxMLCAqbGFiZWw7CisJY2hhciBidWZbQlVGU0laXTsKKwlzaXplX3QgbmV4dF9wYXJ0bm8gPSAoc2l6ZV90KSAtMTsKKworCWlmIChhcmdjKQorCQlkZXZuYW1lID0gYXJndlswXTsKKwlpZiAocGFydG5vIDwgMCAmJiBhcmdjID4gMSkKKwkJcGFydG5vID0gc3RydG91MzJfb3JfZXJyKGFyZ3ZbMV0sCisJCQkJXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSk7CisJaWYgKCFkZXZuYW1lKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIikpOworCisJcmMgPSBmZGlza19hc3NpZ25fZGV2aWNlKHNmLT5jeHQsIGRldm5hbWUsIDApOworCWlmIChyYykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZGV2bmFtZSk7CisKKwlkcCA9IGZkaXNrX25ld19zY3JpcHQoc2YtPmN4dCk7CisJaWYgKCFkcCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIikpOworCWZkaXNrX3NldF9zY3JpcHQoc2YtPmN4dCwgZHApOworI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKKwlmZGlza19zY3JpcHRfc2V0X2ZnZXRzKGRwLCBzZmRpc2tfZmdldHMpOworI2VuZGlmCisJZmRpc2tfc2NyaXB0X3NldF91c2VyZGF0YShkcCwgKHZvaWQgKikgc2YpOworCisJLyoKKwkgKiBEb24ndCBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIHdoZW4gWy1OXSA8cGFydG5vPiBzcGVjaWZpZWQuIEluIHRoaXMKKwkgKiBjYXNlIHJldXNlIGFscmVhZHkgc3BlY2lmaWVkIGRpc2tsYWJlbC4gTGV0J3MgY2hlY2sgdGhhdCB0aGUgZGlzaworCSAqIHJlYWxseSBjb250YWlucyB0aGUgcGFydGl0aW9uLgorCSAqLworCWlmIChwYXJ0bm8gPj0gMCkgeworCQlzaXplX3QgbjsKKworCQlpZiAoIWZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6ICIKKwkJCQkJICAgICAibm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIpLAorCQkJCQlkZXZuYW1lLCBwYXJ0bm8gKyAxKTsKKwkJbiA9IGZkaXNrX2dldF9ucGFydGl0aW9ucyhzZi0+Y3h0KTsKKwkJaWYgKChzaXplX3QpIHBhcnRubyA+IG4pCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiAiCisJCQkJCSAgICAgInBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSAiCisJCQkJCSAgICAgInBhcnRpdGlvbnMiKSwKKwkJCQkJZGV2bmFtZSwgcGFydG5vICsgMSwgbik7CisKKwkJaWYgKCFmZGlza19pc19wYXJ0aXRpb25fdXNlZChzZi0+Y3h0LCBwYXJ0bm8pKSB7CisJCQlmZGlza193YXJueChzZi0+Y3h0LCBfKCJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIpLAorCQkJCQlkZXZuYW1lLCBwYXJ0bm8gKyAxKTsKKwkJCXVudXNlZCA9IDE7CisJCX0KKwkJY3JlYXRlZCA9IDE7CisJCW5leHRfcGFydG5vID0gcGFydG5vOworCisJCWlmIChzZi0+bW92ZWRhdGEpCisJCQlzZi0+b3JpZ19wYSA9IGdldF9wYXJ0aXRpb24oc2YtPmN4dCwgcGFydG5vKTsKKwl9CisKKwlpZiAoc2YtPmFwcGVuZCkgeworCQljcmVhdGVkID0gMTsKKwkJbmV4dF9wYXJ0bm8gPSBsYXN0X3B0X3BhcnRubyhzZikgKyAxOworCX0KKworCWlmICghc2YtPnF1aWV0ICYmIHNmLT5pbnRlcmFjdGl2ZSkgeworCQljb2xvcl9zY2hlbWVfZW5hYmxlKCJ3ZWxjb21lIiwgVUxfQ09MT1JfR1JFRU4pOworCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIlxuV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iKSwgUEFDS0FHRV9TVFJJTkcpOworCQljb2xvcl9kaXNhYmxlKCk7CisJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorCQkJCSAgIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIikpOworCX0KKworCWlmICghc2YtPm5vYWN0ICYmICFzZi0+bm9yZXJlYWQpIHsKKwkJaWYgKCFzZi0+cXVpZXQpCisJCQlmcHV0cyhfKCJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIpLCBzdGRvdXQpOworCQlpZiAoZmRpc2tfZGV2aWNlX2lzX3VzZWQoc2YtPmN4dCkpIHsKKwkJCWlmICghc2YtPnF1aWV0KQorCQkJCWZwdXRzKF8oIiBGQUlMRURcblxuIiksIHN0ZG91dCk7CisKKwkJCWZkaXNrX3dhcm54KHNmLT5jeHQsIF8oCisJCQkiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorCQkJIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKwkJCSJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIpKTsKKworCQkJaWYgKCFzZi0+Zm9yY2UpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIikpOworCQl9IGVsc2UgaWYgKCFzZi0+cXVpZXQpCisJCQlmcHV0cyhfKCIgT0tcblxuIiksIHN0ZG91dCk7CisJfQorCisJaWYgKGZkaXNrX2dldF9jb2xsaXNpb24oc2YtPmN4dCkpCisJCWZvbGxvd193aXBlX21vZGUoc2YpOworCisJaWYgKHNmLT5iYWNrdXApCisJCWJhY2t1cF9wYXJ0aXRpb25fdGFibGUoc2YsIGRldm5hbWUpOworCisJaWYgKCFzZi0+cXVpZXQpIHsKKwkJbGlzdF9kaXNrX2dlb21ldHJ5KHNmLT5jeHQpOworCQlpZiAoZmRpc2tfaGFzX2xhYmVsKHNmLT5jeHQpKSB7CisJCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIlxuT2xkIHNpdHVhdGlvbjoiKSk7CisJCQlsaXN0X2Rpc2tsYWJlbChzZi0+Y3h0KTsKKwkJfQorCX0KKworCWlmIChzZi0+bGFiZWwpCisJCWxhYmVsID0gc2YtPmxhYmVsOworCWVsc2UgaWYgKGZkaXNrX2hhc19sYWJlbChzZi0+Y3h0KSkKKwkJbGFiZWwgPSBmZGlza19sYWJlbF9nZXRfbmFtZShmZGlza19nZXRfbGFiZWwoc2YtPmN4dCwgTlVMTCkpOworCWVsc2UKKwkJbGFiZWwgPSAiZG9zIjsJLyoganVzdCBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworCisJZmRpc2tfc2NyaXB0X3NldF9oZWFkZXIoZHAsICJsYWJlbCIsIGxhYmVsKTsKKworCisJaWYgKCFzZi0+cXVpZXQgJiYgc2YtPmludGVyYWN0aXZlKSB7CisJCWlmICghZmRpc2tfaGFzX2xhYmVsKHNmLT5jeHQpICYmICFzZi0+bGFiZWwpCisJCQlmZGlza19pbmZvKHNmLT5jeHQsCisJCQkJXygiXG5zZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKwkJCQkgICJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisJCQkJICAidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIiksIGxhYmVsKTsKKwkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJcblR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIikpOworCX0gZWxzZSBpZiAoIXNmLT5xdWlldCkKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCXRiID0gZmRpc2tfc2NyaXB0X2dldF90YWJsZShkcCk7CisJYXNzZXJ0KHRiKTsKKworCWRvIHsKKwkJc2l6ZV90IG5wYXJ0czsKKworCQlEQkcoUEFSU0UsIHVsX2RlYnVnKCI8LS0tbmV4dC1saW5lLS0tPiIpKTsKKwkJaWYgKG5leHRfcGFydG5vID09IChzaXplX3QpIC0xKQorCQkJbmV4dF9wYXJ0bm8gPSBmZGlza190YWJsZV9nZXRfbmVudHModGIpOworCisJCWlmIChjcmVhdGVkCisJCSAgICAmJiBwYXJ0bm8gPCAwCisJCSAgICAmJiBuZXh0X3BhcnRubyA9PSBmZGlza19nZXRfbnBhcnRpdGlvbnMoc2YtPmN4dCkKKwkJICAgICYmICFoYXNfY29udGFpbmVyKHNmKSkgeworCQkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJBbGwgcGFydGl0aW9ucyB1c2VkLiIpKTsKKwkJCXJjID0gU0ZESVNLX0RPTkVfQVNLOworCQkJYnJlYWs7CisJCX0KKworCQlyZWZyZXNoX3Byb21wdF9idWZmZXIoc2YsIGRldm5hbWUsIG5leHRfcGFydG5vLCBjcmVhdGVkKTsKKworCisJCWlmIChzZi0+cHJvbXB0ICYmIChzZi0+aW50ZXJhY3RpdmUgfHwgIXNmLT5xdWlldCkpIHsKKyNpZm5kZWYgSEFWRV9MSUJSRUFETElORQorCQkJZnB1dHMoc2YtPnByb21wdCwgc3Rkb3V0KTsKKyNlbHNlCisJCQlpZiAoIXNmLT5pbnRlcmFjdGl2ZSkKKwkJCQlmcHV0cyhzZi0+cHJvbXB0LCBzdGRvdXQpOworI2VuZGlmCisJCX0KKworCQlyYyA9IGZkaXNrX3NjcmlwdF9yZWFkX2xpbmUoZHAsIHN0ZGluLCBidWYsIHNpemVvZihidWYpKTsKKwkJaWYgKHJjIDwgMCkgeworCQkJREJHKFBBUlNFLCB1bF9kZWJ1Zygic2NyaXB0IHBhcnNpbmcgZmFpbGVkLCB0cnlpbmcgc2ZkaXNrIHNwZWNpZmljIGNvbW1hbmRzIikpOworCQkJYnVmW3NpemVvZihidWYpIC0gMV0gPSAnXDAnOworCQkJcmMgPSBsb29wX2NvbnRyb2xfY29tbWFuZHMoc2YsIGRwLCBidWYpOworCQkJaWYgKHJjKQorCQkJCWJyZWFrOworCQkJY29udGludWU7CisJCX0gZWxzZSBpZiAocmMgPT0gMSkgeworCQkJcmMgPSBTRkRJU0tfRE9ORV9FT0Y7CisJCQlpZiAoIXNmLT5xdWlldCkKKwkJCQlmcHV0cyhfKCJEb25lLlxuIiksIHN0ZG91dCk7CisJCQlicmVhazsKKwkJfQorCisJCW5wYXJ0cyA9IGZkaXNrX3RhYmxlX2dldF9uZW50cyh0Yik7CisJCWlmIChucGFydHMpIHsKKwkJCXNpemVfdCBjdXJfcGFydG5vOworCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uKHRiLCBucGFydHMgLSAxKTsKKworCQkJYXNzZXJ0KHBhKTsKKworCQkJaWYgKGlnbm9yZV9wYXJ0aXRpb24ocGEpKSB7CisJCQkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJJZ25vcmluZyBwYXJ0aXRpb24uIikpOworCQkJCW5leHRfcGFydG5vKys7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoIWNyZWF0ZWQpIHsJCS8qIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwgKi8KKwkJCQlyYyA9IGZkaXNrX2FwcGx5X3NjcmlwdF9oZWFkZXJzKHNmLT5jeHQsIGRwKTsKKwkJCQljcmVhdGVkID0gIXJjOworCQkJCWlmIChyYykKKwkJCQkJZmRpc2tfd2Fybngoc2YtPmN4dCwgXygKKwkJCQkJICAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCAiCisJCQkJCSAgImRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIikpOworCisJCQkJaWYgKHJjID09IDAgJiYgZmRpc2tfZ2V0X2NvbGxpc2lvbihzZi0+Y3h0KSkKKwkJCQkJZm9sbG93X3dpcGVfbW9kZShzZik7CisJCQl9CisJCQlpZiAoIXJjICYmIHBhcnRubyA+PSAwKSB7CS8qIC1OIDxwYXJ0bm8+LCBtb2RpZnkgcGFydGl0aW9uICovCisJCQkJcmMgPSBmZGlza19zZXRfcGFydGl0aW9uKHNmLT5jeHQsIHBhcnRubywgcGEpOworCQkJCXJjID0gcmMgPT0gMCA/IFNGRElTS19ET05FX0FTSyA6IFNGRElTS19ET05FX0FCT1JUOworCQkJCWJyZWFrOworCQkJfSBlbHNlIGlmICghcmMpIHsJCS8qIGFkZCBwYXJ0aXRpb24gKi8KKwkJCQlpZiAoIXNmLT5pbnRlcmFjdGl2ZSAmJiAhc2YtPnF1aWV0ICYmCisJCQkJICAgICghc2YtPnByb21wdCB8fCBzdGFydHN3aXRoKHNmLT5wcm9tcHQsIFNGRElTS19QUk9NUFQpKSkgeworCQkJCQlyZWZyZXNoX3Byb21wdF9idWZmZXIoc2YsIGRldm5hbWUsIG5leHRfcGFydG5vLCBjcmVhdGVkKTsKKwkJCQkJZnB1dHMoc2YtPnByb21wdCwgc3Rkb3V0KTsKKwkJCQl9CisJCQkJcmMgPSBmZGlza19hZGRfcGFydGl0aW9uKHNmLT5jeHQsIHBhLCAmY3VyX3BhcnRubyk7CisJCQkJaWYgKHJjKSB7CisJCQkJCWVycm5vID0gLXJjOworCQkJCQlmZGlza193YXJuKHNmLT5jeHQsIF8oIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIpLCBuZXh0X3BhcnRubyArIDEpOworCQkJCX0KKwkJCX0KKworCQkJLyogd2lwZSBwYXJ0aXRpb24gb24gc3VjY2VzcworCQkJICoKKwkJCSAqIE5vdGUgdGhhdCB1bnVzZWQ9MSBtZWFucyAtTiA8cGFydG5vPiBmb3IgdW51c2VkLAorCQkJICogb3RoZXJ3aXNlIHdlIHdpcGUgb25seSBuZXdseSBjcmVhdGVkIHBhcnRpdGlvbnMuCisJCQkgKi8KKwkJCWlmIChyYyA9PSAwICYmICh1bnVzZWQgfHwgcGFydG5vIDwgMCkpIHsKKwkJCQlyYyA9IHdpcGVfcGFydGl0aW9uKHNmLCB1bnVzZWQgPyAoc2l6ZV90KSBwYXJ0bm8gOiBjdXJfcGFydG5vKTsKKwkJCQlpZiAocmMpCisJCQkJCWVycm5vID0gLXJjOworCQkJfQorCisJCQlpZiAoIXJjKSB7CisJCQkJLyogc3VjY2VzcyBwcmludCByZXN1bHQgKi8KKwkJCQlpZiAoc2YtPmludGVyYWN0aXZlKQorCQkJCQlzZmRpc2tfcHJpbnRfcGFydGl0aW9uKHNmLCBjdXJfcGFydG5vKTsKKwkJCQluZXh0X3BhcnRubyA9IGN1cl9wYXJ0bm8gKyAxOworCQkJfSBlbHNlIGlmIChwYSkJCS8qIGVycm9yLCBkcm9wIHBhcnRpdGlvbiBmcm9tIHNjcmlwdCAqLworCQkJCWZkaXNrX3RhYmxlX3JlbW92ZV9wYXJ0aXRpb24odGIsIHBhKTsKKwkJfSBlbHNlCisJCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIikpOworCisJCWlmIChyYyAmJiAhc2YtPmludGVyYWN0aXZlKSB7CisJCQlyYyA9ICBTRkRJU0tfRE9ORV9BQk9SVDsKKwkJCWJyZWFrOworCQl9CisJfSB3aGlsZSAoMSk7CisKKwkvKiBjcmVhdGUgZW1wdHkgZGlzayBsYWJlbCBpZiBsYWJlbCwgYnV0IG5vIHBhcnRpdGlvbiBzcGVjaWZpZWQgKi8KKwlpZiAoKHJjID09IFNGRElTS19ET05FX0VPRiB8fCByYyA9PSBTRkRJU0tfRE9ORV9XUklURSkgJiYgY3JlYXRlZCA9PSAwCisJICAgICYmIGZkaXNrX3NjcmlwdF9oYXNfZm9yY2VfbGFiZWwoZHApID09IDEKKwkgICAgJiYgZmRpc2tfdGFibGVfZ2V0X25lbnRzKHRiKSA9PSAwCisJICAgICYmIGZkaXNrX3NjcmlwdF9nZXRfaGVhZGVyKGRwLCAibGFiZWwiKSkgeworCisJCWludCB4cmMgPSBmZGlza19hcHBseV9zY3JpcHRfaGVhZGVycyhzZi0+Y3h0LCBkcCk7CisJCWNyZWF0ZWQgPSAheHJjOworCQlpZiAoeHJjKSB7CisJCQlmZGlza193YXJueChzZi0+Y3h0LCBfKAorCQkJCSAgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgIgorCQkJCSAgImRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIikpOworCQkJcmMgPSBTRkRJU0tfRE9ORV9BQk9SVDsKKwkJfQorCX0KKworCWlmICghc2YtPnF1aWV0ICYmIHJjICE9IFNGRElTS19ET05FX0FCT1JUKSB7CisJCWZkaXNrX2luZm8oc2YtPmN4dCwgXygiXG5OZXcgc2l0dWF0aW9uOiIpKTsKKwkJbGlzdF9kaXNrX2lkZW50aWZpZXIoc2YtPmN4dCk7CisJCWxpc3RfZGlza2xhYmVsKHNmLT5jeHQpOworCX0KKworCXN3aXRjaCAocmMpIHsKKwljYXNlIFNGRElTS19ET05FX0FTSzoKKwljYXNlIFNGRElTS19ET05FX0VPRjoKKwkJaWYgKHNmLT5pbnRlcmFjdGl2ZSkgeworCQkJaW50IHllcyA9IDA7CisJCQlmZGlza19hc2tfeWVzbm8oc2YtPmN4dCwgXygiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIpLCAmeWVzKTsKKwkJCWlmICgheWVzKSB7CisJCQkJZmRpc2tfaW5mbyhzZi0+Y3h0LCBfKCJMZWF2aW5nLiIpKTsKKwkJCQlyYyA9IDA7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIFNGRElTS19ET05FX1dSSVRFOgorCQlyYyA9IHdyaXRlX2NoYW5nZXMoc2YpOworCQlicmVhazsKKwljYXNlIFNGRElTS19ET05FX0FCT1JUOgorCWRlZmF1bHQ6CQkJCS8qIHJjIDwgMCBvbiBlcnJvciAqLworCQlmZGlza19pbmZvKHNmLT5jeHQsIF8oIkxlYXZpbmcuXG4iKSk7CisJCWJyZWFrOworCX0KKworCWZkaXNrX3VucmVmX3NjcmlwdChkcCk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorCQkiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfQ09NTUFORFMsIG91dCk7CisJZnB1dHMoXygiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIiksIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAlc1xuIiwgVVNBR0VfQ09MT1JTX0RFRkFVTFQpOworCWZwdXRzKF8oIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAlc1xuIiwgVVNBR0VfT1BUU1RSX0hFTFApOworCXByaW50ZiggIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgICVzXG4iLCBVU0FHRV9PUFRTVFJfVkVSU0lPTik7CisKKwlsaXN0X2F2YWlsYWJsZV9jb2x1bW5zKG91dCk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInNmZGlzayg4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICpvdXRhcmcgPSBOVUxMOworCWludCByYyA9IC1FSU5WQUwsIGMsIGxvbmdpZHggPSAtMSwgYnl0ZXMgPSAwOworCWludCBjb2xvcm1vZGUgPSBVTF9DT0xPUk1PREVfVU5ERUY7CisJc3RydWN0IHNmZGlzayBfc2YgPSB7CisJCS5wYXJ0bm8gPSAtMSwKKwkJLndpcGVtb2RlID0gV0lQRU1PREVfQVVUTywKKwkJLnB3aXBlbW9kZSA9IFdJUEVNT0RFX0FVVE8sCisJCS5pbnRlcmFjdGl2ZSA9IGlzYXR0eShTVERJTl9GSUxFTk8pID8gMSA6IDAsCisJfSwgKnNmID0gJl9zZjsKKworCWVudW0geworCQlPUFRfQ0hBTkdFX0lEID0gQ0hBUl9NQVggKyAxLAorCQlPUFRfUFJJTlRfSUQsCisJCU9QVF9JRCwKKwkJT1BUX05PUkVSRUFELAorCQlPUFRfUEFSVFVVSUQsCisJCU9QVF9QQVJUTEFCRUwsCisJCU9QVF9QQVJUVFlQRSwKKwkJT1BUX1BBUlRBVFRSUywKKwkJT1BUX0JZVEVTLAorCQlPUFRfQ09MT1IsCisJCU9QVF9NT1ZFREFUQSwKKwkJT1BUX0RFTEVURSwKKwkJT1BUX05PVEVMTAorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhY3RpdmF0ZSIsbm9fYXJndW1lbnQsCU5VTEwsICdBJyB9LAorCQl7ICJhcHBlbmQiLCAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdhJyB9LAorCQl7ICJiYWNrdXAiLCAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdiJyB9LAorCQl7ICJiYWNrdXAtZmlsZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTycgfSwKKwkJeyAiYnl0ZXMiLCAgIG5vX2FyZ3VtZW50LAlOVUxMLCBPUFRfQllURVMgfSwKKwkJeyAiY29sb3IiLCAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfQ09MT1IgfSwKKwkJeyAiZGVsZXRlIiwgIG5vX2FyZ3VtZW50LAlOVUxMLCBPUFRfREVMRVRFIH0sCisJCXsgImR1bXAiLCAgICBub19hcmd1bWVudCwJTlVMTCwgJ2QnIH0sCisJCXsgImhlbHAiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJCXsgImZvcmNlIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2YnIH0sCisJCXsgImpzb24iLCAgICBub19hcmd1bWVudCwJTlVMTCwgJ0onIH0sCisJCXsgImxhYmVsIiwgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1gnIH0sCisJCXsgImxhYmVsLW5lc3RlZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnWScgfSwKKwkJeyAibGlzdCIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbCcgfSwKKwkJeyAibGlzdC1mcmVlIiwgbm9fYXJndW1lbnQsICAgICBOVUxMLCAnRicgfSwKKwkJeyAibGlzdC10eXBlcyIsIG5vX2FyZ3VtZW50LAlOVUxMLCAnVCcgfSwKKwkJeyAibm8tYWN0IiwgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgfSwKKwkJeyAibm8tcmVyZWFkIiwgbm9fYXJndW1lbnQsICAgICBOVUxMLCBPUFRfTk9SRVJFQUQgfSwKKwkJeyAibm8tdGVsbC1rZXJuZWwiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX05PVEVMTCB9LAorCQl7ICJtb3ZlLWRhdGEiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX01PVkVEQVRBIH0sCisJCXsgIm91dHB1dCIsICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nIH0sCisJCXsgInBhcnRubyIsICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ04nIH0sCisJCXsgInJlb3JkZXIiLCBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3InIH0sCisJCXsgInNob3ctZ2VvbWV0cnkiLCBub19hcmd1bWVudCwgTlVMTCwgJ2cnIH0sCisJCXsgInF1aWV0IiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3EnIH0sCisJCXsgInZlcmlmeSIsICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnIH0sCisJCXsgInZlcnNpb24iLCBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3YnIH0sCisJCXsgIndpcGUiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3cnIH0sCisJCXsgIndpcGUtcGFydGl0aW9ucyIsICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVycgfSwKKworCQl7ICJwYXJ0LXV1aWQiLCAgbm9fYXJndW1lbnQsICAgIE5VTEwsIE9QVF9QQVJUVVVJRCB9LAorCQl7ICJwYXJ0LWxhYmVsIiwgbm9fYXJndW1lbnQsICAgIE5VTEwsIE9QVF9QQVJUTEFCRUwgfSwKKwkJeyAicGFydC10eXBlIiwgIG5vX2FyZ3VtZW50LCAgICBOVUxMLCBPUFRfUEFSVFRZUEUgfSwKKwkJeyAicGFydC1hdHRycyIsIG5vX2FyZ3VtZW50LCAgICBOVUxMLCBPUFRfUEFSVEFUVFJTIH0sCisKKwkJeyAic2hvdy1wdC1nZW9tZXRyeSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnRycgfSwJCS8qIGRlcHJlY2F0ZWQgKi8KKwkJeyAidW5pdCIsICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndScgfSwJCS8qIGRlcHJlY2F0ZWQgKi8KKwkJeyAiTGludXgiLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnTCcgfSwJCS8qIGRlcHJlY2F0ZWQgKi8KKwkJeyAic2hvdy1zaXplIiwgbm9fYXJndW1lbnQsCU5VTEwsICdzJyB9LAkJLyogZGVwcmVjYXRlZCAqLworCisJCXsgImNoYW5nZS1pZCIsbm9fYXJndW1lbnQsICAgICAgTlVMTCwgT1BUX0NIQU5HRV9JRCB9LAkvKiBkZXByZWNhdGVkICovCisJCXsgImlkIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2MnIH0sCQkvKiBkZXByZWNhdGVkICovCisJCXsgInByaW50LWlkIixub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX1BSSU5UX0lEIH0sCS8qIGRlcHJlY2F0ZWQgKi8KKworCQl7IE5VTEwsIDAsIE5VTEwsIDAgfSwKKwl9OworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0gewkvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ3MnLCd1J30sCQkJLyogLS1zaG93LXNpemUgLS11bml0ICovCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYUFiY2RmRmdHaEpsTG86TzpuTjpxcnNUdTp2Vlg6WTp3Olc6IiwKKwkJCQkJbG9uZ29wdHMsICZsb25naWR4KSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ0EnOgorCQkJc2YtPmFjdCA9IEFDVF9BQ1RJVkFURTsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCXNmLT5hcHBlbmQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJc2YtPmJhY2t1cCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQ0hBTkdFX0lEOgorCQljYXNlIE9QVF9QUklOVF9JRDoKKwkJY2FzZSBPUFRfSUQ6CisJCQl3YXJueChfKCIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIpLAorCQkJCWxvbmdvcHRzW2xvbmdpZHhdLm5hbWUpOworCQkJc2YtPmFjdCA9IEFDVF9QQVJUVFlQRTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCXdhcm54KF8oIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiKSk7CisJCQlzZi0+YWN0ID0gQUNUX1BBUlRUWVBFOworCQkJYnJlYWs7CisJCWNhc2UgJ0onOgorCQkJc2YtPmpzb24gPSAxOworCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJY2FzZSAnZCc6CisJCQlzZi0+YWN0ID0gQUNUX0RVTVA7CisJCQlicmVhazsKKwkJY2FzZSAnRic6CisJCQlzZi0+YWN0ID0gQUNUX0xJU1RfRlJFRTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCXNmLT5mb3JjZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnRyc6CisJCQl3YXJueChfKCItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIpKTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWNhc2UgJ2cnOgorCQkJc2YtPmFjdCA9IEFDVF9TSE9XX0dFT007CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJc2YtPmFjdCA9IEFDVF9MSVNUOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJd2FybngoXygiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlzZi0+YmFja3VwID0gMTsKKwkJCXNmLT5iYWNrdXBfZmlsZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCXNmLT5ub2FjdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnTic6CisJCQlzZi0+cGFydG5vID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiKSkgLSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJc2YtPnF1aWV0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCXNmLT5hY3QgPSBBQ1RfUkVPUkRFUjsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNmLT5hY3QgPSBBQ1RfU0hPV19TSVpFOworCQkJYnJlYWs7CisJCWNhc2UgJ1QnOgorCQkJc2YtPmFjdCA9IEFDVF9MSVNUX1RZUEVTOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJaWYgKCpvcHRhcmcgIT0gJ1MnKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCB1bml0ICclYyciKSwgKm9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQlwcmludGYoXygiJXMgZnJvbSAlc1xuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLAorCQkJCQkJICBQQUNLQUdFX1NUUklORyk7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdWJzoKKwkJCXNmLT52ZXJpZnkgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3cnOgorCQkJc2YtPndpcGVtb2RlID0gd2lwZW1vZGVfZnJvbV9zdHJpbmcob3B0YXJnKTsKKwkJCWlmIChzZi0+d2lwZW1vZGUgPCAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnVyc6CisJCQlzZi0+cHdpcGVtb2RlID0gd2lwZW1vZGVfZnJvbV9zdHJpbmcob3B0YXJnKTsKKwkJCWlmIChzZi0+cHdpcGVtb2RlIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1gnOgorCQkJc2YtPmxhYmVsID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1knOgorCQkJc2YtPmxhYmVsX25lc3RlZCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCisJCWNhc2UgT1BUX1BBUlRVVUlEOgorCQkJc2YtPmFjdCA9IEFDVF9QQVJUVVVJRDsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9QQVJUVFlQRToKKwkJCXNmLT5hY3QgPSBBQ1RfUEFSVFRZUEU7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUEFSVExBQkVMOgorCQkJc2YtPmFjdCA9IEFDVF9QQVJUTEFCRUw7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUEFSVEFUVFJTOgorCQkJc2YtPmFjdCA9IEFDVF9QQVJUQVRUUlM7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTk9SRVJFQUQ6CisJCQlzZi0+bm9yZXJlYWQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JZVEVTOgorCQkJYnl0ZXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0NPTE9SOgorCQkJY29sb3Jtb2RlID0gVUxfQ09MT1JNT0RFX0FVVE87CisJCQlpZiAob3B0YXJnKQorCQkJCWNvbG9ybW9kZSA9IGNvbG9ybW9kZV9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9NT1ZFREFUQToKKwkJCXNmLT5tb3ZlZGF0YSA9IDE7CisJCQlzZi0+bW92ZV90eXBlc2NyaXB0ID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0RFTEVURToKKwkJCXNmLT5hY3QgPSBBQ1RfREVMRVRFOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX05PVEVMTDoKKwkJCXNmLT5ub3RlbGwgPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwljb2xvcnNfaW5pdChjb2xvcm1vZGUsICJzZmRpc2siKTsKKworCXNmZGlza19pbml0KHNmKTsKKwlpZiAoYnl0ZXMpCisJCWZkaXNrX3NldF9zaXplX3VuaXQoc2YtPmN4dCwgRkRJU0tfU0laRVVOSVRfQllURVMpOworCisJaWYgKG91dGFyZykKKwkJaW5pdF9maWVsZHMoTlVMTCwgb3V0YXJnLCBOVUxMKTsKKworCWlmIChzZi0+dmVyaWZ5ICYmICFzZi0+YWN0KQorCQlzZi0+YWN0ID0gQUNUX1ZFUklGWTsJLyogLS12ZXJpZnkgbWFrZSBiZSB1c2VkIHdpdGggLS1saXN0IHRvbyAqLworCWVsc2UgaWYgKCFzZi0+YWN0KQorCQlzZi0+YWN0ID0gQUNUX0ZESVNLOwkvKiBkZWZhdWx0ICovCisKKwlpZiAoc2YtPm1vdmVkYXRhICYmICEoc2YtPmFjdCA9PSBBQ1RfRkRJU0sgJiYgc2YtPnBhcnRubyA+PSAwKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iKSk7CisKKwlzd2l0Y2ggKHNmLT5hY3QpIHsKKwljYXNlIEFDVF9BQ1RJVkFURToKKwkJcmMgPSBjb21tYW5kX2FjdGl2YXRlKHNmLCBhcmdjIC0gb3B0aW5kLCBhcmd2ICsgb3B0aW5kKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9ERUxFVEU6CisJCXJjID0gY29tbWFuZF9kZWxldGUoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKworCWNhc2UgQUNUX0xJU1Q6CisJCXJjID0gY29tbWFuZF9saXN0X3BhcnRpdGlvbnMoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKworCWNhc2UgQUNUX0xJU1RfVFlQRVM6CisJCXJjID0gY29tbWFuZF9saXN0X3R5cGVzKHNmKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9MSVNUX0ZSRUU6CisJCXJjID0gY29tbWFuZF9saXN0X2ZyZWVzcGFjZShzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfRkRJU0s6CisJCXJjID0gY29tbWFuZF9mZGlzayhzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfRFVNUDoKKwkJcmMgPSBjb21tYW5kX2R1bXAoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKworCWNhc2UgQUNUX1NIT1dfU0laRToKKwkJcmMgPSBjb21tYW5kX3Nob3dfc2l6ZShzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfU0hPV19HRU9NOgorCQlyYyA9IGNvbW1hbmRfc2hvd19nZW9tZXRyeShzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfVkVSSUZZOgorCQlyYyA9IGNvbW1hbmRfdmVyaWZ5KHNmLCBhcmdjIC0gb3B0aW5kLCBhcmd2ICsgb3B0aW5kKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9QQVJUVFlQRToKKwkJcmMgPSBjb21tYW5kX3BhcnR0eXBlKHNmLCBhcmdjIC0gb3B0aW5kLCBhcmd2ICsgb3B0aW5kKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9QQVJUVVVJRDoKKwkJcmMgPSBjb21tYW5kX3BhcnR1dWlkKHNmLCBhcmdjIC0gb3B0aW5kLCBhcmd2ICsgb3B0aW5kKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9QQVJUTEFCRUw6CisJCXJjID0gY29tbWFuZF9wYXJ0bGFiZWwoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKworCWNhc2UgQUNUX1BBUlRBVFRSUzoKKwkJcmMgPSBjb21tYW5kX3BhcnRhdHRycyhzZiwgYXJnYyAtIG9wdGluZCwgYXJndiArIG9wdGluZCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfUkVPUkRFUjoKKwkJcmMgPSBjb21tYW5kX3Jlb3JkZXIoc2YsIGFyZ2MgLSBvcHRpbmQsIGFyZ3YgKyBvcHRpbmQpOworCQlicmVhazsKKwl9CisKKwlzZmRpc2tfZGVpbml0KHNmKTsKKworCURCRyhNSVNDLCB1bF9kZWJ1ZygiYnllISBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmMgPT0gMCA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKK30KKwpkaWZmIC0tZ2l0IGEvZGlzay11dGlscy9zd2FwbGFiZWwuOCBiL2Rpc2stdXRpbHMvc3dhcGxhYmVsLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk2ZDUwNwotLS0gL2Rldi9udWxsCisrKyBiL2Rpc2stdXRpbHMvc3dhcGxhYmVsLjgKQEAgLTAsMCArMSw3MCBAQAorLlwiIENvcHlyaWdodCAyMDEwIEphc29uIEJvcmRlbiA8amJvcmRlbkBibHVlaG9zdC5jb20+CisuXCIKKy5cIiBUaGlzIGZpbGUgbWF5IGJlIGNvcGllZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBQdWJsaWMgTGljZW5zZS4KKy5cIgorLlRIIFNXQVBMQUJFTCA4ICJBcHJpbCAyMDEwIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitzd2FwbGFiZWwgXC0gcHJpbnQgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhCisuU0ggU1lOT1BTSVMKKy5CIHN3YXBsYWJlbAorLlJCIFsgXC1MCisuSVIgbGFiZWwgXQorLlJCIFsgXC1VCisuSVIgVVVJRCBdCisuSSBkZXZpY2UKKy5TSCBERVNDUklQVElPTgorLkIgc3dhcGxhYmVsCit3aWxsIGRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBwYXJ0aXRpb24gbG9jYXRlZCBvbgorLkkgZGV2aWNlCisob3IgcmVndWxhciBmaWxlKS4KKy5QUAorSWYgdGhlIG9wdGlvbmFsIGFyZ3VtZW50cworLkIgXC1MCithbmQKKy5CIFwtVQorYXJlIG5vdCBnaXZlbiwKKy5CIHN3YXBsYWJlbAord2lsbCBzaW1wbHkgZGlzcGxheSB0aGUgY3VycmVudCBzd2FwLWFyZWEgbGFiZWwgYW5kIFVVSUQgb2YKKy5JUiBkZXZpY2UgLgorLlBQCitJZiBhbiBvcHRpb25hbCBhcmd1bWVudCBpcyBwcmVzZW50LCB0aGVuCisuQiBzd2FwbGFiZWwKK3dpbGwgY2hhbmdlIHRoZSBhcHByb3ByaWF0ZSB2YWx1ZSBvbgorLklSIGRldmljZSAuCitUaGVzZSB2YWx1ZXMgY2FuIGFsc28gYmUgc2V0IGR1cmluZyBzd2FwIGNyZWF0aW9uIHVzaW5nCisuQlIgbWtzd2FwICg4KS4KK1RoZQorLkIgc3dhcGxhYmVsCit1dGlsaXR5IGFsbG93cyB0byBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb24gYW4gYWN0aXZlbHkgdXNlZCBzd2FwIGRldmljZS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLUwgLCAiIFwtXC1sYWJlbCAiIFxmSWxhYmVsXGZSCitTcGVjaWZ5IGEgbmV3IFxmSWxhYmVsXGZSIGZvciB0aGUgZGV2aWNlLgorU3dhcCBwYXJ0aXRpb24gbGFiZWxzIGNhbiBiZSBhdCBtb3N0IDE2IGNoYXJhY3RlcnMgbG9uZy4gIElmCisuSSBsYWJlbAoraXMgbG9uZ2VyIHRoYW4gMTYgY2hhcmFjdGVycywKKy5CIHN3YXBsYWJlbAord2lsbCB0cnVuY2F0ZSBpdCBhbmQgcHJpbnQgYSB3YXJuaW5nIG1lc3NhZ2UuCisuVFAKKy5CUiBcLVUgLCAiIFwtXC11dWlkICIgXGZJVVVJRFxmUgorU3BlY2lmeSBhIG5ldyBcZklVVUlEXGZSIGZvciB0aGUgZGV2aWNlLgorVGhlIFxmSSBVVUlEXGZSCittdXN0IGJlIGluIHRoZSBzdGFuZGFyZCA4LTQtNC00LTEyIGNoYXJhY3RlciBmb3JtYXQsIHN1Y2ggYXMgaXMgb3V0cHV0IGJ5CisuQlIgdXVpZGdlbiAoMSkuCisuUFAKKy5TSCBBVVRIT1IKKy5CIHN3YXBsYWJlbAord2FzIHdyaXR0ZW4gYnkgSmFzb24gQm9yZGVuIDxqYm9yZGVuQGJsdWVob3N0LmNvbT4gYW5kIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPi4KKy5TSCBFTlZJUk9OTUVOVAorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgc3dhcGxhYmVsIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisuU0ggU0VFIEFMU08KKy5CUiB1dWlkZ2VuICgxKSwKKy5CUiBta3N3YXAgKDgpLAorLkJSIHN3YXBvbiAoOCkKZGlmZiAtLWdpdCBhL2Rpc2stdXRpbHMvc3dhcGxhYmVsLmMgYi9kaXNrLXV0aWxzL3N3YXBsYWJlbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjYzIyNmEKLS0tIC9kZXYvbnVsbAorKysgYi9kaXNrLXV0aWxzL3N3YXBsYWJlbC5jCkBAIC0wLDAgKzEsMTk1IEBACisvKgorICogc3dhcGxhYmVsLmMgLSBQcmludCBvciBjaGFuZ2UgdGhlIGxhYmVsIC8gVVVJRCBvZiBhIHN3YXAgcGFydGl0aW9uCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEphc29uIEJvcmRlbiA8amJvcmRlbkBibHVlaG9zdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVXNhZ2U6IHN3YXBsYWJlbCBbLUwgbGFiZWxdIFstVSBVVUlEXSBkZXZpY2UKKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljIExpY2Vuc2UKKyAqIHZlcnNpb24gMiBvciBsYXRlci4KKyAqCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2lmZGVmIEhBVkVfTElCVVVJRAorIyBpbmNsdWRlIDx1dWlkLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNpbmNsdWRlICJzd2FwaGVhZGVyLmgiCisjaW5jbHVkZSAic3dhcHByb2Jlci5oIgorCisjZGVmaW5lIFNXQVBfVVVJRF9PRkZTRVQJKG9mZnNldG9mKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yLCB1dWlkKSkKKyNkZWZpbmUgU1dBUF9MQUJFTF9PRkZTRVQJKG9mZnNldG9mKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yLCB2b2x1bWVfbmFtZSkpCisKKy8qIFByaW50IHRoZSBzd2FwIHBhcnRpdGlvbiBpbmZvcm1hdGlvbiAqLworc3RhdGljIGludCBwcmludF9pbmZvKGJsa2lkX3Byb2JlIHByKQoreworCWNvbnN0IGNoYXIgKmRhdGE7CisKKwlpZiAoIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIkxBQkVMIiwgJmRhdGEsIE5VTEwpKQorCQlwcmludGYoIkxBQkVMOiAlc1xuIiwgZGF0YSk7CisKKwlpZiAoIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlVVSUQiLCAmZGF0YSwgTlVMTCkpCisJCXByaW50ZigiVVVJRDogICVzXG4iLCBkYXRhKTsKKworCXJldHVybiAwOworfQorCisvKiBDaGFuZ2UgdGhlIHN3YXAgcGFydGl0aW9uIGluZm8gKi8KKyNpZmRlZiBIQVZFX0xJQlVVSUQKK3N0YXRpYyBpbnQgY2hhbmdlX2luZm8oY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqbGFiZWwsIGNvbnN0IGNoYXIgKnV1aWQpCisjZWxzZQorc3RhdGljIGludCBjaGFuZ2VfaW5mbyhjb25zdCBjaGFyICpkZXZuYW1lLCBjb25zdCBjaGFyICpsYWJlbCwKKwkJICAgICAgIGNvbnN0IGNoYXIgKnV1aWQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQorI2VuZGlmCit7CisJaW50IGZkOworCisJZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRXUik7CisJaWYgKGZkIDwgMCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGRldm5hbWUpOworCQlnb3RvIGVycjsKKwl9CisjaWZkZWYgSEFWRV9MSUJVVUlECisJLyogV3JpdGUgdGhlIHV1aWQgaWYgaXQgd2FzIHByb3ZpZGVkICovCisJaWYgKHV1aWQpIHsKKwkJdXVpZF90IG5ld3V1aWQ7CisKKwkJaWYgKHV1aWRfcGFyc2UodXVpZCwgbmV3dXVpZCkgPT0gLTEpCisJCQl3YXJueChfKCJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiKSwgdXVpZCk7CisJCWVsc2UgeworCQkJaWYgKGxzZWVrKGZkLCBTV0FQX1VVSURfT0ZGU0VULCBTRUVLX1NFVCkgIT0KKwkJCQkJCQlTV0FQX1VVSURfT0ZGU0VUKSB7CisJCQkJd2FybihfKCIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIiksIGRldm5hbWUpOworCQkJCWdvdG8gZXJyOworCisJCQl9IGVsc2UgaWYgKHdyaXRlX2FsbChmZCwgbmV3dXVpZCwgc2l6ZW9mKG5ld3V1aWQpKSkgeworCQkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIiksIGRldm5hbWUpOworCQkJCWdvdG8gZXJyOworCQkJfQorCQl9CisJfQorI2VuZGlmCisJLyogV3JpdGUgdGhlIGxhYmVsIGlmIGl0IHdhcyBwcm92aWRlZCAqLworCWlmIChsYWJlbCkgeworCQljaGFyIG5ld2xhYmVsW1NXQVBfTEFCRUxfTEVOR1RIXTsKKworCQlpZiAobHNlZWsoZmQsIFNXQVBfTEFCRUxfT0ZGU0VULCBTRUVLX1NFVCkgIT0gU1dBUF9MQUJFTF9PRkZTRVQpIHsKKwkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIiksIGRldm5hbWUpOworCQkJZ290byBlcnI7CisJCX0KKwkJbWVtc2V0KG5ld2xhYmVsLCAwLCBzaXplb2YobmV3bGFiZWwpKTsKKwkJeHN0cm5jcHkobmV3bGFiZWwsIGxhYmVsLCBzaXplb2YobmV3bGFiZWwpKTsKKworCQlpZiAoc3RybGVuKGxhYmVsKSA+IHN0cmxlbihuZXdsYWJlbCkpCisJCQl3YXJueChfKCJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIiksCisJCQkJCW5ld2xhYmVsKTsKKwkJaWYgKHdyaXRlX2FsbChmZCwgbmV3bGFiZWwsIHNpemVvZihuZXdsYWJlbCkpKSB7CisJCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiKSwgZGV2bmFtZSk7CisJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCWlmIChjbG9zZV9mZChmZCkgIT0gMCkgeworCQl3YXJuKF8oIndyaXRlIGZhaWxlZDogJXMiKSwgZGV2bmFtZSk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7CitlcnI6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisJCSIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIxKSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJzd2FwbGFiZWwoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWJsa2lkX3Byb2JlIHByID0gTlVMTDsKKwljaGFyICp1dWlkID0gTlVMTCwgKmxhYmVsID0gTlVMTCwgKmRldm5hbWU7CisJaW50IGMsIHJjID0gLTE7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCSAgICB7ICJoZWxwIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJICAgIHsgInZlcnNpb24iLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkgICAgeyAibGFiZWwiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdMJyB9LAorCSAgICB7ICJ1dWlkIiwgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1UnIH0sCisJICAgIHsgTlVMTCwgICAgICAgIDAsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImhWTDpVOiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnTCc6CisJCQlsYWJlbCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdVJzoKKyNpZmRlZiBIQVZFX0xJQlVVSUQKKwkJCXV1aWQgPSBvcHRhcmc7CisjZWxzZQorCQkJd2FybngoXygiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIikpOworI2VuZGlmCisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgPT0gYXJnYykgeworCQl3YXJueChfKCJubyBkZXZpY2Ugc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCWRldm5hbWUgPSBhcmd2W29wdGluZF07CisJcHIgPSBnZXRfc3dhcF9wcm9iZXIoZGV2bmFtZSk7CisJaWYgKHByKSB7CisJCWlmICh1dWlkIHx8IGxhYmVsKQorCQkJcmMgPSBjaGFuZ2VfaW5mbyhkZXZuYW1lLCBsYWJlbCwgdXVpZCk7CisJCWVsc2UKKwkJCXJjICA9IHByaW50X2luZm8ocHIpOworCQlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwl9CisJcmV0dXJuIHJjID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTOworfQorCmRpZmYgLS1naXQgYS9pbmNsdWRlL01ha2Vtb2R1bGUuYW0gYi9pbmNsdWRlL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U3ZjdhMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDY0IEBACisKK2Rpc3Rfbm9pbnN0X0hFQURFUlMgKz0gXAorCWluY2x1ZGUvYWxsLWlvLmggXAorCWluY2x1ZGUvYml0b3BzLmggXAorCWluY2x1ZGUvYmxrZGV2LmggXAorCWluY2x1ZGUvY2Fub25pY2FsaXplLmggXAorCWluY2x1ZGUvY2FyZWZ1bHB1dGMuaCBcCisJaW5jbHVkZS9jY3R5cGUuaCBcCisJaW5jbHVkZS9jLmggXAorCWluY2x1ZGUvY2xvc2VzdHJlYW0uaCBcCisJaW5jbHVkZS9jb2xvcnMuaCBcCisJaW5jbHVkZS9jb2xvci1uYW1lcy5oIFwKKwlpbmNsdWRlL2NwdXNldC5oIFwKKwlpbmNsdWRlL2NyYzMyLmggXAorCWluY2x1ZGUvY3JjMzJjLmggXAorCWluY2x1ZGUvZGVidWcuaCBcCisJaW5jbHVkZS9kZWJ1Z29iai5oIFwKKwlpbmNsdWRlL2Vudi5oIFwKKwlpbmNsdWRlL2V4ZWNfc2hlbGwuaCBcCisJaW5jbHVkZS9leGl0Y29kZXMuaCBcCisJaW5jbHVkZS9maWxldXRpbHMuaCBcCisJaW5jbHVkZS9pZGNhY2hlLmggXAorCWluY2x1ZGUvaXNtb3VudGVkLmggXAorCWluY2x1ZGUvcHdkdXRpbHMuaCBcCisJaW5jbHVkZS9saW51eF92ZXJzaW9uLmggXAorCWluY2x1ZGUvbGlzdC5oIFwKKwlpbmNsdWRlL2xvb3BkZXYuaCBcCisJaW5jbHVkZS9tYW5nbGUuaCBcCisJaW5jbHVkZS9tYXRjaC5oIFwKKwlpbmNsdWRlL21ic2FsaWduLmggXAorCWluY2x1ZGUvbWJzZWRpdC5oIFwKKwlpbmNsdWRlL21kNS5oIFwKKwlpbmNsdWRlL21pbml4LmggXAorCWluY2x1ZGUvbW9ub3RvbmljLmggXAorCWluY2x1ZGUvbmFtZXNwYWNlLmggXAorCWluY2x1ZGUvbmxzLmggXAorCWluY2x1ZGUvb3B0dXRpbHMuaCBcCisJaW5jbHVkZS9wYWdlci5oIFwKKwlpbmNsdWRlL3BhcnR4LmggXAorCWluY2x1ZGUvcGF0aC5oIFwKKwlpbmNsdWRlL3BhdGhuYW1lcy5oIFwKKwlpbmNsdWRlL3BseW1vdXRoLWN0cmwuaCBcCisJaW5jbHVkZS9wcm9jdXRpbHMuaCBcCisJaW5jbHVkZS9wdC1ic2QuaCBcCisJaW5jbHVkZS9wdC1tYnIuaCBcCisJaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmggXAorCWluY2x1ZGUvcHQtc2dpLmggXAorCWluY2x1ZGUvcHQtc3VuLmggXAorCWluY2x1ZGUvcmFuZHV0aWxzLmggXAorCWluY2x1ZGUvcnBtYXRjaC5oIFwKKwlpbmNsdWRlL3NoYTEuaCBcCisJaW5jbHVkZS9zaWduYW1lcy5oIFwKKwlpbmNsdWRlL3NldHByb2N0aXRsZS5oIFwKKwlpbmNsdWRlL3N0YXRmc19tYWdpYy5oIFwKKwlpbmNsdWRlL3N0cnV0aWxzLmggXAorCWluY2x1ZGUvc3Rydi5oIFwKKwlpbmNsdWRlL3N3YXBoZWFkZXIuaCBcCisJaW5jbHVkZS9zd2FwcHJvYmVyLmggXAorCWluY2x1ZGUvc3lzZnMuaCBcCisJaW5jbHVkZS90aW1lci5oIFwKKwlpbmNsdWRlL3RpbWV1dGlscy5oIFwKKwlpbmNsdWRlL3R0eXV0aWxzLmggXAorCWluY2x1ZGUvd2lkZWNoYXIuaCBcCisJaW5jbHVkZS94YWxsb2MuaApkaWZmIC0tZ2l0IGEvaW5jbHVkZS9hbGwtaW8uaCBiL2luY2x1ZGUvYWxsLWlvLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQ0NTU2ZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYWxsLWlvLmgKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIE5vIGNvcHlyaWdodCBpcyBjbGFpbWVkLiAgVGhpcyBjb2RlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluOyBkbyB3aXRoCisgKiBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiAgICAgICAgICAgIFBldHIgVXplbCA8cGV0ci51emVsQHN1c2UuY3o+CisgKi8KKworI2lmbmRlZiBVVElMX0xJTlVYX0FMTF9JT19ICisjZGVmaW5lIFVUSUxfTElOVVhfQUxMX0lPX0gKKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisKKyNpbmNsdWRlICJjLmgiCisKK3N0YXRpYyBpbmxpbmUgaW50IHdyaXRlX2FsbChpbnQgZmQsIGNvbnN0IHZvaWQgKmJ1Ziwgc2l6ZV90IGNvdW50KQoreworCXdoaWxlIChjb3VudCkgeworCQlzc2l6ZV90IHRtcDsKKworCQllcnJubyA9IDA7CisJCXRtcCA9IHdyaXRlKGZkLCBidWYsIGNvdW50KTsKKwkJaWYgKHRtcCA+IDApIHsKKwkJCWNvdW50IC09IHRtcDsKKwkJCWlmIChjb3VudCkKKwkJCQlidWYgPSAoY29uc3Qgdm9pZCAqKSAoKGNvbnN0IGNoYXIgKikgYnVmICsgdG1wKTsKKwkJfSBlbHNlIGlmIChlcnJubyAhPSBFSU5UUiAmJiBlcnJubyAhPSBFQUdBSU4pCisJCQlyZXR1cm4gLTE7CisJCWlmIChlcnJubyA9PSBFQUdBSU4pCS8qIFRyeSBsYXRlciwgKnNpZ2gqICovCisJCQl4dXNsZWVwKDI1MDAwMCk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCBmd3JpdGVfYWxsKGNvbnN0IHZvaWQgKnB0ciwgc2l6ZV90IHNpemUsCisJCQkgICAgIHNpemVfdCBubWVtYiwgRklMRSAqc3RyZWFtKQoreworCXdoaWxlIChubWVtYikgeworCQlzaXplX3QgdG1wOworCisJCWVycm5vID0gMDsKKwkJdG1wID0gZndyaXRlKHB0ciwgc2l6ZSwgbm1lbWIsIHN0cmVhbSk7CisJCWlmICh0bXAgPiAwKSB7CisJCQlubWVtYiAtPSB0bXA7CisJCQlpZiAobm1lbWIpCisJCQkJcHRyID0gKGNvbnN0IHZvaWQgKikgKChjb25zdCBjaGFyICopIHB0ciArICh0bXAgKiBzaXplKSk7CisJCX0gZWxzZSBpZiAoZXJybm8gIT0gRUlOVFIgJiYgZXJybm8gIT0gRUFHQUlOKQorCQkJcmV0dXJuIC0xOworCQlpZiAoZXJybm8gPT0gRUFHQUlOKQkvKiBUcnkgbGF0ZXIsICpzaWdoKiAqLworCQkJeHVzbGVlcCgyNTAwMDApOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBzc2l6ZV90IHJlYWRfYWxsKGludCBmZCwgY2hhciAqYnVmLCBzaXplX3QgY291bnQpCit7CisJc3NpemVfdCByZXQ7CisJc3NpemVfdCBjID0gMDsKKwlpbnQgdHJpZXMgPSAwOworCisJbWVtc2V0KGJ1ZiwgMCwgY291bnQpOworCXdoaWxlIChjb3VudCA+IDApIHsKKwkJcmV0ID0gcmVhZChmZCwgYnVmLCBjb3VudCk7CisJCWlmIChyZXQgPD0gMCkgeworCQkJaWYgKHJldCA8IDAgJiYgKGVycm5vID09IEVBR0FJTiB8fCBlcnJubyA9PSBFSU5UUikgJiYgKHRyaWVzKysgPCA1KSkgeworCQkJCXh1c2xlZXAoMjUwMDAwKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCXJldHVybiBjID8gYyA6IC0xOworCQl9CisJCWlmIChyZXQgPiAwKQorCQkJdHJpZXMgPSAwOworCQljb3VudCAtPSByZXQ7CisJCWJ1ZiArPSByZXQ7CisJCWMgKz0gcmV0OworCX0KKwlyZXR1cm4gYzsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfQUxMX0lPX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYml0b3BzLmggYi9pbmNsdWRlL2JpdG9wcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4N2Q0YWYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2JpdG9wcy5oCkBAIC0wLDAgKzEsMTUwIEBACisvKgorICogTm8gY29weXJpZ2h0IGlzIGNsYWltZWQuICBUaGlzIGNvZGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW47IGRvIHdpdGgKKyAqIGl0IHdoYXQgeW91IHdpc2guCisgKgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworI2lmbmRlZiBCSVRPUFNfSAorI2RlZmluZSBCSVRPUFNfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisKKyNpZiBkZWZpbmVkKEhBVkVfQllURVNXQVBfSCkKKyMgaW5jbHVkZSA8Ynl0ZXN3YXAuaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChIQVZFX0VORElBTl9IKQorIyAgaW5jbHVkZSA8ZW5kaWFuLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfU1lTX0VORElBTl9IKQkvKiBCU0RzIGhhdmUgdGhlbSBoZXJlICovCisjICBpbmNsdWRlIDxzeXMvZW5kaWFuLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQoX19PcGVuQlNEX18pCisjIGluY2x1ZGUgPHN5cy90eXBlcy5oPgorIyBkZWZpbmUgYmUxNnRvaCh4KSBiZXRvaDE2KHgpCisjIGRlZmluZSBiZTMydG9oKHgpIGJldG9oMzIoeCkKKyMgZGVmaW5lIGJlNjR0b2goeCkgYmV0b2g2NCh4KQorI2VsaWYgZGVmaW5lZChfX05ldEJTRF9fKSB8fCBkZWZpbmVkKF9fRnJlZUJTRF9fKSB8fCBkZWZpbmVkKF9fRHJhZ29uRmx5X18pCisjIGRlZmluZSBic3dhcF8xNih4KSBic3dhcDE2KHgpCisjIGRlZmluZSBic3dhcF8zMih4KSBic3dhcDMyKHgpCisjIGRlZmluZSBic3dhcF82NCh4KSBic3dhcDY0KHgpCisjZWxpZiBkZWZpbmVkKF9fQVBQTEVfXykKKyMgaW5jbHVkZSA8bGlia2Vybi9PU0J5dGVPcmRlci5oPgorIyBkZWZpbmUgaHRvYmUxNih4KSBPU1N3YXBIb3N0VG9CaWdJbnQxNih4KQorIyBkZWZpbmUgaHRvbGUxNih4KSBPU1N3YXBIb3N0VG9MaXR0bGVJbnQxNih4KQorIyBkZWZpbmUgYmUxNnRvaCh4KSBPU1N3YXBCaWdUb0hvc3RJbnQxNih4KQorIyBkZWZpbmUgbGUxNnRvaCh4KSBPU1N3YXBMaXR0bGVUb0hvc3RJbnQxNih4KQorIyBkZWZpbmUgaHRvYmUzMih4KSBPU1N3YXBIb3N0VG9CaWdJbnQzMih4KQorIyBkZWZpbmUgaHRvbGUzMih4KSBPU1N3YXBIb3N0VG9MaXR0bGVJbnQzMih4KQorIyBkZWZpbmUgYmUzMnRvaCh4KSBPU1N3YXBCaWdUb0hvc3RJbnQzMih4KQorIyBkZWZpbmUgbGUzMnRvaCh4KSBPU1N3YXBMaXR0bGVUb0hvc3RJbnQzMih4KQorIyBkZWZpbmUgaHRvYmU2NCh4KSBPU1N3YXBIb3N0VG9CaWdJbnQ2NCh4KQorIyBkZWZpbmUgaHRvbGU2NCh4KSBPU1N3YXBIb3N0VG9MaXR0bGVJbnQ2NCh4KQorIyBkZWZpbmUgYmU2NHRvaCh4KSBPU1N3YXBCaWdUb0hvc3RJbnQ2NCh4KQorIyBkZWZpbmUgbGU2NHRvaCh4KSBPU1N3YXBMaXR0bGVUb0hvc3RJbnQ2NCh4KQorIyBkZWZpbmUgYnN3YXBfMTYoeCkgT1NTd2FwSW50MTYoeCkKKyMgZGVmaW5lIGJzd2FwXzMyKHgpIE9TU3dhcEludDMyKHgpCisjIGRlZmluZSBic3dhcF82NCh4KSBPU1N3YXBJbnQ2NCh4KQorI2VuZGlmCisKKy8qCisgKiBGYWxsYmFja3MKKyAqIGNhc3RzIGFyZSBuZWNlc3NhcnkgZm9yIGNvbnN0YW50cywgYmVjYXVzZSB3ZSBuZXZlciBrbm93IGhvdyBmb3Igc3VyZQorICogaG93IFUvVUwvVUxMIG1hcCB0byBfX3UxNiwgX191MzIsIF9fdTY0LiBBdCBsZWFzdCBub3QgaW4gYSBwb3J0YWJsZSB3YXkuCisgKi8KKyNpZm5kZWYgYnN3YXBfMTYKKyMgZGVmaW5lIGJzd2FwXzE2KHgpICgodWludDE2X3QpKCBcCisJKCgodWludDE2X3QpKHgpICYgMHgwMEZGKSA8PCA4KSB8IFwKKwkoKCh1aW50MTZfdCkoeCkgJiAweEZGMDApID4+IDgpKSkKKyNlbmRpZgorCisjaWZuZGVmIGJzd2FwXzMyCisjIGRlZmluZSBic3dhcF8zMih4KSAoKHVpbnQzMl90KSggXAorCSgoKHVpbnQzMl90KSh4KSAmIDB4MDAwMDAwRkYpIDw8IDI0KSB8IFwKKwkoKCh1aW50MzJfdCkoeCkgJiAweDAwMDBGRjAwKSA8PCA4KSAgfCBcCisJKCgodWludDMyX3QpKHgpICYgMHgwMEZGMDAwMCkgPj4gOCkgIHwgXAorCSgoKHVpbnQzMl90KSh4KSAmIDB4RkYwMDAwMDApID4+IDI0KSkpCisjZW5kaWYKKworI2lmbmRlZiBic3dhcF82NAorIyBkZWZpbmUgYnN3YXBfNjQoeCkgKCh1aW50NjRfdCkoIFwKKwkoKCh1aW50NjRfdCkoeCkgJiAweDAwMDAwMDAwMDAwMDAwRkZVTEwpIDw8IDU2KSB8IFwKKwkoKCh1aW50NjRfdCkoeCkgJiAweDAwMDAwMDAwMDAwMEZGMDBVTEwpIDw8IDQwKSB8IFwKKwkoKCh1aW50NjRfdCkoeCkgJiAweDAwMDAwMDAwMDBGRjAwMDBVTEwpIDw8IDI0KSB8IFwKKwkoKCh1aW50NjRfdCkoeCkgJiAweDAwMDAwMDAwRkYwMDAwMDBVTEwpIDw8IDgpICB8IFwKKwkoKCh1aW50NjRfdCkoeCkgJiAweDAwMDAwMEZGMDAwMDAwMDBVTEwpID4+IDgpICB8IFwKKwkoKCh1aW50NjRfdCkoeCkgJiAweDAwMDBGRjAwMDAwMDAwMDBVTEwpID4+IDI0KSB8IFwKKwkoKCh1aW50NjRfdCkoeCkgJiAweDAwRkYwMDAwMDAwMDAwMDBVTEwpID4+IDQwKSB8IFwKKwkoKCh1aW50NjRfdCkoeCkgJiAweEZGMDAwMDAwMDAwMDAwMDBVTEwpID4+IDU2KSkpCisjZW5kaWYKKworI2lmbmRlZiBodG9iZTE2CisjIGlmICFkZWZpbmVkKFdPUkRTX0JJR0VORElBTikKKyMgIGRlZmluZSBodG9iZTE2KHgpIGJzd2FwXzE2ICh4KQorIyAgZGVmaW5lIGh0b2xlMTYoeCkgKHgpCisjICBkZWZpbmUgYmUxNnRvaCh4KSBic3dhcF8xNiAoeCkKKyMgIGRlZmluZSBsZTE2dG9oKHgpICh4KQorIyAgZGVmaW5lIGh0b2JlMzIoeCkgYnN3YXBfMzIgKHgpCisjICBkZWZpbmUgaHRvbGUzMih4KSAoeCkKKyMgIGRlZmluZSBiZTMydG9oKHgpIGJzd2FwXzMyICh4KQorIyAgZGVmaW5lIGxlMzJ0b2goeCkgKHgpCisjICBkZWZpbmUgaHRvYmU2NCh4KSBic3dhcF82NCAoeCkKKyMgIGRlZmluZSBodG9sZTY0KHgpICh4KQorIyAgZGVmaW5lIGJlNjR0b2goeCkgYnN3YXBfNjQgKHgpCisjICBkZWZpbmUgbGU2NHRvaCh4KSAoeCkKKyMgZWxzZQorIyAgZGVmaW5lIGh0b2JlMTYoeCkgKHgpCisjICBkZWZpbmUgaHRvbGUxNih4KSBic3dhcF8xNiAoeCkKKyMgIGRlZmluZSBiZTE2dG9oKHgpICh4KQorIyAgZGVmaW5lIGxlMTZ0b2goeCkgYnN3YXBfMTYgKHgpCisjICBkZWZpbmUgaHRvYmUzMih4KSAoeCkKKyMgIGRlZmluZSBodG9sZTMyKHgpIGJzd2FwXzMyICh4KQorIyAgZGVmaW5lIGJlMzJ0b2goeCkgKHgpCisjICBkZWZpbmUgbGUzMnRvaCh4KSBic3dhcF8zMiAoeCkKKyMgIGRlZmluZSBodG9iZTY0KHgpICh4KQorIyAgZGVmaW5lIGh0b2xlNjQoeCkgYnN3YXBfNjQgKHgpCisjICBkZWZpbmUgYmU2NHRvaCh4KSAoeCkKKyMgIGRlZmluZSBsZTY0dG9oKHgpIGJzd2FwXzY0ICh4KQorIyBlbmRpZgorI2VuZGlmCisKKy8qCisgKiBCeXRlIHN3YWIgbWFjcm9zIChiYXNlZCBvbiBsaW51eC9ieXRlb3JkZXIvc3dhYi5oKQorICovCisjZGVmaW5lIHN3YWIxNih4KSBic3dhcF8xNih4KQorI2RlZmluZSBzd2FiMzIoeCkgYnN3YXBfMzIoeCkKKyNkZWZpbmUgc3dhYjY0KHgpIGJzd2FwXzY0KHgpCisKKyNkZWZpbmUgY3B1X3RvX2xlMTYoeCkgKCh1aW50MTZfdCkgaHRvbGUxNih4KSkKKyNkZWZpbmUgY3B1X3RvX2xlMzIoeCkgKCh1aW50MzJfdCkgaHRvbGUzMih4KSkKKyNkZWZpbmUgY3B1X3RvX2xlNjQoeCkgKCh1aW50NjRfdCkgaHRvbGU2NCh4KSkKKworI2RlZmluZSBjcHVfdG9fYmUxNih4KSAoKHVpbnQxNl90KSBodG9iZTE2KHgpKQorI2RlZmluZSBjcHVfdG9fYmUzMih4KSAoKHVpbnQzMl90KSBodG9iZTMyKHgpKQorI2RlZmluZSBjcHVfdG9fYmU2NCh4KSAoKHVpbnQ2NF90KSBodG9iZTY0KHgpKQorCisjZGVmaW5lIGxlMTZfdG9fY3B1KHgpICgodWludDE2X3QpIGxlMTZ0b2goeCkpCisjZGVmaW5lIGxlMzJfdG9fY3B1KHgpICgodWludDMyX3QpIGxlMzJ0b2goeCkpCisjZGVmaW5lIGxlNjRfdG9fY3B1KHgpICgodWludDY0X3QpIGxlNjR0b2goeCkpCisKKyNkZWZpbmUgYmUxNl90b19jcHUoeCkgKCh1aW50MTZfdCkgYmUxNnRvaCh4KSkKKyNkZWZpbmUgYmUzMl90b19jcHUoeCkgKCh1aW50MzJfdCkgYmUzMnRvaCh4KSkKKyNkZWZpbmUgYmU2NF90b19jcHUoeCkgKCh1aW50NjRfdCkgYmU2NHRvaCh4KSkKKworLyoKKyAqIEJpdCBtYXAgcmVsYXRlZCBtYWNyb3MuIFVzdWFsbHkgcHJvdmlkZWQgYnkgbGliYy4KKyAqLworI2lmbmRlZiBOQkJZCisjIGRlZmluZSBOQkJZICAgICAgICAgICAgQ0hBUl9CSVQKKyNlbmRpZgorCisjaWZuZGVmIHNldGJpdAorIyBkZWZpbmUgc2V0Yml0KGEsaSkJKChhKVsoaSkvTkJCWV0gfD0gMTw8KChpKSVOQkJZKSkKKyMgZGVmaW5lIGNscmJpdChhLGkpCSgoYSlbKGkpL05CQlldICY9IH4oMTw8KChpKSVOQkJZKSkpCisjIGRlZmluZSBpc3NldChhLGkpCSgoYSlbKGkpL05CQlldICYgKDE8PCgoaSklTkJCWSkpKQorIyBkZWZpbmUgaXNjbHIoYSxpKQkoKChhKVsoaSkvTkJCWV0gJiAoMTw8KChpKSVOQkJZKSkpID09IDApCisjZW5kaWYKKworI2VuZGlmIC8qIEJJVE9QU19IICovCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvYmxrZGV2LmggYi9pbmNsdWRlL2Jsa2Rldi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyZWRhODIKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2Jsa2Rldi5oCkBAIC0wLDAgKzEsMTUwIEBACisvKgorICogTm8gY29weXJpZ2h0IGlzIGNsYWltZWQuICBUaGlzIGNvZGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW47IGRvIHdpdGgKKyAqIGl0IHdoYXQgeW91IHdpc2guCisgKgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworI2lmbmRlZiBCTEtERVZfSAorI2RlZmluZSBCTEtERVZfSAorCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaWZkZWYgSEFWRV9TWVNfSU9DQ09NX0gKKyMgaW5jbHVkZSA8c3lzL2lvY2NvbS5oPiAvKiBmb3IgX0lPIG1hY3JvIG9uIGUuZy4gU29sYXJpcyAqLworI2VuZGlmCisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorCisjaWZkZWYgSEFWRV9TWVNfTUtERVZfSAorIyBpbmNsdWRlIDxzeXMvbWtkZXYuaD4JCS8qIG1ham9yIGFuZCBtaW5vciBvbiBTb2xhcmlzICovCisjZW5kaWYKKworI2RlZmluZSBERUZBVUxUX1NFQ1RPUl9TSVpFICAgICAgIDUxMgorCisjaWZkZWYgX19saW51eF9fCisvKiB2ZXJ5IGJhc2ljIGlvY3Rscywgc2hvdWxkIGJlIGF2YWlsYWJsZSBldmVyeXdoZXJlICovCisjIGlmbmRlZiBCTEtST1NFVAorIyAgZGVmaW5lIEJMS1JPU0VUICAgX0lPKDB4MTIsOTMpCS8qIHNldCBkZXZpY2UgcmVhZC1vbmx5ICgwID0gcmVhZC13cml0ZSkgKi8KKyMgIGRlZmluZSBCTEtST0dFVCAgIF9JTygweDEyLDk0KQkvKiBnZXQgcmVhZC1vbmx5IHN0YXR1cyAoMCA9IHJlYWRfd3JpdGUpICovCisjICBkZWZpbmUgQkxLUlJQQVJUICBfSU8oMHgxMiw5NSkJLyogcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUgKi8KKyMgIGRlZmluZSBCTEtHRVRTSVpFIF9JTygweDEyLDk2KQkvKiByZXR1cm4gZGV2aWNlIHNpemUgLzUxMiAobG9uZyAqYXJnKSAqLworIyAgZGVmaW5lIEJMS0ZMU0JVRiAgX0lPKDB4MTIsOTcpCS8qIGZsdXNoIGJ1ZmZlciBjYWNoZSAqLworIyAgZGVmaW5lIEJMS1JBU0VUICAgX0lPKDB4MTIsOTgpCS8qIHNldCByZWFkIGFoZWFkIGZvciBibG9jayBkZXZpY2UgKi8KKyMgIGRlZmluZSBCTEtSQUdFVCAgIF9JTygweDEyLDk5KQkvKiBnZXQgY3VycmVudCByZWFkIGFoZWFkIHNldHRpbmcgKi8KKyMgIGRlZmluZSBCTEtGUkFTRVQgIF9JTygweDEyLDEwMCkJLyogc2V0IGZpbGVzeXN0ZW0gKG1tL2ZpbGVtYXAuYykgcmVhZC1haGVhZCAqLworIyAgZGVmaW5lIEJMS0ZSQUdFVCAgX0lPKDB4MTIsMTAxKQkvKiBnZXQgZmlsZXN5c3RlbSAobW0vZmlsZW1hcC5jKSByZWFkLWFoZWFkICovCisjICBkZWZpbmUgQkxLU0VDVFNFVCBfSU8oMHgxMiwxMDIpCS8qIHNldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCAobGxfcndfYmxrLmMpICovCisjICBkZWZpbmUgQkxLU0VDVEdFVCBfSU8oMHgxMiwxMDMpCS8qIGdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCAobGxfcndfYmxrLmMpICovCisjICBkZWZpbmUgQkxLU1NaR0VUICBfSU8oMHgxMiwxMDQpCS8qIGdldCBibG9jayBkZXZpY2Ugc2VjdG9yIHNpemUgKi8KKworLyogaW9jdGxzIGludHJvZHVjZWQgaW4gMi4yLjE2LCByZW1vdmVkIGluIDIuNS41OCAqLworIyAgZGVmaW5lIEJMS0VMVkdFVCAgX0lPUigweDEyLDEwNixzaXplX3QpIC8qIGVsZXZhdG9yIGdldCAqLworIyAgZGVmaW5lIEJMS0VMVlNFVCAgX0lPVygweDEyLDEwNyxzaXplX3QpIC8qIGVsZXZhdG9yIHNldCAqLworCisjICBkZWZpbmUgQkxLQlNaR0VUICBfSU9SKDB4MTIsMTEyLHNpemVfdCkKKyMgIGRlZmluZSBCTEtCU1pTRVQgIF9JT1coMHgxMiwxMTMsc2l6ZV90KQorIyBlbmRpZiAvKiAhQkxLUk9TRVQgKi8KKworIyBpZm5kZWYgQkxLR0VUU0laRTY0CisjICBkZWZpbmUgQkxLR0VUU0laRTY0IF9JT1IoMHgxMiwxMTQsc2l6ZV90KSAvKiByZXR1cm4gZGV2aWNlIHNpemUgaW4gYnl0ZXMgKHU2NCAqYXJnKSAqLworIyBlbmRpZgorCisvKiBibG9jayBkZXZpY2UgdG9wb2xvZ3kgaW9jdGxzLCBpbnRyb2R1Y2VkIGluIDIuNi4zMiAoY29tbWl0IGFjNDgxYzIwKSAqLworIyBpZm5kZWYgQkxLSU9NSU4KKyMgIGRlZmluZSBCTEtJT01JTiAgIF9JTygweDEyLDEyMCkKKyMgIGRlZmluZSBCTEtJT09QVCAgIF9JTygweDEyLDEyMSkKKyMgIGRlZmluZSBCTEtBTElHTk9GRiBfSU8oMHgxMiwxMjIpCisjICBkZWZpbmUgQkxLUEJTWkdFVCBfSU8oMHgxMiwxMjMpCisjIGVuZGlmCisKKy8qIGRpc2NhcmQgemVyb2VzIHN1cHBvcnQsIGludHJvZHVjZWQgaW4gMi42LjMzIChjb21taXQgOTgyNjJmMjcpICovCisjIGlmbmRlZiBCTEtESVNDQVJEWkVST0VTCisjICBkZWZpbmUgQkxLRElTQ0FSRFpFUk9FUyBfSU8oMHgxMiwxMjQpCisjIGVuZGlmCisKKy8qIGZpbGVzeXN0ZW0gZnJlZXplLCBpbnRyb2R1Y2VkIGluIDIuNi4yOSAoY29tbWl0IGZjY2NmNTAyKSAqLworIyBpZm5kZWYgRklGUkVFWkUKKyMgIGRlZmluZSBGSUZSRUVaRSAgIF9JT1dSKCdYJywgMTE5LCBpbnQpICAgIC8qIEZyZWV6ZSAqLworIyAgZGVmaW5lIEZJVEhBVyAgICAgX0lPV1IoJ1gnLCAxMjAsIGludCkgICAgLyogVGhhdyAqLworIyBlbmRpZgorCisvKiB1bmlmb3JtIENELVJPTSBpbmZvcm1hdGlvbiAqLworIyBpZm5kZWYgQ0RST01fR0VUX0NBUEFCSUxJVFkKKyMgIGRlZmluZSBDRFJPTV9HRVRfQ0FQQUJJTElUWSAweDUzMzEKKyMgZW5kaWYKKworI2VuZGlmIC8qIF9fbGludXggKi8KKworCisjaWZkZWYgQVBQTEVfREFSV0lOCisjIGRlZmluZSBCTEtHRVRTSVpFIERLSU9DR0VUQkxPQ0tDT1VOVDMyCisjZW5kaWYKKworI2lmbmRlZiBIRElPX0dFVEdFTworIyBpZmRlZiBfX2xpbnV4X18KKyMgIGRlZmluZSBIRElPX0dFVEdFTyAweDAzMDEKKyMgZW5kaWYKKworc3RydWN0IGhkX2dlb21ldHJ5IHsKKwl1bnNpZ25lZCBjaGFyIGhlYWRzOworCXVuc2lnbmVkIGNoYXIgc2VjdG9yczsKKwl1bnNpZ25lZCBzaG9ydCBjeWxpbmRlcnM7CS8qIHRydW5jYXRlZCAqLworCXVuc2lnbmVkIGxvbmcgc3RhcnQ7Cit9OworI2VuZGlmIC8qIEhESU9fR0VUR0VPICovCisKKworLyogYXJlIHdlIHdvcmtpbmcgd2l0aCBibG9jayBkZXZpY2U/ICovCitpbnQgaXNfYmxrZGV2KGludCBmZCk7CisKKy8qIG9wZW4gYmxvY2sgZGV2aWNlIG9yIGZpbGUgKi8KK2ludCBvcGVuX2Jsa2Rldl9vcl9maWxlKGNvbnN0IHN0cnVjdCBzdGF0ICpzdCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgaW50IG9mbGFnKTsKKworLyogRGV0ZXJtaW5lIHNpemUgaW4gYnl0ZXMgKi8KK29mZl90IGJsa2Rldl9maW5kX3NpemUgKGludCBmZCk7CisKKy8qIGdldCBzaXplIGluIGJ5dGVzICovCitpbnQgYmxrZGV2X2dldF9zaXplKGludCBmZCwgdW5zaWduZWQgbG9uZyBsb25nICpieXRlcyk7CisKKy8qIGdldCA1MTItYnl0ZSBzZWN0b3IgY291bnQgKi8KK2ludCBibGtkZXZfZ2V0X3NlY3RvcnMoaW50IGZkLCB1bnNpZ25lZCBsb25nIGxvbmcgKnNlY3RvcnMpOworCisvKiBnZXQgaGFyZHdhcmUgc2VjdG9yIHNpemUgKi8KK2ludCBibGtkZXZfZ2V0X3NlY3Rvcl9zaXplKGludCBmZCwgaW50ICpzZWN0b3Jfc2l6ZSk7CisKKy8qIHNwZWNpZmllcyB3aGV0aGVyIG9yIG5vdCB0aGUgZGV2aWNlIGlzIG1pc2FsaWduZWQgKi8KK2ludCBibGtkZXZfaXNfbWlzYWxpZ25lZChpbnQgZmQpOworCisvKiBnZXQgcGh5c2ljYWwgYmxvY2sgZGV2aWNlIHNpemUgKi8KK2ludCBibGtkZXZfZ2V0X3BoeXNlY3Rvcl9zaXplKGludCBmZCwgaW50ICpzZWN0b3Jfc2l6ZSk7CisKKy8qIGlzIHRoZSBkZXZpY2UgY2Ryb20gY2FwYWJsZT8gKi8KK2ludCBibGtkZXZfaXNfY2Ryb20oaW50IGZkKTsKKworLyogZ2V0IGRldmljZSdzIGdlb21ldHJ5IC0gbGVnYWN5ICovCitpbnQgYmxrZGV2X2dldF9nZW9tZXRyeShpbnQgZmQsIHVuc2lnbmVkIGludCAqaCwgdW5zaWduZWQgaW50ICpzKTsKKworLyogU0NTSSBkZXZpY2UgdHlwZXMuICBDb3BpZWQgYWxtb3N0IGFzLWlzIGZyb20ga2VybmVsIGhlYWRlci4KKyAqIGh0dHA6Ly9naXQua2VybmVsLm9yZy9jZ2l0L2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L3RyZWUvaW5jbHVkZS9zY3NpL3Njc2kuaCAqLworI2RlZmluZSBTQ1NJX1RZUEVfRElTSwkJCTB4MDAKKyNkZWZpbmUgU0NTSV9UWVBFX1RBUEUJCQkweDAxCisjZGVmaW5lIFNDU0lfVFlQRV9QUklOVEVSCQkweDAyCisjZGVmaW5lIFNDU0lfVFlQRV9QUk9DRVNTT1IJCTB4MDMJLyogSFAgc2Nhbm5lcnMgdXNlIHRoaXMgKi8KKyNkZWZpbmUgU0NTSV9UWVBFX1dPUk0JCQkweDA0CS8qIFRyZWF0ZWQgYXMgUk9NIGJ5IG91ciBzeXN0ZW0gKi8KKyNkZWZpbmUgU0NTSV9UWVBFX1JPTQkJCTB4MDUKKyNkZWZpbmUgU0NTSV9UWVBFX1NDQU5ORVIJCTB4MDYKKyNkZWZpbmUgU0NTSV9UWVBFX01PRAkJCTB4MDcJLyogTWFnbmV0by1vcHRpY2FsIGRpc2sgLSB0cmVhdGVkIGFzIFNDU0lfVFlQRV9ESVNLICovCisjZGVmaW5lIFNDU0lfVFlQRV9NRURJVU1fQ0hBTkdFUgkweDA4CisjZGVmaW5lIFNDU0lfVFlQRV9DT01NCQkJMHgwOQkvKiBDb21tdW5pY2F0aW9ucyBkZXZpY2UgKi8KKyNkZWZpbmUgU0NTSV9UWVBFX1JBSUQJCQkweDBjCisjZGVmaW5lIFNDU0lfVFlQRV9FTkNMT1NVUkUJCTB4MGQJLyogRW5jbG9zdXJlIFNlcnZpY2VzIERldmljZSAqLworI2RlZmluZSBTQ1NJX1RZUEVfUkJDCQkJMHgwZQorI2RlZmluZSBTQ1NJX1RZUEVfT1NECQkJMHgxMQorI2RlZmluZSBTQ1NJX1RZUEVfTk9fTFVOCQkweDdmCisKKy8qIGNvbnZlcnQgc2NzaSB0eXBlIGNvZGUgdG8gbmFtZSAqLworY29uc3QgY2hhciAqYmxrZGV2X3Njc2lfdHlwZV90b19uYW1lKGludCB0eXBlKTsKKworCisjZW5kaWYgLyogQkxLREVWX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvYy5oIGIvaW5jbHVkZS9jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTI0MGY0ZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvYy5oCkBAIC0wLDAgKzEsNDA2IEBACisvKgorICogRnVuZGFtZW50YWwgQyBkZWZpbml0aW9ucy4KKyAqLworCisjaWZuZGVmIFVUSUxfTElOVVhfQ19ICisjZGVmaW5lIFVUSUxfTElOVVhfQ19ICisKKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworI2lmZGVmIEhBVkVfRVJSX0gKKyMgaW5jbHVkZSA8ZXJyLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX1NZU01BQ1JPU19ICisjIGluY2x1ZGUgPHN5cy9zeXNtYWNyb3MuaD4gICAgIC8qIGZvciBtYWpvciwgbWlub3IgKi8KKyNlbmRpZgorCisjaWZuZGVmIExPR0lOX05BTUVfTUFYCisjIGRlZmluZSBMT0dJTl9OQU1FX01BWCAyNTYKKyNlbmRpZgorCisvKgorICogQ29tcGlsZXItc3BlY2lmaWMgc3R1ZmYKKyAqLworI2lmbmRlZiBfX0dOVUNfUFJFUkVRCisjIGlmIGRlZmluZWQgX19HTlVDX18gJiYgZGVmaW5lZCBfX0dOVUNfTUlOT1JfXworIyAgZGVmaW5lIF9fR05VQ19QUkVSRVEobWFqLCBtaW4pIFwKKwkoKF9fR05VQ19fIDw8IDE2KSArIF9fR05VQ19NSU5PUl9fID49ICgobWFqKSA8PCAxNikgKyAobWluKSkKKyMgZWxzZQorIyAgZGVmaW5lIF9fR05VQ19QUkVSRVEobWFqLCBtaW4pIDAKKyMgZW5kaWYKKyNlbmRpZgorCisjaWZkZWYgX19HTlVDX18KKworLyogJmFbMF0gZGVncmFkZXMgdG8gYSBwb2ludGVyOiBhIGRpZmZlcmVudCB0eXBlIGZyb20gYW4gYXJyYXkgKi8KKyMgZGVmaW5lIF9fbXVzdF9iZV9hcnJheShhKSBcCisJVUxfQlVJTERfQlVHX09OX1pFUk8oX19idWlsdGluX3R5cGVzX2NvbXBhdGlibGVfcChfX3R5cGVvZl9fKGEpLCBfX3R5cGVvZl9fKCZhWzBdKSkpCisKKyMgZGVmaW5lIGlnbm9yZV9yZXN1bHQoeCkgX19leHRlbnNpb25fXyAoeyBcCisJX190eXBlb2ZfXyh4KSBfX2R1bW15IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSA9ICh4KTsgKHZvaWQpIF9fZHVtbXk7IFwKK30pCisKKyNlbHNlIC8qICFfX0dOVUNfXyAqLworIyBkZWZpbmUgX19tdXN0X2JlX2FycmF5KGEpCTAKKyMgZGVmaW5lIF9fYXR0cmlidXRlX18oX2FyZ18pCisjIGRlZmluZSBpZ25vcmVfcmVzdWx0KHgpICgodm9pZCkgKHgpKQorI2VuZGlmIC8qICFfX0dOVUNfXyAqLworCisvKgorICogRnVuY3Rpb24gYXR0cmlidXRlcworICovCisjaWZuZGVmIF9fdWxfYWxsb2Nfc2l6ZQorIyBpZiBfX0dOVUNfUFJFUkVRICg0LCAzKQorIyAgZGVmaW5lIF9fdWxfYWxsb2Nfc2l6ZShzKSBfX2F0dHJpYnV0ZV9fKChhbGxvY19zaXplKHMpLCB3YXJuX3VudXNlZF9yZXN1bHQpKQorIyBlbHNlCisjICBkZWZpbmUgX191bF9hbGxvY19zaXplKHMpCisjIGVuZGlmCisjZW5kaWYKKworI2lmbmRlZiBfX3VsX2NhbGxvY19zaXplCisjIGlmIF9fR05VQ19QUkVSRVEgKDQsIDMpCisjICBkZWZpbmUgX191bF9jYWxsb2Nfc2l6ZShuLCBzKSBfX2F0dHJpYnV0ZV9fKChhbGxvY19zaXplKG4sIHMpLCB3YXJuX3VudXNlZF9yZXN1bHQpKQorIyBlbHNlCisjICBkZWZpbmUgX191bF9jYWxsb2Nfc2l6ZShuLCBzKQorIyBlbmRpZgorI2VuZGlmCisKKy8qCisgKiBGb3JjZSBhIGNvbXBpbGF0aW9uIGVycm9yIGlmIGNvbmRpdGlvbiBpcyB0cnVlLCBidXQgYWxzbyBwcm9kdWNlIGEKKyAqIHJlc3VsdCAob2YgdmFsdWUgMCBhbmQgdHlwZSBzaXplX3QpLCBzbyB0aGUgZXhwcmVzc2lvbiBjYW4gYmUgdXNlZAorICogZS5nLiBpbiBhIHN0cnVjdHVyZSBpbml0aWFsaXplciAob3Igd2hlcmV2ZXIgZWxzZSBjb21tYSBleHByZXNzaW9ucworICogYXJlbid0IHBlcm1pdHRlZCkuCisgKi8KKyNkZWZpbmUgVUxfQlVJTERfQlVHX09OX1pFUk8oZSkgX19leHRlbnNpb25fXyAoc2l6ZW9mKHN0cnVjdCB7IGludDotISEoZSk7IH0pKQorI2RlZmluZSBCVUlMRF9CVUdfT05fTlVMTChlKSAoKHZvaWQgKilzaXplb2Yoc3RydWN0IHsgaW50Oi0hIShlKTsgfSkpCisKKyNpZm5kZWYgQVJSQVlfU0laRQorIyBkZWZpbmUgQVJSQVlfU0laRShhcnIpIChzaXplb2YoYXJyKSAvIHNpemVvZigoYXJyKVswXSkgKyBfX211c3RfYmVfYXJyYXkoYXJyKSkKKyNlbmRpZgorCisjaWZuZGVmIFBBVEhfTUFYCisjIGRlZmluZSBQQVRIX01BWCA0MDk2CisjZW5kaWYKKworI2lmbmRlZiBUUlVFCisjIGRlZmluZSBUUlVFIDEKKyNlbmRpZgorCisjaWZuZGVmIEZBTFNFCisjIGRlZmluZSBGQUxTRSAwCisjZW5kaWYKKworI2lmbmRlZiBtaW4KKyMgZGVmaW5lIG1pbih4LCB5KSBfX2V4dGVuc2lvbl9fICh7CQlcCisJX190eXBlb2ZfXyh4KSBfbWluMSA9ICh4KTsJCVwKKwlfX3R5cGVvZl9fKHkpIF9taW4yID0gKHkpOwkJXAorCSh2b2lkKSAoJl9taW4xID09ICZfbWluMik7CQlcCisJX21pbjEgPCBfbWluMiA/IF9taW4xIDogX21pbjI7IH0pCisjZW5kaWYKKworI2lmbmRlZiBtYXgKKyMgZGVmaW5lIG1heCh4LCB5KSBfX2V4dGVuc2lvbl9fICh7CQlcCisJX190eXBlb2ZfXyh4KSBfbWF4MSA9ICh4KTsJCVwKKwlfX3R5cGVvZl9fKHkpIF9tYXgyID0gKHkpOwkJXAorCSh2b2lkKSAoJl9tYXgxID09ICZfbWF4Mik7CQlcCisJX21heDEgPiBfbWF4MiA/IF9tYXgxIDogX21heDI7IH0pCisjZW5kaWYKKworI2lmbmRlZiBjbXBfbnVtYmVycworIyBkZWZpbmUgY21wX251bWJlcnMoeCwgeSkgX19leHRlbnNpb25fXyAoewlcCisJX190eXBlb2ZfXyh4KSBfYSA9ICh4KTsJCQlcCisJX190eXBlb2ZfXyh5KSBfYiA9ICh5KTsJCQlcCisJKHZvaWQpICgmX2EgPT0gJl9iKTsJCQlcCisJX2EgPT0gX2IgPyAwIDogX2EgPiBfYiA/IDEgOiAtMTsgfSkKKyNlbmRpZgorCisjaWZuZGVmIG9mZnNldG9mCisjZGVmaW5lIG9mZnNldG9mKFRZUEUsIE1FTUJFUikgKChzaXplX3QpICYoKFRZUEUgKikwKS0+TUVNQkVSKQorI2VuZGlmCisKKy8qCisgKiBjb250YWluZXJfb2YgLSBjYXN0IGEgbWVtYmVyIG9mIGEgc3RydWN0dXJlIG91dCB0byB0aGUgY29udGFpbmluZyBzdHJ1Y3R1cmUKKyAqIEBwdHI6CXRoZSBwb2ludGVyIHRvIHRoZSBtZW1iZXIuCisgKiBAdHlwZToJdGhlIHR5cGUgb2YgdGhlIGNvbnRhaW5lciBzdHJ1Y3QgdGhpcyBpcyBlbWJlZGRlZCBpbi4KKyAqIEBtZW1iZXI6CXRoZSBuYW1lIG9mIHRoZSBtZW1iZXIgd2l0aGluIHRoZSBzdHJ1Y3QuCisgKi8KKyNpZm5kZWYgY29udGFpbmVyX29mCisjZGVmaW5lIGNvbnRhaW5lcl9vZihwdHIsIHR5cGUsIG1lbWJlcikgX19leHRlbnNpb25fXyAoewlcCisJdm9pZCAqX19tcHRyID0gKHZvaWQgKikocHRyKTsJCQkJXAorCSgodHlwZSAqKShfX21wdHIgLSBvZmZzZXRvZih0eXBlLCBtZW1iZXIpKSk7IH0pCisjZW5kaWYKKworI2lmbmRlZiBIQVZFX1BST0dSQU1fSU5WT0NBVElPTl9TSE9SVF9OQU1FCisjIGlmZGVmIEhBVkVfX19QUk9HTkFNRQorZXh0ZXJuIGNoYXIgKl9fcHJvZ25hbWU7CisjICBkZWZpbmUgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUgX19wcm9nbmFtZQorIyBlbHNlCisjICBpZmRlZiBIQVZFX0dFVEVYRUNOQU1FCisjICAgZGVmaW5lIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lIFwKKwkJcHJvZ19pbnZfc2hfbm1fZnJvbV9maWxlKGdldGV4ZWNuYW1lKCksIDApCisjICBlbHNlCisjICAgZGVmaW5lIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lIFwKKwkJcHJvZ19pbnZfc2hfbm1fZnJvbV9maWxlKF9fRklMRV9fLCAxKQorIyAgZW5kaWYKK3N0YXRpYyBjaGFyIHByb2dfaW52X3NoX25tX2J1ZlsyNTZdOworc3RhdGljIGlubGluZSBjaGFyICoKK3Byb2dfaW52X3NoX25tX2Zyb21fZmlsZShjaGFyICpmLCBjaGFyIHN0cmlwZXh0KQoreworCWNoYXIgKnQ7CisKKwlpZiAoKHQgPSBzdHJyY2hyKGYsICcvJykpICE9IE5VTEwpCisJCXQrKzsKKwllbHNlCisJCXQgPSBmOworCisJc3RybmNweShwcm9nX2ludl9zaF9ubV9idWYsIHQsIHNpemVvZihwcm9nX2ludl9zaF9ubV9idWYpIC0gMSk7CisJcHJvZ19pbnZfc2hfbm1fYnVmW3NpemVvZihwcm9nX2ludl9zaF9ubV9idWYpIC0gMV0gPSAnXDAnOworCisJaWYgKHN0cmlwZXh0ICYmICh0ID0gc3RycmNocihwcm9nX2ludl9zaF9ubV9idWYsICcuJykpICE9IE5VTEwpCisJCSp0ID0gJ1wwJzsKKworCXJldHVybiBwcm9nX2ludl9zaF9ubV9idWY7Cit9CisjIGVuZGlmCisjZW5kaWYKKworCisjaWZuZGVmIEhBVkVfRVJSX0gKK3N0YXRpYyBpbmxpbmUgdm9pZAorZXJybXNnKGNoYXIgZG9leGl0LCBpbnQgZXhjb2RlLCBjaGFyIGFkZGVyciwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJZnByaW50ZihzdGRlcnIsICIlczogIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCWlmIChmbXQgIT0gTlVMTCkgeworCQl2YV9saXN0IGFyZ3A7CisJCXZhX3N0YXJ0KGFyZ3AsIGZtdCk7CisJCXZmcHJpbnRmKHN0ZGVyciwgZm10LCBhcmdwKTsKKwkJdmFfZW5kKGFyZ3ApOworCQlpZiAoYWRkZXJyKQorCQkJZnByaW50ZihzdGRlcnIsICI6ICIpOworCX0KKwlpZiAoYWRkZXJyKQorCQlmcHJpbnRmKHN0ZGVyciwgIiVtIik7CisJZnByaW50ZihzdGRlcnIsICJcbiIpOworCWlmIChkb2V4aXQpCisJCWV4aXQoZXhjb2RlKTsKK30KKworI2lmbmRlZiBIQVZFX0VSUgorIyBkZWZpbmUgZXJyKEUsIEZNVC4uLikgZXJybXNnKDEsIEUsIDEsIEZNVCkKKyNlbmRpZgorCisjaWZuZGVmIEhBVkVfRVJSWAorIyBkZWZpbmUgZXJyeChFLCBGTVQuLi4pIGVycm1zZygxLCBFLCAwLCBGTVQpCisjZW5kaWYKKworI2lmbmRlZiBIQVZFX1dBUk4KKyMgZGVmaW5lIHdhcm4oRk1ULi4uKSBlcnJtc2coMCwgMCwgMSwgRk1UKQorI2VuZGlmCisKKyNpZm5kZWYgSEFWRV9XQVJOWAorIyBkZWZpbmUgd2FybngoRk1ULi4uKSBlcnJtc2coMCwgMCwgMCwgRk1UKQorI2VuZGlmCisjZW5kaWYgLyogIUhBVkVfRVJSX0ggKi8KKworCisvKiBEb24ndCB1c2UgaW5saW5lIGZ1bmN0aW9uIHRvIGF2b2lkICcjaW5jbHVkZSAibmxzLmgiJyBpbiBjLmgKKyAqLworI2RlZmluZSBlcnJ0cnloZWxwKGV2YWwpIF9fZXh0ZW5zaW9uX18gKHsgXAorCWZwcmludGYoc3RkZXJyLCBfKCJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iKSwgXAorCQkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOyBcCisJZXhpdChldmFsKTsgXAorfSkKKworLyogQWZ0ZXIgZmFpbGVkIGV4ZWN2cCgpICovCisjZGVmaW5lIEVYX0VYRUNfRkFJTEVECQkxMjYJLyogUHJvZ3JhbSBsb2NhdGVkLCBidXQgbm90IHVzYWJsZS4gKi8KKyNkZWZpbmUgRVhfRVhFQ19FTk9FTlQJCTEyNwkvKiBDb3VsZCBub3QgZmluZCBwcm9ncmFtIHRvIGV4ZWMuICAqLworI2RlZmluZSBlcnJleGVjKG5hbWUpCWVycihlcnJubyA9PSBFTk9FTlQgPyBFWF9FWEVDX0VOT0VOVCA6IEVYX0VYRUNfRkFJTEVELCBcCisJCQlfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBuYW1lKQorCisKK3N0YXRpYyBpbmxpbmUgX19hdHRyaWJ1dGVfXygoY29uc3QpKSBpbnQgaXNfcG93ZXJfb2ZfMih1bnNpZ25lZCBsb25nIG51bSkKK3sKKwlyZXR1cm4gKG51bSAhPSAwICYmICgobnVtICYgKG51bSAtIDEpKSA9PSAwKSk7Cit9CisKKyNpZm5kZWYgSEFWRV9MT0ZGX1QKK3R5cGVkZWYgaW50NjRfdCBsb2ZmX3Q7CisjZW5kaWYKKworI2lmICFkZWZpbmVkKEhBVkVfRElSRkQpICYmICghZGVmaW5lZChIQVZFX0RFQ0xfRElSRkQpIHx8IEhBVkVfREVDTF9ESVJGRCA9PSAwKSAmJiBkZWZpbmVkKEhBVkVfRElSX0REX0ZEKQorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorc3RhdGljIGlubGluZSBpbnQgZGlyZmQoRElSICpkKQoreworCXJldHVybiBkLT5kZF9mZDsKK30KKyNlbmRpZgorCisvKgorICogRmFsbGJhY2sgZGVmaW5lcyBmb3Igb2xkIHZlcnNpb25zIG9mIGdsaWJjCisgKi8KKyNpbmNsdWRlIDxmY250bC5oPgorCisjaWZkZWYgT19DTE9FWEVDCisjZGVmaW5lIFVMX0NMT0VYRUNTVFIJImUiCisjZWxzZQorI2RlZmluZSBVTF9DTE9FWEVDU1RSCSIiCisjZW5kaWYKKworI2lmbmRlZiBPX0NMT0VYRUMKKyNkZWZpbmUgT19DTE9FWEVDIDAKKyNlbmRpZgorCisjaWZkZWYgX19GcmVlQlNEX2tlcm5lbF9fCisjaWZuZGVmIEZfRFVQRkRfQ0xPRVhFQworI2RlZmluZSBGX0RVUEZEX0NMT0VYRUMJMTcJLyogTGlrZSBGX0RVUEZELCBidXQgRkRfQ0xPRVhFQyBpcyBzZXQgKi8KKyNlbmRpZgorI2VuZGlmCisKKworI2lmbmRlZiBBSV9BRERSQ09ORklHCisjZGVmaW5lIEFJX0FERFJDT05GSUcgMHgwMDIwCisjZW5kaWYKKworI2lmbmRlZiBJVVRGOAorI2RlZmluZSBJVVRGOCAwMDQwMDAwCisjZW5kaWYKKworLyoKKyAqIE1BWEhPU1ROQU1FTEVOIHJlcGxhY2VtZW50CisgKi8KK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGdldF9ob3N0bmFtZV9tYXgodm9pZCkKK3sKKwlsb25nIGxlbiA9IHN5c2NvbmYoX1NDX0hPU1RfTkFNRV9NQVgpOworCisJaWYgKDAgPCBsZW4pCisJCXJldHVybiBsZW47CisKKyNpZmRlZiBNQVhIT1NUTkFNRUxFTgorCXJldHVybiBNQVhIT1NUTkFNRUxFTjsKKyNlbGlmIEhPU1RfTkFNRV9NQVgKKwlyZXR1cm4gSE9TVF9OQU1FX01BWDsKKyNlbmRpZgorCXJldHVybiA2NDsKK30KKworLyoKKyAqIFRoZSB1c2xlZXAgZnVuY3Rpb24gd2FzIG1hcmtlZCBvYnNvbGV0ZSBpbiBQT1NJWC4xLTIwMDEgYW5kIHdhcyByZW1vdmVkCisgKiBpbiBQT1NJWC4xLTIwMDguICBJdCB3YXMgcmVwbGFjZWQgd2l0aCBuYW5vc2xlZXAoKSB0aGF0IHByb3ZpZGVzIG1vcmUKKyAqIGFkdmFudGFnZXMgKGxpa2Ugbm8gaW50ZXJhY3Rpb24gd2l0aCBzaWduYWxzIGFuZCBvdGhlciB0aW1lciBmdW5jdGlvbnMpLgorICovCisjaW5jbHVkZSA8dGltZS5oPgorCitzdGF0aWMgaW5saW5lIGludCB4dXNsZWVwKHVzZWNvbmRzX3QgdXNlYykKK3sKKyNpZmRlZiBIQVZFX05BTk9TTEVFUAorCXN0cnVjdCB0aW1lc3BlYyB3YWl0dGltZSA9IHsKKwkJLnR2X3NlYyAgID0gIHVzZWMgLyAxMDAwMDAwTCwKKwkJLnR2X25zZWMgID0gKHVzZWMgJSAxMDAwMDAwTCkgKiAxMDAwCisJfTsKKwlyZXR1cm4gbmFub3NsZWVwKCZ3YWl0dGltZSwgTlVMTCk7CisjZWxpZiBkZWZpbmVkKEhBVkVfVVNMRUVQKQorCXJldHVybiB1c2xlZXAodXNlYyk7CisjZWxzZQorIyBlcnJvcgkiU3lzdGVtIHdpdGggdXNsZWVwKCkgb3IgbmFub3NsZWVwKCkgcmVxdWlyZWQhIgorI2VuZGlmCit9CisKKy8qCisgKiBDb25zdGFudCBzdHJpbmdzIGZvciB1c2FnZSgpIGZ1bmN0aW9ucy4gRm9yIG1vcmUgaW5mbyBzZWUKKyAqIERvY3VtZW50YXRpb24ve2hvd3RvLXVzYWdlLWZ1bmN0aW9uLnR4dCxib2lsZXJwbGF0ZS5jfQorICovCisjZGVmaW5lIFVTQUdFX0hFQURFUiAgICAgXygiXG5Vc2FnZTpcbiIpCisjZGVmaW5lIFVTQUdFX09QVElPTlMgICAgXygiXG5PcHRpb25zOlxuIikKKyNkZWZpbmUgVVNBR0VfRlVOQ1RJT05TICBfKCJcbkZ1bmN0aW9uczpcbiIpCisjZGVmaW5lIFVTQUdFX0NPTU1BTkRTICAgXygiXG5Db21tYW5kczpcbiIpCisjZGVmaW5lIFVTQUdFX0NPTFVNTlMgICAgXygiXG5BdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iKQorI2RlZmluZSBVU0FHRV9TRVBBUkFUT1IgICAgIlxuIgorCisjZGVmaW5lIFVTQUdFX09QVFNUUl9IRUxQICAgICBfKCJkaXNwbGF5IHRoaXMgaGVscCIpCisjZGVmaW5lIFVTQUdFX09QVFNUUl9WRVJTSU9OICBfKCJkaXNwbGF5IHZlcnNpb24iKQorCisjZGVmaW5lIFVTQUdFX0hFTFBfT1BUSU9OUyhtYXJnX2RzYykgXAorCQkiJS0iICNtYXJnX2RzYyAicyVzXG4iIFwKKwkJIiUtIiAjbWFyZ19kc2MgInMlc1xuIiBcCisJCSwgIiAtaCwgLS1oZWxwIiwgICAgVVNBR0VfT1BUU1RSX0hFTFAgXAorCQksICIgLVYsIC0tdmVyc2lvbiIsIFVTQUdFX09QVFNUUl9WRVJTSU9OCisKKyNkZWZpbmUgVVNBR0VfTUFOX1RBSUwoX21hbikgICBfKCJcbkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIiksIF9tYW4KKworI2RlZmluZSBVVElMX0xJTlVYX1ZFUlNJT04gXygiJXMgZnJvbSAlc1xuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBQQUNLQUdFX1NUUklORworCisvKgorICogc2NhbmYgbW9kaWZpZXJzIGZvciAic3RyaW5ncyBhbGxvY2F0aW9uIgorICovCisjaWZkZWYgSEFWRV9TQ0FORl9NU19NT0RJRklFUgorI2RlZmluZSBVTF9TQ05zQQkiJW1zIgorI2VsaWYgZGVmaW5lZChIQVZFX1NDQU5GX0FTX01PRElGSUVSKQorI2RlZmluZSBVTF9TQ05zQQkiJWFzIgorI2VuZGlmCisKKy8qCisgKiBzZWVrIHN0dWZmCisgKi8KKyNpZm5kZWYgU0VFS19EQVRBCisjIGRlZmluZSBTRUVLX0RBVEEJMworI2VuZGlmCisjaWZuZGVmIFNFRUtfSE9MRQorIyBkZWZpbmUgU0VFS19IT0xFCTQKKyNlbmRpZgorCisKKy8qCisgKiBNYWNyb3MgdG8gY29udmVydCAjZGVmaW5lJ2l0aW9ucyB0byBzdHJpbmdzLCBmb3IgZXhhbXBsZQorICogI2RlZmluZSBYWVhYWSA0MgorICogcHJpbnRmICgiJXM9JXNcbiIsIHN0cmluZ2lmeShYWVhYWSksIHN0cmluZ2lmeV92YWx1ZShYWVhYWSkpOworICovCisjZGVmaW5lIHN0cmluZ2lmeV92YWx1ZShzKSBzdHJpbmdpZnkocykKKyNkZWZpbmUgc3RyaW5naWZ5KHMpICNzCisKKy8qCisgKiBVTF9BU0FOX0JMQUNLTElTVCBpcyBhIG1hY3JvIHRvIHRlbGwgQWRkcmVzc1Nhbml0aXplciAoYSBjb21waWxlLXRpbWUKKyAqIGluc3RydW1lbnRhdGlvbiBzaGlwcGVkIHdpdGggQ2xhbmcgYW5kIEdDQykgdG8gbm90IGluc3RydW1lbnQgdGhlCisgKiBhbm5vdGF0ZWQgZnVuY3Rpb24uICBGdXJ0aGVybW9yZSwgaXQgd2lsbCBwcmV2ZW50IHRoZSBjb21waWxlciBmcm9tCisgKiBpbmxpbmluZyB0aGUgZnVuY3Rpb24gYmVjYXVzZSBpbmxpbmluZyBjdXJyZW50bHkgYnJlYWtzIHRoZSBibGFja2xpc3RpbmcKKyAqIG1lY2hhbmlzbSBvZiBBZGRyZXNzU2FuaXRpemVyLgorICovCisjaWYgZGVmaW5lZChfX2hhc19mZWF0dXJlKQorIyBpZiBfX2hhc19mZWF0dXJlKGFkZHJlc3Nfc2FuaXRpemVyKQorIyAgZGVmaW5lIFVMX0FTQU5fQkxBQ0tMSVNUIF9fYXR0cmlidXRlX18oKG5vaW5saW5lKSkgX19hdHRyaWJ1dGVfXygobm9fc2FuaXRpemVfbWVtb3J5KSkgX19hdHRyaWJ1dGVfXygobm9fc2FuaXRpemVfYWRkcmVzcykpCisjIGVsc2UKKyMgIGRlZmluZSBVTF9BU0FOX0JMQUNLTElTVAkvKiBub3RoaW5nICovCisjIGVuZGlmCisjZWxzZQorIyBkZWZpbmUgVUxfQVNBTl9CTEFDS0xJU1QJLyogbm90aGluZyAqLworI2VuZGlmCisKKworCisvKgorICogTm90ZSB0aGF0IHN5c2NvbmYoX1NDX0dFVFBXX1JfU0laRV9NQVgpIHJldHVybnMgKmluaXRpYWwqIHN1Z2dlc3RlZCBzaXplIGZvcgorICogcHdkIGJ1ZmZlciBhbmQgaW4gc29tZSBjYXNlcyBpdCBpcyBub3QgbGFyZ2UgZW5vdWdoLiBTZWUgUE9TSVggYW5kCisgKiBnZXRwd25hbV9yIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKyNkZWZpbmUgVUxfR0VUUFdfQlVGU0laCSgxNiAqIDEwMjQpCisKKy8qCisgKiBEYXJ3aW4gb3Igb3RoZXIgQlNEcyBtYXkgb25seSBoYXZlIE1BUF9BTk9OLiBUbyBnZXQgaXQgb24gRGFyd2luIHdlIG11c3QKKyAqIGRlZmluZSBfREFSV0lOX0NfU09VUkNFIGJlZm9yZSBpbmNsdWRpbmcgc3lzL21tYW4uaC4gV2UgZG8gdGhpcyBpbiBjb25maWcuaC4KKyAqLworI2lmICFkZWZpbmVkIE1BUF9BTk9OWU1PVVMgJiYgZGVmaW5lZCBNQVBfQU5PTgorIyBkZWZpbmUgTUFQX0FOT05ZTU9VUyAgKE1BUF9BTk9OKQorI2VuZGlmCisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0NfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jYW5vbmljYWxpemUuaCBiL2luY2x1ZGUvY2Fub25pY2FsaXplLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmY2ZWYwZAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY2Fub25pY2FsaXplLmgKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIExpYnJhcnkgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworI2lmbmRlZiBDQU5PTklDQUxJWkVfSAorI2RlZmluZSBDQU5PTklDQUxJWkVfSAorCisjaW5jbHVkZSAiYy5oIgkvKiBmb3IgUEFUSF9NQVggKi8KKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCitleHRlcm4gY2hhciAqY2Fub25pY2FsaXplX3BhdGgoY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gY2hhciAqY2Fub25pY2FsaXplX3BhdGhfcmVzdHJpY3RlZChjb25zdCBjaGFyICpwYXRoKTsKK2V4dGVybiBjaGFyICpjYW5vbmljYWxpemVfZG1fbmFtZShjb25zdCBjaGFyICpwdG5hbWUpOworZXh0ZXJuIGNoYXIgKl9fY2Fub25pY2FsaXplX2RtX25hbWUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpwdG5hbWUpOworCitleHRlcm4gY2hhciAqYWJzb2x1dGVfcGF0aChjb25zdCBjaGFyICpwYXRoKTsKKworc3RhdGljIGlubGluZSBpbnQgaXNfcmVsYXRpdmVfcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCWlmICghcGF0aCB8fCAqcGF0aCA9PSAnLycpCisJCXJldHVybiAwOworCXJldHVybiAxOworfQorCisjZW5kaWYgLyogQ0FOT05JQ0FMSVpFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY2FyZWZ1bHB1dGMuaCBiL2luY2x1ZGUvY2FyZWZ1bHB1dGMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NGEwMmJmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jYXJlZnVscHV0Yy5oCkBAIC0wLDAgKzEsMTUzIEBACisjaWZuZGVmIFVUSUxfTElOVVhfQ0FSRUZVTFBVVENfSAorI2RlZmluZSBVVElMX0xJTlVYX0NBUkVGVUxQVVRDX0gKKworLyoKKyAqIEEgcHV0YygpIGZvciB1c2UgaW4gd3JpdGUgYW5kIHdhbGwgKHRoYXQgc29tZXRpbWVzIGFyZSBzZ2lkIHR0eSkuCisgKiBJdCBhdm9pZHMgY29udHJvbCBjaGFyYWN0ZXJzIGluIG91ciBsb2NhbGUsIGFuZCBhbHNvIEFTQ0lJIGNvbnRyb2wKKyAqIGNoYXJhY3RlcnMuICAgTm90ZSB0aGF0IHRoZSBsb2NhbGUgb2YgdGhlIHJlY2lwaWVudCBpcyB1bmtub3duLgorKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKK3N0YXRpYyBpbmxpbmUgaW50IGZwdXRjX2NhcmVmdWwoaW50IGMsIEZJTEUgKmZwLCBjb25zdCBjaGFyIGZhaWwpCit7CisJaW50IHJldDsKKworCWlmIChpc3ByaW50KGMpIHx8IGMgPT0gJ1xhJyB8fCBjID09ICdcdCcgfHwgYyA9PSAnXHInIHx8IGMgPT0gJ1xuJykKKwkJcmV0ID0gcHV0YyhjLCBmcCk7CisJZWxzZSBpZiAoIWlzYXNjaWkoYykpCisJCXJldCA9IGZwcmludGYoZnAsICJcXCUzbyIsICh1bnNpZ25lZCBjaGFyKWMpOworCWVsc2UgeworCQlyZXQgPSBwdXRjKGZhaWwsIGZwKTsKKwkJaWYgKHJldCAhPSBFT0YpCisJCQlyZXQgPSBwdXRjKGMgXiAweDQwLCBmcCk7CisJfQorCXJldHVybiAocmV0IDwgMCkgPyBFT0YgOiAwOworfQorCisvKgorICogUmVxdWlyZW1lbnRzIGVudW1lcmF0ZWQgdmlhIHRlc3RpbmcgKFY4LCBGaXJlZm94LCBJRTExKToKKyAqCisgKiB2YXIgY2hhcnNUb0VzY2FwZSA9IFtdOworICogZm9yICh2YXIgaSA9IDA7IGkgPCA2NTUzNTsgaSArPSAxKSB7CisgKgl0cnkgeworICoJCUpTT04ucGFyc2UoJ3sic2FtcGxlIjogIicgKyBTdHJpbmcuZnJvbUNvZGVQb2ludChpKSArICcifScpOworICoJfSBjYXRjaCAoZSkgeworICoJCWNoYXJzVG9Fc2NhcGUucHVzaChpKTsKKyAqCX0KKyAqIH0KKyAqLworc3RhdGljIGlubGluZSB2b2lkIGZwdXRzX3F1b3RlZF9jYXNlX2pzb24oY29uc3QgY2hhciAqZGF0YSwgRklMRSAqb3V0LCBpbnQgZGlyKQoreworCWNvbnN0IGNoYXIgKnA7CisKKwlmcHV0YygnIicsIG91dCk7CisJZm9yIChwID0gZGF0YTsgcCAmJiAqcDsgcCsrKSB7CisKKwkJY29uc3QgdW5zaWduZWQgY2hhciBjID0gKHVuc2lnbmVkIGNoYXIpICpwOworCisJCS8qIEZyb20gaHR0cDovL3d3dy5qc29uLm9yZworCQkgKgorCQkgKiBUaGUgZG91YmxlLXF1b3RlIGFuZCBiYWNrc2xhc2hlcyB3b3VsZCBicmVhayBvdXQgYSBzdHJpbmcgb3IKKwkJICogaW5pdCBhbiBlc2NhcGUgc2VxdWVuY2UgaWYgbm90IGVzY2FwZWQuCisJCSAqCisJCSAqIE5vdGUgdGhhdCBzaW5nbGUtcXVvdGVzIGFuZCBmb3J3YXJkIHNsYXNoZXMsIHdoaWxlIHRoZXkncmUKKwkJICogaW4gdGhlIEpTT04gc3BlYywgZG9uJ3QgYnJlYWsgZG91YmxlLXF1b3RlZCBzdHJpbmdzLgorCQkgKi8KKwkJaWYgKGMgPT0gJyInIHx8IGMgPT0gJ1xcJykgeworCQkJZnB1dGMoJ1xcJywgb3V0KTsKKwkJCWZwdXRjKGMsIG91dCk7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIEFsbCBub24tY29udHJvbCBjaGFyYWN0ZXJzIE9LOyBkbyB0aGUgY2FzZSBzd2FwIGFzIHJlcXVpcmVkLiAqLworCQlpZiAoYyA+PSAweDIwKSB7CisJCQlmcHV0YyhkaXIgPT0gIDEgPyB0b3VwcGVyKGMpIDoKKwkJCSAgICAgIGRpciA9PSAtMSA/IHRvbG93ZXIoYykgOiAqcCwgb3V0KTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogSW4gYWRkaXRpb24sIGFsbCBjaGFycyB1bmRlciAnICcgYnJlYWsgTm9kZSdzL1Y4L0Nocm9tZSdzLCBhbmQKKwkJICogRmlyZWZveCdzIEpTT04ucGFyc2UgZnVuY3Rpb24KKwkJICovCisJCXN3aXRjaCAoYykgeworCQkJLyogSGFuZGxlIHNob3J0LWhhbmQgY2FzZXMgdG8gcmVkdWNlIG91dHB1dCBzaXplLiAgQworCQkJICogaGFzIG1vc3Qgb2YgdGhlIHNhbWUgc3R1ZmYgaGVyZSwgc28gaWYgdGhlcmUncyBhbgorCQkJICogIkVzY2FwZSBmb3IgQyIgZnVuY3Rpb24gc29tZXdoZXJlIGluIHRoZSBTVEwsIHdlCisJCQkgKiBzaG91bGQgcHJvYmFibHkgYmUgdXNpbmcgaXQuCisJCQkgKi8KKwkJCWNhc2UgJ1xiJzoKKwkJCQlmcHV0cygiXFxiIiwgb3V0KTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ1x0JzoKKwkJCQlmcHV0cygiXFx0Iiwgb3V0KTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ1xuJzoKKwkJCQlmcHV0cygiXFxuIiwgb3V0KTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ1xmJzoKKwkJCQlmcHV0cygiXFxmIiwgb3V0KTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ1xyJzoKKwkJCQlmcHV0cygiXFxyIiwgb3V0KTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJLyogT3RoZXIgYXNzb3J0ZWQgY29udHJvbCBjaGFyYWN0ZXJzICovCisJCQkJZnByaW50ZihvdXQsICJcXHUwMCUwMngiLCBjKTsKKwkJCQlicmVhazsKKwkJfQorCX0KKwlmcHV0YygnIicsIG91dCk7Cit9CisKKworc3RhdGljIGlubGluZSB2b2lkIGZwdXRzX3F1b3RlZF9jYXNlKGNvbnN0IGNoYXIgKmRhdGEsIEZJTEUgKm91dCwgaW50IGRpcikKK3sKKwljb25zdCBjaGFyICpwOworCisJZnB1dGMoJyInLCBvdXQpOworCWZvciAocCA9IGRhdGE7IHAgJiYgKnA7IHArKykgeworCQlpZiAoKHVuc2lnbmVkIGNoYXIpICpwID09IDB4MjIgfHwJCS8qICIgKi8KKwkJICAgICh1bnNpZ25lZCBjaGFyKSAqcCA9PSAweDVjIHx8CQkvKiBcICovCisJCSAgICAodW5zaWduZWQgY2hhcikgKnAgPT0gMHg2MCB8fAkJLyogYCAqLworCQkgICAgKHVuc2lnbmVkIGNoYXIpICpwID09IDB4MjQgfHwJCS8qICQgKi8KKwkJICAgICFpc3ByaW50KCh1bnNpZ25lZCBjaGFyKSAqcCkgfHwKKwkJICAgIGlzY250cmwoKHVuc2lnbmVkIGNoYXIpICpwKSkgeworCisJCQlmcHJpbnRmKG91dCwgIlxceCUwMngiLCAodW5zaWduZWQgY2hhcikgKnApOworCQl9IGVsc2UKKwkJCWZwdXRjKGRpciA9PSAgMSA/IHRvdXBwZXIoKnApIDoKKwkJCSAgICAgIGRpciA9PSAtMSA/IHRvbG93ZXIoKnApIDoKKwkJCSAgICAgICpwLCBvdXQpOworCX0KKwlmcHV0YygnIicsIG91dCk7Cit9CisKKyNkZWZpbmUgZnB1dHNfcXVvdGVkKF9kLCBfbykJCWZwdXRzX3F1b3RlZF9jYXNlKF9kLCBfbywgMCkKKyNkZWZpbmUgZnB1dHNfcXVvdGVkX3VwcGVyKF9kLCBfbykJZnB1dHNfcXVvdGVkX2Nhc2UoX2QsIF9vLCAxKQorI2RlZmluZSBmcHV0c19xdW90ZWRfbG93ZXIoX2QsIF9vKQlmcHV0c19xdW90ZWRfY2FzZShfZCwgX28sIC0xKQorCisjZGVmaW5lIGZwdXRzX3F1b3RlZF9qc29uKF9kLCBfbykgICAgICAgZnB1dHNfcXVvdGVkX2Nhc2VfanNvbihfZCwgX28sIDApCisjZGVmaW5lIGZwdXRzX3F1b3RlZF9qc29uX3VwcGVyKF9kLCBfbykgZnB1dHNfcXVvdGVkX2Nhc2VfanNvbihfZCwgX28sIDEpCisjZGVmaW5lIGZwdXRzX3F1b3RlZF9qc29uX2xvd2VyKF9kLCBfbykgZnB1dHNfcXVvdGVkX2Nhc2VfanNvbihfZCwgX28sIC0xKQorCitzdGF0aWMgaW5saW5lIHZvaWQgZnB1dHNfbm9uYmxhbmsoY29uc3QgY2hhciAqZGF0YSwgRklMRSAqb3V0KQoreworCWNvbnN0IGNoYXIgKnA7CisKKwlmb3IgKHAgPSBkYXRhOyBwICYmICpwOyBwKyspIHsKKwkJaWYgKGlzYmxhbmsoKHVuc2lnbmVkIGNoYXIpICpwKSB8fAorCQkgICAgKHVuc2lnbmVkIGNoYXIpICpwID09IDB4NWMgfHwJCS8qIFwgKi8KKwkJICAgICFpc3ByaW50KCh1bnNpZ25lZCBjaGFyKSAqcCkgfHwKKwkJICAgIGlzY250cmwoKHVuc2lnbmVkIGNoYXIpICpwKSkgeworCisJCQlmcHJpbnRmKG91dCwgIlxceCUwMngiLCAodW5zaWduZWQgY2hhcikgKnApOworCisJCX0gZWxzZQorCQkJZnB1dGMoKnAsIG91dCk7CisJfQorfQorCisKKyNlbmRpZiAgLyogIF9DQVJFRlVMUFVUQ19IICAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jY3R5cGUuaCBiL2luY2x1ZGUvY2N0eXBlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmFiNjQ0YwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY2N0eXBlLmgKQEAgLTAsMCArMSwzMjUgQEAKKy8qKgorICogQ2hhcmFjdGVyIGhhbmRsaW5nIGluIEMgbG9jYWxlLgorICoKKyAqIFRoaXMgZmlsZSBpcyBiYXNlZCBvbiBnbnVsaWIgYy1jdHlwZS5oLWRkN2E4NzEgd2l0aCB0aGUKKyAqIG90aGVyIGdudWxpYiBkZXBlbmRlbmNpZXMgcmVtb3ZlZCBmb3IgdXNlIGluIHV0aWwtbGludXguCisgKgorICogVGhlc2UgZnVuY3Rpb25zIHdvcmsgbGlrZSB0aGUgY29ycmVzcG9uZGluZyBmdW5jdGlvbnMgaW4gPGN0eXBlLmg+LAorICogZXhjZXB0IHRoYXQgdGhleSBoYXZlIHRoZSBDIChQT1NJWCkgbG9jYWxlIGhhcmR3aXJlZCwgd2hlcmVhcyB0aGUKKyAqIDxjdHlwZS5oPiBmdW5jdGlvbnMnIGJlaGF2aW91ciBkZXBlbmRzIG9uIHRoZSBjdXJyZW50IGxvY2FsZSBzZXQgdmlhCisgKiBzZXRsb2NhbGUuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAwLTIwMDMsIDIwMDYsIDIwMDgtMjAxNyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKi8KKworI2lmbmRlZiBVVElMX0xJTlVYX0NDVFlQRV9ICisjZGVmaW5lIFVUSUxfTElOVVhfQ0NUWVBFX0gKKworLyoqCisgKiBUaGUgZnVuY3Rpb25zIGRlZmluZWQgaW4gdGhpcyBmaWxlIGFzc3VtZSB0aGUgIkMiIGxvY2FsZSBhbmQgYSBjaGFyYWN0ZXIKKyAqIHNldCB3aXRob3V0IGRpYWNyaXRpY3MgKEFTQ0lJLVVTIG9yIEVCQ0RJQy1VUyBvciBzb21ldGhpbmcgbGlrZSB0aGF0KS4KKyAqIEV2ZW4gaWYgdGhlICJDIiBsb2NhbGUgb24gYSBwYXJ0aWN1bGFyIHN5c3RlbSBpcyBhbiBleHRlbnNpb24gb2YgdGhlIEFTQ0lJCisgKiBjaGFyYWN0ZXIgc2V0IChsaWtlIG9uIEJlT1MsIHdoZXJlIGl0IGlzIFVURi04LCBvciBvbiBBbWlnYU9TLCB3aGVyZSBpdAorICogaXMgSVNPLTg4NTktMSksIHRoZSBmdW5jdGlvbnMgaW4gdGhpcyBmaWxlIHJlY29nbml6ZSBvbmx5IHRoZSBBU0NJSQorICogY2hhcmFjdGVycy4KKyAqLworCisjaWYgKCcgJyA9PSAzMikgJiYgKCchJyA9PSAzMykgJiYgKCciJyA9PSAzNCkgJiYgKCcjJyA9PSAzNSkgXAorCSYmICgnJScgPT0gMzcpICYmICgnJicgPT0gMzgpICYmICgnXCcnID09IDM5KSAmJiAoJygnID09IDQwKSBcCisJJiYgKCcpJyA9PSA0MSkgJiYgKCcqJyA9PSA0MikgJiYgKCcrJyA9PSA0MykgJiYgKCcsJyA9PSA0NCkgXAorCSYmICgnLScgPT0gNDUpICYmICgnLicgPT0gNDYpICYmICgnLycgPT0gNDcpICYmICgnMCcgPT0gNDgpIFwKKwkmJiAoJzEnID09IDQ5KSAmJiAoJzInID09IDUwKSAmJiAoJzMnID09IDUxKSAmJiAoJzQnID09IDUyKSBcCisJJiYgKCc1JyA9PSA1MykgJiYgKCc2JyA9PSA1NCkgJiYgKCc3JyA9PSA1NSkgJiYgKCc4JyA9PSA1NikgXAorCSYmICgnOScgPT0gNTcpICYmICgnOicgPT0gNTgpICYmICgnOycgPT0gNTkpICYmICgnPCcgPT0gNjApIFwKKwkmJiAoJz0nID09IDYxKSAmJiAoJz4nID09IDYyKSAmJiAoJz8nID09IDYzKSAmJiAoJ0EnID09IDY1KSBcCisJJiYgKCdCJyA9PSA2NikgJiYgKCdDJyA9PSA2NykgJiYgKCdEJyA9PSA2OCkgJiYgKCdFJyA9PSA2OSkgXAorCSYmICgnRicgPT0gNzApICYmICgnRycgPT0gNzEpICYmICgnSCcgPT0gNzIpICYmICgnSScgPT0gNzMpIFwKKwkmJiAoJ0onID09IDc0KSAmJiAoJ0snID09IDc1KSAmJiAoJ0wnID09IDc2KSAmJiAoJ00nID09IDc3KSBcCisJJiYgKCdOJyA9PSA3OCkgJiYgKCdPJyA9PSA3OSkgJiYgKCdQJyA9PSA4MCkgJiYgKCdRJyA9PSA4MSkgXAorCSYmICgnUicgPT0gODIpICYmICgnUycgPT0gODMpICYmICgnVCcgPT0gODQpICYmICgnVScgPT0gODUpIFwKKwkmJiAoJ1YnID09IDg2KSAmJiAoJ1cnID09IDg3KSAmJiAoJ1gnID09IDg4KSAmJiAoJ1knID09IDg5KSBcCisJJiYgKCdaJyA9PSA5MCkgJiYgKCdbJyA9PSA5MSkgJiYgKCdcXCcgPT0gOTIpICYmICgnXScgPT0gOTMpIFwKKwkmJiAoJ14nID09IDk0KSAmJiAoJ18nID09IDk1KSAmJiAoJ2EnID09IDk3KSAmJiAoJ2InID09IDk4KSBcCisJJiYgKCdjJyA9PSA5OSkgJiYgKCdkJyA9PSAxMDApICYmICgnZScgPT0gMTAxKSAmJiAoJ2YnID09IDEwMikgXAorCSYmICgnZycgPT0gMTAzKSAmJiAoJ2gnID09IDEwNCkgJiYgKCdpJyA9PSAxMDUpICYmICgnaicgPT0gMTA2KSBcCisJJiYgKCdrJyA9PSAxMDcpICYmICgnbCcgPT0gMTA4KSAmJiAoJ20nID09IDEwOSkgJiYgKCduJyA9PSAxMTApIFwKKwkmJiAoJ28nID09IDExMSkgJiYgKCdwJyA9PSAxMTIpICYmICgncScgPT0gMTEzKSAmJiAoJ3InID09IDExNCkgXAorCSYmICgncycgPT0gMTE1KSAmJiAoJ3QnID09IDExNikgJiYgKCd1JyA9PSAxMTcpICYmICgndicgPT0gMTE4KSBcCisJJiYgKCd3JyA9PSAxMTkpICYmICgneCcgPT0gMTIwKSAmJiAoJ3knID09IDEyMSkgJiYgKCd6JyA9PSAxMjIpIFwKKwkmJiAoJ3snID09IDEyMykgJiYgKCd8JyA9PSAxMjQpICYmICgnfScgPT0gMTI1KSAmJiAoJ34nID09IDEyNikKKworLyoKKyAqIFRoZSBjaGFyYWN0ZXIgc2V0IGlzIEFTQ0lJIG9yIG9uZSBvZiBpdHMgdmFyaWFudHMgb3IgZXh0ZW5zaW9ucywgbm90IEVCQ0RJQy4KKyAqIFRlc3RpbmcgdGhlIHZhbHVlIG9mICdcbicgYW5kICdccicgaXMgbm90IHJlbGV2YW50LgorICovCisjIGRlZmluZSBDX0NUWVBFX0FTQ0lJIDEKKyNlbGlmICEgKCcgJyA9PSAnXHg0MCcgJiYgJzAnID09ICdceGYwJyAgICAgICAgICAgICAgICAgICAgIFwKKwkgJiYgJ0EnID09ICdceGMxJyAmJiAnSicgPT0gJ1x4ZDEnICYmICdTJyA9PSAnXHhlMicgXAorCSAmJiAnYScgPT0gJ1x4ODEnICYmICdqJyA9PSAnXHg5MScgJiYgJ3MnID09ICdceGEyJykKKyMgZXJyb3IgIk9ubHkgQVNDSUkgYW5kIEVCQ0RJQyBhcmUgc3VwcG9ydGVkIgorI2VuZGlmCisKKyNpZiAnQScgPCAwCisjIGVycm9yICJFQkNESUMgYW5kIGNoYXIgaXMgc2lnbmVkIC0tIG5vdCBzdXBwb3J0ZWQiCisjZW5kaWYKKworLyogQ2FzZXMgZm9yIGNvbnRyb2wgY2hhcmFjdGVycy4gKi8KKyNkZWZpbmUgX0NfQ1RZUEVfQ05UUkwgXAorCWNhc2UgJ1xhJzogY2FzZSAnXGInOiBjYXNlICdcZic6IGNhc2UgJ1xuJzogXAorCWNhc2UgJ1xyJzogY2FzZSAnXHQnOiBjYXNlICdcdic6IFwKKwlfQ19DVFlQRV9PVEhFUl9DTlRSTAorCisvKiBBU0NJSSBjb250cm9sIGNoYXJhY3RlcnMgb3RoZXIgdGhhbiB0aG9zZSB3aXRoIFwtbGV0dGVyIGVzY2FwZXMuICovCisjaWYgQ19DVFlQRV9BU0NJSQorIyBkZWZpbmUgX0NfQ1RZUEVfT1RIRVJfQ05UUkwgXAorCWNhc2UgJ1x4MDAnOiBjYXNlICdceDAxJzogY2FzZSAnXHgwMic6IGNhc2UgJ1x4MDMnOiBcCisJY2FzZSAnXHgwNCc6IGNhc2UgJ1x4MDUnOiBjYXNlICdceDA2JzogY2FzZSAnXHgwZSc6IFwKKwljYXNlICdceDBmJzogY2FzZSAnXHgxMCc6IGNhc2UgJ1x4MTEnOiBjYXNlICdceDEyJzogXAorCWNhc2UgJ1x4MTMnOiBjYXNlICdceDE0JzogY2FzZSAnXHgxNSc6IGNhc2UgJ1x4MTYnOiBcCisJY2FzZSAnXHgxNyc6IGNhc2UgJ1x4MTgnOiBjYXNlICdceDE5JzogY2FzZSAnXHgxYSc6IFwKKwljYXNlICdceDFiJzogY2FzZSAnXHgxYyc6IGNhc2UgJ1x4MWQnOiBjYXNlICdceDFlJzogXAorCWNhc2UgJ1x4MWYnOiBjYXNlICdceDdmJworI2Vsc2UKKworLyoKKyAqIFVzZSBFQkNESUMgY29kZSBwYWdlIDEwNDcncyBhc3NpZ25tZW50cyBmb3IgQVNDSUkgY29udHJvbCBjaGFyczsKKyAqIGFzc3VtZSBhbGwgRUJDRElDIGNvZGUgcGFnZXMgYWdyZWUgYWJvdXQgdGhlc2UgYXNzaWdubWVudHMuCisgKi8KKyMgZGVmaW5lIF9DX0NUWVBFX09USEVSX0NOVFJMIFwKKwljYXNlICdceDAwJzogY2FzZSAnXHgwMSc6IGNhc2UgJ1x4MDInOiBjYXNlICdceDAzJzogXAorCWNhc2UgJ1x4MDcnOiBjYXNlICdceDBlJzogY2FzZSAnXHgwZic6IGNhc2UgJ1x4MTAnOiBcCisJY2FzZSAnXHgxMSc6IGNhc2UgJ1x4MTInOiBjYXNlICdceDEzJzogY2FzZSAnXHgxOCc6IFwKKwljYXNlICdceDE5JzogY2FzZSAnXHgxYyc6IGNhc2UgJ1x4MWQnOiBjYXNlICdceDFlJzogXAorCWNhc2UgJ1x4MWYnOiBjYXNlICdceDI2JzogY2FzZSAnXHgyNyc6IGNhc2UgJ1x4MmQnOiBcCisJY2FzZSAnXHgyZSc6IGNhc2UgJ1x4MzInOiBjYXNlICdceDM3JzogY2FzZSAnXHgzYyc6IFwKKwljYXNlICdceDNkJzogY2FzZSAnXHgzZicKKyNlbmRpZgorCisvKiBDYXNlcyBmb3IgbG93ZXJjYXNlIGhleCBsZXR0ZXJzLCBhbmQgbG93ZXJjYXNlIGxldHRlcnMsIGFsbCBvZmZzZXQgYnkgTi4gKi8KKyNkZWZpbmUgX0NfQ1RZUEVfTE9XRVJfQV9USFJVX0ZfTihOKSBcCisJY2FzZSAnYScgKyAoTik6IGNhc2UgJ2InICsgKE4pOiBjYXNlICdjJyArIChOKTogY2FzZSAnZCcgKyAoTik6IFwKKwljYXNlICdlJyArIChOKTogY2FzZSAnZicgKyAoTikKKyNkZWZpbmUgX0NfQ1RZUEVfTE9XRVJfTihOKSBcCisJX0NfQ1RZUEVfTE9XRVJfQV9USFJVX0ZfTihOKTogXAorCWNhc2UgJ2cnICsgKE4pOiBjYXNlICdoJyArIChOKTogY2FzZSAnaScgKyAoTik6IGNhc2UgJ2onICsgKE4pOiBcCisJY2FzZSAnaycgKyAoTik6IGNhc2UgJ2wnICsgKE4pOiBjYXNlICdtJyArIChOKTogY2FzZSAnbicgKyAoTik6IFwKKwljYXNlICdvJyArIChOKTogY2FzZSAncCcgKyAoTik6IGNhc2UgJ3EnICsgKE4pOiBjYXNlICdyJyArIChOKTogXAorCWNhc2UgJ3MnICsgKE4pOiBjYXNlICd0JyArIChOKTogY2FzZSAndScgKyAoTik6IGNhc2UgJ3YnICsgKE4pOiBcCisJY2FzZSAndycgKyAoTik6IGNhc2UgJ3gnICsgKE4pOiBjYXNlICd5JyArIChOKTogY2FzZSAneicgKyAoTikKKworLyogQ2FzZXMgZm9yIGhleCBsZXR0ZXJzLCBkaWdpdHMsIGxvd2VyLCBwdW5jdCwgYW5kIHVwcGVyLiAqLworI2RlZmluZSBfQ19DVFlQRV9BX1RIUlVfRiBcCisJX0NfQ1RZUEVfTE9XRVJfQV9USFJVX0ZfTiAoMCk6IFwKKwlfQ19DVFlQRV9MT1dFUl9BX1RIUlVfRl9OICgnQScgLSAnYScpCisjZGVmaW5lIF9DX0NUWVBFX0RJR0lUICAgICAgICAgICAgICAgICAgICAgXAorCWNhc2UgJzAnOiBjYXNlICcxJzogY2FzZSAnMic6IGNhc2UgJzMnOiBcCisJY2FzZSAnNCc6IGNhc2UgJzUnOiBjYXNlICc2JzogY2FzZSAnNyc6IFwKKwljYXNlICc4JzogY2FzZSAnOScKKyNkZWZpbmUgX0NfQ1RZUEVfTE9XRVIgX0NfQ1RZUEVfTE9XRVJfTiAoMCkKKyNkZWZpbmUgX0NfQ1RZUEVfUFVOQ1QgXAorCWNhc2UgJyEnOiBjYXNlICciJzogY2FzZSAnIyc6IGNhc2UgJyQnOiAgXAorCWNhc2UgJyUnOiBjYXNlICcmJzogY2FzZSAnXCcnOiBjYXNlICcoJzogXAorCWNhc2UgJyknOiBjYXNlICcqJzogY2FzZSAnKyc6IGNhc2UgJywnOiAgXAorCWNhc2UgJy0nOiBjYXNlICcuJzogY2FzZSAnLyc6IGNhc2UgJzonOiAgXAorCWNhc2UgJzsnOiBjYXNlICc8JzogY2FzZSAnPSc6IGNhc2UgJz4nOiAgXAorCWNhc2UgJz8nOiBjYXNlICdAJzogY2FzZSAnWyc6IGNhc2UgJ1xcJzogXAorCWNhc2UgJ10nOiBjYXNlICdeJzogY2FzZSAnXyc6IGNhc2UgJ2AnOiAgXAorCWNhc2UgJ3snOiBjYXNlICd8JzogY2FzZSAnfSc6IGNhc2UgJ34nCisjZGVmaW5lIF9DX0NUWVBFX1VQUEVSIF9DX0NUWVBFX0xPV0VSX04gKCdBJyAtICdhJykKKworLyoqCisgKiBGdW5jdGlvbiBkZWZpbml0aW9ucy4KKyAqCisgKiBVbmxpa2UgdGhlIGZ1bmN0aW9ucyBpbiA8Y3R5cGUuaD4sIHdoaWNoIHJlcXVpcmUgYW4gYXJndW1lbnQgaW4gdGhlIHJhbmdlCisgKiBvZiB0aGUgJ3Vuc2lnbmVkIGNoYXInIHR5cGUsIHRoZSBmdW5jdGlvbnMgaGVyZSBvcGVyYXRlIG9uIHZhbHVlcyB0aGF0IGFyZQorICogaW4gdGhlICd1bnNpZ25lZCBjaGFyJyByYW5nZSBvciBpbiB0aGUgJ2NoYXInIHJhbmdlLiAgSW4gb3RoZXIgd29yZHMsCisgKiB3aGVuIHlvdSBoYXZlIGEgJ2NoYXInIHZhbHVlLCB5b3UgbmVlZCB0byBjYXN0IGl0IGJlZm9yZSB1c2luZyBpdCBhcworICogYXJndW1lbnQgdG8gYSA8Y3R5cGUuaD4gZnVuY3Rpb246CisgKgorICogCWNvbnN0IGNoYXIgKnMgPSAuLi47CisgKiAJaWYgKGlzYWxwaGEgKCh1bnNpZ25lZCBjaGFyKSAqcykpIC4uLgorICoKKyAqIGJ1dCB5b3UgZG9uJ3QgbmVlZCB0byBjYXN0IGl0IGZvciB0aGUgZnVuY3Rpb25zIGRlZmluZWQgaW4gdGhpcyBmaWxlOgorICoKKyAqIAljb25zdCBjaGFyICpzID0gLi4uOworICogCWlmIChjX2lzYWxwaGEgKCpzKSkgLi4uCisgKi8KKworc3RhdGljIGlubGluZSBpbnQgY19pc2FsbnVtIChpbnQgYykKK3sKKwlzd2l0Y2ggKGMpIHsKKwlfQ19DVFlQRV9ESUdJVDoKKwlfQ19DVFlQRV9MT1dFUjoKKwlfQ19DVFlQRV9VUFBFUjoKKwkJcmV0dXJuIDE7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGludCBjX2lzYWxwaGEgKGludCBjKQoreworCXN3aXRjaCAoYykgeworCV9DX0NUWVBFX0xPV0VSOgorCV9DX0NUWVBFX1VQUEVSOgorCQlyZXR1cm4gMTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CisKKy8qIFRoZSBmdW5jdGlvbiBpc2FzY2lpIGlzIG5vdCBsb2NhbGUgZGVwZW5kZW50LgorICogSXRzIHVzZSBpbiBFQkNESUMgaXMgcXVlc3Rpb25hYmxlLgorICovCitzdGF0aWMgaW5saW5lIGludCBjX2lzYXNjaWkgKGludCBjKQoreworCXN3aXRjaCAoYykgeworCWNhc2UgJyAnOgorCV9DX0NUWVBFX0NOVFJMOgorCV9DX0NUWVBFX0RJR0lUOgorCV9DX0NUWVBFX0xPV0VSOgorCV9DX0NUWVBFX1BVTkNUOgorCV9DX0NUWVBFX1VQUEVSOgorCQlyZXR1cm4gMTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGNfaXNibGFuayAoaW50IGMpCit7CisJcmV0dXJuIGMgPT0gJyAnIHx8IGMgPT0gJ1x0JzsKK30KKworc3RhdGljIGlubGluZSBpbnQgY19pc2NudHJsIChpbnQgYykKK3sKKwlzd2l0Y2ggKGMpIHsKKwlfQ19DVFlQRV9DTlRSTDoKKwkJcmV0dXJuIDE7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGludCBjX2lzZGlnaXQgKGludCBjKQoreworCXN3aXRjaCAoYykgeworCV9DX0NUWVBFX0RJR0lUOgorCQlyZXR1cm4gMTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGNfaXNncmFwaCAoaW50IGMpCit7CisJc3dpdGNoIChjKSB7CisJX0NfQ1RZUEVfRElHSVQ6CisJX0NfQ1RZUEVfTE9XRVI6CisJX0NfQ1RZUEVfUFVOQ1Q6CisJX0NfQ1RZUEVfVVBQRVI6CisJCXJldHVybiAxOworCWRlZmF1bHQ6CisJCXJldHVybiAwOworCX0KK30KKworc3RhdGljIGlubGluZSBpbnQgY19pc2xvd2VyIChpbnQgYykKK3sKKwlzd2l0Y2ggKGMpIHsKKwlfQ19DVFlQRV9MT1dFUjoKKwkJcmV0dXJuIDE7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGludCBjX2lzcHJpbnQgKGludCBjKQoreworCXN3aXRjaCAoYykgeworCWNhc2UgJyAnOgorCV9DX0NUWVBFX0RJR0lUOgorCV9DX0NUWVBFX0xPV0VSOgorCV9DX0NUWVBFX1BVTkNUOgorCV9DX0NUWVBFX1VQUEVSOgorCQlyZXR1cm4gMTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMDsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGNfaXNwdW5jdCAoaW50IGMpCit7CisJc3dpdGNoIChjKSB7CisJX0NfQ1RZUEVfUFVOQ1Q6CisJCXJldHVybiAxOworCWRlZmF1bHQ6CisJCXJldHVybiAwOworCX0KK30KKworc3RhdGljIGlubGluZSBpbnQgY19pc3NwYWNlIChpbnQgYykKK3sKKwlzd2l0Y2ggKGMpIHsKKwljYXNlICcgJzogY2FzZSAnXHQnOiBjYXNlICdcbic6IGNhc2UgJ1x2JzogY2FzZSAnXGYnOiBjYXNlICdccic6CisJCXJldHVybiAxOworCWRlZmF1bHQ6CisJCXJldHVybiAwOworCX0KK30KKworc3RhdGljIGlubGluZSBpbnQgY19pc3VwcGVyIChpbnQgYykKK3sKKwlzd2l0Y2ggKGMpIHsKKwlfQ19DVFlQRV9VUFBFUjoKKwkJcmV0dXJuIDE7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGludCBjX2lzeGRpZ2l0IChpbnQgYykKK3sKKwlzd2l0Y2ggKGMpIHsKKwlfQ19DVFlQRV9ESUdJVDoKKwlfQ19DVFlQRV9BX1RIUlVfRjoKKwkJcmV0dXJuIDE7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDA7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGludCBjX3RvbG93ZXIgKGludCBjKQoreworCXN3aXRjaCAoYykgeworCV9DX0NUWVBFX1VQUEVSOgorCQlyZXR1cm4gYyAtICdBJyArICdhJzsKKwlkZWZhdWx0OgorCQlyZXR1cm4gYzsKKwl9Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGNfdG91cHBlciAoaW50IGMpCit7CisJc3dpdGNoIChjKSB7CisJX0NfQ1RZUEVfTE9XRVI6CisJCXJldHVybiBjIC0gJ2EnICsgJ0EnOworCWRlZmF1bHQ6CisJCXJldHVybiBjOworCX0KK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfQ0NUWVBFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY2xvc2VzdHJlYW0uaCBiL2luY2x1ZGUvY2xvc2VzdHJlYW0uaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2IyNTdjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jbG9zZXN0cmVhbS5oCkBAIC0wLDAgKzEsNzMgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9DTE9TRVNUUkVBTV9ICisjZGVmaW5lIFVUSUxfTElOVVhfQ0xPU0VTVFJFQU1fSAorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpZmRlZiBIQVZFX1NURElPX0VYVF9ICisjaW5jbHVkZSA8c3RkaW9fZXh0Lmg+CisjZW5kaWYKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKworI2lmbmRlZiBDTE9TRV9FWElUX0NPREUKKyMgZGVmaW5lIENMT1NFX0VYSVRfQ09ERSBFWElUX0ZBSUxVUkUKKyNlbmRpZgorCitzdGF0aWMgaW5saW5lIGludAorY2xvc2Vfc3RyZWFtKEZJTEUgKiBzdHJlYW0pCit7CisjaWZkZWYgSEFWRV9fX0ZQRU5ESU5HCisJY29uc3QgaW50IHNvbWVfcGVuZGluZyA9IChfX2ZwZW5kaW5nKHN0cmVhbSkgIT0gMCk7CisjZW5kaWYKKwljb25zdCBpbnQgcHJldl9mYWlsID0gKGZlcnJvcihzdHJlYW0pICE9IDApOworCWNvbnN0IGludCBmY2xvc2VfZmFpbCA9IChmY2xvc2Uoc3RyZWFtKSAhPSAwKTsKKworCWlmIChwcmV2X2ZhaWwgfHwgKGZjbG9zZV9mYWlsICYmICgKKyNpZmRlZiBIQVZFX19fRlBFTkRJTkcKKwkJCQkJICBzb21lX3BlbmRpbmcgfHwKKyNlbmRpZgorCQkJCQkgIGVycm5vICE9IEVCQURGKSkpIHsKKwkJaWYgKCFmY2xvc2VfZmFpbCAmJiAhKGVycm5vID09IEVQSVBFKSkKKwkJCWVycm5vID0gMDsKKwkJcmV0dXJuIEVPRjsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIE1lYW50IHRvIGJlIHVzZWQgYXRleGl0KGNsb3NlX3N0ZG91dCk7ICovCitzdGF0aWMgaW5saW5lIHZvaWQKK2Nsb3NlX3N0ZG91dCh2b2lkKQoreworCWlmIChjbG9zZV9zdHJlYW0oc3Rkb3V0KSAhPSAwICYmICEoZXJybm8gPT0gRVBJUEUpKSB7CisJCWlmIChlcnJubykKKwkJCXdhcm4oXygid3JpdGUgZXJyb3IiKSk7CisJCWVsc2UKKwkJCXdhcm54KF8oIndyaXRlIGVycm9yIikpOworCQlfZXhpdChDTE9TRV9FWElUX0NPREUpOworCX0KKworCWlmIChjbG9zZV9zdHJlYW0oc3RkZXJyKSAhPSAwKQorCQlfZXhpdChDTE9TRV9FWElUX0NPREUpOworfQorCisjaWZuZGVmIEhBVkVfRlNZTkMKK3N0YXRpYyBpbmxpbmUgaW50Citmc3luYyhpbnQgZmQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKK3N0YXRpYyBpbmxpbmUgaW50CitjbG9zZV9mZChpbnQgZmQpCit7CisJY29uc3QgaW50IGZzeW5jX2ZhaWwgPSAoZnN5bmMoZmQpICE9IDApOworCWNvbnN0IGludCBjbG9zZV9mYWlsID0gKGNsb3NlKGZkKSAhPSAwKTsKKworCWlmIChmc3luY19mYWlsIHx8IGNsb3NlX2ZhaWwpCisJCXJldHVybiBFT0Y7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0NMT1NFU1RSRUFNX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvY29sb3ItbmFtZXMuaCBiL2luY2x1ZGUvY29sb3ItbmFtZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MmY2ZjhmCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9jb2xvci1uYW1lcy5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxNSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2lmbmRlZiBVVElMX0xJTlVYX0NPTE9SX05BTUVTX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9DT0xPUl9OQU1FU19ICisKKyNkZWZpbmUgVUxfQ09MT1JfUkVTRVQJCSJcMDMzWzBtIgorI2RlZmluZSBVTF9DT0xPUl9CT0xECQkiXDAzM1sxbSIKKyNkZWZpbmUgVUxfQ09MT1JfSEFMRkJSSUdIVAkiXDAzM1sybSIKKyNkZWZpbmUgVUxfQ09MT1JfVU5ERVJTQ09SRQkiXDAzM1s0bSIKKyNkZWZpbmUgVUxfQ09MT1JfQkxJTksJCSJcMDMzWzVtIgorI2RlZmluZSBVTF9DT0xPUl9SRVZFUlNFCSJcMDMzWzdtIgorCisvKiBTdGFuZGFyZCBjb2xvcnMgKi8KKyNkZWZpbmUgVUxfQ09MT1JfQkxBQ0sJCSJcMDMzWzMwbSIKKyNkZWZpbmUgVUxfQ09MT1JfUkVECQkiXDAzM1szMW0iCisjZGVmaW5lIFVMX0NPTE9SX0dSRUVOCQkiXDAzM1szMm0iCisjZGVmaW5lIFVMX0NPTE9SX0JST1dOCQkiXDAzM1szM20iCS8qIHdlbGwsIGJyb3duICovCisjZGVmaW5lIFVMX0NPTE9SX0JMVUUJCSJcMDMzWzM0bSIKKyNkZWZpbmUgVUxfQ09MT1JfTUFHRU5UQQkiXDAzM1szNW0iCisjZGVmaW5lIFVMX0NPTE9SX0NZQU4JCSJcMDMzWzM2bSIKKyNkZWZpbmUgVUxfQ09MT1JfR1JBWQkJIlwwMzNbMzdtIgorCisvKiBCb2xkIHZhcmlhbnRzICovCisjZGVmaW5lIFVMX0NPTE9SX0RBUktfR1JBWQkiXDAzM1sxOzMwbSIKKyNkZWZpbmUgVUxfQ09MT1JfQk9MRF9SRUQJIlwwMzNbMTszMW0iCisjZGVmaW5lIFVMX0NPTE9SX0JPTERfR1JFRU4JIlwwMzNbMTszMm0iCisjZGVmaW5lIFVMX0NPTE9SX0JPTERfWUVMTE9XCSJcMDMzWzE7MzNtIgorI2RlZmluZSBVTF9DT0xPUl9CT0xEX0JMVUUJIlwwMzNbMTszNG0iCisjZGVmaW5lIFVMX0NPTE9SX0JPTERfTUFHRU5UQQkiXDAzM1sxOzM1bSIKKyNkZWZpbmUgVUxfQ09MT1JfQk9MRF9DWUFOCSJcMDMzWzE7MzZtIgorCisjZGVmaW5lIFVMX0NPTE9SX1dISVRFCQkiXDAzM1sxOzM3bSIKKworCisvKiBtYXhpbWFsIGxlbmd0aCBvZiBodW1hbiByZWFkYWJsZSBuYW1lIG9mIEVTQyBzZXEuICovCisjZGVmaW5lIFVMX0NPTE9STkFNRV9NQVhTWgkzMgorCitleHRlcm4gY29uc3QgY2hhciAqY29sb3Jfc2VxdWVuY2VfZnJvbV9jb2xvcm5hbWUoY29uc3QgY2hhciAqc3RyKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfQ09MT1JfTkFNRVNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jb2xvcnMuaCBiL2luY2x1ZGUvY29sb3JzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzYzNmJlYgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY29sb3JzLmgKQEAgLTAsMCArMSw3MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2lmbmRlZiBVVElMX0xJTlVYX0NPTE9SU19ICisjZGVmaW5lIFVUSUxfTElOVVhfQ09MT1JTX0gKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjb2xvci1uYW1lcy5oIgorCisvKiAtLWNvbG9yWz1XSEVOXSAqLworZW51bSBjb2xvcnRtb2RlIHsKKwlVTF9DT0xPUk1PREVfQVVUTyA9IDAsCisJVUxfQ09MT1JNT0RFX05FVkVSLAorCVVMX0NPTE9STU9ERV9BTFdBWVMsCisJVUxfQ09MT1JNT0RFX1VOREVGLAorCisJX19VTF9OQ09MT1JNT0RFUwkvKiBsYXN0ICovCit9OworCisjaWZkZWYgVVNFX0NPTE9SU19CWV9ERUZBVUxUCisjIGRlZmluZSBVU0FHRV9DT0xPUlNfREVGQVVMVAlfKCJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIpCisjZWxzZQorIyBkZWZpbmUgVVNBR0VfQ09MT1JTX0RFRkFVTFQgICBfKCJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiKQorI2VuZGlmCisKK2V4dGVybiBpbnQgY29sb3Jtb2RlX2Zyb21fc3RyaW5nKGNvbnN0IGNoYXIgKnN0cik7CitleHRlcm4gaW50IGNvbG9ybW9kZV9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtc2cpOworCisvKiBJbml0aWFsaXplIHRoZSBnbG9iYWwgdmFyaWFibGUgVUxfQ09MT1JfVEVSTV9PSyAqLworZXh0ZXJuIGludCBjb2xvcnNfaW5pdChpbnQgbW9kZSwgY29uc3QgY2hhciAqdXRpbF9uYW1lKTsKKworLyogUmV0dXJucyAxIG9yIDAgKi8KK2V4dGVybiBpbnQgY29sb3JzX3dhbnRlZCh2b2lkKTsKKworLyogdGVtcG9yYXJ5IGVuYWJsZS9kaXNhYmxlIGNvbG9ycyAqLworZXh0ZXJuIHZvaWQgY29sb3JzX29mZih2b2lkKTsKK2V4dGVybiB2b2lkIGNvbG9yc19vbih2b2lkKTsKKworCisvKiBTZXQgdGhlIGNvbG9yICovCitleHRlcm4gdm9pZCBjb2xvcl9mZW5hYmxlKGNvbnN0IGNoYXIgKnNlcSwgRklMRSAqZik7CisKK2V4dGVybiB2b2lkIGNvbG9yX3NjaGVtZV9mZW5hYmxlKGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmRmbHQsIEZJTEUgKmYpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmNvbG9yX3NjaGVtZV9nZXRfc2VxdWVuY2UoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGZsdCk7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBjb2xvcl9lbmFibGUoY29uc3QgY2hhciAqc2VxKQoreworCWNvbG9yX2ZlbmFibGUoc2VxLCBzdGRvdXQpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgY29sb3Jfc2NoZW1lX2VuYWJsZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpkZmx0KQoreworCWNvbG9yX3NjaGVtZV9mZW5hYmxlKG5hbWUsIGRmbHQsIHN0ZG91dCk7Cit9CisKKy8qIFJlc2V0IGNvbG9ycyB0byBkZWZhdWx0ICovCitleHRlcm4gdm9pZCBjb2xvcl9mZGlzYWJsZShGSUxFICpmKTsKKworc3RhdGljIGlubGluZSB2b2lkIGNvbG9yX2Rpc2FibGUodm9pZCkKK3sKKwljb2xvcl9mZGlzYWJsZShzdGRvdXQpOworfQorCisjZW5kaWYgLyogVVRJTF9MSU5VWF9DT0xPUlNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jcHVzZXQuaCBiL2luY2x1ZGUvY3B1c2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE1MzFiZgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvY3B1c2V0LmgKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9DUFVTRVRfSAorI2RlZmluZSBVVElMX0xJTlVYX0NQVVNFVF9ICisKKyNpbmNsdWRlIDxzY2hlZC5oPgorCisvKgorICogRmFsbGJhY2sgZm9yIG9sZCBvciBvYnNjdXJlIGxpYmNzIHdpdGhvdXQgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGNwdXNldHMKKyAqCisgKiBUaGUgZm9sbG93aW5nIG1hY3JvcyBhcmUgYmFzZWQgb24gY29kZSBmcm9tIGdsaWJjLgorICoKKyAqIFRoZSBHTlUgQyBMaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworI2lmICFIQVZFX0RFQ0xfQ1BVX0FMTE9DCisKKyMgZGVmaW5lIENQVV9aRVJPX1Moc2V0c2l6ZSwgY3B1c2V0cCkgXAorICBkbyB7CQkJCQkJCQkJICAgICAgXAorICAgIHNpemVfdCBfX2k7CQkJCQkJCQkgICAgICBcCisgICAgc2l6ZV90IF9faW1heCA9IChzZXRzaXplKSAvIHNpemVvZiAoX19jcHVfbWFzayk7CQkJICAgICAgXAorICAgIF9fY3B1X21hc2sgKl9fYml0cyA9IChjcHVzZXRwKS0+X19iaXRzOwkJCQkgICAgICBcCisgICAgZm9yIChfX2kgPSAwOyBfX2kgPCBfX2ltYXg7ICsrX19pKQkJCQkJICAgICAgXAorICAgICAgX19iaXRzW19faV0gPSAwOwkJCQkJCQkgICAgICBcCisgIH0gd2hpbGUgKDApCisKKyMgZGVmaW5lIENQVV9TRVRfUyhjcHUsIHNldHNpemUsIGNwdXNldHApIFwKKyAgICh7IHNpemVfdCBfX2NwdSA9IChjcHUpOwkJCQkJCSAgICAgIFwKKyAgICAgIF9fY3B1IDwgOCAqIChzZXRzaXplKQkJCQkJCSAgICAgIFwKKyAgICAgID8gKCgoX19jcHVfbWFzayAqKSAoKGNwdXNldHApLT5fX2JpdHMpKVtfX0NQVUVMVCAoX19jcHUpXQkJICAgICAgXAorCSB8PSBfX0NQVU1BU0sgKF9fY3B1KSkJCQkJCQkgICAgICBcCisgICAgICA6IDA7IH0pCisKKyMgZGVmaW5lIENQVV9JU1NFVF9TKGNwdSwgc2V0c2l6ZSwgY3B1c2V0cCkgXAorICAgKHsgc2l6ZV90IF9fY3B1ID0gKGNwdSk7CQkJCQkJICAgICAgXAorICAgICAgX19jcHUgPCA4ICogKHNldHNpemUpCQkJCQkJICAgICAgXAorICAgICAgPyAoKCgoX19jcHVfbWFzayAqKSAoKGNwdXNldHApLT5fX2JpdHMpKVtfX0NQVUVMVCAoX19jcHUpXQkgICAgICBcCisJICAmIF9fQ1BVTUFTSyAoX19jcHUpKSkgIT0gMAkJCQkJICAgICAgXAorICAgICAgOiAwOyB9KQorCisjIGRlZmluZSBDUFVfRVFVQUxfUyhzZXRzaXplLCBjcHVzZXRwMSwgY3B1c2V0cDIpIFwKKyAgICh7IF9fY3B1X21hc2sgKl9fYXJyMSA9IChjcHVzZXRwMSktPl9fYml0czsJCQkJICAgICAgXAorICAgICAgX19jcHVfbWFzayAqX19hcnIyID0gKGNwdXNldHAyKS0+X19iaXRzOwkJCQkgICAgICBcCisgICAgICBzaXplX3QgX19pbWF4ID0gKHNldHNpemUpIC8gc2l6ZW9mIChfX2NwdV9tYXNrKTsJCQkgICAgICBcCisgICAgICBzaXplX3QgX19pOwkJCQkJCQkgICAgICBcCisgICAgICBmb3IgKF9faSA9IDA7IF9faSA8IF9faW1heDsgKytfX2kpCQkJCSAgICAgIFwKKwlpZiAoX19hcnIxW19faV0gIT0gX19hcnIyW19faV0pCQkJCQkgICAgICBcCisJICBicmVhazsJCQkJCQkJICAgICAgXAorICAgICAgX19pID09IF9faW1heDsgfSkKKworZXh0ZXJuIGludCBfX2NwdXNldF9jb3VudF9zKHNpemVfdCBzZXRzaXplLCBjb25zdCBjcHVfc2V0X3QgKnNldCk7CisjIGRlZmluZSBDUFVfQ09VTlRfUyhzZXRzaXplLCBjcHVzZXRwKQlfX2NwdXNldF9jb3VudF9zKHNldHNpemUsIGNwdXNldHApCisKKyMgZGVmaW5lIENQVV9BTExPQ19TSVpFKGNvdW50KSBcCisJICAoKCgoY291bnQpICsgX19OQ1BVQklUUyAtIDEpIC8gX19OQ1BVQklUUykgKiBzaXplb2YgKF9fY3B1X21hc2spKQorIyBkZWZpbmUgQ1BVX0FMTE9DKGNvdW50KQkobWFsbG9jKENQVV9BTExPQ19TSVpFKGNvdW50KSkpCisjIGRlZmluZSBDUFVfRlJFRShjcHVzZXQpCShmcmVlKGNwdXNldCkpCisKKyNlbmRpZiAvKiAhSEFWRV9ERUNMX0NQVV9BTExPQyAqLworCisKKyNkZWZpbmUgY3B1c2V0X25iaXRzKHNldHNpemUpCSg4ICogKHNldHNpemUpKQorCisvKgorICogVGhlIEBpZHggcGFyYW1ldGVyIHJldHVybnMgYW4gaW5kZXggb2YgdGhlIGZpcnN0IG1hc2sgZnJvbSBAYXJ5IGFycmF5IHdoZXJlCisgKiB0aGUgQGNwdSBpcyBzZXQuCisgKgorICogUmV0dXJuczogMCBpZiBmb3VuZCwgb3RoZXJ3aXNlIDEuCisgKi8KK3N0YXRpYyBpbmxpbmUgaW50IGNwdXNldF9hcnlfaXNzZXQoc2l6ZV90IGNwdSwgY3B1X3NldF90ICoqYXJ5LCBzaXplX3Qgbm1lbWIsCisJCQkJICAgc2l6ZV90IHNldHNpemUsIHNpemVfdCAqaWR4KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IG5tZW1iOyBpKyspIHsKKwkJaWYgKENQVV9JU1NFVF9TKGNwdSwgc2V0c2l6ZSwgYXJ5W2ldKSkgeworCQkJKmlkeCA9IGk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKwlyZXR1cm4gMTsKK30KKworZXh0ZXJuIGludCBnZXRfbWF4X251bWJlcl9vZl9jcHVzKHZvaWQpOworCitleHRlcm4gY3B1X3NldF90ICpjcHVzZXRfYWxsb2MoaW50IG5jcHVzLCBzaXplX3QgKnNldHNpemUsIHNpemVfdCAqbmJpdHMpOworZXh0ZXJuIHZvaWQgY3B1c2V0X2ZyZWUoY3B1X3NldF90ICpzZXQpOworCitleHRlcm4gY2hhciAqY3B1bGlzdF9jcmVhdGUoY2hhciAqc3RyLCBzaXplX3QgbGVuLCBjcHVfc2V0X3QgKnNldCwgc2l6ZV90IHNldHNpemUpOworZXh0ZXJuIGludCBjcHVsaXN0X3BhcnNlKGNvbnN0IGNoYXIgKnN0ciwgY3B1X3NldF90ICpzZXQsIHNpemVfdCBzZXRzaXplLCBpbnQgZmFpbCk7CisKK2V4dGVybiBjaGFyICpjcHVtYXNrX2NyZWF0ZShjaGFyICpzdHIsIHNpemVfdCBsZW4sIGNwdV9zZXRfdCAqc2V0LCBzaXplX3Qgc2V0c2l6ZSk7CitleHRlcm4gaW50IGNwdW1hc2tfcGFyc2UoY29uc3QgY2hhciAqc3RyLCBjcHVfc2V0X3QgKnNldCwgc2l6ZV90IHNldHNpemUpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9DUFVTRVRfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9jcmMzMi5oIGIvaW5jbHVkZS9jcmMzMi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI1NTFmNTAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NyYzMyLmgKQEAgLTAsMCArMSwxMiBAQAorI2lmbmRlZiBVTF9OR19DUkMzMl9ICisjZGVmaW5lIFVMX05HX0NSQzMyX0gKKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCitleHRlcm4gdWludDMyX3QgdWxfY3JjMzIodWludDMyX3Qgc2VlZCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuKTsKK2V4dGVybiB1aW50MzJfdCB1bF9jcmMzMl9leGNsdWRlX29mZnNldCh1aW50MzJfdCBzZWVkLCBjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4sCisJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBleGNsdWRlX29mZiwgc2l6ZV90IGV4Y2x1ZGVfbGVuKTsKKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvY3JjMzJjLmggYi9pbmNsdWRlL2NyYzMyYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjNTA4MzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2NyYzMyYy5oCkBAIC0wLDAgKzEsOSBAQAorI2lmbmRlZiBVTF9OR19DUkMzMkNfSAorI2RlZmluZSBVTF9OR19DUkMzMkNfSAorCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKK2V4dGVybiB1aW50MzJfdCBjcmMzMmModWludDMyX3QgY3JjLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBzaXplKTsKKworI2VuZGlmIC8qIFVMX05HX0NSQzMyQ19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2RlYnVnLmggYi9pbmNsdWRlL2RlYnVnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzljMjFkNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZGVidWcuaApAQCAtMCwwICsxLDE4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9ERUJVR19ICisjZGVmaW5lIFVUSUxfTElOVVhfREVCVUdfSAorCisKKy8qCisgKiB1dGlsLWxpbnV4IGRlYnVnIG1hY3JvcworICoKKyAqIFRoZSBkZWJ1ZyBzdHVmZiBpcyBiYXNlZCBvbiA8bmFtZT5fZGVidWdfbWFzayB0aGF0IGNvbnRyb2xzIHdoYXQgb3V0cHV0cyBpcworICogZXhwZWN0ZWQuIFRoZSBtYXNrIGlzIHVzdWFsbHkgaW5pdGlhbGl6ZWQgYnkgPE5BTUU+X0RFQlVHPSBlbnYudmFyaWFibGUKKyAqCisgKiBBZnRlciBzdWNjZXNzZnVsIGluaXRpYWxpemF0aW9uIHRoZSBmbGFnIDxQUkVGSVg+X0RFQlVHX0lOSVQgaXMgYWx3YXlzIHNldAorICogdG8gdGhlIG1hc2sgKHRoaXMgZmxhZyBpcyByZXF1aXJlZCkuIFRoZSA8UFJFRklYPiBpcyB1c3VhbGx5IGxpYnJhcnkgQVBJCisgKiBwcmVmaXggKGUuZy4gTU5UXykgb3IgcHJvZ3JhbSBuYW1lIChlLmcuIENGRElTS18pCisgKgorICogSW4gdGhlIGNvZGUgaXMgcG9zc2libGUgdG8gdXNlCisgKgorICoJREJHKEZPTywgdWxfZGVidWcoInRoaXMgaXMgb3V0cHV0IGZvciBmb28iKSk7CisgKgorICogd2hlcmUgZm9yIHRoZSBGT08gaGFzIHRvIGJlIGRlZmluZWQgPFBSRUZJWD5fREVCVUdfRk9PLgorICoKKyAqIEl0J3MgcG9zc2libGUgdG8gaW5pdGlhbGl6ZSB0aGUgbWFzayBieSBjb21tYSBkZWxpbWl0ZWQgc3RyaW5ncyB3aXRoCisgKiBzdWJzeXN0ZW0gbmFtZXMgKGUuZy4gIkxJQk1PVU5UX0RFQlVHPW9wdGlvbnMsdGFiIikuIEluIHRoaXMgY2FzZSBpcworICogbmVjZXNzYXJ5IHRvIGRlZmluZSBtYXNrIG5hbWVzIGFycmF5LiBUaGlzIGZ1bmN0aW9uYWxpdHkgaXMgb3B0aW9uYWwuCisgKgorICogSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgVUxfKiBtYWNyb3MgdG8gZGVmaW5lL2RlY2xhcmUvdXNlCisgKiB0aGUgZGVidWcgc3R1ZmYuCisgKgorICogU2VlIGRpc2stdXRpbHMvY2ZkaXNrLmM6IGNmZGlza19pbml0X2RlYnVnKCkgIGZvciBwcm9ncmFtcyBkZWJ1ZworICogIG9yIGxpYm1vdW50L3NyYy9pbml0LmM6IG1udF9pbml0X2RlYnVnKCkgICAgIGZvciBsaWJyYXJ5IGRlYnVnCisgKgorICovCisKKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworc3RydWN0IHVsX2RlYnVnX21hc2tuYW1lIHsKKwljb25zdCBjaGFyICpuYW1lOworCWludCBtYXNrOworCWNvbnN0IGNoYXIgKmhlbHA7Cit9OworI2RlZmluZSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVMge3sgTlVMTCwgMCwgTlVMTCB9fQorI2RlZmluZSBVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKG0pIHN0YXRpYyBjb25zdCBzdHJ1Y3QgdWxfZGVidWdfbWFza25hbWUgbSAjIyBfbWFza25hbWVzW10KKyNkZWZpbmUgVUxfREVCVUdfTUFTS05BTUVTKG0pCW0gIyMgX21hc2tuYW1lcworCisjZGVmaW5lIFVMX0RFQlVHX01BU0sobSkgICAgICAgICBtICMjIF9kZWJ1Z19tYXNrCisjZGVmaW5lIFVMX0RFQlVHX0RFRklORV9NQVNLKG0pICBpbnQgVUxfREVCVUdfTUFTSyhtKQorI2RlZmluZSBVTF9ERUJVR19ERUNMQVJFX01BU0sobSkgZXh0ZXJuIFVMX0RFQlVHX0RFRklORV9NQVNLKG0pCisKKy8qCisgKiBJbnRlcm5hbCBtYXNrIGZsYWdzIChhYm92ZSAweGZmZmZmZikKKyAqLworI2RlZmluZSBfX1VMX0RFQlVHX0ZMX05PQUREUgkoMSA8PCAyNCkJLyogRG9uJ3QgcHJpbnQgb2JqZWN0IGFkZHJlc3MgKi8KKworCisvKiBsIC0gbGlicmFyeSBuYW1lLCBwIC0gZmxhZyBwcmVmaXgsIG0gLSBmbGFnIHBvc3RmaXgsIHggLSBmdW5jdGlvbiAqLworI2RlZmluZSBfX1VMX0RCRyhsLCBwLCBtLCB4KSBcCisJZG8geyBcCisJCWlmICgocCAjIyBtKSAmIGwgIyMgX2RlYnVnX21hc2spIHsgXAorCQkJZnByaW50ZihzdGRlcnIsICIlZDogJXM6ICU4czogIiwgZ2V0cGlkKCksICMgbCwgIyBtKTsgXAorCQkJeDsgXAorCQl9IFwKKwl9IHdoaWxlICgwKQorCisjZGVmaW5lIF9fVUxfREJHX0NBTEwobCwgcCwgbSwgeCkgXAorCWRvIHsgXAorCQlpZiAoKHAgIyMgbSkgJiBsICMjIF9kZWJ1Z19tYXNrKSB7IFwKKwkJCXg7IFwKKwkJfSBcCisJfSB3aGlsZSAoMCkKKworI2RlZmluZSBfX1VMX0RCR19GTFVTSChsLCBwKSBcCisJZG8geyBcCisJCWlmIChsICMjIF9kZWJ1Z19tYXNrICYmIFwKKwkJICAgIGwgIyMgX2RlYnVnX21hc2sgIT0gcCAjIyBJTklUKSB7IFwKKwkJCWZmbHVzaChzdGRlcnIpOyBcCisJCX0gXAorCX0gd2hpbGUgKDApCisKKyNkZWZpbmUgX19VTF9JTklUX0RFQlVHX0ZST01fU1RSSU5HKGxpYiwgcHJlZiwgbWFzaywgc3RyKSBcCisJZG8geyBcCisJCWlmIChsaWIgIyMgX2RlYnVnX21hc2sgJiBwcmVmICMjIElOSVQpIFwKKwkJOyBcCisJCWVsc2UgaWYgKCFtYXNrICYmIHN0cikgeyBcCisJCQlsaWIgIyMgX2RlYnVnX21hc2sgPSB1bF9kZWJ1Z19wYXJzZV9tYXNrKGxpYiAjIyBfbWFza25hbWVzLCBzdHIpOyBcCisJCX0gZWxzZSBcCisJCQlsaWIgIyMgX2RlYnVnX21hc2sgPSBtYXNrOyBcCisJCWlmIChsaWIgIyMgX2RlYnVnX21hc2spIHsgXAorCQkJaWYgKGdldHVpZCgpICE9IGdldGV1aWQoKSB8fCBnZXRnaWQoKSAhPSBnZXRlZ2lkKCkpIHsgXAorCQkJCWxpYiAjIyBfZGVidWdfbWFzayB8PSBfX1VMX0RFQlVHX0ZMX05PQUREUjsgXAorCQkJCWZwcmludGYoc3RkZXJyLCAiJWQ6ICVzOiBkb24ndCBwcmludCBtZW1vcnkgYWRkcmVzc2VzIChTVUlEIGV4ZWN1dGFibGUpLlxuIiwgZ2V0cGlkKCksICMgbGliKTsgXAorCQkJfSBcCisJCX0gXAorCQlsaWIgIyMgX2RlYnVnX21hc2sgfD0gcHJlZiAjIyBJTklUOyBcCisJfSB3aGlsZSAoMCkKKworCisjZGVmaW5lIF9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVihsaWIsIHByZWYsIG1hc2ssIGVudikgXAorCWRvIHsgXAorCQljb25zdCBjaGFyICplbnZzdHIgPSBtYXNrID8gTlVMTCA6IGdldGVudigjIGVudik7IFwKKwkJX19VTF9JTklUX0RFQlVHX0ZST01fU1RSSU5HKGxpYiwgcHJlZiwgbWFzaywgZW52c3RyKTsgXAorCX0gd2hpbGUgKDApCisKKworCitzdGF0aWMgaW5saW5lIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDEsIDIpKSkKK3VsX2RlYnVnKGNvbnN0IGNoYXIgKm1lc2csIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXZhX3N0YXJ0KGFwLCBtZXNnKTsKKwl2ZnByaW50ZihzdGRlcnIsIG1lc2csIGFwKTsKKwl2YV9lbmQoYXApOworCWZwdXRjKCdcbicsIHN0ZGVycik7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHVsX2RlYnVnX3BhcnNlX21hc2soCisJCQljb25zdCBzdHJ1Y3QgdWxfZGVidWdfbWFza25hbWUgZmxhZ25hbWVzW10sCisJCQljb25zdCBjaGFyICptYXNrKQoreworCWludCByZXM7CisJY2hhciAqcHRyOworCisJLyogbGV0J3MgY2hlY2sgZm9yIGEgbnVtZXJpYyBtYXNrIGZpcnN0ICovCisJcmVzID0gc3RydG91bChtYXNrLCAmcHRyLCAwKTsKKworCS8qIHBlcmhhcHMgaXQncyBhIGNvbW1hLXNlcGFyYXRlZCBzdHJpbmc/ICovCisJaWYgKHB0ciAmJiAqcHRyICYmIGZsYWduYW1lcyAmJiBmbGFnbmFtZXNbMF0ubmFtZSkgeworCQljaGFyICptc2J1ZiwgKm1zLCAqbmFtZTsKKwkJcmVzID0gMDsKKworCQltcyA9IG1zYnVmID0gc3RyZHVwKG1hc2spOworCQlpZiAoIW1zKQorCQkJcmV0dXJuIHJlczsKKworCQl3aGlsZSAoKG5hbWUgPSBzdHJ0b2tfcihtcywgIiwiLCAmcHRyKSkpIHsKKwkJCWNvbnN0IHN0cnVjdCB1bF9kZWJ1Z19tYXNrbmFtZSAqZDsKKwkJCW1zID0gcHRyOworCisJCQlmb3IgKGQgPSBmbGFnbmFtZXM7IGQgJiYgZC0+bmFtZTsgZCsrKSB7CisJCQkJaWYgKHN0cmNtcChuYW1lLCBkLT5uYW1lKSA9PSAwKSB7CisJCQkJCXJlcyB8PSBkLT5tYXNrOworCQkJCQlicmVhazsKKwkJCQl9CisJCQl9CisJCQkvKiBub3RoaW5nIGVsc2Ugd2UgY2FuIGRvIGJ5IE9SLWluZyB0aGUgbWFzayAqLworCQkJaWYgKHJlcyA9PSAweGZmZmYpCisJCQkJYnJlYWs7CisJCX0KKwkJZnJlZShtc2J1Zik7CisJfSBlbHNlIGlmIChwdHIgJiYgc3RyY21wKHB0ciwgImFsbCIpID09IDApCisJCXJlcyA9IDB4ZmZmZjsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCB1bF9kZWJ1Z19wcmludF9tYXNrcygKKwkJCWNvbnN0IGNoYXIgKmVudiwKKwkJCWNvbnN0IHN0cnVjdCB1bF9kZWJ1Z19tYXNrbmFtZSBmbGFnbmFtZXNbXSkKK3sKKwljb25zdCBzdHJ1Y3QgdWxfZGVidWdfbWFza25hbWUgKmQ7CisKKwlpZiAoIWZsYWduYW1lcykKKwkJcmV0dXJuOworCisJZnByaW50ZihzdGRlcnIsICJBdmFpbGFibGUgXCIlcz08bmFtZT5bLC4uLl18PG1hc2s+XCIgZGVidWcgbWFza3M6XG4iLAorCQkJZW52KTsKKwlmb3IgKGQgPSBmbGFnbmFtZXM7IGQgJiYgZC0+bmFtZTsgZCsrKSB7CisJCWlmICghZC0+aGVscCkKKwkJCWNvbnRpbnVlOworCQlmcHJpbnRmKHN0ZGVyciwgIiAgICUtOHMgWzB4JTA0eF0gOiAlc1xuIiwKKwkJCQlkLT5uYW1lLCBkLT5tYXNrLCBkLT5oZWxwKTsKKwl9Cit9CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0RFQlVHX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZGVidWdvYmouaCBiL2luY2x1ZGUvZGVidWdvYmouaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2I3MGI4Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9kZWJ1Z29iai5oCkBAIC0wLDAgKzEsMjIgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9ERUJVR09CSl9ICisjZGVmaW5lIFVUSUxfTElOVVhfREVCVUdPQkpfSAorCisvKgorICogSW5jbHVkZSAqYWZ0ZXIqIGRlYnVnLmggYW5kIGFmdGVyIFVMX0RFQlVHX0NVUlJFTlRfTUFTSyBkZWZpbmUuCisgKi8KKworc3RhdGljIGlubGluZSB2b2lkIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpCit1bF9kZWJ1Z29iaihjb25zdCB2b2lkICpoYW5kbGVyLCBjb25zdCBjaGFyICptZXNnLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKworCWlmIChoYW5kbGVyICYmICEoVUxfREVCVUdfQ1VSUkVOVF9NQVNLICYgX19VTF9ERUJVR19GTF9OT0FERFIpKQorCQlmcHJpbnRmKHN0ZGVyciwgIlslcF06ICIsIGhhbmRsZXIpOworCisJdmFfc3RhcnQoYXAsIG1lc2cpOworCXZmcHJpbnRmKHN0ZGVyciwgbWVzZywgYXApOworCXZhX2VuZChhcCk7CisJZnB1dGMoJ1xuJywgc3RkZXJyKTsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfREVCVUdPQkpfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9lbnYuaCBiL2luY2x1ZGUvZW52LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI2Zjk1OQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZW52LmgKQEAgLTAsMCArMSwyMiBAQAorI2lmbmRlZiBVVElMX0xJTlVYX0VOVl9ICisjZGVmaW5lIFVUSUxfTElOVVhfRU5WX0gKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKworZXh0ZXJuIHZvaWQgc2FuaXRpemVfZW52KHZvaWQpOworZXh0ZXJuIGNoYXIgKnNhZmVfZ2V0ZW52KGNvbnN0IGNoYXIgKmFyZyk7CisKKworI2lmbmRlZiBYU0VURU5WX0VYSVRfQ09ERQorIyBkZWZpbmUgWFNFVEVOVl9FWElUX0NPREUgRVhJVF9GQUlMVVJFCisjZW5kaWYKKworc3RhdGljIGlubGluZSB2b2lkIHhzZXRlbnYoY2hhciBjb25zdCAqbmFtZSwgY2hhciBjb25zdCAqdmFsLCBpbnQgb3ZlcndyaXRlKQoreworCWlmIChzZXRlbnYobmFtZSwgdmFsLCBvdmVyd3JpdGUpICE9IDApCisJCWVycihYU0VURU5WX0VYSVRfQ09ERSwgXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgbmFtZSk7Cit9CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0VOVl9IICovCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhlY19zaGVsbC5oIGIvaW5jbHVkZS9leGVjX3NoZWxsLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRhYTA4OQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvZXhlY19zaGVsbC5oCkBAIC0wLDAgKzEsNiBAQAorI2lmbmRlZiBVVElMX0xJTlVYX0VYRUNfU0hFTExfSAorI2RlZmluZSBVVElMX0xJTlVYX0VYRUNfU0hFTExfSAorCitleHRlcm4gdm9pZCBleGVjX3NoZWxsKHZvaWQpIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9FWEVDX1NIRUxMX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZXhpdGNvZGVzLmggYi9pbmNsdWRlL2V4aXRjb2Rlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyOGY2OGUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2V4aXRjb2Rlcy5oCkBAIC0wLDAgKzEsMjUgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9FWElUQ09ERVNfSAorI2RlZmluZSBVVElMX0xJTlVYX0VYSVRDT0RFU19ICisvKgorICogQkUgQ0FSRUZVTAorICoKKyAqIFRoZXNlIGV4aXQgY29kZXMgYXJlIHBhcnQgb2YgdGhlIG9mZmljaWFsIGludGVyZmFjZSBmb3IgbW91bnQsCisgKiBmc2NrLCBta2ZzLCBldGMuIHdyYXBwZXJzLgorICovCisKKy8qIEV4aXQgY29kZXMgdXNlZCBieSBta2ZzLXR5cGUgcHJvZ3JhbXMgKi8KKyNkZWZpbmUgTUtGU19FWF9PSwkwCS8qIE5vIGVycm9ycyAqLworI2RlZmluZSBNS0ZTX0VYX0VSUk9SCTgJLyogT3BlcmF0aW9uYWwgZXJyb3IgKi8KKyNkZWZpbmUgTUtGU19FWF9VU0FHRQkxNgkvKiBVc2FnZSBvciBzeW50YXggZXJyb3IgKi8KKworLyogRXhpdCBjb2RlcyB1c2VkIGJ5IGZzY2stdHlwZSBwcm9ncmFtcyAqLworI2RlZmluZSBGU0NLX0VYX09LCQkwCS8qIE5vIGVycm9ycyAqLworI2RlZmluZSBGU0NLX0VYX05PTkRFU1RSVUNUCTEJLyogRmlsZSBzeXN0ZW0gZXJyb3JzIGNvcnJlY3RlZCAqLworI2RlZmluZSBGU0NLX0VYX1JFQk9PVAkJMgkvKiBTeXN0ZW0gc2hvdWxkIGJlIHJlYm9vdGVkICovCisjZGVmaW5lIEZTQ0tfRVhfREVTVFJVQ1QJRlNDS19FWF9SRUJPT1QJLyogQWxpYXMgKi8KKyNkZWZpbmUgRlNDS19FWF9VTkNPUlJFQ1RFRAk0CS8qIEZpbGUgc3lzdGVtIGVycm9ycyBsZWZ0IHVuY29ycmVjdGVkICovCisjZGVmaW5lIEZTQ0tfRVhfRVJST1IJCTgJLyogT3BlcmF0aW9uYWwgZXJyb3IgKi8KKyNkZWZpbmUgRlNDS19FWF9VU0FHRQkJMTYJLyogVXNhZ2Ugb3Igc3ludGF4IGVycm9yICovCisjZGVmaW5lIEZTQ0tfRVhfTElCUkFSWQkJMTI4CS8qIFNoYXJlZCBsaWJyYXJ5IGVycm9yICovCisKKyNlbmRpZgkvKiBVVElMX0xJTlVYX0VYSVRDT0RFU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2ZpbGV1dGlscy5oIGIvaW5jbHVkZS9maWxldXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTdlNjYyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9maWxldXRpbHMuaApAQCAtMCwwICsxLDYwIEBACisjaWZuZGVmIFVUSUxfTElOVVhfRklMRVVUSUxTCisjZGVmaW5lIFVUSUxfTElOVVhfRklMRVVUSUxTCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKworI2luY2x1ZGUgImMuaCIKKworZXh0ZXJuIGludCBta3N0ZW1wX2Nsb2V4ZWMoY2hhciAqdGVtcGxhdGUpOworCitleHRlcm4gaW50IHhta3N0ZW1wKGNoYXIgKip0bXBuYW1lLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnByZWZpeCk7CisKK3N0YXRpYyBpbmxpbmUgRklMRSAqeGZta3N0ZW1wKGNoYXIgKip0bXBuYW1lLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwlpbnQgZmQ7CisJRklMRSAqcmV0OworCisJZmQgPSB4bWtzdGVtcCh0bXBuYW1lLCBkaXIsIHByZWZpeCk7CisJaWYgKGZkID09IC0xKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghKHJldCA9IGZkb3BlbihmZCwgIncrIiBVTF9DTE9FWEVDU1RSKSkpIHsKKwkJY2xvc2UoZmQpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIHJldDsKK30KKworI2lmZGVmIEhBVkVfT1BFTkFUCitzdGF0aWMgaW5saW5lIEZJTEUgKmZvcGVuX2F0KGludCBkaXIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKm1vZGUpCit7CisJaW50IGZkID0gb3BlbmF0KGRpciwgZmlsZW5hbWUsIGZsYWdzKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBmZG9wZW4oZmQsIG1vZGUpOworfQorI2VuZGlmCisKK3N0YXRpYyBpbmxpbmUgaW50IGlzX3NhbWVfaW5vZGUoY29uc3QgaW50IGZkLCBjb25zdCBzdHJ1Y3Qgc3RhdCAqc3QpCit7CisJc3RydWN0IHN0YXQgZjsKKworCWlmIChmc3RhdChmZCwgJmYpIDwgMCkKKwkJcmV0dXJuIDA7CisJZWxzZSBpZiAoZi5zdF9kZXYgIT0gc3QtPnN0X2RldiB8fCBmLnN0X2lubyAhPSBzdC0+c3RfaW5vKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworZXh0ZXJuIGludCBkdXBfZmRfY2xvZXhlYyhpbnQgb2xkZmQsIGludCBsb3dmZCk7CitleHRlcm4gaW50IGdldF9mZF90YWJzaXplKHZvaWQpOworCitleHRlcm4gaW50IG1rZGlyX3AoY29uc3QgY2hhciAqcGF0aCwgbW9kZV90IG1vZGUpOworZXh0ZXJuIGNoYXIgKnN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGNoYXIgKnBhdGgpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9GSUxFVVRJTFMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvaWRjYWNoZS5oIGIvaW5jbHVkZS9pZGNhY2hlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTEyZWRkNQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvaWRjYWNoZS5oCkBAIC0wLDAgKzEsMjggQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9JRENBQ0hFX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9JRENBQ0hFX0gKKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHB3ZC5oPgorCisjZGVmaW5lIElEQ0FDSEVfRkxBR1NfTkFNRUxFTgkoMSA8PCAxKQorCitzdHJ1Y3QgaWRlbnRyeSB7CisJdW5zaWduZWQgbG9uZyBpbnQJaWQ7CisJY2hhcgkJCSpuYW1lOworCXN0cnVjdCBpZGVudHJ5CQkqbmV4dDsKK307CisKK3N0cnVjdCBpZGNhY2hlIHsKKwlzdHJ1Y3QgaWRlbnRyeQkqZW50OwkvKiBmaXJzdCBlbnRyeSAqLworCWludAkJd2lkdGg7CS8qIG5hbWUgd2lkdGggKi8KK307CisKKworZXh0ZXJuIHN0cnVjdCBpZGNhY2hlICpuZXdfaWRjYWNoZSh2b2lkKTsKK2V4dGVybiB2b2lkIGFkZF9naWQoc3RydWN0IGlkY2FjaGUgKmNhY2hlLCB1bnNpZ25lZCBsb25nIGludCBpZCk7CitleHRlcm4gdm9pZCBhZGRfdWlkKHN0cnVjdCBpZGNhY2hlICpjYWNoZSwgdW5zaWduZWQgbG9uZyBpbnQgaWQpOworCitleHRlcm4gdm9pZCBmcmVlX2lkY2FjaGUoc3RydWN0IGlkY2FjaGUgKmljKTsKK2V4dGVybiBzdHJ1Y3QgaWRlbnRyeSAqZ2V0X2lkKHN0cnVjdCBpZGNhY2hlICppYywgdW5zaWduZWQgbG9uZyBpbnQgaWQpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9JRENBQ0hFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvaXNtb3VudGVkLmggYi9pbmNsdWRlL2lzbW91bnRlZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU3OTE4Y2IKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2lzbW91bnRlZC5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgSVNfTU9VTlRFRF9ICisjZGVmaW5lIElTX01PVU5URURfSAorCisjZGVmaW5lIE1GX01PVU5URUQJMQorI2RlZmluZSBNRl9JU1JPT1QJMgorI2RlZmluZSBNRl9SRUFET05MWQk0CisjZGVmaW5lIE1GX1NXQVAJCTgKKyNkZWZpbmUgTUZfQlVTWQkJMTYKKworZXh0ZXJuIGludCBpc19tb3VudGVkKGNvbnN0IGNoYXIgKmZpbGUpOworZXh0ZXJuIGludCBjaGVja19tb3VudF9wb2ludChjb25zdCBjaGFyICpkZXZpY2UsIGludCAqbW91bnRfZmxhZ3MsCisJCQkJIGNoYXIgKm10cHQsIGludCBtdGxlbik7CisKKyNlbmRpZiAvKiBJU19NT1VOVEVEX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXhfdmVyc2lvbi5oIGIvaW5jbHVkZS9saW51eF92ZXJzaW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTZhMWU5OQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbGludXhfdmVyc2lvbi5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgTElOVVhfVkVSU0lPTl9ICisjZGVmaW5lIExJTlVYX1ZFUlNJT05fSAorCisjaWZkZWYgSEFWRV9MSU5VWF9WRVJTSU9OX0gKKyMgaW5jbHVkZSA8bGludXgvdmVyc2lvbi5oPgorI2VuZGlmCisKKyNpZm5kZWYgS0VSTkVMX1ZFUlNJT04KKyMgZGVmaW5lIEtFUk5FTF9WRVJTSU9OKGEsYixjKSAoKChhKSA8PCAxNikgKyAoKGIpIDw8IDgpICsgKGMpKQorI2VuZGlmCisKK2ludCBnZXRfbGludXhfdmVyc2lvbih2b2lkKTsKKworI2VuZGlmIC8qIExJTlVYX1ZFUlNJT05fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9saXN0LmggYi9pbmNsdWRlL2xpc3QuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2ZmYzc5Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9saXN0LmgKQEAgLTAsMCArMSwzNDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDE5OTktMjAwOCBieSBUaGVvZG9yZSBUcydvCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiAoYmFzZWQgb24gbGlzdC5oIGZyb20gZTJmc3Byb2dzKQorICogTWVyZ2Ugc29ydCBiYXNlZCBvbiBrZXJuZWwncyBpbXBsZW1lbnRhdGlvbi4KKyAqLworCisjaWZuZGVmIFVUSUxfTElOVVhfTElTVF9ICisjZGVmaW5lIFVUSUxfTElOVVhfTElTVF9ICisKKyNpbmNsdWRlICJjLmgiCisKKy8qIFRPRE86IHVzZSBBQ19DX0lOTElORSAqLworI2lmZGVmIF9fR05VQ19fCisjZGVmaW5lIF9JTkxJTkVfIHN0YXRpYyBfX2lubGluZV9fCisjZWxzZSAgICAgICAgICAgICAgICAgICAgICAgICAvKiBGb3IgV2F0Y29tIEMgKi8KKyNkZWZpbmUgX0lOTElORV8gc3RhdGljIGlubGluZQorI2VuZGlmCisKKy8qCisgKiBTaW1wbGUgZG91Ymx5IGxpbmtlZCBsaXN0IGltcGxlbWVudGF0aW9uLgorICoKKyAqIFNvbWUgb2YgdGhlIGludGVybmFsIGZ1bmN0aW9ucyAoIl9feHh4IikgYXJlIHVzZWZ1bCB3aGVuCisgKiBtYW5pcHVsYXRpbmcgd2hvbGUgbGlzdHMgcmF0aGVyIHRoYW4gc2luZ2xlIGVudHJpZXMsIGFzCisgKiBzb21ldGltZXMgd2UgYWxyZWFkeSBrbm93IHRoZSBuZXh0L3ByZXYgZW50cmllcyBhbmQgd2UgY2FuCisgKiBnZW5lcmF0ZSBiZXR0ZXIgY29kZSBieSB1c2luZyB0aGVtIGRpcmVjdGx5IHJhdGhlciB0aGFuCisgKiB1c2luZyB0aGUgZ2VuZXJpYyBzaW5nbGUtZW50cnkgcm91dGluZXMuCisgKi8KKworc3RydWN0IGxpc3RfaGVhZCB7CisJc3RydWN0IGxpc3RfaGVhZCAqbmV4dCwgKnByZXY7Cit9OworCisjZGVmaW5lIElOSVRfTElTVF9IRUFEKHB0cikgZG8geyBcCisJKHB0ciktPm5leHQgPSAocHRyKTsgKHB0ciktPnByZXYgPSAocHRyKTsgXAorfSB3aGlsZSAoMCkKKworLyoKKyAqIEluc2VydCBhIG5ldyBlbnRyeSBiZXR3ZWVuIHR3byBrbm93biBjb25zZWN1dGl2ZSBlbnRyaWVzLgorICoKKyAqIFRoaXMgaXMgb25seSBmb3IgaW50ZXJuYWwgbGlzdCBtYW5pcHVsYXRpb24gd2hlcmUgd2Uga25vdworICogdGhlIHByZXYvbmV4dCBlbnRyaWVzIGFscmVhZHkhCisgKi8KK19JTkxJTkVfIHZvaWQgX19saXN0X2FkZChzdHJ1Y3QgbGlzdF9oZWFkICogYWRkLAorCXN0cnVjdCBsaXN0X2hlYWQgKiBwcmV2LAorCXN0cnVjdCBsaXN0X2hlYWQgKiBuZXh0KQoreworCW5leHQtPnByZXYgPSBhZGQ7CisJYWRkLT5uZXh0ID0gbmV4dDsKKwlhZGQtPnByZXYgPSBwcmV2OworCXByZXYtPm5leHQgPSBhZGQ7Cit9CisKKy8qKgorICogbGlzdF9hZGQgLSBhZGQgYSBuZXcgZW50cnkKKyAqIEBhZGQ6CW5ldyBlbnRyeSB0byBiZSBhZGRlZAorICogQGhlYWQ6CWxpc3QgaGVhZCB0byBhZGQgaXQgYWZ0ZXIKKyAqCisgKiBJbnNlcnQgYSBuZXcgZW50cnkgYWZ0ZXIgdGhlIHNwZWNpZmllZCBoZWFkLgorICogVGhpcyBpcyBnb29kIGZvciBpbXBsZW1lbnRpbmcgc3RhY2tzLgorICovCitfSU5MSU5FXyB2b2lkIGxpc3RfYWRkKHN0cnVjdCBsaXN0X2hlYWQgKmFkZCwgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKK3sKKwlfX2xpc3RfYWRkKGFkZCwgaGVhZCwgaGVhZC0+bmV4dCk7Cit9CisKKy8qKgorICogbGlzdF9hZGRfdGFpbCAtIGFkZCBhIG5ldyBlbnRyeQorICogQGFkZDoJbmV3IGVudHJ5IHRvIGJlIGFkZGVkCisgKiBAaGVhZDoJbGlzdCBoZWFkIHRvIGFkZCBpdCBiZWZvcmUKKyAqCisgKiBJbnNlcnQgYSBuZXcgZW50cnkgYmVmb3JlIHRoZSBzcGVjaWZpZWQgaGVhZC4KKyAqIFRoaXMgaXMgdXNlZnVsIGZvciBpbXBsZW1lbnRpbmcgcXVldWVzLgorICovCitfSU5MSU5FXyB2b2lkIGxpc3RfYWRkX3RhaWwoc3RydWN0IGxpc3RfaGVhZCAqYWRkLCBzdHJ1Y3QgbGlzdF9oZWFkICpoZWFkKQoreworCV9fbGlzdF9hZGQoYWRkLCBoZWFkLT5wcmV2LCBoZWFkKTsKK30KKworLyoKKyAqIERlbGV0ZSBhIGxpc3QgZW50cnkgYnkgbWFraW5nIHRoZSBwcmV2L25leHQgZW50cmllcworICogcG9pbnQgdG8gZWFjaCBvdGhlci4KKyAqCisgKiBUaGlzIGlzIG9ubHkgZm9yIGludGVybmFsIGxpc3QgbWFuaXB1bGF0aW9uIHdoZXJlIHdlIGtub3cKKyAqIHRoZSBwcmV2L25leHQgZW50cmllcyBhbHJlYWR5IQorICovCitfSU5MSU5FXyB2b2lkIF9fbGlzdF9kZWwoc3RydWN0IGxpc3RfaGVhZCAqIHByZXYsCisJCQkJICBzdHJ1Y3QgbGlzdF9oZWFkICogbmV4dCkKK3sKKwluZXh0LT5wcmV2ID0gcHJldjsKKwlwcmV2LT5uZXh0ID0gbmV4dDsKK30KKworLyoqCisgKiBsaXN0X2RlbCAtIGRlbGV0ZXMgZW50cnkgZnJvbSBsaXN0LgorICogQGVudHJ5Ogl0aGUgZWxlbWVudCB0byBkZWxldGUgZnJvbSB0aGUgbGlzdC4KKyAqCisgKiBsaXN0X2VtcHR5KCkgb24gQGVudHJ5IGRvZXMgbm90IHJldHVybiB0cnVlIGFmdGVyIHRoaXMsIEBlbnRyeSBpcworICogaW4gYW4gdW5kZWZpbmVkIHN0YXRlLgorICovCitfSU5MSU5FXyB2b2lkIGxpc3RfZGVsKHN0cnVjdCBsaXN0X2hlYWQgKmVudHJ5KQoreworCV9fbGlzdF9kZWwoZW50cnktPnByZXYsIGVudHJ5LT5uZXh0KTsKK30KKworLyoqCisgKiBsaXN0X2RlbF9pbml0IC0gZGVsZXRlcyBlbnRyeSBmcm9tIGxpc3QgYW5kIHJlaW5pdGlhbGl6ZSBpdC4KKyAqIEBlbnRyeToJdGhlIGVsZW1lbnQgdG8gZGVsZXRlIGZyb20gdGhlIGxpc3QuCisgKi8KK19JTkxJTkVfIHZvaWQgbGlzdF9kZWxfaW5pdChzdHJ1Y3QgbGlzdF9oZWFkICplbnRyeSkKK3sKKwlfX2xpc3RfZGVsKGVudHJ5LT5wcmV2LCBlbnRyeS0+bmV4dCk7CisJSU5JVF9MSVNUX0hFQUQoZW50cnkpOworfQorCisvKioKKyAqIGxpc3RfZW1wdHkgLSB0ZXN0cyB3aGV0aGVyIGEgbGlzdCBpcyBlbXB0eQorICogQGhlYWQ6CXRoZSBsaXN0IHRvIHRlc3QuCisgKi8KK19JTkxJTkVfIGludCBsaXN0X2VtcHR5KHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJcmV0dXJuIGhlYWQtPm5leHQgPT0gaGVhZDsKK30KKworLyoqCisgKiBsaXN0X2VudHJ5X2lzX2xhc3QgLSB0ZXN0cyB3aGV0aGVyIGlzIGVudHJ5IGxhc3QgaW4gdGhlIGxpc3QKKyAqIEBlbnRyeToJdGhlIGVudHJ5IHRvIHRlc3QuCisgKiBAaGVhZDoJdGhlIGxpc3QgdG8gdGVzdC4KKyAqLworX0lOTElORV8gaW50IGxpc3RfZW50cnlfaXNfbGFzdChzdHJ1Y3QgbGlzdF9oZWFkICplbnRyeSwgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCkKK3sKKwlyZXR1cm4gaGVhZC0+cHJldiA9PSBlbnRyeTsKK30KKworLyoqCisgKiBsaXN0X3NwbGljZSAtIGpvaW4gdHdvIGxpc3RzCisgKiBAbGlzdDoJdGhlIG5ldyBsaXN0IHRvIGFkZC4KKyAqIEBoZWFkOgl0aGUgcGxhY2UgdG8gYWRkIGl0IGluIHRoZSBmaXJzdCBsaXN0LgorICovCitfSU5MSU5FXyB2b2lkIGxpc3Rfc3BsaWNlKHN0cnVjdCBsaXN0X2hlYWQgKmxpc3QsIHN0cnVjdCBsaXN0X2hlYWQgKmhlYWQpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqZmlyc3QgPSBsaXN0LT5uZXh0OworCisJaWYgKGZpcnN0ICE9IGxpc3QpIHsKKwkJc3RydWN0IGxpc3RfaGVhZCAqbGFzdCA9IGxpc3QtPnByZXY7CisJCXN0cnVjdCBsaXN0X2hlYWQgKmF0ID0gaGVhZC0+bmV4dDsKKworCQlmaXJzdC0+cHJldiA9IGhlYWQ7CisJCWhlYWQtPm5leHQgPSBmaXJzdDsKKworCQlsYXN0LT5uZXh0ID0gYXQ7CisJCWF0LT5wcmV2ID0gbGFzdDsKKwl9Cit9CisKKy8qKgorICogbGlzdF9lbnRyeSAtIGdldCB0aGUgc3RydWN0IGZvciB0aGlzIGVudHJ5CisgKiBAcHRyOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgcG9pbnRlci4KKyAqIEB0eXBlOgl0aGUgdHlwZSBvZiB0aGUgc3RydWN0IHRoaXMgaXMgZW1iZWRkZWQgaW4uCisgKiBAbWVtYmVyOgl0aGUgbmFtZSBvZiB0aGUgbGlzdF9zdHJ1Y3Qgd2l0aGluIHRoZSBzdHJ1Y3QuCisgKi8KKyNkZWZpbmUgbGlzdF9lbnRyeShwdHIsIHR5cGUsIG1lbWJlcikJY29udGFpbmVyX29mKHB0ciwgdHlwZSwgbWVtYmVyKQorCisjZGVmaW5lIGxpc3RfZmlyc3RfZW50cnkoaGVhZCwgdHlwZSwgbWVtYmVyKSBcCisJKChoZWFkKSAmJiAoaGVhZCktPm5leHQgIT0gKGhlYWQpID8gbGlzdF9lbnRyeSgoaGVhZCktPm5leHQsIHR5cGUsIG1lbWJlcikgOiBOVUxMKQorCisjZGVmaW5lIGxpc3RfbGFzdF9lbnRyeShoZWFkLCB0eXBlLCBtZW1iZXIpIFwKKwkoKGhlYWQpICYmIChoZWFkKS0+cHJldiAhPSAoaGVhZCkgPyBsaXN0X2VudHJ5KChoZWFkKS0+cHJldiwgdHlwZSwgbWVtYmVyKSA6IE5VTEwpCisKKy8qKgorICogbGlzdF9mb3JfZWFjaCAtIGl0ZXJhdGUgb3ZlciBlbGVtZW50cyBpbiBhIGxpc3QKKyAqIEBwb3M6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCB0byB1c2UgYXMgYSBsb29wIGNvdW50ZXIuCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdC4KKyAqLworI2RlZmluZSBsaXN0X2Zvcl9lYWNoKHBvcywgaGVhZCkgXAorCWZvciAocG9zID0gKGhlYWQpLT5uZXh0OyBwb3MgIT0gKGhlYWQpOyBwb3MgPSBwb3MtPm5leHQpCisKKy8qKgorICogbGlzdF9mb3JfZWFjaF9iYWNrd2FyZGx5IC0gaXRlcmF0ZSBvdmVyIGVsZW1lbnRzIGluIGEgbGlzdCBpbiByZXZlcnNlCisgKiBAcG9zOgl0aGUgJnN0cnVjdCBsaXN0X2hlYWQgdG8gdXNlIGFzIGEgbG9vcCBjb3VudGVyLgorICogQGhlYWQ6CXRoZSBoZWFkIGZvciB5b3VyIGxpc3QuCisgKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9iYWNrd2FyZGx5KHBvcywgaGVhZCkgXAorCWZvciAocG9zID0gKGhlYWQpLT5wcmV2OyBwb3MgIT0gKGhlYWQpOyBwb3MgPSBwb3MtPnByZXYpCisKKy8qKgorICogbGlzdF9mb3JfZWFjaF9zYWZlIC0gaXRlcmF0ZSBvdmVyIGVsZW1lbnRzIGluIGEgbGlzdCwgYnV0IGRvbid0IGRlcmVmZXJlbmNlCisgKiAgICAgICAgICAgICAgICAgICAgICBwb3MgYWZ0ZXIgdGhlIGJvZHkgaXMgZG9uZSAoaW4gY2FzZSBpdCBpcyBmcmVlZCkKKyAqIEBwb3M6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCB0byB1c2UgYXMgYSBsb29wIGNvdW50ZXIuCisgKiBAcG5leHQ6CXRoZSAmc3RydWN0IGxpc3RfaGVhZCB0byB1c2UgYXMgYSBwb2ludGVyIHRvIHRoZSBuZXh0IGl0ZW0uCisgKiBAaGVhZDoJdGhlIGhlYWQgZm9yIHlvdXIgbGlzdCAobm90IGluY2x1ZGVkIGluIGl0ZXJhdGlvbikuCisgKi8KKyNkZWZpbmUgbGlzdF9mb3JfZWFjaF9zYWZlKHBvcywgcG5leHQsIGhlYWQpIFwKKwlmb3IgKHBvcyA9IChoZWFkKS0+bmV4dCwgcG5leHQgPSBwb3MtPm5leHQ7IHBvcyAhPSAoaGVhZCk7IFwKKwkgICAgIHBvcyA9IHBuZXh0LCBwbmV4dCA9IHBvcy0+bmV4dCkKKworI2RlZmluZSBNQVhfTElTVF9MRU5HVEhfQklUUyAyMAorCisvKgorICogUmV0dXJucyBhIGxpc3Qgb3JnYW5pemVkIGluIGFuIGludGVybWVkaWF0ZSBmb3JtYXQgc3VpdGVkCisgKiB0byBjaGFpbmluZyBvZiBtZXJnZSgpIGNhbGxzOiBudWxsLXRlcm1pbmF0ZWQsIG5vIHJlc2VydmVkIG9yCisgKiBzZW50aW5lbCBoZWFkIG5vZGUsICJwcmV2IiBsaW5rcyBub3QgbWFpbnRhaW5lZC4KKyAqLworX0lOTElORV8gc3RydWN0IGxpc3RfaGVhZCAqbWVyZ2UoaW50ICgqY21wKShzdHJ1Y3QgbGlzdF9oZWFkICphLAorCQkJCQkgIHN0cnVjdCBsaXN0X2hlYWQgKmIsCisJCQkJCSAgdm9pZCAqZGF0YSksCisJCQkgICAgICAgdm9pZCAqZGF0YSwKKwkJCSAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICphLCBzdHJ1Y3QgbGlzdF9oZWFkICpiKQoreworCXN0cnVjdCBsaXN0X2hlYWQgaGVhZCwgKnRhaWwgPSAmaGVhZDsKKworCXdoaWxlIChhICYmIGIpIHsKKwkJLyogaWYgZXF1YWwsIHRha2UgJ2EnIC0tIGltcG9ydGFudCBmb3Igc29ydCBzdGFiaWxpdHkgKi8KKwkJaWYgKCgqY21wKShhLCBiLCBkYXRhKSA8PSAwKSB7CisJCQl0YWlsLT5uZXh0ID0gYTsKKwkJCWEgPSBhLT5uZXh0OworCQl9IGVsc2UgeworCQkJdGFpbC0+bmV4dCA9IGI7CisJCQliID0gYi0+bmV4dDsKKwkJfQorCQl0YWlsID0gdGFpbC0+bmV4dDsKKwl9CisJdGFpbC0+bmV4dCA9IGEgPyBhIDogYjsKKwlyZXR1cm4gaGVhZC5uZXh0OworfQorCisvKgorICogQ29tYmluZSBmaW5hbCBsaXN0IG1lcmdlIHdpdGggcmVzdG9yYXRpb24gb2Ygc3RhbmRhcmQgZG91Ymx5LWxpbmtlZAorICogbGlzdCBzdHJ1Y3R1cmUuICBUaGlzIGFwcHJvYWNoIGR1cGxpY2F0ZXMgY29kZSBmcm9tIG1lcmdlKCksIGJ1dAorICogcnVucyBmYXN0ZXIgdGhhbiB0aGUgdGlkaWVyIGFsdGVybmF0aXZlcyBvZiBlaXRoZXIgYSBzZXBhcmF0ZSBmaW5hbAorICogcHJldi1saW5rIHJlc3RvcmF0aW9uIHBhc3MsIG9yIG1haW50YWluaW5nIHRoZSBwcmV2IGxpbmtzCisgKiB0aHJvdWdob3V0LgorICovCitfSU5MSU5FXyB2b2lkIG1lcmdlX2FuZF9yZXN0b3JlX2JhY2tfbGlua3MoaW50ICgqY21wKShzdHJ1Y3QgbGlzdF9oZWFkICphLAorCQkJCQkJICAgIHN0cnVjdCBsaXN0X2hlYWQgKmIsCisJCQkJCQkgICAgdm9pZCAqZGF0YSksCisJCQkJCSB2b2lkICpkYXRhLAorCQkJCQkgc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwKKwkJCQkJIHN0cnVjdCBsaXN0X2hlYWQgKmEsIHN0cnVjdCBsaXN0X2hlYWQgKmIpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqdGFpbCA9IGhlYWQ7CisKKwl3aGlsZSAoYSAmJiBiKSB7CisJCS8qIGlmIGVxdWFsLCB0YWtlICdhJyAtLSBpbXBvcnRhbnQgZm9yIHNvcnQgc3RhYmlsaXR5ICovCisJCWlmICgoKmNtcCkoYSwgYiwgZGF0YSkgPD0gMCkgeworCQkJdGFpbC0+bmV4dCA9IGE7CisJCQlhLT5wcmV2ID0gdGFpbDsKKwkJCWEgPSBhLT5uZXh0OworCQl9IGVsc2UgeworCQkJdGFpbC0+bmV4dCA9IGI7CisJCQliLT5wcmV2ID0gdGFpbDsKKwkJCWIgPSBiLT5uZXh0OworCQl9CisJCXRhaWwgPSB0YWlsLT5uZXh0OworCX0KKwl0YWlsLT5uZXh0ID0gYSA/IGEgOiBiOworCisJZG8geworCQkvKgorCQkgKiBJbiB3b3JzdCBjYXNlcyB0aGlzIGxvb3AgbWF5IHJ1biBtYW55IGl0ZXJhdGlvbnMuCisJCSAqIENvbnRpbnVlIGNhbGxiYWNrcyB0byB0aGUgY2xpZW50IGV2ZW4gdGhvdWdoIG5vCisJCSAqIGVsZW1lbnQgY29tcGFyaXNvbiBpcyBuZWVkZWQsIHNvIHRoZSBjbGllbnQncyBjbXAoKQorCQkgKiByb3V0aW5lIGNhbiBpbnZva2UgY29uZF9yZXNjaGVkKCkgcGVyaW9kaWNhbGx5LgorCQkgKi8KKwkJKCpjbXApKHRhaWwtPm5leHQsIHRhaWwtPm5leHQsIGRhdGEpOworCisJCXRhaWwtPm5leHQtPnByZXYgPSB0YWlsOworCQl0YWlsID0gdGFpbC0+bmV4dDsKKwl9IHdoaWxlICh0YWlsLT5uZXh0KTsKKworCXRhaWwtPm5leHQgPSBoZWFkOworCWhlYWQtPnByZXYgPSB0YWlsOworfQorCisKKy8qKgorICogbGlzdF9zb3J0IC0gc29ydCBhIGxpc3QKKyAqIEBoZWFkOiB0aGUgbGlzdCB0byBzb3J0CisgKiBAY21wOiB0aGUgZWxlbWVudHMgY29tcGFyaXNvbiBmdW5jdGlvbgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaW1wbGVtZW50cyAibWVyZ2Ugc29ydCIsIHdoaWNoIGhhcyBPKG5sb2cobikpCisgKiBjb21wbGV4aXR5LgorICoKKyAqIFRoZSBjb21wYXJpc29uIGZ1bmN0aW9uIEBjbXAgbXVzdCByZXR1cm4gYSBuZWdhdGl2ZSB2YWx1ZSBpZiBAYQorICogc2hvdWxkIHNvcnQgYmVmb3JlIEBiLCBhbmQgYSBwb3NpdGl2ZSB2YWx1ZSBpZiBAYSBzaG91bGQgc29ydCBhZnRlcgorICogQGIuIElmIEBhIGFuZCBAYiBhcmUgZXF1aXZhbGVudCwgYW5kIHRoZWlyIG9yaWdpbmFsIHJlbGF0aXZlCisgKiBvcmRlcmluZyBpcyB0byBiZSBwcmVzZXJ2ZWQsIEBjbXAgbXVzdCByZXR1cm4gMC4KKyAqLworX0lOTElORV8gdm9pZCBsaXN0X3NvcnQoc3RydWN0IGxpc3RfaGVhZCAqaGVhZCwKKwkJCWludCAoKmNtcCkoc3RydWN0IGxpc3RfaGVhZCAqYSwKKwkJCQkgICBzdHJ1Y3QgbGlzdF9oZWFkICpiLAorCQkJCSAgIHZvaWQgKmRhdGEpLAorCQkJdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwYXJ0W01BWF9MSVNUX0xFTkdUSF9CSVRTKzFdOyAvKiBzb3J0ZWQgcGFydGlhbCBsaXN0cworCQkJCQkJCSAgIC0tIGxhc3Qgc2xvdCBpcyBhIHNlbnRpbmVsICovCisJc2l6ZV90IGxldjsgIC8qIGluZGV4IGludG8gcGFydFtdICovCisJc2l6ZV90IG1heF9sZXYgPSAwOworCXN0cnVjdCBsaXN0X2hlYWQgKmxpc3Q7CisKKwlpZiAobGlzdF9lbXB0eShoZWFkKSkKKwkJcmV0dXJuOworCisJbWVtc2V0KHBhcnQsIDAsIHNpemVvZihwYXJ0KSk7CisKKwloZWFkLT5wcmV2LT5uZXh0ID0gTlVMTDsKKwlsaXN0ID0gaGVhZC0+bmV4dDsKKworCXdoaWxlIChsaXN0KSB7CisJCXN0cnVjdCBsaXN0X2hlYWQgKmN1ciA9IGxpc3Q7CisJCWxpc3QgPSBsaXN0LT5uZXh0OworCQljdXItPm5leHQgPSBOVUxMOworCisJCWZvciAobGV2ID0gMDsgcGFydFtsZXZdOyBsZXYrKykgeworCQkJY3VyID0gbWVyZ2UoY21wLCBkYXRhLCBwYXJ0W2xldl0sIGN1cik7CisJCQlwYXJ0W2xldl0gPSBOVUxMOworCQl9CisJCWlmIChsZXYgPiBtYXhfbGV2KSB7CisJCQkvKiBsaXN0IHBhc3NlZCB0byBsaXN0X3NvcnQoKSB0b28gbG9uZyBmb3IgZWZmaWNpZW5jeSAqLworCQkJaWYgKGxldiA+PSBBUlJBWV9TSVpFKHBhcnQpIC0gMSkKKwkJCQlsZXYtLTsKKwkJCW1heF9sZXYgPSBsZXY7CisJCX0KKwkJcGFydFtsZXZdID0gY3VyOworCX0KKworCWZvciAobGV2ID0gMDsgbGV2IDwgbWF4X2xldjsgbGV2KyspCisJCWlmIChwYXJ0W2xldl0pCisJCQlsaXN0ID0gbWVyZ2UoY21wLCBkYXRhLCBwYXJ0W2xldl0sIGxpc3QpOworCisJbWVyZ2VfYW5kX3Jlc3RvcmVfYmFja19saW5rcyhjbXAsIGRhdGEsIGhlYWQsIHBhcnRbbWF4X2xldl0sIGxpc3QpOworfQorCisjdW5kZWYgX0lOTElORV8KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTElTVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL2xvb3BkZXYuaCBiL2luY2x1ZGUvbG9vcGRldi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmMmNlYzUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL2xvb3BkZXYuaApAQCAtMCwwICsxLDIwNSBAQAorI2lmbmRlZiBVVElMX0xJTlVYX0xPT1BERVZfSAorI2RlZmluZSBVVElMX0xJTlVYX0xPT1BERVZfSAorCisjaW5jbHVkZSAic3lzZnMuaCIKKworLyoKKyAqIGxvb3BfaW5mby5sb19lbmNyeXB0X3R5cGUKKyAqLworI2RlZmluZSBMT19DUllQVF9OT05FCTAKKyNkZWZpbmUgTE9fQ1JZUFRfWE9SCTEKKyNkZWZpbmUgTE9fQ1JZUFRfREVTCTIKKyNkZWZpbmUgTE9fQ1JZUFRfQ1JZUFRPQVBJIDE4CisKKyNkZWZpbmUgTE9PUF9TRVRfRkQJCTB4NEMwMAorI2RlZmluZSBMT09QX0NMUl9GRAkJMHg0QzAxCisvKgorICogT2Jzb2xldGUgKGtlcm5lbCA8IDIuNikKKyAqCisgKiAjZGVmaW5lIExPT1BfU0VUX1NUQVRVUwkweDRDMDIKKyAqICNkZWZpbmUgTE9PUF9HRVRfU1RBVFVTCTB4NEMwMworICovCisjZGVmaW5lIExPT1BfU0VUX1NUQVRVUzY0CTB4NEMwNAorI2RlZmluZSBMT09QX0dFVF9TVEFUVVM2NAkweDRDMDUKKy8qICNkZWZpbmUgTE9PUF9DSEFOR0VfRkQJMHg0QzA2ICovCisjZGVmaW5lIExPT1BfU0VUX0NBUEFDSVRZCTB4NEMwNworI2RlZmluZSBMT09QX1NFVF9ESVJFQ1RfSU8JMHg0QzA4CisjZGVmaW5lIExPT1BfU0VUX0JMT0NLX1NJWkUJMHg0QzA5CisKKy8qIC9kZXYvbG9vcC1jb250cm9sIGludGVyZmFjZSAqLworI2lmbmRlZiBMT09QX0NUTF9BREQKKyMgZGVmaW5lIExPT1BfQ1RMX0FERAkJMHg0QzgwCisjIGRlZmluZSBMT09QX0NUTF9SRU1PVkUJMHg0QzgxCisjIGRlZmluZSBMT09QX0NUTF9HRVRfRlJFRQkweDRDODIKKyNlbmRpZgorCisvKgorICogbG9vcF9pbmZvLmxvX2ZsYWdzCisgKi8KK2VudW0geworCUxPX0ZMQUdTX1JFQURfT05MWSAgPSAxLAorCUxPX0ZMQUdTX1VTRV9BT1BTICAgPSAyLAorCUxPX0ZMQUdTX0FVVE9DTEVBUiAgPSA0LAkvKiBrZXJuZWwgPj0gMi42LjI1ICovCisJTE9fRkxBR1NfUEFSVFNDQU4gICA9IDgsCS8qIGtlcm5lbCA+PSAzLjIgKi8KKwlMT19GTEFHU19ESVJFQ1RfSU8gID0gMTYsCS8qIGtlcm5lbCA+PSA0LjIgKi8KK307CisKKyNkZWZpbmUgTE9fTkFNRV9TSVpFCTY0CisjZGVmaW5lIExPX0tFWV9TSVpFCTMyCisKKy8qCisgKiBMaW51eCBMT09QX3tTRVQsR0VUfV9TVEFUVVM2NCBpb2N0bCBzdHJ1Y3QKKyAqLworc3RydWN0IGxvb3BfaW5mbzY0IHsKKwl1aW50NjRfdAlsb19kZXZpY2U7CisJdWludDY0X3QJbG9faW5vZGU7CisJdWludDY0X3QJbG9fcmRldmljZTsKKwl1aW50NjRfdAlsb19vZmZzZXQ7CisJdWludDY0X3QJbG9fc2l6ZWxpbWl0OyAvKiBieXRlcywgMCA9PSBtYXggYXZhaWxhYmxlICovCisJdWludDMyX3QJbG9fbnVtYmVyOworCXVpbnQzMl90CWxvX2VuY3J5cHRfdHlwZTsKKwl1aW50MzJfdAlsb19lbmNyeXB0X2tleV9zaXplOworCXVpbnQzMl90CWxvX2ZsYWdzOworCXVpbnQ4X3QJCWxvX2ZpbGVfbmFtZVtMT19OQU1FX1NJWkVdOworCXVpbnQ4X3QJCWxvX2NyeXB0X25hbWVbTE9fTkFNRV9TSVpFXTsKKwl1aW50OF90CQlsb19lbmNyeXB0X2tleVtMT19LRVlfU0laRV07CisJdWludDY0X3QJbG9faW5pdFsyXTsKK307CisKKyNkZWZpbmUgTE9PUERFVl9NQUpPUgkJNwkvKiBsb29wIG1ham9yIG51bWJlciAqLworI2RlZmluZSBMT09QREVWX0RFRkFVTFRfTk5PREVTCTgJLyogZGVmYXVsdCBudW1iZXIgb2YgbG9vcCBkZXZpY2VzICovCisKK3N0cnVjdCBsb29wZGV2X2l0ZXIgeworCUZJTEUJCSpwcm9jOwkJLyogL3Byb2MvcGFydGl0aW9ucyAqLworCURJUgkJKnN5c2Jsb2NrOwkvKiAvc3lzL2Jsb2NrICovCisJaW50CQluY3VyOwkJLyogY3VycmVudCBwb3NpdGlvbiAqLworCWludAkJKm1pbm9yczsJLyogYXJ5IG9mIG1pbm9yIG51bWJlcnMgKHdoZW4gc2NhbiB3aG9sZSAvZGV2KSAqLworCWludAkJbm1pbm9yczsJLyogbnVtYmVyIG9mIGl0ZW1zIGluICptaW5vcnMgKi8KKwlpbnQJCWN0X3Blcm07CS8qIGNvdW50IHBlcm1pc3Npb24gcHJvYmxlbXMgKi8KKwlpbnQJCWN0X3N1Y2M7CS8qIGNvdW50IG51bWJlciBvZiBkZXRlY3RlZCBkZXZpY2VzICovCisKKwl1bnNpZ25lZCBpbnQJZG9uZToxOwkJLyogc2Nhbm5pbmcgZG9uZSAqLworCXVuc2lnbmVkIGludAlkZWZhdWx0X2NoZWNrOjE7LyogY2hlY2sgZmlyc3QgTE9PUERFVl9OTE9PUFMgKi8KKwlpbnQJCWZsYWdzOwkJLyogTE9PUElURVJfRkxfKiBmbGFncyAqLworfTsKKworZW51bSB7CisJTE9PUElURVJfRkxfRlJFRQk9ICgxIDw8IDApLAorCUxPT1BJVEVSX0ZMX1VTRUQJPSAoMSA8PCAxKQorfTsKKworLyoKKyAqIGhhbmRsZXIgZm9yIHdvcmsgd2l0aCBsb29wIGRldmljZXMKKyAqLworc3RydWN0IGxvb3BkZXZfY3h0IHsKKwljaGFyCQlkZXZpY2VbMTI4XTsJLyogZGV2aWNlIHBhdGggKGUuZy4gL2Rldi9sb29wPE4+KSAqLworCWNoYXIJCSpmaWxlbmFtZTsJLyogYmFja2luZyBmaWxlIGZvciBsb29wY3h0X3NldF8uLi4gKi8KKwlpbnQJCWZkOwkJLyogb3BlbigvZGV2L2xvb288Tj4pICovCisJaW50CQltb2RlOwkJLyogZmQgbW9kZSBPX3tSRE9OTFksUkRXUn0gKi8KKworCWludAkJZmxhZ3M7CQkvKiBMT09QREVWX0ZMXyogZmxhZ3MgKi8KKwl1bnNpZ25lZCBpbnQJaGFzX2luZm86MTsJLyogLmluZm8gY29udGFpbnMgZGF0YSAqLworCXVuc2lnbmVkIGludAlleHRyYV9jaGVjazoxOwkvKiB1bnVzdWFsIHN0dWZmIGZvciBpdGVyYXRvciAqLworCXVuc2lnbmVkIGludAlpbmZvX2ZhaWxlZDoxOwkvKiBMT09QX0dFVF9TVEFUVVMgaW9jdGwgZmFpbGVkICovCisJdW5zaWduZWQgaW50ICAgIGNvbnRyb2xfb2s6MTsJLyogL2Rldi9sb29wLWNvbnRyb2wgc3VjY2VzcyAqLworCisJc3RydWN0IHBhdGhfY3h0CQkqc3lzZnM7IC8qIHBvaW50ZXIgdG8gL3N5cy9kZXYvYmxvY2svPG1hajptaW4+LyAqLworCXN0cnVjdCBsb29wX2luZm82NAlpbmZvOwkvKiBmb3IgR0VUL1NFVCBpb2N0bCAqLworCXN0cnVjdCBsb29wZGV2X2l0ZXIJaXRlcjsJLyogc2NhbnMgL3N5cyBvciAvZGV2IGZvciB1c2VkL2ZyZWUgZGV2aWNlcyAqLworfTsKKworI2RlZmluZSBVTF9MT09QREVWQ1hUX0VNUFRZIHsgLmZkID0gLTEgIH0KKworLyoKKyAqIGxvb3BkZXZfY3h0LmZsYWdzCisgKi8KK2VudW0geworCUxPT1BERVZfRkxfUkRPTkxZCT0gKDEgPDwgMCksCS8qIG9wZW4oL2Rldi9sb29wKSBtb2RlOyBkZWZhdWx0ICovCisJTE9PUERFVl9GTF9SRFdSCQk9ICgxIDw8IDEpLAkvKiBuZWNlc3NhcnkgZm9yIGxvb3Agc2V0dXAgb25seSAqLworCUxPT1BERVZfRkxfT0ZGU0VUCT0gKDEgPDwgNCksCisJTE9PUERFVl9GTF9OT1NZU0ZTCT0gKDEgPDwgNSksCisJTE9PUERFVl9GTF9OT0lPQ1RMCT0gKDEgPDwgNiksCisJTE9PUERFVl9GTF9ERVZTVUJESVIJPSAoMSA8PCA3KSwKKwlMT09QREVWX0ZMX0NPTlRST0wJPSAoMSA8PCA4KSwJLyogc3lzdGVtIHdpdGggL2Rldi9sb29wLWNvbnRyb2wgKi8KKwlMT09QREVWX0ZMX1NJWkVMSU1JVAk9ICgxIDw8IDkpCit9OworCisvKgorICogSGlnaC1sZXZlbAorICovCitleHRlcm4gaW50IGxvb3Btb2Rfc3VwcG9ydHNfcGFydHNjYW4odm9pZCk7CisKK2V4dGVybiBpbnQgaXNfbG9vcGRldihjb25zdCBjaGFyICpkZXZpY2UpOworZXh0ZXJuIGludCBsb29wZGV2X2lzX2F1dG9jbGVhcihjb25zdCBjaGFyICpkZXZpY2UpOworCitleHRlcm4gY2hhciAqbG9vcGRldl9nZXRfYmFja2luZ19maWxlKGNvbnN0IGNoYXIgKmRldmljZSk7CitleHRlcm4gaW50IGxvb3BkZXZfaXNfdXNlZChjb25zdCBjaGFyICpkZXZpY2UsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJICAgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplbGltaXQsIGludCBmbGFncyk7CitleHRlcm4gY2hhciAqbG9vcGRldl9maW5kX2J5X2JhY2tpbmdfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQl1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemVsaW1pdCwgaW50IGZsYWdzKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9maW5kX3VudXNlZChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGRldl9kZWxldGUoY29uc3QgY2hhciAqZGV2aWNlKTsKK2V4dGVybiBpbnQgbG9vcGRldl9jb3VudF9ieV9iYWNraW5nX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNoYXIgKipsb29wZGV2KTsKKworLyoKKyAqIExvdy1sZXZlbAorICovCitleHRlcm4gaW50IGxvb3BjeHRfaW5pdChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBpbnQgZmxhZ3MpCisJCQkJX19hdHRyaWJ1dGVfXyAoKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgbG9vcGN4dF9kZWluaXQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CisKK2V4dGVybiBpbnQgbG9vcGN4dF9zZXRfZGV2aWNlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGNvbnN0IGNoYXIgKmRldmljZSkKKwkJCQlfX2F0dHJpYnV0ZV9fICgod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gaW50IGxvb3BjeHRfaGFzX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9hZGRfZGV2aWNlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGNoYXIgKmxvb3BjeHRfc3RyZHVwX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBjb25zdCBjaGFyICpsb29wY3h0X2dldF9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gc3RydWN0IGxvb3BfaW5mbzY0ICpsb29wY3h0X2dldF9pbmZvKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworCitleHRlcm4gaW50IGxvb3BjeHRfZ2V0X2ZkKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X3NldF9mZChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBpbnQgZmQsIGludCBtb2RlKTsKKworZXh0ZXJuIGludCBsb29wY3h0X2luaXRfaXRlcmF0b3Ioc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgaW50IGZsYWdzKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9kZWluaXRfaXRlcmF0b3Ioc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gaW50IGxvb3BjeHRfbmV4dChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKKworZXh0ZXJuIGludCBsb29wY3h0X3NldHVwX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9zZXRfc3RhdHVzKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X2RlbGV0ZV9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gaW50IGxvb3BjeHRfc2V0X2NhcGFjaXR5KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X3NldF9kaW8oc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdW5zaWduZWQgbG9uZyB1c2VfZGlvKTsKKworaW50IGxvb3BjeHRfc2V0X29mZnNldChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1aW50NjRfdCBvZmZzZXQpOworaW50IGxvb3BjeHRfc2V0X3NpemVsaW1pdChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1aW50NjRfdCBzaXplbGltaXQpOworaW50IGxvb3BjeHRfc2V0X2ZsYWdzKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQzMl90IGZsYWdzKTsKK2ludCBsb29wY3h0X3NldF9iYWNraW5nX2ZpbGUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgY29uc3QgY2hhciAqZmlsZW5hbWUpOworaW50IGxvb3BjeHRfc2V0X2Jsb2Nrc2l6ZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1aW50NjRfdCBibG9ja3NpemUpOworCitleHRlcm4gY2hhciAqbG9vcGN4dF9nZXRfYmFja2luZ19maWxlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X2dldF9iYWNraW5nX2Rldm5vKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGRldl90ICpkZXZubyk7CitleHRlcm4gaW50IGxvb3BjeHRfZ2V0X2JhY2tpbmdfaW5vZGUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgaW5vX3QgKmlubyk7CitleHRlcm4gaW50IGxvb3BjeHRfZ2V0X29mZnNldChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1aW50NjRfdCAqb2Zmc2V0KTsKK2V4dGVybiBpbnQgbG9vcGN4dF9nZXRfYmxvY2tzaXplKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQ2NF90ICpibG9ja3NpemUpOworZXh0ZXJuIGludCBsb29wY3h0X2dldF9zaXplbGltaXQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDY0X3QgKnNpemUpOworZXh0ZXJuIGludCBsb29wY3h0X2dldF9lbmNyeXB0X3R5cGUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDMyX3QgKnR5cGUpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmxvb3BjeHRfZ2V0X2NyeXB0X25hbWUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYyk7CitleHRlcm4gaW50IGxvb3BjeHRfaXNfYXV0b2NsZWFyKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X2lzX3JlYWRvbmx5KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpOworZXh0ZXJuIGludCBsb29wY3h0X2lzX2RpbyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9pc19wYXJ0c2NhbihzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKTsKK2V4dGVybiBpbnQgbG9vcGN4dF9maW5kX2J5X2JhY2tpbmdfZmlsZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLAorCQkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJCXVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZWxpbWl0LAorCQkJCWludCBmbGFncyk7CitleHRlcm4gaW50IGxvb3BjeHRfZmluZF9vdmVybGFwKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsCisJCQkJY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplbGltaXQpOworCitleHRlcm4gaW50IGxvb3BjeHRfaXNfdXNlZChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLAorICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qgc3RhdCAqc3QsCisgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIgKmJhY2tpbmdfZmlsZSwKKyAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgb2Zmc2V0LAorICAgICAgICAgICAgICAgICAgICB1aW50NjRfdCBzaXplbGltaXQsCisgICAgICAgICAgICAgICAgICAgIGludCBmbGFncyk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0xPT1BERVZfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYW5nbGUuaCBiL2luY2x1ZGUvbWFuZ2xlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE0YjYwYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbWFuZ2xlLmgKQEAgLTAsMCArMSwyNiBAQAorI2lmbmRlZiBVVElMX0xJTlVYX01BTkdMRV9ICisjZGVmaW5lIFVUSUxfTElOVVhfTUFOR0xFX0gKKworLyoKKyAqIEZ1bmN0aW9ucyBmb3IgXG9jdCBlbmNvZGluZyB1c2VkIGluIG10YWIvZnN0YWIvc3dhcHMvZXRjLgorICovCisKK2V4dGVybiBjaGFyICptYW5nbGUoY29uc3QgY2hhciAqcyk7CisKK2V4dGVybiB2b2lkIHVubWFuZ2xlX3RvX2J1ZmZlcihjb25zdCBjaGFyICpzLCBjaGFyICpidWYsIHNpemVfdCBsZW4pOworZXh0ZXJuIHNpemVfdCB1bmhleG1hbmdsZV90b19idWZmZXIoY29uc3QgY2hhciAqcywgY2hhciAqYnVmLCBzaXplX3QgbGVuKTsKKworZXh0ZXJuIGNoYXIgKnVubWFuZ2xlKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKiplbmQpOworCitzdGF0aWMgaW5saW5lIHZvaWQgdW5tYW5nbGVfc3RyaW5nKGNoYXIgKnMpCit7CisJdW5tYW5nbGVfdG9fYnVmZmVyKHMsIHMsIHN0cmxlbihzKSArIDEpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgdW5oZXhtYW5nbGVfc3RyaW5nKGNoYXIgKnMpCit7CisJdW5oZXhtYW5nbGVfdG9fYnVmZmVyKHMsIHMsIHN0cmxlbihzKSArIDEpOworfQorCisjZW5kaWYgLyogVVRJTF9MSU5VWF9NQU5HTEVfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL21hdGNoLmggYi9pbmNsdWRlL21hdGNoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTQ0NDBjMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbWF0Y2guaApAQCAtMCwwICsxLDEyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgVVRJTF9MSU5VWF9NQVRDSF9ICisjZGVmaW5lIFVUSUxfTElOVVhfTUFUQ0hfSAorCitleHRlcm4gaW50IG1hdGNoX2ZzdHlwZShjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFyICpwYXR0ZXJuKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTUFUQ0hfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYnNhbGlnbi5oIGIvaW5jbHVkZS9tYnNhbGlnbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBjMjhlNmYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL21ic2FsaWduLmgKQEAgLTAsMCArMSw2MyBAQAorLyogQWxpZ24vVHJ1bmNhdGUgYSBzdHJpbmcgaW4gYSBnaXZlbiBzY3JlZW4gd2lkdGgKKyAgIENvcHlyaWdodCAoQykgMjAwOS0yMDEwIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICAgQ29weXJpZ2h0IChDKSAyMDEwLTIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisjaWZuZGVmIFVUSUxfTElOVVhfTUJTQUxJR05fSAorIyBkZWZpbmUgVVRJTF9MSU5VWF9NQlNBTElHTl9ICisjIGluY2x1ZGUgPHN0ZGRlZi5oPgorCit0eXBlZGVmIGVudW0geyBNQlNfQUxJR05fTEVGVCwgTUJTX0FMSUdOX1JJR0hULCBNQlNfQUxJR05fQ0VOVEVSIH0gbWJzX2FsaWduX3Q7CisKK2VudW0geworICAvKiBVc2UgdW5pYnl0ZSBtb2RlIGZvciBpbnZhbGlkIG11bHRpYnl0ZSBzdHJpbmdzIG9yCisgICAgIG9yIHdoZW4gaGVhcCBtZW1vcnkgaXMgZXhoYXVzdGVkLiAgKi8KKyAgTUJBX1VOSUJZVEVfRkFMTEJBQ0sgPSAweDAwMDEsCisKKyNpZiAwIC8qIE90aGVyIHBvc3NpYmxlIG9wdGlvbnMuICAqLworICAvKiBTa2lwIGludmFsaWQgbXVsdGlieXRlIGNoYXJzIHJhdGhlciB0aGFuIGZhaWxpbmcgICovCisgIE1CQV9JR05PUkVfSU5WQUxJRCAgID0gMHgwMDAyLAorCisgIC8qIEFsaWduIG11bHRpYnl0ZSBzdHJpbmdzIHVzaW5nICJmaWd1cmUgc3BhY2UiIChcdTIwMDcpICAqLworICBNQkFfVVNFX0ZJR1VSRV9TUEFDRSA9IDB4MDAwNCwKKworICAvKiBEb24ndCBhZGQgYW55IHBhZGRpbmcgICovCisgIE1CQV9UUlVOQ0FURV9PTkxZICAgID0gMHgwMDA4LAorCisgIC8qIERvbid0IHRydW5jYXRlICAqLworICBNQkFfUEFEX09OTFkgICAgICAgICA9IDB4MDAxMCwKKyNlbmRpZgorfTsKKworZXh0ZXJuIHNpemVfdCBtYnNfdHJ1bmNhdGUoY2hhciAqc3RyLCBzaXplX3QgKndpZHRoKTsKKworZXh0ZXJuIHNpemVfdCBtYnNhbGlnbiAoY29uc3QgY2hhciAqc3JjLCBjaGFyICpkZXN0LAorCQkJc2l6ZV90IGRlc3Rfc2l6ZSwgIHNpemVfdCAqd2lkdGgsCisJCQltYnNfYWxpZ25fdCBhbGlnbiwgaW50IGZsYWdzKTsKKworZXh0ZXJuIHNpemVfdCBtYnNhbGlnbl93aXRoX3BhZGRpbmcgKGNvbnN0IGNoYXIgKnNyYywgY2hhciAqZGVzdCwgc2l6ZV90IGRlc3Rfc2l6ZSwKKwkgICAgICAgICAgICAgICBzaXplX3QgKndpZHRoLCBtYnNfYWxpZ25fdCBhbGlnbiwgaW50IGZsYWdzLAorCQkgICAgICAgaW50IHBhZGNoYXIpOworCitleHRlcm4gc2l6ZV90IG1ic19zYWZlX253aWR0aChjb25zdCBjaGFyICpidWYsIHNpemVfdCBidWZzeiwgc2l6ZV90ICpzeik7CitleHRlcm4gc2l6ZV90IG1ic19zYWZlX3dpZHRoKGNvbnN0IGNoYXIgKnMpOworCitleHRlcm4gY2hhciAqbWJzX3NhZmVfZW5jb2RlKGNvbnN0IGNoYXIgKnMsIHNpemVfdCAqd2lkdGgpOworZXh0ZXJuIGNoYXIgKm1ic19zYWZlX2VuY29kZV90b19idWZmZXIoY29uc3QgY2hhciAqcywgc2l6ZV90ICp3aWR0aCwgY2hhciAqYnVmLCBjb25zdCBjaGFyICpzYWZlY2hhcnMpOworZXh0ZXJuIHNpemVfdCBtYnNfc2FmZV9lbmNvZGVfc2l6ZShzaXplX3QgYnl0ZXMpOworCitleHRlcm4gY2hhciAqbWJzX2ludmFsaWRfZW5jb2RlKGNvbnN0IGNoYXIgKnMsIHNpemVfdCAqd2lkdGgpOworZXh0ZXJuIGNoYXIgKm1ic19pbnZhbGlkX2VuY29kZV90b19idWZmZXIoY29uc3QgY2hhciAqcywgc2l6ZV90ICp3aWR0aCwgY2hhciAqYnVmKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTUJTQUxJR05fSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tYnNlZGl0LmggYi9pbmNsdWRlL21ic2VkaXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDFjNmMyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9tYnNlZGl0LmgKQEAgLTAsMCArMSwzMiBAQAorI2lmbmRlZiBVVElMX0xJTlVYX01CU0VESVRfSAorIyBkZWZpbmUgVVRJTF9MSU5VWF9NQlNFRElUX0gKKworI2luY2x1ZGUgIm1ic2FsaWduLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKworc3RydWN0IG1ic19lZGl0b3IgeworCWNoYXIJKmJ1ZjsJCS8qIGJ1ZmZlciAqLworCXNpemVfdAltYXhfYnl0ZXM7CS8qIHNpemUgb2YgdGhlIGJ1ZmZlciAqLworCXNpemVfdAltYXhfY2VsbHM7CS8qIG1heGltYWwgYWxsb3dlZCBudW1iZXIgb2YgY2VsbHMgKi8KKwlzaXplX3QJY3VyX2NlbGxzOwkvKiBudW1iZXIgb2YgY2VsbHMgdG8gcHJpbnQgdGhlIGJ1ZmZlciAqLworCXNpemVfdCAgY3VyX2J5dGVzOwkvKiBudW1iZXIgb2YgY2hhcnMgaW4gYnl0ZXMgKi8KKwlzaXplX3QgIGN1cnNvcjsJCS8qIGN1cnNvciBwb3NpdGlvbiBpbiBieXRlcyAqLworCXNpemVfdCAgY3Vyc29yX2NlbGxzOwkvKiBjdXJzb3IgcG9zaXRpb24gaW4gY2VsbHMgKi8KK307CisKK2VudW0geworCU1CU19FRElUX0xFRlQsCisJTUJTX0VESVRfUklHSFQsCisJTUJTX0VESVRfRU5ELAorCU1CU19FRElUX0hPTUUKK307CisKK3N0cnVjdCBtYnNfZWRpdG9yICptYnNfbmV3X2VkaXQoY2hhciAqYnVmLCBzaXplX3QgYnVmc3osIHNpemVfdCBuY2VsbHMpOworY2hhciAqbWJzX2ZyZWVfZWRpdChzdHJ1Y3QgbWJzX2VkaXRvciAqZWRpdCk7CisKK2ludCBtYnNfZWRpdF9nb3RvKHN0cnVjdCBtYnNfZWRpdG9yICplZGl0LCBpbnQgd2hlcmUpOworaW50IG1ic19lZGl0X2RlbGV0ZShzdHJ1Y3QgbWJzX2VkaXRvciAqZWRpdCk7CitpbnQgbWJzX2VkaXRfYmFja3NwYWNlKHN0cnVjdCBtYnNfZWRpdG9yICplZGl0KTsKK2ludCBtYnNfZWRpdF9pbnNlcnQoc3RydWN0IG1ic19lZGl0b3IgKmVkaXQsIHdpbnRfdCBjKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTUJTRURJVF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL21kNS5oIGIvaW5jbHVkZS9tZDUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjk5MWUxCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9tZDUuaApAQCAtMCwwICsxLDI0IEBACisjaWZuZGVmIFVUSUxfTElOVVhfTUQ1X0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9NRDVfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNkZWZpbmUgVUxfTUQ1TEVOR1RIIDE2CisKK3N0cnVjdCBVTF9NRDVDb250ZXh0IHsKKwl1aW50MzJfdCBidWZbNF07CisJdWludDMyX3QgYml0c1syXTsKKwl1bnNpZ25lZCBjaGFyIGluWzY0XTsKK307CisKK3ZvaWQgdWxfTUQ1SW5pdChzdHJ1Y3QgVUxfTUQ1Q29udGV4dCAqY29udGV4dCk7Cit2b2lkIHVsX01ENVVwZGF0ZShzdHJ1Y3QgVUxfTUQ1Q29udGV4dCAqY29udGV4dCwgdW5zaWduZWQgY2hhciBjb25zdCAqYnVmLCB1bnNpZ25lZCBsZW4pOwordm9pZCB1bF9NRDVGaW5hbCh1bnNpZ25lZCBjaGFyIGRpZ2VzdFtVTF9NRDVMRU5HVEhdLCBzdHJ1Y3QgVUxfTUQ1Q29udGV4dCAqY29udGV4dCk7Cit2b2lkIHVsX01ENVRyYW5zZm9ybSh1aW50MzJfdCBidWZbNF0sIHVpbnQzMl90IGNvbnN0IGluWzE2XSk7CisKKy8qCisgKiBUaGlzIGlzIG5lZWRlZCB0byBtYWtlIFJTQVJFRiBoYXBweSBvbiBzb21lIE1TLURPUyBjb21waWxlcnMuCisgKi8KK3R5cGVkZWYgc3RydWN0IFVMX01ENUNvbnRleHQgVUxfTUQ1X0NUWDsKKworI2VuZGlmIC8qICFVVElMX0xJTlVYX01ENV9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL21pbml4LmggYi9pbmNsdWRlL21pbml4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjI4OTkxYwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbWluaXguaApAQCAtMCwwICsxLDg1IEBACisjaWZuZGVmIFVUSUxfTElOVVhfTUlOSVhfSAorI2RlZmluZSBVVElMX0xJTlVYX01JTklYX0gKKworI2luY2x1ZGUgPHN0ZGludC5oPgorCitzdHJ1Y3QgbWluaXhfaW5vZGUgeworCXVpbnQxNl90IGlfbW9kZTsKKwl1aW50MTZfdCBpX3VpZDsKKwl1aW50MzJfdCBpX3NpemU7CisJdWludDMyX3QgaV90aW1lOworCXVpbnQ4X3QgIGlfZ2lkOworCXVpbnQ4X3QgIGlfbmxpbmtzOworCXVpbnQxNl90IGlfem9uZVs5XTsKK307CisKK3N0cnVjdCBtaW5peDJfaW5vZGUgeworCXVpbnQxNl90IGlfbW9kZTsKKwl1aW50MTZfdCBpX25saW5rczsKKwl1aW50MTZfdCBpX3VpZDsKKwl1aW50MTZfdCBpX2dpZDsKKwl1aW50MzJfdCBpX3NpemU7CisJdWludDMyX3QgaV9hdGltZTsKKwl1aW50MzJfdCBpX210aW1lOworCXVpbnQzMl90IGlfY3RpbWU7CisJdWludDMyX3QgaV96b25lWzEwXTsKK307CisKK3N0cnVjdCBtaW5peF9zdXBlcl9ibG9jayB7CisJdWludDE2X3Qgc19uaW5vZGVzOworCXVpbnQxNl90IHNfbnpvbmVzOworCXVpbnQxNl90IHNfaW1hcF9ibG9ja3M7CisJdWludDE2X3Qgc196bWFwX2Jsb2NrczsKKwl1aW50MTZfdCBzX2ZpcnN0ZGF0YXpvbmU7CisJdWludDE2X3Qgc19sb2dfem9uZV9zaXplOworCXVpbnQzMl90IHNfbWF4X3NpemU7CisJdWludDE2X3Qgc19tYWdpYzsKKwl1aW50MTZfdCBzX3N0YXRlOworCXVpbnQzMl90IHNfem9uZXM7Cit9OworCisvKiBWMyBtaW5peCBzdXBlci1ibG9jayBkYXRhIG9uIGRpc2sgKi8KK3N0cnVjdCBtaW5peDNfc3VwZXJfYmxvY2sgeworCXVpbnQzMl90IHNfbmlub2RlczsKKwl1aW50MTZfdCBzX3BhZDA7CisJdWludDE2X3Qgc19pbWFwX2Jsb2NrczsKKwl1aW50MTZfdCBzX3ptYXBfYmxvY2tzOworCXVpbnQxNl90IHNfZmlyc3RkYXRhem9uZTsKKwl1aW50MTZfdCBzX2xvZ196b25lX3NpemU7CisJdWludDE2X3Qgc19wYWQxOworCXVpbnQzMl90IHNfbWF4X3NpemU7CisJdWludDMyX3Qgc196b25lczsKKwl1aW50MTZfdCBzX21hZ2ljOworCXVpbnQxNl90IHNfcGFkMjsKKwl1aW50MTZfdCBzX2Jsb2Nrc2l6ZTsKKwl1aW50OF90ICBzX2Rpc2tfdmVyc2lvbjsKK307CisKKy8qCisgKiBNaW5peCBzdWJwYXJ0aXRpb25zIGFyZSBhbHdheXMgd2l0aGluIHByaW1hcnkgZG9zIHBhcnRpdGlvbi4KKyAqLworI2RlZmluZSBNSU5JWF9NQVhQQVJUSVRJT05TICA0CisKKyNkZWZpbmUgTUlOSVhfQkxPQ0tfU0laRV9CSVRTIDEwCisjZGVmaW5lIE1JTklYX0JMT0NLX1NJWkUgICAgICgxIDw8IE1JTklYX0JMT0NLX1NJWkVfQklUUykKKworI2RlZmluZSBNSU5JWF9OQU1FX01BWCAgICAgICAyNTUgICAgICAgICAgICAgLyogIyBjaGFycyBpbiBhIGZpbGUgbmFtZSAqLworI2RlZmluZSBNSU5JWF9NQVhfSU5PREVTICAgICA2NTUzNQorCisjZGVmaW5lIE1JTklYX0lOT0RFU19QRVJfQkxPQ0sgKChNSU5JWF9CTE9DS19TSVpFKS8oc2l6ZW9mIChzdHJ1Y3QgbWluaXhfaW5vZGUpKSkKKyNkZWZpbmUgTUlOSVgyX0lOT0RFU19QRVJfQkxPQ0sgKChNSU5JWF9CTE9DS19TSVpFKS8oc2l6ZW9mIChzdHJ1Y3QgbWluaXgyX2lub2RlKSkpCisKKy8qIG1pbml4X3N1cGVyX2Jsb2NrLnNfc3RhdGUgKi8KKyNkZWZpbmUgTUlOSVhfVkFMSURfRlMgICAgICAgMHgwMDAxICAgICAgICAgIC8qIENsZWFuIGZzLiAqLworI2RlZmluZSBNSU5JWF9FUlJPUl9GUyAgICAgICAweDAwMDIgICAgICAgICAgLyogZnMgaGFzIGVycm9ycy4gKi8KKworCisjZGVmaW5lIE1JTklYX1NVUEVSX01BR0lDICAgIDB4MTM3RiAgICAgICAgICAvKiBtaW5peCBWMSBmcywgMTQgY2hhciBuYW1lcyAqLworI2RlZmluZSBNSU5JWF9TVVBFUl9NQUdJQzIgICAweDEzOEYgICAgICAgICAgLyogbWluaXggVjEgZnMsIDMwIGNoYXIgbmFtZXMgKi8KKworI2RlZmluZSBNSU5JWDJfU1VQRVJfTUFHSUMgICAweDI0NjgJICAgICAvKiBtaW5peCBWMiBmcywgMTQgY2hhciBuYW1lcyAqLworI2RlZmluZSBNSU5JWDJfU1VQRVJfTUFHSUMyICAweDI0NzgJICAgICAvKiBtaW5peCBWMiBmcywgMzAgY2hhciBuYW1lcyAqLworCisjZGVmaW5lIE1JTklYM19TVVBFUl9NQUdJQyAgIDB4NGQ1YSAgICAgICAgICAvKiBtaW5peCBWMyBmcyAoNjAgY2hhciBuYW1lcykgKi8KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTUlOSVhfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9tb25vdG9uaWMuaCBiL2luY2x1ZGUvbW9ub3RvbmljLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ5OWZhMwotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbW9ub3RvbmljLmgKQEAgLTAsMCArMSwxMCBAQAorI2lmbmRlZiBVVElMX0xJTlVYX01PTk9UT05JQ19ICisjZGVmaW5lIFVUSUxfTElOVVhfTU9OT1RPTklDX0gKKworI2luY2x1ZGUgPHN5cy90aW1lLmg+CisKK2V4dGVybiBpbnQgZ2V0X2Jvb3RfdGltZShzdHJ1Y3QgdGltZXZhbCAqYm9vdF90aW1lKTsKKworZXh0ZXJuIGludCBnZXR0aW1lX21vbm90b25pYyhzdHJ1Y3QgdGltZXZhbCAqdHYpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9NT05PVE9OSUNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9uYW1lc3BhY2UuaCBiL2luY2x1ZGUvbmFtZXNwYWNlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRiZTg4YQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvbmFtZXNwYWNlLmgKQEAgLTAsMCArMSw0NyBAQAorLyogQ29tcGF0IGNvZGUgc28gdW5zaGFyZSBhbmQgc2V0bnMgY2FuIGJlIHVzZWQgd2l0aCBvbGRlciBsaWJjcyAqLworI2lmbmRlZiBVVElMX0xJTlVYX05BTUVTUEFDRV9ICisjIGRlZmluZSBVVElMX0xJTlVYX05BTUVTUEFDRV9ICisKKyMgaW5jbHVkZSA8c2NoZWQuaD4KKworIyBpZm5kZWYgQ0xPTkVfTkVXTlMKKyMgIGRlZmluZSBDTE9ORV9ORVdOUyAweDAwMDIwMDAwCisjIGVuZGlmCisjIGlmbmRlZiBDTE9ORV9ORVdDR1JPVVAKKyMgIGRlZmluZSBDTE9ORV9ORVdDR1JPVVAgMHgwMjAwMDAwMAorIyBlbmRpZgorIyBpZm5kZWYgQ0xPTkVfTkVXVVRTCisjICBkZWZpbmUgQ0xPTkVfTkVXVVRTIDB4MDQwMDAwMDAKKyMgZW5kaWYKKyMgaWZuZGVmIENMT05FX05FV0lQQworIyAgZGVmaW5lIENMT05FX05FV0lQQyAweDA4MDAwMDAwCisjIGVuZGlmCisjIGlmbmRlZiBDTE9ORV9ORVdORVQKKyMgIGRlZmluZSBDTE9ORV9ORVdORVQgMHg0MDAwMDAwMAorIyBlbmRpZgorIyBpZm5kZWYgQ0xPTkVfTkVXVVNFUgorIyAgZGVmaW5lIENMT05FX05FV1VTRVIgMHgxMDAwMDAwMAorIyBlbmRpZgorIyBpZm5kZWYgQ0xPTkVfTkVXUElECisjICBkZWZpbmUgQ0xPTkVfTkVXUElEIDB4MjAwMDAwMDAKKyMgZW5kaWYKKworIyBpZiAhZGVmaW5lZChIQVZFX1VOU0hBUkUpIHx8ICFkZWZpbmVkKEhBVkVfU0VUTlMpCisjICBpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorIyBlbmRpZgorCisjIGlmICFkZWZpbmVkKEhBVkVfVU5TSEFSRSkgJiYgZGVmaW5lZChTWVNfdW5zaGFyZSkKK3N0YXRpYyBpbmxpbmUgaW50IHVuc2hhcmUoaW50IGZsYWdzKQoreworCXJldHVybiBzeXNjYWxsKFNZU191bnNoYXJlLCBmbGFncyk7Cit9CisjIGVuZGlmCisKKyMgaWYgIWRlZmluZWQoSEFWRV9TRVROUykgJiYgZGVmaW5lZChTWVNfc2V0bnMpCitzdGF0aWMgaW5saW5lIGludCBzZXRucyhpbnQgZmQsIGludCBuc3R5cGUpCit7CisJcmV0dXJuIHN5c2NhbGwoU1lTX3NldG5zLCBmZCwgbnN0eXBlKTsKK30KKyMgZW5kaWYKKworI2VuZGlmCS8qIFVUSUxfTElOVVhfTkFNRVNQQUNFX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvbmxzLmggYi9pbmNsdWRlL25scy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkMzE1YzEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL25scy5oCkBAIC0wLDAgKzEsMTU1IEBACisjaWZuZGVmIFVUSUxfTElOVVhfTkxTX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9OTFNfSAorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKTsKKworI2lmbmRlZiBMT0NBTEVESVIKKyNkZWZpbmUgTE9DQUxFRElSICIvdXNyL3NoYXJlL2xvY2FsZSIKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MT0NBTEVfSAorIyBpbmNsdWRlIDxsb2NhbGUuaD4KKyNlbHNlCisjIHVuZGVmIHNldGxvY2FsZQorIyBkZWZpbmUgc2V0bG9jYWxlKENhdGVnb3J5LCBMb2NhbGUpIC8qIGVtcHR5ICovCitzdHJ1Y3QgbGNvbnYKK3sKKwljaGFyICpkZWNpbWFsX3BvaW50OworfTsKKyMgdW5kZWYgbG9jYWxlY29udgorIyBkZWZpbmUgbG9jYWxlY29udigpIE5VTEwKKyNlbmRpZgorCisKKyNpZmRlZiBFTkFCTEVfTkxTCisjIGluY2x1ZGUgPGxpYmludGwuaD4KKy8qCisgKiBGb3IgTkxTIHN1cHBvcnQgaW4gdGhlIHB1YmxpYyBzaGFyZWQgbGlicmFyaWVzIHdlIGhhdmUgdG8gc3BlY2lmeSB0ZXh0CisgKiBkb21haW4gbmFtZSB0byBiZSBpbmRlcGVuZGVudCBvbiB0aGUgbWFpbiBwcm9ncmFtLiBGb3IgdGhpcyBwdXJwb3NlIGRlZmluZQorICogVUxfVEVYVERPTUFJTl9FWFBMSUNJVCBiZWZvcmUgeW91IGluY2x1ZGUgbmxzLmggdG8geW91ciBzaGFyZWQgbGlicmFyeSBjb2RlLgorICovCisjIGlmZGVmIFVMX1RFWFRET01BSU5fRVhQTElDSVQKKyMgIGRlZmluZSBfKFRleHQpIGRnZXR0ZXh0IChVTF9URVhURE9NQUlOX0VYUExJQ0lULCBUZXh0KQorIyBlbHNlCisjICBkZWZpbmUgXyhUZXh0KSBnZXR0ZXh0IChUZXh0KQorIyBlbmRpZgorIyBpZmRlZiBnZXR0ZXh0X25vb3AKKyMgIGRlZmluZSBOXyhTdHJpbmcpIGdldHRleHRfbm9vcCAoU3RyaW5nKQorIyBlbHNlCisjICBkZWZpbmUgTl8oU3RyaW5nKSAoU3RyaW5nKQorIyBlbmRpZgorIyBkZWZpbmUgUF8oU2luZ3VsYXIsIFBsdXJhbCwgbikgbmdldHRleHQgKFNpbmd1bGFyLCBQbHVyYWwsIG4pCisjZWxzZQorIyB1bmRlZiBiaW5kdGV4dGRvbWFpbgorIyBkZWZpbmUgYmluZHRleHRkb21haW4oRG9tYWluLCBEaXJlY3RvcnkpIC8qIGVtcHR5ICovCisjIHVuZGVmIHRleHRkb21haW4KKyMgZGVmaW5lIHRleHRkb21haW4oRG9tYWluKSAvKiBlbXB0eSAqLworIyBkZWZpbmUgXyhUZXh0KSAoVGV4dCkKKyMgZGVmaW5lIE5fKFRleHQpIChUZXh0KQorIyBkZWZpbmUgUF8oU2luZ3VsYXIsIFBsdXJhbCwgbikgKChuKSA9PSAxID8gKFNpbmd1bGFyKSA6IChQbHVyYWwpKQorI2VuZGlmIC8qIEVOQUJMRV9OTFMgKi8KKworI2lmZGVmIEhBVkVfTEFOR0lORk9fSAorIyBpbmNsdWRlIDxsYW5naW5mby5oPgorI2Vsc2UKKwordHlwZWRlZiBpbnQgbmxfaXRlbTsKK2V4dGVybiBjaGFyICpsYW5naW5mb19mYWxsYmFjayhubF9pdGVtIGl0ZW0pOworCisjIGRlZmluZSBubF9sYW5naW5mbwlsYW5naW5mb19mYWxsYmFjaworCitlbnVtIHsKKwlDT0RFU0VUID0gMSwKKwlSQURJWENIQVIsCisJVEhPVVNFUCwKKwlEX1RfRk1ULAorCURfRk1ULAorCVRfRk1ULAorCVRfRk1UX0FNUE0sCisJQU1fU1RSLAorCVBNX1NUUiwKKworCURBWV8xLAorCURBWV8yLAorCURBWV8zLAorCURBWV80LAorCURBWV81LAorCURBWV82LAorCURBWV83LAorCisJQUJEQVlfMSwKKwlBQkRBWV8yLAorCUFCREFZXzMsCisJQUJEQVlfNCwKKwlBQkRBWV81LAorCUFCREFZXzYsCisJQUJEQVlfNywKKworCU1PTl8xLAorCU1PTl8yLAorCU1PTl8zLAorCU1PTl80LAorCU1PTl81LAorCU1PTl82LAorCU1PTl83LAorCU1PTl84LAorCU1PTl85LAorCU1PTl8xMCwKKwlNT05fMTEsCisJTU9OXzEyLAorCisJQUJNT05fMSwKKwlBQk1PTl8yLAorCUFCTU9OXzMsCisJQUJNT05fNCwKKwlBQk1PTl81LAorCUFCTU9OXzYsCisJQUJNT05fNywKKwlBQk1PTl84LAorCUFCTU9OXzksCisJQUJNT05fMTAsCisJQUJNT05fMTEsCisJQUJNT05fMTIsCisKKwlFUkFfRF9GTVQsCisJRVJBX0RfVF9GTVQsCisJRVJBX1RfRk1ULAorCUFMVF9ESUdJVFMsCisJQ1JOQ1lTVFIsCisJWUVTRVhQUiwKKwlOT0VYUFIKK307CisKKyNlbmRpZiAvKiAhSEFWRV9MQU5HSU5GT19IICovCisKKyNpZm5kZWYgSEFWRV9MQU5HSU5GT19BTFRNT04KKyMgZGVmaW5lIEFMVE1PTl8xIE1PTl8xCisjIGRlZmluZSBBTFRNT05fMiBNT05fMgorIyBkZWZpbmUgQUxUTU9OXzMgTU9OXzMKKyMgZGVmaW5lIEFMVE1PTl80IE1PTl80CisjIGRlZmluZSBBTFRNT05fNSBNT05fNQorIyBkZWZpbmUgQUxUTU9OXzYgTU9OXzYKKyMgZGVmaW5lIEFMVE1PTl83IE1PTl83CisjIGRlZmluZSBBTFRNT05fOCBNT05fOAorIyBkZWZpbmUgQUxUTU9OXzkgTU9OXzkKKyMgZGVmaW5lIEFMVE1PTl8xMCBNT05fMTAKKyMgZGVmaW5lIEFMVE1PTl8xMSBNT05fMTEKKyMgZGVmaW5lIEFMVE1PTl8xMiBNT05fMTIKKyNlbmRpZiAvKiAhSEFWRV9MQU5HSU5GT19BTFRNT04gKi8KKworI2lmbmRlZiBIQVZFX0xBTkdJTkZPX05MX0FCQUxUTU9OCisjIGRlZmluZSBfTkxfQUJBTFRNT05fMSBBQk1PTl8xCisjIGRlZmluZSBfTkxfQUJBTFRNT05fMiBBQk1PTl8yCisjIGRlZmluZSBfTkxfQUJBTFRNT05fMyBBQk1PTl8zCisjIGRlZmluZSBfTkxfQUJBTFRNT05fNCBBQk1PTl80CisjIGRlZmluZSBfTkxfQUJBTFRNT05fNSBBQk1PTl81CisjIGRlZmluZSBfTkxfQUJBTFRNT05fNiBBQk1PTl82CisjIGRlZmluZSBfTkxfQUJBTFRNT05fNyBBQk1PTl83CisjIGRlZmluZSBfTkxfQUJBTFRNT05fOCBBQk1PTl84CisjIGRlZmluZSBfTkxfQUJBTFRNT05fOSBBQk1PTl85CisjIGRlZmluZSBfTkxfQUJBTFRNT05fMTAgQUJNT05fMTAKKyMgZGVmaW5lIF9OTF9BQkFMVE1PTl8xMSBBQk1PTl8xMQorIyBkZWZpbmUgX05MX0FCQUxUTU9OXzEyIEFCTU9OXzEyCisjZW5kaWYgLyogIUhBVkVfTEFOR0lORk9fTkxfQUJBTFRNT04gKi8KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfTkxTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvb3B0dXRpbHMuaCBiL2luY2x1ZGUvb3B0dXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZGMxMjdiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9vcHR1dGlscy5oCkBAIC0wLDAgKzEsMTA3IEBACisjaWZuZGVmIFVUSUxfTElOVVhfT1BUVVRJTFNfSAorI2RlZmluZSBVVElMX0xJTlVYX09QVFVUSUxTX0gKKworI2luY2x1ZGUgPGFzc2VydC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImNjdHlwZS5oIgorCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKm9wdGlvbl90b19sb25nb3B0KGludCBjLCBjb25zdCBzdHJ1Y3Qgb3B0aW9uICpvcHRzKQoreworCWNvbnN0IHN0cnVjdCBvcHRpb24gKm87CisKKwlhc3NlcnQoIShvcHRzID09IE5VTEwpKTsKKwlmb3IgKG8gPSBvcHRzOyBvLT5uYW1lOyBvKyspCisJCWlmIChvLT52YWwgPT0gYykKKwkJCXJldHVybiBvLT5uYW1lOworCXJldHVybiBOVUxMOworfQorCisjaWZuZGVmIE9QVFVUSUxTX0VYSVRfQ09ERQorIyBkZWZpbmUgT1BUVVRJTFNfRVhJVF9DT0RFIEVYSVRfRkFJTFVSRQorI2VuZGlmCisKKy8qCisgKiBDaGVjayBjb2xsaXNpb25zIGJldHdlZW4gb3B0aW9ucy4KKyAqCisgKiBUaGUgY29uZmxpY3RzIGJldHdlZW4gb3B0aW9ucyBhcmUgZGVzY3JpYmVkIGluIHVsX2V4Y2xfdCBhcnJheS4gVGhlCisgKiBhcnJheSBjb250YWlucyBncm91cHMgb2YgbXV0dWFsbHkgZXhjbHVzaXZlIG9wdGlvbnMuIEZvciBleGFtcGxlCisgKgorICoJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CisgKgkJeyAnWicsJ2InLCdjJyB9LAkJLy8gZmlyc3QgZ3JvdXAKKyAqCQl7ICdiJywneCcgfSwJCQkvLyBzZWNvbmQgZ3JvdXAKKyAqCQl7IDAgfQorICoJfTsKKyAqCisgKglpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisgKgorICoJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIlpiY3giLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisgKgorICoJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisgKgorICoJCXN3aXRjaCAoYykgeworICoJCWNhc2UgJ1onOgorICoJCSAgIC4uLi4KKyAqCQl9CisgKgl9CisgKgorICogVGhlIGFycmF5IGV4Y2xbXSBkZWZpbmVzIHR3byBncm91cHMgb2YgdGhlIG11dHVhbGx5IGV4Y2x1c2l2ZSBvcHRpb25zLiBUaGUKKyAqIG9wdGlvbiAnLWInIGlzIGluIHRoZSBib3RoIGdyb3Vwcy4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIG9wdGlvbnMgaW4gdGhlIGdyb3VwIGhhdmUgdG8gYmUgaW4gQVNDSUkgb3JkZXIgKEFCQy4uYWJjLi4pIGFuZAorICogZ3JvdXBzIGhhdmUgdG8gYmUgYWxzbyBpbiBBU0NJSSBvcmRlci4KKyAqCisgKiBUaGUgbWF4aW1hbCBudW1iZXIgb2YgdGhlIG9wdGlvbnMgaW4gdGhlIGdyb3VwIGlzIDE1IChzaXplIG9mIHRoZSBhcnJheSBpcworICogMTYsIGxhc3QgaXMgemVybykuCisgKgorICogVGhlIGN1cnJlbnQgc3RhdHVzIG9mIG9wdGlvbnMgaXMgc3RvcmVkIGluIGV4Y2xfc3QgYXJyYXkuIFRoZSBzaXplIG9mIHRoZSBhcnJheQorICogbXVzdCBiZSB0aGUgc2FtZSBhcyBudW1iZXIgb2YgdGhlIGdyb3VwcyBpbiB0aGUgdWxfZXhjbF90IGFycmF5LgorICoKKyAqIElmIHlvdSdyZSB1bnN1cmUgdGhlbiBzZWUgc3lzLXV0aWxzL21vdW50LmMgb3IgbWlzYy11dGlscy9maW5kbW50LmMuCisgKi8KKyNkZWZpbmUgVUxfRVhDTF9TVEFUVVNfSU5JVAl7IDAgfQordHlwZWRlZiBpbnQgdWxfZXhjbF90WzE2XTsKKworc3RhdGljIGlubGluZSB2b2lkIGVycl9leGNsdXNpdmVfb3B0aW9ucygKKwkJCWludCBjLAorCQkJY29uc3Qgc3RydWN0IG9wdGlvbiAqb3B0cywKKwkJCWNvbnN0IHVsX2V4Y2xfdCAqZXhjbCwKKwkJCWludCAqc3RhdHVzKQoreworCWludCBlOworCisJZm9yIChlID0gMDsgZXhjbFtlXVswXSAmJiBleGNsW2VdWzBdIDw9IGM7IGUrKykgeworCQljb25zdCBpbnQgKm9wID0gZXhjbFtlXTsKKworCQlmb3IgKDsgKm9wICYmICpvcCA8PSBjOyBvcCsrKSB7CisJCQlpZiAoKm9wICE9IGMpCisJCQkJY29udGludWU7CisJCQlpZiAoc3RhdHVzW2VdID09IDApCisJCQkJc3RhdHVzW2VdID0gYzsKKwkJCWVsc2UgaWYgKHN0YXR1c1tlXSAhPSBjKSB7CisJCQkJc2l6ZV90IGN0ID0gMDsKKworCQkJCWZwcmludGYoc3RkZXJyLCBfKCIlczogbXV0dWFsbHkgZXhjbHVzaXZlICIKKwkJCQkJCSAgImFyZ3VtZW50czoiKSwKKwkJCQkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCQkJCWZvciAob3AgPSBleGNsW2VdOworCQkJCSAgICAgY3QgKyAxIDwgQVJSQVlfU0laRShleGNsWzBdKSAmJiAqb3A7CisJCQkJICAgICBvcCsrLCBjdCsrKSB7CisJCQkJCWNvbnN0IGNoYXIgKm4gPSBvcHRpb25fdG9fbG9uZ29wdCgqb3AsIG9wdHMpOworCQkJCQlpZiAobikKKwkJCQkJCWZwcmludGYoc3RkZXJyLCAiIC0tJXMiLCBuKTsKKwkJCQkJZWxzZSBpZiAoY19pc2dyYXBoKCpvcCkpCisJCQkJCQlmcHJpbnRmKHN0ZGVyciwgIiAtJWMiLCAqb3ApOworCQkJCX0KKwkJCQlmcHV0YygnXG4nLCBzdGRlcnIpOworCQkJCWV4aXQoT1BUVVRJTFNfRVhJVF9DT0RFKTsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJfQorfQorCisjZW5kaWYKKwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wYWdlci5oIGIvaW5jbHVkZS9wYWdlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhNzE0MGQKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3BhZ2VyLmgKQEAgLTAsMCArMSw5IEBACisjaWZuZGVmIFVUSUxfTElOVVhfUEFHRVIKKyNkZWZpbmUgVVRJTF9MSU5VWF9QQUdFUgorCit2b2lkIHBhZ2VyX3JlZGlyZWN0KHZvaWQpOworCit2b2lkIHBhZ2VyX29wZW4odm9pZCk7Cit2b2lkIHBhZ2VyX2Nsb3NlKHZvaWQpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvcGFydHguaCBiL2luY2x1ZGUvcGFydHguaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MThhMGE0Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wYXJ0eC5oCkBAIC0wLDAgKzEsNjMgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QQVJUWF9ICisjZGVmaW5lIFVUSUxfTElOVVhfUEFSVFhfSAorCisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8bGludXgvYmxrcGcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmbmRlZiBCTEtQR19BRERfUEFSVElUSU9OCisjIGRlZmluZSBCTEtQR19BRERfUEFSVElUSU9OCTEKKyNlbmRpZgorCisjaWZuZGVmIEJMS1BHX0RFTF9QQVJUSVRJT04KKyMgZGVmaW5lIEJMS1BHX0RFTF9QQVJUSVRJT04JMgorI2VuZGlmCisKKyNpZm5kZWYgQkxLUEdfUkVTSVpFX1BBUlRJVElPTgorIyBkZWZpbmUgQkxLUEdfUkVTSVpFX1BBUlRJVElPTgkzCQkvKiBzaW5jZSBMaW51eCAzLjYgKi8KKyNlbmRpZgorCisKKyNkZWZpbmUgSU5JVF9CTEtQR19QQVJUSVRJT04oX3BhcnRubywgX3N0YXJ0LCBfc2l6ZSkgewlcCisJCS5wbm8gICAgPSAoX3BhcnRubyksCQkJXAorCQkuc3RhcnQgID0gKF9zdGFydCkgPDwgOSwJCVwKKwkJLmxlbmd0aCA9IChfc2l6ZSkgPDwgOSwJCQlcCisJCS5kZXZuYW1lWzBdID0gMCwJCQlcCisJCS52b2xuYW1lWzBdID0gMAkJCQlcCit9CisKKyNkZWZpbmUgSU5JVF9CTEtQR19BUkcoX2FjdGlvbiwgX3BhcnQpIHsJCVwKKwkJLm9wICAgICAgPSAoX2FjdGlvbiksCQkJXAorCQkuZmxhZ3MgICA9IDAsCQkJCVwKKwkJLmRhdGFsZW4gPSBzaXplb2YoKihfcGFydCkpLAkJXAorCQkuZGF0YSA9IChfcGFydCkJCQkJXAorfQorCisKK3N0YXRpYyBpbmxpbmUgaW50IHBhcnR4X2RlbF9wYXJ0aXRpb24oaW50IGZkLCB1bnNpZ25lZCBpbnQgcGFydG5vKQoreworCXN0cnVjdCBibGtwZ19wYXJ0aXRpb24gcCA9IElOSVRfQkxLUEdfUEFSVElUSU9OKHBhcnRubywgMCwgMCk7CisJc3RydWN0IGJsa3BnX2lvY3RsX2FyZyBhID0gSU5JVF9CTEtQR19BUkcoQkxLUEdfREVMX1BBUlRJVElPTiwgJnApOworCisJcmV0dXJuIGlvY3RsKGZkLCBCTEtQRywgJmEpOworfQorCitzdGF0aWMgaW5saW5lIGludCBwYXJ0eF9hZGRfcGFydGl0aW9uKGludCBmZCwgaW50IHBhcnRubywKKwkJCXVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBzaXplKQoreworCXN0cnVjdCBibGtwZ19wYXJ0aXRpb24gcCA9IElOSVRfQkxLUEdfUEFSVElUSU9OKHBhcnRubywgc3RhcnQsIHNpemUpOworCXN0cnVjdCBibGtwZ19pb2N0bF9hcmcgYSA9IElOSVRfQkxLUEdfQVJHKEJMS1BHX0FERF9QQVJUSVRJT04sICZwKTsKKworCXJldHVybiBpb2N0bChmZCwgQkxLUEcsICZhKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgcGFydHhfcmVzaXplX3BhcnRpdGlvbihpbnQgZmQsIGludCBwYXJ0bm8sCisJCQl1aW50NjRfdCBzdGFydCwgdWludDY0X3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgYmxrcGdfcGFydGl0aW9uIHAgPSBJTklUX0JMS1BHX1BBUlRJVElPTihwYXJ0bm8sIHN0YXJ0LCBzaXplKTsKKwlzdHJ1Y3QgYmxrcGdfaW9jdGxfYXJnIGEgPSBJTklUX0JMS1BHX0FSRyhCTEtQR19SRVNJWkVfUEFSVElUSU9OLCAmcCk7CisKKwlyZXR1cm4gaW9jdGwoZmQsIEJMS1BHLCAmYSk7Cit9CisKKyNlbmRpZiAvKiAgVVRJTF9MSU5VWF9QQVJUWF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BhdGguaCBiL2luY2x1ZGUvcGF0aC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhYjk3NzkKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3BhdGguaApAQCAtMCwwICsxLDEzMCBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1BBVEhfSAorI2RlZmluZSBVVElMX0xJTlVYX1BBVEhfSAorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKworI2luY2x1ZGUgImMuaCIKKworc3RydWN0IHBhdGhfY3h0IHsKKwlpbnQJZGlyX2ZkOworCWNoYXIJKmRpcl9wYXRoOworCisJaW50CXJlZmNvdW50OworCisJY2hhciAqcHJlZml4OworCWNoYXIgcGF0aF9idWZmZXJbUEFUSF9NQVhdOworCisJdm9pZAkqZGlhbGVjdDsKKwl2b2lkCSgqZnJlZV9kaWFsZWN0KShzdHJ1Y3QgcGF0aF9jeHQgKik7CisJaW50CSgqcmVkaXJlY3Rfb25fZW5vZW50KShzdHJ1Y3QgcGF0aF9jeHQgKiwgY29uc3QgY2hhciAqLCBpbnQgKik7Cit9OworCitzdHJ1Y3QgcGF0aF9jeHQgKnVsX25ld19wYXRoKGNvbnN0IGNoYXIgKmRpciwgLi4uKTsKK3ZvaWQgdWxfdW5yZWZfcGF0aChzdHJ1Y3QgcGF0aF9jeHQgKnBjKTsKK3ZvaWQgdWxfcmVmX3BhdGgoc3RydWN0IHBhdGhfY3h0ICpwYyk7CisKK3ZvaWQgdWxfcGF0aF9pbml0X2RlYnVnKHZvaWQpOworCitpbnQgdWxfcGF0aF9zZXRfcHJlZml4KHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKnByZWZpeCk7Citjb25zdCBjaGFyICp1bF9wYXRoX2dldF9wcmVmaXgoc3RydWN0IHBhdGhfY3h0ICpwYyk7CisKK2ludCB1bF9wYXRoX3NldF9kaXIoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqZGlyKTsKK2NvbnN0IGNoYXIgKnVsX3BhdGhfZ2V0X2RpcihzdHJ1Y3QgcGF0aF9jeHQgKnBjKTsKKworaW50IHVsX3BhdGhfc2V0X2RpYWxlY3Qoc3RydWN0IHBhdGhfY3h0ICpwYywgdm9pZCAqZGF0YSwgdm9pZCBmcmVlX2RhdGEoc3RydWN0IHBhdGhfY3h0ICopKTsKK3ZvaWQgKnVsX3BhdGhfZ2V0X2RpYWxlY3Qoc3RydWN0IHBhdGhfY3h0ICpwYyk7CisKK2ludCB1bF9wYXRoX3NldF9lbm9lbnRfcmVkaXJlY3Qoc3RydWN0IHBhdGhfY3h0ICpwYywgaW50ICgqZnVuYykoc3RydWN0IHBhdGhfY3h0ICosIGNvbnN0IGNoYXIgKiwgaW50ICopKTsKK2ludCB1bF9wYXRoX2dldF9kaXJmZChzdHJ1Y3QgcGF0aF9jeHQgKnBjKTsKKworY2hhciAqdWxfcGF0aF9nZXRfYWJzcGF0aChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjaGFyICpidWYsIHNpemVfdCBidWZzeiwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCA0LCA1KSkpOworCitpbnQgdWxfcGF0aF9hY2Nlc3Moc3RydWN0IHBhdGhfY3h0ICpwYywgaW50IG1vZGUsIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IHVsX3BhdGhfYWNjZXNzZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQgbW9kZSwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAzLCA0KSkpOworCitpbnQgdWxfcGF0aF9vcGVuKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGludCBmbGFncywgY29uc3QgY2hhciAqcGF0aCk7CitpbnQgdWxfcGF0aF9vcGVuZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMywgNCkpKTsKK2ludCB1bF9wYXRoX3ZvcGVuZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKnBhdGgsIHZhX2xpc3QgYXApOworCitGSUxFICp1bF9wYXRoX2ZvcGVuKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKm1vZGUsIGNvbnN0IGNoYXIgKnBhdGgpOworRklMRSAqdWxfcGF0aF9mb3BlbmYoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqbW9kZSwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAzLCA0KSkpOworRklMRSAqdWxfcGF0aF92Zm9wZW5mKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKm1vZGUsIGNvbnN0IGNoYXIgKnBhdGgsIHZhX2xpc3QgYXApOworCitESVIgKnVsX3BhdGhfb3BlbmRpcihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpwYXRoKTsKK0RJUiAqdWxfcGF0aF92b3BlbmRpcmYoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqcGF0aCwgdmFfbGlzdCBhcCk7CitESVIgKnVsX3BhdGhfb3BlbmRpcmYoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAzKSkpOworCitzc2l6ZV90IHVsX3BhdGhfcmVhZGxpbmsoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6LCBjb25zdCBjaGFyICpwYXRoKTsKK3NzaXplX3QgdWxfcGF0aF9yZWFkbGlua2Yoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6LCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDQsIDUpKSk7CisKK2ludCB1bF9wYXRoX3JlYWQoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICpwYXRoKTsKK2ludCB1bF9wYXRoX3ZyZWFkZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjaGFyICpidWYsIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKnBhdGgsIHZhX2xpc3QgYXApOworaW50IHVsX3BhdGhfcmVhZGYoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDQsIDUpKSk7CisKK2ludCB1bF9wYXRoX3JlYWRfc3RyaW5nKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNoYXIgKipzdHIsIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IHVsX3BhdGhfcmVhZGZfc3RyaW5nKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNoYXIgKipzdHIsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMywgNCkpKTsKKworaW50IHVsX3BhdGhfcmVhZF9idWZmZXIoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3osIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IHVsX3BhdGhfcmVhZGZfYnVmZmVyKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6LCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDQsIDUpKSk7CisKK2ludCB1bF9wYXRoX3NjYW5mKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKTsKK2ludCB1bF9wYXRoX3NjYW5mZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpwYXRoLCB2YV9saXN0IGFwLCBjb25zdCBjaGFyICpmbXQsIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19zY2FuZl9fLCA0LCA1KSkpOworCitpbnQgdWxfcGF0aF9yZWFkX21ham1pbihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBkZXZfdCAqcmVzLCBjb25zdCBjaGFyICpwYXRoKTsKK2ludCB1bF9wYXRoX3JlYWRmX21ham1pbihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBkZXZfdCAqcmVzLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMsIDQpKSk7CisKK2ludCB1bF9wYXRoX3JlYWRfdTMyKHN0cnVjdCBwYXRoX2N4dCAqcGMsIHVpbnQzMl90ICpyZXMsIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IHVsX3BhdGhfcmVhZGZfdTMyKHN0cnVjdCBwYXRoX2N4dCAqcGMsIHVpbnQzMl90ICpyZXMsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMywgNCkpKTsKKworaW50IHVsX3BhdGhfcmVhZF9zMzIoc3RydWN0IHBhdGhfY3h0ICpwYywgaW50MzJfdCAqcmVzLCBjb25zdCBjaGFyICpwYXRoKTsKK2ludCB1bF9wYXRoX3JlYWRmX3MzMihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQzMl90ICpyZXMsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMywgNCkpKTsKKworaW50IHVsX3BhdGhfcmVhZF91NjQoc3RydWN0IHBhdGhfY3h0ICpwYywgdWludDY0X3QgKnJlcywgY29uc3QgY2hhciAqcGF0aCk7CitpbnQgdWxfcGF0aF9yZWFkZl91NjQoc3RydWN0IHBhdGhfY3h0ICpwYywgdWludDY0X3QgKnJlcywgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAzLCA0KSkpOworCitpbnQgdWxfcGF0aF9yZWFkX3M2NChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQ2NF90ICpyZXMsIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IHVsX3BhdGhfcmVhZGZfczY0KHN0cnVjdCBwYXRoX2N4dCAqcGMsIGludDY0X3QgKnJlcywgY29uc3QgY2hhciAqcGF0aCwgLi4uKQorCQkJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAzLCA0KSkpOworCitpbnQgdWxfcGF0aF93cml0ZV9zdHJpbmcoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXRoKTsKK2ludCB1bF9wYXRoX3dyaXRlZl9zdHJpbmcoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMsIDQpKSk7CisKK2ludCB1bF9wYXRoX3dyaXRlX3U2NChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCB1aW50NjRfdCBudW0sIGNvbnN0IGNoYXIgKnBhdGgpOworaW50IHVsX3BhdGhfd3JpdGVmX3U2NChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCB1aW50NjRfdCBudW0sIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMywgNCkpKTsKKworaW50IHVsX3BhdGhfY291bnRfZGlyZW50cyhzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpwYXRoKTsKK2ludCB1bF9wYXRoX2NvdW50Zl9kaXJlbnRzKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKKworRklMRSAqdWxfcHJlZml4X2ZvcGVuKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqbW9kZSk7CisKKworI2lmZGVmIEhBVkVfQ1BVX1NFVF9UCisjIGluY2x1ZGUgImNwdXNldC5oIgoraW50IHVsX3BhdGhfcmVhZGZfY3B1c2V0KHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNwdV9zZXRfdCAqKnNldCwgaW50IG1heGNwdXMsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgNCwgNSkpKTsKKworaW50IHVsX3BhdGhfcmVhZGZfY3B1bGlzdChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjcHVfc2V0X3QgKipzZXQsIGludCBtYXhjcHVzLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCisJCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDQsIDUpKSk7CisjZW5kaWYgLyogSEFWRV9DUFVfU0VUX1QgKi8KKyNlbmRpZiAvKiBVVElMX0xJTlVYX1BBVEhfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wYXRobmFtZXMuaCBiL2luY2x1ZGUvcGF0aG5hbWVzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWJmMGNkZQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvcGF0aG5hbWVzLmgKQEAgLTAsMCArMSwxOTkgQEAKKy8qCisgKiBWYWd1ZWx5IGJhc2VkIG9uCisgKglAKCMpcGF0aG5hbWVzLmgJNS4zIChCZXJrZWxleSkgNS85Lzg5CisgKiBUaGlzIGNvZGUgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCisgKi8KKyNpZm5kZWYgUEFUSE5BTUVTX0gKKyNkZWZpbmUgUEFUSE5BTUVTX0gKKworI2lmZGVmIEhBVkVfUEFUSFNfSAorIyBpbmNsdWRlIDxwYXRocy5oPgorI2VuZGlmCisKKyNpZm5kZWYgX19TVERDX18KKyMgZXJyb3IgIndlIG5lZWQgYW4gQU5TSSBjb21waWxlciIKKyNlbmRpZgorCisvKiB1c2VkIGJ5IGtlcm5lbCBpbiAvcHJvYyAoZS5nLiAvcHJvYy9zd2FwcykgZm9yIGRlbGV0ZWQgZmlsZXMgKi8KKyNkZWZpbmUgUEFUSF9ERUxFVEVEX1NVRkZJWAkiXFwwNDAoZGVsZXRlZCkiCisjZGVmaW5lIFBBVEhfREVMRVRFRF9TVUZGSVhfU1oJKHNpemVvZihQQVRIX0RFTEVURURfU1VGRklYKSAtIDEpCisKKy8qIERFRlBBVEhzIGZyb20gPHBhdGhzLmg+IGRvbid0IGluY2x1ZGUgL3Vzci9sb2NhbCAqLworI3VuZGVmIF9QQVRIX0RFRlBBVEgKKworI2lmZGVmIFVTRV9VU1JESVJfUEFUSFNfT05MWQorIyBkZWZpbmUgX1BBVEhfREVGUEFUSAkgICAgICAgICIvdXNyL2xvY2FsL2JpbjovdXNyL2JpbiIKKyNlbHNlCisjIGRlZmluZSBfUEFUSF9ERUZQQVRICSAgICAgICAgIi91c3IvbG9jYWwvYmluOi9iaW46L3Vzci9iaW4iCisjZW5kaWYKKworI3VuZGVmIF9QQVRIX0RFRlBBVEhfUk9PVAorCisjaWZkZWYgVVNFX1VTUkRJUl9QQVRIU19PTkxZCisjIGRlZmluZSBfUEFUSF9ERUZQQVRIX1JPT1QJIi91c3IvbG9jYWwvc2JpbjovdXNyL2xvY2FsL2JpbjovdXNyL3NiaW46L3Vzci9iaW4iCisjZWxzZQorIyBkZWZpbmUgX1BBVEhfREVGUEFUSF9ST09UCSIvdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4iCisjZW5kaWYKKworI2RlZmluZQlfUEFUSF9IVVNITE9HSU4JCSIuaHVzaGxvZ2luIgorI2RlZmluZQlfUEFUSF9IVVNITE9HSU5TCSIvZXRjL2h1c2hsb2dpbnMiCisKKyNkZWZpbmUgX1BBVEhfTk9MT0dJTl9UWFQJIi9ldGMvbm9sb2dpbi50eHQiCisKKyNpZm5kZWYgX1BBVEhfTUFJTERJUgorIyBkZWZpbmUgX1BBVEhfTUFJTERJUgkJIi92YXIvc3Bvb2wvbWFpbCIKKyNlbmRpZgorI2RlZmluZQlfUEFUSF9NT1RERklMRQkJIi9ldGMvbW90ZCIKKyNpZm5kZWYgX1BBVEhfTk9MT0dJTgorIyBkZWZpbmUgX1BBVEhfTk9MT0dJTgkJIi9ldGMvbm9sb2dpbiIKKyNlbmRpZgorI2RlZmluZQlfUEFUSF9WQVJfTk9MT0dJTgkiL3Zhci9ydW4vbm9sb2dpbiIKKworI2lmbmRlZiBfUEFUSF9MT0dJTgorIyBkZWZpbmUgX1BBVEhfTE9HSU4JCSIvYmluL2xvZ2luIgorI2VuZGlmCisjZGVmaW5lIF9QQVRIX1NIVVRET1dOCQkiL3NiaW4vc2h1dGRvd24iCisKKyNkZWZpbmUgX1BBVEhfVEVSTUNPTE9SU19ESVJOQU1FICJ0ZXJtaW5hbC1jb2xvcnMuZCIKKyNkZWZpbmUgX1BBVEhfVEVSTUNPTE9SU19ESVIJIi9ldGMvIiBfUEFUSF9URVJNQ09MT1JTX0RJUk5BTUUKKworLyogbG9naW4gcGF0aHMgKi8KKyNkZWZpbmUgX1BBVEhfUEFTU1dECQkiL2V0Yy9wYXNzd2QiCisjZGVmaW5lIF9QQVRIX0dTSEFET1cJCSIvZXRjL2dzaGFkb3ciCisjZGVmaW5lIF9QQVRIX0dST1VQCQkiL2V0Yy9ncm91cCIKKyNkZWZpbmUgX1BBVEhfU0hBRE9XX1BBU1NXRAkiL2V0Yy9zaGFkb3ciCisjZGVmaW5lIF9QQVRIX1NIRUxMUwkJIi9ldGMvc2hlbGxzIgorCisjaWZuZGVmIF9QQVRIX0JUTVAKKyMgZGVmaW5lIF9QQVRIX0JUTVAJCSIvdmFyL2xvZy9idG1wIgorI2VuZGlmCisKKyNkZWZpbmUgX1BBVEhfSVNTVUUJCSIvZXRjL2lzc3VlIgorI2RlZmluZSBfUEFUSF9JU1NVRURJUgkJX1BBVEhfSVNTVUUgIi5kIgorCisjZGVmaW5lIF9QQVRIX09TX1JFTEVBU0VfRVRDCSIvZXRjL29zLXJlbGVhc2UiCisjZGVmaW5lIF9QQVRIX09TX1JFTEVBU0VfVVNSCSIvdXNyL2xpYi9vcy1yZWxlYXNlIgorI2RlZmluZSBfUEFUSF9OVU1MT0NLX09OCV9QQVRIX1JVTlNUQVRFRElSICIvbnVtbG9jay1vbiIKKyNkZWZpbmUgX1BBVEhfTE9HSU5ERUZTCQkiL2V0Yy9sb2dpbi5kZWZzIgorCisvKiBtaXNjIHBhdGhzICovCisjZGVmaW5lIF9QQVRIX1dPUkRTICAgICAgICAgICAgICIvdXNyL3NoYXJlL2RpY3Qvd29yZHMiCisjZGVmaW5lIF9QQVRIX1dPUkRTX0FMVCAgICAgICAgICIvdXNyL3NoYXJlL2RpY3Qvd2ViMiIKKworLyogbW91bnQgcGF0aHMgKi8KKyNkZWZpbmUgX1BBVEhfRklMRVNZU1RFTVMJIi9ldGMvZmlsZXN5c3RlbXMiCisjZGVmaW5lIF9QQVRIX1BST0NfU1dBUFMJIi9wcm9jL3N3YXBzIgorI2RlZmluZSBfUEFUSF9QUk9DX0ZJTEVTWVNURU1TCSIvcHJvYy9maWxlc3lzdGVtcyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19NT1VOVFMJIi9wcm9jL21vdW50cyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19QQVJUSVRJT05TCSIvcHJvYy9wYXJ0aXRpb25zIgorI2RlZmluZSBfUEFUSF9QUk9DX0RFVklDRVMJIi9wcm9jL2RldmljZXMiCisjZGVmaW5lIF9QQVRIX1BST0NfTU9VTlRJTkZPCSIvcHJvYy9zZWxmL21vdW50aW5mbyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19MT0NLUyAgICAgICAgIi9wcm9jL2xvY2tzIgorI2RlZmluZSBfUEFUSF9QUk9DX0NEUk9NSU5GTwkiL3Byb2Mvc3lzL2Rldi9jZHJvbS9pbmZvIgorCisjZGVmaW5lIF9QQVRIX1BST0NfVUlETUFQCSIvcHJvYy9zZWxmL3VpZF9tYXAiCisjZGVmaW5lIF9QQVRIX1BST0NfR0lETUFQCSIvcHJvYy9zZWxmL2dpZF9tYXAiCisjZGVmaW5lIF9QQVRIX1BST0NfU0VUR1JPVVBTCSIvcHJvYy9zZWxmL3NldGdyb3VwcyIKKworI2RlZmluZSBfUEFUSF9QUk9DX0FUVFJfQ1VSUkVOVAkiL3Byb2Mvc2VsZi9hdHRyL2N1cnJlbnQiCisjZGVmaW5lIF9QQVRIX1BST0NfQVRUUl9FWEVDCSIvcHJvYy9zZWxmL2F0dHIvZXhlYyIKKyNkZWZpbmUgX1BBVEhfUFJPQ19DQVBMQVNUQ0FQCSIvcHJvYy9zeXMva2VybmVsL2NhcF9sYXN0X2NhcCIKKworCisjZGVmaW5lIF9QQVRIX1NZU19CTE9DSwkJIi9zeXMvYmxvY2siCisjZGVmaW5lIF9QQVRIX1NZU19ERVZCTE9DSwkiL3N5cy9kZXYvYmxvY2siCisjZGVmaW5lIF9QQVRIX1NZU19DTEFTUwkJIi9zeXMvY2xhc3MiCisjZGVmaW5lIF9QQVRIX1NZU19TQ1NJCQkiL3N5cy9idXMvc2NzaSIKKworI2RlZmluZSBfUEFUSF9TWVNfU0VMSU5VWAkiL3N5cy9mcy9zZWxpbnV4IgorI2RlZmluZSBfUEFUSF9TWVNfQVBQQVJNT1IJIi9zeXMva2VybmVsL3NlY3VyaXR5L2FwcGFybW9yIgorCisjaWZuZGVmIF9QQVRIX01PVU5URUQKKyMgaWZkZWYgTU9VTlRFRAkJCQkJLyogZGVwcmVjYXRlZCAqLworIyAgZGVmaW5lIF9QQVRIX01PVU5URUQJCU1PVU5URUQKKyMgZWxzZQorIyAgZGVmaW5lIF9QQVRIX01PVU5URUQJCSIvZXRjL210YWIiCisjIGVuZGlmCisjZW5kaWYKKworI2lmbmRlZiBfUEFUSF9NTlRUQUIKKyMgaWZkZWYgTU5UVEFCCQkJCQkvKiBkZXByZWNhdGVkICovCisjICBkZWZpbmUgX1BBVEhfTU5UVEFCCQlNTlRUQUIKKyMgZWxzZQorIyAgZGVmaW5lIF9QQVRIX01OVFRBQgkJIi9ldGMvZnN0YWIiCisjIGVuZGlmCisjZW5kaWYKKworI2lmbmRlZiBfUEFUSF9ERVYKKyAgLyoKKyAgICogVGhlIHRhaWxpbmcgJy8nIGluIF9QQVRIX0RFViBpcyB0aGVyZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGxpYmMuCisgICAqLworIyBkZWZpbmUgX1BBVEhfREVWCQkiL2Rldi8iCisjZW5kaWYKKworI2RlZmluZSBfUEFUSF9ERVZfTUFQUEVSCSIvZGV2L21hcHBlciIKKworI2RlZmluZSBfUEFUSF9ERVZfTUVNCQkiL2Rldi9tZW0iCisKKyNkZWZpbmUgX1BBVEhfREVWX0xPT1AJCSIvZGV2L2xvb3AiCisjZGVmaW5lIF9QQVRIX0RFVl9MT09QQ1RMCSIvZGV2L2xvb3AtY29udHJvbCIKKworLyogdWRldiBwYXRocyAqLworI2RlZmluZSBfUEFUSF9ERVZfQllMQUJFTAkiL2Rldi9kaXNrL2J5LWxhYmVsIgorI2RlZmluZSBfUEFUSF9ERVZfQllVVUlECSIvZGV2L2Rpc2svYnktdXVpZCIKKyNkZWZpbmUgX1BBVEhfREVWX0JZSUQJCSIvZGV2L2Rpc2svYnktaWQiCisjZGVmaW5lIF9QQVRIX0RFVl9CWVBBVEgJIi9kZXYvZGlzay9ieS1wYXRoIgorI2RlZmluZSBfUEFUSF9ERVZfQllQQVJUTEFCRUwJIi9kZXYvZGlzay9ieS1wYXJ0bGFiZWwiCisjZGVmaW5lIF9QQVRIX0RFVl9CWVBBUlRVVUlECSIvZGV2L2Rpc2svYnktcGFydHV1aWQiCisKKy8qIGh3Y2xvY2sgcGF0aHMgKi8KKyNpZmRlZiBDT05GSUdfQURKVElNRV9QQVRICisjIGRlZmluZSBfUEFUSF9BREpUSU1FCQlDT05GSUdfQURKVElNRV9QQVRICisjZWxzZQorIyBkZWZpbmUgX1BBVEhfQURKVElNRQkJIi9ldGMvYWRqdGltZSIKKyNlbmRpZgorCisjaWZkZWYgX19pYTY0X18KKyMgZGVmaW5lIF9QQVRIX1JUQ19ERVYJCSIvZGV2L2VmaXJ0YyIKKyNlbHNlCisjIGRlZmluZSBfUEFUSF9SVENfREVWCQkiL2Rldi9ydGMwIgorI2VuZGlmCisKKy8qIHJhdyBwYXRocyovCisjZGVmaW5lIF9QQVRIX1JBV0RFVkRJUgkJIi9kZXYvcmF3LyIKKyNkZWZpbmUgX1BBVEhfUkFXREVWQ1RMCQlfUEFUSF9SQVdERVZESVIgInJhd2N0bCIKKy8qIGRlcHJlY2F0ZWQgKi8KKyNkZWZpbmUgX1BBVEhfUkFXREVWQ1RMX09MRAkiL2Rldi9yYXdjdGwiCisKKy8qIHdkY3RsIHBhdGggKi8KKyNkZWZpbmUgX1BBVEhfV0FUQ0hET0dfREVWCSIvZGV2L3dhdGNoZG9nIgorCisvKiBpcGMgcGF0aHMgKi8KKyNkZWZpbmUgX1BBVEhfUFJPQ19TWVNWX01TRwkiL3Byb2Mvc3lzdmlwYy9tc2ciCisjZGVmaW5lIF9QQVRIX1BST0NfU1lTVl9TRU0JIi9wcm9jL3N5c3ZpcGMvc2VtIgorI2RlZmluZSBfUEFUSF9QUk9DX1NZU1ZfU0hNCSIvcHJvYy9zeXN2aXBjL3NobSIKKyNkZWZpbmUgX1BBVEhfUFJPQ19JUENfTVNHTUFYCSIvcHJvYy9zeXMva2VybmVsL21zZ21heCIKKyNkZWZpbmUgX1BBVEhfUFJPQ19JUENfTVNHTU5CCSIvcHJvYy9zeXMva2VybmVsL21zZ21uYiIKKyNkZWZpbmUgX1BBVEhfUFJPQ19JUENfTVNHTU5JCSIvcHJvYy9zeXMva2VybmVsL21zZ21uaSIKKyNkZWZpbmUgX1BBVEhfUFJPQ19JUENfU0VNCSIvcHJvYy9zeXMva2VybmVsL3NlbSIKKyNkZWZpbmUgX1BBVEhfUFJPQ19JUENfU0hNQUxMCSIvcHJvYy9zeXMva2VybmVsL3NobWFsbCIKKyNkZWZpbmUgX1BBVEhfUFJPQ19JUENfU0hNTUFYCSIvcHJvYy9zeXMva2VybmVsL3NobW1heCIKKyNkZWZpbmUgX1BBVEhfUFJPQ19JUENfU0hNTU5JCSIvcHJvYy9zeXMva2VybmVsL3NobW1uaSIKKworLyoga2VybmVsIGNvbW1hbmQgbGluZSAqLworI2RlZmluZSBfUEFUSF9QUk9DX0NNRExJTkUJIi9wcm9jL2NtZGxpbmUiCisKKy8qIGxvZ2dlciBwYXRocyAqLworI2RlZmluZSBfUEFUSF9ERVZMT0cJCSIvZGV2L2xvZyIKKworLyogY3RybGFsdGRlbCBwYXRocyAqLworI2RlZmluZSBfUEFUSF9QUk9DX0NUUkxfQUxUX0RFTAkiL3Byb2Mvc3lzL2tlcm5lbC9jdHJsLWFsdC1kZWwiCisKKy8qIGxzY3B1IHBhdGhzICovCisjZGVmaW5lIF9QQVRIX1BST0NfQ1BVSU5GTwkiL3Byb2MvY3B1aW5mbyIKKworLyogcmZraWxsIHBhdGhzICovCisjZGVmaW5lIF9QQVRIX0RFVl9SRktJTEwJIi9kZXYvcmZraWxsIgorI2RlZmluZSBfUEFUSF9TWVNfUkZLSUxMCSIvc3lzL2NsYXNzL3Jma2lsbCIKKworI2VuZGlmIC8qIFBBVEhOQU1FU19IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3BseW1vdXRoLWN0cmwuaCBiL2luY2x1ZGUvcGx5bW91dGgtY3RybC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwZWFmMGMKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3BseW1vdXRoLWN0cmwuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogcGx5bW91dGgtY3RybC5oCUhlYWRlciBmaWxlIGZvciBjb21tdW5pY2F0aW9ucyB3aXRoIHBseW1vdXRoZAorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNiBTVVNFIExpbnV4IEdtYkgsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTYgV2VybmVyIEZpbmsgPHdlcm5lckBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKiAgCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbSAoc2VlIHRoZSBmaWxlIENPUFlJTkcpOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKiBBdXRob3I6IFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAqLworCisvKgorICogVGFrZW4gZnJvbSBwbHltb3V0aCAwLjkuMCBzcmMvcGx5LWJvb3QtcHJvdG9jb2wuaAorICovCisKKyNpZm5kZWYgVVRJTF9MSU5VWF9QTFlNT1VUSF9DVFJMX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9QTFlNT1VUSF9DVFJMX0gKKworI2RlZmluZSBQTFlNT1VUSF9TT0NLRVRfUEFUSAkiXDAvb3JnL2ZyZWVkZXNrdG9wL3BseW1vdXRoZCIKKyNkZWZpbmUgQU5TV0VSX1RZUAkJJ1x4MicKKyNkZWZpbmUgQU5TV0VSX0VOUQkJJ1x4NScKKyNkZWZpbmUgQU5TV0VSX0FDSwkJJ1x4NicKKyNkZWZpbmUgQU5TV0VSX01MVAkJJ1x0JworI2RlZmluZSBBTlNXRVJfTkNLCQknXHgxNScKKworI2RlZmluZSBNQUdJQ19QUkdfU1RPUAkJJ0EnCisjZGVmaW5lIE1BR0lDX1BSR19DT05UCQknYScKKyNkZWZpbmUgTUFHSUNfVVBEQVRFCQknVScKKyNkZWZpbmUgTUFHSUNfU1lTX1VQREFURQkndScKKyNkZWZpbmUgTUFHSUNfU1lTX0lOSVQJCSdTJworI2RlZmluZSBNQUdJQ19ERUFDVElWQVRFCSdEJworI2RlZmluZSBNQUdJQ19SRUFDVElWQVRFCSdyJworI2RlZmluZSBNQUdJQ19TSE9XX1NQTEFTSAknJCcKKyNkZWZpbmUgTUFHSUNfSElERV9TUExBU0gJJ0gnCisjZGVmaW5lIE1BR0lDX0NITU9ECQknQycKKyNkZWZpbmUgTUFHSUNfQ0hST09UCQknUicKKyNkZWZpbmUgTUFHSUNfQUNUSVZFX1ZUCQknVicKKyNkZWZpbmUgTUFHSUNfUVVFU1RJT04JCSdXJworI2RlZmluZSBNQUdJQ19TSE9XX01TRwkJJ00nCisjZGVmaW5lIE1BR0lDX0hJREVfTVNHCQknbScKKyNkZWZpbmUgTUFHSUNfS0VZU1RST0tFCQknSycKKyNkZWZpbmUgTUFHSUNfS0VZU1RST0tFX1JNCSdMJworI2RlZmluZSBNQUdJQ19QSU5HCQknUCcKKyNkZWZpbmUgTUFHSUNfUVVJVAkJJ1EnCisjZGVmaW5lIE1BR0lDX0NBQ0hFRF9QV0QJJ2MnCisjZGVmaW5lIE1BR0lDX0FTS19QV0QJCScqJworI2RlZmluZSBNQUdJQ19ERVRBSUxTCQknIScKKworI2RlZmluZSBQTFlNT1VUSF9URVJNSU9TX0ZMQUdTX0RFTEFZCTMwCitleHRlcm4gaW50IHBseW1vdXRoX2NvbW1hbmQoaW50IGNtZCwgLi4uKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUExZTU9VVEhfQ1RSTF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3Byb2N1dGlscy5oIGIvaW5jbHVkZS9wcm9jdXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZjhkZDc2Ci0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wcm9jdXRpbHMuaApAQCAtMCwwICsxLDM0IEBACisjaWZuZGVmIFVUSUxfTElOVVhfUFJPQ1VUSUxTCisjZGVmaW5lIFVUSUxfTElOVVhfUFJPQ1VUSUxTCisKKyNpbmNsdWRlIDxkaXJlbnQuaD4KKworc3RydWN0IHByb2NfdGFza3MgeworCURJUiAqZGlyOworfTsKKworZXh0ZXJuIHN0cnVjdCBwcm9jX3Rhc2tzICpwcm9jX29wZW5fdGFza3MocGlkX3QgcGlkKTsKK2V4dGVybiB2b2lkIHByb2NfY2xvc2VfdGFza3Moc3RydWN0IHByb2NfdGFza3MgKnRhc2tzKTsKK2V4dGVybiBpbnQgcHJvY19uZXh0X3RpZChzdHJ1Y3QgcHJvY190YXNrcyAqdGFza3MsIHBpZF90ICp0aWQpOworCitzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgeworCURJUiAqZGlyOworCisJY29uc3QgY2hhciAqZmx0cl9uYW1lOworCXVpZF90IGZsdHJfdWlkOworCisJdW5zaWduZWQgaW50IGhhc19mbHRyX25hbWUgOiAxLAorCQkgICAgIGhhc19mbHRyX3VpZCA6IDE7Cit9OworCitleHRlcm4gc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwcm9jX29wZW5fcHJvY2Vzc2VzKHZvaWQpOworZXh0ZXJuIHZvaWQgcHJvY19jbG9zZV9wcm9jZXNzZXMoc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwcyk7CisKK2V4dGVybiB2b2lkIHByb2NfcHJvY2Vzc2VzX2ZpbHRlcl9ieV9uYW1lKHN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHMsIGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIHZvaWQgcHJvY19wcm9jZXNzZXNfZmlsdGVyX2J5X3VpZChzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzLCB1aWRfdCB1aWQpOworZXh0ZXJuIGludCBwcm9jX25leHRfcGlkKHN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHMsIHBpZF90ICpwaWQpOworCitleHRlcm4gY2hhciAqcHJvY19nZXRfY29tbWFuZChwaWRfdCBwaWQpOworZXh0ZXJuIGNoYXIgKnByb2NfZ2V0X2NvbW1hbmRfbmFtZShwaWRfdCBwaWQpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9QUk9DVVRJTFMgKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcHQtYnNkLmggYi9pbmNsdWRlL3B0LWJzZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjliZjQ3YTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3B0LWJzZC5oCkBAIC0wLDAgKzEsMTU2IEBACisjaWZuZGVmIFVUSUxfTElOVVhfUFRfQlNEX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9QVF9CU0RfSAorCisjZGVmaW5lIEJTRF9NQVhQQVJUSVRJT05TCTE2CisjZGVmaW5lIEJTRF9GU19VTlVTRUQJCTAKKworI2lmbmRlZiBCU0RfRElTS01BR0lDCisjIGRlZmluZSBCU0RfRElTS01BR0lDICAgICAoKHVpbnQzMl90KSAweDgyNTY0NTU3KQorI2VuZGlmCisKKyNkZWZpbmUgQlNEX0xJTlVYX0JPT1RESVIgIi91c3IvdWNiL21kZWMiCisKKyNpZiBkZWZpbmVkIChfX2FscGhhX18pIHx8IGRlZmluZWQgKF9fcG93ZXJwY19fKSB8fCBcCisgICAgZGVmaW5lZCAoX19pYTY0X18pIHx8IGRlZmluZWQgKF9faHBwYV9fKQorIyBkZWZpbmUgQlNEX0xBQkVMU0VDVE9SICAgMAorIyBkZWZpbmUgQlNEX0xBQkVMT0ZGU0VUICAgNjQKKyNlbHNlCisjIGRlZmluZSBCU0RfTEFCRUxTRUNUT1IgICAxCisjIGRlZmluZSBCU0RfTEFCRUxPRkZTRVQgICAwCisjZW5kaWYKKworI2RlZmluZQlCU0RfQkJTSVpFICAgICAgICA4MTkyCQkvKiBzaXplIG9mIGJvb3QgYXJlYSwgd2l0aCBsYWJlbCAqLworI2RlZmluZQlCU0RfU0JTSVpFICAgICAgICA4MTkyCQkvKiBtYXggc2l6ZSBvZiBmcyBzdXBlcmJsb2NrICovCisKK3N0cnVjdCBic2RfZGlza2xhYmVsIHsKKwl1aW50MzJfdAlkX21hZ2ljOwkJLyogdGhlIG1hZ2ljIG51bWJlciAqLworCWludDE2X3QJCWRfdHlwZTsJCQkvKiBkcml2ZSB0eXBlICovCisJaW50MTZfdAkJZF9zdWJ0eXBlOwkJLyogY29udHJvbGxlci9kX3R5cGUgc3BlY2lmaWMgKi8KKwljaGFyCQlkX3R5cGVuYW1lWzE2XTsJCS8qIHR5cGUgbmFtZSwgZS5nLiAiZWFnbGUiICovCisJY2hhcgkJZF9wYWNrbmFtZVsxNl07CQkvKiBwYWNrIGlkZW50aWZpZXIgKi8KKworCQkJLyogZGlzayBnZW9tZXRyeTogKi8KKwl1aW50MzJfdAlkX3NlY3NpemU7CQkvKiAjIG9mIGJ5dGVzIHBlciBzZWN0b3IgKi8KKwl1aW50MzJfdAlkX25zZWN0b3JzOwkJLyogIyBvZiBkYXRhIHNlY3RvcnMgcGVyIHRyYWNrICovCisJdWludDMyX3QJZF9udHJhY2tzOwkJLyogIyBvZiB0cmFja3MgcGVyIGN5bGluZGVyICovCisJdWludDMyX3QJZF9uY3lsaW5kZXJzOwkJLyogIyBvZiBkYXRhIGN5bGluZGVycyBwZXIgdW5pdCAqLworCXVpbnQzMl90CWRfc2VjcGVyY3lsOwkJLyogIyBvZiBkYXRhIHNlY3RvcnMgcGVyIGN5bGluZGVyICovCisJdWludDMyX3QJZF9zZWNwZXJ1bml0OwkJLyogIyBvZiBkYXRhIHNlY3RvcnMgcGVyIHVuaXQgKi8KKworCS8qCisJICogU3BhcmVzIChiYWQgc2VjdG9yIHJlcGxhY2VtZW50cykgYmVsb3cKKwkgKiBhcmUgbm90IGNvdW50ZWQgaW4gZF9uc2VjdG9ycyBvciBkX3NlY3BlcmN5bC4KKwkgKiBTcGFyZSBzZWN0b3JzIGFyZSBhc3N1bWVkIHRvIGJlIHBoeXNpY2FsIHNlY3RvcnMKKwkgKiB3aGljaCBvY2N1cHkgc3BhY2UgYXQgdGhlIGVuZCBvZiBlYWNoIHRyYWNrIGFuZC9vciBjeWxpbmRlci4KKwkgKi8KKwl1aW50MTZfdAlkX3NwYXJlc3BlcnRyYWNrOwkvKiAjIG9mIHNwYXJlIHNlY3RvcnMgcGVyIHRyYWNrICovCisJdWludDE2X3QJZF9zcGFyZXNwZXJjeWw7CQkvKiAjIG9mIHNwYXJlIHNlY3RvcnMgcGVyIGN5bGluZGVyICovCisKKwkvKgorCSAqIEFsdGVybmF0ZSBjeWxpbmRlcnMgaW5jbHVkZSBtYWludGVuYW5jZSwgcmVwbGFjZW1lbnQsCisJICogY29uZmlndXJhdGlvbiBkZXNjcmlwdGlvbiBhcmVhcywgZXRjLgorCSAqLworCXVpbnQzMl90CWRfYWN5bGluZGVyczsJCS8qICMgb2YgYWx0LiBjeWxpbmRlcnMgcGVyIHVuaXQgKi8KKworCQkJLyogaGFyZHdhcmUgY2hhcmFjdGVyaXN0aWNzOiAqLworCS8qCisJICogZF9pbnRlcmxlYXZlLCBkX3RyYWNrc2tldyBhbmQgZF9jeWxza2V3IGRlc2NyaWJlIHBlcnR1cmJhdGlvbnMKKwkgKiBpbiB0aGUgbWVkaWEgZm9ybWF0IHVzZWQgdG8gY29tcGVuc2F0ZSBmb3IgYSBzbG93IGNvbnRyb2xsZXIuCisJICogSW50ZXJsZWF2ZSBpcyBwaHlzaWNhbCBzZWN0b3IgaW50ZXJsZWF2ZSwgc2V0IHVwIGJ5IHRoZSBmb3JtYXR0ZXIKKwkgKiBvciBjb250cm9sbGVyIHdoZW4gZm9ybWF0dGluZy4gIFdoZW4gaW50ZXJsZWF2aW5nIGlzIGluIHVzZSwKKwkgKiBsb2dpY2FsbHkgYWRqYWNlbnQgc2VjdG9ycyBhcmUgbm90IHBoeXNpY2FsbHkgY29udGlndW91cywKKwkgKiBidXQgaW5zdGVhZCBhcmUgc2VwYXJhdGVkIGJ5IHNvbWUgbnVtYmVyIG9mIHNlY3RvcnMuCisJICogSXQgaXMgc3BlY2lmaWVkIGFzIHRoZSByYXRpbyBvZiBwaHlzaWNhbCBzZWN0b3JzIHRyYXZlcnNlZAorCSAqIHBlciBsb2dpY2FsIHNlY3Rvci4gIFRodXMgYW4gaW50ZXJsZWF2ZSBvZiAxOjEgaW1wbGllcyBjb250aWd1b3VzCisJICogbGF5b3V0LCB3aGlsZSAyOjEgaW1wbGllcyB0aGF0IGxvZ2ljYWwgc2VjdG9yIDAgaXMgc2VwYXJhdGVkCisJICogYnkgb25lIHNlY3RvciBmcm9tIGxvZ2ljYWwgc2VjdG9yIDEuCisJICogZF90cmFja3NrZXcgaXMgdGhlIG9mZnNldCBvZiBzZWN0b3IgMCBvbiB0cmFjayBOCisJICogcmVsYXRpdmUgdG8gc2VjdG9yIDAgb24gdHJhY2sgTi0xIG9uIHRoZSBzYW1lIGN5bGluZGVyLgorCSAqIEZpbmFsbHksIGRfY3lsc2tldyBpcyB0aGUgb2Zmc2V0IG9mIHNlY3RvciAwIG9uIGN5bGluZGVyIE4KKwkgKiByZWxhdGl2ZSB0byBzZWN0b3IgMCBvbiBjeWxpbmRlciBOLTEuCisJICovCisJdWludDE2X3QJZF9ycG07CQkJLyogcm90YXRpb25hbCBzcGVlZCAqLworCXVpbnQxNl90CWRfaW50ZXJsZWF2ZTsJCS8qIGhhcmR3YXJlIHNlY3RvciBpbnRlcmxlYXZlICovCisJdWludDE2X3QJZF90cmFja3NrZXc7CQkvKiBzZWN0b3IgMCBza2V3LCBwZXIgdHJhY2sgKi8KKwl1aW50MTZfdAlkX2N5bHNrZXc7CQkvKiBzZWN0b3IgMCBza2V3LCBwZXIgY3lsaW5kZXIgKi8KKwl1aW50MzJfdAlkX2hlYWRzd2l0Y2g7CQkvKiBoZWFkIHN3aXRjaCB0aW1lLCB1c2VjICovCisJdWludDMyX3QJZF90cmtzZWVrOwkJLyogdHJhY2stdG8tdHJhY2sgc2VlaywgdXNlYyAqLworCXVpbnQzMl90CWRfZmxhZ3M7CQkvKiBnZW5lcmljIGZsYWdzICovCisJdWludDMyX3QJZF9kcml2ZWRhdGFbNV07CQkvKiBkcml2ZS10eXBlIHNwZWNpZmljIGluZm9ybWF0aW9uICovCisJdWludDMyX3QJZF9zcGFyZVs1XTsJCS8qIHJlc2VydmVkIGZvciBmdXR1cmUgdXNlICovCisJdWludDMyX3QJZF9tYWdpYzI7CQkvKiB0aGUgbWFnaWMgbnVtYmVyIChhZ2FpbikgKi8KKwl1aW50MTZfdAlkX2NoZWNrc3VtOwkJLyogeG9yIG9mIGRhdGEgaW5jbC4gcGFydGl0aW9ucyAqLworCisJCQkvKiBmaWxlc3lzdGVtIGFuZCBwYXJ0aXRpb24gaW5mb3JtYXRpb246ICovCisJdWludDE2X3QJZF9ucGFydGl0aW9uczsJICAgICAgICAvKiBudW1iZXIgb2YgcGFydGl0aW9ucyBpbiBmb2xsb3dpbmcgKi8KKwl1aW50MzJfdAlkX2Jic2l6ZTsJICAgICAgICAvKiBzaXplIG9mIGJvb3QgYXJlYSBhdCBzbjAsIGJ5dGVzICovCisJdWludDMyX3QJZF9zYnNpemU7CSAgICAgICAgLyogbWF4IHNpemUgb2YgZnMgc3VwZXJibG9jaywgYnl0ZXMgKi8KKworCXN0cnVjdCBic2RfcGFydGl0aW9uCSB7CQkvKiB0aGUgcGFydGl0aW9uIHRhYmxlICovCisJCXVpbnQzMl90CXBfc2l6ZTsJICAgICAgICAvKiBudW1iZXIgb2Ygc2VjdG9ycyBpbiBwYXJ0aXRpb24gKi8KKwkJdWludDMyX3QJcF9vZmZzZXQ7ICAgICAgIC8qIHN0YXJ0aW5nIHNlY3RvciAqLworCQl1aW50MzJfdAlwX2ZzaXplOyAgICAgICAgLyogZmlsZXN5c3RlbSBiYXNpYyBmcmFnbWVudCBzaXplICovCisJCXVpbnQ4X3QJCXBfZnN0eXBlOwkvKiBmaWxlc3lzdGVtIHR5cGUsIHNlZSBiZWxvdyAqLworCQl1aW50OF90CQlwX2ZyYWc7CQkvKiBmaWxlc3lzdGVtIGZyYWdtZW50cyBwZXIgYmxvY2sgKi8KKwkJdWludDE2X3QJcF9jcGc7CSAgICAgICAgLyogZmlsZXN5c3RlbSBjeWxpbmRlcnMgcGVyIGdyb3VwICovCisJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBkX3BhcnRpdGlvbnNbQlNEX01BWFBBUlRJVElPTlNdOwkvKiBhY3R1YWxseSBtYXkgYmUgbW9yZSAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworCisvKiBkX3R5cGUgdmFsdWVzOiAqLworI2RlZmluZQlCU0RfRFRZUEVfU01ECQkxCQkvKiBTTUQsIFhTTUQ7IFZBWCBocC91cCAqLworI2RlZmluZQlCU0RfRFRZUEVfTVNDUAkJMgkJLyogTVNDUCAqLworI2RlZmluZQlCU0RfRFRZUEVfREVDCQkzCQkvKiBvdGhlciBERUMgKHJrLCBybCkgKi8KKyNkZWZpbmUJQlNEX0RUWVBFX1NDU0kJCTQJCS8qIFNDU0kgKi8KKyNkZWZpbmUJQlNEX0RUWVBFX0VTREkJCTUJCS8qIEVTREkgaW50ZXJmYWNlICovCisjZGVmaW5lCUJTRF9EVFlQRV9TVDUwNgkJNgkJLyogU1Q1MDYgZXRjLiAqLworI2RlZmluZQlCU0RfRFRZUEVfSFBJQgkJNwkJLyogQ1MvODAgb24gSFAtSUIgKi8KKyNkZWZpbmUgQlNEX0RUWVBFX0hQRkwJCTgJCS8qIEhQIEZpYmVyLWxpbmsgKi8KKyNkZWZpbmUJQlNEX0RUWVBFX0ZMT1BQWQkxMAkJLyogZmxvcHB5ICovCisKKy8qIGRfc3VidHlwZSB2YWx1ZXM6ICovCisjZGVmaW5lIEJTRF9EU1RZUEVfSU5ET1NQQVJUCTB4OAkJLyogaXMgaW5zaWRlIGRvcyBwYXJ0aXRpb24gKi8KKyNkZWZpbmUgQlNEX0RTVFlQRV9ET1NQQVJUKHMpCSgocykgJiAzKQkvKiBkb3MgcGFydGl0aW9uIG51bWJlciAqLworI2RlZmluZSBCU0RfRFNUWVBFX0dFT01FVFJZCTB4MTAJCS8qIGRyaXZlIHBhcmFtcyBpbiBsYWJlbCAqLworCisvKgorICogRmlsZXN5c3RlbSB0eXBlIGFuZCB2ZXJzaW9uLgorICogVXNlZCB0byBpbnRlcnByZXQgb3RoZXIgZmlsZXN5c3RlbS1zcGVjaWZpYworICogcGVyLXBhcnRpdGlvbiBpbmZvcm1hdGlvbi4KKyAqLworI2RlZmluZQlCU0RfRlNfVU5VU0VECTAJCS8qIHVudXNlZCAqLworI2RlZmluZQlCU0RfRlNfU1dBUCAgICAJMQkJLyogc3dhcCAqLworI2RlZmluZQlCU0RfRlNfVjYgICAgICAJMgkJLyogU2l4dGggRWRpdGlvbiAqLworI2RlZmluZQlCU0RfRlNfVjcgICAgICAJMwkJLyogU2V2ZW50aCBFZGl0aW9uICovCisjZGVmaW5lCUJTRF9GU19TWVNWICAgIAk0CQkvKiBTeXN0ZW0gViAqLworI2RlZmluZQlCU0RfRlNfVjcxSyAgICAJNQkJLyogVjcgd2l0aCAxSyBibG9ja3MgKDQuMSwgMi45KSAqLworI2RlZmluZQlCU0RfRlNfVjggICAgICAJNgkJLyogRWlnaHRoIEVkaXRpb24sIDRLIGJsb2NrcyAqLworI2RlZmluZQlCU0RfRlNfQlNERkZTCTcJCS8qIDQuMkJTRCBmYXN0IGZpbGUgc3lzdGVtICovCisjZGVmaW5lCUJTRF9GU19CU0RMRlMJOQkJLyogNC40QlNEIGxvZy1zdHJ1Y3R1cmVkIGZpbGUgc3lzdGVtICovCisjZGVmaW5lCUJTRF9GU19PVEhFUgkxMAkJLyogaW4gdXNlLCBidXQgdW5rbm93bi91bnN1cHBvcnRlZCAqLworI2RlZmluZQlCU0RfRlNfSFBGUwkxMQkJLyogT1MvMiBoaWdoLXBlcmZvcm1hbmNlIGZpbGUgc3lzdGVtICovCisjZGVmaW5lCUJTRF9GU19JU085NjYwCTEyCQkvKiBJU08tOTY2MCBmaWxlc3lzdGVtIChjZHJvbSkgKi8KKyNkZWZpbmUgQlNEX0ZTX0lTT0ZTCUJTRF9GU19JU085NjYwCisjZGVmaW5lCUJTRF9GU19CT09UCTEzCQkvKiBwYXJ0aXRpb24gY29udGFpbnMgYm9vdHN0cmFwICovCisjZGVmaW5lIEJTRF9GU19BRE9TCTE0CQkvKiBBbWlnYURPUyBmYXN0IGZpbGUgc3lzdGVtICovCisjZGVmaW5lIEJTRF9GU19IRlMJMTUJCS8qIE1hY2ludG9zaCBIRlMgKi8KKyNkZWZpbmUgQlNEX0ZTX0FEVkZTCTE2CQkvKiBEaWdpdGFsIFVuaXggQWR2RlMgKi8KKworLyogdGhpcyBpcyBhbm5veWluZywgYnV0IGl0J3MgYWxzbyB0aGUgd2F5IGl0IGlzIDotKCAqLworI2lmZGVmIF9fYWxwaGFfXworI2RlZmluZQlCU0RfRlNfRVhUMgk4CQkvKiBleHQyIGZpbGUgc3lzdGVtICovCisjZWxzZQorI2RlZmluZQlCU0RfRlNfTVNET1MJOAkJLyogTVMtRE9TIGZpbGUgc3lzdGVtICovCisjZW5kaWYKKworLyoKKyAqIGZsYWdzIHNoYXJlZCBieSB2YXJpb3VzIGRyaXZlczoKKyAqLworI2RlZmluZQlCU0RfRF9SRU1PVkFCTEUJMHgwMQkJLyogcmVtb3ZhYmxlIG1lZGlhICovCisjZGVmaW5lCUJTRF9EX0VDQyAgICAgIAkweDAyCQkvKiBzdXBwb3J0cyBFQ0MgKi8KKyNkZWZpbmUJQlNEX0RfQkFEU0VDVAkweDA0CQkvKiBzdXBwb3J0cyBiYWQgc2VjdG9yIGZvcncuICovCisjZGVmaW5lCUJTRF9EX1JBTURJU0sJMHgwOAkJLyogZGlzayBlbXVsYXRvciAqLworI2RlZmluZQlCU0RfRF9DSEFJTiAgICAJMHgxMAkJLyogY2FuIGRvIGJhY2stYmFjayB0cmFuc2ZlcnMgKi8KKyNkZWZpbmUJQlNEX0RfRE9TUEFSVAkweDIwCQkvKiB3aXRoaW4gTVNET1MgcGFydGl0aW9uICovCisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1BUX0JTRF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaCBiL2luY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5YWI2MjYKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaApAQCAtMCwwICsxLDEwOSBAQAorCXsweDAwLCBOXygiRW1wdHkiKX0sCisJezB4MDEsIE5fKCJGQVQxMiIpfSwKKwl7MHgwMiwgTl8oIlhFTklYIHJvb3QiKX0sCisJezB4MDMsIE5fKCJYRU5JWCB1c3IiKX0sCisJezB4MDQsIE5fKCJGQVQxNiA8MzJNIil9LAorCXsweDA1LCBOXygiRXh0ZW5kZWQiKX0sCQkvKiBET1MgMy4zKyBleHRlbmRlZCBwYXJ0aXRpb24gKi8KKwl7MHgwNiwgTl8oIkZBVDE2Iil9LAkJLyogRE9TIDE2LWJpdCA+PTMyTSAqLworCXsweDA3LCBOXygiSFBGUy9OVEZTL2V4RkFUIil9LAkvKiBPUy8yIElGUywgZWcsIEhQRlMgb3IgTlRGUyBvciBRTlggb3IgZXhGQVQgKi8KKwl7MHgwOCwgTl8oIkFJWCIpfSwJCS8qIEFJWCBib290IChBSVggLS0gUFMvMiBwb3J0KSBvciBTcGxpdERyaXZlICovCisJezB4MDksIE5fKCJBSVggYm9vdGFibGUiKX0sCS8qIEFJWCBkYXRhIG9yIENvaGVyZW50ICovCisJezB4MGEsIE5fKCJPUy8yIEJvb3QgTWFuYWdlciIpfSwvKiBPUy8yIEJvb3QgTWFuYWdlciAqLworCXsweDBiLCBOXygiVzk1IEZBVDMyIil9LAorCXsweDBjLCBOXygiVzk1IEZBVDMyIChMQkEpIil9LC8qIExCQSByZWFsbHkgaXMgYEV4dGVuZGVkIEludCAxM2gnICovCisJezB4MGUsIE5fKCJXOTUgRkFUMTYgKExCQSkiKX0sCisJezB4MGYsIE5fKCJXOTUgRXh0J2QgKExCQSkiKX0sCisJezB4MTAsIE5fKCJPUFVTIil9LAorCXsweDExLCBOXygiSGlkZGVuIEZBVDEyIil9LAorCXsweDEyLCBOXygiQ29tcGFxIGRpYWdub3N0aWNzIil9LAorCXsweDE0LCBOXygiSGlkZGVuIEZBVDE2IDwzMk0iKX0sCisJezB4MTYsIE5fKCJIaWRkZW4gRkFUMTYiKX0sCisJezB4MTcsIE5fKCJIaWRkZW4gSFBGUy9OVEZTIil9LAorCXsweDE4LCBOXygiQVNUIFNtYXJ0U2xlZXAiKX0sCisJezB4MWIsIE5fKCJIaWRkZW4gVzk1IEZBVDMyIil9LAorCXsweDFjLCBOXygiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIpfSwKKwl7MHgxZSwgTl8oIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiKX0sCisJezB4MjQsIE5fKCJORUMgRE9TIil9LAorCXsweDI3LCBOXygiSGlkZGVuIE5URlMgV2luUkUiKX0sCisJezB4MzksIE5fKCJQbGFuIDkiKX0sCisJezB4M2MsIE5fKCJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIpfSwKKwl7MHg0MCwgTl8oIlZlbml4IDgwMjg2Iil9LAorCXsweDQxLCBOXygiUFBDIFBSZVAgQm9vdCIpfSwKKwl7MHg0MiwgTl8oIlNGUyIpfSwKKwl7MHg0ZCwgTl8oIlFOWDQueCIpfSwKKwl7MHg0ZSwgTl8oIlFOWDQueCAybmQgcGFydCIpfSwKKwl7MHg0ZiwgTl8oIlFOWDQueCAzcmQgcGFydCIpfSwKKwl7MHg1MCwgTl8oIk9uVHJhY2sgRE0iKX0sCisJezB4NTEsIE5fKCJPblRyYWNrIERNNiBBdXgxIil9LAkvKiAob3IgTm92ZWxsKSAqLworCXsweDUyLCBOXygiQ1AvTSIpfSwJCS8qIENQL00gb3IgTWljcm9wb3J0IFN5c1YvQVQgKi8KKwl7MHg1MywgTl8oIk9uVHJhY2sgRE02IEF1eDMiKX0sCisJezB4NTQsIE5fKCJPblRyYWNrRE02Iil9LAorCXsweDU1LCBOXygiRVotRHJpdmUiKX0sCisJezB4NTYsIE5fKCJHb2xkZW4gQm93Iil9LAorCXsweDVjLCBOXygiUHJpYW0gRWRpc2siKX0sCisJezB4NjEsIE5fKCJTcGVlZFN0b3IiKX0sCisJezB4NjMsIE5fKCJHTlUgSFVSRCBvciBTeXNWIil9LAkvKiBHTlUgSFVSRCBvciBNYWNoIG9yIFN5cyBWLzM4NiAoc3VjaCBhcyBJU0MgVU5JWCkgKi8KKwl7MHg2NCwgTl8oIk5vdmVsbCBOZXR3YXJlIDI4NiIpfSwKKwl7MHg2NSwgTl8oIk5vdmVsbCBOZXR3YXJlIDM4NiIpfSwKKwl7MHg3MCwgTl8oIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIpfSwKKwl7MHg3NSwgTl8oIlBDL0lYIil9LAorCXsweDgwLCBOXygiT2xkIE1pbml4Iil9LAkvKiBNaW5peCAxLjRhIGFuZCBlYXJsaWVyICovCisJezB4ODEsIE5fKCJNaW5peCAvIG9sZCBMaW51eCIpfSwvKiBNaW5peCAxLjRiIGFuZCBsYXRlciAqLworCXsweDgyLCBOXygiTGludXggc3dhcCAvIFNvbGFyaXMiKX0sCisJezB4ODMsIE5fKCJMaW51eCIpfSwKKwl7MHg4NCwgTl8oIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIil9LC8qIE9TLzIgaGlkZGVuIEM6IGRyaXZlLAorCQkJCQkgICBoaWJlcm5hdGlvbiB0eXBlIE1pY3Jvc29mdCBBUE0KKwkJCQkJICAgb3IgaGliZXJuYXRpb24gSW50ZWwgUmFwaWQgU3RhcnQgKi8KKwl7MHg4NSwgTl8oIkxpbnV4IGV4dGVuZGVkIil9LAorCXsweDg2LCBOXygiTlRGUyB2b2x1bWUgc2V0Iil9LAorCXsweDg3LCBOXygiTlRGUyB2b2x1bWUgc2V0Iil9LAorCXsweDg4LCBOXygiTGludXggcGxhaW50ZXh0Iil9LAorCXsweDhlLCBOXygiTGludXggTFZNIil9LAorCXsweDkzLCBOXygiQW1vZWJhIil9LAorCXsweDk0LCBOXygiQW1vZWJhIEJCVCIpfSwJLyogKGJhZCBibG9jayB0YWJsZSkgKi8KKwl7MHg5ZiwgTl8oIkJTRC9PUyIpfSwJCS8qIEJTREkgKi8KKwl7MHhhMCwgTl8oIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIpfSwKKwl7MHhhNSwgTl8oIkZyZWVCU0QiKX0sCQkvKiB2YXJpb3VzIEJTRCBmbGF2b3VycyAqLworCXsweGE2LCBOXygiT3BlbkJTRCIpfSwKKwl7MHhhNywgTl8oIk5lWFRTVEVQIil9LAorCXsweGE4LCBOXygiRGFyd2luIFVGUyIpfSwKKwl7MHhhOSwgTl8oIk5ldEJTRCIpfSwKKwl7MHhhYiwgTl8oIkRhcndpbiBib290Iil9LAorCXsweGFmLCBOXygiSEZTIC8gSEZTKyIpfSwKKwl7MHhiNywgTl8oIkJTREkgZnMiKX0sCisJezB4YjgsIE5fKCJCU0RJIHN3YXAiKX0sCisJezB4YmIsIE5fKCJCb290IFdpemFyZCBoaWRkZW4iKX0sCisJezB4YmMsIE5fKCJBY3JvbmlzIEZBVDMyIExCQSIpfSwvKiBoaWRkZW4gKCsweGIwKSBBY3JvbmlzIFNlY3VyZSBab25lIChiYWNrdXAgc29mdHdhcmUpICovCisJezB4YmUsIE5fKCJTb2xhcmlzIGJvb3QiKX0sCisJezB4YmYsIE5fKCJTb2xhcmlzIil9LAorCXsweGMxLCBOXygiRFJET1Mvc2VjIChGQVQtMTIpIil9LAorCXsweGM0LCBOXygiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIil9LAorCXsweGM2LCBOXygiRFJET1Mvc2VjIChGQVQtMTYpIil9LAorCXsweGM3LCBOXygiU3lyaW54Iil9LAorCXsweGRhLCBOXygiTm9uLUZTIGRhdGEiKX0sCisJezB4ZGIsIE5fKCJDUC9NIC8gQ1RPUyAvIC4uLiIpfSwvKiBDUC9NIG9yIENvbmN1cnJlbnQgQ1AvTSBvcgorCQkJCQkgICBDb25jdXJyZW50IERPUyBvciBDVE9TICovCisJezB4ZGUsIE5fKCJEZWxsIFV0aWxpdHkiKX0sCS8qIERlbGwgUG93ZXJFZGdlIFNlcnZlciB1dGlsaXRpZXMgKi8KKwl7MHhkZiwgTl8oIkJvb3RJdCIpfSwJCS8qIEJvb3RJdCBFTUJSTSAqLworCXsweGUxLCBOXygiRE9TIGFjY2VzcyIpfSwJLyogRE9TIGFjY2VzcyBvciBTcGVlZFN0b3IgMTItYml0IEZBVAorCQkJCQkgICBleHRlbmRlZCBwYXJ0aXRpb24gKi8KKwl7MHhlMywgTl8oIkRPUyBSL08iKX0sCQkvKiBET1MgUi9PIG9yIFNwZWVkU3RvciAqLworCXsweGU0LCBOXygiU3BlZWRTdG9yIil9LAkvKiBTcGVlZFN0b3IgMTYtYml0IEZBVCBleHRlbmRlZAorCQkJCQkgICBwYXJ0aXRpb24gPCAxMDI0IGN5bC4gKi8KKwl7MHhlYSwgTl8oIlJ1ZnVzIGFsaWdubWVudCIpfSwJLyogUnVmdXMgZXh0cmEgcGFydGl0aW9uIGZvciBhbGlnbm1lbnQgKi8KKwl7MHhlYiwgTl8oIkJlT1MgZnMiKX0sCisJezB4ZWUsIE5fKCJHUFQiKX0sCQkvKiBJbnRlbCBFRkkgR1VJRCBQYXJ0aXRpb24gVGFibGUgKi8KKwl7MHhlZiwgTl8oIkVGSSAoRkFULTEyLzE2LzMyKSIpfSwvKiBJbnRlbCBFRkkgU3lzdGVtIFBhcnRpdGlvbiAqLworCXsweGYwLCBOXygiTGludXgvUEEtUklTQyBib290Iil9LC8qIExpbnV4L1BBLVJJU0MgYm9vdCBsb2FkZXIgKi8KKwl7MHhmMSwgTl8oIlNwZWVkU3RvciIpfSwKKwl7MHhmNCwgTl8oIlNwZWVkU3RvciIpfSwJLyogU3BlZWRTdG9yIGxhcmdlIHBhcnRpdGlvbiAqLworCXsweGYyLCBOXygiRE9TIHNlY29uZGFyeSIpfSwJLyogRE9TIDMuMysgc2Vjb25kYXJ5ICovCisJezB4ZmIsIE5fKCJWTXdhcmUgVk1GUyIpfSwKKwl7MHhmYywgTl8oIlZNd2FyZSBWTUtDT1JFIil9LAkvKiBWTXdhcmUga2VybmVsIGR1bXAgcGFydGl0aW9uICovCisJezB4ZmQsIE5fKCJMaW51eCByYWlkIGF1dG9kZXRlY3QiKX0sLyogTGludXggcmFpZCBwYXJ0aXRpb24gd2l0aAorCQkJCQkgICAgICAgYXV0b2RldGVjdCB1c2luZyBwZXJzaXN0ZW50CisJCQkJCSAgICAgICBzdXBlcmJsb2NrICovCisJezB4ZmUsIE5fKCJMQU5zdGVwIil9LAkJLyogU3BlZWRTdG9yID4xMDI0IGN5bC4gb3IgTEFOc3RlcCAqLworCXsweGZmLCBOXygiQkJUIil9LAkJLyogWGVuaXggQmFkIEJsb2NrIFRhYmxlICovCisKKwl7IDAsIE5VTEwgfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wdC1tYnIuaCBiL2luY2x1ZGUvcHQtbWJyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEzODI0NgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvcHQtbWJyLmgKQEAgLTAsMCArMSwxODcgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QVF9NQlJfSAorI2RlZmluZSBVVElMX0xJTlVYX1BUX01CUl9ICisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKworc3RydWN0IGRvc19wYXJ0aXRpb24geworCXVuc2lnbmVkIGNoYXIgYm9vdF9pbmQ7CQkvKiAweDgwIC0gYWN0aXZlICovCisJdW5zaWduZWQgY2hhciBiaCwgYnMsIGJjOwkvKiBiZWdpbiBDSFMgKi8KKwl1bnNpZ25lZCBjaGFyIHN5c19pbmQ7CisJdW5zaWduZWQgY2hhciBlaCwgZXMsIGVjOwkvKiBlbmQgQ0hTICovCisJdW5zaWduZWQgY2hhciBzdGFydF9zZWN0WzRdOworCXVuc2lnbmVkIGNoYXIgbnJfc2VjdHNbNF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIE1CUl9QVF9PRkZTRVQJCTB4MWJlCisjZGVmaW5lIE1CUl9QVF9CT09UQklUU19TSVpFCTQ0MAorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBkb3NfcGFydGl0aW9uICptYnJfZ2V0X3BhcnRpdGlvbih1bnNpZ25lZCBjaGFyICptYnIsIGludCBpKQoreworCXJldHVybiAoc3RydWN0IGRvc19wYXJ0aXRpb24gKikKKwkJKG1iciArIE1CUl9QVF9PRkZTRVQgKyAoaSAqIHNpemVvZihzdHJ1Y3QgZG9zX3BhcnRpdGlvbikpKTsKK30KKworLyogYXNzZW1ibGUgYmFkbHkgYWxpZ25lZCBsaXR0bGUgZW5kaWFuIGludGVnZXIgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgX19kb3NfYXNzZW1ibGVfNGxlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKnApCit7CisJdWludDMyX3QgbGFzdF9ieXRlID0gcFszXTsKKworCXJldHVybiBwWzBdIHwgKHBbMV0gPDwgOCkgfCAocFsyXSA8PCAxNikgfCAobGFzdF9ieXRlIDw8IDI0KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIF9fZG9zX3N0b3JlXzRsZSh1bnNpZ25lZCBjaGFyICpwLCB1bnNpZ25lZCBpbnQgdmFsKQoreworCWFzc2VydCghKHAgPT0gTlVMTCkpOworCXBbMF0gPSAodmFsICYgMHhmZik7CisJcFsxXSA9ICgodmFsID4+IDgpICYgMHhmZik7CisJcFsyXSA9ICgodmFsID4+IDE2KSAmIDB4ZmYpOworCXBbM10gPSAoKHZhbCA+PiAyNCkgJiAweGZmKTsKK30KKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBpbnQgZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQoc3RydWN0IGRvc19wYXJ0aXRpb24gKnApCit7CisJcmV0dXJuIF9fZG9zX2Fzc2VtYmxlXzRsZSgmKHAtPnN0YXJ0X3NlY3RbMF0pKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGRvc19wYXJ0aXRpb25fc2V0X3N0YXJ0KHN0cnVjdCBkb3NfcGFydGl0aW9uICpwLCB1bnNpZ25lZCBpbnQgbikKK3sKKwlfX2Rvc19zdG9yZV80bGUocC0+c3RhcnRfc2VjdCwgbik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUoc3RydWN0IGRvc19wYXJ0aXRpb24gKnApCit7CisJcmV0dXJuIF9fZG9zX2Fzc2VtYmxlXzRsZSgmKHAtPm5yX3NlY3RzWzBdKSk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBkb3NfcGFydGl0aW9uX3NldF9zaXplKHN0cnVjdCBkb3NfcGFydGl0aW9uICpwLCB1bnNpZ25lZCBpbnQgbikKK3sKKwlfX2Rvc19zdG9yZV80bGUocC0+bnJfc2VjdHMsIG4pOworfQorCitzdGF0aWMgaW5saW5lIGludCBtYnJfaXNfdmFsaWRfbWFnaWMoY29uc3QgdW5zaWduZWQgY2hhciAqbWJyKQoreworCXJldHVybiBtYnJbNTEwXSA9PSAweDU1ICYmIG1icls1MTFdID09IDB4YWEgPyAxIDogMDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIG1icl9zZXRfbWFnaWModW5zaWduZWQgY2hhciAqYikKK3sKKwliWzUxMF0gPSAweDU1OworCWJbNTExXSA9IDB4YWE7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgaW50IG1icl9nZXRfaWQoY29uc3QgdW5zaWduZWQgY2hhciAqbWJyKQoreworCXJldHVybiBfX2Rvc19hc3NlbWJsZV80bGUoJm1icls0NDBdKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIG1icl9zZXRfaWQodW5zaWduZWQgY2hhciAqYiwgdW5zaWduZWQgaW50IGlkKQoreworCV9fZG9zX3N0b3JlXzRsZSgmYls0NDBdLCBpZCk7Cit9CisKK2VudW0geworCU1CUl9FTVBUWV9QQVJUSVRJT04JCT0gMHgwMCwKKwlNQlJfRkFUMTJfUEFSVElUSU9OCQk9IDB4MDEsCisJTUJSX1hFTklYX1JPT1RfUEFSVElUSU9OCT0gMHgwMiwKKwlNQlJfWEVOSVhfVVNSX1BBUlRJVElPTgkJPSAweDAzLAorCU1CUl9GQVQxNl9MRVNTMzJNX1BBUlRJVElPTgk9IDB4MDQsCisJTUJSX0RPU19FWFRFTkRFRF9QQVJUSVRJT04JPSAweDA1LAorCU1CUl9GQVQxNl9QQVJUSVRJT04JCT0gMHgwNiwgLyogRE9TIDE2LWJpdCA+PTMyTSAqLworCU1CUl9IUEZTX05URlNfUEFSVElUSU9OCQk9IDB4MDcsIC8qIE9TLzIgSUZTLCBlZywgSFBGUyBvciBOVEZTIG9yIFFOWCAqLworCU1CUl9BSVhfUEFSVElUSU9OCQk9IDB4MDgsIC8qIEFJWCBib290IChBSVggLS0gUFMvMiBwb3J0KSBvciBTcGxpdERyaXZlICovCisJTUJSX0FJWF9CT09UQUJMRV9QQVJUSVRJT04JPSAweDA5LCAvKiBBSVggZGF0YSBvciBDb2hlcmVudCAqLworCU1CUl9PUzJfQk9PVE1OR1JfUEFSVElUSU9OCT0gMHgwYSwgLyogT1MvMiBCb290IE1hbmFnZXIgKi8KKwlNQlJfVzk1X0ZBVDMyX1BBUlRJVElPTgkJPSAweDBiLAorCU1CUl9XOTVfRkFUMzJfTEJBX1BBUlRJVElPTgk9IDB4MGMsIC8qIExCQSByZWFsbHkgaXMgYEV4dGVuZGVkIEludCAxM2gnICovCisJTUJSX1c5NV9GQVQxNl9MQkFfUEFSVElUSU9OCT0gMHgwZSwKKwlNQlJfVzk1X0VYVEVOREVEX1BBUlRJVElPTgk9IDB4MGYsCisJTUJSX09QVVNfUEFSVElUSU9OCQk9IDB4MTAsCisJTUJSX0hJRERFTl9GQVQxMl9QQVJUSVRJT04JPSAweDExLAorCU1CUl9DT01QQVFfRElBR05PU1RJQ1NfUEFSVElUSU9OID0gMHgxMiwKKwlNQlJfSElEREVOX0ZBVDE2X0wzMk1fUEFSVElUSU9OCT0gMHgxNCwKKwlNQlJfSElEREVOX0ZBVDE2X1BBUlRJVElPTgk9IDB4MTYsCisJTUJSX0hJRERFTl9IUEZTX05URlNfUEFSVElUSU9OCT0gMHgxNywKKwlNQlJfQVNUX1NNQVJUU0xFRVBfUEFSVElUSU9OCT0gMHgxOCwKKwlNQlJfSElEREVOX1c5NV9GQVQzMl9QQVJUSVRJT04JPSAweDFiLAorCU1CUl9ISURERU5fVzk1X0ZBVDMyTEJBX1BBUlRJVElPTiA9IDB4MWMsCisJTUJSX0hJRERFTl9XOTVfRkFUMTZMQkFfUEFSVElUSU9OID0gMHgxZSwKKwlNQlJfTkVDX0RPU19QQVJUSVRJT04JCT0gMHgyNCwKKwlNQlJfUExBTjlfUEFSVElUSU9OCQk9IDB4MzksCisJTUJSX1BBUlRJVElPTk1BR0lDX1BBUlRJVElPTgk9IDB4M2MsCisJTUJSX1ZFTklYODAyODZfUEFSVElUSU9OCT0gMHg0MCwKKwlNQlJfUFBDX1BSRVBfQk9PVF9QQVJUSVRJT04JPSAweDQxLAorCU1CUl9TRlNfUEFSVElUSU9OCQk9IDB4NDIsCisJTUJSX1FOWF80WF9QQVJUSVRJT04JCT0gMHg0ZCwKKwlNQlJfUU5YXzRYXzJORF9QQVJUSVRJT04JPSAweDRlLAorCU1CUl9RTlhfNFhfM1JEX1BBUlRJVElPTgk9IDB4NGYsCisJTUJSX0RNX1BBUlRJVElPTgkJPSAweDUwLAorCU1CUl9ETTZfQVVYMV9QQVJUSVRJT04JCT0gMHg1MSwgLyogKG9yIE5vdmVsbCkgKi8KKwlNQlJfQ1BNX1BBUlRJVElPTgkJPSAweDUyLCAvKiBDUC9NIG9yIE1pY3JvcG9ydCBTeXNWL0FUICovCisJTUJSX0RNNl9BVVgzX1BBUlRJVElPTgkJPSAweDUzLAorCU1CUl9ETTZfUEFSVElUSU9OCQk9IDB4NTQsCisJTUJSX0VaX0RSSVZFX1BBUlRJVElPTgkJPSAweDU1LAorCU1CUl9HT0xERU5fQk9XX1BBUlRJVElPTgk9IDB4NTYsCisJTUJSX1BSSUFNX0VESVNLX1BBUlRJVElPTgk9IDB4NWMsCisJTUJSX1NQRUVEU1RPUl9QQVJUSVRJT04JCT0gMHg2MSwKKwlNQlJfR05VX0hVUkRfUEFSVElUSU9OCQk9IDB4NjMsIC8qIEdOVSBIVVJEIG9yIE1hY2ggb3IgU3lzIFYvMzg2IChzdWNoIGFzIElTQyBVTklYKSAqLworCU1CUl9VTklYV0FSRV9QQVJUSVRJT04JCT0gTUJSX0dOVV9IVVJEX1BBUlRJVElPTiwKKwlNQlJfTkVUV0FSRV8yODZfUEFSVElUSU9OCT0gMHg2NCwKKwlNQlJfTkVUV0FSRV8zODZfUEFSVElUSU9OCT0gMHg2NSwKKwlNQlJfRElTS1NFQ1VSRV9NVUxUSUJPT1RfUEFSVElUSU9OID0gMHg3MCwKKwlNQlJfUENfSVhfUEFSVElUSU9OCQk9IDB4NzUsCisJTUJSX09MRF9NSU5JWF9QQVJUSVRJT04JCT0gMHg4MCwgLyogTWluaXggMS40YSBhbmQgZWFybGllciAqLworCU1CUl9NSU5JWF9QQVJUSVRJT04JCT0gMHg4MSwgLyogTWluaXggMS40YiBhbmQgbGF0ZXIgKi8KKwlNQlJfTElOVVhfU1dBUF9QQVJUSVRJT04JPSAweDgyLAorCU1CUl9TT0xBUklTX1g4Nl9QQVJUSVRJT04JPSBNQlJfTElOVVhfU1dBUF9QQVJUSVRJT04sCisJTUJSX0xJTlVYX0RBVEFfUEFSVElUSU9OCT0gMHg4MywKKwlNQlJfT1MyX0hJRERFTl9EUklWRV9QQVJUSVRJT04JPSAweDg0LCAvKiBhbHNvIGhpYmVybmF0aW9uIE1TIEFQTSwgSW50ZWwgUmFwaWQgU3RhcnQgKi8KKwlNQlJfSU5URUxfSElCRVJOQVRJT05fUEFSVElUSU9OCT0gTUJSX09TMl9ISURERU5fRFJJVkVfUEFSVElUSU9OLAorCU1CUl9MSU5VWF9FWFRFTkRFRF9QQVJUSVRJT04JPSAweDg1LAorCU1CUl9OVEZTX1ZPTF9TRVQxX1BBUlRJVElPTgk9IDB4ODYsCisJTUJSX05URlNfVk9MX1NFVDJfUEFSVElUSU9OCT0gMHg4NywKKwlNQlJfTElOVVhfUExBSU5URVhUX1BBUlRJVElPTgk9IDB4ODgsCisJTUJSX0xJTlVYX0xWTV9QQVJUSVRJT04JCT0gMHg4ZSwKKwlNQlJfQU1PRUJBX1BBUlRJVElPTgkJPSAweDkzLAorCU1CUl9BTU9FQkFfQkJUX1BBUlRJVElPTgk9IDB4OTQsIC8qIChiYWQgYmxvY2sgdGFibGUpICovCisJTUJSX0JTRF9PU19QQVJUSVRJT04JCT0gMHg5ZiwgLyogQlNESSAqLworCU1CUl9USElOS1BBRF9ISUJFUk5BVElPTl9QQVJUSVRJT04gPSAweGEwLAorCU1CUl9GUkVFQlNEX1BBUlRJVElPTgkJPSAweGE1LCAvKiB2YXJpb3VzIEJTRCBmbGF2b3VycyAqLworCU1CUl9PUEVOQlNEX1BBUlRJVElPTgkJPSAweGE2LAorCU1CUl9ORVhUU1RFUF9QQVJUSVRJT04JCT0gMHhhNywKKwlNQlJfREFSV0lOX1VGU19QQVJUSVRJT04JPSAweGE4LAorCU1CUl9ORVRCU0RfUEFSVElUSU9OCQk9IDB4YTksCisJTUJSX0RBUldJTl9CT09UX1BBUlRJVElPTgk9IDB4YWIsCisJTUJSX0hGU19IRlNfUEFSVElUSU9OCQk9IDB4YWYsCisJTUJSX0JTRElfRlNfUEFSVElUSU9OCQk9IDB4YjcsCisJTUJSX0JTRElfU1dBUF9QQVJUSVRJT04JCT0gMHhiOCwKKwlNQlJfQk9PVFdJWkFSRF9ISURERU5fUEFSVElUSU9OCT0gMHhiYiwKKwlNQlJfQUNST05JU19GQVQzMkxCQV9QQVJUSVRJT04gID0gMHhiYywgLyogQWNyb25pcyBTZWN1cmUgWm9uZSB3aXRoIGlwbCBmb3IgbG9hZGVyIEYxMS5TWVMgKi8KKwlNQlJfU09MQVJJU19CT09UX1BBUlRJVElPTgk9IDB4YmUsCisJTUJSX1NPTEFSSVNfUEFSVElUSU9OCQk9IDB4YmYsCisJTUJSX0RSRE9TX0ZBVDEyX1BBUlRJVElPTgk9IDB4YzEsCisJTUJSX0RSRE9TX0ZBVDE2X0wzMk1fUEFSVElUSU9OCT0gMHhjNCwKKwlNQlJfRFJET1NfRkFUMTZfUEFSVElUSU9OCT0gMHhjNiwKKwlNQlJfU1lSSU5YX1BBUlRJVElPTgkJPSAweGM3LAorCU1CUl9OT05GU19EQVRBX1BBUlRJVElPTgk9IDB4ZGEsCisJTUJSX0NQTV9DVE9TX1BBUlRJVElPTgkJPSAweGRiLCAvKiBDUC9NIG9yIENvbmN1cnJlbnQgQ1AvTSBvciBDb25jdXJyZW50IERPUyBvciBDVE9TICovCisJTUJSX0RFTExfVVRJTElUWV9QQVJUSVRJT04JPSAweGRlLCAvKiBEZWxsIFBvd2VyRWRnZSBTZXJ2ZXIgdXRpbGl0aWVzICovCisJTUJSX0JPT1RJVF9QQVJUSVRJT04JCT0gMHhkZiwgLyogQm9vdEl0IEVNQlJNICovCisJTUJSX0RPU19BQ0NFU1NfUEFSVElUSU9OCT0gMHhlMSwgLyogRE9TIGFjY2VzcyBvciBTcGVlZFN0b3IgMTItYml0IEZBVCBleHRlbmRlZCBwYXJ0aXRpb24gKi8KKwlNQlJfRE9TX1JPX1BBUlRJVElPTgkJPSAweGUzLCAvKiBET1MgUi9PIG9yIFNwZWVkU3RvciAqLworCU1CUl9TUEVFRFNUT1JfRVhURU5ERURfUEFSVElUSU9OID0gMHhlNCwgLyogU3BlZWRTdG9yIDE2LWJpdCBGQVQgZXh0ZW5kZWQgcGFydGl0aW9uIDwgMTAyNCBjeWwuICovCisJTUJSX1JVRlVTX0VYVFJBX1BBUlRJVElPTgk9IDB4ZWEsIC8qIFJ1ZnVzIGV4dHJhIHBhcnRpdGlvbiBmb3IgYWxpZ25tZW50ICovCisJTUJSX0JFT1NfRlNfUEFSVElUSU9OCQk9IDB4ZWIsCisJTUJSX0dQVF9QQVJUSVRJT04JCT0gMHhlZSwgLyogSW50ZWwgRUZJIEdVSUQgUGFydGl0aW9uIFRhYmxlICovCisJTUJSX0VGSV9TWVNURU1fUEFSVElUSU9OCT0gMHhlZiwgLyogSW50ZWwgRUZJIFN5c3RlbSBQYXJ0aXRpb24gKi8KKwlNQlJfTElOVVhfUEFSSVNDX0JPT1RfUEFSVElUSU9OCT0gMHhmMCwgLyogTGludXgvUEEtUklTQyBib290IGxvYWRlciAqLworCU1CUl9TUEVFRFNUT1IxX1BBUlRJVElPTgk9IDB4ZjEsCisJTUJSX1NQRUVEU1RPUjJfUEFSVElUSU9OCT0gMHhmNCwgLyogU3BlZWRTdG9yIGxhcmdlIHBhcnRpdGlvbiAqLworCU1CUl9ET1NfU0VDT05EQVJZX1BBUlRJVElPTgk9IDB4ZjIsIC8qIERPUyAzLjMrIHNlY29uZGFyeSAqLworCU1CUl9WTVdBUkVfVk1GU19QQVJUSVRJT04JPSAweGZiLAorCU1CUl9WTVdBUkVfVk1LQ09SRV9QQVJUSVRJT04JPSAweGZjLCAvKiBWTXdhcmUga2VybmVsIGR1bXAgcGFydGl0aW9uICovCisJTUJSX0xJTlVYX1JBSURfUEFSVElUSU9OCT0gMHhmZCwgLyogTGludXggcmFpZCBwYXJ0aXRpb24gd2l0aCBhdXRvZGV0ZWN0IHVzaW5nIHBlcnNpc3RlbnQgc3VwZXJibG9jayAqLworCU1CUl9MQU5TVEVQX1BBUlRJVElPTgkJPSAweGZlLCAvKiBTcGVlZFN0b3IgPjEwMjQgY3lsLiBvciBMQU5zdGVwICovCisJTUJSX1hFTklYX0JCVF9QQVJUSVRJT04JCT0gMHhmZiwgLyogWGVuaXggQmFkIEJsb2NrIFRhYmxlICovCit9OworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9QVF9NQlJfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9wdC1zZ2kuaCBiL2luY2x1ZGUvcHQtc2dpLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ3YjM3YQotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvcHQtc2dpLmgKQEAgLTAsMCArMSwxMTAgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QVF9TVU5fSAorI2RlZmluZSBVVElMX0xJTlVYX1BUX1NVTl9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2RlZmluZQlTR0lfTEFCRUxfTUFHSUMJCTB4MGJlNWE5NDEKKworI2RlZmluZSBTR0lfTUFYUEFSVElUSU9OUwkxNgorI2RlZmluZSBTR0lfTUFYVk9MVU1FUwkJMTUKKworLyogcGFydGl0aW9uIHR5cGVzICovCitlbnVtIHsKKwlTR0lfVFlQRV9WT0xIRFIJCT0gMHgwMCwKKwlTR0lfVFlQRV9UUktSRVBMCT0gMHgwMSwKKwlTR0lfVFlQRV9TRUNSRVBMCT0gMHgwMiwKKwlTR0lfVFlQRV9TV0FQCQk9IDB4MDMsCisJU0dJX1RZUEVfQlNECQk9IDB4MDQsCisJU0dJX1RZUEVfU1lTVgkJPSAweDA1LAorCVNHSV9UWVBFX0VOVElSRV9ESVNLCT0gMHgwNiwKKwlTR0lfVFlQRV9FRlMJCT0gMHgwNywKKwlTR0lfVFlQRV9MVk9MCQk9IDB4MDgsCisJU0dJX1RZUEVfUkxWT0wJCT0gMHgwOSwKKwlTR0lfVFlQRV9YRlMJCT0gMHgwYSwKKwlTR0lfVFlQRV9YRlNMT0cJCT0gMHgwYiwKKwlTR0lfVFlQRV9YTFYJCT0gMHgwYywKKwlTR0lfVFlQRV9YVk0JCT0gMHgwZAorfTsKKworc3RydWN0IHNnaV9kZXZpY2VfcGFyYW1ldGVyIHsKKwl1bnNpZ25lZCBjaGFyIHNrZXc7CisJdW5zaWduZWQgY2hhciBnYXAxOworCXVuc2lnbmVkIGNoYXIgZ2FwMjsKKwl1bnNpZ25lZCBjaGFyIHNwYXJlY3lsOworCisJdWludDE2X3QgcGN5bGNvdW50OworCXVpbnQxNl90IGhlYWRfdm9sMDsKKwl1aW50MTZfdCBudHJrczsJCS8qIHRyYWNrcyBpbiBjeWwgMCBvciB2b2wgMCAqLworCisJdW5zaWduZWQgY2hhciBjbWRfdGFnX3F1ZXVlX2RlcHRoOworCXVuc2lnbmVkIGNoYXIgdW51c2VkMDsKKworCXVpbnQxNl90IHVudXNlZDE7CisJdWludDE2X3QgbnNlY3Q7CQkvKiBzZWN0b3JzL3RyYWNrcyBpbiBjeWwgMCBvciB2b2wgMCAqLworCXVpbnQxNl90IGJ5dGVzOworCXVpbnQxNl90IGlsZmFjdDsKKwl1aW50MzJfdCBmbGFnczsJCS8qIFNHSV9ERVZQQVJBTV8qIGNvbnRyb2xsZXIgZmxhZ3MgKi8KKwl1aW50MzJfdCBkYXRhcmF0ZTsKKwl1aW50MzJfdCByZXRyaWVzX29uX2Vycm9yOworCXVpbnQzMl90IG1zX3Blcl93b3JkOworCXVpbnQxNl90IHh5bG9naWNzX2dhcDE7CisJdWludDE2X3QgeHlsb2dpY3Nfc3luY2RlbGF5OworCXVpbnQxNl90IHh5bG9naWNzX3JlYWRkZWxheTsKKwl1aW50MTZfdCB4eWxvZ2ljc19nYXAyOworCXVpbnQxNl90IHh5bG9naWNzX3JlYWRnYXRlOworCXVpbnQxNl90IHh5bG9naWNzX3dyaXRlY29udDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK2VudW0geworCVNHSV9ERVZQQVJBTV9TRUNUT1JfU0xJUAk9IDB4MDEsCisJU0dJX0RFVlBBUkFNX1NFQ1RPUl9GV0QJCT0gMHgwMiwKKwlTR0lfREVWUEFSQU1fVFJBQ0tfRldECQk9IDB4MDQsCisJU0dJX0RFVlBBUkFNX1RSQUNLX01VTFRJVk9MCT0gMHgwOCwKKwlTR0lfREVWUEFSQU1fSUdOT1JFX0VSUk9SUwk9IDB4MTAsCisJU0dJX0RFVlBBUkFNX1JFU0VFSwkJPSAweDIwLAorCVNHSV9ERVZQQVJBTV9DTURUQUdRX0VOQUJMRQk9IDB4NDAKK307CisKKworc3RydWN0IHNnaV9kaXNrbGFiZWwgeworCXVpbnQzMl90IG1hZ2ljOwkJCS8qIG1hZ2ljIG51bWJlciAqLworCXVpbnQxNl90IHJvb3RfcGFydF9udW07CQkvKiAjIHJvb3QgcGFydGl0aW9uICovCisJdWludDE2X3Qgc3dhcF9wYXJ0X251bTsJCS8qICMgc3dhcCBwYXJ0aXRpb24gKi8KKwl1bnNpZ25lZCBjaGFyIGJvb3RfZmlsZVsxNl07CS8qIG5hbWUgb2YgYm9vdCBmaWxlICovCisKKwlzdHJ1Y3Qgc2dpX2RldmljZV9wYXJhbWV0ZXIJZGV2cGFyYW07CS8qIG5vdCB1c2VkIG5vdyAqLworCisJc3RydWN0IHNnaV92b2x1bWUgeworCQl1bnNpZ25lZCBjaGFyIG5hbWVbOF07CS8qIG5hbWUgb2Ygdm9sdW1lICovCisJCXVpbnQzMl90IGJsb2NrX251bTsJLyogbG9naWNhbCBibG9jayBudW1iZXIgKi8KKwkJdWludDMyX3QgbnVtX2J5dGVzOwkvKiBob3cgYmlnLCBpbiBieXRlcyAqLworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgdm9sdW1lW1NHSV9NQVhWT0xVTUVTXTsKKworCXN0cnVjdCBzZ2lfcGFydGl0aW9uIHsKKwkJdWludDMyX3QgbnVtX2Jsb2NrczsJLyogc2l6ZSBpbiBsb2dpY2FsIGJsb2NrcyAqLworCQl1aW50MzJfdCBmaXJzdF9ibG9jazsJLyogZmlyc3QgbG9naWNhbCBibG9jayAqLworCQl1aW50MzJfdCB0eXBlOwkJLyogdHlwZSBvZiB0aGlzIHBhcnRpdGlvbiAqLworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgcGFydGl0aW9uc1tTR0lfTUFYUEFSVElUSU9OU107CisKKwkvKiBjaGVja3N1bSBpcyB0aGUgMzJiaXQgMidzIGNvbXBsZW1lbnQgc3VtIG9mIHRoZSBkaXNrbGFiZWwgKi8KKwl1aW50MzJfdCBjc3VtOwkJCS8qIGRpc2sgbGFiZWwgY2hlY2tzdW0gKi8KKwl1aW50MzJfdCBwYWRkaW5nOwkJLyogcGFkZGluZyAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGlubGluZSB1aW50MzJfdCBzZ2lfcHRfY2hlY2tzdW0oc3RydWN0IHNnaV9kaXNrbGFiZWwgKmxhYmVsKQoreworCWludCBpOworCXVpbnQzMl90ICpwdHIgPSAodWludDMyX3QgKikgbGFiZWw7CisJdWludDMyX3Qgc3VtID0gMDsKKworCWkgPSBzaXplb2YoKmxhYmVsKSAvIHNpemVvZigqcHRyKTsKKworCXdoaWxlIChpKSB7CisJCWktLTsKKwkJc3VtIC09IGJlMzJfdG9fY3B1KHB0cltpXSk7CisJfQorCisJcmV0dXJuIHN1bTsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUFRfU1VOX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcHQtc3VuLmggYi9pbmNsdWRlL3B0LXN1bi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYjVkOTUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3B0LXN1bi5oCkBAIC0wLDAgKzEsOTAgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QVF9TVU5fSAorI2RlZmluZSBVVElMX0xJTlVYX1BUX1NVTl9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2RlZmluZSBTVU5fTEFCRUxfTUFHSUMJCTB4REFCRQorCisvKiBTdXBwb3J0ZWQgVlRPQyBzZXR0aW5nICovCisjZGVmaW5lIFNVTl9WVE9DX1NBTklUWQkJMHg2MDBEREVFRQkvKiBtYWdpYyBudW1iZXIgKi8KKyNkZWZpbmUgU1VOX1ZUT0NfVkVSU0lPTgkxCisjZGVmaW5lIFNVTl9NQVhQQVJUSVRJT05TCTgKKworc3RydWN0IHN1bl9kaXNrbGFiZWwgeworCXVuc2lnbmVkIGNoYXIgbGFiZWxfaWRbMTI4XTsgICAvKiBJbmZvcm1hdGl2ZSB0ZXh0IHN0cmluZyAqLworCisJc3RydWN0IHN1bl92dG9jIHsKKwkJdWludDMyX3QgdmVyc2lvbjsgICAgIC8qIHZlcnNpb24gKi8KKwkJY2hhcgkgdm9sdW1lX2lkWzhdOy8qIHZvbHVtZSBuYW1lICovCisJCXVpbnQxNl90IG5wYXJ0czsgICAgICAvKiBudW0gb2YgcGFydGl0aW9ucyAqLworCisJCXN0cnVjdCBzdW5faW5mbyB7ICAgICAgICAvKiBwYXJ0aXRpb24gaW5mb3JtYXRpb24gKi8KKwkJCXVpbnQxNl90IGlkOyAgICAgLyogU1VOX1RBR18qICAqLworCQkJdWludDE2X3QgZmxhZ3M7ICAvKiBTVU5fRkxBR18qICovCisJCX0gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpIGluZm9zWzhdOworCisJCXVpbnQxNl90IHBhZGRpbmc7ICAgICAgLyogcGFkZGluZyAqLworCQl1aW50MzJfdCBib290aW5mb1szXTsgIC8qIGluZm8gbmVlZGVkIGJ5IG1ib290ICovCisJCXVpbnQzMl90IHNhbml0eTsgICAgICAgLyogbWFnaWMgbnVtYmVyICovCisJCXVpbnQzMl90IHJlc2VydmVkWzEwXTsgLyogcGFkZGluZyAqLworCQl1aW50MzJfdCB0aW1lc3RhbXBbOF07IC8qIHBhcnRpdGlvbiB0aW1lc3RhbXAgKi8KKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSB2dG9jOworCisJdWludDMyX3Qgd3JpdGVfcmVpbnN0cnVjdDsgICAgIC8qIHNlY3RvcnMgdG8gc2tpcCwgd3JpdGVzICovCisJdWludDMyX3QgcmVhZF9yZWluc3RydWN0OyAgICAgIC8qIHNlY3RvcnMgdG8gc2tpcCwgcmVhZHMgKi8KKwl1bnNpZ25lZCBjaGFyIHNwYXJlWzE0OF07ICAgICAgLyogcGFkZGluZyAqLworCXVpbnQxNl90IHJwbTsgICAgICAgICAgICAgICAgICAvKiBkaXNrIHJvdGF0aW9uYWwgc3BlZWQgKi8KKwl1aW50MTZfdCBwY3lsOyAgICAgICAgICAgICAgICAgLyogcGh5c2ljYWwgY3lsaW5kZXIgY291bnQgKi8KKwl1aW50MTZfdCBhcGM7ICAgICAgICAgICAgICAgICAgLyogZXh0cmEgc2VjdHMgcGVyIGN5bGluZGVyICovCisJdWludDE2X3Qgb2JzMTsKKwl1aW50MTZfdCBvYnMyOworCXVpbnQxNl90IGludHJsdjsgICAgICAgICAgICAgICAvKiBpbnRlcmxlYXZlIGZhY3RvciAqLworCXVpbnQxNl90IG5jeWw7ICAgICAgICAgICAgICAgICAvKiBkYXRhIGN5bGluZGVyIGNvdW50ICovCisJdWludDE2X3QgYWN5bDsgICAgICAgICAgICAgICAgIC8qIGFsdC4gY3lsaW5kZXIgY291bnQgKi8KKwl1aW50MTZfdCBuaGVhZDsgICAgICAgICAgICAgICAgLyogdHJhY2tzIHBlciBjeWxpbmRlciAgIDwtLS0tICovCisJdWludDE2X3QgbnNlY3Q7ICAgICAgICAgICAgICAgIC8qIHNlY3RvcnMgcGVyIHRyYWNrICAgICA8LS0tLSAqLworCXVpbnQxNl90IG9iczM7CisJdWludDE2X3Qgb2JzNDsKKworCXN0cnVjdCBzdW5fcGFydGl0aW9uIHsgICAgICAgICAvKiBwYXJ0aXRpb25zICovCisJCXVpbnQzMl90IHN0YXJ0X2N5bGluZGVyOworCQl1aW50MzJfdCBudW1fc2VjdG9yczsKKwl9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKSBwYXJ0aXRpb25zWzhdOworCisJdWludDE2X3QgbWFnaWM7ICAgICAgICAgICAgICAgIC8qIG1hZ2ljIG51bWJlciAqLworCXVpbnQxNl90IGNzdW07ICAgICAgICAgICAgICAgICAvKiBsYWJlbCB4b3InZCBjaGVja3N1bSAqLworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKworI2RlZmluZSBTVU5fVEFHX1VOQVNTSUdORUQJMHgwMAkvKiBVbmFzc2lnbmVkIHBhcnRpdGlvbiAqLworI2RlZmluZSBTVU5fVEFHX0JPT1QJCTB4MDEJLyogQm9vdCBwYXJ0aXRpb24JKi8KKyNkZWZpbmUgU1VOX1RBR19ST09UCQkweDAyCS8qIFJvb3QgZmlsZXN5c3RlbQkqLworI2RlZmluZSBTVU5fVEFHX1NXQVAJCTB4MDMJLyogU3dhcCBwYXJ0aXRpb24JKi8KKyNkZWZpbmUgU1VOX1RBR19VU1IJCTB4MDQJLyogL3VzciBmaWxlc3lzdGVtCSovCisjZGVmaW5lIFNVTl9UQUdfV0hPTEVESVNLCTB4MDUJLyogRnVsbC1kaXNrIHNsaWNlCSovCisjZGVmaW5lIFNVTl9UQUdfU1RBTkQJCTB4MDYJLyogU3RhbmQgcGFydGl0aW9uCSovCisjZGVmaW5lIFNVTl9UQUdfVkFSCQkweDA3CS8qIC92YXIgZmlsZXN5c3RlbQkqLworI2RlZmluZSBTVU5fVEFHX0hPTUUJCTB4MDgJLyogL2hvbWUgZmlsZXN5c3RlbQkqLworI2RlZmluZSBTVU5fVEFHX0FMVFNDVFIJCTB4MDkJLyogQWx0IHNlY3RvciBwYXJ0aXRpb24JKi8KKyNkZWZpbmUgU1VOX1RBR19DQUNIRQkJMHgwYQkvKiBDYWNoZWZzIHBhcnRpdGlvbgkqLworI2RlZmluZSBTVU5fVEFHX1JFU0VSVkVECTB4MGIJLyogU01JIHJlc2VydmVkIGRhdGEJKi8KKyNkZWZpbmUgU1VOX1RBR19MSU5VWF9TV0FQCTB4ODIJLyogTGludXggU1dBUAkJKi8KKyNkZWZpbmUgU1VOX1RBR19MSU5VWF9OQVRJVkUJMHg4MwkvKiBMaW51eCBmaWxlc3lzdGVtCSovCisjZGVmaW5lIFNVTl9UQUdfTElOVVhfTFZNCTB4OGUJLyogTGludXggTFZNCQkqLworI2RlZmluZSBTVU5fVEFHX0xJTlVYX1JBSUQJMHhmZAkvKiBMSW51eCBSQUlECQkqLworCisjZGVmaW5lIFNVTl9GTEFHX1VOTU5UCQkweDAxCS8qIFVubW91bnRhYmxlIHBhcnRpdGlvbiovCisjZGVmaW5lIFNVTl9GTEFHX1JPTkxZCQkweDEwCS8qIFJlYWQgb25seQkJKi8KKworc3RhdGljIGlubGluZSB1aW50MTZfdCBzdW5fcHRfY2hlY2tzdW0oY29uc3Qgc3RydWN0IHN1bl9kaXNrbGFiZWwgKmxhYmVsKQoreworCWNvbnN0IHVpbnQxNl90ICpwdHIgPSAoKGNvbnN0IHVpbnQxNl90ICopIChsYWJlbCArIDEpKSAtIDE7CisJdWludDE2X3Qgc3VtOworCisJZm9yIChzdW0gPSAwOyBwdHIgPj0gKChjb25zdCB1aW50MTZfdCAqKSBsYWJlbCk7KQorCQlzdW0gXj0gKnB0ci0tOworCisJcmV0dXJuIHN1bTsKK30KKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUFRfU1VOX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvcHdkdXRpbHMuaCBiL2luY2x1ZGUvcHdkdXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNjlkZDZiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9wd2R1dGlscy5oCkBAIC0wLDAgKzEsMTEgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9QV0RVVElMU19ICisjZGVmaW5lIFVUSUxfTElOVVhfUFdEVVRJTFNfSAorCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8cHdkLmg+CisKK2V4dGVybiBzdHJ1Y3QgcGFzc3dkICp4Z2V0cHduYW0oY29uc3QgY2hhciAqdXNlcm5hbWUsIGNoYXIgKipwd2RidWYpOworZXh0ZXJuIGNoYXIgKnhnZXRsb2dpbih2b2lkKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUFdEVVRJTFNfSCAqLworCmRpZmYgLS1naXQgYS9pbmNsdWRlL3JhbmR1dGlscy5oIGIvaW5jbHVkZS9yYW5kdXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmUzNWYzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9yYW5kdXRpbHMuaApAQCAtMCwwICsxLDE3IEBACisjaWZuZGVmIFVUSUxfTElOVVhfUkFORFVUSUxTCisjZGVmaW5lIFVUSUxfTElOVVhfUkFORFVUSUxTCisKKyNpZmRlZiBIQVZFX1NSQU5ET00KKyNkZWZpbmUgc3JhbmQoeCkJc3JhbmRvbSh4KQorI2RlZmluZSByYW5kKCkJCXJhbmRvbSgpCisjZW5kaWYKKworLyogcmFuZCgpIGJhc2VkICovCitleHRlcm4gaW50IHJhbmRfZ2V0X251bWJlcihpbnQgbG93X24sIGludCBoaWdoX24pOworCisvKiAvZGV2L3VyYW5kb20gYmFzZWQgd2l0aCBmYWxsYmFjayB0byByYW5kKCkgKi8KK2V4dGVybiBpbnQgcmFuZG9tX2dldF9mZCh2b2lkKTsKK2V4dGVybiB2b2lkIHJhbmRvbV9nZXRfYnl0ZXModm9pZCAqYnVmLCBzaXplX3QgbmJ5dGVzKTsKK2V4dGVybiBjb25zdCBjaGFyICpyYW5kb21fdGVsbF9zb3VyY2Uodm9pZCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9ycG1hdGNoLmggYi9pbmNsdWRlL3JwbWF0Y2guaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjRkNTJlCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9ycG1hdGNoLmgKQEAgLTAsMCArMSwxMyBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1JQTUFUQ0hfSAorI2RlZmluZSBVVElMX0xJTlVYX1JQTUFUQ0hfSAorCisjaWZuZGVmIEhBVkVfUlBNQVRDSAorI2RlZmluZSBycG1hdGNoKHIpIFwKKwkoKnIgPT0gJ3knIHx8ICpyID09ICdZJyA/IDEgOiAqciA9PSAnbicgfHwgKnIgPT0gJ04nID8gMCA6IC0xKQorI2VuZGlmCisKKyNkZWZpbmUgUlBNQVRDSF9ZRVMJIDEKKyNkZWZpbmUgUlBNQVRDSF9OTwkgMAorI2RlZmluZSBSUE1BVENIX0lOVkFMSUQJLTEKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfUlBNQVRDSF9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3NldHByb2N0aXRsZS5oIGIvaW5jbHVkZS9zZXRwcm9jdGl0bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGE5ZWZhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zZXRwcm9jdGl0bGUuaApAQCAtMCwwICsxLDcgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9TRVRQUk9DVElUTEVfSAorI2RlZmluZSBVVElMX0xJTlVYX1NFVFBST0NUSVRMRV9ICisKK2V4dGVybiB2b2lkIGluaXRwcm9jdGl0bGUgKGludCBhcmdjLCBjaGFyICoqYXJndik7CitleHRlcm4gdm9pZCBzZXRwcm9jdGl0bGUgKGNvbnN0IGNoYXIgKnByb2csIGNvbnN0IGNoYXIgKnR4dCk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9zaGExLmggYi9pbmNsdWRlL3NoYTEuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MmFmMWRhCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zaGExLmgKQEAgLTAsMCArMSwyNyBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1NIQTFfSAorI2RlZmluZSBVVElMX0xJTlVYX1NIQTFfSAorCisvKgorICAgU0hBLTEgaW4gQworICAgQnkgU3RldmUgUmVpZCA8c3RldmVAZWRtd2ViLmNvbT4KKyAgIDEwMCUgUHVibGljIERvbWFpbgorICovCisKKyNpbmNsdWRlICJzdGRpbnQuaCIKKworI2RlZmluZSBVTF9TSEExTEVOR1RICQkyMAorCit0eXBlZGVmIHN0cnVjdAoreworICAgIHVpbnQzMl90CXN0YXRlWzVdOworICAgIHVpbnQzMl90CWNvdW50WzJdOworICAgIHVuc2lnbmVkCWNoYXIgYnVmZmVyWzY0XTsKK30gVUxfU0hBMV9DVFg7CisKK3ZvaWQgdWxfU0hBMVRyYW5zZm9ybSh1aW50MzJfdCBzdGF0ZVs1XSwgY29uc3QgdW5zaWduZWQgY2hhciBidWZmZXJbNjRdKTsKK3ZvaWQgdWxfU0hBMUluaXQoVUxfU0hBMV9DVFggKmNvbnRleHQpOwordm9pZCB1bF9TSEExVXBkYXRlKFVMX1NIQTFfQ1RYICpjb250ZXh0LCBjb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCB1aW50MzJfdCBsZW4pOwordm9pZCB1bF9TSEExRmluYWwodW5zaWduZWQgY2hhciBkaWdlc3RbVUxfU0hBMUxFTkdUSF0sIFVMX1NIQTFfQ1RYICpjb250ZXh0KTsKK3ZvaWQgdWxfU0hBMShjaGFyICpoYXNoX291dCwgY29uc3QgY2hhciAqc3RyLCB1bnNpZ25lZCBsZW4pOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9TSEExX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc2lnbmFtZXMuaCBiL2luY2x1ZGUvc2lnbmFtZXMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNGZkMWJjCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zaWduYW1lcy5oCkBAIC0wLDAgKzEsOCBAQAorI2lmbmRlZiBTSUdOQU1FU19ICisjZGVmaW5lIFNJR05BTUVTX0gKKworaW50IHNpZ25hbWVfdG9fc2lnbnVtKGNvbnN0IGNoYXIgKnNpZyk7Citjb25zdCBjaGFyICpzaWdudW1fdG9fc2lnbmFtZShpbnQgc2lnbnVtKTsKK2ludCBnZXRfc2lnbmFtZV9ieV9pZHgoc2l6ZV90IGlkeCwgY29uc3QgY2hhciAqKnNpZ25hbWUsIGludCAqc2lnbnVtKTsKKworI2VuZGlmIC8qIFNJR05BTUVTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3RhdGZzX21hZ2ljLmggYi9pbmNsdWRlL3N0YXRmc19tYWdpYy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2YjAyMjUKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3N0YXRmc19tYWdpYy5oCkBAIC0wLDAgKzEsMTAwIEBACisjaWZuZGVmIFVUSUxfTElOVVhfU1RBVEZTX01BR0lDX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9TVEFURlNfTUFHSUNfSAorCisjaW5jbHVkZSA8c3lzL3N0YXRmcy5oPgorCisvKgorICogSWYgcG9zc2libGUgdGhlbiBkb24ndCBkZXBlbmQgb24gaW50ZXJuYWwgbGliYyBfX1NXT1JEX1RZUEUgdHlwZS4KKyAqLworI2lmZGVmIF9fR05VQ19fCisjZGVmaW5lIEZfVFlQRV9FUVVBTChhLCBiKSAoYSA9PSAoX190eXBlb2ZfXyhhKSkgYikKKyNlbHNlCisjZGVmaW5lIEZfVFlQRV9FUVVBTChhLCBiKSAoYSA9PSAoX19TV09SRF9UWVBFKSBiKQorI2VuZGlmCisKKy8qCisgKiAgVW5mb3J0dW5hdGVseSwgTGludXgga2VybmVsIGhlYWRlciBmaWxlIDxsaW51eC9tYWdpYy5oPiBpcyBpbmNvbXBsZXRlCisgKiAgbWVzcyBhbmQga2VybmVsIHJldHVybnMgYnkgc3RhdGZzIGZfdHlwZSBtYW55IG51bWJlcnMgdGhhdCBhcmUgbm93aGVyZQorICogIHNwZWNpZmllZCAoaW4gQVBJKS4KKyAqCisgKiAgVGhpcyBpcyBjb2xsZWN0aW9uIG9mIHRoZSBtYWdpYyBudW1iZXJzLgorICovCisjZGVmaW5lIFNUQVRGU19BREZTX01BR0lDCTB4YWRmNQorI2RlZmluZSBTVEFURlNfQUZGU19NQUdJQwkweGFkZmYKKyNkZWZpbmUgU1RBVEZTX0FGU19NQUdJQwkweDUzNDY0MTRGCisjZGVmaW5lIFNUQVRGU19BVVRPRlNfTUFHSUMJMHgwMTg3CisjZGVmaW5lIFNUQVRGU19CREVWRlNfTUFHSUMJMHg2MjY0NjU3NgorI2RlZmluZSBTVEFURlNfQkVGU19NQUdJQwkweDQyNDY1MzMxCisjZGVmaW5lIFNUQVRGU19CRlNfTUFHSUMJMHgxQkFERkFDRQorI2RlZmluZSBTVEFURlNfQklORk1URlNfTUFHSUMJMHg0MjQ5NGU0ZAorI2RlZmluZSBTVEFURlNfQlRSRlNfTUFHSUMJMHg5MTIzNjgzRQorI2RlZmluZSBTVEFURlNfQ0VQSF9NQUdJQwkweDAwYzM2NDAwCisjZGVmaW5lIFNUQVRGU19DR1JPVVBfTUFHSUMJMHgyN2UwZWIKKyNkZWZpbmUgU1RBVEZTX0NHUk9VUDJfTUFHSUMJMHg2MzY3NzI3MAorI2RlZmluZSBTVEFURlNfQ0lGU19NQUdJQwkweGZmNTM0ZDQyCisjZGVmaW5lIFNUQVRGU19DT0RBX01BR0lDCTB4NzM3NTcyNDUKKyNkZWZpbmUgU1RBVEZTX0NPTkZJR0ZTX01BR0lDCTB4NjI2NTY1NzAKKyNkZWZpbmUgU1RBVEZTX0NSQU1GU19NQUdJQwkweDI4Y2QzZDQ1CisjZGVmaW5lIFNUQVRGU19ERUJVR0ZTX01BR0lDCTB4NjQ2MjY3MjAKKyNkZWZpbmUgU1RBVEZTX0RFVlBUU19NQUdJQwkweDFjZDEKKyNkZWZpbmUgU1RBVEZTX0VDUllQVEZTX01BR0lDCTB4ZjE1ZgorI2RlZmluZSBTVEFURlNfRUZJVkFSRlNfTUFHSUMJMHhkZTVlODFlNAorI2RlZmluZSBTVEFURlNfRUZTX01BR0lDCTB4NDE0QTUzCisjZGVmaW5lIFNUQVRGU19FWE9GU19NQUdJQwkweDVERjUKKyNkZWZpbmUgU1RBVEZTX0VYVDJfTUFHSUMJMHhFRjUzCisjZGVmaW5lIFNUQVRGU19FWFQzX01BR0lDCTB4RUY1MworI2RlZmluZSBTVEFURlNfRVhUNF9NQUdJQwkweEVGNTMKKyNkZWZpbmUgU1RBVEZTX0YyRlNfTUFHSUMJMHhGMkY1MjAxMAorI2RlZmluZSBTVEFURlNfRlVTRV9NQUdJQwkweDY1NzM1NTQ2CisjZGVmaW5lIFNUQVRGU19GVVRFWEZTX01BR0lDCTB4QkFEMURFQQorI2RlZmluZSBTVEFURlNfR0ZTMl9NQUdJQwkweDAxMTYxOTcwCisjZGVmaW5lIFNUQVRGU19IRlNQTFVTX01BR0lDCTB4NDgyYgorI2RlZmluZSBTVEFURlNfSE9TVEZTX01BR0lDCTB4MDBjMGZmZWUKKyNkZWZpbmUgU1RBVEZTX0hQRlNfTUFHSUMJMHhmOTk1ZTg0OQorI2RlZmluZSBTVEFURlNfSFBQRlNfTUFHSUMJMHhiMDAwMDBlZQorI2RlZmluZSBTVEFURlNfSFVHRVRMQkZTX01BR0lDCTB4OTU4NDU4ZjYKKyNkZWZpbmUgU1RBVEZTX0lTT0ZTX01BR0lDCTB4OTY2MAorI2RlZmluZSBTVEFURlNfSkZGUzJfTUFHSUMJMHg3MmI2CisjZGVmaW5lIFNUQVRGU19KRlNfTUFHSUMJMHgzMTUzNDY0YQorI2RlZmluZSBTVEFURlNfTE9HRlNfTUFHSUMJMHhjOTdlODE2OAorI2RlZmluZSBTVEFURlNfTUlOSVgyX01BR0lDCTB4MjQ2OAorI2RlZmluZSBTVEFURlNfTUlOSVgyX01BR0lDMgkweDI0NzgKKyNkZWZpbmUgU1RBVEZTX01JTklYM19NQUdJQwkweDRkNWEKKyNkZWZpbmUgU1RBVEZTX01JTklYX01BR0lDCTB4MTM3RgorI2RlZmluZSBTVEFURlNfTUlOSVhfTUFHSUMyCTB4MTM4RgorI2RlZmluZSBTVEFURlNfTVFVRVVFX01BR0lDCTB4MTk4MDAyMDIKKyNkZWZpbmUgU1RBVEZTX01TRE9TX01BR0lDCTB4NGQ0NAorI2RlZmluZSBTVEFURlNfTkNQX01BR0lDCTB4NTY0YworI2RlZmluZSBTVEFURlNfTkZTX01BR0lDCTB4Njk2OQorI2RlZmluZSBTVEFURlNfTklMRlNfTUFHSUMJMHgzNDM0CisjZGVmaW5lIFNUQVRGU19OVEZTX01BR0lDCTB4NTM0NjU0NGUKKyNkZWZpbmUgU1RBVEZTX09DRlMyX01BR0lDCTB4NzQ2MTYzNmYKKyNkZWZpbmUgU1RBVEZTX09NRlNfTUFHSUMJMHhDMjk5M0Q4NworI2RlZmluZSBTVEFURlNfT1BFTlBST01GU19NQUdJQwkweDlmYTEKKyNkZWZpbmUgU1RBVEZTX1BJUEVGU19NQUdJQwkweDUwNDk1MDQ1CisjZGVmaW5lIFNUQVRGU19QUk9DX01BR0lDCTB4OWZhMAorI2RlZmluZSBTVEFURlNfUFNUT1JFRlNfTUFHSUMJMHg2MTY1Njc2QworI2RlZmluZSBTVEFURlNfUU5YNF9NQUdJQwkweDAwMmYKKyNkZWZpbmUgU1RBVEZTX1FOWDZfTUFHSUMJMHg2ODE5MTEyMgorI2RlZmluZSBTVEFURlNfUkFNRlNfTUFHSUMJMHg4NTg0NThmNgorI2RlZmluZSBTVEFURlNfUkVJU0VSRlNfTUFHSUMJMHg1MjY1NDk3MworI2RlZmluZSBTVEFURlNfUk9NRlNfTUFHSUMJMHg3Mjc1CisjZGVmaW5lIFNUQVRGU19TRUNVUklUWUZTX01BR0lDCTB4NzM2MzY2NzMKKyNkZWZpbmUgU1RBVEZTX1NFTElOVVhGU19NQUdJQwkweGY5N2NmZjhjCisjZGVmaW5lIFNUQVRGU19TTUFDS0ZTX01BR0lDCTB4NDM0MTVkNTMKKyNkZWZpbmUgU1RBVEZTX1NNQl9NQUdJQwkweDUxN0IKKyNkZWZpbmUgU1RBVEZTX1NPQ0tGU19NQUdJQwkweDUzNEY0MzRCCisjZGVmaW5lIFNUQVRGU19TUVVBU0hGU19NQUdJQwkweDczNzE3MzY4CisjZGVmaW5lIFNUQVRGU19TWVNGU19NQUdJQwkweDYyNjU2NTcyCisjZGVmaW5lIFNUQVRGU19UTVBGU19NQUdJQwkweDAxMDIxOTk0CisjZGVmaW5lIFNUQVRGU19VQklGU19NQUdJQwkweDI0MDUxOTA1CisjZGVmaW5lIFNUQVRGU19VREZfTUFHSUMJMHgxNTAxMzM0NgorI2RlZmluZSBTVEFURlNfVUZTMl9NQUdJQwkweDE5NTQwMTE5CisjZGVmaW5lIFNUQVRGU19VRlNfTUFHSUMJMHgwMDAxMTk1NAorI2RlZmluZSBTVEFURlNfVjlGU19NQUdJQwkweDAxMDIxOTk3CisjZGVmaW5lIFNUQVRGU19WWEZTX01BR0lDCTB4YTUwMUZDRjUKKyNkZWZpbmUgU1RBVEZTX1hFTkZTX01BR0lDCTB4YWJiYTE5NzQKKyNkZWZpbmUgU1RBVEZTX1hGU19NQUdJQwkweDU4NDY1MzQyCisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1NUQVRGU19NQUdJQ19IICovCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3RydXRpbHMuaCBiL2luY2x1ZGUvc3RydXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTM1YmUzCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zdHJ1dGlscy5oCkBAIC0wLDAgKzEsMjMwIEBACisjaWZuZGVmIFVUSUxfTElOVVhfU1RSVVRJTFMKKyNkZWZpbmUgVVRJTF9MSU5VWF9TVFJVVElMUworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworLyogaW5pdGlhbGl6ZSBhIGN1c3RvbSBleGl0IGNvZGUgZm9yIGFsbCAqX29yX2VyciBmdW5jdGlvbnMgKi8KK2V4dGVybiB2b2lkIHN0cnV0aWxzX3NldF9leGl0Y29kZShpbnQgZXhpdF9jb2RlKTsKKworZXh0ZXJuIGludCBwYXJzZV9zaXplKGNvbnN0IGNoYXIgKnN0ciwgdWludG1heF90ICpyZXMsIGludCAqcG93ZXIpOworZXh0ZXJuIGludCBzdHJ0b3NpemUoY29uc3QgY2hhciAqc3RyLCB1aW50bWF4X3QgKnJlcyk7CitleHRlcm4gdWludG1heF90IHN0cnRvc2l6ZV9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKKworZXh0ZXJuIGludDE2X3Qgc3RydG9zMTZfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CitleHRlcm4gdWludDE2X3Qgc3RydG91MTZfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CitleHRlcm4gdWludDE2X3Qgc3RydG94MTZfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CisKK2V4dGVybiBpbnQzMl90IHN0cnRvczMyX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpOworZXh0ZXJuIHVpbnQzMl90IHN0cnRvdTMyX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpOworZXh0ZXJuIHVpbnQzMl90IHN0cnRveDMyX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpOworCitleHRlcm4gaW50NjRfdCBzdHJ0b3M2NF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKK2V4dGVybiB1aW50NjRfdCBzdHJ0b3U2NF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKK2V4dGVybiB1aW50NjRfdCBzdHJ0b3g2NF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKKworZXh0ZXJuIGRvdWJsZSBzdHJ0b2Rfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CisKK2V4dGVybiBsb25nIHN0cnRvbF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIHN0cnRvdWxfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZyk7CisKK2V4dGVybiB2b2lkIHN0cnRvdGltZXZhbF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBzdHJ1Y3QgdGltZXZhbCAqdHYsCisJCWNvbnN0IGNoYXIgKmVycm1lc2cpOworCitleHRlcm4gaW50IGlzZGlnaXRfc3RyZW5kKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqKmVuZCk7CisjZGVmaW5lIGlzZGlnaXRfc3RyaW5nKF9zKQlpc2RpZ2l0X3N0cmVuZChfcywgTlVMTCkKKworZXh0ZXJuIGludCBpc3hkaWdpdF9zdHJlbmQoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICoqZW5kKTsKKyNkZWZpbmUgaXN4ZGlnaXRfc3RyaW5nKF9zKQlpc3hkaWdpdF9zdHJlbmQoX3MsIE5VTEwpCisKKworZXh0ZXJuIGludCBwYXJzZV9zd2l0Y2goY29uc3QgY2hhciAqYXJnLCBjb25zdCBjaGFyICplcnJtZXNnLCAuLi4pOworCisjaWZuZGVmIEhBVkVfTUVNUENQWQorZXh0ZXJuIHZvaWQgKm1lbXBjcHkodm9pZCAqcmVzdHJpY3QgZGVzdCwgY29uc3Qgdm9pZCAqcmVzdHJpY3Qgc3JjLCBzaXplX3Qgbik7CisjZW5kaWYKKyNpZm5kZWYgSEFWRV9TVFJOTEVOCitleHRlcm4gc2l6ZV90IHN0cm5sZW4oY29uc3QgY2hhciAqcywgc2l6ZV90IG1heGxlbik7CisjZW5kaWYKKyNpZm5kZWYgSEFWRV9TVFJORFVQCitleHRlcm4gY2hhciAqc3RybmR1cChjb25zdCBjaGFyICpzLCBzaXplX3Qgbik7CisjZW5kaWYKKyNpZm5kZWYgSEFWRV9TVFJOQ0hSCitleHRlcm4gY2hhciAqc3RybmNocihjb25zdCBjaGFyICpzLCBzaXplX3QgbWF4bGVuLCBpbnQgYyk7CisjZW5kaWYKKworLyogY2FsbGVyIGd1YXJhbnRlZXMgbiA+IDAgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCB4c3RybmNweShjaGFyICpkZXN0LCBjb25zdCBjaGFyICpzcmMsIHNpemVfdCBuKQoreworCXN0cm5jcHkoZGVzdCwgc3JjLCBuLTEpOworCWRlc3Rbbi0xXSA9IDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHN0cmR1cF90b19vZmZzZXQodm9pZCAqc3RydSwgc2l6ZV90IG9mZnNldCwgY29uc3QgY2hhciAqc3RyKQoreworCWNoYXIgKm4gPSBOVUxMOworCWNoYXIgKipvOworCisJaWYgKCFzdHJ1KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW8gPSAoY2hhciAqKikgKChjaGFyICopIHN0cnUgKyBvZmZzZXQpOworCWlmIChzdHIpIHsKKwkJbiA9IHN0cmR1cChzdHIpOworCQlpZiAoIW4pCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlmcmVlKCpvKTsKKwkqbyA9IG47CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoX3MsIF9tLCBfc3RyKSBcCisJCXN0cmR1cF90b19vZmZzZXQoKHZvaWQgKikgX3MsIG9mZnNldG9mKF9fdHlwZW9mX18oKihfcykpLCBfbSksIF9zdHIpCisKK2V4dGVybiB2b2lkIHhzdHJtb2RlKG1vZGVfdCBtb2RlLCBjaGFyICpzdHIpOworCisvKiBPcHRpb25zIGZvciBzaXplX3RvX2h1bWFuX3N0cmluZygpICovCitlbnVtCit7CisgICAgICAgIFNJWkVfU1VGRklYXzFMRVRURVIgPSAwLAorICAgICAgICBTSVpFX1NVRkZJWF8zTEVUVEVSID0gMSwKKyAgICAgICAgU0laRV9TVUZGSVhfU1BBQ0UgICA9IDIKK307CisKK2V4dGVybiBjaGFyICpzaXplX3RvX2h1bWFuX3N0cmluZyhpbnQgb3B0aW9ucywgdWludDY0X3QgYnl0ZXMpOworCitleHRlcm4gaW50IHN0cmluZ190b19pZGFycmF5KGNvbnN0IGNoYXIgKmxpc3QsIGludCBhcnlbXSwgc2l6ZV90IGFyeXN6LAorCQkJICAgaW50IChuYW1lMmlkKShjb25zdCBjaGFyICosIHNpemVfdCkpOworZXh0ZXJuIGludCBzdHJpbmdfYWRkX3RvX2lkYXJyYXkoY29uc3QgY2hhciAqbGlzdCwgaW50IGFyeVtdLAorCQkJCSBzaXplX3QgYXJ5c3osIHNpemVfdCAqYXJ5X3BvcywKKwkJCQkgaW50IChuYW1lMmlkKShjb25zdCBjaGFyICosIHNpemVfdCkpOworCitleHRlcm4gaW50IHN0cmluZ190b19iaXRhcnJheShjb25zdCBjaGFyICpsaXN0LCBjaGFyICphcnksCisJCQkgICAgaW50ICgqbmFtZTJiaXQpKGNvbnN0IGNoYXIgKiwgc2l6ZV90KSk7CisKK2V4dGVybiBpbnQgc3RyaW5nX3RvX2JpdG1hc2soY29uc3QgY2hhciAqbGlzdCwKKwkJCSAgICAgdW5zaWduZWQgbG9uZyAqbWFzaywKKwkJCSAgICAgbG9uZyAoKm5hbWUyZmxhZykoY29uc3QgY2hhciAqLCBzaXplX3QpKTsKK2V4dGVybiBpbnQgcGFyc2VfcmFuZ2UoY29uc3QgY2hhciAqc3RyLCBpbnQgKmxvd2VyLCBpbnQgKnVwcGVyLCBpbnQgZGVmKTsKKworZXh0ZXJuIGludCBzdHJlcV9wYXRocyhjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKTsKKworLyoKKyAqIE1hdGNoIHN0cmluZyBiZWdpbm5pbmcuCisgKi8KK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqc3RhcnRzd2l0aChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc2l6ZV90IHN6ID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOworCisgICAgICAgIGlmIChzICYmIHN6ICYmIHN0cm5jbXAocywgcHJlZml4LCBzeikgPT0gMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gcyArIHN6OworCXJldHVybiBOVUxMOworfQorCisvKgorICogQ2FzZSBpbnNlbnNpdGl2ZSBtYXRjaCBzdHJpbmcgYmVnaW5uaW5nLgorICovCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnN0YXJ0c3dpdGhfbm9fY2FzZShjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc2l6ZV90IHN6ID0gcHJlZml4ID8gc3RybGVuKHByZWZpeCkgOiAwOworCisgICAgICAgIGlmIChzICYmIHN6ICYmIHN0cm5jYXNlY21wKHMsIHByZWZpeCwgc3opID09IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIHMgKyBzejsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIE1hdGNoIHN0cmluZyBlbmRpbmcuCisgKi8KK3N0YXRpYyBpbmxpbmUgY29uc3QgY2hhciAqZW5kc3dpdGgoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqcG9zdGZpeCkKK3sKKwlzaXplX3Qgc2wgPSBzID8gc3RybGVuKHMpIDogMDsKKwlzaXplX3QgcGwgPSBwb3N0Zml4ID8gc3RybGVuKHBvc3RmaXgpIDogMDsKKworCWlmIChwbCA9PSAwKQorCQlyZXR1cm4gcyArIHNsOworCWlmIChzbCA8IHBsKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAobWVtY21wKHMgKyBzbCAtIHBsLCBwb3N0Zml4LCBwbCkgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisJcmV0dXJuIHMgKyBzbCAtIHBsOworfQorCisvKgorICogU2tpcCBsZWFkaW5nIHdoaXRlIHNwYWNlLgorICovCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIgKnNraXBfc3BhY2UoY29uc3QgY2hhciAqcCkKK3sKKwl3aGlsZSAoaXNzcGFjZSgqcCkpCisJCSsrcDsKKwlyZXR1cm4gcDsKK30KKworc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpza2lwX2JsYW5rKGNvbnN0IGNoYXIgKnApCit7CisJd2hpbGUgKGlzYmxhbmsoKnApKQorCQkrK3A7CisJcmV0dXJuIHA7Cit9CisKKworLyogUmVtb3ZlcyB3aGl0ZXNwYWNlIGZyb20gdGhlIHJpZ2h0LWhhbmQgc2lkZSBvZiBhIHN0cmluZyAodHJhaWxpbmcKKyAqIHdoaXRlc3BhY2UpLgorICoKKyAqIFJldHVybnMgc2l6ZSBvZiB0aGUgbmV3IHN0cmluZyAod2l0aG91dCBcMCkuCisgKi8KK3N0YXRpYyBpbmxpbmUgc2l6ZV90IHJ0cmltX3doaXRlc3BhY2UodW5zaWduZWQgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCWkgPSBzdHJsZW4oKGNoYXIgKikgc3RyKTsKKwl3aGlsZSAoaSkgeworCQlpLS07CisJCWlmICghaXNzcGFjZShzdHJbaV0pKSB7CisJCQlpKys7CisJCQlicmVhazsKKwkJfQorCX0KKwlzdHJbaV0gPSAnXDAnOworCXJldHVybiBpOworfQorCisvKiBSZW1vdmVzIHdoaXRlc3BhY2UgZnJvbSB0aGUgbGVmdC1oYW5kIHNpZGUgb2YgYSBzdHJpbmcuCisgKgorICogUmV0dXJucyBzaXplIG9mIHRoZSBuZXcgc3RyaW5nICh3aXRob3V0IFwwKS4KKyAqLworc3RhdGljIGlubGluZSBzaXplX3QgbHRyaW1fd2hpdGVzcGFjZSh1bnNpZ25lZCBjaGFyICpzdHIpCit7CisJc2l6ZV90IGxlbjsKKwl1bnNpZ25lZCBjaGFyICpwOworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCWZvciAocCA9IHN0cjsgKnAgJiYgaXNzcGFjZSgqcCk7IHArKyk7CisKKwlsZW4gPSBzdHJsZW4oKGNoYXIgKikgcCk7CisKKwlpZiAocCA+IHN0cikKKwkJbWVtbW92ZShzdHIsIHAsIGxlbiArIDEpOworCisJcmV0dXJuIGxlbjsKK30KKworZXh0ZXJuIGNoYXIgKnN0cm5hcHBlbmQoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqc3VmZml4LCBzaXplX3QgYik7CitleHRlcm4gY2hhciAqc3RyYXBwZW5kKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKnN1ZmZpeCk7CitleHRlcm4gY2hhciAqc3RyZmFwcGVuZChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKwkJIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAwKSkpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnNwbGl0KGNvbnN0IGNoYXIgKipzdGF0ZSwgc2l6ZV90ICpsLCBjb25zdCBjaGFyICpzZXBhcmF0b3IsIGludCBxdW90ZWQpOworCitleHRlcm4gaW50IHNraXBfZmxpbmUoRklMRSAqZnApOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3Rydi5oIGIvaW5jbHVkZS9zdHJ2LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYwYWQxMgotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvc3Rydi5oCkBAIC0wLDAgKzEsNTUgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9TVFJWCisjZGVmaW5lIFVUSUxfTElOVVhfU1RSVgorCisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlICJjLmgiCisKK2NoYXIgKipzdHJ2X2ZyZWUoY2hhciAqKmwpOwordm9pZCBzdHJ2X2NsZWFyKGNoYXIgKipsKTsKK2NoYXIgKipzdHJ2X2NvcHkoY2hhciAqIGNvbnN0ICpsKTsKK3Vuc2lnbmVkIHN0cnZfbGVuZ3RoKGNoYXIgKiBjb25zdCAqbCk7CisKK2ludCBzdHJ2X2V4dGVuZF9zdHJ2KGNoYXIgKioqYSwgY2hhciAqKmIpOworaW50IHN0cnZfZXh0ZW5kX3N0cnZfY29uY2F0KGNoYXIgKioqYSwgY2hhciAqKmIsIGNvbnN0IGNoYXIgKnN1ZmZpeCk7CitpbnQgc3Rydl9leHRlbmQoY2hhciAqKipsLCBjb25zdCBjaGFyICp2YWx1ZSk7CitpbnQgc3Rydl9leHRlbmR2KGNoYXIgKioqbCwgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFwKTsKK2ludCBzdHJ2X2V4dGVuZGYoY2hhciAqKipsLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKKwkJCV9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAyLCAwKSkpOworaW50IHN0cnZfcHVzaChjaGFyICoqKmwsIGNoYXIgKnZhbHVlKTsKK2ludCBzdHJ2X3B1c2hfcHJlcGVuZChjaGFyICoqKmwsIGNoYXIgKnZhbHVlKTsKK2ludCBzdHJ2X2NvbnN1bWUoY2hhciAqKipsLCBjaGFyICp2YWx1ZSk7CitpbnQgc3Rydl9jb25zdW1lX3ByZXBlbmQoY2hhciAqKipsLCBjaGFyICp2YWx1ZSk7CisKK2NoYXIgKipzdHJ2X3JlbW92ZShjaGFyICoqbCwgY29uc3QgY2hhciAqcyk7CisKK2NoYXIgKipzdHJ2X25ldyhjb25zdCBjaGFyICp4LCAuLi4pOworY2hhciAqKnN0cnZfbmV3X2FwKGNvbnN0IGNoYXIgKngsIHZhX2xpc3QgYXApOworCitzdGF0aWMgaW5saW5lIGNvbnN0IGNoYXIqIFNUUlZfSUZOT1ROVUxMKGNvbnN0IGNoYXIgKngpIHsKKyAgICAgICAgcmV0dXJuIHggPyB4IDogKGNvbnN0IGNoYXIgKikgLTE7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHN0cnZfaXNlbXB0eShjaGFyICogY29uc3QgKmwpIHsKKyAgICAgICAgcmV0dXJuICFsIHx8ICEqbDsKK30KKworY2hhciAqKnN0cnZfc3BsaXQoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqc2VwYXJhdG9yKTsKK2NoYXIgKnN0cnZfam9pbihjaGFyICoqbCwgY29uc3QgY2hhciAqc2VwYXJhdG9yKTsKKworI2RlZmluZSBTVFJWX0ZPUkVBQ0gocywgbCkgICAgICAgICAgICAgICAgICAgICAgXAorICAgICAgICBmb3IgKChzKSA9IChsKTsgKHMpICYmICoocyk7IChzKSsrKQorCisjZGVmaW5lIFNUUlZfRk9SRUFDSF9CQUNLV0FSRFMocywgbCkgICAgICAgICAgICBcCisgICAgICAgIFNUUlZfRk9SRUFDSChzLCBsKSAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgICAgICAgICAgOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCisgICAgICAgIGZvciAoKHMpLS07IChsKSAmJiAoKHMpID49IChsKSk7IChzKS0tKQorCisKKyNkZWZpbmUgU1RSVl9NQUtFX0VNUFRZICgoY2hhcipbMV0pIHsgTlVMTCB9KQorCitjaGFyICoqc3Rydl9yZXZlcnNlKGNoYXIgKipsKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfU1RSViAqLworCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3dhcGhlYWRlci5oIGIvaW5jbHVkZS9zd2FwaGVhZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2ZjZTBkMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUvc3dhcGhlYWRlci5oCkBAIC0wLDAgKzEsMjMgQEAKKyNpZm5kZWYgX1NXQVBIRUFERVJfSAorI2RlZmluZSBfU1dBUEhFQURFUl9ICisKKyNkZWZpbmUgU1dBUF9WRVJTSU9OIDEKKyNkZWZpbmUgU1dBUF9VVUlEX0xFTkdUSCAxNgorI2RlZmluZSBTV0FQX0xBQkVMX0xFTkdUSCAxNgorI2RlZmluZSBTV0FQX1NJR05BVFVSRSAiU1dBUFNQQUNFMiIKKyNkZWZpbmUgU1dBUF9TSUdOQVRVUkVfU1ogKHNpemVvZihTV0FQX1NJR05BVFVSRSkgLSAxKQorCisjaW5jbHVkZSA8c3RkaW50Lmg+CisKK3N0cnVjdCBzd2FwX2hlYWRlcl92MV8yIHsKKwljaGFyCSAgICAgIGJvb3RiaXRzWzEwMjRdOyAgICAvKiBTcGFjZSBmb3IgZGlza2xhYmVsIGV0Yy4gKi8KKwl1aW50MzJfdCAgICAgIHZlcnNpb247CisJdWludDMyX3QgICAgICBsYXN0X3BhZ2U7CisJdWludDMyX3QgICAgICBucl9iYWRwYWdlczsKKwl1bnNpZ25lZCBjaGFyIHV1aWRbU1dBUF9VVUlEX0xFTkdUSF07CisJY2hhcgkgICAgICB2b2x1bWVfbmFtZVtTV0FQX0xBQkVMX0xFTkdUSF07CisJdWludDMyX3QgICAgICBwYWRkaW5nWzExN107CisJdWludDMyX3QgICAgICBiYWRwYWdlc1sxXTsKK307CisKKyNlbmRpZiAvKiBfU1dBUEhFQURFUl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3N3YXBwcm9iZXIuaCBiL2luY2x1ZGUvc3dhcHByb2Jlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUxMDc3MDAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3N3YXBwcm9iZXIuaApAQCAtMCwwICsxLDkgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9TV0FQX1BST0JFUl9ICisjZGVmaW5lIFVUSUxfTElOVVhfU1dBUF9QUk9CRVJfSAorCisjaW5jbHVkZSA8YmxraWQuaD4KKworYmxraWRfcHJvYmUgZ2V0X3N3YXBfcHJvYmVyKGNvbnN0IGNoYXIgKmRldm5hbWUpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9TV0FQX1BST0JFUl9IICovCisKZGlmZiAtLWdpdCBhL2luY2x1ZGUvc3lzZnMuaCBiL2luY2x1ZGUvc3lzZnMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGY2OWZiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS9zeXNmcy5oCkBAIC0wLDAgKzEsMTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisjaWZuZGVmIFVUSUxfTElOVVhfU1lTRlNfSAorI2RlZmluZSBVVElMX0xJTlVYX1NZU0ZTX0gKKworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKworI2luY2x1ZGUgInBhdGguaCIKKworLyoqCisgKiBzeXNmc19kZXZuYW1lX3N5c190b19kZXY6CisgKiBAbmFtZTogZGV2bmFtZSB0byBiZSBjb252ZXJ0ZWQgaW4gcGxhY2UKKyAqCisgKiBMaW51eCBrZXJuZWwgbGludXgvZHJpdmVycy9iYXNlL2NvcmUuYzogZGV2aWNlX2dldF9kZXZub2RlKCkKKyAqIGRlZmluZXMgYSByZXBsYWNlbWVudCBvZiAnIScgaW4gdGhlIC9zeXMgZGV2aWNlIG5hbWUgYnkgJy8nIGluIHRoZQorICogL2RldiBkZXZpY2UgbmFtZS4gVGhpcyBoZWxwZXIgcmVwbGFjZXMgYWxsIG9jY3VycmVuY2VzIG9mICchJyBpbgorICogQG5hbWUgYnkgJy8nIHRvIGNvbnZlcnQgZnJvbSAvc3lzIHRvIC9kZXYuCisgKi8KK3N0YXRpYyBpbmxpbmUgdm9pZCBzeXNmc19kZXZuYW1lX3N5c190b19kZXYoY2hhciAqbmFtZSkKK3sKKwljaGFyICpjOworCisJaWYgKG5hbWUpCisJCXdoaWxlICgoYyA9IHN0cmNocihuYW1lLCAnIScpKSkKKwkJCWNbMF0gPSAnLyc7Cit9CisKKy8qKgorICogc3lzZnNfZGV2bmFtZV9kZXZfdG9fc3lzOgorICogQG5hbWU6IGRldm5hbWUgdG8gYmUgY29udmVydGVkIGluIHBsYWNlCisgKgorICogU2VlIHN5c2ZzX2Rldm5hbWVfc3lzX3RvX2RldigpLgorICovCitzdGF0aWMgaW5saW5lIHZvaWQgc3lzZnNfZGV2bmFtZV9kZXZfdG9fc3lzKGNoYXIgKm5hbWUpCit7CisJY2hhciAqYzsKKworCWlmIChuYW1lKQorCQl3aGlsZSAoKGMgPSBzdHJjaHIobmFtZSwgJy8nKSkpCisJCQljWzBdID0gJyEnOworfQorCitzdHJ1Y3Qgc3lzZnNfYmxrZGV2IHsKKwlkZXZfdAlkZXZubzsKKwlzdHJ1Y3QgcGF0aF9jeHQgKnBhcmVudDsKKworCXVuc2lnbmVkIGludAlzY3NpX2hvc3QsCisJCQlzY3NpX2NoYW5uZWwsCisJCQlzY3NpX3RhcmdldCwKKwkJCXNjc2lfbHVuOworCisJdW5zaWduZWQgaW50CWhhc19oY3RsICAgOiAxLAorCQkJaGN0bF9lcnJvciA6IDEgOworfTsKKwordm9pZCB1bF9zeXNmc19pbml0X2RlYnVnKHZvaWQpOworCitzdHJ1Y3QgcGF0aF9jeHQgKnVsX25ld19zeXNmc19wYXRoKGRldl90IGRldm5vLCBzdHJ1Y3QgcGF0aF9jeHQgKnBhcmVudCwgY29uc3QgY2hhciAqcHJlZml4KTsKK2ludCBzeXNmc19ibGtkZXZfaW5pdF9wYXRoKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGRldl90IGRldm5vLCBzdHJ1Y3QgcGF0aF9jeHQgKnBhcmVudCk7CisKK2ludCBzeXNmc19ibGtkZXZfc2V0X3BhcmVudChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBzdHJ1Y3QgcGF0aF9jeHQgKnBhcmVudCk7CitzdHJ1Y3QgcGF0aF9jeHQgKnN5c2ZzX2Jsa2Rldl9nZXRfcGFyZW50KHN0cnVjdCBwYXRoX2N4dCAqcGMpOworCitjaGFyICpzeXNmc19ibGtkZXZfZ2V0X25hbWUoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6KTsKK2ludCBzeXNmc19ibGtkZXZfaXNfcGFydGl0aW9uX2RpcmVudChESVIgKmRpciwgc3RydWN0IGRpcmVudCAqZCwgY29uc3QgY2hhciAqcGFyZW50X25hbWUpOworaW50IHN5c2ZzX2Jsa2Rldl9jb3VudF9wYXJ0aXRpb25zKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKmRldm5hbWUpOworZGV2X3Qgc3lzZnNfYmxrZGV2X3BhcnRub190b19kZXZubyhzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQgcGFydG5vKTsKK2NoYXIgKnN5c2ZzX2Jsa2Rldl9nZXRfc2xhdmUoc3RydWN0IHBhdGhfY3h0ICpwYyk7CitjaGFyICpzeXNmc19ibGtkZXZfZ2V0X3BhdGgoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6KTsKK2Rldl90IHN5c2ZzX2Jsa2Rldl9nZXRfZGV2bm8oc3RydWN0IHBhdGhfY3h0ICpwYyk7CisKK2NoYXIgKnN5c2ZzX2Jsa2Rldl9nZXRfZGV2Y2hhaW4oc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opOworaW50IHN5c2ZzX2Jsa2Rldl9uZXh0X3N1YnN5c3RlbShzdHJ1Y3QgcGF0aF9jeHQgKnBjIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLCBjaGFyICpkZXZjaGFpbiwgY2hhciAqKnN1YnN5cyk7CisKK2ludCBzeXNmc19ibGtkZXZfaXNfaG90cGx1Z2dhYmxlKHN0cnVjdCBwYXRoX2N4dCAqcGMpOworaW50IHN5c2ZzX2Jsa2Rldl9nZXRfd2hvbGVkaXNrKCBzdHJ1Y3QgcGF0aF9jeHQgKnBjLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaGFyICpkaXNrbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2X3QgKmRpc2tkZXZubyk7CisKK2ludCBzeXNmc19kZXZub190b193aG9sZWRpc2soZGV2X3QgZGV2LCBjaGFyICpkaXNrbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbiwgZGV2X3QgKmRpc2tkZXZubyk7CitpbnQgc3lzZnNfZGV2bm9faXNfZG1fcHJpdmF0ZShkZXZfdCBkZXZubywgY2hhciAqKnV1aWQpOworaW50IHN5c2ZzX2Rldm5vX2lzX3dob2xlZGlzayhkZXZfdCBkZXZubyk7CitkZXZfdCBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGNvbnN0IGNoYXIgKm5hbWUpOworZGV2X3QgX19zeXNmc19kZXZuYW1lX3RvX2Rldm5vKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcGFyZW50KTsKK2NoYXIgKnN5c2ZzX2Rldm5vX3RvX2RldnBhdGgoZGV2X3QgZGV2bm8sIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeik7CitjaGFyICpzeXNmc19kZXZub190b19kZXZuYW1lKGRldl90IGRldm5vLCBjaGFyICpidWYsIHNpemVfdCBidWZzaXopOworCitpbnQgc3lzZnNfYmxrZGV2X3Njc2lfZ2V0X2hjdGwoc3RydWN0IHBhdGhfY3h0ICpwYywgaW50ICpoLCBpbnQgKmMsIGludCAqdCwgaW50ICpsKTsKK2NoYXIgKnN5c2ZzX2Jsa2Rldl9zY3NpX2hvc3Rfc3RyZHVwX2F0dHJpYnV0ZShzdHJ1Y3QgcGF0aF9jeHQgKnBjLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqdHlwZSwgY29uc3QgY2hhciAqYXR0cik7CitpbnQgc3lzZnNfYmxrZGV2X3Njc2lfaG9zdF9pcyhzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICp0eXBlKTsKK2ludCBzeXNmc19ibGtkZXZfc2NzaV9oYXNfYXR0cmlidXRlKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKmF0dHIpOworaW50IHN5c2ZzX2Jsa2Rldl9zY3NpX3BhdGhfY29udGFpbnMoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqcGF0dGVybik7CisKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfU1lTRlNfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS90aW1lci5oIGIvaW5jbHVkZS90aW1lci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhOWY5YzAKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3RpbWVyLmgKQEAgLTAsMCArMSwxMSBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1RJTUVSX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9USU1FUl9ICisKKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCitleHRlcm4gaW50IHNldHVwX3RpbWVyKHRpbWVyX3QgKiB0X2lkLCBzdHJ1Y3QgaXRpbWVydmFsICp0aW1lb3V0LAorCQkgICAgICAgdm9pZCAoKnRpbWVvdXRfaGFuZGxlcikoaW50LCBzaWdpbmZvX3QgKiwgdm9pZCAqKSk7CitleHRlcm4gdm9pZCBjYW5jZWxfdGltZXIodGltZXJfdCAqIHRfaWQpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9USU1FUl9IICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3RpbWV1dGlscy5oIGIvaW5jbHVkZS90aW1ldXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMzBlNmRiCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS90aW1ldXRpbHMuaApAQCAtMCwwICsxLDk2IEBACisvKioqCisgIEZpcnN0IHNldCBvZiBmdW5jdGlvbnMgaW4gdGhpcyBmaWxlIGFyZSBwYXJ0IG9mIHN5c3RlbWQsIGFuZCB3ZXJlCisgIGNvcGllZCB0byB1dGlsLWxpbnV4IGF0IEF1Z3VzdCAyMDEzLgorCisgIENvcHlyaWdodCAyMDEwIExlbm5hcnQgUG9ldHRlcmluZworICBDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKKyAgc3lzdGVtZCBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLjEgb2YgdGhlIExpY2Vuc2UsIG9yCisgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgc3lzdGVtZCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUgR05VCisgIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgIGFsb25nIHdpdGggc3lzdGVtZDsgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorKioqLworI2lmbmRlZiBVVElMX0xJTlVYX1RJTUVfVVRJTF9ICisjZGVmaW5lIFVUSUxfTElOVVhfVElNRV9VVElMX0gKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCit0eXBlZGVmIHVpbnQ2NF90IHVzZWNfdDsKK3R5cGVkZWYgdWludDY0X3QgbnNlY190OworCisjZGVmaW5lIE1TRUNfUEVSX1NFQyAgMTAwMFVMTAorI2RlZmluZSBVU0VDX1BFUl9TRUMgIDEwMDAwMDBVTEwKKyNkZWZpbmUgVVNFQ19QRVJfTVNFQyAxMDAwVUxMCisjZGVmaW5lIE5TRUNfUEVSX1NFQyAgMTAwMDAwMDAwMFVMTAorI2RlZmluZSBOU0VDX1BFUl9NU0VDIDEwMDAwMDBVTEwKKyNkZWZpbmUgTlNFQ19QRVJfVVNFQyAxMDAwVUxMCisKKyNkZWZpbmUgVVNFQ19QRVJfTUlOVVRFCSg2MFVMTCpVU0VDX1BFUl9TRUMpCisjZGVmaW5lIE5TRUNfUEVSX01JTlVURQkoNjBVTEwqTlNFQ19QRVJfU0VDKQorI2RlZmluZSBVU0VDX1BFUl9IT1VSCSg2MFVMTCpVU0VDX1BFUl9NSU5VVEUpCisjZGVmaW5lIE5TRUNfUEVSX0hPVVIJKDYwVUxMKk5TRUNfUEVSX01JTlVURSkKKyNkZWZpbmUgVVNFQ19QRVJfREFZCSgyNFVMTCpVU0VDX1BFUl9IT1VSKQorI2RlZmluZSBOU0VDX1BFUl9EQVkJKDI0VUxMKk5TRUNfUEVSX0hPVVIpCisjZGVmaW5lIFVTRUNfUEVSX1dFRUsJKDdVTEwqVVNFQ19QRVJfREFZKQorI2RlZmluZSBOU0VDX1BFUl9XRUVLCSg3VUxMKk5TRUNfUEVSX0RBWSkKKyNkZWZpbmUgVVNFQ19QRVJfTU9OVEgJKDI2Mjk4MDBVTEwqVVNFQ19QRVJfU0VDKQorI2RlZmluZSBOU0VDX1BFUl9NT05USAkoMjYyOTgwMFVMTCpOU0VDX1BFUl9TRUMpCisjZGVmaW5lIFVTRUNfUEVSX1lFQVIJKDMxNTU3NjAwVUxMKlVTRUNfUEVSX1NFQykKKyNkZWZpbmUgTlNFQ19QRVJfWUVBUgkoMzE1NTc2MDBVTEwqTlNFQ19QRVJfU0VDKQorCisjZGVmaW5lIEZPUk1BVF9USU1FU1RBTVBfTUFYICgoNCo0KzEpKzExKzkrNCsxKQkvKiB3ZWVrZGF5cyBjYW4gYmUgdW5pY29kZSAqLworI2RlZmluZSBGT1JNQVRfVElNRVNUQU1QX1JFTEFUSVZFX01BWCAyNTYKKyNkZWZpbmUgRk9STUFUX1RJTUVTUEFOX01BWCA2NAorCitpbnQgcGFyc2VfdGltZXN0YW1wKGNvbnN0IGNoYXIgKnQsIHVzZWNfdCAqdXNlYyk7CitpbnQgZ2V0X2dtdG9mZihjb25zdCBzdHJ1Y3QgdG0gKnRwKTsKKworLyogZmxhZ3MgYW5kIG1hc2tzIGZvciBzdHJ4eHhfaXNvKCkgZnVuY3Rpb25zICovCitlbnVtIHsKKwlJU09fREFURQkJPSAoMSA8PCAwKSwKKwlJU09fVElNRQkJPSAoMSA8PCAxKSwKKwlJU09fVElNRVpPTkUJCT0gKDEgPDwgMiksCisJSVNPX0RPVFVTRUMJCT0gKDEgPDwgMyksCisJSVNPX0NPTU1BVVNFQwkJPSAoMSA8PCA0KSwKKwlJU09fVAkJCT0gKDEgPDwgNSksCisJSVNPX0dNVElNRQkJPSAoMSA8PCA2KSwKKwlJU09fVElNRVNUQU1QCQk9IElTT19EQVRFIHwgSVNPX1RJTUUgfCBJU09fVElNRVpPTkUsCisJSVNPX1RJTUVTVEFNUF9UCQk9IElTT19USU1FU1RBTVAgfCBJU09fVCwKKwlJU09fVElNRVNUQU1QX0RPVAk9IElTT19USU1FU1RBTVAgfCBJU09fRE9UVVNFQywKKwlJU09fVElNRVNUQU1QX0RPVF9UCT0gSVNPX1RJTUVTVEFNUF9ET1QgfCBJU09fVCwKKwlJU09fVElNRVNUQU1QX0NPTU1BCT0gSVNPX1RJTUVTVEFNUCB8IElTT19DT01NQVVTRUMsCisJSVNPX1RJTUVTVEFNUF9DT01NQV9UCT0gSVNPX1RJTUVTVEFNUF9DT01NQSB8IElTT19ULAorCUlTT19USU1FU1RBTVBfQ09NTUFfRwk9IElTT19USU1FU1RBTVBfQ09NTUEgfCBJU09fR01USU1FLAorCUlTT19USU1FU1RBTVBfQ09NTUFfR1QgID0gSVNPX1RJTUVTVEFNUF9DT01NQV9HIHwgSVNPX1QKK307CisKKyNkZWZpbmUgSVNPX0JVRlNJWgk0MgorCitpbnQgc3RydGltZXZhbF9pc28oc3RydWN0IHRpbWV2YWwgKnR2LCBpbnQgZmxhZ3MsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KTsKK2ludCBzdHJ0bV9pc28oc3RydWN0IHRtICp0bSwgaW50IGZsYWdzLCBjaGFyICpidWYsIHNpemVfdCBidWZzeik7CitpbnQgc3RydGltZV9pc28oY29uc3QgdGltZV90ICp0LCBpbnQgZmxhZ3MsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KTsKKworI2RlZmluZSBVTF9TSE9SVFRJTUVfVEhJU1lFQVJfSEhNTSAoMSA8PCAxKQorCitpbnQgdGltZV9pc190b2RheShjb25zdCB0aW1lX3QgKnQsIHN0cnVjdCB0aW1ldmFsICpub3cpOworaW50IHRpbWVfaXNfdGhpc3llYXIoY29uc3QgdGltZV90ICp0LCBzdHJ1Y3QgdGltZXZhbCAqbm93KTsKKworaW50IHN0cnRpbWVfc2hvcnQoY29uc3QgdGltZV90ICp0LCBzdHJ1Y3QgdGltZXZhbCAqbm93LCBpbnQgZmxhZ3MsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KTsKKworI2lmbmRlZiBIQVZFX1RJTUVHTQorZXh0ZXJuIHRpbWVfdCB0aW1lZ20oc3RydWN0IHRtICp0bSk7CisjZW5kaWYKKworaW50IHBhcnNlX2RhdGUoc3RydWN0IHRpbWVzcGVjICosIGNoYXIgY29uc3QgKiwgc3RydWN0IHRpbWVzcGVjIGNvbnN0ICopOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9USU1FX1VUSUxfSCAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS90dHl1dGlscy5oIGIvaW5jbHVkZS90dHl1dGlscy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzZWQ0ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9pbmNsdWRlL3R0eXV0aWxzLmgKQEAgLTAsMCArMSwxNzAgQEAKKy8qCisgKiBObyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4gIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aAorICogaXQgd2hhdCB5b3Ugd2lzaC4KKyAqCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisjaWZuZGVmIFVUSUxfTElOVVhfVFRZVVRJTFNfSAorI2RlZmluZSBVVElMX0xJTlVYX1RUWVVUSUxTX0gKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpZmRlZiBIQVZFX1NZU19JT0NUTF9ICisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19UVFlERUZBVUxUU19ICisjaW5jbHVkZSA8c3lzL3R0eWRlZmF1bHRzLmg+CisjZW5kaWYKKworLyogU29tZSBzaG9ydGhhbmRzIGZvciBjb250cm9sIGNoYXJhY3RlcnMuICovCisjZGVmaW5lIENUTCh4KQkJKCh4KSBeIDAxMDApCS8qIEFzc3VtZXMgQVNDSUkgZGlhbGVjdCAqLworI2RlZmluZSBDUgkJQ1RMKCdNJykJLyogY2FycmlhZ2UgcmV0dXJuICovCisjZGVmaW5lIE5MCQlDVEwoJ0onKQkvKiBsaW5lIGZlZWQgKi8KKyNkZWZpbmUgQlMJCUNUTCgnSCcpCS8qIGJhY2sgc3BhY2UgKi8KKyNkZWZpbmUgREVMCQlDVEwoJz8nKQkvKiBkZWxldGUgKi8KKworLyogRGVmYXVsdHMgZm9yIGxpbmUtZWRpdGluZyBldGMuIGNoYXJhY3RlcnM7IHlvdSBtYXkgd2FudCB0byBjaGFuZ2UgdGhlc2UuICovCisjZGVmaW5lIERFRl9FUkFTRQlERUwJCS8qIGRlZmF1bHQgZXJhc2UgY2hhcmFjdGVyICovCisjZGVmaW5lIERFRl9JTlRSCUNUTCgnQycpCS8qIGRlZmF1bHQgaW50ZXJydXB0IGNoYXJhY3RlciAqLworI2RlZmluZSBERUZfUVVJVAlDVEwoJ1xcJykJLyogZGVmYXVsdCBxdWl0IGNoYXIgKi8KKyNkZWZpbmUgREVGX0tJTEwJQ1RMKCdVJykJLyogZGVmYXVsdCBraWxsIGNoYXIgKi8KKyNkZWZpbmUgREVGX0VPRgkJQ1RMKCdEJykJLyogZGVmYXVsdCBFT0YgY2hhciAqLworI2RlZmluZSBERUZfRU9MCQkwCisjZGVmaW5lIERFRl9TV0lUQ0gJMAkJLyogZGVmYXVsdCBzd2l0Y2ggY2hhciAqLworCisvKiBTdG9yYWdlIGZvciB0aGluZ3MgZGV0ZWN0ZWQgd2hpbGUgdGhlIGxvZ2luIG5hbWUgd2FzIHJlYWQuICovCitzdHJ1Y3QgY2hhcmRhdGEgeworCWludCBlcmFzZTsJCS8qIGVyYXNlIGNoYXJhY3RlciAqLworCWludCBraWxsOwkJLyoga2lsbCBjaGFyYWN0ZXIgKi8KKwlpbnQgZW9sOwkJLyogZW5kLW9mLWxpbmUgY2hhcmFjdGVyICovCisJaW50IHBhcml0eTsJCS8qIHdoYXQgcGFyaXR5IGRpZCB3ZSBzZWUgKi8KKwlpbnQgY2Fwc2xvY2s7CQkvKiB1cHBlciBjYXNlIHdpdGhvdXQgbG93ZXIgY2FzZSAqLworfTsKKworI2RlZmluZSBJTklUX0NIQVJEQVRBKHB0cikgZG8geyAgICAgICAgICAgICAgXAorCQkocHRyKS0+ZXJhc2UgICAgPSBERUZfRVJBU0U7IFwKKwkJKHB0ciktPmtpbGwgICAgID0gREVGX0tJTEw7ICBcCisJCShwdHIpLT5lb2wgICAgICA9IENUUkwoJ3InKTsgXAorCSAgICAgICAgKHB0ciktPnBhcml0eSAgID0gMDsgICAgICAgICBcCisJICAgICAgICAocHRyKS0+Y2Fwc2xvY2sgPSAwOyAgICAgICAgIFwKKwl9IHdoaWxlICgwKQorCitleHRlcm4gaW50IGdldF90ZXJtaW5hbF9kaW1lbnNpb24oaW50ICpjb2xzLCBpbnQgKmxpbmVzKTsKK2V4dGVybiBpbnQgZ2V0X3Rlcm1pbmFsX3dpZHRoKGludCBkZWZhdWx0X3dpZHRoKTsKK2V4dGVybiBpbnQgZ2V0X3Rlcm1pbmFsX3R5cGUoY29uc3QgY2hhciAqKnR5cGUpOworZXh0ZXJuIGludCBnZXRfdGVybWluYWxfbmFtZShjb25zdCBjaGFyICoqcGF0aCwgY29uc3QgY2hhciAqKm5hbWUsCisJCQkgICAgIGNvbnN0IGNoYXIgKipudW1iZXIpOworCisjZGVmaW5lIFVMX1RUWV9LRUVQQ0ZMQUdTCSgxIDw8IDEpCisjZGVmaW5lIFVMX1RUWV9VVEY4CQkoMSA8PCAyKQorCitzdGF0aWMgaW5saW5lIHZvaWQgcmVzZXRfdmlydHVhbF9jb25zb2xlKHN0cnVjdCB0ZXJtaW9zICp0cCwgaW50IGZsYWdzKQoreworCS8qIFVzZSBkZWZhdWx0cyBvZiA8c3lzL3R0eWRlZmF1bHRzLmg+IGZvciBiYXNlIHNldHRpbmdzICovCisJdHAtPmNfaWZsYWcgfD0gVFRZREVGX0lGTEFHOworCXRwLT5jX29mbGFnIHw9IFRUWURFRl9PRkxBRzsKKwl0cC0+Y19sZmxhZyB8PSBUVFlERUZfTEZMQUc7CisKKwlpZiAoKGZsYWdzICYgVUxfVFRZX0tFRVBDRkxBR1MpID09IDApIHsKKyNpZmRlZiBDQkFVRAorCQl0cC0+Y19sZmxhZyAmPSB+Q0JBVUQ7CisjZW5kaWYKKwkJdHAtPmNfY2ZsYWcgfD0gKEIzODQwMCB8IFRUWURFRl9DRkxBRyk7CisJfQorCisJLyogU2FuZSBzZXR0aW5nLCBhbGxvdyBlaWdodCBiaXQgY2hhcmFjdGVycywgbm8gY2FycmlhZ2UgcmV0dXJuIGRlbGF5CisJICogdGhlIHNhbWUgcmVzdWx0IGFzIGBzdHR5IHNhbmUgY3IwIHBhc3M4JworCSAqLworI2lmbmRlZiBJVUNMQworIyBkZWZpbmUgSVVDTEMgMAorI2VuZGlmCisjaWZuZGVmIE5MMAorIyBkZWZpbmUgTkwwIDAKKyNlbmRpZgorI2lmbmRlZiBDUjAKKyMgZGVmaW5lIENSMCAwCisjZW5kaWYKKyNpZm5kZWYgQlMwCisjIGRlZmluZSBCUzAgMAorI2VuZGlmCisjaWZuZGVmIFZUMAorIyBkZWZpbmUgVlQwIDAKKyNlbmRpZgorI2lmbmRlZiBGRjAKKyMgZGVmaW5lIEZGMCAwCisjZW5kaWYKKyNpZm5kZWYgT0xDVUMKKyMgZGVmaW5lIE9MQ1VDIDAKKyNlbmRpZgorI2lmbmRlZiBPRklMTAorIyBkZWZpbmUgT0ZJTEwgMAorI2VuZGlmCisjaWZuZGVmIE5MRExZCisjIGRlZmluZSBOTERMWSAwCisjZW5kaWYKKyNpZm5kZWYgQ1JETFkKKyMgZGVmaW5lIENSRExZIDAKKyNlbmRpZgorI2lmbmRlZiBCU0RMWQorIyBkZWZpbmUgQlNETFkgMAorI2VuZGlmCisjaWZuZGVmIFZURExZCisjIGRlZmluZSBWVERMWSAwCisjZW5kaWYKKyNpZm5kZWYgRkZETFkKKyMgZGVmaW5lIEZGRExZIDAKKyNlbmRpZgorCisJdHAtPmNfaWZsYWcgfD0gIChCUktJTlQgfCBJQ1JOTCB8IElNQVhCRUwpOworCXRwLT5jX2lmbGFnICY9IH4oSUdOQlJLIHwgSU5MQ1IgfCBJR05DUiB8IElYT0ZGIHwgSVVDTEMgfCBJWEFOWSB8IElTVFJJUCk7CisJdHAtPmNfb2ZsYWcgfD0gIChPUE9TVCB8IE9OTENSIHwgTkwwIHwgQ1IwIHwgVEFCMCB8IEJTMCB8IFZUMCB8IEZGMCk7CisJdHAtPmNfb2ZsYWcgJj0gfihPTENVQyB8IE9DUk5MIHwgT05PQ1IgfCBPTkxSRVQgfCBPRklMTCB8IFwKKwkJCSAgICBOTERMWXxDUkRMWXxUQUJETFl8QlNETFl8VlRETFl8RkZETFkpOworCXRwLT5jX2xmbGFnIHw9ICAoSVNJRyB8IElDQU5PTiB8IElFWFRFTiB8IEVDSE98RUNIT0V8RUNIT0t8RUNIT0tFfEVDSE9DVEwpOworCXRwLT5jX2xmbGFnICY9IH4oRUNIT05MfEVDSE9QUlQgfCBOT0ZMU0ggfCBUT1NUT1ApOworCisJaWYgKChmbGFncyAmIFVMX1RUWV9LRUVQQ0ZMQUdTKSA9PSAwKSB7CisJCXRwLT5jX2NmbGFnIHw9ICAoQ1JFQUQgfCBDUzggfCBIVVBDTCk7CisJCXRwLT5jX2NmbGFnICY9IH4oUEFST0REIHwgUEFSRU5CKTsKKwl9CisjaWZkZWYgT0ZERUwKKwl0cC0+Y19vZmxhZyAmPSB+T0ZERUw7CisjZW5kaWYKKyNpZmRlZiBYQ0FTRQorCXRwLT5jX2xmbGFnICY9IH5YQ0FTRTsKKyNlbmRpZgorI2lmZGVmIElVVEY4CisJaWYgKGZsYWdzICYgVUxfVFRZX1VURjgpCisJCXRwLT5jX2lmbGFnIHw9IElVVEY4OwkgICAgLyogU2V0IFVURi04IGlucHV0IGZsYWcgKi8KKwllbHNlCisJCXRwLT5jX2lmbGFnICY9IH5JVVRGODsKKyNlbmRpZgorCS8qIFZUSU1FIGFuZCBWTUlOIGNhbiBvdmVybGFwIHdpdGggVkVPRiBhbmQgVkVPTCBzaW5jZSB0aGV5IGFyZQorCSAqIG9ubHkgdXNlZCBmb3Igbm9uLWNhbm9uaWNhbCBtb2RlLiBXZSBqdXN0IHNldCB0aGUgYXQgdGhlCisJICogYmVnaW5uaW5nLCBzbyBub3RoaW5nIGJhZCBzaG91bGQgaGFwcGVuLgorCSAqLworCXRwLT5jX2NjW1ZUSU1FXSAgICA9IDA7CisJdHAtPmNfY2NbVk1JTl0gICAgID0gMTsKKwl0cC0+Y19jY1tWSU5UUl0gICAgPSBDSU5UUjsKKwl0cC0+Y19jY1tWUVVJVF0gICAgPSBDUVVJVDsKKwl0cC0+Y19jY1tWRVJBU0VdICAgPSBDRVJBU0U7IC8qIEFTQ0lJIERFTCAoMDE3NykgKi8KKwl0cC0+Y19jY1tWS0lMTF0gICAgPSBDS0lMTDsKKwl0cC0+Y19jY1tWRU9GXSAgICAgPSBDRU9GOworI2lmZGVmIFZTV1RDCisJdHAtPmNfY2NbVlNXVENdICAgID0gX1BPU0lYX1ZESVNBQkxFOworI2VsaWYgZGVmaW5lZChWU1dUQ0gpCisJdHAtPmNfY2NbVlNXVENIXSAgID0gX1BPU0lYX1ZESVNBQkxFOworI2VuZGlmCisJdHAtPmNfY2NbVlNUQVJUXSAgID0gQ1NUQVJUOworCXRwLT5jX2NjW1ZTVE9QXSAgICA9IENTVE9QOworCXRwLT5jX2NjW1ZTVVNQXSAgICA9IENTVVNQOworCXRwLT5jX2NjW1ZFT0xdICAgICA9IF9QT1NJWF9WRElTQUJMRTsKKwl0cC0+Y19jY1tWUkVQUklOVF0gPSBDUkVQUklOVDsKKwl0cC0+Y19jY1tWRElTQ0FSRF0gPSBDRElTQ0FSRDsKKwl0cC0+Y19jY1tWV0VSQVNFXSAgPSBDV0VSQVNFOworCXRwLT5jX2NjW1ZMTkVYVF0gICA9IENMTkVYVDsKKwl0cC0+Y19jY1tWRU9MMl0gICAgPSBfUE9TSVhfVkRJU0FCTEU7Cit9CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX1RUWVVUSUxTX0ggKi8KZGlmZiAtLWdpdCBhL2luY2x1ZGUvd2lkZWNoYXIuaCBiL2luY2x1ZGUvd2lkZWNoYXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMWYyY2YyCi0tLSAvZGV2L251bGwKKysrIGIvaW5jbHVkZS93aWRlY2hhci5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qIERlY2xhcmF0aW9ucyBmb3Igd2lkZSBjaGFyYWN0ZXJzICovCisvKiBUaGlzIGZpbGUgbXVzdCBiZSBpbmNsdWRlZCBsYXN0IGJlY2F1c2UgdGhlIHJlZGVmaW5pdGlvbiBvZiB3Y2hhcl90IG1heQorICAgY2F1c2UgY29uZmxpY3RzIHdoZW4gc3lzdGVtIGluY2x1ZGUgZmlsZXMgd2VyZSBpbmNsdWRlZCBhZnRlciBpdC4gKi8KKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKworIyBpbmNsdWRlIDx3Y2hhci5oPgorIyBpbmNsdWRlIDx3Y3R5cGUuaD4KKworI2Vsc2UgLyogIUhBVkVfV0lERUNIQVIgKi8KKworIyBpbmNsdWRlIDxjdHlwZS5oPgorICAvKiBGYWxsYmFjayBmb3IgdHlwZXMgKi8KKyMgZGVmaW5lIHdjaGFyX3QgY2hhcgorIyBkZWZpbmUgd2ludF90IGludAorIyBpZm5kZWYgV0VPRgorIyAgZGVmaW5lIFdFT0YgRU9GCisjIGVuZGlmCisKKyAvKiBGYWxsYmFjayBmb3IgaW5wdXQgb3BlcmF0aW9ucyAqLworIyBkZWZpbmUgZmdldHdjIGZnZXRjCisjIGRlZmluZSBnZXR3YyBnZXRjCisjIGRlZmluZSBnZXR3Y2hhciBnZXRjaGFyCisjIGRlZmluZSBmZ2V0d3MgZmdldHMKKworICAvKiBGYWxsYmFjayBmb3Igb3V0cHV0IG9wZXJhdGlvbnMgKi8KKyMgZGVmaW5lIGZwdXR3YyBmcHV0YworIyBkZWZpbmUgcHV0d2MgcHV0YworIyBkZWZpbmUgcHV0d2NoYXIgcHV0Y2hhcgorIyBkZWZpbmUgZnB1dHdzIGZwdXRzCisKKyAgLyogRmFsbGJhY2sgZm9yIGNoYXJhY3RlciBjbGFzc2lmaWNhdGlvbiAqLworIyBkZWZpbmUgaXN3Z3JhcGggaXNncmFwaAorIyBkZWZpbmUgaXN3cHJpbnQgaXNwcmludAorIyBkZWZpbmUgaXN3c3BhY2UgaXNzcGFjZQorCisgIC8qIEZhbGxiYWNrIGZvciBzdHJpbmcgZnVuY3Rpb25zICovCisjIGRlZmluZSB3Y3NjaHIgc3RyY2hyCisjIGRlZmluZSB3Y3NkdXAgc3RyZHVwCisjIGRlZmluZSB3Y3NsZW4gc3RybGVuCisjIGRlZmluZSB3Y3NwYnJrIHN0cnBicmsKKworIyBkZWZpbmUgd2N3aWR0aChjKSAoMSkKKyMgZGVmaW5lIHdtZW1zZXQgbWVtc2V0CisjIGRlZmluZSB1bmdldHdjIHVuZ2V0YworCisjZW5kaWYgLyogSEFWRV9XSURFQ0hBUiAqLwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS94YWxsb2MuaCBiL2luY2x1ZGUveGFsbG9jLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg3MGFjMAotLS0gL2Rldi9udWxsCisrKyBiL2luY2x1ZGUveGFsbG9jLmgKQEAgLTAsMCArMSwxMjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiBHZW5lcmFsIG1lbW9yeSBhbGxvY2F0aW9uIHdyYXBwZXJzIGZvciBtYWxsb2MsIHJlYWxsb2MsIGNhbGxvYyBhbmQgc3RyZHVwCisgKi8KKworI2lmbmRlZiBVVElMX0xJTlVYX1hBTExPQ19ICisjZGVmaW5lIFVUSUxfTElOVVhfWEFMTE9DX0gKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAiYy5oIgorCisjaWZuZGVmIFhBTExPQ19FWElUX0NPREUKKyMgZGVmaW5lIFhBTExPQ19FWElUX0NPREUgRVhJVF9GQUlMVVJFCisjZW5kaWYKKworc3RhdGljIGlubGluZSB2b2lkIF9fZXJyX29vbShjb25zdCBjaGFyICpmaWxlLCB1bnNpZ25lZCBpbnQgbGluZSkKK3sKKwllcnIoWEFMTE9DX0VYSVRfQ09ERSwgIiVzOiAldTogY2Fubm90IGFsbG9jYXRlIG1lbW9yeSIsIGZpbGUsIGxpbmUpOworfQorCisjZGVmaW5lIGVycl9vb20oKQlfX2Vycl9vb20oX19GSUxFX18sIF9fTElORV9fKQorCitzdGF0aWMgaW5saW5lIF9fdWxfYWxsb2Nfc2l6ZSgxKQordm9pZCAqeG1hbGxvYyhjb25zdCBzaXplX3Qgc2l6ZSkKK3sKKyAgICAgICAgdm9pZCAqcmV0ID0gbWFsbG9jKHNpemUpOworCisgICAgICAgIGlmICghcmV0ICYmIHNpemUpCisgICAgICAgICAgICAgICAgZXJyKFhBTExPQ19FWElUX0NPREUsICJjYW5ub3QgYWxsb2NhdGUgJXp1IGJ5dGVzIiwgc2l6ZSk7CisgICAgICAgIHJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgX191bF9hbGxvY19zaXplKDIpCit2b2lkICp4cmVhbGxvYyh2b2lkICpwdHIsIGNvbnN0IHNpemVfdCBzaXplKQoreworICAgICAgICB2b2lkICpyZXQgPSByZWFsbG9jKHB0ciwgc2l6ZSk7CisKKyAgICAgICAgaWYgKCFyZXQgJiYgc2l6ZSkKKyAgICAgICAgICAgICAgICBlcnIoWEFMTE9DX0VYSVRfQ09ERSwgImNhbm5vdCBhbGxvY2F0ZSAlenUgYnl0ZXMiLCBzaXplKTsKKyAgICAgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIGlubGluZSBfX3VsX2NhbGxvY19zaXplKDEsIDIpCit2b2lkICp4Y2FsbG9jKGNvbnN0IHNpemVfdCBuZWxlbXMsIGNvbnN0IHNpemVfdCBzaXplKQoreworICAgICAgICB2b2lkICpyZXQgPSBjYWxsb2MobmVsZW1zLCBzaXplKTsKKworICAgICAgICBpZiAoIXJldCAmJiBzaXplICYmIG5lbGVtcykKKyAgICAgICAgICAgICAgICBlcnIoWEFMTE9DX0VYSVRfQ09ERSwgImNhbm5vdCBhbGxvY2F0ZSAlenUgYnl0ZXMiLCBzaXplKTsKKyAgICAgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIGlubGluZSBjaGFyIF9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpICp4c3RyZHVwKGNvbnN0IGNoYXIgKnN0cikKK3sKKyAgICAgICAgY2hhciAqcmV0OworCisgICAgICAgIGlmICghc3RyKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIHJldCA9IHN0cmR1cChzdHIpOworCisgICAgICAgIGlmICghcmV0KQorICAgICAgICAgICAgICAgIGVycihYQUxMT0NfRVhJVF9DT0RFLCAiY2Fubm90IGR1cGxpY2F0ZSBzdHJpbmciKTsKKyAgICAgICAgcmV0dXJuIHJldDsKK30KKworc3RhdGljIGlubGluZSBjaGFyICogX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSkgeHN0cm5kdXAoY29uc3QgY2hhciAqc3RyLCBzaXplX3Qgc2l6ZSkKK3sKKyAgICAgICAgY2hhciAqcmV0OworCisgICAgICAgIGlmICghc3RyKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIHJldCA9IHN0cm5kdXAoc3RyLCBzaXplKTsKKworICAgICAgICBpZiAoIXJldCkKKyAgICAgICAgICAgICAgICBlcnIoWEFMTE9DX0VYSVRfQ09ERSwgImNhbm5vdCBkdXBsaWNhdGUgc3RyaW5nIik7CisgICAgICAgIHJldHVybiByZXQ7Cit9CisKKworc3RhdGljIGlubGluZSBpbnQgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18ocHJpbnRmLCAyLCAzKSkpCisgICAgeGFzcHJpbnRmKGNoYXIgKipzdHJwLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlpbnQgcmV0OworCXZhX2xpc3QgYXJnczsKKwl2YV9zdGFydChhcmdzLCBmbXQpOworCXJldCA9IHZhc3ByaW50ZigmKCpzdHJwKSwgZm10LCBhcmdzKTsKKwl2YV9lbmQoYXJncyk7CisJaWYgKHJldCA8IDApCisJCWVycihYQUxMT0NfRVhJVF9DT0RFLCAiY2Fubm90IGFsbG9jYXRlIHN0cmluZyIpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50ICBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyhwcmludGYsIDIsIDApKSkKK3h2YXNwcmludGYoY2hhciAqKnN0cnAsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKK3sKKwlpbnQgcmV0ID0gdmFzcHJpbnRmKCYoKnN0cnApLCBmbXQsIGFwKTsKKwlpZiAocmV0IDwgMCkKKwkJZXJyKFhBTExPQ19FWElUX0NPREUsICJjYW5ub3QgYWxsb2NhdGUgc3RyaW5nIik7CisJcmV0dXJuIHJldDsKK30KKworCitzdGF0aWMgaW5saW5lIGNoYXIgKiBfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKSB4Z2V0aG9zdG5hbWUodm9pZCkKK3sKKwljaGFyICpuYW1lOworCXNpemVfdCBzeiA9IGdldF9ob3N0bmFtZV9tYXgoKSArIDE7CisKKwluYW1lID0geG1hbGxvYyhzaXplb2YoY2hhcikgKiBzeik7CisKKwlpZiAoZ2V0aG9zdG5hbWUobmFtZSwgc3opICE9IDApIHsKKwkJZnJlZShuYW1lKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCW5hbWVbc3ogLSAxXSA9ICdcMCc7CisJcmV0dXJuIG5hbWU7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliLy5naXRpZ25vcmUgYi9saWIvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzBjMjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliLy5naXRpZ25vcmUKQEAgLTAsMCArMSBAQAorcGFyc2UtZGF0ZS5jCmRpZmYgLS1naXQgYS9saWIvTWFrZW1vZHVsZS5hbSBiL2xpYi9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzYjE5ZjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDE3MSBAQAorCitub2luc3RfTFRMSUJSQVJJRVMgKz0gbGliY29tbW9uLmxhCitsaWJjb21tb25fbGFfQ0ZMQUdTID0gJChBTV9DRkxBR1MpCitsaWJjb21tb25fbGFfU09VUkNFUyA9IFwKKwlsaWIvYmxrZGV2LmMgXAorCWxpYi9jYW5vbmljYWxpemUuYyBcCisJbGliL2NyYzMyLmMgXAorCWxpYi9jcmMzMmMuYyBcCisJbGliL2Vudi5jIFwKKwlsaWIvaWRjYWNoZS5jIFwKKwlsaWIvZmlsZXV0aWxzLmMgXAorCWxpYi9pc21vdW50ZWQuYyBcCisJbGliL2NvbG9yLW5hbWVzLmMgXAorCWxpYi9tYW5nbGUuYyBcCisJbGliL21hdGNoLmMgXAorCWxpYi9tYnNhbGlnbi5jIFwKKwlsaWIvbWJzZWRpdC5jXAorCWxpYi9tZDUuYyBcCisJbGliL3BhZ2VyLmMgXAorCWxpYi9wYXJzZS1kYXRlLnkgXAorCWxpYi9wd2R1dGlscy5jIFwKKwlsaWIvcmFuZHV0aWxzLmMgXAorCWxpYi9zZXRwcm9jdGl0bGUuYyBcCisJbGliL3N0cnV0aWxzLmMgXAorCWxpYi90aW1ldXRpbHMuYyBcCisJbGliL3R0eXV0aWxzLmMgXAorCWxpYi9leGVjX3NoZWxsLmMgXAorCWxpYi9zdHJ2LmMgXAorCWxpYi9zaGExLmMgXAorCWxpYi9zaWduYW1lcy5jCisKK2lmIExJTlVYCitsaWJjb21tb25fbGFfU09VUkNFUyArPSBcCisJbGliL2xpbnV4X3ZlcnNpb24uYyBcCisJbGliL2xvb3BkZXYuYworZW5kaWYKKworaWYgVVNFX1BMWU1PVVRIX1NVUFBPUlQKK2xpYmNvbW1vbl9sYV9TT1VSQ0VTICs9IGxpYi9wbHltb3V0aC1jdHJsLmMKK2VuZGlmCisKK2lmICFIQVZFX0xBTkdJTkZPCitsaWJjb21tb25fbGFfU09VUkNFUyArPSBsaWIvbGFuZ2luZm8uYworZW5kaWYKKworaWYgSEFWRV9DUFVfU0VUX1QKK2xpYmNvbW1vbl9sYV9TT1VSQ0VTICs9IGxpYi9jcHVzZXQuYworZW5kaWYKKworaWYgSEFWRV9PUEVOQVQKK2xpYmNvbW1vbl9sYV9TT1VSQ0VTICs9IGxpYi9wYXRoLmMKK2xpYmNvbW1vbl9sYV9TT1VSQ0VTICs9IGxpYi9wcm9jdXRpbHMuYworbGliY29tbW9uX2xhX1NPVVJDRVMgKz0gbGliL3N5c2ZzLmMKK2VuZGlmCisKK25vaW5zdF9MVExJQlJBUklFUyArPSBsaWJ0Y29sb3JzLmxhCitsaWJ0Y29sb3JzX2xhX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKQorbGlidGNvbG9yc19sYV9TT1VSQ0VTID0gbGliL2NvbG9ycy5jIGxpYi9jb2xvci1uYW1lcy5jIGluY2x1ZGUvY29sb3JzLmggaW5jbHVkZS9jb2xvci1uYW1lcy5oCitsaWJ0Y29sb3JzX2xhX0xJQkFERCA9CisjIHRpbmZvIG9yIG5jdXJzZXMgYXJlIG9wdGlvbmFsCitpZiBIQVZFX1RJTkZPCitsaWJ0Y29sb3JzX2xhX0xJQkFERCArPSAkKFRJTkZPX0xJQlMpCitsaWJ0Y29sb3JzX2xhX0NGTEFHUyArPSAkKFRJTkZPX0NGTEFHUykKK2Vsc2UKK2lmIEhBVkVfTkNVUlNFUworbGlidGNvbG9yc19sYV9MSUJBREQgKz0gJChOQ1VSU0VTX0xJQlMpCitsaWJ0Y29sb3JzX2xhX0NGTEFHUyArPSAkKE5DVVJTRVNfQ0ZMQUdTKQorZW5kaWYKK2VuZGlmICMgIUhBVkVfVElORk8KKworZGlzdF9tYW5fTUFOUyArPSBsaWIvdGVybWluYWwtY29sb3JzLmQuNQorCisKK2NoZWNrX1BST0dSQU1TICs9IFwKKwl0ZXN0X2Jsa2RldiBcCisJdGVzdF9jYW5vbmljYWxpemUgXAorCXRlc3RfY29sb3JzIFwKKwl0ZXN0X2ZpbGV1dGlscyBcCisJdGVzdF9pc21vdW50ZWQgXAorCXRlc3RfcHdkdXRpbHMgXAorCXRlc3RfbWFuZ2xlIFwKKwl0ZXN0X3JhbmR1dGlscyBcCisJdGVzdF9zdHJ1dGlscyBcCisJdGVzdF90dHl1dGlscyBcCisJdGVzdF90aW1ldXRpbHMKKworCisKK2lmIExJTlVYCitpZiBIQVZFX0NQVV9TRVRfVAorY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF9jcHVzZXQKK2VuZGlmCitjaGVja19QUk9HUkFNUyArPSBcCisJdGVzdF9zeXNmcyBcCisJdGVzdF9wYWdlcgorZW5kaWYKKworaWYgSEFWRV9PUEVOQVQKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfcHJvY3V0aWxzCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X3BhdGgKK2VuZGlmCisKK3Rlc3RfdHR5dXRpbHNfU09VUkNFUyA9IGxpYi90dHl1dGlscy5jCit0ZXN0X3R0eXV0aWxzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTV9UVFlVVElMUwordGVzdF90dHl1dGlsc19MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCit0ZXN0X2Jsa2Rldl9TT1VSQ0VTID0gbGliL2Jsa2Rldi5jCit0ZXN0X2Jsa2Rldl9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU1fQkxLREVWCit0ZXN0X2Jsa2Rldl9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorCit0ZXN0X2lzbW91bnRlZF9TT1VSQ0VTID0gbGliL2lzbW91bnRlZC5jCit0ZXN0X2lzbW91bnRlZF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU1fSVNNT1VOVEVECit0ZXN0X2lzbW91bnRlZF9MREFERCA9IGxpYmNvbW1vbi5sYSAkKExEQUREKQorCit0ZXN0X21hbmdsZV9TT1VSQ0VTID0gbGliL21hbmdsZS5jCit0ZXN0X21hbmdsZV9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU1fTUFOR0xFCisKK3Rlc3Rfc3RydXRpbHNfU09VUkNFUyA9IGxpYi9zdHJ1dGlscy5jCit0ZXN0X3N0cnV0aWxzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTV9TVFJVVElMUworCit0ZXN0X2NvbG9yc19TT1VSQ0VTID0gbGliL2NvbG9ycy5jIGxpYi9jb2xvci1uYW1lcy5jCit0ZXN0X2NvbG9yc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU1fQ09MT1JTCit0ZXN0X2NvbG9yc19MREFERCA9ICQoTERBREQpIGxpYnRjb2xvcnMubGEKKwordGVzdF9yYW5kdXRpbHNfU09VUkNFUyA9IGxpYi9yYW5kdXRpbHMuYwordGVzdF9yYW5kdXRpbHNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNX1JBTkRVVElMUworCitpZiBIQVZFX09QRU5BVAordGVzdF9wcm9jdXRpbHNfU09VUkNFUyA9IGxpYi9wcm9jdXRpbHMuYwordGVzdF9wcm9jdXRpbHNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNX1BST0NVVElMUworZW5kaWYKKworaWYgSEFWRV9PUEVOQVQKK3Rlc3RfcGF0aF9TT1VSQ0VTID0gbGliL3BhdGguYyBsaWIvZmlsZXV0aWxzLmMKK2lmIEhBVkVfQ1BVX1NFVF9UCit0ZXN0X3BhdGhfU09VUkNFUyArPSBsaWIvY3B1c2V0LmMKK2VuZGlmCit0ZXN0X3BhdGhfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNX1BBVEgKK3Rlc3RfcGF0aF9MREFERCA9ICQoTERBREQpCitlbmRpZgorCitpZiBMSU5VWAordGVzdF9jcHVzZXRfU09VUkNFUyA9IGxpYi9jcHVzZXQuYwordGVzdF9jcHVzZXRfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNX0NQVVNFVAorCit0ZXN0X3N5c2ZzX1NPVVJDRVMgPSBsaWIvc3lzZnMuYyBsaWIvcGF0aC5jIGxpYi9maWxldXRpbHMuYworaWYgSEFWRV9DUFVfU0VUX1QKK3Rlc3Rfc3lzZnNfU09VUkNFUyArPSBsaWIvY3B1c2V0LmMKK2VuZGlmCit0ZXN0X3N5c2ZzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTV9TWVNGUwordGVzdF9zeXNmc19MREFERCA9ICQoTERBREQpCisKK3Rlc3RfcGFnZXJfU09VUkNFUyA9IGxpYi9wYWdlci5jCit0ZXN0X3BhZ2VyX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTV9QQUdFUgorCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X2xpbnV4X3ZlcnNpb24KK3Rlc3RfbGludXhfdmVyc2lvbl9TT1VSQ0VTID0gbGliL2xpbnV4X3ZlcnNpb24uYwordGVzdF9saW51eF92ZXJzaW9uX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTV9MSU5VWFZFUlNJT04KK2VuZGlmCisKK3Rlc3RfZmlsZXV0aWxzX1NPVVJDRVMgPSBsaWIvZmlsZXV0aWxzLmMKK3Rlc3RfZmlsZXV0aWxzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTV9GSUxFVVRJTFMKKwordGVzdF9jYW5vbmljYWxpemVfU09VUkNFUyA9IGxpYi9jYW5vbmljYWxpemUuYwordGVzdF9jYW5vbmljYWxpemVfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1EVEVTVF9QUk9HUkFNX0NBTk9OSUNBTElaRQorCit0ZXN0X3RpbWV1dGlsc19TT1VSQ0VTID0gbGliL3RpbWV1dGlscy5jIGxpYi9zdHJ1dGlscy5jCit0ZXN0X3RpbWV1dGlsc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU1fVElNRVVUSUxTCisKK3Rlc3RfcHdkdXRpbHNfU09VUkNFUyA9IGxpYi9wd2R1dGlscy5jCit0ZXN0X3B3ZHV0aWxzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtRFRFU1RfUFJPR1JBTQpkaWZmIC0tZ2l0IGEvbGliL2Jsa2Rldi5jIGIvbGliL2Jsa2Rldi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA2MTYxNDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvYmxrZGV2LmMKQEAgLTAsMCArMSw0MDAgQEAKKy8qCisgKiBObyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4gIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aAorICogaXQgd2hhdCB5b3Ugd2lzaC4KKyAqCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmZGVmIEhBVkVfTElOVVhfRkRfSAorI2luY2x1ZGUgPGxpbnV4L2ZkLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX0RJU0tMQUJFTF9ICisjaW5jbHVkZSA8c3lzL2Rpc2tsYWJlbC5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1NZU19ESVNLX0gKKyMgaW5jbHVkZSA8c3lzL2Rpc2suaD4KKyNlbmRpZgorCisjaWZuZGVmIEVCQURGRAorIyBkZWZpbmUgRUJBREZEIDc3CQkvKiBGaWxlIGRlc2NyaXB0b3IgaW4gYmFkIHN0YXRlICovCisjZW5kaWYKKworI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaW51eF92ZXJzaW9uLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAibmxzLmgiCisKK3N0YXRpYyBsb25nCitibGtkZXZfdmFsaWRfb2Zmc2V0IChpbnQgZmQsIG9mZl90IG9mZnNldCkgeworCWNoYXIgY2g7CisKKwlpZiAobHNlZWsgKGZkLCBvZmZzZXQsIDApIDwgMCkKKwkJcmV0dXJuIDA7CisJaWYgKHJlYWQgKGZkLCAmY2gsIDEpIDwgMSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKK2ludCBpc19ibGtkZXYoaW50IGZkKQoreworCXN0cnVjdCBzdGF0IHN0OworCXJldHVybiAoZnN0YXQoZmQsICZzdCkgPT0gMCAmJiBTX0lTQkxLKHN0LnN0X21vZGUpKTsKK30KKworb2ZmX3QKK2Jsa2Rldl9maW5kX3NpemUgKGludCBmZCkgeworCXVpbnRtYXhfdCBoaWdoLCBsb3cgPSAwOworCisJZm9yIChoaWdoID0gMTAyNDsgYmxrZGV2X3ZhbGlkX29mZnNldCAoZmQsIGhpZ2gpOyApIHsKKwkJaWYgKGhpZ2ggPT0gVUlOVE1BWF9NQVgpCisJCQlyZXR1cm4gLTE7CisKKwkJbG93ID0gaGlnaDsKKworCQlpZiAoaGlnaCA+PSBVSU5UTUFYX01BWC8yKQorCQkJaGlnaCA9IFVJTlRNQVhfTUFYOworCQllbHNlCisJCQloaWdoICo9IDI7CisJfQorCisJd2hpbGUgKGxvdyA8IGhpZ2ggLSAxKQorCXsKKwkJdWludG1heF90IG1pZCA9IChsb3cgKyBoaWdoKSAvIDI7CisKKwkJaWYgKGJsa2Rldl92YWxpZF9vZmZzZXQgKGZkLCBtaWQpKQorCQkJbG93ID0gbWlkOworCQllbHNlCisJCQloaWdoID0gbWlkOworCX0KKwlibGtkZXZfdmFsaWRfb2Zmc2V0IChmZCwgMCk7CisJcmV0dXJuIChsb3cgKyAxKTsKK30KKworLyogZ2V0IHNpemUgaW4gYnl0ZXMgKi8KK2ludAorYmxrZGV2X2dldF9zaXplKGludCBmZCwgdW5zaWduZWQgbG9uZyBsb25nICpieXRlcykKK3sKKyNpZmRlZiBES0lPQ0dFVEJMT0NLQ09VTlQKKwkvKiBBcHBsZSBEYXJ3aW4gKi8KKwlpZiAoaW9jdGwoZmQsIERLSU9DR0VUQkxPQ0tDT1VOVCwgYnl0ZXMpID49IDApIHsKKwkJKmJ5dGVzIDw8PSA5OworCQlyZXR1cm4gMDsKKwl9CisjZW5kaWYKKworI2lmZGVmIEJMS0dFVFNJWkU2NAorCWlmIChpb2N0bChmZCwgQkxLR0VUU0laRTY0LCBieXRlcykgPj0gMCkKKwkJcmV0dXJuIDA7CisjZW5kaWYKKworI2lmZGVmIEJMS0dFVFNJWkUKKwl7CisJCXVuc2lnbmVkIGxvbmcgc2l6ZTsKKworCQlpZiAoaW9jdGwoZmQsIEJMS0dFVFNJWkUsICZzaXplKSA+PSAwKSB7CisJCQkqYnl0ZXMgPSAoKHVuc2lnbmVkIGxvbmcgbG9uZylzaXplIDw8IDkpOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKyNlbmRpZiAvKiBCTEtHRVRTSVpFICovCisKKyNpZmRlZiBESU9DR01FRElBU0laRQorCS8qIEZyZWVCU0QgKi8KKwlpZiAoaW9jdGwoZmQsIERJT0NHTUVESUFTSVpFLCBieXRlcykgPj0gMCkKKwkJcmV0dXJuIDA7CisjZW5kaWYKKworI2lmZGVmIEZER0VUUFJNCisJeworCQlzdHJ1Y3QgZmxvcHB5X3N0cnVjdCB0aGlzX2Zsb3BweTsKKworCQlpZiAoaW9jdGwoZmQsIEZER0VUUFJNLCAmdGhpc19mbG9wcHkpID49IDApIHsKKwkJCSpieXRlcyA9ICgodW5zaWduZWQgbG9uZyBsb25nKSB0aGlzX2Zsb3BweS5zaXplKSA8PCA5OworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisjZW5kaWYgLyogRkRHRVRQUk0gKi8KKworI2lmIGRlZmluZWQoSEFWRV9TWVNfRElTS0xBQkVMX0gpICYmIGRlZmluZWQoRElPQ0dESU5GTykKKwl7CisJCS8qCisJCSAqIFRoaXMgY29kZSB3b3JrcyBmb3IgRnJlZUJTRCA0LjExIGkzODYsIGV4Y2VwdCBmb3IgdGhlIGZ1bGwgZGV2aWNlCisJCSAqIChzdWNoIGFzIC9kZXYvYWQwKS4gSXQgZG9lc24ndCB3b3JrIHByb3Blcmx5IGZvciBuZXdlciBGcmVlQlNECisJCSAqIHRob3VnaC4gRnJlZUJTRCA+PSA1LjAgc2hvdWxkIGJlIGNvdmVyZWQgYnkgdGhlIERJT0NHTUVESUFTSVpFCisJCSAqIGFib3ZlIGhvd2V2ZXIuCisJCSAqCisJCSAqIE5vdGUgdGhhdCBGcmVlQlNEID49IDQuMCBoYXMgZGlzayBkZXZpY2VzIGFzIHVuYnVmZmVyZWQgKHJhdywKKwkJICogY2hhcmFjdGVyKSBkZXZpY2VzLCBzbyB3ZSBuZWVkIHRvIGNoZWNrIGZvciBTX0lTQ0hSLCB0b28uCisJCSAqLworCQlpbnQgcGFydCA9IC0xOworCQlzdHJ1Y3QgZGlza2xhYmVsIGxhYjsKKwkJc3RydWN0IHBhcnRpdGlvbiAqcHA7CisJCXN0cnVjdCBzdGF0IHN0OworCisJCWlmICgoZnN0YXQoZmQsICZzdCkgPj0gMCkgJiYKKwkJICAgIChTX0lTQkxLKHN0LnN0X21vZGUpIHx8IFNfSVNDSFIoc3Quc3RfbW9kZSkpKQorCQkJcGFydCA9IHN0LnN0X3JkZXYgJiA3OworCisJCWlmIChwYXJ0ID49IDAgJiYgKGlvY3RsKGZkLCBESU9DR0RJTkZPLCAoY2hhciAqKSZsYWIpID49IDApKSB7CisJCQlwcCA9ICZsYWIuZF9wYXJ0aXRpb25zW3BhcnRdOworCQkJaWYgKHBwLT5wX3NpemUpIHsKKwkJCQkgKmJ5dGVzID0gcHAtPnBfc2l6ZSA8PCA5OworCQkJCSByZXR1cm4gMDsKKwkJCX0KKwkJfQorCX0KKyNlbmRpZiAvKiBkZWZpbmVkKEhBVkVfU1lTX0RJU0tMQUJFTF9IKSAmJiBkZWZpbmVkKERJT0NHRElORk8pICovCisKKwl7CisJCXN0cnVjdCBzdGF0IHN0OworCisJCWlmIChmc3RhdChmZCwgJnN0KSA9PSAwICYmIFNfSVNSRUcoc3Quc3RfbW9kZSkpIHsKKwkJCSpieXRlcyA9IHN0LnN0X3NpemU7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlpZiAoIVNfSVNCTEsoc3Quc3RfbW9kZSkpCisJCQlyZXR1cm4gLTE7CisJfQorCisJKmJ5dGVzID0gYmxrZGV2X2ZpbmRfc2l6ZShmZCk7CisJcmV0dXJuIDA7Cit9CisKKy8qIGdldCA1MTItYnl0ZSBzZWN0b3IgY291bnQgKi8KK2ludAorYmxrZGV2X2dldF9zZWN0b3JzKGludCBmZCwgdW5zaWduZWQgbG9uZyBsb25nICpzZWN0b3JzKQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBieXRlczsKKworCWlmIChibGtkZXZfZ2V0X3NpemUoZmQsICZieXRlcykgPT0gMCkgeworCQkqc2VjdG9ycyA9IChieXRlcyA+PiA5KTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIC0xOworfQorCisvKgorICogR2V0IGxvZ2ljYWwgc2VjdG9yIHNpemUuCisgKgorICogVGhpcyBpcyB0aGUgc21hbGxlc3QgdW5pdCB0aGUgc3RvcmFnZSBkZXZpY2UgY2FuCisgKiBhZGRyZXNzLiBJdCBpcyB0eXBpY2FsbHkgNTEyIGJ5dGVzLgorICovCisjaWZkZWYgQkxLU1NaR0VUCitpbnQgYmxrZGV2X2dldF9zZWN0b3Jfc2l6ZShpbnQgZmQsIGludCAqc2VjdG9yX3NpemUpCit7CisJaWYgKGlvY3RsKGZkLCBCTEtTU1pHRVQsIHNlY3Rvcl9zaXplKSA+PSAwKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gLTE7Cit9CisjZWxzZQoraW50IGJsa2Rldl9nZXRfc2VjdG9yX3NpemUoaW50IGZkIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwgaW50ICpzZWN0b3Jfc2l6ZSkKK3sKKwkqc2VjdG9yX3NpemUgPSBERUZBVUxUX1NFQ1RPUl9TSVpFOworCXJldHVybiAwOworfQorI2VuZGlmCisKKy8qCisgKiBHZXQgcGh5c2ljYWwgYmxvY2sgZGV2aWNlIHNpemUuIFRoZSBCTEtQQlNaR0VUIGlzIHN1cHBvcnRlZCBzaW5jZSBMaW51eAorICogMi42LjMyLiBGb3Igb2xkIGtlcm5lbHMgaXMgcHJvYmFibHkgdGhlIGJlc3QgdG8gYXNzdW1lIHRoYXQgcGh5c2ljYWwgc2VjdG9yCisgKiBzaXplIGlzIHRoZSBzYW1lIGFzIGxvZ2ljYWwgc2VjdG9yIHNpemUuCisgKgorICogRXhhbXBsZToKKyAqCisgKiByYyA9IGJsa2Rldl9nZXRfcGh5c2VjdG9yX3NpemUoZmQsICZwaHlzZWMpOworICogaWYgKHJjIHx8IHBoeXNlYyA9PSAwKSB7CisgKglyYyA9IGJsa2Rldl9nZXRfc2VjdG9yX3NpemUoZmQsICZwaHlzZWMpOworICoJaWYgKHJjKQorICoJCXBoeXNlYyA9IERFRkFVTFRfU0VDVE9SX1NJWkU7CisgKiB9CisgKi8KKyNpZmRlZiBCTEtQQlNaR0VUCitpbnQgYmxrZGV2X2dldF9waHlzZWN0b3Jfc2l6ZShpbnQgZmQsIGludCAqc2VjdG9yX3NpemUpCit7CisJaWYgKGlvY3RsKGZkLCBCTEtQQlNaR0VULCAmc2VjdG9yX3NpemUpID49IDApCisJCXJldHVybiAwOworCXJldHVybiAtMTsKK30KKyNlbHNlCitpbnQgYmxrZGV2X2dldF9waHlzZWN0b3Jfc2l6ZShpbnQgZmQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLCBpbnQgKnNlY3Rvcl9zaXplKQoreworCSpzZWN0b3Jfc2l6ZSA9IERFRkFVTFRfU0VDVE9SX1NJWkU7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworLyoKKyAqIFJldHVybiB0aGUgYWxpZ25tZW50IHN0YXR1cyBvZiBhIGRldmljZQorICovCisjaWZkZWYgQkxLQUxJR05PRkYKK2ludCBibGtkZXZfaXNfbWlzYWxpZ25lZChpbnQgZmQpCit7CisJaW50IGFsaWduZWQ7CisKKwlpZiAoaW9jdGwoZmQsIEJMS0FMSUdOT0ZGLCAmYWxpZ25lZCkgPCAwKQorCQlyZXR1cm4gMDsJCQkvKiBwcm9iYWJseSBrZXJuZWwgPCAyLjYuMzIgKi8KKwkvKgorCSAqIE5vdGUgdGhhdCBrZXJuZWwgcmV0dXJucyAtMSBhcyBhbGlnbm1lbnQgb2Zmc2V0IGlmIG5vIGNvbXBhdGlibGUKKwkgKiBzaXplcyBhbmQgYWxpZ25tZW50cyBleGlzdCBmb3Igc3RhY2tlZCBkZXZpY2VzCisJICovCisJcmV0dXJuIGFsaWduZWQgIT0gMCA/IDEgOiAwOworfQorI2Vsc2UKK2ludCBibGtkZXZfaXNfbWlzYWxpZ25lZChpbnQgZmQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXJldHVybiAwOworfQorI2VuZGlmCisKK2ludCBvcGVuX2Jsa2Rldl9vcl9maWxlKGNvbnN0IHN0cnVjdCBzdGF0ICpzdCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgaW50IG9mbGFnKQoreworCWludCBmZDsKKworCWlmIChTX0lTQkxLKHN0LT5zdF9tb2RlKSkgeworCQlmZCA9IG9wZW4obmFtZSwgb2ZsYWcgfCBPX0VYQ0wpOworCX0gZWxzZQorCQlmZCA9IG9wZW4obmFtZSwgb2ZsYWcpOworCWlmICgtMSA8IGZkICYmICFpc19zYW1lX2lub2RlKGZkLCBzdCkpIHsKKwkJY2xvc2UoZmQpOworCQllcnJubyA9IEVCQURGRDsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoLTEgPCBmZCAmJiBTX0lTQkxLKHN0LT5zdF9tb2RlKSAmJiBibGtkZXZfaXNfbWlzYWxpZ25lZChmZCkpCisJCXdhcm54KF8oIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiKSwgbmFtZSk7CisJcmV0dXJuIGZkOworfQorCisjaWZkZWYgQ0RST01fR0VUX0NBUEFCSUxJVFkKK2ludCBibGtkZXZfaXNfY2Ryb20oaW50IGZkKQoreworCWludCByZXQ7CisKKwlpZiAoKHJldCA9IGlvY3RsKGZkLCBDRFJPTV9HRVRfQ0FQQUJJTElUWSwgTlVMTCkpIDwgMCkKKwkJcmV0dXJuIDA7CisJZWxzZQorCQlyZXR1cm4gcmV0OworfQorI2Vsc2UKK2ludCBibGtkZXZfaXNfY2Ryb20oaW50IGZkIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisvKgorICogR2V0IGtlcm5lbCdzIGludGVycHJldGF0aW9uIG9mIHRoZSBkZXZpY2UncyBnZW9tZXRyeS4KKyAqCisgKiBSZXR1cm5zIHRoZSBoZWFkcyBhbmQgc2VjdG9ycyAtIGJ1dCBub3QgY3lsaW5kZXJzCisgKiBhcyBpdCdzIHRydW5jYXRlZCBmb3IgZGlza3Mgd2l0aCBtb3JlIHRoYW4gNjU1MzUgdHJhY2tzLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgTEJBIGFkZHJlc3NpbmcuCisgKi8KKyNpZmRlZiBIRElPX0dFVEdFTworaW50IGJsa2Rldl9nZXRfZ2VvbWV0cnkoaW50IGZkLCB1bnNpZ25lZCBpbnQgKmgsIHVuc2lnbmVkIGludCAqcykKK3sKKwlzdHJ1Y3QgaGRfZ2VvbWV0cnkgZ2VvbWV0cnk7CisKKwlpZiAoaW9jdGwoZmQsIEhESU9fR0VUR0VPLCAmZ2VvbWV0cnkpID09IDApIHsKKwkJKmggPSBnZW9tZXRyeS5oZWFkczsKKwkJKnMgPSBnZW9tZXRyeS5zZWN0b3JzOworCQlyZXR1cm4gMDsKKwl9CisjZWxzZQoraW50IGJsa2Rldl9nZXRfZ2VvbWV0cnkoaW50IGZkIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJdW5zaWduZWQgaW50ICpoLCB1bnNpZ25lZCBpbnQgKnMpCit7CisJKmggPSAwOworCSpzID0gMDsKKyNlbmRpZgorCXJldHVybiAtMTsKK30KKworLyoKKyAqIENvbnZlcnQgc2NzaSB0eXBlIHRvIGh1bWFuIHJlYWRhYmxlIHN0cmluZy4KKyAqLworY29uc3QgY2hhciAqYmxrZGV2X3Njc2lfdHlwZV90b19uYW1lKGludCB0eXBlKQoreworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgU0NTSV9UWVBFX0RJU0s6CisJCXJldHVybiAiZGlzayI7CisJY2FzZSBTQ1NJX1RZUEVfVEFQRToKKwkJcmV0dXJuICJ0YXBlIjsKKwljYXNlIFNDU0lfVFlQRV9QUklOVEVSOgorCQlyZXR1cm4gInByaW50ZXIiOworCWNhc2UgU0NTSV9UWVBFX1BST0NFU1NPUjoKKwkJcmV0dXJuICJwcm9jZXNzb3IiOworCWNhc2UgU0NTSV9UWVBFX1dPUk06CisJCXJldHVybiAid29ybSI7CisJY2FzZSBTQ1NJX1RZUEVfUk9NOgorCQlyZXR1cm4gInJvbSI7CisJY2FzZSBTQ1NJX1RZUEVfU0NBTk5FUjoKKwkJcmV0dXJuICJzY2FubmVyIjsKKwljYXNlIFNDU0lfVFlQRV9NT0Q6CisJCXJldHVybiAibW8tZGlzayI7CisJY2FzZSBTQ1NJX1RZUEVfTUVESVVNX0NIQU5HRVI6CisJCXJldHVybiAiY2hhbmdlciI7CisJY2FzZSBTQ1NJX1RZUEVfQ09NTToKKwkJcmV0dXJuICJjb21tIjsKKwljYXNlIFNDU0lfVFlQRV9SQUlEOgorCQlyZXR1cm4gInJhaWQiOworCWNhc2UgU0NTSV9UWVBFX0VOQ0xPU1VSRToKKwkJcmV0dXJuICJlbmNsb3N1cmUiOworCWNhc2UgU0NTSV9UWVBFX1JCQzoKKwkJcmV0dXJuICJyYmMiOworCWNhc2UgU0NTSV9UWVBFX09TRDoKKwkJcmV0dXJuICJvc2QiOworCWNhc2UgU0NTSV9UWVBFX05PX0xVTjoKKwkJcmV0dXJuICJuby1sdW4iOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTV9CTEtERVYKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXVuc2lnbmVkIGxvbmcgbG9uZyBieXRlczsKKwl1bnNpZ25lZCBsb25nIGxvbmcgc2VjdG9yczsKKwlpbnQgc2VjdG9yX3NpemUsIHBoeV9zZWN0b3Jfc2l6ZTsKKwlpbnQgZmQ7CisKKwlpZiAoYXJnYyAhPSAyKSB7CisJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICVzIGRldmljZVxuIiwgYXJndlswXSk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAoKGZkID0gb3Blbihhcmd2WzFdLCBPX1JET05MWXxPX0NMT0VYRUMpKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsICJvcGVuICVzIGZhaWxlZCIsIGFyZ3ZbMV0pOworCisJaWYgKGJsa2Rldl9nZXRfc2l6ZShmZCwgJmJ5dGVzKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsICJibGtkZXZfZ2V0X3NpemUoKSBmYWlsZWQiKTsKKwlpZiAoYmxrZGV2X2dldF9zZWN0b3JzKGZkLCAmc2VjdG9ycykgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiYmxrZGV2X2dldF9zZWN0b3JzKCkgZmFpbGVkIik7CisJaWYgKGJsa2Rldl9nZXRfc2VjdG9yX3NpemUoZmQsICZzZWN0b3Jfc2l6ZSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiYmxrZGV2X2dldF9zZWN0b3Jfc2l6ZSgpIGZhaWxlZCIpOworCWlmIChibGtkZXZfZ2V0X3BoeXNlY3Rvcl9zaXplKGZkLCAmcGh5X3NlY3Rvcl9zaXplKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsICJibGtkZXZfZ2V0X3BoeXNlY3Rvcl9zaXplKCkgZmFpbGVkIik7CisKKwlwcmludGYoIiAgICAgICAgICBieXRlczogJWxsdVxuIiwgYnl0ZXMpOworCXByaW50ZigiICAgICAgICBzZWN0b3JzOiAlbGx1XG4iLCBzZWN0b3JzKTsKKwlwcmludGYoIiAgICBzZWN0b3Igc2l6ZTogJWRcbiIsIHNlY3Rvcl9zaXplKTsKKwlwcmludGYoInBoeS1zZWN0b3Igc2l6ZTogJWRcbiIsIHBoeV9zZWN0b3Jfc2l6ZSk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorI2VuZGlmIC8qIFRFU1RfUFJPR1JBTV9CTEtERVYgKi8KZGlmZiAtLWdpdCBhL2xpYi9jYW5vbmljYWxpemUuYyBiL2xpYi9jYW5vbmljYWxpemUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2EyYTNhCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2Nhbm9uaWNhbGl6ZS5jCkBAIC0wLDAgKzEsMTk0IEBACisvKgorICogY2Fub25pY2FsaXplLmMgLS0gY2Fub25pY2FsaXplIHBhdGhuYW1lIGJ5IHJlbW92aW5nIHN5bWxpbmtzCisgKgorICogVGhpcyBmaWxlIG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisKKy8qCisgKiBDb252ZXJ0cyBwcml2YXRlICJkbS1OIiBuYW1lcyB0byAiL2Rldi9tYXBwZXIvPG5hbWU+IgorICoKKyAqIFNpbmNlIDIuNi4yOSAocGF0Y2ggNzg0YWFlNzM1ZDliMGJiYTNmOGI5ZmFlZjRjOGIzMGRmM2JmMDEyOCkga2VybmVsIHN5c2ZzCisgKiBwcm92aWRlcyB0aGUgcmVhbCBETSBkZXZpY2UgbmFtZXMgaW4gL3N5cy9ibG9jay88cHRuYW1lPi9kbS9uYW1lCisgKi8KK2NoYXIgKl9fY2Fub25pY2FsaXplX2RtX25hbWUoY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpwdG5hbWUpCit7CisJRklMRQkqZjsKKwlzaXplX3QJc3o7CisJY2hhcglwYXRoWzI1Nl0sIG5hbWVbc2l6ZW9mKHBhdGgpIC0gc2l6ZW9mKF9QQVRIX0RFVl9NQVBQRVIpXSwgKnJlcyA9IE5VTEw7CisKKwlpZiAoIXB0bmFtZSB8fCAhKnB0bmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIXByZWZpeCkKKwkJcHJlZml4ID0gIiI7CisKKwlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy9zeXMvYmxvY2svJXMvZG0vbmFtZSIsIHByZWZpeCwgcHRuYW1lKTsKKwlpZiAoIShmID0gZm9wZW4ocGF0aCwgInIiIFVMX0NMT0VYRUNTVFIpKSkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiByZWFkICI8bmFtZT5cbiIgZnJvbSBzeXNmcyAqLworCWlmIChmZ2V0cyhuYW1lLCBzaXplb2YobmFtZSksIGYpICYmIChzeiA9IHN0cmxlbihuYW1lKSkgPiAxKSB7CisJCW5hbWVbc3ogLSAxXSA9ICdcMCc7CisJCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgX1BBVEhfREVWX01BUFBFUiAiLyVzIiwgbmFtZSk7CisKKwkJaWYgKHByZWZpeCB8fCBhY2Nlc3MocGF0aCwgRl9PSykgPT0gMCkKKwkJCXJlcyA9IHN0cmR1cChwYXRoKTsKKwl9CisJZmNsb3NlKGYpOworCXJldHVybiByZXM7Cit9CisKK2NoYXIgKmNhbm9uaWNhbGl6ZV9kbV9uYW1lKGNvbnN0IGNoYXIgKnB0bmFtZSkKK3sKKwlyZXR1cm4gX19jYW5vbmljYWxpemVfZG1fbmFtZShOVUxMLCBwdG5hbWUpOworfQorCitzdGF0aWMgaW50IGlzX2RtX2Rldm5hbWUoY2hhciAqY2Fub25pY2FsLCBjaGFyICoqbmFtZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzYjsKKwljaGFyICpwID0gc3RycmNocihjYW5vbmljYWwsICcvJyk7CisKKwkqbmFtZSA9IE5VTEw7CisKKwlpZiAoIXAKKwkgICAgfHwgc3RybmNtcChwLCAiL2RtLSIsIDQpICE9IDAKKwkgICAgfHwgIWlzZGlnaXQoKihwICsgNCkpCisJICAgIHx8IHN0YXQoY2Fub25pY2FsLCAmc2IpICE9IDAKKwkgICAgfHwgIVNfSVNCTEsoc2Iuc3RfbW9kZSkpCisJCXJldHVybiAwOworCisJKm5hbWUgPSBwICsgMTsKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY2Fub25pY2FsaXplIHRoZSBwYXRoISBJdCBqdXN0IHByZXBlbmRzIENXRCBiZWZvcmUgYQorICogcmVsYXRpdmUgcGF0aC4gSWYgdGhlIHBhdGggaXMgbm8gcmVsYXRpdmUgdGhhbiByZXR1cm5zIE5VTEwuIFRoZSBwYXRoIGRvZXMKKyAqIG5vdCBoYXZlIHRvIGV4aXN0LgorICovCitjaGFyICphYnNvbHV0ZV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJY2hhciBjd2RbUEFUSF9NQVhdLCAqcmVzLCAqcDsKKwlzaXplX3QgcHN6LCBjc3o7CisKKwlpZiAoIWlzX3JlbGF0aXZlX3BhdGgocGF0aCkpIHsKKwkJZXJybm8gPSBFSU5WQUw7CisJCXJldHVybiBOVUxMOworCX0KKwlpZiAoIWdldGN3ZChjd2QsIHNpemVvZihjd2QpKSkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBzaW1wbGUgY2xlYW4gdXAgKi8KKwlpZiAoc3RhcnRzd2l0aChwYXRoLCAiLi8iKSkKKwkJcGF0aCArPSAyOworCWVsc2UgaWYgKHN0cmNtcChwYXRoLCAiLiIpID09IDApCisJCXBhdGggPSBOVUxMOworCisJaWYgKCFwYXRoIHx8ICEqcGF0aCkKKwkJcmV0dXJuIHN0cmR1cChjd2QpOworCisJY3N6ID0gc3RybGVuKGN3ZCk7CisJcHN6ID0gc3RybGVuKHBhdGgpOworCisJcCA9IHJlcyA9IG1hbGxvYyhjc3ogKyAxICsgcHN6ICsgMSk7CisJaWYgKCFyZXMpCisJCXJldHVybiBOVUxMOworCisJbWVtY3B5KHAsIGN3ZCwgY3N6KTsKKwlwICs9IGNzejsKKwkqcCsrID0gJy8nOworCW1lbWNweShwLCBwYXRoLCBwc3ogKyAxKTsKKworCXJldHVybiByZXM7Cit9CisKK2NoYXIgKmNhbm9uaWNhbGl6ZV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJY2hhciAqY2Fub25pY2FsLCAqZG1uYW1lOworCisJaWYgKCFwYXRoIHx8ICEqcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisKKwljYW5vbmljYWwgPSByZWFscGF0aChwYXRoLCBOVUxMKTsKKwlpZiAoIWNhbm9uaWNhbCkKKwkJcmV0dXJuIHN0cmR1cChwYXRoKTsKKworCWlmIChpc19kbV9kZXZuYW1lKGNhbm9uaWNhbCwgJmRtbmFtZSkpIHsKKwkJY2hhciAqZG0gPSBjYW5vbmljYWxpemVfZG1fbmFtZShkbW5hbWUpOworCQlpZiAoZG0pIHsKKwkJCWZyZWUoY2Fub25pY2FsKTsKKwkJCXJldHVybiBkbTsKKwkJfQorCX0KKworCXJldHVybiBjYW5vbmljYWw7Cit9CisKK2NoYXIgKmNhbm9uaWNhbGl6ZV9wYXRoX3Jlc3RyaWN0ZWQoY29uc3QgY2hhciAqcGF0aCkKK3sKKwljaGFyICpjYW5vbmljYWwsICpkbW5hbWU7CisJaW50IGVycnN2OworCXVpZF90IGV1aWQ7CisJZ2lkX3QgZWdpZDsKKworCWlmICghcGF0aCB8fCAhKnBhdGgpCisJCXJldHVybiBOVUxMOworCisJZXVpZCA9IGdldGV1aWQoKTsKKwllZ2lkID0gZ2V0ZWdpZCgpOworCisJLyogZHJvcCBwZXJtaXNzaW9ucyAqLworCWlmIChzZXRlZ2lkKGdldGdpZCgpKSA8IDAgfHwgc2V0ZXVpZChnZXR1aWQoKSkgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCWVycnN2ID0gZXJybm8gPSAwOworCisJY2Fub25pY2FsID0gcmVhbHBhdGgocGF0aCwgTlVMTCk7CisJaWYgKCFjYW5vbmljYWwpCisJCWVycnN2ID0gZXJybm87CisJZWxzZSBpZiAoaXNfZG1fZGV2bmFtZShjYW5vbmljYWwsICZkbW5hbWUpKSB7CisJCWNoYXIgKmRtID0gY2Fub25pY2FsaXplX2RtX25hbWUoZG1uYW1lKTsKKwkJaWYgKGRtKSB7CisJCQlmcmVlKGNhbm9uaWNhbCk7CisJCQljYW5vbmljYWwgPSBkbTsKKwkJfQorCX0KKworCS8qIHJlc3RvcmUgKi8KKwlpZiAoc2V0ZWdpZChlZ2lkKSA8IDAgfHwgc2V0ZXVpZChldWlkKSA8IDApIHsKKwkJZnJlZShjYW5vbmljYWwpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwllcnJubyA9IGVycnN2OworCXJldHVybiBjYW5vbmljYWw7Cit9CisKKworI2lmZGVmIFRFU1RfUFJPR1JBTV9DQU5PTklDQUxJWkUKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPGRldmljZT5cbiIsIGFyZ3ZbMF0pOworCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJZnByaW50ZihzdGRvdXQsICJvcmlnOiAlc1xuIiwgYXJndlsxXSk7CisJZnByaW50ZihzdGRvdXQsICJyZWFsOiAlc1xuIiwgY2Fub25pY2FsaXplX3BhdGgoYXJndlsxXSkpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliL2NvbG9yLW5hbWVzLmMgYi9saWIvY29sb3ItbmFtZXMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MmFkZDUwCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2NvbG9yLW5hbWVzLmMKQEAgLTAsMCArMSw1OCBAQAorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNvbG9yLW5hbWVzLmgiCisKK3N0cnVjdCB1bF9jb2xvcl9uYW1lIHsKKwljb25zdCBjaGFyICpuYW1lOworCWNvbnN0IGNoYXIgKnNlcTsKK307CisKKy8qCisgKiBxc29ydC9ic2VhcmNoIGJ1ZGR5CisgKi8KK3N0YXRpYyBpbnQgY21wX2NvbG9yX25hbWUoY29uc3Qgdm9pZCAqYTAsIGNvbnN0IHZvaWQgKmIwKQoreworCWNvbnN0IHN0cnVjdCB1bF9jb2xvcl9uYW1lCisJCSphID0gKGNvbnN0IHN0cnVjdCB1bF9jb2xvcl9uYW1lICopIGEwLAorCQkqYiA9IChjb25zdCBzdHJ1Y3QgdWxfY29sb3JfbmFtZSAqKSBiMDsKKwlyZXR1cm4gc3RyY21wKGEtPm5hbWUsIGItPm5hbWUpOworfQorCisvKgorICogTWFpbnRhaW5zIGh1bWFuIHJlYWRhYmxlIGNvbG9yIG5hbWVzCisgKi8KK2NvbnN0IGNoYXIgKmNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlzdGF0aWMgY29uc3Qgc3RydWN0IHVsX2NvbG9yX25hbWUgYmFzaWNfc2NoZW1lc1tdID0geworCQl7ICJibGFjayIsCVVMX0NPTE9SX0JMQUNLICAgICAgICAgICB9LAorCQl7ICJibGluayIsICAgICAgVUxfQ09MT1JfQkxJTksgICAgICAgICAgIH0sCisJCXsgImJsdWUiLAlVTF9DT0xPUl9CTFVFICAgICAgICAgICAgfSwKKwkJeyAiYm9sZCIsICAgICAgIFVMX0NPTE9SX0JPTEQJCSB9LAorCQl7ICJicm93biIsCVVMX0NPTE9SX0JST1dOICAgICAgICAgICB9LAorCQl7ICJjeWFuIiwJVUxfQ09MT1JfQ1lBTiAgICAgICAgICAgIH0sCisJCXsgImRhcmtncmF5IiwJVUxfQ09MT1JfREFSS19HUkFZICAgICAgIH0sCisJCXsgImdyYXkiLAlVTF9DT0xPUl9HUkFZICAgICAgICAgICAgfSwKKwkJeyAiZ3JlZW4iLAlVTF9DT0xPUl9HUkVFTiAgICAgICAgICAgfSwKKwkJeyAiaGFsZmJyaWdodCIsIFVMX0NPTE9SX0hBTEZCUklHSFQJIH0sCisJCXsgImxpZ2h0Ymx1ZSIsCVVMX0NPTE9SX0JPTERfQkxVRSAgICAgICB9LAorCQl7ICJsaWdodGN5YW4iLAlVTF9DT0xPUl9CT0xEX0NZQU4gICAgICAgfSwKKwkJeyAibGlnaHRncmF5LCIsCVVMX0NPTE9SX0dSQVkgICAgICAgICAgICB9LAorCQl7ICJsaWdodGdyZWVuIiwgVUxfQ09MT1JfQk9MRF9HUkVFTiAgICAgIH0sCisJCXsgImxpZ2h0bWFnZW50YSIsIFVMX0NPTE9SX0JPTERfTUFHRU5UQSAgfSwKKwkJeyAibGlnaHRyZWQiLAlVTF9DT0xPUl9CT0xEX1JFRCAgICAgICAgfSwKKwkJeyAibWFnZW50YSIsCVVMX0NPTE9SX01BR0VOVEEgICAgICAgICB9LAorCQl7ICJyZWQiLAlVTF9DT0xPUl9SRUQgICAgICAgICAgICAgfSwKKwkJeyAicmVzZXQiLCAgICAgIFVMX0NPTE9SX1JFU0VULCAgICAgICAgICB9LAorCQl7ICJyZXZlcnNlIiwgICAgVUxfQ09MT1JfUkVWRVJTRSAgICAgICAgIH0sCisJCXsgInllbGxvdyIsCVVMX0NPTE9SX0JPTERfWUVMTE9XICAgICB9LAorCX07CisJc3RydWN0IHVsX2NvbG9yX25hbWUga2V5ID0geyAubmFtZSA9IHN0ciB9LCAqcmVzOworCisJaWYgKCFzdHIpCisJCXJldHVybiBOVUxMOworCisJcmVzID0gYnNlYXJjaCgma2V5LCBiYXNpY19zY2hlbWVzLCBBUlJBWV9TSVpFKGJhc2ljX3NjaGVtZXMpLAorCQkJCXNpemVvZihzdHJ1Y3QgdWxfY29sb3JfbmFtZSksCisJCQkJY21wX2NvbG9yX25hbWUpOworCXJldHVybiByZXMgPyByZXMtPnNlcSA6IE5VTEw7Cit9CmRpZmYgLS1naXQgYS9saWIvY29sb3JzLmMgYi9saWIvY29sb3JzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVlODFjYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9jb2xvcnMuYwpAQCAtMCwwICsxLDg5OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTItMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2lmIGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTKSB8fCBkZWZpbmVkKEhBVkVfTElCTkNVUlNFU1cpCisjIGlmIGRlZmluZWQoSEFWRV9OQ1VSU0VTV19OQ1VSU0VTX0gpCisjICBpbmNsdWRlIDxuY3Vyc2Vzdy9uY3Vyc2VzLmg+CisjIGVsaWYgZGVmaW5lZChIQVZFX05DVVJTRVNfTkNVUlNFU19IKQorIyAgaW5jbHVkZSA8bmN1cnNlcy9uY3Vyc2VzLmg+CisjIGVsaWYgZGVmaW5lZChIQVZFX05DVVJTRVNfSCkKKyMgIGluY2x1ZGUgPG5jdXJzZXMuaD4KKyMgZW5kaWYKKyMgaWYgZGVmaW5lZChIQVZFX05DVVJTRVNXX1RFUk1fSCkKKyMgIGluY2x1ZGUgPG5jdXJzZXN3L3Rlcm0uaD4KKyMgZWxpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU19URVJNX0gpCisjICBpbmNsdWRlIDxuY3Vyc2VzL3Rlcm0uaD4KKyMgZWxpZiBkZWZpbmVkKEhBVkVfVEVSTV9IKQorIyAgaW5jbHVkZSA8dGVybS5oPgorIyBlbmRpZgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY29sb3JzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2luY2x1ZGUgImRlYnVnLmgiCisKKy8qCisgKiBEZWZhdWx0IGJlaGF2aW9yLCBtYXliZSBiZSBvdmVycmlkZSBieSB0ZXJtaW5hbC1jb2xvcnMuZC97ZW5hYmxlLGRpc2FibGV9LgorICovCisjaWZkZWYgVVNFX0NPTE9SU19CWV9ERUZBVUxUCisjIGRlZmluZSBVTF9DT0xPUk1PREVfREVGQVVMVAlVTF9DT0xPUk1PREVfQVVUTwkvKiBjaGVjayBpc2F0dHkoKSAqLworI2Vsc2UKKyMgZGVmaW5lIFVMX0NPTE9STU9ERV9ERUZBVUxUCVVMX0NPTE9STU9ERV9ORVZFUgkvKiBubyBjb2xvcnMgYnkgZGVmYXVsdCAqLworI2VuZGlmCisKKy8qCisgKiB0ZXJtaW5hbC1jb2xvcnMuZCBkZWJ1ZyBzdHVmZgorICovCitzdGF0aWMgVUxfREVCVUdfREVGSU5FX01BU0sodGVybWNvbG9ycyk7CitVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKHRlcm1jb2xvcnMpID0gVUxfREVCVUdfRU1QVFlfTUFTS05BTUVTOworCisjZGVmaW5lIFRFUk1DT0xPUlNfREVCVUdfSU5JVAkoMSA8PCAxKQorI2RlZmluZSBURVJNQ09MT1JTX0RFQlVHX0NPTkYJKDEgPDwgMikKKyNkZWZpbmUgVEVSTUNPTE9SU19ERUJVR19TQ0hFTUUJKDEgPDwgMykKKyNkZWZpbmUgVEVSTUNPTE9SU19ERUJVR19BTEwJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKHRlcm1jb2xvcnMsIFRFUk1DT0xPUlNfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkgICAgX19VTF9EQkdfQ0FMTCh0ZXJtY29sb3JzLCBURVJNQ09MT1JTX0RFQlVHXywgbSwgeCkKKworLyoKKyAqIHRlcm1pbmFsLWNvbG9ycy5kIGZpbGUgdHlwZXMKKyAqLworZW51bSB7CisJVUxfQ09MT1JGSUxFX0RJU0FCTEUsCQkvKiAuZGlzYWJsZSAqLworCVVMX0NPTE9SRklMRV9FTkFCTEUsCQkvKiAuZW5hYmxlICovCisJVUxfQ09MT1JGSUxFX1NDSEVNRSwJCS8qIC5zY2hlbWUgKi8KKworCV9fVUxfQ09MT1JGSUxFX0NPVU5UCit9OworCitzdHJ1Y3QgdWxfY29sb3Jfc2NoZW1lIHsKKwljaGFyICpuYW1lOworCWNoYXIgKnNlcTsKK307CisKKy8qCisgKiBHbG9iYWwgY29sb3JzIGNvbnRyb2wgc3RydWN0CisgKgorICogVGhlIHRlcm1pbmFsLWNvbG9ycy5kLyBldmFsdWF0aW9uIGlzIGJhc2VkIG9uICJzY29yZXMiOgorICoKKyAqICBmaWxlbmFtZSAgICAgICAgICAgICAgICAgICAgc2NvcmUKKyAqICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqICB0eXBlCQkJMQorICogIEB0ZXJtbmFtZS50eXBlCQkxMCArIDEKKyAqICB1dGlsbmFtZS50eXBlCQkyMCArIDEKKyAqICB1dGlsbmFtZUB0ZXJtbmFtZS50eXBlCTIwICsgMTAgKyAxCisgKgorICogdGhlIG1hdGNoIHdpdGggaGlnaGVyIHNjb3JlIHdpbnMuIFRoZSBzY29yZSBpcyBwZXIgdHlwZS4KKyAqLworc3RydWN0IHVsX2NvbG9yX2N0bCB7CisJY29uc3QgY2hhcgkqdXRpbG5hbWU7CS8qIHV0aWwgbmFtZSAqLworCWNvbnN0IGNoYXIJKnRlcm1uYW1lOwkvKiB0ZXJtaW5hbCBuYW1lICgkVEVSTSkgKi8KKworCWNoYXIJCSpzZmlsZTsJLyogcGF0aCB0byBzY2hlbWUgKi8KKworCXN0cnVjdCB1bF9jb2xvcl9zY2hlbWUJKnNjaGVtZXM7CS8qIGFycmF5IHdpdGggY29sb3Igc2NoZW1lcyAqLworCXNpemVfdAkJCW5zY2hlbWVzOwkvKiBudW1iZXIgb2YgdGhlIGl0ZW1zICovCisJc2l6ZV90CQkJc2NoZW1lc19zejsJLyogbnVtYmVyIG9mIHRoZSBhbGxvY2F0ZWQgaXRlbXMgKi8KKworCWludAkJbW9kZTsJCS8qIFVMX0NPTE9STU9ERV8qICovCisJdW5zaWduZWQgaW50CWhhc19jb2xvcnMgOiAxLAkvKiBiYXNlZCBvbiBtb2RlIGFuZCBzY29yZXNbXSAqLworCQkJZGlzYWJsZWQgICA6IDEsIC8qIGRpc2FibGUgY29sb3JzICovCisJCQljc19jb25maWd1cmVkIDogMSwgLyogY29sb3Igc2NoZW1lcyByZWFkICovCisJCQljb25maWd1cmVkIDogMTsgLyogdGVybWluYWwtY29sb3JzLmQgcGFyc2VkICovCisKKwlpbnQJCXNjb3Jlc1tfX1VMX0NPTE9SRklMRV9DT1VOVF07CS8qIHRoZSBiZXN0IG1hdGNoICovCit9OworCisvKgorICogQ29udHJvbCBzdHJ1Y3QsIGdsb2JhbGx5IHNoYXJlZC4KKyAqLworc3RhdGljIHN0cnVjdCB1bF9jb2xvcl9jdGwgdWxfY29sb3JzOworCitzdGF0aWMgdm9pZCBjb2xvcnNfZnJlZV9zY2hlbWVzKHN0cnVjdCB1bF9jb2xvcl9jdGwgKmNjKTsKK3N0YXRpYyBpbnQgY29sb3JzX3JlYWRfc2NoZW1lcyhzdHJ1Y3QgdWxfY29sb3JfY3RsICpjYyk7CisKKy8qCisgKiBxc29ydC9ic2VhcmNoIGJ1ZGR5CisgKi8KK3N0YXRpYyBpbnQgY21wX3NjaGVtZV9uYW1lKGNvbnN0IHZvaWQgKmEwLCBjb25zdCB2b2lkICpiMCkKK3sKKwlzdHJ1Y3QgdWxfY29sb3Jfc2NoZW1lCSphID0gKHN0cnVjdCB1bF9jb2xvcl9zY2hlbWUgKikgYTAsCisJCQkJKmIgPSAoc3RydWN0IHVsX2NvbG9yX3NjaGVtZSAqKSBiMDsKKwlyZXR1cm4gc3RyY21wKGEtPm5hbWUsIGItPm5hbWUpOworfQorCisvKgorICogUmVzZXRzIGNvbnRyb2wgc3RydWN0IChub3RlIHRoYXQgd2UgZG9uJ3QgYWxsb2NhdGUgdGhlIHN0cnVjdCkKKyAqLworc3RhdGljIHZvaWQgY29sb3JzX3Jlc2V0KHN0cnVjdCB1bF9jb2xvcl9jdGwgKmNjKQoreworCWlmICghY2MpCisJCXJldHVybjsKKworCWNvbG9yc19mcmVlX3NjaGVtZXMoY2MpOworCisJZnJlZShjYy0+c2ZpbGUpOworCisJY2MtPnNmaWxlID0gTlVMTDsKKwljYy0+dXRpbG5hbWUgPSBOVUxMOworCWNjLT50ZXJtbmFtZSA9IE5VTEw7CisJY2MtPm1vZGUgPSBVTF9DT0xPUk1PREVfVU5ERUY7CisKKwltZW1zZXQoY2MtPnNjb3JlcywgMCwgc2l6ZW9mKGNjLT5zY29yZXMpKTsKK30KKworc3RhdGljIHZvaWQgY29sb3JzX2RlYnVnKHN0cnVjdCB1bF9jb2xvcl9jdGwgKmNjKQoreworCXNpemVfdCBpOworCisJaWYgKCFjYykKKwkJcmV0dXJuOworCisJcHJpbnRmKCJDb2xvcnM6XG4iKTsKKwlwcmludGYoIlx0dXRpbG5hbWUgPSAnJXMnXG4iLCBjYy0+dXRpbG5hbWUpOworCXByaW50ZigiXHR0ZXJtbmFtZSA9ICclcydcbiIsIGNjLT50ZXJtbmFtZSk7CisJcHJpbnRmKCJcdHNjaGVtZSBmaWxlID0gJyVzJ1xuIiwgY2MtPnNmaWxlKTsKKwlwcmludGYoIlx0bW9kZSA9ICVzXG4iLAorCQkJY2MtPm1vZGUgPT0gVUxfQ09MT1JNT0RFX1VOREVGID8gInVuZGVmaW5lZCIgOgorCQkJY2MtPm1vZGUgPT0gVUxfQ09MT1JNT0RFX0FVVE8gPyAgImF1dG8iIDoKKwkJCWNjLT5tb2RlID09IFVMX0NPTE9STU9ERV9ORVZFUiA/ICJuZXZlciIgOgorCQkJY2MtPm1vZGUgPT0gVUxfQ09MT1JNT0RFX0FMV0FZUyA/ICJhbHdheXMiIDogIj8/PyIpOworCXByaW50ZigiXHRoYXNfY29sb3JzID0gJWRcbiIsIGNjLT5oYXNfY29sb3JzKTsKKwlwcmludGYoIlx0ZGlzYWJsZWQgPSAlZFxuIiwgY2MtPmRpc2FibGVkKTsKKwlwcmludGYoIlx0Y29uZmlndXJlZCA9ICVkXG4iLCBjYy0+Y29uZmlndXJlZCk7CisJcHJpbnRmKCJcdGNzIGNvbmZpZ3VyZWQgPSAlZFxuIiwgY2MtPmNzX2NvbmZpZ3VyZWQpOworCisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNjLT5zY29yZXMpOyBpKyspCisJCXByaW50ZigiXHRzY29yZSAlcyA9ICVkXG4iLAorCQkJCWkgPT0gVUxfQ09MT1JGSUxFX0RJU0FCTEUgPyAiZGlzYWJsZSIgOgorCQkJCWkgPT0gVUxfQ09MT1JGSUxFX0VOQUJMRSA/ICJlbmFibGUiIDoKKwkJCQlpID09IFVMX0NPTE9SRklMRV9TQ0hFTUUgPyAic2NoZW1lIiA6ICI/Pz8iLAorCQkJCWNjLT5zY29yZXNbaV0pOworCisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCWZvciAoaSA9IDA7IGkgPCBjYy0+bnNjaGVtZXM7IGkrKykgeworCQlwcmludGYoIlx0c2NoZW1lICMlMDJ6dSAiLCBpKTsKKwkJY29sb3Jfc2NoZW1lX2VuYWJsZShjYy0+c2NoZW1lc1tpXS5uYW1lLCBOVUxMKTsKKwkJZnB1dHMoY2MtPnNjaGVtZXNbaV0ubmFtZSwgc3Rkb3V0KTsKKwkJY29sb3JfZGlzYWJsZSgpOworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCX0KKwlmcHV0YygnXG4nLCBzdGRvdXQpOworfQorCisvKgorICogUGFyc2VzIFtbPHV0aWxuYW1lPl1bQDx0ZXJtbmFtZT5dLl08dHlwZT4KKyAqLworc3RhdGljIGludCBmaWxlbmFtZV90b190b2tlbnMoY29uc3QgY2hhciAqc3RyLAorCQkJICAgICAgY29uc3QgY2hhciAqKm5hbWUsIHNpemVfdCAqbmFtZXN6LAorCQkJICAgICAgY29uc3QgY2hhciAqKnRlcm0sIHNpemVfdCAqdGVybXN6LAorCQkJICAgICAgaW50ICAqZmlsZXR5cGUpCit7CisJY29uc3QgY2hhciAqdHlwZV9zdGFydCwgKnRlcm1fc3RhcnQsICpwOworCisJaWYgKCFzdHIgfHwgISpzdHIgfHwgKnN0ciA9PSAnLicgfHwgc3RybGVuKHN0cikgPiBQQVRIX01BWCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBwYXJzZSAudHlwZSAqLworCXAgPSBzdHJyY2hyKHN0ciwgJy4nKTsKKwl0eXBlX3N0YXJ0ID0gcCA/IHAgKyAxIDogc3RyOworCisJaWYgKHN0cmNtcCh0eXBlX3N0YXJ0LCAiZGlzYWJsZSIpID09IDApCisJCSpmaWxldHlwZSA9IFVMX0NPTE9SRklMRV9ESVNBQkxFOworCWVsc2UgaWYgKHN0cmNtcCh0eXBlX3N0YXJ0LCAiZW5hYmxlIikgPT0gMCkKKwkJKmZpbGV0eXBlID0gVUxfQ09MT1JGSUxFX0VOQUJMRTsKKwllbHNlIGlmIChzdHJjbXAodHlwZV9zdGFydCwgInNjaGVtZSIpID09IDApCisJCSpmaWxldHlwZSA9IFVMX0NPTE9SRklMRV9TQ0hFTUU7CisJZWxzZSB7CisJCURCRyhDT05GLCB1bF9kZWJ1ZygidW5rbm93biB0eXBlICclcyciLCB0eXBlX3N0YXJ0KSk7CisJCXJldHVybiAxOwkJCQkvKiB1bmtub3duIHR5cGUgKi8KKwl9CisKKwlpZiAodHlwZV9zdGFydCA9PSBzdHIpCisJCXJldHVybiAwOwkJCQkvKiAidHlwZSIgb25seSAqLworCisJLyogcGFyc2UgQHRlcm1uYW1lICovCisJcCA9IHN0cmNocihzdHIsICdAJyk7CisJdGVybV9zdGFydCA9IHAgPyBwICsgMSA6IE5VTEw7CisJaWYgKHRlcm1fc3RhcnQpIHsKKwkJKnRlcm0gPSB0ZXJtX3N0YXJ0OworCQkqdGVybXN6ID0gdHlwZV9zdGFydCAtIHRlcm1fc3RhcnQgLSAxOworCQlpZiAodGVybV9zdGFydCAtIDEgPT0gc3RyKQorCQkJcmV0dXJuIDA7CQkJLyogIkB0ZXJtbmFtZS50eXBlIiAqLworCX0KKworCS8qIHBhcnNlIHV0aWxuYW1lICovCisJcCA9IHRlcm1fc3RhcnQgPyB0ZXJtX3N0YXJ0IDogdHlwZV9zdGFydDsKKwkqbmFtZSA9ICBzdHI7CisJKm5hbWVzegk9IHAgLSBzdHIgLSAxOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTY2FucyBAZGlybmFtZSBhbmQgc2VsZWN0IHRoZSBiZXN0IG1hdGNoZXMgZm9yIFVMX0NPTE9SRklMRV8qIHR5cGVzLgorICogVGhlIHJlc3VsdCBpcyBzdG9yZWQgdG8gY2MtPnNjb3Jlcy4gVGhlIHBhdGggdG8gdGhlIGJlc3QgInNjaGVtZSIKKyAqIGZpbGUgaXMgc3RvcmVkIHRvIGNjLT5zY2hlbWUuCisgKi8KK3N0YXRpYyBpbnQgY29sb3JzX3JlYWRkaXIoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MsIGNvbnN0IGNoYXIgKmRpcm5hbWUpCit7CisJRElSICpkaXI7CisJaW50IHJjID0gMDsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCWNoYXIgc2ZpbGVbUEFUSF9NQVhdID0geyAnXDAnIH07CisJc2l6ZV90IG5hbWVzeiwgdGVybXN6OworCisJaWYgKCFkaXJuYW1lIHx8ICFjYyB8fCAhY2MtPnV0aWxuYW1lIHx8ICEqY2MtPnV0aWxuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDT05GLCB1bF9kZWJ1ZygicmVhZGluZyBkaXI6ICclcyciLCBkaXJuYW1lKSk7CisKKwlkaXIgPSBvcGVuZGlyKGRpcm5hbWUpOworCWlmICghZGlyKQorCQlyZXR1cm4gLWVycm5vOworCisJbmFtZXN6ID0gc3RybGVuKGNjLT51dGlsbmFtZSk7CisJdGVybXN6ID0gY2MtPnRlcm1uYW1lID8gc3RybGVuKGNjLT50ZXJtbmFtZSkgOiAwOworCisJd2hpbGUgKChkID0gcmVhZGRpcihkaXIpKSkgeworCQlpbnQgdHlwZSwgc2NvcmUgPSAxOworCQljb25zdCBjaGFyICp0a19uYW1lID0gTlVMTCwgKnRrX3Rlcm0gPSBOVUxMOworCQlzaXplX3QgdGtfbmFtZXN6ID0gMCwgdGtfdGVybXN6ID0gMDsKKworCQlpZiAoKmQtPmRfbmFtZSA9PSAnLicpCisJCQljb250aW51ZTsKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCWlmIChkLT5kX3R5cGUgIT0gRFRfVU5LTk9XTiAmJiBkLT5kX3R5cGUgIT0gRFRfTE5LICYmCisJCSAgICBkLT5kX3R5cGUgIT0gRFRfUkVHKQorCQkJY29udGludWU7CisjZW5kaWYKKwkJaWYgKGZpbGVuYW1lX3RvX3Rva2VucyhkLT5kX25hbWUsCisJCQkJICAgICAgICZ0a19uYW1lLCAmdGtfbmFtZXN6LAorCQkJCSAgICAgICAmdGtfdGVybSwgJnRrX3Rlcm1zeiwgJnR5cGUpICE9IDApCisJCQljb250aW51ZTsKKworCQkvKiBjb3VudCB0aGVvcmV0aWNhbCBzY29yZSBiZWZvcmUgd2UgY2hlY2sgbmFtZXMgdG8gYXZvaWQKKwkJICogdW5uZWNlc3Nhcnkgc3RyY21wKCkgKi8KKwkJaWYgKHRrX25hbWUpCisJCQlzY29yZSArPSAyMDsKKwkJaWYgKHRrX3Rlcm0pCisJCQlzY29yZSArPSAxMDsKKworCQlEQkcoQ09ORiwgdWxfZGVidWcoIml0ZW0gJyVzJzogc2NvcmU9JWQgIgorCQkJIltjdXI6ICVkLCBuYW1lKCV6dSk6ICVzLCB0ZXJtKCV6dSk6ICVzXSIsCisJCQlkLT5kX25hbWUsIHNjb3JlLCBjYy0+c2NvcmVzW3R5cGVdLAorCQkJdGtfbmFtZXN6LCB0a19uYW1lLAorCQkJdGtfdGVybXN6LCB0a190ZXJtKSk7CisKKworCQlpZiAoc2NvcmUgPCBjYy0+c2NvcmVzW3R5cGVdKQorCQkJY29udGludWU7CisKKwkJLyogZmlsdGVyIG91dCBieSBuYW1lcyAqLworCQlpZiAodGtfbmFtZXN6ICYmICh0a19uYW1lc3ogIT0gbmFtZXN6IHx8CisJCQkJIHN0cm5jbXAodGtfbmFtZSwgY2MtPnV0aWxuYW1lLCBuYW1lc3opICE9IDApKQorCQkJY29udGludWU7CisKKwkJaWYgKHRrX3Rlcm1zeiAmJiAodGVybXN6ID09IDAgfHwgdGtfdGVybXN6ICE9IHRlcm1zeiB8fAorCQkJCSAgc3RybmNtcCh0a190ZXJtLCBjYy0+dGVybW5hbWUsIHRlcm1zeikgIT0gMCkpCisJCQljb250aW51ZTsKKworCQlEQkcoQ09ORiwgdWxfZGVidWcoInNldHRpbmcgJyVzJyBmcm9tICVkIC10by0+ICVkIiwKKwkJCQkJdHlwZSA9PSBVTF9DT0xPUkZJTEVfU0NIRU1FID8gInNjaGVtZSIgOgorCQkJCQl0eXBlID09IFVMX0NPTE9SRklMRV9ESVNBQkxFID8gImRpc2FibGUiIDoKKwkJCQkJdHlwZSA9PSBVTF9DT0xPUkZJTEVfRU5BQkxFID8gImVuYWJsZSIgOiAiPz8/IiwKKwkJCQkJY2MtPnNjb3Jlc1t0eXBlXSwgc2NvcmUpKTsKKwkJY2MtPnNjb3Jlc1t0eXBlXSA9IHNjb3JlOworCQlpZiAodHlwZSA9PSBVTF9DT0xPUkZJTEVfU0NIRU1FKQorCQkJc3RybmNweShzZmlsZSwgZC0+ZF9uYW1lLCBzaXplb2Yoc2ZpbGUpKTsKKwl9CisKKwlpZiAoKnNmaWxlKSB7CisJCXNmaWxlW3NpemVvZihzZmlsZSkgLSAxXSA9ICdcMCc7CisJCWlmIChhc3ByaW50ZigmY2MtPnNmaWxlLCAiJXMvJXMiLCBkaXJuYW1lLCBzZmlsZSkgPD0gMCkKKwkJCXJjID0gLUVOT01FTTsKKwl9CisKKwljbG9zZWRpcihkaXIpOworCXJldHVybiByYzsKK30KKworLyogYXRleGl0KCkgd3JhcHBlciAqLworc3RhdGljIHZvaWQgY29sb3JzX2RlaW5pdCh2b2lkKQoreworCWNvbG9yc19yZXNldCgmdWxfY29sb3JzKTsKK30KKworLyoKKyAqIFJldHVybnMgcGF0aCB0byAkWERHX0NPTkZJR19IT01FL3Rlcm1pbmFsLWNvbG9ycy5kCisgKi8KK3N0YXRpYyBjaGFyICpjb2xvcnNfZ2V0X2hvbWVkaXIoY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJY2hhciAqcCA9IGdldGVudigiWERHX0NPTkZJR19IT01FIik7CisKKwlpZiAocCkgeworCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXMvIiBfUEFUSF9URVJNQ09MT1JTX0RJUk5BTUUsIHApOworCQlyZXR1cm4gYnVmOworCX0KKworCXAgPSBnZXRlbnYoIkhPTUUiKTsKKwlpZiAocCkgeworCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXMvLmNvbmZpZy8iIF9QQVRIX1RFUk1DT0xPUlNfRElSTkFNRSwgcCk7CisJCXJldHVybiBidWY7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qIGNhbm9uaWNhbGl6ZSBzZXF1ZW5jZSAqLworc3RhdGljIGludCBjbl9zZXF1ZW5jZShjb25zdCBjaGFyICpzdHIsIGNoYXIgKipzZXEpCit7CisJY2hhciAqaW4sICpvdXQ7CisJaW50IGxlbjsKKworCWlmICghc3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCSpzZXEgPSBOVUxMOworCisJLyogY29udmVydCBsb2dpY2FsIG5hbWVzIGxpa2UgInJlZCIgdG8gdGhlIHJlYWwgc2VxdWVuY2UgKi8KKwlpZiAoKnN0ciAhPSAnXFwnICYmIGlzYWxwaGEoKnN0cikpIHsKKwkJY29uc3QgY2hhciAqcyA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKHN0cik7CisJCSpzZXEgPSBzdHJkdXAocyA/IHMgOiBzdHIpOworCisJCXJldHVybiAqc2VxID8gMCA6IC1FTk9NRU07CisJfQorCisJLyogY29udmVydCB4eDt5eSBzZXF1ZW5jZXMgdG8gIlwwMzNbeHg7eXkiICovCisJaWYgKChsZW4gPSBhc3ByaW50ZihzZXEsICJcMDMzWyVzbSIsIHN0cikpIDwgMSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlmb3IgKGluID0gKnNlcSwgb3V0ID0gKnNlcTsgaW4gJiYgKmluOyBpbisrKSB7CisJCWlmICgqaW4gIT0gJ1xcJykgeworCQkJKm91dCsrID0gKmluOworCQkJY29udGludWU7CisJCX0KKwkJc3dpdGNoKCooaW4gKyAxKSkgeworCQljYXNlICdhJzoKKwkJCSpvdXQrKyA9ICdcYSc7CS8qIEJlbGwgKi8KKwkJCWJyZWFrOworCQljYXNlICdiJzoKKwkJCSpvdXQrKyA9ICdcYic7CS8qIEJhY2tzcGFjZSAqLworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJKm91dCsrID0gJ1wwMzMnOwkvKiBFc2NhcGUgKi8KKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCSpvdXQrKyA9ICdcZic7CS8qIEZvcm0gRmVlZCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJKm91dCsrID0gJ1xuJzsJLyogTmV3bGluZSAqLworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJKm91dCsrID0gJ1xyJzsJLyogQ2FycmlhZ2UgUmV0dXJuICovCisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQkqb3V0KysgPSAnXHQnOwkvKiBUYWIgKi8KKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCSpvdXQrKyA9ICdcdic7CS8qIFZlcnRpY2FsIFRhYiAqLworCQkJYnJlYWs7CisJCWNhc2UgJ1xcJzoKKwkJCSpvdXQrKyA9ICdcXCc7CS8qIEJhY2tzbGFzaCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ18nOgorCQkJKm91dCsrID0gJyAnOwkvKiBTcGFjZSAqLworCQkJYnJlYWs7CisJCWNhc2UgJyMnOgorCQkJKm91dCsrID0gJyMnOwkvKiBIYXNoIG1hcmsgKi8KKwkJCWJyZWFrOworCQljYXNlICc/JzoKKwkJCSpvdXQrKyA9ICc/JzsJLyogUXVlc3Rpb24gbWFyayAqLworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQkqb3V0KysgPSAqaW47CisJCQkqb3V0KysgPSAqKGluICsgMSk7CisJCQlicmVhazsKKwkJfQorCQlpbisrOworCX0KKworCWFzc2VydCAoKG91dCAtICpzZXEpIDw9IGxlbik7CisJKm91dCA9ICdcMCc7CisKKwlyZXR1cm4gMDsKK30KKworCisvKgorICogQWRkcyBvbmUgY29sb3Igc2VxdWVuY2UgdG8gYXJyYXkgd2l0aCBjb2xvciBzY2hlbWUuCisgKiBXaGVuIHJldHVybmluZyBzdWNjZXNzICgwKSB0aGlzIGZ1bmN0aW9uIHRha2VzIG93bmVyc2hpcCBvZgorICogQHNlcSBhbmQgQG5hbWUsIHdoaWNoIGhhdmUgdG8gYmUgYWxsb2NhdGVkIHN0cmluZ3MuCisgKi8KK3N0YXRpYyBpbnQgY29sb3JzX2FkZF9zY2hlbWUoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MsCisJCQkgICAgIGNoYXIgKm5hbWUsCisJCQkgICAgIGNoYXIgKnNlcTApCit7CisJc3RydWN0IHVsX2NvbG9yX3NjaGVtZSAqY3MgPSBOVUxMOworCWNoYXIgKnNlcSA9IE5VTEw7CisJaW50IHJjOworCisJaWYgKCFjYyB8fCAhbmFtZSB8fCAhKm5hbWUgfHwgIXNlcTAgfHwgISpzZXEwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhTQ0hFTUUsIHVsX2RlYnVnKCJhZGQgJyVzJyIsIG5hbWUpKTsKKworCXJjID0gY25fc2VxdWVuY2Uoc2VxMCwgJnNlcSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlyYyA9IC1FTk9NRU07CisKKwkvKiBjb252ZXJ0IGxvZ2ljYWwgbmFtZSAoZS5nLiAicmVkIikgdG8gcmVhbCBFU0MgY29kZSAqLworCWlmIChpc2FscGhhKCpzZXEpKSB7CisJCWNvbnN0IGNoYXIgKnMgPSBjb2xvcl9zZXF1ZW5jZV9mcm9tX2NvbG9ybmFtZShzZXEpOworCQljaGFyICpwOworCisJCWlmICghcykgeworCQkJREJHKFNDSEVNRSwgdWxfZGVidWcoInVua25vd24gbG9naWNhbCBuYW1lOiAlcyIsIHNlcSkpOworCQkJcmMgPSAtRUlOVkFMOworCQkJZ290byBlcnI7CisJCX0KKworCQlwID0gc3RyZHVwKHMpOworCQlpZiAoIXApCisJCQlnb3RvIGVycjsKKwkJZnJlZShzZXEpOworCQlzZXEgPSBwOworCX0KKworCS8qIGVubGFyZ2UgdGhlIGFycmF5ICovCisJaWYgKGNjLT5uc2NoZW1lcyA9PSBjYy0+c2NoZW1lc19zeikgeworCQl2b2lkICp0bXAgPSByZWFsbG9jKGNjLT5zY2hlbWVzLCAoY2MtPm5zY2hlbWVzICsgMTApCisJCQkJCSogc2l6ZW9mKHN0cnVjdCB1bF9jb2xvcl9zY2hlbWUpKTsKKwkJaWYgKCF0bXApCisJCQlnb3RvIGVycjsKKwkJY2MtPnNjaGVtZXMgPSB0bXA7CisJCWNjLT5zY2hlbWVzX3N6ID0gY2MtPm5zY2hlbWVzICsgMTA7CisJfQorCisJLyogYWRkIGEgbmV3IGl0ZW0gKi8KKwljcyA9ICZjYy0+c2NoZW1lc1tjYy0+bnNjaGVtZXNdOworCWNzLT5zZXEgPSBzZXE7CisJY3MtPm5hbWUgPSBzdHJkdXAobmFtZSk7CisJaWYgKCFjcy0+bmFtZSkKKwkJZ290byBlcnI7CisKKwljYy0+bnNjaGVtZXMrKzsKKwlyZXR1cm4gMDsKK2VycjoKKwlpZiAoY3MpIHsKKwkJZnJlZShjcy0+c2VxKTsKKwkJZnJlZShjcy0+bmFtZSk7CisJCWNzLT5zZXEgPSBjcy0+bmFtZSA9IE5VTEw7CisJfSBlbHNlCisJCWZyZWUoc2VxKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBEZWFsbG9jYXRlcyBhbGwgcmVnYXJkcyB0byBjb2xvciBzY2hlbWVzCisgKi8KK3N0YXRpYyB2b2lkIGNvbG9yc19mcmVlX3NjaGVtZXMoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpCit7CisJc2l6ZV90IGk7CisKKwlEQkcoU0NIRU1FLCB1bF9kZWJ1ZygiZnJlZSBzY2hlbWUiKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY2MtPm5zY2hlbWVzOyBpKyspIHsKKwkJZnJlZShjYy0+c2NoZW1lc1tpXS5uYW1lKTsKKwkJZnJlZShjYy0+c2NoZW1lc1tpXS5zZXEpOworCX0KKworCWZyZWUoY2MtPnNjaGVtZXMpOworCWNjLT5zY2hlbWVzID0gTlVMTDsKKwljYy0+bnNjaGVtZXMgPSAwOworCWNjLT5zY2hlbWVzX3N6ID0gMDsKK30KKworLyoKKyAqIFRoZSBzY2hlbWUgY29uZmlndXJhdGlvbiBoYXMgdG8gYmUgc29ydGVkIGZvciBic2VhcmNoCisgKi8KK3N0YXRpYyB2b2lkIGNvbG9yc19zb3J0X3NjaGVtZXMoc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpCit7CisJaWYgKCFjYy0+bnNjaGVtZXMpCisJCXJldHVybjsKKworCURCRyhTQ0hFTUUsIHVsX2RlYnVnKCJzb3J0IHNjaGVtZSIpKTsKKworCXFzb3J0KGNjLT5zY2hlbWVzLCBjYy0+bnNjaGVtZXMsCisJICAgICAgc2l6ZW9mKHN0cnVjdCB1bF9jb2xvcl9zY2hlbWUpLCBjbXBfc2NoZW1lX25hbWUpOworfQorCisvKgorICogUmV0dXJucyBqdXN0IG9uZSBjb2xvciBzY2hlbWUKKyAqLworc3RhdGljIHN0cnVjdCB1bF9jb2xvcl9zY2hlbWUgKmNvbG9yc19nZXRfc2NoZW1lKHN0cnVjdCB1bF9jb2xvcl9jdGwgKmNjLAorCQkJCQkJIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IHVsX2NvbG9yX3NjaGVtZSBrZXkgPSB7IC5uYW1lID0gKGNoYXIgKikgbmFtZX0sICpyZXM7CisKKwlpZiAoIWNjIHx8ICFuYW1lIHx8ICEqbmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIWNjLT5jc19jb25maWd1cmVkKSB7CisJCWludCByYyA9IGNvbG9yc19yZWFkX3NjaGVtZXMoY2MpOworCQlpZiAocmMpCisJCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYgKCFjYy0+bnNjaGVtZXMpCisJCXJldHVybiBOVUxMOworCisJREJHKFNDSEVNRSwgdWxfZGVidWcoInNlYXJjaCAnJXMnIiwgbmFtZSkpOworCisJcmVzID0gYnNlYXJjaCgma2V5LCBjYy0+c2NoZW1lcywgY2MtPm5zY2hlbWVzLAorCQkJCXNpemVvZihzdHJ1Y3QgdWxfY29sb3Jfc2NoZW1lKSwKKwkJCQljbXBfc2NoZW1lX25hbWUpOworCisJcmV0dXJuIHJlcyAmJiByZXMtPnNlcSA/IHJlcyAgOiBOVUxMOworfQorCisvKgorICogUGFyc2VzIGZpbGVuYW1lcyBpbiB0ZXJtaW5hbC1jb2xvcnMuZAorICovCitzdGF0aWMgaW50IGNvbG9yc19yZWFkX2NvbmZpZ3VyYXRpb24oc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MpCit7CisJaW50IHJjID0gLUVOT0VOVDsKKwljaGFyICpkaXJuYW1lLCBidWZbUEFUSF9NQVhdOworCisJY2MtPnRlcm1uYW1lID0gZ2V0ZW52KCJURVJNIik7CisKKwlkaXJuYW1lID0gY29sb3JzX2dldF9ob21lZGlyKGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWlmIChkaXJuYW1lKQorCQlyYyA9IGNvbG9yc19yZWFkZGlyKGNjLCBkaXJuYW1lKTsJCS8qIH4vLmNvbmZpZyAqLworCWlmIChyYyA9PSAtRVBFUk0gfHwgcmMgPT0gLUVBQ0NFUyB8fCByYyA9PSAtRU5PRU5UKQorCQlyYyA9IGNvbG9yc19yZWFkZGlyKGNjLCBfUEFUSF9URVJNQ09MT1JTX0RJUik7CS8qIC9ldGMgKi8KKworCWNjLT5jb25maWd1cmVkID0gMTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBSZWFkcyB0ZXJtaW5hbC1jb2xvcnMuZC8gc2NoZW1lIGZpbGUgaW50byBhcnJheSBzY2hlbWVzCisgKi8KK3N0YXRpYyBpbnQgY29sb3JzX3JlYWRfc2NoZW1lcyhzdHJ1Y3QgdWxfY29sb3JfY3RsICpjYykKK3sKKwlpbnQgcmMgPSAwOworCUZJTEUgKmYgPSBOVUxMOworCWNoYXIgYnVmW0JVRlNJWl0sCisJICAgICBjblsxMjldLCBzZXFbMTI5XTsKKworCWlmICghY2MtPmNvbmZpZ3VyZWQpCisJCXJjID0gY29sb3JzX3JlYWRfY29uZmlndXJhdGlvbihjYyk7CisKKwljYy0+Y3NfY29uZmlndXJlZCA9IDE7CisKKwlpZiAocmMgfHwgIWNjLT5zZmlsZSkKKwkJZ290byBkb25lOworCisJREJHKFNDSEVNRSwgdWxfZGVidWcoInJlYWRpbmcgZmlsZSAnJXMnIiwgY2MtPnNmaWxlKSk7CisKKwlmID0gZm9wZW4oY2MtPnNmaWxlLCAiciIpOworCWlmICghZikgeworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKworCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkgeworCQljaGFyICpwID0gc3RyY2hyKGJ1ZiwgJ1xuJyk7CisKKwkJaWYgKCFwKSB7CisJCQlpZiAoZmVvZihmKSkKKwkJCQlwID0gc3RyY2hyKGJ1ZiwgJ1wwJyk7CisJCQllbHNlIHsKKwkJCQlyYyA9IC1lcnJubzsKKwkJCQlnb3RvIGRvbmU7CisJCQl9CisJCX0KKwkJKnAgPSAnXDAnOworCQlwID0gKGNoYXIgKikgc2tpcF9ibGFuayhidWYpOworCQlpZiAoKnAgPT0gJ1wwJyB8fCAqcCA9PSAnIycpCisJCQljb250aW51ZTsKKworCQlyYyA9IHNzY2FuZihwLCAiJTEyOFteIF0gJTEyOFteXG4gXSIsIGNuLCBzZXEpOworCQlpZiAocmMgPT0gMiAmJiAqY24gJiYgKnNlcSkgeworCQkJcmMgPSBjb2xvcnNfYWRkX3NjaGVtZShjYywgY24sIHNlcSk7CS8qIHNldCByYz0wIG9uIHN1Y2Nlc3MgKi8KKwkJCWlmIChyYykKKwkJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisJcmMgPSAwOworCitkb25lOgorCWlmIChmKQorCQlmY2xvc2UoZik7CisJY29sb3JzX3NvcnRfc2NoZW1lcyhjYyk7CisKKwlyZXR1cm4gcmM7Cit9CisKKworc3RhdGljIHZvaWQgdGVybWNvbG9yc19pbml0X2RlYnVnKHZvaWQpCit7CisJX19VTF9JTklUX0RFQlVHX0ZST01fRU5WKHRlcm1jb2xvcnMsIFRFUk1DT0xPUlNfREVCVUdfLCAwLCBURVJNSU5BTF9DT0xPUlNfREVCVUcpOworfQorCitzdGF0aWMgaW50IGNvbG9yc190ZXJtaW5hbF9pc19yZWFkeSh2b2lkKQoreworCWludCBuY29sb3JzID0gLTE7CisKKwlpZiAoaXNhdHR5KFNURE9VVF9GSUxFTk8pICE9IDEpCisJCWdvdG8gbm9uZTsKKworI2lmIGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTKSB8fCBkZWZpbmVkKEhBVkVfTElCTkNVUlNFU1cpCisJeworCQlpbnQgcmV0OworCisJCWlmIChzZXR1cHRlcm0oTlVMTCwgU1RET1VUX0ZJTEVOTywgJnJldCkgIT0gMCB8fCByZXQgIT0gMSkKKwkJCWdvdG8gbm9uZTsKKwkJbmNvbG9ycyA9IHRpZ2V0bnVtKCJjb2xvcnMiKTsKKwkJaWYgKG5jb2xvcnMgPD0gMikKKwkJCWdvdG8gbm9uZTsKKwl9CisjZW5kaWYKKwlpZiAobmNvbG9ycyAhPSAtMSkgeworCQlEQkcoQ09ORiwgdWxfZGVidWcoInRlcm1pbmFsIGlzIHJlYWR5IChzdXBwb3J0cyAlZCBjb2xvcnMpIiwgbmNvbG9ycykpOworCQlyZXR1cm4gMTsKKwl9Citub25lOgorCURCRyhDT05GLCB1bF9kZWJ1ZygidGVybWluYWwgaXMgTk9UIHJlYWR5IikpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGNvbG9yc19pbml0OgorICogQG1vZGU6IFVMX0NPTE9STU9ERV8qCisgKiBAbmFtZTogdXRpbCBhcmd2WzBdCisgKgorICogSW5pdGlhbGl6ZSBwcml2YXRlIGNvbG9yIGNvbnRyb2wgc3RydWN0IGFuZCBpbml0aWFsaXplIHRoZSBjb2xvcnMKKyAqIHN0YXR1cy4gVGhlIGNvbG9yIHNjaGVtZXMgYXJlIHBhcnNlZCBvbiBkZW1hbmQgYnkgY29sb3JzX2dldF9zY2hlbWUoKS4KKyAqCisgKiBSZXR1cm5zOiA+MCBvbiBzdWNjZXNzLgorICovCitpbnQgY29sb3JzX2luaXQoaW50IG1vZGUsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJaW50IHJlYWR5ID0gLTE7CisJc3RydWN0IHVsX2NvbG9yX2N0bCAqY2MgPSAmdWxfY29sb3JzOworCisJY2MtPnV0aWxuYW1lID0gbmFtZTsKKwljYy0+bW9kZSA9IG1vZGU7CisKKwl0ZXJtY29sb3JzX2luaXRfZGVidWcoKTsKKworCWlmIChtb2RlID09IFVMX0NPTE9STU9ERV9VTkRFRiAmJiAocmVhZHkgPSBjb2xvcnNfdGVybWluYWxfaXNfcmVhZHkoKSkpIHsKKwkJaW50IHJjID0gY29sb3JzX3JlYWRfY29uZmlndXJhdGlvbihjYyk7CisJCWlmIChyYykKKwkJCWNjLT5tb2RlID0gVUxfQ09MT1JNT0RFX0RFRkFVTFQ7CisJCWVsc2UgeworCisJCQkvKiBldmFsdWF0ZSBzY29yZXMgKi8KKwkJCWlmIChjYy0+c2NvcmVzW1VMX0NPTE9SRklMRV9ESVNBQkxFXSA+CisJCQkgICAgY2MtPnNjb3Jlc1tVTF9DT0xPUkZJTEVfRU5BQkxFXSkKKwkJCQljYy0+bW9kZSA9IFVMX0NPTE9STU9ERV9ORVZFUjsKKwkJCWVsc2UKKwkJCQljYy0+bW9kZSA9IFVMX0NPTE9STU9ERV9ERUZBVUxUOworCisJCQlhdGV4aXQoY29sb3JzX2RlaW5pdCk7CisJCX0KKwl9CisKKwlzd2l0Y2ggKGNjLT5tb2RlKSB7CisJY2FzZSBVTF9DT0xPUk1PREVfQVVUTzoKKwkJY2MtPmhhc19jb2xvcnMgPSByZWFkeSA9PSAtMSA/IGNvbG9yc190ZXJtaW5hbF9pc19yZWFkeSgpIDogcmVhZHk7CisJCWJyZWFrOworCWNhc2UgVUxfQ09MT1JNT0RFX0FMV0FZUzoKKwkJY2MtPmhhc19jb2xvcnMgPSAxOworCQlicmVhazsKKwljYXNlIFVMX0NPTE9STU9ERV9ORVZFUjoKKwlkZWZhdWx0OgorCQljYy0+aGFzX2NvbG9ycyA9IDA7CisJfQorCisJT05fREJHKENPTkYsIGNvbG9yc19kZWJ1ZyhjYykpOworCisJcmV0dXJuIGNjLT5oYXNfY29sb3JzOworfQorCisvKgorICogVGVtcG9yYXJ5IGRpc2FibGUgY29sb3JzICh0aGlzIHNldHRpbmcgaXMgaW5kZXBlbmRlbnQgb24gdGVybWluYWwtY29sb3JzLmQvKQorICovCit2b2lkIGNvbG9yc19vZmYodm9pZCkKK3sKKwl1bF9jb2xvcnMuZGlzYWJsZWQgPSAxOworfQorCisvKgorICogRW5hYmxlIGNvbG9ycworICovCit2b2lkIGNvbG9yc19vbih2b2lkKQoreworCXVsX2NvbG9ycy5kaXNhYmxlZCA9IDA7Cit9CisKKy8qCisgKiBJcyB0ZXJtaW5hbC1jb2xvcnMuZC8gY29uZmlndXJlZCB0byB1c2UgY29sb3JzPworICovCitpbnQgY29sb3JzX3dhbnRlZCh2b2lkKQoreworCXJldHVybiB1bF9jb2xvcnMuaGFzX2NvbG9yczsKK30KKworLyoKKyAqIEVuYWJsZSBAc2VxIGNvbG9yCisgKi8KK3ZvaWQgY29sb3JfZmVuYWJsZShjb25zdCBjaGFyICpzZXEsIEZJTEUgKmYpCit7CisJaWYgKCF1bF9jb2xvcnMuZGlzYWJsZWQgJiYgdWxfY29sb3JzLmhhc19jb2xvcnMgJiYgc2VxKQorCQlmcHV0cyhzZXEsIGYpOworfQorCisvKgorICogUmV0dXJucyBlc2NhcGUgc2VxdWVuY2UgYnkgbG9naWNhbCBAbmFtZSwgaWYgdW5kZWZpbmVkIHRoZW4gcmV0dXJucyBAZGZsdC4KKyAqLworY29uc3QgY2hhciAqY29sb3Jfc2NoZW1lX2dldF9zZXF1ZW5jZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpkZmx0KQoreworCXN0cnVjdCB1bF9jb2xvcl9zY2hlbWUgKmNzOworCisJaWYgKHVsX2NvbG9ycy5kaXNhYmxlZCB8fCAhdWxfY29sb3JzLmhhc19jb2xvcnMpCisJCXJldHVybiBOVUxMOworCisJY3MgPSBjb2xvcnNfZ2V0X3NjaGVtZSgmdWxfY29sb3JzLCBuYW1lKTsKKwlyZXR1cm4gY3MgJiYgY3MtPnNlcSA/IGNzLT5zZXEgOiBkZmx0OworfQorCisvKgorICogRW5hYmxlIGNvbG9yIGJ5IGxvZ2ljYWwgQG5hbWUsIGlmIHVuZGVmaW5lZCBlbmFibGUgQGRmbHQuCisgKi8KK3ZvaWQgY29sb3Jfc2NoZW1lX2ZlbmFibGUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGZsdCwgRklMRSAqZikKK3sKKwljb25zdCBjaGFyICpzZXEgPSBjb2xvcl9zY2hlbWVfZ2V0X3NlcXVlbmNlKG5hbWUsIGRmbHQpOworCisJaWYgKCFzZXEpCisJCXJldHVybjsKKwljb2xvcl9mZW5hYmxlKHNlcSwgZik7Cit9CisKKworLyoKKyAqIERpc2FibGUgcHJldmlvdXNseSBlbmFibGVkIGNvbG9yCisgKi8KK3ZvaWQgY29sb3JfZmRpc2FibGUoRklMRSAqZikKK3sKKwlpZiAoIXVsX2NvbG9ycy5kaXNhYmxlZCAmJiB1bF9jb2xvcnMuaGFzX2NvbG9ycykKKwkJZnB1dHMoVUxfQ09MT1JfUkVTRVQsIGYpOworfQorCisvKgorICogUGFyc2VzIEBzdHIgdG8gcmV0dXJuIFVMX0NPTE9STU9ERV8qCisgKi8KK2ludCBjb2xvcm1vZGVfZnJvbV9zdHJpbmcoY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCXN0YXRpYyBjb25zdCBjaGFyICptb2Rlc1tdID0geworCQlbVUxfQ09MT1JNT0RFX0FVVE9dICAgPSAiYXV0byIsCisJCVtVTF9DT0xPUk1PREVfTkVWRVJdICA9ICJuZXZlciIsCisJCVtVTF9DT0xPUk1PREVfQUxXQVlTXSA9ICJhbHdheXMiLAorCQlbVUxfQ09MT1JNT0RFX1VOREVGXSA9ICIiCisJfTsKKworCWlmICghc3RyIHx8ICEqc3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWFzc2VydChBUlJBWV9TSVpFKG1vZGVzKSA9PSBfX1VMX05DT0xPUk1PREVTKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG1vZGVzKTsgaSsrKSB7CisJCWlmIChzdHJjYXNlY21wKHN0ciwgbW9kZXNbaV0pID09IDApCisJCQlyZXR1cm4gaTsKKwl9CisKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworLyoKKyAqIFBhcnNlcyBAc3RyIGFuZCBleGl0KEVYSVRfRkFJTFVSRSkgb24gZXJyb3IKKyAqLworaW50IGNvbG9ybW9kZV9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtc2cpCit7CisJY29uc3QgY2hhciAqcCA9IHN0ciAmJiAqc3RyID09ICc9JyA/IHN0ciArIDEgOiBzdHI7CisJaW50IGNvbG9ybW9kZTsKKworCWNvbG9ybW9kZSA9IGNvbG9ybW9kZV9mcm9tX3N0cmluZyhwKTsKKwlpZiAoY29sb3Jtb2RlIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJyVzJyIsIGVycm1zZywgcCk7CisKKwlyZXR1cm4gY29sb3Jtb2RlOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNX0NPTE9SUworIyBpbmNsdWRlIDxnZXRvcHQuaD4KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAibW9kZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbScgfSwKKwkJeyAiY29sb3IiLAlyZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2MnIH0sCisJCXsgImNvbG9yLXNjaGVtZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnQycgfSwKKwkJeyAibmFtZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCWludCBjLCBtb2RlID0gVUxfQ09MT1JNT0RFX1VOREVGOwkvKiBkZWZhdWx0ICovCisJY29uc3QgY2hhciAqY29sb3IgPSAicmVkIiwgKm5hbWUgPSBOVUxMLCAqY29sb3Jfc2NoZW1lID0gTlVMTDsKKwljb25zdCBjaGFyICpzZXEgPSBOVUxMOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIkM6YzptOm46IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYyc6CisJCQljb2xvciA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdDJzoKKwkJCWNvbG9yX3NjaGVtZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCW1vZGUgPSBjb2xvcm1vZGVfb3JfZXJyKG9wdGFyZywgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiKTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW5hbWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorCQkJIiAtbSwgLS1tb2RlIDxhdXRvfG5ldmVyfGFsd2F5cz4gIGRlZmF1bHQgaXMgdW5kZWZpbmVkXG4iCisJCQkiIC1jLCAtLWNvbG9yIDxyZWR8Ymx1ZXwuLi4+ICAgICAgY29sb3IgZm9yIHRoZSB0ZXN0IG1lc3NhZ2VcbiIKKwkJCSIgLUMsIC0tY29sb3Itc2NoZW1lIDxuYW1lPiAgICAgICBjb2xvciBmb3IgdGhlIHRlc3QgbWVzc2FnZVxuIgorCQkJIiAtbiwgLS1uYW1lIDx1dGlsbmFtZT4gICAgICAgICAgIHV0aWwgbmFtZVxuIiwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCX0KKwl9CisKKwljb2xvcnNfaW5pdChtb2RlLCBuYW1lID8gbmFtZSA6IHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCXNlcSA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGNvbG9yKTsKKworCWlmIChjb2xvcl9zY2hlbWUpCisJCWNvbG9yX3NjaGVtZV9lbmFibGUoY29sb3Jfc2NoZW1lLCBzZXEpOworCWVsc2UKKwkJY29sb3JfZW5hYmxlKHNlcSk7CisJcHJpbnRmKCJIZWxsbyBXb3JsZCEiKTsKKwljb2xvcl9kaXNhYmxlKCk7CisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisjZW5kaWYgLyogVEVTVF9QUk9HUkFNX0NPTE9SUyAqLworCmRpZmYgLS1naXQgYS9saWIvY3B1c2V0LmMgYi9saWIvY3B1c2V0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDExYjY4OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9jcHVzZXQuYwpAQCAtMCwwICsxLDM5NyBAQAorLyoKKyAqIFRlcm1pbm9sb2d5OgorICoKKyAqCWNwdXNldAktIChsaWJjKSBjcHVfc2V0X3QgZGF0YSBzdHJ1Y3R1cmUgcmVwcmVzZW50cyBzZXQgb2YgQ1BVcworICoJY3B1bWFzawktIHN0cmluZyB3aXRoIGhleCBtYXNrIChlLmcuICIweDAwMDAwMDAxIikKKyAqCWNwdWxpc3QgLSBzdHJpbmcgd2l0aCBDUFUgcmFuZ2VzIChlLmcuICIwLTMsNSw3LDgiKQorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJvbSB0YXNrc2V0LmMgYW5kIExpbnV4IGtlcm5lbC4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzY2hlZC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorCisjaW5jbHVkZSAiY3B1c2V0LmgiCisjaW5jbHVkZSAiYy5oIgorCitzdGF0aWMgaW5saW5lIGludCB2YWxfdG9fY2hhcihpbnQgdikKK3sKKwlpZiAodiA+PSAwICYmIHYgPCAxMCkKKwkJcmV0dXJuICcwJyArIHY7CisJaWYgKHYgPj0gMTAgJiYgdiA8IDE2KQorCQlyZXR1cm4gKCdhJyAtIDEwKSArIHY7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW5saW5lIGludCBjaGFyX3RvX3ZhbChpbnQgYykKK3sKKwlpbnQgY2w7CisKKwlpZiAoYyA+PSAnMCcgJiYgYyA8PSAnOScpCisJCXJldHVybiBjIC0gJzAnOworCWNsID0gdG9sb3dlcihjKTsKKwlpZiAoY2wgPj0gJ2EnICYmIGNsIDw9ICdmJykKKwkJcmV0dXJuIGNsICsgKDEwIC0gJ2EnKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpuZXh0dG9rZW4oY29uc3QgY2hhciAqcSwgIGludCBzZXApCit7CisJaWYgKHEpCisJCXEgPSBzdHJjaHIocSwgc2VwKTsKKwlpZiAocSkKKwkJcSsrOworCXJldHVybiBxOworfQorCisvKgorICogTnVtYmVyIG9mIGJpdHMgaW4gYSBDUFUgYml0bWFzayBvbiBjdXJyZW50IHN5c3RlbQorICovCitpbnQgZ2V0X21heF9udW1iZXJfb2ZfY3B1cyh2b2lkKQoreworI2lmZGVmIFNZU19zY2hlZF9nZXRhZmZpbml0eQorCWludCBuLCBjcHVzID0gMjA0ODsKKwlzaXplX3Qgc2V0c2l6ZTsKKwljcHVfc2V0X3QgKnNldCA9IGNwdXNldF9hbGxvYyhjcHVzLCAmc2V0c2l6ZSwgTlVMTCk7CisKKwlpZiAoIXNldCkKKwkJcmV0dXJuIC0xOwkvKiBlcnJvciAqLworCisJZm9yICg7OykgeworCQlDUFVfWkVST19TKHNldHNpemUsIHNldCk7CisKKwkJLyogdGhlIGxpYnJhcnkgdmVyc2lvbiBkb2VzIG5vdCByZXR1cm4gc2l6ZSBvZiBjcHVtYXNrX3QgKi8KKwkJbiA9IHN5c2NhbGwoU1lTX3NjaGVkX2dldGFmZmluaXR5LCAwLCBzZXRzaXplLCBzZXQpOworCisJCWlmIChuIDwgMCAmJiBlcnJubyA9PSBFSU5WQUwgJiYgY3B1cyA8IDEwMjQgKiAxMDI0KSB7CisJCQljcHVzZXRfZnJlZShzZXQpOworCQkJY3B1cyAqPSAyOworCQkJc2V0ID0gY3B1c2V0X2FsbG9jKGNwdXMsICZzZXRzaXplLCBOVUxMKTsKKwkJCWlmICghc2V0KQorCQkJCXJldHVybiAtMTsJLyogZXJyb3IgKi8KKwkJCWNvbnRpbnVlOworCQl9CisJCWNwdXNldF9mcmVlKHNldCk7CisJCXJldHVybiBuICogODsKKwl9CisjZW5kaWYKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBBbGxvY2F0ZXMgYSBuZXcgc2V0IGZvciBuY3B1cyBhbmQgcmV0dXJucyBzaXplIGluIGJ5dGVzIGFuZCBzaXplIGluIGJpdHMKKyAqLworY3B1X3NldF90ICpjcHVzZXRfYWxsb2MoaW50IG5jcHVzLCBzaXplX3QgKnNldHNpemUsIHNpemVfdCAqbmJpdHMpCit7CisJY3B1X3NldF90ICpzZXQgPSBDUFVfQUxMT0MobmNwdXMpOworCisJaWYgKCFzZXQpCisJCXJldHVybiBOVUxMOworCWlmIChzZXRzaXplKQorCQkqc2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG5jcHVzKTsKKwlpZiAobmJpdHMpCisJCSpuYml0cyA9IGNwdXNldF9uYml0cyhDUFVfQUxMT0NfU0laRShuY3B1cykpOworCXJldHVybiBzZXQ7Cit9CisKK3ZvaWQgY3B1c2V0X2ZyZWUoY3B1X3NldF90ICpzZXQpCit7CisJQ1BVX0ZSRUUoc2V0KTsKK30KKworI2lmICFIQVZFX0RFQ0xfQ1BVX0FMTE9DCisvKiBQbGVhc2UsIHVzZSBDUFVfQ09VTlRfUygpIG1hY3JvLiBUaGlzIGlzIGZhbGxiYWNrICovCitpbnQgX19jcHVzZXRfY291bnRfcyhzaXplX3Qgc2V0c2l6ZSwgY29uc3QgY3B1X3NldF90ICpzZXQpCit7CisJaW50IHMgPSAwOworCWNvbnN0IF9fY3B1X21hc2sgKnAgPSBzZXQtPl9fYml0czsKKwljb25zdCBfX2NwdV9tYXNrICplbmQgPSAmc2V0LT5fX2JpdHNbc2V0c2l6ZSAvIHNpemVvZiAoX19jcHVfbWFzayldOworCisJd2hpbGUgKHAgPCBlbmQpIHsKKwkJX19jcHVfbWFzayBsID0gKnArKzsKKworCQlpZiAobCA9PSAwKQorCQkJY29udGludWU7CisjIGlmIExPTkdfQklUID4gMzIKKwkJbCA9IChsICYgMHg1NTU1NTU1NTU1NTU1NTU1dWwpICsgKChsID4+IDEpICYgMHg1NTU1NTU1NTU1NTU1NTU1dWwpOworCQlsID0gKGwgJiAweDMzMzMzMzMzMzMzMzMzMzN1bCkgKyAoKGwgPj4gMikgJiAweDMzMzMzMzMzMzMzMzMzMzN1bCk7CisJCWwgPSAobCAmIDB4MGYwZjBmMGYwZjBmMGYwZnVsKSArICgobCA+PiA0KSAmIDB4MGYwZjBmMGYwZjBmMGYwZnVsKTsKKwkJbCA9IChsICYgMHgwMGZmMDBmZjAwZmYwMGZmdWwpICsgKChsID4+IDgpICYgMHgwMGZmMDBmZjAwZmYwMGZmdWwpOworCQlsID0gKGwgJiAweDAwMDBmZmZmMDAwMGZmZmZ1bCkgKyAoKGwgPj4gMTYpICYgMHgwMDAwZmZmZjAwMDBmZmZmdWwpOworCQlsID0gKGwgJiAweDAwMDAwMDAwZmZmZmZmZmZ1bCkgKyAoKGwgPj4gMzIpICYgMHgwMDAwMDAwMGZmZmZmZmZmdWwpOworIyBlbHNlCisJCWwgPSAobCAmIDB4NTU1NTU1NTV1bCkgKyAoKGwgPj4gMSkgJiAweDU1NTU1NTU1dWwpOworCQlsID0gKGwgJiAweDMzMzMzMzMzdWwpICsgKChsID4+IDIpICYgMHgzMzMzMzMzM3VsKTsKKwkJbCA9IChsICYgMHgwZjBmMGYwZnVsKSArICgobCA+PiA0KSAmIDB4MGYwZjBmMGZ1bCk7CisJCWwgPSAobCAmIDB4MDBmZjAwZmZ1bCkgKyAoKGwgPj4gOCkgJiAweDAwZmYwMGZmdWwpOworCQlsID0gKGwgJiAweDAwMDBmZmZmdWwpICsgKChsID4+IDE2KSAmIDB4MDAwMGZmZmZ1bCk7CisjIGVuZGlmCisJCXMgKz0gbDsKKwl9CisJcmV0dXJuIHM7Cit9CisjZW5kaWYKKworLyoKKyAqIFJldHVybnMgaHVtYW4gcmVhZGFibGUgcmVwcmVzZW50YXRpb24gb2YgdGhlIGNwdXNldC4gVGhlIG91dHB1dCBmb3JtYXQgaXMKKyAqIGEgbGlzdCBvZiBDUFVzIHdpdGggcmFuZ2VzIChmb3IgZXhhbXBsZSwgIjAsMSwzLTkiKS4KKyAqLworY2hhciAqY3B1bGlzdF9jcmVhdGUoY2hhciAqc3RyLCBzaXplX3QgbGVuLAorCQkJY3B1X3NldF90ICpzZXQsIHNpemVfdCBzZXRzaXplKQoreworCXNpemVfdCBpOworCWNoYXIgKnB0ciA9IHN0cjsKKwlpbnQgZW50cnlfbWFkZSA9IDA7CisJc2l6ZV90IG1heCA9IGNwdXNldF9uYml0cyhzZXRzaXplKTsKKworCWZvciAoaSA9IDA7IGkgPCBtYXg7IGkrKykgeworCQlpZiAoQ1BVX0lTU0VUX1MoaSwgc2V0c2l6ZSwgc2V0KSkgeworCQkJaW50IHJsZW47CisJCQlzaXplX3QgaiwgcnVuID0gMDsKKwkJCWVudHJ5X21hZGUgPSAxOworCQkJZm9yIChqID0gaSArIDE7IGogPCBtYXg7IGorKykgeworCQkJCWlmIChDUFVfSVNTRVRfUyhqLCBzZXRzaXplLCBzZXQpKQorCQkJCQlydW4rKzsKKwkJCQllbHNlCisJCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKCFydW4pCisJCQkJcmxlbiA9IHNucHJpbnRmKHB0ciwgbGVuLCAiJXp1LCIsIGkpOworCQkJZWxzZSBpZiAocnVuID09IDEpIHsKKwkJCQlybGVuID0gc25wcmludGYocHRyLCBsZW4sICIlenUsJXp1LCIsIGksIGkgKyAxKTsKKwkJCQlpKys7CisJCQl9IGVsc2UgeworCQkJCXJsZW4gPSBzbnByaW50ZihwdHIsIGxlbiwgIiV6dS0lenUsIiwgaSwgaSArIHJ1bik7CisJCQkJaSArPSBydW47CisJCQl9CisJCQlpZiAocmxlbiA8IDAgfHwgKHNpemVfdCkgcmxlbiA+PSBsZW4pCisJCQkJcmV0dXJuIE5VTEw7CisJCQlwdHIgKz0gcmxlbjsKKwkJCWxlbiAtPSBybGVuOworCQl9CisJfQorCXB0ciAtPSBlbnRyeV9tYWRlOworCSpwdHIgPSAnXDAnOworCisJcmV0dXJuIHN0cjsKK30KKworLyoKKyAqIFJldHVybnMgc3RyaW5nIHdpdGggQ1BVIG1hc2suCisgKi8KK2NoYXIgKmNwdW1hc2tfY3JlYXRlKGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwKKwkJCWNwdV9zZXRfdCAqc2V0LCBzaXplX3Qgc2V0c2l6ZSkKK3sKKwljaGFyICpwdHIgPSBzdHI7CisJY2hhciAqcmV0ID0gTlVMTDsKKwlpbnQgY3B1OworCisJZm9yIChjcHUgPSBjcHVzZXRfbmJpdHMoc2V0c2l6ZSkgLSA0OyBjcHUgPj0gMDsgY3B1IC09IDQpIHsKKwkJY2hhciB2YWwgPSAwOworCisJCWlmIChsZW4gPT0gKHNpemVfdCkgKHB0ciAtIHN0cikpCisJCQlicmVhazsKKworCQlpZiAoQ1BVX0lTU0VUX1MoY3B1LCBzZXRzaXplLCBzZXQpKQorCQkJdmFsIHw9IDE7CisJCWlmIChDUFVfSVNTRVRfUyhjcHUgKyAxLCBzZXRzaXplLCBzZXQpKQorCQkJdmFsIHw9IDI7CisJCWlmIChDUFVfSVNTRVRfUyhjcHUgKyAyLCBzZXRzaXplLCBzZXQpKQorCQkJdmFsIHw9IDQ7CisJCWlmIChDUFVfSVNTRVRfUyhjcHUgKyAzLCBzZXRzaXplLCBzZXQpKQorCQkJdmFsIHw9IDg7CisKKwkJaWYgKCFyZXQgJiYgdmFsKQorCQkJcmV0ID0gcHRyOworCQkqcHRyKysgPSB2YWxfdG9fY2hhcih2YWwpOworCX0KKwkqcHRyID0gJ1wwJzsKKwlyZXR1cm4gcmV0ID8gcmV0IDogcHRyIC0gMTsKK30KKworLyoKKyAqIFBhcnNlcyBzdHJpbmcgd2l0aCBDUFVzIG1hc2suCisgKi8KK2ludCBjcHVtYXNrX3BhcnNlKGNvbnN0IGNoYXIgKnN0ciwgY3B1X3NldF90ICpzZXQsIHNpemVfdCBzZXRzaXplKQoreworCWludCBsZW4gPSBzdHJsZW4oc3RyKTsKKwljb25zdCBjaGFyICpwdHIgPSBzdHIgKyBsZW4gLSAxOworCWludCBjcHUgPSAwOworCisJLyogc2tpcCAweCwgaXQncyBhbGwgaGV4IGFueXdheSAqLworCWlmIChsZW4gPiAxICYmICFtZW1jbXAoc3RyLCAiMHgiLCAyTCkpCisJCXN0ciArPSAyOworCisJQ1BVX1pFUk9fUyhzZXRzaXplLCBzZXQpOworCisJd2hpbGUgKHB0ciA+PSBzdHIpIHsKKwkJY2hhciB2YWw7CisKKwkJLyogY3B1IG1hc2tzIGluIC9zeXMgdXNlcyBjb21tYSBhcyBhIHNlcGFyYXRvciAqLworCQlpZiAoKnB0ciA9PSAnLCcpCisJCQlwdHItLTsKKworCQl2YWwgPSBjaGFyX3RvX3ZhbCgqcHRyKTsKKwkJaWYgKHZhbCA9PSAoY2hhcikgLTEpCisJCQlyZXR1cm4gLTE7CisJCWlmICh2YWwgJiAxKQorCQkJQ1BVX1NFVF9TKGNwdSwgc2V0c2l6ZSwgc2V0KTsKKwkJaWYgKHZhbCAmIDIpCisJCQlDUFVfU0VUX1MoY3B1ICsgMSwgc2V0c2l6ZSwgc2V0KTsKKwkJaWYgKHZhbCAmIDQpCisJCQlDUFVfU0VUX1MoY3B1ICsgMiwgc2V0c2l6ZSwgc2V0KTsKKwkJaWYgKHZhbCAmIDgpCisJCQlDUFVfU0VUX1MoY3B1ICsgMywgc2V0c2l6ZSwgc2V0KTsKKwkJcHRyLS07CisJCWNwdSArPSA0OworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogUGFyc2VzIHN0cmluZyB3aXRoIGxpc3Qgb2YgQ1BVIHJhbmdlcy4KKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLgorICogUmV0dXJucyAxIG9uIGVycm9yLgorICogUmV0dXJucyAyIGlmIGZhaWwgaXMgc2V0IGFuZCBhIGNwdSBudW1iZXIgcGFzc2VkIGluIHRoZSBsaXN0IGRvZXNuJ3QgZml0CisgKiBpbnRvIHRoZSBjcHVfc2V0LiBJZiBmYWlsIGlzIG5vdCBzZXQgY3B1IG51bWJlcnMgdGhhdCBkbyBub3QgZml0IGFyZQorICogaWdub3JlZCBhbmQgMCBpcyByZXR1cm5lZCBpbnN0ZWFkLgorICovCitpbnQgY3B1bGlzdF9wYXJzZShjb25zdCBjaGFyICpzdHIsIGNwdV9zZXRfdCAqc2V0LCBzaXplX3Qgc2V0c2l6ZSwgaW50IGZhaWwpCit7CisJc2l6ZV90IG1heCA9IGNwdXNldF9uYml0cyhzZXRzaXplKTsKKwljb25zdCBjaGFyICpwLCAqcTsKKwlpbnQgciA9IDA7CisKKwlxID0gc3RyOworCUNQVV9aRVJPX1Moc2V0c2l6ZSwgc2V0KTsKKworCXdoaWxlIChwID0gcSwgcSA9IG5leHR0b2tlbihxLCAnLCcpLCBwKSB7CisJCXVuc2lnbmVkIGludCBhOwkvKiBiZWdpbm5pbmcgb2YgcmFuZ2UgKi8KKwkJdW5zaWduZWQgaW50IGI7CS8qIGVuZCBvZiByYW5nZSAqLworCQl1bnNpZ25lZCBpbnQgczsJLyogc3RyaWRlICovCisJCWNvbnN0IGNoYXIgKmMxLCAqYzI7CisJCWNoYXIgYzsKKworCQlpZiAoKHIgPSBzc2NhbmYocCwgIiV1JWMiLCAmYSwgJmMpKSA8IDEpCisJCQlyZXR1cm4gMTsKKwkJYiA9IGE7CisJCXMgPSAxOworCisJCWMxID0gbmV4dHRva2VuKHAsICctJyk7CisJCWMyID0gbmV4dHRva2VuKHAsICcsJyk7CisJCWlmIChjMSAhPSBOVUxMICYmIChjMiA9PSBOVUxMIHx8IGMxIDwgYzIpKSB7CisJCQlpZiAoKHIgPSBzc2NhbmYoYzEsICIldSVjIiwgJmIsICZjKSkgPCAxKQorCQkJCXJldHVybiAxOworCQkJYzEgPSBuZXh0dG9rZW4oYzEsICc6Jyk7CisJCQlpZiAoYzEgIT0gTlVMTCAmJiAoYzIgPT0gTlVMTCB8fCBjMSA8IGMyKSkgeworCQkJCWlmICgociA9IHNzY2FuZihjMSwgIiV1JWMiLCAmcywgJmMpKSA8IDEpCisJCQkJCXJldHVybiAxOworCQkJCWlmIChzID09IDApCisJCQkJCXJldHVybiAxOworCQkJfQorCQl9CisKKwkJaWYgKCEoYSA8PSBiKSkKKwkJCXJldHVybiAxOworCQl3aGlsZSAoYSA8PSBiKSB7CisJCQlpZiAoZmFpbCAmJiAoYSA+PSBtYXgpKQorCQkJCXJldHVybiAyOworCQkJQ1BVX1NFVF9TKGEsIHNldHNpemUsIHNldCk7CisJCQlhICs9IHM7CisJCX0KKwl9CisKKwlpZiAociA9PSAyKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTV9DUFVTRVQKKworI2luY2x1ZGUgPGdldG9wdC5oPgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNwdV9zZXRfdCAqc2V0OworCXNpemVfdCBzZXRzaXplLCBidWZsZW4sIG5iaXRzOworCWNoYXIgKmJ1ZiwgKm1hc2sgPSBOVUxMLCAqcmFuZ2UgPSBOVUxMOworCWludCBuY3B1cyA9IDIwNDgsIHJjLCBjOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkgICAgeyAibmNwdXMiLCAxLCBOVUxMLCAnbicgfSwKKwkgICAgeyAibWFzayIsICAxLCBOVUxMLCAnbScgfSwKKwkgICAgeyAicmFuZ2UiLCAxLCBOVUxMLCAncicgfSwKKwkgICAgeyBOVUxMLCAgICAwLCBOVUxMLCAwIH0KKwl9OworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIm46bTpyOiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnbic6CisJCQluY3B1cyA9IGF0b2kob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCW1hc2sgPSBzdHJkdXAob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCXJhbmdlID0gc3RyZHVwKG9wdGFyZyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWdvdG8gdXNhZ2VfZXJyOworCQl9CisJfQorCisJaWYgKCFtYXNrICYmICFyYW5nZSkKKwkJZ290byB1c2FnZV9lcnI7CisKKwlzZXQgPSBjcHVzZXRfYWxsb2MobmNwdXMsICZzZXRzaXplLCAmbmJpdHMpOworCWlmICghc2V0KQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGFsbG9jYXRlIGNwdSBzZXQiKTsKKworCS8qCisJZnByaW50ZihzdGRlcnIsICJuY3B1czogJWQsIGNwdXNldCBiaXRzOiAlemQsIGNwdXNldCBieXRlczogJXpkXG4iLAorCQkJbmNwdXMsIG5iaXRzLCBzZXRzaXplKTsKKwkqLworCisJYnVmbGVuID0gNyAqIG5iaXRzOworCWJ1ZiA9IG1hbGxvYyhidWZsZW4pOworCWlmICghYnVmKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGFsbG9jYXRlIGNwdSBzZXQgYnVmZmVyIik7CisKKwlpZiAobWFzaykKKwkJcmMgPSBjcHVtYXNrX3BhcnNlKG1hc2ssIHNldCwgc2V0c2l6ZSk7CisJZWxzZQorCQlyYyA9IGNwdWxpc3RfcGFyc2UocmFuZ2UsIHNldCwgc2V0c2l6ZSwgMCk7CisKKwlpZiAocmMpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIHBhcnNlIHN0cmluZzogJXMiLCBtYXNrID8gOiByYW5nZSk7CisKKwlwcmludGYoIiUtMTVzID0gJTE1cyAiLCBtYXNrID8gOiByYW5nZSwKKwkJCQljcHVtYXNrX2NyZWF0ZShidWYsIGJ1Zmxlbiwgc2V0LCBzZXRzaXplKSk7CisJcHJpbnRmKCJbJXNdXG4iLCBjcHVsaXN0X2NyZWF0ZShidWYsIGJ1Zmxlbiwgc2V0LCBzZXRzaXplKSk7CisKKwlmcmVlKGJ1Zik7CisJZnJlZShtYXNrKTsKKwlmcmVlKHJhbmdlKTsKKwljcHVzZXRfZnJlZShzZXQpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwordXNhZ2VfZXJyOgorCWZwcmludGYoc3RkZXJyLAorCQkidXNhZ2U6ICVzIFstLW5jcHVzIDxudW0+XSAtLW1hc2sgPG1hc2s+IHwgLS1yYW5nZSA8bGlzdD4iLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZXhpdChFWElUX0ZBSUxVUkUpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvY3JjMzIuYyBiL2xpYi9jcmMzMi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyNDY5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvY3JjMzIuYwpAQCAtMCwwICsxLDE0MiBAQAorLyoKKyAqICBDT1BZUklHSFQgKEMpIDE5ODYgR2FyeSBTLiBCcm93bi4gIFlvdSBtYXkgdXNlIHRoaXMgcHJvZ3JhbSwgb3IKKyAqICBjb2RlIG9yIHRhYmxlcyBleHRyYWN0ZWQgZnJvbSBpdCwgYXMgZGVzaXJlZCB3aXRob3V0IHJlc3RyaWN0aW9uLgorICoKKyAqICBGaXJzdCwgdGhlIHBvbHlub21pYWwgaXRzZWxmIGFuZCBpdHMgdGFibGUgb2YgZmVlZGJhY2sgdGVybXMuICBUaGUKKyAqICBwb2x5bm9taWFsIGlzCisgKiAgWF4zMitYXjI2K1heMjMrWF4yMitYXjE2K1heMTIrWF4xMStYXjEwK1heOCtYXjcrWF41K1heNCtYXjIrWF4xK1heMAorICoKKyAqICBOb3RlIHRoYXQgd2UgdGFrZSBpdCAiYmFja3dhcmRzIiBhbmQgcHV0IHRoZSBoaWdoZXN0LW9yZGVyIHRlcm0gaW4KKyAqICB0aGUgbG93ZXN0LW9yZGVyIGJpdC4gIFRoZSBYXjMyIHRlcm0gaXMgImltcGxpZWQiOyB0aGUgTFNCIGlzIHRoZQorICogIFheMzEgdGVybSwgZXRjLiAgVGhlIFheMCB0ZXJtICh1c3VhbGx5IHNob3duIGFzICIrMSIpIHJlc3VsdHMgaW4KKyAqICB0aGUgTVNCIGJlaW5nIDEuCisgKgorICogIE5vdGUgdGhhdCB0aGUgdXN1YWwgaGFyZHdhcmUgc2hpZnQgcmVnaXN0ZXIgaW1wbGVtZW50YXRpb24sIHdoaWNoCisgKiAgaXMgd2hhdCB3ZSdyZSB1c2luZyAod2UncmUgbWVyZWx5IG9wdGltaXppbmcgaXQgYnkgZG9pbmcgZWlnaHQtYml0CisgKiAgY2h1bmtzIGF0IGEgdGltZSkgc2hpZnRzIGJpdHMgaW50byB0aGUgbG93ZXN0LW9yZGVyIHRlcm0uICBJbiBvdXIKKyAqICBpbXBsZW1lbnRhdGlvbiwgdGhhdCBtZWFucyBzaGlmdGluZyB0b3dhcmRzIHRoZSByaWdodC4gIFdoeSBkbyB3ZQorICogIGRvIGl0IHRoaXMgd2F5PyAgQmVjYXVzZSB0aGUgY2FsY3VsYXRlZCBDUkMgbXVzdCBiZSB0cmFuc21pdHRlZCBpbgorICogIG9yZGVyIGZyb20gaGlnaGVzdC1vcmRlciB0ZXJtIHRvIGxvd2VzdC1vcmRlciB0ZXJtLiAgVUFSVHMgdHJhbnNtaXQKKyAqICBjaGFyYWN0ZXJzIGluIG9yZGVyIGZyb20gTFNCIHRvIE1TQi4gIEJ5IHN0b3JpbmcgdGhlIENSQyB0aGlzIHdheSwKKyAqICB3ZSBoYW5kIGl0IHRvIHRoZSBVQVJUIGluIHRoZSBvcmRlciBsb3ctYnl0ZSB0byBoaWdoLWJ5dGU7IHRoZSBVQVJUCisgKiAgc2VuZHMgZWFjaCBsb3ctYml0IHRvIGhpZ2gtYml0OyBhbmQgdGhlIHJlc3VsdCBpcyB0cmFuc21pc3Npb24gYml0CisgKiAgYnkgYml0IGZyb20gaGlnaGVzdC0gdG8gbG93ZXN0LW9yZGVyIHRlcm0gd2l0aG91dCByZXF1aXJpbmcgYW55IGJpdAorICogIHNodWZmbGluZyBvbiBvdXIgcGFydC4gIFJlY2VwdGlvbiB3b3JrcyBzaW1pbGFybHkuCisgKgorICogIFRoZSBmZWVkYmFjayB0ZXJtcyB0YWJsZSBjb25zaXN0cyBvZiAyNTYsIDMyLWJpdCBlbnRyaWVzLiAgTm90ZXMKKyAqCisgKiAgICAgIFRoZSB0YWJsZSBjYW4gYmUgZ2VuZXJhdGVkIGF0IHJ1bnRpbWUgaWYgZGVzaXJlZDsgY29kZSB0byBkbyBzbworICogICAgICBpcyBzaG93biBsYXRlci4gIEl0IG1pZ2h0IG5vdCBiZSBvYnZpb3VzLCBidXQgdGhlIGZlZWRiYWNrCisgKiAgICAgIHRlcm1zIHNpbXBseSByZXByZXNlbnQgdGhlIHJlc3VsdHMgb2YgZWlnaHQgc2hpZnQveG9yIG9wZXJhLQorICogICAgICB0aW9ucyBmb3IgYWxsIGNvbWJpbmF0aW9ucyBvZiBkYXRhIGFuZCBDUkMgcmVnaXN0ZXIgdmFsdWVzLgorICoKKyAqICAgICAgVGhlIHZhbHVlcyBtdXN0IGJlIHJpZ2h0LXNoaWZ0ZWQgYnkgZWlnaHQgYml0cyBieSB0aGUgInVwZGNyYyIKKyAqICAgICAgbG9naWM7IHRoZSBzaGlmdCBtdXN0IGJlIHVuc2lnbmVkIChicmluZyBpbiB6ZXJvZXMpLiAgT24gc29tZQorICogICAgICBoYXJkd2FyZSB5b3UgY291bGQgcHJvYmFibHkgb3B0aW1pemUgdGhlIHNoaWZ0IGluIGFzc2VtYmxlciBieQorICogICAgICB1c2luZyBieXRlLXN3YXAgaW5zdHJ1Y3Rpb25zLgorICogICAgICBwb2x5bm9taWFsICRlZGI4ODMyMAorICoKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUgImNyYzMyLmgiCisKKworc3RhdGljIGNvbnN0IHVpbnQzMl90IGNyYzMyX3RhYltdID0geworCTB4MDAwMDAwMDBMLCAweDc3MDczMDk2TCwgMHhlZTBlNjEyY0wsIDB4OTkwOTUxYmFMLCAweDA3NmRjNDE5TCwKKwkweDcwNmFmNDhmTCwgMHhlOTYzYTUzNUwsIDB4OWU2NDk1YTNMLCAweDBlZGI4ODMyTCwgMHg3OWRjYjhhNEwsCisJMHhlMGQ1ZTkxZUwsIDB4OTdkMmQ5ODhMLCAweDA5YjY0YzJiTCwgMHg3ZWIxN2NiZEwsIDB4ZTdiODJkMDdMLAorCTB4OTBiZjFkOTFMLCAweDFkYjcxMDY0TCwgMHg2YWIwMjBmMkwsIDB4ZjNiOTcxNDhMLCAweDg0YmU0MWRlTCwKKwkweDFhZGFkNDdkTCwgMHg2ZGRkZTRlYkwsIDB4ZjRkNGI1NTFMLCAweDgzZDM4NWM3TCwgMHgxMzZjOTg1NkwsCisJMHg2NDZiYThjMEwsIDB4ZmQ2MmY5N2FMLCAweDhhNjVjOWVjTCwgMHgxNDAxNWM0ZkwsIDB4NjMwNjZjZDlMLAorCTB4ZmEwZjNkNjNMLCAweDhkMDgwZGY1TCwgMHgzYjZlMjBjOEwsIDB4NGM2OTEwNWVMLCAweGQ1NjA0MWU0TCwKKwkweGEyNjc3MTcyTCwgMHgzYzAzZTRkMUwsIDB4NGIwNGQ0NDdMLCAweGQyMGQ4NWZkTCwgMHhhNTBhYjU2YkwsCisJMHgzNWI1YThmYUwsIDB4NDJiMjk4NmNMLCAweGRiYmJjOWQ2TCwgMHhhY2JjZjk0MEwsIDB4MzJkODZjZTNMLAorCTB4NDVkZjVjNzVMLCAweGRjZDYwZGNmTCwgMHhhYmQxM2Q1OUwsIDB4MjZkOTMwYWNMLCAweDUxZGUwMDNhTCwKKwkweGM4ZDc1MTgwTCwgMHhiZmQwNjExNkwsIDB4MjFiNGY0YjVMLCAweDU2YjNjNDIzTCwgMHhjZmJhOTU5OUwsCisJMHhiOGJkYTUwZkwsIDB4MjgwMmI4OWVMLCAweDVmMDU4ODA4TCwgMHhjNjBjZDliMkwsIDB4YjEwYmU5MjRMLAorCTB4MmY2ZjdjODdMLCAweDU4Njg0YzExTCwgMHhjMTYxMWRhYkwsIDB4YjY2NjJkM2RMLCAweDc2ZGM0MTkwTCwKKwkweDAxZGI3MTA2TCwgMHg5OGQyMjBiY0wsIDB4ZWZkNTEwMmFMLCAweDcxYjE4NTg5TCwgMHgwNmI2YjUxZkwsCisJMHg5ZmJmZTRhNUwsIDB4ZThiOGQ0MzNMLCAweDc4MDdjOWEyTCwgMHgwZjAwZjkzNEwsIDB4OTYwOWE4OGVMLAorCTB4ZTEwZTk4MThMLCAweDdmNmEwZGJiTCwgMHgwODZkM2QyZEwsIDB4OTE2NDZjOTdMLCAweGU2NjM1YzAxTCwKKwkweDZiNmI1MWY0TCwgMHgxYzZjNjE2MkwsIDB4ODU2NTMwZDhMLCAweGYyNjIwMDRlTCwgMHg2YzA2OTVlZEwsCisJMHgxYjAxYTU3YkwsIDB4ODIwOGY0YzFMLCAweGY1MGZjNDU3TCwgMHg2NWIwZDljNkwsIDB4MTJiN2U5NTBMLAorCTB4OGJiZWI4ZWFMLCAweGZjYjk4ODdjTCwgMHg2MmRkMWRkZkwsIDB4MTVkYTJkNDlMLCAweDhjZDM3Y2YzTCwKKwkweGZiZDQ0YzY1TCwgMHg0ZGIyNjE1OEwsIDB4M2FiNTUxY2VMLCAweGEzYmMwMDc0TCwgMHhkNGJiMzBlMkwsCisJMHg0YWRmYTU0MUwsIDB4M2RkODk1ZDdMLCAweGE0ZDFjNDZkTCwgMHhkM2Q2ZjRmYkwsIDB4NDM2OWU5NmFMLAorCTB4MzQ2ZWQ5ZmNMLCAweGFkNjc4ODQ2TCwgMHhkYTYwYjhkMEwsIDB4NDQwNDJkNzNMLCAweDMzMDMxZGU1TCwKKwkweGFhMGE0YzVmTCwgMHhkZDBkN2NjOUwsIDB4NTAwNTcxM2NMLCAweDI3MDI0MWFhTCwgMHhiZTBiMTAxMEwsCisJMHhjOTBjMjA4NkwsIDB4NTc2OGI1MjVMLCAweDIwNmY4NWIzTCwgMHhiOTY2ZDQwOUwsIDB4Y2U2MWU0OWZMLAorCTB4NWVkZWY5MGVMLCAweDI5ZDljOTk4TCwgMHhiMGQwOTgyMkwsIDB4YzdkN2E4YjRMLCAweDU5YjMzZDE3TCwKKwkweDJlYjQwZDgxTCwgMHhiN2JkNWMzYkwsIDB4YzBiYTZjYWRMLCAweGVkYjg4MzIwTCwgMHg5YWJmYjNiNkwsCisJMHgwM2I2ZTIwY0wsIDB4NzRiMWQyOWFMLCAweGVhZDU0NzM5TCwgMHg5ZGQyNzdhZkwsIDB4MDRkYjI2MTVMLAorCTB4NzNkYzE2ODNMLCAweGUzNjMwYjEyTCwgMHg5NDY0M2I4NEwsIDB4MGQ2ZDZhM2VMLCAweDdhNmE1YWE4TCwKKwkweGU0MGVjZjBiTCwgMHg5MzA5ZmY5ZEwsIDB4MGEwMGFlMjdMLCAweDdkMDc5ZWIxTCwgMHhmMDBmOTM0NEwsCisJMHg4NzA4YTNkMkwsIDB4MWUwMWYyNjhMLCAweDY5MDZjMmZlTCwgMHhmNzYyNTc1ZEwsIDB4ODA2NTY3Y2JMLAorCTB4MTk2YzM2NzFMLCAweDZlNmIwNmU3TCwgMHhmZWQ0MWI3NkwsIDB4ODlkMzJiZTBMLCAweDEwZGE3YTVhTCwKKwkweDY3ZGQ0YWNjTCwgMHhmOWI5ZGY2ZkwsIDB4OGViZWVmZjlMLCAweDE3YjdiZTQzTCwgMHg2MGIwOGVkNUwsCisJMHhkNmQ2YTNlOEwsIDB4YTFkMTkzN2VMLCAweDM4ZDhjMmM0TCwgMHg0ZmRmZjI1MkwsIDB4ZDFiYjY3ZjFMLAorCTB4YTZiYzU3NjdMLCAweDNmYjUwNmRkTCwgMHg0OGIyMzY0YkwsIDB4ZDgwZDJiZGFMLCAweGFmMGExYjRjTCwKKwkweDM2MDM0YWY2TCwgMHg0MTA0N2E2MEwsIDB4ZGY2MGVmYzNMLCAweGE4NjdkZjU1TCwgMHgzMTZlOGVlZkwsCisJMHg0NjY5YmU3OUwsIDB4Y2I2MWIzOGNMLCAweGJjNjY4MzFhTCwgMHgyNTZmZDJhMEwsIDB4NTI2OGUyMzZMLAorCTB4Y2MwYzc3OTVMLCAweGJiMGI0NzAzTCwgMHgyMjAyMTZiOUwsIDB4NTUwNTI2MmZMLCAweGM1YmEzYmJlTCwKKwkweGIyYmQwYjI4TCwgMHgyYmI0NWE5MkwsIDB4NWNiMzZhMDRMLCAweGMyZDdmZmE3TCwgMHhiNWQwY2YzMUwsCisJMHgyY2Q5OWU4YkwsIDB4NWJkZWFlMWRMLCAweDliNjRjMmIwTCwgMHhlYzYzZjIyNkwsIDB4NzU2YWEzOWNMLAorCTB4MDI2ZDkzMGFMLCAweDljMDkwNmE5TCwgMHhlYjBlMzYzZkwsIDB4NzIwNzY3ODVMLCAweDA1MDA1NzEzTCwKKwkweDk1YmY0YTgyTCwgMHhlMmI4N2ExNEwsIDB4N2JiMTJiYWVMLCAweDBjYjYxYjM4TCwgMHg5MmQyOGU5YkwsCisJMHhlNWQ1YmUwZEwsIDB4N2NkY2VmYjdMLCAweDBiZGJkZjIxTCwgMHg4NmQzZDJkNEwsIDB4ZjFkNGUyNDJMLAorCTB4NjhkZGIzZjhMLCAweDFmZGE4MzZlTCwgMHg4MWJlMTZjZEwsIDB4ZjZiOTI2NWJMLCAweDZmYjA3N2UxTCwKKwkweDE4Yjc0Nzc3TCwgMHg4ODA4NWFlNkwsIDB4ZmYwZjZhNzBMLCAweDY2MDYzYmNhTCwgMHgxMTAxMGI1Y0wsCisJMHg4ZjY1OWVmZkwsIDB4Zjg2MmFlNjlMLCAweDYxNmJmZmQzTCwgMHgxNjZjY2Y0NUwsIDB4YTAwYWUyNzhMLAorCTB4ZDcwZGQyZWVMLCAweDRlMDQ4MzU0TCwgMHgzOTAzYjNjMkwsIDB4YTc2NzI2NjFMLCAweGQwNjAxNmY3TCwKKwkweDQ5Njk0NzRkTCwgMHgzZTZlNzdkYkwsIDB4YWVkMTZhNGFMLCAweGQ5ZDY1YWRjTCwgMHg0MGRmMGI2NkwsCisJMHgzN2Q4M2JmMEwsIDB4YTliY2FlNTNMLCAweGRlYmI5ZWM1TCwgMHg0N2IyY2Y3ZkwsIDB4MzBiNWZmZTlMLAorCTB4YmRiZGYyMWNMLCAweGNhYmFjMjhhTCwgMHg1M2IzOTMzMEwsIDB4MjRiNGEzYTZMLCAweGJhZDAzNjA1TCwKKwkweGNkZDcwNjkzTCwgMHg1NGRlNTcyOUwsIDB4MjNkOTY3YmZMLCAweGIzNjY3YTJlTCwgMHhjNDYxNGFiOEwsCisJMHg1ZDY4MWIwMkwsIDB4MmE2ZjJiOTRMLCAweGI0MGJiZTM3TCwgMHhjMzBjOGVhMUwsIDB4NWEwNWRmMWJMLAorCTB4MmQwMmVmOGRMCit9OworCitzdGF0aWMgaW5saW5lIHVpbnQzMl90IGNyYzMyX2FkZF9jaGFyKHVpbnQzMl90IGNyYywgdW5zaWduZWQgY2hhciBjKQoreworCXJldHVybiBjcmMzMl90YWJbKGNyYyBeIGMpICYgMHhmZl0gXiAoY3JjID4+IDgpOworfQorCisvKgorICogVGhpcyBhIGdlbmVyaWMgY3JjMzIoKSBmdW5jdGlvbiwgaXQgdGFrZXMgc2VlZCBhcyBhbiBhcmd1bWVudCwKKyAqIGFuZCBkb2VzIF9fbm90X18geG9yIGF0IHRoZSBlbmQuIFRoZW4gaW5kaXZpZHVhbCB1c2VycyBjYW4gZG8KKyAqIHdoYXRldmVyIHRoZXkgbmVlZC4KKyAqLwordWludDMyX3QgdWxfY3JjMzIodWludDMyX3Qgc2VlZCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXVpbnQzMl90IGNyYyA9IHNlZWQ7CisJY29uc3QgdW5zaWduZWQgY2hhciAqcCA9IGJ1ZjsKKworCXdoaWxlIChsZW4pIHsKKwkJY3JjID0gY3JjMzJfYWRkX2NoYXIoY3JjLCAqcCsrKTsKKwkJbGVuLS07CisJfQorCisJcmV0dXJuIGNyYzsKK30KKwordWludDMyX3QgdWxfY3JjMzJfZXhjbHVkZV9vZmZzZXQodWludDMyX3Qgc2VlZCwgY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuLAorCQkJICAgICAgc2l6ZV90IGV4Y2x1ZGVfb2ZmLCBzaXplX3QgZXhjbHVkZV9sZW4pCit7CisJdWludDMyX3QgY3JjID0gc2VlZDsKKwljb25zdCB1bnNpZ25lZCBjaGFyICpwID0gYnVmOworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisJCXVuc2lnbmVkIGNoYXIgeCA9ICpwKys7CisKKwkJaWYgKGkgPj0gZXhjbHVkZV9vZmYgJiYgaSA8IGV4Y2x1ZGVfb2ZmICsgZXhjbHVkZV9sZW4pCisJCQl4ID0gMDsKKworCQljcmMgPSBjcmMzMl9hZGRfY2hhcihjcmMsIHgpOworCX0KKworCXJldHVybiBjcmM7Cit9CisKZGlmZiAtLWdpdCBhL2xpYi9jcmMzMmMuYyBiL2xpYi9jcmMzMmMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWU3NTQzCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2NyYzMyYy5jCkBAIC0wLDAgKzEsMTAyIEBACisvKgorICogVGhpcyBjb2RlIGlzIGZyb20gZnJlZWJzZC9zeXMvbGlia2Vybi9jcmMzMi5jCisgKgorICogU2ltcGxlc3QgdGFibGUtYmFzZWQgY3JjMzJjLiAgUGVyZm9ybWFuY2UgaXMgbm90IGltcG9ydGFudAorICogZm9yIGNoZWNraW5nIGNyY3Mgb24gc3VwZXJibG9ja3MKKyAqLworCisvKi0KKyAqICBDT1BZUklHSFQgKEMpIDE5ODYgR2FyeSBTLiBCcm93bi4gIFlvdSBtYXkgdXNlIHRoaXMgcHJvZ3JhbSwgb3IKKyAqICBjb2RlIG9yIHRhYmxlcyBleHRyYWN0ZWQgZnJvbSBpdCwgYXMgZGVzaXJlZCB3aXRob3V0IHJlc3RyaWN0aW9uLgorICovCisKKyNpbmNsdWRlICJjcmMzMmMuaCIKKworc3RhdGljIGNvbnN0IHVpbnQzMl90IGNyYzMyVGFibGVbMjU2XSA9IHsKKwkweDAwMDAwMDAwTCwgMHhGMjZCODMwM0wsIDB4RTEzQjcwRjdMLCAweDEzNTBGM0Y0TCwKKwkweEM3OUE5NzFGTCwgMHgzNUYxMTQxQ0wsIDB4MjZBMUU3RThMLCAweEQ0Q0E2NEVCTCwKKwkweDhBRDk1OENGTCwgMHg3OEIyREJDQ0wsIDB4NkJFMjI4MzhMLCAweDk5ODlBQjNCTCwKKwkweDRENDNDRkQwTCwgMHhCRjI4NENEM0wsIDB4QUM3OEJGMjdMLCAweDVFMTMzQzI0TCwKKwkweDEwNUVDNzZGTCwgMHhFMjM1NDQ2Q0wsIDB4RjE2NUI3OThMLCAweDAzMEUzNDlCTCwKKwkweEQ3QzQ1MDcwTCwgMHgyNUFGRDM3M0wsIDB4MzZGRjIwODdMLCAweEM0OTRBMzg0TCwKKwkweDlBODc5RkEwTCwgMHg2OEVDMUNBM0wsIDB4N0JCQ0VGNTdMLCAweDg5RDc2QzU0TCwKKwkweDVEMUQwOEJGTCwgMHhBRjc2OEJCQ0wsIDB4QkMyNjc4NDhMLCAweDRFNERGQjRCTCwKKwkweDIwQkQ4RURFTCwgMHhEMkQ2MEREREwsIDB4QzE4NkZFMjlMLCAweDMzRUQ3RDJBTCwKKwkweEU3MjcxOUMxTCwgMHgxNTRDOUFDMkwsIDB4MDYxQzY5MzZMLCAweEY0NzdFQTM1TCwKKwkweEFBNjRENjExTCwgMHg1ODBGNTUxMkwsIDB4NEI1RkE2RTZMLCAweEI5MzQyNUU1TCwKKwkweDZERkU0MTBFTCwgMHg5Rjk1QzIwREwsIDB4OENDNTMxRjlMLCAweDdFQUVCMkZBTCwKKwkweDMwRTM0OUIxTCwgMHhDMjg4Q0FCMkwsIDB4RDFEODM5NDZMLCAweDIzQjNCQTQ1TCwKKwkweEY3NzlERUFFTCwgMHgwNTEyNURBREwsIDB4MTY0MkFFNTlMLCAweEU0MjkyRDVBTCwKKwkweEJBM0ExMTdFTCwgMHg0ODUxOTI3REwsIDB4NUIwMTYxODlMLCAweEE5NkFFMjhBTCwKKwkweDdEQTA4NjYxTCwgMHg4RkNCMDU2MkwsIDB4OUM5QkY2OTZMLCAweDZFRjA3NTk1TCwKKwkweDQxN0IxREJDTCwgMHhCMzEwOUVCRkwsIDB4QTA0MDZENEJMLCAweDUyMkJFRTQ4TCwKKwkweDg2RTE4QUEzTCwgMHg3NDhBMDlBMEwsIDB4NjdEQUZBNTRMLCAweDk1QjE3OTU3TCwKKwkweENCQTI0NTczTCwgMHgzOUM5QzY3MEwsIDB4MkE5OTM1ODRMLCAweEQ4RjJCNjg3TCwKKwkweDBDMzhEMjZDTCwgMHhGRTUzNTE2RkwsIDB4RUQwM0EyOUJMLCAweDFGNjgyMTk4TCwKKwkweDUxMjVEQUQzTCwgMHhBMzRFNTlEMEwsIDB4QjAxRUFBMjRMLCAweDQyNzUyOTI3TCwKKwkweDk2QkY0RENDTCwgMHg2NEQ0Q0VDRkwsIDB4Nzc4NDNEM0JMLCAweDg1RUZCRTM4TCwKKwkweERCRkM4MjFDTCwgMHgyOTk3MDExRkwsIDB4M0FDN0YyRUJMLCAweEM4QUM3MUU4TCwKKwkweDFDNjYxNTAzTCwgMHhFRTBEOTYwMEwsIDB4RkQ1RDY1RjRMLCAweDBGMzZFNkY3TCwKKwkweDYxQzY5MzYyTCwgMHg5M0FEMTA2MUwsIDB4ODBGREUzOTVMLCAweDcyOTY2MDk2TCwKKwkweEE2NUMwNDdETCwgMHg1NDM3ODc3RUwsIDB4NDc2Nzc0OEFMLCAweEI1MENGNzg5TCwKKwkweEVCMUZDQkFETCwgMHgxOTc0NDhBRUwsIDB4MEEyNEJCNUFMLCAweEY4NEYzODU5TCwKKwkweDJDODU1Q0IyTCwgMHhERUVFREZCMUwsIDB4Q0RCRTJDNDVMLCAweDNGRDVBRjQ2TCwKKwkweDcxOTg1NDBETCwgMHg4M0YzRDcwRUwsIDB4OTBBMzI0RkFMLCAweDYyQzhBN0Y5TCwKKwkweEI2MDJDMzEyTCwgMHg0NDY5NDAxMUwsIDB4NTczOUIzRTVMLCAweEE1NTIzMEU2TCwKKwkweEZCNDEwQ0MyTCwgMHgwOTJBOEZDMUwsIDB4MUE3QTdDMzVMLCAweEU4MTFGRjM2TCwKKwkweDNDREI5QkRETCwgMHhDRUIwMThERUwsIDB4RERFMEVCMkFMLCAweDJGOEI2ODI5TCwKKwkweDgyRjYzQjc4TCwgMHg3MDlEQjg3QkwsIDB4NjNDRDRCOEZMLCAweDkxQTZDODhDTCwKKwkweDQ1NkNBQzY3TCwgMHhCNzA3MkY2NEwsIDB4QTQ1N0RDOTBMLCAweDU2M0M1RjkzTCwKKwkweDA4MkY2M0I3TCwgMHhGQTQ0RTBCNEwsIDB4RTkxNDEzNDBMLCAweDFCN0Y5MDQzTCwKKwkweENGQjVGNEE4TCwgMHgzRERFNzdBQkwsIDB4MkU4RTg0NUZMLCAweERDRTUwNzVDTCwKKwkweDkyQThGQzE3TCwgMHg2MEMzN0YxNEwsIDB4NzM5MzhDRTBMLCAweDgxRjgwRkUzTCwKKwkweDU1MzI2QjA4TCwgMHhBNzU5RTgwQkwsIDB4QjQwOTFCRkZMLCAweDQ2NjI5OEZDTCwKKwkweDE4NzFBNEQ4TCwgMHhFQTFBMjdEQkwsIDB4Rjk0QUQ0MkZMLCAweDBCMjE1NzJDTCwKKwkweERGRUIzM0M3TCwgMHgyRDgwQjBDNEwsIDB4M0VEMDQzMzBMLCAweENDQkJDMDMzTCwKKwkweEEyNEJCNUE2TCwgMHg1MDIwMzZBNUwsIDB4NDM3MEM1NTFMLCAweEIxMUI0NjUyTCwKKwkweDY1RDEyMkI5TCwgMHg5N0JBQTFCQUwsIDB4ODRFQTUyNEVMLCAweDc2ODFEMTRETCwKKwkweDI4OTJFRDY5TCwgMHhEQUY5NkU2QUwsIDB4QzlBOTlEOUVMLCAweDNCQzIxRTlETCwKKwkweEVGMDg3QTc2TCwgMHgxRDYzRjk3NUwsIDB4MEUzMzBBODFMLCAweEZDNTg4OTgyTCwKKwkweEIyMTU3MkM5TCwgMHg0MDdFRjFDQUwsIDB4NTMyRTAyM0VMLCAweEExNDU4MTNETCwKKwkweDc1OEZFNUQ2TCwgMHg4N0U0NjZENUwsIDB4OTRCNDk1MjFMLCAweDY2REYxNjIyTCwKKwkweDM4Q0MyQTA2TCwgMHhDQUE3QTkwNUwsIDB4RDlGNzVBRjFMLCAweDJCOUNEOUYyTCwKKwkweEZGNTZCRDE5TCwgMHgwRDNEM0UxQUwsIDB4MUU2RENERUVMLCAweEVDMDY0RUVETCwKKwkweEMzOEQyNkM0TCwgMHgzMUU2QTVDN0wsIDB4MjJCNjU2MzNMLCAweEQwRERENTMwTCwKKwkweDA0MTdCMURCTCwgMHhGNjdDMzJEOEwsIDB4RTUyQ0MxMkNMLCAweDE3NDc0MjJGTCwKKwkweDQ5NTQ3RTBCTCwgMHhCQjNGRkQwOEwsIDB4QTg2RjBFRkNMLCAweDVBMDQ4REZGTCwKKwkweDhFQ0VFOTE0TCwgMHg3Q0E1NkExN0wsIDB4NkZGNTk5RTNMLCAweDlEOUUxQUUwTCwKKwkweEQzRDNFMUFCTCwgMHgyMUI4NjJBOEwsIDB4MzJFODkxNUNMLCAweEMwODMxMjVGTCwKKwkweDE0NDk3NkI0TCwgMHhFNjIyRjVCN0wsIDB4RjU3MjA2NDNMLCAweDA3MTk4NTQwTCwKKwkweDU5MEFCOTY0TCwgMHhBQjYxM0E2N0wsIDB4QjgzMUM5OTNMLCAweDRBNUE0QTkwTCwKKwkweDlFOTAyRTdCTCwgMHg2Q0ZCQUQ3OEwsIDB4N0ZBQjVFOENMLCAweDhEQzBERDhGTCwKKwkweEUzMzBBODFBTCwgMHgxMTVCMkIxOUwsIDB4MDIwQkQ4RURMLCAweEYwNjA1QkVFTCwKKwkweDI0QUEzRjA1TCwgMHhENkMxQkMwNkwsIDB4QzU5MTRGRjJMLCAweDM3RkFDQ0YxTCwKKwkweDY5RTlGMEQ1TCwgMHg5QjgyNzNENkwsIDB4ODhEMjgwMjJMLCAweDdBQjkwMzIxTCwKKwkweEFFNzM2N0NBTCwgMHg1QzE4RTRDOUwsIDB4NEY0ODE3M0RMLCAweEJEMjM5NDNFTCwKKwkweEYzNkU2Rjc1TCwgMHgwMTA1RUM3NkwsIDB4MTI1NTFGODJMLCAweEUwM0U5QzgxTCwKKwkweDM0RjRGODZBTCwgMHhDNjlGN0I2OUwsIDB4RDVDRjg4OURMLCAweDI3QTQwQjlFTCwKKwkweDc5QjczN0JBTCwgMHg4QkRDQjRCOUwsIDB4OTg4QzQ3NERMLCAweDZBRTdDNDRFTCwKKwkweEJFMkRBMEE1TCwgMHg0QzQ2MjNBNkwsIDB4NUYxNkQwNTJMLCAweEFEN0Q1MzUxTAorfTsKKworLyoKKyAqVGhpcyB3YXMgc2luZ2xldGFibGVfY3JjMzJjKCkgaW4gYnNkCisgKgorICogSWYgeW91IHdpbGwgbm90IGJlIHBhc3NpbmcgY3JjIGJhY2sgaW50byB0aGlzIGZ1bmN0aW9uIHRvIHByb2Nlc3MgbW9yZSBieXRlcywKKyAqIHRoZSBhbnN3ZXIgaXM6CisgKgorICogICAgY3JjID0gY3JjMzJjKH4wTCwgYnVmLCBzaXplKTsKKyAqICBbIGNyYyA9IGNyYzMyYyhjcmMsIGJ1Ziwgc2l6ZSk7IF0KKyAqICAgIGNyYyBePSB+MEwKKyAqCisgKi8KK3VpbnQzMl90CitjcmMzMmModWludDMyX3QgY3JjLCBjb25zdCB2b2lkICpidWYsIHNpemVfdCBzaXplKQoreworCWNvbnN0IHVpbnQ4X3QgKnAgPSBidWY7CisKKwl3aGlsZSAoc2l6ZS0tKQorCQljcmMgPSBjcmMzMlRhYmxlWyhjcmMgXiAqcCsrKSAmIDB4ZmZdIF4gKGNyYyA+PiA4KTsKKworCXJldHVybiBjcmM7Cit9CmRpZmYgLS1naXQgYS9saWIvZW52LmMgYi9saWIvZW52LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjJlM2Q5NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9lbnYuYwpAQCAtMCwwICsxLDEwOSBAQAorLyoKKyAqIFNlY3VyaXR5IGNoZWNrcyBvZiBlbnZpcm9ubWVudAorICogQWRkZWQgZnJvbSBzaGFkb3ctdXRpbHMgcGFja2FnZQorICogYnkgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaWZkZWYgSEFWRV9TWVNfUFJDVExfSAorI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgorI2Vsc2UKKyNkZWZpbmUgUFJfR0VUX0RVTVBBQkxFIDMKKyNlbmRpZgorI2lmICghZGVmaW5lZChIQVZFX1BSQ1RMKSAmJiBkZWZpbmVkKGxpbnV4KSkKKyNpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorI2VuZGlmCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKyNpbmNsdWRlICJlbnYuaCIKKworI2lmbmRlZiBIQVZFX0VOVklST05fREVDTAorZXh0ZXJuIGNoYXIgKiplbnZpcm9uOworI2VuZGlmCisKK3N0YXRpYyBjaGFyICogY29uc3QgZm9yYmlkW10gPSB7CisgICAgICAgICJCQVNIX0VOVj0iLCAgICAvKiBHTlUgY3JlZXBpbmcgZmVhdHVyaXNtIHN0cmlrZXMgYWdhaW4uLi4gKi8KKyAgICAgICAgIkVOVj0iLAorICAgICAgICAiSE9NRT0iLAorICAgICAgICAiSUZTPSIsCisgICAgICAgICJLUkJfQ09ORj0iLAorICAgICAgICAiTERfIiwgICAgICAgICAgLyogYW55dGhpbmcgd2l0aCB0aGUgTERfIHByZWZpeCAqLworICAgICAgICAiTElCUEFUSD0iLAorICAgICAgICAiTUFJTD0iLAorICAgICAgICAiTkxTUEFUSD0iLAorICAgICAgICAiUEFUSD0iLAorICAgICAgICAiU0hFTEw9IiwKKyAgICAgICAgIlNITElCX1BBVEg9IiwKKyAgICAgICAgKGNoYXIgKikgMAorfTsKKworLyogdGhlc2UgYXJlIGFsbG93ZWQsIGJ1dCB3aXRoIG5vIHNsYXNoZXMgaW5zaWRlCisgICAodG8gd29yayBhcm91bmQgc2VjdXJpdHkgcHJvYmxlbXMgaW4gR05VIGdldHRleHQpICovCitzdGF0aWMgY2hhciAqIGNvbnN0IG5vc2xhc2hbXSA9IHsKKyAgICAgICAgIkxBTkc9IiwKKyAgICAgICAgIkxBTkdVQUdFPSIsCisgICAgICAgICJMQ18iLCAgICAgICAgICAvKiBhbnl0aGluZyB3aXRoIHRoZSBMQ18gcHJlZml4ICovCisgICAgICAgIChjaGFyICopIDAKK307CisKK3ZvaWQKK3Nhbml0aXplX2Vudih2b2lkKQoreworICAgICAgICBjaGFyICoqZW52cCA9IGVudmlyb247CisgICAgICAgIGNoYXIgKiBjb25zdCAqYmFkOworICAgICAgICBjaGFyICoqY3VyOworICAgICAgICBjaGFyICoqbW92ZTsKKworICAgICAgICBmb3IgKGN1ciA9IGVudnA7ICpjdXI7IGN1cisrKSB7CisgICAgICAgICAgICAgICAgZm9yIChiYWQgPSBmb3JiaWQ7ICpiYWQ7IGJhZCsrKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RybmNtcCgqY3VyLCAqYmFkLCBzdHJsZW4oKmJhZCkpID09IDApIHsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIChtb3ZlID0gY3VyOyAqbW92ZTsgbW92ZSsrKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICptb3ZlID0gKihtb3ZlICsgMSk7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0tOworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGN1ciA9IGVudnA7ICpjdXI7IGN1cisrKSB7CisgICAgICAgICAgICAgICAgZm9yIChiYWQgPSBub3NsYXNoOyAqYmFkOyBiYWQrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHN0cm5jbXAoKmN1ciwgKmJhZCwgc3RybGVuKCpiYWQpKSAhPSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghc3RyY2hyKCpjdXIsICcvJykpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOyAgLyogT0sgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgIGZvciAobW92ZSA9IGN1cjsgKm1vdmU7IG1vdmUrKykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKm1vdmUgPSAqKG1vdmUgKyAxKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGN1ci0tOworICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgfQorICAgICAgICB9Cit9CisKKworY2hhciAqc2FmZV9nZXRlbnYoY29uc3QgY2hhciAqYXJnKQoreworCXVpZF90IHJ1aWQgPSBnZXR1aWQoKTsKKworCWlmIChydWlkICE9IDAgfHwgKHJ1aWQgIT0gZ2V0ZXVpZCgpKSB8fCAoZ2V0Z2lkKCkgIT0gZ2V0ZWdpZCgpKSkKKwkJcmV0dXJuIE5VTEw7CisjaWZkZWYgSEFWRV9QUkNUTAorCWlmIChwcmN0bChQUl9HRVRfRFVNUEFCTEUsIDAsIDAsIDAsIDApID09IDApCisJCXJldHVybiBOVUxMOworI2Vsc2UKKyNpZiAoZGVmaW5lZChsaW51eCkgJiYgZGVmaW5lZChTWVNfcHJjdGwpKQorCWlmIChzeXNjYWxsKFNZU19wcmN0bCwgUFJfR0VUX0RVTVBBQkxFLCAwLCAwLCAwLCAwKSA9PSAwKQorCQlyZXR1cm4gTlVMTDsKKyNlbmRpZgorI2VuZGlmCisjaWZkZWYgSEFWRV9TRUNVUkVfR0VURU5WCityZXR1cm4gc2VjdXJlX2dldGVudihhcmcpOworI2VsaWYgSEFWRV9fX1NFQ1VSRV9HRVRFTlYKKwlyZXR1cm4gX19zZWN1cmVfZ2V0ZW52KGFyZyk7CisjZWxzZQorCXJldHVybiBnZXRlbnYoYXJnKTsKKyNlbmRpZgorfQpkaWZmIC0tZ2l0IGEvbGliL2V4ZWNfc2hlbGwuYyBiL2xpYi9leGVjX3NoZWxsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg3OThlYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9leGVjX3NoZWxsLmMKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIGV4ZWNfc2hlbGwoKSAtIGxhdW5jaCBhIHNoZWxsLCBlbHNlIGV4aXQhCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pIGFueQorICogbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8bGliZ2VuLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNpbmNsdWRlICJleGVjX3NoZWxsLmgiCisKKyNkZWZpbmUgREVGQVVMVF9TSEVMTCAiL2Jpbi9zaCIKKwordm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSBleGVjX3NoZWxsKHZvaWQpCit7CisJY29uc3QgY2hhciAqc2hlbGwgPSBnZXRlbnYoIlNIRUxMIik7CisJY2hhciAqc2hlbGxjOworCWNvbnN0IGNoYXIgKnNoZWxsX2Jhc2VuYW1lOworCWNoYXIgKmFyZzA7CisKKwlpZiAoIXNoZWxsKQorCQlzaGVsbCA9IERFRkFVTFRfU0hFTEw7CisKKwlzaGVsbGMgPSB4c3RyZHVwKHNoZWxsKTsKKwlzaGVsbF9iYXNlbmFtZSA9IGJhc2VuYW1lKHNoZWxsYyk7CisJYXJnMCA9IHhtYWxsb2Moc3RybGVuKHNoZWxsX2Jhc2VuYW1lKSArIDIpOworCWFyZzBbMF0gPSAnLSc7CisJc3RyY3B5KGFyZzAgKyAxLCBzaGVsbF9iYXNlbmFtZSk7CisKKwlleGVjbChzaGVsbCwgYXJnMCwgTlVMTCk7CisJZXJyZXhlYyhzaGVsbCk7Cit9CmRpZmYgLS1naXQgYS9saWIvZmlsZXV0aWxzLmMgYi9saWIvZmlsZXV0aWxzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODIyY2E5NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9maWxldXRpbHMuYwpAQCAtMCwwICsxLDE4NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworaW50IG1rc3RlbXBfY2xvZXhlYyhjaGFyICp0ZW1wbGF0ZSkKK3sKKyNpZmRlZiBIQVZFX01LT1NURU1QCisJcmV0dXJuIG1rb3N0ZW1wKHRlbXBsYXRlLCBPX1JEV1J8T19DUkVBVHxPX0VYQ0x8T19DTE9FWEVDKTsKKyNlbHNlCisJaW50IGZkLCBvbGRfZmxhZ3MsIGVycm5vX3NhdmU7CisKKwlmZCA9IG1rc3RlbXAodGVtcGxhdGUpOworCWlmIChmZCA8IDApCisJCXJldHVybiBmZDsKKworCW9sZF9mbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZELCAwKTsKKwlpZiAob2xkX2ZsYWdzIDwgMCkKKwkJZ290byB1bndpbmQ7CisJaWYgKGZjbnRsKGZkLCBGX1NFVEZELCBvbGRfZmxhZ3MgfCBPX0NMT0VYRUMpIDwgMCkKKwkJZ290byB1bndpbmQ7CisKKwlyZXR1cm4gZmQ7CisKK3Vud2luZDoKKwllcnJub19zYXZlID0gZXJybm87CisJdW5saW5rKHRlbXBsYXRlKTsKKwljbG9zZShmZCk7CisJZXJybm8gPSBlcnJub19zYXZlOworCisJcmV0dXJuIC0xOworI2VuZGlmCit9CisKKy8qIENyZWF0ZSBvcGVuIHRlbXBvcmFyeSBmaWxlIGluIHNhZmUgd2F5LiAgUGxlYXNlIG5vdGljZSB0aGF0IHRoZQorICogZmlsZSBwZXJtaXNzaW9ucyBhcmUgLXJ3LS0tLS0tLSBieSBkZWZhdWx0LiAqLworaW50IHhta3N0ZW1wKGNoYXIgKip0bXBuYW1lLCBjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnByZWZpeCkKK3sKKwljaGFyICpsb2NhbHRtcDsKKwljb25zdCBjaGFyICp0bXBlbnY7CisJbW9kZV90IG9sZF9tb2RlOworCWludCBmZCwgcmM7CisKKwkvKiBTb21lIHVzZSBjYXNlcyBtdXN0IGJlIGNhcGFibGUgb2YgYmVpbmcgbW92ZWQgYXRvbWljYWxseQorCSAqIHdpdGggcmVuYW1lKDIpLCB3aGljaCBpcyB0aGUgcmVhc29uIHdoeSBkaXIgaXMgaGVyZS4gICovCisJdG1wZW52ID0gZGlyID8gZGlyIDogZ2V0ZW52KCJUTVBESVIiKTsKKwlpZiAoIXRtcGVudikKKwkJdG1wZW52ID0gX1BBVEhfVE1QOworCisJcmMgPSBhc3ByaW50ZigmbG9jYWx0bXAsICIlcy8lcy5YWFhYWFgiLCB0bXBlbnYsIHByZWZpeCk7CisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIC0xOworCisJb2xkX21vZGUgPSB1bWFzaygwNzcpOworCWZkID0gbWtzdGVtcF9jbG9leGVjKGxvY2FsdG1wKTsKKwl1bWFzayhvbGRfbW9kZSk7CisJaWYgKGZkID09IC0xKSB7CisJCWZyZWUobG9jYWx0bXApOworCQlsb2NhbHRtcCA9IE5VTEw7CisJfQorCSp0bXBuYW1lID0gbG9jYWx0bXA7CisJcmV0dXJuIGZkOworfQorCitpbnQgZHVwX2ZkX2Nsb2V4ZWMoaW50IG9sZGZkLCBpbnQgbG93ZmQpCit7CisJaW50IGZkLCBmbGFncywgZXJybm9fc2F2ZTsKKworI2lmZGVmIEZfRFVQRkRfQ0xPRVhFQworCWZkID0gZmNudGwob2xkZmQsIEZfRFVQRkRfQ0xPRVhFQywgbG93ZmQpOworCWlmIChmZCA+PSAwKQorCQlyZXR1cm4gZmQ7CisjZW5kaWYKKworCWZkID0gZHVwKG9sZGZkKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gZmQ7CisKKwlmbGFncyA9IGZjbnRsKGZkLCBGX0dFVEZEKTsKKwlpZiAoZmxhZ3MgPCAwKQorCQlnb3RvIHVud2luZDsKKwlpZiAoZmNudGwoZmQsIEZfU0VURkQsIGZsYWdzIHwgRkRfQ0xPRVhFQykgPCAwKQorCQlnb3RvIHVud2luZDsKKworCXJldHVybiBmZDsKKwordW53aW5kOgorCWVycm5vX3NhdmUgPSBlcnJubzsKKwljbG9zZShmZCk7CisJZXJybm8gPSBlcnJub19zYXZlOworCisJcmV0dXJuIC0xOworfQorCisvKgorICogcG9ydGFibGUgZ2V0ZHRhYmxlc2l6ZSgpCisgKi8KK2ludCBnZXRfZmRfdGFic2l6ZSh2b2lkKQoreworCWludCBtOworCisjaWYgZGVmaW5lZChIQVZFX0dFVERUQUJMRVNJWkUpCisJbSA9IGdldGR0YWJsZXNpemUoKTsKKyNlbGlmIGRlZmluZWQoSEFWRV9HRVRSTElNSVQpICYmIGRlZmluZWQoUkxJTUlUX05PRklMRSkKKwlzdHJ1Y3QgcmxpbWl0IHJsOworCisJZ2V0cmxpbWl0KFJMSU1JVF9OT0ZJTEUsICZybCk7CisJbSA9IHJsLnJsaW1fY3VyOworI2VsaWYgZGVmaW5lZChIQVZFX1NZU0NPTkYpICYmIGRlZmluZWQoX1NDX09QRU5fTUFYKQorCW0gPSBzeXNjb25mKF9TQ19PUEVOX01BWCk7CisjZWxzZQorCW0gPSBPUEVOX01BWDsKKyNlbmRpZgorCXJldHVybiBtOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNX0ZJTEVVVElMUworaW50IG1haW4odm9pZCkKK3sKKwlGSUxFICpmOworCWNoYXIgKnRtcG5hbWU7CisJZiA9IHhmbWtzdGVtcCgmdG1wbmFtZSwgTlVMTCwgInRlc3QiKTsKKwl1bmxpbmsodG1wbmFtZSk7CisJZnJlZSh0bXBuYW1lKTsKKwlmY2xvc2UoZik7CisJcmV0dXJuIEVYSVRfRkFJTFVSRTsKK30KKyNlbmRpZgorCisKK2ludCBta2Rpcl9wKGNvbnN0IGNoYXIgKnBhdGgsIG1vZGVfdCBtb2RlKQoreworCWNoYXIgKnAsICpkaXI7CisJaW50IHJjID0gMDsKKworCWlmICghcGF0aCB8fCAhKnBhdGgpCisJCXJldHVybiAtRUlOVkFMOworCisJZGlyID0gcCA9IHN0cmR1cChwYXRoKTsKKwlpZiAoIWRpcikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoKnAgPT0gJy8nKQorCQlwKys7CisKKwl3aGlsZSAocCAmJiAqcCkgeworCQljaGFyICplID0gc3RyY2hyKHAsICcvJyk7CisJCWlmIChlKQorCQkJKmUgPSAnXDAnOworCQlpZiAoKnApIHsKKwkJCXJjID0gbWtkaXIoZGlyLCBtb2RlKTsKKwkJCWlmIChyYyAmJiBlcnJubyAhPSBFRVhJU1QpCisJCQkJYnJlYWs7CisJCQlyYyA9IDA7CisJCX0KKwkJaWYgKCFlKQorCQkJYnJlYWs7CisJCSplID0gJy8nOworCQlwID0gZSArIDE7CisJfQorCisJZnJlZShkaXIpOworCXJldHVybiByYzsKK30KKworLyogcmV0dXJucyBiYXNlbmFtZSBhbmQga2VlcHMgZGlybmFtZSBpbiB0aGUgQHBhdGgsIGlmIEBwYXRoIGlzICIvIiAocm9vdCkKKyAqIHRoZW4gcmV0dXJucyBlbXB0eSBzdHJpbmcgKi8KK2NoYXIgKnN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGNoYXIgKnBhdGgpCit7CisJY2hhciAqcCA9IHBhdGggPyBzdHJyY2hyKHBhdGgsICcvJykgOiBOVUxMOworCisJaWYgKCFwKQorCQlyZXR1cm4gTlVMTDsKKwkqcCA9ICdcMCc7CisJcmV0dXJuIHAgKyAxOworfQpkaWZmIC0tZ2l0IGEvbGliL2lkY2FjaGUuYyBiL2xpYi9pZGNhY2hlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZhY2YxMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9pZGNhY2hlLmMKQEAgLTAsMCArMSwxMTMgQEAKKworI2luY2x1ZGUgPHdjaGFyLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiaWRjYWNoZS5oIgorCitzdHJ1Y3QgaWRlbnRyeSAqZ2V0X2lkKHN0cnVjdCBpZGNhY2hlICppYywgdW5zaWduZWQgbG9uZyBpbnQgaWQpCit7CisJc3RydWN0IGlkZW50cnkgKmVudDsKKworCWlmICghaWMpCisJCXJldHVybiBOVUxMOworCisJZm9yIChlbnQgPSBpYy0+ZW50OyBlbnQ7IGVudCA9IGVudC0+bmV4dCkgeworCQlpZiAoZW50LT5pZCA9PSBpZCkKKwkJCXJldHVybiBlbnQ7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0cnVjdCBpZGNhY2hlICpuZXdfaWRjYWNoZSh2b2lkKQoreworCXJldHVybiBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBpZGNhY2hlKSk7Cit9CisKK3ZvaWQgZnJlZV9pZGNhY2hlKHN0cnVjdCBpZGNhY2hlICppYykKK3sKKwlzdHJ1Y3QgaWRlbnRyeSAqZW50ID0gaWMtPmVudDsKKworCXdoaWxlIChlbnQpIHsKKwkJc3RydWN0IGlkZW50cnkgKm5leHQgPSBlbnQtPm5leHQ7CisJCWZyZWUoZW50LT5uYW1lKTsKKwkJZnJlZShlbnQpOworCQllbnQgPSBuZXh0OworCX0KKworCWZyZWUoaWMpOworfQorCitzdGF0aWMgdm9pZCBhZGRfaWQoc3RydWN0IGlkY2FjaGUgKmljLCBjaGFyICpuYW1lLCB1bnNpZ25lZCBsb25nIGludCBpZCkKK3sKKwlzdHJ1Y3QgaWRlbnRyeSAqZW50LCAqeDsKKwlpbnQgdyA9IDA7CisKKwllbnQgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBpZGVudHJ5KSk7CisJaWYgKCFlbnQpCisJCXJldHVybjsKKwllbnQtPmlkID0gaWQ7CisKKwlpZiAobmFtZSkgeworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJd2NoYXJfdCB3Y1tMT0dJTl9OQU1FX01BWCArIDFdOworCisJCWlmIChtYnN0b3djcyh3YywgbmFtZSwgTE9HSU5fTkFNRV9NQVgpID4gMCkgeworCQkJd2NbTE9HSU5fTkFNRV9NQVhdID0gJ1wwJzsKKwkJCXcgPSB3Y3N3aWR0aCh3YywgTE9HSU5fTkFNRV9NQVgpOworCQl9CisJCWVsc2UKKyNlbmRpZgorCQkJdyA9IHN0cmxlbihuYW1lKTsKKwl9CisKKwkvKiBub3RlLCB3ZSBpZ25vcmUgbmFtZXMgd2l0aCBub24tcHJpbnRhYmxlIHdpZGVjaGFycyAqLworCWlmICh3ID4gMCkgeworCQllbnQtPm5hbWUgPSBzdHJkdXAobmFtZSk7CisJCWlmICghZW50LT5uYW1lKSB7CisJCQlmcmVlKGVudCk7CisJCQlyZXR1cm47CisJCX0KKwl9IGVsc2UgeworCQlpZiAoYXNwcmludGYoJmVudC0+bmFtZSwgIiVsdSIsIGlkKSA8IDApIHsKKwkJCWZyZWUoZW50KTsKKwkJCXJldHVybjsKKwkJfQorCX0KKworCWZvciAoeCA9IGljLT5lbnQ7IHggJiYgeC0+bmV4dDsgeCA9IHgtPm5leHQpOworCisJaWYgKHgpCisJCXgtPm5leHQgPSBlbnQ7CisJZWxzZQorCQlpYy0+ZW50ID0gZW50OworCisJaWYgKHcgPD0gMCkKKwkJdyA9IGVudC0+bmFtZSA/IHN0cmxlbihlbnQtPm5hbWUpIDogMDsKKwlpYy0+d2lkdGggPSBpYy0+d2lkdGggPCB3ID8gdyA6IGljLT53aWR0aDsKKwlyZXR1cm47Cit9CisKK3ZvaWQgYWRkX3VpZChzdHJ1Y3QgaWRjYWNoZSAqY2FjaGUsIHVuc2lnbmVkIGxvbmcgaW50IGlkKQoreworCXN0cnVjdCBpZGVudHJ5ICplbnQ9IGdldF9pZChjYWNoZSwgaWQpOworCisJaWYgKCFlbnQpIHsKKwkJc3RydWN0IHBhc3N3ZCAqcHcgPSBnZXRwd3VpZCgodWlkX3QpIGlkKTsKKwkJYWRkX2lkKGNhY2hlLCBwdyA/IHB3LT5wd19uYW1lIDogTlVMTCwgaWQpOworCX0KK30KKwordm9pZCBhZGRfZ2lkKHN0cnVjdCBpZGNhY2hlICpjYWNoZSwgdW5zaWduZWQgbG9uZyBpbnQgaWQpCit7CisJc3RydWN0IGlkZW50cnkgKmVudCA9IGdldF9pZChjYWNoZSwgaWQpOworCisJaWYgKCFlbnQpIHsKKwkJc3RydWN0IGdyb3VwICpnciA9IGdldGdyZ2lkKChnaWRfdCkgaWQpOworCQlhZGRfaWQoY2FjaGUsIGdyID8gZ3ItPmdyX25hbWUgOiBOVUxMLCBpZCk7CisJfQorfQorCmRpZmYgLS1naXQgYS9saWIvaXNtb3VudGVkLmMgYi9saWIvaXNtb3VudGVkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjgyMTA0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9pc21vdW50ZWQuYwpAQCAtMCwwICsxLDM5NSBAQAorLyoKKyAqIGlzbW91bnRlZC5jIC0tLSBDaGVjayB0byBzZWUgaWYgdGhlIGZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUsMTk5NiwxOTk3LDE5OTgsMTk5OSwyMDAwLDIwMDggVGhlb2RvcmUgVHMnby4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljCisgKiBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaWZkZWYgSEFWRV9NTlRFTlRfSAorI2luY2x1ZGUgPG1udGVudC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorCisjaWZuZGVmIF9fbGludXhfXworIyBpZmRlZiBIQVZFX1NZU19VQ1JFRF9ICisjICBpbmNsdWRlIDxzeXMvdWNyZWQuaD4KKyMgZW5kaWYKKyMgaWZkZWYgSEFWRV9TWVNfTU9VTlRfSAorIyAgaW5jbHVkZSA8c3lzL21vdW50Lmg+CisjIGVuZGlmCisjZW5kaWYKKworI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImlzbW91bnRlZC5oIgorI2luY2x1ZGUgImMuaCIKKyNpZmRlZiBfX2xpbnV4X18KKyMgaW5jbHVkZSAibG9vcGRldi5oIgorI2VuZGlmCisKKworCisjaWZkZWYgSEFWRV9NTlRFTlRfSAorLyoKKyAqIEhlbHBlciBmdW5jdGlvbiB3aGljaCBjaGVja3MgYSBmaWxlIGluIC9ldGMvbXRhYiBmb3JtYXQgdG8gc2VlIGlmIGEKKyAqIGZpbGVzeXN0ZW0gaXMgbW91bnRlZC4gIFJldHVybnMgYW4gZXJyb3IgaWYgdGhlIGZpbGUgZG9lc24ndCBleGlzdAorICogb3IgY2FuJ3QgYmUgb3BlbmVkLgorICovCitzdGF0aWMgaW50IGNoZWNrX21udGVudF9maWxlKGNvbnN0IGNoYXIgKm10YWJfZmlsZSwgY29uc3QgY2hhciAqZmlsZSwKKwkJCQkgICBpbnQgKm1vdW50X2ZsYWdzLCBjaGFyICptdHB0LCBpbnQgbXRsZW4pCit7CisJc3RydWN0IG1udGVudAkqbW50OworCXN0cnVjdCBzdGF0CXN0X2J1ZjsKKwlpbnQJCXJldHZhbCA9IDA7CisJZGV2X3QJCWZpbGVfZGV2PTAsIGZpbGVfcmRldj0wOworCWlub190CQlmaWxlX2lubz0wOworCUZJTEUJCSpmOworCWludAkJZmQ7CisKKwkqbW91bnRfZmxhZ3MgPSAwOworCWlmICgoZiA9IHNldG1udGVudCAobXRhYl9maWxlLCAiciIpKSA9PSBOVUxMKQorCQlyZXR1cm4gZXJybm87CisKKwlpZiAoc3RhdChmaWxlLCAmc3RfYnVmKSA9PSAwKSB7CisJCWlmIChTX0lTQkxLKHN0X2J1Zi5zdF9tb2RlKSkgeworI2lmbmRlZiBfX0dOVV9fIC8qIFRoZSBHTlUgaHVyZCBpcyBicm9rZW4gd2l0aCByZXNwZWN0IHRvIHN0YXQgZGV2aWNlcyAqLworCQkJZmlsZV9yZGV2ID0gc3RfYnVmLnN0X3JkZXY7CisjZW5kaWYJLyogX19HTlVfXyAqLworCQl9IGVsc2UgeworCQkJZmlsZV9kZXYgPSBzdF9idWYuc3RfZGV2OworCQkJZmlsZV9pbm8gPSBzdF9idWYuc3RfaW5vOworCQl9CisJfQorCisJd2hpbGUgKChtbnQgPSBnZXRtbnRlbnQgKGYpKSAhPSBOVUxMKSB7CisJCWlmIChtbnQtPm1udF9mc25hbWVbMF0gIT0gJy8nKQorCQkJY29udGludWU7CisJCWlmIChzdHJjbXAoZmlsZSwgbW50LT5tbnRfZnNuYW1lKSA9PSAwKQorCQkJYnJlYWs7CisJCWlmIChzdGF0KG1udC0+bW50X2ZzbmFtZSwgJnN0X2J1ZikgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChTX0lTQkxLKHN0X2J1Zi5zdF9tb2RlKSkgeworI2lmbmRlZiBfX0dOVV9fCisJCQlpZiAoZmlsZV9yZGV2ICYmIGZpbGVfcmRldiA9PSBzdF9idWYuc3RfcmRldikKKwkJCQlicmVhazsKKyNpZmRlZiBfX2xpbnV4X18KKwkJCS8qIG1heWJlIHRoZSBmaWxlIGlzIGxvb3BkZXYgYmFja2luZyBmaWxlICovCisJCQlpZiAoZmlsZV9kZXYKKwkJCSAgICAmJiBtYWpvcihzdF9idWYuc3RfcmRldikgPT0gTE9PUERFVl9NQUpPUgorCQkJICAgICYmIGxvb3BkZXZfaXNfdXNlZChtbnQtPm1udF9mc25hbWUsIGZpbGUsIDAsIDAsIDApKQorCQkJCWJyZWFrOworI2VuZGlmIC8qIF9fbGludXhfXyAqLworI2VuZGlmCS8qIF9fR05VX18gKi8KKwkJfSBlbHNlIHsKKwkJCWlmIChmaWxlX2RldiAmJiAoKGZpbGVfZGV2ID09IHN0X2J1Zi5zdF9kZXYpICYmCisJCQkJCSAoZmlsZV9pbm8gPT0gc3RfYnVmLnN0X2lubykpKQorCQkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKG1udCA9PSBOVUxMKSB7CisjaWZuZGVmIF9fR05VX18gLyogVGhlIEdOVSBodXJkIGlzIGJyb2tlbiB3aXRoIHJlc3BlY3QgdG8gc3RhdCBkZXZpY2VzICovCisJCS8qCisJCSAqIERvIGFuIGV4dHJhIGNoZWNrIHRvIHNlZSBpZiB0aGlzIGlzIHRoZSByb290IGRldmljZS4gIFdlCisJCSAqIGNhbid0IHRydXN0IC9ldGMvbXRhYiwgYW5kIC9wcm9jL21vdW50cyB3aWxsIG9ubHkgbGlzdAorCQkgKiAvZGV2L3Jvb3QgZm9yIHRoZSByb290IGZpbGVzeXN0ZW0uICBBcmdoLiAgSW5zdGVhZCB3ZQorCQkgKiBjaGVjayBpZiB0aGUgZ2l2ZW4gZGV2aWNlIGhhcyB0aGUgc2FtZSBtYWpvci9taW5vciBudW1iZXIKKwkJICogYXMgdGhlIGRldmljZSB0aGF0IHRoZSByb290IGRpcmVjdG9yeSBpcyBvbi4KKwkJICovCisJCWlmIChmaWxlX3JkZXYgJiYgc3RhdCgiLyIsICZzdF9idWYpID09IDAgJiYKKwkJICAgIHN0X2J1Zi5zdF9kZXYgPT0gZmlsZV9yZGV2KSB7CisJCQkqbW91bnRfZmxhZ3MgPSBNRl9NT1VOVEVEOworCQkJaWYgKG10cHQpCisJCQkJc3RybmNweShtdHB0LCAiLyIsIG10bGVuKTsKKwkJCWdvdG8gaXNfcm9vdDsKKwkJfQorI2VuZGlmCS8qIF9fR05VX18gKi8KKwkJZ290byBlcnJvdXQ7CisJfQorI2lmbmRlZiBfX0dOVV9fIC8qIFRoZSBHTlUgaHVyZCBpcyBkZWZpY2llbnQ7IHdoYXQgZWxzZSBpcyBuZXc/ICovCisJLyogVmFsaWRhdGUgdGhlIGVudHJ5IGluIGNhc2UgL2V0Yy9tdGFiIGlzIG91dCBvZiBkYXRlICovCisJLyoKKwkgKiBXZSBuZWVkIHRvIGJlIHBhcmFub2lkLCBiZWNhdXNlIHNvbWUgYnJva2VuIGRpc3RyaWJ1dGlvbnMKKwkgKiAocmVhZDogU2xhY2t3YXJlKSBkb24ndCBpbml0aWFsaXplIC9ldGMvbXRhYiBiZWZvcmUgY2hlY2tpbmcKKwkgKiBhbGwgb2YgdGhlIG5vbi1yb290IGZpbGVzeXN0ZW1zIG9uIHRoZSBkaXNrLgorCSAqLworCWlmIChzdGF0KG1udC0+bW50X2RpciwgJnN0X2J1ZikgPCAwKSB7CisJCXJldHZhbCA9IGVycm5vOworCQlpZiAocmV0dmFsID09IEVOT0VOVCkgeworI2lmZGVmIERFQlVHCisJCQlwcmludGYoIkJvZ3VzIGVudHJ5IGluICVzISAgKCVzIGRvZXMgbm90IGV4aXN0KVxuIiwKKwkJCSAgICAgICBtdGFiX2ZpbGUsIG1udC0+bW50X2Rpcik7CisjZW5kaWYgLyogREVCVUcgKi8KKwkJCXJldHZhbCA9IDA7CisJCX0KKwkJZ290byBlcnJvdXQ7CisJfQorCWlmIChmaWxlX3JkZXYgJiYgKHN0X2J1Zi5zdF9kZXYgIT0gZmlsZV9yZGV2KSkgeworI2lmZGVmIERFQlVHCisJCXByaW50ZigiQm9ndXMgZW50cnkgaW4gJXMhICAoJXMgbm90IG1vdW50ZWQgb24gJXMpXG4iLAorCQkgICAgICAgbXRhYl9maWxlLCBmaWxlLCBtbnQtPm1udF9kaXIpOworI2VuZGlmIC8qIERFQlVHICovCisJCWdvdG8gZXJyb3V0OworCX0KKyNlbmRpZiAvKiBfX0dOVV9fICovCisJKm1vdW50X2ZsYWdzID0gTUZfTU9VTlRFRDsKKworI2lmZGVmIE1OVE9QVF9STworCS8qIENoZWNrIHRvIHNlZSBpZiB0aGUgcm8gb3B0aW9uIGlzIHNldCAqLworCWlmIChoYXNtbnRvcHQobW50LCBNTlRPUFRfUk8pKQorCQkqbW91bnRfZmxhZ3MgfD0gTUZfUkVBRE9OTFk7CisjZW5kaWYKKworCWlmIChtdHB0KQorCQlzdHJuY3B5KG10cHQsIG1udC0+bW50X2RpciwgbXRsZW4pOworCS8qCisJICogQ2hlY2sgdG8gc2VlIGlmIHdlJ3JlIHJlZmVycmluZyB0byB0aGUgcm9vdCBmaWxlc3lzdGVtLgorCSAqIElmIHNvLCBkbyBhIG1hbnVhbCBjaGVjayB0byBzZWUgaWYgd2UgY2FuIG9wZW4gL2V0Yy9tdGFiCisJICogcmVhZC93cml0ZSwgc2luY2UgaWYgdGhlIHJvb3QgaXMgbW91bnRlZCByZWFkL29ubHksIHRoZQorCSAqIGNvbnRlbnRzIG9mIC9ldGMvbXRhYiBtYXkgbm90IGJlIGFjY3VyYXRlLgorCSAqLworCWlmICghc3RyY21wKG1udC0+bW50X2RpciwgIi8iKSkgeworaXNfcm9vdDoKKyNkZWZpbmUgVEVTVF9GSUxFICIvLmlzbW91bnQtdGVzdC1maWxlIgorCQkqbW91bnRfZmxhZ3MgfD0gTUZfSVNST09UOworCQlmZCA9IG9wZW4oVEVTVF9GSUxFLCBPX1JEV1J8T19DUkVBVHxPX0NMT0VYRUMsIDA2MDApOworCQlpZiAoZmQgPCAwKSB7CisJCQlpZiAoZXJybm8gPT0gRVJPRlMpCisJCQkJKm1vdW50X2ZsYWdzIHw9IE1GX1JFQURPTkxZOworCQl9IGVsc2UKKwkJCWNsb3NlKGZkKTsKKwkJKHZvaWQpIHVubGluayhURVNUX0ZJTEUpOworCX0KKwlyZXR2YWwgPSAwOworZXJyb3V0OgorCWVuZG1udGVudCAoZik7CisJcmV0dXJuIHJldHZhbDsKK30KKworc3RhdGljIGludCBjaGVja19tbnRlbnQoY29uc3QgY2hhciAqZmlsZSwgaW50ICptb3VudF9mbGFncywKKwkJCSAgICAgIGNoYXIgKm10cHQsIGludCBtdGxlbikKK3sKKwlpbnQJcmV0dmFsOworCisjaWZkZWYgREVCVUcKKwlyZXR2YWwgPSBjaGVja19tbnRlbnRfZmlsZSgiL3RtcC9tdGFiIiwgZmlsZSwgbW91bnRfZmxhZ3MsCisJCQkJICAgbXRwdCwgbXRsZW4pOworCWlmIChyZXR2YWwgPT0gMCkKKwkJcmV0dXJuIDA7CisjZW5kaWYgLyogREVCVUcgKi8KKyNpZmRlZiBfX2xpbnV4X18KKwlyZXR2YWwgPSBjaGVja19tbnRlbnRfZmlsZSgiL3Byb2MvbW91bnRzIiwgZmlsZSwgbW91bnRfZmxhZ3MsCisJCQkJICAgbXRwdCwgbXRsZW4pOworCWlmIChyZXR2YWwgPT0gMCAmJiAoKm1vdW50X2ZsYWdzICE9IDApKQorCQlyZXR1cm4gMDsKKwlpZiAoYWNjZXNzKCIvcHJvYy9tb3VudHMiLCBSX09LKSA9PSAwKSB7CisJCSptb3VudF9mbGFncyA9IDA7CisJCXJldHVybiByZXR2YWw7CisJfQorI2VuZGlmIC8qIF9fbGludXhfXyAqLworI2lmIGRlZmluZWQoTU9VTlRFRCkgfHwgZGVmaW5lZChfUEFUSF9NT1VOVEVEKQorI2lmbmRlZiBNT1VOVEVECisjZGVmaW5lIE1PVU5URUQgX1BBVEhfTU9VTlRFRAorI2VuZGlmIC8qIE1PVU5URUQgKi8KKwlyZXR2YWwgPSBjaGVja19tbnRlbnRfZmlsZShNT1VOVEVELCBmaWxlLCBtb3VudF9mbGFncywgbXRwdCwgbXRsZW4pOworCXJldHVybiByZXR2YWw7CisjZWxzZQorCSptb3VudF9mbGFncyA9IDA7CisJcmV0dXJuIDA7CisjZW5kaWYgLyogZGVmaW5lZChNT1VOVEVEKSB8fCBkZWZpbmVkKF9QQVRIX01PVU5URUQpICovCit9CisKKyNlbHNlCisjaWYgZGVmaW5lZChIQVZFX0dFVE1OVElORk8pCisKK3N0YXRpYyBpbnQgY2hlY2tfZ2V0bW50aW5mbyhjb25zdCBjaGFyICpmaWxlLCBpbnQgKm1vdW50X2ZsYWdzLAorCQkJCSAgY2hhciAqbXRwdCwgaW50IG10bGVuKQoreworCXN0cnVjdCBzdGF0ZnMgKm1wOworICAgICAgICBpbnQgICAgbGVuLCBuOworICAgICAgICBjb25zdCAgY2hhciAgICpzMTsKKwljaGFyCSpzMjsKKworICAgICAgICBuID0gZ2V0bW50aW5mbygmbXAsIE1OVF9OT1dBSVQpOworICAgICAgICBpZiAobiA9PSAwKQorCQlyZXR1cm4gZXJybm87CisKKyAgICAgICAgbGVuID0gc2l6ZW9mKF9QQVRIX0RFVikgLSAxOworICAgICAgICBzMSA9IGZpbGU7CisgICAgICAgIGlmIChzdHJuY21wKF9QQVRIX0RFViwgczEsIGxlbikgPT0gMCkKKyAgICAgICAgICAgICAgICBzMSArPSBsZW47CisKKwkqbW91bnRfZmxhZ3MgPSAwOworICAgICAgICB3aGlsZSAoLS1uID49IDApIHsKKyAgICAgICAgICAgICAgICBzMiA9IG1wLT5mX21udGZyb21uYW1lOworICAgICAgICAgICAgICAgIGlmIChzdHJuY21wKF9QQVRIX0RFViwgczIsIGxlbikgPT0gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgczIgKz0gbGVuIC0gMTsKKyAgICAgICAgICAgICAgICAgICAgICAgICpzMiA9ICdyJzsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgaWYgKHN0cmNtcChzMSwgczIpID09IDAgfHwgc3RyY21wKHMxLCAmczJbMV0pID09IDApIHsKKwkJCSptb3VudF9mbGFncyA9IE1GX01PVU5URUQ7CisJCQlicmVhazsKKwkJfQorICAgICAgICAgICAgICAgICsrbXA7CisJfQorCWlmIChtdHB0KQorCQlzdHJuY3B5KG10cHQsIG1wLT5mX21udG9ubmFtZSwgbXRsZW4pOworCXJldHVybiAwOworfQorI2VuZGlmIC8qIEhBVkVfR0VUTU5USU5GTyAqLworI2VuZGlmIC8qIEhBVkVfTU5URU5UX0ggKi8KKworLyoKKyAqIENoZWNrIHRvIHNlZSBpZiB3ZSdyZSBkZWFsaW5nIHdpdGggdGhlIHN3YXAgZGV2aWNlLgorICovCitzdGF0aWMgaW50IGlzX3N3YXBfZGV2aWNlKGNvbnN0IGNoYXIgKmZpbGUpCit7CisJRklMRQkJKmY7CisJY2hhcgkJYnVmWzEwMjRdLCAqY3A7CisJZGV2X3QJCWZpbGVfZGV2OworCXN0cnVjdCBzdGF0CXN0X2J1ZjsKKwlpbnQJCXJldCA9IDA7CisKKwlmaWxlX2RldiA9IDA7CisjaWZuZGVmIF9fR05VX18gLyogVGhlIEdOVSBodXJkIGlzIGJyb2tlbiB3aXRoIHJlc3BlY3QgdG8gc3RhdCBkZXZpY2VzICovCisJaWYgKChzdGF0KGZpbGUsICZzdF9idWYpID09IDApICYmCisJICAgIFNfSVNCTEsoc3RfYnVmLnN0X21vZGUpKQorCQlmaWxlX2RldiA9IHN0X2J1Zi5zdF9yZGV2OworI2VuZGlmCS8qIF9fR05VX18gKi8KKworCWlmICghKGYgPSBmb3BlbigiL3Byb2Mvc3dhcHMiLCAiciIgVUxfQ0xPRVhFQ1NUUikpKQorCQlyZXR1cm4gMDsKKwkvKiBTa2lwIHRoZSBmaXJzdCBsaW5lICovCisJaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkKKwkJZ290byBsZWF2ZTsKKwlpZiAoKmJ1ZiAmJiBzdHJuY21wKGJ1ZiwgIkZpbGVuYW1lXHQiLCA5KSkKKwkJLyogTGludXggPD0yLjYuMTkgY29udGFpbmVkIGEgYnVnIGluIHRoZSAvcHJvYy9zd2FwcworCQkgKiBjb2RlIHdoZXJlIHRoZSBoZWFkZXIgd291bGQgbm90IGJlIGRpc3BsYXllZAorCQkgKi8KKwkJZ290byB2YWxpZF9maXJzdF9saW5lOworCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKSB7Cit2YWxpZF9maXJzdF9saW5lOgorCQlpZiAoKGNwID0gc3RyY2hyKGJ1ZiwgJyAnKSkgIT0gTlVMTCkKKwkJCSpjcCA9IDA7CisJCWlmICgoY3AgPSBzdHJjaHIoYnVmLCAnXHQnKSkgIT0gTlVMTCkKKwkJCSpjcCA9IDA7CisJCWlmIChzdHJjbXAoYnVmLCBmaWxlKSA9PSAwKSB7CisJCQlyZXQrKzsKKwkJCWJyZWFrOworCQl9CisjaWZuZGVmIF9fR05VX18KKwkJaWYgKGZpbGVfZGV2ICYmIChzdGF0KGJ1ZiwgJnN0X2J1ZikgPT0gMCkgJiYKKwkJICAgIFNfSVNCTEsoc3RfYnVmLnN0X21vZGUpICYmCisJCSAgICBmaWxlX2RldiA9PSBzdF9idWYuc3RfcmRldikgeworCQkJcmV0Kys7CisJCQlicmVhazsKKwkJfQorI2VuZGlmCS8qIF9fR05VX18gKi8KKwl9CisKK2xlYXZlOgorCWZjbG9zZShmKTsKKwlyZXR1cm4gcmV0OworfQorCisKKy8qCisgKiBjaGVja19tb3VudF9wb2ludCgpIGZpbGxzIGRldGVybWluZXMgaWYgdGhlIGRldmljZSBpcyBtb3VudGVkIG9yIG90aGVyd2lzZQorICogYnVzeSwgYW5kIGZpbGxzIGluIG1vdW50X2ZsYWdzIHdpdGggb25lIG9yIG1vcmUgb2YgdGhlIGZvbGxvd2luZyBmbGFnczoKKyAqIE1GX01PVU5URUQsIE1GX0lTUk9PVCwgTUZfUkVBRE9OTFksIE1GX1NXQVAsIGFuZCBNRl9CVVNZLiAgSWYgbXRwdCBpcworICogbm9uLU5VTEwsIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIGlzIGNvcGllZCB0byB3aGVyZSBtdHB0CisgKiBpcyBwb2ludGluZywgdXAgdG8gbXRsZW4gY2hhcmFjdGVycy4KKyAqLworI2lmZGVmIF9fVFVSQk9DX18KKyAjcHJhZ21hIGFyZ3N1c2VkCisjZW5kaWYKK2ludCBjaGVja19tb3VudF9wb2ludChjb25zdCBjaGFyICpkZXZpY2UsIGludCAqbW91bnRfZmxhZ3MsCisJCQkJICBjaGFyICptdHB0LCBpbnQgbXRsZW4pCit7CisJaW50CXJldHZhbCA9IDA7CisKKwlpZiAoaXNfc3dhcF9kZXZpY2UoZGV2aWNlKSkgeworCQkqbW91bnRfZmxhZ3MgPSBNRl9NT1VOVEVEIHwgTUZfU1dBUDsKKwkJaWYgKG10cHQgJiYgbXRsZW4pCisJCQlzdHJuY3B5KG10cHQsICJbU1dBUF0iLCBtdGxlbik7CisJfSBlbHNlIHsKKyNpZmRlZiBIQVZFX01OVEVOVF9ICisJCXJldHZhbCA9IGNoZWNrX21udGVudChkZXZpY2UsIG1vdW50X2ZsYWdzLCBtdHB0LCBtdGxlbik7CisjZWxzZQorI2lmZGVmIEhBVkVfR0VUTU5USU5GTworCQlyZXR2YWwgPSBjaGVja19nZXRtbnRpbmZvKGRldmljZSwgbW91bnRfZmxhZ3MsIG10cHQsIG10bGVuKTsKKyNlbHNlCisjaWZkZWYgX19HTlVDX18KKyAjd2FybmluZyAiQ2FuJ3QgdXNlIGdldG1udGVudCBvciBnZXRtbnRpbmZvIHRvIGNoZWNrIGZvciBtb3VudGVkIGZpbGVzeXN0ZW1zISIKKyNlbmRpZgorCQkqbW91bnRfZmxhZ3MgPSAwOworI2VuZGlmIC8qIEhBVkVfR0VUTU5USU5GTyAqLworI2VuZGlmIC8qIEhBVkVfTU5URU5UX0ggKi8KKwl9CisJaWYgKHJldHZhbCkKKwkJcmV0dXJuIHJldHZhbDsKKworI2lmZGVmIF9fbGludXhfXyAvKiBUaGlzIG9ubHkgd29ya3Mgb24gTGludXggMi42KyBzeXN0ZW1zICovCisJeworCQlzdHJ1Y3Qgc3RhdCBzdF9idWY7CisJCWludCBmZDsKKwkJaWYgKChzdGF0KGRldmljZSwgJnN0X2J1ZikgIT0gMCkgfHwKKwkJICAgICFTX0lTQkxLKHN0X2J1Zi5zdF9tb2RlKSkKKwkJCXJldHVybiAwOworCQlmZCA9IG9wZW4oZGV2aWNlLCBPX1JET05MWXxPX0VYQ0x8T19DTE9FWEVDKTsKKwkJaWYgKGZkIDwgMCkgeworCQkJaWYgKGVycm5vID09IEVCVVNZKQorCQkJCSptb3VudF9mbGFncyB8PSBNRl9CVVNZOworCQl9IGVsc2UKKwkJCWNsb3NlKGZkKTsKKwl9CisjZW5kaWYKKworCXJldHVybiAwOworfQorCitpbnQgaXNfbW91bnRlZChjb25zdCBjaGFyICpmaWxlKQoreworCWludAlyZXR2YWw7CisJaW50CW1vdW50X2ZsYWdzID0gMDsKKworCXJldHZhbCA9IGNoZWNrX21vdW50X3BvaW50KGZpbGUsICZtb3VudF9mbGFncywgTlVMTCwgMCk7CisJaWYgKHJldHZhbCkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIG1vdW50X2ZsYWdzICYgTUZfTU9VTlRFRDsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTV9JU01PVU5URUQKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgZmxhZ3MgPSAwOworCWNoYXIgZGV2bmFtZVtQQVRIX01BWF07CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgZGV2aWNlXG4iLCBhcmd2WzBdKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKKwlpZiAoY2hlY2tfbW91bnRfcG9pbnQoYXJndlsxXSwgJmZsYWdzLCBkZXZuYW1lLCBzaXplb2YoZGV2bmFtZSkpID09IDAgJiYKKwkgICAgKGZsYWdzICYgTUZfTU9VTlRFRCkpIHsKKwkJaWYgKGZsYWdzICYgTUZfU1dBUCkKKwkJCXByaW50ZigidXNlZCBzd2FwIGRldmljZVxuIik7CisJCWVsc2UKKwkJCXByaW50ZigibW91bnRlZCBvbiAlc1xuIiwgZGV2bmFtZSk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJcHJpbnRmKCJub3QgbW91bnRlZFxuIik7CisJcmV0dXJuIEVYSVRfRkFJTFVSRTsKK30KKyNlbmRpZiAvKiBERUJVRyAqLwpkaWZmIC0tZ2l0IGEvbGliL2xhbmdpbmZvLmMgYi9saWIvbGFuZ2luZm8uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWEwYTNiCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2xhbmdpbmZvLmMKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBUaGlzIGlzIGNhbGxiYWNrIHNvbHV0aW9uIGZvciBzeXN0ZW1zIHdpdGhvdXQgbmxfbGFuZ2luZm8oKSwgdGhpcyBmdW5jdGlvbgorICogcmV0dXJucyBoYXJkY29kZWQgYW5kIG9uIGxvY2FsZSBzZXR0aW5nIGluZGVwbmRlbnQgdmFsdWUuCisgKgorICogU2VlIGxhbmdpbmZvLmggbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlICJubHMuaCIKKworY2hhciAqbGFuZ2luZm9fZmFsbGJhY2sobmxfaXRlbSBpdGVtKQoreworCXN3aXRjaCAoaXRlbSkgeworCWNhc2UgQ09ERVNFVDoKKwkJcmV0dXJuICJJU08tODg1OS0xIjsKKwljYXNlIFRIT1VTRVA6CisJCXJldHVybiAiLCI7CisJY2FzZSBEX1RfRk1UOgorCWNhc2UgRVJBX0RfVF9GTVQ6CisJCXJldHVybiAiJWEgJWIgJWUgJUg6JU06JVMgJVkiOworCWNhc2UgRF9GTVQ6CisJY2FzZSBFUkFfRF9GTVQ6CisJCXJldHVybiAiJW0vJWQvJXkiOworCWNhc2UgVF9GTVQ6CisJY2FzZSBFUkFfVF9GTVQ6CisJCXJldHVybiAiJUg6JU06JVMiOworCWNhc2UgVF9GTVRfQU1QTToKKwkJcmV0dXJuICIlSTolTTolUyAlcCI7CisJY2FzZSBBTV9TVFI6CisJCXJldHVybiAiQU0iOworCWNhc2UgUE1fU1RSOgorCQlyZXR1cm4gIlBNIjsKKwljYXNlIERBWV8xOgorCQlyZXR1cm4gIlN1bmRheSI7CisJY2FzZSBEQVlfMjoKKwkJcmV0dXJuICJNb25kYXkiOworCWNhc2UgREFZXzM6CisJCXJldHVybiAiVHVlc2RheSI7CisJY2FzZSBEQVlfNDoKKwkJcmV0dXJuICJXZWRuZXNkYXkiOworCWNhc2UgREFZXzU6CisJCXJldHVybiAiVGh1cnNkYXkiOworCWNhc2UgREFZXzY6CisJCXJldHVybiAiRnJpZGF5IjsKKwljYXNlIERBWV83OgorCQlyZXR1cm4gIlNhdHVyZGF5IjsKKwljYXNlIEFCREFZXzE6CisJCXJldHVybiAiU3VuIjsKKwljYXNlIEFCREFZXzI6CisJCXJldHVybiAiTW9uIjsKKwljYXNlIEFCREFZXzM6CisJCXJldHVybiAiVHVlIjsKKwljYXNlIEFCREFZXzQ6CisJCXJldHVybiAiV2VkIjsKKwljYXNlIEFCREFZXzU6CisJCXJldHVybiAiVGh1IjsKKwljYXNlIEFCREFZXzY6CisJCXJldHVybiAiRnJpIjsKKwljYXNlIEFCREFZXzc6CisJCXJldHVybiAiU2F0IjsKKwljYXNlIE1PTl8xOgorCQlyZXR1cm4gIkphbnVhcnkiOworCWNhc2UgTU9OXzI6CisJCXJldHVybiAiRmVicnVhcnkiOworCWNhc2UgTU9OXzM6CisJCXJldHVybiAiTWFyY2giOworCWNhc2UgTU9OXzQ6CisJCXJldHVybiAiQXByaWwiOworCWNhc2UgTU9OXzU6CisJCXJldHVybiAiTWF5IjsKKwljYXNlIE1PTl82OgorCQlyZXR1cm4gIkp1bmUiOworCWNhc2UgTU9OXzc6CisJCXJldHVybiAiSnVseSI7CisJY2FzZSBNT05fODoKKwkJcmV0dXJuICJBdWd1c3QiOworCWNhc2UgTU9OXzk6CisJCXJldHVybiAiU2VwdGVtYmVyIjsKKwljYXNlIE1PTl8xMDoKKwkJcmV0dXJuICJPY3RvYmVyIjsKKwljYXNlIE1PTl8xMToKKwkJcmV0dXJuICJOb3ZlbWJlciI7CisJY2FzZSBNT05fMTI6CisJCXJldHVybiAiRGVjZW1iZXIiOworCWNhc2UgQUJNT05fMToKKwkJcmV0dXJuICJKYW4iOworCWNhc2UgQUJNT05fMjoKKwkJcmV0dXJuICJGZWIiOworCWNhc2UgQUJNT05fMzoKKwkJcmV0dXJuICJNYXIiOworCWNhc2UgQUJNT05fNDoKKwkJcmV0dXJuICJBcHIiOworCWNhc2UgQUJNT05fNToKKwkJcmV0dXJuICJNYXkiOworCWNhc2UgQUJNT05fNjoKKwkJcmV0dXJuICJKdW4iOworCWNhc2UgQUJNT05fNzoKKwkJcmV0dXJuICJKdWwiOworCWNhc2UgQUJNT05fODoKKwkJcmV0dXJuICJBdWciOworCWNhc2UgQUJNT05fOToKKwkJcmV0dXJuICJTZXAiOworCWNhc2UgQUJNT05fMTA6CisJCXJldHVybiAiT2N0IjsKKwljYXNlIEFCTU9OXzExOgorCQlyZXR1cm4gIk5vdiI7CisJY2FzZSBBQk1PTl8xMjoKKwkJcmV0dXJuICJEZWMiOworCWNhc2UgQUxUX0RJR0lUUzoKKwkJcmV0dXJuICJcMFwwXDBcMFwwXDBcMFwwXDBcMCI7CisJY2FzZSBDUk5DWVNUUjoKKwkJcmV0dXJuICItIjsKKwljYXNlIFlFU0VYUFI6CisJCXJldHVybiAiXlt5WV0iOworCWNhc2UgTk9FWFBSOgorCQlyZXR1cm4gIl5bbk5dIjsKKwlkZWZhdWx0OgorCQlyZXR1cm4gIiI7CisJfQorfQorCmRpZmYgLS1naXQgYS9saWIvbGludXhfdmVyc2lvbi5jIGIvbGliL2xpbnV4X3ZlcnNpb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzdiYmU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL2xpbnV4X3ZlcnNpb24uYwpAQCAtMCwwICsxLDcxIEBACisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImxpbnV4X3ZlcnNpb24uaCIKKworaW50IGdldF9saW51eF92ZXJzaW9uICh2b2lkKQoreworCXN0YXRpYyBpbnQga3ZlciA9IC0xOworCXN0cnVjdCB1dHNuYW1lIHV0czsKKwlpbnQgeCA9IDAsIHkgPSAwLCB6ID0gMDsKKwlpbnQgbjsKKworCWlmIChrdmVyICE9IC0xKQorCQlyZXR1cm4ga3ZlcjsKKwlpZiAodW5hbWUoJnV0cykpCisJCXJldHVybiBrdmVyID0gMDsKKworCW4gPSBzc2NhbmYodXRzLnJlbGVhc2UsICIlZC4lZC4lZCIsICZ4LCAmeSwgJnopOworCWlmIChuIDwgMSB8fCBuID4gMykKKwkJcmV0dXJuIGt2ZXIgPSAwOworCisJcmV0dXJuIGt2ZXIgPSBLRVJORUxfVkVSU0lPTih4LCB5LCB6KTsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTV9MSU5VWFZFUlNJT04KKyMgaW5jbHVkZSA8c3RkbGliLmg+CitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCByYyA9IEVYSVRfRkFJTFVSRTsKKworCWlmIChhcmdjID09IDEpIHsKKwkJcHJpbnRmKCJMaW51eCB2ZXJzaW9uOiAlZFxuIiwgZ2V0X2xpbnV4X3ZlcnNpb24oKSk7CisJCXJjID0gRVhJVF9TVUNDRVNTOworCisJfSBlbHNlIGlmIChhcmdjID09IDUpIHsKKwkJY29uc3QgY2hhciAqb3BlciA9IGFyZ3ZbMV07CisKKwkJaW50IHggPSBhdG9pKGFyZ3ZbMl0pLAorCQkgICAgeSA9IGF0b2koYXJndlszXSksCisJCSAgICB6ID0gYXRvaShhcmd2WzRdKTsKKwkJaW50IGt2ZXIgPSBnZXRfbGludXhfdmVyc2lvbigpOworCQlpbnQgdXZlciA9IEtFUk5FTF9WRVJTSU9OKHgsIHksIHopOworCisJCWlmIChzdHJjbXAob3BlciwgIj09IikgPT0gMCkKKwkJCXJjID0ga3ZlciA9PSB1dmVyOworCQllbHNlIGlmIChzdHJjbXAob3BlciwgIjw9IikgPT0gMCkKKwkJCXJjID0ga3ZlciA8PSB1dmVyOworCQllbHNlIGlmIChzdHJjbXAob3BlciwgIj49IikgPT0gMCkKKwkJCXJjID0ga3ZlciA+PSB1dmVyOworCQllbHNlCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgInVuc3VwcG9ydGVkIG9wZXJhdG9yIik7CisKKwkJaWYgKHJjKQorCQkJcHJpbnRmKCJtYXRjaFxuIik7CisJCWVsc2UKKwkJCXByaW50Zigibm90LW1hdGNoIFslZCAlcyAlZCwgeC55Lno6ICVkLiVkLiVkXVxuIiwKKwkJCQkJa3Zlciwgb3BlciwgdXZlciwgeCwgeSwgeik7CisKKwkJcmMgPSByYyA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKKworCX0gZWxzZQorCQkgZnByaW50ZihzdGRlcnIsICJVc2FnZTpcbiIKKwkJCQkgIiAgICVzIFs8b3Blcj4gPHg+IDx5PiA8ej5dXG4iCisJCQkJICJzdXBwb3J0ZWQgb3BlcmF0b3JzOlxuIgorCQkJCSAiICAgPT0sIDw9LCA+PVxuIiwKKwkJCQkgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJcmV0dXJuIHJjOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWIvbG9vcGRldi5jIGIvbGliL2xvb3BkZXYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWIwNWFmCi0tLSAvZGV2L251bGwKKysrIGIvbGliL2xvb3BkZXYuYwpAQCAtMCwwICsxLDE3OTUgQEAKKworLyoKKyAqIE5vIGNvcHlyaWdodCBpcyBjbGFpbWVkLiAgVGhpcyBjb2RlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluOyBkbyB3aXRoCisgKiBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogLS0gYmFzZWQgb24gbW91bnQvbG9zZXR1cC5jCisgKgorICogU2ltcGxlIGxpYnJhcnkgZm9yIHdvcmsgd2l0aCBsb29wIGRldmljZXMuCisgKgorICogIC0gcmVxdWlyZXMga2VybmVsIDIuNi54CisgKiAgLSByZWFkcyBpbmZvIGZyb20gL3N5cy9ibG9jay9sb29wPE4+L2xvb3AvPGF0dHI+IChuZXcga2VybmVscykKKyAqICAtIHJlYWRzIGluZm8gYnkgaW9jdGwKKyAqICAtIHN1cHBvcnRzICp1bmxpbWl0ZWQqIG51bWJlciBvZiBsb29wIGRldmljZXMKKyAqICAtIHN1cHBvcnRzIC9kZXYvbG9vcDxOPiBhcyB3ZWxsIGFzIC9kZXYvbG9vcC88Tj4KKyAqICAtIG1pbmltaXplIG92ZXJoZWFkIChmZCwgbG9vcGluZm8sIC4uLiBhcmUgc2hhcmVkIGZvciBhbGwgb3BlcmF0aW9ucykKKyAqICAtIHNldHVwIChhc3NvY2lhdGUgZGV2aWNlIGFuZCBiYWNraW5nIGZpbGUpCisgKiAgLSBkZWxldGUgKGRpcy1hc3NvY2lhdGUgZmlsZSkKKyAqICAtIG9sZCBMT09QX3tTRVQsR0VUfV9TVEFUVVMgKDMyYml0KSBpb2N0bHMgYXJlIHVuc3VwcG9ydGVkCisgKiAgLSBleHRlbmRpYmxlCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKworI2luY2x1ZGUgImxpbnV4X3ZlcnNpb24uaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJsb29wZGV2LmgiCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAiZGVidWcuaCIKKworLyoKKyAqIERlYnVnIHN0dWZmIChiYXNlZCBvbiBpbmNsdWRlL2RlYnVnLmgpCisgKi8KK3N0YXRpYyBVTF9ERUJVR19ERUZJTkVfTUFTSyhsb29wZGV2KTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVMobG9vcGRldikgPSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVM7CisKKyNkZWZpbmUgTE9PUERFVl9ERUJVR19JTklUCSgxIDw8IDEpCisjZGVmaW5lIExPT1BERVZfREVCVUdfQ1hUCSgxIDw8IDIpCisjZGVmaW5lIExPT1BERVZfREVCVUdfSVRFUgkoMSA8PCAzKQorI2RlZmluZSBMT09QREVWX0RFQlVHX1NFVFVQCSgxIDw8IDQpCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKGxvb3BkZXYsIExPT1BERVZfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkgICAgX19VTF9EQkdfQ0FMTChsb29wZGV2LCBMT09QREVWX0RFQlVHXywgbSwgeCkKKworI2RlZmluZSBVTF9ERUJVR19DVVJSRU5UX01BU0sJVUxfREVCVUdfTUFTSyhsb29wZGV2KQorI2luY2x1ZGUgImRlYnVnb2JqLmgiCisKK3N0YXRpYyB2b2lkIGxvb3BkZXZfaW5pdF9kZWJ1Zyh2b2lkKQoreworCWlmIChsb29wZGV2X2RlYnVnX21hc2spCisJCXJldHVybjsKKwlfX1VMX0lOSVRfREVCVUdfRlJPTV9FTlYobG9vcGRldiwgTE9PUERFVl9ERUJVR18sIDAsIExPT1BERVZfREVCVUcpOworfQorCisvKgorICogc2VlIGxvb3BjeHRfaW5pdCgpCisgKi8KKyNkZWZpbmUgbG9vcGN4dF9pb2N0bF9lbmFibGVkKF9sYykJKCEoKF9sYyktPmZsYWdzICYgTE9PUERFVl9GTF9OT0lPQ1RMKSkKKyNkZWZpbmUgbG9vcGN4dF9zeXNmc19hdmFpbGFibGUoX2xjKQkoISgoX2xjKS0+ZmxhZ3MgJiBMT09QREVWX0ZMX05PU1lTRlMpKSBcCisJCQkJCSAmJiAhbG9vcGN4dF9pb2N0bF9lbmFibGVkKF9sYykKKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGRldmljZTogZGV2aWNlIG5hbWUsIGFic29sdXRlIGRldmljZSBwYXRoIG9yIE5VTEwgdG8gcmVzZXQgdGhlIGN1cnJlbnQgc2V0dGluZworICoKKyAqIFNldHMgZGV2aWNlLCBhYnNvbHV0ZSBwYXRocyAoZS5nLiAiL2Rldi9sb29wPE4+IikgYXJlIHVuY2hhbmdlZCwgZGV2aWNlCisgKiBuYW1lcyAoImxvb3A8Tj4iKSBhcmUgY29udmVydGVkIHRvIHRoZSBwYXRoICgvZGV2L2xvb3A8Tj4gb3IgdG8KKyAqIC9kZXYvbG9vcC88Tj4pCisgKgorICogVGhpcyBzZXRzIHRoZSBkZXZpY2UgbmFtZSwgYnV0IGRvZXMgbm90IGNoZWNrIGlmIHRoZSBkZXZpY2UgZXhpc3RzIQorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MKKyAqLworaW50IGxvb3BjeHRfc2V0X2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBjb25zdCBjaGFyICpkZXZpY2UpCit7CisJaWYgKCFsYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAobGMtPmZkID49IDApIHsKKwkJY2xvc2UobGMtPmZkKTsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJjbG9zaW5nIG9sZCBvcGVuIGZkIikpOworCX0KKwlsYy0+ZmQgPSAtMTsKKwlsYy0+bW9kZSA9IDA7CisJbGMtPmhhc19pbmZvID0gMDsKKwlsYy0+aW5mb19mYWlsZWQgPSAwOworCSpsYy0+ZGV2aWNlID0gJ1wwJzsKKwltZW1zZXQoJmxjLT5pbmZvLCAwLCBzaXplb2YobGMtPmluZm8pKTsKKworCS8qIHNldCBuZXcgKi8KKwlpZiAoZGV2aWNlKSB7CisJCWlmICgqZGV2aWNlICE9ICcvJykgeworCQkJY29uc3QgY2hhciAqZGlyID0gX1BBVEhfREVWOworCisJCQkvKiBjb21wb3NlIGRldmljZSBuYW1lIGZvciAvZGV2L2xvb3A8bj4gb3IgL2Rldi9sb29wLzxuPiAqLworCQkJaWYgKGxjLT5mbGFncyAmIExPT1BERVZfRkxfREVWU1VCRElSKSB7CisJCQkJaWYgKHN0cmxlbihkZXZpY2UpIDwgNSkKKwkJCQkJcmV0dXJuIC0xOworCQkJCWRldmljZSArPSA0OworCQkJCWRpciA9IF9QQVRIX0RFVl9MT09QICIvIjsJLyogX1BBVEhfREVWIHVzZXMgdGFpbGluZyBzbGFzaCAqLworCQkJfQorCQkJc25wcmludGYobGMtPmRldmljZSwgc2l6ZW9mKGxjLT5kZXZpY2UpLCAiJXMlcyIsCisJCQkJZGlyLCBkZXZpY2UpOworCQl9IGVsc2UgeworCQkJc3RybmNweShsYy0+ZGV2aWNlLCBkZXZpY2UsIHNpemVvZihsYy0+ZGV2aWNlKSk7CisJCQlsYy0+ZGV2aWNlW3NpemVvZihsYy0+ZGV2aWNlKSAtIDFdID0gJ1wwJzsKKwkJfQorCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgIiVzIG5hbWUgYXNzaWduZWQiLCBkZXZpY2UpKTsKKwl9CisKKwl1bF91bnJlZl9wYXRoKGxjLT5zeXNmcyk7CisJbGMtPnN5c2ZzID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworaW50IGxvb3BjeHRfaGFzX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCXJldHVybiBsYyAmJiAqbGMtPmRldmljZTsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGZsYWdzOiBMT09QREVWX0ZMXyogZmxhZ3MKKyAqCisgKiBJbml0aWFsaXplIGxvb3AgaGFuZGxlci4KKyAqCisgKiBXZSBoYXZlIHR3byBzZXRzIG9mIHRoZSBmbGFnczoKKyAqCisgKgkqIExPT1BERVZfRkxfKiBmbGFncyBjb250cm9sIGxvb3BjeHRfKiBBUEkgYmVoYXZpb3IKKyAqCisgKgkqIExPX0ZMQUdTXyogYXJlIGtlcm5lbCBmbGFncyB1c2VkIGZvciBMT09QX3tTRVQsR0VUfV9TVEFUNjQgaW9jdGxzCisgKgorICogTm90ZSBhYm91dCBMT09QREVWX0ZMX3tSRE9OTFksUkRXUn0gZmxhZ3MuIFRoZXNlIGZsYWdzIGFyZSB1c2VkIGZvciBvcGVuKDIpCisgKiBzeXNjYWxsIHRvIG9wZW4gbG9vcCBkZXZpY2UuIEJ5IGRlZmF1bHQgaXMgdGhlIGRldmljZSBvcGVuIHJlYWQtb25seS4KKyAqCisgKiBUaGUgZXhjZXB0aW9uIGlzIGxvb3BjeHRfc2V0dXBfZGV2aWNlKCksIHdoZXJlIHRoZSBkZXZpY2UgaXMgb3BlbiByZWFkLXdyaXRlCisgKiBpZiBMT19GTEFHU19SRUFEX09OTFkgZmxhZ3MgaXMgbm90IHNldCAoc2VlIGxvb3BjeHRfc2V0X2ZsYWdzKCkpLgorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBsb29wY3h0X2luaXQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgaW50IGZsYWdzKQoreworCWludCByYzsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdHJ1Y3QgbG9vcGRldl9jeHQgZHVtbXkgPSBVTF9MT09QREVWQ1hUX0VNUFRZOworCisJaWYgKCFsYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlsb29wZGV2X2luaXRfZGVidWcoKTsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImluaXRpYWxpemUgY29udGV4dCIpKTsKKworCW1lbWNweShsYywgJmR1bW15LCBzaXplb2YoZHVtbXkpKTsKKwlsYy0+ZmxhZ3MgPSBmbGFnczsKKworCXJjID0gbG9vcGN4dF9zZXRfZGV2aWNlKGxjLCBOVUxMKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWlmIChzdGF0KF9QQVRIX1NZU19CTE9DSywgJnN0KSB8fCAhU19JU0RJUihzdC5zdF9tb2RlKSkgeworCQlsYy0+ZmxhZ3MgfD0gTE9PUERFVl9GTF9OT1NZU0ZTOworCQlsYy0+ZmxhZ3MgJj0gfkxPT1BERVZfRkxfTk9JT0NUTDsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJpbml0OiBkaXNhYmxlIC9zeXMgdXNhZ2UiKSk7CisJfQorCisJaWYgKCEobGMtPmZsYWdzICYgTE9PUERFVl9GTF9OT1NZU0ZTKSAmJgorCSAgICBnZXRfbGludXhfdmVyc2lvbigpID49IEtFUk5FTF9WRVJTSU9OKDIsNiwzNykpIHsKKwkJLyoKKwkJICogVXNlIG9ubHkgc3lzZnMgZm9yIGJhc2ljIGluZm9ybWF0aW9uIGFib3V0IGxvb3AgZGV2aWNlcworCQkgKi8KKwkJbGMtPmZsYWdzIHw9IExPT1BERVZfRkxfTk9JT0NUTDsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJpbml0OiBpZ25vcmUgaW9jdGxzIikpOworCX0KKworCWlmICghKGxjLT5mbGFncyAmIExPT1BERVZfRkxfQ09OVFJPTCkgJiYgIXN0YXQoX1BBVEhfREVWX0xPT1BDVEwsICZzdCkpIHsKKwkJbGMtPmZsYWdzIHw9IExPT1BERVZfRkxfQ09OVFJPTDsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJpbml0OiBsb29wLWNvbnRyb2wgZGV0ZWN0ZWQgIikpOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogRGVpbml0aWFsaXplIGxvb3AgY29udGV4dAorICovCit2b2lkIGxvb3BjeHRfZGVpbml0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaW50IGVycnN2ID0gZXJybm87CisKKwlpZiAoIWxjKQorCQlyZXR1cm47CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImRlLWluaXRpYWxpemUiKSk7CisKKwlmcmVlKGxjLT5maWxlbmFtZSk7CisJbGMtPmZpbGVuYW1lID0gTlVMTDsKKworCWlnbm9yZV9yZXN1bHQoIGxvb3BjeHRfc2V0X2RldmljZShsYywgTlVMTCkgKTsKKwlsb29wY3h0X2RlaW5pdF9pdGVyYXRvcihsYyk7CisKKwllcnJubyA9IGVycnN2OworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJucyBuZXdseSBhbGxvY2F0ZWQgZGV2aWNlIHBhdGguCisgKi8KK2NoYXIgKmxvb3BjeHRfc3RyZHVwX2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCWlmICghbGMgfHwgISpsYy0+ZGV2aWNlKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gc3RyZHVwKGxjLT5kZXZpY2UpOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJucyBwb2ludGVyIGRldmljZSBuYW1lIGluIHRoZSBAbGMgc3RydWN0LgorICovCitjb25zdCBjaGFyICpsb29wY3h0X2dldF9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlyZXR1cm4gbGMgJiYgKmxjLT5kZXZpY2UgPyBsYy0+ZGV2aWNlIDogTlVMTDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFJldHVybnMgcG9pbnRlciB0byB0aGUgc3lzZnMgY29udGV4dCAoc2VlIGxpYi9zeXNmcy5jKQorICovCitzdGF0aWMgc3RydWN0IHBhdGhfY3h0ICpsb29wY3h0X2dldF9zeXNmcyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCWlmICghbGMgfHwgISpsYy0+ZGV2aWNlIHx8IChsYy0+ZmxhZ3MgJiBMT09QREVWX0ZMX05PU1lTRlMpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghbGMtPnN5c2ZzKSB7CisJCWRldl90IGRldm5vID0gc3lzZnNfZGV2bmFtZV90b19kZXZubyhsYy0+ZGV2aWNlKTsKKwkJaWYgKCFkZXZubykgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJzeXNmczogZmFpbGVkIGRldm5hbWUgdG8gZGV2bm8iKSk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCisJCWxjLT5zeXNmcyA9IHVsX25ld19zeXNmc19wYXRoKGRldm5vLCBOVUxMLCBOVUxMKTsKKwkJaWYgKCFsYy0+c3lzZnMpCisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgInN5c2ZzOiBpbml0IGZhaWxlZCIpKTsKKwl9CisKKwlyZXR1cm4gbGMtPnN5c2ZzOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJuczogZmlsZSBkZXNjcmlwdG9yIHRvIHRoZSBvcGVuIGxvb3AgZGV2aWNlIG9yIDwwIG9uIGVycm9yLiBUaGUgbW9kZQorICogICAgICAgICAgZGVwZW5kcyBvbiBMT09QREVWX0ZMX3tSRFdSLFJET05MWX0gY29udGV4dCBmbGFncy4gRGVmYXVsdCBpcworICogICAgICAgICAgcmVhZC1vbmx5LgorICovCitpbnQgbG9vcGN4dF9nZXRfZmQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlpZiAoIWxjIHx8ICEqbGMtPmRldmljZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAobGMtPmZkIDwgMCkgeworCQlsYy0+bW9kZSA9IGxjLT5mbGFncyAmIExPT1BERVZfRkxfUkRXUiA/IE9fUkRXUiA6IE9fUkRPTkxZOworCQlsYy0+ZmQgPSBvcGVuKGxjLT5kZXZpY2UsIGxjLT5tb2RlIHwgT19DTE9FWEVDKTsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJvcGVuICVzIFslc106ICVtIiwgbGMtPmRldmljZSwKKwkJCQlsYy0+ZmxhZ3MgJiBMT09QREVWX0ZMX1JEV1IgPyAicnciIDogInJvIikpOworCX0KKwlyZXR1cm4gbGMtPmZkOworfQorCitpbnQgbG9vcGN4dF9zZXRfZmQoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgaW50IGZkLCBpbnQgbW9kZSkKK3sKKwlpZiAoIWxjKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWxjLT5mZCA9IGZkOworCWxjLT5tb2RlID0gbW9kZTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGZsYWdzOiBMT09QSVRFUl9GTF8qIGZsYWdzCisgKgorICogSXRlcmF0b3IgYWxsb3dzIHRvIHNjYW4gbGlzdCBvZiB0aGUgZnJlZSBvciB1c2VkIGxvb3AgZGV2aWNlcy4KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzCisgKi8KK2ludCBsb29wY3h0X2luaXRfaXRlcmF0b3Ioc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgaW50IGZsYWdzKQoreworCXN0cnVjdCBsb29wZGV2X2l0ZXIgKml0ZXI7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoIWxjKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCisJaXRlciA9ICZsYy0+aXRlcjsKKwlEQkcoSVRFUiwgdWxfZGVidWdvYmooaXRlciwgImluaXRpYWxpemUiKSk7CisKKwkvKiBhbHdheXMgemVyb2l6ZQorCSAqLworCW1lbXNldChpdGVyLCAwLCBzaXplb2YoKml0ZXIpKTsKKwlpdGVyLT5uY3VyID0gLTE7CisJaXRlci0+ZmxhZ3MgPSBmbGFnczsKKwlpdGVyLT5kZWZhdWx0X2NoZWNrID0gMTsKKworCWlmICghbGMtPmV4dHJhX2NoZWNrKSB7CisJCS8qCisJCSAqIENoZWNrIGZvciAvZGV2L2xvb3AvPE4+IHN1YmRpcmVjdG9yeQorCQkgKi8KKwkJaWYgKCEobGMtPmZsYWdzICYgTE9PUERFVl9GTF9ERVZTVUJESVIpICYmCisJCSAgICBzdGF0KF9QQVRIX0RFVl9MT09QLCAmc3QpID09IDAgJiYgU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJCWxjLT5mbGFncyB8PSBMT09QREVWX0ZMX0RFVlNVQkRJUjsKKworCQlsYy0+ZXh0cmFfY2hlY2sgPSAxOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MKKyAqLworaW50IGxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IGxvb3BkZXZfaXRlciAqaXRlcjsKKworCWlmICghbGMpCisJCXJldHVybiAtRUlOVkFMOworCisJaXRlciA9ICZsYy0+aXRlcjsKKwlEQkcoSVRFUiwgdWxfZGVidWdvYmooaXRlciwgImRlLWluaXRpYWxpemUiKSk7CisKKwlmcmVlKGl0ZXItPm1pbm9ycyk7CisJaWYgKGl0ZXItPnByb2MpCisJCWZjbG9zZShpdGVyLT5wcm9jKTsKKwlpZiAoaXRlci0+c3lzYmxvY2spCisJCWNsb3NlZGlyKGl0ZXItPnN5c2Jsb2NrKTsKKworCW1lbXNldChpdGVyLCAwLCBzaXplb2YoKml0ZXIpKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNhbWUgYXMgbG9vcGN4dF9zZXRfZGV2aWNlLCBidXQgYWxzbyBjaGVja3MgaWYgdGhlIGRldmljZSBpcworICogYXNzb2NpZXRlZCB3aXRoIGFueSBmaWxlLgorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MsIDEgZGV2aWNlIGRvZXMgbm90IG1hdGNoIHdpdGgKKyAqICAgICAgICAgTE9PUElURVJfRkxfe1VTRUQsRlJFRX0gZmxhZ3MuCisgKi8KK3N0YXRpYyBpbnQgbG9vcGl0ZXJfc2V0X2RldmljZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBjb25zdCBjaGFyICpkZXZpY2UpCit7CisJaW50IHJjID0gbG9vcGN4dF9zZXRfZGV2aWNlKGxjLCBkZXZpY2UpOworCWludCB1c2VkOworCisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlpZiAoIShsYy0+aXRlci5mbGFncyAmIExPT1BJVEVSX0ZMX1VTRUQpICYmCisJICAgICEobGMtPml0ZXIuZmxhZ3MgJiBMT09QSVRFUl9GTF9GUkVFKSkKKwkJcmV0dXJuIDA7CS8qIGNhbGxlciBkb2VzIG5vdCBjYXJlIGFib3V0IGRldmljZSBzdGF0dXMgKi8KKworCWlmICghaXNfbG9vcGRldihsYy0+ZGV2aWNlKSkgeworCQlEQkcoSVRFUiwgdWxfZGVidWdvYmooJmxjLT5pdGVyLCAiJXMgZG9lcyBub3QgZXhpc3QiLCBsYy0+ZGV2aWNlKSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJREJHKElURVIsIHVsX2RlYnVnb2JqKCZsYy0+aXRlciwgIiVzIGV4aXN0IiwgbGMtPmRldmljZSkpOworCisJdXNlZCA9IGxvb3BjeHRfZ2V0X29mZnNldChsYywgTlVMTCkgPT0gMDsKKworCWlmICgobGMtPml0ZXIuZmxhZ3MgJiBMT09QSVRFUl9GTF9VU0VEKSAmJiB1c2VkKQorCQlyZXR1cm4gMDsKKworCWlmICgobGMtPml0ZXIuZmxhZ3MgJiBMT09QSVRFUl9GTF9GUkVFKSAmJiAhdXNlZCkKKwkJcmV0dXJuIDA7CisKKwlEQkcoSVRFUiwgdWxfZGVidWdvYmooJmxjLT5pdGVyLCAiZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiLCBsYy0+ZGV2aWNlKSk7CisKKwlpZ25vcmVfcmVzdWx0KCBsb29wY3h0X3NldF9kZXZpY2UobGMsIE5VTEwpICk7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgY21wbnVtKGNvbnN0IHZvaWQgKnAxLCBjb25zdCB2b2lkICpwMikKK3sKKwlyZXR1cm4gKCgoKiAoaW50ICopIHAxKSA+ICgqIChpbnQgKikgcDIpKSAtCisJCQkoKCogKGludCAqKSBwMSkgPCAoKiAoaW50ICopIHAyKSkpOworfQorCisvKgorICogVGhlIGNsYXNzaWMgc2NhbmRpcigpIGlzIG1vcmUgZXhwZW5zaXZlIGFuZCBsZXNzIHBvcnRhYmxlLgorICogV2UgbmVlZG4ndCBmdWxsIGxvb3AgZGV2aWNlIG5hbWVzIC0tIGxvb3AgbnVtYmVycyAobG9vcDxOPikKKyAqIGFyZSBlbm91Z2guCisgKi8KK3N0YXRpYyBpbnQgbG9vcF9zY2FuZGlyKGNvbnN0IGNoYXIgKmRpcm5hbWUsIGludCAqKmFyeSwgaW50IGhhc3ByZWZpeCkKK3sKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCXVuc2lnbmVkIGludCBuLCBjb3VudCA9IDAsIGFyeWxlbiA9IDA7CisKKwlpZiAoIWRpcm5hbWUgfHwgIWFyeSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoSVRFUiwgdWxfZGVidWcoInNjYW4gZGlyOiAlcyIsIGRpcm5hbWUpKTsKKworCWRpciA9IG9wZW5kaXIoZGlybmFtZSk7CisJaWYgKCFkaXIpCisJCXJldHVybiAwOworCWZyZWUoKmFyeSk7CisJKmFyeSA9IE5VTEw7CisKKwl3aGlsZSgoZCA9IHJlYWRkaXIoZGlyKSkpIHsKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCWlmIChkLT5kX3R5cGUgIT0gRFRfQkxLICYmIGQtPmRfdHlwZSAhPSBEVF9VTktOT1dOICYmCisJCSAgICBkLT5kX3R5cGUgIT0gRFRfTE5LKQorCQkJY29udGludWU7CisjZW5kaWYKKwkJaWYgKCFzdHJjbXAoZC0+ZF9uYW1lLCAiLiIpIHx8ICFzdHJjbXAoZC0+ZF9uYW1lLCAiLi4iKSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChoYXNwcmVmaXgpIHsKKwkJCS8qIC9kZXYvbG9vcDxOPiAqLworCQkJaWYgKHNzY2FuZihkLT5kX25hbWUsICJsb29wJXUiLCAmbikgIT0gMSkKKwkJCQljb250aW51ZTsKKwkJfSBlbHNlIHsKKwkJCS8qIC9kZXYvbG9vcC88Tj4gKi8KKwkJCWNoYXIgKmVuZCA9IE5VTEw7CisKKwkJCWVycm5vID0gMDsKKwkJCW4gPSBzdHJ0b2woZC0+ZF9uYW1lLCAmZW5kLCAxMCk7CisJCQlpZiAoZC0+ZF9uYW1lID09IGVuZCB8fCAoZW5kICYmICplbmQpIHx8IGVycm5vKQorCQkJCWNvbnRpbnVlOworCQl9CisJCWlmIChuIDwgTE9PUERFVl9ERUZBVUxUX05OT0RFUykKKwkJCWNvbnRpbnVlOwkJCS8qIGlnbm9yZSBsb29wPDAuLjc+ICovCisKKwkJaWYgKGNvdW50ICsgMSA+IGFyeWxlbikgeworCQkJaW50ICp0bXA7CisKKwkJCWFyeWxlbiArPSAxOworCisJCQl0bXAgPSByZWFsbG9jKCphcnksIGFyeWxlbiAqIHNpemVvZihpbnQpKTsKKwkJCWlmICghdG1wKSB7CisJCQkJZnJlZSgqYXJ5KTsKKwkJCQkqYXJ5ID0gTlVMTDsKKwkJCQljbG9zZWRpcihkaXIpOworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJCSphcnkgPSB0bXA7CisJCX0KKwkJaWYgKCphcnkpCisJCQkoKmFyeSlbY291bnQrK10gPSBuOworCX0KKwlpZiAoY291bnQgJiYgKmFyeSkKKwkJcXNvcnQoKmFyeSwgY291bnQsIHNpemVvZihpbnQpLCBjbXBudW0pOworCisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gY291bnQ7Cit9CisKKy8qCisgKiBTZXQgdGhlIG5leHQgKnVzZWQqIGxvb3AgZGV2aWNlIGFjY29yZGluZyB0byAvcHJvYy9wYXJ0aXRpb25zLgorICoKKyAqIExvb3AgZGV2aWNlcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzIGFyZSBpbnZpc2libGUgZm9yIHRoaXMgZnVuY3Rpb24uCisgKi8KK3N0YXRpYyBpbnQgbG9vcGN4dF9uZXh0X2Zyb21fcHJvYyhzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCXN0cnVjdCBsb29wZGV2X2l0ZXIgKml0ZXIgPSAmbGMtPml0ZXI7CisJY2hhciBidWZbQlVGU0laXTsKKworCURCRyhJVEVSLCB1bF9kZWJ1Z29iaihpdGVyLCAic2NhbiAvcHJvYy9wYXJ0aXRpb25zIikpOworCisJaWYgKCFpdGVyLT5wcm9jKQorCQlpdGVyLT5wcm9jID0gZm9wZW4oX1BBVEhfUFJPQ19QQVJUSVRJT05TLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKCFpdGVyLT5wcm9jKQorCQlyZXR1cm4gMTsKKworCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBpdGVyLT5wcm9jKSkgeworCQl1bnNpZ25lZCBpbnQgbTsKKwkJY2hhciBuYW1lWzEyOCArIDFdOworCisKKwkJaWYgKHNzY2FuZihidWYsICIgJXUgJSpzICUqcyAlMTI4W15cbiBdIiwKKwkJCSAgICZtLCBuYW1lKSAhPSAyIHx8IG0gIT0gTE9PUERFVl9NQUpPUikKKwkJCWNvbnRpbnVlOworCisJCURCRyhJVEVSLCB1bF9kZWJ1Z29iaihpdGVyLCAiY2hlY2tpbmcgJXMiLCBuYW1lKSk7CisKKwkJaWYgKGxvb3BpdGVyX3NldF9kZXZpY2UobGMsIG5hbWUpID09IDApCisJCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFNldCB0aGUgbmV4dCAqdXNlZCogbG9vcCBkZXZpY2UgYWNjb3JkaW5nIHRvCisgKiAvc3lzL2Jsb2NrL2xvb3BOL2xvb3AvYmFja2luZ19maWxlIChrZXJuZWwgPj0gMi42LjM3IGlzIHJlcXVpcmVkKS4KKyAqCisgKiBUaGlzIGlzIHByZWZlcnJlZCBtZXRob2QuCisgKi8KK3N0YXRpYyBpbnQgbG9vcGN4dF9uZXh0X2Zyb21fc3lzZnMoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlzdHJ1Y3QgbG9vcGRldl9pdGVyICppdGVyID0gJmxjLT5pdGVyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJaW50IGZkOworCisJREJHKElURVIsIHVsX2RlYnVnb2JqKGl0ZXIsICJzY2FubmluZyAvc3lzL2Jsb2NrIikpOworCisJaWYgKCFpdGVyLT5zeXNibG9jaykKKwkJaXRlci0+c3lzYmxvY2sgPSBvcGVuZGlyKF9QQVRIX1NZU19CTE9DSyk7CisKKwlpZiAoIWl0ZXItPnN5c2Jsb2NrKQorCQlyZXR1cm4gMTsKKworCWZkID0gZGlyZmQoaXRlci0+c3lzYmxvY2spOworCisJd2hpbGUgKChkID0gcmVhZGRpcihpdGVyLT5zeXNibG9jaykpKSB7CisJCWNoYXIgbmFtZVtOQU1FX01BWCArIDE4ICsgMV07CisJCXN0cnVjdCBzdGF0IHN0OworCisJCURCRyhJVEVSLCB1bF9kZWJ1Z29iaihpdGVyLCAiY2hlY2sgJXMiLCBkLT5kX25hbWUpKTsKKworCQlpZiAoc3RyY21wKGQtPmRfbmFtZSwgIi4iKSA9PSAwCisJCSAgICB8fCBzdHJjbXAoZC0+ZF9uYW1lLCAiLi4iKSA9PSAwCisJCSAgICB8fCBzdHJuY21wKGQtPmRfbmFtZSwgImxvb3AiLCA0KSAhPSAwKQorCQkJY29udGludWU7CisKKwkJc25wcmludGYobmFtZSwgc2l6ZW9mKG5hbWUpLCAiJXMvbG9vcC9iYWNraW5nX2ZpbGUiLCBkLT5kX25hbWUpOworCQlpZiAoZnN0YXRhdChmZCwgbmFtZSwgJnN0LCAwKSAhPSAwKQorCQkJY29udGludWU7CisKKwkJaWYgKGxvb3BpdGVyX3NldF9kZXZpY2UobGMsIGQtPmRfbmFtZSkgPT0gMCkKKwkJCXJldHVybiAwOworCX0KKworCXJldHVybiAxOworfQorCisvKgorICogQGxjOiBjb250ZXh0LCBoYXMgdG8gaW5pdGlhbGl6ZWQgYnkgbG9vcGN4dF9pbml0X2l0ZXJhdG9yKCkKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yLCAxIGF0IHRoZSBlbmQgb2Ygc2Nhbm5pbmcuIFRoZSBkZXRhaWxzCisgKiAgICAgICAgICBhYm91dCB0aGUgY3VycmVudCBsb29wIGRldmljZSBhcmUgYXZhaWxhYmxlIGJ5CisgKiAgICAgICAgICBsb29wY3h0X2dldF97ZmQsYmFja2luZ19maWxlLGRldmljZSxvZmZzZXQsIC4uLn0gZnVuY3Rpb25zLgorICovCitpbnQgbG9vcGN4dF9uZXh0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IGxvb3BkZXZfaXRlciAqaXRlcjsKKworCWlmICghbGMpCisJCXJldHVybiAtRUlOVkFMOworCisKKwlpdGVyID0gJmxjLT5pdGVyOworCWlmIChpdGVyLT5kb25lKQorCQlyZXR1cm4gMTsKKworCURCRyhJVEVSLCB1bF9kZWJ1Z29iaihpdGVyLCAibmV4dCIpKTsKKworCS8qIEEpIExvb2sgZm9yIHVzZWQgbG9vcCBkZXZpY2VzIGluIC9wcm9jL3BhcnRpdGlvbnMgKCJsb3NldHVwIC1hIiBvbmx5KQorCSAqLworCWlmIChpdGVyLT5mbGFncyAmIExPT1BJVEVSX0ZMX1VTRUQpIHsKKwkJaW50IHJjOworCisJCWlmIChsb29wY3h0X3N5c2ZzX2F2YWlsYWJsZShsYykpCisJCQlyYyA9IGxvb3BjeHRfbmV4dF9mcm9tX3N5c2ZzKGxjKTsKKwkJZWxzZQorCQkJcmMgPSBsb29wY3h0X25leHRfZnJvbV9wcm9jKGxjKTsKKwkJaWYgKHJjID09IDApCisJCQlyZXR1cm4gMDsKKwkJZ290byBkb25lOworCX0KKworCS8qIEIpIENsYXNzaWMgd2F5LCB0cnkgZmlyc3QgZWlnaHQgbG9vcCBkZXZpY2VzIChkZWZhdWx0IG51bWJlcgorCSAqICAgIG9mIGxvb3AgZGV2aWNlcykuIFRoaXMgaXMgZW5vdWdoIGZvciA5OSUgb2YgYWxsIGNhc2VzLgorCSAqLworCWlmIChpdGVyLT5kZWZhdWx0X2NoZWNrKSB7CisJCURCRyhJVEVSLCB1bF9kZWJ1Z29iaihpdGVyLCAibmV4dDogZGVmYXVsdCBjaGVjayIpKTsKKwkJZm9yICgrK2l0ZXItPm5jdXI7IGl0ZXItPm5jdXIgPCBMT09QREVWX0RFRkFVTFRfTk5PREVTOworCQkJCQkJCWl0ZXItPm5jdXIrKykgeworCQkJY2hhciBuYW1lWzE2XTsKKwkJCXNucHJpbnRmKG5hbWUsIHNpemVvZihuYW1lKSwgImxvb3AlZCIsIGl0ZXItPm5jdXIpOworCisJCQlpZiAobG9vcGl0ZXJfc2V0X2RldmljZShsYywgbmFtZSkgPT0gMCkKKwkJCQlyZXR1cm4gMDsKKwkJfQorCQlpdGVyLT5kZWZhdWx0X2NoZWNrID0gMDsKKwl9CisKKwkvKiBDKSB0aGUgd29yc3QgcG9zc2liaWxpdHksIHNjYW4gd2hvbGUgL2RldiBvciAvZGV2L2xvb3AvPE4+CisJICovCisJaWYgKCFpdGVyLT5taW5vcnMpIHsKKwkJREJHKElURVIsIHVsX2RlYnVnb2JqKGl0ZXIsICJuZXh0OiBzY2FubmluZyAvZGV2IikpOworCQlpdGVyLT5ubWlub3JzID0gKGxjLT5mbGFncyAmIExPT1BERVZfRkxfREVWU1VCRElSKSA/CisJCQlsb29wX3NjYW5kaXIoX1BBVEhfREVWX0xPT1AsICZpdGVyLT5taW5vcnMsIDApIDoKKwkJCWxvb3Bfc2NhbmRpcihfUEFUSF9ERVYsICZpdGVyLT5taW5vcnMsIDEpOworCQlpdGVyLT5uY3VyID0gLTE7CisJfQorCWZvciAoKytpdGVyLT5uY3VyOyBpdGVyLT5uY3VyIDwgaXRlci0+bm1pbm9yczsgaXRlci0+bmN1cisrKSB7CisJCWNoYXIgbmFtZVsxNl07CisJCXNucHJpbnRmKG5hbWUsIHNpemVvZihuYW1lKSwgImxvb3AlZCIsIGl0ZXItPm1pbm9yc1tpdGVyLT5uY3VyXSk7CisKKwkJaWYgKGxvb3BpdGVyX3NldF9kZXZpY2UobGMsIG5hbWUpID09IDApCisJCQlyZXR1cm4gMDsKKwl9Citkb25lOgorCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEBkZXZpY2U6IHBhdGggdG8gZGV2aWNlCisgKi8KK2ludCBpc19sb29wZGV2KGNvbnN0IGNoYXIgKmRldmljZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmIChkZXZpY2UgJiYgc3RhdChkZXZpY2UsICZzdCkgPT0gMCAmJgorCQlTX0lTQkxLKHN0LnN0X21vZGUpICYmCisJCW1ham9yKHN0LnN0X3JkZXYpID09IExPT1BERVZfTUFKT1IpCisJCXJldHVybiAxOworCisJZXJybm8gPSBFTk9ERVY7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zIHJlc3VsdCBmcm9tIExPT1BfR0VUX1NUQVQ2NCBpb2N0bCBvciBOVUxMIG9uIGVycm9yLgorICovCitzdHJ1Y3QgbG9vcF9pbmZvNjQgKmxvb3BjeHRfZ2V0X2luZm8oc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlpbnQgZmQ7CisKKwlpZiAoIWxjIHx8IGxjLT5pbmZvX2ZhaWxlZCkgeworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWVycm5vID0gMDsKKwlpZiAobGMtPmhhc19pbmZvKQorCQlyZXR1cm4gJmxjLT5pbmZvOworCisJZmQgPSBsb29wY3h0X2dldF9mZChsYyk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoaW9jdGwoZmQsIExPT1BfR0VUX1NUQVRVUzY0LCAmbGMtPmluZm8pID09IDApIHsKKwkJbGMtPmhhc19pbmZvID0gMTsKKwkJbGMtPmluZm9fZmFpbGVkID0gMDsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJyZWFkaW5nIGxvb3BfaW5mbzY0IE9LIikpOworCQlyZXR1cm4gJmxjLT5pbmZvOworCX0KKworCWxjLT5pbmZvX2ZhaWxlZCA9IDE7CisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJyZWFkaW5nIGxvb3BfaW5mbzY0IEZBSUxFRCIpKTsKKworCXJldHVybiBOVUxMOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJucyAoYWxsb2NhdGVkKSBzdHJpbmcgd2l0aCBwYXRoIHRvIHRoZSBmaWxlIGFzc2ljaWV0ZWQKKyAqIHdpdGggdGhlIGN1cnJlbnQgbG9vcCBkZXZpY2UuCisgKi8KK2NoYXIgKmxvb3BjeHRfZ2V0X2JhY2tpbmdfZmlsZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCXN0cnVjdCBwYXRoX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisJY2hhciAqcmVzID0gTlVMTDsKKworCWlmIChzeXNmcykKKwkJLyoKKwkJICogVGhpcyBpcyBhbHdheXMgcHJlZmZlcmVkLCB0aGUgbG9vcF9pbmZvNjQKKwkJICogaGFzIHRvbyBzbWFsbCBidWZmZXIgZm9yIHRoZSBmaWxlbmFtZS4KKwkJICovCisJCXVsX3BhdGhfcmVhZF9zdHJpbmcoc3lzZnMsICZyZXMsICJsb29wL2JhY2tpbmdfZmlsZSIpOworCisJaWYgKCFyZXMgJiYgbG9vcGN4dF9pb2N0bF9lbmFibGVkKGxjKSkgeworCQlzdHJ1Y3QgbG9vcF9pbmZvNjQgKmxvID0gbG9vcGN4dF9nZXRfaW5mbyhsYyk7CisKKwkJaWYgKGxvKSB7CisJCQlsby0+bG9fZmlsZV9uYW1lW0xPX05BTUVfU0laRSAtIDJdID0gJyonOworCQkJbG8tPmxvX2ZpbGVfbmFtZVtMT19OQU1FX1NJWkUgLSAxXSA9ICdcMCc7CisJCQlyZXMgPSBzdHJkdXAoKGNoYXIgKikgbG8tPmxvX2ZpbGVfbmFtZSk7CisJCX0KKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImdldF9iYWNraW5nX2ZpbGUgWyVzXSIsIHJlcykpOworCXJldHVybiByZXM7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBvZmZzZXQ6IHJldHVybnMgb2Zmc2V0IG51bWJlciBmb3IgdGhlIGdpdmVuIGRldmljZQorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MKKyAqLworaW50IGxvb3BjeHRfZ2V0X29mZnNldChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1aW50NjRfdCAqb2Zmc2V0KQoreworCXN0cnVjdCBwYXRoX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisJaW50IHJjID0gLUVJTlZBTDsKKworCWlmIChzeXNmcykKKwkJcmMgPSB1bF9wYXRoX3JlYWRfdTY0KHN5c2ZzLCBvZmZzZXQsICJsb29wL29mZnNldCIpOworCisJaWYgKHJjICYmIGxvb3BjeHRfaW9jdGxfZW5hYmxlZChsYykpIHsKKwkJc3RydWN0IGxvb3BfaW5mbzY0ICpsbyA9IGxvb3BjeHRfZ2V0X2luZm8obGMpOworCQlpZiAobG8pIHsKKwkJCWlmIChvZmZzZXQpCisJCQkJKm9mZnNldCA9IGxvLT5sb19vZmZzZXQ7CisJCQlyYyA9IDA7CisJCX0gZWxzZQorCQkJcmMgPSAtZXJybm87CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJnZXRfb2Zmc2V0IFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGJsb2Nrc2l6ZTogcmV0dXJucyBsb2dpY2FsIGJsb2Nrc2l6ZSBmb3IgdGhlIGdpdmVuIGRldmljZQorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MKKyAqLworaW50IGxvb3BjeHRfZ2V0X2Jsb2Nrc2l6ZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCB1aW50NjRfdCAqYmxvY2tzaXplKQoreworCXN0cnVjdCBwYXRoX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisJaW50IHJjID0gLUVJTlZBTDsKKworCWlmIChzeXNmcykKKwkJcmMgPSB1bF9wYXRoX3JlYWRfdTY0KHN5c2ZzLCBibG9ja3NpemUsICJxdWV1ZS9sb2dpY2FsX2Jsb2NrX3NpemUiKTsKKworCS8qIEZhbGxiYWNrIGJhc2VkIG9uIEJMS1NTWkdFVCBpb2N0bCAqLworCWlmIChyYykgeworCQlpbnQgZmQgPSBsb29wY3h0X2dldF9mZChsYyk7CisJCWludCBzeiA9IDA7CisKKwkJaWYgKGZkIDwgMCkKKwkJCXJldHVybiAtRUlOVkFMOworCQlyYyA9IGJsa2Rldl9nZXRfc2VjdG9yX3NpemUoZmQsICZzeik7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKworCQkqYmxvY2tzaXplID0gc3o7CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJnZXRfYmxvY2tzaXplIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQHNpemVsaW1pdDogcmV0dXJucyBzaXplIGxpbWl0IGZvciB0aGUgZ2l2ZW4gZGV2aWNlCisgKgorICogUmV0dXJuczogPDAgb24gZXJyb3IsIDAgb24gc3VjY2VzcworICovCitpbnQgbG9vcGN4dF9nZXRfc2l6ZWxpbWl0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQ2NF90ICpzaXplKQoreworCXN0cnVjdCBwYXRoX2N4dCAqc3lzZnMgPSBsb29wY3h0X2dldF9zeXNmcyhsYyk7CisJaW50IHJjID0gLUVJTlZBTDsKKworCWlmIChzeXNmcykKKwkJcmMgPSB1bF9wYXRoX3JlYWRfdTY0KHN5c2ZzLCBzaXplLCAibG9vcC9zaXplbGltaXQiKTsKKworCWlmIChyYyAmJiBsb29wY3h0X2lvY3RsX2VuYWJsZWQobGMpKSB7CisJCXN0cnVjdCBsb29wX2luZm82NCAqbG8gPSBsb29wY3h0X2dldF9pbmZvKGxjKTsKKwkJaWYgKGxvKSB7CisJCQlpZiAoc2l6ZSkKKwkJCQkqc2l6ZSA9IGxvLT5sb19zaXplbGltaXQ7CisJCQlyYyA9IDA7CisJCX0gZWxzZQorCQkJcmMgPSAtZXJybm87CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJnZXRfc2l6ZWxpbWl0IFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGRldm5vOiByZXR1cm5zIGVuY3J5cHRpb24gdHlwZQorICoKKyAqIENyeXB0b2xvb3AgaXMgREVQUkVDQVRFRCEKKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzCisgKi8KK2ludCBsb29wY3h0X2dldF9lbmNyeXB0X3R5cGUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDMyX3QgKnR5cGUpCit7CisJc3RydWN0IGxvb3BfaW5mbzY0ICpsbyA9IGxvb3BjeHRfZ2V0X2luZm8obGMpOworCWludCByYzsKKworCS8qIG5vdCBwcm92aWRlZCBieSBzeXNmcyAqLworCWlmIChsbykgeworCQlpZiAodHlwZSkKKwkJCSp0eXBlID0gbG8tPmxvX2VuY3J5cHRfdHlwZTsKKwkJcmMgPSAwOworCX0gZWxzZQorCQlyYyA9IC1lcnJubzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZ2V0X2VuY3J5cHRfdHlwZSBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBkZXZubzogcmV0dXJucyBjcnlwdCBuYW1lCisgKgorICogQ3J5cHRvbG9vcCBpcyBERVBSRUNBVEVEIQorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MKKyAqLworY29uc3QgY2hhciAqbG9vcGN4dF9nZXRfY3J5cHRfbmFtZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCXN0cnVjdCBsb29wX2luZm82NCAqbG8gPSBsb29wY3h0X2dldF9pbmZvKGxjKTsKKworCWlmIChsbykKKwkJcmV0dXJuIChjaGFyICopIGxvLT5sb19jcnlwdF9uYW1lOworCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJnZXRfY3J5cHRfbmFtZSBmYWlsZWQiKSk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBkZXZubzogcmV0dXJucyBiYWNraW5nIGZpbGUgZGV2bm8KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzCisgKi8KK2ludCBsb29wY3h0X2dldF9iYWNraW5nX2Rldm5vKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGRldl90ICpkZXZubykKK3sKKwlzdHJ1Y3QgbG9vcF9pbmZvNjQgKmxvID0gbG9vcGN4dF9nZXRfaW5mbyhsYyk7CisJaW50IHJjOworCisJaWYgKGxvKSB7CisJCWlmIChkZXZubykKKwkJCSpkZXZubyA9IGxvLT5sb19kZXZpY2U7CisJCXJjID0gMDsKKwl9IGVsc2UKKwkJcmMgPSAtZXJybm87CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImdldF9iYWNraW5nX2Rldm5vIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGlubzogcmV0dXJucyBiYWNraW5nIGZpbGUgaW5vZGUKKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzCisgKi8KK2ludCBsb29wY3h0X2dldF9iYWNraW5nX2lub2RlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGlub190ICppbm8pCit7CisJc3RydWN0IGxvb3BfaW5mbzY0ICpsbyA9IGxvb3BjeHRfZ2V0X2luZm8obGMpOworCWludCByYzsKKworCWlmIChsbykgeworCQlpZiAoaW5vKQorCQkJKmlubyA9IGxvLT5sb19pbm9kZTsKKwkJcmMgPSAwOworCX0gZWxzZQorCQlyYyA9IC1lcnJubzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZ2V0X2JhY2tpbmdfaW5vZGUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQ2hlY2sgaWYgdGhlIGtlcm5lbCBzdXBwb3J0cyBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMuCisgKgorICogTm90ZXM6CisgKiAgIC0ga2VybmVscyA8IDMuMiBzdXBwb3J0IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyBhbmQgUFQgc2Nhbm5pbmcKKyAqICAgICBvbmx5IGlmIG1heF9wYXJ0PSBtb2R1bGUgcGFyYW1ldGVyIGlzIG5vbi16ZXJvCisgKgorICogICAtIGtlcm5lbHMgPj0gMy4yIGFsd2F5cyBzdXBwb3J0IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcworICoKKyAqICAgLSBrZXJuZWxzID49IDMuMiBhbHdheXMgc3VwcG9ydCBCTEtQR197QURELERFTH1fUEFSVElUSU9OIGlvY3RscworICoKKyAqICAgLSBrZXJuZWxzID49IDMuMiBlbmFibGUgUFQgc2Nhbm5lciBvbmx5IGlmIG1heF9wYXJ0PSBpcyBub24temVybyBvciBpZiB0aGUKKyAqICAgICBMT19GTEFHU19QQVJUU0NBTiBmbGFnIGlzIHNldCBmb3IgdGhlIGRldmljZS4gVGhlIFBUIHNjYW5uZXIgaXMgZGlzYWJsZWQKKyAqICAgICBieSBkZWZhdWx0LgorICoKKyAqICBTZWUga2VybmVsIGNvbW1pdCBlMDNjOGRkMTQ5MTVmYWJjMTAxYWE0OTU4MjhkNTg1OThkYzVhZjk4LgorICovCitpbnQgbG9vcG1vZF9zdXBwb3J0c19wYXJ0c2Nhbih2b2lkKQoreworCWludCByYywgcmV0ID0gMDsKKwlGSUxFICpmOworCisJaWYgKGdldF9saW51eF92ZXJzaW9uKCkgPj0gS0VSTkVMX1ZFUlNJT04oMywyLDApKQorCQlyZXR1cm4gMTsKKworCWYgPSBmb3BlbigiL3N5cy9tb2R1bGUvbG9vcC9wYXJhbWV0ZXJzL21heF9wYXJ0IiwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghZikKKwkJcmV0dXJuIDA7CisJcmMgPSBmc2NhbmYoZiwgIiVkIiwgJnJldCk7CisJZmNsb3NlKGYpOworCXJldHVybiByYyA9PSAxID8gcmV0IDogMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHBhcnRzY2FuIGZsYWdzIGlzIHNldCAqb3IqIChmb3Igb2xkIGtlcm5lbHMpIHBhcnRpdGlvbnMKKyAqIHNjYW5uaW5nIGlzIGVuYWJsZWQgZm9yIGFsbCBsb29wIGRldmljZXMuCisgKi8KK2ludCBsb29wY3h0X2lzX3BhcnRzY2FuKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IHBhdGhfY3h0ICpzeXNmcyA9IGxvb3BjeHRfZ2V0X3N5c2ZzKGxjKTsKKworCWlmIChzeXNmcykgeworCQkvKiBrZXJuZWwgPj0gMy4yICovCisJCWludCBmbDsKKwkJaWYgKHVsX3BhdGhfcmVhZF9zMzIoc3lzZnMsICZmbCwgImxvb3AvcGFydHNjYW4iKSA9PSAwKQorCQkJcmV0dXJuIGZsOworCX0KKworCS8qIG9sZCBrZXJuZWxzIChpbmNsdWRpbmcga2VybmVscyB3aXRob3V0IGxvb3BOL2xvb3AvPGZsYWdzPiBkaXJlY3RvcnkgKi8KKwlyZXR1cm4gbG9vcG1vZF9zdXBwb3J0c19wYXJ0c2NhbigpOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiB0aGUgYXV0b2NsZWFyIGZsYWdzIGlzIHNldC4KKyAqLworaW50IGxvb3BjeHRfaXNfYXV0b2NsZWFyKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IHBhdGhfY3h0ICpzeXNmcyA9IGxvb3BjeHRfZ2V0X3N5c2ZzKGxjKTsKKworCWlmIChzeXNmcykgeworCQlpbnQgZmw7CisJCWlmICh1bF9wYXRoX3JlYWRfczMyKHN5c2ZzLCAmZmwsICJsb29wL2F1dG9jbGVhciIpID09IDApCisJCQlyZXR1cm4gZmw7CisJfQorCisJaWYgKGxvb3BjeHRfaW9jdGxfZW5hYmxlZChsYykpIHsKKwkJc3RydWN0IGxvb3BfaW5mbzY0ICpsbyA9IGxvb3BjeHRfZ2V0X2luZm8obGMpOworCQlpZiAobG8pCisJCQlyZXR1cm4gbG8tPmxvX2ZsYWdzICYgTE9fRkxBR1NfQVVUT0NMRUFSOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHJlYWRvbmx5IGZsYWdzIGlzIHNldC4KKyAqLworaW50IGxvb3BjeHRfaXNfcmVhZG9ubHkoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlzdHJ1Y3QgcGF0aF9jeHQgKnN5c2ZzID0gbG9vcGN4dF9nZXRfc3lzZnMobGMpOworCisJaWYgKHN5c2ZzKSB7CisJCWludCBmbDsKKwkJaWYgKHVsX3BhdGhfcmVhZF9zMzIoc3lzZnMsICZmbCwgInJvIikgPT0gMCkKKwkJCXJldHVybiBmbDsKKwl9CisKKwlpZiAobG9vcGN4dF9pb2N0bF9lbmFibGVkKGxjKSkgeworCQlzdHJ1Y3QgbG9vcF9pbmZvNjQgKmxvID0gbG9vcGN4dF9nZXRfaW5mbyhsYyk7CisJCWlmIChsbykKKwkJCXJldHVybiBsby0+bG9fZmxhZ3MgJiBMT19GTEFHU19SRUFEX09OTFk7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogQGxjOiBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiB0aGUgZGlvIGZsYWdzIGlzIHNldC4KKyAqLworaW50IGxvb3BjeHRfaXNfZGlvKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJc3RydWN0IHBhdGhfY3h0ICpzeXNmcyA9IGxvb3BjeHRfZ2V0X3N5c2ZzKGxjKTsKKworCWlmIChzeXNmcykgeworCQlpbnQgZmw7CisJCWlmICh1bF9wYXRoX3JlYWRfczMyKHN5c2ZzLCAmZmwsICJsb29wL2RpbyIpID09IDApCisJCQlyZXR1cm4gZmw7CisJfQorCWlmIChsb29wY3h0X2lvY3RsX2VuYWJsZWQobGMpKSB7CisJCXN0cnVjdCBsb29wX2luZm82NCAqbG8gPSBsb29wY3h0X2dldF9pbmZvKGxjKTsKKwkJaWYgKGxvKQorCQkJcmV0dXJuIGxvLT5sb19mbGFncyAmIExPX0ZMQUdTX0RJUkVDVF9JTzsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBzdDogYmFja2luZyBmaWxlIHN0YXQgb3IgTlVMTAorICogQGJhY2tpbmdfZmlsZTogZmlsZW5hbWUKKyAqIEBvZmZzZXQ6IG9mZnNldCAodXNlIExPT1BERVZfRkxfT0ZGU0VUIGlmIHNwZWNpZmllZCkKKyAqIEBzaXplbGltaXQ6IHNpemUgbGltaXQgKHVzZSBMT09QREVWX0ZMX1NJWkVMSU1JVCBpZiBzcGVjaWZpZWQpCisgKiBAZmxhZ3M6IExPT1BERVZfRkxfe09GRlNFVCxTSVpFTElNSVR9CisgKgorICogUmV0dXJucyAxIGlmIHRoZSBjdXJyZW50IEBsYyBsb29wZGV2IGlzIGFzc29jaWF0ZWQgd2l0aCB0aGUgZ2l2ZW4gYmFja2luZworICogZmlsZS4gTm90ZSB0aGF0IHRoZSBwcmVmZXJyZWQgd2F5IGlzIHRvIHVzZSBkZXZubyBhbmQgaW5vZGUgbnVtYmVyIHJhdGhlcgorICogdGhhbiBmaWxlbmFtZS4gVGhlIEBiYWNraW5nX2ZpbGUgZmlsZW5hbWUgaXMgcG9vciBzb2x1dGlvbiB1c2FibGUgaW4gY2FzZQorICogdGhhdCB5b3UgZG9uJ3QgaGF2ZSByaWdodHMgdG8gY2FsbCBzdGF0KCkuCisgKgorICogTE9PUERFVl9GTF9TSVpFTElNSVQgcmVxdWlyZXMgTE9PUERFVl9GTF9PRkZTRVQgYmVpbmcgc2V0IGFzIHdlbGwuCisgKgorICogRG9uJ3QgZm9yZ2V0IHRoYXQgb2xkIGtlcm5lbHMgcHJvdmlkZSB2ZXJ5IHJlc3RyaWN0ZWQgKGluIHNpemUpIGJhY2tpbmcKKyAqIGZpbGVuYW1lIGJ5IExPT1BfR0VUX1NUQVQ2NCBpb2N0bCBvbmx5LgorICovCitpbnQgbG9vcGN4dF9pc191c2VkKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsCisJCSAgICBzdHJ1Y3Qgc3RhdCAqc3QsCisJCSAgICBjb25zdCBjaGFyICpiYWNraW5nX2ZpbGUsCisJCSAgICB1aW50NjRfdCBvZmZzZXQsCisJCSAgICB1aW50NjRfdCBzaXplbGltaXQsCisJCSAgICBpbnQgZmxhZ3MpCit7CisJaW5vX3QgaW5vOworCWRldl90IGRldjsKKworCWlmICghbGMpCisJCXJldHVybiAwOworCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJjaGVja2luZyAlcyB2cy4gJXMiLAorCQkJCWxvb3BjeHRfZ2V0X2RldmljZShsYyksCisJCQkJYmFja2luZ19maWxlKSk7CisKKwlpZiAoc3QgJiYgbG9vcGN4dF9nZXRfYmFja2luZ19pbm9kZShsYywgJmlubykgPT0gMCAmJgorCQkgIGxvb3BjeHRfZ2V0X2JhY2tpbmdfZGV2bm8obGMsICZkZXYpID09IDApIHsKKworCQlpZiAoaW5vID09IHN0LT5zdF9pbm8gJiYgZGV2ID09IHN0LT5zdF9kZXYpCisJCQlnb3RvIGZvdW5kOworCisJCS8qIGRvbid0IHVzZSBmaWxlbmFtZSBpZiB3ZSBoYXZlIGRldm5vIGFuZCBpbm9kZSAqLworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBwb29yIG1hbidzIHNvbHV0aW9uICovCisJaWYgKGJhY2tpbmdfZmlsZSkgeworCQljaGFyICpuYW1lID0gbG9vcGN4dF9nZXRfYmFja2luZ19maWxlKGxjKTsKKwkJaW50IHJjID0gbmFtZSAmJiBzdHJjbXAobmFtZSwgYmFja2luZ19maWxlKSA9PSAwOworCisJCWZyZWUobmFtZSk7CisJCWlmIChyYykKKwkJCWdvdG8gZm91bmQ7CisJfQorCisJcmV0dXJuIDA7Citmb3VuZDoKKwlpZiAoZmxhZ3MgJiBMT09QREVWX0ZMX09GRlNFVCkgeworCQl1aW50NjRfdCBvZmY7CisKKwkJaW50IHJjID0gbG9vcGN4dF9nZXRfb2Zmc2V0KGxjLCAmb2ZmKSA9PSAwICYmIG9mZiA9PSBvZmZzZXQ7CisKKwkJaWYgKHJjICYmIGZsYWdzICYgTE9PUERFVl9GTF9TSVpFTElNSVQpIHsKKwkJCXVpbnQ2NF90IHN6OworCisJCQlyZXR1cm4gbG9vcGN4dF9nZXRfc2l6ZWxpbWl0KGxjLCAmc3opID09IDAgJiYgc3ogPT0gc2l6ZWxpbWl0OworCQl9IGVsc2UKKwkJCXJldHVybiByYzsKKwl9CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBUaGUgc2V0dGluZyBpcyByZW1vdmVkIGJ5IGxvb3BjeHRfc2V0X2RldmljZSgpIGxvb3BjeHRfbmV4dCgpIQorICovCitpbnQgbG9vcGN4dF9zZXRfb2Zmc2V0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQ2NF90IG9mZnNldCkKK3sKKwlpZiAoIWxjKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlsYy0+aW5mby5sb19vZmZzZXQgPSBvZmZzZXQ7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgInNldCBvZmZzZXQ9JWpkIiwgb2Zmc2V0KSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBUaGUgc2V0dGluZyBpcyByZW1vdmVkIGJ5IGxvb3BjeHRfc2V0X2RldmljZSgpIGxvb3BjeHRfbmV4dCgpIQorICovCitpbnQgbG9vcGN4dF9zZXRfc2l6ZWxpbWl0KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQ2NF90IHNpemVsaW1pdCkKK3sKKwlpZiAoIWxjKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlsYy0+aW5mby5sb19zaXplbGltaXQgPSBzaXplbGltaXQ7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgInNldCBzaXplbGltaXQ9JWpkIiwgc2l6ZWxpbWl0KSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBAbGM6IGNvbnRleHQKKyAqIEBmbGFnczoga2VybmVsIExPX0ZMQUdTX3tSRUFEX09OTFksVVNFX0FPUFMsQVVUT0NMRUFSfSBmbGFncworICoKKyAqIFRoZSBzZXR0aW5nIGlzIHJlbW92ZWQgYnkgbG9vcGN4dF9zZXRfZGV2aWNlKCkgbG9vcGN4dF9uZXh0KCkhCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGxvb3BjeHRfc2V0X2ZsYWdzKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHVpbnQzMl90IGZsYWdzKQoreworCWlmICghbGMpCisJCXJldHVybiAtRUlOVkFMOworCWxjLT5pbmZvLmxvX2ZsYWdzID0gZmxhZ3M7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgInNldCBmbGFncz0ldSIsICh1bnNpZ25lZCkgZmxhZ3MpKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICogQGZpbGVuYW1lOiBiYWNraW5nIGZpbGUgcGF0aCAodGhlIHBhdGggd2lsbCBiZSBjYW5vbmljYWxpemVkKQorICoKKyAqIFRoZSBzZXR0aW5nIGlzIHJlbW92ZWQgYnkgbG9vcGN4dF9zZXRfZGV2aWNlKCkgbG9vcGN4dF9uZXh0KCkhCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGxvb3BjeHRfc2V0X2JhY2tpbmdfZmlsZShzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlpZiAoIWxjKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWxjLT5maWxlbmFtZSA9IGNhbm9uaWNhbGl6ZV9wYXRoKGZpbGVuYW1lKTsKKwlpZiAoIWxjLT5maWxlbmFtZSkKKwkJcmV0dXJuIC1lcnJubzsKKworCXN0cm5jcHkoKGNoYXIgKilsYy0+aW5mby5sb19maWxlX25hbWUsIGxjLT5maWxlbmFtZSwgTE9fTkFNRV9TSVpFKTsKKwlsYy0+aW5mby5sb19maWxlX25hbWVbTE9fTkFNRV9TSVpFLSAxXSA9ICdcMCc7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgInNldCBiYWNraW5nIGZpbGU9JXMiLCBsYy0+aW5mby5sb19maWxlX25hbWUpKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEluIGtlcm5lbHMgcHJpb3IgdG8gdjMuOSwgaWYgdGhlIG9mZnNldCBvciBzaXplbGltaXQgb3B0aW9ucworICogYXJlIHVzZWQsIHRoZSBibG9jayBkZXZpY2UncyBzaXplIHdvbid0IGJlIHN5bmNlZCBhdXRvbWF0aWNhbGx5LgorICogYmxvY2tkZXYgLS1nZXRzaXplNjQgYW5kIGZpbGVzeXN0ZW1zIHdpbGwgdXNlIHRoZSBiYWNraW5nCisgKiBmaWxlIHNpemUgdW50aWwgdGhlIGJsb2NrIGRldmljZSBoYXMgYmVlbiByZS1vcGVuZWQgb3IgdGhlCisgKiBMT09QX1NFVF9DQVBBQ0lUWSBpb2N0bCBpcyBjYWxsZWQgdG8gc3luYyB0aGUgc2l6ZXMuCisgKgorICogU2luY2UgbW91bnQgLW9sb29wIHVzZXMgdGhlIExPX0ZMQUdTX0FVVE9DTEVBUiBvcHRpb24gYW5kIHBhc3NlcworICogdGhlIG9wZW4gZmlsZSBkZXNjcmlwdG9yIHRvIHRoZSBtb3VudCBzeXN0ZW0gY2FsbCwgd2UgbmVlZCB0byB1c2UKKyAqIHRoZSBpb2N0bC4gQ2FsbGluZyBsb3NldHVwIGRpcmVjdGx5IGRvZXNuJ3QgaGF2ZSB0aGlzIHByb2JsZW0gc2luY2UKKyAqIGl0IGNsb3NlcyB0aGUgZGV2aWNlIHdoZW4gaXQgZXhpdHMgYW5kIHdoYXRldmVyIGNvbnN1bWVzIHRoZSBkZXZpY2UKKyAqIG5leHQgd2lsbCByZS1vcGVuIGl0LCBjYXVzaW5nIHRoZSByZXN5bmMuCisgKi8KK3N0YXRpYyBpbnQgbG9vcGN4dF9jaGVja19zaXplKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGludCBmaWxlX2ZkKQoreworCXVpbnQ2NF90IHNpemUsIGV4cGVjdGVkX3NpemU7CisJaW50IGRldl9mZDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghbGMtPmluZm8ubG9fb2Zmc2V0ICYmICFsYy0+aW5mby5sb19zaXplbGltaXQpCisJCXJldHVybiAwOworCisJaWYgKGZzdGF0KGZpbGVfZmQsICZzdCkpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJmYWlsZWQgdG8gZnN0YXQgYmFja2luZyBmaWxlIikpOworCQlyZXR1cm4gLWVycm5vOworCX0KKwlpZiAoU19JU0JMSyhzdC5zdF9tb2RlKSkgeworCQlpZiAoYmxrZGV2X2dldF9zaXplKGZpbGVfZmQsCisJCQkJKHVuc2lnbmVkIGxvbmcgbG9uZyAqKSAmZXhwZWN0ZWRfc2l6ZSkpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmFpbGVkIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZSIpKTsKKwkJCXJldHVybiAtZXJybm87CisJCX0KKwl9IGVsc2UKKwkJZXhwZWN0ZWRfc2l6ZSA9IHN0LnN0X3NpemU7CisKKwlpZiAoZXhwZWN0ZWRfc2l6ZSA9PSAwIHx8IGV4cGVjdGVkX3NpemUgPD0gbGMtPmluZm8ubG9fb2Zmc2V0KSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmFpbGVkIHRvIGRldGVybWluZSBleHBlY3RlZCBzaXplIikpOworCQlyZXR1cm4gMDsJLyogaWdub3JlIHRoaXMgZXJyb3IgKi8KKwl9CisKKwlpZiAobGMtPmluZm8ubG9fb2Zmc2V0ID4gMCkKKwkJZXhwZWN0ZWRfc2l6ZSAtPSBsYy0+aW5mby5sb19vZmZzZXQ7CisKKwlpZiAobGMtPmluZm8ubG9fc2l6ZWxpbWl0ID4gMCAmJiBsYy0+aW5mby5sb19zaXplbGltaXQgPCBleHBlY3RlZF9zaXplKQorCQlleHBlY3RlZF9zaXplID0gbGMtPmluZm8ubG9fc2l6ZWxpbWl0OworCisJZGV2X2ZkID0gbG9vcGN4dF9nZXRfZmQobGMpOworCWlmIChkZXZfZmQgPCAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmFpbGVkIHRvIGdldCBsb29wIEZEIikpOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCWlmIChibGtkZXZfZ2V0X3NpemUoZGV2X2ZkLCAodW5zaWduZWQgbG9uZyBsb25nICopICZzaXplKSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZhaWxlZCB0byBkZXRlcm1pbmUgbG9vcGRldiBzaXplIikpOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCS8qIEl0J3MgYmxvY2sgZGV2aWNlLCBzbywgYWxpZ24gdG8gNTEyLWJ5dGUgc2VjdG9ycyAqLworCWlmIChleHBlY3RlZF9zaXplICUgNTEyKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZXhwZWN0ZWQgc2l6ZSBtaXNhbGlnbmVkIHRvIDUxMi1ieXRlIHNlY3RvcnMiKSk7CisJCWV4cGVjdGVkX3NpemUgPSAoZXhwZWN0ZWRfc2l6ZSA+PiA5KSA8PCA5OworCX0KKworCWlmIChleHBlY3RlZF9zaXplICE9IHNpemUpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJ3YXJuaW5nOiBsb29wZGV2IGFuZCBleHBlY3RlZCAiCisJCQkJICAgICAgInNpemUgbWlzbWF0Y2ggKCVqdS8lanUpIiwKKwkJCQkgICAgICBzaXplLCBleHBlY3RlZF9zaXplKSk7CisKKwkJaWYgKGxvb3BjeHRfc2V0X2NhcGFjaXR5KGxjKSkgeworCQkJLyogaW9jdGwgbm90IGF2YWlsYWJsZSAqLworCQkJaWYgKGVycm5vID09IEVOT1RUWSB8fCBlcnJubyA9PSBFSU5WQUwpCisJCQkJZXJybm8gPSBFUkFOR0U7CisJCQlyZXR1cm4gLWVycm5vOworCQl9CisKKwkJaWYgKGJsa2Rldl9nZXRfc2l6ZShkZXZfZmQsICh1bnNpZ25lZCBsb25nIGxvbmcgKikgJnNpemUpKQorCQkJcmV0dXJuIC1lcnJubzsKKworCQlpZiAoZXhwZWN0ZWRfc2l6ZSAhPSBzaXplKSB7CisJCQllcnJubyA9IEVSQU5HRTsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZmFpbGVkIHRvIHNldCBsb29wZGV2IHNpemUsICIKKwkJCQkJInNpemU6ICVqdSwgZXhwZWN0ZWQ6ICVqdSIsCisJCQkJCXNpemUsIGV4cGVjdGVkX3NpemUpKTsKKwkJCXJldHVybiAtZXJybm87CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIEFzc29jaWF0ZSB0aGUgY3VycmVudCBkZXZpY2UgKHNlZSBsb29wY3h0X3tzZXQsZ2V0fV9kZXZpY2UoKSkgd2l0aAorICogYSBmaWxlIChzZWUgbG9vcGN4dF9zZXRfYmFja2luZ19maWxlKCkpLgorICoKKyAqIFRoZSBkZXZpY2UgaXMgaW5pdGlhbGl6ZWQgcmVhZC13cml0ZSBieSBkZWZhdWx0LiBJZiB5b3Ugd2FudCByZWFkLW9ubHkKKyAqIGRldmljZSB0aGVuIHNldCBMT19GTEFHU19SRUFEX09OTFkgYnkgbG9vcGN4dF9zZXRfZmxhZ3MoKS4gVGhlIExPT1BERVZfRkxfKgorICogZmxhZ3MgYXJlIGlnbm9yZWQgYW5kIG1vZGlmaWVkIGFjY29yZGluZyB0byBMT19GTEFHU18qLgorICoKKyAqIElmIHRoZSBkZXZpY2UgaXMgYWxyZWFkeSBvcGVuIGJ5IGxvb3BjeHRfZ2V0X2ZkKCkgdGhlbiB0aGlzIHNldHVwIGRldmljZQorICogZnVuY3Rpb24gd2lsbCByZS1vcGVuIHRoZSBkZXZpY2UgdG8gZml4IHJlYWQvd3JpdGUgbW9kZS4KKyAqCisgKiBUaGUgZGV2aWNlIGlzIGFsc28gaW5pdGlhbGl6ZWQgcmVhZC1vbmx5IGlmIHRoZSBiYWNraW5nIGZpbGUgaXMgbm90CisgKiBwb3NzaWJsZSB0byBvcGVuIHJlYWQtd3JpdGUgKGUuZy4gcmVhZC1vbmx5IEZTKS4KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgbG9vcGN4dF9zZXR1cF9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlpbnQgZmlsZV9mZCwgZGV2X2ZkLCBtb2RlID0gT19SRFdSLCByYyA9IC0xLCBjbnQgPSAwOworCWludCBlcnJzdiA9IDA7CisKKwlpZiAoIWxjIHx8ICEqbGMtPmRldmljZSB8fCAhbGMtPmZpbGVuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJkZXZpY2Ugc2V0dXAgcmVxdWVzdGVkIikpOworCisJLyoKKwkgKiBPcGVuIGJhY2tpbmcgZmlsZSBhbmQgZGV2aWNlCisJICovCisJaWYgKGxjLT5pbmZvLmxvX2ZsYWdzICYgTE9fRkxBR1NfUkVBRF9PTkxZKQorCQltb2RlID0gT19SRE9OTFk7CisKKwlpZiAoKGZpbGVfZmQgPSBvcGVuKGxjLT5maWxlbmFtZSwgbW9kZSB8IE9fQ0xPRVhFQykpIDwgMCkgeworCQlpZiAobW9kZSAhPSBPX1JET05MWSAmJiAoZXJybm8gPT0gRVJPRlMgfHwgZXJybm8gPT0gRUFDQ0VTKSkKKwkJCWZpbGVfZmQgPSBvcGVuKGxjLT5maWxlbmFtZSwgbW9kZSA9IE9fUkRPTkxZKTsKKworCQlpZiAoZmlsZV9mZCA8IDApIHsKKwkJCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJvcGVuIGJhY2tpbmcgZmlsZSBmYWlsZWQ6ICVtIikpOworCQkJcmV0dXJuIC1lcnJubzsKKwkJfQorCX0KKwlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiYmFja2luZyBmaWxlIG9wZW46IE9LIikpOworCisJaWYgKGxjLT5mZCAhPSAtMSAmJiBsYy0+bW9kZSAhPSBtb2RlKSB7CisJCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJjbG9zaW5nIGFscmVhZHkgb3BlbiBkZXZpY2UgKG1vZGUgbWlzbWF0Y2gpIikpOworCQljbG9zZShsYy0+ZmQpOworCQlsYy0+ZmQgPSAtMTsKKwkJbGMtPm1vZGUgPSAwOworCX0KKworCWlmIChtb2RlID09IE9fUkRPTkxZKSB7CisJCWxjLT5mbGFncyB8PSBMT09QREVWX0ZMX1JET05MWTsJCQkvKiBvcGVuKCkgbW9kZSAqLworCQlsYy0+aW5mby5sb19mbGFncyB8PSBMT19GTEFHU19SRUFEX09OTFk7CS8qIGtlcm5lbCBsb29wZGV2IG1vZGUgKi8KKwl9IGVsc2UgeworCQlsYy0+ZmxhZ3MgfD0gTE9PUERFVl9GTF9SRFdSOwkJCS8qIG9wZW4oKSBtb2RlICovCisJCWxjLT5pbmZvLmxvX2ZsYWdzICY9IH5MT19GTEFHU19SRUFEX09OTFk7CisJCWxjLT5mbGFncyAmPSB+TE9PUERFVl9GTF9SRE9OTFk7CisJfQorCisJZG8geworCQllcnJubyA9IDA7CisJCWRldl9mZCA9IGxvb3BjeHRfZ2V0X2ZkKGxjKTsKKwkJaWYgKGRldl9mZCA+PSAwIHx8IGxjLT5jb250cm9sX29rID09IDApCisJCQlicmVhazsKKwkJaWYgKGVycm5vICE9IEVBQ0NFUyAmJiBlcnJubyAhPSBFTk9FTlQpCisJCQlicmVhazsKKwkJLyogV2UgaGF2ZSBwZXJtaXNzaW9ucyB0byBvcGVuIC9kZXYvbG9vcC1jb250cm9sLCBidXQgb3BlbgorCQkgKiAvZGV2L2xvb3BOIGZhaWxlZCB3aXRoIEVBQ0NFUywgaXQncyBwcm9iYWJseSBiZWNhdXNlIHVkZXZkCisJCSAqIGRvZXMgbm90IGFwcGxpZWQgY2hvd24geWV0LiBMZXQncyB3YWl0IGEgbW9tZW50LiAqLworCQl4dXNsZWVwKDI1MDAwKTsKKwl9IHdoaWxlIChjbnQrKyA8IDE2KTsKKworCWlmIChkZXZfZmQgPCAwKSB7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGVycjsKKwl9CisKKwlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiZGV2aWNlIG9wZW46IE9LIikpOworCisJLyoKKwkgKiBTZXQgRkQKKwkgKi8KKwlpZiAoaW9jdGwoZGV2X2ZkLCBMT09QX1NFVF9GRCwgZmlsZV9mZCkgPCAwKSB7CisJCXJjID0gLWVycm5vOworCQllcnJzdiA9IGVycm5vOworCQlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiTE9PUF9TRVRfRkQgZmFpbGVkOiAlbSIpKTsKKwkJZ290byBlcnI7CisJfQorCisJREJHKFNFVFVQLCB1bF9kZWJ1Z29iaihsYywgIkxPT1BfU0VUX0ZEOiBPSyIpKTsKKworCWlmIChpb2N0bChkZXZfZmQsIExPT1BfU0VUX1NUQVRVUzY0LCAmbGMtPmluZm8pKSB7CisJCXJjID0gLWVycm5vOworCQllcnJzdiA9IGVycm5vOworCQlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiTE9PUF9TRVRfU1RBVFVTNjQgZmFpbGVkOiAlbSIpKTsKKwkJZ290byBlcnI7CisJfQorCisJREJHKFNFVFVQLCB1bF9kZWJ1Z29iaihsYywgIkxPT1BfU0VUX1NUQVRVUzY0OiBPSyIpKTsKKworCWlmICgocmMgPSBsb29wY3h0X2NoZWNrX3NpemUobGMsIGZpbGVfZmQpKSkKKwkJZ290byBlcnI7CisKKwljbG9zZShmaWxlX2ZkKTsKKworCW1lbXNldCgmbGMtPmluZm8sIDAsIHNpemVvZihsYy0+aW5mbykpOworCWxjLT5oYXNfaW5mbyA9IDA7CisJbGMtPmluZm9fZmFpbGVkID0gMDsKKworCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJzdWNjZXNzIFtyYz0wXSIpKTsKKwlyZXR1cm4gMDsKK2VycjoKKwlpZiAoZmlsZV9mZCA+PSAwKQorCQljbG9zZShmaWxlX2ZkKTsKKwlpZiAoZGV2X2ZkID49IDAgJiYgcmMgIT0gLUVCVVNZKQorCQlpb2N0bChkZXZfZmQsIExPT1BfQ0xSX0ZELCAwKTsKKwlpZiAoZXJyc3YpCisJCWVycm5vID0gZXJyc3Y7CisKKwlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiZmFpbGVkIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIEBsYzogY29udGV4dAorICoKKyAqIFVwZGF0ZSBzdGF0dXMgb2YgdGhlIGN1cnJlbnQgZGV2aWNlIChzZWUgbG9vcGN4dF97c2V0LGdldH1fZGV2aWNlKCkpLgorICoKKyAqIE5vdGUgdGhhdCBvbmNlIGluaXRpYWxpemVkLCBrZXJuZWwgYWNjZXB0cyBvbmx5IHNlbGVjdGVkIGNoYW5nZXM6CisgKiBMT19GTEFHU19BVVRPQ0xFQVIgYW5kIExPX0ZMQUdTX1BBUlRTQ0FOCisgKiBGb3IgbW9yZSBzZWUgbGludXgvZHJpdmVycy9ibG9jay9sb29wLmM6bG9vcF9zZXRfc3RhdHVzKCkKKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgbG9vcGN4dF9zZXRfc3RhdHVzKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaW50IGRldl9mZCwgcmMgPSAtMTsKKworCWVycm5vID0gMDsKKwlkZXZfZmQgPSBsb29wY3h0X2dldF9mZChsYyk7CisKKwlpZiAoZGV2X2ZkIDwgMCkgeworCQlyYyA9IC1lcnJubzsKKwkJcmV0dXJuIHJjOworCX0KKwlEQkcoU0VUVVAsIHVsX2RlYnVnb2JqKGxjLCAiZGV2aWNlIG9wZW46IE9LIikpOworCisJaWYgKGlvY3RsKGRldl9mZCwgTE9PUF9TRVRfU1RBVFVTNjQsICZsYy0+aW5mbykpIHsKKwkJcmMgPSAtZXJybm87CisJCURCRyhTRVRVUCwgdWxfZGVidWdvYmoobGMsICJMT09QX1NFVF9TVEFUVVM2NCBmYWlsZWQ6ICVtIikpOworCQlyZXR1cm4gcmM7CisJfQorCisJREJHKFNFVFVQLCB1bF9kZWJ1Z29iaihsYywgIkxPT1BfU0VUX1NUQVRVUzY0OiBPSyIpKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGxvb3BjeHRfc2V0X2NhcGFjaXR5KHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaW50IGZkID0gbG9vcGN4dF9nZXRfZmQobGMpOworCisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBLZXJuZWxzIHByaW9yIHRvIHYyLjYuMzAgZG9uJ3Qgc3VwcG9ydCB0aGlzIGlvY3RsICovCisJaWYgKGlvY3RsKGZkLCBMT09QX1NFVF9DQVBBQ0lUWSwgMCkgPCAwKSB7CisJCWludCByYyA9IC1lcnJubzsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJMT09QX1NFVF9DQVBBQ0lUWSBmYWlsZWQ6ICVtIikpOworCQlyZXR1cm4gcmM7CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJjYXBhY2l0eSBzZXQiKSk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBsb29wY3h0X3NldF9kaW8oc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdW5zaWduZWQgbG9uZyB1c2VfZGlvKQoreworCWludCBmZCA9IGxvb3BjeHRfZ2V0X2ZkKGxjKTsKKworCWlmIChmZCA8IDApCisJCXJldHVybiAtRUlOVkFMOworCisJLyogS2VybmVscyBwcmlvciB0byB2NC40IGRvbid0IHN1cHBvcnQgdGhpcyBpb2N0bCAqLworCWlmIChpb2N0bChmZCwgTE9PUF9TRVRfRElSRUNUX0lPLCB1c2VfZGlvKSA8IDApIHsKKwkJaW50IHJjID0gLWVycm5vOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgIkxPT1BfU0VUX0RJUkVDVF9JTyBmYWlsZWQ6ICVtIikpOworCQlyZXR1cm4gcmM7CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJkaXJlY3QgaW8gc2V0IikpOworCXJldHVybiAwOworfQorCisvKgorICogS2VybmVsIHVzZXMgInVuc2lnbmVkIGxvbmciIGFzIGlvY3RsIGFyZywgYnV0IHdlIHVzZSB1NjQgZm9yIGFsbCBzaXplcyB0bworICoga2VlcCBsb29wZGV2IGludGVybmFsIEFQSSBzaW1wbGUuCisgKi8KK2ludCBsb29wY3h0X3NldF9ibG9ja3NpemUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgdWludDY0X3QgYmxvY2tzaXplKQoreworCWludCBmZCA9IGxvb3BjeHRfZ2V0X2ZkKGxjKTsKKworCWlmIChmZCA8IDApCisJCXJldHVybiAtRUlOVkFMOworCisJLyogS2VybmVscyBwcmlvciB0byB2NC4xNCBkb24ndCBzdXBwb3J0IHRoaXMgaW9jdGwgKi8KKwlpZiAoaW9jdGwoZmQsIExPT1BfU0VUX0JMT0NLX1NJWkUsICh1bnNpZ25lZCBsb25nKSBibG9ja3NpemUpIDwgMCkgeworCQlpbnQgcmMgPSAtZXJybm87CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiTE9PUF9TRVRfQkxPQ0tfU0laRSBmYWlsZWQ6ICVtIikpOworCQlyZXR1cm4gcmM7CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJsb2dpY2FsIGJsb2NrIHNpemUgc2V0IikpOworCXJldHVybiAwOworfQorCitpbnQgbG9vcGN4dF9kZWxldGVfZGV2aWNlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaW50IGZkID0gbG9vcGN4dF9nZXRfZmQobGMpOworCisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoaW9jdGwoZmQsIExPT1BfQ0xSX0ZELCAwKSA8IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJMT09QX0NMUl9GRCBmYWlsZWQ6ICVtIikpOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiZGV2aWNlIHJlbW92ZWQiKSk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBsb29wY3h0X2FkZF9kZXZpY2Uoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwlpbnQgcmMgPSAtRUlOVkFMOworCWludCBjdGwsIG5yID0gLTE7CisJY29uc3QgY2hhciAqcCwgKmRldiA9IGxvb3BjeHRfZ2V0X2RldmljZShsYyk7CisKKwlpZiAoIWRldikKKwkJZ290byBkb25lOworCisJaWYgKCEobGMtPmZsYWdzICYgTE9PUERFVl9GTF9DT05UUk9MKSkgeworCQlyYyA9IC1FTk9TWVM7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlwID0gc3RycmNocihkZXYsICcvJyk7CisJaWYgKCFwIHx8IChzc2NhbmYocCwgIi9sb29wJWQiLCAmbnIpICE9IDEgJiYgc3NjYW5mKHAsICIvJWQiLCAmbnIpICE9IDEpCisJICAgICAgIHx8IG5yIDwgMCkKKwkJZ290byBkb25lOworCisJY3RsID0gb3BlbihfUEFUSF9ERVZfTE9PUENUTCwgT19SRFdSfE9fQ0xPRVhFQyk7CisJaWYgKGN0bCA+PSAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiYWRkX2RldmljZSAlZCIsIG5yKSk7CisJCXJjID0gaW9jdGwoY3RsLCBMT09QX0NUTF9BREQsIG5yKTsKKwkJY2xvc2UoY3RsKTsKKwl9CisJbGMtPmNvbnRyb2xfb2sgPSByYyA+PSAwID8gMSA6IDA7Citkb25lOgorCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAiYWRkX2RldmljZSBkb25lIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIE5vdGUgdGhhdCBMT09QX0NUTF9HRVRfRlJFRSBpb2N0bCBpcyBzdXBwb3J0ZWQgc2luY2Uga2VybmVsIDMuMS4gSW4gb2xkZXIKKyAqIGtlcm5lbHMgd2UgaGF2ZSB0byBjaGVjayBhbGwgbG9vcCBkZXZpY2VzIHRvIGZvdW5kIHVudXNlZCBvbmUuCisgKgorICogU2VlIGtlcm5lbCBjb21taXQgNzcwZmUzMGE0NmExMmI2ZmI2YjYzZmJlMTczNzY1NGQyOGU4NDg0LgorICovCitpbnQgbG9vcGN4dF9maW5kX3VudXNlZChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjKQoreworCWludCByYyA9IC0xOworCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJmaW5kX3VudXNlZCByZXF1ZXN0ZWQiKSk7CisKKwlpZiAobGMtPmZsYWdzICYgTE9PUERFVl9GTF9DT05UUk9MKSB7CisJCWludCBjdGw7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJ1c2luZyBsb29wLWNvbnRyb2wiKSk7CisKKwkJY3RsID0gb3BlbihfUEFUSF9ERVZfTE9PUENUTCwgT19SRFdSfE9fQ0xPRVhFQyk7CisJCWlmIChjdGwgPj0gMCkKKwkJCXJjID0gaW9jdGwoY3RsLCBMT09QX0NUTF9HRVRfRlJFRSk7CisJCWlmIChyYyA+PSAwKSB7CisJCQljaGFyIG5hbWVbMTZdOworCQkJc25wcmludGYobmFtZSwgc2l6ZW9mKG5hbWUpLCAibG9vcCVkIiwgcmMpOworCisJCQlyYyA9IGxvb3BpdGVyX3NldF9kZXZpY2UobGMsIG5hbWUpOworCQl9CisJCWxjLT5jb250cm9sX29rID0gY3RsID49IDAgJiYgcmMgPT0gMCA/IDEgOiAwOworCQlpZiAoY3RsID49IDApCisJCQljbG9zZShjdGwpOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZpbmRfdW51c2VkIGJ5IGxvb3AtY29udHJvbCBbcmM9JWRdIiwgcmMpKTsKKwl9CisKKwlpZiAocmMgPCAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAidXNpbmcgbG9vcCBzY2FuIikpOworCQlyYyA9IGxvb3BjeHRfaW5pdF9pdGVyYXRvcihsYywgTE9PUElURVJfRkxfRlJFRSk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKworCQlyYyA9IGxvb3BjeHRfbmV4dChsYyk7CisJCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJmaW5kX3VudXNlZCBieSBzY2FuIFtyYz0lZF0iLCByYykpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKKworCisvKgorICogUmV0dXJuOiBUUlVFL0ZBTFNFCisgKi8KK2ludCBsb29wZGV2X2lzX2F1dG9jbGVhcihjb25zdCBjaGFyICpkZXZpY2UpCit7CisJc3RydWN0IGxvb3BkZXZfY3h0IGxjOworCWludCByYzsKKworCWlmICghZGV2aWNlKQorCQlyZXR1cm4gMDsKKworCXJjID0gbG9vcGN4dF9pbml0KCZsYywgMCk7CisJaWYgKCFyYykKKwkJcmMgPSBsb29wY3h0X3NldF9kZXZpY2UoJmxjLCBkZXZpY2UpOworCWlmICghcmMpCisJCXJjID0gbG9vcGN4dF9pc19hdXRvY2xlYXIoJmxjKTsKKworCWxvb3BjeHRfZGVpbml0KCZsYyk7CisJcmV0dXJuIHJjOworfQorCitjaGFyICpsb29wZGV2X2dldF9iYWNraW5nX2ZpbGUoY29uc3QgY2hhciAqZGV2aWNlKQoreworCXN0cnVjdCBsb29wZGV2X2N4dCBsYzsKKwljaGFyICpyZXMgPSBOVUxMOworCisJaWYgKCFkZXZpY2UpCisJCXJldHVybiBOVUxMOworCWlmIChsb29wY3h0X2luaXQoJmxjLCAwKSkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGxvb3BjeHRfc2V0X2RldmljZSgmbGMsIGRldmljZSkgPT0gMCkKKwkJcmVzID0gbG9vcGN4dF9nZXRfYmFja2luZ19maWxlKCZsYyk7CisKKwlsb29wY3h0X2RlaW5pdCgmbGMpOworCXJldHVybiByZXM7Cit9CisKKy8qCisgKiBSZXR1cm5zOiBUUlVFL0ZBTFNFCisgKi8KK2ludCBsb29wZGV2X2lzX3VzZWQoY29uc3QgY2hhciAqZGV2aWNlLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJICAgIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZWxpbWl0LCBpbnQgZmxhZ3MpCit7CisJc3RydWN0IGxvb3BkZXZfY3h0IGxjOworCXN0cnVjdCBzdGF0IHN0OworCWludCByYyA9IDA7CisKKwlpZiAoIWRldmljZSB8fCAhZmlsZW5hbWUpCisJCXJldHVybiAwOworCisJcmMgPSBsb29wY3h0X2luaXQoJmxjLCAwKTsKKwlpZiAoIXJjKQorCQlyYyA9IGxvb3BjeHRfc2V0X2RldmljZSgmbGMsIGRldmljZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlyYyA9ICFzdGF0KGZpbGVuYW1lLCAmc3QpOworCXJjID0gbG9vcGN4dF9pc191c2VkKCZsYywgcmMgPyAmc3QgOiBOVUxMLCBmaWxlbmFtZSwgb2Zmc2V0LCBzaXplbGltaXQsIGZsYWdzKTsKKworCWxvb3BjeHRfZGVpbml0KCZsYyk7CisJcmV0dXJuIHJjOworfQorCitpbnQgbG9vcGRldl9kZWxldGUoY29uc3QgY2hhciAqZGV2aWNlKQoreworCXN0cnVjdCBsb29wZGV2X2N4dCBsYzsKKwlpbnQgcmM7CisKKwlpZiAoIWRldmljZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IGxvb3BjeHRfaW5pdCgmbGMsIDApOworCWlmICghcmMpCisJCXJjID0gbG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgZGV2aWNlKTsKKwlpZiAoIXJjKQorCQlyYyA9IGxvb3BjeHRfZGVsZXRlX2RldmljZSgmbGMpOworCWxvb3BjeHRfZGVpbml0KCZsYyk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogUmV0dXJuczogMCA9IHN1Y2Nlc3MsIDwgMCBlcnJvciwgMSBub3QgZm91bmQKKyAqLworaW50IGxvb3BjeHRfZmluZF9ieV9iYWNraW5nX2ZpbGUoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZWxpbWl0LCBpbnQgZmxhZ3MpCit7CisJaW50IHJjLCBoYXNzdDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghZmlsZW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJaGFzc3QgPSAhc3RhdChmaWxlbmFtZSwgJnN0KTsKKworCXJjID0gbG9vcGN4dF9pbml0X2l0ZXJhdG9yKGxjLCBMT09QSVRFUl9GTF9VU0VEKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXdoaWxlICgocmMgPSBsb29wY3h0X25leHQobGMpKSA9PSAwKSB7CisKKwkJaWYgKGxvb3BjeHRfaXNfdXNlZChsYywgaGFzc3QgPyAmc3QgOiBOVUxMLAorCQkJCSAgICBmaWxlbmFtZSwgb2Zmc2V0LCBzaXplbGltaXQsIGZsYWdzKSkKKwkJCWJyZWFrOworCX0KKworCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBSZXR1cm5zOiAwID0gbm90IGZvdW5kLCA8IDAgZXJyb3IsIDEgZm91bmQsIDIgZm91bmQgZnVsbCBzaXplIGFuZCBvZmZzZXQgbWF0Y2gKKyAqLworaW50IGxvb3BjeHRfZmluZF9vdmVybGFwKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJICAgdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplbGltaXQpCit7CisJaW50IHJjLCBoYXNzdDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghZmlsZW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmoobGMsICJmaW5kX292ZXJsYXAgcmVxdWVzdGVkIikpOworCWhhc3N0ID0gIXN0YXQoZmlsZW5hbWUsICZzdCk7CisKKwlyYyA9IGxvb3BjeHRfaW5pdF9pdGVyYXRvcihsYywgTE9PUElURVJfRkxfVVNFRCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwl3aGlsZSAoKHJjID0gbG9vcGN4dF9uZXh0KGxjKSkgPT0gMCkgeworCQl1aW50NjRfdCBsY19zaXplbGltaXQsIGxjX29mZnNldDsKKworCQlyYyA9IGxvb3BjeHRfaXNfdXNlZChsYywgaGFzc3QgPyAmc3QgOiBOVUxMLAorCQkJCSAgICAgZmlsZW5hbWUsIG9mZnNldCwgc2l6ZWxpbWl0LCAwKTsKKwkJaWYgKCFyYykKKwkJCWNvbnRpbnVlOwkvKiB1bnVzZWQgKi8KKwkJaWYgKHJjIDwgMCkKKwkJCWJyZWFrOwkJLyogZXJyb3IgKi8KKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZvdW5kICVzIGJhY2tlZCBieSAlcyIsCisJCQlsb29wY3h0X2dldF9kZXZpY2UobGMpLCBmaWxlbmFtZSkpOworCisJCXJjID0gbG9vcGN4dF9nZXRfb2Zmc2V0KGxjLCAmbGNfb2Zmc2V0KTsKKwkJaWYgKHJjKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZhaWxlZCB0byBnZXQgb2Zmc2V0IGZvciBkZXZpY2UgJXMiLAorCQkJCWxvb3BjeHRfZ2V0X2RldmljZShsYykpKTsKKwkJCWJyZWFrOworCQl9CisJCXJjID0gbG9vcGN4dF9nZXRfc2l6ZWxpbWl0KGxjLCAmbGNfc2l6ZWxpbWl0KTsKKwkJaWYgKHJjKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZhaWxlZCB0byBnZXQgc2l6ZWxpbWl0IGZvciBkZXZpY2UgJXMiLAorCQkJCWxvb3BjeHRfZ2V0X2RldmljZShsYykpKTsKKwkJCWJyZWFrOworCQl9CisKKwkJLyogZnVsbCBtYXRjaCAqLworCQlpZiAobGNfc2l6ZWxpbWl0ID09IHNpemVsaW1pdCAmJiBsY19vZmZzZXQgPT0gb2Zmc2V0KSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlICVzIChmdWxsIG1hdGNoKSIsCisJCQkJCQlsb29wY3h0X2dldF9kZXZpY2UobGMpKSk7CisJCQlyYyA9IDI7CisJCQlnb3RvIGZvdW5kOworCQl9CisKKwkJLyogb3ZlcmxhcCAqLworCQlpZiAobGNfc2l6ZWxpbWl0ICE9IDAgJiYgb2Zmc2V0ID49IGxjX29mZnNldCArIGxjX3NpemVsaW1pdCkKKwkJCWNvbnRpbnVlOworCQlpZiAoc2l6ZWxpbWl0ICE9IDAgJiYgb2Zmc2V0ICsgc2l6ZWxpbWl0IDw9IGxjX29mZnNldCkKKwkJCWNvbnRpbnVlOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGxjLCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgJXMiLAorCQkJbG9vcGN4dF9nZXRfZGV2aWNlKGxjKSkpOworCQkJcmMgPSAxOworCQkJZ290byBmb3VuZDsKKwl9CisKKwlpZiAocmMgPT0gMSkKKwkJcmMgPSAwOwkvKiBub3QgZm91bmQgKi8KK2ZvdW5kOgorCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihsYywgImZpbmRfb3ZlcmxhcCBkb25lIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIFJldHVybnMgYWxsb2NhdGVkIHN0cmluZyB3aXRoIGRldmljZSBuYW1lCisgKi8KK2NoYXIgKmxvb3BkZXZfZmluZF9ieV9iYWNraW5nX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIHVpbnQ2NF90IG9mZnNldCwgdWludDY0X3Qgc2l6ZWxpbWl0LCBpbnQgZmxhZ3MpCit7CisJc3RydWN0IGxvb3BkZXZfY3h0IGxjOworCWNoYXIgKnJlcyA9IE5VTEw7CisKKwlpZiAoIWZpbGVuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChsb29wY3h0X2luaXQoJmxjLCAwKSkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGxvb3BjeHRfZmluZF9ieV9iYWNraW5nX2ZpbGUoJmxjLCBmaWxlbmFtZSwgb2Zmc2V0LCBzaXplbGltaXQsIGZsYWdzKSA9PSAwKQorCQlyZXMgPSBsb29wY3h0X3N0cmR1cF9kZXZpY2UoJmxjKTsKKwlsb29wY3h0X2RlaW5pdCgmbGMpOworCisJcmV0dXJuIHJlczsKK30KKworLyoKKyAqIFJldHVybnMgbnVtYmVyIG9mIGxvb3AgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggQGZpbGUsIGlmIG9ubHkgb25lIGxvb3AKKyAqIGRldmljZSBpcyBhc3NvY2lldGVkIHdpdGggdGhlIGdpdmVuIEBmaWxlbmFtZSBhbmQgQGxvb3BkZXYgaXMgbm90IE5VTEwgdGhlbgorICogQGxvb3BkZXYgcmV0dXJucyBuYW1lIG9mIHRoZSBkZXZpY2UuCisgKi8KK2ludCBsb29wZGV2X2NvdW50X2J5X2JhY2tpbmdfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY2hhciAqKmxvb3BkZXYpCit7CisJc3RydWN0IGxvb3BkZXZfY3h0IGxjOworCWludCBjb3VudCA9IDAsIHJjOworCisJaWYgKCFmaWxlbmFtZSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBsb29wY3h0X2luaXQoJmxjLCAwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlpZiAobG9vcGN4dF9pbml0X2l0ZXJhdG9yKCZsYywgTE9PUElURVJfRkxfVVNFRCkpCisJCXJldHVybiAtMTsKKworCXdoaWxlKGxvb3BjeHRfbmV4dCgmbGMpID09IDApIHsKKwkJY2hhciAqYmFja2luZyA9IGxvb3BjeHRfZ2V0X2JhY2tpbmdfZmlsZSgmbGMpOworCisJCWlmICghYmFja2luZyB8fCBzdHJjbXAoYmFja2luZywgZmlsZW5hbWUpKSB7CisJCQlmcmVlKGJhY2tpbmcpOworCQkJY29udGludWU7CisJCX0KKworCQlmcmVlKGJhY2tpbmcpOworCQlpZiAobG9vcGRldiAmJiBjb3VudCA9PSAwKQorCQkJKmxvb3BkZXYgPSBsb29wY3h0X3N0cmR1cF9kZXZpY2UoJmxjKTsKKwkJY291bnQrKzsKKwl9CisKKwlsb29wY3h0X2RlaW5pdCgmbGMpOworCisJaWYgKGxvb3BkZXYgJiYgY291bnQgPiAxKSB7CisJCWZyZWUoKmxvb3BkZXYpOworCQkqbG9vcGRldiA9IE5VTEw7CisJfQorCXJldHVybiBjb3VudDsKK30KKwpkaWZmIC0tZ2l0IGEvbGliL21hbmdsZS5jIGIvbGliL21hbmdsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2MWM1N2YKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvbWFuZ2xlLmMKQEAgLTAsMCArMSwxNjggQEAKKy8qCisgKiBGdW5jdGlvbnMgZm9yIFxvY3QgZW5jb2RpbmcgdXNlZCBpbiBtdGFiL2ZzdGFiL3N3YXBzL2V0Yy4KKyAqCisgKiBCYXNlZCBvbiBjb2RlIGZyb20gbW91bnQoOCkuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAibWFuZ2xlLmgiCisjaW5jbHVkZSAiYy5oIgorCisjZGVmaW5lIGlzb2N0YWwoYSkJCSgoKGEpICYgfjcpID09ICcwJykKKworI2RlZmluZSBmcm9tX2hleChjKQkJKGlzZGlnaXQoYykgPyBjIC0gJzAnIDogdG9sb3dlcihjKSAtICdhJyArIDEwKQorCisjZGVmaW5lIGlzX3Vud2FudGVkX2NoYXIoeCkJKHN0cmNocigiIFx0XG5cXCIsICh1bnNpZ25lZCBpbnQpIHgpICE9IE5VTEwpCisKKworY2hhciAqbWFuZ2xlKGNvbnN0IGNoYXIgKnMpCit7CisJY2hhciAqc3MsICpzcDsKKworCWlmICghcykKKwkJcmV0dXJuIE5VTEw7CisKKwlzcyA9IHNwID0gbWFsbG9jKDQgKiBzdHJsZW4ocykgKyAxKTsKKwlpZiAoIXNwKQorCQlyZXR1cm4gTlVMTDsKKwl3aGlsZSgxKSB7CisJCWlmICghKnMpIHsKKwkJCSpzcCA9ICdcMCc7CisJCQlicmVhazsKKwkJfQorCQlpZiAoaXNfdW53YW50ZWRfY2hhcigqcykpIHsKKwkJCSpzcCsrID0gJ1xcJzsKKwkJCSpzcCsrID0gJzAnICsgKCgqcyAmIDAzMDApID4+IDYpOworCQkJKnNwKysgPSAnMCcgKyAoKCpzICYgMDcwKSA+PiAzKTsKKwkJCSpzcCsrID0gJzAnICsgKCpzICYgMDcpOworCQl9IGVsc2UKKwkJCSpzcCsrID0gKnM7CisJCXMrKzsKKwl9CisJcmV0dXJuIHNzOworfQorCisKK3ZvaWQgdW5tYW5nbGVfdG9fYnVmZmVyKGNvbnN0IGNoYXIgKnMsIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlzaXplX3Qgc3ogPSAwOworCisJaWYgKCFzKQorCQlyZXR1cm47CisKKwl3aGlsZSgqcyAmJiBzeiA8IGxlbiAtIDEpIHsKKwkJaWYgKCpzID09ICdcXCcgJiYgc3ogKyAzIDwgbGVuIC0gMSAmJiBpc29jdGFsKHNbMV0pICYmCisJCSAgICBpc29jdGFsKHNbMl0pICYmIGlzb2N0YWwoc1szXSkpIHsKKworCQkJKmJ1ZisrID0gNjQqKHNbMV0gJiA3KSArIDgqKHNbMl0gJiA3KSArIChzWzNdICYgNyk7CisJCQlzICs9IDQ7CisJCQlzeiArPSA0OworCQl9IGVsc2UgeworCQkJKmJ1ZisrID0gKnMrKzsKKwkJCXN6Kys7CisJCX0KKwl9CisJKmJ1ZiA9ICdcMCc7Cit9CisKK3NpemVfdCB1bmhleG1hbmdsZV90b19idWZmZXIoY29uc3QgY2hhciAqcywgY2hhciAqYnVmLCBzaXplX3QgbGVuKQoreworCXNpemVfdCBzeiA9IDA7CisJY29uc3QgY2hhciAqYnVmMCA9IGJ1ZjsKKworCWlmICghcykKKwkJcmV0dXJuIDA7CisKKwl3aGlsZSgqcyAmJiBzeiA8IGxlbiAtIDEpIHsKKwkJaWYgKCpzID09ICdcXCcgJiYgc3ogKyAzIDwgbGVuIC0gMSAmJiBzWzFdID09ICd4JyAmJgorCQkgICAgaXN4ZGlnaXQoc1syXSkgJiYgaXN4ZGlnaXQoc1szXSkpIHsKKworCQkJKmJ1ZisrID0gZnJvbV9oZXgoc1syXSkgPDwgNCB8IGZyb21faGV4KHNbM10pOworCQkJcyArPSA0OworCQkJc3ogKz0gNDsKKwkJfSBlbHNlIHsKKwkJCSpidWYrKyA9ICpzKys7CisJCQlzeisrOworCQl9CisJfQorCSpidWYgPSAnXDAnOworCXJldHVybiBidWYgLSBidWYwICsgMTsKK30KKworc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpza2lwX25vbnNwYWNlcyhjb25zdCBjaGFyICpzKQoreworCXdoaWxlICgqcyAmJiAhKCpzID09ICcgJyB8fCAqcyA9PSAnXHQnKSkKKwkJcysrOworCXJldHVybiBzOworfQorCisvKgorICogUmV0dXJucyBtYWxsb2NhdGVkIGJ1ZmZlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2NoYXIgKnVubWFuZ2xlKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKiplbmQpCit7CisJY2hhciAqYnVmOworCWNvbnN0IGNoYXIgKmU7CisJc2l6ZV90IHN6OworCisJaWYgKCFzKQorCQlyZXR1cm4gTlVMTDsKKworCWUgPSBza2lwX25vbnNwYWNlcyhzKTsKKwlzeiA9IGUgLSBzICsgMTsKKworCWlmIChlbmQpCisJCSplbmQgPSBlOworCWlmIChlID09IHMpCisJCXJldHVybiBOVUxMOwkvKiBlbXB0eSBzdHJpbmcgKi8KKworCWJ1ZiA9IG1hbGxvYyhzeik7CisJaWYgKCFidWYpCisJCXJldHVybiBOVUxMOworCisJdW5tYW5nbGVfdG9fYnVmZmVyKHMsIGJ1Ziwgc3opOworCXJldHVybiBidWY7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU1fTUFOR0xFCisjaW5jbHVkZSA8ZXJybm8uaD4KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqcCA9IE5VTEw7CisJaWYgKGFyZ2MgPCAzKSB7CisJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICVzIC0tbWFuZ2xlfHVubWFuZ2xlIDxzdHJpbmc+XG4iLAorCQkJCQkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCX0KKworCWlmICghc3RyY21wKGFyZ3ZbMV0sICItLW1hbmdsZSIpKSB7CisJCXAgPSBtYW5nbGUoYXJndlsyXSk7CisJCXByaW50ZigibWFuZ2xlZDogJyVzJ1xuIiwgcCk7CisJCWZyZWUocCk7CisJfQorCisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS11bm1hbmdsZSIpKSB7CisJCWNoYXIgKnggPSB1bm1hbmdsZShhcmd2WzJdLCBOVUxMKTsKKworCQlpZiAoeCkgeworCQkJcHJpbnRmKCJ1bm1hbmdsZWQ6ICclcydcbiIsIHgpOworCQkJZnJlZSh4KTsKKwkJfQorCisJCXggPSBzdHJkdXAoYXJndlsyXSk7CisJCXVubWFuZ2xlX3RvX2J1ZmZlcih4LCB4LCBzdHJsZW4oeCkgKyAxKTsKKworCQlpZiAoeCkgeworCQkJcHJpbnRmKCJzZWxmLXVubWFuZ2xlZDogJyVzJ1xuIiwgeCk7CisJCQlmcmVlKHgpOworCQl9CisJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKyNlbmRpZiAvKiBURVNUX1BST0dSQU1fTUFOR0xFICovCmRpZmYgLS1naXQgYS9saWIvbWF0Y2guYyBiL2xpYi9tYXRjaC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyODZhMTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvbWF0Y2guYwpAQCAtMCwwICsxLDUzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAibWF0Y2guaCIKKworLyoKKyAqIG1hdGNoX2ZzdHlwZToKKyAqIEB0eXBlOiBmaWxlc3lzdGVtIHR5cGUKKyAqIEBwYXR0ZXJuOiBmaWxlc3lzdGVtIG5hbWUgb3IgY29tbWEgZGVsaW1pdGVkIGxpc3Qgb2YgbmFtZXMKKyAqCisgKiBUaGUgQHBhdHRlcm4gbGlzdCBvZiBmaWxlc3lzdGVtIGNhbiBiZSBwcmVmaXhlZCB3aXRoIGEgZ2xvYmFsCisgKiAibm8iIHByZWZpeCB0byBpbnZlcnQgbWF0Y2hpbmcgb2YgdGhlIHdob2xlIGxpc3QuIFRoZSAibm8iIGNvdWxkCisgKiBhbHNvIGJlIHVzZWQgZm9yIGluZGl2aWR1YWwgaXRlbXMgaW4gdGhlIEBwYXR0ZXJuIGxpc3QuIFNvLAorICogIm5vZm9vLGJhciIgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgIm5vZm9vLG5vYmFyIi4KKyAqLworaW50IG1hdGNoX2ZzdHlwZShjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFyICpwYXR0ZXJuKQoreworCWludCBubyA9IDA7CQkvKiBuZWdhdGVkIHR5cGVzIGxpc3QgKi8KKwlpbnQgbGVuOworCWNvbnN0IGNoYXIgKnA7CisKKwlpZiAoIXBhdHRlcm4gJiYgIXR5cGUpCisJCXJldHVybiAxOworCWlmICghcGF0dGVybikKKwkJcmV0dXJuIDA7CisKKwlpZiAoIXN0cm5jbXAocGF0dGVybiwgIm5vIiwgMikpIHsKKwkJbm8gPSAxOworCQlwYXR0ZXJuICs9IDI7CisJfQorCisJLyogRG9lcyB0eXBlIG9jY3VyIGluIHR5cGVzLCBzZXBhcmF0ZWQgYnkgY29tbWFzPyAqLworCWxlbiA9IHN0cmxlbih0eXBlKTsKKwlwID0gcGF0dGVybjsKKwl3aGlsZSgxKSB7CisJCWlmICghc3RybmNtcChwLCAibm8iLCAyKSAmJiAhc3RybmNhc2VjbXAocCsyLCB0eXBlLCBsZW4pICYmCisJCSAgICAocFtsZW4rMl0gPT0gMCB8fCBwW2xlbisyXSA9PSAnLCcpKQorCQkJcmV0dXJuIDA7CisJCWlmIChzdHJuY2FzZWNtcChwLCB0eXBlLCBsZW4pID09IDAgJiYgKHBbbGVuXSA9PSAwIHx8IHBbbGVuXSA9PSAnLCcpKQorCQkJcmV0dXJuICFubzsKKwkJcCA9IHN0cmNocihwLCcsJyk7CisJCWlmICghcCkKKwkJCWJyZWFrOworCQlwKys7CisJfQorCXJldHVybiBubzsKK30KZGlmZiAtLWdpdCBhL2xpYi9tYnNhbGlnbi5jIGIvbGliL21ic2FsaWduLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZkYWI5ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9tYnNhbGlnbi5jCkBAIC0wLDAgKzEsNTc2IEBACisvKiBBbGlnbi9UcnVuY2F0ZSBhIHN0cmluZyBpbiBhIGdpdmVuIHNjcmVlbiB3aWR0aAorICAgQ29weXJpZ2h0IChDKSAyMDA5LTIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IKKyAgIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisKKyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKKyAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgICBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4gICovCisKKy8qIFdyaXR0ZW4gYnkgUMOhZHJhaWcgQnJhZHkuICAqLworCisjaW5jbHVkZSA8Y29uZmlnLmg+CisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm1ic2FsaWduLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ3aWRlY2hhci5oIgorCisvKiBSZXBsYWNlIG5vbiBwcmludGFibGUgY2hhcnMuCisgICBOb3RlIFx0IGFuZCBcbiBldGMuIGFyZSBub24gcHJpbnRhYmxlLgorICAgUmV0dXJuIDEgaWYgcmVwbGFjZW1lbnQgbWFkZSwgMCBvdGhlcndpc2UuICAqLworCisvKgorICogQ291bnRzIG51bWJlciBvZiBjZWxscyBpbiBtdWx0aWJ5dGUgc3RyaW5nLiBGb3IgYWxsIGNvbnRyb2wgYW5kCisgKiBub24tcHJpbnRhYmxlIGNoYXJzIGlzIHRoZSByZXN1bHQgd2lkdGggZW5sYXJnZWQgdG8gc3RvcmUgXHg/PyBoZXgKKyAqIHNlcXVlbmNlLiBTZWUgbWJzX3NhZmVfZW5jb2RlKCkuCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGNlbGxzLCBAc3ogcmV0dXJucyBudW1iZXIgb2YgYnl0ZXMuCisgKi8KK3NpemVfdCBtYnNfc2FmZV9ud2lkdGgoY29uc3QgY2hhciAqYnVmLCBzaXplX3QgYnVmc3osIHNpemVfdCAqc3opCit7CisJY29uc3QgY2hhciAqcCA9IGJ1ZiwgKmxhc3QgPSBidWY7CisJc2l6ZV90IHdpZHRoID0gMCwgYnl0ZXMgPSAwOworCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCW1ic3RhdGVfdCBzdDsKKwltZW1zZXQoJnN0LCAwLCBzaXplb2Yoc3QpKTsKKyNlbmRpZgorCWlmIChwICYmICpwICYmIGJ1ZnN6KQorCQlsYXN0ID0gcCArIChidWZzeiAtIDEpOworCisJd2hpbGUgKHAgJiYgKnAgJiYgcCA8PSBsYXN0KSB7CisJCWlmICgocCA8IGxhc3QgJiYgKnAgPT0gJ1xcJyAmJiAqKHAgKyAxKSA9PSAneCcpCisJCSAgICB8fCBpc2NudHJsKCh1bnNpZ25lZCBjaGFyKSAqcCkpIHsKKwkJCXdpZHRoICs9IDQsIGJ5dGVzICs9IDQ7CQkvKiAqcCBlbmNvZGVkIHRvIFx4Pz8gKi8KKwkJCXArKzsKKwkJfQorI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJZWxzZSB7CisJCQl3Y2hhcl90IHdjOworCQkJc2l6ZV90IGxlbiA9IG1icnRvd2MoJndjLCBwLCBNQl9DVVJfTUFYLCAmc3QpOworCisJCQlpZiAobGVuID09IDApCisJCQkJYnJlYWs7CisKKwkJCWlmIChsZW4gPT0gKHNpemVfdCkgLTEgfHwgbGVuID09IChzaXplX3QpIC0yKSB7CisJCQkJbGVuID0gMTsKKwkJCQlpZiAoaXNwcmludCgodW5zaWduZWQgY2hhcikgKnApKQorCQkJCQl3aWR0aCArPSAxLCBieXRlcyArPSAxOworCQkJCWVsc2UKKwkJCQkJd2lkdGggKz0gNCwgYnl0ZXMgKz0gNDsKKworCQkJfSBlbHNlIGlmICghaXN3cHJpbnQod2MpKSB7CisJCQkJd2lkdGggKz0gbGVuICogNDsJLyogaGV4IGVuY29kZSB3aG9sZSBzZXF1ZW5jZSAqLworCQkJCWJ5dGVzICs9IGxlbiAqIDQ7CisJCQl9IGVsc2UgeworCQkJCXdpZHRoICs9IHdjd2lkdGgod2MpOwkvKiBudW1iZXIgb2YgY2VsbHMgKi8KKwkJCQlieXRlcyArPSBsZW47CQkvKiBudW1iZXIgb2YgYnl0ZXMgKi8KKwkJCX0KKwkJCXAgKz0gbGVuOworCQl9CisjZWxzZQorCQllbHNlIGlmICghaXNwcmludCgodW5zaWduZWQgY2hhcikgKnApKSB7CisJCQl3aWR0aCArPSA0LCBieXRlcyArPSA0OwkJLyogKnAgZW5jb2RlZCB0byBceD8/ICovCisJCQlwKys7CisJCX0gZWxzZSB7CisJCQl3aWR0aCsrLCBieXRlcysrOworCQkJcCsrOworCQl9CisjZW5kaWYKKwl9CisKKwlpZiAoc3opCisJCSpzeiA9IGJ5dGVzOworCXJldHVybiB3aWR0aDsKK30KKworc2l6ZV90IG1ic19zYWZlX3dpZHRoKGNvbnN0IGNoYXIgKnMpCit7CisJaWYgKCFzIHx8ICEqcykKKwkJcmV0dXJuIDA7CisJcmV0dXJuIG1ic19zYWZlX253aWR0aChzLCBzdHJsZW4ocyksIE5VTEwpOworfQorCisvKgorICogQ29weSBAcyB0byBAYnVmIGFuZCByZXBsYWNlIGNvbnRyb2wgYW5kIG5vbi1wcmludGFibGUgY2hhcnMgd2l0aAorICogXHg/PyBoZXggc2VxdWVuY2UuIFRoZSBAd2lkdGggcmV0dXJucyBudW1iZXIgb2YgY2VsbHMuIFRoZSBAc2FmZWNoYXJzCisgKiBhcmUgbm90IGVuY29kZWQuCisgKgorICogVGhlIEBidWYgaGFzIHRvIGJlIGJpZyBlbm91Z2ggdG8gc3RvcmUgbWJzX3NhZmVfZW5jb2RlX3NpemUoc3RybGVuKHMpKSkKKyAqIGJ5dGVzLgorICovCitjaGFyICptYnNfc2FmZV9lbmNvZGVfdG9fYnVmZmVyKGNvbnN0IGNoYXIgKnMsIHNpemVfdCAqd2lkdGgsIGNoYXIgKmJ1ZiwgY29uc3QgY2hhciAqc2FmZWNoYXJzKQoreworCWNvbnN0IGNoYXIgKnAgPSBzOworCWNoYXIgKnI7CisJc2l6ZV90IHN6ID0gcyA/IHN0cmxlbihzKSA6IDA7CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJbWJzdGF0ZV90IHN0OworCW1lbXNldCgmc3QsIDAsIHNpemVvZihzdCkpOworI2VuZGlmCisJaWYgKCFzeiB8fCAhYnVmKQorCQlyZXR1cm4gTlVMTDsKKworCXIgPSBidWY7CisJKndpZHRoID0gMDsKKworCXdoaWxlIChwICYmICpwKSB7CisJCWlmIChzYWZlY2hhcnMgJiYgc3RyY2hyKHNhZmVjaGFycywgKnApKSB7CisJCQkqcisrID0gKnArKzsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKCgqcCA9PSAnXFwnICYmICoocCArIDEpID09ICd4JykKKwkJICAgIHx8IGlzY250cmwoKHVuc2lnbmVkIGNoYXIpICpwKSkgeworCQkJc3ByaW50ZihyLCAiXFx4JTAyeCIsICh1bnNpZ25lZCBjaGFyKSAqcCk7CisJCQlyICs9IDQ7CisJCQkqd2lkdGggKz0gNDsKKwkJCXArKzsKKwkJfQorI2lmZGVmIEhBVkVfV0lERUNIQVIKKwkJZWxzZSB7CisJCQl3Y2hhcl90IHdjOworCQkJc2l6ZV90IGxlbiA9IG1icnRvd2MoJndjLCBwLCBNQl9DVVJfTUFYLCAmc3QpOworCisJCQlpZiAobGVuID09IDApCisJCQkJYnJlYWs7CQkvKiBlbmQgb2Ygc3RyaW5nICovCisKKwkJCWlmIChsZW4gPT0gKHNpemVfdCkgLTEgfHwgbGVuID09IChzaXplX3QpIC0yKSB7CisJCQkJbGVuID0gMTsKKwkJCQkvKgorCQkJCSAqIE5vdCB2YWxpZCBtdWx0aWJ5dGUgc2VxdWVuY2UgLS0gbWF5YmUgaXQncworCQkJCSAqIHByaW50YWJsZSBjaGFyIGFjY29yZGluZyB0byB0aGUgY3VycmVudCBsb2NhbGVzLgorCQkJCSAqLworCQkJCWlmICghaXNwcmludCgodW5zaWduZWQgY2hhcikgKnApKSB7CisJCQkJCXNwcmludGYociwgIlxceCUwMngiLCAodW5zaWduZWQgY2hhcikgKnApOworCQkJCQlyICs9IDQ7CisJCQkJCSp3aWR0aCArPSA0OworCQkJCX0gZWxzZSB7CisJCQkJCSgqd2lkdGgpKys7CisJCQkJCSpyKysgPSAqcDsKKwkJCQl9CisJCQl9IGVsc2UgaWYgKCFpc3dwcmludCh3YykpIHsKKwkJCQlzaXplX3QgaTsKKwkJCQlmb3IgKGkgPSAwOyBpIDwgbGVuOyBpKyspIHsKKwkJCQkJc3ByaW50ZihyLCAiXFx4JTAyeCIsICh1bnNpZ25lZCBjaGFyKSBwW2ldKTsKKwkJCQkJciArPSA0OworCQkJCQkqd2lkdGggKz0gNDsKKwkJCQl9CisJCQl9IGVsc2UgeworCQkJCW1lbWNweShyLCBwLCBsZW4pOworCQkJCXIgKz0gbGVuOworCQkJCSp3aWR0aCArPSB3Y3dpZHRoKHdjKTsKKwkJCX0KKwkJCXAgKz0gbGVuOworCQl9CisjZWxzZQorCQllbHNlIGlmICghaXNwcmludCgodW5zaWduZWQgY2hhcikgKnApKSB7CisJCQlzcHJpbnRmKHIsICJcXHglMDJ4IiwgKHVuc2lnbmVkIGNoYXIpICpwKTsKKwkJCXArKzsKKwkJCXIgKz0gNDsKKwkJCSp3aWR0aCArPSA0OworCQl9IGVsc2UgeworCQkJKnIrKyA9ICpwKys7CisJCQkoKndpZHRoKSsrOworCQl9CisjZW5kaWYKKwl9CisKKwkqciA9ICdcMCc7CisJcmV0dXJuIGJ1ZjsKK30KKworLyoKKyAqIENvcHkgQHMgdG8gQGJ1ZiBhbmQgcmVwbGFjZSBicm9rZW4gc2VxdWVuY2VzIHRvIFx4Pz8gaGV4IHNlcXVlbmNlLiBUaGUKKyAqIEB3aWR0aCByZXR1cm5zIG51bWJlciBvZiBjZWxscy4gVGhlIEBzYWZlY2hhcnMgYXJlIG5vdCBlbmNvZGVkLgorICoKKyAqIFRoZSBAYnVmIGhhcyB0byBiZSBiaWcgZW5vdWdoIHRvIHN0b3JlIG1ic19zYWZlX2VuY29kZV9zaXplKHN0cmxlbihzKSkpCisgKiBieXRlcy4KKyAqLworY2hhciAqbWJzX2ludmFsaWRfZW5jb2RlX3RvX2J1ZmZlcihjb25zdCBjaGFyICpzLCBzaXplX3QgKndpZHRoLCBjaGFyICpidWYpCit7CisJY29uc3QgY2hhciAqcCA9IHM7CisJY2hhciAqcjsKKwlzaXplX3Qgc3ogPSBzID8gc3RybGVuKHMpIDogMDsKKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwltYnN0YXRlX3Qgc3Q7CisJbWVtc2V0KCZzdCwgMCwgc2l6ZW9mKHN0KSk7CisjZW5kaWYKKwlpZiAoIXN6IHx8ICFidWYpCisJCXJldHVybiBOVUxMOworCisJciA9IGJ1ZjsKKwkqd2lkdGggPSAwOworCisJd2hpbGUgKHAgJiYgKnApIHsKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJCXdjaGFyX3Qgd2M7CisJCXNpemVfdCBsZW4gPSBtYnJ0b3djKCZ3YywgcCwgTUJfQ1VSX01BWCwgJnN0KTsKKyNlbHNlCisJCXNpemVfdCBsZW4gPSAxOworI2VuZGlmCisKKwkJaWYgKGxlbiA9PSAwKQorCQkJYnJlYWs7CQkvKiBlbmQgb2Ygc3RyaW5nICovCisKKwkJaWYgKGxlbiA9PSAoc2l6ZV90KSAtMSB8fCBsZW4gPT0gKHNpemVfdCkgLTIpIHsKKwkJCWxlbiA9IDE7CisJCQkvKgorCQkJICogTm90IHZhbGlkIG11bHRpYnl0ZSBzZXF1ZW5jZSAtLSBtYXliZSBpdCdzCisJCQkgKiBwcmludGFibGUgY2hhciBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlcy4KKwkJCSAqLworCQkJaWYgKCFpc3ByaW50KCh1bnNpZ25lZCBjaGFyKSAqcCkpIHsKKwkJCQlzcHJpbnRmKHIsICJcXHglMDJ4IiwgKHVuc2lnbmVkIGNoYXIpICpwKTsKKwkJCQlyICs9IDQ7CisJCQkJKndpZHRoICs9IDQ7CisJCQl9IGVsc2UgeworCQkJCSgqd2lkdGgpKys7CisJCQkJKnIrKyA9ICpwOworCQkJfQorCQl9IGVsc2UgaWYgKCpwID09ICdcXCcgJiYgKihwICsgMSkgPT0gJ3gnKSB7CisJCQlzcHJpbnRmKHIsICJcXHglMDJ4IiwgKHVuc2lnbmVkIGNoYXIpICpwKTsKKwkJCXIgKz0gNDsKKwkJCSp3aWR0aCArPSA0OworCQl9IGVsc2UgeworCQkJbWVtY3B5KHIsIHAsIGxlbik7CisJCQlyICs9IGxlbjsKKwkJCSp3aWR0aCArPSB3Y3dpZHRoKHdjKTsKKwkJfQorCQlwICs9IGxlbjsKKwl9CisKKwkqciA9ICdcMCc7CisJcmV0dXJuIGJ1ZjsKK30KKworc2l6ZV90IG1ic19zYWZlX2VuY29kZV9zaXplKHNpemVfdCBieXRlcykKK3sKKwlyZXR1cm4gKGJ5dGVzICogNCkgKyAxOworfQorCisvKgorICogUmV0dXJucyBhbGxvY2F0ZWQgc3RyaW5nIHdoZXJlIGFsbCBjb250cm9sIGFuZCBub24tcHJpbnRhYmxlIGNoYXJzIGFyZQorICogcmVwbGFjZWQgd2l0aCBceD8/IGhleCBzZXF1ZW5jZS4KKyAqLworY2hhciAqbWJzX3NhZmVfZW5jb2RlKGNvbnN0IGNoYXIgKnMsIHNpemVfdCAqd2lkdGgpCit7CisJc2l6ZV90IHN6ID0gcyA/IHN0cmxlbihzKSA6IDA7CisJY2hhciAqYnVmLCAqcmV0ID0gTlVMTDsKKworCWlmICghc3opCisJCXJldHVybiBOVUxMOworCWJ1ZiA9IG1hbGxvYyhtYnNfc2FmZV9lbmNvZGVfc2l6ZShzeikpOworCWlmIChidWYpCisJCXJldCA9IG1ic19zYWZlX2VuY29kZV90b19idWZmZXIocywgd2lkdGgsIGJ1ZiwgTlVMTCk7CisJaWYgKCFyZXQpCisJCWZyZWUoYnVmKTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogUmV0dXJucyBhbGxvY2F0ZWQgc3RyaW5nIHdoZXJlIGFsbCBicm9rZW4gd2lkZWNoYXJzIGNoYXJzIGFyZQorICogcmVwbGFjZWQgd2l0aCBceD8/IGhleCBzZXF1ZW5jZS4KKyAqLworY2hhciAqbWJzX2ludmFsaWRfZW5jb2RlKGNvbnN0IGNoYXIgKnMsIHNpemVfdCAqd2lkdGgpCit7CisJc2l6ZV90IHN6ID0gcyA/IHN0cmxlbihzKSA6IDA7CisJY2hhciAqYnVmLCAqcmV0ID0gTlVMTDsKKworCWlmICghc3opCisJCXJldHVybiBOVUxMOworCWJ1ZiA9IG1hbGxvYyhtYnNfc2FmZV9lbmNvZGVfc2l6ZShzeikpOworCWlmIChidWYpCisJCXJldCA9IG1ic19pbnZhbGlkX2VuY29kZV90b19idWZmZXIocywgd2lkdGgsIGJ1Zik7CisJaWYgKCFyZXQpCisJCWZyZWUoYnVmKTsKKwlyZXR1cm4gcmV0OworfQorCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCitzdGF0aWMgYm9vbAord2NfZW5zdXJlX3ByaW50YWJsZSAod2NoYXJfdCAqd2NoYXJzKQoreworICBib29sIHJlcGxhY2VkID0gZmFsc2U7CisgIHdjaGFyX3QgKndjID0gd2NoYXJzOworICB3aGlsZSAoKndjKQorICAgIHsKKyAgICAgIGlmICghaXN3cHJpbnQgKCh3aW50X3QpICp3YykpCisgICAgICAgIHsKKyAgICAgICAgICAqd2MgPSAweEZGRkQ7IC8qIEwnXHVGRkZEJyAocmVwbGFjZW1lbnQgY2hhcikgKi8KKyAgICAgICAgICByZXBsYWNlZCA9IHRydWU7CisgICAgICAgIH0KKyAgICAgIHdjKys7CisgICAgfQorICByZXR1cm4gcmVwbGFjZWQ7Cit9CisKKy8qIFRydW5jYXRlIHdjaGFyIHN0cmluZyB0byB3aWR0aCBjZWxscy4KKyAqIFJldHVybnMgbnVtYmVyIG9mIGNlbGxzIHVzZWQuICAqLworCitzdGF0aWMgc2l6ZV90Cit3Y190cnVuY2F0ZSAod2NoYXJfdCAqd2MsIHNpemVfdCB3aWR0aCkKK3sKKyAgc2l6ZV90IGNlbGxzID0gMDsKKyAgaW50IG5leHRfY2VsbHMgPSAwOworCisgIHdoaWxlICgqd2MpCisgICAgeworICAgICAgbmV4dF9jZWxscyA9IHdjd2lkdGggKCp3Yyk7CisgICAgICBpZiAobmV4dF9jZWxscyA9PSAtMSkgLyogbm9uIHByaW50YWJsZSAqLworICAgICAgICB7CisgICAgICAgICAgKndjID0gMHhGRkZEOyAvKiBMJ1x1RkZGRCcgKHJlcGxhY2VtZW50IGNoYXIpICovCisgICAgICAgICAgbmV4dF9jZWxscyA9IDE7CisgICAgICAgIH0KKyAgICAgIGlmIChjZWxscyArIG5leHRfY2VsbHMgPiB3aWR0aCkKKyAgICAgICAgYnJlYWs7CisKKyAgICAgIGNlbGxzICs9IG5leHRfY2VsbHM7CisgICAgICB3YysrOworICAgIH0KKyAgKndjID0gTCdcMCc7CisgIHJldHVybiBjZWxsczsKK30KKworLyogRklYTUU6IG1vdmUgdGhpcyBmdW5jdGlvbiB0byBnbnVsaWIgYXMgaXQncyBtaXNzaW5nIG9uOgorICAgT3BlbkJTRCAzLjgsIElSSVggNS4zLCBTb2xhcmlzIDIuNS4xLCBtaW5ndywgQmVPUyAgKi8KKworc3RhdGljIGludAorcnBsX3djc3dpZHRoIChjb25zdCB3Y2hhcl90ICpzLCBzaXplX3QgbikKK3sKKyAgaW50IHJldCA9IDA7CisKKyAgd2hpbGUgKG4tLSA+IDAgJiYgKnMgIT0gTCdcMCcpCisgICAgeworICAgICAgaW50IG53aWR0aCA9IHdjd2lkdGggKCpzKyspOworICAgICAgaWYgKG53aWR0aCA9PSAtMSkgICAgICAgICAgICAgLyogbm9uIHByaW50YWJsZSAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgICBpZiAocmV0ID4gKElOVF9NQVggLSBud2lkdGgpKSAvKiBvdmVyZmxvdyAqLworICAgICAgICByZXR1cm4gLTE7CisgICAgICByZXQgKz0gbndpZHRoOworICAgIH0KKworICByZXR1cm4gcmV0OworfQorI2VuZGlmIC8qIEhBVkVfV0lERUNIQVIgKi8KKworLyogVHJ1bmNhdGUgbXVsdGktYnl0ZSBzdHJpbmcgdG8gQHdpZHRoIGFuZCByZXR1cm5zIG51bWJlciBvZgorICogYnl0ZXMgb2YgdGhlIG5ldyBzdHJpbmcgQHN0ciwgYW5kIGluIEB3aWR0aCByZXR1cm5zIG51bWJlcgorICogb2YgY2VsbHMuCisgKi8KK3NpemVfdAorbWJzX3RydW5jYXRlKGNoYXIgKnN0ciwgc2l6ZV90ICp3aWR0aCkKK3sKKwlzc2l6ZV90IGJ5dGVzID0gc3RybGVuKHN0cik7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCXNzaXplX3Qgc3ogPSBtYnN0b3djcyhOVUxMLCBzdHIsIDApOworCXdjaGFyX3QgKndjcyA9IE5VTEw7CisKKwlpZiAoc3ogPT0gKHNzaXplX3QpIC0xKQorCQlnb3RvIGRvbmU7CisKKwl3Y3MgPSBjYWxsb2MoMSwgKHN6ICsgMSkgKiBzaXplb2Yod2NoYXJfdCkpOworCWlmICghd2NzKQorCQlnb3RvIGRvbmU7CisKKwlpZiAoIW1ic3Rvd2NzKHdjcywgc3RyLCBzeikpCisJCWdvdG8gZG9uZTsKKwkqd2lkdGggPSB3Y190cnVuY2F0ZSh3Y3MsICp3aWR0aCk7CisJYnl0ZXMgPSB3Y3N0b21icyhzdHIsIHdjcywgYnl0ZXMpOworZG9uZToKKwlmcmVlKHdjcyk7CisjZWxzZQorCWlmIChieXRlcyA+PSAwICYmICp3aWR0aCA8IChzaXplX3QpIGJ5dGVzKQorCQlieXRlcyA9ICp3aWR0aDsKKyNlbmRpZgorCWlmIChieXRlcyA+PSAwKQorCQlzdHJbYnl0ZXNdID0gJ1wwJzsKKwlyZXR1cm4gYnl0ZXM7Cit9CisKKy8qIFdyaXRlIE5fU1BBQ0VTIHNwYWNlIGNoYXJhY3RlcnMgdG8gREVTVCB3aGlsZSBlbnN1cmluZworICAgbm90aGluZyBpcyB3cml0dGVuIGJleW9uZCBERVNUX0VORC4gQSB0ZXJtaW5hdGluZyBOVUwKKyAgIGlzIGFsd2F5cyBhZGRlZCB0byBERVNULgorICAgQSBwb2ludGVyIHRvIHRoZSB0ZXJtaW5hdGluZyBOVUwgaXMgcmV0dXJuZWQuICAqLworCitzdGF0aWMgY2hhcioKK21ic19hbGlnbl9wYWQgKGNoYXIgKmRlc3QsIGNvbnN0IGNoYXIqIGRlc3RfZW5kLCBzaXplX3Qgbl9zcGFjZXMsIGludCBwYWRjaGFyKQoreworICAvKiBGSVhNRTogU2hvdWxkIHdlIHBhZCB3aXRoICJmaWd1cmUgc3BhY2UiIChcdTIwMDcpCisgICAgIGlmIG5vbiBhc2NpaSBkYXRhIHByZXNlbnQ/ICAqLworICBmb3IgKC8qIG5vdGhpbmcgKi87IG5fc3BhY2VzICYmIChkZXN0IDwgZGVzdF9lbmQpOyBuX3NwYWNlcy0tKQorICAgICpkZXN0KysgPSBwYWRjaGFyOworICAqZGVzdCA9ICdcMCc7CisgIHJldHVybiBkZXN0OworfQorCitzaXplX3QKK21ic2FsaWduIChjb25zdCBjaGFyICpzcmMsIGNoYXIgKmRlc3QsIHNpemVfdCBkZXN0X3NpemUsCisgICAgICAgICAgc2l6ZV90ICp3aWR0aCwgbWJzX2FsaWduX3QgYWxpZ24sIGludCBmbGFncykKK3sKKwlyZXR1cm4gbWJzYWxpZ25fd2l0aF9wYWRkaW5nKHNyYywgZGVzdCwgZGVzdF9zaXplLCB3aWR0aCwgYWxpZ24sIGZsYWdzLCAnICcpOworfQorCisvKiBBbGlnbiBhIHN0cmluZywgU1JDLCBpbiBhIGZpZWxkIG9mICpXSURUSCBjb2x1bW5zLCBoYW5kbGluZyBtdWx0aS1ieXRlCisgICBjaGFyYWN0ZXJzOyB3cml0ZSB0aGUgcmVzdWx0IGludG8gdGhlIERFU1RfU0laRS1ieXRlIGJ1ZmZlciwgREVTVC4KKyAgIEFMSUdOTUVOVCBzcGVjaWZpZXMgd2hldGhlciB0byBsZWZ0LSBvciByaWdodC1qdXN0aWZ5IG9yIHRvIGNlbnRlci4KKyAgIElmIFNSQyByZXF1aXJlcyBtb3JlIHRoYW4gKldJRFRIIGNvbHVtbnMsIHRydW5jYXRlIGl0IHRvIGZpdC4KKyAgIFdoZW4gY2VudGVyaW5nLCB0aGUgbnVtYmVyIG9mIHRyYWlsaW5nIHNwYWNlcyBtYXkgYmUgb25lIGxlc3MgdGhhbiB0aGUKKyAgIG51bWJlciBvZiBsZWFkaW5nIHNwYWNlcy4gVGhlIEZMQUdTIHBhcmFtZXRlciBpcyB1bnVzZWQgYXQgcHJlc2VudC4KKyAgIFJldHVybiB0aGUgbGVuZ3RoIGluIGJ5dGVzIHJlcXVpcmVkIGZvciB0aGUgZmluYWwgcmVzdWx0LCBub3QgY291bnRpbmcKKyAgIHRoZSB0cmFpbGluZyBOVUwuICBBIHJldHVybiB2YWx1ZSBvZiBERVNUX1NJWkUgb3IgbGFyZ2VyIG1lYW5zIHRoZXJlCisgICB3YXNuJ3QgZW5vdWdoIHNwYWNlLiAgREVTVCB3aWxsIGJlIE5VTCB0ZXJtaW5hdGVkIGluIGFueSBjYXNlLgorICAgUmV0dXJuIChzaXplX3QpIC0xIHVwb24gZXJyb3IgKGludmFsaWQgbXVsdGktYnl0ZSBzZXF1ZW5jZSBpbiBTUkMsCisgICBvciBtYWxsb2MgZmFpbHVyZSksIHVubGVzcyBNQkFfVU5JQllURV9GQUxMQkFDSyBpcyBzcGVjaWZpZWQuCisgICBVcGRhdGUgKldJRFRIIHRvIGluZGljYXRlIGhvdyBtYW55IGNvbHVtbnMgd2VyZSB1c2VkIGJlZm9yZSBwYWRkaW5nLiAgKi8KKworc2l6ZV90CittYnNhbGlnbl93aXRoX3BhZGRpbmcgKGNvbnN0IGNoYXIgKnNyYywgY2hhciAqZGVzdCwgc2l6ZV90IGRlc3Rfc2l6ZSwKKwkgICAgICAgICAgICAgICBzaXplX3QgKndpZHRoLCBtYnNfYWxpZ25fdCBhbGlnbiwKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJCSAgICAgICBpbnQgZmxhZ3MsCisjZWxzZQorCQkgICAgICAgaW50IGZsYWdzIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKyNlbmRpZgorCQkgICAgICAgaW50IHBhZGNoYXIpCit7CisgIHNpemVfdCByZXQgPSAtMTsKKyAgc2l6ZV90IHNyY19zaXplID0gc3RybGVuIChzcmMpICsgMTsKKyAgY2hhciAqbmV3c3RyID0gTlVMTDsKKyAgd2NoYXJfdCAqc3RyX3djID0gTlVMTDsKKyAgY29uc3QgY2hhciAqc3RyX3RvX3ByaW50ID0gc3JjOworICBzaXplX3Qgbl9jb2xzID0gc3JjX3NpemUgLSAxOworICBzaXplX3Qgbl91c2VkX2J5dGVzID0gbl9jb2xzOyAvKiBOb3QgaW5jbHVkaW5nIE5VTCAqLworICBzaXplX3Qgbl9zcGFjZXMgPSAwLCBzcGFjZV9sZWZ0OworCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorICBib29sIGNvbnZlcnNpb24gPSBmYWxzZTsKKyAgYm9vbCB3Y19lbmFibGVkID0gZmFsc2U7CisKKyAgLyogSW4gbXVsdGktYnl0ZSBsb2NhbGVzIGNvbnZlcnQgdG8gd2lkZSBjaGFyYWN0ZXJzCisgICAgIHRvIGFsbG93IGVhc3kgdHJ1bmNhdGlvbi4gQWxzbyBkZXRlcm1pbmUgbnVtYmVyCisgICAgIG9mIHNjcmVlbiBjb2x1bW5zIHVzZWQuICAqLworICBpZiAoTUJfQ1VSX01BWCA+IDEpCisgICAgeworICAgICAgc2l6ZV90IHNyY19jaGFycyA9IG1ic3Rvd2NzIChOVUxMLCBzcmMsIDApOworICAgICAgaWYgKHNyY19jaGFycyA9PSAoc2l6ZV90KSAtMSkKKyAgICAgICAgeworICAgICAgICAgIGlmIChmbGFncyAmIE1CQV9VTklCWVRFX0ZBTExCQUNLKQorICAgICAgICAgICAgZ290byBtYnNhbGlnbl91bmlieXRlOworICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdvdG8gbWJzYWxpZ25fY2xlYW51cDsKKyAgICAgICAgfQorICAgICAgc3JjX2NoYXJzICs9IDE7IC8qIG1ha2Ugc3BhY2UgZm9yIE5VTCAqLworICAgICAgc3RyX3djID0gbWFsbG9jIChzcmNfY2hhcnMgKiBzaXplb2YgKHdjaGFyX3QpKTsKKyAgICAgIGlmIChzdHJfd2MgPT0gTlVMTCkKKyAgICAgICAgeworICAgICAgICAgIGlmIChmbGFncyAmIE1CQV9VTklCWVRFX0ZBTExCQUNLKQorICAgICAgICAgICAgZ290byBtYnNhbGlnbl91bmlieXRlOworICAgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGdvdG8gbWJzYWxpZ25fY2xlYW51cDsKKyAgICAgICAgfQorICAgICAgaWYgKG1ic3Rvd2NzIChzdHJfd2MsIHNyYywgc3JjX2NoYXJzKSAhPSAwKQorICAgICAgICB7CisgICAgICAgICAgc3RyX3djW3NyY19jaGFycyAtIDFdID0gTCdcMCc7CisgICAgICAgICAgd2NfZW5hYmxlZCA9IHRydWU7CisgICAgICAgICAgY29udmVyc2lvbiA9IHdjX2Vuc3VyZV9wcmludGFibGUgKHN0cl93Yyk7CisgICAgICAgICAgbl9jb2xzID0gcnBsX3djc3dpZHRoIChzdHJfd2MsIHNyY19jaGFycyk7CisgICAgICAgIH0KKyAgICB9CisKKyAgLyogSWYgd2UgdHJhbnNmb3JtZWQgb3IgbmVlZCB0byB0cnVuY2F0ZSB0aGUgc291cmNlIHN0cmluZworICAgICB0aGVuIGNyZWF0ZSBhIG1vZGlmaWVkIGNvcHkgb2YgaXQuICAqLworICBpZiAod2NfZW5hYmxlZCAmJiAoY29udmVyc2lvbiB8fCAobl9jb2xzID4gKndpZHRoKSkpCisgICAgeworICAgICAgICBpZiAoY29udmVyc2lvbikKKyAgICAgICAgICB7CisgICAgICAgICAgICAgLyogTWF5IGhhdmUgaW5jcmVhc2VkIHRoZSBzaXplIGJ5IGNvbnZlcnRpbmcKKyAgICAgICAgICAgICAgICBcdCB0byBcdUZGRkQgZm9yIGV4YW1wbGUuICAqLworICAgICAgICAgICAgc3JjX3NpemUgPSB3Y3N0b21icyhOVUxMLCBzdHJfd2MsIDApICsgMTsKKyAgICAgICAgICB9CisgICAgICAgIG5ld3N0ciA9IG1hbGxvYyAoc3JjX3NpemUpOworICAgICAgICBpZiAobmV3c3RyID09IE5VTEwpCisgICAgICAgIHsKKyAgICAgICAgICBpZiAoZmxhZ3MgJiBNQkFfVU5JQllURV9GQUxMQkFDSykKKyAgICAgICAgICAgIGdvdG8gbWJzYWxpZ25fdW5pYnl0ZTsKKyAgICAgICAgICBlbHNlCisgICAgICAgICAgICBnb3RvIG1ic2FsaWduX2NsZWFudXA7CisgICAgICAgIH0KKyAgICAgICAgc3RyX3RvX3ByaW50ID0gbmV3c3RyOworICAgICAgICBuX2NvbHMgPSB3Y190cnVuY2F0ZSAoc3RyX3djLCAqd2lkdGgpOworICAgICAgICBuX3VzZWRfYnl0ZXMgPSB3Y3N0b21icyAobmV3c3RyLCBzdHJfd2MsIHNyY19zaXplKTsKKyAgICB9CisKK21ic2FsaWduX3VuaWJ5dGU6CisjZW5kaWYKKworICBpZiAobl9jb2xzID4gKndpZHRoKSAvKiBVbmlieXRlIHRydW5jYXRpb24gcmVxdWlyZWQuICAqLworICAgIHsKKyAgICAgIG5fY29scyA9ICp3aWR0aDsKKyAgICAgIG5fdXNlZF9ieXRlcyA9IG5fY29sczsKKyAgICB9CisKKyAgaWYgKCp3aWR0aCA+IG5fY29scykgLyogUGFkZGluZyByZXF1aXJlZC4gICovCisgICAgbl9zcGFjZXMgPSAqd2lkdGggLSBuX2NvbHM7CisKKyAgLyogaW5kaWNhdGUgdG8gY2FsbGVyIGhvdyBtYW55IGNlbGxzIG5lZWRlZCAobm90IGluY2x1ZGluZyBwYWRkaW5nKS4gICovCisgICp3aWR0aCA9IG5fY29sczsKKworICAvKiBpbmRpY2F0ZSB0byBjYWxsZXIgaG93IG1hbnkgYnl0ZXMgbmVlZGVkIChub3QgaW5jbHVkaW5nIE5VTCkuICAqLworICByZXQgPSBuX3VzZWRfYnl0ZXMgKyAobl9zcGFjZXMgKiAxKTsKKworICAvKiBXcml0ZSBhcyBtdWNoIE5VTCB0ZXJtaW5hdGVkIG91dHB1dCB0byBERVNUIGFzIHBvc3NpYmxlLiAgKi8KKyAgaWYgKGRlc3Rfc2l6ZSAhPSAwKQorICAgIHsKKyAgICAgIGNoYXIgKmRlc3RfZW5kID0gZGVzdCArIGRlc3Rfc2l6ZSAtIDE7CisgICAgICBzaXplX3Qgc3RhcnRfc3BhY2VzOworICAgICAgc2l6ZV90IGVuZF9zcGFjZXM7CisKKyAgICAgIHN3aXRjaCAoYWxpZ24pCisgICAgICAgIHsKKyAgICAgICAgY2FzZSBNQlNfQUxJR05fQ0VOVEVSOgorICAgICAgICAgIHN0YXJ0X3NwYWNlcyA9IG5fc3BhY2VzIC8gMiArIG5fc3BhY2VzICUgMjsKKyAgICAgICAgICBlbmRfc3BhY2VzID0gbl9zcGFjZXMgLyAyOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1CU19BTElHTl9MRUZUOgorICAgICAgICAgIHN0YXJ0X3NwYWNlcyA9IDA7CisgICAgICAgICAgZW5kX3NwYWNlcyA9IG5fc3BhY2VzOworICAgICAgICAgIGJyZWFrOworICAgICAgICBjYXNlIE1CU19BTElHTl9SSUdIVDoKKyAgICAgICAgICBzdGFydF9zcGFjZXMgPSBuX3NwYWNlczsKKyAgICAgICAgICBlbmRfc3BhY2VzID0gMDsKKyAgICAgICAgICBicmVhazsKKwlkZWZhdWx0OgorCSAgYWJvcnQoKTsKKyAgICAgICAgfQorCisgICAgICBkZXN0ID0gbWJzX2FsaWduX3BhZCAoZGVzdCwgZGVzdF9lbmQsIHN0YXJ0X3NwYWNlcywgcGFkY2hhcik7CisgICAgICBzcGFjZV9sZWZ0ID0gZGVzdF9lbmQgLSBkZXN0OworICAgICAgZGVzdCA9IG1lbXBjcHkgKGRlc3QsIHN0cl90b19wcmludCwgbWluIChuX3VzZWRfYnl0ZXMsIHNwYWNlX2xlZnQpKTsKKyAgICAgIG1ic19hbGlnbl9wYWQgKGRlc3QsIGRlc3RfZW5kLCBlbmRfc3BhY2VzLCBwYWRjaGFyKTsKKyAgICB9CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorbWJzYWxpZ25fY2xlYW51cDoKKyNlbmRpZgorICBmcmVlIChzdHJfd2MpOworICBmcmVlIChuZXdzdHIpOworCisgIHJldHVybiByZXQ7Cit9CmRpZmYgLS1naXQgYS9saWIvbWJzZWRpdC5jIGIvbGliL21ic2VkaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2U1OTAxCi0tLSAvZGV2L251bGwKKysrIGIvbGliL21ic2VkaXQuYwpAQCAtMCwwICsxLDIyNSBAQAorLyoKKyAqIFZlcnkgc2ltcGxlIG11bHRpYnl0ZSBidWZmZXIgZWRpdG9yLiBBbGxvd3MgdG8gbWFpbnRhaW5lIHRoZSBjdXJyZW50CisgKiBwb3NpdGlvbiBpbiB0aGUgc3RyaW5nLCBhZGQgYW5kIHJlbW92ZSBjaGFycyBvbiB0aGUgY3VycmVudCBwb3NpdGlvbi4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorI2luY2x1ZGUgIm1ic2VkaXQuaCIKKworc3RydWN0IG1ic19lZGl0b3IgKm1ic19uZXdfZWRpdChjaGFyICpidWYsIHNpemVfdCBidWZzeiwgc2l6ZV90IG5jZWxscykKK3sKKwlzdHJ1Y3QgbWJzX2VkaXRvciAqZWRpdCA9IGNhbGxvYygxLCBzaXplb2YoKmVkaXQpKTsKKworCWlmIChlZGl0KSB7CisJCWVkaXQtPmJ1ZiA9IGJ1ZjsKKwkJZWRpdC0+bWF4X2J5dGVzID0gYnVmc3o7CisJCWVkaXQtPm1heF9jZWxscyA9IG5jZWxsczsKKwkJZWRpdC0+Y3VyX2NlbGxzID0gbWJzX3NhZmVfd2lkdGgoYnVmKTsKKwkJZWRpdC0+Y3VyX2J5dGVzID0gc3RybGVuKGJ1Zik7CisJfQorCXJldHVybiBlZGl0OworfQorCitjaGFyICptYnNfZnJlZV9lZGl0KHN0cnVjdCBtYnNfZWRpdG9yICplZGl0KQoreworCWNoYXIgKnJldCA9IGVkaXQgPyBlZGl0LT5idWYgOiBOVUxMOworCisJZnJlZShlZGl0KTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgc2l6ZV90IG1ic19uZXh0KGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90ICpuY2VsbHMpCit7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCXdjaGFyX3Qgd2M7CisJc2l6ZV90IG4gPSAwOworCisJaWYgKCFzdHIgfHwgISpzdHIpCisJCXJldHVybiAwOworCisJbiA9IG1icnRvd2MoJndjLCBzdHIsIE1CX0NVUl9NQVgsIE5VTEwpOworCSpuY2VsbHMgPSB3Y3dpZHRoKHdjKTsKKwlyZXR1cm4gbjsKKyNlbHNlCisJaWYgKCFzdHIgfHwgISpzdHIpCisJCXJldHVybiAwOworCSpuY2VsbHMgPSAxOworCXJldHVybiAxOworI2VuZGlmCit9CisKK3N0YXRpYyBzaXplX3QgbWJzX3ByZXYoY29uc3QgY2hhciAqc3RhcnQsIGNvbnN0IGNoYXIgKmVuZCwgc2l6ZV90ICpuY2VsbHMpCit7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCXdjaGFyX3Qgd2MgPSAwOworCWNvbnN0IGNoYXIgKnAsICpwcmV2OworCXNpemVfdCBuID0gMDsKKworCWlmICghc3RhcnQgfHwgIWVuZCB8fCBzdGFydCA9PSBlbmQgfHwgISpzdGFydCkKKwkJcmV0dXJuIDA7CisKKwlwcmV2ID0gcCA9IHN0YXJ0OworCXdoaWxlIChwIDwgZW5kKSB7CisJCW4gPSBtYnJ0b3djKCZ3YywgcCwgTUJfQ1VSX01BWCwgTlVMTCk7CisJCXByZXYgPSBwOworCisJCWlmIChuID09IChzaXplX3QpIC0xIHx8IG4gPT0gKHNpemVfdCkgLTIpCisJCQlwKys7CisJCWVsc2UKKwkJCXAgKz0gbjsKKwl9CisKKwlpZiAocHJldiA9PSBlbmQpCisJCXJldHVybiAwOworCSpuY2VsbHMgPSB3Y3dpZHRoKHdjKTsKKwlyZXR1cm4gbjsKKyNlbHNlCisJaWYgKCFzdGFydCB8fCAhZW5kIHx8IHN0YXJ0ID09IGVuZCB8fCAhKnN0YXJ0KQorCQlyZXR1cm4gMDsKKwkqbmNlbGxzID0gMTsKKwlyZXR1cm4gMTsKKyNlbmRpZgorfQorCitpbnQgbWJzX2VkaXRfZ290byhzdHJ1Y3QgbWJzX2VkaXRvciAqZWRpdCwgaW50IHdoZXJlKQoreworCXN3aXRjaCAod2hlcmUpIHsKKwljYXNlIE1CU19FRElUX0xFRlQ6CisJCWlmIChlZGl0LT5jdXJzb3IgPT0gMCkKKwkJCXJldHVybiAxOworCQllbHNlIHsKKwkJCXNpemVfdCBuLCBjZWxsczsKKwkJCW4gPSBtYnNfcHJldihlZGl0LT5idWYsIGVkaXQtPmJ1ZiArIGVkaXQtPmN1cnNvciwgJmNlbGxzKTsKKwkJCWlmIChuKSB7CisJCQkJZWRpdC0+Y3Vyc29yIC09IG47CisJCQkJZWRpdC0+Y3Vyc29yX2NlbGxzIC09IGNlbGxzOworCQkJfQorCQl9CisJCWJyZWFrOworCWNhc2UgTUJTX0VESVRfUklHSFQ6CisJCWlmIChlZGl0LT5jdXJzb3JfY2VsbHMgPj0gZWRpdC0+Y3VyX2NlbGxzKQorCQkJcmV0dXJuIDE7CisJCWVsc2UgeworCQkJc2l6ZV90IG4sIGNlbGxzOworCQkJbiA9IG1ic19uZXh0KGVkaXQtPmJ1ZiArIGVkaXQtPmN1cnNvciwgJmNlbGxzKTsKKwkJCWlmIChuKSB7CisJCQkJZWRpdC0+Y3Vyc29yICs9IG47CisJCQkJZWRpdC0+Y3Vyc29yX2NlbGxzICs9IGNlbGxzOworCQkJfQorCQl9CisJCWJyZWFrOworCWNhc2UgTUJTX0VESVRfSE9NRToKKwkJZWRpdC0+Y3Vyc29yID0gMDsKKwkJZWRpdC0+Y3Vyc29yX2NlbGxzID0gMDsKKwkJYnJlYWs7CisJY2FzZSBNQlNfRURJVF9FTkQ6CisJCWVkaXQtPmN1cnNvciA9IGVkaXQtPmN1cl9ieXRlczsKKwkJZWRpdC0+Y3Vyc29yX2NlbGxzID0gZWRpdC0+Y3VyX2NlbGxzOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogUmVtb3ZlIG5leHQgTUIgZnJvbSBAc3RyLCByZXR1cm5zIG51bWJlciBvZiByZW1vdmVkIGJ5dGVzICovCitzdGF0aWMgc2l6ZV90IHJlbW92ZV9uZXh0KGNoYXIgKnN0ciwgc2l6ZV90ICpuY2VsbHMpCit7CisJLyogYWxsIGluIGJ5dGVzISAqLworCXNpemVfdCBieXRlcywgbW92ZV9ieXRlcywgbjsKKworCW4gICAgICAgICAgPSBtYnNfbmV4dChzdHIsIG5jZWxscyk7CisJYnl0ZXMgICAgICA9IHN0cmxlbihzdHIpOworCW1vdmVfYnl0ZXMgPSBieXRlcyAtIG47CisKKwltZW1tb3ZlKHN0ciwgc3RyICsgbiwgbW92ZV9ieXRlcyk7CisJc3RyW2J5dGVzIC0gbl0gPSAnXDAnOworCXJldHVybiBuOworfQorCitzdGF0aWMgc2l6ZV90IG1ic19pbnNlcnQoY2hhciAqc3RyLCB3aW50X3QgYywgc2l6ZV90ICpuY2VsbHMpCit7CisJLyogYWxsIGluIGJ5dGVzISAqLworCXNpemVfdCBuID0gMSwgYnl0ZXM7CisJY2hhciAqaW47CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJd2NoYXJfdCB3YyA9ICh3Y2hhcl90KSBjOworCWNoYXIgaW5fYnVmW01CX0NVUl9NQVhdOworCisJbiA9IHdjdG9tYihpbl9idWYsIHdjKTsKKwlpZiAobiA9PSAoc2l6ZV90KSAtMSkKKwkJcmV0dXJuIG47CisJKm5jZWxscyA9IHdjd2lkdGgod2MpOworCWluID0gaW5fYnVmOworI2Vsc2UKKwkqbmNlbGxzID0gMTsKKwlpbiA9IChjaGFyICopICZjOworI2VuZGlmCisJYnl0ZXMgICAgICAgPSBzdHJsZW4oc3RyKTsKKworCW1lbW1vdmUoc3RyICsgbiwgc3RyLCBieXRlcyk7CisJbWVtY3B5KHN0ciwgaW4sIG4pOworCXN0cltieXRlcyArIG5dID0gJ1wwJzsKKwlyZXR1cm4gbjsKK30KKworc3RhdGljIGludCBtYnNfZWRpdF9yZW1vdmUoc3RydWN0IG1ic19lZGl0b3IgKmVkaXQpCit7CisJc2l6ZV90IG4sIG5jZWxsczsKKworCWlmIChlZGl0LT5jdXJfY2VsbHMgPT0gMCB8fCBlZGl0LT5jdXJzb3IgPj0gZWRpdC0+Y3VyX2J5dGVzKQorCQlyZXR1cm4gMTsKKworCW4gPSByZW1vdmVfbmV4dChlZGl0LT5idWYgKyBlZGl0LT5jdXJzb3IsICZuY2VsbHMpOworCWlmIChuID09IChzaXplX3QpLTEpCisJCXJldHVybiAxOworCisJZWRpdC0+Y3VyX2J5dGVzIC09IG47CisJZWRpdC0+Y3VyX2NlbGxzID0gbWJzX3NhZmVfd2lkdGgoZWRpdC0+YnVmKTsKKwlyZXR1cm4gMDsKK30KKworaW50IG1ic19lZGl0X2RlbGV0ZShzdHJ1Y3QgbWJzX2VkaXRvciAqZWRpdCkKK3sKKwlpZiAoZWRpdC0+Y3Vyc29yID49IGVkaXQtPmN1cl9ieXRlcworCSAgICAmJiBtYnNfZWRpdF9nb3RvKGVkaXQsIE1CU19FRElUX0xFRlQpID09IDEpCisJCXJldHVybiAxOworCisJcmV0dXJuIG1ic19lZGl0X3JlbW92ZShlZGl0KTsKK30KKworaW50IG1ic19lZGl0X2JhY2tzcGFjZShzdHJ1Y3QgbWJzX2VkaXRvciAqZWRpdCkKK3sKKwlpZiAobWJzX2VkaXRfZ290byhlZGl0LCBNQlNfRURJVF9MRUZUKSA9PSAwKQorCQlyZXR1cm4gbWJzX2VkaXRfcmVtb3ZlKGVkaXQpOworCXJldHVybiAxOworfQorCitpbnQgbWJzX2VkaXRfaW5zZXJ0KHN0cnVjdCBtYnNfZWRpdG9yICplZGl0LCB3aW50X3QgYykKK3sKKwlzaXplX3QgbiwgbmNlbGxzOworCisJaWYgKGVkaXQtPmN1cl9ieXRlcyArIE1CX0NVUl9NQVggPiBlZGl0LT5tYXhfYnl0ZXMpCisJCXJldHVybiAxOworCisJbiA9IG1ic19pbnNlcnQoZWRpdC0+YnVmICsgZWRpdC0+Y3Vyc29yLCBjLCAmbmNlbGxzKTsKKwlpZiAobiA9PSAoc2l6ZV90KS0xKQorCQlyZXR1cm4gMTsKKworCWVkaXQtPmN1cnNvciArPSBuOworCWVkaXQtPmN1cnNvcl9jZWxscyArPSBuY2VsbHM7CisJZWRpdC0+Y3VyX2J5dGVzICs9IG47CisJZWRpdC0+Y3VyX2NlbGxzID0gbWJzX3NhZmVfd2lkdGgoZWRpdC0+YnVmKTsKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xpYi9tZDUuYyBiL2xpYi9tZDUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzY1YWI5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL21kNS5jCkBAIC0wLDAgKzEsMjU3IEBACisvKgorICogVGhpcyBjb2RlIGltcGxlbWVudHMgdGhlIE1ENSBtZXNzYWdlLWRpZ2VzdCBhbGdvcml0aG0uCisgKiBUaGUgYWxnb3JpdGhtIGlzIGR1ZSB0byBSb24gUml2ZXN0LiAgVGhpcyBjb2RlIHdhcworICogd3JpdHRlbiBieSBDb2xpbiBQbHVtYiBpbiAxOTkzLCBubyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4KKyAqIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aCBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIEVxdWl2YWxlbnQgY29kZSBpcyBhdmFpbGFibGUgZnJvbSBSU0EgRGF0YSBTZWN1cml0eSwgSW5jLgorICogVGhpcyBjb2RlIGhhcyBiZWVuIHRlc3RlZCBhZ2FpbnN0IHRoYXQsIGFuZCBpcyBlcXVpdmFsZW50LAorICogZXhjZXB0IHRoYXQgeW91IGRvbid0IG5lZWQgdG8gaW5jbHVkZSB0d28gcGFnZXMgb2YgbGVnYWxlc2UKKyAqIHdpdGggZXZlcnkgY29weS4KKyAqCisgKiBUbyBjb21wdXRlIHRoZSBtZXNzYWdlIGRpZ2VzdCBvZiBhIGNodW5rIG9mIGJ5dGVzLCBkZWNsYXJlIGFuCisgKiBNRDVDb250ZXh0IHN0cnVjdHVyZSwgcGFzcyBpdCB0byBNRDVJbml0LCBjYWxsIE1ENVVwZGF0ZSBhcworICogbmVlZGVkIG9uIGJ1ZmZlcnMgZnVsbCBvZiBieXRlcywgYW5kIHRoZW4gY2FsbCBNRDVGaW5hbCwgd2hpY2gKKyAqIHdpbGwgZmlsbCBhIHN1cHBsaWVkIDE2LWJ5dGUgYXJyYXkgd2l0aCB0aGUgZGlnZXN0LgorICovCisjaW5jbHVkZSA8c3RyaW5nLmg+CQkvKiBmb3IgbWVtY3B5KCkgKi8KKworI2luY2x1ZGUgIm1kNS5oIgorCisjaWYgIWRlZmluZWQoV09SRFNfQklHRU5ESUFOKQorIyBkZWZpbmUgYnl0ZVJldmVyc2UoYnVmLCBsZW4pCS8qIE5vdGhpbmcgKi8KKyNlbHNlCitzdGF0aWMgdm9pZCBieXRlUmV2ZXJzZSh1bnNpZ25lZCBjaGFyICpidWYsIHVuc2lnbmVkIGxvbmdzKTsKKworI2lmbmRlZiBBU01fTUQ1CisvKgorICogTm90ZTogdGhpcyBjb2RlIGlzIGhhcm1sZXNzIG9uIGxpdHRsZS1lbmRpYW4gbWFjaGluZXMuCisgKi8KK3N0YXRpYyB2b2lkIGJ5dGVSZXZlcnNlKHVuc2lnbmVkIGNoYXIgKmJ1ZiwgdW5zaWduZWQgbG9uZ3MpCit7CisgICAgdWludDMyX3QgdDsKKyAgICBkbyB7CisJdCA9ICh1aW50MzJfdCkgKCh1bnNpZ25lZCkgYnVmWzNdIDw8IDggfCBidWZbMl0pIDw8IDE2IHwKKwkgICAgKCh1bnNpZ25lZCkgYnVmWzFdIDw8IDggfCBidWZbMF0pOworCSoodWludDMyX3QgKikgYnVmID0gdDsKKwlidWYgKz0gNDsKKyAgICB9IHdoaWxlICgtLWxvbmdzKTsKK30KKyNlbmRpZiAvKiAhQVNNX01ENSAqLworI2VuZGlmIC8qICFXT1JEU19CSUdFTkRJQU4gKi8KKworLyoKKyAqIFN0YXJ0IE1ENSBhY2N1bXVsYXRpb24uICBTZXQgYml0IGNvdW50IHRvIDAgYW5kIGJ1ZmZlciB0byBteXN0ZXJpb3VzCisgKiBpbml0aWFsaXphdGlvbiBjb25zdGFudHMuCisgKi8KK3ZvaWQgdWxfTUQ1SW5pdChzdHJ1Y3QgVUxfTUQ1Q29udGV4dCAqY3R4KQoreworICAgIGN0eC0+YnVmWzBdID0gMHg2NzQ1MjMwMTsKKyAgICBjdHgtPmJ1ZlsxXSA9IDB4ZWZjZGFiODk7CisgICAgY3R4LT5idWZbMl0gPSAweDk4YmFkY2ZlOworICAgIGN0eC0+YnVmWzNdID0gMHgxMDMyNTQ3NjsKKworICAgIGN0eC0+Yml0c1swXSA9IDA7CisgICAgY3R4LT5iaXRzWzFdID0gMDsKK30KKworLyoKKyAqIFVwZGF0ZSBjb250ZXh0IHRvIHJlZmxlY3QgdGhlIGNvbmNhdGVuYXRpb24gb2YgYW5vdGhlciBidWZmZXIgZnVsbAorICogb2YgYnl0ZXMuCisgKi8KK3ZvaWQgdWxfTUQ1VXBkYXRlKHN0cnVjdCBVTF9NRDVDb250ZXh0ICpjdHgsIHVuc2lnbmVkIGNoYXIgY29uc3QgKmJ1ZiwgdW5zaWduZWQgbGVuKQoreworICAgIHVpbnQzMl90IHQ7CisKKyAgICAvKiBVcGRhdGUgYml0Y291bnQgKi8KKworICAgIHQgPSBjdHgtPmJpdHNbMF07CisgICAgaWYgKChjdHgtPmJpdHNbMF0gPSB0ICsgKCh1aW50MzJfdCkgbGVuIDw8IDMpKSA8IHQpCisJY3R4LT5iaXRzWzFdKys7CQkvKiBDYXJyeSBmcm9tIGxvdyB0byBoaWdoICovCisgICAgY3R4LT5iaXRzWzFdICs9IGxlbiA+PiAyOTsKKworICAgIHQgPSAodCA+PiAzKSAmIDB4M2Y7CS8qIEJ5dGVzIGFscmVhZHkgaW4gc2hzSW5mby0+ZGF0YSAqLworCisgICAgLyogSGFuZGxlIGFueSBsZWFkaW5nIG9kZC1zaXplZCBjaHVua3MgKi8KKworICAgIGlmICh0KSB7CisJdW5zaWduZWQgY2hhciAqcCA9ICh1bnNpZ25lZCBjaGFyICopIGN0eC0+aW4gKyB0OworCisJdCA9IDY0IC0gdDsKKwlpZiAobGVuIDwgdCkgeworCSAgICBtZW1jcHkocCwgYnVmLCBsZW4pOworCSAgICByZXR1cm47CisJfQorCW1lbWNweShwLCBidWYsIHQpOworCWJ5dGVSZXZlcnNlKGN0eC0+aW4sIDE2KTsKKwl1bF9NRDVUcmFuc2Zvcm0oY3R4LT5idWYsICh1aW50MzJfdCAqKSBjdHgtPmluKTsKKwlidWYgKz0gdDsKKwlsZW4gLT0gdDsKKyAgICB9CisgICAgLyogUHJvY2VzcyBkYXRhIGluIDY0LWJ5dGUgY2h1bmtzICovCisKKyAgICB3aGlsZSAobGVuID49IDY0KSB7CisJbWVtY3B5KGN0eC0+aW4sIGJ1ZiwgNjQpOworCWJ5dGVSZXZlcnNlKGN0eC0+aW4sIDE2KTsKKwl1bF9NRDVUcmFuc2Zvcm0oY3R4LT5idWYsICh1aW50MzJfdCAqKSBjdHgtPmluKTsKKwlidWYgKz0gNjQ7CisJbGVuIC09IDY0OworICAgIH0KKworICAgIC8qIEhhbmRsZSBhbnkgcmVtYWluaW5nIGJ5dGVzIG9mIGRhdGEuICovCisKKyAgICBtZW1jcHkoY3R4LT5pbiwgYnVmLCBsZW4pOworfQorCisvKgorICogRmluYWwgd3JhcHVwIC0gcGFkIHRvIDY0LWJ5dGUgYm91bmRhcnkgd2l0aCB0aGUgYml0IHBhdHRlcm4KKyAqIDEgMCogKDY0LWJpdCBjb3VudCBvZiBiaXRzIHByb2Nlc3NlZCwgTVNCLWZpcnN0KQorICovCit2b2lkIHVsX01ENUZpbmFsKHVuc2lnbmVkIGNoYXIgZGlnZXN0W1VMX01ENUxFTkdUSF0sIHN0cnVjdCBVTF9NRDVDb250ZXh0ICpjdHgpCit7CisgICAgdW5zaWduZWQgY291bnQ7CisgICAgdW5zaWduZWQgY2hhciAqcDsKKworICAgIC8qIENvbXB1dGUgbnVtYmVyIG9mIGJ5dGVzIG1vZCA2NCAqLworICAgIGNvdW50ID0gKGN0eC0+Yml0c1swXSA+PiAzKSAmIDB4M0Y7CisKKyAgICAvKiBTZXQgdGhlIGZpcnN0IGNoYXIgb2YgcGFkZGluZyB0byAweDgwLiAgVGhpcyBpcyBzYWZlIHNpbmNlIHRoZXJlIGlzCisgICAgICAgYWx3YXlzIGF0IGxlYXN0IG9uZSBieXRlIGZyZWUgKi8KKyAgICBwID0gY3R4LT5pbiArIGNvdW50OworICAgICpwKysgPSAweDgwOworCisgICAgLyogQnl0ZXMgb2YgcGFkZGluZyBuZWVkZWQgdG8gbWFrZSA2NCBieXRlcyAqLworICAgIGNvdW50ID0gNjQgLSAxIC0gY291bnQ7CisKKyAgICAvKiBQYWQgb3V0IHRvIDU2IG1vZCA2NCAqLworICAgIGlmIChjb3VudCA8IDgpIHsKKwkvKiBUd28gbG90cyBvZiBwYWRkaW5nOiAgUGFkIHRoZSBmaXJzdCBibG9jayB0byA2NCBieXRlcyAqLworCW1lbXNldChwLCAwLCBjb3VudCk7CisJYnl0ZVJldmVyc2UoY3R4LT5pbiwgMTYpOworCXVsX01ENVRyYW5zZm9ybShjdHgtPmJ1ZiwgKHVpbnQzMl90ICopIGN0eC0+aW4pOworCisJLyogTm93IGZpbGwgdGhlIG5leHQgYmxvY2sgd2l0aCA1NiBieXRlcyAqLworCW1lbXNldChjdHgtPmluLCAwLCA1Nik7CisgICAgfSBlbHNlIHsKKwkvKiBQYWQgYmxvY2sgdG8gNTYgYnl0ZXMgKi8KKwltZW1zZXQocCwgMCwgY291bnQgLSA4KTsKKyAgICB9CisgICAgYnl0ZVJldmVyc2UoY3R4LT5pbiwgMTQpOworCisgICAgLyogQXBwZW5kIGxlbmd0aCBpbiBiaXRzIGFuZCB0cmFuc2Zvcm0uCisgICAgICogVXNlIG1lbWNweSB0byBhdm9pZCBhbGlhc2luZyBwcm9ibGVtcy4gIE9uIG1vc3Qgc3lzdGVtcywKKyAgICAgKiB0aGlzIHdpbGwgYmUgb3B0aW1pemVkIGF3YXkgdG8gdGhlIHNhbWUgY29kZS4KKyAgICAgKi8KKyAgICBtZW1jcHkoJmN0eC0+aW5bMTQgKiBzaXplb2YodWludDMyX3QpXSwgJmN0eC0+Yml0c1swXSwgNCk7CisgICAgbWVtY3B5KCZjdHgtPmluWzE1ICogc2l6ZW9mKHVpbnQzMl90KV0sICZjdHgtPmJpdHNbMV0sIDQpOworCisgICAgdWxfTUQ1VHJhbnNmb3JtKGN0eC0+YnVmLCAodWludDMyX3QgKikgY3R4LT5pbik7CisgICAgYnl0ZVJldmVyc2UoKHVuc2lnbmVkIGNoYXIgKikgY3R4LT5idWYsIDQpOworICAgIG1lbWNweShkaWdlc3QsIGN0eC0+YnVmLCBVTF9NRDVMRU5HVEgpOworICAgIG1lbXNldChjdHgsIDAsIHNpemVvZigqY3R4KSk7CS8qIEluIGNhc2UgaXQncyBzZW5zaXRpdmUgKi8KK30KKworI2lmbmRlZiBBU01fTUQ1CisKKy8qIFRoZSBmb3VyIGNvcmUgZnVuY3Rpb25zIC0gRjEgaXMgb3B0aW1pemVkIHNvbWV3aGF0ICovCisKKy8qICNkZWZpbmUgRjEoeCwgeSwgeikgKHggJiB5IHwgfnggJiB6KSAqLworI2RlZmluZSBGMSh4LCB5LCB6KSAoeiBeICh4ICYgKHkgXiB6KSkpCisjZGVmaW5lIEYyKHgsIHksIHopIEYxKHosIHgsIHkpCisjZGVmaW5lIEYzKHgsIHksIHopICh4IF4geSBeIHopCisjZGVmaW5lIEY0KHgsIHksIHopICh5IF4gKHggfCB+eikpCisKKy8qIFRoaXMgaXMgdGhlIGNlbnRyYWwgc3RlcCBpbiB0aGUgTUQ1IGFsZ29yaXRobS4gKi8KKyNkZWZpbmUgTUQ1U1RFUChmLCB3LCB4LCB5LCB6LCBkYXRhLCBzKSBcCisJKCB3ICs9IGYoeCwgeSwgeikgKyBkYXRhLCAgdyA9IHc8PHMgfCB3Pj4oMzItcyksICB3ICs9IHggKQorCisvKgorICogVGhlIGNvcmUgb2YgdGhlIE1ENSBhbGdvcml0aG0sIHRoaXMgYWx0ZXJzIGFuIGV4aXN0aW5nIE1ENSBoYXNoIHRvCisgKiByZWZsZWN0IHRoZSBhZGRpdGlvbiBvZiAxNiBsb25nd29yZHMgb2YgbmV3IGRhdGEuICBNRDVVcGRhdGUgYmxvY2tzCisgKiB0aGUgZGF0YSBhbmQgY29udmVydHMgYnl0ZXMgaW50byBsb25nd29yZHMgZm9yIHRoaXMgcm91dGluZS4KKyAqLwordm9pZCB1bF9NRDVUcmFuc2Zvcm0odWludDMyX3QgYnVmWzRdLCB1aW50MzJfdCBjb25zdCBpblsxNl0pCit7CisgICAgcmVnaXN0ZXIgdWludDMyX3QgYSwgYiwgYywgZDsKKworICAgIGEgPSBidWZbMF07CisgICAgYiA9IGJ1ZlsxXTsKKyAgICBjID0gYnVmWzJdOworICAgIGQgPSBidWZbM107CisKKyAgICBNRDVTVEVQKEYxLCBhLCBiLCBjLCBkLCBpblswXSArIDB4ZDc2YWE0NzgsIDcpOworICAgIE1ENVNURVAoRjEsIGQsIGEsIGIsIGMsIGluWzFdICsgMHhlOGM3Yjc1NiwgMTIpOworICAgIE1ENVNURVAoRjEsIGMsIGQsIGEsIGIsIGluWzJdICsgMHgyNDIwNzBkYiwgMTcpOworICAgIE1ENVNURVAoRjEsIGIsIGMsIGQsIGEsIGluWzNdICsgMHhjMWJkY2VlZSwgMjIpOworICAgIE1ENVNURVAoRjEsIGEsIGIsIGMsIGQsIGluWzRdICsgMHhmNTdjMGZhZiwgNyk7CisgICAgTUQ1U1RFUChGMSwgZCwgYSwgYiwgYywgaW5bNV0gKyAweDQ3ODdjNjJhLCAxMik7CisgICAgTUQ1U1RFUChGMSwgYywgZCwgYSwgYiwgaW5bNl0gKyAweGE4MzA0NjEzLCAxNyk7CisgICAgTUQ1U1RFUChGMSwgYiwgYywgZCwgYSwgaW5bN10gKyAweGZkNDY5NTAxLCAyMik7CisgICAgTUQ1U1RFUChGMSwgYSwgYiwgYywgZCwgaW5bOF0gKyAweDY5ODA5OGQ4LCA3KTsKKyAgICBNRDVTVEVQKEYxLCBkLCBhLCBiLCBjLCBpbls5XSArIDB4OGI0NGY3YWYsIDEyKTsKKyAgICBNRDVTVEVQKEYxLCBjLCBkLCBhLCBiLCBpblsxMF0gKyAweGZmZmY1YmIxLCAxNyk7CisgICAgTUQ1U1RFUChGMSwgYiwgYywgZCwgYSwgaW5bMTFdICsgMHg4OTVjZDdiZSwgMjIpOworICAgIE1ENVNURVAoRjEsIGEsIGIsIGMsIGQsIGluWzEyXSArIDB4NmI5MDExMjIsIDcpOworICAgIE1ENVNURVAoRjEsIGQsIGEsIGIsIGMsIGluWzEzXSArIDB4ZmQ5ODcxOTMsIDEyKTsKKyAgICBNRDVTVEVQKEYxLCBjLCBkLCBhLCBiLCBpblsxNF0gKyAweGE2Nzk0MzhlLCAxNyk7CisgICAgTUQ1U1RFUChGMSwgYiwgYywgZCwgYSwgaW5bMTVdICsgMHg0OWI0MDgyMSwgMjIpOworCisgICAgTUQ1U1RFUChGMiwgYSwgYiwgYywgZCwgaW5bMV0gKyAweGY2MWUyNTYyLCA1KTsKKyAgICBNRDVTVEVQKEYyLCBkLCBhLCBiLCBjLCBpbls2XSArIDB4YzA0MGIzNDAsIDkpOworICAgIE1ENVNURVAoRjIsIGMsIGQsIGEsIGIsIGluWzExXSArIDB4MjY1ZTVhNTEsIDE0KTsKKyAgICBNRDVTVEVQKEYyLCBiLCBjLCBkLCBhLCBpblswXSArIDB4ZTliNmM3YWEsIDIwKTsKKyAgICBNRDVTVEVQKEYyLCBhLCBiLCBjLCBkLCBpbls1XSArIDB4ZDYyZjEwNWQsIDUpOworICAgIE1ENVNURVAoRjIsIGQsIGEsIGIsIGMsIGluWzEwXSArIDB4MDI0NDE0NTMsIDkpOworICAgIE1ENVNURVAoRjIsIGMsIGQsIGEsIGIsIGluWzE1XSArIDB4ZDhhMWU2ODEsIDE0KTsKKyAgICBNRDVTVEVQKEYyLCBiLCBjLCBkLCBhLCBpbls0XSArIDB4ZTdkM2ZiYzgsIDIwKTsKKyAgICBNRDVTVEVQKEYyLCBhLCBiLCBjLCBkLCBpbls5XSArIDB4MjFlMWNkZTYsIDUpOworICAgIE1ENVNURVAoRjIsIGQsIGEsIGIsIGMsIGluWzE0XSArIDB4YzMzNzA3ZDYsIDkpOworICAgIE1ENVNURVAoRjIsIGMsIGQsIGEsIGIsIGluWzNdICsgMHhmNGQ1MGQ4NywgMTQpOworICAgIE1ENVNURVAoRjIsIGIsIGMsIGQsIGEsIGluWzhdICsgMHg0NTVhMTRlZCwgMjApOworICAgIE1ENVNURVAoRjIsIGEsIGIsIGMsIGQsIGluWzEzXSArIDB4YTllM2U5MDUsIDUpOworICAgIE1ENVNURVAoRjIsIGQsIGEsIGIsIGMsIGluWzJdICsgMHhmY2VmYTNmOCwgOSk7CisgICAgTUQ1U1RFUChGMiwgYywgZCwgYSwgYiwgaW5bN10gKyAweDY3NmYwMmQ5LCAxNCk7CisgICAgTUQ1U1RFUChGMiwgYiwgYywgZCwgYSwgaW5bMTJdICsgMHg4ZDJhNGM4YSwgMjApOworCisgICAgTUQ1U1RFUChGMywgYSwgYiwgYywgZCwgaW5bNV0gKyAweGZmZmEzOTQyLCA0KTsKKyAgICBNRDVTVEVQKEYzLCBkLCBhLCBiLCBjLCBpbls4XSArIDB4ODc3MWY2ODEsIDExKTsKKyAgICBNRDVTVEVQKEYzLCBjLCBkLCBhLCBiLCBpblsxMV0gKyAweDZkOWQ2MTIyLCAxNik7CisgICAgTUQ1U1RFUChGMywgYiwgYywgZCwgYSwgaW5bMTRdICsgMHhmZGU1MzgwYywgMjMpOworICAgIE1ENVNURVAoRjMsIGEsIGIsIGMsIGQsIGluWzFdICsgMHhhNGJlZWE0NCwgNCk7CisgICAgTUQ1U1RFUChGMywgZCwgYSwgYiwgYywgaW5bNF0gKyAweDRiZGVjZmE5LCAxMSk7CisgICAgTUQ1U1RFUChGMywgYywgZCwgYSwgYiwgaW5bN10gKyAweGY2YmI0YjYwLCAxNik7CisgICAgTUQ1U1RFUChGMywgYiwgYywgZCwgYSwgaW5bMTBdICsgMHhiZWJmYmM3MCwgMjMpOworICAgIE1ENVNURVAoRjMsIGEsIGIsIGMsIGQsIGluWzEzXSArIDB4Mjg5YjdlYzYsIDQpOworICAgIE1ENVNURVAoRjMsIGQsIGEsIGIsIGMsIGluWzBdICsgMHhlYWExMjdmYSwgMTEpOworICAgIE1ENVNURVAoRjMsIGMsIGQsIGEsIGIsIGluWzNdICsgMHhkNGVmMzA4NSwgMTYpOworICAgIE1ENVNURVAoRjMsIGIsIGMsIGQsIGEsIGluWzZdICsgMHgwNDg4MWQwNSwgMjMpOworICAgIE1ENVNURVAoRjMsIGEsIGIsIGMsIGQsIGluWzldICsgMHhkOWQ0ZDAzOSwgNCk7CisgICAgTUQ1U1RFUChGMywgZCwgYSwgYiwgYywgaW5bMTJdICsgMHhlNmRiOTllNSwgMTEpOworICAgIE1ENVNURVAoRjMsIGMsIGQsIGEsIGIsIGluWzE1XSArIDB4MWZhMjdjZjgsIDE2KTsKKyAgICBNRDVTVEVQKEYzLCBiLCBjLCBkLCBhLCBpblsyXSArIDB4YzRhYzU2NjUsIDIzKTsKKworICAgIE1ENVNURVAoRjQsIGEsIGIsIGMsIGQsIGluWzBdICsgMHhmNDI5MjI0NCwgNik7CisgICAgTUQ1U1RFUChGNCwgZCwgYSwgYiwgYywgaW5bN10gKyAweDQzMmFmZjk3LCAxMCk7CisgICAgTUQ1U1RFUChGNCwgYywgZCwgYSwgYiwgaW5bMTRdICsgMHhhYjk0MjNhNywgMTUpOworICAgIE1ENVNURVAoRjQsIGIsIGMsIGQsIGEsIGluWzVdICsgMHhmYzkzYTAzOSwgMjEpOworICAgIE1ENVNURVAoRjQsIGEsIGIsIGMsIGQsIGluWzEyXSArIDB4NjU1YjU5YzMsIDYpOworICAgIE1ENVNURVAoRjQsIGQsIGEsIGIsIGMsIGluWzNdICsgMHg4ZjBjY2M5MiwgMTApOworICAgIE1ENVNURVAoRjQsIGMsIGQsIGEsIGIsIGluWzEwXSArIDB4ZmZlZmY0N2QsIDE1KTsKKyAgICBNRDVTVEVQKEY0LCBiLCBjLCBkLCBhLCBpblsxXSArIDB4ODU4NDVkZDEsIDIxKTsKKyAgICBNRDVTVEVQKEY0LCBhLCBiLCBjLCBkLCBpbls4XSArIDB4NmZhODdlNGYsIDYpOworICAgIE1ENVNURVAoRjQsIGQsIGEsIGIsIGMsIGluWzE1XSArIDB4ZmUyY2U2ZTAsIDEwKTsKKyAgICBNRDVTVEVQKEY0LCBjLCBkLCBhLCBiLCBpbls2XSArIDB4YTMwMTQzMTQsIDE1KTsKKyAgICBNRDVTVEVQKEY0LCBiLCBjLCBkLCBhLCBpblsxM10gKyAweDRlMDgxMWExLCAyMSk7CisgICAgTUQ1U1RFUChGNCwgYSwgYiwgYywgZCwgaW5bNF0gKyAweGY3NTM3ZTgyLCA2KTsKKyAgICBNRDVTVEVQKEY0LCBkLCBhLCBiLCBjLCBpblsxMV0gKyAweGJkM2FmMjM1LCAxMCk7CisgICAgTUQ1U1RFUChGNCwgYywgZCwgYSwgYiwgaW5bMl0gKyAweDJhZDdkMmJiLCAxNSk7CisgICAgTUQ1U1RFUChGNCwgYiwgYywgZCwgYSwgaW5bOV0gKyAweGViODZkMzkxLCAyMSk7CisKKyAgICBidWZbMF0gKz0gYTsKKyAgICBidWZbMV0gKz0gYjsKKyAgICBidWZbMl0gKz0gYzsKKyAgICBidWZbM10gKz0gZDsKK30KKworI2VuZGlmCisKZGlmZiAtLWdpdCBhL2xpYi9tb25vdG9uaWMuYyBiL2xpYi9tb25vdG9uaWMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjU4ZTE1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL21vbm90b25pYy5jCkBAIC0wLDAgKzEsNzAgQEAKKy8qCisgKiBQbGVhc2UsIGRvbid0IGFkZCB0aGlzIGZpbGUgdG8gbGliY29tbW9uIGJlY2F1c2UgY2xvY2tfZ2V0dGltZSgpIHJlcXVpcmVzCisgKiAtbHJ0IG9uIHN5c3RlbXMgd2l0aCBvbGQgbGliYy4KKyAqLworI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpZmRlZiBIQVZFX1NZU0lORk8KKyNpbmNsdWRlIDxzeXMvc3lzaW5mby5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJtb25vdG9uaWMuaCIKKworaW50IGdldF9ib290X3RpbWUoc3RydWN0IHRpbWV2YWwgKmJvb3RfdGltZSkKK3sKKyNpZmRlZiBDTE9DS19CT09UVElNRQorCXN0cnVjdCB0aW1lc3BlYyBoaXJlc191cHRpbWU7CisJc3RydWN0IHRpbWV2YWwgbG9yZXNfdXB0aW1lOworI2VuZGlmCisJc3RydWN0IHRpbWV2YWwgbm93OworI2lmZGVmIEhBVkVfU1lTSU5GTworCXN0cnVjdCBzeXNpbmZvIGluZm87CisjZW5kaWYKKworCWlmIChnZXR0aW1lb2ZkYXkoJm5vdywgTlVMTCkgIT0gMCkKKwkJcmV0dXJuIC1lcnJubzsKKyNpZmRlZiBDTE9DS19CT09UVElNRQorCWlmIChjbG9ja19nZXR0aW1lKENMT0NLX0JPT1RUSU1FLCAmaGlyZXNfdXB0aW1lKSA9PSAwKSB7CisJCVRJTUVTUEVDX1RPX1RJTUVWQUwoJmxvcmVzX3VwdGltZSwgJmhpcmVzX3VwdGltZSk7CisJCXRpbWVyc3ViKCZub3csICZsb3Jlc191cHRpbWUsIGJvb3RfdGltZSk7CisJCXJldHVybiAwOworCX0KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1lTSU5GTworCS8qIGZhbGxiYWNrICovCisJaWYgKHN5c2luZm8oJmluZm8pICE9IDApCisJCXJldHVybiAtZXJybm87CisKKwlib290X3RpbWUtPnR2X3NlYyA9IG5vdy50dl9zZWMgLSBpbmZvLnVwdGltZTsKKwlib290X3RpbWUtPnR2X3VzZWMgPSAwOworCXJldHVybiAwOworI2Vsc2UKKwlyZXR1cm4gLUVOT1NZUzsKKyNlbmRpZgorfQorCitpbnQgZ2V0dGltZV9tb25vdG9uaWMoc3RydWN0IHRpbWV2YWwgKnR2KQoreworI2lmZGVmIENMT0NLX01PTk9UT05JQworCS8qIENhbiBzbGV3IG9ubHkgYnkgbnRwIGFuZCBhZGp0aW1lICovCisJaW50IHJldDsKKwlzdHJ1Y3QgdGltZXNwZWMgdHM7CisKKyMgaWZkZWYgQ0xPQ0tfTU9OT1RPTklDX1JBVworCS8qIExpbnV4IHNwZWNpZmljLCBjYW4ndCBzbGV3ICovCisJaWYgKCEocmV0ID0gY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUNfUkFXLCAmdHMpKSkgeworIyBlbHNlCisJaWYgKCEocmV0ID0gY2xvY2tfZ2V0dGltZShDTE9DS19NT05PVE9OSUMsICZ0cykpKSB7CisjIGVuZGlmCisJCXR2LT50dl9zZWMgPSB0cy50dl9zZWM7CisJCXR2LT50dl91c2VjID0gdHMudHZfbnNlYyAvIDEwMDA7CisJfQorCXJldHVybiByZXQ7CisjZWxzZQorCXJldHVybiBnZXR0aW1lb2ZkYXkodHYsIE5VTEwpOworI2VuZGlmCit9CisKKwpkaWZmIC0tZ2l0IGEvbGliL3BhZ2VyLmMgYi9saWIvcGFnZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2NmNmVlCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3BhZ2VyLmMKQEAgLTAsMCArMSwzMTcgQEAKKy8qCisgKiBCYXNlZCBvbiBsaW51eC1wZXJmL2dpdCBzY20KKyAqCisgKiBTb21lIG1vZGlmaWNhdGlvbnMgYW5kIHNpbXBsaWZpY2F0aW9ucyBmb3IgdXRpbC1saW51eAorICogYnkgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQHh4eHh4eHg+IC0gTWFyY2ggMjAxMi4KKyAqLworCisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisjaW5jbHVkZSAicGFnZXIuaCIKKworI2RlZmluZSBOVUxMX0RFVklDRQkiL2Rldi9udWxsIgorCitzdGF0aWMgY29uc3QgY2hhciAqcGFnZXJfYXJndltdID0geyAic2giLCAiLWMiLCBOVUxMLCBOVUxMIH07CisKK3N0cnVjdCBjaGlsZF9wcm9jZXNzIHsKKwljb25zdCBjaGFyICoqYXJndjsKKwlwaWRfdCBwaWQ7CisJaW50IGluOworCWludCBvdXQ7CisJaW50IGVycjsKKworCWludCBvcmdfZXJyOworCWludCBvcmdfb3V0OworCXN0cnVjdCBzaWdhY3Rpb24gb3JpZ19zaWdpbnQ7CisJc3RydWN0IHNpZ2FjdGlvbiBvcmlnX3NpZ2h1cDsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIG9yaWdfc2lndGVybTsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIG9yaWdfc2lncXVpdDsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIG9yaWdfc2lncGlwZTsKKworCXVuc2lnbmVkIG5vX3N0ZGluOjE7CisJdm9pZCAoKnByZWV4ZWNfY2IpKHZvaWQpOworfTsKK3N0YXRpYyBzdHJ1Y3QgY2hpbGRfcHJvY2VzcyBwYWdlcl9wcm9jZXNzOworCitzdGF0aWMgaW5saW5lIHZvaWQgY2xvc2VfcGFpcihpbnQgZmRbMl0pCit7CisJY2xvc2UoZmRbMF0pOworCWNsb3NlKGZkWzFdKTsKK30KKworc3RhdGljIGludCBzdGFydF9jb21tYW5kKHN0cnVjdCBjaGlsZF9wcm9jZXNzICpjbWQpCit7CisJaW50IG5lZWRfaW47CisJaW50IGZkaW5bMl07CisKKwkvKgorCSAqIEluIGNhc2Ugb2YgZXJyb3JzIHdlIG11c3Qga2VlcCB0aGUgcHJvbWlzZSB0byBjbG9zZSBGRHMKKwkgKiB0aGF0IGhhdmUgYmVlbiBwYXNzZWQgaW4gdmlhIC0+aW4gYW5kIC0+b3V0LgorCSAqLworCW5lZWRfaW4gPSAhY21kLT5ub19zdGRpbiAmJiBjbWQtPmluIDwgMDsKKwlpZiAobmVlZF9pbikgeworCQlpZiAocGlwZShmZGluKSA8IDApIHsKKwkJCWlmIChjbWQtPm91dCA+IDApCisJCQkJY2xvc2UoY21kLT5vdXQpOworCQkJcmV0dXJuIC0xOworCQl9CisJCWNtZC0+aW4gPSBmZGluWzFdOworCX0KKworCWZmbHVzaChOVUxMKTsKKwljbWQtPnBpZCA9IGZvcmsoKTsKKwlpZiAoIWNtZC0+cGlkKSB7CisJCWlmIChuZWVkX2luKSB7CisJCQlkdXAyKGZkaW5bMF0sIFNURElOX0ZJTEVOTyk7CisJCQljbG9zZV9wYWlyKGZkaW4pOworCQl9IGVsc2UgaWYgKGNtZC0+aW4gPiAwKSB7CisJCQlkdXAyKGNtZC0+aW4sIFNURElOX0ZJTEVOTyk7CisJCQljbG9zZShjbWQtPmluKTsKKwkJfQorCisJCWNtZC0+cHJlZXhlY19jYigpOworCQlleGVjdnAoY21kLT5hcmd2WzBdLCAoY2hhciAqY29uc3QqKSBjbWQtPmFyZ3YpOworCQllcnJleGVjKGNtZC0+YXJndlswXSk7CisJfQorCisJaWYgKGNtZC0+cGlkIDwgMCkgeworCQlpZiAobmVlZF9pbikKKwkJCWNsb3NlX3BhaXIoZmRpbik7CisJCWVsc2UgaWYgKGNtZC0+aW4pCisJCQljbG9zZShjbWQtPmluKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChuZWVkX2luKQorCQljbG9zZShmZGluWzBdKTsKKwllbHNlIGlmIChjbWQtPmluKQorCQljbG9zZShjbWQtPmluKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB3YWl0X29yX3doaW5lKHBpZF90IHBpZCkKK3sKKwlmb3IgKDs7KSB7CisJCWludCBzdGF0dXMsIGNvZGU7CisJCXBpZF90IHdhaXRpbmcgPSB3YWl0cGlkKHBpZCwgJnN0YXR1cywgMCk7CisKKwkJaWYgKHdhaXRpbmcgPCAwKSB7CisJCQlpZiAoZXJybm8gPT0gRUlOVFIpCisJCQkJY29udGludWU7CisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3YWl0cGlkIGZhaWxlZCAoJXMpIiksIHN0cmVycm9yKGVycm5vKSk7CisJCX0KKwkJaWYgKHdhaXRpbmcgIT0gcGlkKQorCQkJcmV0dXJuIC0xOworCQlpZiAoV0lGU0lHTkFMRUQoc3RhdHVzKSkKKwkJCXJldHVybiAtMTsKKworCQlpZiAoIVdJRkVYSVRFRChzdGF0dXMpKQorCQkJcmV0dXJuIC0xOworCQljb2RlID0gV0VYSVRTVEFUVVMoc3RhdHVzKTsKKwkJc3dpdGNoIChjb2RlKSB7CisJCWNhc2UgMTI3OgorCQkJcmV0dXJuIC0xOworCQljYXNlIDA6CisJCQlyZXR1cm4gMDsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiAtMTsKKwkJfQorCX0KK30KKworc3RhdGljIGludCBmaW5pc2hfY29tbWFuZChzdHJ1Y3QgY2hpbGRfcHJvY2VzcyAqY21kKQoreworCXJldHVybiB3YWl0X29yX3doaW5lKGNtZC0+cGlkKTsKK30KKworc3RhdGljIHZvaWQgcGFnZXJfcHJlZXhlYyh2b2lkKQoreworCS8qCisJICogV29yayBhcm91bmQgYnVnIGluICJsZXNzIiBieSBub3Qgc3RhcnRpbmcgaXQgdW50aWwgd2UKKwkgKiBoYXZlIHJlYWwgaW5wdXQKKwkgKi8KKwlmZF9zZXQgaW4sIGV4OworCisJRkRfWkVSTygmaW4pOworCUZEX1NFVChTVERJTl9GSUxFTk8sICZpbik7CisJZXggPSBpbjsKKworCXNlbGVjdChTVERJTl9GSUxFTk8gKyAxLCAmaW4sIE5VTEwsICZleCwgTlVMTCk7CisKKwlpZiAoc2V0ZW52KCJMRVNTIiwgIkZSU1giLCAwKSAhPSAwKQorCQl3YXJuKF8oImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIiksICJMRVNTIik7Cit9CisKK3N0YXRpYyB2b2lkIHdhaXRfZm9yX3BhZ2VyKHZvaWQpCit7CisJaWYgKHBhZ2VyX3Byb2Nlc3MucGlkID09IDApCisJCXJldHVybjsKKworCWZmbHVzaChzdGRvdXQpOworCWZmbHVzaChzdGRlcnIpOworCS8qIHNpZ25hbCBFT0YgdG8gcGFnZXIgKi8KKwljbG9zZShTVERPVVRfRklMRU5PKTsKKwljbG9zZShTVERFUlJfRklMRU5PKTsKKwlmaW5pc2hfY29tbWFuZCgmcGFnZXJfcHJvY2Vzcyk7Cit9CisKK3N0YXRpYyB2b2lkIHdhaXRfZm9yX3BhZ2VyX3NpZ25hbChpbnQgc2lnbm8pCit7CisJd2FpdF9mb3JfcGFnZXIoKTsKKwlyYWlzZShzaWdubyk7Cit9CisKK3N0YXRpYyBpbnQgaGFzX2NvbW1hbmQoY29uc3QgY2hhciAqY21kKQoreworCWNvbnN0IGNoYXIgKnBhdGg7CisJY2hhciAqcCwgKnM7CisJaW50IHJjID0gMDsKKworCWlmICghY21kKQorCQlnb3RvIGRvbmU7CisJaWYgKCpjbWQgPT0gJy8nKSB7CisJCXJjID0gYWNjZXNzKGNtZCwgWF9PSykgPT0gMDsKKwkJZ290byBkb25lOworCX0KKworCXBhdGggPSBnZXRlbnYoIlBBVEgiKTsKKwlpZiAoIXBhdGgpCisJCWdvdG8gZG9uZTsKKwlwID0geHN0cmR1cChwYXRoKTsKKwlpZiAoIXApCisJCWdvdG8gZG9uZTsKKworCWZvcihzID0gc3RydG9rKHAsICI6Iik7IHM7IHMgPSBzdHJ0b2soTlVMTCwgIjoiKSkgeworCQlpbnQgZmQgPSBvcGVuKHMsIE9fUkRPTkxZfE9fQ0xPRVhFQyk7CisJCWlmIChmZCA8IDApCisJCQljb250aW51ZTsKKwkJcmMgPSBmYWNjZXNzYXQoZmQsIGNtZCwgWF9PSywgMCkgPT0gMDsKKwkJY2xvc2UoZmQpOworCQlpZiAocmMpCisJCQlicmVhazsKKwl9CisJZnJlZShwKTsKK2RvbmU6CisJLypmcHJpbnRmKHN0ZGVyciwgImhhcyBQQUdFUiAlcyByYz0lZFxuIiwgY21kLCByYyk7Ki8KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIF9fc2V0dXBfcGFnZXIodm9pZCkKK3sKKwljb25zdCBjaGFyICpwYWdlciA9IGdldGVudigiUEFHRVIiKTsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworCisJaWYgKCFpc2F0dHkoU1RET1VUX0ZJTEVOTykpCisJCXJldHVybjsKKworCWlmICghcGFnZXIpCisJCXBhZ2VyID0gImxlc3MiOworCWVsc2UgaWYgKCEqcGFnZXIgfHwgIXN0cmNtcChwYWdlciwgImNhdCIpKQorCQlyZXR1cm47CisKKwlpZiAoIWhhc19jb21tYW5kKHBhZ2VyKSkKKwkJcmV0dXJuOworCisJLyogc3Bhd24gdGhlIHBhZ2VyICovCisJcGFnZXJfYXJndlsyXSA9IHBhZ2VyOworCXBhZ2VyX3Byb2Nlc3MuYXJndiA9IHBhZ2VyX2FyZ3Y7CisJcGFnZXJfcHJvY2Vzcy5pbiA9IC0xOworCXBhZ2VyX3Byb2Nlc3MucHJlZXhlY19jYiA9IHBhZ2VyX3ByZWV4ZWM7CisKKwlpZiAoc3RhcnRfY29tbWFuZCgmcGFnZXJfcHJvY2VzcykpCisJCXJldHVybjsKKworCS8qIG9yaWdpbmFsIHByb2Nlc3MgY29udGludWVzLCBidXQgd3JpdGVzIHRvIHRoZSBwaXBlICovCisJZHVwMihwYWdlcl9wcm9jZXNzLmluLCBTVERPVVRfRklMRU5PKTsKKwlpZiAoaXNhdHR5KFNUREVSUl9GSUxFTk8pKQorCQlkdXAyKHBhZ2VyX3Byb2Nlc3MuaW4sIFNUREVSUl9GSUxFTk8pOworCWNsb3NlKHBhZ2VyX3Byb2Nlc3MuaW4pOworCisJbWVtc2V0KCZzYSwgMCwgc2l6ZW9mKHNhKSk7CisJc2Euc2FfaGFuZGxlciA9IHdhaXRfZm9yX3BhZ2VyX3NpZ25hbDsKKworCS8qIHRoaXMgbWFrZXMgc3VyZSB0aGF0IHRoZSBwYXJlbnQgdGVybWluYXRlcyBhZnRlciB0aGUgcGFnZXIgKi8KKwlzaWdhY3Rpb24oU0lHSU5ULCAgJnNhLCAmcGFnZXJfcHJvY2Vzcy5vcmlnX3NpZ2ludCk7CisJc2lnYWN0aW9uKFNJR0hVUCwgICZzYSwgJnBhZ2VyX3Byb2Nlc3Mub3JpZ19zaWdodXApOworCXNpZ2FjdGlvbihTSUdURVJNLCAmc2EsICZwYWdlcl9wcm9jZXNzLm9yaWdfc2lndGVybSk7CisJc2lnYWN0aW9uKFNJR1FVSVQsICZzYSwgJnBhZ2VyX3Byb2Nlc3Mub3JpZ19zaWdxdWl0KTsKKwlzaWdhY3Rpb24oU0lHUElQRSwgJnNhLCAmcGFnZXJfcHJvY2Vzcy5vcmlnX3NpZ3BpcGUpOworfQorCisvKiBTZXR1cCBwYWdlciBhbmQgcmVkaXJlY3RzIG91dHB1dCB0byB0aGUgJFBBR0VSLiBUaGUgcGFnZXIgaXMgY2xvc2VkIGF0IGV4aXQuCisgKi8KK3ZvaWQgcGFnZXJfcmVkaXJlY3Qodm9pZCkKK3sKKwlpZiAocGFnZXJfcHJvY2Vzcy5waWQpCisJCXJldHVybjsJCS8qIGFscmVhZHkgcnVubmluZyAqLworCisJX19zZXR1cF9wYWdlcigpOworCisJYXRleGl0KHdhaXRfZm9yX3BhZ2VyKTsKK30KKworLyogU2V0dXAgcGFnZXIgYW5kIHJlZGlyZWN0IG91dHB1dCwgdGhlIHBhZ2VyIG1heSBiZSBjbG9zZWQgYnkgcGFnZXJfY2xvc2UoKS4KKyAqLwordm9pZCBwYWdlcl9vcGVuKHZvaWQpCit7CisJaWYgKHBhZ2VyX3Byb2Nlc3MucGlkKQorCQlyZXR1cm47CQkvKiBhbHJlYWR5IHJ1bm5pbmcgKi8KKworCXBhZ2VyX3Byb2Nlc3Mub3JnX291dCA9IGR1cChTVERPVVRfRklMRU5PKTsKKwlwYWdlcl9wcm9jZXNzLm9yZ19lcnIgPSBkdXAoU1RERVJSX0ZJTEVOTyk7CisKKwlfX3NldHVwX3BhZ2VyKCk7Cit9CisKKy8qIENsb3NlIHBhZ2VyIGFuZCByZXN0b3JlIG9yaWdpbmFsIHN0ZHtvdXQsZXJyfS4KKyAqLwordm9pZCBwYWdlcl9jbG9zZSh2b2lkKQoreworCWlmIChwYWdlcl9wcm9jZXNzLnBpZCA9PSAwKQorCQlyZXR1cm47CisKKwl3YWl0X2Zvcl9wYWdlcigpOworCisJLyogcmVzdG9yZSBvcmlnaW5hbCBvdXRwdXQgKi8KKwlkdXAyKHBhZ2VyX3Byb2Nlc3Mub3JnX291dCwgU1RET1VUX0ZJTEVOTyk7CisJZHVwMihwYWdlcl9wcm9jZXNzLm9yZ19lcnIsIFNUREVSUl9GSUxFTk8pOworCisJY2xvc2UocGFnZXJfcHJvY2Vzcy5vcmdfb3V0KTsKKwljbG9zZShwYWdlcl9wcm9jZXNzLm9yZ19lcnIpOworCisJLyogcmVzdG9yZSBvcmlnaW5hbCBzZWduYWxzIHNldHRpbmcgKi8KKwlzaWdhY3Rpb24oU0lHSU5ULCAgJnBhZ2VyX3Byb2Nlc3Mub3JpZ19zaWdpbnQsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdIVVAsICAmcGFnZXJfcHJvY2Vzcy5vcmlnX3NpZ2h1cCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1RFUk0sICZwYWdlcl9wcm9jZXNzLm9yaWdfc2lndGVybSwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1FVSVQsICZwYWdlcl9wcm9jZXNzLm9yaWdfc2lncXVpdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1BJUEUsICZwYWdlcl9wcm9jZXNzLm9yaWdfc2lncGlwZSwgTlVMTCk7CisKKwltZW1zZXQoJnBhZ2VyX3Byb2Nlc3MsIDAsIHNpemVvZihwYWdlcl9wcm9jZXNzKSk7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU1fUEFHRVIKKworI2RlZmluZSBNQVggMjU1CisKK2ludCBtYWluKGludCBhcmdjIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSksCisJIGNoYXIgKmFyZ3ZbXSBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKQoreworCWludCBpOworCisJcGFnZXJfcmVkaXJlY3QoKTsKKwlmb3IgKGkgPSAwOyBpIDwgTUFYOyBpKyspCisJCXByaW50ZigiJWRcbiIsIGkpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisjZW5kaWYgLyogVEVTVF9QUk9HUkFNX1BBR0VSICovCmRpZmYgLS1naXQgYS9saWIvcGFyc2UtZGF0ZS55IGIvbGliL3BhcnNlLWRhdGUueQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjVhYmI1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3BhcnNlLWRhdGUueQpAQCAtMCwwICsxLDE2MjYgQEAKKyV7CisvKioKKyAqIFBhcnNlIGEgc3RyaW5nIGludG8gYW4gaW50ZXJuYWwgdGltZXN0YW1wLgorICoKKyAqIFRoaXMgZmlsZSBpcyBiYXNlZCBvbiBnbnVsaWIgcGFyc2UtZGF0ZXRpbWUueS1kZDdhODcxIHdpdGgKKyAqIHRoZSBvdGhlciBnbnVsaWIgZGVwZW5kZW5jaWVzIHJlbW92ZWQgZm9yIHVzZSBpbiB1dGlsLWxpbnV4LgorICoKKyAqIENvcHlyaWdodCAoQykgMTk5OS0yMDAwLCAyMDAyLTIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqCisgKiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgU3RldmVuIE0uIEJlbGxvdmluIDxzbWJAcmVzZWFyY2guYXR0LmNvbT4gd2hpbGUKKyAqIGF0IHRoZSBVbml2ZXJzaXR5IG9mIE5vcnRoIENhcm9saW5hIGF0IENoYXBlbCBIaWxsLiAgTGF0ZXIgdHdlYWtlZCBieQorICogYSBjb3VwbGUgb2YgcGVvcGxlIG9uIFVzZW5ldC4gIENvbXBsZXRlbHkgb3ZlcmhhdWxlZCBieSBSaWNoICRhbHoKKyAqIDxyc2FsekBiYm4uY29tPiBhbmQgSmltIEJlcmV0cyA8amJlcmV0c0BiYm4uY29tPiBpbiBBdWd1c3QsIDE5OTAuCisgKgorICogTW9kaWZpZWQgYnkgUGF1bCBFZ2dlcnQgPGVnZ2VydEB0d2luc3VuLmNvbT4gaW4gQXVndXN0IDE5OTkgdG8gZG8KKyAqIHRoZSByaWdodCB0aGluZyBhYm91dCBsb2NhbCBEU1QuICBBbHNvIG1vZGlmaWVkIGJ5IFBhdWwgRWdnZXJ0CisgKiA8ZWdnZXJ0QGNzLnVjbGEuZWR1PiBpbiBGZWJydWFyeSAyMDA0IHRvIHN1cHBvcnQKKyAqIG5hbm9zZWNvbmQtcmVzb2x1dGlvbiB0aW1lc3RhbXBzLCBhbmQgaW4gT2N0b2JlciAyMDA0IHRvIHN1cHBvcnQKKyAqIFRaIHN0cmluZ3MgaW4gZGF0ZXMuCisgKi8KKworLyoqCisgKiBGSVhNRTogQ2hlY2sgZm9yIGFyaXRobWV0aWMgb3ZlcmZsb3cgaW4gYWxsIGNhc2VzLCBub3QganVzdAorICogc29tZSBvZiB0aGVtLgorICovCisKKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKworLyoqCisgKiBUaGVyZSdzIG5vIG5lZWQgdG8gZXh0ZW5kIHRoZSBzdGFjaywgc28gdGhlcmUncyBubyBuZWVkIHRvIGludm9sdmUKKyAqIGFsbG9jYS4KKyAqLworI2RlZmluZSBZWVNUQUNLX1VTRV9BTExPQ0EgMAorCisvKioKKyAqIFRlbGwgQmlzb24gaG93IG11Y2ggc3RhY2sgc3BhY2UgaXMgbmVlZGVkLiAgMjAgc2hvdWxkIGJlIHBsZW50eSBmb3IKKyAqIHRoaXMgZ3JhbW1hciwgd2hpY2ggaXMgbm90IHJpZ2h0IHJlY3Vyc2l2ZS4gIEJld2FyZSBzZXR0aW5nIGl0IHRvbworICogaGlnaCwgc2luY2UgdGhhdCBtaWdodCBjYXVzZSBwcm9ibGVtcyBvbiBtYWNoaW5lcyB3aG9zZQorICogaW1wbGVtZW50YXRpb25zIGhhdmUgbGFtZSBzdGFjay1vdmVyZmxvdyBjaGVja2luZy4KKyAqLworI2RlZmluZSBZWU1BWERFUFRIIDIwCisjZGVmaW5lIFlZSU5JVERFUFRIIFlZTUFYREVQVEgKKworLyoqCisgKiBTaW5jZSB0aGUgY29kZSBvZiBwYXJzZS1kYXRldGltZS55IGlzIG5vdCBpbmNsdWRlZCBpbiB0aGUgRW1hY3MgZXhlY3V0YWJsZQorICogaXRzZWxmLCB0aGVyZSBpcyBubyBuZWVkIHRvICNkZWZpbmUgc3RhdGljIGluIHRoaXMgZmlsZS4gIEV2ZW4gaWYKKyAqIHRoZSBjb2RlIHdlcmUgaW5jbHVkZWQgaW4gdGhlIEVtYWNzIGV4ZWN1dGFibGUsIGl0IHByb2JhYmx5CisgKiB3b3VsZG4ndCBkbyBhbnkgaGFybSB0byAjdW5kZWYgaXQgaGVyZTsgdGhpcyB3aWxsIG9ubHkgY2F1c2UKKyAqIHByb2JsZW1zIGlmIHdlIHRyeSB0byB3cml0ZSB0byBhIHN0YXRpYyB2YXJpYWJsZSwgd2hpY2ggSSBkb24ndAorICogdGhpbmsgdGhpcyBjb2RlIG5lZWRzIHRvIGRvLgorICovCisjaWZkZWYgZW1hY3MKKyMgdW5kZWYgc3RhdGljCisjZW5kaWYKKworI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworCisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSAiY2N0eXBlLmgiCisjaW5jbHVkZSAibmxzLmgiCisKKy8qKgorICogQmlzb24ncyBza2VsZXRvbiB0ZXN0cyBfU1RETElCX0gsIHdoaWxlIHNvbWUgc3RkbGliLmggaGVhZGVycworICogdXNlIF9TVERMSUJfSF8gYXMgd2l0bmVzcy4gIE1hcCB0aGUgbGF0dGVyIHRvIHRoZSBvbmUgYmlzb24gdXNlcy4KKyAqIEZJWE1FOiB0aGlzIGlzIHRlbXBvcmFyeS4gIFJlbW92ZSB3aGVuIHdlIGhhdmUgYSBtZWNoYW5pc20gdG8gZW5zdXJlCisgKiB0aGF0IHRoZSB2ZXJzaW9uIHdlJ3JlIHVzaW5nIGlzIGZpeGVkLCB0b28uCisgKi8KKyNpZmRlZiBfU1RETElCX0hfCisjIHVuZGVmIF9TVERMSUJfSAorIyBkZWZpbmUgX1NURExJQl9IIDEKKyNlbmRpZgorCisvKioKKyAqIFNoaWZ0IEEgcmlnaHQgYnkgQiBiaXRzIHBvcnRhYmx5LCBieSBkaXZpZGluZyBBIGJ5IDIqKkIgYW5kCisgKiB0cnVuY2F0aW5nIHRvd2FyZHMgbWludXMgaW5maW5pdHkuICBBIGFuZCBCIHNob3VsZCBiZSBmcmVlIG9mIHNpZGUKKyAqIGVmZmVjdHMsIGFuZCBCIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2UgMCA8PSBCIDw9IElOVF9CSVRTIC0gMiwgd2hlcmUKKyAqIElOVF9CSVRTIGlzIHRoZSBudW1iZXIgb2YgdXNlZnVsIGJpdHMgaW4gYW4gaW50LiAgR05VIGNvZGUgY2FuCisgKiBhc3N1bWUgdGhhdCBJTlRfQklUUyBpcyBhdCBsZWFzdCAzMi4KKyAqCisgKiBJU08gQzk5IHNheXMgdGhhdCBBID4+IEIgaXMgaW1wbGVtZW50YXRpb24tZGVmaW5lZCBpZiBBIDwgMC4gIFNvbWUKKyAqIGltcGxlbWVudGF0aW9ucyAoZS5nLiwgVU5JQ09TIDkuMCBvbiBhIENyYXkgWS1NUCBFTCkgZG9uJ3Qgc2hpZnQKKyAqIHJpZ2h0IGluIHRoZSB1c3VhbCB3YXkgd2hlbiBBIDwgMCwgc28gU0hSIGZhbGxzIGJhY2sgb24gZGl2aXNpb24gaWYKKyAqIG9yZGluYXJ5IEEgPj4gQiBkb2Vzbid0IHNlZW0gdG8gYmUgdGhlIHVzdWFsIHNpZ25lZCBzaGlmdC4KKyAqLworI2RlZmluZSBTSFIoYSwgYikgXAorCSgtMSA+PiAxID09IC0xIFwKKwkgPyAoYSkgPj4gKGIpIFwKKwkgOiAoYSkgLyAoMSA8PCAoYikpIC0gKChhKSAlICgxIDw8IChiKSkgPCAwKSkKKworI2RlZmluZSBUTV9ZRUFSX0JBU0UgMTkwMAorCisjZGVmaW5lIEhPVVIoeCkgKCh4KSAqIDYwKQorCisjZGVmaW5lIFNUUkVRKGEsIGIpIChzdHJjbXAgKGEsIGIpID09IDApCisKKy8qKgorICogQ29udmVydCBhIHBvc3NpYmx5LXNpZ25lZCBjaGFyYWN0ZXIgdG8gYW4gdW5zaWduZWQgY2hhcmFjdGVyLiAgVGhpcyBpcworICogYSBiaXQgc2FmZXIgdGhhbiBjYXN0aW5nIHRvIHVuc2lnbmVkIGNoYXIsIHNpbmNlIGl0IGNhdGNoZXMgc29tZSB0eXBlCisgKiBlcnJvcnMgdGhhdCB0aGUgY2FzdCBkb2Vzbid0LgorICovCitzdGF0aWMgdW5zaWduZWQgY2hhciB0b191Y2hhciAoY2hhciBjaCkgeyByZXR1cm4gY2g7IH0KKworLyoqCisgKiBGSVhNRTogSXQgYWxzbyBhc3N1bWVzIHRoYXQgc2lnbmVkIGludGVnZXIgb3ZlcmZsb3cgc2lsZW50bHkgd3JhcHMgYXJvdW5kLAorICogYnV0IHRoaXMgaXMgbm90IHRydWUgYW55IG1vcmUgd2l0aCByZWNlbnQgdmVyc2lvbnMgb2YgR0NDIDQuCisgKi8KKworLyoqCisgKiBBbiBpbnRlZ2VyIHZhbHVlLCBhbmQgdGhlIG51bWJlciBvZiBkaWdpdHMgaW4gaXRzIHRleHR1YWwKKyAqIHJlcHJlc2VudGF0aW9uLgorICovCit0eXBlZGVmIHN0cnVjdCB7CisJaW50IG5lZ2F0aXZlOworCWludG1heF90IHZhbHVlOworCXNpemVfdCBkaWdpdHM7Cit9IHRleHRpbnQ7CisKKy8qIEFuIGVudHJ5IGluIHRoZSBsZXhpY2FsIGxvb2t1cCB0YWJsZS4gKi8KK3R5cGVkZWYgc3RydWN0IHsKKwljaGFyIGNvbnN0ICpuYW1lOworCWludCB0eXBlOworCWludCB2YWx1ZTsKK30gdGFibGU7CisKKy8qIE1lcmlkaWFuOiBhbSwgcG0sIG9yIDI0LWhvdXIgc3R5bGUuICovCitlbnVtIHsgTUVSYW0sIE1FUnBtLCBNRVIyNCB9OworCitlbnVtIHsgQklMTElPTiA9IDEwMDAwMDAwMDAsIExPRzEwX0JJTExJT04gPSA5IH07CisKKy8qIFJlbGF0aXZlIHllYXIsIG1vbnRoLCBkYXksIGhvdXIsIG1pbnV0ZXMsIHNlY29uZHMsIGFuZCBuYW5vc2Vjb25kcy4gKi8KK3R5cGVkZWYgc3RydWN0IHsKKwlpbnRtYXhfdCB5ZWFyOworCWludG1heF90IG1vbnRoOworCWludG1heF90IGRheTsKKwlpbnRtYXhfdCBob3VyOworCWludG1heF90IG1pbnV0ZXM7CisJdGltZV90IHNlY29uZHM7CisJaW50IG5zOworfSByZWxhdGl2ZV90aW1lOworCisjaWYgSEFWRV9DT01QT1VORF9MSVRFUkFMUworIyBkZWZpbmUgUkVMQVRJVkVfVElNRV8wICgocmVsYXRpdmVfdGltZSkgeyAwLCAwLCAwLCAwLCAwLCAwLCAwIH0pCisjZWxzZQorc3RhdGljIHJlbGF0aXZlX3RpbWUgY29uc3QgUkVMQVRJVkVfVElNRV8wOworI2VuZGlmCisKKy8qIEluZm9ybWF0aW9uIHBhc3NlZCB0byBhbmQgZnJvbSB0aGUgcGFyc2VyLiAqLwordHlwZWRlZiBzdHJ1Y3QgeworCS8qIFRoZSBpbnB1dCBzdHJpbmcgcmVtYWluaW5nIHRvIGJlIHBhcnNlZC4gKi8KKwljb25zdCBjaGFyICppbnB1dDsKKworCS8qIE4sIGlmIHRoaXMgaXMgdGhlIE50aCBUdWVzZGF5LiAqLworCWludG1heF90IGRheV9vcmRpbmFsOworCisJLyogRGF5IG9mIHdlZWs7IFN1bmRheSBpcyAwLiAqLworCWludCBkYXlfbnVtYmVyOworCisJLyogdG1faXNkc3QgZmxhZyBmb3IgdGhlIGxvY2FsIHpvbmUuICovCisJaW50IGxvY2FsX2lzZHN0OworCisJLyogVGltZSB6b25lLCBpbiBtaW51dGVzIGVhc3Qgb2YgVVRDLiAqLworCWludCB0aW1lX3pvbmU7CisKKwkvKiBTdHlsZSB1c2VkIGZvciB0aW1lLiAqLworCWludCBtZXJpZGlhbjsKKworCS8qIEdyZWdvcmlhbiB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGVzLCBzZWNvbmRzLCBhbmQgbnMuICovCisJdGV4dGludCB5ZWFyOworCWludG1heF90IG1vbnRoOworCWludG1heF90IGRheTsKKwlpbnRtYXhfdCBob3VyOworCWludG1heF90IG1pbnV0ZXM7CisJc3RydWN0IHRpbWVzcGVjIHNlY29uZHM7IC8qIGluY2x1ZGVzIG5hbm9zZWNvbmRzICovCisKKwkvKiBSZWxhdGl2ZSB5ZWFyLCBtb250aCwgZGF5LCBob3VyLCBtaW51dGVzLCBzZWNvbmRzLCBhbmQgbnMuICovCisJcmVsYXRpdmVfdGltZSByZWw7CisKKwkvKiBQcmVzZW5jZSBvciBjb3VudHMgb2Ygc29tZSBub250ZXJtaW5hbHMgcGFyc2VkIHNvIGZhci4gKi8KKwlpbnQgdGltZXNwZWNfc2VlbjsKKwlpbnQgcmVsc19zZWVuOworCXNpemVfdCBkYXRlc19zZWVuOworCXNpemVfdCBkYXlzX3NlZW47CisJc2l6ZV90IGxvY2FsX3pvbmVzX3NlZW47CisJc2l6ZV90IGRzdHNfc2VlbjsKKwlzaXplX3QgdGltZXNfc2VlbjsKKwlzaXplX3Qgem9uZXNfc2VlbjsKKworCS8qIFRhYmxlIG9mIGxvY2FsIHRpbWUgem9uZSBhYmJyZXZpYXRpb25zLCBudWxsIHRlcm1pbmF0ZWQuICovCisJdGFibGUgbG9jYWxfdGltZV96b25lX3RhYmxlWzNdOworfSBwYXJzZXJfY29udHJvbDsKKwordW5pb24gWVlTVFlQRTsKK3N0YXRpYyBpbnQgeXlsZXggKHVuaW9uIFlZU1RZUEUgKiwgcGFyc2VyX2NvbnRyb2wgKik7CitzdGF0aWMgaW50IHl5ZXJyb3IgKHBhcnNlcl9jb250cm9sIGNvbnN0ICosIGNoYXIgY29uc3QgKik7CitzdGF0aWMgaW50IHRpbWVfem9uZV9oaG1tIChwYXJzZXJfY29udHJvbCAqLCB0ZXh0aW50LCB0ZXh0aW50KTsKKworLyoqCisgKiBFeHRyYWN0IGludG8gKlBDIGFueSBkYXRlIGFuZCB0aW1lIGluZm8gZnJvbSBhIHN0cmluZyBvZiBkaWdpdHMKKyAqIG9mIHRoZSBmb3JtIGUuZy4sIFlZWVlNTURELCBZWU1NREQsIEhITU0sIEhIIChhbmQgc29tZXRpbWVzIFlZWSwKKyAqIFlZWVksIC4uLikuCisgKi8KK3N0YXRpYyB2b2lkIGRpZ2l0c190b19kYXRlX3RpbWUocGFyc2VyX2NvbnRyb2wgKnBjLCB0ZXh0aW50IHRleHRfaW50KQoreworCWlmIChwYy0+ZGF0ZXNfc2VlbiAmJiAhIHBjLT55ZWFyLmRpZ2l0cworCSAgICAmJiAhIHBjLT5yZWxzX3NlZW4gJiYgKHBjLT50aW1lc19zZWVuIHx8IDIgPCB0ZXh0X2ludC5kaWdpdHMpKSB7CisJCXBjLT55ZWFyID0gdGV4dF9pbnQ7CisJfSBlbHNlIHsKKwkJaWYgKDQgPCB0ZXh0X2ludC5kaWdpdHMpIHsKKwkJCXBjLT5kYXRlc19zZWVuKys7CisJCQlwYy0+ZGF5ID0gdGV4dF9pbnQudmFsdWUgJSAxMDA7CisJCQlwYy0+bW9udGggPSAodGV4dF9pbnQudmFsdWUgLyAxMDApICUgMTAwOworCQkJcGMtPnllYXIudmFsdWUgPSB0ZXh0X2ludC52YWx1ZSAvIDEwMDAwOworCQkJcGMtPnllYXIuZGlnaXRzID0gdGV4dF9pbnQuZGlnaXRzIC0gNDsKKwkJfSBlbHNlIHsKKwkJCXBjLT50aW1lc19zZWVuKys7CisJCQlpZiAodGV4dF9pbnQuZGlnaXRzIDw9IDIpIHsKKwkJCQlwYy0+aG91ciA9IHRleHRfaW50LnZhbHVlOworCQkJCXBjLT5taW51dGVzID0gMDsKKwkJCX0KKwkJCWVsc2UgeworCQkJCXBjLT5ob3VyID0gdGV4dF9pbnQudmFsdWUgLyAxMDA7CisJCQkJcGMtPm1pbnV0ZXMgPSB0ZXh0X2ludC52YWx1ZSAlIDEwMDsKKwkJCX0KKwkJCXBjLT5zZWNvbmRzLnR2X3NlYyA9IDA7CisJCQlwYy0+c2Vjb25kcy50dl9uc2VjID0gMDsKKwkJCXBjLT5tZXJpZGlhbiA9IE1FUjI0OworCQl9CisJfQorfQorCisvKiBJbmNyZW1lbnQgUEMtPnJlbCBieSBGQUNUT1IgKiBSRUwgKEZBQ1RPUiBpcyAxIG9yIC0xKS4gKi8KK3N0YXRpYyB2b2lkIGFwcGx5X3JlbGF0aXZlX3RpbWUocGFyc2VyX2NvbnRyb2wgKnBjLCByZWxhdGl2ZV90aW1lIHJlbCwKKwkJCQlpbnQgZmFjdG9yKQoreworCXBjLT5yZWwubnMgKz0gZmFjdG9yICogcmVsLm5zOworCXBjLT5yZWwuc2Vjb25kcyArPSBmYWN0b3IgKiByZWwuc2Vjb25kczsKKwlwYy0+cmVsLm1pbnV0ZXMgKz0gZmFjdG9yICogcmVsLm1pbnV0ZXM7CisJcGMtPnJlbC5ob3VyICs9IGZhY3RvciAqIHJlbC5ob3VyOworCXBjLT5yZWwuZGF5ICs9IGZhY3RvciAqIHJlbC5kYXk7CisJcGMtPnJlbC5tb250aCArPSBmYWN0b3IgKiByZWwubW9udGg7CisJcGMtPnJlbC55ZWFyICs9IGZhY3RvciAqIHJlbC55ZWFyOworCXBjLT5yZWxzX3NlZW4gPSAxOworfQorCisvKiBTZXQgUEMtPiBob3VyLCBtaW51dGVzLCBzZWNvbmRzIGFuZCBuYW5vc2Vjb25kcyBtZW1iZXJzIGZyb20gYXJndW1lbnRzLiAqLworc3RhdGljIHZvaWQKK3NldF9oaG1tc3MocGFyc2VyX2NvbnRyb2wgKnBjLCBpbnRtYXhfdCBob3VyLCBpbnRtYXhfdCBtaW51dGVzLAorCSAgIHRpbWVfdCBzZWMsIGludCBuc2VjKQoreworCXBjLT5ob3VyID0gaG91cjsKKwlwYy0+bWludXRlcyA9IG1pbnV0ZXM7CisJcGMtPnNlY29uZHMudHZfc2VjID0gc2VjOworCXBjLT5zZWNvbmRzLnR2X25zZWMgPSBuc2VjOworfQorCislfQorCisvKioKKyAqIFdlIHdhbnQgYSByZWVudHJhbnQgcGFyc2VyLCBldmVuIGlmIHRoZSBUWiBtYW5pcHVsYXRpb24gYW5kIHRoZSBjYWxscyB0bworICogbG9jYWx0aW1lIGFuZCBnbXRpbWUgYXJlIG5vdCByZWVudHJhbnQuCisgKi8KKyVwdXJlLXBhcnNlcgorJXBhcnNlLXBhcmFtIHsgcGFyc2VyX2NvbnRyb2wgKnBjIH0KKyVsZXgtcGFyYW0geyBwYXJzZXJfY29udHJvbCAqcGMgfQorCisvKiBUaGlzIGdyYW1tYXIgaGFzIDMxIHNoaWZ0L3JlZHVjZSBjb25mbGljdHMuICovCislZXhwZWN0IDMxCisKKyV1bmlvbiB7CisJaW50bWF4X3QgaW50dmFsOworCXRleHRpbnQgdGV4dGludHZhbDsKKwlzdHJ1Y3QgdGltZXNwZWMgdGltZXNwZWM7CisJcmVsYXRpdmVfdGltZSByZWw7Cit9CisKKyV0b2tlbiA8aW50dmFsPiB0QUdPCisldG9rZW4gdERTVAorCisldG9rZW4gdFlFQVJfVU5JVCB0TU9OVEhfVU5JVCB0SE9VUl9VTklUIHRNSU5VVEVfVU5JVCB0U0VDX1VOSVQKKyV0b2tlbiA8aW50dmFsPiB0REFZX1VOSVQgdERBWV9TSElGVAorCisldG9rZW4gPGludHZhbD4gdERBWSB0REFZWk9ORSB0TE9DQUxfWk9ORSB0TUVSSURJQU4KKyV0b2tlbiA8aW50dmFsPiB0TU9OVEggdE9SRElOQUwgdFpPTkUKKworJXRva2VuIDx0ZXh0aW50dmFsPiB0U05VTUJFUiB0VU5VTUJFUgorJXRva2VuIDx0aW1lc3BlYz4gdFNERUNJTUFMX05VTUJFUiB0VURFQ0lNQUxfTlVNQkVSCisKKyV0eXBlIDx0ZXh0aW50dmFsPiBvX2NvbG9uX21pbnV0ZXMKKyV0eXBlIDx0aW1lc3BlYz4gc2Vjb25kcyBzaWduZWRfc2Vjb25kcyB1bnNpZ25lZF9zZWNvbmRzCisKKyV0eXBlIDxyZWw+IHJlbHVuaXQgcmVsdW5pdF9zbnVtYmVyIGRheXNoaWZ0CisKKyUlCisKK3NwZWM6CisJICB0aW1lc3BlYworCXwgaXRlbXMKKzsKKwordGltZXNwZWM6CisJICAnQCcgc2Vjb25kcyB7CisJCXBjLT5zZWNvbmRzID0gJDI7CisJCXBjLT50aW1lc3BlY19zZWVuID0gMTsKKwkgIH0KKzsKKworaXRlbXM6CisJICAvKiBlbXB0eSAqLworCXwgaXRlbXMgaXRlbQorOworCitpdGVtOgorCSAgZGF0ZXRpbWUgeworCQlwYy0+dGltZXNfc2VlbisrOyBwYy0+ZGF0ZXNfc2VlbisrOworCSAgfQorCXwgdGltZSB7CisJCXBjLT50aW1lc19zZWVuKys7CisJICB9CisJfCBsb2NhbF96b25lIHsKKwkJcGMtPmxvY2FsX3pvbmVzX3NlZW4rKzsKKwkgIH0KKwl8IHpvbmUgeworCQlwYy0+em9uZXNfc2VlbisrOworCSAgfQorCXwgZGF0ZSB7CisJCXBjLT5kYXRlc19zZWVuKys7CisJICB9CisJfCBkYXkgeworCQlwYy0+ZGF5c19zZWVuKys7CisJICB9CisJfCByZWwKKwl8IG51bWJlcgorCXwgaHlicmlkCis7CisKK2RhdGV0aW1lOgorCSAgaXNvXzg2MDFfZGF0ZXRpbWUKKzsKKworaXNvXzg2MDFfZGF0ZXRpbWU6CisJICBpc29fODYwMV9kYXRlICdUJyBpc29fODYwMV90aW1lCis7CisKK3RpbWU6CisJICB0VU5VTUJFUiB0TUVSSURJQU4geworCQlzZXRfaGhtbXNzIChwYywgJDEudmFsdWUsIDAsIDAsIDApOworCQlwYy0+bWVyaWRpYW4gPSAkMjsKKwkgIH0KKwl8IHRVTlVNQkVSICc6JyB0VU5VTUJFUiB0TUVSSURJQU4geworCQlzZXRfaGhtbXNzIChwYywgJDEudmFsdWUsICQzLnZhbHVlLCAwLCAwKTsKKwkJcGMtPm1lcmlkaWFuID0gJDQ7CisJICB9CisJfCB0VU5VTUJFUiAnOicgdFVOVU1CRVIgJzonIHVuc2lnbmVkX3NlY29uZHMgdE1FUklESUFOIHsKKwkJc2V0X2hobW1zcyAocGMsICQxLnZhbHVlLCAkMy52YWx1ZSwgJDUudHZfc2VjLCAkNS50dl9uc2VjKTsKKwkJcGMtPm1lcmlkaWFuID0gJDY7CisJICB9CisJfCBpc29fODYwMV90aW1lCis7CisKK2lzb184NjAxX3RpbWU6CisJICB0VU5VTUJFUiB6b25lX29mZnNldCB7CisJCXNldF9oaG1tc3MgKHBjLCAkMS52YWx1ZSwgMCwgMCwgMCk7CisJCXBjLT5tZXJpZGlhbiA9IE1FUjI0OworCSAgfQorCXwgdFVOVU1CRVIgJzonIHRVTlVNQkVSIG9fem9uZV9vZmZzZXQgeworCQlzZXRfaGhtbXNzIChwYywgJDEudmFsdWUsICQzLnZhbHVlLCAwLCAwKTsKKwkJcGMtPm1lcmlkaWFuID0gTUVSMjQ7CisJICB9CisJfCB0VU5VTUJFUiAnOicgdFVOVU1CRVIgJzonIHVuc2lnbmVkX3NlY29uZHMgb196b25lX29mZnNldCB7CisJCXNldF9oaG1tc3MgKHBjLCAkMS52YWx1ZSwgJDMudmFsdWUsICQ1LnR2X3NlYywgJDUudHZfbnNlYyk7CisJCXBjLT5tZXJpZGlhbiA9IE1FUjI0OworCSAgfQorOworCitvX3pvbmVfb2Zmc2V0OgorCS8qIGVtcHR5ICovCisJfCB6b25lX29mZnNldAorOworCit6b25lX29mZnNldDoKKwkgIHRTTlVNQkVSIG9fY29sb25fbWludXRlcyB7CisJCXBjLT56b25lc19zZWVuKys7CisJCWlmICghIHRpbWVfem9uZV9oaG1tIChwYywgJDEsICQyKSkgWVlBQk9SVDsKKwkgIH0KKzsKKworLyoqCisgKiBMb2NhbCB6b25lIHN0cmluZ3Mgb25seSBhZmZlY3QgRFNUIHNldHRpbmcsCisgKiBhbmQgb25seSB0YWtlIGFmZmVjdCBpZiB0aGUgY3VycmVudCBUWiBzZXR0aW5nIGlzIHJlbGV2YW50LgorICoKKyAqIEV4YW1wbGUgMToKKyAqICdFRVNUJyBpcyBwYXJzZWQgYXMgdExPQ0FMX1pPTkUsIGFzIGl0IHJlbGF0ZXMgdG8gdGhlIGVmZmVjdGl2ZSBUWjoKKyAqICAgICAgVFo9RXVyb3BlL0hlbHNpbmtpIGRhdGUgLWQgJzIwMTYtMTItMzAgRUVTVCcKKyAqCisgKiBFeGFtcGxlIDI6CisgKiAnRUVTVCcgaXMgcGFyc2VkIGFzICd6b25lJyAoVFo9KzAzOjAwKToKKyAqICAgICAgIFRaPUFzaWEvVG9reW8gLi9zcmMvZGF0ZSAtLWRlYnVnIC1kICcyMDExLTA2LTExIEVFU1QnCisgKgorICogVGhpcyBpcyBpbXBsZW1lbnRlZCBieSBwcm9iaW5nIHRoZSBuZXh0IHRocmVlIGNhbGVuZGFyIHF1YXJ0ZXJzCisgKiBvZiB0aGUgZWZmZWN0aXZlIHRpbWV6b25lIGFuZCBsb29raW5nIGZvciBEU1QgY2hhbmdlcyAtCisgKiBpZiBmb3VuZCwgdGhlIHRpbWV6b25lIG5hbWUgKEVFU1QpIGlzIGluc2VydGVkIGludG8KKyAqIHRoZSBsZXhpY2FsIGxvb2t1cCB0YWJsZSB3aXRoIHR5cGUgdExPQ0FMX1pPTkUuCisgKiAoU2VhcmNoIGZvciAncXVhcnRlcicgY29tbWVudCBpbiAgJ3BhcnNlX2RhdGUnKS4KKyAqLworbG9jYWxfem9uZToKKwkgIHRMT0NBTF9aT05FIHsKKwkJcGMtPmxvY2FsX2lzZHN0ID0gJDE7CisJCXBjLT5kc3RzX3NlZW4gKz0gKDAgPCAkMSk7CisJICB9CisJfCB0TE9DQUxfWk9ORSB0RFNUIHsKKwkJcGMtPmxvY2FsX2lzZHN0ID0gMTsKKwkJcGMtPmRzdHNfc2VlbiArPSAoMCA8ICQxKSArIDE7CisJICB9Cis7CisKKy8qKgorICogTm90ZSAnVCcgaXMgYSBzcGVjaWFsIGNhc2UsIGFzIGl0IGlzIHVzZWQgYXMgdGhlIHNlcGFyYXRvciBpbiBJU08KKyAqIDg2MDEgZGF0ZSBhbmQgdGltZSBvZiBkYXkgcmVwcmVzZW50YXRpb24uCisgKi8KK3pvbmU6CisJICB0Wk9ORSB7CisJCXBjLT50aW1lX3pvbmUgPSAkMTsKKwkgIH0KKwl8ICdUJyB7CisJCXBjLT50aW1lX3pvbmUgPSBIT1VSKDcpOworCSAgfQorCXwgdFpPTkUgcmVsdW5pdF9zbnVtYmVyIHsKKwkJcGMtPnRpbWVfem9uZSA9ICQxOworCQlhcHBseV9yZWxhdGl2ZV90aW1lIChwYywgJDIsIDEpOworCSAgfQorCXwgJ1QnIHJlbHVuaXRfc251bWJlciB7CisJCXBjLT50aW1lX3pvbmUgPSBIT1VSKDcpOworCQlhcHBseV9yZWxhdGl2ZV90aW1lIChwYywgJDIsIDEpOworCSAgfQorCXwgdFpPTkUgdFNOVU1CRVIgb19jb2xvbl9taW51dGVzIHsKKwkJaWYgKCEgdGltZV96b25lX2hobW0gKHBjLCAkMiwgJDMpKSBZWUFCT1JUOworCQlwYy0+dGltZV96b25lICs9ICQxOworCSAgfQorCXwgdERBWVpPTkUgeworCQlwYy0+dGltZV96b25lID0gJDEgKyA2MDsKKwkgIH0KKwl8IHRaT05FIHREU1QgeworCQlwYy0+dGltZV96b25lID0gJDEgKyA2MDsKKwkgIH0KKzsKKworZGF5OgorCSAgdERBWSB7CisJCXBjLT5kYXlfb3JkaW5hbCA9IDA7CisJCXBjLT5kYXlfbnVtYmVyID0gJDE7CisJICB9CisJfCB0REFZICcsJyB7CisJCXBjLT5kYXlfb3JkaW5hbCA9IDA7CisJCXBjLT5kYXlfbnVtYmVyID0gJDE7CisJICB9CisJfCB0T1JESU5BTCB0REFZIHsKKwkJcGMtPmRheV9vcmRpbmFsID0gJDE7CisJCXBjLT5kYXlfbnVtYmVyID0gJDI7CisJICB9CisJfCB0VU5VTUJFUiB0REFZIHsKKwkJcGMtPmRheV9vcmRpbmFsID0gJDEudmFsdWU7CisJCXBjLT5kYXlfbnVtYmVyID0gJDI7CisJICB9Cis7CisKK2RhdGU6CisJICB0VU5VTUJFUiAnLycgdFVOVU1CRVIgeworCQlwYy0+bW9udGggPSAkMS52YWx1ZTsKKwkJcGMtPmRheSA9ICQzLnZhbHVlOworCSAgfQorCXwgdFVOVU1CRVIgJy8nIHRVTlVNQkVSICcvJyB0VU5VTUJFUiB7CisJLyoqCisJICogSW50ZXJwcmV0IGFzIFlZWVkvTU0vREQgaWYgdGhlIGZpcnN0IHZhbHVlIGhhcyA0IG9yIG1vcmUgZGlnaXRzLAorCSAqIG90aGVyd2lzZSBhcyBNTS9ERC9ZWS4KKwkgKiBUaGUgZ29hbCBpbiByZWNvZ25pemluZyBZWVlZL01NL0REIGlzIHNvbGVseSB0byBzdXBwb3J0IGxlZ2FjeQorCSAqIG1hY2hpbmUtZ2VuZXJhdGVkIGRhdGVzIGxpa2UgdGhvc2UgaW4gYW4gUkNTIGxvZyBsaXN0aW5nLiAgSWYKKwkgKiB5b3Ugd2FudCBwb3J0YWJpbGl0eSwgdXNlIHRoZSBJU08gODYwMSBmb3JtYXQuCisJICovCisJCWlmICg0IDw9ICQxLmRpZ2l0cykgeworCQkJcGMtPnllYXIgPSAkMTsKKwkJCXBjLT5tb250aCA9ICQzLnZhbHVlOworCQkJcGMtPmRheSA9ICQ1LnZhbHVlOworCQl9IGVsc2UgeworCQkJcGMtPm1vbnRoID0gJDEudmFsdWU7CisJCQlwYy0+ZGF5ID0gJDMudmFsdWU7CisJCQlwYy0+eWVhciA9ICQ1OworCQl9CisJICB9CisJfCB0VU5VTUJFUiB0TU9OVEggdFNOVU1CRVIgeworCQkvKiBlLmcuIDE3LUpVTi0xOTkyLiAqLworCQlwYy0+ZGF5ID0gJDEudmFsdWU7CisJCXBjLT5tb250aCA9ICQyOworCQlwYy0+eWVhci52YWx1ZSA9IC0kMy52YWx1ZTsKKwkJcGMtPnllYXIuZGlnaXRzID0gJDMuZGlnaXRzOworCSAgfQorCXwgdE1PTlRIIHRTTlVNQkVSIHRTTlVNQkVSIHsKKwkJLyogZS5nLiBKVU4tMTctMTk5Mi4gKi8KKwkJcGMtPm1vbnRoID0gJDE7CisJCXBjLT5kYXkgPSAtJDIudmFsdWU7CisJCXBjLT55ZWFyLnZhbHVlID0gLSQzLnZhbHVlOworCQlwYy0+eWVhci5kaWdpdHMgPSAkMy5kaWdpdHM7CisJICB9CisJfCB0TU9OVEggdFVOVU1CRVIgeworCQlwYy0+bW9udGggPSAkMTsKKwkJcGMtPmRheSA9ICQyLnZhbHVlOworCSAgfQorCXwgdE1PTlRIIHRVTlVNQkVSICcsJyB0VU5VTUJFUiB7CisJCXBjLT5tb250aCA9ICQxOworCQlwYy0+ZGF5ID0gJDIudmFsdWU7CisJCXBjLT55ZWFyID0gJDQ7CisJICB9CisJfCB0VU5VTUJFUiB0TU9OVEggeworCQlwYy0+ZGF5ID0gJDEudmFsdWU7CisJCXBjLT5tb250aCA9ICQyOworCSAgfQorCXwgdFVOVU1CRVIgdE1PTlRIIHRVTlVNQkVSIHsKKwkJcGMtPmRheSA9ICQxLnZhbHVlOworCQlwYy0+bW9udGggPSAkMjsKKwkJcGMtPnllYXIgPSAkMzsKKwkgIH0KKwl8IGlzb184NjAxX2RhdGUKKzsKKworaXNvXzg2MDFfZGF0ZToKKwkgIHRVTlVNQkVSIHRTTlVNQkVSIHRTTlVNQkVSIHsKKwkJLyogSVNPIDg2MDEgZm9ybWF0LllZWVktTU0tREQuICovCisJCXBjLT55ZWFyID0gJDE7CisJCXBjLT5tb250aCA9IC0kMi52YWx1ZTsKKwkJcGMtPmRheSA9IC0kMy52YWx1ZTsKKwkgIH0KKzsKKworcmVsOgorCSAgcmVsdW5pdCB0QUdPCisJCXsgYXBwbHlfcmVsYXRpdmVfdGltZSAocGMsICQxLCAkMik7IH0KKwl8IHJlbHVuaXQKKwkJeyBhcHBseV9yZWxhdGl2ZV90aW1lIChwYywgJDEsIDEpOyB9CisJfCBkYXlzaGlmdAorCQl7IGFwcGx5X3JlbGF0aXZlX3RpbWUgKHBjLCAkMSwgMSk7IH0KKzsKKworcmVsdW5pdDoKKwkgIHRPUkRJTkFMIHRZRUFSX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQueWVhciA9ICQxOyB9CisJfCB0VU5VTUJFUiB0WUVBUl9VTklUCisJCXsgJCQgPSBSRUxBVElWRV9USU1FXzA7ICQkLnllYXIgPSAkMS52YWx1ZTsgfQorCXwgdFlFQVJfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC55ZWFyID0gMTsgfQorCXwgdE9SRElOQUwgdE1PTlRIX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQubW9udGggPSAkMTsgfQorCXwgdFVOVU1CRVIgdE1PTlRIX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQubW9udGggPSAkMS52YWx1ZTsgfQorCXwgdE1PTlRIX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQubW9udGggPSAxOyB9CisJfCB0T1JESU5BTCB0REFZX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQuZGF5ID0gJDEgKiAkMjsgfQorCXwgdFVOVU1CRVIgdERBWV9VTklUCisJCXsgJCQgPSBSRUxBVElWRV9USU1FXzA7ICQkLmRheSA9ICQxLnZhbHVlICogJDI7IH0KKwl8IHREQVlfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5kYXkgPSAkMTsgfQorCXwgdE9SRElOQUwgdEhPVVJfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5ob3VyID0gJDE7IH0KKwl8IHRVTlVNQkVSIHRIT1VSX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQuaG91ciA9ICQxLnZhbHVlOyB9CisJfCB0SE9VUl9VTklUCisJCXsgJCQgPSBSRUxBVElWRV9USU1FXzA7ICQkLmhvdXIgPSAxOyB9CisJfCB0T1JESU5BTCB0TUlOVVRFX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQubWludXRlcyA9ICQxOyB9CisJfCB0VU5VTUJFUiB0TUlOVVRFX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQubWludXRlcyA9ICQxLnZhbHVlOyB9CisJfCB0TUlOVVRFX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQubWludXRlcyA9IDE7IH0KKwl8IHRPUkRJTkFMIHRTRUNfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5zZWNvbmRzID0gJDE7IH0KKwl8IHRVTlVNQkVSIHRTRUNfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5zZWNvbmRzID0gJDEudmFsdWU7IH0KKwl8IHRTREVDSU1BTF9OVU1CRVIgdFNFQ19VTklUIHsKKwkJJCQgPSBSRUxBVElWRV9USU1FXzA7CisJCSQkLnNlY29uZHMgPSAkMS50dl9zZWM7CisJCSQkLm5zID0gJDEudHZfbnNlYzsKKwkgIH0KKwl8IHRVREVDSU1BTF9OVU1CRVIgdFNFQ19VTklUIHsKKwkJJCQgPSBSRUxBVElWRV9USU1FXzA7CisJCSQkLnNlY29uZHMgPSAkMS50dl9zZWM7CisJCSQkLm5zID0gJDEudHZfbnNlYzsKKwkgIH0KKwl8IHRTRUNfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5zZWNvbmRzID0gMTsgfQorCXwgcmVsdW5pdF9zbnVtYmVyCis7CisKK3JlbHVuaXRfc251bWJlcjoKKwkgIHRTTlVNQkVSIHRZRUFSX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQueWVhciA9ICQxLnZhbHVlOyB9CisJfCB0U05VTUJFUiB0TU9OVEhfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5tb250aCA9ICQxLnZhbHVlOyB9CisJfCB0U05VTUJFUiB0REFZX1VOSVQKKwkJeyAkJCA9IFJFTEFUSVZFX1RJTUVfMDsgJCQuZGF5ID0gJDEudmFsdWUgKiAkMjsgfQorCXwgdFNOVU1CRVIgdEhPVVJfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5ob3VyID0gJDEudmFsdWU7IH0KKwl8IHRTTlVNQkVSIHRNSU5VVEVfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5taW51dGVzID0gJDEudmFsdWU7IH0KKwl8IHRTTlVNQkVSIHRTRUNfVU5JVAorCQl7ICQkID0gUkVMQVRJVkVfVElNRV8wOyAkJC5zZWNvbmRzID0gJDEudmFsdWU7IH0KKzsKKworZGF5c2hpZnQ6CisJICB0REFZX1NISUZUCisJCXsgJCQgPSBSRUxBVElWRV9USU1FXzA7ICQkLmRheSA9ICQxOyB9Cis7CisKK3NlY29uZHM6IHNpZ25lZF9zZWNvbmRzIHwgdW5zaWduZWRfc2Vjb25kczsKKworc2lnbmVkX3NlY29uZHM6CisJICB0U0RFQ0lNQUxfTlVNQkVSCisJfCB0U05VTUJFUgorCQl7ICQkLnR2X3NlYyA9ICQxLnZhbHVlOyAkJC50dl9uc2VjID0gMDsgfQorOworCit1bnNpZ25lZF9zZWNvbmRzOgorCSAgdFVERUNJTUFMX05VTUJFUgorCXwgdFVOVU1CRVIKKwkJeyAkJC50dl9zZWMgPSAkMS52YWx1ZTsgJCQudHZfbnNlYyA9IDA7IH0KKzsKKworbnVtYmVyOgorCSAgdFVOVU1CRVIKKwkJeyBkaWdpdHNfdG9fZGF0ZV90aW1lIChwYywgJDEpOyB9Cis7CisKK2h5YnJpZDoKKwkgIHRVTlVNQkVSIHJlbHVuaXRfc251bWJlciB7CisJCS8qKgorCQkgKiBIeWJyaWQgYWxsLWRpZ2l0IGFuZCByZWxhdGl2ZSBvZmZzZXQsIHNvIHRoYXQgd2UgYWNjZXB0IGUuZy4sCisJCSAqICJZWVlZTU1ERCArTiBkYXlzIiBhcyB3ZWxsIGFzICJZWVlZTU1ERCBOIGRheXMiLgorCQkgKi8KKwkJZGlnaXRzX3RvX2RhdGVfdGltZSAocGMsICQxKTsKKwkJYXBwbHlfcmVsYXRpdmVfdGltZSAocGMsICQyLCAxKTsKKwkgIH0KKzsKKworb19jb2xvbl9taW51dGVzOgorCSAgLyogZW1wdHkgKi8KKwkJeyAkJC52YWx1ZSA9ICQkLmRpZ2l0cyA9IDA7IH0KKwl8ICc6JyB0VU5VTUJFUiB7CisJCSQkID0gJDI7CisJICB9Cis7CisKKyUlCisKK3N0YXRpYyB0YWJsZSBjb25zdCBtZXJpZGlhbl90YWJsZVtdID0geworCXsgIkFNIiwgICB0TUVSSURJQU4sIE1FUmFtIH0sCisJeyAiQS5NLiIsIHRNRVJJRElBTiwgTUVSYW0gfSwKKwl7ICJQTSIsICAgdE1FUklESUFOLCBNRVJwbSB9LAorCXsgIlAuTS4iLCB0TUVSSURJQU4sIE1FUnBtIH0sCisJeyBOVUxMLCAwLCAwIH0KK307CisKK3N0YXRpYyB0YWJsZSBjb25zdCBkc3RfdGFibGVbXSA9IHsKKwl7ICJEU1QiLCB0RFNULCAwIH0KK307CisKK3N0YXRpYyB0YWJsZSBjb25zdCBtb250aF9hbmRfZGF5X3RhYmxlW10gPSB7CisJeyAiSkFOVUFSWSIsICB0TU9OVEgsICAxIH0sCisJeyAiRkVCUlVBUlkiLCB0TU9OVEgsICAyIH0sCisJeyAiTUFSQ0giLCAgICB0TU9OVEgsICAzIH0sCisJeyAiQVBSSUwiLCAgICB0TU9OVEgsICA0IH0sCisJeyAiTUFZIiwgICAgICB0TU9OVEgsICA1IH0sCisJeyAiSlVORSIsICAgICB0TU9OVEgsICA2IH0sCisJeyAiSlVMWSIsICAgICB0TU9OVEgsICA3IH0sCisJeyAiQVVHVVNUIiwgICB0TU9OVEgsICA4IH0sCisJeyAiU0VQVEVNQkVSIix0TU9OVEgsICA5IH0sCisJeyAiU0VQVCIsICAgICB0TU9OVEgsICA5IH0sCisJeyAiT0NUT0JFUiIsICB0TU9OVEgsIDEwIH0sCisJeyAiTk9WRU1CRVIiLCB0TU9OVEgsIDExIH0sCisJeyAiREVDRU1CRVIiLCB0TU9OVEgsIDEyIH0sCisJeyAiU1VOREFZIiwgICB0REFZLCAgICAwIH0sCisJeyAiTU9OREFZIiwgICB0REFZLCAgICAxIH0sCisJeyAiVFVFU0RBWSIsICB0REFZLCAgICAyIH0sCisJeyAiVFVFUyIsICAgICB0REFZLCAgICAyIH0sCisJeyAiV0VETkVTREFZIix0REFZLCAgICAzIH0sCisJeyAiV0VETkVTIiwgICB0REFZLCAgICAzIH0sCisJeyAiVEhVUlNEQVkiLCB0REFZLCAgICA0IH0sCisJeyAiVEhVUiIsICAgICB0REFZLCAgICA0IH0sCisJeyAiVEhVUlMiLCAgICB0REFZLCAgICA0IH0sCisJeyAiRlJJREFZIiwgICB0REFZLCAgICA1IH0sCisJeyAiU0FUVVJEQVkiLCB0REFZLCAgICA2IH0sCisJeyBOVUxMLCAwLCAwIH0KK307CisKK3N0YXRpYyB0YWJsZSBjb25zdCB0aW1lX3VuaXRzX3RhYmxlW10gPSB7CisJeyAiWUVBUiIsICAgICB0WUVBUl9VTklULCAgICAgIDEgfSwKKwl7ICJNT05USCIsICAgIHRNT05USF9VTklULCAgICAgMSB9LAorCXsgIkZPUlROSUdIVCIsdERBWV9VTklULCAgICAgIDE0IH0sCisJeyAiV0VFSyIsICAgICB0REFZX1VOSVQsICAgICAgIDcgfSwKKwl7ICJEQVkiLCAgICAgIHREQVlfVU5JVCwgICAgICAgMSB9LAorCXsgIkhPVVIiLCAgICAgdEhPVVJfVU5JVCwgICAgICAxIH0sCisJeyAiTUlOVVRFIiwgICB0TUlOVVRFX1VOSVQsICAgIDEgfSwKKwl7ICJNSU4iLCAgICAgIHRNSU5VVEVfVU5JVCwgICAgMSB9LAorCXsgIlNFQ09ORCIsICAgdFNFQ19VTklULCAgICAgICAxIH0sCisJeyAiU0VDIiwgICAgICB0U0VDX1VOSVQsICAgICAgIDEgfSwKKwl7IE5VTEwsIDAsIDAgfQorfTsKKworLyogQXNzb3J0ZWQgcmVsYXRpdmUtdGltZSB3b3Jkcy4gKi8KK3N0YXRpYyB0YWJsZSBjb25zdCByZWxhdGl2ZV90aW1lX3RhYmxlW10gPSB7CisJeyAiVE9NT1JST1ciLCB0REFZX1NISUZULCAgICAgIDEgfSwKKwl7ICJZRVNURVJEQVkiLHREQVlfU0hJRlQsICAgICAtMSB9LAorCXsgIlRPREFZIiwgICAgdERBWV9TSElGVCwgICAgICAwIH0sCisJeyAiTk9XIiwgICAgICB0REFZX1NISUZULCAgICAgIDAgfSwKKwl7ICJMQVNUIiwgICAgIHRPUkRJTkFMLCAgICAgICAtMSB9LAorCXsgIlRISVMiLCAgICAgdE9SRElOQUwsICAgICAgICAwIH0sCisJeyAiTkVYVCIsICAgICB0T1JESU5BTCwgICAgICAgIDEgfSwKKwl7ICJGSVJTVCIsICAgIHRPUkRJTkFMLCAgICAgICAgMSB9LAorICAgICAgLyp7ICJTRUNPTkQiLCAgIHRPUkRJTkFMLCAgICAgICAgMiB9LCAqLworCXsgIlRISVJEIiwgICAgdE9SRElOQUwsICAgICAgICAzIH0sCisJeyAiRk9VUlRIIiwgICB0T1JESU5BTCwgICAgICAgIDQgfSwKKwl7ICJGSUZUSCIsICAgIHRPUkRJTkFMLCAgICAgICAgNSB9LAorCXsgIlNJWFRIIiwgICAgdE9SRElOQUwsICAgICAgICA2IH0sCisJeyAiU0VWRU5USCIsICB0T1JESU5BTCwgICAgICAgIDcgfSwKKwl7ICJFSUdIVEgiLCAgIHRPUkRJTkFMLCAgICAgICAgOCB9LAorCXsgIk5JTlRIIiwgICAgdE9SRElOQUwsICAgICAgICA5IH0sCisJeyAiVEVOVEgiLCAgICB0T1JESU5BTCwgICAgICAgMTAgfSwKKwl7ICJFTEVWRU5USCIsIHRPUkRJTkFMLCAgICAgICAxMSB9LAorCXsgIlRXRUxGVEgiLCAgdE9SRElOQUwsICAgICAgIDEyIH0sCisJeyAiQUdPIiwgICAgICB0QUdPLCAgICAgICAgICAgLTEgfSwKKwl7ICJIRU5DRSIsICAgIHRBR08sICAgICAgICAgICAgMSB9LAorCXsgTlVMTCwgMCwgMCB9Cit9OworCisvKioKKyAqIFRoZSB1bml2ZXJzYWwgdGltZSB6b25lIHRhYmxlLiAgVGhlc2UgbGFiZWxzIGNhbiBiZSB1c2VkIGV2ZW4gZm9yCisgKiB0aW1lc3RhbXBzIHRoYXQgd291bGQgbm90IG90aGVyd2lzZSBiZSB2YWxpZCwgZS5nLiwgR01UIHRpbWVzdGFtcHMKKyAqIGluIExvbmRvbiBkdXJpbmcgc3VtbWVyLgorICovCitzdGF0aWMgdGFibGUgY29uc3QgdW5pdmVyc2FsX3RpbWVfem9uZV90YWJsZVtdID0geworCXsgIkdNVCIsICAgICAgdFpPTkUsICAgICBIT1VSICggMCkgfSwgLyogR3JlZW53aWNoIE1lYW4gKi8KKwl7ICJVVCIsICAgICAgIHRaT05FLCAgICAgSE9VUiAoIDApIH0sIC8qIFVuaXZlcnNhbCAoQ29vcmRpbmF0ZWQpICovCisJeyAiVVRDIiwgICAgICB0Wk9ORSwgICAgIEhPVVIgKCAwKSB9LAorCXsgTlVMTCwgMCwgMCB9Cit9OworCisvKioKKyAqIFRoZSB0aW1lIHpvbmUgdGFibGUuICBUaGlzIHRhYmxlIGlzIG5lY2Vzc2FyaWx5IGluY29tcGxldGUsIGFzIHRpbWUKKyAqIHpvbmUgYWJicmV2aWF0aW9ucyBhcmUgYW1iaWd1b3VzOyBlLmcuIEF1c3RyYWxpYW5zIGludGVycHJldCAiRVNUIgorICogYXMgRWFzdGVybiB0aW1lIGluIEF1c3RyYWxpYSwgbm90IGFzIFVTIEVhc3Rlcm4gU3RhbmRhcmQgVGltZS4KKyAqIFlvdSBjYW5ub3QgcmVseSBvbiBwYXJzZV9kYXRlIHRvIGhhbmRsZSBhcmJpdHJhcnkgdGltZSB6b25lCisgKiBhYmJyZXZpYXRpb25zOyB1c2UgbnVtZXJpYyBhYmJyZXZpYXRpb25zIGxpa2UgIi0wNTAwIiBpbnN0ZWFkLgorICovCitzdGF0aWMgdGFibGUgY29uc3QgdGltZV96b25lX3RhYmxlW10gPSB7CisJeyAiV0VUIiwgICAgICB0Wk9ORSwgICAgIEhPVVIgKCAwKSB9LCAvKiBXZXN0ZXJuIEV1cm9wZWFuICovCisJeyAiV0VTVCIsICAgICB0REFZWk9ORSwgIEhPVVIgKCAwKSB9LCAvKiBXZXN0ZXJuIEV1cm9wZWFuIFN1bW1lciAqLworCXsgIkJTVCIsICAgICAgdERBWVpPTkUsICBIT1VSICggMCkgfSwgLyogQnJpdGlzaCBTdW1tZXIgKi8KKwl7ICJBUlQiLCAgICAgIHRaT05FLCAgICAtSE9VUiAoIDMpIH0sIC8qIEFyZ2VudGluYSAqLworCXsgIkJSVCIsICAgICAgdFpPTkUsICAgIC1IT1VSICggMykgfSwgLyogQnJhemlsICovCisJeyAiQlJTVCIsICAgICB0REFZWk9ORSwgLUhPVVIgKCAzKSB9LCAvKiBCcmF6aWwgU3VtbWVyICovCisJeyAiTlNUIiwgICAgICB0Wk9ORSwgICAtKEhPVVIgKCAzKSArIDMwKSB9LCAgIC8qIE5ld2ZvdW5kbGFuZCBTdGFuZGFyZCAqLworCXsgIk5EVCIsICAgICAgdERBWVpPTkUsLShIT1VSICggMykgKyAzMCkgfSwgICAvKiBOZXdmb3VuZGxhbmQgRGF5bGlnaHQgKi8KKwl7ICJBU1QiLCAgICAgIHRaT05FLCAgICAtSE9VUiAoIDQpIH0sIC8qIEF0bGFudGljIFN0YW5kYXJkICovCisJeyAiQURUIiwgICAgICB0REFZWk9ORSwgLUhPVVIgKCA0KSB9LCAvKiBBdGxhbnRpYyBEYXlsaWdodCAqLworCXsgIkNMVCIsICAgICAgdFpPTkUsICAgIC1IT1VSICggNCkgfSwgLyogQ2hpbGUgKi8KKwl7ICJDTFNUIiwgICAgIHREQVlaT05FLCAtSE9VUiAoIDQpIH0sIC8qIENoaWxlIFN1bW1lciAqLworCXsgIkVTVCIsICAgICAgdFpPTkUsICAgIC1IT1VSICggNSkgfSwgLyogRWFzdGVybiBTdGFuZGFyZCAqLworCXsgIkVEVCIsICAgICAgdERBWVpPTkUsIC1IT1VSICggNSkgfSwgLyogRWFzdGVybiBEYXlsaWdodCAqLworCXsgIkNTVCIsICAgICAgdFpPTkUsICAgIC1IT1VSICggNikgfSwgLyogQ2VudHJhbCBTdGFuZGFyZCAqLworCXsgIkNEVCIsICAgICAgdERBWVpPTkUsIC1IT1VSICggNikgfSwgLyogQ2VudHJhbCBEYXlsaWdodCAqLworCXsgIk1TVCIsICAgICAgdFpPTkUsICAgIC1IT1VSICggNykgfSwgLyogTW91bnRhaW4gU3RhbmRhcmQgKi8KKwl7ICJNRFQiLCAgICAgIHREQVlaT05FLCAtSE9VUiAoIDcpIH0sIC8qIE1vdW50YWluIERheWxpZ2h0ICovCisJeyAiUFNUIiwgICAgICB0Wk9ORSwgICAgLUhPVVIgKCA4KSB9LCAvKiBQYWNpZmljIFN0YW5kYXJkICovCisJeyAiUERUIiwgICAgICB0REFZWk9ORSwgLUhPVVIgKCA4KSB9LCAvKiBQYWNpZmljIERheWxpZ2h0ICovCisJeyAiQUtTVCIsICAgICB0Wk9ORSwgICAgLUhPVVIgKCA5KSB9LCAvKiBBbGFza2EgU3RhbmRhcmQgKi8KKwl7ICJBS0RUIiwgICAgIHREQVlaT05FLCAtSE9VUiAoIDkpIH0sIC8qIEFsYXNrYSBEYXlsaWdodCAqLworCXsgIkhTVCIsICAgICAgdFpPTkUsICAgIC1IT1VSICgxMCkgfSwgLyogSGF3YWlpIFN0YW5kYXJkICovCisJeyAiSEFTVCIsICAgICB0Wk9ORSwgICAgLUhPVVIgKDEwKSB9LCAvKiBIYXdhaWktQWxldXRpYW4gU3RhbmRhcmQgKi8KKwl7ICJIQURUIiwgICAgIHREQVlaT05FLCAtSE9VUiAoMTApIH0sIC8qIEhhd2FpaS1BbGV1dGlhbiBEYXlsaWdodCAqLworCXsgIlNTVCIsICAgICAgdFpPTkUsICAgIC1IT1VSICgxMikgfSwgLyogU2Ftb2EgU3RhbmRhcmQgKi8KKwl7ICJXQVQiLCAgICAgIHRaT05FLCAgICAgSE9VUiAoIDEpIH0sIC8qIFdlc3QgQWZyaWNhICovCisJeyAiQ0VUIiwgICAgICB0Wk9ORSwgICAgIEhPVVIgKCAxKSB9LCAvKiBDZW50cmFsIEV1cm9wZWFuICovCisJeyAiQ0VTVCIsICAgICB0REFZWk9ORSwgIEhPVVIgKCAxKSB9LCAvKiBDZW50cmFsIEV1cm9wZWFuIFN1bW1lciAqLworCXsgIk1FVCIsICAgICAgdFpPTkUsICAgICBIT1VSICggMSkgfSwgLyogTWlkZGxlIEV1cm9wZWFuICovCisJeyAiTUVaIiwgICAgICB0Wk9ORSwgICAgIEhPVVIgKCAxKSB9LCAvKiBNaWRkbGUgRXVyb3BlYW4gKi8KKwl7ICJNRVNUIiwgICAgIHREQVlaT05FLCAgSE9VUiAoIDEpIH0sIC8qIE1pZGRsZSBFdXJvcGVhbiBTdW1tZXIgKi8KKwl7ICJNRVNaIiwgICAgIHREQVlaT05FLCAgSE9VUiAoIDEpIH0sIC8qIE1pZGRsZSBFdXJvcGVhbiBTdW1tZXIgKi8KKwl7ICJFRVQiLCAgICAgIHRaT05FLCAgICAgSE9VUiAoIDIpIH0sIC8qIEVhc3Rlcm4gRXVyb3BlYW4gKi8KKwl7ICJFRVNUIiwgICAgIHREQVlaT05FLCAgSE9VUiAoIDIpIH0sIC8qIEVhc3Rlcm4gRXVyb3BlYW4gU3VtbWVyICovCisJeyAiQ0FUIiwgICAgICB0Wk9ORSwgICAgIEhPVVIgKCAyKSB9LCAvKiBDZW50cmFsIEFmcmljYSAqLworCXsgIlNBU1QiLCAgICAgdFpPTkUsICAgICBIT1VSICggMikgfSwgLyogU291dGggQWZyaWNhIFN0YW5kYXJkICovCisJeyAiRUFUIiwgICAgICB0Wk9ORSwgICAgIEhPVVIgKCAzKSB9LCAvKiBFYXN0IEFmcmljYSAqLworCXsgIk1TSyIsICAgICAgdFpPTkUsICAgICBIT1VSICggMykgfSwgLyogTW9zY293ICovCisJeyAiTVNEIiwgICAgICB0REFZWk9ORSwgIEhPVVIgKCAzKSB9LCAvKiBNb3Njb3cgRGF5bGlnaHQgKi8KKwl7ICJJU1QiLCAgICAgIHRaT05FLCAgICAoSE9VUiAoIDUpICsgMzApIH0sICAgLyogSW5kaWEgU3RhbmRhcmQgKi8KKwl7ICJTR1QiLCAgICAgIHRaT05FLCAgICAgSE9VUiAoIDgpIH0sIC8qIFNpbmdhcG9yZSAqLworCXsgIktTVCIsICAgICAgdFpPTkUsICAgICBIT1VSICggOSkgfSwgLyogS29yZWEgU3RhbmRhcmQgKi8KKwl7ICJKU1QiLCAgICAgIHRaT05FLCAgICAgSE9VUiAoIDkpIH0sIC8qIEphcGFuIFN0YW5kYXJkICovCisJeyAiR1NUIiwgICAgICB0Wk9ORSwgICAgIEhPVVIgKDEwKSB9LCAvKiBHdWFtIFN0YW5kYXJkICovCisJeyAiTlpTVCIsICAgICB0Wk9ORSwgICAgIEhPVVIgKDEyKSB9LCAvKiBOZXcgWmVhbGFuZCBTdGFuZGFyZCAqLworCXsgIk5aRFQiLCAgICAgdERBWVpPTkUsICBIT1VSICgxMikgfSwgLyogTmV3IFplYWxhbmQgRGF5bGlnaHQgKi8KKwl7IE5VTEwsIDAsIDAgfQorfTsKKworLyoqCisgKiBNaWxpdGFyeSB0aW1lIHpvbmUgdGFibGUuCisgKgorICogTm90ZSAnVCcgaXMgYSBzcGVjaWFsIGNhc2UsIGFzIGl0IGlzIHVzZWQgYXMgdGhlIHNlcGFyYXRvciBpbiBJU08KKyAqIDg2MDEgZGF0ZSBhbmQgdGltZSBvZiBkYXkgcmVwcmVzZW50YXRpb24uCisgKi8KK3N0YXRpYyB0YWJsZSBjb25zdCBtaWxpdGFyeV90YWJsZVtdID0geworCXsgIkEiLCB0Wk9ORSwgLUhPVVIgKCAxKSB9LAorCXsgIkIiLCB0Wk9ORSwgLUhPVVIgKCAyKSB9LAorCXsgIkMiLCB0Wk9ORSwgLUhPVVIgKCAzKSB9LAorCXsgIkQiLCB0Wk9ORSwgLUhPVVIgKCA0KSB9LAorCXsgIkUiLCB0Wk9ORSwgLUhPVVIgKCA1KSB9LAorCXsgIkYiLCB0Wk9ORSwgLUhPVVIgKCA2KSB9LAorCXsgIkciLCB0Wk9ORSwgLUhPVVIgKCA3KSB9LAorCXsgIkgiLCB0Wk9ORSwgLUhPVVIgKCA4KSB9LAorCXsgIkkiLCB0Wk9ORSwgLUhPVVIgKCA5KSB9LAorCXsgIksiLCB0Wk9ORSwgLUhPVVIgKDEwKSB9LAorCXsgIkwiLCB0Wk9ORSwgLUhPVVIgKDExKSB9LAorCXsgIk0iLCB0Wk9ORSwgLUhPVVIgKDEyKSB9LAorCXsgIk4iLCB0Wk9ORSwgIEhPVVIgKCAxKSB9LAorCXsgIk8iLCB0Wk9ORSwgIEhPVVIgKCAyKSB9LAorCXsgIlAiLCB0Wk9ORSwgIEhPVVIgKCAzKSB9LAorCXsgIlEiLCB0Wk9ORSwgIEhPVVIgKCA0KSB9LAorCXsgIlIiLCB0Wk9ORSwgIEhPVVIgKCA1KSB9LAorCXsgIlMiLCB0Wk9ORSwgIEhPVVIgKCA2KSB9LAorCXsgIlQiLCAnVCcsICAgIDAgfSwKKwl7ICJVIiwgdFpPTkUsICBIT1VSICggOCkgfSwKKwl7ICJWIiwgdFpPTkUsICBIT1VSICggOSkgfSwKKwl7ICJXIiwgdFpPTkUsICBIT1VSICgxMCkgfSwKKwl7ICJYIiwgdFpPTkUsICBIT1VSICgxMSkgfSwKKwl7ICJZIiwgdFpPTkUsICBIT1VSICgxMikgfSwKKwl7ICJaIiwgdFpPTkUsICBIT1VSICggMCkgfSwKKwl7IE5VTEwsIDAsIDAgfQorfTsKKworLyoqCisgKiBDb252ZXJ0IGEgdGltZSBvZmZzZXQgZXhwcmVzc2VkIGFzIEhIOk1NIG9yIEhITU0gaW50byBhbiBpbnRlZ2VyIGNvdW50IG9mCisgKiBtaW51dGVzLiAgSWYgaGggaXMgbW9yZSB0aGFuIDIgZGlnaXRzIHRoZW4gaXQgaXMgb2YgdGhlIGZvcm0gSEhNTSBhbmQgbXVzdCBiZQorICogZGVsaW1pdGVkOyBpbiB0aGF0IGNhc2UgJ21tJyBpcyByZXF1aXJlZCB0byBiZSBhYnNlbnQuICBPdGhlcndpc2UsIGhoIGFuZCBtbQorICogYXJlIHVzZWQgKCdtbScgY29udGFpbnMgZGlnaXRzIHRoYXQgd2VyZSBwcmVmaXhlZCB3aXRoIGEgY29sb24pLgorICoKKyAqIFBPU0lYIFRaIGFuZCBJU08gODYwMSBib3RoIGRlZmluZSB0aGUgbWF4aW11bSBvZmZzZXQgYXMgMjQ6NTkuIFBPU0lYIGFsc28KKyAqIGFsbG93cyBzZWNvbmRzLCBidXQgY3VycmVudGx5IHRoZSBwYXJzZXIgcmVqZWN0cyB0aGVtLiBCb3RoIHJlcXVpcmUgbWludXRlcworICogdG8gYmUgemVybyBwYWRkZWQgKDIgZGlnaXRzKS4gSVNPIHJlcXVpcmVzIGhvdXJzIHRvIGJlIHplcm8gcGFkZGVkLCBQT1NJWAorICogZG9lcyBub3QsIGVpdGhlciBpcyBhY2NlcHRlZDsgd2hpY2ggbWVhbnMgYW4gaW52YWxpZCBJU08gb2Zmc2V0IGNvdWxkIHBhc3MuCisgKi8KKworc3RhdGljIGludCB0aW1lX3pvbmVfaGhtbShwYXJzZXJfY29udHJvbCAqcGMsIHRleHRpbnQgaGgsIHRleHRpbnQgbW0pCit7CisJaW50IGgsIG07CisKKwlpZiAoaGguZGlnaXRzID4gMiAmJiBoaC5kaWdpdHMgPCA1ICYmIG1tLmRpZ2l0cyA9PSAwKSB7CisJCWggPSBoaC52YWx1ZSAvIDEwMDsKKwkJbSA9IGhoLnZhbHVlICUgMTAwOworCX0gZWxzZSBpZiAoaGguZGlnaXRzIDwgMyAmJiAobW0uZGlnaXRzID09IDAgfHwgbW0uZGlnaXRzID09IDIpKSB7CisJCWggPSBoaC52YWx1ZTsKKwkJbSA9IGhoLm5lZ2F0aXZlID8gLW1tLnZhbHVlIDogbW0udmFsdWU7CisJfSBlbHNlCisJCXJldHVybiAwOworCisJaWYgKGFicyhoKSA+IDI0IHx8IGFicyhtKSA+IDU5KQorCQlyZXR1cm4gMDsKKworCXBjLT50aW1lX3pvbmUgPSAgaCAqIDYwICsgbTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCB0b19ob3VyKGludG1heF90IGhvdXJzLCBpbnQgbWVyaWRpYW4pCit7CisJc3dpdGNoIChtZXJpZGlhbikgeworCWRlZmF1bHQ6IC8qIFBhY2lmeSBHQ0MuICovCisJY2FzZSBNRVIyNDoKKwkJcmV0dXJuIDAgPD0gaG91cnMgJiYgaG91cnMgPCAyNCA/IGhvdXJzIDogLTE7CisJY2FzZSBNRVJhbToKKwkJcmV0dXJuIDAgPCBob3VycyAmJiBob3VycyA8IDEyID8gaG91cnMgOiBob3VycyA9PSAxMiA/IDAgOiAtMTsKKwljYXNlIE1FUnBtOgorCQlyZXR1cm4gMCA8IGhvdXJzICYmIGhvdXJzIDwgMTIgPyBob3VycyArIDEyIDogaG91cnMgPT0gMTIgPyAxMiA6IC0xOworCX0KK30KKworc3RhdGljIGxvbmcgaW50IHRvX3llYXIodGV4dGludCB0ZXh0eWVhcikKK3sKKwlpbnRtYXhfdCB5ZWFyID0gdGV4dHllYXIudmFsdWU7CisKKwlpZiAoeWVhciA8IDApCisJCXllYXIgPSAteWVhcjsKKworCS8qKgorCSAqIFhQRzQgc3VnZ2VzdHMgdGhhdCB5ZWFycyAwMC02OCBtYXAgdG8gMjAwMC0yMDY4LCBhbmQKKwkgKiB5ZWFycyA2OS05OSBtYXAgdG8gMTk2OS0xOTk5LgorCSAqLworCWVsc2UgaWYgKHRleHR5ZWFyLmRpZ2l0cyA9PSAyKQorCQkJeWVhciArPSB5ZWFyIDwgNjkgPyAyMDAwIDogMTkwMDsKKworCXJldHVybiB5ZWFyOworfQorCitzdGF0aWMgdGFibGUgY29uc3QgKiBsb29rdXBfem9uZShwYXJzZXJfY29udHJvbCBjb25zdCAqcGMsIGNoYXIgY29uc3QgKm5hbWUpCit7CisJdGFibGUgY29uc3QgKnRwOworCisJZm9yICh0cCA9IHVuaXZlcnNhbF90aW1lX3pvbmVfdGFibGU7IHRwLT5uYW1lOyB0cCsrKQorCQlpZiAoc3RyY21wIChuYW1lLCB0cC0+bmFtZSkgPT0gMCkKKwkJCXJldHVybiB0cDsKKworCS8qKgorCSAqIFRyeSBsb2NhbCB6b25lIGFiYnJldmlhdGlvbnMgYmVmb3JlIHRob3NlIGluIHRpbWVfem9uZV90YWJsZSwgYXMKKwkgKiB0aGUgbG9jYWwgb25lcyBhcmUgbW9yZSBsaWtlbHkgdG8gYmUgcmlnaHQuCisJICovCisJZm9yICh0cCA9IHBjLT5sb2NhbF90aW1lX3pvbmVfdGFibGU7IHRwLT5uYW1lOyB0cCsrKQorCQlpZiAoc3RyY21wIChuYW1lLCB0cC0+bmFtZSkgPT0gMCkKKwkJCXJldHVybiB0cDsKKworCWZvciAodHAgPSB0aW1lX3pvbmVfdGFibGU7IHRwLT5uYW1lOyB0cCsrKQorCQlpZiAoc3RyY21wIChuYW1lLCB0cC0+bmFtZSkgPT0gMCkKKwkJCXJldHVybiB0cDsKKworCXJldHVybiBOVUxMOworfQorCisjaWYgISBIQVZFX1RNX0dNVE9GRgorLyoqCisgKiBZaWVsZCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuICpBIGFuZCAqQiwKKyAqIG1lYXN1cmVkIGluIHNlY29uZHMsIGlnbm9yaW5nIGxlYXAgc2Vjb25kcy4KKyAqIFRoZSBib2R5IG9mIHRoaXMgZnVuY3Rpb24gaXMgdGFrZW4gZGlyZWN0bHkgZnJvbSB0aGUgR05VIEMgTGlicmFyeTsKKyAqIHNlZSBzcmMvc3RyZnRpbWUuYy4KKyAqLworc3RhdGljIGludCB0bV9kaWZmKHN0cnVjdCB0bSBjb25zdCAqYSwgc3RydWN0IHRtIGNvbnN0ICpiKQoreworCS8qKgorCSAqIENvbXB1dGUgaW50ZXJ2ZW5pbmcgbGVhcCBkYXlzIGNvcnJlY3RseSBldmVuIGlmIHllYXIgaXMgbmVnYXRpdmUuCisJICogVGFrZSBjYXJlIHRvIGF2b2lkIGludCBvdmVyZmxvdyBpbiBsZWFwIGRheSBjYWxjdWxhdGlvbnMuCisJICovCisJaW50IGE0ID0gU0hSIChhLT50bV95ZWFyLCAyKSArIFNIUiAoVE1fWUVBUl9CQVNFLCAyKSAtICEgKGEtPnRtX3llYXIgJiAzKTsKKwlpbnQgYjQgPSBTSFIgKGItPnRtX3llYXIsIDIpICsgU0hSIChUTV9ZRUFSX0JBU0UsIDIpIC0gISAoYi0+dG1feWVhciAmIDMpOworCWludCBhMTAwID0gYTQgLyAyNSAtIChhNCAlIDI1IDwgMCk7CisJaW50IGIxMDAgPSBiNCAvIDI1IC0gKGI0ICUgMjUgPCAwKTsKKwlpbnQgYTQwMCA9IFNIUiAoYTEwMCwgMik7CisJaW50IGI0MDAgPSBTSFIgKGIxMDAsIDIpOworCWludCBpbnRlcnZlbmluZ19sZWFwX2RheXMgPSAoYTQgLSBiNCkgLSAoYTEwMCAtIGIxMDApICsgKGE0MDAgLSBiNDAwKTsKKwlpbnQgeWVhcnMgPSBhLT50bV95ZWFyIC0gYi0+dG1feWVhcjsKKwlpbnQgZGF5cyA9ICgzNjUgKiB5ZWFycyArIGludGVydmVuaW5nX2xlYXBfZGF5cworCQkJICsgKGEtPnRtX3lkYXkgLSBiLT50bV95ZGF5KSk7CisJcmV0dXJuICg2MCAqICg2MCAqICgyNCAqIGRheXMgKyAoYS0+dG1faG91ciAtIGItPnRtX2hvdXIpKQorCQkrIChhLT50bV9taW4gLSBiLT50bV9taW4pKQorCQkrIChhLT50bV9zZWMgLSBiLT50bV9zZWMpKTsKK30KKyNlbmRpZiAvKiAhIEhBVkVfVE1fR01UT0ZGICovCisKK3N0YXRpYyB0YWJsZSBjb25zdCAqIGxvb2t1cF93b3JkKHBhcnNlcl9jb250cm9sIGNvbnN0ICpwYywgY2hhciAqd29yZCkKK3sKKwljaGFyICpwOworCWNoYXIgKnE7CisJc2l6ZV90IHdvcmRsZW47CisJdGFibGUgY29uc3QgKnRwOworCWludCBwZXJpb2RfZm91bmQ7CisJaW50IGFiYnJldjsKKworCS8qIE1ha2UgaXQgdXBwZXJjYXNlLiAqLworCWZvciAocCA9IHdvcmQ7ICpwOyBwKyspCisJCSpwID0gY190b3VwcGVyICh0b191Y2hhciAoKnApKTsKKworCWZvciAodHAgPSBtZXJpZGlhbl90YWJsZTsgdHAtPm5hbWU7IHRwKyspCisJCWlmIChzdHJjbXAgKHdvcmQsIHRwLT5uYW1lKSA9PSAwKQorCQkJcmV0dXJuIHRwOworCisJLyogU2VlIGlmIHdlIGhhdmUgYW4gYWJicmV2aWF0aW9uIGZvciBhIG1vbnRoLiAqLworCXdvcmRsZW4gPSBzdHJsZW4gKHdvcmQpOworCWFiYnJldiA9IHdvcmRsZW4gPT0gMyB8fCAod29yZGxlbiA9PSA0ICYmIHdvcmRbM10gPT0gJy4nKTsKKworCWZvciAodHAgPSBtb250aF9hbmRfZGF5X3RhYmxlOyB0cC0+bmFtZTsgdHArKykKKwkJaWYgKChhYmJyZXYgPyBzdHJuY21wICh3b3JkLCB0cC0+bmFtZSwgMykgOgorCQkgICAgIHN0cmNtcCAod29yZCwgdHAtPm5hbWUpKSA9PSAwKQorCQkJcmV0dXJuIHRwOworCisJaWYgKCh0cCA9IGxvb2t1cF96b25lIChwYywgd29yZCkpKQorCQlyZXR1cm4gdHA7CisKKwlpZiAoc3RyY21wICh3b3JkLCBkc3RfdGFibGVbMF0ubmFtZSkgPT0gMCkKKwkJcmV0dXJuIGRzdF90YWJsZTsKKworCWZvciAodHAgPSB0aW1lX3VuaXRzX3RhYmxlOyB0cC0+bmFtZTsgdHArKykKKwkJaWYgKHN0cmNtcCAod29yZCwgdHAtPm5hbWUpID09IDApCisJCQlyZXR1cm4gdHA7CisKKwkvKiBTdHJpcCBvZmYgYW55IHBsdXJhbCBhbmQgdHJ5IHRoZSB1bml0cyB0YWJsZSBhZ2Fpbi4gKi8KKwlpZiAod29yZFt3b3JkbGVuIC0gMV0gPT0gJ1MnKSB7CisJCXdvcmRbd29yZGxlbiAtIDFdID0gJ1wwJzsKKwkJZm9yICh0cCA9IHRpbWVfdW5pdHNfdGFibGU7IHRwLT5uYW1lOyB0cCsrKQorCQkJaWYgKHN0cmNtcCAod29yZCwgdHAtPm5hbWUpID09IDApCisJCQkJcmV0dXJuIHRwOworCQl3b3JkW3dvcmRsZW4gLSAxXSA9ICdTJzsgLyogRm9yICJ0aGlzIiBpbiByZWxhdGl2ZV90aW1lX3RhYmxlLiAqLworCX0KKworCWZvciAodHAgPSByZWxhdGl2ZV90aW1lX3RhYmxlOyB0cC0+bmFtZTsgdHArKykKKwkJaWYgKHN0cmNtcCAod29yZCwgdHAtPm5hbWUpID09IDApCisJCQlyZXR1cm4gdHA7CisKKwkvKiBNaWxpdGFyeSB0aW1lIHpvbmVzLiAqLworCWlmICh3b3JkbGVuID09IDEpCisJCWZvciAodHAgPSBtaWxpdGFyeV90YWJsZTsgdHAtPm5hbWU7IHRwKyspCisJCQlpZiAod29yZFswXSA9PSB0cC0+bmFtZVswXSkKKwkJCQlyZXR1cm4gdHA7CisKKwkvKiBEcm9wIG91dCBhbnkgcGVyaW9kcyBhbmQgdHJ5IHRoZSB0aW1lIHpvbmUgdGFibGUgYWdhaW4uICovCisJZm9yIChwZXJpb2RfZm91bmQgPSAwLCBwID0gcSA9IHdvcmQ7ICgqcCA9ICpxKTsgcSsrKQorCQlpZiAoKnEgPT0gJy4nKQorCQkJcGVyaW9kX2ZvdW5kID0gMTsKKwkJZWxzZQorCQkJcCsrOworCWlmIChwZXJpb2RfZm91bmQgJiYgKHRwID0gbG9va3VwX3pvbmUgKHBjLCB3b3JkKSkpCisJCXJldHVybiB0cDsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IHl5bGV4ICh1bmlvbiBZWVNUWVBFICpsdmFscCwgcGFyc2VyX2NvbnRyb2wgKnBjKQoreworCXVuc2lnbmVkIGNoYXIgYzsKKwlzaXplX3QgY291bnQ7CisKKwlmb3IgKDs7KSB7CisJCXdoaWxlIChjID0gKnBjLT5pbnB1dCwgY19pc3NwYWNlIChjKSkKKwkJCXBjLT5pbnB1dCsrOworCisJCWlmIChjX2lzZGlnaXQgKGMpIHx8IGMgPT0gJy0nIHx8IGMgPT0gJysnKSB7CisJCQljaGFyIGNvbnN0ICpwOworCQkJaW50IHNpZ247CisJCQl1aW50bWF4X3QgdmFsdWU7CisJCQlpZiAoYyA9PSAnLScgfHwgYyA9PSAnKycpIHsKKwkJCQlzaWduID0gYyA9PSAnLScgPyAtMSA6IDE7CisJCQkJd2hpbGUgKGMgPSAqKytwYy0+aW5wdXQsIGNfaXNzcGFjZSAoYykpCisJCQkJCWNvbnRpbnVlOworCQkJCWlmICghIGNfaXNkaWdpdCAoYykpCisJCQkJCS8qIHNraXAgdGhlICctJyBzaWduICovCisJCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlCisJCQkJc2lnbiA9IDA7CisJCQlwID0gcGMtPmlucHV0OworCQkJZm9yICh2YWx1ZSA9IDA7IDsgdmFsdWUgKj0gMTApIHsKKwkJCQl1aW50bWF4X3QgdmFsdWUxID0gdmFsdWUgKyAoYyAtICcwJyk7CisJCQkJaWYgKHZhbHVlMSA8IHZhbHVlKQorCQkJCQlyZXR1cm4gJz8nOworCQkJCXZhbHVlID0gdmFsdWUxOworCQkJCWMgPSAqKytwOworCQkJCWlmICghIGNfaXNkaWdpdCAoYykpCisJCQkJCWJyZWFrOworCQkJCWlmIChVSU5UTUFYX01BWCAvIDEwIDwgdmFsdWUpCisJCQkJCXJldHVybiAnPyc7CisJCQl9CisJCQlpZiAoKGMgPT0gJy4nIHx8IGMgPT0gJywnKSAmJiBjX2lzZGlnaXQgKHBbMV0pKSB7CisJCQkJdGltZV90IHM7CisJCQkJaW50IG5zOworCQkJCWludCBkaWdpdHM7CisJCQkJdWludG1heF90IHZhbHVlMTsKKworCQkJCS8qIENoZWNrIGZvciBvdmVyZmxvdyB3aGVuIGNvbnZlcnRpbmcgdmFsdWUgdG8KKwkJCQkgKiB0aW1lX3QuCisJCQkJICovCisJCQkJaWYgKHNpZ24gPCAwKSB7CisJCQkJCXMgPSAtIHZhbHVlOworCQkJCQlpZiAoMCA8IHMpCisJCQkJCQlyZXR1cm4gJz8nOworCQkJCQl2YWx1ZTEgPSAtczsKKwkJCQl9IGVsc2UgeworCQkJCQlzID0gdmFsdWU7CisJCQkJCWlmIChzIDwgMCkKKwkJCQkJCXJldHVybiAnPyc7CisJCQkJCXZhbHVlMSA9IHM7CisJCQkJfQorCQkJCWlmICh2YWx1ZSAhPSB2YWx1ZTEpCisJCQkJCXJldHVybiAnPyc7CisKKwkJCQkvKiBBY2N1bXVsYXRlIGZyYWN0aW9uLCB0byBucyBwcmVjaXNpb24uICovCisJCQkJcCsrOworCQkJCW5zID0gKnArKyAtICcwJzsKKwkJCQlmb3IgKGRpZ2l0cyA9IDI7CisJCQkJICAgICBkaWdpdHMgPD0gTE9HMTBfQklMTElPTjsgZGlnaXRzKyspIHsKKwkJCQkJbnMgKj0gMTA7CisJCQkJCWlmIChjX2lzZGlnaXQgKCpwKSkKKwkJCQkJCW5zICs9ICpwKysgLSAnMCc7CisJCQkJfQorCisJCQkJLyogU2tpcCBleGNlc3MgZGlnaXRzLCB0cnVuY2F0aW5nIHRvd2FyZAorCQkJCSAqIC1JbmZpbml0eS4KKwkJCQkgKi8KKwkJCQlpZiAoc2lnbiA8IDApCisJCQkJCWZvciAoOyBjX2lzZGlnaXQgKCpwKTsgcCsrKQorCQkJCQkJaWYgKCpwICE9ICcwJykgeworCQkJCQkJCW5zKys7CisJCQkJCQkJYnJlYWs7CisJCQkJCQl9CisJCQkJd2hpbGUgKGNfaXNkaWdpdCAoKnApKQorCQkJCQlwKys7CisKKwkJCQkvKiBBZGp1c3QgdG8gdGhlIHRpbWVzcGVjIGNvbnZlbnRpb24sIHdoaWNoIGlzCisJCQkJICogdGhhdCB0dl9uc2VjIGlzIGFsd2F5cyBhIHBvc2l0aXZlIG9mZnNldCBldmVuCisJCQkJICogaWYgdHZfc2VjIGlzIG5lZ2F0aXZlLgorCQkJCSAqLworCQkJCWlmIChzaWduIDwgMCAmJiBucykgeworCQkJCQlzLS07CisJCQkJCWlmICghIChzIDwgMCkpCisJCQkJCQlyZXR1cm4gJz8nOworCQkJCQlucyA9IEJJTExJT04gLSBuczsKKwkJCQl9CisKKwkJCQlsdmFscC0+dGltZXNwZWMudHZfc2VjID0gczsKKwkJCQlsdmFscC0+dGltZXNwZWMudHZfbnNlYyA9IG5zOworCQkJCXBjLT5pbnB1dCA9IHA7CisJCQkJcmV0dXJuCisJCQkJICBzaWduID8gdFNERUNJTUFMX05VTUJFUiA6IHRVREVDSU1BTF9OVU1CRVI7CisJCQl9IGVsc2UgeworCQkJCWx2YWxwLT50ZXh0aW50dmFsLm5lZ2F0aXZlID0gc2lnbiA8IDA7CisJCQkJaWYgKHNpZ24gPCAwKSB7CisJCQkJCWx2YWxwLT50ZXh0aW50dmFsLnZhbHVlID0gLSB2YWx1ZTsKKwkJCQkJaWYgKDAgPCBsdmFscC0+dGV4dGludHZhbC52YWx1ZSkKKwkJCQkJCXJldHVybiAnPyc7CisJCQkJfSBlbHNlIHsKKwkJCQkJbHZhbHAtPnRleHRpbnR2YWwudmFsdWUgPSB2YWx1ZTsKKwkJCQkJaWYgKGx2YWxwLT50ZXh0aW50dmFsLnZhbHVlIDwgMCkKKwkJCQkJCXJldHVybiAnPyc7CisJCQkJfQorCQkJCWx2YWxwLT50ZXh0aW50dmFsLmRpZ2l0cyA9IHAgLSBwYy0+aW5wdXQ7CisJCQkJcGMtPmlucHV0ID0gcDsKKwkJCQlyZXR1cm4gc2lnbiA/IHRTTlVNQkVSIDogdFVOVU1CRVI7CisJCQl9CisJCX0KKworCQlpZiAoY19pc2FscGhhIChjKSkgeworCQkJY2hhciBidWZmWzIwXTsKKwkJCWNoYXIgKnAgPSBidWZmOworCQkJdGFibGUgY29uc3QgKnRwOworCisJCQlkbyB7CisJCQkJaWYgKHAgPCBidWZmICsgc2l6ZW9mIGJ1ZmYgLSAxKQorCQkJCSpwKysgPSBjOworCQkJCWMgPSAqKytwYy0+aW5wdXQ7CisJCQl9CisJCQl3aGlsZSAoY19pc2FscGhhIChjKSB8fCBjID09ICcuJyk7CisKKwkJCSpwID0gJ1wwJzsKKwkJCXRwID0gbG9va3VwX3dvcmQgKHBjLCBidWZmKTsKKwkJCWlmICghIHRwKSB7CisJCQkJcmV0dXJuICc/JzsKKwkJCX0KKwkJCWx2YWxwLT5pbnR2YWwgPSB0cC0+dmFsdWU7CisJCQlyZXR1cm4gdHAtPnR5cGU7CisJCX0KKworCQlpZiAoYyAhPSAnKCcpCisJCQlyZXR1cm4gdG9fdWNoYXIgKCpwYy0+aW5wdXQrKyk7CisKKwkJY291bnQgPSAwOworCQlkbyB7CisJCQljID0gKnBjLT5pbnB1dCsrOworCQkJaWYgKGMgPT0gJ1wwJykKKwkJCQlyZXR1cm4gYzsKKwkJCWlmIChjID09ICcoJykKKwkJCQljb3VudCsrOworCQkJZWxzZSBpZiAoYyA9PSAnKScpCisJCQkJY291bnQtLTsKKwkJfQorCQl3aGlsZSAoY291bnQgIT0gMCk7CisJfQorfQorCisvKiBEbyBub3RoaW5nIGlmIHRoZSBwYXJzZXIgcmVwb3J0cyBhbiBlcnJvci4gKi8KK3N0YXRpYyBpbnQgeXllcnJvcihwYXJzZXJfY29udHJvbCBjb25zdCAqcGMgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkgICBjaGFyIGNvbnN0ICpzIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBJZiAqVE0wIGlzIHRoZSBvbGQgYW5kICpUTTEgaXMgdGhlIG5ldyB2YWx1ZSBvZiBhIHN0cnVjdCB0bSBhZnRlcgorICogcGFzc2luZyBpdCB0byBta3RpbWUsIHJldHVybiAxIGlmIGl0J3MgT0sgdGhhdCBta3RpbWUgcmV0dXJuZWQgVC4KKyAqIEl0J3Mgbm90IE9LIGlmICpUTTAgaGFzIG91dC1vZi1yYW5nZSBtZW1iZXJzLgorICovCisKK3N0YXRpYyBpbnQgbWt0aW1lX29rKHN0cnVjdCB0bSBjb25zdCAqdG0wLCBzdHJ1Y3QgdG0gY29uc3QgKnRtMSwgdGltZV90IHQpCit7CisJaWYgKHQgPT0gKHRpbWVfdCkgLTEpIHsKKwkJLyoqCisJCSAqIEd1YXJkIGFnYWluc3QgZmFsc2VseSByZXBvcnRpbmcgYW4gZXJyb3Igd2hlbiBwYXJzaW5nIGEKKwkJICogdGltZXN0YW1wIHRoYXQgaGFwcGVucyB0byBlcXVhbCAodGltZV90KSAtMSwgb24gYSBob3N0IHRoYXQKKwkJICogc3VwcG9ydHMgc3VjaCBhIHRpbWVzdGFtcC4KKwkJICovCisJCXRtMSA9IGxvY2FsdGltZSAoJnQpOworCQlpZiAoIXRtMSkKKwkJCXJldHVybiAwOworCX0KKworCXJldHVybiAhICgodG0wLT50bV9zZWMgXiB0bTEtPnRtX3NlYykKKwkJICB8ICh0bTAtPnRtX21pbiBeIHRtMS0+dG1fbWluKQorCQkgIHwgKHRtMC0+dG1faG91ciBeIHRtMS0+dG1faG91cikKKwkJICB8ICh0bTAtPnRtX21kYXkgXiB0bTEtPnRtX21kYXkpCisJCSAgfCAodG0wLT50bV9tb24gXiB0bTEtPnRtX21vbikKKwkJICB8ICh0bTAtPnRtX3llYXIgXiB0bTEtPnRtX3llYXIpKTsKK30KKworLyoqCisgKiBBIHJlYXNvbmFibGUgdXBwZXIgYm91bmQgZm9yIHRoZSBzaXplIG9mIG9yZGluYXJ5IFRaIHN0cmluZ3MuCisgKiBVc2UgaGVhcCBhbGxvY2F0aW9uIGlmIFRaJ3MgbGVuZ3RoIGV4Y2VlZHMgdGhpcy4KKyAqLworZW51bSB7IFRaQlVGU0laRSA9IDEwMCB9OworCisvKioKKyAqIFJldHVybiBhIGNvcHkgb2YgVFosIHN0b3JlZCBpbiBUWkJVRiBpZiBpdCBmaXRzLCBhbmQgaGVhcC1hbGxvY2F0ZWQKKyAqIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGNoYXIgKiBnZXRfdHooY2hhciB0emJ1ZltUWkJVRlNJWkVdKQoreworCWNoYXIgKnR6ID0gZ2V0ZW52ICgiVFoiKTsKKwlpZiAodHopIHsKKwkJc2l6ZV90IHR6c2l6ZSA9IHN0cmxlbiAodHopICsgMTsKKwkJdHogPSAodHpzaXplIDw9IFRaQlVGU0laRQorCQkgICAgICA/IG1lbWNweSAodHpidWYsIHR6LCB0enNpemUpCisJCSAgICAgIDogc3RyZHVwICh0eikpOworCX0KKwlyZXR1cm4gdHo7Cit9CisKKy8qKgorICogUGFyc2UgYSBkYXRlL3RpbWUgc3RyaW5nLCBzdG9yaW5nIHRoZSByZXN1bHRpbmcgdGltZSB2YWx1ZSBpbnRvICpyZXN1bHQuCisgKiBUaGUgc3RyaW5nIGl0c2VsZiBpcyBwb2ludGVkIHRvIGJ5ICpwLiAgUmV0dXJuIDEgaWYgc3VjY2Vzc2Z1bC4KKyAqICpwIGNhbiBiZSBhbiBpbmNvbXBsZXRlIG9yIHJlbGF0aXZlIHRpbWUgc3BlY2lmaWNhdGlvbjsgaWYgc28sIHVzZQorICogKm5vdyBhcyB0aGUgYmFzaXMgZm9yIHRoZSByZXR1cm5lZCB0aW1lLgorICovCitpbnQgcGFyc2VfZGF0ZShzdHJ1Y3QgdGltZXNwZWMgKnJlc3VsdCwgY2hhciBjb25zdCAqcCwKKwkJICAgc3RydWN0IHRpbWVzcGVjIGNvbnN0ICpub3cpCit7CisJdGltZV90IFN0YXJ0OworCWludG1heF90IFN0YXJ0X25zOworCXN0cnVjdCB0bSBjb25zdCAqdG1wOworCXN0cnVjdCB0bSB0bTsKKwlzdHJ1Y3QgdG0gdG0wOworCXBhcnNlcl9jb250cm9sIHBjOworCXN0cnVjdCB0aW1lc3BlYyBnZXR0aW1lX2J1ZmZlcjsKKwl1bnNpZ25lZCBjaGFyIGM7CisJaW50IHR6X3dhc19hbHRlcmVkID0gMDsKKwljaGFyICp0ejAgPSBOVUxMOworCWNoYXIgdHowYnVmW1RaQlVGU0laRV07CisJaW50IG9rID0gMTsKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKworCWlmICghIG5vdykgeworCQlnZXR0aW1lb2ZkYXkgKCZ0diwgTlVMTCk7CisJCWdldHRpbWVfYnVmZmVyLnR2X3NlYyA9IHR2LnR2X3NlYzsKKwkJZ2V0dGltZV9idWZmZXIudHZfbnNlYyA9IHR2LnR2X3VzZWMgKiAxMDAwOworCQlub3cgPSAmZ2V0dGltZV9idWZmZXI7CisJfQorCisJU3RhcnQgPSBub3ctPnR2X3NlYzsKKwlTdGFydF9ucyA9IG5vdy0+dHZfbnNlYzsKKworCXRtcCA9IGxvY2FsdGltZSAoJm5vdy0+dHZfc2VjKTsKKwlpZiAoISB0bXApCisJCXJldHVybiAwOworCisJd2hpbGUgKGMgPSAqcCwgY19pc3NwYWNlIChjKSkKKwkJcCsrOworCisJaWYgKHN0cm5jbXAgKHAsICJUWj1cIiIsIDQpID09IDApIHsKKwkJY2hhciBjb25zdCAqdHpiYXNlID0gcCArIDQ7CisJCXNpemVfdCB0enNpemUgPSAxOworCQljaGFyIGNvbnN0ICpzOworCisJCWZvciAocyA9IHR6YmFzZTsgKnM7IHMrKywgdHpzaXplKyspCisJCQlpZiAoKnMgPT0gJ1xcJykgeworCQkJCXMrKzsKKwkJCQlpZiAoISAoKnMgPT0gJ1xcJyB8fCAqcyA9PSAnIicpKQorCQkJCQlicmVhazsKKwkJCX0gZWxzZSBpZiAoKnMgPT0gJyInKSB7CisJCQkJY2hhciAqejsKKwkJCQljaGFyICp0ejE7CisJCQkJY2hhciB0ejFidWZbVFpCVUZTSVpFXTsKKwkJCQlpbnQgbGFyZ2VfdHogPSBUWkJVRlNJWkUgPCB0enNpemU7CisJCQkJaW50IHNldGVudl9vazsKKworCQkJCXR6MCA9IGdldF90eiAodHowYnVmKTsKKwkJCQlpZiAoIXR6MCkKKwkJCQkJZ290byBmYWlsOworCisJCQkJaWYgKGxhcmdlX3R6KSB7CisJCQkJCXogPSB0ejEgPSBtYWxsb2MgKHR6c2l6ZSk7CisJCQkJCWlmICghdHoxKQorCQkJCQkJZ290byBmYWlsOworCQkJCX0gZWxzZQorCQkJCQl6ID0gdHoxID0gdHoxYnVmOworCisJCQkJZm9yIChzID0gdHpiYXNlOyAqcyAhPSAnIic7IHMrKykKKwkJCQkJKnorKyA9ICoocyArPSAqcyA9PSAnXFwnKTsKKwkJCQkqeiA9ICdcMCc7CisJCQkJc2V0ZW52X29rID0gc2V0ZW52ICgiVFoiLCB0ejEsIDEpID09IDA7CisJCQkJaWYgKGxhcmdlX3R6KQorCQkJCQlmcmVlICh0ejEpOworCQkJCWlmICghc2V0ZW52X29rKQorCQkJCQlnb3RvIGZhaWw7CisJCQkJdHpfd2FzX2FsdGVyZWQgPSAxOworCisJCQkJcCA9IHMgKyAxOworCQkJCXdoaWxlIChjID0gKnAsIGNfaXNzcGFjZSAoYykpCisJCQkJCXArKzsKKworCQkJCWJyZWFrOworCQkJfQorCX0KKworCS8qKgorCSAqIEFzIGRvY3VtZW50ZWQsIGJlIGNhcmVmdWwgdG8gdHJlYXQgdGhlIGVtcHR5IHN0cmluZyBqdXN0IGxpa2UKKwkgKiBhIGRhdGUgc3RyaW5nIG9mICIwIi4gIFdpdGhvdXQgdGhpcywgYW4gZW1wdHkgc3RyaW5nIHdvdWxkIGJlCisJICogZGVjbGFyZWQgaW52YWxpZCB3aGVuIHBhcnNlZCBkdXJpbmcgYSBEU1QgdHJhbnNpdGlvbi4KKwkgKi8KKwlpZiAoKnAgPT0gJ1wwJykKKwkJcCA9ICIwIjsKKworCXBjLmlucHV0ID0gcDsKKwlwYy55ZWFyLnZhbHVlID0gdG1wLT50bV95ZWFyOworCXBjLnllYXIudmFsdWUgKz0gVE1fWUVBUl9CQVNFOworCXBjLnllYXIuZGlnaXRzID0gMDsKKwlwYy5tb250aCA9IHRtcC0+dG1fbW9uICsgMTsKKwlwYy5kYXkgPSB0bXAtPnRtX21kYXk7CisJcGMuaG91ciA9IHRtcC0+dG1faG91cjsKKwlwYy5taW51dGVzID0gdG1wLT50bV9taW47CisJcGMuc2Vjb25kcy50dl9zZWMgPSB0bXAtPnRtX3NlYzsKKwlwYy5zZWNvbmRzLnR2X25zZWMgPSBTdGFydF9uczsKKwl0bS50bV9pc2RzdCA9IHRtcC0+dG1faXNkc3Q7CisKKwlwYy5tZXJpZGlhbiA9IE1FUjI0OworCXBjLnJlbCA9IFJFTEFUSVZFX1RJTUVfMDsKKwlwYy50aW1lc3BlY19zZWVuID0gMDsKKwlwYy5yZWxzX3NlZW4gPSAwOworCXBjLmRhdGVzX3NlZW4gPSAwOworCXBjLmRheXNfc2VlbiA9IDA7CisJcGMudGltZXNfc2VlbiA9IDA7CisJcGMubG9jYWxfem9uZXNfc2VlbiA9IDA7CisJcGMuZHN0c19zZWVuID0gMDsKKwlwYy56b25lc19zZWVuID0gMDsKKworI2lmIEhBVkVfU1RSVUNUX1RNX1RNX1pPTkUKKwlwYy5sb2NhbF90aW1lX3pvbmVfdGFibGVbMF0ubmFtZSA9IHRtcC0+dG1fem9uZTsKKwlwYy5sb2NhbF90aW1lX3pvbmVfdGFibGVbMF0udHlwZSA9IHRMT0NBTF9aT05FOworCXBjLmxvY2FsX3RpbWVfem9uZV90YWJsZVswXS52YWx1ZSA9IHRtcC0+dG1faXNkc3Q7CisJcGMubG9jYWxfdGltZV96b25lX3RhYmxlWzFdLm5hbWUgPSBOVUxMOworCisJLyoqCisJICogUHJvYmUgdGhlIG5hbWVzIHVzZWQgaW4gdGhlIG5leHQgdGhyZWUgY2FsZW5kYXIgcXVhcnRlcnMsIGxvb2tpbmcKKwkgKiBmb3IgYSB0bV9pc2RzdCBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIHdlIGFscmVhZHkgaGF2ZS4KKwkgKi8KKwl7CisJCWludCBxdWFydGVyOworCQlmb3IgKHF1YXJ0ZXIgPSAxOyBxdWFydGVyIDw9IDM7IHF1YXJ0ZXIrKykgeworCQkJdGltZV90IHByb2JlID0gU3RhcnQgKyBxdWFydGVyICogKDkwICogMjQgKiA2MCAqIDYwKTsKKwkJCXN0cnVjdCB0bSBjb25zdCAqcHJvYmVfdG0gPSBsb2NhbHRpbWUgKCZwcm9iZSk7CisJCQlpZiAocHJvYmVfdG0gJiYgcHJvYmVfdG0tPnRtX3pvbmUKKwkJCQkmJiBwcm9iZV90bS0+dG1faXNkc3QKKwkJCQkhPSBwYy5sb2NhbF90aW1lX3pvbmVfdGFibGVbMF0udmFsdWUpIHsKKwkJCQkJeworCQkJCQkgIHBjLmxvY2FsX3RpbWVfem9uZV90YWJsZVsxXS5uYW1lCisJCQkJCSAgPSBwcm9iZV90bS0+dG1fem9uZTsKKwkJCQkJICBwYy5sb2NhbF90aW1lX3pvbmVfdGFibGVbMV0udHlwZQorCQkJCQkgID0gdExPQ0FMX1pPTkU7CisJCQkJCSAgcGMubG9jYWxfdGltZV96b25lX3RhYmxlWzFdLnZhbHVlCisJCQkJCSAgPSBwcm9iZV90bS0+dG1faXNkc3Q7CisJCQkJCSAgcGMubG9jYWxfdGltZV96b25lX3RhYmxlWzJdLm5hbWUKKwkJCQkJICA9IE5VTEw7CisJCQkJCX0KKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKyNlbHNlCisjaWYgSEFWRV9UWk5BTUUKKwl7CisjIGlmICFIQVZFX0RFQ0xfVFpOQU1FCisJCWV4dGVybiBjaGFyICp0em5hbWVbXTsKKyMgZW5kaWYKKwkJaW50IGk7CisJCWZvciAoaSA9IDA7IGkgPCAyOyBpKyspIHsKKwkJCXBjLmxvY2FsX3RpbWVfem9uZV90YWJsZVtpXS5uYW1lID0gdHpuYW1lW2ldOworCQkJcGMubG9jYWxfdGltZV96b25lX3RhYmxlW2ldLnR5cGUgPSB0TE9DQUxfWk9ORTsKKwkJCXBjLmxvY2FsX3RpbWVfem9uZV90YWJsZVtpXS52YWx1ZSA9IGk7CisJCX0KKwkJcGMubG9jYWxfdGltZV96b25lX3RhYmxlW2ldLm5hbWUgPSBOVUxMOworCX0KKyNlbHNlCisJcGMubG9jYWxfdGltZV96b25lX3RhYmxlWzBdLm5hbWUgPSBOVUxMOworI2VuZGlmCisjZW5kaWYKKworCWlmIChwYy5sb2NhbF90aW1lX3pvbmVfdGFibGVbMF0ubmFtZSAmJiBwYy5sb2NhbF90aW1lX3pvbmVfdGFibGVbMV0ubmFtZQorCSAgICAmJiAhIHN0cmNtcCAocGMubG9jYWxfdGltZV96b25lX3RhYmxlWzBdLm5hbWUsCisJCQkgcGMubG9jYWxfdGltZV96b25lX3RhYmxlWzFdLm5hbWUpKSB7CisJCS8qKgorCQkgKiBUaGlzIGxvY2FsZSB1c2VzIHRoZSBzYW1lIGFiYnJldmlhdGlvbiBmb3Igc3RhbmRhcmQgYW5kCisJCSAqIGRheWxpZ2h0IHRpbWVzLiAgU28gaWYgd2Ugc2VlIHRoYXQgYWJicmV2aWF0aW9uLCB3ZSBkb24ndAorCQkgKiBrbm93IHdoZXRoZXIgaXQncyBkYXlsaWdodCB0aW1lLgorCQkgKi8KKwkJcGMubG9jYWxfdGltZV96b25lX3RhYmxlWzBdLnZhbHVlID0gLTE7CisJCXBjLmxvY2FsX3RpbWVfem9uZV90YWJsZVsxXS5uYW1lID0gTlVMTDsKKwl9CisKKwlpZiAoeXlwYXJzZSAoJnBjKSAhPSAwKSB7CisJCWdvdG8gZmFpbDsKKwl9CisKKwlpZiAocGMudGltZXNwZWNfc2VlbikKKwkJKnJlc3VsdCA9IHBjLnNlY29uZHM7CisJZWxzZSB7CisJCWlmICgxIDwgKHBjLnRpbWVzX3NlZW4gfCBwYy5kYXRlc19zZWVuIHwgcGMuZGF5c19zZWVuCisJCQkgfCBwYy5kc3RzX3NlZW4KKwkJCSB8IChwYy5sb2NhbF96b25lc19zZWVuICsgcGMuem9uZXNfc2VlbikpKSB7CisJCQlnb3RvIGZhaWw7CisJCX0KKworCQl0bS50bV95ZWFyID0gdG9feWVhciAocGMueWVhcikgLSBUTV9ZRUFSX0JBU0U7CisJCXRtLnRtX21vbiA9IHBjLm1vbnRoIC0gMTsKKwkJdG0udG1fbWRheSA9IHBjLmRheTsKKwkJaWYgKHBjLnRpbWVzX3NlZW4gfHwgKHBjLnJlbHNfc2VlbiAmJgorCQkJCSAgICAgICEgcGMuZGF0ZXNfc2VlbiAmJiAhIHBjLmRheXNfc2VlbikpIHsKKwkJCXRtLnRtX2hvdXIgPSB0b19ob3VyIChwYy5ob3VyLCBwYy5tZXJpZGlhbik7CisJCQlpZiAodG0udG1faG91ciA8IDApIHsKKwkJCQlnb3RvIGZhaWw7CisJCQl9CisJCQl0bS50bV9taW4gPSBwYy5taW51dGVzOworCQkJdG0udG1fc2VjID0gcGMuc2Vjb25kcy50dl9zZWM7CisJCX0gZWxzZSB7CisJCQl0bS50bV9ob3VyID0gdG0udG1fbWluID0gdG0udG1fc2VjID0gMDsKKwkJCXBjLnNlY29uZHMudHZfbnNlYyA9IDA7CisJCX0KKworCQkvKioKKwkJICogTGV0IG1rdGltZSBkZWR1Y2UgdG1faXNkc3QgaWYgd2UgaGF2ZSBhbiBhYnNvbHV0ZSB0aW1lc3RhbXAuCisJCSAqLworCQlpZiAocGMuZGF0ZXNfc2VlbiB8IHBjLmRheXNfc2VlbiB8IHBjLnRpbWVzX3NlZW4pCisJCQl0bS50bV9pc2RzdCA9IC0xOworCisJCS8qKgorCQkgKiBCdXQgaWYgdGhlIGlucHV0IGV4cGxpY2l0bHkgc3BlY2lmaWVzIGxvY2FsIHRpbWUgd2l0aCBvcgorCQkgKiB3aXRob3V0IERTVCwgZ2l2ZSBta3RpbWUgdGhhdCBpbmZvcm1hdGlvbi4KKwkJICovCisJCWlmIChwYy5sb2NhbF96b25lc19zZWVuKQorCQkJdG0udG1faXNkc3QgPSBwYy5sb2NhbF9pc2RzdDsKKworCQl0bTAgPSB0bTsKKworCQlTdGFydCA9IG1rdGltZSAoJnRtKTsKKworCQlpZiAoISBta3RpbWVfb2sgKCZ0bTAsICZ0bSwgU3RhcnQpKSB7CisJCQlpZiAoISBwYy56b25lc19zZWVuKSB7CisJCQkJZ290byBmYWlsOworCQkJfSBlbHNlIHsKKwkJCQkvKiogR3VhcmQgYWdhaW5zdCBmYWxzZWx5IHJlcG9ydGluZyBlcnJvcnMgbmVhcgorCQkJCSAqIHRoZSB0aW1lX3QgYm91bmRhcmllcyB3aGVuIHBhcnNpbmcgdGltZXMgaW4KKwkJCQkgKiBvdGhlciB0aW1lIHpvbmVzLiAgRm9yIGV4YW1wbGUsIHN1cHBvc2UgdGhlCisJCQkJICogaW5wdXQgc3RyaW5nICIxOTY5LTEyLTMxIDIzOjAwOjAwIC0wMTAwIiwgdGhlCisJCQkJICogY3VycmVudCB0aW1lIHpvbmUgaXMgOCBob3VycyBhaGVhZCBvZiBVVEMsCisJCQkJICogYW5kIHRoZSBtaW4gdGltZV90IHZhbHVlIGlzIDE5NzAtMDEtMDEKKwkJCQkgKiAwMDowMDowMCBVVEMuICBUaGVuIHRoZSBtaW4gbG9jYWx0aW1lIHZhbHVlCisJCQkJICogaXMgMTk3MC0wMS0wMSAwODowMDowMCwgYW5kIG1rdGltZSB3aWxsCisJCQkJICogdGhlcmVmb3JlIGZhaWwgb24gMTk2OS0xMi0zMSAyMzowMDowMC4gIFRvCisJCQkJICogd29yayBhcm91bmQgdGhlIHByb2JsZW0sIHNldCB0aGUgdGltZSB6b25lIHRvCisJCQkJICogMSBob3VyIGJlaGluZCBVVEMgdGVtcG9yYXJpbHkgYnkgc2V0dGluZworCQkJCSAqIFRaPSJYWFgxOjAwIiBhbmQgdHJ5IG1rdGltZSBhZ2Fpbi4KKwkJCQkgKi8KKworCQkJCWludG1heF90IHRpbWVfem9uZSA9IHBjLnRpbWVfem9uZTsKKworCQkJCWludG1heF90IGFic190aW1lX3pvbmUgPSB0aW1lX3pvbmUgPCAwCisJCQkJCSA/IC0gdGltZV96b25lIDogdGltZV96b25lOworCisJCQkJaW50bWF4X3QgYWJzX3RpbWVfem9uZV9ob3VyCisJCQkJCSA9IGFic190aW1lX3pvbmUgLyA2MDsKKworCQkJCWludCBhYnNfdGltZV96b25lX21pbiA9IGFic190aW1lX3pvbmUgJSA2MDsKKworCQkJCWNoYXIgdHoxYnVmW3NpemVvZiAiWFhYKzA6MDAiCisJCQkJCSAgICArIHNpemVvZiBwYy50aW1lX3pvbmUKKwkJCQkJICAgICogQ0hBUl9CSVQgLyAzXTsKKworCQkJCWlmICghdHpfd2FzX2FsdGVyZWQpCisJCQkJCXR6MCA9IGdldF90eiAodHowYnVmKTsKKwkJCQlzcHJpbnRmICh0ejFidWYsICJYWFglcyVqZDolMDJkIiwKKwkJCQkJICYiLSJbdGltZV96b25lIDwgMF0sCisJCQkJCSBhYnNfdGltZV96b25lX2hvdXIsCisJCQkJCSBhYnNfdGltZV96b25lX21pbik7CisJCQkJaWYgKHNldGVudiAoIlRaIiwgdHoxYnVmLCAxKSAhPSAwKSB7CisJCQkJCWdvdG8gZmFpbDsKKwkJCQl9CisJCQkJdHpfd2FzX2FsdGVyZWQgPSAxOworCQkJCXRtID0gdG0wOworCQkJCVN0YXJ0ID0gbWt0aW1lICgmdG0pOworCQkJCWlmICghIG1rdGltZV9vayAoJnRtMCwgJnRtLCBTdGFydCkpIHsKKwkJCQkJZ290byBmYWlsOworCQkJCX0KKwkJCX0KKwkJfQorCisJCWlmIChwYy5kYXlzX3NlZW4gJiYgISBwYy5kYXRlc19zZWVuKSB7CisJCQl0bS50bV9tZGF5ICs9ICgocGMuZGF5X251bWJlciAtIHRtLnRtX3dkYXkgKyA3KSAlIDcgKyA3CisJCQkJICAgICAgICogKHBjLmRheV9vcmRpbmFsCisJCQkJCSAgLSAoMCA8IHBjLmRheV9vcmRpbmFsCisJCQkJCSAgICAgJiYgdG0udG1fd2RheSAhPSBwYy5kYXlfbnVtYmVyKSkpOworCQkJdG0udG1faXNkc3QgPSAtMTsKKwkJCVN0YXJ0ID0gbWt0aW1lICgmdG0pOworCQkJaWYgKFN0YXJ0ID09ICh0aW1lX3QpIC0xKSB7CisJCQkJZ290byBmYWlsOworCQkJfQorCQl9CisJCS8qIEFkZCByZWxhdGl2ZSBkYXRlLiAqLworCQlpZiAocGMucmVsLnllYXIgfCBwYy5yZWwubW9udGggfCBwYy5yZWwuZGF5KSB7CisJCQlpbnQgeWVhciA9IHRtLnRtX3llYXIgKyBwYy5yZWwueWVhcjsKKwkJCWludCBtb250aCA9IHRtLnRtX21vbiArIHBjLnJlbC5tb250aDsKKwkJCWludCBkYXkgPSB0bS50bV9tZGF5ICsgcGMucmVsLmRheTsKKwkJCWlmICgoKHllYXIgPCB0bS50bV95ZWFyKSBeIChwYy5yZWwueWVhciA8IDApKQorCQkJCXwgKChtb250aCA8IHRtLnRtX21vbikgXiAocGMucmVsLm1vbnRoIDwgMCkpCisJCQkJfCAoKGRheSA8IHRtLnRtX21kYXkpIF4gKHBjLnJlbC5kYXkgPCAwKSkpIHsKKwkJCQlnb3RvIGZhaWw7CisJCQl9CisJCQl0bS50bV95ZWFyID0geWVhcjsKKwkJCXRtLnRtX21vbiA9IG1vbnRoOworCQkJdG0udG1fbWRheSA9IGRheTsKKwkJCXRtLnRtX2hvdXIgPSB0bTAudG1faG91cjsKKwkJCXRtLnRtX21pbiA9IHRtMC50bV9taW47CisJCQl0bS50bV9zZWMgPSB0bTAudG1fc2VjOworCQkJdG0udG1faXNkc3QgPSB0bTAudG1faXNkc3Q7CisJCQlTdGFydCA9IG1rdGltZSAoJnRtKTsKKwkJCWlmIChTdGFydCA9PSAodGltZV90KSAtMSkgeworCQkJCWdvdG8gZmFpbDsKKwkJCX0KKwkJfQorCisJCS8qKgorCQkgKiBUaGUgb25seSAib3V0cHV0IiBvZiB0aGlzIGlmLWJsb2NrIGlzIGFuIHVwZGF0ZWQgU3RhcnQgdmFsdWUsCisJCSAqIHNvIHRoaXMgYmxvY2sgbXVzdCBmb2xsb3cgb3RoZXJzIHRoYXQgY2xvYmJlciBTdGFydC4KKwkJICovCisJCWlmIChwYy56b25lc19zZWVuKSB7CisJCQlpbnRtYXhfdCBkZWx0YSA9IHBjLnRpbWVfem9uZSAqIDYwOworCQkJdGltZV90IHQxOworI2lmZGVmIEhBVkVfVE1fR01UT0ZGCisJCQlkZWx0YSAtPSB0bS50bV9nbXRvZmY7CisjZWxzZQorCQkJdGltZV90IHQgPSBTdGFydDsKKwkJCXN0cnVjdCB0bSBjb25zdCAqZ210ID0gZ210aW1lICgmdCk7CisJCQlpZiAoISBnbXQpIHsKKwkJCQlnb3RvIGZhaWw7CisJCQl9CisJCQlkZWx0YSAtPSB0bV9kaWZmICgmdG0sIGdtdCk7CisjZW5kaWYKKwkJCXQxID0gU3RhcnQgLSBkZWx0YTsKKwkJCWlmICgoU3RhcnQgPCB0MSkgIT0gKGRlbHRhIDwgMCkpIHsKKwkJCQlnb3RvIGZhaWw7ICAvKiB0aW1lX3Qgb3ZlcmZsb3cgKi8KKwkJCX0KKwkJCVN0YXJ0ID0gdDE7CisJCX0KKworCQkvKioKKwkJICogQWRkIHJlbGF0aXZlIGhvdXJzLCBtaW51dGVzLCBhbmQgc2Vjb25kcy4gIE9uIGhvc3RzIHRoYXQKKwkJICogc3VwcG9ydCBsZWFwIHNlY29uZHMsIGlnbm9yZSB0aGUgcG9zc2liaWxpdHkgb2YgbGVhcCBzZWNvbmRzOworCQkgKiBlLmcuLCAiKyAxMCBtaW51dGVzIiBhZGRzIDYwMCBzZWNvbmRzLCBldmVuIGlmIG9uZSBvZiB0aGVtIGlzCisJCSAqIGEgbGVhcCBzZWNvbmQuICBUeXBpY2FsbHkgdGhpcyBpcyBub3Qgd2hhdCB0aGUgdXNlciB3YW50cywKKwkJICogYnV0IGl0J3MgdG9vIGhhcmQgdG8gZG8gaXQgdGhlIG90aGVyIHdheSwgYmVjYXVzZSB0aGUgdGltZQorCQkgKiB6b25lIGluZGljYXRvciBtdXN0IGJlIGFwcGxpZWQgYmVmb3JlIHJlbGF0aXZlIHRpbWVzLCBhbmQgaWYKKwkJICogbWt0aW1lIGlzIGFwcGxpZWQgYWdhaW4gdGhlIHRpbWUgem9uZSB3aWxsIGJlIGxvc3QuCisJCSAqLworCQlpbnRtYXhfdCBzdW1fbnMgPSBwYy5zZWNvbmRzLnR2X25zZWMgKyBwYy5yZWwubnM7CisJCWludG1heF90IG5vcm1hbGl6ZWRfbnMgPSAoc3VtX25zICUgQklMTElPTiArIEJJTExJT04pICUgQklMTElPTjsKKwkJdGltZV90IHQwID0gU3RhcnQ7CisJCWludG1heF90IGQxID0gNjAgKiA2MCAqIHBjLnJlbC5ob3VyOworCQl0aW1lX3QgdDEgPSB0MCArIGQxOworCQlpbnRtYXhfdCBkMiA9IDYwICogcGMucmVsLm1pbnV0ZXM7CisJCXRpbWVfdCB0MiA9IHQxICsgZDI7CisJCXRpbWVfdCBkMyA9IHBjLnJlbC5zZWNvbmRzOworCQl0aW1lX3QgdDMgPSB0MiArIGQzOworCQlpbnRtYXhfdCBkNCA9IChzdW1fbnMgLSBub3JtYWxpemVkX25zKSAvIEJJTExJT047CisJCXRpbWVfdCB0NCA9IHQzICsgZDQ7CisJCXRpbWVfdCB0NSA9IHQ0OworCisJCWlmICgoZDEgLyAoNjAgKiA2MCkgXiBwYy5yZWwuaG91cikKKwkJICAgIHwgKGQyIC8gNjAgXiBwYy5yZWwubWludXRlcykKKwkJICAgIHwgKCh0MSA8IHQwKSBeIChkMSA8IDApKQorCQkgICAgfCAoKHQyIDwgdDEpIF4gKGQyIDwgMCkpCisJCSAgICB8ICgodDMgPCB0MikgXiAoZDMgPCAwKSkKKwkJICAgIHwgKCh0NCA8IHQzKSBeIChkNCA8IDApKQorCQkgICAgfCAodDUgIT0gdDQpKSB7CisJCQlnb3RvIGZhaWw7CisJCX0KKwkJcmVzdWx0LT50dl9zZWMgPSB0NTsKKwkJcmVzdWx0LT50dl9uc2VjID0gbm9ybWFsaXplZF9uczsKKwl9CisKKwlnb3RvIGRvbmU7CisKKwlmYWlsOgorCQlvayA9IDA7CisJZG9uZToKKwkJaWYgKHR6X3dhc19hbHRlcmVkKQorCQkJb2sgJj0gKHR6MCA/IHNldGVudiAoIlRaIiwgdHowLCAxKQorCQkJCSAgIDogdW5zZXRlbnYgKCJUWiIpKSA9PSAwOworCQlpZiAodHowICE9IHR6MGJ1ZikKKwkJCWZyZWUgKHR6MCk7CisJCXJldHVybiBvazsKK30KZGlmZiAtLWdpdCBhL2xpYi9wYXRoLmMgYi9saWIvcGF0aC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljYzJlM2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvcGF0aC5jCkBAIC0wLDAgKzEsMTIwNCBAQAorLyoKKyAqIFNpbXBsZSBmdW5jdGlvbnMgdG8gYWNjZXNzIGZpbGVzLiBQYXRocyBjYW4gYmUgZ2xvYmFsbHkgcHJlZml4ZWQgdG8gcmVhZAorICogZGF0YSBmcm9tIGFuIGFsdGVybmF0aXZlIHNvdXJjZSAoZS5nLiBhIC9wcm9jIGR1bXAgZm9yIHJlZ3Jlc3Npb24gdGVzdHMpLgorICoKKyAqIFRoZSBwYXRocyBpcyBwb3NzaWJsZSB0byBmb3JtYXQgYnkgcHJpbnRmLWxpa2Ugd2F5IGZvciBmdW5jdGlvbnMgd2l0aCAiZiIKKyAqIHBvc3RmaXggaW4gdGhlIG5hbWUgKGUuZy4gcmVhZGYsIG9wZW5mLCAuLi4gdWxfcGF0aF9yZWFkZl91NjQoKSkuCisgKgorICogVGhlIHVsX3BhdGhfcmVhZF8qIEFQSSBpcyBwb3NzaWJsZSB0byB1c2Ugd2l0aG91dCBwYXRoX2N4dCBoYW5kbGVyLiBJbiB0aGlzCisgKiBjYXNlIGlzIG5vdCBwb3NzaWJsZSB0byB1c2UgZ2xvYmFsIHByZWZpeCBhbmQgcHJpbnRmLWxpa2UgZm9ybWF0dGluZy4KKyAqCisgKiBObyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4gIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aAorICogaXQgd2hhdCB5b3Ugd2lzaC4KKyAqCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiBbRmVicnVhcnkgMjAxOF0KKyAqLworI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImZpbGV1dGlscy5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJkZWJ1Zy5oIgorCisvKgorICogRGVidWcgc3R1ZmYgKGJhc2VkIG9uIGluY2x1ZGUvZGVidWcuaCkKKyAqLworc3RhdGljIFVMX0RFQlVHX0RFRklORV9NQVNLKHVscGF0aCk7CitVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKHVscGF0aCkgPSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVM7CisKKyNkZWZpbmUgVUxQQVRIX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgVUxQQVRIX0RFQlVHX0NYVAkoMSA8PCAyKQorCisjZGVmaW5lIERCRyhtLCB4KSAgICAgICBfX1VMX0RCRyh1bHBhdGgsIFVMUEFUSF9ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKHVscGF0aCwgVUxQQVRIX0RFQlVHXywgbSwgeCkKKworI2RlZmluZSBVTF9ERUJVR19DVVJSRU5UX01BU0sJVUxfREVCVUdfTUFTSyh1bHBhdGgpCisjaW5jbHVkZSAiZGVidWdvYmouaCIKKwordm9pZCB1bF9wYXRoX2luaXRfZGVidWcodm9pZCkKK3sKKwlpZiAodWxwYXRoX2RlYnVnX21hc2spCisJCXJldHVybjsKKwlfX1VMX0lOSVRfREVCVUdfRlJPTV9FTlYodWxwYXRoLCBVTFBBVEhfREVCVUdfLCAwLCBVTFBBVEhfREVCVUcpOworfQorCitzdHJ1Y3QgcGF0aF9jeHQgKnVsX25ld19wYXRoKGNvbnN0IGNoYXIgKmRpciwgLi4uKQoreworCXN0cnVjdCBwYXRoX2N4dCAqcGMgPSBjYWxsb2MoMSwgc2l6ZW9mKCpwYykpOworCisJaWYgKCFwYykKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihwYywgImFsbG9jIikpOworCisJcGMtPnJlZmNvdW50ID0gMTsKKwlwYy0+ZGlyX2ZkID0gLTE7CisKKwlpZiAoZGlyKSB7CisJCWludCByYzsKKwkJdmFfbGlzdCBhcDsKKworCQl2YV9zdGFydChhcCwgZGlyKTsKKwkJcmMgPSB2YXNwcmludGYoJnBjLT5kaXJfcGF0aCwgZGlyLCBhcCk7CisJCXZhX2VuZChhcCk7CisKKwkJaWYgKHJjIDwgMCB8fCAhcGMtPmRpcl9wYXRoKQorCQkJZ290byBmYWlsOworCX0KKwlyZXR1cm4gcGM7CitmYWlsOgorCXVsX3VucmVmX3BhdGgocGMpOworCXJldHVybiBOVUxMOworfQorCit2b2lkIHVsX3JlZl9wYXRoKHN0cnVjdCBwYXRoX2N4dCAqcGMpCit7CisJaWYgKHBjKQorCQlwYy0+cmVmY291bnQrKzsKK30KKwordm9pZCB1bF91bnJlZl9wYXRoKHN0cnVjdCBwYXRoX2N4dCAqcGMpCit7CisJaWYgKCFwYykKKwkJcmV0dXJuOworCisJcGMtPnJlZmNvdW50LS07CisKKwlpZiAocGMtPnJlZmNvdW50IDw9IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoocGMsICJkZWFsbG9jIikpOworCQlpZiAocGMtPmRpYWxlY3QpCisJCQlwYy0+ZnJlZV9kaWFsZWN0KHBjKTsKKwkJaWYgKHBjLT5kaXJfZmQgPj0gMCkKKwkJCWNsb3NlKHBjLT5kaXJfZmQpOworCQlmcmVlKHBjLT5kaXJfcGF0aCk7CisJCWZyZWUocGMtPnByZWZpeCk7CisJCWZyZWUocGMpOworCX0KK30KKworaW50IHVsX3BhdGhfc2V0X3ByZWZpeChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlhc3NlcnQocGMtPmRpcl9mZCA8IDApOworCisJaWYgKHByZWZpeCkgeworCQlwID0gc3RyZHVwKHByZWZpeCk7CisJCWlmICghcCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCWZyZWUocGMtPnByZWZpeCk7CisJcGMtPnByZWZpeCA9IHA7CisJREJHKENYVCwgdWxfZGVidWdvYmoocGMsICJuZXcgcHJlZml4OiAnJXMnIiwgcCkpOworCXJldHVybiAwOworfQorCitjb25zdCBjaGFyICp1bF9wYXRoX2dldF9wcmVmaXgoc3RydWN0IHBhdGhfY3h0ICpwYykKK3sKKwlyZXR1cm4gcGMgPyBwYy0+cHJlZml4IDogTlVMTDsKK30KKworaW50IHVsX3BhdGhfc2V0X2RpcihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpkaXIpCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAoZGlyKSB7CisJCXAgPSBzdHJkdXAoZGlyKTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJaWYgKHBjLT5kaXJfZmQgPj0gMCkgeworCQljbG9zZShwYy0+ZGlyX2ZkKTsKKwkJcGMtPmRpcl9mZCA9IC0xOworCX0KKworCWZyZWUocGMtPmRpcl9wYXRoKTsKKwlwYy0+ZGlyX3BhdGggPSBwOworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBjLCAibmV3IGRpcjogJyVzJyIsIHApKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3QgY2hhciAqdWxfcGF0aF9nZXRfZGlyKHN0cnVjdCBwYXRoX2N4dCAqcGMpCit7CisJcmV0dXJuIHBjID8gcGMtPmRpcl9wYXRoIDogTlVMTDsKK30KKworaW50IHVsX3BhdGhfc2V0X2RpYWxlY3Qoc3RydWN0IHBhdGhfY3h0ICpwYywgdm9pZCAqZGF0YSwgdm9pZCBmcmVlX2RhdGEoc3RydWN0IHBhdGhfY3h0ICopKQoreworCXBjLT5kaWFsZWN0ID0gZGF0YTsKKwlwYy0+ZnJlZV9kaWFsZWN0ID0gZnJlZV9kYXRhOworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBjLCAiKHJlKXNldCBkaWFsZWN0IikpOworCXJldHVybiAwOworfQorCit2b2lkICp1bF9wYXRoX2dldF9kaWFsZWN0KHN0cnVjdCBwYXRoX2N4dCAqcGMpCit7CisJcmV0dXJuIHBjID8gcGMtPmRpYWxlY3QgOiBOVUxMOworfQorCitpbnQgdWxfcGF0aF9zZXRfZW5vZW50X3JlZGlyZWN0KHN0cnVjdCBwYXRoX2N4dCAqcGMsIGludCAoKmZ1bmMpKHN0cnVjdCBwYXRoX2N4dCAqLCBjb25zdCBjaGFyICosIGludCAqKSkKK3sKKwlwYy0+cmVkaXJlY3Rfb25fZW5vZW50ID0gZnVuYzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmdldF9hYnNkaXIoc3RydWN0IHBhdGhfY3h0ICpwYykKK3sKKwlpbnQgcmM7CisJY29uc3QgY2hhciAqZGlycGF0aDsKKworCWlmICghcGMtPnByZWZpeCkKKwkJcmV0dXJuIHBjLT5kaXJfcGF0aDsKKworCWRpcnBhdGggPSBwYy0+ZGlyX3BhdGg7CisJaWYgKCFkaXJwYXRoKQorCQlyZXR1cm4gcGMtPnByZWZpeDsKKwlpZiAoKmRpcnBhdGggPT0gJy8nKQorCQlkaXJwYXRoKys7CisKKwlyYyA9IHNucHJpbnRmKHBjLT5wYXRoX2J1ZmZlciwgc2l6ZW9mKHBjLT5wYXRoX2J1ZmZlciksICIlcy8lcyIsIHBjLT5wcmVmaXgsIGRpcnBhdGgpOworCWlmIChyYyA8IDApCisJCXJldHVybiBOVUxMOworCWlmICgoc2l6ZV90KXJjID49IHNpemVvZihwYy0+cGF0aF9idWZmZXIpKSB7CisJCWVycm5vID0gRU5BTUVUT09MT05HOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gcGMtPnBhdGhfYnVmZmVyOworfQorCitpbnQgdWxfcGF0aF9nZXRfZGlyZmQoc3RydWN0IHBhdGhfY3h0ICpwYykKK3sKKwlhc3NlcnQocGMpOworCWFzc2VydChwYy0+ZGlyX3BhdGgpOworCisJaWYgKHBjLT5kaXJfZmQgPCAwKSB7CisJCWNvbnN0IGNoYXIgKnBhdGggPSBnZXRfYWJzZGlyKHBjKTsKKwkJaWYgKCFwYXRoKQorCQkJcmV0dXJuIC1lcnJubzsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihwYywgIm9wZW5pbmcgZGlyOiAnJXMnIiwgcGF0aCkpOworCQlwYy0+ZGlyX2ZkID0gb3BlbihwYXRoLCBPX1JET05MWXxPX0NMT0VYRUMpOworCX0KKworCXJldHVybiBwYy0+ZGlyX2ZkOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqdWxfcGF0aF9ta3BhdGgoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqcGF0aCwgdmFfbGlzdCBhcCkKK3sKKwlpbnQgcmMgPSB2c25wcmludGYocGMtPnBhdGhfYnVmZmVyLCBzaXplb2YocGMtPnBhdGhfYnVmZmVyKSwgcGF0aCwgYXApOworCisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoKHNpemVfdClyYyA+PSBzaXplb2YocGMtPnBhdGhfYnVmZmVyKSkgeworCQllcnJubyA9IEVOQU1FVE9PTE9ORzsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmV0dXJuIHBjLT5wYXRoX2J1ZmZlcjsKK30KKworY2hhciAqdWxfcGF0aF9nZXRfYWJzcGF0aChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjaGFyICpidWYsIHNpemVfdCBidWZzeiwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQoreworCWlmIChwYXRoKSB7CisJCWludCByYzsKKwkJdmFfbGlzdCBhcDsKKwkJY29uc3QgY2hhciAqdGFpbCA9IE5VTEwsICpkaXJwYXRoID0gcGMtPmRpcl9wYXRoOworCisJCXZhX3N0YXJ0KGFwLCBwYXRoKTsKKwkJdGFpbCA9IHVsX3BhdGhfbWtwYXRoKHBjLCBwYXRoLCBhcCk7CisJCXZhX2VuZChhcCk7CisKKwkJaWYgKGRpcnBhdGggJiYgKmRpcnBhdGggPT0gJy8nKQorCQkJZGlycGF0aCsrOworCQlpZiAodGFpbCAmJiAqdGFpbCA9PSAnLycpCisJCQl0YWlsKys7CisKKwkJcmMgPSBzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXMvJXMvJXMiLAorCQkJCXBjLT5wcmVmaXggPyBwYy0+cHJlZml4IDogIiIsCisJCQkJZGlycGF0aCA/IGRpcnBhdGggOiAiIiwKKwkJCQl0YWlsID8gdGFpbCA6ICIiKTsKKworCQlpZiAoKHNpemVfdClyYyA+PSBidWZzeikgeworCQkJZXJybm8gPSBFTkFNRVRPT0xPTkc7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCX0gZWxzZSB7CisJCWNvbnN0IGNoYXIgKnRtcCA9IGdldF9hYnNkaXIocGMpOworCisJCWlmICghdG1wKQorCQkJcmV0dXJuIE5VTEw7CisJCXN0cm5jcHkoYnVmLCB0bXAsIGJ1ZnN6KTsKKwkJYnVmW2J1ZnN6IC0gMV0gPSAnXDAnOworCX0KKworCXJldHVybiBidWY7Cit9CisKKworaW50IHVsX3BhdGhfYWNjZXNzKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGludCBtb2RlLCBjb25zdCBjaGFyICpwYXRoKQoreworCWludCBkaXIsIHJjOworCisJZGlyID0gdWxfcGF0aF9nZXRfZGlyZmQocGMpOworCWlmIChkaXIgPCAwKQorCQlyZXR1cm4gZGlyOworCisJREJHKENYVCwgdWxfZGVidWdvYmoocGMsICJhY2Nlc3M6ICclcyciLCBwYXRoKSk7CisJcmMgPSBmYWNjZXNzYXQoZGlyLCBwYXRoLCBtb2RlLCAwKTsKKworCWlmIChyYyAmJiBlcnJubyA9PSBFTk9FTlQKKwkgICAgJiYgcGMtPnJlZGlyZWN0X29uX2Vub2VudAorCSAgICAmJiBwYy0+cmVkaXJlY3Rfb25fZW5vZW50KHBjLCBwYXRoLCAmZGlyKSA9PSAwKQorCQlyYyA9IGZhY2Nlc3NhdChkaXIsIHBhdGgsIG1vZGUsIDApOworCXJldHVybiByYzsKK30KKworaW50IHVsX3BhdGhfYWNjZXNzZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQgbW9kZSwgY29uc3QgY2hhciAqcGF0aCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisJY29uc3QgY2hhciAqcDsKKworCXZhX3N0YXJ0KGFwLCBwYXRoKTsKKwlwID0gdWxfcGF0aF9ta3BhdGgocGMsIHBhdGgsIGFwKTsKKwl2YV9lbmQoYXApOworCisJcmV0dXJuIHVsX3BhdGhfYWNjZXNzKHBjLCBtb2RlLCBwKTsKK30KKworaW50IHVsX3BhdGhfb3BlbihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJaW50IGZkOworCisJaWYgKCFwYykgeworCQlmZCA9IG9wZW4ocGF0aCwgZmxhZ3MpOworCQlEQkcoQ1hULCB1bF9kZWJ1Zygib3BlbmluZyAnJXMnIiwgcGF0aCkpOworCX0gZWxzZSB7CisJCWludCBmZHg7CisJCWludCBkaXIgPSB1bF9wYXRoX2dldF9kaXJmZChwYyk7CisJCWlmIChkaXIgPCAwKQorCQkJcmV0dXJuIGRpcjsKKworCQlmZHggPSBmZCA9IG9wZW5hdChkaXIsIHBhdGgsIGZsYWdzKTsKKworCQlpZiAoZmQgPCAwICYmIGVycm5vID09IEVOT0VOVAorCQkgICAgJiYgcGMtPnJlZGlyZWN0X29uX2Vub2VudAorCQkgICAgJiYgcGMtPnJlZGlyZWN0X29uX2Vub2VudChwYywgcGF0aCwgJmRpcikgPT0gMCkKKwkJCWZkID0gb3BlbmF0KGRpciwgcGF0aCwgZmxhZ3MpOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBjLCAib3BlbmluZyAnJXMnJXMiLCBwYXRoLCBmZHggIT0gZmQgPyAiIFtyZWRpcmVjdGVkXSIgOiAiIikpOworCX0KKwlyZXR1cm4gZmQ7Cit9CisKK2ludCB1bF9wYXRoX3ZvcGVuZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQgZmxhZ3MsIGNvbnN0IGNoYXIgKnBhdGgsIHZhX2xpc3QgYXApCit7CisJY29uc3QgY2hhciAqcDsKKworCXAgPSB1bF9wYXRoX21rcGF0aChwYywgcGF0aCwgYXApOworCWlmICghcCkKKwkJcmV0dXJuIC1lcnJubzsKKworCXJldHVybiB1bF9wYXRoX29wZW4ocGMsIGZsYWdzLCBwKTsKK30KKworaW50IHVsX3BhdGhfb3BlbmYoc3RydWN0IHBhdGhfY3h0ICpwYywgaW50IGZsYWdzLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwlpbnQgcmM7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJcmMgPSB1bF9wYXRoX3ZvcGVuZihwYywgZmxhZ3MsIHBhdGgsIGFwKTsKKwl2YV9lbmQoYXApOworCisJcmV0dXJuIHJjOworfQorCisvKgorICogTWF5YmUgc3R1cGlkLCBidXQgZ29vZCBlbm91Z2ggOy0pCisgKi8KK3N0YXRpYyBpbnQgbW9kZTJmbGFncyhjb25zdCBjaGFyICptb2RlKQoreworCWludCBmbGFncyA9IDA7CisJY29uc3QgY2hhciAqcDsKKworCWZvciAocCA9IG1vZGU7IHAgJiYgKnA7IHArKykgeworCQlpZiAoKnAgPT0gJ3InICYmICoocCArIDEpID09ICcrJykKKwkJCWZsYWdzIHw9IE9fUkRXUjsKKwkJZWxzZSBpZiAoKnAgPT0gJ3InKQorCQkJZmxhZ3MgfD0gT19SRE9OTFk7CisKKwkJZWxzZSBpZiAoKnAgPT0gJ3cnICYmICoocCArIDEpID09ICcrJykKKwkJCWZsYWdzIHw9IE9fUkRXUiB8IE9fVFJVTkM7CisJCWVsc2UgaWYgKCpwID09ICd3JykKKwkJCWZsYWdzIHw9IE9fV1JPTkxZIHwgT19UUlVOQzsKKworCQllbHNlIGlmICgqcCA9PSAnYScgJiYgKihwICsgMSkgPT0gJysnKQorCQkJZmxhZ3MgfD0gT19SRFdSIHwgT19BUFBFTkQ7CisJCWVsc2UgaWYgKCpwID09ICdhJykKKwkJCWZsYWdzIHw9IE9fV1JPTkxZIHwgT19BUFBFTkQ7CisjaWZkZWYgT19DTE9FWEVDCisJCWVsc2UgaWYgKCpwID09ICpVTF9DTE9FWEVDU1RSKQorCQkJZmxhZ3MgfD0gT19DTE9FWEVDOworI2VuZGlmCisJfQorCisJcmV0dXJuIGZsYWdzOworfQorCitGSUxFICp1bF9wYXRoX2ZvcGVuKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKm1vZGUsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJaW50IGZsYWdzID0gbW9kZTJmbGFncyhtb2RlKTsKKwlpbnQgZmQgPSB1bF9wYXRoX29wZW4ocGMsIGZsYWdzLCBwYXRoKTsKKworCWlmIChmZCA8IDApCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIGZkb3BlbihmZCwgbW9kZSk7Cit9CisKKworRklMRSAqdWxfcGF0aF92Zm9wZW5mKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKm1vZGUsIGNvbnN0IGNoYXIgKnBhdGgsIHZhX2xpc3QgYXApCit7CisJY29uc3QgY2hhciAqcDsKKworCXAgPSB1bF9wYXRoX21rcGF0aChwYywgcGF0aCwgYXApOworCWlmICghcCkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXR1cm4gdWxfcGF0aF9mb3BlbihwYywgbW9kZSwgcCk7Cit9CisKK0ZJTEUgKnVsX3BhdGhfZm9wZW5mKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKm1vZGUsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwlGSUxFICpmOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJZiA9IHVsX3BhdGhfdmZvcGVuZihwYywgbW9kZSwgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlyZXR1cm4gZjsKK30KKworLyoKKyAqIE9wZW4gZGlyZWN0b3J5IEBwYXRoIGluIHJlYWQtb25sIG1vZGUuIElmIHRoZSBwYXRoIGlzIE5VTEwgdGhlbiBkdXBsaWNhdGUgRkQKKyAqIHRvIHRoZSBkaXJlY3RvcnkgYWRkcmVzc2VkIGJ5IEBwYy4KKyAqLworRElSICp1bF9wYXRoX29wZW5kaXIoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlESVIgKmRpcjsKKwlpbnQgZmQgPSAtMTsKKworCWlmIChwYXRoKQorCQlmZCA9IHVsX3BhdGhfb3BlbihwYywgT19SRE9OTFl8T19DTE9FWEVDLCBwYXRoKTsKKwllbHNlIGlmIChwYy0+ZGlyX3BhdGgpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmoocGMsICJkdXBsaWNhdGUgZGlyIHBhdGgiKSk7CisJCWZkID0gZHVwX2ZkX2Nsb2V4ZWModWxfcGF0aF9nZXRfZGlyZmQocGMpLCBTVERFUlJfRklMRU5PICsgMSk7CisJfQorCisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlkaXIgPSBmZG9wZW5kaXIoZmQpOworCWlmICghZGlyKSB7CisJCWNsb3NlKGZkKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWlmICghcGF0aCkKKwkJIHJld2luZGRpcihkaXIpOworCXJldHVybiBkaXI7Cit9CisKKworLyoKKyAqIE9wZW4gZGlyZWN0b3J5IEBwYXRoIGluIHJlYWQtb25sIG1vZGUuIElmIHRoZSBwYXRoIGlzIE5VTEwgdGhlbiBkdXBsaWNhdGUgRkQKKyAqIHRvIHRoZSBkaXJlY3RvcnkgYWRkcmVzc2VkIGJ5IEBwYy4KKyAqLworRElSICp1bF9wYXRoX3ZvcGVuZGlyZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpwYXRoLCB2YV9saXN0IGFwKQoreworCWNvbnN0IGNoYXIgKnA7CisKKwlwID0gdWxfcGF0aF9ta3BhdGgocGMsIHBhdGgsIGFwKTsKKwlpZiAoIXApCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIHVsX3BhdGhfb3BlbmRpcihwYywgcCk7Cit9CisKKy8qCisgKiBPcGVuIGRpcmVjdG9yeSBAcGF0aCBpbiByZWFkLW9ubCBtb2RlLiBJZiB0aGUgcGF0aCBpcyBOVUxMIHRoZW4gZHVwbGljYXRlIEZECisgKiB0byB0aGUgZGlyZWN0b3J5IGFkZHJlc3NlZCBieSBAcGMuCisgKi8KK0RJUiAqdWxfcGF0aF9vcGVuZGlyZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwlESVIgKmRpcjsKKworCXZhX3N0YXJ0KGFwLCBwYXRoKTsKKwlkaXIgPSB1bF9wYXRoX3ZvcGVuZGlyZihwYywgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlyZXR1cm4gZGlyOworfQorCisvKgorICogSWYgQHBhdGggaXMgTlVMTCB0aGVuIHJlYWRsaW5rIGlzIGNhbGxlZCBvbiBAcGMgZGlyZWN0b3J5LgorICovCitzc2l6ZV90IHVsX3BhdGhfcmVhZGxpbmsoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6LCBjb25zdCBjaGFyICpwYXRoKQoreworCWludCBkaXJmZDsKKworCWlmICghcGF0aCkgeworCQljb25zdCBjaGFyICpwID0gZ2V0X2Fic2RpcihwYyk7CisJCWlmICghcCkKKwkJCXJldHVybiAtZXJybm87CisJCXJldHVybiByZWFkbGluayhwLCBidWYsIGJ1ZnNpeik7CisJfQorCisJZGlyZmQgPSB1bF9wYXRoX2dldF9kaXJmZChwYyk7CisJaWYgKGRpcmZkIDwgMCkKKwkJcmV0dXJuIGRpcmZkOworCisJcmV0dXJuIHJlYWRsaW5rYXQoZGlyZmQsIHBhdGgsIGJ1ZiwgYnVmc2l6KTsKK30KKworLyoKKyAqIElmIEBwYXRoIGlzIE5VTEwgdGhlbiByZWFkbGluayBpcyBjYWxsZWQgb24gQHBjIGRpcmVjdG9yeS4KKyAqLworc3NpemVfdCB1bF9wYXRoX3JlYWRsaW5rZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjaGFyICpidWYsIHNpemVfdCBidWZzaXosIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwljb25zdCBjaGFyICpwOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJcCA9IHVsX3BhdGhfbWtwYXRoKHBjLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1lcnJubzsKKworCXJldHVybiB1bF9wYXRoX3JlYWRsaW5rKHBjLCBidWYsIGJ1ZnNpeiwgcCk7Cit9CisKK2ludCB1bF9wYXRoX3JlYWQoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICpwYXRoKQoreworCWludCByYywgZXJyc3Y7CisJaW50IGZkOworCisJZmQgPSB1bF9wYXRoX29wZW4ocGMsIE9fUkRPTkxZfE9fQ0xPRVhFQywgcGF0aCk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIC1lcnJubzsKKworCURCRyhDWFQsIHVsX2RlYnVnKCIgcmVhZGluZyAnJXMnIiwgcGF0aCkpOworCXJjID0gcmVhZF9hbGwoZmQsIGJ1ZiwgbGVuKTsKKworCWVycnN2ID0gZXJybm87CisJY2xvc2UoZmQpOworCWVycm5vID0gZXJyc3Y7CisJcmV0dXJuIHJjOworfQorCitpbnQgdWxfcGF0aF92cmVhZGYoc3RydWN0IHBhdGhfY3h0ICpwYywgY2hhciAqYnVmLCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICpwYXRoLCB2YV9saXN0IGFwKQoreworCWNvbnN0IGNoYXIgKnA7CisKKwlwID0gdWxfcGF0aF9ta3BhdGgocGMsIHBhdGgsIGFwKTsKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIHVsX3BhdGhfcmVhZChwYywgYnVmLCBsZW4sIHApOworfQorCitpbnQgdWxfcGF0aF9yZWFkZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjaGFyICpidWYsIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCWludCByYzsKKworCXZhX3N0YXJ0KGFwLCBwYXRoKTsKKwlyYyA9IHVsX3BhdGhfdnJlYWRmKHBjLCBidWYsIGxlbiwgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlyZXR1cm4gcmM7Cit9CisKKworLyoKKyAqIFJldHVybnMgbmV3bHkgYWxsb2NhdGVkIGJ1ZmZlciB3aXRoIGRhdGEgZnJvbSBmaWxlLiBNYXhpbWFsIHNpemUgaXMgQlVGU0laCisgKiAoc2VuZCBwYXRjaCBpZiB5b3UgbmVlZCBzb21ldGhpbmcgYmlnZ2VyOy0pCisgKgorICogUmV0dXJucyBzaXplIG9mIHRoZSBzdHJpbmchCisgKi8KK2ludCB1bF9wYXRoX3JlYWRfc3RyaW5nKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNoYXIgKipzdHIsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJY2hhciBidWZbQlVGU0laXTsKKwlpbnQgcmM7CisKKwkqc3RyID0gTlVMTDsKKworCXJjID0gdWxfcGF0aF9yZWFkKHBjLCBidWYsIHNpemVvZihidWYpIC0gMSwgcGF0aCk7CisJaWYgKHJjIDwgMCB8fCAhc3RyKQorCQlyZXR1cm4gcmM7OworCisJLyogUmVtb3ZlIHRhaWxpbmcgbmV3bGluZSAodXN1YWxsIGluIHN5c2ZzKSAqLworCWlmIChyYyA+IDAgJiYgKihidWYgKyByYyAtIDEpID09ICdcbicpCisJCS0tcmM7CisKKwlidWZbcmNdID0gJ1wwJzsKKwkqc3RyID0gc3RyZHVwKGJ1Zik7CisJaWYgKCEqc3RyKQorCQlyYyA9IC1FTk9NRU07CisKKwlyZXR1cm4gcmM7Cit9CisKK2ludCB1bF9wYXRoX3JlYWRmX3N0cmluZyhzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjaGFyICoqc3RyLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJY29uc3QgY2hhciAqcDsKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCXAgPSB1bF9wYXRoX21rcGF0aChwYywgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIHVsX3BhdGhfcmVhZF9zdHJpbmcocGMsIHN0ciwgcCk7Cit9CisKK2ludCB1bF9wYXRoX3JlYWRfYnVmZmVyKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6LCBjb25zdCBjaGFyICpwYXRoKQoreworCWludCByYyA9IHVsX3BhdGhfcmVhZChwYywgYnVmLCBidWZzeiAtIDEsIHBhdGgpOworCWlmIChyYyA8IDApCisJCXJldHVybiByYzs7CisKKwkvKiBSZW1vdmUgdGFpbGluZyBuZXdsaW5lICh1c3VhbGwgaW4gc3lzZnMpICovCisJaWYgKHJjID4gMCAmJiAqKGJ1ZiArIHJjIC0gMSkgPT0gJ1xuJykKKwkJLS1yYzsKKworCWJ1ZltyY10gPSAnXDAnOworCXJldHVybiByYzsKK30KKworaW50IHVsX3BhdGhfcmVhZGZfYnVmZmVyKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6LCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJY29uc3QgY2hhciAqcDsKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCXAgPSB1bF9wYXRoX21rcGF0aChwYywgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOworCisJcmV0dXJuIHVsX3BhdGhfcmVhZF9idWZmZXIocGMsIGJ1ZiwgYnVmc3osIHApOworfQorCitpbnQgdWxfcGF0aF9zY2FuZihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlGSUxFICpmOworCXZhX2xpc3QgZm10X2FwOworCWludCByYzsKKworCWYgPSB1bF9wYXRoX2ZvcGVuKHBjLCAiciIgVUxfQ0xPRVhFQ1NUUiwgcGF0aCk7CisJaWYgKCFmKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnKCIgZnNjYW5mIFslc10gJyVzJyIsIGZtdCwgcGF0aCkpOworCisJdmFfc3RhcnQoZm10X2FwLCBmbXQpOworCXJjID0gdmZzY2FuZihmLCBmbXQsIGZtdF9hcCk7CisJdmFfZW5kKGZtdF9hcCk7CisKKwlmY2xvc2UoZik7CisJcmV0dXJuIHJjOworfQorCitpbnQgdWxfcGF0aF9zY2FuZmYoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqcGF0aCwgdmFfbGlzdCBhcCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJRklMRSAqZjsKKwl2YV9saXN0IGZtdF9hcDsKKwlpbnQgcmM7CisKKwlmID0gdWxfcGF0aF92Zm9wZW5mKHBjLCAiciIgVUxfQ0xPRVhFQ1NUUiwgcGF0aCwgYXApOworCWlmICghZikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl2YV9zdGFydChmbXRfYXAsIGZtdCk7CisJcmMgPSB2ZnNjYW5mKGYsIGZtdCwgZm10X2FwKTsKKwl2YV9lbmQoZm10X2FwKTsKKworCWZjbG9zZShmKTsKKwlyZXR1cm4gcmM7Cit9CisKKworaW50IHVsX3BhdGhfcmVhZF9zNjQoc3RydWN0IHBhdGhfY3h0ICpwYywgaW50NjRfdCAqcmVzLCBjb25zdCBjaGFyICpwYXRoKQoreworCWludDY0X3QgeCA9IDA7CisJaW50IHJjOworCisJcmMgPSB1bF9wYXRoX3NjYW5mKHBjLCBwYXRoLCAiJSJTQ05kNjQsICZ4KTsKKwlpZiAocmMgIT0gMSkKKwkJcmV0dXJuIC0xOworCWlmIChyZXMpCisJCSpyZXMgPSB4OworCXJldHVybiAwOworfQorCitpbnQgdWxfcGF0aF9yZWFkZl9zNjQoc3RydWN0IHBhdGhfY3h0ICpwYywgaW50NjRfdCAqcmVzLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJY29uc3QgY2hhciAqcDsKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCXAgPSB1bF9wYXRoX21rcGF0aChwYywgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlpZiAoIXApCisJCXJldHVybiAtRUlOVkFMOzsKKworCXJldHVybiB1bF9wYXRoX3JlYWRfczY0KHBjLCByZXMsIHApOworfQorCitpbnQgdWxfcGF0aF9yZWFkX3U2NChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCB1aW50NjRfdCAqcmVzLCBjb25zdCBjaGFyICpwYXRoKQoreworCXVpbnQ2NF90IHggPSAwOworCWludCByYzsKKworCXJjID0gdWxfcGF0aF9zY2FuZihwYywgcGF0aCwgIiUiU0NOdTY0LCAmeCk7CisJaWYgKHJjICE9IDEpCisJCXJldHVybiAtMTsKKwlpZiAocmVzKQorCQkqcmVzID0geDsKKwlyZXR1cm4gMDsKK30KKworaW50IHVsX3BhdGhfcmVhZGZfdTY0KHN0cnVjdCBwYXRoX2N4dCAqcGMsIHVpbnQ2NF90ICpyZXMsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwljb25zdCBjaGFyICpwOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJcCA9IHVsX3BhdGhfbWtwYXRoKHBjLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gdWxfcGF0aF9yZWFkX3U2NChwYywgcmVzLCBwKTsKK30KKworaW50IHVsX3BhdGhfcmVhZF9zMzIoc3RydWN0IHBhdGhfY3h0ICpwYywgaW50ICpyZXMsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJaW50IHJjLCB4ID0gMDsKKworCXJjID0gdWxfcGF0aF9zY2FuZihwYywgcGF0aCwgIiVkIiwgJngpOworCWlmIChyYyAhPSAxKQorCQlyZXR1cm4gLTE7CisJaWYgKHJlcykKKwkJKnJlcyA9IHg7CisJcmV0dXJuIDA7Cit9CisKK2ludCB1bF9wYXRoX3JlYWRmX3MzMihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBpbnQgKnJlcywgY29uc3QgY2hhciAqcGF0aCwgLi4uKQoreworCWNvbnN0IGNoYXIgKnA7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBwYXRoKTsKKwlwID0gdWxfcGF0aF9ta3BhdGgocGMsIHBhdGgsIGFwKTsKKwl2YV9lbmQoYXApOworCisJaWYgKCFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiB1bF9wYXRoX3JlYWRfczMyKHBjLCByZXMsIHApOworfQorCitpbnQgdWxfcGF0aF9yZWFkX3UzMihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCB1bnNpZ25lZCBpbnQgKnJlcywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlpbnQgcmM7CisJdW5zaWduZWQgaW50IHg7CisKKwlyYyA9IHVsX3BhdGhfc2NhbmYocGMsIHBhdGgsICIldSIsICZ4KTsKKwlpZiAocmMgIT0gMSkKKwkJcmV0dXJuIC0xOworCWlmIChyZXMpCisJCSpyZXMgPSB4OworCXJldHVybiAwOworfQorCitpbnQgdWxfcGF0aF9yZWFkZl91MzIoc3RydWN0IHBhdGhfY3h0ICpwYywgdW5zaWduZWQgaW50ICpyZXMsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwljb25zdCBjaGFyICpwOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJcCA9IHVsX3BhdGhfbWtwYXRoKHBjLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gdWxfcGF0aF9yZWFkX3UzMihwYywgcmVzLCBwKTsKK30KKworaW50IHVsX3BhdGhfcmVhZF9tYWptaW4oc3RydWN0IHBhdGhfY3h0ICpwYywgZGV2X3QgKnJlcywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlpbnQgcmMsIG1haiwgbWluOworCisJcmMgPSB1bF9wYXRoX3NjYW5mKHBjLCBwYXRoLCAiJWQ6JWQiLCAmbWFqLCAmbWluKTsKKwlpZiAocmMgIT0gMikKKwkJcmV0dXJuIC0xOworCWlmIChyZXMpCisJCSpyZXMgPSBtYWtlZGV2KG1haiwgbWluKTsKKwlyZXR1cm4gMDsKK30KKworaW50IHVsX3BhdGhfcmVhZGZfbWFqbWluKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGRldl90ICpyZXMsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwljb25zdCBjaGFyICpwOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJcCA9IHVsX3BhdGhfbWtwYXRoKHBjLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gdWxfcGF0aF9yZWFkX21ham1pbihwYywgcmVzLCBwKTsKK30KKworaW50IHVsX3BhdGhfd3JpdGVfc3RyaW5nKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlpbnQgcmMsIGVycnN2OworCWludCBmZDsKKworCWZkID0gdWxfcGF0aF9vcGVuKHBjLCBPX1dST05MWXxPX0NMT0VYRUMsIHBhdGgpOworCWlmIChmZCA8IDApCisJCXJldHVybiAtZXJybm87CisKKwlyYyA9IHdyaXRlX2FsbChmZCwgc3RyLCBzdHJsZW4oc3RyKSk7CisKKwllcnJzdiA9IGVycm5vOworCWNsb3NlKGZkKTsKKwllcnJubyA9IGVycnN2OworCXJldHVybiByYzsKK30KKworaW50IHVsX3BhdGhfd3JpdGVmX3N0cmluZyhzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwljb25zdCBjaGFyICpwOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJcCA9IHVsX3BhdGhfbWtwYXRoKHBjLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gdWxfcGF0aF93cml0ZV9zdHJpbmcocGMsIHN0ciwgcCk7Cit9CisKK2ludCB1bF9wYXRoX3dyaXRlX3U2NChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCB1aW50NjRfdCBudW0sIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJY2hhciBidWZbc2l6ZW9mKHN0cmluZ2lmeV92YWx1ZShVTExPTkdfTUFYKSldOworCWludCByYywgZXJyc3Y7CisJaW50IGZkLCBsZW47CisKKwlmZCA9IHVsX3BhdGhfb3BlbihwYywgT19XUk9OTFl8T19DTE9FWEVDLCBwYXRoKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gLWVycm5vOworCisJbGVuID0gc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiUiIFBSSXU2NCwgbnVtKTsKKwlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KSBsZW4gPj0gc2l6ZW9mKGJ1ZikpCisJCXJjID0gbGVuIDwgMCA/IC1lcnJubyA6IC1FMkJJRzsKKwllbHNlCisJCXJjID0gd3JpdGVfYWxsKGZkLCBidWYsIGxlbik7CisKKwllcnJzdiA9IGVycm5vOworCWNsb3NlKGZkKTsKKwllcnJubyA9IGVycnN2OworCXJldHVybiByYzsKK30KKworaW50IHVsX3BhdGhfd3JpdGVmX3U2NChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCB1aW50NjRfdCBudW0sIGNvbnN0IGNoYXIgKnBhdGgsIC4uLikKK3sKKwljb25zdCBjaGFyICpwOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgcGF0aCk7CisJcCA9IHVsX3BhdGhfbWtwYXRoKHBjLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmICghcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gdWxfcGF0aF93cml0ZV91NjQocGMsIG51bSwgcCk7CisKK30KKworc3RhdGljIHN0cnVjdCBkaXJlbnQgKnhyZWFkZGlyKERJUiAqZHApCit7CisJc3RydWN0IGRpcmVudCAqZDsKKworCXdoaWxlICgoZCA9IHJlYWRkaXIoZHApKSkgeworCQlpZiAoIXN0cmNtcChkLT5kX25hbWUsICIuIikgfHwKKwkJICAgICFzdHJjbXAoZC0+ZF9uYW1lLCAiLi4iKSkKKwkJCWNvbnRpbnVlOworCisJCS8qIGJsYWNrbGlzdCBoZXJlPyAqLworCQlicmVhazsKKwl9CisJcmV0dXJuIGQ7Cit9CisKK2ludCB1bF9wYXRoX2NvdW50X2RpcmVudHMoc3RydWN0IHBhdGhfY3h0ICpwYywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlESVIgKmRpcjsKKwlpbnQgciA9IDA7CisKKwlkaXIgPSB1bF9wYXRoX29wZW5kaXIocGMsIHBhdGgpOworCWlmICghZGlyKQorCQlyZXR1cm4gMDsKKworCXdoaWxlICh4cmVhZGRpcihkaXIpKSByKys7CisKKwljbG9zZWRpcihkaXIpOworCXJldHVybiByOworfQorCitpbnQgdWxfcGF0aF9jb3VudGZfZGlyZW50cyhzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJY29uc3QgY2hhciAqcDsKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCXAgPSB1bF9wYXRoX21rcGF0aChwYywgcGF0aCwgYXApOworCXZhX2VuZChhcCk7CisKKwlpZiAoIXApCisJCXJldHVybiAwOworCisJcmV0dXJuIHVsX3BhdGhfY291bnRfZGlyZW50cyhwYywgcCk7Cit9CisKKy8qCisgKiBMaWtlIGZvcGVuKCkgYnV0LCBAcGF0aCBpcyBhbHdheXMgcHJlZml4ZWQgYnkgQHByZWZpeC4gVGhpcyBmdW5jdGlvbiBpcworICogdXNlZnVsIGluIGNhc2Ugd2hlbiB1bF9wYXRoXyogQVBJIGlzIG92ZXJraWxsLgorICovCitGSUxFICp1bF9wcmVmaXhfZm9wZW4oY29uc3QgY2hhciAqcHJlZml4LCBjb25zdCBjaGFyICpwYXRoLCBjb25zdCBjaGFyICptb2RlKQoreworCWNoYXIgYnVmW1BBVEhfTUFYXTsKKworCWlmICghcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKCFwcmVmaXgpCisJCXJldHVybiBmb3BlbihwYXRoLCBtb2RlKTsKKwlpZiAoKnBhdGggPT0gJy8nKQorCQlwYXRoKys7CisKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMvJXMiLCBwcmVmaXgsIHBhdGgpOworCXJldHVybiBmb3BlbihidWYsIG1vZGUpOworfQorCisjaWZkZWYgSEFWRV9DUFVfU0VUX1QKK3N0YXRpYyBpbnQgdWxfcGF0aF9jcHVwYXJzZShzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjcHVfc2V0X3QgKipzZXQsIGludCBtYXhjcHVzLCBpbnQgaXNsaXN0LCBjb25zdCBjaGFyICpwYXRoLCB2YV9saXN0IGFwKQoreworCUZJTEUgKmY7CisJc2l6ZV90IHNldHNpemUsIGxlbiA9IG1heGNwdXMgKiA3OworCWNoYXIgYnVmW2xlbl07CisKKwkqc2V0ID0gTlVMTDsKKworCWYgPSB1bF9wYXRoX3Zmb3BlbmYocGMsICJyIiBVTF9DTE9FWEVDU1RSLCBwYXRoLCBhcCk7CisJaWYgKCFmKQorCQlyZXR1cm4gLWVycm5vOworCisJaWYgKCFmZ2V0cyhidWYsIGxlbiwgZikpCisJCXJldHVybiAtZXJybm87CisJZmNsb3NlKGYpOworCisJbGVuID0gc3RybGVuKGJ1Zik7CisJaWYgKGJ1ZltsZW4gLSAxXSA9PSAnXG4nKQorCQlidWZbbGVuIC0gMV0gPSAnXDAnOworCisJKnNldCA9IGNwdXNldF9hbGxvYyhtYXhjcHVzLCAmc2V0c2l6ZSwgTlVMTCk7CisJaWYgKCEqc2V0KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmIChpc2xpc3QpIHsKKwkJaWYgKGNwdWxpc3RfcGFyc2UoYnVmLCAqc2V0LCBzZXRzaXplLCAwKSkgeworCQkJY3B1c2V0X2ZyZWUoKnNldCk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0gZWxzZSB7CisJCWlmIChjcHVtYXNrX3BhcnNlKGJ1ZiwgKnNldCwgc2V0c2l6ZSkpIHsKKwkJCWNwdXNldF9mcmVlKCpzZXQpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCB1bF9wYXRoX3JlYWRmX2NwdXNldChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjcHVfc2V0X3QgKipzZXQsIGludCBtYXhjcHVzLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwlpbnQgcmMgPSAwOworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCXJjID0gdWxfcGF0aF9jcHVwYXJzZShwYywgc2V0LCBtYXhjcHVzLCAwLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCXJldHVybiByYzsKK30KKworaW50IHVsX3BhdGhfcmVhZGZfY3B1bGlzdChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjcHVfc2V0X3QgKipzZXQsIGludCBtYXhjcHVzLCBjb25zdCBjaGFyICpwYXRoLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwlpbnQgcmMgPSAwOworCisJdmFfc3RhcnQoYXAsIHBhdGgpOworCXJjID0gdWxfcGF0aF9jcHVwYXJzZShwYywgc2V0LCBtYXhjcHVzLCAxLCBwYXRoLCBhcCk7CisJdmFfZW5kKGFwKTsKKworCXJldHVybiByYzsKK30KKworI2VuZGlmIC8qIEhBVkVfQ1BVX1NFVF9UICovCisKKworI2lmZGVmIFRFU1RfUFJPR1JBTV9QQVRICisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJZnByaW50ZihzdGRvdXQsICIgJXMgW29wdGlvbnNdIDxkaXI+IDxjb21tYW5kPlxuXG4iLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZnB1dHMoIiAtcCwgLS1wcmVmaXggPGRpcj4gICAgICByZWRpcmVjdCBoYXJkY29kZWQgcGF0aHMgdG8gPGRpcj5cbiIsIHN0ZG91dCk7CisKKwlmcHV0cygiIENvbW1hbmRzOlxuIiwgc3Rkb3V0KTsKKwlmcHV0cygiIHJlYWQtdTY0IDxmaWxlPiAgICAgICAgICAgIHJlYWQgdWludDY0X3QgZnJvbSBmaWxlXG4iLCBzdGRvdXQpOworCWZwdXRzKCIgcmVhZC1zNjQgPGZpbGU+ICAgICAgICAgICAgcmVhZCAgaW50NjRfdCBmcm9tIGZpbGVcbiIsIHN0ZG91dCk7CisJZnB1dHMoIiByZWFkLXUzMiA8ZmlsZT4gICAgICAgICAgICByZWFkIHVpbnQzMl90IGZyb20gZmlsZVxuIiwgc3Rkb3V0KTsKKwlmcHV0cygiIHJlYWQtczMyIDxmaWxlPiAgICAgICAgICAgIHJlYWQgIGludDMyX3QgZnJvbSBmaWxlXG4iLCBzdGRvdXQpOworCWZwdXRzKCIgcmVhZC1zdHJpbmcgPGZpbGU+ICAgICAgICAgcmVhZCBzdHJpbmcgIGZyb20gZmlsZVxuIiwgc3Rkb3V0KTsKKwlmcHV0cygiIHJlYWQtbWFqbWluIDxmaWxlPiAgICAgICAgIHJlYWQgZGV2bm8gZnJvbSBmaWxlXG4iLCBzdGRvdXQpOworCWZwdXRzKCIgcmVhZC1saW5rIDxmaWxlPiAgICAgICAgICAgcmVhZCBzeW1saW5rXG4iLCBzdGRvdXQpOworCWZwdXRzKCIgd3JpdGUtc3RyaW5nIDxmaWxlPiA8c3RyPiAgd3JpdGUgc3RyaW5nIGZyb20gZmlsZVxuIiwgc3Rkb3V0KTsKKwlmcHV0cygiIHdyaXRlLXU2NCA8ZmlsZT4gPHN0cj4gICAgIHdyaXRlIHVpbnQ2NF90IGZyb20gZmlsZVxuIiwgc3Rkb3V0KTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgYzsKKwljb25zdCBjaGFyICpwcmVmaXggPSBOVUxMLCAqZGlyLCAqZmlsZSwgKmNvbW1hbmQ7CisJc3RydWN0IHBhdGhfY3h0ICpwYyA9IE5VTEw7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJwcmVmaXgiLAkxLCBOVUxMLCAncCcgfSwKKwkJeyAiaGVscCIsICAgICAgIDAsIE5VTEwsICdoJyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfSwKKwl9OworCisJd2hpbGUoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAicDpoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2goYykgeworCQljYXNlICdwJzoKKwkJCXByZWZpeCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycihFWElUX0ZBSUxVUkUsICJ0cnkgLS1oZWxwIik7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiPGRpcj4gbm90IGRlZmluZWQiKTsKKwlkaXIgPSBhcmd2W29wdGluZCsrXTsKKworCXVsX3BhdGhfaW5pdF9kZWJ1ZygpOworCisJcGMgPSB1bF9uZXdfcGF0aChkaXIpOworCWlmICghcGMpCisJCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBwYXRoIGNvbnRleHQiKTsKKwlpZiAocHJlZml4KQorCQl1bF9wYXRoX3NldF9wcmVmaXgocGMsIHByZWZpeCk7CisKKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiPGNvbW1hbmQ+IG5vdCBkZWZpbmVkIik7CisJY29tbWFuZCA9IGFyZ3Zbb3B0aW5kKytdOworCisJaWYgKHN0cmNtcChjb21tYW5kLCAicmVhZC11MzIiKSA9PSAwKSB7CisJCXVpbnQzMl90IHJlczsKKworCQlpZiAob3B0aW5kID09IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgIjxmaWxlPiBub3QgZGVmaW5lZCIpOworCQlmaWxlID0gYXJndltvcHRpbmQrK107CisKKwkJaWYgKHVsX3BhdGhfcmVhZF91MzIocGMsICZyZXMsIGZpbGUpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCAicmVhZCB1NjQgZmFpbGVkIik7CisJCXByaW50ZigicmVhZDogICVzOiAldVxuIiwgZmlsZSwgcmVzKTsKKworCQlpZiAodWxfcGF0aF9yZWFkZl91MzIocGMsICZyZXMsICIlcyIsIGZpbGUpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCAicmVhZGYgdTY0IGZhaWxlZCIpOworCQlwcmludGYoInJlYWRmOiAlczogJXVcbiIsIGZpbGUsIHJlcyk7CisKKwl9IGVsc2UgaWYgKHN0cmNtcChjb21tYW5kLCAicmVhZC1zMzIiKSA9PSAwKSB7CisJCWludDMyX3QgcmVzOworCisJCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCAiPGZpbGU+IG5vdCBkZWZpbmVkIik7CisJCWZpbGUgPSBhcmd2W29wdGluZCsrXTsKKworCQlpZiAodWxfcGF0aF9yZWFkX3MzMihwYywgJnJlcywgZmlsZSkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJyZWFkIHU2NCBmYWlsZWQiKTsKKwkJcHJpbnRmKCJyZWFkOiAgJXM6ICVkXG4iLCBmaWxlLCByZXMpOworCisJCWlmICh1bF9wYXRoX3JlYWRmX3MzMihwYywgJnJlcywgIiVzIiwgZmlsZSkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJyZWFkZiB1NjQgZmFpbGVkIik7CisJCXByaW50ZigicmVhZGY6ICVzOiAlZFxuIiwgZmlsZSwgcmVzKTsKKworCX0gZWxzZSBpZiAoc3RyY21wKGNvbW1hbmQsICJyZWFkLXU2NCIpID09IDApIHsKKwkJdWludDY0X3QgcmVzOworCisJCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCAiPGZpbGU+IG5vdCBkZWZpbmVkIik7CisJCWZpbGUgPSBhcmd2W29wdGluZCsrXTsKKworCQlpZiAodWxfcGF0aF9yZWFkX3U2NChwYywgJnJlcywgZmlsZSkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJyZWFkIHU2NCBmYWlsZWQiKTsKKwkJcHJpbnRmKCJyZWFkOiAgJXM6ICUiIFBSSXU2NCAiXG4iLCBmaWxlLCByZXMpOworCisJCWlmICh1bF9wYXRoX3JlYWRmX3U2NChwYywgJnJlcywgIiVzIiwgZmlsZSkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJyZWFkZiB1NjQgZmFpbGVkIik7CisJCXByaW50ZigicmVhZGY6ICVzOiAlIiBQUkl1NjQgIlxuIiwgZmlsZSwgcmVzKTsKKworCX0gZWxzZSBpZiAoc3RyY21wKGNvbW1hbmQsICJyZWFkLXM2NCIpID09IDApIHsKKwkJaW50NjRfdCByZXM7CisKKwkJaWYgKG9wdGluZCA9PSBhcmdjKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsICI8ZmlsZT4gbm90IGRlZmluZWQiKTsKKwkJZmlsZSA9IGFyZ3Zbb3B0aW5kKytdOworCisJCWlmICh1bF9wYXRoX3JlYWRfczY0KHBjLCAmcmVzLCBmaWxlKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgInJlYWQgdTY0IGZhaWxlZCIpOworCQlwcmludGYoInJlYWQ6ICAlczogJSIgUFJJdTY0ICJcbiIsIGZpbGUsIHJlcyk7CisKKwkJaWYgKHVsX3BhdGhfcmVhZGZfczY0KHBjLCAmcmVzLCAiJXMiLCBmaWxlKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgInJlYWRmIHU2NCBmYWlsZWQiKTsKKwkJcHJpbnRmKCJyZWFkZjogJXM6ICUiIFBSSXU2NCAiXG4iLCBmaWxlLCByZXMpOworCisJfSBlbHNlIGlmIChzdHJjbXAoY29tbWFuZCwgInJlYWQtbWFqbWluIikgPT0gMCkgeworCQlkZXZfdCByZXM7CisKKwkJaWYgKG9wdGluZCA9PSBhcmdjKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsICI8ZmlsZT4gbm90IGRlZmluZWQiKTsKKwkJZmlsZSA9IGFyZ3Zbb3B0aW5kKytdOworCisJCWlmICh1bF9wYXRoX3JlYWRfbWFqbWluKHBjLCAmcmVzLCBmaWxlKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgInJlYWQgbWFqOm1pbiBmYWlsZWQiKTsKKwkJcHJpbnRmKCJyZWFkOiAgJXM6ICVkXG4iLCBmaWxlLCAoaW50KSByZXMpOworCisJCWlmICh1bF9wYXRoX3JlYWRmX21ham1pbihwYywgJnJlcywgIiVzIiwgZmlsZSkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJyZWFkZiBtYWo6bWluIGZhaWxlZCIpOworCQlwcmludGYoInJlYWRmOiAlczogJWRcbiIsIGZpbGUsIChpbnQpIHJlcyk7CisKKwl9IGVsc2UgaWYgKHN0cmNtcChjb21tYW5kLCAicmVhZC1zdHJpbmciKSA9PSAwKSB7CisJCWNoYXIgKnJlczsKKworCQlpZiAob3B0aW5kID09IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgIjxmaWxlPiBub3QgZGVmaW5lZCIpOworCQlmaWxlID0gYXJndltvcHRpbmQrK107CisKKwkJaWYgKHVsX3BhdGhfcmVhZF9zdHJpbmcocGMsICZyZXMsIGZpbGUpIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJyZWFkIHN0cmluZyBmYWlsZWQiKTsKKwkJcHJpbnRmKCJyZWFkOiAgJXM6ICVzXG4iLCBmaWxlLCByZXMpOworCisJCWlmICh1bF9wYXRoX3JlYWRmX3N0cmluZyhwYywgJnJlcywgIiVzIiwgZmlsZSkgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgInJlYWRmIHN0cmluZyBmYWlsZWQiKTsKKwkJcHJpbnRmKCJyZWFkZjogJXM6ICVzXG4iLCBmaWxlLCByZXMpOworCisJfSBlbHNlIGlmIChzdHJjbXAoY29tbWFuZCwgInJlYWQtbGluayIpID09IDApIHsKKwkJY2hhciByZXNbUEFUSF9NQVhdOworCisJCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCAiPGZpbGU+IG5vdCBkZWZpbmVkIik7CisJCWZpbGUgPSBhcmd2W29wdGluZCsrXTsKKworCQlpZiAodWxfcGF0aF9yZWFkbGluayhwYywgcmVzLCBzaXplb2YocmVzKSwgZmlsZSkgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgInJlYWQgc3ltbGluayBmYWlsZWQiKTsKKwkJcHJpbnRmKCJyZWFkOiAgJXM6ICVzXG4iLCBmaWxlLCByZXMpOworCisJCWlmICh1bF9wYXRoX3JlYWRsaW5rZihwYywgcmVzLCBzaXplb2YocmVzKSwgIiVzIiwgZmlsZSkgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgInJlYWRmIHN5bWxpbmsgZmFpbGVkIik7CisJCXByaW50ZigicmVhZGY6ICVzOiAlc1xuIiwgZmlsZSwgcmVzKTsKKworCX0gZWxzZSBpZiAoc3RyY21wKGNvbW1hbmQsICJ3cml0ZS1zdHJpbmciKSA9PSAwKSB7CisJCWNoYXIgKnN0cjsKKworCQlpZiAob3B0aW5kICsgMSA9PSBhcmdjKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsICI8ZmlsZT4gPHN0cmluZz4gbm90IGRlZmluZWQiKTsKKwkJZmlsZSA9IGFyZ3Zbb3B0aW5kKytdOworCQlzdHIgPSBhcmd2W29wdGluZCsrXTsKKworCQlpZiAodWxfcGF0aF93cml0ZV9zdHJpbmcocGMsIHN0ciwgZmlsZSkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJ3cml0ZSBzdHJpbmcgZmFpbGVkIik7CisJCWlmICh1bF9wYXRoX3dyaXRlZl9zdHJpbmcocGMsIHN0ciwgIiVzIiwgZmlsZSkgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICJ3cml0ZWYgc3RyaW5nIGZhaWxlZCIpOworCisJfSBlbHNlIGlmIChzdHJjbXAoY29tbWFuZCwgIndyaXRlLXU2NCIpID09IDApIHsKKwkJdWludDY0X3QgbnVtOworCisJCWlmIChvcHRpbmQgKyAxID09IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgIjxmaWxlPiA8bnVtPiBub3QgZGVmaW5lZCIpOworCQlmaWxlID0gYXJndltvcHRpbmQrK107CisJCW51bSA9IHN0cnRvdW1heChhcmd2W29wdGluZCsrXSwgTlVMTCwgMCk7CisKKwkJaWYgKHVsX3BhdGhfd3JpdGVfdTY0KHBjLCBudW0sIGZpbGUpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCAid3JpdGUgdTY0IGZhaWxlZCIpOworCQlpZiAodWxfcGF0aF93cml0ZWZfdTY0KHBjLCBudW0sICIlcyIsIGZpbGUpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCAid3JpdGVmIHU2NCBmYWlsZWQiKTsKKwl9CisKKwl1bF91bnJlZl9wYXRoKHBjKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorI2VuZGlmIC8qIFRFU1RfUFJPR1JBTV9QQVRIICovCisKZGlmZiAtLWdpdCBhL2xpYi9wbHltb3V0aC1jdHJsLmMgYi9saWIvcGx5bW91dGgtY3RybC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkM2RlZGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvcGx5bW91dGgtY3RybC5jCkBAIC0wLDAgKzEsMTQ0IEBACisvKgorICogcGx5bW91dGgtY3RybC5jCVNpbXBseSBjb21tdW5pY2F0aW9ucyB3aXRoIHBseW1vdXRoZAorICoJCQl0byBhdm9pZCBmb3JrZWQgc3ViIHByb2Nlc3NlcyBhbmQvb3IKKyAqCQkJbWlzc2VkIHBseW1vdXRoIHNlbmQgY29tbWFuZHMgdG9vbAorICoJCQlkdWUgYSBwbHltb3V0aGQgcmVwbGFjZW1lbnQuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDE2IFNVU0UgTGludXggR21iSCwgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoYykgMjAxNiBXZXJuZXIgRmluayA8d2VybmVyQHN1c2UuZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbSAoc2VlIHRoZSBmaWxlIENPUFlJTkcpOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKiBBdXRob3I6IFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxwb2xsLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3VuLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGx5bW91dGgtY3RybC5oIgorCitzdGF0aWMgaW50IGNhbl9yZWFkKGludCBmZCwgY29uc3QgbG9uZyB0aW1lb3V0KQoreworCXN0cnVjdCBwb2xsZmQgZmRzID0geworCQkuZmQgPSBmZCwKKwkJLmV2ZW50cyA9IFBPTExJTnxQT0xMUFJJLAorCQkucmV2ZW50cyA9IDAsCisJfTsKKwlpbnQgcmV0OworCisJZG8geworCQlyZXQgPSBwb2xsKCZmZHMsIDEsIHRpbWVvdXQpOworCX0gd2hpbGUgKChyZXQgPCAwKSAmJiAoZXJybm8gPT0gRUlOVFIpKTsKKworCXJldHVybiAocmV0ID09IDEpICYmIChmZHMucmV2ZW50cyAmIChQT0xMSU58UE9MTFBSSSkpOworfQorCitzdGF0aWMgaW50IG9wZW5fdW5fc29ja2V0X2FuZF9jb25uZWN0KHZvaWQpCit7CisJLyogVGhlIGFic3RyYWN0IFVOSVggc29ja2V0IG9mIHBseW1vdXRoICovCisJc3RydWN0IHNvY2thZGRyX3VuIHN1ID0geworCQkuc3VuX2ZhbWlseSA9IEFGX1VOSVgsCisJCS5zdW5fcGF0aCA9IFBMWU1PVVRIX1NPQ0tFVF9QQVRILAorCX07CisJY29uc3QgaW50IG9uZSA9IDE7CisJaW50IGZkLCByZXQ7CisKKwlmZCA9IHNvY2tldChQRl9VTklYLCBTT0NLX1NUUkVBTXxTT0NLX0NMT0VYRUN8U09DS19OT05CTE9DSywgMCk7CisJaWYgKGZkIDwgMCkgeworCQl3YXJueChfKCJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIpKTsKKwkJZ290byBlcnI7CisJfQorCisJcmV0ID0gc2V0c29ja29wdChmZCwgU09MX1NPQ0tFVCwgU09fUEFTU0NSRUQsICZvbmUsIHNpemVvZihvbmUpKTsKKwlpZiAocmV0IDwgMCkgeworCQl3YXJueChfKCJjYW5ub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiKSk7CisJCWNsb3NlKGZkKTsKKwkJZmQgPSAtMTsKKwkJZ290byBlcnI7CisJfQorCisJLyogTm90ZSwgdGhlIGFic3RyYWN0IFBMWU1PVVRIX1NPQ0tFVF9QQVRIIGhhcyBhIGxlYWRpbmcgTlVMTCBieXRlICovCisJcmV0ID0gY29ubmVjdChmZCwgKHN0cnVjdCBzb2NrYWRkciAqKSAmc3UsCisJCW9mZnNldG9mKHN0cnVjdCBzb2NrYWRkcl91biwgc3VuX3BhdGgpICsgMSArIHN0cmxlbihzdS5zdW5fcGF0aCsxKSk7CisJaWYgKHJldCA8IDApIHsKKwkJaWYgKGVycm5vICE9IEVDT05OUkVGVVNFRCkKKwkJCXdhcm54KF8oImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IikpOworCQljbG9zZShmZCk7CisJCWZkID0gLTE7CisJCWdvdG8gZXJyOworCX0KK2VycjoKKwlyZXR1cm4gZmQ7Cit9CisKK2ludCBwbHltb3V0aF9jb21tYW5kKGludCBjbWQsIC4uLikKK3sKKwl1aW50OF90IGFuc3dlclsyXSwgY29tbWFuZFsyXTsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNwLCBvcDsKKwlpbnQgZmRzb2NrID0gLTEsIHJldCA9IDA7CisKKwlzaWdlbXB0eXNldCAoJnNwLnNhX21hc2spOworCXNwLnNhX2hhbmRsZXIgPSBTSUdfSUdOOworCXNwLnNhX2ZsYWdzID0gU0FfUkVTVEFSVDsKKwlzaWdhY3Rpb24oU0lHUElQRSwgJnNwLCAmb3ApOworCisJLyogVGhlIHBseW1vdXRoZCBkb2VzIHJlYWQgYXQgbGVhc3QgdHdvIGJ5dGVzLiAqLworCWNvbW1hbmRbMV0gPSAnXDAnOworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBNQUdJQ19QSU5HOgorCQlmZHNvY2sgPSBvcGVuX3VuX3NvY2tldF9hbmRfY29ubmVjdCgpOworCQlpZiAoZmRzb2NrID49IDApIHsKKwkJCWNvbW1hbmRbMF0gPSBjbWQ7CisJCQl3cml0ZV9hbGwoZmRzb2NrLCBjb21tYW5kLCBzaXplb2YoY29tbWFuZCkpOworCQl9CisJCWJyZWFrOworCWNhc2UgTUFHSUNfUVVJVDoKKwkJZmRzb2NrID0gb3Blbl91bl9zb2NrZXRfYW5kX2Nvbm5lY3QoKTsKKwkJaWYgKGZkc29jayA+PSAwKSB7CisJCQljb21tYW5kWzBdID0gY21kOworCQkJd3JpdGVfYWxsKGZkc29jaywgY29tbWFuZCwgc2l6ZW9mKGNvbW1hbmQpKTsKKwkJfQorCQlicmVhazsKKwlkZWZhdWx0OgorCQl3YXJueChfKCJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiKSwgY21kKTsKKwljYXNlICc/JzoKKwkJZ290byBlcnI7CisJfQorCisJYW5zd2VyWzBdID0gJ1wwJzsKKwlpZiAoZmRzb2NrID49IDApIHsKKwkJaWYgKGNhbl9yZWFkKGZkc29jaywgMTAwMCkpCisJCQlyZWFkX2FsbChmZHNvY2ssIChjaGFyICopICZhbnN3ZXJbMF0sIHNpemVvZihhbnN3ZXIpKTsKKwkJY2xvc2UoZmRzb2NrKTsKKwl9CisJc2lnYWN0aW9uKFNJR1BJUEUsICZvcCwgTlVMTCk7CisJcmV0ID0gKGFuc3dlclswXSA9PSBBTlNXRVJfQUNLKSA/IDEgOiAwOworZXJyOgorCXJldHVybiByZXQ7Cit9CisKZGlmZiAtLWdpdCBhL2xpYi9wcm9jdXRpbHMuYyBiL2xpYi9wcm9jdXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZmI1ZDVjCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3Byb2N1dGlscy5jCkBAIC0wLDAgKzEsMzA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoKKyAqIHByb2N1dGlscy5jOiBHZW5lcmFsIHB1cnBvc2UgcHJvY2ZzIHBhcnNpbmcgdXRpbGl0aWVzCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgTGlicmFyeSBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAicHJvY3V0aWxzLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAiYy5oIgorCisvKgorICogQHBpZDogcHJvY2VzcyBJRCBmb3Igd2hpY2ggd2Ugd2FudCB0byBvYnRhaW4gdGhlIHRocmVhZHMgZ3JvdXAKKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgdGFza3Mgc3RydWN0dXJlCisgKi8KK3N0cnVjdCBwcm9jX3Rhc2tzICpwcm9jX29wZW5fdGFza3MocGlkX3QgcGlkKQoreworCXN0cnVjdCBwcm9jX3Rhc2tzICp0YXNrczsKKwljaGFyIHBhdGhbUEFUSF9NQVhdOworCisJc3ByaW50ZihwYXRoLCAiL3Byb2MvJWQvdGFzay8iLCBwaWQpOworCisJdGFza3MgPSBtYWxsb2Moc2l6ZW9mKHN0cnVjdCBwcm9jX3Rhc2tzKSk7CisJaWYgKHRhc2tzKSB7CisJCXRhc2tzLT5kaXIgPSBvcGVuZGlyKHBhdGgpOworCQlpZiAodGFza3MtPmRpcikKKwkJCXJldHVybiB0YXNrczsKKwl9CisKKwlmcmVlKHRhc2tzKTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIEB0YXNrczogYWxsb2NhdGVkIHRhc2tzIHN0cnVjdHVyZQorICoKKyAqIFJldHVybnM6IG5vdGhpbmcKKyAqLwordm9pZCBwcm9jX2Nsb3NlX3Rhc2tzKHN0cnVjdCBwcm9jX3Rhc2tzICp0YXNrcykKK3sKKwlpZiAodGFza3MgJiYgdGFza3MtPmRpcikKKwkJY2xvc2VkaXIodGFza3MtPmRpcik7CisJZnJlZSh0YXNrcyk7Cit9CisKKy8qCisgKiBAdGFza3M6IGFsbG9jYXRlZCB0YXNrIHN0cnVjdHVyZQorICogQHRpZDogW291dHB1dF0gb25lIG9mIHRoZSB0aHJlYWQgSURzIGJlbG9uZ2luZyB0byB0aGUgdGhyZWFkIGdyb3VwCisgKiAgICAgICAgSWYgd2hlbiBhbiBlcnJvciBvY2N1cnMsIGl0IGlzIHNldCB0byAwLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSBvbiBlbmQsIC0xIG9uIGZhaWx1cmUgb3Igbm8gbW9yZSB0aHJlYWRzCisgKi8KK2ludCBwcm9jX25leHRfdGlkKHN0cnVjdCBwcm9jX3Rhc2tzICp0YXNrcywgcGlkX3QgKnRpZCkKK3sKKwlzdHJ1Y3QgZGlyZW50ICpkOworCWNoYXIgKmVuZDsKKworCWlmICghdGFza3MgfHwgIXRpZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqdGlkID0gMDsKKwllcnJubyA9IDA7CisKKwlkbyB7CisJCWQgPSByZWFkZGlyKHRhc2tzLT5kaXIpOworCQlpZiAoIWQpCisJCQlyZXR1cm4gZXJybm8gPyAtMSA6IDE7CQkvKiBlcnJvciBvciBlbmQtb2YtZGlyICovCisKKwkJaWYgKCFpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqZC0+ZF9uYW1lKSkKKwkJCWNvbnRpbnVlOworCQllcnJubyA9IDA7CisJCSp0aWQgPSAocGlkX3QpIHN0cnRvbChkLT5kX25hbWUsICZlbmQsIDEwKTsKKwkJaWYgKGVycm5vIHx8IGQtPmRfbmFtZSA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSkKKwkJCXJldHVybiAtMTsKKworCX0gd2hpbGUgKCEqdGlkKTsKKworCXJldHVybiAwOworfQorCisvKiByZXR1cm5zIHByb2Nlc3MgY29tbWFuZCBwYXRoLCB1c2UgZnJlZSgpIGZvciByZXN1bHQgKi8KK3N0YXRpYyBjaGFyICpwcm9jX2ZpbGVfc3RyZHVwKHBpZF90IHBpZCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwljaGFyIGJ1ZltCVUZTSVpdLCAqcmVzID0gTlVMTDsKKwlzc2l6ZV90IHN6ID0gMDsKKwlzaXplX3QgaTsKKwlpbnQgZmQ7CisKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiL3Byb2MvJWQvJXMiLCAoaW50KSBwaWQsIG5hbWUpOworCWZkID0gb3BlbihidWYsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQlnb3RvIGRvbmU7CisKKwlzeiA9IHJlYWRfYWxsKGZkLCBidWYsIHNpemVvZihidWYpKTsKKwlpZiAoc3ogPD0gMCkKKwkJZ290byBkb25lOworCisJZm9yIChpID0gMDsgaSA8IChzaXplX3QpIHN6OyBpKyspIHsKKworCQlpZiAoYnVmW2ldID09ICdcMCcpCisJCQlidWZbaV0gPSAnICc7CisJfQorCWJ1ZltzeiAtIDFdID0gJ1wwJzsKKwlyZXMgPSBzdHJkdXAoYnVmKTsKK2RvbmU6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmVzOworfQorCisvKiByZXR1cm5zIHByb2Nlc3MgY29tbWFuZCBwYXRoLCB1c2UgZnJlZSgpIGZvciByZXN1bHQgKi8KK2NoYXIgKnByb2NfZ2V0X2NvbW1hbmQocGlkX3QgcGlkKQoreworCXJldHVybiBwcm9jX2ZpbGVfc3RyZHVwKHBpZCwgImNtZGxpbmUiKTsKK30KKworLyogcmV0dXJucyBwcm9jZXNzIGNvbW1hbmQgbmFtZSwgdXNlIGZyZWUoKSBmb3IgcmVzdWx0ICovCitjaGFyICpwcm9jX2dldF9jb21tYW5kX25hbWUocGlkX3QgcGlkKQoreworCXJldHVybiBwcm9jX2ZpbGVfc3RyZHVwKHBpZCwgImNvbW0iKTsKK30KKworc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwcm9jX29wZW5fcHJvY2Vzc2VzKHZvaWQpCit7CisJc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwczsKKworCXBzID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgcHJvY19wcm9jZXNzZXMpKTsKKwlpZiAocHMpIHsKKwkJcHMtPmRpciA9IG9wZW5kaXIoIi9wcm9jIik7CisJCWlmIChwcy0+ZGlyKQorCQkJcmV0dXJuIHBzOworCX0KKworCWZyZWUocHMpOworCXJldHVybiBOVUxMOworfQorCit2b2lkIHByb2NfY2xvc2VfcHJvY2Vzc2VzKHN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHMpCit7CisJaWYgKHBzICYmIHBzLT5kaXIpCisJCWNsb3NlZGlyKHBzLT5kaXIpOworCWZyZWUocHMpOworfQorCit2b2lkIHByb2NfcHJvY2Vzc2VzX2ZpbHRlcl9ieV9uYW1lKHN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHMsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJcHMtPmZsdHJfbmFtZSA9IG5hbWU7CisJcHMtPmhhc19mbHRyX25hbWUgPSBuYW1lID8gMSA6IDA7Cit9CisKK3ZvaWQgcHJvY19wcm9jZXNzZXNfZmlsdGVyX2J5X3VpZChzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzLCB1aWRfdCB1aWQpCit7CisJcHMtPmZsdHJfdWlkID0gdWlkOworCXBzLT5oYXNfZmx0cl91aWQgPSAxOworfQorCitpbnQgcHJvY19uZXh0X3BpZChzdHJ1Y3QgcHJvY19wcm9jZXNzZXMgKnBzLCBwaWRfdCAqcGlkKQoreworCXN0cnVjdCBkaXJlbnQgKmQ7CisKKwlpZiAoIXBzIHx8ICFwaWQpCisJCXJldHVybiAtRUlOVkFMOworCisJKnBpZCA9IDA7CisJZXJybm8gPSAwOworCisJZG8geworCQljaGFyIGJ1ZltCVUZTSVpdLCAqcDsKKworCQllcnJubyA9IDA7CisJCWQgPSByZWFkZGlyKHBzLT5kaXIpOworCQlpZiAoIWQpCisJCQlyZXR1cm4gZXJybm8gPyAtMSA6IDE7CQkvKiBlcnJvciBvciBlbmQtb2YtZGlyICovCisKKworCQlpZiAoIWlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICpkLT5kX25hbWUpKQorCQkJY29udGludWU7CisKKwkJLyogZmlsdGVyIG91dCBieSBVSUQgKi8KKwkJaWYgKHBzLT5oYXNfZmx0cl91aWQpIHsKKwkJCXN0cnVjdCBzdGF0IHN0OworCisJCQlpZiAoZnN0YXRhdChkaXJmZChwcy0+ZGlyKSwgZC0+ZF9uYW1lLCAmc3QsIDApKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKHBzLT5mbHRyX3VpZCAhPSBzdC5zdF91aWQpCisJCQkJY29udGludWU7CisJCX0KKworCQkvKiBmaWx0ZXIgb3V0IGJ5IE5BTUUgKi8KKwkJaWYgKHBzLT5oYXNfZmx0cl9uYW1lKSB7CisJCQljaGFyIHByb2NuYW1lWzI1Nl07CisJCQlGSUxFICpmOworCisJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMvc3RhdCIsIGQtPmRfbmFtZSk7CisJCQlmID0gZm9wZW5fYXQoZGlyZmQocHMtPmRpciksIGJ1ZiwgT19DTE9FWEVDfE9fUkRPTkxZLCAiciIpOworCQkJaWYgKCFmKQorCQkJCWNvbnRpbnVlOworCisJCQlwID0gZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZik7CisJCQlmY2xvc2UoZik7CisJCQlpZiAoIXApCisJCQkJY29udGludWU7CisKKwkJCWlmIChzc2NhbmYoYnVmLCAiJSpkICglMjU1W14pXSkiLCBwcm9jbmFtZSkgIT0gMSkKKwkJCQljb250aW51ZTsKKworCQkJLyogb2ssIHdlIGdvdCB0aGUgcHJvY2VzcyBuYW1lLiAqLworCQkJaWYgKHN0cmNtcChwcm9jbmFtZSwgcHMtPmZsdHJfbmFtZSkgIT0gMCkKKwkJCQljb250aW51ZTsKKwkJfQorCisJCXAgPSBOVUxMOworCQllcnJubyA9IDA7CisJCSpwaWQgPSAocGlkX3QpIHN0cnRvbChkLT5kX25hbWUsICZwLCAxMCk7CisJCWlmIChlcnJubyB8fCBkLT5kX25hbWUgPT0gcCB8fCAocCAmJiAqcCkpCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAtMTsKKworCQlyZXR1cm4gMDsKKwl9IHdoaWxlICgxKTsKKworCXJldHVybiAwOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNX1BST0NVVElMUworCitzdGF0aWMgaW50IHRlc3RfdGFza3MoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlwaWRfdCB0aWQsIHBpZDsKKwlzdHJ1Y3QgcHJvY190YXNrcyAqdHM7CisKKwlpZiAoYXJnYyAhPSAyKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJcGlkID0gc3RydG9sKGFyZ3ZbMV0sIChjaGFyICoqKSBOVUxMLCAxMCk7CisJcHJpbnRmKCJQSUQ9JWQsIFRJRHM6IiwgcGlkKTsKKworCXRzID0gcHJvY19vcGVuX3Rhc2tzKHBpZCk7CisJaWYgKCF0cykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIm9wZW4gbGlzdCBvZiB0YXNrcyBmYWlsZWQiKTsKKworCXdoaWxlIChwcm9jX25leHRfdGlkKHRzLCAmdGlkKSA9PSAwKQorCQlwcmludGYoIiAlZCIsIHRpZCk7CisKKwlwcmludGYoIlxuIik7CisgICAgICAgIHByb2NfY2xvc2VfdGFza3ModHMpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9wcm9jZXNzZXMoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlwaWRfdCBwaWQ7CisJc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwczsKKworCXBzID0gcHJvY19vcGVuX3Byb2Nlc3NlcygpOworCWlmICghcHMpCisJCWVycihFWElUX0ZBSUxVUkUsICJvcGVuIGxpc3Qgb2YgcHJvY2Vzc2VzIGZhaWxlZCIpOworCisJaWYgKGFyZ2MgPj0gMyAmJiBzdHJjbXAoYXJndlsxXSwgIi0tbmFtZSIpID09IDApCisJCXByb2NfcHJvY2Vzc2VzX2ZpbHRlcl9ieV9uYW1lKHBzLCBhcmd2WzJdKTsKKworCWlmIChhcmdjID49IDMgJiYgc3RyY21wKGFyZ3ZbMV0sICItLXVpZCIpID09IDApCisJCXByb2NfcHJvY2Vzc2VzX2ZpbHRlcl9ieV91aWQocHMsICh1aWRfdCkgYXRvbChhcmd2WzJdKSk7CisKKwl3aGlsZSAocHJvY19uZXh0X3BpZChwcywgJnBpZCkgPT0gMCkKKwkJcHJpbnRmKCIgJWQiLCBwaWQpOworCisJcHJpbnRmKCJcbiIpOworICAgICAgICBwcm9jX2Nsb3NlX3Byb2Nlc3Nlcyhwcyk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJTEkcyAtLXRhc2tzIDxwaWQ+XG4iCisJCQkJIiAgICAgICAlMSRzIC0tcHJvY2Vzc2VzIFstLS1uYW1lIDxuYW1lPl0gWy0tdWlkIDx1aWQ+XVxuIiwKKwkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJaWYgKHN0cmNtcChhcmd2WzFdLCAiLS10YXNrcyIpID09IDApCisJCXJldHVybiB0ZXN0X3Rhc2tzKGFyZ2MgLSAxLCBhcmd2ICsgMSk7CisJaWYgKHN0cmNtcChhcmd2WzFdLCAiLS1wcm9jZXNzZXMiKSA9PSAwKQorCQlyZXR1cm4gdGVzdF9wcm9jZXNzZXMoYXJnYyAtIDEsIGFyZ3YgKyAxKTsKKworCXJldHVybiBFWElUX0ZBSUxVUkU7Cit9CisjZW5kaWYgLyogVEVTVF9QUk9HUkFNX1BST0NVVElMUyAqLwpkaWZmIC0tZ2l0IGEvbGliL3B3ZHV0aWxzLmMgYi9saWIvcHdkdXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWI0ZGFlCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3B3ZHV0aWxzLmMKQEAgLTAsMCArMSw5NiBAQAorI2luY2x1ZGUgPHN0ZGxpYi5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInB3ZHV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKy8qIFJldHVybnMgYWxsb2NhdGVkIHBhc3N3ZCBhbmQgYWxsb2NhdGVkIHB3ZGJ1ZiB0byBzdG9yZSBwYXNzd2Qgc3RyaW5ncworICogZmllbGRzLiBJbiBjYXNlIG9mIGVycm9yIHJldHVybnMgTlVMTCBhbmQgc2V0IGVycm5vLCBmb3IgdW5rbm93biB1c2VyIHNldAorICogZXJybm8gdG8gRUlOVkFMCisgKi8KK3N0cnVjdCBwYXNzd2QgKnhnZXRwd25hbShjb25zdCBjaGFyICp1c2VybmFtZSwgY2hhciAqKnB3ZGJ1ZikKK3sKKwlzdHJ1Y3QgcGFzc3dkICpwd2QgPSBOVUxMLCAqcmVzID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoIXB3ZGJ1ZiB8fCAhdXNlcm5hbWUpCisJCXJldHVybiBOVUxMOworCisJKnB3ZGJ1ZiA9IHhtYWxsb2MoVUxfR0VUUFdfQlVGU0laKTsKKwlwd2QgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgcGFzc3dkKSk7CisKKwllcnJubyA9IDA7CisJcmMgPSBnZXRwd25hbV9yKHVzZXJuYW1lLCBwd2QsICpwd2RidWYsIFVMX0dFVFBXX0JVRlNJWiwgJnJlcyk7CisJaWYgKHJjICE9IDApIHsKKwkJZXJybm8gPSByYzsKKwkJZ290byBmYWlsZWQ7CisJfQorCWlmICghcmVzKSB7CisJCWVycm5vID0gRUlOVkFMOworCQlnb3RvIGZhaWxlZDsKKwl9CisJcmV0dXJuIHB3ZDsKK2ZhaWxlZDoKKwlmcmVlKHB3ZCk7CisJZnJlZSgqcHdkYnVmKTsKKwlyZXR1cm4gTlVMTDsKK30KKworY2hhciAqeGdldGxvZ2luKHZvaWQpCit7CisJc3RydWN0IHBhc3N3ZCAqcHcgPSBOVUxMOworCXVpZF90IHJ1aWQ7CisJY2hhciAqdXNlcjsKKworCXVzZXIgPSBnZXRsb2dpbigpOworCWlmICh1c2VyKQorCQlyZXR1cm4geHN0cmR1cCh1c2VyKTsKKworCS8qIEdOVSBIdXJkIGltcGxlbWVudGF0aW9uIGhhcyBhbiBleHRlbnNpb24gd2hlcmUgYSBwcm9jZXNzIGNhbiBleGlzdCBpbiBhCisJICogbm9uLWNvbmZvcm1pbmcgZW52aXJvbm1lbnQsIGFuZCB0aHVzIGJlIG91dHNpZGUgdGhlIHJlYWxtcyBvZiBQT1NJWAorCSAqIHByb2Nlc3MgaWRlbnRpZmllcnM7IG9uIHRoaXMgcGxhdGZvcm0sIGdldHVpZCgpIGZhaWxzIHdpdGggYSBzdGF0dXMgb2YKKwkgKiAodWlkX3QpKC0xKSBhbmQgc2V0cyBlcnJubyBpZiBhIHByb2dyYW0gaXMgcnVuIGZyb20gYSBub24tY29uZm9ybWluZworCSAqIGVudmlyb25tZW50LgorCSAqCisJICogaHR0cDovL2F1c3Rpbmdyb3VwYnVncy5uZXQvdmlldy5waHA/aWQ9NTExCisJICovCisJZXJybm8gPSAwOworCXJ1aWQgPSBnZXR1aWQoKTsKKworCWlmIChlcnJubyA9PSAwKQorCQlwdyA9IGdldHB3dWlkKHJ1aWQpOworCWlmIChwdyAmJiBwdy0+cHdfbmFtZSAmJiAqcHctPnB3X25hbWUpCisJCXJldHVybiB4c3RyZHVwKHB3LT5wd19uYW1lKTsKKworCXJldHVybiBOVUxMOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKmJ1ZiA9IE5VTEw7CisJc3RydWN0IHBhc3N3ZCAqcHdkID0gTlVMTDsKKworCWlmIChhcmdjICE9IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPHVzZXJuYW1lPlxuIiwgYXJndlswXSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJcHdkID0geGdldHB3bmFtKGFyZ3ZbMV0sICZidWYpOworCWlmICghcHdkKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGdldCAlcyBwd2QgZW50cnkiLCBhcmd2WzFdKTsKKworCXByaW50ZigiVXNlcm5hbWU6ICVzXG4iLCBwd2QtPnB3X25hbWUpOworCXByaW50ZigiVUlEOiAgICAgICVkXG4iLCBwd2QtPnB3X3VpZCk7CisJcHJpbnRmKCJIT01FOiAgICAgJXNcbiIsIHB3ZC0+cHdfZGlyKTsKKwlwcmludGYoIkdFQ086ICAgICAlc1xuIiwgcHdkLT5wd19nZWNvcyk7CisKKwlmcmVlKHB3ZCk7CisJZnJlZShidWYpOworCisJcHJpbnRmKCJDdXJyZW50OiAgJXNcbiIsIChidWYgPSB4Z2V0bG9naW4oKSkpOworCWZyZWUoYnVmKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWIvcmFuZHV0aWxzLmMgYi9saWIvcmFuZHV0aWxzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGU0Mjc5NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9yYW5kdXRpbHMuYwpAQCAtMCwwICsxLDIzNSBAQAorLyoKKyAqIEdlbmVyYWwgcHVycG9zZSByYW5kb20gdXRpbGl0aWVzCisgKgorICogQmFzZWQgb24gbGlidXVpZCBjb2RlLgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAicmFuZHV0aWxzLmgiCisjaW5jbHVkZSAibmxzLmgiCisKKyNpZmRlZiBIQVZFX1RMUworI2RlZmluZSBUSFJFQURfTE9DQUwgc3RhdGljIF9fdGhyZWFkCisjZWxzZQorI2RlZmluZSBUSFJFQURfTE9DQUwgc3RhdGljCisjZW5kaWYKKworI2lmZGVmIEhBVkVfR0VUUkFORE9NCisjIGluY2x1ZGUgPHN5cy9yYW5kb20uaD4KKyNlbGlmIGRlZmluZWQgKF9fbGludXhfXykKKyMgaWYgIWRlZmluZWQoU1lTX2dldHJhbmRvbSkgJiYgZGVmaW5lZChfX05SX2dldHJhbmRvbSkKKyAgIC8qIHVzYWJsZSBrZXJuZWwtaGVhZGVycywgYnV0IG9sZCBnbGliYy1oZWFkZXJzICovCisjICBkZWZpbmUgU1lTX2dldHJhbmRvbSBfX05SX2dldHJhbmRvbQorIyBlbmRpZgorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX0dFVFJBTkRPTSkgJiYgZGVmaW5lZChTWVNfZ2V0cmFuZG9tKQorLyogbGliYyB3aXRob3V0IGZ1bmN0aW9uLCBidXQgd2UgaGF2ZSBzeXNjYWwgKi8KKyNkZWZpbmUgR1JORF9OT05CTE9DSyAweDAxCisjZGVmaW5lIEdSTkRfUkFORE9NIDB4MDIKK3N0YXRpYyBpbnQgZ2V0cmFuZG9tKHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1ZmxlbiwgdW5zaWduZWQgaW50IGZsYWdzKQoreworCXJldHVybiAoc3lzY2FsbChTWVNfZ2V0cmFuZG9tLCBidWYsIGJ1ZmxlbiwgZmxhZ3MpKTsKK30KKyMgZGVmaW5lIEhBVkVfR0VUUkFORE9NCisjZW5kaWYKKworI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKF9fTlJfZ2V0dGlkKSAmJiBkZWZpbmVkKEhBVkVfSlJBTkQ0OCkKKyNkZWZpbmUgRE9fSlJBTkRfTUlYCitUSFJFQURfTE9DQUwgdW5zaWduZWQgc2hvcnQgdWxfanJhbmRfc2VlZFszXTsKKyNlbmRpZgorCitpbnQgcmFuZF9nZXRfbnVtYmVyKGludCBsb3dfbiwgaW50IGhpZ2hfbikKK3sKKwlyZXR1cm4gcmFuZCgpICUgKGhpZ2hfbiAtIGxvd19uICsgMSkgKyBsb3dfbjsKK30KKworc3RhdGljIHZvaWQgY3JhbmtfcmFuZG9tKHZvaWQpCit7CisJaW50IGk7CisJc3RydWN0IHRpbWV2YWwgdHY7CisKKwlnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwlzcmFuZCgoZ2V0cGlkKCkgPDwgMTYpIF4gZ2V0dWlkKCkgXiB0di50dl9zZWMgXiB0di50dl91c2VjKTsKKworI2lmZGVmIERPX0pSQU5EX01JWAorCXVsX2pyYW5kX3NlZWRbMF0gPSBnZXRwaWQoKSBeICh0di50dl9zZWMgJiAweEZGRkYpOworCXVsX2pyYW5kX3NlZWRbMV0gPSBnZXRwcGlkKCkgXiAodHYudHZfdXNlYyAmIDB4RkZGRik7CisJdWxfanJhbmRfc2VlZFsyXSA9ICh0di50dl9zZWMgXiB0di50dl91c2VjKSA+PiAxNjsKKyNlbmRpZgorCS8qIENyYW5rIHRoZSByYW5kb20gbnVtYmVyIGdlbmVyYXRvciBhIGZldyB0aW1lcyAqLworCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCWZvciAoaSA9ICh0di50dl9zZWMgXiB0di50dl91c2VjKSAmIDB4MUY7IGkgPiAwOyBpLS0pCisJCXJhbmQoKTsKK30KKworaW50IHJhbmRvbV9nZXRfZmQodm9pZCkKK3sKKwlpbnQgaSwgZmQ7CisKKwlmZCA9IG9wZW4oIi9kZXYvdXJhbmRvbSIsIE9fUkRPTkxZIHwgT19DTE9FWEVDKTsKKwlpZiAoZmQgPT0gLTEpCisJCWZkID0gb3BlbigiL2Rldi9yYW5kb20iLCBPX1JET05MWSB8IE9fTk9OQkxPQ0sgfCBPX0NMT0VYRUMpOworCWlmIChmZCA+PSAwKSB7CisJCWkgPSBmY250bChmZCwgRl9HRVRGRCk7CisJCWlmIChpID49IDApCisJCQlmY250bChmZCwgRl9TRVRGRCwgaSB8IEZEX0NMT0VYRUMpOworCX0KKwljcmFua19yYW5kb20oKTsKKwlyZXR1cm4gZmQ7Cit9CisKKy8qCisgKiBHZW5lcmF0ZSBhIHN0cmVhbSBvZiByYW5kb20gbmJ5dGVzIGludG8gYnVmLgorICogVXNlIC9kZXYvdXJhbmRvbSBpZiBwb3NzaWJsZSwgYW5kIGlmIG5vdCwKKyAqIHVzZSBnbGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucy4KKyAqLworI2RlZmluZSBVTF9SQU5EX1JFQURfQVRURU1QVFMJOAorI2RlZmluZSBVTF9SQU5EX1JFQURfREVMQVkJMTI1MDAwCS8qIG1pY3Jvc2Vjb25kcyAqLworCit2b2lkIHJhbmRvbV9nZXRfYnl0ZXModm9pZCAqYnVmLCBzaXplX3QgbmJ5dGVzKQoreworCXVuc2lnbmVkIGNoYXIgKmNwID0gKHVuc2lnbmVkIGNoYXIgKilidWY7CisJc2l6ZV90IGksIG4gPSBuYnl0ZXM7CisJaW50IGxvc2VfY291bnRlciA9IDA7CisKKyNpZmRlZiBIQVZFX0dFVFJBTkRPTQorCXdoaWxlIChuID4gMCkgeworCQlpbnQgeDsKKworCQllcnJubyA9IDA7CisJCXggPSBnZXRyYW5kb20oY3AsIG4sIEdSTkRfTk9OQkxPQ0spOworCQlpZiAoeCA+IDApIHsJCQkvKiBzdWNjZXNzICovCisJCSAgICAgICBuIC09IHg7CisJCSAgICAgICBjcCArPSB4OworCQkgICAgICAgbG9zZV9jb3VudGVyID0gMDsKKworCQl9IGVsc2UgaWYgKGVycm5vID09IEVOT1NZUykgewkvKiBrZXJuZWwgd2l0aG91dCBnZXRyYW5kb20oKSAqLworCQkJYnJlYWs7CisKKwkJfSBlbHNlIGlmIChlcnJubyA9PSBFQUdBSU4gJiYgbG9zZV9jb3VudGVyIDwgVUxfUkFORF9SRUFEX0FUVEVNUFRTKSB7CisJCQl4dXNsZWVwKFVMX1JBTkRfUkVBRF9ERUxBWSk7CS8qIG5vIGV0cm9weSwgd2FpdCBhbmQgdHJ5IGFnYWluICovCisJCQlsb3NlX2NvdW50ZXIrKzsKKwkJfSBlbHNlCisJCQlicmVhazsKKwl9CisKKwlpZiAoZXJybm8gPT0gRU5PU1lTKQorI2VuZGlmCisJLyoKKwkgKiBXZSd2ZSBiZWVuIGJ1aWx0IGFnYWluc3QgaGVhZGVycyB0aGF0IHN1cHBvcnQgZ2V0cmFuZG9tLCBidXQgdGhlCisJICogcnVubmluZyBrZXJuZWwgZG9lcyBub3QuICBGYWxsYmFjayB0byByZWFkaW5nIGZyb20gL2Rldi97dSx9cmFuZG9tCisJICogYXMgYmVmb3JlCisJICovCisJeworCQlpbnQgZmQgPSByYW5kb21fZ2V0X2ZkKCk7CisKKwkJbG9zZV9jb3VudGVyID0gMDsKKwkJaWYgKGZkID49IDApIHsKKwkJCXdoaWxlIChuID4gMCkgeworCQkJCXNzaXplX3QgeCA9IHJlYWQoZmQsIGNwLCBuKTsKKwkJCQlpZiAoeCA8PSAwKSB7CisJCQkJCWlmIChsb3NlX2NvdW50ZXIrKyA+IFVMX1JBTkRfUkVBRF9BVFRFTVBUUykKKwkJCQkJCWJyZWFrOworCQkJCQl4dXNsZWVwKFVMX1JBTkRfUkVBRF9ERUxBWSk7CisJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCQluIC09IHg7CisJCQkJY3AgKz0geDsKKwkJCQlsb3NlX2NvdW50ZXIgPSAwOworCQkJfQorCisJCQljbG9zZShmZCk7CisJCX0KKwl9CisJLyoKKwkgKiBXZSBkbyB0aGlzIGFsbCB0aGUgdGltZSwgYnV0IHRoaXMgaXMgdGhlIG9ubHkgc291cmNlIG9mCisJICogcmFuZG9tbmVzcyBpZiAvZGV2L3JhbmRvbS91cmFuZG9tIGlzIG91dCB0byBsdW5jaC4KKwkgKi8KKwljcmFua19yYW5kb20oKTsKKwlmb3IgKGNwID0gYnVmLCBpID0gMDsgaSA8IG5ieXRlczsgaSsrKQorCQkqY3ArKyBePSAocmFuZCgpID4+IDcpICYgMHhGRjsKKworI2lmZGVmIERPX0pSQU5EX01JWAorCXsKKwkJdW5zaWduZWQgc2hvcnQgdG1wX3NlZWRbM107CisKKwkJbWVtY3B5KHRtcF9zZWVkLCB1bF9qcmFuZF9zZWVkLCBzaXplb2YodG1wX3NlZWQpKTsKKwkJdWxfanJhbmRfc2VlZFsyXSA9IHVsX2pyYW5kX3NlZWRbMl0gXiBzeXNjYWxsKF9fTlJfZ2V0dGlkKTsKKwkJZm9yIChjcCA9IGJ1ZiwgaSA9IDA7IGkgPCBuYnl0ZXM7IGkrKykKKwkJCSpjcCsrIF49IChqcmFuZDQ4KHRtcF9zZWVkKSA+PiA3KSAmIDB4RkY7CisJCW1lbWNweSh1bF9qcmFuZF9zZWVkLCB0bXBfc2VlZCwKKwkJICAgICAgIHNpemVvZih1bF9qcmFuZF9zZWVkKS1zaXplb2YodW5zaWduZWQgc2hvcnQpKTsKKwl9CisjZW5kaWYKKwlyZXR1cm47Cit9CisKKworLyoKKyAqIFRlbGwgc291cmNlIG9mIHJhbmRvbW5lc3MuCisgKi8KK2NvbnN0IGNoYXIgKnJhbmRvbV90ZWxsX3NvdXJjZSh2b2lkKQoreworI2lmZGVmIEhBVkVfR0VUUkFORE9NCisJcmV0dXJuIF8oImdldHJhbmRvbSgpIGZ1bmN0aW9uIik7CisjZWxzZQorCXNpemVfdCBpOworCXN0YXRpYyBjb25zdCBjaGFyICpyYW5kb21fc291cmNlc1tdID0geworCQkiL2Rldi91cmFuZG9tIiwKKwkJIi9kZXYvcmFuZG9tIgorCX07CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShyYW5kb21fc291cmNlcyk7IGkrKykgeworCQlpZiAoIWFjY2VzcyhyYW5kb21fc291cmNlc1tpXSwgUl9PSykpCisJCQlyZXR1cm4gcmFuZG9tX3NvdXJjZXNbaV07CisJfQorI2VuZGlmCisJcmV0dXJuIF8oImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiKTsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTV9SQU5EVVRJTFMKKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXNpemVfdCBpLCBuOworCWludDY0X3QgKnZwLCB2OworCWNoYXIgKmJ1ZjsKKwlzaXplX3QgYnVmc3o7CisKKwluID0gYXJnYyA9PSAxID8gMTYgOiBhdG9pKGFyZ3ZbMV0pOworCisJcHJpbnRmKCJNdWx0aXBsZSByYW5kb20gY2FsbHM6XG4iKTsKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCXJhbmRvbV9nZXRfYnl0ZXMoJnYsIHNpemVvZih2KSk7CisJCXByaW50ZigiIyUwMnp1OiAlMjUiUFJJdTY0IlxuIiwgaSwgdik7CisJfQorCisKKwlwcmludGYoIk9uZSByYW5kb20gY2FsbDpcbiIpOworCWJ1ZnN6ID0gbiAqIHNpemVvZigqdnApOworCWJ1ZiA9IG1hbGxvYyhidWZzeik7CisJaWYgKCFidWYpCisJCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gYWxsb2NhdGUgYnVmZmVyIik7CisKKwlyYW5kb21fZ2V0X2J5dGVzKGJ1ZiwgYnVmc3opOworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJdnAgPSAoaW50NjRfdCAqKSAoYnVmICsgKGkgKiBzaXplb2YoKnZwKSkpOworCQlwcmludGYoIiMlMDJ6dTogJTI1IlBSSXU2NCJcbiIsIGksICp2cCk7CisJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKyNlbmRpZiAvKiBURVNUX1BST0dSQU1fUkFORFVUSUxTICovCmRpZmYgLS1naXQgYS9saWIvc2V0cHJvY3RpdGxlLmMgYi9saWIvc2V0cHJvY3RpdGxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE2OGU0NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYi9zZXRwcm9jdGl0bGUuYwpAQCAtMCwwICsxLDc1IEBACisvKgorICogIHNldCBwcm9jZXNzIHRpdGxlIGZvciBwcyAoZnJvbSBzZW5kbWFpbCkKKyAqCisgKiAgQ2xvYmJlcnMgYXJndiBvZiBvdXIgbWFpbiBwcm9jZWR1cmUgc28gcHMoMSkgd2lsbCBkaXNwbGF5IHRoZSB0aXRsZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlICJzZXRwcm9jdGl0bGUuaCIKKworI2lmbmRlZiBTUFRfQlVGU0laRQorIyBkZWZpbmUgU1BUX0JVRlNJWkUgICAgIDIwNDgKKyNlbmRpZgorCitleHRlcm4gY2hhciAqKmVudmlyb247CisKK3N0YXRpYyBjaGFyICoqYXJndjA7CitzdGF0aWMgc2l6ZV90IGFyZ3ZfbHRoOworCit2b2lkIGluaXRwcm9jdGl0bGUgKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgaTsKKwljaGFyICoqZW52cCA9IGVudmlyb247CisKKwkvKgorCSAqIE1vdmUgdGhlIGVudmlyb25tZW50IHNvIHdlIGNhbiByZXVzZSB0aGUgbWVtb3J5LgorCSAqIChDb2RlIGJvcnJvd2VkIGZyb20gc2VuZG1haWwuKQorCSAqIFdBUk5JTkc6IHVnbHkgYXNzdW1wdGlvbnMgb24gbWVtb3J5IGxheW91dCBoZXJlOworCSAqICAgICAgICAgIGlmIHRoaXMgZXZlciBjYXVzZXMgcHJvYmxlbXMsICN1bmRlZiBET19QU19GSURETElORworCSAqLworCWZvciAoaSA9IDA7IGVudnBbaV0gIT0gTlVMTDsgaSsrKQorCQljb250aW51ZTsKKworCWVudmlyb24gPSBtYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiAoaSArIDEpKTsKKwlpZiAoZW52aXJvbiA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBlbnZwW2ldICE9IE5VTEw7IGkrKykKKwkJaWYgKChlbnZpcm9uW2ldID0gc3RyZHVwKGVudnBbaV0pKSA9PSBOVUxMKQorCQkJcmV0dXJuOworCWVudmlyb25baV0gPSBOVUxMOworCisJaWYgKGkgPiAwKQorCQlhcmd2X2x0aCA9IGVudnBbaS0xXSArIHN0cmxlbihlbnZwW2ktMV0pIC0gYXJndlswXTsKKwllbHNlCisJCWFyZ3ZfbHRoID0gYXJndlthcmdjLTFdICsgc3RybGVuKGFyZ3ZbYXJnYy0xXSkgLSBhcmd2WzBdOworCWlmIChhcmd2X2x0aCA+IDEpCisJCWFyZ3YwID0gYXJndjsKK30KKwordm9pZCBzZXRwcm9jdGl0bGUgKGNvbnN0IGNoYXIgKnByb2csIGNvbnN0IGNoYXIgKnR4dCkKK3sKKyAgICAgICAgc2l6ZV90IGk7CisgICAgICAgIGNoYXIgYnVmW1NQVF9CVUZTSVpFXTsKKworICAgICAgICBpZiAoIWFyZ3YwKQorICAgICAgICAgICAgICAgIHJldHVybjsKKworCWlmIChzdHJsZW4ocHJvZykgKyBzdHJsZW4odHh0KSArIDUgPiBTUFRfQlVGU0laRSkKKwkJcmV0dXJuOworCisJc3ByaW50ZihidWYsICIlcyAtLSAlcyIsIHByb2csIHR4dCk7CisKKyAgICAgICAgaSA9IHN0cmxlbihidWYpOworICAgICAgICBpZiAoaSA+IGFyZ3ZfbHRoIC0gMikgeworICAgICAgICAgICAgICAgIGkgPSBhcmd2X2x0aCAtIDI7CisgICAgICAgICAgICAgICAgYnVmW2ldID0gJ1wwJzsKKyAgICAgICAgfQorCW1lbXNldChhcmd2MFswXSwgJ1wwJywgYXJndl9sdGgpOyAgICAgICAvKiBjbGVhciB0aGUgbWVtb3J5IGFyZWEgKi8KKyAgICAgICAgc3RyY3B5KGFyZ3YwWzBdLCBidWYpOworCisgICAgICAgIGFyZ3YwWzFdID0gTlVMTDsKK30KZGlmZiAtLWdpdCBhL2xpYi9zaGExLmMgYi9saWIvc2hhMS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyZDMzYjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvc2hhMS5jCkBAIC0wLDAgKzEsMjU2IEBACisvKgorICogU0hBLTEgaW4gQyBieSBTdGV2ZSBSZWlkIDxzdGV2ZUBlZG13ZWIuY29tPgorICogMTAwJSBQdWJsaWMgRG9tYWluCisgKgorICogVGVzdCBWZWN0b3JzIChmcm9tIEZJUFMgUFVCIDE4MC0xKQorICogMSkgImFiYyI6IEE5OTkzRTM2IDQ3MDY4MTZBIEJBM0UyNTcxIDc4NTBDMjZDIDlDRDBEODlECisgKiAyKSAiYWJjZGJjZGVjZGVmZGVmZ2VmZ2hmZ2hpZ2hpamhpamtpamtsamtsbWtsbW5sbW5vbW5vcG5vcHEiOiAgODQ5ODNFNDQgMUMzQkQyNkUgQkFBRTRBQTEgRjk1MTI5RTUgRTU0NjcwRjEKKyAqIDMpIEEgbWlsbGlvbiByZXBldGl0aW9ucyBvZiAiYSI6ICAzNEFBOTczQyBENEM0REFBNCBGNjFFRUIyQiBEQkFEMjczMSA2NTM0MDE2RgorICovCisKKyNkZWZpbmUgVUxfU0hBMUhBTkRTT0ZGCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic2hhMS5oIgorCisjZGVmaW5lIHJvbCh2YWx1ZSwgYml0cykgKCgodmFsdWUpIDw8IChiaXRzKSkgfCAoKHZhbHVlKSA+PiAoMzIgLSAoYml0cykpKSkKKworLyogYmxrMCgpIGFuZCBibGsoKSBwZXJmb3JtIHRoZSBpbml0aWFsIGV4cGFuZC4gKi8KKyNpZmRlZiBXT1JEU19CSUdFTkRJQU4KKyMgZGVmaW5lIGJsazAoaSkgYmxvY2stPmxbaV0KKyNlbHNlCisjIGRlZmluZSBibGswKGkpIChibG9jay0+bFtpXSA9IChyb2woYmxvY2stPmxbaV0sMjQpJjB4RkYwMEZGMDApIFwKKyAgICB8KHJvbChibG9jay0+bFtpXSw4KSYweDAwRkYwMEZGKSkKKyNlbmRpZgorCisjZGVmaW5lIGJsayhpKSAoYmxvY2stPmxbaSYxNV0gPSByb2woYmxvY2stPmxbKGkrMTMpJjE1XV5ibG9jay0+bFsoaSs4KSYxNV0gXAorICAgIF5ibG9jay0+bFsoaSsyKSYxNV1eYmxvY2stPmxbaSYxNV0sMSkpCisKKy8qIChSMCtSMSksIFIyLCBSMywgUjQgYXJlIHRoZSBkaWZmZXJlbnQgb3BlcmF0aW9ucyB1c2VkIGluIFNIQTEgKi8KKyNkZWZpbmUgUjAodix3LHgseSx6LGkpIHorPSgodyYoeF55KSleeSkrYmxrMChpKSsweDVBODI3OTk5K3JvbCh2LDUpO3c9cm9sKHcsMzApOworI2RlZmluZSBSMSh2LHcseCx5LHosaSkgeis9KCh3Jih4XnkpKV55KStibGsoaSkrMHg1QTgyNzk5OStyb2wodiw1KTt3PXJvbCh3LDMwKTsKKyNkZWZpbmUgUjIodix3LHgseSx6LGkpIHorPSh3XnheeSkrYmxrKGkpKzB4NkVEOUVCQTErcm9sKHYsNSk7dz1yb2wodywzMCk7CisjZGVmaW5lIFIzKHYsdyx4LHkseixpKSB6Kz0oKCh3fHgpJnkpfCh3JngpKStibGsoaSkrMHg4RjFCQkNEQytyb2wodiw1KTt3PXJvbCh3LDMwKTsKKyNkZWZpbmUgUjQodix3LHgseSx6LGkpIHorPSh3XnheeSkrYmxrKGkpKzB4Q0E2MkMxRDYrcm9sKHYsNSk7dz1yb2wodywzMCk7CisKKy8qIEhhc2ggYSBzaW5nbGUgNTEyLWJpdCBibG9jay4gVGhpcyBpcyB0aGUgY29yZSBvZiB0aGUgYWxnb3JpdGhtLiAqLworCit2b2lkIHVsX1NIQTFUcmFuc2Zvcm0odWludDMyX3Qgc3RhdGVbNV0sIGNvbnN0IHVuc2lnbmVkIGNoYXIgYnVmZmVyWzY0XSkKK3sKKwl1aW50MzJfdCBhLCBiLCBjLCBkLCBlOworCisJdHlwZWRlZiB1bmlvbiB7CisJCXVuc2lnbmVkIGNoYXIgY1s2NF07CisJCXVpbnQzMl90IGxbMTZdOworCX0gQ0hBUjY0TE9ORzE2OworCisjaWZkZWYgVUxfU0hBMUhBTkRTT0ZGCisJQ0hBUjY0TE9ORzE2IGJsb2NrWzFdOwkvKiB1c2UgYXJyYXkgdG8gYXBwZWFyIGFzIGEgcG9pbnRlciAqLworCisJbWVtY3B5KGJsb2NrLCBidWZmZXIsIDY0KTsKKyNlbHNlCisJLyogVGhlIGZvbGxvd2luZyBoYWQgYmV0dGVyIG5ldmVyIGJlIHVzZWQgYmVjYXVzZSBpdCBjYXVzZXMgdGhlCisJICogcG9pbnRlci10by1jb25zdCBidWZmZXIgdG8gYmUgY2FzdCBpbnRvIGEgcG9pbnRlciB0byBub24tY29uc3QuCisJICogQW5kIHRoZSByZXN1bHQgaXMgd3JpdHRlbiB0aHJvdWdoLiAgSSB0aHJldyBhICJjb25zdCIgaW4sIGhvcGluZworCSAqIHRoaXMgd2lsbCBjYXVzZSBhIGRpYWdub3N0aWMuCisJICovCisJQ0hBUjY0TE9ORzE2ICpibG9jayA9IChjb25zdCBDSEFSNjRMT05HMTYgKilidWZmZXI7CisjZW5kaWYKKwkvKiBDb3B5IGNvbnRleHQtPnN0YXRlW10gdG8gd29ya2luZyB2YXJzICovCisJYSA9IHN0YXRlWzBdOworCWIgPSBzdGF0ZVsxXTsKKwljID0gc3RhdGVbMl07CisJZCA9IHN0YXRlWzNdOworCWUgPSBzdGF0ZVs0XTsKKwkvKiA0IHJvdW5kcyBvZiAyMCBvcGVyYXRpb25zIGVhY2guIExvb3AgdW5yb2xsZWQuICovCisJUjAoYSwgYiwgYywgZCwgZSwgMCk7CisJUjAoZSwgYSwgYiwgYywgZCwgMSk7CisJUjAoZCwgZSwgYSwgYiwgYywgMik7CisJUjAoYywgZCwgZSwgYSwgYiwgMyk7CisJUjAoYiwgYywgZCwgZSwgYSwgNCk7CisJUjAoYSwgYiwgYywgZCwgZSwgNSk7CisJUjAoZSwgYSwgYiwgYywgZCwgNik7CisJUjAoZCwgZSwgYSwgYiwgYywgNyk7CisJUjAoYywgZCwgZSwgYSwgYiwgOCk7CisJUjAoYiwgYywgZCwgZSwgYSwgOSk7CisJUjAoYSwgYiwgYywgZCwgZSwgMTApOworCVIwKGUsIGEsIGIsIGMsIGQsIDExKTsKKwlSMChkLCBlLCBhLCBiLCBjLCAxMik7CisJUjAoYywgZCwgZSwgYSwgYiwgMTMpOworCVIwKGIsIGMsIGQsIGUsIGEsIDE0KTsKKwlSMChhLCBiLCBjLCBkLCBlLCAxNSk7CisJUjEoZSwgYSwgYiwgYywgZCwgMTYpOworCVIxKGQsIGUsIGEsIGIsIGMsIDE3KTsKKwlSMShjLCBkLCBlLCBhLCBiLCAxOCk7CisJUjEoYiwgYywgZCwgZSwgYSwgMTkpOworCVIyKGEsIGIsIGMsIGQsIGUsIDIwKTsKKwlSMihlLCBhLCBiLCBjLCBkLCAyMSk7CisJUjIoZCwgZSwgYSwgYiwgYywgMjIpOworCVIyKGMsIGQsIGUsIGEsIGIsIDIzKTsKKwlSMihiLCBjLCBkLCBlLCBhLCAyNCk7CisJUjIoYSwgYiwgYywgZCwgZSwgMjUpOworCVIyKGUsIGEsIGIsIGMsIGQsIDI2KTsKKwlSMihkLCBlLCBhLCBiLCBjLCAyNyk7CisJUjIoYywgZCwgZSwgYSwgYiwgMjgpOworCVIyKGIsIGMsIGQsIGUsIGEsIDI5KTsKKwlSMihhLCBiLCBjLCBkLCBlLCAzMCk7CisJUjIoZSwgYSwgYiwgYywgZCwgMzEpOworCVIyKGQsIGUsIGEsIGIsIGMsIDMyKTsKKwlSMihjLCBkLCBlLCBhLCBiLCAzMyk7CisJUjIoYiwgYywgZCwgZSwgYSwgMzQpOworCVIyKGEsIGIsIGMsIGQsIGUsIDM1KTsKKwlSMihlLCBhLCBiLCBjLCBkLCAzNik7CisJUjIoZCwgZSwgYSwgYiwgYywgMzcpOworCVIyKGMsIGQsIGUsIGEsIGIsIDM4KTsKKwlSMihiLCBjLCBkLCBlLCBhLCAzOSk7CisJUjMoYSwgYiwgYywgZCwgZSwgNDApOworCVIzKGUsIGEsIGIsIGMsIGQsIDQxKTsKKwlSMyhkLCBlLCBhLCBiLCBjLCA0Mik7CisJUjMoYywgZCwgZSwgYSwgYiwgNDMpOworCVIzKGIsIGMsIGQsIGUsIGEsIDQ0KTsKKwlSMyhhLCBiLCBjLCBkLCBlLCA0NSk7CisJUjMoZSwgYSwgYiwgYywgZCwgNDYpOworCVIzKGQsIGUsIGEsIGIsIGMsIDQ3KTsKKwlSMyhjLCBkLCBlLCBhLCBiLCA0OCk7CisJUjMoYiwgYywgZCwgZSwgYSwgNDkpOworCVIzKGEsIGIsIGMsIGQsIGUsIDUwKTsKKwlSMyhlLCBhLCBiLCBjLCBkLCA1MSk7CisJUjMoZCwgZSwgYSwgYiwgYywgNTIpOworCVIzKGMsIGQsIGUsIGEsIGIsIDUzKTsKKwlSMyhiLCBjLCBkLCBlLCBhLCA1NCk7CisJUjMoYSwgYiwgYywgZCwgZSwgNTUpOworCVIzKGUsIGEsIGIsIGMsIGQsIDU2KTsKKwlSMyhkLCBlLCBhLCBiLCBjLCA1Nyk7CisJUjMoYywgZCwgZSwgYSwgYiwgNTgpOworCVIzKGIsIGMsIGQsIGUsIGEsIDU5KTsKKwlSNChhLCBiLCBjLCBkLCBlLCA2MCk7CisJUjQoZSwgYSwgYiwgYywgZCwgNjEpOworCVI0KGQsIGUsIGEsIGIsIGMsIDYyKTsKKwlSNChjLCBkLCBlLCBhLCBiLCA2Myk7CisJUjQoYiwgYywgZCwgZSwgYSwgNjQpOworCVI0KGEsIGIsIGMsIGQsIGUsIDY1KTsKKwlSNChlLCBhLCBiLCBjLCBkLCA2Nik7CisJUjQoZCwgZSwgYSwgYiwgYywgNjcpOworCVI0KGMsIGQsIGUsIGEsIGIsIDY4KTsKKwlSNChiLCBjLCBkLCBlLCBhLCA2OSk7CisJUjQoYSwgYiwgYywgZCwgZSwgNzApOworCVI0KGUsIGEsIGIsIGMsIGQsIDcxKTsKKwlSNChkLCBlLCBhLCBiLCBjLCA3Mik7CisJUjQoYywgZCwgZSwgYSwgYiwgNzMpOworCVI0KGIsIGMsIGQsIGUsIGEsIDc0KTsKKwlSNChhLCBiLCBjLCBkLCBlLCA3NSk7CisJUjQoZSwgYSwgYiwgYywgZCwgNzYpOworCVI0KGQsIGUsIGEsIGIsIGMsIDc3KTsKKwlSNChjLCBkLCBlLCBhLCBiLCA3OCk7CisJUjQoYiwgYywgZCwgZSwgYSwgNzkpOworCS8qIEFkZCB0aGUgd29ya2luZyB2YXJzIGJhY2sgaW50byBjb250ZXh0LnN0YXRlW10gKi8KKwlzdGF0ZVswXSArPSBhOworCXN0YXRlWzFdICs9IGI7CisJc3RhdGVbMl0gKz0gYzsKKwlzdGF0ZVszXSArPSBkOworCXN0YXRlWzRdICs9IGU7CisJLyogV2lwZSB2YXJpYWJsZXMgKi8KKwlhID0gYiA9IGMgPSBkID0gZSA9IDA7CisjaWZkZWYgVUxfU0hBMUhBTkRTT0ZGCisJbWVtc2V0KGJsb2NrLCAnXDAnLCBzaXplb2YoYmxvY2spKTsKKyNlbmRpZgorfQorCisvKiBTSEExSW5pdCAtIEluaXRpYWxpemUgbmV3IGNvbnRleHQgKi8KKwordm9pZCB1bF9TSEExSW5pdChVTF9TSEExX0NUWCAqY29udGV4dCkKK3sKKwkvKiBTSEExIGluaXRpYWxpemF0aW9uIGNvbnN0YW50cyAqLworCWNvbnRleHQtPnN0YXRlWzBdID0gMHg2NzQ1MjMwMTsKKwljb250ZXh0LT5zdGF0ZVsxXSA9IDB4RUZDREFCODk7CisJY29udGV4dC0+c3RhdGVbMl0gPSAweDk4QkFEQ0ZFOworCWNvbnRleHQtPnN0YXRlWzNdID0gMHgxMDMyNTQ3NjsKKwljb250ZXh0LT5zdGF0ZVs0XSA9IDB4QzNEMkUxRjA7CisJY29udGV4dC0+Y291bnRbMF0gPSBjb250ZXh0LT5jb3VudFsxXSA9IDA7Cit9CisKKy8qIFJ1biB5b3VyIGRhdGEgdGhyb3VnaCB0aGlzLiAqLworCit2b2lkIHVsX1NIQTFVcGRhdGUoVUxfU0hBMV9DVFggKmNvbnRleHQsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIHVpbnQzMl90IGxlbikKK3sKKwl1aW50MzJfdCBpOworCisJdWludDMyX3QgajsKKworCWogPSBjb250ZXh0LT5jb3VudFswXTsKKwlpZiAoKGNvbnRleHQtPmNvdW50WzBdICs9IGxlbiA8PCAzKSA8IGopCisJCWNvbnRleHQtPmNvdW50WzFdKys7CisJY29udGV4dC0+Y291bnRbMV0gKz0gKGxlbiA+PiAyOSk7CisJaiA9IChqID4+IDMpICYgNjM7CisJaWYgKChqICsgbGVuKSA+IDYzKSB7CisJCW1lbWNweSgmY29udGV4dC0+YnVmZmVyW2pdLCBkYXRhLCAoaSA9IDY0IC0gaikpOworCQl1bF9TSEExVHJhbnNmb3JtKGNvbnRleHQtPnN0YXRlLCBjb250ZXh0LT5idWZmZXIpOworCQlmb3IgKDsgaSArIDYzIDwgbGVuOyBpICs9IDY0KSB7CisJCQl1bF9TSEExVHJhbnNmb3JtKGNvbnRleHQtPnN0YXRlLCAmZGF0YVtpXSk7CisJCX0KKwkJaiA9IDA7CisJfSBlbHNlCisJCWkgPSAwOworCW1lbWNweSgmY29udGV4dC0+YnVmZmVyW2pdLCAmZGF0YVtpXSwgbGVuIC0gaSk7Cit9CisKKy8qIEFkZCBwYWRkaW5nIGFuZCByZXR1cm4gdGhlIG1lc3NhZ2UgZGlnZXN0LiAqLworCit2b2lkIHVsX1NIQTFGaW5hbCh1bnNpZ25lZCBjaGFyIGRpZ2VzdFsyMF0sIFVMX1NIQTFfQ1RYICpjb250ZXh0KQoreworCXVuc2lnbmVkIGk7CisKKwl1bnNpZ25lZCBjaGFyIGZpbmFsY291bnRbOF07CisKKwl1bnNpZ25lZCBjaGFyIGM7CisKKyNpZiAwCQkJCS8qIHVudGVzdGVkICJpbXByb3ZlbWVudCIgYnkgREhSICovCisJLyogQ29udmVydCBjb250ZXh0LT5jb3VudCB0byBhIHNlcXVlbmNlIG9mIGJ5dGVzCisJICogaW4gZmluYWxjb3VudC4gIFNlY29uZCBlbGVtZW50IGZpcnN0LCBidXQKKwkgKiBiaWctZW5kaWFuIG9yZGVyIHdpdGhpbiBlbGVtZW50LgorCSAqIEJ1dCB3ZSBkbyBpdCBhbGwgYmFja3dhcmRzLgorCSAqLworCXVuc2lnbmVkIGNoYXIgKmZjcCA9ICZmaW5hbGNvdW50WzhdOworCisJZm9yIChpID0gMDsgaSA8IDI7IGkrKykgeworCQl1aW50MzJfdCB0ID0gY29udGV4dC0+Y291bnRbaV07CisKKwkJaW50IGo7CisKKwkJZm9yIChqID0gMDsgaiA8IDQ7IHQgPj49IDgsIGorKykKKwkJCSotLWZjcCA9ICh1bnNpZ25lZCBjaGFyKXR9CisjZWxzZQorCWZvciAoaSA9IDA7IGkgPCA4OyBpKyspIHsKKwkJZmluYWxjb3VudFtpXSA9ICh1bnNpZ25lZCBjaGFyKSgoY29udGV4dC0+Y291bnRbKGkgPj0gNCA/IDAgOiAxKV0gPj4gKCgzIC0gKGkgJiAzKSkgKiA4KSkgJiAyNTUpOwkvKiBFbmRpYW4gaW5kZXBlbmRlbnQgKi8KKwl9CisjZW5kaWYKKwljID0gMDIwMDsKKwl1bF9TSEExVXBkYXRlKGNvbnRleHQsICZjLCAxKTsKKwl3aGlsZSAoKGNvbnRleHQtPmNvdW50WzBdICYgNTA0KSAhPSA0NDgpIHsKKwkJYyA9IDAwMDA7CisJCXVsX1NIQTFVcGRhdGUoY29udGV4dCwgJmMsIDEpOworCX0KKwl1bF9TSEExVXBkYXRlKGNvbnRleHQsIGZpbmFsY291bnQsIDgpOwkvKiBTaG91bGQgY2F1c2UgYSBTSEExVHJhbnNmb3JtKCkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgMjA7IGkrKykgeworCQlkaWdlc3RbaV0gPSAodW5zaWduZWQgY2hhcikKKwkJICAgICgoY29udGV4dC0+c3RhdGVbaSA+PiAyXSA+PiAoKDMgLSAoaSAmIDMpKSAqIDgpKSAmIDI1NSk7CisJfQorCS8qIFdpcGUgdmFyaWFibGVzICovCisJbWVtc2V0KGNvbnRleHQsICdcMCcsIHNpemVvZigqY29udGV4dCkpOworCW1lbXNldCgmZmluYWxjb3VudCwgJ1wwJywgc2l6ZW9mKGZpbmFsY291bnQpKTsKK30KKwordm9pZCB1bF9TSEExKGNoYXIgKmhhc2hfb3V0LCBjb25zdCBjaGFyICpzdHIsIHVuc2lnbmVkIGxlbikKK3sKKwlVTF9TSEExX0NUWCBjdHg7CisJdW5zaWduZWQgaW50IGlpOworCisJdWxfU0hBMUluaXQoJmN0eCk7CisJZm9yIChpaSA9IDA7IGlpIDwgbGVuOyBpaSArPSAxKQorCQl1bF9TSEExVXBkYXRlKCZjdHgsIChjb25zdCB1bnNpZ25lZCBjaGFyICopc3RyICsgaWksIDEpOworCXVsX1NIQTFGaW5hbCgodW5zaWduZWQgY2hhciAqKWhhc2hfb3V0LCAmY3R4KTsKKwloYXNoX291dFsyMF0gPSAnXDAnOworfQpkaWZmIC0tZ2l0IGEvbGliL3NpZ25hbWVzLmMgYi9saWIvc2lnbmFtZXMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTZlZWM1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3NpZ25hbWVzLmMKQEAgLTAsMCArMSwyMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODgsIDE5OTMsIDE5OTQsIDIwMTcKKyAqICBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICogIFRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqICBDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKy8qCisgKiAgMjAxNy0xMC0xNCBOaWtsYXMgSGFtYsO8Y2hlbiA8bWFpbEBuaDIubWU+CisgKiAgLSBFeHRyYWN0ZWQgc2lnbmFsIG5hbWVzIG1hcHBpbmcgZnJvbSBraWxsLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNyBOaWtsYXMgSGFtYsO8Y2hlbiA8bWFpbEBuaDIubWU+CisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CQkvKiBmb3IgaXNkaWdpdCgpICovCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInNpZ25hbWVzLmgiCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgdWxfc2lnbmFsX25hbWUgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJaW50IHZhbDsKK30gdWxfc2lnbmFtZXNbXSA9IHsKKwkvKiBQT1NJWCBzaWduYWxzICovCisJeyAiSFVQIiwJU0lHSFVQIH0sCS8qIDEgKi8KKwl7ICJJTlQiLAlTSUdJTlQgfSwJLyogMiAqLworCXsgIlFVSVQiLAlTSUdRVUlUIH0sCS8qIDMgKi8KKwl7ICJJTEwiLAlTSUdJTEwgfSwJLyogNCAqLworI2lmZGVmIFNJR1RSQVAKKwl7ICJUUkFQIiwJU0lHVFJBUCB9LAkvKiA1ICovCisjZW5kaWYKKwl7ICJBQlJUIiwJU0lHQUJSVCB9LAkvKiA2ICovCisjaWZkZWYgU0lHSU9UCisJeyAiSU9UIiwJU0lHSU9UIH0sCS8qIDYsIHNhbWUgYXMgU0lHQUJSVCAqLworI2VuZGlmCisjaWZkZWYgU0lHRU1UCisJeyAiRU1UIiwJU0lHRU1UIH0sCS8qIDcgKG1pcHMsYWxwaGEsc3BhcmMqKSAqLworI2VuZGlmCisjaWZkZWYgU0lHQlVTCisJeyAiQlVTIiwJU0lHQlVTIH0sCS8qIDcgKGFybSxpMzg2LG02OGsscHBjKSwgMTAgKG1pcHMsYWxwaGEsc3BhcmMqKSAqLworI2VuZGlmCisJeyAiRlBFIiwJU0lHRlBFIH0sCS8qIDggKi8KKwl7ICJLSUxMIiwJU0lHS0lMTCB9LAkvKiA5ICovCisJeyAiVVNSMSIsCVNJR1VTUjEgfSwJLyogMTAgKGFybSxpMzg2LG02OGsscHBjKSwgMzAgKGFscGhhLHNwYXJjKiksIDE2IChtaXBzKSAqLworCXsgIlNFR1YiLAlTSUdTRUdWIH0sCS8qIDExICovCisJeyAiVVNSMiIsCVNJR1VTUjIgfSwJLyogMTIgKGFybSxpMzg2LG02OGsscHBjKSwgMzEgKGFscGhhLHNwYXJjKiksIDE3IChtaXBzKSAqLworCXsgIlBJUEUiLAlTSUdQSVBFIH0sCS8qIDEzICovCisJeyAiQUxSTSIsCVNJR0FMUk0gfSwJLyogMTQgKi8KKwl7ICJURVJNIiwJU0lHVEVSTSB9LAkvKiAxNSAqLworI2lmZGVmIFNJR1NUS0ZMVAorCXsgIlNUS0ZMVCIsCVNJR1NUS0ZMVCB9LAkvKiAxNiAoYXJtLGkzODYsbTY4ayxwcGMpICovCisjZW5kaWYKKwl7ICJDSExEIiwJU0lHQ0hMRCB9LAkvKiAxNyAoYXJtLGkzODYsbTY4ayxwcGMpLCAyMCAoYWxwaGEsc3BhcmMqKSwgMTggKG1pcHMpICovCisjaWZkZWYgU0lHQ0xECisJeyAiQ0xEIiwJU0lHQ0xEIH0sCS8qIHNhbWUgYXMgU0lHQ0hMRCAobWlwcykgKi8KKyNlbmRpZgorCXsgIkNPTlQiLAlTSUdDT05UIH0sCS8qIDE4IChhcm0saTM4NixtNjhrLHBwYyksIDE5IChhbHBoYSxzcGFyYyopLCAyNSAobWlwcykgKi8KKwl7ICJTVE9QIiwJU0lHU1RPUCB9LAkvKiAxOSAoYXJtLGkzODYsbTY4ayxwcGMpLCAxNyAoYWxwaGEsc3BhcmMqKSwgMjMgKG1pcHMpICovCisJeyAiVFNUUCIsCVNJR1RTVFAgfSwJLyogMjAgKGFybSxpMzg2LG02OGsscHBjKSwgMTggKGFscGhhLHNwYXJjKiksIDI0IChtaXBzKSAqLworCXsgIlRUSU4iLAlTSUdUVElOIH0sCS8qIDIxIChhcm0saTM4NixtNjhrLHBwYyxhbHBoYSxzcGFyYyopLCAyNiAobWlwcykgKi8KKwl7ICJUVE9VIiwJU0lHVFRPVSB9LAkvKiAyMiAoYXJtLGkzODYsbTY4ayxwcGMsYWxwaGEsc3BhcmMqKSwgMjcgKG1pcHMpICovCisjaWZkZWYgU0lHVVJHCisJeyAiVVJHIiwJU0lHVVJHIH0sCS8qIDIzIChhcm0saTM4NixtNjhrLHBwYyksIDE2IChhbHBoYSxzcGFyYyopLCAyMSAobWlwcykgKi8KKyNlbmRpZgorI2lmZGVmIFNJR1hDUFUKKwl7ICJYQ1BVIiwJU0lHWENQVSB9LAkvKiAyNCAoYXJtLGkzODYsbTY4ayxwcGMsYWxwaGEsc3BhcmMqKSwgMzAgKG1pcHMpICovCisjZW5kaWYKKyNpZmRlZiBTSUdYRlNaCisJeyAiWEZTWiIsCVNJR1hGU1ogfSwJLyogMjUgKGFybSxpMzg2LG02OGsscHBjLGFscGhhLHNwYXJjKiksIDMxIChtaXBzKSAqLworI2VuZGlmCisjaWZkZWYgU0lHVlRBTFJNCisJeyAiVlRBTFJNIiwJU0lHVlRBTFJNIH0sCS8qIDI2IChhcm0saTM4NixtNjhrLHBwYyxhbHBoYSxzcGFyYyopLCAyOCAobWlwcykgKi8KKyNlbmRpZgorI2lmZGVmIFNJR1BST0YKKwl7ICJQUk9GIiwJU0lHUFJPRiB9LAkvKiAyNyAoYXJtLGkzODYsbTY4ayxwcGMsYWxwaGEsc3BhcmMqKSwgMjkgKG1pcHMpICovCisjZW5kaWYKKyNpZmRlZiBTSUdXSU5DSAorCXsgIldJTkNIIiwJU0lHV0lOQ0ggfSwJLyogMjggKGFybSxpMzg2LG02OGsscHBjLGFscGhhLHNwYXJjKiksIDIwIChtaXBzKSAqLworI2VuZGlmCisjaWZkZWYgU0lHSU8KKwl7ICJJTyIsCQlTSUdJTyB9LAkvKiAyOSAoYXJtLGkzODYsbTY4ayxwcGMpLCAyMyAoYWxwaGEsc3BhcmMqKSwgMjIgKG1pcHMpICovCisjZW5kaWYKKyNpZmRlZiBTSUdQT0xMCisJeyAiUE9MTCIsCVNJR1BPTEwgfSwJLyogc2FtZSBhcyBTSUdJTyAqLworI2VuZGlmCisjaWZkZWYgU0lHSU5GTworCXsgIklORk8iLAlTSUdJTkZPIH0sCS8qIDI5IChhbHBoYSkgKi8KKyNlbmRpZgorI2lmZGVmIFNJR0xPU1QKKwl7ICJMT1NUIiwJU0lHTE9TVCB9LAkvKiAyOSAoYXJtLGkzODYsbTY4ayxwcGMsc3BhcmMqKSAqLworI2VuZGlmCisjaWZkZWYgU0lHUFdSCisJeyAiUFdSIiwJU0lHUFdSIH0sCS8qIDMwIChhcm0saTM4NixtNjhrLHBwYyksIDI5IChhbHBoYSxzcGFyYyopLCAxOSAobWlwcykgKi8KKyNlbmRpZgorI2lmZGVmIFNJR1VOVVNFRAorCXsgIlVOVVNFRCIsCVNJR1VOVVNFRCB9LAkvKiAzMSAoYXJtLGkzODYsbTY4ayxwcGMpICovCisjZW5kaWYKKyNpZmRlZiBTSUdTWVMKKwl7ICJTWVMiLAlTSUdTWVMgfSwJLyogMzEgKG1pcHMsYWxwaGEsc3BhcmMqKSAqLworI2VuZGlmCit9OworCisjaWZkZWYgU0lHUlRNSU4KK3N0YXRpYyBpbnQgcnRzaWdfdG9fc2lnbnVtKGNvbnN0IGNoYXIgKnNpZykKK3sKKwlpbnQgbnVtLCBtYXhpID0gMDsKKwljaGFyICplcCA9IE5VTEw7CisKKwlpZiAoc3RybmNhc2VjbXAoc2lnLCAibWluKyIsIDQpID09IDApCisJCXNpZyArPSA0OworCWVsc2UgaWYgKHN0cm5jYXNlY21wKHNpZywgIm1heC0iLCA0KSA9PSAwKSB7CisJCXNpZyArPSA0OworCQltYXhpID0gMTsKKwl9CisJaWYgKCFpc2RpZ2l0KCpzaWcpKQorCQlyZXR1cm4gLTE7CisJZXJybm8gPSAwOworCW51bSA9IHN0cnRvbChzaWcsICZlcCwgMTApOworCWlmICghZXAgfHwgc2lnID09IGVwIHx8IGVycm5vIHx8IG51bSA8IDApCisJCXJldHVybiAtMTsKKwludW0gPSBtYXhpID8gU0lHUlRNQVggLSBudW0gOiBTSUdSVE1JTiArIG51bTsKKwlpZiAobnVtIDwgU0lHUlRNSU4gfHwgU0lHUlRNQVggPCBudW0pCisJCXJldHVybiAtMTsKKwlyZXR1cm4gbnVtOworfQorI2VuZGlmCisKK2ludCBzaWduYW1lX3RvX3NpZ251bShjb25zdCBjaGFyICpzaWcpCit7CisJc2l6ZV90IG47CisKKwlpZiAoIXN0cm5jYXNlY21wKHNpZywgInNpZyIsIDMpKQorCQlzaWcgKz0gMzsKKyNpZmRlZiBTSUdSVE1JTgorCS8qIFJUIHNpZ25hbHMgKi8KKwlpZiAoIXN0cm5jYXNlY21wKHNpZywgInJ0IiwgMikpCisJCXJldHVybiBydHNpZ190b19zaWdudW0oc2lnICsgMik7CisjZW5kaWYKKwkvKiBOb3JtYWwgc2lnbmFscyAqLworCWZvciAobiA9IDA7IG4gPCBBUlJBWV9TSVpFKHVsX3NpZ25hbWVzKTsgbisrKSB7CisJCWlmICghc3RyY2FzZWNtcCh1bF9zaWduYW1lc1tuXS5uYW1lLCBzaWcpKQorCQkJcmV0dXJuIHVsX3NpZ25hbWVzW25dLnZhbDsKKwl9CisJcmV0dXJuIC0xOworfQorCitjb25zdCBjaGFyICpzaWdudW1fdG9fc2lnbmFtZShpbnQgc2lnbnVtKQoreworCXNpemVfdCBuOworCisJZm9yIChuID0gMDsgbiA8IEFSUkFZX1NJWkUodWxfc2lnbmFtZXMpOyBuKyspIHsKKwkJaWYgKHVsX3NpZ25hbWVzW25dLnZhbCA9PSBzaWdudW0pIHsKKwkJCXJldHVybiB1bF9zaWduYW1lc1tuXS5uYW1lOworCQl9CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKK2ludCBnZXRfc2lnbmFtZV9ieV9pZHgoc2l6ZV90IGlkeCwgY29uc3QgY2hhciAqKnNpZ25hbWUsIGludCAqc2lnbnVtKQoreworCWlmIChpZHggPj0gQVJSQVlfU0laRSh1bF9zaWduYW1lcykpCisJCXJldHVybiAtMTsKKworCWlmIChzaWduYW1lKQorCQkqc2lnbmFtZSA9IHVsX3NpZ25hbWVzW2lkeF0ubmFtZTsKKwlpZiAoc2lnbnVtKQorCQkqc2lnbnVtID0gdWxfc2lnbmFtZXNbaWR4XS52YWw7CisJcmV0dXJuIDA7CisKK30KKwpkaWZmIC0tZ2l0IGEvbGliL3N0cnV0aWxzLmMgYi9saWIvc3RydXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGVhNmYyCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3N0cnV0aWxzLmMKQEAgLTAsMCArMSwxMDI3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEwIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIKKworc3RhdGljIGludCBTVFJUT1hYX0VYSVRfQ09ERSA9IEVYSVRfRkFJTFVSRTsKKwordm9pZCBzdHJ1dGlsc19zZXRfZXhpdGNvZGUoaW50IGV4KSB7CisJU1RSVE9YWF9FWElUX0NPREUgPSBleDsKK30KKworc3RhdGljIGludCBkb19zY2FsZV9ieV9wb3dlciAodWludG1heF90ICp4LCBpbnQgYmFzZSwgaW50IHBvd2VyKQoreworCXdoaWxlIChwb3dlci0tKSB7CisJCWlmIChVSU5UTUFYX01BWCAvIGJhc2UgPCAqeCkKKwkJCXJldHVybiAtRVJBTkdFOworCQkqeCAqPSBiYXNlOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIHN0cnRvc2l6ZSgpIC0gY29udmVydCBzdHJpbmcgdG8gc2l6ZSAodWludG1heF90KS4KKyAqCisgKiBTdXBwb3J0ZWQgc3VmZml4ZXM6CisgKgorICogWGlCIG9yIFggZm9yIDJeTgorICogICAgIHdoZXJlIFggPSB7SyxNLEcsVCxQLEUsWixZfQorICogICAgICAgIG9yIFggPSB7ayxtLGcsdCxwLGV9ICAodW5kb2N1bWVudGVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpCisgKiBmb3IgZXhhbXBsZToKKyAqCQkxMEtpQgk9IDEwMjQwCisgKgkJMTBLCT0gMTAyNDAKKyAqCisgKiBYQiBmb3IgMTBeTgorICogICAgIHdoZXJlIFggPSB7SyxNLEcsVCxQLEUsWixZfQorICogZm9yIGV4YW1wbGU6CisgKgkJMTBLQgk9IDEwMDAwCisgKgorICogVGhlIG9wdGlvbmFsICdwb3dlcicgdmFyaWFibGUgcmV0dXJucyBudW1iZXIgYXNzb2NpYXRlZCB3aXRoIHVzZWQgc3VmZml4CisgKiB7SyxNLEcsVCxQLEUsWixZfSAgPSB7MSwyLDMsNCw1LDYsNyw4fS4KKyAqCisgKiBUaGUgZnVuY3Rpb24gYWxzbyBzdXBwb3J0cyBkZWNpbWFsIHBvaW50LCBmb3IgZXhhbXBsZToKKyAqICAgICAgICAgICAgICAwLjVNQiAgID0gNTAwMDAwCisgKiAgICAgICAgICAgICAgMC41TWlCICA9IDUxMjAwMAorICoKKyAqIE5vdGUgdGhhdCB0aGUgZnVuY3Rpb24gZG9lcyBub3QgYWNjZXB0IG51bWJlcnMgd2l0aCAnLScgKG5lZ2F0aXZlIHNpZ24pCisgKiBwcmVmaXguCisgKi8KK2ludCBwYXJzZV9zaXplKGNvbnN0IGNoYXIgKnN0ciwgdWludG1heF90ICpyZXMsIGludCAqcG93ZXIpCit7CisJY29uc3QgY2hhciAqcDsKKwljaGFyICplbmQ7CisJdWludG1heF90IHgsIGZyYWMgPSAwOworCWludCBiYXNlID0gMTAyNCwgcmMgPSAwLCBwd3IgPSAwLCBmcmFjX3plcm9zID0gMDsKKworCXN0YXRpYyBjb25zdCBjaGFyICpzdWYgID0gIktNR1RQRVpZIjsKKwlzdGF0aWMgY29uc3QgY2hhciAqc3VmMiA9ICJrbWd0cGV6eSI7CisJY29uc3QgY2hhciAqc3A7CisKKwkqcmVzID0gMDsKKworCWlmICghc3RyIHx8ICEqc3RyKSB7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBlcnI7CisJfQorCisJLyogT25seSBwb3NpdGl2ZSBudW1iZXJzIGFyZSBhY2NlcHRhYmxlCisJICoKKwkgKiBOb3RlIHRoYXQgdGhpcyBjaGVjayBpcyBub3QgcGVyZmVjdCwgaXQgd291bGQgYmUgYmV0dGVyIHRvCisJICogdXNlIGxjb252LT5uZWdhdGl2ZV9zaWduLiBCdXQgY29yZXV0aWxzIHVzZSB0aGUgc2FtZSBzb2x1dGlvbiwKKwkgKiBzbyBpdCdzIHByb2JhYmx5IGdvb2QgZW5vdWdoLi4uCisJICovCisJcCA9IHN0cjsKKwl3aGlsZSAoaXNzcGFjZSgodW5zaWduZWQgY2hhcikgKnApKQorCQlwKys7CisJaWYgKCpwID09ICctJykgeworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXJyOworCX0KKworCWVycm5vID0gMCwgZW5kID0gTlVMTDsKKwl4ID0gc3RydG91bWF4KHN0ciwgJmVuZCwgMCk7CisKKwlpZiAoZW5kID09IHN0ciB8fAorCSAgICAoZXJybm8gIT0gMCAmJiAoeCA9PSBVSU5UTUFYX01BWCB8fCB4ID09IDApKSkgeworCQlyYyA9IGVycm5vID8gLWVycm5vIDogLUVJTlZBTDsKKwkJZ290byBlcnI7CisJfQorCWlmICghZW5kIHx8ICEqZW5kKQorCQlnb3RvIGRvbmU7CQkJLyogd2l0aG91dCBzdWZmaXggKi8KKwlwID0gZW5kOworCisJLyoKKwkgKiBDaGVjayBzaXplIHN1ZmZpeGVzCisJICovCitjaGVja19zdWZmaXg6CisJaWYgKCoocCArIDEpID09ICdpJyAmJiAoKihwICsgMikgPT0gJ0InIHx8ICoocCArIDIpID09ICdiJykgJiYgISoocCArIDMpKQorCQliYXNlID0gMTAyNDsJCQkvKiBYaUIsIDJeTiAqLworCWVsc2UgaWYgKCgqKHAgKyAxKSA9PSAnQicgfHwgKihwICsgMSkgPT0gJ2InKSAmJiAhKihwICsgMikpCisJCWJhc2UgPSAxMDAwOwkJCS8qIFhCLCAxMF5OICovCisJZWxzZSBpZiAoKihwICsgMSkpIHsKKwkJc3RydWN0IGxjb252IGNvbnN0ICpsID0gbG9jYWxlY29udigpOworCQljb25zdCBjaGFyICpkcCA9IGwgPyBsLT5kZWNpbWFsX3BvaW50IDogTlVMTDsKKwkJc2l6ZV90IGRwc3ogPSBkcCA/IHN0cmxlbihkcCkgOiAwOworCisJCWlmIChmcmFjID09IDAgJiYgKnAgJiYgZHAgJiYgc3RybmNtcChkcCwgcCwgZHBzeikgPT0gMCkgeworCQkJY29uc3QgY2hhciAqZnN0ciA9IHAgKyBkcHN6OworCisJCQlmb3IgKHAgPSBmc3RyOyAqcCA9PSAnMCc7IHArKykKKwkJCQlmcmFjX3plcm9zKys7CisJCQllcnJubyA9IDAsIGVuZCA9IE5VTEw7CisJCQlmcmFjID0gc3RydG91bWF4KGZzdHIsICZlbmQsIDApOworCQkJaWYgKGVuZCA9PSBmc3RyIHx8CisJCQkgICAgKGVycm5vICE9IDAgJiYgKGZyYWMgPT0gVUlOVE1BWF9NQVggfHwgZnJhYyA9PSAwKSkpIHsKKwkJCQlyYyA9IGVycm5vID8gLWVycm5vIDogLUVJTlZBTDsKKwkJCQlnb3RvIGVycjsKKwkJCX0KKwkJCWlmIChmcmFjICYmICghZW5kICB8fCAhKmVuZCkpIHsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQkJZ290byBlcnI7CQkvKiB3aXRob3V0IHN1ZmZpeCwgYnV0IHdpdGggZnJhYyAqLworCQkJfQorCQkJcCA9IGVuZDsKKwkJCWdvdG8gY2hlY2tfc3VmZml4OworCQl9CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBlcnI7CQkJLyogdW5leHBlY3RlZCBzdWZmaXggKi8KKwl9CisKKwlzcCA9IHN0cmNocihzdWYsICpwKTsKKwlpZiAoc3ApCisJCXB3ciA9IChzcCAtIHN1ZikgKyAxOworCWVsc2UgeworCQlzcCA9IHN0cmNocihzdWYyLCAqcCk7CisJCWlmIChzcCkKKwkJCXB3ciA9IChzcCAtIHN1ZjIpICsgMTsKKwkJZWxzZSB7CisJCQlyYyA9IC1FSU5WQUw7CisJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCXJjID0gZG9fc2NhbGVfYnlfcG93ZXIoJngsIGJhc2UsIHB3cik7CisJaWYgKHBvd2VyKQorCQkqcG93ZXIgPSBwd3I7CisJaWYgKGZyYWMgJiYgcHdyKSB7CisJCWludCB6ZXJvc19pbl9wd3IgPSBmcmFjX3plcm9zICUgMzsKKwkJaW50IGZyYWNfcHdyID0gcHdyIC0gKGZyYWNfemVyb3MgLyAzKSAtIDE7CisJCXVpbnRtYXhfdCB5ID0gZnJhYyAqICh6ZXJvc19pbl9wd3IgPT0gMCA/IDEwMCA6CisJCQkJICAgICAgemVyb3NfaW5fcHdyID09IDEgPyAgMTAgOiAxKTsKKworCQlpZiAoZnJhY19wd3IgPCAwKSB7CisJCQlyYyA9IC1FSU5WQUw7CisJCQlnb3RvIGVycjsKKwkJfQorCQlkb19zY2FsZV9ieV9wb3dlcigmeSwgYmFzZSwgZnJhY19wd3IpOworCQl4ICs9IHk7CisJfQorZG9uZToKKwkqcmVzID0geDsKK2VycjoKKwlpZiAocmMgPCAwKQorCQllcnJubyA9IC1yYzsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBzdHJ0b3NpemUoY29uc3QgY2hhciAqc3RyLCB1aW50bWF4X3QgKnJlcykKK3sKKwlyZXR1cm4gcGFyc2Vfc2l6ZShzdHIsIHJlcywgTlVMTCk7Cit9CisKK2ludCBpc2RpZ2l0X3N0cmVuZChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKiplbmQpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZvciAocCA9IHN0cjsgcCAmJiAqcCAmJiBpc2RpZ2l0KCh1bnNpZ25lZCBjaGFyKSAqcCk7IHArKyk7CisKKwlpZiAoZW5kKQorCQkqZW5kID0gcDsKKwlyZXR1cm4gcCAmJiBwID4gc3RyICYmICEqcDsKK30KKworaW50IGlzeGRpZ2l0X3N0cmVuZChjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKiplbmQpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZvciAocCA9IHN0cjsgcCAmJiAqcCAmJiBpc3hkaWdpdCgodW5zaWduZWQgY2hhcikgKnApOyBwKyspOworCisJaWYgKGVuZCkKKwkJKmVuZCA9IHA7CisKKwlyZXR1cm4gcCAmJiBwID4gc3RyICYmICEqcDsKK30KKworLyoKKyAqICBwYXJzZV9zd2l0Y2goYXJndltpXSwgIm9uIiwgIm9mZiIsICAieWVzIiwgIm5vIiwgIE5VTEwpOworICovCitpbnQgcGFyc2Vfc3dpdGNoKGNvbnN0IGNoYXIgKmFyZywgY29uc3QgY2hhciAqZXJybWVzZywgLi4uKQoreworCWNvbnN0IGNoYXIgKmEsICpiOworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgZXJybWVzZyk7CisJZG8geworCQlhID0gdmFfYXJnKGFwLCBjaGFyICopOworCQlpZiAoIWEpCisJCQlicmVhazsKKwkJYiA9IHZhX2FyZyhhcCwgY2hhciAqKTsKKwkJaWYgKCFiKQorCQkJYnJlYWs7CisKKwkJaWYgKHN0cmNtcChhcmcsIGEpID09IDApIHsKKwkJCXZhX2VuZChhcCk7CisJCQlyZXR1cm4gMTsKKwkJfSBlbHNlIGlmIChzdHJjbXAoYXJnLCBiKSA9PSAwKSB7CisJCQl2YV9lbmQoYXApOworCQkJcmV0dXJuIDA7CisJCX0KKwl9IHdoaWxlICgxKTsKKwl2YV9lbmQoYXApOworCisJZXJyeChTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgYXJnKTsKK30KKworI2lmbmRlZiBIQVZFX01FTVBDUFkKK3ZvaWQgKm1lbXBjcHkodm9pZCAqcmVzdHJpY3QgZGVzdCwgY29uc3Qgdm9pZCAqcmVzdHJpY3Qgc3JjLCBzaXplX3QgbikKK3sKKyAgICByZXR1cm4gKChjaGFyICopbWVtY3B5KGRlc3QsIHNyYywgbikpICsgbjsKK30KKyNlbmRpZgorCisjaWZuZGVmIEhBVkVfU1RSTkxFTgorc2l6ZV90IHN0cm5sZW4oY29uc3QgY2hhciAqcywgc2l6ZV90IG1heGxlbikKK3sKKyAgICAgICAgc2l6ZV90IGk7CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG1heGxlbjsgaSsrKSB7CisgICAgICAgICAgICAgICAgaWYgKHNbaV0gPT0gJ1wwJykKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBtYXhsZW47Cit9CisjZW5kaWYKKworI2lmbmRlZiBIQVZFX1NUUk5DSFIKK2NoYXIgKnN0cm5jaHIoY29uc3QgY2hhciAqcywgc2l6ZV90IG1heGxlbiwgaW50IGMpCit7CisJZm9yICg7IG1heGxlbi0tICYmICpzICE9ICdcMCc7ICsrcykKKwkJaWYgKCpzID09IChjaGFyKWMpCisJCQlyZXR1cm4gKGNoYXIgKilzOworCXJldHVybiBOVUxMOworfQorI2VuZGlmCisKKyNpZm5kZWYgSEFWRV9TVFJORFVQCitjaGFyICpzdHJuZHVwKGNvbnN0IGNoYXIgKnMsIHNpemVfdCBuKQoreworCXNpemVfdCBsZW4gPSBzdHJubGVuKHMsIG4pOworCWNoYXIgKm5ldyA9IG1hbGxvYygobGVuICsgMSkgKiBzaXplb2YoY2hhcikpOworCWlmICghbmV3KQorCQlyZXR1cm4gTlVMTDsKKwluZXdbbGVuXSA9ICdcMCc7CisJcmV0dXJuIChjaGFyICopIG1lbWNweShuZXcsIHMsIGxlbik7Cit9CisjZW5kaWYKKworc3RhdGljIHVpbnQzMl90IF9zdHJ0b3UzMl9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnLCBpbnQgYmFzZSk7CitzdGF0aWMgdWludDY0X3QgX3N0cnRvdTY0X29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2csIGludCBiYXNlKTsKKworaW50MTZfdCBzdHJ0b3MxNl9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCWludDMyX3QgbnVtID0gc3RydG9zMzJfb3JfZXJyKHN0ciwgZXJybWVzZyk7CisKKwlpZiAobnVtIDwgSU5UMTZfTUlOIHx8IG51bSA+IElOVDE2X01BWCkgeworCQllcnJubyA9IEVSQU5HRTsKKwkJZXJyKFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCX0KKwlyZXR1cm4gbnVtOworfQorCitzdGF0aWMgdWludDE2X3QgX3N0cnRvdTE2X29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2csIGludCBiYXNlKQoreworCXVpbnQzMl90IG51bSA9IF9zdHJ0b3UzMl9vcl9lcnIoc3RyLCBlcnJtZXNnLCBiYXNlKTsKKworCWlmIChudW0gPiBVSU5UMTZfTUFYKSB7CisJCWVycm5vID0gRVJBTkdFOworCQllcnIoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisJfQorCXJldHVybiBudW07Cit9CisKK3VpbnQxNl90IHN0cnRvdTE2X29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJcmV0dXJuIF9zdHJ0b3UxNl9vcl9lcnIoc3RyLCBlcnJtZXNnLCAxMCk7Cit9CisKK3VpbnQxNl90IHN0cnRveDE2X29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJcmV0dXJuIF9zdHJ0b3UxNl9vcl9lcnIoc3RyLCBlcnJtZXNnLCAxNik7Cit9CisKK2ludDMyX3Qgc3RydG9zMzJfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwlpbnQ2NF90IG51bSA9IHN0cnRvczY0X29yX2VycihzdHIsIGVycm1lc2cpOworCisJaWYgKG51bSA8IElOVDMyX01JTiB8fCBudW0gPiBJTlQzMl9NQVgpIHsKKwkJZXJybm8gPSBFUkFOR0U7CisJCWVycihTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKwl9CisJcmV0dXJuIG51bTsKK30KKworc3RhdGljIHVpbnQzMl90IF9zdHJ0b3UzMl9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnLCBpbnQgYmFzZSkKK3sKKwl1aW50NjRfdCBudW0gPSBfc3RydG91NjRfb3JfZXJyKHN0ciwgZXJybWVzZywgYmFzZSk7CisKKwlpZiAobnVtID4gVUlOVDMyX01BWCkgeworCQllcnJubyA9IEVSQU5HRTsKKwkJZXJyKFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCX0KKwlyZXR1cm4gbnVtOworfQorCit1aW50MzJfdCBzdHJ0b3UzMl9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCXJldHVybiBfc3RydG91MzJfb3JfZXJyKHN0ciwgZXJybWVzZywgMTApOworfQorCit1aW50MzJfdCBzdHJ0b3gzMl9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCXJldHVybiBfc3RydG91MzJfb3JfZXJyKHN0ciwgZXJybWVzZywgMTYpOworfQorCitpbnQ2NF90IHN0cnRvczY0X29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJaW50NjRfdCBudW07CisJY2hhciAqZW5kID0gTlVMTDsKKworCWVycm5vID0gMDsKKwlpZiAoc3RyID09IE5VTEwgfHwgKnN0ciA9PSAnXDAnKQorCQlnb3RvIGVycjsKKwludW0gPSBzdHJ0b2ltYXgoc3RyLCAmZW5kLCAxMCk7CisKKwlpZiAoZXJybm8gfHwgc3RyID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQlnb3RvIGVycjsKKworCXJldHVybiBudW07CitlcnI6CisJaWYgKGVycm5vID09IEVSQU5HRSkKKwkJZXJyKFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCisJZXJyeChTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKK30KKworc3RhdGljIHVpbnQ2NF90IF9zdHJ0b3U2NF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnLCBpbnQgYmFzZSkKK3sKKwl1aW50bWF4X3QgbnVtOworCWNoYXIgKmVuZCA9IE5VTEw7CisKKwllcnJubyA9IDA7CisJaWYgKHN0ciA9PSBOVUxMIHx8ICpzdHIgPT0gJ1wwJykKKwkJZ290byBlcnI7CisJbnVtID0gc3RydG91bWF4KHN0ciwgJmVuZCwgYmFzZSk7CisKKwlpZiAoZXJybm8gfHwgc3RyID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQlnb3RvIGVycjsKKworCXJldHVybiBudW07CitlcnI6CisJaWYgKGVycm5vID09IEVSQU5HRSkKKwkJZXJyKFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCisJZXJyeChTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKK30KKwordWludDY0X3Qgc3RydG91NjRfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwlyZXR1cm4gX3N0cnRvdTY0X29yX2VycihzdHIsIGVycm1lc2csIDEwKTsKK30KKwordWludDY0X3Qgc3RydG94NjRfb3JfZXJyKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwlyZXR1cm4gX3N0cnRvdTY0X29yX2VycihzdHIsIGVycm1lc2csIDE2KTsKK30KKworZG91YmxlIHN0cnRvZF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCWRvdWJsZSBudW07CisJY2hhciAqZW5kID0gTlVMTDsKKworCWVycm5vID0gMDsKKwlpZiAoc3RyID09IE5VTEwgfHwgKnN0ciA9PSAnXDAnKQorCQlnb3RvIGVycjsKKwludW0gPSBzdHJ0b2Qoc3RyLCAmZW5kKTsKKworCWlmIChlcnJubyB8fCBzdHIgPT0gZW5kIHx8IChlbmQgJiYgKmVuZCkpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG51bTsKK2VycjoKKwlpZiAoZXJybm8gPT0gRVJBTkdFKQorCQllcnIoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisKKwllcnJ4KFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworfQorCitsb25nIHN0cnRvbF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCWxvbmcgbnVtOworCWNoYXIgKmVuZCA9IE5VTEw7CisKKwllcnJubyA9IDA7CisJaWYgKHN0ciA9PSBOVUxMIHx8ICpzdHIgPT0gJ1wwJykKKwkJZ290byBlcnI7CisJbnVtID0gc3RydG9sKHN0ciwgJmVuZCwgMTApOworCisJaWYgKGVycm5vIHx8IHN0ciA9PSBlbmQgfHwgKGVuZCAmJiAqZW5kKSkKKwkJZ290byBlcnI7CisKKwlyZXR1cm4gbnVtOworZXJyOgorCWlmIChlcnJubyA9PSBFUkFOR0UpCisJCWVycihTVFJUT1hYX0VYSVRfQ09ERSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKworCWVycngoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7Cit9CisKK3Vuc2lnbmVkIGxvbmcgc3RydG91bF9vcl9lcnIoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCXVuc2lnbmVkIGxvbmcgbnVtOworCWNoYXIgKmVuZCA9IE5VTEw7CisKKwllcnJubyA9IDA7CisJaWYgKHN0ciA9PSBOVUxMIHx8ICpzdHIgPT0gJ1wwJykKKwkJZ290byBlcnI7CisJbnVtID0gc3RydG91bChzdHIsICZlbmQsIDEwKTsKKworCWlmIChlcnJubyB8fCBzdHIgPT0gZW5kIHx8IChlbmQgJiYgKmVuZCkpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG51bTsKK2VycjoKKwlpZiAoZXJybm8gPT0gRVJBTkdFKQorCQllcnIoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisKKwllcnJ4KFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworfQorCit1aW50bWF4X3Qgc3RydG9zaXplX29yX2Vycihjb25zdCBjaGFyICpzdHIsIGNvbnN0IGNoYXIgKmVycm1lc2cpCit7CisJdWludG1heF90IG51bTsKKworCWlmIChzdHJ0b3NpemUoc3RyLCAmbnVtKSA9PSAwKQorCQlyZXR1cm4gbnVtOworCisJaWYgKGVycm5vKQorCQllcnIoU1RSVE9YWF9FWElUX0NPREUsICIlczogJyVzJyIsIGVycm1lc2csIHN0cik7CisKKwllcnJ4KFNUUlRPWFhfRVhJVF9DT0RFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworfQorCisKK3ZvaWQgc3RydG90aW1ldmFsX29yX2Vycihjb25zdCBjaGFyICpzdHIsIHN0cnVjdCB0aW1ldmFsICp0diwgY29uc3QgY2hhciAqZXJybWVzZykKK3sKKwlkb3VibGUgdXNlcl9pbnB1dDsKKworCXVzZXJfaW5wdXQgPSBzdHJ0b2Rfb3JfZXJyKHN0ciwgZXJybWVzZyk7CisJdHYtPnR2X3NlYyA9ICh0aW1lX3QpIHVzZXJfaW5wdXQ7CisJdHYtPnR2X3VzZWMgPSAobG9uZykoKHVzZXJfaW5wdXQgLSB0di0+dHZfc2VjKSAqIDEwMDAwMDApOworfQorCisvKgorICogQ29udmVydHMgc3RhdC0+c3RfbW9kZSB0byBscygxKS1saWtlIG1vZGUgc3RyaW5nLiBUaGUgc2l6ZSBvZiAic3RyIiBtdXN0CisgKiBiZSAxMSBieXRlcy4KKyAqLwordm9pZCB4c3RybW9kZShtb2RlX3QgbW9kZSwgY2hhciAqc3RyKQoreworCXVuc2lnbmVkIHNob3J0IGkgPSAwOworCisJaWYgKFNfSVNESVIobW9kZSkpCisJCXN0cltpKytdID0gJ2QnOworCWVsc2UgaWYgKFNfSVNMTksobW9kZSkpCisJCXN0cltpKytdID0gJ2wnOworCWVsc2UgaWYgKFNfSVNDSFIobW9kZSkpCisJCXN0cltpKytdID0gJ2MnOworCWVsc2UgaWYgKFNfSVNCTEsobW9kZSkpCisJCXN0cltpKytdID0gJ2InOworCWVsc2UgaWYgKFNfSVNTT0NLKG1vZGUpKQorCQlzdHJbaSsrXSA9ICdzJzsKKwllbHNlIGlmIChTX0lTRklGTyhtb2RlKSkKKwkJc3RyW2krK10gPSAncCc7CisJZWxzZSBpZiAoU19JU1JFRyhtb2RlKSkKKwkJc3RyW2krK10gPSAnLSc7CisKKwlzdHJbaSsrXSA9IG1vZGUgJiBTX0lSVVNSID8gJ3InIDogJy0nOworCXN0cltpKytdID0gbW9kZSAmIFNfSVdVU1IgPyAndycgOiAnLSc7CisJc3RyW2krK10gPSAobW9kZSAmIFNfSVNVSUQKKwkJPyAobW9kZSAmIFNfSVhVU1IgPyAncycgOiAnUycpCisJCTogKG1vZGUgJiBTX0lYVVNSID8gJ3gnIDogJy0nKSk7CisJc3RyW2krK10gPSBtb2RlICYgU19JUkdSUCA/ICdyJyA6ICctJzsKKwlzdHJbaSsrXSA9IG1vZGUgJiBTX0lXR1JQID8gJ3cnIDogJy0nOworCXN0cltpKytdID0gKG1vZGUgJiBTX0lTR0lECisJCT8gKG1vZGUgJiBTX0lYR1JQID8gJ3MnIDogJ1MnKQorCQk6IChtb2RlICYgU19JWEdSUCA/ICd4JyA6ICctJykpOworCXN0cltpKytdID0gbW9kZSAmIFNfSVJPVEggPyAncicgOiAnLSc7CisJc3RyW2krK10gPSBtb2RlICYgU19JV09USCA/ICd3JyA6ICctJzsKKwlzdHJbaSsrXSA9IChtb2RlICYgU19JU1ZUWAorCQk/IChtb2RlICYgU19JWE9USCA/ICd0JyA6ICdUJykKKwkJOiAobW9kZSAmIFNfSVhPVEggPyAneCcgOiAnLScpKTsKKwlzdHJbaV0gPSAnXDAnOworfQorCisvKgorICogcmV0dXJucyBleHBvbmVudCAoMl54PW4pIGluIHJhbmdlIEtpQi4uRWlCICgyXjEwLi4yXjYwKQorICovCitzdGF0aWMgaW50IGdldF9leHAodWludDY0X3QgbikKK3sKKwlpbnQgc2hmdDsKKworCWZvciAoc2hmdCA9IDEwOyBzaGZ0IDw9IDYwOyBzaGZ0ICs9IDEwKSB7CisJCWlmIChuIDwgKDFVTEwgPDwgc2hmdCkpCisJCQlicmVhazsKKwl9CisJcmV0dXJuIHNoZnQgLSAxMDsKK30KKworY2hhciAqc2l6ZV90b19odW1hbl9zdHJpbmcoaW50IG9wdGlvbnMsIHVpbnQ2NF90IGJ5dGVzKQoreworCWNoYXIgYnVmWzMyXTsKKwlpbnQgZGVjLCBleHA7CisJdWludDY0X3QgZnJhYzsKKwljb25zdCBjaGFyICpsZXR0ZXJzID0gIkJLTUdUUEUiOworCWNoYXIgc3VmZml4W3NpemVvZigiIEtpQiIpXSwgKnBzdWYgPSBzdWZmaXg7CisJY2hhciBjOworCisJaWYgKG9wdGlvbnMgJiBTSVpFX1NVRkZJWF9TUEFDRSkKKwkJKnBzdWYrKyA9ICcgJzsKKworCWV4cCAgPSBnZXRfZXhwKGJ5dGVzKTsKKwljICAgID0gKihsZXR0ZXJzICsgKGV4cCA/IGV4cCAvIDEwIDogMCkpOworCWRlYyAgPSBleHAgPyBieXRlcyAvICgxVUxMIDw8IGV4cCkgOiBieXRlczsKKwlmcmFjID0gZXhwID8gYnl0ZXMgJSAoMVVMTCA8PCBleHApIDogMDsKKworCSpwc3VmKysgPSBjOworCisJaWYgKChvcHRpb25zICYgU0laRV9TVUZGSVhfM0xFVFRFUikgJiYgKGMgIT0gJ0InKSkgeworCQkqcHN1ZisrID0gJ2knOworCQkqcHN1ZisrID0gJ0InOworCX0KKworCSpwc3VmID0gJ1wwJzsKKworCS8qIGZwcmludGYoc3RkZXJyLCAiZXhwOiAlZCwgdW5pdDogJWMsIGRlYzogJWQsIGZyYWM6ICVqZFxuIiwKKwkgKiAgICAgICAgICAgICAgICAgZXhwLCBzdWZmaXhbMF0sIGRlYywgZnJhYyk7CisJICovCisKKwlpZiAoZnJhYykgeworCQkvKiByb3VuZCAqLworCQlmcmFjID0gKGZyYWMgLyAoMVVMTCA8PCAoZXhwIC0gMTApKSArIDUwKSAvIDEwMDsKKwkJaWYgKGZyYWMgPT0gMTApCisJCQlkZWMrKywgZnJhYyA9IDA7CisJfQorCisJaWYgKGZyYWMpIHsKKwkJc3RydWN0IGxjb252IGNvbnN0ICpsID0gbG9jYWxlY29udigpOworCQljaGFyICpkcCA9IGwgPyBsLT5kZWNpbWFsX3BvaW50IDogTlVMTDsKKworCQlpZiAoIWRwIHx8ICEqZHApCisJCQlkcCA9ICIuIjsKKwkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVkJXMlIiBQUkl1NjQgIiVzIiwgZGVjLCBkcCwgZnJhYywgc3VmZml4KTsKKwl9IGVsc2UKKwkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVkJXMiLCBkZWMsIHN1ZmZpeCk7CisKKwlyZXR1cm4gc3RyZHVwKGJ1Zik7Cit9CisKKy8qCisgKiBQYXJzZXMgY29tbWEgZGVsaW1pdGVkIGxpc3QgdG8gYXJyYXkgd2l0aCBJRHMsIGZvciBleGFtcGxlOgorICoKKyAqICJhYWEsYmJiLGNjYyIgLS0+IGFyeVswXSA9IEZPT19BQUE7CisgKiAgICAgICAgICAgICAgICAgICBhcnlbMV0gPSBGT09fQkJCOworICogICAgICAgICAgICAgICAgICAgYXJ5WzNdID0gRk9PX0NDQzsKKyAqCisgKiBUaGUgZnVuY3Rpb24gbmFtZTJpZCgpIHByb3ZpZGVzIGNvbnZlcnNpb24gZnJvbSBzdHJpbmcgdG8gSUQuCisgKgorICogUmV0dXJuczogPj0gMCAgOiBudW1iZXIgb2YgaXRlbXMgYWRkZWQgdG8gYXJ5W10KKyAqICAgICAgICAgICAgLTEgIDogcGFyc2UgZXJyb3Igb3IgdW5rbm93biBpdGVtCisgKiAgICAgICAgICAgIC0yICA6IGFyeXN6IHJlYWNoZWQKKyAqLworaW50IHN0cmluZ190b19pZGFycmF5KGNvbnN0IGNoYXIgKmxpc3QsIGludCBhcnlbXSwgc2l6ZV90IGFyeXN6LAorCQkJaW50IChuYW1lMmlkKShjb25zdCBjaGFyICosIHNpemVfdCkpCit7CisJY29uc3QgY2hhciAqYmVnaW4gPSBOVUxMLCAqcDsKKwlzaXplX3QgbiA9IDA7CisKKwlpZiAoIWxpc3QgfHwgISpsaXN0IHx8ICFhcnkgfHwgIWFyeXN6IHx8ICFuYW1lMmlkKQorCQlyZXR1cm4gLTE7CisKKwlmb3IgKHAgPSBsaXN0OyBwICYmICpwOyBwKyspIHsKKwkJY29uc3QgY2hhciAqZW5kID0gTlVMTDsKKwkJaW50IGlkOworCisJCWlmIChuID49IGFyeXN6KQorCQkJcmV0dXJuIC0yOworCQlpZiAoIWJlZ2luKQorCQkJYmVnaW4gPSBwOwkJLyogYmVnaW4gb2YgdGhlIGNvbHVtbiBuYW1lICovCisJCWlmICgqcCA9PSAnLCcpCisJCQllbmQgPSBwOwkJLyogdGVybWluYXRlIHRoZSBuYW1lICovCisJCWlmICgqKHAgKyAxKSA9PSAnXDAnKQorCQkJZW5kID0gcCArIDE7CQkvKiBlbmQgb2Ygc3RyaW5nICovCisJCWlmICghYmVnaW4gfHwgIWVuZCkKKwkJCWNvbnRpbnVlOworCQlpZiAoZW5kIDw9IGJlZ2luKQorCQkJcmV0dXJuIC0xOworCisJCWlkID0gbmFtZTJpZChiZWdpbiwgZW5kIC0gYmVnaW4pOworCQlpZiAoaWQgPT0gLTEpCisJCQlyZXR1cm4gLTE7CisJCWFyeVsgbisrIF0gPSBpZDsKKwkJYmVnaW4gPSBOVUxMOworCQlpZiAoZW5kICYmICEqZW5kKQorCQkJYnJlYWs7CisJfQorCXJldHVybiBuOworfQorCisvKgorICogUGFyc2VzIHRoZSBhcnJheSBsaWtlIHN0cmluZ190b19pZGFycmF5IGJ1dCBpZiBmb3JtYXQgaXMgIithYWEsYmJiIgorICogaXQgYWRkcyBmaWVsZHMgdG8gYXJyYXkgaW5zdGVhZCBvZiByZXBsYWNpbmcgdGhlbS4KKyAqLworaW50IHN0cmluZ19hZGRfdG9faWRhcnJheShjb25zdCBjaGFyICpsaXN0LCBpbnQgYXJ5W10sIHNpemVfdCBhcnlzeiwKKwkJCXNpemVfdCAqYXJ5X3BvcywgaW50IChuYW1lMmlkKShjb25zdCBjaGFyICosIHNpemVfdCkpCit7CisJY29uc3QgY2hhciAqbGlzdF9hZGQ7CisJaW50IHI7CisKKwlpZiAoIWxpc3QgfHwgISpsaXN0IHx8ICFhcnlfcG9zIHx8ICphcnlfcG9zID4gYXJ5c3opCisJCXJldHVybiAtMTsKKworCWlmIChsaXN0WzBdID09ICcrJykKKwkJbGlzdF9hZGQgPSAmbGlzdFsxXTsKKwllbHNlIHsKKwkJbGlzdF9hZGQgPSBsaXN0OworCQkqYXJ5X3BvcyA9IDA7CisJfQorCisJciA9IHN0cmluZ190b19pZGFycmF5KGxpc3RfYWRkLCAmYXJ5WyphcnlfcG9zXSwgYXJ5c3ogLSAqYXJ5X3BvcywgbmFtZTJpZCk7CisJaWYgKHIgPiAwKQorCQkqYXJ5X3BvcyArPSByOworCXJldHVybiByOworfQorCisvKgorICogTElTVCA6Oj0gPGl0ZW0+IFssIDxpdGVtPl0KKyAqCisgKiBUaGUgPGl0ZW0+IGlzIHRyYW5zbGF0ZWQgdG8gJ2lkJyBieSBuYW1lMmlkKCkgZnVuY3Rpb24gYW5kIHRoZSAnaWQnIGlzIHVzZWQKKyAqIGFzIGEgcG9zaXRpb24gaW4gdGhlICdhcnknIGJpdCBhcnJheS4gSXQgbWVhbnMgdGhhdCB0aGUgJ2lkJyBoYXMgdG8gYmUgaW4KKyAqIHJhbmdlIDwwLi5OPiB3aGVyZSBOIDwgc2l6ZW9mKGFyeSkgKiBOQkJZLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBzdHJpbmdfdG9fYml0YXJyYXkoY29uc3QgY2hhciAqbGlzdCwKKwkJICAgICBjaGFyICphcnksCisJCSAgICAgaW50ICgqbmFtZTJiaXQpKGNvbnN0IGNoYXIgKiwgc2l6ZV90KSkKK3sKKwljb25zdCBjaGFyICpiZWdpbiA9IE5VTEwsICpwOworCisJaWYgKCFsaXN0IHx8ICFuYW1lMmJpdCB8fCAhYXJ5KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZvciAocCA9IGxpc3Q7IHAgJiYgKnA7IHArKykgeworCQljb25zdCBjaGFyICplbmQgPSBOVUxMOworCQlpbnQgYml0OworCisJCWlmICghYmVnaW4pCisJCQliZWdpbiA9IHA7CQkvKiBiZWdpbiBvZiB0aGUgbGV2ZWwgbmFtZSAqLworCQlpZiAoKnAgPT0gJywnKQorCQkJZW5kID0gcDsJCS8qIHRlcm1pbmF0ZSB0aGUgbmFtZSAqLworCQlpZiAoKihwICsgMSkgPT0gJ1wwJykKKwkJCWVuZCA9IHAgKyAxOwkJLyogZW5kIG9mIHN0cmluZyAqLworCQlpZiAoIWJlZ2luIHx8ICFlbmQpCisJCQljb250aW51ZTsKKwkJaWYgKGVuZCA8PSBiZWdpbikKKwkJCXJldHVybiAtMTsKKworCQliaXQgPSBuYW1lMmJpdChiZWdpbiwgZW5kIC0gYmVnaW4pOworCQlpZiAoYml0IDwgMCkKKwkJCXJldHVybiBiaXQ7CisJCXNldGJpdChhcnksIGJpdCk7CisJCWJlZ2luID0gTlVMTDsKKwkJaWYgKGVuZCAmJiAhKmVuZCkKKwkJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIExJU1QgOjo9IDxpdGVtPiBbLCA8aXRlbT5dCisgKgorICogVGhlIDxpdGVtPiBpcyB0cmFuc2xhdGVkIHRvICdpZCcgYnkgbmFtZTJmbGFnKCkgZnVuY3Rpb24gYW5kIHRoZSBmbGFncyBpcworICogc2V0IHRvIHRoZSAnbWFzaycKKyoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBzdHJpbmdfdG9fYml0bWFzayhjb25zdCBjaGFyICpsaXN0LAorCQkgICAgIHVuc2lnbmVkIGxvbmcgKm1hc2ssCisJCSAgICAgbG9uZyAoKm5hbWUyZmxhZykoY29uc3QgY2hhciAqLCBzaXplX3QpKQoreworCWNvbnN0IGNoYXIgKmJlZ2luID0gTlVMTCwgKnA7CisKKwlpZiAoIWxpc3QgfHwgIW5hbWUyZmxhZyB8fCAhbWFzaykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlmb3IgKHAgPSBsaXN0OyBwICYmICpwOyBwKyspIHsKKwkJY29uc3QgY2hhciAqZW5kID0gTlVMTDsKKwkJbG9uZyBmbGFnOworCisJCWlmICghYmVnaW4pCisJCQliZWdpbiA9IHA7CQkvKiBiZWdpbiBvZiB0aGUgbGV2ZWwgbmFtZSAqLworCQlpZiAoKnAgPT0gJywnKQorCQkJZW5kID0gcDsJCS8qIHRlcm1pbmF0ZSB0aGUgbmFtZSAqLworCQlpZiAoKihwICsgMSkgPT0gJ1wwJykKKwkJCWVuZCA9IHAgKyAxOwkJLyogZW5kIG9mIHN0cmluZyAqLworCQlpZiAoIWJlZ2luIHx8ICFlbmQpCisJCQljb250aW51ZTsKKwkJaWYgKGVuZCA8PSBiZWdpbikKKwkJCXJldHVybiAtMTsKKworCQlmbGFnID0gbmFtZTJmbGFnKGJlZ2luLCBlbmQgLSBiZWdpbik7CisJCWlmIChmbGFnIDwgMCkKKwkJCXJldHVybiBmbGFnOwkvKiBlcnJvciAqLworCQkqbWFzayB8PSBmbGFnOworCQliZWdpbiA9IE5VTEw7CisJCWlmIChlbmQgJiYgISplbmQpCisJCQlicmVhazsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBQYXJzZSB0aGUgbG93ZXIgYW5kIGhpZ2hlciB2YWx1ZXMgaW4gYSBzdHJpbmcgY29udGFpbmluZworICogImxvd2VyOmhpZ2hlciIgb3IgImxvd2VyLWhpZ2hlciIgZm9ybWF0LiBOb3RlIHRoYXQgZWl0aGVyCisgKiB0aGUgbG93ZXIgb3IgdGhlIGhpZ2hlciB2YWx1ZXMgbWF5IGJlIG1pc3NpbmcsIGFuZCB0aGUgZGVmCisgKiB2YWx1ZSB3aWxsIGJlIGFzc2lnbmVkIHRvIGl0IGJ5IGRlZmF1bHQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IHBhcnNlX3JhbmdlKGNvbnN0IGNoYXIgKnN0ciwgaW50ICpsb3dlciwgaW50ICp1cHBlciwgaW50IGRlZikKK3sKKwljaGFyICplbmQgPSBOVUxMOworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCisJKnVwcGVyID0gKmxvd2VyID0gZGVmOworCWVycm5vID0gMDsKKworCWlmICgqc3RyID09ICc6JykgewkJCQkvKiA8Ok4+ICovCisJCXN0cisrOworCQkqdXBwZXIgPSBzdHJ0b2woc3RyLCAmZW5kLCAxMCk7CisJCWlmIChlcnJubyB8fCAhZW5kIHx8ICplbmQgfHwgZW5kID09IHN0cikKKwkJCXJldHVybiAtMTsKKwl9IGVsc2UgeworCQkqdXBwZXIgPSAqbG93ZXIgPSBzdHJ0b2woc3RyLCAmZW5kLCAxMCk7CisJCWlmIChlcnJubyB8fCAhZW5kIHx8IGVuZCA9PSBzdHIpCisJCQlyZXR1cm4gLTE7CisKKwkJaWYgKCplbmQgPT0gJzonICYmICEqKGVuZCArIDEpKQkJLyogPE06PiAqLworCQkJKnVwcGVyID0gZGVmOworCQllbHNlIGlmICgqZW5kID09ICctJyB8fCAqZW5kID09ICc6JykgewkvKiA8TTpOPiA8TS1OPiAqLworCQkJc3RyID0gZW5kICsgMTsKKwkJCWVuZCA9IE5VTEw7CisJCQllcnJubyA9IDA7CisJCQkqdXBwZXIgPSBzdHJ0b2woc3RyLCAmZW5kLCAxMCk7CisKKwkJCWlmIChlcnJubyB8fCAhZW5kIHx8ICplbmQgfHwgZW5kID09IHN0cikKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpuZXh0X3BhdGhfc2VnbWVudChjb25zdCBjaGFyICpzdHIsIHNpemVfdCAqc3opCit7CisJY29uc3QgY2hhciAqc3RhcnQsICpwOworCisJc3RhcnQgPSBzdHI7CisJKnN6ID0gMDsKKwl3aGlsZSAoc3RhcnQgJiYgKnN0YXJ0ID09ICcvJyAmJiAqKHN0YXJ0ICsgMSkgPT0gJy8nKQorCQlzdGFydCsrOworCisJaWYgKCFzdGFydCB8fCAhKnN0YXJ0KQorCQlyZXR1cm4gTlVMTDsKKworCWZvciAoKnN6ID0gMSwgcCA9IHN0YXJ0ICsgMTsgKnAgJiYgKnAgIT0gJy8nOyBwKyspIHsKKwkJKCpzeikrKzsKKwl9CisKKwlyZXR1cm4gc3RhcnQ7Cit9CisKK2ludCBzdHJlcV9wYXRocyhjb25zdCBjaGFyICphLCBjb25zdCBjaGFyICpiKQoreworCXdoaWxlIChhICYmIGIpIHsKKwkJc2l6ZV90IGFfc3osIGJfc3o7CisJCWNvbnN0IGNoYXIgKmFfc2VnID0gbmV4dF9wYXRoX3NlZ21lbnQoYSwgJmFfc3opOworCQljb25zdCBjaGFyICpiX3NlZyA9IG5leHRfcGF0aF9zZWdtZW50KGIsICZiX3N6KTsKKworCQkvKgorCQlmcHJpbnRmKHN0ZGVyciwgIkE+Pj4oJXp1KSAnJXMnXG4iLCBhX3N6LCBhX3NlZyk7CisJCWZwcmludGYoc3RkZXJyLCAiQj4+PiglenUpICclcydcbiIsIGJfc3osIGJfc2VnKTsKKwkJKi8KKworCQkvKiBlbmQgb2YgdGhlIHBhdGggKi8KKwkJaWYgKGFfc3ogKyBiX3N6ID09IDApCisJCQlyZXR1cm4gMTsKKworCQkvKiBpZ25vcmUgdGFpbGluZyBzbGFzaCAqLworCQlpZiAoYV9zeiArIGJfc3ogPT0gMSAmJgorCQkgICAgKChhX3NlZyAmJiAqYV9zZWcgPT0gJy8nKSB8fCAoYl9zZWcgJiYgKmJfc2VnID09ICcvJykpKQorCQkJcmV0dXJuIDE7CisKKwkJaWYgKGFfc3ogIT0gYl9zeiB8fCBzdHJuY21wKGFfc2VnLCBiX3NlZywgYV9zeikgIT0gMCkKKwkJCXJldHVybiAwOworCisJCWEgPSBhX3NlZyArIGFfc3o7CisJCWIgPSBiX3NlZyArIGJfc3o7CisJfTsKKworCXJldHVybiAwOworfQorCitjaGFyICpzdHJuYXBwZW5kKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKnN1ZmZpeCwgc2l6ZV90IGIpCit7CisgICAgICAgIHNpemVfdCBhOworICAgICAgICBjaGFyICpyOworCisgICAgICAgIGlmICghcyAmJiAhc3VmZml4KQorICAgICAgICAgICAgICAgIHJldHVybiBzdHJkdXAoIiIpOworICAgICAgICBpZiAoIXMpCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0cm5kdXAoc3VmZml4LCBiKTsKKyAgICAgICAgaWYgKCFzdWZmaXgpCisgICAgICAgICAgICAgICAgcmV0dXJuIHN0cmR1cChzKTsKKworICAgICAgICBhc3NlcnQocyk7CisgICAgICAgIGFzc2VydChzdWZmaXgpOworCisgICAgICAgIGEgPSBzdHJsZW4ocyk7CisgICAgICAgIGlmIChiID4gKChzaXplX3QpIC0xKSAtIGEpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgciA9IG1hbGxvYyhhICsgYiArIDEpOworICAgICAgICBpZiAoIXIpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgbWVtY3B5KHIsIHMsIGEpOworICAgICAgICBtZW1jcHkociArIGEsIHN1ZmZpeCwgYik7CisgICAgICAgIHJbYStiXSA9IDA7CisKKyAgICAgICAgcmV0dXJuIHI7Cit9CisKK2NoYXIgKnN0cmFwcGVuZChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpzdWZmaXgpCit7CisgICAgICAgIHJldHVybiBzdHJuYXBwZW5kKHMsIHN1ZmZpeCwgc3VmZml4ID8gc3RybGVuKHN1ZmZpeCkgOiAwKTsKK30KKworY2hhciAqc3RyZmFwcGVuZChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpmb3JtYXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCWNoYXIgKnZhbCwgKnJlczsKKwlpbnQgc3o7CisKKwl2YV9zdGFydChhcCwgZm9ybWF0KTsKKwlzeiA9IHZhc3ByaW50ZigmdmFsLCBmb3JtYXQsIGFwKTsKKwl2YV9lbmQoYXApOworCisJaWYgKHN6IDwgMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXMgPSBzdHJuYXBwZW5kKHMsIHZhbCwgc3opOworCWZyZWUodmFsKTsKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgc2l6ZV90IHN0cmNzcG5fZXNjYXBlZChjb25zdCBjaGFyICpzLCBjb25zdCBjaGFyICpyZWplY3QpCit7CisgICAgICAgIGludCBlc2NhcGVkID0gMDsKKyAgICAgICAgaW50IG47CisKKyAgICAgICAgZm9yIChuPTA7IHNbbl07IG4rKykgeworICAgICAgICAgICAgICAgIGlmIChlc2NhcGVkKQorICAgICAgICAgICAgICAgICAgICAgICAgZXNjYXBlZCA9IDA7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoc1tuXSA9PSAnXFwnKQorICAgICAgICAgICAgICAgICAgICAgICAgZXNjYXBlZCA9IDE7CisgICAgICAgICAgICAgICAgZWxzZSBpZiAoc3RyY2hyKHJlamVjdCwgc1tuXSkpCisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorCisgICAgICAgIC8qIGlmIHMgZW5kcyBpbiBcLCByZXR1cm4gaW5kZXggb2YgcHJldmlvdXMgY2hhciAqLworICAgICAgICByZXR1cm4gbiAtIGVzY2FwZWQ7Cit9CisKKy8qIFNwbGl0IGEgc3RyaW5nIGludG8gd29yZHMuICovCitjb25zdCBjaGFyICpzcGxpdChjb25zdCBjaGFyICoqc3RhdGUsIHNpemVfdCAqbCwgY29uc3QgY2hhciAqc2VwYXJhdG9yLCBpbnQgcXVvdGVkKQoreworICAgICAgICBjb25zdCBjaGFyICpjdXJyZW50OworCisgICAgICAgIGN1cnJlbnQgPSAqc3RhdGU7CisKKyAgICAgICAgaWYgKCEqY3VycmVudCkgeworICAgICAgICAgICAgICAgIGFzc2VydCgqKnN0YXRlID09ICdcMCcpOworICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICB9CisKKyAgICAgICAgY3VycmVudCArPSBzdHJzcG4oY3VycmVudCwgc2VwYXJhdG9yKTsKKyAgICAgICAgaWYgKCEqY3VycmVudCkgeworICAgICAgICAgICAgICAgICpzdGF0ZSA9IGN1cnJlbnQ7CisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisgICAgICAgIH0KKworICAgICAgICBpZiAocXVvdGVkICYmIHN0cmNocigiXCdcIiIsICpjdXJyZW50KSkgeworICAgICAgICAgICAgICAgIGNoYXIgcXVvdGVjaGFyc1syXSA9IHsqY3VycmVudCwgJ1wwJ307CisKKyAgICAgICAgICAgICAgICAqbCA9IHN0cmNzcG5fZXNjYXBlZChjdXJyZW50ICsgMSwgcXVvdGVjaGFycyk7CisgICAgICAgICAgICAgICAgaWYgKGN1cnJlbnRbKmwgKyAxXSA9PSAnXDAnIHx8IGN1cnJlbnRbKmwgKyAxXSAhPSBxdW90ZWNoYXJzWzBdIHx8CisgICAgICAgICAgICAgICAgICAgIChjdXJyZW50WypsICsgMl0gJiYgIXN0cmNocihzZXBhcmF0b3IsIGN1cnJlbnRbKmwgKyAyXSkpKSB7CisgICAgICAgICAgICAgICAgICAgICAgICAvKiByaWdodCBxdW90ZSBtaXNzaW5nIG9yIGdhcmJhZ2UgYXQgdGhlIGVuZCAqLworICAgICAgICAgICAgICAgICAgICAgICAgKnN0YXRlID0gY3VycmVudDsKKyAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAqc3RhdGUgPSBjdXJyZW50KysgKyAqbCArIDI7CisgICAgICAgIH0gZWxzZSBpZiAocXVvdGVkKSB7CisgICAgICAgICAgICAgICAgKmwgPSBzdHJjc3BuX2VzY2FwZWQoY3VycmVudCwgc2VwYXJhdG9yKTsKKyAgICAgICAgICAgICAgICBpZiAoY3VycmVudFsqbF0gJiYgIXN0cmNocihzZXBhcmF0b3IsIGN1cnJlbnRbKmxdKSkgeworICAgICAgICAgICAgICAgICAgICAgICAgLyogdW5maW5pc2hlZCBlc2NhcGUgKi8KKyAgICAgICAgICAgICAgICAgICAgICAgICpzdGF0ZSA9IGN1cnJlbnQ7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgKnN0YXRlID0gY3VycmVudCArICpsOworICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgICpsID0gc3RyY3NwbihjdXJyZW50LCBzZXBhcmF0b3IpOworICAgICAgICAgICAgICAgICpzdGF0ZSA9IGN1cnJlbnQgKyAqbDsKKyAgICAgICAgfQorCisgICAgICAgIHJldHVybiBjdXJyZW50OworfQorCisvKiBSZXdpbmQgZmlsZSBwb2ludGVyIGZvcndhcmQgdG8gbmV3IGxpbmUuICAqLworaW50IHNraXBfZmxpbmUoRklMRSAqZnApCit7CisJaW50IGNoOworCisJZG8geworCQlpZiAoKGNoID0gZmdldGMoZnApKSA9PSBFT0YpCisJCQlyZXR1cm4gMTsKKwkJaWYgKGNoID09ICdcbicpCisJCQlyZXR1cm4gMDsKKwl9IHdoaWxlICgxKTsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTV9TVFJVVElMUworCitzdGF0aWMgaW50IHRlc3Rfc3RydXRpbHNfc2l6ZXMoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwl1aW50bWF4X3Qgc2l6ZSA9IDA7CisJY2hhciAqaHVtLCAqaHVtMjsKKworCWlmIChhcmdjIDwgMikKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCWlmIChzdHJ0b3NpemUoYXJndlsxXSwgJnNpemUpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgImludmFsaWQgc2l6ZSAnJXMnIHZhbHVlIiwgYXJndlsxXSk7CisKKwlodW0gPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBzaXplKTsKKwlodW0yID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfM0xFVFRFUiB8CisJCQkJICAgIFNJWkVfU1VGRklYX1NQQUNFLCBzaXplKTsKKworCXByaW50ZigiJTI1cyA6ICUyMGp1IDogJThzIDogJTEyc1xuIiwgYXJndlsxXSwgc2l6ZSwgaHVtLCBodW0yKTsKKwlmcmVlKGh1bSk7CisJZnJlZShodW0yKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9zdHJ1dGlsc19jbXBfcGF0aHMoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgcmMgPSBzdHJlcV9wYXRocyhhcmd2WzFdLCBhcmd2WzJdKTsKKworCWlmIChhcmdjIDwgMykKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXByaW50ZigiJXM6ICclcycgJyVzJ1xuIiwgcmMgPT0gMSA/ICJZRVMiIDogIk5PVCIsIGFyZ3ZbMV0sIGFyZ3ZbMl0pOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaWYgKGFyZ2MgPT0gMyAmJiBzdHJjbXAoYXJndlsxXSwgIi0tc2l6ZSIpID09IDApCisJCXJldHVybiB0ZXN0X3N0cnV0aWxzX3NpemVzKGFyZ2MgLSAxLCBhcmd2ICsgMSk7CisKKwllbHNlIGlmIChhcmdjID09IDQgJiYgc3RyY21wKGFyZ3ZbMV0sICItLWNtcC1wYXRocyIpID09IDApCisJCXJldHVybiB0ZXN0X3N0cnV0aWxzX2NtcF9wYXRocyhhcmdjIC0gMSwgYXJndiArIDEpOworCisJZWxzZSB7CisJCWZwcmludGYoc3RkZXJyLCAidXNhZ2U6ICUxJHMgLS1zaXplIDxudW1iZXI+W3N1ZmZpeF1cbiIKKwkJCQkiICAgICAgICUxJHMgLS1jbXAtcGF0aHMgPHBhdGg+IDxwYXRoPlxuIiwKKwkJCQlhcmd2WzBdKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCXJldHVybiBFWElUX0ZBSUxVUkU7Cit9CisjZW5kaWYgLyogVEVTVF9QUk9HUkFNX1NUUlVUSUxTICovCmRpZmYgLS1naXQgYS9saWIvc3Rydi5jIGIvbGliL3N0cnYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGMyYTBjCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3N0cnYuYwpAQCAtMCwwICsxLDQwMyBAQAorLyoKKyAqCisgKiBDb3B5cmlnaHQgMjAxMCBMZW5uYXJ0IFBvZXR0ZXJpbmcKKyAqCisgKiBUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAqIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogICAgTW9kaWZpZWQgdGhlIG9yaWdpbmFsIHZlcnNpb24gZnJvbSBzeXN0ZW1kIHByb2plY3QgZm9yIHV0aWwtbGludXguCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ2LmgiCisKK3ZvaWQgc3Rydl9jbGVhcihjaGFyICoqbCkgeworICAgICAgICBjaGFyICoqazsKKworICAgICAgICBpZiAoIWwpCisgICAgICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIGZvciAoayA9IGw7ICprOyBrKyspCisgICAgICAgICAgICAgICAgZnJlZSgqayk7CisKKyAgICAgICAgKmwgPSBOVUxMOworfQorCitjaGFyICoqc3Rydl9mcmVlKGNoYXIgKipsKSB7CisgICAgICAgIHN0cnZfY2xlYXIobCk7CisgICAgICAgIGZyZWUobCk7CisgICAgICAgIHJldHVybiBOVUxMOworfQorCitjaGFyICoqc3Rydl9jb3B5KGNoYXIgKiBjb25zdCAqbCkgeworICAgICAgICBjaGFyICoqciwgKiprOworCisgICAgICAgIGsgPSByID0gbWFsbG9jKHNpemVvZihjaGFyICopICogKHN0cnZfbGVuZ3RoKGwpICsgMSkpOworICAgICAgICBpZiAoIXIpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgaWYgKGwpCisgICAgICAgICAgICAgICAgZm9yICg7ICpsOyBrKyssIGwrKykgeworICAgICAgICAgICAgICAgICAgICAgICAgKmsgPSBzdHJkdXAoKmwpOworICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCEqaykgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ2X2ZyZWUocik7CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworICAgICAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIH0KKworICAgICAgICAqayA9IE5VTEw7CisgICAgICAgIHJldHVybiByOworfQorCit1bnNpZ25lZCBzdHJ2X2xlbmd0aChjaGFyICogY29uc3QgKmwpIHsKKyAgICAgICAgdW5zaWduZWQgbiA9IDA7CisKKyAgICAgICAgaWYgKCFsKQorICAgICAgICAgICAgICAgIHJldHVybiAwOworCisgICAgICAgIGZvciAoOyAqbDsgbCsrKQorICAgICAgICAgICAgICAgIG4rKzsKKworICAgICAgICByZXR1cm4gbjsKK30KKworY2hhciAqKnN0cnZfbmV3X2FwKGNvbnN0IGNoYXIgKngsIHZhX2xpc3QgYXApIHsKKyAgICAgICAgY29uc3QgY2hhciAqczsKKyAgICAgICAgY2hhciAqKmE7CisgICAgICAgIHVuc2lnbmVkIG4gPSAwLCBpID0gMDsKKyAgICAgICAgdmFfbGlzdCBhcTsKKworICAgICAgICAvKiBBcyBhIHNwZWNpYWwgdHJpY2sgd2UgaWdub3JlIGFsbCBsaXN0ZWQgc3RyaW5ncyB0aGF0IGVxdWFsCisgICAgICAgICAqIChjb25zdCBjaGFyKikgLTEuIFRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgdXNlZCB3aXRoIHRoZQorICAgICAgICAgKiBTVFJWX0lGTk9UTlVMTCgpIG1hY3JvIHRvIGluY2x1ZGUgcG9zc2libHkgTlVMTCBzdHJpbmdzIGluCisgICAgICAgICAqIHRoZSBzdHJpbmcgbGlzdC4gKi8KKworICAgICAgICBpZiAoeCkgeworICAgICAgICAgICAgICAgIG4gPSB4ID09IChjb25zdCBjaGFyKikgLTEgPyAwIDogMTsKKworICAgICAgICAgICAgICAgIHZhX2NvcHkoYXEsIGFwKTsKKyAgICAgICAgICAgICAgICB3aGlsZSAoKHMgPSB2YV9hcmcoYXEsIGNvbnN0IGNoYXIqKSkpIHsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzID09IChjb25zdCBjaGFyKikgLTEpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOworCisgICAgICAgICAgICAgICAgICAgICAgICBuKys7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAgICAgICAgdmFfZW5kKGFxKTsKKyAgICAgICAgfQorCisgICAgICAgIGEgPSBtYWxsb2Moc2l6ZW9mKGNoYXIgKikgKiAobiArIDEpKTsKKyAgICAgICAgaWYgKCFhKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisgICAgICAgIGlmICh4KSB7CisgICAgICAgICAgICAgICAgaWYgKHggIT0gKGNvbnN0IGNoYXIqKSAtMSkgeworICAgICAgICAgICAgICAgICAgICAgICAgYVtpXSA9IHN0cmR1cCh4KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYVtpXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOworICAgICAgICAgICAgICAgICAgICAgICAgaSsrOworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIHdoaWxlICgocyA9IHZhX2FyZyhhcCwgY29uc3QgY2hhciopKSkgeworCisgICAgICAgICAgICAgICAgICAgICAgICBpZiAocyA9PSAoY29uc3QgY2hhciopIC0xKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsKKworICAgICAgICAgICAgICAgICAgICAgICAgYVtpXSA9IHN0cmR1cChzKTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYVtpXSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBmYWlsOworCisgICAgICAgICAgICAgICAgICAgICAgICBpKys7CisgICAgICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgYVtpXSA9IE5VTEw7CisKKyAgICAgICAgcmV0dXJuIGE7CisKK2ZhaWw6CisgICAgICAgIHN0cnZfZnJlZShhKTsKKyAgICAgICAgcmV0dXJuIE5VTEw7Cit9CisKK2NoYXIgKipzdHJ2X25ldyhjb25zdCBjaGFyICp4LCAuLi4pIHsKKyAgICAgICAgY2hhciAqKnI7CisgICAgICAgIHZhX2xpc3QgYXA7CisKKyAgICAgICAgdmFfc3RhcnQoYXAsIHgpOworICAgICAgICByID0gc3Rydl9uZXdfYXAoeCwgYXApOworICAgICAgICB2YV9lbmQoYXApOworCisgICAgICAgIHJldHVybiByOworfQorCitpbnQgc3Rydl9leHRlbmRfc3RydihjaGFyICoqKmEsIGNoYXIgKipiKSB7CisgICAgICAgIGludCByOworICAgICAgICBjaGFyICoqczsKKworICAgICAgICBTVFJWX0ZPUkVBQ0gocywgYikgeworICAgICAgICAgICAgICAgIHIgPSBzdHJ2X2V4dGVuZChhLCAqcyk7CisgICAgICAgICAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgICAgICAgIH0KKworICAgICAgICByZXR1cm4gMDsKK30KKworaW50IHN0cnZfZXh0ZW5kX3N0cnZfY29uY2F0KGNoYXIgKioqYSwgY2hhciAqKmIsIGNvbnN0IGNoYXIgKnN1ZmZpeCkgeworICAgICAgICBpbnQgcjsKKyAgICAgICAgY2hhciAqKnM7CisKKyAgICAgICAgU1RSVl9GT1JFQUNIKHMsIGIpIHsKKyAgICAgICAgICAgICAgICBjaGFyICp2OworCisgICAgICAgICAgICAgICAgdiA9IHN0cmFwcGVuZCgqcywgc3VmZml4KTsKKyAgICAgICAgICAgICAgICBpZiAoIXYpCisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKKworICAgICAgICAgICAgICAgIHIgPSBzdHJ2X3B1c2goYSwgdik7CisgICAgICAgICAgICAgICAgaWYgKHIgPCAwKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBmcmVlKHYpOworICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHI7CisgICAgICAgICAgICAgICAgfQorICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIDA7Cit9CisKKworI2RlZmluZSBfRk9SRUFDSF9XT1JEKHdvcmQsIGxlbmd0aCwgcywgc2VwYXJhdG9yLCBxdW90ZWQsIHN0YXRlKSAgICAgICAgXAorICAgICAgICBmb3IgKChzdGF0ZSkgPSAocyksICh3b3JkKSA9IHNwbGl0KCYoc3RhdGUpLCAmKGxlbmd0aCksIChzZXBhcmF0b3IpLCAocXVvdGVkKSk7ICh3b3JkKTsgKHdvcmQpID0gc3BsaXQoJihzdGF0ZSksICYobGVuZ3RoKSwgKHNlcGFyYXRvciksIChxdW90ZWQpKSkKKworI2RlZmluZSBGT1JFQUNIX1dPUkRfU0VQQVJBVE9SKHdvcmQsIGxlbmd0aCwgcywgc2VwYXJhdG9yLCBzdGF0ZSkgICAgICAgXAorICAgICAgICBfRk9SRUFDSF9XT1JEKHdvcmQsIGxlbmd0aCwgcywgc2VwYXJhdG9yLCBmYWxzZSwgc3RhdGUpCisKKworY2hhciAqKnN0cnZfc3BsaXQoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqc2VwYXJhdG9yKSB7CisgICAgICAgIGNvbnN0IGNoYXIgKndvcmQsICpzdGF0ZTsKKyAgICAgICAgc2l6ZV90IGw7CisgICAgICAgIHVuc2lnbmVkIG4sIGk7CisgICAgICAgIGNoYXIgKipyOworCisgICAgICAgIGFzc2VydChzKTsKKworICAgICAgICBuID0gMDsKKyAgICAgICAgRk9SRUFDSF9XT1JEX1NFUEFSQVRPUih3b3JkLCBsLCBzLCBzZXBhcmF0b3IsIHN0YXRlKQorICAgICAgICAgICAgICAgIG4rKzsKKworICAgICAgICByID0gbWFsbG9jKHNpemVvZihjaGFyICopICogKG4gKyAxKSk7CisgICAgICAgIGlmICghcikKKyAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKworICAgICAgICBpID0gMDsKKyAgICAgICAgRk9SRUFDSF9XT1JEX1NFUEFSQVRPUih3b3JkLCBsLCBzLCBzZXBhcmF0b3IsIHN0YXRlKSB7CisgICAgICAgICAgICAgICAgcltpXSA9IHN0cm5kdXAod29yZCwgbCk7CisgICAgICAgICAgICAgICAgaWYgKCFyW2ldKSB7CisgICAgICAgICAgICAgICAgICAgICAgICBzdHJ2X2ZyZWUocik7CisgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gTlVMTDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAgICAgICBpKys7CisgICAgICAgIH0KKworICAgICAgICByW2ldID0gTlVMTDsKKyAgICAgICAgcmV0dXJuIHI7Cit9CisKK2NoYXIgKnN0cnZfam9pbihjaGFyICoqbCwgY29uc3QgY2hhciAqc2VwYXJhdG9yKSB7CisgICAgICAgIGNoYXIgKnIsICplOworICAgICAgICBjaGFyICoqczsKKyAgICAgICAgc2l6ZV90IG4sIGs7CisKKyAgICAgICAgaWYgKCFzZXBhcmF0b3IpCisgICAgICAgICAgICAgICAgc2VwYXJhdG9yID0gIiAiOworCisgICAgICAgIGsgPSBzdHJsZW4oc2VwYXJhdG9yKTsKKworICAgICAgICBuID0gMDsKKyAgICAgICAgU1RSVl9GT1JFQUNIKHMsIGwpIHsKKyAgICAgICAgICAgICAgICBpZiAobiAhPSAwKQorICAgICAgICAgICAgICAgICAgICAgICAgbiArPSBrOworICAgICAgICAgICAgICAgIG4gKz0gc3RybGVuKCpzKTsKKyAgICAgICAgfQorCisgICAgICAgIHIgPSBtYWxsb2MobiArIDEpOworICAgICAgICBpZiAoIXIpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgZSA9IHI7CisgICAgICAgIFNUUlZfRk9SRUFDSChzLCBsKSB7CisgICAgICAgICAgICAgICAgaWYgKGUgIT0gcikKKyAgICAgICAgICAgICAgICAgICAgICAgIGUgPSBzdHBjcHkoZSwgc2VwYXJhdG9yKTsKKworICAgICAgICAgICAgICAgIGUgPSBzdHBjcHkoZSwgKnMpOworICAgICAgICB9CisKKyAgICAgICAgKmUgPSAwOworCisgICAgICAgIHJldHVybiByOworfQorCitpbnQgc3Rydl9wdXNoKGNoYXIgKioqbCwgY2hhciAqdmFsdWUpIHsKKyAgICAgICAgY2hhciAqKmM7CisgICAgICAgIHVuc2lnbmVkIG4sIG07CisKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBuID0gc3Rydl9sZW5ndGgoKmwpOworCisgICAgICAgIC8qIEluY3JlYXNlIGFuZCBjaGVjayBmb3Igb3ZlcmZsb3cgKi8KKyAgICAgICAgbSA9IG4gKyAyOworICAgICAgICBpZiAobSA8IG4pCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAgICAgYyA9IHJlYWxsb2MoKmwsIHNpemVvZihjaGFyICopICogbSk7CisgICAgICAgIGlmICghYykKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKKworICAgICAgICBjW25dID0gdmFsdWU7CisgICAgICAgIGNbbisxXSA9IE5VTEw7CisKKyAgICAgICAgKmwgPSBjOworICAgICAgICByZXR1cm4gMDsKK30KKworaW50IHN0cnZfcHVzaF9wcmVwZW5kKGNoYXIgKioqbCwgY2hhciAqdmFsdWUpIHsKKyAgICAgICAgY2hhciAqKmM7CisgICAgICAgIHVuc2lnbmVkIG4sIG0sIGk7CisKKyAgICAgICAgaWYgKCF2YWx1ZSkKKyAgICAgICAgICAgICAgICByZXR1cm4gMDsKKworICAgICAgICBuID0gc3Rydl9sZW5ndGgoKmwpOworCisgICAgICAgIC8qIGluY3JlYXNlIGFuZCBjaGVjayBmb3Igb3ZlcmZsb3cgKi8KKyAgICAgICAgbSA9IG4gKyAyOworICAgICAgICBpZiAobSA8IG4pCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAgICAgYyA9IG1hbGxvYyhzaXplb2YoY2hhciAqKSAqIG0pOworICAgICAgICBpZiAoIWMpCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAgICAgZm9yIChpID0gMDsgaSA8IG47IGkrKykKKyAgICAgICAgICAgICAgICBjW2krMV0gPSAoKmwpW2ldOworCisgICAgICAgIGNbMF0gPSB2YWx1ZTsKKyAgICAgICAgY1tuKzFdID0gTlVMTDsKKworICAgICAgICBmcmVlKCpsKTsKKyAgICAgICAgKmwgPSBjOworCisgICAgICAgIHJldHVybiAwOworfQorCitpbnQgc3Rydl9jb25zdW1lKGNoYXIgKioqbCwgY2hhciAqdmFsdWUpIHsKKyAgICAgICAgaW50IHI7CisKKyAgICAgICAgciA9IHN0cnZfcHVzaChsLCB2YWx1ZSk7CisgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICBmcmVlKHZhbHVlKTsKKworICAgICAgICByZXR1cm4gcjsKK30KKworaW50IHN0cnZfY29uc3VtZV9wcmVwZW5kKGNoYXIgKioqbCwgY2hhciAqdmFsdWUpIHsKKyAgICAgICAgaW50IHI7CisKKyAgICAgICAgciA9IHN0cnZfcHVzaF9wcmVwZW5kKGwsIHZhbHVlKTsKKyAgICAgICAgaWYgKHIgPCAwKQorICAgICAgICAgICAgICAgIGZyZWUodmFsdWUpOworCisgICAgICAgIHJldHVybiByOworfQorCitpbnQgc3Rydl9leHRlbmQoY2hhciAqKipsLCBjb25zdCBjaGFyICp2YWx1ZSkgeworICAgICAgICBjaGFyICp2OworCisgICAgICAgIGlmICghdmFsdWUpCisgICAgICAgICAgICAgICAgcmV0dXJuIDA7CisKKyAgICAgICAgdiA9IHN0cmR1cCh2YWx1ZSk7CisgICAgICAgIGlmICghdikKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKKworICAgICAgICByZXR1cm4gc3Rydl9jb25zdW1lKGwsIHYpOworfQorCitjaGFyICoqc3Rydl9yZW1vdmUoY2hhciAqKmwsIGNvbnN0IGNoYXIgKnMpIHsKKyAgICAgICAgY2hhciAqKmYsICoqdDsKKworICAgICAgICBpZiAoIWwpCisgICAgICAgICAgICAgICAgcmV0dXJuIE5VTEw7CisKKyAgICAgICAgYXNzZXJ0KHMpOworCisgICAgICAgIC8qIERyb3BzIGV2ZXJ5IG9jY3VycmVuY2Ugb2YgcyBpbiB0aGUgc3RyaW5nIGxpc3QsIGVkaXRzCisgICAgICAgICAqIGluLXBsYWNlLiAqLworCisgICAgICAgIGZvciAoZiA9IHQgPSBsOyAqZjsgZisrKQorICAgICAgICAgICAgICAgIGlmIChzdHJjbXAoKmYsIHMpID09IDApCisgICAgICAgICAgICAgICAgICAgICAgICBmcmVlKCpmKTsKKyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgICAgICAqKHQrKykgPSAqZjsKKworICAgICAgICAqdCA9IE5VTEw7CisgICAgICAgIHJldHVybiBsOworfQorCitpbnQgc3Rydl9leHRlbmRmKGNoYXIgKioqbCwgY29uc3QgY2hhciAqZm9ybWF0LCAuLi4pIHsKKyAgICAgICAgdmFfbGlzdCBhcDsKKyAgICAgICAgY2hhciAqeDsKKyAgICAgICAgaW50IHI7CisKKyAgICAgICAgdmFfc3RhcnQoYXAsIGZvcm1hdCk7CisgICAgICAgIHIgPSB2YXNwcmludGYoJngsIGZvcm1hdCwgYXApOworICAgICAgICB2YV9lbmQoYXApOworCisgICAgICAgIGlmIChyIDwgMCkKKyAgICAgICAgICAgICAgICByZXR1cm4gLUVOT01FTTsKKworICAgICAgICByZXR1cm4gc3Rydl9jb25zdW1lKGwsIHgpOworfQorCitpbnQgc3Rydl9leHRlbmR2KGNoYXIgKioqbCwgY29uc3QgY2hhciAqZm9ybWF0LCB2YV9saXN0IGFwKSB7CisgICAgICAgIGNoYXIgKng7CisgICAgICAgIGludCByOworCisgICAgICAgIHIgPSB2YXNwcmludGYoJngsIGZvcm1hdCwgYXApOworICAgICAgICBpZiAociA8IDApCisgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07CisKKyAgICAgICAgcmV0dXJuIHN0cnZfY29uc3VtZShsLCB4KTsKK30KKworY2hhciAqKnN0cnZfcmV2ZXJzZShjaGFyICoqbCkgeworICAgICAgICB1bnNpZ25lZCBuLCBpOworCisgICAgICAgIG4gPSBzdHJ2X2xlbmd0aChsKTsKKyAgICAgICAgaWYgKG4gPD0gMSkKKyAgICAgICAgICAgICAgICByZXR1cm4gbDsKKworICAgICAgICBmb3IgKGkgPSAwOyBpIDwgbiAvIDI7IGkrKykgeworICAgICAgICAgICAgICAgIGNoYXIgKnQ7CisKKyAgICAgICAgICAgICAgICB0ID0gbFtpXTsKKyAgICAgICAgICAgICAgICBsW2ldID0gbFtuLTEtaV07CisgICAgICAgICAgICAgICAgbFtuLTEtaV0gPSB0OworICAgICAgICB9CisKKyAgICAgICAgcmV0dXJuIGw7Cit9CmRpZmYgLS1naXQgYS9saWIvc3dhcHByb2Jlci5jIGIvbGliL3N3YXBwcm9iZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YTRiMTEyCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3N3YXBwcm9iZXIuYwpAQCAtMCwwICsxLDQ5IEBACisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisKKyNpbmNsdWRlICJzd2FwaGVhZGVyLmgiCisjaW5jbHVkZSAic3dhcHByb2Jlci5oIgorCitibGtpZF9wcm9iZSBnZXRfc3dhcF9wcm9iZXIoY29uc3QgY2hhciAqZGV2bmFtZSkKK3sKKwlibGtpZF9wcm9iZSBwcjsKKwlpbnQgcmM7CisJY29uc3QgY2hhciAqdmVyc2lvbiA9IE5VTEw7CisJY2hhciAqc3dhcF9maWx0ZXJbXSA9IHsgInN3YXAiLCBOVUxMIH07CisKKwlwciA9IGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGRldm5hbWUpOworCWlmICghcHIpIHsKKwkJd2FybihfKCIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIpLCBkZXZuYW1lKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKHByLCBUUlVFKTsKKwlibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MocHIsCisJCQlCTEtJRF9TVUJMS1NfTEFCRUwgfCBCTEtJRF9TVUJMS1NfVVVJRCB8CisJCQlCTEtJRF9TVUJMS1NfVkVSU0lPTik7CisKKwlibGtpZF9wcm9iZV9maWx0ZXJfc3VwZXJibG9ja3NfdHlwZShwciwgQkxLSURfRkxUUl9PTkxZSU4sIHN3YXBfZmlsdGVyKTsKKworCXJjID0gYmxraWRfZG9fc2FmZXByb2JlKHByKTsKKwlpZiAocmMgPT0gLTEpCisJCXdhcm4oXygiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiKSwgZGV2bmFtZSk7CisJZWxzZSBpZiAocmMgPT0gLTIpCisJCXdhcm54KF8oIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiKSwgZGV2bmFtZSk7CisJZWxzZSBpZiAocmMgPT0gMSkKKwkJd2FybngoXygiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIiksIGRldm5hbWUpOworCisJaWYgKHJjID09IDApIHsKKwkJLyogT25seSB0aGUgU1dBUFNQQUNFMiBpcyBzdXBwb3J0ZWQuICovCisJCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJWRVJTSU9OIiwgJnZlcnNpb24sIE5VTEwpID09IDAKKwkJICAgICYmIHZlcnNpb24KKwkJICAgICYmIHN0cmNtcCh2ZXJzaW9uLCBzdHJpbmdpZnlfdmFsdWUoU1dBUF9WRVJTSU9OKSkpCisJCQl3YXJueChfKCIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciKSwKKwkJCQkJCWRldm5hbWUsIHZlcnNpb24pOworCQllbHNlCisJCQlyZXR1cm4gcHI7CisJfQorCisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJcmV0dXJuIE5VTEw7Cit9CmRpZmYgLS1naXQgYS9saWIvc3lzZnMuYyBiL2xpYi9zeXNmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyNjQ1MWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvc3lzZnMuYwpAQCAtMCwwICsxLDEwOTkgQEAKKy8qCisgKiBObyBjb3B5cmlnaHQgaXMgY2xhaW1lZC4gIFRoaXMgY29kZSBpcyBpbiB0aGUgcHVibGljIGRvbWFpbjsgZG8gd2l0aAorICogaXQgd2hhdCB5b3Ugd2lzaC4KKyAqCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxsaWJnZW4uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJkZWJ1Zy5oIgorCitzdGF0aWMgdm9pZCBzeXNmc19ibGtkZXZfZGVpbml0X3BhdGgoc3RydWN0IHBhdGhfY3h0ICpwYyk7CitzdGF0aWMgaW50ICBzeXNmc19ibGtkZXZfZW5vZW50X3JlZGlyZWN0KHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKnBhdGgsIGludCAqZGlyZmQpOworCisvKgorICogRGVidWcgc3R1ZmYgKGJhc2VkIG9uIGluY2x1ZGUvZGVidWcuaCkKKyAqLworc3RhdGljIFVMX0RFQlVHX0RFRklORV9NQVNLKHVsc3lzZnMpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyh1bHN5c2ZzKSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBVTFNZU0ZTX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgVUxTWVNGU19ERUJVR19DWFQJKDEgPDwgMikKKworI2RlZmluZSBEQkcobSwgeCkgICAgICAgX19VTF9EQkcodWxzeXNmcywgVUxTWVNGU19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKHVsc3lzZnMsIFVMU1lTRlNfREVCVUdfLCBtLCB4KQorCisjZGVmaW5lIFVMX0RFQlVHX0NVUlJFTlRfTUFTSwlVTF9ERUJVR19NQVNLKHVsc3lzZnMpCisjaW5jbHVkZSAiZGVidWdvYmouaCIKKwordm9pZCB1bF9zeXNmc19pbml0X2RlYnVnKHZvaWQpCit7CisJaWYgKHVsc3lzZnNfZGVidWdfbWFzaykKKwkJcmV0dXJuOworCV9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVih1bHN5c2ZzLCBVTFNZU0ZTX0RFQlVHXywgMCwgVUxTWVNGU19ERUJVRyk7Cit9CisKK3N0cnVjdCBwYXRoX2N4dCAqdWxfbmV3X3N5c2ZzX3BhdGgoZGV2X3QgZGV2bm8sIHN0cnVjdCBwYXRoX2N4dCAqcGFyZW50LCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJc3RydWN0IHBhdGhfY3h0ICpwYyA9IHVsX25ld19wYXRoKE5VTEwpOworCisJaWYgKCFwYykKKwkJcmV0dXJuIE5VTEw7CisJaWYgKHByZWZpeCkKKwkJdWxfcGF0aF9zZXRfcHJlZml4KHBjLCBwcmVmaXgpOworCisJaWYgKHN5c2ZzX2Jsa2Rldl9pbml0X3BhdGgocGMsIGRldm5vLCBwYXJlbnQpICE9IDApIHsKKwkJdWxfdW5yZWZfcGF0aChwYyk7CisJCXJldHVybiBOVUxMOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBjLCAiYWxsb2MiKSk7CisJcmV0dXJuIHBjOworfQorCisvKgorICogc3lzZnNfYmxrZGV2XyogaXMgc3lzZnMgZXh0ZW5zaW9uIHRvIHVsX3BhdGhfKiBBUEkgZm9yIGJsb2NrIGRldmljZXMuCisgKgorICogVGhlIGZ1bmN0aW9uIGlzIHBvc3NpYmxlIHRvIGNhbGwgaW4gbG9vcCBhbmQgd2l0aG91dCBzeXNmc19ibGtkZXZfZGVpbml0X3BhdGgoKS4KKyAqIFRoZSBzeXNmc19ibGtkZXZfZGVpbml0X3BhdGgoKSBpcyBhdXRvbWF0aWNhbGx5IGNhbGxlZCBieSB1bF91bnJlZl9wYXRoKCkuCisgKgorICovCitpbnQgc3lzZnNfYmxrZGV2X2luaXRfcGF0aChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBkZXZfdCBkZXZubywgc3RydWN0IHBhdGhfY3h0ICpwYXJlbnQpCit7CisJc3RydWN0IHN5c2ZzX2Jsa2RldiAqYmxrOworCWludCByYzsKKwljaGFyIGJ1ZltzaXplb2YoX1BBVEhfU1lTX0RFVkJMT0NLKQorCQkgKyBzaXplb2Yoc3RyaW5naWZ5X3ZhbHVlKFVJTlQzMl9NQVgpKSAqIDIKKwkJICsgM107CisKKwkvKiBkZWZpbmUgcGF0aCB0byBkZXZubyBzdHVmZiAqLworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksIF9QQVRIX1NZU19ERVZCTE9DSyAiLyVkOiVkIiwgbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpOworCXJjID0gdWxfcGF0aF9zZXRfZGlyKHBjLCBidWYpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJLyogbWFrZSBzdXJlIHBhdGggZXhpc3RzICovCisJcmMgPSB1bF9wYXRoX2dldF9kaXJmZChwYyk7CisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIHJjOworCisJLyogaW5pdGlhbGl6ZSBzeXNmcyBibGtkZXYgc3BlY2lmaWMgc3R1ZmYgKi8KKwlibGsgPSB1bF9wYXRoX2dldF9kaWFsZWN0KHBjKTsKKwlpZiAoIWJsaykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihwYywgImFsbG9jIG5ldyBzeXNmcyBoYW5kbGVyIikpOworCQlibGsgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBzeXNmc19ibGtkZXYpKTsKKwkJaWYgKCFibGspCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQl1bF9wYXRoX3NldF9kaWFsZWN0KHBjLCBibGssIHN5c2ZzX2Jsa2Rldl9kZWluaXRfcGF0aCk7CisJCXVsX3BhdGhfc2V0X2Vub2VudF9yZWRpcmVjdChwYywgc3lzZnNfYmxrZGV2X2Vub2VudF9yZWRpcmVjdCk7CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmoocGMsICJpbml0IHN5c2ZzIHN0dWZmIikpOworCisJYmxrLT5kZXZubyA9IGRldm5vOworCXN5c2ZzX2Jsa2Rldl9zZXRfcGFyZW50KHBjLCBwYXJlbnQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHN5c2ZzX2Jsa2Rldl9kZWluaXRfcGF0aChzdHJ1Y3QgcGF0aF9jeHQgKnBjKQoreworCXN0cnVjdCBzeXNmc19ibGtkZXYgKmJsazsKKworCWlmICghcGMpCisJCXJldHVybjsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBjLCAiZGVpbml0IikpOworCisJYmxrID0gdWxfcGF0aF9nZXRfZGlhbGVjdChwYyk7CisJaWYgKCFibGspCisJCXJldHVybjsKKworCXVsX3JlZl9wYXRoKGJsay0+cGFyZW50KTsKKwlmcmVlKGJsayk7CisKKwl1bF9wYXRoX3NldF9kaWFsZWN0KHBjLCBOVUxMLCBOVUxMKTsKK30KKworaW50IHN5c2ZzX2Jsa2Rldl9zZXRfcGFyZW50KHN0cnVjdCBwYXRoX2N4dCAqcGMsIHN0cnVjdCBwYXRoX2N4dCAqcGFyZW50KQoreworCXN0cnVjdCBzeXNmc19ibGtkZXYgKmJsayA9IHVsX3BhdGhfZ2V0X2RpYWxlY3QocGMpOworCisJaWYgKCFwYyB8fCAhYmxrKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChibGstPnBhcmVudCkgeworCQl1bF91bnJlZl9wYXRoKGJsay0+cGFyZW50KTsKKwkJYmxrLT5wYXJlbnQgPSBOVUxMOworCX0KKworCWlmIChwYXJlbnQpIHsKKwkJdWxfcmVmX3BhdGgocGFyZW50KTsKKwkJYmxrLT5wYXJlbnQgPSBwYXJlbnQ7CisJfSBlbHNlCisJCWJsay0+cGFyZW50ID0gTlVMTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBjLCAibmV3IHBhcmVudCIpKTsKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHBhdGhfY3h0ICpzeXNmc19ibGtkZXZfZ2V0X3BhcmVudChzdHJ1Y3QgcGF0aF9jeHQgKnBjKQoreworCXN0cnVjdCBzeXNmc19ibGtkZXYgKmJsayA9IHVsX3BhdGhfZ2V0X2RpYWxlY3QocGMpOworCXJldHVybiBibGsgPyBibGstPnBhcmVudCA6IE5VTEw7Cit9CisKKy8qCisgKiBSZWRpcmVjdHMgRU5PRU5UIGVycm9ycyB0byB0aGUgcGFyZW50LCBpZiB0aGUgcGF0aCBpcyB0byB0aGUgcXVldWUvCisgKiBzeXNmcyBkaXJlY3RvcnkuIEZvciBleGFtcGxlCisgKgorICoJL3N5cy9kZXYvYmxvY2svODoxL3F1ZXVlL2xvZ2ljYWxfYmxvY2tfc2l6ZSByZWRpcmVjdHMgdG8KKyAqCS9zeXMvZGV2L2Jsb2NrLzg6MC9xdWV1ZS9sb2dpY2FsX2Jsb2NrX3NpemUKKyAqLworc3RhdGljIGludCBzeXNmc19ibGtkZXZfZW5vZW50X3JlZGlyZWN0KHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKnBhdGgsIGludCAqZGlyZmQpCit7CisJc3RydWN0IHN5c2ZzX2Jsa2RldiAqYmxrID0gdWxfcGF0aF9nZXRfZGlhbGVjdChwYyk7CisKKwlpZiAoYmxrICYmIGJsay0+cGFyZW50ICYmIHN0cm5jbXAocGF0aCwgInF1ZXVlLyIsIDYpID09IDApIHsKKwkJKmRpcmZkID0gdWxfcGF0aF9nZXRfZGlyZmQoYmxrLT5wYXJlbnQpOworCQlpZiAoKmRpcmZkID49IDApIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBjLCAiJXMgcmVkaXJlY3RlZCB0byBwYXJlbnQiLCBwYXRoKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKwlyZXR1cm4gMTsJLyogbm8gcmVkaXJlY3QgKi8KK30KKworY2hhciAqc3lzZnNfYmxrZGV2X2dldF9uYW1lKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeikKK3sKKwljaGFyIGxpbmtbUEFUSF9NQVhdOworCWNoYXIgKm5hbWU7CisJc3NpemVfdAlzejsKKworICAgICAgICAvKiByZWFkIC9zeXMvZGV2L2Jsb2NrLzxtYWo6bWluPiBsaW5rICovCisJc3ogPSB1bF9wYXRoX3JlYWRsaW5rKHBjLCBsaW5rLCBzaXplb2YobGluaykgLSAxLCBOVUxMKTsKKwlpZiAoc3ogPCAwKQorCQlyZXR1cm4gTlVMTDsKKwlsaW5rW3N6XSA9ICdcMCc7CisKKwluYW1lID0gc3RycmNocihsaW5rLCAnLycpOworCWlmICghbmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwluYW1lKys7CisJc3ogPSBzdHJsZW4obmFtZSk7CisJaWYgKChzaXplX3QpIHN6ICsgMSA+IGJ1ZnNpeikKKwkJcmV0dXJuIE5VTEw7CisKKwltZW1jcHkoYnVmLCBuYW1lLCBzeiArIDEpOworCXN5c2ZzX2Rldm5hbWVfc3lzX3RvX2RldihidWYpOworCXJldHVybiBidWY7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZGlyZW50ICp4cmVhZGRpcihESVIgKmRwKQoreworCXN0cnVjdCBkaXJlbnQgKmQ7CisKKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRwKSkpIHsKKwkJaWYgKCFzdHJjbXAoZC0+ZF9uYW1lLCAiLiIpIHx8CisJCSAgICAhc3RyY21wKGQtPmRfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKworCQkvKiBibGFja2xpc3QgaGVyZT8gKi8KKwkJYnJlYWs7CisJfQorCXJldHVybiBkOworfQorCitpbnQgc3lzZnNfYmxrZGV2X2lzX3BhcnRpdGlvbl9kaXJlbnQoRElSICpkaXIsIHN0cnVjdCBkaXJlbnQgKmQsIGNvbnN0IGNoYXIgKnBhcmVudF9uYW1lKQoreworCWNoYXIgcGF0aFtOQU1FX01BWCArIDYgKyAxXTsKKworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwlpZiAoZC0+ZF90eXBlICE9IERUX0RJUiAmJgorCSAgICBkLT5kX3R5cGUgIT0gRFRfTE5LICYmCisJICAgIGQtPmRfdHlwZSAhPSBEVF9VTktOT1dOKQorCQlyZXR1cm4gMDsKKyNlbmRpZgorCWlmIChwYXJlbnRfbmFtZSkgeworCQljb25zdCBjaGFyICpwID0gcGFyZW50X25hbWU7CisJCXNpemVfdCBsZW47CisKKwkJLyogL2Rldi9zZGEgLS0+ICJzZGEiICovCisJCWlmICgqcGFyZW50X25hbWUgPT0gJy8nKSB7CisJCQlwID0gc3RycmNocihwYXJlbnRfbmFtZSwgJy8nKTsKKwkJCWlmICghcCkKKwkJCQlyZXR1cm4gMDsKKwkJCXArKzsKKwkJfQorCisJCWxlbiA9IHN0cmxlbihwKTsKKwkJaWYgKHN0cmxlbihkLT5kX25hbWUpIDw9IGxlbikKKwkJCXJldHVybiAwOworCisJCS8qIHBhcnRpdGlvbnMgc3ViZGlyIG5hbWUgaXMKKwkJICoJIjxwYXJlbnQ+WzpkaWdpdDpdIiBvciAiPHBhcmVudD5wWzpkaWdpdDpdIgorCQkgKi8KKwkJcmV0dXJuIHN0cm5jbXAocCwgZC0+ZF9uYW1lLCBsZW4pID09IDAgJiYKKwkJICAgICAgICgoKihkLT5kX25hbWUgKyBsZW4pID09ICdwJyAmJiBpc2RpZ2l0KCooZC0+ZF9uYW1lICsgbGVuICsgMSkpKQorCQkJfHwgaXNkaWdpdCgqKGQtPmRfbmFtZSArIGxlbikpKTsKKwl9CisKKwkvKiBDYW5ub3QgdXNlIC9wYXJ0aXRpb24gZmlsZSwgbm90IHN1cHBvcnRlZCBvbiBvbGQgc3lzZnMgKi8KKwlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIlcy9zdGFydCIsIGQtPmRfbmFtZSk7CisKKwlyZXR1cm4gZmFjY2Vzc2F0KGRpcmZkKGRpciksIHBhdGgsIFJfT0ssIDApID09IDA7Cit9CisKK2ludCBzeXNmc19ibGtkZXZfY291bnRfcGFydGl0aW9ucyhzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICpkZXZuYW1lKQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJaW50IHIgPSAwOworCisJZGlyID0gdWxfcGF0aF9vcGVuZGlyKHBjLCBOVUxMKTsKKwlpZiAoIWRpcikKKwkJcmV0dXJuIDA7CisKKwl3aGlsZSAoKGQgPSB4cmVhZGRpcihkaXIpKSkgeworCQlpZiAoc3lzZnNfYmxrZGV2X2lzX3BhcnRpdGlvbl9kaXJlbnQoZGlyLCBkLCBkZXZuYW1lKSkKKwkJCXIrKzsKKwl9CisKKwljbG9zZWRpcihkaXIpOworCXJldHVybiByOworfQorCisvKgorICogQ29udmVydHMgQHBhcnRubyAocGFydGl0aW9uIG51bWJlcikgdG8gZGV2bm8gb2YgdGhlIHBhcnRpdGlvbi4KKyAqIFRoZSBAcGMgaGFuZGxlcyB3aG9sZWRpc2sgZGV2aWNlLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGNvZGUgZG9lcyBub3QgZXhwZWN0IGFueSBzcGVjaWFsIGZvcm1hdCBvZiB0aGUKKyAqIHBhcnRpdGlvbnMgZGV2bmFtZXMuCisgKi8KK2Rldl90IHN5c2ZzX2Jsa2Rldl9wYXJ0bm9fdG9fZGV2bm8oc3RydWN0IHBhdGhfY3h0ICpwYywgaW50IHBhcnRubykKK3sKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCWRldl90IGRldm5vID0gMDsKKworCWRpciA9IHVsX3BhdGhfb3BlbmRpcihwYywgTlVMTCk7CisJaWYgKCFkaXIpCisJCXJldHVybiAwOworCisJd2hpbGUgKChkID0geHJlYWRkaXIoZGlyKSkpIHsKKwkJaW50IG47CisKKwkJaWYgKCFzeXNmc19ibGtkZXZfaXNfcGFydGl0aW9uX2RpcmVudChkaXIsIGQsIE5VTEwpKQorCQkJY29udGludWU7CisKKwkJaWYgKHVsX3BhdGhfcmVhZGZfczMyKHBjLCAmbiwgIiVzL3BhcnRpdGlvbiIsIGQtPmRfbmFtZSkpCisJCQljb250aW51ZTsKKworCQlpZiAobiA9PSBwYXJ0bm8pIHsKKwkJCWlmICh1bF9wYXRoX3JlYWRmX21ham1pbihwYywgJmRldm5vLCAiJXMvZGV2IiwgZC0+ZF9uYW1lKSA9PSAwKQorCQkJCWJyZWFrOworCQl9CisJfQorCisJY2xvc2VkaXIoZGlyKTsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihwYywgInBhcnRubyAoJWQpIC0+IGRldm5vICglZCkiLCAoaW50KSBwYXJ0bm8sIChpbnQpIGRldm5vKSk7CisJcmV0dXJuIGRldm5vOworfQorCisKKy8qCisgKiBSZXR1cm5zIHNsYXZlIG5hbWUgaWYgdGhlcmUgaXMgb25seSBvbmUgc2xhdmUsIG90aGVyd2lzZSByZXR1cm5zIE5VTEwuCisgKiBUaGUgcmVzdWx0IHNob3VsZCBiZSBkZWFsbG9jYXRlZCBieSBmcmVlKCkuCisgKi8KK2NoYXIgKnN5c2ZzX2Jsa2Rldl9nZXRfc2xhdmUoc3RydWN0IHBhdGhfY3h0ICpwYykKK3sKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCWNoYXIgKm5hbWUgPSBOVUxMOworCisJZGlyID0gdWxfcGF0aF9vcGVuZGlyKHBjLCAic2xhdmVzIik7CisJaWYgKCFkaXIpCisJCXJldHVybiBOVUxMOworCisJd2hpbGUgKChkID0geHJlYWRkaXIoZGlyKSkpIHsKKwkJaWYgKG5hbWUpCisJCQlnb3RvIGVycjsJLyogbW9yZSBzbGF2ZXMgKi8KKwkJbmFtZSA9IHN0cmR1cChkLT5kX25hbWUpOworCX0KKworCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIG5hbWU7CitlcnI6CisJZnJlZShuYW1lKTsKKwljbG9zZWRpcihkaXIpOworCXJldHVybiBOVUxMOworfQorCisKKyNkZWZpbmUgU1VCU1lTVEVNX0xJTktOQU1FCSIvc3Vic3lzdGVtIgorCisvKgorICogRm9yIGV4YW1wbGU6CisgKgorICogY2hhaW46IC9zeXMvZGV2L2Jsb2NrLy4uLy4uL2RldmljZXMvcGNpMDAwMDowMC8wMDAwOjAwOjFhLjAvdXNiMS8xLTEvMS0xLjIvIFwKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgMS0xLjI6MS4wL2hvc3Q2NS90YXJnZXQ2NTowOjAvNjU6MDowOjAvYmxvY2svc2RiCisgKgorICogVGhlIGZ1bmN0aW9uIGNoZWNrIGlmIDxjaGFpbj4vc3Vic3lzdGVtIHN5bWxpbmsgZXhpc3RzLCBpZiB5ZXMgdGhlbiByZXR1cm5zCisgKiBiYXNlbmFtZSBvZiB0aGUgcmVhZGxpbmsgcmVzdWx0LCBhbmQgcmVtb3ZlIHRoZSBsYXN0IHN1YmRpcmVjdG9yeSBmcm9tIHRoZQorICogPGNoYWluPiBwYXRoLgorICovCitzdGF0aWMgY2hhciAqZ2V0X3N1YnN5c3RlbShjaGFyICpjaGFpbiwgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJc2l6ZV90IGxlbjsKKwljaGFyICpwOworCisJaWYgKCFjaGFpbiB8fCAhKmNoYWluKQorCQlyZXR1cm4gTlVMTDsKKworCWxlbiA9IHN0cmxlbihjaGFpbik7CisJaWYgKGxlbiArIHNpemVvZihTVUJTWVNURU1fTElOS05BTUUpID4gUEFUSF9NQVgpCisJCXJldHVybiBOVUxMOworCisJZG8geworCQlzc2l6ZV90IHN6OworCisJCS8qIGFwcGVuZCAiL3N1YnN5c3RlbSIgdG8gdGhlIHBhdGggKi8KKwkJbWVtY3B5KGNoYWluICsgbGVuLCBTVUJTWVNURU1fTElOS05BTUUsIHNpemVvZihTVUJTWVNURU1fTElOS05BTUUpKTsKKworCQkvKiB0cnkgaWYgc3Vic3lzdGVtIHN5bWxpbmsgZXhpc3RzICovCisJCXN6ID0gcmVhZGxpbmsoY2hhaW4sIGJ1ZiwgYnVmc3ogLSAxKTsKKworCQkvKiByZW1vdmUgbGFzdCBzdWJzeXN0ZW0gZnJvbSBjaGFpbiAqLworCQljaGFpbltsZW5dID0gJ1wwJzsKKwkJcCA9IHN0cnJjaHIoY2hhaW4sICcvJyk7CisJCWlmIChwKSB7CisJCQkqcCA9ICdcMCc7CisJCQlsZW4gPSBwIC0gY2hhaW47CisJCX0KKworCQlpZiAoc3ogPiAwKSB7CisJCQkvKiB3ZSBmb3VuZCBzeW1saW5rIHRvIHN1YnN5c3RlbSwgcmV0dXJuIGJhc2VuYW1lICovCisJCQlidWZbc3pdID0gJ1wwJzsKKwkJCXJldHVybiBiYXNlbmFtZShidWYpOworCQl9CisKKwl9IHdoaWxlIChwKTsKKworCXJldHVybiBOVUxMOworfQorCisvKgorICogUmV0dXJucyBjb21wbGV0ZSBwYXRoIHRvIHRoZSBkZXZpY2UsIHRoZSBwYXRjaCBjb250YWlucyBhbGwgc3Vic3lzdGVtcworICogdXNlZCBmb3IgdGhlIGRldmljZS4KKyAqLworY2hhciAqc3lzZnNfYmxrZGV2X2dldF9kZXZjaGFpbihzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwkvKiByZWFkIC9zeXMvZGV2L2Jsb2NrLzxtYWo+OjxtaW4+IHN5bWxpbmsgKi8KKwlzc2l6ZV90IHN6ID0gdWxfcGF0aF9yZWFkbGluayhwYywgYnVmLCBidWZzeiwgTlVMTCk7CisJY29uc3QgY2hhciAqcHJlZml4OworCXNpemVfdCBwc3ogPSAwOworCisJaWYgKHN6IDw9IDAgfHwgc3ogKyBzaXplb2YoX1BBVEhfU1lTX0RFVkJMT0NLICIvIikgPiBidWZzeikKKwkJcmV0dXJuIE5VTEw7CisKKwlidWZbc3orK10gPSAnXDAnOworCXByZWZpeCA9IHVsX3BhdGhfZ2V0X3ByZWZpeChwYyk7CisJaWYgKHByZWZpeCkKKwkJcHN6ID0gc3RybGVuKHByZWZpeCk7CisKKwkvKiBjcmVhdGUgYWJzb2x1dGUgcGF0Y2ggZnJvbSB0aGUgbGluayAqLworCW1lbW1vdmUoYnVmICsgcHN6ICsgc2l6ZW9mKF9QQVRIX1NZU19ERVZCTE9DSyAiLyIpIC0gMSwgYnVmLCBzeik7CisJaWYgKHByZWZpeCkKKwkJbWVtY3B5KGJ1ZiwgcHJlZml4LCBwc3opOworCisJbWVtY3B5KGJ1ZiArIHBzeiwgX1BBVEhfU1lTX0RFVkJMT0NLICIvIiwgc2l6ZW9mKF9QQVRIX1NZU19ERVZCTE9DSyAiLyIpIC0gMSk7CisJcmV0dXJuIGJ1ZjsKK30KKworLyoKKyAqIFRoZSBAc3Vic3lzIHJldHVybnMgdGhlIG5leHQgc3Vic3lzdGVtIGluIHRoZSBjaGFpbi4gRnVuY3Rpb24gbW9kaWZpZXMKKyAqIEBkZXZjaGFpbiBzdHJpbmcuCisgKgorICogUmV0dXJuczogMCBpbiBzdWNjZXNzLCA8MCBvbiBlcnJvciwgMSBvbiBlbmQgb2YgY2hhaW4KKyAqLworaW50IHN5c2ZzX2Jsa2Rldl9uZXh0X3N1YnN5c3RlbShzdHJ1Y3QgcGF0aF9jeHQgKnBjIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLAorCQkJIGNoYXIgKmRldmNoYWluLCBjaGFyICoqc3Vic3lzKQoreworCWNoYXIgc3ViYnVmW1BBVEhfTUFYXTsKKwljaGFyICpzdWI7CisKKwlpZiAoIXN1YnN5cyB8fCAhZGV2Y2hhaW4pCisJCXJldHVybiAtRUlOVkFMOworCisJKnN1YnN5cyA9IE5VTEw7CisKKwl3aGlsZSAoKHN1YiA9IGdldF9zdWJzeXN0ZW0oZGV2Y2hhaW4sIHN1YmJ1Ziwgc2l6ZW9mKHN1YmJ1ZikpKSkgeworCQkqc3Vic3lzID0gc3RyZHVwKHN1Yik7CisJCWlmICghKnN1YnN5cykKKwkJCXJldHVybiAtRU5PTUVNOworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworCitzdGF0aWMgaW50IGlzX2hvdHBsdWdnYWJsZV9zdWJzeXN0ZW0oY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdGF0aWMgY29uc3QgY2hhciAqIGNvbnN0IGhvdHBsdWdfc3Vic3lzdGVtc1tdID0geworCQkidXNiIiwKKwkJImllZWUxMzk0IiwKKwkJInBjbWNpYSIsCisJCSJtbWMiLAorCQkiY2N3IgorCX07CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShob3RwbHVnX3N1YnN5c3RlbXMpOyBpKyspCisJCWlmIChzdHJjbXAobmFtZSwgaG90cGx1Z19zdWJzeXN0ZW1zW2ldKSA9PSAwKQorCQkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworaW50IHN5c2ZzX2Jsa2Rldl9pc19ob3RwbHVnZ2FibGUoc3RydWN0IHBhdGhfY3h0ICpwYykKK3sKKwljaGFyIGJ1ZltQQVRIX01BWF0sICpjaGFpbiwgKnN1YjsKKwlpbnQgcmMgPSAwOworCisKKwkvKiBjaGVjayAvc3lzL2Rldi9ibG9jay88bWFqPjo8bWluPi9yZW1vdmFibGUgYXR0cmlidXRlICovCisJaWYgKHVsX3BhdGhfcmVhZF9zMzIocGMsICZyYywgInJlbW92YWJsZSIpID09IDAgJiYgcmMgPT0gMSkKKwkJcmV0dXJuIDE7CisKKwljaGFpbiA9IHN5c2ZzX2Jsa2Rldl9nZXRfZGV2Y2hhaW4ocGMsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJd2hpbGUgKGNoYWluICYmIHN5c2ZzX2Jsa2Rldl9uZXh0X3N1YnN5c3RlbShwYywgY2hhaW4sICZzdWIpID09IDApIHsKKwkJcmMgPSBpc19ob3RwbHVnZ2FibGVfc3Vic3lzdGVtKHN1Yik7CisJCWlmIChyYykgeworCQkJZnJlZShzdWIpOworCQkJYnJlYWs7CisJCX0KKwkJZnJlZShzdWIpOworCX0KKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBnZXRfZG1fd2hvbGVkaXNrKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNoYXIgKmRpc2tuYW1lLAorICAgICAgICAgICAgICAgIHNpemVfdCBsZW4sIGRldl90ICpkaXNrZGV2bm8pCit7CisgICAgaW50IHJjID0gMDsKKyAgICBjaGFyICpuYW1lOworCisgICAgLyogTm90ZSwgc3lzZnNfYmxrZGV2X2dldF9zbGF2ZSgpIHJldHVybnMgdGhlIGZpcnN0IHNsYXZlIG9ubHksCisgICAgICogaWYgdGhlcmUgaXMgbW9yZSBzbGF2ZXMsIHRoZW4gcmV0dXJuIE5VTEwKKyAgICAgKi8KKyAgICBuYW1lID0gc3lzZnNfYmxrZGV2X2dldF9zbGF2ZShwYyk7CisgICAgaWYgKCFuYW1lKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBpZiAoZGlza25hbWUgJiYgbGVuKSB7CisgICAgICAgIHN0cm5jcHkoZGlza25hbWUsIG5hbWUsIGxlbik7CisgICAgICAgIGRpc2tuYW1lW2xlbiAtIDFdID0gJ1wwJzsKKyAgICB9CisKKyAgICBpZiAoZGlza2Rldm5vKSB7CisgICAgICAgICpkaXNrZGV2bm8gPSBfX3N5c2ZzX2Rldm5hbWVfdG9fZGV2bm8odWxfcGF0aF9nZXRfcHJlZml4KHBjKSwgbmFtZSwgTlVMTCk7CisgICAgICAgIGlmICghKmRpc2tkZXZubykKKyAgICAgICAgICAgIHJjID0gLTE7CisgICAgfQorCisgICAgZnJlZShuYW1lKTsKKyAgICByZXR1cm4gcmM7Cit9CisKKy8qCisgKiBSZXR1cm5zIGJ5IEBkaXNrZGV2bm8gd2hvbGUgZGlzayBkZXZpY2UgZGV2bm8gYW5kIChvcHRpb25hbGx5KSBieQorICogQGRpc2tuYW1lIHRoZSB3aG9sZSBkaXNrIGRldmljZSBuYW1lLgorICovCitpbnQgc3lzZnNfYmxrZGV2X2dldF93aG9sZWRpc2soCXN0cnVjdCBwYXRoX2N4dCAqcGMsCisJCQkJY2hhciAqZGlza25hbWUsCisJCQkJc2l6ZV90IGxlbiwKKwkJCQlkZXZfdCAqZGlza2Rldm5vKQoreworICAgIGludCBpc19wYXJ0ID0gMDsKKworICAgIGlmICghcGMpCisgICAgICAgIHJldHVybiAtMTsKKworICAgIGlzX3BhcnQgPSB1bF9wYXRoX2FjY2VzcyhwYywgRl9PSywgInBhcnRpdGlvbiIpID09IDA7CisgICAgaWYgKCFpc19wYXJ0KSB7CisgICAgICAgIC8qCisgICAgICAgICAqIEV4dHJhIGNhc2UgZm9yIHBhcnRpdGlvbnMgbWFwcGVkIGJ5IGRldmljZS1tYXBwZXIuCisgICAgICAgICAqCisgICAgICAgICAqIEFsbCByZWd1bGFyIHBhcnRpdGlvbnMgKGFkZGVkIGJ5IEJMS1BHIGlvY3RsIG9yIGtlcm5lbCBQVAorICAgICAgICAgKiBwYXJzZXIpIGhhdmUgdGhlIC9zeXMvLi4uL3BhcnRpdGlvbiBmaWxlLiBUaGUgcGFydGl0aW9ucworICAgICAgICAgKiBtYXBwZWQgYnkgRE0gZG9uJ3QgaGF2ZSBzdWNoIGZpbGUsIGJ1dCB0aGV5IGhhdmUgInBhcnQiCisgICAgICAgICAqIHByZWZpeCBpbiBETSBVVUlELgorICAgICAgICAgKi8KKyAgICAgICAgY2hhciAqdXVpZCA9IE5VTEwsICp0bXAsICpwcmVmaXg7CisKKwl1bF9wYXRoX3JlYWRfc3RyaW5nKHBjLCAmdXVpZCwgImRtL3V1aWQiKTsKKwl0bXAgPSB1dWlkOworCXByZWZpeCA9IHV1aWQgPyBzdHJzZXAoJnRtcCwgIi0iKSA6IE5VTEw7CisKKyAgICAgICAgaWYgKHByZWZpeCAmJiBzdHJuY2FzZWNtcChwcmVmaXgsICJwYXJ0IiwgNCkgPT0gMCkKKyAgICAgICAgICAgIGlzX3BhcnQgPSAxOworICAgICAgICBmcmVlKHV1aWQpOworCisgICAgICAgIGlmIChpc19wYXJ0ICYmCisgICAgICAgICAgICBnZXRfZG1fd2hvbGVkaXNrKHBjLCBkaXNrbmFtZSwgbGVuLCBkaXNrZGV2bm8pID09IDApCisgICAgICAgICAgICAvKgorICAgICAgICAgICAgICogcGFydGl0aW9uZWQgZGV2aWNlLCBtYXBwZWQgYnkgRE0KKyAgICAgICAgICAgICAqLworICAgICAgICAgICAgZ290byBkb25lOworCisgICAgICAgIGlzX3BhcnQgPSAwOworICAgIH0KKworICAgIGlmICghaXNfcGFydCkgeworICAgICAgICAvKgorICAgICAgICAgKiB1bnBhcnRpdGlvbmVkIGRldmljZQorICAgICAgICAgKi8KKyAgICAgICAgaWYgKGRpc2tuYW1lICYmICFzeXNmc19ibGtkZXZfZ2V0X25hbWUocGMsIGRpc2tuYW1lLCBsZW4pKQorICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgIGlmIChkaXNrZGV2bm8pCisgICAgICAgICAgICAqZGlza2Rldm5vID0gc3lzZnNfYmxrZGV2X2dldF9kZXZubyhwYyk7CisKKyAgICB9IGVsc2UgeworICAgICAgICAvKgorICAgICAgICAgKiBwYXJ0aXRpb25lZCBkZXZpY2UKKyAgICAgICAgICogIC0gcmVhZGxpbmsgL3N5cy9kZXYvYmxvY2svODoxICAgPSAuLi8uLi9ibG9jay9zZGEvc2RhMQorICAgICAgICAgKiAgLSBkaXJuYW1lICAuLi8uLi9ibG9jay9zZGEvc2RhMSA9IC4uLy4uL2Jsb2NrL3NkYQorICAgICAgICAgKiAgLSBiYXNlbmFtZSAuLi8uLi9ibG9jay9zZGEgICAgICA9IHNkYQorICAgICAgICAgKi8KKyAgICAgICAgY2hhciBsaW5rcGF0aFtQQVRIX01BWF07CisgICAgICAgIGNoYXIgKm5hbWU7CisJc3NpemVfdAlsaW5rbGVuOworCisJbGlua2xlbiA9IHVsX3BhdGhfcmVhZGxpbmsocGMsIGxpbmtwYXRoLCBzaXplb2YobGlua3BhdGgpIC0gMSwgTlVMTCk7CisgICAgICAgIGlmIChsaW5rbGVuIDwgMCkKKyAgICAgICAgICAgIGdvdG8gZXJyOworICAgICAgICBsaW5rcGF0aFtsaW5rbGVuXSA9ICdcMCc7CisKKyAgICAgICAgc3RyaXBvZmZfbGFzdF9jb21wb25lbnQobGlua3BhdGgpOyAgICAgIC8qIGRpcm5hbWUgKi8KKyAgICAgICAgbmFtZSA9IHN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGxpbmtwYXRoKTsgICAvKiBiYXNlbmFtZSAqLworICAgICAgICBpZiAoIW5hbWUpCisgICAgICAgICAgICBnb3RvIGVycjsKKworCXN5c2ZzX2Rldm5hbWVfc3lzX3RvX2RldihuYW1lKTsKKyAgICAgICAgaWYgKGRpc2tuYW1lICYmIGxlbikgeworICAgICAgICAgICAgc3RybmNweShkaXNrbmFtZSwgbmFtZSwgbGVuKTsKKyAgICAgICAgICAgIGRpc2tuYW1lW2xlbiAtIDFdID0gJ1wwJzsKKyAgICAgICAgfQorCisgICAgICAgIGlmIChkaXNrZGV2bm8pIHsKKyAgICAgICAgICAgICpkaXNrZGV2bm8gPSBfX3N5c2ZzX2Rldm5hbWVfdG9fZGV2bm8odWxfcGF0aF9nZXRfcHJlZml4KHBjKSwgbmFtZSwgTlVMTCk7CisgICAgICAgICAgICBpZiAoISpkaXNrZGV2bm8pCisgICAgICAgICAgICAgICAgZ290byBlcnI7CisgICAgICAgIH0KKyAgICB9CisKK2RvbmU6CisgICAgcmV0dXJuIDA7CitlcnI6CisgICAgcmV0dXJuIC0xOworfQorCitpbnQgc3lzZnNfZGV2bm9fdG9fd2hvbGVkaXNrKGRldl90IGRldm5vLCBjaGFyICpkaXNrbmFtZSwKKwkJICAgICAgICAgICAgIHNpemVfdCBsZW4sIGRldl90ICpkaXNrZGV2bm8pCit7CisJc3RydWN0IHBhdGhfY3h0ICpwYzsKKwlpbnQgcmMgPSAwOworCisJaWYgKCFkZXZubykKKwkJcmV0dXJuIC1FSU5WQUw7CisJcGMgPSB1bF9uZXdfc3lzZnNfcGF0aChkZXZubywgTlVMTCwgTlVMTCk7CisJaWYgKCFwYykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyYyA9IHN5c2ZzX2Jsa2Rldl9nZXRfd2hvbGVkaXNrKHBjLCBkaXNrbmFtZSwgbGVuLCBkaXNrZGV2bm8pOworCXVsX3VucmVmX3BhdGgocGMpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIFJldHVybnMgMSBpZiB0aGUgZGV2aWNlIGlzIHByaXZhdGUgZGV2aWNlIG1hcHBlciBkZXZpY2UuIFRoZSBAdXVpZAorICogKGlmIG5vdCBOVUxMKSByZXR1cm5zIERNIGRldmljZSBVVUlELCB1c2UgZnJlZSgpIHRvIGRlYWxsb2NhdGUuCisgKi8KK2ludCBzeXNmc19kZXZub19pc19kbV9wcml2YXRlKGRldl90IGRldm5vLCBjaGFyICoqdXVpZCkKK3sKKwlzdHJ1Y3QgcGF0aF9jeHQgKnBjID0gTlVMTDsKKwljaGFyICppZCA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCXBjID0gdWxfbmV3X3N5c2ZzX3BhdGgoZGV2bm8sIE5VTEwsIE5VTEwpOworCWlmICghcGMpCisJCWdvdG8gZG9uZTsKKwlpZiAodWxfcGF0aF9yZWFkX3N0cmluZyhwYywgJmlkLCAiZG0vdXVpZCIpIDw9IDAgfHwgIWlkKQorCQlnb3RvIGRvbmU7CisKKwkvKiBQcml2YXRlIExWTSBkZXZpY2VzIHVzZSAiTFZNLTx1dWlkPi08bmFtZT4iIHV1aWQgZm9ybWF0IChpbXBvcnRhbnQKKwkgKiBpcyB0aGUgIkxWTSIgcHJlZml4IGFuZCAiLTxuYW1lPiIgcG9zdGZpeCkuCisJICovCisJaWYgKHN0cm5jbXAoaWQsICJMVk0tIiwgNCkgPT0gMCkgeworCQljaGFyICpwID0gc3RycmNocihpZCArIDQsICctJyk7CisKKwkJaWYgKHAgJiYgKihwICsgMSkpCisJCQlyYyA9IDE7CisKKwkvKiBQcml2YXRlIFN0cmF0aXMgZGV2aWNlcyBwcmVmaXggdGhlIFVVSUQgd2l0aCAic3RyYXRpcy0xLXByaXZhdGUiCisJICovCisJfSBlbHNlIGlmIChzdHJuY21wKGlkLCAic3RyYXRpcy0xLXByaXZhdGUiLCAxNykgPT0gMCkgeworCQlyYyA9IDE7CisJfQorZG9uZToKKwl1bF91bnJlZl9wYXRoKHBjKTsKKwlpZiAodXVpZCkKKwkJKnV1aWQgPSBpZDsKKwllbHNlCisJCWZyZWUoaWQpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIFJldHVybiAwIG9yIDEsIG9yIDwgMCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK2ludCBzeXNmc19kZXZub19pc193aG9sZWRpc2soZGV2X3QgZGV2bm8pCit7CisJZGV2X3QgZGlzazsKKworCWlmIChzeXNmc19kZXZub190b193aG9sZWRpc2soZGV2bm8sIE5VTEwsIDAsICZkaXNrKSAhPSAwKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gZGV2bm8gPT0gZGlzazsKK30KKworCitpbnQgc3lzZnNfYmxrZGV2X3Njc2lfZ2V0X2hjdGwoc3RydWN0IHBhdGhfY3h0ICpwYywgaW50ICpoLCBpbnQgKmMsIGludCAqdCwgaW50ICpsKQoreworCWNoYXIgYnVmW1BBVEhfTUFYXSwgKmhjdGw7CisJc3RydWN0IHN5c2ZzX2Jsa2RldiAqYmxrOworCXNzaXplX3QgbGVuOworCisJYmxrID0gdWxfcGF0aF9nZXRfZGlhbGVjdChwYyk7CisKKwlpZiAoIWJsayB8fCBibGstPmhjdGxfZXJyb3IpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChibGstPmhhc19oY3RsKQorCQlnb3RvIGRvbmU7CisKKwlibGstPmhjdGxfZXJyb3IgPSAxOworCWxlbiA9IHVsX3BhdGhfcmVhZGxpbmsocGMsIGJ1Ziwgc2l6ZW9mKGJ1ZikgLSAxLCAiZGV2aWNlIik7CisJaWYgKGxlbiA8IDApCisJCXJldHVybiBsZW47CisKKwlidWZbbGVuXSA9ICdcMCc7CisJaGN0bCA9IHN0cnJjaHIoYnVmLCAnLycpOworCWlmICghaGN0bCkKKwkJcmV0dXJuIC0xOworCWhjdGwrKzsKKworCWlmIChzc2NhbmYoaGN0bCwgIiV1OiV1OiV1OiV1IiwJJmJsay0+c2NzaV9ob3N0LCAmYmxrLT5zY3NpX2NoYW5uZWwsCisJCQkJJmJsay0+c2NzaV90YXJnZXQsICZibGstPnNjc2lfbHVuKSAhPSA0KQorCQlyZXR1cm4gLTE7CisKKwlibGstPmhhc19oY3RsID0gMTsKK2RvbmU6CisJaWYgKGgpCisJCSpoID0gYmxrLT5zY3NpX2hvc3Q7CisJaWYgKGMpCisJCSpjID0gYmxrLT5zY3NpX2NoYW5uZWw7CisJaWYgKHQpCisJCSp0ID0gYmxrLT5zY3NpX3RhcmdldDsKKwlpZiAobCkKKwkJKmwgPSBibGstPnNjc2lfbHVuOworCisJYmxrLT5oY3RsX2Vycm9yID0gMDsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgY2hhciAqc2NzaV9ob3N0X2F0dHJpYnV0ZV9wYXRoKAorCQkJc3RydWN0IHBhdGhfY3h0ICpwYywKKwkJCWNvbnN0IGNoYXIgKnR5cGUsCisJCQljaGFyICpidWYsCisJCQlzaXplX3QgYnVmc3osCisJCQljb25zdCBjaGFyICphdHRyKQoreworCWludCBsZW47CisJaW50IGhvc3Q7CisJY29uc3QgY2hhciAqcHJlZml4OworCisJaWYgKHN5c2ZzX2Jsa2Rldl9zY3NpX2dldF9oY3RsKHBjLCAmaG9zdCwgTlVMTCwgTlVMTCwgTlVMTCkpCisJCXJldHVybiBOVUxMOworCisJcHJlZml4ID0gdWxfcGF0aF9nZXRfcHJlZml4KHBjKTsKKwlpZiAoIXByZWZpeCkKKwkJcHJlZml4ID0gIiI7CisKKwlpZiAoYXR0cikKKwkJbGVuID0gc25wcmludGYoYnVmLCBidWZzeiwgIiVzJXMvJXNfaG9zdC9ob3N0JWQvJXMiLAorCQkJCXByZWZpeCwgX1BBVEhfU1lTX0NMQVNTLCB0eXBlLCBob3N0LCBhdHRyKTsKKwllbHNlCisJCWxlbiA9IHNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcyVzLyVzX2hvc3QvaG9zdCVkIiwKKwkJCQlwcmVmaXgsIF9QQVRIX1NZU19DTEFTUywgdHlwZSwgaG9zdCk7CisKKwlyZXR1cm4gKGxlbiA8IDAgfHwgKHNpemVfdCkgbGVuID49IGJ1ZnN6KSA/IE5VTEwgOiBidWY7Cit9CisKK2NoYXIgKnN5c2ZzX2Jsa2Rldl9zY3NpX2hvc3Rfc3RyZHVwX2F0dHJpYnV0ZShzdHJ1Y3QgcGF0aF9jeHQgKnBjLAorCQkJY29uc3QgY2hhciAqdHlwZSwgY29uc3QgY2hhciAqYXR0cikKK3sKKwljaGFyIGJ1ZlsxMDI0XTsKKwlpbnQgcmM7CisJRklMRSAqZjsKKworCWlmICghYXR0ciB8fCAhdHlwZSB8fAorCSAgICAhc2NzaV9ob3N0X2F0dHJpYnV0ZV9wYXRoKHBjLCB0eXBlLCBidWYsIHNpemVvZihidWYpLCBhdHRyKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoIShmID0gZm9wZW4oYnVmLCAiciIgVUxfQ0xPRVhFQ1NUUikpKQorICAgICAgICAgICAgICAgIHJldHVybiBOVUxMOworCisJcmMgPSBmc2NhbmYoZiwgIiUxMDIzW15cbl0iLCBidWYpOworCWZjbG9zZShmKTsKKworCXJldHVybiByYyA9PSAxID8gc3RyZHVwKGJ1ZikgOiBOVUxMOworfQorCitpbnQgc3lzZnNfYmxrZGV2X3Njc2lfaG9zdF9pcyhzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjb25zdCBjaGFyICp0eXBlKQoreworCWNoYXIgYnVmW1BBVEhfTUFYXTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghdHlwZSB8fCAhc2NzaV9ob3N0X2F0dHJpYnV0ZV9wYXRoKHBjLCB0eXBlLAorCQkJCWJ1Ziwgc2l6ZW9mKGJ1ZiksIE5VTEwpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBzdGF0KGJ1ZiwgJnN0KSA9PSAwICYmIFNfSVNESVIoc3Quc3RfbW9kZSk7Cit9CisKK3N0YXRpYyBjaGFyICpzY3NpX2F0dHJpYnV0ZV9wYXRoKHN0cnVjdCBwYXRoX2N4dCAqcGMsCisJCWNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6LCBjb25zdCBjaGFyICphdHRyKQoreworCWludCBsZW4sIGgsIGMsIHQsIGw7CisJY29uc3QgY2hhciAqcHJlZml4OworCisJaWYgKHN5c2ZzX2Jsa2Rldl9zY3NpX2dldF9oY3RsKHBjLCAmaCwgJmMsICZ0LCAmbCkgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlwcmVmaXggPSB1bF9wYXRoX2dldF9wcmVmaXgocGMpOworCWlmICghcHJlZml4KQorCQlwcmVmaXggPSAiIjsKKworCWlmIChhdHRyKQorCQlsZW4gPSBzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXMlcy9kZXZpY2VzLyVkOiVkOiVkOiVkLyVzIiwKKwkJCQlwcmVmaXgsIF9QQVRIX1NZU19TQ1NJLAorCQkJCWgsYyx0LGwsIGF0dHIpOworCWVsc2UKKwkJbGVuID0gc25wcmludGYoYnVmLCBidWZzeiwgIiVzJXMvZGV2aWNlcy8lZDolZDolZDolZCIsCisJCQkJcHJlZml4LCBfUEFUSF9TWVNfU0NTSSwKKwkJCQloLGMsdCxsKTsKKwlyZXR1cm4gKGxlbiA8IDAgfHwgKHNpemVfdCkgbGVuID49IGJ1ZnN6KSA/IE5VTEwgOiBidWY7Cit9CisKK2ludCBzeXNmc19ibGtkZXZfc2NzaV9oYXNfYXR0cmlidXRlKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKmF0dHIpCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghc2NzaV9hdHRyaWJ1dGVfcGF0aChwYywgcGF0aCwgc2l6ZW9mKHBhdGgpLCBhdHRyKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gc3RhdChwYXRoLCAmc3QpID09IDA7Cit9CisKK2ludCBzeXNmc19ibGtkZXZfc2NzaV9wYXRoX2NvbnRhaW5zKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXSwgbGlua2NbUEFUSF9NQVhdOworCXN0cnVjdCBzdGF0IHN0OworCXNzaXplX3QgbGVuOworCisJaWYgKCFzY3NpX2F0dHJpYnV0ZV9wYXRoKHBjLCBwYXRoLCBzaXplb2YocGF0aCksIE5VTEwpKQorCQlyZXR1cm4gMDsKKworCWlmIChzdGF0KHBhdGgsICZzdCkgIT0gMCkKKwkJcmV0dXJuIDA7CisKKwlsZW4gPSByZWFkbGluayhwYXRoLCBsaW5rYywgc2l6ZW9mKGxpbmtjKSAtIDEpOworCWlmIChsZW4gPCAwKQorCQlyZXR1cm4gMDsKKworCWxpbmtjW2xlbl0gPSAnXDAnOworCXJldHVybiBzdHJzdHIobGlua2MsIHBhdHRlcm4pICE9IE5VTEw7Cit9CisKK3N0YXRpYyBkZXZfdCByZWFkX2Rldm5vKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJRklMRSAqZjsKKwlpbnQgbWFqID0gMCwgbWluID0gMDsKKwlkZXZfdCBkZXYgPSAwOworCisJZiA9IGZvcGVuKHBhdGgsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoIWYpCisJCXJldHVybiAwOworCisJaWYgKGZzY2FuZihmLCAiJWQ6JWQiLCAmbWFqLCAmbWluKSA9PSAyKQorCQlkZXYgPSBtYWtlZGV2KG1haiwgbWluKTsKKwlmY2xvc2UoZik7CisJcmV0dXJuIGRldjsKK30KKworZGV2X3QgX19zeXNmc19kZXZuYW1lX3RvX2Rldm5vKGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqcGFyZW50KQoreworCWNoYXIgYnVmW1BBVEhfTUFYXTsKKwljaGFyICpfbmFtZSA9IE5VTEw7CS8qIG5hbWUgYXMgZW5jb2RlZCBpbiBzeXNmcyAqLworCWRldl90IGRldiA9IDA7CisJaW50IGxlbjsKKworCWlmICghcHJlZml4KQorCQlwcmVmaXggPSAiIjsKKworCWFzc2VydChuYW1lKTsKKworCWlmIChzdHJuY21wKCIvZGV2LyIsIG5hbWUsIDUpID09IDApIHsKKwkJLyoKKwkJICogUmVhZCBmcm9tIC9kZXYKKwkJICovCisJCXN0cnVjdCBzdGF0IHN0OworCisJCWlmIChzdGF0KG5hbWUsICZzdCkgPT0gMCkgeworCQkJZGV2ID0gc3Quc3RfcmRldjsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCQluYW1lICs9IDU7CS8qIHVuYWNjZXNpYmxlLCBvciBub3Qgbm9kZSBpbiAvZGV2ICovCisJfQorCisJX25hbWUgPSBzdHJkdXAobmFtZSk7CisJaWYgKCFfbmFtZSkKKwkJZ290byBkb25lOworCXN5c2ZzX2Rldm5hbWVfZGV2X3RvX3N5cyhfbmFtZSk7CisKKwlpZiAocGFyZW50ICYmIHN0cm5jbXAoImRtLSIsIG5hbWUsIDMpKSB7CisJCS8qCisJCSAqIENyZWF0ZSBwYXRoIHRvIC9zeXMvYmxvY2svPHBhcmVudD4vPG5hbWU+L2RldgorCQkgKi8KKwkJY2hhciAqX3BhcmVudCA9IHN0cmR1cChwYXJlbnQpOworCisJCWlmICghX3BhcmVudCkgeworCQkJZnJlZShfcGFyZW50KTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCQlzeXNmc19kZXZuYW1lX2Rldl90b19zeXMoX3BhcmVudCk7CisJCWxlbiA9IHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksCisJCQkJIiVzIiBfUEFUSF9TWVNfQkxPQ0sgIi8lcy8lcy9kZXYiLAorCQkJCXByZWZpeCwJX3BhcmVudCwgX25hbWUpOworCQlmcmVlKF9wYXJlbnQpOworCQlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KSBsZW4gPj0gc2l6ZW9mKGJ1ZikpCisJCQlnb3RvIGRvbmU7CisKKwkJLyogZG9uJ3QgdHJ5IGFueXRoaW5nIGVsc2UgZm9yIGRtLSogKi8KKwkJZGV2ID0gcmVhZF9kZXZubyhidWYpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyoKKwkgKiBSZWFkIGZyb20gL3N5cy9ibG9jay88c3lzbmFtZT4vZGV2CisJICovCisJbGVuID0gc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwKKwkJCSIlcyIgX1BBVEhfU1lTX0JMT0NLICIvJXMvZGV2IiwKKwkJCXByZWZpeCwgX25hbWUpOworCWlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+PSBzaXplb2YoYnVmKSkKKwkJZ290byBkb25lOworCWRldiA9IHJlYWRfZGV2bm8oYnVmKTsKKworCWlmICghZGV2KSB7CisJCS8qCisJCSAqIFJlYWQgZnJvbSAvc3lzL2Jsb2NrLzxzeXNuYW1lPi9kZXZpY2UvZGV2CisJCSAqLworCQlsZW4gPSBzbnByaW50ZihidWYsIHNpemVvZihidWYpLAorCQkJCSIlcyIgX1BBVEhfU1lTX0JMT0NLICIvJXMvZGV2aWNlL2RldiIsCisJCQkJcHJlZml4LCBfbmFtZSk7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+PSBzaXplb2YoYnVmKSkKKwkJCWdvdG8gZG9uZTsKKwkJZGV2ID0gcmVhZF9kZXZubyhidWYpOworCX0KK2RvbmU6CisJZnJlZShfbmFtZSk7CisJcmV0dXJuIGRldjsKK30KKworZGV2X3Qgc3lzZnNfZGV2bmFtZV90b19kZXZubyhjb25zdCBjaGFyICpuYW1lKQoreworCXJldHVybiBfX3N5c2ZzX2Rldm5hbWVfdG9fZGV2bm8oTlVMTCwgbmFtZSwgTlVMTCk7Cit9CisKK2NoYXIgKnN5c2ZzX2Jsa2Rldl9nZXRfcGF0aChzdHJ1Y3QgcGF0aF9jeHQgKnBjLCBjaGFyICpidWYsIHNpemVfdCBidWZzaXopCit7CisJY29uc3QgY2hhciAqbmFtZSA9IHN5c2ZzX2Jsa2Rldl9nZXRfbmFtZShwYywgYnVmLCBidWZzaXopOworCWNoYXIgKnJlcyA9IE5VTEw7CisJc2l6ZV90IHN6OworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKCFuYW1lKQorCQlnb3RvIGRvbmU7CisKKwlzeiA9IHN0cmxlbihuYW1lKTsKKwlpZiAoc3ogKyBzaXplb2YoIi9kZXYvIikgPiBidWZzaXopCisJCWdvdG8gZG9uZTsKKworCS8qIGNyZWF0ZSB0aGUgZmluYWwgIi9kZXYvPG5hbWU+IiBzdHJpbmcgKi8KKwltZW1tb3ZlKGJ1ZiArIDUsIG5hbWUsIHN6ICsgMSk7CisJbWVtY3B5KGJ1ZiwgIi9kZXYvIiwgNSk7CisKKwlpZiAoIXN0YXQoYnVmLCAmc3QpICYmIFNfSVNCTEsoc3Quc3RfbW9kZSkgJiYgc3Quc3RfcmRldiA9PSBzeXNmc19ibGtkZXZfZ2V0X2Rldm5vKHBjKSkKKwkJcmVzID0gYnVmOworZG9uZToKKwlyZXR1cm4gcmVzOworfQorCitkZXZfdCBzeXNmc19ibGtkZXZfZ2V0X2Rldm5vKHN0cnVjdCBwYXRoX2N4dCAqcGMpCit7CisJcmV0dXJuICgoc3RydWN0IHN5c2ZzX2Jsa2RldiAqKSB1bF9wYXRoX2dldF9kaWFsZWN0KHBjKSktPmRldm5vOworfQorCisvKgorICogUmV0dXJucyBkZXZuYW1lIChlLmcuICIvZGV2L3NkYTEiKSBmb3IgdGhlIGdpdmVuIGRldm5vLgorICoKKyAqIFBsZWFzZSwgdXNlIG1vcmUgcm9idXN0IGJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoKSBpbiB5b3VyIGFwcGxpY2F0aW9ucy4KKyAqLworY2hhciAqc3lzZnNfZGV2bm9fdG9fZGV2cGF0aChkZXZfdCBkZXZubywgY2hhciAqYnVmLCBzaXplX3QgYnVmc2l6KQoreworCXN0cnVjdCBwYXRoX2N4dCAqcGMgPSB1bF9uZXdfc3lzZnNfcGF0aChkZXZubywgTlVMTCwgTlVMTCk7CisJY2hhciAqcmVzID0gTlVMTDsKKworCWlmIChwYykgeworCQlyZXMgPSBzeXNmc19ibGtkZXZfZ2V0X3BhdGgocGMsIGJ1ZiwgYnVmc2l6KTsKKwkJdWxfdW5yZWZfcGF0aChwYyk7CisJfQorCXJldHVybiByZXM7Cit9CisKK2NoYXIgKnN5c2ZzX2Rldm5vX3RvX2Rldm5hbWUoZGV2X3QgZGV2bm8sIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeikKK3sKKwlzdHJ1Y3QgcGF0aF9jeHQgKnBjID0gdWxfbmV3X3N5c2ZzX3BhdGgoZGV2bm8sIE5VTEwsIE5VTEwpOworCWNoYXIgKnJlcyA9IE5VTEw7CisKKwlpZiAocGMpIHsKKwkJcmVzID0gc3lzZnNfYmxrZGV2X2dldF9uYW1lKHBjLCBidWYsIGJ1ZnNpeik7CisJCXVsX3VucmVmX3BhdGgocGMpOworCX0KKwlyZXR1cm4gcmVzOworfQorCisKKworI2lmZGVmIFRFU1RfUFJPR1JBTV9TWVNGUworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHBhdGhfY3h0ICpwYzsKKwljaGFyICpkZXZuYW1lOworCWRldl90IGRldm5vLCBkaXNrX2Rldm5vOworCWNoYXIgcGF0aFtQQVRIX01BWF0sICpzdWIsICpjaGFpbjsKKwljaGFyIGRpc2tuYW1lWzMyXTsKKwlpbnQgaSwgaXNfcGFydCwgcmMgPSBFWElUX1NVQ0NFU1M7CisJdWludDY0X3QgdTY0OworCisJaWYgKGFyZ2MgIT0gMikKKwkJZXJyeChFWElUX0ZBSUxVUkUsICJ1c2FnZTogJXMgPGRldm5hbWU+IiwgYXJndlswXSk7CisKKwl1bF9zeXNmc19pbml0X2RlYnVnKCk7CisKKwlkZXZuYW1lID0gYXJndlsxXTsKKwlkZXZubyA9IHN5c2ZzX2Rldm5hbWVfdG9fZGV2bm8oZGV2bmFtZSk7CisKKwlpZiAoIWRldm5vKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIHJlYWQgZGV2bm8iKTsKKworCXByaW50Zigibm9uLWNvbnRleHQ6XG4iKTsKKwlwcmludGYoIiBERVZOTzogICAldSAoJWQ6JWQpXG4iLCAodW5zaWduZWQgaW50KSBkZXZubywgbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpOworCXByaW50ZigiIERFVk5BTUU6ICVzXG4iLCBzeXNmc19kZXZub190b19kZXZuYW1lKGRldm5vLCBwYXRoLCBzaXplb2YocGF0aCkpKTsKKwlwcmludGYoIiBERVZQQVRIOiAlc1xuIiwgc3lzZnNfZGV2bm9fdG9fZGV2cGF0aChkZXZubywgcGF0aCwgc2l6ZW9mKHBhdGgpKSk7CisKKwlzeXNmc19kZXZub190b193aG9sZWRpc2soZGV2bm8sIGRpc2tuYW1lLCBzaXplb2YoZGlza25hbWUpLCAmZGlza19kZXZubyk7CisJcHJpbnRmKCIgV0hPTEVESVNLLURFVk5POiAgICV1ICglZDolZClcbiIsICh1bnNpZ25lZCBpbnQpIGRpc2tfZGV2bm8sIG1ham9yKGRpc2tfZGV2bm8pLCBtaW5vcihkaXNrX2Rldm5vKSk7CisJcHJpbnRmKCIgV0hPTEVESVNLLURFVk5BTUU6ICVzXG4iLCBkaXNrbmFtZSk7CisKKwlwYyA9IHVsX25ld19zeXNmc19wYXRoKGRldm5vLCBOVUxMLCBOVUxMKTsKKwlpZiAoIXBjKQorCQlnb3RvIGRvbmU7CisKKwlwcmludGYoImNvbnRleHQgYmFzZWQ6XG4iKTsKKwlkZXZubyA9IHN5c2ZzX2Jsa2Rldl9nZXRfZGV2bm8ocGMpOworCXByaW50ZigiIERFVk5POiAgICV1ICglZDolZClcbiIsICh1bnNpZ25lZCBpbnQpIGRldm5vLCBtYWpvcihkZXZubyksIG1pbm9yKGRldm5vKSk7CisJcHJpbnRmKCIgREVWTkFNRTogJXNcbiIsIHN5c2ZzX2Jsa2Rldl9nZXRfbmFtZShwYywgcGF0aCwgc2l6ZW9mKHBhdGgpKSk7CisJcHJpbnRmKCIgREVWUEFUSDogJXNcbiIsIHN5c2ZzX2Jsa2Rldl9nZXRfcGF0aChwYywgcGF0aCwgc2l6ZW9mKHBhdGgpKSk7CisKKwlzeXNmc19kZXZub190b193aG9sZWRpc2soZGV2bm8sIGRpc2tuYW1lLCBzaXplb2YoZGlza25hbWUpLCAmZGlza19kZXZubyk7CisJcHJpbnRmKCIgV0hPTEVESVNLLURFVk5POiAldSAoJWQ6JWQpXG4iLCAodW5zaWduZWQgaW50KSBkaXNrX2Rldm5vLCBtYWpvcihkaXNrX2Rldm5vKSwgbWlub3IoZGlza19kZXZubykpOworCXByaW50ZigiIFdIT0xFRElTSy1ERVZOQU1FOiAlc1xuIiwgZGlza25hbWUpOworCisJaXNfcGFydCA9IHVsX3BhdGhfYWNjZXNzKHBjLCBGX09LLCAicGFydGl0aW9uIikgPT0gMDsKKwlwcmludGYoIiBQQVJUSVRJT046ICVzXG4iLCBpc19wYXJ0ID8gIllFUyIgOiAiTk9UIik7CisKKwlpZiAoaXNfcGFydCAmJiBkaXNrX2Rldm5vKSB7CisJCXN0cnVjdCBwYXRoX2N4dCAqZGlza19wYyA9ICB1bF9uZXdfc3lzZnNfcGF0aChkaXNrX2Rldm5vLCBOVUxMLCBOVUxMKTsKKwkJc3lzZnNfYmxrZGV2X3NldF9wYXJlbnQocGMsIGRpc2tfcGMpOworCisJCXVsX3VucmVmX3BhdGgoZGlza19wYyk7CisJfQorCisJcHJpbnRmKCIgSE9UUExVRzogJXNcbiIsIHN5c2ZzX2Jsa2Rldl9pc19ob3RwbHVnZ2FibGUocGMpID8gInllcyIgOiAibm8iKTsKKwlwcmludGYoIiBTTEFWRVM6ICVkXG4iLCB1bF9wYXRoX2NvdW50X2RpcmVudHMocGMsICJzbGF2ZXMiKSk7CisKKwlpZiAoIWlzX3BhcnQpIHsKKwkJcHJpbnRmKCJGaXJzdCA1IHBhcnRpdGlvbnM6XG4iKTsKKwkJZm9yIChpID0gMTsgaSA8PSA1OyBpKyspIHsKKwkJCWRldl90IGRldiA9IHN5c2ZzX2Jsa2Rldl9wYXJ0bm9fdG9fZGV2bm8ocGMsIGkpOworCQkJaWYgKGRldikKKwkJCQlwcmludGYoIlx0IyVkICVkOiVkXG4iLCBpLCBtYWpvcihkZXYpLCBtaW5vcihkZXYpKTsKKwkJfQorCX0KKworCWlmICh1bF9wYXRoX3JlYWRfdTY0KHBjLCAmdTY0LCAic2l6ZSIpICE9IDApCisJCXByaW50ZigiICghKSByZWFkIFNJWkUgZmFpbGVkXG4iKTsKKwllbHNlCisJCXByaW50ZigiIFNJWkU6ICVqZFxuIiwgdTY0KTsKKworCWlmICh1bF9wYXRoX3JlYWRfczMyKHBjLCAmaSwgInF1ZXVlL2h3X3NlY3Rvcl9zaXplIikpCisJCXByaW50ZigiICghKSByZWFkIFNFQ1RPUiBmYWlsZWRcbiIpOworCWVsc2UKKwkJcHJpbnRmKCIgU0VDVE9SOiAlZFxuIiwgaSk7CisKKworCWNoYWluID0gc3lzZnNfYmxrZGV2X2dldF9kZXZjaGFpbihwYywgcGF0aCwgc2l6ZW9mKHBhdGgpKTsKKwlwcmludGYoIiBTVUJTVVNURU1TOlxuIik7CisKKwl3aGlsZSAoY2hhaW4gJiYgc3lzZnNfYmxrZGV2X25leHRfc3Vic3lzdGVtKHBjLCBjaGFpbiwgJnN1YikgPT0gMCkgeworCQlwcmludGYoIlx0JXNcbiIsIHN1Yik7CisJCWZyZWUoc3ViKTsKKwl9CisKKwlyYyA9IEVYSVRfU1VDQ0VTUzsKK2RvbmU6CisJdWxfdW5yZWZfcGF0aChwYyk7CisJcmV0dXJuIHJjOworfQorI2VuZGlmIC8qIFRFU1RfUFJPR1JBTV9TWVNGUyAqLwpkaWZmIC0tZ2l0IGEvbGliL3Rlcm1pbmFsLWNvbG9ycy5kLjUgYi9saWIvdGVybWluYWwtY29sb3JzLmQuNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGJlYzIzCi0tLSAvZGV2L251bGwKKysrIGIvbGliL3Rlcm1pbmFsLWNvbG9ycy5kLjUKQEAgLTAsMCArMSwxOTIgQEAKKy5cIiB0ZXJtaW5hbC1jb2xvcnMuZC41IC0tCisuXCIgQ29weXJpZ2h0IDIwMTQgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorLlwiIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIiBDb3B5cmlnaHQgMjAxNCBSZWQgSGF0LCBJbmMuCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIICJURVJNSU5BTF9DT0xPUlMuRCIgIjUiICJKYW51YXJ5IDIwMTQiICJ1dGlsLWxpbnV4IiAidGVybWluYWwtY29sb3JzLmQiCisuU0ggIk5BTUUiCit0ZXJtaW5hbC1jb2xvcnMuZCBcLSBDb25maWd1cmUgb3V0cHV0IGNvbG9yaXphdGlvbiBmb3IgdmFyaW91cyB1dGlsaXRpZXMKKy5TSCAiU1lOT1BTSVMiCisvZXRjL3Rlcm1pbmFsLWNvbG9yc1wmLmQvW1tcZkluYW1lXGZSXVtAXGZJdGVybVxmUl1cJi5dW1xmSXR5cGVcZlJdCisuU0ggIkRFU0NSSVBUSU9OIgorRmlsZXMgaW4gdGhpcyBkaXJlY3RvcnkgZGV0ZXJtaW5lIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciB1dGlsaXRpZXMKK3doZW4gY29sb3Jpbmcgb3V0cHV0LgorCitUaGUKKy5JIG5hbWUKK2lzIGEgdXRpbGl0eSBuYW1lLiAgVGhlIG5hbWUgaXMgb3B0aW9uYWwgYW5kIHdoZW4gbm9uZSBpcyBzcGVjaWZpZWQgdGhlbiB0aGUKK2ZpbGUgaXMgdXNlZCBmb3IgYWxsIHVuc3BlY2lmaWVkIHV0aWxpdGllcy4KKworVGhlCisuSSB0ZXJtCitpcyBhIHRlcm1pbmFsIGlkZW50aWZpZXIgKHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlKS4KK1RoZSB0ZXJtaW5hbCBpZGVudGlmaWVyIGlzIG9wdGlvbmFsIGFuZCB3aGVuIG5vbmUgaXMgc3BlY2lmaWVkIHRoZW4gdGhlIGZpbGUKK2lzIHVzZWQgZm9yIGFsbCB1bnNwZWNpZmllZCB0ZXJtaW5hbHMuCisKK1RoZQorLkkgdHlwZQoraXMgYSBmaWxlIHR5cGUuICBTdXBwb3J0ZWQgZmlsZSB0eXBlcyBhcmU6CisuVFAKKy5CIGRpc2FibGUKK1R1cm5zIG9mZiBvdXRwdXQgY29sb3JpemF0aW9uIGZvciBhbGwgY29tcGF0aWJsZSB1dGlsaXRpZXMuCisuVFAKKy5CIGVuYWJsZQorVHVybnMgb24gb3V0cHV0IGNvbG9yaXphdGlvbjsgYW55IG1hdGNoaW5nCisuQiBkaXNhYmxlCitmaWxlcyBhcmUgaWdub3JlZC4KKy5UUAorLkIgc2NoZW1lCitTcGVjaWZpZXMgY29sb3JzIHVzZWQgZm9yIG91dHB1dC4gIFRoZSBmaWxlIGZvcm1hdCBtYXkgYmUgc3BlY2lmaWMgdG8gdGhlIHV0aWxpdHksCit0aGUgZGVmYXVsdCBmb3JtYXQgaXMgZGVzY3JpYmVkIGJlbG93LgorLlBQCitJZiB0aGVyZSBhcmUgbW9yZSBmaWxlcyB0aGF0IG1hdGNoIGZvciBhIHV0aWxpdHksIHRoZW4gdGhlIGZpbGUgd2l0aCB0aGUgbW9yZQorc3BlY2lmaWMgZmlsZW5hbWUgd2lucy4gIEZvciBleGFtcGxlLCB0aGUgZmlsZW5hbWUgIkB4dGVybS5zY2hlbWUiIGhhcyBsZXNzCitwcmlvcml0eSB0aGFuICJkbWVzZ0B4dGVybS5zY2hlbWUiLiAgVGhlIGxvd2VzdCBwcmlvcml0eSBhcmUgdGhvc2UgZmlsZXMgd2l0aG91dCBhCit1dGlsaXR5IG5hbWUgYW5kIHRlcm1pbmFsIGlkZW50aWZpZXIgKGUuZy4gImRpc2FibGUiKS4KKworVGhlIHVzZXItc3BlY2lmaWMKKy5JICRYREdfQ09ORklHX0hPTUUvdGVybWluYWwtY29sb3JzLmQKK29yCisuSSAkSE9NRS8uY29uZmlnL3Rlcm1pbmFsLWNvbG9ycy5kCitvdmVycmlkZXMgdGhlIGdsb2JhbCBzZXR0aW5nLgorCisuU0ggRVhBTVBMRVMKK0Rpc2FibGUgY29sb3JzIGZvciBhbGwgY29tcGF0aWJsZSB1dGlsaXRpZXM6CisuUlMKKy5icgorLkIgInRvdWNoIC9ldGMvdGVybWluYWwtY29sb3JzLmQvZGlzYWJsZSIKKy5icgorLlJFCisKK0Rpc2FibGUgY29sb3JzIGZvciBhbGwgY29tcGF0aWJsZSB1dGlscyBvbiBhIHZ0MTAwIHRlcm1pbmFsOgorLlJTCisuYnIKKy5CICJ0b3VjaCAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL0B2dDEwMC5kaXNhYmxlIgorLmJyCisuUkUKKworRGlzYWJsZSBjb2xvcnMgZm9yIGFsbCBjb21wYXRpYmxlIHV0aWxzIGV4Y2VwdCBkbWVzZygxKToKKy5SUworLmJyCisuQiAidG91Y2ggL2V0Yy90ZXJtaW5hbC1jb2xvcnMuZC9kaXNhYmxlIgorLnNwCisuQiAidG91Y2ggL2V0Yy90ZXJtaW5hbC1jb2xvcnMuZC9kbWVzZy5lbmFibGUiCisuYnIKKy5SRQorCisuU0ggREVGQVVMVCBTQ0hFTUUgRklMRVMgRk9STUFUCitUaGUgZm9sbG93aW5nIHN0YXRlbWVudCBpcyByZWNvZ25pemVkOgorCisuUlMKKy5icgorLkIgIm5hbWUgY29sb3Itc2VxdWVuY2UiCisuYnIKKy5SRQorCitUaGUKKy5CIG5hbWUKK2lzIGEgbG9naWNhbCBuYW1lIG9mIGNvbG9yIHNlcXVlbmNlIChmb3IgZXhhbXBsZSAiZXJyb3IiKS4gIFRoZSBuYW1lcyBhcmUKK3NwZWNpZmljIHRvIHRoZSB1dGlsaXRpZXMuICBGb3IgbW9yZSBkZXRhaWxzIGFsd2F5cyBzZWUgdGhlIENPTE9SUyBzZWN0aW9uCitpbiB0aGUgbWFuIHBhZ2UgZm9yIHRoZSB1dGlsaXR5LgorCitUaGUKKy5CIGNvbG9yLXNlcXVlbmNlCitpcyBhIGNvbG9yIG5hbWUsIEFTQ0lJIGNvbG9yIHNlcXVlbmNlcyBvciBlc2NhcGUgc2VxdWVuY2VzLgorCisuU1MgQ29sb3IgbmFtZXMKK2JsYWNrLCBibGluaywgYmx1ZSwgYm9sZCwgYnJvd24sIGN5YW4sIGRhcmtncmF5LCBncmF5LCBncmVlbiwgaGFsZmJyaWdodCwKK2xpZ2h0Ymx1ZSwgbGlnaHRjeWFuLCBsaWdodGdyYXksIGxpZ2h0Z3JlZW4sIGxpZ2h0bWFnZW50YSwgbGlnaHRyZWQsIG1hZ2VudGEsCityZWQsIHJlc2V0LCByZXZlcnNlLCBhbmQgeWVsbG93LgorCisuU1MgQU5TSSBjb2xvciBzZXF1ZW5jZXMKK1RoZSBjb2xvciBzZXF1ZW5jZXMgYXJlIGNvbXBvc2VkIG9mIHNlcXVlbmNlcyBvZiBudW1iZXJzCitzZXBhcmF0ZWQgYnkgc2VtaWNvbG9ucy4gIFRoZSBtb3N0IGNvbW1vbiBjb2RlcyBhcmU6Cisuc3AKKy5SUworLlRTCitsIGwuCisgMAl0byByZXN0b3JlIGRlZmF1bHQgY29sb3IKKyAxCWZvciBicmlnaHRlciBjb2xvcnMKKyA0CWZvciB1bmRlcmxpbmVkIHRleHQKKyA1CWZvciBmbGFzaGluZyB0ZXh0CiszMAlmb3IgYmxhY2sgZm9yZWdyb3VuZAorMzEJZm9yIHJlZCBmb3JlZ3JvdW5kCiszMglmb3IgZ3JlZW4gZm9yZWdyb3VuZAorMzMJZm9yIHllbGxvdyAob3IgYnJvd24pIGZvcmVncm91bmQKKzM0CWZvciBibHVlIGZvcmVncm91bmQKKzM1CWZvciBwdXJwbGUgZm9yZWdyb3VuZAorMzYJZm9yIGN5YW4gZm9yZWdyb3VuZAorMzcJZm9yIHdoaXRlIChvciBncmF5KSBmb3JlZ3JvdW5kCis0MAlmb3IgYmxhY2sgYmFja2dyb3VuZAorNDEJZm9yIHJlZCBiYWNrZ3JvdW5kCis0Mglmb3IgZ3JlZW4gYmFja2dyb3VuZAorNDMJZm9yIHllbGxvdyAob3IgYnJvd24pIGJhY2tncm91bmQKKzQ0CWZvciBibHVlIGJhY2tncm91bmQKKzQ1CWZvciBwdXJwbGUgYmFja2dyb3VuZAorNDYJZm9yIGN5YW4gYmFja2dyb3VuZAorNDcJZm9yIHdoaXRlIChvciBncmF5KSBiYWNrZ3JvdW5kCisuVEUKKy5SRQorLlNTIEVzY2FwZSBzZXF1ZW5jZXMKK1RvIHNwZWNpZnkgY29udHJvbCBvciBibGFuayBjaGFyYWN0ZXJzIGluIHRoZSBjb2xvciBzZXF1ZW5jZXMsCitDLXN0eWxlIFxlLWVzY2FwZWQgbm90YXRpb24gY2FuIGJlIHVzZWQ6Cisuc3AKKy5SUworLlRTCitsYiBsLgorXGVhCUJlbGwgKEFTQ0lJIDcpCitcZWIJQmFja3NwYWNlIChBU0NJSSA4KQorXGVlCUVzY2FwZSAoQVNDSUkgMjcpCitcZWYJRm9ybSBmZWVkIChBU0NJSSAxMikKK1xlbglOZXdsaW5lIChBU0NJSSAxMCkKK1xlcglDYXJyaWFnZSBSZXR1cm4gKEFTQ0lJIDEzKQorXGV0CVRhYiAoQVNDSUkgOSkKK1xldglWZXJ0aWNhbCBUYWIgKEFTQ0lJIDExKQorXGU/CURlbGV0ZSAoQVNDSUkgMTI3KQorXGVfCVNwYWNlCitcZVxlCUJhY2tzbGFzaCAoXGUpCitcZV4JQ2FyZXQgKF4pCitcZSMJSGFzaCBtYXJrICgjKQorLlRFCisuUkUKKy5zcAorUGxlYXNlIG5vdGUgdGhhdCBlc2NhcGVzIGFyZSBuZWNlc3NhcnkgdG8gZW50ZXIgYSBzcGFjZSwgYmFja3NsYXNoLAorY2FyZXQsIG9yIGFueSBjb250cm9sIGNoYXJhY3RlciBhbnl3aGVyZSBpbiB0aGUgc3RyaW5nLCBhcyB3ZWxsIGFzIGEKK2hhc2ggbWFyayBhcyB0aGUgZmlyc3QgY2hhcmFjdGVyLgorCitGb3IgZXhhbXBsZSwgdG8gdXNlIGEgcmVkIGJhY2tncm91bmQgZm9yIGFsZXJ0IG1lc3NhZ2VzIGluIHRoZSBvdXRwdXQgb2YKKy5CUiBkbWVzZyAoMSksCit1c2U6CisKKy5SUworLmJyCisuQiAiZWNobyAnYWxlcnQgMzc7NDEnID4+IC9ldGMvdGVybWluYWwtY29sb3JzLmQvZG1lc2cuc2NoZW1lIgorLmJyCisuUkUKKworLlNTIENvbW1lbnRzCitMaW5lcyB3aGVyZSB0aGUgZmlyc3Qgbm9uLWJsYW5rIGNoYXJhY3RlciBpcyBhICMgKGhhc2gpIGFyZSBpZ25vcmVkLgorQW55IG90aGVyIHVzZSBvZiB0aGUgaGFzaCBjaGFyYWN0ZXIgaXMgbm90IGludGVycHJldGVkIGFzIGludHJvZHVjaW5nCithIGNvbW1lbnQuCisKKy5TSCBGSUxFUworLkkgJFhER19DT05GSUdfSE9NRS90ZXJtaW5hbC1jb2xvcnMuZAorLmJyCisuSSAkSE9NRS8uY29uZmlnL3Rlcm1pbmFsLWNvbG9ycy5kCisuYnIKKy5JIC9ldGMvdGVybWluYWwtY29sb3JzLmQKKworLlNIIEVOVklST05NRU5UCisuSVAgVEVSTUlOQUxfQ09MT1JTX0RFQlVHPWFsbAorZW5hYmxlcyBkZWJ1ZyBvdXRwdXQuCisKKy5TSCBDT01QQVRJQklMSVRZCitUaGUgdGVybWluYWwtY29sb3JzLmQgZnVuY3Rpb25hbGl0eSBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIGJ5IGFsbCB1dGlsLWxpbnV4Cit1dGlsaXRpZXMgd2hpY2ggcHJvdmlkZXMgY29sb3JpemVkIG91dHB1dC4gIEZvciBtb3JlIGRldGFpbHMgYWx3YXlzIHNlZSB0aGUKK0NPTE9SUyBzZWN0aW9uIGluIHRoZSBtYW4gcGFnZSBmb3IgdGhlIHV0aWxpdHkuCisKKy5TSCBBVkFJTEFCSUxJVFkKK3Rlcm1pbmFsLWNvbG9ycy5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbGliL3RpbWVyLmMgYi9saWIvdGltZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTBjNzI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3RpbWVyLmMKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIFBsZWFzZSwgZG9uJ3QgYWRkIHRoaXMgZmlsZSB0byBsaWJjb21tb24gYmVjYXVzZSB0aW1lcnMgcmVxdWlyZXMKKyAqIC1scnQgb24gc3lzdGVtcyB3aXRoIG9sZCBsaWJjIChhbmQgcHJvYmFibHkgYWxzbyAtbHB0aHJlYWQgZm9yIHN0YXRpYworICogIGJ1aWxkKS4KKyAqLworI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInRpbWVyLmgiCisKKy8qCisgKiBOb3RlIHRoZSB0aW1lb3V0IGlzIHVzZWQgZm9yIHRoZSBmaXJzdCBzaWduYWwsIHRoZW4gdGhlIHNpZ25hbCBpcyBzZW5kCisgKiByZXBlYXRlZGx5IGluIGludGVydmFsIH4xJSBvZiB0aGUgb3JpZ2luYWwgdGltZW91dCB0byBhdm9pZCByYWNlIGluIHNpZ25hbAorICogaGFuZGxpbmcgLS0gZm9yIGV4YW1wbGUgeW91IHdhbnQgdG8gdXNlIHRpbWVyIHRvIGRlZmluZSB0aW1lb3V0IGZvciBhCisgKiBzeXNjYWxsOgorICoKKyAqCSBzZXR1cF90aW1lcigpCisgKgkgc3lzY2FsbCgpCisgKgkgY2FuY2VsX3RpbWVyKCkKKyAqCisgKiBpZiB0aGUgdGltZW91dCBpcyB0b28gc2hvcnQgdGhhbiBpdCdzIHBvc3NpYmxlIHRoYXQgdGhlIHNpZ25hbCBpcyBkZWxpdmVyZWQKKyAqIGJlZm9yZSBhcHBsaWNhdGlvbiBlbnRlciB0aGUgc3lzY2FsbCBmdW5jdGlvbi4gRm9yIHRoaXMgcmVhc29uIHRpbWVyIHNlbmQKKyAqIHRoZSBzaWduYWwgcmVwZWF0ZWRseS4KKyAqCisgKiBUaGUgYXBwbGljYXRpb25zIG5lZWQgdG8gZW5zdXJlIHRoYXQgdGhleSBjYW4gdG9sZXJhdGUgbXVsdGlwbGUgc2lnbmFsCisgKiBkZWxpdmVyaWVzLgorICovCitpbnQgc2V0dXBfdGltZXIodGltZXJfdCAqIHRfaWQsIHN0cnVjdCBpdGltZXJ2YWwgKnRpbWVvdXQsCisJCXZvaWQgKCp0aW1lb3V0X2hhbmRsZXIpKGludCwgc2lnaW5mb190ICosIHZvaWQgKikpCit7CisJdGltZV90IHNlYyA9IHRpbWVvdXQtPml0X3ZhbHVlLnR2X3NlYzsKKwlsb25nIHVzZWMgPSB0aW1lb3V0LT5pdF92YWx1ZS50dl91c2VjOworCXN0cnVjdCBzaWdhY3Rpb24gc2lnX2E7CisJc3RhdGljIHN0cnVjdCBzaWdldmVudCBzaWdfZSA9IHsKKwkJLnNpZ2V2X25vdGlmeSA9IFNJR0VWX1NJR05BTCwKKwkJLnNpZ2V2X3NpZ25vID0gU0lHQUxSTQorCX07CisJc3RydWN0IGl0aW1lcnNwZWMgdmFsID0geworCQkuaXRfdmFsdWUudHZfc2VjID0gc2VjLAorCQkuaXRfdmFsdWUudHZfbnNlYyA9IHVzZWMgKiAxMDAwLAorCQkuaXRfaW50ZXJ2YWwudHZfc2VjID0gc2VjIC8gMTAwLAorCQkuaXRfaW50ZXJ2YWwudHZfbnNlYyA9IChzZWMgPyBzZWMgJSAxMDAgOiAxKSAqIDEwKjEwMDAqMTAwMAorCX07CisKKwlpZiAoc2lnZW1wdHlzZXQoJnNpZ19hLnNhX21hc2spKQorCQlyZXR1cm4gMTsKKworCXNpZ19hLnNhX2ZsYWdzID0gU0FfU0lHSU5GTzsKKwlzaWdfYS5zYV9zaWdhY3Rpb24gPSB0aW1lb3V0X2hhbmRsZXI7CisKKwlpZiAoc2lnYWN0aW9uKFNJR0FMUk0sICZzaWdfYSwgTlVMTCkpCisJCXJldHVybiAxOworCWlmICh0aW1lcl9jcmVhdGUoQ0xPQ0tfTU9OT1RPTklDLCAmc2lnX2UsIHRfaWQpKQorCQlyZXR1cm4gMTsKKwlpZiAodGltZXJfc2V0dGltZSgqdF9pZCwgMCwgJnZhbCwgTlVMTCkpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCit2b2lkIGNhbmNlbF90aW1lcih0aW1lcl90ICp0X2lkKQoreworCXRpbWVyX2RlbGV0ZSgqdF9pZCk7Cit9CmRpZmYgLS1naXQgYS9saWIvdGltZXV0aWxzLmMgYi9saWIvdGltZXV0aWxzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWMyODZhZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYi90aW1ldXRpbHMuYwpAQCAtMCwwICsxLDU5NCBAQAorLyoqKgorICBGaXJzdCBzZXQgb2YgZnVuY3Rpb25zIGluIHRoaXMgZmlsZSBhcmUgcGFydCBvZiBzeXN0ZW1kLCBhbmQgd2VyZQorICBjb3BpZWQgdG8gdXRpbC1saW51eCBhdCBBdWd1c3QgMjAxMy4KKworICBDb3B5cmlnaHQgMjAxMCBMZW5uYXJ0IFBvZXR0ZXJpbmcKKworICBzeXN0ZW1kIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkgaXQKKyAgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IKKyAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKworICBzeXN0ZW1kIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZSBHTlUKKyAgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAgYWxvbmcgd2l0aCB1dGlsLWxpbnV4OyBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisqKiovCisKKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAidGltZXV0aWxzLmgiCisKKyNkZWZpbmUgV0hJVEVTUEFDRSAiIFx0XG5cciIKKworI2RlZmluZSBzdHJlcShhLGIpIChzdHJjbXAoKGEpLChiKSkgPT0gMCkKKworc3RhdGljIGludCBwYXJzZV9zZWMoY29uc3QgY2hhciAqdCwgdXNlY190ICp1c2VjKQoreworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgeworCQljb25zdCBjaGFyICpzdWZmaXg7CisJCXVzZWNfdCB1c2VjOworCX0gdGFibGVbXSA9IHsKKwkJeyAic2Vjb25kcyIsCVVTRUNfUEVSX1NFQyB9LAorCQl7ICJzZWNvbmQiLAlVU0VDX1BFUl9TRUMgfSwKKwkJeyAic2VjIiwJVVNFQ19QRVJfU0VDIH0sCisJCXsgInMiLAkJVVNFQ19QRVJfU0VDIH0sCisJCXsgIm1pbnV0ZXMiLAlVU0VDX1BFUl9NSU5VVEUgfSwKKwkJeyAibWludXRlIiwJVVNFQ19QRVJfTUlOVVRFIH0sCisJCXsgIm1pbiIsCVVTRUNfUEVSX01JTlVURSB9LAorCQl7ICJtb250aHMiLAlVU0VDX1BFUl9NT05USCB9LAorCQl7ICJtb250aCIsCVVTRUNfUEVSX01PTlRIIH0sCisJCXsgIm1zZWMiLAlVU0VDX1BFUl9NU0VDIH0sCisJCXsgIm1zIiwJCVVTRUNfUEVSX01TRUMgfSwKKwkJeyAibSIsCQlVU0VDX1BFUl9NSU5VVEUgfSwKKwkJeyAiaG91cnMiLAlVU0VDX1BFUl9IT1VSIH0sCisJCXsgImhvdXIiLAlVU0VDX1BFUl9IT1VSIH0sCisJCXsgImhyIiwJCVVTRUNfUEVSX0hPVVIgfSwKKwkJeyAiaCIsCQlVU0VDX1BFUl9IT1VSIH0sCisJCXsgImRheXMiLAlVU0VDX1BFUl9EQVkgfSwKKwkJeyAiZGF5IiwJVVNFQ19QRVJfREFZIH0sCisJCXsgImQiLAkJVVNFQ19QRVJfREFZIH0sCisJCXsgIndlZWtzIiwJVVNFQ19QRVJfV0VFSyB9LAorCQl7ICJ3ZWVrIiwJVVNFQ19QRVJfV0VFSyB9LAorCQl7ICJ3IiwJCVVTRUNfUEVSX1dFRUsgfSwKKwkJeyAieWVhcnMiLAlVU0VDX1BFUl9ZRUFSIH0sCisJCXsgInllYXIiLAlVU0VDX1BFUl9ZRUFSIH0sCisJCXsgInkiLAkJVVNFQ19QRVJfWUVBUiB9LAorCQl7ICJ1c2VjIiwJMVVMTCB9LAorCQl7ICJ1cyIsCQkxVUxMIH0sCisJCXsgIiIsCQlVU0VDX1BFUl9TRUMgfSwJLyogZGVmYXVsdCBpcyBzZWMgKi8KKwl9OworCisJY29uc3QgY2hhciAqcDsKKwl1c2VjX3QgciA9IDA7CisJaW50IHNvbWV0aGluZyA9IEZBTFNFOworCisJYXNzZXJ0KHQpOworCWFzc2VydCh1c2VjKTsKKworCXAgPSB0OworCWZvciAoOzspIHsKKwkJbG9uZyBsb25nIGwsIHogPSAwOworCQljaGFyICplOworCQl1bnNpZ25lZCBpLCBuID0gMDsKKworCQlwICs9IHN0cnNwbihwLCBXSElURVNQQUNFKTsKKworCQlpZiAoKnAgPT0gMCkgeworCQkJaWYgKCFzb21ldGhpbmcpCisJCQkJcmV0dXJuIC1FSU5WQUw7CisKKwkJCWJyZWFrOworCQl9CisKKwkJZXJybm8gPSAwOworCQlsID0gc3RydG9sbChwLCAmZSwgMTApOworCisJCWlmIChlcnJubyA+IDApCisJCQlyZXR1cm4gLWVycm5vOworCisJCWlmIChsIDwgMCkKKwkJCXJldHVybiAtRVJBTkdFOworCisJCWlmICgqZSA9PSAnLicpIHsKKwkJCWNoYXIgKmIgPSBlICsgMTsKKworCQkJZXJybm8gPSAwOworCQkJeiA9IHN0cnRvbGwoYiwgJmUsIDEwKTsKKwkJCWlmIChlcnJubyA+IDApCisJCQkJcmV0dXJuIC1lcnJubzsKKworCQkJaWYgKHogPCAwKQorCQkJCXJldHVybiAtRVJBTkdFOworCisJCQlpZiAoZSA9PSBiKQorCQkJCXJldHVybiAtRUlOVkFMOworCisJCQluID0gZSAtIGI7CisKKwkJfSBlbHNlIGlmIChlID09IHApCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQllICs9IHN0cnNwbihlLCBXSElURVNQQUNFKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0YWJsZSk7IGkrKykKKwkJCWlmIChzdGFydHN3aXRoKGUsIHRhYmxlW2ldLnN1ZmZpeCkpIHsKKwkJCQl1c2VjX3QgayA9ICh1c2VjX3QpIHogKiB0YWJsZVtpXS51c2VjOworCisJCQkJZm9yICg7IG4gPiAwOyBuLS0pCisJCQkJCWsgLz0gMTA7CisKKwkJCQlyICs9ICh1c2VjX3QpIGwgKnRhYmxlW2ldLnVzZWMgKyBrOworCQkJCXAgPSBlICsgc3RybGVuKHRhYmxlW2ldLnN1ZmZpeCk7CisKKwkJCQlzb21ldGhpbmcgPSBUUlVFOworCQkJCWJyZWFrOworCQkJfQorCisJCWlmIChpID49IEFSUkFZX1NJWkUodGFibGUpKQorCQkJcmV0dXJuIC1FSU5WQUw7CisKKwl9CisKKwkqdXNlYyA9IHI7CisKKwlyZXR1cm4gMDsKK30KKworaW50IHBhcnNlX3RpbWVzdGFtcChjb25zdCBjaGFyICp0LCB1c2VjX3QgKnVzZWMpCit7CisJc3RhdGljIGNvbnN0IHN0cnVjdCB7CisJCWNvbnN0IGNoYXIgKm5hbWU7CisJCWNvbnN0IGludCBucjsKKwl9IGRheV9ucltdID0geworCQl7ICJTdW5kYXkiLAkwIH0sCisJCXsgIlN1biIsCTAgfSwKKwkJeyAiTW9uZGF5IiwJMSB9LAorCQl7ICJNb24iLAkxIH0sCisJCXsgIlR1ZXNkYXkiLAkyIH0sCisJCXsgIlR1ZSIsCTIgfSwKKwkJeyAiV2VkbmVzZGF5IiwJMyB9LAorCQl7ICJXZWQiLAkzIH0sCisJCXsgIlRodXJzZGF5IiwJNCB9LAorCQl7ICJUaHUiLAk0IH0sCisJCXsgIkZyaWRheSIsCTUgfSwKKwkJeyAiRnJpIiwJNSB9LAorCQl7ICJTYXR1cmRheSIsCTYgfSwKKwkJeyAiU2F0IiwJNiB9LAorCX07CisKKwljb25zdCBjaGFyICprOworCXN0cnVjdCB0bSB0bSwgY29weTsKKwl0aW1lX3QgeDsKKwl1c2VjX3QgcGx1cyA9IDAsIG1pbnVzID0gMCwgcmV0OworCWludCByLCB3ZWVrZGF5ID0gLTE7CisJdW5zaWduZWQgaTsKKworCS8qCisJICogQWxsb3dlZCBzeW50YXhlczoKKwkgKgorCSAqICAgMjAxMi0wOS0yMiAxNjozNDoyMgorCSAqICAgMjAxMi0wOS0yMiAxNjozNAkgIChzZWNvbmRzIHdpbGwgYmUgc2V0IHRvIDApCisJICogICAyMDEyLTA5LTIyCQkgICh0aW1lIHdpbGwgYmUgc2V0IHRvIDAwOjAwOjAwKQorCSAqICAgMTY6MzQ6MjIJCSAgKGRhdGUgd2lsbCBiZSBzZXQgdG8gdG9kYXkpCisJICogICAxNjozNAkJICAoZGF0ZSB3aWxsIGJlIHNldCB0byB0b2RheSwgc2Vjb25kcyB0byAwKQorCSAqICAgbm93CisJICogICB5ZXN0ZXJkYXkJCSAgKHRpbWUgaXMgc2V0IHRvIDAwOjAwOjAwKQorCSAqICAgdG9kYXkJCSAgKHRpbWUgaXMgc2V0IHRvIDAwOjAwOjAwKQorCSAqICAgdG9tb3Jyb3cJCSAgKHRpbWUgaXMgc2V0IHRvIDAwOjAwOjAwKQorCSAqICAgKzVtaW4KKwkgKiAgIC01ZGF5cworCSAqCisJICovCisKKwlhc3NlcnQodCk7CisJYXNzZXJ0KHVzZWMpOworCisJeCA9IHRpbWUoTlVMTCk7CisJbG9jYWx0aW1lX3IoJngsICZ0bSk7CisJdG0udG1faXNkc3QgPSAtMTsKKworCWlmIChzdHJlcSh0LCAibm93IikpCisJCWdvdG8gZmluaXNoOworCisJZWxzZSBpZiAoc3RyZXEodCwgInRvZGF5IikpIHsKKwkJdG0udG1fc2VjID0gdG0udG1fbWluID0gdG0udG1faG91ciA9IDA7CisJCWdvdG8gZmluaXNoOworCisJfSBlbHNlIGlmIChzdHJlcSh0LCAieWVzdGVyZGF5IikpIHsKKwkJdG0udG1fbWRheS0tOworCQl0bS50bV9zZWMgPSB0bS50bV9taW4gPSB0bS50bV9ob3VyID0gMDsKKwkJZ290byBmaW5pc2g7CisKKwl9IGVsc2UgaWYgKHN0cmVxKHQsICJ0b21vcnJvdyIpKSB7CisJCXRtLnRtX21kYXkrKzsKKwkJdG0udG1fc2VjID0gdG0udG1fbWluID0gdG0udG1faG91ciA9IDA7CisJCWdvdG8gZmluaXNoOworCisJfSBlbHNlIGlmICh0WzBdID09ICcrJykgeworCisJCXIgPSBwYXJzZV9zZWModCArIDEsICZwbHVzKTsKKwkJaWYgKHIgPCAwKQorCQkJcmV0dXJuIHI7CisKKwkJZ290byBmaW5pc2g7CisJfSBlbHNlIGlmICh0WzBdID09ICctJykgeworCisJCXIgPSBwYXJzZV9zZWModCArIDEsICZtaW51cyk7CisJCWlmIChyIDwgMCkKKwkJCXJldHVybiByOworCisJCWdvdG8gZmluaXNoOworCisJfSBlbHNlIGlmIChlbmRzd2l0aCh0LCAiIGFnbyIpKSB7CisJCWNoYXIgKno7CisKKwkJeiA9IHN0cm5kdXAodCwgc3RybGVuKHQpIC0gNCk7CisJCWlmICgheikKKwkJCXJldHVybiAtRU5PTUVNOworCisJCXIgPSBwYXJzZV9zZWMoeiwgJm1pbnVzKTsKKwkJZnJlZSh6KTsKKwkJaWYgKHIgPCAwKQorCQkJcmV0dXJuIHI7CisKKwkJZ290byBmaW5pc2g7CisJfQorCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoZGF5X25yKTsgaSsrKSB7CisJCXNpemVfdCBza2lwOworCisJCWlmICghc3RhcnRzd2l0aF9ub19jYXNlKHQsIGRheV9ucltpXS5uYW1lKSkKKwkJCWNvbnRpbnVlOworCisJCXNraXAgPSBzdHJsZW4oZGF5X25yW2ldLm5hbWUpOworCQlpZiAodFtza2lwXSAhPSAnICcpCisJCQljb250aW51ZTsKKworCQl3ZWVrZGF5ID0gZGF5X25yW2ldLm5yOworCQl0ICs9IHNraXAgKyAxOworCQlicmVhazsKKwl9CisKKwljb3B5ID0gdG07CisJayA9IHN0cnB0aW1lKHQsICIleS0lbS0lZCAlSDolTTolUyIsICZ0bSk7CisJaWYgKGsgJiYgKmsgPT0gMCkKKwkJZ290byBmaW5pc2g7CisKKwl0bSA9IGNvcHk7CisJayA9IHN0cnB0aW1lKHQsICIlWS0lbS0lZCAlSDolTTolUyIsICZ0bSk7CisJaWYgKGsgJiYgKmsgPT0gMCkKKwkJZ290byBmaW5pc2g7CisKKwl0bSA9IGNvcHk7CisJayA9IHN0cnB0aW1lKHQsICIleS0lbS0lZCAlSDolTSIsICZ0bSk7CisJaWYgKGsgJiYgKmsgPT0gMCkgeworCQl0bS50bV9zZWMgPSAwOworCQlnb3RvIGZpbmlzaDsKKwl9CisKKwl0bSA9IGNvcHk7CisJayA9IHN0cnB0aW1lKHQsICIlWS0lbS0lZCAlSDolTSIsICZ0bSk7CisJaWYgKGsgJiYgKmsgPT0gMCkgeworCQl0bS50bV9zZWMgPSAwOworCQlnb3RvIGZpbmlzaDsKKwl9CisKKwl0bSA9IGNvcHk7CisJayA9IHN0cnB0aW1lKHQsICIleS0lbS0lZCIsICZ0bSk7CisJaWYgKGsgJiYgKmsgPT0gMCkgeworCQl0bS50bV9zZWMgPSB0bS50bV9taW4gPSB0bS50bV9ob3VyID0gMDsKKwkJZ290byBmaW5pc2g7CisJfQorCisJdG0gPSBjb3B5OworCWsgPSBzdHJwdGltZSh0LCAiJVktJW0tJWQiLCAmdG0pOworCWlmIChrICYmICprID09IDApIHsKKwkJdG0udG1fc2VjID0gdG0udG1fbWluID0gdG0udG1faG91ciA9IDA7CisJCWdvdG8gZmluaXNoOworCX0KKworCXRtID0gY29weTsKKwlrID0gc3RycHRpbWUodCwgIiVIOiVNOiVTIiwgJnRtKTsKKwlpZiAoayAmJiAqayA9PSAwKQorCQlnb3RvIGZpbmlzaDsKKworCXRtID0gY29weTsKKwlrID0gc3RycHRpbWUodCwgIiVIOiVNIiwgJnRtKTsKKwlpZiAoayAmJiAqayA9PSAwKSB7CisJCXRtLnRtX3NlYyA9IDA7CisJCWdvdG8gZmluaXNoOworCX0KKworCXRtID0gY29weTsKKwlrID0gc3RycHRpbWUodCwgIiVZJW0lZCVIJU0lUyIsICZ0bSk7CisJaWYgKGsgJiYgKmsgPT0gMCkgeworCQl0bS50bV9zZWMgPSAwOworCQlnb3RvIGZpbmlzaDsKKwl9CisKKwlyZXR1cm4gLUVJTlZBTDsKKworIGZpbmlzaDoKKwl4ID0gbWt0aW1lKCZ0bSk7CisJaWYgKHggPT0gKHRpbWVfdCktMSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAod2Vla2RheSA+PSAwICYmIHRtLnRtX3dkYXkgIT0gd2Vla2RheSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXQgPSAodXNlY190KSB4ICpVU0VDX1BFUl9TRUM7CisKKwlyZXQgKz0gcGx1czsKKwlpZiAocmV0ID4gbWludXMpCisJCXJldCAtPSBtaW51czsKKwllbHNlCisJCXJldCA9IDA7CisKKwkqdXNlYyA9IHJldDsKKworCXJldHVybiAwOworfQorCisvKiBSZXR1cm5zIHRoZSBkaWZmZXJlbmNlIGluIHNlY29uZHMgYmV0d2VlbiBpdHMgYXJndW1lbnQgYW5kIEdNVC4gSWYgaWYgVFAgaXMKKyAqIGludmFsaWQgb3Igbm8gRFNUIGluZm9ybWF0aW9uIGlzIGF2YWlsYWJsZSBkZWZhdWx0IHRvIFVUQywgdGhhdCBpcywgemVyby4KKyAqIHR6c2V0IGlzIGNhbGxlZCBzbywgZm9yIGV4YW1wbGUsICdUWj0iVVRDIiBod2Nsb2NrJyB3aWxsIHdvcmsgYXMgZXhwZWN0ZWQuCisgKiBEZXJpdmVkIGZyb20gZ2xpYmMvdGltZS9zdHJmdGltZV9sLmMKKyAqLworaW50IGdldF9nbXRvZmYoY29uc3Qgc3RydWN0IHRtICp0cCkKK3sKKwlpZiAodHAtPnRtX2lzZHN0IDwgMCkKKwlyZXR1cm4gMDsKKworI2lmIEhBVkVfVE1fR01UT0ZGCisJcmV0dXJuIHRwLT50bV9nbXRvZmY7CisjZWxzZQorCXN0cnVjdCB0bSB0bTsKKwlzdHJ1Y3QgdG0gZ3RtOworCXN0cnVjdCB0bSBsdG0gPSAqdHA7CisJdGltZV90IGx0OworCisJdHpzZXQoKTsKKwlsdCA9IG1rdGltZSgmbHRtKTsKKwkvKiBDaGVjayBpZiBta3RpbWUgcmV0dXJuaW5nIC0xIGlzIGFuIGVycm9yIG9yIGEgdmFsaWQgdGltZV90ICovCisJaWYgKGx0ID09ICh0aW1lX3QpIC0xKSB7CisJCWlmICghIGxvY2FsdGltZV9yKCZsdCwgJnRtKQorCQkJfHwgKChsdG0udG1fc2VjIF4gdG0udG1fc2VjKQorCQkJICAgIHwgKGx0bS50bV9taW4gXiB0bS50bV9taW4pCisJCQkgICAgfCAobHRtLnRtX2hvdXIgXiB0bS50bV9ob3VyKQorCQkJICAgIHwgKGx0bS50bV9tZGF5IF4gdG0udG1fbWRheSkKKwkJCSAgICB8IChsdG0udG1fbW9uIF4gdG0udG1fbW9uKQorCQkJICAgIHwgKGx0bS50bV95ZWFyIF4gdG0udG1feWVhcikpKQorCQkJcmV0dXJuIDA7CisJfQorCisJaWYgKCEgZ210aW1lX3IoJmx0LCAmZ3RtKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBDYWxjdWxhdGUgdGhlIEdNVCBvZmZzZXQsIHRoYXQgaXMsIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlCisJICogVFAgYXJndW1lbnQgKGx0bSkgYW5kIEdNVCAoZ3RtKS4KKwkgKgorCSAqIENvbXB1dGUgaW50ZXJ2ZW5pbmcgbGVhcCBkYXlzIGNvcnJlY3RseSBldmVuIGlmIHllYXIgaXMgbmVnYXRpdmUuCisJICogVGFrZSBjYXJlIHRvIGF2b2lkIGludCBvdmVyZmxvdyBpbiBsZWFwIGRheSBjYWxjdWxhdGlvbnMsIGJ1dCBpdCdzIE9LCisJICogdG8gYXNzdW1lIHRoYXQgQSBhbmQgQiBhcmUgY2xvc2UgdG8gZWFjaCBvdGhlci4KKwkgKi8KKwlpbnQgYTQgPSAobHRtLnRtX3llYXIgPj4gMikgKyAoMTkwMCA+PiAyKSAtICEgKGx0bS50bV95ZWFyICYgMyk7CisJaW50IGI0ID0gKGd0bS50bV95ZWFyID4+IDIpICsgKDE5MDAgPj4gMikgLSAhIChndG0udG1feWVhciAmIDMpOworCWludCBhMTAwID0gYTQgLyAyNSAtIChhNCAlIDI1IDwgMCk7CisJaW50IGIxMDAgPSBiNCAvIDI1IC0gKGI0ICUgMjUgPCAwKTsKKwlpbnQgYTQwMCA9IGExMDAgPj4gMjsKKwlpbnQgYjQwMCA9IGIxMDAgPj4gMjsKKwlpbnQgaW50ZXJ2ZW5pbmdfbGVhcF9kYXlzID0gKGE0IC0gYjQpIC0gKGExMDAgLSBiMTAwKSArIChhNDAwIC0gYjQwMCk7CisKKwlpbnQgeWVhcnMgPSBsdG0udG1feWVhciAtIGd0bS50bV95ZWFyOworCWludCBkYXlzID0gKDM2NSAqIHllYXJzICsgaW50ZXJ2ZW5pbmdfbGVhcF9kYXlzCisJCSAgICArIChsdG0udG1feWRheSAtIGd0bS50bV95ZGF5KSk7CisKKwlyZXR1cm4gKDYwICogKDYwICogKDI0ICogZGF5cyArIChsdG0udG1faG91ciAtIGd0bS50bV9ob3VyKSkKKwkJKyAobHRtLnRtX21pbiAtIGd0bS50bV9taW4pKSArIChsdG0udG1fc2VjIC0gZ3RtLnRtX3NlYykpOworI2VuZGlmCit9CisKK3N0YXRpYyBpbnQgZm9ybWF0X2lzb190aW1lKHN0cnVjdCB0bSAqdG0sIHN1c2Vjb25kc190IHVzZWMsIGludCBmbGFncywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJY2hhciAqcCA9IGJ1ZjsKKwlpbnQgbGVuOworCisJaWYgKGZsYWdzICYgSVNPX0RBVEUpIHsKKwkJbGVuID0gc25wcmludGYocCwgYnVmc3osICIlNGxkLSUuMmQtJS4yZCIsCisJCQkgICAgICAgdG0tPnRtX3llYXIgKyAobG9uZykgMTkwMCwKKwkJCSAgICAgICB0bS0+dG1fbW9uICsgMSwgdG0tPnRtX21kYXkpOworCQlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KSBsZW4gPiBidWZzeikKKwkJCWdvdG8gZXJyOworCQlidWZzeiAtPSBsZW47CisJCXAgKz0gbGVuOworCX0KKworCWlmICgoZmxhZ3MgJiBJU09fREFURSkgJiYgKGZsYWdzICYgSVNPX1RJTUUpKSB7CisJCWlmIChidWZzeiA8IDEpCisJCQlnb3RvIGVycjsKKwkJKnArKyA9IChmbGFncyAmIElTT19UKSA/ICdUJyA6ICcgJzsKKwkJYnVmc3otLTsKKwl9CisKKwlpZiAoZmxhZ3MgJiBJU09fVElNRSkgeworCQlsZW4gPSBzbnByaW50ZihwLCBidWZzeiwgIiUwMmQ6JTAyZDolMDJkIiwgdG0tPnRtX2hvdXIsCisJCQkgICAgICAgdG0tPnRtX21pbiwgdG0tPnRtX3NlYyk7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+IGJ1ZnN6KQorCQkJZ290byBlcnI7CisJCWJ1ZnN6IC09IGxlbjsKKwkJcCArPSBsZW47CisJfQorCisJaWYgKGZsYWdzICYgSVNPX0RPVFVTRUMpIHsKKwkJbGVuID0gc25wcmludGYocCwgYnVmc3osICIuJTA2bGQiLCAobG9uZykgdXNlYyk7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+IGJ1ZnN6KQorCQkJZ290byBlcnI7CisJCWJ1ZnN6IC09IGxlbjsKKwkJcCArPSBsZW47CisKKwl9IGVsc2UgaWYgKGZsYWdzICYgSVNPX0NPTU1BVVNFQykgeworCQlsZW4gPSBzbnByaW50ZihwLCBidWZzeiwgIiwlMDZsZCIsIChsb25nKSB1c2VjKTsKKwkJaWYgKGxlbiA8IDAgfHwgKHNpemVfdCkgbGVuID4gYnVmc3opCisJCQlnb3RvIGVycjsKKwkJYnVmc3ogLT0gbGVuOworCQlwICs9IGxlbjsKKwl9CisKKwlpZiAoZmxhZ3MgJiBJU09fVElNRVpPTkUpIHsKKwkJaW50IHRtaW4gID0gZ2V0X2dtdG9mZih0bSkgLyA2MDsKKwkJaW50IHpob3VyID0gdG1pbiAvIDYwOworCQlpbnQgem1pbiAgPSBhYnModG1pbiAlIDYwKTsKKwkJbGVuID0gc25wcmludGYocCwgYnVmc3osICIlKzAzZDolMDJkIiwgemhvdXIsem1pbik7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpIGxlbiA+IGJ1ZnN6KQorCQkJZ290byBlcnI7CisJfQorCXJldHVybiAwOworIGVycjoKKwl3YXJueChfKCJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iKSk7CisJcmV0dXJuIC0xOworfQorCisvKiB0aW1ldmFsIHRvIElTTyA4NjAxICovCitpbnQgc3RydGltZXZhbF9pc28oc3RydWN0IHRpbWV2YWwgKnR2LCBpbnQgZmxhZ3MsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworCXN0cnVjdCB0bSB0bTsKKwlzdHJ1Y3QgdG0gKnJjOworCisJaWYgKGZsYWdzICYgSVNPX0dNVElNRSkKKwkJcmMgPSBnbXRpbWVfcigmdHYtPnR2X3NlYywgJnRtKTsKKwllbHNlCisJCXJjID0gbG9jYWx0aW1lX3IoJnR2LT50dl9zZWMsICZ0bSk7CisKKwlpZiAocmMpCisJCXJldHVybiBmb3JtYXRfaXNvX3RpbWUoJnRtLCB0di0+dHZfdXNlYywgZmxhZ3MsIGJ1ZiwgYnVmc3opOworCisJd2FybngoXygidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIpLCB0di0+dHZfc2VjKTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qIHN0cnVjdCB0bSB0byBJU08gODYwMSAqLworaW50IHN0cnRtX2lzbyhzdHJ1Y3QgdG0gKnRtLCBpbnQgZmxhZ3MsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworCXJldHVybiBmb3JtYXRfaXNvX3RpbWUodG0sIDAsIGZsYWdzLCBidWYsIGJ1ZnN6KTsKK30KKworLyogdGltZV90IHRvIElTTyA4NjAxICovCitpbnQgc3RydGltZV9pc28oY29uc3QgdGltZV90ICp0LCBpbnQgZmxhZ3MsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworCXN0cnVjdCB0bSB0bTsKKwlzdHJ1Y3QgdG0gKnJjOworCisJaWYgKGZsYWdzICYgSVNPX0dNVElNRSkKKwkJcmMgPSBnbXRpbWVfcih0LCAmdG0pOworCWVsc2UKKwkJcmMgPSBsb2NhbHRpbWVfcih0LCAmdG0pOworCisJaWYgKHJjKQorCQlyZXR1cm4gZm9ybWF0X2lzb190aW1lKCZ0bSwgMCwgZmxhZ3MsIGJ1ZiwgYnVmc3opOworCisJd2FybngoXygidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIpLCAobG9uZyl0KTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qIHJlbGF0aXZlIHRpbWUgZnVuY3Rpb25zICovCitpbnQgdGltZV9pc190b2RheShjb25zdCB0aW1lX3QgKnQsIHN0cnVjdCB0aW1ldmFsICpub3cpCit7CisJaWYgKG5vdy0+dHZfc2VjID09IDApCisJCWdldHRpbWVvZmRheShub3csIE5VTEwpOworCXJldHVybiAqdCAvICgzNjAwICogMjQpID09IG5vdy0+dHZfc2VjIC8gKDM2MDAgKiAyNCk7Cit9CisKK2ludCB0aW1lX2lzX3RoaXN5ZWFyKGNvbnN0IHRpbWVfdCAqdCwgc3RydWN0IHRpbWV2YWwgKm5vdykKK3sKKwlpZiAobm93LT50dl9zZWMgPT0gMCkKKwkJZ2V0dGltZW9mZGF5KG5vdywgTlVMTCk7CisJcmV0dXJuICp0IC8gKDM2MDAgKiAyNCAqIDM2NSkgPT0gbm93LT50dl9zZWMgLyAoMzYwMCAqIDI0ICogMzY1KTsKK30KKworaW50IHN0cnRpbWVfc2hvcnQoY29uc3QgdGltZV90ICp0LCBzdHJ1Y3QgdGltZXZhbCAqbm93LCBpbnQgZmxhZ3MsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworICAgICAgICBzdHJ1Y3QgdG0gdG07CisJaW50IHJjID0gMDsKKworICAgICAgICBsb2NhbHRpbWVfcih0LCAmdG0pOworCisJaWYgKHRpbWVfaXNfdG9kYXkodCwgbm93KSkgeworCQlyYyA9IHNucHJpbnRmKGJ1ZiwgYnVmc3osICIlMDJkOiUwMmQiLCB0bS50bV9ob3VyLCB0bS50bV9taW4pOworCQlpZiAocmMgPCAwIHx8IChzaXplX3QpIHJjID4gYnVmc3opCisJCQlyZXR1cm4gLTE7CisJCXJjID0gMTsKKworCX0gZWxzZSBpZiAodGltZV9pc190aGlzeWVhcih0LCBub3cpKSB7CisJCWlmIChmbGFncyAmIFVMX1NIT1JUVElNRV9USElTWUVBUl9ISE1NKQorCQkJcmMgPSBzdHJmdGltZShidWYsIGJ1ZnN6LCAiJWIlZC8lSDolTSIsICZ0bSk7CisJCWVsc2UKKwkJCXJjID0gc3RyZnRpbWUoYnVmLCBidWZzeiwgIiViJWQiLCAmdG0pOworCX0gZWxzZQorCQlyYyA9IHN0cmZ0aW1lKGJ1ZiwgYnVmc3osICIlWS0lYiVkIiwgJnRtKTsKKworCXJldHVybiByYyA8PSAwID8gLTEgOiAwOworfQorCisjaWZuZGVmIEhBVkVfVElNRUdNCit0aW1lX3QgdGltZWdtKHN0cnVjdCB0bSAqdG0pCit7CisJY29uc3QgY2hhciAqem9uZSA9IGdldGVudigiVFoiKTsKKwl0aW1lX3QgcmV0OworCisJc2V0ZW52KCJUWiIsICIiLCAxKTsKKwl0enNldCgpOworCXJldCA9IG1rdGltZSh0bSk7CisJaWYgKHpvbmUpCisJCXNldGVudigiVFoiLCB6b25lLCAxKTsKKwllbHNlCisJCXVuc2V0ZW52KCJUWiIpOworCXR6c2V0KCk7CisJcmV0dXJuIHJldDsKK30KKyNlbmRpZiAvKiBIQVZFX1RJTUVHTSAqLworCisjaWZkZWYgVEVTVF9QUk9HUkFNX1RJTUVVVElMUworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCB0aW1ldmFsIHR2ID0geyAwIH07CisJY2hhciBidWZbSVNPX0JVRlNJWl07CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPHRpbWU+IFs8dXNlYz5dXG4iLCBhcmd2WzBdKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCXR2LnR2X3NlYyA9IHN0cnRvczY0X29yX2Vycihhcmd2WzFdLCAiZmFpbGVkIHRvIHBhcnNlIDx0aW1lPiIpOworCWlmIChhcmdjID09IDMpCisJCXR2LnR2X3VzZWMgPSBzdHJ0b3M2NF9vcl9lcnIoYXJndlsyXSwgImZhaWxlZCB0byBwYXJzZSA8dXNlYz4iKTsKKworCXN0cnRpbWV2YWxfaXNvKCZ0diwgSVNPX0RBVEUsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCXByaW50ZigiRGF0ZTogJyVzJ1xuIiwgYnVmKTsKKworCXN0cnRpbWV2YWxfaXNvKCZ0diwgSVNPX1RJTUUsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCXByaW50ZigiVGltZTogJyVzJ1xuIiwgYnVmKTsKKworCXN0cnRpbWV2YWxfaXNvKCZ0diwgSVNPX0RBVEUgfCBJU09fVElNRSB8IElTT19DT01NQVVTRUMgfCBJU09fVCwKKwkJICAgICAgIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCXByaW50ZigiRnVsbDogJyVzJ1xuIiwgYnVmKTsKKworCXN0cnRpbWV2YWxfaXNvKCZ0diwgSVNPX1RJTUVTVEFNUF9ET1QsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCXByaW50ZigiWm9uZTogJyVzJ1xuIiwgYnVmKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKKyNlbmRpZiAvKiBURVNUX1BST0dSQU1fVElNRVVUSUxTICovCmRpZmYgLS1naXQgYS9saWIvdHR5dXRpbHMuYyBiL2xpYi90dHl1dGlscy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwYTc5MDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWIvdHR5dXRpbHMuYwpAQCAtMCwwICsxLDE0MyBAQAorLyoKKyAqIE5vIGNvcHlyaWdodCBpcyBjbGFpbWVkLiAgVGhpcyBjb2RlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluOyBkbyB3aXRoCisgKiBpdCB3aGF0IHlvdSB3aXNoLgorICoKKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisKKworc3RhdGljIGludCBnZXRfZW52X2ludChjb25zdCBjaGFyICpuYW1lKQoreworCWNvbnN0IGNoYXIgKmNwID0gZ2V0ZW52KG5hbWUpOworCisJaWYgKGNwKSB7CisJCWNoYXIgKmVuZCA9IE5VTEw7CisJCWxvbmcgeDsKKworCQllcnJubyA9IDA7CisJCXggPSBzdHJ0b2woY3AsICZlbmQsIDEwKTsKKworCQlpZiAoZXJybm8gPT0gMCAmJiBlbmQgJiYgKmVuZCA9PSAnXDAnICYmIGVuZCA+IGNwICYmCisJCSAgICB4ID4gMCAmJiB4IDw9IElOVF9NQVgpCisJCQlyZXR1cm4geDsKKwl9CisKKwlyZXR1cm4gLTE7Cit9CisKK2ludCBnZXRfdGVybWluYWxfZGltZW5zaW9uKGludCAqY29scywgaW50ICpsaW5lcykKK3sKKwlpbnQgYyA9IDAsIGwgPSAwOworCisjaWYgZGVmaW5lZChUSU9DR1dJTlNaKQorCXN0cnVjdCB3aW5zaXplCXdfd2luOworCWlmIChpb2N0bCAoU1RET1VUX0ZJTEVOTywgVElPQ0dXSU5TWiwgJndfd2luKSA9PSAwKSB7CisJCWMgPSB3X3dpbi53c19jb2w7CisJCWwgPSB3X3dpbi53c19yb3c7CisJfQorI2VsaWYgZGVmaW5lZChUSU9DR1NJWkUpCisJc3RydWN0IHR0eXNpemUJdF93aW47CisJaWYgKGlvY3RsIChTVERPVVRfRklMRU5PLCBUSU9DR1NJWkUsICZ0X3dpbikgPT0gMCkgeworCQljID0gdF93aW4udHNfY29sczsKKwkJbCA9IHRfd2luLnRzX2xpbmVzOworCX0KKyNlbmRpZgorCisJaWYgKGNvbHMgJiYgYyA8PSAwKQorCQljID0gZ2V0X2Vudl9pbnQoIkNPTFVNTlMiKTsKKwlpZiAobGluZXMgJiYgbCA8PSAwKQorCQlsID0gZ2V0X2Vudl9pbnQoIkxJTkVTIik7CisKKwlpZiAoY29scykKKwkJKmNvbHMgPSBjOworCWlmIChsaW5lcykKKwkJKmxpbmVzID0gbDsKKwlyZXR1cm4gMDsKK30KKworaW50IGdldF90ZXJtaW5hbF93aWR0aChpbnQgZGVmYXVsdF93aWR0aCkKK3sKKwlpbnQgd2lkdGggPSAwOworCisJZ2V0X3Rlcm1pbmFsX2RpbWVuc2lvbigmd2lkdGgsIE5VTEwpOworCisJcmV0dXJuIHdpZHRoID4gMCA/IHdpZHRoIDogZGVmYXVsdF93aWR0aDsKK30KKworaW50IGdldF90ZXJtaW5hbF9uYW1lKGNvbnN0IGNoYXIgKipwYXRoLAorCQkgICAgICBjb25zdCBjaGFyICoqbmFtZSwKKwkJICAgICAgY29uc3QgY2hhciAqKm51bWJlcikKK3sKKwljb25zdCBjaGFyICp0dHk7CisJY29uc3QgY2hhciAqcDsKKwlpbnQgZmQ7CisKKworCWlmIChuYW1lKQorCQkqbmFtZSA9IE5VTEw7CisJaWYgKHBhdGgpCisJCSpwYXRoID0gTlVMTDsKKwlpZiAobnVtYmVyKQorCQkqbnVtYmVyID0gTlVMTDsKKworCWlmIChpc2F0dHkoU1RESU5fRklMRU5PKSkKKwkJZmQgPSBTVERJTl9GSUxFTk87CisJZWxzZSBpZiAoaXNhdHR5KFNURE9VVF9GSUxFTk8pKQorCQlmZCA9IFNURE9VVF9GSUxFTk87CisJZWxzZSBpZiAoaXNhdHR5KFNUREVSUl9GSUxFTk8pKQorCQlmZCA9IFNUREVSUl9GSUxFTk87CisJZWxzZQorCQlyZXR1cm4gLTE7CisKKwl0dHkgPSB0dHluYW1lKGZkKTsKKwlpZiAoIXR0eSkKKwkJcmV0dXJuIC0xOworCWlmIChwYXRoKQorCQkqcGF0aCA9IHR0eTsKKwl0dHkgPSBzdHJuY21wKHR0eSwgIi9kZXYvIiwgNSkgPT0gMCA/IHR0eSArIDUgOiB0dHk7CisJaWYgKG5hbWUpCisJCSpuYW1lID0gdHR5OworCWlmIChudW1iZXIpIHsKKwkJZm9yIChwID0gdHR5OyBwICYmICpwOyBwKyspIHsKKwkJCWlmIChpc2RpZ2l0KCpwKSkgeworCQkJCSpudW1iZXIgPSBwOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCXJldHVybiAwOworfQorCitpbnQgZ2V0X3Rlcm1pbmFsX3R5cGUoY29uc3QgY2hhciAqKnR5cGUpCit7CisJKnR5cGUgPSBnZXRlbnYoIlRFUk0iKTsKKwlpZiAoKnR5cGUpCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiAwOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNX1RUWVVUSUxTCisjIGluY2x1ZGUgPHN0ZGxpYi5oPgoraW50IG1haW4odm9pZCkKK3sKKwljb25zdCBjaGFyICpwYXRoLCAqbmFtZSwgKm51bTsKKwlpbnQgYywgbDsKKworCWlmIChnZXRfdGVybWluYWxfbmFtZSgmcGF0aCwgJm5hbWUsICZudW0pID09IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJ0dHkgcGF0aDogICAlc1xuIiwgcGF0aCk7CisJCWZwcmludGYoc3RkZXJyLCAidHR5IG5hbWU6ICAgJXNcbiIsIG5hbWUpOworCQlmcHJpbnRmKHN0ZGVyciwgInR0eSBudW1iZXI6ICVzXG4iLCBudW0pOworCX0KKwlnZXRfdGVybWluYWxfZGltZW5zaW9uKCZjLCAmbCk7CisJZnByaW50ZihzdGRlcnIsICAgICAgICAgInR0eSBjb2xzOiAgICVkXG4iLCBjKTsKKwlmcHJpbnRmKHN0ZGVyciwgICAgICAgICAidHR5IGxpbmVzOiAgJWRcbiIsIGwpOworCisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorI2VuZGlmIC8qIFRFU1RfUFJPR1JBTV9UVFlVVElMUyAqLwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvQ09QWUlORyBiL2xpYmJsa2lkL0NPUFlJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUxYTViMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL0NPUFlJTkcKQEAgLTAsMCArMSw4IEBACitUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCittb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKK3ZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlcgordmVyc2lvbi4KKworVGhlIGNvbXBsZXRlIHRleHQgb2YgdGhlIGxpY2Vuc2UgaXMgYXZhaWxhYmxlIGluIHRoZQorLi4vRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLkxHUEx2Mi4xIGZpbGUuCmRpZmYgLS1naXQgYS9saWJibGtpZC9NYWtlbW9kdWxlLmFtIGIvbGliYmxraWQvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWQxZThkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDE2IEBACitpZiBCVUlMRF9MSUJCTEtJRAorCitpbmNsdWRlIGxpYmJsa2lkL3NyYy9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYmJsa2lkL3NhbXBsZXMvTWFrZW1vZHVsZS5hbQorCitpZiBFTkFCTEVfR1RLX0RPQworIyBEb2NzIHVzZXMgc2VwYXJhdGUgTWFrZWZpbGVzCitTVUJESVJTICs9IGxpYmJsa2lkL2RvY3MKK2VuZGlmCisKK3BrZ2NvbmZpZ19EQVRBICs9IGxpYmJsa2lkL2Jsa2lkLnBjCitQQVRIRklMRVMgICAgICArPSBsaWJibGtpZC9ibGtpZC5wYworZGlzdF9tYW5fTUFOUyAgKz0gbGliYmxraWQvbGliYmxraWQuMworRVhUUkFfRElTVCAgICAgKz0gbGliYmxraWQvQ09QWUlORworCitlbmRpZiAjIEJVSUxEX0xJQkJMS0lECmRpZmYgLS1naXQgYS9saWJibGtpZC9ibGtpZC5wYy5pbiBiL2xpYmJsa2lkL2Jsa2lkLnBjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwZWM4YTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9ibGtpZC5wYy5pbgpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9QHByZWZpeEAKK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKK2xpYmRpcj1AdXNybGliX2V4ZWNkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorCitOYW1lOiBibGtpZAorRGVzY3JpcHRpb246IEJsb2NrIGRldmljZSBpZCBsaWJyYXJ5CitWZXJzaW9uOiBATElCQkxLSURfVkVSU0lPTkAKK1JlcXVpcmVzLnByaXZhdGU6IHV1aWQKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9L2Jsa2lkCitMaWJzOiAtTCR7bGliZGlyfSAtbGJsa2lkCmRpZmYgLS1naXQgYS9saWJibGtpZC9kb2NzLy5naXRpZ25vcmUgYi9saWJibGtpZC9kb2NzLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkxZjkzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL2RvY3MvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE4IEBACisqLWRlY2wtbGlzdC50eHQKKyotZGVjbC50eHQKKyotb3ZlcnJpZGVzLnR4dAorKi11bmRlY2xhcmVkLnR4dAorKi11bmRvY3VtZW50ZWQudHh0CisqLXVudXNlZC50eHQKKyouYXJncworKi5iYWsKKyouaGllcmFyY2h5CisqLmludGVyZmFjZXMKKyoucHJlcmVxdWlzaXRlcworKi5zaWduYWxzCisqLnN0YW1wCisqLnR5cGVzCitodG1sLyoKK3RtcGwvKgordmVyc2lvbi54bWwKK3htbC8qCmRpZmYgLS1naXQgYS9saWJibGtpZC9kb2NzL01ha2VmaWxlLmFtIGIvbGliYmxraWQvZG9jcy9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzM1YTEzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvZG9jcy9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDk1IEBACisjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKworIyBXZSByZXF1aXJlIGF1dG9tYWtlIDEuMTAgYXQgbGVhc3QuCitBVVRPTUFLRV9PUFRJT05TID0gMS4xMAorCisjIFRoaXMgaXMgYSBibGFuayBNYWtlZmlsZS5hbSBmb3IgdXNpbmcgZ3RrLWRvYy4KKyMgQ29weSB0aGlzIHRvIHlvdXIgcHJvamVjdCdzIEFQSSBkb2NzIGRpcmVjdG9yeSBhbmQgbW9kaWZ5IHRoZSB2YXJpYWJsZXMgdG8KKyMgc3VpdCB5b3VyIHByb2plY3QuIFNlZSB0aGUgR1RLKyBNYWtlZmlsZXMgaW4gZ3RrKy9kb2NzL3JlZmVyZW5jZSBmb3IgZXhhbXBsZXMKKyMgb2YgdXNpbmcgdGhlIHZhcmlvdXMgb3B0aW9ucy4KKworIyBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlLCBlLmcuICdnbGliJy4KK0RPQ19NT0RVTEU9bGliYmxraWQKKworIyBVbmNvbW1lbnQgZm9yIHZlcnNpb25lZCBkb2NzIGFuZCBzcGVjaWZ5IHRoZSB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUsIGUuZy4gJzInLgorI0RPQ19NT0RVTEVfVkVSU0lPTj0yCisKKyMgVGhlIHRvcC1sZXZlbCBTR01MIGZpbGUuIFlvdSBjYW4gY2hhbmdlIHRoaXMgaWYgeW91IHdhbnQgdG8uCitET0NfTUFJTl9TR01MX0ZJTEU9JChET0NfTU9EVUxFKS1kb2NzLnhtbAorCisjIFRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGUuIFJlbGF0aXZlIHRvICQoc3JjZGlyKS4KKyMgZ3RrLWRvYyB3aWxsIHNlYXJjaCBhbGwgLmMgJiAuaCBmaWxlcyBiZW5lYXRoIGhlcmUgZm9yIGlubGluZSBjb21tZW50cworIyBkb2N1bWVudGluZyB0aGUgZnVuY3Rpb25zIGFuZCBtYWNyb3MuCisjIGUuZy4gRE9DX1NPVVJDRV9ESVI9Li4vLi4vLi4vZ3RrCitET0NfU09VUkNFX0RJUj0uLi9zcmMKKworIyBFeHRyYSBvcHRpb25zIHRvIHBhc3MgdG8gZ3RrZG9jLXNjYW5nb2JqLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorU0NBTkdPQkpfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2Mtc2Nhbi4KKyMgZS5nLiBTQ0FOX09QVElPTlM9LS1kZXByZWNhdGVkLWd1YXJkcz0iR1RLX0RJU0FCTEVfREVQUkVDQVRFRCIKK1NDQU5fT1BUSU9OUz0tLWRlcHJlY2F0ZWQtZ3VhcmRzPSJCTEtJRF9ESVNBQkxFX0RFUFJFQ0FURUQiCisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLW1rZGIuCisjIGUuZy4gTUtEQl9PUFRJT05TPS0tc2dtbC1tb2RlIC0tb3V0cHV0LWZvcm1hdD14bWwKK01LREJfT1BUSU9OUz0tLXNnbWwtbW9kZSAtLW91dHB1dC1mb3JtYXQ9eG1sIC0tbmFtZS1zcGFjZSBibGtpZAorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta3RtcGwKKyMgZS5nLiBNS1RNUExfT1BUSU9OUz0tLW9ubHktc2VjdGlvbi10bXBsCitNS1RNUExfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtbWtodG1sCitNS0hUTUxfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtZml4cmVmLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorIyBlLmcuIEZJWFhSRUZfT1BUSU9OUz0tLWV4dHJhLWRpcj0uLi9nZGstcGl4YnVmL2h0bWwgLS1leHRyYS1kaXI9Li4vZ2RrL2h0bWwKK0ZJWFhSRUZfT1BUSU9OUz0KKworIyBVc2VkIGZvciBkZXBlbmRlbmNpZXMuIFRoZSBkb2NzIHdpbGwgYmUgcmVidWlsdCBpZiBhbnkgb2YgdGhlc2UgY2hhbmdlLgorIyBlLmcuIEhGSUxFX0dMT0I9JCh0b3Bfc3JjZGlyKS9ndGsvKi5oCisjIGUuZy4gQ0ZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2d0ay8qLmMKK0hGSUxFX0dMT0I9JCh0b3BfYnVpbGRkaXIpL2xpYmJsa2lkL3NyYy9ibGtpZC5oCitDRklMRV9HTE9CPSQodG9wX3NyY2RpcikvbGliYmxraWQvc3JjLyouYworCisjIEV4dHJhIGhlYWRlciB0byBpbmNsdWRlIHdoZW4gc2Nhbm5pbmcsIHdoaWNoIGFyZSBub3QgdW5kZXIgRE9DX1NPVVJDRV9ESVIKKyMgZS5nLiBFWFRSQV9IRklMRVM9JCh0b3Bfc3JjZGlyfS9jb250cmliL2V4dHJhLmgKK0VYVFJBX0hGSUxFUz0KKworIyBIZWFkZXIgZmlsZXMgdG8gaWdub3JlIHdoZW4gc2Nhbm5pbmcuIFVzZSBiYXNlIGZpbGUgbmFtZSwgbm8gcGF0aHMKKyMgZS5nLiBJR05PUkVfSEZJTEVTPWd0a2RlYnVnLmggZ3RraW50bC5oCitJR05PUkVfSEZJTEVTPWJsa2lkUC5oIHBhcnRpdGlvbnMuaCBzdXBlcmJsb2Nrcy5oIFwKKwkgICAgICB0b3BvbG9neS5oIGFpeC5oIGRvcy5oCisKKyMgSW1hZ2VzIHRvIGNvcHkgaW50byBIVE1MIGRpcmVjdG9yeS4KKyMgZS5nLiBIVE1MX0lNQUdFUz0kKHRvcF9zcmNkaXIpL2d0ay9zdG9jay1pY29ucy9zdG9ja19hYm91dF8yNC5wbmcKK0hUTUxfSU1BR0VTPQorCisjIEV4dHJhIFNHTUwgZmlsZXMgdGhhdCBhcmUgaW5jbHVkZWQgYnkgJChET0NfTUFJTl9TR01MX0ZJTEUpLgorIyBlLmcuIGNvbnRlbnRfZmlsZXM9cnVubmluZy5zZ21sIGJ1aWxkaW5nLnNnbWwgY2hhbmdlcy0yLjAuc2dtbAorY29udGVudF9maWxlcyA9ICQoYnVpbGRkaXIpL3ZlcnNpb24ueG1sICQoc3JjZGlyKS9saWJibGtpZC1jb25maWcueG1sCisKKyMgU0dNTCBmaWxlcyB3aGVyZSBndGstZG9jIGFiYnJldmlhdGlvbnMgKCNHdGtXaWRnZXQpIGFyZSBleHBhbmRlZAorIyBUaGVzZSBmaWxlcyBtdXN0IGJlIGxpc3RlZCBoZXJlICphbmQqIGluIGNvbnRlbnRfZmlsZXMKKyMgZS5nLiBleHBhbmRfY29udGVudF9maWxlcz1ydW5uaW5nLnNnbWwKK2V4cGFuZF9jb250ZW50X2ZpbGVzPQorCisjIENGTEFHUyBhbmQgTERGTEFHUyBmb3IgY29tcGlsaW5nIGd0a2RvYy1zY2FuZ29iaiB3aXRoIHlvdXIgbGlicmFyeS4KKyMgT25seSBuZWVkZWQgaWYgeW91IGFyZSB1c2luZyBndGtkb2Mtc2NhbmdvYmogdG8gZHluYW1pY2FsbHkgcXVlcnkgd2lkZ2V0CisjIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuCisjIGUuZy4gR1RLRE9DX0NGTEFHUz0tSSQodG9wX3NyY2RpcikgLUkkKHRvcF9idWlsZGRpcikgJChHVEtfREVCVUdfRkxBR1MpCisjIGUuZy4gR1RLRE9DX0xJQlM9JCh0b3BfYnVpbGRkaXIpL2d0ay8kKGd0a3RhcmdldGxpYikKK0dUS0RPQ19DRkxBR1M9CitHVEtET0NfTElCUz0KKworIyBUaGlzIGluY2x1ZGVzIHRoZSBzdGFuZGFyZCBndGstZG9jIG1ha2UgcnVsZXMsIGNvcGllZCBieSBndGtkb2NpemUuCitpbmNsdWRlICQodG9wX3NyY2RpcikvY29uZmlnL2d0ay1kb2MubWFrZQorCisjIE90aGVyIGZpbGVzIHRvIGRpc3RyaWJ1dGUKKyMgZS5nLiBFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluCitFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluICQoc3JjZGlyKS9saWJibGtpZC1jb25maWcueG1sCisKKyMgRmlsZXMgbm90IHRvIGRpc3RyaWJ1dGUKKyMgZm9yIC0tcmVidWlsZC10eXBlcyBpbiAkKFNDQU5fT1BUSU9OUyksIGUuZy4gJChET0NfTU9EVUxFKS50eXBlcworIyBmb3IgLS1yZWJ1aWxkLXNlY3Rpb25zIGluICQoU0NBTl9PUFRJT05TKSBlLmcuICQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0CitESVNUQ0xFQU5GSUxFUyArPSB2ZXJzaW9uLnhtbAorCmRpZmYgLS1naXQgYS9saWJibGtpZC9kb2NzL2xpYmJsa2lkLWNvbmZpZy54bWwgYi9saWJibGtpZC9kb2NzL2xpYmJsa2lkLWNvbmZpZy54bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlmYmI3ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL2RvY3MvbGliYmxraWQtY29uZmlnLnhtbApAQCAtMCwwICsxLDU3IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSByZWZlbnRyeSBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iCisgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjMvZG9jYm9va3guZHRkIgorWworICA8IUVOVElUWSB2ZXJzaW9uIFNZU1RFTSAidmVyc2lvbi54bWwiPgorXT4KKzxyZWZlbnRyeSBpZD0ibGliYmxraWQtY29uZmlnIj4KKzxyZWZtZXRhPgorPHJlZmVudHJ5dGl0bGUgcm9sZT0idG9wX29mX3BhZ2UiIGlkPSJsaWJibGtpZC1jb25maWcudG9wX29mX3BhZ2UiPkNvbmZpZyBmaWxlPC9yZWZlbnRyeXRpdGxlPgorPG1hbnZvbG51bT4zPC9tYW52b2xudW0+Cis8cmVmbWlzY2luZm8+TElCQkxLSUQgTGlicmFyeTwvcmVmbWlzY2luZm8+Cis8L3JlZm1ldGE+CisKKzxyZWZuYW1lZGl2PgorPHJlZm5hbWU+Q29uZmlnIGZpbGU8L3JlZm5hbWU+Cis8cmVmcHVycG9zZT5jb25maWcgZmlsZSB0byBjb250cm9sIHBhdGhzIGFuZCBiYXNpYyBsaWJyYXJ5IGJlaGF2aW9yPC9yZWZwdXJwb3NlPgorPC9yZWZuYW1lZGl2PgorCis8cmVmc2VjdDEgaWQ9ImxpYmJsa2lkLWNvbmZpZy5kZXNjcmlwdGlvbiIgcm9sZT0iZGVzYyI+Cis8dGl0bGUgcm9sZT0iZGVzYy50aXRsZSI+RGVzY3JpcHRpb248L3RpdGxlPgorPHBhcmE+CitUaGUgc3RhbmRhcmQgbG9jYXRpb24gb2YgdGhlCisvZXRjL2Jsa2lkLmNvbmYgY29uZmlnIGZpbGUgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCitCTEtJRF9DT05GLiAgVGhlIGZvbGxvd2luZyBvcHRpb25zIGNvbnRyb2wgdGhlIGxpYmJsa2lkIGxpYnJhcnk6Cis8L3BhcmE+CisKKzx2YXJpYWJsZWxpc3Qgcm9sZT0icGFyYW1zIj4KKyA8dmFybGlzdGVudHJ5PgorICA8dGVybT5TRU5EX1VFVkVOVD08cGFyYW1ldGVyPnllc3xub3Q8L3BhcmFtZXRlcj48L3Rlcm0+CisgIDxsaXN0aXRlbT48c2ltcGFyYT4KKyAgIFNlbmRzIHVldmVudCB3aGVuIC9kZXYvZGlzay9ieS17bGFiZWwsdXVpZH0vCisgICBzeW1saW5rIGRvZXMgbm90IG1hdGNoIHdpdGggTEFCRUwgb3IgVVVJRCBvbiB0aGUgZGV2aWNlLiBEZWZhdWx0IGlzICJ5ZXMiLgorICA8L3NpbXBhcmE+PC9saXN0aXRlbT4KKyA8L3Zhcmxpc3RlbnRyeT4KKyA8dmFybGlzdGVudHJ5PgorICA8dGVybT5DQUNIRV9GSUxFPTxwYXJhbWV0ZXI+cGF0aDwvcGFyYW1ldGVyPjwvdGVybT4KKyAgPGxpc3RpdGVtPjxzaW1wYXJhPgorICAgT3ZlcnJpZGVzIHRoZSBzdGFuZGFyZCBsb2NhdGlvbiBvZiB0aGUgY2FjaGUgZmlsZS4gVGhpcworICAgc2V0dGluZyBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQkxLSURfRklMRS4gRGVmYXVsdCBpcworICAgL2V0Yy9ibGtpZC50YWIuCisgIDwvc2ltcGFyYT48L2xpc3RpdGVtPgorIDwvdmFybGlzdGVudHJ5PgorIDx2YXJsaXN0ZW50cnk+CisgIDx0ZXJtPkVWQUxVQVRFPTxwYXJhbWV0ZXI+bWV0aG9kPC9wYXJhbWV0ZXI+PC90ZXJtPgorICA8bGlzdGl0ZW0+PHNpbXBhcmE+CisgICBEZWZpbmVzIExBQkVMIGFuZCBVVUlEIGV2YWx1YXRpb24gbWV0aG9kKHMpLiBDdXJyZW50bHksCisgICB0aGUgbGliYmxraWQgbGlicmFyeSBzdXBwb3J0cyAidWRldiIgYW5kICJzY2FuIiBtZXRob2RzLiBNb3JlIHRoYW4gb25lIG1ldGhvZHMKKyAgIG1heSBiZSBzcGVjaWZpZWQgaW4gYSBjb21tYSBzZXBhcmF0ZWQgbGlzdC4gRGVmYXVsdCBpcyAidWRldixzY2FuIi4gVGhlICJ1ZGV2IgorICAgbWV0aG9kIHVzZXMgdWRldiAvZGV2L2Rpc2svYnktKiBzeW1saW5rcyBhbmQgdGhlICJzY2FuIiBtZXRob2Qgc2NhbnMgYWxsCisgICBibG9jayBkZXZpY2VzIGZyb20gdGhlIC9wcm9jL3BhcnRpdGlvbnMgZmlsZS4KKyAgPC9zaW1wYXJhPjwvbGlzdGl0ZW0+CisgPC92YXJsaXN0ZW50cnk+Cis8L3ZhcmlhYmxlbGlzdD4KKworPC9yZWZzZWN0MT4KKworPC9yZWZlbnRyeT4KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL2RvY3MvbGliYmxraWQtZG9jcy54bWwgYi9saWJibGtpZC9kb2NzL2xpYmJsa2lkLWRvY3MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiZjA3YWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9kb2NzL2xpYmJsa2lkLWRvY3MueG1sCkBAIC0wLDAgKzEsNzQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCI/PgorPCFET0NUWVBFIGJvb2sgUFVCTElDICItLy9PQVNJUy8vRFREIERvY0Jvb2sgWE1MIFY0LjMvL0VOIgorICAgICAgICAgICAgICAgImh0dHA6Ly93d3cub2FzaXMtb3Blbi5vcmcvZG9jYm9vay94bWwvNC4zL2RvY2Jvb2t4LmR0ZCIKK1sKKyAgPCFFTlRJVFkgdmVyc2lvbiBTWVNURU0gInZlcnNpb24ueG1sIj4KK10+Cis8Ym9vayBpZD0iaW5kZXgiIHhtbG5zOnhpPSJodHRwOi8vd3d3LnczLm9yZy8yMDAzL1hJbmNsdWRlIj4KKyAgPGJvb2tpbmZvPgorICAgIDx0aXRsZT5saWJibGtpZCBSZWZlcmVuY2UgTWFudWFsPC90aXRsZT4KKyAgICA8cmVsZWFzZWluZm8+Zm9yIGxpYmJsa2lkIHZlcnNpb24gJnZlcnNpb247PC9yZWxlYXNlaW5mbz4KKyAgICA8Y29weXJpZ2h0PgorICAgICAgPHllYXI+MjAwOS0yMDE3PC95ZWFyPgorICAgICAgPGhvbGRlcj5LYXJlbCBaYWsgJmx0O2t6YWtAcmVkaGF0LmNvbSZndDs8L2hvbGRlcj4KKyAgICA8L2NvcHlyaWdodD4KKyAgPC9ib29raW5mbz4KKworICA8cGFydCBpZD0iZ3RrIj4KKyAgICA8dGl0bGU+bGliYmxraWQgT3ZlcnZpZXc8L3RpdGxlPgorICAgIDxwYXJ0aW50cm8+CisgICAgPHBhcmE+CitUaGUgbGliYmxraWQgbGlicmFyeSBpcyB1c2VkIHRvIGlkZW50aWZ5IGJsb2NrIGRldmljZXMgKGRpc2tzKSBhcyB0byB0aGVpcgorY29udGVudCAoZS5nLiAgZmlsZXN5c3RlbSB0eXBlLCBwYXJ0aXRpb25zKSBhcyB3ZWxsIGFzIGV4dHJhY3RpbmcgYWRkaXRpb25hbAoraW5mb3JtYXRpb24gc3VjaCBhcyBmaWxlc3lzdGVtIGxhYmVscy92b2x1bWUgbmFtZXMsIHBhcnRpdGlvbnMsIHVuaXF1ZQoraWRlbnRpZmllcnMvc2VyaWFsIG51bWJlcnMsIGV0Yy4gIEEgY29tbW9uIHVzZSBpcyB0byBhbGxvdyB1c2Ugb2YgTEFCRUw9IGFuZAorVVVJRD0gdGFncyBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nIHNwZWNpZmljIGJsb2NrIGRldmljZSBuYW1lcyBpbnRvCitjb25maWd1cmF0aW9uIGZpbGVzLgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KK1RoZSBsaWJibGtpZCBsaWJyYXJ5Cit3YXMgd3JpdHRlbiBieSBBbmRyZWFzIERpbGdlciBmb3IgdGhlIGV4dDIgZmlsZXN5c3RlbSB1dGlsaXRpZXMsIHdpdGggaW5wdXQKK2Zyb20gVGVkIFRzJ28uICBUaGUgbGlicmFyeSB3YXMgc3Vic2VxdWVudGx5IGhlYXZpbHkgbW9kaWZpZWQgYnkgVGVkIFRzJ28uCisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorVGhlIGxvdy1sZXZlbCBwcm9iaW5nIGNvZGUsIHRvcG9sb2d5IGFuZCBwYXJ0aXRpb25zIHN1cHBvcnQgd2FzIHdyaXR0ZW4KK2J5IEthcmVsIFphay4gQ3VycmVudGx5LCB0aGUgbGlicmFyeSBpcyBtYWludGFpbmVkIGJ5IEthcmVsIFphay4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+CitUaGUgbGlicmFyeSBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1IGFuZCBpcworYXZhaWxhYmxlIGZyb20gaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisgICAgPC9wYXJhPgorICA8L3BhcnRpbnRybz4KKyAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2xpYmJsa2lkLWNvbmZpZy54bWwiLz4KKyA8L3BhcnQ+CisKKyAgPHBhcnQ+CisgICAgPHRpdGxlPkhpZ2gtbGV2ZWw8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9ldmFsdWF0ZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvY2FjaGUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3NlYXJjaC54bWwiLz4KKyAgPC9wYXJ0PgorICA8cGFydD4KKyAgICA8dGl0bGU+TG93LWxldmVsPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvaW5pdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvbG93cHJvYmUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2xvd3Byb2JlLXRhZ3MueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3N1cGVyYmxvY2tzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9wYXJ0aXRpb25zLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC90b3BvbG9neS54bWwiLz4KKyAgPC9wYXJ0PgorICA8cGFydD4KKyAgICA8dGl0bGU+Q29tbW9uIHV0aWxzPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvZW5jb2RlLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9taXNjLnhtbCIvPgorICA8L3BhcnQ+CisKKyAgPGluZGV4IGlkPSJhcGktaW5kZXgiPgorICAgIDx0aXRsZT5BUEkgSW5kZXg8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtZnVsbC54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKyAgPGluZGV4IHJvbGU9IjIuMzAiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjMwPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMzAueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+Cis8L2Jvb2s+CmRpZmYgLS1naXQgYS9saWJibGtpZC9kb2NzL2xpYmJsa2lkLXNlY3Rpb25zLnR4dCBiL2xpYmJsa2lkL2RvY3MvbGliYmxraWQtc2VjdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlNjE3YmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9kb2NzL2xpYmJsa2lkLXNlY3Rpb25zLnR4dApAQCAtMCwwICsxLDIwNSBAQAorPFNFQ1RJT04+Cis8RklMRT5ldmFsdWF0ZTwvRklMRT4KK2Jsa2lkX2V2YWx1YXRlX3RhZworYmxraWRfZXZhbHVhdGVfc3BlYworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmluaXQ8L0ZJTEU+CitibGtpZF9pbml0X2RlYnVnCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+Y2FjaGU8L0ZJTEU+CitibGtpZF9jYWNoZQorYmxraWRfZ2NfY2FjaGUKK2Jsa2lkX2dldF9jYWNoZQorYmxraWRfcHV0X2NhY2hlCitibGtpZF9wcm9iZV9hbGwKK2Jsa2lkX3Byb2JlX2FsbF9yZW1vdmFibGUKK2Jsa2lkX3Byb2JlX2FsbF9uZXcKK2Jsa2lkX3ZlcmlmeQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnNlYXJjaDwvRklMRT4KK2Jsa2lkX2RldgorYmxraWRfZGV2X2Rldm5hbWUKK2Jsa2lkX2Rldl9oYXNfdGFnCitibGtpZF9kZXZfaXRlcmF0ZQorYmxraWRfZGV2X2l0ZXJhdGVfYmVnaW4KK2Jsa2lkX2Rldl9pdGVyYXRlX2VuZAorYmxraWRfZGV2X25leHQKK2Jsa2lkX2Rldl9zZXRfc2VhcmNoCitibGtpZF9maW5kX2Rldl93aXRoX3RhZworYmxraWRfZ2V0X2RldgorYmxraWRfZ2V0X2Rldm5hbWUKK2Jsa2lkX2dldF90YWdfdmFsdWUKK2Jsa2lkX3RhZ19pdGVyYXRlCitibGtpZF90YWdfaXRlcmF0ZV9iZWdpbgorYmxraWRfdGFnX2l0ZXJhdGVfZW5kCitibGtpZF90YWdfbmV4dAorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmxvd3Byb2JlPC9GSUxFPgorYmxraWRfcHJvYmUKK2Jsa2lkX2ZyZWVfcHJvYmUKK2Jsa2lkX25ld19wcm9iZQorYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUKK2Jsa2lkX3Byb2JlX2dldF9kZXZubworYmxraWRfcHJvYmVfZ2V0X2ZkCitibGtpZF9wcm9iZV9nZXRfb2Zmc2V0CitibGtpZF9wcm9iZV9nZXRfc2VjdG9ycworYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUKK2Jsa2lkX3Byb2JlX2dldF9zaXplCitibGtpZF9wcm9iZV9nZXRfd2hvbGVkaXNrX2Rldm5vCitibGtpZF9wcm9iZV9oaWRlX3JhbmdlCitibGtpZF9wcm9iZV9pc193aG9sZWRpc2sKK2Jsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcnMKK2Jsa2lkX3Byb2JlX3NldF9kZXZpY2UKK2Jsa2lkX3Byb2JlX3NldF9zZWN0b3JzaXplCitibGtpZF9wcm9iZV9zdGVwX2JhY2sKK2Jsa2lkX3Jlc2V0X3Byb2JlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+bG93cHJvYmUtdGFnczwvRklMRT4KK2Jsa2lkX2RvX2Z1bGxwcm9iZQorYmxraWRfZG9fd2lwZQorYmxraWRfZG9fcHJvYmUKK2Jsa2lkX2RvX3NhZmVwcm9iZQorPFNVQlNFQ1RJT04+CitibGtpZF9wcm9iZV9nZXRfdmFsdWUKK2Jsa2lkX3Byb2JlX2hhc192YWx1ZQorYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlCitibGtpZF9wcm9iZV9udW1vZl92YWx1ZXMKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5wYXJ0aXRpb25zPC9GSUxFPgorYmxraWRfcGFydGxpc3QKK2Jsa2lkX3BhcnRpdGlvbgorYmxraWRfcGFydHRhYmxlCitibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucworYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MKK2Jsa2lkX3Byb2JlX2ZpbHRlcl9wYXJ0aXRpb25zX3R5cGUKK2Jsa2lkX3Byb2JlX2ludmVydF9wYXJ0aXRpb25zX2ZpbHRlcgorYmxraWRfcHJvYmVfcmVzZXRfcGFydGl0aW9uc19maWx0ZXIKKzxTVUJTRUNUSU9OPgorYmxraWRfa25vd25fcHR0eXBlCitibGtpZF9wYXJ0aXRpb25zX2dldF9uYW1lCis8U1VCU0VDVElPTj4KK2Jsa2lkX3BhcnRpdGlvbl9nZXRfbmFtZQorYmxraWRfcGFydGl0aW9uX2dldF9mbGFncworYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm8KK2Jsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZQorYmxraWRfcGFydGl0aW9uX2dldF9zdGFydAorYmxraWRfcGFydGl0aW9uX2dldF90YWJsZQorYmxraWRfcGFydGl0aW9uX2dldF90eXBlCitibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGVfc3RyaW5nCitibGtpZF9wYXJ0aXRpb25fZ2V0X3V1aWQKK2Jsa2lkX3BhcnRpdGlvbl9pc19leHRlbmRlZAorYmxraWRfcGFydGl0aW9uX2lzX2xvZ2ljYWwKK2Jsa2lkX3BhcnRpdGlvbl9pc19wcmltYXJ5Cis8U1VCU0VDVElPTj4KK2Jsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24KK2Jsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb25fYnlfcGFydG5vCitibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zCitibGtpZF9wYXJ0bGlzdF9kZXZub190b19wYXJ0aXRpb24KK2Jsa2lkX3BhcnRsaXN0X2dldF90YWJsZQorPFNVQlNFQ1RJT04+CitibGtpZF9wYXJ0dGFibGVfZ2V0X2lkCitibGtpZF9wYXJ0dGFibGVfZ2V0X29mZnNldAorYmxraWRfcGFydHRhYmxlX2dldF9wYXJlbnQKK2Jsa2lkX3BhcnR0YWJsZV9nZXRfdHlwZQorPFNVQlNFQ1RJT04+CitibGtpZF9wcm9iZV9nZXRfcGFydGl0aW9ucworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnN1cGVyYmxvY2tzPC9GSUxFPgorYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzCis8U1VCU0VDVElPTj4KK2Jsa2lkX2tub3duX2ZzdHlwZQorYmxraWRfc3VwZXJibG9ja3NfZ2V0X25hbWUKKzxTVUJTRUNUSU9OPgorYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3R5cGUKK2Jsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc191c2FnZQorYmxraWRfcHJvYmVfaW52ZXJ0X3N1cGVyYmxvY2tzX2ZpbHRlcgorYmxraWRfcHJvYmVfcmVzZXRfc3VwZXJibG9ja3NfZmlsdGVyCitibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MKKzxTVUJTRUNUSU9OPgorYmxraWRfcHJvYmVfcmVzZXRfZmlsdGVyCitibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXMKK2Jsa2lkX3Byb2JlX2ZpbHRlcl91c2FnZQorYmxraWRfcHJvYmVfaW52ZXJ0X2ZpbHRlcgorYmxraWRfcHJvYmVfc2V0X3JlcXVlc3QKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT50b3BvbG9neTwvRklMRT4KK2Jsa2lkX3RvcG9sb2d5CitibGtpZF9wcm9iZV9lbmFibGVfdG9wb2xvZ3kKKzxTVUJTRUNUSU9OPgorYmxraWRfcHJvYmVfZ2V0X3RvcG9sb2d5CitibGtpZF90b3BvbG9neV9nZXRfYWxpZ25tZW50X29mZnNldAorYmxraWRfdG9wb2xvZ3lfZ2V0X2xvZ2ljYWxfc2VjdG9yX3NpemUKK2Jsa2lkX3RvcG9sb2d5X2dldF9taW5pbXVtX2lvX3NpemUKK2Jsa2lkX3RvcG9sb2d5X2dldF9vcHRpbWFsX2lvX3NpemUKK2Jsa2lkX3RvcG9sb2d5X2dldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmVuY29kZTwvRklMRT4KK2Jsa2lkX2VuY29kZV9zdHJpbmcKK2Jsa2lkX3NhZmVfc3RyaW5nCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+bWlzYzwvRklMRT4KK2Jsa2lkX2xvZmZfdAorYmxraWRfZGV2bm9fdG9fZGV2bmFtZQorYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrCitibGtpZF9nZXRfZGV2X3NpemUKK2Jsa2lkX2dldF9saWJyYXJ5X3ZlcnNpb24KK2Jsa2lkX3BhcnNlX3RhZ19zdHJpbmcKK2Jsa2lkX3BhcnNlX3ZlcnNpb25fc3RyaW5nCitibGtpZF9zZW5kX3VldmVudAorQkxLSURfVkVSU0lPTgorQkxLSURfREFURQorQkxLSURfRkxUUl9OT1RJTgorQkxLSURfRkxUUl9PTkxZSU4KK0JMS0lEX0RFVl9DUkVBVEUKK0JMS0lEX0RFVl9GSU5ECitCTEtJRF9ERVZfTk9STUFMCitCTEtJRF9ERVZfVkVSSUZZCitCTEtJRF9QQVJUU19FTlRSWV9ERVRBSUxTCitCTEtJRF9QQVJUU19GT1JDRV9HUFQKK0JMS0lEX1BBUlRTX01BR0lDCitCTEtJRF9QUk9CUkVRX0xBQkVMCitCTEtJRF9QUk9CUkVRX0xBQkVMUkFXCitCTEtJRF9QUk9CUkVRX1NFQ1RZUEUKK0JMS0lEX1BST0JSRVFfVFlQRQorQkxLSURfUFJPQlJFUV9VU0FHRQorQkxLSURfUFJPQlJFUV9VVUlECitCTEtJRF9QUk9CUkVRX1VVSURSQVcKK0JMS0lEX1BST0JSRVFfVkVSU0lPTgorQkxLSURfU1VCTEtTX0JBRENTVU0KK0JMS0lEX1NVQkxLU19ERUZBVUxUCitCTEtJRF9TVUJMS1NfTEFCRUwKK0JMS0lEX1NVQkxLU19MQUJFTFJBVworQkxLSURfU1VCTEtTX01BR0lDCitCTEtJRF9TVUJMS1NfU0VDVFlQRQorQkxLSURfU1VCTEtTX1RZUEUKK0JMS0lEX1NVQkxLU19VU0FHRQorQkxLSURfU1VCTEtTX1VVSUQKK0JMS0lEX1NVQkxLU19VVUlEUkFXCitCTEtJRF9TVUJMS1NfVkVSU0lPTgorQkxLSURfVVNBR0VfQ1JZUFRPCitCTEtJRF9VU0FHRV9GSUxFU1lTVEVNCitCTEtJRF9VU0FHRV9PVEhFUgorQkxLSURfVVNBR0VfUkFJRAorPC9TRUNUSU9OPgorCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL2RvY3MvdmVyc2lvbi54bWwuaW4gYi9saWJibGtpZC9kb2NzL3ZlcnNpb24ueG1sLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OGJkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9kb2NzL3ZlcnNpb24ueG1sLmluCkBAIC0wLDAgKzEgQEAKK0BWRVJTSU9OQApkaWZmIC0tZ2l0IGEvbGliYmxraWQvbGliYmxraWQuMyBiL2xpYmJsa2lkL2xpYmJsa2lkLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjVlMDAwOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL2xpYmJsa2lkLjMKQEAgLTAsMCArMSw3OSBAQAorLlwiIENvcHlyaWdodCAyMDAxIEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQHR1cmJvbGludXguY29tKQorLlwiCisuXCIgVGhpcyBtYW4gcGFnZSB3YXMgY3JlYXRlZCBmb3IgbGliYmxraWQuc28uMS4wIGZyb20gZTJmc3Byb2dzLTEuMjQuCisuXCIKKy5cIiBUaGlzIGZpbGUgbWF5IGJlIGNvcGllZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKy5cIiBMaWNlbnNlLgorLlwiCisuXCIgQ3JlYXRlZCAgV2VkIFNlcCAxNCAxMjowMjoxMiAyMDAxLCBBbmRyZWFzIERpbGdlcgorLlRIIExJQkJMS0lEIDMgIk1heSAyMDA5IiAidXRpbC1saW51eCIgIlByb2dyYW1tZXIncyBNYW51YWwiCisuU0ggTkFNRQorbGliYmxraWQgXC0gYmxvY2sgZGV2aWNlIGlkZW50aWZpY2F0aW9uIGxpYnJhcnkKKy5TSCBTWU5PUFNJUworLkIgI2luY2x1ZGUgPGJsa2lkLmg+Cisuc3AKKy5CIGNjCisuSSBmaWxlLmMKKy5CIFwtbGJsa2lkCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgbGliYmxraWQKK2xpYnJhcnkgaXMgdXNlZCB0byBpZGVudGlmeSBibG9jayBkZXZpY2VzIChkaXNrcykgYXMgdG8gdGhlaXIgY29udGVudCAoZS5nLgorZmlsZXN5c3RlbSB0eXBlKSBhcyB3ZWxsIGFzIGV4dHJhY3RpbmcgYWRkaXRpb25hbCBpbmZvcm1hdGlvbiBzdWNoIGFzCitmaWxlc3lzdGVtIGxhYmVscy92b2x1bWUgbmFtZXMsIHVuaXF1ZSBpZGVudGlmaWVycy9zZXJpYWwgbnVtYmVycy4KK0EgY29tbW9uIHVzZSBpcyB0byBhbGxvdyB1c2Ugb2YgTEFCRUw9IGFuZCBVVUlEPSB0YWdzIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcKK3NwZWNpZmljIGJsb2NrIGRldmljZSBuYW1lcyBpbnRvIGNvbmZpZ3VyYXRpb24gZmlsZXMuCisuUAorVGhlIGxvdy1sZXZlbCBwYXJ0IG9mIHRoZSBsaWJyYXJ5IGFsc28gYWxsb3dzIHRvIGV4dHJhY3QgaW5mb3JtYXRpb24gYWJvdXQKK3BhcnRpdGlvbnMgYW5kIGJsb2NrIGRldmljZSB0b3BvbG9neS4KKy5QCitUaGUgaGlnaC1sZXZlbCBwYXJ0IG9mIHRoZSBsaWJyYXJ5IGtlZXBzIGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMgaW4gYQorY2FjaGUgZmlsZSBhbmQgaXMgdmVyaWZpZWQgdG8gc3RpbGwgYmUgdmFsaWQgYmVmb3JlIGJlaW5nIHJldHVybmVkIHRvIHRoZSB1c2VyCisoaWYgdGhlIHVzZXIgaGFzIHJlYWQgcGVybWlzc2lvbiBvbiB0aGUgcmF3IGJsb2NrIGRldmljZSwgb3RoZXJ3aXNlIG5vdCkuCitUaGUgY2FjaGUgZmlsZSBhbHNvIGFsbG93cyB1bnByaXZpbGVnZWQgdXNlcnMgKG5vcm1hbGx5IGFueW9uZSBvdGhlcgordGhhbiByb290LCBvciB0aG9zZSBub3QgaW4gdGhlICJkaXNrIiBncm91cCkgdG8gbG9jYXRlIGRldmljZXMgYnkgbGFiZWwvaWQuCitUaGUgc3RhbmRhcmQgbG9jYXRpb24gb2YgdGhlIGNhY2hlIGZpbGUgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlCitlbnZpcm9ubWVudCB2YXJpYWJsZSBCTEtJRF9GSUxFLgorLlAKK0luIHNpdHVhdGlvbnMgd2hlcmUgb25lIGlzIGdldHRpbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBzaW5nbGUga25vd24gZGV2aWNlLCBpdAorZG9lcyBub3QgaW1wYWN0IHBlcmZvcm1hbmNlIHdoZXRoZXIgdGhlIGNhY2hlIGlzIHVzZWQgb3Igbm90ICh1bmxlc3MgeW91IGFyZQorbm90IGFibGUgdG8gcmVhZCB0aGUgYmxvY2sgZGV2aWNlIGRpcmVjdGx5KS4KKy5QCitUaGUgaGlnaC1sZXZlbCBwYXJ0IG9mIHRoZSBsaWJyYXJ5IHN1cHBvcnRzIHR3byBtZXRob2RzIHRvIGV2YWx1YXRlIExBQkVML1VVSUQuCitJdCByZWFkcyBpbmZvcm1hdGlvbiBkaXJlY3RseSBmcm9tIGEgYmxvY2sgZGV2aWNlIG9yIHJlYWQgaW5mb3JtYXRpb24gZnJvbQorL2Rldi9kaXNrL2J5LSogdWRldiBzeW1saW5rcy4gIFRoZSB1ZGV2IGlzIHByZWZlcnJlZCBtZXRob2QgYnkgZGVmYXVsdC4KKy5QCitJZiB5b3UgYXJlIGRlYWxpbmcgd2l0aAorbXVsdGlwbGUgZGV2aWNlcywgdXNlIG9mIHRoZSBjYWNoZSBpcyBoaWdobHkgcmVjb21tZW5kZWQgKGV2ZW4gaWYgZW1wdHkpIGFzCitkZXZpY2VzIHdpbGwgYmUgc2Nhbm5lZCBhdCBtb3N0IG9uZSB0aW1lIGFuZCB0aGUgb24tZGlzayBjYWNoZSB3aWxsIGJlCit1cGRhdGVkIGlmIHBvc3NpYmxlLgorLlAKK0luIHNvbWUgY2FzZXMgKG1vZHVsYXIga2VybmVscyksIGJsb2NrIGRldmljZXMgYXJlIG5vdCBldmVuIHZpc2libGUgdW50aWwKK2FmdGVyIHRoZXkgYXJlIGFjY2Vzc2VkIHRoZSBmaXJzdCB0aW1lLCBzbyBpdCBpcyBjcml0aWNhbCB0aGF0IHRoZXJlIGlzCitzb21lIHdheSB0byBsb2NhdGUgdGhlc2UgZGV2aWNlcyB3aXRob3V0IGVudW1lcmF0aW5nIG9ubHkgdmlzaWJsZSBkZXZpY2VzLAorc28gdGhlIHVzZSBvZiB0aGUgY2FjaGUgZmlsZSBpcworLkIgcmVxdWlyZWQKK2luIHRoaXMgc2l0dWF0aW9uLgorLlNIIENPTkZJR1VSQVRJT04gRklMRQorVGhlIHN0YW5kYXJkIGxvY2F0aW9uIG9mIHRoZQorLkkgL2V0Yy9ibGtpZC5jb25mCitjb25maWcgZmlsZSBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQkxLSURfQ09ORi4gIEZvciBtb3JlCitkZXRhaWxzIGFib3V0IHRoZSBjb25maWcgZmlsZSBzZWUKKy5CUiBibGtpZCAoOCkKK21hbiBwYWdlLgorLlNIIEFVVEhPUgorLkIgbGliYmxraWQKK3dhcyB3cml0dGVuIGJ5IEFuZHJlYXMgRGlsZ2VyIGZvciB0aGUgZXh0MiBmaWxlc3lzdGVtIHV0aWxpdGllcywgd2l0aCBpbnB1dAorZnJvbSBUZWQgVHMnby4gIFRoZSBsaWJyYXJ5IHdhcyBzdWJzZXF1ZW50bHkgaGVhdmlseSBtb2RpZmllZCBieSBUZWQgVHMnby4KKworVGhlIGxvdy1sZXZlbCBwcm9iaW5nIGNvZGUgd2FzIHJld3JpdHRlbiBieSBLYXJlbCBaYWsuCisuU0ggQ09QWUlORworLkIgbGliYmxraWQKK2lzIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKExHUEwpLAordmVyc2lvbiAyIChvciBhdCB5b3VyIGRpc2NyZXRpb24gYW55IGxhdGVyIHZlcnNpb24pLgorLlNIICJTRUUgQUxTTyIKKy5CUiBibGtpZCAoOCksCisuQlIgZmluZGZzICg4KQorLlNIIEFWQUlMQUJJTElUWQorbGliYmxraWQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIHNpbmNlIHZlcnNpb24gMi4xNSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc2FtcGxlcy8uZ2l0aWdub3JlIGIvbGliYmxraWQvc2FtcGxlcy8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlZmViNjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zYW1wbGVzLy5naXRpZ25vcmUKQEAgLTAsMCArMSw0IEBACitta2ZzCitwYXJ0aXRpb25zCitzdXBlcmJsb2NrcwordG9wb2xvZ3kKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NhbXBsZXMvTWFrZW1vZHVsZS5hbSBiL2xpYmJsa2lkL3NhbXBsZXMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZDA1ZmM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc2FtcGxlcy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMjIgQEAKKworY2hlY2tfUFJPR1JBTVMgKz0gXAorCXNhbXBsZS1ta2ZzIFwKKwlzYW1wbGUtcGFydGl0aW9ucyBcCisJc2FtcGxlLXN1cGVyYmxvY2tzIFwKKwlzYW1wbGUtdG9wb2xvZ3kKKworc2FtcGxlX21rZnNfU09VUkNFUyA9IGxpYmJsa2lkL3NhbXBsZXMvbWtmcy5jCitzYW1wbGVfbWtmc19MREFERCA9IGxpYmJsa2lkLmxhICQoTERBREQpCitzYW1wbGVfbWtmc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKKworc2FtcGxlX3BhcnRpdGlvbnNfU09VUkNFUyA9IGxpYmJsa2lkL3NhbXBsZXMvcGFydGl0aW9ucy5jCitzYW1wbGVfcGFydGl0aW9uc19MREFERCA9IGxpYmJsa2lkLmxhICQoTERBREQpCitzYW1wbGVfcGFydGl0aW9uc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKKworc2FtcGxlX3N1cGVyYmxvY2tzX1NPVVJDRVMgPSBsaWJibGtpZC9zYW1wbGVzL3N1cGVyYmxvY2tzLmMKK3NhbXBsZV9zdXBlcmJsb2Nrc19MREFERCA9IGxpYmJsa2lkLmxhICQoTERBREQpCitzYW1wbGVfc3VwZXJibG9ja3NfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJibGtpZF9pbmNkaXIpCisKK3NhbXBsZV90b3BvbG9neV9TT1VSQ0VTID0gbGliYmxraWQvc2FtcGxlcy90b3BvbG9neS5jCitzYW1wbGVfdG9wb2xvZ3lfTERBREQgPSBsaWJibGtpZC5sYSAkKExEQUREKQorc2FtcGxlX3RvcG9sb2d5X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGliYmxraWRfaW5jZGlyKQpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc2FtcGxlcy9ta2ZzLmMgYi9saWJibGtpZC9zYW1wbGVzL21rZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDIzZjkxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc2FtcGxlcy9ta2ZzLmMKQEAgLTAsMCArMSw3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSA8YmxraWQuaD4KKworI2luY2x1ZGUgImMuaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgcmM7CisJY2hhciAqZGV2bmFtZTsKKwlibGtpZF9wcm9iZSBwcjsKKwlibGtpZF90b3BvbG9neSB0cDsKKworCWlmIChhcmdjIDwgMikgeworCQlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlcyA8ZGV2aWNlPiAgIgorCQkJIi0tIGNoZWNrcyBiYXNlZCBvbiBsaWJibGtpZCBmb3IgbWtmcy1saWtlIHByb2dyYW1zLlxuIiwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKKwlkZXZuYW1lID0gYXJndlsxXTsKKwlwciA9IGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGRldm5hbWUpOworCWlmICghcHIpCisJCWVycihFWElUX0ZBSUxVUkUsICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBsaWJibGtpZCBwcm9iZSIsCisJCQkJZGV2bmFtZSk7CisKKwkvKgorCSAqIGNoZWNrIEZpbGVzeXN0ZW1zIC8gUGFydGl0aW9ucyBvdmVyd3JpdGUKKwkgKi8KKworCS8qIGVuYWJsZSBwYXJ0aXRpb25zIHByb2JpbmcgKHN1cGVyYmxvY2tzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQpICovCisJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMocHIsIFRSVUUpOworCisJcmMgPSBibGtpZF9kb19mdWxscHJvYmUocHIpOworCWlmIChyYyA9PSAtMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogYmxraWRfZG9fZnVsbHByb2JlKCkgZmFpbGVkIiwgZGV2bmFtZSk7CisJZWxzZSBpZiAocmMgPT0gMCkgeworCQljb25zdCBjaGFyICp0eXBlOworCisJCWlmICghYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVFlQRSIsICZ0eXBlLCBOVUxMKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6IGFwcGVhcnMgdG8gY29udGFpbiBhbiBleGlzdGluZyAiCisJCQkJCSIlcyBzdXBlcmJsb2NrIiwgZGV2bmFtZSwgdHlwZSk7CisKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVFRZUEUiLCAmdHlwZSwgTlVMTCkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiBhcHBlYXJzIHRvIGNvbnRhaW4gYW4gcGFydGl0aW9uICIKKwkJCQkJInRhYmxlICglcykiLCBkZXZuYW1lLCB0eXBlKTsKKwl9CisKKwkvKgorCSAqIGdldCB0b3BvbG9neSBkZXRhaWxzCisJICovCisJdHAgPSBibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3kocHIpOworCWlmICghdHApCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6IGZhaWxlZCB0byByZWFkIHRvcG9sb2d5IiwgZGV2bmFtZSk7CisKKworCS8qIC4uLiB5b3VyIG1rZnMuPHR5cGU+IGNvZGUgb3Igc28gLi4uCisKKwlvZmYgPSBibGtpZF90b3BvbG9neV9nZXRfYWxpZ25tZW50X29mZnNldCh0cCk7CisKKwkgKi8KKworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NhbXBsZXMvcGFydGl0aW9ucy5jIGIvbGliYmxraWQvc2FtcGxlcy9wYXJ0aXRpb25zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzU4MzBlNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NhbXBsZXMvcGFydGl0aW9ucy5jCkBAIC0wLDAgKzEsOTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisjaW5jbHVkZSAiYy5oIgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBpLCBucGFydHM7CisJY2hhciAqZGV2bmFtZTsKKwlibGtpZF9wcm9iZSBwcjsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlibGtpZF9wYXJ0dGFibGUgcm9vdF90YWI7CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPGRldmljZXxmaWxlPiAgIgorCQkJCSItLSBwcmludHMgcGFydGl0aW9uc1xuIiwKKwkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJZGV2bmFtZSA9IGFyZ3ZbMV07CisJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKwlpZiAoIXByKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBuZXcgbGliYmxraWQgcHJvYmUiLAorCQkJCWRldm5hbWUpOworCS8qIEJpbmFyeSBpbnRlcmZhY2UgKi8KKwlscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zKHByKTsKKwlpZiAoIWxzKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zXG4iLCBkZXZuYW1lKTsKKworCS8qCisJICogUHJpbnQgaW5mbyBhYm91dCB0aGUgcHJpbWFyeSAocm9vdCkgcGFydGl0aW9uIHRhYmxlCisJICovCisJcm9vdF90YWIgPSBibGtpZF9wYXJ0bGlzdF9nZXRfdGFibGUobHMpOworCWlmICghcm9vdF90YWIpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6IGRvZXMgbm90IGNvbnRhaW5zIGFueSAiCisJCQkJICJrbm93biBwYXJ0aXRpb24gdGFibGVcbiIsIGRldm5hbWUpOworCisJcHJpbnRmKCJzaXplOiAlamQsIHNlY3RvciBzaXplOiAldSwgUFQ6ICVzLCBvZmZzZXQ6ICVqZCwgaWQ9JXNcbi0tLVxuIiwKKwkJKGludG1heF90KWJsa2lkX3Byb2JlX2dldF9zaXplKHByKSwKKwkJYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUocHIpLAorCQlibGtpZF9wYXJ0dGFibGVfZ2V0X3R5cGUocm9vdF90YWIpLAorCQkoaW50bWF4X3QpYmxraWRfcGFydHRhYmxlX2dldF9vZmZzZXQocm9vdF90YWIpLAorCQlibGtpZF9wYXJ0dGFibGVfZ2V0X2lkKHJvb3RfdGFiKSk7CisKKwkvKgorCSAqIExpc3QgcGFydGl0aW9ucworCSAqLworCW5wYXJ0cyA9IGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMobHMpOworCWlmICghbnBhcnRzKQorCQlnb3RvIGRvbmU7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKwkJY29uc3QgY2hhciAqcDsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlibGtpZF9wYXJ0dGFibGUgdGFiID0gYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShwYXIpOworCisJCXByaW50ZigiIyVkOiAlMTBsbHUgJTEwbGx1ICAweCV4IiwKKwkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhciksCisJCQkodW5zaWduZWQgbG9uZyBsb25nKSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhciksCisJCQkodW5zaWduZWQgbG9uZyBsb25nKSBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSwKKwkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShwYXIpKTsKKworCQlpZiAocm9vdF90YWIgIT0gdGFiKQorCQkJLyogc3VicGFydGl0aW9uIChCU0QsIE1pbml4LCAuLi4pICovCisJCQlwcmludGYoIiAoJXMpIiwgYmxraWRfcGFydHRhYmxlX2dldF90eXBlKHRhYikpOworCisJCXAgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X25hbWUocGFyKTsKKwkJaWYgKHApCisJCQlwcmludGYoIiBuYW1lPSclcyciLCBwKTsKKwkJcCA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfdXVpZChwYXIpOworCQlpZiAocCkKKwkJCXByaW50ZigiIHV1aWQ9JyVzJyIsIHApOworCQlwID0gYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZyhwYXIpOworCQlpZiAocCkKKwkJCXByaW50ZigiIHR5cGU9JyVzJyIsIHApOworCisJCXB1dGMoJ1xuJywgc3Rkb3V0KTsKKwl9CisKK2RvbmU6CisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NhbXBsZXMvc3VwZXJibG9ja3MuYyBiL2xpYmJsa2lkL3NhbXBsZXMvc3VwZXJibG9ja3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDk1NTU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc2FtcGxlcy9zdXBlcmJsb2Nrcy5jCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJjLmgiCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjOworCWNoYXIgKmRldm5hbWU7CisJYmxraWRfcHJvYmUgcHI7CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPGRldmljZT4gICIKKwkJCQkiLS0gcHJpbnRzIHN1cGVyYmxvY2tzIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZVxuIiwKKwkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJZGV2bmFtZSA9IGFyZ3ZbMV07CisJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKwlpZiAoIXByKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBuZXcgbGliYmxraWQgcHJvYmUiLAorCQkJCWRldm5hbWUpOworCisJLyogZW5hYmxlIHRvcG9sb2d5IHByb2JpbmcgKi8KKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIFRSVUUpOworCisJLyogc2V0IGFsbCBmbGFncyAqLworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwKKwkJCUJMS0lEX1NVQkxLU19MQUJFTCB8IEJMS0lEX1NVQkxLU19MQUJFTFJBVyB8CisJCQlCTEtJRF9TVUJMS1NfVVVJRCB8IEJMS0lEX1NVQkxLU19VVUlEUkFXIHwKKwkJCUJMS0lEX1NVQkxLU19UWVBFIHwgQkxLSURfU1VCTEtTX1NFQ1RZUEUgfAorCQkJQkxLSURfU1VCTEtTX1VTQUdFIHwgQkxLSURfU1VCTEtTX1ZFUlNJT04gfAorCQkJQkxLSURfU1VCTEtTX01BR0lDKTsKKworCXJjID0gYmxraWRfZG9fc2FmZXByb2JlKHByKTsKKwlpZiAocmMgPT0gLTEpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6IGJsa2lkX2RvX3NhZmVwcm9iZSgpIGZhaWxlZCIsIGRldm5hbWUpOworCWVsc2UgaWYgKHJjID09IDEpCisJCXdhcm54KCIlczogY2Fubm90IGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBzdXBlcmJsb2NrcyIsIGRldm5hbWUpOworCWVsc2UgeworCQlpbnQgaSwgbnZhbHMgPSBibGtpZF9wcm9iZV9udW1vZl92YWx1ZXMocHIpOworCisJCWZvciAoaSA9IDA7IGkgPCBudmFsczsgaSsrKSB7CisJCQljb25zdCBjaGFyICpuYW1lLCAqZGF0YTsKKworCQkJYmxraWRfcHJvYmVfZ2V0X3ZhbHVlKHByLCBpLCAmbmFtZSwgJmRhdGEsIE5VTEwpOworCQkJcHJpbnRmKCJcdCVzID0gJXNcbiIsIG5hbWUsIGRhdGEpOworCQl9CisJfQorCisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NhbXBsZXMvdG9wb2xvZ3kuYyBiL2xpYmJsa2lkL3NhbXBsZXMvdG9wb2xvZ3kuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTEyYmEzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc2FtcGxlcy90b3BvbG9neS5jCkBAIC0wLDAgKzEsODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJjLmgiCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjOworCWNoYXIgKmRldm5hbWU7CisJYmxraWRfcHJvYmUgcHI7CisJYmxraWRfdG9wb2xvZ3kgdHA7CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ1c2FnZTogJXMgPGRldmljZT4gICIKKwkJCQkiLS0gcHJpbnRzIHRvcG9sb2d5IGRldGFpbHMgYWJvdXQgdGhlIGRldmljZVxuIiwKKwkJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJZGV2bmFtZSA9IGFyZ3ZbMV07CisJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKwlpZiAoIXByKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBuZXcgbGliYmxraWQgcHJvYmUiLAorCQkJCWRldm5hbWUpOworCS8qCisJICogQmluYXJ5IGludGVyZmFjZQorCSAqLworCXRwID0gYmxraWRfcHJvYmVfZ2V0X3RvcG9sb2d5KHByKTsKKwlpZiAodHApIHsKKwkJcHJpbnRmKCItLS0tLSBiaW5hcnkgaW50ZXJmYWNlOlxuIik7CisJCXByaW50ZigiXHRhbGlnbm1lbnQgb2Zmc2V0ICAgICA6ICVsdVxuIiwKKwkJCQlibGtpZF90b3BvbG9neV9nZXRfYWxpZ25tZW50X29mZnNldCh0cCkpOworCQlwcmludGYoIlx0bWluaW11bSBpbyBzaXplICAgICAgOiAlbHVcbiIsCisJCQkJYmxraWRfdG9wb2xvZ3lfZ2V0X21pbmltdW1faW9fc2l6ZSh0cCkpOworCQlwcmludGYoIlx0b3B0aW1hbCBpbyBzaXplICAgICAgOiAlbHVcbiIsCisJCQkJYmxraWRfdG9wb2xvZ3lfZ2V0X29wdGltYWxfaW9fc2l6ZSh0cCkpOworCQlwcmludGYoIlx0bG9naWNhbCBzZWN0b3Igc2l6ZSAgOiAlbHVcbiIsCisJCQkJYmxraWRfdG9wb2xvZ3lfZ2V0X2xvZ2ljYWxfc2VjdG9yX3NpemUodHApKTsKKwkJcHJpbnRmKCJcdHBoeXNpY2FsIHNlY3RvciBzaXplIDogJWx1XG4iLAorCQkJCWJsa2lkX3RvcG9sb2d5X2dldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZSh0cCkpOworCX0KKworCS8qCisJICogTkFNRT12YWx1ZSBpbnRlcmZhY2UKKwkgKi8KKworCS8qIGVuYWJsZSB0b3BvbG9neSBwcm9iaW5nICovCisJYmxraWRfcHJvYmVfZW5hYmxlX3RvcG9sb2d5KHByLCBUUlVFKTsKKworCS8qIGRpc2FibGUgc3VwZXJibG9ja3MgcHJvYmluZyAoZW5hYmxlZCBieSBkZWZhdWx0KSAqLworCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgRkFMU0UpOworCisJcmMgPSBibGtpZF9kb19mdWxscHJvYmUocHIpOworCWlmIChyYyA9PSAtMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogYmxraWRfZG9fZnVsbHByb2JlKCkgZmFpbGVkIiwgZGV2bmFtZSk7CisJZWxzZSBpZiAocmMgPT0gMSkKKwkJd2FybngoIiVzOiBtaXNzaW5nIHRvcG9sb2d5IGluZm9ybWF0aW9uIiwgZGV2bmFtZSk7CisJZWxzZSB7CisJCWludCBpLCBudmFscyA9IGJsa2lkX3Byb2JlX251bW9mX3ZhbHVlcyhwcik7CisKKwkJcHJpbnRmKCItLS0tLSBOQU1FPXZhbHVlIGludGVyZmFjZSAodmFsdWVzOiAlZCk6XG4iLCBudmFscyk7CisKKwkJZm9yIChpID0gMDsgaSA8IG52YWxzOyBpKyspIHsKKwkJCWNvbnN0IGNoYXIgKm5hbWUsICpkYXRhOworCisJCQlibGtpZF9wcm9iZV9nZXRfdmFsdWUocHIsIGksICZuYW1lLCAmZGF0YSwgTlVMTCk7CisJCQlwcmludGYoIlx0JXMgPSAlc1xuIiwgbmFtZSwgZGF0YSk7CisJCX0KKwl9CisKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjLy5naXRpZ25vcmUgYi9saWJibGtpZC9zcmMvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZjM0ZjU4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjLy5naXRpZ25vcmUKQEAgLTAsMCArMSBAQAorYmxraWQuaApkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL01ha2Vtb2R1bGUuYW0gYi9saWJibGtpZC9zcmMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MTA5NTYxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwyNDEgQEAKKworIyBibGtpZC5oIGlzIGdlbmVyYXRlZCwgc28gaXQncyBzdG9yZSBpbiBidWlsZGRpciEKK2Jsa2lkaW5jZGlyID0gJChpbmNsdWRlZGlyKS9ibGtpZAorbm9kaXN0X2Jsa2lkaW5jX0hFQURFUlMgPSBsaWJibGtpZC9zcmMvYmxraWQuaAorCit1c3JsaWJfZXhlY19MVExJQlJBUklFUyArPSBsaWJibGtpZC5sYQorbGliYmxraWRfbGFfU09VUkNFUyA9IFwKKwlpbmNsdWRlL2xpc3QuaCBcCisJXAorCWxpYmJsa2lkL3NyYy9ibGtpZFAuaCBcCisJbGliYmxraWQvc3JjL2luaXQuYyBcCisJbGliYmxraWQvc3JjL2NhY2hlLmMgXAorCWxpYmJsa2lkL3NyYy9jb25maWcuYyBcCisJbGliYmxraWQvc3JjL2Rldi5jIFwKKwlsaWJibGtpZC9zcmMvZGV2bmFtZS5jIFwKKwlsaWJibGtpZC9zcmMvZGV2bm8uYyBcCisJbGliYmxraWQvc3JjL2VuY29kZS5jIFwKKwlsaWJibGtpZC9zcmMvZXZhbHVhdGUuYyBcCisJbGliYmxraWQvc3JjL2dldHNpemUuYyBcCisJbGliYmxraWQvc3JjL2xsc2Vlay5jIFwKKwlsaWJibGtpZC9zcmMvcHJvYmUuYyBcCisJbGliYmxraWQvc3JjL3JlYWQuYyBcCisJbGliYmxraWQvc3JjL3Jlc29sdmUuYyBcCisJbGliYmxraWQvc3JjL3NhdmUuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N1cGVyYmxvY2tzLmggXAorCWxpYmJsa2lkL3NyYy90YWcuYyBcCisJbGliYmxraWQvc3JjL3ZlcmlmeS5jIFwKKwlsaWJibGtpZC9zcmMvdmVyc2lvbi5jIFwKKwlcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYWl4LmMgXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2FpeC5oIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9hdGFyaS5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9ic2QuYyBcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvZG9zLmMgXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2dwdC5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9tYWMuYyBcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvbWluaXguYyBcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvcGFydGl0aW9ucy5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmggXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3NnaS5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9zb2xhcmlzX3g4Ni5jIFwKKwlsaWJibGtpZC9zcmMvcGFydGl0aW9ucy9zdW4uYyBcCisJbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvdWx0cml4LmMgXAorCWxpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3VuaXh3YXJlLmMgXAorCVwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYWRhcHRlY19yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9hcGZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iY2FjaGUuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2JlZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2Jmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYml0bG9ja2VyLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9idHJmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvY3JhbWZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kZGZfcmFpZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZHJiZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZHJiZHByb3h5X2RhdGFsb2cuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmRtYW5hZ2UuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2V4ZmF0LmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9leGZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9leHQuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2YyZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2dmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaGZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9oaWdocG9pbnRfcmFpZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaHBmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXNvOTY2MC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXN3X3JhaWQuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2pmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvam1pY3Jvbl9yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9saW51eF9yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9sc2lfcmFpZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHVrcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHZtLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9taW5peC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbXBvb2wuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL25ldHdhcmUuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL25pbGZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9udGZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yZWZzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9udmlkaWFfcmFpZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvb2Nmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvcHJvbWlzZV9yYWlkLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yZWlzZXJmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvcm9tZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3NpbGljb25fcmFpZC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3F1YXNoZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N0cmF0aXMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N1cGVyYmxvY2tzLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zdXBlcmJsb2Nrcy5oIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3dhcC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3lzdi5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWJpLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91Ymlmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWRmLmMgXAorCWxpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91ZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Zkby5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmZhdC5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmlhX3JhaWQuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3ZtZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Z4ZnMuYyBcCisJbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3hmcy5jIFwKKwlsaWJibGtpZC9zcmMvc3VwZXJibG9ja3MvemZzLmMgXAorCVwKKwlsaWJibGtpZC9zcmMvdG9wb2xvZ3kvdG9wb2xvZ3kuYyBcCisJbGliYmxraWQvc3JjL3RvcG9sb2d5L3RvcG9sb2d5LmgKKworaWYgTElOVVgKK2xpYmJsa2lkX2xhX1NPVVJDRVMgKz0gXAorCWxpYmJsa2lkL3NyYy90b3BvbG9neS9kbS5jIFwKKwlsaWJibGtpZC9zcmMvdG9wb2xvZ3kvZXZtcy5jIFwKKwlsaWJibGtpZC9zcmMvdG9wb2xvZ3kvaW9jdGwuYyBcCisJbGliYmxraWQvc3JjL3RvcG9sb2d5L2x2bS5jIFwKKwlsaWJibGtpZC9zcmMvdG9wb2xvZ3kvbWQuYyBcCisJbGliYmxraWQvc3JjL3RvcG9sb2d5L3N5c2ZzLmMKK2VuZGlmCisKK2xpYmJsa2lkX2xhX0xJQkFERCA9IGxpYmNvbW1vbi5sYQorCitFWFRSQV9saWJibGtpZF9sYV9ERVBFTkRFTkNJRVMgPSBcCisJbGliYmxraWQvc3JjL2xpYmJsa2lkLnN5bQorCitsaWJibGtpZF9sYV9DRkxBR1MgPSBcCisJJChBTV9DRkxBR1MpIFwKKwkkKFNPTElCX0NGTEFHUykgXAorCS1JJCh1bF9saWJibGtpZF9pbmNkaXIpIFwKKwktSSQodG9wX3NyY2RpcikvbGliYmxraWQvc3JjCisKK2lmIEJVSUxEX0xJQlVVSUQKK2xpYmJsa2lkX2xhX0xJQkFERCArPSBsaWJ1dWlkLmxhCitsaWJibGtpZF9sYV9DRkxBR1MgKz0gLUkkKHVsX2xpYnV1aWRfaW5jZGlyKQorZW5kaWYKKworbGliYmxraWRfbGFfTERGTEFHUyA9ICQoU09MSUJfTERGTEFHUykKK2lmIEhBVkVfVlNDUklQVAorbGliYmxraWRfbGFfTERGTEFHUyArPSAkKFZTQ1JJUFRfTERGTEFHUyksJCh0b3Bfc3JjZGlyKS9saWJibGtpZC9zcmMvbGliYmxraWQuc3ltCitlbmRpZgorbGliYmxraWRfbGFfTERGTEFHUyArPSAtdmVyc2lvbi1pbmZvICQoTElCQkxLSURfVkVSU0lPTl9JTkZPKQorCitFWFRSQV9ESVNUICs9IFwKKwlsaWJibGtpZC9zcmMvbGliYmxraWQuc3ltCisKK2lmIEJVSUxEX0xJQkJMS0lEX1RFU1RTCitjaGVja19QUk9HUkFNUyArPSBcCisJdGVzdF9ibGtpZF9jYWNoZSBcCisJdGVzdF9ibGtpZF9jb25maWcgXAorCXRlc3RfYmxraWRfZGV2IFwKKwl0ZXN0X2Jsa2lkX2Rldm5hbWUgXAorCXRlc3RfYmxraWRfZGV2bm8gXAorCXRlc3RfYmxraWRfZXZhbHVhdGUgXAorCXRlc3RfYmxraWRfcmVhZCBcCisJdGVzdF9ibGtpZF9yZXNvbHZlIFwKKwl0ZXN0X2Jsa2lkX3NhdmUgXAorCXRlc3RfYmxraWRfdGFnIFwKKwl0ZXN0X2Jsa2lkX3ZlcmlmeQorCitibGtpZF90ZXN0c19jZmxhZ3MgID0gLURURVNUX1BST0dSQU0gJChsaWJibGtpZF9sYV9DRkxBR1MpCitibGtpZF90ZXN0c19sZGZsYWdzID0KK2Jsa2lkX3Rlc3RzX2xkYWRkICAgPSBsaWJibGtpZC5sYQorCitpZiBCVUlMRF9MSUJVVUlECitibGtpZF90ZXN0c19sZGZsYWdzICs9IGxpYnV1aWQubGEKK2Jsa2lkX3Rlc3RzX2xkYWRkICAgKz0gJChMREFERCkKK2VuZGlmCisKK2Jsa2lkX3Rlc3RzX2xkZmxhZ3MgKz0gLXN0YXRpYworCit0ZXN0X2Jsa2lkX2NhY2hlX1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvY2FjaGUuYwordGVzdF9ibGtpZF9jYWNoZV9DRkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2NmbGFncykKK3Rlc3RfYmxraWRfY2FjaGVfTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfY2FjaGVfTERBREQgPSAkKGJsa2lkX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2Jsa2lkX2NvbmZpZ19TT1VSQ0VTID0gbGliYmxraWQvc3JjL2NvbmZpZy5jCit0ZXN0X2Jsa2lkX2NvbmZpZ19DRkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2NmbGFncykKK3Rlc3RfYmxraWRfY29uZmlnX0xERkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2Jsa2lkX2NvbmZpZ19MREFERCA9ICQoYmxraWRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfYmxraWRfZGV2X1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvZGV2LmMKK3Rlc3RfYmxraWRfZGV2X0NGTEFHUyA9ICQoYmxraWRfdGVzdHNfY2ZsYWdzKQordGVzdF9ibGtpZF9kZXZfTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfZGV2X0xEQUREID0gJChibGtpZF90ZXN0c19sZGFkZCkKKwordGVzdF9ibGtpZF9kZXZuYW1lX1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvZGV2bmFtZS5jCit0ZXN0X2Jsa2lkX2Rldm5hbWVfQ0ZMQUdTID0gJChibGtpZF90ZXN0c19jZmxhZ3MpCit0ZXN0X2Jsa2lkX2Rldm5hbWVfTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfZGV2bmFtZV9MREFERCA9ICQoYmxraWRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfYmxraWRfZGV2bm9fU09VUkNFUyA9IGxpYmJsa2lkL3NyYy9kZXZuby5jCit0ZXN0X2Jsa2lkX2Rldm5vX0NGTEFHUyA9ICQoYmxraWRfdGVzdHNfY2ZsYWdzKQordGVzdF9ibGtpZF9kZXZub19MREZMQUdTID0gJChibGtpZF90ZXN0c19sZGZsYWdzKQordGVzdF9ibGtpZF9kZXZub19MREFERCA9ICQoYmxraWRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfYmxraWRfZXZhbHVhdGVfU09VUkNFUyA9IGxpYmJsa2lkL3NyYy9ldmFsdWF0ZS5jCit0ZXN0X2Jsa2lkX2V2YWx1YXRlX0NGTEFHUyA9ICQoYmxraWRfdGVzdHNfY2ZsYWdzKQordGVzdF9ibGtpZF9ldmFsdWF0ZV9MREZMQUdTID0gJChibGtpZF90ZXN0c19sZGZsYWdzKQordGVzdF9ibGtpZF9ldmFsdWF0ZV9MREFERCA9ICQoYmxraWRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfYmxraWRfcmVhZF9TT1VSQ0VTID0gbGliYmxraWQvc3JjL3JlYWQuYwordGVzdF9ibGtpZF9yZWFkX0NGTEFHUyA9ICQoYmxraWRfdGVzdHNfY2ZsYWdzKQordGVzdF9ibGtpZF9yZWFkX0xERkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2Jsa2lkX3JlYWRfTERBREQgPSAkKGJsa2lkX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2Jsa2lkX3Jlc29sdmVfU09VUkNFUyA9IGxpYmJsa2lkL3NyYy9yZXNvbHZlLmMKK3Rlc3RfYmxraWRfcmVzb2x2ZV9DRkxBR1MgPSAkKGJsa2lkX3Rlc3RzX2NmbGFncykKK3Rlc3RfYmxraWRfcmVzb2x2ZV9MREZMQUdTID0gJChibGtpZF90ZXN0c19sZGZsYWdzKQordGVzdF9ibGtpZF9yZXNvbHZlX0xEQUREID0gJChibGtpZF90ZXN0c19sZGFkZCkKKwordGVzdF9ibGtpZF9zYXZlX1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvc2F2ZS5jCit0ZXN0X2Jsa2lkX3NhdmVfQ0ZMQUdTID0gJChibGtpZF90ZXN0c19jZmxhZ3MpCit0ZXN0X2Jsa2lkX3NhdmVfTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfc2F2ZV9MREFERCA9ICQoYmxraWRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfYmxraWRfdGFnX1NPVVJDRVMgPSBsaWJibGtpZC9zcmMvdGFnLmMKK3Rlc3RfYmxraWRfdGFnX0NGTEFHUyA9ICQoYmxraWRfdGVzdHNfY2ZsYWdzKQordGVzdF9ibGtpZF90YWdfTERGTEFHUyA9ICQoYmxraWRfdGVzdHNfbGRmbGFncykKK3Rlc3RfYmxraWRfdGFnX0xEQUREID0gJChibGtpZF90ZXN0c19sZGFkZCkKKwordGVzdF9ibGtpZF92ZXJpZnlfU09VUkNFUyA9IGxpYmJsa2lkL3NyYy92ZXJpZnkuYwordGVzdF9ibGtpZF92ZXJpZnlfQ0ZMQUdTID0gJChibGtpZF90ZXN0c19jZmxhZ3MpCit0ZXN0X2Jsa2lkX3ZlcmlmeV9MREZMQUdTID0gJChibGtpZF90ZXN0c19sZGZsYWdzKQordGVzdF9ibGtpZF92ZXJpZnlfTERBREQgPSAkKGJsa2lkX3Rlc3RzX2xkYWRkKQorCitlbmRpZiAjIEJVSUxEX0xJQkJMS0lEX1RFU1RTCisKKworIyBtb3ZlIGxpYiBmcm9tICQodXNybGliX2V4ZWNkaXIpIHRvICQobGliZGlyKSBpZiBuZWVkZWQKK2luc3RhbGwtZXhlYy1ob29rLWxpYmJsa2lkOgorCWlmIHRlc3QgIiQodXNybGliX2V4ZWNkaXIpIiAhPSAiJChsaWJkaXIpIiAtYSAtZiAiJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYmJsa2lkLnNvIjsgdGhlbiBcCisJCSQoTUtESVJfUCkgJChERVNURElSKSQobGliZGlyKTsgXAorCQltdiAkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikvbGliYmxraWQuc28uKiAkKERFU1RESVIpJChsaWJkaXIpOyBcCisJCXNvX2ltZ19uYW1lPSQkKHJlYWRsaW5rICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKS9saWJibGtpZC5zbyk7IFwKKwkJc29faW1nX3JlbF90YXJnZXQ9JCQoZWNobyAkKHVzcmxpYl9leGVjZGlyKSB8IHNlZCAncyxcKF4vXHxcKVteL11bXi9dKiwuLixnJyk7IFwKKwkJKGNkICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKSAmJiBcCisJCQlybSAtZiBsaWJibGtpZC5zbyAmJiBcCisJCQkkKExOX1MpICQkc29faW1nX3JlbF90YXJnZXQkKGxpYmRpcikvJCRzb19pbWdfbmFtZSBsaWJibGtpZC5zbyk7IFwKKwlmaQorCit1bmluc3RhbGwtaG9vay1saWJibGtpZDoKKwlybSAtZiAkKERFU1RESVIpJChsaWJkaXIpL2xpYmJsa2lkLnNvKgorCitJTlNUQUxMX0VYRUNfSE9PS1MgKz0gaW5zdGFsbC1leGVjLWhvb2stbGliYmxraWQKK1VOSU5TVEFMTF9IT09LUyArPSB1bmluc3RhbGwtaG9vay1saWJibGtpZApkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2Jsa2lkLmguaW4gYi9saWJibGtpZC9zcmMvYmxraWQuaC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMzViNzEzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2Jsa2lkLmguaW4KQEAgLTAsMCArMSw0NjEgQEAKKy8qCisgKiBibGtpZC5oIC0gSW50ZXJmYWNlIGZvciBsaWJibGtpZCwgYSBsaWJyYXJ5IHRvIGlkZW50aWZ5IGJsb2NrIGRldmljZXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwMyBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BICAwMjExMC0xMzAxICBVU0EKKyAqLworCisjaWZuZGVmIF9CTEtJRF9CTEtJRF9ICisjZGVmaW5lIF9CTEtJRF9CTEtJRF9ICisKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisjZGVmaW5lIEJMS0lEX1ZFUlNJT04gICAiQExJQkJMS0lEX1ZFUlNJT05AIgorI2RlZmluZSBCTEtJRF9EQVRFICAgICAgIkBMSUJCTEtJRF9EQVRFQCIKKworLyoqCisgKiBibGtpZF9kZXY6CisgKgorICogVGhlIGRldmljZSBvYmplY3Qga2VlcHMgaW5mb3JtYXRpb24gYWJvdXQgb25lIGRldmljZQorICovCit0eXBlZGVmIHN0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2ICpibGtpZF9kZXY7CisKKy8qKgorICogYmxraWRfY2FjaGU6CisgKgorICogaW5mb3JtYXRpb24gYWJvdXQgYWxsIHN5c3RlbSBkZXZpY2VzCisgKi8KK3R5cGVkZWYgc3RydWN0IGJsa2lkX3N0cnVjdF9jYWNoZSAqYmxraWRfY2FjaGU7CisKKy8qKgorICogYmxraWRfcHJvYmU6CisgKgorICogbG93LWxldmVsIHByb2Jpbmcgc2V0dGluZworICovCit0eXBlZGVmIHN0cnVjdCBibGtpZF9zdHJ1Y3RfcHJvYmUgKmJsa2lkX3Byb2JlOworCisvKioKKyAqIGJsa2lkX3RvcG9sb2d5OgorICoKKyAqIGRldmljZSB0b3BvbG9neSBpbmZvcm1hdGlvbgorICovCit0eXBlZGVmIHN0cnVjdCBibGtpZF9zdHJ1Y3RfdG9wb2xvZ3kgKmJsa2lkX3RvcG9sb2d5OworCisvKioKKyAqIGJsa2lkX3BhcnRsaXN0CisgKgorICogbGlzdCBvZiBhbGwgZGV0ZWN0ZWQgcGFydGl0aW9ucyBhbmQgcGFydGl0aW9ucyB0YWJsZXMKKyAqLwordHlwZWRlZiBzdHJ1Y3QgYmxraWRfc3RydWN0X3BhcnRsaXN0ICpibGtpZF9wYXJ0bGlzdDsKKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb246CisgKgorICogaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24KKyAqLwordHlwZWRlZiBzdHJ1Y3QgYmxraWRfc3RydWN0X3BhcnRpdGlvbiAqYmxraWRfcGFydGl0aW9uOworCisvKioKKyAqIGJsa2lkX3BhcnR0YWJsZToKKyAqCisgKiBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiB0YWJsZQorICovCit0eXBlZGVmIHN0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydHRhYmxlICpibGtpZF9wYXJ0dGFibGU7CisKKy8qKgorICogYmxraWRfbG9mZl90OgorICoKKyAqIDY0LWJpdCBzaWduZWQgbnVtYmVyIGZvciBvZmZzZXRzIGFuZCBzaXplcworICovCit0eXBlZGVmIGludDY0X3QgYmxraWRfbG9mZl90OworCisvKioKKyAqIGJsa2lkX3RhZ19pdGVyYXRlOgorICoKKyAqIHRhZ3MgaXRlcmF0b3IgZm9yIGhpZ2gtbGV2ZWwgKGJsa2lkX2NhY2hlKSBBUEkKKyAqLwordHlwZWRlZiBzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZ19pdGVyYXRlICpibGtpZF90YWdfaXRlcmF0ZTsKKworLyoqCisgKiBibGtpZF9kZXZfaXRlcmF0ZToKKyAqCisgKiBkZXZpY2VzIGl0ZXJhdG9yIGZvciBoaWdoLWxldmVsIChibGtpZF9jYWNoZSkgQVBJCisgKi8KK3R5cGVkZWYgc3RydWN0IGJsa2lkX3N0cnVjdF9kZXZfaXRlcmF0ZSAqYmxraWRfZGV2X2l0ZXJhdGU7CisKKy8qCisgKiBGbGFncyBmb3IgYmxraWRfZ2V0X2RldgorICoKKyAqIEJMS0lEX0RFVl9DUkVBVEUJQ3JlYXRlIGFuIGVtcHR5IGRldmljZSBzdHJ1Y3R1cmUgaWYgbm90IGZvdW5kCisgKgkJCWluIHRoZSBjYWNoZS4KKyAqIEJMS0lEX0RFVl9WRVJJRlkJTWFrZSBzdXJlIHRoZSBkZXZpY2Ugc3RydWN0dXJlIGNvcnJlc3BvbmRzCisgKgkJCXdpdGggcmVhbGl0eS4KKyAqIEJMS0lEX0RFVl9GSU5ECUp1c3QgbG9vayB1cCBhIGRldmljZSBlbnRyeSwgYW5kIHJldHVybiBOVUxMCisgKgkJCWlmIGl0IGlzIG5vdCBmb3VuZC4KKyAqIEJMS0lEX0RFVl9OT1JNQUwJR2V0IGEgdmFsaWQgZGV2aWNlIHN0cnVjdHVyZSwgZWl0aGVyIGZyb20gdGhlCisgKgkJCWNhY2hlIG9yIGJ5IHByb2JpbmcgdGhlIGRldmljZS4KKyAqLworI2RlZmluZSBCTEtJRF9ERVZfRklORAkJMHgwMDAwCisjZGVmaW5lIEJMS0lEX0RFVl9DUkVBVEUJMHgwMDAxCisjZGVmaW5lIEJMS0lEX0RFVl9WRVJJRlkJMHgwMDAyCisjZGVmaW5lIEJMS0lEX0RFVl9OT1JNQUwJKEJMS0lEX0RFVl9DUkVBVEUgfCBCTEtJRF9ERVZfVkVSSUZZKQorCisKKyNpZm5kZWYgX19HTlVDX1BSRVJFUQorIyBpZiBkZWZpbmVkIF9fR05VQ19fICYmIGRlZmluZWQgX19HTlVDX01JTk9SX18KKyMgIGRlZmluZSBfX0dOVUNfUFJFUkVRKG1haiwgbWluKSAgKChfX0dOVUNfXyA8PCAxNikgKyBfX0dOVUNfTUlOT1JfXyA+PSAoKG1haikgPDwgMTYpICsgKG1pbikpCisjIGVsc2UKKyMgIGRlZmluZSBfX0dOVUNfUFJFUkVRKG1haiwgbWluKSAwCisjIGVuZGlmCisjZW5kaWYKKworI2lmbmRlZiBfX3VsX2F0dHJpYnV0ZV9fCisjIGlmIF9fR05VQ19QUkVSRVEgKDMsIDQpCisjICBkZWZpbmUgX191bF9hdHRyaWJ1dGVfXyhfYV8pIF9fYXR0cmlidXRlX18oX2FfKQorIyBlbHNlCisjICBkZWZpbmUgX191bF9hdHRyaWJ1dGVfXyhfYV8pCisjIGVuZGlmCisjZW5kaWYKKworLyogY2FjaGUuYyAqLworZXh0ZXJuIHZvaWQgYmxraWRfaW5pdF9kZWJ1ZyhpbnQgbWFzayk7CitleHRlcm4gdm9pZCBibGtpZF9wdXRfY2FjaGUoYmxraWRfY2FjaGUgY2FjaGUpOworZXh0ZXJuIGludCBibGtpZF9nZXRfY2FjaGUoYmxraWRfY2FjaGUgKmNhY2hlLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CitleHRlcm4gdm9pZCBibGtpZF9nY19jYWNoZShibGtpZF9jYWNoZSBjYWNoZSk7CisKKy8qIGRldi5jICovCitleHRlcm4gY29uc3QgY2hhciAqYmxraWRfZGV2X2Rldm5hbWUoYmxraWRfZGV2IGRldikKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gYmxraWRfZGV2X2l0ZXJhdGUgYmxraWRfZGV2X2l0ZXJhdGVfYmVnaW4oYmxraWRfY2FjaGUgY2FjaGUpOworZXh0ZXJuIGludCBibGtpZF9kZXZfc2V0X3NlYXJjaChibGtpZF9kZXZfaXRlcmF0ZSBpdGVyLAorCQkJCWNvbnN0IGNoYXIgKnNlYXJjaF90eXBlLCBjb25zdCBjaGFyICpzZWFyY2hfdmFsdWUpOworZXh0ZXJuIGludCBibGtpZF9kZXZfbmV4dChibGtpZF9kZXZfaXRlcmF0ZSBpdGVyYXRlLCBibGtpZF9kZXYgKmRldik7CitleHRlcm4gdm9pZCBibGtpZF9kZXZfaXRlcmF0ZV9lbmQoYmxraWRfZGV2X2l0ZXJhdGUgaXRlcmF0ZSk7CisKKy8qIGRldm5vLmMgKi8KK2V4dGVybiBjaGFyICpibGtpZF9kZXZub190b19kZXZuYW1lKGRldl90IGRldm5vKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gaW50IGJsa2lkX2Rldm5vX3RvX3dob2xlZGlzayhkZXZfdCBkZXYsIGNoYXIgKmRpc2tuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZV90IGxlbiwgZGV2X3QgKmRpc2tkZXZubykKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCisvKiBkZXZuYW1lLmMgKi8KK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfYWxsKGJsa2lkX2NhY2hlIGNhY2hlKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfYWxsX25ldyhibGtpZF9jYWNoZSBjYWNoZSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2FsbF9yZW1vdmFibGUoYmxraWRfY2FjaGUgY2FjaGUpOworCitleHRlcm4gYmxraWRfZGV2IGJsa2lkX2dldF9kZXYoYmxraWRfY2FjaGUgY2FjaGUsIGNvbnN0IGNoYXIgKmRldm5hbWUsIGludCBmbGFncyk7CisKKy8qIGdldHNpemUuYyAqLworZXh0ZXJuIGJsa2lkX2xvZmZfdCBibGtpZF9nZXRfZGV2X3NpemUoaW50IGZkKTsKKworLyogdmVyaWZ5LmMgKi8KK2V4dGVybiBibGtpZF9kZXYgYmxraWRfdmVyaWZ5KGJsa2lkX2NhY2hlIGNhY2hlLCBibGtpZF9kZXYgZGV2KTsKKworLyogcmVhZC5jICovCisKKy8qIHJlc29sdmUuYyAqLworZXh0ZXJuIGNoYXIgKmJsa2lkX2dldF90YWdfdmFsdWUoYmxraWRfY2FjaGUgY2FjaGUsIGNvbnN0IGNoYXIgKnRhZ25hbWUsCisJCQkJICAgICAgIGNvbnN0IGNoYXIgKmRldm5hbWUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBjaGFyICpibGtpZF9nZXRfZGV2bmFtZShibGtpZF9jYWNoZSBjYWNoZSwgY29uc3QgY2hhciAqdG9rZW4sCisJCQkgICAgICAgY29uc3QgY2hhciAqdmFsdWUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworLyogdGFnLmMgKi8KK2V4dGVybiBibGtpZF90YWdfaXRlcmF0ZSBibGtpZF90YWdfaXRlcmF0ZV9iZWdpbihibGtpZF9kZXYgZGV2KTsKK2V4dGVybiBpbnQgYmxraWRfdGFnX25leHQoYmxraWRfdGFnX2l0ZXJhdGUgaXRlcmF0ZSwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKip0eXBlLCBjb25zdCBjaGFyICoqdmFsdWUpOworZXh0ZXJuIHZvaWQgYmxraWRfdGFnX2l0ZXJhdGVfZW5kKGJsa2lkX3RhZ19pdGVyYXRlIGl0ZXJhdGUpOworZXh0ZXJuIGludCBibGtpZF9kZXZfaGFzX3RhZyhibGtpZF9kZXYgZGV2LCBjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFyICp2YWx1ZSk7CisKK2V4dGVybiBibGtpZF9kZXYgYmxraWRfZmluZF9kZXZfd2l0aF90YWcoYmxraWRfY2FjaGUgY2FjaGUsCisJCQkJCSBjb25zdCBjaGFyICp0eXBlLAorCQkJCQkgY29uc3QgY2hhciAqdmFsdWUpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnNlX3RhZ19zdHJpbmcoY29uc3QgY2hhciAqdG9rZW4sIGNoYXIgKipyZXRfdHlwZSwgY2hhciAqKnJldF92YWwpOworCisvKiB2ZXJzaW9uLmMgKi8KK2V4dGVybiBpbnQgYmxraWRfcGFyc2VfdmVyc2lvbl9zdHJpbmcoY29uc3QgY2hhciAqdmVyX3N0cmluZykKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfZ2V0X2xpYnJhcnlfdmVyc2lvbihjb25zdCBjaGFyICoqdmVyX3N0cmluZywKKwkJCQkgICAgIGNvbnN0IGNoYXIgKipkYXRlX3N0cmluZyk7CisKKy8qIGVuY29kZS5jICovCitleHRlcm4gaW50IGJsa2lkX2VuY29kZV9zdHJpbmcoY29uc3QgY2hhciAqc3RyLCBjaGFyICpzdHJfZW5jLCBzaXplX3QgbGVuKTsKK2V4dGVybiBpbnQgYmxraWRfc2FmZV9zdHJpbmcoY29uc3QgY2hhciAqc3RyLCBjaGFyICpzdHJfc2FmZSwgc2l6ZV90IGxlbik7CisKKy8qIGV2YWx1YXRlLmMgKi8KK2V4dGVybiBpbnQgYmxraWRfc2VuZF91ZXZlbnQoY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqYWN0aW9uKTsKK2V4dGVybiBjaGFyICpibGtpZF9ldmFsdWF0ZV90YWcoY29uc3QgY2hhciAqdG9rZW4sIGNvbnN0IGNoYXIgKnZhbHVlLAorCQkJCWJsa2lkX2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKmJsa2lkX2V2YWx1YXRlX3NwZWMoY29uc3QgY2hhciAqc3BlYywgYmxraWRfY2FjaGUgKmNhY2hlKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKKy8qIHByb2JlLmMgKi8KK2V4dGVybiBibGtpZF9wcm9iZSBibGtpZF9uZXdfcHJvYmUodm9pZCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGJsa2lkX3Byb2JlIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiB2b2lkIGJsa2lkX2ZyZWVfcHJvYmUoYmxraWRfcHJvYmUgcHIpOworCitleHRlcm4gdm9pZCBibGtpZF9yZXNldF9wcm9iZShibGtpZF9wcm9iZSBwcik7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcnMoYmxraWRfcHJvYmUgcHIpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9oaWRlX3JhbmdlKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IGxlbik7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X2RldmljZShibGtpZF9wcm9iZSBwciwgaW50IGZkLAorCSAgICAgICAgICAgICAgICBibGtpZF9sb2ZmX3Qgb2ZmLCBibGtpZF9sb2ZmX3Qgc2l6ZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGRldl90IGJsa2lkX3Byb2JlX2dldF9kZXZubyhibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGRldl90IGJsa2lkX3Byb2JlX2dldF93aG9sZWRpc2tfZGV2bm8oYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gYmxraWRfbG9mZl90IGJsa2lkX3Byb2JlX2dldF9zaXplKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGJsa2lkX2xvZmZfdCBibGtpZF9wcm9iZV9nZXRfb2Zmc2V0KGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIHVuc2lnbmVkIGludCBibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZShibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X3NlY3RvcnNpemUoYmxraWRfcHJvYmUgcHIsIHVuc2lnbmVkIGludCBzeikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9sb2ZmX3QgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnMoYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfZ2V0X2ZkKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCisvKgorICogc3VwZXJibG9ja3MgcHJvYmluZworICovCitleHRlcm4gaW50IGJsa2lkX2tub3duX2ZzdHlwZShjb25zdCBjaGFyICpmc3R5cGUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfc3VwZXJibG9ja3NfZ2V0X25hbWUoc2l6ZV90IGlkeCwgY29uc3QgY2hhciAqKm5hbWUsIGludCAqdXNhZ2UpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhibGtpZF9wcm9iZSBwciwgaW50IGVuYWJsZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworI2RlZmluZSBCTEtJRF9TVUJMS1NfTEFCRUwJKDEgPDwgMSkgLyogcmVhZCBMQUJFTCBmcm9tIHN1cGVyYmxvY2sgKi8KKyNkZWZpbmUgQkxLSURfU1VCTEtTX0xBQkVMUkFXCSgxIDw8IDIpIC8qIHJlYWQgYW5kIGRlZmluZSBMQUJFTF9SQVcgcmVzdWx0IHZhbHVlKi8KKyNkZWZpbmUgQkxLSURfU1VCTEtTX1VVSUQJKDEgPDwgMykgLyogcmVhZCBVVUlEIGZyb20gc3VwZXJibG9jayAqLworI2RlZmluZSBCTEtJRF9TVUJMS1NfVVVJRFJBVwkoMSA8PCA0KSAvKiByZWFkIGFuZCBkZWZpbmUgVVVJRF9SQVcgcmVzdWx0IHZhbHVlICovCisjZGVmaW5lIEJMS0lEX1NVQkxLU19UWVBFCSgxIDw8IDUpIC8qIGRlZmluZSBUWVBFIHJlc3VsdCB2YWx1ZSAqLworI2RlZmluZSBCTEtJRF9TVUJMS1NfU0VDVFlQRQkoMSA8PCA2KSAvKiBkZWZpbmUgY29tcGF0aWJsZSBmcyB0eXBlIChzZWNvbmQgdHlwZSkgKi8KKyNkZWZpbmUgQkxLSURfU1VCTEtTX1VTQUdFCSgxIDw8IDcpIC8qIGRlZmluZSBVU0FHRSByZXN1bHQgdmFsdWUgKi8KKyNkZWZpbmUgQkxLSURfU1VCTEtTX1ZFUlNJT04JKDEgPDwgOCkgLyogcmVhZCBGUyB0eXBlIGZyb20gc3VwZXJibG9jayAqLworI2RlZmluZSBCTEtJRF9TVUJMS1NfTUFHSUMJKDEgPDwgOSkgLyogZGVmaW5lIFNCTUFHSUMgYW5kIFNCTUFHSUNfT0ZGU0VUICovCisjZGVmaW5lIEJMS0lEX1NVQkxLU19CQURDU1VNCSgxIDw8IDEwKSAvKiBhbGxvdyBhIGJhZCBjaGVja3N1bSAqLworCisjZGVmaW5lIEJMS0lEX1NVQkxLU19ERUZBVUxUCShCTEtJRF9TVUJMS1NfTEFCRUwgfCBCTEtJRF9TVUJMS1NfVVVJRCB8IFwKKwkJCQkgQkxLSURfU1VCTEtTX1RZUEUgfCBCTEtJRF9TVUJMS1NfU0VDVFlQRSkKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MoYmxraWRfcHJvYmUgcHIsIGludCBmbGFncykKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfcmVzZXRfc3VwZXJibG9ja3NfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9pbnZlcnRfc3VwZXJibG9ja3NfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCisvKioKKyAqIEJMS0lEX0ZMVFJfTk9USU4KKyAqLworI2RlZmluZSBCTEtJRF9GTFRSX05PVElOCQkxCisvKioKKyAqIEJMS0lEX0ZMVFJfT05MWUlOCisgKi8KKyNkZWZpbmUgQkxLSURfRkxUUl9PTkxZSU4JCTIKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3R5cGUoYmxraWRfcHJvYmUgcHIsIGludCBmbGFnLCBjaGFyICpuYW1lc1tdKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCisjZGVmaW5lIEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0JCSgxIDw8IDEpCisjZGVmaW5lIEJMS0lEX1VTQUdFX1JBSUQJCSgxIDw8IDIpCisjZGVmaW5lIEJMS0lEX1VTQUdFX0NSWVBUTwkJKDEgPDwgMykKKyNkZWZpbmUgQkxLSURfVVNBR0VfT1RIRVIJCSgxIDw8IDQpCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc191c2FnZShibGtpZF9wcm9iZSBwciwgaW50IGZsYWcsIGludCB1c2FnZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyoKKyAqIHRvcG9sb2d5IHByb2JpbmcKKyAqLworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9lbmFibGVfdG9wb2xvZ3koYmxraWRfcHJvYmUgcHIsIGludCBlbmFibGUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKy8qIGJpbmFyeSBpbnRlcmZhY2UgKi8KK2V4dGVybiBibGtpZF90b3BvbG9neSBibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3koYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiB1bnNpZ25lZCBsb25nIGJsa2lkX3RvcG9sb2d5X2dldF9hbGlnbm1lbnRfb2Zmc2V0KGJsa2lkX3RvcG9sb2d5IHRwKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgYmxraWRfdG9wb2xvZ3lfZ2V0X21pbmltdW1faW9fc2l6ZShibGtpZF90b3BvbG9neSB0cCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGJsa2lkX3RvcG9sb2d5X2dldF9vcHRpbWFsX2lvX3NpemUoYmxraWRfdG9wb2xvZ3kgdHApCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBibGtpZF90b3BvbG9neV9nZXRfbG9naWNhbF9zZWN0b3Jfc2l6ZShibGtpZF90b3BvbG9neSB0cCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIGJsa2lkX3RvcG9sb2d5X2dldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZShibGtpZF90b3BvbG9neSB0cCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyoKKyAqIHBhcnRpdGlvbnMgcHJvYmluZworICovCitleHRlcm4gaW50IGJsa2lkX2tub3duX3B0dHlwZShjb25zdCBjaGFyICpwdHR5cGUpOworZXh0ZXJuIGludCBibGtpZF9wYXJ0aXRpb25zX2dldF9uYW1lKGNvbnN0IHNpemVfdCBpZHgsIGNvbnN0IGNoYXIgKipuYW1lKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhibGtpZF9wcm9iZSBwciwgaW50IGVuYWJsZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9yZXNldF9wYXJ0aXRpb25zX2ZpbHRlcihibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaW52ZXJ0X3BhcnRpdGlvbnNfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9maWx0ZXJfcGFydGl0aW9uc190eXBlKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZywgY2hhciAqbmFtZXNbXSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogcGFydGl0aW9ucyBwcm9iaW5nIGZsYWdzICovCisjZGVmaW5lIEJMS0lEX1BBUlRTX0ZPUkNFX0dQVAkJKDEgPDwgMSkKKyNkZWZpbmUgQkxLSURfUEFSVFNfRU5UUllfREVUQUlMUwkoMSA8PCAyKQorI2RlZmluZSBCTEtJRF9QQVJUU19NQUdJQwkJKDEgPDwgMykKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MoYmxraWRfcHJvYmUgcHIsIGludCBmbGFncykKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogYmluYXJ5IGludGVyZmFjZSAqLworZXh0ZXJuIGJsa2lkX3BhcnRsaXN0IGJsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRsaXN0X251bW9mX3BhcnRpdGlvbnMoYmxraWRfcGFydGxpc3QgbHMpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfcGFydHRhYmxlIGJsa2lkX3BhcnRsaXN0X2dldF90YWJsZShibGtpZF9wYXJ0bGlzdCBscykKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbihibGtpZF9wYXJ0bGlzdCBscywgaW50IG4pCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgbikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZGV2bm9fdG9fcGFydGl0aW9uKGJsa2lkX3BhcnRsaXN0IGxzLCBkZXZfdCBkZXZubykKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9wYXJ0dGFibGUgYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShibGtpZF9wYXJ0aXRpb24gcGFyKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gY29uc3QgY2hhciAqYmxraWRfcGFydGl0aW9uX2dldF9uYW1lKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gY29uc3QgY2hhciAqYmxraWRfcGFydGl0aW9uX2dldF91dWlkKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9nZXRfcGFydG5vKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfbG9mZl90IGJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQoYmxraWRfcGFydGl0aW9uIHBhcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBibGtpZF9sb2ZmX3QgYmxraWRfcGFydGl0aW9uX2dldF9zaXplKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX2dldF90eXBlKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gY29uc3QgY2hhciAqYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZyhibGtpZF9wYXJ0aXRpb24gcGFyKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIHVuc2lnbmVkIGxvbmcgbG9uZyBibGtpZF9wYXJ0aXRpb25fZ2V0X2ZsYWdzKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX2lzX2xvZ2ljYWwoYmxraWRfcGFydGl0aW9uIHBhcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX2lzX2V4dGVuZGVkKGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9pc19wcmltYXJ5KGJsa2lkX3BhcnRpdGlvbiBwYXIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBjb25zdCBjaGFyICpibGtpZF9wYXJ0dGFibGVfZ2V0X3R5cGUoYmxraWRfcGFydHRhYmxlIHRhYikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBjb25zdCBjaGFyICpibGtpZF9wYXJ0dGFibGVfZ2V0X2lkKGJsa2lkX3BhcnR0YWJsZSB0YWIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfbG9mZl90IGJsa2lkX3BhcnR0YWJsZV9nZXRfb2Zmc2V0KGJsa2lkX3BhcnR0YWJsZSB0YWIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnR0YWJsZV9nZXRfcGFyZW50KGJsa2lkX3BhcnR0YWJsZSB0YWIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKy8qCisgKiBOQU1FPXZhbHVlIGxvdy1sZXZlbCBpbnRlcmZhY2UKKyAqLworZXh0ZXJuIGludCBibGtpZF9kb19wcm9iZShibGtpZF9wcm9iZSBwcikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfZG9fc2FmZXByb2JlKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF9kb19mdWxscHJvYmUoYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9nZXRfdmFsdWUoYmxraWRfcHJvYmUgcHIsIGludCBudW0sIGNvbnN0IGNoYXIgKipuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgY2hhciAqKmRhdGEsIHNpemVfdCAqbGVuKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCgxKSkpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICoqZGF0YSwgc2l6ZV90ICpsZW4pCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKDEsIDIpKSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2hhc192YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfZG9fd2lwZShibGtpZF9wcm9iZSBwciwgaW50IGRyeXJ1bikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc3RlcF9iYWNrKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCisvKgorICogRGVwcmVjYXRlZCBmdW5jdGlvbnMvbWFjcm9zCisgKi8KKyNpZm5kZWYgQkxLSURfRElTQUJMRV9ERVBSRUNBVEVECisKKyNkZWZpbmUgQkxLSURfUFJPQlJFUV9MQUJFTCAgICAgQkxLSURfU1VCTEtTX0xBQkVMCisjZGVmaW5lIEJMS0lEX1BST0JSRVFfTEFCRUxSQVcgIEJMS0lEX1NVQkxLU19MQUJFTFJBVworI2RlZmluZSBCTEtJRF9QUk9CUkVRX1VVSUQgICAgICBCTEtJRF9TVUJMS1NfVVVJRAorI2RlZmluZSBCTEtJRF9QUk9CUkVRX1VVSURSQVcgICBCTEtJRF9TVUJMS1NfVVVJRFJBVworI2RlZmluZSBCTEtJRF9QUk9CUkVRX1RZUEUgICAgICBCTEtJRF9TVUJMS1NfVFlQRQorI2RlZmluZSBCTEtJRF9QUk9CUkVRX1NFQ1RZUEUgICBCTEtJRF9TVUJMS1NfU0VDVFlQRQorI2RlZmluZSBCTEtJRF9QUk9CUkVRX1VTQUdFICAgICBCTEtJRF9TVUJMS1NfVVNBR0UKKyNkZWZpbmUgQkxLSURfUFJPQlJFUV9WRVJTSU9OICAgQkxLSURfU1VCTEtTX1ZFUlNJT04KKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfcmVxdWVzdChibGtpZF9wcm9iZSBwciwgaW50IGZsYWdzKQorCQkJX191bF9hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2ZpbHRlcl91c2FnZShibGtpZF9wcm9iZSBwciwgaW50IGZsYWcsIGludCB1c2FnZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXMoYmxraWRfcHJvYmUgcHIsIGludCBmbGFnLCBjaGFyICpuYW1lc1tdKQorCQkJX191bF9hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2ludmVydF9maWx0ZXIoYmxraWRfcHJvYmUgcHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfcmVzZXRfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQorCQkJX191bF9hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpOworCisjZW5kaWYgLyogQkxLSURfRElTQUJMRV9ERVBSRUNBVEVEICovCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfQkxLSURfQkxLSURfSCAqLwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2Jsa2lkUC5oIGIvbGliYmxraWQvc3JjL2Jsa2lkUC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkMjcyZjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvYmxraWRQLmgKQEAgLTAsMCArMSw1NTggQEAKKy8qCisgKiBibGtpZFAuaCAtIEludGVybmFsIGludGVyZmFjZXMgZm9yIGxpYmJsa2lkCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxIEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMgVGhlb2RvcmUgVHMnbworICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2lmbmRlZiBfQkxLSURfQkxLSURQX0gKKyNkZWZpbmUgX0JMS0lEX0JMS0lEUF9ICisKKy8qIEFsd2F5cyBjb25maXJtIHRoYXQgL2Rldi9kaXNrLWJ5IHN5bWxpbmtzIG1hdGNoIHdpdGggTEFCRUwvVVVJRCBvbiBkZXZpY2UgKi8KKy8qICNkZWZpbmUgQ09ORklHX0JMS0lEX1ZFUklGWV9VREVWIDEgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2lmZGVmIEhBVkVfTElCVVVJRAorIyBpbmNsdWRlIDx1dWlkLmg+CisjZWxzZQorIyBkZWZpbmUgVVVJRF9TVFJfTEVOICAgMzcKKyNlbmRpZgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImJpdG9wcy5oIgkvKiAkKHRvcF9zcmNkaXIpL2luY2x1ZGUvICovCisjaW5jbHVkZSAiYmxrZGV2LmgiCisKKyNpbmNsdWRlICJkZWJ1Zy5oIgorI2luY2x1ZGUgImJsa2lkLmgiCisjaW5jbHVkZSAibGlzdC5oIgorCisvKgorICogVGhpcyBkZXNjcmliZXMgdGhlIGF0dHJpYnV0ZXMgb2YgYSBzcGVjaWZpYyBkZXZpY2UuCisgKiBXZSBjYW4gdHJhdmVyc2UgYWxsIG9mIHRoZSB0YWdzIGJ5IGJpZF90YWdzIChsaW5raW5nIHRvIHRoZSB0YWcgYml0X25hbWVzKS4KKyAqIFRoZSBiaWRfbGFiZWwgYW5kIGJpZF91dWlkIGZpZWxkcyBhcmUgc2hvcnRjdXRzIHRvIHRoZSBMQUJFTCBhbmQgVVVJRCB0YWcKKyAqIHZhbHVlcywgaWYgdGhleSBleGlzdC4KKyAqLworc3RydWN0IGJsa2lkX3N0cnVjdF9kZXYKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkCWJpZF9kZXZzOwkvKiBBbGwgZGV2aWNlcyBpbiB0aGUgY2FjaGUgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCWJpZF90YWdzOwkvKiBBbGwgdGFncyBmb3IgdGhpcyBkZXZpY2UgKi8KKwlibGtpZF9jYWNoZQkJYmlkX2NhY2hlOwkvKiBEZXYgYmVsb25ncyB0byB0aGlzIGNhY2hlICovCisJY2hhcgkJCSpiaWRfbmFtZTsJLyogRGV2aWNlIHJlYWwgcGF0aCAoYXMgdXNlZCBpbiBjYWNoZSkgKi8KKwljaGFyCQkJKmJpZF94bmFtZTsJLyogRGV2aWNlIHBhdGggYXMgdXNlZCBieSBhcHBsaWNhdGlvbiAobWF5YmUgc3ltbGluay4uKSAqLworCWNoYXIJCQkqYmlkX3R5cGU7CS8qIFByZWZlcnJlZCBkZXZpY2UgVFlQRSAqLworCWludAkJCWJpZF9wcmk7CS8qIERldmljZSBwcmlvcml0eSAqLworCWRldl90CQkJYmlkX2Rldm5vOwkvKiBEZXZpY2UgbWFqb3IvbWlub3IgbnVtYmVyICovCisJdGltZV90CQkJYmlkX3RpbWU7CS8qIExhc3QgdXBkYXRlIHRpbWUgb2YgZGV2aWNlICovCisJc3VzZWNvbmRzX3QJCWJpZF91dGltZTsJLyogTGFzdCB1cGRhdGUgdGltZSAobWljcm9zZWNvbmRzKSAqLworCXVuc2lnbmVkIGludAkJYmlkX2ZsYWdzOwkvKiBEZXZpY2Ugc3RhdHVzIGJpdGZsYWdzICovCisJY2hhcgkJCSpiaWRfbGFiZWw7CS8qIFNob3J0Y3V0IHRvIGRldmljZSBMQUJFTCAqLworCWNoYXIJCQkqYmlkX3V1aWQ7CS8qIFNob3J0Y3V0IHRvIGJpbmFyeSBVVUlEICovCit9OworCisjZGVmaW5lIEJMS0lEX0JJRF9GTF9WRVJJRklFRAkweDAwMDEJLyogRGV2aWNlIGRhdGEgdmFsaWRhdGVkIGZyb20gZGlzayAqLworI2RlZmluZSBCTEtJRF9CSURfRkxfSU5WQUxJRAkweDAwMDQJLyogRGV2aWNlIGlzIGludmFsaWQgKi8KKyNkZWZpbmUgQkxLSURfQklEX0ZMX1JFTU9WQUJMRQkweDAwMDgJLyogRGV2aWNlIGFkZGVkIGJ5IGJsa2lkX3Byb2JlX2FsbF9yZW1vdmFibGUoKSAqLworCisvKgorICogRWFjaCB0YWcgZGVmaW5lcyBhIE5BTUU9dmFsdWUgcGFpciBmb3IgYSBwYXJ0aWN1bGFyIGRldmljZS4gIFRoZSB0YWdzCisgKiBhcmUgbGlua2VkIHZpYSBiaXRfbmFtZXMgZm9yIGEgc2luZ2xlIGRldmljZSwgc28gdGhhdCB0cmF2ZXJzaW5nIHRoZQorICogbmFtZXMgbGlzdCB3aWxsIGdldCB5b3UgYSBsaXN0IG9mIGFsbCB0YWdzIGFzc29jaWF0ZWQgd2l0aCBhIGRldmljZS4KKyAqIFRoZXkgYXJlIGFsc28gbGlua2VkIHZpYSBiaXRfdmFsdWVzIGZvciBhbGwgZGV2aWNlcywgc28gb25lIGNhbiBlYXNpbHkKKyAqIHNlYXJjaCBhbGwgdGFncyB3aXRoIGEgZ2l2ZW4gTkFNRSBmb3IgYSBzcGVjaWZpYyB2YWx1ZS4KKyAqLworc3RydWN0IGJsa2lkX3N0cnVjdF90YWcKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkCWJpdF90YWdzOwkvKiBBbGwgdGFncyBmb3IgdGhpcyBkZXZpY2UgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCWJpdF9uYW1lczsJLyogQWxsIHRhZ3Mgd2l0aCBnaXZlbiBOQU1FICovCisJY2hhcgkJCSpiaXRfbmFtZTsJLyogTkFNRSBvZiB0YWcgKHNoYXJlZCkgKi8KKwljaGFyCQkJKmJpdF92YWw7CS8qIHZhbHVlIG9mIHRhZyAqLworCWJsa2lkX2RldgkJYml0X2RldjsJLyogcG9pbnRlciB0byBkZXZpY2UgKi8KK307Cit0eXBlZGVmIHN0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnICpibGtpZF90YWc7CisKKy8qCisgKiBDaGFpbiBJRHMKKyAqLworZW51bSB7CisJQkxLSURfQ0hBSU5fU1VCTEtTLAkvKiBGUy9SQUlEIHN1cGVyYmxvY2tzIChlbmFibGVkIGJ5IGRlZmF1bHQpICovCisJQkxLSURfQ0hBSU5fVE9QTEdZLAkvKiBCbG9jayBkZXZpY2UgdG9wb2xvZ3kgKi8KKwlCTEtJRF9DSEFJTl9QQVJUUywJLyogUGFydGl0aW9uIHRhYmxlcyAqLworCisJQkxLSURfTkNIQUlOUwkJLyogbnVtYmVyIG9mIGNoYWlucyAqLworfTsKKworc3RydWN0IGJsa2lkX2NoYWluIHsKKwljb25zdCBzdHJ1Y3QgYmxraWRfY2hhaW5kcnYgKmRyaXZlcjsJLyogY2hhaW4gZHJpdmVyICovCisKKwlpbnQJCWVuYWJsZWQ7CS8qIGJvb2xlYW4gKi8KKwlpbnQJCWZsYWdzOwkJLyogQkxLSURfPGNoYWluPl8qICovCisJaW50CQliaW5hcnk7CQkvKiBib29sZWFuICovCisJaW50CQlpZHg7CQkvKiBpbmRleCBvZiB0aGUgY3VycmVudCBwcm9iZXIgKG9yIC0xKSAqLworCXVuc2lnbmVkIGxvbmcJKmZsdHI7CQkvKiBmaWx0ZXIgb3IgTlVMTCAqLworCXZvaWQJCSpkYXRhOwkJLyogcHJpdmF0ZSBjaGFpbiBkYXRhIG9yIE5VTEwgKi8KK307CisKKy8qCisgKiBDaGFpbiBkcml2ZXIKKyAqLworc3RydWN0IGJsa2lkX2NoYWluZHJ2IHsKKwljb25zdCBzaXplX3QJaWQ7CQkvKiBCTEtJRF9DSEFJTl8qICovCisJY29uc3QgY2hhcgkqbmFtZTsJCS8qIG5hbWUgb2YgY2hhaW4gKGZvciBkZWJ1ZyBwdXJwb3NlKSAqLworCWNvbnN0IGludAlkZmx0X2ZsYWdzOwkvKiBkZWZhdWx0IGNoYWluIGZsYWdzICovCisJY29uc3QgaW50CWRmbHRfZW5hYmxlZDsJLyogZGVmYXVsdCBlbmFibGVkIGJvb2xlYW4gKi8KKwlpbnQJCWhhc19mbHRyOwkvKiBib29sZWFuICovCisKKwljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICoqaWRpbmZvczsgLyogZGVzY3JpcHRpb24gb2YgcHJvYmluZyBmdW5jdGlvbnMgKi8KKwljb25zdCBzaXplX3QJbmlkaW5mb3M7CS8qIG51bWJlciBvZiBpZGluZm9zICovCisKKwkvKiBkcml2ZXIgb3BlcmF0aW9ucyAqLworCWludAkJKCpwcm9iZSkoYmxraWRfcHJvYmUsIHN0cnVjdCBibGtpZF9jaGFpbiAqKTsKKwlpbnQJCSgqc2FmZXByb2JlKShibGtpZF9wcm9iZSwgc3RydWN0IGJsa2lkX2NoYWluICopOworCXZvaWQJCSgqZnJlZV9kYXRhKShibGtpZF9wcm9iZSwgdm9pZCAqKTsKK307CisKKy8qIGNoYWlucyAqLworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9jaGFpbmRydiBzdXBlcmJsb2Nrc19kcnY7CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2NoYWluZHJ2IHRvcG9sb2d5X2RydjsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfY2hhaW5kcnYgcGFydGl0aW9uc19kcnY7CisKKy8qCisgKiBMb3ctbGV2ZWwgcHJvYmUgcmVzdWx0CisgKi8KK3N0cnVjdCBibGtpZF9wcnZhbAoreworCWNvbnN0IGNoYXIJKm5hbWU7CQkvKiB2YWx1ZSBuYW1lICovCisJdW5zaWduZWQgY2hhcgkqZGF0YTsJCS8qIHZhbHVlIGRhdGEgKi8KKwlzaXplX3QJCWxlbjsJCS8qIGxlbmd0aCBvZiB2YWx1ZSBkYXRhICovCisKKwlzdHJ1Y3QgYmxraWRfY2hhaW4JKmNoYWluOwkJLyogb3duZXIgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkCXBydmFsczsJCS8qIGxpc3Qgb2YgcmVzdWx0cyAqLworfTsKKworLyoKKyAqIEZpbGVzeXN0ZW0gLyBSYWlkIG1hZ2ljIHN0cmluZ3MKKyAqLworc3RydWN0IGJsa2lkX2lkbWFnCit7CisJY29uc3QgY2hhcgkqbWFnaWM7CQkvKiBtYWdpYyBzdHJpbmcgKi8KKwl1bnNpZ25lZCBpbnQJbGVuOwkJLyogbGVuZ3RoIG9mIG1hZ2ljICovCisKKwlsb25nCQlrYm9mZjsJCS8qIGtpbG9ieXRlIG9mZnNldCBvZiBzdXBlcmJsb2NrICovCisJdW5zaWduZWQgaW50CXNib2ZmOwkJLyogYnl0ZSBvZmZzZXQgd2l0aGluIHN1cGVyYmxvY2sgKi8KK307CisKKy8qCisgKiBGaWxlc3lzdGVtIC8gUmFpZCBkZXNjcmlwdGlvbgorICovCitzdHJ1Y3QgYmxraWRfaWRpbmZvCit7CisJY29uc3QgY2hhcgkqbmFtZTsJCS8qIGZzLCByYWlkIG9yIHBhcnRpdGlvbiB0YWJsZSBuYW1lICovCisJaW50CQl1c2FnZTsJCS8qIEJMS0lEX1VTQUdFXyogZmxhZyAqLworCWludAkJZmxhZ3M7CQkvKiBCTEtJRF9JRElORk9fKiBmbGFncyAqLworCWludAkJbWluc3o7CQkvKiBtaW5pbWFsIGRldmljZSBzaXplICovCisKKwkJCQkJLyogcHJvYmUgZnVuY3Rpb24gKi8KKwlpbnQJCSgqcHJvYmVmdW5jKShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpOworCisJc3RydWN0IGJsa2lkX2lkbWFnCW1hZ2ljc1tdOwkvKiBOVUxMIG9yIGFycmF5IHdpdGggbWFnaWMgc3RyaW5ncyAqLworfTsKKworI2RlZmluZSBCTEtJRF9OT05FX01BR0lDCXt7IE5VTEwgfX0KKworLyoKKyAqIHRvbGVyYW50IEZTIC0gY2FuIHNoYXJlIHRoZSBzYW1lIGRldmljZSB3aXRoIG1vcmUgZmlsZXN5c3RlbXMgKGUuZy4gdHlwaWNhbAorICogb24gQ0QtUk9NcykuIFdlIG5lZWQgdGhpcyBmbGFnIHRvIGRldGVjdCBhbWJpdmFsZW50IHJlc3VsdHMgKGUuZy4gdmFsaWQgZmF0CisgKiBhbmQgdmFsaWQgbGludXggc3dhcCBvbiB0aGUgc2FtZSBkZXZpY2UpLgorICovCisjZGVmaW5lIEJMS0lEX0lESU5GT19UT0xFUkFOVAkoMSA8PCAxKQorCitzdHJ1Y3QgYmxraWRfYnVmaW5mbyB7CisJdW5zaWduZWQgY2hhcgkJKmRhdGE7CisJdWludDY0X3QJCW9mZjsKKwl1aW50NjRfdAkJbGVuOworCXN0cnVjdCBsaXN0X2hlYWQJYnVmczsJLyogbGlzdCBvZiBidWZmZXJzICovCit9OworCisvKgorICogTG93LWxldmVsIHByb2JpbmcgY29udHJvbCBzdHJ1Y3QKKyAqLworc3RydWN0IGJsa2lkX3N0cnVjdF9wcm9iZQoreworCWludAkJCWZkOwkJLyogZGV2aWNlIGZpbGUgZGVzY3JpcHRvciAqLworCXVpbnQ2NF90CQlvZmY7CQkvKiBiZWdpbiBvZiBkYXRhIG9uIHRoZSBkZXZpY2UgKi8KKwl1aW50NjRfdAkJc2l6ZTsJCS8qIGVuZCBvZiBkYXRhIG9uIHRoZSBkZXZpY2UgKi8KKworCWRldl90CQkJZGV2bm87CQkvKiBkZXZpY2UgbnVtYmVyIChzdC5zdF9yZGV2KSAqLworCWRldl90CQkJZGlza19kZXZubzsJLyogZGV2bm8gb2YgdGhlIHdob2xlLWRpc2sgb3IgMCAqLworCXVuc2lnbmVkIGludAkJYmxrc3N6OwkJLyogc2VjdG9yIHNpemUgKEJMS1NTWkdFVCBpb2N0bCkgKi8KKwltb2RlX3QJCQltb2RlOwkJLyogc3RydWN0IHN0YXQuc2JfbW9kZSAqLworCisJaW50CQkJZmxhZ3M7CQkvKiBwcml2YXRlIGxpYnJhcnkgZmxhZ3MgKi8KKwlpbnQJCQlwcm9iX2ZsYWdzOwkvKiBhbHdheXMgemVyb2l6ZWQgYnkgYmxraWRfZG9fKigpICovCisKKwl1aW50NjRfdAkJd2lwZV9vZmY7CS8qIGJlZ2luIG9mIHRoZSB3aXBlZCBhcmVhICovCisJdWludDY0X3QJCXdpcGVfc2l6ZTsJLyogc2l6ZSBvZiB0aGUgd2lwZWQgYXJlYSAqLworCXN0cnVjdCBibGtpZF9jaGFpbgkqd2lwZV9jaGFpbjsJLyogc3VwZXJibG9jaywgcGFydGl0aW9uLCAuLi4gKi8KKworCXN0cnVjdCBsaXN0X2hlYWQJYnVmZmVyczsJLyogbGlzdCBvZiBidWZmZXJzICovCisKKwlzdHJ1Y3QgYmxraWRfY2hhaW4JY2hhaW5zW0JMS0lEX05DSEFJTlNdOwkvKiBhcnJheSBvZiBjaGFpbnMgKi8KKwlzdHJ1Y3QgYmxraWRfY2hhaW4JKmN1cl9jaGFpbjsJCS8qIGN1cnJlbnQgY2hhaW4gKi8KKworCXN0cnVjdCBsaXN0X2hlYWQJdmFsdWVzOwkJLyogcmVzdWx0cyAqLworCisJc3RydWN0IGJsa2lkX3N0cnVjdF9wcm9iZSAqcGFyZW50OwkvKiBmb3IgY2xvbmVzICovCisJc3RydWN0IGJsa2lkX3N0cnVjdF9wcm9iZSAqZGlza19wcm9iZTsJLyogd2hvbGUtZGlzayBwcm9iaW5nICovCit9OworCisvKiBwcml2YXRlIGZsYWdzIGxpYnJhcnkgZmxhZ3MgKi8KKyNkZWZpbmUgQkxLSURfRkxfUFJJVkFURV9GRAkoMSA8PCAxKQkvKiBzZWUgYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoKSAqLworI2RlZmluZSBCTEtJRF9GTF9USU5ZX0RFVgkoMSA8PCAyKQkvKiA8PSAxLjQ3TWlCIChmbG9wcHkgb3Igc28pICovCisjZGVmaW5lIEJMS0lEX0ZMX0NEUk9NX0RFVgkoMSA8PCAzKQkvKiBpcyBhIENEL0RWRCBkcml2ZSAqLworI2RlZmluZSBCTEtJRF9GTF9OT1NDQU5fREVWCSgxIDw8IDQpCS8qIGRvIG5vdCBzY2FuIHRoaXMgZGV2aWNlICovCisjZGVmaW5lIEJMS0lEX0ZMX01PRElGX0JVRkYJKDEgPDwgNSkJLyogY2FjaGVkIGJ1ZmZlcmVzIGhhcyBiZWVuIG1vZGlmaWVkICovCisKKy8qIHByaXZhdGUgcGVyLXByb2JpbmcgZmxhZ3MgKi8KKyNkZWZpbmUgQkxLSURfUFJPQkVfRkxfSUdOT1JFX1BUICgxIDw8IDEpCS8qIGlnbm9yZSBwYXJ0aXRpb24gdGFibGUgKi8KKworZXh0ZXJuIGJsa2lkX3Byb2JlIGJsa2lkX2Nsb25lX3Byb2JlKGJsa2lkX3Byb2JlIHBhcmVudCk7CitleHRlcm4gYmxraWRfcHJvYmUgYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19wcm9iZShibGtpZF9wcm9iZSBwcik7CisKKy8qCisgKiBFdmFsdWF0aW9uIG1ldGhvZHMgKGZvciBibGtpZF9ldmFsXyogQVBJKQorICovCitlbnVtIHsKKwlCTEtJRF9FVkFMX1VERVYgPSAwLAorCUJMS0lEX0VWQUxfU0NBTiwKKworCV9fQkxLSURfRVZBTF9MQVNUCit9OworCisvKgorICogTGlicmFyeSBjb25maWcgb3B0aW9ucworICovCitzdHJ1Y3QgYmxraWRfY29uZmlnIHsKKwlpbnQgZXZhbFtfX0JMS0lEX0VWQUxfTEFTVF07CS8qIGFycmF5IHdpdGggRVZBTFVBVElPTj08dWRldixjYWNoZT4gb3B0aW9ucyAqLworCWludCBuZXZhbHM7CQkJLyogbnVtYmVyIG9mIGVsZW1zIGluIGV2YWwgYXJyYXkgKi8KKwlpbnQgdWV2ZW50OwkJCS8qIFNFTkRfVUVWRU5UPTx5ZXN8bm90PiBvcHRpb24gKi8KKwljaGFyICpjYWNoZWZpbGU7CQkvKiBDQUNIRV9GSUxFPTxwYXRoPiBvcHRpb24gKi8KK307CisKK2V4dGVybiBzdHJ1Y3QgYmxraWRfY29uZmlnICpibGtpZF9yZWFkX2NvbmZpZyhjb25zdCBjaGFyICpmaWxlbmFtZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgYmxraWRfZnJlZV9jb25maWcoc3RydWN0IGJsa2lkX2NvbmZpZyAqY29uZik7CisKKy8qCisgKiBNaW5pbXVtIG51bWJlciBvZiBzZWNvbmRzIGJldHdlZW4gZGV2aWNlIHByb2JlcywgZXZlbiB3aGVuIHJlYWRpbmcKKyAqIGZyb20gdGhlIGNhY2hlLiAgVGhpcyBpcyB0byBhdm9pZCByZS1wcm9iaW5nIGFsbCBkZXZpY2VzIHdoaWNoIHdlcmUKKyAqIGp1c3QgcHJvYmVkIGJ5IGFub3RoZXIgcHJvZ3JhbSB0aGF0IGRvZXMgbm90IHNoYXJlIHRoZSBjYWNoZS4KKyAqLworI2RlZmluZSBCTEtJRF9QUk9CRV9NSU4JCTIKKworLyoKKyAqIFRpbWUgaW4gc2Vjb25kcyBhbiBlbnRyeSByZW1haW5zIHZlcmlmaWVkIGluIHRoZSBpbi1tZW1vcnkgY2FjaGUKKyAqIGJlZm9yZSBiZWluZyByZXZlcmlmaWVkIChpbiBjYXNlIG9mIGxvbmctcnVubmluZyBwcm9jZXNzZXMgdGhhdAorICoga2VlcCBhIGNhY2hlIGluIG1lbW9yeSBhbmQgY29udGludWUgdG8gdXNlIGl0IGZvciBhIGxvbmcgdGltZSkuCisgKi8KKyNkZWZpbmUgQkxLSURfUFJPQkVfSU5URVJWQUwJMjAwCisKKy8qIFRoaXMgZGVzY3JpYmVzIGFuIGVudGlyZSBibGtpZCBjYWNoZSBmaWxlIGFuZCBwcm9iZWQgZGV2aWNlcy4KKyAqIFdlIGNhbiB0cmF2ZXJzZSBhbGwgb2YgdGhlIGZvdW5kIGRldmljZXMgdmlhIGJpY19saXN0LgorICogV2UgY2FuIHRyYXZlcnNlIGFsbCBvZiB0aGUgdGFnIHR5cGVzIGJ5IGJpY190YWdzLCB3aGljaCBob2xkIGVtcHR5IHRhZ3MKKyAqIGZvciBlYWNoIHRhZyB0eXBlLiAgVGhvc2UgdGFncyBjYW4gYmUgdXNlZCBhcyBsaXN0X2hlYWRzIGZvciBpdGVyYXRpbmcKKyAqIHRocm91Z2ggYWxsIGRldmljZXMgd2l0aCBhIHNwZWNpZmljIHRhZyB0eXBlIChlLmcuIExBQkVMKS4KKyAqLworc3RydWN0IGJsa2lkX3N0cnVjdF9jYWNoZQoreworCXN0cnVjdCBsaXN0X2hlYWQJYmljX2RldnM7CS8qIExpc3QgaGVhZCBvZiBhbGwgZGV2aWNlcyAqLworCXN0cnVjdCBsaXN0X2hlYWQJYmljX3RhZ3M7CS8qIExpc3QgaGVhZCBvZiBhbGwgdGFnIHR5cGVzICovCisJdGltZV90CQkJYmljX3RpbWU7CS8qIExhc3QgcHJvYmUgdGltZSAqLworCXRpbWVfdAkJCWJpY19mdGltZTsJLyogTW9kIHRpbWUgb2YgdGhlIGNhY2hlZmlsZSAqLworCXVuc2lnbmVkIGludAkJYmljX2ZsYWdzOwkvKiBTdGF0dXMgZmxhZ3Mgb2YgdGhlIGNhY2hlICovCisJY2hhcgkJCSpiaWNfZmlsZW5hbWU7CS8qIGZpbGVuYW1lIG9mIGNhY2hlICovCisJYmxraWRfcHJvYmUJCXByb2JlOwkJLyogbG93LWxldmVsIHByb2Jpbmcgc3R1ZmYgKi8KK307CisKKyNkZWZpbmUgQkxLSURfQklDX0ZMX1BST0JFRAkweDAwMDIJLyogV2UgcHJvYmVkIC9wcm9jL3BhcnRpdGlvbiBkZXZpY2VzICovCisjZGVmaW5lIEJMS0lEX0JJQ19GTF9DSEFOR0VECTB4MDAwNAkvKiBDYWNoZSBoYXMgY2hhbmdlZCBmcm9tIGRpc2sgKi8KKworLyogY29uZmlnIGZpbGUgKi8KKyNkZWZpbmUgQkxLSURfQ09ORklHX0ZJTEUJIi9ldGMvYmxraWQuY29uZiIKKworLyogY2FjaGUgZmlsZSBvbiBzeXN0ZW1kcyB3aXRoIC9ydW4gKi8KKyNkZWZpbmUgQkxLSURfUlVOVElNRV9UT1BESVIJIi9ydW4iCisjZGVmaW5lIEJMS0lEX1JVTlRJTUVfRElSCUJMS0lEX1JVTlRJTUVfVE9QRElSICIvYmxraWQiCisjZGVmaW5lIEJMS0lEX0NBQ0hFX0ZJTEUJQkxLSURfUlVOVElNRV9ESVIgIi9ibGtpZC50YWIiCisKKy8qIG9sZCBzeXN0ZW1zICovCisjZGVmaW5lIEJMS0lEX0NBQ0hFX0ZJTEVfT0xECSIvZXRjL2Jsa2lkLnRhYiIKKworI2RlZmluZSBCTEtJRF9QUk9CRV9PSwkgMAorI2RlZmluZSBCTEtJRF9QUk9CRV9OT05FIDEKKworI2RlZmluZSBCTEtJRF9FUlJfSU8JIDUKKyNkZWZpbmUgQkxLSURfRVJSX1BST0MJIDkKKyNkZWZpbmUgQkxLSURfRVJSX01FTQkxMgorI2RlZmluZSBCTEtJRF9FUlJfQ0FDSEUJMTQKKyNkZWZpbmUgQkxLSURfRVJSX0RFVgkxOQorI2RlZmluZSBCTEtJRF9FUlJfUEFSQU0JMjIKKyNkZWZpbmUgQkxLSURfRVJSX0JJRwkyNworCisvKgorICogUHJpb3JpdHkgc2V0dGluZ3MgZm9yIGRpZmZlcmVudCB0eXBlcyBvZiBkZXZpY2VzCisgKi8KKyNkZWZpbmUgQkxLSURfUFJJX1VCSQk1MAorI2RlZmluZSBCTEtJRF9QUklfRE0JNDAKKyNkZWZpbmUgQkxLSURfUFJJX0VWTVMJMzAKKyNkZWZpbmUgQkxLSURfUFJJX0xWTQkyMAorI2RlZmluZSBCTEtJRF9QUklfTUQJMTAKKworI2RlZmluZSBCTEtJRF9ERUJVR19IRUxQCSgxIDw8IDApCisjZGVmaW5lIEJMS0lEX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgQkxLSURfREVCVUdfQ0FDSEUJKDEgPDwgMikKKyNkZWZpbmUgQkxLSURfREVCVUdfQ09ORklHCSgxIDw8IDMpCisjZGVmaW5lIEJMS0lEX0RFQlVHX0RFVgkJKDEgPDwgNCkKKyNkZWZpbmUgQkxLSURfREVCVUdfREVWTkFNRQkoMSA8PCA1KQorI2RlZmluZSBCTEtJRF9ERUJVR19ERVZOTwkoMSA8PCA2KQorI2RlZmluZSBCTEtJRF9ERUJVR19FVkFMVUFURQkoMSA8PCA3KQorI2RlZmluZSBCTEtJRF9ERUJVR19MT1dQUk9CRQkoMSA8PCA4KQorI2RlZmluZSBCTEtJRF9ERUJVR19QUk9CRQkoMSA8PCA5KQorI2RlZmluZSBCTEtJRF9ERUJVR19SRUFECSgxIDw8IDEwKQorI2RlZmluZSBCTEtJRF9ERUJVR19TQVZFCSgxIDw8IDExKQorI2RlZmluZSBCTEtJRF9ERUJVR19UQUcJCSgxIDw8IDEyKQorI2RlZmluZSBCTEtJRF9ERUJVR19CVUZGRVIJKDEgPDwgMTMpCisjZGVmaW5lIEJMS0lEX0RFQlVHX0FMTAkJMHhGRkZGCQkvKiAoMSA8PCAxNikgYWthIEZGRkYgaXMgZXhwZWN0ZWQgYnkgQVBJICovCisKK1VMX0RFQlVHX0RFQ0xBUkVfTUFTSyhsaWJibGtpZCk7CisjZGVmaW5lIERCRyhtLCB4KQlfX1VMX0RCRyhsaWJibGtpZCwgQkxLSURfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkgICAgX19VTF9EQkdfQ0FMTChsaWJibGtpZCwgQkxLSURfREVCVUdfLCBtLCB4KQorCisjZGVmaW5lIFVMX0RFQlVHX0NVUlJFTlRfTUFTSwlVTF9ERUJVR19NQVNLKGxpYmJsa2lkKQorI2luY2x1ZGUgImRlYnVnb2JqLmgiCisKK2V4dGVybiB2b2lkIGJsa2lkX2RlYnVnX2R1bXBfZGV2KGJsa2lkX2RldiBkZXYpOworCisKKy8qIGRldm5vLmMgKi8KK3N0cnVjdCBkaXJfbGlzdCB7CisJY2hhcgkqbmFtZTsKKwlzdHJ1Y3QgZGlyX2xpc3QgKm5leHQ7Cit9OworZXh0ZXJuIHZvaWQgYmxraWRfX3NjYW5fZGlyKGNoYXIgKiwgZGV2X3QsIHN0cnVjdCBkaXJfbGlzdCAqKiwgY2hhciAqKikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwoMSw0KSkpOworZXh0ZXJuIGludCBibGtpZF9kcml2ZXJfaGFzX21ham9yKGNvbnN0IGNoYXIgKmRydm5hbWUsIGludCBtYWpvcikKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCisvKiBsc2Vlay5jICovCitleHRlcm4gYmxraWRfbG9mZl90IGJsa2lkX2xsc2VlayhpbnQgZmQsIGJsa2lkX2xvZmZfdCBvZmZzZXQsIGludCB3aGVuY2UpOworCisvKiByZWFkLmMgKi8KK2V4dGVybiB2b2lkIGJsa2lkX3JlYWRfY2FjaGUoYmxraWRfY2FjaGUgY2FjaGUpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKy8qIHNhdmUuYyAqLworZXh0ZXJuIGludCBibGtpZF9mbHVzaF9jYWNoZShibGtpZF9jYWNoZSBjYWNoZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogY2FjaGUgKi8KK2V4dGVybiBjaGFyICpibGtpZF9zYWZlX2dldGVudihjb25zdCBjaGFyICphcmcpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gY2hhciAqYmxraWRfZ2V0X2NhY2hlX2ZpbGVuYW1lKHN0cnVjdCBibGtpZF9jb25maWcgKmNvbmYpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKy8qCisgKiBGdW5jdGlvbnMgdG8gY3JlYXRlIGFuZCBmaW5kIGEgc3BlY2lmaWMgdGFnIHR5cGU6IHRhZy5jCisgKi8KK2V4dGVybiB2b2lkIGJsa2lkX2ZyZWVfdGFnKGJsa2lkX3RhZyB0YWcpOworZXh0ZXJuIGJsa2lkX3RhZyBibGtpZF9maW5kX3RhZ19kZXYoYmxraWRfZGV2IGRldiwgY29uc3QgY2hhciAqdHlwZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiBpbnQgYmxraWRfc2V0X3RhZyhibGtpZF9kZXYgZGV2LCBjb25zdCBjaGFyICpuYW1lLAorCQkJIGNvbnN0IGNoYXIgKnZhbHVlLCBjb25zdCBpbnQgdmxlbmd0aCkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwoMSwyKSkpOworCisvKgorICogRnVuY3Rpb25zIHRvIGNyZWF0ZSBhbmQgZmluZCBhIHNwZWNpZmljIHRhZyB0eXBlOiBkZXYuYworICovCitleHRlcm4gYmxraWRfZGV2IGJsa2lkX25ld19kZXYodm9pZCkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgYmxraWRfZnJlZV9kZXYoYmxraWRfZGV2IGRldik7CisKKy8qIHByb2JlLmMgKi8KK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaXNfdGlueShibGtpZF9wcm9iZSBwcikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2lzX2Nkcm9tKGJsa2lkX3Byb2JlIHByKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIHVuc2lnbmVkIGNoYXIgKmJsa2lkX3Byb2JlX2dldF9idWZmZXIoYmxraWRfcHJvYmUgcHIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVpbnQ2NF90IG9mZiwgdWludDY0X3QgbGVuKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIHVuc2lnbmVkIGNoYXIgKmJsa2lkX3Byb2JlX2dldF9zZWN0b3IoYmxraWRfcHJvYmUgcHIsIHVuc2lnbmVkIGludCBzZWN0b3IpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2dldF9kaW1lbnNpb24oYmxraWRfcHJvYmUgcHIsCisJICAgICAgICAgICAgICAgIHVpbnQ2NF90ICpvZmYsIHVpbnQ2NF90ICpzaXplKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NldF9kaW1lbnNpb24oYmxraWRfcHJvYmUgcHIsCisJICAgICAgICAgICAgICAgIHVpbnQ2NF90IG9mZiwgdWludDY0X3Qgc2l6ZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9nZXRfaWRtYWcoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkLAorCQkJdWludDY0X3QgKm9mZnNldCwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICoqcmVzKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCgxKSkpOworCisvKiByZXR1cm5zIHN1cGVyYmxvY2sgYWNjb3JkaW5nIHRvICdzdHJ1Y3QgYmxraWRfaWRtYWcnICovCisjZGVmaW5lIGJsa2lkX3Byb2JlX2dldF9zYihfcHIsIF9tYWcsIHR5cGUpIFwKKwkJCSgodHlwZSAqKSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKChfcHIpLFwKKwkJCQkJKF9tYWcpLT5rYm9mZiA8PCAxMCwgc2l6ZW9mKHR5cGUpKSkKKworZXh0ZXJuIGJsa2lkX3BhcnRsaXN0IGJsa2lkX3Byb2JlX2dldF9wYXJ0bGlzdChibGtpZF9wcm9iZSBwcikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaXNfY292ZXJlZF9ieV9wdChibGtpZF9wcm9iZSBwciwKKwkJCQkJdWludDY0X3Qgb2Zmc2V0LCB1aW50NjRfdCBzaXplKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiB2b2lkIGJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3ZhbHVlcyhibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2NoYWluX3NhdmVfdmFsdWVzKGJsa2lkX3Byb2JlIHByLAorCQkJCSAgICAgICBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiwKKwkJCSAgICAgICAgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZhbHMpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBzdHJ1Y3QgYmxraWRfcHJ2YWwgKmJsa2lkX3Byb2JlX2Fzc2lnbl92YWx1ZShibGtpZF9wcm9iZSBwciwKKwkJCQkJY29uc3QgY2hhciAqbmFtZSkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiB2b2lkIGJsa2lkX3Byb2JlX2ZyZWVfdmFsdWUoc3RydWN0IGJsa2lkX3BydmFsICp2KTsKKworCitleHRlcm4gdm9pZCBibGtpZF9wcm9iZV9hcHBlbmRfdmFsdWVzX2xpc3QoYmxraWRfcHJvYmUgcHIsCisJCQkJICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZhbHMpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiB2b2lkIGJsa2lkX3Byb2JlX2ZyZWVfdmFsdWVzX2xpc3Qoc3RydWN0IGxpc3RfaGVhZCAqdmFscyk7CisKK2V4dGVybiBzdHJ1Y3QgYmxraWRfY2hhaW4gKmJsa2lkX3Byb2JlX2dldF9jaGFpbihibGtpZF9wcm9iZSBwcikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiBzdHJ1Y3QgYmxraWRfcHJ2YWwgKl9fYmxraWRfcHJvYmVfZ2V0X3ZhbHVlKGJsa2lkX3Byb2JlIHByLCBpbnQgbnVtKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIHN0cnVjdCBibGtpZF9wcnZhbCAqX19ibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCitleHRlcm4gdW5zaWduZWQgbG9uZyAqYmxraWRfcHJvYmVfZ2V0X2ZpbHRlcihibGtpZF9wcm9iZSBwciwgaW50IGNoYWluLCBpbnQgY3JlYXRlKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIGludCBfX2Jsa2lkX3Byb2JlX2ludmVydF9maWx0ZXIoYmxraWRfcHJvYmUgcHIsIGludCBjaGFpbikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgX19ibGtpZF9wcm9iZV9yZXNldF9maWx0ZXIoYmxraWRfcHJvYmUgcHIsIGludCBjaGFpbikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgX19ibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXMoYmxraWRfcHJvYmUgcHIsIGludCBjaGFpbiwgaW50IGZsYWcsIGNoYXIgKm5hbWVzW10pCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiB2b2lkICpibGtpZF9wcm9iZV9nZXRfYmluYXJ5X2RhdGEoYmxraWRfcHJvYmUgcHIsIHN0cnVjdCBibGtpZF9jaGFpbiAqY2huKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpCisJCQlfX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIHN0cnVjdCBibGtpZF9wcnZhbCAqYmxraWRfcHJvYmVfbmV3X3ZhbCh2b2lkKQorCQkJX19hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NldF92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQljb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgbGVuKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV92YWx1ZV9zZXRfZGF0YShzdHJ1Y3QgYmxraWRfcHJ2YWwgKnYsCisJCQkJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV92c3ByaW50Zl92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQljb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgYXApCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc3ByaW50Zl92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQljb25zdCBjaGFyICpmbXQsIC4uLikKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKQorCQkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDMsIDQpKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X21hZ2ljKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmZzZXQsCisJCQkJc2l6ZV90IGxlbiwgY29uc3QgdW5zaWduZWQgY2hhciAqbWFnaWMpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfdmVyaWZ5X2NzdW0oYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90IGNzdW0sIHVpbnQ2NF90IGV4cGVjdGVkKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gdm9pZCBibGtpZF91bnBhcnNlX3V1aWQoY29uc3QgdW5zaWduZWQgY2hhciAqdXVpZCwgY2hhciAqc3RyLCBzaXplX3QgbGVuKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBibGtpZF91dWlkX2lzX2VtcHR5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbik7CisKK2V4dGVybiBzaXplX3QgYmxraWRfcnRyaW1fd2hpdGVzcGFjZSh1bnNpZ25lZCBjaGFyICpzdHIpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gc2l6ZV90IGJsa2lkX2x0cmltX3doaXRlc3BhY2UodW5zaWduZWQgY2hhciAqc3RyKQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gdm9pZCBibGtpZF9wcm9iZV9zZXRfd2lwZXIoYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90IG9mZiwKKwkJCQkgIHVpbnQ2NF90IHNpemUpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2lzX3dpcGVkKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKipjaG4sCisJCSAgICAgICAgICAgICAgICB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IHNpemUpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSkKKwkJCV9fYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgYmxraWRfcHJvYmVfdXNlX3dpcGVyKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IHNpemUpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKKy8qIGZpbHRlciBiaXRtYXAgbWFjcm9zICovCisjZGVmaW5lIGJsa2lkX2JtcF93b3Jkc2l6ZQkJKDggKiBzaXplb2YodW5zaWduZWQgbG9uZykpCisjZGVmaW5lIGJsa2lkX2JtcF9pZHhfYml0KGl0ZW0pCQkoMVVMIDw8ICgoaXRlbSkgJSBibGtpZF9ibXBfd29yZHNpemUpKQorI2RlZmluZSBibGtpZF9ibXBfaWR4X2J5dGUoaXRlbSkJKChpdGVtKSAvIGJsa2lkX2JtcF93b3Jkc2l6ZSkKKworI2RlZmluZSBibGtpZF9ibXBfc2V0X2l0ZW0oYm1wLCBpdGVtKQlcCisJCSgoYm1wKVsgYmxraWRfYm1wX2lkeF9ieXRlKGl0ZW0pIF0gfD0gYmxraWRfYm1wX2lkeF9iaXQoaXRlbSkpCisKKyNkZWZpbmUgYmxraWRfYm1wX3Vuc2V0X2l0ZW0oYm1wLCBpdGVtKQlcCisJCSgoYm1wKVsgYmxraWRfYm1wX2lkeF9ieXRlKGl0ZW0pIF0gJj0gfmJsa2lkX2JtcF9pZHhfYml0KGl0ZW0pKQorCisjZGVmaW5lIGJsa2lkX2JtcF9nZXRfaXRlbShibXAsIGl0ZW0pCVwKKwkJKChibXApWyBibGtpZF9ibXBfaWR4X2J5dGUoaXRlbSkgXSAmIGJsa2lkX2JtcF9pZHhfYml0KGl0ZW0pKQorCisjZGVmaW5lIGJsa2lkX2JtcF9ud29yZHMobWF4X2l0ZW1zKSBcCisJCSgoKG1heF9pdGVtcykgKyBibGtpZF9ibXBfd29yZHNpemUpIC8gYmxraWRfYm1wX3dvcmRzaXplKQorCisjZGVmaW5lIGJsa2lkX2JtcF9uYnl0ZXMobWF4X2l0ZW1zKSBcCisJCShibGtpZF9ibXBfbndvcmRzKG1heF9pdGVtcykgKiBzaXplb2YodW5zaWduZWQgbG9uZykpCisKKy8qIGVuY29kZS5jICovCitleHRlcm4gdW5zaWduZWQgY2hhciAqYmxraWRfZW5jb2RlX2FsbG9jKHNpemVfdCBjb3VudCwgc2l6ZV90ICpyZXNsZW4pOworZXh0ZXJuIHNpemVfdCBibGtpZF9lbmNvZGVfdG9fdXRmOChpbnQgZW5jLCB1bnNpZ25lZCBjaGFyICpkZXN0LCBzaXplX3QgbGVuLAorCQkJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnNyYywgc2l6ZV90IGNvdW50KQorCQkJX19hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCisjZGVmaW5lIEJMS0lEX0VOQ19VVEYxNkJFCTAKKyNkZWZpbmUgQkxLSURfRU5DX1VURjE2TEUJMQorI2RlZmluZSBCTEtJRF9FTkNfTEFUSU4xCTIKKworI2VuZGlmIC8qIF9CTEtJRF9CTEtJRFBfSCAqLwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2NhY2hlLmMgYi9saWJibGtpZC9zcmMvY2FjaGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTk5YjkxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2NhY2hlLmMKQEAgLTAsMCArMSwyMjUgQEAKKy8qCisgKiBjYWNoZS5jIC0gYWxsb2NhdGlvbi9pbml0aWFsaXphdGlvbi9mcmVlIHJvdXRpbmVzIGZvciBjYWNoZQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICogQ29weXJpZ2h0IChDKSAyMDAzIFRoZW9kb3JlIFRzJ28KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX0VSUk5PX0gKKyNpbmNsdWRlIDxlcnJuby5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2luY2x1ZGUgImJsa2lkUC5oIgorI2luY2x1ZGUgImVudi5oIgorCisvKioKKyAqIFNFQ1RJT046Y2FjaGUKKyAqIEB0aXRsZTogQ2FjaGUKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogYmFzaWMgcm91dGluZXMgdG8gd29yayB3aXRoIGxpYmJsa2lkIGNhY2hlCisgKgorICogQmxvY2sgZGV2aWNlIGluZm9ybWF0aW9uIGlzIG5vcm1hbGx5IGtlcHQgaW4gYSBjYWNoZSBmaWxlIGJsa2lkLnRhYiBhbmQgaXMKKyAqIHZlcmlmaWVkIHRvIHN0aWxsIGJlIHZhbGlkIGJlZm9yZSBiZWluZyByZXR1cm5lZCB0byB0aGUgdXNlciAoaWYgdGhlIHVzZXIgaGFzCisgKiByZWFkIHBlcm1pc3Npb24gb24gdGhlIHJhdyBibG9jayBkZXZpY2UsIG90aGVyd2lzZSBub3QpLiAgVGhlIGNhY2hlIGZpbGUgYWxzbworICogYWxsb3dzIHVucHJpdmlsZWdlZCB1c2VycyAobm9ybWFsbHkgYW55b25lIG90aGVyIHRoYW4gcm9vdCwgb3IgdGhvc2Ugbm90IGluIHRoZQorICogImRpc2siIGdyb3VwKSB0byBsb2NhdGUgZGV2aWNlcyBieSBsYWJlbC9pZC4gIFRoZSBzdGFuZGFyZCBsb2NhdGlvbiBvZiB0aGUKKyAqIGNhY2hlIGZpbGUgY2FuIGJlIG92ZXJyaWRkZW4gYnkgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEJMS0lEX0ZJTEUuCisgKgorICogSW4gc2l0dWF0aW9ucyB3aGVyZSBvbmUgaXMgZ2V0dGluZyBpbmZvcm1hdGlvbiBhYm91dCBhIHNpbmdsZSBrbm93biBkZXZpY2UsIGl0CisgKiBkb2VzIG5vdCBpbXBhY3QgcGVyZm9ybWFuY2Ugd2hldGhlciB0aGUgY2FjaGUgaXMgdXNlZCBvciBub3QgKHVubGVzcyB5b3UgYXJlCisgKiBub3QgYWJsZSB0byByZWFkIHRoZSBibG9jayBkZXZpY2UgZGlyZWN0bHkpLiAgSWYgeW91IGFyZSBkZWFsaW5nIHdpdGggbXVsdGlwbGUKKyAqIGRldmljZXMsIHVzZSBvZiB0aGUgY2FjaGUgaXMgaGlnaGx5IHJlY29tbWVuZGVkIChldmVuIGlmIGVtcHR5KSBhcyBkZXZpY2VzIHdpbGwKKyAqIGJlIHNjYW5uZWQgYXQgbW9zdCBvbmUgdGltZSBhbmQgdGhlIG9uLWRpc2sgY2FjaGUgd2lsbCBiZSB1cGRhdGVkIGlmIHBvc3NpYmxlLgorICogVGhlcmUgaXMgcmFyZWx5IGEgcmVhc29uIG5vdCB0byB1c2UgdGhlIGNhY2hlLgorICoKKyAqIEluIHNvbWUgY2FzZXMgKG1vZHVsYXIga2VybmVscyksIGJsb2NrIGRldmljZXMgYXJlIG5vdCBldmVuIHZpc2libGUgdW50aWwgYWZ0ZXIKKyAqIHRoZXkgYXJlIGFjY2Vzc2VkIHRoZSBmaXJzdCB0aW1lLCBzbyBpdCBpcyBjcml0aWNhbCB0aGF0IHRoZXJlIGlzIHNvbWUgd2F5IHRvCisgKiBsb2NhdGUgdGhlc2UgZGV2aWNlcyB3aXRob3V0IGVudW1lcmF0aW5nIG9ubHkgdmlzaWJsZSBkZXZpY2VzLCBzbyB0aGUgdXNlIG9mCisgKiB0aGUgY2FjaGUgZmlsZSBpcyByZXF1aXJlZCBpbiB0aGlzIHNpdHVhdGlvbi4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmdldF9kZWZhdWx0X2NhY2hlX2ZpbGVuYW1lKHZvaWQpCit7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoc3RhdChCTEtJRF9SVU5USU1FX1RPUERJUiwgJnN0KSA9PSAwICYmIFNfSVNESVIoc3Quc3RfbW9kZSkpCisJCXJldHVybiBCTEtJRF9DQUNIRV9GSUxFOwkvKiBjYWNoZSBpbiAvcnVuICovCisKKwlyZXR1cm4gQkxLSURfQ0FDSEVfRklMRV9PTEQ7CS8qIGNhY2hlIGluIC9ldGMgKi8KK30KKworLyogcmV0dXJucyBhbGxvY2F0ZWQgcGF0aCB0byBjYWNoZSAqLworY2hhciAqYmxraWRfZ2V0X2NhY2hlX2ZpbGVuYW1lKHN0cnVjdCBibGtpZF9jb25maWcgKmNvbmYpCit7CisJY2hhciAqZmlsZW5hbWU7CisKKwlmaWxlbmFtZSA9IHNhZmVfZ2V0ZW52KCJCTEtJRF9GSUxFIik7CisJaWYgKGZpbGVuYW1lKQorCQlmaWxlbmFtZSA9IHN0cmR1cChmaWxlbmFtZSk7CisJZWxzZSBpZiAoY29uZikKKwkJZmlsZW5hbWUgPSBjb25mLT5jYWNoZWZpbGUgPyBzdHJkdXAoY29uZi0+Y2FjaGVmaWxlKSA6IE5VTEw7CisJZWxzZSB7CisJCXN0cnVjdCBibGtpZF9jb25maWcgKmMgPSBibGtpZF9yZWFkX2NvbmZpZyhOVUxMKTsKKwkJaWYgKCFjKQorCQkJZmlsZW5hbWUgPSBzdHJkdXAoZ2V0X2RlZmF1bHRfY2FjaGVfZmlsZW5hbWUoKSk7CisJCWVsc2UgeworCQkJZmlsZW5hbWUgPSBjLT5jYWNoZWZpbGU7ICAvKiBhbHJlYWR5IGFsbG9jYXRlZCAqLworCQkJYy0+Y2FjaGVmaWxlID0gTlVMTDsKKwkJCWJsa2lkX2ZyZWVfY29uZmlnKGMpOworCQl9CisJfQorCXJldHVybiBmaWxlbmFtZTsKK30KKworLyoqCisgKiBibGtpZF9nZXRfY2FjaGU6CisgKiBAY2FjaGU6IHBvaW50ZXIgdG8gcmV0dXJuIGNhY2hlIGhhbmRsZXIKKyAqIEBmaWxlbmFtZTogcGF0aCB0byB0aGUgY2FjaGUgZmlsZSBvciBOVUxMIGZvciB0aGUgZGVmYXVsdCBwYXRoCisgKgorICogQWxsb2NhdGVzIGFuZCBpbml0aWFsaXplIGxpYnJhcnkgY2FjaGUgaGFuZGxlci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbnVtYmVyIGxlc3MgdGhhbiB6ZXJvIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9nZXRfY2FjaGUoYmxraWRfY2FjaGUgKnJldF9jYWNoZSwgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJYmxraWRfY2FjaGUgY2FjaGU7CisKKwlpZiAoIXJldF9jYWNoZSkKKwkJcmV0dXJuIC1CTEtJRF9FUlJfUEFSQU07CisKKwlibGtpZF9pbml0X2RlYnVnKDApOworCisJaWYgKCEoY2FjaGUgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfY2FjaGUpKSkpCisJCXJldHVybiAtQkxLSURfRVJSX01FTTsKKworCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJhbGxvYyAoZnJvbSAlcykiLCBmaWxlbmFtZSA/IGZpbGVuYW1lIDogImRlZmF1bHQgY2FjaGUiKSk7CisJSU5JVF9MSVNUX0hFQUQoJmNhY2hlLT5iaWNfZGV2cyk7CisJSU5JVF9MSVNUX0hFQUQoJmNhY2hlLT5iaWNfdGFncyk7CisKKwlpZiAoZmlsZW5hbWUgJiYgISpmaWxlbmFtZSkKKwkJZmlsZW5hbWUgPSBOVUxMOworCWlmIChmaWxlbmFtZSkKKwkJY2FjaGUtPmJpY19maWxlbmFtZSA9IHN0cmR1cChmaWxlbmFtZSk7CisJZWxzZQorCQljYWNoZS0+YmljX2ZpbGVuYW1lID0gYmxraWRfZ2V0X2NhY2hlX2ZpbGVuYW1lKE5VTEwpOworCisJYmxraWRfcmVhZF9jYWNoZShjYWNoZSk7CisJKnJldF9jYWNoZSA9IGNhY2hlOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3B1dF9jYWNoZToKKyAqIEBjYWNoZTogY2FjaGUgaGFuZGxlcgorICoKKyAqIFNhdmVzIGNoYW5nZXMgdG8gY2FjaGUgZmlsZS4KKyAqLwordm9pZCBibGtpZF9wdXRfY2FjaGUoYmxraWRfY2FjaGUgY2FjaGUpCit7CisJaWYgKCFjYWNoZSkKKwkJcmV0dXJuOworCisJKHZvaWQpIGJsa2lkX2ZsdXNoX2NhY2hlKGNhY2hlKTsKKworCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJmcmVlaW5nIGNhY2hlIHN0cnVjdCIpKTsKKworCS8qIERCRyhDQUNIRSwgdWxfZGVidWdfZHVtcF9jYWNoZShjYWNoZSkpOyAqLworCisJd2hpbGUgKCFsaXN0X2VtcHR5KCZjYWNoZS0+YmljX2RldnMpKSB7CisJCWJsa2lkX2RldiBkZXYgPSBsaXN0X2VudHJ5KGNhY2hlLT5iaWNfZGV2cy5uZXh0LAorCQkJCQkgICBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiwKKwkJCQkJICAgIGJpZF9kZXZzKTsKKwkJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwl9CisKKwlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAiZnJlZWluZyBjYWNoZSB0YWcgaGVhZHMiKSk7CisJd2hpbGUgKCFsaXN0X2VtcHR5KCZjYWNoZS0+YmljX3RhZ3MpKSB7CisJCWJsa2lkX3RhZyB0YWcgPSBsaXN0X2VudHJ5KGNhY2hlLT5iaWNfdGFncy5uZXh0LAorCQkJCQkgICBzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZywKKwkJCQkJICAgYml0X3RhZ3MpOworCisJCXdoaWxlICghbGlzdF9lbXB0eSgmdGFnLT5iaXRfbmFtZXMpKSB7CisJCQlibGtpZF90YWcgYmFkID0gbGlzdF9lbnRyeSh0YWctPmJpdF9uYW1lcy5uZXh0LAorCQkJCQkJICAgc3RydWN0IGJsa2lkX3N0cnVjdF90YWcsCisJCQkJCQkgICBiaXRfbmFtZXMpOworCisJCQlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAid2FybmluZzogdW5mcmVlZCB0YWcgJXM9JXMiLAorCQkJCQkJYmFkLT5iaXRfbmFtZSwgYmFkLT5iaXRfdmFsKSk7CisJCQlibGtpZF9mcmVlX3RhZyhiYWQpOworCQl9CisJCWJsa2lkX2ZyZWVfdGFnKHRhZyk7CisJfQorCisJYmxraWRfZnJlZV9wcm9iZShjYWNoZS0+cHJvYmUpOworCisJZnJlZShjYWNoZS0+YmljX2ZpbGVuYW1lKTsKKwlmcmVlKGNhY2hlKTsKK30KKworLyoqCisgKiBibGtpZF9nY19jYWNoZToKKyAqIEBjYWNoZTogY2FjaGUgaGFuZGxlcgorICoKKyAqIFJlbW92ZXMgZ2FyYmFnZSAobm9uLWV4aXN0aW5nIGRldmljZXMpIGZyb20gdGhlIGNhY2hlLgorICovCit2b2lkIGJsa2lkX2djX2NhY2hlKGJsa2lkX2NhY2hlIGNhY2hlKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnAsICpwbmV4dDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghY2FjaGUpCisJCXJldHVybjsKKworCWxpc3RfZm9yX2VhY2hfc2FmZShwLCBwbmV4dCwgJmNhY2hlLT5iaWNfZGV2cykgeworCQlibGtpZF9kZXYgZGV2ID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiwgYmlkX2RldnMpOworCQlpZiAoc3RhdChkZXYtPmJpZF9uYW1lLCAmc3QpIDwgMCkgeworCQkJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgImZyZWVpbmcgbm9uLWV4aXRpbmcgJXMiLCBkZXYtPmJpZF9uYW1lKSk7CisJCQlibGtpZF9mcmVlX2RldihkZXYpOworCQkJY2FjaGUtPmJpY19mbGFncyB8PSBCTEtJRF9CSUNfRkxfQ0hBTkdFRDsKKwkJfSBlbHNlIHsKKwkJCURCRyhDQUNIRSwgdWxfZGVidWcoIkRldmljZSAlcyBleGlzdHMiLCBkZXYtPmJpZF9uYW1lKSk7CisJCX0KKwl9Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKK3sKKwlibGtpZF9jYWNoZSBjYWNoZSA9IE5VTEw7CisJaW50IHJldDsKKworCWJsa2lkX2luaXRfZGVidWcoQkxLSURfREVCVUdfQUxMKTsKKworCWlmICgoYXJnYyA+IDIpKSB7CisJCWZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIFtmaWxlbmFtZV0gXG4iLCBhcmd2WzBdKTsKKwkJZXhpdCgxKTsKKwl9CisKKwlpZiAoKHJldCA9IGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsIGFyZ3ZbMV0pKSA8IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJlcnJvciAlZCBwYXJzaW5nIGNhY2hlIGZpbGUgJXNcbiIsIHJldCwKKwkJCWFyZ3ZbMV0gPyBhcmd2WzFdIDogYmxraWRfZ2V0X2NhY2hlX2ZpbGVuYW1lKE5VTEwpKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCAiL2Rldi9udWxsIikpICE9IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICIlczogZXJyb3IgY3JlYXRpbmcgY2FjaGUgKCVkKVxuIiwKKwkJCWFyZ3ZbMF0sIHJldCk7CisJCWV4aXQoMSk7CisJfQorCWlmICgocmV0ID0gYmxraWRfcHJvYmVfYWxsKGNhY2hlKSkgPCAwKQorCQlmcHJpbnRmKHN0ZGVyciwgImVycm9yIHByb2JpbmcgZGV2aWNlc1xuIik7CisKKwlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCisJcmV0dXJuIHJldDsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2NvbmZpZy5jIGIvbGliYmxraWQvc3JjL2NvbmZpZy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUyZjE1OWQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvY29uZmlnLmMKQEAgLTAsMCArMSwxOTggQEAKKy8qCisgKiBjb25maWcuYyAtIGJsa2lkLmNvbmYgcm91dGluZXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRVJSTk9fSAorI2luY2x1ZGUgPGVycm5vLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworI2luY2x1ZGUgImJsa2lkUC5oIgorI2luY2x1ZGUgImVudi5oIgorCitzdGF0aWMgaW50IHBhcnNlX2V2YWx1YXRlKHN0cnVjdCBibGtpZF9jb25maWcgKmNvbmYsIGNoYXIgKnMpCit7CisJd2hpbGUocyAmJiAqcykgeworCQljaGFyICpzZXA7CisKKwkJaWYgKGNvbmYtPm5ldmFscyA+PSBfX0JMS0lEX0VWQUxfTEFTVCkKKwkJCWdvdG8gZXJyOworCQlzZXAgPSBzdHJjaHIocywgJywnKTsKKwkJaWYgKHNlcCkKKwkJCSpzZXAgPSAnXDAnOworCQlpZiAoc3RyY21wKHMsICJ1ZGV2IikgPT0gMCkKKwkJCWNvbmYtPmV2YWxbY29uZi0+bmV2YWxzXSA9IEJMS0lEX0VWQUxfVURFVjsKKwkJZWxzZSBpZiAoc3RyY21wKHMsICJzY2FuIikgPT0gMCkKKwkJCWNvbmYtPmV2YWxbY29uZi0+bmV2YWxzXSA9IEJMS0lEX0VWQUxfU0NBTjsKKwkJZWxzZQorCQkJZ290byBlcnI7CisJCWNvbmYtPm5ldmFscysrOworCQlpZiAoc2VwKQorCQkJcyA9IHNlcCArIDE7CisJCWVsc2UKKwkJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK2VycjoKKwlEQkcoQ09ORklHLCB1bF9kZWJ1ZygKKwkJImNvbmZpZyBmaWxlOiB1bmtub3duIGV2YWx1YXRpb24gbWV0aG9kICclcycuIiwgcykpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBwYXJzZV9uZXh0KEZJTEUgKmZkLCBzdHJ1Y3QgYmxraWRfY29uZmlnICpjb25mKQoreworCWNoYXIgYnVmW0JVRlNJWl07CisJY2hhciAqczsKKworCS8qIHJlYWQgdGhlIG5leHQgbm9uLWJsYW5rIG5vbi1jb21tZW50IGxpbmUgKi8KKwlkbyB7CisJCWlmIChmZ2V0cyAoYnVmLCBzaXplb2YoYnVmKSwgZmQpID09IE5VTEwpCisJCQlyZXR1cm4gZmVvZihmZCkgPyAwIDogLTE7CisJCXMgPSBzdHJjaHIgKGJ1ZiwgJ1xuJyk7CisJCWlmICghcykgeworCQkJLyogTWlzc2luZyBmaW5hbCBuZXdsaW5lPyAgT3RoZXJ3aXNlIGV4dHJlbWVseSAqLworCQkJLyogbG9uZyBsaW5lIC0gYXNzdW1lIGZpbGUgd2FzIGNvcnJ1cHRlZCAqLworCQkJaWYgKGZlb2YoZmQpKQorCQkJCXMgPSBzdHJjaHIgKGJ1ZiwgJ1wwJyk7CisJCQllbHNlIHsKKwkJCQlEQkcoQ09ORklHLCB1bF9kZWJ1ZygKKwkJCQkJImNvbmZpZyBmaWxlOiBtaXNzaW5nIG5ld2xpbmUgYXQgbGluZSAnJXMnLiIsCisJCQkJCWJ1ZikpOworCQkJCXJldHVybiAtMTsKKwkJCX0KKwkJfQorCQkqcyA9ICdcMCc7CisJCWlmICgtLXMgPj0gYnVmICYmICpzID09ICdccicpCisJCQkqcyA9ICdcMCc7CisKKwkJcyA9IGJ1ZjsKKwkJd2hpbGUgKCpzID09ICcgJyB8fCAqcyA9PSAnXHQnKQkJLyogc2tpcCBzcGFjZSAqLworCQkJcysrOworCisJfSB3aGlsZSAoKnMgPT0gJ1wwJyB8fCAqcyA9PSAnIycpOworCisJaWYgKCFzdHJuY21wKHMsICJTRU5EX1VFVkVOVD0iLCAxMikpIHsKKwkJcyArPSAxMjsKKwkJaWYgKCpzICYmICFzdHJjYXNlY21wKHMsICJ5ZXMiKSkKKwkJCWNvbmYtPnVldmVudCA9IFRSVUU7CisJCWVsc2UgaWYgKCpzKQorCQkJY29uZi0+dWV2ZW50ID0gRkFMU0U7CisJfSBlbHNlIGlmICghc3RybmNtcChzLCAiQ0FDSEVfRklMRT0iLCAxMSkpIHsKKwkJcyArPSAxMTsKKwkJaWYgKCpzKQorCQkJY29uZi0+Y2FjaGVmaWxlID0gc3RyZHVwKHMpOworCX0gZWxzZSBpZiAoIXN0cm5jbXAocywgIkVWQUxVQVRFPSIsIDkpKSB7CisJCXMgKz0gOTsKKwkJaWYgKCpzICYmIHBhcnNlX2V2YWx1YXRlKGNvbmYsIHMpID09IC0xKQorCQkJcmV0dXJuIC0xOworCX0gZWxzZSB7CisJCURCRyhDT05GSUcsIHVsX2RlYnVnKAorCQkJImNvbmZpZyBmaWxlOiB1bmtub3duIG9wdGlvbiAnJXMnLiIsIHMpKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogcmV0dXJuIHJlYWwgY29uZmlnIGRhdGEgb3IgYnVpbHQtaW4gZGVmYXVsdCAqLworc3RydWN0IGJsa2lkX2NvbmZpZyAqYmxraWRfcmVhZF9jb25maWcoY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJc3RydWN0IGJsa2lkX2NvbmZpZyAqY29uZjsKKwlGSUxFICpmOworCisJaWYgKCFmaWxlbmFtZSkKKwkJZmlsZW5hbWUgPSBzYWZlX2dldGVudigiQkxLSURfQ09ORiIpOworCWlmICghZmlsZW5hbWUpCisJCWZpbGVuYW1lID0gQkxLSURfQ09ORklHX0ZJTEU7CisKKwljb25mID0gY2FsbG9jKDEsIHNpemVvZigqY29uZikpOworCWlmICghY29uZikKKwkJcmV0dXJuIE5VTEw7CisJY29uZi0+dWV2ZW50ID0gLTE7CisKKwlEQkcoQ09ORklHLCB1bF9kZWJ1ZygicmVhZGluZyBjb25maWcgZmlsZTogJXMuIiwgZmlsZW5hbWUpKTsKKworCWYgPSBmb3BlbihmaWxlbmFtZSwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghZikgeworCQlEQkcoQ09ORklHLCB1bF9kZWJ1ZygiJXM6IGRvZXMgbm90IGV4aXN0LCB1c2luZyBidWlsdC1pbiBkZWZhdWx0IiwgZmlsZW5hbWUpKTsKKwkJZ290byBkZmx0OworCX0KKwl3aGlsZSAoIWZlb2YoZikpIHsKKwkJaWYgKHBhcnNlX25leHQoZiwgY29uZikpIHsKKwkJCURCRyhDT05GSUcsIHVsX2RlYnVnKCIlczogcGFyc2UgZXJyb3IiLCBmaWxlbmFtZSkpOworCQkJZ290byBlcnI7CisJCX0KKwl9CitkZmx0OgorCWlmICghY29uZi0+bmV2YWxzKSB7CisJCWNvbmYtPmV2YWxbMF0gPSBCTEtJRF9FVkFMX1VERVY7CisJCWNvbmYtPmV2YWxbMV0gPSBCTEtJRF9FVkFMX1NDQU47CisJCWNvbmYtPm5ldmFscyA9IDI7CisJfQorCWlmICghY29uZi0+Y2FjaGVmaWxlKQorCQljb25mLT5jYWNoZWZpbGUgPSBzdHJkdXAoQkxLSURfQ0FDSEVfRklMRSk7CisJaWYgKGNvbmYtPnVldmVudCA9PSAtMSkKKwkJY29uZi0+dWV2ZW50ID0gVFJVRTsKKwlpZiAoZikKKwkJZmNsb3NlKGYpOworCXJldHVybiBjb25mOworZXJyOgorCWZyZWUoY29uZik7CisJZmNsb3NlKGYpOworCXJldHVybiBOVUxMOworfQorCit2b2lkIGJsa2lkX2ZyZWVfY29uZmlnKHN0cnVjdCBibGtpZF9jb25maWcgKmNvbmYpCit7CisJaWYgKCFjb25mKQorCQlyZXR1cm47CisJZnJlZShjb25mLT5jYWNoZWZpbGUpOworCWZyZWUoY29uZik7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKy8qCisgKiB1c2FnZTogdHN0X2NvbmZpZyBbPGZpbGVuYW1lPl0KKyAqLworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgYmxraWRfY29uZmlnICpjb25mOworCWNoYXIgKmZpbGVuYW1lID0gTlVMTDsKKworCWJsa2lkX2luaXRfZGVidWcoQkxLSURfREVCVUdfQUxMKTsKKworCWlmIChhcmdjID09IDIpCisJCWZpbGVuYW1lID0gYXJndlsxXTsKKworCWNvbmYgPSBibGtpZF9yZWFkX2NvbmZpZyhmaWxlbmFtZSk7CisJaWYgKCFjb25mKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJcHJpbnRmKCJFVkFMVUFURTogICAgIik7CisJZm9yIChpID0gMDsgaSA8IGNvbmYtPm5ldmFsczsgaSsrKQorCQlwcmludGYoIiVzICIsIGNvbmYtPmV2YWxbaV0gPT0gQkxLSURfRVZBTF9VREVWID8gInVkZXYiIDogInNjYW4iKTsKKwlwcmludGYoIlxuIik7CisKKwlwcmludGYoIlNFTkQgVUVWRU5UOiAlc1xuIiwgY29uZi0+dWV2ZW50ID8gIlRSVUUiIDogIkZBTFNFIik7CisJcHJpbnRmKCJDQUNIRV9GSUxFOiAgJXNcbiIsIGNvbmYtPmNhY2hlZmlsZSk7CisKKwlibGtpZF9mcmVlX2NvbmZpZyhjb25mKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvZGV2LmMgYi9saWJibGtpZC9zcmMvZGV2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU2ZGYyYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9kZXYuYwpAQCAtMCwwICsxLDI3OSBAQAorLyoKKyAqIGRldi5jIC0gYWxsb2NhdGlvbi9pbml0aWFsaXphdGlvbi9mcmVlIHJvdXRpbmVzIGZvciBkZXYKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwMyBUaGVvZG9yZSBUcydvCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKworLyoKKyAqIE5PVEU6IHJlZmVyZW5jZSBtYW51YWwgaXMgbm90IHN0cnVjdHVyZWQgYXMgY29kZS4gVGhlIGZvbGxvd2luZyBzZWN0aW9uIGlzIGEgZ2VuZXJpYworICogc2VjdGlvbiBmb3IgYWxsIGhpZ2gtbGV2ZWwgY2FjaGUgc2VhcmNoK2l0ZXJhdGUgcm91dGluZXMuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOnNlYXJjaAorICogQHRpdGxlOiBTZWFyY2ggYW5kIGl0ZXJhdGUKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogc2VhcmNoIGRldmljZXMgYW5kIGl0ZXJhdGUgb3ZlciBkZXZpY2VzIGluIHRoZSBjYWNoZS4KKyAqCisgKiBOb3RlIHRoYXQgaGlnaC1sZXZlbCBwcm9iaW5nIEFQSSBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCBzdXBlcmJsb2NrcworICogKGZpbGVzeXN0ZW1zL3JhaWRzKSBvbmx5LiAgRm9yIHBhcnRpdGlvbnMgYW5kIHRvcG9sb2d5IGlzIG5lY2Vzc2FyeSB0byB1c2UKKyAqIHRoZSBsb3ctbGV2ZWwgQVBJLgorICovCisKK2Jsa2lkX2RldiBibGtpZF9uZXdfZGV2KHZvaWQpCit7CisJYmxraWRfZGV2IGRldjsKKworCWlmICghKGRldiA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF9kZXYpKSkpCisJCXJldHVybiBOVUxMOworCisJREJHKERFViwgdWxfZGVidWdvYmooZGV2LCAiYWxsb2MiKSk7CisJSU5JVF9MSVNUX0hFQUQoJmRldi0+YmlkX2RldnMpOworCUlOSVRfTElTVF9IRUFEKCZkZXYtPmJpZF90YWdzKTsKKworCXJldHVybiBkZXY7Cit9CisKK3ZvaWQgYmxraWRfZnJlZV9kZXYoYmxraWRfZGV2IGRldikKK3sKKwlpZiAoIWRldikKKwkJcmV0dXJuOworCisJREJHKERFViwgdWxfZGVidWdvYmooZGV2LCAiZnJlZWluZyAoJXMpIiwgZGV2LT5iaWRfbmFtZSkpOworCisJbGlzdF9kZWwoJmRldi0+YmlkX2RldnMpOworCXdoaWxlICghbGlzdF9lbXB0eSgmZGV2LT5iaWRfdGFncykpIHsKKwkJYmxraWRfdGFnIHRhZyA9IGxpc3RfZW50cnkoZGV2LT5iaWRfdGFncy5uZXh0LAorCQkJCQkgICBzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZywKKwkJCQkJICAgYml0X3RhZ3MpOworCQlibGtpZF9mcmVlX3RhZyh0YWcpOworCX0KKwlmcmVlKGRldi0+YmlkX3huYW1lKTsKKwlmcmVlKGRldi0+YmlkX25hbWUpOworCWZyZWUoZGV2KTsKK30KKworLyoKKyAqIEdpdmVuIGEgYmxraWQgZGV2aWNlLCByZXR1cm4gaXRzIG5hbWUuIFRoZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBuYW1lCisgKiBwcmV2aW91c2x5IHVzZWQgZm9yIGJsa2lkX2dldF9kZXYoKS4gVGhpcyBuYW1lIGRvZXMgbm90IGhhdmUgdG8gYmUgY2Fub25pY2FsCisgKiAocmVhbCBwYXRoKSBuYW1lLCBidXQgZm9yIGV4YW1wbGUgc3ltbGluay4KKyAqLworY29uc3QgY2hhciAqYmxraWRfZGV2X2Rldm5hbWUoYmxraWRfZGV2IGRldikKK3sKKwlpZiAoIWRldikKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGRldi0+YmlkX3huYW1lKQorCQlyZXR1cm4gZGV2LT5iaWRfeG5hbWU7CisJcmV0dXJuIGRldi0+YmlkX25hbWU7Cit9CisKK3ZvaWQgYmxraWRfZGVidWdfZHVtcF9kZXYoYmxraWRfZGV2IGRldikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJaWYgKCFkZXYpIHsKKwkJcHJpbnRmKCIgIGRldjogTlVMTFxuIik7CisJCXJldHVybjsKKwl9CisKKwlmcHJpbnRmKHN0ZGVyciwgIiAgZGV2OiBuYW1lID0gJXNcbiIsIGRldi0+YmlkX25hbWUpOworCWZwcmludGYoc3RkZXJyLCAiICBkZXY6IERFVk5PPVwiMHglMGxseFwiXG4iLCAobG9uZyBsb25nKWRldi0+YmlkX2Rldm5vKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgZGV2OiBUSU1FPVwiJWxkLiVsZFwiXG4iLCAobG9uZylkZXYtPmJpZF90aW1lLCAobG9uZylkZXYtPmJpZF91dGltZSk7CisJZnByaW50ZihzdGRlcnIsICIgIGRldjogUFJJPVwiJWRcIlxuIiwgZGV2LT5iaWRfcHJpKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgZGV2OiBmbGFncyA9IDB4JTA4WFxuIiwgZGV2LT5iaWRfZmxhZ3MpOworCisJbGlzdF9mb3JfZWFjaChwLCAmZGV2LT5iaWRfdGFncykgeworCQlibGtpZF90YWcgdGFnID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZywgYml0X3RhZ3MpOworCQlpZiAodGFnKQorCQkJZnByaW50ZihzdGRlcnIsICIgICAgdGFnOiAlcz1cIiVzXCJcbiIsIHRhZy0+Yml0X25hbWUsCisJCQkgICAgICAgdGFnLT5iaXRfdmFsKTsKKwkJZWxzZQorCQkJZnByaW50ZihzdGRlcnIsICIgICAgdGFnOiBOVUxMXG4iKTsKKwl9Cit9CisKKy8qCisgKiBkZXYgaXRlcmF0aW9uIHJvdXRpbmVzIGZvciB0aGUgcHVibGljIGxpYmJsa2lkIGludGVyZmFjZS4KKyAqCisgKiBUaGVzZSByb3V0aW5lcyBkbyBub3QgZXhwb3NlIHRoZSBsaXN0LmggaW1wbGVtZW50YXRpb24sIHdoaWNoIGFyZSBhCisgKiBjb250YW1pbmF0aW9uIG9mIHRoZSBuYW1lc3BhY2UsIGFuZCB3aGljaCBmb3JjZSB1cyB0byByZXZlYWwgZmFyLCBmYXIKKyAqIHRvbyBtdWNoIG9mIG91ciBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbi4gIEknbSBub3QgY29udmluY2VkIEkgd2FudAorICogdG8ga2VlcCBsaXN0LmggaW4gdGhlIGxvbmcgdGVybSwgYW55d2F5LiAgSXQncyBmaW5lIGZvciBrZXJuZWwKKyAqIHByb2dyYW1taW5nLCBidXQgcGVyZm9ybWFuY2UgaXMgbm90IHRoZSAjMSBwcmlvcml0eSBmb3IgdGhpcworICogbGlicmFyeSwgYW5kIEkgcmVhbGx5IGRvbid0IGxpa2UgdGhlIHRyYWRlLW9mZiBvZiB0eXBlLXNhZmV0eSBmb3IKKyAqIHBlcmZvcm1hbmNlIGZvciB0aGlzIGFwcGxpY2F0aW9uLiAgW3R5dHNvOjIwMDMwMTI1LjIwMDdFU1RdCisgKi8KKworLyoKKyAqIFRoaXMgc2VyaWVzIG9mIGZ1bmN0aW9ucyBpdGVyYXRlIG92ZXIgYWxsIGRldmljZXMgaW4gYSBibGtpZCBjYWNoZQorICovCisjZGVmaW5lIERFVl9JVEVSQVRFX01BR0lDCTB4MDFhNTI4NGMKKworc3RydWN0IGJsa2lkX3N0cnVjdF9kZXZfaXRlcmF0ZSB7CisJaW50CQkJbWFnaWM7CisJYmxraWRfY2FjaGUJCWNhY2hlOworCWNoYXIJCQkqc2VhcmNoX3R5cGU7CisJY2hhcgkJCSpzZWFyY2hfdmFsdWU7CisJc3RydWN0IGxpc3RfaGVhZAkqcDsKK307CisKK2Jsa2lkX2Rldl9pdGVyYXRlIGJsa2lkX2Rldl9pdGVyYXRlX2JlZ2luKGJsa2lkX2NhY2hlIGNhY2hlKQoreworCWJsa2lkX2Rldl9pdGVyYXRlIGl0ZXI7CisKKwlpZiAoIWNhY2hlKSB7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpdGVyID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgYmxraWRfc3RydWN0X2Rldl9pdGVyYXRlKSk7CisJaWYgKGl0ZXIpIHsKKwkJaXRlci0+bWFnaWMgPSBERVZfSVRFUkFURV9NQUdJQzsKKwkJaXRlci0+Y2FjaGUgPSBjYWNoZTsKKwkJaXRlci0+cAk9IGNhY2hlLT5iaWNfZGV2cy5uZXh0OworCQlpdGVyLT5zZWFyY2hfdHlwZSA9IE5VTEw7CisJCWl0ZXItPnNlYXJjaF92YWx1ZSA9IE5VTEw7CisJfQorCXJldHVybiBpdGVyOworfQorCitpbnQgYmxraWRfZGV2X3NldF9zZWFyY2goYmxraWRfZGV2X2l0ZXJhdGUgaXRlciwKKwkJCQkgY29uc3QgY2hhciAqc2VhcmNoX3R5cGUsIGNvbnN0IGNoYXIgKnNlYXJjaF92YWx1ZSkKK3sKKwljaGFyICpuZXdfdHlwZSwgKm5ld192YWx1ZTsKKworCWlmICghaXRlciB8fCBpdGVyLT5tYWdpYyAhPSBERVZfSVRFUkFURV9NQUdJQyB8fCAhc2VhcmNoX3R5cGUgfHwKKwkgICAgIXNlYXJjaF92YWx1ZSkKKwkJcmV0dXJuIC0xOworCW5ld190eXBlID0gbWFsbG9jKHN0cmxlbihzZWFyY2hfdHlwZSkrMSk7CisJbmV3X3ZhbHVlID0gbWFsbG9jKHN0cmxlbihzZWFyY2hfdmFsdWUpKzEpOworCWlmICghbmV3X3R5cGUgfHwgIW5ld192YWx1ZSkgeworCQlmcmVlKG5ld190eXBlKTsKKwkJZnJlZShuZXdfdmFsdWUpOworCQlyZXR1cm4gLTE7CisJfQorCXN0cmNweShuZXdfdHlwZSwgc2VhcmNoX3R5cGUpOworCXN0cmNweShuZXdfdmFsdWUsIHNlYXJjaF92YWx1ZSk7CisJZnJlZShpdGVyLT5zZWFyY2hfdHlwZSk7CisJZnJlZShpdGVyLT5zZWFyY2hfdmFsdWUpOworCWl0ZXItPnNlYXJjaF90eXBlID0gbmV3X3R5cGU7CisJaXRlci0+c2VhcmNoX3ZhbHVlID0gbmV3X3ZhbHVlOworCXJldHVybiAwOworfQorCisvKgorICogUmV0dXJuIDAgb24gc3VjY2VzcywgLTEgb24gZXJyb3IKKyAqLworaW50IGJsa2lkX2Rldl9uZXh0KGJsa2lkX2Rldl9pdGVyYXRlIGl0ZXIsCisJCQkgIGJsa2lkX2RldiAqcmV0X2RldikKK3sKKwlibGtpZF9kZXYJCWRldjsKKworCWlmICAoIXJldF9kZXYgfHwgIWl0ZXIgfHwgaXRlci0+bWFnaWMgIT0gREVWX0lURVJBVEVfTUFHSUMpCisJCXJldHVybiAtMTsKKwkqcmV0X2RldiA9IE5VTEw7CisJd2hpbGUgKGl0ZXItPnAgIT0gJml0ZXItPmNhY2hlLT5iaWNfZGV2cykgeworCQlkZXYgPSBsaXN0X2VudHJ5KGl0ZXItPnAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2LCBiaWRfZGV2cyk7CisJCWl0ZXItPnAgPSBpdGVyLT5wLT5uZXh0OworCQlpZiAoaXRlci0+c2VhcmNoX3R5cGUgJiYKKwkJICAgICFibGtpZF9kZXZfaGFzX3RhZyhkZXYsIGl0ZXItPnNlYXJjaF90eXBlLAorCQkJCSAgICAgICBpdGVyLT5zZWFyY2hfdmFsdWUpKQorCQkJY29udGludWU7CisJCSpyZXRfZGV2ID0gZGV2OworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIC0xOworfQorCit2b2lkIGJsa2lkX2Rldl9pdGVyYXRlX2VuZChibGtpZF9kZXZfaXRlcmF0ZSBpdGVyKQoreworCWlmICghaXRlciB8fCBpdGVyLT5tYWdpYyAhPSBERVZfSVRFUkFURV9NQUdJQykKKwkJcmV0dXJuOworCWl0ZXItPm1hZ2ljID0gMDsKKwlmcmVlKGl0ZXItPnNlYXJjaF90eXBlKTsKKwlmcmVlKGl0ZXItPnNlYXJjaF92YWx1ZSk7CisJZnJlZShpdGVyKTsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQorI2lmZGVmIEhBVkVfR0VUT1BUX0gKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNlbHNlCitleHRlcm4gY2hhciAqb3B0YXJnOworZXh0ZXJuIGludCBvcHRpbmQ7CisjZW5kaWYKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoY2hhciAqcHJvZykKK3sKKwlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyBbLWYgYmxraWRfZmlsZV0gWy1tIGRlYnVnX21hc2tdXG4iLCBwcm9nKTsKKwlmcHJpbnRmKHN0ZGVyciwgIlx0TGlzdCBhbGwgZGV2aWNlcyBhbmQgZXhpdFxuIik7CisJZXhpdCgxKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWJsa2lkX2Rldl9pdGVyYXRlCWl0ZXI7CisJYmxraWRfY2FjaGUgCQljYWNoZSA9IE5VTEw7CisJYmxraWRfZGV2CQlkZXY7CisJaW50CQkJYywgcmV0OworCWNoYXIJCQkqdG1wOworCWNoYXIJCQkqZmlsZSA9IE5VTEw7CisJY2hhcgkJCSpzZWFyY2hfdHlwZSA9IE5VTEw7CisJY2hhcgkJCSpzZWFyY2hfdmFsdWUgPSBOVUxMOworCisJd2hpbGUgKChjID0gZ2V0b3B0IChhcmdjLCBhcmd2LCAibTpmOiIpKSAhPSBFT0YpCisJCXN3aXRjaCAoYykgeworCQljYXNlICdmJzoKKwkJCWZpbGUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnbSc6CisJCXsKKwkJCWludCBtYXNrID0gc3RydG91bCAob3B0YXJnLCAmdG1wLCAwKTsKKwkJCWlmICgqdG1wKSB7CisJCQkJZnByaW50ZihzdGRlcnIsICJJbnZhbGlkIGRlYnVnIG1hc2s6ICVzXG4iLAorCQkJCQlvcHRhcmcpOworCQkJCWV4aXQoMSk7CisJCQl9CisJCQlibGtpZF9pbml0X2RlYnVnKG1hc2spOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAnPyc6CisJCQl1c2FnZShhcmd2WzBdKTsKKwkJfQorCWlmIChhcmdjID49IG9wdGluZCsyKSB7CisJCXNlYXJjaF90eXBlID0gYXJndltvcHRpbmRdOworCQlzZWFyY2hfdmFsdWUgPSBhcmd2W29wdGluZCsxXTsKKwkJb3B0aW5kICs9IDI7CisJfQorCWlmIChhcmdjICE9IG9wdGluZCkKKwkJdXNhZ2UoYXJndlswXSk7CisKKwlpZiAoKHJldCA9IGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsIGZpbGUpKSAhPSAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiJXM6IGVycm9yIGNyZWF0aW5nIGNhY2hlICglZClcbiIsCisJCQlhcmd2WzBdLCByZXQpOworCQlleGl0KDEpOworCX0KKworCWl0ZXIgPSBibGtpZF9kZXZfaXRlcmF0ZV9iZWdpbihjYWNoZSk7CisJaWYgKHNlYXJjaF90eXBlKQorCQlibGtpZF9kZXZfc2V0X3NlYXJjaChpdGVyLCBzZWFyY2hfdHlwZSwgc2VhcmNoX3ZhbHVlKTsKKwl3aGlsZSAoYmxraWRfZGV2X25leHQoaXRlciwgJmRldikgPT0gMCkgeworCQlwcmludGYoIkRldmljZTogJXNcbiIsIGJsa2lkX2Rldl9kZXZuYW1lKGRldikpOworCX0KKwlibGtpZF9kZXZfaXRlcmF0ZV9lbmQoaXRlcik7CisKKworCWJsa2lkX3B1dF9jYWNoZShjYWNoZSk7CisJcmV0dXJuICgwKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2Rldm5hbWUuYyBiL2xpYmJsa2lkL3NyYy9kZXZuYW1lLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg2YmNmMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9kZXZuYW1lLmMKQEAgLTAsMCArMSw3MDYgQEAKKy8qCisgKiBkZXZuYW1lLmMgLSBnZXQgYSBkZXYgYnkgaXRzIGRldmljZSBpbm9kZSBuYW1lCisgKgorICogQ29weXJpZ2h0IChDKSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMSwgMjAwMiwgMjAwMyBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgQW5kcmVhcyBEaWxnZXIKKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNkZWZpbmUgX0dOVV9TT1VSQ0UgMQorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpZmRlZiBIQVZFX1VOSVNURF9ICisjaW5jbHVkZSA8dW5pc3RkLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRVJSTk9fSAorI2luY2x1ZGUgPGVycm5vLmg+CisjZW5kaWYKKyNpbmNsdWRlIDx0aW1lLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKworI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgkJLyogJCh0b3Bfc3JjZGlyKS9pbmNsdWRlICovCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKworLyoKKyAqIEZpbmQgYSBkZXYgc3RydWN0IGluIHRoZSBjYWNoZSBieSBkZXZpY2UgbmFtZSwgaWYgYXZhaWxhYmxlLgorICoKKyAqIElmIHRoZXJlIGlzIG5vIGVudHJ5IHdpdGggdGhlIHNwZWNpZmllZCBkZXZpY2UgbmFtZSwgYW5kIHRoZSBjcmVhdGUKKyAqIGZsYWcgaXMgc2V0LCB0aGVuIGNyZWF0ZSBhbiBlbXB0eSBkZXZpY2UgZW50cnkuCisgKi8KK2Jsa2lkX2RldiBibGtpZF9nZXRfZGV2KGJsa2lkX2NhY2hlIGNhY2hlLCBjb25zdCBjaGFyICpkZXZuYW1lLCBpbnQgZmxhZ3MpCit7CisJYmxraWRfZGV2IGRldiA9IE5VTEwsIHRtcDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCAqcG5leHQ7CisJY2hhciAqY24gPSBOVUxMOworCisJaWYgKCFjYWNoZSB8fCAhZGV2bmFtZSkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBzZWFyY2ggYnkgbmFtZSAqLworCWxpc3RfZm9yX2VhY2gocCwgJmNhY2hlLT5iaWNfZGV2cykgeworCQl0bXAgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2LCBiaWRfZGV2cyk7CisJCWlmIChzdHJjbXAodG1wLT5iaWRfbmFtZSwgZGV2bmFtZSkpCisJCQljb250aW51ZTsKKwkJZGV2ID0gdG1wOworCQlicmVhazsKKwl9CisKKwkvKiB0cnkgY2Fub25pY2FsaXplIHRoZSBuYW1lICovCisJaWYgKCFkZXYgJiYgKGNuID0gY2Fub25pY2FsaXplX3BhdGgoZGV2bmFtZSkpKSB7CisJCWlmIChzdHJjbXAoY24sIGRldm5hbWUpICE9IDApIHsKKwkJCURCRyhERVZOQU1FLCB1bF9kZWJ1Zygic2VhcmNoIGNhbm9uaWNhbCAlcyIsIGNuKSk7CisJCQlsaXN0X2Zvcl9lYWNoKHAsICZjYWNoZS0+YmljX2RldnMpIHsKKwkJCQl0bXAgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfZGV2LCBiaWRfZGV2cyk7CisJCQkJaWYgKHN0cmNtcCh0bXAtPmJpZF9uYW1lLCBjbikpCisJCQkJCWNvbnRpbnVlOworCQkJCWRldiA9IHRtcDsKKworCQkJCS8qIHVwZGF0ZSBuYW1lIHJldHVybmVkIGJ5IGJsa2lkX2Rldl9kZXZuYW1lKCkgKi8KKwkJCQlmcmVlKGRldi0+YmlkX3huYW1lKTsKKwkJCQlkZXYtPmJpZF94bmFtZSA9IHN0cmR1cChkZXZuYW1lKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCWZyZWUoY24pOworCQkJY24gPSBOVUxMOworCQl9CisJfQorCisJaWYgKCFkZXYgJiYgKGZsYWdzICYgQkxLSURfREVWX0NSRUFURSkpIHsKKwkJaWYgKGFjY2VzcyhkZXZuYW1lLCBGX09LKSA8IDApCisJCQlnb3RvIGRvbmU7CisJCWRldiA9IGJsa2lkX25ld19kZXYoKTsKKwkJaWYgKCFkZXYpCisJCQlnb3RvIGRvbmU7CisJCWRldi0+YmlkX3RpbWUgPSBJTlRfTUlOOworCQlpZiAoY24pIHsKKwkJCWRldi0+YmlkX25hbWUgPSBjbjsKKwkJCWRldi0+YmlkX3huYW1lID0gc3RyZHVwKGRldm5hbWUpOworCQkJY24gPSBOVUxMOwkvKiBzZWUgZnJlZSgpIGJlbG93ICovCisJCX0gZWxzZQorCQkJZGV2LT5iaWRfbmFtZSA9IHN0cmR1cChkZXZuYW1lKTsKKworCQlkZXYtPmJpZF9jYWNoZSA9IGNhY2hlOworCQlsaXN0X2FkZF90YWlsKCZkZXYtPmJpZF9kZXZzLCAmY2FjaGUtPmJpY19kZXZzKTsKKwkJY2FjaGUtPmJpY19mbGFncyB8PSBCTEtJRF9CSUNfRkxfQ0hBTkdFRDsKKwl9CisKKwlpZiAoZmxhZ3MgJiBCTEtJRF9ERVZfVkVSSUZZKSB7CisJCWRldiA9IGJsa2lkX3ZlcmlmeShjYWNoZSwgZGV2KTsKKwkJaWYgKCFkZXYgfHwgIShkZXYtPmJpZF9mbGFncyAmIEJMS0lEX0JJRF9GTF9WRVJJRklFRCkpCisJCQlnb3RvIGRvbmU7CisJCS8qCisJCSAqIElmIHRoZSBkZXZpY2UgaXMgdmVyaWZpZWQsIHRoZW4gc2VhcmNoIHRoZSBibGtpZAorCQkgKiBjYWNoZSBmb3IgYW55IGVudHJpZXMgdGhhdCBtYXRjaCBvbiB0aGUgdHlwZSwgdXVpZCwKKwkJICogYW5kIGxhYmVsLCBhbmQgdmVyaWZ5IHRoZW07IGlmIGEgY2FjaGUgZW50cnkgY2FuCisJCSAqIG5vdCBiZSB2ZXJpZmllZCwgdGhlbiBpdCdzIHN0YWxlIGFuZCBzbyB3ZSByZW1vdmUKKwkJICogaXQuCisJCSAqLworCQlsaXN0X2Zvcl9lYWNoX3NhZmUocCwgcG5leHQsICZjYWNoZS0+YmljX2RldnMpIHsKKwkJCWJsa2lkX2RldiBkZXYyID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiwgYmlkX2RldnMpOworCQkJaWYgKGRldjItPmJpZF9mbGFncyAmIEJMS0lEX0JJRF9GTF9WRVJJRklFRCkKKwkJCQljb250aW51ZTsKKwkJCWlmICghZGV2LT5iaWRfdHlwZSB8fCAhZGV2Mi0+YmlkX3R5cGUgfHwKKwkJCSAgICBzdHJjbXAoZGV2LT5iaWRfdHlwZSwgZGV2Mi0+YmlkX3R5cGUpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGRldi0+YmlkX2xhYmVsICYmIGRldjItPmJpZF9sYWJlbCAmJgorCQkJICAgIHN0cmNtcChkZXYtPmJpZF9sYWJlbCwgZGV2Mi0+YmlkX2xhYmVsKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChkZXYtPmJpZF91dWlkICYmIGRldjItPmJpZF91dWlkICYmCisJCQkgICAgc3RyY21wKGRldi0+YmlkX3V1aWQsIGRldjItPmJpZF91dWlkKSkKKwkJCQljb250aW51ZTsKKwkJCWlmICgoZGV2LT5iaWRfbGFiZWwgJiYgIWRldjItPmJpZF9sYWJlbCkgfHwKKwkJCSAgICAoIWRldi0+YmlkX2xhYmVsICYmIGRldjItPmJpZF9sYWJlbCkgfHwKKwkJCSAgICAoZGV2LT5iaWRfdXVpZCAmJiAhZGV2Mi0+YmlkX3V1aWQpIHx8CisJCQkgICAgKCFkZXYtPmJpZF91dWlkICYmIGRldjItPmJpZF91dWlkKSkKKwkJCQljb250aW51ZTsKKwkJCWRldjIgPSBibGtpZF92ZXJpZnkoY2FjaGUsIGRldjIpOworCQkJaWYgKGRldjIgJiYgIShkZXYyLT5iaWRfZmxhZ3MgJiBCTEtJRF9CSURfRkxfVkVSSUZJRUQpKQorCQkJCWJsa2lkX2ZyZWVfZGV2KGRldjIpOworCQl9CisJfQorZG9uZToKKwlpZiAoZGV2KQorCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoIiVzIHJlcXVlc3RlZCwgZm91bmQgJXMgaW4gY2FjaGUiLCBkZXZuYW1lLCBkZXYtPmJpZF9uYW1lKSk7CisJZnJlZShjbik7CisJcmV0dXJuIGRldjsKK30KKworLyogRGlyZWN0b3JpZXMgd2hlcmUgd2Ugd2lsbCB0cnkgdG8gc2VhcmNoIGZvciBkZXZpY2UgbmFtZXMgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpkaXJsaXN0W10gPSB7ICIvZGV2IiwgIi9kZXZmcyIsICIvZGV2aWNlcyIsIE5VTEwgfTsKKworc3RhdGljIGludCBpc19kbV9sZWFmKGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJc3RydWN0IGRpcmVudAkqZGUsICpkX2RlOworCURJUgkJKmRpciwgKmRfZGlyOworCWNoYXIJCXBhdGhbTkFNRV9NQVggKyAxOCArIDFdOworCWludAkJcmV0ID0gMTsKKworCWlmICgoZGlyID0gb3BlbmRpcigiL3N5cy9ibG9jayIpKSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwl3aGlsZSAoKGRlID0gcmVhZGRpcihkaXIpKSAhPSBOVUxMKSB7CisJCWlmICghc3RyY21wKGRlLT5kX25hbWUsICIuIikgfHwgIXN0cmNtcChkZS0+ZF9uYW1lLCAiLi4iKSB8fAorCQkgICAgIXN0cmNtcChkZS0+ZF9uYW1lLCBkZXZuYW1lKSB8fAorCQkgICAgc3RybmNtcChkZS0+ZF9uYW1lLCAiZG0tIiwgMykgfHwKKwkJICAgIHN0cmxlbihkZS0+ZF9uYW1lKSA+IHNpemVvZihwYXRoKS0zMikKKwkJCWNvbnRpbnVlOworCQlzcHJpbnRmKHBhdGgsICIvc3lzL2Jsb2NrLyVzL3NsYXZlcyIsIGRlLT5kX25hbWUpOworCQlpZiAoKGRfZGlyID0gb3BlbmRpcihwYXRoKSkgPT0gTlVMTCkKKwkJCWNvbnRpbnVlOworCQl3aGlsZSAoKGRfZGUgPSByZWFkZGlyKGRfZGlyKSkgIT0gTlVMTCkgeworCQkJaWYgKCFzdHJjbXAoZF9kZS0+ZF9uYW1lLCBkZXZuYW1lKSkgeworCQkJCXJldCA9IDA7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJY2xvc2VkaXIoZF9kaXIpOworCQlpZiAoIXJldCkKKwkJCWJyZWFrOworCX0KKwljbG9zZWRpcihkaXIpOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBQcm9iZSBhIHNpbmdsZSBibG9jayBkZXZpY2UgdG8gYWRkIHRvIHRoZSBkZXZpY2UgY2FjaGUuCisgKi8KK3N0YXRpYyB2b2lkIHByb2JlX29uZShibGtpZF9jYWNoZSBjYWNoZSwgY29uc3QgY2hhciAqcHRuYW1lLAorCQkgICAgICBkZXZfdCBkZXZubywgaW50IHByaSwgaW50IG9ubHlfaWZfbmV3LCBpbnQgcmVtb3ZhYmxlKQoreworCWJsa2lkX2RldiBkZXYgPSBOVUxMOworCXN0cnVjdCBsaXN0X2hlYWQgKnAsICpwbmV4dDsKKwljb25zdCBjaGFyICoqZGlyOworCWNoYXIgKmRldm5hbWUgPSBOVUxMOworCisJLyogU2VlIGlmIHdlIGFscmVhZHkgaGF2ZSB0aGlzIGRldmljZSBudW1iZXIgaW4gdGhlIGNhY2hlLiAqLworCWxpc3RfZm9yX2VhY2hfc2FmZShwLCBwbmV4dCwgJmNhY2hlLT5iaWNfZGV2cykgeworCQlibGtpZF9kZXYgdG1wID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiwKKwkJCQkJICAgYmlkX2RldnMpOworCQlpZiAodG1wLT5iaWRfZGV2bm8gPT0gZGV2bm8pIHsKKwkJCWlmIChvbmx5X2lmX25ldyAmJiAhYWNjZXNzKHRtcC0+YmlkX25hbWUsIEZfT0spKQorCQkJCXJldHVybjsKKwkJCWRldiA9IGJsa2lkX3ZlcmlmeShjYWNoZSwgdG1wKTsKKwkJCWlmIChkZXYgJiYgKGRldi0+YmlkX2ZsYWdzICYgQkxLSURfQklEX0ZMX1ZFUklGSUVEKSkKKwkJCQlicmVhazsKKwkJCWRldiA9IE5VTEw7CisJCX0KKwl9CisJaWYgKGRldiAmJiBkZXYtPmJpZF9kZXZubyA9PSBkZXZubykKKwkJZ290byBzZXRfcHJpOworCisJLyogVHJ5IHRvIHRyYW5zbGF0ZSBwcml2YXRlIGRldmljZS1tYXBwZXIgZG0tPE4+IG5hbWVzCisJICogdG8gc3RhbmRhcmQgL2Rldi9tYXBwZXIvPG5hbWU+LgorCSAqLworCWlmICghc3RybmNtcChwdG5hbWUsICJkbS0iLCAzKSAmJiBpc2RpZ2l0KHB0bmFtZVszXSkpIHsKKwkJZGV2bmFtZSA9IGNhbm9uaWNhbGl6ZV9kbV9uYW1lKHB0bmFtZSk7CisJCWlmICghZGV2bmFtZSkKKwkJCWJsa2lkX19zY2FuX2RpcigiL2Rldi9tYXBwZXIiLCBkZXZubywgTlVMTCwgJmRldm5hbWUpOworCQlpZiAoZGV2bmFtZSkKKwkJCWdvdG8gZ2V0X2RldjsKKwl9CisKKwkvKgorCSAqIFRha2UgYSBxdWljayBsb29rIGF0IC9kZXYvcHRuYW1lIGZvciB0aGUgZGV2aWNlIG51bWJlci4gIFdlIGNoZWNrCisJICogYWxsIG9mIHRoZSBsaWtlbHkgZGV2aWNlIGRpcmVjdG9yaWVzLiAgSWYgd2UgZG9uJ3QgZmluZCBpdCwgb3IgaWYKKwkgKiB0aGUgc3RhdCBpbmZvcm1hdGlvbiBkb2Vzbid0IGNoZWNrIG91dCwgdXNlIGJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoKQorCSAqIHRvIGZpbmQgaXQgdmlhIGFuIGV4aGF1c3RpdmUgc2VhcmNoIGZvciB0aGUgZGV2aWNlIG1ham9yL21pbm9yLgorCSAqLworCWZvciAoZGlyID0gZGlybGlzdDsgKmRpcjsgZGlyKyspIHsKKwkJc3RydWN0IHN0YXQgc3Q7CisJCWNoYXIgZGV2aWNlWzI1Nl07CisKKwkJc25wcmludGYoZGV2aWNlLCBzaXplb2YoZGV2aWNlKSwgIiVzLyVzIiwgKmRpciwgcHRuYW1lKTsKKwkJaWYgKChkZXYgPSBibGtpZF9nZXRfZGV2KGNhY2hlLCBkZXZpY2UsIEJMS0lEX0RFVl9GSU5EKSkgJiYKKwkJICAgIGRldi0+YmlkX2Rldm5vID09IGRldm5vKQorCQkJZ290byBzZXRfcHJpOworCisJCWlmIChzdGF0KGRldmljZSwgJnN0KSA9PSAwICYmCisJCSAgICAoU19JU0JMSyhzdC5zdF9tb2RlKSB8fAorCQkgICAgIChTX0lTQ0hSKHN0LnN0X21vZGUpICYmICFzdHJuY21wKHB0bmFtZSwgInViaSIsIDMpKSkgJiYKKwkJICAgIHN0LnN0X3JkZXYgPT0gZGV2bm8pIHsKKwkJCWRldm5hbWUgPSBzdHJkdXAoZGV2aWNlKTsKKwkJCWdvdG8gZ2V0X2RldjsKKwkJfQorCX0KKwkvKiBEbyBhIHNob3J0LWN1dCBzY2FuIG9mIC9kZXYvbWFwcGVyIGZpcnN0ICovCisJaWYgKCFkZXZuYW1lKQorCQlibGtpZF9fc2Nhbl9kaXIoIi9kZXYvbWFwcGVyIiwgZGV2bm8sIE5VTEwsICZkZXZuYW1lKTsKKwlpZiAoIWRldm5hbWUpIHsKKwkJZGV2bmFtZSA9IGJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoZGV2bm8pOworCQlpZiAoIWRldm5hbWUpCisJCQlyZXR1cm47CisJfQorCitnZXRfZGV2OgorCWRldiA9IGJsa2lkX2dldF9kZXYoY2FjaGUsIGRldm5hbWUsIEJMS0lEX0RFVl9OT1JNQUwpOworCWZyZWUoZGV2bmFtZSk7CisKK3NldF9wcmk6CisJaWYgKGRldikgeworCQlpZiAocHJpKQorCQkJZGV2LT5iaWRfcHJpID0gcHJpOworCQllbHNlIGlmICghc3RybmNtcChkZXYtPmJpZF9uYW1lLCAiL2Rldi9tYXBwZXIvIiwgMTEpKSB7CisJCQlkZXYtPmJpZF9wcmkgPSBCTEtJRF9QUklfRE07CisJCQlpZiAoaXNfZG1fbGVhZihwdG5hbWUpKQorCQkJCWRldi0+YmlkX3ByaSArPSA1OworCQl9IGVsc2UgaWYgKCFzdHJuY21wKHB0bmFtZSwgIm1kIiwgMikpCisJCQlkZXYtPmJpZF9wcmkgPSBCTEtJRF9QUklfTUQ7CisJCWlmIChyZW1vdmFibGUpCisJCQlkZXYtPmJpZF9mbGFncyB8PSBCTEtJRF9CSURfRkxfUkVNT1ZBQkxFOworCX0KKwlyZXR1cm47Cit9CisKKyNkZWZpbmUgUFJPQ19QQVJUSVRJT05TICIvcHJvYy9wYXJ0aXRpb25zIgorI2RlZmluZSBWR19ESVIJCSIvcHJvYy9sdm0vVkdzIgorCisvKgorICogVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUgVVVJRCBjYWNoZSB3aXRoIGRldmljZXMgZnJvbSB0aGUgTFZNCisgKiBwcm9jIGhpZXJhcmNoeS4gIFdlIGN1cnJlbnRseSBkZXBlbmQgb24gdGhlIG5hbWVzIG9mIHRoZSBMVk0KKyAqIGhpZXJhcmNoeSBnaXZpbmcgdXMgdGhlIGRldmljZSBzdHJ1Y3R1cmUgaW4gL2Rldi4gIChYWFggaXMgdGhpcyBhCisgKiBzYWZlIHRoaW5nIHRvIGRvPykKKyAqLworI2lmZGVmIFZHX0RJUgorc3RhdGljIGRldl90IGx2bV9nZXRfZGV2bm8oY29uc3QgY2hhciAqbHZtX2RldmljZSkKK3sKKwlGSUxFICpsdmY7CisJY2hhciBidWZbMTAyNF07CisJaW50IG1hLCBtaTsKKwlkZXZfdCByZXQgPSAwOworCisJREJHKERFVk5BTUUsIHVsX2RlYnVnKCJvcGVuaW5nICVzIiwgbHZtX2RldmljZSkpOworCWlmICgobHZmID0gZm9wZW4obHZtX2RldmljZSwgInIiIFVMX0NMT0VYRUNTVFIpKSA9PSBOVUxMKSB7CisJCURCRyhERVZOQU1FLCB1bF9kZWJ1ZygiJXM6ICglZCkgJW0iLCBsdm1fZGV2aWNlLCBlcnJubykpOworCQlyZXR1cm4gMDsKKwl9CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgbHZmKSkgeworCQlpZiAoc3NjYW5mKGJ1ZiwgImRldmljZTogJWQ6JWQiLCAmbWEsICZtaSkgPT0gMikgeworCQkJcmV0ID0gbWFrZWRldihtYSwgbWkpOworCQkJYnJlYWs7CisJCX0KKwl9CisJZmNsb3NlKGx2Zik7CisKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBsdm1fcHJvYmVfYWxsKGJsa2lkX2NhY2hlIGNhY2hlLCBpbnQgb25seV9pZl9uZXcpCit7CisJRElSCQkqdmdfbGlzdDsKKwlzdHJ1Y3QgZGlyZW50CSp2Z19pdGVyOworCWludAkJdmdfbGVuID0gc3RybGVuKFZHX0RJUik7CisJZGV2X3QJCWRldjsKKworCWlmICgodmdfbGlzdCA9IG9wZW5kaXIoVkdfRElSKSkgPT0gTlVMTCkKKwkJcmV0dXJuOworCisJREJHKERFVk5BTUUsIHVsX2RlYnVnKCJwcm9iaW5nIExWTSBkZXZpY2VzIHVuZGVyICVzIiwgVkdfRElSKSk7CisKKwl3aGlsZSAoKHZnX2l0ZXIgPSByZWFkZGlyKHZnX2xpc3QpKSAhPSBOVUxMKSB7CisJCURJUgkJKmx2X2xpc3Q7CisJCWNoYXIJCSp2ZGlybmFtZTsKKwkJY2hhcgkJKnZnX25hbWU7CisJCXN0cnVjdCBkaXJlbnQJKmx2X2l0ZXI7CisKKwkJdmdfbmFtZSA9IHZnX2l0ZXItPmRfbmFtZTsKKwkJaWYgKCFzdHJjbXAodmdfbmFtZSwgIi4iKSB8fCAhc3RyY21wKHZnX25hbWUsICIuLiIpKQorCQkJY29udGludWU7CisJCXZkaXJuYW1lID0gbWFsbG9jKHZnX2xlbiArIHN0cmxlbih2Z19uYW1lKSArIDgpOworCQlpZiAoIXZkaXJuYW1lKQorCQkJZ290byBleGl0OworCQlzcHJpbnRmKHZkaXJuYW1lLCAiJXMvJXMvTFZzIiwgVkdfRElSLCB2Z19uYW1lKTsKKworCQlsdl9saXN0ID0gb3BlbmRpcih2ZGlybmFtZSk7CisJCWZyZWUodmRpcm5hbWUpOworCQlpZiAobHZfbGlzdCA9PSBOVUxMKQorCQkJY29udGludWU7CisKKwkJd2hpbGUgKChsdl9pdGVyID0gcmVhZGRpcihsdl9saXN0KSkgIT0gTlVMTCkgeworCQkJY2hhcgkJKmx2X25hbWUsICpsdm1fZGV2aWNlOworCisJCQlsdl9uYW1lID0gbHZfaXRlci0+ZF9uYW1lOworCQkJaWYgKCFzdHJjbXAobHZfbmFtZSwgIi4iKSB8fCAhc3RyY21wKGx2X25hbWUsICIuLiIpKQorCQkJCWNvbnRpbnVlOworCisJCQlsdm1fZGV2aWNlID0gbWFsbG9jKHZnX2xlbiArIHN0cmxlbih2Z19uYW1lKSArCisJCQkJCSAgICBzdHJsZW4obHZfbmFtZSkgKyA4KTsKKwkJCWlmICghbHZtX2RldmljZSkgeworCQkJCWNsb3NlZGlyKGx2X2xpc3QpOworCQkJCWdvdG8gZXhpdDsKKwkJCX0KKwkJCXNwcmludGYobHZtX2RldmljZSwgIiVzLyVzL0xWcy8lcyIsIFZHX0RJUiwgdmdfbmFtZSwKKwkJCQlsdl9uYW1lKTsKKwkJCWRldiA9IGx2bV9nZXRfZGV2bm8obHZtX2RldmljZSk7CisJCQlzcHJpbnRmKGx2bV9kZXZpY2UsICIlcy8lcyIsIHZnX25hbWUsIGx2X25hbWUpOworCQkJREJHKERFVk5BTUUsIHVsX2RlYnVnKCJMVk0gZGV2ICVzOiBkZXZubyAweCUwNFgiLAorCQkJCQkJICBsdm1fZGV2aWNlLAorCQkJCQkJICAodW5zaWduZWQgaW50KSBkZXYpKTsKKwkJCXByb2JlX29uZShjYWNoZSwgbHZtX2RldmljZSwgZGV2LCBCTEtJRF9QUklfTFZNLAorCQkJCSAgb25seV9pZl9uZXcsIDApOworCQkJZnJlZShsdm1fZGV2aWNlKTsKKwkJfQorCQljbG9zZWRpcihsdl9saXN0KTsKKwl9CitleGl0OgorCWNsb3NlZGlyKHZnX2xpc3QpOworfQorI2VuZGlmCisKKyNkZWZpbmUgUFJPQ19FVk1TX1ZPTFVNRVMgIi9wcm9jL2V2bXMvdm9sdW1lcyIKKworc3RhdGljIGludAorZXZtc19wcm9iZV9hbGwoYmxraWRfY2FjaGUgY2FjaGUsIGludCBvbmx5X2lmX25ldykKK3sKKwljaGFyIGxpbmVbMTAwXTsKKwlpbnQgbWEsIG1pLCBzeiwgbnVtID0gMDsKKwlGSUxFICpwcm9jcHQ7CisJY2hhciBkZXZpY2VbMTEwXTsKKworCXByb2NwdCA9IGZvcGVuKFBST0NfRVZNU19WT0xVTUVTLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKCFwcm9jcHQpCisJCXJldHVybiAwOworCXdoaWxlIChmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIHByb2NwdCkpIHsKKwkJaWYgKHNzY2FuZiAobGluZSwgIiAlZCAlZCAlZCAlKnMgJSpzICVbXlxuIF0iLAorCQkJICAgICZtYSwgJm1pLCAmc3osIGRldmljZSkgIT0gNCkKKwkJCWNvbnRpbnVlOworCisJCURCRyhERVZOQU1FLCB1bF9kZWJ1ZygiQ2hlY2tpbmcgcGFydGl0aW9uICVzICglZCwgJWQpIiwKKwkJCQkJICBkZXZpY2UsIG1hLCBtaSkpOworCisJCXByb2JlX29uZShjYWNoZSwgZGV2aWNlLCBtYWtlZGV2KG1hLCBtaSksIEJMS0lEX1BSSV9FVk1TLAorCQkJICBvbmx5X2lmX25ldywgMCk7CisJCW51bSsrOworCX0KKwlmY2xvc2UocHJvY3B0KTsKKwlyZXR1cm4gbnVtOworfQorCitzdGF0aWMgdm9pZAordWJpX3Byb2JlX2FsbChibGtpZF9jYWNoZSBjYWNoZSwgaW50IG9ubHlfaWZfbmV3KQoreworCWNvbnN0IGNoYXIgKipkaXJuYW1lOworCisJZm9yIChkaXJuYW1lID0gZGlybGlzdDsgKmRpcm5hbWU7IGRpcm5hbWUrKykgeworCQlESVIJCSpkaXI7CisJCXN0cnVjdCBkaXJlbnQJKml0ZXI7CisKKwkJREJHKERFVk5BTUUsIHVsX2RlYnVnKCJwcm9iaW5nIFVCSSB2b2x1bWVzIHVuZGVyICVzIiwKKwkJCQkJICAqZGlybmFtZSkpOworCisJCWRpciA9IG9wZW5kaXIoKmRpcm5hbWUpOworCQlpZiAoZGlyID09IE5VTEwpCisJCQljb250aW51ZSA7CisKKwkJd2hpbGUgKChpdGVyID0gcmVhZGRpcihkaXIpKSAhPSBOVUxMKSB7CisJCQljaGFyCQkqbmFtZTsKKwkJCXN0cnVjdCBzdGF0CXN0OworCQkJZGV2X3QJCWRldjsKKworCQkJbmFtZSA9IGl0ZXItPmRfbmFtZTsKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCQlpZiAoaXRlci0+ZF90eXBlICE9IERUX1VOS05PV04gJiYKKwkJCSAgICBpdGVyLT5kX3R5cGUgIT0gRFRfQ0hSICYmIGl0ZXItPmRfdHlwZSAhPSBEVF9MTkspCisJCQkJY29udGludWU7CisjZW5kaWYKKwkJCWlmICghc3RyY21wKG5hbWUsICIuIikgfHwgIXN0cmNtcChuYW1lLCAiLi4iKSB8fAorCQkJICAgICFzdHJzdHIobmFtZSwgInViaSIpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKCFzdHJjbXAobmFtZSwgInViaV9jdHJsIikpCisJCQkJY29udGludWU7CisJCQlpZiAoZnN0YXRhdChkaXJmZChkaXIpLCBuYW1lLCAmc3QsIDApKQorCQkJCWNvbnRpbnVlOworCisJCQlkZXYgPSBzdC5zdF9yZGV2OworCisJCQlpZiAoIVNfSVNDSFIoc3Quc3RfbW9kZSkgfHwgIW1pbm9yKGRldikpCisJCQkJY29udGludWU7CisJCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoIlVCSSB2b2wgJXMvJXM6IGRldm5vIDB4JTA0WCIsCisJCQkJICAqZGlybmFtZSwgbmFtZSwgKGludCkgZGV2KSk7CisJCQlwcm9iZV9vbmUoY2FjaGUsIG5hbWUsIGRldiwgQkxLSURfUFJJX1VCSSwgb25seV9pZl9uZXcsIDApOworCQl9CisJCWNsb3NlZGlyKGRpcik7CisJfQorfQorCisvKgorICogUmVhZCB0aGUgZGV2aWNlIGRhdGEgZm9yIGFsbCBhdmFpbGFibGUgYmxvY2sgZGV2aWNlcyBpbiB0aGUgc3lzdGVtLgorICovCitzdGF0aWMgaW50IHByb2JlX2FsbChibGtpZF9jYWNoZSBjYWNoZSwgaW50IG9ubHlfaWZfbmV3KQoreworCUZJTEUgKnByb2M7CisJY2hhciBsaW5lWzEwMjRdOworCWNoYXIgcHRuYW1lMFsxMjggKyAxXSwgcHRuYW1lMVsxMjggKyAxXSwgKnB0bmFtZSA9IE5VTEw7CisJY2hhciAqcHRuYW1lc1syXTsKKwlkZXZfdCBkZXZzWzJdOworCWludCBtYSwgbWk7CisJdW5zaWduZWQgbG9uZyBsb25nIHN6OworCWludCBsZW5zWzJdID0geyAwLCAwIH07CisJaW50IHdoaWNoID0gMCwgbGFzdCA9IDA7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnBuZXh0OworCisJcHRuYW1lc1swXSA9IHB0bmFtZTA7CisJcHRuYW1lc1sxXSA9IHB0bmFtZTE7CisKKwlpZiAoIWNhY2hlKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9QQVJBTTsKKworCWlmIChjYWNoZS0+YmljX2ZsYWdzICYgQkxLSURfQklDX0ZMX1BST0JFRCAmJgorCSAgICB0aW1lKE5VTEwpIC0gY2FjaGUtPmJpY190aW1lIDwgQkxLSURfUFJPQkVfSU5URVJWQUwpCisJCXJldHVybiAwOworCisJYmxraWRfcmVhZF9jYWNoZShjYWNoZSk7CisJZXZtc19wcm9iZV9hbGwoY2FjaGUsIG9ubHlfaWZfbmV3KTsKKyNpZmRlZiBWR19ESVIKKwlsdm1fcHJvYmVfYWxsKGNhY2hlLCBvbmx5X2lmX25ldyk7CisjZW5kaWYKKwl1YmlfcHJvYmVfYWxsKGNhY2hlLCBvbmx5X2lmX25ldyk7CisKKwlwcm9jID0gZm9wZW4oUFJPQ19QQVJUSVRJT05TLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKCFwcm9jKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9QUk9DOworCisJd2hpbGUgKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgcHJvYykpIHsKKwkJbGFzdCA9IHdoaWNoOworCQl3aGljaCBePSAxOworCQlwdG5hbWUgPSBwdG5hbWVzW3doaWNoXTsKKworCQlpZiAoc3NjYW5mKGxpbmUsICIgJWQgJWQgJWxsdSAlMTI4W15cbiBdIiwKKwkJCSAgICZtYSwgJm1pLCAmc3osIHB0bmFtZSkgIT0gNCkKKwkJCWNvbnRpbnVlOworCQlkZXZzW3doaWNoXSA9IG1ha2VkZXYobWEsIG1pKTsKKworCQlEQkcoREVWTkFNRSwgdWxfZGVidWcoInJlYWQgcGFydGl0aW9uIG5hbWUgJXMiLCBwdG5hbWUpKTsKKworCQkvKiBTa2lwIHdob2xlIGRpc2sgZGV2cyB1bmxlc3MgdGhleSBoYXZlIG5vIHBhcnRpdGlvbnMuCisJCSAqIElmIGJhc2UgbmFtZSBvZiBkZXZpY2UgaGFzIGNoYW5nZWQsIGFsc28KKwkJICogY2hlY2sgcHJldmlvdXMgZGV2IHRvIHNlZSBpZiBpdCBkaWRuJ3QgaGF2ZSBhIHBhcnRuLgorCQkgKiBoZXVyaXN0aWM6IHBhcnRpdGlvbiBuYW1lIGVuZHMgaW4gYSBkaWdpdCwgJiBwYXJ0aXRpb24KKwkJICogbmFtZXMgY29udGFpbiB3aG9sZSBkZXZpY2UgbmFtZSBhcyBzdWJzdHJpbmcuCisJCSAqCisJCSAqIFNraXAgZXh0ZW5kZWQgcGFydGl0aW9ucy4KKwkJICogaGV1cmlzdGljOiBzaXplIGlzIDEKKwkJICoKKwkJICogRklYTUU6IHNraXAgL2Rldi97aWRhLGNjaXNzLHJkfSB3aG9sZS1kaXNrIGRldnMKKwkJICovCisKKwkJbGVuc1t3aGljaF0gPSBzdHJsZW4ocHRuYW1lKTsKKworCQkvKiBlbmRzIGluIGEgZGlnaXQsIGNsZWFybHkgYSBwYXJ0aXRpb24sIHNvIGNoZWNrICovCisJCWlmIChpc2RpZ2l0KHB0bmFtZVtsZW5zW3doaWNoXSAtIDFdKSkgeworCQkJREJHKERFVk5BTUUsIHVsX2RlYnVnKCJwYXJ0aXRpb24gZGV2ICVzLCBkZXZubyAweCUwNFgiLAorCQkJCSAgIHB0bmFtZSwgKHVuc2lnbmVkIGludCkgZGV2c1t3aGljaF0pKTsKKworCQkJaWYgKHN6ID4gMSkKKwkJCQlwcm9iZV9vbmUoY2FjaGUsIHB0bmFtZSwgZGV2c1t3aGljaF0sIDAsCisJCQkJCSAgb25seV9pZl9uZXcsIDApOworCQkJbGVuc1t3aGljaF0gPSAwOwkvKiBtYXJrIGFzIGNoZWNrZWQgKi8KKwkJfQorCisJCS8qCisJCSAqIElmIGxhc3Qgd2FzIGEgd2hvbGUgZGlzayBhbmQgd2UganVzdCBmb3VuZCBhIHBhcnRpdGlvbgorCQkgKiBvbiBpdCwgcmVtb3ZlIHRoZSB3aG9sZS1kaXNrIGRldiBmcm9tIHRoZSBjYWNoZSBpZgorCQkgKiBpdCBleGlzdHMuCisJCSAqLworCQlpZiAobGVuc1tsYXN0XSAmJiAhc3RybmNtcChwdG5hbWVzW2xhc3RdLCBwdG5hbWUsIGxlbnNbbGFzdF0pKSB7CisJCQlsaXN0X2Zvcl9lYWNoX3NhZmUocCwgcG5leHQsICZjYWNoZS0+YmljX2RldnMpIHsKKwkJCQlibGtpZF9kZXYgdG1wOworCisJCQkJLyogZmluZCBibGtpZCBkZXYgZm9yIHRoZSB3aG9sZS1kaXNrIGRldm5vICovCisJCQkJdG1wID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X2RldiwKKwkJCQkJCSBiaWRfZGV2cyk7CisJCQkJaWYgKHRtcC0+YmlkX2Rldm5vID09IGRldnNbbGFzdF0pIHsKKwkJCQkJREJHKERFVk5BTUUsIHVsX2RlYnVnKCJmcmVlaW5nICVzIiwKKwkJCQkJCSAgICAgICB0bXAtPmJpZF9uYW1lKSk7CisJCQkJCWJsa2lkX2ZyZWVfZGV2KHRtcCk7CisJCQkJCWNhY2hlLT5iaWNfZmxhZ3MgfD0gQkxLSURfQklDX0ZMX0NIQU5HRUQ7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJCWxlbnNbbGFzdF0gPSAwOworCQl9CisJCS8qCisJCSAqIElmIGxhc3Qgd2FzIG5vdCBjaGVja2VkIGJlY2F1c2UgaXQgbG9va2VkIGxpa2UgYSB3aG9sZS1kaXNrCisJCSAqIGRldiwgYW5kIHRoZSBkZXZpY2UncyBiYXNlIG5hbWUgaGFzIGNoYW5nZWQsCisJCSAqIGNoZWNrIGxhc3QgYXMgd2VsbC4KKwkJICovCisJCWlmIChsZW5zW2xhc3RdICYmIHN0cm5jbXAocHRuYW1lc1tsYXN0XSwgcHRuYW1lLCBsZW5zW2xhc3RdKSkgeworCQkJREJHKERFVk5BTUUsIHVsX2RlYnVnKCJ3aG9sZSBkZXYgJXMsIGRldm5vIDB4JTA0WCIsCisJCQkJICAgcHRuYW1lc1tsYXN0XSwgKHVuc2lnbmVkIGludCkgZGV2c1tsYXN0XSkpOworCQkJcHJvYmVfb25lKGNhY2hlLCBwdG5hbWVzW2xhc3RdLCBkZXZzW2xhc3RdLCAwLAorCQkJCSAgb25seV9pZl9uZXcsIDApOworCQkJbGVuc1tsYXN0XSA9IDA7CisJCX0KKwl9CisKKwkvKiBIYW5kbGUgdGhlIGxhc3QgZGV2aWNlIGlmIGl0IHdhc24ndCBwYXJ0aXRpb25lZCAqLworCWlmIChsZW5zW3doaWNoXSkKKwkJcHJvYmVfb25lKGNhY2hlLCBwdG5hbWUsIGRldnNbd2hpY2hdLCAwLCBvbmx5X2lmX25ldywgMCk7CisKKwlmY2xvc2UocHJvYyk7CisJYmxraWRfZmx1c2hfY2FjaGUoY2FjaGUpOworCXJldHVybiAwOworfQorCisvKiBEb24ndCB1c2UgaXQgYnkgZGVmYXVsdCAtLSBpdCdzIHByZXR0eSBzbG93IChiZWNhdXNlIGNkcm9tcywgZmxvcHB5LCAuLi4pCisgKi8KK3N0YXRpYyBpbnQgcHJvYmVfYWxsX3JlbW92YWJsZShibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlzdHJ1Y3QgcGF0aF9jeHQgKnBjOworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisKKwlpZiAoIWNhY2hlKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9QQVJBTTsKKworCWRpciA9IG9wZW5kaXIoX1BBVEhfU1lTX0JMT0NLKTsKKwlpZiAoIWRpcikKKwkJcmV0dXJuIC1CTEtJRF9FUlJfUFJPQzsKKworCXBjID0gdWxfbmV3X3BhdGgoTlVMTCk7CisKKwl3aGlsZSgoZCA9IHJlYWRkaXIoZGlyKSkpIHsKKwkJaW50IHJlbW92YWJsZSA9IDA7CisJCWRldl90IGRldm5vOworCisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQlpZiAoZC0+ZF90eXBlICE9IERUX1VOS05PV04gJiYgZC0+ZF90eXBlICE9IERUX0xOSykKKwkJCWNvbnRpbnVlOworI2VuZGlmCisJCWlmIChkLT5kX25hbWVbMF0gPT0gJy4nICYmCisJCSAgICAoKGQtPmRfbmFtZVsxXSA9PSAwKSB8fAorCQkgICAgICgoZC0+ZF9uYW1lWzFdID09ICcuJykgJiYgKGQtPmRfbmFtZVsyXSA9PSAwKSkpKQorCQkJY29udGludWU7CisKKwkJZGV2bm8gPSBzeXNmc19kZXZuYW1lX3RvX2Rldm5vKGQtPmRfbmFtZSk7CisJCWlmICghZGV2bm8pCisJCQljb250aW51ZTsKKworCQlpZiAoc3lzZnNfYmxrZGV2X2luaXRfcGF0aChwYywgZGV2bm8sIE5VTEwpID09IDAKKwkJICAgICYmIHVsX3BhdGhfcmVhZF9zMzIocGMsICZyZW1vdmFibGUsICJyZW1vdmFibGUiKSAhPSAwKQorCQkJCXJlbW92YWJsZSA9IDA7CisKKwkJaWYgKHJlbW92YWJsZSkKKwkJCXByb2JlX29uZShjYWNoZSwgZC0+ZF9uYW1lLCBkZXZubywgMCwgMCwgMSk7CisJfQorCisJdWxfdW5yZWZfcGF0aChwYyk7CisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gMDsKK30KKworCisvKioKKyAqIGJsa2lkX3Byb2JlX2FsbDoKKyAqIEBjYWNoZTogY2FjaGUgaGFuZGxlcgorICoKKyAqIFByb2JlcyBhbGwgYmxvY2sgZGV2aWNlcy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIG51bWJlciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfYWxsKGJsa2lkX2NhY2hlIGNhY2hlKQoreworCWludCByZXQ7CisKKwlEQkcoUFJPQkUsIHVsX2RlYnVnKCJCZWdpbiBibGtpZF9wcm9iZV9hbGwoKSIpKTsKKwlyZXQgPSBwcm9iZV9hbGwoY2FjaGUsIDApOworCWlmIChyZXQgPT0gMCkgeworCQljYWNoZS0+YmljX3RpbWUgPSB0aW1lKE5VTEwpOworCQljYWNoZS0+YmljX2ZsYWdzIHw9IEJMS0lEX0JJQ19GTF9QUk9CRUQ7CisJfQorCURCRyhQUk9CRSwgdWxfZGVidWcoIkVuZCBibGtpZF9wcm9iZV9hbGwoKSBbcmM9JWRdIiwgcmV0KSk7CisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9hbGxfbmV3OgorICogQGNhY2hlOiBjYWNoZSBoYW5kbGVyCisgKgorICogUHJvYmVzIGFsbCBuZXcgYmxvY2sgZGV2aWNlcy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIG51bWJlciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfYWxsX25ldyhibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlpbnQgcmV0OworCisJREJHKFBST0JFLCB1bF9kZWJ1ZygiQmVnaW4gYmxraWRfcHJvYmVfYWxsX25ldygpIikpOworCXJldCA9IHByb2JlX2FsbChjYWNoZSwgMSk7CisJREJHKFBST0JFLCB1bF9kZWJ1ZygiRW5kIGJsa2lkX3Byb2JlX2FsbF9uZXcoKSBbcmM9JWRdIiwgcmV0KSk7CisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9hbGxfcmVtb3ZhYmxlOgorICogQGNhY2hlOiBjYWNoZSBoYW5kbGVyCisgKgorICogVGhlIGxpYmJsa2lkIHByb2JpbmcgaXMgYmFzZWQgb24gZGV2aWNlcyBmcm9tIC9wcm9jL3BhcnRpdGlvbnMgYnkgZGVmYXVsdC4KKyAqIFRoaXMgZmlsZSB1c3VhbGx5IGRvZXMgbm90IGNvbnRhaW4gcmVtb3ZhYmxlIGRldmljZXMgKGUuZy4gQ0RST01zKSBhbmQgdGhpcyBraW5kCisgKiBvZiBkZXZpY2VzIGFyZSBpbnZpc2libGUgZm9yIGxpYmJsa2lkLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWRkcyByZW1vdmFibGUgYmxvY2sgZGV2aWNlcyB0byBAY2FjaGUgKHByb2JpbmcgaXMgYmFzZWQgb24KKyAqIGluZm9ybWF0aW9uIGZyb20gdGhlIC9zeXMgZGlyZWN0b3J5KS4gRG9uJ3QgZm9yZ2V0IHRoYXQgcmVtb3ZhYmxlIGRldmljZXMKKyAqIChmbG9wcGllcywgQ0RST01zLCAuLi4pIGNvdWxkIGJlIHByZXR0eSBzbG93LiBJdCdzIHZlcnkgYmFkIGlkZWEgdG8gY2FsbAorICogdGhpcyBmdW5jdGlvbiBieSBkZWZhdWx0LgorICoKKyAqIE5vdGUgdGhhdCBkZXZpY2VzIHdoaWNoIHdlcmUgZGV0ZWN0ZWQgYnkgdGhpcyBmdW5jdGlvbiB3b24ndCBiZSB3cml0dGVuIHRvCisgKiBibGtpZC50YWIgY2FjaGUgZmlsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIG51bWJlciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfYWxsX3JlbW92YWJsZShibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlpbnQgcmV0OworCisJREJHKFBST0JFLCB1bF9kZWJ1ZygiQmVnaW4gYmxraWRfcHJvYmVfYWxsX3JlbW92YWJsZSgpIikpOworCXJldCA9IHByb2JlX2FsbF9yZW1vdmFibGUoY2FjaGUpOworCURCRyhQUk9CRSwgdWxfZGVidWcoIkVuZCBibGtpZF9wcm9iZV9hbGxfcmVtb3ZhYmxlKCkgW3JjPSVkXSIsIHJldCkpOworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlibGtpZF9jYWNoZSBjYWNoZSA9IE5VTEw7CisJaW50IHJldDsKKworCWJsa2lkX2luaXRfZGVidWcoQkxLSURfREVCVUdfQUxMKTsKKwlpZiAoYXJnYyAhPSAxKSB7CisJCWZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzXG4iCisJCQkiUHJvYmUgYWxsIGRldmljZXMgYW5kIGV4aXRcbiIsIGFyZ3ZbMF0pOworCQlleGl0KDEpOworCX0KKwlpZiAoKHJldCA9IGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsICIvZGV2L251bGwiKSkgIT0gMCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBlcnJvciBjcmVhdGluZyBjYWNoZSAoJWQpXG4iLAorCQkJYXJndlswXSwgcmV0KTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKGJsa2lkX3Byb2JlX2FsbChjYWNoZSkgPCAwKQorCQlwcmludGYoIiVzOiBlcnJvciBwcm9iaW5nIGRldmljZXNcbiIsIGFyZ3ZbMF0pOworCisJaWYgKGJsa2lkX3Byb2JlX2FsbF9yZW1vdmFibGUoY2FjaGUpIDwgMCkKKwkJcHJpbnRmKCIlczogZXJyb3IgcHJvYmluZyByZW1vdmFibGUgZGV2aWNlc1xuIiwgYXJndlswXSk7CisKKwlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCXJldHVybiAoMCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9kZXZuby5jIGIvbGliYmxraWQvc3JjL2Rldm5vLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODg4MmNkZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9kZXZuby5jCkBAIC0wLDAgKzEsMzc0IEBACisvKgorICogZGV2bm8uYyAtIGZpbmQgYSBwYXJ0aWN1bGFyIGRldmljZSBieSBpdHMgZGV2aWNlIG51bWJlciAobWFqb3IvbWlub3IpCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAwLCAyMDAxLCAyMDAzIFRoZW9kb3JlIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaWZkZWYgSEFWRV9TWVNfVFlQRVNfSAorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2lmZGVmIEhBVkVfRVJSTk9fSAorI2luY2x1ZGUgPGVycm5vLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19NS0RFVl9ICisjaW5jbHVkZSA8c3lzL21rZGV2Lmg+CisjZW5kaWYKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorCitzdGF0aWMgY2hhciAqYmxraWRfc3RyY29uY2F0KGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIsIGNvbnN0IGNoYXIgKmMpCit7CisJY2hhciAqcmVzLCAqcDsKKwlzaXplX3QgbGVuLCBhbCwgYmwsIGNsOworCisJYWwgPSBhID8gc3RybGVuKGEpIDogMDsKKwlibCA9IGIgPyBzdHJsZW4oYikgOiAwOworCWNsID0gYyA/IHN0cmxlbihjKSA6IDA7CisKKwlsZW4gPSBhbCArIGJsICsgY2w7CisJaWYgKCFsZW4pCisJCXJldHVybiBOVUxMOworCXAgPSByZXMgPSBtYWxsb2MobGVuICsgMSk7CisJaWYgKCFyZXMpCisJCXJldHVybiBOVUxMOworCWlmIChhbCkgeworCQltZW1jcHkocCwgYSwgYWwpOworCQlwICs9IGFsOworCX0KKwlpZiAoYmwpIHsKKwkJbWVtY3B5KHAsIGIsIGJsKTsKKwkJcCArPSBibDsKKwl9CisJaWYgKGNsKSB7CisJCW1lbWNweShwLCBjLCBjbCk7CisJCXAgKz0gY2w7CisJfQorCSpwID0gJ1wwJzsKKwlyZXR1cm4gcmVzOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiBhZGRzIGFuIGVudHJ5IHRvIHRoZSBkaXJlY3RvcnkgbGlzdAorICovCitzdGF0aWMgdm9pZCBhZGRfdG9fZGlybGlzdChjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnN1YmRpciwKKwkJCQlzdHJ1Y3QgZGlyX2xpc3QgKipsaXN0KQoreworCXN0cnVjdCBkaXJfbGlzdCAqZHA7CisKKwlkcCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGRpcl9saXN0KSk7CisJaWYgKCFkcCkKKwkJcmV0dXJuOworCWRwLT5uYW1lID0gc3ViZGlyID8gYmxraWRfc3RyY29uY2F0KGRpciwgIi8iLCBzdWJkaXIpIDoKKwkJICAgZGlyID8gc3RyZHVwKGRpcikgOiBOVUxMOworCisJaWYgKCFkcC0+bmFtZSkgeworCQlmcmVlKGRwKTsKKwkJcmV0dXJuOworCX0KKwlkcC0+bmV4dCA9ICpsaXN0OworCSpsaXN0ID0gZHA7Cit9CisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGZyZWVzIGEgZGlyZWN0b3J5IGxpc3QKKyAqLworc3RhdGljIHZvaWQgZnJlZV9kaXJsaXN0KHN0cnVjdCBkaXJfbGlzdCAqKmxpc3QpCit7CisJc3RydWN0IGRpcl9saXN0ICpkcCwgKm5leHQ7CisKKwlmb3IgKGRwID0gKmxpc3Q7IGRwOyBkcCA9IG5leHQpIHsKKwkJbmV4dCA9IGRwLT5uZXh0OworCQlmcmVlKGRwLT5uYW1lKTsKKwkJZnJlZShkcCk7CisJfQorCSpsaXN0ID0gTlVMTDsKK30KKwordm9pZCBibGtpZF9fc2Nhbl9kaXIoY2hhciAqZGlybmFtZSwgZGV2X3QgZGV2bm8sIHN0cnVjdCBkaXJfbGlzdCAqKmxpc3QsCisJCSAgICAgY2hhciAqKmRldm5hbWUpCit7CisJRElSCSpkaXI7CisJc3RydWN0IGRpcmVudCAqZHA7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoKGRpciA9IG9wZW5kaXIoZGlybmFtZSkpID09IE5VTEwpCisJCXJldHVybjsKKworCXdoaWxlICgoZHAgPSByZWFkZGlyKGRpcikpICE9IE5VTEwpIHsKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCWlmIChkcC0+ZF90eXBlICE9IERUX1VOS05PV04gJiYgZHAtPmRfdHlwZSAhPSBEVF9CTEsgJiYKKwkJICAgIGRwLT5kX3R5cGUgIT0gRFRfTE5LICYmIGRwLT5kX3R5cGUgIT0gRFRfRElSKQorCQkJY29udGludWU7CisjZW5kaWYKKwkJaWYgKGRwLT5kX25hbWVbMF0gPT0gJy4nICYmCisJCSAgICAoKGRwLT5kX25hbWVbMV0gPT0gMCkgfHwKKwkJICAgICAoKGRwLT5kX25hbWVbMV0gPT0gJy4nKSAmJiAoZHAtPmRfbmFtZVsyXSA9PSAwKSkpKQorCQkJY29udGludWU7CisKKwkJaWYgKGZzdGF0YXQoZGlyZmQoZGlyKSwgZHAtPmRfbmFtZSwgJnN0LCAwKSkKKwkJCWNvbnRpbnVlOworCisJCWlmIChTX0lTQkxLKHN0LnN0X21vZGUpICYmIHN0LnN0X3JkZXYgPT0gZGV2bm8pIHsKKwkJCSpkZXZuYW1lID0gYmxraWRfc3RyY29uY2F0KGRpcm5hbWUsICIvIiwgZHAtPmRfbmFtZSk7CisJCQlEQkcoREVWTk8sIHVsX2RlYnVnKCJmb3VuZCAweCVsbHggYXQgJXMiLCAobG9uZyBsb25nKWRldm5vLAorCQkJCSAgICpkZXZuYW1lKSk7CisJCQlicmVhazsKKwkJfQorCisJCWlmICghbGlzdCB8fCAhU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJCWNvbnRpbnVlOworCisJCS8qIGFkZCBzdWJkaXJlY3RvcnkgKGJ1dCBub3Qgc3ltbGluaykgdG8gdGhlIGxpc3QgKi8KKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJCWlmIChkcC0+ZF90eXBlID09IERUX0xOSykKKwkJCWNvbnRpbnVlOworCQlpZiAoZHAtPmRfdHlwZSA9PSBEVF9VTktOT1dOKQorI2VuZGlmCisJCXsKKwkJCWlmIChmc3RhdGF0KGRpcmZkKGRpciksIGRwLT5kX25hbWUsICZzdCwgMSkgfHwKKwkJCSAgICAhU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJCQljb250aW51ZTsJLyogc3ltbGluayBvciBsc3RhdCgpIGZhaWxlZCAqLworCQl9CisKKwkJaWYgKCpkcC0+ZF9uYW1lID09ICcuJyB8fCAoCisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQkgICAgZHAtPmRfdHlwZSA9PSBEVF9ESVIgJiYKKyNlbmRpZgorCQkgICAgc3RyY21wKGRwLT5kX25hbWUsICJzaG0iKSA9PSAwKSkKKwkJCS8qIGlnbm9yZSAvZGV2Ly57dWRldixtb3VudCxtZGFkbX0gYW5kIC9kZXYvc2htICovCisJCQljb250aW51ZTsKKworCQlhZGRfdG9fZGlybGlzdChkaXJuYW1lLCBkcC0+ZF9uYW1lLCBsaXN0KTsKKwl9CisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm47Cit9CisKKy8qIERpcmVjdG9yaWVzIHdoZXJlIHdlIHdpbGwgdHJ5IHRvIHNlYXJjaCBmb3IgZGV2aWNlIG51bWJlcnMgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpkZXZkaXJzW10gPSB7ICIvZGV2aWNlcyIsICIvZGV2ZnMiLCAiL2RldiIsIE5VTEwgfTsKKworLyoqCisgKiBTRUNUSU9OOiBtaXNjCisgKiBAdGl0bGU6IE1pc2NlbGxhbmVvdXMgdXRpbHMKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogbWl4IG9mIHZhcmlvdXMgdXRpbHMgZm9yIGxvdy1sZXZlbCBhbmQgaGlnaC1sZXZlbCBBUEkKKyAqLworCisKKworc3RhdGljIGNoYXIgKnNjYW5kZXZfZGV2bm9fdG9fZGV2cGF0aChkZXZfdCBkZXZubykKK3sKKwlzdHJ1Y3QgZGlyX2xpc3QgKmxpc3QgPSBOVUxMLCAqbmV3X2xpc3QgPSBOVUxMOworCWNoYXIgKmRldm5hbWUgPSBOVUxMOworCWNvbnN0IGNoYXIgKipkaXI7CisKKwkvKgorCSAqIEFkZCB0aGUgc3RhcnRpbmcgZGlyZWN0b3JpZXMgdG8gc2VhcmNoIGluIHJldmVyc2Ugb3JkZXIgb2YKKwkgKiBpbXBvcnRhbmNlLCBzaW5jZSB3ZSBhcmUgdXNpbmcgYSBzdGFjay4uLgorCSAqLworCWZvciAoZGlyID0gZGV2ZGlyczsgKmRpcjsgZGlyKyspCisJCWFkZF90b19kaXJsaXN0KCpkaXIsIE5VTEwsICZsaXN0KTsKKworCXdoaWxlIChsaXN0KSB7CisJCXN0cnVjdCBkaXJfbGlzdCAqY3VycmVudCA9IGxpc3Q7CisKKwkJbGlzdCA9IGxpc3QtPm5leHQ7CisJCURCRyhERVZOTywgdWxfZGVidWcoImRpcmVjdG9yeSAlcyIsIGN1cnJlbnQtPm5hbWUpKTsKKwkJYmxraWRfX3NjYW5fZGlyKGN1cnJlbnQtPm5hbWUsIGRldm5vLCAmbmV3X2xpc3QsICZkZXZuYW1lKTsKKwkJZnJlZShjdXJyZW50LT5uYW1lKTsKKwkJZnJlZShjdXJyZW50KTsKKwkJaWYgKGRldm5hbWUpCisJCQlicmVhazsKKwkJLyoKKwkJICogSWYgd2UncmUgZG9uZSBjaGVja2luZyBhdCB0aGlzIGxldmVsLCBkZXNjZW5kIHRvCisJCSAqIHRoZSBuZXh0IGxldmVsIG9mIHN1YmRpcmVjdG9yaWVzLiAoYnJlYWR0aC1maXJzdCkKKwkJICovCisJCWlmIChsaXN0ID09IE5VTEwpIHsKKwkJCWxpc3QgPSBuZXdfbGlzdDsKKwkJCW5ld19saXN0ID0gTlVMTDsKKwkJfQorCX0KKwlmcmVlX2Rpcmxpc3QoJmxpc3QpOworCWZyZWVfZGlybGlzdCgmbmV3X2xpc3QpOworCisJcmV0dXJuIGRldm5hbWU7Cit9CisKKy8qKgorICogYmxraWRfZGV2bm9fdG9fZGV2bmFtZToKKyAqIEBkZXZubzogZGV2aWNlIG51bWJlcgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZmluZHMgdGhlIHBhdGhuYW1lIHRvIGEgYmxvY2sgZGV2aWNlIHdpdGggYSBnaXZlbgorICogZGV2aWNlIG51bWJlci4KKyAqCisgKiBSZXR1cm5zOiBhIHBvaW50ZXIgdG8gYWxsb2NhdGVkIG1lbW9yeSB0byB0aGUgcGF0aG5hbWUgb24gc3VjY2VzcywKKyAqIGFuZCBOVUxMIG9uIGZhaWx1cmUuCisgKi8KK2NoYXIgKmJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoZGV2X3QgZGV2bm8pCit7CisJY2hhciAqcGF0aDsKKwljaGFyIGJ1ZltQQVRIX01BWF07CisKKwlwYXRoID0gc3lzZnNfZGV2bm9fdG9fZGV2cGF0aChkZXZubywgYnVmLCBzaXplb2YoYnVmKSk7CisJaWYgKHBhdGgpCisJCXBhdGggPSBzdHJkdXAocGF0aCk7CisJaWYgKCFwYXRoKQorCQlwYXRoID0gc2NhbmRldl9kZXZub190b19kZXZwYXRoKGRldm5vKTsKKworCWlmICghcGF0aCkgeworCQlEQkcoREVWTk8sIHVsX2RlYnVnKCJibGtpZDogY291bGRuJ3QgZmluZCBkZXZubyAweCUwNGx4IiwKKwkJCSAgICh1bnNpZ25lZCBsb25nKSBkZXZubykpOworCX0gZWxzZSB7CisJCURCRyhERVZOTywgdWxfZGVidWcoImZvdW5kIGRldm5vIDB4JTA0bGx4IGFzICVzIiwgKGxvbmcgbG9uZylkZXZubywgcGF0aCkpOworCX0KKworCXJldHVybiBwYXRoOworfQorCisKKy8qKgorICogYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrOgorICogQGRldjogZGV2aWNlIG51bWJlcgorICogQGRpc2tuYW1lOiBidWZmZXIgdG8gcmV0dXJuIGRpc2tuYW1lIChvciBOVUxMKQorICogQGxlbjogZGlza25hbWUgYnVmZmVyIHNpemUgKG9yIDApCisgKiBAZGlza2Rldm5vOiBwb2ludGVyIHRvIHJldHVybnMgZGV2bm8gb2YgZW50aXJlIGRpc2sgKG9yIE5VTEwpCisgKgorICogVGhpcyBmdW5jdGlvbiB1c2VzIHN5c2ZzIHRvIGNvbnZlcnQgdGhlIEBkZXZubyBkZXZpY2UgbnVtYmVyIHRvIHRoZSAqbmFtZSoKKyAqIG9mIHRoZSB3aG9sZSBkaXNrLiBUaGUgZnVuY3Rpb24gRE9FUyBOT1QgcmV0dXJuIGZ1bGwgZGV2aWNlIG5hbWUuIFRoZSBAZGV2CisgKiBhcmd1bWVudCBjb3VsZCBiZSBwYXJ0aXRpb24gb3Igd2hvbGUgZGlzayAtLSBib3RoIGlzIGNvbnZlcnRlZC4KKyAqCisgKiBGb3IgZXhhbXBsZTogc2RhMSwgMHgwODAxIC0tPiBzZGEsIDB4MDgwMAorICoKKyAqIEZvciBjb252ZXJzaW9uIHRvIHRoZSBmdWxsIGRpc2sgKnBhdGgqIHVzZSBibGtpZF9kZXZub190b19kZXZuYW1lKCksIGZvcgorICogZXhhbXBsZToKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogIDxwcm9ncmFtbGlzdGluZz4KKyAqCisgKglkZXZfdCBkZXYgPSAweDA4MDEsIGRpc2s7CQkvLyBzZGExID0gODoxCisgKgljaGFyICpkaXNrcGF0aCwgZGlza25hbWVbMzJdOworICoKKyAqCWJsa2lkX2Rldm5vX3RvX3dob2xlZGlzayhkZXYsIGRpc2tuYW1lLCBzaXplb2YoZGlza25hbWUpLCAmZGlzayk7CisgKglkaXNrcGF0aCA9IGJsa2lkX2Rldm5vX3RvX2Rldm5hbWUoZGlzayk7CisgKgorICoJLy8gcHJpbnQgIjB4MDgwMTogc2RhLCAvZGV2L3NkYSwgODowCisgKglwcmludGYoIjB4JXg6ICVzLCAlcywgJWQ6JWRcbiIsCisgKgkJZGV2LCBkaXNrbmFtZSwgZGlza3BhdGgsIG1ham9yKGRpc2spLCBtaW5vcihkaXNrKSk7CisgKgorICoJZnJlZShkaXNrcGF0aCk7CisgKgorICogIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX2Rldm5vX3RvX3dob2xlZGlzayhkZXZfdCBkZXYsIGNoYXIgKmRpc2tuYW1lLAorCQkJc2l6ZV90IGxlbiwgZGV2X3QgKmRpc2tkZXZubykKK3sKKwlyZXR1cm4gc3lzZnNfZGV2bm9fdG9fd2hvbGVkaXNrKCBkZXYsIGRpc2tuYW1lLCBsZW4sIGRpc2tkZXZubyk7Cit9CisKKy8qCisgKiBSZXR1cm5zIDEgaWYgdGhlIEBtYWpvciBudW1iZXIgaXMgYXNzb2NpYXRlZCB3aXRoIEBkcnZuYW1lLgorICovCitpbnQgYmxraWRfZHJpdmVyX2hhc19tYWpvcihjb25zdCBjaGFyICpkcnZuYW1lLCBpbnQgZHJ2bWFqKQoreworCUZJTEUgKmY7CisJY2hhciBidWZbMTI4XTsKKwlpbnQgbWF0Y2ggPSAwOworCisJZiA9IGZvcGVuKF9QQVRIX1BST0NfREVWSUNFUywgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghZikKKwkJcmV0dXJuIDA7CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikpIHsJLyogc2tpcCB0byBibG9jayBkZXYgc2VjdGlvbiAqLworCQlpZiAoc3RybmNtcCgiQmxvY2sgZGV2aWNlczpcbiIsIGJ1Ziwgc2l6ZW9mKGJ1ZikpID09IDApCisJCQlicmVhazsKKwl9CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikpIHsKKwkJaW50IG1hajsKKwkJY2hhciBuYW1lWzY0ICsgMV07CisKKwkJaWYgKHNzY2FuZihidWYsICIlZCAlNjRbXlxuIF0iLCAmbWFqLCBuYW1lKSAhPSAyKQorCQkJY29udGludWU7CisKKwkJaWYgKG1haiA9PSBkcnZtYWogJiYgc3RyY21wKG5hbWUsIGRydm5hbWUpID09IDApIHsKKwkJCW1hdGNoID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJZmNsb3NlKGYpOworCisJREJHKERFVk5PLCB1bF9kZWJ1ZygibWFqb3IgJWQgJXMgYXNzb2NpYXRlZCB3aXRoICclcycgZHJpdmVyIiwKKwkJCWRydm1haiwgbWF0Y2ggPyAiaXMiIDogImlzIE5PVCIsIGRydm5hbWUpKTsKKwlyZXR1cm4gbWF0Y2g7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiogYXJndikKK3sKKwljaGFyCSpkZXZuYW1lLCAqdG1wOworCWNoYXIJZGlza25hbWVbUEFUSF9NQVhdOworCWludAlkZXZtYWosIGRldm1pbjsKKwlkZXZfdAlkZXZubywgZGlza19kZXZubzsKKwljb25zdCBjaGFyICplcnJtc2cgPSAiQ291bGRuJ3QgcGFyc2UgJXM6ICVzXG4iOworCisJYmxraWRfaW5pdF9kZWJ1ZyhCTEtJRF9ERUJVR19BTEwpOworCWlmICgoYXJnYyAhPSAyKSAmJiAoYXJnYyAhPSAzKSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOlx0JXMgZGV2aWNlX251bWJlclxuXHQlcyBtYWpvciBtaW5vclxuIgorCQkJIlJlc29sdmUgYSBkZXZpY2UgbnVtYmVyIHRvIGEgZGV2aWNlIG5hbWVcbiIsCisJCQlhcmd2WzBdLCBhcmd2WzBdKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKGFyZ2MgPT0gMikgeworCQlkZXZubyA9IHN0cnRvdWwoYXJndlsxXSwgJnRtcCwgMCk7CisJCWlmICgqdG1wKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgZXJybXNnLCAiZGV2aWNlIG51bWJlciIsIGFyZ3ZbMV0pOworCQkJZXhpdCgxKTsKKwkJfQorCX0gZWxzZSB7CisJCWRldm1haiA9IHN0cnRvdWwoYXJndlsxXSwgJnRtcCwgMCk7CisJCWlmICgqdG1wKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgZXJybXNnLCAibWFqb3IgbnVtYmVyIiwgYXJndlsxXSk7CisJCQlleGl0KDEpOworCQl9CisJCWRldm1pbiA9IHN0cnRvdWwoYXJndlsyXSwgJnRtcCwgMCk7CisJCWlmICgqdG1wKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgZXJybXNnLCAibWlub3IgbnVtYmVyIiwgYXJndlsyXSk7CisJCQlleGl0KDEpOworCQl9CisJCWRldm5vID0gbWFrZWRldihkZXZtYWosIGRldm1pbik7CisJfQorCXByaW50ZigiTG9va2luZyBmb3IgZGV2aWNlIDB4JTA0bGx4XG4iLCAobG9uZyBsb25nKWRldm5vKTsKKwlkZXZuYW1lID0gYmxraWRfZGV2bm9fdG9fZGV2bmFtZShkZXZubyk7CisJZnJlZShkZXZuYW1lKTsKKworCXByaW50ZigiTG9va2luZyBmb3Igd2hvbGUtZGV2aWNlIGZvciAweCUwNGxseFxuIiwgKGxvbmcgbG9uZylkZXZubyk7CisJaWYgKGJsa2lkX2Rldm5vX3RvX3dob2xlZGlzayhkZXZubywgZGlza25hbWUsCisJCQkJc2l6ZW9mKGRpc2tuYW1lKSwgJmRpc2tfZGV2bm8pID09IDApCisJCXByaW50ZigiZm91bmQgZGV2bm8gMHglMDRsbHggYXMgL2Rldi8lc1xuIiwgKGxvbmcgbG9uZykgZGlza19kZXZubywgZGlza25hbWUpOworCisJcmV0dXJuIDA7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9lbmNvZGUuYyBiL2xpYmJsa2lkL3NyYy9lbmNvZGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2QzNDkxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2VuY29kZS5jCkBAIC0wLDAgKzEsMzU3IEBACisKKy8qCisgKiBlbmNvZGUuYyAtIHN0cmluZyBjb252ZXJzaW9uIHJvdXRpbmVzIChtb3N0bHkgZm9yIGNvbXBhdGliaWxpdHkgd2l0aAorICogICAgICAgICAgICB1ZGV2L3ZvbHVtZV9pZCkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgImJsa2lkUC5oIgorCisjZGVmaW5lIFVERVZfQUxMT1dFRF9DSEFSU19JTlBVVCAgICAgICAgICAgICAgICIvICQlPywiCisKKy8qKgorICogU0VDVElPTjogZW5jb2RlCisgKiBAdGl0bGU6IEVuY29kaW5nIHV0aWxzCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGVuY29kZSBzdHJpbmdzIHRvIHNhZmUgdWRldi1jb21wYXRpYmxlIGZvcm1hdHMKKyAqCisgKi8KKworLyogY291bnQgb2YgY2hhcmFjdGVycyB1c2VkIHRvIGVuY29kZSBvbmUgdW5pY29kZSBjaGFyICovCitzdGF0aWMgaW50IHV0ZjhfZW5jb2RlZF9leHBlY3RlZF9sZW4oY29uc3QgY2hhciAqc3RyKQoreworCXVuc2lnbmVkIGNoYXIgYyA9ICh1bnNpZ25lZCBjaGFyKXN0clswXTsKKworCWlmIChjIDwgMHg4MCkKKwkJcmV0dXJuIDE7CisJaWYgKChjICYgMHhlMCkgPT0gMHhjMCkKKwkJcmV0dXJuIDI7CisJaWYgKChjICYgMHhmMCkgPT0gMHhlMCkKKwkJcmV0dXJuIDM7CisJaWYgKChjICYgMHhmOCkgPT0gMHhmMCkKKwkJcmV0dXJuIDQ7CisJaWYgKChjICYgMHhmYykgPT0gMHhmOCkKKwkJcmV0dXJuIDU7CisJaWYgKChjICYgMHhmZSkgPT0gMHhmYykKKwkJcmV0dXJuIDY7CisJcmV0dXJuIDA7Cit9CisKKy8qIGRlY29kZSBvbmUgdW5pY29kZSBjaGFyICovCitzdGF0aWMgaW50IHV0ZjhfZW5jb2RlZF90b191bmljaGFyKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlpbnQgdW5pY2hhcjsKKwlpbnQgbGVuOworCWludCBpOworCisJbGVuID0gdXRmOF9lbmNvZGVkX2V4cGVjdGVkX2xlbihzdHIpOworCXN3aXRjaCAobGVuKSB7CisJY2FzZSAxOgorCQlyZXR1cm4gKGludClzdHJbMF07CisJY2FzZSAyOgorCQl1bmljaGFyID0gc3RyWzBdICYgMHgxZjsKKwkJYnJlYWs7CisJY2FzZSAzOgorCQl1bmljaGFyID0gKGludClzdHJbMF0gJiAweDBmOworCQlicmVhazsKKwljYXNlIDQ6CisJCXVuaWNoYXIgPSAoaW50KXN0clswXSAmIDB4MDc7CisJCWJyZWFrOworCWNhc2UgNToKKwkJdW5pY2hhciA9IChpbnQpc3RyWzBdICYgMHgwMzsKKwkJYnJlYWs7CisJY2FzZSA2OgorCQl1bmljaGFyID0gKGludClzdHJbMF0gJiAweDAxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLTE7CisJfQorCisJZm9yIChpID0gMTsgaSA8IGxlbjsgaSsrKSB7CisJCWlmICgoKGludClzdHJbaV0gJiAweGMwKSAhPSAweDgwKQorCQkJcmV0dXJuIC0xOworCQl1bmljaGFyIDw8PSA2OworCQl1bmljaGFyIHw9IChpbnQpc3RyW2ldICYgMHgzZjsKKwl9CisKKwlyZXR1cm4gdW5pY2hhcjsKK30KKworLyogZXhwZWN0ZWQgc2l6ZSB1c2VkIHRvIGVuY29kZSBvbmUgdW5pY29kZSBjaGFyICovCitzdGF0aWMgaW50IHV0ZjhfdW5pY2hhcl90b19lbmNvZGVkX2xlbihpbnQgdW5pY2hhcikKK3sKKwlpZiAodW5pY2hhciA8IDB4ODApCisJCXJldHVybiAxOworCWlmICh1bmljaGFyIDwgMHg4MDApCisJCXJldHVybiAyOworCWlmICh1bmljaGFyIDwgMHgxMDAwMCkKKwkJcmV0dXJuIDM7CisJaWYgKHVuaWNoYXIgPCAweDIwMDAwMCkKKwkJcmV0dXJuIDQ7CisJaWYgKHVuaWNoYXIgPCAweDQwMDAwMDApCisJCXJldHVybiA1OworCXJldHVybiA2OworfQorCisvKiBjaGVjayBpZiB1bmljb2RlIGNoYXIgaGFzIGEgdmFsaWQgbnVtZXJpYyByYW5nZSAqLworc3RhdGljIGludCB1dGY4X3VuaWNoYXJfdmFsaWRfcmFuZ2UoaW50IHVuaWNoYXIpCit7CisJaWYgKHVuaWNoYXIgPiAweDEwZmZmZikKKwkJcmV0dXJuIDA7CisJaWYgKCh1bmljaGFyICYgMHhmZmZmZjgwMCkgPT0gMHhkODAwKQorCQlyZXR1cm4gMDsKKwlpZiAoKHVuaWNoYXIgPiAweGZkY2YpICYmICh1bmljaGFyIDwgMHhmZGYwKSkKKwkJcmV0dXJuIDA7CisJaWYgKCh1bmljaGFyICYgMHhmZmZmKSA9PSAweGZmZmYpCisJCXJldHVybiAwOworCXJldHVybiAxOworfQorCisvKiB2YWxpZGF0ZSBvbmUgZW5jb2RlZCB1bmljb2RlIGNoYXIgYW5kIHJldHVybiBpdHMgbGVuZ3RoICovCitzdGF0aWMgaW50IHV0ZjhfZW5jb2RlZF92YWxpZF91bmljaGFyKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlpbnQgbGVuOworCWludCB1bmljaGFyOworCWludCBpOworCisJbGVuID0gdXRmOF9lbmNvZGVkX2V4cGVjdGVkX2xlbihzdHIpOworCWlmIChsZW4gPT0gMCkKKwkJcmV0dXJuIC0xOworCisJLyogYXNjaWkgaXMgdmFsaWQgKi8KKwlpZiAobGVuID09IDEpCisJCXJldHVybiAxOworCisJLyogY2hlY2sgaWYgZXhwZWN0ZWQgZW5jb2RlZCBjaGFycyBhcmUgYXZhaWxhYmxlICovCisJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQorCQlpZiAoKHN0cltpXSAmIDB4ODApICE9IDB4ODApCisJCQlyZXR1cm4gLTE7CisKKwl1bmljaGFyID0gdXRmOF9lbmNvZGVkX3RvX3VuaWNoYXIoc3RyKTsKKworCS8qIGNoZWNrIGlmIGVuY29kZWQgbGVuZ3RoIG1hdGNoZXMgZW5jb2RlZCB2YWx1ZSAqLworCWlmICh1dGY4X3VuaWNoYXJfdG9fZW5jb2RlZF9sZW4odW5pY2hhcikgIT0gbGVuKQorCQlyZXR1cm4gLTE7CisKKwkvKiBjaGVjayBpZiB2YWx1ZSBoYXMgdmFsaWQgcmFuZ2UgKi8KKwlpZiAoIXV0ZjhfdW5pY2hhcl92YWxpZF9yYW5nZSh1bmljaGFyKSkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIGxlbjsKK30KKworc3RhdGljIGludCByZXBsYWNlX3doaXRlc3BhY2UoY29uc3QgY2hhciAqc3RyLCBjaGFyICp0bywgc2l6ZV90IGxlbikKK3sKKwlzaXplX3QgaSwgajsKKworCS8qIHN0cmlwIHRyYWlsaW5nIHdoaXRlc3BhY2UgKi8KKwlsZW4gPSBzdHJubGVuKHN0ciwgbGVuKTsKKwl3aGlsZSAobGVuICYmIGlzc3BhY2Uoc3RyW2xlbi0xXSkpCisJCWxlbi0tOworCisJLyogc3RyaXAgbGVhZGluZyB3aGl0ZXNwYWNlICovCisJaSA9IDA7CisJd2hpbGUgKChpIDwgbGVuKSAmJiBpc3NwYWNlKHN0cltpXSkpCisJCWkrKzsKKworCWogPSAwOworCXdoaWxlIChpIDwgbGVuKSB7CisJCS8qIHN1YnN0aXR1dGUgbXVsdGlwbGUgd2hpdGVzcGFjZSB3aXRoIGEgc2luZ2xlICdfJyAqLworCQlpZiAoaXNzcGFjZShzdHJbaV0pKSB7CisJCQl3aGlsZSAoaXNzcGFjZShzdHJbaV0pKQorCQkJCWkrKzsKKwkJCXRvW2orK10gPSAnXyc7CisJCX0KKwkJdG9baisrXSA9IHN0cltpKytdOworCX0KKwl0b1tqXSA9ICdcMCc7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaXNfd2hpdGVsaXN0ZWQoY2hhciBjLCBjb25zdCBjaGFyICp3aGl0ZSkKK3sKKwlpZiAoKGMgPj0gJzAnICYmIGMgPD0gJzknKSB8fAorCSAgICAoYyA+PSAnQScgJiYgYyA8PSAnWicpIHx8CisJICAgIChjID49ICdhJyAmJiBjIDw9ICd6JykgfHwKKwkgICAgc3RyY2hyKCIjKy0uOj1AXyIsIGMpICE9IE5VTEwgfHwKKwkgICAgKHdoaXRlICE9IE5VTEwgJiYgc3RyY2hyKHdoaXRlLCBjKSAhPSBOVUxMKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKy8qIGFsbG93IGNoYXJzIGluIHdoaXRlbGlzdCwgcGxhaW4gYXNjaWksIGhleC1lc2NhcGluZyBhbmQgdmFsaWQgdXRmOCAqLworc3RhdGljIGludCByZXBsYWNlX2NoYXJzKGNoYXIgKnN0ciwgY29uc3QgY2hhciAqd2hpdGUpCit7CisJc2l6ZV90IGkgPSAwOworCWludCByZXBsYWNlZCA9IDA7CisKKwl3aGlsZSAoc3RyW2ldICE9ICdcMCcpIHsKKwkJaW50IGxlbjsKKworCQlpZiAoaXNfd2hpdGVsaXN0ZWQoc3RyW2ldLCB3aGl0ZSkpIHsKKwkJCWkrKzsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogYWNjZXB0IGhleCBlbmNvZGluZyAqLworCQlpZiAoc3RyW2ldID09ICdcXCcgJiYgc3RyW2krMV0gPT0gJ3gnKSB7CisJCQlpICs9IDI7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIGFjY2VwdCB2YWxpZCB1dGY4ICovCisJCWxlbiA9IHV0ZjhfZW5jb2RlZF92YWxpZF91bmljaGFyKCZzdHJbaV0pOworCQlpZiAobGVuID4gMSkgeworCQkJaSArPSBsZW47CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIGlmIHNwYWNlIGlzIGFsbG93ZWQsIHJlcGxhY2Ugd2hpdGVzcGFjZSB3aXRoIG9yZGluYXJ5IHNwYWNlICovCisJCWlmIChpc3NwYWNlKHN0cltpXSkgJiYgd2hpdGUgIT0gTlVMTCAmJiBzdHJjaHIod2hpdGUsICcgJykgIT0gTlVMTCkgeworCQkJc3RyW2ldID0gJyAnOworCQkJaSsrOworCQkJcmVwbGFjZWQrKzsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogZXZlcnl0aGluZyBlbHNlIGlzIHJlcGxhY2VkIHdpdGggJ18nICovCisJCXN0cltpXSA9ICdfJzsKKwkJaSsrOworCQlyZXBsYWNlZCsrOworCX0KKwlyZXR1cm4gcmVwbGFjZWQ7Cit9CisKK3NpemVfdCBibGtpZF9lbmNvZGVfdG9fdXRmOChpbnQgZW5jLCB1bnNpZ25lZCBjaGFyICpkZXN0LCBzaXplX3QgbGVuLAorCQkJY29uc3QgdW5zaWduZWQgY2hhciAqc3JjLCBzaXplX3QgY291bnQpCit7CisJc2l6ZV90IGksIGo7CisJdWludDE2X3QgYzsKKworCWZvciAoaiA9IGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlpZiAoZW5jID09IEJMS0lEX0VOQ19VVEYxNkxFKSB7CisJCQlpZiAoaSsyID4gY291bnQpCisJCQkJYnJlYWs7CisJCQljID0gKHNyY1tpKzFdIDw8IDgpIHwgc3JjW2ldOworCQkJaSsrOworCQl9IGVsc2UgaWYgKGVuYyA9PSBCTEtJRF9FTkNfVVRGMTZCRSkgeworCQkJaWYgKGkrMiA+IGNvdW50KQorCQkJCWJyZWFrOworCQkJYyA9IChzcmNbaV0gPDwgOCkgfCBzcmNbaSsxXTsKKwkJCWkrKzsKKwkJfSBlbHNlIGlmIChlbmMgPT0gQkxLSURfRU5DX0xBVElOMSkgeworCQkJYyA9IHNyY1tpXTsKKwkJfSBlbHNlIHsKKwkJCXJldHVybiAwOworCQl9CisJCWlmIChjID09IDApIHsKKwkJCWRlc3Rbal0gPSAnXDAnOworCQkJYnJlYWs7CisJCX0gZWxzZSBpZiAoYyA8IDB4ODApIHsKKwkJCWlmIChqKzEgPj0gbGVuKQorCQkJCWJyZWFrOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpIGM7CisJCX0gZWxzZSBpZiAoYyA8IDB4ODAwKSB7CisJCQlpZiAoaisyID49IGxlbikKKwkJCQlicmVhazsKKwkJCWRlc3RbaisrXSA9ICh1aW50OF90KSAoMHhjMCB8IChjID4+IDYpKTsKKwkJCWRlc3RbaisrXSA9ICh1aW50OF90KSAoMHg4MCB8IChjICYgMHgzZikpOworCQl9IGVsc2UgeworCQkJaWYgKGorMyA+PSBsZW4pCisJCQkJYnJlYWs7CisJCQlkZXN0W2orK10gPSAodWludDhfdCkgKDB4ZTAgfCAoYyA+PiAxMikpOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpICgweDgwIHwgKChjID4+IDYpICYgMHgzZikpOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpICgweDgwIHwgKGMgJiAweDNmKSk7CisJCX0KKwl9CisJZGVzdFtqXSA9ICdcMCc7CisJcmV0dXJuIGo7Cit9CisKK3Vuc2lnbmVkIGNoYXIgKmJsa2lkX2VuY29kZV9hbGxvYyhzaXplX3QgY291bnQsIHNpemVfdCAqcmVzbGVuKQoreworCSpyZXNsZW4gPSAoY291bnQgKiAzKSArIDE7CisJcmV0dXJuIGNhbGxvYygxLCAqcmVzbGVuKTsKK30KKworLyoqCisgKiBibGtpZF9lbmNvZGVfc3RyaW5nOgorICogQHN0cjogaW5wdXQgc3RyaW5nIHRvIGJlIGVuY29kZWQKKyAqIEBzdHJfZW5jOiBvdXRwdXQgc3RyaW5nIHRvIHN0b3JlIHRoZSBlbmNvZGVkIGlucHV0IHN0cmluZworICogQGxlbjogbWF4aW11bSBzaXplIG9mIHRoZSBvdXRwdXQgc3RyaW5nLCB3aGljaCBtYXkgYmUKKyAqICAgICAgIGZvdXIgdGltZXMgYXMgbG9uZyBhcyB0aGUgaW5wdXQgc3RyaW5nCisgKgorICogRW5jb2RlIGFsbCBwb3RlbnRpYWxseSB1bnNhZmUgY2hhcmFjdGVycyBvZiBhIHN0cmluZyB0byB0aGUKKyAqIGNvcnJlc3BvbmRpbmcgaGV4IHZhbHVlIHByZWZpeGVkIGJ5ICdceCcuCisgKgorICogUmV0dXJuczogMCBpZiB0aGUgZW50aXJlIHN0cmluZyB3YXMgY29waWVkLCBub24temVybyBvdGhlcndpc2UuCisgKiovCitpbnQgYmxraWRfZW5jb2RlX3N0cmluZyhjb25zdCBjaGFyICpzdHIsIGNoYXIgKnN0cl9lbmMsIHNpemVfdCBsZW4pCit7CisJc2l6ZV90IGksIGo7CisKKwlpZiAoIXN0ciB8fCAhc3RyX2VuYyB8fCAhbGVuKQorCQlyZXR1cm4gLTE7CisKKwlmb3IgKGkgPSAwLCBqID0gMDsgc3RyW2ldICE9ICdcMCc7IGkrKykgeworCQlpbnQgc2VxbGVuOworCisJCXNlcWxlbiA9IHV0ZjhfZW5jb2RlZF92YWxpZF91bmljaGFyKCZzdHJbaV0pOworCQlpZiAoc2VxbGVuID4gMSkgeworCQkJaWYgKGxlbi1qIDwgKHNpemVfdClzZXFsZW4pCisJCQkJZ290byBlcnI7CisJCQltZW1jcHkoJnN0cl9lbmNbal0sICZzdHJbaV0sIHNlcWxlbik7CisJCQlqICs9IHNlcWxlbjsKKwkJCWkgKz0gKHNlcWxlbi0xKTsKKwkJfSBlbHNlIGlmIChzdHJbaV0gPT0gJ1xcJyB8fCAhaXNfd2hpdGVsaXN0ZWQoc3RyW2ldLCBOVUxMKSkgeworCQkJaWYgKGxlbi1qIDwgNCkKKwkJCQlnb3RvIGVycjsKKwkJCXNwcmludGYoJnN0cl9lbmNbal0sICJcXHglMDJ4IiwgKHVuc2lnbmVkIGNoYXIpIHN0cltpXSk7CisJCQlqICs9IDQ7CisJCX0gZWxzZSB7CisJCQlpZiAobGVuLWogPCAxKQorCQkJCWdvdG8gZXJyOworCQkJc3RyX2VuY1tqXSA9IHN0cltpXTsKKwkJCWorKzsKKwkJfQorCQlpZiAoaiszID49IGxlbikKKwkJCWdvdG8gZXJyOworCX0KKwlpZiAobGVuLWogPCAxKQorCQlnb3RvIGVycjsKKwlzdHJfZW5jW2pdID0gJ1wwJzsKKwlyZXR1cm4gMDsKK2VycjoKKwlyZXR1cm4gLTE7Cit9CisKKy8qKgorICogYmxraWRfc2FmZV9zdHJpbmc6CisgKiBAc3RyOiBpbnB1dCBzdHJpbmcKKyAqIEBzdHJfc2FmZTogb3V0cHV0IHN0cmluZworICogQGxlbjogc2l6ZSBvZiBvdXRwdXQgc3RyaW5nCisgKgorICogQWxsb3dzIHBsYWluIGFzY2lpLCBoZXgtZXNjYXBpbmcgYW5kIHZhbGlkIHV0ZjguIFJlcGxhY2VzIGFsbCB3aGl0ZXNwYWNlcworICogd2l0aCAnXycuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9zYWZlX3N0cmluZyhjb25zdCBjaGFyICpzdHIsIGNoYXIgKnN0cl9zYWZlLCBzaXplX3QgbGVuKQoreworCWlmICghc3RyIHx8ICFzdHJfc2FmZSB8fCAhbGVuKQorCQlyZXR1cm4gLTE7CisJcmVwbGFjZV93aGl0ZXNwYWNlKHN0ciwgc3RyX3NhZmUsIGxlbik7CisJcmVwbGFjZV9jaGFycyhzdHJfc2FmZSwgVURFVl9BTExPV0VEX0NIQVJTX0lOUFVUKTsKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9ldmFsdWF0ZS5jIGIvbGliYmxraWQvc3JjL2V2YWx1YXRlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTFlNWIwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9ldmFsdWF0ZS5jCkBAIC0wLDAgKzEsMzIzIEBACisvKgorICogZXZhbHVhdGUuYyAtIHZlcnkgaGlnaC1sZXZlbCBBUEkgdG8gZXZhbHVhdGUgTEFCRUxzIG9yIFVVSURzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZmRlZiBIQVZFX1NZU19TVEFUX0gKKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCisvKioKKyAqIFNFQ1RJT046ZXZhbHVhdGUKKyAqIEB0aXRsZTogVGFncyBhbmQgU3BlYyBldmFsdWF0aW9uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHRvcC1sZXZlbCBBUEkgZm9yIExBQkVMIGFuZCBVVUlEIGV2YWx1YXRpb24uCisgKgorICogVGhpcyBBUEkgcHJvdmlkZXMgdmVyeSBzaW1wbGUgYW5kIHBvcnRhYmxlIHdheSBob3cgZXZhbHVhdGUgTEFCRUwgYW5kIFVVSUQKKyAqIHRhZ3MuICBUaGUgYmxraWRfZXZhbHVhdGVfdGFnKCkgYW5kIGJsa2lkX2V2YWx1YXRlX3NwZWMoKSB3b3JrIG9uIDIuNCBhbmQKKyAqIDIuNiBzeXN0ZW1zIGFuZCBvbiBzeXN0ZW1zIHdpdGggb3Igd2l0aG91dCB1ZGV2LiBDdXJyZW50bHksIHRoZSBsaWJibGtpZAorICogbGlicmFyeSBzdXBwb3J0cyAidWRldiIgYW5kICJzY2FuIiBtZXRob2RzLiBUaGUgInVkZXYiIG1ldGhvZCB1c2VzIHVkZXYKKyAqIC9kZXYvZGlzay9ieS0qIHN5bWxpbmtzIGFuZCB0aGUgInNjYW4iIG1ldGhvZCBzY2FucyBhbGwgYmxvY2sgZGV2aWNlcyBmcm9tCisgKiB0aGUgL3Byb2MvcGFydGl0aW9ucyBmaWxlLiBUaGUgZXZhbHVhdGlvbiBjb3VsZCBiZSBjb250cm9sbGVkIGJ5IHRoZQorICogL2V0Yy9ibGtpZC5jb25mIGNvbmZpZyBmaWxlLiBUaGUgZGVmYXVsdCBpcyB0byB0cnkgInVkZXYiIGFuZCB0aGVuICJzY2FuIgorICogbWV0aG9kLgorICoKKyAqIFRoZSBibGtpZF9ldmFsdWF0ZV90YWcoKSBhbHNvIGF1dG9tYXRpY2FsbHkgaW5mb3JtcyB1ZGV2ZCB3aGVuIGFuIG9ic29sZXRlCisgKiAvZGV2L2Rpc2svYnktKiBzeW1saW5rIGlzIGRldGVjdGVkLgorICoKKyAqIElmIHlvdSBhcmUgbm90IHN1cmUgaG93IHRyYW5zbGF0ZSBMQUJFTCBvciBVVUlEIHRvIHRoZSBkZXZpY2UgbmFtZSB1c2UgdGhpcworICogQVBJLgorICovCisKKyNpZmRlZiBDT05GSUdfQkxLSURfVkVSSUZZX1VERVYKKy8qIHJldHVybnMgemVybyB3aGVuIHRoZSBkZXZpY2UgaGFzIE5BTUU9dmFsdWUgKExBQkVML1VVSUQpICovCitzdGF0aWMgaW50IHZlcmlmeV90YWcoY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCit7CisJYmxraWRfcHJvYmUgcHI7CisJaW50IGZkID0gLTEsIHJjID0gLTE7CisJc2l6ZV90IGxlbjsKKwljb25zdCBjaGFyICpkYXRhOworCWludCBlcnJzdiA9IDA7CisKKwlwciA9IGJsa2lkX25ld19wcm9iZSgpOworCWlmICghcHIpCisJCXJldHVybiAtMTsKKworCWJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgVFJVRSk7CisJYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLAorCQkJQkxLSURfU1VCTEtTX0xBQkVMIHwgQkxLSURfU1VCTEtTX1VVSUQpOworCisJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMocHIsIFRSVUUpOworCWJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKHByLCBCTEtJRF9QQVJUU19FTlRSWV9ERVRBSUxTKTsKKworCWZkID0gb3BlbihkZXZuYW1lLCBPX1JET05MWXxPX0NMT0VYRUMpOworCWlmIChmZCA8IDApIHsKKwkJZXJyc3YgPSBlcnJubzsKKwkJZ290byBkb25lOworCX0KKwlpZiAoYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgZmQsIDAsIDApKQorCQlnb3RvIGRvbmU7CisJcmMgPSBibGtpZF9kb19zYWZlcHJvYmUocHIpOworCWlmIChyYykKKwkJZ290byBkb25lOworCXJjID0gYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCBuYW1lLCAmZGF0YSwgJmxlbik7CisJaWYgKCFyYykKKwkJcmMgPSBtZW1jbXAodmFsdWUsIGRhdGEsIGxlbik7Citkb25lOgorCURCRyhFVkFMVUFURSwgdWxfZGVidWcoIiVzOiAlcyB2ZXJpZmljYXRpb24gJXMiLAorCQkJZGV2bmFtZSwgbmFtZSwgcmMgPT0gMCA/ICJQQVNTIiA6ICJGQUlMRUQiKSk7CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKworCS8qIGZvciBub24tcm9vdCB1c2VycyB3ZSB1c2UgdW52ZXJpZmllZCB1ZGV2IGxpbmtzICovCisJcmV0dXJuIGVycnN2ID09IEVBQ0NFUyA/IDAgOiByYzsKK30KKyNlbmRpZiAvKiBDT05GSUdfQkxLSURfVkVSSUZZX1VERVYqLworCisvKioKKyAqIGJsa2lkX3NlbmRfdWV2ZW50OgorICogQGRldm5hbWU6IGFic29sdXRlIHBhdGggdG8gdGhlIGRldmljZQorICogQGFjdGlvbjogZXZlbnQgc3RyaW5nCisgKgorICogUmV0dXJuczogLTEgaW4gY2FzZSBvZiBmYWlsdXJlLCBvciAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBibGtpZF9zZW5kX3VldmVudChjb25zdCBjaGFyICpkZXZuYW1lLCBjb25zdCBjaGFyICphY3Rpb24pCit7CisJY2hhciB1ZXZlbnRbUEFUSF9NQVhdOworCXN0cnVjdCBzdGF0IHN0OworCUZJTEUgKmY7CisJaW50IHJjID0gLTE7CisKKwlEQkcoRVZBTFVBVEUsIHVsX2RlYnVnKCIlczogdWV2ZW50ICclcycgcmVxdWVzdGVkIiwgZGV2bmFtZSwgYWN0aW9uKSk7CisKKwlpZiAoIWRldm5hbWUgfHwgIWFjdGlvbikKKwkJcmV0dXJuIC0xOworCWlmIChzdGF0KGRldm5hbWUsICZzdCkgfHwgIVNfSVNCTEsoc3Quc3RfbW9kZSkpCisJCXJldHVybiAtMTsKKworCXNucHJpbnRmKHVldmVudCwgc2l6ZW9mKHVldmVudCksICIvc3lzL2Rldi9ibG9jay8lZDolZC91ZXZlbnQiLAorCQkJbWFqb3Ioc3Quc3RfcmRldiksIG1pbm9yKHN0LnN0X3JkZXYpKTsKKworCWYgPSBmb3Blbih1ZXZlbnQsICJ3IiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoZikgeworCQlyYyA9IDA7CisJCWlmIChmcHV0cyhhY3Rpb24sIGYpID49IDApCisJCQlyYyA9IDA7CisJCWlmIChjbG9zZV9zdHJlYW0oZikgIT0gMCkKKwkJCURCRyhFVkFMVUFURSwgdWxfZGVidWcoIndyaXRlIGZhaWxlZDogJXMiLCB1ZXZlbnQpKTsKKwl9CisJREJHKEVWQUxVQVRFLCB1bF9kZWJ1ZygiJXM6IHNlbmQgdWV2ZW50ICVzIiwKKwkJCXVldmVudCwgcmMgPT0gMCA/ICJTVUNDRVNTIiA6ICJGQUlMRUQiKSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgY2hhciAqZXZhbHVhdGVfYnlfdWRldihjb25zdCBjaGFyICp0b2tlbiwgY29uc3QgY2hhciAqdmFsdWUsIGludCB1ZXZlbnQpCit7CisJY2hhciBkZXZbUEFUSF9NQVhdOworCWNoYXIgKnBhdGggPSBOVUxMOworCXNpemVfdCBsZW47CisJc3RydWN0IHN0YXQgc3Q7CisKKwlEQkcoRVZBTFVBVEUsIHVsX2RlYnVnKCJldmFsdWF0aW5nIGJ5IHVkZXYgJXM9JXMiLCB0b2tlbiwgdmFsdWUpKTsKKworCWlmICghc3RyY21wKHRva2VuLCAiVVVJRCIpKQorCQlzdHJjcHkoZGV2LCBfUEFUSF9ERVZfQllVVUlEICIvIik7CisJZWxzZSBpZiAoIXN0cmNtcCh0b2tlbiwgIkxBQkVMIikpCisJCXN0cmNweShkZXYsIF9QQVRIX0RFVl9CWUxBQkVMICIvIik7CisJZWxzZSBpZiAoIXN0cmNtcCh0b2tlbiwgIlBBUlRMQUJFTCIpKQorCQlzdHJjcHkoZGV2LCBfUEFUSF9ERVZfQllQQVJUTEFCRUwgIi8iKTsKKwllbHNlIGlmICghc3RyY21wKHRva2VuLCAiUEFSVFVVSUQiKSkKKwkJc3RyY3B5KGRldiwgX1BBVEhfREVWX0JZUEFSVFVVSUQgIi8iKTsKKwllbHNlIHsKKwkJREJHKEVWQUxVQVRFLCB1bF9kZWJ1ZygidW5zdXBwb3J0ZWQgdG9rZW4gJXMiLCB0b2tlbikpOworCQlyZXR1cm4gTlVMTDsJLyogdW5zdXBwb3J0ZWQgdGFnICovCisJfQorCisJbGVuID0gc3RybGVuKGRldik7CisJaWYgKGJsa2lkX2VuY29kZV9zdHJpbmcodmFsdWUsICZkZXZbbGVuXSwgc2l6ZW9mKGRldikgLSBsZW4pICE9IDApCisJCXJldHVybiBOVUxMOworCisJREJHKEVWQUxVQVRFLCB1bF9kZWJ1ZygiZXhwZWN0ZWQgdWRldiBsaW5rOiAlcyIsIGRldikpOworCisJaWYgKHN0YXQoZGV2LCAmc3QpKQorCQlnb3RvIGZhaWxlZDsJLyogbGluayBvciBkZXZpY2UgZG9lcyBub3QgZXhpc3QgKi8KKworCWlmICghU19JU0JMSyhzdC5zdF9tb2RlKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlwYXRoID0gY2Fub25pY2FsaXplX3BhdGgoZGV2KTsKKwlpZiAoIXBhdGgpCisJCXJldHVybiBOVUxMOworCisjaWZkZWYgQ09ORklHX0JMS0lEX1ZFUklGWV9VREVWCisJaWYgKHZlcmlmeV90YWcocGF0aCwgdG9rZW4sIHZhbHVlKSkKKwkJZ290byBmYWlsZWQ7CisjZW5kaWYKKwlyZXR1cm4gcGF0aDsKKworZmFpbGVkOgorCURCRyhFVkFMVUFURSwgdWxfZGVidWcoImZhaWxlZCB0byBldmFsdWF0ZSBieSB1ZGV2IikpOworCisJaWYgKHVldmVudCAmJiBwYXRoKQorCQlibGtpZF9zZW5kX3VldmVudChwYXRoLCAiY2hhbmdlIik7CisJZnJlZShwYXRoKTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGNoYXIgKmV2YWx1YXRlX2J5X3NjYW4oY29uc3QgY2hhciAqdG9rZW4sIGNvbnN0IGNoYXIgKnZhbHVlLAorCQlibGtpZF9jYWNoZSAqY2FjaGUsIHN0cnVjdCBibGtpZF9jb25maWcgKmNvbmYpCit7CisJYmxraWRfY2FjaGUgYyA9IGNhY2hlID8gKmNhY2hlIDogTlVMTDsKKwljaGFyICpyZXM7CisKKwlEQkcoRVZBTFVBVEUsIHVsX2RlYnVnKCJldmFsdWF0aW5nIGJ5IGJsa2lkIHNjYW4gJXM9JXMiLCB0b2tlbiwgdmFsdWUpKTsKKworCWlmICghYykgeworCQljaGFyICpjYWNoZWZpbGUgPSBibGtpZF9nZXRfY2FjaGVfZmlsZW5hbWUoY29uZik7CisJCWJsa2lkX2dldF9jYWNoZSgmYywgY2FjaGVmaWxlKTsKKwkJZnJlZShjYWNoZWZpbGUpOworCX0KKwlpZiAoIWMpCisJCXJldHVybiBOVUxMOworCisJcmVzID0gYmxraWRfZ2V0X2Rldm5hbWUoYywgdG9rZW4sIHZhbHVlKTsKKworCWlmIChjYWNoZSkKKwkJKmNhY2hlID0gYzsKKwllbHNlCisJCWJsa2lkX3B1dF9jYWNoZShjKTsKKworCXJldHVybiByZXM7Cit9CisKKy8qKgorICogYmxraWRfZXZhbHVhdGVfdGFnOgorICogQHRva2VuOiB0b2tlbiBuYW1lIChlLmcgIkxBQkVMIiBvciAiVVVJRCIpIG9yIHVucGFyc2VkIHRhZyAoZS5nLiAiTEFCRUw9Zm9vIikKKyAqIEB2YWx1ZTogdG9rZW4gZGF0YSAoZS5nLiAiZm9vIikKKyAqIEBjYWNoZTogcG9pbnRlciB0byBjYWNoZSAob3IgTlVMTCB3aGVuIHlvdSBkb24ndCB3YW50IHRvIHJlLXVzZSB0aGUgY2FjaGUpCisgKgorICogUmV0dXJuczogYWxsb2NhdGVkIHN0cmluZyB3aXRoIGEgZGV2aWNlIG5hbWUuCisgKi8KK2NoYXIgKmJsa2lkX2V2YWx1YXRlX3RhZyhjb25zdCBjaGFyICp0b2tlbiwgY29uc3QgY2hhciAqdmFsdWUsIGJsa2lkX2NhY2hlICpjYWNoZSkKK3sKKwlzdHJ1Y3QgYmxraWRfY29uZmlnICpjb25mID0gTlVMTDsKKwljaGFyICp0ID0gTlVMTCwgKnYgPSBOVUxMOworCWNoYXIgKnJldCA9IE5VTEw7CisJaW50IGk7CisKKwlpZiAoIXRva2VuKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghY2FjaGUgfHwgISpjYWNoZSkKKwkJYmxraWRfaW5pdF9kZWJ1ZygwKTsKKworCURCRyhFVkFMVUFURSwgdWxfZGVidWcoImV2YWx1YXRpbmcgICVzJXMlcyIsIHRva2VuLCB2YWx1ZSA/ICI9IiA6ICIiLAorCQkgICB2YWx1ZSA/IHZhbHVlIDogIiIpKTsKKworCWlmICghdmFsdWUpIHsKKwkJaWYgKCFzdHJjaHIodG9rZW4sICc9JykpIHsKKwkJCXJldCA9IHN0cmR1cCh0b2tlbik7CisJCQlnb3RvIG91dDsKKwkJfQorCQlpZiAoYmxraWRfcGFyc2VfdGFnX3N0cmluZyh0b2tlbiwgJnQsICZ2KSAhPSAwIHx8ICF0IHx8ICF2KQorCQkJZ290byBvdXQ7CisJCXRva2VuID0gdDsKKwkJdmFsdWUgPSB2OworCX0KKworCWNvbmYgPSBibGtpZF9yZWFkX2NvbmZpZyhOVUxMKTsKKwlpZiAoIWNvbmYpCisJCWdvdG8gb3V0OworCisJZm9yIChpID0gMDsgaSA8IGNvbmYtPm5ldmFsczsgaSsrKSB7CisJCWlmIChjb25mLT5ldmFsW2ldID09IEJMS0lEX0VWQUxfVURFVikKKwkJCXJldCA9IGV2YWx1YXRlX2J5X3VkZXYodG9rZW4sIHZhbHVlLCBjb25mLT51ZXZlbnQpOworCQllbHNlIGlmIChjb25mLT5ldmFsW2ldID09IEJMS0lEX0VWQUxfU0NBTikKKwkJCXJldCA9IGV2YWx1YXRlX2J5X3NjYW4odG9rZW4sIHZhbHVlLCBjYWNoZSwgY29uZik7CisJCWlmIChyZXQpCisJCQlicmVhazsKKwl9CisKKwlEQkcoRVZBTFVBVEUsIHVsX2RlYnVnKCIlcz0lcyBldmFsdWF0ZWQgYXMgJXMiLCB0b2tlbiwgdmFsdWUsIHJldCkpOworb3V0OgorCWJsa2lkX2ZyZWVfY29uZmlnKGNvbmYpOworCWZyZWUodCk7CisJZnJlZSh2KTsKKwlyZXR1cm4gcmV0OworfQorCisvKioKKyAqIGJsa2lkX2V2YWx1YXRlX3NwZWM6CisgKiBAc3BlYzogdW5wYXJzZWQgdGFnIChlLmcuICJMQUJFTD1mb28iKSBvciBwYXRoIChlLmcuIC9kZXYvZG0tMCkKKyAqIEBjYWNoZTogcG9pbnRlciB0byBjYWNoZSAob3IgTlVMTCB3aGVuIHlvdSBkb24ndCB3YW50IHRvIHJlLXVzZSB0aGUgY2FjaGUpCisgKgorICogQWxsIHJldHVybmVkIHBhdGhzIGFyZSBjYW5vbmljYWxpemVkLCBkZXZpY2UtbWFwcGVyIHBhdGhzIGFyZSBjb252ZXJ0ZWQKKyAqIHRvIHRoZSAvZGV2L21hcHBlci9uYW1lIGZvcm1hdC4KKyAqCisgKiBSZXR1cm5zOiBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggYSBkZXZpY2UgbmFtZS4KKyAqLworY2hhciAqYmxraWRfZXZhbHVhdGVfc3BlYyhjb25zdCBjaGFyICpzcGVjLCBibGtpZF9jYWNoZSAqY2FjaGUpCit7CisJY2hhciAqdCA9IE5VTEwsICp2ID0gTlVMTCwgKnJlczsKKworCWlmICghc3BlYykKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoc3RyY2hyKHNwZWMsICc9JykgJiYKKwkgICAgYmxraWRfcGFyc2VfdGFnX3N0cmluZyhzcGVjLCAmdCwgJnYpICE9IDApCS8qIHBhcnNlIGVycm9yICovCisJCXJldHVybiBOVUxMOworCisJaWYgKHYpCisJCXJlcyA9IGJsa2lkX2V2YWx1YXRlX3RhZyh0LCB2LCBjYWNoZSk7CisJZWxzZQorCQlyZXMgPSBjYW5vbmljYWxpemVfcGF0aChzcGVjKTsKKworCWZyZWUodCk7CisJZnJlZSh2KTsKKwlyZXR1cm4gcmVzOworfQorCisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJYmxraWRfY2FjaGUgY2FjaGUgPSBOVUxMOworCWNoYXIgKnJlczsKKworCWlmIChhcmdjIDwgMikgeworCQlmcHJpbnRmKHN0ZGVyciwgInVzYWdlOiAlcyA8dGFnPiB8IDxzcGVjPlxuIiwgYXJndlswXSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJYmxraWRfaW5pdF9kZWJ1ZygwKTsKKworCXJlcyA9IGJsa2lkX2V2YWx1YXRlX3NwZWMoYXJndlsxXSwgJmNhY2hlKTsKKwlpZiAocmVzKQorCQlwcmludGYoIiVzXG4iLCByZXMpOworCWlmIChjYWNoZSkKKwkJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKKworCXJldHVybiByZXMgPyBFWElUX1NVQ0NFU1MgOiBFWElUX0ZBSUxVUkU7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9nZXRzaXplLmMgYi9saWJibGtpZC9zcmMvZ2V0c2l6ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiZTZlYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvZ2V0c2l6ZS5jCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBnZXRzaXplLmMgLS0tIGdldCB0aGUgc2l6ZSBvZiBhIHBhcnRpdGlvbi4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTUsIDE5OTUgVGhlb2RvcmUgVHMnby4KKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKworLyoqCisgKiBibGtpZF9nZXRfZGV2X3NpemU6CisgKiBAZmQ6IGZpbGUgZGVzY3JpcHRvcgorICoKKyAqIFJldHVybnM6IHNpemUgKGluIGJ5dGVzKSBvZiB0aGUgYmxvY2sgZGV2aWNlIG9yIHNpemUgb2YgdGhlIHJlZ3VsYXIgZmlsZSBvciAwLgorICovCitibGtpZF9sb2ZmX3QgYmxraWRfZ2V0X2Rldl9zaXplKGludCBmZCkKK3sKKwl1bnNpZ25lZCBsb25nIGxvbmcgYnl0ZXM7CisKKwlpZiAoYmxrZGV2X2dldF9zaXplKGZkLCAmYnl0ZXMpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBieXRlczsKK30KKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL2luaXQuYyBiL2xpYmJsa2lkL3NyYy9pbml0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRjOWZmZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9pbml0LmMKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBpbml0CisgKiBAdGl0bGU6IExpYnJhcnkgaW5pdGlhbGl6YXRpb24KKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogaW5pdGlhbGl6ZSBkZWJ1Z2dpbmcKKyAqLworCisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlICJibGtpZFAuaCIKKworVUxfREVCVUdfREVGSU5FX01BU0sobGliYmxraWQpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsaWJibGtpZCkgPQoreworCXsgImFsbCIsIEJMS0lEX0RFQlVHX0FMTCwJImluZm8gYWJvdXQgYWxsIHN1YnN5c3RlbXMiIH0sCisJeyAiY2FjaGUiLCBCTEtJRF9ERUJVR19DQUNIRSwJImJsa2lkIHRhZ3MgY2FjaGUiIH0sCisJeyAiY29uZmlnIiwgQkxLSURfREVCVUdfQ09ORklHLCAiY29uZmlnIGZpbGUgdXRpbHMiIH0sCisJeyAiZGV2IiwgQkxLSURfREVCVUdfREVWLCAgICAgICAiZGV2aWNlIHV0aWxzIiB9LAorCXsgImRldm5hbWUiLCBCTEtJRF9ERUJVR19ERVZOQU1FLCAiL3Byb2MvcGFydGl0aW9ucyBldmFsdWF0aW9uIiB9LAorCXsgImRldm5vIiwgQkxLSURfREVCVUdfREVWTk8sCSJjb252ZXJzaW9ucyB0byBkZXZpY2UgbmFtZSIgfSwKKwl7ICJldmFsdWF0ZSIsIEJMS0lEX0RFQlVHX0VWQUxVQVRFLCAidGFncyByZXNvbHZpbmciIH0sCisJeyAiaGVscCIsIEJMS0lEX0RFQlVHX0hFTFAsCSJ0aGlzIGhlbHAiIH0sCisJeyAibG93cHJvYmUiLCBCTEtJRF9ERUJVR19MT1dQUk9CRSwgInN1cGVyYmxvY2svcmFpZHMvcGFydGl0aW9ucyBwcm9iaW5nIiB9LAorCXsgImJ1ZmZlciIsIEJMS0lEX0RFQlVHX0JVRkZFUiwgImxvdy1wcm9iaW5nIGJ1ZmZlcnMiIH0sCisJeyAicHJvYmUiLCBCTEtJRF9ERUJVR19QUk9CRSwJImRldmljZXMgdmVyaWZpY2F0aW9uIiB9LAorCXsgInJlYWQiLCBCTEtJRF9ERUJVR19SRUFELAkiY2FjaGUgcGFyc2luZyIgfSwKKwl7ICJzYXZlIiwgQkxLSURfREVCVUdfU0FWRSwJImNhY2hlIHdyaXRpbmciIH0sCisJeyAidGFnIiwgQkxLSURfREVCVUdfVEFHLAkidGFncyB1dGlscyIgfSwKKwl7IE5VTEwsIDAsIE5VTEwgfQorfTsKKworLyoqCisgKiBibGtpZF9pbml0X2RlYnVnOgorICogQG1hc2s6IGRlYnVnIG1hc2sgKDB4ZmZmZiB0byBlbmFibGUgZnVsbCBkZWJ1Z2dpbmcpCisgKgorICogSWYgdGhlIEBtYXNrIGlzIG5vdCBzcGVjaWZpZWQgdGhlbiB0aGlzIGZ1bmN0aW9uIHJlYWRzCisgKiBMSUJCTEtJRF9ERUJVRyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBnZXQgdGhlIG1hc2suCisgKgorICogQWxyZWFkeSBpbml0aWFsaXplZCBkZWJ1Z2dpbmcgc3R1ZmYgY2Fubm90IGJlIGNoYW5nZWQuIEl0IGRvZXMgbm90CisgKiBoYXZlIGVmZmVjdCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gdHdpY2UuCisgKi8KK3ZvaWQgYmxraWRfaW5pdF9kZWJ1ZyhpbnQgbWFzaykKK3sKKwlpZiAobGliYmxraWRfZGVidWdfbWFzaykKKwkJcmV0dXJuOworCisJX19VTF9JTklUX0RFQlVHX0ZST01fRU5WKGxpYmJsa2lkLCBCTEtJRF9ERUJVR18sIG1hc2ssIExJQkJMS0lEX0RFQlVHKTsKKworCWlmIChsaWJibGtpZF9kZWJ1Z19tYXNrICE9IEJMS0lEX0RFQlVHX0lOSVQKKwkgICAgJiYgbGliYmxraWRfZGVidWdfbWFzayAhPSAoQkxLSURfREVCVUdfSEVMUHxCTEtJRF9ERUJVR19JTklUKSkgeworCQljb25zdCBjaGFyICp2ZXIgPSBOVUxMOworCQljb25zdCBjaGFyICpkYXRlID0gTlVMTDsKKworCQlibGtpZF9nZXRfbGlicmFyeV92ZXJzaW9uKCZ2ZXIsICZkYXRlKTsKKwkJREJHKElOSVQsIHVsX2RlYnVnKCJsaWJyYXJ5IGRlYnVnIG1hc2s6IDB4JTA0eCIsIGxpYmJsa2lkX2RlYnVnX21hc2spKTsKKwkJREJHKElOSVQsIHVsX2RlYnVnKCJsaWJyYXJ5IHZlcnNpb246ICVzIFslc10iLCB2ZXIsIGRhdGUpKTsKKworCX0KKwlPTl9EQkcoSEVMUCwgdWxfZGVidWdfcHJpbnRfbWFza3MoIkxJQkJMS0lEX0RFQlVHIiwKKwkJCQlVTF9ERUJVR19NQVNLTkFNRVMobGliYmxraWQpKSk7Cit9CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvbGliYmxraWQuc3ltIGIvbGliYmxraWQvc3JjL2xpYmJsa2lkLnN5bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NWU0ZTIyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2xpYmJsa2lkLnN5bQpAQCAtMCwwICsxLDE3NiBAQAorLyoKKyAqIFRoZSBzeW1ib2wgdmVyc2lvbmluZyBlbnN1cmVzIHRoYXQgYSBuZXcgYXBwbGljYXRpb24gcmVxdWlyaW5nIHN5bWJvbCAnZm9vJworICogY2FuJ3QgcnVuIHdpdGggb2xkIGxpYnJhcnkuc28gbm90IHByb3ZpZGluZyAnZm9vJyAtIHRoZSBnbG9iYWwgU09OQU1FCisgKiB2ZXJzaW9uIGluZm8gY2FuJ3QgZW5mb3JjZSB0aGlzIHNpbmNlIHdlIG5ldmVyIGNoYW5nZSB0aGUgU09OQU1FLgorICoKKyAqIFRoZSBvcmlnaW5hbCBsaWJibGtpZCBmcm9tIGUyZnNwcm9ncyAoPD0xLjQxLjQpIGRvZXMgbm90IHRvIHVzZQorICogc3ltYm9sIHZlcnNpb25pbmcgLS0gYWxsIHRoZSBvcmlnaW5hbCBzeW1ib2xzIGFyZSBpbiBCTEtJRF8xLjAgbm93LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAKKyAqLworQkxLSURfMS4wIHsKK2dsb2JhbDoKKwlibGtpZF9kZXZfZGV2bmFtZTsKKwlibGtpZF9kZXZfaGFzX3RhZzsKKwlibGtpZF9kZXZfaXRlcmF0ZV9iZWdpbjsKKwlibGtpZF9kZXZfaXRlcmF0ZV9lbmQ7CisJYmxraWRfZGV2X25leHQ7CisJYmxraWRfZGV2bm9fdG9fZGV2bmFtZTsKKwlibGtpZF9kZXZfc2V0X3NlYXJjaDsKKwlibGtpZF9maW5kX2Rldl93aXRoX3RhZzsKKwlibGtpZF9nY19jYWNoZTsKKwlibGtpZF9nZXRfY2FjaGU7CisJYmxraWRfZ2V0X2RldjsKKwlibGtpZF9nZXRfZGV2bmFtZTsKKwlibGtpZF9nZXRfZGV2X3NpemU7CisJYmxraWRfZ2V0X2xpYnJhcnlfdmVyc2lvbjsKKwlibGtpZF9nZXRfdGFnX3ZhbHVlOworCWJsa2lkX2tub3duX2ZzdHlwZTsKKwlibGtpZF9wYXJzZV90YWdfc3RyaW5nOworCWJsa2lkX3BhcnNlX3ZlcnNpb25fc3RyaW5nOworCWJsa2lkX3Byb2JlX2FsbDsKKwlibGtpZF9wcm9iZV9hbGxfbmV3OworCWJsa2lkX3B1dF9jYWNoZTsKKwlibGtpZF90YWdfaXRlcmF0ZV9iZWdpbjsKKwlibGtpZF90YWdfaXRlcmF0ZV9lbmQ7CisJYmxraWRfdGFnX25leHQ7CisJYmxraWRfdmVyaWZ5OworbG9jYWw6CisJKjsKK307CisKKworLyoKKyAqIHN5bWJvbHMgc2luY2UgdXRpbC1saW51eCAyLjE1CisgKi8KK0JMS0lEXzIuMTUgeworZ2xvYmFsOgorCWJsa2lkX2RvX3Byb2JlOworCWJsa2lkX2RvX3NhZmVwcm9iZTsKKwlibGtpZF9lbmNvZGVfc3RyaW5nOworCWJsa2lkX2V2YWx1YXRlX3RhZzsKKwlibGtpZF9mcmVlX3Byb2JlOworCWJsa2lkX25ld19wcm9iZTsKKwlibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXM7CisJYmxraWRfcHJvYmVfZmlsdGVyX3VzYWdlOworCWJsa2lkX3Byb2JlX2dldF92YWx1ZTsKKwlibGtpZF9wcm9iZV9oYXNfdmFsdWU7CisJYmxraWRfcHJvYmVfaW52ZXJ0X2ZpbHRlcjsKKwlibGtpZF9wcm9iZV9sb29rdXBfdmFsdWU7CisJYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzOworCWJsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcjsKKwlibGtpZF9wcm9iZV9zZXRfZGV2aWNlOworCWJsa2lkX3Byb2JlX3NldF9yZXF1ZXN0OworCWJsa2lkX3Jlc2V0X3Byb2JlOworCWJsa2lkX3NhZmVfc3RyaW5nOworCWJsa2lkX3NlbmRfdWV2ZW50OworfSBCTEtJRF8xLjA7CisKKy8qCisgKiBzeW1ib2xzIHNpbmNlIHV0aWwtbGludXggMi4xNworICovCitCTEtJRF8yLjE3IHsKK2dsb2JhbDoKKwlibGtpZF9kZXZub190b193aG9sZWRpc2s7CisJYmxraWRfZG9fZnVsbHByb2JlOworCWJsa2lkX2tub3duX3B0dHlwZTsKKwlibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZTsKKwlibGtpZF9wYXJ0aXRpb25fZ2V0X25hbWU7CisJYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm87CisJYmxraWRfcGFydGl0aW9uX2dldF9zaXplOworCWJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQ7CisJYmxraWRfcGFydGl0aW9uX2dldF90YWJsZTsKKwlibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGU7CisJYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZzsKKwlibGtpZF9wYXJ0aXRpb25fZ2V0X3V1aWQ7CisJYmxraWRfcGFydGl0aW9uX2lzX2V4dGVuZGVkOworCWJsa2lkX3BhcnRpdGlvbl9pc19sb2dpY2FsOworCWJsa2lkX3BhcnRpdGlvbl9pc19wcmltYXJ5OworCWJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb247CisJYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9uczsKKwlibGtpZF9wYXJ0dGFibGVfZ2V0X29mZnNldDsKKwlibGtpZF9wYXJ0dGFibGVfZ2V0X3BhcmVudDsKKwlibGtpZF9wYXJ0dGFibGVfZ2V0X3R5cGU7CisJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnM7CisJYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzOworCWJsa2lkX3Byb2JlX2VuYWJsZV90b3BvbG9neTsKKwlibGtpZF9wcm9iZV9maWx0ZXJfcGFydGl0aW9uc190eXBlOworCWJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc190eXBlOworCWJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc191c2FnZTsKKwlibGtpZF9wcm9iZV9nZXRfZGV2bm87CisJYmxraWRfcHJvYmVfZ2V0X3BhcnRpdGlvbnM7CisJYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemU7CisJYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnM7CisJYmxraWRfcHJvYmVfZ2V0X3NpemU7CisJYmxraWRfcHJvYmVfZ2V0X3RvcG9sb2d5OworCWJsa2lkX3Byb2JlX2ludmVydF9wYXJ0aXRpb25zX2ZpbHRlcjsKKwlibGtpZF9wcm9iZV9pbnZlcnRfc3VwZXJibG9ja3NfZmlsdGVyOworCWJsa2lkX3Byb2JlX3Jlc2V0X3BhcnRpdGlvbnNfZmlsdGVyOworCWJsa2lkX3Byb2JlX3Jlc2V0X3N1cGVyYmxvY2tzX2ZpbHRlcjsKKwlibGtpZF9wcm9iZV9zZXRfcGFydGl0aW9uc19mbGFnczsKKwlibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3M7CisJYmxraWRfdG9wb2xvZ3lfZ2V0X2FsaWdubWVudF9vZmZzZXQ7CisJYmxraWRfdG9wb2xvZ3lfZ2V0X2xvZ2ljYWxfc2VjdG9yX3NpemU7CisJYmxraWRfdG9wb2xvZ3lfZ2V0X21pbmltdW1faW9fc2l6ZTsKKwlibGtpZF90b3BvbG9neV9nZXRfb3B0aW1hbF9pb19zaXplOworCWJsa2lkX3RvcG9sb2d5X2dldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZTsKK30gQkxLSURfMi4xNTsKKworLyoKKyAqIHN5bWJvbHMgc2luY2UgdXRpbC1saW51eCAyLjE4CisgKi8KK0JMS0lEXzIuMTggeworZ2xvYmFsOgorCWJsa2lkX3BhcnRpdGlvbl9nZXRfZmxhZ3M7CisJYmxraWRfcGFydGxpc3RfZGV2bm9fdG9fcGFydGl0aW9uOworCWJsa2lkX3BhcnRsaXN0X2dldF90YWJsZTsKKwlibGtpZF9wcm9iZV9hbGxfcmVtb3ZhYmxlOworCWJsa2lkX3Byb2JlX2dldF9mZDsKKwlibGtpZF9wcm9iZV9nZXRfb2Zmc2V0OworCWJsa2lkX3Byb2JlX2dldF93aG9sZWRpc2tfZGV2bm87CisJYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrOworfSBCTEtJRF8yLjE3OworCisvKgorICogc3ltYm9scyBzaW5jZSB1dGlsLWxpbnV4IDIuMjAKKyAqLworQkxLSURfMi4yMCB7CitnbG9iYWw6CisJYmxraWRfZXZhbHVhdGVfc3BlYzsKKwlibGtpZF9zdXBlcmJsb2Nrc19nZXRfbmFtZTsKK30gQkxLSURfMi4xODsKKworLyoKKyAqIHN5bWJvbHMgc2luY2UgdXRpbC1saW51eCAyLjIxCisgKi8KK0JMS0lEXzIuMjEgeworZ2xvYmFsOgorCWJsa2lkX2RvX3dpcGU7Cit9IEJMS0lEXzIuMjA7CisKKy8qCisgKiBzeW1ib2xzIHNpbmNlIHV0aWwtbGludXggMi4yMworICovCitCTEtJRF8yLjIzIHsKK2dsb2JhbDoKKwlibGtpZF9wcm9iZV9zdGVwX2JhY2s7CisJYmxraWRfcGFydHRhYmxlX2dldF9pZDsKKwlibGtpZF9pbml0X2RlYnVnOworfSBCTEtJRF8yLjIxOworCisvKgorICogc3ltYm9scyBzaW5jZSB1dGlsLWxpbnV4IDIuMjUKKyAqLworQkxLSURfMi4yNSB7CisJYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbl9ieV9wYXJ0bm87Cit9IEJMS0lEXzIuMjM7CisKK0JMS0lEXzIuMzAgeworCWJsa2lkX3Byb2JlX3NldF9zZWN0b3JzaXplOworCWJsa2lkX3BhcnRpdGlvbnNfZ2V0X25hbWU7Cit9IEJMS0lEXzIuMjU7CisKK0JMS0lEXzJfMzEgeworCWJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcnM7CisJYmxraWRfcHJvYmVfaGlkZV9yYW5nZTsKK30gQkxLSURfMi4zMDsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9sbHNlZWsuYyBiL2xpYmJsa2lkL3NyYy9sbHNlZWsuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWM0OTRlCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL2xsc2Vlay5jCkBAIC0wLDAgKzEsMTQ3IEBACisvKgorICogbGxzZWVrLmMgLS0gc3R1YiBjYWxsaW5nIHRoZSBsbHNlZWsgc3lzdGVtIGNhbGwKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTQsIDE5OTUsIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpZm5kZWYgX0xBUkdFRklMRV9TT1VSQ0UKKyMgZGVmaW5lIF9MQVJHRUZJTEVfU09VUkNFCisjZW5kaWYKKworI2lmbmRlZiBfTEFSR0VGSUxFNjRfU09VUkNFCisjIGRlZmluZSBfTEFSR0VGSUxFNjRfU09VUkNFCisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX1RZUEVTX0gKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIF9fTVNET1NfXworI2luY2x1ZGUgPGlvLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCisjaWZkZWYgX19saW51eF9fCisKKyNpZiBkZWZpbmVkKEhBVkVfTFNFRUs2NCkgJiYgZGVmaW5lZChIQVZFX0xTRUVLNjRfUFJPVE9UWVBFKQorCisjZGVmaW5lIG15X2xsc2VlayBsc2VlazY0CisKKyNlbGlmIGRlZmluZWQoSEFWRV9MTFNFRUspCisjaW5jbHVkZSA8c3lzY2FsbC5oPgorCisjaWZuZGVmIEhBVkVfTExTRUVLX1BST1RPVFlQRQorZXh0ZXJuIGxvbmcgbG9uZyBsbHNlZWsoaW50IGZkLCBsb25nIGxvbmcgb2Zmc2V0LCBpbnQgb3JpZ2luKTsKKyNlbmRpZgorCisjZGVmaW5lIG15X2xsc2VlayBsbHNlZWsKKworI2Vsc2UJLyogISBIQVZFX0xMU0VFSyAqLworCisjaWYgU0laRU9GX0xPTkcgPT0gU0laRU9GX0xPTkdfTE9ORworCisjZGVmaW5lIGxsc2VlayBsc2VlaworCisjZWxzZSAvKiBTSVpFT0ZfTE9ORyAhPSBTSVpFT0ZfTE9OR19MT05HICovCisKKyNpbmNsdWRlIDxsaW51eC91bmlzdGQuaD4KKworI2lmbmRlZiBfX05SX19sbHNlZWsKKyNkZWZpbmUgX19OUl9fbGxzZWVrICAgICAgICAgICAgMTQwCisjZW5kaWYKKworI2lmbmRlZiBfX2kzODZfXworc3RhdGljIGludCBfbGxzZWVrKHVuc2lnbmVkIGludCwgdW5zaWduZWQgbG9uZywgdW5zaWduZWQgbG9uZywKKwkJICAgYmxraWRfbG9mZl90ICosIHVuc2lnbmVkIGludCk7CisKK3N0YXRpYyBfc3lzY2FsbDUoaW50LCBfbGxzZWVrLCB1bnNpZ25lZCBpbnQsIGZkLCB1bnNpZ25lZCBsb25nLCBvZmZzZXRfaGlnaCwKKwkJIHVuc2lnbmVkIGxvbmcsIG9mZnNldF9sb3csIGJsa2lkX2xvZmZfdCAqLCByZXN1bHQsCisJCSB1bnNpZ25lZCBpbnQsIG9yaWdpbikKKyNlbmRpZgorCitzdGF0aWMgYmxraWRfbG9mZl90IG15X2xsc2VlayhpbnQgZmQsIGJsa2lkX2xvZmZfdCBvZmZzZXQsIGludCBvcmlnaW4pCit7CisJYmxraWRfbG9mZl90IHJlc3VsdDsKKwlpbnQgcmV0dmFsOworCisjaWZuZGVmIF9faTM4Nl9fCisJcmV0dmFsID0gX2xsc2VlayhmZCwgKCh1bnNpZ25lZCBsb25nIGxvbmcpIG9mZnNldCkgPj4gMzIsCisJCQkgKCh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0KSAmIDB4ZmZmZmZmZmYsCisJCQkgJnJlc3VsdCwgb3JpZ2luKTsKKyNlbHNlCisJcmV0dmFsID0gc3lzY2FsbChfX05SX19sbHNlZWssIGZkLCAoKHVuc2lnbmVkIGxvbmcgbG9uZykgb2Zmc2V0KSA+PiAzMiwKKwkJCSAoKHVuc2lnbmVkIGxvbmcgbG9uZylvZmZzZXQpICYgMHhmZmZmZmZmZiwKKwkJCSAmcmVzdWx0LCBvcmlnaW4pOworI2VuZGlmCisJcmV0dXJuIChyZXR2YWwgPT0gLTEgPyAoYmxraWRfbG9mZl90KSByZXR2YWwgOiByZXN1bHQpOworfQorCisjZW5kaWYJLyogX19hbHBoYV9fIHx8IF9faWE2NF9fICovCisKKyNlbmRpZiAvKiBIQVZFX0xMU0VFSyAqLworCitibGtpZF9sb2ZmX3QgYmxraWRfbGxzZWVrKGludCBmZCwgYmxraWRfbG9mZl90IG9mZnNldCwgaW50IHdoZW5jZSkKK3sKKwlibGtpZF9sb2ZmX3QgcmVzdWx0OworCXN0YXRpYyBpbnQgZG9fY29tcGF0ID0gMDsKKworCWlmICgoc2l6ZW9mKG9mZl90KSA+PSBzaXplb2YoYmxraWRfbG9mZl90KSkgfHwKKwkgICAgKG9mZnNldCA8ICgoYmxraWRfbG9mZl90KSAxIDw8ICgoc2l6ZW9mKG9mZl90KSo4KSAtMSkpKSkKKwkJcmV0dXJuIGxzZWVrKGZkLCAob2ZmX3QpIG9mZnNldCwgd2hlbmNlKTsKKworCWlmIChkb19jb21wYXQpIHsKKwkJZXJybm8gPSBFT1ZFUkZMT1c7CisJCXJldHVybiAtMTsKKwl9CisKKwlyZXN1bHQgPSBteV9sbHNlZWsoZmQsIG9mZnNldCwgd2hlbmNlKTsKKwlpZiAocmVzdWx0ID09IC0xICYmIGVycm5vID09IEVOT1NZUykgeworCQkvKgorCQkgKiBKdXN0IGluIGNhc2UgdGhpcyBjb2RlIHJ1bnMgb24gdG9wIG9mIGFuIG9sZCBrZXJuZWwKKwkJICogd2hpY2ggZG9lcyBub3Qgc3VwcG9ydCB0aGUgbGxzZWVrIHN5c3RlbSBjYWxsCisJCSAqLworCQlkb19jb21wYXQrKzsKKwkJZXJybm8gPSBFT1ZFUkZMT1c7CisJfQorCXJldHVybiByZXN1bHQ7Cit9CisKKyNlbHNlIC8qICFsaW51eCAqLworCisjaWZuZGVmIEVPVkVSRkxPVworI2lmZGVmIEVYVDJfRVRfSU5WQUxJRF9BUkdVTUVOVAorI2RlZmluZSBFT1ZFUkZMT1cgRVhUMl9FVF9JTlZBTElEX0FSR1VNRU5UCisjZWxzZQorI2RlZmluZSBFT1ZFUkZMT1cgMTEyCisjZW5kaWYKKyNlbmRpZgorCitibGtpZF9sb2ZmX3QgYmxraWRfbGxzZWVrKGludCBmZCwgYmxraWRfbG9mZl90IG9mZnNldCwgaW50IG9yaWdpbikKK3sKKyNpZiBkZWZpbmVkKEhBVkVfTFNFRUs2NCkgJiYgZGVmaW5lZChIQVZFX0xTRUVLNjRfUFJPVE9UWVBFKQorCXJldHVybiBsc2VlazY0IChmZCwgb2Zmc2V0LCBvcmlnaW4pOworI2Vsc2UKKwlpZiAoKHNpemVvZihvZmZfdCkgPCBzaXplb2YoYmxraWRfbG9mZl90KSkgJiYKKwkgICAgKG9mZnNldCA+PSAoKGJsa2lkX2xvZmZfdCkgMSA8PCAoKHNpemVvZihvZmZfdCkqOCkgLSAxKSkpKSB7CisJCWVycm5vID0gRU9WRVJGTE9XOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiBsc2VlayhmZCwgKG9mZl90KSBvZmZzZXQsIG9yaWdpbik7CisjZW5kaWYKK30KKworI2VuZGlmCS8qIGxpbnV4ICovCisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYWl4LmMgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9haXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWZkZmEzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYWl4LmMKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIGFpeCBwYXJ0aXRpb25zCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAicGFydGl0aW9ucy5oIgorI2luY2x1ZGUgImFpeC5oIgorCitzdGF0aWMgaW50IHByb2JlX2FpeF9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWJsa2lkX3BhcnRsaXN0IGxzOworCWJsa2lkX3BhcnR0YWJsZSB0YWI7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJhaXgiLCAwKTsKKwlpZiAoIXRhYikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7Cit9CisKKy8qCisgKiBXZSBrbm93IG5vdGhpbmcgYWJvdXQgQUlYIG9uLWRpc2sgc3RydWN0dXJlcy4gRXZlcnl0aGluZyB3aGF0IHdlIGtub3cgaXMgdGhlCisgKiBtYWdpYyBudW1iZXIgYXQgYmVnaW4gb2YgdGhlIGRpc2suCisgKgorICogTm90ZSwgTGludXgga2VybmVsIGlzIHRyaW5nIHRvIGJlIHNtYXJ0IGFuZCBBSVggc2lnbmF0dXJlIGlzIGlnbm9yZWQgd2hlbgorICogdGhlcmUgaXMgYSB2YWxpZCBET1MgcGFydGl0aW9ucyB0YWJsZS4gV2UgZG9uJ3Qgc3VwcG9ydCBzdWNoIGJlaGF2aW9yLiBBbGwKKyAqIGZkaXNrLWxpa2UgcHJvZ3JhbXMgaGFzIHRvIHByb3Blcmx5IHdpcGUgdGhlIGZpc3Qgc2VjdG9yLiBFdmVyeXRoaW5nIG90aGVyCisgKiBpcyBhIGJ1Zy4KKyAqLworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBhaXhfcHRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiYWl4IiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfYWl4X3B0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gQkxLSURfQUlYX01BR0lDX1NUUklORywgLmxlbiA9IEJMS0lEX0FJWF9NQUdJQ19TVFJMRU4gfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9haXguaCBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2FpeC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NjdjNWEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9haXguaApAQCAtMCwwICsxLDcgQEAKKyNpZm5kZWYgQkxLSURfUEFSVElUSU9OU19BSVhfSAorI2RlZmluZSBCTEtJRF9QQVJUSVRJT05TX0FJWF9ICisKKyNkZWZpbmUgQkxLSURfQUlYX01BR0lDX1NUUklORwkiXHhDOVx4QzJceEQ0XHhDMSIKKyNkZWZpbmUgQkxLSURfQUlYX01BR0lDX1NUUkxFTgkoc2l6ZW9mKEJMS0lEX0FJWF9NQUdJQ19TVFJJTkcpIC0gMSkKKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9hdGFyaS5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYXRhcmkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjI0YTU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYXRhcmkuYwpAQCAtMCwwICsxLDI3NiBAQAorLyoKKyAqIGF0YXJpIHBhcnRpdGlvbnMgcGFyc2luZyBjb2RlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE4IFZhY2xhdiBEb2xlemFsIDx2ZG9sZXphbEByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogQmFzZWQgb24gTGludXgga2VybmVsIGltcGxlbWVudGF0aW9uIGFuZCBhdGFyaS1mZGlzaworICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAicGFydGl0aW9ucy5oIgorCitzdHJ1Y3QgYXRhcmlfcGFydF9kZWYgeworCS8qCisJICogZmxhZ3M6CisJICogMCAoTFNCKTogYWN0aXZlCisJICogMS02OiAgICAgKHJlc2VydmVkKQorCSAqIDcgKE1TQik6IGJvb3RhYmxlCisJICovCisJdW5zaWduZWQgY2hhciBmbGFnczsKKwljaGFyIGlkWzNdOworCXVpbnQzMl90IHN0YXJ0OworCXVpbnQzMl90IHNpemU7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgYXRhcmlfcm9vdHNlY3RvciB7CisJY2hhciB1bnVzZWQwWzB4MTU2XTsgLyogYm9vdCBjb2RlICovCisJc3RydWN0IGF0YXJpX3BhcnRfZGVmIGljZF9wYXJ0WzhdOyAvKiBJQ0QgcGFydGl0aW9uIGVudHJpZXMgKi8KKwljaGFyIHVudXNlZDFbMHhjXTsKKwl1aW50MzJfdCBoZF9zaXplOworCXN0cnVjdCBhdGFyaV9wYXJ0X2RlZiBwYXJ0WzRdOyAvKiBwcmltYXJ5IHBhcnRpdGlvbiBlbnRyaWVzICovCisJdWludDMyX3QgYnNsX3N0YXJ0OyAvKiBiYWQgc2VjdG9yIGxpc3Qgc3RhcnQgKi8KKwl1aW50MzJfdCBic2xfbGVuOyAvKiBiYWQgc2VjdG9yIGxpc3QgbGVuZ3RoICovCisJdWludDE2X3QgY2hlY2tzdW07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisKKy8qCisgKiBHZW5lcmF0ZWQgdXNpbmcgbGludXgga2VybmVsIGN0eXBlLntjLGh9CisgKgorICogU2luY2Uga2VybmVsIHVzZXMgaXNhbG51bSgpIHRvIGRldGVjdCB3aGV0aGVyIGl0IGlzIEF0YXJpIFBULCB3ZSBuZWVkIHNhbWUKKyAqIGRlZmluaXRpb24gb2YgYWxudW0gY2hhcmFjdGVyIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBrZXJuZWwuCisgKi8KK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBjaGFyIF9saW51eF9pc2FsbnVtW10gPSB7CiswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAorMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKKzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCisxLDEsMSwxLDEsMSwxLDEsMSwxLDAsMCwwLDAsMCwwLAorMCwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwKKzEsMSwxLDEsMSwxLDEsMSwxLDEsMSwwLDAsMCwwLDAsCiswLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLAorMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDAsMCwwLDAsMCwKKzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCiswLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLAorMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwKKzAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDAsCisxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLAorMSwxLDEsMSwxLDEsMSwwLDEsMSwxLDEsMSwxLDEsMSwKKzEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsMSwxLDEsCisxLDEsMSwxLDEsMSwxLDAsMSwxLDEsMSwxLDEsMSwxCit9OworCitzdGF0aWMgaW50IGxpbnV4X2lzYWxudW0odW5zaWduZWQgY2hhciBjKSB7CisJcmV0dXJuIF9saW51eF9pc2FsbnVtW2NdOworfQorCisjZGVmaW5lIGlzYWxudW0gbGludXhfaXNhbG51bQorCisjZGVmaW5lIElTX0FDVElWRShwYXJ0ZGVmKSAoKHBhcnRkZWYpLmZsYWdzICYgMSkKKworI2RlZmluZSBJU19QQVJUREVGX1ZBTElEKHBhcnRkZWYsIGhkc2l6ZSkgXAorCSggXAorCQkocGFydGRlZikuZmxhZ3MgJiAxICYmIFwKKwkJaXNhbG51bSgocGFydGRlZikuaWRbMF0pICYmIFwKKwkJaXNhbG51bSgocGFydGRlZikuaWRbMV0pICYmIFwKKwkJaXNhbG51bSgocGFydGRlZikuaWRbMl0pICYmIFwKKwkJYmUzMl90b19jcHUoKHBhcnRkZWYpLnN0YXJ0KSA8PSAoaGRzaXplKSAmJiBcCisJCWJlMzJfdG9fY3B1KChwYXJ0ZGVmKS5zdGFydCkgKyBcCisJCQliZTMyX3RvX2NwdSgocGFydGRlZikuc2l6ZSkgPD0gKGhkc2l6ZSkgXAorCSkKKworc3RhdGljIGludCBpc19pZF9jb21tb24oY2hhciAqaWQpCit7CisJY29uc3QgY2hhciAqaWRzW10gPSB7IkdFTSIsICJCR00iLCAiTE5YIiwgIlNXUCIsICJSQVciLCB9OworCXVuc2lnbmVkIGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpZHMpOyBpKyspIHsKKwkJaWYgKCFtZW1jbXAoaWRzW2ldLCBpZCwgMykpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfcGFydGl0aW9uKGJsa2lkX3BhcnRsaXN0IGxzLCBibGtpZF9wYXJ0dGFibGUgdGFiLAorCXN0cnVjdCBhdGFyaV9wYXJ0X2RlZiAqcGFydCwgdWludDMyX3Qgb2Zmc2V0KQoreworCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisJdWludDMyX3Qgc3RhcnQ7CisJdWludDMyX3Qgc2l6ZTsKKworCXN0YXJ0ID0gYmUzMl90b19jcHUocGFydC0+c3RhcnQpICsgb2Zmc2V0OworCXNpemUgPSBiZTMyX3RvX2NwdShwYXJ0LT5zaXplKTsKKworCWlmIChibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uX2J5X3N0YXJ0KGxzLCBzdGFydCkpIHsKKwkJLyogRG9uJ3QgaW5jcmVtZW50IHBhcnRubyBmb3IgZXh0ZW5kZWQgcGFydHMgKi8KKwkJaWYgKCFvZmZzZXQpCisJCQlibGtpZF9wYXJ0bGlzdF9pbmNyZW1lbnRfcGFydG5vKGxzKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLCBzdGFydCwgc2l6ZSk7CisJaWYgKCFwYXIpCisJCXJldHVybiAtRU5PTUVNOworCisJYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3N0cmluZyhwYXIsICh1bnNpZ25lZCBjaGFyICopIHBhcnQtPmlkLAorCQkJCQlzaXplb2YocGFydC0+aWQpKTsKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFxyZXR1cm4gMTogT0ssIDA6IGJhZCBmb3JtYXQgb3IgLWVycm5vCisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfZXh0ZW5kZWQoYmxraWRfcHJvYmUgcHIsIGJsa2lkX3BhcnRsaXN0IGxzLAorCWJsa2lkX3BhcnR0YWJsZSB0YWIsIHN0cnVjdCBhdGFyaV9wYXJ0X2RlZiAqcGFydCkKK3sKKwl1aW50MzJfdCB4MHN0YXJ0LCB4c3RhcnQ7CisJdW5zaWduZWQgaSA9IDA7CisJaW50IHJjOworCisJeDBzdGFydCA9IHhzdGFydCA9IGJlMzJfdG9fY3B1KHBhcnQtPnN0YXJ0KTsKKwl3aGlsZSAoMSkgeworCQlzdHJ1Y3QgYXRhcmlfcm9vdHNlY3RvciAqeHJzOworCQl4cnMgPSAoc3RydWN0IGF0YXJpX3Jvb3RzZWN0b3IgKikgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgeHN0YXJ0KTsKKwkJaWYgKCF4cnMpIHsKKwkJCWlmIChlcnJubykKKwkJCQlyZXR1cm4gLWVycm5vOworCQkJcmV0dXJuIDA7CisJCX0KKworCQkvKgorCQkgKiBUaGVyZSBtdXN0IGJlIGRhdGEgcGFydGl0aW9uIGZvbGxvd2VkIGJ5IHJlZmVyZW5jZSB0byBuZXh0CisJCSAqIFhHTSBvciBpbmFjdGl2ZSBlbnRyeS4KKwkJICovCisJCWZvciAoaT0wOyA7IGkrKykgeworCQkJaWYgKGkgPj0gQVJSQVlfU0laRSh4cnMtPnBhcnQpIC0gMSkKKwkJCQlyZXR1cm4gMDsKKwkJCWlmIChJU19BQ1RJVkUoeHJzLT5wYXJ0W2ldKSkKKwkJCQlicmVhazsKKwkJfQorCisJCWlmICghbWVtY21wKHhycy0+cGFydFtpXS5pZCwgIlhHTSIsIDMpKQorCQkJcmV0dXJuIDA7CisKKwkJcmMgPSBwYXJzZV9wYXJ0aXRpb24obHMsIHRhYiwgJnhycy0+cGFydFtpXSwgeHN0YXJ0KTsKKwkJaWYgKHJjIDw9IDApCisJCQlyZXR1cm4gcmM7CisKKwkJaWYgKCFJU19BQ1RJVkUoeHJzLT5wYXJ0W2krMV0pKQorCQkJYnJlYWs7CisKKwkJaWYgKG1lbWNtcCh4cnMtPnBhcnRbaSsxXS5pZCwgIlhHTSIsIDMpKQorCQkJcmV0dXJuIDA7CisKKwkJeHN0YXJ0ID0geDBzdGFydCArIGJlMzJfdG9fY3B1KHhycy0+cGFydFtpKzFdLnN0YXJ0KTsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcm9iZV9hdGFyaV9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBhdGFyaV9yb290c2VjdG9yICpyczsKKworCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBOVUxMOworCWJsa2lkX3BhcnRsaXN0IGxzOworCisJdW5zaWduZWQgaTsKKwlpbnQgaGFzX3hnbSA9IDA7CisJaW50IHJjID0gMDsKKwlvZmZfdCBoZHNpemU7CisKKwkvKiBBdGFyaSBwYXJ0aXRpb24gaXMgbm90IGRlZmluZWQgZm9yIG90aGVyIHNlY3RvciBzaXplcyAqLworCWlmIChibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZShwcikgIT0gNTEyKQorCQlnb3RvIG5vdGhpbmc7CisKKwlycyA9IChzdHJ1Y3QgYXRhcmlfcm9vdHNlY3RvciAqKSBibGtpZF9wcm9iZV9nZXRfc2VjdG9yKHByLCAwKTsKKwlpZiAoIXJzKSB7CisJCWlmIChlcnJubykKKwkJCXJldHVybiAtZXJybm87CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwloZHNpemUgPSBibGtpZF9wcm9iZV9nZXRfc2l6ZShwcikgLyA1MTI7CisKKwkvKiBMb29rIGZvciB2YWxpZGx5IGxvb2tpbmcgcHJpbWFyeSBwYXJ0aXRpb24gKi8KKwlmb3IgKGkgPSAwOyA7IGkrKykgeworCQlpZiAoaSA+PSBBUlJBWV9TSVpFKHJzLT5wYXJ0KSkKKwkJCWdvdG8gbm90aGluZzsKKworCQlpZiAoSVNfUEFSVERFRl9WQUxJRChycy0+cGFydFtpXSwgaGRzaXplKSkgeworCQkJYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLAorCQkJCW9mZnNldG9mKHN0cnVjdCBhdGFyaV9yb290c2VjdG9yLCBwYXJ0W2ldKSwKKwkJCQlzaXplb2YocnMtPnBhcnRbaV0uZmxhZ3MpICsgc2l6ZW9mKHJzLT5wYXJ0W2ldLmlkKSwKKwkJCQkodW5zaWduZWQgY2hhciAqKSAmcnMtPnBhcnRbaV0pOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAiYXRhcmkiLCAwKTsKKwlpZiAoIXRhYikKKwkJZ290byBlcnI7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShycy0+cGFydCk7IGkrKykgeworCQlzdHJ1Y3QgYXRhcmlfcGFydF9kZWYgKnAgPSAmcnMtPnBhcnRbaV07CisKKwkJaWYgKCFJU19BQ1RJVkUoKnApKSB7CisJCQlibGtpZF9wYXJ0bGlzdF9pbmNyZW1lbnRfcGFydG5vKGxzKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKCFtZW1jbXAocC0+aWQsICJYR00iLCAzKSkgeworCQkJaGFzX3hnbSA9IDE7CisJCQlyYyA9IHBhcnNlX2V4dGVuZGVkKHByLCBscywgdGFiLCBwKTsKKwkJfSBlbHNlIHsKKwkJCXJjID0gcGFyc2VfcGFydGl0aW9uKGxzLCB0YWIsIHAsIDApOworCQl9CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gcmM7CisJfQorCisJLyogaWYgdGhlcmUgYXJlIG5vIFhHTSBwYXJ0aXRpb25zLCB3ZSBjYW4gdHJ5IElDRCBmb3JtYXQgKi8KKwkvKiBpZiBmaXJzdCBJQ0QgcGFydGl0aW9uIElEIGlzIG5vdCB2YWxpZCwgYXNzdW1lIG5vIElDRCBmb3JtYXQgKi8KKwlpZiAoIWhhc194Z20gJiYgaXNfaWRfY29tbW9uKHJzLT5pY2RfcGFydFswXS5pZCkpIHsKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnMtPmljZF9wYXJ0KTsgaSsrKSB7CisJCQlzdHJ1Y3QgYXRhcmlfcGFydF9kZWYgKnAgPSAmcnMtPmljZF9wYXJ0W2ldOworCisJCQlpZiAoIUlTX0FDVElWRSgqcCkgfHwgIWlzX2lkX2NvbW1vbihwLT5pZCkpIHsKKwkJCQlibGtpZF9wYXJ0bGlzdF9pbmNyZW1lbnRfcGFydG5vKGxzKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJcmMgPSBwYXJzZV9wYXJ0aXRpb24obHMsIHRhYiwgcCwgMCk7CisJCQlpZiAocmMgPCAwKQorCQkJCXJldHVybiByYzsKKwkJfQorCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBhdGFyaV9wdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJhdGFyaSIsCisJLnByb2JlZnVuYwk9IHByb2JlX2F0YXJpX3B0LAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2JzZC5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvYnNkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzc0NTE3MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2JzZC5jCkBAIC0wLDAgKzEsMTg4IEBACisvKgorICogQlNEL09TRiBwYXJ0aXRpb24gcGFyc2luZyBjb2RlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogSW5zcGlyZWQgYnkgZmRpc2ssIHBhcnR4LCBMaW51eCBrZXJuZWwsIGxpYnBhcnRlZCBhbmQgb3BlbmJzZCBoZWFkZXIgZmlsZXMuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAicGFydGl0aW9ucy5oIgorI2luY2x1ZGUgInB0LWJzZC5oIgorCisvKiBSZXR1cm5zICdibGtpZF9pZG1hZycgaW4gNTEyLXNlY3RvcnMgKi8KKyNkZWZpbmUgQkxLSURfTUFHX1NFQ1RPUihfbWFnKSAgKCgoX21hZyktPmtib2ZmIC8gMikgICsgKChfbWFnKS0+c2JvZmYgPj4gOSkpCisKKy8qIFJldHVybnMgJ2Jsa2lkX2lkbWFnJyBpbiBieXRlcyAqLworI2RlZmluZSBCTEtJRF9NQUdfT0ZGU0VUKF9tYWcpICAoKF9tYWcpLT5rYm9mZiA8PCAxMCkgKyAoKF9tYWcpLT5zYm9mZikKKworLyogUmV0dXJucyAnYmxraWRfaWRtYWcnIG9mZnNldCBpbiBieXRlcyB3aXRoaW4gdGhlIGxhc3Qgc2VjdG9yICovCisjZGVmaW5lIEJMS0lEX01BR19MQVNUT0ZGU0VUKF9tYWcpIFwKKwkJIChCTEtJRF9NQUdfT0ZGU0VUKF9tYWcpIC0gKEJMS0lEX01BR19TRUNUT1IoX21hZykgPDwgOSkpCisKK3N0YXRpYyBpbnQgcHJvYmVfYnNkX3B0KGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqbDsKKwlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcDsKKwljb25zdCBjaGFyICpuYW1lID0gImJzZCIgOworCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBOVUxMOworCWJsa2lkX3BhcnRpdGlvbiBwYXJlbnQ7CisJYmxraWRfcGFydGxpc3QgbHM7CisJaW50IGksIG5wYXJ0cyA9IEJTRF9NQVhQQVJUSVRJT05TOworCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJaW50IHJjID0gQkxLSURfUFJPQkVfTk9ORTsKKwl1aW50MzJfdCBhYnNfb2Zmc2V0ID0gMDsKKworCWlmIChibGtpZF9wYXJ0aXRpb25zX25lZWRfdHlwZW9ubHkocHIpKQorCQkvKiBjYWxsZXIgZG9lcyBub3QgYXNrIGZvciBkZXRhaWxzIGFib3V0IHBhcnRpdGlvbnMgKi8KKwkJcmV0dXJuIHJjOworCisJZGF0YSA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIEJMS0lEX01BR19TRUNUT1IobWFnKSk7CisJaWYgKCFkYXRhKSB7CisJCWlmIChlcnJubykKKwkJCXJjID0gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJbCA9IChzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqKSBkYXRhICsgQkxLSURfTUFHX0xBU1RPRkZTRVQobWFnKTsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwkvKiB0cnkgdG8gZGV0ZXJtaW5lIHRoZSByZWFsIHR5cGUgb2YgQlNEIHN5c3RlbSBhY2NvcmRpbmcgdG8KKwkgKiAocGFyZW50YWwpIHByaW1hcnkgcGFydGl0aW9uICovCisJcGFyZW50ID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcmVudChscyk7CisJaWYgKHBhcmVudCkgeworCQlzd2l0Y2goYmxraWRfcGFydGl0aW9uX2dldF90eXBlKHBhcmVudCkpIHsKKwkJY2FzZSBNQlJfRlJFRUJTRF9QQVJUSVRJT046CisJCQluYW1lID0gImZyZWVic2QiOworCQkJYWJzX29mZnNldCA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQocGFyZW50KTsKKwkJCWJyZWFrOworCQljYXNlIE1CUl9ORVRCU0RfUEFSVElUSU9OOgorCQkJbmFtZSA9ICJuZXRic2QiOworCQkJYnJlYWs7CisJCWNhc2UgTUJSX09QRU5CU0RfUEFSVElUSU9OOgorCQkJbmFtZSA9ICJvcGVuYnNkIjsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCQkiV0FSTklORzogQlNEIGxhYmVsIGRldGVjdGVkIG9uIHVua25vd24gKDB4JXgpICIKKwkJCQkicHJpbWFyeSBwYXJ0aXRpb24iLAorCQkJCWJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShwYXJlbnQpKSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsIG5hbWUsIEJMS0lEX01BR19PRkZTRVQobWFnKSk7CisJaWYgKCF0YWIpIHsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKGxlMTZfdG9fY3B1KGwtPmRfbnBhcnRpdGlvbnMpIDwgQlNEX01BWFBBUlRJVElPTlMpCisJCW5wYXJ0cyA9IGxlMTZfdG9fY3B1KGwtPmRfbnBhcnRpdGlvbnMpOworCisJZWxzZSBpZiAobGUxNl90b19jcHUobC0+ZF9ucGFydGl0aW9ucykgPiBCU0RfTUFYUEFSVElUSU9OUykKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCSJXQVJOSU5HOiBpZ25vcmUgJWQgbW9yZSBCU0QgcGFydGl0aW9ucyIsCisJCQlsZTE2X3RvX2NwdShsLT5kX25wYXJ0aXRpb25zKSAtIEJTRF9NQVhQQVJUSVRJT05TKSk7CisKKwlmb3IgKGkgPSAwLCBwID0gbC0+ZF9wYXJ0aXRpb25zOyBpIDwgbnBhcnRzOyBpKyssIHArKykgeworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCQl1aW50MzJfdCBzdGFydCwgc2l6ZTsKKworCQlpZiAocC0+cF9mc3R5cGUgPT0gQlNEX0ZTX1VOVVNFRCkKKwkJCWNvbnRpbnVlOworCisJCXN0YXJ0ID0gbGUzMl90b19jcHUocC0+cF9vZmZzZXQpOworCQlzaXplID0gbGUzMl90b19jcHUocC0+cF9zaXplKTsKKworCQkvKiBGcmVlQlNEIHNpbmNlIHZlcnNpb24gMTAgdXNlcyByZWxhdGl2ZSBvZmZzZXRzLiBXZSBjYW4gdXNlCisJCSAqIDNyZCBwYXJ0aXRpb24gKHNwZWNpYWwgd2hvbGVkaXNrIHBhcnRpdGlvbikgdG8gZGV0ZWN0IHRoaXMKKwkJICogc2l0dWF0aW9uLgorCQkgKi8KKwkJaWYgKGFic19vZmZzZXQgJiYgbnBhcnRzID49IDMKKwkJICAgICYmIGxlMzJfdG9fY3B1KGwtPmRfcGFydGl0aW9uc1syXS5wX29mZnNldCkgPT0gMCkKKwkJCXN0YXJ0ICs9IGFic19vZmZzZXQ7CisKKwkJaWYgKHBhcmVudCAmJiBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcmVudCkgPT0gc3RhcnQKKwkJCSAgICYmIGJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShwYXJlbnQpID09IHNpemUpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJIldBUk5JTkc6IEJTRCBwYXJ0aXRpb24gKCVkKSBzYW1lIGxpa2UgcGFyZW50LCAiCisJCQkJImlnbm9yZSIsIGkpKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChwYXJlbnQgJiYgIWJsa2lkX2lzX25lc3RlZF9kaW1lbnNpb24ocGFyZW50LCBzdGFydCwgc2l6ZSkpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJIldBUk5JTkc6IEJTRCBwYXJ0aXRpb24gKCVkKSBvdmVyZmxvdyAiCisJCQkJImRldGVjdGVkLCBpZ25vcmUiLCBpKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24obHMsIHRhYiwgc3RhcnQsIHNpemUpOworCQlpZiAoIXBhcikgeworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBub3RoaW5nOworCQl9CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF90eXBlKHBhciwgcC0+cF9mc3R5cGUpOworCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gcmM7Cit9CisKKworLyoKKyAqIEFsbCBCU0QgdmFyaWFudHMgdXNlIHRoZSBzYW1lIG1hZ2ljIHN0cmluZyAobGl0dGxlLWVuZGlhbiksCisgKiBhbmQgdGhlIHNhbWUgZGlza2xhYmVsLgorICoKKyAqIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4ge0ZyZWUsT3BlbiwuLi59QlNEIGlzIGluIHRoZSAocGFyZW50YWwpCisgKiBwcmltYXJ5IHBhcnRpdGlvbiB0eXBlLgorICoKKyAqIFNlZSBhbHNvOiBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0JTRF9kaXNrbGFiZWwKKyAqCisgKiBUaGUgbG9jYXRpb24gb2YgQlNEIGRpc2sgbGFiZWwgaXMgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIGFuZCBpbiBkZWZpbmVkIGJ5CisgKiBMQUJFTFNFQ1RPUiBhbmQgTEFCRUxPRkZTRVQgbWFjcm9zIGluIHRoZSBkaXNrbGFiZWwuaCBmaWxlLiBUaGUgbG9jYXRpb24KKyAqIGFsc28gZGVwZW5kcyBvbiBCU0QgdmFyaWFudCwgRnJlZUJTRCB1c2VzIG9ubHkgb25lIGxvY2F0aW9uLCBOZXRCU0QgYW5kCisgKiBPcGVuQlNEIGFyZSBtb3JlIGNyZWF0aXZlLi4uCisgKgorICogVGhlIGJhc2ljIG92ZXJ2aWV3OgorICoKKyAqIGFyY2ggICAgICAgICAgICAgICAgICAgIHwgTEFCRUxTRUNUT1IgfCBMQUJFTE9GRlNFVAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgKiBhbWQ2NCBhcm0gaHBwYSBocHBhNjQgICB8ICAgICAgICAgICAgIHwKKyAqIGkzODYsIG1hY3BwYywgbXZtZXBwYyAgIHwgICAgICAxICAgICAgfCAgICAgIDAKKyAqIHNnaSwgYXZpaW9uLCBzaCwgc29jcHBjIHwgICAgICAgICAgICAgfAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgKiBhbHBoYSBsdW5hODhrIG1hYzY4ayAgICB8ICAgICAgMCAgICAgIHwgICAgIDY0CisgKiBzcGFyYyhPcGVuQlNEKSB2YXggICAgICB8ICAgICAgICAgICAgIHwKKyAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSstLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLQorICogc3BhcmM2NCBzcGFyYyhOZXRCU0QpICAgfCAgICAgIDAgICAgICB8ICAgIDEyOAorICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tCisgKgorICogLi4uYW5kIG1vcmUgKHNlZSBodHRwOi8vZnhyLndhdHNvbi5vcmcvZnhyL2lkZW50P3Y9TkVUQlNEO2k9TEFCRUxTRUNUT1IpCisgKgorICovCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJzZF9wdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJic2QiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9ic2RfcHQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiXHg1N1x4NDVceDU2XHg4MiIsIC5sZW4gPSA0LCAuc2JvZmYgPSA1MTIgfSwKKwkJeyAubWFnaWMgPSAiXHg1N1x4NDVceDU2XHg4MiIsIC5sZW4gPSA0LCAuc2JvZmYgPSA2NCB9LAorCQl7IC5tYWdpYyA9ICJceDU3XHg0NVx4NTZceDgyIiwgLmxlbiA9IDQsIC5zYm9mZiA9IDEyOCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2Rvcy5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvZG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU5Y2E5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2Rvcy5jCkBAIC0wLDAgKzEsMzY2IEBACisvKgorICogTVMtRE9TIHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiBJbnNwaXJlZCBieSBmZGlzaywgcGFydHgsIExpbnV4IGtlcm5lbCBhbmQgbGlicGFydGVkLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKyNpbmNsdWRlICJhaXguaCIKKworLyogc2VlIHN1cGVyYmxvY2tzL3ZmYXQuYyAqLworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9pc192ZmF0KGJsa2lkX3Byb2JlIHByKTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBkb3Nfc3VidHlwZXMgeworCXVuc2lnbmVkIGNoYXIgdHlwZTsKKwljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZDsKK30gZG9zX25lc3RlZFtdID0geworCXsgTUJSX0ZSRUVCU0RfUEFSVElUSU9OLCAmYnNkX3B0X2lkaW5mbyB9LAorCXsgTUJSX05FVEJTRF9QQVJUSVRJT04sICZic2RfcHRfaWRpbmZvIH0sCisJeyBNQlJfT1BFTkJTRF9QQVJUSVRJT04sICZic2RfcHRfaWRpbmZvIH0sCisJeyBNQlJfVU5JWFdBUkVfUEFSVElUSU9OLCAmdW5peHdhcmVfcHRfaWRpbmZvIH0sCisJeyBNQlJfU09MQVJJU19YODZfUEFSVElUSU9OLCAmc29sYXJpc194ODZfcHRfaWRpbmZvIH0sCisJeyBNQlJfTUlOSVhfUEFSVElUSU9OLCAmbWluaXhfcHRfaWRpbmZvIH0KK307CisKK3N0YXRpYyBpbmxpbmUgaW50IGlzX2V4dGVuZGVkKHN0cnVjdCBkb3NfcGFydGl0aW9uICpwKQoreworCXJldHVybiAocC0+c3lzX2luZCA9PSBNQlJfRE9TX0VYVEVOREVEX1BBUlRJVElPTiB8fAorCQlwLT5zeXNfaW5kID09IE1CUl9XOTVfRVhURU5ERURfUEFSVElUSU9OIHx8CisJCXAtPnN5c19pbmQgPT0gTUJSX0xJTlVYX0VYVEVOREVEX1BBUlRJVElPTik7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfZG9zX2V4dGVuZGVkKGJsa2lkX3Byb2JlIHByLCBibGtpZF9wYXJ0dGFibGUgdGFiLAorCQl1aW50MzJfdCBleF9zdGFydCwgdWludDMyX3QgZXhfc2l6ZSwgaW50IHNzZikKK3sKKwlibGtpZF9wYXJ0bGlzdCBscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0bGlzdChwcik7CisJdWludDMyX3QgY3VyX3N0YXJ0ID0gZXhfc3RhcnQsIGN1cl9zaXplID0gZXhfc2l6ZTsKKwl1bnNpZ25lZCBjaGFyICpkYXRhOworCWludCBjdF9ub2RhdGEgPSAwOwkvKiBjb3VudCBleHQucGFydGl0aW9ucyB3aXRob3V0IGRhdGEgcGFydGl0aW9ucyAqLworCWludCBpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicGFyc2UgRUJSIFtzdGFydD0lZCwgc2l6ZT0lZF0iLCBleF9zdGFydC9zc2YsIGV4X3NpemUvc3NmKSk7CisJaWYgKGV4X3N0YXJ0ID09IDApIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbiAtLSBpZ25vcmUiKSk7CisJCXJldHVybiAwOworCX0KKworCXdoaWxlICgxKSB7CisJCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwLCAqcDA7CisJCXVpbnQzMl90IHN0YXJ0LCBzaXplOworCisJCWlmICgrK2N0X25vZGF0YSA+IDEwMCkKKwkJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKwkJZGF0YSA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIGN1cl9zdGFydCk7CisJCWlmICghZGF0YSkgeworCQkJaWYgKGVycm5vKQorCQkJCXJldHVybiAtZXJybm87CisJCQlnb3RvIGxlYXZlOwkvKiBtYWxmb3JtZWQgcGFydGl0aW9uPyAqLworCQl9CisKKwkJaWYgKCFtYnJfaXNfdmFsaWRfbWFnaWMoZGF0YSkpCisJCQlnb3RvIGxlYXZlOworCisJCXAwID0gbWJyX2dldF9wYXJ0aXRpb24oZGF0YSwgMCk7CisKKwkJLyogVXN1YWxseSwgdGhlIGZpcnN0IGVudHJ5IGlzIHRoZSByZWFsIGRhdGEgcGFydGl0aW9uLAorCQkgKiB0aGUgMm5kIGVudHJ5IGlzIHRoZSBuZXh0IGV4dGVuZGVkIHBhcnRpdGlvbiwgb3IgZW1wdHksCisJCSAqIGFuZCB0aGUgM3JkIGFuZCA0dGggZW50cmllcyBhcmUgdW51c2VkLgorCQkgKiBIb3dldmVyLCBEUkRPUyBzb21ldGltZXMgaGFzIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gYXMKKwkJICogdGhlIGZpcnN0IGVudHJ5ICh3aGVuIHRoZSBkYXRhIHBhcnRpdGlvbiBpcyBlbXB0eSksCisJCSAqIGFuZCBPUy8yIHNlZW1zIHRvIHVzZSBhbGwgZm91ciBlbnRyaWVzLgorCQkgKiAtLSBMaW51eCBrZXJuZWwgZnMvcGFydGl0aW9ucy9kb3MuYworCQkgKgorCQkgKiBTZWUgYWxzbyBodHRwOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0V4dGVuZGVkX2Jvb3RfcmVjb3JkCisJCSAqLworCisJCS8qIFBhcnNlIGRhdGEgcGFydGl0aW9uICovCisJCWZvciAocCA9IHAwLCBpID0gMDsgaSA8IDQ7IGkrKywgcCsrKSB7CisJCQl1aW50MzJfdCBhYnNfc3RhcnQ7CisJCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJCQkvKiB0aGUgc3RhcnQgaXMgcmVsYXRpdmUgdG8gdGhlIHBhcmVudGFsIGV4dC5wYXJ0aXRpb24gKi8KKwkJCXN0YXJ0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCkgKiBzc2Y7CisJCQlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKSAqIHNzZjsKKwkJCWFic19zdGFydCA9IGN1cl9zdGFydCArIHN0YXJ0OwkvKiBhYnNvbHV0ZSBzdGFydCAqLworCisJCQlpZiAoIXNpemUgfHwgaXNfZXh0ZW5kZWQocCkpCisJCQkJY29udGludWU7CisJCQlpZiAoaSA+PSAyKSB7CisJCQkJLyogZXh0cmEgY2hlY2tzIHRvIGRldGVjdCByZWFsIGRhdGEgb24KKwkJCQkgKiAzcmQgYW5kIDR0aCBlbnRyaWVzICovCisJCQkJaWYgKHN0YXJ0ICsgc2l6ZSA+IGN1cl9zaXplKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAoYWJzX3N0YXJ0IDwgZXhfc3RhcnQpCisJCQkJCWNvbnRpbnVlOworCQkJCWlmIChhYnNfc3RhcnQgKyBzaXplID4gZXhfc3RhcnQgKyBleF9zaXplKQorCQkJCQljb250aW51ZTsKKwkJCX0KKworCQkJLyogQXZvaWQgcmVjdXJzaXZlIG5vbi1lbXB0eSBsaW5rcywgc2VlIGN0X25vZGF0YSBjb3VudGVyICovCisJCQlpZiAoYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbl9ieV9zdGFydChscywgYWJzX3N0YXJ0KSkgeworCQkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiMlZDogRUJSIGR1cGxpY2F0ZSBkYXRhIHBhcnRpdGlvbiBbYWJzIHN0YXJ0PSV1XSAtLSBpZ25vcmUiLAorCQkJCQkJCWkgKyAxLCBhYnNfc3RhcnQpKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKworCQkJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLCBhYnNfc3RhcnQsIHNpemUpOworCQkJaWYgKCFwYXIpCisJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJCWJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZShwYXIsIHAtPnN5c19pbmQpOworCQkJYmxraWRfcGFydGl0aW9uX3NldF9mbGFncyhwYXIsIHAtPmJvb3RfaW5kKTsKKwkJCWJsa2lkX3BhcnRpdGlvbl9nZW5fdXVpZChwYXIpOworCQkJY3Rfbm9kYXRhID0gMDsKKwkJfQorCQkvKiBUaGUgZmlyc3QgbmVzdGVkIGV4dC5wYXJ0aXRpb24gc2hvdWxkIGJlIGEgbGluayB0byB0aGUgbmV4dAorCQkgKiBsb2dpY2FsIHBhcnRpdGlvbi4gRXZlcnl0aGluZyBvdGhlciAocmVjdXJzaXZlIGV4dC5wYXJ0aXRpb25zKQorCQkgKiBpcyBqdW5rLgorCQkgKi8KKwkJZm9yIChwID0gcDAsIGkgPSAwOyBpIDwgNDsgaSsrLCBwKyspIHsKKwkJCXN0YXJ0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCkgKiBzc2Y7CisJCQlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKSAqIHNzZjsKKworCQkJaWYgKHNpemUgJiYgaXNfZXh0ZW5kZWQocCkpIHsKKwkJCQlpZiAoc3RhcnQgPT0gMCkKKwkJCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiIyVkOiBFQlIgbGluayBvZmZzZXQgaXMgemVybyAtLSBpZ25vcmUiLCBpICsgMSkpOworCQkJCWVsc2UKKwkJCQkJYnJlYWs7CisJCQl9CisJCX0KKwkJaWYgKGkgPT0gNCkKKwkJCWdvdG8gbGVhdmU7CisKKwkJY3VyX3N0YXJ0ID0gZXhfc3RhcnQgKyBzdGFydDsKKwkJY3VyX3NpemUgPSBzaXplOworCX0KK2xlYXZlOgorCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKK30KKworc3RhdGljIGlubGluZSBpbnQgaXNfbHZtKGJsa2lkX3Byb2JlIHByKQoreworCXN0cnVjdCBibGtpZF9wcnZhbCAqdiA9IF9fYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVFlQRSIpOworCisJcmV0dXJuICh2ICYmIHYtPmRhdGEgJiYgc3RyY21wKChjaGFyICopIHYtPmRhdGEsICJMVk0yX21lbWJlciIpID09IDApOworfQorCitzdGF0aWMgaW5saW5lIGludCBpc19lbXB0eV9tYnIodW5zaWduZWQgY2hhciAqbWJyKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwID0gbWJyX2dldF9wYXJ0aXRpb24obWJyLCAwKTsKKwlpbnQgaSwgbnBhcnRzID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCA0OyBpKyspIHsKKwkJaWYgKGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkgPiAwKQorCQkJbnBhcnRzKys7CisJCXArKzsKKwl9CisKKwlyZXR1cm4gbnBhcnRzID09IDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZG9zX3B0KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaW50IGk7CisJaW50IHNzZjsKKwlibGtpZF9wYXJ0dGFibGUgdGFiID0gTlVMTDsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDAsICpwOworCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJdWludDMyX3Qgc3RhcnQsIHNpemUsIGlkOworCWNoYXIgaWRzdHJbVVVJRF9TVFJfTEVOXTsKKworCisJZGF0YSA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIDApOworCWlmICghZGF0YSkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJLyogaWdub3JlIGRpc2tzIHdpdGggQUlYIG1hZ2ljIG51bWJlciAtLSBmb3IgbW9yZSBkZXRhaWxzIHNlZSBhaXguYyAqLworCWlmIChtZW1jbXAoZGF0YSwgQkxLSURfQUlYX01BR0lDX1NUUklORywgQkxLSURfQUlYX01BR0lDX1NUUkxFTikgPT0gMCkKKwkJZ290byBub3RoaW5nOworCisJcDAgPSBtYnJfZ2V0X3BhcnRpdGlvbihkYXRhLCAwKTsKKworCS8qCisJICogUmVqZWN0IFBUIHdoZXJlIGJvb3QgaW5kaWNhdG9yIGlzIG5vdCAwIG9yIDB4ODAuCisJICovCisJZm9yIChwID0gcDAsIGkgPSAwOyBpIDwgNDsgaSsrLCBwKyspCisJCWlmIChwLT5ib290X2luZCAhPSAwICYmIHAtPmJvb3RfaW5kICE9IDB4ODApIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIm1pc3NpbmcgYm9vdCBpbmRpY2F0b3IgLS0gaWdub3JlIikpOworCQkJZ290byBub3RoaW5nOworCQl9CisKKwkvKgorCSAqIEdQVCB1c2VzIHZhbGlkIE1CUgorCSAqLworCWZvciAocCA9IHAwLCBpID0gMDsgaSA8IDQ7IGkrKywgcCsrKSB7CisJCWlmIChwLT5zeXNfaW5kID09IE1CUl9HUFRfUEFSVElUSU9OKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwcm9iYWJseSBHUFQgLS0gaWdub3JlIikpOworCQkJZ290byBub3RoaW5nOworCQl9CisJfQorCisJLyoKKwkgKiBOb3cgdGhhdCB0aGUgNTVhYSBzaWduYXR1cmUgaXMgcHJlc2VudCwgdGhpcyBpcyBwcm9iYWJseQorCSAqIGVpdGhlciB0aGUgYm9vdCBzZWN0b3Igb2YgYSBGQVQgZmlsZXN5c3RlbSBvciBhIERPUy10eXBlCisJICogcGFydGl0aW9uIHRhYmxlLgorCSAqLworCWlmIChibGtpZF9wcm9iZV9pc192ZmF0KHByKSA9PSAxKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInByb2JhYmx5IEZBVCAtLSBpZ25vcmUiKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwkvKgorCSAqIFVnbHkgZXhjZXB0aW9uLCBpZiB0aGUgZGV2aWNlIGNvbnRhaW5zIGEgdmFsaWQgTFZNIHBoeXNpY2FsIHZvbHVtZQorCSAqIGFuZCBlbXB0eSBNQlIgKD1ubyBwYXJ0aXRpb24gZGVmaW5lZCkgdGhlbiBpdCdzIExWTSBhbmQgTUJSIHNob3VsZAorCSAqIGJlIGlnbm9yZWQuIENyYXp5IHBlb3BsZSB1c2UgaXQgdG8gYm9vdCBmcm9tIExWTSBkZXZpY2VzLgorCSAqLworCWlmIChpc19sdm0ocHIpICYmIGlzX2VtcHR5X21icihkYXRhKSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJlbXB0eSBNQlIgb24gTFZNIGRldmljZSAtLSBpZ25vcmUiKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlibGtpZF9wcm9iZV91c2Vfd2lwZXIocHIsIE1CUl9QVF9PRkZTRVQsIDUxMiAtIE1CUl9QVF9PRkZTRVQpOworCisJaWQgPSBtYnJfZ2V0X2lkKGRhdGEpOworCWlmIChpZCkKKwkJc25wcmludGYoaWRzdHIsIHNpemVvZihpZHN0ciksICIlMDh4IiwgaWQpOworCisJLyoKKwkgKiBXZWxsLCBhbGwgY2hlY2tzIHBhc3MsIGl0J3MgTVMtRE9TIHBhcnRpdGlvbiB0YWJsZQorCSAqLworCWlmIChibGtpZF9wYXJ0aXRpb25zX25lZWRfdHlwZW9ubHkocHIpKSB7CisJCS8qIE5vbi1iaW5hcnkgaW50ZXJmYWNlIC0tIGNhbGxlciBkb2VzIG5vdCBhc2sgZm9yIGRldGFpbHMKKwkJICogYWJvdXQgcGFydGl0aW9ucywganVzdCBzZXQgZ2VuZXJpYyB2YXJpYWJsZXMgb25seS4gKi8KKwkJaWYgKGlkKQorCQkJYmxraWRfcGFydGl0aW9uc19zdHJjcHlfcHR1dWlkKHByLCBpZHN0cik7CisJCXJldHVybiAwOworCX0KKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwkvKiBzZWN0b3Igc2l6ZSBmYWN0b3IgKHRoZSBzdGFydCBhbmQgc2l6ZSBhcmUgaW4gdGhlIHJlYWwgc2VjdG9ycywgYnV0CisJICogd2UgbmVlZCB0byBjb252ZXJ0IGFsbCBzaXplcyB0byA1MTIgbG9naWNhbCBzZWN0b3JzCisJICovCisJc3NmID0gYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUocHIpIC8gNTEyOworCisJLyogYWxsb2NhdGUgYSBuZXcgcGFydGl0aW9uIHRhYmxlICovCisJdGFiID0gYmxraWRfcGFydGxpc3RfbmV3X3BhcnR0YWJsZShscywgImRvcyIsIE1CUl9QVF9PRkZTRVQpOworCWlmICghdGFiKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmIChpZCkKKwkJYmxraWRfcGFydHRhYmxlX3NldF9pZCh0YWIsICh1bnNpZ25lZCBjaGFyICopIGlkc3RyKTsKKworCS8qIFBhcnNlIHByaW1hcnkgcGFydGl0aW9ucyAqLworCWZvciAocCA9IHAwLCBpID0gMDsgaSA8IDQ7IGkrKywgcCsrKSB7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisKKwkJc3RhcnQgPSBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKSAqIHNzZjsKKwkJc2l6ZSA9IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkgKiBzc2Y7CisKKwkJaWYgKCFzaXplKSB7CisJCQkvKiBMaW51eCBrZXJuZWwgaWdub3JlcyBlbXB0eSBwYXJ0aXRpb25zLCBidXQgcGFydG5vIGZvcgorCQkJICogdGhlIGVtcHR5IHByaW1hcnkgcGFydGl0aW9ucyBpcyBub3QgcmV1c2VkICovCisJCQlibGtpZF9wYXJ0bGlzdF9pbmNyZW1lbnRfcGFydG5vKGxzKTsKKwkJCWNvbnRpbnVlOworCQl9CisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24obHMsIHRhYiwgc3RhcnQsIHNpemUpOworCQlpZiAoIXBhcikKKwkJCXJldHVybiAtRU5PTUVNOworCisJCWJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZShwYXIsIHAtPnN5c19pbmQpOworCQlibGtpZF9wYXJ0aXRpb25fc2V0X2ZsYWdzKHBhciwgcC0+Ym9vdF9pbmQpOworCQlibGtpZF9wYXJ0aXRpb25fZ2VuX3V1aWQocGFyKTsKKwl9CisKKwkvKiBMaW51eCB1c2VzIHBhcnRpdGlvbiBudW1iZXJzIGdyZWF0ZXIgdGhhbiA0CisJICogZm9yIGFsbCBsb2dpY2FsIHBhcnRpdGlvbiBhbmQgYWxsIG5lc3RlZCBwYXJ0aXRpb24gdGFibGVzIChic2QsIC4uKQorCSAqLworCWJsa2lkX3BhcnRsaXN0X3NldF9wYXJ0bm8obHMsIDUpOworCisJLyogUGFyc2UgbG9naWNhbCBwYXJ0aXRpb25zICovCisJZm9yIChwID0gcDAsIGkgPSAwOyBpIDwgNDsgaSsrLCBwKyspIHsKKwkJc3RhcnQgPSBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKSAqIHNzZjsKKwkJc2l6ZSA9IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkgKiBzc2Y7CisKKwkJaWYgKCFzaXplKQorCQkJY29udGludWU7CisJCWlmIChpc19leHRlbmRlZChwKSAmJgorCQkgICAgcGFyc2VfZG9zX2V4dGVuZGVkKHByLCB0YWIsIHN0YXJ0LCBzaXplLCBzc2YpID09IC0xKQorCQkJZ290byBub3RoaW5nOworCX0KKworCS8qIFBhcnNlIHN1YnR5cGVzIChuZXN0ZWQgcGFydGl0aW9ucykgb24gbGFyZ2UgZGlza3MgKi8KKwlpZiAoIWJsa2lkX3Byb2JlX2lzX3RpbnkocHIpKSB7CisJCWludCBucGFydHMgPSBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGxzKTsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJjaGVja2luZyBmb3Igc3VidHlwZXMiKSk7CisKKwkJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCQlzaXplX3QgbjsKKwkJCWludCB0eXBlOworCQkJYmxraWRfcGFydGl0aW9uIHBhID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbihscywgaSk7CisKKwkJCWlmIChwYSA9PSBOVUxMCisJCQkgICAgfHwgYmxraWRfcGFydGl0aW9uX2dldF9zaXplKHBhKSA9PSAwCisJCQkgICAgfHwgYmxraWRfcGFydGl0aW9uX2lzX2V4dGVuZGVkKHBhKQorCQkJICAgIHx8IGJsa2lkX3BhcnRpdGlvbl9pc19sb2dpY2FsKHBhKSkKKwkJCQljb250aW51ZTsKKworCQkJdHlwZSA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShwYSk7CisKKwkJCWZvciAobiA9IDA7IG4gPCBBUlJBWV9TSVpFKGRvc19uZXN0ZWQpOyBuKyspIHsKKwkJCQlpbnQgcmM7CisKKwkJCQlpZiAoZG9zX25lc3RlZFtuXS50eXBlICE9IHR5cGUpCisJCQkJCWNvbnRpbnVlOworCisJCQkJcmMgPSBibGtpZF9wYXJ0aXRpb25zX2RvX3N1YnByb2JlKHByLCBwYSwKKwkJCQkJCQlkb3NfbmVzdGVkW25dLmlkKTsKKwkJCQlpZiAocmMgPCAwKQorCQkJCQlyZXR1cm4gcmM7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCitub3RoaW5nOgorCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZG9zX3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImRvcyIsCisJLnByb2JlZnVuYwk9IHByb2JlX2Rvc19wdCwKKwkubWFnaWNzCQk9CisJeworCQkvKiBET1MgbWFzdGVyIGJvb3Qgc2VjdG9yOgorCQkgKgorCQkgKiAgICAgMCB8IENvZGUgQXJlYQorCQkgKiAgIDQ0MCB8IE9wdGlvbmFsIERpc2sgc2lnbmF0dXJlCisJCSAqICAgNDQ2IHwgUGFydGl0aW9uIHRhYmxlCisJCSAqICAgNTEwIHwgMHg1NQorCQkgKiAgIDUxMSB8IDB4QUEKKwkJICovCisJCXsgLm1hZ2ljID0gIlx4NTVceEFBIiwgLmxlbiA9IDIsIC5zYm9mZiA9IDUxMCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2dwdC5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvZ3B0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI3MDRlZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL2dwdC5jCkBAIC0wLDAgKzEsNDc0IEBACisvKgorICogRUZJIEdQVCBwYXJ0aXRpb24gcGFyc2luZyBjb2RlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogVGhpcyBjb2RlIGlzIG5vdCBjb3B5ICYgcGFzdCBmcm9tIGFueSBvdGhlciBpbXBsZW1lbnRhdGlvbi4KKyAqCisgKiBGb3IgbW9yZSBpbmZvcm1hdGlvbiBhYm91dCBHUFQgc3RhcnQgeW91ciBzdHVkeSBhdDoKKyAqIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR1VJRF9QYXJ0aXRpb25fVGFibGUKKyAqIGh0dHA6Ly90ZWNobmV0Lm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9jYzczOTQxMihXUy4xMCkuYXNweAorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAicGFydGl0aW9ucy5oIgorI2luY2x1ZGUgImNyYzMyLmgiCisKKyNkZWZpbmUgR1BUX1BSSU1BUllfTEJBCTEKKworLyogU2lnbmF0dXJlIC0g4oCcRUZJIFBBUlTigJ0gKi8KKyNkZWZpbmUgR1BUX0hFQURFUl9TSUdOQVRVUkUgMHg1NDUyNDE1MDIwNDk0NjQ1VUxMCisjZGVmaW5lIEdQVF9IRUFERVJfU0lHTkFUVVJFX1NUUiAiRUZJIFBBUlQiCisKKy8qIGJhc2ljIHR5cGVzICovCit0eXBlZGVmIHVpbnQxNl90IGVmaV9jaGFyMTZfdDsKKworLyogVVVJRCAqLwordHlwZWRlZiBzdHJ1Y3QgeworCXVpbnQzMl90IHRpbWVfbG93OworCXVpbnQxNl90IHRpbWVfbWlkOworCXVpbnQxNl90IHRpbWVfaGlfYW5kX3ZlcnNpb247CisJdWludDhfdCBjbG9ja19zZXFfaGk7CisJdWludDhfdCBjbG9ja19zZXFfbG93OworCXVpbnQ4X3Qgbm9kZVs2XTsKK30gZWZpX2d1aWRfdDsKKworCisjZGVmaW5lIEdQVF9VTlVTRURfRU5UUllfR1VJRCBcCisJICAgICgoZWZpX2d1aWRfdCkgeyAweDAwMDAwMDAwLCAweDAwMDAsIDB4MDAwMCwgMHgwMCwgMHgwMCwgXAorCSAgICAgICAgICAgICAgICAgICAgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwIH19KQorc3RydWN0IGdwdF9oZWFkZXIgeworCXVpbnQ2NF90CXNpZ25hdHVyZTsJCS8qICJFRkkgUEFSVCIgKi8KKwl1aW50MzJfdAlyZXZpc2lvbjsKKwl1aW50MzJfdAloZWFkZXJfc2l6ZTsJCS8qIHVzdWFsbHkgOTIgYnl0ZXMgKi8KKwl1aW50MzJfdAloZWFkZXJfY3JjMzI7CQkvKiBjaGVja3N1bSBvZiBoZWFkZXIgd2l0aCB0aGlzCisJCQkJCQkgKiBmaWVsZCB6ZXJvZWQgZHVyaW5nIGNhbGN1bGF0aW9uICovCisJdWludDMyX3QJcmVzZXJ2ZWQxOworCisJdWludDY0X3QJbXlfbGJhOwkJCS8qIGxvY2F0aW9uIG9mIHRoaXMgaGVhZGVyIGNvcHkgKi8KKwl1aW50NjRfdAlhbHRlcm5hdGVfbGJhOwkJLyogbG9jYXRpb24gb2YgdGhlIG90aGVyIGhlYWRlciBjb3B5ICovCisJdWludDY0X3QJZmlyc3RfdXNhYmxlX2xiYTsJLyogZmlyc3QgdXNhYmxlIExCQSBmb3IgcGFydGl0aW9ucyAqLworCXVpbnQ2NF90CWxhc3RfdXNhYmxlX2xiYTsJLyogbGFzdCB1c2FibGUgTEJBIGZvciBwYXJ0aXRpb25zICovCisKKwllZmlfZ3VpZF90CWRpc2tfZ3VpZDsJCS8qIGRpc2sgVVVJRCAqLworCisJdWludDY0X3QJcGFydGl0aW9uX2VudHJpZXNfbGJhOwkvKiBhbHdheXMgMiBpbiBwcmltYXJ5IGhlYWRlciBjb3B5ICovCisJdWludDMyX3QJbnVtX3BhcnRpdGlvbl9lbnRyaWVzOworCXVpbnQzMl90CXNpemVvZl9wYXJ0aXRpb25fZW50cnk7CisJdWludDMyX3QJcGFydGl0aW9uX2VudHJ5X2FycmF5X2NyYzMyOworCisJLyoKKwkgKiBUaGUgcmVzdCBvZiB0aGUgYmxvY2sgaXMgcmVzZXJ2ZWQgYnkgVUVGSSBhbmQgbXVzdCBiZSB6ZXJvLiBFRkkKKwkgKiBzdGFuZGFyZCBoYW5kbGVzIHRoaXMgYnk6CisJICoKKwkgKiB1aW50OF90CQlyZXNlcnZlZDJbIEJMS1NTWkdFVCAtIDkyIF07CisJICoKKwkgKiBUaGlzIGRlZmluaXRpb24gaXMgdXNlbGVzcyBpbiBwcmFjdGljZS4gSXQgaXMgbmVjZXNzYXJ5IHRvIHJlYWQKKwkgKiB3aG9sZSBibG9jayBmcm9tIHRoZSBkZXZpY2UgcmF0aGVyIHRoYW4gc2l6ZW9mKHN0cnVjdCBncHRfaGVhZGVyKQorCSAqIG9ubHkuCisJICovCit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyoqKiBub3QgdXNlZAorc3RydWN0IGdwdF9lbnRyeV9hdHRyaWJ1dGVzIHsKKwl1aW50NjRfdAlyZXF1aXJlZF90b19mdW5jdGlvbjoxOworCXVpbnQ2NF90CXJlc2VydmVkOjQ3OworICAgICAgICB1aW50NjRfdAl0eXBlX2d1aWRfc3BlY2lmaWM6MTY7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKyoqKi8KKworc3RydWN0IGdwdF9lbnRyeSB7CisJZWZpX2d1aWRfdAlwYXJ0aXRpb25fdHlwZV9ndWlkOwkvKiB0eXBlIFVVSUQgKi8KKwllZmlfZ3VpZF90CXVuaXF1ZV9wYXJ0aXRpb25fZ3VpZDsJLyogcGFydGl0aW9uIFVVSUQgKi8KKwl1aW50NjRfdAlzdGFydGluZ19sYmE7CisJdWludDY0X3QJZW5kaW5nX2xiYTsKKworCS8qc3RydWN0IGdwdF9lbnRyeV9hdHRyaWJ1dGVzCWF0dHJpYnV0ZXM7Ki8KKworCXVpbnQ2NF90CWF0dHJpYnV0ZXM7CisKKwllZmlfY2hhcjE2X3QJcGFydGl0aW9uX25hbWVbNzIgLyBzaXplb2YoZWZpX2NoYXIxNl90KV07IC8qIFVURi0xNkxFIHN0cmluZyovCit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworCisvKgorICogRUZJIHVzZXMgY3JjMzIgd2l0aCB+MCBzZWVkIGFuZCB4b3IncyB3aXRoIH4wIGF0IHRoZSBlbmQuCisgKi8KK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgY291bnRfY3JjMzIoY29uc3QgdW5zaWduZWQgY2hhciAqYnVmLCBzaXplX3QgbGVuLAorCQkJCSAgIHNpemVfdCBleGNsdWRlX29mZiwgc2l6ZV90IGV4Y2x1ZGVfbGVuKQoreworCXJldHVybiAodWxfY3JjMzJfZXhjbHVkZV9vZmZzZXQofjBMLCBidWYsIGxlbiwgZXhjbHVkZV9vZmYsIGV4Y2x1ZGVfbGVuKSBeIH4wTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgY2hhciAqZ2V0X2xiYV9idWZmZXIoYmxraWRfcHJvYmUgcHIsCisJCQkJCXVpbnQ2NF90IGxiYSwgc2l6ZV90IGJ5dGVzKQoreworCXJldHVybiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUocHIpICogbGJhLCBieXRlcyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGd1aWRjbXAoZWZpX2d1aWRfdCBsZWZ0LCBlZmlfZ3VpZF90IHJpZ2h0KQoreworCXJldHVybiBtZW1jbXAoJmxlZnQsICZyaWdodCwgc2l6ZW9mIChlZmlfZ3VpZF90KSk7Cit9CisKKy8qCisgKiBVVUlEIGlzIHRyYWRpdGlvbmFsbHkgMTYgYnl0ZSBiaWctZW5kaWFuIGFycmF5LCBleGNlcHQgSW50ZWwgRUZJCisgKiBzcGVjaWZpY2F0aW9uIHdoZXJlIHRoZSBVVUlEIGlzIGEgc3RydWN0dXJlIG9mIGxpdHRsZS1lbmRpYW4gZmllbGRzLgorICovCitzdGF0aWMgdm9pZCBzd2FwX2VmaV9ndWlkKGVmaV9ndWlkX3QgKnVpZCkKK3sKKwl1aWQtPnRpbWVfbG93ID0gc3dhYjMyKHVpZC0+dGltZV9sb3cpOworCXVpZC0+dGltZV9taWQgPSBzd2FiMTYodWlkLT50aW1lX21pZCk7CisJdWlkLT50aW1lX2hpX2FuZF92ZXJzaW9uID0gc3dhYjE2KHVpZC0+dGltZV9oaV9hbmRfdmVyc2lvbik7Cit9CisKK3N0YXRpYyBpbnQgbGFzdF9sYmEoYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90ICpsYmEpCit7CisJdWludDY0X3Qgc3ogPSBibGtpZF9wcm9iZV9nZXRfc2l6ZShwcik7CisJdW5zaWduZWQgaW50IHNzeiA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKTsKKworCWlmIChzeiA8IHNzeikKKwkJcmV0dXJuIC0xOworCisJKmxiYSA9IChzeiAvIHNzeikgLSAxVUxMOworCXJldHVybiAwOworfQorCisvKgorICogUHJvdGVjdGl2ZSAobGVnYWN5KSBNQlIuCisgKgorICogVGhpcyBNQlIgY29udGFpbnMgc3RhbmRhcmQgRE9TIHBhcnRpdGlvbiB0YWJsZSB3aXRoIGEgc2luZ2xlIHBhcnRpdGlvbiwgdHlwZQorICogb2YgMHhFRS4gIFRoZSBwYXJ0aXRpb24gdXN1YWxseSBlbmNvbXBhc3NpbmcgdGhlIGVudGlyZSBHUFQgZHJpdmUgLSBvciAyVGlCCisgKiBmb3IgbGFyZ2UgZGlza3MuCisgKgorICogTm90ZSB0aGF0IEFwcGxlIHVzZXMgR1BUL01CUiBoeWJyaWQgZGlza3MsIHdoZXJlIHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGlzCisgKiBzeW5jaHJvbml6ZWQgd2l0aCBHUFQuIFRoaXMgc3luY2hyb25pemF0aW9uIGhhcyBtYW55IHJlc3RyaWN0aW9uIG9mIGNvdXJzZQorICogKGR1ZSBET1MgUFQgbGltaXRhdGlvbnMpLgorICoKKyAqIE5vdGUgdGhhdCB0aGUgUE1CUiBkZXRlY3Rpb24gaXMgb3B0aW9uYWwgKGVuYWJsZWQgYnkgZGVmYXVsdCkgYW5kIGNvdWxkIGJlCisgKiBkaXNhYmxlZCBieSBCTEtJRF9QQVJUU19GT1BDRV9HUFQgZmxhZyAoc2VlIGFsc28gYmxraWRfcGFydGl0aW9uc19zZXRfZmxhZ3MoKSkuCisgKi8KK3N0YXRpYyBpbnQgaXNfcG1icl92YWxpZChibGtpZF9wcm9iZSBwciwgaW50ICpoYXMpCit7CisJaW50IGZsYWdzID0gYmxraWRfcGFydGl0aW9uc19nZXRfZmxhZ3MocHIpOworCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnA7CisJaW50IGk7CisKKwlpZiAoaGFzKQorCQkqaGFzID0gMDsKKwllbHNlIGlmIChmbGFncyAmIEJMS0lEX1BBUlRTX0ZPUkNFX0dQVCkKKwkJcmV0dXJuIDE7CQkJLyogc2tpcCBQTUJSIGNoZWNrICovCisKKwlkYXRhID0gYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgMCk7CisJaWYgKCFkYXRhKSB7CisJCWlmIChlcnJubykKKwkJCXJldHVybiAtZXJybm87CisJCWdvdG8gZmFpbGVkOworCX0KKworCWlmICghbWJyX2lzX3ZhbGlkX21hZ2ljKGRhdGEpKQorCQlnb3RvIGZhaWxlZDsKKworCWZvciAoaSA9IDAsIHAgPSBtYnJfZ2V0X3BhcnRpdGlvbihkYXRhLCAwKTsgaSA8IDQ7IGkrKywgcCsrKSB7CisJCWlmIChwLT5zeXNfaW5kID09IE1CUl9HUFRfUEFSVElUSU9OKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCIgIyVkIHZhbGlkIFBNQlIgcGFydGl0aW9uIiwgaSArIDEpKTsKKwkJCWdvdG8gb2s7CisJCX0KKwl9CitmYWlsZWQ6CisJcmV0dXJuIDA7CitvazoKKwlpZiAoaGFzKQorCQkqaGFzID0gMTsKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFJlYWRzIEdQVCBoZWFkZXIgdG8gQGhkciBhbmQgcmV0dXJucyBhIHBvaW50ZXIgdG8gQGhkciBvciBOVUxMIGluIGNhc2Ugb2YKKyAqIGVycm9yLiBUaGUgZnVuY3Rpb24gYWxzbyByZXR1cm5zIEdQVCBlbnRyaWVzIGluIEBlbnRzLgorICoKKyAqIE5vdGUsIHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgYWxsb2NhdGUgYW55IG1lbW9yeS4gVGhlIEdQVCBoZWFkZXIgaGFzIGZpeGVkCisgKiBzaXplIHNvIHdlIHVzZSBzdGFjaywgYW5kIEBlbnRzIHJldHVybnMgbWVtb3J5IGZyb20gbGliYmxraWQgYnVmZmVyIChzbyB0aGUKKyAqIG5leHQgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcigpIHdpbGwgb3ZlcndyaXRlIHRoaXMgYnVmZmVyKS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyB2YWxpZGl0eSBvZiBoZWFkZXIgYW5kIGVudHJpZXMgYXJyYXkuIEEgY29ycnVwdGVkCisgKiBoZWFkZXIgaXMgbm90IHJldHVybmVkLgorICovCitzdGF0aWMgc3RydWN0IGdwdF9oZWFkZXIgKmdldF9ncHRfaGVhZGVyKAorCQkJCWJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgZ3B0X2hlYWRlciAqaGRyLAorCQkJCXN0cnVjdCBncHRfZW50cnkgKiplbnRzLCB1aW50NjRfdCBsYmEsCisJCQkJdWludDY0X3QgbGFzdGxiYSkKK3sKKwlzdHJ1Y3QgZ3B0X2hlYWRlciAqaDsKKwl1aW50MzJfdCBjcmM7CisJdWludDY0X3QgbHUsIGZ1OworCXVpbnQ2NF90IGVzejsKKwl1aW50MzJfdCBoc3osIHNzejsKKworCXNzeiA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiBjaGVja2luZyBmb3IgR1BUIGhlYWRlciBhdCAlIlBSSXU2NCwgbGJhKSk7CisKKwkvKiB3aG9sZSBzZWN0b3IgaXMgYWxsb2NhdGVkIGZvciBHUFQgaGVhZGVyICovCisJaCA9IChzdHJ1Y3QgZ3B0X2hlYWRlciAqKSBnZXRfbGJhX2J1ZmZlcihwciwgbGJhLCBzc3opOworCWlmICghaCkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAobGU2NF90b19jcHUoaC0+c2lnbmF0dXJlKSAhPSBHUFRfSEVBREVSX1NJR05BVFVSRSkKKwkJcmV0dXJuIE5VTEw7CisKKwloc3ogPSBsZTMyX3RvX2NwdShoLT5oZWFkZXJfc2l6ZSk7CisKKwkvKiBFRkk6IFRoZSBIZWFkZXJTaXplIG11c3QgYmUgZ3JlYXRlciB0aGFuIDkyIGFuZCBtdXN0IGJlIGxlc3MKKwkgKiAgICAgIHRoYW4gb3IgZXF1YWwgdG8gdGhlIGxvZ2ljYWwgYmxvY2sgc2l6ZS4KKwkgKi8KKwlpZiAoaHN6ID4gc3N6IHx8IGhzeiA8IHNpemVvZigqaCkpCisJCXJldHVybiBOVUxMOworCisJLyogSGVhZGVyIGhhcyB0byBiZSB2ZXJpZmllZCB3aGVuIGhlYWRlcl9jcmMzMiBpcyB6ZXJvICovCisJY3JjID0gY291bnRfY3JjMzIoKHVuc2lnbmVkIGNoYXIgKikgaCwgaHN6LAorCQkJb2Zmc2V0b2Yoc3RydWN0IGdwdF9oZWFkZXIsIGhlYWRlcl9jcmMzMiksCisJCQlzaXplb2YoaC0+aGVhZGVyX2NyYzMyKSk7CisKKwlpZiAoY3JjICE9IGxlMzJfdG9fY3B1KGgtPmhlYWRlcl9jcmMzMikpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiR1BUIGhlYWRlciBjb3JydXB0ZWQiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIFZhbGlkIGhlYWRlciBoYXMgdG8gYmUgYXQgTXlMQkEgKi8KKwlpZiAobGU2NF90b19jcHUoaC0+bXlfbGJhKSAhPSBsYmEpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCSJHUFQtPk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJZnUgPSBsZTY0X3RvX2NwdShoLT5maXJzdF91c2FibGVfbGJhKTsKKwlsdSA9IGxlNjRfdG9fY3B1KGgtPmxhc3RfdXNhYmxlX2xiYSk7CisKKwkvKiBDaGVjayBpZiBGaXJzdCBhbmQgTGFzdCB1c2FibGUgTEJBIG1ha2VzIHNlbnNlICovCisJaWYgKGx1IDwgZnUgfHwgZnUgPiBsYXN0bGJhIHx8IGx1ID4gbGFzdGxiYSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJIkdQVC0+e0ZpcnN0LExhc3R9VXNhYmxlTEJBIG91dCBvZiByYW5nZSIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogVGhlIGhlYWRlciBoYXMgdG8gYmUgb3V0c2lkZSB1c2FibGUgcmFuZ2UgKi8KKwlpZiAoZnUgPCBsYmEgJiYgbGJhIDwgbHUpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiR1BUIGhlYWRlciBpcyBpbnNpZGUgdXNhYmxlIGFyZWEiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIFNpemUgb2YgYmxvY2tzIHdpdGggR1BUIGVudHJpZXMgKi8KKwllc3ogPSAodWludDY0X3QpbGUzMl90b19jcHUoaC0+bnVtX3BhcnRpdGlvbl9lbnRyaWVzKSAqCisJCWxlMzJfdG9fY3B1KGgtPnNpemVvZl9wYXJ0aXRpb25fZW50cnkpOworCisJaWYgKGVzeiA9PSAwIHx8IGVzeiA+PSBVSU5UMzJfTUFYIHx8CisJICAgIGxlMzJfdG9fY3B1KGgtPnNpemVvZl9wYXJ0aXRpb25fZW50cnkpICE9IHNpemVvZihzdHJ1Y3QgZ3B0X2VudHJ5KSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJHUFQgZW50cmllcyB1bmRlZmluZWQiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIFRoZSBoZWFkZXIgc2VlbXMgdmFsaWQsIHNhdmUgaXQKKwkgKiAod2UgZG9uJ3QgY2FyZSBhYm91dCB6ZXJvcyBpbiBoZHItPnJlc2VydmVkMiBhcmVhKSAqLworCW1lbWNweShoZHIsIGgsIHNpemVvZigqaCkpOworCWggPSBoZHI7CisKKwkvKiBSZWFkIEdQVCBlbnRyaWVzICovCisJKmVudHMgPSAoc3RydWN0IGdwdF9lbnRyeSAqKSBnZXRfbGJhX2J1ZmZlcihwciwKKwkJCQlsZTY0X3RvX2NwdShoLT5wYXJ0aXRpb25fZW50cmllc19sYmEpLCBlc3opOworCWlmICghKmVudHMpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiR1BUIGVudHJpZXMgdW5yZWFkYWJsZSIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogVmFsaWRhdGUgZW50cmllcyAqLworCWNyYyA9IGNvdW50X2NyYzMyKCh1bnNpZ25lZCBjaGFyICopICplbnRzLCBlc3osIDAsIDApOworCWlmIChjcmMgIT0gbGUzMl90b19jcHUoaC0+cGFydGl0aW9uX2VudHJ5X2FycmF5X2NyYzMyKSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJHUFQgZW50cmllcyBjb3JydXB0ZWQiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCXJldHVybiBoOworfQorCitzdGF0aWMgaW50IHByb2JlX2dwdF9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXVpbnQ2NF90IGxhc3RsYmEgPSAwLCBsYmE7CisJc3RydWN0IGdwdF9oZWFkZXIgaGRyLCAqaDsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICplOworCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBOVUxMOworCWJsa2lkX3BhcnRsaXN0IGxzOworCXVpbnQ2NF90IGZ1LCBsdTsKKwl1aW50MzJfdCBzc2YsIGk7CisJZWZpX2d1aWRfdCBndWlkOworCWludCByZXQ7CisKKwlpZiAobGFzdF9sYmEocHIsICZsYXN0bGJhKSkKKwkJZ290byBub3RoaW5nOworCisJcmV0ID0gaXNfcG1icl92YWxpZChwciwgTlVMTCk7CisJaWYgKHJldCA8IDApCisJCXJldHVybiByZXQ7CisJZWxzZSBpZiAocmV0ID09IDApCisJCWdvdG8gbm90aGluZzsKKworCWVycm5vID0gMDsKKwloID0gZ2V0X2dwdF9oZWFkZXIocHIsICZoZHIsICZlLCAobGJhID0gR1BUX1BSSU1BUllfTEJBKSwgbGFzdGxiYSk7CisJaWYgKCFoICYmICFlcnJubykKKwkJaCA9IGdldF9ncHRfaGVhZGVyKHByLCAmaGRyLCAmZSwgKGxiYSA9IGxhc3RsYmEpLCBsYXN0bGJhKTsKKworCWlmICghaCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJYmxraWRfcHJvYmVfdXNlX3dpcGVyKHByLCBsYmEgKiBibGtpZF9wcm9iZV9nZXRfc2l6ZShwciksIDgpOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUocHIpICogbGJhLAorCQkJICAgICAgc2l6ZW9mKEdQVF9IRUFERVJfU0lHTkFUVVJFX1NUUikgLSAxLAorCQkJICAgICAgKHVuc2lnbmVkIGNoYXIgKikgR1BUX0hFQURFUl9TSUdOQVRVUkVfU1RSKSkKKwkJZ290byBlcnI7CisKKwlndWlkID0gaC0+ZGlza19ndWlkOworCXN3YXBfZWZpX2d1aWQoJmd1aWQpOworCisJaWYgKGJsa2lkX3BhcnRpdGlvbnNfbmVlZF90eXBlb25seShwcikpIHsKKwkJLyogTm9uLWJpbmFyeSBpbnRlcmZhY2UgLS0gY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscworCQkgKiBhYm91dCBwYXJ0aXRpb25zLCBqdXN0IHNldCBnZW5lcmljIHZhcmlhYmxlcyBvbmx5LiAqLworCQlibGtpZF9wYXJ0aXRpb25zX3NldF9wdHV1aWQocHIsICh1bnNpZ25lZCBjaGFyICopICZndWlkKTsKKwkJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCX0KKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAiZ3B0IiwKKwkJCQlibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZShwcikgKiBsYmEpOworCWlmICghdGFiKQorCQlnb3RvIGVycjsKKworCWJsa2lkX3BhcnR0YWJsZV9zZXRfdXVpZCh0YWIsIChjb25zdCB1bnNpZ25lZCBjaGFyICopICZndWlkKTsKKworCXNzZiA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKSAvIDUxMjsKKworCWZ1ID0gbGU2NF90b19jcHUoaC0+Zmlyc3RfdXNhYmxlX2xiYSk7CisJbHUgPSBsZTY0X3RvX2NwdShoLT5sYXN0X3VzYWJsZV9sYmEpOworCisJZm9yIChpID0gMDsgaSA8IGxlMzJfdG9fY3B1KGgtPm51bV9wYXJ0aXRpb25fZW50cmllcyk7IGkrKywgZSsrKSB7CisKKwkJYmxraWRfcGFydGl0aW9uIHBhcjsKKwkJdWludDY0X3Qgc3RhcnQgPSBsZTY0X3RvX2NwdShlLT5zdGFydGluZ19sYmEpOworCQl1aW50NjRfdCBzaXplID0gbGU2NF90b19jcHUoZS0+ZW5kaW5nX2xiYSkgLQorCQkJCQlsZTY0X3RvX2NwdShlLT5zdGFydGluZ19sYmEpICsgMVVMTDsKKworCQkvKiAwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAgZW50cnkgKi8KKwkJaWYgKCFndWlkY21wKGUtPnBhcnRpdGlvbl90eXBlX2d1aWQsIEdQVF9VTlVTRURfRU5UUllfR1VJRCkpIHsKKwkJCWJsa2lkX3BhcnRsaXN0X2luY3JlbWVudF9wYXJ0bm8obHMpOworCQkJY29udGludWU7CisJCX0KKwkJLyogdGhlIHBhcnRpdGlvbiBoYXMgdG8gaW5zaWRlIHVzYWJsZSByYW5nZSAqLworCQlpZiAoc3RhcnQgPCBmdSB8fCBzdGFydCArIHNpemUgLSAxID4gbHUpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJIkdQVCBlbnRyeVslZF0gb3ZlcmZsb3dzIHVzYWJsZSBhcmVhIC0gaWdub3JlIiwKKwkJCQlpKSk7CisJCQlibGtpZF9wYXJ0bGlzdF9pbmNyZW1lbnRfcGFydG5vKGxzKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLAorCQkJCQlzdGFydCAqIHNzZiwgc2l6ZSAqIHNzZik7CisJCWlmICghcGFyKQorCQkJZ290byBlcnI7CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF91dGY4bmFtZShwYXIsCisJCQkodW5zaWduZWQgY2hhciAqKSBlLT5wYXJ0aXRpb25fbmFtZSwKKwkJCXNpemVvZihlLT5wYXJ0aXRpb25fbmFtZSksIEJMS0lEX0VOQ19VVEYxNkxFKTsKKworCQlndWlkID0gZS0+dW5pcXVlX3BhcnRpdGlvbl9ndWlkOworCQlzd2FwX2VmaV9ndWlkKCZndWlkKTsKKwkJYmxraWRfcGFydGl0aW9uX3NldF91dWlkKHBhciwgKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgJmd1aWQpOworCisJCWd1aWQgPSBlLT5wYXJ0aXRpb25fdHlwZV9ndWlkOworCQlzd2FwX2VmaV9ndWlkKCZndWlkKTsKKwkJYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3V1aWQocGFyLCAoY29uc3QgdW5zaWduZWQgY2hhciAqKSAmZ3VpZCk7CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF9mbGFncyhwYXIsIGxlNjRfdG9fY3B1KGUtPmF0dHJpYnV0ZXMpKTsKKwl9CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CisKK25vdGhpbmc6CisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGdwdF9wdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJncHQiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9ncHRfcHQsCisJLm1pbnN6CQk9IDEwMjQgKiAxNDQwICsgMSwJLyogaWdub3JlIGZsb3BwaWVzICovCisKKwkvKgorCSAqIEl0IHdvdWxkIGJlIHBvc3NpYmxlIHRvIGNoZWNrIGZvciBET1Mgc2lnbmF0dXJlICgweEFBNTUpLCBidXQKKwkgKiB1bmZvcnR1bmF0ZWx5IGFsbW9zdCBhbGwgRUZJIEdQVCBpbXBsZW1lbnRhdGlvbnMgYWxsb3cgdG8gb3B0aW9uYWxseQorCSAqIHNraXAgdGhlIGxlZ2FjeSBNQlIuIFdlIGZvbGxvd3MgdGhpcyBiZWhhdmlvciBhbmQgTUJSIGlzIG9wdGlvbmFsLgorCSAqIFNlZSBpc192YWxpZF9wbWJyKCkuCisJICoKKwkgKiBJdCBtZWFucyB3ZSBoYXZlIHRvIGFsd2F5cyBjYWxsIHByb2JlX2dwdF9wdCgpLgorCSAqLworCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKworCisKKy8qIHByb2JlIGZvciAqYWxvbmUqIHByb3RlY3RpdmUgTUJSICovCitzdGF0aWMgaW50IHByb2JlX3BtYnJfcHQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgaGFzID0gMDsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICplOworCXVpbnQ2NF90IGxhc3RsYmEgPSAwOworCXN0cnVjdCBncHRfaGVhZGVyIGhkcjsKKworCWlmIChsYXN0X2xiYShwciwgJmxhc3RsYmEpKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpc19wbWJyX3ZhbGlkKHByLCAmaGFzKTsKKwlpZiAoIWhhcykKKwkJZ290byBub3RoaW5nOworCisJaWYgKCFnZXRfZ3B0X2hlYWRlcihwciwgJmhkciwgJmUsIEdQVF9QUklNQVJZX0xCQSwgbGFzdGxiYSkgJiYKKwkgICAgIWdldF9ncHRfaGVhZGVyKHByLCAmaGRyLCAmZSwgbGFzdGxiYSwgbGFzdGxiYSkpCisJCXJldHVybiAwOworbm90aGluZzoKKwlyZXR1cm4gMTsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBwbWJyX3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIlBNQlIiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9wbWJyX3B0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlx4NTVceEFBIiwgLmxlbiA9IDIsIC5zYm9mZiA9IDUxMCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL21hYy5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvbWFjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDcxM2Q2MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL21hYy5jCkBAIC0wLDAgKzEsMTkxIEBACisvKgorICogbWFjIHBhcnRpdGlvbnMgcGFyc2luZyBjb2RlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKworI2RlZmluZSBNQUNfUEFSVElUSU9OX01BR0lDCQkweDUwNGQKKyNkZWZpbmUgTUFDX1BBUlRJVElPTl9NQUdJQ19PTEQJCTB4NTQ1MworCisvKgorICogTWFjIHBhcnRpdGlvbiBlbnRyeQorICogaHR0cDovL2RldmVsb3Blci5hcHBsZS5jb20vbGVnYWN5L21hYy9saWJyYXJ5L2RvY3VtZW50YXRpb24vbWFjL0RldmljZXMvRGV2aWNlcy0xMjYuaHRtbAorICovCitzdHJ1Y3QgbWFjX3BhcnRpdGlvbiB7CisJdWludDE2X3QJc2lnbmF0dXJlOwkvKiBleHBlY3RlZCB0byBiZSBNQUNfUEFSVElUSU9OX01BR0lDICovCisJdWludDE2X3QJcmVzZXJ2ZWQ7CS8qIHJlc2VydmVkICovCisJdWludDMyX3QJbWFwX2NvdW50OwkvKiAjIGJsb2NrcyBpbiBwYXJ0aXRpb24gbWFwICovCisJdWludDMyX3QJc3RhcnRfYmxvY2s7CS8qIGFic29sdXRlIHN0YXJ0aW5nIGJsb2NrICMgb2YgcGFydGl0aW9uICovCisJdWludDMyX3QJYmxvY2tfY291bnQ7CS8qIG51bWJlciBvZiBibG9ja3MgaW4gcGFydGl0aW9uICovCisJY2hhcgkJbmFtZVszMl07CS8qIHBhcnRpdGlvbiBuYW1lICovCisJY2hhcgkJdHlwZVszMl07CS8qIHN0cmluZyB0eXBlIGRlc2NyaXB0aW9uICovCisJdWludDMyX3QJZGF0YV9zdGFydDsJLyogcmVsIGJsb2NrICMgb2YgZmlyc3QgZGF0YSBibG9jayAqLworCXVpbnQzMl90CWRhdGFfY291bnQ7CS8qIG51bWJlciBvZiBkYXRhIGJsb2NrcyAqLworCXVpbnQzMl90CXN0YXR1czsJCS8qIHBhcnRpdGlvbiBzdGF0dXMgYml0cyAqLworCXVpbnQzMl90CWJvb3Rfc3RhcnQ7CS8qIGZpcnN0IGxvZ2ljYWwgYmxvY2sgb2YgYm9vdCBjb2RlICovCisJdWludDMyX3QJYm9vdF9zaXplOwkvKiBzaXplIG9mIGJvb3QgY29kZSwgaW4gYnl0ZXMgKi8KKwl1aW50MzJfdAlib290X2xvYWQ7CS8qIGJvb3QgY29kZSBsb2FkIGFkZHJlc3MgKi8KKwl1aW50MzJfdAlib290X2xvYWQyOwkvKiByZXNlcnZlZCAqLworCXVpbnQzMl90CWJvb3RfZW50cnk7CS8qIGJvb3QgY29kZSBlbnRyeSBwb2ludCAqLworCXVpbnQzMl90CWJvb3RfZW50cnkyOwkvKiByZXNlcnZlZCAqLworCXVpbnQzMl90CWJvb3RfY2tzdW07CS8qIGJvb3QgY29kZSBjaGVja3N1bSAqLworCWNoYXIJCXByb2Nlc3NvclsxNl07CS8qIGlkZW50aWZpZXMgSVNBIG9mIGJvb3QgKi8KKworCS8qIHRoZXJlIGlzIG1vcmUgc3R1ZmYgYWZ0ZXIgdGhpcyB0aGF0IHdlIGRvbid0IG5lZWQgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKy8qCisgKiBEcml2ZXIgZGVzY3JpcHRvciBzdHJ1Y3R1cmUsIGluIGJsb2NrIDAKKyAqIGh0dHA6Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xlZ2FjeS9tYWMvbGlicmFyeS9kb2N1bWVudGF0aW9uL21hYy9EZXZpY2VzL0RldmljZXMtMTIxLmh0bWwKKyAqLworc3RydWN0IG1hY19kcml2ZXJfZGVzYyB7CisJdWludDE2X3QJc2lnbmF0dXJlOwkvKiBleHBlY3RlZCB0byBiZSBNQUNfRFJJVkVSX01BR0lDICovCisJdWludDE2X3QJYmxvY2tfc2l6ZTsJLyogYmxvY2sgc2l6ZSBvZiB0aGUgZGV2aWNlICovCisJdWludDMyX3QJYmxvY2tfY291bnQ7CS8qIG51bWJlciBvZiBibG9ja3Mgb24gdGhlIGRldmljZSAqLworCisJLyogdGhlcmUgaXMgbW9yZSBzdHVmZiBhZnRlciB0aGlzIHRoYXQgd2UgZG9uJ3QgbmVlZCAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGlubGluZSB1bnNpZ25lZCBjaGFyICpnZXRfbWFjX2Jsb2NrKAorCQkJCQlibGtpZF9wcm9iZSBwciwKKwkJCQkJdWludDE2X3QgYmxvY2tfc2l6ZSwKKwkJCQkJdWludDMyX3QgbnVtKQoreworCXJldHVybiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAodWludDY0X3QpIG51bSAqIGJsb2NrX3NpemUsIGJsb2NrX3NpemUpOworfQorCitzdGF0aWMgaW5saW5lIGludCBoYXNfcGFydF9zaWduYXR1cmUoc3RydWN0IG1hY19wYXJ0aXRpb24gKnApCit7CisJcmV0dXJuCWJlMTZfdG9fY3B1KHAtPnNpZ25hdHVyZSkgPT0gTUFDX1BBUlRJVElPTl9NQUdJQyB8fAorCQliZTE2X3RvX2NwdShwLT5zaWduYXR1cmUpID09IE1BQ19QQVJUSVRJT05fTUFHSUNfT0xEOworfQorCitzdGF0aWMgaW50IHByb2JlX21hY19wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBtYWNfZHJpdmVyX2Rlc2MgKm1kOworCXN0cnVjdCBtYWNfcGFydGl0aW9uICpwOworCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBOVUxMOworCWJsa2lkX3BhcnRsaXN0IGxzOworCXVpbnQxNl90IGJsb2NrX3NpemU7CisJdWludDE2X3Qgc3NmOwkvKiBzZWN0b3Igc2l6ZSBmcmFnbWVudCAqLworCXVpbnQzMl90IG5ibGtzLCBpOworCisKKwkvKiBUaGUgZHJpdmVyIGRlc2NyaXB0b3IgcmVjb3JkIGlzIGFsd2F5cyBsb2NhdGVkIGF0IHBoeXNpY2FsIGJsb2NrIDAsCisJICogdGhlIGZpcnN0IGJsb2NrIG9uIHRoZSBkaXNrLgorCSAqLworCW1kID0gKHN0cnVjdCBtYWNfZHJpdmVyX2Rlc2MgKikgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgMCk7CisJaWYgKCFtZCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJYmxvY2tfc2l6ZSA9IGJlMTZfdG9fY3B1KG1kLT5ibG9ja19zaXplKTsKKworCS8qIFRoZSBwYXJ0aXRpb24gbWFwIGFsd2F5cyBiZWdpbnMgYXQgcGh5c2ljYWwgYmxvY2sgMSwKKwkgKiB0aGUgc2Vjb25kIGJsb2NrIG9uIHRoZSBkaXNrLgorCSAqLworCXAgPSAoc3RydWN0IG1hY19wYXJ0aXRpb24gKikgZ2V0X21hY19ibG9jayhwciwgYmxvY2tfc2l6ZSwgMSk7CisJaWYgKCFwKSB7CisJCWlmIChlcnJubykKKwkJCXJldHVybiAtZXJybm87CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwkvKiBjaGVjayB0aGUgZmlyc3QgcGFydGl0aW9uIHNpZ25hdHVyZSAqLworCWlmICghaGFzX3BhcnRfc2lnbmF0dXJlKHApKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiAwOworCisJbHMgPSBibGtpZF9wcm9iZV9nZXRfcGFydGxpc3QocHIpOworCWlmICghbHMpCisJCWdvdG8gbm90aGluZzsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJtYWMiLCAwKTsKKwlpZiAoIXRhYikKKwkJZ290byBlcnI7CisKKwlzc2YgPSBibG9ja19zaXplIC8gNTEyOworCW5ibGtzID0gYmUzMl90b19jcHUocC0+bWFwX2NvdW50KTsKKworCWZvciAoaSA9IDE7IGkgPD0gbmJsa3M7ICsraSkgeworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCQl1aW50MzJfdCBzdGFydDsKKwkJdWludDMyX3Qgc2l6ZTsKKworCQlwID0gKHN0cnVjdCBtYWNfcGFydGl0aW9uICopIGdldF9tYWNfYmxvY2socHIsIGJsb2NrX3NpemUsIGkpOworCQlpZiAoIXApIHsKKwkJCWlmIChlcnJubykKKwkJCQlyZXR1cm4gLWVycm5vOworCQkJZ290byBub3RoaW5nOworCQl9CisJCWlmICghaGFzX3BhcnRfc2lnbmF0dXJlKHApKQorCQkJZ290byBub3RoaW5nOworCisJCWlmIChiZTMyX3RvX2NwdShwLT5tYXBfY291bnQpICE9IG5ibGtzKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJCSJtYWM6IGluY29uc2lzdGVudCBtYXBfY291bnQgaW4gcGFydGl0aW9uIG1hcCwgIgorCQkJCSJlbnRyeVswXTogJWQsIGVudHJ5WyVkXTogJWQiLAorCQkJCW5ibGtzLCBpIC0gMSwKKwkJCQliZTMyX3RvX2NwdShwLT5tYXBfY291bnQpKSk7CisJCX0KKworCQkvKgorCQkgKiBub3RlIHRoYXQgbGlicGFydGVkIGlnbm9yZXMgc29tZSBtYWMgcGFydGl0aW9ucyBhY2NvcmRpbmcgdG8KKwkJICogdGhlIHBhcnRpdGlvbiBuYW1lIChlLmcuICJBcHBsZV9GcmVlIiBvciAiQXBwbGVfVm9pZCIpLiBXZQorCQkgKiBmb2xsb3dzIExpbnV4IGtlcm5lbCBhbmQgYWxsIHBhcnRpdGlvbnMgYXJlIHZpc2libGUKKwkJICovCisKKwkJc3RhcnQgPSBiZTMyX3RvX2NwdShwLT5zdGFydF9ibG9jaykgKiBzc2Y7CisJCXNpemUgPSBiZTMyX3RvX2NwdShwLT5ibG9ja19jb3VudCkgKiBzc2Y7CisKKwkJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLCBzdGFydCwgc2l6ZSk7CisJCWlmICghcGFyKQorCQkJZ290byBlcnI7CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF9uYW1lKHBhciwgKHVuc2lnbmVkIGNoYXIgKikgcC0+bmFtZSwKKwkJCQkJCXNpemVvZihwLT5uYW1lKSk7CisKKwkJYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3N0cmluZyhwYXIsICh1bnNpZ25lZCBjaGFyICopIHAtPnR5cGUsCisJCQkJCQlzaXplb2YocC0+dHlwZSkpOworCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworLyoKKyAqIE1hYyBkaXNrIGFsd2F5cyBiZWdpbiB3aXRoICJEcml2ZXIgRGVzY3JpcHRvciBSZWNvcmQiCisgKiAoc3RydWN0IG1hY19kcml2ZXJfZGVzYykgYW5kIG1hZ2ljIDB4NDU1Mi4KKyAqLworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBtYWNfcHRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibWFjIiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfbWFjX3B0LAorCS5tYWdpY3MJCT0KKwl7CisJCS8qIGJpZy1lbmRpYW4gbWFnaWMgc3RyaW5nICovCisJCXsgLm1hZ2ljID0gIlx4NDVceDUyIiwgLmxlbiA9IDIgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9taW5peC5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvbWluaXguYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40M2M5ZDlhCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvbWluaXguYwpAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIE1pbml4IHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisjaW5jbHVkZSAibWluaXguaCIKKworc3RhdGljIGludCBwcm9iZV9taW5peF9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBOVUxMOworCWJsa2lkX3BhcnRpdGlvbiBwYXJlbnQ7CisJYmxraWRfcGFydGxpc3QgbHM7CisJdW5zaWduZWQgY2hhciAqZGF0YTsKKwlpbnQgaTsKKworCWRhdGEgPSBibGtpZF9wcm9iZV9nZXRfc2VjdG9yKHByLCAwKTsKKwlpZiAoIWRhdGEpIHsKKwkJaWYgKGVycm5vKQorCQkJcmV0dXJuIC1lcnJubzsKKwkJZ290byBub3RoaW5nOworCX0KKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwkvKiBQYXJlbnQgaXMgcmVxdWlyZWQsIGJlY2F1c2UgTWluaXggdXNlcyB0aGUgc2FtZSBQVCBhcyBET1MgYW5kCisJICogZGlmZmVyZW5jZSBpcyBvbmx5IGluIHByaW1hcnkgcGFydGl0aW9uIChwYXJlbnQpIHR5cGUuCisJICovCisJcGFyZW50ID0gYmxraWRfcGFydGxpc3RfZ2V0X3BhcmVudChscyk7CisJaWYgKCFwYXJlbnQpCisJCWdvdG8gbm90aGluZzsKKworCWlmIChibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGUocGFyZW50KSAhPSBNQlJfTUlOSVhfUEFSVElUSU9OKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJtaW5peCIsIE1CUl9QVF9PRkZTRVQpOworCWlmICghdGFiKQorCQlnb3RvIGVycjsKKworCWZvciAoaSA9IDAsIHAgPSBtYnJfZ2V0X3BhcnRpdGlvbihkYXRhLCAwKTsKKwkJCWkgPCBNSU5JWF9NQVhQQVJUSVRJT05TOyBpKyssIHArKykgeworCisJCXVpbnQzMl90IHN0YXJ0LCBzaXplOworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJCWlmIChwLT5zeXNfaW5kICE9IE1CUl9NSU5JWF9QQVJUSVRJT04pCisJCQljb250aW51ZTsKKworCQlzdGFydCA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApOworCQlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKTsKKworCQlpZiAocGFyZW50ICYmICFibGtpZF9pc19uZXN0ZWRfZGltZW5zaW9uKHBhcmVudCwgc3RhcnQsIHNpemUpKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJCSJXQVJOSU5HOiBtaW5peCBwYXJ0aXRpb24gKCVkKSBvdmVyZmxvdyAiCisJCQkJImRldGVjdGVkLCBpZ25vcmUiLCBpKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24obHMsIHRhYiwgc3RhcnQsIHNpemUpOworCQlpZiAoIXBhcikKKwkJCWdvdG8gZXJyOworCisJCWJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZShwYXIsIHAtPnN5c19pbmQpOworCQlibGtpZF9wYXJ0aXRpb25fc2V0X2ZsYWdzKHBhciwgcC0+Ym9vdF9pbmQpOworCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworLyogc2FtZSBhcyBET1MgKi8KK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbWluaXhfcHRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibWluaXgiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9taW5peF9wdCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDU1XHhBQSIsIC5sZW4gPSAyLCAuc2JvZmYgPSA1MTAgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmMgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDEzODkwNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3BhcnRpdGlvbnMuYwpAQCAtMCwwICsxLDE1MjEgQEAKKy8qCisgKiBwYXJ0aXRpb25zIC0gcGFydGl0aW9uIHRhYmxlcyBwYXJzaW5nCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworI2luY2x1ZGUgInBhcnRpdGlvbnMuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorCisvKioKKyAqIFNFQ1RJT046IHBhcnRpdGlvbnMKKyAqIEB0aXRsZTogUGFydGl0aW9ucyBwcm9iaW5nCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHBhcnRpdGlvbnMgdGFibGVzIGRldGVjdGlvbiBhbmQgcGFyc2luZworICoKKyAqIFRoaXMgY2hhaW4gc3VwcG9ydHMgYmluYXJ5IGFuZCBOQU1FPXZhbHVlIGludGVyZmFjZXMsIGJ1dCBjb21wbGV0ZSBQVAorICogZGVzY3JpcHRpb24gaXMgcHJvdmlkZWQgYnkgYmluYXJ5IGludGVyZmFjZSBvbmx5LiBUaGUgbGliYmxraWQgcHJvYmVyIGlzCisgKiBjb21wYXRpYmxlIHdpdGgga2VybmVsIHBhcnRpdGlvbiB0YWJsZXMgcGFyc2VyLiBUaGUgcGFyc2VyIGRvZXMgbm90IHJldHVybgorICogZW1wdHkgKHNpemU9MCkgcGFydGl0aW9ucyBvciBzcGVjaWFsIGhpZGRlbiBwYXJ0aXRpb25zLgorICoKKyAqIE5BTUU9dmFsdWUgaW50ZXJmYWNlLCBzdXBwb3J0ZWQgdGFnczoKKyAqCisgKiBAUFRUWVBFOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIGV0Yy4pLgorICoKKyAqIEBQVFVVSUQ6IHBhcnRpdGlvbiB0YWJsZSBpZCAodXVpZCBmb3IgZ3B0LCBoZXggZm9yIGRvcykuCisKKyAqIEBQQVJUX0VOVFJZX1NDSEVNRTogcGFydGl0aW9uIHRhYmxlIHR5cGUKKyAqCisgKiBAUEFSVF9FTlRSWV9OQU1FOiBwYXJ0aXRpb24gbmFtZSAoZ3B0IGFuZCBtYWMgb25seSkKKyAqCisgKiBAUEFSVF9FTlRSWV9VVUlEOiBwYXJ0aXRpb24gVVVJRCAoZ3B0LCBvciBwc2V1ZG8gSURzIGZvciBNQlIpCisgKgorICogQFBBUlRfRU5UUllfVFlQRTogcGFydGl0aW9uIHR5cGUsIDB4Tk4gKGUuZyAweDgyKSBvciB0eXBlIFVVSUQgKGdwdCBvbmx5KSBvciB0eXBlIHN0cmluZyAobWFjKQorICoKKyAqIEBQQVJUX0VOVFJZX0ZMQUdTOiBwYXJ0aXRpb24gZmxhZ3MgKGUuZy4gYm9vdF9pbmQpIG9yICBhdHRyaWJ1dGVzIChlLmcuIGdwdCBhdHRyaWJ1dGVzKQorICoKKyAqIEBQQVJUX0VOVFJZX05VTUJFUjogcGFydGl0aW9uIG51bWJlcgorICoKKyAqIEBQQVJUX0VOVFJZX09GRlNFVDogdGhlIGJlZ2luIG9mIHRoZSBwYXJ0aXRpb24KKyAqCisgKiBAUEFSVF9FTlRSWV9TSVpFOiBzaXplIG9mIHRoZSBwYXJ0aXRpb24KKyAqCisgKiBAUEFSVF9FTlRSWV9ESVNLOiB3aG9sZS1kaXNrIG1hajptaW4KKyAqCisgKiBFeGFtcGxlOgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgPHByb2dyYW1saXN0aW5nPgorICogYmxraWRfcHJvYmUgcHI7CisgKiBjb25zdCBjaGFyICpwdG5hbWU7CisgKgorICogcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKyAqIGlmICghcHIpCisgKgllcnIoIiVzOiBmYWlsZWQgdG8gb3BlbiBkZXZpY2UiLCBkZXZuYW1lKTsKKyAqCisgKiBibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhwciwgVFJVRSk7CisgKiBibGtpZF9kb19mdWxscHJvYmUocHIpOworICoKKyAqIGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUVFlQRSIsICZwdG5hbWUsIE5VTEwpOworICogcHJpbnRmKCIlcyBwYXJ0aXRpb24gdHlwZSBkZXRlY3RlZFxuIiwgcHR0eXBlKTsKKyAqCisgKiBibGtpZF9mcmVlX3Byb2JlKHByKTsKKyAqCisgKiAvLyBkb24ndCBmb3JnZXQgdG8gY2hlY2sgcmV0dXJuIGNvZGVzIGluIHlvdXIgY29kZSEKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogQmluYXJ5IGludGVyZmFjZToKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogIDxwcm9ncmFtbGlzdGluZz4KKyAqIGJsa2lkX3Byb2JlIHByOworICogYmxraWRfcGFydGxpc3QgbHM7CisgKiBpbnQgbnBhcnRzLCBpOworICoKKyAqIHByID0gYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoZGV2bmFtZSk7CisgKiBpZiAoIXByKQorICoJZXJyKCIlczogZmFpbGVkIHRvIG9wZW4gZGV2aWNlIiwgZGV2bmFtZSk7CisgKgorICogbHMgPSBibGtpZF9wcm9iZV9nZXRfcGFydGl0aW9ucyhwcik7CisgKiBucGFydHMgPSBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zKGxzKTsKKyAqCisgKiBmb3IgKGkgPSAwOyBpIDwgbnBhcnRzOyBpKyspIHsKKyAqICAgICAgYmxraWRfcGFydGl0aW9uIHBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworICogICAgICBwcmludGYoIiMlZDogJWxsdSAlbGx1ICAweCV4IiwKKyAqICAgICAgICAgICAgICAgYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGFyKSwKKyAqICAgICAgICAgICAgICAgYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXIpLAorICogICAgICAgICAgICAgICBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSwKKyAqICAgICAgICAgICAgICAgYmxraWRfcGFydGl0aW9uX2dldF90eXBlKHBhcikpOworICogfQorICoKKyAqIGJsa2lkX2ZyZWVfcHJvYmUocHIpOworICoKKyAqIC8vIGRvbid0IGZvcmdldCB0byBjaGVjayByZXR1cm4gY29kZXMgaW4geW91ciBjb2RlIQorICogIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqLworCisvKgorICogQ2hhaW4gZHJpdmVyIGZ1bmN0aW9uCisgKi8KK3N0YXRpYyBpbnQgcGFydGl0aW9uc19wcm9iZShibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pOworc3RhdGljIHZvaWQgcGFydGl0aW9uc19mcmVlX2RhdGEoYmxraWRfcHJvYmUgcHIsIHZvaWQgKmRhdGEpOworCisvKgorICogUGFydGl0aW9ucyBjaGFpbiBwcm9iaW5nIGZ1bmN0aW9ucworICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWRpbmZvc1tdID0KK3sKKwkmYWl4X3B0X2lkaW5mbywKKwkmc2dpX3B0X2lkaW5mbywKKwkmc3VuX3B0X2lkaW5mbywKKwkmZG9zX3B0X2lkaW5mbywKKwkmZ3B0X3B0X2lkaW5mbywKKwkmcG1icl9wdF9pZGluZm8sCS8qIGFsd2F5cyBhZnRlciBHUFQgKi8KKwkmbWFjX3B0X2lkaW5mbywKKwkmdWx0cml4X3B0X2lkaW5mbywKKwkmYnNkX3B0X2lkaW5mbywKKwkmdW5peHdhcmVfcHRfaWRpbmZvLAorCSZzb2xhcmlzX3g4Nl9wdF9pZGluZm8sCisJJm1pbml4X3B0X2lkaW5mbywKKwkmYXRhcmlfcHRfaWRpbmZvCit9OworCisvKgorICogRHJpdmVyIGRlZmluaXRpb24KKyAqLworY29uc3Qgc3RydWN0IGJsa2lkX2NoYWluZHJ2IHBhcnRpdGlvbnNfZHJ2ID0geworCS5pZCAgICAgICAgICAgPSBCTEtJRF9DSEFJTl9QQVJUUywKKwkubmFtZSAgICAgICAgID0gInBhcnRpdGlvbnMiLAorCS5kZmx0X2VuYWJsZWQgPSBGQUxTRSwKKwkuaWRpbmZvcyAgICAgID0gaWRpbmZvcywKKwkubmlkaW5mb3MgICAgID0gQVJSQVlfU0laRShpZGluZm9zKSwKKwkuaGFzX2ZsdHIgICAgID0gVFJVRSwKKwkucHJvYmUgICAgICAgID0gcGFydGl0aW9uc19wcm9iZSwKKwkuc2FmZXByb2JlICAgID0gcGFydGl0aW9uc19wcm9iZSwKKwkuZnJlZV9kYXRhICAgID0gcGFydGl0aW9uc19mcmVlX2RhdGEKK307CisKKworLyoKKyAqIEZvciBjb21wYXRpYmlsaXR5IHdpdGggdGhlIHJlc3Qgb2YgbGliYmxraWQgQVBJICh3aXRoIHRoZSBvbGQgaGlnaC1sZXZlbAorICogQVBJKSB3ZSB1c2UgY29tcGxldGVseSBvcGFxdWUgdHlwZWRlZnMgZm9yIGFsbCBzdHJ1Y3RzLiBEb24ndCBmb3JnZXQgdGhhdAorICogdGhlIGZpbmFsIGJsa2lkXyogdHlwZXMgYXJlIHBvaW50ZXJzISBTZWUgYmxraWQuaC4KKyAqCisgKiBbSnVzdCBmb3IgdGhlIHJlY29yZCwgSSBoYXRlIHR5cGVkZWYgZm9yIHBvaW50ZXJzIC0ta3pha10KKyAqLworCisvKiBleHBvcnRlZCBhcyBvcGFxdWUgdHlwZSAiYmxraWRfcGFydHRhYmxlIiAqLworc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0dGFibGUgeworCWNvbnN0IGNoYXIJKnR5cGU7CQkvKiBwYXJ0aXRpb24gdGFibGUgdHlwZSAqLworCXVpbnQ2NF90CW9mZnNldDsJCS8qIGJlZ2luIG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKGluIGJ5dGVzKSAqLworCWludAkJbnBhcnRzOwkJLyogbnVtYmVyIG9mIHBhcnRpdGlvbnMgKi8KKwlibGtpZF9wYXJ0aXRpb24JcGFyZW50OwkJLyogcGFyZW50IG9mIG5lc3RlZCBwYXJ0aXRpb24gdGFibGUgKi8KKwljaGFyCQlpZFtVVUlEX1NUUl9MRU5dOyAvKiBQVCBpZGVudGlmaWVyIChlLmcuIFVVSUQgZm9yIEdQVCkgKi8KKworCXN0cnVjdCBsaXN0X2hlYWQgdF90YWJzOwkvKiBhbGwgdGFibGVzICovCit9OworCisvKiBleHBvcnRlZCBhcyBvcGFxdWUgdHlwZSAiYmxraWRfcGFydGl0aW9uIiAqLworc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0aXRpb24geworCXVpbnQ2NF90CXN0YXJ0OwkJLyogYmVnaW4gb2YgdGhlIHBhcnRpdGlvbiAoNTEyLWJ5dGVzIHNlY3RvcnMpICovCisJdWludDY0X3QJc2l6ZTsJCS8qIHNpemUgb2YgdGhlIHBhcnRpdGlvbnMgKDUxMi1ieXRlcyBzZWN0b3JzKSAqLworCisJaW50CQl0eXBlOwkJLyogcGFydGl0aW9uIHR5cGUgKi8KKwljaGFyCQl0eXBlc3RyW1VVSURfU1RSX0xFTl07IC8qIHBhcnRpdGlvbiB0eXBlIHN0cmluZyAoR1BUIGFuZCBNYWMpICovCisKKwl1bnNpZ25lZCBsb25nIGxvbmcgZmxhZ3M7CS8qIHBhcnRpdGlvbiBmbGFncyAvIGF0dHJpYnV0ZXMgKi8KKworCWludAkJcGFydG5vOwkJLyogcGFydGl0aW9uIG51bWJlciAqLworCWNoYXIJCXV1aWRbVVVJRF9TVFJfTEVOXTsgLyogVVVJRCAod2hlbiBzdXBwb3J0ZWQgYnkgUFQpLCBlLmcgR1BUICovCisJdW5zaWduZWQgY2hhcgluYW1lWzEyOF07CS8qIFBhcnRpdGlvbiBpbiBVVEY4IG5hbWUgKHdoZW4gc3VwcG9ydGVkIGJ5IFBUKSwgZS5nLiBNYWMgKi8KKworCWJsa2lkX3BhcnR0YWJsZQl0YWI7CQkvKiBwYXJ0aXRpb24gdGFibGUgKi8KK307CisKKy8qIGV4cG9ydGVkIGFzIG9wYXF1ZSB0eXBlICJibGtpZF9wYXJ0bGlzdCIgKi8KK3N0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydGxpc3QgeworCWludAkJbmV4dF9wYXJ0bm87CS8qIG5leHQgcGFydGl0aW9uIG51bWJlciAqLworCWJsa2lkX3BhcnRpdGlvbiBuZXh0X3BhcmVudDsJLyogbmV4dCBwYXJlbnQgaWYgcGFyc2luZyBuZXN0ZWQgUFQgKi8KKworCWludAkJbnBhcnRzOwkJLyogbnVtYmVyIG9mIHBhcnRpdGlvbnMgKi8KKwlpbnQJCW5wYXJ0c19tYXg7CS8qIG1heC5udW1iZXIgb2YgcGFydGl0aW9ucyAqLworCWJsa2lkX3BhcnRpdGlvbglwYXJ0czsJCS8qIGFycmF5IG9mIHBhcnRpdGlvbnMgKi8KKworCXN0cnVjdCBsaXN0X2hlYWQgbF90YWJzOwkvKiBsaXN0IG9mIHBhcnRpdGlvbiB0YWJsZXMgKi8KK307CisKK3N0YXRpYyBpbnQgYmxraWRfcGFydGl0aW9uc19wcm9iZV9wYXJ0aXRpb24oYmxraWRfcHJvYmUgcHIpOworCisvKioKKyAqIGJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zOgorICogQHByOiBwcm9iZQorICogQGVuYWJsZTogVFJVRS9GQUxTRQorICoKKyAqIEVuYWJsZXMvZGlzYWJsZXMgdGhlIHBhcnRpdGlvbnMgcHJvYmluZyBmb3Igbm9uLWJpbmFyeSBpbnRlcmZhY2UuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMoYmxraWRfcHJvYmUgcHIsIGludCBlbmFibGUpCit7CisJcHItPmNoYWluc1tCTEtJRF9DSEFJTl9QQVJUU10uZW5hYmxlZCA9IGVuYWJsZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9zZXRfcGFydGl0aW9uc19mbGFnczoKKyAqIEBwcjogcHJvYmVyCisgKiBAZmxhZ3M6IEJMS0lEX1BBUlRTXyogZmxhZ3MKKyAqCisgKiBTZXRzIHByb2JpbmcgZmxhZ3MgdG8gdGhlIHBhcnRpdGlvbnMgcHJvYmVyLiBUaGlzIGZ1bmN0aW9uIGlzIG9wdGlvbmFsLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZ3MpCit7CisJcHItPmNoYWluc1tCTEtJRF9DSEFJTl9QQVJUU10uZmxhZ3MgPSBmbGFnczsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9yZXNldF9wYXJ0aXRpb25zX2ZpbHRlcjoKKyAqIEBwcjogcHJvYmVyCisgKgorICogUmVzZXRzIHBhcnRpdGlvbnMgcHJvYmluZyBmaWx0ZXIKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9wcm9iZV9yZXNldF9wYXJ0aXRpb25zX2ZpbHRlcihibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9yZXNldF9maWx0ZXIocHIsIEJMS0lEX0NIQUlOX1BBUlRTKTsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9pbnZlcnRfcGFydGl0aW9uc19maWx0ZXI6CisgKiBAcHI6IHByb2JlcgorICoKKyAqIEludmVydHMgcGFydGl0aW9ucyBwcm9iaW5nIGZpbHRlcgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX2ludmVydF9wYXJ0aXRpb25zX2ZpbHRlcihibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9pbnZlcnRfZmlsdGVyKHByLCBCTEtJRF9DSEFJTl9QQVJUUyk7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZmlsdGVyX3BhcnRpdGlvbnNfdHlwZToKKyAqIEBwcjogcHJvYmVyCisgKiBAZmxhZzogZmlsdGVyIEJMS0lEX0ZMVFJfe05PVElOLE9OTFlJTn0gZmxhZworICogQG5hbWVzOiBOVUxMIHRlcm1pbmF0ZWQgYXJyYXkgb2YgcHJvYmluZyBmdW5jdGlvbiBuYW1lcyAoZS5nLiAidmZhdCIpLgorICoKKyAqICAlQkxLSURfRkxUUl9OT1RJTiAgLSBwcm9iZSBmb3IgYWxsIGl0ZW1zIHdoaWNoIGFyZSBOT1QgSU4gQG5hbWVzCisgKgorICogICVCTEtJRF9GTFRSX09OTFlJTiAtIHByb2JlIGZvciBpdGVtcyB3aGljaCBhcmUgSU4gQG5hbWVzCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfZmlsdGVyX3BhcnRpdGlvbnNfdHlwZShibGtpZF9wcm9iZSBwciwgaW50IGZsYWcsIGNoYXIgKm5hbWVzW10pCit7CisJcmV0dXJuIF9fYmxraWRfcHJvYmVfZmlsdGVyX3R5cGVzKHByLCBCTEtJRF9DSEFJTl9QQVJUUywgZmxhZywgbmFtZXMpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zOgorICogQHByOiBwcm9iZQorICoKKyAqIFRoaXMgaXMgYSBiaW5hcnkgaW50ZXJmYWNlIGZvciBwYXJ0aXRpb25zLiBTZWUgYWxzbyBibGtpZF9wYXJ0bGlzdF8qCisgKiBmdW5jdGlvbnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBpbmRlcGVuZGVudCBvbiBibGtpZF9kb19bc2FmZSxmdWxsXXByb2JlKCkgYW5kCisgKiBibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucygpIGNhbGxzLgorICoKKyAqIFdBUk5JTkc6IHRoZSByZXR1cm5lZCBvYmplY3Qgd2lsbCBiZSBvdmVyd3JpdHRlbiBieSB0aGUgbmV4dAorICogICAgICAgICAgYmxraWRfcHJvYmVfZ2V0X3BhcnRpdGlvbnMoKSBjYWxsIGZvciB0aGUgc2FtZSBAcHIuIElmIHlvdSB3YW50IHRvCisgKiAgICAgICAgICB1c2UgbW9yZSBibGtpZF9wYXJ0bGlzdCBvYmplY3RzIGluIHRoZSBzYW1lIHRpbWUgeW91IGhhdmUgdG8gY3JlYXRlCisgKiAgICAgICAgICBtb3JlIGJsa2lkX3Byb2JlIGhhbmRsZXJzIChzZWUgYmxraWRfbmV3X3Byb2JlKCkpLgorICoKKyAqIFJldHVybnM6IGxpc3Qgb2YgcGFydGl0aW9ucywgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitibGtpZF9wYXJ0bGlzdCBibGtpZF9wcm9iZV9nZXRfcGFydGl0aW9ucyhibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gKGJsa2lkX3BhcnRsaXN0KSBibGtpZF9wcm9iZV9nZXRfYmluYXJ5X2RhdGEocHIsCisJCQkmcHItPmNoYWluc1tCTEtJRF9DSEFJTl9QQVJUU10pOworfQorCisvKiBmb3IgaW50ZXJuYWwgdXNhZ2Ugb25seSAqLworYmxraWRfcGFydGxpc3QgYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiAoYmxraWRfcGFydGxpc3QpIHByLT5jaGFpbnNbQkxLSURfQ0hBSU5fUEFSVFNdLmRhdGE7Cit9CisKK3N0YXRpYyB2b2lkIGJsa2lkX3Byb2JlX3NldF9wYXJ0bGlzdChibGtpZF9wcm9iZSBwciwgYmxraWRfcGFydGxpc3QgbHMpCit7CisJcHItPmNoYWluc1tCTEtJRF9DSEFJTl9QQVJUU10uZGF0YSA9IGxzOworfQorCitzdGF0aWMgdm9pZCByZWZfcGFydHRhYmxlKGJsa2lkX3BhcnR0YWJsZSB0YWIpCit7CisJdGFiLT5ucGFydHMrKzsKK30KKworc3RhdGljIHZvaWQgdW5yZWZfcGFydHRhYmxlKGJsa2lkX3BhcnR0YWJsZSB0YWIpCit7CisJdGFiLT5ucGFydHMtLTsKKworCWlmICh0YWItPm5wYXJ0cyA8PSAwKSB7CisJCWxpc3RfZGVsKCZ0YWItPnRfdGFicyk7CisJCWZyZWUodGFiKTsKKwl9Cit9CisKKy8qIGZyZWUgYWxsIGFsbG9jYXRlZCBwYXJ0dGFibGVzICovCitzdGF0aWMgdm9pZCBmcmVlX3BhcnR0YWJsZXMoYmxraWRfcGFydGxpc3QgbHMpCit7CisJaWYgKCFscyB8fCAhbHMtPmxfdGFicy5uZXh0KQorCQlyZXR1cm47CisKKwkvKiByZW1vdmUgdW5hc3NpZ25lZCBwYXJ0aXRpb24gdGFibGVzICovCisJd2hpbGUgKCFsaXN0X2VtcHR5KCZscy0+bF90YWJzKSkgeworCQlibGtpZF9wYXJ0dGFibGUgdGFiID0gbGlzdF9lbnRyeShscy0+bF90YWJzLm5leHQsCisJCQkJCXN0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydHRhYmxlLCB0X3RhYnMpOworCQl1bnJlZl9wYXJ0dGFibGUodGFiKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHJlc2V0X3BhcnRsaXN0KGJsa2lkX3BhcnRsaXN0IGxzKQoreworCWlmICghbHMpCisJCXJldHVybjsKKworCWZyZWVfcGFydHRhYmxlcyhscyk7CisKKwlpZiAobHMtPm5leHRfcGFydG5vKSB7CisJCS8qIGFscmVhZHkgaW5pdGlhbGl6ZWQgLSByZXNldCAqLworCQlpbnQgdG1wX25wYXJ0cyA9IGxzLT5ucGFydHNfbWF4OworCQlibGtpZF9wYXJ0aXRpb24gdG1wX3BhcnRzID0gbHMtPnBhcnRzOworCisJCW1lbXNldChscywgMCwgc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydGxpc3QpKTsKKworCQlscy0+bnBhcnRzX21heCA9IHRtcF9ucGFydHM7CisJCWxzLT5wYXJ0cyA9IHRtcF9wYXJ0czsKKwl9CisKKwlscy0+bnBhcnRzID0gMDsKKwlscy0+bmV4dF9wYXJ0bm8gPSAxOworCUlOSVRfTElTVF9IRUFEKCZscy0+bF90YWJzKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInBhcnRsaXN0IHJlc2V0IikpOworfQorCitzdGF0aWMgYmxraWRfcGFydGxpc3QgcGFydGl0aW9uc19pbml0X2RhdGEoc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCit7CisJYmxraWRfcGFydGxpc3QgbHM7CisKKwlpZiAoY2huLT5kYXRhKQorCQlscyA9IChibGtpZF9wYXJ0bGlzdCkgY2huLT5kYXRhOworCWVsc2UgeworCQkvKiBhbGxvY2F0ZSB0aGUgbmV3IGxpc3Qgb2YgcGFydGl0aW9ucyAqLworCQlscyA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0bGlzdCkpOworCQlpZiAoIWxzKQorCQkJcmV0dXJuIE5VTEw7CisJCWNobi0+ZGF0YSA9ICh2b2lkICopIGxzOworCX0KKworCXJlc2V0X3BhcnRsaXN0KGxzKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInBhcnRzOiBpbml0aWFsaXplZCBwYXJ0aXRpb25zIGxpc3QgKHNpemU9JWQpIiwgbHMtPm5wYXJ0c19tYXgpKTsKKwlyZXR1cm4gbHM7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnRpdGlvbnNfZnJlZV9kYXRhKGJsa2lkX3Byb2JlIHByIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCQkgdm9pZCAqZGF0YSkKK3sKKwlibGtpZF9wYXJ0bGlzdCBscyA9IChibGtpZF9wYXJ0bGlzdCkgZGF0YTsKKworCWlmICghbHMpCisJCXJldHVybjsKKworCWZyZWVfcGFydHRhYmxlcyhscyk7CisKKwkvKiBkZWFsbG9jYXRlIHBhcnRpdGlvbnMgYW5kIHBhcnRsaXN0ICovCisJZnJlZShscy0+cGFydHMpOworCWZyZWUobHMpOworfQorCitibGtpZF9wYXJ0dGFibGUgYmxraWRfcGFydGxpc3RfbmV3X3BhcnR0YWJsZShibGtpZF9wYXJ0bGlzdCBscywKKwkJCQljb25zdCBjaGFyICp0eXBlLCB1aW50NjRfdCBvZmZzZXQpCit7CisJYmxraWRfcGFydHRhYmxlIHRhYjsKKworCXRhYiA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF9wYXJ0dGFibGUpKTsKKwlpZiAoIXRhYikKKwkJcmV0dXJuIE5VTEw7CisJdGFiLT50eXBlID0gdHlwZTsKKwl0YWItPm9mZnNldCA9IG9mZnNldDsKKwl0YWItPnBhcmVudCA9IGxzLT5uZXh0X3BhcmVudDsKKworCUlOSVRfTElTVF9IRUFEKCZ0YWItPnRfdGFicyk7CisJbGlzdF9hZGRfdGFpbCgmdGFiLT50X3RhYnMsICZscy0+bF90YWJzKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInBhcnRzOiBjcmVhdGUgYSBuZXcgcGFydGl0aW9uIHRhYmxlICIKKwkJICAgICAgICIodHlwZT0lcywgb2Zmc2V0PSUiUFJJZDY0IikiLCB0eXBlLCBvZmZzZXQpKTsKKwlyZXR1cm4gdGFiOworfQorCitzdGF0aWMgYmxraWRfcGFydGl0aW9uIG5ld19wYXJ0aXRpb24oYmxraWRfcGFydGxpc3QgbHMsIGJsa2lkX3BhcnR0YWJsZSB0YWIpCit7CisJYmxraWRfcGFydGl0aW9uIHBhcjsKKworCWlmIChscy0+bnBhcnRzICsgMSA+IGxzLT5ucGFydHNfbWF4KSB7CisJCS8qIExpbnV4IGtlcm5lbCBoYXMgRElTS19NQVhfUEFSVFM9MjU2LCBidXQgaXQncyB0b28gbXVjaCBmb3IKKwkJICogZ2VuZXJpYyBMaW51eCBtYWNoaW5lIC0tIGxldCBzdGFydCB3aXRoIDMyIHBhcnRpdGlvbnMuCisJCSAqLworCQl2b2lkICp0bXAgPSByZWFsbG9jKGxzLT5wYXJ0cywgKGxzLT5ucGFydHNfbWF4ICsgMzIpICoKKwkJCQkJc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydGl0aW9uKSk7CisJCWlmICghdG1wKQorCQkJcmV0dXJuIE5VTEw7CisJCWxzLT5wYXJ0cyA9IHRtcDsKKwkJbHMtPm5wYXJ0c19tYXggKz0gMzI7CisJfQorCisJcGFyID0gJmxzLT5wYXJ0c1tscy0+bnBhcnRzKytdOworCW1lbXNldChwYXIsIDAsIHNpemVvZihzdHJ1Y3QgYmxraWRfc3RydWN0X3BhcnRpdGlvbikpOworCisJcmVmX3BhcnR0YWJsZSh0YWIpOworCXBhci0+dGFiID0gdGFiOworCXBhci0+cGFydG5vID0gYmxraWRfcGFydGxpc3RfaW5jcmVtZW50X3BhcnRubyhscyk7CisKKwlyZXR1cm4gcGFyOworfQorCitibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihibGtpZF9wYXJ0bGlzdCBscywKKwkJCQkJYmxraWRfcGFydHRhYmxlIHRhYiwgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IHNpemUpCit7CisJYmxraWRfcGFydGl0aW9uIHBhciA9IG5ld19wYXJ0aXRpb24obHMsIHRhYik7CisKKwlpZiAoIXBhcikKKwkJcmV0dXJuIE5VTEw7CisKKwlwYXItPnN0YXJ0ID0gc3RhcnQ7CisJcGFyLT5zaXplID0gc2l6ZTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInBhcnRzOiBhZGQgcGFydGl0aW9uIChzdGFydD0lIgorCQlQUkl1NjQgIiwgc2l6ZT0lIiBQUkl1NjQgIikiLAorCQlwYXItPnN0YXJ0LCBwYXItPnNpemUpKTsKKwlyZXR1cm4gcGFyOworfQorCisvKiBhbGxvd3MgdG8gbW9kaWZ5IHVzZWQgcGFydGl0aW9ucyBudW1iZXJzIChmb3IgZXhhbXBsZSBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKSAqLworaW50IGJsa2lkX3BhcnRsaXN0X3NldF9wYXJ0bm8oYmxraWRfcGFydGxpc3QgbHMsIGludCBwYXJ0bm8pCit7CisJaWYgKCFscykKKwkJcmV0dXJuIC0xOworCWxzLT5uZXh0X3BhcnRubyA9IHBhcnRubzsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3BhcnRsaXN0X2luY3JlbWVudF9wYXJ0bm8oYmxraWRfcGFydGxpc3QgbHMpCit7CisJcmV0dXJuIGxzID8gbHMtPm5leHRfcGFydG5vKysgOiAtMTsKK30KKworLyogYWxsb3dzIHRvIHNldCAicGFyZW50IiBmb3IgdGhlIG5leHQgbmVzdGVkIHBhcnRpdGlvbiAqLworc3RhdGljIGludCBibGtpZF9wYXJ0bGlzdF9zZXRfcGFyZW50KGJsa2lkX3BhcnRsaXN0IGxzLCBibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCWlmICghbHMpCisJCXJldHVybiAtMTsKKwlscy0+bmV4dF9wYXJlbnQgPSBwYXI7CisJcmV0dXJuIDA7Cit9CisKK2Jsa2lkX3BhcnRpdGlvbiBibGtpZF9wYXJ0bGlzdF9nZXRfcGFyZW50KGJsa2lkX3BhcnRsaXN0IGxzKQoreworCWlmICghbHMpCisJCXJldHVybiBOVUxMOworCXJldHVybiBscy0+bmV4dF9wYXJlbnQ7Cit9CisKK2ludCBibGtpZF9wYXJ0aXRpb25zX25lZWRfdHlwZW9ubHkoYmxraWRfcHJvYmUgcHIpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCisJcmV0dXJuIGNobiAmJiBjaG4tPmRhdGEgJiYgY2huLT5iaW5hcnkgPyBGQUxTRSA6IFRSVUU7Cit9CisKKy8qIGdldCBwcml2YXRlIGNoYWluIGZsYWdzICovCitpbnQgYmxraWRfcGFydGl0aW9uc19nZXRfZmxhZ3MoYmxraWRfcHJvYmUgcHIpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCisJcmV0dXJuIGNobiA/IGNobi0+ZmxhZ3MgOiAwOworfQorCisvKiBjaGVjayBpZiBAc3RhcnQgYW5kIEBzaXplIGFyZSB3aXRoaW4gQHBhciBwYXJ0aXRpb24gKi8KK2ludCBibGtpZF9pc19uZXN0ZWRfZGltZW5zaW9uKGJsa2lkX3BhcnRpdGlvbiBwYXIsCisJCQl1aW50NjRfdCBzdGFydCwgdWludDY0X3Qgc2l6ZSkKK3sKKwl1aW50NjRfdCBwc3RhcnQ7CisJdWludDY0X3QgcHNpemU7CisKKwlpZiAoIXBhcikKKwkJcmV0dXJuIDA7CisKKwlwc3RhcnQgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcik7CisJcHNpemUgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKTsKKworCWlmIChzdGFydCA8IHBzdGFydCB8fCBzdGFydCArIHNpemUgPiBwc3RhcnQgKyBwc2l6ZSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBpZGluZm9fcHJvYmUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkLAorCQkJc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCit7CisJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgPSBOVUxMOworCXVpbnQ2NF90IG9mZjsKKwlpbnQgcmMgPSBCTEtJRF9QUk9CRV9OT05FOwkJLyogZGVmYXVsdCBpcyBub3RoaW5nICovCisKKwlpZiAocHItPnNpemUgPD0gMCB8fCAoaWQtPm1pbnN6ICYmICh1bnNpZ25lZClpZC0+bWluc3ogPiBwci0+c2l6ZSkpCisJCWdvdG8gbm90aGluZzsJLyogdGhlIGRldmljZSBpcyB0b28gc21hbGwgKi8KKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJZ290byBub3RoaW5nOworCisJcmMgPSBibGtpZF9wcm9iZV9nZXRfaWRtYWcocHIsIGlkLCAmb2ZmLCAmbWFnKTsKKwlpZiAocmMgIT0gQkxLSURfUFJPQkVfT0spCisJCWdvdG8gbm90aGluZzsKKworCS8qIGZpbmFsIGNoZWNrIGJ5IHByb2JpbmcgZnVuY3Rpb24gKi8KKwlpZiAoaWQtPnByb2JlZnVuYykgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJIiVzOiAtLS0+IGNhbGwgcHJvYmVmdW5jKCkiLCBpZC0+bmFtZSkpOworCQlyYyA9IGlkLT5wcm9iZWZ1bmMocHIsIG1hZyk7CisJCWlmIChyYyA8IDApIHsKKwkJCS8qIHJlc2V0IGFmdGVyIGVycm9yICovCisJCQlyZXNldF9wYXJ0bGlzdChibGtpZF9wcm9iZV9nZXRfcGFydGxpc3QocHIpKTsKKwkJCWlmIChjaG4gJiYgIWNobi0+YmluYXJ5KQorCQkJCWJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3ZhbHVlcyhwciwgY2huKTsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiVzIHByb2JlZnVuYyBmYWlsZWQsIHJjICVkIiwKKwkJCQkJCSAgaWQtPm5hbWUsIHJjKSk7CisJCX0KKwkJaWYgKHJjID09IEJMS0lEX1BST0JFX09LICYmIG1hZyAmJiBjaG4gJiYgIWNobi0+YmluYXJ5KQorCQkJcmMgPSBibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgbWFnLT5sZW4sCisJCQkJCShjb25zdCB1bnNpZ25lZCBjaGFyICopIG1hZy0+bWFnaWMpOworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiVzOiA8LS0tIChyYyA9ICVkKSIsIGlkLT5uYW1lLCByYykpOworCX0KKworCXJldHVybiByYzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK30KKworLyoKKyAqIFRoZSBibGtpZF9kb19wcm9iZSgpIGJhY2tlbmQuCisgKi8KK3N0YXRpYyBpbnQgcGFydGl0aW9uc19wcm9iZShibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCit7CisJaW50IHJjID0gQkxLSURfUFJPQkVfTk9ORTsKKwlzaXplX3QgaTsKKworCWlmICghcHIgfHwgY2huLT5pZHggPCAtMSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF92YWx1ZXMocHIsIGNobik7CisKKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwlpZiAoY2huLT5iaW5hcnkpCisJCXBhcnRpdGlvbnNfaW5pdF9kYXRhKGNobik7CisKKwlpZiAoIXByLT53aXBlX3NpemUgJiYgKHByLT5wcm9iX2ZsYWdzICYgQkxLSURfUFJPQkVfRkxfSUdOT1JFX1BUKSkKKwkJZ290byBkZXRhaWxzX29ubHk7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCItLT4gc3RhcnRpbmcgcHJvYmluZyBsb29wIFtQQVJUUyBpZHg9JWRdIiwKKwkJY2huLT5pZHgpKTsKKworCWkgPSBjaG4tPmlkeCA8IDAgPyAwIDogY2huLT5pZHggKyAxVTsKKworCWZvciAoIDsgaSA8IEFSUkFZX1NJWkUoaWRpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpuYW1lOworCisJCWNobi0+aWR4ID0gaTsKKworCQkvKiBhcHBseSBmaWx0ZXIgKi8KKwkJaWYgKGNobi0+Zmx0ciAmJiBibGtpZF9ibXBfZ2V0X2l0ZW0oY2huLT5mbHRyLCBpKSkKKwkJCWNvbnRpbnVlOworCisJCS8qIGFwcGx5IGNoZWNrcyBmcm9tIGlkaW5mbyAqLworCQlyYyA9IGlkaW5mb19wcm9iZShwciwgaWRpbmZvc1tpXSwgY2huKTsKKwkJaWYgKHJjIDwgMCkKKwkJCWJyZWFrOworCQlpZiAocmMgIT0gQkxLSURfUFJPQkVfT0spCisJCQljb250aW51ZTsKKworCQluYW1lID0gaWRpbmZvc1tpXS0+bmFtZTsKKworCQlpZiAoIWNobi0+YmluYXJ5KQorCQkJLyoKKwkJCSAqIE5vbi1iaW5hcnkgaW50ZXJmYWNlLCBzZXQgZ2VuZXJpYyB2YXJpYWJsZXMuIE5vdGUKKwkJCSAqIHRoYXQgdGhlIGFub3RoZXIgdmFyaWFibGVzIGNvdWxkIGJlIHNldCBpbiBwcm9iZXIKKwkJCSAqIGZ1bmN0aW9ucy4KKwkJCSAqLworCQkJYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiUFRUWVBFIiwKKwkJCQkJCShjb25zdCB1bnNpZ25lZCBjaGFyICopIG5hbWUsCisJCQkJCQlzdHJsZW4obmFtZSkgKyAxKTsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCI8LS0gbGVhdmluZyBwcm9iaW5nIGxvb3AgKHR5cGU9JXMpIFtQQVJUUyBpZHg9JWRdIiwKKwkJCW5hbWUsIGNobi0+aWR4KSk7CisJCXJjID0gQkxLSURfUFJPQkVfT0s7CisJCWJyZWFrOworCX0KKworCWlmIChyYyAhPSBCTEtJRF9QUk9CRV9PSykgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCI8LS0gbGVhdmluZyBwcm9iaW5nIGxvb3AgKGZhaWxlZD0lZCkgW1BBUlRTIGlkeD0lZF0iLAorCQkJcmMsIGNobi0+aWR4KSk7CisJfQorCitkZXRhaWxzX29ubHk6CisJLyoKKwkgKiBHYXRoZXIgUEFSVF9FTlRSWV8qIHZhbHVlcyBpZiB0aGUgY3VycmVudCBkZXZpY2UgaXMgYSBwYXJ0aXRpb24uCisJICovCisJaWYgKChyYyA9PSBCTEtJRF9QUk9CRV9PSyB8fCByYyA9PSBCTEtJRF9QUk9CRV9OT05FKSAmJiAhY2huLT5iaW5hcnkgJiYKKwkgICAgKGJsa2lkX3BhcnRpdGlvbnNfZ2V0X2ZsYWdzKHByKSAmIEJMS0lEX1BBUlRTX0VOVFJZX0RFVEFJTFMpKSB7CisKKwkJaW50IHhyYyA9IGJsa2lkX3BhcnRpdGlvbnNfcHJvYmVfcGFydGl0aW9uKHByKTsKKworCQkvKiBwYXJ0aXRpb24gZW50cnkgcHJvYmluZyBpcyBvcHRpb25hbCwgYW5kICJub3QtZm91bmQiIGZyb20KKwkJICogdGhpcyBzdWItcHJvYmluZyBtdXN0IG5vdCB0byBvdmVyd3JpdGUgcHJldmlvdXMgc3VjY2Vzcy4gKi8KKwkJaWYgKHhyYyA8IDApCisJCQlyYyA9IHhyYzsJCQkvKiBhbHdheXMgcHJvcGFnYXRlIGVycm9ycyAqLworCQllbHNlIGlmIChyYyA9PSBCTEtJRF9QUk9CRV9OT05FKQorCQkJcmMgPSB4cmM7CisJfQorCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicGFydGl0aW9ucyBwcm9iZSBkb25lIFtyYz0lZF0iLAlyYykpOworCXJldHVybiByYzsKK30KKworLyogUHJvYmUgZm9yIG5lc3RlZCBwYXJ0aXRpb24gdGFibGUgd2l0aGluIHRoZSBwYXJlbnRhbCBwYXJ0aXRpb24gKi8KK2ludCBibGtpZF9wYXJ0aXRpb25zX2RvX3N1YnByb2JlKGJsa2lkX3Byb2JlIHByLCBibGtpZF9wYXJ0aXRpb24gcGFyZW50LAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCkKK3sKKwlibGtpZF9wcm9iZSBwcmM7CisJaW50IHJjOworCWJsa2lkX3BhcnRsaXN0IGxzOworCXVpbnQ2NF90IHN6LCBvZmY7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkicGFydHM6IC0tLS0+ICVzIHN1YnByb2JlIHJlcXVlc3RlZCkiLAorCQlpZC0+bmFtZSkpOworCisJaWYgKCFwciB8fCAhcGFyZW50IHx8ICFwYXJlbnQtPnNpemUpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChwci0+ZmxhZ3MgJiBCTEtJRF9GTF9OT1NDQU5fREVWKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCS8qIHJhbmdlIGRlZmluZWQgYnkgcGFyZW50ICovCisJc3ogPSBwYXJlbnQtPnNpemUgPDwgOTsKKwlvZmYgPSBwYXJlbnQtPnN0YXJ0IDw8IDk7CisKKwlpZiAob2ZmIDwgcHItPm9mZiB8fCBwci0+b2ZmICsgcHItPnNpemUgPCBvZmYgKyBzeikgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJIkVSUk9SOiBwYXJ0czogPC0tLS0gJyVzJyBzdWJwcm9iZTogb3ZlcmZsb3cgZGV0ZWN0ZWQuIiwKKwkJCWlkLT5uYW1lKSk7CisJCXJldHVybiAtRU5PU1BDOworCX0KKworCS8qIGNyZWF0ZSBwcml2YXRlIHByb2JlciAqLworCXByYyA9IGJsa2lkX2Nsb25lX3Byb2JlKHByKTsKKwlpZiAoIXByYykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlibGtpZF9wcm9iZV9zZXRfZGltZW5zaW9uKHByYywgb2ZmLCBzeik7CisKKwkvKiBjbG9uZSBpcyBhbHdheXMgd2l0aCByZXNldCBjaGFpbiwgZml4IGl0ICovCisJcHJjLT5jdXJfY2hhaW4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCisJLyoKKwkgKiBTZXQgJ3BhcmVudCcgdG8gdGhlIGN1cnJlbnQgbGlzdCBvZiB0aGUgcGFydGl0aW9ucyBhbmQgdXNlIHRoZSBsaXN0CisJICogaW4gY2xvbmVkIHByb2JlciAoc28gdGhlIGNsb25lZCBwcm9iZXIgd2lsbCBleHRlbmQgdGhlIGN1cnJlbnQgbGlzdAorCSAqIG9mIHBhcnRpdGlvbnMgcmF0aGVyIHRoYW4gY3JlYXRlIGEgbmV3KS4KKwkgKi8KKwlscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0bGlzdChwcik7CisJYmxraWRfcGFydGxpc3Rfc2V0X3BhcmVudChscywgcGFyZW50KTsKKworCWJsa2lkX3Byb2JlX3NldF9wYXJ0bGlzdChwcmMsIGxzKTsKKworCXJjID0gaWRpbmZvX3Byb2JlKHByYywgaWQsIGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcikpOworCisJYmxraWRfcHJvYmVfc2V0X3BhcnRsaXN0KHByYywgTlVMTCk7CisJYmxraWRfcGFydGxpc3Rfc2V0X3BhcmVudChscywgTlVMTCk7CisKKwlibGtpZF9mcmVlX3Byb2JlKHByYyk7CS8qIGZyZWUgY2xvbmVkIHByb2JlciAqLworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJInBhcnRzOiA8LS0tLSAlcyBzdWJwcm9iZSBkb25lIChyYz0lZCkiLAorCQlpZC0+bmFtZSwgcmMpKTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBibGtpZF9wYXJ0aXRpb25zX3Byb2JlX3BhcnRpdGlvbihibGtpZF9wcm9iZSBwcikKK3sKKwlibGtpZF9wcm9iZSBkaXNrX3ByID0gTlVMTDsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlibGtpZF9wYXJ0aXRpb24gcGFyOworCWRldl90IGRldm5vOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicGFydHM6IHN0YXJ0IHByb2JpbmcgZm9yIHBhcnRpdGlvbiBlbnRyeSIpKTsKKworCWlmIChwci0+ZmxhZ3MgJiBCTEtJRF9GTF9OT1NDQU5fREVWKQorCQlnb3RvIG5vdGhpbmc7CisKKwlkZXZubyA9IGJsa2lkX3Byb2JlX2dldF9kZXZubyhwcik7CisJaWYgKCFkZXZubykKKwkJZ290byBub3RoaW5nOworCisJZGlza19wciA9IGJsa2lkX3Byb2JlX2dldF93aG9sZWRpc2tfcHJvYmUocHIpOworCWlmICghZGlza19wcikKKwkJZ290byBub3RoaW5nOworCisJLyogcGFyc2UgUFQgKi8KKwlscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zKGRpc2tfcHIpOworCWlmICghbHMpCisJCWdvdG8gbm90aGluZzsKKworCXBhciA9IGJsa2lkX3BhcnRsaXN0X2Rldm5vX3RvX3BhcnRpdGlvbihscywgZGV2bm8pOworCWlmICghcGFyKQorCQlnb3RvIG5vdGhpbmc7CisJZWxzZSB7CisJCWNvbnN0IGNoYXIgKnY7CisJCWJsa2lkX3BhcnR0YWJsZSB0YWIgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3RhYmxlKHBhcik7CisJCWRldl90IGRpc2sgPSBibGtpZF9wcm9iZV9nZXRfZGV2bm8oZGlza19wcik7CisKKwkJaWYgKHRhYikgeworCQkJdiA9IGJsa2lkX3BhcnR0YWJsZV9nZXRfdHlwZSh0YWIpOworCQkJaWYgKHYpCisJCQkJYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiUEFSVF9FTlRSWV9TQ0hFTUUiLAorCQkJCQkoY29uc3QgdW5zaWduZWQgY2hhciAqKSB2LCBzdHJsZW4odikgKyAxKTsKKwkJfQorCisJCXYgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X25hbWUocGFyKTsKKwkJaWYgKHYpCisJCQlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJQQVJUX0VOVFJZX05BTUUiLAorCQkJCShjb25zdCB1bnNpZ25lZCBjaGFyICopIHYsIHN0cmxlbih2KSArIDEpOworCisJCXYgPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3V1aWQocGFyKTsKKwkJaWYgKHYpCisJCQlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJQQVJUX0VOVFJZX1VVSUQiLAorCQkJCShjb25zdCB1bnNpZ25lZCBjaGFyICopIHYsIHN0cmxlbih2KSArIDEpOworCisJCS8qIHR5cGUgKi8KKwkJdiA9IGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZV9zdHJpbmcocGFyKTsKKwkJaWYgKHYpCisJCQlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJQQVJUX0VOVFJZX1RZUEUiLAorCQkJCShjb25zdCB1bnNpZ25lZCBjaGFyICopIHYsIHN0cmxlbih2KSArIDEpOworCQllbHNlCisJCQlibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCAiUEFSVF9FTlRSWV9UWVBFIiwKKwkJCQkiMHgleCIsIGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShwYXIpKTsKKworCQlpZiAoYmxraWRfcGFydGl0aW9uX2dldF9mbGFncyhwYXIpKQorCQkJYmxraWRfcHJvYmVfc3ByaW50Zl92YWx1ZShwciwgIlBBUlRfRU5UUllfRkxBR1MiLAorCQkJCSIweCVsbHgiLCBibGtpZF9wYXJ0aXRpb25fZ2V0X2ZsYWdzKHBhcikpOworCisJCWJsa2lkX3Byb2JlX3NwcmludGZfdmFsdWUocHIsICJQQVJUX0VOVFJZX05VTUJFUiIsCisJCQkJIiVkIiwgYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGFyKSk7CisKKwkJYmxraWRfcHJvYmVfc3ByaW50Zl92YWx1ZShwciwgIlBBUlRfRU5UUllfT0ZGU0VUIiwgIiVqZCIsCisJCQkJKGludG1heF90KWJsa2lkX3BhcnRpdGlvbl9nZXRfc3RhcnQocGFyKSk7CisJCWJsa2lkX3Byb2JlX3NwcmludGZfdmFsdWUocHIsICJQQVJUX0VOVFJZX1NJWkUiLCAiJWpkIiwKKwkJCQkoaW50bWF4X3QpYmxraWRfcGFydGl0aW9uX2dldF9zaXplKHBhcikpOworCisJCWJsa2lkX3Byb2JlX3NwcmludGZfdmFsdWUocHIsICJQQVJUX0VOVFJZX0RJU0siLCAiJXU6JXUiLAorCQkJCW1ham9yKGRpc2spLCBtaW5vcihkaXNrKSk7CisJfQorCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicGFydHM6IGVuZCBwcm9iaW5nIGZvciBwYXJ0aXRpb24gZW50cnkgW3N1Y2Nlc3NdIikpOworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwYXJ0czogZW5kIHByb2JpbmcgZm9yIHBhcnRpdGlvbiBlbnRyeSBbbm90aGluZ10iKSk7CisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKworfQorCisvKgorICogUmV0dXJucyAxIGlmIHRoZSBkZXZpY2UgaXMgd2hvbGUtZGlzayBhbmQgdGhlIGFyZWEgc3BlY2lmaWVkIGJ5IEBvZmZzZXQgYW5kCisgKiBAc2l6ZSBpcyBjb3ZlcmVkIGJ5IGFueSBwYXJ0aXRpb24uCisgKi8KK2ludCBibGtpZF9wcm9iZV9pc19jb3ZlcmVkX2J5X3B0KGJsa2lkX3Byb2JlIHByLAorCQkJCSB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemUpCit7CisJYmxraWRfcHJvYmUgcHJjID0gTlVMTDsKKwlibGtpZF9wYXJ0bGlzdCBscyA9IE5VTEw7CisJdWludDY0X3Qgc3RhcnQsIGVuZDsKKwlpbnQgbnBhcnRzLCBpLCByYyA9IDA7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkiPT4gY2hlY2tpbmcgaWYgb2ZmPSUiUFJJdTY0IiBzaXplPSUiUFJJdTY0IiBjb3ZlcmVkIGJ5IFBUIiwKKwkJb2Zmc2V0LCBzaXplKSk7CisKKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJZ290byBkb25lOworCisJcHJjID0gYmxraWRfY2xvbmVfcHJvYmUocHIpOworCWlmICghcHJjKQorCQlnb3RvIGRvbmU7CisKKwlscyA9IGJsa2lkX3Byb2JlX2dldF9wYXJ0aXRpb25zKHByYyk7CisJaWYgKCFscykKKwkJZ290byBkb25lOworCisJbnBhcnRzID0gYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscyk7CisJaWYgKCFucGFydHMpCisJCWdvdG8gZG9uZTsKKworCWVuZCA9IChvZmZzZXQgKyBzaXplKSA+PiA5OworCXN0YXJ0ID0gb2Zmc2V0ID4+IDk7CisKKwkvKiBjaGVjayBpZiB0aGUgcGFydGl0aW9uIHRhYmxlIGZpdHMgaW50byB0aGUgZGV2aWNlICovCisJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXIgPSAmbHMtPnBhcnRzW2ldOworCisJCWlmIChwYXItPnN0YXJ0ICsgcGFyLT5zaXplID4gKHByLT5zaXplID4+IDkpKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwYXJ0aXRpb24gIyVkIG92ZXJmbG93cyAiCisJCQkJImRldmljZSAob2ZmPSUiIFBSSWQ2NCAiIHNpemU9JSIgUFJJZDY0ICIpIiwKKwkJCQlwYXItPnBhcnRubywgcGFyLT5zdGFydCwgcGFyLT5zaXplKSk7CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9CisKKwkvKiBjaGVjayBpZiB0aGUgcmVxdWVzdGVkIGFyZWEgaXMgY292ZXJlZCBieSBQVCAqLworCWZvciAoaSA9IDA7IGkgPCBucGFydHM7IGkrKykgeworCQlibGtpZF9wYXJ0aXRpb24gcGFyID0gJmxzLT5wYXJ0c1tpXTsKKworCQlpZiAoc3RhcnQgPj0gcGFyLT5zdGFydCAmJiBlbmQgPD0gcGFyLT5zdGFydCArIHBhci0+c2l6ZSkgeworCQkJcmMgPSAxOworCQkJYnJlYWs7CisJCX0KKwl9Citkb25lOgorCWJsa2lkX2ZyZWVfcHJvYmUocHJjKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIjw9ICVzIGNvdmVyZWQgYnkgUFQiLCByYyA/ICJJUyIgOiAiTk9UIikpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBibGtpZF9rbm93bl9wdHR5cGU6CisgKiBAcHR0eXBlOiBwYXJ0aXRpb24gbmFtZQorICoKKyAqIFJldHVybnM6IDEgZm9yIGtub3duIG9yIDAgZm9yIHVua25vd24gcGFydGl0aW9uIHR5cGUuCisgKi8KK2ludCBibGtpZF9rbm93bl9wdHR5cGUoY29uc3QgY2hhciAqcHR0eXBlKQoreworCXNpemVfdCBpOworCisJaWYgKCFwdHR5cGUpCisJCXJldHVybiAwOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaWRpbmZvcyk7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCA9IGlkaW5mb3NbaV07CisJCWlmIChzdHJjbXAoaWQtPm5hbWUsIHB0dHlwZSkgPT0gMCkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25zX2dldF9uYW1lOgorICogQGlkeDogbnVtYmVyID49IDAKKyAqIEBuYW1lOiByZXR1cm5zIG5hbWUgb2YgYSBzdXBwb3J0ZWQgcGFydGl0aW9uCisgKgorICogU2luY2U6IDIuMzAKKyAqCisgKiBSZXR1cm5zOiAtMSBpZiBAaWR4IGlzIG91dCBvZiByYW5nZSwgb3IgMCBvbiBzdWNjZXNzLgorICovCitpbnQgYmxraWRfcGFydGl0aW9uc19nZXRfbmFtZShjb25zdCBzaXplX3QgaWR4LCBjb25zdCBjaGFyICoqbmFtZSkKK3sKKwlpZiAoaWR4IDwgQVJSQVlfU0laRShpZGluZm9zKSkgeworCQkqbmFtZSA9IGlkaW5mb3NbaWR4XS0+bmFtZTsKKwkJcmV0dXJuIDA7CisJfQorCXJldHVybiAtMTsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0bGlzdF9udW1vZl9wYXJ0aXRpb25zOgorICogQGxzOiBwYXJ0aXRpb25zIGxpc3QKKyAqCisgKiBSZXR1cm5zOiBudW1iZXIgb2YgcGFydGl0aW9ucyBpbiB0aGUgbGlzdCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhibGtpZF9wYXJ0bGlzdCBscykKK3sKKwlyZXR1cm4gbHMtPm5wYXJ0czsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0bGlzdF9nZXRfdGFibGU6CisgKiBAbHM6IHBhcnRpdGlvbnMgbGlzdAorICoKKyAqIFJldHVybnM6IHRvcC1sZXZlbCBwYXJ0aXRpb24gdGFibGUgb3IgTlVMTCBvZiB0aGVyZSBpcyBub3QgYSBwYXJ0aXRpb24gdGFibGUKKyAqIG9uIHRoZSBkZXZpY2UuCisgKi8KK2Jsa2lkX3BhcnR0YWJsZSBibGtpZF9wYXJ0bGlzdF9nZXRfdGFibGUoYmxraWRfcGFydGxpc3QgbHMpCit7CisJaWYgKGxpc3RfZW1wdHkoJmxzLT5sX3RhYnMpKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBsaXN0X2VudHJ5KGxzLT5sX3RhYnMubmV4dCwKKwkJCXN0cnVjdCBibGtpZF9zdHJ1Y3RfcGFydHRhYmxlLCB0X3RhYnMpOworfQorCisKKy8qKgorICogYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbjoKKyAqIEBsczogcGFydGl0aW9ucyBsaXN0CisgKiBAbjogcGFydGl0aW9uIG51bWJlciBpbiByYW5nZSAwLi5OLCB3aGVyZSAnTicgaXMgYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucygpLgorICoKKyAqIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgbGlzdCBvZiBwYXJ0aXRpb25zIGlzICplbXB0eSosIGJ1dCB0aGVyZSBpcyBhIHZhbGlkCisgKiBwYXJ0aXRpb24gdGFibGUgb24gdGhlIGRpc2suIFRoaXMgaGFwcGVuIHdoZW4gb24tZGlzayBkZXRhaWxzIGFib3V0CisgKiBwYXJ0aXRpb25zIGFyZSB1bmtub3duIG9yIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgZW1wdHkuCisgKgorICogU2VlIGFsc28gYmxraWRfcGFydGxpc3RfZ2V0X3RhYmxlKCkuCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIG9iamVjdCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IuCisgKi8KK2Jsa2lkX3BhcnRpdGlvbiBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uKGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgbikKK3sKKwlpZiAobiA8IDAgfHwgbiA+PSBscy0+bnBhcnRzKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiAmbHMtPnBhcnRzW25dOworfQorCitibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbl9ieV9zdGFydChibGtpZF9wYXJ0bGlzdCBscywgdWludDY0X3Qgc3RhcnQpCit7CisJaW50IGksIG5wYXJ0czsKKwlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJbnBhcnRzID0gYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscyk7CisJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlpZiAoKHVpbnQ2NF90KSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcikgPT0gc3RhcnQpCisJCQlyZXR1cm4gcGFyOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uX2J5X3BhcnRubworICogQGxzOiBwYXJ0aXRpb25zIGxpc3QKKyAqIEBuOiB0aGUgcGFydGl0aW9uIG51bWJlciAoZS5nLiAnTicgZnJvbSBzZGEnTicpCisgKgorICogVGhpcyBkb2VzIG5vdCBhc3N1bWUgYW55IG9yZGVyIG9mIHRoZSBpbnB1dCBibGtpZF9wYXJ0bGlzdC4gIEFuZCBjb3JyZWN0bHkKKyAqIGhhbmRsZXMgIm91dCBvZiBvcmRlciIgcGFydGl0aW9uIHRhYmxlcy4gIHBhcnRpdGlvbiBOIGlzIGxvY2F0ZWQgYWZ0ZXIKKyAqIHBhcnRpdGlvbiBOKzEgb24gdGhlIGRpc2suCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIG9iamVjdCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IuCisgKi8KK2Jsa2lkX3BhcnRpdGlvbiBibGtpZF9wYXJ0bGlzdF9nZXRfcGFydGl0aW9uX2J5X3BhcnRubyhibGtpZF9wYXJ0bGlzdCBscywgaW50IG4pCit7CisJaW50IGksIG5wYXJ0czsKKwlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJbnBhcnRzID0gYmxraWRfcGFydGxpc3RfbnVtb2ZfcGFydGl0aW9ucyhscyk7CisJZm9yIChpID0gMDsgaSA8IG5wYXJ0czsgaSsrKSB7CisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2dldF9wYXJ0aXRpb24obHMsIGkpOworCQlpZiAobiA9PSBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYXIpKQorCQkJcmV0dXJuIHBhcjsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKworLyoqCisgKiBibGtpZF9wYXJ0bGlzdF9kZXZub190b19wYXJ0aXRpb246CisgKiBAbHM6IHBhcnRpdGlvbnMgbGlzdAorICogQGRldm5vOiByZXF1ZXN0ZWQgcGFydGl0aW9uCisgKgorICogVGhpcyBmdW5jdGlvbiB0cmllcyB0byBnZXQgc3RhcnQgYW5kIHNpemUgZm9yIEBkZXZubyBmcm9tIHN5c2ZzIGFuZAorICogcmV0dXJucyBhIHBhcnRpdGlvbiBmcm9tIEBscyB3aGljaCBtYXRjaGVzIHdpdGggdGhlIHZhbHVlcyBmcm9tIHN5c2ZzLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgbmVjZXNzYXJ5IHdoZW4geW91IHdhbnQgdG8gbWFrZSBhIHJlbGF0aW9uIGJldHdlZW4gYW4gZW50cnkKKyAqIGluIHRoZSBwYXJ0aXRpb24gdGFibGUgKEBscykgYW5kIGJsb2NrIGRldmljZXMgaW4geW91ciBzeXN0ZW0uCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIG9iamVjdCBvciBOVUxMIGluIGNhc2Ugb3IgZXJyb3IuCisgKi8KK2Jsa2lkX3BhcnRpdGlvbiBibGtpZF9wYXJ0bGlzdF9kZXZub190b19wYXJ0aXRpb24oYmxraWRfcGFydGxpc3QgbHMsIGRldl90IGRldm5vKQoreworCXN0cnVjdCBwYXRoX2N4dCAqcGM7CisJdWludDY0X3Qgc3RhcnQsIHNpemU7CisJaW50IGksIHJjLCBwYXJ0bm8gPSAwOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygidHJ5aW5nIHRvIGNvbnZlcnQgZGV2bm8gMHglbGx4IHRvIHBhcnRpdGlvbiIsCisJCQkobG9uZyBsb25nKSBkZXZubykpOworCisKKwlwYyA9IHVsX25ld19zeXNmc19wYXRoKGRldm5vLCBOVUxMLCBOVUxMKTsKKwlpZiAoIXBjKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImZhaWxlZCB0IGluaXQgc3lzZnMgY29udGV4dCIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gdWxfcGF0aF9yZWFkX3U2NChwYywgJnNpemUsICJzaXplIik7CisJaWYgKCFyYykgeworCQlyYyA9IHVsX3BhdGhfcmVhZF91NjQocGMsICZzdGFydCwgInN0YXJ0Iik7CisJCWlmIChyYykgeworCQkJLyogdHJ5IHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIGZyb20gRE0gdXVpZC4KKwkJCSAqLworCQkJY2hhciAqdXVpZCA9IE5VTEwsICp0bXAsICpwcmVmaXg7CisKKwkJCXVsX3BhdGhfcmVhZF9zdHJpbmcocGMsICZ1dWlkLCAiZG0vdXVpZCIpOworCQkJdG1wID0gdXVpZDsKKwkJCXByZWZpeCA9IHV1aWQgPyBzdHJzZXAoJnRtcCwgIi0iKSA6IE5VTEw7CisKKwkJCWlmIChwcmVmaXggJiYgc3RybmNhc2VjbXAocHJlZml4LCAicGFydCIsIDQpID09IDApIHsKKwkJCQljaGFyICplbmQgPSBOVUxMOworCisJCQkJcGFydG5vID0gc3RydG9sKHByZWZpeCArIDQsICZlbmQsIDEwKTsKKwkJCQlpZiAocHJlZml4ID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQkJCQlwYXJ0bm8gPSAwOworCQkJCWVsc2UKKwkJCQkJcmMgPSAwOwkJLyogc3VjY2VzcyAqLworCQkJfQorCQkJZnJlZSh1dWlkKTsKKwkJfQorCX0KKworCXVsX3VucmVmX3BhdGgocGMpOworCisJaWYgKHJjKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChwYXJ0bm8pIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygibWFwcGVkIGJ5IERNLCB1c2luZyBwYXJ0bm8gJWQiLCBwYXJ0bm8pKTsKKworCQkvKgorCQkgKiBQYXJ0aXRpb24gbWFwcGVkIGJ5IGtwYXJ0eCBkb2VzIG5vdCBwcm92aWRlICJzdGFydCIgb2Zmc2V0CisJCSAqIGluIC9zeXMsIGJ1dCBpZiB3ZSBrbm93IHBhcnRubyBhbmQgc2l6ZSBvZiB0aGUgcGFydGl0aW9uCisJCSAqIHRoYXQgd2UgY2FuIHByb2JhYmx5IG1ha2UgdGhlIHJlbGF0aW9uIGJldHdlZW4gdGhlIGRldmljZQorCQkgKiBhbmQgYW4gZW50cnkgaW4gcGFydGl0aW9uIHRhYmxlLgorCQkgKi8KKwkJIGZvciAoaSA9IDA7IGkgPCBscy0+bnBhcnRzOyBpKyspIHsKKwkJCSBibGtpZF9wYXJ0aXRpb24gcGFyID0gJmxzLT5wYXJ0c1tpXTsKKworCQkJIGlmIChwYXJ0bm8gIT0gYmxraWRfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGFyKSkKKwkJCQkgY29udGludWU7CisKKwkJCSBpZiAoc2l6ZSA9PSAodWludDY0X3QpYmxraWRfcGFydGl0aW9uX2dldF9zaXplKHBhcikgfHwKKwkJCSAgICAgKGJsa2lkX3BhcnRpdGlvbl9pc19leHRlbmRlZChwYXIpICYmIHNpemUgPD0gMTAyNFVMTCkpCisJCQkJIHJldHVybiBwYXI7CisKKwkJIH0KKwkJIHJldHVybiBOVUxMOworCX0KKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInNlYXJjaGluZyBieSBvZmZzZXQvc2l6ZSIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBscy0+bnBhcnRzOyBpKyspIHsKKwkJYmxraWRfcGFydGl0aW9uIHBhciA9ICZscy0+cGFydHNbaV07CisKKwkJaWYgKCh1aW50NjRfdClibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcikgPT0gc3RhcnQgJiYKKwkJICAgICh1aW50NjRfdClibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemUocGFyKSA9PSBzaXplKQorCQkJcmV0dXJuIHBhcjsKKworCQkvKiBleGNlcHRpb24gZm9yIGV4dGVuZGVkIGRvcyBwYXJ0aXRpb25zICovCisJCWlmICgodWludDY0X3QpYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXIpID09IHN0YXJ0ICYmCisJCSAgICBibGtpZF9wYXJ0aXRpb25faXNfZXh0ZW5kZWQocGFyKSAmJiBzaXplIDw9IDEwMjRVTEwpCisJCQlyZXR1cm4gcGFyOworCisJfQorCisJREJHKExPV1BST0JFLCB1bF9kZWJ1Zygibm90IGZvdW5kIHBhcnRpdGlvbiBmb3IgZGV2aWNlIikpOworCXJldHVybiBOVUxMOworfQorCisKK2ludCBibGtpZF9wYXJ0dGFibGVfc2V0X3V1aWQoYmxraWRfcGFydHRhYmxlIHRhYiwgY29uc3QgdW5zaWduZWQgY2hhciAqaWQpCit7CisJaWYgKCF0YWIpCisJCXJldHVybiAtMTsKKworCWJsa2lkX3VucGFyc2VfdXVpZChpZCwgdGFiLT5pZCwgc2l6ZW9mKHRhYi0+aWQpKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3BhcnR0YWJsZV9zZXRfaWQoYmxraWRfcGFydHRhYmxlIHRhYiwgY29uc3QgdW5zaWduZWQgY2hhciAqaWQpCit7CisJaWYgKCF0YWIpCisJCXJldHVybiAtMTsKKworCXN0cm5jcHkodGFiLT5pZCwgKGNvbnN0IGNoYXIgKikgaWQsIHNpemVvZih0YWItPmlkKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qIHNldCBQVFVVSUQgdmFyaWFibGUgZm9yIG5vbi1iaW5hcnkgQVBJICovCitpbnQgYmxraWRfcGFydGl0aW9uc19zZXRfcHR1dWlkKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyICp1dWlkKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnY7CisKKwlpZiAoY2huLT5iaW5hcnkgfHwgYmxraWRfdXVpZF9pc19lbXB0eSh1dWlkLCAxNikpCisJCXJldHVybiAwOworCisJdiA9IGJsa2lkX3Byb2JlX2Fzc2lnbl92YWx1ZShwciwgIlBUVVVJRCIpOworCWlmICghdikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl2LT5sZW4gPSBVVUlEX1NUUl9MRU47CisJdi0+ZGF0YSA9IGNhbGxvYygxLCB2LT5sZW4pOworCWlmICh2LT5kYXRhKSB7CisJCWJsa2lkX3VucGFyc2VfdXVpZCh1dWlkLCAoY2hhciAqKSB2LT5kYXRhLCB2LT5sZW4pOworCQlyZXR1cm4gMDsKKwl9CisKKwlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCXJldHVybiAtRU5PTUVNOworfQorCisvKiBzZXQgUFRVVUlEIHZhcmlhYmxlIGZvciBub24tYmluYXJ5IEFQSSBmb3IgdGFibGVzIHdoZXJlCisgKiB0aGUgSUQgaXMganVzdCBhIHN0cmluZyAqLworaW50IGJsa2lkX3BhcnRpdGlvbnNfc3RyY3B5X3B0dXVpZChibGtpZF9wcm9iZSBwciwgY2hhciAqc3RyKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKworCWlmIChjaG4tPmJpbmFyeSB8fCAhc3RyIHx8ICEqc3RyKQorCQlyZXR1cm4gMDsKKworCWlmICghYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiUFRVVUlEIiwgKHVuc2lnbmVkIGNoYXIgKikgc3RyLCBzdHJsZW4oc3RyKSArIDEpKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3BhcnR0YWJsZV9nZXRfaWQ6CisgKiBAdGFiOiBwYXJ0aXRpb24gdGFibGUKKyAqCisgKiBUaGUgSUQgaXMgR1BUIGRpc2sgVVVJRCBvciBET1MgZGlzayBJRCAoaW4gaGV4IGZvcm1hdCkuCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIHRhYmxlIElEIChmb3IgZXhhbXBsZSBHUFQgZGlzayBVVUlEKSBvciBOVUxMCisgKi8KK2NvbnN0IGNoYXIgKmJsa2lkX3BhcnR0YWJsZV9nZXRfaWQoYmxraWRfcGFydHRhYmxlIHRhYikKK3sKKwlyZXR1cm4gKnRhYi0+aWQgPyB0YWItPmlkIDogTlVMTDsKK30KKworCitpbnQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlKGJsa2lkX3BhcnRpdGlvbiBwYXIsIGludCB0eXBlKQoreworCXBhci0+dHlwZSA9IHR5cGU7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcGFydHRhYmxlX2dldF90eXBlOgorICogQHRhYjogcGFydGl0aW9uIHRhYmxlCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIHRhYmxlIHR5cGUgKHR5cGUgbmFtZSwgZS5nLiAiZG9zIiwgImdwdCIsIC4uLikKKyAqLworY29uc3QgY2hhciAqYmxraWRfcGFydHRhYmxlX2dldF90eXBlKGJsa2lkX3BhcnR0YWJsZSB0YWIpCit7CisJcmV0dXJuIHRhYi0+dHlwZTsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0dGFibGVfZ2V0X3BhcmVudDoKKyAqIEB0YWI6IHBhcnRpdGlvbiB0YWJsZQorICoKKyAqIFJldHVybnM6IHBhcmVudCBmb3IgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMgb3IgTlVMTC4KKyAqLworYmxraWRfcGFydGl0aW9uIGJsa2lkX3BhcnR0YWJsZV9nZXRfcGFyZW50KGJsa2lkX3BhcnR0YWJsZSB0YWIpCit7CisJcmV0dXJuIHRhYi0+cGFyZW50OworfQorCisvKioKKyAqIGJsa2lkX3BhcnR0YWJsZV9nZXRfb2Zmc2V0OgorICogQHRhYjogcGFydGl0aW9uIHRhYmxlCisgKgorICogTm90ZSB0aGUgcG9zaXRpb24gaXMgcmVsYXRpdmUgdG8gYmVnaW4gb2YgdGhlIGRldmljZSBhcyBkZWZpbmVkIGJ5CisgKiBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKCkgZm9yIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlLCBhbmQgcmVsYXRpdmUKKyAqIHRvIHBhcmVudGFsIHBhcnRpdGlvbiBmb3IgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMuCisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICogb2ZmX3Qgb2Zmc2V0OworICogYmxraWRfcGFydGl0aW9uIHBhcmVudCA9IGJsa2lkX3BhcnR0YWJsZV9nZXRfcGFyZW50KHRhYik7CisgKgorICogb2Zmc2V0ID0gYmxraWRfcGFydHRhYmxlX2dldF9vZmZzZXQodGFiKTsKKyAqCisgKiBpZiAocGFyZW50KQorICogICAgICAvICogJ3RhYicgaXMgbmVzdGVkIHBhcnRpdGlvbiB0YWJsZSAqIC8KKyAqCW9mZnNldCArPSBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhcmVudCk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKworICogUmV0dXJuczogcG9zaXRpb24gKGluIGJ5dGVzKSBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKgorICovCitibGtpZF9sb2ZmX3QgYmxraWRfcGFydHRhYmxlX2dldF9vZmZzZXQoYmxraWRfcGFydHRhYmxlIHRhYikKK3sKKwlyZXR1cm4gKGJsa2lkX2xvZmZfdCl0YWItPm9mZnNldDsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3RhYmxlOgorICogQHBhcjogcGFydGl0aW9uCisgKgorICogVGhlICJwYXJ0dGFibGUiIGRlc2NyaWJlcyBwYXJ0aXRpb24gdGFibGUuIFRoZSB0YWJsZSBpcyB1c3VhbGx5IHRoZSBzYW1lIGZvcgorICogYWxsIHBhcnRpdGlvbnMgLS0gZXhjZXB0IG5lc3RlZCBwYXJ0aXRpb24gdGFibGVzLgorICoKKyAqIEZvciBleGFtcGxlIGJzZCwgc29sYXJpcywgZXRjLiB1c2UgYSBuZXN0ZWQgcGFydGl0aW9uIHRhYmxlIHdpdGhpbgorICogc3RhbmRhcmQgcHJpbWFyeSBkb3MgcGFydGl0aW9uOgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCisgKiAgLS0gZG9zIHBhcnRpdGlvbiB0YWJsZQorICogIDA6IHNkYTEgICAgIGRvcyBwcmltYXJ5IHBhcnRpdGlvbgorICogIDE6IHNkYTIgICAgIGRvcyBwcmltYXJ5IHBhcnRpdGlvbgorICogICAgIC0tIGJzZCBwYXJ0aXRpb24gdGFibGUgKHdpdGggaW4gc2RhMikKKyAqICAyOiAgICBzZGE1ICBiZHMgcGFydGl0aW9uCisgKiAgMzogICAgc2RhNiAgYmRzIHBhcnRpdGlvbgorICoKKyAqICAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqIFRoZSBsaWJyYXJ5IGRvZXMgbm90IHRvIHVzZSBhIHNlcGFyYXRlIHBhcnRpdGlvbiB0YWJsZSBvYmplY3QgZm9yIGRvcyBsb2dpY2FsCisgKiBwYXJ0aXRpb25zIChwYXJ0aXRpb25zIHdpdGhpbiBleHRlbmRlZCBwYXJ0aXRpb24pLiBJdCdzIHBvc3NpYmxlIHRvCisgKiBkaWZmZXJlbnRpYXRlIGJldHdlZW4gbG9naWNhbCwgZXh0ZW5kZWQgYW5kIHByaW1hcnkgcGFydGl0aW9ucyBieQorICoKKyAqCWJsa2lkX3BhcnRpdGlvbl9pc197ZXh0ZW5kZWQscHJpbWFyeSxsb2dpY2FsfSgpLgorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiB0YWJsZSBvYmplY3Qgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitibGtpZF9wYXJ0dGFibGUgYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXItPnRhYjsKK30KKworc3RhdGljIGludCBwYXJ0aXRpb25fZ2V0X2xvZ2ljYWxfdHlwZShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCWJsa2lkX3BhcnR0YWJsZSB0YWI7CisKKwlpZiAoIXBhcikKKwkJcmV0dXJuIC0xOworCisJdGFiID0gYmxraWRfcGFydGl0aW9uX2dldF90YWJsZShwYXIpOworCWlmICghdGFiIHx8ICF0YWItPnR5cGUpCisJCXJldHVybiAtMTsKKworCWlmICh0YWItPnBhcmVudCkKKwkJcmV0dXJuICdMJzsgIC8qIHJlcG9ydCBuZXN0ZWQgcGFydGl0aW9ucyBhcyBsb2dpY2FsICovCisKKwlpZiAoIXN0cmNtcCh0YWItPnR5cGUsICJkb3MiKSkgeworCQlpZiAocGFyLT5wYXJ0bm8gPiA0KQorCQkJcmV0dXJuICdMJzsJLyogbG9naWNhbCAqLworCisJICAgICAgICBpZihwYXItPnR5cGUgPT0gTUJSX0RPU19FWFRFTkRFRF9QQVJUSVRJT04gfHwKKyAgICAgICAgICAgICAgICAgICBwYXItPnR5cGUgPT0gTUJSX1c5NV9FWFRFTkRFRF9QQVJUSVRJT04gfHwKKwkJICAgcGFyLT50eXBlID09IE1CUl9MSU5VWF9FWFRFTkRFRF9QQVJUSVRJT04pCisJCQlyZXR1cm4gJ0UnOworCX0KKwlyZXR1cm4gJ1AnOworfQorCisvKioKKyAqIGJsa2lkX3BhcnRpdGlvbl9pc19wcmltYXJ5OgorICogQHBhcjogcGFydGl0aW9uCisgKgorICogTm90ZSwgdGhpcyBmdW5jdGlvbiByZXR1cm5zIEZBTFNFIGZvciBET1MgZXh0ZW5kZWQgcGFydGl0aW9ucyBhbmQKKyAqIGFsbCBwYXJ0aXRpb25zIGluIG5lc3RlZCBwYXJ0aXRpb24gdGFibGVzLgorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHBhcnRpdGlvbnMgaXMgcHJpbWFyeSBwYXJ0aXRpb24gb3IgMCBpZiBub3QuCisgKi8KK2ludCBibGtpZF9wYXJ0aXRpb25faXNfcHJpbWFyeShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXJ0aXRpb25fZ2V0X2xvZ2ljYWxfdHlwZShwYXIpID09ICdQJyA/IFRSVUUgOiBGQUxTRTsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25faXNfZXh0ZW5kZWQ6CisgKiBAcGFyOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBwYXJ0aXRpb25zIGlzIGV4dGVuZGVkIChkb3MsIHdpbmRvd3Mgb3IgbGludXgpCisgKiBwYXJ0aXRpb24gb3IgMCBpZiBub3QuCisgKi8KK2ludCBibGtpZF9wYXJ0aXRpb25faXNfZXh0ZW5kZWQoYmxraWRfcGFydGl0aW9uIHBhcikKK3sKKwlyZXR1cm4gcGFydGl0aW9uX2dldF9sb2dpY2FsX3R5cGUocGFyKSA9PSAnRScgPyBUUlVFIDogRkFMU0U7Cit9CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uX2lzX2xvZ2ljYWw6CisgKiBAcGFyOiBwYXJ0aXRpb24KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiByZXR1cm5zIFRSVUUgZm9yIGFsbCBwYXJ0aXRpb25zIGluIGFsbAorICogbmVzdGVkIHBhcnRpdGlvbiB0YWJsZXMgKGUuZy4gQlNEIGxhYmVscykuCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9ucyBpcyBsb2dpY2FsIHBhcnRpdGlvbiBvciAwIGlmIG5vdC4KKyAqLworaW50IGJsa2lkX3BhcnRpdGlvbl9pc19sb2dpY2FsKGJsa2lkX3BhcnRpdGlvbiBwYXIpCit7CisJcmV0dXJuIHBhcnRpdGlvbl9nZXRfbG9naWNhbF90eXBlKHBhcikgPT0gJ0wnID8gVFJVRSA6IEZBTFNFOworfQorCitzdGF0aWMgdm9pZCBzZXRfc3RyaW5nKHVuc2lnbmVkIGNoYXIgKml0ZW0sIHNpemVfdCBtYXgsCisJCQkJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbikKK3sKKwlpZiAobGVuID49IG1heCkKKwkJbGVuID0gbWF4IC0gMTsKKworCW1lbWNweShpdGVtLCBkYXRhLCBsZW4pOworCWl0ZW1bbGVuXSA9ICdcMCc7CisKKwlibGtpZF9ydHJpbV93aGl0ZXNwYWNlKGl0ZW0pOworfQorCitpbnQgYmxraWRfcGFydGl0aW9uX3NldF9uYW1lKGJsa2lkX3BhcnRpdGlvbiBwYXIsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm5hbWUsIHNpemVfdCBsZW4pCit7CisJaWYgKCFwYXIpCisJCXJldHVybiAtMTsKKworCXNldF9zdHJpbmcocGFyLT5uYW1lLCBzaXplb2YocGFyLT5uYW1lKSwgbmFtZSwgbGVuKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdXRmOG5hbWUoYmxraWRfcGFydGl0aW9uIHBhciwgY29uc3QgdW5zaWduZWQgY2hhciAqbmFtZSwKKwkJc2l6ZV90IGxlbiwgaW50IGVuYykKK3sKKwlpZiAoIXBhcikKKwkJcmV0dXJuIC0xOworCisJYmxraWRfZW5jb2RlX3RvX3V0ZjgoZW5jLCBwYXItPm5hbWUsIHNpemVvZihwYXItPm5hbWUpLCBuYW1lLCBsZW4pOworCWJsa2lkX3J0cmltX3doaXRlc3BhY2UocGFyLT5uYW1lKTsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdXVpZChibGtpZF9wYXJ0aXRpb24gcGFyLCBjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkKQoreworCWlmICghcGFyKQorCQlyZXR1cm4gLTE7CisKKwlibGtpZF91bnBhcnNlX3V1aWQodXVpZCwgcGFyLT51dWlkLCBzaXplb2YocGFyLT51dWlkKSk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBibGtpZF9wYXJ0aXRpb25fZ2VuX3V1aWQoYmxraWRfcGFydGl0aW9uIHBhcikKK3sKKwlpZiAoIXBhciB8fCAhcGFyLT50YWIgfHwgISpwYXItPnRhYi0+aWQpCisJCXJldHVybiAtMTsKKworCXNucHJpbnRmKHBhci0+dXVpZCwgc2l6ZW9mKHBhci0+dXVpZCksICIlLjMzcy0lMDJ4IiwKKwkJCXBhci0+dGFiLT5pZCwgcGFyLT5wYXJ0bm8pOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3BhcnRpdGlvbl9nZXRfbmFtZToKKyAqIEBwYXI6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiBuYW1lIHN0cmluZyBpZiBzdXBwb3J0ZWQgYnkgUFQgKGUuZy4gTWFjKSBvciBOVUxMLgorICovCitjb25zdCBjaGFyICpibGtpZF9wYXJ0aXRpb25fZ2V0X25hbWUoYmxraWRfcGFydGl0aW9uIHBhcikKK3sKKwlyZXR1cm4gKnBhci0+bmFtZSA/IChjaGFyICopIHBhci0+bmFtZSA6IE5VTEw7Cit9CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uX2dldF91dWlkOgorICogQHBhcjogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIFVVSUQgc3RyaW5nIGlmIHN1cHBvcnRlZCBieSBQVCAoZS5nLiBHUFQpIG9yIE5VTEwuCisgKi8KK2NvbnN0IGNoYXIgKmJsa2lkX3BhcnRpdGlvbl9nZXRfdXVpZChibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiAqcGFyLT51dWlkID8gcGFyLT51dWlkIDogTlVMTDsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubzoKKyAqIEBwYXI6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IHByb3Bvc2VkIHBhcnRpdGlvbiBudW1iZXIgKGUuZy4gJ04nIGZyb20gc2RhJ04nKSBvciAtMSBpbiBjYXNlIG9mCisgKiBlcnJvci4gTm90ZSB0aGF0IHRoZSBudW1iZXIgaXMgZ2VuZXJhdGUgYnkgbGlicmFyeSBpbmRlcGVuZGVudGx5IG9uIHlvdXIgT1MuCisgKi8KK2ludCBibGtpZF9wYXJ0aXRpb25fZ2V0X3BhcnRubyhibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXItPnBhcnRubzsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0OgorICogQHBhcjogcGFydGl0aW9uCisgKgorICogQmUgY2FyZWZ1bCBpZiB5b3UgX25vdF8gcHJvYmUgd2hvbGUgZGlzazoKKyAqCisgKiAxKSB0aGUgb2Zmc2V0IGlzIHVzdWFsbHkgcmVsYXRpdmUgdG8gYmVnaW4gb2YgdGhlIGRpc2sgLS0gYnV0IGlmIHlvdSBwcm9iZSBhCisgKiAgICBmcmFnbWVudCBvZiB0aGUgZGlzayBvbmx5IC0tIHRoZW4gdGhlIG9mZnNldCBjb3VsZCBiZSBzdGlsbCByZWxhdGl2ZSB0bworICogICAgdGhlIGJlZ2luIG9mIHRoZSBkaXNrIHJhdGhlciB0aGF0IHJlbGF0aXZlIHRvIHRoZSBmcmFnbWVudC4KKyAqCisgKiAyKSB0aGUgb2Zmc2V0IGZvciBuZXN0ZWQgcGFydGl0aW9ucyBjb3VsZCBiZSByZWxhdGl2ZSB0byBwYXJlbnQgKGUuZy4gU29sYXJpcykKKyAqICAgIF9vcl8gcmVsYXRpdmUgdG8gdGhlIGJlZ2luIG9mIHRoZSB3aG9sZSBkaXNrIChlLmcuIGJzZCkuCisgKgorICogWW91IGRvbid0IGhhdmUgdG8gY2FyZSBhYm91dCBzdWNoIGRldGFpbHMgaWYgeW91IHByb2JlIHdob2xlIGRpc2suIEluIHN1Y2gKKyAqIGEgY2FzZSBsaWJibGtpZCBhbHdheXMgcmV0dXJucyB0aGUgb2Zmc2V0IHJlbGF0aXZlIHRvIHRoZSBiZWdpbiBvZiB0aGUgZGlzay4KKyAqCisgKiBSZXR1cm5zOiBzdGFydCBvZiB0aGUgcGFydGl0aW9uIChpbiA1MTItc2VjdG9ycykuCisgKi8KK2Jsa2lkX2xvZmZfdCBibGtpZF9wYXJ0aXRpb25fZ2V0X3N0YXJ0KGJsa2lkX3BhcnRpdGlvbiBwYXIpCit7CisJcmV0dXJuIChibGtpZF9sb2ZmX3QpcGFyLT5zdGFydDsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3NpemU6CisgKiBAcGFyOiBwYXJ0aXRpb24KKyAqCisgKiBXQVJOSU5HOiBiZSB2ZXJ5IGNhcmVmdWwgd2hlbiB5b3Ugd29yayB3aXRoIE1TLURPUyBleHRlbmRlZCBwYXJ0aXRpb25zLiBUaGUKKyAqICAgICAgICAgIGxpYnJhcnkgYWx3YXlzIHJldHVybnMgZnVsbCBzaXplIG9mIHRoZSBwYXJ0aXRpb24uIElmIHlvdSB3YW50IGFkZAorICogICAgICAgICAgdGhlIHBhcnRpdGlvbiB0byB0aGUgTGludXggc3lzdGVtIChCTEtQR19BRERfUEFSVElUSU9OIGlvY3RsKSB5b3UKKyAqICAgICAgICAgIG5lZWQgdG8gcmVkdWNlIHRoZSBzaXplIG9mIHRoZSBwYXJ0aXRpb24gdG8gMSBvciAyIGJsb2Nrcy4gVGhlCisgKiAgICAgICAgICByZXN0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIGluYWNjZXNzaWJsZSBmb3IgbWtmcyBvciBta3N3YXAKKyAqICAgICAgICAgIHByb2dyYW1zLCB3ZSBuZWVkIGEgc21hbGwgc3BhY2UgZm9yIGJvb3QgbG9hZGVycyBvbmx5LgorICoKKyAqICAgICAgICAgIEZvciBzb21lIHVua25vd24gcmVhc29uIHRoaXMgKHNhZmUpIHByYWN0aWNlIGlzIG5vdCB0byB1c2VkIGZvcgorICogICAgICAgICAgbmVzdGVkIEJTRCwgU29sYXJpcywgLi4uLCBwYXJ0aXRpb24gdGFibGVzIGluIExpbnV4IGtlcm5lbC4KKyAqCisgKiBSZXR1cm5zOiBzaXplIG9mIHRoZSBwYXJ0aXRpb24gKGluIDUxMi1zZWN0b3JzKS4KKyAqLworYmxraWRfbG9mZl90IGJsa2lkX3BhcnRpdGlvbl9nZXRfc2l6ZShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiAoYmxraWRfbG9mZl90KXBhci0+c2l6ZTsKK30KKworLyoqCisgKiBibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGU6CisgKiBAcGFyOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gdHlwZS4KKyAqLworaW50IGJsa2lkX3BhcnRpdGlvbl9nZXRfdHlwZShibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXItPnR5cGU7Cit9CisKKy8qIFNldHMgcGFydGl0aW9uICd0eXBlJyBmb3IgUFQgd2hlcmUgdGhlIHR5cGUgaXMgZGVmaW5lZCBieSBzdHJpbmcgcmF0aGVyCisgKiB0aGFuIGJ5IG51bWJlcgorICovCitpbnQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3N0cmluZyhibGtpZF9wYXJ0aXRpb24gcGFyLAorCQljb25zdCB1bnNpZ25lZCBjaGFyICp0eXBlLCBzaXplX3QgbGVuKQoreworCXNldF9zdHJpbmcoKHVuc2lnbmVkIGNoYXIgKikgcGFyLT50eXBlc3RyLAorCQkJc2l6ZW9mKHBhci0+dHlwZXN0ciksIHR5cGUsIGxlbik7CisJcmV0dXJuIDA7Cit9CisKKy8qIFNldHMgcGFydGl0aW9uICd0eXBlJyBmb3IgUFQgd2hlcmUgdGhlIHR5cGUgaXMgZGVmaW5lZCBieSBVVUlEcmF0aGVyCisgKiB0aGFuIGJ5IG51bWJlcgorICovCitpbnQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3V1aWQoYmxraWRfcGFydGl0aW9uIHBhciwgY29uc3QgdW5zaWduZWQgY2hhciAqdXVpZCkKK3sKKwlibGtpZF91bnBhcnNlX3V1aWQodXVpZCwgcGFyLT50eXBlc3RyLCBzaXplb2YocGFyLT50eXBlc3RyKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uX2dldF90eXBlX3N0cmluZzoKKyAqIEBwYXI6IHBhcnRpdGlvbgorICoKKyAqIFRoZSB0eXBlIHN0cmluZyBpcyBzdXBwb3J0ZWQgYnkgYSBzbWFsbCBzdWJzZXQgb2YgcGFydGl0aW9uIHRhYmxlcyAoZS5nIE1hYworICogYW5kIEVGSSBHUFQpLiAgTm90ZSB0aGF0IEdQVCB1c2VzIHR5cGUgVVVJRCBhbmQgdGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoaXMKKyAqIFVVSUQgYXMgc3RyaW5nLgorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiB0eXBlIHN0cmluZyBvciBOVUxMLgorICovCitjb25zdCBjaGFyICpibGtpZF9wYXJ0aXRpb25fZ2V0X3R5cGVfc3RyaW5nKGJsa2lkX3BhcnRpdGlvbiBwYXIpCit7CisJcmV0dXJuICpwYXItPnR5cGVzdHIgPyBwYXItPnR5cGVzdHIgOiBOVUxMOworfQorCisKK2ludCBibGtpZF9wYXJ0aXRpb25fc2V0X2ZsYWdzKGJsa2lkX3BhcnRpdGlvbiBwYXIsIHVuc2lnbmVkIGxvbmcgbG9uZyBmbGFncykKK3sKKwlwYXItPmZsYWdzID0gZmxhZ3M7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcGFydGl0aW9uX2dldF9mbGFncworICogQHBhcjogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIGZsYWdzIChvciBhdHRyaWJ1dGVzIGZvciBncHQpLgorICovCit1bnNpZ25lZCBsb25nIGxvbmcgYmxraWRfcGFydGl0aW9uX2dldF9mbGFncyhibGtpZF9wYXJ0aXRpb24gcGFyKQoreworCXJldHVybiBwYXItPmZsYWdzOworfQorCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmggYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9wYXJ0aXRpb25zLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE3MThmNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3BhcnRpdGlvbnMuaApAQCAtMCwwICsxLDc0IEBACisjaWZuZGVmIEJMS0lEX1BBUlRJVElPTlNfSAorI2RlZmluZSBCTEtJRF9QQVJUSVRJT05TX0gKKworI2luY2x1ZGUgImJsa2lkUC5oIgorI2luY2x1ZGUgInB0LW1ici5oIgorCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbnNfZ2V0X2ZsYWdzKGJsa2lkX3Byb2JlIHByKTsKKworZXh0ZXJuIGJsa2lkX3BhcnR0YWJsZSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGJsa2lkX3BhcnRsaXN0IGxzLAorCQkJCWNvbnN0IGNoYXIgKnR5cGUsIHVpbnQ2NF90IG9mZnNldCk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydHRhYmxlX3NldF91dWlkKGJsa2lkX3BhcnR0YWJsZSB0YWIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmlkKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydHRhYmxlX3NldF9pZChibGtpZF9wYXJ0dGFibGUgdGFiLCBjb25zdCB1bnNpZ25lZCBjaGFyICppZCk7CisKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihibGtpZF9wYXJ0bGlzdCBscywKKwkJCQlibGtpZF9wYXJ0dGFibGUgdGFiLAorCQkJCXVpbnQ2NF90IHN0YXJ0LCB1aW50NjRfdCBzaXplKTsKKworZXh0ZXJuIGludCBibGtpZF9wYXJ0bGlzdF9zZXRfcGFydG5vKGJsa2lkX3BhcnRsaXN0IGxzLCBpbnQgcGFydG5vKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGxpc3RfaW5jcmVtZW50X3BhcnRubyhibGtpZF9wYXJ0bGlzdCBscyk7CisKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZ2V0X3BhcmVudChibGtpZF9wYXJ0bGlzdCBscyk7CisKK2V4dGVybiBibGtpZF9wYXJ0aXRpb24gYmxraWRfcGFydGxpc3RfZ2V0X3BhcnRpdGlvbl9ieV9zdGFydChibGtpZF9wYXJ0bGlzdCBscywgdWludDY0X3Qgc3RhcnQpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbnNfZG9fc3VicHJvYmUoYmxraWRfcHJvYmUgcHIsCisJCQlibGtpZF9wYXJ0aXRpb24gcGFyZW50LCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KGJsa2lkX3Byb2JlIHByKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uc19zZXRfcHR1dWlkKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBjaGFyICp1dWlkKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uc19zdHJjcHlfcHR1dWlkKGJsa2lkX3Byb2JlIHByLCBjaGFyICpzdHIpOworCisKK2V4dGVybiBpbnQgYmxraWRfaXNfbmVzdGVkX2RpbWVuc2lvbihibGtpZF9wYXJ0aXRpb24gcGFyLAorICAgICAgICAgICAgICAgICAgICAgICAgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IHNpemUpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfbmFtZShibGtpZF9wYXJ0aXRpb24gcGFyLAorCQljb25zdCB1bnNpZ25lZCBjaGFyICpuYW1lLCBzaXplX3QgbGVuKTsKKworZXh0ZXJuIGludCBibGtpZF9wYXJ0aXRpb25fc2V0X3V0ZjhuYW1lKGJsa2lkX3BhcnRpdGlvbiBwYXIsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKm5hbWUsIHNpemVfdCBsZW4sIGludCBlbmMpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdXVpZChibGtpZF9wYXJ0aXRpb24gcGFyLAorCQljb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkKTsKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX2dlbl91dWlkKGJsa2lkX3BhcnRpdGlvbiBwYXIpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZShibGtpZF9wYXJ0aXRpb24gcGFyLCBpbnQgdHlwZSk7CisKK2V4dGVybiBpbnQgYmxraWRfcGFydGl0aW9uX3NldF90eXBlX3N0cmluZyhibGtpZF9wYXJ0aXRpb24gcGFyLAorICAgICAgICAgICAgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnR5cGUsIHNpemVfdCBsZW4pOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZV91dWlkKGJsa2lkX3BhcnRpdGlvbiBwYXIsCisJCWNvbnN0IHVuc2lnbmVkIGNoYXIgKnV1aWQpOworCitleHRlcm4gaW50IGJsa2lkX3BhcnRpdGlvbl9zZXRfZmxhZ3MoYmxraWRfcGFydGl0aW9uIHBhciwgdW5zaWduZWQgbG9uZyBsb25nIGZsYWdzKTsKKworLyoKKyAqIHBhcnRpdGlvbiBwcm9iZXJzCisgKi8KK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGFpeF9wdF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBic2RfcHRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdW5peHdhcmVfcHRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc29sYXJpc194ODZfcHRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3VuX3B0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNnaV9wdF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBtYWNfcHRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZG9zX3B0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG1pbml4X3B0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGdwdF9wdF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBwbWJyX3B0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHVsdHJpeF9wdF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBhdGFyaV9wdF9pZGluZm87CisKKyNlbmRpZiAvKiBCTEtJRF9QQVJUSVRJT05TX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3NnaS5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc2dpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTljMGJmMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3NnaS5jCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBzZ2kgcGFydGl0aW9uIHBhcnNpbmcgY29kZQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisjaW5jbHVkZSAicHQtc2dpLmgiCisKK3N0YXRpYyBpbnQgcHJvYmVfc2dpX3B0KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKmw7CisJc3RydWN0IHNnaV9wYXJ0aXRpb24gKnA7CisJYmxraWRfcGFydHRhYmxlIHRhYiA9IE5VTEw7CisJYmxraWRfcGFydGxpc3QgbHM7CisJaW50IGk7CisKKwlsID0gKHN0cnVjdCBzZ2lfZGlza2xhYmVsICopIGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIDApOworCWlmICghbCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKHNnaV9wdF9jaGVja3N1bShsKSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJImRldGVjdGVkIGNvcnJ1cHRlZCBzZ2kgZGlzayBsYWJlbCAtLSBpZ25vcmUiKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAic2dpIiwgMCk7CisJaWYgKCF0YWIpCisJCWdvdG8gZXJyOworCisJZm9yKGkgPSAwLCBwID0gJmwtPnBhcnRpdGlvbnNbMF07IGkgPCBTR0lfTUFYUEFSVElUSU9OUzsgaSsrLCBwKyspIHsKKwkJdWludDMyX3Qgc2l6ZSA9IGJlMzJfdG9fY3B1KHAtPm51bV9ibG9ja3MpOworCQl1aW50MzJfdCBzdGFydCA9IGJlMzJfdG9fY3B1KHAtPmZpcnN0X2Jsb2NrKTsKKwkJdWludDMyX3QgdHlwZSA9IGJlMzJfdG9fY3B1KHAtPnR5cGUpOworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJCWlmICghc2l6ZSkgeworCQkJYmxraWRfcGFydGxpc3RfaW5jcmVtZW50X3BhcnRubyhscyk7CisJCQljb250aW51ZTsKKwkJfQorCQlwYXIgPSBibGtpZF9wYXJ0bGlzdF9hZGRfcGFydGl0aW9uKGxzLCB0YWIsIHN0YXJ0LCBzaXplKTsKKwkJaWYgKCFwYXIpCisJCQlnb3RvIGVycjsKKworCQlibGtpZF9wYXJ0aXRpb25fc2V0X3R5cGUocGFyLCB0eXBlKTsKKwl9CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CisKK25vdGhpbmc6CisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CitlcnI6CisJcmV0dXJuIC1FTk9NRU07Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc2dpX3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInNnaSIsCisJLnByb2JlZnVuYwk9IHByb2JlX3NnaV9wdCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDBCXHhFNVx4QTlceDQxIiwgLmxlbiA9IDQJfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9zb2xhcmlzX3g4Ni5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc29sYXJpc194ODYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWIyN2E5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc29sYXJpc194ODYuYwpAQCAtMCwwICsxLDE1NCBAQAorLyoKKyAqIFNvbGFyaXMgeDg2IHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisKKy8qCisgKiBTb2xhcmlzLXg4NiBpcyBhbHdheXMgd2l0aGluIHByaW1hcnkgZG9zIHBhcnRpdGlvbiAobmVzdGVkIFBUIHRhYmxlKS4gIFRoZQorICogc29sYXJpcy14ODYgdnRvYyBhbGxvd3MgdG8gc3BsaXQgdGhlIGVudGlyZSBwYXJ0aXRpb24gdG8gInNsaWNlcyIuIFRoZQorICogb2Zmc2V0IChzdGFydCkgb2YgdGhlIHNsaWNlIGlzIGFsd2F5cyByZWxhdGl2ZWx5IHRvIHRoZSBwcmltYXJ5IGRvcworICogcGFydGl0aW9uLgorICoKKyAqIE5vdGUgdGhhdCBTb2xhcmlzLVNQQVJDIHVzZXMgZW50aXJlIGRpc2sgd2l0aCBhIGRpZmZlcmVudCBwYXJ0aXRpb25pbmcKKyAqIHNjaGVtZS4KKyAqLworCisvKiBzb21lIG90aGVyIGltcGxlbWVudGF0aW9uIHRoYW4gTGludXgga2VybmVsIGFzc3VtZSA4IHBhcnRpdGlvbnMgb25seSAqLworI2RlZmluZSBTT0xBUklTX01BWFBBUlRJVElPTlMJMTYKKworLyogZGlza2xhYmVsICh2dG9jKSBsb2NhdGlvbiAgKi8KKyNkZWZpbmUgU09MQVJJU19TRUNUT1IJCTEJCQkvKiBpbiA1MTItc2VjdG9ycyAqLworI2RlZmluZSBTT0xBUklTX09GRlNFVAkJKFNPTEFSSVNfU0VDVE9SIDw8IDkpCS8qIGluIGJ5dGVzICovCisjZGVmaW5lIFNPTEFSSVNfTUFHSUNPRkZTRVQJKFNPTEFSSVNfT0ZGU0VUICsgMTIpCS8qIHZfc2FuaXR5IG9mZnNldCBpbiBieXRlcyAqLworCisvKiBzbGljZSB0YWdzICovCisjZGVmaW5lIFNPTEFSSVNfVEFHX1dIT0xFRElTSwk1CisKK3N0cnVjdCBzb2xhcmlzX3NsaWNlIHsKKwl1aW50MTZfdCBzX3RhZzsgICAgICAvKiBJRCB0YWcgb2YgcGFydGl0aW9uICovCisJdWludDE2X3Qgc19mbGFnOyAgICAgLyogcGVybWlzc2lvbiBmbGFncyAqLworCXVpbnQzMl90IHNfc3RhcnQ7ICAgIC8qIHN0YXJ0IHNlY3RvciBubyBvZiBwYXJ0aXRpb24gKi8KKwl1aW50MzJfdCBzX3NpemU7ICAgICAvKiAjIG9mIGJsb2NrcyBpbiBwYXJ0aXRpb24gKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBzb2xhcmlzX3Z0b2MgeworCXVuc2lnbmVkIGludCB2X2Jvb3RpbmZvWzNdOyAgICAgLyogaW5mbyBuZWVkZWQgYnkgbWJvb3QgKHVuc3VwcG9ydGVkKSAqLworCisJdWludDMyX3QgICAgIHZfc2FuaXR5OyAgICAgICAgICAvKiB0byB2ZXJpZnkgdnRvYyBzYW5pdHkgKi8KKwl1aW50MzJfdCAgICAgdl92ZXJzaW9uOyAgICAgICAgIC8qIGxheW91dCB2ZXJzaW9uICovCisJY2hhciAgICAgICAgIHZfdm9sdW1lWzhdOyAgICAgICAvKiB2b2x1bWUgbmFtZSAqLworCXVpbnQxNl90ICAgICB2X3NlY3RvcnN6OyAgICAgICAgLyogc2VjdG9yIHNpemUgaW4gYnl0ZXMgKi8KKwl1aW50MTZfdCAgICAgdl9ucGFydHM7ICAgICAgICAgIC8qIG51bWJlciBvZiBwYXJ0aXRpb25zICovCisJdW5zaWduZWQgaW50IHZfcmVzZXJ2ZWRbMTBdOyAgICAvKiBmcmVlIHNwYWNlICovCisKKwlzdHJ1Y3Qgc29sYXJpc19zbGljZSB2X3NsaWNlW1NPTEFSSVNfTUFYUEFSVElUSU9OU107IC8qIHNsaWNlcyAqLworCisJdW5zaWduZWQgaW50IHRpbWVzdGFtcFtTT0xBUklTX01BWFBBUlRJVElPTlNdOyAvKiB0aW1lc3RhbXAgKHVuc3VwcG9ydGVkKSAqLworCWNoYXIgICAgICAgICB2X2FzY2lpbGFiZWxbMTI4XTsJLyogZm9yIGNvbXBhdGliaWxpdHkgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfc29sYXJpc19wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBzb2xhcmlzX3Z0b2MgKmw7CS8qIGRpc2sgbGFiZWwgKi8KKwlzdHJ1Y3Qgc29sYXJpc19zbGljZSAqcDsJLyogcGFydGl0aW9uICovCisJYmxraWRfcGFydHRhYmxlIHRhYiA9IE5VTEw7CisJYmxraWRfcGFydGl0aW9uIHBhcmVudDsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlpbnQgaTsKKwl1aW50MTZfdCBucGFydHM7CisKKwlsID0gKHN0cnVjdCBzb2xhcmlzX3Z0b2MgKikgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcihwciwgU09MQVJJU19TRUNUT1IpOworCWlmICghbCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKGxlMzJfdG9fY3B1KGwtPnZfdmVyc2lvbikgIT0gMSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJIldBUk5JTkc6IHVuc3VwcG9ydGVkIHNvbGFyaXMgeDg2IHZlcnNpb24gJWQsIGlnbm9yZSIsCisJCQlsZTMyX3RvX2NwdShsLT52X3ZlcnNpb24pKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwlwYXJlbnQgPSBibGtpZF9wYXJ0bGlzdF9nZXRfcGFyZW50KGxzKTsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJzb2xhcmlzIiwgU09MQVJJU19PRkZTRVQpOworCWlmICghdGFiKQorCQlnb3RvIGVycjsKKworCW5wYXJ0cyA9IGxlMTZfdG9fY3B1KGwtPnZfbnBhcnRzKTsKKwlpZiAobnBhcnRzID4gU09MQVJJU19NQVhQQVJUSVRJT05TKQorCQlucGFydHMgPSBTT0xBUklTX01BWFBBUlRJVElPTlM7CisKKwlmb3IgKGkgPSAxLCBwID0gJmwtPnZfc2xpY2VbMF07CWkgPCBucGFydHM7IGkrKywgcCsrKSB7CisKKwkJdWludDMyX3Qgc3RhcnQgPSBsZTMyX3RvX2NwdShwLT5zX3N0YXJ0KTsKKwkJdWludDMyX3Qgc2l6ZSA9IGxlMzJfdG9fY3B1KHAtPnNfc2l6ZSk7CisJCWJsa2lkX3BhcnRpdGlvbiBwYXI7CisKKwkJaWYgKHNpemUgPT0gMCB8fCBsZTE2X3RvX2NwdShwLT5zX3RhZykgPT0gU09MQVJJU19UQUdfV0hPTEVESVNLKQorCQkJY29udGludWU7CisKKwkJaWYgKHBhcmVudCkKKwkJCS8qIFNvbGFyaXMgc2xpY2VzIGFyZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50IChwcmltYXJ5CisJCQkgKiBET1MgcGFydGl0aW9uKSAqLworCQkJc3RhcnQgKz0gYmxraWRfcGFydGl0aW9uX2dldF9zdGFydChwYXJlbnQpOworCisJCWlmIChwYXJlbnQgJiYgIWJsa2lkX2lzX25lc3RlZF9kaW1lbnNpb24ocGFyZW50LCBzdGFydCwgc2l6ZSkpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCQkJIldBUk5JTkc6IHNvbGFyaXMgcGFydGl0aW9uICglZCkgb3ZlcmZsb3cgIgorCQkJCSJkZXRlY3RlZCwgaWdub3JlIiwgaSkpOworCQkJY29udGludWU7CisJCX0KKworCQlwYXIgPSBibGtpZF9wYXJ0bGlzdF9hZGRfcGFydGl0aW9uKGxzLCB0YWIsIHN0YXJ0LCBzaXplKTsKKwkJaWYgKCFwYXIpCisJCQlnb3RvIGVycjsKKworCQlibGtpZF9wYXJ0aXRpb25fc2V0X3R5cGUocGFyLCBsZTE2X3RvX2NwdShwLT5zX3RhZykpOworCQlibGtpZF9wYXJ0aXRpb25fc2V0X2ZsYWdzKHBhciwgbGUxNl90b19jcHUocC0+c19mbGFnKSk7CisJfQorCisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCitub3RoaW5nOgorCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworZXJyOgorCXJldHVybiAtRU5PTUVNOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNvbGFyaXNfeDg2X3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInNvbGFyaXMiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zb2xhcmlzX3B0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsKKwkJICAubWFnaWMgPSAiXHhFRVx4REVceDBEXHg2MCIsCS8qIGxpdHRsZS1lbmRpYW4gbWFnaWMgc3RyaW5nICovCisJCSAgLmxlbiA9IDQsCQkJLyogdl9zYW5pdHkgc2l6ZSBpbiBieXRlcyAqLworCQkgIC5zYm9mZiA9IFNPTEFSSVNfTUFHSUNPRkZTRVQJLyogb2Zmc2V0IG9mIHZfc2FuaXR5ICovCisJCX0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc3VuLmMgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy9zdW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNThhNjYzCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvc3VuLmMKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiBzdW4gKHNvbGFyaXMtc3BhcmMpIHBhcnRpdGlvbiBwYXJzaW5nIGNvZGUKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJwdC1zdW4uaCIKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisKK3N0YXRpYyBpbnQgcHJvYmVfc3VuX3B0KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKmw7CisJc3RydWN0IHN1bl9wYXJ0aXRpb24gKnA7CisJYmxraWRfcGFydHRhYmxlIHRhYiA9IE5VTEw7CisJYmxraWRfcGFydGxpc3QgbHM7CisJdWludDE2X3QgbnBhcnRzOworCXVpbnQ2NF90IHNwYzsKKwlpbnQgaSwgdXNlX3Z0b2M7CisKKwlsID0gKHN0cnVjdCBzdW5fZGlza2xhYmVsICopIGJsa2lkX3Byb2JlX2dldF9zZWN0b3IocHIsIDApOworCWlmICghbCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKHN1bl9wdF9jaGVja3N1bShsKSkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJImRldGVjdGVkIGNvcnJ1cHRlZCBzdW4gZGlzayBsYWJlbCAtLSBpZ25vcmUiKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwl0YWIgPSBibGtpZF9wYXJ0bGlzdF9uZXdfcGFydHRhYmxlKGxzLCAic3VuIiwgMCk7CisJaWYgKCF0YWIpCisJCWdvdG8gZXJyOworCisJLyogc2VjdG9ycyBwZXIgY3lsaW5kZXIgKHBhcnRpdGlvbiBvZmZzZXQgaXMgaW4gY3lsaW5kZXJzLi4uKSAqLworCXNwYyA9ICh1aW50NjRfdCkgYmUxNl90b19jcHUobC0+bmhlYWQpICogYmUxNl90b19jcHUobC0+bnNlY3QpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiU3VuIFZUT0Mgc2FuaXR5PSV1IHZlcnNpb249JXUgbnBhcnRzPSV1IiwKKwkJCWJlMzJfdG9fY3B1KGwtPnZ0b2Muc2FuaXR5KSwKKwkJCWJlMzJfdG9fY3B1KGwtPnZ0b2MudmVyc2lvbiksCisJCQliZTE2X3RvX2NwdShsLT52dG9jLm5wYXJ0cykpKTsKKworCS8qIENoZWNrIHRvIHNlZSBpZiB3ZSBjYW4gdXNlIHRoZSBWVE9DIHRhYmxlICovCisJdXNlX3Z0b2MgPSAoKGJlMzJfdG9fY3B1KGwtPnZ0b2Muc2FuaXR5KSA9PSBTVU5fVlRPQ19TQU5JVFkpICYmCisJCSAgICAoYmUzMl90b19jcHUobC0+dnRvYy52ZXJzaW9uKSA9PSBTVU5fVlRPQ19WRVJTSU9OKSAmJgorCQkgICAgKGJlMTZfdG9fY3B1KGwtPnZ0b2MubnBhcnRzKSA8PSBTVU5fTUFYUEFSVElUSU9OUykpOworCisJLyogVXNlIDggcGFydGl0aW9uIGVudHJpZXMgaWYgbm90IHNwZWNpZmllZCBpbiB2YWxpZGF0ZWQgVlRPQyAqLworCW5wYXJ0cyA9IHVzZV92dG9jID8gYmUxNl90b19jcHUobC0+dnRvYy5ucGFydHMpIDogU1VOX01BWFBBUlRJVElPTlM7CisKKwkvKgorCSAqIFNvIHRoYXQgb2xkIExpbnV4LVN1biBwYXJ0aXRpb25zIGNvbnRpbnVlIHRvIHdvcmssCisJICogYWxsb3cgdGhlIFZUT0MgdG8gYmUgdXNlZCB1bmRlciB0aGUgYWRkaXRpb25hbCBjb25kaXRpb24gLi4uCisJICovCisJdXNlX3Z0b2MgPSB1c2VfdnRvYyB8fCAhKGwtPnZ0b2Muc2FuaXR5IHx8IGwtPnZ0b2MudmVyc2lvbiB8fCBsLT52dG9jLm5wYXJ0cyk7CisKKwlmb3IgKGkgPSAwLCBwID0gbC0+cGFydGl0aW9uczsgaSA8IG5wYXJ0czsgaSsrLCBwKyspIHsKKworCQl1aW50NjRfdCBzdGFydCwgc2l6ZTsKKwkJdWludDE2X3QgdHlwZSA9IDAsIGZsYWdzID0gMDsKKwkJYmxraWRfcGFydGl0aW9uIHBhcjsKKworCQlzdGFydCA9IGJlMzJfdG9fY3B1KHAtPnN0YXJ0X2N5bGluZGVyKSAqIHNwYzsKKwkJc2l6ZSA9IGJlMzJfdG9fY3B1KHAtPm51bV9zZWN0b3JzKTsKKwkJaWYgKHVzZV92dG9jKSB7CisJCQl0eXBlID0gYmUxNl90b19jcHUobC0+dnRvYy5pbmZvc1tpXS5pZCk7CisJCQlmbGFncyA9IGJlMTZfdG9fY3B1KGwtPnZ0b2MuaW5mb3NbaV0uZmxhZ3MpOworCQl9CisKKwkJaWYgKHR5cGUgPT0gU1VOX1RBR19XSE9MRURJU0sgfHwgIXNpemUpIHsKKwkJCWJsa2lkX3BhcnRsaXN0X2luY3JlbWVudF9wYXJ0bm8obHMpOworCQkJY29udGludWU7CisJCX0KKwkJcGFyID0gYmxraWRfcGFydGxpc3RfYWRkX3BhcnRpdGlvbihscywgdGFiLCBzdGFydCwgc2l6ZSk7CisJCWlmICghcGFyKQorCQkJZ290byBlcnI7CisKKwkJaWYgKHR5cGUpCisJCQlibGtpZF9wYXJ0aXRpb25fc2V0X3R5cGUocGFyLCB0eXBlKTsKKwkJaWYgKGZsYWdzKQorCQkJYmxraWRfcGFydGl0aW9uX3NldF9mbGFncyhwYXIsIGZsYWdzKTsKKwl9CisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCitub3RoaW5nOgorCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworZXJyOgorCXJldHVybiAtRU5PTUVNOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3VuX3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInN1biIsCisJLnByb2JlZnVuYwk9IHByb2JlX3N1bl9wdCwKKwkubWFnaWNzCQk9CisJeworCQl7CisJCSAgLm1hZ2ljID0gIlx4REFceEJFIiwJCS8qIGJpZy1lbmRpYW4gbWFnaWMgc3RyaW5nICovCisJCSAgLmxlbiA9IDIsCisJCSAgLnNib2ZmID0gb2Zmc2V0b2Yoc3RydWN0IHN1bl9kaXNrbGFiZWwsIG1hZ2ljKQorCQl9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3VsdHJpeC5jIGIvbGliYmxraWQvc3JjL3BhcnRpdGlvbnMvdWx0cml4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWMwNjBiZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3VsdHJpeC5jCkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiB1a3RyaXggcGFydGl0aW9uIHBhcnNpbmcgY29kZQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJwYXJ0aXRpb25zLmgiCisKKyNkZWZpbmUgVUxUUklYX01BWFBBUlRJVElPTlMJOAorCisjZGVmaW5lIFVMVFJJWF9NQUdJQwkJMHgwMzI5NTcKKyNkZWZpbmUgVUxUUklYX01BR0lDX1NUUgkiXHgwMlx4MjlceDU3IgorCisvKiBzZWN0b3Igd2l0aCBwYXJ0aXRpb24gdGFibGUgKi8KKyNkZWZpbmUgVUxUUklYX1NFQ1RPUgkJKCgxNjM4NCAtIHNpemVvZihzdHJ1Y3QgdWx0cml4X2Rpc2tsYWJlbCkpID4+IDkpCisvKiBwb3NpdGlvbiBvZiBwYXJ0aXRpb24gdGFibGUgd2l0aGluIFVMVFJJWF9TRUNUT1IgKi8KKyNkZWZpbmUgVUxUUklYX09GRlNFVAkJKDUxMiAtIHNpemVvZihzdHJ1Y3QgdWx0cml4X2Rpc2tsYWJlbCkpCisKK3N0cnVjdCB1bHRyaXhfZGlza2xhYmVsIHsKKwlpbnQzMl90CXB0X21hZ2ljOwkvKiBtYWdpYyBuby4gaW5kaWNhdGluZyBwYXJ0LiBpbmZvIGV4aXRzICovCisJaW50MzJfdAlwdF92YWxpZDsJLyogc2V0IGJ5IGRyaXZlciBpZiBwdCBpcyBjdXJyZW50ICovCisJc3RydWN0ICBwdF9pbmZvIHsKKwkJaW50MzJfdAkJcGlfbmJsb2NrczsgLyogbm8uIG9mIHNlY3RvcnMgKi8KKwkJdWludDMyX3QJcGlfYmxrb2ZmOyAgLyogYmxvY2sgb2Zmc2V0IGZvciBzdGFydCAqLworCX0gcHRfcGFydFtVTFRSSVhfTUFYUEFSVElUSU9OU107Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisKK3N0YXRpYyBpbnQgcHJvYmVfdWx0cml4X3B0KGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJdW5zaWduZWQgY2hhciAqZGF0YTsKKwlzdHJ1Y3QgdWx0cml4X2Rpc2tsYWJlbCAqbDsKKwlibGtpZF9wYXJ0dGFibGUgdGFiID0gTlVMTDsKKwlibGtpZF9wYXJ0bGlzdCBsczsKKwlpbnQgaTsKKworCWRhdGEgPSBibGtpZF9wcm9iZV9nZXRfc2VjdG9yKHByLCBVTFRSSVhfU0VDVE9SKTsKKwlpZiAoIWRhdGEpIHsKKwkJaWYgKGVycm5vKQorCQkJcmV0dXJuIC1lcnJubzsKKwkJZ290byBub3RoaW5nOworCX0KKworCWwgPSAoc3RydWN0IHVsdHJpeF9kaXNrbGFiZWwgKikgKGRhdGEgKyBVTFRSSVhfT0ZGU0VUKTsKKworCWlmIChsLT5wdF9tYWdpYyAhPSBVTFRSSVhfTUFHSUMgfHwgbC0+cHRfdmFsaWQgIT0gMSkKKwkJZ290byBub3RoaW5nOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgKFVMVFJJWF9TRUNUT1IgPDwgOSkgKyBVTFRSSVhfT0ZGU0VULAorCQkJc2l6ZW9mKFVMVFJJWF9NQUdJQ19TVFIpIC0gMSwKKwkJCSh1bnNpZ25lZCBjaGFyICopIFVMVFJJWF9NQUdJQ19TVFIpKQorCQlnb3RvIGVycjsKKworCWlmIChibGtpZF9wYXJ0aXRpb25zX25lZWRfdHlwZW9ubHkocHIpKQorCQkvKiBjYWxsZXIgZG9lcyBub3QgYXNrIGZvciBkZXRhaWxzIGFib3V0IHBhcnRpdGlvbnMgKi8KKwkJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCisJbHMgPSBibGtpZF9wcm9iZV9nZXRfcGFydGxpc3QocHIpOworCWlmICghbHMpCisJCWdvdG8gbm90aGluZzsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJ1bHRyaXgiLCAwKTsKKwlpZiAoIXRhYikKKwkJZ290byBlcnI7CisKKwlmb3IgKGkgPSAwOyBpIDwgVUxUUklYX01BWFBBUlRJVElPTlM7IGkrKykgeworCQlpZiAoIWwtPnB0X3BhcnRbaV0ucGlfbmJsb2NrcykKKwkJCSBibGtpZF9wYXJ0bGlzdF9pbmNyZW1lbnRfcGFydG5vKGxzKTsKKwkJZWxzZSB7CisJCQlpZiAoIWJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24obHMsIHRhYiwKKwkJCQkJCWwtPnB0X3BhcnRbaV0ucGlfYmxrb2ZmLAorCQkJCQkJbC0+cHRfcGFydFtpXS5waV9uYmxvY2tzKSkKKwkJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKK25vdGhpbmc6CisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CitlcnI6CisJcmV0dXJuIC1FTk9NRU07Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdWx0cml4X3B0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInVsdHJpeCIsCisJLnByb2JlZnVuYwk9IHByb2JlX3VsdHJpeF9wdCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wYXJ0aXRpb25zL3VuaXh3YXJlLmMgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy91bml4d2FyZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NTkyNGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvcGFydGl0aW9ucy91bml4d2FyZS5jCkBAIC0wLDAgKzEsMTk3IEBACisvKgorICogdW5peHdhcmUgcGFydGl0aW9uIHBhcnNpbmcgY29kZQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqCisgKiBUaGUgaW50ZXJlc3RpbmcgaW5mb3JtYXRpb24gYWJvdXQgdW5peHdhcmUgUFQ6CisgKiAgIC0gTGludXgga2VybmVsIC8gcGFydHgKKyAqICAgLSB2dG9jKDcpIFNDTyBVTklYIGNvbW1hbmQgbWFuIHBhZ2UKKyAqICAgLSBldm1zIHNvdXJjZSBjb2RlIChodHRwOi8vZXZtcy5zb3VyY2Vmb3JnZS5uZXQvKQorICogICAtIHZ4dG9vbHMgc291cmNlIGNvZGUgKGh0dHA6Ly9tYXJ0aW4uaGlubmVyLmluZm8vZnMvdnhmcy8pCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAicGFydGl0aW9ucy5oIgorCisvKiBkaXNrbGFiZWwgbG9jYXRpb24gKi8KKyNkZWZpbmUgVU5JWFdBUkVfU0VDVE9SCQkyOQorI2RlZmluZSBVTklYV0FSRV9PRkZTRVQJCShVTklYV0FSRV9TRUNUT1IgPDwgOSkJLyogb2Zmc2V0IGluIGJ5dGVzICovCisjZGVmaW5lIFVOSVhXQVJFX0tCT0ZGU0VUCShVTklYV0FSRV9PRkZTRVQgPj4gMTApCS8qIG9mZnNldCBpbiAxMDI0LWJsb2NrcyAqLworCisvKiBkaXNrbGFiZWwtPmRfbWFnaWMgb2Zmc2V0IHdpdGhpbiB0aGUgbGFzdCAxMDI0IGJsb2NrICovCisjZGVmaW5lIFVOSVhXQVJFX01BR0lDT0ZGU0VUCShVTklYV0FSRV9PRkZTRVQgLSBVTklYV0FSRV9LQk9GRlNFVCArIDQpCisKKyNkZWZpbmUgVU5JWFdBUkVfVlRPQ01BR0lDCTB4NjAwRERFRUVVTAorI2RlZmluZSBVTklYV0FSRV9NQVhQQVJUSVRJT05TCTE2CisKKy8qIHVuaXh3YXJlX3BhcnRpdGlvbi0+c19sYWJlbCBmbGFncyAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfVU5VU0VEICAgICAgIDB4MDAwMCAgLyogdW51c2VkIHBhcnRpdGlvbiAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfQk9PVCAgICAgICAgIDB4MDAwMSAgLyogYm9vdCBmcyAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfUk9PVCAgICAgICAgIDB4MDAwMiAgLyogcm9vdCBmcyAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfU1dBUCAgICAgICAgIDB4MDAwMyAgLyogc3dhcCBmcyAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfVVNFUiAgICAgICAgIDB4MDAwNCAgLyogdXNlciBmcyAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfRU5USVJFX0RJU0sgIDB4MDAwNSAgLyogd2hvbGUgZGlzayAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfQUxUX1MgICAgICAgIDB4MDAwNiAgLyogYWx0ZXJuYXRlIHNlY3RvciBzcGFjZSAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfT1RIRVIgICAgICAgIDB4MDAwNyAgLyogbm9uIHVuaXggKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX0FMVF9UICAgICAgICAweDAwMDggIC8qIGFsdGVybmF0ZSB0cmFjayBzcGFjZSAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfU1RBTkQgICAgICAgIDB4MDAwOSAgLyogc3RhbmQgcGFydGl0aW9uICovCisjZGVmaW5lIFVOSVhXQVJFX1RBR19WQVIgICAgICAgICAgMHgwMDBhICAvKiB2YXIgcGFydGl0aW9uICovCisjZGVmaW5lIFVOSVhXQVJFX1RBR19IT01FICAgICAgICAgMHgwMDBiICAvKiBob21lIHBhcnRpdGlvbiAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfRFVNUCAgICAgICAgIDB4MDAwYyAgLyogZHVtcCBwYXJ0aXRpb24gKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX0FMVF9TVCAgICAgICAweDAwMGQgIC8qIGFsdGVybmF0ZSBzZWN0b3IgdHJhY2sgKi8KKyNkZWZpbmUgVU5JWFdBUkVfVEFHX1ZNX1BVQkxJQyAgICAweDAwMGUgIC8qIHZvbHVtZSBtZ3QgcHVibGljIHBhcnRpdGlvbiAqLworI2RlZmluZSBVTklYV0FSRV9UQUdfVk1fUFJJVkFURSAgIDB4MDAwZiAgLyogdm9sdW1lIG1ndCBwcml2YXRlIHBhcnRpdGlvbiAqLworCisKKy8qIHVuaXh3YXJlX3BhcnRpdGlvbi0+c19mbGFncyBmbGFncyAqLworI2RlZmluZSBVTklYV0FSRV9GTEFHX1ZBTElECTB4MDIwMAorCitzdHJ1Y3QgdW5peHdhcmVfcGFydGl0aW9uIHsKKwl1aW50MTZfdAlzX2xhYmVsOwkvKiBwYXJ0aXRpb24gbGFiZWwgKHRhZykgKi8KKwl1aW50MTZfdAlzX2ZsYWdzOwkvKiBwZXJtaXNzaW9uIGZsYWdzICovCisJdWludDMyX3QJc3RhcnRfc2VjdDsJLyogc3RhcnRpbmcgc2VjdG9yICovCisJdWludDMyX3QJbnJfc2VjdHM7CS8qIG51bWJlciBvZiBzZWN0b3JzICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgdW5peHdhcmVfZGlza2xhYmVsIHsKKwl1aW50MzJfdAlkX3R5cGU7CQkvKiBkcml2ZSB0eXBlICovCisJdWludDMyX3QJZF9tYWdpYzsJLyogdGhlIG1hZ2ljIG51bWJlciAqLworCXVpbnQzMl90CWRfdmVyc2lvbjsJLyogdmVyc2lvbiBudW1iZXIgKi8KKwljaGFyCQlkX3NlcmlhbFsxMl07CS8qIHNlcmlhbCBudW1iZXIgb2YgdGhlIGRldmljZSAqLworCXVpbnQzMl90CWRfbmN5bGluZGVyczsJLyogIyBvZiBkYXRhIGN5bGluZGVycyBwZXIgZGV2aWNlICovCisJdWludDMyX3QJZF9udHJhY2tzOwkvKiAjIG9mIHRyYWNrcyBwZXIgY3lsaW5kZXIgKi8KKwl1aW50MzJfdAlkX25zZWN0b3JzOwkvKiAjIG9mIGRhdGEgc2VjdG9ycyBwZXIgdHJhY2sgKi8KKwl1aW50MzJfdAlkX3NlY3NpemU7CS8qICMgb2YgYnl0ZXMgcGVyIHNlY3RvciAqLworCXVpbnQzMl90CWRfcGFydF9zdGFydDsJLyogIyBvZiBmaXJzdCBzZWN0b3Igb2YgdGhpcyBwYXJ0aXRpb24gKi8KKwl1aW50MzJfdAlkX3Vua25vd24xWzEyXTsJLyogPyAqLworCXVpbnQzMl90CWRfYWx0X3RibDsJLyogYnl0ZSBvZmZzZXQgb2YgYWx0ZXJuYXRlIHRhYmxlICovCisJdWludDMyX3QJZF9hbHRfbGVuOwkvKiBieXRlIGxlbmd0aCBvZiBhbHRlcm5hdGUgdGFibGUgKi8KKwl1aW50MzJfdAlkX3BoeXNfY3lsOwkvKiAjIG9mIHBoeXNpY2FsIGN5bGluZGVycyBwZXIgZGV2aWNlICovCisJdWludDMyX3QJZF9waHlzX3RyazsJLyogIyBvZiBwaHlzaWNhbCB0cmFja3MgcGVyIGN5bGluZGVyICovCisJdWludDMyX3QJZF9waHlzX3NlYzsJLyogIyBvZiBwaHlzaWNhbCBzZWN0b3JzIHBlciB0cmFjayAqLworCXVpbnQzMl90CWRfcGh5c19ieXRlczsJLyogIyBvZiBwaHlzaWNhbCBieXRlcyBwZXIgc2VjdG9yICovCisJdWludDMyX3QJZF91bmtub3duMjsJLyogPyAqLworCXVpbnQzMl90CWRfdW5rbm93bjM7CS8qID8gKi8KKwl1aW50MzJfdAlkX3BhZFs4XTsJLyogcGFkICovCisKKwlzdHJ1Y3QgdW5peHdhcmVfdnRvYyB7CisJCXVpbnQzMl90CXZfbWFnaWM7CS8qIHRoZSBtYWdpYyBudW1iZXIgKi8KKwkJdWludDMyX3QJdl92ZXJzaW9uOwkvKiB2ZXJzaW9uIG51bWJlciAqLworCQljaGFyCQl2X25hbWVbOF07CS8qIHZvbHVtZSBuYW1lICovCisJCXVpbnQxNl90CXZfbnNsaWNlczsJLyogIyBvZiBwYXJ0aXRpb25zICovCisJCXVpbnQxNl90CXZfdW5rbm93bjE7CS8qID8gKi8KKwkJdWludDMyX3QJdl9yZXNlcnZlZFsxMF07CS8qIHJlc2VydmVkICovCisKKwkJc3RydWN0IHVuaXh3YXJlX3BhcnRpdGlvbgorCQkJdl9zbGljZVtVTklYV0FSRV9NQVhQQVJUSVRJT05TXTsgLyogcGFydGl0aW9uICovCisJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSB2dG9jOworfTsKKworc3RhdGljIGludCBwcm9iZV91bml4d2FyZV9wdChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCB1bml4d2FyZV9kaXNrbGFiZWwgKmw7CisJc3RydWN0IHVuaXh3YXJlX3BhcnRpdGlvbiAqcDsKKwlibGtpZF9wYXJ0dGFibGUgdGFiID0gTlVMTDsKKwlibGtpZF9wYXJ0aXRpb24gcGFyZW50OworCWJsa2lkX3BhcnRsaXN0IGxzOworCWludCBpOworCisJbCA9IChzdHJ1Y3QgdW5peHdhcmVfZGlza2xhYmVsICopCisJCQlibGtpZF9wcm9iZV9nZXRfc2VjdG9yKHByLCBVTklYV0FSRV9TRUNUT1IpOworCWlmICghbCkgeworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gLWVycm5vOworCQlnb3RvIG5vdGhpbmc7CisJfQorCisJaWYgKGxlMzJfdG9fY3B1KGwtPnZ0b2Mudl9tYWdpYykgIT0gVU5JWFdBUkVfVlRPQ01BR0lDKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAoYmxraWRfcGFydGl0aW9uc19uZWVkX3R5cGVvbmx5KHByKSkKKwkJLyogY2FsbGVyIGRvZXMgbm90IGFzayBmb3IgZGV0YWlscyBhYm91dCBwYXJ0aXRpb25zICovCisJCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworCWxzID0gYmxraWRfcHJvYmVfZ2V0X3BhcnRsaXN0KHByKTsKKwlpZiAoIWxzKQorCQlnb3RvIG5vdGhpbmc7CisKKwlwYXJlbnQgPSBibGtpZF9wYXJ0bGlzdF9nZXRfcGFyZW50KGxzKTsKKworCXRhYiA9IGJsa2lkX3BhcnRsaXN0X25ld19wYXJ0dGFibGUobHMsICJ1bml4d2FyZSIsIFVOSVhXQVJFX09GRlNFVCk7CisJaWYgKCF0YWIpCisJCWdvdG8gZXJyOworCisJLyogU2tpcCB0aGUgZmlyc3QgcGFydGl0aW9uIHRoYXQgZGVzY3JpYmUgd2hvbGUgZGlzaworCSAqLworCWZvciAoaSA9IDEsIHAgPSAmbC0+dnRvYy52X3NsaWNlWzFdOworCQkJaSA8IFVOSVhXQVJFX01BWFBBUlRJVElPTlM7IGkrKywgcCsrKSB7CisKKwkJdWludDMyX3Qgc3RhcnQsIHNpemU7CisJCXVpbnQxNl90IHRhZywgZmxnOworCQlibGtpZF9wYXJ0aXRpb24gcGFyOworCisJCXRhZyA9IGxlMTZfdG9fY3B1KHAtPnNfbGFiZWwpOworCQlmbGcgPSBsZTE2X3RvX2NwdShwLT5zX2ZsYWdzKTsKKworCQlpZiAodGFnID09IFVOSVhXQVJFX1RBR19VTlVTRUQgfHwKKwkJICAgIHRhZyA9PSBVTklYV0FSRV9UQUdfRU5USVJFX0RJU0sgfHwKKwkJICAgIGZsZyAhPSBVTklYV0FSRV9GTEFHX1ZBTElEKQorCQkJY29udGludWU7CisKKwkJc3RhcnQgPSBsZTMyX3RvX2NwdShwLT5zdGFydF9zZWN0KTsKKwkJc2l6ZSA9IGxlMzJfdG9fY3B1KHAtPm5yX3NlY3RzKTsKKworCQlpZiAocGFyZW50ICYmICFibGtpZF9pc19uZXN0ZWRfZGltZW5zaW9uKHBhcmVudCwgc3RhcnQsIHNpemUpKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKAorCQkJCSJXQVJOSU5HOiB1bml4d2FyZSBwYXJ0aXRpb24gKCVkKSBvdmVyZmxvdyAiCisJCQkJImRldGVjdGVkLCBpZ25vcmUiLCBpKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCXBhciA9IGJsa2lkX3BhcnRsaXN0X2FkZF9wYXJ0aXRpb24obHMsIHRhYiwgc3RhcnQsIHNpemUpOworCQlpZiAoIXBhcikKKwkJCWdvdG8gZXJyOworCisJCWJsa2lkX3BhcnRpdGlvbl9zZXRfdHlwZShwYXIsIHRhZyk7CisJCWJsa2lkX3BhcnRpdGlvbl9zZXRfZmxhZ3MocGFyLCBmbGcpOworCX0KKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKKworbm90aGluZzoKKwlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKK2VycjoKKwlyZXR1cm4gLUVOT01FTTsKK30KKworCisvKgorICogVGhlIHVuaXh3YXJlIHBhcnRpdGlvbiB0YWJsZSBpcyB3aXRoaW4gcHJpbWFyeSBET1MgcGFydGl0aW9uLiAgVGhlIFBUIGlzCisgKiBsb2NhdGVkIG9uIDI5IHNlY3RvciwgUFQgbWFnaWMgc3RyaW5nIGlzIGRfbWFnaWMgbWVtYmVyIG9mICdzdHJ1Y3QKKyAqIHVuaXh3YXJlX2Rpc2tsYWJlbCcuCisgKi8KK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdW5peHdhcmVfcHRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAidW5peHdhcmUiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV91bml4d2FyZV9wdCwKKwkubWluc3oJCT0gMTAyNCAqIDE0NDAgKyAxLAkJLyogaWdub3JlIGZsb3BwaWVzICovCisJLm1hZ2ljcwkJPQorCXsKKwkJeworCQkgIC5tYWdpYyA9ICJceDBEXHg2MFx4RTVceENBIiwJLyogbGl0dGxlLWVuZGlhbiBtYWdpYyBzdHJpbmcgKi8KKwkJICAubGVuID0gNCwJCQkvKiBkX21hZ2ljIHNpemUgaW4gYnl0ZXMgKi8KKwkJICAua2JvZmYgPSBVTklYV0FSRV9LQk9GRlNFVCwKKwkJICAuc2JvZmYgPSBVTklYV0FSRV9NQUdJQ09GRlNFVAorCQl9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9wcm9iZS5jIGIvbGliYmxraWQvc3JjL3Byb2JlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgxZjg4MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9wcm9iZS5jCkBAIC0wLDAgKzEsMjAyMyBAQAorLyoKKyAqIExvdy1sZXZlbCBsaWJibGtpZCBwcm9iaW5nIEFQSQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBsb3dwcm9iZQorICogQHRpdGxlOiBMb3ctbGV2ZWwgcHJvYmluZworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBsb3ctbGV2ZWwgcHJvYmVyIGluaXRpYWxpemF0aW9uCisgKgorICogVGhlIGxvdy1sZXZlbCBwcm9iaW5nIHJvdXRpbmVzIGFsd2F5cyBhbmQgZGlyZWN0bHkgcmVhZCBpbmZvcm1hdGlvbiBmcm9tCisgKiB0aGUgc2VsZWN0ZWQgKHNlZSBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKCkpIGRldmljZS4KKyAqCisgKiBUaGUgcHJvYmluZyByb3V0aW5lcyBhcmUgZ3JvdXBlZCB0b2dldGhlciBpbnRvIHNlcGFyYXRlIGNoYWlucy4gQ3VycmVudGx5LAorICogdGhlIGxpYnJhcnkgcHJvdmlkZXMgc3VwZXJibG9ja3MsIHBhcnRpdGlvbnMgYW5kIHRvcG9sb2d5IGNoYWlucy4KKyAqCisgKiBUaGUgcHJvYmluZyByb3V0aW5lcyBpcyBwb3NzaWJsZSB0byBmaWx0ZXIgKGVuYWJsZS9kaXNhYmxlKSBieSB0eXBlIChlLmcuCisgKiBmc3R5cGUgInZmYXQiIG9yIHBhcnR5cGUgImdwdCIpIG9yIGJ5IHVzYWdlIGZsYWdzIChlLmcuIEJMS0lEX1VTQUdFX1JBSUQpLgorICogVGhlc2UgZmlsdGVycyBhcmUgcGVyLWNoYWluLiBOb3RlIHRoYXQgYWx3YXlzIHdoZW4geW91IHRvdWNoIHRoZSBjaGFpbgorICogZmlsdGVyIHRoZSBjdXJyZW50IHByb2JpbmcgcG9zaXRpb24gaXMgcmVzZXQgYW5kIHByb2Jpbmcgc3RhcnRzIGZyb20KKyAqIHNjcmF0Y2guICBJdCBtZWFucyB0aGF0IHRoZSBjaGFpbiBmaWx0ZXIgc2hvdWxkIG5vdCBiZSBtb2RpZmllZCBkdXJpbmcKKyAqIHByb2JpbmcsIGZvciBleGFtcGxlIGluIGxvb3Agd2hlcmUgeW91IGNhbGwgYmxraWRfZG9fcHJvYmUoKS4KKyAqCisgKiBGb3IgbW9yZSBkZXRhaWxzIHNlZSB0aGUgY2hhaW4gc3BlY2lmaWMgZG9jdW1lbnRhdGlvbi4KKyAqCisgKiBUaGUgbG93LWxldmVsIEFQSSBwcm92aWRlcyB0d28gd2F5cyBob3cgYWNjZXNzIHRvIHByb2JpbmcgcmVzdWx0cy4KKyAqCisgKiAgIDEuIFRoZSBOQU1FPXZhbHVlICh0YWcpIGludGVyZmFjZS4gVGhpcyBpbnRlcmZhY2UgaXMgb2xkZXIgYW5kIHJldHVybnMgYWxsIGRhdGEKKyAqICAgICAgYXMgc3RyaW5ncy4gVGhpcyBpbnRlcmZhY2UgaXMgZ2VuZXJpYyBmb3IgYWxsIGNoYWlucy4KKyAqCisgKiAgIDIuIFRoZSBiaW5hcnkgaW50ZXJmYWNlcy4gVGhlc2UgaW50ZXJmYWNlcyByZXR1cm4gZGF0YSBpbiB0aGUgbmF0aXZlIGZvcm1hdHMuCisgKiAgICAgIFRoZSBpbnRlcmZhY2UgaXMgYWx3YXlzIHNwZWNpZmljIHRvIHRoZSBwcm9iaW5nIGNoYWluLgorICoKKyAqICBOb3RlIHRoYXQgdGhlIHByZXZpb3VzIHByb2JpbmcgcmVzdWx0IChiaW5hcnkgb3IgTkFNRT12YWx1ZSkgaXMgYWx3YXlzCisgKiAgemVyb2l6ZWQgd2hlbiBhIGNoYWluIHByb2JpbmcgZnVuY3Rpb24gaXMgY2FsbGVkLiBGb3IgZXhhbXBsZToKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKiAgICAgYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMocHIsIFRSVUUpOworICogICAgIGJsa2lkX3Byb2JlX2VuYWJsZV9zdXBlcmJsb2NrcyhwciwgRkFMU0UpOworICoKKyAqICAgICBibGtpZF9kb19zYWZlcHJvYmUocHIpOworICogICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogb3ZlcndyaXRlcyB0aGUgcHJldmlvdXMgcHJvYmluZyByZXN1bHQgZm9yIHRoZSBwYXJ0aXRpb25zIGNoYWluLCB0aGUgc3VwZXJibG9ja3MKKyAqIHJlc3VsdCBpcyBub3QgbW9kaWZpZWQuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBsb3dwcm9iZS10YWdzCisgKiBAdGl0bGU6IExvdy1sZXZlbCB0YWdzCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGdlbmVyaWMgTkFNRT12YWx1ZSBpbnRlcmZhY2UuCisgKgorICogVGhlIHByb2Jpbmcgcm91dGluZXMgaW5zaWRlIHRoZSBjaGFpbiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIGJ5IGRlZmF1bHQgLS0KKyAqIG9ubHkgZmV3IHByb2Jpbmcgcm91dGluZXMgYXJlIG1hcmtlZCBhcyAidG9sZXJhbnQiLiBUaGUgInRvbGVyYW50IiBwcm9iaW5nCisgKiByb3V0aW5lcyBhcmUgdXNlZCBmb3IgZmlsZXN5c3RlbSB3aGljaCBjYW4gc2hhcmUgdGhlIHNhbWUgZGV2aWNlIHdpdGggYW55CisgKiBvdGhlciBmaWxlc3lzdGVtLiBUaGUgYmxraWRfZG9fc2FmZXByb2JlKCkgY2hlY2tzIGZvciB0aGUgInRvbGVyYW50IiBmbGFnLgorICoKKyAqIFRoZSBTVVBFUkJMT0NLUyBjaGFpbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQuIFRoZSBhbGwgb3RoZXJzIGNoYWlucyBpcworICogbmVjZXNzYXJ5IHRvIGVuYWJsZSBieSBibGtpZF9wcm9iZV9lbmFibGVfJ0NIQUlOTkFNRScoKS4gU2VlIGNoYWlucyBzcGVjaWZpYworICogZG9jdW1lbnRhdGlvbi4KKyAqCisgKiBUaGUgYmxraWRfZG9fcHJvYmUoKSBmdW5jdGlvbiByZXR1cm5zIGEgcmVzdWx0IGZyb20gb25seSBvbmUgcHJvYmluZworICogcm91dGluZSwgYW5kIHRoZSBuZXh0IGNhbGwgZnJvbSB0aGUgbmV4dCBwcm9iaW5nIHJvdXRpbmUuIEl0IG1lYW5zIHlvdSBuZWVkCisgKiB0byBjYWxsIHRoZSBmdW5jdGlvbiBpbiBsb29wLCBmb3IgZXhhbXBsZToKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKgl3aGlsZSgoYmxraWRfZG9fcHJvYmUocHIpID09IDApCisgKgkJLi4uIHVzZSByZXN1bHQgLi4uCisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBUaGUgYmxraWRfZG9fc2FmZXByb2JlKCkgaXMgdGhlIHNhbWUgYXMgYmxraWRfZG9fcHJvYmUoKSwgYnV0IHJldHVybnMgb25seQorICogZmlyc3QgcHJvYmluZyByZXN1bHQgZm9yIGV2ZXJ5IGVuYWJsZWQgY2hhaW4uIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGZvcgorICogYW1iaXZhbGVudCByZXN1bHRzIChlLmcuIG1vcmUgImludG9sZXJhbnQiIGZpbGVzeXN0ZW1zIHN1cGVyYmxvY2tzIG9uIHRoZQorICogZGV2aWNlKS4KKyAqCisgKiBUaGUgcHJvYmluZyByZXN1bHQgaXMgc2V0IG9mIE5BTUU9dmFsdWUgcGFpcnMgKHRoZSBOQU1FIGlzIGFsd2F5cyB1bmlxdWUpLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZmRlZiBIQVZFX0xJTlVYX0NEUk9NX0gKKyNpbmNsdWRlIDxsaW51eC9jZHJvbS5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRVJSTk9fSAorI2luY2x1ZGUgPGVycm5vLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorCisjaW5jbHVkZSAiYmxraWRQLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImxpc3QuaCIKKworLyoKKyAqIEFsbCBzdXBwb3J0ZWQgY2hhaW5zCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmxraWRfY2hhaW5kcnYgKmNoYWluc19kcnZzW10gPSB7CisJW0JMS0lEX0NIQUlOX1NVQkxLU10gPSAmc3VwZXJibG9ja3NfZHJ2LAorCVtCTEtJRF9DSEFJTl9UT1BMR1ldID0gJnRvcG9sb2d5X2RydiwKKwlbQkxLSURfQ0hBSU5fUEFSVFNdID0gJnBhcnRpdGlvbnNfZHJ2Cit9OworCitzdGF0aWMgdm9pZCBibGtpZF9wcm9iZV9yZXNldF92YWx1ZXMoYmxraWRfcHJvYmUgcHIpOworCisvKioKKyAqIGJsa2lkX25ld19wcm9iZToKKyAqCisgKiBSZXR1cm5zOiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGFsbG9jYXRlZCBwcm9iZSBzdHJ1Y3Qgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLgorICovCitibGtpZF9wcm9iZSBibGtpZF9uZXdfcHJvYmUodm9pZCkKK3sKKwlpbnQgaTsKKwlibGtpZF9wcm9iZSBwcjsKKworCWJsa2lkX2luaXRfZGVidWcoMCk7CisJcHIgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfcHJvYmUpKTsKKwlpZiAoIXByKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImFsbG9jYXRlIGEgbmV3IHByb2JlIikpOworCisJLyogaW5pdGlhbGl6ZSBjaGFpbnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgQkxLSURfTkNIQUlOUzsgaSsrKSB7CisJCXByLT5jaGFpbnNbaV0uZHJpdmVyID0gY2hhaW5zX2RydnNbaV07CisJCXByLT5jaGFpbnNbaV0uZmxhZ3MgPSBjaGFpbnNfZHJ2c1tpXS0+ZGZsdF9mbGFnczsKKwkJcHItPmNoYWluc1tpXS5lbmFibGVkID0gY2hhaW5zX2RydnNbaV0tPmRmbHRfZW5hYmxlZDsKKwl9CisJSU5JVF9MSVNUX0hFQUQoJnByLT5idWZmZXJzKTsKKwlJTklUX0xJU1RfSEVBRCgmcHItPnZhbHVlcyk7CisJcmV0dXJuIHByOworfQorCisvKgorICogQ2xvbmUgQHBhcmVudCwgdGhlIG5ldyBjbG9uZSBzaGFyZXMgYWxsLCBidXQgZXhjZXB0OgorICoKKyAqCS0gcHJvYmluZyByZXN1bHQKKyAqCS0gYnVmZmVycyBpZiBhbm90aGVyIGRldmljZSAob3Igb2Zmc2V0KSBpcyBzZXQgdG8gdGhlIHByb2JlcgorICovCitibGtpZF9wcm9iZSBibGtpZF9jbG9uZV9wcm9iZShibGtpZF9wcm9iZSBwYXJlbnQpCit7CisJYmxraWRfcHJvYmUgcHI7CisKKwlpZiAoIXBhcmVudCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJhbGxvY2F0ZSBhIHByb2JlIGNsb25lIikpOworCisJcHIgPSBibGtpZF9uZXdfcHJvYmUoKTsKKwlpZiAoIXByKQorCQlyZXR1cm4gTlVMTDsKKworCXByLT5mZCA9IHBhcmVudC0+ZmQ7CisJcHItPm9mZiA9IHBhcmVudC0+b2ZmOworCXByLT5zaXplID0gcGFyZW50LT5zaXplOworCXByLT5kZXZubyA9IHBhcmVudC0+ZGV2bm87CisJcHItPmRpc2tfZGV2bm8gPSBwYXJlbnQtPmRpc2tfZGV2bm87CisJcHItPmJsa3NzeiA9IHBhcmVudC0+Ymxrc3N6OworCXByLT5mbGFncyA9IHBhcmVudC0+ZmxhZ3M7CisJcHItPnBhcmVudCA9IHBhcmVudDsKKworCXByLT5mbGFncyAmPSB+QkxLSURfRkxfUFJJVkFURV9GRDsKKworCXJldHVybiBwcjsKK30KKworCisKKy8qKgorICogYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWU6CisgKiBAZmlsZW5hbWU6IGRldmljZSBvciByZWd1bGFyIGZpbGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIHNhbWUgYXMgY2FsbCBvcGVuKGZpbGVuYW1lKSwgYmxraWRfbmV3X3Byb2JlKCkgYW5kCisgKiBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKHByLCBmZCwgMCwgMCkuCisgKgorICogVGhlIEBmaWxlbmFtZSBpcyBjbG9zZWQgYnkgYmxraWRfZnJlZV9wcm9iZSgpIG9yIGJ5IHRoZQorICogYmxraWRfcHJvYmVfc2V0X2RldmljZSgpIGNhbGwuCisgKgorICogUmV0dXJuczogYSBwb2ludGVyIHRvIHRoZSBuZXdseSBhbGxvY2F0ZWQgcHJvYmUgc3RydWN0IG9yIE5VTEwgaW4gY2FzZSBvZgorICogZXJyb3IuCisgKi8KK2Jsa2lkX3Byb2JlIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWludCBmZDsKKwlibGtpZF9wcm9iZSBwciA9IE5VTEw7CisKKwlmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRPTkxZfE9fQ0xPRVhFQyk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlwciA9IGJsa2lkX25ld19wcm9iZSgpOworCWlmICghcHIpCisJCWdvdG8gZXJyOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9kZXZpY2UocHIsIGZkLCAwLCAwKSkKKwkJZ290byBlcnI7CisKKwlwci0+ZmxhZ3MgfD0gQkxLSURfRkxfUFJJVkFURV9GRDsKKwlyZXR1cm4gcHI7CitlcnI6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBibGtpZF9mcmVlX3Byb2JlOgorICogQHByOiBwcm9iZQorICoKKyAqIERlYWxsb2NhdGVzIHRoZSBwcm9iZSBzdHJ1Y3QsIGJ1ZmZlcnMgYW5kIGFsbCBhbGxvY2F0ZWQKKyAqIGRhdGEgdGhhdCBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoaXMgcHJvYmluZyBjb250cm9sIHN0cnVjdC4KKyAqLwordm9pZCBibGtpZF9mcmVlX3Byb2JlKGJsa2lkX3Byb2JlIHByKQoreworCWludCBpOworCisJaWYgKCFwcikKKwkJcmV0dXJuOworCisJZm9yIChpID0gMDsgaSA8IEJMS0lEX05DSEFJTlM7IGkrKykgeworCQlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNoID0gJnByLT5jaGFpbnNbaV07CisKKwkJaWYgKGNoLT5kcml2ZXItPmZyZWVfZGF0YSkKKwkJCWNoLT5kcml2ZXItPmZyZWVfZGF0YShwciwgY2gtPmRhdGEpOworCQlmcmVlKGNoLT5mbHRyKTsKKwl9CisKKwlpZiAoKHByLT5mbGFncyAmIEJMS0lEX0ZMX1BSSVZBVEVfRkQpICYmIHByLT5mZCA+PSAwKQorCQljbG9zZShwci0+ZmQpOworCWJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcnMocHIpOworCWJsa2lkX3Byb2JlX3Jlc2V0X3ZhbHVlcyhwcik7CisJYmxraWRfZnJlZV9wcm9iZShwci0+ZGlza19wcm9iZSk7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJmcmVlIHByb2JlIikpOworCWZyZWUocHIpOworfQorCit2b2lkIGJsa2lkX3Byb2JlX2ZyZWVfdmFsdWUoc3RydWN0IGJsa2lkX3BydmFsICp2KQoreworCWlmICghdikKKwkJcmV0dXJuOworCisJbGlzdF9kZWwoJnYtPnBydmFscyk7CisJZnJlZSh2LT5kYXRhKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiBmcmVlIHZhbHVlICVzIiwgdi0+bmFtZSkpOworCWZyZWUodik7Cit9CisKKy8qCisgKiBSZW1vdmVzIGNoYWluIHZhbHVlcyBmcm9tIHByb2JpbmcgcmVzdWx0LgorICovCit2b2lkIGJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3ZhbHVlcyhibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCit7CisKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCAqcG5leHQ7CisKKwlpZiAobGlzdF9lbXB0eSgmcHItPnZhbHVlcykpCisJCXJldHVybjsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlJlc2V0dGluZyAlcyB2YWx1ZXMiLCBjaG4tPmRyaXZlci0+bmFtZSkpOworCisJbGlzdF9mb3JfZWFjaF9zYWZlKHAsIHBuZXh0LCAmcHItPnZhbHVlcykgeworCQlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnYgPSBsaXN0X2VudHJ5KHAsCisJCQkJCQlzdHJ1Y3QgYmxraWRfcHJ2YWwsIHBydmFscyk7CisKKwkJaWYgKHYtPmNoYWluID09IGNobikKKwkJCWJsa2lkX3Byb2JlX2ZyZWVfdmFsdWUodik7CisJfQorfQorCitzdGF0aWMgdm9pZCBibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKK3sKKwljaG4tPmlkeCA9IC0xOworfQorCisvKgorICogTW92ZSBjaGFpbiB2YWx1ZXMgZnJvbSBwcm9iaW5nIHJlc3VsdCB0byBAdmFscworICovCitpbnQgYmxraWRfcHJvYmVfY2hhaW5fc2F2ZV92YWx1ZXMoYmxraWRfcHJvYmUgcHIsIHN0cnVjdCBibGtpZF9jaGFpbiAqY2huLAorCQkJCXN0cnVjdCBsaXN0X2hlYWQgKnZhbHMpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnBuZXh0OworCXN0cnVjdCBibGtpZF9wcnZhbCAqdjsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInNhdmluZyAlcyB2YWx1ZXMiLCBjaG4tPmRyaXZlci0+bmFtZSkpOworCisJbGlzdF9mb3JfZWFjaF9zYWZlKHAsIHBuZXh0LCAmcHItPnZhbHVlcykgeworCisJCXYgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9wcnZhbCwgcHJ2YWxzKTsKKwkJaWYgKHYtPmNoYWluICE9IGNobikKKwkJCWNvbnRpbnVlOworCisJCWxpc3RfZGVsKCZ2LT5wcnZhbHMpOworCQlJTklUX0xJU1RfSEVBRCgmdi0+cHJ2YWxzKTsKKworCQlsaXN0X2FkZF90YWlsKCZ2LT5wcnZhbHMsIHZhbHMpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEFwcGVuZHMgdmFsdWVzIGZyb20gQHZhbHMgdG8gdGhlIHByb2JpbmcgcmVzdWx0CisgKi8KK3ZvaWQgYmxraWRfcHJvYmVfYXBwZW5kX3ZhbHVlc19saXN0KGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgbGlzdF9oZWFkICp2YWxzKQoreworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImFwcGVuZGluZyB2YWx1ZXMiKSk7CisKKwlsaXN0X3NwbGljZSh2YWxzLCAmcHItPnZhbHVlcyk7CisJSU5JVF9MSVNUX0hFQUQodmFscyk7Cit9CisKKwordm9pZCBibGtpZF9wcm9iZV9mcmVlX3ZhbHVlc19saXN0KHN0cnVjdCBsaXN0X2hlYWQgKnZhbHMpCit7CisJaWYgKCF2YWxzKQorCQlyZXR1cm47CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJmcmVlaW5nIHZhbHVlcyBsaXN0IikpOworCisJd2hpbGUgKCFsaXN0X2VtcHR5KHZhbHMpKSB7CisJCXN0cnVjdCBibGtpZF9wcnZhbCAqdiA9IGxpc3RfZW50cnkodmFscy0+bmV4dCwgc3RydWN0IGJsa2lkX3BydmFsLCBwcnZhbHMpOworCQlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCX0KK30KKworc3RydWN0IGJsa2lkX2NoYWluICpibGtpZF9wcm9iZV9nZXRfY2hhaW4oYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIHByLT5jdXJfY2hhaW47Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpibGtpZF9wcm9iZV9nZXRfcHJvYmVybmFtZShibGtpZF9wcm9iZSBwcikKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisKKwlpZiAoY2huICYmIGNobi0+aWR4ID49IDAgJiYgKHVuc2lnbmVkKWNobi0+aWR4IDwgY2huLT5kcml2ZXItPm5pZGluZm9zKQorCQlyZXR1cm4gY2huLT5kcml2ZXItPmlkaW5mb3NbY2huLT5pZHhdLT5uYW1lOworCisJcmV0dXJuIE5VTEw7Cit9CisKK3ZvaWQgKmJsa2lkX3Byb2JlX2dldF9iaW5hcnlfZGF0YShibGtpZF9wcm9iZSBwciwgc3RydWN0IGJsa2lkX2NoYWluICpjaG4pCit7CisJaW50IHJjLCBvcmdfcHJvYl9mbGFnczsKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKm9yZ19jaG47CisKKwkvKiBzYXZlIHRoZSBjdXJyZW50IHNldHRpbmcgLS0gdGhlIGJpbmFyeSBBUEkgaGFzIHRvIGJlIGNvbXBsZXRlbHkKKwkgKiBpbmRlcGVuZGVudCBvbiB0aGUgY3VycmVudCBwcm9iaW5nIHN0YXR1cworCSAqLworCW9yZ19jaG4gPSBwci0+Y3VyX2NoYWluOworCW9yZ19wcm9iX2ZsYWdzID0gcHItPnByb2JfZmxhZ3M7CisKKwlwci0+Y3VyX2NoYWluID0gY2huOworCXByLT5wcm9iX2ZsYWdzID0gMDsKKwljaG4tPmJpbmFyeSA9IFRSVUU7CisJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfcG9zaXRpb24oY2huKTsKKworCXJjID0gY2huLT5kcml2ZXItPnByb2JlKHByLCBjaG4pOworCisJY2huLT5iaW5hcnkgPSBGQUxTRTsKKwlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCisJLyogcmVzdG9yZSB0aGUgb3JpZ2luYWwgc2V0dGluZworCSAqLworCXByLT5jdXJfY2hhaW4gPSBvcmdfY2huOworCXByLT5wcm9iX2ZsYWdzID0gb3JnX3Byb2JfZmxhZ3M7CisKKwlpZiAocmMgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJyZXR1cm5pbmcgJXMgYmluYXJ5IGRhdGEiLCBjaG4tPmRyaXZlci0+bmFtZSkpOworCXJldHVybiBjaG4tPmRhdGE7Cit9CisKKworLyoqCisgKiBibGtpZF9yZXNldF9wcm9iZToKKyAqIEBwcjogcHJvYmUKKyAqCisgKiBaZXJvaXplIHByb2JpbmcgcmVzdWx0cyBhbmQgcmVzZXRzIHRoZSBjdXJyZW50IHByb2JpbmcgKHRoaXMgaGFzIGltcGFjdCB0bworICogYmxraWRfZG9fcHJvYmUoKSBvbmx5KS4gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCB0b3VjaCBwcm9iaW5nIGZpbHRlcnMgYW5kCisgKiBrZWVwcyBhc3NpZ25lZCBkZXZpY2UuCisgKi8KK3ZvaWQgYmxraWRfcmVzZXRfcHJvYmUoYmxraWRfcHJvYmUgcHIpCit7CisJaW50IGk7CisKKwlibGtpZF9wcm9iZV9yZXNldF92YWx1ZXMocHIpOworCWJsa2lkX3Byb2JlX3NldF93aXBlcihwciwgMCwgMCk7CisKKwlwci0+Y3VyX2NoYWluID0gTlVMTDsKKworCWZvciAoaSA9IDA7IGkgPCBCTEtJRF9OQ0hBSU5TOyBpKyspCisJCWJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3Bvc2l0aW9uKCZwci0+Y2hhaW5zW2ldKTsKK30KKworLyoqKgorc3RhdGljIGludCBibGtpZF9wcm9iZV9kdW1wX2ZpbHRlcihibGtpZF9wcm9iZSBwciwgaW50IGNoYWluKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huOworCWludCBpOworCisJaWYgKCFwciB8fCBjaGFpbiA8IDAgfHwgY2hhaW4gPj0gQkxLSURfTkNIQUlOUykKKwkJcmV0dXJuIC0xOworCisJY2huID0gJnByLT5jaGFpbnNbY2hhaW5dOworCisJaWYgKCFjaG4tPmZsdHIpCisJCXJldHVybiAtMTsKKworCWZvciAoaSA9IDA7IGkgPCBjaG4tPmRyaXZlci0+bmlkaW5mb3M7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCA9IGNobi0+ZHJpdmVyLT5pZGluZm9zW2ldOworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiVkOiAlczogJXMiLAorCQkJaSwKKwkJCWlkLT5uYW1lLAorCQkJYmxraWRfYm1wX2dldF9pdGVtKGNobi0+Zmx0ciwgaSkKKwkJCQk/ICJkaXNhYmxlZCIgOiAiZW5hYmxlZCA8LS0iKSk7CisJfQorCXJldHVybiAwOworfQorKioqLworCisvKgorICogUmV0dXJucyBwcm9wZXJseSBpbml0aWFsaXplZCBjaGFpbiBmaWx0ZXIKKyAqLwordW5zaWduZWQgbG9uZyAqYmxraWRfcHJvYmVfZ2V0X2ZpbHRlcihibGtpZF9wcm9iZSBwciwgaW50IGNoYWluLCBpbnQgY3JlYXRlKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huOworCisJaWYgKGNoYWluIDwgMCB8fCBjaGFpbiA+PSBCTEtJRF9OQ0hBSU5TKQorCQlyZXR1cm4gTlVMTDsKKworCWNobiA9ICZwci0+Y2hhaW5zW2NoYWluXTsKKworCS8qIGFsd2F5cyB3aGVuIHlvdSB0b3VjaCB0aGUgY2hhaW4gZmlsdGVyIGFsbCBpbmRleGVzIGFyZSByZXNldCBhbmQKKwkgKiBwcm9iaW5nIHN0YXJ0cyBmcm9tIHNjcmF0Y2gKKwkgKi8KKwlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCXByLT5jdXJfY2hhaW4gPSBOVUxMOworCisJaWYgKCFjaG4tPmRyaXZlci0+aGFzX2ZsdHIgfHwgKCFjaG4tPmZsdHIgJiYgIWNyZWF0ZSkpCisJCXJldHVybiBOVUxMOworCisJaWYgKCFjaG4tPmZsdHIpCisJCWNobi0+Zmx0ciA9IGNhbGxvYygxLCBibGtpZF9ibXBfbmJ5dGVzKGNobi0+ZHJpdmVyLT5uaWRpbmZvcykpOworCWVsc2UKKwkJbWVtc2V0KGNobi0+Zmx0ciwgMCwgYmxraWRfYm1wX25ieXRlcyhjaG4tPmRyaXZlci0+bmlkaW5mb3MpKTsKKworCS8qIGJsa2lkX3Byb2JlX2R1bXBfZmlsdGVyKHByLCBjaGFpbik7ICovCisJcmV0dXJuIGNobi0+Zmx0cjsKK30KKworLyoKKyAqIEdlbmVyaWMgcHJpdmF0ZSBmdW5jdGlvbnMgZm9yIGZpbHRlciBzZXR0aW5nCisgKi8KK2ludCBfX2Jsa2lkX3Byb2JlX2ludmVydF9maWx0ZXIoYmxraWRfcHJvYmUgcHIsIGludCBjaGFpbikKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKworCWNobiA9ICZwci0+Y2hhaW5zW2NoYWluXTsKKworCWlmICghY2huLT5kcml2ZXItPmhhc19mbHRyIHx8ICFjaG4tPmZsdHIpCisJCXJldHVybiAtMTsKKworCWZvciAoaSA9IDA7IGkgPCBibGtpZF9ibXBfbndvcmRzKGNobi0+ZHJpdmVyLT5uaWRpbmZvcyk7IGkrKykKKwkJY2huLT5mbHRyW2ldID0gfmNobi0+Zmx0cltpXTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInByb2JpbmcgZmlsdGVyIGludmVydGVkIikpOworCS8qIGJsa2lkX3Byb2JlX2R1bXBfZmlsdGVyKHByLCBjaGFpbik7ICovCisJcmV0dXJuIDA7Cit9CisKK2ludCBfX2Jsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcihibGtpZF9wcm9iZSBwciwgaW50IGNoYWluKQoreworCXJldHVybiBibGtpZF9wcm9iZV9nZXRfZmlsdGVyKHByLCBjaGFpbiwgRkFMU0UpID8gMCA6IC0xOworfQorCitpbnQgX19ibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXMoYmxraWRfcHJvYmUgcHIsIGludCBjaGFpbiwgaW50IGZsYWcsIGNoYXIgKm5hbWVzW10pCit7CisJdW5zaWduZWQgbG9uZyAqZmx0cjsKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKwlzaXplX3QgaTsKKworCWZsdHIgPSBibGtpZF9wcm9iZV9nZXRfZmlsdGVyKHByLCBjaGFpbiwgVFJVRSk7CisJaWYgKCFmbHRyKQorCQlyZXR1cm4gLTE7CisKKwljaG4gPSAmcHItPmNoYWluc1tjaGFpbl07CisKKwlmb3IgKGkgPSAwOyBpIDwgY2huLT5kcml2ZXItPm5pZGluZm9zOyBpKyspIHsKKwkJaW50IGhhcyA9IDA7CisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkID0gY2huLT5kcml2ZXItPmlkaW5mb3NbaV07CisJCWNoYXIgKipuOworCisJCWZvciAobiA9IG5hbWVzOyAqbjsgbisrKSB7CisJCQlpZiAoIXN0cmNtcChpZC0+bmFtZSwgKm4pKSB7CisJCQkJaGFzID0gMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlpZiAoaGFzKSB7CisJCQlpZiAoZmxhZyAmIEJMS0lEX0ZMVFJfTk9USU4pCisJCQkJYmxraWRfYm1wX3NldF9pdGVtKGZsdHIsIGkpOworCQl9IGVsc2UgaWYgKGZsYWcgJiBCTEtJRF9GTFRSX09OTFlJTikKKwkJCWJsa2lkX2JtcF9zZXRfaXRlbShmbHRyLCBpKTsKKwl9CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCIlczogYSBuZXcgcHJvYmluZyB0eXBlLWZpbHRlciBpbml0aWFsaXplZCIsCisJCWNobi0+ZHJpdmVyLT5uYW1lKSk7CisJLyogYmxraWRfcHJvYmVfZHVtcF9maWx0ZXIocHIsIGNoYWluKTsgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBibGtpZF9idWZpbmZvICpyZWFkX2J1ZmZlcihibGtpZF9wcm9iZSBwciwgdWludDY0X3QgcmVhbF9vZmYsIHVpbnQ2NF90IGxlbikKK3sKKwlzc2l6ZV90IHJldDsKKwlzdHJ1Y3QgYmxraWRfYnVmaW5mbyAqYmYgPSBOVUxMOworCisJaWYgKGJsa2lkX2xsc2Vlayhwci0+ZmQsIHJlYWxfb2ZmLCBTRUVLX1NFVCkgPCAwKSB7CisJCWVycm5vID0gMDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogc29tZW9uZSB0cnlpbmcgdG8gb3ZlcmZsb3cgc29tZSBidWZmZXJzPyAqLworCWlmIChsZW4gPiBVTE9OR19NQVggLSBzaXplb2Yoc3RydWN0IGJsa2lkX2J1ZmluZm8pKSB7CisJCWVycm5vID0gRU5PTUVNOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwkvKiBhbGxvY2F0ZSBpbmZvIGFuZCBzcGFjZSBmb3IgZGF0YSBieSBvbmUgbWFsbG9jIGNhbGwgKi8KKwliZiA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJsa2lkX2J1ZmluZm8pICsgbGVuKTsKKwlpZiAoIWJmKSB7CisJCWVycm5vID0gRU5PTUVNOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwliZi0+ZGF0YSA9ICgodW5zaWduZWQgY2hhciAqKSBiZikgKyBzaXplb2Yoc3RydWN0IGJsa2lkX2J1ZmluZm8pOworCWJmLT5sZW4gPSBsZW47CisJYmYtPm9mZiA9IHJlYWxfb2ZmOworCUlOSVRfTElTVF9IRUFEKCZiZi0+YnVmcyk7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJcdHJlYWQ6IG9mZj0lIlBSSXU2NCIgbGVuPSUiUFJJdTY0IiIsCisJICAgICAgICAgICAgICAgICAgICAgICByZWFsX29mZiwgbGVuKSk7CisKKwlyZXQgPSByZWFkKHByLT5mZCwgYmYtPmRhdGEsIGxlbik7CisJaWYgKHJldCAhPSAoc3NpemVfdCkgbGVuKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlx0cmVhZCBmYWlsZWQ6ICVtIikpOworCQlmcmVlKGJmKTsKKworCQkvKiBJL08gZXJyb3JzIG9uIENEUk9NcyBhcmUgbm9uLWZhdGFsIHRvIHdvcmsgd2l0aCBoeWJyaWQKKwkJICogYXVkaW8rZGF0YSBkaXNrcyAqLworCQlpZiAocmV0ID49IDAgfHwgYmxraWRfcHJvYmVfaXNfY2Ryb20ocHIpKQorCQkJZXJybm8gPSAwOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gYmY7Cit9CisKKy8qCisgKiBTZWFyY2ggaW4gYnVmZmVycyB3ZSBhbHJlYWR5IGluIG1lbW9yeQorICovCitzdGF0aWMgc3RydWN0IGJsa2lkX2J1ZmluZm8gKmdldF9jYWNoZWRfYnVmZmVyKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IGxlbikKK3sKKwl1aW50NjRfdCByZWFsX29mZiA9IHByLT5vZmYgKyBvZmY7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWxpc3RfZm9yX2VhY2gocCwgJnByLT5idWZmZXJzKSB7CisJCXN0cnVjdCBibGtpZF9idWZpbmZvICp4ID0KKwkJCQlsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9idWZpbmZvLCBidWZzKTsKKworCQlpZiAocmVhbF9vZmYgPj0geC0+b2ZmICYmIHJlYWxfb2ZmICsgbGVuIDw9IHgtPm9mZiArIHgtPmxlbikgeworCQkJREJHKEJVRkZFUiwgdWxfZGVidWcoIlx0cmV1c2U6IG9mZj0lIlBSSXU2NCIgbGVuPSUiUFJJdTY0IiAoZm9yIG9mZj0lIlBSSXU2NCIgbGVuPSUiUFJJdTY0IikiLAorCQkJCQkJeC0+b2ZmLCB4LT5sZW4sIHJlYWxfb2ZmLCBsZW4pKTsKKwkJCXJldHVybiB4OworCQl9CisJfQorCXJldHVybiBOVUxMOworfQorCisvKgorICogWmVyb2l6ZSBpbi1tZW1vcnkgZGF0YSBpbiBhbHJlYWR5IHJlYWQgYnVmZmVyLiBUaGUgbmV4dCBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKCkKKyAqIHdpbGwgcmV0dXJuIG1vZGlmaWVkIGJ1ZmZlci4gVGhpcyBpcyB1c2FibGUgd2hlbiB5b3Ugd2FudCB0byBjYWxsIHRoZSBzYW1lIHByb2JpbmcKKyAqIGZ1bmN0aW9uIG1vcmUgdGhhbiBvbmNlIGFuZCBoaWRlIHByZXZpb3VzbHkgZGV0ZWN0ZWQgbWFnaWMgc3RyaW5ncy4KKyAqCisgKiBTZWUgYmxraWRfcHJvYmVfaGlkZV9yYW5nZSgpLgorICovCitzdGF0aWMgaW50IGhpZGVfYnVmZmVyKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IGxlbikKK3sKKwl1aW50NjRfdCByZWFsX29mZiA9IHByLT5vZmYgKyBvZmY7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKwlpbnQgY3QgPSAwOworCisJbGlzdF9mb3JfZWFjaChwLCAmcHItPmJ1ZmZlcnMpIHsKKwkJc3RydWN0IGJsa2lkX2J1ZmluZm8gKnggPQorCQkJbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfYnVmaW5mbywgYnVmcyk7CisJCXVuc2lnbmVkIGNoYXIgKmRhdGE7CisKKwkJaWYgKHJlYWxfb2ZmID49IHgtPm9mZiAmJiByZWFsX29mZiArIGxlbiA8PSB4LT5vZmYgKyB4LT5sZW4pIHsKKworCQkJYXNzZXJ0KHgtPm9mZiA8PSByZWFsX29mZik7CisJCQlhc3NlcnQoeC0+b2ZmICsgeC0+bGVuID49IHJlYWxfb2ZmICsgbGVuKTsKKworCQkJZGF0YSA9IHJlYWxfb2ZmID8geC0+ZGF0YSArIChyZWFsX29mZiAtIHgtPm9mZikgOiB4LT5kYXRhOworCisJCQlEQkcoQlVGRkVSLCB1bF9kZWJ1ZygiXHRoaWRkaW5nOiBvZmY9JSJQUkl1NjQiIGxlbj0lIlBSSXU2NCwKKwkJCQkJCW9mZiwgbGVuKSk7CisJCQltZW1zZXQoZGF0YSwgMCwgbGVuKTsKKwkJCWN0Kys7CisJCX0KKwl9CisJcmV0dXJuIGN0ID09IDAgPyAtRUlOVkFMIDogMDsKK30KKworCisvKgorICogTm90ZSB0aGF0IEBvZmYgaXMgb2Zmc2V0IHdpdGhpbiBwcm9iaW5nIGFyZWEsIHRoZSBwcm9iaW5nIGFyZWEgaXMgZGVmaW5lZCBieQorICogcHItPm9mZiBhbmQgcHItPnNpemUuCisgKi8KK3Vuc2lnbmVkIGNoYXIgKmJsa2lkX3Byb2JlX2dldF9idWZmZXIoYmxraWRfcHJvYmUgcHIsIHVpbnQ2NF90IG9mZiwgdWludDY0X3QgbGVuKQoreworCXN0cnVjdCBibGtpZF9idWZpbmZvICpiZiA9IE5VTEw7CisJdWludDY0X3QgcmVhbF9vZmYgPSBwci0+b2ZmICsgb2ZmOworCisJLyoKKwlEQkcoQlVGRkVSLCB1bF9kZWJ1ZygiXHQ+Pj4+IG9mZj0lanUsIHJlYWwtb2ZmPSVqdSAocHJvYmUgPCVqdS4uJWp1PiwgbGVuPSVqdSIsCisJCQkJb2ZmLCByZWFsX29mZiwgcHItPm9mZiwgcHItPm9mZiArIHByLT5zaXplLCBsZW4pKTsKKwkqLworCisJaWYgKHByLT5zaXplID09IDApIHsKKwkJZXJybm8gPSBFSU5WQUw7CisJCXJldHVybiBOVUxMOworCX0KKworCWlmIChsZW4gPT0gMCB8fCAoIVNfSVNDSFIocHItPm1vZGUpICYmIHByLT5vZmYgKyBwci0+c2l6ZSA8IHJlYWxfb2ZmICsgbGVuKSkgeworCQlEQkcoQlVGRkVSLCB1bF9kZWJ1ZygiXHQgIGlnbm9yZTogcmVxdWVzdCBvdXQgb2YgcHJvYmluZyBhcmVhIikpOworCQllcnJubyA9IDA7CisJCXJldHVybiBOVUxMOworCX0KKworCWlmIChwci0+cGFyZW50ICYmCisJICAgIHByLT5wYXJlbnQtPmRldm5vID09IHByLT5kZXZubyAmJgorCSAgICBwci0+cGFyZW50LT5vZmYgPD0gcHItPm9mZiAmJgorCSAgICBwci0+cGFyZW50LT5vZmYgKyBwci0+cGFyZW50LT5zaXplID49IHByLT5vZmYgKyBwci0+c2l6ZSkgeworCQkvKgorCQkgKiBUaGlzIGlzIGEgY2xvbmVkIHByb2JlciBhbmQgcG9pbnRzIHRvIHRoZSBzYW1lIGFyZWEgYXMKKwkJICogcGFyZW50LiBMZXQncyB1c2UgcGFyZW50J3MgYnVmZmVycy4KKwkJICoKKwkJICogTm90ZSB0aGF0IHByLT5vZmYgKGFuZCBwci0+cGFyZW50LT5vZmYpIGlzIGFsd2F5cyBmcm9tIHRoZQorCQkgKiBiZWdpbiBvZiB0aGUgZGV2aWNlLgorCQkgKi8KKwkJcmV0dXJuIGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHItPnBhcmVudCwKKwkJCQlwci0+b2ZmICsgb2ZmIC0gcHItPnBhcmVudC0+b2ZmLCBsZW4pOworCX0KKworCS8qIHRyeSBidWZmZXJzIHdlIGFscmVhZHkgaGF2ZSBpbiBtZW1vcnkgb3IgcmVhZCBmcm9tIGRldmljZSAqLworCWJmID0gZ2V0X2NhY2hlZF9idWZmZXIocHIsIG9mZiwgbGVuKTsKKwlpZiAoIWJmKSB7CisJCWJmID0gcmVhZF9idWZmZXIocHIsIHJlYWxfb2ZmLCBsZW4pOworCQlpZiAoIWJmKQorCQkJcmV0dXJuIE5VTEw7CisKKwkJbGlzdF9hZGRfdGFpbCgmYmYtPmJ1ZnMsICZwci0+YnVmZmVycyk7CisJfQorCisJYXNzZXJ0KGJmLT5vZmYgPD0gcmVhbF9vZmYpOworCWFzc2VydChiZi0+b2ZmICsgYmYtPmxlbiA+PSByZWFsX29mZiArIGxlbik7CisKKwllcnJubyA9IDA7CisJcmV0dXJuIHJlYWxfb2ZmID8gYmYtPmRhdGEgKyAocmVhbF9vZmYgLSBiZi0+b2ZmKSA6IGJmLT5kYXRhOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcnM6CisgKiBAcHI6IHByb2JlcgorICoKKyAqIGxpYmJsa2lkIHJldXNlIGFsbCBhbHJlYWR5IHJlYWQgYnVmZmVycyBmcm9tIHRoZSBkZXZpY2UuIFRoZSBidWZmZXJlcyBtYXkgYmUKKyAqIG1vZGlmaWVkIGJ5IGJsa2lkX3Byb2JlX2hpZGVfcmFuZ2UoKS4gVGhpcyBmdW5jdGlvbiByZXNldCBhbmQgZnJlZSBhbGwKKyAqIGNhY2hlZCBidWZmZXJlcy4gVGhlIG5leHQgYmxraWRfZG9fcHJvYmUoKSB3aWxsIHJlYWQgYWxsIGRhdGEgZnJvbSB0aGUKKyAqIGRldmljZS4KKyAqCisgKiBSZXR1cm5zOiA8MCBpbiBjYXNlIG9mIGZhaWx1cmUsIG9yIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IGJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcnMoYmxraWRfcHJvYmUgcHIpCit7CisJdWludDY0X3QgY3QgPSAwLCBsZW4gPSAwOworCisJcHItPmZsYWdzICY9IH5CTEtJRF9GTF9NT0RJRl9CVUZGOworCisJaWYgKGxpc3RfZW1wdHkoJnByLT5idWZmZXJzKSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoQlVGRkVSLCB1bF9kZWJ1ZygiUmVzZXR0aW5nIHByb2JpbmcgYnVmZmVycyIpKTsKKworCXdoaWxlICghbGlzdF9lbXB0eSgmcHItPmJ1ZmZlcnMpKSB7CisJCXN0cnVjdCBibGtpZF9idWZpbmZvICpiZiA9IGxpc3RfZW50cnkocHItPmJ1ZmZlcnMubmV4dCwKKwkJCQkJCXN0cnVjdCBibGtpZF9idWZpbmZvLCBidWZzKTsKKwkJY3QrKzsKKwkJbGVuICs9IGJmLT5sZW47CisJCWxpc3RfZGVsKCZiZi0+YnVmcyk7CisKKwkJREJHKEJVRkZFUiwgdWxfZGVidWcoIiByZW1vdmUgYnVmZmVyOiBbb2ZmPSUiUFJJdTY0IiwgbGVuPSUiUFJJdTY0Il0iLAorCQkgICAgICAgICAgICAgICAgICAgICBiZi0+b2ZmLCBiZi0+bGVuKSk7CisJCWZyZWUoYmYpOworCX0KKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIiBidWZmZXJzIHN1bW1hcnk6ICUiUFJJdTY0IiBieXRlcyBieSAlIlBSSXU2NCIgcmVhZCgpIGNhbGxzIiwKKwkJCWxlbiwgY3QpKTsKKworCUlOSVRfTElTVF9IRUFEKCZwci0+YnVmZmVycyk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9oaWRlX3JhbmdlOgorICogQHByOiBwcm9iZXIKKyAqIEBvZmY6IHN0YXJ0IG9mIHRoZSByYW5nZQorICogQGxlbjogc2l6ZSBvZiB0aGUgcmFuZ2UKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG1vZGlmaWVzIGluLW1lbW9yeSBjYWNoZWQgZGF0YSBmcm9tIHRoZSBkZXZpY2UuIFRoZSBzcGVjaWZpZWQKKyAqIHJhbmdlIGlzIHplcm9pemVkLiBUaGlzIGlzIHVzYWJsZSB0b2dldGhlciB3aXRoIGJsa2lkX3Byb2JlX3N0ZXBfYmFjaygpLgorICogVGhlIG5leHQgYmxraWRfZG9fcHJvYmUoKSB3aWxsIG5vdCBzZWUgc3BlY2lmaWVkIGFyZWEuCisgKgorICogTm90ZSB0aGF0IHRoaXMgaXMgdXNhYmxlIGZvciBhbHJlYWR5IChieSBsaWJyYXJ5KSByZWFkIGRhdGEsIGFuZCB0aGlzCisgKiBmdW5jdGlvbiBpcyBub3QgYSB3YXkgaG93IHRvIGhpZGUgYW55IGxhcmdlIGFyZWFzIG9uIHlvdXIgZGV2aWNlLgorICoKKyAqIFRoZSBmdW5jdGlvbiBibGtpZF9wcm9iZV9yZXNldF9idWZmZXJzKCkgcmV2ZXJ0cyBhbGwuCisgKgorICogUmV0dXJuczogPDAgaW4gY2FzZSBvZiBmYWlsdXJlLCBvciAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBibGtpZF9wcm9iZV9oaWRlX3JhbmdlKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IGxlbikKK3sKKwlpbnQgcmMgPSBoaWRlX2J1ZmZlcihwciwgb2ZmLCBsZW4pOworCisJaWYgKHJjID09IDApCisJCXByLT5mbGFncyB8PSBCTEtJRF9GTF9NT0RJRl9CVUZGOworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgYmxraWRfcHJvYmVfcmVzZXRfdmFsdWVzKGJsa2lkX3Byb2JlIHByKQoreworCWlmIChsaXN0X2VtcHR5KCZwci0+dmFsdWVzKSkKKwkJcmV0dXJuOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicmVzZXR0aW5nIHJlc3VsdHMiKSk7CisKKwl3aGlsZSAoIWxpc3RfZW1wdHkoJnByLT52YWx1ZXMpKSB7CisJCXN0cnVjdCBibGtpZF9wcnZhbCAqdiA9IGxpc3RfZW50cnkocHItPnZhbHVlcy5uZXh0LAorCQkJCQkJc3RydWN0IGJsa2lkX3BydmFsLCBwcnZhbHMpOworCQlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZwci0+dmFsdWVzKTsKK30KKworLyoKKyAqIFNtYWxsIGRldmljZXMgbmVlZCBhIHNwZWNpYWwgY2FyZS4KKyAqLworaW50IGJsa2lkX3Byb2JlX2lzX3RpbnkoYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIChwci0+ZmxhZ3MgJiBCTEtJRF9GTF9USU5ZX0RFVik7Cit9CisKKy8qCisgKiBDRFJPTXMgbWF5IGZhaWwgd2hlbiBwcm9iZWQgZm9yIFJBSUQgKGxhc3Qgc2VjdG9yIHByb2JsZW0pCisgKi8KK2ludCBibGtpZF9wcm9iZV9pc19jZHJvbShibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gKHByLT5mbGFncyAmIEJMS0lEX0ZMX0NEUk9NX0RFVik7Cit9CisKKyNpZmRlZiBDRFJPTV9HRVRfQ0FQQUJJTElUWQorCitzdGF0aWMgaW50IGlzX3NlY3Rvcl9yZWFkYWJsZShpbnQgZmQsIHVpbnQ2NF90IHNlY3RvcikKK3sKKwljaGFyIGJ1Zls1MTJdOworCXNzaXplX3Qgc3o7CisKKwlpZiAoYmxraWRfbGxzZWVrKGZkLCBzZWN0b3IgKiA1MTIsIFNFRUtfU0VUKSA8IDApCisJCWdvdG8gZmFpbGVkOworCisJc3ogPSByZWFkKGZkLCBidWYsIHNpemVvZihidWYpKTsKKwlpZiAoc3ogIT0gKHNzaXplX3QpIHNpemVvZihidWYpKQorCQlnb3RvIGZhaWxlZDsKKworCXJldHVybiAxOworZmFpbGVkOgorCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIkNEUk9NOiByZWFkIHNlY3RvciAlIlBSSXU2NCIgZmFpbGVkICVtIiwgc2VjdG9yKSk7CisJZXJybm8gPSAwOworCXJldHVybiAwOworfQorCisvKgorICogTGludXgga2VybmVsIHJlcG9ydHMgKEJMS0dFVFNJWkUpIGNkcm9tIGRldmljZSBzaXplIGdyZWF0ZXIgdGhhbiBhcmVhCisgKiByZWFkYWJsZSBieSByZWFkKDIpLiBXZSBoYXZlIHRvIHJlZHVjZSB0aGUgcHJvYmluZyBhcmVhIHRvIGF2b2lkIHVud2FudGVkCisgKiBJL08gZXJyb3JzIGluIHByb2JpbmcgZnVuY3Rpb25zLiBJdCBzZWVtcyB0aGF0IHVucmVhZGFibGUgYXJlIGFsd2F5cyBsYXN0IDIKKyAqIG9yIDMgQ0QgYmxvY2tzIChDRCBibG9jayBzaXplIGlzIDIwNDggYnl0ZXMsIGl0IG1lYW5zIDEyIGluIDUxMi1ieXRlCisgKiBzZWN0b3JzKS4KKyAqLworc3RhdGljIHZvaWQgY2Ryb21fc2l6ZV9jb3JyZWN0aW9uKGJsa2lkX3Byb2JlIHByKQoreworCXVpbnQ2NF90IG4sIG5zZWN0b3JzID0gcHItPnNpemUgPj4gOTsKKworCWZvciAobiA9IG5zZWN0b3JzIC0gMTI7IG4gPCBuc2VjdG9yczsgbisrKSB7CisJCWlmICghaXNfc2VjdG9yX3JlYWRhYmxlKHByLT5mZCwgbikpCisJCQlnb3RvIGZhaWxlZDsKKwl9CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJDRFJPTTogZnVsbCBzaXplIGF2YWlsYWJsZSIpKTsKKwlyZXR1cm47CitmYWlsZWQ6CisJLyogJ24nIGlzIHRoZSBmYWlsZWQgc2VjdG9yLCByZWR1Y2UgZGV2aWNlIHNpemUgdG8gbi0xOyAqLworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIkNEUk9NOiByZWR1Y2Ugc2l6ZSBmcm9tICVqdSB0byAlanUuIiwKKwkJCQkodWludG1heF90KSBwci0+c2l6ZSwKKwkJCQkodWludG1heF90KSBuIDw8IDkpKTsKKwlwci0+c2l6ZSA9IG4gPDwgOTsKK30KKworI2VuZGlmCisKKy8qKgorICogYmxraWRfcHJvYmVfc2V0X2RldmljZToKKyAqIEBwcjogcHJvYmUKKyAqIEBmZDogZGV2aWNlIGZpbGUgZGVzY3JpcHRvcgorICogQG9mZjogYmVnaW4gb2YgcHJvYmluZyBhcmVhCisgKiBAc2l6ZTogc2l6ZSBvZiBwcm9iaW5nIGFyZWEgKHplcm8gbWVhbnMgd2hvbGUgZGV2aWNlL2ZpbGUpCisgKgorICogQXNzaWducyB0aGUgZGV2aWNlIHRvIHByb2JlIGNvbnRyb2wgc3RydWN0LCByZXNldHMgaW50ZXJuYWwgYnVmZmVycyBhbmQKKyAqIHJlc2V0cyB0aGUgY3VycmVudCBwcm9iaW5nLgorICoKKyAqIFJldHVybnM6IC0xIGluIGNhc2Ugb2YgZmFpbHVyZSwgb3IgMCBvbiBzdWNjZXNzLgorICovCitpbnQgYmxraWRfcHJvYmVfc2V0X2RldmljZShibGtpZF9wcm9iZSBwciwgaW50IGZkLAorCQlibGtpZF9sb2ZmX3Qgb2ZmLCBibGtpZF9sb2ZmX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzYjsKKwl1aW50NjRfdCBkZXZzaXogPSAwOworCWNoYXIgKmRtX3V1aWQgPSBOVUxMOworCisJYmxraWRfcmVzZXRfcHJvYmUocHIpOworCWJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcnMocHIpOworCisJaWYgKChwci0+ZmxhZ3MgJiBCTEtJRF9GTF9QUklWQVRFX0ZEKSAmJiBwci0+ZmQgPj0gMCkKKwkJY2xvc2UocHItPmZkKTsKKworCXByLT5mbGFncyAmPSB+QkxLSURfRkxfUFJJVkFURV9GRDsKKwlwci0+ZmxhZ3MgJj0gfkJMS0lEX0ZMX1RJTllfREVWOworCXByLT5mbGFncyAmPSB+QkxLSURfRkxfQ0RST01fREVWOworCXByLT5wcm9iX2ZsYWdzID0gMDsKKwlwci0+ZmQgPSBmZDsKKwlwci0+b2ZmID0gKHVpbnQ2NF90KSBvZmY7CisJcHItPnNpemUgPSAwOworCXByLT5kZXZubyA9IDA7CisJcHItPmRpc2tfZGV2bm8gPSAwOworCXByLT5tb2RlID0gMDsKKwlwci0+Ymxrc3N6ID0gMDsKKwlwci0+d2lwZV9vZmYgPSAwOworCXByLT53aXBlX3NpemUgPSAwOworCXByLT53aXBlX2NoYWluID0gTlVMTDsKKworI2lmIGRlZmluZWQoUE9TSVhfRkFEVl9SQU5ET00pICYmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKQorCS8qIERpc2FibGUgcmVhZC1haGVhZCAqLworCXBvc2l4X2ZhZHZpc2UoZmQsIDAsIDAsIFBPU0lYX0ZBRFZfUkFORE9NKTsKKyNlbmRpZgorCWlmIChmc3RhdChmZCwgJnNiKSkKKwkJZ290byBlcnI7CisKKwlpZiAoIVNfSVNCTEsoc2Iuc3RfbW9kZSkgJiYgIVNfSVNDSFIoc2Iuc3RfbW9kZSkgJiYgIVNfSVNSRUcoc2Iuc3RfbW9kZSkpIHsKKwkJZXJybm8gPSBFSU5WQUw7CisJCWdvdG8gZXJyOworCX0KKworCXByLT5tb2RlID0gc2Iuc3RfbW9kZTsKKwlpZiAoU19JU0JMSyhzYi5zdF9tb2RlKSB8fCBTX0lTQ0hSKHNiLnN0X21vZGUpKQorCQlwci0+ZGV2bm8gPSBzYi5zdF9yZGV2OworCisJaWYgKFNfSVNCTEsoc2Iuc3RfbW9kZSkpIHsKKwkJaWYgKGJsa2Rldl9nZXRfc2l6ZShmZCwgKHVuc2lnbmVkIGxvbmcgbG9uZyAqKSAmZGV2c2l6KSkgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiZmFpbGVkIHRvIGdldCBkZXZpY2Ugc2l6ZSIpKTsKKwkJCWdvdG8gZXJyOworCQl9CisJfSBlbHNlIGlmIChTX0lTQ0hSKHNiLnN0X21vZGUpKQorCQlkZXZzaXogPSAxOwkJLyogVUJJIGRldmljZXMgYXJlIGNoYXIuLi4gKi8KKwllbHNlIGlmIChTX0lTUkVHKHNiLnN0X21vZGUpKQorCQlkZXZzaXogPSBzYi5zdF9zaXplOwkvKiByZWd1bGFyIGZpbGUgKi8KKworCXByLT5zaXplID0gc2l6ZSA/ICh1aW50NjRfdClzaXplIDogZGV2c2l6OworCisJaWYgKG9mZiAmJiBzaXplID09IDApCisJCS8qIG9ubHkgb2Zmc2V0IHdpdGhvdXQgc2l6ZSBzcGVjaWZpZWQgKi8KKwkJcHItPnNpemUgLT0gKHVpbnQ2NF90KSBvZmY7CisKKwlpZiAocHItPm9mZiArIHByLT5zaXplID4gZGV2c2l6KSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImFyZWEgc3BlY2lmaWVkIGJ5IG9mZnNldCBhbmQgc2l6ZSBpcyBiaWdnZXIgdGhhbiBkZXZpY2UiKSk7CisJCWVycm5vID0gRUlOVkFMOworCQlnb3RvIGVycjsKKwl9CisKKwlpZiAocHItPnNpemUgPD0gMTQ0MCAqIDEwMjQgJiYgIVNfSVNDSFIoc2Iuc3RfbW9kZSkpCisJCXByLT5mbGFncyB8PSBCTEtJRF9GTF9USU5ZX0RFVjsKKworCWlmIChTX0lTQkxLKHNiLnN0X21vZGUpICYmCisJICAgIHN5c2ZzX2Rldm5vX2lzX2RtX3ByaXZhdGUoc2Iuc3RfcmRldiwgJmRtX3V1aWQpKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImlnbm9yZSBwcml2YXRlIGRldmljZSBtYXBwZXIgZGV2aWNlIikpOworCQlwci0+ZmxhZ3MgfD0gQkxLSURfRkxfTk9TQ0FOX0RFVjsKKwl9CisKKyNpZmRlZiBDRFJPTV9HRVRfQ0FQQUJJTElUWQorCWVsc2UgaWYgKFNfSVNCTEsoc2Iuc3RfbW9kZSkgJiYKKwkgICAgIWJsa2lkX3Byb2JlX2lzX3RpbnkocHIpICYmCisJICAgICFkbV91dWlkICYmCisJICAgIGJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikgJiYKKwkgICAgaW9jdGwoZmQsIENEUk9NX0dFVF9DQVBBQklMSVRZLCBOVUxMKSA+PSAwKSB7CisKKwkJcHItPmZsYWdzIHw9IEJMS0lEX0ZMX0NEUk9NX0RFVjsKKwkJY2Ryb21fc2l6ZV9jb3JyZWN0aW9uKHByKTsKKwl9CisjZW5kaWYKKwlmcmVlKGRtX3V1aWQpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicmVhZHkgZm9yIGxvdy1wcm9iaW5nLCBvZmZzZXQ9JSJQUkl1NjQiLCBzaXplPSUiUFJJdTY0IiIsCisJCQkJcHItPm9mZiwgcHItPnNpemUpKTsKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJ3aG9sZS1kaXNrOiAlcywgcmVnZmlsZTogJXMiLAorCQlibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpID8iWUVTIiA6ICJOTyIsCisJCVNfSVNSRUcocHItPm1vZGUpID8gIllFUyIgOiAiTk8iKSk7CisKKwlyZXR1cm4gMDsKK2VycjoKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJmYWlsZWQgdG8gcHJlcGFyZSBhIGRldmljZSBmb3IgbG93LXByb2JpbmciKSk7CisJcmV0dXJuIC0xOworCit9CisKK2ludCBibGtpZF9wcm9iZV9nZXRfZGltZW5zaW9uKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCAqb2ZmLCB1aW50NjRfdCAqc2l6ZSkKK3sKKwkqb2ZmID0gcHItPm9mZjsKKwkqc2l6ZSA9IHByLT5zaXplOworCXJldHVybiAwOworfQorCitpbnQgYmxraWRfcHJvYmVfc2V0X2RpbWVuc2lvbihibGtpZF9wcm9iZSBwciwgdWludDY0X3Qgb2ZmLCB1aW50NjRfdCBzaXplKQoreworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJCSJjaGFuZ2luZyBwcm9iaW5nIGFyZWE6IHNpemU9JSJQUkl1NjQiLCBvZmY9JSJQUkl1NjQiICIKKwkJIi10by0+IHNpemU9JSJQUkl1NjQiLCBvZmY9JSJQUkl1NjQiIiwKKwkJcHItPnNpemUsIHByLT5vZmYsIHNpemUsIG9mZikpOworCisJcHItPm9mZiA9IG9mZjsKKwlwci0+c2l6ZSA9IHNpemU7CisJcHItPmZsYWdzICY9IH5CTEtJRF9GTF9USU5ZX0RFVjsKKworCWlmIChwci0+c2l6ZSA8PSAxNDQwVUxMICogMTAyNFVMTCAmJiAhU19JU0NIUihwci0+bW9kZSkpCisJCXByLT5mbGFncyB8PSBCTEtJRF9GTF9USU5ZX0RFVjsKKworCWJsa2lkX3Byb2JlX3Jlc2V0X2J1ZmZlcnMocHIpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDaGVjayBmb3IgbWF0Y2hpbmcgbWFnaWMgdmFsdWUuCisgKiBSZXR1cm5zIEJMS0lEX1BST0JFX09LIGlmIGZvdW5kLCBCTEtJRF9QUk9CRV9OT05FIGlmIG5vdCBmb3VuZAorICogb3Igbm8gbWFnaWMgcHJlc2VudCwgb3IgbmVnYXRpdmUgdmFsdWUgb24gZXJyb3IuCisgKi8KK2ludCBibGtpZF9wcm9iZV9nZXRfaWRtYWcoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkLAorCQkJdWludDY0X3QgKm9mZnNldCwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICoqcmVzKQoreworCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnID0gTlVMTDsKKwl1aW50NjRfdCBvZmYgPSAwOworCisJaWYgKGlkKQorCQltYWcgPSAmaWQtPm1hZ2ljc1swXTsKKwlpZiAocmVzKQorCQkqcmVzID0gTlVMTDsKKworCS8qIHRyeSB0byBkZXRlY3QgYnkgbWFnaWMgc3RyaW5nICovCisJd2hpbGUobWFnICYmIG1hZy0+bWFnaWMpIHsKKwkJdW5zaWduZWQgY2hhciAqYnVmOworCisJCW9mZiA9IChtYWctPmtib2ZmICsgKG1hZy0+c2JvZmYgPj4gMTApKSA8PCAxMDsKKwkJYnVmID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgb2ZmLCAxMDI0KTsKKworCQlpZiAoIWJ1ZiAmJiBlcnJubykKKwkJCXJldHVybiAtZXJybm87CisKKwkJaWYgKGJ1ZiAmJiAhbWVtY21wKG1hZy0+bWFnaWMsCisJCQkJYnVmICsgKG1hZy0+c2JvZmYgJiAweDNmZiksIG1hZy0+bGVuKSkgeworCisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJcdG1hZ2ljIHNib2ZmPSV1LCBrYm9mZj0lbGQiLAorCQkJCW1hZy0+c2JvZmYsIG1hZy0+a2JvZmYpKTsKKwkJCWlmIChvZmZzZXQpCisJCQkJKm9mZnNldCA9IG9mZiArIChtYWctPnNib2ZmICYgMHgzZmYpOworCQkJaWYgKHJlcykKKwkJCQkqcmVzID0gbWFnOworCQkJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCQl9CisJCW1hZysrOworCX0KKworCWlmIChpZCAmJiBpZC0+bWFnaWNzWzBdLm1hZ2ljKQorCQkvKiBtYWdpYyBzdHJpbmcocykgZGVmaW5lZCwgYnV0IG5vdCBmb3VuZCAqLworCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGJsa2lkX3Byb2JlX3N0YXJ0KGJsa2lkX3Byb2JlIHByKQoreworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInN0YXJ0IHByb2JlIikpOworCXByLT5jdXJfY2hhaW4gPSBOVUxMOworCXByLT5wcm9iX2ZsYWdzID0gMDsKKwlibGtpZF9wcm9iZV9zZXRfd2lwZXIocHIsIDAsIDApOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgYmxraWRfcHJvYmVfZW5kKGJsa2lkX3Byb2JlIHByKQoreworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImVuZCBwcm9iZSIpKTsKKwlwci0+Y3VyX2NoYWluID0gTlVMTDsKKwlwci0+cHJvYl9mbGFncyA9IDA7CisJYmxraWRfcHJvYmVfc2V0X3dpcGVyKHByLCAwLCAwKTsKK30KKworLyoqCisgKiBibGtpZF9kb19wcm9iZToKKyAqIEBwcjogcHJvYmVyCisgKgorICogQ2FsbHMgcHJvYmluZyBmdW5jdGlvbnMgaW4gYWxsIGVuYWJsZWQgY2hhaW5zLiBUaGUgc3VwZXJibG9ja3MgY2hhaW4gaXMKKyAqIGVuYWJsZWQgYnkgZGVmYXVsdC4gVGhlIGJsa2lkX2RvX3Byb2JlKCkgc3RvcmVzIHJlc3VsdCBmcm9tIG9ubHkgb25lCisgKiBwcm9iaW5nIGZ1bmN0aW9uLiBJdCdzIG5lY2Vzc2FyeSB0byBjYWxsIHRoaXMgcm91dGluZSBpbiBhIGxvb3AgdG8gZ2V0CisgKiByZXN1bHRzIGZyb20gYWxsIHByb2JpbmcgZnVuY3Rpb25zIGluIGFsbCBjaGFpbnMuIFRoZSBwcm9iaW5nIGlzIHJlc2V0CisgKiBieSBibGtpZF9yZXNldF9wcm9iZSgpIG9yIGJ5IGZpbHRlciBmdW5jdGlvbnMuCisgKgorICogVGhpcyBpcyBzdHJpbmctYmFzZWQgTkFNRT12YWx1ZSBpbnRlcmZhY2Ugb25seS4KKyAqCisgKiA8ZXhhbXBsZT4KKyAqICAgPHRpdGxlPmJhc2ljIGNhc2UgLSB1c2UgdGhlIGZpcnN0IHJlc3VsdCBvbmx5PC90aXRsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICoJaWYgKGJsa2lkX2RvX3Byb2JlKHByKSA9PSAwKSB7CisgKgkJaW50IG52YWxzID0gYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzKHByKTsKKyAqCQlmb3IgKG4gPSAwOyBuIDwgbnZhbHM7IG4rKykgeworICoJCQlpZiAoYmxraWRfcHJvYmVfZ2V0X3ZhbHVlKHByLCBuLCAmbmFtZSwgJmRhdGEsICZsZW4pID09IDApCisgKgkJCQlwcmludGYoIiVzID0gJXNcbiIsIG5hbWUsIGRhdGEpOworICoJCX0KKyAqCX0KKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9leGFtcGxlPgorICoKKyAqIDxleGFtcGxlPgorICogICA8dGl0bGU+YWR2YW5jZWQgY2FzZSAtIHByb2JlIGZvciBhbGwgc2lnbmF0dXJlczwvdGl0bGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCXdoaWxlIChibGtpZF9kb19wcm9iZShwcikgPT0gMCkgeworICoJCWludCBudmFscyA9IGJsa2lkX3Byb2JlX251bW9mX3ZhbHVlcyhwcik7CisgKgkJLi4uCisgKgl9CisgKiAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvZXhhbXBsZT4KKyAqCisgKiBTZWUgYWxzbyBibGtpZF9yZXNldF9wcm9iZSgpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIHByb2JpbmcgaXMgZG9uZSBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX2RvX3Byb2JlKGJsa2lkX3Byb2JlIHByKQoreworCWludCByYyA9IDE7CisKKwlpZiAocHItPmZsYWdzICYgQkxLSURfRkxfTk9TQ0FOX0RFVikKKwkJcmV0dXJuIDE7CisKKwlkbyB7CisJCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gcHItPmN1cl9jaGFpbjsKKworCQlpZiAoIWNobikgeworCQkJYmxraWRfcHJvYmVfc3RhcnQocHIpOworCQkJY2huID0gcHItPmN1cl9jaGFpbiA9ICZwci0+Y2hhaW5zWzBdOworCQl9CisJCS8qIHdlIGdvIHRvIHRoZSBuZXh0IGNoYWluIG9ubHkgd2hlbiB0aGUgcHJldmlvdXMgcHJvYmluZworCQkgKiByZXN1bHQgd2FzIG5vdGhpbmcgKHJjID09IDEpIGFuZCB3aGVuIHRoZSBjdXJyZW50IGNoYWluIGlzCisJCSAqIGRpc2FibGVkIG9yIHdlIGFyZSBhdCBlbmQgb2YgdGhlIGN1cnJlbnQgY2hhaW4gKGNoYWluLT5pZHggKworCQkgKiAxID09IHNpemVvZiBjaGFpbikgb3IgdGhlIGN1cnJlbnQgY2hhaW4gYmFpbGVkIG91dCByaWdodCBhdAorCQkgKiB0aGUgc3RhcnQgKGNoYWluLT5pZHggPT0gLTEpCisJCSAqLworCQllbHNlIGlmIChyYyA9PSAxICYmIChjaG4tPmVuYWJsZWQgPT0gRkFMU0UgfHwKKwkJCQkgICAgIGNobi0+aWR4ICsgMSA9PSAoaW50KSBjaG4tPmRyaXZlci0+bmlkaW5mb3MgfHwKKwkJCQkgICAgIGNobi0+aWR4ID09IC0xKSkgeworCisJCQlzaXplX3QgaWR4ID0gY2huLT5kcml2ZXItPmlkICsgMTsKKworCQkJaWYgKGlkeCA8IEJMS0lEX05DSEFJTlMpCisJCQkJY2huID0gcHItPmN1cl9jaGFpbiA9ICZwci0+Y2hhaW5zW2lkeF07CisJCQllbHNlIHsKKwkJCQlibGtpZF9wcm9iZV9lbmQocHIpOworCQkJCXJldHVybiAxOwkvKiBhbGwgY2hhaW5zIGFscmVhZHkgcHJvYmVkICovCisJCQl9CisJCX0KKworCQljaG4tPmJpbmFyeSA9IEZBTFNFOwkJLyogZm9yIHN1cmUuLi4gKi8KKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJjaGFpbiBwcm9iZSAlcyAlcyAoaWR4PSVkKSIsCisJCQkJY2huLT5kcml2ZXItPm5hbWUsCisJCQkJY2huLT5lbmFibGVkPyAiRU5BQkxFRCIgOiAiRElTQUJMRUQiLAorCQkJCWNobi0+aWR4KSk7CisKKwkJaWYgKCFjaG4tPmVuYWJsZWQpCisJCQljb250aW51ZTsKKworCQkvKiByYzogLTEgPSBlcnJvciwgMCA9IHN1Y2Nlc3MsIDEgPSBubyByZXN1bHQgKi8KKwkJcmMgPSBjaG4tPmRyaXZlci0+cHJvYmUocHIsIGNobik7CisKKwl9IHdoaWxlIChyYyA9PSAxKTsKKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBibGtpZF9kb193aXBlOgorICogQHByOiBwcm9iZXIKKyAqIEBkcnlydW46IGlmIFRSVUUgdGhlbiBkb24ndCB0b3VjaCB0aGUgZGV2aWNlLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZXJhc2VzIHRoZSBjdXJyZW50IHNpZ25hdHVyZSBkZXRlY3RlZCBieSBAcHIuIFRoZSBAcHIgaGFzIHRvCisgKiBiZSBvcGVuIGluIE9fUkRXUiBtb2RlLCBCTEtJRF9TVUJMS1NfTUFHSUMgb3IvYW5kIEJMS0lEX1BBUlRTX01BR0lDIGZsYWdzCisgKiBoYXMgdG8gYmUgZW5hYmxlZCAoaWYgeW91IHdhbnQgdG8gZXJhc2UgYWxzbyBzdXBlcmJsb2NrIHdpdGggYnJva2VuIGNoZWNrCisgKiBzdW1zIHRoZW4gdXNlIEJMS0lEX1NVQkxLU19CQURDU1VNIHRvbykuCisgKgorICogQWZ0ZXIgc3VjY2Vzc2Z1bCBzaWduYXR1cmUgcmVtb3ZpbmcgdGhlIEBwciBwcm9iZXIgd2lsbCBiZSBtb3ZlZCBvbmUgc3RlcAorICogYmFjayBhbmQgdGhlIG5leHQgYmxraWRfZG9fcHJvYmUoKSBjYWxsIHdpbGwgYWdhaW4gY2FsbCBwcmV2aW91c2x5IGNhbGxlZAorICogcHJvYmluZyBmdW5jdGlvbi4gQWxsIGluLW1lbW9yeSBjYWNoZWQgZGF0YSBmcm9tIHRoZSBkZXZpY2UgYXJlIGFsd2F5cworICogcmVzZXQuCisgKgorICogIDxleGFtcGxlPgorICogIDx0aXRsZT53aXBlIGFsbCBmaWxlc3lzdGVtcyBvciByYWlkcyBmcm9tIHRoZSBkZXZpY2U8L3RpdGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKiAgICAgIGZkID0gb3BlbihkZXZuYW1lLCBPX1JEV1J8T19DTE9FWEVDKTsKKyAqICAgICAgYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgZmQsIDAsIDApOworICoKKyAqICAgICAgYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKHByLCAxKTsKKyAqICAgICAgYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLCBCTEtJRF9TVUJMS1NfTUFHSUMpOworICoKKyAqCXdoaWxlIChibGtpZF9kb19wcm9iZShwcikgPT0gMCkKKyAqCQlibGtpZF9kb193aXBlKHByLCBGQUxTRSk7CisgKiAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvZXhhbXBsZT4KKyAqCisgKiBTZWUgYWxzbyBibGtpZF9wcm9iZV9zdGVwX2JhY2soKSBpZiB5b3UgY2Fubm90IHVzZSB0aGlzIGJ1aWxkLWluIHdpcGUKKyAqIGZ1bmN0aW9uLCBidXQgeW91IHdhbnQgdG8gdXNlIGxpYmJsa2lkIHByb2JpbmcgYXMgYSBzb3VyY2UgZm9yIHdpcGluZy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIGFuZCAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfZG9fd2lwZShibGtpZF9wcm9iZSBwciwgaW50IGRyeXJ1bikKK3sKKwljb25zdCBjaGFyICpvZmYgPSBOVUxMOworCXNpemVfdCBsZW4gPSAwOworCXVpbnQ2NF90IG9mZnNldCwgbWFnb2ZmLCBsOworCWNoYXIgYnVmW0JVRlNJWl07CisJaW50IGZkLCByYyA9IDA7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG47CisKKwljaG4gPSBwci0+Y3VyX2NoYWluOworCWlmICghY2huKQorCQlyZXR1cm4gLTE7CisKKwlzd2l0Y2ggKGNobi0+ZHJpdmVyLT5pZCkgeworCWNhc2UgQkxLSURfQ0hBSU5fU1VCTEtTOgorCQlyYyA9IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlNCTUFHSUNfT0ZGU0VUIiwgJm9mZiwgTlVMTCk7CisJCWlmICghcmMpCisJCQlyYyA9IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlNCTUFHSUMiLCBOVUxMLCAmbGVuKTsKKwkJYnJlYWs7CisJY2FzZSBCTEtJRF9DSEFJTl9QQVJUUzoKKwkJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVE1BR0lDX09GRlNFVCIsICZvZmYsIE5VTEwpOworCQlpZiAoIXJjKQorCQkJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVE1BR0lDIiwgTlVMTCwgJmxlbik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAwOworCX0KKworCWlmIChyYyB8fCBsZW4gPT0gMCB8fCBvZmYgPT0gTlVMTCkKKwkJcmV0dXJuIDA7CisKKwltYWdvZmYgPSBzdHJ0b3VtYXgob2ZmLCBOVUxMLCAxMCk7CisJb2Zmc2V0ID0gbWFnb2ZmICsgcHItPm9mZjsKKwlmZCA9IGJsa2lkX3Byb2JlX2dldF9mZChwcik7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIC0xOworCisJaWYgKGxlbiA+IHNpemVvZihidWYpKQorCQlsZW4gPSBzaXplb2YoYnVmKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoCisJICAgICJkb193aXBlIFtvZmZzZXQ9MHglIlBSSXg2NCIgKCUiUFJJdTY0IiksIGxlbj0lenUsIGNoYWluPSVzLCBpZHg9JWQsIGRyeXJ1bj0lc11cbiIsCisJICAgIG9mZnNldCwgb2Zmc2V0LCBsZW4sIGNobi0+ZHJpdmVyLT5uYW1lLCBjaG4tPmlkeCwgZHJ5cnVuID8gInllcyIgOiAibm90IikpOworCisJbCA9IGJsa2lkX2xsc2VlayhmZCwgb2Zmc2V0LCBTRUVLX1NFVCk7CisJaWYgKChibGtpZF9sb2ZmX3QpbCA9PSAob2ZmX3QpIC0xKQorCQlyZXR1cm4gLTE7CisKKwltZW1zZXQoYnVmLCAwLCBsZW4pOworCisJaWYgKCFkcnlydW4gJiYgbGVuKSB7CisJCS8qIHdpcGVuIG9uIGRldmljZSAqLworCQlpZiAod3JpdGVfYWxsKGZkLCBidWYsIGxlbikpCisJCQlyZXR1cm4gLTE7CisJCWZzeW5jKGZkKTsKKwkJcHItPmZsYWdzICY9IH5CTEtJRF9GTF9NT0RJRl9CVUZGOwkvKiBiZSBwYXJhbm9pZCAqLworCisJCXJldHVybiBibGtpZF9wcm9iZV9zdGVwX2JhY2socHIpOworCisJfSBlbHNlIGlmIChkcnlydW4pIHsKKwkJLyogd2lwZSBpbiBtZW1vcnkgb25seSAqLworCQlibGtpZF9wcm9iZV9oaWRlX3JhbmdlKHByLCBtYWdvZmYsIGxlbik7CisJCXJldHVybiBibGtpZF9wcm9iZV9zdGVwX2JhY2socHIpOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3N0ZXBfYmFjazoKKyAqIEBwcjogcHJvYmVyCisgKgorICogVGhpcyBmdW5jdGlvbiBtb3ZlIHBvaW50ZXIgdG8gdGhlIHByb2JpbmcgY2hhaW4gb25lIHN0ZXAgYmFjayAtLSBpdCBtZWFucworICogdGhhdCB0aGUgcHJldmlvdXNseSB1c2VkIHByb2JpbmcgZnVuY3Rpb24gd2lsbCBiZSBjYWxsZWQgYWdhaW4gaW4gdGhlIG5leHQKKyAqIGJsa2lkX2RvX3Byb2JlKCkgY2FsbC4KKyAqCisgKiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IgZXhhbXBsZSBpZiB5b3UgZXJhc2Ugb3IgbW9kaWZ5IG9uLWRpc2sgc3VwZXJibG9jaworICogYWNjb3JkaW5nIHRvIHRoZSBjdXJyZW50IGxpYmJsa2lkIHByb2JpbmcgcmVzdWx0LgorICoKKyAqIE5vdGUgdGhhdCBibGtpZF9wcm9iZV9oaWRlX3JhbmdlKCkgY2hhbmdlcyBzZW1hbnRpYyBvZiB0aGlzIGZ1bmN0aW9uIGFuZAorICogY2FjaGVkIGJ1ZmZlcmVzIGFyZSBub3QgcmVzZXQsIGJ1dCBsaWJyYXJ5IHVzZXMgaW4tbWVtb3J5IG1vZGlmaWVkCisgKiBidWZmZXJzIHRvIGNhbGwgdGhlIG5leHQgcHJvYmluZyBmdW5jdGlvbi4KKyAqCisgKiA8ZXhhbXBsZT4KKyAqICA8dGl0bGU+d2lwZSBhbGwgc3VwZXJibG9jaywgYnV0IHVzZSBsaWJibGtpZCBvbmx5IGZvciBwcm9iaW5nPC90aXRsZT4KKyAqICA8cHJvZ3JhbWxpc3Rpbmc+CisgKiAgICAgIHByID0gYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoZGV2bmFtZSk7CisgKgorICogICAgICBibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworICogICAgICBibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MocHIsIEJMS0lEX1NVQkxLU19NQUdJQyk7CisgKgorICogICAgICBibGtpZF9wcm9iZV9lbmFibGVfcGFydGl0aW9ucyhwciwgMSk7CisgKiAgICAgIGJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKHByLCBCTEtJRF9QQVJUU19NQUdJQyk7CisgKgorICoJd2hpbGUgKGJsa2lkX2RvX3Byb2JlKHByKSA9PSAwKSB7CisgKgkJY29uc3QgY2hhciAqb3N0ciA9IE5VTEw7CisgKgkJc2l6ZV90IGxlbiA9IDA7CisgKgorICoJCS8vIHN1cGVyYmxvY2tzCisgKgkJaWYgKGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlNCTUFHSUNfT0ZGU0VUIiwgJm9zdHIsIE5VTEwpID09IDApCisgKgkJCWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlNCTUFHSUMiLCBOVUxMLCAmbGVuKTsKKyAqCisgKgkJLy8gcGFydGl0aW9uIHRhYmxlcworICoJCWlmIChsZW4gPT0gMCAmJiBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVE1BR0lDX09GRlNFVCIsICZvc3RyLCBOVUxMKSA9PSAwKQorICoJCQlibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVE1BR0lDIiwgTlVMTCwgJmxlbik7CisgKgorICoJCWlmICghbGVuIHx8ICFzdHIpCisgKgkJCWNvbnRpbnVlOworICoKKyAqCQkvLyBjb252ZXJ0IG9zdHIgdG8gdGhlIHJlYWwgb2Zmc2V0IGJ5IG9mZiA9IHN0cnRvbGwob3N0ciwgTlVMTCwgMTApOworICogICAgICAgICAgICAgIC8vIHVzZSB5b3VyIHN0dWZmIHRvIGVyYXNlIEBsZW4gYnl0ZXMgYXQgdGhlIEBvZmYKKyAqICAgICAgICAgICAgICAuLi4uCisgKgorICoJCS8vIHJldHJ5IHRoZSBsYXN0IHByb2JpbmcgdG8gY2hlY2sgZm9yIGJhY2t1cCBzdXBlcmJsb2NrcyAuLmV0Yy4KKyAqICAgICAgICAgICAgICBibGtpZF9wcm9iZV9zdGVwX2JhY2socHIpOworICoJfQorICogIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2V4YW1wbGU+CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBhbmQgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX3N0ZXBfYmFjayhibGtpZF9wcm9iZSBwcikKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKworCWNobiA9IHByLT5jdXJfY2hhaW47CisJaWYgKCFjaG4pCisJCXJldHVybiAtMTsKKworCWlmICghKHByLT5mbGFncyAmIEJMS0lEX0ZMX01PRElGX0JVRkYpKQorCQlibGtpZF9wcm9iZV9yZXNldF9idWZmZXJzKHByKTsKKworCWlmIChjaG4tPmlkeCA+PSAwKSB7CisJCWNobi0+aWR4LS07CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInN0ZXAgYmFjazogbW92aW5nICVzIGNoYWluIGluZGV4IHRvICVkIiwKKwkJCWNobi0+ZHJpdmVyLT5uYW1lLAorCQkJY2huLT5pZHgpKTsKKwl9CisKKwlpZiAoY2huLT5pZHggPT0gLTEpIHsKKwkJLyogYmxraWRfZG9fcHJvYmUoKSBnb2VzIHRvIHRoZSBuZXh0IGNoYWluIGlmIHRoZSBpbmRleAorCQkgKiBvZiB0aGUgY3VycmVudCBjaGFpbiBpcyAtMSwgc28gd2UgaGF2ZSB0byBzZXQgdGhlCisJCSAqIGNoYWluIHBvaW50ZXIgdG8gdGhlIHByZXZpb3VzIGNoYWluLgorCQkgKi8KKwkJc2l6ZV90IGlkeCA9IGNobi0+ZHJpdmVyLT5pZCA+IDAgPyBjaG4tPmRyaXZlci0+aWQgLSAxIDogMDsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJzdGVwIGJhY2s6IG1vdmluZyB0byBwcmV2aW91cyBjaGFpbiIpKTsKKworCQlpZiAoaWR4ID4gMCkKKwkJCXByLT5jdXJfY2hhaW4gPSAmcHItPmNoYWluc1tpZHhdOworCQllbHNlIGlmIChpZHggPT0gMCkKKwkJCXByLT5jdXJfY2hhaW4gPSBOVUxMOworCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX2RvX3NhZmVwcm9iZToKKyAqIEBwcjogcHJvYmVyCisgKgorICogVGhpcyBmdW5jdGlvbiBnYXRoZXJzIHByb2JpbmcgcmVzdWx0cyBmcm9tIGFsbCBlbmFibGVkIGNoYWlucyBhbmQgY2hlY2tzCisgKiBmb3IgYW1iaXZhbGVudCByZXN1bHRzIChlLmcuIG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSkuCisgKgorICogVGhpcyBpcyBzdHJpbmctYmFzZWQgTkFNRT12YWx1ZSBpbnRlcmZhY2Ugb25seS4KKyAqCisgKiBOb3RlIGFib3V0IHN1cGVyYmxvY2tzIGNoYWluIC0tIHRoZSBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayBmb3IgZmlsZXN5c3RlbXMKKyAqIHdoZW4gYSBSQUlEIHNpZ25hdHVyZSBpcyBkZXRlY3RlZC4gIFRoZSBmdW5jdGlvbiBhbHNvIGRvZXMgbm90IGNoZWNrIGZvcgorICogY29sbGlzaW9uIGJldHdlZW4gUkFJRHMuIFRoZSBmaXJzdCBkZXRlY3RlZCBSQUlEIGlzIHJldHVybmVkLiBUaGUgZnVuY3Rpb24KKyAqIGNoZWNrcyBmb3IgY29sbGlzaW9uIGJldHdlZW4gcGFydGl0aW9uIHRhYmxlIGFuZCBSQUlEIHNpZ25hdHVyZSAtLSBpdCdzCisgKiByZWNvbW1lbmRlZCB0byBlbmFibGUgcGFydGl0aW9ucyBjaGFpbiB0b2dldGhlciB3aXRoIHN1cGVyYmxvY2tzIGNoYWluLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSBpZiBub3RoaW5nIGlzIGRldGVjdGVkLCAtMiBpZiBhbWJpdmFsZW50IHJlc3VsdCBpcworICogZGV0ZWN0ZWQgYW5kIC0xIG9uIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9kb19zYWZlcHJvYmUoYmxraWRfcHJvYmUgcHIpCit7CisJaW50IGksIGNvdW50ID0gMCwgcmMgPSAwOworCisJaWYgKHByLT5mbGFncyAmIEJMS0lEX0ZMX05PU0NBTl9ERVYpCisJCXJldHVybiAxOworCisJYmxraWRfcHJvYmVfc3RhcnQocHIpOworCisJZm9yIChpID0gMDsgaSA8IEJMS0lEX05DSEFJTlM7IGkrKykgeworCQlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKworCQljaG4gPSBwci0+Y3VyX2NoYWluID0gJnByLT5jaGFpbnNbaV07CisJCWNobi0+YmluYXJ5ID0gRkFMU0U7CQkvKiBmb3Igc3VyZS4uLiAqLworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImNoYWluIHNhZmVwcm9iZSAlcyAlcyIsCisJCQkJY2huLT5kcml2ZXItPm5hbWUsCisJCQkJY2huLT5lbmFibGVkPyAiRU5BQkxFRCIgOiAiRElTQUJMRUQiKSk7CisKKwkJaWYgKCFjaG4tPmVuYWJsZWQpCisJCQljb250aW51ZTsKKworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCisJCXJjID0gY2huLT5kcml2ZXItPnNhZmVwcm9iZShwciwgY2huKTsKKworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCisJCS8qIHJjOiAtMiBhbWJpdmFsZW50LCAtMSA9IGVycm9yLCAwID0gc3VjY2VzcywgMSA9IG5vIHJlc3VsdCAqLworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOwkvKiBlcnJvciAqLworCQlpZiAocmMgPT0gMCkKKwkJCWNvdW50Kys7CS8qIHN1Y2Nlc3MgKi8KKwl9CisKK2RvbmU6CisJYmxraWRfcHJvYmVfZW5kKHByKTsKKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gcmM7CisJcmV0dXJuIGNvdW50ID8gMCA6IDE7Cit9CisKKy8qKgorICogYmxraWRfZG9fZnVsbHByb2JlOgorICogQHByOiBwcm9iZXIKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGdhdGhlcnMgcHJvYmluZyByZXN1bHRzIGZyb20gYWxsIGVuYWJsZWQgY2hhaW5zLiBTYW1lIGFzCisgKiBibGtpZF9kb19zYWZlcHJvYmUoKSBidXQgZG9lcyBub3QgY2hlY2sgZm9yIGNvbGxpc2lvbiBiZXR3ZWVuIHByb2JpbmcKKyAqIHJlc3VsdC4KKyAqCisgKiBUaGlzIGlzIHN0cmluZy1iYXNlZCBOQU1FPXZhbHVlIGludGVyZmFjZSBvbmx5LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSBpZiBub3RoaW5nIGlzIGRldGVjdGVkIG9yIC0xIG9uIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9kb19mdWxscHJvYmUoYmxraWRfcHJvYmUgcHIpCit7CisJaW50IGksIGNvdW50ID0gMCwgcmMgPSAwOworCisJaWYgKHByLT5mbGFncyAmIEJMS0lEX0ZMX05PU0NBTl9ERVYpCisJCXJldHVybiAxOworCisJYmxraWRfcHJvYmVfc3RhcnQocHIpOworCisJZm9yIChpID0gMDsgaSA8IEJMS0lEX05DSEFJTlM7IGkrKykgeworCQlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKworCQljaG4gPSBwci0+Y3VyX2NoYWluID0gJnByLT5jaGFpbnNbaV07CisJCWNobi0+YmluYXJ5ID0gRkFMU0U7CQkvKiBmb3Igc3VyZS4uLiAqLworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImNoYWluIGZ1bGxwcm9iZSAlczogJXMiLAorCQkJCWNobi0+ZHJpdmVyLT5uYW1lLAorCQkJCWNobi0+ZW5hYmxlZD8gIkVOQUJMRUQiIDogIkRJU0FCTEVEIikpOworCisJCWlmICghY2huLT5lbmFibGVkKQorCQkJY29udGludWU7CisKKwkJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfcG9zaXRpb24oY2huKTsKKworCQlyYyA9IGNobi0+ZHJpdmVyLT5wcm9iZShwciwgY2huKTsKKworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF9wb3NpdGlvbihjaG4pOworCisJCS8qIHJjOiAtMSA9IGVycm9yLCAwID0gc3VjY2VzcywgMSA9IG5vIHJlc3VsdCAqLworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOwkvKiBlcnJvciAqLworCQlpZiAocmMgPT0gMCkKKwkJCWNvdW50Kys7CS8qIHN1Y2Nlc3MgKi8KKwl9CisKK2RvbmU6CisJYmxraWRfcHJvYmVfZW5kKHByKTsKKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gcmM7CisJcmV0dXJuIGNvdW50ID8gMCA6IDE7Cit9CisKKy8qIHNhbWUgc2EgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcigpIGJ1dCB3b3JrcyB3aXRoIDUxMi1zZWN0b3JzICovCit1bnNpZ25lZCBjaGFyICpibGtpZF9wcm9iZV9nZXRfc2VjdG9yKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBpbnQgc2VjdG9yKQoreworCXJldHVybiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAoKHVpbnQ2NF90KSBzZWN0b3IpIDw8IDksIDB4MjAwKTsKK30KKworc3RydWN0IGJsa2lkX3BydmFsICpibGtpZF9wcm9iZV9hc3NpZ25fdmFsdWUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGJsa2lkX3BydmFsICp2OworCisJdiA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGJsa2lkX3BydmFsKSk7CisJaWYgKCF2KQorCQlyZXR1cm4gTlVMTDsKKworCUlOSVRfTElTVF9IRUFEKCZ2LT5wcnZhbHMpOworCXYtPm5hbWUgPSBuYW1lOworCXYtPmNoYWluID0gcHItPmN1cl9jaGFpbjsKKwlsaXN0X2FkZF90YWlsKCZ2LT5wcnZhbHMsICZwci0+dmFsdWVzKTsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImFzc2lnbmluZyAlcyBbJXNdIiwgbmFtZSwgdi0+Y2hhaW4tPmRyaXZlci0+bmFtZSkpOworCXJldHVybiB2OworfQorCisvKiBOb3RlIHRoYXQgdmFsdWUgZGF0YSBpcyBhbHdheXMgdGVybWluYXRlZCBieSB6ZXJvIHRvIGtlZXAgdGhpbmdzIHJvYnVzdCwKKyAqIHRoaXMgZXh0cmEgemVybyBpcyBub3QgY291bnQgdG8gdGhlIHZhbHVlIGxlbmd0aC4gSXQncyBjYWxsZXIgcmVzcG9uc2liaWxpdHkKKyAqIHRvIHNldCBwcm9wZXIgdmFsdWUgbGVuZ3RoIChmb3Igc3RyaW5ncyB3ZSBjb3VudCB0ZXJtaW5hdG9yIHRvIHRoZSBsZW5ndGgsCisgKiBmb3IgYmluYXJ5IGRhdGEgaXQncyB3aXRob3V0IHRlcm1pbmF0b3IpLgorICovCitpbnQgYmxraWRfcHJvYmVfdmFsdWVfc2V0X2RhdGEoc3RydWN0IGJsa2lkX3BydmFsICp2LAorCQljb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgbGVuKQoreworCXYtPmRhdGEgPSBjYWxsb2MoMSwgbGVuICsgMSk7CS8qIGFsd2F5cyB0ZXJtaW5hdGUgYnkgXDAgKi8KKworCWlmICghdi0+ZGF0YSkKKwkJcmV0dXJuIC1FTk9NRU07CisJbWVtY3B5KHYtPmRhdGEsIGRhdGEsIGxlbik7CisJdi0+bGVuID0gbGVuOworCXJldHVybiAwOworfQorCitpbnQgYmxraWRfcHJvYmVfc2V0X3ZhbHVlKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpuYW1lLAorCQljb25zdCB1bnNpZ25lZCBjaGFyICpkYXRhLCBzaXplX3QgbGVuKQoreworCXN0cnVjdCBibGtpZF9wcnZhbCAqdjsKKworCXYgPSBibGtpZF9wcm9iZV9hc3NpZ25fdmFsdWUocHIsIG5hbWUpOworCWlmICghdikKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIGJsa2lkX3Byb2JlX3ZhbHVlX3NldF9kYXRhKHYsIGRhdGEsIGxlbik7Cit9CisKK2ludCBibGtpZF9wcm9iZV92c3ByaW50Zl92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJY29uc3QgY2hhciAqZm10LCB2YV9saXN0IGFwKQoreworCXN0cnVjdCBibGtpZF9wcnZhbCAqdjsKKwlzc2l6ZV90IGxlbjsKKworCXYgPSBibGtpZF9wcm9iZV9hc3NpZ25fdmFsdWUocHIsIG5hbWUpOworCWlmICghdikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlsZW4gPSB2YXNwcmludGYoKGNoYXIgKiopICZ2LT5kYXRhLCBmbXQsIGFwKTsKKworCWlmIChsZW4gPD0gMCkgeworCQlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCQlyZXR1cm4gbGVuID09IDAgPyAtRUlOVkFMIDogLUVOT01FTTsKKwl9CisJdi0+bGVuID0gbGVuICsgMTsKKwlyZXR1cm4gMDsKK30KKworaW50IGJsa2lkX3Byb2JlX3NwcmludGZfdmFsdWUoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUsCisJCWNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCWludCByYzsKKwl2YV9saXN0IGFwOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJcmMgPSBibGtpZF9wcm9iZV92c3ByaW50Zl92YWx1ZShwciwgbmFtZSwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCXJldHVybiByYzsKK30KKworaW50IGJsa2lkX3Byb2JlX3NldF9tYWdpYyhibGtpZF9wcm9iZSBwciwgdWludDY0X3Qgb2Zmc2V0LAorCQkJc2l6ZV90IGxlbiwgY29uc3QgdW5zaWduZWQgY2hhciAqbWFnaWMpCit7CisJaW50IHJjID0gMDsKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisKKwlpZiAoIWNobiB8fCAhbGVuIHx8IGNobi0+YmluYXJ5KQorCQlyZXR1cm4gMDsKKworCXN3aXRjaCAoY2huLT5kcml2ZXItPmlkKSB7CisJY2FzZSBCTEtJRF9DSEFJTl9TVUJMS1M6CisJCWlmICghKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfTUFHSUMpKQorCQkJcmV0dXJuIDA7CisJCXJjID0gYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiU0JNQUdJQyIsIG1hZ2ljLCBsZW4pOworCQlpZiAoIXJjKQorCQkJcmMgPSBibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLAorCQkJCQkiU0JNQUdJQ19PRkZTRVQiLCAiJWxsdSIsICh1bnNpZ25lZCBsb25nIGxvbmcpb2Zmc2V0KTsKKwkJYnJlYWs7CisJY2FzZSBCTEtJRF9DSEFJTl9QQVJUUzoKKwkJaWYgKCEoY2huLT5mbGFncyAmIEJMS0lEX1BBUlRTX01BR0lDKSkKKwkJCXJldHVybiAwOworCQlyYyA9IGJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlBUTUFHSUMiLCBtYWdpYywgbGVuKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gYmxraWRfcHJvYmVfc3ByaW50Zl92YWx1ZShwciwKKwkJCQkJIlBUTUFHSUNfT0ZGU0VUIiwgIiVsbHUiLCAodW5zaWduZWQgbG9uZyBsb25nKW9mZnNldCk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKK30KKworaW50IGJsa2lkX3Byb2JlX3ZlcmlmeV9jc3VtKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBjc3VtLCB1aW50NjRfdCBleHBlY3RlZCkKK3sKKwlpZiAoY3N1bSAhPSBleHBlY3RlZCkgeworCQlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygKKwkJCQkiaW5jb3JyZWN0IGNoZWNrc3VtIGZvciB0eXBlICVzLCIKKwkJCQkiIGdvdCAlIlBSSVg2NCIsIGV4cGVjdGVkICUiUFJJWDY0IiIsCisJCQkJYmxraWRfcHJvYmVfZ2V0X3Byb2Jlcm5hbWUocHIpLAorCQkJCWNzdW0sIGV4cGVjdGVkKSk7CisJCS8qCisJCSAqIEFjY2VwdCBiYWQgY2hlY2tzdW0gaWYgQkxLSURfU1VCTEtTX0JBRENTVU0gZmxhZ3MgaXMgc2V0CisJCSAqLworCQlpZiAoY2huLT5kcml2ZXItPmlkID09IEJMS0lEX0NIQUlOX1NVQkxLUworCQkgICAgJiYgKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfQkFEQ1NVTSkpIHsKKwkJCWJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlNCQkFEQ1NVTSIsICh1bnNpZ25lZCBjaGFyICopICIxIiwgMik7CisJCQlnb3RvIGFjY2VwdDsKKwkJfQorCQlyZXR1cm4gMDsJLyogYmFkIGNoZWNrc3VtICovCisJfQorCithY2NlcHQ6CisJcmV0dXJuIDE7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZ2V0X2Rldm5vOgorICogQHByOiBwcm9iZQorICoKKyAqIFJldHVybnM6IGJsb2NrIGRldmljZSBudW1iZXIsIG9yIDAgZm9yIHJlZ3VsYXIgZmlsZXMuCisgKi8KK2Rldl90IGJsa2lkX3Byb2JlX2dldF9kZXZubyhibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gcHItPmRldm5vOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF93aG9sZWRpc2tfZGV2bm86CisgKiBAcHI6IHByb2JlCisgKgorICogUmV0dXJuczogZGV2aWNlIG51bWJlciBvZiB0aGUgd2hvbGVkaXNrLCBvciAwIGZvciByZWd1bGFyIGZpbGVzLgorICovCitkZXZfdCBibGtpZF9wcm9iZV9nZXRfd2hvbGVkaXNrX2Rldm5vKGJsa2lkX3Byb2JlIHByKQoreworCWlmICghcHItPmRpc2tfZGV2bm8pIHsKKwkJZGV2X3QgZGV2bm8sIGRpc2tfZGV2bm8gPSAwOworCisJCWRldm5vID0gYmxraWRfcHJvYmVfZ2V0X2Rldm5vKHByKTsKKwkJaWYgKCFkZXZubykKKwkJCXJldHVybiAwOworCisJCWlmIChibGtpZF9kZXZub190b193aG9sZWRpc2soZGV2bm8sIE5VTEwsIDAsICZkaXNrX2Rldm5vKSA9PSAwKQorCQkJcHItPmRpc2tfZGV2bm8gPSBkaXNrX2Rldm5vOworCX0KKwlyZXR1cm4gcHItPmRpc2tfZGV2bm87Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrOgorICogQHByOiBwcm9iZQorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIGRldmljZSBpcyB3aG9sZS1kaXNrIG9yIDAuCisgKi8KK2ludCBibGtpZF9wcm9iZV9pc193aG9sZWRpc2soYmxraWRfcHJvYmUgcHIpCit7CisJZGV2X3QgZGV2bm8sIGRpc2tfZGV2bm87CisKKwlkZXZubyA9IGJsa2lkX3Byb2JlX2dldF9kZXZubyhwcik7CisJaWYgKCFkZXZubykKKwkJcmV0dXJuIDA7CisKKwlkaXNrX2Rldm5vID0gYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19kZXZubyhwcik7CisJaWYgKCFkaXNrX2Rldm5vKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBkZXZubyA9PSBkaXNrX2Rldm5vOworfQorCitibGtpZF9wcm9iZSBibGtpZF9wcm9iZV9nZXRfd2hvbGVkaXNrX3Byb2JlKGJsa2lkX3Byb2JlIHByKQoreworCWRldl90IGRpc2s7CisKKwlpZiAoYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkKKwkJcmV0dXJuIE5VTEw7CQkJLyogdGhpcyBpcyBub3QgcGFydGl0aW9uICovCisKKwlpZiAocHItPnBhcmVudCkKKwkJLyogdGhpcyBpcyBjbG9uZWQgYmxraWRfcHJvYmUsIHVzZSBwYXJlbnQncyBzdHVmZiAqLworCQlyZXR1cm4gYmxraWRfcHJvYmVfZ2V0X3dob2xlZGlza19wcm9iZShwci0+cGFyZW50KTsKKworCWRpc2sgPSBibGtpZF9wcm9iZV9nZXRfd2hvbGVkaXNrX2Rldm5vKHByKTsKKworCWlmIChwci0+ZGlza19wcm9iZSAmJiBwci0+ZGlza19wcm9iZS0+ZGV2bm8gIT0gZGlzaykgeworCQkvKiB3ZSBoYXZlIGRpc2sgcHJvYmVyLCBidXQgZm9yIGFub3RoZXIgZGlzay4uLiBjbG9zZSBpdCAqLworCQlibGtpZF9mcmVlX3Byb2JlKHByLT5kaXNrX3Byb2JlKTsKKwkJcHItPmRpc2tfcHJvYmUgPSBOVUxMOworCX0KKworCWlmICghcHItPmRpc2tfcHJvYmUpIHsKKwkJLyogT3BlbiBhIG5ldyBkaXNrIHByb2JlciAqLworCQljaGFyICpkaXNrX3BhdGggPSBibGtpZF9kZXZub190b19kZXZuYW1lKGRpc2spOworCisJCWlmICghZGlza19wYXRoKQorCQkJcmV0dXJuIE5VTEw7CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiYWxsb2NhdGUgYSB3aG9sZWRpc2sgcHJvYmUiKSk7CisKKwkJcHItPmRpc2tfcHJvYmUgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkaXNrX3BhdGgpOworCisJCWZyZWUoZGlza19wYXRoKTsKKworCQlpZiAoIXByLT5kaXNrX3Byb2JlKQorCQkJcmV0dXJuIE5VTEw7CS8qIEVOT01FTT8gKi8KKwl9CisKKwlyZXR1cm4gcHItPmRpc2tfcHJvYmU7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZ2V0X3NpemU6CisgKiBAcHI6IHByb2JlCisgKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIHNpemUgb2YgcHJvYmluZyBhcmVhIGFzIGRlZmluZWQgYnkgYmxraWRfcHJvYmVfc2V0X2RldmljZSgpLgorICogSWYgdGhlIHNpemUgb2YgdGhlIHByb2JpbmcgYXJlYSBpcyB1bnJlc3RyaWN0ZWQgdGhlbiB0aGlzIGZ1bmN0aW9uIHJldHVybnMKKyAqIHRoZSByZWFsIHNpemUgb2YgZGV2aWNlLiBTZWUgYWxzbyBibGtpZF9nZXRfZGV2X3NpemUoKS4KKyAqCisgKiBSZXR1cm5zOiBzaXplIGluIGJ5dGVzIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2Jsa2lkX2xvZmZfdCBibGtpZF9wcm9iZV9nZXRfc2l6ZShibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gKGJsa2lkX2xvZmZfdCkgcHItPnNpemU7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZ2V0X29mZnNldDoKKyAqIEBwcjogcHJvYmUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgb2Zmc2V0IG9mIHByb2JpbmcgYXJlYSBhcyBkZWZpbmVkIGJ5IGJsa2lkX3Byb2JlX3NldF9kZXZpY2UoKS4KKyAqCisgKiBSZXR1cm5zOiBvZmZzZXQgaW4gYnl0ZXMgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworYmxraWRfbG9mZl90IGJsa2lkX3Byb2JlX2dldF9vZmZzZXQoYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIChibGtpZF9sb2ZmX3QpIHByLT5vZmY7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZ2V0X2ZkOgorICogQHByOiBwcm9iZQorICoKKyAqIFJldHVybnM6IGZpbGUgZGVzY3JpcHRvciBmb3IgYXNzaWduZWQgZGV2aWNlL2ZpbGUgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX2dldF9mZChibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gcHItPmZkOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplOgorICogQHByOiBwcm9iZSBvciBOVUxMIChmb3IgTlVMTCByZXR1cm5zIDUxMikKKyAqCisgKiBSZXR1cm5zOiBibG9jayBkZXZpY2UgbG9naWNhbCBzZWN0b3Igc2l6ZSAoQkxLU1NaR0VUIGlvY3RsLCBkZWZhdWx0IDUxMikuCisgKi8KK3Vuc2lnbmVkIGludCBibGtpZF9wcm9iZV9nZXRfc2VjdG9yc2l6ZShibGtpZF9wcm9iZSBwcikKK3sKKwlpZiAocHItPmJsa3NzeikKKwkJcmV0dXJuIHByLT5ibGtzc3o7CisKKwlpZiAoU19JU0JMSyhwci0+bW9kZSkgJiYKKwkgICAgYmxrZGV2X2dldF9zZWN0b3Jfc2l6ZShwci0+ZmQsIChpbnQgKikgJnByLT5ibGtzc3opID09IDApCisJCXJldHVybiBwci0+Ymxrc3N6OworCisJcHItPmJsa3NzeiA9IERFRkFVTFRfU0VDVE9SX1NJWkU7CisJcmV0dXJuIHByLT5ibGtzc3o7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfc2V0X3NlY3RvcnNpemU6CisgKiBAcHI6IHByb2JlCisgKiBAc3o6IG5ldyBzaXplICh0byBvdmVyd3JpdGUgc3lzdGVtIGRlZmF1bHQpCisgKgorICogTm90ZSB0aGF0IGJsa2lkX3Byb2JlX3NldF9kZXZpY2UoKSByZXNldHMgdGhpcyBzZXR0aW5nLiBVc2UgaXQgYWZ0ZXIKKyAqIGJsa2lkX3Byb2JlX3NldF9kZXZpY2UoKSBhbmQgYmVmb3JlIGFueSBwcm9iaW5nIGNhbGwuCisgKgorICogU2luY2U6IDIuMzAKKyAqCisgKiBSZXR1cm5zOiAwIG9yIDwwIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50IGJsa2lkX3Byb2JlX3NldF9zZWN0b3JzaXplKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBpbnQgc3opCit7CisJcHItPmJsa3NzeiA9IHN6OworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzOgorICogQHByOiBwcm9iZQorICoKKyAqIFJldHVybnM6IDUxMi1ieXRlIHNlY3RvciBjb3VudCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitibGtpZF9sb2ZmX3QgYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnMoYmxraWRfcHJvYmUgcHIpCit7CisJcmV0dXJuIChibGtpZF9sb2ZmX3QpIChwci0+c2l6ZSA+PiA5KTsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9udW1vZl92YWx1ZXM6CisgKiBAcHI6IHByb2JlCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIHZhbHVlcyBpbiBwcm9iaW5nIHJlc3VsdCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfbnVtb2ZfdmFsdWVzKGJsa2lkX3Byb2JlIHByKQoreworCWludCBpID0gMDsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJbGlzdF9mb3JfZWFjaChwLCAmcHItPnZhbHVlcykKKwkJKytpOworCXJldHVybiBpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2dldF92YWx1ZToKKyAqIEBwcjogcHJvYmUKKyAqIEBudW06IHdhbnRlZCB2YWx1ZSBpbiByYW5nZSAwLi5OLCB3aGVyZSBOIGlzIGJsa2lkX3Byb2JlX251bW9mX3ZhbHVlcygpIC0gMQorICogQG5hbWU6IHBvaW50ZXIgdG8gcmV0dXJuIHZhbHVlIG5hbWUgb3IgTlVMTAorICogQGRhdGE6IHBvaW50ZXIgdG8gcmV0dXJuIHZhbHVlIGRhdGEgb3IgTlVMTAorICogQGxlbjogcG9pbnRlciB0byByZXR1cm4gdmFsdWUgbGVuZ3RoIG9yIE5VTEwKKyAqCisgKiBOb3RlLCB0aGUgQGxlbiByZXR1cm5zIGxlbmd0aCBvZiB0aGUgQGRhdGEsIGluY2x1ZGluZyB0aGUgdGVybWluYXRpbmcKKyAqICdcMCcgY2hhcmFjdGVyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX2dldF92YWx1ZShibGtpZF9wcm9iZSBwciwgaW50IG51bSwgY29uc3QgY2hhciAqKm5hbWUsCisJCQljb25zdCBjaGFyICoqZGF0YSwgc2l6ZV90ICpsZW4pCit7CisJc3RydWN0IGJsa2lkX3BydmFsICp2ID0gX19ibGtpZF9wcm9iZV9nZXRfdmFsdWUocHIsIG51bSk7CisKKwlpZiAoIXYpCisJCXJldHVybiAtMTsKKwlpZiAobmFtZSkKKwkJKm5hbWUgPSB2LT5uYW1lOworCWlmIChkYXRhKQorCQkqZGF0YSA9IChjaGFyICopIHYtPmRhdGE7CisJaWYgKGxlbikKKwkJKmxlbiA9IHYtPmxlbjsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoInJldHVybmluZyAlcyB2YWx1ZSIsIHYtPm5hbWUpKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWU6CisgKiBAcHI6IHByb2JlCisgKiBAbmFtZTogbmFtZSBvZiB2YWx1ZQorICogQGRhdGE6IHBvaW50ZXIgdG8gcmV0dXJuIHZhbHVlIGRhdGEgb3IgTlVMTAorICogQGxlbjogcG9pbnRlciB0byByZXR1cm4gdmFsdWUgbGVuZ3RoIG9yIE5VTEwKKyAqCisgKiBOb3RlLCB0aGUgQGxlbiByZXR1cm5zIGxlbmd0aCBvZiB0aGUgQGRhdGEsIGluY2x1ZGluZyB0aGUgdGVybWluYXRpbmcKKyAqICdcMCcgY2hhcmFjdGVyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCWNvbnN0IGNoYXIgKipkYXRhLCBzaXplX3QgKmxlbikKK3sKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnYgPSBfX2Jsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgbmFtZSk7CisKKwlpZiAoIXYpCisJCXJldHVybiAtMTsKKwlpZiAoZGF0YSkKKwkJKmRhdGEgPSAoY2hhciAqKSB2LT5kYXRhOworCWlmIChsZW4pCisJCSpsZW4gPSB2LT5sZW47CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfaGFzX3ZhbHVlOgorICogQHByOiBwcm9iZQorICogQG5hbWU6IG5hbWUgb2YgdmFsdWUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHZhbHVlIGV4aXN0IGluIHByb2JpbmcgcmVzdWx0LCBvdGhlcndpc2UgMC4KKyAqLworaW50IGJsa2lkX3Byb2JlX2hhc192YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCBuYW1lLCBOVUxMLCBOVUxMKSA9PSAwKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IGJsa2lkX3BydmFsICpfX2Jsa2lkX3Byb2JlX2dldF92YWx1ZShibGtpZF9wcm9iZSBwciwgaW50IG51bSkKK3sKKwlpbnQgaSA9IDA7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWlmIChudW0gPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCWxpc3RfZm9yX2VhY2gocCwgJnByLT52YWx1ZXMpIHsKKwkJaWYgKGkrKyAhPSBudW0pCisJCQljb250aW51ZTsKKwkJcmV0dXJuIGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3BydmFsLCBwcnZhbHMpOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworc3RydWN0IGJsa2lkX3BydmFsICpfX2Jsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJaWYgKGxpc3RfZW1wdHkoJnByLT52YWx1ZXMpKQorCQlyZXR1cm4gTlVMTDsKKworCWxpc3RfZm9yX2VhY2gocCwgJnByLT52YWx1ZXMpIHsKKwkJc3RydWN0IGJsa2lkX3BydmFsICp2ID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfcHJ2YWwsCisJCQkJCQlwcnZhbHMpOworCisJCWlmICh2LT5uYW1lICYmIHN0cmNtcChuYW1lLCB2LT5uYW1lKSA9PSAwKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJyZXR1cm5pbmcgJXMgdmFsdWUiLCB2LT5uYW1lKSk7CisJCQlyZXR1cm4gdjsKKwkJfQorCX0KKwlyZXR1cm4gTlVMTDsKK30KKworCisvKiBjb252ZXJ0cyBEQ0UgVVVJRCAodXVpZFsxNl0pIHRvIGh1bWFuIHJlYWRhYmxlIHN0cmluZworICogLSB0aGUgQGxlbiBzaG91bGQgYmUgYWx3YXlzIDM3ICovCisjaWZkZWYgSEFWRV9MSUJVVUlECit2b2lkIGJsa2lkX3VucGFyc2VfdXVpZChjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkLCBjaGFyICpzdHIsCisJCQlzaXplX3QgbGVuIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwl1dWlkX3VucGFyc2UodXVpZCwgc3RyKTsKK30KKyNlbHNlCit2b2lkIGJsa2lkX3VucGFyc2VfdXVpZChjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkLCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCit7CisJc25wcmludGYoc3RyLCBsZW4sCisJCSIlMDJ4JTAyeCUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCisJCXV1aWRbMF0sIHV1aWRbMV0sIHV1aWRbMl0sIHV1aWRbM10sCisJCXV1aWRbNF0sIHV1aWRbNV0sCisJCXV1aWRbNl0sIHV1aWRbN10sCisJCXV1aWRbOF0sIHV1aWRbOV0sCisJCXV1aWRbMTBdLCB1dWlkWzExXSwgdXVpZFsxMl0sIHV1aWRbMTNdLCB1dWlkWzE0XSx1dWlkWzE1XSk7Cit9CisjZW5kaWYKKworLyogbGlrZSB1dWlkX2lzX251bGwoKSBmcm9tIGxpYnV1aWQsIGJ1dCB3b3JrcyB3aXRoIGFyYml0cmFyeSBzaXplIG9mIFVVSUQgKi8KK2ludCBibGtpZF91dWlkX2lzX2VtcHR5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1Ziwgc2l6ZV90IGxlbikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKKwkJaWYgKGJ1ZltpXSkKKwkJCXJldHVybiAwOworCXJldHVybiAxOworfQorCisvKiBSZW1vdmVzIHdoaXRlc3BhY2UgZnJvbSB0aGUgcmlnaHQtaGFuZCBzaWRlIG9mIGEgc3RyaW5nICh0cmFpbGluZworICogd2hpdGVzcGFjZSkuCisgKgorICogUmV0dXJucyBzaXplIG9mIHRoZSBuZXcgc3RyaW5nICh3aXRob3V0IFwwKS4KKyAqLworc2l6ZV90IGJsa2lkX3J0cmltX3doaXRlc3BhY2UodW5zaWduZWQgY2hhciAqc3RyKQoreworCXJldHVybiBydHJpbV93aGl0ZXNwYWNlKHN0cik7Cit9CisKKy8qIFJlbW92ZXMgd2hpdGVzcGFjZSBmcm9tIHRoZSBsZWZ0LWhhbmQgc2lkZSBvZiBhIHN0cmluZy4KKyAqCisgKiBSZXR1cm5zIHNpemUgb2YgdGhlIG5ldyBzdHJpbmcgKHdpdGhvdXQgXDApLgorICovCitzaXplX3QgYmxraWRfbHRyaW1fd2hpdGVzcGFjZSh1bnNpZ25lZCBjaGFyICpzdHIpCit7CisJcmV0dXJuIGx0cmltX3doaXRlc3BhY2Uoc3RyKTsKK30KKworLyoKKyAqIFNvbWUgbWtmcy1saWtlIHV0aWxzIHdpcGUgc29tZSBwYXJ0cyAodXN1YWxseSBiZWdpbikgb2YgdGhlIGRldmljZS4KKyAqIEZvciBleGFtcGxlIExWTSAocHZjcmVhdGUpIG9yIG1rc3dhcCg4KS4gVGhpcyBpbmZvcm1hdGlvbiBjb3VsZCBiZSB1c2VkCisgKiBmb3IgbGF0ZXIgcmVzb2x1dGlvbiB0byBjb25mbGljdHMgYmV0d2VlbiBzdXBlcmJsb2Nrcy4KKyAqCisgKiBGb3IgZXhhbXBsZSB3ZSBmb3VuZCB2YWxpZCBMVk0gc3VwZXJibG9jaywgTFZNIHdpcGVzIDhLaUIgYXQgdGhlIGJlZ2luIG9mCisgKiB0aGUgZGV2aWNlLiBJZiB3ZSBmb3VuZCBhbm90aGVyIHNpZ25hdHVyZSAoZm9yIGV4YW1wbGUgTUJSKSB3aXRoaW4gdGhlCisgKiB3aXBlZCBhcmVhIHRoZW4gdGhlIHNpZ25hdHVyZSBoYXMgYmVlbiBhZGRlZCBsYXRlciBhbmQgTFZNIHN1cGVyYmxvY2sKKyAqIHNob3VsZCBiZSBpZ25vcmUuCisgKgorICogTm90ZSB0aGF0IHRoaXMgaGV1cmlzdGljIGlzIG5vdCAxMDAlIHJlbGlhYmxlLCBmb3IgZXhhbXBsZSAicHZjcmVhdGUgLS16ZXJvCisgKiBuIiBhbGxvd3MgdG8ga2VlcCB0aGUgYmVnaW4gb2YgdGhlIGRldmljZSB1bm1vZGlmaWVkLiBJdCdzIHByb2JhYmx5IGJldHRlcgorICogdG8gdXNlIHRoaXMgaGV1cmlzdGljIGZvciBjb25mbGljdHMgYmV0d2VlbiBzdXBlcmJsb2NrcyBhbmQgcGFydGl0aW9uIHRhYmxlcworICogdGhhbiBmb3IgY29uZmxpY3RzIGJldHdlZW4gZmlsZXN5c3RlbSBzdXBlcmJsb2NrcyAtLSBleGlzdGVuY2Ugb2YgdW53YW50ZWQKKyAqIHBhcnRpdGlvbiB0YWJsZSBpcyB2ZXJ5IHVudXN1YWwsIGJlY2F1c2UgUFQgaXMgcHJldHR5IHZpc2libGUgKHBhcnNlZCBhbmQKKyAqIGludGVycHJldGVkIGJ5IGtlcm5lbCkuCisgKgorICogTm90ZSB0aGF0IHdlIHVzdWFsbHkgZXhwZWN0IG9ubHkgb25lIHNpZ25hdHVyZSBvbiB0aGUgZGV2aWNlLCBpdCBtZWFucyB0aGF0CisgKiB3ZSBoYXZlIHRvIHJlbWVtYmVyIG9ubHkgb25lIHdpcGVkIGFyZWEgZnJvbSBwcmV2aW91c2x5IHN1Y2Nlc3NmdWxseQorICogZGV0ZWN0ZWQgc2lnbmF0dXJlLgorICoKKyAqIGJsa2lkX3Byb2JlX3NldF93aXBlcigpIC0tIGRlZmluZXMgd2lwZWQgYXJlYSAoZS5nLiBMVk0pCisgKiBibGtpZF9wcm9iZV91c2Vfd2lwZXIoKSAtLSB0cnkgdG8gdXNlIGFyZWEgKGUuZy4gTUJSKQorICoKKyAqIE5vdGUgdGhhdCB0aGVyZSBpcyBub3QgcmVsYXRpb24gYmV0d2VlbiBfd2lwZXIgYW5kIGJsa2lkX3RvX3dpcGUoKS4KKyAqCisgKi8KK3ZvaWQgYmxraWRfcHJvYmVfc2V0X3dpcGVyKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IHNpemUpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG47CisKKwlpZiAoIXNpemUpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiemVyb2l6ZSB3aXBlciIpKTsKKwkJcHItPndpcGVfc2l6ZSA9IHByLT53aXBlX29mZiA9IDA7CisJCXByLT53aXBlX2NoYWluID0gTlVMTDsKKwkJcmV0dXJuOworCX0KKworCWNobiA9IHByLT5jdXJfY2hhaW47CisKKwlpZiAoIWNobiB8fCAhY2huLT5kcml2ZXIgfHwKKwkgICAgY2huLT5pZHggPCAwIHx8IChzaXplX3QpIGNobi0+aWR4ID49IGNobi0+ZHJpdmVyLT5uaWRpbmZvcykKKwkJcmV0dXJuOworCisJcHItPndpcGVfc2l6ZSA9IHNpemU7CisJcHItPndpcGVfb2ZmID0gb2ZmOworCXByLT53aXBlX2NoYWluID0gY2huOworCisJREJHKExPV1BST0JFLAorCQl1bF9kZWJ1Zygid2lwZXIgc2V0IHRvICVzOjolcyBvZmY9JSJQUkl1NjQiIHNpemU9JSJQUkl1NjQiIiwKKwkJCWNobi0+ZHJpdmVyLT5uYW1lLAorCQkJY2huLT5kcml2ZXItPmlkaW5mb3NbY2huLT5pZHhdLT5uYW1lLAorCQkJcHItPndpcGVfb2ZmLCBwci0+d2lwZV9zaXplKSk7CisJcmV0dXJuOworfQorCisvKgorICogUmV0dXJucyAxIGlmIHRoZSA8QG9mZixAc2l6ZT4gYXJlYSB3YXMgd2lwZWQKKyAqLworaW50IGJsa2lkX3Byb2JlX2lzX3dpcGVkKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKipjaG4sIHVpbnQ2NF90IG9mZiwgdWludDY0X3Qgc2l6ZSkKK3sKKwlpZiAoIXNpemUpCisJCXJldHVybiAwOworCisJaWYgKHByLT53aXBlX29mZiA8PSBvZmYgJiYgb2ZmICsgc2l6ZSA8PSBwci0+d2lwZV9vZmYgKyBwci0+d2lwZV9zaXplKSB7CisJCSpjaG4gPSBwci0+d2lwZV9jaGFpbjsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCisvKgorICogIFRyeSB0byB1c2UgYW55IGFyZWEgLS0gaWYgdGhlIGFyZWEgaGFzIGJlZW4gcHJldmlvdXNseSB3aXBlZCB0aGVuIHRoZQorICogIHByZXZpb3VzIHByb2JpbmcgcmVzdWx0IHNob3VsZCBiZSBpZ25vcmVkIChyZXNldCkuCisgKi8KK3ZvaWQgYmxraWRfcHJvYmVfdXNlX3dpcGVyKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYsIHVpbnQ2NF90IHNpemUpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBOVUxMOworCisJaWYgKGJsa2lkX3Byb2JlX2lzX3dpcGVkKHByLCAmY2huLCBvZmYsIHNpemUpICYmIGNobikgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJwcmV2aW91c2x5IHdpcGVkIGFyZWEgbW9kaWZpZWQgIgorCQkJCSAgICAgICAiIC0tIGlnbm9yZSBwcmV2aW91cyByZXN1bHRzIikpOworCQlibGtpZF9wcm9iZV9zZXRfd2lwZXIocHIsIDAsIDApOworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF92YWx1ZXMocHIsIGNobik7CisJfQorfQpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3JlYWQuYyBiL2xpYmJsa2lkL3NyYy9yZWFkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlhZGYxMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9yZWFkLmMKQEAgLTAsMCArMSw0NjggQEAKKy8qCisgKiByZWFkLmMgLSByZWFkIHRoZSBibGtpZCBjYWNoZSBmcm9tIGRpc2ssIHRvIGF2b2lkIHNjYW5uaW5nIGFsbCBkZXZpY2VzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDAxLCAyMDAzIFRoZW9kb3JlIFkuIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYmxraWRQLmgiCisKKyNpZmRlZiBIQVZFX1NURExJQl9ICisjIGlmbmRlZiBfWE9QRU5fU09VUkNFCisjICBkZWZpbmUgX1hPUEVOX1NPVVJDRSA2MDAJLyogZm9yIGluY2x1c2lvbiBvZiBzdHJ0b3VsbCAqLworIyBlbmRpZgorIyBpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorCisvKgorICogRmlsZSBmb3JtYXQ6CisgKgorICoJPGRldmljZSBbPE5BTUU9InZhbHVlIj4gLi4uXT5kZXZpY2VfbmFtZTwvZGV2aWNlPgorICoKKyAqCVRoZSBmb2xsb3dpbmcgdGFncyBhcmUgcmVxdWlyZWQgZm9yIGVhY2ggZW50cnk6CisgKgk8SUQ9ImlkIj4JdW5pcXVlICh3aXRoaW4gdGhpcyBmaWxlKSBJRCBudW1iZXIgb2YgdGhpcyBkZXZpY2UKKyAqCTxUSU1FPSJzZWMudXNlYyI+ICh0aW1lX3QgYW5kIHN1c2Vjb25kc190KSB0aW1lIHRoaXMgZW50cnkgd2FzIGxhc3QKKyAqCSAgICAgICAgICAgICAgICAgcmVhZCBmcm9tIGRpc2sKKyAqCTxUWVBFPSJ0eXBlIj4JKGRldGVjdGVkKSB0eXBlIG9mIGZpbGVzeXN0ZW0vZGF0YSBmb3IgdGhpcyBwYXJ0aXRpb24KKyAqCisgKglUaGUgZm9sbG93aW5nIHRhZ3MgbWF5IGJlIHByZXNlbnQsIGRlcGVuZGluZyBvbiB0aGUgZGV2aWNlIGNvbnRlbnRzCisgKgk8TEFCRUw9ImxhYmVsIj4JKHVzZXIgc3VwcGxpZWQpIGxhYmVsICh2b2x1bWUgbmFtZSwgZXRjKQorICoJPFVVSUQ9InV1aWQiPgkoZ2VuZXJhdGVkKSB1bml2ZXJzYWxseSB1bmlxdWUgaWRlbnRpZmllciAoc2VyaWFsIG5vKQorICovCisKK3N0YXRpYyBjaGFyICpza2lwX292ZXJfYmxhbmsoY2hhciAqY3ApCit7CisJd2hpbGUgKCpjcCAmJiBpc3NwYWNlKCpjcCkpCisJCWNwKys7CisJcmV0dXJuIGNwOworfQorCitzdGF0aWMgY2hhciAqc2tpcF9vdmVyX3dvcmQoY2hhciAqY3ApCit7CisJY2hhciBjaDsKKworCXdoaWxlICgoY2ggPSAqY3ApKSB7CisJCS8qIElmIHdlIHNlZSBhIGJhY2tzbGFzaCwgc2tpcCB0aGUgbmV4dCBjaGFyYWN0ZXIgKi8KKwkJaWYgKGNoID09ICdcXCcpIHsKKwkJCWNwKys7CisJCQlpZiAoKmNwID09ICdcMCcpCisJCQkJYnJlYWs7CisJCQljcCsrOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGlzc3BhY2UoY2gpIHx8IGNoID09ICc8JyB8fCBjaCA9PSAnPicpCisJCQlicmVhazsKKwkJY3ArKzsKKwl9CisJcmV0dXJuIGNwOworfQorCitzdGF0aWMgY2hhciAqc3RyaXBfbGluZShjaGFyICpsaW5lKQoreworCWNoYXIJKnA7CisKKwlsaW5lID0gc2tpcF9vdmVyX2JsYW5rKGxpbmUpOworCisJcCA9IGxpbmUgKyBzdHJsZW4obGluZSkgLSAxOworCisJd2hpbGUgKCpsaW5lKSB7CisJCWlmIChpc3NwYWNlKCpwKSkKKwkJCSpwLS0gPSAnXDAnOworCQllbHNlCisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gbGluZTsKK30KKworI2lmIDAKK3N0YXRpYyBjaGFyICpwYXJzZV93b3JkKGNoYXIgKipidWYpCit7CisJY2hhciAqd29yZCwgKm5leHQ7CisKKwl3b3JkID0gKmJ1ZjsKKwlpZiAoKndvcmQgPT0gJ1wwJykKKwkJcmV0dXJuIE5VTEw7CisKKwl3b3JkID0gc2tpcF9vdmVyX2JsYW5rKHdvcmQpOworCW5leHQgPSBza2lwX292ZXJfd29yZCh3b3JkKTsKKwlpZiAoKm5leHQpIHsKKwkJY2hhciAqZW5kID0gbmV4dCAtIDE7CisJCWlmICgqZW5kID09ICciJyB8fCAqZW5kID09ICdcJycpCisJCQkqZW5kID0gJ1wwJzsKKwkJKm5leHQrKyA9ICdcMCc7CisJfQorCSpidWYgPSBuZXh0OworCisJaWYgKCp3b3JkID09ICciJyB8fCAqd29yZCA9PSAnXCcnKQorCQl3b3JkKys7CisJcmV0dXJuIHdvcmQ7Cit9CisjZW5kaWYKKworLyoKKyAqIFN0YXJ0IHBhcnNpbmcgYSBuZXcgbGluZSBmcm9tIHRoZSBjYWNoZS4KKyAqCisgKiBsaW5lIHN0YXJ0cyB3aXRoICI8ZGV2aWNlIiByZXR1cm4gMSAtPiBjb250aW51ZSBwYXJzaW5nIGxpbmUKKyAqIGxpbmUgc3RhcnRzIHdpdGggIjxmb28iLCBlbXB0eSwgb3IgIyByZXR1cm4gMCAtPiBza2lwIGxpbmUKKyAqIGxpbmUgc3RhcnRzIHdpdGggb3RoZXIsIHJldHVybiAtQkxLSURfRVJSX0NBQ0hFIC0+IGVycm9yCisgKi8KK3N0YXRpYyBpbnQgcGFyc2Vfc3RhcnQoY2hhciAqKmNwKQoreworCWNoYXIgKnA7CisKKwlwID0gc3RyaXBfbGluZSgqY3ApOworCisJLyogU2tpcCBjb21tZW50IG9yIGJsYW5rIGxpbmVzLiAgV2UgY2FuJ3QganVzdCBOVUwgdGhlIGZpcnN0ICcjJyBjaGFyLAorCSAqIGluIGNhc2UgaXQgaXMgaW5zaWRlIHF1b3Rlcywgb3IgZXNjYXBlZC4KKwkgKi8KKwlpZiAoKnAgPT0gJ1wwJyB8fCAqcCA9PSAnIycpCisJCXJldHVybiAwOworCisJaWYgKCFzdHJuY21wKHAsICI8ZGV2aWNlIiwgNykpIHsKKwkJREJHKFJFQUQsIHVsX2RlYnVnKCJmb3VuZCBkZXZpY2UgaGVhZGVyOiAlOHMiLCBwKSk7CisJCXAgKz0gNzsKKworCQkqY3AgPSBwOworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoKnAgPT0gJzwnKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAtQkxLSURfRVJSX0NBQ0hFOworfQorCisvKiBDb25zdW1lIHRoZSByZW1haW5pbmcgWE1MIG9uIHRoZSBsaW5lIChjb3NtZXRpYyBvbmx5KSAqLworc3RhdGljIGludCBwYXJzZV9lbmQoY2hhciAqKmNwKQoreworCSpjcCA9IHNraXBfb3Zlcl9ibGFuaygqY3ApOworCisJaWYgKCFzdHJuY21wKCpjcCwgIjwvZGV2aWNlPiIsIDkpKSB7CisJCURCRyhSRUFELCB1bF9kZWJ1ZygiZm91bmQgZGV2aWNlIHRyYWlsZXIgJTlzIiwgKmNwKSk7CisJCSpjcCArPSA5OworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gLUJMS0lEX0VSUl9DQUNIRTsKK30KKworLyoKKyAqIEFsbG9jYXRlIGEgbmV3IGRldmljZSBzdHJ1Y3Qgd2l0aCBkZXZpY2UgbmFtZSBmaWxsZWQgaW4uICBXaWxsIGhhbmRsZQorICogZmluZGluZyB0aGUgZGV2aWNlIG9uIGxpbmVzIG9mIHRoZSBmb3JtOgorICogPGRldmljZSBmb289YmFyPmRldm5hbWU8L2RldmljZT4KKyAqIDxkZXZpY2U+ZGV2bmFtZTxmb28+YmFyPC9mb28+PC9kZXZpY2U+CisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfZGV2KGJsa2lkX2NhY2hlIGNhY2hlLCBibGtpZF9kZXYgKmRldiwgY2hhciAqKmNwKQoreworCWNoYXIgKnN0YXJ0LCAqdG1wLCAqZW5kLCAqbmFtZTsKKwlpbnQgcmV0OworCisJaWYgKChyZXQgPSBwYXJzZV9zdGFydChjcCkpIDw9IDApCisJCXJldHVybiByZXQ7CisKKwlzdGFydCA9IHRtcCA9IHN0cmNocigqY3AsICc+Jyk7CisJaWYgKCFzdGFydCkgeworCQlEQkcoUkVBRCwgdWxfZGVidWcoImJsa2lkOiBzaG9ydCBsaW5lIHBhcnNpbmcgZGV2OiAlcyIsICpjcCkpOworCQlyZXR1cm4gLUJMS0lEX0VSUl9DQUNIRTsKKwl9CisJc3RhcnQgPSBza2lwX292ZXJfYmxhbmsoc3RhcnQgKyAxKTsKKwllbmQgPSBza2lwX292ZXJfd29yZChzdGFydCk7CisKKwlEQkcoUkVBRCwgdWxfZGVidWcoImRldmljZSBzaG91bGQgYmUgJSpzIiwKKwkJCSAgICAgICAoaW50KShlbmQgLSBzdGFydCksIHN0YXJ0KSk7CisKKwlpZiAoKipjcCA9PSAnPicpCisJCSpjcCA9IGVuZDsKKwllbHNlCisJCSgqY3ApKys7CisKKwkqdG1wID0gJ1wwJzsKKworCWlmICghKHRtcCA9IHN0cnJjaHIoZW5kLCAnPCcpKSB8fCBwYXJzZV9lbmQoJnRtcCkgPCAwKSB7CisJCURCRyhSRUFELCB1bF9kZWJ1ZygiYmxraWQ6IG1pc3NpbmcgPC9kZXZpY2U+IGVuZGluZzogJXMiLCBlbmQpKTsKKwl9IGVsc2UgaWYgKHRtcCkKKwkJKnRtcCA9ICdcMCc7CisKKwlpZiAoZW5kIC0gc3RhcnQgPD0gMSkgeworCQlEQkcoUkVBRCwgdWxfZGVidWcoImJsa2lkOiBlbXB0eSBkZXZpY2UgbmFtZTogJXMiLCAqY3ApKTsKKwkJcmV0dXJuIC1CTEtJRF9FUlJfQ0FDSEU7CisJfQorCisJbmFtZSA9IHN0cm5kdXAoc3RhcnQsIGVuZCAtIHN0YXJ0KTsKKwlpZiAobmFtZSA9PSBOVUxMKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9NRU07CisKKwlEQkcoUkVBRCwgdWxfZGVidWcoImZvdW5kIGRldiAlcyIsIG5hbWUpKTsKKworCWlmICghKCpkZXYgPSBibGtpZF9nZXRfZGV2KGNhY2hlLCBuYW1lLCBCTEtJRF9ERVZfQ1JFQVRFKSkpIHsKKwkJZnJlZShuYW1lKTsKKwkJcmV0dXJuIC1CTEtJRF9FUlJfTUVNOworCX0KKworCWZyZWUobmFtZSk7CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBFeHRyYWN0IGEgdGFnIG9mIHRoZSBmb3JtIE5BTUU9InZhbHVlIiBmcm9tIHRoZSBsaW5lLgorICovCitzdGF0aWMgaW50IHBhcnNlX3Rva2VuKGNoYXIgKipuYW1lLCBjaGFyICoqdmFsdWUsIGNoYXIgKipjcCkKK3sKKwljaGFyICplbmQ7CisKKwlpZiAoIW5hbWUgfHwgIXZhbHVlIHx8ICFjcCkKKwkJcmV0dXJuIC1CTEtJRF9FUlJfUEFSQU07CisKKwlpZiAoISgqdmFsdWUgPSBzdHJjaHIoKmNwLCAnPScpKSkKKwkJcmV0dXJuIDA7CisKKwkqKnZhbHVlID0gJ1wwJzsKKwkqbmFtZSA9IHN0cmlwX2xpbmUoKmNwKTsKKwkqdmFsdWUgPSBza2lwX292ZXJfYmxhbmsoKnZhbHVlICsgMSk7CisKKwlpZiAoKip2YWx1ZSA9PSAnIicpIHsKKwkJY2hhciAqcCA9IGVuZCA9ICp2YWx1ZSArIDE7CisKKwkJLyogY29udmVydCAnZm9vXCJiYXInICB0byAnZm9vImJhcicgKi8KKwkJd2hpbGUgKCpwKSB7CisJCQlpZiAoKnAgPT0gJ1xcJykgeworCQkJCXArKzsKKwkJCQkqZW5kID0gKnA7CisJCQl9IGVsc2UgeworCQkJCSplbmQgPSAqcDsKKwkJCQlpZiAoKnAgPT0gJyInKQorCQkJCQlicmVhazsKKwkJCX0KKwkJCXArKzsKKwkJCWVuZCsrOworCQl9CisKKwkJaWYgKCplbmQgIT0gJyInKSB7CisJCQlEQkcoUkVBRCwgdWxfZGVidWcoInVuYmFsYW5jZWQgcXVvdGVzIGF0OiAlcyIsICp2YWx1ZSkpOworCQkJKmNwID0gKnZhbHVlOworCQkJcmV0dXJuIC1CTEtJRF9FUlJfQ0FDSEU7CisJCX0KKwkJKCp2YWx1ZSkrKzsKKwkJKmVuZCA9ICdcMCc7CisJCWVuZCA9ICsrcDsKKwl9IGVsc2UgeworCQllbmQgPSBza2lwX292ZXJfd29yZCgqdmFsdWUpOworCQlpZiAoKmVuZCkgeworCQkJKmVuZCA9ICdcMCc7CisJCQllbmQrKzsKKwkJfQorCX0KKwkqY3AgPSBlbmQ7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIEV4dHJhY3QgYSB0YWcgb2YgdGhlIGZvcm0gPE5BTUU+dmFsdWU8L05BTUU+IGZyb20gdGhlIGxpbmUuCisgKi8KKy8qCitzdGF0aWMgaW50IHBhcnNlX3htbChjaGFyICoqbmFtZSwgY2hhciAqKnZhbHVlLCBjaGFyICoqY3ApCit7CisJY2hhciAqZW5kOworCisJaWYgKCFuYW1lIHx8ICF2YWx1ZSB8fCAhY3ApCisJCXJldHVybiAtQkxLSURfRVJSX1BBUkFNOworCisJKm5hbWUgPSBzdHJpcF9saW5lKCpjcCk7CisKKwlpZiAoKCpuYW1lKVswXSAhPSAnPCcgfHwgKCpuYW1lKVsxXSA9PSAnLycpCisJCXJldHVybiAwOworCisJRklYTUU6IGZpbmlzaCB0aGlzLgorfQorKi8KKworLyoKKyAqIEV4dHJhY3QgYSB0YWcgZnJvbSB0aGUgbGluZS4KKyAqCisgKiBSZXR1cm4gMSBpZiBhIHZhbGlkIHRhZyB3YXMgZm91bmQuCisgKiBSZXR1cm4gMCBpZiBubyB0YWcgZm91bmQuCisgKiBSZXR1cm4gLXZlIGVycm9yIGNvZGUuCisgKi8KK3N0YXRpYyBpbnQgcGFyc2VfdGFnKGJsa2lkX2NhY2hlIGNhY2hlLCBibGtpZF9kZXYgZGV2LCBjaGFyICoqY3ApCit7CisJY2hhciAqbmFtZSA9IE5VTEw7CisJY2hhciAqdmFsdWUgPSBOVUxMOworCWludCByZXQ7CisKKwlpZiAoIWNhY2hlIHx8ICFkZXYpCisJCXJldHVybiAtQkxLSURfRVJSX1BBUkFNOworCisJaWYgKChyZXQgPSBwYXJzZV90b2tlbigmbmFtZSwgJnZhbHVlLCBjcCkpIDw9IDAgLyogJiYKKwkgICAgKHJldCA9IHBhcnNlX3htbCgmbmFtZSwgJnZhbHVlLCBjcCkpIDw9IDAgKi8pCisJCXJldHVybiByZXQ7CisKKwlEQkcoUkVBRCwgdWxfZGVidWcoInRhZzogJXM9XCIlc1wiIiwgbmFtZSwgdmFsdWUpKTsKKworCS8qIFNvbWUgdGFncyBhcmUgc3RvcmVkIGRpcmVjdGx5IGluIHRoZSBkZXZpY2Ugc3RydWN0ICovCisJaWYgKCFzdHJjbXAobmFtZSwgIkRFVk5PIikpCisJCWRldi0+YmlkX2Rldm5vID0gc3RydG91bGwodmFsdWUsIE5VTEwsIDApOworCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlBSSSIpKQorCQlkZXYtPmJpZF9wcmkgPSBzdHJ0b2wodmFsdWUsIE5VTEwsIDApOworCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlRJTUUiKSkgeworCQljaGFyICplbmQgPSBOVUxMOworCQlkZXYtPmJpZF90aW1lID0gc3RydG91bGwodmFsdWUsICZlbmQsIDApOworCQlpZiAoZW5kICYmICplbmQgPT0gJy4nKQorCQkJZGV2LT5iaWRfdXRpbWUgPSBzdHJ0b3VsbChlbmQgKyAxLCBOVUxMLCAwKTsKKwl9IGVsc2UKKwkJcmV0ID0gYmxraWRfc2V0X3RhZyhkZXYsIG5hbWUsIHZhbHVlLCBzdHJsZW4odmFsdWUpKTsKKworCXJldHVybiByZXQgPCAwID8gcmV0IDogMTsKK30KKworLyoKKyAqIFBhcnNlIGEgc2luZ2xlIGxpbmUgb2YgZGF0YSwgYW5kIHJldHVybiBhIG5ld2x5IGFsbG9jYXRlZCBkZXYgc3RydWN0LgorICogQWRkIHRoZSBuZXcgZGV2aWNlIHRvIHRoZSBjYWNoZSBzdHJ1Y3QsIGlmIG9uZSB3YXMgcmVhZC4KKyAqCisgKiBMaW5lcyBhcmUgb2YgdGhlIGZvcm0gPGRldmljZSBbVEFHPSJ2YWx1ZSIgLi4uXT4vZGV2L2ZvbzwvZGV2aWNlPgorICoKKyAqIFJldHVybnMgLXZlIHZhbHVlIG9uIGVycm9yLgorICogUmV0dXJucyAwIG90aGVyd2lzZS4KKyAqIElmIGEgdmFsaWQgZGV2aWNlIHdhcyByZWFkLCAqZGV2X3AgaXMgbm9uLU5VTEwsIG90aGVyd2lzZSBpdCBpcyBOVUxMCisgKiAoZS5nLiBjb21tZW50IGxpbmVzLCB1bmtub3duIFhNTCBjb250ZW50LCBldGMpLgorICovCitzdGF0aWMgaW50IGJsa2lkX3BhcnNlX2xpbmUoYmxraWRfY2FjaGUgY2FjaGUsIGJsa2lkX2RldiAqZGV2X3AsIGNoYXIgKmNwKQoreworCWJsa2lkX2RldiBkZXY7CisJaW50IHJldDsKKworCWlmICghY2FjaGUgfHwgIWRldl9wKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9QQVJBTTsKKworCSpkZXZfcCA9IE5VTEw7CisKKwlEQkcoUkVBRCwgdWxfZGVidWcoImxpbmU6ICVzIiwgY3ApKTsKKworCWlmICgocmV0ID0gcGFyc2VfZGV2KGNhY2hlLCBkZXZfcCwgJmNwKSkgPD0gMCkKKwkJcmV0dXJuIHJldDsKKworCWRldiA9ICpkZXZfcDsKKworCXdoaWxlICgocmV0ID0gcGFyc2VfdGFnKGNhY2hlLCBkZXYsICZjcCkpID4gMCkgeworCQk7CisJfQorCisJaWYgKGRldi0+YmlkX3R5cGUgPT0gTlVMTCkgeworCQlEQkcoUkVBRCwgdWxfZGVidWcoImJsa2lkOiBkZXZpY2UgJXMgaGFzIG5vIFRZUEUiLGRldi0+YmlkX25hbWUpKTsKKwkJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwkJZ290byBkb25lOworCX0KKworZG9uZToKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogUGFyc2UgdGhlIHNwZWNpZmllZCBmaWxlbmFtZSwgYW5kIHJldHVybiB0aGUgZGF0YSBpbiB0aGUgc3VwcGxpZWQgb3IKKyAqIGEgbmV3bHkgYWxsb2NhdGVkIGNhY2hlIHN0cnVjdC4gIElmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHJldHVybiBhCisgKiBuZXcgZW1wdHkgY2FjaGUgc3RydWN0LgorICovCit2b2lkIGJsa2lkX3JlYWRfY2FjaGUoYmxraWRfY2FjaGUgY2FjaGUpCit7CisJRklMRSAqZmlsZTsKKwljaGFyIGJ1Zls0MDk2XTsKKwlpbnQgZmQsIGxpbmVubyA9IDA7CisJc3RydWN0IHN0YXQgc3Q7CisKKwkvKgorCSAqIElmIHRoZSBmaWxlIGRvZXNuJ3QgZXhpc3QsIHRoZW4gd2UganVzdCByZXR1cm4gYW4gZW1wdHkKKwkgKiBzdHJ1Y3Qgc28gdGhhdCB0aGUgY2FjaGUgY2FuIGJlIHBvcHVsYXRlZC4KKwkgKi8KKwlpZiAoKGZkID0gb3BlbihjYWNoZS0+YmljX2ZpbGVuYW1lLCBPX1JET05MWXxPX0NMT0VYRUMpKSA8IDApCisJCXJldHVybjsKKwlpZiAoZnN0YXQoZmQsICZzdCkgPCAwKQorCQlnb3RvIGVycm91dDsKKwlpZiAoKHN0LnN0X210aW1lID09IGNhY2hlLT5iaWNfZnRpbWUpIHx8CisJICAgIChjYWNoZS0+YmljX2ZsYWdzICYgQkxLSURfQklDX0ZMX0NIQU5HRUQpKSB7CisJCURCRyhDQUNIRSwgdWxfZGVidWcoInNraXBwaW5nIHJlLXJlYWQgb2YgJXMiLAorCQkJCQljYWNoZS0+YmljX2ZpbGVuYW1lKSk7CisJCWdvdG8gZXJyb3V0OworCX0KKworCURCRyhDQUNIRSwgdWxfZGVidWcoInJlYWRpbmcgY2FjaGUgZmlsZSAlcyIsCisJCQkJY2FjaGUtPmJpY19maWxlbmFtZSkpOworCisJZmlsZSA9IGZkb3BlbihmZCwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghZmlsZSkKKwkJZ290byBlcnJvdXQ7CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZmlsZSkpIHsKKwkJYmxraWRfZGV2IGRldjsKKwkJdW5zaWduZWQgaW50IGVuZDsKKworCQlsaW5lbm8rKzsKKwkJaWYgKGJ1ZlswXSA9PSAwKQorCQkJY29udGludWU7CisJCWVuZCA9IHN0cmxlbihidWYpIC0gMTsKKwkJLyogQ29udGludWUgcmVhZGluZyBuZXh0IGxpbmUgaWYgaXQgZW5kcyB3aXRoIGEgYmFja3NsYXNoICovCisJCXdoaWxlIChlbmQgPCAoc2l6ZW9mKGJ1ZikgLSAyKSAmJiBidWZbZW5kXSA9PSAnXFwnICYmCisJCSAgICAgICBmZ2V0cyhidWYgKyBlbmQsIHNpemVvZihidWYpIC0gZW5kLCBmaWxlKSkgeworCQkJZW5kID0gc3RybGVuKGJ1ZikgLSAxOworCQkJbGluZW5vKys7CisJCX0KKworCQlpZiAoYmxraWRfcGFyc2VfbGluZShjYWNoZSwgJmRldiwgYnVmKSA8IDApIHsKKwkJCURCRyhSRUFELCB1bF9kZWJ1ZygiYmxraWQ6IGJhZCBmb3JtYXQgb24gbGluZSAlZCIsIGxpbmVubykpOworCQkJY29udGludWU7CisJCX0KKwl9CisJZmNsb3NlKGZpbGUpOworCisJLyoKKwkgKiBJbml0aWFsbHkgd2UgZG8gbm90IG5lZWQgdG8gd3JpdGUgb3V0IHRoZSBjYWNoZSBmaWxlLgorCSAqLworCWNhY2hlLT5iaWNfZmxhZ3MgJj0gfkJMS0lEX0JJQ19GTF9DSEFOR0VEOworCWNhY2hlLT5iaWNfZnRpbWUgPSBzdC5zdF9tdGltZTsKKworCXJldHVybjsKK2Vycm91dDoKKwljbG9zZShmZCk7CisJcmV0dXJuOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyKiphcmd2KQoreworCWJsa2lkX2NhY2hlIGNhY2hlID0gTlVMTDsKKwlpbnQgcmV0OworCisJYmxraWRfaW5pdF9kZWJ1ZyhCTEtJRF9ERUJVR19BTEwpOworCWlmIChhcmdjID4gMikgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyBbZmlsZW5hbWVdXG4iCisJCQkiVGVzdCBwYXJzaW5nIG9mIHRoZSBjYWNoZSAoZmlsZW5hbWUpXG4iLCBhcmd2WzBdKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCBhcmd2WzFdKSkgPCAwKQorCQlmcHJpbnRmKHN0ZGVyciwgImVycm9yICVkIHJlYWRpbmcgY2FjaGUgZmlsZSAlc1xuIiwgcmV0LAorCQkJYXJndlsxXSA/IGFyZ3ZbMV0gOiBibGtpZF9nZXRfY2FjaGVfZmlsZW5hbWUoTlVMTCkpOworCisJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9yZXNvbHZlLmMgYi9saWJibGtpZC9zcmMvcmVzb2x2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0MWIwMjIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvcmVzb2x2ZS5jCkBAIC0wLDAgKzEsMTI5IEBACisvKgorICogcmVzb2x2ZS5jIC0gcmVzb2x2ZSBuYW1lcyBhbmQgdGFncyBpbnRvIHNwZWNpZmljIGRldmljZXMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEsIDIwMDMgVGhlb2RvcmUgVHMnby4KKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgImJsa2lkUC5oIgorCisvKgorICogRmluZCBhIHRhZ25hbWUgKGUuZy4gTEFCRUwgb3IgVVVJRCkgb24gYSBzcGVjaWZpYyBkZXZpY2UuCisgKi8KK2NoYXIgKmJsa2lkX2dldF90YWdfdmFsdWUoYmxraWRfY2FjaGUgY2FjaGUsIGNvbnN0IGNoYXIgKnRhZ25hbWUsCisJCQkgIGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJYmxraWRfdGFnIGZvdW5kOworCWJsa2lkX2RldiBkZXY7CisJYmxraWRfY2FjaGUgYyA9IGNhY2hlOworCWNoYXIgKnJldCA9IE5VTEw7CisKKwlEQkcoVEFHLCB1bF9kZWJ1ZygibG9va2luZyBmb3IgJXMgb24gJXMiLCB0YWduYW1lLCBkZXZuYW1lKSk7CisKKwlpZiAoIWRldm5hbWUpCisJCXJldHVybiBOVUxMOworCWlmICghY2FjaGUgJiYgYmxraWRfZ2V0X2NhY2hlKCZjLCBOVUxMKSA8IDApCisJCXJldHVybiBOVUxMOworCisJaWYgKChkZXYgPSBibGtpZF9nZXRfZGV2KGMsIGRldm5hbWUsIEJMS0lEX0RFVl9OT1JNQUwpKSAmJgorCSAgICAoZm91bmQgPSBibGtpZF9maW5kX3RhZ19kZXYoZGV2LCB0YWduYW1lKSkpCisJCXJldCA9IGZvdW5kLT5iaXRfdmFsID8gc3RyZHVwKGZvdW5kLT5iaXRfdmFsKSA6IE5VTEw7CisKKwlpZiAoIWNhY2hlKQorCQlibGtpZF9wdXRfY2FjaGUoYyk7CisKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogTG9jYXRlIGEgZGV2aWNlIG5hbWUgZnJvbSBhIHRva2VuIChOQU1FPXZhbHVlIHN0cmluZyksIG9yIChuYW1lLCB2YWx1ZSkKKyAqIHBhaXIuICBJbiB0aGUgY2FzZSBvZiBhIHRva2VuLCB2YWx1ZSBpcyBpZ25vcmVkLiAgSWYgdGhlICJ0b2tlbiIgaXMgbm90CisgKiBvZiB0aGUgZm9ybSAiTkFNRT12YWx1ZSIgYW5kIHRoZXJlIGlzIG5vIHZhbHVlIGdpdmVuLCB0aGVuIGl0IGlzIGFzc3VtZWQKKyAqIHRvIGJlIHRoZSBhY3R1YWwgZGV2bmFtZSBhbmQgYSBjb3B5IGlzIHJldHVybmVkLgorICovCitjaGFyICpibGtpZF9nZXRfZGV2bmFtZShibGtpZF9jYWNoZSBjYWNoZSwgY29uc3QgY2hhciAqdG9rZW4sCisJCQljb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlibGtpZF9kZXYgZGV2OworCWJsa2lkX2NhY2hlIGMgPSBjYWNoZTsKKwljaGFyICp0ID0gTlVMTCwgKnYgPSBOVUxMOworCWNoYXIgKnJldCA9IE5VTEw7CisKKwlpZiAoIXRva2VuKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoIWNhY2hlICYmIGJsa2lkX2dldF9jYWNoZSgmYywgTlVMTCkgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUcsIHVsX2RlYnVnKCJsb29raW5nIGZvciAlcyVzJXMgJXMiLCB0b2tlbiwgdmFsdWUgPyAiPSIgOiAiIiwKKwkJICAgdmFsdWUgPyB2YWx1ZSA6ICIiLCBjYWNoZSA/ICJpbiBjYWNoZSIgOiAiZnJvbSBkaXNrIikpOworCisJaWYgKCF2YWx1ZSkgeworCQlpZiAoIXN0cmNocih0b2tlbiwgJz0nKSkgeworCQkJcmV0ID0gc3RyZHVwKHRva2VuKTsKKwkJCWdvdG8gb3V0OworCQl9CisJCWlmIChibGtpZF9wYXJzZV90YWdfc3RyaW5nKHRva2VuLCAmdCwgJnYpICE9IDAgfHwgIXQgfHwgIXYpCisJCQlnb3RvIG91dDsKKwkJdG9rZW4gPSB0OworCQl2YWx1ZSA9IHY7CisJfQorCisJZGV2ID0gYmxraWRfZmluZF9kZXZfd2l0aF90YWcoYywgdG9rZW4sIHZhbHVlKTsKKwlpZiAoIWRldikKKwkJZ290byBvdXQ7CisKKwlyZXQgPSBkZXYtPmJpZF9uYW1lID8gc3RyZHVwKGRldi0+YmlkX25hbWUpIDogTlVMTDsKK291dDoKKwlmcmVlKHQpOworCWZyZWUodik7CisJaWYgKCFjYWNoZSkKKwkJYmxraWRfcHV0X2NhY2hlKGMpOworCXJldHVybiByZXQ7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljaGFyICp2YWx1ZTsKKwlibGtpZF9jYWNoZSBjYWNoZTsKKworCWJsa2lkX2luaXRfZGVidWcoQkxLSURfREVCVUdfQUxMKTsKKwlpZiAoYXJnYyAhPSAyICYmIGFyZ2MgIT0gMykgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOlx0JXMgdGFnbmFtZT12YWx1ZVxuIgorCQkJIlx0JXMgdGFnbmFtZSBkZXZuYW1lXG4iCisJCQkiRmluZCB3aGljaCBkZXZpY2UgaG9sZHMgYSBnaXZlbiB0b2tlbiBvclxuIgorCQkJIkZpbmQgd2hhdCB0aGUgdmFsdWUgb2YgYSB0YWcgaXMgaW4gYSBkZXZpY2VcbiIsCisJCQlhcmd2WzBdLCBhcmd2WzBdKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsICIvZGV2L251bGwiKSA8IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICJDb3VsZG4ndCBnZXQgYmxraWQgY2FjaGVcbiIpOworCQlleGl0KDEpOworCX0KKworCWlmIChhcmd2WzJdKSB7CisJCXZhbHVlID0gYmxraWRfZ2V0X3RhZ192YWx1ZShjYWNoZSwgYXJndlsxXSwgYXJndlsyXSk7CisJCXByaW50ZigiJXMgaGFzIHRhZyAlcz0lc1xuIiwgYXJndlsyXSwgYXJndlsxXSwKKwkJICAgICAgIHZhbHVlID8gdmFsdWUgOiAiPG1pc3Npbmc+Iik7CisJfSBlbHNlIHsKKwkJdmFsdWUgPSBibGtpZF9nZXRfZGV2bmFtZShjYWNoZSwgYXJndlsxXSwgTlVMTCk7CisJCXByaW50ZigiJXMgaGFzIHRhZyAlc1xuIiwgdmFsdWUgPyB2YWx1ZSA6ICI8bm9uZT4iLCBhcmd2WzFdKTsKKwl9CisJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKKwlyZXR1cm4gdmFsdWUgPyAwIDogMTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3NhdmUuYyBiL2xpYmJsa2lkL3NyYy9zYXZlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjEzMDhhOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zYXZlLmMKQEAgLTAsMCArMSwyNDIgQEAKKy8qCisgKiBzYXZlLmMgLSB3cml0ZSB0aGUgY2FjaGUgc3RydWN0IHRvIGRpc2sKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwMyBUaGVvZG9yZSBUcydvCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZmRlZiBIQVZFX1NZU19TVEFUX0gKKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9FUlJOT19ICisjaW5jbHVkZSA8ZXJybm8uaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCisKK3N0YXRpYyB2b2lkIHNhdmVfcXVvdGVkKGNvbnN0IGNoYXIgKmRhdGEsIEZJTEUgKmZpbGUpCit7CisJY29uc3QgY2hhciAqcDsKKworCWZwdXRjKCciJywgZmlsZSk7CisJZm9yIChwID0gZGF0YTsgcCAmJiAqcDsgcCsrKSB7CisJCWlmICgodW5zaWduZWQgY2hhcikgKnAgPT0gMHgyMiB8fAkJLyogIiAqLworCQkgICAgKHVuc2lnbmVkIGNoYXIpICpwID09IDB4NWMpCQkJLyogXCAqLworCQkJZnB1dGMoJ1xcJywgZmlsZSk7CisKKwkJZnB1dGMoKnAsIGZpbGUpOworCX0KKwlmcHV0YygnIicsIGZpbGUpOworfQorc3RhdGljIGludCBzYXZlX2RldihibGtpZF9kZXYgZGV2LCBGSUxFICpmaWxlKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlpZiAoIWRldiB8fCBkZXYtPmJpZF9uYW1lWzBdICE9ICcvJykKKwkJcmV0dXJuIDA7CisKKwlEQkcoU0FWRSwgdWxfZGVidWcoImRldmljZSAlcywgdHlwZSAlcyIsIGRldi0+YmlkX25hbWUsIGRldi0+YmlkX3R5cGUgPworCQkgICBkZXYtPmJpZF90eXBlIDogIihudWxsKSIpKTsKKworCWZwcmludGYoZmlsZSwgIjxkZXZpY2UgREVWTk89XCIweCUwNGx4XCIgVElNRT1cIiVsZC4lbGRcIiIsCisJCQkodW5zaWduZWQgbG9uZykgZGV2LT5iaWRfZGV2bm8sCisJCQkobG9uZykgZGV2LT5iaWRfdGltZSwKKwkJCShsb25nKSBkZXYtPmJpZF91dGltZSk7CisKKwlpZiAoZGV2LT5iaWRfcHJpKQorCQlmcHJpbnRmKGZpbGUsICIgUFJJPVwiJWRcIiIsIGRldi0+YmlkX3ByaSk7CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZkZXYtPmJpZF90YWdzKSB7CisJCWJsa2lkX3RhZyB0YWcgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnLCBiaXRfdGFncyk7CisKKwkJZnB1dGMoJyAnLCBmaWxlKTsJCQkvKiBzcGFjZSBiZXR3ZWVuIHRhZ3MgKi8KKwkJZnB1dHModGFnLT5iaXRfbmFtZSwgZmlsZSk7CQkvKiB0YWcgTkFNRSAqLworCQlmcHV0YygnPScsIGZpbGUpOwkJCS8qIHNlcGFyYXRvciBiZXR3ZWVuIE5BTUUgYW5kIFZBTFVFICovCisJCXNhdmVfcXVvdGVkKHRhZy0+Yml0X3ZhbCwgZmlsZSk7CS8qIHRhZyAiVkFMVUUiICovCisJfQorCWZwcmludGYoZmlsZSwgIj4lczwvZGV2aWNlPlxuIiwgZGV2LT5iaWRfbmFtZSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFdyaXRlIG91dCB0aGUgY2FjaGUgc3RydWN0IHRvIHRoZSBjYWNoZSBmaWxlIG9uIGRpc2suCisgKi8KK2ludCBibGtpZF9mbHVzaF9jYWNoZShibGtpZF9jYWNoZSBjYWNoZSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCWNoYXIgKnRtcCA9IE5VTEw7CisJY2hhciAqb3BlbmVkID0gTlVMTDsKKwljaGFyICpmaWxlbmFtZTsKKwlGSUxFICpmaWxlID0gTlVMTDsKKwlpbnQgZmQsIHJldCA9IDA7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAobGlzdF9lbXB0eSgmY2FjaGUtPmJpY19kZXZzKSB8fAorCSAgICAhKGNhY2hlLT5iaWNfZmxhZ3MgJiBCTEtJRF9CSUNfRkxfQ0hBTkdFRCkpIHsKKwkJREJHKFNBVkUsIHVsX2RlYnVnKCJza2lwcGluZyBjYWNoZSBmaWxlIHdyaXRlIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwlmaWxlbmFtZSA9IGNhY2hlLT5iaWNfZmlsZW5hbWUgPyBjYWNoZS0+YmljX2ZpbGVuYW1lIDoKKwkJCQkJIGJsa2lkX2dldF9jYWNoZV9maWxlbmFtZShOVUxMKTsKKwlpZiAoIWZpbGVuYW1lKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9QQVJBTTsKKworCWlmIChzdHJuY21wKGZpbGVuYW1lLAorCSAgICBCTEtJRF9SVU5USU1FX0RJUiAiLyIsIHNpemVvZihCTEtJRF9SVU5USU1FX0RJUikpID09IDApIHsKKworCQkvKiBkZWZhdWx0IGRlc3RpbmF0aW9uLCBjcmVhdGUgdGhlIGRpcmVjdG9yeSBpZiBuZWNlc3NhcnkgKi8KKwkJaWYgKHN0YXQoQkxLSURfUlVOVElNRV9ESVIsICZzdCkKKwkJICAgICYmIGVycm5vID09IEVOT0VOVAorCQkgICAgJiYgbWtkaXIoQkxLSURfUlVOVElNRV9ESVIsIFNfSVdVU1J8CisJCQkJCQlTX0lSVVNSfFNfSVJHUlB8U19JUk9USHwKKwkJCQkJCVNfSVhVU1J8U19JWEdSUHxTX0lYT1RIKSAhPSAwCisJCSAgICAmJiBlcnJubyAhPSBFRVhJU1QpIHsKKwkJCURCRyhTQVZFLCB1bF9kZWJ1ZygiY2FuJ3QgY3JlYXRlICVzIGRpcmVjdG9yeSBmb3IgY2FjaGUgZmlsZSIsCisJCQkJCUJMS0lEX1JVTlRJTUVfRElSKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCS8qIElmIHdlIGNhbid0IHdyaXRlIHRvIHRoZSBjYWNoZSBmaWxlLCB0aGVuIGRvbid0IGV2ZW4gdHJ5ICovCisJaWYgKCgocmV0ID0gc3RhdChmaWxlbmFtZSwgJnN0KSkgPCAwICYmIGVycm5vICE9IEVOT0VOVCkgfHwKKwkgICAgKHJldCA9PSAwICYmIGFjY2VzcyhmaWxlbmFtZSwgV19PSykgPCAwKSkgeworCQlEQkcoU0FWRSwgdWxfZGVidWcoImNhbid0IHdyaXRlIHRvIGNhY2hlIGZpbGUgJXMiLCBmaWxlbmFtZSkpOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKgorCSAqIFRyeSBhbmQgY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUgaW4gdGhlIHNhbWUgZGlyZWN0b3J5IHNvCisJICogdGhhdCBpbiBjYXNlIG9mIGVycm9yIHdlIGRvbid0IG92ZXJ3cml0ZSB0aGUgY2FjaGUgZmlsZS4KKwkgKiBJZiB0aGUgY2FjaGUgZmlsZSBkb2Vzbid0IHlldCBleGlzdCwgaXQgaXNuJ3QgYSByZWd1bGFyCisJICogZmlsZSAoZS5nLiAvZGV2L251bGwgb3IgYSBzb2NrZXQpLCBvciB3ZSBjb3VsZG4ndCBjcmVhdGUKKwkgKiBhIHRlbXBvcmFyeSBmaWxlIHRoZW4gd2Ugb3BlbiBpdCBkaXJlY3RseS4KKwkgKi8KKwlpZiAocmV0ID09IDAgJiYgU19JU1JFRyhzdC5zdF9tb2RlKSkgeworCQl0bXAgPSBtYWxsb2Moc3RybGVuKGZpbGVuYW1lKSArIDgpOworCQlpZiAodG1wKSB7CisJCQlzcHJpbnRmKHRtcCwgIiVzLVhYWFhYWCIsIGZpbGVuYW1lKTsKKwkJCWZkID0gbWtzdGVtcF9jbG9leGVjKHRtcCk7CisJCQlpZiAoZmQgPj0gMCkgeworCQkJCWlmIChmY2htb2QoZmQsIDA2NDQpICE9IDApCisJCQkJCURCRyhTQVZFLCB1bF9kZWJ1ZygiJXM6IGZjaG1vZCBmYWlsZWQiLCBmaWxlbmFtZSkpOworCQkJCWVsc2UgaWYgKChmaWxlID0gZmRvcGVuKGZkLCAidyIgVUxfQ0xPRVhFQ1NUUikpKQorCQkJCQlvcGVuZWQgPSB0bXA7CisJCQkJaWYgKCFmaWxlKQorCQkJCQljbG9zZShmZCk7CisJCQl9CisJCX0KKwl9CisKKwlpZiAoIWZpbGUpIHsKKwkJZmlsZSA9IGZvcGVuKGZpbGVuYW1lLCAidyIgVUxfQ0xPRVhFQ1NUUik7CisJCW9wZW5lZCA9IGZpbGVuYW1lOworCX0KKworCURCRyhTQVZFLCB1bF9kZWJ1Zygid3JpdGluZyBjYWNoZSBmaWxlICVzIChyZWFsbHkgJXMpIiwKKwkJICAgZmlsZW5hbWUsIG9wZW5lZCkpOworCisJaWYgKCFmaWxlKSB7CisJCXJldCA9IGVycm5vOworCQlnb3RvIGVycm91dDsKKwl9CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZjYWNoZS0+YmljX2RldnMpIHsKKwkJYmxraWRfZGV2IGRldiA9IGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3N0cnVjdF9kZXYsIGJpZF9kZXZzKTsKKwkJaWYgKCFkZXYtPmJpZF90eXBlIHx8IChkZXYtPmJpZF9mbGFncyAmIEJMS0lEX0JJRF9GTF9SRU1PVkFCTEUpKQorCQkJY29udGludWU7CisJCWlmICgocmV0ID0gc2F2ZV9kZXYoZGV2LCBmaWxlKSkgPCAwKQorCQkJYnJlYWs7CisJfQorCisJaWYgKHJldCA+PSAwKSB7CisJCWNhY2hlLT5iaWNfZmxhZ3MgJj0gfkJMS0lEX0JJQ19GTF9DSEFOR0VEOworCQlyZXQgPSAxOworCX0KKworCWlmIChjbG9zZV9zdHJlYW0oZmlsZSkgIT0gMCkKKwkJREJHKFNBVkUsIHVsX2RlYnVnKCJ3cml0ZSBmYWlsZWQ6ICVzIiwgZmlsZW5hbWUpKTsKKworCWlmIChvcGVuZWQgIT0gZmlsZW5hbWUpIHsKKwkJaWYgKHJldCA8IDApIHsKKwkJCXVubGluayhvcGVuZWQpOworCQkJREJHKFNBVkUsIHVsX2RlYnVnKCJ1bmxpbmtlZCB0ZW1wIGNhY2hlICVzIiwgb3BlbmVkKSk7CisJCX0gZWxzZSB7CisJCQljaGFyICpiYWNrdXA7CisKKwkJCWJhY2t1cCA9IG1hbGxvYyhzdHJsZW4oZmlsZW5hbWUpICsgNSk7CisJCQlpZiAoYmFja3VwKSB7CisJCQkJc3ByaW50ZihiYWNrdXAsICIlcy5vbGQiLCBmaWxlbmFtZSk7CisJCQkJdW5saW5rKGJhY2t1cCk7CisJCQkJaWYgKGxpbmsoZmlsZW5hbWUsIGJhY2t1cCkpIHsKKwkJCQkJREJHKFNBVkUsIHVsX2RlYnVnKCJjYW4ndCBsaW5rICVzIHRvICVzIiwKKwkJCQkJCQlmaWxlbmFtZSwgYmFja3VwKSk7CisJCQkJfQorCQkJCWZyZWUoYmFja3VwKTsKKwkJCX0KKwkJCWlmIChyZW5hbWUob3BlbmVkLCBmaWxlbmFtZSkpIHsKKwkJCQlyZXQgPSBlcnJubzsKKwkJCQlEQkcoU0FWRSwgdWxfZGVidWcoImNhbid0IHJlbmFtZSAlcyB0byAlcyIsCisJCQkJCQlvcGVuZWQsIGZpbGVuYW1lKSk7CisJCQl9IGVsc2UgeworCQkJCURCRyhTQVZFLCB1bF9kZWJ1ZygibW92ZWQgdGVtcCBjYWNoZSAlcyIsIG9wZW5lZCkpOworCQkJfQorCQl9CisJfQorCitlcnJvdXQ6CisJZnJlZSh0bXApOworCWlmIChmaWxlbmFtZSAhPSBjYWNoZS0+YmljX2ZpbGVuYW1lKQorCQlmcmVlKGZpbGVuYW1lKTsKKwlyZXR1cm4gcmV0OworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJYmxraWRfY2FjaGUgY2FjaGUgPSBOVUxMOworCWludCByZXQ7CisKKwlibGtpZF9pbml0X2RlYnVnKEJMS0lEX0RFQlVHX0FMTCk7CisJaWYgKGFyZ2MgPiAyKSB7CisJCWZwcmludGYoc3RkZXJyLCAiVXNhZ2U6ICVzIFtmaWxlbmFtZV1cbiIKKwkJCSJUZXN0IGxvYWRpbmcvc2F2aW5nIGEgY2FjaGUgKGZpbGVuYW1lKVxuIiwgYXJndlswXSk7CisJCWV4aXQoMSk7CisJfQorCisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCAiL2Rldi9udWxsIikpICE9IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICIlczogZXJyb3IgY3JlYXRpbmcgY2FjaGUgKCVkKVxuIiwKKwkJCWFyZ3ZbMF0sIHJldCk7CisJCWV4aXQoMSk7CisJfQorCWlmICgocmV0ID0gYmxraWRfcHJvYmVfYWxsKGNhY2hlKSkgPCAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiZXJyb3IgKCVkKSBwcm9iaW5nIGRldmljZXNcbiIsIHJldCk7CisJCWV4aXQoMSk7CisJfQorCWNhY2hlLT5iaWNfZmlsZW5hbWUgPSBzdHJkdXAoYXJndlsxXSk7CisKKwlpZiAoKHJldCA9IGJsa2lkX2ZsdXNoX2NhY2hlKGNhY2hlKSkgPCAwKSB7CisJCWZwcmludGYoc3RkZXJyLCAiZXJyb3IgKCVkKSBzYXZpbmcgY2FjaGVcbiIsIHJldCk7CisJCWV4aXQoMSk7CisJfQorCisJYmxraWRfcHV0X2NhY2hlKGNhY2hlKTsKKworCXJldHVybiByZXQ7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9hZGFwdGVjX3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9hZGFwdGVjX3JhaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmM1ZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2FkYXB0ZWNfcmFpZC5jCkBAIC0wLDAgKzEsMTE2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBhZGFwdGVjX21ldGFkYXRhIHsKKworCXVpbnQzMl90CWIwaWRjb2RlOworCXVpbnQ4X3QJCWx1bnNhdmVbOF07CisJdWludDE2X3QJc2R0eXBlOworCXVpbnQxNl90CXNzYXZlY3lsOworCXVpbnQ4X3QJCXNzYXZlaGVkOworCXVpbnQ4X3QJCXNzYXZlc2VjOworCXVpbnQ4X3QJCXNiMGZsYWdzOworCXVpbnQ4X3QJCWpib2RFbmFibGU7CisJdWludDhfdAkJbHVuZHNhdmU7CisJdWludDhfdAkJc3ZwZGlydHk7CisJdWludDE2X3QJYmlvc0luZm87CisJdWludDE2X3QJc3Z3YnNraXA7CisJdWludDE2X3QJc3Z3YmNsbjsKKwl1aW50MTZfdAlzdndibWF4OworCXVpbnQxNl90CXJlczM7CisJdWludDE2X3QJc3Z3Ym1pbjsKKwl1aW50MTZfdAlyZXM0OworCXVpbnQxNl90CXN2cmNhY3RoOworCXVpbnQxNl90CXN2d2NhY3RoOworCXVpbnQxNl90CXN2d2JkbHk7CisJdWludDhfdAkJc3ZzZHRpbWU7CisJdWludDhfdAkJcmVzNTsKKwl1aW50MTZfdAlmaXJtdmFsOworCXVpbnQxNl90CWZpcm1ibG47CisJdWludDMyX3QJZmlybWJsazsKKwl1aW50MzJfdAlmc3Ryc3ZyYjsKKwl1aW50MTZfdAlzdkJsb2NrU3RvcmFnZVRpZDsKKwl1aW50MTZfdAlzdnRpZDsKKwl1aW50OF90CQlzdnNlY2NmbDsKKwl1aW50OF90CQlyZXM2OworCXVpbnQ4X3QJCXN2aGJhbnVtOworCXVpbnQ4X3QJCXJlc3ZlcjsKKwl1aW50MzJfdAlkcml2ZW1hZ2ljOworCXVpbnQ4X3QJCXJlc2VydmVkWzIwXTsKKwl1aW50OF90CQl0ZXN0bnVtOworCXVpbnQ4X3QJCXRlc3RmbGFnczsKKwl1aW50MTZfdAltYXhFcnJvckNvdW50OworCXVpbnQzMl90CWNvdW50OworCXVpbnQzMl90CXN0YXJ0VGltZTsKKwl1aW50MzJfdAlpbnRlcnZhbDsKKwl1aW50OF90CQl0c3R4dDA7CisJdWludDhfdAkJdHN0eHQxOworCXVpbnQ4X3QJCXNlck51bVszMl07CisJdWludDhfdAkJcmVzOFsxMDJdOworCXVpbnQzMl90CWZ3VGVzdE1hZ2ljOworCXVpbnQzMl90CWZ3VGVzdFNlcU51bTsKKwl1aW50OF90CQlmd1Rlc3RSZXNbOF07CisJdWludDMyX3QJc21hZ2ljOworCXVpbnQzMl90CXJhaWR0Ymw7CisJdWludDE2X3QJcmFpZGxpbmU7CisJdWludDhfdAkJcmVzOVsweEY2XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgQURfU0lHTkFUVVJFCTB4NDQ1MDU0NEQJLyogIkRQVE0iICovCisjZGVmaW5lIEFEX01BR0lDCTB4MzdGQzREMUUKKworc3RhdGljIGludCBwcm9iZV9hZHJhaWQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwl1aW50NjRfdCBvZmY7CisJc3RydWN0IGFkYXB0ZWNfbWV0YWRhdGEgKmFkOworCisJaWYgKHByLT5zaXplIDwgMHgxMDAwMCkKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCktMSkgKiAweDIwMDsKKwlhZCA9IChzdHJ1Y3QgYWRhcHRlY19tZXRhZGF0YSAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJb2ZmLAorCQkJCQlzaXplb2Yoc3RydWN0IGFkYXB0ZWNfbWV0YWRhdGEpKTsKKwlpZiAoIWFkKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGFkLT5zbWFnaWMgIT0gYmUzMl90b19jcHUoQURfU0lHTkFUVVJFKSkKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisJaWYgKGFkLT5iMGlkY29kZSAhPSBiZTMyX3RvX2NwdShBRF9NQUdJQykpCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCWlmIChibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldSIsIGFkLT5yZXN2ZXIpICE9IDApCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgc2l6ZW9mKGFkLT5iMGlkY29kZSksCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgJmFkLT5iMGlkY29kZSkpCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGFkcmFpZF9pZGluZm8gPSB7CisJLm5hbWUJCT0gImFkYXB0ZWNfcmFpZF9tZW1iZXIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9SQUlELAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9hZHJhaWQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9hcGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYXBmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZGI2ZWIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYXBmcy5jCkBAIC0wLDAgKzEsODEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggSGFycnkgTWFsbG9uIDxoam1hbGxvbkBnbWFpbC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworI2RlZmluZSBBUEZTX0NPTlRBSU5FUl9TVVBFUkJMT0NLX1RZUEUgMQorI2RlZmluZSBBUEZTX0NPTlRBSU5FUl9TVVBFUkJMT0NLX1NVQlRZUEUgMAorI2RlZmluZSBBUEZTX1NUQU5EQVJEX0JMT0NLX1NJWkUgNDA5NgorCisvKgorICogVGhpcyBzdHJ1Y3QgaXMgbXVjaCBsb25nZXIgdGhhbiB0aGlzLCBidXQgdGhpcyBzZWVtcworICogdG8gY29udGFpbiB0aGUgdXNlZnVsIGJpdHMgKGZvciBub3cpLgorICoKKyAqIEFsbCB2YWx1ZXMgYXJlIGxpdHRsZS1lbmRpYW4uCisgKi8KK3N0cnVjdCBhcGZzX3N1cGVyX2Jsb2NrIHsKKwkvLyBHZW5lcmljIHBhcnQgdG8gYWxsIEFQRlMgb2JqZWN0cworCXVpbnQ2NF90IGNoZWNrc3VtOworCXVpbnQ2NF90IG9pZDsKKwl1aW50NjRfdCB4aWQ7CisJdWludDE2X3QgdHlwZTsKKwl1aW50MTZfdCBmbGFnczsKKwl1aW50MTZfdCBzdWJ0eXBlOworCXVpbnQxNl90IHBhZDsKKworCS8vIFNwZWNpZmljIHRvIGNvbnRhaW5lciBoZWFkZXIKKwl1aW50MzJfdCBtYWdpYzsgLy8gJ05YU0InCisJdWludDMyX3QgYmxvY2tfc2l6ZTsKKwl1aW50NjRfdCBibG9ja19jb3VudDsKKwl1aW50NjRfdCBmZWF0dXJlczsKKwl1aW50NjRfdCByZWFkX29ubHlfZmVhdHVyZXM7CisJdWludDY0X3QgaW5jb21wYXRpYmxlX2ZlYXR1cmVzOworCXVpbnQ4X3QgdXVpZFsxNl07Cit9OworCitzdGF0aWMgaW50IHByb2JlX2FwZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBhcGZzX3N1cGVyX2Jsb2NrICpzYjsKKworCXNiID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBhcGZzX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIXNiKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGxlMTZfdG9fY3B1KHNiLT50eXBlKSAhPSBBUEZTX0NPTlRBSU5FUl9TVVBFUkJMT0NLX1RZUEUpCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGxlMTZfdG9fY3B1KHNiLT5zdWJ0eXBlKSAhPSBBUEZTX0NPTlRBSU5FUl9TVVBFUkJMT0NLX1NVQlRZUEUpCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGxlMTZfdG9fY3B1KHNiLT5wYWQpICE9IDApCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJLyoKKwkgKiBUaGlzIGNoZWNrIGlzIHByZXR0eSBkcmFjb25pYW4sIGJ1dCBzaG91bGQgYXZvaWQgZmFsc2UKKwkgKiBwb3NpdGl2ZXMuIENhbiBiZSBpbXByb3ZlZCBhcyBtb3JlIEFQRlMgZG9jdW1lbnRhdGlvbgorCSAqIGlzIHB1Ymxpc2hlZC4KKwkgKi8KKwlpZiAobGUzMl90b19jcHUoc2ItPmJsb2NrX3NpemUpICE9IEFQRlNfU1RBTkRBUkRfQkxPQ0tfU0laRSkKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwlpZiAoYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHNiLT51dWlkKSA8IDApCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGFwZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiYXBmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2FwZnMsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiTlhTQiIsIC5sZW4gPSA0LCAuc2JvZmYgPSAzMiB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmNhY2hlLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmNhY2hlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhlYjI0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iY2FjaGUuYwpAQCAtMCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBSb2xmIEZva2tlbnMgPHJvbGZAZm9ra2Vucy5ubD4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqIEJhc2VkIG9uIGNvZGUgZnJhZ21lbnRzIGZyb20gYmNhY2hlLXRvb2xzIGJ5IEtlbnQgT3ZlcnN0cmVldDoKKyAqIGh0dHA6Ly9ldmlscGllcGlyYXRlLm9yZy9naXQvYmNhY2hlLXRvb2xzLmdpdAorICovCisKKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworI2RlZmluZSBTQl9MQUJFTF9TSVpFICAgICAgMzIKKyNkZWZpbmUgU0JfSk9VUk5BTF9CVUNLRVRTIDI1NlUKKworI2RlZmluZSBub2RlKGksIGopICAgICAgICAgKChpKS0+ZCArIChqKSkKKyNkZWZpbmUgZW5kKGkpICAgICAgICAgICAgIG5vZGUoaSwgbGUxNl90b19jcHUoKGkpLT5rZXlzKSkKKworc3RydWN0IGJjYWNoZV9zdXBlcl9ibG9jayB7CisJdWludDY0X3QJCWNzdW07CisJdWludDY0X3QJCW9mZnNldDsJLyogc2VjdG9yIHdoZXJlIHRoaXMgc2Igd2FzIHdyaXR0ZW4gKi8KKwl1aW50NjRfdAkJdmVyc2lvbjsKKworCXVpbnQ4X3QJCQltYWdpY1sxNl07CisKKwl1aW50OF90CQkJdXVpZFsxNl07CisJdW5pb24geworCQl1aW50OF90CQlzZXRfdXVpZFsxNl07CisJCXVpbnQ2NF90CXNldF9tYWdpYzsKKwl9OworCXVpbnQ4X3QJCQlsYWJlbFtTQl9MQUJFTF9TSVpFXTsKKworCXVpbnQ2NF90CQlmbGFnczsKKwl1aW50NjRfdAkJc2VxOworCXVpbnQ2NF90CQlwYWRbOF07CisKKwl1bmlvbiB7CisJc3RydWN0IHsKKwkJLyogQ2FjaGUgZGV2aWNlcyAqLworCQl1aW50NjRfdAluYnVja2V0czsJLyogZGV2aWNlIHNpemUgKi8KKworCQl1aW50MTZfdAlibG9ja19zaXplOwkvKiBzZWN0b3JzICovCisJCXVpbnQxNl90CWJ1Y2tldF9zaXplOwkvKiBzZWN0b3JzICovCisKKwkJdWludDE2X3QJbnJfaW5fc2V0OworCQl1aW50MTZfdAlucl90aGlzX2RldjsKKwl9OworCXN0cnVjdCB7CisJCS8qIEJhY2tpbmcgZGV2aWNlcyAqLworCQl1aW50NjRfdAlkYXRhX29mZnNldDsKKworCQkvKgorCQkgKiBibG9ja19zaXplIGZyb20gdGhlIGNhY2hlIGRldmljZSBzZWN0aW9uIGlzIHN0aWxsIHVzZWQgYnkKKwkJICogYmFja2luZyBkZXZpY2VzLCBzbyBkb24ndCBhZGQgYW55dGhpbmcgaGVyZSB1bnRpbCB3ZSBmaXgKKwkJICogdGhpbmdzIHRvIG5vdCBuZWVkIGl0IGZvciBiYWNraW5nIGRldmljZXMgYW55bW9yZQorCQkgKi8KKwl9OworCX07CisKKwl1aW50MzJfdAkJbGFzdF9tb3VudDsJLyogdGltZV90ICovCisKKwl1aW50MTZfdAkJZmlyc3RfYnVja2V0OworCXVuaW9uIHsKKwkJdWludDE2X3QJbmpvdXJuYWxfYnVja2V0czsKKwkJdWludDE2X3QJa2V5czsKKwl9OworCXVpbnQ2NF90CQlkW1NCX0pPVVJOQUxfQlVDS0VUU107CS8qIGpvdXJuYWwgYnVja2V0cyAqLworfTsKKworLyogbWFnaWMgc3RyaW5nICovCisjZGVmaW5lIEJDQUNIRV9TQl9NQUdJQyAgICAgIlx4YzZceDg1XHg3M1x4ZjZceDRlXHgxYVx4NDVceGNhXHg4Mlx4NjVceGY1XHg3Zlx4NDhceGJhXHg2ZFx4ODEiCisvKiBtYWdpYyBzdHJpbmcgbGVuICovCisjZGVmaW5lIEJDQUNIRV9TQl9NQUdJQ19MRU4gKHNpemVvZihCQ0FDSEVfU0JfTUFHSUMpIC0gMSkKKy8qIHN1cGVyIGJsb2NrIG9mZnNldCAqLworI2RlZmluZSBCQ0FDSEVfU0JfT0ZGICAgICAgIDB4MTAwMAorLyogc3VwcGVyIGJsb2NrIG9mZnNldCBpbiBrQiAqLworI2RlZmluZSBCQ0FDSEVfU0JfS0JPRkYgICAgIChCQ0FDSEVfU0JfT0ZGID4+IDEwKQorLyogbWFnaWMgc3RyaW5nIG9mZnNldCB3aXRoaW4gc3VwZXIgYmxvY2sgKi8KKyNkZWZpbmUgQkNBQ0hFX1NCX01BR0lDX09GRiBvZmZzZXRvZiAoc3RydWN0IGJjYWNoZV9zdXBlcl9ibG9jaywgbWFnaWMpCisKK3N0YXRpYyBpbnQgcHJvYmVfYmNhY2hlIChibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGJjYWNoZV9zdXBlcl9ibG9jayAqYmNzOworCisJYmNzID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBiY2FjaGVfc3VwZXJfYmxvY2spOworCWlmICghYmNzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGxlNjRfdG9fY3B1KGJjcy0+b2Zmc2V0KSAhPSBCQ0FDSEVfU0JfT0ZGIC8gNTEyKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCWlmIChibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgYmNzLT51dWlkKSA8IDApCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJjYWNoZV9pZGluZm8gPQoreworCS5uYW1lCQk9ICJiY2FjaGUiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9PVEhFUiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfYmNhY2hlLAorCS5taW5zegkJPSA4MTkyLAorCS5tYWdpY3MJCT0KKwl7CisJCXsKKwkJCS5tYWdpYyA9IEJDQUNIRV9TQl9NQUdJQywKKwkJCS5sZW4gICA9IEJDQUNIRV9TQl9NQUdJQ19MRU4sCisJCQkua2JvZmYgPSBCQ0FDSEVfU0JfS0JPRkYsCisJCQkuc2JvZmYgPSBCQ0FDSEVfU0JfTUFHSUNfT0ZGCisJCX0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2JlZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iZWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTRhZjk3MgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iZWZzLmMKQEAgLTAsMCArMSw1NDAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSmVyb2VuIE9vcnR3aWpuIDxvb3J0d2lqbkBnbWFpbC5jb20+CisgKgorICogUGFydGx5IGJhc2VkIG9uIHRoZSBIYWlrdSBCRlMgZHJpdmVyIGJ5CisgKiAgICAgQXhlbCBEw7ZyZmxlciA8YXhlbGRAcGluYy1zb2Z0d2FyZS5kZT4KKyAqCisgKiBBbHNvIGluc3BpcmVkIGJ5IHRoZSBMaW51eCBCZUZTIGRyaXZlciBieQorICogICAgIFdpbGwgRHlzb24gPHdpbGxfZHlzb25AcG9ib3guY29tPiwgZXQgYWwuCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKyNkZWZpbmUgQl9PU19OQU1FX0xFTkdUSAkweDIwCisjZGVmaW5lIFNVUEVSX0JMT0NLX01BR0lDMQkweDQyNDY1MzMxCS8qIEJGUzEgKi8KKyNkZWZpbmUgU1VQRVJfQkxPQ0tfTUFHSUMyCTB4ZGQxMjEwMzEKKyNkZWZpbmUgU1VQRVJfQkxPQ0tfTUFHSUMzCTB4MTViNjgzMGUKKyNkZWZpbmUgU1VQRVJfQkxPQ0tfRlNfRU5ESUFOCTB4NDI0OTQ3NDUJLyogQklHRSAqLworI2RlZmluZSBJTk9ERV9NQUdJQzEJCTB4M2JiZTBhZDkKKyNkZWZpbmUgQlBMVVNUUkVFX01BR0lDCQkweDY5ZjZjMmU4CisjZGVmaW5lIEJQTFVTVFJFRV9OVUxMCQktMUxMCisjZGVmaW5lIE5VTV9ESVJFQ1RfQkxPQ0tTCTEyCisjZGVmaW5lIEJfVUlOVDY0X1RZUEUJCTB4NTU0YzRjNDcJLyogVUxMRyAqLworI2RlZmluZSBLRVlfTkFNRQkJImJlOnZvbHVtZV9pZCIKKyNkZWZpbmUgS0VZX1NJWkUJCTgKKworI2RlZmluZSBGUzE2X1RPX0NQVSh2YWx1ZSwgZnNfaXNfbGUpIChmc19pc19sZSA/IGxlMTZfdG9fY3B1KHZhbHVlKSBcCisJCQkJCQkJOiBiZTE2X3RvX2NwdSh2YWx1ZSkpCisjZGVmaW5lIEZTMzJfVE9fQ1BVKHZhbHVlLCBmc19pc19sZSkgKGZzX2lzX2xlID8gbGUzMl90b19jcHUodmFsdWUpIFwKKwkJCQkJCQk6IGJlMzJfdG9fY3B1KHZhbHVlKSkKKyNkZWZpbmUgRlM2NF9UT19DUFUodmFsdWUsIGZzX2lzX2xlKSAoZnNfaXNfbGUgPyBsZTY0X3RvX2NwdSh2YWx1ZSkgXAorCQkJCQkJCTogYmU2NF90b19jcHUodmFsdWUpKQorCit0eXBlZGVmIHN0cnVjdCBibG9ja19ydW4geworCWludDMyX3QJCWFsbG9jYXRpb25fZ3JvdXA7CisJdWludDE2X3QJc3RhcnQ7CisJdWludDE2X3QJbGVuOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBibG9ja19ydW4sIGlub2RlX2FkZHI7CisKK3N0cnVjdCBiZWZzX3N1cGVyX2Jsb2NrIHsKKwljaGFyCQluYW1lW0JfT1NfTkFNRV9MRU5HVEhdOworCWludDMyX3QJCW1hZ2ljMTsKKwlpbnQzMl90CQlmc19ieXRlX29yZGVyOworCXVpbnQzMl90CWJsb2NrX3NpemU7CisJdWludDMyX3QJYmxvY2tfc2hpZnQ7CisJaW50NjRfdAkJbnVtX2Jsb2NrczsKKwlpbnQ2NF90CQl1c2VkX2Jsb2NrczsKKwlpbnQzMl90CQlpbm9kZV9zaXplOworCWludDMyX3QJCW1hZ2ljMjsKKwlpbnQzMl90CQlibG9ja3NfcGVyX2FnOworCWludDMyX3QJCWFnX3NoaWZ0OworCWludDMyX3QJCW51bV9hZ3M7CisJaW50MzJfdAkJZmxhZ3M7CisJYmxvY2tfcnVuCWxvZ19ibG9ja3M7CisJaW50NjRfdAkJbG9nX3N0YXJ0OworCWludDY0X3QJCWxvZ19lbmQ7CisJaW50MzJfdAkJbWFnaWMzOworCWlub2RlX2FkZHIJcm9vdF9kaXI7CisJaW5vZGVfYWRkcglpbmRpY2VzOworCWludDMyX3QJCXBhZFs4XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3R5cGVkZWYgc3RydWN0IGRhdGFfc3RyZWFtIHsKKwlibG9ja19ydW4JZGlyZWN0W05VTV9ESVJFQ1RfQkxPQ0tTXTsKKwlpbnQ2NF90CQltYXhfZGlyZWN0X3JhbmdlOworCWJsb2NrX3J1bglpbmRpcmVjdDsKKwlpbnQ2NF90CQltYXhfaW5kaXJlY3RfcmFuZ2U7CisJYmxvY2tfcnVuCWRvdWJsZV9pbmRpcmVjdDsKKwlpbnQ2NF90CQltYXhfZG91YmxlX2luZGlyZWN0X3JhbmdlOworCWludDY0X3QJCXNpemU7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGRhdGFfc3RyZWFtOworCitzdHJ1Y3QgYmVmc19pbm9kZSB7CisJaW50MzJfdAkJbWFnaWMxOworCWlub2RlX2FkZHIJaW5vZGVfbnVtOworCWludDMyX3QJCXVpZDsKKwlpbnQzMl90CQlnaWQ7CisJaW50MzJfdAkJbW9kZTsKKwlpbnQzMl90CQlmbGFnczsKKwlpbnQ2NF90CQljcmVhdGVfdGltZTsKKwlpbnQ2NF90CQlsYXN0X21vZGlmaWVkX3RpbWU7CisJaW5vZGVfYWRkcglwYXJlbnQ7CisJaW5vZGVfYWRkcglhdHRyaWJ1dGVzOworCXVpbnQzMl90CXR5cGU7CisJaW50MzJfdAkJaW5vZGVfc2l6ZTsKKwl1aW50MzJfdAlldGM7CisJZGF0YV9zdHJlYW0JZGF0YTsKKwlpbnQzMl90CQlwYWRbNF07CisJaW50MzJfdAkJc21hbGxfZGF0YVswXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBzbWFsbF9kYXRhIHsKKwl1aW50MzJfdAl0eXBlOworCXVpbnQxNl90CW5hbWVfc2l6ZTsKKwl1aW50MTZfdAlkYXRhX3NpemU7CisJY2hhcgkJbmFtZVswXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBicGx1c3RyZWVfaGVhZGVyIHsKKwl1aW50MzJfdAltYWdpYzsKKwl1aW50MzJfdAlub2RlX3NpemU7CisJdWludDMyX3QJbWF4X251bWJlcl9vZl9sZXZlbHM7CisJdWludDMyX3QJZGF0YV90eXBlOworCWludDY0X3QJCXJvb3Rfbm9kZV9wb2ludGVyOworCWludDY0X3QJCWZyZWVfbm9kZV9wb2ludGVyOworCWludDY0X3QJCW1heGltdW1fc2l6ZTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBicGx1c3RyZWVfbm9kZSB7CisJaW50NjRfdAkJbGVmdF9saW5rOworCWludDY0X3QJCXJpZ2h0X2xpbms7CisJaW50NjRfdAkJb3ZlcmZsb3dfbGluazsKKwl1aW50MTZfdAlhbGxfa2V5X2NvdW50OworCXVpbnQxNl90CWFsbF9rZXlfbGVuZ3RoOworCWNoYXIJCW5hbWVbMF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgdW5zaWduZWQgY2hhciAqZ2V0X2Jsb2NrX3J1bihibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJlZnNfc3VwZXJfYmxvY2sgKmJzLAorCQkJCQljb25zdCBzdHJ1Y3QgYmxvY2tfcnVuICpiciwgaW50IGZzX2xlKQoreworCXJldHVybiBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJKCh1aW50NjRfdCkgRlMzMl9UT19DUFUoYnItPmFsbG9jYXRpb25fZ3JvdXAsIGZzX2xlKQorCQkJCQk8PCBGUzMyX1RPX0NQVShicy0+YWdfc2hpZnQsIGZzX2xlKQorCQkJCQk8PCBGUzMyX1RPX0NQVShicy0+YmxvY2tfc2hpZnQsIGZzX2xlKSkKKwkJCQkrICgodWludDY0X3QpIEZTMTZfVE9fQ1BVKGJyLT5zdGFydCwgZnNfbGUpCisJCQkJCTw8IEZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaGlmdCwgZnNfbGUpKSwKKwkJCSh1aW50NjRfdCkgRlMxNl9UT19DUFUoYnItPmxlbiwgZnNfbGUpCisJCQkJCTw8IEZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaGlmdCwgZnNfbGUpKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGNoYXIgKmdldF9jdXN0b21fYmxvY2tfcnVuKGJsa2lkX3Byb2JlIHByLAorCQkJCWNvbnN0IHN0cnVjdCBiZWZzX3N1cGVyX2Jsb2NrICpicywKKwkJCQljb25zdCBzdHJ1Y3QgYmxvY2tfcnVuICpiciwKKwkJCQlpbnQ2NF90IG9mZnNldCwgdWludDMyX3QgbGVuZ3RoLCBpbnQgZnNfbGUpCit7CisJaWYgKG9mZnNldCArIGxlbmd0aCA+IChpbnQ2NF90KSBGUzE2X1RPX0NQVShici0+bGVuLCBmc19sZSkKKwkJCQkJPDwgRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSkpCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkoKHVpbnQ2NF90KSBGUzMyX1RPX0NQVShici0+YWxsb2NhdGlvbl9ncm91cCwgZnNfbGUpCisJCQkJCTw8IEZTMzJfVE9fQ1BVKGJzLT5hZ19zaGlmdCwgZnNfbGUpCisJCQkJCTw8IEZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaGlmdCwgZnNfbGUpKQorCQkJCSsgKCh1aW50NjRfdCkgRlMxNl9UT19DUFUoYnItPnN0YXJ0LCBmc19sZSkKKwkJCQkJPDwgRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSkpCisJCQkJKyBvZmZzZXQsCisJCQlsZW5ndGgpOworfQorCitzdGF0aWMgdW5zaWduZWQgY2hhciAqZ2V0X3RyZWVfbm9kZShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJlZnNfc3VwZXJfYmxvY2sgKmJzLAorCQkJCWNvbnN0IHN0cnVjdCBkYXRhX3N0cmVhbSAqZHMsCisJCQkJaW50NjRfdCBzdGFydCwgdWludDMyX3QgbGVuZ3RoLCBpbnQgZnNfbGUpCit7CisJaWYgKHN0YXJ0IDwgKGludDY0X3QpIEZTNjRfVE9fQ1BVKGRzLT5tYXhfZGlyZWN0X3JhbmdlLCBmc19sZSkpIHsKKwkJaW50NjRfdCBicl9sZW47CisJCXNpemVfdCBpOworCisJCWZvciAoaSA9IDA7IGkgPCBOVU1fRElSRUNUX0JMT0NLUzsgaSsrKSB7CisJCQlicl9sZW4gPSAoaW50NjRfdCkgRlMxNl9UT19DUFUoZHMtPmRpcmVjdFtpXS5sZW4sIGZzX2xlKQorCQkJCQk8PCBGUzMyX1RPX0NQVShicy0+YmxvY2tfc2hpZnQsIGZzX2xlKTsKKwkJCWlmIChzdGFydCA8IGJyX2xlbikKKwkJCQlyZXR1cm4gZ2V0X2N1c3RvbV9ibG9ja19ydW4ocHIsIGJzLAorCQkJCQkJCSZkcy0+ZGlyZWN0W2ldLAorCQkJCQkJCXN0YXJ0LCBsZW5ndGgsIGZzX2xlKTsKKwkJCWVsc2UKKwkJCQlzdGFydCAtPSBicl9sZW47CisJCX0KKwl9IGVsc2UgaWYgKHN0YXJ0IDwgKGludDY0X3QpIEZTNjRfVE9fQ1BVKGRzLT5tYXhfaW5kaXJlY3RfcmFuZ2UsIGZzX2xlKSkgeworCQlzdHJ1Y3QgYmxvY2tfcnVuICpicjsKKwkJaW50NjRfdCBtYXhfYnIsIGJyX2xlbiwgaTsKKworCQlzdGFydCAtPSBGUzY0X1RPX0NQVShkcy0+bWF4X2RpcmVjdF9yYW5nZSwgZnNfbGUpOworCQltYXhfYnIgPSAoKGludDY0X3QpIEZTMTZfVE9fQ1BVKGRzLT5pbmRpcmVjdC5sZW4sIGZzX2xlKQorCQkJCQk8PCBGUzMyX1RPX0NQVShicy0+YmxvY2tfc2hpZnQsIGZzX2xlKSkKKwkJCQkvIHNpemVvZihzdHJ1Y3QgYmxvY2tfcnVuKTsKKworCQliciA9IChzdHJ1Y3QgYmxvY2tfcnVuICopIGdldF9ibG9ja19ydW4ocHIsIGJzLCAmZHMtPmluZGlyZWN0LAorCQkJCQkJCQkJZnNfbGUpOworCQlpZiAoIWJyKQorCQkJcmV0dXJuIE5VTEw7CisKKwkJZm9yIChpID0gMDsgaSA8IG1heF9icjsgaSsrKSB7CisJCQlicl9sZW4gPSAoaW50NjRfdCkgRlMxNl9UT19DUFUoYnJbaV0ubGVuLCBmc19sZSkKKwkJCQkJPDwgRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSk7CisJCQlpZiAoc3RhcnQgPCBicl9sZW4pCisJCQkJcmV0dXJuIGdldF9jdXN0b21fYmxvY2tfcnVuKHByLCBicywgJmJyW2ldLAorCQkJCQkJCXN0YXJ0LCBsZW5ndGgsIGZzX2xlKTsKKwkJCWVsc2UKKwkJCQlzdGFydCAtPSBicl9sZW47CisJCX0KKwl9IGVsc2UgaWYgKHN0YXJ0IDwgKGludDY0X3QpIEZTNjRfVE9fQ1BVKGRzLT5tYXhfZG91YmxlX2luZGlyZWN0X3JhbmdlLCBmc19sZSkpIHsKKwkJc3RydWN0IGJsb2NrX3J1biAqYnI7CisJCWludDY0X3QgbWF4X2JyLCBkaV9icl9zaXplLCBicl9wZXJfZGlfYnIsIGRpX2luZGV4LCBpX2luZGV4OworCisJCXN0YXJ0IC09IChpbnQ2NF90KSBGUzY0X1RPX0NQVShkcy0+bWF4X2luZGlyZWN0X3JhbmdlLCBmc19sZSk7CisKKwkJZGlfYnJfc2l6ZSA9IChpbnQ2NF90KSBGUzE2X1RPX0NQVShkcy0+ZG91YmxlX2luZGlyZWN0LmxlbiwKKwkJCQlmc19sZSkgPDwgRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSk7CisJCWlmIChkaV9icl9zaXplID09IDApCisJCQlyZXR1cm4gTlVMTDsKKworCQlicl9wZXJfZGlfYnIgPSBkaV9icl9zaXplIC8gc2l6ZW9mKHN0cnVjdCBibG9ja19ydW4pOworCQlpZiAoYnJfcGVyX2RpX2JyID09IDApCisJCQlyZXR1cm4gTlVMTDsKKworCQlkaV9pbmRleCA9IHN0YXJ0IC8gKGJyX3Blcl9kaV9iciAqIGRpX2JyX3NpemUpOworCQlpX2luZGV4ID0gKHN0YXJ0ICUgKGJyX3Blcl9kaV9iciAqIGRpX2JyX3NpemUpKSAvIGRpX2JyX3NpemU7CisJCXN0YXJ0ID0gKHN0YXJ0ICUgKGJyX3Blcl9kaV9iciAqIGRpX2JyX3NpemUpKSAlIGRpX2JyX3NpemU7CisKKwkJaWYgKGRpX2luZGV4ID49IGJyX3Blcl9kaV9icikKKwkJCXJldHVybiBOVUxMOyAvKiBDb3JydXB0PyAqLworCisJCWJyID0gKHN0cnVjdCBibG9ja19ydW4gKikgZ2V0X2Jsb2NrX3J1bihwciwgYnMsCisJCQkJCQkmZHMtPmRvdWJsZV9pbmRpcmVjdCwgZnNfbGUpOworCQlpZiAoIWJyKQorCQkJcmV0dXJuIE5VTEw7CisKKwkJbWF4X2JyID0gKChpbnQ2NF90KUZTMTZfVE9fQ1BVKGJyW2RpX2luZGV4XS5sZW4sIGZzX2xlKQorCQkJICA8PCBGUzMyX1RPX0NQVShicy0+YmxvY2tfc2hpZnQsIGZzX2xlKSkKKwkJCS8gc2l6ZW9mKHN0cnVjdCBibG9ja19ydW4pOworCisJCWlmIChpX2luZGV4ID49IG1heF9icikKKwkJCXJldHVybiBOVUxMOyAvKiBDb3JydXB0PyAqLworCisJCWJyID0gKHN0cnVjdCBibG9ja19ydW4gKikgZ2V0X2Jsb2NrX3J1bihwciwgYnMsICZicltkaV9pbmRleF0sCisJCQkJCQkJCQlmc19sZSk7CisJCWlmICghYnIpCisJCQlyZXR1cm4gTlVMTDsKKworCQlyZXR1cm4gZ2V0X2N1c3RvbV9ibG9ja19ydW4ocHIsIGJzLCAmYnJbaV9pbmRleF0sIHN0YXJ0LCBsZW5ndGgsCisJCQkJCQkJCQlmc19sZSk7CisJfQorCXJldHVybiBOVUxMOworfQorCisjZGVmaW5lIEJBRF9LRVlTIC0yCisKK3N0YXRpYyBpbnQzMl90IGNvbXBhcmVfa2V5cyhjb25zdCBjaGFyIGtleXMxW10sIHVpbnQxNl90IGtleWxlbmd0aHMxW10sCisJCQkgICAgaW50MzJfdCBpbmRleCwgY29uc3QgY2hhciAqa2V5MiwKKwkJCSAgICB1aW50MTZfdCBrZXlsZW5ndGgyLCB1aW50MTZfdCBhbGxfa2V5X2xlbmd0aCwKKwkJCSAgICBpbnQgZnNfbGUpCit7CisJY29uc3QgY2hhciAqa2V5MTsKKwl1aW50MTZfdCBrZXlsZW5ndGgxLCBrZXlzdGFydDE7CisJaW50MzJfdCByZXN1bHQ7CisKKwlrZXlzdGFydDEgPSBpbmRleCA9PSAwID8gMCA6IEZTMTZfVE9fQ1BVKGtleWxlbmd0aHMxW2luZGV4IC0gMV0sIGZzX2xlKTsKKwlrZXlsZW5ndGgxID0gRlMxNl9UT19DUFUoa2V5bGVuZ3RoczFbaW5kZXhdLCBmc19sZSkgLSBrZXlzdGFydDE7CisKKwlpZiAoa2V5c3RhcnQxICsga2V5bGVuZ3RoMSA+IGFsbF9rZXlfbGVuZ3RoKQorCQlyZXR1cm4gQkFEX0tFWVM7IC8qIENvcnJ1cHQ/ICovCisKKwlrZXkxID0gJmtleXMxW2tleXN0YXJ0MV07CisKKwlyZXN1bHQgPSBzdHJuY21wKGtleTEsIGtleTIsIG1pbihrZXlsZW5ndGgxLCBrZXlsZW5ndGgyKSk7CisKKwlpZiAocmVzdWx0ID09IDApCisJCXJldHVybiBrZXlsZW5ndGgxIC0ga2V5bGVuZ3RoMjsKKworCWlmIChyZXN1bHQgPCAwKSAvKiBEb24ndCBjbGFzaCB3aXRoIEJBRF9LRVlTICovCisJCXJlc3VsdCA9IC0xOworCisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIGludDY0X3QgZ2V0X2tleV92YWx1ZShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJlZnNfc3VwZXJfYmxvY2sgKmJzLAorCQkJY29uc3Qgc3RydWN0IGJlZnNfaW5vZGUgKmJpLCBjb25zdCBjaGFyICprZXksIGludCBmc19sZSkKK3sKKwlzdHJ1Y3QgYnBsdXN0cmVlX2hlYWRlciAqYmg7CisJc3RydWN0IGJwbHVzdHJlZV9ub2RlICpibjsKKwl1aW50MTZfdCAqa2V5bGVuZ3RoczsKKwlpbnQ2NF90ICp2YWx1ZXM7CisJaW50NjRfdCBub2RlX3BvaW50ZXI7CisJdWludDMyX3QgYm5fc2l6ZSwgYWxsX2tleV9jb3VudCwgYWxsX2tleV9sZW5ndGg7CisJdWludDMyX3Qga2V5bGVuZ3Roc19vZmZzZXQsIHZhbHVlc19vZmZzZXQ7CisJaW50MzJfdCBmaXJzdCwgbGFzdCwgbWlkLCBjbXA7CisJaW50IGxvb3BfZGV0ZWN0ID0gMDsKKworCWVycm5vID0gMDsKKwliaCA9IChzdHJ1Y3QgYnBsdXN0cmVlX2hlYWRlciAqKSBnZXRfdHJlZV9ub2RlKHByLCBicywgJmJpLT5kYXRhLCAwLAorCQkJCQlzaXplb2Yoc3RydWN0IGJwbHVzdHJlZV9oZWFkZXIpLCBmc19sZSk7CisJaWYgKCFiaCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogLUVOT0VOVDsKKworCWlmICgoaW50MzJfdCkgRlMzMl9UT19DUFUoYmgtPm1hZ2ljLCBmc19sZSkgIT0gQlBMVVNUUkVFX01BR0lDKQorCQlyZXR1cm4gLUVOT0VOVDsKKworCW5vZGVfcG9pbnRlciA9IEZTNjRfVE9fQ1BVKGJoLT5yb290X25vZGVfcG9pbnRlciwgZnNfbGUpOworCWJuX3NpemUgPSBGUzMyX1RPX0NQVShiaC0+bm9kZV9zaXplLCBmc19sZSk7CisKKwlpZiAoYm5fc2l6ZSA8IHNpemVvZihzdHJ1Y3QgYnBsdXN0cmVlX25vZGUpKQorCQlyZXR1cm4gLUVOT0VOVDsgLyogQ29ycnVwdD8gKi8KKworCWRvIHsKKwkJZXJybm8gPSAwOworCisJCWJuID0gKHN0cnVjdCBicGx1c3RyZWVfbm9kZSAqKSBnZXRfdHJlZV9ub2RlKHByLCBicywgJmJpLT5kYXRhLAorCQkJbm9kZV9wb2ludGVyLCBibl9zaXplLCBmc19sZSk7CisJCWlmICghYm4pCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAtRU5PRU5UOworCisJCWFsbF9rZXlfY291bnQgPSBGUzE2X1RPX0NQVShibi0+YWxsX2tleV9jb3VudCwgZnNfbGUpOworCQlhbGxfa2V5X2xlbmd0aCA9IEZTMTZfVE9fQ1BVKGJuLT5hbGxfa2V5X2xlbmd0aCwgZnNfbGUpOworCQlrZXlsZW5ndGhzX29mZnNldCA9CisJCQkoc2l6ZW9mKHN0cnVjdCBicGx1c3RyZWVfbm9kZSkgKyBhbGxfa2V5X2xlbmd0aAorCQkJICsgc2l6ZW9mKGludDY0X3QpIC0gMSkgJiB+KHNpemVvZihpbnQ2NF90KSAtIDEpOworCQl2YWx1ZXNfb2Zmc2V0ID0ga2V5bGVuZ3Roc19vZmZzZXQgKworCQkJYWxsX2tleV9jb3VudCAqIHNpemVvZih1aW50MTZfdCk7CisKKwkJaWYgKHZhbHVlc19vZmZzZXQgKyBhbGxfa2V5X2NvdW50ICogc2l6ZW9mKHVpbnQ2NF90KSA+IGJuX3NpemUpCisJCQlyZXR1cm4gLUVOT0VOVDsgLyogQ29ycnVwdD8gKi8KKworCQlrZXlsZW5ndGhzID0gKHVpbnQxNl90ICopICgodWludDhfdCAqKSBibiArIGtleWxlbmd0aHNfb2Zmc2V0KTsKKwkJdmFsdWVzID0gKGludDY0X3QgKikgKCh1aW50OF90ICopIGJuICsgdmFsdWVzX29mZnNldCk7CisKKwkJZmlyc3QgPSAwOworCQltaWQgPSAwOworCQlsYXN0ID0gYWxsX2tleV9jb3VudCAtIDE7CisKKwkJY21wID0gY29tcGFyZV9rZXlzKGJuLT5uYW1lLCBrZXlsZW5ndGhzLCBsYXN0LCBrZXksCisJCQkJICAgc3RybGVuKGtleSksIGFsbF9rZXlfbGVuZ3RoLCBmc19sZSk7CisJCWlmIChjbXAgPT0gQkFEX0tFWVMpCisJCQlyZXR1cm4gLUVOT0VOVDsKKworCQlpZiAoY21wID09IDApIHsKKwkJCWlmICgoaW50NjRfdCkgRlM2NF9UT19DUFUoYm4tPm92ZXJmbG93X2xpbmssIGZzX2xlKQorCQkJCQkJCT09IEJQTFVTVFJFRV9OVUxMKQorCQkJCXJldHVybiBGUzY0X1RPX0NQVSh2YWx1ZXNbbGFzdF0sIGZzX2xlKTsKKwkJCWVsc2UKKwkJCQlub2RlX3BvaW50ZXIgPSBGUzY0X1RPX0NQVSh2YWx1ZXNbbGFzdF0sIGZzX2xlKTsKKwkJfSBlbHNlIGlmIChjbXAgPCAwKQorCQkJbm9kZV9wb2ludGVyID0gRlM2NF9UT19DUFUoYm4tPm92ZXJmbG93X2xpbmssIGZzX2xlKTsKKwkJZWxzZSB7CisJCQl3aGlsZSAoZmlyc3QgPD0gbGFzdCkgeworCQkJCW1pZCA9IChmaXJzdCArIGxhc3QpIC8gMjsKKworCQkJCWNtcCA9IGNvbXBhcmVfa2V5cyhibi0+bmFtZSwga2V5bGVuZ3RocywgbWlkLAorCQkJCQkJICAga2V5LCBzdHJsZW4oa2V5KSwKKwkJCQkJCSAgIGFsbF9rZXlfbGVuZ3RoLCBmc19sZSk7CisJCQkJaWYgKGNtcCA9PSBCQURfS0VZUykKKwkJCQkJcmV0dXJuIC1FTk9FTlQ7CisKKwkJCQlpZiAoY21wID09IDApIHsKKwkJCQkJaWYgKChpbnQ2NF90KSBGUzY0X1RPX0NQVShibi0+b3ZlcmZsb3dfbGluaywKKwkJCQkJCWZzX2xlKSA9PSBCUExVU1RSRUVfTlVMTCkKKwkJCQkJCXJldHVybiBGUzY0X1RPX0NQVSh2YWx1ZXNbbWlkXSwKKwkJCQkJCQkJCWZzX2xlKTsKKwkJCQkJZWxzZQorCQkJCQkJYnJlYWs7CisJCQkJfSBlbHNlIGlmIChjbXAgPCAwKQorCQkJCQlmaXJzdCA9IG1pZCArIDE7CisJCQkJZWxzZQorCQkJCQlsYXN0ID0gbWlkIC0gMTsKKwkJCX0KKwkJCWlmIChjbXAgPCAwKQorCQkJCW5vZGVfcG9pbnRlciA9IEZTNjRfVE9fQ1BVKHZhbHVlc1ttaWQgKyAxXSwKKwkJCQkJCQkJCWZzX2xlKTsKKwkJCWVsc2UKKwkJCQlub2RlX3BvaW50ZXIgPSBGUzY0X1RPX0NQVSh2YWx1ZXNbbWlkXSwgZnNfbGUpOworCQl9CisJfSB3aGlsZSAoKytsb29wX2RldGVjdCA8IDEwMCAmJgorCQkoaW50NjRfdCkgRlM2NF9UT19DUFUoYm4tPm92ZXJmbG93X2xpbmssIGZzX2xlKQorCQkJCQkJIT0gQlBMVVNUUkVFX05VTEwpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdldF91dWlkKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmVmc19zdXBlcl9ibG9jayAqYnMsCisJCQkJCXVpbnQ2NF90ICogY29uc3QgdXVpZCwgaW50IGZzX2xlKQoreworCXN0cnVjdCBiZWZzX2lub2RlICpiaTsKKwlzdHJ1Y3Qgc21hbGxfZGF0YSAqc2Q7CisJdWludDY0X3QgYmlfc2l6ZSwgb2Zmc2V0LCBzZF9zaXplLCBzZF90b3RhbF9zaXplOworCisJYmkgPSAoc3RydWN0IGJlZnNfaW5vZGUgKikgZ2V0X2Jsb2NrX3J1bihwciwgYnMsICZicy0+cm9vdF9kaXIsIGZzX2xlKTsKKwlpZiAoIWJpKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKEZTMzJfVE9fQ1BVKGJpLT5tYWdpYzEsIGZzX2xlKSAhPSBJTk9ERV9NQUdJQzEpCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJYmlfc2l6ZSA9ICh1aW50NjRfdClGUzE2X1RPX0NQVShicy0+cm9vdF9kaXIubGVuLCBmc19sZSkgPDwKKwkJRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSk7CisJc2RfdG90YWxfc2l6ZSA9IG1pbihiaV9zaXplIC0gc2l6ZW9mKHN0cnVjdCBiZWZzX2lub2RlKSwKKwkJCSAgICAodWludDY0X3QpRlMzMl9UT19DUFUoYmktPmlub2RlX3NpemUsIGZzX2xlKSk7CisKKwlvZmZzZXQgPSAwOworCisJd2hpbGUgKG9mZnNldCArIHNpemVvZihzdHJ1Y3Qgc21hbGxfZGF0YSkgPD0gc2RfdG90YWxfc2l6ZSkgeworCQlzZCA9IChzdHJ1Y3Qgc21hbGxfZGF0YSAqKSAoKHVpbnQ4X3QgKiliaS0+c21hbGxfZGF0YSArIG9mZnNldCk7CisJCXNkX3NpemUgPSBzaXplb2Yoc3RydWN0IHNtYWxsX2RhdGEpCisJCQkrIEZTMTZfVE9fQ1BVKHNkLT5uYW1lX3NpemUsIGZzX2xlKSArIDMKKwkJCSsgRlMxNl9UT19DUFUoc2QtPmRhdGFfc2l6ZSwgZnNfbGUpICsgMTsKKworCQlpZiAob2Zmc2V0ICsgc2Rfc2l6ZSA+IHNkX3RvdGFsX3NpemUpCisJCQlicmVhazsKKworCQlpZiAoRlMzMl9UT19DUFUoc2QtPnR5cGUsIGZzX2xlKSA9PSBCX1VJTlQ2NF9UWVBFCisJCQkmJiBGUzE2X1RPX0NQVShzZC0+bmFtZV9zaXplLCBmc19sZSkgPT0gc3RybGVuKEtFWV9OQU1FKQorCQkJJiYgRlMxNl9UT19DUFUoc2QtPmRhdGFfc2l6ZSwgZnNfbGUpID09IEtFWV9TSVpFCisJCQkmJiBzdHJjbXAoc2QtPm5hbWUsIEtFWV9OQU1FKSA9PSAwKSB7CisKKwkJCW1lbWNweSh1dWlkLAorCQkJICAgICAgIHNkLT5uYW1lICsgRlMxNl9UT19DUFUoc2QtPm5hbWVfc2l6ZSwgZnNfbGUpICsgMywKKwkJCSAgICAgICBzaXplb2YodWludDY0X3QpKTsKKworCQkJYnJlYWs7CisJCX0gZWxzZSBpZiAoRlMzMl9UT19DUFUoc2QtPnR5cGUsIGZzX2xlKSA9PSAwCisJCQkJJiYgRlMxNl9UT19DUFUoc2QtPm5hbWVfc2l6ZSwgZnNfbGUpID09IDAKKwkJCQkmJiBGUzE2X1RPX0NQVShzZC0+ZGF0YV9zaXplLCBmc19sZSkgPT0gMCkKKwkJCWJyZWFrOworCisJCW9mZnNldCArPSBzZF9zaXplOworCX0KKworCWlmICgqdXVpZCA9PSAwCisJCSYmIChGUzMyX1RPX0NQVShiaS0+YXR0cmlidXRlcy5hbGxvY2F0aW9uX2dyb3VwLCBmc19sZSkgIT0gMAorCQkJfHwgRlMxNl9UT19DUFUoYmktPmF0dHJpYnV0ZXMuc3RhcnQsIGZzX2xlKSAhPSAwCisJCQl8fCBGUzE2X1RPX0NQVShiaS0+YXR0cmlidXRlcy5sZW4sIGZzX2xlKSAhPSAwKSkgeworCQlpbnQ2NF90IHZhbHVlOworCisJCWJpID0gKHN0cnVjdCBiZWZzX2lub2RlICopIGdldF9ibG9ja19ydW4ocHIsIGJzLAorCQkJCQkJCSZiaS0+YXR0cmlidXRlcywgZnNfbGUpOworCQlpZiAoIWJpKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogQkxLSURfUFJPQkVfTk9ORTsKKworCQlpZiAoRlMzMl9UT19DUFUoYmktPm1hZ2ljMSwgZnNfbGUpICE9IElOT0RFX01BR0lDMSkKKwkJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJCXZhbHVlID0gZ2V0X2tleV92YWx1ZShwciwgYnMsIGJpLCBLRVlfTkFNRSwgZnNfbGUpOworCQlpZiAodmFsdWUgPCAwKQorCQkJcmV0dXJuIHZhbHVlID09IC1FTk9FTlQgPyBCTEtJRF9QUk9CRV9OT05FIDogdmFsdWU7CisKKwkJZWxzZSBpZiAodmFsdWUgPiAwKSB7CisJCQliaSA9IChzdHJ1Y3QgYmVmc19pbm9kZSAqKSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCXZhbHVlIDw8IEZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaGlmdCwgZnNfbGUpLAorCQkJCUZTMzJfVE9fQ1BVKGJzLT5ibG9ja19zaXplLCBmc19sZSkpOworCQkJaWYgKCFiaSkKKwkJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiBCTEtJRF9QUk9CRV9OT05FOworCisJCQlpZiAoRlMzMl9UT19DUFUoYmktPm1hZ2ljMSwgZnNfbGUpICE9IElOT0RFX01BR0lDMSkKKwkJCQlyZXR1cm4gMTsKKworCQkJaWYgKEZTMzJfVE9fQ1BVKGJpLT50eXBlLCBmc19sZSkgPT0gQl9VSU5UNjRfVFlQRQorCQkJCSYmIEZTNjRfVE9fQ1BVKGJpLT5kYXRhLnNpemUsIGZzX2xlKSA9PSBLRVlfU0laRQorCQkJCSYmIEZTMTZfVE9fQ1BVKGJpLT5kYXRhLmRpcmVjdFswXS5sZW4sIGZzX2xlKQorCQkJCQkJCQkJPT0gMSkgeworCQkJCXVpbnQ2NF90ICphdHRyX2RhdGE7CisKKwkJCQlhdHRyX2RhdGEgPSAodWludDY0X3QgKikgZ2V0X2Jsb2NrX3J1bihwciwgYnMsCisJCQkJCQkmYmktPmRhdGEuZGlyZWN0WzBdLCBmc19sZSk7CisJCQkJaWYgKCFhdHRyX2RhdGEpCisJCQkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IEJMS0lEX1BST0JFX05PTkU7CisKKwkJCQkqdXVpZCA9ICphdHRyX2RhdGE7CisJCQl9CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfYmVmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGJlZnNfc3VwZXJfYmxvY2sgKmJzOworCWNvbnN0IGNoYXIgKnZlcnNpb24gPSBOVUxMOworCXVpbnQ2NF90IHZvbHVtZV9pZCA9IDA7CisJdWludDMyX3QgYmxvY2tfc2l6ZSwgYmxvY2tfc2hpZnQ7CisJaW50IGZzX2xlLCByZXQ7CisKKwlicyA9IChzdHJ1Y3QgYmVmc19zdXBlcl9ibG9jayAqKSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQltYWctPnNib2ZmIC0gQl9PU19OQU1FX0xFTkdUSCwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBiZWZzX3N1cGVyX2Jsb2NrKSk7CisJaWYgKCFicykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogQkxLSURfUFJPQkVfTk9ORTsKKworCWlmIChsZTMyX3RvX2NwdShicy0+bWFnaWMxKSA9PSBTVVBFUl9CTE9DS19NQUdJQzEKKwkJJiYgbGUzMl90b19jcHUoYnMtPm1hZ2ljMikgPT0gU1VQRVJfQkxPQ0tfTUFHSUMyCisJCSYmIGxlMzJfdG9fY3B1KGJzLT5tYWdpYzMpID09IFNVUEVSX0JMT0NLX01BR0lDMworCQkmJiBsZTMyX3RvX2NwdShicy0+ZnNfYnl0ZV9vcmRlcikgPT0gU1VQRVJfQkxPQ0tfRlNfRU5ESUFOKSB7CisJCWZzX2xlID0gMTsKKwkJdmVyc2lvbiA9ICJsaXR0bGUtZW5kaWFuIjsKKwl9IGVsc2UgaWYgKGJlMzJfdG9fY3B1KGJzLT5tYWdpYzEpID09IFNVUEVSX0JMT0NLX01BR0lDMQorCQkmJiBiZTMyX3RvX2NwdShicy0+bWFnaWMyKSA9PSBTVVBFUl9CTE9DS19NQUdJQzIKKwkJJiYgYmUzMl90b19jcHUoYnMtPm1hZ2ljMykgPT0gU1VQRVJfQkxPQ0tfTUFHSUMzCisJCSYmIGJlMzJfdG9fY3B1KGJzLT5mc19ieXRlX29yZGVyKSA9PSBTVVBFUl9CTE9DS19GU19FTkRJQU4pIHsKKwkJZnNfbGUgPSAwOworCQl2ZXJzaW9uID0gImJpZy1lbmRpYW4iOworCX0gZWxzZQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCWJsb2NrX3NpemUgPSBGUzMyX1RPX0NQVShicy0+YmxvY2tfc2l6ZSwgZnNfbGUpOworCWJsb2NrX3NoaWZ0ID0gRlMzMl9UT19DUFUoYnMtPmJsb2NrX3NoaWZ0LCBmc19sZSk7CisKKwlpZiAoYmxvY2tfc2hpZnQgPCAxMCB8fCBibG9ja19zaGlmdCA+IDEzIHx8CisJICAgIGJsb2NrX3NpemUgIT0gMVUgPDwgYmxvY2tfc2hpZnQpCisJCXJldHVybiBCTEtJRF9QUk9CRV9OT05FOworCisJcmV0ID0gZ2V0X3V1aWQocHIsIGJzLCAmdm9sdW1lX2lkLCBmc19sZSk7CisKKwlpZiAocmV0ICE9IDApCisJCXJldHVybiByZXQ7CisKKwkvKgorCSAqIGFsbCBjaGVja3MgcGFzcywgc2V0IExBQkVMLCBWRVJTSU9OIGFuZCBVVUlECisJICovCisJaWYgKCpicy0+bmFtZSAhPSAnXDAnKQorCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIGJzLT5uYW1lLAorCQkJCQkJCXNpemVvZihicy0+bmFtZSkpOworCWlmICh2ZXJzaW9uKQorCQlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgdmVyc2lvbik7CisKKwlpZiAodm9sdW1lX2lkKQorCQlibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQocHIsICh1bnNpZ25lZCBjaGFyICopICZ2b2x1bWVfaWQsCisJCQkJCXNpemVvZih2b2x1bWVfaWQpLCAiJTAxNiIgUFJJeDY0LAorCQkJCQlGUzY0X1RPX0NQVSh2b2x1bWVfaWQsIGZzX2xlKSk7CisJcmV0dXJuIEJMS0lEX1BST0JFX09LOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJlZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiYmVmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2JlZnMsCisJLm1pbnN6CQk9IDEwMjQgKiAxNDQwLAorCS5tYWdpY3MJCT0geworCQl7IC5tYWdpYyA9ICJCRlMxIiwgLmxlbiA9IDQsIC5zYm9mZiA9IEJfT1NfTkFNRV9MRU5HVEggfSwKKwkJeyAubWFnaWMgPSAiMVNGQiIsIC5sZW4gPSA0LCAuc2JvZmYgPSBCX09TX05BTUVfTEVOR1RIIH0sCisJCXsgLm1hZ2ljID0gIkJGUzEiLCAubGVuID0gNCwgLnNib2ZmID0gMHgyMDAgKworCQkJCQkJCUJfT1NfTkFNRV9MRU5HVEggfSwKKwkJeyAubWFnaWMgPSAiMVNGQiIsIC5sZW4gPSA0LCAuc2JvZmYgPSAweDIwMCArCisJCQkJCQkJQl9PU19OQU1FX0xFTkdUSCB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYmZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGEzNGM1OAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9iZnMuYwpAQCAtMCwwICsxLDIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IFJlZCBIYXQsIEluYy4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisvKgorICogQkZTIGFjdHVhbGx5IGhhcyB0d28gZGlmZmVyZW50IGxhYmVscyBpbiB0aGUgc3VwZXJibG9jaywgZWFjaAorICogb2YgdGhlbSBvbmx5IDYgYnl0ZXMgbG9uZy4gIFVudGlsIHdlIGZpbmQgb3V0IHdoYXQgdGhlaXIgdXNlCisgKiB3ZSBqdXN0IGlnbm9yZSB0aGVtLgorICovCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJiZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5tYWdpY3MJCT0geworCQl7IC5tYWdpYyA9ICJceGNlXHhmYVx4YWRceDFiIiwgLmxlbiA9IDQgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2JpdGxvY2tlci5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2JpdGxvY2tlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExMWVkZjMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYml0bG9ja2VyLmMKQEAgLTAsMCArMSwxOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworI2RlZmluZSBCREVfSERSX1NJWkUJNTEyCisjZGVmaW5lIEJERV9IRFJfT0ZGU0VUCTAKKworc3RydWN0IGJkZV9oZWFkZXJfd2luNyB7CisvKiAgIDAgKi8gdW5zaWduZWQgY2hhcglib290X2VudHJ5X3BvaW50WzNdOworLyogICAzICovIHVuc2lnbmVkIGNoYXIJZnNfc2lnbmF0dXJlWzhdOworLyogIDExICovIHVuc2lnbmVkIGNoYXIJX19kdW1teTFbNjcgLSAxMV07CisvKiAgNjcgKi8gdWludDMyX3QgICAgICB2b2x1bWVfc2VyaWFsOwkJLyogTlRGUyB1c2VzIDY0Yml0IHNlcmlhbCBudW1iZXIgKi8KKy8qICA3MSAqLyB1bnNpZ25lZCBjaGFyIHZvbHVtZV9sYWJlbFsxMV07CS8qICJOTyBOQU1FXHgyMFx4MjBceDIwXHgyMCIgb25seSAqLworLyogIDgyICovIHVuc2lnbmVkIGNoYXIgX19kdW1teTJbMTYwIC0gODJdOworLyogMTYwICovIHVuc2lnbmVkIGNoYXIgZ3VpZFsxNl07CQkvKiBCaXRMb2NrZXIgc3BlY2lmaWMgR1VJRCAqLworLyogMTc2ICovIHVpbnQ2NF90ICAgICAgZnZlX21ldGFkYXRhX29mZnNldDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKworc3RydWN0IGJkZV9oZWFkZXJfdG9nbyB7CisvKiAgIDAgKi8gdW5zaWduZWQgY2hhcglib290X2VudHJ5X3BvaW50WzNdOworLyogICAzICovIHVuc2lnbmVkIGNoYXIJZnNfc2lnbmF0dXJlWzhdOworLyogIDExICovIHVuc2lnbmVkIGNoYXIJX19kdW1teVs0MjQgLSAxMV07CisvKiA0MjQgKi8gdW5zaWduZWQgY2hhciBndWlkWzE2XTsKKy8qIDQ0MCAqLyB1aW50NjRfdCAgICAgIGZ2ZV9tZXRhZGF0YV9vZmZzZXQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisKK3N0cnVjdCBiZGVfZnZlX21ldGFkYXRhIHsKKy8qICAgMCAqLyB1bnNpZ25lZCBjaGFyICBzaWduYXR1cmVbOF07CisvKiAgIDggKi8gdWludDE2X3QgICAgICAgc2l6ZTsKKy8qICAxMCAqLyB1aW50MTZfdCAgICAgICB2ZXJzaW9uOworfTsKKworZW51bSB7CisJQkRFX1ZFUlNJT05fVklTVEEgPSAwLAorCUJERV9WRVJTSU9OX1dJTjcsCisJQkRFX1ZFUlNJT05fVE9HTworfTsKKworI2RlZmluZSBCREVfTUFHSUNfVklTVEEJCSJceGViXHg1Mlx4OTAtRlZFLUZTLSIKKyNkZWZpbmUgQkRFX01BR0lDX1dJTjcJCSJceGViXHg1OFx4OTAtRlZFLUZTLSIKKyNkZWZpbmUgQkRFX01BR0lDX1RPR08JCSJceGViXHg1OFx4OTBNU1dJTjQuMSIKKworI2RlZmluZSBCREVfTUFHSUNfRlZFCQkiLUZWRS1GUy0iCisKK3N0YXRpYyBpbnQgZ2V0X2JpdGxvY2tlcl90eXBlKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmJ1ZikKK3sKKwlzaXplX3QgaTsKKwlzdGF0aWMgY29uc3QgY2hhciAqbWFwW10gPSB7CisJCVtCREVfVkVSU0lPTl9WSVNUQV0gPSBCREVfTUFHSUNfVklTVEEsCisJCVtCREVfVkVSU0lPTl9XSU43XSAgPSBCREVfTUFHSUNfV0lONywKKwkJW0JERV9WRVJTSU9OX1RPR09dICA9IEJERV9NQUdJQ19UT0dPCisJfTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG1hcCk7IGkrKykgeworCQlpZiAobWVtY21wKGJ1ZiwgbWFwW2ldLCAxMSkgPT0gMCkKKwkJCXJldHVybiAoaW50KSBpOworCX0KKworCXJldHVybiAtMTsKK30KKworLyogUmV0dXJuczogPCAwIGVycm9yLCAxIG5vdGhpbmcsIDAgc3VjY2VzcworICovCitzdGF0aWMgaW50IGdldF9iaXRsb2NrZXJfaGVhZGVycyhibGtpZF9wcm9iZSBwciwKKwkJCQlpbnQgKnR5cGUsCisJCQkJY29uc3QgdW5zaWduZWQgY2hhciAqKmJ1Zl9oZHIsCisJCQkJY29uc3QgdW5zaWduZWQgY2hhciAqKmJ1Zl9mdmUpCit7CisKKwljb25zdCB1bnNpZ25lZCBjaGFyICpidWY7CisJY29uc3Qgc3RydWN0IGJkZV9mdmVfbWV0YWRhdGEgKmZ2ZTsKKwl1aW50NjRfdCBvZmYgPSAwOworCWludCBraW5kOworCisJaWYgKGJ1Zl9oZHIpCisJCSpidWZfaGRyID0gTlVMTDsKKwlpZiAoYnVmX2Z2ZSkKKwkJKmJ1Zl9mdmUgPSBOVUxMOworCWlmICh0eXBlKQorCQkqdHlwZSA9IC0xOworCisJYnVmID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgQkRFX0hEUl9PRkZTRVQsIEJERV9IRFJfU0laRSk7CisJaWYgKCFidWYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlraW5kID0gZ2V0X2JpdGxvY2tlcl90eXBlKGJ1Zik7CisKKwkvKiBDaGVjayBCaXRMb2NrZXIgaGVhZGVyICovCisJc3dpdGNoIChraW5kKSB7CisJY2FzZSBCREVfVkVSU0lPTl9XSU43OgorCQlvZmYgPSBsZTY0X3RvX2NwdSgoKGNvbnN0IHN0cnVjdCBiZGVfaGVhZGVyX3dpbjcgKikgYnVmKS0+ZnZlX21ldGFkYXRhX29mZnNldCk7CisJCWJyZWFrOworCWNhc2UgQkRFX1ZFUlNJT05fVE9HTzoKKwkJb2ZmID0gbGU2NF90b19jcHUoKChjb25zdCBzdHJ1Y3QgYmRlX2hlYWRlcl90b2dvICopIGJ1ZiktPmZ2ZV9tZXRhZGF0YV9vZmZzZXQpOworCQlicmVhazsKKwljYXNlIEJERV9WRVJTSU9OX1ZJU1RBOgorCQlnb3RvIGRvbmU7CisJZGVmYXVsdDoKKwkJZ290byBub3RoaW5nOworCX0KKworCWlmICghb2ZmKQorCQlnb3RvIG5vdGhpbmc7CisJaWYgKGJ1Zl9oZHIpCisJCSpidWZfaGRyID0gYnVmOworCisJLyogQ2hlY2sgQml0bG9ja2VyIEZWRSBtZXRhZGF0YSBoZWFkZXIgKi8KKwlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBvZmYsIHNpemVvZihzdHJ1Y3QgYmRlX2Z2ZV9tZXRhZGF0YSkpOworCWlmICghYnVmKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJZnZlID0gKGNvbnN0IHN0cnVjdCBiZGVfZnZlX21ldGFkYXRhICopIGJ1ZjsKKwlpZiAobWVtY21wKGZ2ZS0+c2lnbmF0dXJlLCBCREVfTUFHSUNfRlZFLCBzaXplb2YoZnZlLT5zaWduYXR1cmUpKSAhPSAwKQorCQlnb3RvIG5vdGhpbmc7CisJaWYgKGJ1Zl9mdmUpCisJCSpidWZfZnZlID0gYnVmOworZG9uZToKKwlpZiAodHlwZSkKKwkJKnR5cGUgPSBraW5kOworCXJldHVybiAwOworbm90aGluZzoKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFRoaXMgaXMgdXNlZCBieSB2RkFUIGFuZCBOVEZTIHByb2JlciB0byBhdm9pZCBjb2xsaXNpb25zIHdpdGggYml0bG9ja2VyLgorICovCitpbnQgYmxraWRfcHJvYmVfaXNfYml0bG9ja2VyKGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiBnZXRfYml0bG9ja2VyX2hlYWRlcnMocHIsIE5VTEwsIE5VTEwsIE5VTEwpID09IDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfYml0bG9ja2VyKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqYnVmX2Z2ZSA9IE5VTEw7CisJY29uc3QgdW5zaWduZWQgY2hhciAqYnVmX2hkciA9IE5VTEw7CisJaW50IHJjLCBraW5kOworCisJcmMgPSBnZXRfYml0bG9ja2VyX2hlYWRlcnMocHIsICZraW5kLCAmYnVmX2hkciwgJmJ1Zl9mdmUpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKGtpbmQgPT0gQkRFX1ZFUlNJT05fV0lONykgeworCQljb25zdCBzdHJ1Y3QgYmRlX2hlYWRlcl93aW43ICpoZHIgPSAoY29uc3Qgc3RydWN0IGJkZV9oZWFkZXJfd2luNyAqKSBidWZfaGRyOworCisJCS8qIFVuZm9ydHVuYXRlbHksIGl0IHNlZW1zIHZvbHVtZV9zZXJpYWwgaXMgYWx3YXlzIHplcm8gKi8KKwkJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLAorCQkJCShjb25zdCB1bnNpZ25lZCBjaGFyICopICZoZHItPnZvbHVtZV9zZXJpYWwsCisJCQkJc2l6ZW9mKGhkci0+dm9sdW1lX3NlcmlhbCksCisJCQkJIiUwMTZkIiwgbGUzMl90b19jcHUoaGRyLT52b2x1bWVfc2VyaWFsKSk7CisJfQorCisJaWYgKGJ1Zl9mdmUpIHsKKwkJY29uc3Qgc3RydWN0IGJkZV9mdmVfbWV0YWRhdGEgKmZ2ZSA9IChjb25zdCBzdHJ1Y3QgYmRlX2Z2ZV9tZXRhZGF0YSAqKSBidWZfZnZlOworCisJCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiVkIiwgZnZlLT52ZXJzaW9uKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIFNlZSBoZWFkZXIgZGV0YWlsczoKKyAqIGh0dHBzOi8vZ2l0aHViLmNvbS9saWJ5YWwvbGliYmRlL2Jsb2IvbWFzdGVyL2RvY3VtZW50YXRpb24vQml0TG9ja2VyJTIwRHJpdmUlMjBFbmNyeXB0aW9uJTIwKEJERSklMjBmb3JtYXQuYXNjaWlkb2MKKyAqLworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBiaXRsb2NrZXJfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiQml0TG9ja2VyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfQ1JZUFRPLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9iaXRsb2NrZXIsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSBCREVfTUFHSUNfVklTVEEsIC5sZW4gPSAxMSB9LAorCQl7IC5tYWdpYyA9IEJERV9NQUdJQ19XSU43LCAgLmxlbiA9IDExIH0sCisJCXsgLm1hZ2ljID0gQkRFX01BR0lDX1RPR08sICAubGVuID0gMTEgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2J0cmZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvYnRyZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43Y2UzZGZmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2J0cmZzLmMKQEAgLTAsMCArMSw5MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBidHJmc19zdXBlcl9ibG9jayB7CisJdWludDhfdCBjc3VtWzMyXTsKKwl1aW50OF90IGZzaWRbMTZdOworCXVpbnQ2NF90IGJ5dGVucjsKKwl1aW50NjRfdCBmbGFnczsKKwl1aW50OF90IG1hZ2ljWzhdOworCXVpbnQ2NF90IGdlbmVyYXRpb247CisJdWludDY0X3Qgcm9vdDsKKwl1aW50NjRfdCBjaHVua19yb290OworCXVpbnQ2NF90IGxvZ19yb290OworCXVpbnQ2NF90IGxvZ19yb290X3RyYW5zaWQ7CisJdWludDY0X3QgdG90YWxfYnl0ZXM7CisJdWludDY0X3QgYnl0ZXNfdXNlZDsKKwl1aW50NjRfdCByb290X2Rpcl9vYmplY3RpZDsKKwl1aW50NjRfdCBudW1fZGV2aWNlczsKKwl1aW50MzJfdCBzZWN0b3JzaXplOworCXVpbnQzMl90IG5vZGVzaXplOworCXVpbnQzMl90IGxlYWZzaXplOworCXVpbnQzMl90IHN0cmlwZXNpemU7CisJdWludDMyX3Qgc3lzX2NodW5rX2FycmF5X3NpemU7CisJdWludDY0X3QgY2h1bmtfcm9vdF9nZW5lcmF0aW9uOworCXVpbnQ2NF90IGNvbXBhdF9mbGFnczsKKwl1aW50NjRfdCBjb21wYXRfcm9fZmxhZ3M7CisJdWludDY0X3QgaW5jb21wYXRfZmxhZ3M7CisJdWludDE2X3QgY3N1bV90eXBlOworCXVpbnQ4X3Qgcm9vdF9sZXZlbDsKKwl1aW50OF90IGNodW5rX3Jvb3RfbGV2ZWw7CisJdWludDhfdCBsb2dfcm9vdF9sZXZlbDsKKwlzdHJ1Y3QgYnRyZnNfZGV2X2l0ZW0geworCQl1aW50NjRfdCBkZXZpZDsKKwkJdWludDY0X3QgdG90YWxfYnl0ZXM7CisJCXVpbnQ2NF90IGJ5dGVzX3VzZWQ7CisJCXVpbnQzMl90IGlvX2FsaWduOworCQl1aW50MzJfdCBpb193aWR0aDsKKwkJdWludDMyX3Qgc2VjdG9yX3NpemU7CisJCXVpbnQ2NF90IHR5cGU7CisJCXVpbnQ2NF90IGdlbmVyYXRpb247CisJCXVpbnQ2NF90IHN0YXJ0X29mZnNldDsKKwkJdWludDMyX3QgZGV2X2dyb3VwOworCQl1aW50OF90IHNlZWtfc3BlZWQ7CisJCXVpbnQ4X3QgYmFuZHdpZHRoOworCQl1aW50OF90IHV1aWRbMTZdOworCQl1aW50OF90IGZzaWRbMTZdOworCX0gX19hdHRyaWJ1dGVfXyAoKF9fcGFja2VkX18pKSBkZXZfaXRlbTsKKwl1aW50OF90IGxhYmVsWzI1Nl07Cit9IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfYnRyZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBidHJmc19zdXBlcl9ibG9jayAqYmZzOworCisJYmZzID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBidHJmc19zdXBlcl9ibG9jayk7CisJaWYgKCFiZnMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoKmJmcy0+bGFiZWwpCisJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwKKwkJCQkodW5zaWduZWQgY2hhciAqKSBiZnMtPmxhYmVsLAorCQkJCXNpemVvZihiZnMtPmxhYmVsKSk7CisKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgYmZzLT5mc2lkKTsKKwlibGtpZF9wcm9iZV9zZXRfdXVpZF9hcyhwciwgYmZzLT5kZXZfaXRlbS51dWlkLCAiVVVJRF9TVUIiKTsKKworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJ0cmZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImJ0cmZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfYnRyZnMsCisJLm1pbnN6CQk9IDEwMjQgKiAxMDI0LAorCS5tYWdpY3MJCT0KKwl7CisJICB7IC5tYWdpYyA9ICJfQkhSZlNfTSIsIC5sZW4gPSA4LCAuc2JvZmYgPSAweDQwLCAua2JvZmYgPSA2NCB9LAorCSAgeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvY3JhbWZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvY3JhbWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmQwMWIwYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9jcmFtZnMuYwpAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk5IGJ5IEFuZHJpZXMgQnJvdXdlcgorICogQ29weXJpZ2h0IChDKSAxOTk5LCAyMDAwLCAyMDAzIGJ5IFRoZW9kb3JlIFRzJ28KKyAqIENvcHlyaWdodCAoQykgMjAwMSBieSBBbmRyZWFzIERpbGdlcgorICogQ29weXJpZ2h0IChDKSAyMDA0IEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IGNyYW1mc19zdXBlcgoreworCXVpbnQ4X3QJCW1hZ2ljWzRdOworCXVpbnQzMl90CXNpemU7CisJdWludDMyX3QJZmxhZ3M7CisJdWludDMyX3QJZnV0dXJlOworCXVpbnQ4X3QJCXNpZ25hdHVyZVsxNl07CisJc3RydWN0IGNyYW1mc19pbmZvCisJeworCQl1aW50MzJfdAljcmM7CisJCXVpbnQzMl90CWVkaXRpb247CisJCXVpbnQzMl90CWJsb2NrczsKKwkJdWludDMyX3QJZmlsZXM7CisJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBpbmZvOworCXVpbnQ4X3QJCW5hbWVbMTZdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV9jcmFtZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBjcmFtZnNfc3VwZXIgKmNzOworCisJY3MgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGNyYW1mc19zdXBlcik7CisJaWYgKCFjcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgY3MtPm5hbWUsIHNpemVvZihjcy0+bmFtZSkpOworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGNyYW1mc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJjcmFtZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9jcmFtZnMsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAiXHg0NVx4M2RceGNkXHgyOCIsIDQsIDAsIDAgfSwKKwkJeyAiXHgyOFx4Y2RceDNkXHg0NSIsIDQsIDAsIDAgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kZGZfcmFpZC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RkZl9yYWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmMyYzM5ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kZGZfcmFpZC5jCkBAIC0wLDAgKzEsMTQxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKy8qIGh0dHA6Ly93d3cuc25pYS5vcmcvc3RhbmRhcmRzL2hvbWUgKi8KKyNkZWZpbmUgRERGX0dVSURfTEVOR1RICQkJMjQKKyNkZWZpbmUgRERGX1JFVl9MRU5HVEgJCQk4CisjZGVmaW5lIERERl9NQUdJQwkJCTB4REUxMURFMTEKKworCitzdHJ1Y3QgZGRmX2hlYWRlciB7CisJdWludDMyX3QJc2lnbmF0dXJlOworCXVpbnQzMl90CWNyYzsKKwl1aW50OF90CQlndWlkW0RERl9HVUlEX0xFTkdUSF07CisJY2hhcgkJZGRmX3Jldls4XTsJLyogMDEuMDIuMDAgKi8KKwl1aW50MzJfdAlzZXE7CQkvKiBzdGFydHMgYXQgJzEnICovCisJdWludDMyX3QJdGltZXN0YW1wOworCXVpbnQ4X3QJCW9wZW5mbGFnOworCXVpbnQ4X3QJCWZvcmVpZ25mbGFnOworCXVpbnQ4X3QJCWVuZm9yY2Vncm91cHM7CisJdWludDhfdAkJcGFkMDsJCS8qIDB4ZmYgKi8KKwl1aW50OF90CQlwYWQxWzEyXTsJLyogMTIgKiAweGZmICovCisJLyogNjQgYnl0ZXMgc28gZmFyICovCisJdWludDhfdAkJaGVhZGVyX2V4dFszMl07CS8qIHJlc2VydmVkOiBmaWxsIHdpdGggMHhmZiAqLworCXVpbnQ2NF90CXByaW1hcnlfbGJhOworCXVpbnQ2NF90CXNlY29uZGFyeV9sYmE7CisJdWludDhfdAkJdHlwZTsKKwl1aW50OF90CQlwYWQyWzNdOwkvKiAweGZmICovCisJdWludDMyX3QJd29ya3NwYWNlX2xlbjsJLyogc2VjdG9ycyBmb3IgdmVuZG9yIHNwYWNlIC0KKwkJCQkJICogYXQgbGVhc3QgMzI3Njgoc2VjdG9ycykgKi8KKwl1aW50NjRfdAl3b3Jrc3BhY2VfbGJhOworCXVpbnQxNl90CW1heF9wZF9lbnRyaWVzOwkvKiBvbmUgb2YgMTUsIDYzLCAyNTUsIDEwMjMsIDQwOTUgKi8KKwl1aW50MTZfdAltYXhfdmRfZW50cmllczsgLyogMl4oNCw2LDgsMTAsMTIpLTEgOiBpLmUuIGFzIGFib3ZlICovCisJdWludDE2X3QJbWF4X3BhcnRpdGlvbnM7IC8qIGkuZS4gbWF4IG51bSBvZiBjb25maWd1cmF0aW9uCisJCQkJCSAgIHJlY29yZCBlbnRyaWVzIHBlciBkaXNrICovCisJdWludDE2X3QJY29uZmlnX3JlY29yZF9sZW47IC8qIDEgK1JPVU5EVVAobWF4X3ByaW1hcnlfZWxlbWVudF9lbnRyaWVzCisJCQkJICAgICAgICAgICAqMTIvNTEyKSAqLworCXVpbnQxNl90CW1heF9wcmltYXJ5X2VsZW1lbnRfZW50cmllczsgLyogMTYsIDY0LCAyNTYsIDEwMjQsIG9yIDQwOTYgKi8KKwl1aW50OF90CQlwYWQzWzU0XTsJLyogMHhmZiAqLworCS8qIDE5MiBieXRlcyBzbyBmYXIgKi8KKwl1aW50MzJfdAljb250cm9sbGVyX3NlY3Rpb25fb2Zmc2V0OworCXVpbnQzMl90CWNvbnRyb2xsZXJfc2VjdGlvbl9sZW5ndGg7CisJdWludDMyX3QJcGh5c19zZWN0aW9uX29mZnNldDsKKwl1aW50MzJfdAlwaHlzX3NlY3Rpb25fbGVuZ3RoOworCXVpbnQzMl90CXZpcnRfc2VjdGlvbl9vZmZzZXQ7CisJdWludDMyX3QJdmlydF9zZWN0aW9uX2xlbmd0aDsKKwl1aW50MzJfdAljb25maWdfc2VjdGlvbl9vZmZzZXQ7CisJdWludDMyX3QJY29uZmlnX3NlY3Rpb25fbGVuZ3RoOworCXVpbnQzMl90CWRhdGFfc2VjdGlvbl9vZmZzZXQ7CisJdWludDMyX3QJZGF0YV9zZWN0aW9uX2xlbmd0aDsKKwl1aW50MzJfdAliYm1fc2VjdGlvbl9vZmZzZXQ7CisJdWludDMyX3QJYmJtX3NlY3Rpb25fbGVuZ3RoOworCXVpbnQzMl90CWRpYWdfc3BhY2Vfb2Zmc2V0OworCXVpbnQzMl90CWRpYWdfc3BhY2VfbGVuZ3RoOworCXVpbnQzMl90CXZlbmRvcl9vZmZzZXQ7CisJdWludDMyX3QJdmVuZG9yX2xlbmd0aDsKKwkvKiAyNTYgYnl0ZXMgc28gZmFyICovCisJdWludDhfdAkJcGFkNFsyNTZdOwkvKiAweGZmICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX2RkZihibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWludCBoZHJzW10gPSB7IDEsIDI1NyB9OworCXNpemVfdCBpOworCXN0cnVjdCBkZGZfaGVhZGVyICpkZGYgPSBOVUxMOworCWNoYXIgdmVyc2lvbltEREZfUkVWX0xFTkdUSCArIDFdOworCXVpbnQ2NF90IG9mZiwgbGJhOworCisJaWYgKHByLT5zaXplIDwgMHgzMDAwMCkKKwkJcmV0dXJuIDE7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShoZHJzKTsgaSsrKSB7CisJCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCkgLSBoZHJzW2ldKSAqIDB4MjAwOworCisJCWRkZiA9IChzdHJ1Y3QgZGRmX2hlYWRlciAqKSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlvZmYsCisJCQkJCXNpemVvZihzdHJ1Y3QgZGRmX2hlYWRlcikpOworCQlpZiAoIWRkZikKKwkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJCWlmIChkZGYtPnNpZ25hdHVyZSA9PSBjcHVfdG9fYmUzMihEREZfTUFHSUMpIHx8CisJCSAgICBkZGYtPnNpZ25hdHVyZSA9PSBjcHVfdG9fbGUzMihEREZfTUFHSUMpKQorCQkJYnJlYWs7CisJCWRkZiA9IE5VTEw7CisJfQorCisJaWYgKCFkZGYpCisJCXJldHVybiAxOworCisJbGJhID0gZGRmLT5zaWduYXR1cmUgPT0gY3B1X3RvX2JlMzIoRERGX01BR0lDKSA/CisJCQliZTY0X3RvX2NwdShkZGYtPnByaW1hcnlfbGJhKSA6CisJCQlsZTY0X3RvX2NwdShkZGYtPnByaW1hcnlfbGJhKTsKKworCWlmIChsYmEgPiAwKSB7CisJCS8qIGNoZWNrIHByaW1hcnkgaGVhZGVyICovCisJCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKworCQlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlsYmEgPDwgOSwgc2l6ZW9mKGRkZi0+c2lnbmF0dXJlKSk7CisJCWlmICghYnVmKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCQlpZiAobWVtY21wKGJ1ZiwgJmRkZi0+c2lnbmF0dXJlLCA0KSAhPSAwKQorCQkJcmV0dXJuIDE7CisJfQorCisJYmxraWRfcHJvYmVfc3RybmNweV91dWlkKHByLCBkZGYtPmd1aWQsIHNpemVvZihkZGYtPmd1aWQpKTsKKworCW1lbWNweSh2ZXJzaW9uLCBkZGYtPmRkZl9yZXYsIHNpemVvZihkZGYtPmRkZl9yZXYpKTsKKwkqKHZlcnNpb24gKyBzaXplb2YoZGRmLT5kZGZfcmV2KSkgPSAnXDAnOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCB2ZXJzaW9uKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBvZmYsCisJCQlzaXplb2YoZGRmLT5zaWduYXR1cmUpLAorCQkJKHVuc2lnbmVkIGNoYXIgKikgJmRkZi0+c2lnbmF0dXJlKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZGRmcmFpZF9pZGluZm8gPSB7CisJLm5hbWUJCT0gImRkZl9yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2RkZiwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kcmJkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg4ZTlmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kcmJkLmMKQEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgYnkgQmFzdGlhbiBGcmllZHJpY2ggPGJhc3RpYW4uZnJpZWRyaWNoQGNvbGxheC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKiBkZWZpbmVzLCBzdHJ1Y3RzIHRha2VuIGZyb20gZHJiZCBzb3VyY2U7IGZpbGUgbmFtZXMgcmVwcmVzZW50IGRyYmQgc291cmNlCisgKiBmaWxlcy4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisvKgorICogZHJiZC9saW51eC9kcmJkLmgKKyAqLworI2RlZmluZSBEUkJEX01BR0lDIDB4ODM3NDAyNjcKKworLyoKKyAqIHVzZXIvZHJiZG1ldGEuYworICogV2Ugb25seSBzdXBwb3J0IHYwOCBmb3Igbm93CisgKi8KKyNkZWZpbmUgRFJCRF9NRF9NQUdJQ18wOCAgICAgICAgIChEUkJEX01BR0lDKzQpCisjZGVmaW5lIERSQkRfTURfTUFHSUNfODRfVU5DTEVBTiAoRFJCRF9NQUdJQys1KQorCisvKgorICogZHJiZC9saW51eC9kcmJkLmgKKyAqLworZW51bSBkcmJkX3V1aWRfaW5kZXggeworCVVJX0NVUlJFTlQsCisJVUlfQklUTUFQLAorCVVJX0hJU1RPUllfU1RBUlQsCisJVUlfSElTVE9SWV9FTkQsCisJVUlfU0laRSwJCS8qIG5sLXBhY2tldDogbnVtYmVyIG9mIGRpcnR5IGJpdHMgKi8KKwlVSV9GTEFHUywJCS8qIG5sLXBhY2tldDogZmxhZ3MgKi8KKwlVSV9FWFRFTkRFRF9TSVpFCS8qIEV2ZXJ5dGhpbmcuICovCit9OworCisvKgorICogdXNlci9kcmJkbWV0YS5jCisgKiBNaW5vciBtb2RpZmljYXRpb25zIHdydC4gdHlwZXMKKyAqLworc3RydWN0IG1kX29uX2Rpc2tfMDggeworCXVpbnQ2NF90IGxhX3NlY3Q7ICAgICAgICAgLyogbGFzdCBhZ3JlZWQgc2l6ZS4gKi8KKwl1aW50NjRfdCB1dWlkW1VJX1NJWkVdOyAgIC8qIFVVSURzICovCisJdWludDY0X3QgZGV2aWNlX3V1aWQ7CisJdWludDY0X3QgcmVzZXJ2ZWRfdTY0XzE7CisJdWludDMyX3QgZmxhZ3M7CisJdWludDMyX3QgbWFnaWM7CisJdWludDMyX3QgbWRfc2l6ZV9zZWN0OworCWludDMyX3QgIGFsX29mZnNldDsgICAgICAgLyogc2lnbmVkIHNlY3RvciBvZmZzZXQgdG8gdGhpcyBibG9jayAqLworCXVpbnQzMl90IGFsX25yX2V4dGVudHM7ICAgLyogaW1wb3J0YW50IGZvciByZXN0b3JpbmcgdGhlIEFMICovCisJaW50MzJfdCAgYm1fb2Zmc2V0OyAgICAgICAvKiBzaWduZWQgc2VjdG9yIG9mZnNldCB0byB0aGUgYml0bWFwLCBmcm9tIGhlcmUgKi8KKwl1aW50MzJfdCBibV9ieXRlc19wZXJfYml0OworCXVpbnQzMl90IHJlc2VydmVkX3UzMls0XTsKKworCWNoYXIgcmVzZXJ2ZWRbOCAqIDUxMiAtICg4KihVSV9TSVpFKzMpKzQqMTEpXTsKK307CisKKworc3RhdGljIGludCBwcm9iZV9kcmJkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IG1kX29uX2Rpc2tfMDggKm1kOworCW9mZl90IG9mZjsKKworCW9mZiA9IHByLT5zaXplIC0gc2l6ZW9mKCptZCk7CisKKwkvKiBTbWFsbCBkZXZpY2VzIGNhbm5vdCBiZSBkcmJkICg/KSAqLworCWlmIChwci0+c2l6ZSA8IDB4MTAwMDApCisJCXJldHVybiAxOworCisJbWQgPSAoc3RydWN0IG1kX29uX2Rpc2tfMDggKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCW9mZiwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBtZF9vbl9kaXNrXzA4KSk7CisJaWYgKCFtZCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChiZTMyX3RvX2NwdShtZC0+bWFnaWMpICE9IERSQkRfTURfTUFHSUNfMDggJiYKKwkJCWJlMzJfdG9fY3B1KG1kLT5tYWdpYykgIT0gRFJCRF9NRF9NQUdJQ184NF9VTkNMRUFOKQorCQlyZXR1cm4gMTsKKworCS8qCisJICogRFJCRCBkb2VzIG5vdCBoYXZlICJyZWFsIiB1dWlkczsgdGhlIGZvbGxvd2luZyByZXNlbWJsZXMgRFJCRCdzCisJICogbm90aW9uIG9mIHV1aWRzICg2NCBiaXQsIHNlZSBzdHJ1Y3QgYWJvdmUpCisJICovCisJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLAorCQkodW5zaWduZWQgY2hhciAqKSAmbWQtPmRldmljZV91dWlkLCBzaXplb2YobWQtPmRldmljZV91dWlkKSwKKwkJIiUiIFBSSXg2NCwgYmU2NF90b19jcHUobWQtPmRldmljZV91dWlkKSk7CisKKwlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgInYwOCIpOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwKKwkJCQlvZmYgKyBvZmZzZXRvZihzdHJ1Y3QgbWRfb25fZGlza18wOCwgbWFnaWMpLAorCQkJCXNpemVvZihtZC0+bWFnaWMpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZtZC0+bWFnaWMpKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGRyYmRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiZHJiZCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2RyYmQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZHJiZG1hbmFnZS5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmRtYW5hZ2UuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDVmODliCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmRtYW5hZ2UuYwpAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE1IGJ5IFBoaWxpcHAgTWFyZWsgPHBoaWxpcHAubWFyZWtAbGluYml0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqIERSQkQgaXMgYSBibG9ja2xldmVsIHJlcGxpY2F0aW9uIHNvbHV0aW9uIGluIHRoZSBMaW51eCBrZXJuZWwsCisgKiB1cHN0cmVhbSBzaW5jZSAyLjYuMzMuIChTZWUgaHR0cDovL2RyYmQubGluYml0LmNvbS8pCisgKiBEUkJEbWFuYWdlIGlzIGEgY29uZmlndXJhdGlvbiBmcm9udGVuZCB0aGF0IGFzc2lzdHMgaW4KKyAqIGNyZWF0aW5nL2RlbGV0aW5nL21vZGlmeWluZyBEUkJEIHJlc291cmNlcyBhY3Jvc3MgbXVsdGlwbGUgbWFjaGluZXMKKyAqIChhIERSQkRtYW5hZ2UgImNsdXN0ZXIiKTsgdGhpcyBmaWxlIGRldGVjdHMgaXRzIGNvbnRyb2wgdm9sdW1lLAorICogd2hpY2ggaXMgcmVwbGljYXRlZCAodmlhIERSQkQgOSkgb24gc29tZSBvZiB0aGUgbm9kZXMuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IGRyYmRtYW5hZ2VfaGRyIHsKKwl1bnNpZ25lZCBjaGFyIG1hZ2ljWzExXTsKKwl1bnNpZ25lZCBjaGFyIHV1aWRbMzJdOworCXVuc2lnbmVkIGNoYXIgbGY7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RydWN0IGRyYmRtYW5hZ2VfcGVycyB7CisJY2hhciBtYWdpY1s0XTsKKwl1aW50MzJfdCB2ZXJzaW9uX2xlOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKworc3RhdGljIGNvbnN0IGNoYXIgcGVyc2lzdGVuY2VfbWFnaWNbNF0gPSB7ICdceDFhJywgJ1x4ZGInLCAnXHg5OCcsICdceGEyJyB9OworCisKK3N0YXRpYyBpbnQgcHJvYmVfZHJiZG1hbmFnZShibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBkcmJkbWFuYWdlX2hkciAqaGRyOworCXVuc2lnbmVkIGNoYXIgKmNwOworCXN0cnVjdCBkcmJkbWFuYWdlX3BlcnMgKnByczsKKworCWhkciA9IChzdHJ1Y3QgZHJiZG1hbmFnZV9oZHIqKQorCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAwLCBzaXplb2YoKmhkcikpOworCWlmICghaGRyKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJZm9yKGNwPWhkci0+dXVpZDsgY3A8Jmhkci0+bGY7IGNwKyspCisJCWlmICghaXN4ZGlnaXQoKmNwKSkKKwkJCXJldHVybiAxOworCWlmIChoZHItPmxmICE9ICdcbicpCisJCXJldHVybiAxOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9pZF9sYWJlbChwciwgIlVVSUQiLAorCQkJCWhkci0+dXVpZCwgc2l6ZW9mKGhkci0+dXVpZCkpKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJcHJzID0gKHN0cnVjdCBkcmJkbWFuYWdlX3BlcnMqKQorCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAweDEwMDAsIHNpemVvZigqcHJzKSk7CisJaWYgKCFwcnMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAobWVtY21wKHBycy0+bWFnaWMsIHBlcnNpc3RlbmNlX21hZ2ljLCBzaXplb2YocHJzLT5tYWdpYykpID09IDAgJiYKKwkgICAgYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJWQiLCBiZTMyX3RvX2NwdShwcnMtPnZlcnNpb25fbGUpKSAhPSAwKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJcmV0dXJuIDA7Cit9CisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBkcmJkbWFuYWdlX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImRyYmRtYW5hZ2VfY29udHJvbF92b2x1bWUiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9PVEhFUiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfZHJiZG1hbmFnZSwKKwkubWluc3oJCT0gNjQgKiAxMDI0LAorCS5tYWdpY3MJCT0geworCQl7IC5tYWdpYyA9ICIkRFJCRG1ncj1xIiwgLmxlbiA9IDEwLCAuc2JvZmYgPSAwIH0sCisJCXsgTlVMTCB9CisJfSwKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kcmJkcHJveHlfZGF0YWxvZy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2RyYmRwcm94eV9kYXRhbG9nLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWE0YzdkYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9kcmJkcHJveHlfZGF0YWxvZy5jCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgYnkgUGhpbGlwcCBNYXJlayA8cGhpbGlwcC5tYXJla0BsaW5iaXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworCitzdHJ1Y3QgbG9nX2hlYWRlcl90IHsKKwl1aW50NjRfdCBtYWdpYzsKKwl1aW50NjRfdCB2ZXJzaW9uOworCisJdW5zaWduZWQgY2hhciB1dWlkWzE2XTsKKworCXVpbnQ2NF90IGZsYWdzOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworCitzdGF0aWMgaW50IHByb2JlX2RyYmRwcm94eV9kYXRhbG9nKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGxvZ19oZWFkZXJfdCAqbGg7CisKKwlsaCA9IChzdHJ1Y3QgbG9nX2hlYWRlcl90ICopIGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIDAsIHNpemVvZigqbGgpKTsKKwlpZiAoIWxoKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIGxoLT51dWlkKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICJ2JSJQUkl1NjQsIGxlNjRfdG9fY3B1KGxoLT52ZXJzaW9uKSk7CisKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBkcmJkcHJveHlfZGF0YWxvZ19pZGluZm8gPQoreworCS5uYW1lCQk9ICJkcmJkcHJveHlfZGF0YWxvZyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2RyYmRwcm94eV9kYXRhbG9nLAorCS5taW5zegkJPSAxNioxMDI0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIkRSQkRkbGgqIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDAsIC5rYm9mZiA9IDAgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2V4ZmF0LmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZXhmYXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YmY5MmVhCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2V4ZmF0LmMKQEAgLTAsMCArMSwxNTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQW5kcmV3IE5heWVua28gPHJlc3ZlckBnbWFpbC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBleGZhdF9zdXBlcl9ibG9jayB7CisJdWludDhfdCBqdW1wWzNdOworCXVpbnQ4X3Qgb2VtX25hbWVbOF07CisJdWludDhfdAlfX3VudXNlZDFbNTNdOworCXVpbnQ2NF90IGJsb2NrX3N0YXJ0OworCXVpbnQ2NF90IGJsb2NrX2NvdW50OworCXVpbnQzMl90IGZhdF9ibG9ja19zdGFydDsKKwl1aW50MzJfdCBmYXRfYmxvY2tfY291bnQ7CisJdWludDMyX3QgY2x1c3Rlcl9ibG9ja19zdGFydDsKKwl1aW50MzJfdCBjbHVzdGVyX2NvdW50OworCXVpbnQzMl90IHJvb3RkaXJfY2x1c3RlcjsKKwl1aW50OF90IHZvbHVtZV9zZXJpYWxbNF07CisJc3RydWN0IHsKKwkJdWludDhfdCB2ZXJtaW47CisJCXVpbnQ4X3QgdmVybWFqOworCX0gdmVyc2lvbjsKKwl1aW50MTZfdCB2b2x1bWVfc3RhdGU7CisJdWludDhfdCBibG9ja19iaXRzOworCXVpbnQ4X3QgYnBjX2JpdHM7CisJdWludDhfdCBmYXRfY291bnQ7CisJdWludDhfdCBkcml2ZV9ubzsKKwl1aW50OF90IGFsbG9jYXRlZF9wZXJjZW50OworfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CisKK3N0cnVjdCBleGZhdF9lbnRyeV9sYWJlbCB7CisJdWludDhfdCB0eXBlOworCXVpbnQ4X3QgbGVuZ3RoOworCXVpbnQ4X3QgbmFtZVszMF07Cit9IF9fYXR0cmlidXRlX18oKF9fcGFja2VkX18pKTsKKworI2RlZmluZSBCTE9DS19TSVpFKHNiKSAoMXUgPDwgKHNiKS0+YmxvY2tfYml0cykKKyNkZWZpbmUgQ0xVU1RFUl9TSVpFKHNiKSAoQkxPQ0tfU0laRShzYikgPDwgKHNiKS0+YnBjX2JpdHMpCisjZGVmaW5lIEVYRkFUX0ZJUlNUX0RBVEFfQ0xVU1RFUiAyCisjZGVmaW5lIEVYRkFUX0xBU1RfREFUQV9DTFVTVEVSIDB4ZmZmZmZmNgorI2RlZmluZSBFWEZBVF9FTlRSWV9TSVpFIDMyCisKKyNkZWZpbmUgRVhGQVRfRU5UUllfRU9ECQkweDAwCisjZGVmaW5lIEVYRkFUX0VOVFJZX0xBQkVMCTB4ODMKKworc3RhdGljIHVpbnQ2NF90IGJsb2NrX3RvX29mZnNldChjb25zdCBzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgKnNiLAorCQl1aW50NjRfdCBibG9jaykKK3sKKwlyZXR1cm4gYmxvY2sgPDwgc2ItPmJsb2NrX2JpdHM7Cit9CisKK3N0YXRpYyB1aW50NjRfdCBjbHVzdGVyX3RvX2Jsb2NrKGNvbnN0IHN0cnVjdCBleGZhdF9zdXBlcl9ibG9jayAqc2IsCisJCXVpbnQzMl90IGNsdXN0ZXIpCit7CisJcmV0dXJuIGxlMzJfdG9fY3B1KHNiLT5jbHVzdGVyX2Jsb2NrX3N0YXJ0KSArCisJCQkoKHVpbnQ2NF90KSAoY2x1c3RlciAtIEVYRkFUX0ZJUlNUX0RBVEFfQ0xVU1RFUikKKwkJCQkJPDwgc2ItPmJwY19iaXRzKTsKK30KKworc3RhdGljIHVpbnQ2NF90IGNsdXN0ZXJfdG9fb2Zmc2V0KGNvbnN0IHN0cnVjdCBleGZhdF9zdXBlcl9ibG9jayAqc2IsCisJCXVpbnQzMl90IGNsdXN0ZXIpCit7CisJcmV0dXJuIGJsb2NrX3RvX29mZnNldChzYiwgY2x1c3Rlcl90b19ibG9jayhzYiwgY2x1c3RlcikpOworfQorCitzdGF0aWMgdWludDMyX3QgbmV4dF9jbHVzdGVyKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgKnNiLCB1aW50MzJfdCBjbHVzdGVyKQoreworCXVpbnQzMl90ICpuZXh0OworCXVpbnQ2NF90IGZhdF9vZmZzZXQ7CisKKwlmYXRfb2Zmc2V0ID0gYmxvY2tfdG9fb2Zmc2V0KHNiLCBsZTMyX3RvX2NwdShzYi0+ZmF0X2Jsb2NrX3N0YXJ0KSkKKwkJKyAodWludDY0X3QpIGNsdXN0ZXIgKiBzaXplb2YoY2x1c3Rlcik7CisJbmV4dCA9ICh1aW50MzJfdCAqKSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBmYXRfb2Zmc2V0LAorCQkJc2l6ZW9mKHVpbnQzMl90KSk7CisJaWYgKCFuZXh0KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gbGUzMl90b19jcHUoKm5leHQpOworfQorCitzdGF0aWMgc3RydWN0IGV4ZmF0X2VudHJ5X2xhYmVsICpmaW5kX2xhYmVsKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgKnNiKQoreworCXVpbnQzMl90IGNsdXN0ZXIgPSBsZTMyX3RvX2NwdShzYi0+cm9vdGRpcl9jbHVzdGVyKTsKKwl1aW50NjRfdCBvZmZzZXQgPSBjbHVzdGVyX3RvX29mZnNldChzYiwgY2x1c3Rlcik7CisJdWludDhfdCAqZW50cnk7CisJY29uc3Qgc2l6ZV90IG1heF9pdGVyID0gMTAwMDA7CisJc2l6ZV90IGkgPSAwOworCisJZm9yICg7IGkgPCBtYXhfaXRlcjsgaSsrKSB7CisJCWVudHJ5ID0gKHVpbnQ4X3QgKikgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgb2Zmc2V0LAorCQkJCUVYRkFUX0VOVFJZX1NJWkUpOworCQlpZiAoIWVudHJ5KQorCQkJcmV0dXJuIE5VTEw7CisJCWlmIChlbnRyeVswXSA9PSBFWEZBVF9FTlRSWV9FT0QpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKGVudHJ5WzBdID09IEVYRkFUX0VOVFJZX0xBQkVMKQorCQkJcmV0dXJuIChzdHJ1Y3QgZXhmYXRfZW50cnlfbGFiZWwgKikgZW50cnk7CisKKwkJb2Zmc2V0ICs9IEVYRkFUX0VOVFJZX1NJWkU7CisJCWlmIChvZmZzZXQgJSBDTFVTVEVSX1NJWkUoc2IpID09IDApIHsKKwkJCWNsdXN0ZXIgPSBuZXh0X2NsdXN0ZXIocHIsIHNiLCBjbHVzdGVyKTsKKwkJCWlmIChjbHVzdGVyIDwgRVhGQVRfRklSU1RfREFUQV9DTFVTVEVSKQorCQkJCXJldHVybiBOVUxMOworCQkJaWYgKGNsdXN0ZXIgPiBFWEZBVF9MQVNUX0RBVEFfQ0xVU1RFUikKKwkJCQlyZXR1cm4gTlVMTDsKKwkJCW9mZnNldCA9IGNsdXN0ZXJfdG9fb2Zmc2V0KHNiLCBjbHVzdGVyKTsKKwkJfQorCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IHByb2JlX2V4ZmF0KGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2sgKnNiOworCXN0cnVjdCBleGZhdF9lbnRyeV9sYWJlbCAqbGFiZWw7CisKKwlzYiA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgZXhmYXRfc3VwZXJfYmxvY2spOworCWlmICghc2IgfHwgIUNMVVNURVJfU0laRShzYikpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IEJMS0lEX1BST0JFX05PTkU7CisKKwlsYWJlbCA9IGZpbmRfbGFiZWwocHIsIHNiKTsKKwlpZiAobGFiZWwpCisJCWJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwocHIsIGxhYmVsLT5uYW1lLAorCQkJCW1pbihsYWJlbC0+bGVuZ3RoICogMiwgMzApLCBCTEtJRF9FTkNfVVRGMTZMRSk7CisJZWxzZSBpZiAoZXJybm8pCisJCXJldHVybiAtZXJybm87CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQocHIsIHNiLT52b2x1bWVfc2VyaWFsLCA0LAorCQkJIiUwMmhoWCUwMmhoWC0lMDJoaFglMDJoaFgiLAorCQkJc2ItPnZvbHVtZV9zZXJpYWxbM10sIHNiLT52b2x1bWVfc2VyaWFsWzJdLAorCQkJc2ItPnZvbHVtZV9zZXJpYWxbMV0sIHNiLT52b2x1bWVfc2VyaWFsWzBdKTsKKworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1LiV1IiwKKwkJCXNiLT52ZXJzaW9uLnZlcm1haiwgc2ItPnZlcnNpb24udmVybWluKTsKKworCXJldHVybiBCTEtJRF9QUk9CRV9PSzsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleGZhdF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJleGZhdCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX2V4ZmF0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIkVYRkFUICAgIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDMgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2V4ZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9leGZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjcxN2I2NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9leGZzLmMKQEAgLTAsMCArMSwxODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgYnkgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMgYnkgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDAxIGJ5IEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDEzIEVyaWMgU2FuZGVlbiA8c2FuZGVlbkByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE3IEhld2xldHQgUGFja2FyZCBFbnRlcnByaXNlIERldmVsb3BtZW50IExQCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgZXhmc19zdXBlcl9ibG9jayB7CisJdWludDMyX3QJc2JfbWFnaWNudW07CS8qIG1hZ2ljIG51bWJlciA9PSBFWEZTX1NCX01BR0lDICovCisJdWludDMyX3QJc2JfYmxvY2tzaXplOwkvKiBsb2dpY2FsIGJsb2NrIHNpemUsIGJ5dGVzICovCisJdWludDY0X3QJc2JfZGJsb2NrczsJLyogbnVtYmVyIG9mIGRhdGEgYmxvY2tzICovCisJdWludDY0X3QJc2JfcmJsb2NrczsJLyogbnVtYmVyIG9mIHJlYWx0aW1lIGJsb2NrcyAqLworCXVpbnQ2NF90CXNiX3JleHRlbnRzOwkvKiBudW1iZXIgb2YgcmVhbHRpbWUgZXh0ZW50cyAqLworCXVuc2lnbmVkIGNoYXIJc2JfdXVpZFsxNl07CS8qIGZpbGUgc3lzdGVtIHVuaXF1ZSBpZCAqLworCXVpbnQ2NF90CXNiX2xvZ3N0YXJ0OwkvKiBzdGFydGluZyBibG9jayBvZiBsb2cgaWYgaW50ZXJuYWwgKi8KKwl1aW50NjRfdAlzYl9yb290aW5vOwkvKiByb290IGlub2RlIG51bWJlciAqLworCXVpbnQ2NF90CXNiX3JibWlubzsJLyogYml0bWFwIGlub2RlIGZvciByZWFsdGltZSBleHRlbnRzICovCisJdWludDY0X3QJc2JfcnN1bWlubzsJLyogc3VtbWFyeSBpbm9kZSBmb3IgcnQgYml0bWFwICovCisJdWludDMyX3QJc2JfcmV4dHNpemU7CS8qIHJlYWx0aW1lIGV4dGVudCBzaXplLCBibG9ja3MgKi8KKwl1aW50MzJfdAlzYl9hZ2Jsb2NrczsJLyogc2l6ZSBvZiBhbiBhbGxvY2F0aW9uIGdyb3VwICovCisJdWludDMyX3QJc2JfYWdjb3VudDsJLyogbnVtYmVyIG9mIGFsbG9jYXRpb24gZ3JvdXBzICovCisJdWludDMyX3QJc2JfcmJtYmxvY2tzOwkvKiBudW1iZXIgb2YgcnQgYml0bWFwIGJsb2NrcyAqLworCXVpbnQzMl90CXNiX2xvZ2Jsb2NrczsJLyogbnVtYmVyIG9mIGxvZyBibG9ja3MgKi8KKworCXVpbnQxNl90CXNiX3ZlcnNpb25udW07CS8qIGhlYWRlciB2ZXJzaW9uID09IEVYRlNfU0JfVkVSU0lPTiAqLworCXVpbnQxNl90CXNiX3NlY3RzaXplOwkvKiB2b2x1bWUgc2VjdG9yIHNpemUsIGJ5dGVzICovCisJdWludDE2X3QJc2JfaW5vZGVzaXplOwkvKiBpbm9kZSBzaXplLCBieXRlcyAqLworCXVpbnQxNl90CXNiX2lub3BibG9jazsJLyogaW5vZGVzIHBlciBibG9jayAqLworCWNoYXIJCXNiX2ZuYW1lWzEyXTsJLyogZmlsZSBzeXN0ZW0gbmFtZSAqLworCXVpbnQ4X3QJCXNiX2Jsb2NrbG9nOwkvKiBsb2cyIG9mIHNiX2Jsb2Nrc2l6ZSAqLworCXVpbnQ4X3QJCXNiX3NlY3Rsb2c7CS8qIGxvZzIgb2Ygc2Jfc2VjdHNpemUgKi8KKwl1aW50OF90CQlzYl9pbm9kZWxvZzsJLyogbG9nMiBvZiBzYl9pbm9kZXNpemUgKi8KKwl1aW50OF90CQlzYl9pbm9wYmxvZzsJLyogbG9nMiBvZiBzYl9pbm9wYmxvY2sgKi8KKwl1aW50OF90CQlzYl9hZ2Jsa2xvZzsJLyogbG9nMiBvZiBzYl9hZ2Jsb2NrcyAocm91bmRlZCB1cCkgKi8KKwl1aW50OF90CQlzYl9yZXh0c2xvZzsJLyogbG9nMiBvZiBzYl9yZXh0ZW50cyAqLworCXVpbnQ4X3QJCXNiX2lucHJvZ3Jlc3M7CS8qIG1rZnMgaXMgaW4gcHJvZ3Jlc3MsIGRvbid0IG1vdW50ICovCisJdWludDhfdAkJc2JfaW1heF9wY3Q7CS8qIG1heCAlIG9mIGZzIGZvciBpbm9kZSBzcGFjZSAqLworCQkJCQkvKiBzdGF0aXN0aWNzICovCisJdWludDY0X3QJc2JfaWNvdW50OwkvKiBhbGxvY2F0ZWQgaW5vZGVzICovCisJdWludDY0X3QJc2JfaWZyZWU7CS8qIGZyZWUgaW5vZGVzICovCisJdWludDY0X3QJc2JfZmRibG9ja3M7CS8qIGZyZWUgZGF0YSBibG9ja3MgKi8KKwl1aW50NjRfdAlzYl9mcmV4dGVudHM7CS8qIGZyZWUgcmVhbHRpbWUgZXh0ZW50cyAqLworCisJLyogdGhpcyBpcyBub3QgYWxsLi4uIGJ1dCBlbm91Z2ggZm9yIGxpYmJsa2lkICovCisKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgRVhGU19NSU5fQkxPQ0tTSVpFX0xPRwk5CS8qIGkuZS4gNTEyIGJ5dGVzICovCisjZGVmaW5lIEVYRlNfTUFYX0JMT0NLU0laRV9MT0cJMTYJLyogaS5lLiA2NTUzNiBieXRlcyAqLworI2RlZmluZSBFWEZTX01JTl9CTE9DS1NJWkUJKDEgPDwgRVhGU19NSU5fQkxPQ0tTSVpFX0xPRykKKyNkZWZpbmUgRVhGU19NQVhfQkxPQ0tTSVpFCSgxIDw8IEVYRlNfTUFYX0JMT0NLU0laRV9MT0cpCisjZGVmaW5lIEVYRlNfTUlOX1NFQ1RPUlNJWkVfTE9HCTkJLyogaS5lLiA1MTIgYnl0ZXMgKi8KKyNkZWZpbmUgRVhGU19NQVhfU0VDVE9SU0laRV9MT0cJMTUJLyogaS5lLiAzMjc2OCBieXRlcyAqLworI2RlZmluZSBFWEZTX01JTl9TRUNUT1JTSVpFCSgxIDw8IEVYRlNfTUlOX1NFQ1RPUlNJWkVfTE9HKQorI2RlZmluZSBFWEZTX01BWF9TRUNUT1JTSVpFCSgxIDw8IEVYRlNfTUFYX1NFQ1RPUlNJWkVfTE9HKQorCisjZGVmaW5lCUVYRlNfRElOT0RFX01JTl9MT0cJOAorI2RlZmluZQlFWEZTX0RJTk9ERV9NQVhfTE9HCTExCisjZGVmaW5lCUVYRlNfRElOT0RFX01JTl9TSVpFCSgxIDw8IEVYRlNfRElOT0RFX01JTl9MT0cpCisjZGVmaW5lCUVYRlNfRElOT0RFX01BWF9TSVpFCSgxIDw8IEVYRlNfRElOT0RFX01BWF9MT0cpCisKKyNkZWZpbmUJRVhGU19NQVhfUlRFWFRTSVpFCSgxMDI0ICogMTAyNCAqIDEwMjQpCS8qIDFHQiAqLworI2RlZmluZQlFWEZTX0RGTF9SVEVYVFNJWkUJKDY0ICogMTAyNCkJCS8qIDY0a0IgKi8KKyNkZWZpbmUJRVhGU19NSU5fUlRFWFRTSVpFCSg0ICogMTAyNCkJCS8qIDRrQiAqLworCisjZGVmaW5lIEVYRlNfTUlOX0FHX0JMT0NLUwk2NAorI2RlZmluZSBFWEZTX01BWF9EQkxPQ0tTKHMpICgodWludDY0X3QpKHMpLT5zYl9hZ2NvdW50ICogKHMpLT5zYl9hZ2Jsb2NrcykKKyNkZWZpbmUgRVhGU19NSU5fREJMT0NLUyhzKSAoKHVpbnQ2NF90KSgocyktPnNiX2FnY291bnQgLSAxKSAqCVwKKwkJCSAocyktPnNiX2FnYmxvY2tzICsgRVhGU19NSU5fQUdfQkxPQ0tTKQorCisKK3N0YXRpYyB2b2lkIHNiX2Zyb21fZGlzayhzdHJ1Y3QgZXhmc19zdXBlcl9ibG9jayAqZnJvbSwKKwkJCSBzdHJ1Y3QgZXhmc19zdXBlcl9ibG9jayAqdG8pCit7CisKKwl0by0+c2JfbWFnaWNudW0gPSBiZTMyX3RvX2NwdShmcm9tLT5zYl9tYWdpY251bSk7CisJdG8tPnNiX2Jsb2Nrc2l6ZSA9IGJlMzJfdG9fY3B1KGZyb20tPnNiX2Jsb2Nrc2l6ZSk7CisJdG8tPnNiX2RibG9ja3MgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9kYmxvY2tzKTsKKwl0by0+c2JfcmJsb2NrcyA9IGJlNjRfdG9fY3B1KGZyb20tPnNiX3JibG9ja3MpOworCXRvLT5zYl9yZXh0ZW50cyA9IGJlNjRfdG9fY3B1KGZyb20tPnNiX3JleHRlbnRzKTsKKwl0by0+c2JfbG9nc3RhcnQgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9sb2dzdGFydCk7CisJdG8tPnNiX3Jvb3Rpbm8gPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9yb290aW5vKTsKKwl0by0+c2JfcmJtaW5vID0gYmU2NF90b19jcHUoZnJvbS0+c2JfcmJtaW5vKTsKKwl0by0+c2JfcnN1bWlubyA9IGJlNjRfdG9fY3B1KGZyb20tPnNiX3JzdW1pbm8pOworCXRvLT5zYl9yZXh0c2l6ZSA9IGJlMzJfdG9fY3B1KGZyb20tPnNiX3JleHRzaXplKTsKKwl0by0+c2JfYWdibG9ja3MgPSBiZTMyX3RvX2NwdShmcm9tLT5zYl9hZ2Jsb2Nrcyk7CisJdG8tPnNiX2FnY291bnQgPSBiZTMyX3RvX2NwdShmcm9tLT5zYl9hZ2NvdW50KTsKKwl0by0+c2JfcmJtYmxvY2tzID0gYmUzMl90b19jcHUoZnJvbS0+c2JfcmJtYmxvY2tzKTsKKwl0by0+c2JfbG9nYmxvY2tzID0gYmUzMl90b19jcHUoZnJvbS0+c2JfbG9nYmxvY2tzKTsKKwl0by0+c2JfdmVyc2lvbm51bSA9IGJlMTZfdG9fY3B1KGZyb20tPnNiX3ZlcnNpb25udW0pOworCXRvLT5zYl9zZWN0c2l6ZSA9IGJlMTZfdG9fY3B1KGZyb20tPnNiX3NlY3RzaXplKTsKKwl0by0+c2JfaW5vZGVzaXplID0gYmUxNl90b19jcHUoZnJvbS0+c2JfaW5vZGVzaXplKTsKKwl0by0+c2JfaW5vcGJsb2NrID0gYmUxNl90b19jcHUoZnJvbS0+c2JfaW5vcGJsb2NrKTsKKwl0by0+c2JfYmxvY2tsb2cgPSBmcm9tLT5zYl9ibG9ja2xvZzsKKwl0by0+c2Jfc2VjdGxvZyA9IGZyb20tPnNiX3NlY3Rsb2c7CisJdG8tPnNiX2lub2RlbG9nID0gZnJvbS0+c2JfaW5vZGVsb2c7CisJdG8tPnNiX2lub3BibG9nID0gZnJvbS0+c2JfaW5vcGJsb2c7CisJdG8tPnNiX2FnYmxrbG9nID0gZnJvbS0+c2JfYWdibGtsb2c7CisJdG8tPnNiX3JleHRzbG9nID0gZnJvbS0+c2JfcmV4dHNsb2c7CisJdG8tPnNiX2lucHJvZ3Jlc3MgPSBmcm9tLT5zYl9pbnByb2dyZXNzOworCXRvLT5zYl9pbWF4X3BjdCA9IGZyb20tPnNiX2ltYXhfcGN0OworCXRvLT5zYl9pY291bnQgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9pY291bnQpOworCXRvLT5zYl9pZnJlZSA9IGJlNjRfdG9fY3B1KGZyb20tPnNiX2lmcmVlKTsKKwl0by0+c2JfZmRibG9ja3MgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9mZGJsb2Nrcyk7CisJdG8tPnNiX2ZyZXh0ZW50cyA9IGJlNjRfdG9fY3B1KGZyb20tPnNiX2ZyZXh0ZW50cyk7Cit9CisKK3N0YXRpYyBpbnQgZXhmc192ZXJpZnlfc2Ioc3RydWN0IGV4ZnNfc3VwZXJfYmxvY2sgKm9uZGlzaykKK3sKKwlzdHJ1Y3QgZXhmc19zdXBlcl9ibG9jayBzYiwgKnNicCA9ICZzYjsKKworCS8qIGJlWFhfdG9fY3B1KCksIGJ1dCBkb24ndCBjb252ZXJ0IFVVSUQgYW5kIGZzbmFtZSEgKi8KKwlzYl9mcm9tX2Rpc2sob25kaXNrLCBzYnApOworCisJLyogc2FuaXR5IGNoZWNrcywgd2UgZG9uJ3Qgd2FudCB0byByZWx5IG9uIG1hZ2ljIHN0cmluZyBvbmx5ICovCisJaWYgKHNicC0+c2JfYWdjb3VudCA8PSAwCQkJCQl8fAorCSAgICBzYnAtPnNiX3NlY3RzaXplIDwgRVhGU19NSU5fU0VDVE9SU0laRQkJCXx8CisJICAgIHNicC0+c2Jfc2VjdHNpemUgPiBFWEZTX01BWF9TRUNUT1JTSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9zZWN0bG9nIDwgRVhGU19NSU5fU0VDVE9SU0laRV9MT0cJCQl8fAorCSAgICBzYnAtPnNiX3NlY3Rsb2cgPiBFWEZTX01BWF9TRUNUT1JTSVpFX0xPRwkJCXx8CisJICAgIHNicC0+c2Jfc2VjdHNpemUgIT0gKDEgPDwgc2JwLT5zYl9zZWN0bG9nKQkJCXx8CisJICAgIHNicC0+c2JfYmxvY2tzaXplIDwgRVhGU19NSU5fQkxPQ0tTSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9ibG9ja3NpemUgPiBFWEZTX01BWF9CTE9DS1NJWkUJCQl8fAorCSAgICBzYnAtPnNiX2Jsb2NrbG9nIDwgRVhGU19NSU5fQkxPQ0tTSVpFX0xPRwkJCXx8CisJICAgIHNicC0+c2JfYmxvY2tsb2cgPiBFWEZTX01BWF9CTE9DS1NJWkVfTE9HCQkJfHwKKwkgICAgc2JwLT5zYl9ibG9ja3NpemUgIT0gKDFVTEwgPDwgc2JwLT5zYl9ibG9ja2xvZykJCXx8CisJICAgIHNicC0+c2JfaW5vZGVzaXplIDwgRVhGU19ESU5PREVfTUlOX1NJWkUJCQl8fAorCSAgICBzYnAtPnNiX2lub2Rlc2l6ZSA+IEVYRlNfRElOT0RFX01BWF9TSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9pbm9kZWxvZyA8IEVYRlNfRElOT0RFX01JTl9MT0cJCQl8fAorCSAgICBzYnAtPnNiX2lub2RlbG9nID4gRVhGU19ESU5PREVfTUFYX0xPRwkJCXx8CisJICAgIHNicC0+c2JfaW5vZGVzaXplICE9ICgxIDw8IHNicC0+c2JfaW5vZGVsb2cpCQl8fAorCSAgICAoc2JwLT5zYl9ibG9ja2xvZyAtIHNicC0+c2JfaW5vZGVsb2cgIT0gc2JwLT5zYl9pbm9wYmxvZykJfHwKKwkgICAgKHNicC0+c2JfcmV4dHNpemUgKiBzYnAtPnNiX2Jsb2Nrc2l6ZSA+IEVYRlNfTUFYX1JURVhUU0laRSkJfHwKKwkgICAgKHNicC0+c2JfcmV4dHNpemUgKiBzYnAtPnNiX2Jsb2Nrc2l6ZSA8IEVYRlNfTUlOX1JURVhUU0laRSkJfHwKKwkgICAgKHNicC0+c2JfaW1heF9wY3QgPiAxMDAgLyogemVybyBzYl9pbWF4X3BjdCBpcyB2YWxpZCAqLykJfHwKKwkgICAgc2JwLT5zYl9kYmxvY2tzID09IDAJCQkJCXx8CisJICAgIHNicC0+c2JfZGJsb2NrcyA+IEVYRlNfTUFYX0RCTE9DS1Moc2JwKQkJCXx8CisJICAgIHNicC0+c2JfZGJsb2NrcyA8IEVYRlNfTUlOX0RCTE9DS1Moc2JwKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZXhmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGV4ZnNfc3VwZXJfYmxvY2sgKnhzOworCisJeHMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGV4ZnNfc3VwZXJfYmxvY2spOworCWlmICgheHMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoIWV4ZnNfdmVyaWZ5X3NiKHhzKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAoKnhzLT5zYl9mbmFtZSAhPSAnXDAnKQorCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIHhzLT5zYl9mbmFtZSwKKwkJCQlzaXplb2YoeHMtPnNiX2ZuYW1lKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHhzLT5zYl91dWlkKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleGZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImV4ZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9leGZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIkVYRlMiLCAubGVuID0gNCB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZXh0LmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZXh0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FmODJjMQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9leHQuYwpAQCAtMCwwICsxLDM2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2lmZGVmIF9fbGludXhfXworI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjZW5kaWYKKyNpbmNsdWRlIDx0aW1lLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgZXh0Ml9zdXBlcl9ibG9jayB7CisJdWludDMyX3QJCXNfaW5vZGVzX2NvdW50OworCXVpbnQzMl90CQlzX2Jsb2Nrc19jb3VudDsKKwl1aW50MzJfdAkJc19yX2Jsb2Nrc19jb3VudDsKKwl1aW50MzJfdAkJc19mcmVlX2Jsb2Nrc19jb3VudDsKKwl1aW50MzJfdAkJc19mcmVlX2lub2Rlc19jb3VudDsKKwl1aW50MzJfdAkJc19maXJzdF9kYXRhX2Jsb2NrOworCXVpbnQzMl90CQlzX2xvZ19ibG9ja19zaXplOworCXVpbnQzMl90CQlzX2R1bW15M1s3XTsKKwl1bnNpZ25lZCBjaGFyCQlzX21hZ2ljWzJdOworCXVpbnQxNl90CQlzX3N0YXRlOworCXVpbnQxNl90CQlzX2Vycm9yczsKKwl1aW50MTZfdAkJc19taW5vcl9yZXZfbGV2ZWw7CisJdWludDMyX3QJCXNfbGFzdGNoZWNrOworCXVpbnQzMl90CQlzX2NoZWNraW50ZXJ2YWw7CisJdWludDMyX3QJCXNfY3JlYXRvcl9vczsKKwl1aW50MzJfdAkJc19yZXZfbGV2ZWw7CisJdWludDE2X3QJCXNfZGVmX3Jlc3VpZDsKKwl1aW50MTZfdAkJc19kZWZfcmVzZ2lkOworCXVpbnQzMl90CQlzX2ZpcnN0X2lubzsKKwl1aW50MTZfdAkJc19pbm9kZV9zaXplOworCXVpbnQxNl90CQlzX2Jsb2NrX2dyb3VwX25yOworCXVpbnQzMl90CQlzX2ZlYXR1cmVfY29tcGF0OworCXVpbnQzMl90CQlzX2ZlYXR1cmVfaW5jb21wYXQ7CisJdWludDMyX3QJCXNfZmVhdHVyZV9yb19jb21wYXQ7CisJdW5zaWduZWQgY2hhcgkJc191dWlkWzE2XTsKKwljaGFyCQkJc192b2x1bWVfbmFtZVsxNl07CisJY2hhcgkJCXNfbGFzdF9tb3VudGVkWzY0XTsKKwl1aW50MzJfdAkJc19hbGdvcml0aG1fdXNhZ2VfYml0bWFwOworCXVpbnQ4X3QJCQlzX3ByZWFsbG9jX2Jsb2NrczsKKwl1aW50OF90CQkJc19wcmVhbGxvY19kaXJfYmxvY2tzOworCXVpbnQxNl90CQlzX3Jlc2VydmVkX2dkdF9ibG9ja3M7CisJdWludDhfdAkJCXNfam91cm5hbF91dWlkWzE2XTsKKwl1aW50MzJfdAkJc19qb3VybmFsX2ludW07CisJdWludDMyX3QJCXNfam91cm5hbF9kZXY7CisJdWludDMyX3QJCXNfbGFzdF9vcnBoYW47CisJdWludDMyX3QJCXNfaGFzaF9zZWVkWzRdOworCXVpbnQ4X3QJCQlzX2RlZl9oYXNoX3ZlcnNpb247CisJdWludDhfdAkJCXNfam5sX2JhY2t1cF90eXBlOworCXVpbnQxNl90CQlzX3Jlc2VydmVkX3dvcmRfcGFkOworCXVpbnQzMl90CQlzX2RlZmF1bHRfbW91bnRfb3B0czsKKwl1aW50MzJfdAkJc19maXJzdF9tZXRhX2JnOworCXVpbnQzMl90CQlzX21rZnNfdGltZTsKKwl1aW50MzJfdAkJc19qbmxfYmxvY2tzWzE3XTsKKwl1aW50MzJfdAkJc19ibG9ja3NfY291bnRfaGk7CisJdWludDMyX3QJCXNfcl9ibG9ja3NfY291bnRfaGk7CisJdWludDMyX3QJCXNfZnJlZV9ibG9ja3NfaGk7CisJdWludDE2X3QJCXNfbWluX2V4dHJhX2lzaXplOworCXVpbnQxNl90CQlzX3dhbnRfZXh0cmFfaXNpemU7CisJdWludDMyX3QJCXNfZmxhZ3M7CisJdWludDE2X3QJCXNfcmFpZF9zdHJpZGU7CisJdWludDE2X3QJCXNfbW1wX2ludGVydmFsOworCXVpbnQ2NF90CQlzX21tcF9ibG9jazsKKwl1aW50MzJfdAkJc19yYWlkX3N0cmlwZV93aWR0aDsKKwl1aW50MzJfdAkJc19yZXNlcnZlZFsxNjNdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworLyogbWFnaWMgc3RyaW5nICovCisjZGVmaW5lIEVYVF9TQl9NQUdJQwkJCQkiXDEyM1wzNTciCisvKiBzdXBwZXIgYmxvY2sgb2Zmc2V0ICovCisjZGVmaW5lIEVYVF9TQl9PRkYJCQkJMHg0MDAKKy8qIHN1cHBlciBibG9jayBvZmZzZXQgaW4ga0IgKi8KKyNkZWZpbmUgRVhUX1NCX0tCT0ZGCQkJCShFWFRfU0JfT0ZGID4+IDEwKQorLyogbWFnaWMgc3RyaW5nIG9mZnNldCB3aXRoaW4gc3VwZXIgYmxvY2sgKi8KKyNkZWZpbmUgRVhUX01BR19PRkYJCQkJMHgzOAorCisKKworLyogZm9yIHNfZmxhZ3MgKi8KKyNkZWZpbmUgRVhUMl9GTEFHU19URVNUX0ZJTEVTWVMJCTB4MDAwNAorCisvKiBmb3Igc19mZWF0dXJlX2NvbXBhdCAqLworI2RlZmluZSBFWFQzX0ZFQVRVUkVfQ09NUEFUX0hBU19KT1VSTkFMCQkweDAwMDQKKworLyogZm9yIHNfZmVhdHVyZV9yb19jb21wYXQgKi8KKyNkZWZpbmUgRVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9TUEFSU0VfU1VQRVIJMHgwMDAxCisjZGVmaW5lIEVYVDJfRkVBVFVSRV9ST19DT01QQVRfTEFSR0VfRklMRQkweDAwMDIKKyNkZWZpbmUgRVhUMl9GRUFUVVJFX1JPX0NPTVBBVF9CVFJFRV9ESVIJMHgwMDA0CisjZGVmaW5lIEVYVDRfRkVBVFVSRV9ST19DT01QQVRfSFVHRV9GSUxFCTB4MDAwOAorI2RlZmluZSBFWFQ0X0ZFQVRVUkVfUk9fQ09NUEFUX0dEVF9DU1VNCQkweDAwMTAKKyNkZWZpbmUgRVhUNF9GRUFUVVJFX1JPX0NPTVBBVF9ESVJfTkxJTksJMHgwMDIwCisjZGVmaW5lIEVYVDRfRkVBVFVSRV9ST19DT01QQVRfRVhUUkFfSVNJWkUJMHgwMDQwCisKKy8qIGZvciBzX2ZlYXR1cmVfaW5jb21wYXQgKi8KKyNkZWZpbmUgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX0ZJTEVUWVBFCQkweDAwMDIKKyNkZWZpbmUgRVhUM19GRUFUVVJFX0lOQ09NUEFUX1JFQ09WRVIJCTB4MDAwNAorI2RlZmluZSBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfSk9VUk5BTF9ERVYJMHgwMDA4CisjZGVmaW5lIEVYVDJfRkVBVFVSRV9JTkNPTVBBVF9NRVRBX0JHCQkweDAwMTAKKyNkZWZpbmUgRVhUNF9GRUFUVVJFX0lOQ09NUEFUX0VYVEVOVFMJCTB4MDA0MCAvKiBleHRlbnRzIHN1cHBvcnQgKi8KKyNkZWZpbmUgRVhUNF9GRUFUVVJFX0lOQ09NUEFUXzY0QklUCQkweDAwODAKKyNkZWZpbmUgRVhUNF9GRUFUVVJFX0lOQ09NUEFUX01NUAkJMHgwMTAwCisjZGVmaW5lIEVYVDRfRkVBVFVSRV9JTkNPTVBBVF9GTEVYX0JHCQkweDAyMDAKKworI2RlZmluZSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX1NVUFAJKEVYVDJfRkVBVFVSRV9ST19DT01QQVRfU1BBUlNFX1NVUEVSfCBcCisJCQkJCSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX0xBUkdFX0ZJTEV8IFwKKwkJCQkJIEVYVDJfRkVBVFVSRV9ST19DT01QQVRfQlRSRUVfRElSKQorI2RlZmluZSBFWFQyX0ZFQVRVUkVfSU5DT01QQVRfU1VQUAkoRVhUMl9GRUFUVVJFX0lOQ09NUEFUX0ZJTEVUWVBFfCBcCisJCQkJCSBFWFQyX0ZFQVRVUkVfSU5DT01QQVRfTUVUQV9CRykKKyNkZWZpbmUgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX1VOU1VQUE9SVEVECX5FWFQyX0ZFQVRVUkVfSU5DT01QQVRfU1VQUAorI2RlZmluZSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX1VOU1VQUE9SVEVECX5FWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX1NVUFAKKworI2RlZmluZSBFWFQzX0ZFQVRVUkVfUk9fQ09NUEFUX1NVUFAJKEVYVDJfRkVBVFVSRV9ST19DT01QQVRfU1BBUlNFX1NVUEVSfCBcCisJCQkJCSBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX0xBUkdFX0ZJTEV8IFwKKwkJCQkJIEVYVDJfRkVBVFVSRV9ST19DT01QQVRfQlRSRUVfRElSKQorI2RlZmluZSBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfU1VQUAkoRVhUMl9GRUFUVVJFX0lOQ09NUEFUX0ZJTEVUWVBFfCBcCisJCQkJCSBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfUkVDT1ZFUnwgXAorCQkJCQkgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX01FVEFfQkcpCisjZGVmaW5lIEVYVDNfRkVBVFVSRV9JTkNPTVBBVF9VTlNVUFBPUlRFRAl+RVhUM19GRUFUVVJFX0lOQ09NUEFUX1NVUFAKKyNkZWZpbmUgRVhUM19GRUFUVVJFX1JPX0NPTVBBVF9VTlNVUFBPUlRFRAl+RVhUM19GRUFUVVJFX1JPX0NPTVBBVF9TVVBQCisKKy8qCisgKiBTdGFydGluZyBpbiAyLjYuMjksIGV4dDQgY2FuIGJlIHVzZWQgdG8gc3VwcG9ydCBmaWxlc3lzdGVtcworICogd2l0aG91dCBhIGpvdXJuYWwuCisgKi8KKyNkZWZpbmUgRVhUNF9TVVBQT1JUU19FWFQyIEtFUk5FTF9WRVJTSU9OKDIsIDYsIDI5KQorCisvKgorICogcmVhZHMgc3VwZXJibG9jayBhbmQgcmV0dXJuczoKKyAqCWZjID0gZmVhdHVyZV9jb21wYXQKKyAqCWZpID0gZmVhdHVyZV9pbmNvbXBhdAorICoJZnJjID0gZmVhdHVyZV9yb19jb21wYXQKKyAqLworc3RhdGljIHN0cnVjdCBleHQyX3N1cGVyX2Jsb2NrICpleHRfZ2V0X3N1cGVyKAorCQlibGtpZF9wcm9iZSBwciwgdWludDMyX3QgKmZjLCB1aW50MzJfdCAqZmksIHVpbnQzMl90ICpmcmMpCit7CisJc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgKmVzOworCisJZXMgPSAoc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIEVYVF9TQl9PRkYsIDB4MjAwKTsKKwlpZiAoIWVzKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoZmMpCisJCSpmYyA9IGxlMzJfdG9fY3B1KGVzLT5zX2ZlYXR1cmVfY29tcGF0KTsKKwlpZiAoZmkpCisJCSpmaSA9IGxlMzJfdG9fY3B1KGVzLT5zX2ZlYXR1cmVfaW5jb21wYXQpOworCWlmIChmcmMpCisJCSpmcmMgPSBsZTMyX3RvX2NwdShlcy0+c19mZWF0dXJlX3JvX2NvbXBhdCk7CisKKwlyZXR1cm4gZXM7Cit9CisKK3N0YXRpYyB2b2lkIGV4dF9nZXRfaW5mbyhibGtpZF9wcm9iZSBwciwgaW50IHZlciwgc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgKmVzKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKworCURCRyhQUk9CRSwgdWxfZGVidWcoImV4dDJfc2IuY29tcGF0ID0gJTA4WDolMDhYOiUwOFgiLAorCQkgICBsZTMyX3RvX2NwdShlcy0+c19mZWF0dXJlX2NvbXBhdCksCisJCSAgIGxlMzJfdG9fY3B1KGVzLT5zX2ZlYXR1cmVfaW5jb21wYXQpLAorCQkgICBsZTMyX3RvX2NwdShlcy0+c19mZWF0dXJlX3JvX2NvbXBhdCkpKTsKKworCWlmICgqZXMtPnNfdm9sdW1lX25hbWUgIT0gJ1wwJykKKwkJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCAodW5zaWduZWQgY2hhciAqKSBlcy0+c192b2x1bWVfbmFtZSwKKwkJCQkJc2l6ZW9mKGVzLT5zX3ZvbHVtZV9uYW1lKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIGVzLT5zX3V1aWQpOworCisJaWYgKGxlMzJfdG9fY3B1KGVzLT5zX2ZlYXR1cmVfY29tcGF0KSAmIEVYVDNfRkVBVFVSRV9DT01QQVRfSEFTX0pPVVJOQUwpCisJCWJsa2lkX3Byb2JlX3NldF91dWlkX2FzKHByLCBlcy0+c19qb3VybmFsX3V1aWQsICJFWFRfSk9VUk5BTCIpOworCisJaWYgKHZlciAhPSAyICYmIChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1NFQ1RZUEUpICYmCisJICAgICgobGUzMl90b19jcHUoZXMtPnNfZmVhdHVyZV9pbmNvbXBhdCkgJiBFWFQyX0ZFQVRVUkVfSU5DT01QQVRfVU5TVVBQT1JURUQpID09IDApKQorCQlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJTRUNfVFlQRSIsCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgImV4dDIiLAorCQkJCXNpemVvZigiZXh0MiIpKTsKKworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1LiV1IiwKKwkJbGUzMl90b19jcHUoZXMtPnNfcmV2X2xldmVsKSwKKwkJbGUxNl90b19jcHUoZXMtPnNfbWlub3JfcmV2X2xldmVsKSk7Cit9CisKKworc3RhdGljIGludCBwcm9iZV9qYmQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3QgZXh0Ml9zdXBlcl9ibG9jayAqZXM7CisJdWludDMyX3QgZmk7CisKKwllcyA9IGV4dF9nZXRfc3VwZXIocHIsIE5VTEwsICZmaSwgTlVMTCk7CisJaWYgKCFlcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwlpZiAoIShmaSAmIEVYVDNfRkVBVFVSRV9JTkNPTVBBVF9KT1VSTkFMX0RFVikpCisJCXJldHVybiAxOworCisJZXh0X2dldF9pbmZvKHByLCAyLCBlcyk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWRfYXMocHIsIGVzLT5zX3V1aWQsICJMT0dVVUlEIik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9leHQyKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgKmVzOworCXVpbnQzMl90IGZjLCBmcmMsIGZpOworCisJZXMgPSBleHRfZ2V0X3N1cGVyKHByLCAmZmMsICZmaSwgJmZyYyk7CisJaWYgKCFlcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCS8qIERpc3Rpbmd1aXNoIGJldHdlZW4gZXh0MyBhbmQgZXh0MiAqLworCWlmIChmYyAmIEVYVDNfRkVBVFVSRV9DT01QQVRfSEFTX0pPVVJOQUwpCisJCXJldHVybiAxOworCisJLyogQW55IGZlYXR1cmVzIHdoaWNoIGV4dDIgZG9lc24ndCB1bmRlcnN0YW5kICovCisJaWYgKChmcmMgJiBFWFQyX0ZFQVRVUkVfUk9fQ09NUEFUX1VOU1VQUE9SVEVEKSB8fAorCSAgICAoZmkgICYgRVhUMl9GRUFUVVJFX0lOQ09NUEFUX1VOU1VQUE9SVEVEKSkKKwkJcmV0dXJuIDE7CisKKwlleHRfZ2V0X2luZm8ocHIsIDIsIGVzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9leHQzKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGV4dDJfc3VwZXJfYmxvY2sgKmVzOworCXVpbnQzMl90IGZjLCBmcmMsIGZpOworCisJZXMgPSBleHRfZ2V0X3N1cGVyKHByLCAmZmMsICZmaSwgJmZyYyk7CisJaWYgKCFlcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCS8qIGV4dDMgcmVxdWlyZXMgam91cm5hbCAqLworCWlmICghKGZjICYgRVhUM19GRUFUVVJFX0NPTVBBVF9IQVNfSk9VUk5BTCkpCisJCXJldHVybiAxOworCisJLyogQW55IGZlYXR1cmVzIHdoaWNoIGV4dDMgZG9lc24ndCB1bmRlcnN0YW5kICovCisJaWYgKChmcmMgJiBFWFQzX0ZFQVRVUkVfUk9fQ09NUEFUX1VOU1VQUE9SVEVEKSB8fAorCSAgICAoZmkgICYgRVhUM19GRUFUVVJFX0lOQ09NUEFUX1VOU1VQUE9SVEVEKSkKKwkJcmV0dXJuIDE7CisKKwlleHRfZ2V0X2luZm8ocHIsIDMsIGVzKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHByb2JlX2V4dDRkZXYoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3QgZXh0Ml9zdXBlcl9ibG9jayAqZXM7CisJdWludDMyX3QgZmMsIGZyYywgZmk7CisKKwllcyA9IGV4dF9nZXRfc3VwZXIocHIsICZmYywgJmZpLCAmZnJjKTsKKwlpZiAoIWVzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJLyogRGlzdGluZ3Vpc2ggZnJvbSBqYmQgKi8KKwlpZiAoZmkgJiBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfSk9VUk5BTF9ERVYpCisJCXJldHVybiAxOworCisJaWYgKCEobGUzMl90b19jcHUoZXMtPnNfZmxhZ3MpICYgRVhUMl9GTEFHU19URVNUX0ZJTEVTWVMpKQorCQlyZXR1cm4gMTsKKworCWV4dF9nZXRfaW5mbyhwciwgNCwgZXMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX2V4dDQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3QgZXh0Ml9zdXBlcl9ibG9jayAqZXM7CisJdWludDMyX3QgZmMsIGZyYywgZmk7CisKKwllcyA9IGV4dF9nZXRfc3VwZXIocHIsICZmYywgJmZpLCAmZnJjKTsKKwlpZiAoIWVzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJLyogRGlzdGluZ3Vpc2ggZnJvbSBqYmQgKi8KKwlpZiAoZmkgJiBFWFQzX0ZFQVRVUkVfSU5DT01QQVRfSk9VUk5BTF9ERVYpCisJCXJldHVybiAxOworCisJLyogRXh0NCBoYXMgYXQgbGVhc3Qgb25lIGZlYXR1cmUgd2hpY2ggZXh0MyBkb2Vzbid0IHVuZGVyc3RhbmQgKi8KKwlpZiAoIShmcmMgJiBFWFQzX0ZFQVRVUkVfUk9fQ09NUEFUX1VOU1VQUE9SVEVEKSAmJgorCSAgICAhKGZpICAmIEVYVDNfRkVBVFVSRV9JTkNPTVBBVF9VTlNVUFBPUlRFRCkpCisJCXJldHVybiAxOworCisJLyoKKwkgKiBJZiB0aGUgZmlsZXN5c3RlbSBpcyBhIE9LIGZvciB1c2UgYnkgaW4tZGV2ZWxvcG1lbnQKKwkgKiBmaWxlc3lzdGVtIGNvZGUsIGFuZCBleHQ0ZGV2IGlzIHN1cHBvcnRlZCBvciBleHQ0IGlzIG5vdAorCSAqIHN1cHBvcnRlZCwgdGhlbiBkb24ndCBjYWxsIG91cnNlbHZlcyBleHQ0LCBzbyB3ZSBjYW4gcmVkbworCSAqIHRoZSBkZXRlY3Rpb24gYW5kIG1hcmsgdGhlIGZpbGVzeXN0ZW0gYXMgZXh0NGRldi4KKwkgKgorCSAqIElmIHRoZSBmaWxlc3lzdGVtIGlzIG1hcmtlZCBhcyBpbiB1c2UgYnkgcHJvZHVjdGlvbgorCSAqIGZpbGVzeXN0ZW0sIHRoZW4gaXQgY2FuIG9ubHkgYmUgdXNlZCBieSBleHQ0IGFuZCBOT1QgYnkKKwkgKiBleHQ0ZGV2LgorCSAqLworCWlmIChsZTMyX3RvX2NwdShlcy0+c19mbGFncykgJiBFWFQyX0ZMQUdTX1RFU1RfRklMRVNZUykKKwkJcmV0dXJuIDE7CisKKwlleHRfZ2V0X2luZm8ocHIsIDQsIGVzKTsKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBCTEtJRF9FWFRfTUFHSUNTIFwKKwl7IFwKKwkJewkgXAorCQkJLm1hZ2ljID0gRVhUX1NCX01BR0lDLCBcCisJCQkubGVuID0gc2l6ZW9mKEVYVF9TQl9NQUdJQykgLSAxLCBcCisJCQkua2JvZmYgPSBFWFRfU0JfS0JPRkYsIFwKKwkJCS5zYm9mZiA9IEVYVF9NQUdfT0ZGIFwKKwkJfSwgXAorCQl7IE5VTEwgfSBcCisJfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGpiZF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJqYmQiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9PVEhFUiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfamJkLAorCS5tYWdpY3MJCT0gQkxLSURfRVhUX01BR0lDUworfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleHQyX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImV4dDIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9leHQyLAorCS5tYWdpY3MJCT0gQkxLSURfRVhUX01BR0lDUworfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleHQzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImV4dDMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9leHQzLAorCS5tYWdpY3MJCT0gQkxLSURfRVhUX01BR0lDUworfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleHQ0X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImV4dDQiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9leHQ0LAorCS5tYWdpY3MJCT0gQkxLSURfRVhUX01BR0lDUworfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleHQ0ZGV2X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImV4dDRkZXYiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9leHQ0ZGV2LAorCS5tYWdpY3MJCT0gQkxLSURfRVhUX01BR0lDUworfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2YyZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9mMmZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFiZjI1YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9mMmZzLmMKQEAgLTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMyBBbGVqYW5kcm8gTWFydGluZXogUnVpeiA8YWxleEBub3djb21wdXRpbmcuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqLworCisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisjZGVmaW5lIEYyRlNfTUFHSUMJCSJceDEwXHgyMFx4RjVceEYyIgorI2RlZmluZSBGMkZTX01BR0lDX09GRgkJMAorI2RlZmluZSBGMkZTX1VVSURfU0laRQkJMTYKKyNkZWZpbmUgRjJGU19MQUJFTF9TSVpFCQk1MTIKKyNkZWZpbmUgRjJGU19TQjFfT0ZGCQkweDQwMAorI2RlZmluZSBGMkZTX1NCMV9LQk9GRgkJKEYyRlNfU0IxX09GRiA+PiAxMCkKKyNkZWZpbmUgRjJGU19TQjJfT0ZGCQkweDE0MDAKKyNkZWZpbmUgRjJGU19TQjJfS0JPRkYJCShGMkZTX1NCMl9PRkYgPj4gMTApCisKK3N0cnVjdCBmMmZzX3N1cGVyX2Jsb2NrIHsJCQkJCS8qIEFjY29yZGluZyB0byB2ZXJzaW9uIDEuMSAqLworLyogMHgwMCAqLwl1aW50MzJfdAltYWdpYzsJCQkJLyogTWFnaWMgTnVtYmVyICovCisvKiAweDA0ICovCXVpbnQxNl90CW1ham9yX3ZlcjsJCQkvKiBNYWpvciBWZXJzaW9uICovCisvKiAweDA2ICovCXVpbnQxNl90CW1pbm9yX3ZlcjsJCQkvKiBNaW5vciBWZXJzaW9uICovCisvKiAweDA4ICovCXVpbnQzMl90CWxvZ19zZWN0b3JzaXplOwkJCS8qIGxvZzIgc2VjdG9yIHNpemUgaW4gYnl0ZXMgKi8KKy8qIDB4MEMgKi8JdWludDMyX3QJbG9nX3NlY3RvcnNfcGVyX2Jsb2NrOwkJLyogbG9nMiAjIG9mIHNlY3RvcnMgcGVyIGJsb2NrICovCisvKiAweDEwICovCXVpbnQzMl90CWxvZ19ibG9ja3NpemU7CQkJLyogbG9nMiBibG9jayBzaXplIGluIGJ5dGVzICovCisvKiAweDE0ICovCXVpbnQzMl90CWxvZ19ibG9ja3NfcGVyX3NlZzsJCS8qIGxvZzIgIyBvZiBibG9ja3MgcGVyIHNlZ21lbnQgKi8KKy8qIDB4MTggKi8JdWludDMyX3QJc2Vnc19wZXJfc2VjOwkJCS8qICMgb2Ygc2VnbWVudHMgcGVyIHNlY3Rpb24gKi8KKy8qIDB4MUMgKi8JdWludDMyX3QJc2Vjc19wZXJfem9uZTsJCQkvKiAjIG9mIHNlY3Rpb25zIHBlciB6b25lICovCisvKiAweDIwICovCXVpbnQzMl90CWNoZWNrc3VtX29mZnNldDsJCS8qIGNoZWNrc3VtIG9mZnNldCBpbnNpZGUgc3VwZXIgYmxvY2sgKi8KKy8qIDB4MjQgKi8JdWludDY0X3QJYmxvY2tfY291bnQ7CQkJLyogdG90YWwgIyBvZiB1c2VyIGJsb2NrcyAqLworLyogMHgyQyAqLwl1aW50MzJfdAlzZWN0aW9uX2NvdW50OwkJCS8qIHRvdGFsICMgb2Ygc2VjdGlvbnMgKi8KKy8qIDB4MzAgKi8JdWludDMyX3QJc2VnbWVudF9jb3VudDsJCQkvKiB0b3RhbCAjIG9mIHNlZ21lbnRzICovCisvKiAweDM0ICovCXVpbnQzMl90CXNlZ21lbnRfY291bnRfY2twdDsJCS8qICMgb2Ygc2VnbWVudHMgZm9yIGNoZWNrcG9pbnQgKi8KKy8qIDB4MzggKi8JdWludDMyX3QJc2VnbWVudF9jb3VudF9zaXQ7CQkvKiAjIG9mIHNlZ21lbnRzIGZvciBTSVQgKi8KKy8qIDB4M0MgKi8JdWludDMyX3QJc2VnbWVudF9jb3VudF9uYXQ7CQkvKiAjIG9mIHNlZ21lbnRzIGZvciBOQVQgKi8KKy8qIDB4NDAgKi8JdWludDMyX3QJc2VnbWVudF9jb3VudF9zc2E7CQkvKiAjIG9mIHNlZ21lbnRzIGZvciBTU0EgKi8KKy8qIDB4NDQgKi8JdWludDMyX3QJc2VnbWVudF9jb3VudF9tYWluOwkJLyogIyBvZiBzZWdtZW50cyBmb3IgbWFpbiBhcmVhICovCisvKiAweDQ4ICovCXVpbnQzMl90CXNlZ21lbnQwX2Jsa2FkZHI7CQkvKiBzdGFydCBibG9jayBhZGRyZXNzIG9mIHNlZ21lbnQgMCAqLworLyogMHg0QyAqLwl1aW50MzJfdAljcF9ibGthZGRyOwkJCS8qIHN0YXJ0IGJsb2NrIGFkZHJlc3Mgb2YgY2hlY2twb2ludCAqLworLyogMHg1MCAqLwl1aW50MzJfdAlzaXRfYmxrYWRkcjsJCQkvKiBzdGFydCBibG9jayBhZGRyZXNzIG9mIFNJVCAqLworLyogMHg1NCAqLwl1aW50MzJfdAluYXRfYmxrYWRkcjsJCQkvKiBzdGFydCBibG9jayBhZGRyZXNzIG9mIE5BVCAqLworLyogMHg1OCAqLwl1aW50MzJfdAlzc2FfYmxrYWRkcjsJCQkvKiBzdGFydCBibG9jayBhZGRyZXNzIG9mIFNTQSAqLworLyogMHg1QyAqLwl1aW50MzJfdAltYWluX2Jsa2FkZHI7CQkJLyogc3RhcnQgYmxvY2sgYWRkcmVzcyBvZiBtYWluIGFyZWEgKi8KKy8qIDB4NjAgKi8JdWludDMyX3QJcm9vdF9pbm87CQkJLyogcm9vdCBpbm9kZSBudW1iZXIgKi8KKy8qIDB4NjQgKi8JdWludDMyX3QJbm9kZV9pbm87CQkJLyogbm9kZSBpbm9kZSBudW1iZXIgKi8KKy8qIDB4NjggKi8JdWludDMyX3QJbWV0YV9pbm87CQkJLyogbWV0YSBpbm9kZSBudW1iZXIgKi8KKy8qIDB4NkMgKi8JdWludDhfdAkJdXVpZFtGMkZTX1VVSURfU0laRV07CQkvKiAxMjgtYml0IHV1aWQgZm9yIHZvbHVtZSAqLworLyogMHg3QyAqLwl1aW50MTZfdAl2b2x1bWVfbmFtZVtGMkZTX0xBQkVMX1NJWkVdOwkvKiB2b2x1bWUgbmFtZSAqLworI2lmIDAKKy8qIDB4NDdDICovCXVpbnQzMl90CWV4dGVuc2lvbl9jb3VudDsJCS8qICMgb2YgZXh0ZW5zaW9ucyBiZWxvdyAqLworLyogMHg0ODAgKi8JdWludDhfdAkJZXh0ZW5zaW9uX2xpc3RbNjRdWzhdOwkJLyogZXh0ZW5zaW9uIGFycmF5ICovCisjZW5kaWYKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfZjJmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGYyZnNfc3VwZXJfYmxvY2sgKnNiOworCXVpbnQxNl90IHZlcm1haiwgdmVybWluOworCisJc2IgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGYyZnNfc3VwZXJfYmxvY2spOworCWlmICghc2IpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwl2ZXJtYWogPSBsZTE2X3RvX2NwdShzYi0+bWFqb3JfdmVyKTsKKwl2ZXJtaW4gPSBsZTE2X3RvX2NwdShzYi0+bWlub3JfdmVyKTsKKworCS8qIEZvciB2ZXJzaW9uIDEuMCB3ZSBjYW5ub3Qga25vdyB0aGUgY29ycmVjdCBzYiBzdHJ1Y3R1cmUgKi8KKwlpZiAodmVybWFqID09IDEgJiYgdmVybWluID09IDApCisJCXJldHVybiAwOworCisJaWYgKCooKHVuc2lnbmVkIGNoYXIgKikgc2ItPnZvbHVtZV9uYW1lKSkKKwkJYmxraWRfcHJvYmVfc2V0X3V0ZjhsYWJlbChwciwgKHVuc2lnbmVkIGNoYXIgKikgc2ItPnZvbHVtZV9uYW1lLAorCQkJCQkJc2l6ZW9mKHNiLT52b2x1bWVfbmFtZSksCisJCQkJCQlCTEtJRF9FTkNfVVRGMTZMRSk7CisKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgc2ItPnV1aWQpOworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1LiV1IiwgdmVybWFqLCB2ZXJtaW4pOworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGYyZnNfaWRpbmZvID0KK3sKKwkubmFtZSAgICAgICAgICAgPSAiZjJmcyIsCisJLnVzYWdlICAgICAgICAgID0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jICAgICAgPSBwcm9iZV9mMmZzLAorCS5tYWdpY3MgICAgICAgICA9CisgICAgICAgIHsKKwkJeworCQkJLm1hZ2ljID0gRjJGU19NQUdJQywKKwkJCS5sZW4gPSA0LAorCQkJLmtib2ZmID0gRjJGU19TQjFfS0JPRkYsCisJCQkuc2JvZmYgPSBGMkZTX01BR0lDX09GRgorCQl9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZ2ZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvZ2ZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE2MDM2YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9nZnMuYwpAQCAtMCwwICsxLDEzMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKy8qIENvbW1vbiBnZnMvZ2ZzMiBjb25zdGFudHM6ICovCisjZGVmaW5lIEdGU19MT0NLTkFNRV9MRU4gICAgICAgIDY0CisKKy8qIGdmczEgY29uc3RhbnRzOiAqLworI2RlZmluZSBHRlNfRk9STUFUX0ZTICAgICAgICAgICAxMzA5CisjZGVmaW5lIEdGU19GT1JNQVRfTVVMVEkgICAgICAgIDE0MDEKKy8qIGdmczIgY29uc3RhbnRzOiAqLworI2RlZmluZSBHRlMyX0ZPUk1BVF9GUyAgICAgICAgICAxODAxCisjZGVmaW5lIEdGUzJfRk9STUFUX01VTFRJICAgICAgIDE5MDAKKworc3RydWN0IGdmczJfbWV0YV9oZWFkZXIgeworCXVpbnQzMl90IG1oX21hZ2ljOworCXVpbnQzMl90IG1oX3R5cGU7CisJdWludDY0X3QgX19wYWQwOyAgICAgICAgICAvKiBXYXMgZ2VuZXJhdGlvbiBudW1iZXIgaW4gZ2ZzMSAqLworCXVpbnQzMl90IG1oX2Zvcm1hdDsKKwl1aW50MzJfdCBfX3BhZDE7ICAgICAgICAgIC8qIFdhcyBpbmNhcm5hdGlvbiBudW1iZXIgaW4gZ2ZzMSAqLworfTsKKworc3RydWN0IGdmczJfaW51bSB7CisJdWludDY0X3Qgbm9fZm9ybWFsX2lubzsKKwl1aW50NjRfdCBub19hZGRyOworfTsKKworc3RydWN0IGdmczJfc2IgeworCXN0cnVjdCBnZnMyX21ldGFfaGVhZGVyIHNiX2hlYWRlcjsKKworCXVpbnQzMl90IHNiX2ZzX2Zvcm1hdDsKKwl1aW50MzJfdCBzYl9tdWx0aWhvc3RfZm9ybWF0OworCXVpbnQzMl90ICBfX3BhZDA7ICAvKiBXYXMgc3VwZXJibG9jayBmbGFncyBpbiBnZnMxICovCisKKwl1aW50MzJfdCBzYl9ic2l6ZTsKKwl1aW50MzJfdCBzYl9ic2l6ZV9zaGlmdDsKKwl1aW50MzJfdCBfX3BhZDE7ICAgLyogV2FzIGpvdXJuYWwgc2VnbWVudCBzaXplIGluIGdmczEgKi8KKworCXN0cnVjdCBnZnMyX2ludW0gc2JfbWFzdGVyX2RpcjsgLyogV2FzIGppbmRleCBkaW5vZGUgaW4gZ2ZzMSAqLworCXN0cnVjdCBnZnMyX2ludW0gX19wYWQyOyAvKiBXYXMgcmluZGV4IGRpbm9kZSBpbiBnZnMxICovCisJc3RydWN0IGdmczJfaW51bSBzYl9yb290X2RpcjsKKworCWNoYXIgc2JfbG9ja3Byb3RvW0dGU19MT0NLTkFNRV9MRU5dOworCWNoYXIgc2JfbG9ja3RhYmxlW0dGU19MT0NLTkFNRV9MRU5dOworCisJc3RydWN0IGdmczJfaW51bSBfX3BhZDM7IC8qIFdhcyBxdW90YSBpbm9kZSBpbiBnZnMxICovCisJc3RydWN0IGdmczJfaW51bSBfX3BhZDQ7IC8qIFdhcyBsaWNlbnNlIGlub2RlIGluIGdmczEgKi8KKwl1aW50OF90IHNiX3V1aWRbMTZdOyAvKiBUaGUgVVVJRCBtYXliZSAwIGZvciBiYWNrd2FyZHMgY29tcGF0ICovCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX2dmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGdmczJfc2IgKnNiZDsKKworCXNiZCA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgZ2ZzMl9zYik7CisJaWYgKCFzYmQpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoYmUzMl90b19jcHUoc2JkLT5zYl9mc19mb3JtYXQpID09IEdGU19GT1JNQVRfRlMgJiYKKwkgICAgYmUzMl90b19jcHUoc2JkLT5zYl9tdWx0aWhvc3RfZm9ybWF0KSA9PSBHRlNfRk9STUFUX01VTFRJKQorCXsKKwkJaWYgKCpzYmQtPnNiX2xvY2t0YWJsZSkKKwkJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwKKwkJCQkodW5zaWduZWQgY2hhciAqKSBzYmQtPnNiX2xvY2t0YWJsZSwKKwkJCQlzaXplb2Yoc2JkLT5zYl9sb2NrdGFibGUpKTsKKworCQlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgc2JkLT5zYl91dWlkKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZ2ZzMihibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGdmczJfc2IgKnNiZDsKKworCXNiZCA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgZ2ZzMl9zYik7CisJaWYgKCFzYmQpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoYmUzMl90b19jcHUoc2JkLT5zYl9mc19mb3JtYXQpID09IEdGUzJfRk9STUFUX0ZTICYmCisJICAgIGJlMzJfdG9fY3B1KHNiZC0+c2JfbXVsdGlob3N0X2Zvcm1hdCkgPT0gR0ZTMl9GT1JNQVRfTVVMVEkpCisJeworCQlpZiAoKnNiZC0+c2JfbG9ja3RhYmxlKQorCQkJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLAorCQkJCSh1bnNpZ25lZCBjaGFyICopIHNiZC0+c2JfbG9ja3RhYmxlLAorCQkJCXNpemVvZihzYmQtPnNiX2xvY2t0YWJsZSkpOworCQlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgc2JkLT5zYl91dWlkKTsKKwkJYmxraWRfcHJvYmVfc2V0X3ZlcnNpb24ocHIsICIxIik7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBnZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiZ2ZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfZ2ZzLAorCS5taW5zegkJPSAzMiAqIDEwMjQgKiAxMDI0LAkvKiBtaW5pbWFsIHNpemUgb2YgR0ZTIGpvdXJuYWwgKi8KKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDAxXHgxNlx4MTlceDcwIiwgLmxlbiA9IDQsIC5rYm9mZiA9IDY0IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBnZnMyX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImdmczIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9nZnMyLAorCS5taW5zegkJPSAzMiAqIDEwMjQgKiAxMDI0LAkvKiBtaW5pbWFsIHNpemUgb2YgR0ZTIGpvdXJuYWwgKi8KKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDAxXHgxNlx4MTlceDcwIiwgLmxlbiA9IDQsIC5rYm9mZiA9IDY0IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2hmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2hmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiMDExNzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaGZzLmMKQEAgLTAsMCArMSwzMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQtMjAwOCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisjaW5jbHVkZSAibWQ1LmgiCisKKy8qIEhGUyAvIEhGUysgKi8KK3N0cnVjdCBoZnNfZmluZGVyX2luZm8geworICAgICAgICB1aW50MzJfdCAgICAgICAgYm9vdF9mb2xkZXI7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBzdGFydF9hcHA7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBvcGVuX2ZvbGRlcjsKKyAgICAgICAgdWludDMyX3QgICAgICAgIG9zOV9mb2xkZXI7CisgICAgICAgIHVpbnQzMl90ICAgICAgICByZXNlcnZlZDsKKyAgICAgICAgdWludDMyX3QgICAgICAgIG9zeF9mb2xkZXI7CisgICAgICAgIHVpbnQ4X3QgICAgICAgICBpZFs4XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgSEZTX1NFQ1RPUl9TSVpFICAgICAgICAgNTEyCisKK3N0cnVjdCBoZnNfbWRiIHsKKyAgICAgICAgdWludDhfdCAgICAgICAgIHNpZ25hdHVyZVsyXTsKKyAgICAgICAgdWludDMyX3QgICAgICAgIGNyX2RhdGU7CisgICAgICAgIHVpbnQzMl90ICAgICAgICBsc19Nb2Q7CisgICAgICAgIHVpbnQxNl90ICAgICAgICBhdHJiOworICAgICAgICB1aW50MTZfdCAgICAgICAgbm1fZmxzOworICAgICAgICB1aW50MTZfdCAgICAgICAgdmJtX3N0OworICAgICAgICB1aW50MTZfdCAgICAgICAgYWxsb2NfcHRyOworICAgICAgICB1aW50MTZfdCAgICAgICAgbm1fYWxfYmxrczsKKyAgICAgICAgdWludDMyX3QgICAgICAgIGFsX2Jsa19zaXplOworICAgICAgICB1aW50MzJfdCAgICAgICAgY2xwX3NpemU7CisgICAgICAgIHVpbnQxNl90ICAgICAgICBhbF9ibF9zdDsKKyAgICAgICAgdWludDMyX3QgICAgICAgIG54dF9jbmlkOworICAgICAgICB1aW50MTZfdCAgICAgICAgZnJlZV9ia3M7CisgICAgICAgIHVpbnQ4X3QgICAgICAgICBsYWJlbF9sZW47CisgICAgICAgIHVpbnQ4X3QgICAgICAgICBsYWJlbFsyN107CisgICAgICAgIHVpbnQzMl90ICAgICAgICB2b2xfYmt1cDsKKyAgICAgICAgdWludDE2X3QgICAgICAgIHZvbF9zZXFfbnVtOworICAgICAgICB1aW50MzJfdCAgICAgICAgd3JfY250OworICAgICAgICB1aW50MzJfdCAgICAgICAgeHRfY2x1bXBfc2l6ZTsKKyAgICAgICAgdWludDMyX3QgICAgICAgIGN0X2NsdW1wX3NpemU7CisgICAgICAgIHVpbnQxNl90ICAgICAgICBudW1fcm9vdF9kaXJzOworICAgICAgICB1aW50MzJfdCAgICAgICAgZmlsZV9jb3VudDsKKyAgICAgICAgdWludDMyX3QgICAgICAgIGRpcl9jb3VudDsKKyAgICAgICAgc3RydWN0IGhmc19maW5kZXJfaW5mbyBmaW5kZXJfaW5mbzsKKyAgICAgICAgdWludDhfdCAgICAgICAgIGVtYmVkX3NpZ1syXTsKKyAgICAgICAgdWludDE2X3QgICAgICAgIGVtYmVkX3N0YXJ0YmxvY2s7CisgICAgICAgIHVpbnQxNl90ICAgICAgICBlbWJlZF9ibG9ja2NvdW50OworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworCisjZGVmaW5lIEhGU19OT0RFX0xFQUYJCQkweGZmCisjZGVmaW5lIEhGU1BMVVNfUE9SX0NOSUQJCTEKKworc3RydWN0IGhmc3BsdXNfYm5vZGVfZGVzY3JpcHRvciB7CisJdWludDMyX3QJCW5leHQ7CisJdWludDMyX3QJCXByZXY7CisJdWludDhfdAkJdHlwZTsKKwl1aW50OF90CQloZWlnaHQ7CisJdWludDE2X3QJCW51bV9yZWNzOworCXVpbnQxNl90CQlyZXNlcnZlZDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBoZnNwbHVzX2JoZWFkZXJfcmVjb3JkIHsKKwl1aW50MTZfdAkJZGVwdGg7CisJdWludDMyX3QJCXJvb3Q7CisJdWludDMyX3QJCWxlYWZfY291bnQ7CisJdWludDMyX3QJCWxlYWZfaGVhZDsKKwl1aW50MzJfdAkJbGVhZl90YWlsOworCXVpbnQxNl90CQlub2RlX3NpemU7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgaGZzcGx1c19jYXRhbG9nX2tleSB7CisJdWludDE2X3QJa2V5X2xlbjsKKwl1aW50MzJfdAlwYXJlbnRfaWQ7CisJdWludDE2X3QJdW5pY29kZV9sZW47CisJdWludDhfdAkJdW5pY29kZVsyNTUgKiAyXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBoZnNwbHVzX2V4dGVudCB7CisJdWludDMyX3QJCXN0YXJ0X2Jsb2NrOworCXVpbnQzMl90CQlibG9ja19jb3VudDsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgSEZTUExVU19FWFRFTlRfQ09VTlQJCTgKK3N0cnVjdCBoZnNwbHVzX2ZvcmsgeworCXVpbnQ2NF90CQl0b3RhbF9zaXplOworCXVpbnQzMl90CQljbHVtcF9zaXplOworCXVpbnQzMl90CQl0b3RhbF9ibG9ja3M7CisJc3RydWN0IGhmc3BsdXNfZXh0ZW50IGV4dGVudHNbSEZTUExVU19FWFRFTlRfQ09VTlRdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGhmc3BsdXNfdm9sX2hlYWRlciB7CisJdWludDhfdAkJc2lnbmF0dXJlWzJdOworCXVpbnQxNl90CQl2ZXJzaW9uOworCXVpbnQzMl90CQlhdHRyaWJ1dGVzOworCXVpbnQzMl90CQlsYXN0X21vdW50X3ZlcnM7CisJdWludDMyX3QJCXJlc2VydmVkOworCXVpbnQzMl90CQljcmVhdGVfZGF0ZTsKKwl1aW50MzJfdAkJbW9kaWZ5X2RhdGU7CisJdWludDMyX3QJCWJhY2t1cF9kYXRlOworCXVpbnQzMl90CQljaGVja2VkX2RhdGU7CisJdWludDMyX3QJCWZpbGVfY291bnQ7CisJdWludDMyX3QJCWZvbGRlcl9jb3VudDsKKwl1aW50MzJfdAkJYmxvY2tzaXplOworCXVpbnQzMl90CQl0b3RhbF9ibG9ja3M7CisJdWludDMyX3QJCWZyZWVfYmxvY2tzOworCXVpbnQzMl90CQluZXh0X2FsbG9jOworCXVpbnQzMl90CQlyc3JjX2NsdW1wX3N6OworCXVpbnQzMl90CQlkYXRhX2NsdW1wX3N6OworCXVpbnQzMl90CQluZXh0X2NuaWQ7CisJdWludDMyX3QJCXdyaXRlX2NvdW50OworCXVpbnQ2NF90CQllbmNvZGluZ3NfYm1wOworCXN0cnVjdCBoZnNfZmluZGVyX2luZm8gZmluZGVyX2luZm87CisJc3RydWN0IGhmc3BsdXNfZm9yayBhbGxvY19maWxlOworCXN0cnVjdCBoZnNwbHVzX2ZvcmsgZXh0X2ZpbGU7CisJc3RydWN0IGhmc3BsdXNfZm9yayBjYXRfZmlsZTsKKwlzdHJ1Y3QgaGZzcGx1c19mb3JrIGF0dHJfZmlsZTsKKwlzdHJ1Y3QgaGZzcGx1c19mb3JrIHN0YXJ0X2ZpbGU7Cit9ICBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworI2RlZmluZSBIRlNQTFVTX1NFQ1RPUl9TSVpFICAgICAgICA1MTIKKworc3RhdGljIGludCBoZnNfc2V0X3V1aWQoYmxraWRfcHJvYmUgcHIsIHVuc2lnbmVkIGNoYXIgY29uc3QgKmhmc19pbmZvLCBzaXplX3QgbGVuKQoreworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIGNvbnN0IGhhc2hfaW5pdFtVTF9NRDVMRU5HVEhdID0geworCQkweGIzLCAweGUyLCAweDBmLCAweDM5LCAweGYyLCAweDkyLCAweDExLCAweGQ2LAorCQkweDk3LCAweGE0LCAweDAwLCAweDMwLCAweDY1LCAweDQzLCAweGVjLCAweGFjCisJfTsKKwl1bnNpZ25lZCBjaGFyIHV1aWRbVUxfTUQ1TEVOR1RIXTsKKwlzdHJ1Y3QgVUxfTUQ1Q29udGV4dCBtZDVjOworCisJaWYgKG1lbWNtcChoZnNfaW5mbywgIlwwXDBcMFwwXDBcMFwwXDAiLCBsZW4pID09IDApCisJCXJldHVybiAtMTsKKworCXVsX01ENUluaXQoJm1kNWMpOworCXVsX01ENVVwZGF0ZSgmbWQ1YywgaGFzaF9pbml0LCBVTF9NRDVMRU5HVEgpOworCXVsX01ENVVwZGF0ZSgmbWQ1YywgaGZzX2luZm8sIGxlbik7CisJdWxfTUQ1RmluYWwodXVpZCwgJm1kNWMpOworCisJdXVpZFs2XSA9IDB4MzAgfCAodXVpZFs2XSAmIDB4MGYpOworCXV1aWRbOF0gPSAweDgwIHwgKHV1aWRbOF0gJiAweDNmKTsKKwlyZXR1cm4gYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHV1aWQpOworfQorCitzdGF0aWMgaW50IHByb2JlX2hmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGhmc19tZGIJKmhmczsKKwlpbnQgc2l6ZTsKKworCWhmcyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgaGZzX21kYik7CisJaWYgKCFoZnMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoKG1lbWNtcChoZnMtPmVtYmVkX3NpZywgIkgrIiwgMikgPT0gMCkgfHwKKwkgICAgKG1lbWNtcChoZnMtPmVtYmVkX3NpZywgIkhYIiwgMikgPT0gMCkpCisJCXJldHVybiAxOwkvKiBOb3QgaGZzLCBidXQgYW4gZW1iZWRkZWQgSEZTKyAqLworCisJc2l6ZSA9IGJlMzJfdG9fY3B1KGhmcy0+YWxfYmxrX3NpemUpOworCWlmICghc2l6ZSB8fCAoc2l6ZSAmIChIRlNfU0VDVE9SX1NJWkUgLSAxKSkpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiXHRiYWQgYWxsb2NhdGlvbiBzaXplIC0gaWdub3JlIikpOworCQlyZXR1cm4gMTsKKwl9CisKKwloZnNfc2V0X3V1aWQocHIsIGhmcy0+ZmluZGVyX2luZm8uaWQsIHNpemVvZihoZnMtPmZpbmRlcl9pbmZvLmlkKSk7CisKKwlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIGhmcy0+bGFiZWwsIGhmcy0+bGFiZWxfbGVuKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9oZnNwbHVzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgaGZzcGx1c19leHRlbnQgZXh0ZW50c1tIRlNQTFVTX0VYVEVOVF9DT1VOVF07CisJc3RydWN0IGhmc3BsdXNfYm5vZGVfZGVzY3JpcHRvciAqZGVzY3I7CisJc3RydWN0IGhmc3BsdXNfYmhlYWRlcl9yZWNvcmQgKmJub2RlOworCXN0cnVjdCBoZnNwbHVzX2NhdGFsb2dfa2V5ICprZXk7CisJc3RydWN0IGhmc3BsdXNfdm9sX2hlYWRlciAqaGZzcGx1czsKKwlzdHJ1Y3QgaGZzX21kYiAqc2JkOworCXVuc2lnbmVkIGludCBhbGxvY19ibG9ja19zaXplOworCXVuc2lnbmVkIGludCBhbGxvY19maXJzdF9ibG9jazsKKwl1bnNpZ25lZCBpbnQgZW1iZWRfZmlyc3RfYmxvY2s7CisJdW5zaWduZWQgaW50IG9mZiA9IDA7CisJdW5zaWduZWQgaW50IGJsb2Nrc2l6ZTsKKwl1bnNpZ25lZCBpbnQgY2F0X2Jsb2NrOworCXVuc2lnbmVkIGludCBleHRfYmxvY2tfc3RhcnQ7CisJdW5zaWduZWQgaW50IGV4dF9ibG9ja19jb3VudDsKKwl1bnNpZ25lZCBpbnQgcmVjb3JkX2NvdW50OworCXVuc2lnbmVkIGludCBsZWFmX25vZGVfaGVhZDsKKwl1bnNpZ25lZCBpbnQgbGVhZl9ub2RlX2NvdW50OworCXVuc2lnbmVkIGludCBsZWFmX25vZGVfc2l6ZTsKKwl1bnNpZ25lZCBpbnQgbGVhZl9ibG9jazsKKwlpbnQgZXh0OworCXVpbnQ2NF90IGxlYWZfb2ZmOworCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKworCXNiZCA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgaGZzX21kYik7CisJaWYgKCFzYmQpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkvKiBDaGVjayBmb3IgYSBIRlMrIHZvbHVtZSBlbWJlZGRlZCBpbiBhIEhGUyB2b2x1bWUgKi8KKwlpZiAobWVtY21wKHNiZC0+c2lnbmF0dXJlLCAiQkQiLCAyKSA9PSAwKSB7CisJCWlmICgobWVtY21wKHNiZC0+ZW1iZWRfc2lnLCAiSCsiLCAyKSAhPSAwKSAmJgorCQkgICAgKG1lbWNtcChzYmQtPmVtYmVkX3NpZywgIkhYIiwgMikgIT0gMCkpCisJCQkvKiBUaGlzIG11c3QgYmUgYW4gSEZTIHZvbHVtZSwgc28gZmFpbCAqLworCQkJcmV0dXJuIDE7CisKKwkJYWxsb2NfYmxvY2tfc2l6ZSA9IGJlMzJfdG9fY3B1KHNiZC0+YWxfYmxrX3NpemUpOworCQlhbGxvY19maXJzdF9ibG9jayA9IGJlMTZfdG9fY3B1KHNiZC0+YWxfYmxfc3QpOworCQllbWJlZF9maXJzdF9ibG9jayA9IGJlMTZfdG9fY3B1KHNiZC0+ZW1iZWRfc3RhcnRibG9jayk7CisJCW9mZiA9IChhbGxvY19maXJzdF9ibG9jayAqIDUxMikgKworCQkJKGVtYmVkX2ZpcnN0X2Jsb2NrICogYWxsb2NfYmxvY2tfc2l6ZSk7CisKKwkJYnVmID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQlvZmYgKyAobWFnLT5rYm9mZiAqIDEwMjQpLAorCQkJCXNpemVvZihzdHJ1Y3QgaGZzcGx1c192b2xfaGVhZGVyKSk7CisJCWhmc3BsdXMgPSAoc3RydWN0IGhmc3BsdXNfdm9sX2hlYWRlciAqKSBidWY7CisKKwl9IGVsc2UKKwkJaGZzcGx1cyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLAorCQkJCXN0cnVjdCBoZnNwbHVzX3ZvbF9oZWFkZXIpOworCisJaWYgKCFoZnNwbHVzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKChtZW1jbXAoaGZzcGx1cy0+c2lnbmF0dXJlLCAiSCsiLCAyKSAhPSAwKSAmJgorCSAgICAobWVtY21wKGhmc3BsdXMtPnNpZ25hdHVyZSwgIkhYIiwgMikgIT0gMCkpCisJCXJldHVybiAxOworCisJaGZzX3NldF91dWlkKHByLCBoZnNwbHVzLT5maW5kZXJfaW5mby5pZCwgc2l6ZW9mKGhmc3BsdXMtPmZpbmRlcl9pbmZvLmlkKSk7CisKKwlibG9ja3NpemUgPSBiZTMyX3RvX2NwdShoZnNwbHVzLT5ibG9ja3NpemUpOworCWlmIChibG9ja3NpemUgPCBIRlNQTFVTX1NFQ1RPUl9TSVpFKQorCQlyZXR1cm4gMTsKKworCW1lbWNweShleHRlbnRzLCBoZnNwbHVzLT5jYXRfZmlsZS5leHRlbnRzLCBzaXplb2YoZXh0ZW50cykpOworCWNhdF9ibG9jayA9IGJlMzJfdG9fY3B1KGV4dGVudHNbMF0uc3RhcnRfYmxvY2spOworCisJYnVmID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCW9mZiArICgodWludDY0X3QpIGNhdF9ibG9jayAqIGJsb2Nrc2l6ZSksIDB4MjAwMCk7CisJaWYgKCFidWYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDA7CisKKwlibm9kZSA9IChzdHJ1Y3QgaGZzcGx1c19iaGVhZGVyX3JlY29yZCAqKQorCQkmYnVmW3NpemVvZihzdHJ1Y3QgaGZzcGx1c19ibm9kZV9kZXNjcmlwdG9yKV07CisKKwlsZWFmX25vZGVfaGVhZCA9IGJlMzJfdG9fY3B1KGJub2RlLT5sZWFmX2hlYWQpOworCWxlYWZfbm9kZV9zaXplID0gYmUxNl90b19jcHUoYm5vZGUtPm5vZGVfc2l6ZSk7CisJbGVhZl9ub2RlX2NvdW50ID0gYmUzMl90b19jcHUoYm5vZGUtPmxlYWZfY291bnQpOworCisJaWYgKGxlYWZfbm9kZV9zaXplIDwgc2l6ZW9mKHN0cnVjdCBoZnNwbHVzX2Jub2RlX2Rlc2NyaXB0b3IpICsKKwkgICAgc2l6ZW9mKHN0cnVjdCBoZnNwbHVzX2NhdGFsb2dfa2V5KSB8fCBsZWFmX25vZGVfY291bnQgPT0gMCkKKwkJcmV0dXJuIDA7CisKKwlsZWFmX2Jsb2NrID0gKGxlYWZfbm9kZV9oZWFkICogbGVhZl9ub2RlX3NpemUpIC8gYmxvY2tzaXplOworCisJLyogZ2V0IHBoeXNpY2FsIGxvY2F0aW9uICovCisJZm9yIChleHQgPSAwOyBleHQgPCBIRlNQTFVTX0VYVEVOVF9DT1VOVDsgZXh0KyspIHsKKwkJZXh0X2Jsb2NrX3N0YXJ0ID0gYmUzMl90b19jcHUoZXh0ZW50c1tleHRdLnN0YXJ0X2Jsb2NrKTsKKwkJZXh0X2Jsb2NrX2NvdW50ID0gYmUzMl90b19jcHUoZXh0ZW50c1tleHRdLmJsb2NrX2NvdW50KTsKKwkJaWYgKGV4dF9ibG9ja19jb3VudCA9PSAwKQorCQkJcmV0dXJuIDA7CisKKwkJLyogdGhpcyBpcyBvdXIgZXh0ZW50ICovCisJCWlmIChsZWFmX2Jsb2NrIDwgZXh0X2Jsb2NrX2NvdW50KQorCQkJYnJlYWs7CisKKwkJbGVhZl9ibG9jayAtPSBleHRfYmxvY2tfY291bnQ7CisJfQorCWlmIChleHQgPT0gSEZTUExVU19FWFRFTlRfQ09VTlQpCisJCXJldHVybiAwOworCisJbGVhZl9vZmYgPSAoKHVpbnQ2NF90KSBleHRfYmxvY2tfc3RhcnQgKyBsZWFmX2Jsb2NrKSAqIGJsb2Nrc2l6ZTsKKworCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJKHVpbnQ2NF90KSBvZmYgKyBsZWFmX29mZiwKKwkJCQlsZWFmX25vZGVfc2l6ZSk7CisJaWYgKCFidWYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDA7CisKKwlkZXNjciA9IChzdHJ1Y3QgaGZzcGx1c19ibm9kZV9kZXNjcmlwdG9yICopIGJ1ZjsKKwlyZWNvcmRfY291bnQgPSBiZTE2X3RvX2NwdShkZXNjci0+bnVtX3JlY3MpOworCWlmIChyZWNvcmRfY291bnQgPT0gMCkKKwkJcmV0dXJuIDA7CisKKwlpZiAoZGVzY3ItPnR5cGUgIT0gSEZTX05PREVfTEVBRikKKwkJcmV0dXJuIDA7CisKKwlrZXkgPSAoc3RydWN0IGhmc3BsdXNfY2F0YWxvZ19rZXkgKikKKwkJJmJ1ZltzaXplb2Yoc3RydWN0IGhmc3BsdXNfYm5vZGVfZGVzY3JpcHRvcildOworCisJaWYgKGJlMzJfdG9fY3B1KGtleS0+cGFyZW50X2lkKSAhPSBIRlNQTFVTX1BPUl9DTklEIHx8CisJICAgIGJlMTZfdG9fY3B1KGtleS0+dW5pY29kZV9sZW4pID4gMjU1KQorCQlyZXR1cm4gMDsKKworCWJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwocHIsIGtleS0+dW5pY29kZSwKKwkJCWJlMTZfdG9fY3B1KGtleS0+dW5pY29kZV9sZW4pICogMiwKKwkJCUJMS0lEX0VOQ19VVEYxNkJFKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBoZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiaGZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfaGZzLAorCS5mbGFncwkJPSBCTEtJRF9JRElORk9fVE9MRVJBTlQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiQkQiLCAubGVuID0gMiwgLmtib2ZmID0gMSB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaGZzcGx1c19pZGluZm8gPQoreworCS5uYW1lCQk9ICJoZnNwbHVzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfaGZzcGx1cywKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJCRCIsIC5sZW4gPSAyLCAua2JvZmYgPSAxIH0sCisJCXsgLm1hZ2ljID0gIkgrIiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiSFgiLCAubGVuID0gMiwgLmtib2ZmID0gMSB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaGlnaHBvaW50X3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9oaWdocG9pbnRfcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ODc5MzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaGlnaHBvaW50X3JhaWQuYwpAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBocHQ0NXhfbWV0YWRhdGEgeworCXVpbnQzMl90CW1hZ2ljOworfTsKKworI2RlZmluZSBIUFQ0NVhfTUFHSUNfT0sJCQkweDVhNzgxNmYzCisjZGVmaW5lIEhQVDQ1WF9NQUdJQ19CQUQJCTB4NWE3ODE2ZmQKKworc3RhdGljIGludCBwcm9iZV9oaWdocG9pbnQ0NXgoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3QgaHB0NDV4X21ldGFkYXRhICpocHQ7CisJdWludDY0X3Qgb2ZmOworCXVpbnQzMl90IG1hZ2ljOworCisJaWYgKHByLT5zaXplIDwgMHgxMDAwMCkKKwkJcmV0dXJuIDE7CisJaWYgKCFTX0lTUkVHKHByLT5tb2RlKSAmJiAhYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkKKwkJcmV0dXJuIDE7CisKKwlvZmYgPSAoKHByLT5zaXplIC8gMHgyMDApIC0gMTEpICogMHgyMDA7CisJaHB0ID0gKHN0cnVjdCBocHQ0NXhfbWV0YWRhdGEgKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCW9mZiwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBocHQ0NXhfbWV0YWRhdGEpKTsKKwlpZiAoIWhwdCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwltYWdpYyA9IGxlMzJfdG9fY3B1KGhwdC0+bWFnaWMpOworCWlmIChtYWdpYyAhPSBIUFQ0NVhfTUFHSUNfT0sgJiYgbWFnaWMgIT0gSFBUNDVYX01BR0lDX0JBRCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLCBzaXplb2YoaHB0LT5tYWdpYyksCisJCQkJKHVuc2lnbmVkIGNoYXIgKikgJmhwdC0+bWFnaWMpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9oaWdocG9pbnQzN3goYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGhpZ2hwb2ludDQ1eF9pZGluZm8gPSB7CisJLm5hbWUJCT0gImhwdDQ1eF9yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2hpZ2hwb2ludDQ1eCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaGlnaHBvaW50Mzd4X2lkaW5mbyA9IHsKKwkubmFtZQkJPSAiaHB0Mzd4X3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfaGlnaHBvaW50Mzd4LAorCS5tYWdpY3MJCT0geworCQkvKgorCQkgKiBTdXBlcmJsb2NrIG9mZnNldDogICAgICAgICAgICAgICAgICAgICA0NjA4IGJ5dGVzICAoOSBzZWN0b3JzKQorCQkgKiBNYWdpYyBzdHJpbmcgb2Zmc2V0IHdpdGhpbiBzdXBlcmJsb2NrOiAgIDMyIGJ5dGVzCisJCSAqCisJCSAqIGtib2ZmID0gKDQ2MDggKyAzMikgLyAxMDI0CisJCSAqIHNib2ZmID0gKDQ2MDggKyAzMikgJSBrYm9mZgorCQkgKi8KKwkJeyAubWFnaWMgPSAiXHhmMFx4MTZceDc4XHg1YSIsIC5sZW4gPSA0LCAua2JvZmYgPSA0LCAuc2JvZmYgPSA1NDQgfSwKKwkJeyAubWFnaWMgPSAiXHhmZFx4MTZceDc4XHg1YSIsIC5sZW4gPSA0LCAua2JvZmYgPSA0LCAuc2JvZmYgPSA1NDQgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9ocGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaHBmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1NjVkMzcKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaHBmcy5jCkBAIC0wLDAgKzEsMTIyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBocGZzX2Jvb3RfYmxvY2sKK3sKKwl1aW50OF90CQlqbXBbM107CisJdWludDhfdAkJb2VtX2lkWzhdOworCXVpbnQ4X3QJCWJ5dGVzX3Blcl9zZWN0b3JbMl07CisJdWludDhfdAkJc2VjdG9yc19wZXJfY2x1c3RlcjsKKwl1aW50OF90CQluX3Jlc2VydmVkX3NlY3RvcnNbMl07CisJdWludDhfdAkJbl9mYXRzOworCXVpbnQ4X3QJCW5fcm9vdGRpcl9lbnRyaWVzWzJdOworCXVpbnQ4X3QJCW5fc2VjdG9yc19zWzJdOworCXVpbnQ4X3QJCW1lZGlhX2J5dGU7CisJdWludDE2X3QJc2VjdG9yc19wZXJfZmF0OworCXVpbnQxNl90CXNlY3RvcnNfcGVyX3RyYWNrOworCXVpbnQxNl90CWhlYWRzX3Blcl9jeWw7CisJdWludDMyX3QJbl9oaWRkZW5fc2VjdG9yczsKKwl1aW50MzJfdAluX3NlY3RvcnNfbDsKKwl1aW50OF90CQlkcml2ZV9udW1iZXI7CisJdWludDhfdAkJbWJ6OworCXVpbnQ4X3QJCXNpZ18yOGg7CisJdWludDhfdAkJdm9sX3Nlcm5vWzRdOworCXVpbnQ4X3QJCXZvbF9sYWJlbFsxMV07CisJdWludDhfdAkJc2lnX2hwZnNbOF07CisJdWludDhfdAkJcGFkWzQ0OF07CisJdWludDhfdAkJbWFnaWNbMl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgaHBmc19zdXBlcl9ibG9jaworeworCXVpbnQ4X3QJCW1hZ2ljWzRdOworCXVpbnQ4X3QJCW1hZ2ljMVs0XTsKKwl1aW50OF90CQl2ZXJzaW9uOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGhwZnNfc3BhcmVfc3VwZXIKK3sKKwl1aW50OF90CQltYWdpY1s0XTsKKwl1aW50OF90CQltYWdpYzFbNF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisKKyNkZWZpbmUgSFBGU19TQl9PRkZTRVQJCQkweDIwMDAKKyNkZWZpbmUgSFBGU19TQlNQQVJFX09GRlNFVAkJMHgyMjAwCisKK3N0YXRpYyBpbnQgcHJvYmVfaHBmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGhwZnNfc3VwZXJfYmxvY2sgKmhzOworCXN0cnVjdCBocGZzX3NwYXJlX3N1cGVyICpoc3M7CisJc3RydWN0IGhwZnNfYm9vdF9ibG9jayAqaGJiOworCXVpbnQ4X3QgdmVyc2lvbjsKKworCS8qIHN1cGVyIGJsb2NrICovCisJaHMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGhwZnNfc3VwZXJfYmxvY2spOworCWlmICghaHMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJdmVyc2lvbiA9IGhzLT52ZXJzaW9uOworCisJLyogc3BhcmUgc3VwZXIgYmxvY2sgKi8KKwloc3MgPSAoc3RydWN0IGhwZnNfc3BhcmVfc3VwZXIgKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJSFBGU19TQlNQQVJFX09GRlNFVCwKKwkJCQlzaXplb2Yoc3RydWN0IGhwZnNfc3BhcmVfc3VwZXIpKTsKKwlpZiAoIWhzcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwlpZiAobWVtY21wKGhzcy0+bWFnaWMsICJceDQ5XHgxOFx4OTFceGY5IiwgNCkgIT0gMCkKKwkJcmV0dXJuIDE7CisKKwkvKiBib290IGJsb2NrICh3aXRoIFVVSUQgYW5kIExBQkVMKSAqLworCWhiYiA9IChzdHJ1Y3QgaHBmc19ib290X2Jsb2NrICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCTAsCisJCQkJc2l6ZW9mKHN0cnVjdCBocGZzX2Jvb3RfYmxvY2spKTsKKwlpZiAoIWhiYikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwlpZiAobWVtY21wKGhiYi0+bWFnaWMsICJceDU1XHhhYSIsIDIpID09IDAgJiYKKwkgICAgbWVtY21wKGhiYi0+c2lnX2hwZnMsICJIUEZTIiwgNCkgPT0gMCAmJgorCSAgICBoYmItPnNpZ18yOGggPT0gMHgyOCkgeworCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIGhiYi0+dm9sX2xhYmVsLCBzaXplb2YoaGJiLT52b2xfbGFiZWwpKTsKKwkJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLAorCQkJCWhiYi0+dm9sX3Nlcm5vLCBzaXplb2YoaGJiLT52b2xfc2Vybm8pLAorCQkJCSIlMDJYJTAyWC0lMDJYJTAyWCIsCisJCQkJaGJiLT52b2xfc2Vybm9bM10sIGhiYi0+dm9sX3Nlcm5vWzJdLAorCQkJCWhiYi0+dm9sX3Nlcm5vWzFdLCBoYmItPnZvbF9zZXJub1swXSk7CisJfQorCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1IiwgdmVyc2lvbik7CisKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBocGZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImhwZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9ocGZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsKKwkJICAubWFnaWMgPSAiXHg0OVx4ZThceDk1XHhmOSIsCisJCSAgLmxlbiA9IDQsCisJCSAgLmtib2ZmID0gKEhQRlNfU0JfT0ZGU0VUID4+IDEwKQorCQl9LAorCQl7IE5VTEwgfQorCX0KK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2lzbzk2NjAuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9pc285NjYwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM1Njc1NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9pc285NjYwLmMKQEAgLTAsMCArMSwyNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgYnkgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMgYnkgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDAxIGJ5IEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGFsc28gYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgaXNvOTY2MF9kYXRlIHsKKwl1bnNpZ25lZCBjaGFyIHllYXJbNF07CisJdW5zaWduZWQgY2hhciBtb250aFsyXTsKKwl1bnNpZ25lZCBjaGFyIGRheVsyXTsKKwl1bnNpZ25lZCBjaGFyIGhvdXJbMl07CisJdW5zaWduZWQgY2hhciBtaW51dGVbMl07CisJdW5zaWduZWQgY2hhciBzZWNvbmRbMl07CisJdW5zaWduZWQgY2hhciBodW5kcmVkdGhbMl07CisJdW5zaWduZWQgY2hhciBvZmZzZXQ7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyogUFZEIC0gUHJpbWFyeSB2b2x1bWUgZGVzY3JpcHRvciAqLworc3RydWN0IGlzb192b2x1bWVfZGVzY3JpcHRvciB7CisJdW5zaWduZWQgY2hhcgl2ZF90eXBlOworCXVuc2lnbmVkIGNoYXIJdmRfaWRbNV07CisJdW5zaWduZWQgY2hhcgl2ZF92ZXJzaW9uOworCXVuc2lnbmVkIGNoYXIJZmxhZ3M7CisJdW5zaWduZWQgY2hhcglzeXN0ZW1faWRbMzJdOworCXVuc2lnbmVkIGNoYXIJdm9sdW1lX2lkWzMyXTsKKwl1bnNpZ25lZCBjaGFyCXVudXNlZFs4XTsKKwl1bnNpZ25lZCBjaGFyCXNwYWNlX3NpemVbOF07CisJdW5zaWduZWQgY2hhcgllc2NhcGVfc2VxdWVuY2VzWzhdOworCXVuc2lnbmVkIGNoYXIgIHVudXNlZDFbMjIyXTsKKwl1bnNpZ25lZCBjaGFyICBwdWJsaXNoZXJfaWRbMTI4XTsKKwl1bnNpZ25lZCBjaGFyICB1bnVzZWQyWzEyOF07CisJdW5zaWduZWQgY2hhciAgYXBwbGljYXRpb25faWRbMTI4XTsKKwl1bnNpZ25lZCBjaGFyICB1bnVzZWQzWzExMV07CisJc3RydWN0IGlzbzk2NjBfZGF0ZSBjcmVhdGVkOworCXN0cnVjdCBpc285NjYwX2RhdGUgbW9kaWZpZWQ7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisvKiBCb290IFJlY29yZCAqLworc3RydWN0IGJvb3RfcmVjb3JkIHsKKwl1bnNpZ25lZCBjaGFyCXZkX3R5cGU7CisJdW5zaWduZWQgY2hhcgl2ZF9pZFs1XTsKKwl1bnNpZ25lZCBjaGFyCXZkX3ZlcnNpb247CisJdW5zaWduZWQgY2hhcglib290X3N5c3RlbV9pZFszMl07CisJdW5zaWduZWQgY2hhcglib290X2lkWzMyXTsKKwl1bnNpZ25lZCBjaGFyCXVudXNlZFsxXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgSVNPX1NVUEVSQkxPQ0tfT0ZGU0VUCQkweDgwMDAKKyNkZWZpbmUgSVNPX1NFQ1RPUl9TSVpFCQkJMHg4MDAKKyNkZWZpbmUgSVNPX1ZEX09GRlNFVAkJCShJU09fU1VQRVJCTE9DS19PRkZTRVQgKyBJU09fU0VDVE9SX1NJWkUpCisjZGVmaW5lIElTT19WRF9CT09UX1JFQ09SRAkJMHgwCisjZGVmaW5lIElTT19WRF9TVVBQTEVNRU5UQVJZCQkweDIKKyNkZWZpbmUgSVNPX1ZEX0VORAkJCTB4ZmYKKyNkZWZpbmUgSVNPX1ZEX01BWAkJCTE2CisKK3N0cnVjdCBoaWdoX3NpZXJyYV92b2x1bWVfZGVzY3JpcHRvciB7CisJdW5zaWduZWQgY2hhcglmb29bOF07CisJdW5zaWduZWQgY2hhcgl0eXBlOworCXVuc2lnbmVkIGNoYXIJaWRbNV07CisJdW5zaWduZWQgY2hhcgl2ZXJzaW9uOworCXVuc2lnbmVkIGNoYXIJdW51c2VkMTsKKwl1bnNpZ25lZCBjaGFyCXN5c3RlbV9pZFszMl07CisJdW5zaWduZWQgY2hhciAgIHZvbHVtZV9pZFszMl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisvKiByZXR1cm5zIDEgaWYgdGhlIGJlZ2luIG9mIEBhc2NpaSBpcyBlcXVhbCB0byBAdXRmMTYgc3RyaW5nLgorICovCitzdGF0aWMgaW50IGFzY2lpX2VxX3V0ZjE2YmUodW5zaWduZWQgY2hhciAqYXNjaWksCisJCQl1bnNpZ25lZCBjaGFyICp1dGYxNiwgc2l6ZV90IGxlbikKK3sKKwlzaXplX3QgYSwgdTsKKworCWZvciAoYSA9IDAsIHUgPSAwOyB1IDwgbGVuOyBhKyssIHUgKz0gMikgeworCQlpZiAodXRmMTZbdV0gIT0gMHgwIHx8IGFzY2lpW2FdICE9IHV0ZjE2W3UgKyAxXSkKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworLyogb2xkIEhpZ2ggU2llcnJhIGZvcm1hdCAqLworc3RhdGljIGludCBwcm9iZV9pc285NjYwX2hzZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBoaWdoX3NpZXJyYV92b2x1bWVfZGVzY3JpcHRvciAqaXNvOworCisJaXNvID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBoaWdoX3NpZXJyYV92b2x1bWVfZGVzY3JpcHRvcik7CisJaWYgKCFpc28pCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgIkhpZ2ggU2llcnJhIik7CisJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCBpc28tPnZvbHVtZV9pZCwgc2l6ZW9mKGlzby0+dm9sdW1lX2lkKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfaXNvOTY2MF9zZXRfdXVpZCAoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBpc285NjYwX2RhdGUgKmRhdGUpCit7CisJdW5zaWduZWQgY2hhciBidWZmZXJbMTZdOworCXVuc2lnbmVkIGludCBpLCB6ZXJvcyA9IDA7CisKKwlidWZmZXJbMF0gPSBkYXRlLT55ZWFyWzBdOworCWJ1ZmZlclsxXSA9IGRhdGUtPnllYXJbMV07CisJYnVmZmVyWzJdID0gZGF0ZS0+eWVhclsyXTsKKwlidWZmZXJbM10gPSBkYXRlLT55ZWFyWzNdOworCWJ1ZmZlcls0XSA9IGRhdGUtPm1vbnRoWzBdOworCWJ1ZmZlcls1XSA9IGRhdGUtPm1vbnRoWzFdOworCWJ1ZmZlcls2XSA9IGRhdGUtPmRheVswXTsKKwlidWZmZXJbN10gPSBkYXRlLT5kYXlbMV07CisJYnVmZmVyWzhdID0gZGF0ZS0+aG91clswXTsKKwlidWZmZXJbOV0gPSBkYXRlLT5ob3VyWzFdOworCWJ1ZmZlclsxMF0gPSBkYXRlLT5taW51dGVbMF07CisJYnVmZmVyWzExXSA9IGRhdGUtPm1pbnV0ZVsxXTsKKwlidWZmZXJbMTJdID0gZGF0ZS0+c2Vjb25kWzBdOworCWJ1ZmZlclsxM10gPSBkYXRlLT5zZWNvbmRbMV07CisJYnVmZmVyWzE0XSA9IGRhdGUtPmh1bmRyZWR0aFswXTsKKwlidWZmZXJbMTVdID0gZGF0ZS0+aHVuZHJlZHRoWzFdOworCisJLyogY291bnQgdGhlIG51bWJlciBvZiB6ZXJvcyAoJzAnKSBpbiB0aGUgZGF0ZSBidWZmZXIgKi8KKwlmb3IgKGkgPSAwLCB6ZXJvcyA9IDA7IGkgPCBzaXplb2YoYnVmZmVyKTsgaSsrKQorCQlpZiAoYnVmZmVyW2ldID09ICcwJykKKwkJCXplcm9zKys7CisKKwkvKiBkdWUgdG8gdGhlIGlzbzk2NjAgc3RhbmRhcmQgaWYgYWxsIGRhdGUgZmllbGRzIGFyZSAnMCcgYW5kIG9mZnNldCBpcyAwLCB0aGUgZGF0ZSBpcyB1bnNldCAqLworCWlmICh6ZXJvcyA9PSBzaXplb2YoYnVmZmVyKSAmJiBkYXRlLT5vZmZzZXQgPT0gMCkKKwkJcmV0dXJuIDA7CisKKwkvKiBnZW5lcmF0ZSBhbiBVVUlEIHVzaW5nIHRoaXMgZGF0ZSBhbmQgcmV0dXJuIHN1Y2Nlc3MgKi8KKwlibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQgKHByLCBidWZmZXIsIHNpemVvZihidWZmZXIpLAorCQkiJWMlYyVjJWMtJWMlYy0lYyVjLSVjJWMtJWMlYy0lYyVjLSVjJWMiLAorCQlidWZmZXJbMF0sIGJ1ZmZlclsxXSwgYnVmZmVyWzJdLCBidWZmZXJbM10sCisJCWJ1ZmZlcls0XSwgYnVmZmVyWzVdLAorCQlidWZmZXJbNl0sIGJ1ZmZlcls3XSwKKwkJYnVmZmVyWzhdLCBidWZmZXJbOV0sCisJCWJ1ZmZlclsxMF0sIGJ1ZmZlclsxMV0sCisJCWJ1ZmZlclsxMl0sIGJ1ZmZlclsxM10sCisJCWJ1ZmZlclsxNF0sIGJ1ZmZlclsxNV0pOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgaXNfc3RyX2VtcHR5KGNvbnN0IHVuc2lnbmVkIGNoYXIgKnN0ciwgc2l6ZV90IGxlbikKK3sKKwlzaXplX3QgaTsKKworCWlmICghc3RyIHx8ICEqc3RyKQorCQlyZXR1cm4gMTsKKworCWZvciAoaSA9IDA7IGkgPCBsZW47IGkrKykKKwkJaWYgKCFpc3NwYWNlKHN0cltpXSkpCisJCQlyZXR1cm4gMDsKKwlyZXR1cm4gMTsKK30KKworLyogaXNvOTY2MCBbKyBNaWNyb3NvZnQgSm9saWV0IEV4dGVuc2lvbl0gKi8KK3N0YXRpYyBpbnQgcHJvYmVfaXNvOTY2MChibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGlzb192b2x1bWVfZGVzY3JpcHRvciAqaXNvOworCXVuc2lnbmVkIGNoYXIgbGFiZWxbMzJdOworCWludCBpOworCWludCBvZmY7CisKKwlpZiAoc3RyY21wKG1hZy0+bWFnaWMsICJDRFJPTSIpID09IDApCisJCXJldHVybiBwcm9iZV9pc285NjYwX2hzZnMocHIsIG1hZyk7CisKKwlpc28gPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGlzb192b2x1bWVfZGVzY3JpcHRvcik7CisJaWYgKCFpc28pCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwltZW1jcHkobGFiZWwsIGlzby0+dm9sdW1lX2lkLCBzaXplb2YobGFiZWwpKTsKKworCWlmICghaXNfc3RyX2VtcHR5KGlzby0+c3lzdGVtX2lkLCBzaXplb2YoaXNvLT5zeXN0ZW1faWQpKSkKKwkJYmxraWRfcHJvYmVfc2V0X2lkX2xhYmVsKHByLCAiU1lTVEVNX0lEIiwKKwkJCQlpc28tPnN5c3RlbV9pZCwgc2l6ZW9mKGlzby0+c3lzdGVtX2lkKSk7CisKKwlpZiAoIWlzX3N0cl9lbXB0eShpc28tPnB1Ymxpc2hlcl9pZCwgc2l6ZW9mKGlzby0+cHVibGlzaGVyX2lkKSkpCisJCWJsa2lkX3Byb2JlX3NldF9pZF9sYWJlbChwciwgIlBVQkxJU0hFUl9JRCIsCisJCQkJaXNvLT5wdWJsaXNoZXJfaWQsIHNpemVvZihpc28tPnB1Ymxpc2hlcl9pZCkpOworCisJaWYgKCFpc19zdHJfZW1wdHkoaXNvLT5hcHBsaWNhdGlvbl9pZCwgc2l6ZW9mKGlzby0+YXBwbGljYXRpb25faWQpKSkKKwkJYmxraWRfcHJvYmVfc2V0X2lkX2xhYmVsKHByLCAiQVBQTElDQVRJT05fSUQiLAorCQkJCWlzby0+YXBwbGljYXRpb25faWQsIHNpemVvZihpc28tPmFwcGxpY2F0aW9uX2lkKSk7CisKKwkvKiBjcmVhdGUgYW4gVVVJRCB1c2luZyB0aGUgbW9kaWZpZWQvY3JlYXRlZCBkYXRlICovCisJaWYgKCEgcHJvYmVfaXNvOTY2MF9zZXRfdXVpZChwciwgJmlzby0+bW9kaWZpZWQpKQorCQlwcm9iZV9pc285NjYwX3NldF91dWlkKHByLCAmaXNvLT5jcmVhdGVkKTsKKworCS8qIEpvbGlldCBFeHRlbnNpb24gYW5kIEJvb3QgUmVjb3JkICovCisJb2ZmID0gSVNPX1ZEX09GRlNFVDsKKwlmb3IgKGkgPSAwOyBpIDwgSVNPX1ZEX01BWDsgaSsrKSB7CisJCXN0cnVjdCBib290X3JlY29yZCAqYm9vdD0gKHN0cnVjdCBib290X3JlY29yZCAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJb2ZmLAorCQkJCQltYXgoc2l6ZW9mKHN0cnVjdCBib290X3JlY29yZCksCisJCQkJCSAgICBzaXplb2Yoc3RydWN0IGlzb192b2x1bWVfZGVzY3JpcHRvcikpKTsKKworCQlpZiAoYm9vdCA9PSBOVUxMIHx8IGJvb3QtPnZkX3R5cGUgPT0gSVNPX1ZEX0VORCkKKwkJCWJyZWFrOworCisJCWlmIChib290LT52ZF90eXBlID09IElTT19WRF9CT09UX1JFQ09SRCkgeworCQkJaWYgKCFpc19zdHJfZW1wdHkoYm9vdC0+Ym9vdF9zeXN0ZW1faWQsCisJCQkJCSAgc2l6ZW9mKGJvb3QtPmJvb3Rfc3lzdGVtX2lkKSkpCisJCQkJYmxraWRfcHJvYmVfc2V0X2lkX2xhYmVsKHByLCAiQk9PVF9TWVNURU1fSUQiLAorCQkJCQkJCWJvb3QtPmJvb3Rfc3lzdGVtX2lkLAorCQkJCQkJCXNpemVvZihib290LT5ib290X3N5c3RlbV9pZCkpOworCQkJb2ZmICs9IElTT19TRUNUT1JfU0laRTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogTm90IGEgQm9vdCByZWNvcmQsIGxldHMgc2VlIGlmIGl0cyBzdXBwbGVtZW50YXJ5IHZvbHVtZSBkZXNjcmlwdG9yICovCisJCWlzbyA9IChzdHJ1Y3QgaXNvX3ZvbHVtZV9kZXNjcmlwdG9yICopIGJvb3Q7CisKKwkJaWYgKGlzby0+dmRfdHlwZSAhPSBJU09fVkRfU1VQUExFTUVOVEFSWSkgeworCQkJb2ZmICs9IElTT19TRUNUT1JfU0laRTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKG1lbWNtcChpc28tPmVzY2FwZV9zZXF1ZW5jZXMsICIlL0AiLCAzKSA9PSAwIHx8CisJCSAgICBtZW1jbXAoaXNvLT5lc2NhcGVfc2VxdWVuY2VzLCAiJS9DIiwgMykgPT0gMCB8fAorCQkgICAgbWVtY21wKGlzby0+ZXNjYXBlX3NlcXVlbmNlcywgIiUvRSIsIDMpID09IDApIHsKKworCQkJYmxraWRfcHJvYmVfc2V0X3ZlcnNpb24ocHIsICJKb2xpZXQgRXh0ZW5zaW9uIik7CisKKwkJCS8qIElzIHRoZSBKb2xpZXQgKFVURjE2QkUpIGxhYmVsIGVxdWFsIHRvIHRoZSBsYWJlbCBpbgorCQkJICogdGhlIFBWRD8gSWYgeWVzLCB1c2UgUFZEIGxhYmVsLiAgVGhlIEpvbGlldCB2ZXJzaW9uCisJCQkgKiBvZiB0aGUgbGFiZWwgY291bGQgYmUgdHJpbW1lZCAoYmVjYXVzZSBVVEYxNi4uKS4KKwkJCSAqLworCQkJaWYgKGFzY2lpX2VxX3V0ZjE2YmUobGFiZWwsIGlzby0+dm9sdW1lX2lkLCAzMikpCisJCQkJYnJlYWs7CisKKwkJCWJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwocHIsCisJCQkJCWlzby0+dm9sdW1lX2lkLAorCQkJCQlzaXplb2YoaXNvLT52b2x1bWVfaWQpLAorCQkJCQlCTEtJRF9FTkNfVVRGMTZCRSk7CisJCQlnb3RvIGhhc19sYWJlbDsKKwkJfQorCQlvZmYgKz0gSVNPX1NFQ1RPUl9TSVpFOworCX0KKworCS8qIEpvbGlldCBub3QgZm91bmQsIGxldCB1c2Ugc3RhbmRhcmQgaXNvIGxhYmVsICovCisJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCBsYWJlbCwgc2l6ZW9mKGxhYmVsKSk7CisKK2hhc19sYWJlbDoKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBpc285NjYwX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImlzbzk2NjAiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9pc285NjYwLAorCS5mbGFncwkJPSBCTEtJRF9JRElORk9fVE9MRVJBTlQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiQ0QwMDEiLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDEgfSwKKwkJeyAubWFnaWMgPSAiQ0RST00iLCAubGVuID0gNSwgLmtib2ZmID0gMzIsIC5zYm9mZiA9IDkgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXN3X3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9pc3dfcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxZDUzYTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvaXN3X3JhaWQuYwpAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBpc3dfbWV0YWRhdGEgeworCXVpbnQ4X3QJCXNpZ1szMl07CisJdWludDMyX3QJY2hlY2tfc3VtOworCXVpbnQzMl90CW1wYl9zaXplOworCXVpbnQzMl90CWZhbWlseV9udW07CisJdWludDMyX3QJZ2VuZXJhdGlvbl9udW07Cit9OworCisjZGVmaW5lIElTV19TSUdOQVRVUkUJCSJJbnRlbCBSYWlkIElTTSBDZmcgU2lnLiAiCisKK3N0YXRpYyBpbnQgcHJvYmVfaXN3cmFpZChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXVpbnQ2NF90IG9mZjsKKwl1bnNpZ25lZCBpbnQgc2VjdG9yX3NpemU7CisJc3RydWN0IGlzd19tZXRhZGF0YSAqaXN3OworCisJaWYgKHByLT5zaXplIDwgMHgxMDAwMCkKKwkJcmV0dXJuIDE7CisJaWYgKCFTX0lTUkVHKHByLT5tb2RlKSAmJiAhYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkKKwkJcmV0dXJuIDE7CisKKwlzZWN0b3Jfc2l6ZSA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKTsKKwlvZmYgPSAoKHByLT5zaXplIC8gc2VjdG9yX3NpemUpIC0gMikgKiBzZWN0b3Jfc2l6ZTsKKworCWlzdyA9IChzdHJ1Y3QgaXN3X21ldGFkYXRhICopYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCW9mZiwgc2l6ZW9mKHN0cnVjdCBpc3dfbWV0YWRhdGEpKTsKKwlpZiAoIWlzdykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChtZW1jbXAoaXN3LT5zaWcsIElTV19TSUdOQVRVUkUsIHNpemVvZihJU1dfU0lHTkFUVVJFKS0xKSAhPSAwKQorCQlyZXR1cm4gMTsKKworCWlmIChibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIlNnMiLAorCQkJJmlzdy0+c2lnW3NpemVvZihJU1dfU0lHTkFUVVJFKS0xXSkgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLCBzaXplb2YoaXN3LT5zaWcpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopIGlzdy0+c2lnKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaXN3cmFpZF9pZGluZm8gPSB7CisJLm5hbWUJCT0gImlzd19yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2lzd3JhaWQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9qZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9qZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjk1NmVmCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2pmcy5jCkBAIC0wLDAgKzEsNzEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgYnkgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMgYnkgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDAxIGJ5IEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBqZnNfc3VwZXJfYmxvY2sgeworCXVuc2lnbmVkIGNoYXIJanNfbWFnaWNbNF07CisJdWludDMyX3QJanNfdmVyc2lvbjsKKwl1aW50NjRfdAlqc19zaXplOworCXVpbnQzMl90CWpzX2JzaXplOwkvKiA0OiBhZ2dyZWdhdGUgYmxvY2sgc2l6ZSBpbiBieXRlcyAqLworCXVpbnQxNl90CWpzX2wyYnNpemU7CS8qIDI6IGxvZzIgb2Ygc19ic2l6ZSAqLworCXVpbnQxNl90CWpzX2wyYmZhY3RvcjsJLyogMjogbG9nMihzX2JzaXplL2hhcmR3YXJlIGJsb2NrIHNpemUpICovCisJdWludDMyX3QJanNfcGJzaXplOwkvKiA0OiBoYXJkd2FyZS9MVk0gYmxvY2sgc2l6ZSBpbiBieXRlcyAqLworCXVpbnQxNl90CWpzX2wycGJzaXplOwkvKiAyOiBsb2cyIG9mIHNfcGJzaXplICovCisJdWludDE2X3QJanNfcGFkOwkJLyogMjogcGFkZGluZyBuZWNlc3NhcnkgZm9yIGFsaWdubWVudCAqLworCXVpbnQzMl90CWpzX2R1bW15MlsyNl07CisJdW5zaWduZWQgY2hhcglqc191dWlkWzE2XTsKKwl1bnNpZ25lZCBjaGFyCWpzX2xhYmVsWzE2XTsKKwl1bnNpZ25lZCBjaGFyCWpzX2xvZ3V1aWRbMTZdOworfTsKKworc3RhdGljIGludCBwcm9iZV9qZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBqZnNfc3VwZXJfYmxvY2sgKmpzOworCisJanMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGpmc19zdXBlcl9ibG9jayk7CisJaWYgKCFqcykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwlpZiAobGUzMl90b19jcHUoanMtPmpzX2JzaXplKSAhPSAoMVUgPDwgbGUxNl90b19jcHUoanMtPmpzX2wyYnNpemUpKSkKKwkJcmV0dXJuIDE7CisJaWYgKGxlMzJfdG9fY3B1KGpzLT5qc19wYnNpemUpICE9ICgxVSA8PCBsZTE2X3RvX2NwdShqcy0+anNfbDJwYnNpemUpKSkKKwkJcmV0dXJuIDE7CisJaWYgKChsZTE2X3RvX2NwdShqcy0+anNfbDJic2l6ZSkgLSBsZTE2X3RvX2NwdShqcy0+anNfbDJwYnNpemUpKSAhPQorCSAgICBsZTE2X3RvX2NwdShqcy0+anNfbDJiZmFjdG9yKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAoKigoY2hhciAqKSBqcy0+anNfbGFiZWwpICE9ICdcMCcpCisJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwganMtPmpzX2xhYmVsLCBzaXplb2YoanMtPmpzX2xhYmVsKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIGpzLT5qc191dWlkKTsKKwlyZXR1cm4gMDsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGpmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJqZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9qZnMsCisJLm1pbnN6CQk9IDE2ICogMTAyNCAqIDEwMjQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiSkZTMSIsIC5sZW4gPSA0LCAua2JvZmYgPSAzMiB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9qbWljcm9uX3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9qbWljcm9uX3JhaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTc5ODY3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2ptaWNyb25fcmFpZC5jCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3Qgam1fbWV0YWRhdGEgeworCWludDhfdAkJc2lnbmF0dXJlWzJdOworCXVpbnQ4X3QJCW1pbm9yX3ZlcnNpb247CisJdWludDhfdAkJbWFqb3JfdmVyc2lvbjsKKwl1aW50MTZfdAljaGVja3N1bTsKK307CisKKyNkZWZpbmUgSk1fU0lHTkFUVVJFCQkiSk0iCisKK3N0YXRpYyBpbnQgcHJvYmVfam1yYWlkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJdWludDY0X3Qgb2ZmOworCXN0cnVjdCBqbV9tZXRhZGF0YSAqam07CisKKwlpZiAocHItPnNpemUgPCAweDEwMDAwKQorCQlyZXR1cm4gMTsKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gMTsKKworCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCkgLSAxKSAqIDB4MjAwOworCWptID0gKHN0cnVjdCBqbV9tZXRhZGF0YSAqKQorCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCW9mZiwKKwkJCQlzaXplb2Yoc3RydWN0IGptX21ldGFkYXRhKSk7CisJaWYgKCFqbSkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChtZW1jbXAoam0tPnNpZ25hdHVyZSwgSk1fU0lHTkFUVVJFLCBzaXplb2YoSk1fU0lHTkFUVVJFKSAtIDEpICE9IDApCisJCXJldHVybiAxOworCWlmIChibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4ldSIsCisJCQkJam0tPm1ham9yX3ZlcnNpb24sIGptLT5taW5vcl92ZXJzaW9uKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBvZmYsIHNpemVvZihqbS0+c2lnbmF0dXJlKSwKKwkJCQkodW5zaWduZWQgY2hhciAqKSBqbS0+c2lnbmF0dXJlKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gam1yYWlkX2lkaW5mbyA9IHsKKwkubmFtZQkJPSAiam1pY3Jvbl9yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX2ptcmFpZCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2xpbnV4X3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9saW51eF9yYWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDM4OGU1NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9saW51eF9yYWlkLmMKQEAgLTAsMCArMSwyNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IG1kcDBfc3VwZXJfYmxvY2sgeworCXVpbnQzMl90CW1kX21hZ2ljOworCXVpbnQzMl90CW1ham9yX3ZlcnNpb247CisJdWludDMyX3QJbWlub3JfdmVyc2lvbjsKKwl1aW50MzJfdAlwYXRjaF92ZXJzaW9uOworCXVpbnQzMl90CWd2YWxpZF93b3JkczsKKwl1aW50MzJfdAlzZXRfdXVpZDA7CisJdWludDMyX3QJY3RpbWU7CisJdWludDMyX3QJbGV2ZWw7CisJdWludDMyX3QJc2l6ZTsKKwl1aW50MzJfdAlucl9kaXNrczsKKwl1aW50MzJfdAlyYWlkX2Rpc2tzOworCXVpbnQzMl90CW1kX21pbm9yOworCXVpbnQzMl90CW5vdF9wZXJzaXN0ZW50OworCXVpbnQzMl90CXNldF91dWlkMTsKKwl1aW50MzJfdAlzZXRfdXVpZDI7CisJdWludDMyX3QJc2V0X3V1aWQzOworfTsKKworLyoKKyAqIFZlcnNpb24tMSwgbGl0dGxlLWVuZGlhbi4KKyAqLworc3RydWN0IG1kcDFfc3VwZXJfYmxvY2sgeworCS8qIGNvbnN0YW50IGFycmF5IGluZm9ybWF0aW9uIC0gMTI4IGJ5dGVzICovCisJdWludDMyX3QJbWFnaWM7CQkvKiBNRF9TQl9NQUdJQzogMHhhOTJiNGVmYyAtIGxpdHRsZSBlbmRpYW4gKi8KKwl1aW50MzJfdAltYWpvcl92ZXJzaW9uOwkvKiAxICovCisJdWludDMyX3QJZmVhdHVyZV9tYXA7CS8qIDAgZm9yIG5vdyAqLworCXVpbnQzMl90CXBhZDA7CQkvKiBhbHdheXMgc2V0IHRvIDAgd2hlbiB3cml0aW5nICovCisKKwl1aW50OF90CQlzZXRfdXVpZFsxNl07CS8qIHVzZXItc3BhY2UgZ2VuZXJhdGVkLiAqLworCXVuc2lnbmVkIGNoYXIJc2V0X25hbWVbMzJdOwkvKiBzZXQgYW5kIGludGVycHJldGVkIGJ5IHVzZXItc3BhY2UgKi8KKworCXVpbnQ2NF90CWN0aW1lOwkJLyogbG8gNDAgYml0cyBhcmUgc2Vjb25kcywgdG9wIDI0IGFyZSBtaWNyb3NlY29uZHMgb3IgMCovCisJdWludDMyX3QJbGV2ZWw7CQkvKiAtNCAobXVsdGlwYXRoKSwgLTEgKGxpbmVhciksIDAsMSw0LDUgKi8KKwl1aW50MzJfdAlsYXlvdXQ7CQkvKiBvbmx5IGZvciByYWlkNSBjdXJyZW50bHkgKi8KKwl1aW50NjRfdAlzaXplOwkJLyogdXNlZCBzaXplIG9mIGNvbXBvbmVudCBkZXZpY2VzLCBpbiA1MTJieXRlIHNlY3RvcnMgKi8KKworCXVpbnQzMl90CWNodW5rc2l6ZTsJLyogaW4gNTEyYnl0ZSBzZWN0b3JzICovCisJdWludDMyX3QJcmFpZF9kaXNrczsKKwl1aW50MzJfdAliaXRtYXBfb2Zmc2V0OwkvKiBzZWN0b3JzIGFmdGVyIHN0YXJ0IG9mIHN1cGVyYmxvY2sgdGhhdCBiaXRtYXAgc3RhcnRzCisJCQkJCSAqIE5PVEU6IHNpZ25lZCwgc28gYml0bWFwIGNhbiBiZSBiZWZvcmUgc3VwZXJibG9jaworCQkJCQkgKiBvbmx5IG1lYW5pbmdmdWwgb2YgZmVhdHVyZV9tYXBbMF0gaXMgc2V0LgorCQkJCQkgKi8KKworCS8qIFRoZXNlIGFyZSBvbmx5IHZhbGlkIHdpdGggZmVhdHVyZSBiaXQgJzQnICovCisJdWludDMyX3QJbmV3X2xldmVsOwkvKiBuZXcgbGV2ZWwgd2UgYXJlIHJlc2hhcGluZyB0bwkJKi8KKwl1aW50NjRfdAlyZXNoYXBlX3Bvc2l0aW9uOwkvKiBuZXh0IGFkZHJlc3MgaW4gYXJyYXktc3BhY2UgZm9yIHJlc2hhcGUgKi8KKwl1aW50MzJfdAlkZWx0YV9kaXNrczsJLyogY2hhbmdlIGluIG51bWJlciBvZiByYWlkX2Rpc2tzCQkqLworCXVpbnQzMl90CW5ld19sYXlvdXQ7CS8qIG5ldyBsYXlvdXQJCQkJCSovCisJdWludDMyX3QJbmV3X2NodW5rOwkvKiBuZXcgY2h1bmsgc2l6ZSAoYnl0ZXMpCQkJKi8KKwl1aW50OF90CQlwYWQxWzEyOC0xMjRdOwkvKiBzZXQgdG8gMCB3aGVuIHdyaXR0ZW4gKi8KKworCS8qIGNvbnN0YW50IHRoaXMtZGV2aWNlIGluZm9ybWF0aW9uIC0gNjQgYnl0ZXMgKi8KKwl1aW50NjRfdAlkYXRhX29mZnNldDsJLyogc2VjdG9yIHN0YXJ0IG9mIGRhdGEsIG9mdGVuIDAgKi8KKwl1aW50NjRfdAlkYXRhX3NpemU7CS8qIHNlY3RvcnMgaW4gdGhpcyBkZXZpY2UgdGhhdCBjYW4gYmUgdXNlZCBmb3IgZGF0YSAqLworCXVpbnQ2NF90CXN1cGVyX29mZnNldDsJLyogc2VjdG9yIHN0YXJ0IG9mIHRoaXMgc3VwZXJibG9jayAqLworCXVpbnQ2NF90CXJlY292ZXJ5X29mZnNldDsvKiBzZWN0b3JzIGJlZm9yZSB0aGlzIG9mZnNldCAoZnJvbSBkYXRhX29mZnNldCkgaGF2ZSBiZWVuIHJlY292ZXJlZCAqLworCXVpbnQzMl90CWRldl9udW1iZXI7CS8qIHBlcm1hbmVudCBpZGVudGlmaWVyIG9mIHRoaXMgIGRldmljZSAtIG5vdCByb2xlIGluIHJhaWQgKi8KKwl1aW50MzJfdAljbnRfY29ycmVjdGVkX3JlYWQ7IC8qIG51bWJlciBvZiByZWFkIGVycm9ycyB0aGF0IHdlcmUgY29ycmVjdGVkIGJ5IHJlLXdyaXRpbmcgKi8KKwl1aW50OF90CQlkZXZpY2VfdXVpZFsxNl07IC8qIHVzZXItc3BhY2Ugc2V0YWJsZSwgaWdub3JlZCBieSBrZXJuZWwgKi8KKyAgICAgICAgdWludDhfdAkJZGV2ZmxhZ3M7ICAgICAgICAvKiBwZXItZGV2aWNlIGZsYWdzLiAgT25seSBvbmUgZGVmaW5lZC4uLiovCisJdWludDhfdAkJcGFkMls2NC01N107CS8qIHNldCB0byAwIHdoZW4gd3JpdGluZyAqLworCisJLyogYXJyYXkgc3RhdGUgaW5mb3JtYXRpb24gLSA2NCBieXRlcyAqLworCXVpbnQ2NF90CXV0aW1lOwkJLyogNDAgYml0cyBzZWNvbmQsIDI0IGJpdHMgbWljcm9zZWNvbmRzICovCisJdWludDY0X3QJZXZlbnRzOwkJLyogaW5jcmVtZW50ZWQgd2hlbiBzdXBlcmJsb2NrIHVwZGF0ZWQgKi8KKwl1aW50NjRfdAlyZXN5bmNfb2Zmc2V0OwkvKiBkYXRhIGJlZm9yZSB0aGlzIG9mZnNldCAoZnJvbSBkYXRhX29mZnNldCkga25vd24gdG8gYmUgaW4gc3luYyAqLworCXVpbnQzMl90CXNiX2NzdW07CS8qIGNoZWNrc3VtIHVwIHRvIGRldl9yb2xlc1ttYXhfZGV2XSAqLworCXVpbnQzMl90CW1heF9kZXY7CS8qIHNpemUgb2YgZGV2X3JvbGVzW10gYXJyYXkgdG8gY29uc2lkZXIgKi8KKwl1aW50OF90CQlwYWQzWzY0LTMyXTsJLyogc2V0IHRvIDAgd2hlbiB3cml0aW5nICovCisKKwkvKiBkZXZpY2Ugc3RhdGUgaW5mb3JtYXRpb24uIEluZGV4ZWQgYnkgZGV2X251bWJlci4KKwkgKiAyIGJ5dGVzIHBlciBkZXZpY2UKKwkgKiBOb3RlIHRoZXJlIGFyZSBubyBwZXItZGV2aWNlIHN0YXRlIGZsYWdzLiBTdGF0ZSBpbmZvcm1hdGlvbiBpcyByb2xsZWQKKwkgKiBpbnRvIHRoZSAncm9sZXMnIHZhbHVlLiAgSWYgYSBkZXZpY2UgaXMgc3BhcmUgb3IgZmF1bHR5LCB0aGVuIGl0IGRvZXNuJ3QKKwkgKiBoYXZlIGEgbWVhbmluZ2Z1bCByb2xlLgorCSAqLworCXVpbnQxNl90CWRldl9yb2xlc1swXTsJLyogcm9sZSBpbiBhcnJheSwgb3IgMHhmZmZmIGZvciBhIHNwYXJlLCBvciAweGZmZmUgZm9yIGZhdWx0eSAqLworfTsKKworCisjZGVmaW5lIE1EX1JFU0VSVkVEX0JZVEVTCQkweDEwMDAwCisjZGVmaW5lIE1EX1NCX01BR0lDCQkJMHhhOTJiNGVmYworCitzdGF0aWMgaW50IHByb2JlX3JhaWQwKGJsa2lkX3Byb2JlIHByLCB1aW50NjRfdCBvZmYpCit7CisJc3RydWN0IG1kcDBfc3VwZXJfYmxvY2sgKm1kcDA7CisJdW5pb24geworCQl1aW50MzJfdCBpbnRzWzRdOworCQl1aW50OF90IGJ5dGVzWzE2XTsKKwl9IHV1aWQ7CisJdWludDMyX3QgbWEsIG1pLCBwYTsKKwl1aW50NjRfdCBzaXplOworCisJaWYgKHByLT5zaXplIDwgTURfUkVTRVJWRURfQllURVMpCisJCXJldHVybiAxOworCW1kcDAgPSAoc3RydWN0IG1kcDBfc3VwZXJfYmxvY2sgKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJb2ZmLAorCQkJCXNpemVvZihzdHJ1Y3QgbWRwMF9zdXBlcl9ibG9jaykpOworCWlmICghbWRwMCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCW1lbXNldCh1dWlkLmludHMsIDAsIHNpemVvZih1dWlkLmludHMpKTsKKworCWlmIChsZTMyX3RvX2NwdShtZHAwLT5tZF9tYWdpYykgPT0gTURfU0JfTUFHSUMpIHsKKwkJdXVpZC5pbnRzWzBdID0gc3dhYjMyKG1kcDAtPnNldF91dWlkMCk7CisJCWlmIChsZTMyX3RvX2NwdShtZHAwLT5taW5vcl92ZXJzaW9uKSA+PSA5MCkgeworCQkJdXVpZC5pbnRzWzFdID0gc3dhYjMyKG1kcDAtPnNldF91dWlkMSk7CisJCQl1dWlkLmludHNbMl0gPSBzd2FiMzIobWRwMC0+c2V0X3V1aWQyKTsKKwkJCXV1aWQuaW50c1szXSA9IHN3YWIzMihtZHAwLT5zZXRfdXVpZDMpOworCQl9CisJCW1hID0gbGUzMl90b19jcHUobWRwMC0+bWFqb3JfdmVyc2lvbik7CisJCW1pID0gbGUzMl90b19jcHUobWRwMC0+bWlub3JfdmVyc2lvbik7CisJCXBhID0gbGUzMl90b19jcHUobWRwMC0+cGF0Y2hfdmVyc2lvbik7CisJCXNpemUgPSBsZTMyX3RvX2NwdShtZHAwLT5zaXplKTsKKworCX0gZWxzZSBpZiAoYmUzMl90b19jcHUobWRwMC0+bWRfbWFnaWMpID09IE1EX1NCX01BR0lDKSB7CisJCXV1aWQuaW50c1swXSA9IG1kcDAtPnNldF91dWlkMDsKKwkJaWYgKGJlMzJfdG9fY3B1KG1kcDAtPm1pbm9yX3ZlcnNpb24pID49IDkwKSB7CisJCQl1dWlkLmludHNbMV0gPSBtZHAwLT5zZXRfdXVpZDE7CisJCQl1dWlkLmludHNbMl0gPSBtZHAwLT5zZXRfdXVpZDI7CisJCQl1dWlkLmludHNbM10gPSBtZHAwLT5zZXRfdXVpZDM7CisJCX0KKwkJbWEgPSBiZTMyX3RvX2NwdShtZHAwLT5tYWpvcl92ZXJzaW9uKTsKKwkJbWkgPSBiZTMyX3RvX2NwdShtZHAwLT5taW5vcl92ZXJzaW9uKTsKKwkJcGEgPSBiZTMyX3RvX2NwdShtZHAwLT5wYXRjaF92ZXJzaW9uKTsKKwkJc2l6ZSA9IGJlMzJfdG9fY3B1KG1kcDAtPnNpemUpOworCX0gZWxzZQorCQlyZXR1cm4gMTsKKworCXNpemUgPDw9IDEwOwkvKiBjb252ZXJ0IEtpQiB0byBieXRlcyAqLworCisJaWYgKHByLT5zaXplIDwgc2l6ZSArIE1EX1JFU0VSVkVEX0JZVEVTKQorCQkvKiBkZXZpY2UgaXMgdG9vIHNtYWxsICovCisJCXJldHVybiAxOworCisJaWYgKG9mZiA8IHNpemUpCisJCS8qIG5vIHNwYWNlIGJlZm9yZSBzdXBlcmJsb2NrICovCisJCXJldHVybiAxOworCisJLyoKKwkgKiBDaGVjayBmb3IgY29sbGlzaW9ucyBiZXR3ZWVuIFJBSUQgYW5kIHBhcnRpdGlvbiB0YWJsZQorCSAqCisJICogRm9yIGV4YW1wbGUgdGhlIHN1cGVyYmxvY2sgaXMgYXQgdGhlIGVuZCBvZiB0aGUgbGFzdCBwYXJ0aXRpb24sIGl0J3MKKwkgKiB0aGUgc2FtZSBwb3NpdGlvbiBhcyBhdCB0aGUgZW5kIG9mIHRoZSBkaXNrLi4uCisJICovCisJaWYgKChTX0lTUkVHKHByLT5tb2RlKSB8fCBibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKSAmJgorCSAgICBibGtpZF9wcm9iZV9pc19jb3ZlcmVkX2J5X3B0KHByLAorCQkJb2ZmIC0gc2l6ZSwJCQkJLyogbWluLiBzdGFydCAgKi8KKwkJCXNpemUgKyBNRF9SRVNFUlZFRF9CWVRFUykpIHsJCS8qIG1pbi4gbGVuZ3RoICovCisKKwkJLyogaWdub3JlIHRoaXMgc3VwZXJibG9jaywgaXQncyB3aXRoaW4gYW55IHBhcnRpdGlvbiBhbmQKKwkJICogd2UgYXJlIHdvcmtpbmcgd2l0aCB3aG9sZS1kaXNrIG5vdyAqLworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUuJXUuJXUiLCBtYSwgbWksIHBhKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsICh1bnNpZ25lZCBjaGFyICopIHV1aWQuYnl0ZXMpICE9IDApCisJCXJldHVybiAxOworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgc2l6ZW9mKG1kcDAtPm1kX21hZ2ljKSwKKwkJCQkodW5zaWduZWQgY2hhciAqKSAmbWRwMC0+bWRfbWFnaWMpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9yYWlkMShibGtpZF9wcm9iZSBwciwgb2ZmX3Qgb2ZmKQoreworCXN0cnVjdCBtZHAxX3N1cGVyX2Jsb2NrICptZHAxOworCisJbWRwMSA9IChzdHJ1Y3QgbWRwMV9zdXBlcl9ibG9jayAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQlvZmYsCisJCQkJc2l6ZW9mKHN0cnVjdCBtZHAxX3N1cGVyX2Jsb2NrKSk7CisJaWYgKCFtZHAxKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCWlmIChsZTMyX3RvX2NwdShtZHAxLT5tYWdpYykgIT0gTURfU0JfTUFHSUMpCisJCXJldHVybiAxOworCWlmIChsZTMyX3RvX2NwdShtZHAxLT5tYWpvcl92ZXJzaW9uKSAhPSAxVSkKKwkJcmV0dXJuIDE7CisJaWYgKGxlNjRfdG9fY3B1KG1kcDEtPnN1cGVyX29mZnNldCkgIT0gKHVpbnQ2NF90KSBvZmYgPj4gOSkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF91dWlkKHByLCAodW5zaWduZWQgY2hhciAqKSBtZHAxLT5zZXRfdXVpZCkgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF91dWlkX2FzKHByLAorCQkJKHVuc2lnbmVkIGNoYXIgKikgbWRwMS0+ZGV2aWNlX3V1aWQsICJVVUlEX1NVQiIpICE9IDApCisJCXJldHVybiAxOworCWlmIChibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIG1kcDEtPnNldF9uYW1lLAorCQkJCXNpemVvZihtZHAxLT5zZXRfbmFtZSkpICE9IDApCisJCXJldHVybiAxOworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgc2l6ZW9mKG1kcDEtPm1hZ2ljKSwKKwkJCQkodW5zaWduZWQgY2hhciAqKSAmbWRwMS0+bWFnaWMpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9yYWlkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJY29uc3QgY2hhciAqdmVyID0gTlVMTDsKKwlpbnQgcmV0ID0gQkxLSURfUFJPQkVfTk9ORTsKKworCWlmIChwci0+c2l6ZSA+IE1EX1JFU0VSVkVEX0JZVEVTKSB7CisJCS8qIHZlcnNpb24gMCBhdCB0aGUgZW5kIG9mIHRoZSBkZXZpY2UgKi8KKwkJdWludDY0X3Qgc2JvZmYgPSAocHItPnNpemUgJiB+KE1EX1JFU0VSVkVEX0JZVEVTIC0gMSkpCisJCQktIE1EX1JFU0VSVkVEX0JZVEVTOworCQlyZXQgPSBwcm9iZV9yYWlkMChwciwgc2JvZmYpOworCQlpZiAocmV0IDwgMSkKKwkJCXJldHVybiByZXQ7CS8qIGVycm9yICovCisKKwkJLyogdmVyc2lvbiAxLjAgYXQgdGhlIGVuZCBvZiB0aGUgZGV2aWNlICovCisJCXNib2ZmID0gKHByLT5zaXplICYgfigweDEwMDAgLSAxKSkgLSAweDIwMDA7CisJCXJldCA9IHByb2JlX3JhaWQxKHByLCBzYm9mZik7CisJCWlmIChyZXQgPCAwKQorCQkJcmV0dXJuIHJldDsJLyogZXJyb3IgKi8KKwkJaWYgKHJldCA9PSAwKQorCQkJdmVyID0gIjEuMCI7CisJfQorCisJaWYgKCF2ZXIpIHsKKwkJLyogdmVyc2lvbiAxLjEgYXQgdGhlIHN0YXJ0IG9mIHRoZSBkZXZpY2UgKi8KKwkJcmV0ID0gcHJvYmVfcmFpZDEocHIsIDApOworCQlpZiAocmV0ID09IDApCisJCQl2ZXIgPSAiMS4xIjsKKworCQkvKiB2ZXJzaW9uIDEuMiBhdCA0ayBvZmZzZXQgZnJvbSB0aGUgc3RhcnQgKi8KKwkJZWxzZSBpZiAocmV0ID09IEJMS0lEX1BST0JFX05PTkUpIHsKKwkJCXJldCA9IHByb2JlX3JhaWQxKHByLCAweDEwMDApOworCQkJaWYgKHJldCA9PSAwKQorCQkJCXZlciA9ICIxLjIiOworCQl9CisJfQorCisJaWYgKHZlcikgeworCQlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgdmVyKTsKKwkJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCX0KKwlyZXR1cm4gcmV0OworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbGludXhyYWlkX2lkaW5mbyA9IHsKKwkubmFtZQkJPSAibGludXhfcmFpZF9tZW1iZXIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9SQUlELAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9yYWlkLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHNpX3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9sc2lfcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5N2IwZmUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHNpX3JhaWQuYwpAQCAtMCwwICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IGxzaV9tZXRhZGF0YSB7CisJdWludDhfdAkJc2lnWzZdOworfTsKKworCisjZGVmaW5lIExTSV9TSUdOQVRVUkUJCSIkWElERSQiCisKK3N0YXRpYyBpbnQgcHJvYmVfbHNpcmFpZChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXVpbnQ2NF90IG9mZjsKKwlzdHJ1Y3QgbHNpX21ldGFkYXRhICpsc2k7CisKKwlpZiAocHItPnNpemUgPCAweDEwMDAwKQorCQlyZXR1cm4gMTsKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gMTsKKworCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCkgLSAxKSAqIDB4MjAwOworCWxzaSA9IChzdHJ1Y3QgbHNpX21ldGFkYXRhICopCisJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJb2ZmLAorCQkJCXNpemVvZihzdHJ1Y3QgbHNpX21ldGFkYXRhKSk7CisJaWYgKCFsc2kpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAobWVtY21wKGxzaS0+c2lnLCBMU0lfU0lHTkFUVVJFLCBzaXplb2YoTFNJX1NJR05BVFVSRSktMSkgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLCBzaXplb2YobHNpLT5zaWcpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopIGxzaS0+c2lnKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHNpcmFpZF9pZGluZm8gPSB7CisJLm5hbWUJCT0gImxzaV9tZWdhX3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfbHNpcmFpZCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL2x1a3MuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9sdWtzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdkN2NmYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9sdWtzLmMKQEAgLTAsMCArMSwxMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTggTWlsYW4gQnJveiA8Z21henlsYW5kQGdtYWlsLmNvbT4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworI2RlZmluZSBMVUtTX0NJUEhFUk5BTUVfTAkJMzIKKyNkZWZpbmUgTFVLU19DSVBIRVJNT0RFX0wJCTMyCisjZGVmaW5lIExVS1NfSEFTSFNQRUNfTAkJCTMyCisjZGVmaW5lIExVS1NfRElHRVNUU0laRQkJCTIwCisjZGVmaW5lIExVS1NfU0FMVFNJWkUJCQkzMgorI2RlZmluZSBMVUtTX01BR0lDX0wJCQk2CisjZGVmaW5lIFVVSURfU1RSSU5HX0wJCQk0MAorI2RlZmluZSBMVUtTMl9MQUJFTF9MCQkJNDgKKyNkZWZpbmUgTFVLUzJfU0FMVF9MCQkJNjQKKyNkZWZpbmUgTFVLUzJfQ0hFQ0tTVU1fQUxHX0wJCTMyCisjZGVmaW5lIExVS1MyX0NIRUNLU1VNX0wJCTY0CisKKyNkZWZpbmUgTFVLU19NQUdJQwkiTFVLU1x4YmFceGJlIgorI2RlZmluZSBMVUtTX01BR0lDXzIJIlNLVUxceGJhXHhiZSIKKworLyogT2Zmc2V0cyBmb3Igc2Vjb25kYXJ5IGhlYWRlciAoZm9yIHNjYW4gaWYgcHJpbWFyeSBoZWFkZXIgaXMgY29ycnVwdGVkKS4gKi8KKyNkZWZpbmUgTFVLUzJfSERSMl9PRkZTRVRTIHsgMHgwNDAwMCwgMHgwMDgwMDAsIDB4MDEwMDAwLCAweDAyMDAwMCwgXAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDQwMDAwLCAweDA4MDAwMCwgMHgxMDAwMDAsIDB4MjAwMDAwLCAweDQwMDAwMCB9CisKK3N0YXRpYyBjb25zdCB1aW50NjRfdCBzZWNvbmRhcnlfb2Zmc2V0c1tdID0gTFVLUzJfSERSMl9PRkZTRVRTOworCitzdHJ1Y3QgbHVrc19waGRyIHsKKwl1aW50OF90CQltYWdpY1tMVUtTX01BR0lDX0xdOworCXVpbnQxNl90CXZlcnNpb247CisJdWludDhfdAkJY2lwaGVyTmFtZVtMVUtTX0NJUEhFUk5BTUVfTF07CisJdWludDhfdAkJY2lwaGVyTW9kZVtMVUtTX0NJUEhFUk1PREVfTF07CisJdWludDhfdAkJaGFzaFNwZWNbTFVLU19IQVNIU1BFQ19MXTsKKwl1aW50MzJfdAlwYXlsb2FkT2Zmc2V0OworCXVpbnQzMl90CWtleUJ5dGVzOworCXVpbnQ4X3QJCW1rRGlnZXN0W0xVS1NfRElHRVNUU0laRV07CisJdWludDhfdAkJbWtEaWdlc3RTYWx0W0xVS1NfU0FMVFNJWkVdOworCXVpbnQzMl90CW1rRGlnZXN0SXRlcmF0aW9uczsKKwl1aW50OF90CQl1dWlkW1VVSURfU1RSSU5HX0xdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGx1a3MyX3BoZHIgeworCWNoYXIJCW1hZ2ljW0xVS1NfTUFHSUNfTF07CisJdWludDE2X3QJdmVyc2lvbjsKKwl1aW50NjRfdAloZHJfc2l6ZTsJLyogaW4gYnl0ZXMsIGluY2x1ZGluZyBKU09OIGFyZWEgKi8KKwl1aW50NjRfdAlzZXFpZDsJCS8qIGluY3JlYXNlZCBvbiBldmVyeSB1cGRhdGUgKi8KKwljaGFyCQlsYWJlbFtMVUtTMl9MQUJFTF9MXTsKKwljaGFyCQljaGVja3N1bV9hbGdbTFVLUzJfQ0hFQ0tTVU1fQUxHX0xdOworCXVpbnQ4X3QJCXNhbHRbTFVLUzJfU0FMVF9MXTsgLyogdW5pcXVlIGZvciBldmVyeSBoZWFkZXIvb2Zmc2V0ICovCisJY2hhcgkJdXVpZFtVVUlEX1NUUklOR19MXTsKKwljaGFyCQlzdWJzeXN0ZW1bTFVLUzJfTEFCRUxfTF07IC8qIG93bmVyIHN1YnN5c3RlbSBsYWJlbCAqLworCXVpbnQ2NF90CWhkcl9vZmZzZXQ7CS8qIG9mZnNldCBmcm9tIGRldmljZSBzdGFydCBpbiBieXRlcyAqLworCWNoYXIJCV9wYWRkaW5nWzE4NF07CisJdWludDhfdAkJY3N1bVtMVUtTMl9DSEVDS1NVTV9MXTsKKwkvKiBQYWRkaW5nIHRvIDRrLCB0aGVuIEpTT04gYXJlYSAqLworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgbHVrc19hdHRyaWJ1dGVzKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgbHVrczJfcGhkciAqaGVhZGVyLCB1aW50NjRfdCBvZmZzZXQpCit7CisJaW50IHZlcnNpb247CisJc3RydWN0IGx1a3NfcGhkciAqaGVhZGVyX3YxOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2Zmc2V0LCBMVUtTX01BR0lDX0wsICh1bnNpZ25lZCBjaGFyICopICZoZWFkZXItPm1hZ2ljKSkKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisKKwl2ZXJzaW9uID0gYmUxNl90b19jcHUoaGVhZGVyLT52ZXJzaW9uKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldSIsIHZlcnNpb24pOworCisJaWYgKHZlcnNpb24gPT0gMSkgeworCQloZWFkZXJfdjEgPSAoc3RydWN0IGx1a3NfcGhkciAqKWhlYWRlcjsKKwkJYmxraWRfcHJvYmVfc3RybmNweV91dWlkKHByLAorCQkJKHVuc2lnbmVkIGNoYXIgKikgaGVhZGVyX3YxLT51dWlkLCBVVUlEX1NUUklOR19MKTsKKwl9IGVsc2UgaWYgKHZlcnNpb24gPT0gMikgeworCQlibGtpZF9wcm9iZV9zdHJuY3B5X3V1aWQocHIsCisJCQkodW5zaWduZWQgY2hhciAqKSBoZWFkZXItPnV1aWQsIFVVSURfU1RSSU5HX0wpOworCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsCisJCQkodW5zaWduZWQgY2hhciAqKSBoZWFkZXItPmxhYmVsLCBMVUtTMl9MQUJFTF9MKTsKKwkJYmxraWRfcHJvYmVfc2V0X2lkX2xhYmVsKHByLCAiU1VCU1lTVEVNIiwKKwkJCSh1bnNpZ25lZCBjaGFyICopIGhlYWRlci0+c3Vic3lzdGVtLCBMVUtTMl9MQUJFTF9MKTsKKwl9CisKKwlyZXR1cm4gQkxLSURfUFJPQkVfT0s7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbHVrcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBsdWtzMl9waGRyICpoZWFkZXI7CisJc2l6ZV90IGk7CisKKwloZWFkZXIgPSAoc3RydWN0IGx1a3MyX3BoZHIgKikgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgMCwgc2l6ZW9mKHN0cnVjdCBsdWtzMl9waGRyKSk7CisJaWYgKCFoZWFkZXIpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IEJMS0lEX1BST0JFX05PTkU7CisKKwlpZiAoIW1lbWNtcChoZWFkZXItPm1hZ2ljLCBMVUtTX01BR0lDLCBMVUtTX01BR0lDX0wpKSB7CisJCS8qIExVS1MgcHJpbWFyeSBoZWFkZXIgd2FzIGZvdW5kLiAqLworCQlyZXR1cm4gbHVrc19hdHRyaWJ1dGVzKHByLCBoZWFkZXIsIDApOworCX0gZWxzZSB7CisJCS8qIE5vIHByaW1hcnkgaGVhZGVyLCBzY2FuIGZvciBrbm93biBvZmZzZXRzIG9mIExVS1MyIHNlY29uZGFyeSBoZWFkZXIuICovCisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNlY29uZGFyeV9vZmZzZXRzKTsgaSsrKSB7CisJCQloZWFkZXIgPSAoc3RydWN0IGx1a3MyX3BoZHIgKikgYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkgIHNlY29uZGFyeV9vZmZzZXRzW2ldLCBzaXplb2Yoc3RydWN0IGx1a3MyX3BoZHIpKTsKKworCQkJaWYgKCFoZWFkZXIpCisJCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogQkxLSURfUFJPQkVfTk9ORTsKKworCQkJaWYgKCFtZW1jbXAoaGVhZGVyLT5tYWdpYywgTFVLU19NQUdJQ18yLCBMVUtTX01BR0lDX0wpKQorCQkJCXJldHVybiBsdWtzX2F0dHJpYnV0ZXMocHIsIGhlYWRlciwgc2Vjb25kYXJ5X29mZnNldHNbaV0pOworCQl9CisJfQorCisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHVrc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJjcnlwdG9fTFVLUyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0NSWVBUTywKKwkucHJvYmVmdW5jCT0gcHJvYmVfbHVrcywKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHZtLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbHZtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTc3MzFhOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9sdm0uYwpAQCAtMCwwICsxLDI2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgTWlsYW4gQnJveiA8bWJyb3pAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKyNkZWZpbmUgTFZNMV9JRF9MRU4gMTI4CisjZGVmaW5lIExWTTJfSURfTEVOIDMyCisKK3N0cnVjdCBsdm0yX3B2X2xhYmVsX2hlYWRlciB7CisJLyogbGFiZWxfaGVhZGVyICovCisJdWludDhfdAkJaWRbOF07CQkvKiBMQUJFTE9ORSAqLworCXVpbnQ2NF90CXNlY3Rvcl94bDsJLyogU2VjdG9yIG51bWJlciBvZiB0aGlzIGxhYmVsICovCisJdWludDMyX3QJY3JjX3hsOwkJLyogRnJvbSBuZXh0IGZpZWxkIHRvIGVuZCBvZiBzZWN0b3IgKi8KKwl1aW50MzJfdAlvZmZzZXRfeGw7CS8qIE9mZnNldCBmcm9tIHN0YXJ0IG9mIHN0cnVjdCB0byBjb250ZW50cyAqLworCXVpbnQ4X3QJCXR5cGVbOF07CS8qIExWTTIgMDAxICovCisJLyogcHZfaGVhZGVyICovCisJdWludDhfdAkJcHZfdXVpZFtMVk0yX0lEX0xFTl07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RydWN0IGx2bTFfcHZfbGFiZWxfaGVhZGVyIHsKKwl1aW50OF90IGlkWzJdOwkJCS8qIEhNICovCisJdWludDE2X3QgdmVyc2lvbjsJCS8qIHZlcnNpb24gMSBvciAyICovCisJdWludDMyX3QgX25vdHVzZWRbMTBdOwkJLyogbHZtMSBpbnRlcm5hbHMgKi8KKwl1aW50OF90IHB2X3V1aWRbTFZNMV9JRF9MRU5dOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKyNkZWZpbmUgTFZNMl9MQUJFTF9TSVpFIDUxMgorc3RhdGljIHVuc2lnbmVkIGludCBsdm0yX2NhbGNfY3JjKGNvbnN0IHZvaWQgKmJ1ZiwgdW5zaWduZWQgaW50IHNpemUpCit7CisJc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBjcmN0YWJbXSA9IHsKKwkJMHgwMDAwMDAwMCwgMHgxZGI3MTA2NCwgMHgzYjZlMjBjOCwgMHgyNmQ5MzBhYywKKwkJMHg3NmRjNDE5MCwgMHg2YjZiNTFmNCwgMHg0ZGIyNjE1OCwgMHg1MDA1NzEzYywKKwkJMHhlZGI4ODMyMCwgMHhmMDBmOTM0NCwgMHhkNmQ2YTNlOCwgMHhjYjYxYjM4YywKKwkJMHg5YjY0YzJiMCwgMHg4NmQzZDJkNCwgMHhhMDBhZTI3OCwgMHhiZGJkZjIxYworCX07CisJdW5zaWduZWQgaW50IGksIGNyYyA9IDB4ZjU5N2E2Y2Y7CisJY29uc3QgdWludDhfdCAqZGF0YSA9IChjb25zdCB1aW50OF90ICopIGJ1ZjsKKworCWZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKKwkJY3JjIF49ICpkYXRhKys7CisJCWNyYyA9IChjcmMgPj4gNCkgXiBjcmN0YWJbY3JjICYgMHhmXTsKKwkJY3JjID0gKGNyYyA+PiA0KSBeIGNyY3RhYltjcmMgJiAweGZdOworCX0KKwlyZXR1cm4gY3JjOworfQorCisvKiBMZW5ndGggb2YgcmVhbCBVVUlEIGlzIGFsd2F5cyBMVk0yX0lEX0xFTiAqLworc3RhdGljIHZvaWQgZm9ybWF0X2x2bV91dWlkKGNoYXIgKmRzdF91dWlkLCBjaGFyICpzcmNfdXVpZCkKK3sKKwl1bnNpZ25lZCBpbnQgaSwgYjsKKworCWZvciAoaSA9IDAsIGIgPSAxOyBpIDwgTFZNMl9JRF9MRU47IGkrKywgYiA8PD0gMSkgeworCQlpZiAoYiAmIDB4NDQ0NDQ0MCkKKwkJCSpkc3RfdXVpZCsrID0gJy0nOworCQkqZHN0X3V1aWQrKyA9ICpzcmNfdXVpZCsrOworCX0KKwkqZHN0X3V1aWQgPSAnXDAnOworfQorCitzdGF0aWMgaW50IHByb2JlX2x2bTIoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCWludCBzZWN0b3IgPSBtYWctPmtib2ZmIDw8IDE7CisJc3RydWN0IGx2bTJfcHZfbGFiZWxfaGVhZGVyICpsYWJlbDsKKwljaGFyIHV1aWRbTFZNMl9JRF9MRU4gKyA3XTsKKwl1bnNpZ25lZCBjaGFyICpidWY7CisKKwlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJbWFnLT5rYm9mZiA8PCAxMCwKKwkJCTUxMiArIHNpemVvZihzdHJ1Y3QgbHZtMl9wdl9sYWJlbF9oZWFkZXIpKTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCS8qIGJ1ZiBpcyBhdCAwayBvciAxayBvZmZzZXQ7IGZpbmQgbGFiZWwgaW5zaWRlICovCisJaWYgKG1lbWNtcChidWYsICJMQUJFTE9ORSIsIDgpID09IDApIHsKKwkJbGFiZWwgPSAoc3RydWN0IGx2bTJfcHZfbGFiZWxfaGVhZGVyICopIGJ1ZjsKKwl9IGVsc2UgaWYgKG1lbWNtcChidWYgKyA1MTIsICJMQUJFTE9ORSIsIDgpID09IDApIHsKKwkJbGFiZWwgPSAoc3RydWN0IGx2bTJfcHZfbGFiZWxfaGVhZGVyICopKGJ1ZiArIDUxMik7CisJCXNlY3RvcisrOworCX0gZWxzZSB7CisJCXJldHVybiAxOworCX0KKworCWlmIChsZTY0X3RvX2NwdShsYWJlbC0+c2VjdG9yX3hsKSAhPSAodW5zaWduZWQpIHNlY3RvcikKKwkJcmV0dXJuIDE7CisKKwlpZiAoIWJsa2lkX3Byb2JlX3ZlcmlmeV9jc3VtKAorCQlwciwgbHZtMl9jYWxjX2NyYygKKwkJCSZsYWJlbC0+b2Zmc2V0X3hsLCBMVk0yX0xBQkVMX1NJWkUgLQorCQkJKChjaGFyICopICZsYWJlbC0+b2Zmc2V0X3hsIC0gKGNoYXIgKikgbGFiZWwpKSwKKwkJCWxlMzJfdG9fY3B1KGxhYmVsLT5jcmNfeGwpKSkKKwkJcmV0dXJuIDE7CisKKwlmb3JtYXRfbHZtX3V1aWQodXVpZCwgKGNoYXIgKikgbGFiZWwtPnB2X3V1aWQpOworCWJsa2lkX3Byb2JlX3NwcmludGZfdXVpZChwciwgbGFiZWwtPnB2X3V1aWQsIHNpemVvZihsYWJlbC0+cHZfdXVpZCksCisJCQkiJXMiLCB1dWlkKTsKKworCS8qIHRoZSBtYWctPm1hZ2ljIGlzIHRoZSBzYW1lIHN0cmluZyBhcyBsYWJlbC0+dHlwZSwKKwkgKiBidXQgemVybyB0ZXJtaW5hdGVkICovCisJYmxraWRfcHJvYmVfc2V0X3ZlcnNpb24ocHIsIG1hZy0+bWFnaWMpOworCisJLyogTFZNIChwdmNyZWF0ZSkgd2lwZXMgYmVnaW4gb2YgdGhlIGRldmljZSAtLSBsZXQncyByZW1lbWJlciB0aGlzCisJICogdG8gcmVzb2x2ZSBjb25mbGljdHMgYmV0d2VlbiBMVk0gYW5kIHBhcnRpdGlvbiB0YWJsZXMsIC4uLgorCSAqLworCWJsa2lkX3Byb2JlX3NldF93aXBlcihwciwgMCwgOCAqIDEwMjQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbHZtMShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IGx2bTFfcHZfbGFiZWxfaGVhZGVyICpsYWJlbDsKKwljaGFyIHV1aWRbTFZNMl9JRF9MRU4gKyA3XTsKKwl1bnNpZ25lZCBpbnQgdmVyc2lvbjsKKworCWxhYmVsID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCBsdm0xX3B2X2xhYmVsX2hlYWRlcik7CisJaWYgKCFsYWJlbCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCXZlcnNpb24gPSBsZTE2X3RvX2NwdShsYWJlbC0+dmVyc2lvbik7CisJaWYgKHZlcnNpb24gIT0gMSAmJiB2ZXJzaW9uICE9IDIpCisJCXJldHVybiAxOworCisJZm9ybWF0X2x2bV91dWlkKHV1aWQsIChjaGFyICopIGxhYmVsLT5wdl91dWlkKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQocHIsIGxhYmVsLT5wdl91dWlkLCBzaXplb2YobGFiZWwtPnB2X3V1aWQpLAorCQkJIiVzIiwgdXVpZCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RydWN0IHZlcml0eV9zYiB7CisJdWludDhfdCAgc2lnbmF0dXJlWzhdOwkvKiAidmVyaXR5XDBcMCIgKi8KKwl1aW50MzJfdCB2ZXJzaW9uOwkvKiBzdXBlcmJsb2NrIHZlcnNpb24gKi8KKwl1aW50MzJfdCBoYXNoX3R5cGU7CS8qIDAgLSBDaHJvbWUgT1MsIDEgLSBub3JtYWwgKi8KKwl1aW50OF90ICB1dWlkWzE2XTsJLyogVVVJRCBvZiBoYXNoIGRldmljZSAqLworCXVpbnQ4X3QgIGFsZ29yaXRobVszMl07LyogaGFzaCBhbGdvcml0aG0gbmFtZSAqLworCXVpbnQzMl90IGRhdGFfYmxvY2tfc2l6ZTsgLyogZGF0YSBibG9jayBpbiBieXRlcyAqLworCXVpbnQzMl90IGhhc2hfYmxvY2tfc2l6ZTsgLyogaGFzaCBibG9jayBpbiBieXRlcyAqLworCXVpbnQ2NF90IGRhdGFfYmxvY2tzOwkvKiBudW1iZXIgb2YgZGF0YSBibG9ja3MgKi8KKwl1aW50MTZfdCBzYWx0X3NpemU7CS8qIHNhbHQgc2l6ZSAqLworCXVpbnQ4X3QgIF9wYWQxWzZdOworCXVpbnQ4X3QgIHNhbHRbMjU2XTsJLyogc2FsdCAqLworCXVpbnQ4X3QgIF9wYWQyWzE2OF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX3Zlcml0eShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IHZlcml0eV9zYiAqc2I7CisJdW5zaWduZWQgaW50IHZlcnNpb247CisKKwlzYiA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgdmVyaXR5X3NiKTsKKwlpZiAoc2IgPT0gTlVMTCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCXZlcnNpb24gPSBsZTMyX3RvX2NwdShzYi0+dmVyc2lvbik7CisJaWYgKHZlcnNpb24gIT0gMSkKKwkJcmV0dXJuIDE7CisKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgc2ItPnV1aWQpOworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1IiwgdmVyc2lvbik7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBpbnRlZ3JpdHlfc2IgeworCXVpbnQ4X3QgIG1hZ2ljWzhdOworCXVpbnQ4X3QgIHZlcnNpb247CisJaW50OF90ICAgbG9nMl9pbnRlcmxlYXZlX3NlY3RvcnM7CisJdWludDE2X3QgaW50ZWdyaXR5X3RhZ19zaXplOworCXVpbnQzMl90IGpvdXJuYWxfc2VjdGlvbnM7CisJdWludDY0X3QgcHJvdmlkZWRfZGF0YV9zZWN0b3JzOworCXVpbnQzMl90IGZsYWdzOworCXVpbnQ4X3QgIGxvZzJfc2VjdG9yc19wZXJfYmxvY2s7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV9pbnRlZ3JpdHkoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBpbnRlZ3JpdHlfc2IgKnNiOworCisJc2IgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IGludGVncml0eV9zYik7CisJaWYgKHNiID09IE5VTEwpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoc2ItPnZlcnNpb24gIT0gMSkKKwkJcmV0dXJuIDE7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldSIsIHNiLT52ZXJzaW9uKTsKKwlyZXR1cm4gMDsKK30KKworLyogTk9URTogdGhlIG9yaWdpbmFsIGxpYmJsa2lkIHVzZXMgImx2bTJwdiIgYXMgYSBuYW1lICovCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGx2bTJfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiTFZNMl9tZW1iZXIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9SQUlELAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9sdm0yLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIkxWTTIgMDAxIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDB4MjE4IH0sCisJCXsgLm1hZ2ljID0gIkxWTTIgMDAxIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDB4MDE4IH0sCisJCXsgLm1hZ2ljID0gIkxWTTIgMDAxIiwgLmxlbiA9IDgsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MDE4IH0sCisJCXsgLm1hZ2ljID0gIkxWTTIgMDAxIiwgLmxlbiA9IDgsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MjE4IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBsdm0xX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIkxWTTFfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfbHZtMSwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJITSIsIC5sZW4gPSAyIH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzbmFwY293X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIkRNX3NuYXBzaG90X2NvdyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX09USEVSLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlNuQXAiLCAubGVuID0gNCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdmVyaXR5X2hhc2hfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiRE1fdmVyaXR5X2hhc2giLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9DUllQVE8sCisJLnByb2JlZnVuYwk9IHByb2JlX3Zlcml0eSwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJ2ZXJpdHlcMFwwIiwgLmxlbiA9IDggfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGludGVncml0eV9pZGluZm8gPQoreworCS5uYW1lCQk9ICJETV9pbnRlZ3JpdHkiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9DUllQVE8sCisJLnByb2JlZnVuYwk9IHByb2JlX2ludGVncml0eSwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJpbnRlZ3J0XDAiLCAubGVuID0gOCB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbWluaXguYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9taW5peC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NzcxYmEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbWluaXguYwpAQCAtMCwwICsxLDE4MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorI2luY2x1ZGUgIm1pbml4LmgiCisKKyNkZWZpbmUgbWluaXhfc3dhYjE2KGRvaXQsIG51bSkJKCh1aW50MTZfdCkgKGRvaXQgPyBzd2FiMTYobnVtKSA6IG51bSkpCisjZGVmaW5lIG1pbml4X3N3YWIzMihkb2l0LCBudW0pCSgodWludDMyX3QpIChkb2l0ID8gc3dhYjMyKG51bSkgOiBudW0pKQorCitzdGF0aWMgaW50IGdldF9taW5peF92ZXJzaW9uKGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIGludCAqb3RoZXJfZW5kaWFuKQoreworCWNvbnN0IHN0cnVjdCBtaW5peF9zdXBlcl9ibG9jayAqc2IgPSAoY29uc3Qgc3RydWN0IG1pbml4X3N1cGVyX2Jsb2NrICopIGRhdGE7CisJY29uc3Qgc3RydWN0IG1pbml4M19zdXBlcl9ibG9jayAqc2IzID0gKGNvbnN0IHN0cnVjdCBtaW5peDNfc3VwZXJfYmxvY2sgKikgZGF0YTsKKwlpbnQgdmVyc2lvbiA9IDA7CisJY2hhciAqZW5kaWFuOworCisJKm90aGVyX2VuZGlhbiA9IDA7CisKKwlzd2l0Y2ggKHNiLT5zX21hZ2ljKSB7CisJY2FzZSBNSU5JWF9TVVBFUl9NQUdJQzoKKwljYXNlIE1JTklYX1NVUEVSX01BR0lDMjoKKwkJdmVyc2lvbiA9IDE7CisJCWJyZWFrOworCWNhc2UgTUlOSVgyX1NVUEVSX01BR0lDOgorCWNhc2UgTUlOSVgyX1NVUEVSX01BR0lDMjoKKwkJdmVyc2lvbiA9IDI7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlmIChzYjMtPnNfbWFnaWMgPT0gTUlOSVgzX1NVUEVSX01BR0lDKQorCQkJdmVyc2lvbiA9IDM7CisJCWJyZWFrOworCX0KKworCWlmICghdmVyc2lvbikgeworCQkqb3RoZXJfZW5kaWFuID0gMTsKKworCQlzd2l0Y2ggKHN3YWIxNihzYi0+c19tYWdpYykpIHsKKwkJY2FzZSBNSU5JWF9TVVBFUl9NQUdJQzoKKwkJY2FzZSBNSU5JWF9TVVBFUl9NQUdJQzI6CisJCQl2ZXJzaW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE1JTklYMl9TVVBFUl9NQUdJQzoKKwkJY2FzZSBNSU5JWDJfU1VQRVJfTUFHSUMyOgorCQkJdmVyc2lvbiA9IDI7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWlmIChzYjMtPnNfbWFnaWMgPT0gTUlOSVgzX1NVUEVSX01BR0lDKQorCQkJCXZlcnNpb24gPSAzOworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKCF2ZXJzaW9uKQorCQlyZXR1cm4gLTE7CisKKyNpZiBkZWZpbmVkKFdPUkRTX0JJR0VORElBTikKKwllbmRpYW4gPSAqb3RoZXJfZW5kaWFuID8gIkxFIiA6ICJCRSI7CisjZWxzZQorCWVuZGlhbiA9ICpvdGhlcl9lbmRpYW4gPyAiQkUiIDogIkxFIjsKKyNlbmRpZgorCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIm1pbml4IHZlcnNpb24gJWQgZGV0ZWN0ZWQgWyVzXSIsIHZlcnNpb24sCisJCQkgICAgICAgZW5kaWFuKSk7CisJcmV0dXJuIHZlcnNpb247Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbWluaXgoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwl1bnNpZ25lZCBjaGFyICpleHQ7CisJY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YTsKKwlpbnQgdmVyc2lvbiA9IDAsIHN3YWJtZSA9IDA7CisJdW5zaWduZWQgbG9uZyB6b25lcywgbmlub2RlcywgaW1hcHMsIHptYXBzOworCW9mZl90IGZpcnN0ejsKKwlzaXplX3Qgem9uZV9zaXplOworCisJZGF0YSA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIDEwMjQsCisJCQltYXgoc2l6ZW9mKHN0cnVjdCBtaW5peF9zdXBlcl9ibG9jayksCisJCQkgICAgc2l6ZW9mKHN0cnVjdCBtaW5peDNfc3VwZXJfYmxvY2spKSk7CisJaWYgKCFkYXRhKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCXZlcnNpb24gPSBnZXRfbWluaXhfdmVyc2lvbihkYXRhLCAmc3dhYm1lKTsKKwlzd2l0Y2ggKHZlcnNpb24pIHsKKwljYXNlIDE6CisJY2FzZSAyOiB7CisJCWNvbnN0IHN0cnVjdCBtaW5peF9zdXBlcl9ibG9jayAqc2IgPSAoY29uc3Qgc3RydWN0IG1pbml4X3N1cGVyX2Jsb2NrICopIGRhdGE7CisKKwkJdWludDE2X3Qgc3RhdGUgPSBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c19zdGF0ZSk7CisJCWlmICgoc3RhdGUgJiAoTUlOSVhfVkFMSURfRlMgfCBNSU5JWF9FUlJPUl9GUykpICE9IHN0YXRlKQorCQkJcmV0dXJuIDE7CisKKwkJem9uZXMgPSB2ZXJzaW9uID09IDIgPyBtaW5peF9zd2FiMzIoc3dhYm1lLCBzYi0+c196b25lcykgOgorCQkJCSAgICAgICBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c19uem9uZXMpOworCQluaW5vZGVzID0gbWluaXhfc3dhYjE2KHN3YWJtZSwgc2ItPnNfbmlub2Rlcyk7CisJCWltYXBzICAgPSBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c19pbWFwX2Jsb2Nrcyk7CisJCXptYXBzICAgPSBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c196bWFwX2Jsb2Nrcyk7CisJCWZpcnN0eiAgPSBtaW5peF9zd2FiMTYoc3dhYm1lLCBzYi0+c19maXJzdGRhdGF6b25lKTsKKwkJem9uZV9zaXplID0gc2ItPnNfbG9nX3pvbmVfc2l6ZTsKKwkJYnJlYWs7CisJfQorCWNhc2UgMzogeworCQljb25zdCBzdHJ1Y3QgbWluaXgzX3N1cGVyX2Jsb2NrICpzYiA9IChjb25zdCBzdHJ1Y3QgbWluaXgzX3N1cGVyX2Jsb2NrICopIGRhdGE7CisKKwkJem9uZXMgPSBtaW5peF9zd2FiMzIoc3dhYm1lLCBzYi0+c196b25lcyk7CisJCW5pbm9kZXMgPSBtaW5peF9zd2FiMzIoc3dhYm1lLCBzYi0+c19uaW5vZGVzKTsKKwkJaW1hcHMgICA9IG1pbml4X3N3YWIxNihzd2FibWUsIHNiLT5zX2ltYXBfYmxvY2tzKTsKKwkJem1hcHMgICA9IG1pbml4X3N3YWIxNihzd2FibWUsIHNiLT5zX3ptYXBfYmxvY2tzKTsKKwkJZmlyc3R6ICA9IG1pbml4X3N3YWIxNihzd2FibWUsIHNiLT5zX2ZpcnN0ZGF0YXpvbmUpOworCQl6b25lX3NpemUgPSBzYi0+c19sb2dfem9uZV9zaXplOworCQlicmVhazsKKwl9CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7CisJfQorCisJLyogc2FuaXR5IGNoZWNrcyB0byBiZSBzdXJlIHRoYXQgdGhlIEZTIGlzIHJlYWxseSBtaW5peC4KKwkgKiBzZWUgZGlzay11dGlscy9mc2NrLm1pbml4LmMgcmVhZF9zdXBlcmJsb2NrCisJICovCisJaWYgKHpvbmVfc2l6ZSAhPSAwIHx8IG5pbm9kZXMgPT0gMCB8fCBuaW5vZGVzID09IFVJTlQzMl9NQVgpCisJCXJldHVybiAxOworCWlmIChpbWFwcyAqIE1JTklYX0JMT0NLX1NJWkUgKiA4IDwgbmlub2RlcyArIDEpCisJCXJldHVybiAxOworCWlmIChmaXJzdHogPiAob2ZmX3QpIHpvbmVzKQorCQlyZXR1cm4gMTsKKwlpZiAoem1hcHMgKiBNSU5JWF9CTE9DS19TSVpFICogOCA8IHpvbmVzIC0gZmlyc3R6ICsgMSkKKwkJcmV0dXJuIDE7CisKKwkvKiB1bmZvcnR1bmF0ZWx5LCBzb21lIHBhcnRzIG9mIGV4dDMgaXMgc29tZXRpbWVzIHBvc3NpYmxlIHRvCisJICogaW50ZXJwcmV0ZWQgYXMgbWluaXggc3VwZXJibG9jay4gU28gY2hlY2sgZm9yIGV4dE4gbWFnaWMKKwkgKiBzdHJpbmcuIChGb3IgZXh0TiBtYWdpYyBzdHJpbmcgYW5kIG9mZnNldHMgc2VlIGV4dC5jLikKKwkgKi8KKwlleHQgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAweDQwMCArIDB4MzgsIDIpOworCWlmICghZXh0KQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCWVsc2UgaWYgKG1lbWNtcChleHQsICJcMTIzXDM1NyIsIDIpID09IDApCisJCXJldHVybiAxOworCisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJWQiLCB2ZXJzaW9uKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBtaW5peF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJtaW5peCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX21pbml4LAorCS5tYWdpY3MJCT0KKwl7CisJCS8qIHZlcnNpb24gMSAtIExFICovCisJCXsgLm1hZ2ljID0gIlwxNzdcMDIzIiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTAgfSwKKwkJeyAubWFnaWMgPSAiXDIxN1wwMjMiLCAubGVuID0gMiwgLmtib2ZmID0gMSwgLnNib2ZmID0gMHgxMCB9LAorCisJCS8qIHZlcnNpb24gMSAtIEJFICovCisJCXsgLm1hZ2ljID0gIlwwMjNcMTc3IiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTAgfSwKKwkJeyAubWFnaWMgPSAiXDAyM1wyMTciLCAubGVuID0gMiwgLmtib2ZmID0gMSwgLnNib2ZmID0gMHgxMCB9LAorCisJCS8qIHZlcnNpb24gMiAtIExFICovCisJCXsgLm1hZ2ljID0gIlwxNTBcMDQ0IiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTAgfSwKKwkJeyAubWFnaWMgPSAiXDE3MFwwNDQiLCAubGVuID0gMiwgLmtib2ZmID0gMSwgLnNib2ZmID0gMHgxMCB9LAorCisJCS8qIHZlcnNpb24gMiAtIEJFICovCisJCXsgLm1hZ2ljID0gIlwwNDRcMTUwIiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTAgfSwKKwkJeyAubWFnaWMgPSAiXDA0NFwxNzAiLCAubGVuID0gMiwgLmtib2ZmID0gMSwgLnNib2ZmID0gMHgxMCB9LAorCisJCS8qIHZlcnNpb24gMyAtIExFICovCisJCXsgLm1hZ2ljID0gIlwxMzJcMTE1IiwgLmxlbiA9IDIsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4MTggfSwKKworCQkvKiB2ZXJzaW9uIDMgLSBCRSAqLworCQl7IC5tYWdpYyA9ICJcMTE1XDEzMiIsIC5sZW4gPSAyLCAua2JvZmYgPSAxLCAuc2JvZmYgPSAweDE4IH0sCisKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbXBvb2wuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9tcG9vbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNzU2OWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbXBvb2wuYwpAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IE1pY3JvbiBUZWNobm9sb2d5LCBJbmMuCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlICJjcmMzMmMuaCIKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisjZGVmaW5lIE1BWF9NUE9PTF9OQU1FX0xFTiAzMgorCitzdHJ1Y3Qgb21mX3NiX2Rlc2NyaXB0b3IgeworCXVpbnQ2NF90ICAgICAgICBvc2JfbWFnaWM7CisJdWludDhfdCAgICAgICAgIG9zYl9uYW1lW01BWF9NUE9PTF9OQU1FX0xFTl07CisJdW5zaWduZWQgY2hhciAgIG9zYl9wb29saWRbMTZdOyAvKiBVVUlEIG9mIHBvb2wgdGhpcyBkcml2ZSBiZWxvbmdzIHRvICovCisJdWludDE2X3QgICAgICAgIG9zYl92ZXJzOworCXVpbnQzMl90ICAgICAgICBvc2JfZ2VuOworCXVpbnQzMl90ICAgICAgICBvc2JfY2tzdW0xOyAvKiBjcmMzMmMgb2YgdGhlIHByZWNlZGluZyBmaWVsZHMgKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfbXBvb2woYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBvbWZfc2JfZGVzY3JpcHRvciAqb3NkOworCXVpbnQzMl90IHNiX2NyYzsKKworCW9zZCA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3Qgb21mX3NiX2Rlc2NyaXB0b3IpOworCWlmICghb3NkKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJc2JfY3JjID0gY3JjMzJjKH4wTCwgKGNvbnN0IHZvaWQgKilvc2QsCisJCQlvZmZzZXRvZihzdHJ1Y3Qgb21mX3NiX2Rlc2NyaXB0b3IsIG9zYl9ja3N1bTEpKTsKKwlzYl9jcmMgXj0gfjBMOworCisJaWYgKCFibGtpZF9wcm9iZV92ZXJpZnlfY3N1bShwciwgc2JfY3JjLCBsZTMyX3RvX2NwdShvc2QtPm9zYl9ja3N1bTEpKSkKKwkJcmV0dXJuIDE7CisKKwlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIG9zZC0+b3NiX25hbWUsIHNpemVvZihvc2QtPm9zYl9uYW1lKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIG9zZC0+b3NiX3Bvb2xpZCk7CisKKwlyZXR1cm4gMDsKK30KKworLyogIm1wb29sRGV2IiBpbiBBU0NJSSAqLworI2RlZmluZSBNUE9PTF9TQl9NQUdJQyAiXHg2RFx4NzBceDZmXHg2Zlx4NmNceDQ0XHg2NVx4NzYiCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbXBvb2xfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibXBvb2wiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9tcG9vbCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9IE1QT09MX1NCX01BR0lDLCAubGVuID0gOH0sCisJCXsgTlVMTCB9CisJfQorfTsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9uZXR3YXJlLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbmV0d2FyZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmODFjZjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbmV0d2FyZS5jCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IG5ldHdhcmVfc3VwZXJfYmxvY2sgeworCXVpbnQ4X3QJCVNCSF9TaWduYXR1cmVbNF07CisJdWludDE2X3QJU0JIX1ZlcnNpb25NYWpvcjsKKwl1aW50MTZfdAlTQkhfVmVyc2lvbk1pbm9yOworCXVpbnQxNl90CVNCSF9WZXJzaW9uTWVkaWFNYWpvcjsKKwl1aW50MTZfdAlTQkhfVmVyc2lvbk1lZGlhTWlub3I7CisJdWludDMyX3QJU0JIX0l0ZW1zTW92ZWQ7CisJdWludDhfdAkJU0JIX0ludGVybmFsSURbMTZdOworCXVpbnQzMl90CVNCSF9QYWNrZWRTaXplOworCXVpbnQzMl90CVNCSF9DaGVja3N1bTsKKwl1aW50MzJfdAlzdXBlcnN5bmNpZDsKKwlpbnQ2NF90CQlzdXBlcmxvY2F0aW9uWzRdOworCXVpbnQzMl90CXBoeXNTaXplVXNlZDsKKwl1aW50MzJfdAlzaXplVXNlZDsKKwl1aW50MzJfdAlzdXBlclRpbWVTdGFtcDsKKwl1aW50MzJfdAlyZXNlcnZlZDBbMV07CisJaW50NjRfdAkJU0JIX0xvZ2dlZFBvb2xEYXRhQmxrOworCWludDY0X3QJCVNCSF9Qb29sRGF0YUJsazsKKwl1aW50OF90CQlTQkhfT2xkSW50ZXJuYWxJRFsxNl07CisJdWludDMyX3QJU0JIX1Bvb2xUb0xWU3RhcnRVVEM7CisJdWludDMyX3QJU0JIX1Bvb2xUb0xWRW5kVVRDOworCXVpbnQxNl90CVNCSF9WZXJzaW9uTWVkaWFNYWpvckNyZWF0ZTsKKwl1aW50MTZfdAlTQkhfVmVyc2lvbk1lZGlhTWlub3JDcmVhdGU7CisJdWludDMyX3QJU0JIX0Jsb2Nrc01vdmVkOworCXVpbnQzMl90CVNCSF9UZW1wQlRTcEJsazsKKwl1aW50MzJfdAlTQkhfVGVtcEZUU3BCbGs7CisJdWludDMyX3QJU0JIX1RlbXBGVFNwQmxrMTsKKwl1aW50MzJfdAlTQkhfVGVtcEZUU3BCbGsyOworCXVpbnQzMl90CW5zc01hZ2ljTnVtYmVyOworCXVpbnQzMl90CXBvb2xDbGFzc0lEOworCXVpbnQzMl90CXBvb2xJRDsKKwl1aW50MzJfdAljcmVhdGVUaW1lOworCWludDY0X3QJCVNCSF9Mb2dnZWRWb2x1bWVEYXRhQmxrOworCWludDY0X3QJCVNCSF9Wb2x1bWVEYXRhQmxrOworCWludDY0X3QJCVNCSF9TeXN0ZW1CZWFzdEJsa051bTsKKwl1aW50NjRfdAl0b3RhbGJsb2NrczsKKwl1aW50MTZfdAlTQkhfTmFtZVs2NF07CisJdWludDhfdAkJU0JIX1ZvbHVtZUlEWzE2XTsKKwl1aW50OF90CQlTQkhfUG9vbElEWzE2XTsKKwl1aW50OF90CQlTQkhfUG9vbEludGVybmFsSURbMTZdOworCXVpbnQ2NF90CVNCSF9Mc247CisJdWludDMyX3QJU0JIX1NTX0VuYWJsZWQ7CisJdWludDMyX3QJU0JIX1NTX0NyZWF0ZVRpbWU7CisJdWludDhfdAkJU0JIX1NTX09yaWdpbmFsUG9vbElEWzE2XTsKKwl1aW50OF90CQlTQkhfU1NfT3JpZ2luYWxWb2x1bWVJRFsxNl07CisJdWludDhfdAkJU0JIX1NTX0d1aWRbMTZdOworCXVpbnQxNl90CVNCSF9TU19PcmlnaW5hbE5hbWVbNjRdOworCXVpbnQzMl90CXJlc2VydmVkMls2NC0oMis0NildOworfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfbmV0d2FyZShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IG5ldHdhcmVfc3VwZXJfYmxvY2sgKm53OworCisJbncgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IG5ldHdhcmVfc3VwZXJfYmxvY2spOworCWlmICghbncpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgbnctPlNCSF9Qb29sSUQpOworCisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUuJTAydSIsCisJCSBsZTE2X3RvX2NwdShudy0+U0JIX1ZlcnNpb25NZWRpYU1ham9yKSwKKwkJIGxlMTZfdG9fY3B1KG53LT5TQkhfVmVyc2lvbk1lZGlhTWlub3IpKTsKKworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG5ldHdhcmVfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibnNzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfbmV0d2FyZSwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJTUEI1IiwgLmxlbiA9IDQsIC5rYm9mZiA9IDQgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9uaWxmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL25pbGZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTU1MzhlZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9uaWxmcy5jCkBAIC0wLDAgKzEsMTcxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIGJ5IEppcm8gU0VLSUJBIDxqaXJAdW5pY3VzLmpwPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqLworI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKyNpbmNsdWRlICJjcmMzMi5oIgorCitzdHJ1Y3QgbmlsZnNfc3VwZXJfYmxvY2sgeworCXVpbnQzMl90CXNfcmV2X2xldmVsOworCXVpbnQxNl90CXNfbWlub3JfcmV2X2xldmVsOworCXVpbnQxNl90CXNfbWFnaWM7CisKKwl1aW50MTZfdAlzX2J5dGVzOworCisJdWludDE2X3QJc19mbGFnczsKKwl1aW50MzJfdAlzX2NyY19zZWVkOworCXVpbnQzMl90CXNfc3VtOworCisJdWludDMyX3QJc19sb2dfYmxvY2tfc2l6ZTsKKworCXVpbnQ2NF90CXNfbnNlZ21lbnRzOworCXVpbnQ2NF90CXNfZGV2X3NpemU7CisJdWludDY0X3QJc19maXJzdF9kYXRhX2Jsb2NrOworCXVpbnQzMl90CXNfYmxvY2tzX3Blcl9zZWdtZW50OworCXVpbnQzMl90CXNfcl9zZWdtZW50c19wZXJjZW50YWdlOworCisJdWludDY0X3QJc19sYXN0X2NubzsKKwl1aW50NjRfdAlzX2xhc3RfcHNlZzsKKwl1aW50NjRfdAlzX2xhc3Rfc2VxOworCXVpbnQ2NF90CXNfZnJlZV9ibG9ja3NfY291bnQ7CisKKwl1aW50NjRfdAlzX2N0aW1lOworCisJdWludDY0X3QJc19tdGltZTsKKwl1aW50NjRfdAlzX3d0aW1lOworCXVpbnQxNl90CXNfbW50X2NvdW50OworCXVpbnQxNl90CXNfbWF4X21udF9jb3VudDsKKwl1aW50MTZfdAlzX3N0YXRlOworCXVpbnQxNl90CXNfZXJyb3JzOworCXVpbnQ2NF90CXNfbGFzdGNoZWNrOworCisJdWludDMyX3QJc19jaGVja2ludGVydmFsOworCXVpbnQzMl90CXNfY3JlYXRvcl9vczsKKwl1aW50MTZfdAlzX2RlZl9yZXN1aWQ7CisJdWludDE2X3QJc19kZWZfcmVzZ2lkOworCXVpbnQzMl90CXNfZmlyc3RfaW5vOworCisJdWludDE2X3QJc19pbm9kZV9zaXplOworCXVpbnQxNl90CXNfZGF0X2VudHJ5X3NpemU7CisJdWludDE2X3QJc19jaGVja3BvaW50X3NpemU7CisJdWludDE2X3QJc19zZWdtZW50X3VzYWdlX3NpemU7CisKKwl1aW50OF90CQlzX3V1aWRbMTZdOworCWNoYXIJCXNfdm9sdW1lX25hbWVbODBdOworCisJdWludDMyX3QJc19jX2ludGVydmFsOworCXVpbnQzMl90CXNfY19ibG9ja19tYXg7CisJdWludDMyX3QJc19yZXNlcnZlZFsxOTJdOworfTsKKworI2RlZmluZSBOSUxGU19TQl9NQUdJQwkJMHgzNDM0CisjZGVmaW5lIE5JTEZTX1NCX09GRlNFVAkJMHg0MDAKKyNkZWZpbmUgTklMRlNfU0JCX09GRlNFVChfc3opCSgoKChfc3opIC8gMHgyMDApIC0gOCkgKiAweDIwMCkKKworc3RhdGljIGludCBuaWxmc192YWxpZF9zYihibGtpZF9wcm9iZSBwciwgc3RydWN0IG5pbGZzX3N1cGVyX2Jsb2NrICpzYiwgaW50IGlzX2JhaykKK3sKKwlzdGF0aWMgdW5zaWduZWQgY2hhciBzdW1bNF07CisJY29uc3QgaW50IHN1bW9mZiA9IG9mZnNldG9mKHN0cnVjdCBuaWxmc19zdXBlcl9ibG9jaywgc19zdW0pOworCXNpemVfdCBieXRlczsKKwljb25zdCBzaXplX3QgY3JjX3N0YXJ0ID0gc3Vtb2ZmICsgNDsKKwl1aW50MzJfdCBjcmM7CisKKwlpZiAoIXNiIHx8IGxlMTZfdG9fY3B1KHNiLT5zX21hZ2ljKSAhPSBOSUxGU19TQl9NQUdJQykKKwkJcmV0dXJuIDA7CisKKwlpZiAoaXNfYmFrICYmIGJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikgJiYKKwkgICAgc2ItPnNfZGV2X3NpemUgIT0gcHItPnNpemUpCisJCXJldHVybiAwOworCisJYnl0ZXMgPSBsZTE2X3RvX2NwdShzYi0+c19ieXRlcyk7CisJLyogZW5zdXJlIHRoYXQgbm8gdW5kZXJydW4gY2FuIGhhcHBlbiBpbiB0aGUgbGVuZ3RoIHBhcmFtZXRlcgorCSAqIG9mIHRoZSBjcmMzMiBjYWxsIG9yIG1vcmUgZGF0YSBhcmUgcHJvY2Vzc2VkIHRoYW4gcmVhZCBpbnRvCisJICogc2IgKi8KKwlpZiAoYnl0ZXMgPCBjcmNfc3RhcnQgfHwgYnl0ZXMgPiBzaXplb2Yoc3RydWN0IG5pbGZzX3N1cGVyX2Jsb2NrKSkKKwkJcmV0dXJuIDA7CisKKwljcmMgPSB1bF9jcmMzMihsZTMyX3RvX2NwdShzYi0+c19jcmNfc2VlZCksICh1bnNpZ25lZCBjaGFyICopc2IsIHN1bW9mZik7CisJY3JjID0gdWxfY3JjMzIoY3JjLCBzdW0sIDQpOworCWNyYyA9IHVsX2NyYzMyKGNyYywgKHVuc2lnbmVkIGNoYXIgKilzYiArIGNyY19zdGFydCwgYnl0ZXMgLSBjcmNfc3RhcnQpOworCisJcmV0dXJuIGJsa2lkX3Byb2JlX3ZlcmlmeV9jc3VtKHByLCBjcmMsIGxlMzJfdG9fY3B1KHNiLT5zX3N1bSkpOworfQorCitzdGF0aWMgaW50IHByb2JlX25pbGZzMihibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBuaWxmc19zdXBlcl9ibG9jayAqc2IsICpzYnAsICpzYmI7CisJaW50IHZhbGlkWzJdLCBzd3AgPSAwOworCXVpbnQ2NF90IG1hZ29mZjsKKworCS8qIHByaW1hcnkgKi8KKwlzYnAgPSAoc3RydWN0IG5pbGZzX3N1cGVyX2Jsb2NrICopIGJsa2lkX3Byb2JlX2dldF9idWZmZXIoCisJCQlwciwgTklMRlNfU0JfT0ZGU0VULCBzaXplb2Yoc3RydWN0IG5pbGZzX3N1cGVyX2Jsb2NrKSk7CisJaWYgKCFzYnApCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwl2YWxpZFswXSA9IG5pbGZzX3ZhbGlkX3NiKHByLCBzYnAsIDApOworCisKKwkvKiBiYWNrdXAgKi8KKwlzYmIgPSAoc3RydWN0IG5pbGZzX3N1cGVyX2Jsb2NrICopIGJsa2lkX3Byb2JlX2dldF9idWZmZXIoCisJCQlwciwgTklMRlNfU0JCX09GRlNFVChwci0+c2l6ZSksIHNpemVvZihzdHJ1Y3QgbmlsZnNfc3VwZXJfYmxvY2spKTsKKwlpZiAoIXNiYikgeworCQl2YWxpZFsxXSA9IDA7CisKKwkJLyogSWYgdGhlIHByaW1hcnkgYmxvY2sgaXMgdmFsaWQgdGhlbiBjb250aW51ZSBhbmQgaWdub3JlIGFsc28KKwkJICogSS9PIGVycm9ycyBmb3IgYmFja3VwIGJsb2NrLiBOb3RlIHRoZSB0aGlzIGlzIHByb2JhYmx5IENECisJCSAqIHdoZXJlIEkvTyBlcnJvcnMgYW5kIHRoZSBlbmQgb2YgdGhlIGRpc2svc2Vzc2lvbiBhcmUgIm5vcm1hbCIuCisJCSAqLworCQlpZiAoIXZhbGlkWzBdKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwl9IGVsc2UKKwkJdmFsaWRbMV0gPSBuaWxmc192YWxpZF9zYihwciwgc2JiLCAxKTsKKworCisJLyoKKwkgKiBDb21wYXJlIHR3byBzdXBlciBibG9ja3MgYW5kIHNldCAxIGluIHN3cCBpZiB0aGUgc2Vjb25kYXJ5CisJICogc3VwZXIgYmxvY2sgaXMgdmFsaWQgYW5kIG5ld2VyLiAgT3RoZXJ3aXNlLCBzZXQgMCBpbiBzd3AuCisJICovCisJaWYgKCF2YWxpZFswXSAmJiAhdmFsaWRbMV0pCisJCXJldHVybiAxOworCisJc3dwID0gdmFsaWRbMV0gJiYgKCF2YWxpZFswXSB8fAorCQkJICAgbGU2NF90b19jcHUoc2JwLT5zX2xhc3RfY25vKSA+CisJCQkgICBsZTY0X3RvX2NwdShzYmItPnNfbGFzdF9jbm8pKTsKKwlzYiA9IHN3cCA/IHNiYiA6IHNicDsKKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIm5pbGZzMjogcHJpbWFyeT0lZCwgYmFja3VwPSVkLCBzd2FwPSVkIiwKKwkJCQl2YWxpZFswXSwgdmFsaWRbMV0sIHN3cCkpOworCisJaWYgKCooc2ItPnNfdm9sdW1lX25hbWUpICE9ICdcMCcpCisJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgKHVuc2lnbmVkIGNoYXIgKikgc2ItPnNfdm9sdW1lX25hbWUsCisJCQkJICAgICAgc2l6ZW9mKHNiLT5zX3ZvbHVtZV9uYW1lKSk7CisKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgc2ItPnNfdXVpZCk7CisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCBsZTMyX3RvX2NwdShzYi0+c19yZXZfbGV2ZWwpKTsKKworCW1hZ29mZiA9IHN3cCA/IE5JTEZTX1NCQl9PRkZTRVQocHItPnNpemUpIDogTklMRlNfU0JfT0ZGU0VUOworCW1hZ29mZiArPSBvZmZzZXRvZihzdHJ1Y3QgbmlsZnNfc3VwZXJfYmxvY2ssIHNfbWFnaWMpOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgbWFnb2ZmLCBzaXplb2Yoc2ItPnNfbWFnaWMpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZzYi0+c19tYWdpYykpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbmlsZnMyX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIm5pbGZzMiIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX25pbGZzMiwKKwkvKiBkZWZhdWx0IG1pbi5zaXplIGlzIDEyOE1pQiwgYnV0IDFNaUIgZm9yICJta2ZzLm5pbGZzMiAtYiAxMDI0IC1CIDE2IiAqLworCS5taW5zegkJPSAoMTAyNCAqIDEwMjQpLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9udGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbnRmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyOTczMDkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbnRmcy5jCkBAIC0wLDAgKzEsMjI4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA0IEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IG50ZnNfYmlvc19wYXJhbWV0ZXJzIHsKKwl1aW50MTZfdAlzZWN0b3Jfc2l6ZTsJLyogU2l6ZSBvZiBhIHNlY3RvciBpbiBieXRlcy4gKi8KKwl1aW50OF90CQlzZWN0b3JzX3Blcl9jbHVzdGVyOwkvKiBTaXplIG9mIGEgY2x1c3RlciBpbiBzZWN0b3JzLiAqLworCXVpbnQxNl90CXJlc2VydmVkX3NlY3RvcnM7CS8qIHplcm8gKi8KKwl1aW50OF90CQlmYXRzOwkJCS8qIHplcm8gKi8KKwl1aW50MTZfdAlyb290X2VudHJpZXM7CQkvKiB6ZXJvICovCisJdWludDE2X3QJc2VjdG9yczsJCS8qIHplcm8gKi8KKwl1aW50OF90CQltZWRpYV90eXBlOwkJLyogMHhmOCA9IGhhcmQgZGlzayAqLworCXVpbnQxNl90CXNlY3RvcnNfcGVyX2ZhdDsJLyogemVybyAqLworCXVpbnQxNl90CXNlY3RvcnNfcGVyX3RyYWNrOwkvKiBpcnJlbGV2YW50ICovCisJdWludDE2X3QJaGVhZHM7CQkJLyogaXJyZWxldmFudCAqLworCXVpbnQzMl90CWhpZGRlbl9zZWN0b3JzOwkJLyogemVybyAqLworCXVpbnQzMl90CWxhcmdlX3NlY3RvcnM7CQkvKiB6ZXJvICovCit9IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSk7CisKK3N0cnVjdCBudGZzX3N1cGVyX2Jsb2NrIHsKKwl1aW50OF90CQlqdW1wWzNdOworCXVpbnQ4X3QJCW9lbV9pZFs4XTsJLyogbWFnaWMgc3RyaW5nICovCisKKwlzdHJ1Y3QgbnRmc19iaW9zX3BhcmFtZXRlcnMJYnBiOworCisJdWludDE2X3QJdW51c2VkWzJdOworCXVpbnQ2NF90CW51bWJlcl9vZl9zZWN0b3JzOworCXVpbnQ2NF90CW1mdF9jbHVzdGVyX2xvY2F0aW9uOworCXVpbnQ2NF90CW1mdF9taXJyb3JfY2x1c3Rlcl9sb2NhdGlvbjsKKwlpbnQ4X3QJCWNsdXN0ZXJzX3Blcl9tZnRfcmVjb3JkOworCXVpbnQ4X3QJCXJlc2VydmVkMVszXTsKKwlpbnQ4X3QJCWNsdXN0ZXJfcGVyX2luZGV4X3JlY29yZDsKKwl1aW50OF90CQlyZXNlcnZlZDJbM107CisJdWludDY0X3QJdm9sdW1lX3NlcmlhbDsKKwl1aW50MzJfdAljaGVja3N1bTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCBtYXN0ZXJfZmlsZV90YWJsZV9yZWNvcmQgeworCXVpbnQzMl90CW1hZ2ljOworCXVpbnQxNl90CXVzYV9vZnM7CisJdWludDE2X3QJdXNhX2NvdW50OworCXVpbnQ2NF90CWxzbjsKKwl1aW50MTZfdAlzZXF1ZW5jZV9udW1iZXI7CisJdWludDE2X3QJbGlua19jb3VudDsKKwl1aW50MTZfdAlhdHRyc19vZmZzZXQ7CisJdWludDE2X3QJZmxhZ3M7CisJdWludDMyX3QJYnl0ZXNfaW5fdXNlOworCXVpbnQzMl90CWJ5dGVzX2FsbG9jYXRlZDsKK30gX19hdHRyaWJ1dGVfXygoX19wYWNrZWRfXykpOworCitzdHJ1Y3QgZmlsZV9hdHRyaWJ1dGUgeworCXVpbnQzMl90CXR5cGU7CisJdWludDMyX3QJbGVuOworCXVpbnQ4X3QJCW5vbl9yZXNpZGVudDsKKwl1aW50OF90CQluYW1lX2xlbjsKKwl1aW50MTZfdAluYW1lX29mZnNldDsKKwl1aW50MTZfdAlmbGFnczsKKwl1aW50MTZfdAlpbnN0YW5jZTsKKwl1aW50MzJfdAl2YWx1ZV9sZW47CisJdWludDE2X3QJdmFsdWVfb2Zmc2V0OworfSBfX2F0dHJpYnV0ZV9fKChfX3BhY2tlZF9fKSk7CisKKyNkZWZpbmUgTUZUX1JFQ09SRF9WT0xVTUUJMworLyogV2luZG93cyAxMCBDcmVhdG9ycyBlZGl0aW9uIGhhcyBleHRlbmRlZCB0aGUgY2x1c3RlciBzaXplIGxpbWl0IHRvIDJNQiAqLworI2RlZmluZSBOVEZTX01BWF9DTFVTVEVSX1NJWkUJKDIgKiAxMDI0ICogMTAyNCkKKworZW51bSB7CisJTUZUX1JFQ09SRF9BVFRSX1ZPTFVNRV9OQU1FCQk9IDB4NjAsCisJTUZUX1JFQ09SRF9BVFRSX0VORAkJCT0gMHhmZmZmZmZmZgorfTsKKworc3RhdGljIGludCBwcm9iZV9udGZzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgbnRmc19zdXBlcl9ibG9jayAqbnM7CisJc3RydWN0IG1hc3Rlcl9maWxlX3RhYmxlX3JlY29yZCAqbWZ0OworCisJdWludDMyX3Qgc2VjdG9yc19wZXJfY2x1c3RlciwgbWZ0X3JlY29yZF9zaXplOworCXVpbnQxNl90IHNlY3Rvcl9zaXplOworCXVpbnQ2NF90IG5yX2NsdXN0ZXJzLCBvZmYsIGF0dHJfb2ZmOworCXVuc2lnbmVkIGNoYXIgKmJ1Zl9tZnQ7CisKKwlucyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgbnRmc19zdXBlcl9ibG9jayk7CisJaWYgKCFucykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCS8qCisJICogQ2hlY2sgYmlvcyBwYXJhbWV0ZXJzIGJsb2NrCisJICovCisJc2VjdG9yX3NpemUgPSBsZTE2X3RvX2NwdShucy0+YnBiLnNlY3Rvcl9zaXplKTsKKworCWlmIChzZWN0b3Jfc2l6ZSA8IDI1NiB8fCBzZWN0b3Jfc2l6ZSA+IDQwOTYpCisJCXJldHVybiAxOworCisJc3dpdGNoIChucy0+YnBiLnNlY3RvcnNfcGVyX2NsdXN0ZXIpIHsKKwljYXNlIDE6IGNhc2UgMjogY2FzZSA0OiBjYXNlIDg6IGNhc2UgMTY6IGNhc2UgMzI6IGNhc2UgNjQ6IGNhc2UgMTI4OgorCQlzZWN0b3JzX3Blcl9jbHVzdGVyID0gbnMtPmJwYi5zZWN0b3JzX3Blcl9jbHVzdGVyOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoKG5zLT5icGIuc2VjdG9yc19wZXJfY2x1c3RlciA8IDI0MCkKKwkJICAgIHx8IChucy0+YnBiLnNlY3RvcnNfcGVyX2NsdXN0ZXIgPiAyNDkpKQorCQkJcmV0dXJuIDE7CisJCXNlY3RvcnNfcGVyX2NsdXN0ZXIgPSAxIDw8ICgyNTYgLSBucy0+YnBiLnNlY3RvcnNfcGVyX2NsdXN0ZXIpOworCX0KKworCWlmICgodWludDE2X3QpIGxlMTZfdG9fY3B1KG5zLT5icGIuc2VjdG9yX3NpemUpICoKKwkJCXNlY3RvcnNfcGVyX2NsdXN0ZXIgPiBOVEZTX01BWF9DTFVTVEVSX1NJWkUpCisJCXJldHVybiAxOworCisJLyogVW51c2VkIGZpZWxkcyBtdXN0IGJlIHplcm8gKi8KKwlpZiAobGUxNl90b19jcHUobnMtPmJwYi5yZXNlcnZlZF9zZWN0b3JzKQorCSAgICB8fCBsZTE2X3RvX2NwdShucy0+YnBiLnJvb3RfZW50cmllcykKKwkgICAgfHwgbGUxNl90b19jcHUobnMtPmJwYi5zZWN0b3JzKQorCSAgICB8fCBsZTE2X3RvX2NwdShucy0+YnBiLnNlY3RvcnNfcGVyX2ZhdCkKKwkgICAgfHwgbGUzMl90b19jcHUobnMtPmJwYi5sYXJnZV9zZWN0b3JzKQorCSAgICB8fCBucy0+YnBiLmZhdHMpCisJCXJldHVybiAxOworCisJaWYgKCh1aW50OF90KSBucy0+Y2x1c3RlcnNfcGVyX21mdF9yZWNvcmQgPCAweGUxCisJICAgIHx8ICh1aW50OF90KSBucy0+Y2x1c3RlcnNfcGVyX21mdF9yZWNvcmQgPiAweGY3KSB7CisKKwkJc3dpdGNoIChucy0+Y2x1c3RlcnNfcGVyX21mdF9yZWNvcmQpIHsKKwkJY2FzZSAxOiBjYXNlIDI6IGNhc2UgNDogY2FzZSA4OiBjYXNlIDE2OiBjYXNlIDMyOiBjYXNlIDY0OgorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworCWlmIChucy0+Y2x1c3RlcnNfcGVyX21mdF9yZWNvcmQgPiAwKQorCQltZnRfcmVjb3JkX3NpemUgPSBucy0+Y2x1c3RlcnNfcGVyX21mdF9yZWNvcmQgKgorCQkJCSAgc2VjdG9yc19wZXJfY2x1c3RlciAqIHNlY3Rvcl9zaXplOworCWVsc2UKKwkJbWZ0X3JlY29yZF9zaXplID0gMSA8PCAoMCAtIG5zLT5jbHVzdGVyc19wZXJfbWZ0X3JlY29yZCk7CisKKwlucl9jbHVzdGVycyA9IGxlNjRfdG9fY3B1KG5zLT5udW1iZXJfb2Zfc2VjdG9ycykgLyBzZWN0b3JzX3Blcl9jbHVzdGVyOworCisJaWYgKChsZTY0X3RvX2NwdShucy0+bWZ0X2NsdXN0ZXJfbG9jYXRpb24pID4gbnJfY2x1c3RlcnMpIHx8CisJICAgIChsZTY0X3RvX2NwdShucy0+bWZ0X21pcnJvcl9jbHVzdGVyX2xvY2F0aW9uKSA+IG5yX2NsdXN0ZXJzKSkKKwkJcmV0dXJuIDE7CisKKworCW9mZiA9IGxlNjRfdG9fY3B1KG5zLT5tZnRfY2x1c3Rlcl9sb2NhdGlvbikgKiBzZWN0b3Jfc2l6ZSAqCisJCXNlY3RvcnNfcGVyX2NsdXN0ZXI7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJOVEZTOiBzZWN0b3Jfc2l6ZT0lIlBSSXUxNiIsIG1mdF9yZWNvcmRfc2l6ZT0lIlBSSXUzMiIsICIKKwkJCSJzZWN0b3JzX3Blcl9jbHVzdGVyPSUiUFJJdTMyIiwgbnJfY2x1c3RlcnM9JSJQUkl1NjQiICIKKwkJCSJjbHVzdGVyX29mZnNldD0lIlBSSXU2NCIiLAorCQkJc2VjdG9yX3NpemUsIG1mdF9yZWNvcmRfc2l6ZSwKKwkJCXNlY3RvcnNfcGVyX2NsdXN0ZXIsIG5yX2NsdXN0ZXJzLAorCQkJb2ZmKSk7CisKKwlidWZfbWZ0ID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgb2ZmLCBtZnRfcmVjb3JkX3NpemUpOworCWlmICghYnVmX21mdCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChtZW1jbXAoYnVmX21mdCwgIkZJTEUiLCA0KSkKKwkJcmV0dXJuIDE7CisKKwlvZmYgKz0gTUZUX1JFQ09SRF9WT0xVTUUgKiBtZnRfcmVjb3JkX3NpemU7CisKKwlidWZfbWZ0ID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgb2ZmLCBtZnRfcmVjb3JkX3NpemUpOworCWlmICghYnVmX21mdCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChtZW1jbXAoYnVmX21mdCwgIkZJTEUiLCA0KSkKKwkJcmV0dXJuIDE7CisKKwltZnQgPSAoc3RydWN0IG1hc3Rlcl9maWxlX3RhYmxlX3JlY29yZCAqKSBidWZfbWZ0OworCWF0dHJfb2ZmID0gbGUxNl90b19jcHUobWZ0LT5hdHRyc19vZmZzZXQpOworCisJd2hpbGUgKGF0dHJfb2ZmICsgc2l6ZW9mKHN0cnVjdCBmaWxlX2F0dHJpYnV0ZSkgPD0gbWZ0X3JlY29yZF9zaXplICYmCisJICAgICAgIGF0dHJfb2ZmIDw9IGxlMzJfdG9fY3B1KG1mdC0+Ynl0ZXNfYWxsb2NhdGVkKSkgeworCisJCXVpbnQzMl90IGF0dHJfbGVuOworCQlzdHJ1Y3QgZmlsZV9hdHRyaWJ1dGUgKmF0dHI7CisKKwkJYXR0ciA9IChzdHJ1Y3QgZmlsZV9hdHRyaWJ1dGUgKikgKGJ1Zl9tZnQgKyBhdHRyX29mZik7CisJCWF0dHJfbGVuID0gbGUzMl90b19jcHUoYXR0ci0+bGVuKTsKKwkJaWYgKCFhdHRyX2xlbikKKwkJCWJyZWFrOworCisJCWlmIChsZTMyX3RvX2NwdShhdHRyLT50eXBlKSA9PSBNRlRfUkVDT1JEX0FUVFJfRU5EKQorCQkJYnJlYWs7CisJCWlmIChsZTMyX3RvX2NwdShhdHRyLT50eXBlKSA9PSBNRlRfUkVDT1JEX0FUVFJfVk9MVU1FX05BTUUpIHsKKwkJCXVuc2lnbmVkIGludCB2YWxfb2ZmID0gbGUxNl90b19jcHUoYXR0ci0+dmFsdWVfb2Zmc2V0KTsKKwkJCXVuc2lnbmVkIGludCB2YWxfbGVuID0gbGUzMl90b19jcHUoYXR0ci0+dmFsdWVfbGVuKTsKKwkJCXVuc2lnbmVkIGNoYXIgKnZhbCA9ICgodWludDhfdCAqKSBhdHRyKSArIHZhbF9vZmY7CisKKwkJCWlmIChhdHRyX29mZiArIHZhbF9vZmYgKyB2YWxfbGVuIDw9IG1mdF9yZWNvcmRfc2l6ZSkKKwkJCQlibGtpZF9wcm9iZV9zZXRfdXRmOGxhYmVsKHByLCB2YWwsIHZhbF9sZW4sCisJCQkJCQkJICBCTEtJRF9FTkNfVVRGMTZMRSk7CisJCQlicmVhazsKKwkJfQorCisJCWF0dHJfb2ZmICs9IGF0dHJfbGVuOworCX0KKworCWJsa2lkX3Byb2JlX3NwcmludGZfdXVpZChwciwKKwkJCSh1bnNpZ25lZCBjaGFyICopICZucy0+dm9sdW1lX3NlcmlhbCwKKwkJCXNpemVvZihucy0+dm9sdW1lX3NlcmlhbCksCisJCQkiJTAxNiIgUFJJWDY0LCBsZTY0X3RvX2NwdShucy0+dm9sdW1lX3NlcmlhbCkpOworCXJldHVybiAwOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbnRmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJudGZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfbnRmcywKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJOVEZTICAgICIsIC5sZW4gPSA4LCAuc2JvZmYgPSAzIH0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL252aWRpYV9yYWlkLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvbnZpZGlhX3JhaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGI4ZWMyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL252aWRpYV9yYWlkLmMKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwNSBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IG52X21ldGFkYXRhIHsKKwl1aW50OF90CQl2ZW5kb3JbOF07CisJdWludDMyX3QJc2l6ZTsKKwl1aW50MzJfdAljaGtzdW07CisJdWludDE2X3QJdmVyc2lvbjsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgTlZJRElBX1NJR05BVFVSRQkJIk5WSURJQSIKKworc3RhdGljIGludCBwcm9iZV9udnJhaWQoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwl1aW50NjRfdCBvZmY7CisJc3RydWN0IG52X21ldGFkYXRhICpudjsKKworCWlmIChwci0+c2l6ZSA8IDB4MTAwMDApCisJCXJldHVybiAxOworCWlmICghU19JU1JFRyhwci0+bW9kZSkgJiYgIWJsa2lkX3Byb2JlX2lzX3dob2xlZGlzayhwcikpCisJCXJldHVybiAxOworCisJb2ZmID0gKChwci0+c2l6ZSAvIDB4MjAwKSAtIDIpICogMHgyMDA7CisJbnYgPSAoc3RydWN0IG52X21ldGFkYXRhICopCisJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJb2ZmLAorCQkJCXNpemVvZihzdHJ1Y3QgbnZfbWV0YWRhdGEpKTsKKwlpZiAoIW52KQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKG1lbWNtcChudi0+dmVuZG9yLCBOVklESUFfU0lHTkFUVVJFLCBzaXplb2YoTlZJRElBX1NJR05BVFVSRSktMSkgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1IiwgbGUxNl90b19jcHUobnYtPnZlcnNpb24pKSAhPSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBvZmYsIHNpemVvZihudi0+dmVuZG9yKSwKKwkJCQkodW5zaWduZWQgY2hhciAqKSBudi0+dmVuZG9yKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbnZyYWlkX2lkaW5mbyA9IHsKKwkubmFtZQkJPSAibnZpZGlhX3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfbnZyYWlkLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvb2Nmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL29jZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmUxOTlkCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL29jZnMuYwpAQCAtMCwwICsxLDIxMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3Qgb2Nmc192b2x1bWVfaGVhZGVyIHsKKwl1bnNpZ25lZCBjaGFyCW1pbm9yX3ZlcnNpb25bNF07CisJdW5zaWduZWQgY2hhcgltYWpvcl92ZXJzaW9uWzRdOworCXVuc2lnbmVkIGNoYXIJc2lnbmF0dXJlWzEyOF07CisJY2hhcgkJbW91bnRbMTI4XTsKKwl1bnNpZ25lZCBjaGFyICAgbW91bnRfbGVuWzJdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IG9jZnNfdm9sdW1lX2xhYmVsIHsKKwl1bnNpZ25lZCBjaGFyCWRpc2tfbG9ja1s0OF07CisJY2hhcgkJbGFiZWxbNjRdOworCXVuc2lnbmVkIGNoYXIJbGFiZWxfbGVuWzJdOworCXVuc2lnbmVkIGNoYXIgICB2b2xfaWRbMTZdOworCXVuc2lnbmVkIGNoYXIgICB2b2xfaWRfbGVuWzJdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworI2RlZmluZSBvY2ZzbWFqb3IobykgKCAodWludDMyX3QpIG8ubWFqb3JfdmVyc2lvblswXSBcCisgICAgICAgICAgICAgICAgICAgKyAoKCh1aW50MzJfdCkgby5tYWpvcl92ZXJzaW9uWzFdKSA8PCA4KSBcCisgICAgICAgICAgICAgICAgICAgKyAoKCh1aW50MzJfdCkgby5tYWpvcl92ZXJzaW9uWzJdKSA8PCAxNikgXAorICAgICAgICAgICAgICAgICAgICsgKCgodWludDMyX3QpIG8ubWFqb3JfdmVyc2lvblszXSkgPDwgMjQpKQorCisjZGVmaW5lIG9jZnNtaW5vcihvKSAoICh1aW50MzJfdCkgby5taW5vcl92ZXJzaW9uWzBdIFwKKyAgICAgICAgICAgICAgICAgICArICgoKHVpbnQzMl90KSBvLm1pbm9yX3ZlcnNpb25bMV0pIDw8IDgpIFwKKyAgICAgICAgICAgICAgICAgICArICgoKHVpbnQzMl90KSBvLm1pbm9yX3ZlcnNpb25bMl0pIDw8IDE2KSBcCisgICAgICAgICAgICAgICAgICAgKyAoKCh1aW50MzJfdCkgby5taW5vcl92ZXJzaW9uWzNdKSA8PCAyNCkpCisKKyNkZWZpbmUgb2Nmc2xhYmVsbGVuKG8pCSgodWludDMyX3Qpby5sYWJlbF9sZW5bMF0gKyAoKCh1aW50MzJfdCkgby5sYWJlbF9sZW5bMV0pIDw8IDgpKQorI2RlZmluZSBvY2ZzbW91bnRsZW4obykJKCh1aW50MzJfdClvLm1vdW50X2xlblswXSArICgoKHVpbnQzMl90KSBvLm1vdW50X2xlblsxXSkgPDwgOCkpCisKK3N0cnVjdCBvY2ZzMl9zdXBlcl9ibG9jayB7CisJdWludDhfdAkJaV9zaWduYXR1cmVbOF07CisJdWludDMyX3QJaV9nZW5lcmF0aW9uOworCWludDE2X3QJCWlfc3ViYWxsb2Nfc2xvdDsKKwl1aW50MTZfdAlpX3N1YmFsbG9jX2JpdDsKKwl1aW50MzJfdAlpX3Jlc2VydmVkMDsKKwl1aW50MzJfdAlpX2NsdXN0ZXJzOworCXVpbnQzMl90CWlfdWlkOworCXVpbnQzMl90CWlfZ2lkOworCXVpbnQ2NF90CWlfc2l6ZTsKKwl1aW50MTZfdAlpX21vZGU7CisJdWludDE2X3QJaV9saW5rc19jb3VudDsKKwl1aW50MzJfdAlpX2ZsYWdzOworCXVpbnQ2NF90CWlfYXRpbWU7CisJdWludDY0X3QJaV9jdGltZTsKKwl1aW50NjRfdAlpX210aW1lOworCXVpbnQ2NF90CWlfZHRpbWU7CisJdWludDY0X3QJaV9ibGtubzsKKwl1aW50NjRfdAlpX2xhc3RfZWJfYmxrOworCXVpbnQzMl90CWlfZnNfZ2VuZXJhdGlvbjsKKwl1aW50MzJfdAlpX2F0aW1lX25zZWM7CisJdWludDMyX3QJaV9jdGltZV9uc2VjOworCXVpbnQzMl90CWlfbXRpbWVfbnNlYzsKKwl1aW50NjRfdAlpX3Jlc2VydmVkMVs5XTsKKwl1aW50NjRfdAlpX3BhZDE7CisJdWludDE2X3QJc19tYWpvcl9yZXZfbGV2ZWw7CisJdWludDE2X3QJc19taW5vcl9yZXZfbGV2ZWw7CisJdWludDE2X3QJc19tbnRfY291bnQ7CisJaW50MTZfdAkJc19tYXhfbW50X2NvdW50OworCXVpbnQxNl90CXNfc3RhdGU7CisJdWludDE2X3QJc19lcnJvcnM7CisJdWludDMyX3QJc19jaGVja2ludGVydmFsOworCXVpbnQ2NF90CXNfbGFzdGNoZWNrOworCXVpbnQzMl90CXNfY3JlYXRvcl9vczsKKwl1aW50MzJfdAlzX2ZlYXR1cmVfY29tcGF0OworCXVpbnQzMl90CXNfZmVhdHVyZV9pbmNvbXBhdDsKKwl1aW50MzJfdAlzX2ZlYXR1cmVfcm9fY29tcGF0OworCXVpbnQ2NF90CXNfcm9vdF9ibGtubzsKKwl1aW50NjRfdAlzX3N5c3RlbV9kaXJfYmxrbm87CisJdWludDMyX3QJc19ibG9ja3NpemVfYml0czsKKwl1aW50MzJfdAlzX2NsdXN0ZXJzaXplX2JpdHM7CisJdWludDE2X3QJc19tYXhfc2xvdHM7CisJdWludDE2X3QJc19yZXNlcnZlZDE7CisJdWludDMyX3QJc19yZXNlcnZlZDI7CisJdWludDY0X3QJc19maXJzdF9jbHVzdGVyX2dyb3VwOworCXVpbnQ4X3QJCXNfbGFiZWxbNjRdOworCXVpbnQ4X3QJCXNfdXVpZFsxNl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3Qgb3JhY2xlX2FzbV9kaXNrX2xhYmVsIHsKKwljaGFyIGR1bW15WzMyXTsKKwljaGFyIGRsX3RhZ1s4XTsKKwljaGFyIGRsX2lkWzI0XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0YXRpYyBpbnQgcHJvYmVfb2NmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJdW5zaWduZWQgY2hhciAqYnVmOworCXN0cnVjdCBvY2ZzX3ZvbHVtZV9oZWFkZXIgb3ZoOworCXN0cnVjdCBvY2ZzX3ZvbHVtZV9sYWJlbCBvdmw7CisJdWludDMyX3QgbWFqLCBtaW47CisKKwkvKiBoZWFkZXIgKi8KKwlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCBtYWctPmtib2ZmIDw8IDEwLAorCQkJc2l6ZW9mKHN0cnVjdCBvY2ZzX3ZvbHVtZV9oZWFkZXIpKTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwltZW1jcHkoJm92aCwgYnVmLCBzaXplb2Yob3ZoKSk7CisKKwkvKiBsYWJlbCAqLworCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIChtYWctPmtib2ZmIDw8IDEwKSArIDUxMiwKKwkJCXNpemVvZihzdHJ1Y3Qgb2Nmc192b2x1bWVfbGFiZWwpKTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwltZW1jcHkoJm92bCwgYnVmLCBzaXplb2Yob3ZsKSk7CisKKwltYWogPSBvY2ZzbWFqb3Iob3ZoKTsKKwltaW4gPSBvY2ZzbWlub3Iob3ZoKTsKKworCWlmIChtYWogPT0gMSkKKwkJYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiU0VDX1RZUEUiLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICJvY2ZzMSIsIHNpemVvZigib2NmczEiKSk7CisJZWxzZSBpZiAobWFqID49IDkpCisJCWJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlNFQ19UWVBFIiwKKwkJCQkodW5zaWduZWQgY2hhciAqKSAibnRvY2ZzIiwgc2l6ZW9mKCJudG9jZnMiKSk7CisKKwlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIG92bC5sYWJlbCwKKwkJCQlvY2ZzbGFiZWxsZW4ob3ZsKSk7CisJYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiTU9VTlQiLCAodW5zaWduZWQgY2hhciAqKSBvdmgubW91bnQsCisJCQkJb2Nmc21vdW50bGVuKG92aCkpOworCWJsa2lkX3Byb2JlX3NldF91dWlkKHByLCBvdmwudm9sX2lkKTsKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4ldSIsIG1haiwgbWluKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9vY2ZzMihibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IG9jZnMyX3N1cGVyX2Jsb2NrICpvc2I7CisKKwlvc2IgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IG9jZnMyX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIW9zYikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgKHVuc2lnbmVkIGNoYXIgKikgb3NiLT5zX2xhYmVsLCBzaXplb2Yob3NiLT5zX2xhYmVsKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIG9zYi0+c191dWlkKTsKKworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgIiV1LiV1IiwKKwkJbGUxNl90b19jcHUob3NiLT5zX21ham9yX3Jldl9sZXZlbCksCisJCWxlMTZfdG9fY3B1KG9zYi0+c19taW5vcl9yZXZfbGV2ZWwpKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX29yYWNsZWFzbShibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IG9yYWNsZV9hc21fZGlza19sYWJlbCAqZGw7CisKKwlkbCA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3Qgb3JhY2xlX2FzbV9kaXNrX2xhYmVsKTsKKwlpZiAoIWRsKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCAodW5zaWduZWQgY2hhciAqKSBkbC0+ZGxfaWQsIHNpemVvZihkbC0+ZGxfaWQpKTsKKwlyZXR1cm4gMDsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG9jZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAib2NmcyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX29jZnMsCisJLm1pbnN6CQk9IDE0MDAwICogMTAyNCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJPcmFjbGVDRlMiLCAubGVuID0gOSwgLmtib2ZmID0gOCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gb2NmczJfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAib2NmczIiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9vY2ZzMiwKKwkubWluc3oJCT0gMTQwMDAgKiAxMDI0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIk9DRlNWMiIsIC5sZW4gPSA2LCAua2JvZmYgPSAxIH0sCisJCXsgLm1hZ2ljID0gIk9DRlNWMiIsIC5sZW4gPSA2LCAua2JvZmYgPSAyIH0sCisJCXsgLm1hZ2ljID0gIk9DRlNWMiIsIC5sZW4gPSA2LCAua2JvZmYgPSA0IH0sCisJCXsgLm1hZ2ljID0gIk9DRlNWMiIsIC5sZW4gPSA2LCAua2JvZmYgPSA4IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworLyogT3JhY2xlIEFTTSAoQXV0b21hdGljIFN0b3JhZ2UgTWFuYWdlbWVudCkgKi8KK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gb3JhY2xlYXNtX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIm9yYWNsZWFzbSIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX29yYWNsZWFzbSwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJPUkNMRElTSyIsIC5sZW4gPSA4LCAuc2JvZmYgPSAzMiB9LAorCQl7IE5VTEwgfQorCX0KK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9wcm9taXNlX3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9wcm9taXNlX3JhaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWYzYTIwCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Byb21pc2VfcmFpZC5jCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogSW5zcGlyZWQgYnkgbGlidm9sdW1lX2lkIGJ5CisgKiAgICAgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBwcm9taXNlX21ldGFkYXRhIHsKKwl1aW50OF90CXNpZ1syNF07Cit9OworCisjZGVmaW5lIFBEQ19DT05GSUdfT0ZGCQkweDEyMDAKKyNkZWZpbmUgUERDX1NJR05BVFVSRQkJIlByb21pc2UgVGVjaG5vbG9neSwgSW5jLiIKKworc3RhdGljIGludCBwcm9iZV9wZGNyYWlkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc2l6ZV90IGk7CisJc3RhdGljIHVuc2lnbmVkIGludCBzZWN0b3JzW10gPSB7CisJICA2MywgMjU1LCAyNTYsIDE2LCAzOTksIDU5MSwgNjc1LCA3MzUsIDkxMSwgOTc0LCA5OTEsIDk1MSwgMzA4NworCX07CisJdWludDY0X3QgbnNlY3RvcnM7CisKKwlpZiAocHItPnNpemUgPCAweDQwMDAwKQorCQlyZXR1cm4gMTsKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gMTsKKworCW5zZWN0b3JzID0gcHItPnNpemUgPj4gOTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNlY3RvcnMpOyBpKyspIHsKKwkJdWludDY0X3Qgb2ZmOworCQlzdHJ1Y3QgcHJvbWlzZV9tZXRhZGF0YSAqcGRjOworCisJCWlmIChuc2VjdG9ycyA8IHNlY3RvcnNbaV0pCisJCQlyZXR1cm4gMTsKKworCQlvZmYgPSAobnNlY3RvcnMgLSBzZWN0b3JzW2ldKSA8PCA5OworCQlwZGMgPSAoc3RydWN0IHByb21pc2VfbWV0YWRhdGEgKikKKwkJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlvZmYsCisJCQkJCXNpemVvZihzdHJ1Y3QgcHJvbWlzZV9tZXRhZGF0YSkpOworCQlpZiAoIXBkYykKKwkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkJaWYgKG1lbWNtcChwZGMtPnNpZywgUERDX1NJR05BVFVSRSwKKwkJCQlzaXplb2YoUERDX1NJR05BVFVSRSkgLSAxKSA9PSAwKSB7CisKKwkJCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIG9mZiwgc2l6ZW9mKHBkYy0+c2lnKSwKKwkJCQkJCSh1bnNpZ25lZCBjaGFyICopIHBkYy0+c2lnKSkKKwkJCQlyZXR1cm4gMTsKKwkJCXJldHVybiAwOworCQl9CisJfQorCXJldHVybiAxOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHBkY3JhaWRfaWRpbmZvID0geworCS5uYW1lCQk9ICJwcm9taXNlX2Zhc3R0cmFja19yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX3BkY3JhaWQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yZWZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvcmVmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhODFmMjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvcmVmcy5jCkBAIC0wLDAgKzEsMjYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyByZWZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIlJlRlMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlwwMDBcMDAwXDAwMFJlRlNcMDAwIiwgLmxlbiA9IDggfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvcmVpc2VyZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yZWlzZXJmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkYmFhYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvcmVpc2VyZnMuYwpAQCAtMCwwICsxLDEyOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgcmVpc2VyZnNfc3VwZXJfYmxvY2sgeworCXVpbnQzMl90CXJzX2Jsb2Nrc19jb3VudDsKKwl1aW50MzJfdAlyc19mcmVlX2Jsb2NrczsKKwl1aW50MzJfdAlyc19yb290X2Jsb2NrOworCXVpbnQzMl90CXJzX2pvdXJuYWxfYmxvY2s7CisJdWludDMyX3QJcnNfam91cm5hbF9kZXY7CisJdWludDMyX3QJcnNfb3JpZ19qb3VybmFsX3NpemU7CisJdWludDMyX3QJcnNfZHVtbXkyWzVdOworCXVpbnQxNl90CXJzX2Jsb2Nrc2l6ZTsKKwl1aW50MTZfdAlyc19kdW1teTNbM107CisJdW5zaWduZWQgY2hhcglyc19tYWdpY1sxMl07CisJdWludDMyX3QJcnNfZHVtbXk0WzVdOworCXVuc2lnbmVkIGNoYXIJcnNfdXVpZFsxNl07CisJY2hhcgkJcnNfbGFiZWxbMTZdOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IHJlaXNlcjRfc3VwZXJfYmxvY2sgeworCXVuc2lnbmVkIGNoYXIJcnM0X21hZ2ljWzE2XTsKKwl1aW50MTZfdAlyczRfZHVtbXlbMl07CisJdW5zaWduZWQgY2hhcglyczRfdXVpZFsxNl07CisJdW5zaWduZWQgY2hhcglyczRfbGFiZWxbMTZdOworCXVpbnQ2NF90CXJzNF9kdW1teTI7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX3JlaXNlcihibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IHJlaXNlcmZzX3N1cGVyX2Jsb2NrICpyczsKKwl1bnNpZ25lZCBpbnQgYmxvY2tzaXplOworCisJcnMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHJlaXNlcmZzX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIXJzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJYmxvY2tzaXplID0gbGUxNl90b19jcHUocnMtPnJzX2Jsb2Nrc2l6ZSk7CisKKwkvKiBUaGUgYmxvY2tzaXplIG11c3QgYmUgYXQgbGVhc3QgNTEyQiAqLworCWlmICgoYmxvY2tzaXplID4+IDkpID09IDApCisJCXJldHVybiAxOworCisJLyogSWYgdGhlIHN1cGVyYmxvY2sgaXMgaW5zaWRlIHRoZSBqb3VybmFsLCB3ZSBoYXZlIHRoZSB3cm9uZyBvbmUgKi8KKwlpZiAobWFnLT5rYm9mZiAvIChibG9ja3NpemUgPj4gOSkgPiBsZTMyX3RvX2NwdShycy0+cnNfam91cm5hbF9ibG9jaykgLyAyKQorCQlyZXR1cm4gMTsKKworCS8qIExBQkVML1VVSUQgYXJlIG9ubHkgdmFsaWQgZm9yIGxhdGVyIHZlcnNpb25zIG9mIFJlaXNlcmZzIHYzLjYuICovCisJaWYgKG1hZy0+bWFnaWNbNl0gPT0gJzInIHx8IG1hZy0+bWFnaWNbNl0gPT0gJzMnKSB7CisJCWlmICgqcnMtPnJzX2xhYmVsKQorCQkJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLAorCQkJCQkodW5zaWduZWQgY2hhciAqKSBycy0+cnNfbGFiZWwsCisJCQkJCXNpemVvZihycy0+cnNfbGFiZWwpKTsKKwkJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHJzLT5yc191dWlkKTsKKwl9CisKKwlpZiAobWFnLT5tYWdpY1s2XSA9PSAnMycpCisJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiSlIiKTsKKwllbHNlIGlmIChtYWctPm1hZ2ljWzZdID09ICcyJykKKwkJYmxraWRfcHJvYmVfc2V0X3ZlcnNpb24ocHIsICIzLjYiKTsKKwllbHNlCisJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiMy41Iik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9yZWlzZXI0KGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgcmVpc2VyNF9zdXBlcl9ibG9jayAqcnM0OworCisJcnM0ID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCByZWlzZXI0X3N1cGVyX2Jsb2NrKTsKKwlpZiAoIXJzNCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmICgqcnM0LT5yczRfbGFiZWwpCisJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgcnM0LT5yczRfbGFiZWwsIHNpemVvZihyczQtPnJzNF9sYWJlbCkpOworCWJsa2lkX3Byb2JlX3NldF91dWlkKHByLCByczQtPnJzNF91dWlkKTsKKwlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgIjQiKTsKKworCXJldHVybiAwOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gcmVpc2VyX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInJlaXNlcmZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfcmVpc2VyLAorCS5taW5zegkJPSAxMjggKiAxMDI0LAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlJlSXNFckZzIiwgIC5sZW4gPSA4LCAua2JvZmYgPSA4LCAgLnNib2ZmID0gMHgzNCB9LAorCQl7IC5tYWdpYyA9ICJSZUlzRXIyRnMiLCAubGVuID0gOSwgLmtib2ZmID0gNjQsIC5zYm9mZiA9IDB4MzQgfSwKKwkJeyAubWFnaWMgPSAiUmVJc0VyM0ZzIiwgLmxlbiA9IDksIC5rYm9mZiA9IDY0LCAuc2JvZmYgPSAweDM0IH0sCisJCXsgLm1hZ2ljID0gIlJlSXNFckZzIiwgIC5sZW4gPSA4LCAua2JvZmYgPSA2NCwgLnNib2ZmID0gMHgzNCB9LAorCQl7IC5tYWdpYyA9ICJSZUlzRXJGcyIsICAubGVuID0gOCwgLmtib2ZmID0gIDgsIC5zYm9mZiA9IDIwICAgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHJlaXNlcjRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAicmVpc2VyNCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX3JlaXNlcjQsCisJLm1pbnN6CQk9IDEyOCAqIDEwMjQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiUmVJc0VyNCIsIC5sZW4gPSA3LCAua2JvZmYgPSA2NCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKKworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yb21mcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3JvbWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjNlOWY4YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9yb21mcy5jCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDEgYnkgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMgYnkgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IHJvbWZzX3N1cGVyX2Jsb2NrIHsKKwl1bnNpZ25lZCBjaGFyCXJvc19tYWdpY1s4XTsKKwl1aW50MzJfdAlyb3NfZHVtbXkxWzJdOworCXVuc2lnbmVkIGNoYXIJcm9zX3ZvbHVtZVsxNl07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdGF0aWMgaW50IHByb2JlX3JvbWZzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3Qgcm9tZnNfc3VwZXJfYmxvY2sgKnJvczsKKworCXJvcyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3Qgcm9tZnNfc3VwZXJfYmxvY2spOworCWlmICghcm9zKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKCooKGNoYXIgKikgcm9zLT5yb3Nfdm9sdW1lKSAhPSAnXDAnKQorCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIHJvcy0+cm9zX3ZvbHVtZSwKKwkJCQlzaXplb2Yocm9zLT5yb3Nfdm9sdW1lKSk7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gcm9tZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAicm9tZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9yb21mcywKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICItcm9tMWZzLSIsIC5sZW4gPSA4IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3NpbGljb25fcmFpZC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3NpbGljb25fcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkYmVmYmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc2lsaWNvbl9yYWlkLmMKQEAgLTAsMCArMSwxMzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDUgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3Qgc2lsaWNvbl9tZXRhZGF0YSB7CisJdWludDhfdAkJdW5rbm93bjBbMHgyRV07CisJdWludDhfdAkJYXNjaWlfdmVyc2lvblsweDM2IC0gMHgyRV07CisJaW50OF90CQlkaXNrbmFtZVsweDU2IC0gMHgzNl07CisJaW50OF90CQl1bmtub3duMVsweDYwIC0gMHg1Nl07CisJdWludDMyX3QJbWFnaWM7CisJaW50OF90CQl1bmtub3duMWFbMHg2QyAtIDB4NjRdOworCXVpbnQzMl90CWFycmF5X3NlY3RvcnNfbG93OworCXVpbnQzMl90CWFycmF5X3NlY3RvcnNfaGlnaDsKKwlpbnQ4X3QJCXVua25vd24yWzB4NzggLSAweDc0XTsKKwl1aW50MzJfdAl0aGlzZGlza19zZWN0b3JzOworCWludDhfdAkJdW5rbm93bjNbMHgxMDAgLSAweDdDXTsKKwlpbnQ4X3QJCXVua25vd240WzB4MTA0IC0gMHgxMDBdOworCXVpbnQxNl90CXByb2R1Y3RfaWQ7CisJdWludDE2X3QJdmVuZG9yX2lkOworCXVpbnQxNl90CW1pbm9yX3ZlcjsKKwl1aW50MTZfdAltYWpvcl92ZXI7CisJdWludDhfdAkJc2Vjb25kczsKKwl1aW50OF90CQltaW51dGVzOworCXVpbnQ4X3QJCWhvdXI7CisJdWludDhfdAkJZGF5OworCXVpbnQ4X3QJCW1vbnRoOworCXVpbnQ4X3QJCXllYXI7CisJdWludDE2X3QJcmFpZDBfc3RyaWRlOworCWludDhfdAkJdW5rbm93bjZbMHgxMTYgLSAweDExNF07CisJdWludDhfdAkJZGlza19udW1iZXI7CisJdWludDhfdAkJdHlwZTsJCQkvKiBTSUxJQ09OX1RZUEVfKiAqLworCWludDhfdAkJZHJpdmVzX3Blcl9zdHJpcGVkX3NldDsKKwlpbnQ4X3QJCXN0cmlwZWRfc2V0X251bWJlcjsKKwlpbnQ4X3QJCWRyaXZlc19wZXJfbWlycm9yZWRfc2V0OworCWludDhfdAkJbWlycm9yZWRfc2V0X251bWJlcjsKKwl1aW50MzJfdAlyZWJ1aWxkX3B0cl9sb3c7CisJdWludDMyX3QJcmVidWlsZF9wdHJfaGlnaDsKKwl1aW50MzJfdAlpbmNhcm5hdGlvbl9ubzsKKwl1aW50OF90CQltZW1iZXJfc3RhdHVzOworCXVpbnQ4X3QJCW1pcnJvcmVkX3NldF9zdGF0ZTsJLyogU0lMSUNPTl9NSVJST1JfKiAqLworCXVpbnQ4X3QJCXJlcG9ydGVkX2RldmljZV9sb2NhdGlvbjsKKwl1aW50OF90CQlpZGVjaGFubmVsOworCXVpbnQ4X3QJCWF1dG9fcmVidWlsZDsKKwl1aW50OF90CQl1bmtub3duODsKKwl1aW50OF90CQl0ZXh0X3R5cGVbMHgxM0UgLSAweDEyRV07CisJdWludDE2X3QJY2hlY2tzdW0xOworCWludDhfdAkJYXNzdW1lZF96ZXJvc1sweDFGRSAtIDB4MTQwXTsKKwl1aW50MTZfdAljaGVja3N1bTI7Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIFNJTElDT05fTUFHSUMJCTB4MkYwMDAwMDAKKworc3RhdGljIHVpbnQxNl90IHNpbHJhaWRfY2hlY2tzdW0oc3RydWN0IHNpbGljb25fbWV0YWRhdGEgKnNpbCkKK3sKKwlpbnQgc3VtID0gMDsKKwl1bnNpZ25lZCBzaG9ydCBjb3VudCA9IG9mZnNldG9mKHN0cnVjdCBzaWxpY29uX21ldGFkYXRhLCBjaGVja3N1bTEpIC8gMjsKKwl1aW50MTZfdCAqcCA9ICh1aW50MTZfdCAqKSBzaWw7CisKKwl3aGlsZSAoY291bnQtLSkgeworCQl1aW50MTZfdCB4ID0gKnArKzsKKwkJc3VtICs9IGxlMTZfdG9fY3B1KHgpOworCX0KKworCXJldHVybiAoLXN1bSAmIDB4RkZGRik7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfc2lscmFpZChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXVpbnQ2NF90IG9mZjsKKwlzdHJ1Y3Qgc2lsaWNvbl9tZXRhZGF0YSAqc2lsOworCisJaWYgKHByLT5zaXplIDwgMHgxMDAwMCkKKwkJcmV0dXJuIDE7CisJaWYgKCFTX0lTUkVHKHByLT5tb2RlKSAmJiAhYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkKKwkJcmV0dXJuIDE7CisKKwlvZmYgPSAoKHByLT5zaXplIC8gMHgyMDApIC0gMSkgKiAweDIwMDsKKworCXNpbCA9IChzdHJ1Y3Qgc2lsaWNvbl9tZXRhZGF0YSAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgb2ZmLAorCQkJCXNpemVvZihzdHJ1Y3Qgc2lsaWNvbl9tZXRhZGF0YSkpOworCWlmICghc2lsKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKGxlMzJfdG9fY3B1KHNpbC0+bWFnaWMpICE9IFNJTElDT05fTUFHSUMpCisJCXJldHVybiAxOworCWlmIChzaWwtPmRpc2tfbnVtYmVyID49IDgpCisJCXJldHVybiAxOworCWlmICghYmxraWRfcHJvYmVfdmVyaWZ5X2NzdW0ocHIsIHNpbHJhaWRfY2hlY2tzdW0oc2lsKSwgbGUxNl90b19jcHUoc2lsLT5jaGVja3N1bTEpKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAoYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUuJXUiLAorCQkJCWxlMTZfdG9fY3B1KHNpbC0+bWFqb3JfdmVyKSwKKwkJCQlsZTE2X3RvX2NwdShzaWwtPm1pbm9yX3ZlcikpICE9IDApCisJCXJldHVybiAxOworCisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwKKwkJCW9mZiArIG9mZnNldG9mKHN0cnVjdCBzaWxpY29uX21ldGFkYXRhLCBtYWdpYyksCisJCQlzaXplb2Yoc2lsLT5tYWdpYyksCisJCQkodW5zaWduZWQgY2hhciAqKSAmc2lsLT5tYWdpYykpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNpbHJhaWRfaWRpbmZvID0geworCS5uYW1lCQk9ICJzaWxpY29uX21lZGxleV9yYWlkX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX1JBSUQsCisJLnByb2JlZnVuYwk9IHByb2JlX3NpbHJhaWQsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zcXVhc2hmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3NxdWFzaGZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzM2NGJlYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zcXVhc2hmcy5jCkBAIC0wLDAgKzEsMTAxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgImJpdG9wcy5oIgkvKiBzd2FiMTYoKSAqLworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCBzcXNoX3N1cGVyX2Jsb2NrIHsKKwl1aW50MzJfdAlzX21hZ2ljOworCXVpbnQzMl90CWlub2RlczsKKwl1aW50MzJfdAlieXRlc191c2VkXzI7CisJdWludDMyX3QJdWlkX3N0YXJ0XzI7CisJdWludDMyX3QJZ3VpZF9zdGFydF8yOworCXVpbnQzMl90CWlub2RlX3RhYmxlX3N0YXJ0XzI7CisJdWludDMyX3QJZGlyZWN0b3J5X3RhYmxlX3N0YXJ0XzI7CisJdWludDE2X3QJc19tYWpvcjsKKwl1aW50MTZfdAlzX21pbm9yOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV9zcXVhc2hmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IHNxc2hfc3VwZXJfYmxvY2sgKnNxOworCXVpbnQxNl90IHZlcm1hajsKKwl1aW50MTZfdCB2ZXJtaW47CisKKwlzcSA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3Qgc3FzaF9zdXBlcl9ibG9jayk7CisJaWYgKCFzcSkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCXZlcm1haiA9IGxlMTZfdG9fY3B1KHNxLT5zX21ham9yKTsKKwl2ZXJtaW4gPSBsZTE2X3RvX2NwdShzcS0+c19taW5vcik7CisJaWYgKHZlcm1haiA8IDQpCisJCXJldHVybiAxOworCisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUuJXUiLCB2ZXJtYWosIHZlcm1pbik7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV9zcXVhc2hmczMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCBzcXNoX3N1cGVyX2Jsb2NrICpzcTsKKwl1aW50MTZfdCB2ZXJtYWo7CisJdWludDE2X3QgdmVybWluOworCisJc3EgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHNxc2hfc3VwZXJfYmxvY2spOworCWlmICghc3EpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAoc3RyY21wKG1hZy0+bWFnaWMsICJzcXNoIikgPT0gMCkgeworCQl2ZXJtYWogPSBiZTE2X3RvX2NwdShzcS0+c19tYWpvcik7CisJCXZlcm1pbiA9IGJlMTZfdG9fY3B1KHNxLT5zX21pbm9yKTsKKwl9IGVsc2UgeworCQl2ZXJtYWogPSBsZTE2X3RvX2NwdShzcS0+c19tYWpvcik7CisJCXZlcm1pbiA9IGxlMTZfdG9fY3B1KHNxLT5zX21pbm9yKTsKKwl9CisKKwlpZiAodmVybWFqID4gMykKKwkJcmV0dXJuIDE7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldS4ldSIsIHZlcm1haiwgdmVybWluKTsKKworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNxdWFzaGZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInNxdWFzaGZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfc3F1YXNoZnMsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiaHNxcyIsIC5sZW4gPSA0IH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzcXVhc2hmczNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAic3F1YXNoZnMzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfc3F1YXNoZnMzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gInNxc2giLCAubGVuID0gNCB9LCAvKiBiaWcgZW5kaWFuICovCisJCXsgLm1hZ2ljID0gImhzcXMiLCAubGVuID0gNCB9LCAvKiBsaXR0bGUgZW5kaWFuICovCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N0cmF0aXMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zdHJhdGlzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2ZkZWUyYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zdHJhdGlzLmMKQEAgLTAsMCArMSwxMDUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTggVG9ueSBBc2xlc29uIDx0YXNsZXNvbkByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoKKyAqIFNwZWNpZmljYXRpb24gZm9yIG9uIGRpc2sgZm9ybWF0CisgKiBodHRwczovL3N0cmF0aXMtc3RvcmFnZS5naXRodWIuaW8vU3RyYXRpc1NvZnR3YXJlRGVzaWduLnBkZgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKyNpbmNsdWRlICJjcmMzMmMuaCIKKworc3RydWN0IHN0cmF0aXNfc2IgeworCXVpbnQzMl90IGNyYzMyOworCXVpbnQ4X3QgbWFnaWNbMTZdOworCXVpbnQ2NF90IHNlY3RvcnM7CisJdWludDhfdCByZXNlcnZlZFs0XTsKKwl1aW50OF90IHBvb2xfdXVpZFszMl07CisJdWludDhfdCBkZXZfdXVpZFszMl07CisJdWludDY0X3QgbWRhX3NpemU7CisJdWludDY0X3QgcmVzZXJ2ZWRfc2l6ZTsKKwl1aW50NjRfdCBmbGFnczsKKwl1aW50NjRfdCBpbml0aWFsaXphdGlvbl90aW1lOworfSBfX2F0dHJpYnV0ZV9fICgoX19wYWNrZWRfXykpOworCisjZGVmaW5lIEJTIDUxMgorI2RlZmluZSBGSVJTVF9DT1BZX09GRlNFVCBCUworI2RlZmluZSBTRUNPTkRfQ09QWV9PRkZTRVQgKEJTICogOSkKKyNkZWZpbmUgU0JfQVJFQV9TSVpFIChCUyAqIDE2KQorCitjb25zdCBjaGFyIFNUUkFUSVNfTUFHSUNbXSA9ICIhU3RyYTB0aXNceDg2XHhmZlx4MDJeXHg0MXJoIjsKKyNkZWZpbmUgTUFHSUNfTEVOIChzaXplb2YoU1RSQVRJU19NQUdJQykgLSAxKQorCisjZGVmaW5lIF9NQUdJQ19PRkZTRVQgKG9mZnNldG9mKGNvbnN0IHN0cnVjdCBzdHJhdGlzX3NiLCBtYWdpYykpCisjZGVmaW5lIE1BR0lDX09GRlNFVF9DT1BZXzEgKEZJUlNUX0NPUFlfT0ZGU0VUICsgX01BR0lDX09GRlNFVCkKKyNkZWZpbmUgTUFHSUNfT0ZGU0VUX0NPUFlfMiAoU0VDT05EX0NPUFlfT0ZGU0VUICsgX01BR0lDX09GRlNFVCkKKworc3RhdGljIGludCBzdHJhdGlzX3ZhbGlkX3NiKHVpbnQ4X3QgKnApCit7CisJY29uc3Qgc3RydWN0IHN0cmF0aXNfc2IgKnN0cmF0aXMgPSAoY29uc3Qgc3RydWN0IHN0cmF0aXNfc2IgKilwOworCXVpbnQzMl90IGNyYyA9IDA7CisKKwkvKiBnZW5lcmF0ZSBDUkMgZnJvbSBieXRlIHBvc2l0aW9uIDQgZm9yIGxlbmd0aCA1MDggPT0gNTEyIGJ5dGUgc2VjdG9yICovCisJY3JjID0gY3JjMzJjKH4wTCwgcCArIHNpemVvZihzdHJhdGlzLT5jcmMzMiksCisJCQlCUyAtIHNpemVvZihzdHJhdGlzLT5jcmMzMikpOworCWNyYyBePSB+MEw7CisKKwlyZXR1cm4gY3JjID09IGxlMzJfdG9fY3B1KHN0cmF0aXMtPmNyYzMyKTsKK30KKworc3RhdGljIGludCBwcm9iZV9zdHJhdGlzKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJY29uc3Qgc3RydWN0IHN0cmF0aXNfc2IgKnN0cmF0aXMgPSBOVUxMOworCXVpbnQ4X3QgKmJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIDAsIFNCX0FSRUFfU0laRSk7CisKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChzdHJhdGlzX3ZhbGlkX3NiKGJ1ZiArIEZJUlNUX0NPUFlfT0ZGU0VUKSkgeworCQlzdHJhdGlzID0gKGNvbnN0IHN0cnVjdCBzdHJhdGlzX3NiICopKGJ1ZiArIEZJUlNUX0NPUFlfT0ZGU0VUKTsKKwl9IGVsc2UgeworCQlpZiAoIXN0cmF0aXNfdmFsaWRfc2IoYnVmICsgU0VDT05EX0NPUFlfT0ZGU0VUKSkKKwkJCXJldHVybiAxOworCisJCXN0cmF0aXMgPSAoY29uc3Qgc3RydWN0IHN0cmF0aXNfc2IgKikKKwkJCQkoYnVmICsgU0VDT05EX0NPUFlfT0ZGU0VUKTsKKwl9CisKKwlibGtpZF9wcm9iZV9zdHJuY3B5X3V1aWQocHIsIHN0cmF0aXMtPmRldl91dWlkLAorCQkJCQlzaXplb2Yoc3RyYXRpcy0+ZGV2X3V1aWQpKTsKKwlibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJQT09MX1VVSUQiLAorCQkJCXN0cmF0aXMtPnBvb2xfdXVpZCwKKwkJCQlzaXplb2Yoc3RyYXRpcy0+cG9vbF91dWlkKSk7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCAiQkxPQ0tERVZfU0VDVE9SUyIsICIlIiBQUkl1NjQsCisJCQkJCXN0cmF0aXMtPnNlY3RvcnMpOworCWJsa2lkX3Byb2JlX3NwcmludGZfdmFsdWUocHIsICJCTE9DS0RFVl9JTklUVElNRSIsICIlIiBQUkl1NjQsCisJCQkJCXN0cmF0aXMtPmluaXRpYWxpemF0aW9uX3RpbWUpOworCisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3RyYXRpc19pZGluZm8gPSB7CisJLm5hbWUJCT0gInN0cmF0aXMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9SQUlELAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zdHJhdGlzLAorCS5taW5zegkJPSBTQl9BUkVBX1NJWkUsCisJLm1hZ2ljcwkJPSB7CisJCXsgLm1hZ2ljID0gU1RSQVRJU19NQUdJQywgLmxlbiA9IE1BR0lDX0xFTiwKKwkJCS5zYm9mZiA9IE1BR0lDX09GRlNFVF9DT1BZXzF9LAorCQl7IC5tYWdpYyA9IFNUUkFUSVNfTUFHSUMsIC5sZW4gPSBNQUdJQ19MRU4sCisJCQkuc2JvZmYgPSBNQUdJQ19PRkZTRVRfQ09QWV8yfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N1cGVyYmxvY2tzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3VwZXJibG9ja3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGQ0YzI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N1cGVyYmxvY2tzLmMKQEAgLTAsMCArMSw4NzAgQEAKKy8qCisgKiBzdXBlcmJsb2Nrcy5jIC0gcmVhZHMgaW5mb3JtYXRpb24gZnJvbSBmaWxlc3lzdGVtIGFuZCByYWlkIHN1cGVyYmxvY2tzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworLyoqCisgKiBTRUNUSU9OOnN1cGVyYmxvY2tzCisgKiBAdGl0bGU6IFN1cGVyYmxvY2tzIHByb2JpbmcKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogZmlsZXN5c3RlbXMgYW5kIHJhaWRzIHN1cGVyYmxvY2tzIHByb2JpbmcuCisgKgorICogVGhlIGxpYnJhcnkgQVBJIGhhcyBiZWVuIG9yaWdpbmFsbHkgZGVzaWduZWQgZm9yIHN1cGVyYmxvY2tzIHByb2Jpbmcgb25seS4KKyAqIFRoaXMgaXMgcmVhc29uIHdoeSBzb21lICpkZXByZWNhdGVkKiBzdXBlcmJsb2NrIHNwZWNpZmljIGZ1bmN0aW9ucyBkb24ndCB1c2UKKyAqICdfc3VwZXJibG9ja3NfJyBuYW1lc3BhY2UgaW4gdGhlIGZ1bmN0aW9uIG5hbWUuIFBsZWFzZSwgZG9uJ3QgdXNlIHRoZXNlCisgKiBmdW5jdGlvbnMgaW4gbmV3IGNvZGUuCisgKgorICogVGhlICdzdXBlcmJsb2NrcycgcHJvYmVycyBzdXBwb3J0IE5BTUU9dmFsdWUgKHRhZ3MpIGludGVyZmFjZSBvbmx5LiBUaGUKKyAqIHN1cGVyYmxvY2tzIHByb2JpbmcgaXMgZW5hYmxlZCBieSBkZWZhdWx0IChhbmQgY29udHJvbGxlZCBieQorICogYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKCkpLgorICoKKyAqIEN1cnJlbnRseSBzdXBwb3J0ZWQgdGFnczoKKyAqCisgKiBAVFlQRTogZmlsZXN5c3RlbSB0eXBlCisgKgorICogQFNFQ19UWVBFOiBzZWNvbmRhcnkgZmlsZXN5c3RlbSB0eXBlCisgKgorICogQExBQkVMOiBmaWxlc3lzdGVtIGxhYmVsCisgKgorICogQExBQkVMX1JBVzogcmF3IGxhYmVsIGZyb20gRlMgc3VwZXJibG9jaworICoKKyAqIEBVVUlEOiBmaWxlc3lzdGVtIFVVSUQgKGxvd2VyIGNhc2UpCisgKgorICogQFVVSURfU1VCOiBzdWJ2b2x1bWUgdXVpZCAoZS5nLiBidHJmcykKKyAqCisgKiBATE9HVVVJRDogZXh0ZXJuYWwgbG9nIFVVSUQgKGUuZy4geGZzKQorICoKKyAqIEBVVUlEX1JBVzogcmF3IFVVSUQgZnJvbSBGUyBzdXBlcmJsb2NrCisgKgorICogQEVYVF9KT1VSTkFMOiBleHRlcm5hbCBqb3VybmFsIFVVSUQKKyAqCisgKiBAVVNBR0U6ICB1c2FnZSBzdHJpbmc6ICJyYWlkIiwgImZpbGVzeXN0ZW0iLCAuLi4KKyAqCisgKiBAVkVSU0lPTjogZmlsZXN5c3RlbSB2ZXJzaW9uCisgKgorICogQE1PVU5UOiBjbHVzdGVyIG1vdW50IG5hbWUgKD8pIC0tIG9jZnMgb25seQorICoKKyAqIEBTQk1BR0lDOiBzdXBlciBibG9jayBtYWdpYyBzdHJpbmcKKyAqCisgKiBAU0JNQUdJQ19PRkZTRVQ6IG9mZnNldCBvZiBTQk1BR0lDCisgKgorICogQEZTU0laRTogc2l6ZSBvZiBmaWxlc3lzdGVtIFtub3QtaW1wbGVtZW50ZWQgeWV0XQorICoKKyAqIEBTWVNURU1fSUQ6IElTTzk2NjAgc3lzdGVtIGlkZW50aWZpZXIKKyAqCisgKiBAUFVCTElTSEVSX0lEOiBJU085NjYwIHB1Ymxpc2hlciBpZGVudGlmaWVyCisgKgorICogQEFQUExJQ0FUSU9OX0lEOiBJU085NjYwIGFwcGxpY2F0aW9uIGlkZW50aWZpZXIKKyAqCisgKiBAQk9PVF9TWVNURU1fSUQ6IElTTzk2NjAgYm9vdCBzeXN0ZW0gaWRlbnRpZmllcgorICovCisKK3N0YXRpYyBpbnQgc3VwZXJibG9ja3NfcHJvYmUoYmxraWRfcHJvYmUgcHIsIHN0cnVjdCBibGtpZF9jaGFpbiAqY2huKTsKK3N0YXRpYyBpbnQgc3VwZXJibG9ja3Nfc2FmZXByb2JlKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobik7CisKK3N0YXRpYyBpbnQgYmxraWRfcHJvYmVfc2V0X3VzYWdlKGJsa2lkX3Byb2JlIHByLCBpbnQgdXNhZ2UpOworCisKKy8qCisgKiBTdXBlcmJsb2NrcyBjaGFpbnMgcHJvYmluZyBmdW5jdGlvbnMKKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkaW5mb3NbXSA9Cit7CisJLyogUkFJRHMgKi8KKwkmbGludXhyYWlkX2lkaW5mbywKKwkmZGRmcmFpZF9pZGluZm8sCisJJmlzd3JhaWRfaWRpbmZvLAorCSZsc2lyYWlkX2lkaW5mbywKKwkmdmlhcmFpZF9pZGluZm8sCisJJnNpbHJhaWRfaWRpbmZvLAorCSZudnJhaWRfaWRpbmZvLAorCSZwZGNyYWlkX2lkaW5mbywKKwkmaGlnaHBvaW50NDV4X2lkaW5mbywKKwkmaGlnaHBvaW50Mzd4X2lkaW5mbywKKwkmYWRyYWlkX2lkaW5mbywKKwkmam1yYWlkX2lkaW5mbywKKworCSZiY2FjaGVfaWRpbmZvLAorCSZkcmJkX2lkaW5mbywKKwkmZHJiZG1hbmFnZV9pZGluZm8sCisJJmRyYmRwcm94eV9kYXRhbG9nX2lkaW5mbywKKwkmbHZtMl9pZGluZm8sCisJJmx2bTFfaWRpbmZvLAorCSZzbmFwY293X2lkaW5mbywKKwkmdmVyaXR5X2hhc2hfaWRpbmZvLAorCSZpbnRlZ3JpdHlfaWRpbmZvLAorCSZsdWtzX2lkaW5mbywKKwkmdm1mc192b2x1bWVfaWRpbmZvLAorCSZ1YmlfaWRpbmZvLAorCSZ2ZG9faWRpbmZvLAorCSZzdHJhdGlzX2lkaW5mbywKKwkmYml0bG9ja2VyX2lkaW5mbywKKworCS8qIEZpbGVzeXN0ZW1zICovCisJJnZmYXRfaWRpbmZvLAorCSZzd3N1c3BlbmRfaWRpbmZvLAorCSZzd2FwX2lkaW5mbywKKwkmeGZzX2lkaW5mbywKKwkmeGZzX2xvZ19pZGluZm8sCisJJmV4ZnNfaWRpbmZvLAorCSZleHQ0ZGV2X2lkaW5mbywKKwkmZXh0NF9pZGluZm8sCisJJmV4dDNfaWRpbmZvLAorCSZleHQyX2lkaW5mbywKKwkmamJkX2lkaW5mbywKKwkmcmVpc2VyX2lkaW5mbywKKwkmcmVpc2VyNF9pZGluZm8sCisJJmpmc19pZGluZm8sCisJJnVkZl9pZGluZm8sCisJJmlzbzk2NjBfaWRpbmZvLAorCSZ6ZnNfaWRpbmZvLAorCSZoZnNwbHVzX2lkaW5mbywKKwkmaGZzX2lkaW5mbywKKwkmdWZzX2lkaW5mbywKKwkmaHBmc19pZGluZm8sCisJJnN5c3ZfaWRpbmZvLAorICAgICAgICAmeGVuaXhfaWRpbmZvLAorCSZudGZzX2lkaW5mbywKKwkmcmVmc19pZGluZm8sCisJJmNyYW1mc19pZGluZm8sCisJJnJvbWZzX2lkaW5mbywKKwkmbWluaXhfaWRpbmZvLAorCSZnZnNfaWRpbmZvLAorCSZnZnMyX2lkaW5mbywKKwkmb2Nmc19pZGluZm8sCisJJm9jZnMyX2lkaW5mbywKKwkmb3JhY2xlYXNtX2lkaW5mbywKKwkmdnhmc19pZGluZm8sCisJJnNxdWFzaGZzX2lkaW5mbywKKwkmc3F1YXNoZnMzX2lkaW5mbywKKwkmbmV0d2FyZV9pZGluZm8sCisJJmJ0cmZzX2lkaW5mbywKKwkmdWJpZnNfaWRpbmZvLAorCSZiZnNfaWRpbmZvLAorCSZ2bWZzX2ZzX2lkaW5mbywKKwkmYmVmc19pZGluZm8sCisJJm5pbGZzMl9pZGluZm8sCisJJmV4ZmF0X2lkaW5mbywKKwkmZjJmc19pZGluZm8sCisJJm1wb29sX2lkaW5mbywKKwkmYXBmc19pZGluZm8KK307CisKKy8qCisgKiBEcml2ZXIgZGVmaW5pdGlvbgorICovCitjb25zdCBzdHJ1Y3QgYmxraWRfY2hhaW5kcnYgc3VwZXJibG9ja3NfZHJ2ID0geworCS5pZCAgICAgICAgICAgPSBCTEtJRF9DSEFJTl9TVUJMS1MsCisJLm5hbWUgICAgICAgICA9ICJzdXBlcmJsb2NrcyIsCisJLmRmbHRfZW5hYmxlZCA9IFRSVUUsCisJLmRmbHRfZmxhZ3MgICA9IEJMS0lEX1NVQkxLU19ERUZBVUxULAorCS5pZGluZm9zICAgICAgPSBpZGluZm9zLAorCS5uaWRpbmZvcyAgICAgPSBBUlJBWV9TSVpFKGlkaW5mb3MpLAorCS5oYXNfZmx0ciAgICAgPSBUUlVFLAorCS5wcm9iZSAgICAgICAgPSBzdXBlcmJsb2Nrc19wcm9iZSwKKwkuc2FmZXByb2JlICAgID0gc3VwZXJibG9ja3Nfc2FmZXByb2JlLAorfTsKKworLyoqCisgKiBibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3M6CisgKiBAcHI6IHByb2JlCisgKiBAZW5hYmxlOiBUUlVFL0ZBTFNFCisgKgorICogRW5hYmxlcy9kaXNhYmxlcyB0aGUgc3VwZXJibG9ja3MgcHJvYmluZyBmb3Igbm9uLWJpbmFyeSBpbnRlcmZhY2UuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKGJsa2lkX3Byb2JlIHByLCBpbnQgZW5hYmxlKQoreworCXByLT5jaGFpbnNbQkxLSURfQ0hBSU5fU1VCTEtTXS5lbmFibGVkID0gZW5hYmxlOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFnczoKKyAqIEBwcjogcHJvYmVyCisgKiBAZmxhZ3M6IEJMS0lEX1NVQkxLU18qIGZsYWdzCisgKgorICogU2V0cyBwcm9iaW5nIGZsYWdzIHRvIHRoZSBzdXBlcmJsb2NrcyBwcm9iZXIuIFRoaXMgZnVuY3Rpb24gaXMgb3B0aW9uYWwsIHRoZQorICogZGVmYXVsdCBhcmUgQkxLSURfU1VCTEtTX0RFRkFVTFRTIGZsYWdzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhibGtpZF9wcm9iZSBwciwgaW50IGZsYWdzKQoreworCXByLT5jaGFpbnNbQkxLSURfQ0hBSU5fU1VCTEtTXS5mbGFncyA9IGZsYWdzOworCXJldHVybiAwOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3Jlc2V0X3N1cGVyYmxvY2tzX2ZpbHRlcjoKKyAqIEBwcjogcHJvYmVyCisgKgorICogUmVzZXRzIHN1cGVyYmxvY2tzIHByb2JpbmcgZmlsdGVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfcmVzZXRfc3VwZXJibG9ja3NfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiBfX2Jsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcihwciwgQkxLSURfQ0hBSU5fU1VCTEtTKTsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9pbnZlcnRfc3VwZXJibG9ja3NfZmlsdGVyOgorICogQHByOiBwcm9iZXIKKyAqCisgKiBJbnZlcnRzIHN1cGVyYmxvY2tzIHByb2JpbmcgZmlsdGVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfaW52ZXJ0X3N1cGVyYmxvY2tzX2ZpbHRlcihibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9pbnZlcnRfZmlsdGVyKHByLCBCTEtJRF9DSEFJTl9TVUJMS1MpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc190eXBlOgorICogQHByOiBwcm9iZXIKKyAqIEBmbGFnOiBmaWx0ZXIgQkxLSURfRkxUUl97Tk9USU4sT05MWUlOfSBmbGFnCisgKiBAbmFtZXM6IE5VTEwgdGVybWluYXRlZCBhcnJheSBvZiBwcm9iaW5nIGZ1bmN0aW9uIG5hbWVzIChlLmcuICJ2ZmF0IikuCisgKgorICogICVCTEtJRF9GTFRSX05PVElOICAtIHByb2JlIGZvciBhbGwgaXRlbXMgd2hpY2ggYXJlIE5PVCBJTiBAbmFtZXM7CisgKgorICogICVCTEtJRF9GTFRSX09OTFlJTiAtIHByb2JlIGZvciBpdGVtcyB3aGljaCBhcmUgSU4gQG5hbWVzCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3R5cGUoYmxraWRfcHJvYmUgcHIsIGludCBmbGFnLCBjaGFyICpuYW1lc1tdKQoreworCXJldHVybiBfX2Jsa2lkX3Byb2JlX2ZpbHRlcl90eXBlcyhwciwgQkxLSURfQ0hBSU5fU1VCTEtTLCBmbGFnLCBuYW1lcyk7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3VzYWdlOgorICogQHByOiBwcm9iZXIKKyAqIEBmbGFnOiBmaWx0ZXIgQkxLSURfRkxUUl97Tk9USU4sT05MWUlOfSBmbGFnCisgKiBAdXNhZ2U6IEJMS0lEX1VTQUdFXyogZmxhZ3MKKyAqCisgKiAgJUJMS0lEX0ZMVFJfTk9USU4gIC0gcHJvYmUgZm9yIGFsbCBpdGVtcyB3aGljaCBhcmUgTk9UIElOIEB1c2FnZTsKKyAqCisgKiAgJUJMS0lEX0ZMVFJfT05MWUlOIC0gcHJvYmUgZm9yIGl0ZW1zIHdoaWNoIGFyZSBJTiBAdXNhZ2UKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBibGtpZF9wcm9iZV9maWx0ZXJfc3VwZXJibG9ja3NfdXNhZ2UoYmxraWRfcHJvYmUgcHIsIGludCBmbGFnLCBpbnQgdXNhZ2UpCit7CisJdW5zaWduZWQgbG9uZyAqZmx0cjsKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobjsKKwlzaXplX3QgaTsKKworCWZsdHIgPSBibGtpZF9wcm9iZV9nZXRfZmlsdGVyKHByLCBCTEtJRF9DSEFJTl9TVUJMS1MsIFRSVUUpOworCWlmICghZmx0cikKKwkJcmV0dXJuIC0xOworCisJY2huID0gJnByLT5jaGFpbnNbQkxLSURfQ0hBSU5fU1VCTEtTXTsKKworCWZvciAoaSA9IDA7IGkgPCBjaG4tPmRyaXZlci0+bmlkaW5mb3M7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCA9IGNobi0+ZHJpdmVyLT5pZGluZm9zW2ldOworCisJCWlmIChpZC0+dXNhZ2UgJiB1c2FnZSkgeworCQkJaWYgKGZsYWcgJiBCTEtJRF9GTFRSX05PVElOKQorCQkJCWJsa2lkX2JtcF9zZXRfaXRlbShjaG4tPmZsdHIsIGkpOworCQl9IGVsc2UgaWYgKGZsYWcgJiBCTEtJRF9GTFRSX09OTFlJTikKKwkJCWJsa2lkX2JtcF9zZXRfaXRlbShjaG4tPmZsdHIsIGkpOworCX0KKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJhIG5ldyBwcm9iaW5nIHVzYWdlLWZpbHRlciBpbml0aWFsaXplZCIpKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9rbm93bl9mc3R5cGU6CisgKiBAZnN0eXBlOiBmaWxlc3lzdGVtIG5hbWUKKyAqCisgKiBSZXR1cm5zOiAxIGZvciBrbm93biBmaWxlc3lzdGVtcywgb3IgMCBmb3IgdW5rbm93biBmaWxlc3lzdGVtLgorICovCitpbnQgYmxraWRfa25vd25fZnN0eXBlKGNvbnN0IGNoYXIgKmZzdHlwZSkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGlkaW5mb3MpOyBpKyspIHsKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWQgPSBpZGluZm9zW2ldOworCQlpZiAoc3RyY21wKGlkLT5uYW1lLCBmc3R5cGUpID09IDApCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogYmxraWRfc3VwZXJibG9ja3NfZ2V0X25hbWU6CisgKiBAaWR4OiBudW1iZXIgPj0gMAorICogQG5hbWU6IHJldHVybnMgbmFtZSBvZiBzdXBwb3J0ZWQgZmlsZXN5c3RlbS9yYWlkIChvcHRpb25hbCkKKyAqIEB1c2FnZTogcmV0dXJucyBCTEtJRF9VU0FHRV8qIGZsYWdzLCAob3B0aW9uYWwpCisgKgorICogUmV0dXJuczogLTEgaWYgQGlkeCBpcyBvdXQgb2YgcmFuZ2UsIG9yIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IGJsa2lkX3N1cGVyYmxvY2tzX2dldF9uYW1lKHNpemVfdCBpZHgsIGNvbnN0IGNoYXIgKipuYW1lLCBpbnQgKnVzYWdlKQoreworCWlmIChpZHggPCBBUlJBWV9TSVpFKGlkaW5mb3MpKSB7CisJCWlmIChuYW1lKQorCQkJKm5hbWUgPSBpZGluZm9zW2lkeF0tPm5hbWU7CisJCWlmICh1c2FnZSkKKwkJCSp1c2FnZSA9IGlkaW5mb3NbaWR4XS0+dXNhZ2U7CisJCXJldHVybiAwOworCX0KKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBUaGUgYmxraWRfZG9fcHJvYmUoKSBiYWNrZW5kLgorICovCitzdGF0aWMgaW50IHN1cGVyYmxvY2tzX3Byb2JlKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobikKK3sKKwlzaXplX3QgaTsKKwlpbnQgcmMgPSBCTEtJRF9QUk9CRV9OT05FOworCisJaWYgKGNobi0+aWR4IDwgLTEpCisJCXJldHVybiAtRUlOVkFMOworCisJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfdmFsdWVzKHByLCBjaG4pOworCisJaWYgKHByLT5mbGFncyAmIEJMS0lEX0ZMX05PU0NBTl9ERVYpIHsKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiKioqIGlnbm9yZSAobm9zY2FuIGZsYWcpIikpOworCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKwl9CisKKwlpZiAocHItPnNpemUgPD0gMCB8fCAocHItPnNpemUgPD0gMTAyNCAmJiAhU19JU0NIUihwci0+bW9kZSkpKSB7CisJCS8qIElnbm9yZSB2ZXJ5IHZlcnkgc21hbGwgYmxvY2sgZGV2aWNlcyBvciByZWd1bGFyIGZpbGVzIChlLmcuCisJCSAqIGV4dGVuZGVkIHBhcnRpdGlvbnMpLiBOb3RlIHRoYXQgc2l6ZSBvZiB0aGUgVUJJIGNoYXIgZGV2aWNlcworCQkgKiBpcyAxIGJ5dGUgKi8KKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiKioqIGlnbm9yZSAoc2l6ZSA8PSAxMDI0KSIpKTsKKwkJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7CisJfQorCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiLS0+IHN0YXJ0aW5nIHByb2JpbmcgbG9vcCBbU1VCTEtTIGlkeD0lZF0iLAorCQljaG4tPmlkeCkpOworCisJaSA9IGNobi0+aWR4IDwgMCA/IDAgOiBjaG4tPmlkeCArIDFVOworCisJZm9yICggOyBpIDwgQVJSQVlfU0laRShpZGluZm9zKTsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gKmlkOworCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyA9IE5VTEw7CisJCXVpbnQ2NF90IG9mZiA9IDA7CisKKwkJY2huLT5pZHggPSBpOworCQlpZCA9IGlkaW5mb3NbaV07CisKKwkJaWYgKGNobi0+Zmx0ciAmJiBibGtpZF9ibXBfZ2V0X2l0ZW0oY2huLT5mbHRyLCBpKSkgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiZmlsdGVyIG91dDogJXMiLCBpZC0+bmFtZSkpOworCQkJcmMgPSBCTEtJRF9QUk9CRV9OT05FOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoaWQtPm1pbnN6ICYmICh1bnNpZ25lZClpZC0+bWluc3ogPiBwci0+c2l6ZSkgeworCQkJcmMgPSBCTEtJRF9QUk9CRV9OT05FOworCQkJY29udGludWU7CS8qIHRoZSBkZXZpY2UgaXMgdG9vIHNtYWxsICovCisJCX0KKworCQkvKiBkb24ndCBwcm9iZSBmb3IgUkFJRHMsIHN3YXAgb3Igam91cm5hbCBvbiBDRC9EVkRzICovCisJCWlmICgoaWQtPnVzYWdlICYgKEJMS0lEX1VTQUdFX1JBSUQgfCBCTEtJRF9VU0FHRV9PVEhFUikpICYmCisJCSAgICBibGtpZF9wcm9iZV9pc19jZHJvbShwcikpIHsKKwkJCXJjID0gQkxLSURfUFJPQkVfTk9ORTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogZG9uJ3QgcHJvYmUgZm9yIFJBSURzIG9uIGZsb3BwaWVzICovCisJCWlmICgoaWQtPnVzYWdlICYgQkxLSURfVVNBR0VfUkFJRCkgJiYgYmxraWRfcHJvYmVfaXNfdGlueShwcikpIHsKKwkJCXJjID0gQkxLSURfUFJPQkVfTk9ORTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiWyV6ZF0gJXM6IiwgaSwgaWQtPm5hbWUpKTsKKworCQlyYyA9IGJsa2lkX3Byb2JlX2dldF9pZG1hZyhwciwgaWQsICZvZmYsICZtYWcpOworCQlpZiAocmMgPCAwKQorCQkJYnJlYWs7CisJCWlmIChyYyAhPSBCTEtJRF9QUk9CRV9PSykKKwkJCWNvbnRpbnVlOworCisJCS8qIGZpbmFsIGNoZWNrIGJ5IHByb2JpbmcgZnVuY3Rpb24gKi8KKwkJaWYgKGlkLT5wcm9iZWZ1bmMpIHsKKwkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlx0Y2FsbCBwcm9iZWZ1bmMoKSIpKTsKKwkJCXJjID0gaWQtPnByb2JlZnVuYyhwciwgbWFnKTsKKwkJCWlmIChyYyAhPSBCTEtJRF9QUk9CRV9PSykgeworCQkJCWJsa2lkX3Byb2JlX2NoYWluX3Jlc2V0X3ZhbHVlcyhwciwgY2huKTsKKwkJCQlpZiAocmMgPCAwKQorCQkJCQlicmVhazsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJfQorCisJCS8qIGFsbCBjaGVja3MgcGFzc2VkICovCisJCWlmIChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1RZUEUpCisJCQlyYyA9IGJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlRZUEUiLAorCQkJCShjb25zdCB1bnNpZ25lZCBjaGFyICopIGlkLT5uYW1lLAorCQkJCXN0cmxlbihpZC0+bmFtZSkgKyAxKTsKKworCQlpZiAoIXJjKQorCQkJcmMgPSBibGtpZF9wcm9iZV9zZXRfdXNhZ2UocHIsIGlkLT51c2FnZSk7CisKKwkJaWYgKCFyYyAmJiBtYWcpCisJCQlyYyA9IGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLCBtYWctPmxlbiwKKwkJCQkJKGNvbnN0IHVuc2lnbmVkIGNoYXIgKikgbWFnLT5tYWdpYyk7CisJCWlmIChyYykgeworCQkJYmxraWRfcHJvYmVfY2hhaW5fcmVzZXRfdmFsdWVzKHByLCBjaG4pOworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiZmFpbGVkIHRvIHNldCByZXN1bHQgLS0gaWdub3JlIikpOworCQkJY29udGludWU7CisJCX0KKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCI8LS0gbGVhdmluZyBwcm9iaW5nIGxvb3AgKHR5cGU9JXMpIFtTVUJMS1MgaWR4PSVkXSIsCisJCQlpZC0+bmFtZSwgY2huLT5pZHgpKTsKKwkJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCX0KKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIjwtLSBsZWF2aW5nIHByb2JpbmcgbG9vcCAoZmFpbGVkPSVkKSBbU1VCTEtTIGlkeD0lZF0iLAorCQkJcmMsIGNobi0+aWR4KSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogVGhpcyBpcyB0aGUgc2FtZSBmdW5jdGlvbiBhcyBibGtpZF9kb19wcm9iZSgpLCBidXQgcmV0dXJucyBvbmx5IG9uZSByZXN1bHQKKyAqIChjYW5ub3QgYmUgdXNlZCBpbiB3aGlsZSgpKSBhbmQgY2hlY2tzIGZvciBhbWJpdmFsZW50IHJlc3VsdHMgKG1vcmUKKyAqIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UpIC0tIGluIHN1Y2ggY2FzZSByZXR1cm5zIC0yLgorICoKKyAqIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCBjaGVjayBmb3IgZmlsZXN5c3RlbXMgd2hlbiBhIFJBSUQgb3IgY3J5cHRvIHNpZ25hdHVyZQorICogaXMgZGV0ZWN0ZWQuICBUaGUgZnVuY3Rpb24gYWxzbyBkb2VzIG5vdCBjaGVjayBmb3IgY29sbGlzaW9uIGJldHdlZW4gUkFJRHMKKyAqIGFuZCBjcnlwdG8gZGV2aWNlcy4gVGhlIGZpcnN0IGRldGVjdGVkIFJBSUQgb3IgY3J5cHRvIGRldmljZSBpcyByZXR1cm5lZC4KKyAqCisgKiBUaGUgZnVuY3Rpb24gZG9lcyBub3QgcHJvYmUgZm9yIGFtYml2YWxlbnQgcmVzdWx0cyBvbiB2ZXJ5IHNtYWxsIGRldmljZXMKKyAqIChlLmcuIGZsb3BwaWVzKSwgb24gc21hbGwgZGV2aWNlcyB0aGUgZmlyc3QgZGV0ZWN0ZWQgZmlsZXN5c3RlbSBpcyByZXR1cm5lZC4KKyAqLworc3RhdGljIGludCBzdXBlcmJsb2Nrc19zYWZlcHJvYmUoYmxraWRfcHJvYmUgcHIsIHN0cnVjdCBibGtpZF9jaGFpbiAqY2huKQoreworCXN0cnVjdCBsaXN0X2hlYWQgdmFsczsKKwlpbnQgaWR4ID0gLTE7CisJaW50IGNvdW50ID0gMDsKKwlpbnQgaW50b2wgPSAwOworCWludCByYzsKKworCUlOSVRfTElTVF9IRUFEKCZ2YWxzKTsKKworCWlmIChwci0+ZmxhZ3MgJiBCTEtJRF9GTF9OT1NDQU5fREVWKQorCQlyZXR1cm4gQkxLSURfUFJPQkVfTk9ORTsKKworCXdoaWxlICgocmMgPSBzdXBlcmJsb2Nrc19wcm9iZShwciwgY2huKSkgPT0gMCkgeworCisJCWlmIChibGtpZF9wcm9iZV9pc190aW55KHByKSAmJiAhY291bnQpCisJCQlyZXR1cm4gQkxLSURfUFJPQkVfT0s7CS8qIGZsb3BweSBvciBzbyAtLSByZXR1cm5zIHRoZSBmaXJzdCByZXN1bHQuICovCisKKwkJY291bnQrKzsKKworCQlpZiAoY2huLT5pZHggPj0gMCAmJgorCQkgICAgaWRpbmZvc1tjaG4tPmlkeF0tPnVzYWdlICYgKEJMS0lEX1VTQUdFX1JBSUQgfCBCTEtJRF9VU0FHRV9DUllQVE8pKQorCQkJYnJlYWs7CisKKwkJaWYgKGNobi0+aWR4ID49IDAgJiYKKwkJICAgICEoaWRpbmZvc1tjaG4tPmlkeF0tPmZsYWdzICYgQkxLSURfSURJTkZPX1RPTEVSQU5UKSkKKwkJCWludG9sKys7CisKKwkJaWYgKGNvdW50ID09IDEpIHsKKwkJCS8qIHNhdmUgdGhlIGZpcnN0IHJlc3VsdCAqLworCQkJYmxraWRfcHJvYmVfY2hhaW5fc2F2ZV92YWx1ZXMocHIsIGNobiwgJnZhbHMpOworCQkJaWR4ID0gY2huLT5pZHg7CisJCX0KKwl9CisKKwlpZiAocmMgPCAwKQorCQlnb3RvIGRvbmU7CQkvKiBlcnJvciAqLworCisJaWYgKGNvdW50ID4gMSAmJiBpbnRvbCkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJFUlJPUjogc3VwZXJibG9ja3MgY2hhaW46ICIKKwkJCSAgICAgICAiYW1iaXZhbGVudCByZXN1bHQgZGV0ZWN0ZWQgKCVkIGZpbGVzeXN0ZW1zKSEiLAorCQkJICAgICAgIGNvdW50KSk7CisJCXJjID0gLTI7CQkvKiBlcnJvciwgYW1iaXZhbGVudCByZXN1bHQgKG1vcmUgRlMpICovCisJCWdvdG8gZG9uZTsKKwl9CisJaWYgKCFjb3VudCkgeworCQlyYyA9IEJMS0lEX1BST0JFX05PTkU7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAoaWR4ICE9IC0xKSB7CisJCS8qIHJlc3RvcmUgdGhlIGZpcnN0IHJlc3VsdCAqLworCQlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF92YWx1ZXMocHIsIGNobik7CisJCWJsa2lkX3Byb2JlX2FwcGVuZF92YWx1ZXNfbGlzdChwciwgJnZhbHMpOworCQljaG4tPmlkeCA9IGlkeDsKKwl9CisKKwkvKgorCSAqIFRoZSBSQUlEIGRldmljZSBjb3VsZCBiZSBwYXJ0aXRpb25lZC4gVGhlIHByb2JsZW0gYXJlIFJBSUQxIGRldmljZXMKKwkgKiB3aGVyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIHZpc2libGUgZnJvbSB1bmRlcmx5aW5nIGRldmljZXMuIFdlCisJICogaGF2ZSB0byBpZ25vcmUgc3VjaCBwYXJ0aXRpb24gdGFibGVzLgorCSAqLworCWlmIChjaG4tPmlkeCA+PSAwICYmIGlkaW5mb3NbY2huLT5pZHhdLT51c2FnZSAmIEJMS0lEX1VTQUdFX1JBSUQpCisJCXByLT5wcm9iX2ZsYWdzIHw9IEJMS0lEX1BST0JFX0ZMX0lHTk9SRV9QVDsKKworCXJjID0gQkxLSURfUFJPQkVfT0s7Citkb25lOgorCWJsa2lkX3Byb2JlX2ZyZWVfdmFsdWVzX2xpc3QoJnZhbHMpOworCXJldHVybiByYzsKK30KKworaW50IGJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICp2ZXJzaW9uKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKworCWlmIChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1ZFUlNJT04pCisJCXJldHVybiBibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJWRVJTSU9OIiwKKwkJCQkoY29uc3QgdW5zaWduZWQgY2hhciAqKSB2ZXJzaW9uLAorCQkJCXN0cmxlbih2ZXJzaW9uKSArIDEpOworCXJldHVybiAwOworfQorCisKK2ludCBibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24oYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKwlpbnQgcmMgPSAwOworCisJaWYgKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfVkVSU0lPTikgeworCQl2YV9saXN0IGFwOworCisJCXZhX3N0YXJ0KGFwLCBmbXQpOworCQlyYyA9IGJsa2lkX3Byb2JlX3ZzcHJpbnRmX3ZhbHVlKHByLCAiVkVSU0lPTiIsIGZtdCwgYXApOworCQl2YV9lbmQoYXApOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgYmxraWRfcHJvYmVfc2V0X3VzYWdlKGJsa2lkX3Byb2JlIHByLCBpbnQgdXNhZ2UpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCWNoYXIgKnUgPSBOVUxMOworCisJaWYgKCEoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19VU0FHRSkpCisJCXJldHVybiAwOworCisJaWYgKHVzYWdlICYgQkxLSURfVVNBR0VfRklMRVNZU1RFTSkKKwkJdSA9ICJmaWxlc3lzdGVtIjsKKwllbHNlIGlmICh1c2FnZSAmIEJMS0lEX1VTQUdFX1JBSUQpCisJCXUgPSAicmFpZCI7CisJZWxzZSBpZiAodXNhZ2UgJiBCTEtJRF9VU0FHRV9DUllQVE8pCisJCXUgPSAiY3J5cHRvIjsKKwllbHNlIGlmICh1c2FnZSAmIEJMS0lEX1VTQUdFX09USEVSKQorCQl1ID0gIm90aGVyIjsKKwllbHNlCisJCXUgPSAidW5rbm93biI7CisKKwlyZXR1cm4gYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiVVNBR0UiLCAodW5zaWduZWQgY2hhciAqKSB1LCBzdHJsZW4odSkgKyAxKTsKK30KKworaW50IGJsa2lkX3Byb2JlX3NldF9pZF9sYWJlbChibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbikKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisJc3RydWN0IGJsa2lkX3BydmFsICp2OworCWludCByYyA9IDA7CisKKwlpZiAoIShjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX0xBQkVMKSkKKwkJcmV0dXJuIDA7CisKKwl2ID0gYmxraWRfcHJvYmVfYXNzaWduX3ZhbHVlKHByLCBuYW1lKTsKKwlpZiAoIXYpCisJCXJldHVybiAtRU5PTUVNOworCisJcmMgPSBibGtpZF9wcm9iZV92YWx1ZV9zZXRfZGF0YSh2LCBkYXRhLCBsZW4pOworCWlmICghcmMpIHsKKwkJLyogcmVtb3ZlIHdoaXRlIHNwYWNlcyAqLworCQl2LT5sZW4gPSBibGtpZF9ydHJpbV93aGl0ZXNwYWNlKHYtPmRhdGEpICsgMTsKKwkJaWYgKHYtPmxlbiA+IDEpCisJCQl2LT5sZW4gPSBibGtpZF9sdHJpbV93aGl0ZXNwYWNlKHYtPmRhdGEpICsgMTsKKwkJaWYgKHYtPmxlbiA+IDEpCisJCQlyZXR1cm4gMDsKKwl9CisKKwlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCXJldHVybiByYzsKKworfQorCitpbnQgYmxraWRfcHJvYmVfc2V0X3V0ZjhfaWRfbGFiZWwoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIHNpemVfdCBsZW4sIGludCBlbmMpCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCXN0cnVjdCBibGtpZF9wcnZhbCAqdjsKKwlpbnQgcmMgPSAwOworCisJaWYgKCEoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19MQUJFTCkpCisJCXJldHVybiAwOworCisJdiA9IGJsa2lkX3Byb2JlX2Fzc2lnbl92YWx1ZShwciwgbmFtZSk7CisJaWYgKCF2KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXYtPmRhdGEgPSBibGtpZF9lbmNvZGVfYWxsb2MobGVuLCAmdi0+bGVuKTsKKwlpZiAoIXYtPmRhdGEpCisJCXJjID0gLUVOT01FTTsKKworCWlmICghcmMpIHsKKwkJYmxraWRfZW5jb2RlX3RvX3V0ZjgoZW5jLCB2LT5kYXRhLCB2LT5sZW4sIGRhdGEsIGxlbik7CisJCXYtPmxlbiA9IGJsa2lkX3J0cmltX3doaXRlc3BhY2Uodi0+ZGF0YSkgKyAxOworCQlpZiAodi0+bGVuID4gMSkKKwkJCXYtPmxlbiA9IGJsa2lkX2x0cmltX3doaXRlc3BhY2Uodi0+ZGF0YSkgKyAxOworCQlpZiAodi0+bGVuID4gMSkKKwkJCXJldHVybiAwOworCX0KKworCWJsa2lkX3Byb2JlX2ZyZWVfdmFsdWUodik7CisJcmV0dXJuIHJjOworfQorCitpbnQgYmxraWRfcHJvYmVfc2V0X2xhYmVsKGJsa2lkX3Byb2JlIHByLCBjb25zdCB1bnNpZ25lZCBjaGFyICpsYWJlbCwgc2l6ZV90IGxlbikKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisJc3RydWN0IGJsa2lkX3BydmFsICp2OworCWludCByYyA9IDA7CisKKwlpZiAoKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfTEFCRUxSQVcpICYmCisJICAgIChyYyA9IGJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIkxBQkVMX1JBVyIsIGxhYmVsLCBsZW4pKSA8IDApCisJCXJldHVybiByYzsKKworCWlmICghKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfTEFCRUwpKQorCQlyZXR1cm4gMDsKKworCXYgPSBibGtpZF9wcm9iZV9hc3NpZ25fdmFsdWUocHIsICJMQUJFTCIpOworCWlmICghdikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyYyA9IGJsa2lkX3Byb2JlX3ZhbHVlX3NldF9kYXRhKHYsIGxhYmVsLCBsZW4pOworCWlmICghcmMpIHsKKwkJdi0+bGVuID0gYmxraWRfcnRyaW1fd2hpdGVzcGFjZSh2LT5kYXRhKSArIDE7CisJCWlmICh2LT5sZW4gPiAxKQorCQkJcmV0dXJuIDA7CisJfQorCisJYmxraWRfcHJvYmVfZnJlZV92YWx1ZSh2KTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zZXRfdXRmOGxhYmVsKGJsa2lkX3Byb2JlIHByLCBjb25zdCB1bnNpZ25lZCBjaGFyICpsYWJlbCwKKwkJCQlzaXplX3QgbGVuLCBpbnQgZW5jKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnY7CisJaW50IHJjID0gMDsKKworCWlmICgoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19MQUJFTFJBVykgJiYKKwkgICAgKHJjID0gYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiTEFCRUxfUkFXIiwgbGFiZWwsIGxlbikpIDwgMCkKKwkJcmV0dXJuIHJjOworCisJaWYgKCEoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19MQUJFTCkpCisJCXJldHVybiAwOworCisJdiA9IGJsa2lkX3Byb2JlX2Fzc2lnbl92YWx1ZShwciwgIkxBQkVMIik7CisJaWYgKCF2KQorCQlyZXR1cm4gLUVOT01FTTsKKworCXYtPmRhdGEgPSBibGtpZF9lbmNvZGVfYWxsb2MobGVuLCAmdi0+bGVuKTsKKwlpZiAoIXYtPmRhdGEpCisJCXJjID0gLUVOT01FTTsKKwlpZiAoIXJjKSB7CisJCWJsa2lkX2VuY29kZV90b191dGY4KGVuYywgdi0+ZGF0YSwgdi0+bGVuLCBsYWJlbCwgbGVuKTsKKwkJdi0+bGVuID0gYmxraWRfcnRyaW1fd2hpdGVzcGFjZSh2LT5kYXRhKSArIDE7CisJCWlmICh2LT5sZW4gPiAxKQorCQkJcmV0dXJuIDA7CisJfQorCisJYmxraWRfcHJvYmVfZnJlZV92YWx1ZSh2KTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zcHJpbnRmX3V1aWQoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKnV1aWQsCisJCQkJc2l6ZV90IGxlbiwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCXZhX2xpc3QgYXA7CisJaW50IHJjID0gMDsKKworCWlmIChibGtpZF91dWlkX2lzX2VtcHR5KHV1aWQsIGxlbikpCisJCXJldHVybiAwOworCisJaWYgKChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1VVSURSQVcpICYmCisJICAgIChyYyA9IGJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlVVSURfUkFXIiwgdXVpZCwgbGVuKSkgPCAwKQorCQlyZXR1cm4gcmM7CisKKwlpZiAoIShjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1VVSUQpKQorCQlyZXR1cm4gMDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXJjID0gYmxraWRfcHJvYmVfdnNwcmludGZfdmFsdWUocHIsICJVVUlEIiwgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCXJldHVybiByYzsKK30KKworLyogZnVuY3Rpb24gdG8gc2V0IFVVSURzIHRoYXQgYXJlIGluIHN1cGVyYmxvY2tzIHN0b3JlZCBhcyBzdHJpbmdzICovCitpbnQgYmxraWRfcHJvYmVfc3RybmNweV91dWlkKGJsa2lkX3Byb2JlIHByLCBjb25zdCB1bnNpZ25lZCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCit7CisJc3RydWN0IGJsa2lkX2NoYWluICpjaG4gPSBibGtpZF9wcm9iZV9nZXRfY2hhaW4ocHIpOworCXN0cnVjdCBibGtpZF9wcnZhbCAqdjsKKwlpbnQgcmMgPSAwOworCisJaWYgKHN0ciA9PSBOVUxMIHx8ICpzdHIgPT0gJ1wwJykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIWxlbikKKwkJbGVuID0gc3RybGVuKChjb25zdCBjaGFyICopIHN0cik7CisKKwlpZiAoKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfVVVJRFJBVykgJiYKKwkgICAgKHJjID0gYmxraWRfcHJvYmVfc2V0X3ZhbHVlKHByLCAiVVVJRF9SQVciLCBzdHIsIGxlbikpIDwgMCkKKwkJcmV0dXJuIHJjOworCisJaWYgKCEoY2huLT5mbGFncyAmIEJMS0lEX1NVQkxLU19VVUlEKSkKKwkJcmV0dXJuIDA7CisKKwl2ID0gYmxraWRfcHJvYmVfYXNzaWduX3ZhbHVlKHByLCAiVVVJRCIpOworCWlmICghdikKKwkJcmM9IC1FTk9NRU07CisJaWYgKCFyYykKKwkJcmMgPSBibGtpZF9wcm9iZV92YWx1ZV9zZXRfZGF0YSh2LCBzdHIsIGxlbik7CisJaWYgKCFyYykgeworCQl2LT5sZW4gPSBibGtpZF9ydHJpbV93aGl0ZXNwYWNlKHYtPmRhdGEpICsgMTsKKwkJaWYgKHYtPmxlbiA+IDEpCisJCQlyZXR1cm4gMDsKKwl9CisKKwlibGtpZF9wcm9iZV9mcmVlX3ZhbHVlKHYpOworCXJldHVybiByYzsKK30KKworLyogZGVmYXVsdCBfc2V0X3V1aWQgZnVuY3Rpb24gdG8gc2V0IERDRSBVVUlEcyAqLworaW50IGJsa2lkX3Byb2JlX3NldF91dWlkX2FzKGJsa2lkX3Byb2JlIHByLCBjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkLCBjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKwlzdHJ1Y3QgYmxraWRfcHJ2YWwgKnY7CisJaW50IHJjID0gMDsKKworCWlmIChibGtpZF91dWlkX2lzX2VtcHR5KHV1aWQsIDE2KSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIW5hbWUpIHsKKwkJaWYgKChjaG4tPmZsYWdzICYgQkxLSURfU1VCTEtTX1VVSURSQVcpICYmCisJCSAgICAocmMgPSBibGtpZF9wcm9iZV9zZXRfdmFsdWUocHIsICJVVUlEX1JBVyIsIHV1aWQsIDE2KSkgPCAwKQorCQkJcmV0dXJuIHJjOworCisJCWlmICghKGNobi0+ZmxhZ3MgJiBCTEtJRF9TVUJMS1NfVVVJRCkpCisJCQlyZXR1cm4gMDsKKworCQl2ID0gYmxraWRfcHJvYmVfYXNzaWduX3ZhbHVlKHByLCAiVVVJRCIpOworCX0gZWxzZQorCQl2ID0gYmxraWRfcHJvYmVfYXNzaWduX3ZhbHVlKHByLCBuYW1lKTsKKworCWlmICghdikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl2LT5sZW4gPSBVVUlEX1NUUl9MRU47CisJdi0+ZGF0YSA9IGNhbGxvYygxLCB2LT5sZW4pOworCWlmICghdi0+ZGF0YSkKKwkJcmMgPSAtRU5PTUVNOworCisJaWYgKCFyYykgeworCQlibGtpZF91bnBhcnNlX3V1aWQodXVpZCwgKGNoYXIgKikgdi0+ZGF0YSwgdi0+bGVuKTsKKwkJcmV0dXJuIDA7CisJfQorCisJYmxraWRfcHJvYmVfZnJlZV92YWx1ZSh2KTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBibGtpZF9wcm9iZV9zZXRfdXVpZChibGtpZF9wcm9iZSBwciwgY29uc3QgdW5zaWduZWQgY2hhciAqdXVpZCkKK3sKKwlyZXR1cm4gYmxraWRfcHJvYmVfc2V0X3V1aWRfYXMocHIsIHV1aWQsIE5VTEwpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3NldF9yZXF1ZXN0OgorICogQHByOiBwcm9iZQorICogQGZsYWdzOiBCTEtJRF9QUk9CUkVRXyogKGRlcHJlY2F0ZWQpIG9yIEJMS0lEX1NVQkxLU18qIGZsYWdzCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICoKKyAqIERlcHJlY2F0ZWQ6IFVzZSBibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MoKS4KKyAqLworaW50IGJsa2lkX3Byb2JlX3NldF9yZXF1ZXN0KGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIGJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwgZmxhZ3MpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcjoKKyAqIEBwcjogcHJvYmVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICoKKyAqIERlcHJlY2F0ZWQ6IFVzZSBibGtpZF9wcm9iZV9yZXNldF9zdXBlcmJsb2Nrc19maWx0ZXIoKS4KKyAqLworaW50IGJsa2lkX3Byb2JlX3Jlc2V0X2ZpbHRlcihibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9yZXNldF9maWx0ZXIocHIsIEJMS0lEX0NIQUlOX1NVQkxLUyk7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfaW52ZXJ0X2ZpbHRlcjoKKyAqIEBwcjogcHJvYmVyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciAtMSBpbiBjYXNlIG9mIGVycm9yLgorICoKKyAqIERlcHJlY2F0ZWQ6IFVzZSBibGtpZF9wcm9iZV9pbnZlcnRfc3VwZXJibG9ja3NfZmlsdGVyKCkuCisgKi8KK2ludCBibGtpZF9wcm9iZV9pbnZlcnRfZmlsdGVyKGJsa2lkX3Byb2JlIHByKQoreworCXJldHVybiBfX2Jsa2lkX3Byb2JlX2ludmVydF9maWx0ZXIocHIsIEJMS0lEX0NIQUlOX1NVQkxLUyk7Cit9CisKKy8qKgorICogYmxraWRfcHJvYmVfZmlsdGVyX3R5cGVzCisgKiBAcHI6IHByb2JlcgorICogQGZsYWc6IGZpbHRlciBCTEtJRF9GTFRSX3tOT1RJTixPTkxZSU59IGZsYWcKKyAqIEBuYW1lczogTlVMTCB0ZXJtaW5hdGVkIGFycmF5IG9mIHByb2JpbmcgZnVuY3Rpb24gbmFtZXMgKGUuZy4gInZmYXQiKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKgorICogRGVwcmVjYXRlZDogVXNlIGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc190eXBlcygpLgorICovCitpbnQgYmxraWRfcHJvYmVfZmlsdGVyX3R5cGVzKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZywgY2hhciAqbmFtZXNbXSkKK3sKKwlyZXR1cm4gX19ibGtpZF9wcm9iZV9maWx0ZXJfdHlwZXMocHIsIEJMS0lEX0NIQUlOX1NVQkxLUywgZmxhZywgbmFtZXMpOworfQorCisvKioKKyAqIGJsa2lkX3Byb2JlX2ZpbHRlcl91c2FnZQorICogQHByOiBwcm9iZXIKKyAqIEBmbGFnOiBmaWx0ZXIgQkxLSURfRkxUUl97Tk9USU4sT05MWUlOfSBmbGFnCisgKiBAdXNhZ2U6IEJMS0lEX1VTQUdFXyogZmxhZ3MKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKgorICogRGVwcmVjYXRlZDogVXNlIGJsa2lkX3Byb2JlX2ZpbHRlcl9zdXBlcmJsb2Nrc191c2FnZSgpLgorICovCitpbnQgYmxraWRfcHJvYmVfZmlsdGVyX3VzYWdlKGJsa2lkX3Byb2JlIHByLCBpbnQgZmxhZywgaW50IHVzYWdlKQoreworCXJldHVybiBibGtpZF9wcm9iZV9maWx0ZXJfc3VwZXJibG9ja3NfdXNhZ2UocHIsIGZsYWcsIHVzYWdlKTsKK30KKworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3VwZXJibG9ja3MuaCBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zdXBlcmJsb2Nrcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExYzE2ZTQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3VwZXJibG9ja3MuaApAQCAtMCwwICsxLDExMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgX0JMS0lEX1NVUEVSQkxPQ0tTX0gKKyNkZWZpbmUgX0JMS0lEX1NVUEVSQkxPQ0tTX0gKKworI2luY2x1ZGUgImJsa2lkUC5oIgorCitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBjcmFtZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3dhcF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzd3N1c3BlbmRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gYWRyYWlkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGRkZnJhaWRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaXN3cmFpZF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBqbXJhaWRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHNpcmFpZF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBudnJhaWRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gcGRjcmFpZF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzaWxyYWlkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZpYXJhaWRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbGludXhyYWlkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGV4dDRkZXZfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZXh0NF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleHQzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGV4dDJfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gamJkX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGpmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB4ZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8geGZzX2xvZ19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBleGZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGdmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBnZnMyX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHJvbWZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG9jZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gb2NmczJfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gb3JhY2xlYXNtX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHJlaXNlcl9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyByZWlzZXI0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGhmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBoZnNwbHVzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG50ZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gcmVmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBpc285NjYwX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHVkZl9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB2eGZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG1pbml4X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZmYXRfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdWZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGhwZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHZtMl9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBsdm0xX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHNuYXBjb3dfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdmVyaXR5X2hhc2hfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaW50ZWdyaXR5X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGx1a3NfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaGlnaHBvaW50Mzd4X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGhpZ2hwb2ludDQ1eF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzcXVhc2hmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzcXVhc2hmczNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbmV0d2FyZV9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzeXN2X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHhlbml4X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJ0cmZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHViaV9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB1Ymlmc19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB6ZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gYmZzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZtZnNfdm9sdW1lX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZtZnNfZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZHJiZF9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBkcmJkbWFuYWdlX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGRyYmRwcm94eV9kYXRhbG9nX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJlZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbmlsZnMyX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGV4ZmF0X2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGYyZnNfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gYmNhY2hlX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG1wb29sX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZkb19pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzdHJhdGlzX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGJpdGxvY2tlcl9pZGluZm87CitleHRlcm4gY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBhcGZzX2lkaW5mbzsKKworLyoKKyAqIHN1cGVyYmxvY2sgZnVuY3Rpb25zCisgKi8KK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X3ZlcnNpb24oYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKnZlcnNpb24pOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24oYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQorCQlfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMiwgMykpKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfbGFiZWwoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmxhYmVsLCBzaXplX3QgbGVuKTsKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfc2V0X3V0ZjhsYWJlbChibGtpZF9wcm9iZSBwciwgY29uc3QgdW5zaWduZWQgY2hhciAqbGFiZWwsCisgICAgICAgICAgICAgICAgc2l6ZV90IGxlbiwgaW50IGVuYyk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NwcmludGZfdXVpZChibGtpZF9wcm9iZSBwciwgY29uc3QgdW5zaWduZWQgY2hhciAqdXVpZCwKKyAgICAgICAgICAgICAgICBzaXplX3QgbGVuLCBjb25zdCBjaGFyICpmbXQsIC4uLikKKwkJX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDQsIDUpKSk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3N0cm5jcHlfdXVpZChibGtpZF9wcm9iZSBwciwgY29uc3QgdW5zaWduZWQgY2hhciAqc3RyLCBzaXplX3QgbGVuKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfdXVpZChibGtpZF9wcm9iZSBwciwgY29uc3QgdW5zaWduZWQgY2hhciAqdXVpZCk7CitleHRlcm4gaW50IGJsa2lkX3Byb2JlX3NldF91dWlkX2FzKGJsa2lkX3Byb2JlIHByLCBjb25zdCB1bnNpZ25lZCBjaGFyICp1dWlkLCBjb25zdCBjaGFyICpuYW1lKTsKKworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfaWRfbGFiZWwoYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgICAgIGNvbnN0IHVuc2lnbmVkIGNoYXIgKmRhdGEsIHNpemVfdCBsZW4pOworZXh0ZXJuIGludCBibGtpZF9wcm9iZV9zZXRfdXRmOF9pZF9sYWJlbChibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqbmFtZSwKKwkJCSAgICAgY29uc3QgdW5zaWduZWQgY2hhciAqZGF0YSwgc2l6ZV90IGxlbiwgaW50IGVuYyk7CisKK2V4dGVybiBpbnQgYmxraWRfcHJvYmVfaXNfYml0bG9ja2VyKGJsa2lkX3Byb2JlIHByKTsKKworI2VuZGlmIC8qIF9CTEtJRF9TVVBFUkJMT0NLU19IICovCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvc3dhcC5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N3YXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjIxMzkxCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N3YXAuYwpAQCAtMCwwICsxLDE3OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworLyogbGludXgtMi42L2luY2x1ZGUvbGludXgvc3dhcC5oICovCitzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMiB7CisgICAgIC8qCWNoYXIJCWJvb3RiaXRzWzEwMjRdOwkqLyAvKiBTcGFjZSBmb3IgZGlza2xhYmVsIGV0Yy4gKi8KKwl1aW50MzJfdAl2ZXJzaW9uOworCXVpbnQzMl90CWxhc3RwYWdlOworCXVpbnQzMl90CW5yX2JhZHBhZ2VzOworCXVuc2lnbmVkIGNoYXIJdXVpZFsxNl07CisJdW5zaWduZWQgY2hhcgl2b2x1bWVbMTZdOworCXVpbnQzMl90CXBhZGRpbmdbMTE3XTsKKwl1aW50MzJfdAliYWRwYWdlc1sxXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgUEFHRVNJWkVfTUlOCTB4ZmY2CS8qIDQwODYgKGFybSwgaTM4NiwgLi4uKSAqLworI2RlZmluZSBQQUdFU0laRV9NQVgJMHhmZmY2CS8qIDY1NTI2IChpYTY0KSAqLworCisjZGVmaW5lIFRPSV9NQUdJQ19TVFJJTkcJIlx4ZWRceGMzXHgwMlx4ZTlceDk4XHg1Nlx4ZTVceDBjIgorI2RlZmluZSBUT0lfTUFHSUNfU1RSTEVOCShzaXplb2YoVE9JX01BR0lDX1NUUklORykgLSAxKQorCitzdGF0aWMgaW50IHN3YXBfc2V0X2luZm8oYmxraWRfcHJvYmUgcHIsIGNvbnN0IGNoYXIgKnZlcnNpb24pCit7CisJc3RydWN0IHN3YXBfaGVhZGVyX3YxXzIgKmhkcjsKKworCS8qIFN3YXAgaGVhZGVyIGFsd2F5cyBsb2NhdGVkIGF0IG9mZnNldCBvZiAxMDI0IGJ5dGVzICovCisJaGRyID0gKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yICopIGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIDEwMjQsCisJCQkJc2l6ZW9mKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yKSk7CisJaWYgKCFoZHIpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkvKiBTV0FQU1BBQ0UyIC0gY2hlY2sgZm9yIHdyb25nIHZlcnNpb24gb3IgemVyb2VkIHBhZ2Vjb3VudCAqLworCWlmIChzdHJjbXAodmVyc2lvbiwgIjEiKSA9PSAwKSB7CisJCWlmIChoZHItPnZlcnNpb24gIT0gMSAmJiBzd2FiMzIoaGRyLT52ZXJzaW9uKSAhPSAxKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJpbmNvcnJlY3Qgc3dhcCB2ZXJzaW9uIikpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJaWYgKGhkci0+bGFzdHBhZ2UgPT0gMCkgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1Zygibm90IHNldCBsYXN0IHN3YXAgcGFnZSIpKTsKKwkJCXJldHVybiAxOworCQl9CisJfQorCisJLyogYXJiaXRyYXJ5IHNhbml0eSBjaGVjay4uIGlzIHRoZXJlIGFueSBnYXJiYWdlIGRvd24gdGhlcmU/ICovCisJaWYgKGhkci0+cGFkZGluZ1szMl0gPT0gMCAmJiBoZHItPnBhZGRpbmdbMzNdID09IDApIHsKKwkJaWYgKGhkci0+dm9sdW1lWzBdICYmIGJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgaGRyLT52b2x1bWUsCisJCQkJc2l6ZW9mKGhkci0+dm9sdW1lKSkgPCAwKQorCQkJcmV0dXJuIDE7CisJCWlmIChibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgaGRyLT51dWlkKSA8IDApCisJCQlyZXR1cm4gMTsKKwl9CisKKwlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgdmVyc2lvbik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfc3dhcChibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJdW5zaWduZWQgY2hhciAqYnVmOworCisJaWYgKCFtYWcpCisJCXJldHVybiAxOworCisJLyogVHV4T25JY2Uga2VlcHMgdmFsaWQgc3dhcCBoZWFkZXIgYXQgdGhlIGVuZCBvZiB0aGUgMXN0IHBhZ2UgKi8KKwlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAwLCBUT0lfTUFHSUNfU1RSTEVOKTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmIChtZW1jbXAoYnVmLCBUT0lfTUFHSUNfU1RSSU5HLCBUT0lfTUFHSUNfU1RSTEVOKSA9PSAwKQorCQlyZXR1cm4gMTsJLyogSWdub3JlIHN3YXAgc2lnbmF0dXJlLCBpdCdzIFR1eE9uSWNlICovCisKKwlpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCAiU1dBUC1TUEFDRSIsIG1hZy0+bGVuKSkgeworCQkvKiBzd2FwIHYwIGRvZXNuJ3Qgc3VwcG9ydCBMQUJFTCBvciBVVUlEICovCisJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiMCIpOworCQlyZXR1cm4gMDsKKworCX0gZWxzZSBpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCAiU1dBUFNQQUNFMiIsIG1hZy0+bGVuKSkKKwkJcmV0dXJuIHN3YXBfc2V0X2luZm8ocHIsICIxIik7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBwcm9iZV9zd3N1c3BlbmQoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCWlmICghbWFnKQorCQlyZXR1cm4gMTsKKwlpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCAiUzFTVVNQRU5EIiwgbWFnLT5sZW4pKQorCQlyZXR1cm4gc3dhcF9zZXRfaW5mbyhwciwgInMxc3VzcGVuZCIpOworCWlmICghbWVtY21wKG1hZy0+bWFnaWMsICJTMlNVU1BFTkQiLCBtYWctPmxlbikpCisJCXJldHVybiBzd2FwX3NldF9pbmZvKHByLCAiczJzdXNwZW5kIik7CisJaWYgKCFtZW1jbXAobWFnLT5tYWdpYywgIlVMU1VTUEVORCIsIG1hZy0+bGVuKSkKKwkJcmV0dXJuIHN3YXBfc2V0X2luZm8ocHIsICJ1bHN1c3BlbmQiKTsKKwlpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCBUT0lfTUFHSUNfU1RSSU5HLCBtYWctPmxlbikpCisJCXJldHVybiBzd2FwX3NldF9pbmZvKHByLCAidHV4b25pY2UiKTsKKwlpZiAoIW1lbWNtcChtYWctPm1hZ2ljLCAiTElOSElCMDAwMSIsIG1hZy0+bGVuKSkKKwkJcmV0dXJuIHN3YXBfc2V0X2luZm8ocHIsICJsaW5oaWIwMDAxIik7CisKKwlyZXR1cm4gMTsJLyogbm8gc2lnbmF0dXJlIGRldGVjdGVkICovCit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3dhcF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJzd2FwIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfT1RIRVIsCisJLnByb2JlZnVuYwk9IHByb2JlX3N3YXAsCisJLm1pbnN6CQk9IDEwICogNDA5NiwJLyogMTAgcGFnZXMgKi8KKwkubWFnaWNzCQk9CisJeworCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsICAweGZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsICAweGZmNiB9LAorCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsIDB4MWZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsIDB4MWZmNiB9LAorCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsIDB4M2ZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsIDB4M2ZmNiB9LAorCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsIDB4N2ZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsIDB4N2ZmNiB9LAorCQl7ICJTV0FQLVNQQUNFIiwgMTAsIDAsIDB4ZmZmNiB9LAorCQl7ICJTV0FQU1BBQ0UyIiwgMTAsIDAsIDB4ZmZmNiB9LAorCQl7IE5VTEwgfQorCX0KK307CisKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzd3N1c3BlbmRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAic3dzdXNwZW5kIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfT1RIRVIsCisJLnByb2JlZnVuYwk9IHByb2JlX3N3c3VzcGVuZCwKKwkubWluc3oJCT0gMTAgKiA0MDk2LAkvKiAxMCBwYWdlcyAqLworCS5tYWdpY3MJCT0KKwl7CisJCXsgVE9JX01BR0lDX1NUUklORywgVE9JX01BR0lDX1NUUkxFTiwgMCwgMCB9LAorCQl7ICJTMVNVU1BFTkQiLCA5LCAwLCAweGZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweGZmNiB9LAorCQl7ICJVTFNVU1BFTkQiLCA5LCAwLCAweGZmNiB9LAorCQl7ICJMSU5ISUIwMDAxIiwxMCwwLCAweGZmNiB9LAorCisJCXsgIlMxU1VTUEVORCIsIDksIDAsIDB4MWZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweDFmZjYgfSwKKwkJeyAiVUxTVVNQRU5EIiwgOSwgMCwgMHgxZmY2IH0sCisJCXsgIkxJTkhJQjAwMDEiLDEwLDAsIDB4MWZmNiB9LAorCisJCXsgIlMxU1VTUEVORCIsIDksIDAsIDB4M2ZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweDNmZjYgfSwKKwkJeyAiVUxTVVNQRU5EIiwgOSwgMCwgMHgzZmY2IH0sCisJCXsgIkxJTkhJQjAwMDEiLDEwLDAsIDB4M2ZmNiB9LAorCisJCXsgIlMxU1VTUEVORCIsIDksIDAsIDB4N2ZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweDdmZjYgfSwKKwkJeyAiVUxTVVNQRU5EIiwgOSwgMCwgMHg3ZmY2IH0sCisJCXsgIkxJTkhJQjAwMDEiLDEwLDAsIDB4N2ZmNiB9LAorCisJCXsgIlMxU1VTUEVORCIsIDksIDAsIDB4ZmZmNiB9LAorCQl7ICJTMlNVU1BFTkQiLCA5LCAwLCAweGZmZjYgfSwKKwkJeyAiVUxTVVNQRU5EIiwgOSwgMCwgMHhmZmY2IH0sCisJCXsgIkxJTkhJQjAwMDEiLDEwLDAsIDB4ZmZmNiB9LAorCisJCXsgTlVMTCB9CisJfQorfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3N5c3YuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zeXN2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDIxNjYwZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy9zeXN2LmMKQEAgLTAsMCArMSwxNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBpcyB3cml0dGVuIGZyb20gc2NyYXRjaCBhY2NvcmRpbmcgdG8gTGludXgga2VybmVsIGZzL3N5c3Yvc3VwZXIuYyBmaWxlLgorICogSXQgc2VlbXMgdGhhdCBzeXN2IHByb2JpbmcgY29kZSBpbiBsaWJ2b2x1bWVfaWQgYW5kIGFsc28gaW4gdGhlIG9yaWdpbmFsCisgKiBibGtpZCBpcyB1c2VsZXNzLgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworI2RlZmluZSBYRU5JWF9OSUNJTk9ECQkJCTEwMAorI2RlZmluZSBYRU5JWF9OSUNGUkVFCQkJCTEwMAorCitzdHJ1Y3QgeGVuaXhfc3VwZXJfYmxvY2sgeworCXVpbnQxNl90CXNfaXNpemU7CisJdWludDMyX3QJc19mc2l6ZTsKKwl1aW50MTZfdAlzX25mcmVlOworCXVpbnQzMl90CXNfZnJlZVtYRU5JWF9OSUNGUkVFXTsKKwl1aW50MTZfdAlzX25pbm9kZTsKKwl1aW50MTZfdAlzX2lub2RlW1hFTklYX05JQ0lOT0RdOworCXVpbnQ4X3QJCXNfZmxvY2s7CisJdWludDhfdAkJc19pbG9jazsKKwl1aW50OF90CQlzX2Ztb2Q7CisJdWludDhfdAkJc19yb25seTsKKwl1aW50MzJfdAlzX3RpbWU7CisJdWludDMyX3QJc190ZnJlZTsKKwl1aW50MTZfdAlzX3Rpbm9kZTsKKwl1aW50MTZfdAlzX2RpbmZvWzRdOworCXVpbnQ4X3QJCXNfZm5hbWVbNl07CisJdWludDhfdAkJc19mcGFja1s2XTsKKwl1aW50OF90CQlzX2NsZWFuOworCXVpbnQ4X3QJCXNfZmlsbFszNzFdOworCXVpbnQzMl90CXNfbWFnaWM7CisJdWludDMyX3QJc190eXBlOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworCisjZGVmaW5lIFNZU1ZfTklDSU5PRAkJCTEwMAorI2RlZmluZSBTWVNWX05JQ0ZSRUUJCQk1MAorCitzdHJ1Y3Qgc3lzdl9zdXBlcl9ibG9jaworeworCXVpbnQxNl90CXNfaXNpemU7CisJdWludDE2X3QJc19wYWQwOworCXVpbnQzMl90CXNfZnNpemU7CisJdWludDE2X3QJc19uZnJlZTsKKwl1aW50MTZfdAlzX3BhZDE7CisJdWludDMyX3QJc19mcmVlW1NZU1ZfTklDRlJFRV07CisJdWludDE2X3QJc19uaW5vZGU7CisJdWludDE2X3QJc19wYWQyOworCXVpbnQxNl90CXNfaW5vZGVbU1lTVl9OSUNJTk9EXTsKKwl1aW50OF90CQlzX2Zsb2NrOworCXVpbnQ4X3QJCXNfaWxvY2s7CisJdWludDhfdAkJc19mbW9kOworCXVpbnQ4X3QJCXNfcm9ubHk7CisJdWludDMyX3QJc190aW1lOworCXVpbnQxNl90CXNfZGluZm9bNF07CisJdWludDMyX3QJc190ZnJlZTsKKwl1aW50MTZfdAlzX3Rpbm9kZTsKKwl1aW50MTZfdAlzX3BhZDM7CisJdWludDhfdAkJc19mbmFtZVs2XTsKKwl1aW50OF90CQlzX2ZwYWNrWzZdOworCXVpbnQzMl90CXNfZmlsbFsxMl07CisJdWludDMyX3QJc19zdGF0ZTsKKwl1aW50MzJfdAlzX21hZ2ljOworCXVpbnQzMl90CXNfdHlwZTsKK307CisKK3N0YXRpYyBpbnQgcHJvYmVfeGVuaXgoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCB4ZW5peF9zdXBlcl9ibG9jayAqc2I7CisKKwlzYiA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgeGVuaXhfc3VwZXJfYmxvY2spOworCWlmICghc2IpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJYmxraWRfcHJvYmVfc2V0X2xhYmVsKHByLCBzYi0+c19mbmFtZSwgc2l6ZW9mKHNiLT5zX2ZuYW1lKSk7CisJcmV0dXJuIDA7Cit9CisKKyNkZWZpbmUgU1lTVl9CTE9DS19TSVpFCTEwMjQKKworLyogTm90ZSB0aGF0IHdlIGRvbid0IHByb2JlIGZvciBDb2hlcmVudCBGUywgdGhpcyBGUyBkb2VzIG5vdCBoYXZlCisgKiBtYWdpYyBzdHJpbmcuIChJdCByZXF1aXJlcyB0byBwcm9iZSBmbmFtZS9mcGFjayBmaWVsZC4uKQorICovCitzdGF0aWMgaW50IHByb2JlX3N5c3YoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3Qgc3lzdl9zdXBlcl9ibG9jayAqc2I7CisJaW50IGJsb2Nrc1tdID0gezAsIDksIDE1LCAxOH07CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShibG9ja3MpOyBpKyspIHsKKwkJaW50IG9mZiA9IGJsb2Nrc1tpXSAqIFNZU1ZfQkxPQ0tfU0laRSArIFNZU1ZfQkxPQ0tfU0laRS8yOworCisJCXNiID0gKHN0cnVjdCBzeXN2X3N1cGVyX2Jsb2NrICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlvZmYsCisJCQkJCXNpemVvZihzdHJ1Y3Qgc3lzdl9zdXBlcl9ibG9jaykpOworCQlpZiAoIXNiKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCQlpZiAoc2ItPnNfbWFnaWMgPT0gY3B1X3RvX2xlMzIoMHhmZDE4N2UyMCkgfHwKKwkJICAgIHNiLT5zX21hZ2ljID09IGNwdV90b19iZTMyKDB4ZmQxODdlMjApKSB7CisKKwkJCWlmIChibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIHNiLT5zX2ZuYW1lLAorCQkJCQkJc2l6ZW9mKHNiLT5zX2ZuYW1lKSkpCisJCQkJcmV0dXJuIDE7CisKKwkJCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsCisJCQkJCW9mZiArIG9mZnNldG9mKHN0cnVjdCBzeXN2X3N1cGVyX2Jsb2NrLAorCQkJCQkJCQlzX21hZ2ljKSwKKwkJCQkJc2l6ZW9mKHNiLT5zX21hZ2ljKSwKKwkJCQkJKHVuc2lnbmVkIGNoYXIgKikgJnNiLT5zX21hZ2ljKSkKKwkJCQlyZXR1cm4gMTsKKworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8geGVuaXhfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAieGVuaXgiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV94ZW5peCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDJiXHg1NVx4NDQiLCAubGVuID0gMywgLmtib2ZmID0gMSwgLnNib2ZmID0gMHg0MDAgfSwKKwkJeyAubWFnaWMgPSAiXHg0NFx4NTVceDJiIiwgLmxlbiA9IDMsIC5rYm9mZiA9IDEsIC5zYm9mZiA9IDB4NDAwIH0sCisJCXsgTlVMTCB9CisJfQorfTsKKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzeXN2X2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gInN5c3YiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9zeXN2LAorCisJLyogU1lTViBpcyBCRSBhbmQgTEUgYW5kIHN1cGVyYmxvY2sgY291bGQgYmUgb24gZm91ciBwb3NpdGlvbnMuIEl0J3MKKwkgKiBzaW1wbGVyIHRvIHByb2JlIGZvciB0aGUgbWFnaWMgc3RyaW5nIGJ5IC5wcm9iZWZ1bmMoKS4KKwkgKi8KKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91YmkuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91YmkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzM5YzMyCi0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3ViaS5jCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgUmFmYcWCIE1pxYJlY2tpIDxyYWZhbEBtaWxlY2tpLnBsPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IHViaV9lY19oZHIgeworCXVpbnQzMl90CW1hZ2ljOworCXVpbnQ4X3QJCXZlcnNpb247CisJdWludDhfdAkJcGFkZGluZzFbM107CisJdWludDY0X3QJZWM7CisJdWludDMyX3QJdmlkX2hkcl9vZmZzZXQ7CisJdWludDMyX3QJZGF0YV9vZmZzZXQ7CisJdWludDMyX3QJaW1hZ2Vfc2VxOworCXVpbnQ4X3QJCXBhZGRpbmcyWzMyXTsKKwl1aW50MzJfdAloZHJfY3JjOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV91YmkoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCB1YmlfZWNfaGRyICpoZHI7CisKKwloZHIgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHViaV9lY19oZHIpOworCWlmICghaGRyKQorCQlyZXR1cm4gLTE7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIldSIsIGhkci0+dmVyc2lvbik7CisJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLCAodW5zaWduZWQgY2hhciAqKSZoZHItPmltYWdlX3NlcSwgNCwgIiV1IiwKKwkJCQkgYmUzMl90b19jcHUoaGRyLT5pbWFnZV9zZXEpKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB1YmlfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAidWJpIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdWJpLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlVCSSMiLCAubGVuID0gNCB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWJpZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91Ymlmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjODQyNjAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWJpZnMuYwpAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBDb3JlbnRpbiBDaGFyeSA8Y29yZW50aW5jakBpa3NhaWYubmV0PgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworLyoKKyAqIHN0cnVjdCB1Ymlmc19jaCAtIGNvbW1vbiBoZWFkZXIgbm9kZS4KKyAqIEBtYWdpYzogVUJJRlMgbm9kZSBtYWdpYyBudW1iZXIgKCVVQklGU19OT0RFX01BR0lDKQorICogQGNyYzogQ1JDLTMyIGNoZWNrc3VtIG9mIHRoZSBub2RlIGhlYWRlcgorICogQHNxbnVtOiBzZXF1ZW5jZSBudW1iZXIKKyAqIEBsZW46IGZ1bGwgbm9kZSBsZW5ndGgKKyAqIEBub2RlX3R5cGU6IG5vZGUgdHlwZQorICogQGdyb3VwX3R5cGU6IG5vZGUgZ3JvdXAgdHlwZQorICogQHBhZGRpbmc6IHJlc2VydmVkIGZvciBmdXR1cmUsIHplcm9lcworICoKKyAqIEV2ZXJ5IFVCSUZTIG5vZGUgc3RhcnRzIHdpdGggdGhpcyBjb21tb24gcGFydC4gSWYgdGhlIG5vZGUgaGFzIGEga2V5LCB0aGUKKyAqIGtleSBhbHdheXMgZ29lcyBuZXh0LgorICovCitzdHJ1Y3QgdWJpZnNfY2ggeworCXVpbnQzMl90IG1hZ2ljOworCXVpbnQzMl90IGNyYzsKKwl1aW50NjRfdCBzcW51bTsKKwl1aW50MzJfdCBsZW47CisJdWludDhfdCBub2RlX3R5cGU7CisJdWludDhfdCBncm91cF90eXBlOworCXVpbnQ4X3QgcGFkZGluZ1syXTsKK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKgorICogc3RydWN0IHViaWZzX3NiX25vZGUgLSBzdXBlcmJsb2NrIG5vZGUuCisgKiBAY2g6IGNvbW1vbiBoZWFkZXIKKyAqIEBwYWRkaW5nOiByZXNlcnZlZCBmb3IgZnV0dXJlLCB6ZXJvZXMKKyAqIEBrZXlfaGFzaDogdHlwZSBvZiBoYXNoIGZ1bmN0aW9uIHVzZWQgaW4ga2V5cworICogQGtleV9mbXQ6IGZvcm1hdCBvZiB0aGUga2V5CisgKiBAZmxhZ3M6IGZpbGUtc3lzdGVtIGZsYWdzICglVUJJRlNfRkxHX0JJR0xQVCwgZXRjKQorICogQG1pbl9pb19zaXplOiBtaW5pbWFsIGlucHV0L291dHB1dCB1bml0IHNpemUKKyAqIEBsZWJfc2l6ZTogbG9naWNhbCBlcmFzZWJsb2NrIHNpemUgaW4gYnl0ZXMKKyAqIEBsZWJfY250OiBjb3VudCBvZiBMRUJzIHVzZWQgYnkgZmlsZS1zeXN0ZW0KKyAqIEBtYXhfbGViX2NudDogbWF4aW11bSBjb3VudCBvZiBMRUJzIHVzZWQgYnkgZmlsZS1zeXN0ZW0KKyAqIEBtYXhfYnVkX2J5dGVzOiBtYXhpbXVtIGFtb3VudCBvZiBkYXRhIHN0b3JlZCBpbiBidWRzCisgKiBAbG9nX2xlYnM6IGxvZyBzaXplIGluIGxvZ2ljYWwgZXJhc2VibG9ja3MKKyAqIEBscHRfbGViczogbnVtYmVyIG9mIExFQnMgdXNlZCBmb3IgbHByb3BzIHRhYmxlCisgKiBAb3JwaF9sZWJzOiBudW1iZXIgb2YgTEVCcyB1c2VkIGZvciByZWNvcmRpbmcgb3JwaGFucworICogQGpoZWFkX2NudDogY291bnQgb2Ygam91cm5hbCBoZWFkcworICogQGZhbm91dDogdHJlZSBmYW5vdXQgKG1heC4gbnVtYmVyIG9mIGxpbmtzIHBlciBpbmRleGluZyBub2RlKQorICogQGxzYXZlX2NudDogbnVtYmVyIG9mIExFQiBudW1iZXJzIGluIExQVCdzIHNhdmUgdGFibGUKKyAqIEBmbXRfdmVyc2lvbjogVUJJRlMgb24tZmxhc2ggZm9ybWF0IHZlcnNpb24KKyAqIEBkZWZhdWx0X2NvbXByOiBkZWZhdWx0IGNvbXByZXNzaW9uIGFsZ29yaXRobSAoJVVCSUZTX0NPTVBSX0xaTywgZXRjKQorICogQHBhZGRpbmcxOiByZXNlcnZlZCBmb3IgZnV0dXJlLCB6ZXJvZXMKKyAqIEBycF91aWQ6IHJlc2VydmUgcG9vbCBVSUQKKyAqIEBycF9naWQ6IHJlc2VydmUgcG9vbCBHSUQKKyAqIEBycF9zaXplOiBzaXplIG9mIHRoZSByZXNlcnZlZCBwb29sIGluIGJ5dGVzCisgKiBAcGFkZGluZzI6IHJlc2VydmVkIGZvciBmdXR1cmUsIHplcm9lcworICogQHRpbWVfZ3JhbjogdGltZSBncmFudWxhcml0eSBpbiBuYW5vc2Vjb25kcworICogQHV1aWQ6IFVVSUQgZ2VuZXJhdGVkIHdoZW4gdGhlIGZpbGUgc3lzdGVtIGltYWdlIHdhcyBjcmVhdGVkCisgKiBAcm9fY29tcGF0X3ZlcnNpb246IFVCSUZTIFIvTyBjb21wYXRpYmlsaXR5IHZlcnNpb24KKyAqLworc3RydWN0IHViaWZzX3NiX25vZGUgeworCXN0cnVjdCB1Ymlmc19jaCBjaDsKKwl1aW50OF90IHBhZGRpbmdbMl07CisJdWludDhfdCBrZXlfaGFzaDsKKwl1aW50OF90IGtleV9mbXQ7CisJdWludDMyX3QgZmxhZ3M7CisJdWludDMyX3QgbWluX2lvX3NpemU7CisJdWludDMyX3QgbGViX3NpemU7CisJdWludDMyX3QgbGViX2NudDsKKwl1aW50MzJfdCBtYXhfbGViX2NudDsKKwl1aW50NjRfdCBtYXhfYnVkX2J5dGVzOworCXVpbnQzMl90IGxvZ19sZWJzOworCXVpbnQzMl90IGxwdF9sZWJzOworCXVpbnQzMl90IG9ycGhfbGViczsKKwl1aW50MzJfdCBqaGVhZF9jbnQ7CisJdWludDMyX3QgZmFub3V0OworCXVpbnQzMl90IGxzYXZlX2NudDsKKwl1aW50MzJfdCBmbXRfdmVyc2lvbjsKKwl1aW50MTZfdCBkZWZhdWx0X2NvbXByOworCXVpbnQ4X3QgcGFkZGluZzFbMl07CisJdWludDMyX3QgcnBfdWlkOworCXVpbnQzMl90IHJwX2dpZDsKKwl1aW50NjRfdCBycF9zaXplOworCXVpbnQzMl90IHRpbWVfZ3JhbjsKKwl1aW50OF90IHV1aWRbMTZdOworCXVpbnQzMl90IHJvX2NvbXBhdF92ZXJzaW9uOworCXVpbnQ4X3QgcGFkZGluZzJbMzk2OF07Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV91YmlmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IHViaWZzX3NiX25vZGUgKnNiOworCisJc2IgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHViaWZzX3NiX25vZGUpOworCWlmICghc2IpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlibGtpZF9wcm9iZV9zZXRfdXVpZChwciwgc2ItPnV1aWQpOworCWJsa2lkX3Byb2JlX3NwcmludGZfdmVyc2lvbihwciwgInclZHIlZCIsCisJCQlsZTMyX3RvX2NwdShzYi0+Zm10X3ZlcnNpb24pLAorCQkJbGUzMl90b19jcHUoc2ItPnJvX2NvbXBhdF92ZXJzaW9uKSk7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdWJpZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAidWJpZnMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV91YmlmcywKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJceDMxXHgxOFx4MTBceDA2IiwgLmxlbiA9IDQgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3VkZi5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3VkZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZTc5ZGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWRmLmMKQEAgLTAsMCArMSw0ODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgYnkgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMgYnkgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDAxIGJ5IEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTcgUGFsaSBSb2jDoXIgPHBhbGkucm9oYXJAZ21haWwuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKKyNkZWZpbmUgdWRmX2NpZF90b19lbmMoY2lkKSAoKGNpZCkgPT0gOCA/IEJMS0lEX0VOQ19MQVRJTjEgOiAoY2lkKSA9PSAxNiA/IEJMS0lEX0VOQ19VVEYxNkJFIDogLTEpCisKK3N0cnVjdCBkc3RyaW5nMTI4IHsKKwl1aW50OF90CWNpZDsKKwl1aW50OF90CWNbMTI2XTsKKwl1aW50OF90CWNsZW47Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCitzdHJ1Y3QgZHN0cmluZzMyIHsKKwl1aW50OF90CWNpZDsKKwl1aW50OF90CWNbMzBdOworCXVpbnQ4X3QJY2xlbjsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCB2b2x1bWVfZGVzY3JpcHRvciB7CisJc3RydWN0IGRlc2NyaXB0b3JfdGFnIHsKKwkJdWludDE2X3QJaWQ7CisJCXVpbnQxNl90CXZlcnNpb247CisJCXVpbnQ4X3QJCWNoZWNrc3VtOworCQl1aW50OF90CQlyZXNlcnZlZDsKKwkJdWludDE2X3QJc2VyaWFsOworCQl1aW50MTZfdAljcmM7CisJCXVpbnQxNl90CWNyY19sZW47CisJCXVpbnQzMl90CWxvY2F0aW9uOworCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgdGFnOworCisJdW5pb24geworCQlzdHJ1Y3QgYW5jaG9yX2Rlc2NyaXB0b3IgeworCQkJdWludDMyX3QJbGVuZ3RoOworCQkJdWludDMyX3QJbG9jYXRpb247CisJCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgYW5jaG9yOworCisJCXN0cnVjdCBwcmltYXJ5X2Rlc2NyaXB0b3IgeworCQkJdWludDMyX3QJc2VxX251bTsKKwkJCXVpbnQzMl90CWRlc2NfbnVtOworCQkJc3RydWN0IGRzdHJpbmczMiBpZGVudDsKKwkJCXVpbnQxNl90CXZkc19udW07CisJCQl1aW50MTZfdAltYXhfdm9sX3NlcTsKKwkJCXVpbnQxNl90CWljaGdfbHZsOworCQkJdWludDE2X3QJbWF4X2ljaGdfbHZsOworCQkJdWludDMyX3QJY2hhcnNldF9saXN0OworCQkJdWludDMyX3QJbWF4X2NoYXJzZXRfbGlzdDsKKwkJCXN0cnVjdCBkc3RyaW5nMTI4IHZvbHNldF9pZDsKKwkJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBwcmltYXJ5OworCisJCXN0cnVjdCBsb2dpY2FsX2Rlc2NyaXB0b3IgeworCQkJdWludDMyX3QJc2VxX251bTsKKwkJCXVpbnQ4X3QJCWRlc2NfY2hhcnNldFs2NF07CisJCQlzdHJ1Y3QgZHN0cmluZzEyOCBsb2d2b2xfaWQ7CisJCQl1aW50MzJfdAlsb2dpY2FsX2Jsb2Nrc2l6ZTsKKwkJCXVpbnQ4X3QJCWRvbWFpbl9pZF9mbGFnczsKKwkJCWNoYXIJCWRvbWFpbl9pZFsyM107CisJCQl1aW50MTZfdAl1ZGZfcmV2OworCQkJdWludDhfdAkJZG9tYWluX3N1ZmZpeF9mbGFnczsKKwkJCXVpbnQ4X3QJCXJlc2VydmVkWzVdOworCQkJdWludDhfdAkJbG9naWNhbF9jb250ZW50c191c2VbMTZdOworCQkJdWludDMyX3QJbWFwX3RhYmxlX2xlbmd0aDsKKwkJCXVpbnQzMl90CW51bV9wYXJ0aXRpb25fbWFwczsKKwkJCXVpbnQ4X3QJCWltcF9pZFszMl07CisJCQl1aW50OF90CQlpbXBfdXNlWzEyOF07CisJCQl1aW50MzJfdAlsdmlkX2xlbmd0aDsKKwkJCXVpbnQzMl90CWx2aWRfbG9jYXRpb247CisJCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgbG9naWNhbDsKKworCQlzdHJ1Y3QgbG9naWNhbF92b2xfaW50ZWdfZGVzY3JpcHRvciB7CisJCQl1aW50OF90CQlyZWNvcmRpbmdfZGF0ZVsxMl07CisJCQl1aW50MzJfdAl0eXBlOworCQkJdWludDMyX3QJbmV4dF9sdmlkX2xlbmd0aDsKKwkJCXVpbnQzMl90CW5leHRfbHZpZF9sb2NhdGlvbjsKKwkJCXVpbnQ4X3QJCWxvZ2ljYWxfY29udGVudHNfdXNlWzMyXTsKKwkJCXVpbnQzMl90CW51bV9wYXJ0aXRpb25zOworCQkJdWludDMyX3QJaW1wX3VzZV9sZW5ndGg7CisJCX0gX19hdHRyaWJ1dGVfXygocGFja2VkKSkgbG9naWNhbF92b2xfaW50ZWc7CisJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSB0eXBlOworCit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIFRBR19JRF9QVkQgIDEKKyNkZWZpbmUgVEFHX0lEX0FWRFAgMgorI2RlZmluZSBUQUdfSURfTFZEICA2CisjZGVmaW5lIFRBR19JRF9URCAgIDgKKyNkZWZpbmUgVEFHX0lEX0xWSUQgOQorCitzdHJ1Y3Qgdm9sdW1lX3N0cnVjdHVyZV9kZXNjcmlwdG9yIHsKKwl1aW50OF90CQl0eXBlOworCXVpbnQ4X3QJCWlkWzVdOworCXVpbnQ4X3QJCXZlcnNpb247Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIFVERl9WU0RfT0ZGU0VUCQkJMHg4MDAwTEwKKworc3RydWN0IGxvZ2ljYWxfdm9sX2ludGVnX2Rlc2NyaXB0b3JfaW1wX3VzZQoreworCXVpbnQ4X3QJCWltcF9pZFszMl07CisJdWludDMyX3QJbnVtX2ZpbGVzOworCXVpbnQzMl90CW51bV9kaXJzOworCXVpbnQxNl90CW1pbl91ZGZfcmVhZF9yZXY7CisJdWludDE2X3QJbWluX3VkZl93cml0ZV9yZXY7CisJdWludDE2X3QJbWF4X3VkZl93cml0ZV9yZXY7Cit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworI2RlZmluZSBVREZfTFZJRElVX09GRlNFVCh2ZCkgKHNpemVvZigodmQpLnRhZykgKyBzaXplb2YoKHZkKS50eXBlLmxvZ2ljYWxfdm9sX2ludGVnKSArIDIgKiA0ICogbGUzMl90b19jcHUoKHZkKS50eXBlLmxvZ2ljYWxfdm9sX2ludGVnLm51bV9wYXJ0aXRpb25zKSkKKyNkZWZpbmUgVURGX0xWSURJVV9MRU5HVEgodmQpIChsZTMyX3RvX2NwdSgodmQpLnR5cGUubG9naWNhbF92b2xfaW50ZWcuaW1wX3VzZV9sZW5ndGgpKQorCitzdGF0aWMgaW5saW5lIGludCBnZW5fdXVpZF9mcm9tX3ZvbHNldF9pZCh1bnNpZ25lZCBjaGFyIHV1aWRbMTddLCBzdHJ1Y3QgZHN0cmluZzEyOCAqdm9sc2V0X2lkKQoreworCWludCBlbmM7CisJc2l6ZV90IGk7CisJc2l6ZV90IGxlbjsKKwlzaXplX3QgY2xlbjsKKwlzaXplX3Qgbm9uaGV4cG9zOworCXVuc2lnbmVkIGNoYXIgYnVmWzE3XTsKKworCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKKworCWNsZW4gPSB2b2xzZXRfaWQtPmNsZW47CisJaWYgKGNsZW4gPiAwKQorCQktLWNsZW47CisJaWYgKGNsZW4gPiBzaXplb2Yodm9sc2V0X2lkLT5jKSkKKwkJY2xlbiA9IHNpemVvZih2b2xzZXRfaWQtPmMpOworCisJZW5jID0gdWRmX2NpZF90b19lbmModm9sc2V0X2lkLT5jaWQpOworCWlmIChlbmMgPT0gLTEpCisJCXJldHVybiAtMTsKKworCWxlbiA9IGJsa2lkX2VuY29kZV90b191dGY4KGVuYywgYnVmLCBzaXplb2YoYnVmKSwgdm9sc2V0X2lkLT5jLCBjbGVuKTsKKwlpZiAobGVuIDwgOCkKKwkJcmV0dXJuIC0xOworCisJbm9uaGV4cG9zID0gMTY7CisJZm9yIChpID0gMDsgaSA8IDE2OyArK2kpIHsKKwkJaWYgKCFpc3hkaWdpdChidWZbaV0pKSB7CisJCQlub25oZXhwb3MgPSBpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAobm9uaGV4cG9zIDwgOCkgeworCQlzbnByaW50ZigoY2hhciAqKSB1dWlkLCAxNywgIiUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiwKKwkJCWJ1ZlswXSwgYnVmWzFdLCBidWZbMl0sIGJ1ZlszXSwKKwkJCWJ1Zls0XSwgYnVmWzVdLCBidWZbNl0sIGJ1Zls3XSk7CisJfSBlbHNlIGlmIChub25oZXhwb3MgPCAxNikgeworCQlmb3IgKGkgPSAwOyBpIDwgODsgKytpKQorCQkJdXVpZFtpXSA9IHRvbG93ZXIoYnVmW2ldKTsKKwkJc25wcmludGYoKGNoYXIgKikgdXVpZCArIDgsIDksICIlMDJ4JTAyeCUwMnglMDJ4IiwKKwkJCWJ1Zls4XSwgYnVmWzldLCBidWZbMTBdLCBidWZbMTFdKTsKKwl9IGVsc2UgeworCQlmb3IgKGkgPSAwOyBpIDwgMTY7ICsraSkKKwkJCXV1aWRbaV0gPSB0b2xvd2VyKGJ1ZltpXSk7CisJCXV1aWRbMTZdID0gMDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9iZV91ZGYoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3Qgdm9sdW1lX2Rlc2NyaXB0b3IgKnZkOworCXN0cnVjdCB2b2x1bWVfc3RydWN0dXJlX2Rlc2NyaXB0b3IgKnZzZDsKKwlzdHJ1Y3QgbG9naWNhbF92b2xfaW50ZWdfZGVzY3JpcHRvcl9pbXBfdXNlICpsdmlkaXU7CisJdWludDMyX3QgbHZpZF9sZW4gPSAwOworCXVpbnQzMl90IGx2aWRfbG9jID0gMDsKKwl1aW50MzJfdCBiczsKKwl1aW50MzJfdCBiOworCXVpbnQxNl90IHR5cGU7CisJdWludDMyX3QgY291bnQ7CisJdWludDMyX3QgbG9jOworCXNpemVfdCBpOworCXVpbnQzMl90IHZzZF9sZW47CisJdWludDE2X3QgdWRmX3JldiA9IDA7CisJaW50IHZzZF8yMDQ4X3ZhbGlkID0gLTE7CisJaW50IGhhdmVfbGFiZWwgPSAwOworCWludCBoYXZlX3V1aWQgPSAwOworCWludCBoYXZlX2xvZ3ZvbGlkID0gMDsKKwlpbnQgaGF2ZV92b2xpZCA9IDA7CisJaW50IGhhdmVfdm9sc2V0aWQgPSAwOworCisJLyogVGhlIGJsb2NrIHNpemUgb2YgYSBVREYgZmlsZXN5c3RlbSBpcyB0aGF0IG9mIHRoZSB1bmRlcmx5aW5nCisJICogc3RvcmFnZTsgd2UgY2hlY2sgbGF0ZXIgb24gZm9yIHRoZSBzcGVjaWFsIGNhc2Ugb2YgaW1hZ2UgZmlsZXMsCisJICogd2hpY2ggbWF5IGhhdmUgYW55IGJsb2NrIHNpemUgdmFsaWQgZm9yIFVERiBmaWxlc3lzdGVtICovCisJdWludDMyX3QgcGJzW10gPSB7IDAsIDUxMiwgMTAyNCwgMjA0OCwgNDA5NiB9OworCXBic1swXSA9IGJsa2lkX3Byb2JlX2dldF9zZWN0b3JzaXplKHByKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBicyk7IGkrKykgeworCQkvKiBEbyBub3QgdHJ5IHdpdGggYmxvY2sgc2l6ZSBzYW1lIGFzIHNlY3RvciBzaXplIHR3byB0aW1lcyAqLworCQlpZiAoaSAhPSAwICYmIHBic1swXSA9PSBwYnNbaV0pCisJCQljb250aW51ZTsKKworCQkvKiBFQ01BLTE2NyAyLzguNCwgMi85LjE6IEVhY2ggVlNEIGlzIGVpdGhlciAyMDQ4IGJ5dGVzIGxvbmcgb3IKKwkJICogaXRzIHNpemUgaXMgc2FtZSBhcyBibG9ja3NpemUgKGZvciBibG9ja3NpemUgPiAyMDQ4IGJ5dGVzKQorCQkgKiBwbHVzIHBhZGRlZCB3aXRoIHplcm9zICovCisJCXZzZF9sZW4gPSBwYnNbaV0gPiAyMDQ4ID8gcGJzW2ldIDogMjA0ODsKKworCQkvKiBQcm9jZXNzIDIwNDggYnl0ZXMgbG9uZyBWU0Qgb25seSBvbmNlICovCisJCWlmICh2c2RfbGVuID09IDIwNDgpIHsKKwkJCWlmICh2c2RfMjA0OF92YWxpZCA9PSAwKQorCQkJCWNvbnRpbnVlOworCQkJZWxzZSBpZiAodnNkXzIwNDhfdmFsaWQgPT0gMSkKKwkJCQlnb3RvIGFuY2hvcjsKKwkJfQorCisJCS8qIENoZWNrIGZvciBhIFZvbHVtZSBTdHJ1Y3R1cmUgRGVzY3JpcHRvciAoVlNEKSAqLworCQlmb3IgKGIgPSAwOyBiIDwgNjQ7IGIrKykgeworCQkJdnNkID0gKHN0cnVjdCB2b2x1bWVfc3RydWN0dXJlX2Rlc2NyaXB0b3IgKikKKwkJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQkJVURGX1ZTRF9PRkZTRVQgKyBiICogdnNkX2xlbiwKKwkJCQkJCXNpemVvZigqdnNkKSk7CisJCQlpZiAoIXZzZCkKKwkJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCQkJaWYgKHZzZC0+aWRbMF0gPT0gJ1wwJykKKwkJCQlicmVhazsKKwkJCWlmIChtZW1jbXAodnNkLT5pZCwgIk5TUjAyIiwgNSkgPT0gMCB8fAorCQkJICAgIG1lbWNtcCh2c2QtPmlkLCAiTlNSMDMiLCA1KSA9PSAwKQorCQkJCWdvdG8gYW5jaG9yOworCQkJZWxzZSBpZiAobWVtY21wKHZzZC0+aWQsICJCRUEwMSIsIDUpICE9IDAgJiYKKwkJCSAgICAgICAgIG1lbWNtcCh2c2QtPmlkLCAiQk9PVDIiLCA1KSAhPSAwICYmCisJCQkgICAgICAgICBtZW1jbXAodnNkLT5pZCwgIkNEMDAxIiwgNSkgIT0gMCAmJgorCQkJICAgICAgICAgbWVtY21wKHZzZC0+aWQsICJDRFcwMiIsIDUpICE9IDAgJiYKKwkJCSAgICAgICAgIG1lbWNtcCh2c2QtPmlkLCAiVEVBMDEiLCA1KSAhPSAwKQorCQkJCS8qIEVDTUEtMTY3IDIvOC4zLjE6IFRoZSB2b2x1bWUgcmVjb2duaXRpb24gc2VxdWVuY2UgaXMKKwkJCQkgKiB0ZXJtaW5hdGVkIGJ5IHRoZSBmaXJzdCBzZWN0b3Igd2hpY2ggaXMgbm90IGEgdmFsaWQKKwkJCQkgKiBkZXNjcmlwdG9yLgorCQkJCSAqIFVERi0yLjYwIDIuMS43OiBVREYgMi4wMCBhbmQgbG93ZXIgcmV2aXNpb25zIGRvIG5vdAorCQkJCSAqIGhhdmUgcmVxdWlyZW1lbnQgdGhhdCBOU1IgZGVzY3JpdG9yIGlzIGluIEV4dGVuZGVkIEFyZWEKKwkJCQkgKiAoYmV0d2VlbiBCRUEwMSBhbmQgVEVBMDEpIGFuZCB0aGF0IHRoZXJlIGlzIG9ubHkgb25lCisJCQkJICogRXh0ZW5kZWQgQXJlYS4gU28gZG8gbm90IHN0b3Agc2Nhbm5pbmcgYWZ0ZXIgVEVBMDEuICovCisJCQkJYnJlYWs7CisJCX0KKworCQlpZiAodnNkX2xlbiA9PSAyMDQ4KQorCQkJdnNkXzIwNDhfdmFsaWQgPSAwOworCisJCS8qIE5TUiB3YXMgbm90IGZvdW5kLCB0cnkgd2l0aCBuZXh0IGJsb2NrIHNpemUgKi8KKwkJY29udGludWU7CisKK2FuY2hvcjoKKwkJaWYgKHZzZF9sZW4gPT0gMjA0OCkKKwkJCXZzZF8yMDQ4X3ZhbGlkID0gMTsKKworCQkvKiBSZWFkIEFuY2hvciBWb2x1bWUgRGVzY3JpcHRvciAoQVZEUCksIGRldGVjdCBibG9jayBzaXplICovCisJCXZkID0gKHN0cnVjdCB2b2x1bWVfZGVzY3JpcHRvciAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgMjU2ICogcGJzW2ldLCBzaXplb2YoKnZkKSk7CisJCWlmICghdmQpCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJCS8qIENoZWNrIHRoYXQgd2UgcmVhZCBjb3JyZWN0IHNlY3RvciBhbmQgZGV0ZWN0ZWQgY29ycmVjdCBibG9jayBzaXplICovCisJCWlmIChsZTMyX3RvX2NwdSh2ZC0+dGFnLmxvY2F0aW9uKSAhPSAyNTYpCisJCQljb250aW51ZTsKKworCQl0eXBlID0gbGUxNl90b19jcHUodmQtPnRhZy5pZCk7CisJCWlmICh0eXBlID09IFRBR19JRF9BVkRQKQorCQkJZ290byByZWFsX2Jsa3N6OworCisJfQorCXJldHVybiAxOworCityZWFsX2Jsa3N6OgorCS8qIFVzZSB0aGUgYWN0dWFsIGJsb2NrIHNpemUgZnJvbSBoZXJlIG9uIG91dCAqLworCWJzID0gcGJzW2ldOworCisJLyogZ2V0IGRlc2NyaXB0b3IgbGlzdCBhZGRyZXNzIGFuZCBibG9jayBjb3VudCAqLworCWNvdW50ID0gbGUzMl90b19jcHUodmQtPnR5cGUuYW5jaG9yLmxlbmd0aCkgLyBiczsKKwlsb2MgPSBsZTMyX3RvX2NwdSh2ZC0+dHlwZS5hbmNob3IubG9jYXRpb24pOworCisJLyogcGljayB0aGUgcHJpbWFyeSBkZXNjcmlwdG9yIGZyb20gdGhlIGxpc3QgYW5kIHJlYWQgVURGIGlkZW50aWZpZXJzICovCisJZm9yIChiID0gMDsgYiA8IGNvdW50OyBiKyspIHsKKwkJdmQgPSAoc3RydWN0IHZvbHVtZV9kZXNjcmlwdG9yICopCisJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQkodWludDY0X3QpIChsb2MgKyBiKSAqIGJzLAorCQkJCQlzaXplb2YoKnZkKSk7CisJCWlmICghdmQpCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCQl0eXBlID0gbGUxNl90b19jcHUodmQtPnRhZy5pZCk7CisJCWlmICh0eXBlID09IDApCisJCQlicmVhazsKKwkJaWYgKGxlMzJfdG9fY3B1KHZkLT50YWcubG9jYXRpb24pICE9IGxvYyArIGIpCisJCQlicmVhazsKKwkJaWYgKHR5cGUgPT0gVEFHX0lEX1REKQorCQkJYnJlYWs7CisJCWlmICh0eXBlID09IFRBR19JRF9QVkQpIHsKKwkJCWlmICghaGF2ZV92b2xpZCkgeworCQkJCWludCBlbmMgPSB1ZGZfY2lkX3RvX2VuYyh2ZC0+dHlwZS5wcmltYXJ5LmlkZW50LmNpZCk7CisJCQkJdWludDhfdCBjbGVuID0gdmQtPnR5cGUucHJpbWFyeS5pZGVudC5jbGVuOworCQkJCWlmIChjbGVuID4gMCkKKwkJCQkJLS1jbGVuOworCQkJCWlmIChjbGVuID4gc2l6ZW9mKHZkLT50eXBlLnByaW1hcnkuaWRlbnQuYykpCisJCQkJCWNsZW4gPSBzaXplb2YodmQtPnR5cGUucHJpbWFyeS5pZGVudC5jKTsKKwkJCQlpZiAoZW5jICE9IC0xKQorCQkJCQloYXZlX3ZvbGlkID0gIWJsa2lkX3Byb2JlX3NldF91dGY4X2lkX2xhYmVsKHByLCAiVk9MVU1FX0lEIiwKKwkJCQkJCQl2ZC0+dHlwZS5wcmltYXJ5LmlkZW50LmMsIGNsZW4sIGVuYyk7CisJCQl9CisJCQlpZiAoIWhhdmVfdXVpZCkgeworCQkJCS8qIFZvbHVtZVNldElkZW50aWZpZXIgaW4gVURGIDIuMDEgc3BlY2lmaWNhdGlvbjoKKwkJCQkgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKwkJCQkgKiAyLjIuMi41IGRzdHJpbmcgVm9sdW1lU2V0SWRlbnRpZmllcgorCQkJCSAqCisJCQkJICogSW50ZXJwcmV0ZWQgYXMgc3BlY2lmeWluZyB0aGUgaWRlbnRpZmllciBmb3IgdGhlIHZvbHVtZSBzZXQuCisJCQkJICoKKwkJCQkgKiBUaGUgZmlyc3QgMTYgY2hhcmFjdGVycyBvZiB0aGlzIGZpZWxkIHNob3VsZCBiZSBzZXQgdG8gYSB1bmlxdWUgdmFsdWUuIFRoZQorCQkJCSAqIHJlbWFpbmRlciBvZiB0aGUgZmllbGQgbWF5IGJlIHNldCB0byBhbnkgYWxsb3dlZCB2YWx1ZS4gU3BlY2lmaWNhbGx5LCBzb2Z0d2FyZQorCQkJCSAqIGdlbmVyYXRpbmcgdm9sdW1lcyBjb25mb3JtaW5nIHRvIHRoaXMgc3BlY2lmaWNhdGlvbiBzaGFsbCBub3Qgc2V0IHRoaXMgZmllbGQgdG8gYQorCQkJCSAqIGZpeGVkIG9yIHRyaXZpYWwgdmFsdWUuIER1cGxpY2F0ZSBkaXNrcyB3aGljaCBhcmUgaW50ZW5kZWQgdG8gYmUgaWRlbnRpY2FsIG1heQorCQkJCSAqIGNvbnRhaW4gdGhlIHNhbWUgdmFsdWUgaW4gdGhpcyBmaWVsZC4KKwkJCQkgKgorCQkJCSAqIE5PVEU6IFRoZSBpbnRlbmRlZCBwdXJwb3NlIG9mIHRoaXMgaXMgdG8gZ3VhcmFudGVlIFZvbHVtZSBTZXRzIHdpdGggdW5pcXVlCisJCQkJICogaWRlbnRpZmllcnMuIFRoZSBmaXJzdCA4IGNoYXJhY3RlcnMgb2YgdGhlIHVuaXF1ZSBwYXJ0IHNob3VsZCBjb21lIGZyb20gYSBDUzAKKwkJCQkgKiBoZXhhZGVjaW1hbCByZXByZXNlbnRhdGlvbiBvZiBhIDMyLWJpdCB0aW1lIHZhbHVlLiBUaGUgcmVtYWluaW5nIDggY2hhcmFjdGVycworCQkJCSAqIGFyZSBmcmVlIGZvciBpbXBsZW1lbnRhdGlvbiB1c2UuCisJCQkJICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisJCQkJICoKKwkJCQkgKiBJbXBsZW1lbnRhdGlvbiBpbiBsaWJibGtpZDoKKwkJCQkgKiBUaGUgZmlyc3QgMTYgKFVuaWNvZGUpIGNoYXJhY3RlcnMgb2YgVm9sdW1lU2V0SWRlbnRpZmllciBhcmUgZW5jb2RlZCB0byBVVEYtOAorCQkJCSAqIGFuZCB0aGVuIGZpcnN0IDE2IFVURi04IGJ5dGVzIGFyZSB1c2VkIHRvIGdlbmVyYXRlIFVVSUQuIElmIGFsbCAxNiBieXRlcyBhcmUKKwkJCQkgKiBoZXhhZGVjaW1hbCBkaWdpdHMgdGhlbiB0aGVpciBsb3dlcmNhc2UgdmFyaWFudHMgYXJlIHVzZWQgYXMgVVVJRC4gSWYgb25lIG9mCisJCQkJICogdGhlIGZpcnN0IDggYnl0ZXMgKHRpbWUgdmFsdWUpIGlzIG5vdCBoZXhhZGVjaW1hbCBkaWdpdCB0aGVuIGZpcnN0IDggYnl0ZXMgYXJlCisJCQkJICogZW5jb2RlZCB0byB0aGVpciBoZXhhZGVjaW1hbCByZXByZXNlbnRhdGlvbnMsIHJlc3VsdGluZyBpbiAxNiBjaGFyYWN0ZXJzIGFuZAorCQkJCSAqIHNldCBhcyBVVUlELiBJZiBhbGwgZmlyc3QgOCBieXRlcyAodGltZSB2YWx1ZSkgYXJlIGhleGFkZWNpbWFsIGRpZ2l0cyBidXQgc29tZQorCQkJCSAqIHJlbWFpbmluZyBub3QgdGhlbiBsb3dlcmNhc2UgdmFyaWFudCBvZiB0aGUgZmlyc3QgOCBieXRlcyBhcmUgdXNlZCBhcyBmaXJzdAorCQkJCSAqIHBhcnQgb2YgVVVJRCBhbmQgbmV4dCA0IGJ5dGVzIGVuY29kZWQgaW4gaGV4YWRlY2ltYWwgcmVwcmVzZW50YXRpb25zIChyZXN1bHRpbmcKKwkJCQkgKiBpbiA4IGNoYXJhY3RlcnMpIGFyZSB1c2VkIGFzIHNlY29uZCBwYXJ0IG9mIFVVSUQgc3RyaW5nLgorCQkJCSAqLworCQkJCXVuc2lnbmVkIGNoYXIgdXVpZFsxN107CisJCQkJaWYgKGdlbl91dWlkX2Zyb21fdm9sc2V0X2lkKHV1aWQsICZ2ZC0+dHlwZS5wcmltYXJ5LnZvbHNldF9pZCkgPT0gMCkKKwkJCQkJaGF2ZV91dWlkID0gIWJsa2lkX3Byb2JlX3N0cm5jcHlfdXVpZChwciwgdXVpZCwgc2l6ZW9mKHV1aWQpKTsKKwkJCX0KKwkJCWlmICghaGF2ZV92b2xzZXRpZCkgeworCQkJCWludCBlbmMgPSB1ZGZfY2lkX3RvX2VuYyh2ZC0+dHlwZS5wcmltYXJ5LnZvbHNldF9pZC5jaWQpOworCQkJCXVpbnQ4X3QgY2xlbiA9IHZkLT50eXBlLnByaW1hcnkudm9sc2V0X2lkLmNsZW47CisJCQkJaWYgKGNsZW4gPiAwKQorCQkJCQktLWNsZW47CisJCQkJaWYgKGNsZW4gPiBzaXplb2YodmQtPnR5cGUucHJpbWFyeS52b2xzZXRfaWQuYykpCisJCQkJCWNsZW4gPSBzaXplb2YodmQtPnR5cGUucHJpbWFyeS52b2xzZXRfaWQuYyk7CisJCQkJaWYgKGVuYyAhPSAtMSkKKwkJCQkJaGF2ZV92b2xzZXRpZCA9ICFibGtpZF9wcm9iZV9zZXRfdXRmOF9pZF9sYWJlbChwciwgIlZPTFVNRV9TRVRfSUQiLAorCQkJCQkJCXZkLT50eXBlLnByaW1hcnkudm9sc2V0X2lkLmMsIGNsZW4sIGVuYyk7CisJCQl9CisJCX0gZWxzZSBpZiAodHlwZSA9PSBUQUdfSURfTFZEKSB7CisJCQlpZiAoIWx2aWRfbGVuIHx8ICFsdmlkX2xvYykgeworCQkJCXVpbnQzMl90IG51bV9wYXJ0aXRpb25fbWFwcyA9IGxlMzJfdG9fY3B1KHZkLT50eXBlLmxvZ2ljYWwubnVtX3BhcnRpdGlvbl9tYXBzKTsKKwkJCQkvKiBFQ01BLTE2NyAzLzEwLjYuMTI6IElmIG51bV9wYXJ0aXRpb25fbWFwcyBpcyAwLCB0aGVuIG5vIExWSUQgaXMgc3BlY2lmaWVkICovCisJCQkJaWYgKG51bV9wYXJ0aXRpb25fbWFwcykgeworCQkJCQlsdmlkX2xlbiA9IGxlMzJfdG9fY3B1KHZkLT50eXBlLmxvZ2ljYWwubHZpZF9sZW5ndGgpOworCQkJCQlsdmlkX2xvYyA9IGxlMzJfdG9fY3B1KHZkLT50eXBlLmxvZ2ljYWwubHZpZF9sb2NhdGlvbik7CisJCQkJfQorCQkJfQorCQkJaWYgKCF1ZGZfcmV2KSB7CisJCQkJLyogVURGLTIuNjA6IDIuMS41LjM6IFVERiByZXZpc2lvbiBmaWVsZCBzaGFsbCBpbmRpY2F0ZSByZXZpc2lvbiBvZiBVREYgZG9jdW1lbnQKKwkJCQkgKiBXZSB1c2UgdGhpcyBmaWVsZCBhcyBmYWxsYmFjayB2YWx1ZSBmb3IgSURfRlNfVkVSU0lPTiB3aGVuIExWSURJVSBpcyBtaXNzaW5nICovCisJCQkJaWYgKHN0cm5jbXAodmQtPnR5cGUubG9naWNhbC5kb21haW5faWQsICIqT1NUQSBVREYgQ29tcGxpYW50Iiwgc2l6ZW9mKHZkLT50eXBlLmxvZ2ljYWwuZG9tYWluX2lkKSkgPT0gMCkKKwkJCQkJdWRmX3JldiA9IGxlMTZfdG9fY3B1KHZkLT50eXBlLmxvZ2ljYWwudWRmX3Jldik7CisJCQl9CisJCQlpZiAoIWhhdmVfbG9ndm9saWQgfHwgIWhhdmVfbGFiZWwpIHsKKwkJCQkvKiBMb2dpY2FsVm9sdW1lSWRlbnRpZmllciBpbiBVREYgMi4wMSBzcGVjaWZpY2F0aW9uOgorCQkJCSAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorCQkJCSAqIDIuIEJhc2ljIFJlc3RyaWN0aW9ucyAmIFJlcXVpcmVtZW50cworCQkJCSAqCisJCQkJICogTG9naWNhbCBWb2x1bWUgRGVzY3JpcHRvcgorCQkJCSAqCisJCQkJICogVGhlcmUgc2hhbGwgYmUgZXhhY3RseSBvbmUgcHJldmFpbGluZyBMb2dpY2FsIFZvbHVtZQorCQkJCSAqIERlc2NyaXB0b3IgcmVjb3JkZWQgcGVyIFZvbHVtZSBTZXQuCisJCQkJICoKKwkJCQkgKiBUaGUgTG9naWNhbFZvbHVtZUlkZW50aWZpZXIgZmllbGQgc2hhbGwgbm90IGJlIG51bGwgYW5kCisJCQkJICogc2hvdWxkIGNvbnRhaW4gYW4gaWRlbnRpZmllciB0aGF0IGFpZHMgaW4gdGhlIGlkZW50aWZpY2F0aW9uIG9mCisJCQkJICogdGhlIGxvZ2ljYWwgdm9sdW1lLiBTcGVjaWZpY2FsbHksIHNvZnR3YXJlIGdlbmVyYXRpbmcKKwkJCQkgKiB2b2x1bWVzIGNvbmZvcm1pbmcgdG8gdGhpcyBzcGVjaWZpY2F0aW9uIHNoYWxsIG5vdCBzZXQgdGhpcworCQkJCSAqIGZpZWxkIHRvIGEgZml4ZWQgb3IgdHJpdmlhbCB2YWx1ZS4gRHVwbGljYXRlIGRpc2tzLCB3aGljaCBhcmUKKwkJCQkgKiBpbnRlbmRlZCB0byBiZSBpZGVudGljYWwsIG1heSBjb250YWluIHRoZSBzYW1lIHZhbHVlIGluIHRoaXMKKwkJCQkgKiBmaWVsZC4gVGhpcyBmaWVsZCBpcyBleHRyZW1lbHkgaW1wb3J0YW50IGluIGxvZ2ljYWwgdm9sdW1lCisJCQkJICogaWRlbnRpZmljYXRpb24gd2hlbiBtdWx0aXBsZSBtZWRpYSBhcmUgcHJlc2VudCB3aXRoaW4gYQorCQkJCSAqIGp1a2Vib3guIFRoaXMgbmFtZSBpcyB0eXBpY2FsbHkgd2hhdCBpcyBkaXNwbGF5ZWQgdG8gdGhlIHVzZXIuCisJCQkJICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisJCQkJICoKKwkJCQkgKiBJbXBsZW1lbnRhdGlvbiBpbiBsaWJibGtpZDoKKwkJCQkgKiBUaGUgTG9naWNhbFZvbHVtZUlkZW50aWZpZXIgZmllbGQgaXMgdXNlZCBmb3IgTEFCRUwuIE1TIFdpbmRvd3MKKwkJCQkgKiByZWFkIFZvbHVtZSBMYWJlbCBhbHNvIGZyb20gTG9naWNhbFZvbHVtZUlkZW50aWZpZXIuIEdydWIyIHJlYWQKKwkJCQkgKiBMQUJFTCBhbHNvIGZyb20gdGhpcyBmaWVsZC4gUHJvZ3JhbSBuZXdmc191ZGYgKGZyb20gVURGY2xpZW50KQorCQkJCSAqIHdoZW4gZm9ybWF0dGluZyBkaXNrIHNldCB0aGlzIGZpZWxkIGZyb20gdXNlciBvcHRpb24gRGlzYyBOYW1lLgorCQkJCSAqLworCQkJCWludCBlbmMgPSB1ZGZfY2lkX3RvX2VuYyh2ZC0+dHlwZS5sb2dpY2FsLmxvZ3ZvbF9pZC5jaWQpOworCQkJCXVpbnQ4X3QgY2xlbiA9IHZkLT50eXBlLmxvZ2ljYWwubG9ndm9sX2lkLmNsZW47CisJCQkJaWYgKGNsZW4gPiAwKQorCQkJCQktLWNsZW47CisJCQkJaWYgKGNsZW4gPiBzaXplb2YodmQtPnR5cGUubG9naWNhbC5sb2d2b2xfaWQuYykpCisJCQkJCWNsZW4gPSBzaXplb2YodmQtPnR5cGUubG9naWNhbC5sb2d2b2xfaWQuYyk7CisJCQkJaWYgKGVuYyAhPSAtMSkgeworCQkJCQlpZiAoIWhhdmVfbGFiZWwpCisJCQkJCQloYXZlX2xhYmVsID0gIWJsa2lkX3Byb2JlX3NldF91dGY4bGFiZWwocHIsCisJCQkJCQkJCXZkLT50eXBlLmxvZ2ljYWwubG9ndm9sX2lkLmMsIGNsZW4sIGVuYyk7CisJCQkJCWlmICghaGF2ZV9sb2d2b2xpZCkKKwkJCQkJCWhhdmVfbG9ndm9saWQgPSAhYmxraWRfcHJvYmVfc2V0X3V0ZjhfaWRfbGFiZWwocHIsICJMT0dJQ0FMX1ZPTFVNRV9JRCIsCisJCQkJCQkJCXZkLT50eXBlLmxvZ2ljYWwubG9ndm9sX2lkLmMsIGNsZW4sIGVuYyk7CisJCQkJfQorCQkJfQorCQl9CisJCWlmIChoYXZlX3ZvbGlkICYmIGhhdmVfdXVpZCAmJiBoYXZlX3ZvbHNldGlkICYmIGhhdmVfbG9ndm9saWQgJiYgaGF2ZV9sYWJlbCAmJiBsdmlkX2xlbiAmJiBsdmlkX2xvYykKKwkJCWJyZWFrOworCX0KKworCS8qIFBpY2sgdGhlIGZpcnN0IGxvZ2ljYWwgdm9sdW1lIGludGVncml0eSBkZXNjcmlwdG9yIGFuZCByZWFkIFVERiByZXZpc2lvbiAqLworCWlmIChsdmlkX2xvYyAmJiBsdmlkX2xlbiA+PSBzaXplb2YoKnZkKSkgeworCQl2ZCA9IChzdHJ1Y3Qgdm9sdW1lX2Rlc2NyaXB0b3IgKikKKwkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCSh1aW50NjRfdCkgbHZpZF9sb2MgKiBicywKKwkJCQkJc2l6ZW9mKCp2ZCkpOworCQlpZiAoIXZkKQorCQkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKwkJdHlwZSA9IGxlMTZfdG9fY3B1KHZkLT50YWcuaWQpOworCQlpZiAodHlwZSA9PSBUQUdfSURfTFZJRCAmJgorCQkgICAgbGUzMl90b19jcHUodmQtPnRhZy5sb2NhdGlvbikgPT0gbHZpZF9sb2MgJiYKKwkJICAgIFVERl9MVklESVVfTEVOR1RIKCp2ZCkgPj0gc2l6ZW9mKCpsdmlkaXUpKSB7CisJCQkvKiBFQ01BLTE2NyAzLzguOC4yOiBUaGVyZSBpcyBzdG9yZWQgc2VxdWVuY2Ugb2YgTFZJRHMgYW5kIHZhbGlkIGlzIGp1c3QgbGFzdAorCQkJICogb25lLiBTbyBjb3JyZWN0bHkgd2Ugc2hvdWxkIGp1bXAgdG8gbmV4dF9sdmlkX2xvY2F0aW9uIGFuZCByZWFkIG5leHQgTFZJRAorCQkJICogdW50aWwgd2UgZmluZCBsYXN0IG9uZS4gVGhpcyBjb3VsZCBiZSB0aW1lIGNvbnN1bWluZyBwcm9jZXNzIGFuZCBjb3VsZAorCQkJICogbGVhZCB0byBzY2FubmluZyBsb3Qgb2YgZGlzayBibG9ja3MuIEJlY2F1c2Ugd2UgdXNlIExWSUQgb25seSBmb3IgVURGCisJCQkgKiB2ZXJzaW9uLCBpbiB0aGUgd29yc3QgY2FzZSB3ZSB3b3VsZCByZXBvcnQgb25seSB3cm9uZyBJRF9GU19WRVJTSU9OLiAqLworCQkJdWludDE2X3QgbHZpZGl1X3VkZl9yZXY7CisJCQlsdmlkaXUgPSAoc3RydWN0IGxvZ2ljYWxfdm9sX2ludGVnX2Rlc2NyaXB0b3JfaW1wX3VzZSAqKQorCQkJCWJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCQkodWludDY0X3QpIGx2aWRfbG9jICogYnMgKyBVREZfTFZJRElVX09GRlNFVCgqdmQpLAorCQkJCQkJc2l6ZW9mKCpsdmlkaXUpKTsKKwkJCWlmICghbHZpZGl1KQorCQkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisJCQkvKiBVc2UgTWluaW11bSBVREYgUmVhZCBSZXZpc2lvbiBhcyBJRF9GU19WRVJTSU9OICovCisJCQlsdmlkaXVfdWRmX3JldiA9IGxlMTZfdG9fY3B1KGx2aWRpdS0+bWluX3VkZl9yZWFkX3Jldik7CisJCQlpZiAobHZpZGl1X3VkZl9yZXYpCisJCQkJdWRmX3JldiA9IGx2aWRpdV91ZGZfcmV2OworCQkJLyogVURGLTIuNjA6IDIuIEJhc2ljIFJlc3RyaWN0aW9ucyAmIFJlcXVpcmVtZW50czoKKwkJCSAqIFRoZSBNaW5pbXVtIFVERiBSZWFkIFJldmlzaW9uIHZhbHVlIHNoYWxsIGJlIGF0IG1vc3QgIzAyNTAKKwkJCSAqIGZvciBhbGwgbWVkaWEgd2l0aCBhIFVERiAyLjYwIGZpbGUgc3lzdGVtLgorCQkJICogU28gaW4gdGhpcyBjYXNlIHVzZSBNaW5pbXVtIFVERiBXcml0ZSBSZXZpc2lvbiBhcyBJRF9GU19WRVJTSU9OCisJCQkgKiB0byBkaXN0aW5ndWlzaCBiZXR3ZWVuIFVERiAyLjUwIGFuZCBVREYgMi42MCBkaXNjcy4gKi8KKwkJCWlmIChsdmlkaXVfdWRmX3JldiA9PSAweDI1MCkgeworCQkJCWx2aWRpdV91ZGZfcmV2ID0gbGUxNl90b19jcHUobHZpZGl1LT5taW5fdWRmX3dyaXRlX3Jldik7CisJCQkJaWYgKGx2aWRpdV91ZGZfcmV2ID4gMHgyNTApCisJCQkJCXVkZl9yZXYgPSBsdmlkaXVfdWRmX3JldjsKKwkJCX0KKwkJfQorCX0KKworCWlmICh1ZGZfcmV2KQorCQkvKiBVREYgcmV2aXNpb24gaXMgc3RvcmVkIGFzIGRlY2ltYWwgbnVtYmVyIGluIGhleGFkZWNpbWFsIGZvcm1hdC4KKwkJICogRS5nLiBudW1iZXIgMHgwMTUwIGlzIHJldmlzaW9uIDEuNTAsIG51bWJlciAweDAyMDEgaXMgcmV2aXNpb24gMi4wMS4gKi8KKwkJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXguJTAyeCIsICh1bnNpZ25lZCBpbnQpKHVkZl9yZXYgPj4gOCksICh1bnNpZ25lZCBpbnQpKHVkZl9yZXYgJiAweEZGKSk7CisKKwlyZXR1cm4gMDsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHVkZl9pZGluZm8gPQoreworCS5uYW1lCQk9ICJ1ZGYiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV91ZGYsCisJLmZsYWdzCQk9IEJMS0lEX0lESU5GT19UT0xFUkFOVCwKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJCRUEwMSIsIC5sZW4gPSA1LCAua2JvZmYgPSAzMiwgLnNib2ZmID0gMSB9LAorCQl7IC5tYWdpYyA9ICJCT09UMiIsIC5sZW4gPSA1LCAua2JvZmYgPSAzMiwgLnNib2ZmID0gMSB9LAorCQl7IC5tYWdpYyA9ICJDRDAwMSIsIC5sZW4gPSA1LCAua2JvZmYgPSAzMiwgLnNib2ZmID0gMSB9LAorCQl7IC5tYWdpYyA9ICJDRFcwMiIsIC5sZW4gPSA1LCAua2JvZmYgPSAzMiwgLnNib2ZmID0gMSB9LAorCQl7IC5tYWdpYyA9ICJOU1IwMiIsIC5sZW4gPSA1LCAua2JvZmYgPSAzMiwgLnNib2ZmID0gMSB9LAorCQl7IC5tYWdpYyA9ICJOU1IwMyIsIC5sZW4gPSA1LCAua2JvZmYgPSAzMiwgLnNib2ZmID0gMSB9LAorCQl7IC5tYWdpYyA9ICJURUEwMSIsIC5sZW4gPSA1LCAua2JvZmYgPSAzMiwgLnNib2ZmID0gMSB9LAorCQl7IE5VTEwgfQorCX0KK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVmMmFjZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy91ZnMuYwpAQCAtMCwwICsxLDI1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBJbnNwaXJlZCBieSBsaWJ2b2x1bWVfaWQgYnkKKyAqICAgICBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgdWZzX3N1cGVyX2Jsb2NrIHsKKwl1aW50MzJfdAlmc19saW5rOworCXVpbnQzMl90CWZzX3JsaW5rOworCXVpbnQzMl90CWZzX3NibGtubzsKKwl1aW50MzJfdAlmc19jYmxrbm87CisJdWludDMyX3QJZnNfaWJsa25vOworCXVpbnQzMl90CWZzX2RibGtubzsKKwl1aW50MzJfdAlmc19jZ29mZnNldDsKKwl1aW50MzJfdAlmc19jZ21hc2s7CisJdWludDMyX3QJZnNfdGltZTsKKwl1aW50MzJfdAlmc19zaXplOworCXVpbnQzMl90CWZzX2RzaXplOworCXVpbnQzMl90CWZzX25jZzsKKwl1aW50MzJfdAlmc19ic2l6ZTsKKwl1aW50MzJfdAlmc19mc2l6ZTsKKwl1aW50MzJfdAlmc19mcmFnOworCXVpbnQzMl90CWZzX21pbmZyZWU7CisJdWludDMyX3QJZnNfcm90ZGVsYXk7CisJdWludDMyX3QJZnNfcnBzOworCXVpbnQzMl90CWZzX2JtYXNrOworCXVpbnQzMl90CWZzX2ZtYXNrOworCXVpbnQzMl90CWZzX2JzaGlmdDsKKwl1aW50MzJfdAlmc19mc2hpZnQ7CisJdWludDMyX3QJZnNfbWF4Y29udGlnOworCXVpbnQzMl90CWZzX21heGJwZzsKKwl1aW50MzJfdAlmc19mcmFnc2hpZnQ7CisJdWludDMyX3QJZnNfZnNidG9kYjsKKwl1aW50MzJfdAlmc19zYnNpemU7CisJdWludDMyX3QJZnNfY3NtYXNrOworCXVpbnQzMl90CWZzX2Nzc2hpZnQ7CisJdWludDMyX3QJZnNfbmluZGlyOworCXVpbnQzMl90CWZzX2lub3BiOworCXVpbnQzMl90CWZzX25zcGY7CisJdWludDMyX3QJZnNfb3B0aW07CisJdWludDMyX3QJZnNfbnBzZWN0X3N0YXRlOworCXVpbnQzMl90CWZzX2ludGVybGVhdmU7CisJdWludDMyX3QJZnNfdHJhY2tza2V3OworCXVpbnQzMl90CWZzX2lkWzJdOworCXVpbnQzMl90CWZzX2NzYWRkcjsKKwl1aW50MzJfdAlmc19jc3NpemU7CisJdWludDMyX3QJZnNfY2dzaXplOworCXVpbnQzMl90CWZzX250cmFrOworCXVpbnQzMl90CWZzX25zZWN0OworCXVpbnQzMl90CWZzX3NwYzsKKwl1aW50MzJfdAlmc19uY3lsOworCXVpbnQzMl90CWZzX2NwZzsKKwl1aW50MzJfdAlmc19pcGc7CisJdWludDMyX3QJZnNfZnBnOworCXN0cnVjdCB1ZnNfY3N1bSB7CisJCXVpbnQzMl90CWNzX25kaXI7CisJCXVpbnQzMl90CWNzX25iZnJlZTsKKwkJdWludDMyX3QJY3NfbmlmcmVlOworCQl1aW50MzJfdAljc19uZmZyZWU7CisJfSBmc19jc3RvdGFsOworCWludDhfdAkJZnNfZm1vZDsKKwlpbnQ4X3QJCWZzX2NsZWFuOworCWludDhfdAkJZnNfcm9ubHk7CisJaW50OF90CQlmc19mbGFnczsKKwl1bmlvbiB7CisJCXN0cnVjdCB7CisJCQlpbnQ4X3QJZnNfZnNtbnRbNTEyXTsKKwkJCXVpbnQzMl90CWZzX2Nncm90b3I7CisJCQl1aW50MzJfdAlmc19jc3BbMzFdOworCQkJdWludDMyX3QJZnNfbWF4Y2x1c3RlcjsKKwkJCXVpbnQzMl90CWZzX2NwYzsKKwkJCXVpbnQxNl90CWZzX29wb3N0YmxbMTZdWzhdOworCQl9IGZzX3UxOworCQlzdHJ1Y3QgeworCQkJaW50OF90CQlmc19mc21udFs0NjhdOworCQkJdWludDhfdAkJZnNfdm9sbmFtZVszMl07CisJCQl1aW50NjRfdAlmc19zd3VpZDsKKwkJCWludDMyX3QJCWZzX3BhZDsKKwkJCXVpbnQzMl90CWZzX2Nncm90b3I7CisJCQl1aW50MzJfdAlmc19vY3NwWzI4XTsKKwkJCXVpbnQzMl90CWZzX2NvbnRpZ2RpcnM7CisJCQl1aW50MzJfdAlmc19jc3A7CisJCQl1aW50MzJfdAlmc19tYXhjbHVzdGVyOworCQkJdWludDMyX3QJZnNfYWN0aXZlOworCQkJaW50MzJfdAkJZnNfb2xkX2NwYzsKKwkJCWludDMyX3QJCWZzX21heGJzaXplOworCQkJaW50NjRfdAkJZnNfc3BhcmVjb242NFsxN107CisJCQlpbnQ2NF90CQlmc19zYmxvY2tsb2M7CisJCQlzdHJ1Y3QgdWZzMl9jc3VtX3RvdGFsIHsKKwkJCQl1aW50NjRfdAljc19uZGlyOworCQkJCXVpbnQ2NF90CWNzX25iZnJlZTsKKwkJCQl1aW50NjRfdAljc19uaWZyZWU7CisJCQkJdWludDY0X3QJY3NfbmZmcmVlOworCQkJCXVpbnQ2NF90CWNzX251bWNsdXN0ZXJzOworCQkJCXVpbnQ2NF90CWNzX3NwYXJlWzNdOworCQkJfSBmc19jc3RvdGFsOworCQkJc3RydWN0IHVmc190aW1ldmFsIHsKKwkJCQlpbnQzMl90CQl0dl9zZWM7CisJCQkJaW50MzJfdAkJdHZfdXNlYzsKKwkJCX0gZnNfdGltZTsKKwkJCWludDY0X3QJCWZzX3NpemU7CisJCQlpbnQ2NF90CQlmc19kc2l6ZTsKKwkJCXVpbnQ2NF90CWZzX2NzYWRkcjsKKwkJCWludDY0X3QJCWZzX3BlbmRpbmdibG9ja3M7CisJCQlpbnQzMl90CQlmc19wZW5kaW5naW5vZGVzOworCQl9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpIGZzX3UyOworCX0gIGZzX3UxMTsKKwl1bmlvbiB7CisJCXN0cnVjdCB7CisJCQlpbnQzMl90CQlmc19zcGFyZWNvbls1M107CisJCQlpbnQzMl90CQlmc19yZWNsYWltOworCQkJaW50MzJfdAkJZnNfc3BhcmVjb24yWzFdOworCQkJaW50MzJfdAkJZnNfc3RhdGU7CisJCQl1aW50MzJfdAlmc19xYm1hc2tbMl07CisJCQl1aW50MzJfdAlmc19xZm1hc2tbMl07CisJCX0gZnNfc3VuOworCQlzdHJ1Y3QgeworCQkJaW50MzJfdAkJZnNfc3BhcmVjb25bNTNdOworCQkJaW50MzJfdAkJZnNfcmVjbGFpbTsKKwkJCWludDMyX3QJCWZzX3NwYXJlY29uMlsxXTsKKwkJCXVpbnQzMl90CWZzX25wc2VjdDsKKwkJCXVpbnQzMl90CWZzX3FibWFza1syXTsKKwkJCXVpbnQzMl90CWZzX3FmbWFza1syXTsKKwkJfSBmc19zdW54ODY7CisJCXN0cnVjdCB7CisJCQlpbnQzMl90CQlmc19zcGFyZWNvbls1MF07CisJCQlpbnQzMl90CQlmc19jb250aWdzdW1zaXplOworCQkJaW50MzJfdAkJZnNfbWF4c3ltbGlua2xlbjsKKwkJCWludDMyX3QJCWZzX2lub2RlZm10OworCQkJdWludDMyX3QJZnNfbWF4ZmlsZXNpemVbMl07CisJCQl1aW50MzJfdAlmc19xYm1hc2tbMl07CisJCQl1aW50MzJfdAlmc19xZm1hc2tbMl07CisJCQlpbnQzMl90CQlmc19zdGF0ZTsKKwkJfSBmc180NDsKKwl9IGZzX3UyOworCWludDMyX3QJCWZzX3Bvc3RibGZvcm1hdDsKKwlpbnQzMl90CQlmc19ucnBvczsKKwlpbnQzMl90CQlmc19wb3N0YmxvZmY7CisJaW50MzJfdAkJZnNfcm90YmxvZmY7CisJdWludDMyX3QJZnNfbWFnaWM7CisJdWludDhfdAkJZnNfc3BhY2VbMV07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIFVGU19NQUdJQwkJCTB4MDAwMTE5NTQKKyNkZWZpbmUgVUZTMl9NQUdJQwkJCTB4MTk1NDAxMTkKKyNkZWZpbmUgVUZTX01BR0lDX0ZFQQkJCTB4MDAxOTU2MTIKKyNkZWZpbmUgVUZTX01BR0lDX0xGTgkJCTB4MDAwOTUwMTQKKyNkZWZpbmUgVUZTX01BR0lDX1NFQwkJCTB4MDA2MTIxOTUKKyNkZWZpbmUgVUZTX01BR0lDXzRHQgkJCTB4MDUyMzE5OTQKKworc3RhdGljIGludCBwcm9iZV91ZnMoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgb2Zmc2V0c1tdID0geyAwLCA4LCA2NCwgMjU2IH07CisJdWludDMyX3QgbWFnc1tdID0geworCQlVRlMyX01BR0lDLCBVRlNfTUFHSUMsIFVGU19NQUdJQ19GRUEsIFVGU19NQUdJQ19MRk4sCisJCVVGU19NQUdJQ19TRUMsIFVGU19NQUdJQ180R0IKKwl9OworCXNpemVfdCBpOworCXVpbnQzMl90IG1hZ2ljOworCXN0cnVjdCB1ZnNfc3VwZXJfYmxvY2sgKnVmczsKKwlpbnQgaXNfYmU7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShvZmZzZXRzKTsgaSsrKSB7CisJCXVpbnQzMl90IG1hZ0xFLCBtYWdCRTsKKwkJc2l6ZV90IHk7CisKKwkJdWZzID0gKHN0cnVjdCB1ZnNfc3VwZXJfYmxvY2sgKikKKwkJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQlvZmZzZXRzW2ldICogMTAyNCwKKwkJCQkJc2l6ZW9mKHN0cnVjdCB1ZnNfc3VwZXJfYmxvY2spKTsKKwkJaWYgKCF1ZnMpCisJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJCW1hZ0JFID0gYmUzMl90b19jcHUodWZzLT5mc19tYWdpYyk7CisJCW1hZ0xFID0gbGUzMl90b19jcHUodWZzLT5mc19tYWdpYyk7CisKKwkJZm9yICh5ID0gMDsgeSA8IEFSUkFZX1NJWkUobWFncyk7IHkrKykgeworCQkJaWYgKG1hZ0xFID09IG1hZ3NbeV0gfHwgbWFnQkUgPT0gbWFnc1t5XSkgeworCQkJCW1hZ2ljID0gbWFnc1t5XTsKKwkJCQlpc19iZSA9IChtYWdCRSA9PSBtYWdzW3ldKTsKKwkJCQlnb3RvIGZvdW5kOworCQkJfQorCQl9CisJfQorCisJcmV0dXJuIDE7CisKK2ZvdW5kOgorCWlmIChtYWdpYyA9PSBVRlMyX01BR0lDKSB7CisJCWJsa2lkX3Byb2JlX3NldF92ZXJzaW9uKHByLCAiMiIpOworCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIHVmcy0+ZnNfdTExLmZzX3UyLmZzX3ZvbG5hbWUsCisJCQkJc2l6ZW9mKHVmcy0+ZnNfdTExLmZzX3UyLmZzX3ZvbG5hbWUpKTsKKwl9IGVsc2UKKwkJYmxraWRfcHJvYmVfc2V0X3ZlcnNpb24ocHIsICIxIik7CisJaWYgKHVmcy0+ZnNfaWRbMF0gfHwgdWZzLT5mc19pZFsxXSkKKwl7CisJCWlmIChpc19iZSkKKwkJCWJsa2lkX3Byb2JlX3NwcmludGZfdXVpZChwciwKKwkJCQkJICh1bnNpZ25lZCBjaGFyICopICZ1ZnMtPmZzX2lkLAorCQkJCQkJIHNpemVvZih1ZnMtPmZzX2lkKSwKKwkJCQkJCSAiJTA4eCUwOHgiLAorCQkJCQkJIGJlMzJfdG9fY3B1KHVmcy0+ZnNfaWRbMF0pLAorCQkJCQkJIGJlMzJfdG9fY3B1KHVmcy0+ZnNfaWRbMV0pKTsKKwkJZWxzZQorCQkJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLAorCQkJCQkgKHVuc2lnbmVkIGNoYXIgKikgJnVmcy0+ZnNfaWQsCisJCQkJCQkgc2l6ZW9mKHVmcy0+ZnNfaWQpLAorCQkJCQkJICIlMDh4JTA4eCIsCisJCQkJCQkgbGUzMl90b19jcHUodWZzLT5mc19pZFswXSksCisJCQkJCQkgbGUzMl90b19jcHUodWZzLT5mc19pZFsxXSkpOworCX0KKworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsCisJCQkob2Zmc2V0c1tpXSAqIDEwMjQpICsKKwkJCQlvZmZzZXRvZihzdHJ1Y3QgdWZzX3N1cGVyX2Jsb2NrLCBmc19tYWdpYyksCisJCQlzaXplb2YodWZzLT5mc19tYWdpYyksCisJCQkodW5zaWduZWQgY2hhciAqKSAmdWZzLT5mc19tYWdpYykpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBBY2NvcmRpbmcgdG8gbGlidm9sdW1lX2lkIHRoZSBVRlMgc3VwZXJibG9jayBjb3VsZCBiZSBvbiBmb3VyIHBvc2l0aW9ucy4KKyAqIFRoZSBvcmlnaW5hbCBsaWJibGtpZCBoYXMgY2hlY2tlZCBvbmUgcG9zaXRpb24gKC5rYm9mZj04KSBvbmx5LgorICoKKyAqIFdlIGtub3cgZm91ciBVRlMgbWFnaWMgc3RyaW5ncyBhbmQgVUZTIGNvdWxkIGJlIGJvdGggbGl0dGxlLWVuZGlhbiBhbmQKKyAqIGJpZy1lbmRpYW4uIC4uLiBzbyB3ZSBoYXZlOgorICoKKyAqCTQgcG9zaXRpb24gKiA0IHN0cmluZyAqIDIgdmVyc2lvbiA9IDMyIG1hZ2ljIHN0cmluZ3MKKyAqCisgKiBJdCBzZWVtcyBzaW1wbGVyIHRvIGNoZWNrIGZvciB0aGVzZSBzdHJpbmcgaW4gcHJvYmluZyBmdW5jdGlvbiB0aGF0IGhhcmRjb2RlCisgKiBhbGwgaW4gdGhlIC5tYWdpYyBhcnJheS4KKyAqLworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB1ZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAidWZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdWZzLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Zkby5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3Zkby5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlYzY4NmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmRvLmMKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBSZWQgSGF0LCBJbmMuCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgdmRvX3N1cGVyX2Jsb2NrIHsKKwljaGFyIG1hZ2ljWzhdOwkJCS8qIG1hZ2ljIG51bWJlciAnZG12ZG8wMDEnKi8KKwljaGFyIHVudXNlZFszMl07CQkvKiAzMiBieXRlcyBvZiB1bmltcG9ydGFudCBzcGFjZSAqLworCXVuc2lnbmVkIGNoYXIgc2JfdXVpZFsxNl07CS8qIHZkbyB1bmlxdWUgaWQgKi8KKworCS8qIHRoaXMgaXMgbm90IGFsbC4uLiBidXQgZW5vdWdoIGZvciBsaWJibGtpZCAqLworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RhdGljIGludCBwcm9iZV92ZG8oYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCB2ZG9fc3VwZXJfYmxvY2sgKnZzYjsKKworCXZzYiA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgdmRvX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIXZzYikKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWJsa2lkX3Byb2JlX3NldF91dWlkKHByLCB2c2ItPnNiX3V1aWQpOworCXJldHVybiAwOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZkb19pZGluZm8gPQoreworCS5uYW1lCQk9ICJ2ZG8iLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9PVEhFUiwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdmRvLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gImRtdmRvMDAxIiwgLmxlbiA9IDggfSwKKwkJeyBOVUxMIH0KKwl9Cit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3ZmYXQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92ZmF0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTA2MTU4NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92ZmF0LmMKQEAgLTAsMCArMSw0NjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5OTkgYnkgQW5kcmllcyBCcm91d2VyCisgKiBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDMgYnkgVGhlb2RvcmUgVHMnbworICogQ29weXJpZ2h0IChDKSAyMDAxIGJ5IEFuZHJlYXMgRGlsZ2VyCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgS2F5IFNpZXZlcnMgPGtheS5zaWV2ZXJzQHZyZnkub3JnPgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAicHQtbWJyLmgiCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworLyogWXVja3kgbWlzYWxpZ25lZCB2YWx1ZXMgKi8KK3N0cnVjdCB2ZmF0X3N1cGVyX2Jsb2NrIHsKKy8qIDAwKi8JdW5zaWduZWQgY2hhcgl2c19pZ25vcmVkWzNdOworLyogMDMqLwl1bnNpZ25lZCBjaGFyCXZzX3N5c2lkWzhdOworLyogMGIqLwl1bnNpZ25lZCBjaGFyCXZzX3NlY3Rvcl9zaXplWzJdOworLyogMGQqLwl1aW50OF90CQl2c19jbHVzdGVyX3NpemU7CisvKiAwZSovCXVpbnQxNl90CXZzX3Jlc2VydmVkOworLyogMTAqLwl1aW50OF90CQl2c19mYXRzOworLyogMTEqLwl1bnNpZ25lZCBjaGFyCXZzX2Rpcl9lbnRyaWVzWzJdOworLyogMTMqLwl1bnNpZ25lZCBjaGFyCXZzX3NlY3RvcnNbMl07CisvKiAxNSovCXVuc2lnbmVkIGNoYXIJdnNfbWVkaWE7CisvKiAxNiovCXVpbnQxNl90CXZzX2ZhdF9sZW5ndGg7CisvKiAxOCovCXVpbnQxNl90CXZzX3NlY3NfdHJhY2s7CisvKiAxYSovCXVpbnQxNl90CXZzX2hlYWRzOworLyogMWMqLwl1aW50MzJfdAl2c19oaWRkZW47CisvKiAyMCovCXVpbnQzMl90CXZzX3RvdGFsX3NlY3Q7CisvKiAyNCovCXVpbnQzMl90CXZzX2ZhdDMyX2xlbmd0aDsKKy8qIDI4Ki8JdWludDE2X3QJdnNfZmxhZ3M7CisvKiAyYSovCXVpbnQ4X3QJCXZzX3ZlcnNpb25bMl07CisvKiAyYyovCXVpbnQzMl90CXZzX3Jvb3RfY2x1c3RlcjsKKy8qIDMwKi8JdWludDE2X3QJdnNfZnNpbmZvX3NlY3RvcjsKKy8qIDMyKi8JdWludDE2X3QJdnNfYmFja3VwX2Jvb3Q7CisvKiAzNCovCXVpbnQxNl90CXZzX3Jlc2VydmVkMls2XTsKKy8qIDQwKi8JdW5zaWduZWQgY2hhcgl2c191bmtub3duWzNdOworLyogNDMqLwl1bnNpZ25lZCBjaGFyCXZzX3Nlcm5vWzRdOworLyogNDcqLwl1bnNpZ25lZCBjaGFyCXZzX2xhYmVsWzExXTsKKy8qIDUyKi8JdW5zaWduZWQgY2hhciAgIHZzX21hZ2ljWzhdOworLyogNWEqLwl1bnNpZ25lZCBjaGFyCXZzX2R1bW15MlsweDFmZSAtIDB4NWFdOworLyoxZmUqLwl1bnNpZ25lZCBjaGFyCXZzX3BtYWdpY1syXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKy8qIFl1Y2t5IG1pc2FsaWduZWQgdmFsdWVzICovCitzdHJ1Y3QgbXNkb3Nfc3VwZXJfYmxvY2sgeworLyogMDAqLwl1bnNpZ25lZCBjaGFyCW1zX2lnbm9yZWRbM107CisvKiAwMyovCXVuc2lnbmVkIGNoYXIJbXNfc3lzaWRbOF07CisvKiAwYiovCXVuc2lnbmVkIGNoYXIJbXNfc2VjdG9yX3NpemVbMl07CisvKiAwZCovCXVpbnQ4X3QJCW1zX2NsdXN0ZXJfc2l6ZTsKKy8qIDBlKi8JdWludDE2X3QJbXNfcmVzZXJ2ZWQ7CisvKiAxMCovCXVpbnQ4X3QJCW1zX2ZhdHM7CisvKiAxMSovCXVuc2lnbmVkIGNoYXIJbXNfZGlyX2VudHJpZXNbMl07CisvKiAxMyovCXVuc2lnbmVkIGNoYXIJbXNfc2VjdG9yc1syXTsgLyogPTAgaWZmIFYzIG9yIGxhdGVyICovCisvKiAxNSovCXVuc2lnbmVkIGNoYXIJbXNfbWVkaWE7CisvKiAxNiovCXVpbnQxNl90CW1zX2ZhdF9sZW5ndGg7IC8qIFNlY3RvcnMgcGVyIEZBVCAqLworLyogMTgqLwl1aW50MTZfdAltc19zZWNzX3RyYWNrOworLyogMWEqLwl1aW50MTZfdAltc19oZWFkczsKKy8qIDFjKi8JdWludDMyX3QJbXNfaGlkZGVuOworLyogVjMgQlBCICovCisvKiAyMCovCXVpbnQzMl90CW1zX3RvdGFsX3NlY3Q7IC8qIGlmZiBtc19zZWN0b3JzID09IDAgKi8KKy8qIFY0IEJQQiAqLworLyogMjQqLwl1bnNpZ25lZCBjaGFyCW1zX3Vua25vd25bM107IC8qIFBoeXMgZHJpdmUgbm8uLCByZXN2ZCwgVjQgc2lnICgweDI5KSAqLworLyogMjcqLwl1bnNpZ25lZCBjaGFyCW1zX3Nlcm5vWzRdOworLyogMmIqLwl1bnNpZ25lZCBjaGFyCW1zX2xhYmVsWzExXTsKKy8qIDM2Ki8JdW5zaWduZWQgY2hhciAgIG1zX21hZ2ljWzhdOworLyogM2UqLwl1bnNpZ25lZCBjaGFyCW1zX2R1bW15MlsweDFmZSAtIDB4M2VdOworLyoxZmUqLwl1bnNpZ25lZCBjaGFyCW1zX3BtYWdpY1syXTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKK3N0cnVjdCB2ZmF0X2Rpcl9lbnRyeSB7CisJdWludDhfdAkJbmFtZVsxMV07CisJdWludDhfdAkJYXR0cjsKKwl1aW50MTZfdAl0aW1lX2NyZWF0OworCXVpbnQxNl90CWRhdGVfY3JlYXQ7CisJdWludDE2X3QJdGltZV9hY2M7CisJdWludDE2X3QJZGF0ZV9hY2M7CisJdWludDE2X3QJY2x1c3Rlcl9oaWdoOworCXVpbnQxNl90CXRpbWVfd3JpdGU7CisJdWludDE2X3QJZGF0ZV93cml0ZTsKKwl1aW50MTZfdAljbHVzdGVyX2xvdzsKKwl1aW50MzJfdAlzaXplOworfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKTsKKworc3RydWN0IGZhdDMyX2ZzaW5mbyB7CisJdWludDhfdCBzaWduYXR1cmUxWzRdOworCXVpbnQzMl90IHJlc2VydmVkMVsxMjBdOworCXVpbnQ4X3Qgc2lnbmF0dXJlMls0XTsKKwl1aW50MzJfdCBmcmVlX2NsdXN0ZXJzOworCXVpbnQzMl90IG5leHRfY2x1c3RlcjsKKwl1aW50MzJfdCByZXNlcnZlZDJbNF07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisvKiBtYXhpbXVtIG51bWJlciBvZiBjbHVzdGVycyAqLworI2RlZmluZSBGQVQxMl9NQVggMHhGRjQKKyNkZWZpbmUgRkFUMTZfTUFYIDB4RkZGNAorI2RlZmluZSBGQVQzMl9NQVggMHgwRkZGRkZGNgorCisjZGVmaW5lIEZBVF9BVFRSX1ZPTFVNRV9JRAkJMHgwOAorI2RlZmluZSBGQVRfQVRUUl9ESVIJCQkweDEwCisjZGVmaW5lIEZBVF9BVFRSX0xPTkdfTkFNRQkJMHgwZgorI2RlZmluZSBGQVRfQVRUUl9NQVNLCQkJMHgzZgorI2RlZmluZSBGQVRfRU5UUllfRlJFRQkJCTB4ZTUKKworc3RhdGljIGNvbnN0IGNoYXIgKm5vX25hbWUgPSAiTk8gTkFNRSAgICAiOworCisjZGVmaW5lIHVuYWxpZ25lZF9sZTE2KHgpIFwKKwkJKCgodW5zaWduZWQgY2hhciAqKSB4KVswXSArICgoKHVuc2lnbmVkIGNoYXIgKikgeClbMV0gPDwgOCkpCisKKy8qCisgKiBMb29rIGZvciBMQUJFTCAobmFtZSkgaW4gdGhlIEZBVCByb290IGRpcmVjdG9yeS4KKyAqLworc3RhdGljIHVuc2lnbmVkIGNoYXIgKnNlYXJjaF9mYXRfbGFiZWwoYmxraWRfcHJvYmUgcHIsCisJCQkJdWludDY0X3Qgb2Zmc2V0LCB1aW50MzJfdCBlbnRyaWVzKQoreworCXN0cnVjdCB2ZmF0X2Rpcl9lbnRyeSAqZW50LCAqZGlyID0gTlVMTDsKKwl1aW50MzJfdCBpOworCisJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiXHRsb29rIGZvciBsYWJlbCBpbiByb290LWRpciAiCisJCQkiKGVudHJpZXM6ICUiUFJJdTMyIiwgb2Zmc2V0OiAlIlBSSXU2NCIpIiwgZW50cmllcywgb2Zmc2V0KSk7CisKKwlpZiAoIWJsa2lkX3Byb2JlX2lzX3RpbnkocHIpKSB7CisJCS8qIGxhcmdlIGRpc2ssIHJlYWQgd2hvbGUgcm9vdCBkaXJlY3RvcnkgKi8KKwkJZGlyID0gKHN0cnVjdCB2ZmF0X2Rpcl9lbnRyeSAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQkJb2Zmc2V0LAorCQkJCQkodWludDY0X3QpIGVudHJpZXMgKgorCQkJCQkJc2l6ZW9mKHN0cnVjdCB2ZmF0X2Rpcl9lbnRyeSkpOworCQlpZiAoIWRpcikKKwkJCXJldHVybiBOVUxMOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBlbnRyaWVzOyBpKyspIHsKKwkJLyoKKwkJICogVGhlIHJvb3QgZGlyZWN0b3J5IGNvdWxkIGJlIHJlbGF0aXZlbHkgbGFyZ2UgKDQtMTZrQikuCisJCSAqIEZvcnR1bmF0ZWx5LCB0aGUgTEFCRUwgaXMgdXN1YWxseSB0aGUgZmlyc3QgZW50cnkgaW4gdGhlCisJCSAqIGRpcmVjdG9yeS4gT24gdGlueSBkaXNrcyB3ZSBjYWxsIHJlYWQoKSBwZXIgZW50cnkuCisJCSAqLworCQlpZiAoIWRpcikKKwkJCWVudCA9IChzdHJ1Y3QgdmZhdF9kaXJfZW50cnkgKikKKwkJCQlibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCQkodWludDY0X3QpIG9mZnNldCArIChpICoKKwkJCQkJCXNpemVvZihzdHJ1Y3QgdmZhdF9kaXJfZW50cnkpKSwKKwkJCQkJc2l6ZW9mKHN0cnVjdCB2ZmF0X2Rpcl9lbnRyeSkpOworCQllbHNlCisJCQllbnQgPSAmZGlyW2ldOworCisJCWlmICghZW50IHx8IGVudC0+bmFtZVswXSA9PSAweDAwKQorCQkJYnJlYWs7CisKKwkJaWYgKChlbnQtPm5hbWVbMF0gPT0gRkFUX0VOVFJZX0ZSRUUpIHx8CisJCSAgICAoZW50LT5jbHVzdGVyX2hpZ2ggIT0gMCB8fCBlbnQtPmNsdXN0ZXJfbG93ICE9IDApIHx8CisJCSAgICAoKGVudC0+YXR0ciAmIEZBVF9BVFRSX01BU0spID09IEZBVF9BVFRSX0xPTkdfTkFNRSkpCisJCQljb250aW51ZTsKKworCQlpZiAoKGVudC0+YXR0ciAmIChGQVRfQVRUUl9WT0xVTUVfSUQgfCBGQVRfQVRUUl9ESVIpKSA9PQorCQkgICAgRkFUX0FUVFJfVk9MVU1FX0lEKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJcdGZvdW5kIGZzIExBQkVMIGF0IGVudHJ5ICVkIiwgaSkpOworCQkJaWYgKGVudC0+bmFtZVswXSA9PSAweDA1KQorCQkJCWVudC0+bmFtZVswXSA9IDB4RTU7CisJCQlyZXR1cm4gZW50LT5uYW1lOworCQl9CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IGZhdF92YWxpZF9zdXBlcmJsb2NrKGJsa2lkX3Byb2JlIHByLAorCQkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcsCisJCQlzdHJ1Y3QgbXNkb3Nfc3VwZXJfYmxvY2sgKm1zLAorCQkJc3RydWN0IHZmYXRfc3VwZXJfYmxvY2sgKnZzLAorCQkJdWludDMyX3QgKmNsdXN0ZXJfY291bnQsIHVpbnQzMl90ICpmYXRfc2l6ZSkKK3sKKwl1aW50MTZfdCBzZWN0b3Jfc2l6ZSwgZGlyX2VudHJpZXMsIHJlc2VydmVkOworCXVpbnQzMl90IHNlY3RfY291bnQsIF9fZmF0X3NpemUsIGRpcl9zaXplLCBfX2NsdXN0ZXJfY291bnQsIGZhdF9sZW5ndGg7CisJdWludDMyX3QgbWF4X2NvdW50OworCisJLyogZXh0cmEgY2hlY2sgZm9yIEZBVHMgd2l0aG91dCBtYWdpYyBzdHJpbmdzICovCisJaWYgKG1hZy0+bGVuIDw9IDIpIHsKKwkJLyogT2xkIGZsb3BwaWVzIGhhdmUgYSB2YWxpZCBNQlIgc2lnbmF0dXJlICovCisJCWlmIChtcy0+bXNfcG1hZ2ljWzBdICE9IDB4NTUgfHwgbXMtPm1zX3BtYWdpY1sxXSAhPSAweEFBKQorCQkJcmV0dXJuIDA7CisKKwkJLyoKKwkJICogT1MvMiBhbmQgYXBwYXJlbnRseSBERlNlZSB3aWxsIHBsYWNlIGEgRkFUMTIvMTYtbGlrZQorCQkgKiBwc2V1ZG8tc3VwZXJibG9jayBpbiB0aGUgZmlyc3QgNTEyIGJ5dGVzIG9mIG5vbi1GQVQKKwkJICogZmlsZXN5c3RlbXMgLS0tIGF0IGxlYXN0IEpGUyBhbmQgSFBGUywgYW5kIHBvc3NpYmx5IG90aGVycy4KKwkJICogU28gd2UgZXhwbGljaXRseSBjaGVjayBmb3IgdGhvc2UgZmlsZXN5c3RlbXMgYXQgdGhlCisJCSAqIEZBVDEyLzE2IGZpbGVzeXN0ZW0gbWFnaWMgZmllbGQgaWRlbnRpZmllciwgYW5kIGlmIHRoZXkgYXJlCisJCSAqIHByZXNlbnQsIHdlIHJ1bGUgdGhpcyBvdXQgYXMgYSBGQVQgZmlsZXN5c3RlbSwgZGVzcGl0ZSB0aGUKKwkJICogRkFULWxpa2UgcHNldWRvLWhlYWRlci4KKwkJICovCisJCWlmICgobWVtY21wKG1zLT5tc19tYWdpYywgIkpGUyAgICAgIiwgOCkgPT0gMCkgfHwKKwkJICAgIChtZW1jbXAobXMtPm1zX21hZ2ljLCAiSFBGUyAgICAiLCA4KSA9PSAwKSkgeworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiXHRKRlMvSFBGUyBkZXRlY3RlZCIpKTsKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJLyogZmF0IGNvdW50cyhMaW51eCBrZXJuZWwgZXhwZWN0cyBhdCBsZWFzdCAxIEZBVCB0YWJsZSkgKi8KKwlpZiAoIW1zLT5tc19mYXRzKQorCQlyZXR1cm4gMDsKKwlpZiAoIW1zLT5tc19yZXNlcnZlZCkKKwkJcmV0dXJuIDA7CisJaWYgKCEoMHhmOCA8PSBtcy0+bXNfbWVkaWEgfHwgbXMtPm1zX21lZGlhID09IDB4ZjApKQorCQlyZXR1cm4gMDsKKwlpZiAoIWlzX3Bvd2VyX29mXzIobXMtPm1zX2NsdXN0ZXJfc2l6ZSkpCisJCXJldHVybiAwOworCisJc2VjdG9yX3NpemUgPSB1bmFsaWduZWRfbGUxNigmbXMtPm1zX3NlY3Rvcl9zaXplKTsKKwlpZiAoIWlzX3Bvd2VyX29mXzIoc2VjdG9yX3NpemUpIHx8CisJICAgIHNlY3Rvcl9zaXplIDwgNTEyIHx8IHNlY3Rvcl9zaXplID4gNDA5NikKKwkJcmV0dXJuIDA7CisKKwlkaXJfZW50cmllcyA9IHVuYWxpZ25lZF9sZTE2KCZtcy0+bXNfZGlyX2VudHJpZXMpOworCXJlc2VydmVkID0gIGxlMTZfdG9fY3B1KG1zLT5tc19yZXNlcnZlZCk7CisJc2VjdF9jb3VudCA9IHVuYWxpZ25lZF9sZTE2KCZtcy0+bXNfc2VjdG9ycyk7CisKKwlpZiAoc2VjdF9jb3VudCA9PSAwKQorCQlzZWN0X2NvdW50ID0gbGUzMl90b19jcHUobXMtPm1zX3RvdGFsX3NlY3QpOworCisJZmF0X2xlbmd0aCA9IGxlMTZfdG9fY3B1KG1zLT5tc19mYXRfbGVuZ3RoKTsKKwlpZiAoZmF0X2xlbmd0aCA9PSAwKQorCQlmYXRfbGVuZ3RoID0gbGUzMl90b19jcHUodnMtPnZzX2ZhdDMyX2xlbmd0aCk7CisKKwlfX2ZhdF9zaXplID0gZmF0X2xlbmd0aCAqIG1zLT5tc19mYXRzOworCWRpcl9zaXplID0gKChkaXJfZW50cmllcyAqIHNpemVvZihzdHJ1Y3QgdmZhdF9kaXJfZW50cnkpKSArCisJCQkJCShzZWN0b3Jfc2l6ZS0xKSkgLyBzZWN0b3Jfc2l6ZTsKKworCV9fY2x1c3Rlcl9jb3VudCA9IChzZWN0X2NvdW50IC0gKHJlc2VydmVkICsgX19mYXRfc2l6ZSArIGRpcl9zaXplKSkgLworCQkJCQkJCW1zLT5tc19jbHVzdGVyX3NpemU7CisJaWYgKCFtcy0+bXNfZmF0X2xlbmd0aCAmJiB2cy0+dnNfZmF0MzJfbGVuZ3RoKQorCQltYXhfY291bnQgPSBGQVQzMl9NQVg7CisJZWxzZQorCQltYXhfY291bnQgPSBfX2NsdXN0ZXJfY291bnQgPiBGQVQxMl9NQVggPyBGQVQxNl9NQVggOiBGQVQxMl9NQVg7CisKKwlpZiAoX19jbHVzdGVyX2NvdW50ID4gbWF4X2NvdW50KQorCQlyZXR1cm4gMDsKKworCWlmIChmYXRfc2l6ZSkKKwkJKmZhdF9zaXplID0gX19mYXRfc2l6ZTsKKwlpZiAoY2x1c3Rlcl9jb3VudCkKKwkJKmNsdXN0ZXJfY291bnQgPSBfX2NsdXN0ZXJfY291bnQ7CisKKwlpZiAoYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkgeworCQkvKiBPSywgc2VlbXMgbGlrZSBGQVQsIGJ1dCBpdCdzIHBvc3NpYmxlIHRoYXQgd2UgZm91bmQgYm9vdAorCQkgKiBzZWN0b3Igd2l0aCBjcmF6eSBGQVQtbGlrZSBzdHVmZiAobWFnaWMgc3RyaW5ncywgbWVkaWEsCisJCSAqIGV0Yy4uKSBiZWZvcmUgTUJSLiBMZXQncyBtYWtlIHN1cmUgdGhhdCB0aGVyZSBpcyBubyBNQlIgd2l0aAorCQkgKiB1c2FibGUgcGFydGl0aW9uLiAqLworCQl1bnNpZ25lZCBjaGFyICpidWYgPSAodW5zaWduZWQgY2hhciAqKSBtczsKKworCQlpZiAobWJyX2lzX3ZhbGlkX21hZ2ljKGJ1ZikpIHsKKwkJCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwMCA9IG1icl9nZXRfcGFydGl0aW9uKGJ1ZiwgMCk7CisKKwkJCWlmIChkb3NfcGFydGl0aW9uX2dldF9zaXplKHAwKSAhPSAwICYmCisJCQkgICAgKHAwLT5ib290X2luZCA9PSAwIHx8IHAwLT5ib290X2luZCA9PSAweDgwKSkgeworCQkJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIlx0TUJSIGRldGVjdGVkIikpOworCQkJCXJldHVybiAwOworCQkJfQorCQl9CisJfQorCisJaWYgKGJsa2lkX3Byb2JlX2lzX2JpdGxvY2tlcihwcikpCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7CS8qIHZhbGlkICovCit9CisKKy8qIGZ1bmN0aW9uIHByb3RvdHlwZSB0byBhdm9pZCB3YXJuaW5ncyAoZHVwbGljYXRlIGluIHBhcnRpdGlvbnMvZG9zLmMpICovCitleHRlcm4gaW50IGJsa2lkX3Byb2JlX2lzX3ZmYXQoYmxraWRfcHJvYmUgcHIpOworCisvKgorICogVGhpcyBmdW5jdGlvbiBpcyB1c2VkIGJ5IE1CUiBwYXJ0aXRpb24gdGFibGUgcGFyc2VyIHRvIGF2b2lkCisgKiBtaXNpbnRlcnByZXRhdGlvbiBvZiBGQVQgZmlsZXN5c3RlbS4KKyAqLworaW50IGJsa2lkX3Byb2JlX2lzX3ZmYXQoYmxraWRfcHJvYmUgcHIpCit7CisJc3RydWN0IHZmYXRfc3VwZXJfYmxvY2sgKnZzOworCXN0cnVjdCBtc2Rvc19zdXBlcl9ibG9jayAqbXM7CisJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgPSBOVUxMOworCWludCByYzsKKworCXJjID0gYmxraWRfcHJvYmVfZ2V0X2lkbWFnKHByLCAmdmZhdF9pZGluZm8sIE5VTEwsICZtYWcpOworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsJLyogZXJyb3IgKi8KKwlpZiAocmMgIT0gQkxLSURfUFJPQkVfT0sgfHwgIW1hZykKKwkJcmV0dXJuIDA7CisKKwltcyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgbXNkb3Nfc3VwZXJfYmxvY2spOworCWlmICghbXMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDA7CisJdnMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHZmYXRfc3VwZXJfYmxvY2spOworCWlmICghdnMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDA7CisKKwlyZXR1cm4gZmF0X3ZhbGlkX3N1cGVyYmxvY2socHIsIG1hZywgbXMsIHZzLCBOVUxMLCBOVUxMKTsKK30KKworLyogRkFUIGxhYmVsIGV4dHJhY3Rpb24gZnJvbSB0aGUgcm9vdCBkaXJlY3RvcnkgdGFrZW4gZnJvbSBLYXkKKyAqIFNpZXZlcnMncyB2b2x1bWVfaWQgbGlicmFyeSAqLworc3RhdGljIGludCBwcm9iZV92ZmF0KGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3QgdmZhdF9zdXBlcl9ibG9jayAqdnM7CisJc3RydWN0IG1zZG9zX3N1cGVyX2Jsb2NrICptczsKKwljb25zdCB1bnNpZ25lZCBjaGFyICp2b2xfbGFiZWwgPSBOVUxMOworCWNvbnN0IHVuc2lnbmVkIGNoYXIgKmJvb3RfbGFiZWwgPSBOVUxMOworCXVuc2lnbmVkIGNoYXIgKnZvbF9zZXJubyA9IE5VTEwsIHZvbF9sYWJlbF9idWZbMTFdOworCXVpbnQxNl90IHNlY3Rvcl9zaXplID0gMCwgcmVzZXJ2ZWQ7CisJdWludDMyX3QgY2x1c3Rlcl9jb3VudCwgZmF0X3NpemU7CisJY29uc3QgY2hhciAqdmVyc2lvbiA9IE5VTEw7CisKKwltcyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgbXNkb3Nfc3VwZXJfYmxvY2spOworCWlmICghbXMpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwl2cyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgdmZhdF9zdXBlcl9ibG9jayk7CisJaWYgKCF2cykKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogMTsKKworCWlmICghZmF0X3ZhbGlkX3N1cGVyYmxvY2socHIsIG1hZywgbXMsIHZzLCAmY2x1c3Rlcl9jb3VudCwgJmZhdF9zaXplKSkKKwkJcmV0dXJuIDE7CisKKwlzZWN0b3Jfc2l6ZSA9IHVuYWxpZ25lZF9sZTE2KCZtcy0+bXNfc2VjdG9yX3NpemUpOworCXJlc2VydmVkID0gIGxlMTZfdG9fY3B1KG1zLT5tc19yZXNlcnZlZCk7CisKKwlpZiAobXMtPm1zX2ZhdF9sZW5ndGgpIHsKKwkJLyogdGhlIGxhYmVsIG1heSBiZSBhbiBhdHRyaWJ1dGUgaW4gdGhlIHJvb3QgZGlyZWN0b3J5ICovCisJCXVpbnQzMl90IHJvb3Rfc3RhcnQgPSAocmVzZXJ2ZWQgKyBmYXRfc2l6ZSkgKiBzZWN0b3Jfc2l6ZTsKKwkJdWludDMyX3Qgcm9vdF9kaXJfZW50cmllcyA9IHVuYWxpZ25lZF9sZTE2KCZ2cy0+dnNfZGlyX2VudHJpZXMpOworCisJCXZvbF9sYWJlbCA9IHNlYXJjaF9mYXRfbGFiZWwocHIsIHJvb3Rfc3RhcnQsIHJvb3RfZGlyX2VudHJpZXMpOworCQlpZiAodm9sX2xhYmVsKSB7CisJCQltZW1jcHkodm9sX2xhYmVsX2J1Ziwgdm9sX2xhYmVsLCAxMSk7CisJCQl2b2xfbGFiZWwgPSB2b2xfbGFiZWxfYnVmOworCQl9CisKKwkJYm9vdF9sYWJlbCA9IG1zLT5tc19sYWJlbDsKKwkJdm9sX3Nlcm5vID0gbXMtPm1zX3Nlcm5vOworCisJCWJsa2lkX3Byb2JlX3NldF92YWx1ZShwciwgIlNFQ19UWVBFIiwgKHVuc2lnbmVkIGNoYXIgKikgIm1zZG9zIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZigibXNkb3MiKSk7CisKKwkJaWYgKGNsdXN0ZXJfY291bnQgPCBGQVQxMl9NQVgpCisJCQl2ZXJzaW9uID0gIkZBVDEyIjsKKwkJZWxzZSBpZiAoY2x1c3Rlcl9jb3VudCA8IEZBVDE2X01BWCkKKwkJCXZlcnNpb24gPSAiRkFUMTYiOworCisJfSBlbHNlIGlmICh2cy0+dnNfZmF0MzJfbGVuZ3RoKSB7CisJCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKwkJdWludDE2X3QgZnNpbmZvX3NlY3Q7CisJCWludCBtYXhsb29wID0gMTAwOworCisJCS8qIFNlYXJjaCB0aGUgRkFUMzIgcm9vdCBkaXIgZm9yIHRoZSBsYWJlbCBhdHRyaWJ1dGUgKi8KKwkJdWludDMyX3QgYnVmX3NpemUgPSB2cy0+dnNfY2x1c3Rlcl9zaXplICogc2VjdG9yX3NpemU7CisJCXVpbnQzMl90IHN0YXJ0X2RhdGFfc2VjdCA9IHJlc2VydmVkICsgZmF0X3NpemU7CisJCXVpbnQzMl90IGVudHJpZXMgPSBsZTMyX3RvX2NwdSh2cy0+dnNfZmF0MzJfbGVuZ3RoKSAqCisJCQkJCXNlY3Rvcl9zaXplIC8gc2l6ZW9mKHVpbnQzMl90KTsKKwkJdWludDMyX3QgbmV4dCA9IGxlMzJfdG9fY3B1KHZzLT52c19yb290X2NsdXN0ZXIpOworCisJCXdoaWxlIChuZXh0ICYmIG5leHQgPCBlbnRyaWVzICYmIC0tbWF4bG9vcCkgeworCQkJdWludDMyX3QgbmV4dF9zZWN0X29mZjsKKwkJCXVpbnQ2NF90IG5leHRfb2ZmLCBmYXRfZW50cnlfb2ZmOworCQkJaW50IGNvdW50OworCisJCQluZXh0X3NlY3Rfb2ZmID0gKG5leHQgLSAyKSAqIHZzLT52c19jbHVzdGVyX3NpemU7CisJCQluZXh0X29mZiA9ICh1aW50NjRfdCkoc3RhcnRfZGF0YV9zZWN0ICsgbmV4dF9zZWN0X29mZikgKgorCQkJCXNlY3Rvcl9zaXplOworCisJCQljb3VudCA9IGJ1Zl9zaXplIC8gc2l6ZW9mKHN0cnVjdCB2ZmF0X2Rpcl9lbnRyeSk7CisKKwkJCXZvbF9sYWJlbCA9IHNlYXJjaF9mYXRfbGFiZWwocHIsIG5leHRfb2ZmLCBjb3VudCk7CisJCQlpZiAodm9sX2xhYmVsKSB7CisJCQkJbWVtY3B5KHZvbF9sYWJlbF9idWYsIHZvbF9sYWJlbCwgMTEpOworCQkJCXZvbF9sYWJlbCA9IHZvbF9sYWJlbF9idWY7CisJCQkJYnJlYWs7CisJCQl9CisKKwkJCS8qIGdldCBGQVQgZW50cnkgKi8KKwkJCWZhdF9lbnRyeV9vZmYgPSAoKHVpbnQ2NF90KSByZXNlcnZlZCAqIHNlY3Rvcl9zaXplKSArCisJCQkJKG5leHQgKiBzaXplb2YodWludDMyX3QpKTsKKwkJCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIGZhdF9lbnRyeV9vZmYsIGJ1Zl9zaXplKTsKKwkJCWlmIChidWYgPT0gTlVMTCkKKwkJCQlicmVhazsKKworCQkJLyogc2V0IG5leHQgY2x1c3RlciAqLworCQkJbmV4dCA9IGxlMzJfdG9fY3B1KCooKHVpbnQzMl90ICopIGJ1ZikpICYgMHgwZmZmZmZmZjsKKwkJfQorCisJCXZlcnNpb24gPSAiRkFUMzIiOworCisJCWJvb3RfbGFiZWwgPSB2cy0+dnNfbGFiZWw7CisJCXZvbF9zZXJubyA9IHZzLT52c19zZXJubzsKKworCQkvKgorCQkgKiBGQVQzMiBzaG91bGQgaGF2ZSBhIHZhbGlkIHNpZ25hdHVyZSBpbiB0aGUgZnNpbmZvIGJsb2NrLAorCQkgKiBidXQgYWxzbyBhbGxvdyBhbGwgYnl0ZXMgc2V0IHRvICdcMCcsIGJlY2F1c2Ugc29tZSB2b2x1bWVzCisJCSAqIGRvIG5vdCBzZXQgdGhlIHNpZ25hdHVyZSBhdCBhbGwuCisJCSAqLworCQlmc2luZm9fc2VjdCA9IGxlMTZfdG9fY3B1KHZzLT52c19mc2luZm9fc2VjdG9yKTsKKwkJaWYgKGZzaW5mb19zZWN0KSB7CisJCQlzdHJ1Y3QgZmF0MzJfZnNpbmZvICpmc2luZm87CisKKwkJCWJ1ZiA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsCisJCQkJCSh1aW50NjRfdCkgZnNpbmZvX3NlY3QgKiBzZWN0b3Jfc2l6ZSwKKwkJCQkJc2l6ZW9mKHN0cnVjdCBmYXQzMl9mc2luZm8pKTsKKwkJCWlmIChidWYgPT0gTlVMTCkKKwkJCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJCQlmc2luZm8gPSAoc3RydWN0IGZhdDMyX2ZzaW5mbyAqKSBidWY7CisJCQlpZiAobWVtY21wKGZzaW5mby0+c2lnbmF0dXJlMSwgIlx4NTJceDUyXHg2MVx4NDEiLCA0KSAhPSAwICYmCisJCQkgICAgbWVtY21wKGZzaW5mby0+c2lnbmF0dXJlMSwgIlx4NTJceDUyXHg2NFx4NDEiLCA0KSAhPSAwICYmCisJCQkgICAgbWVtY21wKGZzaW5mby0+c2lnbmF0dXJlMSwgIlx4MDBceDAwXHgwMFx4MDAiLCA0KSAhPSAwKQorCQkJCXJldHVybiAxOworCQkJaWYgKG1lbWNtcChmc2luZm8tPnNpZ25hdHVyZTIsICJceDcyXHg3Mlx4NDFceDYxIiwgNCkgIT0gMCAmJgorCQkJICAgIG1lbWNtcChmc2luZm8tPnNpZ25hdHVyZTIsICJceDAwXHgwMFx4MDBceDAwIiwgNCkgIT0gMCkKKwkJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworCWlmIChib290X2xhYmVsICYmIG1lbWNtcChib290X2xhYmVsLCBub19uYW1lLCAxMSkpCisJCWJsa2lkX3Byb2JlX3NldF9pZF9sYWJlbChwciwgIkxBQkVMX0ZBVEJPT1QiLCBib290X2xhYmVsLCAxMSk7CisKKwlpZiAodm9sX2xhYmVsKQorCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsIHZvbF9sYWJlbCwgMTEpOworCisJLyogV2UgY2FuJ3QganVzdCBwcmludCB0aGVtIGFzICUwNFgsIGJlY2F1c2UgdGhleSBhcmUgdW5hbGlnbmVkICovCisJaWYgKHZvbF9zZXJubykKKwkJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLCB2b2xfc2Vybm8sIDQsICIlMDJYJTAyWC0lMDJYJTAyWCIsCisJCQl2b2xfc2Vybm9bM10sIHZvbF9zZXJub1syXSwgdm9sX3Nlcm5vWzFdLCB2b2xfc2Vybm9bMF0pOworCWlmICh2ZXJzaW9uKQorCQlibGtpZF9wcm9iZV9zZXRfdmVyc2lvbihwciwgdmVyc2lvbik7CisKKwlyZXR1cm4gMDsKK30KKworCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHZmYXRfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAidmZhdCIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX3ZmYXQsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiTVNXSU4iLCAgICAubGVuID0gNSwgLnNib2ZmID0gMHg1MiB9LAorCQl7IC5tYWdpYyA9ICJGQVQzMiAgICIsIC5sZW4gPSA4LCAuc2JvZmYgPSAweDUyIH0sCisJCXsgLm1hZ2ljID0gIk1TRE9TIiwgICAgLmxlbiA9IDUsIC5zYm9mZiA9IDB4MzYgfSwKKwkJeyAubWFnaWMgPSAiRkFUMTYgICAiLCAubGVuID0gOCwgLnNib2ZmID0gMHgzNiB9LAorCQl7IC5tYWdpYyA9ICJGQVQxMiAgICIsIC5sZW4gPSA4LCAuc2JvZmYgPSAweDM2IH0sCisJCXsgLm1hZ2ljID0gIkZBVCAgICAgIiwgLmxlbiA9IDgsIC5zYm9mZiA9IDB4MzYgfSwKKwkJeyAubWFnaWMgPSAiXDM1MyIsICAgICAubGVuID0gMSwgfSwKKwkJeyAubWFnaWMgPSAiXDM1MSIsICAgICAubGVuID0gMSwgfSwKKwkJeyAubWFnaWMgPSAiXDEyNVwyNTIiLCAubGVuID0gMiwgLnNib2ZmID0gMHgxZmUgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmlhX3JhaWQuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92aWFfcmFpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVlM2FiNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvdmlhX3JhaWQuYwpAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIEluc3BpcmVkIGJ5IGxpYnZvbHVtZV9pZCBieQorICogICAgIEtheSBTaWV2ZXJzIDxrYXkuc2lldmVyc0B2cmZ5Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCB2aWFfbWV0YWRhdGEgeworCXVpbnQxNl90CXNpZ25hdHVyZTsKKwl1aW50OF90CQl2ZXJzaW9uX251bWJlcjsKKwlzdHJ1Y3QgdmlhX2FycmF5IHsKKwkJdWludDE2X3QJZGlza19iaXRfbWFzazsKKwkJdWludDhfdAkJZGlza19hcnJheV9leDsKKwkJdWludDMyX3QJY2FwYWNpdHlfbG93OworCQl1aW50MzJfdAljYXBhY2l0eV9oaWdoOworCQl1aW50MzJfdAlzZXJpYWxfY2hlY2tzdW07CisJfSBfX2F0dHJpYnV0ZV9fKChwYWNrZWQpKSBhcnJheTsKKwl1aW50MzJfdAlzZXJpYWxfY2hlY2tzdW1bOF07CisJdWludDhfdAkJY2hlY2tzdW07Cit9IF9fYXR0cmlidXRlX18oKHBhY2tlZCkpOworCisjZGVmaW5lIFZJQV9TSUdOQVRVUkUJCTB4QUE1NQorCisvKiA4IGJpdCBjaGVja3N1bSBvbiBmaXJzdCA1MCBieXRlcyBvZiBtZXRhZGF0YS4gKi8KK3N0YXRpYyB1aW50OF90IHZpYV9jaGVja3N1bShzdHJ1Y3QgdmlhX21ldGFkYXRhICp2KQoreworCXVpbnQ4X3QgaSA9IDUwLCBjcyA9IDA7CisKKwl3aGlsZSAoaS0tKQorCQljcyArPSAoKHVpbnQ4X3QqKSB2KVtpXTsKKworCXJldHVybiBjczsKK30KKworc3RhdGljIGludCBwcm9iZV92aWFyYWlkKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJdWludDY0X3Qgb2ZmOworCXN0cnVjdCB2aWFfbWV0YWRhdGEgKnY7CisKKwlpZiAocHItPnNpemUgPCAweDEwMDAwKQorCQlyZXR1cm4gMTsKKwlpZiAoIVNfSVNSRUcocHItPm1vZGUpICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKQorCQlyZXR1cm4gMTsKKworCW9mZiA9ICgocHItPnNpemUgLyAweDIwMCktMSkgKiAweDIwMDsKKworCXYgPSAoc3RydWN0IHZpYV9tZXRhZGF0YSAqKQorCQkJYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwKKwkJCQlvZmYsCisJCQkJc2l6ZW9mKHN0cnVjdCB2aWFfbWV0YWRhdGEpKTsKKwlpZiAoIXYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAobGUxNl90b19jcHUodi0+c2lnbmF0dXJlKSAhPSBWSUFfU0lHTkFUVVJFKQorCQlyZXR1cm4gMTsKKwlpZiAodi0+dmVyc2lvbl9udW1iZXIgPiAyKQorCQlyZXR1cm4gMTsKKwlpZiAoIWJsa2lkX3Byb2JlX3ZlcmlmeV9jc3VtKHByLCB2aWFfY2hlY2tzdW0odiksIHYtPmNoZWNrc3VtKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAoYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCB2LT52ZXJzaW9uX251bWJlcikgIT0gMCkKKwkJcmV0dXJuIDE7CisJaWYgKGJsa2lkX3Byb2JlX3NldF9tYWdpYyhwciwgb2ZmLAorCQkJCXNpemVvZih2LT5zaWduYXR1cmUpLAorCQkJCSh1bnNpZ25lZCBjaGFyICopICZ2LT5zaWduYXR1cmUpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB2aWFyYWlkX2lkaW5mbyA9IHsKKwkubmFtZQkJPSAidmlhX3JhaWRfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdmlhcmFpZCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3ZtZnMuYyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92bWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmFjODdhYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92bWZzLmMKQEAgLTAsMCArMSwxMDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTWlrZSBIb21tZXkgPG1oQGdsYW5kaXVtLm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSAic3VwZXJibG9ja3MuaCIKKworc3RydWN0IHZtZnNfZnNfaW5mbyB7CisJdWludDMyX3QgbWFnaWM7CisJdWludDMyX3Qgdm9sdW1lX3ZlcnNpb247CisJdWludDhfdCB2ZXJzaW9uOworCXVpbnQ4X3QgdXVpZFsxNl07CisJdWludDMyX3QgbW9kZTsKKwljaGFyIGxhYmVsWzEyOF07Cit9IF9fYXR0cmlidXRlX18gKChfX3BhY2tlZF9fKSk7CisKK3N0cnVjdCB2bWZzX3ZvbHVtZV9pbmZvIHsKKwl1aW50MzJfdCBtYWdpYzsKKwl1aW50MzJfdCB2ZXI7CisJdWludDhfdCBpcnJlbGV2YW50WzEyMl07CisJdWludDhfdCB1dWlkWzE2XTsKK30gX19hdHRyaWJ1dGVfXyAoKF9fcGFja2VkX18pKTsKKworc3RhdGljIGludCBwcm9iZV92bWZzX2ZzKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3Qgdm1mc19mc19pbmZvICpoZWFkZXI7CisKKwloZWFkZXIgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHZtZnNfZnNfaW5mbyk7CisJaWYgKGhlYWRlciA9PSBOVUxMKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJYmxraWRfcHJvYmVfc3ByaW50Zl91dWlkKHByLCAodW5zaWduZWQgY2hhciAqKSBoZWFkZXItPnV1aWQsIDE2LAorCQkiJTAyeCUwMnglMDJ4JTAyeC0lMDJ4JTAyeCUwMnglMDJ4LSIKKwkJIiUwMnglMDJ4LSUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCisJCWhlYWRlci0+dXVpZFszXSwgaGVhZGVyLT51dWlkWzJdLCBoZWFkZXItPnV1aWRbMV0sCisJCWhlYWRlci0+dXVpZFswXSwgaGVhZGVyLT51dWlkWzddLCBoZWFkZXItPnV1aWRbNl0sCisJCWhlYWRlci0+dXVpZFs1XSwgaGVhZGVyLT51dWlkWzRdLCBoZWFkZXItPnV1aWRbOV0sCisJCWhlYWRlci0+dXVpZFs4XSwgaGVhZGVyLT51dWlkWzEwXSwgaGVhZGVyLT51dWlkWzExXSwKKwkJaGVhZGVyLT51dWlkWzEyXSwgaGVhZGVyLT51dWlkWzEzXSwgaGVhZGVyLT51dWlkWzE0XSwKKwkJaGVhZGVyLT51dWlkWzE1XSk7CisKKwlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIGhlYWRlci0+bGFiZWwsCisJCQkJCXNpemVvZihoZWFkZXItPmxhYmVsKSk7CisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCBoZWFkZXItPnZlcnNpb24pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHByb2JlX3ZtZnNfdm9sdW1lKGJsa2lkX3Byb2JlIHByLCBjb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZykKK3sKKwlzdHJ1Y3Qgdm1mc192b2x1bWVfaW5mbyAqaGVhZGVyOworCXVuc2lnbmVkIGNoYXIgKmx2bV91dWlkOworCisJaGVhZGVyID0gYmxraWRfcHJvYmVfZ2V0X3NiKHByLCBtYWcsIHN0cnVjdCB2bWZzX3ZvbHVtZV9pbmZvKTsKKwlpZiAoaGVhZGVyID09IE5VTEwpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCAiVVVJRF9TVUIiLAorCQkiJTAyeCUwMnglMDJ4JTAyeC0lMDJ4JTAyeCUwMnglMDJ4LSIKKwkJIiUwMnglMDJ4LSUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCIsCisJCWhlYWRlci0+dXVpZFszXSwgaGVhZGVyLT51dWlkWzJdLCBoZWFkZXItPnV1aWRbMV0sCisJCWhlYWRlci0+dXVpZFswXSwgaGVhZGVyLT51dWlkWzddLCBoZWFkZXItPnV1aWRbNl0sCisJCWhlYWRlci0+dXVpZFs1XSwgaGVhZGVyLT51dWlkWzRdLCBoZWFkZXItPnV1aWRbOV0sCisJCWhlYWRlci0+dXVpZFs4XSwgaGVhZGVyLT51dWlkWzEwXSwgaGVhZGVyLT51dWlkWzExXSwKKwkJaGVhZGVyLT51dWlkWzEyXSwgaGVhZGVyLT51dWlkWzEzXSwgaGVhZGVyLT51dWlkWzE0XSwKKwkJaGVhZGVyLT51dWlkWzE1XSk7CisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCBsZTMyX3RvX2NwdShoZWFkZXItPnZlcikpOworCisJbHZtX3V1aWQgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLAorCQkJCTEwMjQgKiAxMDI0IC8qIFN0YXJ0IG9mIHRoZSB2b2x1bWUgaW5mbyAqLworCQkJCSsgNTEyIC8qIE9mZnNldCB0byBsdm0gaW5mbyAqLworCQkJCSsgMjAgLyogT2Zmc2V0IGluIGx2bSBpbmZvICovLCAzNSk7CisJaWYgKGx2bV91dWlkKQorCQlibGtpZF9wcm9iZV9zdHJuY3B5X3V1aWQocHIsIGx2bV91dWlkLCAzNSk7CisKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB2bWZzX2ZzX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gIlZNRlMiLAorCS51c2FnZQkJPSBCTEtJRF9VU0FHRV9GSUxFU1lTVEVNLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV92bWZzX2ZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlx4NWVceGYxXHhhYlx4MmYiLCAubGVuID0gNCwgLmtib2ZmID0gMjA0OCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdm1mc192b2x1bWVfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiVk1GU192b2x1bWVfbWVtYmVyIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfUkFJRCwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdm1mc192b2x1bWUsCisJLm1hZ2ljcwkJPQorCXsKKwkJeyAubWFnaWMgPSAiXHgwZFx4ZDBceDAxXHhjMCIsIC5sZW4gPSA0LCAua2JvZmYgPSAxMDI0IH0sCisJCXsgTlVMTCB9CisJfQorfTsKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy92eGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvdnhmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5ZDI4NGMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3Mvdnhmcy5jCkBAIC0wLDAgKzEsNDEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKworI2luY2x1ZGUgInN1cGVyYmxvY2tzLmgiCisKK3N0cnVjdCB2eGZzX3N1cGVyX2Jsb2NrIHsKKwl1aW50MzJfdAkJdnNfbWFnaWM7CisJaW50MzJfdAkJCXZzX3ZlcnNpb247Cit9OworCitzdGF0aWMgaW50IHByb2JlX3Z4ZnMoYmxraWRfcHJvYmUgcHIsIGNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnKQoreworCXN0cnVjdCB2eGZzX3N1cGVyX2Jsb2NrICp2eHM7CisKKwl2eHMgPSBibGtpZF9wcm9iZV9nZXRfc2IocHIsIG1hZywgc3RydWN0IHZ4ZnNfc3VwZXJfYmxvY2spOworCWlmICghdnhzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJYmxraWRfcHJvYmVfc3ByaW50Zl92ZXJzaW9uKHByLCAiJXUiLCAodW5zaWduZWQgaW50KSB2eHMtPnZzX3ZlcnNpb24pOworCXJldHVybiAwOworfQorCisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gdnhmc19pZGluZm8gPQoreworCS5uYW1lCQk9ICJ2eGZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfdnhmcywKKwkubWFnaWNzCQk9CisJeworCQl7IC5tYWdpYyA9ICJcMzY1XDM3NFwwMDFcMjQ1IiwgLmxlbiA9IDQsIC5rYm9mZiA9IDEgfSwKKwkJeyBOVUxMIH0KKwl9Cit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MveGZzLmMgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MveGZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTk4NDhmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy9zdXBlcmJsb2Nrcy94ZnMuYwpAQCAtMCwwICsxLDI4NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5OSBieSBBbmRyaWVzIEJyb3V3ZXIKKyAqIENvcHlyaWdodCAoQykgMTk5OSwgMjAwMCwgMjAwMyBieSBUaGVvZG9yZSBUcydvCisgKiBDb3B5cmlnaHQgKEMpIDIwMDEgYnkgQW5kcmVhcyBEaWxnZXIKKyAqIENvcHlyaWdodCAoQykgMjAwNCBLYXkgU2lldmVycyA8a2F5LnNpZXZlcnNAdnJmeS5vcmc+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgRXJpYyBTYW5kZWVuIDxzYW5kZWVuQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCitzdHJ1Y3QgeGZzX3N1cGVyX2Jsb2NrIHsKKwl1aW50MzJfdAlzYl9tYWdpY251bTsJLyogbWFnaWMgbnVtYmVyID09IFhGU19TQl9NQUdJQyAqLworCXVpbnQzMl90CXNiX2Jsb2Nrc2l6ZTsJLyogbG9naWNhbCBibG9jayBzaXplLCBieXRlcyAqLworCXVpbnQ2NF90CXNiX2RibG9ja3M7CS8qIG51bWJlciBvZiBkYXRhIGJsb2NrcyAqLworCXVpbnQ2NF90CXNiX3JibG9ja3M7CS8qIG51bWJlciBvZiByZWFsdGltZSBibG9ja3MgKi8KKwl1aW50NjRfdAlzYl9yZXh0ZW50czsJLyogbnVtYmVyIG9mIHJlYWx0aW1lIGV4dGVudHMgKi8KKwl1bnNpZ25lZCBjaGFyCXNiX3V1aWRbMTZdOwkvKiBmaWxlIHN5c3RlbSB1bmlxdWUgaWQgKi8KKwl1aW50NjRfdAlzYl9sb2dzdGFydDsJLyogc3RhcnRpbmcgYmxvY2sgb2YgbG9nIGlmIGludGVybmFsICovCisJdWludDY0X3QJc2Jfcm9vdGlubzsJLyogcm9vdCBpbm9kZSBudW1iZXIgKi8KKwl1aW50NjRfdAlzYl9yYm1pbm87CS8qIGJpdG1hcCBpbm9kZSBmb3IgcmVhbHRpbWUgZXh0ZW50cyAqLworCXVpbnQ2NF90CXNiX3JzdW1pbm87CS8qIHN1bW1hcnkgaW5vZGUgZm9yIHJ0IGJpdG1hcCAqLworCXVpbnQzMl90CXNiX3JleHRzaXplOwkvKiByZWFsdGltZSBleHRlbnQgc2l6ZSwgYmxvY2tzICovCisJdWludDMyX3QJc2JfYWdibG9ja3M7CS8qIHNpemUgb2YgYW4gYWxsb2NhdGlvbiBncm91cCAqLworCXVpbnQzMl90CXNiX2FnY291bnQ7CS8qIG51bWJlciBvZiBhbGxvY2F0aW9uIGdyb3VwcyAqLworCXVpbnQzMl90CXNiX3JibWJsb2NrczsJLyogbnVtYmVyIG9mIHJ0IGJpdG1hcCBibG9ja3MgKi8KKwl1aW50MzJfdAlzYl9sb2dibG9ja3M7CS8qIG51bWJlciBvZiBsb2cgYmxvY2tzICovCisKKwl1aW50MTZfdAlzYl92ZXJzaW9ubnVtOwkvKiBoZWFkZXIgdmVyc2lvbiA9PSBYRlNfU0JfVkVSU0lPTiAqLworCXVpbnQxNl90CXNiX3NlY3RzaXplOwkvKiB2b2x1bWUgc2VjdG9yIHNpemUsIGJ5dGVzICovCisJdWludDE2X3QJc2JfaW5vZGVzaXplOwkvKiBpbm9kZSBzaXplLCBieXRlcyAqLworCXVpbnQxNl90CXNiX2lub3BibG9jazsJLyogaW5vZGVzIHBlciBibG9jayAqLworCWNoYXIJCXNiX2ZuYW1lWzEyXTsJLyogZmlsZSBzeXN0ZW0gbmFtZSAqLworCXVpbnQ4X3QJCXNiX2Jsb2NrbG9nOwkvKiBsb2cyIG9mIHNiX2Jsb2Nrc2l6ZSAqLworCXVpbnQ4X3QJCXNiX3NlY3Rsb2c7CS8qIGxvZzIgb2Ygc2Jfc2VjdHNpemUgKi8KKwl1aW50OF90CQlzYl9pbm9kZWxvZzsJLyogbG9nMiBvZiBzYl9pbm9kZXNpemUgKi8KKwl1aW50OF90CQlzYl9pbm9wYmxvZzsJLyogbG9nMiBvZiBzYl9pbm9wYmxvY2sgKi8KKwl1aW50OF90CQlzYl9hZ2Jsa2xvZzsJLyogbG9nMiBvZiBzYl9hZ2Jsb2NrcyAocm91bmRlZCB1cCkgKi8KKwl1aW50OF90CQlzYl9yZXh0c2xvZzsJLyogbG9nMiBvZiBzYl9yZXh0ZW50cyAqLworCXVpbnQ4X3QJCXNiX2lucHJvZ3Jlc3M7CS8qIG1rZnMgaXMgaW4gcHJvZ3Jlc3MsIGRvbid0IG1vdW50ICovCisJdWludDhfdAkJc2JfaW1heF9wY3Q7CS8qIG1heCAlIG9mIGZzIGZvciBpbm9kZSBzcGFjZSAqLworCQkJCQkvKiBzdGF0aXN0aWNzICovCisJdWludDY0X3QJc2JfaWNvdW50OwkvKiBhbGxvY2F0ZWQgaW5vZGVzICovCisJdWludDY0X3QJc2JfaWZyZWU7CS8qIGZyZWUgaW5vZGVzICovCisJdWludDY0X3QJc2JfZmRibG9ja3M7CS8qIGZyZWUgZGF0YSBibG9ja3MgKi8KKwl1aW50NjRfdAlzYl9mcmV4dGVudHM7CS8qIGZyZWUgcmVhbHRpbWUgZXh0ZW50cyAqLworCisJLyogdGhpcyBpcyBub3QgYWxsLi4uIGJ1dCBlbm91Z2ggZm9yIGxpYmJsa2lkICovCisKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgWEZTX01JTl9CTE9DS1NJWkVfTE9HCTkJLyogaS5lLiA1MTIgYnl0ZXMgKi8KKyNkZWZpbmUgWEZTX01BWF9CTE9DS1NJWkVfTE9HCTE2CS8qIGkuZS4gNjU1MzYgYnl0ZXMgKi8KKyNkZWZpbmUgWEZTX01JTl9CTE9DS1NJWkUJKDEgPDwgWEZTX01JTl9CTE9DS1NJWkVfTE9HKQorI2RlZmluZSBYRlNfTUFYX0JMT0NLU0laRQkoMSA8PCBYRlNfTUFYX0JMT0NLU0laRV9MT0cpCisjZGVmaW5lIFhGU19NSU5fU0VDVE9SU0laRV9MT0cJOQkvKiBpLmUuIDUxMiBieXRlcyAqLworI2RlZmluZSBYRlNfTUFYX1NFQ1RPUlNJWkVfTE9HCTE1CS8qIGkuZS4gMzI3NjggYnl0ZXMgKi8KKyNkZWZpbmUgWEZTX01JTl9TRUNUT1JTSVpFCSgxIDw8IFhGU19NSU5fU0VDVE9SU0laRV9MT0cpCisjZGVmaW5lIFhGU19NQVhfU0VDVE9SU0laRQkoMSA8PCBYRlNfTUFYX1NFQ1RPUlNJWkVfTE9HKQorCisjZGVmaW5lCVhGU19ESU5PREVfTUlOX0xPRwk4CisjZGVmaW5lCVhGU19ESU5PREVfTUFYX0xPRwkxMQorI2RlZmluZQlYRlNfRElOT0RFX01JTl9TSVpFCSgxIDw8IFhGU19ESU5PREVfTUlOX0xPRykKKyNkZWZpbmUJWEZTX0RJTk9ERV9NQVhfU0laRQkoMSA8PCBYRlNfRElOT0RFX01BWF9MT0cpCisKKyNkZWZpbmUJWEZTX01BWF9SVEVYVFNJWkUJKDEwMjQgKiAxMDI0ICogMTAyNCkJLyogMUdCICovCisjZGVmaW5lCVhGU19ERkxfUlRFWFRTSVpFCSg2NCAqIDEwMjQpCSAgICAgICAgLyogNjRrQiAqLworI2RlZmluZQlYRlNfTUlOX1JURVhUU0laRQkoNCAqIDEwMjQpCQkvKiA0a0IgKi8KKworI2RlZmluZSBYRlNfTUlOX0FHX0JMT0NLUwk2NAorI2RlZmluZSBYRlNfTUFYX0RCTE9DS1MocykgKCh1aW50NjRfdCkocyktPnNiX2FnY291bnQgKiAocyktPnNiX2FnYmxvY2tzKQorI2RlZmluZSBYRlNfTUlOX0RCTE9DS1MocykgKCh1aW50NjRfdCkoKHMpLT5zYl9hZ2NvdW50IC0gMSkgKglcCisJCQkgKHMpLT5zYl9hZ2Jsb2NrcyArIFhGU19NSU5fQUdfQkxPQ0tTKQorCisKK3N0YXRpYyB2b2lkIHNiX2Zyb21fZGlzayhzdHJ1Y3QgeGZzX3N1cGVyX2Jsb2NrICpmcm9tLAorCQkJIHN0cnVjdCB4ZnNfc3VwZXJfYmxvY2sgKnRvKQoreworCisJdG8tPnNiX21hZ2ljbnVtID0gYmUzMl90b19jcHUoZnJvbS0+c2JfbWFnaWNudW0pOworCXRvLT5zYl9ibG9ja3NpemUgPSBiZTMyX3RvX2NwdShmcm9tLT5zYl9ibG9ja3NpemUpOworCXRvLT5zYl9kYmxvY2tzID0gYmU2NF90b19jcHUoZnJvbS0+c2JfZGJsb2Nrcyk7CisJdG8tPnNiX3JibG9ja3MgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9yYmxvY2tzKTsKKwl0by0+c2JfcmV4dGVudHMgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9yZXh0ZW50cyk7CisJdG8tPnNiX2xvZ3N0YXJ0ID0gYmU2NF90b19jcHUoZnJvbS0+c2JfbG9nc3RhcnQpOworCXRvLT5zYl9yb290aW5vID0gYmU2NF90b19jcHUoZnJvbS0+c2Jfcm9vdGlubyk7CisJdG8tPnNiX3JibWlubyA9IGJlNjRfdG9fY3B1KGZyb20tPnNiX3JibWlubyk7CisJdG8tPnNiX3JzdW1pbm8gPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9yc3VtaW5vKTsKKwl0by0+c2JfcmV4dHNpemUgPSBiZTMyX3RvX2NwdShmcm9tLT5zYl9yZXh0c2l6ZSk7CisJdG8tPnNiX2FnYmxvY2tzID0gYmUzMl90b19jcHUoZnJvbS0+c2JfYWdibG9ja3MpOworCXRvLT5zYl9hZ2NvdW50ID0gYmUzMl90b19jcHUoZnJvbS0+c2JfYWdjb3VudCk7CisJdG8tPnNiX3JibWJsb2NrcyA9IGJlMzJfdG9fY3B1KGZyb20tPnNiX3JibWJsb2Nrcyk7CisJdG8tPnNiX2xvZ2Jsb2NrcyA9IGJlMzJfdG9fY3B1KGZyb20tPnNiX2xvZ2Jsb2Nrcyk7CisJdG8tPnNiX3ZlcnNpb25udW0gPSBiZTE2X3RvX2NwdShmcm9tLT5zYl92ZXJzaW9ubnVtKTsKKwl0by0+c2Jfc2VjdHNpemUgPSBiZTE2X3RvX2NwdShmcm9tLT5zYl9zZWN0c2l6ZSk7CisJdG8tPnNiX2lub2Rlc2l6ZSA9IGJlMTZfdG9fY3B1KGZyb20tPnNiX2lub2Rlc2l6ZSk7CisJdG8tPnNiX2lub3BibG9jayA9IGJlMTZfdG9fY3B1KGZyb20tPnNiX2lub3BibG9jayk7CisJdG8tPnNiX2Jsb2NrbG9nID0gZnJvbS0+c2JfYmxvY2tsb2c7CisJdG8tPnNiX3NlY3Rsb2cgPSBmcm9tLT5zYl9zZWN0bG9nOworCXRvLT5zYl9pbm9kZWxvZyA9IGZyb20tPnNiX2lub2RlbG9nOworCXRvLT5zYl9pbm9wYmxvZyA9IGZyb20tPnNiX2lub3BibG9nOworCXRvLT5zYl9hZ2Jsa2xvZyA9IGZyb20tPnNiX2FnYmxrbG9nOworCXRvLT5zYl9yZXh0c2xvZyA9IGZyb20tPnNiX3JleHRzbG9nOworCXRvLT5zYl9pbnByb2dyZXNzID0gZnJvbS0+c2JfaW5wcm9ncmVzczsKKwl0by0+c2JfaW1heF9wY3QgPSBmcm9tLT5zYl9pbWF4X3BjdDsKKwl0by0+c2JfaWNvdW50ID0gYmU2NF90b19jcHUoZnJvbS0+c2JfaWNvdW50KTsKKwl0by0+c2JfaWZyZWUgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9pZnJlZSk7CisJdG8tPnNiX2ZkYmxvY2tzID0gYmU2NF90b19jcHUoZnJvbS0+c2JfZmRibG9ja3MpOworCXRvLT5zYl9mcmV4dGVudHMgPSBiZTY0X3RvX2NwdShmcm9tLT5zYl9mcmV4dGVudHMpOworfQorCitzdGF0aWMgaW50IHhmc192ZXJpZnlfc2Ioc3RydWN0IHhmc19zdXBlcl9ibG9jayAqb25kaXNrKQoreworCXN0cnVjdCB4ZnNfc3VwZXJfYmxvY2sgc2IsICpzYnAgPSAmc2I7CisKKwkvKiBiZVhYX3RvX2NwdSgpLCBidXQgZG9uJ3QgY29udmVydCBVVUlEIGFuZCBmc25hbWUhICovCisJc2JfZnJvbV9kaXNrKG9uZGlzaywgc2JwKTsKKworCS8qIHNhbml0eSBjaGVja3MsIHdlIGRvbid0IHdhbnQgdG8gcmVseSBvbiBtYWdpYyBzdHJpbmcgb25seSAqLworCWlmIChzYnAtPnNiX2FnY291bnQgPD0gMAkJCQkJfHwKKwkgICAgc2JwLT5zYl9zZWN0c2l6ZSA8IFhGU19NSU5fU0VDVE9SU0laRQkJCXx8CisJICAgIHNicC0+c2Jfc2VjdHNpemUgPiBYRlNfTUFYX1NFQ1RPUlNJWkUJCQl8fAorCSAgICBzYnAtPnNiX3NlY3Rsb2cgPCBYRlNfTUlOX1NFQ1RPUlNJWkVfTE9HCQkJfHwKKwkgICAgc2JwLT5zYl9zZWN0bG9nID4gWEZTX01BWF9TRUNUT1JTSVpFX0xPRwkJCXx8CisJICAgIHNicC0+c2Jfc2VjdHNpemUgIT0gKDEgPDwgc2JwLT5zYl9zZWN0bG9nKQkJCXx8CisJICAgIHNicC0+c2JfYmxvY2tzaXplIDwgWEZTX01JTl9CTE9DS1NJWkUJCQl8fAorCSAgICBzYnAtPnNiX2Jsb2Nrc2l6ZSA+IFhGU19NQVhfQkxPQ0tTSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9ibG9ja2xvZyA8IFhGU19NSU5fQkxPQ0tTSVpFX0xPRwkJCXx8CisJICAgIHNicC0+c2JfYmxvY2tsb2cgPiBYRlNfTUFYX0JMT0NLU0laRV9MT0cJCQl8fAorCSAgICBzYnAtPnNiX2Jsb2Nrc2l6ZSAhPSAoMVVMTCA8PCBzYnAtPnNiX2Jsb2NrbG9nKQkJfHwKKwkgICAgc2JwLT5zYl9pbm9kZXNpemUgPCBYRlNfRElOT0RFX01JTl9TSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9pbm9kZXNpemUgPiBYRlNfRElOT0RFX01BWF9TSVpFCQkJfHwKKwkgICAgc2JwLT5zYl9pbm9kZWxvZyA8IFhGU19ESU5PREVfTUlOX0xPRwkJCXx8CisJICAgIHNicC0+c2JfaW5vZGVsb2cgPiBYRlNfRElOT0RFX01BWF9MT0cJCQl8fAorCSAgICBzYnAtPnNiX2lub2Rlc2l6ZSAhPSAoMSA8PCBzYnAtPnNiX2lub2RlbG9nKQkJfHwKKwkgICAgKHNicC0+c2JfYmxvY2tsb2cgLSBzYnAtPnNiX2lub2RlbG9nICE9IHNicC0+c2JfaW5vcGJsb2cpCXx8CisJICAgIChzYnAtPnNiX3JleHRzaXplICogc2JwLT5zYl9ibG9ja3NpemUgPiBYRlNfTUFYX1JURVhUU0laRSkJfHwKKwkgICAgKHNicC0+c2JfcmV4dHNpemUgKiBzYnAtPnNiX2Jsb2Nrc2l6ZSA8IFhGU19NSU5fUlRFWFRTSVpFKQl8fAorCSAgICAoc2JwLT5zYl9pbWF4X3BjdCA+IDEwMCAvKiB6ZXJvIHNiX2ltYXhfcGN0IGlzIHZhbGlkICovKQl8fAorCSAgICBzYnAtPnNiX2RibG9ja3MgPT0gMAkJCQkJfHwKKwkgICAgc2JwLT5zYl9kYmxvY2tzID4gWEZTX01BWF9EQkxPQ0tTKHNicCkJCQl8fAorCSAgICBzYnAtPnNiX2RibG9ja3MgPCBYRlNfTUlOX0RCTE9DS1Moc2JwKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBUT0RPOiB2ZXJzaW9uIDUgaGFzIGFsc28gY2hlY2tzdW0gQ1JDMzIsIG1heWJlIHdlIGNhbiBjaGVjayBpdCB0b28gKi8KKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IHByb2JlX3hmcyhibGtpZF9wcm9iZSBwciwgY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcpCit7CisJc3RydWN0IHhmc19zdXBlcl9ibG9jayAqeHM7CisKKwl4cyA9IGJsa2lkX3Byb2JlX2dldF9zYihwciwgbWFnLCBzdHJ1Y3QgeGZzX3N1cGVyX2Jsb2NrKTsKKwlpZiAoIXhzKQorCQlyZXR1cm4gZXJybm8gPyAtZXJybm8gOiAxOworCisJaWYgKCF4ZnNfdmVyaWZ5X3NiKHhzKSkKKwkJcmV0dXJuIDE7CisKKwlpZiAoKnhzLT5zYl9mbmFtZSAhPSAnXDAnKQorCQlibGtpZF9wcm9iZV9zZXRfbGFiZWwocHIsICh1bnNpZ25lZCBjaGFyICopIHhzLT5zYl9mbmFtZSwKKwkJCQlzaXplb2YoeHMtPnNiX2ZuYW1lKSk7CisJYmxraWRfcHJvYmVfc2V0X3V1aWQocHIsIHhzLT5zYl91dWlkKTsKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB4ZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAieGZzIiwKKwkudXNhZ2UJCT0gQkxLSURfVVNBR0VfRklMRVNZU1RFTSwKKwkucHJvYmVmdW5jCT0gcHJvYmVfeGZzLAorCS5tYWdpY3MJCT0KKwl7CisJCXsgLm1hZ2ljID0gIlhGU0IiLCAubGVuID0gNCB9LAorCQl7IE5VTEwgfQorCX0KK307CisKK3N0cnVjdCB4bG9nX3JlY19oZWFkZXIgeworCXVpbnQzMl90CWhfbWFnaWNubzsKKwl1aW50MzJfdAloX2R1bW15MVsxXTsKKwl1aW50MzJfdAloX3ZlcnNpb247CisJdWludDMyX3QJaF9sZW47CisJdWludDMyX3QJaF9kdW1teTJbNzFdOworCXVpbnQzMl90CWhfZm10OworCXVuc2lnbmVkIGNoYXIJaF91dWlkWzE2XTsKK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgWExPR19IRUFERVJfTUFHSUNfTlVNIDB4RkVFRGJhYmUKKworLyoKKyAqIEZvciB2ZXJ5IHNtYWxsIGZpbGVzeXN0ZW1zLCB0aGUgbWluaW11bSBsb2cgc2l6ZQorICogY2FuIGJlIHNtYWxsZXIsIGJ1dCB0aGF0IHNlZW1zIHZhbmlzaGluZ2x5IHVubGlrZWx5CisgKiB3aGVuIHVzZWQgd2l0aCBhbiBleHRlcm5hbCBsb2cgKHdoaWNoIGlzIHVzZWQgZm9yCisgKiBwZXJmb3JtYW5jZSByZWFzb25zOyB0aW55IGNvbmZsaWN0cyB3aXRoIHRoYXQgZ29hbCkuCisgKi8KKyNkZWZpbmUgWEZTX01JTl9MT0dfQllURVMJKDEwICogMTAyNCAqIDEwMjQpCisKKyNkZWZpbmUgWExPR19GTVRfTElOVVhfTEUJMQorI2RlZmluZSBYTE9HX0ZNVF9MSU5VWF9CRQkyCisjZGVmaW5lIFhMT0dfRk1UX0lSSVhfQkUJMworCisjZGVmaW5lIFhMT0dfVkVSU0lPTl8xCQkxCisjZGVmaW5lIFhMT0dfVkVSU0lPTl8yCQkyCS8qIExhcmdlIElDbG9ncywgTG9nIHN1bml0ICovCisjZGVmaW5lIFhMT0dfVkVSU0lPTl9PS0JJVFMJKFhMT0dfVkVSU0lPTl8xIHwgWExPR19WRVJTSU9OXzIpCisKK3N0YXRpYyBpbnQgeGxvZ192YWxpZF9yZWNfaGVhZGVyKHN0cnVjdCB4bG9nX3JlY19oZWFkZXIgKnJoZWFkKQoreworCXVpbnQzMl90IGhsZW47CisKKwlpZiAocmhlYWQtPmhfbWFnaWNubyAhPSBjcHVfdG9fYmUzMihYTE9HX0hFQURFUl9NQUdJQ19OVU0pKQorCQlyZXR1cm4gMDsKKworCWlmICghcmhlYWQtPmhfdmVyc2lvbiB8fAorICAgICAgICAgICAgKGJlMzJfdG9fY3B1KHJoZWFkLT5oX3ZlcnNpb24pICYgKH5YTE9HX1ZFUlNJT05fT0tCSVRTKSkpCisJCXJldHVybiAwOworCisJLyogTFIgYm9keSBtdXN0IGhhdmUgZGF0YSBvciBpdCB3b3VsZG4ndCBoYXZlIGJlZW4gd3JpdHRlbiAqLworCWhsZW4gPSBiZTMyX3RvX2NwdShyaGVhZC0+aF9sZW4pOworCWlmIChobGVuIDw9IDAgfHwgaGxlbiA+IElOVF9NQVgpCisJCXJldHVybiAwOworCisJaWYgKHJoZWFkLT5oX2ZtdCAhPSBjcHVfdG9fYmUzMihYTE9HX0ZNVF9MSU5VWF9MRSkgJiYKKwkgICAgcmhlYWQtPmhfZm10ICE9IGNwdV90b19iZTMyKFhMT0dfRk1UX0xJTlVYX0JFKSAmJgorCSAgICByaGVhZC0+aF9mbXQgIT0gY3B1X3RvX2JlMzIoWExPR19GTVRfSVJJWF9CRSkpCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKKy8qIHhsb2cgcmVjb3JkIGhlYWRlciB3aWxsIGJlIGluIHNvbWUgc2VjdG9yIGluIHRoZSBmaXJzdCAyNTZrICovCitzdGF0aWMgaW50IHByb2JlX3hmc19sb2coYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgeGxvZ19yZWNfaGVhZGVyICpyaGVhZDsKKwl1bnNpZ25lZCBjaGFyICpidWY7CisKKwlidWYgPSBibGtpZF9wcm9iZV9nZXRfYnVmZmVyKHByLCAwLCAyNTYqMTAyNCk7CisJaWYgKCFidWYpCisJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwlpZiAobWVtY21wKGJ1ZiwgIlhGU0IiLCA0KSA9PSAwKQorCQlyZXR1cm4gMTsJCQkvKiB0aGlzIGlzIHJlZ3VsYXIgWEZTLCBpZ25vcmUgKi8KKworCS8qIGNoZWNrIHRoZSBmaXJzdCA1MTIgNTEyLWJ5dGUgc2VjdG9ycyAqLworCWZvciAoaSA9IDA7IGkgPCA1MTI7IGkrKykgeworCQlyaGVhZCA9IChzdHJ1Y3QgeGxvZ19yZWNfaGVhZGVyICopJmJ1ZltpKjUxMl07CisKKwkJaWYgKHhsb2dfdmFsaWRfcmVjX2hlYWRlcihyaGVhZCkpIHsKKwkJCWJsa2lkX3Byb2JlX3NldF91dWlkX2FzKHByLCByaGVhZC0+aF91dWlkLCAiTE9HVVVJRCIpOworCisJCQlpZiAoYmxraWRfcHJvYmVfc2V0X21hZ2ljKHByLCBpICogNTEyLAorCQkJCQkJc2l6ZW9mKHJoZWFkLT5oX21hZ2ljbm8pLAorCQkJCQkJKHVuc2lnbmVkIGNoYXIgKikgJnJoZWFkLT5oX21hZ2ljbm8pKQorCQkJCXJldHVybiAxOworCisJCQlyZXR1cm4gMDsKKwkJfQorCX0KKworCXJldHVybiAxOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIHhmc19sb2dfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAieGZzX2V4dGVybmFsX2xvZyIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX09USEVSLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV94ZnNfbG9nLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQywKKwkubWluc3oJCT0gWEZTX01JTl9MT0dfQllURVMsCit9OwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3pmcy5jIGIvbGliYmxraWQvc3JjL3N1cGVyYmxvY2tzL3pmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyOTJiMzAKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvc3VwZXJibG9ja3MvemZzLmMKQEAgLTAsMCArMSwyODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDktMjAxMCBieSBBbmRyZWFzIERpbGdlciA8YWRpbGdlckBzdW4uY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGludHR5cGVzLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKKyNpbmNsdWRlICJzdXBlcmJsb2Nrcy5oIgorCisjZGVmaW5lIFZERVZfTEFCRUxfVUJFUkJMT0NLCSgxMjggKiAxMDI0VUxMKQorI2RlZmluZSBWREVWX0xBQkVMX05WUEFJUgkoIDE2ICogMTAyNFVMTCkKKyNkZWZpbmUgVkRFVl9MQUJFTF9TSVpFCQkoMjU2ICogMTAyNFVMTCkKKyNkZWZpbmUgVUJFUkJMT0NLX1NJWkUJCTEwMjRVTEwKKyNkZWZpbmUgVUJFUkJMT0NLU19DT1VOVCAgIDEyOAorCisvKiAjaW5jbHVkZSA8c3lzL3ViZXJibG9ja19pbXBsLmg+ICovCisjZGVmaW5lIFVCRVJCTE9DS19NQUdJQyAgICAgICAgIDB4MDBiYWIxMGMgICAgICAgICAgICAgIC8qIG9vLWJhLWJsb2MhICAqLworc3RydWN0IHpmc191YmVyYmxvY2sgeworCXVpbnQ2NF90CXViX21hZ2ljOwkvKiBVQkVSQkxPQ0tfTUFHSUMJCSovCisJdWludDY0X3QJdWJfdmVyc2lvbjsJLyogU1BBX1ZFUlNJT04JCQkqLworCXVpbnQ2NF90CXViX3R4ZzsJCS8qIHR4ZyBvZiBsYXN0IHN5bmMJCSovCisJdWludDY0X3QJdWJfZ3VpZF9zdW07CS8qIHN1bSBvZiBhbGwgdmRldiBndWlkcwkqLworCXVpbnQ2NF90CXViX3RpbWVzdGFtcDsJLyogVVRDIHRpbWUgb2YgbGFzdCBzeW5jCSovCisJY2hhcgkJdWJfcm9vdGJwOwkvKiBNT1Mgb2Jqc2V0X3BoeXNfdAkJKi8KK30gX19hdHRyaWJ1dGVfXygocGFja2VkKSk7CisKKyNkZWZpbmUgWkZTX1dBTlQJIDQKKworI2RlZmluZSBEQVRBX1RZUEVfVUlOVDY0IDgKKyNkZWZpbmUgREFUQV9UWVBFX1NUUklORyA5CisKK3N0cnVjdCBudnBhaXIgeworCXVpbnQzMl90CW52cF9zaXplOworCXVpbnQzMl90CW52cF91bmtvd247CisJdWludDMyX3QJbnZwX25hbWVsZW47CisJY2hhcgkJbnZwX25hbWVbMF07IC8qIGFsaWduZWQgdG8gNCBieXRlcyAqLworCS8qIGFsaWduZWQgcHRyIGFycmF5IGZvciBzdHJpbmcgYXJyYXlzICovCisJLyogYWxpZ25lZCBhcnJheSBvZiBkYXRhIGZvciB2YWx1ZSAqLworfTsKKworc3RydWN0IG52c3RyaW5nIHsKKwl1aW50MzJfdAludnNfdHlwZTsKKwl1aW50MzJfdAludnNfZWxlbTsKKwl1aW50MzJfdAludnNfc3RybGVuOworCXVuc2lnbmVkIGNoYXIJbnZzX3N0cmluZ1swXTsKK307CisKK3N0cnVjdCBudnVpbnQ2NCB7CisJdWludDMyX3QJbnZ1X3R5cGU7CisJdWludDMyX3QJbnZ1X2VsZW07CisJdWludDY0X3QJbnZ1X3ZhbHVlOworfTsKKworc3RydWN0IG52bGlzdCB7CisJdWludDMyX3QJbnZsX3Vua25vd25bM107CisJc3RydWN0IG52cGFpcgludmxfbnZwYWlyOworfTsKKworc3RhdGljIGludCB6ZnNfcHJvY2Vzc192YWx1ZShibGtpZF9wcm9iZSBwciwgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVsZW4sCisJCQkgICAgIHZvaWQgKnZhbHVlLCBzaXplX3QgbWF4X3ZhbHVlX3NpemUpCit7CisJaWYgKHN0cm5jbXAobmFtZSwgIm5hbWUiLCBuYW1lbGVuKSA9PSAwICYmCisJICAgIHNpemVvZihzdHJ1Y3QgbnZzdHJpbmcpIDw9IG1heF92YWx1ZV9zaXplKSB7CisJCXN0cnVjdCBudnN0cmluZyAqbnZzID0gdmFsdWU7CisJCXVpbnQzMl90IG52c190eXBlID0gYmUzMl90b19jcHUobnZzLT5udnNfdHlwZSk7CisJCXVpbnQzMl90IG52c19zdHJsZW4gPSBiZTMyX3RvX2NwdShudnMtPm52c19zdHJsZW4pOworCisJCWlmIChudnNfdHlwZSAhPSBEQVRBX1RZUEVfU1RSSU5HIHx8CisJCSAgICAodWludDY0X3QpbnZzX3N0cmxlbiArIHNpemVvZigqbnZzKSA+IG1heF92YWx1ZV9zaXplKQorCQkJcmV0dXJuIDA7CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygibnZzdHJpbmc6IHR5cGUgJXUgc3RyaW5nICUqc1xuIiwKKwkJCQkgICAgICAgbnZzX3R5cGUsIG52c19zdHJsZW4sIG52cy0+bnZzX3N0cmluZykpOworCisJCWJsa2lkX3Byb2JlX3NldF9sYWJlbChwciwgbnZzLT5udnNfc3RyaW5nLCBudnNfc3RybGVuKTsKKworCQlyZXR1cm4gMTsKKwl9IGVsc2UgaWYgKHN0cm5jbXAobmFtZSwgImd1aWQiLCBuYW1lbGVuKSA9PSAwICYmCisJCSAgIHNpemVvZihzdHJ1Y3QgbnZ1aW50NjQpIDw9IG1heF92YWx1ZV9zaXplKSB7CisJCXN0cnVjdCBudnVpbnQ2NCAqbnZ1ID0gdmFsdWU7CisJCXVpbnQzMl90IG52dV90eXBlID0gYmUzMl90b19jcHUobnZ1LT5udnVfdHlwZSk7CisJCXVpbnQ2NF90IG52dV92YWx1ZTsKKworCQltZW1jcHkoJm52dV92YWx1ZSwgJm52dS0+bnZ1X3ZhbHVlLCBzaXplb2YobnZ1X3ZhbHVlKSk7CisJCW52dV92YWx1ZSA9IGJlNjRfdG9fY3B1KG52dV92YWx1ZSk7CisKKwkJaWYgKG52dV90eXBlICE9IERBVEFfVFlQRV9VSU5UNjQpCisJCQlyZXR1cm4gMDsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJudnVpbnQ2NDogdHlwZSAldSB2YWx1ZSAlIlBSSXU2NCJcbiIsCisJCQkJICAgICAgIG52dV90eXBlLCBudnVfdmFsdWUpKTsKKworCQlibGtpZF9wcm9iZV9zcHJpbnRmX3ZhbHVlKHByLCAiVVVJRF9TVUIiLAorCQkJCQkgICIlIlBSSXU2NCwgbnZ1X3ZhbHVlKTsKKworCQlyZXR1cm4gMTsKKwl9IGVsc2UgaWYgKHN0cm5jbXAobmFtZSwgInBvb2xfZ3VpZCIsIG5hbWVsZW4pID09IDAgJiYKKwkJICAgc2l6ZW9mKHN0cnVjdCBudnVpbnQ2NCkgPD0gbWF4X3ZhbHVlX3NpemUpIHsKKwkJc3RydWN0IG52dWludDY0ICpudnUgPSB2YWx1ZTsKKwkJdWludDMyX3QgbnZ1X3R5cGUgPSBiZTMyX3RvX2NwdShudnUtPm52dV90eXBlKTsKKwkJdWludDY0X3QgbnZ1X3ZhbHVlOworCisJCW1lbWNweSgmbnZ1X3ZhbHVlLCAmbnZ1LT5udnVfdmFsdWUsIHNpemVvZihudnVfdmFsdWUpKTsKKwkJbnZ1X3ZhbHVlID0gYmU2NF90b19jcHUobnZ1X3ZhbHVlKTsKKworCQlpZiAobnZ1X3R5cGUgIT0gREFUQV9UWVBFX1VJTlQ2NCkKKwkJCXJldHVybiAwOworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIm52dWludDY0OiB0eXBlICV1IHZhbHVlICUiUFJJdTY0IlxuIiwKKwkJCQkgICAgICAgbnZ1X3R5cGUsIG52dV92YWx1ZSkpOworCisJCWJsa2lkX3Byb2JlX3NwcmludGZfdXVpZChwciwgKHVuc2lnbmVkIGNoYXIgKikgJm52dV92YWx1ZSwKKwkJCQkJIHNpemVvZihudnVfdmFsdWUpLAorCQkJCQkgIiUiUFJJdTY0LCBudnVfdmFsdWUpOworCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgemZzX2V4dHJhY3RfZ3VpZF9uYW1lKGJsa2lkX3Byb2JlIHByLCBsb2ZmX3Qgb2Zmc2V0KQoreworCXVuc2lnbmVkIGNoYXIgKnA7CisJc3RydWN0IG52bGlzdCAqbnZsOworCXN0cnVjdCBudnBhaXIgKm52cDsKKwlzaXplX3QgbGVmdCA9IDQwOTY7CisJaW50IGZvdW5kID0gMDsKKworCW9mZnNldCA9IChvZmZzZXQgJiB+KFZERVZfTEFCRUxfU0laRSAtIDEpKSArIFZERVZfTEFCRUxfTlZQQUlSOworCisJLyogTm90ZSB0aGF0IHdlIGN1cnJlbnRseSBhc3N1bWUgdGhhdCB0aGUgZGVzaXJlZCBmaWVsZHMgYXJlIHdpdGhpbgorCSAqIHRoZSBmaXJzdCA0ayAobGVmdCkgb2YgdGhlIG52bGlzdC4gIFRoaXMgaXMgdHJ1ZSBmb3IgYWxsIHBvb2xzCisJICogSSd2ZSBzZWVuLCBhbmQgc2ltcGxpZmllcyB0aGlzIGNvZGUgc29tZXdoYXQsIGJlY2F1c2Ugd2UgZG9uJ3QKKwkgKiBoYXZlIHRvIGhhbmRsZSBhbiBudnBhaXIgY3Jvc3NpbmcgYSBidWZmZXIgYm91bmRhcnkuICovCisJcCA9IGJsa2lkX3Byb2JlX2dldF9idWZmZXIocHIsIG9mZnNldCwgbGVmdCk7CisJaWYgKCFwKQorCQlyZXR1cm47CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJ6ZnNfZXh0cmFjdDogbnZsaXN0IG9mZnNldCAlamRcbiIsCisJCQkgICAgICAgKGludG1heF90KW9mZnNldCkpOworCisJbnZsID0gKHN0cnVjdCBudmxpc3QgKikgcDsKKwludnAgPSAmbnZsLT5udmxfbnZwYWlyOworCWxlZnQgLT0gKHVuc2lnbmVkIGNoYXIgKiludnAgLSBwOyAvKiBBbHJlYWR5IHVzZWQgdXAgMTIgYnl0ZXMgKi8KKworCXdoaWxlIChsZWZ0ID4gc2l6ZW9mKCpudnApICYmIG52cC0+bnZwX3NpemUgIT0gMCAmJiBmb3VuZCA8IDMpIHsKKwkJdWludDMyX3QgbnZwX3NpemUgPSBiZTMyX3RvX2NwdShudnAtPm52cF9zaXplKTsKKwkJdWludDMyX3QgbnZwX25hbWVsZW4gPSBiZTMyX3RvX2NwdShudnAtPm52cF9uYW1lbGVuKTsKKwkJdWludDY0X3QgbmFtZXNpemUgPSAoKHVpbnQ2NF90KW52cF9uYW1lbGVuICsgMykgJiB+MzsKKwkJc2l6ZV90IG1heF92YWx1ZV9zaXplOworCQl2b2lkICp2YWx1ZTsKKworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJsZWZ0ICV6ZCBudnBfc2l6ZSAldVxuIiwKKwkJCQkgICAgICAgbGVmdCwgbnZwX3NpemUpKTsKKworCQkvKiBudnBhaXIgZml0cyBpbiBidWZmZXIgYW5kIG5hbWUgZml0cyBpbiBudnBhaXI/ICovCisJCWlmIChudnBfc2l6ZSA+IGxlZnQgfHwgbmFtZXNpemUgKyBzaXplb2YoKm52cCkgPiBudnBfc2l6ZSkKKwkJCWJyZWFrOworCisJCURCRyhMT1dQUk9CRSwKKwkJICAgIHVsX2RlYnVnKCJudmxpc3Q6IHNpemUgJXUsIG5hbWVsZW4gJXUsIG5hbWUgJSpzXG4iLAorCQkJICAgICBudnBfc2l6ZSwgbnZwX25hbWVsZW4sIG52cF9uYW1lbGVuLAorCQkJICAgICBudnAtPm52cF9uYW1lKSk7CisKKwkJbWF4X3ZhbHVlX3NpemUgPSBudnBfc2l6ZSAtIChuYW1lc2l6ZSArIHNpemVvZigqbnZwKSk7CisJCXZhbHVlID0gbnZwLT5udnBfbmFtZSArIG5hbWVzaXplOworCisJCWZvdW5kICs9IHpmc19wcm9jZXNzX3ZhbHVlKHByLCBudnAtPm52cF9uYW1lLCBudnBfbmFtZWxlbiwKKwkJCQkJICAgdmFsdWUsIG1heF92YWx1ZV9zaXplKTsKKworCQlsZWZ0IC09IG52cF9zaXplOworCisJCW52cCA9IChzdHJ1Y3QgbnZwYWlyICopKChjaGFyICopbnZwICsgbnZwX3NpemUpOworCX0KK30KKworc3RhdGljIGludCBmaW5kX3ViZXJibG9ja3MoY29uc3Qgdm9pZCAqbGFiZWwsIGxvZmZfdCAqdWJfb2Zmc2V0LCBpbnQgKnN3YXBfZW5kaWFuKQoreworCXVpbnQ2NF90IHN3YWJfbWFnaWMgPSBzd2FiNjQoKHVpbnQ2NF90KVVCRVJCTE9DS19NQUdJQyk7CisJY29uc3Qgc3RydWN0IHpmc191YmVyYmxvY2sgKnViOworCWludCBpLCBmb3VuZCA9IDA7CisJbG9mZl90IG9mZnNldCA9IFZERVZfTEFCRUxfVUJFUkJMT0NLOworCisJZm9yIChpID0gMDsgaSA8IFVCRVJCTE9DS1NfQ09VTlQ7IGkrKywgb2Zmc2V0ICs9IFVCRVJCTE9DS19TSVpFKSB7CisJCXViID0gKGNvbnN0IHN0cnVjdCB6ZnNfdWJlcmJsb2NrICopKChjb25zdCBjaGFyICopIGxhYmVsICsgb2Zmc2V0KTsKKworCQlpZiAodWItPnViX21hZ2ljID09IFVCRVJCTE9DS19NQUdJQykgeworCQkJKnViX29mZnNldCA9IG9mZnNldDsKKwkJCSpzd2FwX2VuZGlhbiA9IDA7CisJCQlmb3VuZCsrOworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicHJvYmVfemZzOiBmb3VuZCBsaXR0bGUtZW5kaWFuIHViZXJibG9jayBhdCAlamRcbiIsIChpbnRtYXhfdClvZmZzZXQgPj4gMTApKTsKKwkJfQorCisJCWlmICh1Yi0+dWJfbWFnaWMgPT0gc3dhYl9tYWdpYykgeworCQkJKnViX29mZnNldCA9IG9mZnNldDsKKwkJCSpzd2FwX2VuZGlhbiA9IDE7CisJCQlmb3VuZCsrOworCQkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygicHJvYmVfemZzOiBmb3VuZCBiaWctZW5kaWFuIHViZXJibG9jayBhdCAlamRcbiIsIChpbnRtYXhfdClvZmZzZXQgPj4gMTApKTsKKwkJfQorCX0KKworCXJldHVybiBmb3VuZDsKK30KKworLyogWkZTIGhhcyAxMjh4MWtCIGhvc3QtZW5kaWFuIHJvb3QgYmxvY2tzLCBzdG9yZWQgaW4gMiBhcmVhcyBhdCB0aGUgc3RhcnQKKyAqIG9mIHRoZSBkaXNrLCBhbmQgMiBhcmVhcyBhdCB0aGUgZW5kIG9mIHRoZSBkaXNrLiAgQ2hlY2sgb25seSBzb21lIG9mIHRoZW0uLi4KKyAqICM0IChAIDEzMmtCKSBpcyB0aGUgZmlyc3Qgb25lIHdyaXR0ZW4gb24gYSBuZXcgZmlsZXN5c3RlbS4gKi8KK3N0YXRpYyBpbnQgcHJvYmVfemZzKGJsa2lkX3Byb2JlIHByLAorCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnICBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaW50IHN3YWJfZW5kaWFuID0gMDsKKwlzdHJ1Y3QgemZzX3ViZXJibG9jayAqdWI7CisJbG9mZl90IG9mZnNldCA9IDAsIHViX29mZnNldCA9IDA7CisJaW50IGxhYmVsX25vLCBmb3VuZCA9IDAsIGZvdW5kX2luX2xhYmVsOworCXZvaWQgKmxhYmVsOworCWxvZmZfdCBibGtfYWxpZ24gPSAocHItPnNpemUgJSAoMjU2ICogMTAyNFVMTCkpOworCisJREJHKFBST0JFLCB1bF9kZWJ1ZygicHJvYmVfemZzXG4iKSk7CisJLyogTG9vayBmb3IgYXQgbGVhc3QgNCB1YmVyYmxvY2tzIHRvIGVuc3VyZSBhIHBvc2l0aXZlIG1hdGNoICovCisJZm9yIChsYWJlbF9ubyA9IDA7IGxhYmVsX25vIDwgNDsgbGFiZWxfbm8rKykgeworCQlzd2l0Y2gobGFiZWxfbm8pIHsKKwkJY2FzZSAwOiAvLyBqdW1wIHRvIEwwCisJCQlvZmZzZXQgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgMTogLy8ganVtcCB0byBMMQorCQkJb2Zmc2V0ID0gVkRFVl9MQUJFTF9TSVpFOworCQkJYnJlYWs7CisJCWNhc2UgMjogLy8ganVtcCB0byBMMgorCQkJb2Zmc2V0ID0gcHItPnNpemUgLSAyICogVkRFVl9MQUJFTF9TSVpFIC0gYmxrX2FsaWduOworCQkJYnJlYWs7CisJCWNhc2UgMzogLy8ganVtcCB0byBMMworCQkJb2Zmc2V0ID0gcHItPnNpemUgLSBWREVWX0xBQkVMX1NJWkUgLSBibGtfYWxpZ247CisJCQlicmVhazsKKwkJfQorCisJCWxhYmVsID0gYmxraWRfcHJvYmVfZ2V0X2J1ZmZlcihwciwgb2Zmc2V0LCBWREVWX0xBQkVMX1NJWkUpOworCQlpZiAobGFiZWwgPT0gTlVMTCkKKwkJCXJldHVybiBlcnJubyA/IC1lcnJubyA6IDE7CisKKwkJZm91bmRfaW5fbGFiZWwgPSBmaW5kX3ViZXJibG9ja3MobGFiZWwsICZ1Yl9vZmZzZXQsICZzd2FiX2VuZGlhbik7CisKKwkJaWYgKGZvdW5kX2luX2xhYmVsID4gMCkgeworCQkJZm91bmQrPSBmb3VuZF9pbl9sYWJlbDsKKwkJCXViID0gKHN0cnVjdCB6ZnNfdWJlcmJsb2NrICopKChjaGFyICopIGxhYmVsICsgdWJfb2Zmc2V0KTsKKwkJCXViX29mZnNldCArPSBvZmZzZXQ7CisKKwkJCWlmIChmb3VuZCA+PSBaRlNfV0FOVCkKKwkJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChmb3VuZCA8IFpGU19XQU5UKQorCQlyZXR1cm4gMTsKKworCS8qIElmIHdlIGZvdW5kIHRoZSA0dGggdWJlcmJsb2NrLCB0aGVuIHdlIHdpbGwgaGF2ZSBleGl0ZWQgZnJvbSB0aGUKKwkgKiBzY2FubmluZyBsb29wIGltbWVkaWF0ZWx5LCBhbmQgdWIgd2lsbCBiZSBhIHZhbGlkIHViZXJibG9jay4gKi8KKwlibGtpZF9wcm9iZV9zcHJpbnRmX3ZlcnNpb24ocHIsICIlIiBQUkl1NjQsIHN3YWJfZW5kaWFuID8KKwkJCQkgICAgc3dhYjY0KHViLT51Yl92ZXJzaW9uKSA6IHViLT51Yl92ZXJzaW9uKTsKKworCXpmc19leHRyYWN0X2d1aWRfbmFtZShwciwgb2Zmc2V0KTsKKworCWlmIChibGtpZF9wcm9iZV9zZXRfbWFnaWMocHIsIHViX29mZnNldCwKKwkJCQlzaXplb2YodWItPnViX21hZ2ljKSwKKwkJCQkodW5zaWduZWQgY2hhciAqKSAmdWItPnViX21hZ2ljKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyB6ZnNfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiemZzX21lbWJlciIsCisJLnVzYWdlCQk9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU0sCisJLnByb2JlZnVuYwk9IHByb2JlX3pmcywKKwkubWluc3oJCT0gNjQgKiAxMDI0ICogMTAyNCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvdGFnLmMgYi9saWJibGtpZC9zcmMvdGFnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjZiNjdmNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90YWcuYwpAQCAtMCwwICsxLDQ2NiBAQAorLyoKKyAqIHRhZy5jIC0gYWxsb2NhdGlvbi9pbml0aWFsaXphdGlvbi9mcmVlIHJvdXRpbmVzIGZvciB0YWcgc3RydWN0cworICoKKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICogQ29weXJpZ2h0IChDKSAyMDAzIFRoZW9kb3JlIFRzJ28KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaW5jbHVkZSAiYmxraWRQLmgiCisKK3N0YXRpYyBibGtpZF90YWcgYmxraWRfbmV3X3RhZyh2b2lkKQoreworCWJsa2lkX3RhZyB0YWc7CisKKwlpZiAoISh0YWcgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnKSkpKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUcsIHVsX2RlYnVnb2JqKHRhZywgImFsbG9jIikpOworCUlOSVRfTElTVF9IRUFEKCZ0YWctPmJpdF90YWdzKTsKKwlJTklUX0xJU1RfSEVBRCgmdGFnLT5iaXRfbmFtZXMpOworCisJcmV0dXJuIHRhZzsKK30KKwordm9pZCBibGtpZF9mcmVlX3RhZyhibGtpZF90YWcgdGFnKQoreworCWlmICghdGFnKQorCQlyZXR1cm47CisKKwlEQkcoVEFHLCB1bF9kZWJ1Z29iaih0YWcsICJmcmVlaW5nIHRhZyAlcyAoJXMpIiwgdGFnLT5iaXRfbmFtZSwgdGFnLT5iaXRfdmFsKSk7CisKKwlsaXN0X2RlbCgmdGFnLT5iaXRfdGFncyk7CS8qIGxpc3Qgb2YgdGFncyBmb3IgdGhpcyBkZXZpY2UgKi8KKwlsaXN0X2RlbCgmdGFnLT5iaXRfbmFtZXMpOwkvKiBsaXN0IG9mIHRhZ3Mgd2l0aCB0aGlzIHR5cGUgKi8KKworCWZyZWUodGFnLT5iaXRfbmFtZSk7CisJZnJlZSh0YWctPmJpdF92YWwpOworCisJZnJlZSh0YWcpOworfQorCisvKgorICogRmluZCB0aGUgZGVzaXJlZCB0YWcgb24gYSBkZXZpY2UuICBJZiB2YWx1ZSBpcyBOVUxMLCB0aGVuIHRoZQorICogZmlyc3Qgc3VjaCB0YWcgaXMgcmV0dXJuZWQsIG90aGVyd2lzZSByZXR1cm4gb25seSBleGFjdCB0YWcgaWYgZm91bmQuCisgKi8KK2Jsa2lkX3RhZyBibGtpZF9maW5kX3RhZ19kZXYoYmxraWRfZGV2IGRldiwgY29uc3QgY2hhciAqdHlwZSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJbGlzdF9mb3JfZWFjaChwLCAmZGV2LT5iaWRfdGFncykgeworCQlibGtpZF90YWcgdG1wID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgYmxraWRfc3RydWN0X3RhZywKKwkJCQkJICAgYml0X3RhZ3MpOworCisJCWlmICghc3RyY21wKHRtcC0+Yml0X25hbWUsIHR5cGUpKQorCQkJcmV0dXJuIHRtcDsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKK2ludCBibGtpZF9kZXZfaGFzX3RhZyhibGtpZF9kZXYgZGV2LCBjb25zdCBjaGFyICp0eXBlLAorCQkJICAgICBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlibGtpZF90YWcJCXRhZzsKKworCXRhZyA9IGJsa2lkX2ZpbmRfdGFnX2RldihkZXYsIHR5cGUpOworCWlmICghdmFsdWUpCisJCXJldHVybiAodGFnICE9IE5VTEwpOworCWlmICghdGFnIHx8IHN0cmNtcCh0YWctPmJpdF92YWwsIHZhbHVlKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBGaW5kIHRoZSBkZXNpcmVkIHRhZyB0eXBlIGluIHRoZSBjYWNoZS4KKyAqIFdlIHJldHVybiB0aGUgaGVhZCB0YWcgZm9yIHRoaXMgdGFnIHR5cGUuCisgKi8KK3N0YXRpYyBibGtpZF90YWcgYmxraWRfZmluZF9oZWFkX2NhY2hlKGJsa2lkX2NhY2hlIGNhY2hlLCBjb25zdCBjaGFyICp0eXBlKQoreworCWJsa2lkX3RhZyBoZWFkID0gTlVMTCwgdG1wOworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlpZiAoIWNhY2hlIHx8ICF0eXBlKQorCQlyZXR1cm4gTlVMTDsKKworCWxpc3RfZm9yX2VhY2gocCwgJmNhY2hlLT5iaWNfdGFncykgeworCQl0bXAgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnLCBiaXRfdGFncyk7CisJCWlmICghc3RyY21wKHRtcC0+Yml0X25hbWUsIHR5cGUpKSB7CisJCQlEQkcoVEFHLCB1bF9kZWJ1ZygiZm91bmQgY2FjaGUgdGFnIGhlYWQgJXMiLCB0eXBlKSk7CisJCQloZWFkID0gdG1wOworCQkJYnJlYWs7CisJCX0KKwl9CisJcmV0dXJuIGhlYWQ7Cit9CisKKy8qCisgKiBTZXQgYSB0YWcgb24gYW4gZXhpc3RpbmcgZGV2aWNlLgorICoKKyAqIElmIHZhbHVlIGlzIE5VTEwsIHRoZW4gZGVsZXRlIHRoZSB0YWdzIGZyb20gdGhlIGRldmljZS4KKyAqLworaW50IGJsa2lkX3NldF90YWcoYmxraWRfZGV2IGRldiwgY29uc3QgY2hhciAqbmFtZSwKKwkJICBjb25zdCBjaGFyICp2YWx1ZSwgY29uc3QgaW50IHZsZW5ndGgpCit7CisJYmxraWRfdGFnCXQgPSBOVUxMLCBoZWFkID0gTlVMTDsKKwljaGFyCQkqdmFsID0gTlVMTDsKKwljaGFyCQkqKmRldl92YXIgPSBOVUxMOworCisJaWYgKHZhbHVlICYmICEodmFsID0gc3RybmR1cCh2YWx1ZSwgdmxlbmd0aCkpKQorCQlyZXR1cm4gLUJMS0lEX0VSUl9NRU07CisKKwkvKgorCSAqIENlcnRhaW4gY29tbW9uIHRhZ3MgYXJlIGxpbmtlZCBkaXJlY3RseSB0byB0aGUgZGV2aWNlIHN0cnVjdAorCSAqIFdlIG5lZWQgdG8ga25vdyB3aGF0IHRoZXkgYXJlIGJlZm9yZSB3ZSBkbyBhbnl0aGluZyBlbHNlIGJlY2F1c2UKKwkgKiB0aGUgZnVuY3Rpb24gbmFtZSBwYXJhbWV0ZXIgbWlnaHQgZ2V0IGZyZWVkIGxhdGVyIG9uLgorCSAqLworCWlmICghc3RyY21wKG5hbWUsICJUWVBFIikpCisJCWRldl92YXIgPSAmZGV2LT5iaWRfdHlwZTsKKwllbHNlIGlmICghc3RyY21wKG5hbWUsICJMQUJFTCIpKQorCQlkZXZfdmFyID0gJmRldi0+YmlkX2xhYmVsOworCWVsc2UgaWYgKCFzdHJjbXAobmFtZSwgIlVVSUQiKSkKKwkJZGV2X3ZhciA9ICZkZXYtPmJpZF91dWlkOworCisJdCA9IGJsa2lkX2ZpbmRfdGFnX2RldihkZXYsIG5hbWUpOworCWlmICghdmFsdWUpIHsKKwkJaWYgKHQpCisJCQlibGtpZF9mcmVlX3RhZyh0KTsKKwl9IGVsc2UgaWYgKHQpIHsKKwkJaWYgKCFzdHJjbXAodC0+Yml0X3ZhbCwgdmFsKSkgeworCQkJLyogU2FtZSB0aGluZywgZXhpdCAqLworCQkJZnJlZSh2YWwpOworCQkJcmV0dXJuIDA7CisJCX0KKwkJREJHKFRBRywgdWxfZGVidWdvYmoodCwgInVwZGF0ZSAoJXMpICclcycgLT4gJyVzJyIsIHQtPmJpdF9uYW1lLCB0LT5iaXRfdmFsLCB2YWwpKTsKKwkJZnJlZSh0LT5iaXRfdmFsKTsKKwkJdC0+Yml0X3ZhbCA9IHZhbDsKKwl9IGVsc2UgeworCQkvKiBFeGlzdGluZyB0YWcgbm90IHByZXNlbnQsIGFkZCB0byBkZXZpY2UgKi8KKwkJaWYgKCEodCA9IGJsa2lkX25ld190YWcoKSkpCisJCQlnb3RvIGVycm91dDsKKwkJdC0+Yml0X25hbWUgPSBzdHJkdXAobmFtZSk7CisJCXQtPmJpdF92YWwgPSB2YWw7CisJCXQtPmJpdF9kZXYgPSBkZXY7CisKKwkJREJHKFRBRywgdWxfZGVidWdvYmoodCwgInNldHRpbmcgKCVzKSAnJXMnIiwgdC0+Yml0X25hbWUsIHQtPmJpdF92YWwpKTsKKwkJbGlzdF9hZGRfdGFpbCgmdC0+Yml0X3RhZ3MsICZkZXYtPmJpZF90YWdzKTsKKworCQlpZiAoZGV2LT5iaWRfY2FjaGUpIHsKKwkJCWhlYWQgPSBibGtpZF9maW5kX2hlYWRfY2FjaGUoZGV2LT5iaWRfY2FjaGUsCisJCQkJCQkgICAgIHQtPmJpdF9uYW1lKTsKKwkJCWlmICghaGVhZCkgeworCQkJCWhlYWQgPSBibGtpZF9uZXdfdGFnKCk7CisJCQkJaWYgKCFoZWFkKQorCQkJCQlnb3RvIGVycm91dDsKKworCQkJCURCRyhUQUcsIHVsX2RlYnVnb2JqKGhlYWQsICJjcmVhdGluZyBuZXcgY2FjaGUgdGFnIGhlYWQgJXMiLCBuYW1lKSk7CisJCQkJaGVhZC0+Yml0X25hbWUgPSBzdHJkdXAobmFtZSk7CisJCQkJaWYgKCFoZWFkLT5iaXRfbmFtZSkKKwkJCQkJZ290byBlcnJvdXQ7CisJCQkJbGlzdF9hZGRfdGFpbCgmaGVhZC0+Yml0X3RhZ3MsCisJCQkJCSAgICAgICZkZXYtPmJpZF9jYWNoZS0+YmljX3RhZ3MpOworCQkJfQorCQkJbGlzdF9hZGRfdGFpbCgmdC0+Yml0X25hbWVzLCAmaGVhZC0+Yml0X25hbWVzKTsKKwkJfQorCX0KKworCS8qIExpbmsgY29tbW9uIHRhZ3MgZGlyZWN0bHkgdG8gdGhlIGRldmljZSBzdHJ1Y3QgKi8KKwlpZiAoZGV2X3ZhcikKKwkJKmRldl92YXIgPSB2YWw7CisKKwlpZiAoZGV2LT5iaWRfY2FjaGUpCisJCWRldi0+YmlkX2NhY2hlLT5iaWNfZmxhZ3MgfD0gQkxLSURfQklDX0ZMX0NIQU5HRUQ7CisJcmV0dXJuIDA7CisKK2Vycm91dDoKKwlpZiAodCkKKwkJYmxraWRfZnJlZV90YWcodCk7CisJZWxzZQorCQlmcmVlKHZhbCk7CisJaWYgKGhlYWQpCisJCWJsa2lkX2ZyZWVfdGFnKGhlYWQpOworCXJldHVybiAtQkxLSURfRVJSX01FTTsKK30KKworCisvKgorICogUGFyc2UgYSAiTkFNRT12YWx1ZSIgc3RyaW5nLiAgVGhpcyBpcyBzbGlnaHRseSBkaWZmZXJlbnQgdGhhbgorICogcGFyc2VfdG9rZW4sIGJlY2F1c2UgdGhhdCB3aWxsIGVuZCBhbiB1bnF1b3RlZCB2YWx1ZSBhdCBhIHNwYWNlLCB3aGlsZQorICogdGhpcyB3aWxsIGFzc3VtZSB0aGF0IGFuIHVucXVvdGVkIHZhbHVlIGlzIHRoZSByZXN0IG9mIHRoZSB0b2tlbiAoZS5nLgorICogaWYgd2UgYXJlIHBhc3NlZCBhbiBhbHJlYWR5IHF1b3RlZCBzdHJpbmcgZnJvbSB0aGUgY29tbWFuZC1saW5lIHdlIGRvbid0CisgKiBoYXZlIHRvIGJvdGggcXVvdGUgYW5kIGVzY2FwZSBxdW90ZSBzbyB0aGF0IHRoZSBxdW90ZXMgbWFrZSBpdCB0bworICogdXMpLgorICoKKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBhbmQgLTEgb24gZmFpbHVyZS4KKyAqLworaW50IGJsa2lkX3BhcnNlX3RhZ19zdHJpbmcoY29uc3QgY2hhciAqdG9rZW4sIGNoYXIgKipyZXRfdHlwZSwgY2hhciAqKnJldF92YWwpCit7CisJY2hhciAqbmFtZSwgKnZhbHVlLCAqY3A7CisKKwlEQkcoVEFHLCB1bF9kZWJ1ZygidHJ5aW5nIHRvIHBhcnNlICclcycgYXMgYSB0YWciLCB0b2tlbikpOworCisJaWYgKCF0b2tlbiB8fCAhKGNwID0gc3RyY2hyKHRva2VuLCAnPScpKSkKKwkJcmV0dXJuIC0xOworCisJbmFtZSA9IHN0cmR1cCh0b2tlbik7CisJaWYgKCFuYW1lKQorCQlyZXR1cm4gLTE7CisJdmFsdWUgPSBuYW1lICsgKGNwIC0gdG9rZW4pOworCSp2YWx1ZSsrID0gJ1wwJzsKKwlpZiAoKnZhbHVlID09ICciJyB8fCAqdmFsdWUgPT0gJ1wnJykgeworCQljaGFyIGMgPSAqdmFsdWUrKzsKKwkJaWYgKCEoY3AgPSBzdHJyY2hyKHZhbHVlLCBjKSkpCisJCQlnb3RvIGVycm91dDsgLyogbWlzc2luZyBjbG9zaW5nIHF1b3RlICovCisJCSpjcCA9ICdcMCc7CisJfQorCisJaWYgKHJldF92YWwpIHsKKwkJdmFsdWUgPSAqdmFsdWUgPyBzdHJkdXAodmFsdWUpIDogTlVMTDsKKwkJaWYgKCF2YWx1ZSkKKwkJCWdvdG8gZXJyb3V0OworCQkqcmV0X3ZhbCA9IHZhbHVlOworCX0KKworCWlmIChyZXRfdHlwZSkKKwkJKnJldF90eXBlID0gbmFtZTsKKwllbHNlCisJCWZyZWUobmFtZSk7CisKKwlyZXR1cm4gMDsKKworZXJyb3V0OgorCURCRyhUQUcsIHVsX2RlYnVnKCJwYXJzZSBlcnJvcjogJyVzJyIsIHRva2VuKSk7CisJZnJlZShuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBUYWcgaXRlcmF0aW9uIHJvdXRpbmVzIGZvciB0aGUgcHVibGljIGxpYmJsa2lkIGludGVyZmFjZS4KKyAqCisgKiBUaGVzZSByb3V0aW5lcyBkbyBub3QgZXhwb3NlIHRoZSBsaXN0LmggaW1wbGVtZW50YXRpb24sIHdoaWNoIGFyZSBhCisgKiBjb250YW1pbmF0aW9uIG9mIHRoZSBuYW1lc3BhY2UsIGFuZCB3aGljaCBmb3JjZSB1cyB0byByZXZlYWwgZmFyLCBmYXIKKyAqIHRvbyBtdWNoIG9mIG91ciBpbnRlcm5hbCBpbXBsZW1lbnRhdGlvbi4gIEknbSBub3QgY29udmluY2VkIEkgd2FudAorICogdG8ga2VlcCBsaXN0LmggaW4gdGhlIGxvbmcgdGVybSwgYW55d2F5LiAgSXQncyBmaW5lIGZvciBrZXJuZWwKKyAqIHByb2dyYW1taW5nLCBidXQgcGVyZm9ybWFuY2UgaXMgbm90IHRoZSAjMSBwcmlvcml0eSBmb3IgdGhpcworICogbGlicmFyeSwgYW5kIEkgcmVhbGx5IGRvbid0IGxpa2UgdGhlIHRyYWRlLW9mZiBvZiB0eXBlLXNhZmV0eSBmb3IKKyAqIHBlcmZvcm1hbmNlIGZvciB0aGlzIGFwcGxpY2F0aW9uLiAgW3R5dHNvOjIwMDMwMTI1LjIwMDdFU1RdCisgKi8KKworLyoKKyAqIFRoaXMgc2VyaWVzIG9mIGZ1bmN0aW9ucyBpdGVyYXRlIG92ZXIgYWxsIHRhZ3MgaW4gYSBkZXZpY2UKKyAqLworI2RlZmluZSBUQUdfSVRFUkFURV9NQUdJQwkweDAxYTUyODRjCisKK3N0cnVjdCBibGtpZF9zdHJ1Y3RfdGFnX2l0ZXJhdGUgeworCWludAkJCW1hZ2ljOworCWJsa2lkX2RldgkJZGV2OworCXN0cnVjdCBsaXN0X2hlYWQJKnA7Cit9OworCitibGtpZF90YWdfaXRlcmF0ZSBibGtpZF90YWdfaXRlcmF0ZV9iZWdpbihibGtpZF9kZXYgZGV2KQoreworCWJsa2lkX3RhZ19pdGVyYXRlCWl0ZXI7CisKKwlpZiAoIWRldikgeworCQllcnJubyA9IEVJTlZBTDsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJaXRlciA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF90YWdfaXRlcmF0ZSkpOworCWlmIChpdGVyKSB7CisJCWl0ZXItPm1hZ2ljID0gVEFHX0lURVJBVEVfTUFHSUM7CisJCWl0ZXItPmRldiA9IGRldjsKKwkJaXRlci0+cAk9IGRldi0+YmlkX3RhZ3MubmV4dDsKKwl9CisJcmV0dXJuIChpdGVyKTsKK30KKworLyoKKyAqIFJldHVybiAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yCisgKi8KK2ludCBibGtpZF90YWdfbmV4dChibGtpZF90YWdfaXRlcmF0ZSBpdGVyLAorCQkJICBjb25zdCBjaGFyICoqdHlwZSwgY29uc3QgY2hhciAqKnZhbHVlKQoreworCWJsa2lkX3RhZyB0YWc7CisKKwlpZiAoIXR5cGUgfHwgIXZhbHVlIHx8CisJICAgICFpdGVyIHx8IGl0ZXItPm1hZ2ljICE9IFRBR19JVEVSQVRFX01BR0lDIHx8CisJICAgIGl0ZXItPnAgPT0gJml0ZXItPmRldi0+YmlkX3RhZ3MpCisJCXJldHVybiAtMTsKKworCSp0eXBlID0gTlVMTDsKKwkqdmFsdWUgPSBOVUxMOworCXRhZyA9IGxpc3RfZW50cnkoaXRlci0+cCwgc3RydWN0IGJsa2lkX3N0cnVjdF90YWcsIGJpdF90YWdzKTsKKwkqdHlwZSA9IHRhZy0+Yml0X25hbWU7CisJKnZhbHVlID0gdGFnLT5iaXRfdmFsOworCWl0ZXItPnAgPSBpdGVyLT5wLT5uZXh0OworCXJldHVybiAwOworfQorCit2b2lkIGJsa2lkX3RhZ19pdGVyYXRlX2VuZChibGtpZF90YWdfaXRlcmF0ZSBpdGVyKQoreworCWlmICghaXRlciB8fCBpdGVyLT5tYWdpYyAhPSBUQUdfSVRFUkFURV9NQUdJQykKKwkJcmV0dXJuOworCWl0ZXItPm1hZ2ljID0gMDsKKwlmcmVlKGl0ZXIpOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiByZXR1cm5zIGEgZGV2aWNlIHdoaWNoIG1hdGNoZXMgYSBwYXJ0aWN1bGFyCisgKiB0eXBlL3ZhbHVlIHBhaXIuICBJZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lIGRldmljZSB0aGF0IG1hdGNoZXMgdGhlCisgKiBzZWFyY2ggc3BlY2lmaWNhdGlvbiwgaXQgcmV0dXJucyB0aGUgb25lIHdpdGggdGhlIGhpZ2hlc3QgcHJpb3JpdHkKKyAqIHZhbHVlLiAgVGhpcyBhbGxvd3MgdXMgdG8gZ2l2ZSBwcmVmZXJlbmNlIHRvIEVWTVMgb3IgTFZNIGRldmljZXMuCisgKi8KK2Jsa2lkX2RldiBibGtpZF9maW5kX2Rldl93aXRoX3RhZyhibGtpZF9jYWNoZSBjYWNoZSwKKwkJCQkJIGNvbnN0IGNoYXIgKnR5cGUsCisJCQkJCSBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlibGtpZF90YWcJaGVhZDsKKwlibGtpZF9kZXYJZGV2OworCWludAkJcHJpOworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisJaW50CQlwcm9iZV9uZXcgPSAwOworCisJaWYgKCFjYWNoZSB8fCAhdHlwZSB8fCAhdmFsdWUpCisJCXJldHVybiBOVUxMOworCisJYmxraWRfcmVhZF9jYWNoZShjYWNoZSk7CisKKwlEQkcoVEFHLCB1bF9kZWJ1ZygibG9va2luZyBmb3IgJXM9JXMgaW4gY2FjaGUiLCB0eXBlLCB2YWx1ZSkpOworCit0cnlfYWdhaW46CisJcHJpID0gLTE7CisJZGV2ID0gTlVMTDsKKwloZWFkID0gYmxraWRfZmluZF9oZWFkX2NhY2hlKGNhY2hlLCB0eXBlKTsKKworCWlmIChoZWFkKSB7CisJCWxpc3RfZm9yX2VhY2gocCwgJmhlYWQtPmJpdF9uYW1lcykgeworCQkJYmxraWRfdGFnIHRtcCA9IGxpc3RfZW50cnkocCwgc3RydWN0IGJsa2lkX3N0cnVjdF90YWcsCisJCQkJCQkgICBiaXRfbmFtZXMpOworCisJCQlpZiAoIXN0cmNtcCh0bXAtPmJpdF92YWwsIHZhbHVlKSAmJgorCQkJICAgICh0bXAtPmJpdF9kZXYtPmJpZF9wcmkgPiBwcmkpICYmCisJCQkgICAgIWFjY2Vzcyh0bXAtPmJpdF9kZXYtPmJpZF9uYW1lLCBGX09LKSkgeworCQkJCWRldiA9IHRtcC0+Yml0X2RldjsKKwkJCQlwcmkgPSBkZXYtPmJpZF9wcmk7CisJCQl9CisJCX0KKwl9CisJaWYgKGRldiAmJiAhKGRldi0+YmlkX2ZsYWdzICYgQkxLSURfQklEX0ZMX1ZFUklGSUVEKSkgeworCQlkZXYgPSBibGtpZF92ZXJpZnkoY2FjaGUsIGRldik7CisJCWlmICghZGV2IHx8IGRldi0+YmlkX2ZsYWdzICYgQkxLSURfQklEX0ZMX1ZFUklGSUVEKQorCQkJZ290byB0cnlfYWdhaW47CisJfQorCisJaWYgKCFkZXYgJiYgIXByb2JlX25ldykgeworCQlpZiAoYmxraWRfcHJvYmVfYWxsX25ldyhjYWNoZSkgPCAwKQorCQkJcmV0dXJuIE5VTEw7CisJCXByb2JlX25ldysrOworCQlnb3RvIHRyeV9hZ2FpbjsKKwl9CisKKwlpZiAoIWRldiAmJiAhKGNhY2hlLT5iaWNfZmxhZ3MgJiBCTEtJRF9CSUNfRkxfUFJPQkVEKSkgeworCQlpZiAoYmxraWRfcHJvYmVfYWxsKGNhY2hlKSA8IDApCisJCQlyZXR1cm4gTlVMTDsKKwkJZ290byB0cnlfYWdhaW47CisJfQorCXJldHVybiBkZXY7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKyNpZmRlZiBIQVZFX0dFVE9QVF9ICisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjZWxzZQorZXh0ZXJuIGNoYXIgKm9wdGFyZzsKK2V4dGVybiBpbnQgb3B0aW5kOworI2VuZGlmCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKGNoYXIgKnByb2cpCit7CisJZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgWy1mIGJsa2lkX2ZpbGVdIFstbSBkZWJ1Z19tYXNrXSBkZXZpY2UgIgorCQkiW3R5cGUgdmFsdWVdXG4iLAorCQlwcm9nKTsKKwlmcHJpbnRmKHN0ZGVyciwgIlx0TGlzdCBhbGwgdGFncyBmb3IgYSBkZXZpY2UgYW5kIGV4aXRcbiIpOworCWV4aXQoMSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlibGtpZF90YWdfaXRlcmF0ZQlpdGVyOworCWJsa2lkX2NhY2hlIAkJY2FjaGUgPSBOVUxMOworCWJsa2lkX2RldgkJZGV2OworCWludAkJCWMsIHJldCwgZm91bmQ7CisJaW50CQkJZmxhZ3MgPSBCTEtJRF9ERVZfRklORDsKKwljaGFyCQkJKnRtcDsKKwljaGFyCQkJKmZpbGUgPSBOVUxMOworCWNoYXIJCQkqZGV2bmFtZSA9IE5VTEw7CisJY2hhcgkJCSpzZWFyY2hfdHlwZSA9IE5VTEw7CisJY2hhcgkJCSpzZWFyY2hfdmFsdWUgPSBOVUxMOworCWNvbnN0IGNoYXIJCSp0eXBlLCAqdmFsdWU7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHQgKGFyZ2MsIGFyZ3YsICJtOmY6IikpICE9IEVPRikKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2YnOgorCQkJZmlsZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJeworCQkJaW50IG1hc2sgPSBzdHJ0b3VsIChvcHRhcmcsICZ0bXAsIDApOworCQkJaWYgKCp0bXApIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgZGVidWcgbWFzazogJXNcbiIsCisJCQkJCW9wdGFyZyk7CisJCQkJZXhpdCgxKTsKKwkJCX0KKwkJCWJsa2lkX2luaXRfZGVidWcobWFzayk7CisJCQlicmVhazsKKwkJfQorCQljYXNlICc/JzoKKwkJCXVzYWdlKGFyZ3ZbMF0pOworCQl9CisJaWYgKGFyZ2MgPiBvcHRpbmQpCisJCWRldm5hbWUgPSBhcmd2W29wdGluZCsrXTsKKwlpZiAoYXJnYyA+IG9wdGluZCkKKwkJc2VhcmNoX3R5cGUgPSBhcmd2W29wdGluZCsrXTsKKwlpZiAoYXJnYyA+IG9wdGluZCkKKwkJc2VhcmNoX3ZhbHVlID0gYXJndltvcHRpbmQrK107CisJaWYgKCFkZXZuYW1lIHx8IChhcmdjICE9IG9wdGluZCkpCisJCXVzYWdlKGFyZ3ZbMF0pOworCisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCBmaWxlKSkgIT0gMCkgeworCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBlcnJvciBjcmVhdGluZyBjYWNoZSAoJWQpXG4iLAorCQkJYXJndlswXSwgcmV0KTsKKwkJZXhpdCgxKTsKKwl9CisKKwlkZXYgPSBibGtpZF9nZXRfZGV2KGNhY2hlLCBkZXZuYW1lLCBmbGFncyk7CisJaWYgKCFkZXYpIHsKKwkJZnByaW50ZihzdGRlcnIsICIlczogY2Fubm90IGZpbmQgZGV2aWNlIGluIGJsa2lkIGNhY2hlXG4iLAorCQkJZGV2bmFtZSk7CisJCWV4aXQoMSk7CisJfQorCWlmIChzZWFyY2hfdHlwZSkgeworCQlmb3VuZCA9IGJsa2lkX2Rldl9oYXNfdGFnKGRldiwgc2VhcmNoX3R5cGUsIHNlYXJjaF92YWx1ZSk7CisJCXByaW50ZigiRGV2aWNlICVzOiAoJXMsICVzKSAlc1xuIiwgYmxraWRfZGV2X2Rldm5hbWUoZGV2KSwKKwkJICAgICAgIHNlYXJjaF90eXBlLCBzZWFyY2hfdmFsdWUgPyBzZWFyY2hfdmFsdWUgOiAiTlVMTCIsCisJCSAgICAgICBmb3VuZCA/ICJGT1VORCIgOiAiTk9UIEZPVU5EIik7CisJCXJldHVybighZm91bmQpOworCX0KKwlwcmludGYoIkRldmljZSAlcy4uLlxuIiwgYmxraWRfZGV2X2Rldm5hbWUoZGV2KSk7CisKKwlpdGVyID0gYmxraWRfdGFnX2l0ZXJhdGVfYmVnaW4oZGV2KTsKKwl3aGlsZSAoYmxraWRfdGFnX25leHQoaXRlciwgJnR5cGUsICZ2YWx1ZSkgPT0gMCkgeworCQlwcmludGYoIlx0VGFnICVzIGhhcyB2YWx1ZSAlc1xuIiwgdHlwZSwgdmFsdWUpOworCX0KKwlibGtpZF90YWdfaXRlcmF0ZV9lbmQoaXRlcik7CisKKwlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCXJldHVybiAoMCk7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9kbS5jIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L2RtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdmY2U2ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9kbS5jCkBAIC0wLDAgKzEsMTM2IEBACisvKgorICogZGV2aWNlLW1hcHBlciAoZG0pIHRvcG9sb2d5CisgKiAtLSB0aGlzIGlzIGZhbGxiYWNrIGZvciBvbGQgc3lzdGVtcyB3aGVyZSB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gaXMgbm90CisgKiAgICBleHBvcnRlZCBieSBzeXNmcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJ0b3BvbG9neS5oIgorCitzdGF0aWMgaW50IGlzX2RtX2RldmljZShkZXZfdCBkZXZubykKK3sKKwlyZXR1cm4gYmxraWRfZHJpdmVyX2hhc19tYWpvcigiZGV2aWNlLW1hcHBlciIsIG1ham9yKGRldm5vKSk7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZG1fdHAoYmxraWRfcHJvYmUgcHIsCisJCWNvbnN0IHN0cnVjdCBibGtpZF9pZG1hZyAqbWFnIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwljb25zdCBjaGFyICpwYXRoc1tdID0geworCQkiL3Vzci9sb2NhbC9zYmluL2Rtc2V0dXAiLAorCQkiL3Vzci9zYmluL2Rtc2V0dXAiLAorCQkiL3NiaW4vZG1zZXR1cCIKKwl9OworCWludCBkbXBpcGVbXSA9IHsgLTEsIC0xIH0sIHN0cmlwZXMsIHN0cmlwZXNpemU7CisJY29uc3QgY2hhciAqY21kID0gTlVMTDsKKwlGSUxFICpzdHJlYW0gPSBOVUxMOworCWxvbmcgbG9uZyAgb2Zmc2V0LCBzaXplOworCXNpemVfdCBpOworCWRldl90IGRldm5vID0gYmxraWRfcHJvYmVfZ2V0X2Rldm5vKHByKTsKKworCWlmICghZGV2bm8pCisJCWdvdG8gbm90aGluZzsJCS8qIHByb2JhYmx5IG5vdCBhIGJsb2NrIGRldmljZSAqLworCWlmICghaXNfZG1fZGV2aWNlKGRldm5vKSkKKwkJZ290byBub3RoaW5nOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGF0aHMpOyBpKyspIHsKKwkJc3RydWN0IHN0YXQgc2I7CisJCWlmIChzdGF0KHBhdGhzW2ldLCAmc2IpID09IDApIHsKKwkJCWNtZCA9IHBhdGhzW2ldOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoIWNtZCkKKwkJZ290byBub3RoaW5nOworCWlmIChwaXBlKGRtcGlwZSkgPCAwKSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIkZhaWxlZCB0byBvcGVuIHBpcGU6IGVycm5vPSVkIiwgZXJybm8pKTsKKwkJZ290byBub3RoaW5nOworCX0KKworCXN3aXRjaCAoZm9yaygpKSB7CisJY2FzZSAwOgorCXsKKwkJY29uc3QgY2hhciAqZG1hcmd2WzddOworCSAgICAgICAgY2hhciBtYWpbMTZdLCBtaW5bMTZdOworCisJCS8qIFBsdW1iaW5nICovCisJCWNsb3NlKGRtcGlwZVswXSk7CisKKwkJaWYgKGRtcGlwZVsxXSAhPSBTVERPVVRfRklMRU5PKQorCQkJZHVwMihkbXBpcGVbMV0sIFNURE9VVF9GSUxFTk8pOworCisJCS8qIFRoZSBsaWJibGtpZCBsaWJyYXJ5IGNvdWxkIGxpbmtlZCB3aXRoIHNldHVpZCBwcm9ncmFtcyAqLworCQlpZiAoc2V0Z2lkKGdldGdpZCgpKSA8IDApCisJCQkgZXhpdCgxKTsKKwkJaWYgKHNldHVpZChnZXR1aWQoKSkgPCAwKQorCQkJIGV4aXQoMSk7CisKKwkJc25wcmludGYobWFqLCBzaXplb2YobWFqKSwgIiVkIiwgbWFqb3IoZGV2bm8pKTsKKwkJc25wcmludGYobWluLCBzaXplb2YobWluKSwgIiVkIiwgbWlub3IoZGV2bm8pKTsKKworCQlkbWFyZ3ZbMF0gPSBjbWQ7CisJCWRtYXJndlsxXSA9ICJ0YWJsZSI7CisJCWRtYXJndlsyXSA9ICItaiI7CisJCWRtYXJndlszXSA9IG1hajsKKwkJZG1hcmd2WzRdID0gIi1tIjsKKwkJZG1hcmd2WzVdID0gbWluOworCQlkbWFyZ3ZbNl0gPSBOVUxMOworCisJCWV4ZWN2KGRtYXJndlswXSwgKGNoYXIgKiBjb25zdCAqKSBkbWFyZ3YpOworCisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIkZhaWxlZCB0byBleGVjdXRlICVzOiBlcnJubz0lZCIsIGNtZCwgZXJybm8pKTsKKwkJZXhpdCgxKTsKKwl9CisJY2FzZSAtMToKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiRmFpbGVkIHRvIGZvcmtpbmc6IGVycm5vPSVkIiwgZXJybm8pKTsKKwkJZ290byBub3RoaW5nOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCXN0cmVhbSA9IGZkb3BlbihkbXBpcGVbMF0sICJyIiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoIXN0cmVhbSkKKwkJZ290byBub3RoaW5nOworCisJaWYgKGZzY2FuZihzdHJlYW0sICIlbGxkICVsbGQgc3RyaXBlZCAlZCAlZCAiLAorCQkJJm9mZnNldCwgJnNpemUsICZzdHJpcGVzLCAmc3RyaXBlc2l6ZSkgIT0gMCkKKwkJZ290byBub3RoaW5nOworCisJYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZShwciwgc3RyaXBlc2l6ZSA8PCA5KTsKKwlibGtpZF90b3BvbG9neV9zZXRfb3B0aW1hbF9pb19zaXplKHByLCAoc3RyaXBlcyAqIHN0cmlwZXNpemUpIDw8IDkpOworCisJZmNsb3NlKHN0cmVhbSk7CisJY2xvc2UoZG1waXBlWzFdKTsKKwlyZXR1cm4gMDsKKworbm90aGluZzoKKwlpZiAoc3RyZWFtKQorCQlmY2xvc2Uoc3RyZWFtKTsKKwllbHNlIGlmIChkbXBpcGVbMF0gIT0gLTEpCisJCWNsb3NlKGRtcGlwZVswXSk7CisJaWYgKGRtcGlwZVsxXSAhPSAtMSkKKwkJY2xvc2UoZG1waXBlWzFdKTsKKwlyZXR1cm4gMTsKK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBkbV90cF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJkbSIsCisJLnByb2JlZnVuYwk9IHByb2JlX2RtX3RwLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3RvcG9sb2d5L2V2bXMuYyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9ldm1zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFhMzJmOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9ldm1zLmMKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIEV2bXMgdG9wb2xvZ3kKKyAqIC0tIHRoaXMgaXMgZmFsbGJhY2sgZm9yIG9sZCBzeXN0ZW1zIHdoZXJlIHRoZSB0b3BvbG9neSBpbmZvcm1hdGlvbiBpcyBub3QKKyAqICAgIGV4cG9ydGVkIGJ5IHN5c2ZzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICovCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgInRvcG9sb2d5LmgiCisKKyNkZWZpbmUgRVZNU19NQUpPUgkJMTE3CisKKyNpZm5kZWYgX0lPVF9fSU9UQkFTRV91X2ludDMyX3QKKyNkZWZpbmUgX0lPVF9fSU9UQkFTRV91X2ludDMyX3QgSU9UX1NJTVBMRSh1aW50MzJfdCkKKyNlbmRpZgorI2RlZmluZSBfSU9UX2V2bXNfc3RyaXBlX2luZm8gX0lPVCAoX0lPVFModWludDMyX3QpLCAyLCAwLCAwLCAwLCAwKQorI2RlZmluZSBFVk1TX0dFVF9TVFJJUEVfSU5GTwlfSU9SKEVWTVNfTUFKT1IsIDB4RjAsIHN0cnVjdCBldm1zX3N0cmlwZV9pbmZvKQorCitzdHJ1Y3QgZXZtc19zdHJpcGVfaW5mbyB7CisJdWludDMyX3QJc2l6ZTsJCS8qIHN0cmlwZSB1bml0IDUxMi1ieXRlIGJsb2NrcyAqLworCXVpbnQzMl90CXdpZHRoOwkJLyogdGhlIG51bWJlciBvZiBzdHJpcGUgbWVtYmVycyBvciBSQUlEIGRhdGEgZGlza3MgKi8KK307CisKK3N0YXRpYyBpbnQgaXNfZXZtc19kZXZpY2UoZGV2X3QgZGV2bm8pCit7CisJaWYgKG1ham9yKGRldm5vKSA9PSBFVk1TX01BSk9SKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gYmxraWRfZHJpdmVyX2hhc19tYWpvcigiZXZtcyIsIG1ham9yKGRldm5vKSk7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfZXZtc190cChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBldm1zX3N0cmlwZV9pbmZvIGV2bXM7CisJZGV2X3QgZGV2bm8gPSBibGtpZF9wcm9iZV9nZXRfZGV2bm8ocHIpOworCisJaWYgKCFkZXZubykKKwkJZ290byBub3RoaW5nOwkJLyogcHJvYmFibHkgbm90IGEgYmxvY2sgZGV2aWNlICovCisKKwlpZiAoIWlzX2V2bXNfZGV2aWNlKGRldm5vKSkKKwkJZ290byBub3RoaW5nOworCisJbWVtc2V0KCZldm1zLCAwLCBzaXplb2YoZXZtcykpOworCisJaWYgKGlvY3RsKHByLT5mZCwgRVZNU19HRVRfU1RSSVBFX0lORk8sICZldm1zKSkKKwkJZ290byBub3RoaW5nOworCisJYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZShwciwgZXZtcy5zaXplIDw8IDkpOworCWJsa2lkX3RvcG9sb2d5X3NldF9vcHRpbWFsX2lvX3NpemUocHIsIChldm1zLnNpemUgKiBldm1zLndpZHRoKSA8PCA5KTsKKworCXJldHVybiAwOworCitub3RoaW5nOgorCXJldHVybiAxOworfQorCitjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGV2bXNfdHBfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiZXZtcyIsCisJLnByb2JlZnVuYwk9IHByb2JlX2V2bXNfdHAsCisJLm1hZ2ljcwkJPSBCTEtJRF9OT05FX01BR0lDCit9OworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvdG9wb2xvZ3kvaW9jdGwuYyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9pb2N0bC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhYmEwOWUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvdG9wb2xvZ3kvaW9jdGwuYwpAQCAtMCwwICsxLDc0IEBACisvKgorICogaW9jdGwgYmFzZWQgdG9wb2xvZ3kgLS0gZ2F0aGVycyB0b3BvbG9neSBpbmZvcm1hdGlvbgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSAidG9wb2xvZ3kuaCIKKworLyoKKyAqIGlvY3RsIHRvcG9sb2d5IHZhbHVlcworICovCitzdGF0aWMgc3RydWN0IHRvcG9sb2d5X3ZhbCB7CisKKwlsb25nICBpb2M7CisKKwkvKiBmdW5jdGlvbnMgdG8gc2V0IHByb2JpbmcgcmVzdWx0ICovCisJaW50ICgqc2V0X3Vsb25nKShibGtpZF9wcm9iZSwgdW5zaWduZWQgbG9uZyk7CisJaW50ICgqc2V0X2ludCkoYmxraWRfcHJvYmUsIGludCk7CisKK30gdG9wb2xvZ3lfdmFsc1tdID0geworCXsgQkxLQUxJR05PRkYsIE5VTEwsIGJsa2lkX3RvcG9sb2d5X3NldF9hbGlnbm1lbnRfb2Zmc2V0IH0sCisJeyBCTEtJT01JTiwgYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZSB9LAorCXsgQkxLSU9PUFQsIGJsa2lkX3RvcG9sb2d5X3NldF9vcHRpbWFsX2lvX3NpemUgfSwKKwl7IEJMS1BCU1pHRVQsIGJsa2lkX3RvcG9sb2d5X3NldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZSB9CisJLyogd2UgcmVhZCBCTEtTU1pHRVQgaW4gdG9wb2xvZ3kuYyAqLworfTsKKworc3RhdGljIGludCBwcm9iZV9pb2N0bF90cChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9wb2xvZ3lfdmFscyk7IGkrKykgeworCQlzdHJ1Y3QgdG9wb2xvZ3lfdmFsICp2YWwgPSAmdG9wb2xvZ3lfdmFsc1tpXTsKKwkJaW50IHJjID0gMTsKKwkJdW5zaWduZWQgaW50IGRhdGE7CisKKwkJaWYgKGlvY3RsKHByLT5mZCwgdmFsLT5pb2MsICZkYXRhKSA9PSAtMSkKKwkJCWdvdG8gbm90aGluZzsKKworCQlpZiAodmFsLT5zZXRfaW50KQorCQkJcmMgPSB2YWwtPnNldF9pbnQocHIsIChpbnQpIGRhdGEpOworCQllbHNlCisJCQlyYyA9IHZhbC0+c2V0X3Vsb25nKHByLCAodW5zaWduZWQgbG9uZykgZGF0YSk7CisJCWlmIChyYykKKwkJCWdvdG8gZXJyOworCX0KKworCXJldHVybiAwOworbm90aGluZzoKKwlyZXR1cm4gMTsKK2VycjoKKwlyZXR1cm4gLTE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gaW9jdGxfdHBfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAiaW9jdGwiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9pb2N0bF90cCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9sdm0uYyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9sdm0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDA3OWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L2x2bS5jCkBAIC0wLDAgKzEsMTQ3IEBACisvKgorICogbHZtIHRvcG9sb2d5CisgKiAtLSB0aGlzIGlzIGZhbGxiYWNrIGZvciBvbGQgc3lzdGVtcyB3aGVyZSB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gaXMgbm90CisgKiAgICBleHBvcnRlZCBieSBzeXNmcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJ0b3BvbG9neS5oIgorCisjaWZuZGVmIExWTV9CTEtfTUFKT1IKKyMgZGVmaW5lIExWTV9CTEtfTUFKT1IgICAgIDU4CisjZW5kaWYKKworc3RhdGljIGludCBpc19sdm1fZGV2aWNlKGRldl90IGRldm5vKQoreworCWlmIChtYWpvcihkZXZubykgPT0gTFZNX0JMS19NQUpPUikKKwkJcmV0dXJuIDE7CisJcmV0dXJuIGJsa2lkX2RyaXZlcl9oYXNfbWFqb3IoImx2bSIsIG1ham9yKGRldm5vKSk7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfbHZtX3RwKGJsa2lkX3Byb2JlIHByLAorCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRtYWcgKm1hZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJY29uc3QgY2hhciAqcGF0aHNbXSA9IHsKKwkJIi91c3IvbG9jYWwvc2Jpbi9sdmRpc3BsYXkiLAorCQkiL3Vzci9zYmluL2x2ZGlzcGxheSIsCisJCSIvc2Jpbi9sdmRpc3BsYXkiCisJfTsKKwlpbnQgbHZwaXBlW10gPSB7IC0xLCAtMSB9LCBzdHJpcGVzID0gMCwgc3RyaXBlc2l6ZSA9IDA7CisJRklMRSAqc3RyZWFtID0gTlVMTDsKKwljaGFyICpjbWQgPSBOVUxMLCAqZGV2bmFtZSA9IE5VTEwsIGJ1ZlsxMDI0XTsKKwlzaXplX3QgaTsKKwlkZXZfdCBkZXZubyA9IGJsa2lkX3Byb2JlX2dldF9kZXZubyhwcik7CisKKwlpZiAoIWRldm5vKQorCQlnb3RvIG5vdGhpbmc7CQkvKiBwcm9iYWJseSBub3QgYSBibG9jayBkZXZpY2UgKi8KKwlpZiAoIWlzX2x2bV9kZXZpY2UoZGV2bm8pKQorCQlnb3RvIG5vdGhpbmc7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwYXRocyk7IGkrKykgeworCQlzdHJ1Y3Qgc3RhdCBzYjsKKwkJaWYgKHN0YXQocGF0aHNbaV0sICZzYikgPT0gMCkgeworCQkJY21kID0gKGNoYXIgKikgcGF0aHNbaV07CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmICghY21kKQorCQlnb3RvIG5vdGhpbmc7CisKKwlkZXZuYW1lID0gYmxraWRfZGV2bm9fdG9fZGV2bmFtZShkZXZubyk7CisJaWYgKCFkZXZuYW1lKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAocGlwZShsdnBpcGUpIDwgMCkgeworCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJGYWlsZWQgdG8gb3BlbiBwaXBlOiBlcnJubz0lZCIsIGVycm5vKSk7CisJCWdvdG8gbm90aGluZzsKKwl9CisKKwlzd2l0Y2ggKGZvcmsoKSkgeworCWNhc2UgMDoKKwl7CisJCWNoYXIgKmx2YXJndlszXTsKKworCQkvKiBQbHVtYmluZyAqLworCQljbG9zZShsdnBpcGVbMF0pOworCisJCWlmIChsdnBpcGVbMV0gIT0gU1RET1VUX0ZJTEVOTykKKwkJCWR1cDIobHZwaXBlWzFdLCBTVERPVVRfRklMRU5PKTsKKworCQkvKiBUaGUgbGliYmxraWQgbGlicmFyeSBjb3VsZCBsaW5rZWQgd2l0aCBzZXR1aWQgcHJvZ3JhbXMgKi8KKwkJaWYgKHNldGdpZChnZXRnaWQoKSkgPCAwKQorCQkJIGV4aXQoMSk7CisJCWlmIChzZXR1aWQoZ2V0dWlkKCkpIDwgMCkKKwkJCSBleGl0KDEpOworCisJCWx2YXJndlswXSA9IGNtZDsKKwkJbHZhcmd2WzFdID0gZGV2bmFtZTsKKwkJbHZhcmd2WzJdID0gTlVMTDsKKworCQlleGVjdihsdmFyZ3ZbMF0sIGx2YXJndik7CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiRmFpbGVkIHRvIGV4ZWN1dGUgJXM6IGVycm5vPSVkIiwgY21kLCBlcnJubykpOworCQlleGl0KDEpOworCX0KKwljYXNlIC0xOgorCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCJGYWlsZWQgdG8gZm9ya2luZzogZXJybm89JWQiLCBlcnJubykpOworCQlnb3RvIG5vdGhpbmc7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJc3RyZWFtID0gZmRvcGVuKGx2cGlwZVswXSwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghc3RyZWFtKQorCQlnb3RvIG5vdGhpbmc7CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgc3RyZWFtKSAhPSBOVUxMKSB7CisJCWlmICghc3RybmNtcChidWYsICJTdHJpcGVzIiwgNykpCisJCQlzc2NhbmYoYnVmLCAiU3RyaXBlcyAlZCIsICZzdHJpcGVzKTsKKworCQlpZiAoIXN0cm5jbXAoYnVmLCAiU3RyaXBlIHNpemUiLCAxMSkpCisJCQlzc2NhbmYoYnVmLCAiU3RyaXBlIHNpemUgKEtCeXRlKSAlZCIsICZzdHJpcGVzaXplKTsKKwl9CisKKwlpZiAoIXN0cmlwZXMpCisJCWdvdG8gbm90aGluZzsKKworCWJsa2lkX3RvcG9sb2d5X3NldF9taW5pbXVtX2lvX3NpemUocHIsIHN0cmlwZXNpemUgPDwgMTApOworCWJsa2lkX3RvcG9sb2d5X3NldF9vcHRpbWFsX2lvX3NpemUocHIsIChzdHJpcGVzICogc3RyaXBlc2l6ZSkgPDwgMTApOworCisJZnJlZShkZXZuYW1lKTsKKwlmY2xvc2Uoc3RyZWFtKTsKKwljbG9zZShsdnBpcGVbMV0pOworCXJldHVybiAwOworCitub3RoaW5nOgorCWZyZWUoZGV2bmFtZSk7CisJaWYgKHN0cmVhbSkKKwkJZmNsb3NlKHN0cmVhbSk7CisJZWxzZSBpZiAobHZwaXBlWzBdICE9IC0xKQorCQljbG9zZShsdnBpcGVbMF0pOworCWlmIChsdnBpcGVbMV0gIT0gLTEpCisJCWNsb3NlKGx2cGlwZVsxXSk7CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHZtX3RwX2lkaW5mbyA9Cit7CisJLm5hbWUJCT0gImx2bSIsCisJLnByb2JlZnVuYwk9IHByb2JlX2x2bV90cCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9tZC5jIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L21kLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWViYTk0NwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9tZC5jCkBAIC0wLDAgKzEsMTU0IEBACisvKgorICogTGludXggU29mdHdhcmUgUkFJRCAobWQpIHRvcG9sb2d5CisgKiAtLSB0aGlzIGlzIGZhbGxiYWNrIGZvciBvbGQgc3lzdGVtcyB3aGVyZSB0aGUgdG9wb2xvZ3kgaW5mb3JtYXRpb24gaXMgbm90CisgKiAgICBleHBvcnRlZCBieSBzeXNmcworICoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICoKKyAqLworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJ0b3BvbG9neS5oIgorCisjaWZuZGVmIE1EX01BSk9SCisjZGVmaW5lIE1EX01BSk9SCTkKKyNlbmRpZgorCisjaWZuZGVmIF9JT1RfX0lPVEJBU0VfdWludDMyX3QKKyNkZWZpbmUgX0lPVF9fSU9UQkFTRV91aW50MzJfdCBJT1RfU0lNUExFKHVpbnQzMl90KQorI2VuZGlmCisjZGVmaW5lIF9JT1RfbWRfYXJyYXlfaW5mbyBfSU9UIChfSU9UUyh1aW50MzJfdCksIDE4LCAwLCAwLCAwLCAwKQorI2RlZmluZSBHRVRfQVJSQVlfSU5GTyAgICAgICAgICBfSU9SIChNRF9NQUpPUiwgMHgxMSwgc3RydWN0IG1kX2FycmF5X2luZm8pCisKK3N0cnVjdCBtZF9hcnJheV9pbmZvIHsKKwkvKgorCSAqIEdlbmVyaWMgY29uc3RhbnQgaW5mb3JtYXRpb24KKwkgKi8KKwl1aW50MzJfdCBtYWpvcl92ZXJzaW9uOworCXVpbnQzMl90IG1pbm9yX3ZlcnNpb247CisJdWludDMyX3QgcGF0Y2hfdmVyc2lvbjsKKwl1aW50MzJfdCBjdGltZTsKKwl1aW50MzJfdCBsZXZlbDsKKwl1aW50MzJfdCBzaXplOworCXVpbnQzMl90IG5yX2Rpc2tzOworCXVpbnQzMl90IHJhaWRfZGlza3M7CisJdWludDMyX3QgbWRfbWlub3I7CisJdWludDMyX3Qgbm90X3BlcnNpc3RlbnQ7CisKKwkvKgorCSAqIEdlbmVyaWMgc3RhdGUgaW5mb3JtYXRpb24KKwkgKi8KKwl1aW50MzJfdCB1dGltZTsJICAvKiAgMCBTdXBlcmJsb2NrIHVwZGF0ZSB0aW1lCQkgICovCisJdWludDMyX3Qgc3RhdGU7CSAgLyogIDEgU3RhdGUgYml0cyAoY2xlYW4sIC4uLikJCSAgKi8KKwl1aW50MzJfdCBhY3RpdmVfZGlza3M7ICAvKiAgMiBOdW1iZXIgb2YgY3VycmVudGx5IGFjdGl2ZSBkaXNrcyAgKi8KKwl1aW50MzJfdCB3b3JraW5nX2Rpc2tzOyAvKiAgMyBOdW1iZXIgb2Ygd29ya2luZyBkaXNrcwkJICAqLworCXVpbnQzMl90IGZhaWxlZF9kaXNrczsgIC8qICA0IE51bWJlciBvZiBmYWlsZWQgZGlza3MJCSAgKi8KKwl1aW50MzJfdCBzcGFyZV9kaXNrczsJICAvKiAgNSBOdW1iZXIgb2Ygc3BhcmUgZGlza3MJCSAgKi8KKworCS8qCisJICogUGVyc29uYWxpdHkgaW5mb3JtYXRpb24KKwkgKi8KKwl1aW50MzJfdCBsYXlvdXQ7CSAgLyogIDAgdGhlIGFycmF5J3MgcGh5c2ljYWwgbGF5b3V0CSAgKi8KKwl1aW50MzJfdCBjaHVua19zaXplOwkgIC8qICAxIGNodW5rIHNpemUgaW4gYnl0ZXMJCSAgKi8KKworfTsKKworc3RhdGljIGludCBpc19tZF9kZXZpY2UoZGV2X3QgZGV2bm8pCit7CisJaWYgKG1ham9yKGRldm5vKSA9PSBNRF9NQUpPUikKKwkJcmV0dXJuIDE7CisJcmV0dXJuIGJsa2lkX2RyaXZlcl9oYXNfbWFqb3IoIm1kIiwgbWFqb3IoZGV2bm8pKTsKK30KKworc3RhdGljIGludCBwcm9iZV9tZF90cChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWludCBmZCA9IC0xOworCWRldl90IGRpc2sgPSAwOworCWRldl90IGRldm5vID0gYmxraWRfcHJvYmVfZ2V0X2Rldm5vKHByKTsKKwlzdHJ1Y3QgbWRfYXJyYXlfaW5mbyBtZDsKKworCWlmICghZGV2bm8pCisJCWdvdG8gbm90aGluZzsJCS8qIHByb2JhYmx5IG5vdCBhIGJsb2NrIGRldmljZSAqLworCisJaWYgKCFpc19tZF9kZXZpY2UoZGV2bm8pKQorCQlnb3RvIG5vdGhpbmc7CisKKwlpZiAoYmxraWRfZGV2bm9fdG9fd2hvbGVkaXNrKGRldm5vLCBOVUxMLCAwLCAmZGlzaykpCisJCWdvdG8gbm90aGluZzsKKworCWlmIChkaXNrID09IGRldm5vKQorCQlmZCA9IHByLT5mZDsKKwllbHNlIHsKKwkJY2hhciAqZGlza3BhdGggPSBibGtpZF9kZXZub190b19kZXZuYW1lKGRpc2spOworCisJCWlmICghZGlza3BhdGgpCisJCQlnb3RvIG5vdGhpbmc7CisKKwkJZmQgPSBvcGVuKGRpc2twYXRoLCBPX1JET05MWXxPX0NMT0VYRUMpOworCQlmcmVlKGRpc2twYXRoKTsKKworICAgICAgICAgICAgICAgIGlmIChmZCA9PSAtMSkKKwkJCWdvdG8gbm90aGluZzsKKwl9CisKKwltZW1zZXQoJm1kLCAwLCBzaXplb2YobWQpKTsKKworCWlmIChpb2N0bChmZCwgR0VUX0FSUkFZX0lORk8sICZtZCkpCisJCWdvdG8gbm90aGluZzsKKworCWlmIChmZCA+PSAwICYmIGZkICE9IHByLT5mZCkgeworCQljbG9zZShmZCk7CisJCWZkID0gLTE7CisJfQorCisJLyoKKwkgKiBJZ25vcmUgbGV2ZWxzIHdlIGRvbid0IHdhbnQgYWxpZ25lZCAoZS5nLiBsaW5lYXIpCisJICogYW5kIGRlZHVjdCBkaXNrKHMpIGZyb20gc3RyaXBlIHdpZHRoIG9uIFJBSUQ0LzUvNgorCSAqLworCXN3aXRjaCAobWQubGV2ZWwpIHsKKwljYXNlIDY6CisJCW1kLnJhaWRfZGlza3MtLTsKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIDU6CisJY2FzZSA0OgorCQltZC5yYWlkX2Rpc2tzLS07CisJCS8qIGZhbGx0aHJvdWdoICovCisJY2FzZSAxOgorCWNhc2UgMDoKKwljYXNlIDEwOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlnb3RvIG5vdGhpbmc7CisJfQorCisJYmxraWRfdG9wb2xvZ3lfc2V0X21pbmltdW1faW9fc2l6ZShwciwgbWQuY2h1bmtfc2l6ZSk7CisJYmxraWRfdG9wb2xvZ3lfc2V0X29wdGltYWxfaW9fc2l6ZShwciwgbWQuY2h1bmtfc2l6ZSAqIG1kLnJhaWRfZGlza3MpOworCisJcmV0dXJuIDA7CisKK25vdGhpbmc6CisJaWYgKGZkID49IDAgJiYgZmQgIT0gcHItPmZkKQorCQljbG9zZShmZCk7CisJcmV0dXJuIDE7Cit9CisKK2NvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbWRfdHBfaWRpbmZvID0KK3sKKwkubmFtZQkJPSAibWQiLAorCS5wcm9iZWZ1bmMJPSBwcm9iZV9tZF90cCwKKwkubWFnaWNzCQk9IEJMS0lEX05PTkVfTUFHSUMKK307CisKZGlmZiAtLWdpdCBhL2xpYmJsa2lkL3NyYy90b3BvbG9neS9zeXNmcy5jIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L3N5c2ZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYwNWMzNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS9zeXNmcy5jCkBAIC0wLDAgKzEsMTIzIEBACisvKgorICogc3lzZnMgYmFzZWQgdG9wb2xvZ3kgLS0gZ2F0aGVycyB0b3BvbG9neSBpbmZvcm1hdGlvbiBmcm9tIExpbnV4IHN5c2ZzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIExpbnV4IGtlcm5lbCBEb2N1bWVudGF0aW9uL0FCSS90ZXN0aW5nL3N5c2ZzLWJsb2NrLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2luY2x1ZGUgInN5c2ZzLmgiCisjaW5jbHVkZSAidG9wb2xvZ3kuaCIKKworLyoKKyAqIFN5c2ZzIHRvcG9sb2d5IHZhbHVlcyAoc2luY2UgMi42LjMxLCBNYXkgMjAwOSkuCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdG9wb2xvZ3lfdmFsIHsKKworCS8qIC9zeXMvZGV2L2Jsb2NrLzxtYWo+OjxtaW4+LzxBVFRSPiAqLworCWNvbnN0IGNoYXIgKmF0dHI7CisKKwkvKiBmdW5jdGlvbnMgdG8gc2V0IHByb2JpbmcgcmVzdWx0ICovCisJaW50ICgqc2V0X3Vsb25nKShibGtpZF9wcm9iZSwgdW5zaWduZWQgbG9uZyk7CisJaW50ICgqc2V0X2ludCkoYmxraWRfcHJvYmUsIGludCk7CisKK30gdG9wb2xvZ3lfdmFsc1tdID0geworCXsgImFsaWdubWVudF9vZmZzZXQiLCBOVUxMLCBibGtpZF90b3BvbG9neV9zZXRfYWxpZ25tZW50X29mZnNldCB9LAorCXsgInF1ZXVlL21pbmltdW1faW9fc2l6ZSIsIGJsa2lkX3RvcG9sb2d5X3NldF9taW5pbXVtX2lvX3NpemUgfSwKKwl7ICJxdWV1ZS9vcHRpbWFsX2lvX3NpemUiLCBibGtpZF90b3BvbG9neV9zZXRfb3B0aW1hbF9pb19zaXplIH0sCisJeyAicXVldWUvcGh5c2ljYWxfYmxvY2tfc2l6ZSIsIGJsa2lkX3RvcG9sb2d5X3NldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZSB9LAorfTsKKworc3RhdGljIGludCBwcm9iZV9zeXNmc190cChibGtpZF9wcm9iZSBwciwKKwkJY29uc3Qgc3RydWN0IGJsa2lkX2lkbWFnICptYWcgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWRldl90IGRldjsKKwlpbnQgcmMsIHNldF9wYXJlbnQgPSAxOworCXN0cnVjdCBwYXRoX2N4dCAqcGM7CisJc2l6ZV90IGksIGNvdW50ID0gMDsKKworCWRldiA9IGJsa2lkX3Byb2JlX2dldF9kZXZubyhwcik7CisJaWYgKCFkZXYpCisJCXJldHVybiAxOworCXBjID0gdWxfbmV3X3N5c2ZzX3BhdGgoZGV2LCBOVUxMLCBOVUxMKTsKKwlpZiAoIXBjKQorCQlyZXR1cm4gMTsKKworCXJjID0gMTsJCS8qIG5vdGhpbmcgKGRlZmF1bHQpICovCisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0b3BvbG9neV92YWxzKTsgaSsrKSB7CisJCXN0cnVjdCB0b3BvbG9neV92YWwgKnZhbCA9ICZ0b3BvbG9neV92YWxzW2ldOworCQlpbnQgb2sgPSB1bF9wYXRoX2FjY2VzcyhwYywgRl9PSywgdmFsLT5hdHRyKSA9PSAwOworCisJCXJjID0gMTsJLyogbm90aGluZyAqLworCisJCWlmICghb2sgJiYgc2V0X3BhcmVudCkgeworCQkJZGV2X3QgZGlzayA9IGJsa2lkX3Byb2JlX2dldF93aG9sZWRpc2tfZGV2bm8ocHIpOworCQkJc2V0X3BhcmVudCA9IDA7CisKKwkJCS8qCisJCQkgKiBSZWFkIGF0dHJpYnV0ZXMgZnJvbSAiZGlzayIgaWYgdGhlIGN1cnJlbnQgZGV2aWNlIGlzCisJCQkgKiBhIHBhcnRpdGlvbi4gTm90ZSB0aGF0IHN5c2ZzIHVsX3BhdGhfKiBBUEkgaXMgYWJsZQorCQkJICogdG8gcmVkaXJlY3QgcmVxdWVzdHMgdG8gYXR0cmlidXRlcyBpZiBwYXJlbnQgaXMgc2V0LgorCQkJICovCisJCQlpZiAoZGlzayAmJiBkaXNrICE9IGRldikgeworCQkJCXN0cnVjdCBwYXRoX2N4dCAqcGFyZW50ID0gdWxfbmV3X3N5c2ZzX3BhdGgoZGlzaywgTlVMTCwgTlVMTCk7CisJCQkJaWYgKCFwYXJlbnQpCisJCQkJCWdvdG8gZG9uZTsKKworCQkJCXN5c2ZzX2Jsa2Rldl9zZXRfcGFyZW50KHBjLCBwYXJlbnQpOworCQkJCXVsX3VucmVmX3BhdGgocGFyZW50KTsKKworCQkJCS8qIHRyeSBpdCBhZ2FpbiAqLworCQkJCW9rID0gdWxfcGF0aF9hY2Nlc3MocGMsIEZfT0ssIHZhbC0+YXR0cikgPT0gMDsKKwkJCX0KKwkJfQorCQlpZiAoIW9rKQorCQkJY29udGludWU7CS8qIGF0dHJpYnV0ZSBkb2VzIG5vdCBleGlzdCAqLworCisJCWlmICh2YWwtPnNldF91bG9uZykgeworCQkJdWludDY0X3QgZGF0YTsKKworCQkJaWYgKHVsX3BhdGhfcmVhZF91NjQocGMsICZkYXRhLCB2YWwtPmF0dHIpICE9IDApCisJCQkJY29udGludWU7CisJCQlyYyA9IHZhbC0+c2V0X3Vsb25nKHByLCAodW5zaWduZWQgbG9uZykgZGF0YSk7CisKKwkJfSBlbHNlIGlmICh2YWwtPnNldF9pbnQpIHsKKwkJCWludDY0X3QgZGF0YTsKKworCQkJaWYgKHVsX3BhdGhfcmVhZF9zNjQocGMsICZkYXRhLCB2YWwtPmF0dHIpICE9IDApCisJCQkJY29udGludWU7CisJCQlyYyA9IHZhbC0+c2V0X2ludChwciwgKGludCkgZGF0YSk7CisJCX0KKworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOwkvKiBlcnJvciAqLworCQlpZiAocmMgPT0gMCkKKwkJCWNvdW50Kys7CisJfQorCitkb25lOgorCXVsX3VucmVmX3BhdGgocGMpOwkJLyogdW5yZWYgcGMgYW5kIHBhcmVudCAqLworCWlmIChjb3VudCkKKwkJcmV0dXJuIDA7CQkvKiBzdWNjZXNzICovCisJcmV0dXJuIHJjOwkJCS8qIGVycm9yIG9yIG5vdGhpbmcgKi8KK30KKworY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyBzeXNmc190cF9pZGluZm8gPQoreworCS5uYW1lCQk9ICJzeXNmcyIsCisJLnByb2JlZnVuYwk9IHByb2JlX3N5c2ZzX3RwLAorCS5tYWdpY3MJCT0gQkxLSURfTk9ORV9NQUdJQworfTsKKwpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3RvcG9sb2d5L3RvcG9sb2d5LmMgYi9saWJibGtpZC9zcmMvdG9wb2xvZ3kvdG9wb2xvZ3kuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGU0Yzk1Ci0tLSAvZGV2L251bGwKKysrIGIvbGliYmxraWQvc3JjL3RvcG9sb2d5L3RvcG9sb2d5LmMKQEAgLTAsMCArMSwzNjAgQEAKKy8qCisgKiB0b3BvbG9neSAtIGdhdGhlcnMgaW5mb3JtYXRpb24gYWJvdXQgZGV2aWNlIHRvcG9sb2d5CisgKgorICogQ29weXJpZ2h0IDIwMDkgUmVkIEhhdCwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorCisjaW5jbHVkZSAidG9wb2xvZ3kuaCIKKworLyoqCisgKiBTRUNUSU9OOnRvcG9sb2d5CisgKiBAdGl0bGU6IFRvcG9sb2d5IGluZm9ybWF0aW9uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGJsb2NrIGRldmljZSB0b3BvbG9neSBpbmZvcm1hdGlvbi4KKyAqCisgKiBUaGUgdG9wb2xvZ3kgY2hhaW4gcHJvdmlkZXMgZGV0YWlscyBhYm91dCBMaW51eCBibG9jayBkZXZpY2VzLCBmb3IgbW9yZQorICogaW5mb3JtYXRpb24gc2VlOgorICoKKyAqICAgICAgTGludXgga2VybmVsIERvY3VtZW50YXRpb24vQUJJL3Rlc3Rpbmcvc3lzZnMtYmxvY2sKKyAqCisgKiBOQU1FPXZhbHVlICh0YWdzKSBpbnRlcmZhY2UgaXMgZW5hYmxlZCBieSBibGtpZF9wcm9iZV9lbmFibGVfdG9wb2xvZ3koKSwKKyAqIGFuZCBwcm92aWRlczoKKyAqCisgKiBATE9HSUNBTF9TRUNUT1JfU0laRTogdGhpcyBpcyB0aGUgc21hbGxlc3QgdW5pdCB0aGUgc3RvcmFnZSBkZXZpY2UgY2FuCisgKiAgICAgICAgICAgICAgICAgICAgICAgYWRkcmVzcy4gSXQgaXMgdHlwaWNhbGx5IDUxMiBieXRlcy4KKyAqCisgKiBAUEhZU0lDQUxfU0VDVE9SX1NJWkU6IHRoaXMgaXMgdGhlIHNtYWxsZXN0IHVuaXQgYSBwaHlzaWNhbCBzdG9yYWdlIGRldmljZQorICogICAgICAgICAgICAgICAgICAgICAgICBjYW4gd3JpdGUgYXRvbWljYWxseS4gSXQgaXMgdXN1YWxseSB0aGUgc2FtZSBhcyB0aGUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgbG9naWNhbCBzZWN0b3Igc2l6ZSBidXQgbWF5IGJlIGJpZ2dlci4KKyAqCisgKiBATUlOSU1VTV9JT19TSVpFOiBtaW5pbXVtIHNpemUgd2hpY2ggaXMgdGhlIGRldmljZSdzIHByZWZlcnJlZCB1bml0IG9mIEkvTy4KKyAqICAgICAgICAgICAgICAgICAgIEZvciBSQUlEIGFycmF5cyBpdCBpcyBvZnRlbiB0aGUgc3RyaXBlIGNodW5rIHNpemUuCisgKgorICogQE9QVElNQUxfSU9fU0laRTogdXN1YWxseSB0aGUgc3RyaXBlIHdpZHRoIGZvciBSQUlEIG9yIHplcm8uIEZvciBSQUlEIGFycmF5cworICogICAgICAgICAgICAgICAgICAgaXQgaXMgdXN1YWxseSB0aGUgc3RyaXBlIHdpZHRoIG9yIHRoZSBpbnRlcm5hbCB0cmFjayBzaXplLgorICoKKyAqIEBBTElHTk1FTlRfT0ZGU0VUOiBpbmRpY2F0ZXMgaG93IG1hbnkgYnl0ZXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgZGV2aWNlIGlzCisgKiAgICAgICAgICAgICAgICAgICAgb2Zmc2V0IGZyb20gdGhlIGRpc2sncyBuYXR1cmFsIGFsaWdubWVudC4KKyAqCisgKiBUaGUgTkFNRT12YWx1ZSB0YWdzIGFyZSBub3QgZGVmaW5lZCB3aGVuIHRoZSBjb3JyZXNwb25kaW5nIHRvcG9sb2d5IHZhbHVlCisgKiBpcyB6ZXJvLiBUaGUgTUlOSU1VTV9JT19TSVpFIHNob3VsZCBiZSBhbHdheXMgZGVmaW5lZCBpZiBrZXJuZWwgcHJvdmlkZXMKKyAqIHRvcG9sb2d5IGluZm9ybWF0aW9uLgorICoKKyAqIEJpbmFyeSBpbnRlcmZhY2U6CisgKgorICogYmxraWRfcHJvYmVfZ2V0X3RvcG9sb2d5KCkKKyAqCisgKiBibGtpZF90b3BvbG9neV9nZXRfJ1ZBTFVFTkFNRScoKQorICovCitzdGF0aWMgaW50IHRvcG9sb2d5X3Byb2JlKGJsa2lkX3Byb2JlIHByLCBzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobik7CitzdGF0aWMgdm9pZCB0b3BvbG9neV9mcmVlKGJsa2lkX3Byb2JlIHByLCB2b2lkICpkYXRhKTsKK3N0YXRpYyBpbnQgdG9wb2xvZ3lfaXNfY29tcGxldGUoYmxraWRfcHJvYmUgcHIpOworc3RhdGljIGludCB0b3BvbG9neV9zZXRfbG9naWNhbF9zZWN0b3Jfc2l6ZShibGtpZF9wcm9iZSBwcik7CisKKy8qCisgKiBCaW5hcnkgaW50ZXJmYWNlCisgKi8KK3N0cnVjdCBibGtpZF9zdHJ1Y3RfdG9wb2xvZ3kgeworCXVuc2lnbmVkIGxvbmcJYWxpZ25tZW50X29mZnNldDsKKwl1bnNpZ25lZCBsb25nCW1pbmltdW1faW9fc2l6ZTsKKwl1bnNpZ25lZCBsb25nCW9wdGltYWxfaW9fc2l6ZTsKKwl1bnNpZ25lZCBsb25nCWxvZ2ljYWxfc2VjdG9yX3NpemU7CisJdW5zaWduZWQgbG9uZwlwaHlzaWNhbF9zZWN0b3Jfc2l6ZTsKK307CisKKy8qCisgKiBUb3BvbG9neSBjaGFpbiBwcm9iaW5nIGZ1bmN0aW9ucworICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGJsa2lkX2lkaW5mbyAqaWRpbmZvc1tdID0KK3sKKyNpZmRlZiBfX2xpbnV4X18KKwkmaW9jdGxfdHBfaWRpbmZvLAorCSZzeXNmc190cF9pZGluZm8sCisJJm1kX3RwX2lkaW5mbywKKwkmZG1fdHBfaWRpbmZvLAorCSZsdm1fdHBfaWRpbmZvLAorCSZldm1zX3RwX2lkaW5mbworI2VuZGlmCit9OworCisKKy8qCisgKiBEcml2ZXIgZGVmaW5pdGlvbgorICovCitjb25zdCBzdHJ1Y3QgYmxraWRfY2hhaW5kcnYgdG9wb2xvZ3lfZHJ2ID0geworCS5pZCAgICAgICAgICAgPSBCTEtJRF9DSEFJTl9UT1BMR1ksCisJLm5hbWUgICAgICAgICA9ICJ0b3BvbG9neSIsCisJLmRmbHRfZW5hYmxlZCA9IEZBTFNFLAorCS5pZGluZm9zICAgICAgPSBpZGluZm9zLAorCS5uaWRpbmZvcyAgICAgPSBBUlJBWV9TSVpFKGlkaW5mb3MpLAorCS5wcm9iZSAgICAgICAgPSB0b3BvbG9neV9wcm9iZSwKKwkuc2FmZXByb2JlICAgID0gdG9wb2xvZ3lfcHJvYmUsCisJLmZyZWVfZGF0YSAgICA9IHRvcG9sb2d5X2ZyZWUKK307CisKKy8qKgorICogYmxraWRfcHJvYmVfZW5hYmxlX3RvcG9sb2d5OgorICogQHByOiBwcm9iZQorICogQGVuYWJsZTogVFJVRS9GQUxTRQorICoKKyAqIEVuYWJsZXMvZGlzYWJsZXMgdGhlIHRvcG9sb2d5IHByb2JpbmcgZm9yIG5vbi1iaW5hcnkgaW50ZXJmYWNlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3IgLTEgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGJsa2lkX3Byb2JlX2VuYWJsZV90b3BvbG9neShibGtpZF9wcm9iZSBwciwgaW50IGVuYWJsZSkKK3sKKwlwci0+Y2hhaW5zW0JMS0lEX0NIQUlOX1RPUExHWV0uZW5hYmxlZCA9IGVuYWJsZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3k6CisgKiBAcHI6IHByb2JlCisgKgorICogVGhpcyBpcyBhIGJpbmFyeSBpbnRlcmZhY2UgZm9yIHRvcG9sb2d5IHZhbHVlcy4gU2VlIGFsc28gYmxraWRfdG9wb2xvZ3lfKgorICogZnVuY3Rpb25zLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgaW5kZXBlbmRlbnQgb24gYmxraWRfZG9fW3NhZmUsZnVsbF1wcm9iZSgpIGFuZAorICogYmxraWRfcHJvYmVfZW5hYmxlX3RvcG9sb2d5KCkgY2FsbHMuCisgKgorICogV0FSTklORzogdGhlIHJldHVybmVkIG9iamVjdCB3aWxsIGJlIG92ZXJ3cml0dGVuIGJ5IHRoZSBuZXh0CisgKiAgICAgICAgICBibGtpZF9wcm9iZV9nZXRfdG9wb2xvZ3koKSBjYWxsIGZvciB0aGUgc2FtZSBAcHIuIElmIHlvdSB3YW50IHRvCisgKiAgICAgICAgICB1c2UgbW9yZSBibGtpZF90b3BvbG9neSBvYmplY3RzIGluIHRoZSBzYW1lIHRpbWUgeW91IGhhdmUgdG8gY3JlYXRlCisgKiAgICAgICAgICBtb3JlIGJsa2lkX3Byb2JlIGhhbmRsZXJzIChzZWUgYmxraWRfbmV3X3Byb2JlKCkpLgorICoKKyAqIFJldHVybnM6IGJsa2lkX3RvcG9sb2d5LCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2Jsa2lkX3RvcG9sb2d5IGJsa2lkX3Byb2JlX2dldF90b3BvbG9neShibGtpZF9wcm9iZSBwcikKK3sKKwlyZXR1cm4gKGJsa2lkX3RvcG9sb2d5KSBibGtpZF9wcm9iZV9nZXRfYmluYXJ5X2RhdGEocHIsCisJCQkmcHItPmNoYWluc1tCTEtJRF9DSEFJTl9UT1BMR1ldKTsKK30KKworLyoKKyAqIFRoZSBibGtpZF9kb19wcm9iZSgpIGJhY2tlbmQuCisgKi8KK3N0YXRpYyBpbnQgdG9wb2xvZ3lfcHJvYmUoYmxraWRfcHJvYmUgcHIsIHN0cnVjdCBibGtpZF9jaGFpbiAqY2huKQoreworCXNpemVfdCBpOworCisJaWYgKGNobi0+aWR4IDwgLTEpCisJCXJldHVybiAtMTsKKworCWlmICghU19JU0JMSyhwci0+bW9kZSkpCisJCXJldHVybiAtRUlOVkFMOwkvKiBub3RoaW5nLCB3b3JrcyB3aXRoIGJsb2NrIGRldmljZXMgb25seSAqLworCisJaWYgKGNobi0+YmluYXJ5KSB7CisJCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoImluaXRpYWxpemUgdG9wb2xvZ3kgYmluYXJ5IGRhdGEiKSk7CisKKwkJaWYgKGNobi0+ZGF0YSkKKwkJCS8qIHJlc2V0IGJpbmFyeSBkYXRhICovCisJCQltZW1zZXQoY2huLT5kYXRhLCAwLAorCQkJCQlzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF90b3BvbG9neSkpOworCQllbHNlIHsKKwkJCWNobi0+ZGF0YSA9IGNhbGxvYygxLAorCQkJCQlzaXplb2Yoc3RydWN0IGJsa2lkX3N0cnVjdF90b3BvbG9neSkpOworCQkJaWYgKCFjaG4tPmRhdGEpCisJCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwl9CisKKwlibGtpZF9wcm9iZV9jaGFpbl9yZXNldF92YWx1ZXMocHIsIGNobik7CisKKwlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCItLT4gc3RhcnRpbmcgcHJvYmluZyBsb29wIFtUT1BPTE9HWSBpZHg9JWRdIiwKKwkJY2huLT5pZHgpKTsKKworCWkgPSBjaG4tPmlkeCA8IDAgPyAwIDogY2huLT5pZHggKyAxVTsKKworCWZvciAoIDsgaSA8IEFSUkFZX1NJWkUoaWRpbmZvcyk7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvICppZCA9IGlkaW5mb3NbaV07CisKKwkJY2huLT5pZHggPSBpOworCisJCWlmIChpZC0+cHJvYmVmdW5jKSB7CisJCQlEQkcoTE9XUFJPQkUsIHVsX2RlYnVnKCIlczogY2FsbCBwcm9iZWZ1bmMoKSIsIGlkLT5uYW1lKSk7CisJCQlpZiAoaWQtPnByb2JlZnVuYyhwciwgTlVMTCkgIT0gMCkKKwkJCQljb250aW51ZTsKKwkJfQorCisJCWlmICghdG9wb2xvZ3lfaXNfY29tcGxldGUocHIpKQorCQkJY29udGludWU7CisKKwkJLyogZ2VuZXJpYyBmb3IgYWxsIHByb2JpbmcgZHJpdmVycyAqLworCQl0b3BvbG9neV9zZXRfbG9naWNhbF9zZWN0b3Jfc2l6ZShwcik7CisKKwkJREJHKExPV1BST0JFLCB1bF9kZWJ1ZygiPC0tIGxlYXZpbmcgcHJvYmluZyBsb29wICh0eXBlPSVzKSBbVE9QT0xPR1kgaWR4PSVkXSIsCisJCQlpZC0+bmFtZSwgY2huLT5pZHgpKTsKKwkJcmV0dXJuIEJMS0lEX1BST0JFX09LOworCX0KKworCURCRyhMT1dQUk9CRSwgdWxfZGVidWcoIjwtLSBsZWF2aW5nIHByb2JpbmcgbG9vcCAoZmFpbGVkKSBbVE9QT0xPR1kgaWR4PSVkXSIsCisJCWNobi0+aWR4KSk7CisJcmV0dXJuIEJMS0lEX1BST0JFX05PTkU7Cit9CisKK3N0YXRpYyB2b2lkIHRvcG9sb2d5X2ZyZWUoYmxraWRfcHJvYmUgcHIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJICB2b2lkICpkYXRhKQoreworCWZyZWUoZGF0YSk7Cit9CisKK3N0YXRpYyBpbnQgdG9wb2xvZ3lfc2V0X3ZhbHVlKGJsa2lkX3Byb2JlIHByLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCXNpemVfdCBzdHJ1Y3RvZmYsIHVuc2lnbmVkIGxvbmcgZGF0YSkKK3sKKwlzdHJ1Y3QgYmxraWRfY2hhaW4gKmNobiA9IGJsa2lkX3Byb2JlX2dldF9jaGFpbihwcik7CisKKwlpZiAoIWNobikKKwkJcmV0dXJuIC0xOworCWlmICghZGF0YSkKKwkJcmV0dXJuIDA7CS8qIGlnbm9yZSB6ZXJvcyAqLworCisJaWYgKGNobi0+YmluYXJ5KSB7CisJCW1lbWNweSgoY2hhciAqKSBjaG4tPmRhdGEgKyBzdHJ1Y3RvZmYsICZkYXRhLCBzaXplb2YoZGF0YSkpOworCQlyZXR1cm4gMDsKKwl9CisJcmV0dXJuIGJsa2lkX3Byb2JlX3NwcmludGZfdmFsdWUocHIsIG5hbWUsICIlbHUiLCBkYXRhKTsKK30KKworCisvKiB0aGUgdG9wb2xvZ3kgaW5mbyBpcyBjb21wbGV0ZSB3aGVuIHdlIGhhdmUgYXQgbGVhc3QgIm1pbmltdW1faW9fc2l6ZSIgd2hpY2gKKyAqIGlzIHByb3ZpZGVkIGJ5IGFsbCBibGtpZCB0b3BvbG9neSBkcml2ZXJzICovCitzdGF0aWMgaW50IHRvcG9sb2d5X2lzX2NvbXBsZXRlKGJsa2lkX3Byb2JlIHByKQoreworCXN0cnVjdCBibGtpZF9jaGFpbiAqY2huID0gYmxraWRfcHJvYmVfZ2V0X2NoYWluKHByKTsKKworCWlmICghY2huKQorCQlyZXR1cm4gRkFMU0U7CisKKwlpZiAoY2huLT5iaW5hcnkgJiYgY2huLT5kYXRhKSB7CisJCWJsa2lkX3RvcG9sb2d5IHRwID0gKGJsa2lkX3RvcG9sb2d5KSBjaG4tPmRhdGE7CisJCWlmICh0cC0+bWluaW11bV9pb19zaXplKQorCQkJcmV0dXJuIFRSVUU7CisJfQorCisJcmV0dXJuIF9fYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiTUlOSU1VTV9JT19TSVpFIikgPyBUUlVFIDogRkFMU0U7Cit9CisKK2ludCBibGtpZF90b3BvbG9neV9zZXRfYWxpZ25tZW50X29mZnNldChibGtpZF9wcm9iZSBwciwgaW50IHZhbCkKK3sKKwl1bnNpZ25lZCBsb25nIHh2YWw7CisKKwkvKiBXZWxjb21lIHRvIEhlbGwuIFRoZSBrZXJuZWwgaXMgYWJsZSB0byByZXR1cm4gLTEgYXMgYW4KKwkgKiBhbGlnbm1lbnRfb2Zmc2V0IGlmIG5vIGNvbXBhdGlibGUgc2l6ZXMgYW5kIGFsaWdubWVudHMKKwkgKiBleGlzdCBmb3Igc3RhY2tlZCBkZXZpY2VzLgorCSAqCisJICogVGhlcmUgaXMgbm8gd2F5IGhvdyBsaWJibGtpZCBjYWxsZXIgY2FuIHJlc3BvbmQgdG8gdGhlIHZhbHVlIC0xLCBzbworCSAqIHdlIHdpbGwgaGlkZSB0aGlzIGNvcm5lciBjYXNlLi4uCisJICoKKwkgKiAoVE9ETzogbWF5YmUgd2UgY2FuIGV4cG9ydCBhbiBleHRyYSBib29sZWFuIHZhbHVlICdtaXNhbGlnbmVkJyByYXRoZXIKKwkgKiAgdGhlbiBjb21wbGV0ZSBoaWRlIHRoaXMgcHJvYmxlbS4pCisJICovCisJeHZhbCA9IHZhbCA8IDAgPyAwIDogdmFsOworCisJcmV0dXJuIHRvcG9sb2d5X3NldF92YWx1ZShwciwKKwkJCSJBTElHTk1FTlRfT0ZGU0VUIiwKKwkJCW9mZnNldG9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfdG9wb2xvZ3ksIGFsaWdubWVudF9vZmZzZXQpLAorCQkJeHZhbCk7Cit9CisKK2ludCBibGtpZF90b3BvbG9neV9zZXRfbWluaW11bV9pb19zaXplKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBsb25nIHZhbCkKK3sKKwlyZXR1cm4gdG9wb2xvZ3lfc2V0X3ZhbHVlKHByLAorCQkJIk1JTklNVU1fSU9fU0laRSIsCisJCQlvZmZzZXRvZihzdHJ1Y3QgYmxraWRfc3RydWN0X3RvcG9sb2d5LCBtaW5pbXVtX2lvX3NpemUpLAorCQkJdmFsKTsKK30KKworaW50IGJsa2lkX3RvcG9sb2d5X3NldF9vcHRpbWFsX2lvX3NpemUoYmxraWRfcHJvYmUgcHIsIHVuc2lnbmVkIGxvbmcgdmFsKQoreworCXJldHVybiB0b3BvbG9neV9zZXRfdmFsdWUocHIsCisJCQkiT1BUSU1BTF9JT19TSVpFIiwKKwkJCW9mZnNldG9mKHN0cnVjdCBibGtpZF9zdHJ1Y3RfdG9wb2xvZ3ksIG9wdGltYWxfaW9fc2l6ZSksCisJCQl2YWwpOworfQorCisvKiBCTEtTU1pHRVQgaXMgcHJvdmlkZWQgb24gYWxsIHN5c3RlbXMgc2luY2UgMi4zLjMgLS0gc28gd2UgZG9uJ3QgaGF2ZSB0bworICogd2FzdGUgdGltZSB3aXRoIHN5c2ZzLgorICovCitzdGF0aWMgaW50IHRvcG9sb2d5X3NldF9sb2dpY2FsX3NlY3Rvcl9zaXplKGJsa2lkX3Byb2JlIHByKQoreworCXVuc2lnbmVkIGxvbmcgdmFsID0gYmxraWRfcHJvYmVfZ2V0X3NlY3RvcnNpemUocHIpOworCisJaWYgKCF2YWwpCisJCXJldHVybiAtMTsKKworCXJldHVybiB0b3BvbG9neV9zZXRfdmFsdWUocHIsCisJCQkiTE9HSUNBTF9TRUNUT1JfU0laRSIsCisJCQlvZmZzZXRvZihzdHJ1Y3QgYmxraWRfc3RydWN0X3RvcG9sb2d5LCBsb2dpY2FsX3NlY3Rvcl9zaXplKSwKKwkJCXZhbCk7Cit9CisKK2ludCBibGtpZF90b3BvbG9neV9zZXRfcGh5c2ljYWxfc2VjdG9yX3NpemUoYmxraWRfcHJvYmUgcHIsIHVuc2lnbmVkIGxvbmcgdmFsKQoreworCXJldHVybiB0b3BvbG9neV9zZXRfdmFsdWUocHIsCisJCQkiUEhZU0lDQUxfU0VDVE9SX1NJWkUiLAorCQkJb2Zmc2V0b2Yoc3RydWN0IGJsa2lkX3N0cnVjdF90b3BvbG9neSwgcGh5c2ljYWxfc2VjdG9yX3NpemUpLAorCQkJdmFsKTsKK30KKworLyoqCisgKiBibGtpZF90b3BvbG9neV9nZXRfYWxpZ25tZW50X29mZnNldDoKKyAqIEB0cDogdG9wb2xvZ3kKKyAqCisgKiBSZXR1cm5zOiBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIG9yIDAuCisgKi8KK3Vuc2lnbmVkIGxvbmcgYmxraWRfdG9wb2xvZ3lfZ2V0X2FsaWdubWVudF9vZmZzZXQoYmxraWRfdG9wb2xvZ3kgdHApCit7CisJcmV0dXJuIHRwLT5hbGlnbm1lbnRfb2Zmc2V0OworfQorCisvKioKKyAqIGJsa2lkX3RvcG9sb2d5X2dldF9taW5pbXVtX2lvX3NpemU6CisgKiBAdHA6IHRvcG9sb2d5CisgKgorICogUmV0dXJuczogbWluaW11bSBpbyBzaXplIGluIGJ5dGVzIG9yIDAuCisgKi8KK3Vuc2lnbmVkIGxvbmcgYmxraWRfdG9wb2xvZ3lfZ2V0X21pbmltdW1faW9fc2l6ZShibGtpZF90b3BvbG9neSB0cCkKK3sKKwlyZXR1cm4gdHAtPm1pbmltdW1faW9fc2l6ZTsKK30KKworLyoqCisgKiBibGtpZF90b3BvbG9neV9nZXRfb3B0aW1hbF9pb19zaXplCisgKiBAdHA6IHRvcG9sb2d5CisgKgorICogUmV0dXJuczogb3B0aW1hbCBpbyBzaXplIGluIGJ5dGVzIG9yIDAuCisgKi8KK3Vuc2lnbmVkIGxvbmcgYmxraWRfdG9wb2xvZ3lfZ2V0X29wdGltYWxfaW9fc2l6ZShibGtpZF90b3BvbG9neSB0cCkKK3sKKwlyZXR1cm4gdHAtPm9wdGltYWxfaW9fc2l6ZTsKK30KKworLyoqCisgKiBibGtpZF90b3BvbG9neV9nZXRfbG9naWNhbF9zZWN0b3Jfc2l6ZQorICogQHRwOiB0b3BvbG9neQorICoKKyAqIFJldHVybnM6IGxvZ2ljYWwgc2VjdG9yIHNpemUgKEJMS1NTWkdFVCBpb2N0bCkgaW4gYnl0ZXMgb3IgMC4KKyAqLwordW5zaWduZWQgbG9uZyBibGtpZF90b3BvbG9neV9nZXRfbG9naWNhbF9zZWN0b3Jfc2l6ZShibGtpZF90b3BvbG9neSB0cCkKK3sKKwlyZXR1cm4gdHAtPmxvZ2ljYWxfc2VjdG9yX3NpemU7Cit9CisKKy8qKgorICogYmxraWRfdG9wb2xvZ3lfZ2V0X3BoeXNpY2FsX3NlY3Rvcl9zaXplCisgKiBAdHA6IHRvcG9sb2d5CisgKgorICogUmV0dXJuczogbG9naWNhbCBzZWN0b3Igc2l6ZSAoQkxLU1NaR0VUIGlvY3RsKSBpbiBieXRlcyBvciAwLgorICovCit1bnNpZ25lZCBsb25nIGJsa2lkX3RvcG9sb2d5X2dldF9waHlzaWNhbF9zZWN0b3Jfc2l6ZShibGtpZF90b3BvbG9neSB0cCkKK3sKKwlyZXR1cm4gdHAtPnBoeXNpY2FsX3NlY3Rvcl9zaXplOworfQorCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvdG9wb2xvZ3kvdG9wb2xvZ3kuaCBiL2xpYmJsa2lkL3NyYy90b3BvbG9neS90b3BvbG9neS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkMmY0MzMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJibGtpZC9zcmMvdG9wb2xvZ3kvdG9wb2xvZ3kuaApAQCAtMCwwICsxLDI0IEBACisjaWZuZGVmIEJMS0lEX1RPUE9MT0dZX0gKKyNkZWZpbmUgQkxLSURfVE9QT0xPR1lfSAorCisjaW5jbHVkZSAiYmxraWRQLmgiCisKK2V4dGVybiBpbnQgYmxraWRfdG9wb2xvZ3lfc2V0X2FsaWdubWVudF9vZmZzZXQoYmxraWRfcHJvYmUgcHIsIGludCB2YWwpOworZXh0ZXJuIGludCBibGtpZF90b3BvbG9neV9zZXRfbWluaW11bV9pb19zaXplKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBsb25nIHZhbCk7CitleHRlcm4gaW50IGJsa2lkX3RvcG9sb2d5X3NldF9vcHRpbWFsX2lvX3NpemUoYmxraWRfcHJvYmUgcHIsIHVuc2lnbmVkIGxvbmcgdmFsKTsKK2V4dGVybiBpbnQgYmxraWRfdG9wb2xvZ3lfc2V0X3BoeXNpY2FsX3NlY3Rvcl9zaXplKGJsa2lkX3Byb2JlIHByLCB1bnNpZ25lZCBsb25nIHZhbCk7CisKKy8qCisgKiB0b3BvbG9neSBwcm9iZXJzCisgKi8KKyNpZmRlZiBfX2xpbnV4X18KK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGlvY3RsX3RwX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIG1kX3RwX2lkaW5mbzsKK2V4dGVybiBjb25zdCBzdHJ1Y3QgYmxraWRfaWRpbmZvIGV2bXNfdHBfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gc3lzZnNfdHBfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gZG1fdHBfaWRpbmZvOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBibGtpZF9pZGluZm8gbHZtX3RwX2lkaW5mbzsKKyNlbmRpZgorCisjZW5kaWYgLyogQkxLSURfVE9QT0xPR1lfSCAqLworCmRpZmYgLS1naXQgYS9saWJibGtpZC9zcmMvdmVyaWZ5LmMgYi9saWJibGtpZC9zcmMvdmVyaWZ5LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Y0NGY1NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy92ZXJpZnkuYwpAQCAtMCwwICsxLDIyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaWZkZWYgSEFWRV9TWVNfU1RBVF9ICisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfRVJSTk9fSAorI2luY2x1ZGUgPGVycm5vLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImJsa2lkUC5oIgorI2luY2x1ZGUgInN5c2ZzLmgiCisKK3N0YXRpYyB2b2lkIGJsa2lkX3Byb2JlX3RvX3RhZ3MoYmxraWRfcHJvYmUgcHIsIGJsa2lkX2RldiBkZXYpCit7CisJY29uc3QgY2hhciAqZGF0YTsKKwljb25zdCBjaGFyICpuYW1lOworCWludCBudmFscywgbjsKKwlzaXplX3QgbGVuOworCisJbnZhbHMgPSBibGtpZF9wcm9iZV9udW1vZl92YWx1ZXMocHIpOworCisJZm9yIChuID0gMDsgbiA8IG52YWxzOyBuKyspIHsKKwkJaWYgKGJsa2lkX3Byb2JlX2dldF92YWx1ZShwciwgbiwgJm5hbWUsICZkYXRhLCAmbGVuKSAhPSAwKQorCQkJY29udGludWU7CisJCWlmIChzdHJuY21wKG5hbWUsICJQQVJUX0VOVFJZXyIsIDExKSA9PSAwKSB7CisJCQlpZiAoc3RyY21wKG5hbWUsICJQQVJUX0VOVFJZX1VVSUQiKSA9PSAwKQorCQkJCWJsa2lkX3NldF90YWcoZGV2LCAiUEFSVFVVSUQiLCBkYXRhLCBsZW4pOworCQkJZWxzZSBpZiAoc3RyY21wKG5hbWUsICJQQVJUX0VOVFJZX05BTUUiKSA9PSAwKQorCQkJCWJsa2lkX3NldF90YWcoZGV2LCAiUEFSVExBQkVMIiwgZGF0YSwgbGVuKTsKKworCQl9IGVsc2UgaWYgKCFzdHJzdHIobmFtZSwgIl9JRCIpKSB7CisJCQkvKiBzdXBlcmJsb2NrIFVVSUQsIExBQkVMLCAuLi4KKwkJCSAqIGJ1dCBub3Qge1NZU1RFTSxBUFBMSUNBVElPTiwuLi5fSUR9ICovCisJCQlibGtpZF9zZXRfdGFnKGRldiwgbmFtZSwgZGF0YSwgbGVuKTsKKwkJfQorCX0KK30KKworLyoKKyAqIFZlcmlmeSB0aGF0IHRoZSBkYXRhIGluIGRldiBpcyBjb25zaXN0ZW50IHdpdGggd2hhdCBpcyBvbiB0aGUgYWN0dWFsCisgKiBibG9jayBkZXZpY2UgKHVzaW5nIHRoZSBkZXZuYW1lIGZpZWxkIG9ubHkpLiAgTm9ybWFsbHkgdGhpcyB3aWxsIGJlCisgKiBjYWxsZWQgd2hlbiBmaW5kaW5nIGl0ZW1zIGluIHRoZSBjYWNoZSwgYnV0IGZvciBsb25nIHJ1bm5pbmcgcHJvY2Vzc2VzCisgKiBpcyBhbHNvIGRlc2lyYWJsZSB0byByZXZhbGlkYXRlIGFuIGl0ZW0gYmVmb3JlIHVzZS4KKyAqCisgKiBJZiB3ZSBhcmUgdW5hYmxlIHRvIHJldmFsaWRhdGUgdGhlIGRhdGEsIHdlIHJldHVybiB0aGUgb2xkIGRhdGEgYW5kCisgKiBkbyBub3Qgc2V0IHRoZSBCTEtJRF9CSURfRkxfVkVSSUZJRUQgZmxhZyBvbiBpdC4KKyAqLworYmxraWRfZGV2IGJsa2lkX3ZlcmlmeShibGtpZF9jYWNoZSBjYWNoZSwgYmxraWRfZGV2IGRldikKK3sKKwlibGtpZF90YWdfaXRlcmF0ZSBpdGVyOworCWNvbnN0IGNoYXIgKnR5cGUsICp2YWx1ZTsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwl0aW1lX3QgZGlmZiwgbm93OworCWludCBmZDsKKworCWlmICghZGV2IHx8ICFjYWNoZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlub3cgPSB0aW1lKE5VTEwpOworCWRpZmYgPSBub3cgLSBkZXYtPmJpZF90aW1lOworCisJaWYgKHN0YXQoZGV2LT5iaWRfbmFtZSwgJnN0KSA8IDApIHsKKwkJREJHKFBST0JFLCB1bF9kZWJ1ZygiYmxraWRfdmVyaWZ5OiBlcnJvciAlbSAoJWQpIHdoaWxlICIKKwkJCSAgICJ0cnlpbmcgdG8gc3RhdCAlcyIsIGVycm5vLAorCQkJICAgZGV2LT5iaWRfbmFtZSkpOworCW9wZW5fZXJyOgorCQlpZiAoKGVycm5vID09IEVQRVJNKSB8fCAoZXJybm8gPT0gRUFDQ0VTKSB8fCAoZXJybm8gPT0gRU5PRU5UKSkgeworCQkJLyogV2UgZG9uJ3QgaGF2ZSByZWFkIHBlcm1pc3Npb24sIGp1c3QgcmV0dXJuIGNhY2hlIGRhdGEuICovCisJCQlEQkcoUFJPQkUsIHVsX2RlYnVnKCJyZXR1cm5pbmcgdW52ZXJpZmllZCBkYXRhIGZvciAlcyIsCisJCQkJCQlkZXYtPmJpZF9uYW1lKSk7CisJCQlyZXR1cm4gZGV2OworCQl9CisJCWJsa2lkX2ZyZWVfZGV2KGRldik7CisJCXJldHVybiBOVUxMOworCX0KKworCWlmIChub3cgPj0gZGV2LT5iaWRfdGltZSAmJgorI2lmZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfTVRJTV9UVl9OU0VDCisJICAgIChzdC5zdF9tdGltZSA8IGRldi0+YmlkX3RpbWUgfHwKKwkgICAgICAgIChzdC5zdF9tdGltZSA9PSBkZXYtPmJpZF90aW1lICYmCisJCSBzdC5zdF9tdGltLnR2X25zZWMgLyAxMDAwIDw9IGRldi0+YmlkX3V0aW1lKSkgJiYKKyNlbHNlCisJICAgIHN0LnN0X210aW1lIDw9IGRldi0+YmlkX3RpbWUgJiYKKyNlbmRpZgorCSAgICAoZGlmZiA8IEJMS0lEX1BST0JFX01JTiB8fAorCQkoZGV2LT5iaWRfZmxhZ3MgJiBCTEtJRF9CSURfRkxfVkVSSUZJRUQgJiYKKwkJIGRpZmYgPCBCTEtJRF9QUk9CRV9JTlRFUlZBTCkpKQorCQlyZXR1cm4gZGV2OworCisjaWZuZGVmIEhBVkVfU1RSVUNUX1NUQVRfU1RfTVRJTV9UVl9OU0VDCisJREJHKFBST0JFLCB1bF9kZWJ1ZygibmVlZCB0byByZXZhbGlkYXRlICVzIChjYWNoZSB0aW1lICVsdSwgc3RhdCB0aW1lICVsdSxcdCIKKwkJICAgInRpbWUgc2luY2UgbGFzdCBjaGVjayAlbHUpIiwKKwkJICAgZGV2LT5iaWRfbmFtZSwgKHVuc2lnbmVkIGxvbmcpZGV2LT5iaWRfdGltZSwKKwkJICAgKHVuc2lnbmVkIGxvbmcpc3Quc3RfbXRpbWUsICh1bnNpZ25lZCBsb25nKWRpZmYpKTsKKyNlbHNlCisJREJHKFBST0JFLCB1bF9kZWJ1ZygibmVlZCB0byByZXZhbGlkYXRlICVzIChjYWNoZSB0aW1lICVsdS4lbHUsIHN0YXQgdGltZSAlbHUuJWx1LFx0IgorCQkgICAidGltZSBzaW5jZSBsYXN0IGNoZWNrICVsdSkiLAorCQkgICBkZXYtPmJpZF9uYW1lLAorCQkgICAodW5zaWduZWQgbG9uZylkZXYtPmJpZF90aW1lLCAodW5zaWduZWQgbG9uZylkZXYtPmJpZF91dGltZSwKKwkJICAgKHVuc2lnbmVkIGxvbmcpc3Quc3RfbXRpbWUsICh1bnNpZ25lZCBsb25nKXN0LnN0X210aW0udHZfbnNlYyAvIDEwMDAsCisJCSAgICh1bnNpZ25lZCBsb25nKWRpZmYpKTsKKyNlbmRpZgorCisJaWYgKHN5c2ZzX2Rldm5vX2lzX2RtX3ByaXZhdGUoc3Quc3RfcmRldiwgTlVMTCkpIHsKKwkJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCWlmICghY2FjaGUtPnByb2JlKSB7CisJCWNhY2hlLT5wcm9iZSA9IGJsa2lkX25ld19wcm9iZSgpOworCQlpZiAoIWNhY2hlLT5wcm9iZSkgeworCQkJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwkJCXJldHVybiBOVUxMOworCQl9CisJfQorCisJZmQgPSBvcGVuKGRldi0+YmlkX25hbWUsIE9fUkRPTkxZfE9fQ0xPRVhFQyk7CisJaWYgKGZkIDwgMCkgeworCQlEQkcoUFJPQkUsIHVsX2RlYnVnKCJibGtpZF92ZXJpZnk6IGVycm9yICVtICglZCkgd2hpbGUgIgorCQkJCQkib3BlbmluZyAlcyIsIGVycm5vLAorCQkJCQlkZXYtPmJpZF9uYW1lKSk7CisJCWdvdG8gb3Blbl9lcnI7CisJfQorCisJaWYgKGJsa2lkX3Byb2JlX3NldF9kZXZpY2UoY2FjaGUtPnByb2JlLCBmZCwgMCwgMCkpIHsKKwkJLyogZmFpbGVkIHRvIHJlYWQgdGhlIGRldmljZSAqLworCQljbG9zZShmZCk7CisJCWJsa2lkX2ZyZWVfZGV2KGRldik7CisJCXJldHVybiBOVUxMOworCX0KKworCS8qIHJlbW92ZSBvbGQgY2FjaGUgaW5mbyAqLworCWl0ZXIgPSBibGtpZF90YWdfaXRlcmF0ZV9iZWdpbihkZXYpOworCXdoaWxlIChibGtpZF90YWdfbmV4dChpdGVyLCAmdHlwZSwgJnZhbHVlKSA9PSAwKQorCQlibGtpZF9zZXRfdGFnKGRldiwgdHlwZSwgTlVMTCwgMCk7CisJYmxraWRfdGFnX2l0ZXJhdGVfZW5kKGl0ZXIpOworCisJLyogZW5hYmxlIHN1cGVyYmxvY2tzIHByb2JpbmcgKi8KKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MoY2FjaGUtPnByb2JlLCBUUlVFKTsKKwlibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MoY2FjaGUtPnByb2JlLAorCQlCTEtJRF9TVUJMS1NfTEFCRUwgfCBCTEtJRF9TVUJMS1NfVVVJRCB8CisJCUJMS0lEX1NVQkxLU19UWVBFIHwgQkxLSURfU1VCTEtTX1NFQ1RZUEUpOworCisJLyogZW5hYmxlIHBhcnRpdGlvbnMgcHJvYmluZyAqLworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKGNhY2hlLT5wcm9iZSwgVFJVRSk7CisJYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MoY2FjaGUtPnByb2JlLCBCTEtJRF9QQVJUU19FTlRSWV9ERVRBSUxTKTsKKworCS8qIHByb2JlICovCisJaWYgKGJsa2lkX2RvX3NhZmVwcm9iZShjYWNoZS0+cHJvYmUpKSB7CisJCS8qIGZvdW5kIG5vdGhpbmcgb3IgZXJyb3IgKi8KKwkJYmxraWRfZnJlZV9kZXYoZGV2KTsKKwkJZGV2ID0gTlVMTDsKKwl9CisKKwlpZiAoZGV2KSB7CisjaWZkZWYgSEFWRV9TVFJVQ1RfU1RBVF9TVF9NVElNX1RWX05TRUMKKwkJc3RydWN0IHRpbWV2YWwgdHY7CisJCWlmICghZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCkpIHsKKwkJCWRldi0+YmlkX3RpbWUgPSB0di50dl9zZWM7CisJCQlkZXYtPmJpZF91dGltZSA9IHR2LnR2X3VzZWM7CisJCX0gZWxzZQorI2VuZGlmCisJCQlkZXYtPmJpZF90aW1lID0gdGltZShOVUxMKTsKKworCQlkZXYtPmJpZF9kZXZubyA9IHN0LnN0X3JkZXY7CisJCWRldi0+YmlkX2ZsYWdzIHw9IEJMS0lEX0JJRF9GTF9WRVJJRklFRDsKKwkJY2FjaGUtPmJpY19mbGFncyB8PSBCTEtJRF9CSUNfRkxfQ0hBTkdFRDsKKworCQlibGtpZF9wcm9iZV90b190YWdzKGNhY2hlLT5wcm9iZSwgZGV2KTsKKworCQlEQkcoUFJPQkUsIHVsX2RlYnVnKCIlczogZGV2bm8gMHglMDRsbHgsIHR5cGUgJXMiLAorCQkJICAgZGV2LT5iaWRfbmFtZSwgKGxvbmcgbG9uZylzdC5zdF9yZGV2LCBkZXYtPmJpZF90eXBlKSk7CisJfQorCisJYmxraWRfcmVzZXRfcHJvYmUoY2FjaGUtPnByb2JlKTsKKwlibGtpZF9wcm9iZV9yZXNldF9zdXBlcmJsb2Nrc19maWx0ZXIoY2FjaGUtPnByb2JlKTsKKwljbG9zZShmZCk7CisJcmV0dXJuIGRldjsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQoraW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWJsa2lkX2RldiBkZXY7CisJYmxraWRfY2FjaGUgY2FjaGU7CisJaW50IHJldDsKKworCWlmIChhcmdjICE9IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJVc2FnZTogJXMgZGV2aWNlXG4iCisJCQkiUHJvYmUgYSBzaW5nbGUgZGV2aWNlIHRvIGRldGVybWluZSB0eXBlXG4iLCBhcmd2WzBdKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKChyZXQgPSBibGtpZF9nZXRfY2FjaGUoJmNhY2hlLCAiL2Rldi9udWxsIikpICE9IDApIHsKKwkJZnByaW50ZihzdGRlcnIsICIlczogZXJyb3IgY3JlYXRpbmcgY2FjaGUgKCVkKVxuIiwKKwkJCWFyZ3ZbMF0sIHJldCk7CisJCWV4aXQoMSk7CisJfQorCWRldiA9IGJsa2lkX2dldF9kZXYoY2FjaGUsIGFyZ3ZbMV0sIEJMS0lEX0RFVl9OT1JNQUwpOworCWlmICghZGV2KSB7CisJCXByaW50ZigiJXM6ICVzIGhhcyBhbiB1bnN1cHBvcnRlZCB0eXBlXG4iLCBhcmd2WzBdLCBhcmd2WzFdKTsKKwkJcmV0dXJuICgxKTsKKwl9CisJcHJpbnRmKCJUWVBFPSclcydcbiIsIGRldi0+YmlkX3R5cGUgPyBkZXYtPmJpZF90eXBlIDogIihudWxsKSIpOworCWlmIChkZXYtPmJpZF9sYWJlbCkKKwkJcHJpbnRmKCJMQUJFTD0nJXMnXG4iLCBkZXYtPmJpZF9sYWJlbCk7CisJaWYgKGRldi0+YmlkX3V1aWQpCisJCXByaW50ZigiVVVJRD0nJXMnXG4iLCBkZXYtPmJpZF91dWlkKTsKKworCWJsa2lkX2ZyZWVfZGV2KGRldik7CisJcmV0dXJuICgwKTsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliYmxraWQvc3JjL3ZlcnNpb24uYyBiL2xpYmJsa2lkL3NyYy92ZXJzaW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQ5MmRiOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmJsa2lkL3NyYy92ZXJzaW9uLmMKQEAgLTAsMCArMSw2MiBAQAorLyoKKyAqIHZlcnNpb24uYyAtLS0gUmV0dXJuIHRoZSB2ZXJzaW9uIG9mIHRoZSBibGtpZCBsaWJyYXJ5CisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbAorICogUHVibGljIExpY2Vuc2UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaWZkZWYgSEFWRV9VTklTVERfSAorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAiYmxraWQuaCIKKworLyogTElCQkxLSURfKiBkZWZpbmVkIGluIHRoZSBnbG9iYWwgY29uZmlnLmggKi8KK3N0YXRpYyBjb25zdCBjaGFyICpsaWJfdmVyc2lvbiA9IExJQkJMS0lEX1ZFUlNJT047CS8qIHJlbGVhc2UgdmVyc2lvbiAqLworc3RhdGljIGNvbnN0IGNoYXIgKmxpYl9kYXRlID0gTElCQkxLSURfREFURTsKKworLyoqCisgKiBibGtpZF9wYXJzZV92ZXJzaW9uX3N0cmluZzoKKyAqIEB2ZXJfc3RyaW5nOiAgdmVyc2lvbiBzdHJpbmcgKGUuZy4gIjIuMTYuMCIpCisgKgorICogUmV0dXJuczogcmVsZWFzZSB2ZXJzaW9uIGNvZGUuCisgKi8KK2ludCBibGtpZF9wYXJzZV92ZXJzaW9uX3N0cmluZyhjb25zdCBjaGFyICp2ZXJfc3RyaW5nKQoreworCWNvbnN0IGNoYXIgKmNwOworCWludCB2ZXJzaW9uID0gMDsKKworCWZvciAoY3AgPSB2ZXJfc3RyaW5nOyAqY3A7IGNwKyspIHsKKwkJaWYgKCpjcCA9PSAnLicpCisJCQljb250aW51ZTsKKwkJaWYgKCFpc2RpZ2l0KCpjcCkpCisJCQlicmVhazsKKwkJdmVyc2lvbiA9ICh2ZXJzaW9uICogMTApICsgKCpjcCAtICcwJyk7CisJfQorCXJldHVybiB2ZXJzaW9uOworfQorCisvKioKKyAqIGJsa2lkX2dldF9saWJyYXJ5X3ZlcnNpb246CisgKiBAdmVyX3N0cmluZzogcmV0dXJucyByZWxlYXNlIHZlcnNpb24gKCE9IFNPTkFNRSB2ZXJzaW9uKQorICogQGRhdGVfc3RyaW5nOiByZXR1cm5zIGRhdGUKKyAqCisgKiBSZXR1cm5zOiByZWxlYXNlIHZlcnNpb24gY29kZS4KKyAqLworaW50IGJsa2lkX2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcsCisJCQkgICAgICAgY29uc3QgY2hhciAqKmRhdGVfc3RyaW5nKQoreworCWlmICh2ZXJfc3RyaW5nKQorCQkqdmVyX3N0cmluZyA9IGxpYl92ZXJzaW9uOworCWlmIChkYXRlX3N0cmluZykKKwkJKmRhdGVfc3RyaW5nID0gbGliX2RhdGU7CisKKwlyZXR1cm4gYmxraWRfcGFyc2VfdmVyc2lvbl9zdHJpbmcobGliX3ZlcnNpb24pOworfQpkaWZmIC0tZ2l0IGEvbGliZmRpc2svQ09QWUlORyBiL2xpYmZkaXNrL0NPUFlJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUxYTViMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL0NPUFlJTkcKQEAgLTAsMCArMSw4IEBACitUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCittb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKK3ZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlcgordmVyc2lvbi4KKworVGhlIGNvbXBsZXRlIHRleHQgb2YgdGhlIGxpY2Vuc2UgaXMgYXZhaWxhYmxlIGluIHRoZQorLi4vRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLkxHUEx2Mi4xIGZpbGUuCmRpZmYgLS1naXQgYS9saWJmZGlzay9NYWtlbW9kdWxlLmFtIGIvbGliZmRpc2svTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzIzZWVlCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDE1IEBACitpZiBCVUlMRF9MSUJGRElTSworCitpbmNsdWRlIGxpYmZkaXNrL3NyYy9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYmZkaXNrL3NhbXBsZXMvTWFrZW1vZHVsZS5hbQorCitpZiBFTkFCTEVfR1RLX0RPQworIyBEb2NzIHVzZXMgc2VwYXJhdGUgTWFrZWZpbGVzCitTVUJESVJTICs9IGxpYmZkaXNrL2RvY3MKK2VuZGlmCisKK3BrZ2NvbmZpZ19EQVRBICs9IGxpYmZkaXNrL2ZkaXNrLnBjCitQQVRIRklMRVMgICAgICArPSBsaWJmZGlzay9mZGlzay5wYworRVhUUkFfRElTVCAgICAgKz0gbGliZmRpc2svQ09QWUlORworCitlbmRpZiAjIEJVSUxEX0xJQkZESVNLCmRpZmYgLS1naXQgYS9saWJmZGlzay9kb2NzLy5naXRpZ25vcmUgYi9saWJmZGlzay9kb2NzLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkxZjkzZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL2RvY3MvLmdpdGlnbm9yZQpAQCAtMCwwICsxLDE4IEBACisqLWRlY2wtbGlzdC50eHQKKyotZGVjbC50eHQKKyotb3ZlcnJpZGVzLnR4dAorKi11bmRlY2xhcmVkLnR4dAorKi11bmRvY3VtZW50ZWQudHh0CisqLXVudXNlZC50eHQKKyouYXJncworKi5iYWsKKyouaGllcmFyY2h5CisqLmludGVyZmFjZXMKKyoucHJlcmVxdWlzaXRlcworKi5zaWduYWxzCisqLnN0YW1wCisqLnR5cGVzCitodG1sLyoKK3RtcGwvKgordmVyc2lvbi54bWwKK3htbC8qCmRpZmYgLS1naXQgYS9saWJmZGlzay9kb2NzL01ha2VmaWxlLmFtIGIvbGliZmRpc2svZG9jcy9NYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTFjYzg4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svZG9jcy9NYWtlZmlsZS5hbQpAQCAtMCwwICsxLDkzIEBACisjIyBQcm9jZXNzIHRoaXMgZmlsZSB3aXRoIGF1dG9tYWtlIHRvIHByb2R1Y2UgTWFrZWZpbGUuaW4KKworIyBXZSByZXF1aXJlIGF1dG9tYWtlIDEuMTAgYXQgbGVhc3QuCitBVVRPTUFLRV9PUFRJT05TID0gMS4xMAorCisjIFRoaXMgaXMgYSBibGFuayBNYWtlZmlsZS5hbSBmb3IgdXNpbmcgZ3RrLWRvYy4KKyMgQ29weSB0aGlzIHRvIHlvdXIgcHJvamVjdCdzIEFQSSBkb2NzIGRpcmVjdG9yeSBhbmQgbW9kaWZ5IHRoZSB2YXJpYWJsZXMgdG8KKyMgc3VpdCB5b3VyIHByb2plY3QuIFNlZSB0aGUgR1RLKyBNYWtlZmlsZXMgaW4gZ3RrKy9kb2NzL3JlZmVyZW5jZSBmb3IgZXhhbXBsZXMKKyMgb2YgdXNpbmcgdGhlIHZhcmlvdXMgb3B0aW9ucy4KKworIyBUaGUgbmFtZSBvZiB0aGUgbW9kdWxlLCBlLmcuICdnbGliJy4KK0RPQ19NT0RVTEU9bGliZmRpc2sKKworIyBVbmNvbW1lbnQgZm9yIHZlcnNpb25lZCBkb2NzIGFuZCBzcGVjaWZ5IHRoZSB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUsIGUuZy4gJzInLgorI0RPQ19NT0RVTEVfVkVSU0lPTj0yCisKKyMgVGhlIHRvcC1sZXZlbCBTR01MIGZpbGUuIFlvdSBjYW4gY2hhbmdlIHRoaXMgaWYgeW91IHdhbnQgdG8uCitET0NfTUFJTl9TR01MX0ZJTEU9JChET0NfTU9EVUxFKS1kb2NzLnhtbAorCisjIFRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGUuIFJlbGF0aXZlIHRvICQoc3JjZGlyKS4KKyMgZ3RrLWRvYyB3aWxsIHNlYXJjaCBhbGwgLmMgJiAuaCBmaWxlcyBiZW5lYXRoIGhlcmUgZm9yIGlubGluZSBjb21tZW50cworIyBkb2N1bWVudGluZyB0aGUgZnVuY3Rpb25zIGFuZCBtYWNyb3MuCisjIGUuZy4gRE9DX1NPVVJDRV9ESVI9Li4vLi4vLi4vZ3RrCitET0NfU09VUkNFX0RJUj0uLi9zcmMKKworIyBFeHRyYSBvcHRpb25zIHRvIHBhc3MgdG8gZ3RrZG9jLXNjYW5nb2JqLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorU0NBTkdPQkpfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2Mtc2Nhbi4KKyMgZS5nLiBTQ0FOX09QVElPTlM9LS1kZXByZWNhdGVkLWd1YXJkcz0iR1RLX0RJU0FCTEVfREVQUkVDQVRFRCIKK1NDQU5fT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtbWtkYi4KKyMgZS5nLiBNS0RCX09QVElPTlM9LS1zZ21sLW1vZGUgLS1vdXRwdXQtZm9ybWF0PXhtbAorTUtEQl9PUFRJT05TPS0tc2dtbC1tb2RlIC0tb3V0cHV0LWZvcm1hdD14bWwgLS1uYW1lLXNwYWNlIGZkaXNrCisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLW1rdG1wbAorIyBlLmcuIE1LVE1QTF9PUFRJT05TPS0tb25seS1zZWN0aW9uLXRtcGwKK01LVE1QTF9PUFRJT05TPQorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta2h0bWwKK01LSFRNTF9PUFRJT05TPQorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1maXhyZWYuIE5vdCBub3JtYWxseSBuZWVkZWQuCisjIGUuZy4gRklYWFJFRl9PUFRJT05TPS0tZXh0cmEtZGlyPS4uL2dkay1waXhidWYvaHRtbCAtLWV4dHJhLWRpcj0uLi9nZGsvaHRtbAorRklYWFJFRl9PUFRJT05TPQorCisjIFVzZWQgZm9yIGRlcGVuZGVuY2llcy4gVGhlIGRvY3Mgd2lsbCBiZSByZWJ1aWx0IGlmIGFueSBvZiB0aGVzZSBjaGFuZ2UuCisjIGUuZy4gSEZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2d0ay8qLmgKKyMgZS5nLiBDRklMRV9HTE9CPSQodG9wX3NyY2RpcikvZ3RrLyouYworSEZJTEVfR0xPQj0kKHRvcF9idWlsZGRpcikvbGliZmRpc2svc3JjL2xpYmZkaXNrLmgKK0NGSUxFX0dMT0I9JCh0b3Bfc3JjZGlyKS9saWJmZGlzay9zcmMvKi5jCisKKyMgRXh0cmEgaGVhZGVyIHRvIGluY2x1ZGUgd2hlbiBzY2FubmluZywgd2hpY2ggYXJlIG5vdCB1bmRlciBET0NfU09VUkNFX0RJUgorIyBlLmcuIEVYVFJBX0hGSUxFUz0kKHRvcF9zcmNkaXJ9L2NvbnRyaWIvZXh0cmEuaAorRVhUUkFfSEZJTEVTPQorCisjIEhlYWRlciBmaWxlcyB0byBpZ25vcmUgd2hlbiBzY2FubmluZy4gVXNlIGJhc2UgZmlsZSBuYW1lLCBubyBwYXRocworIyBlLmcuIElHTk9SRV9IRklMRVM9Z3RrZGVidWcuaCBndGtpbnRsLmgKK0lHTk9SRV9IRklMRVM9ZmRpc2tQLmgKKworIyBJbWFnZXMgdG8gY29weSBpbnRvIEhUTUwgZGlyZWN0b3J5LgorIyBlLmcuIEhUTUxfSU1BR0VTPSQodG9wX3NyY2RpcikvZ3RrL3N0b2NrLWljb25zL3N0b2NrX2Fib3V0XzI0LnBuZworSFRNTF9JTUFHRVM9CisKKyMgRXh0cmEgU0dNTCBmaWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBieSAkKERPQ19NQUlOX1NHTUxfRklMRSkuCisjIGUuZy4gY29udGVudF9maWxlcz1ydW5uaW5nLnNnbWwgYnVpbGRpbmcuc2dtbCBjaGFuZ2VzLTIuMC5zZ21sCitjb250ZW50X2ZpbGVzID0gJChidWlsZGRpcikvdmVyc2lvbi54bWwKKworIyBTR01MIGZpbGVzIHdoZXJlIGd0ay1kb2MgYWJicmV2aWF0aW9ucyAoI0d0a1dpZGdldCkgYXJlIGV4cGFuZGVkCisjIFRoZXNlIGZpbGVzIG11c3QgYmUgbGlzdGVkIGhlcmUgKmFuZCogaW4gY29udGVudF9maWxlcworIyBlLmcuIGV4cGFuZF9jb250ZW50X2ZpbGVzPXJ1bm5pbmcuc2dtbAorZXhwYW5kX2NvbnRlbnRfZmlsZXM9CisKKyMgQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBjb21waWxpbmcgZ3RrZG9jLXNjYW5nb2JqIHdpdGggeW91ciBsaWJyYXJ5LgorIyBPbmx5IG5lZWRlZCBpZiB5b3UgYXJlIHVzaW5nIGd0a2RvYy1zY2FuZ29iaiB0byBkeW5hbWljYWxseSBxdWVyeSB3aWRnZXQKKyMgc2lnbmFscyBhbmQgcHJvcGVydGllcy4KKyMgZS5nLiBHVEtET0NfQ0ZMQUdTPS1JJCh0b3Bfc3JjZGlyKSAtSSQodG9wX2J1aWxkZGlyKSAkKEdUS19ERUJVR19GTEFHUykKKyMgZS5nLiBHVEtET0NfTElCUz0kKHRvcF9idWlsZGRpcikvZ3RrLyQoZ3RrdGFyZ2V0bGliKQorR1RLRE9DX0NGTEFHUz0KK0dUS0RPQ19MSUJTPQorCisjIFRoaXMgaW5jbHVkZXMgdGhlIHN0YW5kYXJkIGd0ay1kb2MgbWFrZSBydWxlcywgY29waWVkIGJ5IGd0a2RvY2l6ZS4KK2luY2x1ZGUgJCh0b3Bfc3JjZGlyKS9jb25maWcvZ3RrLWRvYy5tYWtlCisKKyMgT3RoZXIgZmlsZXMgdG8gZGlzdHJpYnV0ZQorIyBlLmcuIEVYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KK0VYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KKworIyBGaWxlcyBub3QgdG8gZGlzdHJpYnV0ZQorIyBmb3IgLS1yZWJ1aWxkLXR5cGVzIGluICQoU0NBTl9PUFRJT05TKSwgZS5nLiAkKERPQ19NT0RVTEUpLnR5cGVzCisjIGZvciAtLXJlYnVpbGQtc2VjdGlvbnMgaW4gJChTQ0FOX09QVElPTlMpIGUuZy4gJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQKK0RJU1RDTEVBTkZJTEVTICs9IHZlcnNpb24ueG1sCmRpZmYgLS1naXQgYS9saWJmZGlzay9kb2NzL2xpYmZkaXNrLWRvY3MueG1sIGIvbGliZmRpc2svZG9jcy9saWJmZGlzay1kb2NzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmFhNGM0Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svZG9jcy9saWJmZGlzay1kb2NzLnhtbApAQCAtMCwwICsxLDgyIEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBib29rIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4zLy9FTiIKKyAgICAgICAgICAgICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMy9kb2Nib29reC5kdGQiCitbCisgIDwhRU5USVRZIHZlcnNpb24gU1lTVEVNICJ2ZXJzaW9uLnhtbCI+CitdPgorPGJvb2sgaWQ9ImluZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSI+CisgIDxib29raW5mbz4KKyAgICA8dGl0bGU+bGliZmRpc2sgUmVmZXJlbmNlIE1hbnVhbDwvdGl0bGU+CisgICAgPHJlbGVhc2VpbmZvPmZvciBsaWJmZGlzayB2ZXJzaW9uICZ2ZXJzaW9uOzwvcmVsZWFzZWluZm8+CisgICAgPGNvcHlyaWdodD4KKyAgICAgIDx5ZWFyPjIwMTQtMjAxODwveWVhcj4KKyAgICAgIDxob2xkZXI+S2FyZWwgWmFrICZsdDtremFrQHJlZGhhdC5jb20mZ3Q7PC9ob2xkZXI+CisgICAgPC9jb3B5cmlnaHQ+CisgIDwvYm9va2luZm8+CisKKyAgPHBhcnQgaWQ9Im92ZXIiPgorICAgIDx0aXRsZT5saWJmZGlzayBPdmVydmlldzwvdGl0bGU+CisgICAgPHBhcnRpbnRybz4KKyAgICA8cGFyYT4KK1RoZSBsaWJmZGlzayBsaWJyYXJ5IGlzIHVzZWQgZm9yIG1hbmlwdWxhdGluZyB3aXRoIHBhcnRpdGlvbiB0YWJsZXMuCisgICAgPC9wYXJhPgorICAgIDxwYXJhPgorVGhlIGxpYnJhcnkgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIHNpbmNlIHZlcnNpb24gMi4yNiBhbmQgaXMKK2F2YWlsYWJsZSBmcm9tIGh0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorICAgIDwvcGFyYT4KKyAgPC9wYXJ0aW50cm8+CisgPC9wYXJ0PgorCisgIDxwYXJ0PgorICAgIDx0aXRsZT5CYXNpYyBoYW5kbGVycyBhbmQgc2V0dGluZzwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2NvbnRleHQueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2Fzay54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYWxpZ25tZW50LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9zY3JpcHQueG1sIi8+CisgIDwvcGFydD4KKyAgIDxwYXJ0PgorICAgIDx0aXRsZT5QYXJ0aXRpb25pbmc8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9sYWJlbC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvcGFydGl0aW9uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC90YWJsZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvcGFydHR5cGUueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2l0ZW0ueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2ZpZWxkLnhtbCIvPgorICA8L3BhcnQ+CisgIDxwYXJ0PgorICAgIDx0aXRsZT5MYWJlbCBzcGVjaWZpYyBmdW5jdGlvbnM8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9kb3MueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2dwdC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvc3VuLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9zZ2kueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2JzZC54bWwiLz4KKyAgPC9wYXJ0PgorICA8cGFydD4KKyAgICA8dGl0bGU+TWlzYzwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2l0ZXIueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3V0aWxzLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9pbml0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC92ZXJzaW9uLXV0aWxzLnhtbCIvPgorCisgIDwvcGFydD4KKyAgPGluZGV4IGlkPSJhcGktaW5kZXgiPgorICAgIDx0aXRsZT5BUEkgSW5kZXg8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtZnVsbC54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKyAgPGluZGV4IHJvbGU9IjIuMjkiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjI5PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMjkueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisgIDxpbmRleCByb2xlPSIyLjMwIj4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4zMDwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjMwLnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorICA8aW5kZXggcm9sZT0iMi4zMSI+CisgICAgPHRpdGxlPkluZGV4IG9mIG5ldyBzeW1ib2xzIGluIDIuMzE8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtMi4zMS54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKyAgPGluZGV4IHJvbGU9IjIuMzIiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjMyPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMzIueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+Cis8L2Jvb2s+CmRpZmYgLS1naXQgYS9saWJmZGlzay9kb2NzL2xpYmZkaXNrLXNlY3Rpb25zLnR4dCBiL2xpYmZkaXNrL2RvY3MvbGliZmRpc2stc2VjdGlvbnMudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVjYzM3Y2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9kb2NzL2xpYmZkaXNrLXNlY3Rpb25zLnR4dApAQCAtMCwwICsxLDM4NyBAQAorPFNFQ1RJT04+Cis8RklMRT5pbml0PC9GSUxFPgorZmRpc2tfaW5pdF9kZWJ1ZworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnZlcnNpb24tdXRpbHM8L0ZJTEU+CitMSUJGRElTS19NQUpPUl9WRVJTSU9OCitMSUJGRElTS19NSU5PUl9WRVJTSU9OCitMSUJGRElTS19QQVRDSF9WRVJTSU9OCitmZGlza19wYXJzZV92ZXJzaW9uX3N0cmluZworZmRpc2tfZ2V0X2xpYnJhcnlfdmVyc2lvbgorZmRpc2tfZ2V0X2xpYnJhcnlfZmVhdHVyZXMKK0xJQkZESVNLX1ZFUlNJT04KKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5hc2s8L0ZJTEU+CitmZGlza19pbmZvCitmZGlza193YXJuCitmZGlza193YXJueAorZmRpc2tfc2V0X2FzaworPFNVQlNFQ1RJT04+CitmZGlza19hc2sKK2ZkaXNrX2lzX2FzaworZmRpc2tfYXNrX2dldF9xdWVyeQorZmRpc2tfYXNrX2dldF90eXBlCitmZGlza19hc2tfbWVudV9nZXRfZGVmYXVsdAorZmRpc2tfYXNrX21lbnVfZ2V0X2l0ZW0KK2ZkaXNrX2Fza19tZW51X2dldF9uaXRlbXMKK2ZkaXNrX2Fza19tZW51X2dldF9yZXN1bHQKK2ZkaXNrX2Fza19tZW51X3NldF9yZXN1bHQKK2ZkaXNrX2Fza19udW1iZXIKK2ZkaXNrX2Fza19udW1iZXJfZ2V0X2Jhc2UKK2ZkaXNrX2Fza19udW1iZXJfZ2V0X2RlZmF1bHQKK2ZkaXNrX2Fza19udW1iZXJfZ2V0X2hpZ2gKK2ZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdworZmRpc2tfYXNrX251bWJlcl9nZXRfcmFuZ2UKK2ZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdAorZmRpc2tfYXNrX251bWJlcl9nZXRfdW5pdAorZmRpc2tfYXNrX251bWJlcl9pbmNoYXJzCitmZGlza19hc2tfbnVtYmVyX3NldF9yZWxhdGl2ZQorZmRpc2tfYXNrX251bWJlcl9zZXRfcmVzdWx0CitmZGlza19hc2tfcGFydG51bQorZmRpc2tfYXNrX3ByaW50X2dldF9lcnJubworZmRpc2tfYXNrX3ByaW50X2dldF9tZXNnCitmZGlza19hc2tfc3RyaW5nCitmZGlza19hc2tfc3RyaW5nX2dldF9yZXN1bHQKK2ZkaXNrX2Fza19zdHJpbmdfc2V0X3Jlc3VsdAorZmRpc2tfYXNrX3llc25vCitmZGlza19hc2tfeWVzbm9fZ2V0X3Jlc3VsdAorZmRpc2tfYXNrX3llc25vX3NldF9yZXN1bHQKK2ZkaXNrX2Fza3R5cGUKK2ZkaXNrX3JlZl9hc2sKK2ZkaXNrX3VucmVmX2FzaworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmFsaWdubWVudDwvRklMRT4KK0ZESVNLX0FMSUdOX0RPV04KK0ZESVNLX0FMSUdOX05FQVJFU1QKK0ZESVNLX0FMSUdOX1VQCitmZGlza19zZWN0b3JfdAorZmRpc2tfYWxpZ25fbGJhCitmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2UKK2ZkaXNrX2hhc191c2VyX2RldmljZV9wcm9wZXJ0aWVzCitmZGlza19sYmFfaXNfcGh5X2FsaWduZWQKK2ZkaXNrX292ZXJyaWRlX2dlb21ldHJ5CitmZGlza19yZXNldF9hbGlnbm1lbnQKK2ZkaXNrX3Jlc2V0X2RldmljZV9wcm9wZXJ0aWVzCitmZGlza19zYXZlX3VzZXJfZ2VvbWV0cnkKK2ZkaXNrX3NhdmVfdXNlcl9ncmFpbgorZmRpc2tfc2F2ZV91c2VyX3NlY3Rvcl9zaXplCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+bGFiZWw8L0ZJTEU+CitmZGlza19jcmVhdGVfZGlza2xhYmVsCitmZGlza19saXN0X2Rpc2tsYWJlbAorZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbAorZmRpc2tfcmVvcmRlcl9wYXJ0aXRpb25zCitmZGlza19zZXRfZGlza2xhYmVsX2lkCitmZGlza19zZXRfcGFydGl0aW9uX3R5cGUKK2ZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZworZmRpc2tfdmVyaWZ5X2Rpc2tsYWJlbAorZmRpc2tfd3JpdGVfZGlza2xhYmVsCis8U1VCU0VDVElPTj4KK2ZkaXNrX2dldF9kaXNrbGFiZWxfaWQKK2ZkaXNrX2dldF9sYWJlbAorZmRpc2tfZ2V0X25sYWJlbHMKK2ZkaXNrX25leHRfbGFiZWwKK2ZkaXNrX2dldF9ucGFydGl0aW9ucworPFNVQlNFQ1RJT04+CitmZGlza19sYWJlbAorZmRpc2tfaXNfbGFiZWwKK2ZkaXNrX2xhYmVsX2dldF9maWVsZAorZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkX2J5X25hbWUKK2ZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzCitmZGlza19sYWJlbF9nZXRfZmllbGRzX2lkc19hbGwKK2ZkaXNrX2xhYmVsX2dldF9nZW9tcmFuZ2VfY3lsaW5kZXJzCitmZGlza19sYWJlbF9nZXRfZ2VvbXJhbmdlX2hlYWRzCitmZGlza19sYWJlbF9nZXRfZ2VvbXJhbmdlX3NlY3RvcnMKK2ZkaXNrX2xhYmVsX2dldF9uYW1lCitmZGlza19sYWJlbF9nZXRfbnBhcnR0eXBlcworZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlCitmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlCitmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9zdHJpbmcKK2ZkaXNrX2xhYmVsX2dldF90eXBlCitmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXMKK2ZkaXNrX2xhYmVsX2lzX2NoYW5nZWQKK2ZkaXNrX2xhYmVsX2lzX2Rpc2FibGVkCitmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZQorZmRpc2tfbGFiZWxfcmVxdWlyZV9nZW9tZXRyeQorZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQKK2ZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZAorZmRpc2tfbGFiZWx0eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+c2NyaXB0PC9GSUxFPgorZmRpc2tfc2V0X3NjcmlwdAorZmRpc2tfZ2V0X3NjcmlwdAorPFNVQlNFQ1RJT04+CitmZGlza19hcHBseV9zY3JpcHQKK2ZkaXNrX2FwcGx5X3NjcmlwdF9oZWFkZXJzCis8U1VCU0VDVElPTj4KK2ZkaXNrX3NjcmlwdAorZmRpc2tfbmV3X3NjcmlwdAorZmRpc2tfbmV3X3NjcmlwdF9mcm9tX2ZpbGUKK2ZkaXNrX3JlZl9zY3JpcHQKK2ZkaXNrX3NjcmlwdF9lbmFibGVfanNvbgorZmRpc2tfc2NyaXB0X2dldF9oZWFkZXIKK2ZkaXNrX3NjcmlwdF9nZXRfbmxpbmVzCitmZGlza19zY3JpcHRfZ2V0X3RhYmxlCitmZGlza19zY3JpcHRfaGFzX2ZvcmNlX2xhYmVsCitmZGlza19zY3JpcHRfcmVhZF9jb250ZXh0CitmZGlza19zY3JpcHRfcmVhZF9maWxlCitmZGlza19zY3JpcHRfcmVhZF9saW5lCitmZGlza19zY3JpcHRfc2V0X2hlYWRlcgorZmRpc2tfc2NyaXB0X3NldF9mZ2V0cworZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGUKK2ZkaXNrX3NjcmlwdF9zZXRfdXNlcmRhdGEKK2ZkaXNrX3NjcmlwdF9nZXRfdXNlcmRhdGEKK2ZkaXNrX3VucmVmX3NjcmlwdAorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmJzZDwvRklMRT4KK2ZkaXNrX2JzZF9lZGl0X2Rpc2tsYWJlbAorZmRpc2tfYnNkX2xpbmtfcGFydGl0aW9uCitmZGlza19ic2Rfd3JpdGVfYm9vdHN0cmFwCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+cGFydGl0aW9uPC9GSUxFPgorZmRpc2tfYWRkX3BhcnRpdGlvbgorZmRpc2tfZGVsZXRlX2FsbF9wYXJ0aXRpb25zCitmZGlza19kZWxldGVfcGFydGl0aW9uCitmZGlza19nZXRfcGFydGl0aW9uCitmZGlza19pc19wYXJ0aXRpb25fdXNlZAorZmRpc2tfc2V0X3BhcnRpdGlvbgorZmRpc2tfd2lwZV9wYXJ0aXRpb24KKzxTVUJTRUNUSU9OPgorZmRpc2tfcGFydGl0aW9uCitmZGlza19uZXdfcGFydGl0aW9uCitmZGlza19wYXJ0aXRpb25fY21wX3BhcnRubworZmRpc2tfcGFydGl0aW9uX2NtcF9zdGFydAorZmRpc2tfcGFydGl0aW9uX2VuZF9mb2xsb3dfZGVmYXVsdAorZmRpc2tfcGFydGl0aW9uX2VuZF9pc19kZWZhdWx0CitmZGlza19wYXJ0aXRpb25fZ2V0X2F0dHJzCitmZGlza19wYXJ0aXRpb25fZ2V0X2VuZAorZmRpc2tfcGFydGl0aW9uX2dldF9uYW1lCitmZGlza19wYXJ0aXRpb25fZ2V0X3BhcmVudAorZmRpc2tfcGFydGl0aW9uX2dldF9wYXJ0bm8KK2ZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZQorZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydAorZmRpc2tfcGFydGl0aW9uX2dldF90eXBlCitmZGlza19wYXJ0aXRpb25fZ2V0X3V1aWQKK2ZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kCitmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubworZmRpc2tfcGFydGl0aW9uX2hhc19zaXplCitmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0CitmZGlza19wYXJ0aXRpb25faGFzX3dpcGUKK2ZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZQorZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcgorZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZQorZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZAorZmRpc2tfcGFydGl0aW9uX2lzX3VzZWQKK2ZkaXNrX3BhcnRpdGlvbl9pc193aG9sZWRpc2sKK2ZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubworZmRpc2tfcGFydGl0aW9uX3BhcnRub19mb2xsb3dfZGVmYXVsdAorZmRpc2tfcGFydGl0aW9uX3NldF9hdHRycworZmRpc2tfcGFydGl0aW9uX3NldF9uYW1lCitmZGlza19wYXJ0aXRpb25fc2V0X3BhcnRubworZmRpc2tfcGFydGl0aW9uX3NldF9zaXplCitmZGlza19wYXJ0aXRpb25fc2V0X3N0YXJ0CitmZGlza19wYXJ0aXRpb25fc2V0X3R5cGUKK2ZkaXNrX3BhcnRpdGlvbl9zZXRfdXVpZAorZmRpc2tfcGFydGl0aW9uX3NpemVfZXhwbGljaXQKK2ZkaXNrX3BhcnRpdGlvbl9zdGFydF9mb2xsb3dfZGVmYXVsdAorZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2lzX2RlZmF1bHQKK2ZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcKK2ZkaXNrX3BhcnRpdGlvbl91bnNldF9wYXJ0bm8KK2ZkaXNrX3BhcnRpdGlvbl91bnNldF9zaXplCitmZGlza19wYXJ0aXRpb25fdW5zZXRfc3RhcnQKK2ZkaXNrX3JlZl9wYXJ0aXRpb24KK2ZkaXNrX3Jlc2V0X3BhcnRpdGlvbgorZmRpc2tfdW5yZWZfcGFydGl0aW9uCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+ZG9zPC9GSUxFPgorRE9TX0ZMQUdfQUNUSVZFCitmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGUKK2ZkaXNrX2Rvc19pc19jb21wYXRpYmxlCitmZGlza19kb3NfbW92ZV9iZWdpbgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnNnaTwvRklMRT4KK1NHSV9GTEFHX0JPT1QKK1NHSV9GTEFHX1NXQVAKK2ZkaXNrX3NnaV9jcmVhdGVfaW5mbworZmRpc2tfc2dpX3NldF9ib290ZmlsZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmdwdDwvRklMRT4KK2ZkaXNrX2dwdF9pc19oeWJyaWQKK2ZkaXNrX2dwdF9nZXRfcGFydGl0aW9uX2F0dHJzCitmZGlza19ncHRfc2V0X3BhcnRpdGlvbl9hdHRycworZmRpc2tfZ3B0X3NldF9ucGFydGl0aW9ucworR1BUX0ZMQUdfUkVRVUlSRUQKK0dQVF9GTEFHX05PQkxPQ0sKK0dQVF9GTEFHX0xFR0FDWUJPT1QKK0dQVF9GTEFHX0dVSURTUEVDSUZJQworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnN1bjwvRklMRT4KK2ZkaXNrX3N1bl9zZXRfYWx0X2N5bAorZmRpc2tfc3VuX3NldF9pbGZhY3QKK2ZkaXNrX3N1bl9zZXRfcGN5bGNvdW50CitmZGlza19zdW5fc2V0X3JzcGVlZAorZmRpc2tfc3VuX3NldF94Y3lsCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+cGFydHR5cGU8L0ZJTEU+CitmZGlza19wYXJ0dHlwZQorZmRpc2tfY29weV9wYXJ0dHlwZQorZmRpc2tfbmV3X3BhcnR0eXBlCitmZGlza19uZXdfdW5rbm93bl9wYXJ0dHlwZQorZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUKK2ZkaXNrX3BhcnR0eXBlX2dldF9uYW1lCitmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nCitmZGlza19wYXJ0dHlwZV9pc191bmtub3duCitmZGlza19wYXJ0dHlwZV9zZXRfY29kZQorZmRpc2tfcGFydHR5cGVfc2V0X25hbWUKK2ZkaXNrX3BhcnR0eXBlX3NldF90eXBlc3RyCitmZGlza19yZWZfcGFydHR5cGUKK2ZkaXNrX3VucmVmX3BhcnR0eXBlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dGFibGU8L0ZJTEU+CitmZGlza19nZXRfZnJlZXNwYWNlcworZmRpc2tfZ2V0X3BhcnRpdGlvbnMKKzxTVUJTRUNUSU9OPgorZmRpc2tfdGFibGUKK2ZkaXNrX2FwcGx5X3RhYmxlCitmZGlza19uZXdfdGFibGUKK2ZkaXNrX3JlZl90YWJsZQorZmRpc2tfcmVzZXRfdGFibGUKK2ZkaXNrX3RhYmxlX2FkZF9wYXJ0aXRpb24KK2ZkaXNrX3RhYmxlX2dldF9uZW50cworZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbgorZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbl9ieV9wYXJ0bm8KK2ZkaXNrX3RhYmxlX2lzX2VtcHR5CitmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbgorZmRpc2tfdGFibGVfcmVtb3ZlX3BhcnRpdGlvbgorZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zCitmZGlza190YWJsZV93cm9uZ19vcmRlcgorZmRpc2tfdW5yZWZfdGFibGUKKzwvU0VDVElPTj4KKworCis8U0VDVElPTj4KKzxGSUxFPmNvbnRleHQ8L0ZJTEU+CitmZGlza19jb250ZXh0CitmZGlza19hc3NpZ25fZGV2aWNlCitmZGlza19kZWFzc2lnbl9kZXZpY2UKK2ZkaXNrX3JlYXNzaWduX2RldmljZQorZmRpc2tfZGV2aWNlX2lzX3VzZWQKK2ZkaXNrX2VuYWJsZV9ib290Yml0c19wcm90ZWN0aW9uCitmZGlza19lbmFibGVfZGV0YWlscworZmRpc2tfZW5hYmxlX2xpc3Rvbmx5CitmZGlza19lbmFibGVfd2lwZQorZmRpc2tfZGlzYWJsZV9kaWFsb2dzCitmZGlza19nZXRfYWxpZ25tZW50X29mZnNldAorZmRpc2tfZ2V0X2NvbGxpc2lvbgorZmRpc2tfZ2V0X2RldmZkCitmZGlza19nZXRfZGV2bmFtZQorZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtCitmZGlza19nZXRfZmlyc3RfbGJhCitmZGlza19nZXRfZ2VvbV9jeWxpbmRlcnMKK2ZkaXNrX2dldF9nZW9tX2hlYWRzCitmZGlza19nZXRfZ2VvbV9zZWN0b3JzCitmZGlza19nZXRfZ3JhaW5fc2l6ZQorZmRpc2tfZ2V0X2xhc3RfbGJhCitmZGlza19nZXRfbWluaW1hbF9pb3NpemUKK2ZkaXNrX2dldF9uc2VjdG9ycworZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplCitmZGlza19nZXRfcGFyZW50CitmZGlza19nZXRfcGh5c2VjdG9yX3NpemUKK2ZkaXNrX2dldF9zZWN0b3Jfc2l6ZQorZmRpc2tfZ2V0X3NpemVfdW5pdAorZmRpc2tfZ2V0X3VuaXQKK2ZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yCitmZGlza19oYXNfZGlhbG9ncworZmRpc2tfaGFzX2xhYmVsCitmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzCitmZGlza19oYXNfd2lwZQorZmRpc2tfaXNfZGV0YWlscworZmRpc2tfaXNfbGFiZWx0eXBlCitmZGlza19pc19saXN0b25seQorZmRpc2tfaXNfcHRjb2xsaXNpb24KK2ZkaXNrX2lzX3JlYWRvbmx5CitmZGlza19pc19yZWdmaWxlCitmZGlza19uZXdfY29udGV4dAorZmRpc2tfbmV3X25lc3RlZF9jb250ZXh0CitGRElTS19QTFVSQUwKK2ZkaXNrX3JlZl9jb250ZXh0CitmZGlza19yZXJlYWRfY2hhbmdlcworZmRpc2tfcmVyZWFkX3BhcnRpdGlvbl90YWJsZQorZmRpc2tfc2V0X2ZpcnN0X2xiYQorZmRpc2tfc2V0X2xhc3RfbGJhCitmZGlza19zZXRfc2l6ZV91bml0CitmZGlza19zZXRfdW5pdAorRkRJU0tfU0lOR1VMQVIKK2ZkaXNrX3VucmVmX2NvbnRleHQKK2ZkaXNrX3VzZV9jeWxpbmRlcnMKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT51dGlsczwvRklMRT4KK2ZkaXNrX3BhcnRuYW1lCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+aXRlcjwvRklMRT4KK2ZkaXNrX2l0ZXIKK2ZkaXNrX2ZyZWVfaXRlcgorZmRpc2tfaXRlcl9nZXRfZGlyZWN0aW9uCitmZGlza19uZXdfaXRlcgorZmRpc2tfcmVzZXRfaXRlcgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPml0ZW08L0ZJTEU+CitmZGlza19uZXdfbGFiZWxpdGVtCitmZGlza19yZWZfbGFiZWxpdGVtCitmZGlza19yZXNldF9sYWJlbGl0ZW0KK2ZkaXNrX3VucmVmX2xhYmVsaXRlbQorZmRpc2tfbGFiZWxpdGVtX2dldF9uYW1lCitmZGlza19sYWJlbGl0ZW1fZ2V0X2lkCitmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfdTY0CitmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfc3RyaW5nCitmZGlza19sYWJlbGl0ZW1faXNfc3RyaW5nCitmZGlza19sYWJlbGl0ZW1faXNfbnVtYmVyCitmZGlza19sYWJlbGl0ZW0KK2ZkaXNrX2xhYmVsaXRlbV9ic2QKK2ZkaXNrX2xhYmVsaXRlbV9nZW4KK2ZkaXNrX2xhYmVsaXRlbV9ncHQKK2ZkaXNrX2xhYmVsaXRlbV9zZ2kKK2ZkaXNrX2xhYmVsaXRlbV9zdW4KKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5maWVsZDwvRklMRT4KK2ZkaXNrX2ZpZWxkCitmZGlza19maWVsZF9nZXRfaWQKK2ZkaXNrX2ZpZWxkX2dldF9uYW1lCitmZGlza19maWVsZF9nZXRfd2lkdGgKK2ZkaXNrX2ZpZWxkX2lzX251bWJlcgorZmRpc2tfZmllbGR0eXBlCis8L1NFQ1RJT04+CmRpZmYgLS1naXQgYS9saWJmZGlzay9kb2NzL3ZlcnNpb24ueG1sLmluIGIvbGliZmRpc2svZG9jcy92ZXJzaW9uLnhtbC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzhiZGE5Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svZG9jcy92ZXJzaW9uLnhtbC5pbgpAQCAtMCwwICsxIEBACitAVkVSU0lPTkAKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL2ZkaXNrLnBjLmluIGIvbGliZmRpc2svZmRpc2sucGMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY4MWRmMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL2ZkaXNrLnBjLmluCkBAIC0wLDAgKzEsMTEgQEAKK3ByZWZpeD1AcHJlZml4QAorZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorbGliZGlyPUB1c3JsaWJfZXhlY2RpckAKK2luY2x1ZGVkaXI9QGluY2x1ZGVkaXJACisKK05hbWU6IGZkaXNrCitEZXNjcmlwdGlvbjogZmRpc2sgbGlicmFyeQorVmVyc2lvbjogQExJQkZESVNLX1ZFUlNJT05ACitSZXF1aXJlcy5wcml2YXRlOiBATElCRkRJU0tfUENfUkVRVUlSRVNACitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfS9saWJmZGlzaworTGliczogLUwke2xpYmRpcn0gLWxmZGlzawpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc2FtcGxlcy9NYWtlbW9kdWxlLmFtIGIvbGliZmRpc2svc2FtcGxlcy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2N2IxMjEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zYW1wbGVzL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwxNiBAQAorCitjaGVja19QUk9HUkFNUyArPSBcCisJc2FtcGxlLWZkaXNrLW1rcGFydCBcCisJc2FtcGxlLWZkaXNrLW1rcGFydC1mdWxsc3BlYworCitzYW1wbGVfZmRpc2tfY2ZsYWdzID0gJChBTV9DRkxBR1MpICQoTk9fVU5VU0VEX1dBUk5fQ0ZMQUdTKSBcCisgICAgICAgICAgICAgICAgICAgICAgLUkkKHVsX2xpYmZkaXNrX2luY2RpcikKK3NhbXBsZV9mZGlza19sZGFkZCA9ICQoTERBREQpIGxpYmZkaXNrLmxhCisKK3NhbXBsZV9mZGlza19ta3BhcnRfU09VUkNFUyA9IGxpYmZkaXNrL3NhbXBsZXMvbWtwYXJ0LmMKK3NhbXBsZV9mZGlza19ta3BhcnRfTERBREQgPSAkKHNhbXBsZV9mZGlza19sZGFkZCkgbGliY29tbW9uLmxhCitzYW1wbGVfZmRpc2tfbWtwYXJ0X0NGTEFHUyA9ICQoc2FtcGxlX2ZkaXNrX2NmbGFncykKKworc2FtcGxlX2ZkaXNrX21rcGFydF9mdWxsc3BlY19TT1VSQ0VTID0gbGliZmRpc2svc2FtcGxlcy9ta3BhcnQtZnVsbHNwZWMuYworc2FtcGxlX2ZkaXNrX21rcGFydF9mdWxsc3BlY19MREFERCA9ICQoc2FtcGxlX2ZkaXNrX2xkYWRkKSBsaWJjb21tb24ubGEKK3NhbXBsZV9mZGlza19ta3BhcnRfZnVsbHNwZWNfQ0ZMQUdTID0gJChzYW1wbGVfZmRpc2tfY2ZsYWdzKQpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc2FtcGxlcy9ta3BhcnQtZnVsbHNwZWMuYyBiL2xpYmZkaXNrL3NhbXBsZXMvbWtwYXJ0LWZ1bGxzcGVjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI0MzlmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NhbXBsZXMvbWtwYXJ0LWZ1bGxzcGVjLmMKQEAgLTAsMCArMSwxOTIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqCisgKgorICogTGliZmRpc2sgc2FtcGxlIHRvIGNyZWF0ZSBwYXJ0aXRpb25zIGJ5IHNwZWNpZnkgYWxsIHJlcXVpcmVkIHBhcnRpdGlvbgorICogcHJvcGVydGllcyAocGFydG5vLCBzdGFydCBhbmQgc2l6ZSkuIFRoZSBkZWZhdWxzIGlzIG9ubHkgcGFydGl0aW9uIHR5cGUKKyAqIChleGNlcHQgTUJSIHdoZXJlIDR0aCBwYXJ0aXRpb24gaXMgZXh0ZW5kZWQpLgorICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNpbmNsdWRlICJsaWJmZGlzay5oIgorCitzdGF0aWMgaW50IGFza19jYWxsYmFjayhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCXN0cnVjdCBmZGlza19hc2sgKmFzaywKKwkJCXZvaWQgKmRhdGEpCit7CisJc3dpdGNoKGZkaXNrX2Fza19nZXRfdHlwZShhc2spKSB7CisJY2FzZSBGRElTS19BU0tUWVBFX0lORk86CisJCWZwdXRzKGZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhhc2spLCBzdGRvdXQpOworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCQlicmVhazsKKwljYXNlIEZESVNLX0FTS1RZUEVfV0FSTlg6CisJCWZmbHVzaChzdGRvdXQpOworCQlmcHV0cyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSwgc3RkZXJyKTsKKwkJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19BU0tUWVBFX1dBUk46CisJCWZmbHVzaChzdGRvdXQpOworCQlmcHV0cyhmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coYXNrKSwgc3RkZXJyKTsKKwkJZXJybm8gPSBmZGlza19hc2tfcHJpbnRfZ2V0X2Vycm5vKGFzayk7CisJCWZwcmludGYoc3RkZXJyLCAiOiAlbVxuIik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0OworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCWNvbnN0IGNoYXIgKmxhYmVsID0gTlVMTCwgKmRldmljZSA9IE5VTEw7CisJaW50IGM7CisJc2l6ZV90IG4gPSAxOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAibGFiZWwiLCAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd4JyB9LAorCQl7ICJkZXZpY2UiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2QnIH0sCisJCXsgImhlbHAiLCAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCcgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0sCisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsJLyoganVzdCB0byBoYXZlIGVuYWJsZSBVVEY4IGNoYXJzICovCisKKwlmZGlza19pbml0X2RlYnVnKDApOworCisJd2hpbGUoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAieDpkOmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ3gnOgorCQkJbGFiZWwgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkZXZpY2UgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQlwcmludGYoIiVzIFtvcHRpb25zXSAtLSA8cGFydG5vLHN0YXJ0LHNpemU+IC4uLiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgc3Rkb3V0KTsKKwkJCXB1dHMoIk1ha2UgZGlza2xhYmVsIGFuZCBwYXJ0aXRpb25zLiIpOworCQkJcHV0cygiIDxwYXJ0bm8+ICAgICAgICAgICAgICAgICAgICAgMS4ubiAoNHRoIGlzIGV4dGVuZGVkIGZvciBNQlIpLCBvciAnLScgZm9yIGRlZmF1bHQiKTsKKwkJCXB1dHMoIiA8c3RhcnQ+ICAgICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBzdGFydCBvZmZzZXQgaW4gc2VjdG9ycyIpOworCQkJcHV0cygiIDxzaXplPiAgICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHNpemUgaW4gc2VjdG9ycyIpOworCQkJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKwkJCXB1dHMoIiAteCwgLS1sYWJlbCA8ZG9zLGdwdCwuLi4+ICAgIGRpc2sgbGFiZWwgdHlwZSAoZGVmYXVsdCBNQlIpIik7CisJCQlwdXRzKCIgLWQsIC0tZGV2aWNlIDxwYXRoPiAgICAgICAgICBibG9jayBkZXZpY2UiKTsKKwkJCXB1dHMoIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIHRoaXMgaGVscCIpOworCQkJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJfQorCX0KKworCWlmICghZGV2aWNlKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgIm5vIGRldmljZSBzcGVjaWZpZWQiKTsKKwlpZiAoIWxhYmVsKQorCQlsYWJlbCA9ICJkb3MiOworCisJY3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlpZiAoIWN4dCkKKwkJZXJyX29vbSgpOworCWZkaXNrX3NldF9hc2soY3h0LCBhc2tfY2FsbGJhY2ssIE5VTEwpOworCisJcGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CisJaWYgKCFwYSkKKwkJZXJyX29vbSgpOworCisJaWYgKGZkaXNrX2Fzc2lnbl9kZXZpY2UoY3h0LCBkZXZpY2UsIDApKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGFzc2lnbiBkZXZpY2UiKTsKKwlpZiAoZmRpc2tfY3JlYXRlX2Rpc2tsYWJlbChjeHQsIGxhYmVsKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgZGlzayBsYWJlbCIpOworCisJZmRpc2tfZGlzYWJsZV9kaWFsb2dzKGN4dCwgMSk7CisKKwl3aGlsZSAob3B0aW5kIDwgYXJnYykgeworCQlpbnQgcmM7CisJCXVuc2lnbmVkIGludCBwYXJ0bm8gPSAwOworCQl1aW50NjRfdCBzdGFydCA9IDAsIHNpemUgPSAwOworCQljb25zdCBjaGFyICpzdHIgPSBhcmd2W29wdGluZF07CisKKwkJZmRpc2tfcmVzZXRfcGFydGl0aW9uKHBhKTsKKwkJZmRpc2tfcGFydGl0aW9uX2VuZF9mb2xsb3dfZGVmYXVsdChwYSwgMCk7CisKKwkJaWYgKCpzdHIgPT0gJy0nKSB7CisJCQkvKiBwYXJ0bm8gdW5zcGVjaWZpZWQgKi8KKwkJCWlmIChzc2NhbmYoc3RyLCAiLSwlIlNDTnU2NCIsJSJTQ051NjQiIiwgJnN0YXJ0LCAmc2l6ZSkgIT0gMikKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBwYXJzZSAlcyIsIHN0cik7CisJCQlmZGlza19wYXJ0aXRpb25fcGFydG5vX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwkJCWZkaXNrX3BhcnRpdGlvbl91bnNldF9wYXJ0bm8ocGEpOworCQl9IGVsc2UgeworCQkJLyogcGFydG5vIHNwZWNpZmllZCAqLworCQkJaWYgKHNzY2FuZihzdHIsICIldSwlIlNDTnU2NCIsJSJTQ051NjQiIiwgJnBhcnRubywgJnN0YXJ0LCAmc2l6ZSkgIT0gMykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBwYXJzZSAlcyIsIHN0cik7CisKKwkJCWZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQocGEsIDApOworCQkJZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm8ocGEsIHBhcnRubyAtIDEpOyAgICAgLyogbGlicmFyeSB1c2VzIDAuLm4gKi8KKwkJfQorCisJCWZkaXNrX3BhcnRpdGlvbl9zZXRfc3RhcnQocGEsIHN0YXJ0KTsKKwkJZmRpc2tfcGFydGl0aW9uX3NldF9zaXplKHBhLCBzaXplKTsKKworCQlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19wYXJ0bm8ocGEpKQorCQkJZnByaW50ZihzdGRlcnIsICJSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPSV6dSxzdGFydD0lanUsc2l6ZT0lanU+XG4iLAorCQkJCQlmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYSksCisJCQkJCSh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUocGEpKTsKKwkJZWxzZQorCQkJZnByaW50ZihzdGRlcnIsICJSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTxkZWZhdWx0PixzdGFydD0lanUsc2l6ZT0lanU+XG4iLAorCQkJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKSwKKwkJCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSk7CisKKwkJaWYgKGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSkgeworCQkJLyogTWFrZSBzdXJlIGxhc3QgcHJpbWFyeSBwYXJ0aXRpb24gaXMgZXh0ZW5kZWQgaWYgdXNlcgorCQkJICogd2FudHMgbW9yZSB0aGFuIDQgcGFydGl0aW9ucy4KKwkJCSAqLworCQkJaWYgKChwYXJ0bm8gPT0gNCB8fCAobiA9PSA0ICYmICFmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhwYSkpKQorCQkJICAgICYmIG9wdGluZCArIDEgPCBhcmdjKSB7CisJCQkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0eXBlID0KKwkJCQkJZmRpc2tfbGFiZWxfcGFyc2VfcGFydHR5cGUoCisJCQkJCQkJZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCksICIwNSIpOworCQkJCWlmICghdHlwZSkKKwkJCQkJZXJyX29vbSgpOworCQkJCWZkaXNrX3BhcnRpdGlvbl9zZXRfdHlwZShwYSwgdHlwZSk7CisJCQkJZmRpc2tfdW5yZWZfcGFydHR5cGUodHlwZSk7CisJCQl9CisJCX0KKworCQlyYyA9IGZkaXNrX2FkZF9wYXJ0aXRpb24oY3h0LCBwYSwgTlVMTCk7CisJCWlmIChyYykgeworCQkJZXJybm8gPSAtcmM7CisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBhZGQgIyV6dSBwYXJ0aXRpb24iLAorCQkJCQlmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhwYSkgPworCQkJCQlmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYSkgKyAxOiBuKTsKKwkJfQorCisJCWZkaXNrX3Jlc2V0X3BhcnRpdGlvbihwYSk7CisJCW9wdGluZCsrOworCQluKys7CisJfQorCisJaWYgKGZkaXNrX3dyaXRlX2Rpc2tsYWJlbChjeHQpKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIHdyaXRlIGRpc2sgbGFiZWwiKTsKKworCWZkaXNrX2RlYXNzaWduX2RldmljZShjeHQsIDEpOworCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NhbXBsZXMvbWtwYXJ0LmMgYi9saWJmZGlzay9zYW1wbGVzL21rcGFydC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlNWZkOTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zYW1wbGVzL21rcGFydC5jCkBAIC0wLDAgKzEsMjA1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICoKKyAqIExpYmZkaXNrIHNhbXBsZSB0byBjcmVhdGUgcGFydGl0aW9ucyBieSBzcGVjaWZ5IHNpemUsIGZvciBleGFtcGxlOgorICoKKyAqCW1rcGFydCAtLWxhYmVsIGRvcyAtLWRldmljZSAvZGV2L3NkYyAyTSAyTSAyTSAxME0gMU0gLQorICoKKyAgKiBjcmVhdGVzIDYgcGFydGl0aW9uczoKKyAgKgktIDMgcHJpbWFyeSAgKDN4IDJNKQorICAqCS0gMSBleHRlbmRlZCAoMXggMTBNKQorICAqCS0gMiBsb2dpY2FsICAoMXggMU0sIDF4IHJlbWFpbmluZy1zcGFjZS1pbi1leHRlbmRlZC1wYXJ0aXRpb24pCisgICoKKyAgKiBOb3RlczoKKyAgKiAgICAgVGhlIHNhbXBsZSBzcGVjaWZpZXMgc2l6ZSBhbmQgcGFydG5vIGZvciBNQlIsIGFuZCBzaXplIG9ubHkgZm9yIGFub3RoZXIKKyAgKiAgICAgbGFiZWxzIChlLmcuIEdQVCkuCisgICoKKyAgKiAgICAgVGhlIEFzay1BUEkgZG9lcyBub3QgdXNlIGFueXRoaW5nIGVsc2UgdGhhbiB3YXJuaW5nL2luZm8uIFRoZQorICAqICAgICBwYXJ0aXRpb25uaW5nIGhhcyB0byBiZSBkb25lIG5vbi1pbnRlcmFjdGl2ZS4KKyAgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2luY2x1ZGUgImxpYmZkaXNrLmgiCisKK3N0YXRpYyBpbnQgYXNrX2NhbGxiYWNrKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJc3RydWN0IGZkaXNrX2FzayAqYXNrLAorCQkJdm9pZCAqZGF0YSkKK3sKKwlzd2l0Y2goZmRpc2tfYXNrX2dldF90eXBlKGFzaykpIHsKKwljYXNlIEZESVNLX0FTS1RZUEVfSU5GTzoKKwkJZnB1dHMoZmRpc2tfYXNrX3ByaW50X2dldF9tZXNnKGFzayksIHN0ZG91dCk7CisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfQVNLVFlQRV9XQVJOWDoKKwkJZmZsdXNoKHN0ZG91dCk7CisJCWZwdXRzKGZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhhc2spLCBzdGRlcnIpOworCQlmcHV0YygnXG4nLCBzdGRlcnIpOworCQlicmVhazsKKwljYXNlIEZESVNLX0FTS1RZUEVfV0FSTjoKKwkJZmZsdXNoKHN0ZG91dCk7CisJCWZwdXRzKGZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhhc2spLCBzdGRlcnIpOworCQllcnJubyA9IGZkaXNrX2Fza19wcmludF9nZXRfZXJybm8oYXNrKTsKKwkJZnByaW50ZihzdGRlcnIsICI6ICVtXG4iKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisJY29uc3QgY2hhciAqbGFiZWwgPSBOVUxMLCAqZGV2aWNlID0gTlVMTDsKKwlpbnQgbiA9IDAsIGMsIG5vcGFydG5vID0gMDsKKwl1bnNpZ25lZCBpbnQgc2VjdG9yc2l6ZTsKKwl1aW50NjRfdCBncmFpbiA9IDA7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJsYWJlbCIsICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3gnIH0sCisJCXsgImRldmljZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZCcgfSwKKwkJeyAibm9wYXJ0bm8iLCBub19hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJCXsgImdyYWluIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdnJyB9LAorCQl7ICJoZWxwIiwgICBub19hcmd1bWVudCwgTlVMTCwgJ2gnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9LAorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CS8qIGp1c3QgdG8gaGF2ZSBlbmFibGUgVVRGOCBjaGFycyAqLworCisJZmRpc2tfaW5pdF9kZWJ1ZygwKTsKKworCXdoaWxlKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImc6eDpkOmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ3gnOgorCQkJbGFiZWwgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkZXZpY2UgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlub3BhcnRubyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZyc6CisJCQlncmFpbiA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCAiZmFpbGVkIHRvIHBhcnNlIGdyYWluIik7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQlwcmludGYoIiVzIFtvcHRpb25zXSA8c2l6ZT4gLi4uIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCQkJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCQkJZnB1dHMoIk1ha2UgZGlza2xhYmVsIGFuZCBwYXJ0aXRpb25zLlxuIiwgc3Rkb3V0KTsKKwkJCWZwdXRzKFVTQUdFX09QVElPTlMsIHN0ZG91dCk7CisJCQlmcHV0cygiIC14LCAtLWxhYmVsIDxkb3MsZ3B0LC4uLj4gICAgZGlzayBsYWJlbCB0eXBlXG4iLCBzdGRvdXQpOworCQkJZnB1dHMoIiAtZCwgLS1kZXZpY2UgPHBhdGg+ICAgICAgICAgIGJsb2NrIGRldmljZVxuIiwgc3Rkb3V0KTsKKwkJCWZwdXRzKCIgLXAsIC0tbm9wYXJ0bm8gICAgICAgICAgICAgICBkb24ndCBzZXQgcGFydG5vICh1c2UgZGVmYXVsdClcbiIsIHN0ZG91dCk7CisJCQlmcHV0cygiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgdGhpcyBoZWxwXG4iLCBzdGRvdXQpOworCQkJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJfQorCX0KKworCWlmICghZGV2aWNlKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgIm5vIGRldmljZSBzcGVjaWZpZWQiKTsKKwlpZiAoIWxhYmVsKQorCQlsYWJlbCA9ICJkb3MiOworCisJY3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlpZiAoIWN4dCkKKwkJZXJyX29vbSgpOworCWZkaXNrX3NldF9hc2soY3h0LCBhc2tfY2FsbGJhY2ssIE5VTEwpOworCisJaWYgKGdyYWluKQorCQlmZGlza19zYXZlX3VzZXJfZ3JhaW4oY3h0LCBncmFpbik7CisKKwlwYSA9IGZkaXNrX25ld19wYXJ0aXRpb24oKTsKKwlpZiAoIXBhKQorCQllcnJfb29tKCk7CisKKwlpZiAoZmRpc2tfYXNzaWduX2RldmljZShjeHQsIGRldmljZSwgMCkpCisJCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gYXNzaWduIGRldmljZSIpOworCWlmIChmZGlza19jcmVhdGVfZGlza2xhYmVsKGN4dCwgbGFiZWwpKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBkaXNrIGxhYmVsIik7CisKKwlzZWN0b3JzaXplID0gZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKGN4dCk7CisKKwlmZGlza19kaXNhYmxlX2RpYWxvZ3MoY3h0LCAxKTsKKworCXdoaWxlIChvcHRpbmQgPCBhcmdjKSB7CisJCWludCByYzsKKwkJdWludDY0X3Qgc2l6ZTsKKwkJY29uc3QgY2hhciAqc3RyID0gYXJndltvcHRpbmRdOworCisJCS8qIGRlZmF1bHRzICovCisJCWZkaXNrX3BhcnRpdGlvbl9zdGFydF9mb2xsb3dfZGVmYXVsdChwYSwgMSk7CisJCWZkaXNrX3BhcnRpdGlvbl9lbmRfZm9sbG93X2RlZmF1bHQocGEsIDEpOworCQlmZGlza19wYXJ0aXRpb25fcGFydG5vX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKworCQkvKiBzZXQgc2l6ZSAqLworCQlpZiAoaXNkaWdpdCgqc3RyKSkgeworCQkJc2l6ZSA9IHN0cnRvc2l6ZV9vcl9lcnIoYXJndltvcHRpbmRdLCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBzaXplIik7CisJCQlmZGlza19wYXJ0aXRpb25fc2V0X3NpemUocGEsIHNpemUgLyBzZWN0b3JzaXplKTsKKwkJCWZkaXNrX3BhcnRpdGlvbl9lbmRfZm9sbG93X2RlZmF1bHQocGEsIDApOworCisJCX0gZWxzZSBpZiAoKnN0ciA9PSAnLScpIHsKKwkJCWZkaXNrX3BhcnRpdGlvbl9lbmRfZm9sbG93X2RlZmF1bHQocGEsIDEpOworCQl9CisKKwkJaWYgKGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSkgeworCQkJLyogRm9yIE1CUiB3ZSB3YW50IHRvIGF2b2lkIHByaW1hcnkvbG9naWNhbCBkaWFsb2cuCisJCQkgKiBUaGlzIGlzIHBvc3NpYmxlIGJ5IGV4cGxpY2l0bHkgc3BlY2lmaWVkIHBhcnRpdGlvbgorCQkJICogbnVtYmVyLCA8NCBtZWFucyBwcmltYXJ5LCA+PTQgbWVhbnMgbG9naWNhbC4KKwkJCSAqLworCQkJaWYgKCFub3BhcnRubykgeworCQkJCWZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQocGEsIDApOworCQkJCWZkaXNrX3BhcnRpdGlvbl9zZXRfcGFydG5vKHBhLCBuKTsKKwkJCX0KKworCQkJLyogTWFrZSBzdXJlIGxhc3QgcHJpbWFyeSBwYXJ0aXRpb24gaXMgZXh0ZW5kZWQgaWYgdXNlcgorCQkJICogd2FudHMgbW9yZSB0aGFuIDQgcGFydGl0aW9ucy4KKwkJCSAqLworCQkJaWYgKG4gPT0gMyAmJiBvcHRpbmQgKyAxIDwgYXJnYykgeworCQkJCXN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdHlwZSA9CisJCQkJCWZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlKAorCQkJCQkJCWZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpLCAiMDUiKTsKKwkJCQlpZiAoIXR5cGUpCisJCQkJCWVycl9vb20oKTsKKwkJCQlmZGlza19wYXJ0aXRpb25fc2V0X3R5cGUocGEsIHR5cGUpOworCQkJCWZkaXNrX3VucmVmX3BhcnR0eXBlKHR5cGUpOworCQkJfQorCQl9CisKKwkJcmMgPSBmZGlza19hZGRfcGFydGl0aW9uKGN4dCwgcGEsIE5VTEwpOworCQlpZiAocmMpIHsKKwkJCWVycm5vID0gLXJjOworCQkJZXJyeChFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iLCBuICsgMSk7CisJCX0KKworCQlmZGlza19yZXNldF9wYXJ0aXRpb24ocGEpOworCQlvcHRpbmQrKzsKKwkJbisrOworCX0KKworCWlmIChmZGlza193cml0ZV9kaXNrbGFiZWwoY3h0KSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byB3cml0ZSBkaXNrIGxhYmVsIik7CisKKwlmZGlza19kZWFzc2lnbl9kZXZpY2UoY3h0LCAxKTsKKwlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvLmdpdGlnbm9yZSBiL2xpYmZkaXNrL3NyYy8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlNzliNjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvLmdpdGlnbm9yZQpAQCAtMCwwICsxIEBACitsaWJmZGlzay5oCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvTWFrZW1vZHVsZS5hbSBiL2xpYmZkaXNrL3NyYy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNzM1NTEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDEyOCBAQAorCisjIGxpYmZkaXNrLmggaXMgZ2VuZXJhdGVkLCBzbyBpdCdzIHN0b3JlZCBpbiBidWlsZGRpciEKK2ZkaXNraW5jZGlyID0gJChpbmNsdWRlZGlyKS9saWJmZGlzaworbm9kaXN0X2ZkaXNraW5jX0hFQURFUlMgPSBsaWJmZGlzay9zcmMvbGliZmRpc2suaAorCit1c3JsaWJfZXhlY19MVExJQlJBUklFUyArPSBsaWJmZGlzay5sYQorbGliZmRpc2tfbGFfU09VUkNFUyA9IFwKKwlpbmNsdWRlL2xpc3QuaCBcCisJXAorCWxpYmZkaXNrL3NyYy9mZGlza1AuaCBcCisJbGliZmRpc2svc3JjL2luaXQuYyBcCisJbGliZmRpc2svc3JjL2ZpZWxkLmMgXAorCWxpYmZkaXNrL3NyYy9pdGVtLmMgXAorCWxpYmZkaXNrL3NyYy90ZXN0LmMgXAorCWxpYmZkaXNrL3NyYy9hc2suYyBcCisJbGliZmRpc2svc3JjL2FsaWdubWVudC5jIFwKKwlsaWJmZGlzay9zcmMvbGFiZWwuYyBcCisJbGliZmRpc2svc3JjL3V0aWxzLmMgXAorCWxpYmZkaXNrL3NyYy9jb250ZXh0LmMgXAorCWxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jIFwKKwlsaWJmZGlzay9zcmMvcGFydGl0aW9uLmMgXAorCWxpYmZkaXNrL3NyYy90YWJsZS5jIFwKKwlsaWJmZGlzay9zcmMvaXRlci5jIFwKKwlsaWJmZGlzay9zcmMvc2NyaXB0LmMgXAorCWxpYmZkaXNrL3NyYy92ZXJzaW9uLmMgXAorCWxpYmZkaXNrL3NyYy93aXBlLmMgXAorCVwKKwlsaWJmZGlzay9zcmMvc3VuLmMgXAorCWxpYmZkaXNrL3NyYy9zZ2kuYyBcCisJbGliZmRpc2svc3JjL2Rvcy5jIFwKKwlsaWJmZGlzay9zcmMvYnNkLmMgXAorCWxpYmZkaXNrL3NyYy9ncHQuYworCitsaWJmZGlza19sYV9MSUJBREQgPSBsaWJjb21tb24ubGEgbGlidXVpZC5sYQorCitsaWJmZGlza19sYV9DRkxBR1MgPSBcCisJJChBTV9DRkxBR1MpIFwKKwkkKFNPTElCX0NGTEFHUykgXAorCS1JJCh1bF9saWJ1dWlkX2luY2RpcikgXAorCS1JJCh1bF9saWJmZGlza19pbmNkaXIpIFwKKwktSSQodG9wX3NyY2RpcikvbGliZmRpc2svc3JjCisKK0VYVFJBX2xpYmZkaXNrX2xhX0RFUEVOREVOQ0lFUyA9IFwKKwlsaWJmZGlzay9zcmMvbGliZmRpc2suc3ltCisKK2xpYmZkaXNrX2xhX0xERkxBR1MgPSAkKFNPTElCX0xERkxBR1MpCitpZiBIQVZFX1ZTQ1JJUFQKK2xpYmZkaXNrX2xhX0xERkxBR1MgKz0gJChWU0NSSVBUX0xERkxBR1MpLCQodG9wX3NyY2RpcikvbGliZmRpc2svc3JjL2xpYmZkaXNrLnN5bQorZW5kaWYKK2xpYmZkaXNrX2xhX0xERkxBR1MgKz0gLXZlcnNpb24taW5mbyAkKExJQkZESVNLX1ZFUlNJT05fSU5GTykKKworCitpZiBCVUlMRF9MSUJCTEtJRAorbGliZmRpc2tfbGFfTElCQUREICs9IGxpYmJsa2lkLmxhCitsaWJmZGlza19sYV9DRkxBR1MgKz0gLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKK2VuZGlmCisKK0VYVFJBX0RJU1QgKz0gXAorCWxpYmZkaXNrL3NyYy9saWJmZGlzay5zeW0KKworaWYgQlVJTERfTElCRkRJU0tfVEVTVFMKK2NoZWNrX1BST0dSQU1TICs9IFwKKwl0ZXN0X2ZkaXNrX2FzayBcCisJdGVzdF9mZGlza19ncHQgXAorCXRlc3RfZmRpc2tfc2NyaXB0IFwKKwl0ZXN0X2ZkaXNrX3V0aWxzIFwKKwl0ZXN0X2ZkaXNrX3ZlcnNpb24gXAorCXRlc3RfZmRpc2tfaXRlbQorCitsaWJmZGlza190ZXN0c19jZmxhZ3MgID0gLURURVNUX1BST0dSQU0gJChsaWJmZGlza19sYV9DRkxBR1MpICQoTk9fVU5VU0VEX1dBUk5fQ0ZMQUdTKQorbGliZmRpc2tfdGVzdHNfbGRmbGFncyA9IGxpYnV1aWQubGEgLXN0YXRpYworbGliZmRpc2tfdGVzdHNfbGRhZGQgICA9IGxpYmZkaXNrLmxhICQoTERBREQpCisKK2lmIEJVSUxEX0xJQkJMS0lECitsaWJmZGlza190ZXN0c19sZGZsYWdzICs9IGxpYmJsa2lkLmxhCitlbmRpZgorCit0ZXN0X2ZkaXNrX2Fza19TT1VSQ0VTID0gbGliZmRpc2svc3JjL2Fzay5jCit0ZXN0X2ZkaXNrX2Fza19DRkxBR1MgPSAkKGxpYmZkaXNrX3Rlc3RzX2NmbGFncykKK3Rlc3RfZmRpc2tfYXNrX0xERkxBR1MgPSAkKGxpYmZkaXNrX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2ZkaXNrX2Fza19MREFERCA9ICQobGliZmRpc2tfdGVzdHNfbGRhZGQpCisKK3Rlc3RfZmRpc2tfZ3B0X1NPVVJDRVMgPSBsaWJmZGlzay9zcmMvZ3B0LmMKK3Rlc3RfZmRpc2tfZ3B0X0NGTEFHUyA9ICQobGliZmRpc2tfdGVzdHNfY2ZsYWdzKQordGVzdF9mZGlza19ncHRfTERGTEFHUyA9ICQobGliZmRpc2tfdGVzdHNfbGRmbGFncykKK3Rlc3RfZmRpc2tfZ3B0X0xEQUREID0gJChsaWJmZGlza190ZXN0c19sZGFkZCkKKwordGVzdF9mZGlza191dGlsc19TT1VSQ0VTID0gbGliZmRpc2svc3JjL3V0aWxzLmMKK3Rlc3RfZmRpc2tfdXRpbHNfQ0ZMQUdTID0gJChsaWJmZGlza190ZXN0c19jZmxhZ3MpCit0ZXN0X2ZkaXNrX3V0aWxzX0xERkxBR1MgPSAkKGxpYmZkaXNrX3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X2ZkaXNrX3V0aWxzX0xEQUREID0gJChsaWJmZGlza190ZXN0c19sZGFkZCkKKwordGVzdF9mZGlza19zY3JpcHRfU09VUkNFUyA9IGxpYmZkaXNrL3NyYy9zY3JpcHQuYwordGVzdF9mZGlza19zY3JpcHRfQ0ZMQUdTID0gJChsaWJmZGlza190ZXN0c19jZmxhZ3MpCit0ZXN0X2ZkaXNrX3NjcmlwdF9MREZMQUdTID0gJChsaWJmZGlza190ZXN0c19sZGZsYWdzKQordGVzdF9mZGlza19zY3JpcHRfTERBREQgPSAkKGxpYmZkaXNrX3Rlc3RzX2xkYWRkKQorCit0ZXN0X2ZkaXNrX3ZlcnNpb25fU09VUkNFUyA9IGxpYmZkaXNrL3NyYy92ZXJzaW9uLmMKK3Rlc3RfZmRpc2tfdmVyc2lvbl9DRkxBR1MgPSAkKGxpYmZkaXNrX3Rlc3RzX2NmbGFncykKK3Rlc3RfZmRpc2tfdmVyc2lvbl9MREZMQUdTID0gJChsaWJmZGlza190ZXN0c19sZGZsYWdzKQordGVzdF9mZGlza192ZXJzaW9uX0xEQUREID0gJChsaWJmZGlza190ZXN0c19sZGFkZCkKKwordGVzdF9mZGlza19pdGVtX1NPVVJDRVMgPSBsaWJmZGlzay9zcmMvaXRlbS5jCit0ZXN0X2ZkaXNrX2l0ZW1fQ0ZMQUdTID0gJChsaWJmZGlza190ZXN0c19jZmxhZ3MpCit0ZXN0X2ZkaXNrX2l0ZW1fTERGTEFHUyA9ICQobGliZmRpc2tfdGVzdHNfbGRmbGFncykKK3Rlc3RfZmRpc2tfaXRlbV9MREFERCA9ICQobGliZmRpc2tfdGVzdHNfbGRhZGQpCisKK2VuZGlmICMgQlVJTERfTElCRkRJU0tfVEVTVFMKKworCisjIG1vdmUgbGliIGZyb20gJCh1c3JsaWJfZXhlY2RpcikgdG8gJChsaWJkaXIpIGlmIG5lZWRlZAoraW5zdGFsbC1leGVjLWhvb2stbGliZmRpc2s6CisJaWYgdGVzdCAiJCh1c3JsaWJfZXhlY2RpcikiICE9ICIkKGxpYmRpcikiIC1hIC1mICIkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikvbGliZmRpc2suc28iOyB0aGVuIFwKKwkJJChNS0RJUl9QKSAkKERFU1RESVIpJChsaWJkaXIpOyBcCisJCW12ICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKS9saWJmZGlzay5zby4qICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJc29faW1nX25hbWU9JCQocmVhZGxpbmsgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYmZkaXNrLnNvKTsgXAorCQlzb19pbWdfcmVsX3RhcmdldD0kJChlY2hvICQodXNybGliX2V4ZWNkaXIpIHwgc2VkICdzLFwoXi9cfFwpW14vXVteL10qLC4uLGcnKTsgXAorCQkoY2QgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpICYmIFwKKwkJCXJtIC1mIGxpYmZkaXNrLnNvICYmIFwKKwkJCSQoTE5fUykgJCRzb19pbWdfcmVsX3RhcmdldCQobGliZGlyKS8kJHNvX2ltZ19uYW1lIGxpYmZkaXNrLnNvKTsgXAorCWZpCisKK3VuaW5zdGFsbC1ob29rLWxpYmZkaXNrOgorCXJtIC1mICQoREVTVERJUikkKGxpYmRpcikvbGliZmRpc2suc28qCisKK0lOU1RBTExfRVhFQ19IT09LUyArPSBpbnN0YWxsLWV4ZWMtaG9vay1saWJmZGlzaworVU5JTlNUQUxMX0hPT0tTICs9IHVuaW5zdGFsbC1ob29rLWxpYmZkaXNrCisKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYyBiL2xpYmZkaXNrL3NyYy9hbGlnbm1lbnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTEyODVhCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2FsaWdubWVudC5jCkBAIC0wLDAgKzEsNzE0IEBACisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisjaW5jbHVkZSA8YmxraWQuaD4KKyNlbmRpZgorI2luY2x1ZGUgImJsa2Rldi5oIgorCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKy8qKgorICogU0VDVElPTjogYWxpZ25tZW50CisgKiBAdGl0bGU6IEFsaWdubWVudAorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBmdW5jdGlvbnMgdG8gYWxpZ24gcGFydGl0aW9ucyBhbmQgd29yayB3aXRoIGRpc2sgdG9wb2xvZ3kgYW5kIGdlb21ldHJ5CisgKgorICogVGhlIGxpYmZkaXNrIGFsaWducyB0aGUgZW5kIG9mIHRoZSBwYXJ0aXRpb25zIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gYWxpZ24KKyAqIHRoZSBuZXh0IHBhcnRpdGlvbiB0byB0aGUgImdyYWluIiAoc2VlIGZkaXNrX2dldF9ncmFpbl9zaXplKCkpLiBUaGUgZ3JhaW4gaXMKKyAqIHVzdWFsbHkgMU1pQiAob3IgbW9yZSBmb3IgZGV2aWNlcyB3aGVyZSBvcHRpbWFsIEkvTyBpcyBncmVhdGVyIHRoYW4gMU1pQikuCisgKgorICogSXQgbWVhbnMgdGhhdCB0aGUgbGlicmFyeSBkb2VzIG5vdCBhbGlnbiBzdHJpY3RseSB0byBwaHlzaWNhbCBzZWN0b3Igc2l6ZQorICogKG9yIG1pbmltYWwgb3Igb3B0aW1hbCBJL08pLCBidXQgaXQgdXNlcyBncmVhdGVyIGdyYW51bGFyaXR5LiBJdCBtYWtlcworICogcGFydGl0aW9uIHRhYmxlcyBtb3JlIHBvcnRhYmxlLiBJZiB5b3UgY29weSBkaXNrIGxheW91dCBmcm9tIDUxMi1zZWN0b3IgdG8KKyAqIDRLLXNlY3RvciBkZXZpY2UsIGFsbCBwYXJ0aXRpb25zIGFyZSBzdGlsbCBhbGlnbmVkIHRvIHBoeXNpY2FsIHNlY3RvcnMuCisgKgorICogVGhpcyB1bmlmaWVkIGNvbmNlcHQgYWxzbyBtYWtlcyBwYXJ0aXRpb24gdGFibGVzIG1vcmUgdXNlciBmcmllbmRseSwgYWxsCisgKiB0YWJsZXMgbG9vayBzYW1lLCBMQkEgb2YgdGhlIGZpcnN0IHBhcnRpdGlvbiBpcyAyMDQ4IHNlY3RvcnMgZXZlcnl3aGVyZSwgZXRjLgorICoKKyAqIEl0J3MgcmVjb21tZW5kZWQgdG8gbm90IGNoYW5nZSBhbnkgYWxpZ25tZW50IG9yIGRldmljZSBwcm9wZXJ0aWVzLiBBbGwgaXMKKyAqIGluaXRpYWxpemVkIGJ5IGRlZmF1bHQgYnkgZmRpc2tfYXNzaWduX2RldmljZSgpLgorICoKKyAqIE5vdGUgdGhhdCB0ZXJtaW5vbG9neSB1c2VkIGJ5IGxpYmZkaXNrIGlzOgorICogICAtIGRldmljZSBwcm9wZXJ0aWVzOiBJL08gbGltaXRzICh0b3BvbG9neSksIGdlb21ldHJ5LCBzZWN0b3Igc2l6ZSwgLi4uCisgKiAgIC0gYWxpZ25tZW50OiBmaXJzdCwgbGFzdCBMQkEsIGdyYWluLCAuLi4KKyAqCisgKiBUaGUgYWxpZ25tZW50IHNldHRpbmcgbWF5IGJlIG1vZGlmaWVkIGJ5IGRpc2sgbGFiZWwgZHJpdmVyLgorICovCisKKy8qCisgKiBBbGlnbm1lbnQgYWNjb3JkaW5nIHRvIGxvZ2ljYWwgZ3JhbnVsYXJpdHkgKHVzdWFsbHkgMU1pQikKKyAqLworc3RhdGljIGludCBsYmFfaXNfYWxpZ25lZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCB1aW50bWF4X3QgbGJhKQoreworCXVuc2lnbmVkIGxvbmcgZ3JhbnVsYXJpdHkgPSBtYXgoY3h0LT5waHlfc2VjdG9yX3NpemUsIGN4dC0+bWluX2lvX3NpemUpOworCXVpbnRtYXhfdCBvZmZzZXQ7CisKKwlpZiAoY3h0LT5ncmFpbiA+IGdyYW51bGFyaXR5KQorCQlncmFudWxhcml0eSA9IGN4dC0+Z3JhaW47CisKKwlvZmZzZXQgPSAobGJhICogY3h0LT5zZWN0b3Jfc2l6ZSkgJSBncmFudWxhcml0eTsKKworCXJldHVybiAhKChncmFudWxhcml0eSArIGN4dC0+YWxpZ25tZW50X29mZnNldCAtIG9mZnNldCkgJSBncmFudWxhcml0eSk7Cit9CisKKy8qCisgKiBBbGlnbm1lbnQgYWNjb3JkaW5nIHRvIHBoeXNpY2FsIGRldmljZSB0b3BvbG9neSAodXN1YWxseSBtaW5pbWFsIGkvbyBzaXplKQorICovCitzdGF0aWMgaW50IGxiYV9pc19waHlfYWxpZ25lZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBsYmEpCit7CisJdW5zaWduZWQgbG9uZyBncmFudWxhcml0eSA9IG1heChjeHQtPnBoeV9zZWN0b3Jfc2l6ZSwgY3h0LT5taW5faW9fc2l6ZSk7CisJdWludG1heF90IG9mZnNldCA9IChsYmEgKiBjeHQtPnNlY3Rvcl9zaXplKSAlIGdyYW51bGFyaXR5OworCisJcmV0dXJuICEoKGdyYW51bGFyaXR5ICsgY3h0LT5hbGlnbm1lbnRfb2Zmc2V0IC0gb2Zmc2V0KSAlIGdyYW51bGFyaXR5KTsKK30KKworLyoqCisgKiBmZGlza19hbGlnbl9sYmE6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAbGJhOiBhZGRyZXNzIHRvIGFsaWduCisgKiBAZGlyZWN0aW9uOiBGRElTS19BTElHTl97VVAsRE9XTixORUFSRVNUfQorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWxpZ25zIEBsYmEgdG8gdGhlICJncmFpbiIgKHNlZSBmZGlza19nZXRfZ3JhaW5fc2l6ZSgpKS4gSWYgdGhlCisgKiBkZXZpY2UgdXNlcyBhbGlnbm1lbnQgb2Zmc2V0IHRoZW4gdGhlIHJlc3VsdCBpcyBtb3ZlZCBhY2NvcmRpbmcgdGhlIG9mZnNldAorICogdG8gYmUgb24gdGhlIHBoeXNpY2FsIGJvdW5kYXJ5LgorICoKKyAqIFJldHVybnM6IGFsaWdubWVudCBMQkEuCisgKi8KK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX2FsaWduX2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBsYmEsIGludCBkaXJlY3Rpb24pCit7CisJZmRpc2tfc2VjdG9yX3QgcmVzOworCisJaWYgKGxiYV9pc19hbGlnbmVkKGN4dCwgbGJhKSkKKwkJcmVzID0gbGJhOworCWVsc2UgeworCQlmZGlza19zZWN0b3JfdCBzZWN0c19pbl9waHkgPSBjeHQtPmdyYWluIC8gY3h0LT5zZWN0b3Jfc2l6ZTsKKworCQlpZiAobGJhIDwgY3h0LT5maXJzdF9sYmEpCisJCQlyZXMgPSBjeHQtPmZpcnN0X2xiYTsKKworCQllbHNlIGlmIChkaXJlY3Rpb24gPT0gRkRJU0tfQUxJR05fVVApCisJCQlyZXMgPSAoKGxiYSArIHNlY3RzX2luX3BoeSkgLyBzZWN0c19pbl9waHkpICogc2VjdHNfaW5fcGh5OworCisJCWVsc2UgaWYgKGRpcmVjdGlvbiA9PSBGRElTS19BTElHTl9ET1dOKQorCQkJcmVzID0gKGxiYSAvIHNlY3RzX2luX3BoeSkgKiBzZWN0c19pbl9waHk7CisKKwkJZWxzZSAvKiBGRElTS19BTElHTl9ORUFSRVNUICovCisJCQlyZXMgPSAoKGxiYSArIHNlY3RzX2luX3BoeSAvIDIpIC8gc2VjdHNfaW5fcGh5KSAqIHNlY3RzX2luX3BoeTsKKworCQlpZiAoY3h0LT5hbGlnbm1lbnRfb2Zmc2V0ICYmICFsYmFfaXNfYWxpZ25lZChjeHQsIHJlcykgJiYKKwkJICAgIHJlcyA+IGN4dC0+YWxpZ25tZW50X29mZnNldCAvIGN4dC0+c2VjdG9yX3NpemUpIHsKKwkJCS8qCisJCQkgKiBhcHBseSBhbGlnbm1lbnRfb2Zmc2V0CisJCQkgKgorCQkJICogT24gZGlzayB3aXRoIGFsaWdubWVudCBjb21wZW5zYXRpb24gcGh5c2ljYWwgYmxvY2tzIHN0YXJ0cworCQkJICogYXQgTEJBIDwgMCAodXN1YWxseSBMQkEgLTEpLiBJdCBtZWFucyB3ZSBoYXZlIHRvIG1vdmUgTEJBCisJCQkgKiBhY2NvcmRpbmcgdGhlIG9mZnNldCB0byBiZSBvbiB0aGUgcGh5c2ljYWwgYm91bmRhcnkuCisJCQkgKi8KKwkJCS8qIGZwcmludGYoc3RkZXJyLCAiTEJBOiAlbGx1IGFwcGx5IGFsaWdubWVudF9vZmZzZXRcbiIsIHJlcyk7ICovCisJCQlyZXMgLT0gKG1heChjeHQtPnBoeV9zZWN0b3Jfc2l6ZSwgY3h0LT5taW5faW9fc2l6ZSkgLQorCQkJCQljeHQtPmFsaWdubWVudF9vZmZzZXQpIC8gY3h0LT5zZWN0b3Jfc2l6ZTsKKworCQkJaWYgKGRpcmVjdGlvbiA9PSBGRElTS19BTElHTl9VUCAmJiByZXMgPCBsYmEpCisJCQkJcmVzICs9IHNlY3RzX2luX3BoeTsKKwkJfQorCX0KKworCWlmIChsYmEgIT0gcmVzKQorCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJMQkEgJTEyanUgYWxpZ25lZC0lcyAlMTJqdSBbZ3JhaW49JWx1c10iLAorCQkJCSh1aW50bWF4X3QpIGxiYSwKKwkJCQlkaXJlY3Rpb24gPT0gRkRJU0tfQUxJR05fVVAgPyAidXAgICIgOgorCQkJCWRpcmVjdGlvbiA9PSBGRElTS19BTElHTl9ET1dOID8gImRvd24iIDogIm5lYXIiLAorCQkJCSh1aW50bWF4X3QpIHJlcywKKwkJCQljeHQtPmdyYWluIC8gY3h0LT5zZWN0b3Jfc2l6ZSkpOworCWVsc2UKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiTEJBICUxMmp1IGFscmVhZHkgYWxpZ25lZCIsICh1aW50bWF4X3QpbGJhKSk7CisKKwlyZXR1cm4gcmVzOworfQorCisvKioKKyAqIGZkaXNrX2FsaWduX2xiYV9pbl9yYW5nZToKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBsYmE6IExCQQorICogQHN0YXJ0OiByYW5nZSBzdGFydAorICogQHN0b3A6IHJhbmdlIHN0b3AKKyAqCisgKiBBbGlnbiBAbGJhLCB0aGUgcmVzdWx0IGhhcyB0byBiZSBiZXR3ZWVuIEBzdGFydCBhbmQgQHN0b3AKKyAqCisgKiBSZXR1cm5zOiBhbGlnbmVkIExCQQorICovCitmZGlza19zZWN0b3JfdCBmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgIGZkaXNrX3NlY3Rvcl90IGxiYSwgZmRpc2tfc2VjdG9yX3Qgc3RhcnQsIGZkaXNrX3NlY3Rvcl90IHN0b3ApCit7CisJZmRpc2tfc2VjdG9yX3QgcmVzOworCisJc3RhcnQgPSBmZGlza19hbGlnbl9sYmEoY3h0LCBzdGFydCwgRkRJU0tfQUxJR05fVVApOworCXN0b3AgPSBmZGlza19hbGlnbl9sYmEoY3h0LCBzdG9wLCBGRElTS19BTElHTl9ET1dOKTsKKworCWlmIChsYmEgPiBzdGFydCAmJiBsYmEgPCBzdG9wCisJICAgICYmIChsYmEgLSBzdGFydCkgPCAoY3h0LT5ncmFpbiAvIGN4dC0+c2VjdG9yX3NpemUpKSB7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiTEJBOiBhcmVhIHNtYWxsZXIgdGhhbiBncmFpbiwgZG9uJ3QgYWxpZ24iKSk7CisJCXJlcyA9IGxiYTsKKwkJZ290byBkb25lOworCX0KKworCWxiYSA9IGZkaXNrX2FsaWduX2xiYShjeHQsIGxiYSwgRkRJU0tfQUxJR05fTkVBUkVTVCk7CisKKwlpZiAobGJhIDwgc3RhcnQpCisJCXJlcyA9IHN0YXJ0OworCWVsc2UgaWYgKGxiYSA+IHN0b3ApCisJCXJlcyA9IHN0b3A7CisJZWxzZQorCQlyZXMgPSBsYmE7Citkb25lOgorCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVqdSBpbiByYW5nZSA8JWp1Li4lanU+IGFsaWduZWQgdG8gJWp1IiwKKwkJCQkodWludG1heF90KSBsYmEsCisJCQkJKHVpbnRtYXhfdCkgc3RhcnQsCisJCQkJKHVpbnRtYXhfdCkgc3RvcCwKKwkJCQkodWludG1heF90KSByZXMpKTsKKwlyZXR1cm4gcmVzOworfQorCisvKioKKyAqIGZkaXNrX2xiYV9pc19waHlfYWxpZ25lZDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBsYmE6IExCQSB0byBjaGVjaworICoKKyAqIENoZWNrIGlmIHRoZSBAbGJhIGlzIGFsaWduZWQgdG8gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorICoKKyAqIFJldHVybnM6IDEgaWYgYWxpZ25lZC4KKyAqLworaW50IGZkaXNrX2xiYV9pc19waHlfYWxpZ25lZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBsYmEpCit7CisJcmV0dXJuIGxiYV9pc19waHlfYWxpZ25lZChjeHQsIGxiYSk7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIGdldF9zZWN0b3Jfc2l6ZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCBzZWN0X3N6OworCisJaWYgKCFmZGlza19pc19yZWdmaWxlKGN4dCkgJiYKKwkgICAgIWJsa2Rldl9nZXRfc2VjdG9yX3NpemUoY3h0LT5kZXZfZmQsICZzZWN0X3N6KSkKKwkJcmV0dXJuICh1bnNpZ25lZCBsb25nKSBzZWN0X3N6OworCisJcmV0dXJuIERFRkFVTFRfU0VDVE9SX1NJWkU7Cit9CisKK3N0YXRpYyB2b2lkIHJlY291bnRfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dC0+Z2VvbS5oZWFkcykKKwkJY3h0LT5nZW9tLmhlYWRzID0gMjU1OworCWlmICghY3h0LT5nZW9tLnNlY3RvcnMpCisJCWN4dC0+Z2VvbS5zZWN0b3JzID0gNjM7CisKKwljeHQtPmdlb20uY3lsaW5kZXJzID0gY3h0LT50b3RhbF9zZWN0b3JzIC8KKwkJKGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzKTsKK30KKworLyoqCisgKiBmZGlza19vdmVycmlkZV9nZW9tZXRyeToKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBjeWxpbmRlcnM6IHVzZXIgc3BlY2lmaWVkIGN5bGluZGVycworICogQGhlYWRzOiB1c2VyIHNwZWNpZmllZCBoZWFkcworICogQHNlY3RvcnM6IHVzZXIgc3BlY2lmaWVkIHNlY3RvcnMKKyAqCisgKiBPdmVycmlkZXMgYXV0by1kaXNjb3ZlcnkuIFRoZSBmdW5jdGlvbiBmZGlza19yZXNldF9kZXZpY2VfcHJvcGVydGllcygpCisgKiByZXN0b3JlcyB0aGUgb3JpZ2luYWwgc2V0dGluZy4KKyAqCisgKiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGZkaXNrX292ZXJyaWRlX2dlb21ldHJ5KCkgYW5kIGZkaXNrX3NhdmVfdXNlcl9nZW9tZXRyeSgpCisgKiBpcyB0aGF0IHNhdmVkIHVzZXIgZ2VvbWV0cnkgaXMgcGVyc2lzdGVudCBzZXR0aW5nIGFuZCBpdCdzIGFwcGxpZWQgYWx3YXlzCisgKiB3aGVuIGRldmljZSBpcyBhc3NpZ25lZCB0byB0aGUgY29udGV4dCBvciBkZXZpY2UgcHJvcGVydGllcyBhcmUgcmVzZXQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19vdmVycmlkZV9nZW9tZXRyeShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgIHVuc2lnbmVkIGludCBjeWxpbmRlcnMsCisJCQkgICAgdW5zaWduZWQgaW50IGhlYWRzLAorCQkJICAgIHVuc2lnbmVkIGludCBzZWN0b3JzKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoaGVhZHMpCisJCWN4dC0+Z2VvbS5oZWFkcyA9IGhlYWRzOworCWlmIChzZWN0b3JzKQorCQljeHQtPmdlb20uc2VjdG9ycyA9IHNlY3RvcnM7CisKKwlpZiAoY3lsaW5kZXJzKQorCQljeHQtPmdlb20uY3lsaW5kZXJzID0gY3lsaW5kZXJzOworCWVsc2UKKwkJcmVjb3VudF9nZW9tZXRyeShjeHQpOworCisJZmRpc2tfcmVzZXRfYWxpZ25tZW50KGN4dCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJvdmVycmlkZSBDL0gvUzogJXUvJXUvJXUiLAorCQkodW5zaWduZWQpIGN4dC0+Z2VvbS5jeWxpbmRlcnMsCisJCSh1bnNpZ25lZCkgY3h0LT5nZW9tLmhlYWRzLAorCQkodW5zaWduZWQpIGN4dC0+Z2VvbS5zZWN0b3JzKSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zYXZlX3VzZXJfZ2VvbWV0cnk6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAY3lsaW5kZXJzOiBDCisgKiBAaGVhZHM6IEgKKyAqIEBzZWN0b3JzOiBTCisgKgorICogU2F2ZSB1c2VyIGRlZmluZWQgZ2VvbWV0cnkgdG8gdXNlIGl0IGZvciBwYXJ0aXRpb25pbmcuCisgKgorICogVGhlIHVzZXIgcHJvcGVydGllcyBhcmUgYXBwbGllZCBieSBmZGlza19hc3NpZ25fZGV2aWNlKCkgb3IKKyAqIGZkaXNrX3Jlc2V0X2RldmljZV9wcm9wZXJ0aWVzKCkuCisKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBmZGlza19zYXZlX3VzZXJfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgICB1bnNpZ25lZCBpbnQgY3lsaW5kZXJzLAorCQkJICAgIHVuc2lnbmVkIGludCBoZWFkcywKKwkJCSAgICB1bnNpZ25lZCBpbnQgc2VjdG9ycykKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoaGVhZHMpCisJCWN4dC0+dXNlcl9nZW9tLmhlYWRzID0gaGVhZHMgPiAyNTYgPyAwIDogaGVhZHM7CisJaWYgKHNlY3RvcnMpCisJCWN4dC0+dXNlcl9nZW9tLnNlY3RvcnMgPSBzZWN0b3JzID49IDY0ID8gMCA6IHNlY3RvcnM7CisJaWYgKGN5bGluZGVycykKKwkJY3h0LT51c2VyX2dlb20uY3lsaW5kZXJzID0gY3lsaW5kZXJzOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidXNlciBDL0gvUzogJXUvJXUvJXUiLAorCQkJCSh1bnNpZ25lZCkgY3h0LT51c2VyX2dlb20uY3lsaW5kZXJzLAorCQkJCSh1bnNpZ25lZCkgY3h0LT51c2VyX2dlb20uaGVhZHMsCisJCQkJKHVuc2lnbmVkKSBjeHQtPnVzZXJfZ2VvbS5zZWN0b3JzKSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zYXZlX3VzZXJfc2VjdG9yX3NpemU6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcGh5OiBwaHlzaWNhbCBzZWN0b3Igc2l6ZQorICogQGxvZzogbG9naWNhbCBzZWN0b3Igc2l6ZQorICoKKyAqIFNhdmUgdXNlciBkZWZpbmVkIHNlY3RvciBzaXplcyB0byB1c2UgaXQgZm9yIHBhcnRpdGlvbmluZy4KKyAqCisgKiBUaGUgdXNlciBwcm9wZXJ0aWVzIGFyZSBhcHBsaWVkIGJ5IGZkaXNrX2Fzc2lnbl9kZXZpY2UoKSBvcgorICogZmRpc2tfcmVzZXRfZGV2aWNlX3Byb3BlcnRpZXMoKS4KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgZmRpc2tfc2F2ZV91c2VyX3NlY3Rvcl9zaXplKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJdW5zaWduZWQgaW50IHBoeSwKKwkJCQl1bnNpZ25lZCBpbnQgbG9nKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVzZXIgcGh5L2xvZyBzZWN0b3Igc2l6ZTogJXUvJXUiLCBwaHksIGxvZykpOworCisJY3h0LT51c2VyX3B5aF9zZWN0b3IgPSBwaHk7CisJY3h0LT51c2VyX2xvZ19zZWN0b3IgPSBsb2c7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zYXZlX3VzZXJfZ3JhaW46CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZ3JhaW46IHNpemUgaW4gYnl0ZXMgKD49IDUxMiwgbXVsdGlwbGUgb2YgNTEyKQorICoKKyAqIFNhdmUgdXNlciBkZWZpbmUgZ3JhaW4gc2l6ZS4gVGhlIHNpemUgaXMgdXNlZCB0byBhbGlnbiBwYXJ0aXRpb25zLgorICoKKyAqIFRoZSBkZWZhdWx0IGlzIDFNaUIgKG9yIG9wdGltYWwgSS9PIHNpemUgaWYgZ3JlYXRlciB0aGFuIDFNaUIpLiBJdCdzIHN0cm9uZ2x5CisgKiByZWNvbW1lbmRlZCB0byB1c2UgdGhlIGRlZmF1bHQuCisgKgorICogVGhlIHNtYWxsZXN0IHBvc3NpYmxlIGdyYW51bGFyaXR5IGZvciBwYXJ0aXRpb25pbmcgaXMgcGh5c2ljYWwgc2VjdG9yIHNpemUKKyAqIChvciBtaW5pbWFsIEkvTyBzaXplOyB0aGUgYmlnZ2VyIG51bWJlciB3aW4pLiBJZiB0aGUgdXNlcidzIEBncmFpbiBzaXplIGlzCisgKiB0b28gc21hbGwgdGhhbiB0aGUgc21hbGxlc3QgcG9zc2libGUgZ3JhbnVsYXJpdHkgaXMgdXNlZC4gSXQgbWVhbnMKKyAqIGZkaXNrX3NhdmVfdXNlcl9ncmFpbihjeHQsIDUxMikgZm9yY2VzIGxpYmZkaXNrIHRvIHVzZSBncmFpbiBhcyBzbWFsbCBhcworICogcG9zc2libGUuCisgKgorICogVGhlIHNldHRpbmcgaXMgYXBwbGllZCBieSBmZGlza19hc3NpZ25fZGV2aWNlKCkgb3IKKyAqIGZkaXNrX3Jlc2V0X2RldmljZV9wcm9wZXJ0aWVzKCkuCisgKgorICogUmV0dXJuczogPDAgb24gZXJyb3IsIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IGZkaXNrX3NhdmVfdXNlcl9ncmFpbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCB1bnNpZ25lZCBsb25nIGdyYWluKQoreworCWlmICghY3h0IHx8IGdyYWluICUgNTEyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWN4dC0+dXNlcl9ncmFpbiA9IGdyYWluOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2hhc191c2VyX2RldmljZV9wcm9wZXJ0aWVzOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgdXNlciBzcGVjaWZpZWQgYW55IHByb3BlcnRpZXMKKyAqLworaW50IGZkaXNrX2hhc191c2VyX2RldmljZV9wcm9wZXJ0aWVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIChjeHQtPnVzZXJfcHloX3NlY3RvciB8fCBjeHQtPnVzZXJfbG9nX3NlY3RvciB8fAorCQljeHQtPnVzZXJfZ3JhaW4gfHwKKwkJZmRpc2tfaGFzX3VzZXJfZGV2aWNlX2dlb21ldHJ5KGN4dCkpOworfQorCitpbnQgZmRpc2tfaGFzX3VzZXJfZGV2aWNlX2dlb21ldHJ5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIChjeHQtPnVzZXJfZ2VvbS5oZWFkcyB8fCBjeHQtPnVzZXJfZ2VvbS5zZWN0b3JzIHx8IGN4dC0+dXNlcl9nZW9tLmN5bGluZGVycyk7Cit9CisKK2ludCBmZGlza19hcHBseV91c2VyX2RldmljZV9wcm9wZXJ0aWVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiYXBwbHlpbmcgdXNlciBkZXZpY2UgcHJvcGVydGllcyIpKTsKKworCWlmIChjeHQtPnVzZXJfcHloX3NlY3RvcikKKwkJY3h0LT5waHlfc2VjdG9yX3NpemUgPSBjeHQtPnVzZXJfcHloX3NlY3RvcjsKKwlpZiAoY3h0LT51c2VyX2xvZ19zZWN0b3IpIHsKKwkJdWludDY0X3Qgb2xkX3RvdGFsID0gY3h0LT50b3RhbF9zZWN0b3JzOworCQl1aW50NjRfdCBvbGRfc2Vjc3ogPSBjeHQtPnNlY3Rvcl9zaXplOworCisJCWN4dC0+c2VjdG9yX3NpemUgPSBjeHQtPm1pbl9pb19zaXplID0KKwkJCWN4dC0+aW9fc2l6ZSA9IGN4dC0+dXNlcl9sb2dfc2VjdG9yOworCisJCWlmIChjeHQtPnNlY3Rvcl9zaXplICE9IG9sZF9zZWNzeikgeworCQkJY3h0LT50b3RhbF9zZWN0b3JzID0gKG9sZF90b3RhbCAqIChvbGRfc2Vjc3ovNTEyKSkgLyAoY3h0LT5zZWN0b3Jfc2l6ZSA+PiA5KTsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5ldyB0b3RhbCBzZWN0b3JzOiAlanUiLCAodWludG1heF90KWN4dC0+dG90YWxfc2VjdG9ycykpOworCQl9CisJfQorCisJaWYgKGN4dC0+dXNlcl9nZW9tLmhlYWRzKQorCQljeHQtPmdlb20uaGVhZHMgPSBjeHQtPnVzZXJfZ2VvbS5oZWFkczsKKwlpZiAoY3h0LT51c2VyX2dlb20uc2VjdG9ycykKKwkJY3h0LT5nZW9tLnNlY3RvcnMgPSBjeHQtPnVzZXJfZ2VvbS5zZWN0b3JzOworCisJaWYgKGN4dC0+dXNlcl9nZW9tLmN5bGluZGVycykKKwkJY3h0LT5nZW9tLmN5bGluZGVycyA9IGN4dC0+dXNlcl9nZW9tLmN5bGluZGVyczsKKwllbHNlIGlmIChjeHQtPnVzZXJfZ2VvbS5oZWFkcyB8fCBjeHQtPnVzZXJfZ2VvbS5zZWN0b3JzKQorCQlyZWNvdW50X2dlb21ldHJ5KGN4dCk7CisKKwlmZGlza19yZXNldF9hbGlnbm1lbnQoY3h0KTsKKworCWlmIChjeHQtPnVzZXJfZ3JhaW4pIHsKKwkJdW5zaWduZWQgbG9uZyBncmFudWxhcml0eSA9IG1heChjeHQtPnBoeV9zZWN0b3Jfc2l6ZSwgY3h0LT5taW5faW9fc2l6ZSk7CisKKwkJY3h0LT5ncmFpbiA9IGN4dC0+dXNlcl9ncmFpbiA8IGdyYW51bGFyaXR5ID8gZ3JhbnVsYXJpdHkgOiBjeHQtPnVzZXJfZ3JhaW47CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5ldyBncmFpbjogJWx1IiwgY3h0LT5ncmFpbikpOworCX0KKworCWlmIChjeHQtPmZpcnN0c2VjdG9yX2J1ZnN6ICE9IGN4dC0+c2VjdG9yX3NpemUpCisJCWZkaXNrX3JlYWRfZmlyc3RzZWN0b3IoY3h0KTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5ldyBDL0gvUzogJXUvJXUvJXUiLAorCQkodW5zaWduZWQpIGN4dC0+Z2VvbS5jeWxpbmRlcnMsCisJCSh1bnNpZ25lZCkgY3h0LT5nZW9tLmhlYWRzLAorCQkodW5zaWduZWQpIGN4dC0+Z2VvbS5zZWN0b3JzKSk7CisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibmV3IGxvZy9waHkgc2VjdG9yIHNpemU6ICV1LyV1IiwKKwkJKHVuc2lnbmVkKSBjeHQtPnNlY3Rvcl9zaXplLAorCQkodW5zaWduZWQpIGN4dC0+cGh5X3NlY3Rvcl9zaXplKSk7CisKKwlyZXR1cm4gMDsKK30KKwordm9pZCBmZGlza196ZXJvaXplX2RldmljZV9wcm9wZXJ0aWVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisKKwljeHQtPmlvX3NpemUgPSAwOworCWN4dC0+b3B0aW1hbF9pb19zaXplID0gMDsKKwljeHQtPm1pbl9pb19zaXplID0gMDsKKwljeHQtPnBoeV9zZWN0b3Jfc2l6ZSA9IDA7CisJY3h0LT5zZWN0b3Jfc2l6ZSA9IDA7CisJY3h0LT5hbGlnbm1lbnRfb2Zmc2V0ID0gMDsKKwljeHQtPmdyYWluID0gMDsKKwljeHQtPmZpcnN0X2xiYSA9IDA7CisJY3h0LT5sYXN0X2xiYSA9IDA7CisJY3h0LT50b3RhbF9zZWN0b3JzID0gMDsKKworCW1lbXNldCgmY3h0LT5nZW9tLCAwLCBzaXplb2Yoc3RydWN0IGZkaXNrX2dlb21ldHJ5KSk7Cit9CisKKy8qKgorICogZmRpc2tfcmVzZXRfZGV2aWNlX3Byb3BlcnRpZXM6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmVzZXRzIGFuZCBkaXNjb3ZlcnkgdG9wb2xvZ3kgKEkvTyBsaW1pdHMpLCBnZW9tZXRyeSwgcmUtcmVhZCB0aGUgZmlyc3QKKyAqIHJlY3RvciBvbiB0aGUgZGV2aWNlIGlmIG5lY2Vzc2FyeSBhbmQgYXBwbHkgdXNlciBkZXZpY2Ugc2V0dGluZyAoZ2VvbWV0cnkKKyAqIGFuZCBzZWN0b3Igc2l6ZSksIHRoZW4gaW5pdGlhbGl6ZSBhbGlnbm1lbnQgYWNjb3JkaW5nIHRvIGxhYmVsIGRyaXZlciAoc2VlCisgKiBmZGlza19yZXNldF9hbGlnbm1lbnQoKSkuCisgKgorICogWW91IGRvbid0IGhhdmUgdG8gdXNlIHRoaXMgZnVuY3Rpb24gYnkgZGVmYXVsdCwgZmRpc2tfYXNzaWduX2RldmljZSgpIGlzCisgKiBzbWFydCBlbm91Z2ggdG8gaW5pdGlhbGl6ZSBhbGwgbmVjZXNzYXJ5IHNldHRpbmcuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3Jlc2V0X2RldmljZV9wcm9wZXJ0aWVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjOworCisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiKioqIHJlc2V0dGluZyBkZXZpY2UgcHJvcGVydGllcyIpKTsKKworCWZkaXNrX3plcm9pemVfZGV2aWNlX3Byb3BlcnRpZXMoY3h0KTsKKwlmZGlza19kaXNjb3Zlcl90b3BvbG9neShjeHQpOworCWZkaXNrX2Rpc2NvdmVyX2dlb21ldHJ5KGN4dCk7CisKKwlyYyA9IGZkaXNrX3JlYWRfZmlyc3RzZWN0b3IoY3h0KTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWZkaXNrX2FwcGx5X3VzZXJfZGV2aWNlX3Byb3BlcnRpZXMoY3h0KTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEdlbmVyaWMgKGxhYmVsIGluZGVwZW5kZW50KSBnZW9tZXRyeQorICovCitpbnQgZmRpc2tfZGlzY292ZXJfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlmZGlza19zZWN0b3JfdCBuc2VjdHMgPSAwOworCXVuc2lnbmVkIGludCBoID0gMCwgcyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5nZW9tLmhlYWRzID09IDApOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGRpc2NvdmVyaW5nIGdlb21ldHJ5Li4uIiwgY3h0LT5kZXZfcGF0aCkpOworCisJaWYgKGZkaXNrX2lzX3JlZ2ZpbGUoY3h0KSkKKwkJY3h0LT50b3RhbF9zZWN0b3JzID0gY3h0LT5kZXZfc3Quc3Rfc2l6ZSAvIGN4dC0+c2VjdG9yX3NpemU7CisJZWxzZSB7CisJCS8qIGdldCBudW1iZXIgb2YgNTEyLWJ5dGUgc2VjdG9ycywgYW5kIGNvbnZlcnQgaXQgdGhlIHJlYWwgc2VjdG9ycyAqLworCQlpZiAoIWJsa2Rldl9nZXRfc2VjdG9ycyhjeHQtPmRldl9mZCwgKHVuc2lnbmVkIGxvbmcgbG9uZyAqKSAmbnNlY3RzKSkKKwkJCWN4dC0+dG90YWxfc2VjdG9ycyA9IChuc2VjdHMgLyAoY3h0LT5zZWN0b3Jfc2l6ZSA+PiA5KSk7CisKKwkJLyogd2hhdCB0aGUga2VybmVsL2Jpb3MgdGhpbmtzIHRoZSBnZW9tZXRyeSBpcyAqLworCQlibGtkZXZfZ2V0X2dlb21ldHJ5KGN4dC0+ZGV2X2ZkLCAmaCwgJnMpOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInRvdGFsIHNlY3RvcnM6ICVqdSAoaW9jdGw9JWp1KSIsCisJCQkJKHVpbnRtYXhfdCkgY3h0LT50b3RhbF9zZWN0b3JzLAorCQkJCSh1aW50bWF4X3QpIG5zZWN0cykpOworCisJY3h0LT5nZW9tLmN5bGluZGVycyA9IDA7CisJY3h0LT5nZW9tLmhlYWRzID0gaDsKKwljeHQtPmdlb20uc2VjdG9ycyA9IHM7CisKKwkvKiBvYnRhaW5lZCBoZWFkcyBhbmQgc2VjdG9ycyAqLworCXJlY291bnRfZ2VvbWV0cnkoY3h0KTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInJlc3VsdDogQy9IL1M6ICV1LyV1LyV1IiwKKwkJCSAgICAgICAodW5zaWduZWQpIGN4dC0+Z2VvbS5jeWxpbmRlcnMsCisJCQkgICAgICAgKHVuc2lnbmVkKSBjeHQtPmdlb20uaGVhZHMsCisJCQkgICAgICAgKHVuc2lnbmVkKSBjeHQtPmdlb20uc2VjdG9ycykpOworCXJldHVybiAwOworfQorCitpbnQgZmRpc2tfZGlzY292ZXJfdG9wb2xvZ3koc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisJYmxraWRfcHJvYmUgcHI7CisjZW5kaWYKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5zZWN0b3Jfc2l6ZSA9PSAwKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBkaXNjb3ZlcmluZyB0b3BvbG9neS4uLiIsIGN4dC0+ZGV2X3BhdGgpKTsKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiaW5pdGlhbGl6ZSBsaWJibGtpZCBwcm9iZXIiKSk7CisKKwlwciA9IGJsa2lkX25ld19wcm9iZSgpOworCWlmIChwciAmJiBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKHByLCBjeHQtPmRldl9mZCwgMCwgMCkgPT0gMCkgeworCQlibGtpZF90b3BvbG9neSB0cCA9IGJsa2lkX3Byb2JlX2dldF90b3BvbG9neShwcik7CisKKwkJaWYgKHRwKSB7CisJCQljeHQtPm1pbl9pb19zaXplID0gYmxraWRfdG9wb2xvZ3lfZ2V0X21pbmltdW1faW9fc2l6ZSh0cCk7CisJCQljeHQtPm9wdGltYWxfaW9fc2l6ZSA9IGJsa2lkX3RvcG9sb2d5X2dldF9vcHRpbWFsX2lvX3NpemUodHApOworCQkJY3h0LT5waHlfc2VjdG9yX3NpemUgPSBibGtpZF90b3BvbG9neV9nZXRfcGh5c2ljYWxfc2VjdG9yX3NpemUodHApOworCQkJY3h0LT5hbGlnbm1lbnRfb2Zmc2V0ID0gYmxraWRfdG9wb2xvZ3lfZ2V0X2FsaWdubWVudF9vZmZzZXQodHApOworCisJCQkvKiBJL08gc2l6ZSB1c2VkIGJ5IGZkaXNrICovCisJCQljeHQtPmlvX3NpemUgPSBjeHQtPm9wdGltYWxfaW9fc2l6ZTsKKwkJCWlmICghY3h0LT5pb19zaXplKQorCQkJCS8qIG9wdGltYWwgSS9PIGlzIG9wdGlvbmFsLCBkZWZhdWx0IHRvIG1pbmltdW0gSU8gKi8KKwkJCQljeHQtPmlvX3NpemUgPSBjeHQtPm1pbl9pb19zaXplOworCisJCQkvKiBpZ25vcmUgb3B0aW1hbCBJL08gaWYgbm90IGFsaWduZWQgdG8gcGh5LnNlY3RvciBzaXplICovCisJCQlpZiAoY3h0LT5pb19zaXplCisJCQkgICAgJiYgY3h0LT5waHlfc2VjdG9yX3NpemUKKwkJCSAgICAmJiAoY3h0LT5pb19zaXplICUgY3h0LT5waHlfc2VjdG9yX3NpemUpICE9IDApIHsKKwkJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJpZ25vcmUgbWlzYWxpZ25lZCBJL08gc2l6ZSIpKTsKKwkJCQljeHQtPmlvX3NpemUgPSBjeHQtPnBoeV9zZWN0b3Jfc2l6ZTsKKwkJCX0KKworCQl9CisJfQorCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworI2VuZGlmCisKKwljeHQtPnNlY3Rvcl9zaXplID0gZ2V0X3NlY3Rvcl9zaXplKGN4dCk7CisJaWYgKCFjeHQtPnBoeV9zZWN0b3Jfc2l6ZSkgLyogY291bGQgbm90IGRpc2NvdmVyIHBoeXNpY2FsIHNpemUgKi8KKwkJY3h0LT5waHlfc2VjdG9yX3NpemUgPSBjeHQtPnNlY3Rvcl9zaXplOworCisJLyogbm8gYmxraWQgb3IgZXJyb3IsIHVzZSBkZWZhdWx0IHZhbHVlcyAqLworCWlmICghY3h0LT5taW5faW9fc2l6ZSkKKwkJY3h0LT5taW5faW9fc2l6ZSA9IGN4dC0+c2VjdG9yX3NpemU7CisJaWYgKCFjeHQtPmlvX3NpemUpCisJCWN4dC0+aW9fc2l6ZSA9IGN4dC0+c2VjdG9yX3NpemU7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJyZXN1bHQ6IGxvZy9waHkgc2VjdG9yIHNpemU6ICVsZC8lbGQiLAorCQkJY3h0LT5zZWN0b3Jfc2l6ZSwgY3h0LT5waHlfc2VjdG9yX3NpemUpKTsKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJyZXN1bHQ6IGZkaXNrL29wdGltYWwvbWluaW1hbCBpbzogJWxkLyVsZC8lbGQiLAorCQkgICAgICAgY3h0LT5pb19zaXplLCBjeHQtPm9wdGltYWxfaW9fc2l6ZSwgY3h0LT5taW5faW9fc2l6ZSkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhc190b3BvbG9neShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCS8qCisJICogQXNzdW1lIHRoYXQgdGhlIGRldmljZSBwcm92aWRlcyB0b3BvbG9neSBpbmZvIGlmCisJICogb3B0aW1hbF9pb19zaXplIGlzIHNldCBvciBhbGlnbm1lbnRfb2Zmc2V0IGlzIHNldCBvcgorCSAqIG1pbmltdW1faW9fc2l6ZSBpcyBub3QgcG93ZXIgb2YgMi4KKwkgKi8KKwlpZiAoY3h0ICYmCisJICAgIChjeHQtPm9wdGltYWxfaW9fc2l6ZSB8fAorCSAgICAgY3h0LT5hbGlnbm1lbnRfb2Zmc2V0IHx8CisJICAgICAhaXNfcG93ZXJfb2ZfMihjeHQtPm1pbl9pb19zaXplKSkpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCisvKgorICogVGhlIExCQSBvZiB0aGUgZmlyc3QgcGFydGl0aW9uIGlzIGJhc2VkIG9uIHRoZSBkZXZpY2UgZ2VvbWV0cnkgYW5kIHRvcG9sb2d5LgorICogVGhpcyBvZmZzZXQgaXMgZ2VuZXJpYyAoYW5kIHJlY29tbWVuZGVkKSBmb3IgYWxsIGxhYmVscy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIGVycm9yIG9yIG51bWJlciBvZiBsb2dpY2FsIHNlY3RvcnMuCisgKi8KK3N0YXRpYyBmZGlza19zZWN0b3JfdCB0b3BvbG9neV9nZXRfZmlyc3RfbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJZmRpc2tfc2VjdG9yX3QgeCA9IDAsIHJlczsKKworCWlmICghY3h0KQorCQlyZXR1cm4gMDsKKworCWlmICghY3h0LT5pb19zaXplKQorCQlmZGlza19kaXNjb3Zlcl90b3BvbG9neShjeHQpOworCisJLyoKKwkgKiBBbGlnbiB0aGUgYmVnaW4gb2YgcGFydGl0aW9ucyB0bzoKKwkgKgorCSAqIGEpIHRvcG9sb2d5CisJICogIGEyKSBhbGlnbm1lbnQgb2Zmc2V0CisJICogIGExKSBvciBwaHlzaWNhbCBzZWN0b3IgKG1pbmltYWxfaW9fc2l6ZSwgYWthICJncmFpbiIpCisJICoKKwkgKiBiKSBvciBkZWZhdWx0IHRvIDFNaUIgKDIwNDggc2VjdG9ycywgV2luZG93cyBWaXN0YSBkZWZhdWx0KQorCSAqCisJICogYykgb3IgZm9yIHZlcnkgc21hbGwgZGV2aWNlcyB1c2UgMSBwaHkuc2VjdG9yCisJICovCisJaWYgKGhhc190b3BvbG9neShjeHQpKSB7CisJCWlmIChjeHQtPmFsaWdubWVudF9vZmZzZXQpCisJCQl4ID0gY3h0LT5hbGlnbm1lbnRfb2Zmc2V0OworCQllbHNlIGlmIChjeHQtPmlvX3NpemUgPiAyMDQ4ICogNTEyKQorCQkJeCA9IGN4dC0+aW9fc2l6ZTsKKwl9CisJLyogZGVmYXVsdCB0byAxTWlCICovCisJaWYgKCF4KQorCQl4ID0gMjA0OCAqIDUxMjsKKworCXJlcyA9IHggLyBjeHQtPnNlY3Rvcl9zaXplOworCisJLyogZG9uJ3QgdXNlIGh1Z2Ugb2Zmc2V0IG9uIHNtYWxsIGRldmljZXMgKi8KKwlpZiAoY3h0LT50b3RhbF9zZWN0b3JzIDw9IHJlcyAqIDQpCisJCXJlcyA9IGN4dC0+cGh5X3NlY3Rvcl9zaXplIC8gY3h0LT5zZWN0b3Jfc2l6ZTsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBsb25nIHRvcG9sb2d5X2dldF9ncmFpbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXVuc2lnbmVkIGxvbmcgcmVzOworCisJaWYgKCFjeHQpCisJCXJldHVybiAwOworCisJaWYgKCFjeHQtPmlvX3NpemUpCisJCWZkaXNrX2Rpc2NvdmVyX3RvcG9sb2d5KGN4dCk7CisKKwlyZXMgPSBjeHQtPmlvX3NpemU7CisKKwkvKiB1c2UgMU1pQiBncmFpbiBhbHdheXMgd2hlbiBwb3NzaWJsZSAqLworCWlmIChyZXMgPCAyMDQ4ICogNTEyKQorCQlyZXMgPSAyMDQ4ICogNTEyOworCisJLyogZG9uJ3QgdXNlIGh1Z2UgZ3JhaW4gb24gc21hbGwgZGV2aWNlcyAqLworCWlmIChjeHQtPnRvdGFsX3NlY3RvcnMgPD0gKHJlcyAqIDQgLyBjeHQtPnNlY3Rvcl9zaXplKSkKKwkJcmVzID0gY3h0LT5waHlfc2VjdG9yX3NpemU7CisKKwlyZXR1cm4gcmVzOworfQorCisvKiBhcHBseSBsYWJlbCBhbGlnbm1lbnQgc2V0dGluZyB0byB0aGUgY29udGV4dCAtLSBpZiBub3Qgc3VyZSB1c2UKKyAqIGZkaXNrX3Jlc2V0X2FsaWdubWVudCgpCisgKi8KK2ludCBmZGlza19hcHBseV9sYWJlbF9kZXZpY2VfcHJvcGVydGllcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IDA7CisKKwlpZiAoY3h0LT5sYWJlbCAmJiBjeHQtPmxhYmVsLT5vcC0+cmVzZXRfYWxpZ25tZW50KSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFwcGxpbmcgbGFiZWwgZGV2aWNlIHByb3BlcnRpZXMuLi4iKSk7CisJCXJjID0gY3h0LT5sYWJlbC0+b3AtPnJlc2V0X2FsaWdubWVudChjeHQpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfcmVzZXRfYWxpZ25tZW50OgorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIFJlc2V0cyBhbGlnbm1lbnQgc2V0dGluZyB0byB0aGUgZGVmYXVsdCBhbmQgbGFiZWwgc3BlY2lmaWMgdmFsdWVzLiBUaGlzCisgKiBmdW5jdGlvbiBkb2VzIG5vdCBjaGFuZ2UgZGV2aWNlIHByb3BlcnRpZXMgKEkvTyBsaW1pdHMsIGdlb21ldHJ5IGV0Yy4pLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBmZGlza19yZXNldF9hbGlnbm1lbnQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmMgPSAwOworCisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicmVzZXR0aW5nIGFsaWdubWVudC4uLiIpKTsKKworCS8qIGRlZmF1bHQgKi8KKwljeHQtPmdyYWluID0gdG9wb2xvZ3lfZ2V0X2dyYWluKGN4dCk7CisJY3h0LT5maXJzdF9sYmEgPSB0b3BvbG9neV9nZXRfZmlyc3RfbGJhKGN4dCk7CisJY3h0LT5sYXN0X2xiYSA9IGN4dC0+dG90YWxfc2VjdG9ycyAtIDE7CisKKwkvKiBvdmVyd3JpdGUgZGVmYXVsdCBieSBsYWJlbCBzdHVmZiAqLworCXJjID0gZmRpc2tfYXBwbHlfbGFiZWxfZGV2aWNlX3Byb3BlcnRpZXMoY3h0KTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFsaWdubWVudCByZXNldCB0bzogIgorCQkJICAgICJmaXJzdCBMQkE9JWp1LCBsYXN0IExCQT0lanUsIGdyYWluPSVsdSBbcmM9JWRdIiwKKwkJCSAgICAodWludG1heF90KSBjeHQtPmZpcnN0X2xiYSwgKHVpbnRtYXhfdCkgY3h0LT5sYXN0X2xiYSwKKwkJCSAgICBjeHQtPmdyYWluLAlyYykpOworCXJldHVybiByYzsKK30KKworCitmZGlza19zZWN0b3JfdCBmZGlza19zY3JvdW5kKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IG51bSkKK3sKKwlmZGlza19zZWN0b3JfdCB1biA9IGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCk7CisJcmV0dXJuIChudW0gKyB1biAtIDEpIC8gdW47Cit9CisKK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX2Nyb3VuZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBudW0pCit7CisJcmV0dXJuIGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSA/CisJCQkobnVtIC8gZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IoY3h0KSkgKyAxIDogbnVtOworfQorCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvYXNrLmMgYi9saWJmZGlzay9zcmMvYXNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmFiZTA0MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9hc2suYwpAQCAtMCwwICsxLDEwNDggQEAKKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKy8qKgorICogU0VDVElPTjogYXNrCisgKiBAdGl0bGU6IEFzaworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBpbnRlcmZhY2UgZm9yIGRpYWxvZyBkcml2ZW4gcGFydGl0aW9uaW5nLCB3YXJuaW5nIGFuZCBpbmZvIG1lc3NhZ2VzCisgKgorICovCisKK3N0YXRpYyB2b2lkIGZkaXNrX2Fza19tZW51X3Jlc2V0X2l0ZW1zKHN0cnVjdCBmZGlza19hc2sgKmFzayk7CisKKworLyoqCisgKiBmZGlza19zZXRfYXNrOgorICogQGN4dDogY29udGV4dAorICogQGFza19jYjogY2FsbGJhY2sKKyAqIEBkYXRhOiBjYWxsYmFjayBkYXRhCisgKgorICogU2V0IGNhbGxiYWNrIGZvciBkaWFsb2cgZHJpdmVuIHBhcnRpdGlvbmluZyBhbmQgbGlicmFyeSB3YXJuaW5ncy9lcnJvcnMuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zZXRfYXNrKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWludCAoKmFza19jYikoc3RydWN0IGZkaXNrX2NvbnRleHQgKiwgc3RydWN0IGZkaXNrX2FzayAqLCB2b2lkICopLAorCQl2b2lkICpkYXRhKQoreworCWFzc2VydChjeHQpOworCisJY3h0LT5hc2tfY2IgPSBhc2tfY2I7CisJY3h0LT5hc2tfZGF0YSA9IGRhdGE7CisJcmV0dXJuIDA7Cit9CisKK3N0cnVjdCBmZGlza19hc2sgKmZkaXNrX25ld19hc2sodm9pZCkKK3sKKwlzdHJ1Y3QgZmRpc2tfYXNrICphc2sgPSBjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBmZGlza19hc2spKTsKKwlEQkcoQVNLLCB1bF9kZWJ1Z29iaihhc2ssICJhbGxvYyIpKTsKKwlhc2stPnJlZmNvdW50ID0gMTsKKwlyZXR1cm4gYXNrOworfQorCit2b2lkIGZkaXNrX3Jlc2V0X2FzayhzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJaW50IHJlZmNvdW50OworCisJYXNzZXJ0KGFzayk7CisJZnJlZShhc2stPnF1ZXJ5KTsKKworCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgInJlc2V0IikpOworCXJlZmNvdW50ID0gYXNrLT5yZWZjb3VudDsKKworCWlmIChmZGlza19pc19hc2soYXNrLCBNRU5VKSkKKwkJZmRpc2tfYXNrX21lbnVfcmVzZXRfaXRlbXMoYXNrKTsKKworCW1lbXNldChhc2ssIDAsIHNpemVvZigqYXNrKSk7CisJYXNrLT5yZWZjb3VudCA9IHJlZmNvdW50OworfQorCisvKioKKyAqIGZkaXNrX3JlZl9hc2s6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLgorICovCit2b2lkIGZkaXNrX3JlZl9hc2soc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWlmIChhc2spCisJCWFzay0+cmVmY291bnQrKzsKK30KKworCisvKioKKyAqIGZkaXNrX3VucmVmX2FzazoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIERlY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIsIG9uIHplcm8gdGhlIEBhc2sgaXMgYXV0b21hdGljYWxseQorICogZGVhbGxvY2F0ZWQuCisgKi8KK3ZvaWQgZmRpc2tfdW5yZWZfYXNrKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlpZiAoIWFzaykKKwkJcmV0dXJuOworCWFzay0+cmVmY291bnQtLTsKKworCWlmIChhc2stPnJlZmNvdW50IDw9IDApIHsKKwkJZmRpc2tfcmVzZXRfYXNrKGFzayk7CisJCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgImZyZWUiKSk7CisJCWZyZWUoYXNrKTsKKwl9Cit9CisKKy8qKgorICogZmRpc2tfYXNrX2dldF9xdWVyeToKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gZGlhbG9nIHN0cmluZy4KKyAqLworY29uc3QgY2hhciAqZmRpc2tfYXNrX2dldF9xdWVyeShzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJcmV0dXJuIGFzay0+cXVlcnk7Cit9CisKK2ludCBmZGlza19hc2tfc2V0X3F1ZXJ5KHN0cnVjdCBmZGlza19hc2sgKmFzaywgY29uc3QgY2hhciAqc3RyKQoreworCWFzc2VydChhc2spOworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcihhc2ssIHF1ZXJ5LCBzdHIpOworfQorCisvKioKKyAqIGZkaXNrX2Fza19nZXRfdHlwZToKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IEZESVNLX0FTS1RZUEVfKgorICovCitpbnQgZmRpc2tfYXNrX2dldF90eXBlKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlyZXR1cm4gYXNrLT50eXBlOworfQorCitpbnQgZmRpc2tfYXNrX3NldF90eXBlKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IHR5cGUpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT50eXBlID0gdHlwZTsKKwlyZXR1cm4gMDsKK30KKworaW50IGZkaXNrX2RvX2FzayhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJaW50IHJjOworCisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGN4dCk7CisKKwlEQkcoQVNLLCB1bF9kZWJ1Z29iaihhc2ssICJkb19hc2sgZm9yICclcyciLAorCQkJCWFzay0+cXVlcnkgPyBhc2stPnF1ZXJ5IDoKKwkJCQlhc2stPnR5cGUgPT0gRkRJU0tfQVNLVFlQRV9JTkZPICA/ICJpbmZvIiA6CisJCQkJYXNrLT50eXBlID09IEZESVNLX0FTS1RZUEVfV0FSTlggPyAid2FybngiIDoKKwkJCQlhc2stPnR5cGUgPT0gRkRJU0tfQVNLVFlQRV9XQVJOICA/ICJ3YXJuIiA6CisJCQkJIj9ub3RoaW5nPyIpKTsKKworCWlmICghZmRpc2tfaGFzX2RpYWxvZ3MoY3h0KSAmJgorCSAgICAhKGFzay0+dHlwZSA9PSBGRElTS19BU0tUWVBFX0lORk8gfHwKKwkgICAgICBhc2stPnR5cGUgPT0gRkRJU0tfQVNLVFlQRV9XQVJOWCB8fAorCSAgICAgIGFzay0+dHlwZSA9PSBGRElTS19BU0tUWVBFX1dBUk4pKSB7CisJCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgImRpYWxvZ3MgZGlzYWJsZWQiKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmICghY3h0LT5hc2tfY2IpIHsKKwkJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAibm8gYXNrIGNhbGxiYWNrIHNwZWNpZmllZCEiKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCXJjID0gY3h0LT5hc2tfY2IoY3h0LCBhc2ssIGN4dC0+YXNrX2RhdGEpOworCisJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAiZG9fYXNrIGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisjZGVmaW5lIGlzX251bWJlcl9hc2soYSkgIChmZGlza19pc19hc2soYSwgTlVNQkVSKSB8fCBmZGlza19pc19hc2soYSwgT0ZGU0VUKSkKKworLyoqCisgKiBmZGlza19hc2tfbnVtYmVyX2dldF9yYW5nZToKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHN0cmluZyB3aXRoIHJhbmdlIChlLmcuICIxLDMsNS0xMCIpCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX2Fza19udW1iZXJfZ2V0X3JhbmdlKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoaXNfbnVtYmVyX2Fzayhhc2spKTsKKwlyZXR1cm4gYXNrLT5kYXRhLm51bS5yYW5nZTsKK30KKworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X3JhbmdlKHN0cnVjdCBmZGlza19hc2sgKmFzaywgY29uc3QgY2hhciAqcmFuZ2UpCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJYXNrLT5kYXRhLm51bS5yYW5nZSA9IHJhbmdlOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfZ2V0X2RlZmF1bHQ6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBkZWZhdWx0IG51bWJlcgorICoKKyAqLwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5udW0uZGZsOworfQorCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IGRmbHQpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLm51bS5kZmwgPSBkZmx0OworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdzoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IG1pbmltYWwgcG9zc2libGUgbnVtYmVyIHdoZW4gYXNrIGZvciBudW1iZXJzIGluIHJhbmdlCisgKi8KK3VpbnQ2NF90IGZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5udW0ubG93OworfQorCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KHN0cnVjdCBmZGlza19hc2sgKmFzaywgdWludDY0X3QgbG93KQoreworCWFzc2VydChhc2spOworCWFzay0+ZGF0YS5udW0ubG93ID0gbG93OworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfZ2V0X2hpZ2g6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBtYXhpbWFsIHBvc3NpYmxlIG51bWJlciB3aGVuIGFzayBmb3IgbnVtYmVycyBpbiByYW5nZQorICovCit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF9oaWdoKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoaXNfbnVtYmVyX2Fzayhhc2spKTsKKwlyZXR1cm4gYXNrLT5kYXRhLm51bS5oaWc7Cit9CisKK2ludCBmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKHN0cnVjdCBmZGlza19hc2sgKmFzaywgdWludDY0X3QgaGlnaCkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc2stPmRhdGEubnVtLmhpZyA9IGhpZ2g7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogUmV0dXJuczogcmVzdWx0CisgKi8KK3VpbnQ2NF90IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5udW0ucmVzdWx0OworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfc2V0X3Jlc3VsdDoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICogQHJlc3VsdDogZGlhbG9nIHJlc3VsdAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IHJlc3VsdCkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc2stPmRhdGEubnVtLnJlc3VsdCA9IHJlc3VsdDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hc2tfbnVtYmVyX2dldF9iYXNlOgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogUmV0dXJuczogYmFzZSB3aGVuIHVzZXIgc3BlY2lmeSBudW1iZXIgaW4gcmVsYXRpdmUgbm90YXRpb24gKCtzaXplKQorICovCit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF9iYXNlKHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoaXNfbnVtYmVyX2Fzayhhc2spKTsKKwlyZXR1cm4gYXNrLT5kYXRhLm51bS5iYXNlOworfQorCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IGJhc2UpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLm51bS5iYXNlID0gYmFzZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hc2tfbnVtYmVyX2dldF91bml0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGJ5dGVzIHBlciB0aGUgdW5pdAorICovCit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF91bml0KHN0cnVjdCBmZGlza19hc2sgKmFzaykKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoaXNfbnVtYmVyX2Fzayhhc2spKTsKKwlyZXR1cm4gYXNrLT5kYXRhLm51bS51bml0OworfQorCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfdW5pdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IHVuaXQpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLm51bS51bml0ID0gdW5pdDsKKwlyZXR1cm4gMDsKK30KKworaW50IGZkaXNrX2Fza19udW1iZXJfaXNfcmVsYXRpdmUoc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChpc19udW1iZXJfYXNrKGFzaykpOworCXJldHVybiBhc2stPmRhdGEubnVtLnJlbGF0aXZlOworfQorCisvKioKKyAqIGZkaXNrX2Fza19udW1iZXJfc2V0X3JlbGF0aXZlCisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqIEByZWxhdGl2ZTogMCBvciAxCisgKgorICogSW5mb3JtIGxpYmZkaXNrIHRoYXQgdXNlciBzcGVjaWZpZWQgbnVtYmVyIGluIHJlbGF0aXZlIG5vdGF0aW9uIHJhdGhlciB0aGFuCisgKiBieSBleHBsaWNpdCBudW1iZXIuIFRoaXMgaW5mbyBhbGxvd3MgdG8gZmRpc2sgZG8gc29tZSBvcHRpbWl6YXRpb24gKGUuZy4KKyAqIGFsaWduIGVuZCBvZiBwYXJ0aXRpb24sIGV0Yy4pCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfcmVsYXRpdmUoc3RydWN0IGZkaXNrX2FzayAqYXNrLCBpbnQgcmVsYXRpdmUpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLm51bS5yZWxhdGl2ZSA9IHJlbGF0aXZlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfYXNrX251bWJlcl9pbmNoYXJzOgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogRm9yIGV4YW1wbGUgZm9yIEJTRCBpcyBub3JtYWwgdG8gYWRkcmVzcyBwYXJ0aXRpb24gYnkgY2hhcnMgcmF0aGVyIHRoYW4gYnkKKyAqIG51bWJlciAoZmlyc3QgcGFydGl0aW9uIGlzICdhJykuCisgKgorICogUmV0dXJuczogMSBpZiBudW1iZXIgc2hvdWxkIGJlIHByZXNlbnRlZCBhcyBjaGFycworICoKKyAqLworaW50IGZkaXNrX2Fza19udW1iZXJfaW5jaGFycyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGlzX251bWJlcl9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5udW0uaW5jaGFyczsKK30KKworLyoKKyAqIEdlbmVyYXRlcyBzdHJpbmcgd2l0aCBsaXN0IHJhbmdlcyAoZS5nLiAxLDIsNS04KSBmb3IgdGhlICdjdXInCisgKi8KKyNkZWZpbmUgdG9jaGFyKG51bSkJKChpbnQpICgnYScgKyBudW0gLSAxKSkKK3N0YXRpYyBjaGFyICpta19zdHJpbmdfbGlzdChjaGFyICpwdHIsIHNpemVfdCAqbGVuLCBzaXplX3QgKmJlZ2luLAorCQkJICAgIHNpemVfdCAqcnVuLCBzc2l6ZV90IGN1ciwgaW50IGluY2hhcikKK3sKKwlpbnQgcmxlbjsKKworCWlmIChjdXIgIT0gLTEpIHsKKwkJaWYgKCEqYmVnaW4pIHsJCQkvKiBiZWdpbiBvZiB0aGUgbGlzdCAqLworCQkJKmJlZ2luID0gY3VyICsgMTsKKwkJCXJldHVybiBwdHI7CisJCX0KKworCQlpZiAoKmJlZ2luICsgKnJ1biA9PSAoc2l6ZV90KWN1cikgewkvKiBubyBnYXAsIGNvbnRpbnVlICovCisJCQkoKnJ1bikrKzsKKwkJCXJldHVybiBwdHI7CisJCX0KKwl9IGVsc2UgaWYgKCEqYmVnaW4pIHsKKwkJKnB0ciA9ICdcMCc7CisJCXJldHVybiBwdHI7CQkvKiBlbmQgb2YgZW1wdHkgbGlzdCAqLworCX0KKworCQkJCQkvKiBhZGQgdG8gdGhlIGxpc3QgKi8KKwlpZiAoISpydW4pCisJCXJsZW4gPSBpbmNoYXIgPyBzbnByaW50ZihwdHIsICpsZW4sICIlYywiLCB0b2NoYXIoKmJlZ2luKSkgOgorCQkJCXNucHJpbnRmKHB0ciwgKmxlbiwgIiV6dSwiLCAqYmVnaW4pOworCWVsc2UgaWYgKCpydW4gPT0gMSkKKwkJcmxlbiA9IGluY2hhciA/CisJCQlzbnByaW50ZihwdHIsICpsZW4sICIlYywlYywiLCB0b2NoYXIoKmJlZ2luKSwgdG9jaGFyKCpiZWdpbiArIDEpKSA6CisJCQlzbnByaW50ZihwdHIsICpsZW4sICIlenUsJXp1LCIsICpiZWdpbiwgKmJlZ2luICsgMSk7CisJZWxzZQorCQlybGVuID0gaW5jaGFyID8KKwkJCXNucHJpbnRmKHB0ciwgKmxlbiwgIiVjLSVjLCIsIHRvY2hhcigqYmVnaW4pLCB0b2NoYXIoKmJlZ2luICsgKnJ1bikpIDoKKwkJCXNucHJpbnRmKHB0ciwgKmxlbiwgIiV6dS0lenUsIiwgKmJlZ2luLCAqYmVnaW4gKyAqcnVuKTsKKworCWlmIChybGVuIDwgMCB8fCAoc2l6ZV90KSBybGVuID49ICpsZW4pCisJCXJldHVybiBOVUxMOworCisJcHRyICs9IHJsZW47CisJKmxlbiAtPSBybGVuOworCisJaWYgKGN1ciA9PSAtMSAmJiAqYmVnaW4pIHsKKwkJLyogZW5kIG9mIHRoZSBsaXN0ICovCisJCSoocHRyIC0gMSkgPSAnXDAnOwkvKiByZW1vdmUgdGFpbGluZyAnLCcgZnJvbSB0aGUgbGlzdCAqLworCQlyZXR1cm4gcHRyOworCX0KKworCSpiZWdpbiA9IGN1ciArIDE7CisJKnJ1biA9IDA7CisKKwlyZXR1cm4gcHRyOworfQorCisvKioKKyAqIGZkaXNrX2Fza19wYXJ0bnVtOgorICogQGN4dDogY29udGV4dAorICogQHBhcnRudW06IHJldHVybnMgcGFydGl0aW9uIG51bWJlcgorICogQHdhbnRuZXc6IDB8MQorICoKKyAqIEhpZ2gtbGV2ZWwgQVBJIHRvIGFzayBmb3IgdXNlZCBvciB1bnVzZWQgcGFydGl0aW9uIG51bWJlci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvciwgMSBpZiBubyBmcmVlL3VzZWQgcGFydGl0aW9uCisgKi8KK2ludCBmZGlza19hc2tfcGFydG51bShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgKnBhcnRudW0sIGludCB3YW50bmV3KQoreworCWludCByYyA9IDAsIGluY2hhciA9IDA7CisJY2hhciByYW5nZVtCVUZTSVpdLCAqcHRyID0gcmFuZ2U7CisJc2l6ZV90IGksIGxlbiA9IHNpemVvZihyYW5nZSksIGJlZ2luID0gMCwgcnVuID0gMDsKKwlzdHJ1Y3QgZmRpc2tfYXNrICphc2sgPSBOVUxMOworCV9fdHlwZW9mX18oYXNrLT5kYXRhLm51bSkgKm51bTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQocGFydG51bSk7CisKKwlpZiAoY3h0LT5sYWJlbCAmJiBjeHQtPmxhYmVsLT5mbGFncyAmIEZESVNLX0xBQkVMX0ZMX0lOQ0hBUlNfUEFSVE5PKQorCQlpbmNoYXIgPSAxOworCisJREJHKEFTSywgdWxfZGVidWcoIiVzOiBhc2tpbmcgZm9yICVzIHBhcnRpdGlvbiBudW1iZXIgIgorCQkJICAiKG1heDogJXp1LCBpbmNoYXI6ICVzKSIsCisJCQljeHQtPmxhYmVsID8gY3h0LT5sYWJlbC0+bmFtZSA6ICI/Pz8iLAorCQkJd2FudG5ldyA/ICJuZXciIDogInVzZWQiLAorCQkJY3h0LT5sYWJlbCA/IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggOiAwLAorCQkJaW5jaGFyID8gInllcyIgOiAibm90IikpOworCisJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCWlmICghYXNrKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfTlVNQkVSKTsKKwludW0gPSAmYXNrLT5kYXRhLm51bTsKKworCWFzay0+ZGF0YS5udW0uaW5jaGFycyA9IGluY2hhciA/IDEgOiAwOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlpbnQgdXNlZCA9IGZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKGN4dCwgaSk7CisKKwkJaWYgKHdhbnRuZXcgJiYgIXVzZWQpIHsKKwkJCXB0ciA9IG1rX3N0cmluZ19saXN0KHB0ciwgJmxlbiwgJmJlZ2luLCAmcnVuLCBpLCBpbmNoYXIpOworCQkJaWYgKCFwdHIpIHsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoIW51bS0+bG93KQorCQkJCW51bS0+ZGZsID0gbnVtLT5sb3cgPSBpICsgMTsKKwkJCW51bS0+aGlnID0gaSArIDE7CisJCX0gZWxzZSBpZiAoIXdhbnRuZXcgJiYgdXNlZCkgeworCQkJcHRyID0gbWtfc3RyaW5nX2xpc3QocHRyLCAmbGVuLCAmYmVnaW4sICZydW4sIGksIGluY2hhcik7CisJCQlpZiAoIW51bS0+bG93KQorCQkJCW51bS0+bG93ID0gaSArIDE7CisJCQludW0tPmRmbCA9IG51bS0+aGlnID0gaSArIDE7CisJCX0KKwl9CisKKwlEQkcoQVNLLCB1bF9kZWJ1Z29iaihhc2ssICJhc2sgbGltaXRzOiBsb3c6ICUiUFJJdTY0IiwgaGlnaDogJSJQUkl1NjQiLCBkZWZhdWx0OiAlIlBSSXU2NCIiLAorCQkJCW51bS0+bG93LCBudW0tPmhpZywgbnVtLT5kZmwpKTsKKworCWlmICghcmMgJiYgIXdhbnRuZXcgJiYgbnVtLT5sb3cgPT0gbnVtLT5oaWcpIHsKKwkJaWYgKG51bS0+bG93ID4gMCkgeworCQkJLyogb25seSBvbmUgZXhpc3RpbmcgcGFydGl0aW9uLCBkb24ndCBhc2ssIHJldHVybiB0aGUgbnVtYmVyICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBudW0tPmxvdyk7CisJCQlmZGlza19pbmZvKGN4dCwgXygiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIpLCBudW0tPmxvdyk7CisKKwkJfSBlbHNlIGlmIChudW0tPmxvdyA9PSAwKSB7CisJCQlmZGlza193YXJueChjeHQsIF8oIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiKSk7CisJCQlyYyA9IDE7CisJCX0KKwkJZ290byBkb250X2FzazsKKwl9CisJaWYgKCFyYyAmJiB3YW50bmV3ICYmIG51bS0+bG93ID09IG51bS0+aGlnKSB7CisJCWlmIChudW0tPmxvdyA+IDApIHsKKwkJCS8qIG9ubHkgb25lIGZyZWUgcGFydGl0aW9uLCBkb24ndCBhc2ssIHJldHVybiB0aGUgbnVtYmVyICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoYXNrLCBudW0tPmxvdyk7CisJCQlmZGlza19pbmZvKGN4dCwgXygiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIpLCBudW0tPmxvdyk7CisJCX0KKwkJaWYgKG51bS0+bG93ID09IDApIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIpKTsKKwkJCXJjID0gMTsKKwkJfQorCQlnb3RvIGRvbnRfYXNrOworCX0KKwlpZiAoIXJjKSB7CisJCW1rX3N0cmluZ19saXN0KHB0ciwgJmxlbiwgJmJlZ2luLCAmcnVuLCAtMSwgaW5jaGFyKTsJLyogdGVybWluYXRlIHRoZSBsaXN0ICovCisJCXJjID0gZmRpc2tfYXNrX251bWJlcl9zZXRfcmFuZ2UoYXNrLCByYW5nZSk7CisJfQorCWlmICghcmMpCisJCXJjID0gZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIlBhcnRpdGlvbiBudW1iZXIiKSk7CisJaWYgKCFyYykKKwkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCitkb250X2FzazoKKwlpZiAoIXJjKSB7CisJCSpwYXJ0bnVtID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0KGFzayk7CisJCWlmICgqcGFydG51bSkKKwkJCSpwYXJ0bnVtIC09IDE7CisJfQorCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgInJlc3VsdDogJSJQUkl1NjQiIFtyYz0lZF1cbiIsIGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spLCByYykpOworCWZkaXNrX3VucmVmX2Fzayhhc2spOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19hc2tfbnVtYmVyOgorICogQGN4dDogY29udGV4dAorICogQGxvdzogbWluaW1hbCBwb3NzaWJsZSBudW1iZXIKKyAqIEBkZmx0OiBkZWZhdWx0IHN1Z2dlc3Rpb24KKyAqIEBoaWdoOiBtYXhpbWFsIHBvc3NpYmxlIG51bWJlcgorICogQHF1ZXJ5OiBxdWVzdGlvbiBzdHJpbmcKKyAqIEByZXN1bHQ6IHJldHVybnMgcmVzdWx0CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2Fza19udW1iZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJICAgICB1aW50bWF4X3QgbG93LAorCQkgICAgIHVpbnRtYXhfdCBkZmx0LAorCQkgICAgIHVpbnRtYXhfdCBoaWdoLAorCQkgICAgIGNvbnN0IGNoYXIgKnF1ZXJ5LAorCQkgICAgIHVpbnRtYXhfdCAqcmVzdWx0KQoreworCXN0cnVjdCBmZGlza19hc2sgKmFzazsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKworCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwlpZiAoIWFzaykKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyYyA9IGZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfTlVNQkVSKTsKKwlpZiAoIXJjKQorCQlmZGlza19hc2tfbnVtYmVyX3NldF9sb3coYXNrLCBsb3cpOworCWlmICghcmMpCisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCBkZmx0KTsKKwlpZiAoIXJjKQorCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgaGlnaCk7CisJaWYgKCFyYykKKwkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIHF1ZXJ5KTsKKwlpZiAoIXJjKQorCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJaWYgKCFyYykKKwkJKnJlc3VsdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCisJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAicmVzdWx0OiAlanUgW3JjPSVkXVxuIiwgKnJlc3VsdCwgcmMpKTsKKwlmZGlza191bnJlZl9hc2soYXNrKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfYXNrX3N0cmluZ19nZXRfcmVzdWx0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBkaWFsb2cgcmVzdWx0CisgKi8KK2NoYXIgKmZkaXNrX2Fza19zdHJpbmdfZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGZkaXNrX2lzX2Fzayhhc2ssIFNUUklORykpOworCXJldHVybiBhc2stPmRhdGEuc3RyLnJlc3VsdDsKK30KKworLyoqCisgKiBmZGlza19hc2tfc3RyaW5nX3NldF9yZXN1bHQ6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqIEByZXN1bHQ6IHBvaW50ZXIgdG8gYWxsb2NhdGVkIGJ1ZmZlciB3aXRoIHN0cmluZworICoKKyAqIFlvdSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgdGhlIEByZXN1bHQgZGVhbGxvY2F0aW9uLCBsaWJmZGlzayBpcyBnb2luZyB0bworICogZGVhbGxvY2F0ZSB0aGUgcmVzdWx0IHdoZW4gZGVzdHJveSBAYXNrIGluc3RhbmNlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX2Fza19zdHJpbmdfc2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGNoYXIgKnJlc3VsdCkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc2stPmRhdGEuc3RyLnJlc3VsdCA9IHJlc3VsdDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hc2tfc3RyaW5nOgorICogQGN4dDogY29udGV4dDoKKyAqIEBxdWVyeTogcXVlc3Rpb24gc3RyaW5nCisgKiBAcmVzdWx0OiByZXR1cm5zIGFsbG9jYXRlZCBidWZmZXIKKyAqCisgKiBIaWdoLWxldmVsIEFQSSB0byBhc2sgZm9yIHN0cmluZ3MuIERvbid0IGZvcmdldCB0byBkZWFsbG9jYXRlIHRoZSBAcmVzdWx0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19hc2tfc3RyaW5nKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCSAgICAgY29uc3QgY2hhciAqcXVlcnksCisJCSAgICAgY2hhciAqKnJlc3VsdCkKK3sKKwlzdHJ1Y3QgZmRpc2tfYXNrICphc2s7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisKKwlhc2sgPSBmZGlza19uZXdfYXNrKCk7CisJaWYgKCFhc2spCisJCXJldHVybiAtRU5PTUVNOworCisJcmMgPSBmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX1NUUklORyk7CisJaWYgKCFyYykKKwkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIHF1ZXJ5KTsKKwlpZiAoIXJjKQorCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJaWYgKCFyYykKKwkJKnJlc3VsdCA9IGZkaXNrX2Fza19zdHJpbmdfZ2V0X3Jlc3VsdChhc2spOworCisJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAicmVzdWx0OiAlcyBbcmM9JWRdXG4iLCAqcmVzdWx0LCByYykpOworCWZkaXNrX3VucmVmX2Fzayhhc2spOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19hc2tfeWVzbm86CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcXVlcnk6IHF1ZXN0aW9uIHN0cmluZworICogQHJlc3VsdDogcmV0dXJucyAwIChubykgb3IgMSAoeWVzKQorICoKKyAqIEhpZ2gtbGV2ZWwgQVBJIHRvIGFzayBZZXMvTm8gcXVlc3Rpb25zCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfYXNrX3llc25vKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCSAgICAgY29uc3QgY2hhciAqcXVlcnksCisJCSAgICAgaW50ICpyZXN1bHQpCit7CisJc3RydWN0IGZkaXNrX2FzayAqYXNrOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCisJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCWlmICghYXNrKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJjID0gZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9ZRVNOTyk7CisJaWYgKCFyYykKKwkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIHF1ZXJ5KTsKKwlpZiAoIXJjKQorCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJaWYgKCFyYykKKwkJKnJlc3VsdCA9IGZkaXNrX2Fza195ZXNub19nZXRfcmVzdWx0KGFzaykgPT0gMSA/IDEgOiAwOworCisJREJHKEFTSywgdWxfZGVidWdvYmooYXNrLCAicmVzdWx0OiAlZCBbcmM9JWRdXG4iLCAqcmVzdWx0LCByYykpOworCWZkaXNrX3VucmVmX2Fzayhhc2spOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19hc2tfeWVzbm9fZ2V0X3Jlc3VsdDoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgZmRpc2tfYXNrX3llc25vX2dldF9yZXN1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChmZGlza19pc19hc2soYXNrLCBZRVNOTykpOworCXJldHVybiBhc2stPmRhdGEueWVzbm8ucmVzdWx0OworfQorCisvKioKKyAqIGZkaXNrX2Fza195ZXNub19zZXRfcmVzdWx0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKiBAcmVzdWx0OiAxIG9yIDAKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19hc2tfeWVzbm9fc2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGludCByZXN1bHQpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLnllc25vLnJlc3VsdCA9IHJlc3VsdDsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIG1lbnUKKyAqLworaW50IGZkaXNrX2Fza19tZW51X3NldF9kZWZhdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGRmbCkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCWFzay0+ZGF0YS5tZW51LmRmbCA9IGRmbDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19hc2tfbWVudV9nZXRfZGVmYXVsdDoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IGRlZmF1bHQgbWVudSBpdGVtIGtleQorICovCitpbnQgZmRpc2tfYXNrX21lbnVfZ2V0X2RlZmF1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChmZGlza19pc19hc2soYXNrLCBNRU5VKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5tZW51LmRmbDsKK30KKworLyoqCisgKiBmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0OgorICogQGFzazogYXNrIGluc3RhbmNlCisgKiBAa2V5OiByZXN1bHQKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGtleSkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCWFzay0+ZGF0YS5tZW51LnJlc3VsdCA9IGtleTsKKwlEQkcoQVNLLCB1bF9kZWJ1Z29iaihhc2ssICJtZW51IHJlc3VsdDogJWNcbiIsIGtleSkpOworCXJldHVybiAwOworCit9CisKKy8qKgorICogZmRpc2tfYXNrX21lbnVfZ2V0X3Jlc3VsdDoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICogQGtleTogcmV0dXJucyBzZWxlY3RlZCBtZW51IGl0ZW0ga2V5CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2Fza19tZW51X2dldF9yZXN1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrLCBpbnQgKmtleSkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCWlmIChrZXkpCisJCSprZXkgPSAgYXNrLT5kYXRhLm1lbnUucmVzdWx0OworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19tZW51X2dldF9pdGVtOgorICogQGFzazogYXNrIG1lbnUgaW5zdGFuY2UKKyAqIEBpZHg6IHdhbnRlZCBtZW51IGl0ZW0gaW5kZXgKKyAqIEBrZXk6IHJldHVybnMga2V5IG9mIHRoZSBtZW51IGl0ZW0KKyAqIEBuYW1lOiByZXR1cm5zIG5hbWUgb2YgdGhlIG1lbnUgaXRlbQorICogQGRlc2M6IHJldHVybnMgZGVzY3JpcHRpb24gb2YgdGhlIG1lbnUgaXRlbQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IsID4wIGlmIGlkeCBvdXQtb2YtcmFuZ2UKKyAqLworaW50IGZkaXNrX2Fza19tZW51X2dldF9pdGVtKHN0cnVjdCBmZGlza19hc2sgKmFzaywgc2l6ZV90IGlkeCwgaW50ICprZXksCisJCQkgICAgY29uc3QgY2hhciAqKm5hbWUsIGNvbnN0IGNoYXIgKipkZXNjKQoreworCXNpemVfdCBpOworCXN0cnVjdCBhc2tfbWVudWl0ZW0gKm1pOworCisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGZkaXNrX2lzX2Fzayhhc2ssIE1FTlUpKTsKKworCWZvciAoaSA9IDAsIG1pID0gYXNrLT5kYXRhLm1lbnUuZmlyc3Q7IG1pOyBtaSA9IG1pLT5uZXh0LCBpKyspIHsKKwkJaWYgKGkgPT0gaWR4KQorCQkJYnJlYWs7CisJfQorCisJaWYgKCFtaSkKKwkJcmV0dXJuIDE7CS8qIG5vIG1vcmUgaXRlbXMgKi8KKwlpZiAoa2V5KQorCQkqa2V5ID0gbWktPmtleTsKKwlpZiAobmFtZSkKKwkJKm5hbWUgPSBtaS0+bmFtZTsKKwlpZiAoZGVzYykKKwkJKmRlc2MgPSBtaS0+ZGVzYzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgZmRpc2tfYXNrX21lbnVfcmVzZXRfaXRlbXMoc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCXN0cnVjdCBhc2tfbWVudWl0ZW0gKm1pOworCisJYXNzZXJ0KGFzayk7CisJYXNzZXJ0KGZkaXNrX2lzX2Fzayhhc2ssIE1FTlUpKTsKKworCWZvciAobWkgPSBhc2stPmRhdGEubWVudS5maXJzdDsgbWk7ICkgeworCQlzdHJ1Y3QgYXNrX21lbnVpdGVtICpuZXh0ID0gbWktPm5leHQ7CisJCWZyZWUobWkpOworCQltaSA9IG5leHQ7CisJfQorfQorCisvKioKKyAqIGZkaXNrX2Fza19tZW51X2dldF9uaXRlbXM6CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBudW1iZXIgb2YgbWVudSBpdGVtcworICovCitzaXplX3QgZmRpc2tfYXNrX21lbnVfZ2V0X25pdGVtcyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spCit7CisJc3RydWN0IGFza19tZW51aXRlbSAqbWk7CisJc2l6ZV90IG47CisKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCisJZm9yIChuID0gMCwgbWkgPSBhc2stPmRhdGEubWVudS5maXJzdDsgbWk7IG1pID0gbWktPm5leHQsIG4rKyk7CisKKwlyZXR1cm4gbjsKK30KKworaW50IGZkaXNrX2Fza19tZW51X2FkZF9pdGVtKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGtleSwKKwkJCWNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmRlc2MpCit7CisJc3RydWN0IGFza19tZW51aXRlbSAqbWk7CisKKwlhc3NlcnQoYXNrKTsKKwlhc3NlcnQoZmRpc2tfaXNfYXNrKGFzaywgTUVOVSkpOworCisJbWkgPSBjYWxsb2MoMSwgc2l6ZW9mKCptaSkpOworCWlmICghbWkpCisJCXJldHVybiAtRU5PTUVNOworCW1pLT5rZXkgPSBrZXk7CisJbWktPm5hbWUgPSBuYW1lOworCW1pLT5kZXNjID0gZGVzYzsKKworCWlmICghYXNrLT5kYXRhLm1lbnUuZmlyc3QpCisJCWFzay0+ZGF0YS5tZW51LmZpcnN0ID0gbWk7CisJZWxzZSB7CisJICAgICAgICBzdHJ1Y3QgYXNrX21lbnVpdGVtICpsYXN0ID0gYXNrLT5kYXRhLm1lbnUuZmlyc3Q7CisKKwkJd2hpbGUgKGxhc3QtPm5leHQpCisJCQlsYXN0ID0gbGFzdC0+bmV4dDsKKwkJbGFzdC0+bmV4dCA9IG1pOworCX0KKworCURCRyhBU0ssIHVsX2RlYnVnb2JqKGFzaywgIm5ldyBtZW51IGl0ZW06ICVjLCBcIiVzXCIgKCVzKVxuIiwgbWktPmtleSwgbWktPm5hbWUsIG1pLT5kZXNjKSk7CisJcmV0dXJuIDA7Cit9CisKKworLyoKKyAqIHByaW50LWxpa2UKKyAqLworCisjZGVmaW5lIGlzX3ByaW50X2FzayhhKSAoZmRpc2tfaXNfYXNrKGEsIFdBUk4pIHx8IGZkaXNrX2lzX2FzayhhLCBXQVJOWCkgfHwgZmRpc2tfaXNfYXNrKGEsIElORk8pKQorCisvKioKKyAqIGZkaXNrX2Fza19wcmludF9nZXRfZXJybm86CisgKiBAYXNrOiBhc2sgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBlcnJvciBudW1iZXIgZm9yIHdhcm5pbmcvZXJyb3IgbWVzc2FnZXMKKyAqLworaW50IGZkaXNrX2Fza19wcmludF9nZXRfZXJybm8oc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChpc19wcmludF9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5wcmludC5lcnJudW07Cit9CisKK2ludCBmZGlza19hc2tfcHJpbnRfc2V0X2Vycm5vKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGVycm51bSkKK3sKKwlhc3NlcnQoYXNrKTsKKwlhc2stPmRhdGEucHJpbnQuZXJybnVtID0gZXJybnVtOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2Fza19wcmludF9nZXRfbWVzZzoKKyAqIEBhc2s6IGFzayBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gbWVzc2FnZQorICovCitjb25zdCBjaGFyICpmZGlza19hc2tfcHJpbnRfZ2V0X21lc2coc3RydWN0IGZkaXNrX2FzayAqYXNrKQoreworCWFzc2VydChhc2spOworCWFzc2VydChpc19wcmludF9hc2soYXNrKSk7CisJcmV0dXJuIGFzay0+ZGF0YS5wcmludC5tZXNnOworfQorCisvKiBkb2VzIG5vdCByZWFsbG9jYXRlIHRoZSBtZXNzYWdlISAqLworaW50IGZkaXNrX2Fza19wcmludF9zZXRfbWVzZyhzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGNvbnN0IGNoYXIgKm1lc2cpCit7CisJYXNzZXJ0KGFzayk7CisJYXNrLT5kYXRhLnByaW50Lm1lc2cgPSBtZXNnOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRvX3ZwcmludChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgZXJybnVtLCBpbnQgdHlwZSwKKwkJICAgICBjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgdmEpCit7CisJc3RydWN0IGZkaXNrX2FzayAqYXNrOworCWludCByYzsKKwljaGFyICptZXNnOworCisJYXNzZXJ0KGN4dCk7CisKKwlpZiAodmFzcHJpbnRmKCZtZXNnLCBmbXQsIHZhKSA8IDApCisJCXJldHVybiAtRU5PTUVNOworCisJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCWlmICghYXNrKSB7CisJCWZyZWUobWVzZyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIHR5cGUpOworCWZkaXNrX2Fza19wcmludF9zZXRfbWVzZyhhc2ssIG1lc2cpOworCWlmIChlcnJudW0gPj0gMCkKKwkJZmRpc2tfYXNrX3ByaW50X3NldF9lcnJubyhhc2ssIGVycm51bSk7CisJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCisJZmRpc2tfdW5yZWZfYXNrKGFzayk7CisJZnJlZShtZXNnKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfaW5mbzoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBmbXQ6IHByaW50Zi1saWtlIGZvcm1hdHRlZCBzdHJpbmcKKyAqIEAuLi46IHZhcmlhYmxlIHBhcmFtZXRlcnMKKyAqCisgKiBIaWdoLWxldmVsIEFQSSB0byBwcmludCBpbmZvIG1lc3NhZ2VzLAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX2luZm8oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJaW50IHJjOworCXZhX2xpc3QgYXA7CisKKwlhc3NlcnQoY3h0KTsKKwl2YV9zdGFydChhcCwgZm10KTsKKwlyYyA9IGRvX3ZwcmludChjeHQsIC0xLCBGRElTS19BU0tUWVBFX0lORk8sIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX2luZm86CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZm10OiBwcmludGYtbGlrZSBmb3JtYXR0ZWQgc3RyaW5nCisgKiBALi4uOiB2YXJpYWJsZSBwYXJhbWV0ZXJzCisgKgorICogSGlnaC1sZXZlbCBBUEkgdG8gcHJpbnQgd2FybmluZyBtZXNzYWdlIChlcnJubyBleHBlY3RlZCkKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza193YXJuKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCWludCByYzsKKwl2YV9saXN0IGFwOworCisJYXNzZXJ0KGN4dCk7CisJdmFfc3RhcnQoYXAsIGZtdCk7CisJcmMgPSBkb192cHJpbnQoY3h0LCBlcnJubywgRkRJU0tfQVNLVFlQRV9XQVJOLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza193YXJueDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBmbXQ6IHByaW50Zi1saWtlIGZvcm1hdHRlZCBzdHJpbmcKKyAqIEAuLi46IHZhcmlhYmxlIG9wdGlvbnMKKyAqCisgKiBIaWdoLWxldmVsIEFQSSB0byBwcmludCB3YXJuaW5nIG1lc3NhZ2UKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza193YXJueChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwlpbnQgcmM7CisJdmFfbGlzdCBhcDsKKworCWFzc2VydChjeHQpOworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXJjID0gZG9fdnByaW50KGN4dCwgLTEsIEZESVNLX0FTS1RZUEVfV0FSTlgsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisJcmV0dXJuIHJjOworfQorCitpbnQgZmRpc2tfaW5mb19uZXdfcGFydGl0aW9uKAorCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCWludCBudW0sIGZkaXNrX3NlY3Rvcl90IHN0YXJ0LCBmZGlza19zZWN0b3JfdCBzdG9wLAorCQkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KQoreworCWludCByYzsKKwljaGFyICpzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8zTEVUVEVSIHwgU0laRV9TVUZGSVhfU1BBQ0UsCisJCQkJICAgICAodWludDY0X3QpKHN0b3AgLSBzdGFydCArIDEpICogY3h0LT5zZWN0b3Jfc2l6ZSk7CisKKwlyYyA9IGZkaXNrX2luZm8oY3h0LAorCQkJXygiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIpLAorCQkJbnVtLCB0ID8gdC0+bmFtZSA6IF8oIlVua25vd24iKSwgc3RyKTsKKwlmcmVlKHN0cik7CisJcmV0dXJuIHJjOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitzdGF0aWMgaW50IHRlc3RfcmFuZ2VzKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwkvKiAgICAgICAgICAgICAgICAxICAtICAzLCAgICAgICA2LCAgICA4LCA5LCAgIDExICAgIDEzICovCisJc2l6ZV90IG51bXNbXSA9IHsgMSwgMSwgMSwgMCwgMCwgMSwgMCwgMSwgMSwgMCwgMSwgMCwgMSB9OworCXNpemVfdCBudW14W10gPSB7IDAsIDAsIDAgfTsKKwljaGFyIHJhbmdlW0JVRlNJWl0sICpwdHIgPSByYW5nZTsKKwlzaXplX3QgaSwgbGVuID0gc2l6ZW9mKHJhbmdlKSwgYmVnaW4gPSAwLCBydW4gPSAwOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobnVtcyk7IGkrKykgeworCQlpZiAoIW51bXNbaV0pCisJCQljb250aW51ZTsKKwkJcHRyID0gbWtfc3RyaW5nX2xpc3QocHRyLCAmbGVuLCAmYmVnaW4sICZydW4sIGksIDApOworCX0KKwlta19zdHJpbmdfbGlzdChwdHIsICZsZW4sICZiZWdpbiwgJnJ1biwgLTEsIDApOworCXByaW50ZigibGlzdDogJyVzJ1xuIiwgcmFuZ2UpOworCisJcHRyID0gcmFuZ2U7CisJbGVuID0gc2l6ZW9mKHJhbmdlKSwgYmVnaW4gPSAwLCBydW4gPSAwOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG51bXgpOyBpKyspIHsKKwkJaWYgKCFudW14W2ldKQorCQkJY29udGludWU7CisJCXB0ciA9IG1rX3N0cmluZ19saXN0KHB0ciwgJmxlbiwgJmJlZ2luLCAmcnVuLCBpLCAwKTsKKwl9CisJbWtfc3RyaW5nX2xpc3QocHRyLCAmbGVuLCAmYmVnaW4sICZydW4sIC0xLCAwKTsKKwlwcmludGYoImVtcHR5IGxpc3Q6ICclcydcbiIsIHJhbmdlKTsKKworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBmZGlza190ZXN0IHRzc1tdID0geworCXsgIi0tcmFuZ2VzIiwgIHRlc3RfcmFuZ2VzLCAgICAiZ2VuZXJhdGVzIHJhbmdlcyIgfSwKKwl7IE5VTEwgfQorCX07CisKKwlyZXR1cm4gZmRpc2tfcnVuX3Rlc3QodHNzLCBhcmdjLCBhcmd2KTsKK30KKworI2VuZGlmCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvYnNkLmMgYi9saWJmZGlzay9zcmMvYnNkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJhMzE0MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9ic2QuYwpAQCAtMCwwICsxLDEwNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDctMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBCYXNlZCBvbiB0aGUgb3JpZ2luYWwgY29kZSBmcm9tIGZkaXNrCisgKiAgICB3cml0dGVuIGJ5IEJlcm5oYXJkIEZhc3RlbnJhdGggKGZhc3RlbkBpbmZvcm1hdGlrLnVuaS1ib25uLmRlKQorICogICAgd2l0aCBjb2RlIGZyb20gdGhlIE5ldEJTRCBkaXNrbGFiZWwgY29tbWFuZC4KKyAqCisgKiAgICBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAY29uZWN0aXZhLmNvbS5icj4sIE1hcmNoIDE5OTkKKyAqICAgIERhdmlkIEh1Z2dpbnMtRGFpbmVzIDxkaHVnZ2luc0BsaW51eGNhcmUuY29tPiwgSmFudWFyeSAyMDAwCisgKi8KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKworI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgImZkaXNrUC5oIgorI2luY2x1ZGUgInB0LW1ici5oIgorI2luY2x1ZGUgInB0LWJzZC5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorCisKKy8qKgorICogU0VDVElPTjogYnNkCisgKiBAdGl0bGU6IEJTRAorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBkaXNrIGxhYmVsIHNwZWNpZmljIGZ1bmN0aW9ucworICoKKyAqLworCitzdGF0aWMgY29uc3QgY2hhciAqYnNkX2RrdHlwZW5hbWVzW10gPSB7CisJInVua25vd24iLAorCSJTTUQiLAorCSJNU0NQIiwKKwkib2xkIERFQyIsCisJIlNDU0kiLAorCSJFU0RJIiwKKwkiU1Q1MDYiLAorCSJIUC1JQiIsCisJIkhQLUZMIiwKKwkidHlwZSA5IiwKKwkiZmxvcHB5IiwKKwlOVUxMCit9OworI2RlZmluZSBCU0RfREtNQVhUWVBFUwkoQVJSQVlfU0laRShic2RfZGt0eXBlbmFtZXMpIC0gMSkKKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0dHlwZSBic2RfZnN0eXBlc1tdID0geworICAgICAgICB7QlNEX0ZTX1VOVVNFRCwgInVudXNlZCJ9LAorCXtCU0RfRlNfU1dBUCwgICAic3dhcCJ9LAorCXtCU0RfRlNfVjYsICAgICAiVmVyc2lvbiA2In0sCisJe0JTRF9GU19WNywgICAgICJWZXJzaW9uIDcifSwKKwl7QlNEX0ZTX1NZU1YsICAgIlN5c3RlbSBWIn0sCisJe0JTRF9GU19WNzFLLCAgICI0LjFCU0QifSwKKwl7QlNEX0ZTX1Y4LCAgICAgIkVpZ2h0aCBFZGl0aW9uIn0sCisJe0JTRF9GU19CU0RGRlMsICI0LjJCU0QifSwKKyNpZmRlZiBfX2FscGhhX18KKwl7QlNEX0ZTX0VYVDIsICAgImV4dDIifSwKKyNlbHNlCisJe0JTRF9GU19NU0RPUywgICJNUy1ET1MifSwKKyNlbmRpZgorCXtCU0RfRlNfQlNETEZTLCAiNC40TEZTIn0sCisJe0JTRF9GU19PVEhFUiwgICJ1bmtub3duIn0sCisJe0JTRF9GU19IUEZTLCAgICJIUEZTIn0sCisJe0JTRF9GU19JU085NjYwLCJJU08tOTY2MCJ9LAorCXtCU0RfRlNfQk9PVCwgICAiYm9vdCJ9LAorCXtCU0RfRlNfQURPUywgICAiQURPUyJ9LAorCXtCU0RfRlNfSEZTLCAgICAiSEZTIn0sCisJe0JTRF9GU19BRFZGUywJIkFkdkZTIn0sCisJeyAwLCBOVUxMIH0KK307CisjZGVmaW5lIEJTRF9GU01BWFRZUEVTIChBUlJBWV9TSVpFKGJzZF9mc3R5cGVzKS0xKQorCisvKgorICogaW4tbWVtb3J5IGZkaXNrIEJTRCBzdHVmZgorICovCitzdHJ1Y3QgZmRpc2tfYnNkX2xhYmVsIHsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwJaGVhZDsJCS8qIGdlbmVyaWMgcGFydCAqLworCisJc3RydWN0IGRvc19wYXJ0aXRpb24gKmRvc19wYXJ0OwkJLyogcGFyZW50ICovCisJc3RydWN0IGJzZF9kaXNrbGFiZWwgYnNkOwkJLyogb24gZGlzayBsYWJlbCAqLworI2lmIGRlZmluZWQgKF9fYWxwaGFfXykKKwkvKiBXZSBhY2Nlc3MgdGhpcyB0aHJvdWdoIGEgdV9pbnQ2NF90ICogd2hlbiBjaGVja3N1bW1pbmcgKi8KKwljaGFyIGJzZGJ1ZmZlcltCU0RfQkJTSVpFXSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKDgpKSk7CisjZWxzZQorCWNoYXIgYnNkYnVmZmVyW0JTRF9CQlNJWkVdOworI2VuZGlmCit9OworCitzdGF0aWMgaW50IGJzZF9pbml0bGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitzdGF0aWMgaW50IGJzZF9yZWFkbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitzdGF0aWMgdm9pZCBzeW5jX2Rpc2tzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBmZGlza19ic2RfbGFiZWwgKnNlbGZfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgQlNEKSk7CisKKwlyZXR1cm4gKHN0cnVjdCBmZGlza19ic2RfbGFiZWwgKikgY3h0LT5sYWJlbDsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqc2VsZl9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgQlNEKSk7CisKKwlyZXR1cm4gJigoc3RydWN0IGZkaXNrX2JzZF9sYWJlbCAqKSBjeHQtPmxhYmVsKS0+YnNkOworfQorCitzdGF0aWMgc3RydWN0IGZkaXNrX3BhcnR0eXBlICpic2RfcGFydGl0aW9uX3BhcnR0eXBlKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcCkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQKKwkJPSBmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlKGN4dC0+bGFiZWwsIHAtPnBfZnN0eXBlKTsKKwlyZXR1cm4gdCA/IDogZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGUocC0+cF9mc3R5cGUsIE5VTEwpOworfQorCisKKyNpZiBkZWZpbmVkIChfX2FscGhhX18pCitzdGF0aWMgdm9pZCBhbHBoYV9ib290YmxvY2tfY2hlY2tzdW0gKGNoYXIgKmJvb3QpCit7CisJdWludDY0X3QgKmRwID0gKHVpbnQ2NF90ICopIGJvb3QsIHN1bSA9IDA7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNjM7IGkrKykKKwkJc3VtICs9IGRwW2ldOworCWRwWzYzXSA9IHN1bTsKK30KKyNlbmRpZiAvKiBfX2FscGhhX18gKi8KKworI2RlZmluZSBISURERU5fTUFTSwkweDEwCisKK3N0YXRpYyBpbnQgaXNfYnNkX3BhcnRpdGlvbl90eXBlKGludCB0eXBlKQoreworCXJldHVybiAodHlwZSA9PSBNQlJfRlJFRUJTRF9QQVJUSVRJT04gfHwKKwkJdHlwZSA9PSAoTUJSX0ZSRUVCU0RfUEFSVElUSU9OIF4gSElEREVOX01BU0spIHx8CisJCXR5cGUgPT0gTUJSX05FVEJTRF9QQVJUSVRJT04gfHwKKwkJdHlwZSA9PSAoTUJSX05FVEJTRF9QQVJUSVRJT04gXiBISURERU5fTUFTSykgfHwKKwkJdHlwZSA9PSBNQlJfT1BFTkJTRF9QQVJUSVRJT04gfHwKKwkJdHlwZSA9PSAoTUJSX09QRU5CU0RfUEFSVElUSU9OIF4gSElEREVOX01BU0spKTsKK30KKworLyoKKyAqIGxvb2sgZm9yIERPUyBwYXJ0aXRpb24gdXNhYmxlIGZvciBuZXN0ZWQgQlNEIHBhcnRpdGlvbiB0YWJsZQorICovCitzdGF0aWMgaW50IGJzZF9hc3NpZ25fZG9zX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19ic2RfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CisJCWZkaXNrX3NlY3Rvcl90IHNzOworCisJCWwtPmRvc19wYXJ0ID0gZmRpc2tfZG9zX2dldF9wYXJ0aXRpb24oY3h0LT5wYXJlbnQsIGkpOworCisJCWlmICghbC0+ZG9zX3BhcnQgfHwgIWlzX2JzZF9wYXJ0aXRpb25fdHlwZShsLT5kb3NfcGFydC0+c3lzX2luZCkpCisJCQljb250aW51ZTsKKworCQlzcyA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGwtPmRvc19wYXJ0KTsKKwkJaWYgKCFzcykgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyAiCisJCQkJCSAgICJzZWN0b3IgMC4iKSwgaSArIDEpOworCQkJcmV0dXJuIC0xOworCQl9CisKKwkJaWYgKGN4dC0+cGFyZW50LT5kZXZfcGF0aCkgeworCQkJZnJlZShjeHQtPmRldl9wYXRoKTsKKwkJCWN4dC0+ZGV2X3BhdGggPSBmZGlza19wYXJ0bmFtZSgKKwkJCQkJCWN4dC0+cGFyZW50LT5kZXZfcGF0aCwgaSArIDEpOworCQl9CisKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygicGFydGl0aW9uICV6dSBhc3NpZ25lZCB0byBCU0QiLCBpICsgMSkpOworCQlyZXR1cm4gMDsKKwl9CisKKwlmZGlza193YXJueChjeHQsIF8oIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIpLAorCQkJCWN4dC0+cGFyZW50LT5kZXZfcGF0aCk7CisJZnJlZShjeHQtPmRldl9wYXRoKTsKKwljeHQtPmRldl9wYXRoID0gTlVMTDsKKwlsLT5kb3NfcGFydCA9IE5VTEw7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgYnNkX3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjID0gMDsKKworCWlmIChjeHQtPnBhcmVudCkKKwkJcmMgPSBic2RfYXNzaWduX2Rvc19wYXJ0aXRpb24oY3h0KTsJLyogbmVzdGVkIEJTRCBwYXJ0aXRpb24gdGFibGUgKi8KKwlpZiAoIXJjKQorCQlyYyA9IGJzZF9yZWFkbGFiZWwoY3h0KTsKKwlpZiAoIXJjKQorCQlyZXR1cm4gMTsJLyogZm91bmQgQlNEICovCisJcmV0dXJuIDA7CQkvKiBub3QgZm91bmQgKi8KK30KKworc3RhdGljIGludCBzZXRfcGFydHR5cGUoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBwYXJ0bnVtLAorCQlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpCit7CisJc3RydWN0IGJzZF9wYXJ0aXRpb24gKnA7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJaWYgKHBhcnRudW0gPj0gZC0+ZF9ucGFydGl0aW9ucyB8fCAhdCB8fCB0LT5jb2RlID4gVUlOVDhfTUFYKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXAgPSAmZC0+ZF9wYXJ0aXRpb25zW3BhcnRudW1dOworCWlmICh0LT5jb2RlID09IHAtPnBfZnN0eXBlKQorCQlyZXR1cm4gMDsKKworCXAtPnBfZnN0eXBlID0gdC0+Y29kZTsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBic2RfYWRkX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCSAgICAgc2l6ZV90ICpwYXJ0bm8pCit7CisJc3RydWN0IGZkaXNrX2JzZF9sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc2l6ZV90IGk7CisJdW5zaWduZWQgaW50IGJlZ2luID0gMCwgZW5kOworCWludCByYyA9IDA7CisKKwlyYyA9IGZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubyhwYSwgY3h0LCAmaSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJaWYgKGkgPj0gQlNEX01BWFBBUlRJVElPTlMpCisJCXJldHVybiAtRVJBTkdFOworCWlmIChsLT5kb3NfcGFydCkgeworCQliZWdpbiA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGwtPmRvc19wYXJ0KTsKKwkJZW5kID0gYmVnaW4gKyBkb3NfcGFydGl0aW9uX2dldF9zaXplKGwtPmRvc19wYXJ0KSAtIDE7CisJfSBlbHNlCisJCWVuZCA9IGQtPmRfc2VjcGVydW5pdCAtIDE7CisKKwkvKgorCSAqIEZpcnN0IHNlY3RvcgorCSAqLworCWlmIChwYSAmJiBwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQpCisJCTsKKwllbHNlIGlmIChwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQlpZiAocGEtPnN0YXJ0IDwgYmVnaW4gfHwgcGEtPnN0YXJ0ID4gZW5kKQorCQkJcmV0dXJuIC1FUkFOR0U7CisJCWJlZ2luID0gcGEtPnN0YXJ0OworCX0gZWxzZSB7CisJCXN0cnVjdCBmZGlza19hc2sgKmFzayA9IGZkaXNrX25ld19hc2soKTsKKworCQlpZiAoIWFzaykKKwkJCXJldHVybiAtRU5PTUVNOworCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywKKwkJCWZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSA/CisJCQlfKCJGaXJzdCBjeWxpbmRlciIpIDogXygiRmlyc3Qgc2VjdG9yIikpOworCQlmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX05VTUJFUik7CisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIGJlZ2luKSk7CisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCBmZGlza19jcm91bmQoY3h0LCBiZWdpbikpOworCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgZW5kKSk7CisKKwkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCQliZWdpbiA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKQorCQkJYmVnaW4gPSAoYmVnaW4gLSAxKSAqIGQtPmRfc2VjcGVyY3lsOworCX0KKworCS8qCisJICogTGFzdCBzZWN0b3IKKwkgKi8KKwlpZiAocGEgJiYgcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCkKKwkJOworCWVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpIHsKKwkJaWYgKGJlZ2luICsgcGEtPnNpemUgPiBlbmQpCisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJZW5kID0gYmVnaW4gKyBwYS0+c2l6ZSAtIDFVTEw7CisJfSBlbHNlIHsKKwkJLyogYXNrIHVzZXIgYnkgZGlhbG9nICovCisJCXN0cnVjdCBmZGlza19hc2sgKmFzayA9IGZkaXNrX25ld19hc2soKTsKKworCQlpZiAoIWFzaykKKwkJCXJldHVybiAtRU5PTUVNOworCQlmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX09GRlNFVCk7CisKKwkJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkgeworCQkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIpKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLAorCQkJCSAgICAgY3h0LT5zZWN0b3Jfc2l6ZSAqCisJCQkJICAgICBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpKTsKKwkJfSBlbHNlIHsKKwkJCWZkaXNrX2Fza19zZXRfcXVlcnkoYXNrLCBfKCJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIpKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLGN4dC0+c2VjdG9yX3NpemUpOworCQl9CisKKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgYmVnaW4pKTsKKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIGVuZCkpOworCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgZW5kKSk7CisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2Jhc2UoYXNrLCBmZGlza19jcm91bmQoY3h0LCBiZWdpbikpOworCisJCXJjID0gZmRpc2tfZG9fYXNrKGN4dCwgYXNrKTsKKwkJZW5kID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0KGFzayk7CisJCWZkaXNrX3VucmVmX2Fzayhhc2spOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQllbmQgPSBlbmQgKiBkLT5kX3NlY3BlcmN5bCAtIDE7CisJfQorCisJZC0+ZF9wYXJ0aXRpb25zW2ldLnBfc2l6ZSAgID0gZW5kIC0gYmVnaW4gKyAxOworCWQtPmRfcGFydGl0aW9uc1tpXS5wX29mZnNldCA9IGJlZ2luOworCWQtPmRfcGFydGl0aW9uc1tpXS5wX2ZzdHlwZSA9IEJTRF9GU19VTlVTRUQ7CisKKwlpZiAoaSA+PSBkLT5kX25wYXJ0aXRpb25zKQorCQlkLT5kX25wYXJ0aXRpb25zID0gaSArIDE7CisJY3h0LT5sYWJlbC0+bnBhcnRzX2N1ciA9IGQtPmRfbnBhcnRpdGlvbnM7CisKKwlpZiAocGEgJiYgcGEtPnR5cGUpCisJCXNldF9wYXJ0dHlwZShjeHQsIGksIHBhLT50eXBlKTsKKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCWlmIChwYXJ0bm8pCisJCSpwYXJ0bm8gPSBpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJzZF9zZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgZmRpc2tfYnNkX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCXN0cnVjdCBic2RfZGlza2xhYmVsICpkID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCWlmIChuID49IGQtPmRfbnBhcnRpdGlvbnMpCisJCXJldHVybiAtRUlOVkFMOworCisJcCA9ICZkLT5kX3BhcnRpdGlvbnNbbl07CisKKwkvKiB3ZSBoYXZlIHRvIHN0YXkgd2l0aGluIHBhcmVudGFsIERPUyBwYXJ0aXRpb24gKi8KKwlpZiAobC0+ZG9zX3BhcnQgJiYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpIHx8CisJCQkgICAgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkpIHsKKworCQlmZGlza19zZWN0b3JfdCBkb3NiZWdpbiA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGwtPmRvc19wYXJ0KTsKKwkJZmRpc2tfc2VjdG9yX3QgZG9zZW5kID0gZG9zYmVnaW4gKyBkb3NfcGFydGl0aW9uX2dldF9zaXplKGwtPmRvc19wYXJ0KSAtIDE7CisJCWZkaXNrX3NlY3Rvcl90IGJlZ2luID0gZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgPyBwYS0+c3RhcnQgOiBwLT5wX29mZnNldDsKKwkJZmRpc2tfc2VjdG9yX3QgZW5kID0gYmVnaW4gKyAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSA/IHBhLT5zaXplIDogcC0+cF9zaXplKSAtIDE7CisKKwkJaWYgKGJlZ2luIDwgZG9zYmVnaW4gfHwgYmVnaW4gPiBkb3NlbmQpCisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJaWYgKGVuZCA8IGRvc2JlZ2luIHx8IGVuZCA+IGRvc2VuZCkKKwkJCXJldHVybiAtRVJBTkdFOworCX0KKworCWlmIChwYS0+dHlwZSkgeworCQlpbnQgcmMgPSBzZXRfcGFydHR5cGUoY3h0LCBuLCBwYS0+dHlwZSk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwl9CisKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpCisJCWQtPmRfcGFydGl0aW9uc1tuXS5wX29mZnNldCA9IHBhLT5zdGFydDsKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkKKwkJZC0+ZF9wYXJ0aXRpb25zW25dLnBfc2l6ZSA9IHBhLT5zaXplOworCisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJcmV0dXJuIDA7Cit9CisKKworLyogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4gKi8KK3N0YXRpYyBpbnQgYnNkX2NyZWF0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmMsIHllcyA9IDA7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIpLCBjeHQtPmRldl9wYXRoKTsKKwlyYyA9IGZkaXNrX2Fza195ZXNubyhjeHQsCisJCQlfKCJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIpLAorCQkJJnllcyk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJaWYgKCF5ZXMpCisJCXJldHVybiAxOworCWlmIChjeHQtPnBhcmVudCkgeworCQlyYyA9IGJzZF9hc3NpZ25fZG9zX3BhcnRpdGlvbihjeHQpOworCQlpZiAocmMgPT0gMSkKKwkJCS8qIG5vdCBmb3VuZCBET1MgcGFydGl0aW9uIHVzYWJsZSBmb3IgQlNEIGxhYmVsICovCisJCQlyYyA9IC1FSU5WQUw7CisJfQorCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJcmMgPSBic2RfaW5pdGxhYmVsKGN4dCk7CisJaWYgKCFyYykgeworCQljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gZC0+ZF9ucGFydGl0aW9uczsKKwkJY3h0LT5sYWJlbC0+bnBhcnRzX21heCA9IEJTRF9NQVhQQVJUSVRJT05TOworCX0KKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBic2RfZGVsZXRlX3BhcnQoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBwYXJ0bnVtKQoreworCXN0cnVjdCBic2RfZGlza2xhYmVsICpkID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCWQtPmRfcGFydGl0aW9uc1twYXJ0bnVtXS5wX3NpemUgICA9IDA7CisJZC0+ZF9wYXJ0aXRpb25zW3BhcnRudW1dLnBfb2Zmc2V0ID0gMDsKKwlkLT5kX3BhcnRpdGlvbnNbcGFydG51bV0ucF9mc3R5cGUgPSBCU0RfRlNfVU5VU0VEOworCisJaWYgKGQtPmRfbnBhcnRpdGlvbnMgPT0gcGFydG51bSArIDEpCisJCXdoaWxlICghZC0+ZF9wYXJ0aXRpb25zW2QtPmRfbnBhcnRpdGlvbnMgLSAxXS5wX3NpemUpCisJCQlkLT5kX25wYXJ0aXRpb25zLS07CisKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gZC0+ZF9ucGFydGl0aW9uczsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBic2RfZ2V0X2Rpc2tsYWJlbF9pdGVtKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW0pCit7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQ7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBCU0QpKTsKKworCWQgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCisJc3dpdGNoIChpdGVtLT5pZCkgeworCWNhc2UgQlNEX0xBQkVMSVRFTV9UWVBFOgorCQlpdGVtLT5uYW1lID0gXygiVHlwZSIpOworCQlpdGVtLT50eXBlID0gJ3MnOworCQlpZiAoKHVuc2lnbmVkKSBkLT5kX3R5cGUgPCBCU0RfREtNQVhUWVBFUykgeworCQkJaXRlbS0+ZGF0YS5zdHIgPSBzdHJkdXAoYnNkX2RrdHlwZW5hbWVzW2QtPmRfdHlwZV0pOworCQkJaWYgKCFpdGVtLT5kYXRhLnN0cikKKwkJCQlyYyA9IC1FTk9NRU07CisJCX0gZWxzZSBpZiAoYXNwcmludGYoJml0ZW0tPmRhdGEuc3RyLCAiJWQiLCBkLT5kX3R5cGUpIDwgMCkKKwkJCXJjID0gLUVOT01FTTsKKwkJYnJlYWs7CisJY2FzZSBCU0RfTEFCRUxJVEVNX0RJU0s6CisJCWl0ZW0tPm5hbWUgPSBfKCJEaXNrIik7CisJCWl0ZW0tPnR5cGUgPSAncyc7CisJCWl0ZW0tPmRhdGEuc3RyID0gc3RybmR1cChkLT5kX3R5cGVuYW1lLCBzaXplb2YoZC0+ZF90eXBlbmFtZSkpOworCQlpZiAoIWl0ZW0tPmRhdGEuc3RyKQorCQkJcmMgPSAtRU5PTUVNOworCQlicmVhazsKKwljYXNlIEJTRF9MQUJFTElURU1fUEFDS05BTUU6CisJCWl0ZW0tPm5hbWUgPSBfKCJQYWNrbmFtZSIpOworCQlpdGVtLT50eXBlID0gJ3MnOworCQlpdGVtLT5kYXRhLnN0ciA9IHN0cm5kdXAoZC0+ZF9wYWNrbmFtZSwgc2l6ZW9mKGQtPmRfcGFja25hbWUpKTsKKwkJaWYgKCFpdGVtLT5kYXRhLnN0cikKKwkJCXJjID0gLUVOT01FTTsKKwkJYnJlYWs7CisJY2FzZSBCU0RfTEFCRUxJVEVNX0ZMQUdTOgorCQlpdGVtLT5uYW1lID0gXygiRmxhZ3MiKTsKKwkJaXRlbS0+dHlwZSA9ICdzJzsKKwkJaXRlbS0+ZGF0YS5zdHIgPSBzdHJkdXAoCisJCQlkLT5kX2ZsYWdzICYgQlNEX0RfUkVNT1ZBQkxFID8gXygiIHJlbW92YWJsZSIpIDoKKwkJCWQtPmRfZmxhZ3MgJiBCU0RfRF9FQ0MgPyBfKCIgZWNjIikgOgorCQkJZC0+ZF9mbGFncyAmIEJTRF9EX0JBRFNFQ1QgPyBfKCIgYmFkc2VjdCIpIDogIiIpOworCQlpZiAoIWl0ZW0tPmRhdGEuc3RyKQorCQkJcmMgPSAtRU5PTUVNOworCQlicmVhazsKKworCS8qIE9uIHZhcmlvdXMgbWFjaGluZXMgdGhlIGZpZWxkcyBvZiAqbHAgYXJlIHNob3J0L2ludC9sb25nICovCisJLyogSW4gb3JkZXIgdG8gYXZvaWQgcHJvYmxlbXMsIHdlIGNhc3QgdGhlbSBhbGwgdWludDY0LiAqLworCWNhc2UgQlNEX0xBQkVMSVRFTV9TRUNTSVpFOgorCQlpdGVtLT5uYW1lID0gXygiQnl0ZXMvU2VjdG9yIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSAodWludDY0X3QpIGQtPmRfc2Vjc2l6ZTsKKwkJYnJlYWs7CisJY2FzZSBCU0RfTEFCRUxJVEVNX05UUkFDS1M6CisJCWl0ZW0tPm5hbWUgPSBfKCJUcmFja3MvQ3lsaW5kZXIiKTsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF9udHJhY2tzOworCQlicmVhazsKKwljYXNlIEJTRF9MQUJFTElURU1fU0VDUEVSQ1lMOgorCQlpdGVtLT5uYW1lID0gXygiU2VjdG9ycy9DeWxpbmRlciIpOworCQlpdGVtLT5kYXRhLm51bTY0ID0gKHVpbnQ2NF90KSBkLT5kX3NlY3BlcmN5bDsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJYnJlYWs7CisJY2FzZSBCU0RfTEFCRUxJVEVNX0NZTElOREVSUzoKKwkJaXRlbS0+bmFtZSA9IF8oIkN5bGluZGVycyIpOworCQlpdGVtLT5kYXRhLm51bTY0ID0gKHVpbnQ2NF90KSBkLT5kX25jeWxpbmRlcnM7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWJyZWFrOworCWNhc2UgQlNEX0xBQkVMSVRFTV9SUE06CisJCWl0ZW0tPm5hbWUgPSBfKCJScG0iKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF9ycG07CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWJyZWFrOworCWNhc2UgQlNEX0xBQkVMSVRFTV9JTlRFUkxFQVZFOgorCQlpdGVtLT5uYW1lID0gXygiSW50ZXJsZWF2ZSIpOworCQlpdGVtLT5kYXRhLm51bTY0ID0gKHVpbnQ2NF90KSBkLT5kX2ludGVybGVhdmU7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWJyZWFrOworCWNhc2UgQlNEX0xBQkVMSVRFTV9UUkFDS1NLRVc6CisJCWl0ZW0tPm5hbWUgPSBfKCJUcmFja3NrZXciKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF90cmFja3NrZXc7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWJyZWFrOworCWNhc2UgQlNEX0xBQkVMSVRFTV9DWUxJTkRFUlNLRVc6CisJCWl0ZW0tPm5hbWUgPSBfKCJDeWxpbmRlcnNrZXciKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF9jeWxza2V3OworCQlpdGVtLT50eXBlID0gJ2onOworCQlicmVhazsKKwljYXNlIEJTRF9MQUJFTElURU1fSEVBRFNXSVRDSDoKKwkJaXRlbS0+bmFtZSA9IF8oIkhlYWRzd2l0Y2giKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF9oZWFkc3dpdGNoOworCQlpdGVtLT50eXBlID0gJ2onOworCQlicmVhazsKKwljYXNlIEJTRF9MQUJFTElURU1fVFJLU0VFSzoKKwkJaXRlbS0+bmFtZSA9IF8oIlRyYWNrLXRvLXRyYWNrIHNlZWsiKTsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgZC0+ZF90cmtzZWVrOworCQlpdGVtLT50eXBlID0gJ2onOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoaXRlbS0+aWQgPCBfX0ZESVNLX05MQUJFTElURU1TKQorCQkJcmMgPSAxOwkvKiB1bnN1cHBvcnRlZCBnZW5lcmljIGl0ZW0gKi8KKwkJZWxzZQorCQkJcmMgPSAyOwkvKiBvdXQgb2YgcmFuZ2UgKi8KKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGJzZF9nZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgQlNEKSk7CisKKwlpZiAobiA+PSBkLT5kX25wYXJ0aXRpb25zKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXAgPSAmZC0+ZF9wYXJ0aXRpb25zW25dOworCisJcGEtPnVzZWQgPSBwLT5wX3NpemUgPyAxIDogMDsKKwlpZiAoIXBhLT51c2VkKQorCQlyZXR1cm4gMDsKKworCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkgJiYgZC0+ZF9zZWNwZXJjeWwpIHsKKwkJcGEtPnN0YXJ0X3Bvc3QgPSBwLT5wX29mZnNldCAlIGQtPmRfc2VjcGVyY3lsID8gJyonIDogJyAnOworCQlwYS0+ZW5kX3Bvc3QgPSAocC0+cF9vZmZzZXQgKyBwLT5wX3NpemUpICUgZC0+ZF9zZWNwZXJjeWwgPyAnKicgOiAnICc7CisJfQorCisJcGEtPnN0YXJ0ID0gcC0+cF9vZmZzZXQ7CisJcGEtPnNpemUgPSBwLT5wX3NpemU7CisJcGEtPnR5cGUgPSBic2RfcGFydGl0aW9uX3BhcnR0eXBlKGN4dCwgcCk7CisKKwlpZiAocC0+cF9mc3R5cGUgPT0gQlNEX0ZTX1VOVVNFRCB8fCBwLT5wX2ZzdHlwZSA9PSBCU0RfRlNfQlNERkZTKSB7CisJCXBhLT5mc2l6ZSA9IHAtPnBfZnNpemU7CisJCXBhLT5ic2l6ZSA9IHAtPnBfZnNpemUgKiBwLT5wX2ZyYWc7CisJfQorCWlmIChwLT5wX2ZzdHlwZSA9PSBCU0RfRlNfQlNERkZTKQorCQlwYS0+Y3BnID0gcC0+cF9jcGc7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHVpbnQzMl90IGFza191aW50MzIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJdWludDMyX3QgZGZsdCwgY2hhciAqbWVzZykKK3sKKwl1aW50bWF4X3QgcmVzOworCisJaWYgKGZkaXNrX2Fza19udW1iZXIoY3h0LCBtaW4oZGZsdCwgKHVpbnQzMl90KSAxKSwgZGZsdCwKKwkJCQlVSU5UMzJfTUFYLCBtZXNnLCAmcmVzKSA9PSAwKQorCQlyZXR1cm4gcmVzOworCXJldHVybiBkZmx0OworfQorCitzdGF0aWMgdWludDE2X3QgYXNrX3VpbnQxNihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQl1aW50MTZfdCBkZmx0LCBjaGFyICptZXNnKQoreworCXVpbnRtYXhfdCByZXM7CisKKwlpZiAoZmRpc2tfYXNrX251bWJlcihjeHQsIG1pbihkZmx0LCAodWludDE2X3QpIDEpLAorCQkJCWRmbHQsIFVJTlQxNl9NQVgsIG1lc2csICZyZXMpID09IDApCisJCXJldHVybiByZXM7CisJcmV0dXJuIGRmbHQ7Cit9CisKKy8qKgorICogZmRpc2tfYnNkX2VkaXRfZGlza2xhYmVsOgorICogQGN4dDogY29udGV4dAorICoKKyAqIEVkaXRzIGZpZWxkcyBpbiBCU0QgZGlzayBsYWJlbC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19ic2RfZWRpdF9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJdWludG1heF90IHJlczsKKworI2lmIGRlZmluZWQgKF9fYWxwaGFfXykgfHwgZGVmaW5lZCAoX19pYTY0X18pCisJaWYgKGZkaXNrX2Fza19udW1iZXIoY3h0LCBERUZBVUxUX1NFQ1RPUl9TSVpFLCBkLT5kX3NlY3NpemUsCisJCQkgICAgIFVJTlQzMl9NQVgsIF8oImJ5dGVzL3NlY3RvciIpLCAmcmVzKSA9PSAwKQorCQlkLT5kX3NlY3NpemUgPSByZXM7CisKKwlkLT5kX25zZWN0b3JzID0gYXNrX3VpbnQzMihjeHQsIGQtPmRfbnNlY3RvcnMsIF8oInNlY3RvcnMvdHJhY2siKSk7CisJZC0+ZF9udHJhY2tzID0gYXNrX3VpbnQzMihjeHQsIGQtPmRfbnRyYWNrcywgXygidHJhY2tzL2N5bGluZGVyIikpOworCWQtPmRfbmN5bGluZGVycyA9IGFza191aW50MzIoY3h0LCBkLT5kX25jeWxpbmRlcnMgICxfKCJjeWxpbmRlcnMiKSk7CisjZW5kaWYKKwlpZiAoZmRpc2tfYXNrX251bWJlcihjeHQsIDEsIGQtPmRfbnNlY3RvcnMgKiBkLT5kX250cmFja3MsCisJCQkgICAgIGQtPmRfbnNlY3RvcnMgKiBkLT5kX250cmFja3MsCisJCQkgICAgIF8oInNlY3RvcnMvY3lsaW5kZXIiKSwgJnJlcykgPT0gMCkKKwkJZC0+ZF9zZWNwZXJjeWwgPSByZXM7CisKKwlkLT5kX3JwbSA9IGFza191aW50MTYoY3h0LCBkLT5kX3JwbSwgXygicnBtIikpOworCWQtPmRfaW50ZXJsZWF2ZSA9IGFza191aW50MTYoY3h0LCBkLT5kX2ludGVybGVhdmUsIF8oImludGVybGVhdmUiKSk7CisJZC0+ZF90cmFja3NrZXcgPSBhc2tfdWludDE2KGN4dCwgZC0+ZF90cmFja3NrZXcsIF8oInRyYWNrc2tldyIpKTsKKwlkLT5kX2N5bHNrZXcgPSBhc2tfdWludDE2KGN4dCwgZC0+ZF9jeWxza2V3LCBfKCJjeWxpbmRlcnNrZXciKSk7CisKKwlkLT5kX2hlYWRzd2l0Y2ggPSBhc2tfdWludDMyKGN4dCwgZC0+ZF9oZWFkc3dpdGNoLCBfKCJoZWFkc3dpdGNoIikpOworCWQtPmRfdHJrc2VlayA9IGFza191aW50MzIoY3h0LCBkLT5kX3Rya3NlZWssIF8oInRyYWNrLXRvLXRyYWNrIHNlZWsiKSk7CisKKwlkLT5kX3NlY3BlcnVuaXQgPSBkLT5kX3NlY3BlcmN5bCAqIGQtPmRfbmN5bGluZGVyczsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBic2RfZ2V0X2Jvb3RzdHJhcChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJY2hhciAqcGF0aCwgdm9pZCAqcHRyLCBpbnQgc2l6ZSkKK3sKKwlpbnQgZmQ7CisKKwlpZiAoKGZkID0gb3BlbihwYXRoLCBPX1JET05MWSkpIDwgMCkgeworCQlmZGlza193YXJuKGN4dCwgXygiY2Fubm90IG9wZW4gJXMiKSwgcGF0aCk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJaWYgKHJlYWRfYWxsKGZkLCBwdHIsIHNpemUpICE9IHNpemUpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImNhbm5vdCByZWFkICVzIiksIHBhdGgpOworCQljbG9zZShmZCk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIpLCBwYXRoKTsKKwljbG9zZSAoZmQpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2JzZF93cml0ZV9ib290c3RyYXA6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogSW5zdGFsbCBib290c3RyYXAgZmlsZSB0byB0aGUgQlNEIGRldmljZQorICovCitpbnQgZmRpc2tfYnNkX3dyaXRlX2Jvb3RzdHJhcChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBic2RfZGlza2xhYmVsIGRsLCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc3RydWN0IGZkaXNrX2JzZF9sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwljaGFyICpuYW1lID0gZC0+ZF90eXBlID09IEJTRF9EVFlQRV9TQ1NJID8gInNkIiA6ICJ3ZCI7CisJY2hhciBidWZbQlVGU0laXTsKKwljaGFyICpyZXMsICpkcCwgKnA7CisJaW50IHJjOworCWZkaXNrX3NlY3Rvcl90IHNlY3RvcjsKKworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksCisJCV8oIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiKSwKKwkJbmFtZSk7CisJcmMgPSBmZGlza19hc2tfc3RyaW5nKGN4dCwgYnVmLCAmcmVzKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKwlpZiAocmVzICYmICpyZXMpCisJCW5hbWUgPSByZXM7CisKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMvJXNib290IiwgQlNEX0xJTlVYX0JPT1RESVIsIG5hbWUpOworCXJjID0gYnNkX2dldF9ib290c3RyYXAoY3h0LCBidWYsIGwtPmJzZGJ1ZmZlciwJKGludCkgZC0+ZF9zZWNzaXplKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCS8qIFdlIG5lZWQgYSBiYWNrdXAgb2YgdGhlIGRpc2tsYWJlbCAobWlnaHQgaGF2ZSBjaGFuZ2VkKS4gKi8KKwlkcCA9ICZsLT5ic2RidWZmZXJbQlNEX0xBQkVMU0VDVE9SICogREVGQVVMVF9TRUNUT1JfU0laRV07CisJbWVtbW92ZSgmZGwsIGRwLCBzaXplb2Yoc3RydWN0IGJzZF9kaXNrbGFiZWwpKTsKKworCS8qIFRoZSBkaXNrbGFiZWwgd2lsbCBiZSBvdmVyd3JpdHRlbiBieSAwJ3MgZnJvbSBib290eHggYW55d2F5ICovCisJbWVtc2V0KGRwLCAwLCBzaXplb2Yoc3RydWN0IGJzZF9kaXNrbGFiZWwpKTsKKworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcy9ib290JXMiLCBCU0RfTElOVVhfQk9PVERJUiwgbmFtZSk7CisJcmMgPSBic2RfZ2V0X2Jvb3RzdHJhcChjeHQsIGJ1ZiwKKwkJCSZsLT5ic2RidWZmZXJbZC0+ZF9zZWNzaXplXSwKKwkJCShpbnQpIGQtPmRfYmJzaXplIC0gZC0+ZF9zZWNzaXplKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCS8qIGNoZWNrIGVuZCBvZiB0aGUgYm9vdHN0cmFwICovCisJZm9yIChwID0gZHA7IHAgPCBkcCArIHNpemVvZihzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCk7IHArKykgeworCQlpZiAoISpwKQorCQkJY29udGludWU7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyogbW92ZSBkaXNrbGFiZWwgYmFjayAqLworCW1lbW1vdmUoZHAsICZkbCwgc2l6ZW9mKHN0cnVjdCBic2RfZGlza2xhYmVsKSk7CisKKwlzZWN0b3IgPSAwOworCWlmIChsLT5kb3NfcGFydCkKKwkJc2VjdG9yID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQobC0+ZG9zX3BhcnQpOworI2lmIGRlZmluZWQgKF9fYWxwaGFfXykKKwlhbHBoYV9ib290YmxvY2tfY2hlY2tzdW0obC0+YnNkYnVmZmVyKTsKKyNlbmRpZgorCWlmIChsc2VlayhjeHQtPmRldl9mZCwgKG9mZl90KSBzZWN0b3IgKiBERUZBVUxUX1NFQ1RPUl9TSVpFLCBTRUVLX1NFVCkgPT0gLTEpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGN4dC0+ZGV2X3BhdGgpOworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKwlpZiAod3JpdGVfYWxsKGN4dC0+ZGV2X2ZkLCBsLT5ic2RidWZmZXIsIEJTRF9CQlNJWkUpKSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJjYW5ub3Qgd3JpdGUgJXMiKSwgY3h0LT5kZXZfcGF0aCk7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCisJZmRpc2tfaW5mbyhjeHQsIF8oIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIiksIGN4dC0+ZGV2X3BhdGgpOworCXN5bmNfZGlza3MoY3h0KTsKKworCXJjID0gMDsKK2RvbmU6CisJZnJlZShyZXMpOworCXJldHVybiByYzsKK30KKworc3RhdGljIHVuc2lnbmVkIHNob3J0IGJzZF9ka2Nrc3VtIChzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqbHApCit7CisJdW5zaWduZWQgc2hvcnQgKnN0YXJ0LCAqZW5kOworCXVuc2lnbmVkIHNob3J0IHN1bSA9IDA7CisKKwlzdGFydCA9ICh1bnNpZ25lZCBzaG9ydCAqKSBscDsKKwllbmQgPSAodW5zaWduZWQgc2hvcnQgKikgJmxwLT5kX3BhcnRpdGlvbnNbbHAtPmRfbnBhcnRpdGlvbnNdOworCXdoaWxlIChzdGFydCA8IGVuZCkKKwkJc3VtIF49ICpzdGFydCsrOworCXJldHVybiBzdW07Cit9CisKK3N0YXRpYyBpbnQgYnNkX2luaXRsYWJlbCAoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfYnNkX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCXN0cnVjdCBic2RfZGlza2xhYmVsICpkID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlzdHJ1Y3QgYnNkX3BhcnRpdGlvbiAqcHA7CisKKwltZW1zZXQgKGQsIDAsIHNpemVvZiAoc3RydWN0IGJzZF9kaXNrbGFiZWwpKTsKKworCWQgLT4gZF9tYWdpYyA9IEJTRF9ESVNLTUFHSUM7CisKKwlpZiAoc3RybmNtcCAoY3h0LT5kZXZfcGF0aCwgIi9kZXYvc2QiLCA3KSA9PSAwKQorCQlkIC0+IGRfdHlwZSA9IEJTRF9EVFlQRV9TQ1NJOworCWVsc2UKKwkJZCAtPiBkX3R5cGUgPSBCU0RfRFRZUEVfU1Q1MDY7CisKKyNpZiAhZGVmaW5lZCAoX19hbHBoYV9fKQorCWQgLT4gZF9mbGFncyA9IEJTRF9EX0RPU1BBUlQ7CisjZWxzZQorCWQgLT4gZF9mbGFncyA9IDA7CisjZW5kaWYKKwlkIC0+IGRfc2Vjc2l6ZSA9IERFRkFVTFRfU0VDVE9SX1NJWkU7CQkvKiBieXRlcy9zZWN0b3IgICovCisJZCAtPiBkX25zZWN0b3JzID0gY3h0LT5nZW9tLnNlY3RvcnM7CQkvKiBzZWN0b3JzL3RyYWNrICovCisJZCAtPiBkX250cmFja3MgPSBjeHQtPmdlb20uaGVhZHM7CQkvKiB0cmFja3MvY3lsaW5kZXIgKGhlYWRzKSAqLworCWQgLT4gZF9uY3lsaW5kZXJzID0gY3h0LT5nZW9tLmN5bGluZGVyczsKKwlkIC0+IGRfc2VjcGVyY3lsICA9IGN4dC0+Z2VvbS5zZWN0b3JzICogY3h0LT5nZW9tLmhlYWRzOy8qIHNlY3RvcnMvY3lsaW5kZXIgKi8KKwlpZiAoZCAtPiBkX3NlY3BlcmN5bCA9PSAwKQorCQlkIC0+IGRfc2VjcGVyY3lsID0gMTsJCS8qIGF2b2lkIHNlZ2ZhdWx0cyAqLworCWQgLT4gZF9zZWNwZXJ1bml0ID0gZCAtPiBkX3NlY3BlcmN5bCAqIGQgLT4gZF9uY3lsaW5kZXJzOworCisJZCAtPiBkX3JwbSA9IDM2MDA7CisJZCAtPiBkX2ludGVybGVhdmUgPSAxOworCWQgLT4gZF90cmFja3NrZXcgPSAwOworCWQgLT4gZF9jeWxza2V3ID0gMDsKKwlkIC0+IGRfaGVhZHN3aXRjaCA9IDA7CisJZCAtPiBkX3Rya3NlZWsgPSAwOworCisJZCAtPiBkX21hZ2ljMiA9IEJTRF9ESVNLTUFHSUM7CisJZCAtPiBkX2Jic2l6ZSA9IEJTRF9CQlNJWkU7CisJZCAtPiBkX3Nic2l6ZSA9IEJTRF9TQlNJWkU7CisKKwlpZiAobC0+ZG9zX3BhcnQpIHsKKwkJZC0+ZF9ucGFydGl0aW9ucyA9IDQ7CisKKwkJcHAgPSAmZC0+ZF9wYXJ0aXRpb25zWzJdOwkvKiBQYXJ0aXRpb24gQyBzaG91bGQgYmUgdGhlIE5ldEJTRCBwYXJ0aXRpb24gKi8KKwkJcHAtPnBfb2Zmc2V0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQobC0+ZG9zX3BhcnQpOworCQlwcC0+cF9zaXplICAgPSBkb3NfcGFydGl0aW9uX2dldF9zaXplKGwtPmRvc19wYXJ0KTsKKwkJcHAtPnBfZnN0eXBlID0gQlNEX0ZTX1VOVVNFRDsKKworCQlwcCA9ICZkIC0+IGRfcGFydGl0aW9uc1szXTsJLyogUGFydGl0aW9uIEQgc2hvdWxkIGJlIHRoZSB3aG9sZSBkaXNrICovCisJCXBwLT5wX29mZnNldCA9IDA7CisJCXBwLT5wX3NpemUgICA9IGQtPmRfc2VjcGVydW5pdDsKKwkJcHAtPnBfZnN0eXBlID0gQlNEX0ZTX1VOVVNFRDsKKwl9IGVsc2UgeworCQlkLT5kX25wYXJ0aXRpb25zID0gMzsKKworCQlwcCA9ICZkLT5kX3BhcnRpdGlvbnNbMl07CS8qIFBhcnRpdGlvbiBDIHNob3VsZCBiZSB0aGUgd2hvbGUgZGlzayAqLworCQlwcC0+cF9vZmZzZXQgPSAwOworCQlwcC0+cF9zaXplICAgPSBkLT5kX3NlY3BlcnVuaXQ7CisJCXBwLT5wX2ZzdHlwZSA9IEJTRF9GU19VTlVTRUQ7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZWFkIGEgYnNkX2Rpc2tsYWJlbCBmcm9tIHNlY3RvciAwIG9yIGZyb20gdGhlIHN0YXJ0aW5nIHNlY3RvciBvZiBwLgorICogSWYgaXQgaGFzIHRoZSByaWdodCBtYWdpYywgcmV0dXJuIDAuCisgKi8KK3N0YXRpYyBpbnQgYnNkX3JlYWRsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19ic2RfbGFiZWwgKmw7CisJc3RydWN0IGJzZF9kaXNrbGFiZWwgKmQ7CisJaW50IHQ7CisJb2ZmX3Qgb2Zmc2V0ID0gMDsKKworCWwgPSBzZWxmX2xhYmVsKGN4dCk7CisJZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlpZiAobC0+ZG9zX3BhcnQpCisJCS8qIEJTRCBpcyBuZXN0ZWQgd2l0aGluIERPUyBwYXJ0aXRpb24sIGdldCB0aGUgYmVnaW4gb2YgdGhlCisJCSAqIHBhcnRpdGlvbi4gTm90ZSB0aGF0IERPUyB1c2VzIG5hdGl2ZSBzZWN0b3Igc2l6ZS4gKi8KKwkJb2Zmc2V0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQobC0+ZG9zX3BhcnQpICogY3h0LT5zZWN0b3Jfc2l6ZTsKKworCWlmIChsc2VlayhjeHQtPmRldl9mZCwgb2Zmc2V0LCBTRUVLX1NFVCkgPT0gLTEpCisJCXJldHVybiAtMTsKKwlpZiAocmVhZF9hbGwoY3h0LT5kZXZfZmQsIGwtPmJzZGJ1ZmZlciwgc2l6ZW9mKGwtPmJzZGJ1ZmZlcikpIDwgMCkKKwkJcmV0dXJuIGVycm5vID8gLWVycm5vIDogLTE7CisKKwkvKiBUaGUgb2Zmc2V0IHRvIGJlZ2luIG9mIHRoZSBkaXNrIGxhYmVsLiBOb3RlIHRoYXQgQlNEIHVzZXMKKwkgKiA1MTItYnl0ZSAoZGVmYXVsdCkgc2VjdG9ycy4gKi8KKwltZW1tb3ZlKGQsICZsLT5ic2RidWZmZXJbQlNEX0xBQkVMU0VDVE9SICogREVGQVVMVF9TRUNUT1JfU0laRQorCQkJICAgICAgKyBCU0RfTEFCRUxPRkZTRVRdLCBzaXplb2YoKmQpKTsKKworCWlmIChkLT5kX21hZ2ljICE9IEJTRF9ESVNLTUFHSUMgfHwgZC0+ZF9tYWdpYzIgIT0gQlNEX0RJU0tNQUdJQykgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJub3QgZm91bmQgbWFnaWMiKSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlmb3IgKHQgPSBkLT5kX25wYXJ0aXRpb25zOyB0IDwgQlNEX01BWFBBUlRJVElPTlM7IHQrKykgeworCQlkLT5kX3BhcnRpdGlvbnNbdF0ucF9zaXplICAgPSAwOworCQlkLT5kX3BhcnRpdGlvbnNbdF0ucF9vZmZzZXQgPSAwOworCQlkLT5kX3BhcnRpdGlvbnNbdF0ucF9mc3R5cGUgPSBCU0RfRlNfVU5VU0VEOworCX0KKworCWlmIChkLT5kX25wYXJ0aXRpb25zID4gQlNEX01BWFBBUlRJVElPTlMpCisJCWZkaXNrX3dhcm54KGN4dCwgKCJUb28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuIiksCisJCQkJZC0+ZF9ucGFydGl0aW9ucywgQlNEX01BWFBBUlRJVElPTlMpOworCisJLyogbGV0J3MgZm9sbG93IGluLVBUIGdlb21ldHJ5ICovCisJY3h0LT5nZW9tLnNlY3RvcnMgPSBkLT5kX25zZWN0b3JzOworCWN4dC0+Z2VvbS5oZWFkcyA9IGQtPmRfbnRyYWNrczsKKwljeHQtPmdlb20uY3lsaW5kZXJzID0gZC0+ZF9uY3lsaW5kZXJzOworCisJaWYgKGZkaXNrX2hhc191c2VyX2RldmljZV9nZW9tZXRyeShjeHQpKQorCQlmZGlza19hcHBseV91c2VyX2RldmljZV9wcm9wZXJ0aWVzKGN4dCk7CisKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gZC0+ZF9ucGFydGl0aW9uczsKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gQlNEX01BWFBBUlRJVElPTlM7CisJREJHKExBQkVMLCB1bF9kZWJ1ZygicmVhZCBCU0QgbGFiZWwiKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYnNkX3dyaXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCW9mZl90IG9mZnNldCA9IDA7CisJc3RydWN0IGZkaXNrX2JzZF9sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKworCWlmIChsLT5kb3NfcGFydCkKKwkJb2Zmc2V0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQobC0+ZG9zX3BhcnQpICogY3h0LT5zZWN0b3Jfc2l6ZTsKKworCWQtPmRfY2hlY2tzdW0gPSAwOworCWQtPmRfY2hlY2tzdW0gPSBic2RfZGtja3N1bShkKTsKKworCS8qIFVwZGF0ZSBsYWJlbCB3aXRoaW4gYm9vdCBibG9jay4gKi8KKwltZW1tb3ZlKCZsLT5ic2RidWZmZXJbQlNEX0xBQkVMU0VDVE9SICogREVGQVVMVF9TRUNUT1JfU0laRQorCQkJICAgKyBCU0RfTEFCRUxPRkZTRVRdLCBkLCBzaXplb2YoKmQpKTsKKworI2lmIGRlZmluZWQgKF9fYWxwaGFfXykgJiYgQlNEX0xBQkVMU0VDVE9SID09IDAKKwkvKiBXcml0ZSB0aGUgY2hlY2tzdW0gdG8gdGhlIGVuZCBvZiB0aGUgZmlyc3Qgc2VjdG9yLiAqLworCWFscGhhX2Jvb3RibG9ja19jaGVja3N1bShsLT5ic2RidWZmZXIpOworI2VuZGlmCisJaWYgKGxzZWVrKGN4dC0+ZGV2X2ZkLCBvZmZzZXQsIFNFRUtfU0VUKSA9PSAtMSkgeworCQlmZGlza193YXJuKGN4dCwgXygic2VlayBvbiAlcyBmYWlsZWQiKSwgY3h0LT5kZXZfcGF0aCk7CisJCXJldHVybiAtZXJybm87CisJfQorCWlmICh3cml0ZV9hbGwoY3h0LT5kZXZfZmQsIGwtPmJzZGJ1ZmZlciwgc2l6ZW9mKGwtPmJzZGJ1ZmZlcikpKSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJjYW5ub3Qgd3JpdGUgJXMiKSwgY3h0LT5kZXZfcGF0aCk7CisJCXJldHVybiAtZXJybm87CisJfQorCXN5bmNfZGlza3MoY3h0KTsKKworCWlmIChjeHQtPnBhcmVudCAmJiBmZGlza19sYWJlbF9pc19jaGFuZ2VkKGN4dC0+cGFyZW50LT5sYWJlbCkpCisJCWZkaXNrX2luZm8oY3h0LCBfKCJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIpLAorCQkJCWN4dC0+ZGV2X3BhdGgsIGN4dC0+cGFyZW50LT5kZXZfcGF0aCk7CisJZWxzZQorCQlmZGlza19pbmZvKGN4dCwgXygiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIiksIGN4dC0+ZGV2X3BhdGgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBzeW5jX2Rpc2tzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJZmRpc2tfaW5mbyhjeHQsIF8oIlN5bmNpbmcgZGlza3MuIikpOworCXN5bmMoKTsKK30KKworc3RhdGljIGludCBic2RfdHJhbnNsYXRlX2ZzdHlwZSAoaW50IGxpbnV4X3R5cGUpCit7CisJc3dpdGNoIChsaW51eF90eXBlKSB7CisJY2FzZSAweDAxOiAvKiBET1MgMTItYml0IEZBVCAgICovCisJY2FzZSAweDA0OiAvKiBET1MgMTYtYml0IDwzMk0gICovCisJY2FzZSAweDA2OiAvKiBET1MgMTYtYml0ID49MzJNICovCisJY2FzZSAweGUxOiAvKiBET1MgYWNjZXNzICAgICAgICovCisJY2FzZSAweGUzOiAvKiBET1MgUi9PICAgICAgICAgICovCisjaWYgIWRlZmluZWQgKF9fYWxwaGFfXykKKwljYXNlIDB4ZjI6IC8qIERPUyBzZWNvbmRhcnkgICAgKi8KKwkJcmV0dXJuIEJTRF9GU19NU0RPUzsKKyNlbmRpZgorCWNhc2UgMHgwNzogLyogT1MvMiBIUEZTICAgICAgICAqLworCQlyZXR1cm4gQlNEX0ZTX0hQRlM7CisJZGVmYXVsdDoKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIEJTRF9GU19PVEhFUjsKK30KKworLyoqCisgKiBmZGlza19ic2RfbGlua19wYXJ0aXRpb246CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogTGlua3MgcGFydGl0aW9uIGZyb20gcGFyZW50IChET1MpIHRvIG5lc3RlZCBCU0QgcGFydGl0aW9uIHRhYmxlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX2JzZF9saW5rX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXNpemVfdCBrLCBpOworCWludCByYzsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgYnNkX2Rpc2tsYWJlbCAqZCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlpZiAoIWN4dC0+cGFyZW50IHx8ICFmZGlza19pc19sYWJlbChjeHQtPnBhcmVudCwgRE9TKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIikpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiBhc2sgZm9yIERPUyBwYXJ0aXRpb24gKi8KKwlyYyA9IGZkaXNrX2Fza19wYXJ0bnVtKGN4dC0+cGFyZW50LCAmaywgRkFMU0UpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCS8qIGFzayBmb3IgQlNEIHBhcnRpdGlvbiAqLworCXJjID0gZmRpc2tfYXNrX3BhcnRudW0oY3h0LCAmaSwgVFJVRSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlpZiAoaSA+PSBCU0RfTUFYUEFSVElUSU9OUykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwID0gZmRpc2tfZG9zX2dldF9wYXJ0aXRpb24oY3h0LT5wYXJlbnQsIGspOworCisJZC0+ZF9wYXJ0aXRpb25zW2ldLnBfc2l6ZSAgID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKTsKKwlkLT5kX3BhcnRpdGlvbnNbaV0ucF9vZmZzZXQgPSBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKTsKKwlkLT5kX3BhcnRpdGlvbnNbaV0ucF9mc3R5cGUgPSBic2RfdHJhbnNsYXRlX2ZzdHlwZShwLT5zeXNfaW5kKTsKKworCWlmIChpID49IGQtPmRfbnBhcnRpdGlvbnMpCisJCWQtPmRfbnBhcnRpdGlvbnMgPSBpICsgMTsKKworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSBkLT5kX25wYXJ0aXRpb25zOworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIiksCisJCQknYScgKyAoaW50KSBpLCBrICsgMSk7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBic2RfcGFydGl0aW9uX2lzX3VzZWQoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBwYXJ0bnVtKQoreworCXN0cnVjdCBic2RfZGlza2xhYmVsICpkID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCWlmIChwYXJ0bnVtID49IEJTRF9NQVhQQVJUSVRJT05TKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBkLT5kX3BhcnRpdGlvbnNbcGFydG51bV0ucF9zaXplID8gMSA6IDA7Cit9CisKKworc3RhdGljIGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbF9vcGVyYXRpb25zIGJzZF9vcGVyYXRpb25zID0KK3sKKwkucHJvYmUJCT0gYnNkX3Byb2JlX2xhYmVsLAorCS5nZXRfaXRlbQk9IGJzZF9nZXRfZGlza2xhYmVsX2l0ZW0sCisJLndyaXRlCQk9IGJzZF93cml0ZV9kaXNrbGFiZWwsCisJLmNyZWF0ZQkJPSBic2RfY3JlYXRlX2Rpc2tsYWJlbCwKKworCS5kZWxfcGFydAk9IGJzZF9kZWxldGVfcGFydCwKKwkuZ2V0X3BhcnQJPSBic2RfZ2V0X3BhcnRpdGlvbiwKKwkuc2V0X3BhcnQJPSBic2Rfc2V0X3BhcnRpdGlvbiwKKwkuYWRkX3BhcnQJPSBic2RfYWRkX3BhcnRpdGlvbiwKKworCS5wYXJ0X2lzX3VzZWQgICA9IGJzZF9wYXJ0aXRpb25faXNfdXNlZCwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgYnNkX2ZpZWxkc1tdID0KK3sKKwl7IEZESVNLX0ZJRUxEX0RFVklDRSwJTl8oIlNsaWNlIiksCSAgMSwJMCB9LAorCXsgRkRJU0tfRklFTERfU1RBUlQsCU5fKCJTdGFydCIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9FTkQsCU5fKCJFbmQiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfU0VDVE9SUywJTl8oIlNlY3RvcnMiKSwgICAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX0NZTElOREVSUyxOXygiQ3lsaW5kZXJzIiksICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfU0laRSwJTl8oIlNpemUiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfVFlQRSwJTl8oIlR5cGUiKSwJICA4LAkwIH0sCisJeyBGRElTS19GSUVMRF9GU0laRSwJTl8oIkZzaXplIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX0JTSVpFLAlOXygiQnNpemUiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfQ1BHLAlOXygiQ3BnIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfQorfTsKKworLyoKKyAqIGFsbG9jYXRlcyBCU0QgbGFiZWwgZHJpdmVyCisgKi8KK3N0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X2JzZF9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0IF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKwlzdHJ1Y3QgZmRpc2tfYnNkX2xhYmVsICpic2Q7CisKKwlic2QgPSBjYWxsb2MoMSwgc2l6ZW9mKCpic2QpKTsKKwlpZiAoIWJzZCkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBpbml0aWFsaXplIGdlbmVyaWMgcGFydCBvZiB0aGUgZHJpdmVyICovCisJbGIgPSAoc3RydWN0IGZkaXNrX2xhYmVsICopIGJzZDsKKwlsYi0+bmFtZSA9ICJic2QiOworCWxiLT5pZCA9IEZESVNLX0RJU0tMQUJFTF9CU0Q7CisJbGItPm9wID0gJmJzZF9vcGVyYXRpb25zOworCWxiLT5wYXJ0dHlwZXMgPSBic2RfZnN0eXBlczsKKwlsYi0+bnBhcnR0eXBlcyA9IEFSUkFZX1NJWkUoYnNkX2ZzdHlwZXMpIC0gMTsKKworCWxiLT5maWVsZHMgPSBic2RfZmllbGRzOworCWxiLT5uZmllbGRzID0gQVJSQVlfU0laRShic2RfZmllbGRzKTsKKworCWxiLT5mbGFncyB8PSBGRElTS19MQUJFTF9GTF9JTkNIQVJTX1BBUlROTzsKKwlsYi0+ZmxhZ3MgfD0gRkRJU0tfTEFCRUxfRkxfUkVRVUlSRV9HRU9NRVRSWTsKKworCXJldHVybiBsYjsKK30KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9jb250ZXh0LmMgYi9saWJmZGlzay9zcmMvY29udGV4dC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3OWE5YTgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvY29udGV4dC5jCkBAIC0wLDAgKzEsMTM5MiBAQAorI2lmZGVmIEhBVkVfTElCQkxLSUQKKyMgaW5jbHVkZSA8YmxraWQuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaWZkZWYgX19saW51eF9fCisjIGluY2x1ZGUgInBhcnR4LmgiCisjZW5kaWYKKyNpbmNsdWRlICJsb29wZGV2LmgiCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKworLyoqCisgKiBTRUNUSU9OOiBjb250ZXh0CisgKiBAdGl0bGU6IENvbnRleHQKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogc3RvcmVzIGluZm8gYWJvdXQgZGV2aWNlLCBsYWJlbHMgZXRjLgorICoKKyAqIFRoZSBsaWJyYXJ5IGRpc3Rpbmd1aXNoIGJldHdlZW4gdGhyZWUgdHlwZXMgb2YgcGFydGl0aW9uaW5nIG9iamVjdHMuCisgKgorICogb24tZGlzayBkYXRhCisgKiAgICAtIGRpc2sgbGFiZWwgc3BlY2lmaWMKKyAqICAgIC0gcHJvYmVkIGFuZCByZWFkICBieSBkaXNrbGFiZWwgZHJpdmVycyB3aGVuIGFzc2lnbiBkZXZpY2UgdG8gdGhlIGNvbnRleHQKKyAqICAgICAgb3Igd2hlbiBzd2l0Y2ggdG8gYW5vdGhlciBkaXNrIGxhYmVsIHR5cGUKKyAqICAgIC0gb25seSBmZGlza193cml0ZV9kaXNrbGFiZWwoKSBtb2RpZnkgb24tZGlzayBkYXRhCisgKgorICogaW4tbWVtb3J5IGRhdGEKKyAqICAgIC0gZ2VuZXJpYyBkYXRhIGFuZCBkaXNrbGFiZWwgc3BlY2lmaWMgZGF0YSBzdG9yZWQgaW4gc3RydWN0IGZkaXNrX2xhYmVsCisgKiAgICAtIGFsbCBwYXJ0aXRpb25pbmcgb3BlcmF0aW9ucyBhcmUgYmFzZWQgb24gaW4tbWVtb3J5IGRhdGEgb25seQorICoKKyAqIHN0cnVjdCBmZGlza19wYXJ0aXRpb24KKyAqICAgIC0gcHJvdmlkZXMgYWJzdHJhY3Rpb24gdG8gcHJlc2VudCBwYXJ0aXRpb25zIHRvIHVzZXJzCisgKiAgICAtIGZkaXNrX3BhcnRpdGlvbiBpcyBwb3NzaWJsZSB0byBnYXRoZXIgdG8gZmRpc2tfdGFibGUgY29udGFpbmVyCisgKiAgICAtIHVzZWQgYXMgdW5pZmllZCB0ZW1wbGF0ZSBmb3IgbmV3IHBhcnRpdGlvbnMKKyAqICAgIC0gdGhlIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gaXMgYWx3YXlzIGNvbXBsZXRlbHkgaW5kZXBlbmRlbnQgb2JqZWN0IGFuZAorICogICAgICBhbnkgY2hhbmdlIHRvIHRoZSBvYmplY3QgaGFzIG5vIGVmZmVjdCB0byBpbi1tZW1vcnkgKG9yIG9uLWRpc2spIGxhYmVsIGRhdGEKKyAqLworCisvKioKKyAqIGZkaXNrX25ld19jb250ZXh0OgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBsaWJmZGlzayBoYW5kbGVyCisgKi8KK3N0cnVjdCBmZGlza19jb250ZXh0ICpmZGlza19uZXdfY29udGV4dCh2b2lkKQoreworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisKKwljeHQgPSBjYWxsb2MoMSwgc2l6ZW9mKCpjeHQpKTsKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhbGxvYyIpKTsKKwljeHQtPmRldl9mZCA9IC0xOworCWN4dC0+cmVmY291bnQgPSAxOworCisJSU5JVF9MSVNUX0hFQUQoJmN4dC0+d2lwZXMpOworCisJLyoKKwkgKiBBbGxvY2F0ZSBsYWJlbCBzcGVjaWZpYyBzdHJ1Y3RzLgorCSAqCisJICogVGhpcyBpcyBuZWNlc3NhcnkgKGZvciBleGFtcGxlKSB0byBzdG9yZSBsYWJlbCBzcGVjaWZpYworCSAqIGNvbnRleHQgc2V0dGluZy4KKwkgKi8KKwljeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19ncHRfbGFiZWwoY3h0KTsKKwljeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19kb3NfbGFiZWwoY3h0KTsKKwljeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19ic2RfbGFiZWwoY3h0KTsKKwljeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19zZ2lfbGFiZWwoY3h0KTsKKwljeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19zdW5fbGFiZWwoY3h0KTsKKworCWJpbmR0ZXh0ZG9tYWluKExJQkZESVNLX1RFWFRET01BSU4sIExPQ0FMRURJUik7CisKKwlyZXR1cm4gY3h0OworfQorCitzdGF0aWMgaW50IGluaXRfbmVzdGVkX2Zyb21fcGFyZW50KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpc25ldykKK3sKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqcGFyZW50OworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+cGFyZW50KTsKKworCXBhcmVudCA9IGN4dC0+cGFyZW50OworCisJY3h0LT5hbGlnbm1lbnRfb2Zmc2V0ID0gcGFyZW50LT5hbGlnbm1lbnRfb2Zmc2V0OworCWN4dC0+YXNrX2NiID0JCXBhcmVudC0+YXNrX2NiOworCWN4dC0+YXNrX2RhdGEgPQkJcGFyZW50LT5hc2tfZGF0YTsKKwljeHQtPmRldl9mZCA9CQlwYXJlbnQtPmRldl9mZDsKKwljeHQtPmZpcnN0X2xiYSA9ICAgICAgICBwYXJlbnQtPmZpcnN0X2xiYTsKKwljeHQtPmZpcnN0c2VjdG9yX2J1ZnN6ID0gcGFyZW50LT5maXJzdHNlY3Rvcl9idWZzejsKKwljeHQtPmZpcnN0c2VjdG9yID0JcGFyZW50LT5maXJzdHNlY3RvcjsKKwljeHQtPmdlb20gPQkJcGFyZW50LT5nZW9tOworCWN4dC0+Z3JhaW4gPSAgICAgICAgICAgIHBhcmVudC0+Z3JhaW47CisJY3h0LT5pb19zaXplID0gICAgICAgICAgcGFyZW50LT5pb19zaXplOworCWN4dC0+bGFzdF9sYmEgPQkJcGFyZW50LT5sYXN0X2xiYTsKKwljeHQtPm1pbl9pb19zaXplID0gICAgICBwYXJlbnQtPm1pbl9pb19zaXplOworCWN4dC0+b3B0aW1hbF9pb19zaXplID0gIHBhcmVudC0+b3B0aW1hbF9pb19zaXplOworCWN4dC0+cGh5X3NlY3Rvcl9zaXplID0gIHBhcmVudC0+cGh5X3NlY3Rvcl9zaXplOworCWN4dC0+cmVhZG9ubHkgPQkJcGFyZW50LT5yZWFkb25seTsKKwljeHQtPnNjcmlwdCA9CQlwYXJlbnQtPnNjcmlwdDsKKwlmZGlza19yZWZfc2NyaXB0KGN4dC0+c2NyaXB0KTsKKwljeHQtPnNlY3Rvcl9zaXplID0gICAgICBwYXJlbnQtPnNlY3Rvcl9zaXplOworCWN4dC0+dG90YWxfc2VjdG9ycyA9ICAgIHBhcmVudC0+dG90YWxfc2VjdG9yczsKKwljeHQtPnVzZXJfZ2VvbSA9CXBhcmVudC0+dXNlcl9nZW9tOworCWN4dC0+dXNlcl9sb2dfc2VjdG9yID0JcGFyZW50LT51c2VyX2xvZ19zZWN0b3I7CisJY3h0LT51c2VyX3B5aF9zZWN0b3IgPSAgcGFyZW50LT51c2VyX3B5aF9zZWN0b3I7CisKKwkvKiBwYXJlbnQgPC0tPiBuZXN0ZWQgaW5kZXBlbmRlbnQgc2V0dGluZywgaW5pdGlhbGl6ZSBmb3IgbmV3IG5lc3RlZAorCSAqIGNvbnRleHRzIG9ubHkgKi8KKwlpZiAoaXNuZXcpIHsKKwkJY3h0LT5saXN0b25seSA9CXBhcmVudC0+bGlzdG9ubHk7CisJCWN4dC0+ZGlzcGxheV9kZXRhaWxzID0JcGFyZW50LT5kaXNwbGF5X2RldGFpbHM7CisJCWN4dC0+ZGlzcGxheV9pbl9jeWxfdW5pdHMgPSBwYXJlbnQtPmRpc3BsYXlfaW5fY3lsX3VuaXRzOworCQljeHQtPnByb3RlY3RfYm9vdGJpdHMgPSBwYXJlbnQtPnByb3RlY3RfYm9vdGJpdHM7CisJfQorCisJZnJlZShjeHQtPmRldl9wYXRoKTsKKwljeHQtPmRldl9wYXRoID0gTlVMTDsKKworCWlmIChwYXJlbnQtPmRldl9wYXRoKSB7CisJCWN4dC0+ZGV2X3BhdGggPQlzdHJkdXAocGFyZW50LT5kZXZfcGF0aCk7CisJCWlmICghY3h0LT5kZXZfcGF0aCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZjeHQtPndpcGVzKTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX25ld19uZXN0ZWRfY29udGV4dDoKKyAqIEBwYXJlbnQ6IHBhcmVudGFsIGNvbnRleHQKKyAqIEBuYW1lOiBvcHRpb25hbCBsYWJlbCBuYW1lIChlLmcuICJic2QiKQorICoKKyAqIENyZWF0ZSBhIG5ldyBuZXN0ZWQgZmRpc2sgY29udGV4dCBmb3IgbmVzdGVkIGRpc2sgbGFiZWxzIChlLmcuIEJTRCBvciBQTUJSKS4KKyAqIFRoZSBmdW5jdGlvbiBhbHNvIHByb2JlcyBmb3IgdGhlIG5lc3RlZCBsYWJlbCBvbiB0aGUgZGV2aWNlIGlmIGRldmljZSBpcworICogYWxyZWFkeSBhc3NpZ25lZCB0byBwYXJlbnQuCisgKgorICogVGhlIG5ldyBjb250ZXh0IGlzIGluaXRpYWxpemVkIGFjY29yZGluZyB0byBAcGFyZW50IGFuZCBib3RoIGNvbnRleHQgc2hhcmVzCisgKiBzb21lIHNldHRpbmdzIGFuZCBmaWxlIGRlc2NyaXB0b3IgdG8gdGhlIGRldmljZS4gVGhlIGNoaWxkIHByb3BhZ2F0ZSBzb21lCisgKiBjaGFuZ2VzIChsaWtlIGZkaXNrX2Fzc2lnbl9kZXZpY2UoKSkgdG8gcGFyZW50LCBidXQgaXQgZG9lcyBub3Qgd29yaworICogdmljZS12ZXJzYS4gVGhlIGJlaGF2aW9yIGlzIHVuZGVmaW5lZCBpZiB5b3UgYXNzaWduIGFub3RoZXIgZGV2aWNlIHRvCisgKiBwYXJlbnQuCisgKgorICogUmV0dXJuczogbmV3IGNvbnRleHQgZm9yIG5lc3RlZCBwYXJ0aXRpb24gdGFibGUuCisgKi8KK3N0cnVjdCBmZGlza19jb250ZXh0ICpmZGlza19uZXdfbmVzdGVkX2NvbnRleHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKnBhcmVudCwKKwkJCQljb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IE5VTEw7CisKKwlhc3NlcnQocGFyZW50KTsKKworCWN4dCA9IGNhbGxvYygxLCBzaXplb2YoKmN4dCkpOworCWlmICghY3h0KQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHBhcmVudCwgImFsbG9jIG5lc3RlZCBbJXBdIFtuYW1lPSVzXSIsIGN4dCwgbmFtZSkpOworCWN4dC0+cmVmY291bnQgPSAxOworCisJZmRpc2tfcmVmX2NvbnRleHQocGFyZW50KTsKKwljeHQtPnBhcmVudCA9IHBhcmVudDsKKworCWlmIChpbml0X25lc3RlZF9mcm9tX3BhcmVudChjeHQsIDEpICE9IDApIHsKKwkJY3h0LT5wYXJlbnQgPSBOVUxMOworCQlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisJCXJldHVybiBOVUxMOworCX0KKworCWlmIChuYW1lKSB7CisJCWlmIChzdHJjYXNlY21wKG5hbWUsICJic2QiKSA9PSAwKQorCQkJbGIgPSBjeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19ic2RfbGFiZWwoY3h0KTsKKwkJZWxzZSBpZiAoc3RyY2FzZWNtcChuYW1lLCAiZG9zIikgPT0gMCB8fCBzdHJjYXNlY21wKG5hbWUsICJtYnIiKSA9PSAwKQorCQkJbGIgPSBjeHQtPmxhYmVsc1sgY3h0LT5ubGFiZWxzKysgXSA9IGZkaXNrX25ld19kb3NfbGFiZWwoY3h0KTsKKwl9CisKKwlpZiAobGIgJiYgcGFyZW50LT5kZXZfZmQgPj0gMCkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwcm9iaW5nIGZvciBuZXN0ZWQgJXMiLCBsYi0+bmFtZSkpOworCisJCWN4dC0+bGFiZWwgPSBsYjsKKworCQlpZiAobGItPm9wLT5wcm9iZShjeHQpID09IDEpCisJCQlfX2ZkaXNrX3N3aXRjaF9sYWJlbChjeHQsIGxiKTsKKwkJZWxzZSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJub3QgZm91bmQgJXMgbGFiZWwiLCBsYi0+bmFtZSkpOworCQkJaWYgKGxiLT5vcC0+ZGVpbml0KQorCQkJCWxiLT5vcC0+ZGVpbml0KGxiKTsKKwkJCWN4dC0+bGFiZWwgPSBOVUxMOworCQl9CisJfQorCisJcmV0dXJuIGN4dDsKK30KKworCisvKioKKyAqIGZkaXNrX3JlZl9jb250ZXh0OgorICogQGN4dDogY29udGV4dCBwb2ludGVyCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqLwordm9pZCBmZGlza19yZWZfY29udGV4dChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWlmIChjeHQpCisJCWN4dC0+cmVmY291bnQrKzsKK30KKworLyoqCisgKiBmZGlza19nZXRfbGFiZWw6CisgKiBAY3h0OiBjb250ZXh0IGluc3RhbmNlCisgKiBAbmFtZTogbGFiZWwgbmFtZSAoZS5nLiAiZ3B0IikKKyAqCisgKiBJZiBubyBAbmFtZSBzcGVjaWZpZWQgdGhlbiByZXR1cm5zIHRoZSBjdXJyZW50IGNvbnRleHQgbGFiZWwuCisgKgorICogVGhlIGxhYmVsIGlzIGFsbG9jYXRlZCBhbmQgbWFpbnRhaW5lZCB3aXRoaW4gdGhlIGNvbnRleHQgI2N4dC4gVGhlcmUgaXMKKyAqIG5vdGhpbmcgbGlrZSByZWZlcmVuY2UgY291bnRpbmcgZm9yIGxhYmVscywgeW91IGNhbm5vdCBkZWFsbG9jYXRlIHRoZQorICogbGFiZWwuCisgKgorICogUmV0dXJuczogbGFiZWwgc3RydWN0IG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19nZXRfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChjeHQpOworCisJaWYgKCFuYW1lKQorCQlyZXR1cm4gY3h0LT5sYWJlbDsKKwllbHNlIGlmIChzdHJjYXNlY21wKG5hbWUsICJtYnIiKSA9PSAwKQorCQluYW1lID0gImRvcyI7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5ubGFiZWxzOyBpKyspCisJCWlmIChjeHQtPmxhYmVsc1tpXQorCQkgICAgJiYgc3RyY2FzZWNtcChjeHQtPmxhYmVsc1tpXS0+bmFtZSwgbmFtZSkgPT0gMCkKKwkJCXJldHVybiBjeHQtPmxhYmVsc1tpXTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZhaWxlZCB0byBmb3VuZCAlcyBsYWJlbCBkcml2ZXIiLCBuYW1lKSk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogZmRpc2tfbmV4dF9sYWJlbDoKKyAqIEBjeHQ6IGNvbnRleHQgaW5zdGFuY2UKKyAqIEBsYjogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBuZXh0IGxhYmVsCisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICogICAgICAvLyBwcmludCBhbGwgc3VwcG9ydGVkIGxhYmVscworICoJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCA9IGZkaXNrX25ld19jb250ZXh0KCk7CisgKglzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiID0gTlVMTDsKKyAqCisgKgl3aGlsZSAoZmRpc2tfbmV4dF9sYWJlbChjeHQsICZsYikgPT0gMCkKKyAqCQlwcmludCgibGFiZWwgbmFtZTogJXNcbiIsIGZkaXNrX2xhYmVsX2dldF9uYW1lKGxiKSk7CisgKglmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBSZXR1cm5zOiA8MCBpbiBjYXNlIG9mIGVycm9yLCAwIG9uIHN1Y2Nlc3MsIDEgYXQgdGhlIGVuZC4KKyAqLworaW50IGZkaXNrX25leHRfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsICoqbGIpCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGZkaXNrX2xhYmVsICpyZXMgPSBOVUxMOworCisJaWYgKCFsYiB8fCAhY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghKmxiKQorCQlyZXMgPSBjeHQtPmxhYmVsc1swXTsKKwllbHNlIHsKKwkJZm9yIChpID0gMTsgaSA8IGN4dC0+bmxhYmVsczsgaSsrKSB7CisJCQlpZiAoKmxiID09IGN4dC0+bGFiZWxzW2kgLSAxXSkgeworCQkJCXJlcyA9IGN4dC0+bGFiZWxzW2ldOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCisJKmxiID0gcmVzOworCXJldHVybiByZXMgPyAwIDogMTsKK30KKworLyoqCisgKiBmZGlza19nZXRfbmxhYmVsczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBudW1iZXIgb2Ygc3VwcG9ydGVkIGxhYmVsIHR5cGVzCisgKi8KK3NpemVfdCBmZGlza19nZXRfbmxhYmVscyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQgPyBjeHQtPm5sYWJlbHMgOiAwOworfQorCitpbnQgX19mZGlza19zd2l0Y2hfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsICpsYikKK3sKKwlpZiAoIWxiIHx8ICFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChsYi0+ZGlzYWJsZWQpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiKioqIGF0dGVtcHQgdG8gc3dpdGNoIHRvIGRpc2FibGVkIGxhYmVsICVzIC0tIGlnbm9yZSEiLCBsYi0+bmFtZSkpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJY3h0LT5sYWJlbCA9IGxiOworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIi0tPiBzd2l0Y2hpbmcgY29udGV4dCB0byAlcyEiLCBsYi0+bmFtZSkpOworCisJZmRpc2tfYXBwbHlfbGFiZWxfZGV2aWNlX3Byb3BlcnRpZXMoY3h0KTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19oYXNfbGFiZWw6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKgorICogUmV0dXJuczogcmV0dXJuIDEgaWYgdGhlcmUgaXMgbGFiZWwgb24gdGhlIGRldmljZS4KKyAqLworaW50IGZkaXNrX2hhc19sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQgJiYgY3h0LT5sYWJlbDsKK30KKworLyoqCisgKiBmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIFJldHVybnM6IHJldHVybiAxIGlmIGJvb3QgYml0cyBwcm90ZWN0aW9uIGVuYWJsZWQuCisgKi8KK2ludCBmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dCAmJiBjeHQtPnByb3RlY3RfYm9vdGJpdHM7Cit9CisKKy8qKgorICogZmRpc2tfZW5hYmxlX2Jvb3RiaXRzX3Byb3RlY3Rpb246CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKiBAZW5hYmxlOiAxIG9yIDAKKyAqCisgKiBUaGUgbGlicmFyeSB6ZXJvaXplcyBhbGwgdGhlIGZpcnN0IHNlY3RvciB3aGVuIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsIGJ5CisgKiBkZWZhdWx0LiAgVGhpcyBmdW5jdGlvbiBhbGxvd3MgdG8gY29udHJvbCB0aGlzIGJlaGF2aW9yLiBGb3Igbm93IGl0J3MKKyAqIHN1cHBvcnRlZCBmb3IgTUJSIGFuZCBHUFQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19lbmFibGVfYm9vdGJpdHNfcHJvdGVjdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwljeHQtPnByb3RlY3RfYm9vdGJpdHMgPSBlbmFibGUgPyAxIDogMDsKKwlyZXR1cm4gMDsKK30KKy8qKgorICogZmRpc2tfZGlzYWJsZV9kaWFsb2dzCisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKiBAZGlzYWJsZTogMSBvciAwCisgKgorICogVGhlIGxpYnJhcnkgdXNlcyBkaWFsb2cgZHJpdmVuIHBhcnRpdGlvbmluZyBieSBkZWZhdWx0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLgorICoKKyAqIFNpbmNlOiAyLjMxCisgKi8KK2ludCBmZGlza19kaXNhYmxlX2RpYWxvZ3Moc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IGRpc2FibGUpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJY3h0LT5ub19kaXNhbG9ncyA9IGRpc2FibGU7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfaGFzX2RpYWxvZ3MKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBTZWUgZmRpc2tfZGlzYWJsZV9kaWFsb2dzKCkKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGRpYWxvZyBkcml2ZW4gcGFydGl0aW9uaW5nIGVuYWJsZWQgKGRlZmF1bHQpLCBvciAwLgorICoKKyAqIFNpbmNlOiAyLjMxCisgKi8KK2ludCBmZGlza19oYXNfZGlhbG9ncyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPm5vX2Rpc2Fsb2dzID09IDA7Cit9CisKKy8qKgorICogZmRpc2tfZW5hYmxlX3dpcGUKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBlbmFibGU6IDEgb3IgMAorICoKKyAqIFRoZSBsaWJyYXJ5IHJlbW92ZXMgYWxsIFBUL2ZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmVzIGJlZm9yZSBpdCB3cml0ZXMKKyAqIHBhcnRpdGlvbiB0YWJsZS4gVGhlIHByb2JpbmcgYXJlYSB3aGVyZSBpdCBsb29rcyBmb3Igc2lnbmF0dXJlcyBpcyBmcm9tCisgKiB0aGUgYmVnaW4gb2YgdGhlIGRpc2suIFRoZSBkZXZpY2UgaXMgd2lwZWQgYnkgbGliYmxraWQuCisgKgorICogU2VlIGFsc28gZmRpc2tfd2lwZV9wYXJ0aXRpb24oKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2VuYWJsZV93aXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJZmRpc2tfc2V0X3dpcGVfYXJlYShjeHQsIDAsIGN4dC0+dG90YWxfc2VjdG9ycywgZW5hYmxlKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19oYXNfd2lwZQorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIFJldHVybnMgdGhlIGN1cnJlbnQgd2lwZSBzZXR0aW5nLiBTZWUgZmRpc2tfZW5hYmxlX3dpcGUoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2hhc193aXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAwOworCisJcmV0dXJuIGZkaXNrX2hhc193aXBlX2FyZWEoY3h0LCAwLCBjeHQtPnRvdGFsX3NlY3RvcnMpOworfQorCisKKy8qKgorICogZmRpc2tfZ2V0X2NvbGxpc2lvbgorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIFJldHVybnM6IG5hbWUgb2YgdGhlIGZpbGVzeXN0ZW0gb3IgUkFJRCBkZXRlY3RlZCBvbiB0aGUgZGV2aWNlIG9yIE5VTEwuCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX2dldF9jb2xsaXNpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5jb2xsaXNpb247Cit9CisKKy8qKgorICogZmRpc2tfaXNfcHRjb2xsaXNpb246CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKgorICogVGhlIGNvbGxpc2lvbiBkZXRlY3RlZCBieSBsaWJibGtpZCAodXN1YWxseSBhbm90aGVyIHBhcnRpdGlvbiB0YWJsZSkuIE5vdGUKKyAqIHRoYXQgbGliZmRpc2sgZG9lcyBub3Qgc3VwcG9ydCBhbGwgcGFydGl0aW9ucyB0YWJsZXMsIHNvIGZkaXNrX2hhc19sYWJlbCgpCisgKiBtYXkgcmV0dXJuIGZhbHNlLCBidXQgZmRpc2tfaXNfcHRjb2xsaXNpb24oKSBtYXkgcmV0dXJuIHRydWUuCisgKgorICogU2luY2U6IDIuMzAKKyAqCisgKiBSZXR1cm5zOiAwIG9yIDEKKyAqLworaW50IGZkaXNrX2lzX3B0Y29sbGlzaW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+cHRfY29sbGlzaW9uOworfQorCisvKioKKyAqIGZkaXNrX2dldF9ucGFydGl0aW9uczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBUaGUgbWF4aW1hbCBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbnMgZGVwZW5kcyBvbiBkaXNrbGFiZWwgYW5kIGRvZXMgbm90CisgKiBoYXZlIHRvIGRlc2NyaWJlIHRoZSByZWFsIGxpbWl0IG9mIFBULgorICoKKyAqIEZvciBleGFtcGxlIHRoZSBsaW1pdCBmb3IgTUJSIHdpdGhvdXQgZXh0ZW5kIHBhcnRpdGlvbiBpcyA0LCB3aXRoIGV4dGVuZGVkCisgKiBwYXJ0aXRpb24gaXQncyB1bmxpbWl0ZWQgKHNvIHRoZSBmdW5jdGlvbiByZXR1cm5zIHRoZSBjdXJyZW50IG51bWJlciBvZiBhbGwKKyAqIHBhcnRpdGlvbnMgaW4gdGhpcyBjYXNlKS4KKyAqCisgKiBBbmQgZm9yIGV4YW1wbGUgZm9yIEdQVCBpdCBkZXBlbmRzIG9uIHNwYWNlIGFsbG9jYXRlZCBvbiBkaXNrIGZvciBhcnJheSBvZgorICogZW50cnkgcmVjb3JkcyAodXN1YWxseSAxMjgpLgorICoKKyAqIEl0J3MgZmluZSB0byB1c2UgZmRpc2tfZ2V0X25wYXJ0aXRpb25zKCkgaW4gbG9vcHMsIGJ1dCBkb24ndCBmb3JnZXQgdGhhdAorICogcGFydGl0aW9uIG1heSBiZSB1bnVzZWQgKHNlZSBmZGlza19pc19wYXJ0aXRpb25fdXNlZCgpKS4KKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKglzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEw7CisgKglzaXplX3QgaSwgbm1heCA9IGZkaXNrX2dldF9ucGFydGl0aW9ucyhjeHQpOworICoKKyAqCWZvciAoaSA9IDA7IGkgPCBubWF4OyBpKyspIHsKKyAqCQlpZiAoIWZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKGN4dCwgaSkpCisgKgkJCWNvbnRpbnVlOworICoJCS4uLiBkbyBzb21ldGhpbmcgLi4uCisgKgl9CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIHJlY29tbWVuZGVkIHdheSB0byBsaXN0IHBhcnRpdGlvbnMgaXMgdG8gdXNlCisgKiBmZGlza19nZXRfcGFydGl0aW9ucygpIGFuZCBzdHJ1Y3QgZmRpc2tfdGFibGUgdGhhbiBhc2sgZGlzayBkcml2ZXIgZm9yIGVhY2gKKyAqIGluZGl2aWR1YWwgcGFydGl0aW9ucy4KKyAqCisgKiBSZXR1cm5zOiBtYXhpbWFsIG51bWJlciBvZiBwYXJ0aXRpb25zIGZvciB0aGUgY3VycmVudCBsYWJlbC4KKyAqLworc2l6ZV90IGZkaXNrX2dldF9ucGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQgJiYgY3h0LT5sYWJlbCA/IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggOiAwOworfQorCisvKioKKyAqIGZkaXNrX2lzX2xhYmVsdHlwZToKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBpZDogRkRJU0tfRElTS0xBQkVMXyoKKyAqCisgKiBTZWUgYWxzbyBmZGlza19pc19sYWJlbCgpIG1hY3JvIGluIGxpYmZkaXNrLmguCisgKgorICogUmV0dXJuczogcmV0dXJuIDEgaWYgdGhlIGN1cnJlbnQgbGFiZWwgaXMgQGlkCisgKi8KK2ludCBmZGlza19pc19sYWJlbHR5cGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZW51bSBmZGlza19sYWJlbHR5cGUgaWQpCit7CisJYXNzZXJ0KGN4dCk7CisKKwlyZXR1cm4gY3h0LT5sYWJlbCAmJiAodW5zaWduZWQpZmRpc2tfbGFiZWxfZ2V0X3R5cGUoY3h0LT5sYWJlbCkgPT0gaWQ7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3BhcmVudDoKKyAqIEBjeHQ6IG5lc3RlZCBmZGlzayBjb250ZXh0CisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBwYXJlbnRhbCBjb250ZXh0LCBvciBOVUxMCisgKi8KK3N0cnVjdCBmZGlza19jb250ZXh0ICpmZGlza19nZXRfcGFyZW50KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+cGFyZW50OworfQorCitzdGF0aWMgdm9pZCByZXNldF9jb250ZXh0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIqKiogcmVzZXR0aW5nIGNvbnRleHQiKSk7CisKKwkvKiByZXNldCBkcml2ZXMnIHByaXZhdGUgZGF0YSAqLworCWZvciAoaSA9IDA7IGkgPCBjeHQtPm5sYWJlbHM7IGkrKykKKwkJZmRpc2tfZGVpbml0X2xhYmVsKGN4dC0+bGFiZWxzW2ldKTsKKworCWlmIChjeHQtPnBhcmVudCkgeworCQkvKiB0aGUgZmlyc3Qgc2VjdG9yIG1heSBiZSBpbmRlcGVuZGVudCBvbiBwYXJlbnQgKi8KKwkJaWYgKGN4dC0+cGFyZW50LT5maXJzdHNlY3RvciAhPSBjeHQtPmZpcnN0c2VjdG9yKQorCQkJZnJlZShjeHQtPmZpcnN0c2VjdG9yKTsKKwl9IGVsc2UgeworCQkvKiB3ZSBjbG9zZSBkZXZpY2Ugb25seSBpbiBwcmltYXJ5IGNvbnRleHQgKi8KKwkJaWYgKGN4dC0+ZGV2X2ZkID4gLTEpCisJCQljbG9zZShjeHQtPmRldl9mZCk7CisJCWZyZWUoY3h0LT5maXJzdHNlY3Rvcik7CisJfQorCisJZnJlZShjeHQtPmRldl9wYXRoKTsKKwljeHQtPmRldl9wYXRoID0gTlVMTDsKKworCWZyZWUoY3h0LT5jb2xsaXNpb24pOworCWN4dC0+Y29sbGlzaW9uID0gTlVMTDsKKworCW1lbXNldCgmY3h0LT5kZXZfc3QsIDAsIHNpemVvZihjeHQtPmRldl9zdCkpOworCisJY3h0LT5kZXZfZmQgPSAtMTsKKwljeHQtPmZpcnN0c2VjdG9yID0gTlVMTDsKKwljeHQtPmZpcnN0c2VjdG9yX2J1ZnN6ID0gMDsKKworCWZkaXNrX3plcm9pemVfZGV2aWNlX3Byb3BlcnRpZXMoY3h0KTsKKworCWZkaXNrX3VucmVmX3NjcmlwdChjeHQtPnNjcmlwdCk7CisJY3h0LT5zY3JpcHQgPSBOVUxMOworCisJY3h0LT5sYWJlbCA9IE5VTEw7CisKKwlmZGlza19mcmVlX3dpcGVfYXJlYXMoY3h0KTsKK30KKworLyoqCisgKiBmZGlza19hc3NpZ25fZGV2aWNlOgorICogQGN4dDogY29udGV4dAorICogQGZuYW1lOiBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgaGFuZGxlZAorICogQHJlYWRvbmx5OiBob3cgdG8gb3BlbiB0aGUgZGV2aWNlCisgKgorICogT3BlbiB0aGUgZGV2aWNlLCBkaXNjb3ZlcnkgdG9wb2xvZ3ksIGdlb21ldHJ5LCBkZXRlY3QgZGlza2xhYmVsIGFuZCBzd2l0Y2gKKyAqIHRoZSBjdXJyZW50IGxhYmVsIGRyaXZlciB0byByZWZsZWN0IHRoZSBwcm9iaW5nIHJlc3VsdC4KKyAqCisgKiBOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiByZXNldHMgYWxsIGdlbmVyaWMgc2V0dGluZyBpbiBjb250ZXh0LiBJZiB0aGUgQGN4dAorICogaXMgbmVzdGVkIGNvbnRleHQgdGhlbiB0aGUgZGV2aWNlIGlzIGFzc2lnbmVkIHRvIHRoZSBwYXJlbnRhbCBjb250ZXh0IGFuZAorICogbmVjZXNzYXJ5IHByb3BlcnRpZXMgYXJlIGNvcGllZCB0byB0aGUgQGN4dC4gVGhlIGNoYW5nZSBpcyBwcm9wYWdhdGVkIGluCisgKiBjaGlsZC0+cGFyZW50IGRpcmVjdGlvbiBvbmx5LiBJdCdzIGltcG9zc2libGUgdG8gdXNlIGEgZGlmZmVyZW50IGRldmljZSBmb3IKKyAqIHByaW1hcnkgYW5kIG5lc3RlZCBjb250ZXh0cy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2Fzc2lnbl9kZXZpY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCWNvbnN0IGNoYXIgKmZuYW1lLCBpbnQgcmVhZG9ubHkpCit7CisJaW50IGZkOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiYXNzaWduaW5nIGRldmljZSAlcyIsIGZuYW1lKSk7CisJYXNzZXJ0KGN4dCk7CisKKwkvKiByZWRpcmVjdCByZXF1ZXN0IHRvIHBhcmVudCAqLworCWlmIChjeHQtPnBhcmVudCkgeworCQlpbnQgcmMsIG9yZyA9IGZkaXNrX2lzX2xpc3Rvbmx5KGN4dC0+cGFyZW50KTsKKworCQkvKiBhc3NpZ25fZGV2aWNlKCkgaXMgc2Vuc2l0aXZlIHRvICJsaXN0b25seSIgbW9kZSwgc28gbGV0J3MKKwkJICogZm9sbG93IHRoZSBjdXJyZW50IGNvbnRleHQgc2V0dGluZyBmb3IgdGhlIHBhcmVudCB0byBhdm9pZAorCQkgKiB1bndhbnRlZCBleHRyYSB3YXJuaW5ncy4gKi8KKwkJZmRpc2tfZW5hYmxlX2xpc3Rvbmx5KGN4dC0+cGFyZW50LCBmZGlza19pc19saXN0b25seShjeHQpKTsKKworCQlyYyA9IGZkaXNrX2Fzc2lnbl9kZXZpY2UoY3h0LT5wYXJlbnQsIGZuYW1lLCByZWFkb25seSk7CisJCWZkaXNrX2VuYWJsZV9saXN0b25seShjeHQtPnBhcmVudCwgb3JnKTsKKworCQlpZiAoIXJjKQorCQkJcmMgPSBpbml0X25lc3RlZF9mcm9tX3BhcmVudChjeHQsIDApOworCQlpZiAoIXJjKQorCQkJZmRpc2tfcHJvYmVfbGFiZWxzKGN4dCk7CisJCXJldHVybiByYzsKKwl9CisKKwlyZXNldF9jb250ZXh0KGN4dCk7CisKKwlmZCA9IG9wZW4oZm5hbWUsIChyZWFkb25seSA/IE9fUkRPTkxZIDogT19SRFdSICkgfCBPX0NMT0VYRUMpOworCWlmIChmZCA8IDApCisJCWdvdG8gZmFpbDsKKworCWlmIChmc3RhdChmZCwgJmN4dC0+ZGV2X3N0KSAhPSAwKQorCQlnb3RvIGZhaWw7CisKKwljeHQtPnJlYWRvbmx5ID0gcmVhZG9ubHk7CisJY3h0LT5kZXZfZmQgPSBmZDsKKwljeHQtPmRldl9wYXRoID0gc3RyZHVwKGZuYW1lKTsKKwlpZiAoIWN4dC0+ZGV2X3BhdGgpCisJCWdvdG8gZmFpbDsKKworCWZkaXNrX2Rpc2NvdmVyX3RvcG9sb2d5KGN4dCk7CisJZmRpc2tfZGlzY292ZXJfZ2VvbWV0cnkoY3h0KTsKKworCWZkaXNrX2FwcGx5X3VzZXJfZGV2aWNlX3Byb3BlcnRpZXMoY3h0KTsKKworCWlmIChmZGlza19yZWFkX2ZpcnN0c2VjdG9yKGN4dCkgPCAwKQorCQlnb3RvIGZhaWw7CisKKwlmZGlza19wcm9iZV9sYWJlbHMoY3h0KTsKKworCWZkaXNrX2FwcGx5X2xhYmVsX2RldmljZV9wcm9wZXJ0aWVzKGN4dCk7CisKKwkvKiB3YXJuIGFib3V0IG9ic29sZXRlIHN0dWZmIG9uIHRoZSBkZXZpY2UgaWYgd2UgYXJlbid0IGluCisJICogbGlzdC1vbmx5IG1vZGUgYW5kIHRoZXJlIGlzIG5vdCBQVCB5ZXQgKi8KKwlpZiAoIWZkaXNrX2lzX2xpc3Rvbmx5KGN4dCkgJiYgIWZkaXNrX2hhc19sYWJlbChjeHQpCisJICAgICYmIGZkaXNrX2NoZWNrX2NvbGxpc2lvbnMoY3h0KSA8IDApCisJCWdvdG8gZmFpbDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImluaXRpYWxpemVkIGZvciAlcyBbJXNdIiwKKwkJCSAgICAgIGZuYW1lLCByZWFkb25seSA/ICJSRUFELU9OTFkiIDogIlJFQUQtV1JJVEUiKSk7CisJcmV0dXJuIDA7CitmYWlsOgorCXsKKwkJaW50IHJjID0gLWVycm5vOworCQlpZiAoZmQgPj0gMCkKKwkJCWNsb3NlKGZkKTsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZmFpbGVkIHRvIGFzc2lnbiBkZXZpY2UgW3JjPSVkXSIsIHJjKSk7CisJCXJldHVybiByYzsKKwl9Cit9CisKKy8qKgorICogZmRpc2tfZGVhc3NpZ25fZGV2aWNlOgorICogQGN4dDogY29udGV4dAorICogQG5vc3luYzogZGlzYWJsZSBmc3luYygpCisgKgorICogQ2xvc2UgZGV2aWNlIGFuZCBjYWxsIGZzeW5jKCkuIElmIHRoZSBAY3h0IGlzIG5lc3RlZCBjb250ZXh0IHRoYW4gdGhlCisgKiByZXF1ZXN0IGlzIHJlZGlyZWN0ZWQgdG8gdGhlIHBhcmVudC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2RlYXNzaWduX2RldmljZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbm9zeW5jKQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmRldl9mZCA+PSAwKTsKKworCWlmIChjeHQtPnBhcmVudCkgeworCQlpbnQgcmMgPSBmZGlza19kZWFzc2lnbl9kZXZpY2UoY3h0LT5wYXJlbnQsIG5vc3luYyk7CisKKwkJaWYgKCFyYykKKwkJCXJjID0gaW5pdF9uZXN0ZWRfZnJvbV9wYXJlbnQoY3h0LCAwKTsKKwkJcmV0dXJuIHJjOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImRlLWFzc2lnbmluZyBkZXZpY2UgJXMiLCBjeHQtPmRldl9wYXRoKSk7CisKKwlpZiAoY3h0LT5yZWFkb25seSkKKwkJY2xvc2UoY3h0LT5kZXZfZmQpOworCWVsc2UgeworCQlpZiAoZnN5bmMoY3h0LT5kZXZfZmQpIHx8IGNsb3NlKGN4dC0+ZGV2X2ZkKSkgeworCQkJZmRpc2tfd2FybihjeHQsIF8oIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIiksCisJCQkJCWN4dC0+ZGV2X3BhdGgpOworCQkJcmV0dXJuIC1lcnJubzsKKwkJfQorCisJCWlmICghbm9zeW5jKSB7CisJCQlmZGlza19pbmZvKGN4dCwgXygiU3luY2luZyBkaXNrcy4iKSk7CisJCQlzeW5jKCk7CisJCX0KKwl9CisKKwlmcmVlKGN4dC0+ZGV2X3BhdGgpOworCWN4dC0+ZGV2X3BhdGggPSBOVUxMOworCisJY3h0LT5kZXZfZmQgPSAtMTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3JlYXNzaWduX2RldmljZToKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzICJoYXJkIHJlc2V0IiBvZiB0aGUgY29udGV4dCBhbmQgaXQgZG9lcyBub3Qgd3JpdGUgYW55dGhpbmcKKyAqIHRvIHRoZSBkZXZpY2UuIEFsbCBpbi1tZW1vcnkgY2hhbmdlcyBhc3NvY2lhdGVkIHdpdGggdGhlIGNvbnRleHQgd2lsbCBiZQorICogbG9zdC4gSXQncyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBmdW5jdGlvbiBhZnRlciBzb21lIGZhdGFsIHByb2JsZW0gd2hlbiB0aGUKKyAqIGNvbnRleHQgKGFuZCBsYWJlbCBzcGVjaWZpYyBkcml2ZXIpIGlzIGluIGFuIHVuZGVmaW5lZCBzdGF0ZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3JlYXNzaWduX2RldmljZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWNoYXIgKmRldm5hbWU7CisJaW50IHJkb25seSwgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5kZXZfZmQgPj0gMCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJyZS1hc3NpZ25pbmcgZGV2aWNlICVzIiwgY3h0LT5kZXZfcGF0aCkpOworCisJZGV2bmFtZSA9IHN0cmR1cChjeHQtPmRldl9wYXRoKTsKKwlpZiAoIWRldm5hbWUpCisJCXJldHVybiAtRU5PTUVNOworCisJcmRvbmx5ID0gY3h0LT5yZWFkb25seTsKKworCWZkaXNrX2RlYXNzaWduX2RldmljZShjeHQsIDEpOworCXJjID0gZmRpc2tfYXNzaWduX2RldmljZShjeHQsIGRldm5hbWUsIHJkb25seSk7CisJZnJlZShkZXZuYW1lKTsKKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19yZXJlYWRfcGFydGl0aW9uX3RhYmxlOgorICogQGN4dDogY29udGV4dAorICoKKyAqIEZvcmNlICprZXJuZWwqIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlIG9uIGJsb2NrIGRldmljZXMuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IGZkaXNrX3JlcmVhZF9wYXJ0aXRpb25fdGFibGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgaSA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5kZXZfZmQgPj0gMCk7CisKKwlpZiAoIVNfSVNCTEsoY3h0LT5kZXZfc3Quc3RfbW9kZSkpCisJCXJldHVybiAwOworCWVsc2UgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJjYWxsaW5nIHJlLXJlYWQgaW9jdGwiKSk7CisJCXN5bmMoKTsKKyNpZmRlZiBCTEtSUlBBUlQKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iKSk7CisJCWkgPSBpb2N0bChjeHQtPmRldl9mZCwgQkxLUlJQQVJUKTsKKyNlbHNlCisJCWVycm5vID0gRU5PU1lTOworCQlpID0gMTsKKyNlbmRpZgorCX0KKworCWlmIChpKSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIpKTsKKwkJZmRpc2tfaW5mbyhjeHQsCV8oCisJCQkiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSAiCisJCQkibmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QgIgorCQkJIm9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iKSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJcmV0dXJuIDA7Cit9CisKKyNpZmRlZiBfX2xpbnV4X18KK3N0YXRpYyBpbmxpbmUgaW50IGFkZF90b19wYXJ0aXRpb25zX2FycmF5KAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqKiphcnksCisJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCXNpemVfdCAqbiwgc2l6ZV90IG5tYXgpCit7CisJaWYgKCEqYXJ5KSB7CisJCSphcnkgPSBjYWxsb2Mobm1heCwgc2l6ZW9mKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKikpOworCQlpZiAoISphcnkpCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJKCphcnkpWypuXSA9IHBhOworCSgqbikrKzsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisvKioKKyAqIGZkaXNrX3JlcmVhZF9jaGFuZ2VzOgorICogQGN4dDogY29udGV4dAorICogQG9yZzogb3JpZ2luYWwgbGF5b3V0IChvbiBkaXNrKQorICoKKyAqIExpa2UgZmRpc2tfcmVyZWFkX3BhcnRpdGlvbl90YWJsZSgpIGJ1dCBkb24ndCBmb3JjZXMga2VybmVsIHJlLXJlYWQgYWxsCisgKiBwYXJ0aXRpb24gdGFibGUuIFRoZSBCTEtQR18qIGlvY3RscyBhcmUgdXNlZCBmb3IgaW5kaXZpZHVhbCBwYXJ0aXRpb25zLiBUaGUKKyAqIGFkdmFudGFnZSBpcyB0aGF0IHVubW9kaWZpZWQgcGFydGl0aW9ucyBtYXliZSBtb3VudGVkLgorICoKKyAqIFRoZSBmdW5jdGlvbiBiZWhhdmllcyBsaWtlIGZkaXNrX3JlcmVhZF9wYXJ0aXRpb25fdGFibGUoKSBvbiBzeXN0ZW1zIHdoZXJlCisgKiBhcmUgbm8gYXZhaWxhYmxlIEJMS1BHXyogaW9jdGxzLgorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCBvciAwLgorICovCisjaWZkZWYgX19saW51eF9fCitpbnQgZmRpc2tfcmVyZWFkX2NoYW5nZXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3RhYmxlICpvcmcpCit7CisJc3RydWN0IGZkaXNrX3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGZkaXNrX2l0ZXIgaXRyOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKipyZW0gPSBOVUxMLCAqKmFkZCA9IE5VTEwsICoqdXBkID0gTlVMTDsKKwlpbnQgY2hhbmdlLCByYyA9IDAsIGVyciA9IDA7CisJc2l6ZV90IG5wYXJ0cywgaSwgbmFkZHMgPSAwLCBudXBkcyA9IDAsIG5yZW1zID0gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInJlcmVhZGluZyBjaGFuZ2VzIikpOworCisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCisJLyogdGhlIGN1cnJlbnQgbGF5b3V0ICovCisJZmRpc2tfZ2V0X3BhcnRpdGlvbnMoY3h0LCAmdGIpOworCS8qIG1heGltYWwgbnVtYmVyIG9mIHBhcnRpdGlvbnMgKi8KKwlucGFydHMgPSBtYXgoZmRpc2tfdGFibGVfZ2V0X25lbnRzKHRiKSwgZmRpc2tfdGFibGVfZ2V0X25lbnRzKG9yZykpOworCisJd2hpbGUgKGZkaXNrX2RpZmZfdGFibGVzKG9yZywgdGIsICZpdHIsICZwYSwgJmNoYW5nZSkgPT0gMCkgeworCQlpZiAoY2hhbmdlID09IEZESVNLX0RJRkZfVU5DSEFOR0VEKQorCQkJY29udGludWU7CisJCXN3aXRjaCAoY2hhbmdlKSB7CisJCWNhc2UgRkRJU0tfRElGRl9SRU1PVkVEOgorCQkJcmMgPSBhZGRfdG9fcGFydGl0aW9uc19hcnJheSgmcmVtLCBwYSwgJm5yZW1zLCBucGFydHMpOworCQkJYnJlYWs7CisJCWNhc2UgRkRJU0tfRElGRl9BRERFRDoKKwkJCXJjID0gYWRkX3RvX3BhcnRpdGlvbnNfYXJyYXkoJmFkZCwgcGEsICZuYWRkcywgbnBhcnRzKTsKKwkJCWJyZWFrOworCQljYXNlIEZESVNLX0RJRkZfUkVTSVpFRDoKKwkJCXJjID0gYWRkX3RvX3BhcnRpdGlvbnNfYXJyYXkoJnVwZCwgcGEsICZudXBkcywgbnBhcnRzKTsKKwkJCWJyZWFrOworCQljYXNlIEZESVNLX0RJRkZfTU9WRUQ6CisJCQlyYyA9IGFkZF90b19wYXJ0aXRpb25zX2FycmF5KCZyZW0sIHBhLCAmbnJlbXMsIG5wYXJ0cyk7CisJCQlyYyA9IGFkZF90b19wYXJ0aXRpb25zX2FycmF5KCZhZGQsIHBhLCAmbmFkZHMsIG5wYXJ0cyk7CisJCQlicmVhazsKKwkJfQorCQlpZiAocmMgIT0gMCkKKwkJCWdvdG8gZG9uZTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbnJlbXM7IGkrKykgeworCQlwYSA9IHJlbVtpXTsKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHBhLCAiIyV6dSBjYWxsaW5nIEJMS1BHX0RFTF9QQVJUSVRJT04iLCBwYS0+cGFydG5vKSk7CisJCWlmIChwYXJ0eF9kZWxfcGFydGl0aW9uKGN4dC0+ZGV2X2ZkLCBwYS0+cGFydG5vICsgMSkgIT0gMCkgeworCQkJZmRpc2tfd2FybihjeHQsIF8oIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIpLCBwYS0+cGFydG5vICsgMSk7CisJCQllcnIrKzsKKwkJfQorCX0KKwlmb3IgKGkgPSAwOyBpIDwgbnVwZHM7IGkrKykgeworCQlwYSA9IHVwZFtpXTsKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHBhLCAiIyV6dSBjYWxsaW5nIEJMS1BHX1JFU0laRV9QQVJUSVRJT04iLCBwYS0+cGFydG5vKSk7CisJCWlmIChwYXJ0eF9yZXNpemVfcGFydGl0aW9uKGN4dC0+ZGV2X2ZkLCBwYS0+cGFydG5vICsgMSwgcGEtPnN0YXJ0LCBwYS0+c2l6ZSkgIT0gMCkgeworCQkJZmRpc2tfd2FybihjeHQsIF8oIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiKSwgcGEtPnBhcnRubyArIDEpOworCQkJZXJyKys7CisJCX0KKwl9CisJZm9yIChpID0gMDsgaSA8IG5hZGRzOyBpKyspIHsKKwkJcGEgPSBhZGRbaV07CisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaihwYSwgIiMlenUgY2FsbGluZyBCTEtQR19BRERfUEFSVElUSU9OIiwgcGEtPnBhcnRubykpOworCQlpZiAocGFydHhfYWRkX3BhcnRpdGlvbihjeHQtPmRldl9mZCwgcGEtPnBhcnRubyArIDEsIHBhLT5zdGFydCwgcGEtPnNpemUpICE9IDApIHsKKwkJCWZkaXNrX3dhcm4oY3h0LCBfKCJGYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiAlenUgdG8gc3lzdGVtIiksIHBhLT5wYXJ0bm8gKyAxKTsKKwkJCWVycisrOworCQl9CisJfQorCWlmIChlcnIpCisJCWZkaXNrX2luZm8oY3h0LAlfKAorCQkJIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgIgorCQkJInRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIpKTsKK2RvbmU6CisJZnJlZShyZW0pOworCWZyZWUoYWRkKTsKKwlmcmVlKHVwZCk7CisJZmRpc2tfdW5yZWZfdGFibGUodGIpOworCXJldHVybiByYzsKK30KKyNlbHNlCitpbnQgZmRpc2tfcmVyZWFkX2NoYW5nZXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSBzdHJ1Y3QgZmRpc2tfdGFibGUgKm9yZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpIHsKKwlyZXR1cm4gZmRpc2tfcmVyZWFkX3BhcnRpdGlvbl90YWJsZShjeHQpOworfQorI2VuZGlmCisKKy8qKgorICogZmRpc2tfZGV2aWNlX2lzX3VzZWQ6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogT24gc3lzdGVtcyB3aGVyZSBpcyBubyBCTEtSUlBBUlQgaW9jdGwgdGhlIGZ1bmN0aW9uIHJldHVybnMgemVybyBhbmQKKyAqIHNldHMgZXJybm8gdG8gRU5PU1lTLgorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIGRldmljZSBhc3NpZ25lZCB0byB0aGUgY29udGV4dCBpcyB1c2VkIGJ5IHN5c3RlbSwgb3IgMC4KKyAqLworaW50IGZkaXNrX2RldmljZV9pc191c2VkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmRldl9mZCA+PSAwKTsKKworCWVycm5vID0gMDsKKworI2lmZGVmIEJMS1JSUEFSVAorCS8qIGl0IHNlZW1zIGtlcm5lbCBhbHdheXMgcmV0dXJuIEVJTlZBTCBmb3IgQkxLUlJQQVJUIG9uIGxvb3BkZXZpY2VzICovCisJaWYgKFNfSVNCTEsoY3h0LT5kZXZfc3Quc3RfbW9kZSkKKwkgICAgJiYgbWFqb3IoY3h0LT5kZXZfc3Quc3RfcmRldikgIT0gTE9PUERFVl9NQUpPUikgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJjYWxsaW5nIHJlLXJlYWQgaW9jdGwiKSk7CisJCXJjID0gaW9jdGwoY3h0LT5kZXZfZmQsIEJMS1JSUEFSVCkgIT0gMDsKKwl9CisjZWxzZQorCWVycm5vID0gRU5PU1lTOworI2VuZGlmCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZGV2aWNlIHVzZWQ6ICVzIFtlcnJubz0lZF0iLCByYyA/ICJUUlVFIiA6ICJGQUxTRSIsIGVycm5vKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX2lzX3JlYWRvbmx5OgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgZGV2aWNlIG9wZW4gcmVhZG9ubHkKKyAqLworaW50IGZkaXNrX2lzX3JlYWRvbmx5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+cmVhZG9ubHk7Cit9CisKKy8qKgorICogZmRpc2tfaXNfcmVnZmlsZToKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBTaW5jZTogMi4zMAorICoKKyAqIFJldHVybnM6IDEgaWYgb3BlbiBmaWxlIGRlc2NyaXB0b3IgaXMgcmVndWxhciBmaWxlIHJhdGhlciB0aGFuIGEgYmxvY2sgZGV2aWNlLgorICovCitpbnQgZmRpc2tfaXNfcmVnZmlsZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBTX0lTUkVHKGN4dC0+ZGV2X3N0LnN0X21vZGUpOworfQorCisvKioKKyAqIGZkaXNrX3VucmVmX2NvbnRleHQ6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKgorICogRGVhbGxvY2F0ZXMgY29udGV4dCBzdHJ1Y3QuCisgKi8KK3ZvaWQgZmRpc2tfdW5yZWZfY29udGV4dChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXVuc2lnbmVkIGk7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuOworCisJY3h0LT5yZWZjb3VudC0tOworCWlmIChjeHQtPnJlZmNvdW50IDw9IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZnJlZWluZyBjb250ZXh0ICVwIGZvciAlcyIsIGN4dCwgY3h0LT5kZXZfcGF0aCkpOworCisJCXJlc2V0X2NvbnRleHQoY3h0KTsJLyogdGhpcyBpcyBzZW5zaXRpdmUgdG8gcGFyZW50PC0+Y2hpbGQgcmVsYXRpb25zaGlwISAqLworCisJCS8qIGRlYWxsb2NhdGUgbGFiZWwncyBwcml2YXRlIHN0dWZmICovCisJCWZvciAoaSA9IDA7IGkgPCBjeHQtPm5sYWJlbHM7IGkrKykgeworCQkJaWYgKCFjeHQtPmxhYmVsc1tpXSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChjeHQtPmxhYmVsc1tpXS0+b3AtPmZyZWUpCisJCQkJY3h0LT5sYWJlbHNbaV0tPm9wLT5mcmVlKGN4dC0+bGFiZWxzW2ldKTsKKwkJCWVsc2UKKwkJCQlmcmVlKGN4dC0+bGFiZWxzW2ldKTsKKwkJfQorCisJCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0LT5wYXJlbnQpOworCQljeHQtPnBhcmVudCA9IE5VTEw7CisKKwkJZnJlZShjeHQpOworCX0KK30KKworCisvKioKKyAqIGZkaXNrX2VuYWJsZV9kZXRhaWxzOgorICogQGN4dDogY29udGV4dAorICogQGVuYWJsZTogdHJ1ZS9mYWxzZQorICoKKyAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgImRldGFpbHMiIGRpc3BsYXkgbW9kZS4gVGhpcyBmdW5jdGlvbiBoYXMgZWZmZWN0IHRvCisgKiBmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKCkgZnVuY3Rpb24uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19lbmFibGVfZGV0YWlscyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCWFzc2VydChjeHQpOworCWN4dC0+ZGlzcGxheV9kZXRhaWxzID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfaXNfZGV0YWlsczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGRldGFpbHMgYXJlIGVuYWJsZWQKKyAqLworaW50IGZkaXNrX2lzX2RldGFpbHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5kaXNwbGF5X2RldGFpbHMgPT0gMTsKK30KKworLyoqCisgKiBmZGlza19lbmFibGVfbGlzdG9ubHk6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZW5hYmxlOiB0cnVlL2ZhbHNlCisgKgorICogSnVzdCBsaXN0IHBhcnRpdGlvbiBvbmx5LCBkb24ndCBjYXJlIGFib3V0IGFub3RoZXIgZGV0YWlscywgbWlzdGFrZXMsIC4uLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfZW5hYmxlX2xpc3Rvbmx5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJYXNzZXJ0KGN4dCk7CisJY3h0LT5saXN0b25seSA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2lzX2xpc3Rvbmx5OgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgbGlzdC1vbmx5IG1vZGUgZW5hYmxlZAorICovCitpbnQgZmRpc2tfaXNfbGlzdG9ubHkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5saXN0b25seSA9PSAxOworfQorCisKKy8qKgorICogZmRpc2tfc2V0X3VuaXQ6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAc3RyOiAiY3lsaW5kZXIiIG9yICJzZWN0b3IiLgorICoKKyAqIFRoaXMgaXMgcHVyZSBzaGl0LCB1bmZvcnR1bmF0ZWx5IGZvciBleGFtcGxlIFN1biBhZGRyZXNzZXMgYmVnaW4gb2YgdGhlCisgKiBwYXJ0aXRpb24gYnkgY3lsaW5kZXJzLi4uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NldF91bml0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlhc3NlcnQoY3h0KTsKKworCWN4dC0+ZGlzcGxheV9pbl9jeWxfdW5pdHMgPSAwOworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCisJaWYgKHN0cmNtcChzdHIsICJjeWxpbmRlciIpID09IDAgfHwgc3RyY21wKHN0ciwgImN5bGluZGVycyIpID09IDApCisJCWN4dC0+ZGlzcGxheV9pbl9jeWxfdW5pdHMgPSAxOworCisJZWxzZSBpZiAoc3RyY21wKHN0ciwgInNlY3RvciIpID09IDAgfHwgc3RyY21wKHN0ciwgInNlY3RvcnMiKSA9PSAwKQorCQljeHQtPmRpc3BsYXlfaW5fY3lsX3VuaXRzID0gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImRpc3BsYXkgdW5pdDogJXMiLCBmZGlza19nZXRfdW5pdChjeHQsIDApKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3VuaXQ6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAbjogRkRJU0tfUExVUkFMIG9yIEZESVNLX1NJTkdVTEFSCisgKgorICogUmV0dXJuczogdW5pdCBuYW1lLgorICovCitjb25zdCBjaGFyICpmZGlza19nZXRfdW5pdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbikKK3sKKwlhc3NlcnQoY3h0KTsKKworCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCXJldHVybiBQXygiY3lsaW5kZXIiLCAiY3lsaW5kZXJzIiwgbik7CisJcmV0dXJuIFBfKCJzZWN0b3IiLCAic2VjdG9ycyIsIG4pOworfQorCisvKioKKyAqIGZkaXNrX3VzZV9jeWxpbmRlcnM6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiB1c2VyIHdhbnRzIHRvIGRpc3BsYXkgaW4gY3lsaW5kZXJzLgorICovCitpbnQgZmRpc2tfdXNlX2N5bGluZGVycyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPmRpc3BsYXlfaW5fY3lsX3VuaXRzID09IDE7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3I6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogVGhpcyBpcyBuZWNlc3Nhcnkgb25seSBmb3IgYnJhaW4gZGVhZCBzaXR1YXRpb25zIHdoZW4gd2UgdXNlICJjeWxpbmRlcnMiOworICoKKyAqIFJldHVybnM6IG51bWJlciBvZiAidW5pdHMiIHBlciBzZWN0b3IsIGRlZmF1bHQgaXMgMSBpZiBkaXNwbGF5IHVuaXQgaXMgc2VjdG9yLgorICovCit1bnNpZ25lZCBpbnQgZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKworCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpIHsKKwkJYXNzZXJ0KGN4dC0+Z2VvbS5oZWFkcyk7CisJCXJldHVybiBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9yczsKKwl9CisJcmV0dXJuIDE7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFRoZSBvcHRpbWFsIEkvTyBpcyBvcHRpb25hbCBhbmQgZG9lcyBub3QgaGF2ZSB0byBiZSBwcm92aWRlZCBieSBkZXZpY2UsCisgKiBhbnl3YXkgbGliZmRpc2sgbmV2ZXIgcmV0dXJucyB6ZXJvLiBJZiB0aGUgb3B0aW1hbCBJL08gc2l6ZSBpcyBub3QgcHJvdmlkZWQKKyAqIHRoZW4gbGliZmRpc2sgcmV0dXJucyBtaW5pbWFsIEkvTyBzaXplIG9yIHNlY3RvciBzaXplLgorICoKKyAqIFJldHVybnM6IG9wdGltYWwgSS9PIHNpemUgaW4gYnl0ZXMuCisgKi8KK3Vuc2lnbmVkIGxvbmcgZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+b3B0aW1hbF9pb19zaXplID8gY3h0LT5vcHRpbWFsX2lvX3NpemUgOiBjeHQtPmlvX3NpemU7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X21pbmltYWxfaW9zaXplOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IG1pbmltYWwgSS9PIHNpemUgaW4gYnl0ZXMKKyAqLwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfbWluaW1hbF9pb3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5taW5faW9fc2l6ZTsKK30KKworLyoqCisgKiBmZGlza19nZXRfcGh5c2VjdG9yX3NpemU6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogcGh5c2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMKKyAqLwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfcGh5c2VjdG9yX3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5waHlfc2VjdG9yX3NpemU7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3NlY3Rvcl9zaXplOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IGxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMKKyAqLwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfc2VjdG9yX3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5zZWN0b3Jfc2l6ZTsKK30KKworLyoqCisgKiBmZGlza19nZXRfYWxpZ25tZW50X29mZnNldAorICogQGN4dDogY29udGV4dAorICoKKyAqIFRoZSBhbGlnbm1lbnQgb2Zmc2V0IGlzIG9mZnNldCBiZXR3ZWVuIGxvZ2ljYWwgYW5kIHBoeXNpY2FsIHNlY3RvcnMuIEZvcgorICogYmFja3dhcmQgY29tcGF0aWJpbGl0eSB0aGUgZmlyc3QgbG9naWNhbCBzZWN0b3Igb24gNEsgZGlza3MgZG9lcyBubyBoYXZlIHRvCisgKiBzdGFydCBvbiB0aGUgc2FtZSBwbGFjZSBsaWtlIHBoeXNpY2FsIHNlY3RvcnMuCisgKgorICogUmV0dXJuczogYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcworICovCit1bnNpZ25lZCBsb25nIGZkaXNrX2dldF9hbGlnbm1lbnRfb2Zmc2V0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+YWxpZ25tZW50X29mZnNldDsKK30KKworLyoqCisgKiBmZGlza19nZXRfZ3JhaW5fc2l6ZToKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBncmFpbiBpbiBieXRlcyB1c2VkIHRvIGFsaWduIHBhcnRpdGlvbnMgKHVzdWFsbHkgMU1pQikKKyAqLwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfZ3JhaW5fc2l6ZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPmdyYWluOworfQorCisvKioKKyAqIGZkaXNrX2dldF9maXJzdF9sYmE6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogZmlyc3QgcG9zc2libGUgTEJBIG9uIGRpc2sgZm9yIGRhdGEgcGFydGl0aW9ucy4KKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfZ2V0X2ZpcnN0X2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPmZpcnN0X2xiYTsKK30KKworLyoqCisgKiBmZGlza19zZXRfZmlyc3RfbGJhOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICogQGxiYTogZmlyc3QgcG9zc2libGUgbG9naWNhbCBzZWN0b3IgZm9yIGRhdGEKKyAqCisgKiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIHVzZSB0aGUgZGVmYXVsdCBsaWJyYXJ5IHNldHRpbmcuIFRoZSBmaXJzdCBMQkEKKyAqIGlzIGFsd2F5cyByZXNldCBieSBmZGlza19hc3NpZ25fZGV2aWNlKCksIGZkaXNrX292ZXJyaWRlX2dlb21ldHJ5KCkKKyAqIGFuZCBmZGlza19yZXNldF9hbGlnbm1lbnQoKS4gVGhpcyBpcyB2ZXJ5IGxvdyBsZXZlbCBmdW5jdGlvbiBhbmQgbGlicmFyeQorICogZG9lcyBub3QgY2hlY2sgaWYgeW91ciBzZXR0aW5nIG1ha2VzIGFueSBzZW5zZS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIG5lY2Vzc2FyeSBvbmx5IHdoZW4geW91IHdhbnQgdG8gd29yayB3aXRoIHZlcnkgdW51c3VhbAorICogcGFydGl0aW9uIHRhYmxlcyBsaWtlIEdQVCBwcm90ZWN0aXZlIE1CUiBvciBoeWJyaWQgcGFydGl0aW9uIHRhYmxlcyBvbgorICogYm9vdGFibGUgbWVkaWEgd2hlcmUgdGhlIGZpcnN0IHBhcnRpdGlvbiBtYXkgc3RhcnQgb24gdmVyeSBjcmF6eSBvZmZzZXRzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX3NldF9maXJzdF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3QgbGJhKQoreworCWFzc2VydChjeHQpOworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNldHRpbmcgZmlyc3QgTEJBIGZyb20gJWp1IHRvICVqdSIsCisJCQkodWludG1heF90KSBjeHQtPmZpcnN0X2xiYSwgKHVpbnRtYXhfdCkgbGJhKSk7CisJY3h0LT5maXJzdF9sYmEgPSBsYmE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2xhc3RfbGJhOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIE5vdGUgdGhhdCB0aGUgZGV2aWNlIGhhcyB0byBiZSBhbHJlYWR5IGFzc2lnbmVkLgorICoKKyAqIFJldHVybnM6IGxhc3QgcG9zc2libGUgTEJBIG9uIGRldmljZQorICovCitmZGlza19zZWN0b3JfdCBmZGlza19nZXRfbGFzdF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5sYXN0X2xiYTsKK30KKworLyoqCisgKiBmZGlza19zZXRfbGFzdF9sYmE6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKiBAbGJhOiBsYXN0IHBvc3NpYmxlIGxvZ2ljYWwgc2VjdG9yCisgKgorICogSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgdGhlIGRlZmF1bHQgbGlicmFyeSBzZXR0aW5nLiBUaGUgbGFzdCBMQkEKKyAqIGlzIGFsd2F5cyByZXNldCBieSBmZGlza19hc3NpZ25fZGV2aWNlKCksIGZkaXNrX292ZXJyaWRlX2dlb21ldHJ5KCkgYW5kCisgKiBmZGlza19yZXNldF9hbGlnbm1lbnQoKS4KKyAqCisgKiBUaGUgZGVmYXVsdCBpcyBudW1iZXIgb2Ygc2VjdG9ycyBvbiB0aGUgZGV2aWNlLCBidXQgbWF5YmUgbW9kaWZpZWQgYnkgdGhlCisgKiBjdXJyZW50IGRpc2tsYWJlbCBkcml2ZXIgKGZvciBleGFtcGxlIEdQVCB1c2VzIHRoZSBlbmQgb2YgZGlzayBmb3IgYmFja3VwCisgKiBoZWFkZXIsIHNvIGxhc3RfbGJhIGlzIHNtYWxsZXIgdGhhbiB0b3RhbCBudW1iZXIgb2Ygc2VjdG9ycykuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfc2V0X2xhc3RfbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IGxiYSkKK3sKKwlhc3NlcnQoY3h0KTsKKworCWlmIChsYmEgPiBjeHQtPnRvdGFsX3NlY3RvcnMgLSAxIHx8IGxiYSA8IDEpCisJCXJldHVybiAtRVJBTkdFOworCWN4dC0+bGFzdF9sYmEgPSBsYmE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc2V0X3NpemVfdW5pdDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEB1bml0OiBGRElTS19TSVpFVU5JVF8qCisgKgorICogU2V0cyB1bml0IGZvciBTSVpFIG91dHB1dCBmaWVsZCAoc2VlIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoKSkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NldF9zaXplX3VuaXQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IHVuaXQpCit7CisJYXNzZXJ0KGN4dCk7CisJY3h0LT5zaXpldW5pdCA9IHVuaXQ7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3NpemVfdW5pdDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBHZXRzIHVuaXQgZm9yIFNJWkUgb3V0cHV0IGZpZWxkIChzZWUgZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZygpKS4KKyAqCisgKiBSZXR1cm5zOiB1bml0CisgKi8KK2ludCBmZGlza19nZXRfc2l6ZV91bml0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+c2l6ZXVuaXQ7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X25zZWN0b3JzOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IHNpemUgb2YgdGhlIGRldmljZSBpbiBsb2dpY2FsIHNlY3RvcnMuCisgKi8KK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX2dldF9uc2VjdG9ycyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPnRvdGFsX3NlY3RvcnM7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2Rldm5hbWU6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogZGV2aWNlIG5hbWUuCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX2dldF9kZXZuYW1lKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+ZGV2X3BhdGg7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2RldmZkOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IGRldmljZSBmaWxlIGRlc2NyaXB0b3IuCisgKi8KK2ludCBmZGlza19nZXRfZGV2ZmQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5kZXZfZmQ7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2dlb21faGVhZHM6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGdlb21ldHJ5IGhlYWRzLgorICovCit1bnNpZ25lZCBpbnQgZmRpc2tfZ2V0X2dlb21faGVhZHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gY3h0LT5nZW9tLmhlYWRzOworfQorLyoqCisgKiBmZGlza19nZXRfZ2VvbV9zZWN0b3JzOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBnZW9tZXRyeSBzZWN0b3JzLgorICovCitmZGlza19zZWN0b3JfdCBmZGlza19nZXRfZ2VvbV9zZWN0b3JzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+Z2VvbS5zZWN0b3JzOworCit9CisKKy8qKgorICogZmRpc2tfZ2V0X2dlb21fY3lsaW5kZXJzOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBnZW9tZXRyeSBjeWxpbmRlcnMKKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfZ2V0X2dlb21fY3lsaW5kZXJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJcmV0dXJuIGN4dC0+Z2VvbS5jeWxpbmRlcnM7Cit9CisKK2ludCBmZGlza19taXNzaW5nX2dlb21ldHJ5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwpCisJCXJldHVybiAwOworCisJcmMgPSAoZmRpc2tfbGFiZWxfcmVxdWlyZV9nZW9tZXRyeShjeHQtPmxhYmVsKSAmJgorCQkgICAgKCFjeHQtPmdlb20uaGVhZHMgfHwgIWN4dC0+Z2VvbS5zZWN0b3JzCisJCQkJICAgICAgfHwgIWN4dC0+Z2VvbS5jeWxpbmRlcnMpKTsKKworCWlmIChyYyAmJiAhZmRpc2tfaXNfbGlzdG9ubHkoY3h0KSkKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIikpOworCisJcmV0dXJuIHJjOworfQorCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvZG9zLmMgYi9saWJmZGlzay9zcmMvZG9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE3ODQwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9kb3MuYwpAQCAtMCwwICsxLDI1MjkgQEAKKy8qCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiAgICAgICAgICAgICAgICAgICAgMjAxMiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqCisgKiBUaGlzIGlzIHJlLXdyaXR0ZW4gdmVyc2lvbiBmb3IgbGliZmRpc2ssIHRoZSBvcmlnaW5hbCB3YXMgZmRpc2tkb3NsYWJlbC5jCisgKiBmcm9tIHV0aWwtbGludXggZmRpc2suCisgKi8KKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAicmFuZHV0aWxzLmgiCisjaW5jbHVkZSAicHQtbWJyLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2RlZmluZSBNQVhJTVVNX1BBUlRTCTYwCisjZGVmaW5lIEFDVElWRV9GTEFHICAgICAweDgwCisKKy8qKgorICogU0VDVElPTjogZG9zCisgKiBAdGl0bGU6IERPUworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBkaXNrIGxhYmVsIHNwZWNpZmljIGZ1bmN0aW9ucworICoKKyAqLworCisKKyNkZWZpbmUgSVNfRVhURU5ERUQoaSkgXAorCSgoaSkgPT0gTUJSX0RPU19FWFRFTkRFRF9QQVJUSVRJT04gXAorCSB8fCAoaSkgPT0gTUJSX1c5NV9FWFRFTkRFRF9QQVJUSVRJT04gXAorCSB8fCAoaSkgPT0gTUJSX0xJTlVYX0VYVEVOREVEX1BBUlRJVElPTikKKworLyoKKyAqIHBlciBwYXJ0aXRpb24gdGFibGUgZW50cnkgZGF0YQorICoKKyAqIFRoZSBmb3VyIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIHRoZSBzYW1lIHNlY3RvcmJ1ZmZlcgorICogYW5kIGhhdmUgTlVMTCBleF9lbnRyeS4KKyAqCisgKiBFYWNoIGxvZ2ljYWwgcGFydGl0aW9uIHRhYmxlIGVudHJ5IGhhcyB0d28gcG9pbnRlcnMsIG9uZSBmb3IgdGhlCisgKiBwYXJ0aXRpb24gYW5kIG9uZSBsaW5rIHRvIHRoZSBuZXh0IG9uZS4KKyAqLworc3RydWN0IHB0ZSB7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnB0X2VudHJ5OwkvKiBvbi1kaXNrIE1CUiBlbnRyeSAqLworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpleF9lbnRyeTsJLyogb24tZGlzayBFQlIgZW50cnkgKi8KKwlmZGlza19zZWN0b3JfdCBvZmZzZXQ7CSAgICAgICAgLyogZGlzayBzZWN0b3IgbnVtYmVyICovCisJdW5zaWduZWQgY2hhciAqc2VjdG9yYnVmZmVyOwkvKiBkaXNrIHNlY3RvciBjb250ZW50cyAqLworCisJdW5zaWduZWQgaW50IGNoYW5nZWQgOiAxLAorCQkgICAgIHByaXZhdGVfc2VjdG9yYnVmZmVyIDogMTsKK307CisKKy8qCisgKiBpbi1tZW1vcnkgZmRpc2sgR1BUIHN0dWZmCisgKi8KK3N0cnVjdCBmZGlza19kb3NfbGFiZWwgeworCXN0cnVjdCBmZGlza19sYWJlbAloZWFkOwkJLyogZ2VuZXJpYyBwYXJ0ICovCisKKwlzdHJ1Y3QgcHRlCXB0ZXNbTUFYSU1VTV9QQVJUU107CS8qIHBhcnRpdGlvbiAqLworCWZkaXNrX3NlY3Rvcl90CWV4dF9vZmZzZXQ7CQkvKiBzdGFydCBvZiB0aGUgZXh0LnBhcnRpdGlvbiAqLworCXNpemVfdAkJZXh0X2luZGV4OwkJLyogZXh0LnBhcnRpdGlvbiBpbmRleCAoaWYgZXh0X29mZnNldCBpcyBzZXQpICovCisJdW5zaWduZWQgaW50CWNvbXBhdGlibGUgOiAxLAkJLyogaXMgRE9TIGNvbXBhdGlibGU/ICovCisJCQlub25fcHRfY2hhbmdlZCA6IDE7CS8qIE1CUiwgYnV0IG5vIFBUIGNoYW5nZWQgKi8KK307CisKKy8qCisgKiBQYXJ0aXRpb24gdHlwZXMKKyAqLworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0dHlwZSBkb3NfcGFydHR5cGVzW10gPSB7CisJI2luY2x1ZGUgInB0LW1ici1wYXJ0bmFtZXMuaCIKK307CisKKyNkZWZpbmUgc2V0X2hzYyhoLHMsYyxzZWN0b3IpIHsgXAorCQlzID0gc2VjdG9yICUgY3h0LT5nZW9tLnNlY3RvcnMgKyAxOwkJCVwKKwkJc2VjdG9yIC89IGN4dC0+Z2VvbS5zZWN0b3JzOwkJCQlcCisJCWggPSBzZWN0b3IgJSBjeHQtPmdlb20uaGVhZHM7CQkJCVwKKwkJc2VjdG9yIC89IGN4dC0+Z2VvbS5oZWFkczsJCQkJXAorCQljID0gc2VjdG9yICYgMHhmZjsJCQkJCVwKKwkJcyB8PSAoc2VjdG9yID4+IDIpICYgMHhjMDsJCQkJXAorCX0KKworCisjZGVmaW5lIHNlY3RvcihzKQkoKHMpICYgMHgzZikKKyNkZWZpbmUgY3lsaW5kZXIocywgYykJKChjKSB8ICgoKHMpICYgMHhjMCkgPDwgMikpCisKKyNkZWZpbmUgYWxpZ25tZW50X3JlcXVpcmVkKF94KQkoKF94KS0+Z3JhaW4gIT0gKF94KS0+c2VjdG9yX3NpemUpCisKKyNkZWZpbmUgaXNfZG9zX2NvbXBhdGlibGUoX3gpIFwKKwkJICAgKGZkaXNrX2lzX2xhYmVsKF94LCBET1MpICYmIFwKKyAgICAgICAgICAgICAgICAgICAgZmRpc2tfZG9zX2lzX2NvbXBhdGlibGUoZmRpc2tfZ2V0X2xhYmVsKF94LCBOVUxMKSkpCisKKyNkZWZpbmUgY3JvdW5kKGMsIG4pCWZkaXNrX2Nyb3VuZChjLCBuKQorCisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqc2VsZl9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCXJldHVybiAoc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqKSBjeHQtPmxhYmVsOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBwdGUgKnNlbGZfcHRlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBpKQoreworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAoaSA+PSBBUlJBWV9TSVpFKGwtPnB0ZXMpKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiAmbC0+cHRlc1tpXTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqc2VsZl9wYXJ0aXRpb24oCisJCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQlzaXplX3QgaSkKK3sKKwlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgaSk7CisJcmV0dXJuIHBlID8gcGUtPnB0X2VudHJ5IDogTlVMTDsKK30KKworc3RydWN0IGRvc19wYXJ0aXRpb24gKmZkaXNrX2Rvc19nZXRfcGFydGl0aW9uKAorCQkJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJc2l6ZV90IGkpCit7CisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJcmV0dXJuIHNlbGZfcGFydGl0aW9uKGN4dCwgaSk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmRvc19wYXJ0aXRpb25fcGFydHR5cGUoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwKQoreworCXN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdAorCQk9IGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUoY3h0LT5sYWJlbCwgcC0+c3lzX2luZCk7CisJcmV0dXJuIHQgPyA6IGZkaXNrX25ld191bmtub3duX3BhcnR0eXBlKHAtPnN5c19pbmQsIE5VTEwpOworfQorCisvKgorICogTGludXgga2VybmVsIGNhcmVzIGFib3V0IHBhcnRpdGlvbiBzaXplIG9ubHkuIFRoaW5ncyBsaWtlCisgKiBwYXJ0aXRpb24gdHlwZSBvciBzbyBhcmUgY29tcGxldGVseSBpcnJlbGV2YW50IC0tIGt6YWsgTm92LTIwMTMKKyAqLworc3RhdGljIGludCBpc191c2VkX3BhcnRpdGlvbihzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcCkKK3sKKwlyZXR1cm4gcCAmJiBkb3NfcGFydGl0aW9uX2dldF9zaXplKHApICE9IDA7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnRpdGlvbl9zZXRfY2hhbmdlZCgKKwkJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCXNpemVfdCBpLAorCQkJCWludCBjaGFuZ2VkKQoreworCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKworCWlmICghcGUpCisJCXJldHVybjsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogc2V0dGluZyAlenUgcGFydGl0aW9uIHRvICVzIiwgaSwKKwkJCQljaGFuZ2VkID8gImNoYW5nZWQiIDogInVuY2hhbmdlZCIpKTsKKworCXBlLT5jaGFuZ2VkID0gY2hhbmdlZCA/IDEgOiAwOworCWlmIChjaGFuZ2VkKQorCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKK30KKworc3RhdGljIGZkaXNrX3NlY3Rvcl90IGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHN0cnVjdCBwdGUgKnBlKQoreworCWFzc2VydChwZSk7CisJYXNzZXJ0KHBlLT5wdF9lbnRyeSk7CisKKwlyZXR1cm4gcGUtPm9mZnNldCArIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBlLT5wdF9lbnRyeSk7Cit9CisKK3N0YXRpYyBmZGlza19zZWN0b3JfdCBnZXRfYWJzX3BhcnRpdGlvbl9lbmQoc3RydWN0IHB0ZSAqcGUpCit7CisJZmRpc2tfc2VjdG9yX3Qgc2l6ZTsKKworCWFzc2VydChwZSk7CisJYXNzZXJ0KHBlLT5wdF9lbnRyeSk7CisKKwlzaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwZS0+cHRfZW50cnkpOworCXJldHVybiBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChwZSkgKyBzaXplIC0gKHNpemUgPyAxIDogMCk7Cit9CisKK3N0YXRpYyBpbnQgaXNfY2xlYXJlZF9wYXJ0aXRpb24oc3RydWN0IGRvc19wYXJ0aXRpb24gKnApCit7CisJcmV0dXJuICEoIXAgfHwgcC0+Ym9vdF9pbmQgfHwgcC0+YmggfHwgcC0+YnMgfHwgcC0+YmMgfHwKKwkJIHAtPnN5c19pbmQgfHwgcC0+ZWggfHwgcC0+ZXMgfHwgcC0+ZWMgfHwKKwkJIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApIHx8IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkpOworfQorCitzdGF0aWMgaW50IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQkJCXNpemVfdCAqcGFydG5vKQoreworCXNpemVfdCBvcmcsIG47CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChwYXJ0bm8pOworCisJb3JnID0gY3h0LT5sYWJlbC0+bnBhcnRzX21heDsKKworCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSA0OworCXJjID0gZmRpc2tfcGFydGl0aW9uX25leHRfcGFydG5vKHBhLCBjeHQsICZuKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gb3JnOworCisJaWYgKHJjID09IDEpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iKSk7CisJCXJjID0gLTE7CisJfSBlbHNlIGlmIChyYyA9PSAtRVJBTkdFKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iKSk7CisJfSBlbHNlIGlmIChyYyA9PSAwKQorCQkqcGFydG5vID0gbjsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzZWVrX3NlY3RvcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBzZWNubykKK3sKKwlvZmZfdCBvZmZzZXQgPSAob2ZmX3QpIHNlY25vICogY3h0LT5zZWN0b3Jfc2l6ZTsKKworCXJldHVybiBsc2VlayhjeHQtPmRldl9mZCwgb2Zmc2V0LCBTRUVLX1NFVCkgPT0gKG9mZl90KSAtMSA/IC1lcnJubyA6IDA7Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9zZWN0b3Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3Qgc2Vjbm8sCisJCQl1bnNpZ25lZCBjaGFyICpidWYpCit7CisJaW50IHJjID0gc2Vla19zZWN0b3IoY3h0LCBzZWNubyk7CisJc3NpemVfdCByOworCisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIHJjOworCisJciA9IHJlYWQoY3h0LT5kZXZfZmQsIGJ1ZiwgY3h0LT5zZWN0b3Jfc2l6ZSk7CisJaWYgKHIgPT0gKHNzaXplX3QpIGN4dC0+c2VjdG9yX3NpemUpCisJCXJldHVybiAwOworCWlmIChyIDwgMCkKKwkJcmV0dXJuIC1lcnJubzsKKwlyZXR1cm4gLTE7Cit9CisKKy8qIEFsbG9jYXRlIGEgYnVmZmVyIGFuZCByZWFkIGEgcGFydGl0aW9uIHRhYmxlIHNlY3RvciAqLworc3RhdGljIGludCByZWFkX3B0ZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcG5vLCBmZGlza19zZWN0b3JfdCBvZmZzZXQpCit7CisJaW50IHJjOworCXVuc2lnbmVkIGNoYXIgKmJ1ZjsKKwlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgcG5vKTsKKworCWlmICghcGUpCisJCXJldHVybiAtRUlOVkFMOworCisJYnVmID0gY2FsbG9jKDEsIGN4dC0+c2VjdG9yX3NpemUpOworCWlmICghYnVmKQorCQlyZXR1cm4gLUVOT01FTTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogcmVhZGluZyBFQlIgJXp1OiBvZmZzZXQ9JWp1LCBidWZmZXI9JXAiLAorCQkJCXBubywgKHVpbnRtYXhfdCkgb2Zmc2V0LCBidWYpKTsKKworCXBlLT5vZmZzZXQgPSBvZmZzZXQ7CisJcGUtPnNlY3RvcmJ1ZmZlciA9IGJ1ZjsKKwlwZS0+cHJpdmF0ZV9zZWN0b3JidWZmZXIgPSAxOworCisJcmMgPSByZWFkX3NlY3RvcihjeHQsIG9mZnNldCwgcGUtPnNlY3RvcmJ1ZmZlcik7CisJaWYgKHJjKSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgIgorCQkJCSIob2Zmc2V0PSVqdSkiKSwgKHVpbnRtYXhfdCkgb2Zmc2V0KTsKKwkJcmV0dXJuIHJjOworCX0KKworCXBlLT5jaGFuZ2VkID0gMDsKKwlwZS0+cHRfZW50cnkgPSBwZS0+ZXhfZW50cnkgPSBOVUxMOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyB2b2lkIGNsZWFyX3BhcnRpdGlvbihzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcCkKK3sKKwlpZiAoIXApCisJCXJldHVybjsKKwlwLT5ib290X2luZCA9IDA7CisJcC0+YmggPSAwOworCXAtPmJzID0gMDsKKwlwLT5iYyA9IDA7CisJcC0+c3lzX2luZCA9IDA7CisJcC0+ZWggPSAwOworCXAtPmVzID0gMDsKKwlwLT5lYyA9IDA7CisJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQocCwwKTsKKwlkb3NfcGFydGl0aW9uX3NldF9zaXplKHAsMCk7Cit9CisKK3N0YXRpYyB2b2lkIGRvc19pbml0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzaXplX3QgaTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogaW5pdGlhbGl6ZSwgZmlyc3Qgc2VjdG9yIGJ1ZmZlciAlcCIsIGN4dC0+Zmlyc3RzZWN0b3IpKTsKKworCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSA0OwkvKiBkZWZhdWx0LCB1bmxpbWl0ZWQgbnVtYmVyIG9mIGxvZ2ljYWwgKi8KKworCWwtPmV4dF9pbmRleCA9IDA7CisJbC0+ZXh0X29mZnNldCA9IDA7CisJbC0+bm9uX3B0X2NoYW5nZWQgPSAwOworCisJbWVtc2V0KGwtPnB0ZXMsIDAsIHNpemVvZihsLT5wdGVzKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKworCQlhc3NlcnQocGUpOworCQlwZS0+cHRfZW50cnkgPSBtYnJfZ2V0X3BhcnRpdGlvbihjeHQtPmZpcnN0c2VjdG9yLCBpKTsKKwkJcGUtPmV4X2VudHJ5ID0gTlVMTDsKKwkJcGUtPm9mZnNldCA9IDA7CisJCXBlLT5zZWN0b3JidWZmZXIgPSBjeHQtPmZpcnN0c2VjdG9yOworCQlwZS0+cHJpdmF0ZV9zZWN0b3JidWZmZXIgPSAwOworCQlwZS0+Y2hhbmdlZCA9IDA7CisKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBpbml0aWFsaXplOiAjJXp1IHN0YXJ0PSV1IHNpemU9JXUgc3lzaWQ9JTAyeCIsCisJCQkJCWkgKyAxLAorCQkJCQlkb3NfcGFydGl0aW9uX2dldF9zdGFydChwZS0+cHRfZW50cnkpLAorCQkJCQlkb3NfcGFydGl0aW9uX2dldF9zaXplKHBlLT5wdF9lbnRyeSksCisJCQkJCXBlLT5wdF9lbnRyeS0+c3lzX2luZCkpOworCX0KKworCWlmIChmZGlza19pc19saXN0b25seShjeHQpKQorCQlyZXR1cm47CisJLyoKKwkgKiBWYXJpb3VzIHdhcm5pbmdzLi4uCisJICovCisJaWYgKGZkaXNrX21pc3NpbmdfZ2VvbWV0cnkoY3h0KSkKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iKSk7CisKKwlpZiAoaXNfZG9zX2NvbXBhdGlibGUoY3h0KSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iKSk7CisKKwkJaWYgKGN4dC0+c2VjdG9yX3NpemUgIT0gY3h0LT5waHlfc2VjdG9yX3NpemUpCisJCQlmZGlza19pbmZvKGN4dCwgXygKKwkJIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuICIKKwkJInRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgIgorCQkiSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIikpOworCX0KKworCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCWZkaXNrX3dhcm54KGN4dCwgXygiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIikpOworCisJaWYgKGN4dC0+dG90YWxfc2VjdG9ycyA+IFVJTlRfTUFYKSB7CisJCXVpbnQ2NF90IGJ5dGVzID0gY3h0LT50b3RhbF9zZWN0b3JzICogY3h0LT5zZWN0b3Jfc2l6ZTsKKwkJY2hhciAqc3pzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF9TUEFDRQorCQkJCQkgICB8IFNJWkVfU1VGRklYXzNMRVRURVIsIGJ5dGVzKTsKKwkJZmRpc2tfd2FybngoY3h0LAorCQlfKCJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyAiCisJCSAgInBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciAiCisJCSAgInZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSAiCisJCSAgInNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIiksCisJCQlzenN0ciwgYnl0ZXMsCisJCQlVSU5UX01BWCAqIGN4dC0+c2VjdG9yX3NpemUsCisJCQljeHQtPnNlY3Rvcl9zaXplKTsKKwkJZnJlZShzenN0cik7CisJfQorfQorCisvKiBjYWxsYmFjayBjYWxsZWQgYnkgbGliZmRpc2sgKi8KK3N0YXRpYyB2b2lkIGRvc19kZWluaXQoc3RydWN0IGZkaXNrX2xhYmVsICpsYikKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gKHN0cnVjdCBmZGlza19kb3NfbGFiZWwgKikgbGI7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShsLT5wdGVzKTsgaSsrKSB7CisJCXN0cnVjdCBwdGUgKnBlID0gJmwtPnB0ZXNbaV07CisKKwkJaWYgKHBlLT5wcml2YXRlX3NlY3RvcmJ1ZmZlciAmJiBwZS0+c2VjdG9yYnVmZmVyKSB7CisJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IGZyZWVpbmcgcHRlICV6dSBzZWN0b3IgYnVmZmVyICVwIiwKKwkJCQkJCWksIHBlLT5zZWN0b3JidWZmZXIpKTsKKwkJCWZyZWUocGUtPnNlY3RvcmJ1ZmZlcik7CisJCX0KKwkJcGUtPnNlY3RvcmJ1ZmZlciA9IE5VTEw7CisJCXBlLT5wcml2YXRlX3NlY3RvcmJ1ZmZlciA9IDA7CisJfQorCisJbWVtc2V0KGwtPnB0ZXMsIDAsIHNpemVvZihsLT5wdGVzKSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlc2V0X3B0ZShzdHJ1Y3QgcHRlICpwZSkKK3sKKwlhc3NlcnQocGUpOworCisJaWYgKHBlLT5wcml2YXRlX3NlY3RvcmJ1ZmZlcikgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCIgICAtLT4gZnJlZWluZyBwdGUgc2VjdG9yIGJ1ZmZlciAlcCIsCisJCQkJCXBlLT5zZWN0b3JidWZmZXIpKTsKKwkJZnJlZShwZS0+c2VjdG9yYnVmZmVyKTsKKwl9CisJbWVtc2V0KHBlLCAwLCBzaXplb2Yoc3RydWN0IHB0ZSkpOworfQorCitzdGF0aWMgaW50IGRlbGV0ZV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRudW0pCit7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbDsKKwlzdHJ1Y3QgcHRlICpwZTsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCXBlID0gc2VsZl9wdGUoY3h0LCBwYXJ0bnVtKTsKKwlpZiAoIXBlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogZGVsZXRlIHBhcnRpdGlvbiAlenUgKG1heD0lenUpIiwgcGFydG51bSwKKwkJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4KSk7CisKKwlsID0gc2VsZl9sYWJlbChjeHQpOworCXAgPSBwZS0+cHRfZW50cnk7CisJcSA9IHBlLT5leF9lbnRyeTsKKworCS8qIE5vdGUgdGhhdCBmb3IgdGhlIGZpZnRoIHBhcnRpdGlvbiAocGFydG51bSA9PSA0KSB3ZSBkb24ndCBhY3R1YWxseQorCSAgIGRlY3JlbWVudCBwYXJ0aXRpb25zLiAqLworCWlmIChwYXJ0bnVtIDwgNCkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCItLT4gZGVsZXRlIHByaW1hcnkiKSk7CisJCWlmIChJU19FWFRFTkRFRChwLT5zeXNfaW5kKSAmJiBwYXJ0bnVtID09IGwtPmV4dF9pbmRleCkgeworCQkJc2l6ZV90IGk7CisJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCIgLS0+IGRlbGV0ZSBleHRlbmRlZCIpKTsKKwkJCWZvciAoaSA9IDQ7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCIgIC0tPiBkZWxldGUgbG9naWNhbCAjJXp1IiwgaSkpOworCQkJCXJlc2V0X3B0ZSgmbC0+cHRlc1tpXSk7CisKKwkJCX0KKwkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSA0OworCQkJbC0+cHRlc1tsLT5leHRfaW5kZXhdLmV4X2VudHJ5ID0gTlVMTDsKKwkJCWwtPmV4dF9vZmZzZXQgPSAwOworCQkJbC0+ZXh0X2luZGV4ID0gMDsKKwkJfQorCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBwYXJ0bnVtLCAxKTsKKwkJY2xlYXJfcGFydGl0aW9uKHApOworCX0gZWxzZSBpZiAoIXEtPnN5c19pbmQgJiYgcGFydG51bSA+IDQpIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiLS0+IGRlbGV0ZSBsb2dpY2FsIFtsYXN0IGluIHRoZSBjaGFpbl0iKSk7CisJCXJlc2V0X3B0ZSgmbC0+cHRlc1twYXJ0bnVtXSk7CisJCS0tY3h0LT5sYWJlbC0+bnBhcnRzX21heDsKKwkJLS1wYXJ0bnVtOworCQkvKiBjbGVhciBsaW5rIHRvIGRlbGV0ZWQgcGFydGl0aW9uICovCisJCWNsZWFyX3BhcnRpdGlvbihsLT5wdGVzW3BhcnRudW1dLmV4X2VudHJ5KTsKKwkJcGFydGl0aW9uX3NldF9jaGFuZ2VkKGN4dCwgcGFydG51bSwgMSk7CisJfSBlbHNlIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiLS0+IGRlbGV0ZSBsb2dpY2FsIFttb3ZlIGRvd25dIikpOworCQlpZiAocGFydG51bSA+IDQpIHsKKwkJCURCRyhMQUJFTCwgdWxfZGVidWcoIiAtLT4gZGVsZXRlICV6dSBsb2dpY2FsIGxpbmsiLCBwYXJ0bnVtKSk7CisJCQlwID0gbC0+cHRlc1twYXJ0bnVtIC0gMV0uZXhfZW50cnk7CisJCQkqcCA9ICpxOworCQkJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQocCwgZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocSkpOworCQkJZG9zX3BhcnRpdGlvbl9zZXRfc2l6ZShwLCBkb3NfcGFydGl0aW9uX2dldF9zaXplKHEpKTsKKwkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIHBhcnRudW0gLSAxLCAxKTsKKworCQl9IGVsc2UgaWYgKGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPiA1KSB7CisJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCIgLS0+IGRlbGV0ZSBmaXJzdCBsb2dpY2FsIGxpbmsiKSk7CisJCQlwZSA9ICZsLT5wdGVzWzVdOwkvKiBzZWNvbmQgbG9naWNhbCAqLworCisJCQlpZiAocGUtPnB0X2VudHJ5KQkvKiBwcmV2ZW50IFNFR0ZBVUxUICovCisJCQkJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQocGUtPnB0X2VudHJ5LAorCQkJCQkgICAgICAgZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpIC0KKwkJCQkJICAgICAgIGwtPmV4dF9vZmZzZXQpOworCQkJcGUtPm9mZnNldCA9IGwtPmV4dF9vZmZzZXQ7CisJCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCA1LCAxKTsKKwkJfQorCisJCWlmIChjeHQtPmxhYmVsLT5ucGFydHNfbWF4ID4gNSkgeworCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygiIC0tPiBtb3ZlIHB0ZXMiKSk7CisJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4LS07CisJCQlyZXNldF9wdGUoJmwtPnB0ZXNbcGFydG51bV0pOworCQkJd2hpbGUgKHBhcnRudW0gPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KSB7CisJCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygiICAtLT4gbW92aW5nIHB0ZSAlenUgPC0tICV6dSIsIHBhcnRudW0sIHBhcnRudW0gKyAxKSk7CisJCQkJbC0+cHRlc1twYXJ0bnVtXSA9IGwtPnB0ZXNbcGFydG51bSArIDFdOworCQkJCXBhcnRudW0rKzsKKwkJCX0KKwkJCW1lbXNldCgmbC0+cHRlc1twYXJ0bnVtXSwgMCwgc2l6ZW9mKHN0cnVjdCBwdGUpKTsKKwkJfSBlbHNlIHsKKwkJCURCRyhMQUJFTCwgdWxfZGVidWcoIiAtLT4gdGhlIG9ubHkgbG9naWNhbDogY2xlYXIgb25seSIpKTsKKwkJCWNsZWFyX3BhcnRpdGlvbihsLT5wdGVzW3BhcnRudW1dLnB0X2VudHJ5KTsKKwkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXgtLTsKKworCQkJaWYgKHBhcnRudW0gPT0gNCkgeworCQkJCURCRyhMQUJFTCwgdWxfZGVidWcoIiAgLS0+IGNsZWFyIGxhc3QgbG9naWNhbCIpKTsKKwkJCQlyZXNldF9wdGUoJmwtPnB0ZXNbcGFydG51bV0pOworCQkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGwtPmV4dF9pbmRleCwgMSk7CisJCQl9CisJCX0KKwl9CisKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkb3NfZGVsZXRlX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG51bSkKK3sKKwlzdHJ1Y3QgcHRlICpwZTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCXBlID0gc2VsZl9wdGUoY3h0LCBwYXJ0bnVtKTsKKwlpZiAoIXBlIHx8ICFpc191c2VkX3BhcnRpdGlvbihwZS0+cHRfZW50cnkpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJldHVybiBkZWxldGVfcGFydGl0aW9uKGN4dCwgcGFydG51bSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlYWRfZXh0ZW5kZWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGV4dCkKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgcHRlICpwZXgsICpwZTsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcCwgKnE7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWwtPmV4dF9pbmRleCA9IGV4dDsKKwlwZXggPSBzZWxmX3B0ZShjeHQsIGV4dCk7CisJaWYgKCFwZXgpIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiB1bmluaXRpYWxpemVkIHBvaW50ZXIgdG8gJXp1IHBleCIsIGV4dCkpOworCQlyZXR1cm47CisJfQorCXBleC0+ZXhfZW50cnkgPSBwZXgtPnB0X2VudHJ5OworCisJcCA9IHBleC0+cHRfZW50cnk7CisJaWYgKCFkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIikpOworCQlyZXR1cm47CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBSZWFkaW5nIGV4dGVuZGVkICV6dSIsIGV4dCkpOworCisJd2hpbGUgKElTX0VYVEVOREVEIChwLT5zeXNfaW5kKSkgeworCQlpZiAoY3h0LT5sYWJlbC0+bnBhcnRzX21heCA+PSBNQVhJTVVNX1BBUlRTKSB7CisJCQkvKiBUaGlzIGlzIG5vdCBhIExpbnV4IHJlc3RyaWN0aW9uLCBidXQKKwkJCSAgIHRoaXMgcHJvZ3JhbSB1c2VzIGFycmF5cyBvZiBzaXplIE1BWElNVU1fUEFSVFMuCisJCQkgICBEbyBub3QgdHJ5IHRvIGBpbXByb3ZlJyB0aGlzIHRlc3QuICovCisJCQlzdHJ1Y3QgcHRlICpwcmUgPSBzZWxmX3B0ZShjeHQsCisJCQkJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4IC0gMSk7CisJCQlmZGlza193YXJueChjeHQsCisJCQlfKCJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkICIKKwkJCSAgImlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIpLAorCQkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpOworCisJCQlpZiAocHJlKSB7CisJCQkJY2xlYXJfcGFydGl0aW9uKHByZS0+ZXhfZW50cnkpOworCQkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsCisJCQkJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4IC0gMSwgMSk7CisJCQl9CisJCQlyZXR1cm47CisJCX0KKworCQlwZSA9IHNlbGZfcHRlKGN4dCwgY3h0LT5sYWJlbC0+bnBhcnRzX21heCk7CisJCWlmICghcGUpCisJCQlyZXR1cm47CisKKwkJaWYgKHJlYWRfcHRlKGN4dCwgY3h0LT5sYWJlbC0+bnBhcnRzX21heCwgbC0+ZXh0X29mZnNldCArCisJCQkJCQlkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKSkpCisJCQlyZXR1cm47CisKKwkJaWYgKCFsLT5leHRfb2Zmc2V0KQorCQkJbC0+ZXh0X29mZnNldCA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApOworCisJCWFzc2VydChwZS0+c2VjdG9yYnVmZmVyKTsKKwkJcSA9IHAgPSBtYnJfZ2V0X3BhcnRpdGlvbihwZS0+c2VjdG9yYnVmZmVyLCAwKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrLCBwKyspIHsKKwkJCWlmICghZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKSkKKwkJCQljb250aW51ZTsKKworCQkJaWYgKElTX0VYVEVOREVEIChwLT5zeXNfaW5kKSkgeworCQkJCWlmIChwZS0+ZXhfZW50cnkpCisJCQkJCWZkaXNrX3dhcm54KGN4dCwgXygKKwkJCQkJIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gIgorCQkJCQkidGFibGUgJXp1LiIpLAorCQkJCQkJY3h0LT5sYWJlbC0+bnBhcnRzX21heCArIDEpOworCQkJCWVsc2UKKwkJCQkJcGUtPmV4X2VudHJ5ID0gcDsKKwkJCX0gZWxzZSBpZiAocC0+c3lzX2luZCkgeworCQkJCWlmIChwZS0+cHRfZW50cnkpCisJCQkJCWZkaXNrX3dhcm54KGN4dCwgXygKKwkJCQkJIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uICIKKwkJCQkJInRhYmxlICV6dS4iKSwKKwkJCQkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggKyAxKTsKKwkJCQllbHNlCisJCQkJCXBlLT5wdF9lbnRyeSA9IHA7CisJCQl9CisJCX0KKworCQkvKiB2ZXJ5IHN0cmFuZ2UgY29kZSBoZXJlLi4uICovCisJCWlmICghcGUtPnB0X2VudHJ5KSB7CisJCQlpZiAocSAhPSBwZS0+ZXhfZW50cnkpCisJCQkJcGUtPnB0X2VudHJ5ID0gcTsKKwkJCWVsc2UKKwkJCQlwZS0+cHRfZW50cnkgPSBxICsgMTsKKwkJfQorCQlpZiAoIXBlLT5leF9lbnRyeSkgeworCQkJaWYgKHEgIT0gcGUtPnB0X2VudHJ5KQorCQkJCXBlLT5leF9lbnRyeSA9IHE7CisJCQllbHNlCisJCQkJcGUtPmV4X2VudHJ5ID0gcSArIDE7CisJCX0KKworCQlwID0gcGUtPmV4X2VudHJ5OworCQljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gKytjeHQtPmxhYmVsLT5ucGFydHNfbWF4OworCisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogRUJSW29mZnNldD0lanVdOiBsaW5rOiB0eXBlPSV4LCAgc3RhcnQ9JXUsIHNpemU9JXU7ICIKKwkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgIiBkYXRhOiB0eXBlPSV4LCBzdGFydD0ldSwgc2l6ZT0ldSIsCisJCQkJICAgICh1aW50bWF4X3QpIHBlLT5vZmZzZXQsCisJCQkJICAgIHBlLT5leF9lbnRyeS0+c3lzX2luZCwKKwkJCQkgICAgZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocGUtPmV4X2VudHJ5KSwKKwkJCQkgICAgZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwZS0+ZXhfZW50cnkpLAorCQkJCSAgICBwZS0+cHRfZW50cnktPnN5c19pbmQsCisJCQkJICAgIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBlLT5wdF9lbnRyeSksCisJCQkJICAgIGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocGUtPnB0X2VudHJ5KSkpOworCisJfQorCisJLyogcmVtb3ZlIGxhc3QgZW1wdHkgRUJSICovCisJcGUgPSBzZWxmX3B0ZShjeHQsIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggLSAxKTsKKwlpZiAocGUgJiYKKwkgICAgaXNfY2xlYXJlZF9wYXJ0aXRpb24ocGUtPmV4X2VudHJ5KSAmJgorCSAgICBpc19jbGVhcmVkX3BhcnRpdGlvbihwZS0+cHRfZW50cnkpKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogRUJSW29mZnNldD0lanVdOiBlbXB0eSwgcmVtb3ZlIiwgKHVpbnRtYXhfdCkgcGUtPm9mZnNldCkpOworCQlyZXNldF9wdGUocGUpOworCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4LS07CisJCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXItLTsKKwl9CisKKwkvKiByZW1vdmUgZW1wdHkgbGlua3MgKi8KKyByZW1vdmU6CisJcSA9IHNlbGZfcGFydGl0aW9uKGN4dCwgNCk7CisJZm9yIChpID0gNDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBpKTsKKworCQlpZiAocCAmJiAhZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKSAmJgorCQkgICAgKGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPiA1IHx8IChxICYmIHEtPnN5c19pbmQpKSkgeworCQkJZmRpc2tfaW5mbyhjeHQsIF8oIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIpLCBpKzEpOworCQkJZGVsZXRlX3BhcnRpdGlvbihjeHQsIGkpOworCQkJZ290byByZW1vdmU7IAkvKiBudW1iZXJpbmcgY2hhbmdlZCAqLworCQl9CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBucGFydHNfbWF4OiAlenUiLCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KSk7Cit9CisKK3N0YXRpYyBpbnQgZG9zX2NyZWF0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwl1bnNpZ25lZCBpbnQgaWQgPSAwOworCWludCByYywgaGFzX2lkID0gMDsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBjcmVhdGluZyBuZXcgZGlza2xhYmVsIikpOworCisJaWYgKGN4dC0+c2NyaXB0KSB7CisJCWNoYXIgKmVuZCA9IE5VTEw7CisJCWNvbnN0IGNoYXIgKnMgPSBmZGlza19zY3JpcHRfZ2V0X2hlYWRlcihjeHQtPnNjcmlwdCwgImxhYmVsLWlkIik7CisKKwkJaWYgKHMpIHsKKwkJCWVycm5vID0gMDsKKwkJCWlkID0gc3RydG9sKHMsICZlbmQsIDE2KTsKKwkJCWlmICghZXJybm8gJiYgZW5kICYmIHMgPCBlbmQpIHsKKwkJCQloYXNfaWQgPSAxOworCQkJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogcmUtdXNlIElEIGZyb20gc2NyaXB0ICgweCUwOHgpIiwgaWQpKTsKKwkJCX0gZWxzZQorCQkJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogZmFpbGVkIHRvIHBhcnNlIGxhYmVsPWlkICclcyciLCBzKSk7CisJCX0KKwl9CisKKwkvKiByYW5kb20gZGlzayBzaWduYXR1cmUgKi8KKwlpZiAoIWhhc19pZCkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IGdlbmVyYXRlIG5ldyBJRCIpKTsKKwkJcmFuZG9tX2dldF9ieXRlcygmaWQsIHNpemVvZihpZCkpOworCX0KKworCWlmIChmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzKGN4dCkpCisJCXJjID0gZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoY3h0LCAwLCBNQlJfUFRfQk9PVEJJVFNfU0laRSk7CisJZWxzZQorCQlyYyA9IGZkaXNrX2luaXRfZmlyc3RzZWN0b3JfYnVmZmVyKGN4dCwgMCwgMCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJZG9zX2luaXQoY3h0KTsKKworCWwgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwkvKiBHZW5lcmF0ZSBhbiBNQlIgSUQgZm9yIHRoaXMgZGlzayAqLworCW1icl9zZXRfaWQoY3h0LT5maXJzdHNlY3RvciwgaWQpOworCWwtPm5vbl9wdF9jaGFuZ2VkID0gMTsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKworCS8qIFB1dCBNQlIgc2lnbmF0dXJlICovCisJbWJyX3NldF9tYWdpYyhjeHQtPmZpcnN0c2VjdG9yKTsKKworCWZkaXNrX2luZm8oY3h0LCBfKCJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrICIKKwkJCSAiaWRlbnRpZmllciAweCUwOHguIiksIGlkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkb3Nfc2V0X2Rpc2tsYWJlbF9pZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWNoYXIgKmVuZCA9IE5VTEwsICpzdHIgPSBOVUxMOworCXVuc2lnbmVkIGludCBpZCwgb2xkOworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmw7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBzZXR0aW5nIElkIikpOworCisJbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlvbGQgPSBtYnJfZ2V0X2lkKGN4dC0+Zmlyc3RzZWN0b3IpOworCXJjID0gZmRpc2tfYXNrX3N0cmluZyhjeHQsCisJCQlfKCJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIpLCAmc3RyKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWVycm5vID0gMDsKKwlpZCA9IHN0cnRvdWwoc3RyLCAmZW5kLCAwKTsKKwlpZiAoZXJybm8gfHwgc3RyID09IGVuZCB8fCAoZW5kICYmICplbmQpKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiSW5jb3JyZWN0IHZhbHVlLiIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisKKwltYnJfc2V0X2lkKGN4dC0+Zmlyc3RzZWN0b3IsIGlkKTsKKwlsLT5ub25fcHRfY2hhbmdlZCA9IDE7CisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIpLAorCQkJb2xkLCBpZCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGdldF9wYXJ0aXRpb25fdGFibGVfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCXVuc2lnbmVkIGludCAqcGgsIHVuc2lnbmVkIGludCAqcHMpCit7CisJdW5zaWduZWQgY2hhciAqYnVmcCA9IGN4dC0+Zmlyc3RzZWN0b3I7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnA7CisJaW50IGksIGgsIHMsIGhoLCBzczsKKwlpbnQgZmlyc3QgPSAxOworCWludCBiYWQgPSAwOworCisJaGggPSBzcyA9IDA7CisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlwID0gbWJyX2dldF9wYXJ0aXRpb24oYnVmcCwgaSk7CisJCWlmIChwLT5zeXNfaW5kICE9IDApIHsKKwkJCWggPSBwLT5laCArIDE7CisJCQlzID0gKHAtPmVzICYgMDc3KTsKKwkJCWlmIChmaXJzdCkgeworCQkJCWhoID0gaDsKKwkJCQlzcyA9IHM7CisJCQkJZmlyc3QgPSAwOworCQkJfSBlbHNlIGlmIChoaCAhPSBoIHx8IHNzICE9IHMpCisJCQkJYmFkID0gMTsKKwkJfQorCX0KKworCWlmICghZmlyc3QgJiYgIWJhZCkgeworCQkqcGggPSBoaDsKKwkJKnBzID0gc3M7CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TIFBUIGdlb21ldHJ5OiBoZWFkcz0ldSwgc2VjdG9ycz0ldSIsICpwaCwgKnBzKSk7Cit9CisKK3N0YXRpYyBpbnQgZG9zX3Jlc2V0X2FsaWdubWVudChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCS8qIG92ZXJ3cml0ZSBuZWNlc3Nhcnkgc3R1ZmYgYnkgRE9TIGRlcHJlY2F0ZWQgc3R1ZmYgKi8KKwlpZiAoaXNfZG9zX2NvbXBhdGlibGUoY3h0KSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHJlc2V0dGluZyBhbGlnbm1lbnQgZm9yIERPUy1jb21wYXRpYmxlIFBUIikpOworCQlpZiAoY3h0LT5nZW9tLnNlY3RvcnMpCisJCQljeHQtPmZpcnN0X2xiYSA9IGN4dC0+Z2VvbS5zZWN0b3JzOwkvKiB1c3VhbGx5IDYzICovCisKKwkJY3h0LT5ncmFpbiA9IGN4dC0+c2VjdG9yX3NpemU7CQkJLyogdXN1YWxseSA1MTIgKi8KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyogVE9ETzogbW92ZSB0byBpbmNsdWRlL3B0LWRvcy5oIGFuZCBzaGFyZSB3aXRoIGxpYmJsa2lkICovCisjZGVmaW5lIEFJWF9NQUdJQ19TVFJJTkcJIlx4QzlceEMyXHhENFx4QzEiCisjZGVmaW5lIEFJWF9NQUdJQ19TVFJMRU4JKHNpemVvZihBSVhfTUFHSUNfU1RSSU5HKSAtIDEpCisKK3N0YXRpYyBpbnQgZG9zX3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisJdW5zaWduZWQgaW50IGggPSAwLCBzID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCS8qIGlnbm9yZSBkaXNrcyB3aXRoIEFJWCBtYWdpYyBudW1iZXIgKi8KKwlpZiAobWVtY21wKGN4dC0+Zmlyc3RzZWN0b3IsIEFJWF9NQUdJQ19TVFJJTkcsIEFJWF9NQUdJQ19TVFJMRU4pID09IDApCisJCXJldHVybiAwOworCisJaWYgKCFtYnJfaXNfdmFsaWRfbWFnaWMoY3h0LT5maXJzdHNlY3RvcikpCisJCXJldHVybiAwOworCisJZG9zX2luaXQoY3h0KTsKKworCWdldF9wYXJ0aXRpb25fdGFibGVfZ2VvbWV0cnkoY3h0LCAmaCwgJnMpOworCWlmIChoICYmIHMpIHsKKwkJY3h0LT5nZW9tLmhlYWRzID0gaDsKKwkgICAgICAgIGN4dC0+Z2VvbS5zZWN0b3JzID0gczsKKworCQlpZiAoZmRpc2tfaGFzX3VzZXJfZGV2aWNlX2dlb21ldHJ5KGN4dCkpCisJCQlmZGlza19hcHBseV91c2VyX2RldmljZV9wcm9wZXJ0aWVzKGN4dCk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgaSk7CisKKwkJYXNzZXJ0KHBlKTsKKwkJaWYgKGlzX3VzZWRfcGFydGl0aW9uKHBlLT5wdF9lbnRyeSkpCisJCQljeHQtPmxhYmVsLT5ucGFydHNfY3VyKys7CisKKwkJaWYgKElTX0VYVEVOREVEIChwZS0+cHRfZW50cnktPnN5c19pbmQpKSB7CisJCQlpZiAoY3h0LT5sYWJlbC0+bnBhcnRzX21heCAhPSA0KQorCQkJCWZkaXNrX3dhcm54KGN4dCwgXygKKwkJCQkiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIpLAorCQkJCQlpICsgMSk7CisJCQllbHNlCisJCQkJcmVhZF9leHRlbmRlZChjeHQsIGkpOworCQl9CisJfQorCisJZm9yIChpID0gMzsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgaSk7CisJCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwkJYXNzZXJ0KHBlKTsKKwkJaWYgKCFtYnJfaXNfdmFsaWRfbWFnaWMocGUtPnNlY3RvcmJ1ZmZlcikpIHsKKwkJCWZkaXNrX2luZm8oY3h0LCBfKAorCQkJIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgIgorCQkJImJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIpLAorCQkJCXBlLT5zZWN0b3JidWZmZXJbNTEwXSwKKwkJCQlwZS0+c2VjdG9yYnVmZmVyWzUxMV0sCisJCQkJaSArIDEpOworCQkJcGFydGl0aW9uX3NldF9jaGFuZ2VkKGN4dCwgaSwgMSk7CisKKwkJCS8qIG1hcmsgYWxzbyBleHRlbmRlZCBhcyBjaGFuZ2VkIHRvIHVwZGF0ZSB0aGUgZmlyc3QgRUJSCisJCQkgKiBpbiBzaXR1YXRpb24gdGhhdCB0aGVyZSBpcyBubyBsb2dpY2FsIHBhcnRpdGlvbnMgYXQgYWxsICovCisJCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBsLT5leHRfaW5kZXgsIDEpOworCQl9CisJfQorCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgaW50IGksIGludCBkb2V4dCwgZmRpc2tfc2VjdG9yX3Qgc3RhcnQsCisJCQkgIGZkaXNrX3NlY3Rvcl90IHN0b3AsIGludCBzeXNpZCwgaW50IGJvb3QpCit7CisJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCWZkaXNrX3NlY3Rvcl90IG9mZnNldDsKKworCWFzc2VydCghRkRJU0tfSVNfVU5ERUYoc3RhcnQpKTsKKwlhc3NlcnQoIUZESVNLX0lTX1VOREVGKHN0b3ApKTsKKwlhc3NlcnQocGUpOworCisJaWYgKGRvZXh0KSB7CisJCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmwgPSBzZWxmX2xhYmVsKGN4dCk7CisJCXAgPSBwZS0+ZXhfZW50cnk7CisJCW9mZnNldCA9IGwtPmV4dF9vZmZzZXQ7CisJfSBlbHNlIHsKKwkJcCA9IHBlLT5wdF9lbnRyeTsKKwkJb2Zmc2V0ID0gcGUtPm9mZnNldDsKKwl9CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHNldHRpbmcgcGFydGl0aW9uICVkJXMsIG9mZnNldD0lenUsIHN0YXJ0PSV6dSwgc2l6ZT0lenUsIHN5c2lkPSUwMngiLAorCQkJCWksIGRvZXh0ID8gIiBbZXh0ZW5kZWRdIiA6ICIiLAorCQkJCShzaXplX3QpIG9mZnNldCwKKwkJCQkoc2l6ZV90KSAoc3RhcnQgLSAgb2Zmc2V0KSwKKwkJCQkoc2l6ZV90KSAoc3RvcCAtIHN0YXJ0ICsgMSksCisJCQkJc3lzaWQpKTsKKworCXAtPmJvb3RfaW5kID0gYm9vdCA/IEFDVElWRV9GTEFHIDogMDsKKwlwLT5zeXNfaW5kID0gc3lzaWQ7CisJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQocCwgc3RhcnQgLSBvZmZzZXQpOworCWRvc19wYXJ0aXRpb25fc2V0X3NpemUocCwgc3RvcCAtIHN0YXJ0ICsgMSk7CisKKwlpZiAoaXNfZG9zX2NvbXBhdGlibGUoY3h0KSAmJiAoc3RhcnQvKGN4dC0+Z2VvbS5zZWN0b3JzKmN4dC0+Z2VvbS5oZWFkcykgPiAxMDIzKSkKKwkJc3RhcnQgPSBjeHQtPmdlb20uaGVhZHMqY3h0LT5nZW9tLnNlY3RvcnMqMTAyNCAtIDE7CisJc2V0X2hzYyhwLT5iaCwgcC0+YnMsIHAtPmJjLCBzdGFydCk7CisJaWYgKGlzX2Rvc19jb21wYXRpYmxlKGN4dCkgJiYgKHN0b3AvKGN4dC0+Z2VvbS5zZWN0b3JzKmN4dC0+Z2VvbS5oZWFkcykgPiAxMDIzKSkKKwkJc3RvcCA9IGN4dC0+Z2VvbS5oZWFkcypjeHQtPmdlb20uc2VjdG9ycyoxMDI0IC0gMTsKKwlzZXRfaHNjKHAtPmVoLCBwLT5lcywgcC0+ZWMsIHN0b3ApOworCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGksIDEpOworfQorCitzdGF0aWMgZmRpc2tfc2VjdG9yX3QgZ2V0X3VudXNlZF9zdGFydChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCSBpbnQgcGFydF9uLCBmZGlza19zZWN0b3JfdCBzdGFydCwKKwkJCQkgZmRpc2tfc2VjdG9yX3QgZmlyc3RbXSwgZmRpc2tfc2VjdG9yX3QgbGFzdFtdKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlmZGlza19zZWN0b3JfdCBsYXN0cGx1c29mZjsKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCisJCWFzc2VydChwZSk7CisJCWlmIChzdGFydCA9PSBwZS0+b2Zmc2V0KQorCQkJc3RhcnQgKz0gY3h0LT5maXJzdF9sYmE7CisJCWxhc3RwbHVzb2ZmID0gbGFzdFtpXSArICgocGFydF9uIDwgNCkgPyAwIDogY3h0LT5maXJzdF9sYmEpOworCQlpZiAoc3RhcnQgPj0gZmlyc3RbaV0gJiYgc3RhcnQgPD0gbGFzdHBsdXNvZmYpCisJCQlzdGFydCA9IGxhc3RwbHVzb2ZmICsgMTsKKwl9CisKKwlyZXR1cm4gc3RhcnQ7Cit9CisKK3N0YXRpYyB2b2lkIGZpbGxfYm91bmRzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQlmZGlza19zZWN0b3JfdCAqZmlyc3QsIGZkaXNrX3NlY3Rvcl90ICpsYXN0KQoreworCXNpemVfdCBpOworCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCAwKTsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKworCWFzc2VydChwZSk7CisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IHBlKyssaSsrKSB7CisJCXAgPSBwZS0+cHRfZW50cnk7CisJCWlmIChpc19jbGVhcmVkX3BhcnRpdGlvbihwKSB8fCBJU19FWFRFTkRFRCAocC0+c3lzX2luZCkpIHsKKwkJCWZpcnN0W2ldID0gMHhmZmZmZmZmZjsKKwkJCWxhc3RbaV0gPSAwOworCQl9IGVsc2UgeworCQkJZmlyc3RbaV0gPSBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChwZSk7CisJCQlsYXN0W2ldICA9IGdldF9hYnNfcGFydGl0aW9uX2VuZChwZSk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3N0YXJ0X2Zyb21fdXNlcigJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQlmZGlza19zZWN0b3JfdCAqc3RhcnQsCisJCQkJZmRpc2tfc2VjdG9yX3QgbG93LAorCQkJCWZkaXNrX3NlY3Rvcl90IGRmbHQsCisJCQkJZmRpc2tfc2VjdG9yX3QgbGltaXQsCisJCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJYXNzZXJ0KHN0YXJ0KTsKKworCS8qIHRyeSB0byB1c2UgdGVtcGxhdGUgZnJvbSAncGEnICovCisJaWYgKHBhICYmIHBhLT5zdGFydF9mb2xsb3dfZGVmYXVsdCkKKwkJKnN0YXJ0ID0gZGZsdDsKKworCWVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogc3RhcnQ6IHdhbnRlZD0lanUsIGxvdz0lanUsIGxpbWl0PSVqdSIsCisJCQkJKHVpbnRtYXhfdCkgcGEtPnN0YXJ0LCAodWludG1heF90KSBsb3csICh1aW50bWF4X3QpIGxpbWl0KSk7CisJCSpzdGFydCA9IHBhLT5zdGFydDsKKwkJaWYgKCpzdGFydCA8IGxvdyB8fCAqc3RhcnQgPiBsaW1pdCkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iKSwKKwkJCQkJKHVpbnRtYXhfdCkgKnN0YXJ0KTsKKwkJCXJldHVybiAtRVJBTkdFOworCQl9CisJfSBlbHNlIHsKKwkJLyogYXNrIHVzZXIgYnkgZGlhbG9nICovCisJCXN0cnVjdCBmZGlza19hc2sgKmFzayA9IGZkaXNrX25ld19hc2soKTsKKwkJaW50IHJjOworCisJCWlmICghYXNrKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCWZkaXNrX2Fza19zZXRfcXVlcnkoYXNrLAorCQkJZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpID8KKwkJCQlfKCJGaXJzdCBjeWxpbmRlciIpIDogXygiRmlyc3Qgc2VjdG9yIikpOworCQlmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX05VTUJFUik7CisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIGxvdykpOworCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgZGZsdCkpOworCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgbGltaXQpKTsKKworCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJCSpzdGFydCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKSB7CisJCSAgICAgICAgKnN0YXJ0ID0gKCpzdGFydCAtIDEpCisJCQkJKiBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpOworCQkJaWYgKCpzdGFydCA8IGxvdykKKwkJCQkqc3RhcnQgPSBsb3c7CisJCX0KKwl9CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHN0YXJ0IGlzICVqdSIsICh1aW50bWF4X3QpICpzdGFydCkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgZmRpc2tfc2VjdG9yX3QgZ2V0X3Bvc3NpYmxlX2xhc3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4pCit7CisJZmRpc2tfc2VjdG9yX3QgbGltaXQ7CisKKwlpZiAobiA+PSA0KSB7CisJCS8qIGxvZ2ljYWwgcGFydGl0aW9ucyAqLworCQlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCQlzdHJ1Y3QgcHRlICpleHRfcGUgPSBsLT5leHRfb2Zmc2V0ID8gc2VsZl9wdGUoY3h0LCBsLT5leHRfaW5kZXgpIDogTlVMTDsKKworCQlpZiAoIWV4dF9wZSkKKwkJCXJldHVybiAwOworCQlsaW1pdCA9IGdldF9hYnNfcGFydGl0aW9uX2VuZChleHRfcGUpOworCX0gZWxzZSB7CisJCS8qIHByaW1hcnkgcGFydGl0aW9ucyAqLworCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpIHx8ICFjeHQtPnRvdGFsX3NlY3RvcnMpCisJCQlsaW1pdCA9IGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzICogY3h0LT5nZW9tLmN5bGluZGVycyAtIDE7CisJCWVsc2UKKwkJCWxpbWl0ID0gY3h0LT50b3RhbF9zZWN0b3JzIC0gMTsKKworCQlpZiAobGltaXQgPiBVSU5UX01BWCkKKwkJCWxpbWl0ID0gVUlOVF9NQVg7CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBsYXN0IHBvc3NpYmxlIHNlY3RvciBmb3IgIyV6dSBpcyAlanUiLAorCQkJCW4sICh1aW50bWF4X3QpIGxpbWl0KSk7CisJcmV0dXJuIGxpbWl0OworfQorCisvKiByZXR1cm5zIGxhc3QgZnJlZSBzZWN0b3IgZm9yIGFyZWEgYWRkcmVzc2VkIGJ5IEBzdGFydCwgdGhlIGZpcnN0W10gYW5kCisgKiBsYXN0W10gYXJlIGZpbGxfYm91bmRzKCkgcmVzdWx0cyAqLworc3RhdGljIGZkaXNrX3NlY3Rvcl90IGdldF91bnVzZWRfbGFzdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgbiwKKwkJCQlmZGlza19zZWN0b3JfdCBzdGFydCwKKwkJCQlmZGlza19zZWN0b3JfdCBmaXJzdFtdKQoreworCXNpemVfdCBpOworCWZkaXNrX3NlY3Rvcl90IGxpbWl0ID0gZ2V0X3Bvc3NpYmxlX2xhc3QoY3h0LCBuKTsKKworCWZvciAoaSA9IDA7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCisJCWFzc2VydChwZSk7CisJCWlmIChzdGFydCA8IHBlLT5vZmZzZXQgJiYgbGltaXQgPj0gcGUtPm9mZnNldCkKKwkJCWxpbWl0ID0gcGUtPm9mZnNldCAtIDE7CisJCWlmIChzdGFydCA8IGZpcnN0W2ldICYmIGxpbWl0ID49IGZpcnN0W2ldKQorCQkJbGltaXQgPSBmaXJzdFtpXSAtIDE7CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiB1bnVzZWQgc2VjdG9yIGZvciAjJXp1IGlzICVqdSIsCisJCQkJbiwgKHVpbnRtYXhfdCkgbGltaXQpKTsKKwlyZXR1cm4gbGltaXQ7Cit9CisKK3N0YXRpYyBpbnQgYWRkX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgbiwKKwkJCSBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlpbnQgc3lzLCByZWFkID0gMCwgcmMsIGlzcmVsID0gMDsKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBuKTsKKwlzdHJ1Y3QgcHRlICpleHRfcGUgPSBsLT5leHRfb2Zmc2V0ID8gc2VsZl9wdGUoY3h0LCBsLT5leHRfaW5kZXgpIDogTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfYXNrICphc2sgPSBOVUxMOworCisJZmRpc2tfc2VjdG9yX3Qgc3RhcnQsIHN0b3AgPSAwLCBsaW1pdCwgdGVtcCwKKwkJZmlyc3RbY3h0LT5sYWJlbC0+bnBhcnRzX21heF0sCisJCWxhc3RbY3h0LT5sYWJlbC0+bnBhcnRzX21heF07CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IGFkZGluZyBwYXJ0aXRpb24gJXp1IiwgbikpOworCisJc3lzID0gcGEgJiYgcGEtPnR5cGUgPyBwYS0+dHlwZS0+Y29kZSA6IE1CUl9MSU5VWF9EQVRBX1BBUlRJVElPTjsKKworCWlmIChwICYmIGlzX3VzZWRfcGFydGl0aW9uKHApKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICAiCisJCQkgICAgICAgICAgICJEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iKSwKKwkJCQluICsgMSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlmaWxsX2JvdW5kcyhjeHQsIGZpcnN0LCBsYXN0KTsKKwlsaW1pdCA9IGdldF9wb3NzaWJsZV9sYXN0KGN4dCwgbik7CisKKwlpZiAobiA8IDQpIHsKKwkJaWYgKGN4dC0+cGFyZW50ICYmIGZkaXNrX2lzX2xhYmVsKGN4dC0+cGFyZW50LCBHUFQpKQorCQkJc3RhcnQgPSAxOwkJLyogQmFkIGJveSBtb2RpZmllcyBoeWJyaWQgTUJSICovCisJCWVsc2UgeworCQkJaWYgKGN4dC0+c2NyaXB0ICYmIHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpCisJCQkgICAgJiYgcGEtPnN0YXJ0IDwgY3h0LT5maXJzdF9sYmEKKwkJCSAgICAmJiBwYS0+c3RhcnQgPj0gMSkKKwkJCQlmZGlza19zZXRfZmlyc3RfbGJhKGN4dCwgMSk7CisKKwkJCXN0YXJ0ID0gY3h0LT5maXJzdF9sYmE7CisJCX0KKworCQlpZiAobC0+ZXh0X29mZnNldCkgeworCQkJYXNzZXJ0KGV4dF9wZSk7CisJCQlmaXJzdFtsLT5leHRfaW5kZXhdID0gbC0+ZXh0X29mZnNldDsKKwkJCWxhc3RbbC0+ZXh0X2luZGV4XSA9IGdldF9hYnNfcGFydGl0aW9uX2VuZChleHRfcGUpOworCQl9CisJfSBlbHNlIHsKKwkJYXNzZXJ0KGV4dF9wZSk7CisKKwkJaWYgKGN4dC0+c2NyaXB0ICYmIHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpCisJCSAgICAmJiBwYS0+c3RhcnQgPj0gbC0+ZXh0X29mZnNldAorCQkgICAgJiYgcGEtPnN0YXJ0IDwgbC0+ZXh0X29mZnNldCArIGN4dC0+Zmlyc3RfbGJhKQorCQkJZmRpc2tfc2V0X2ZpcnN0X2xiYShjeHQsIDEpOworCisJCXN0YXJ0ID0gbC0+ZXh0X29mZnNldCArIGN4dC0+Zmlyc3RfbGJhOworCX0KKworCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCWZvciAoaSA9IDA7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJCWZpcnN0W2ldID0gKGZkaXNrX2Nyb3VuZChjeHQsIGZpcnN0W2ldKSAtIDEpCisJCQkJKiBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpOworCQl9CisKKwkvKgorCSAqIEFzayBmb3IgZmlyc3Qgc2VjdG9yCisJICovCisJZG8geworCQlmZGlza19zZWN0b3JfdCBkZmx0LCBhbGlnbmVkOworCisJCXRlbXAgPSBzdGFydDsKKwkJZGZsdCA9IHN0YXJ0ID0gZ2V0X3VudXNlZF9zdGFydChjeHQsIG4sIHN0YXJ0LCBmaXJzdCwgbGFzdCk7CisKKwkJaWYgKG4gPj0gNCAmJiBwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSAmJiBjeHQtPnNjcmlwdAorCQkgICAgJiYgY3h0LT5maXJzdF9sYmEgPiAxCisJCSAgICAmJiB0ZW1wID09IHN0YXJ0IC0gY3h0LT5maXJzdF9sYmEpIHsKKwkJCWZkaXNrX3NldF9maXJzdF9sYmEoY3h0LCAxKTsKKwkJCXN0YXJ0ID0gcGEtPnN0YXJ0OworCQl9CisKKwkJLyogdGhlIGRlZmF1bHQgc2VjdG9yIHNob3VsZCBiZSBhbGlnbmVkIGFuZCB1bnVzZWQgKi8KKwkJZG8geworCQkJYWxpZ25lZCA9IGZkaXNrX2FsaWduX2xiYV9pbl9yYW5nZShjeHQsIGRmbHQsIGRmbHQsIGxpbWl0KTsKKwkJCWRmbHQgPSBnZXRfdW51c2VkX3N0YXJ0KGN4dCwgbiwgYWxpZ25lZCwgZmlyc3QsIGxhc3QpOworCQl9IHdoaWxlIChkZmx0ICE9IGFsaWduZWQgJiYgZGZsdCA+IGFsaWduZWQgJiYgZGZsdCA8IGxpbWl0KTsKKworCQlpZiAoZGZsdCA+PSBsaW1pdCkKKwkJCWRmbHQgPSBzdGFydDsKKwkJaWYgKHN0YXJ0ID4gbGltaXQpCisJCQlicmVhazsKKwkJaWYgKHN0YXJ0ID49IHRlbXAgKyBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpCisJCSAgICAmJiByZWFkKSB7CisJCQlmZGlza19pbmZvKGN4dCwgXygiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIiksCisJCQkJCXRlbXApOworCQkJdGVtcCA9IHN0YXJ0OworCQkJcmVhZCA9IDA7CisJCQlpZiAocGEgJiYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpIHx8CisJCQkJICAgcGEtPnN0YXJ0X2ZvbGxvd19kZWZhdWx0KSkKKwkJCQlicmVhazsKKwkJfQorCisJCWlmICghcmVhZCAmJiBzdGFydCA9PSB0ZW1wKSB7CisJCQlyYyA9IGdldF9zdGFydF9mcm9tX3VzZXIoY3h0LCAmc3RhcnQsIHRlbXAsIGRmbHQsIGxpbWl0LCBwYSk7CisJCQlpZiAocmMpCisJCQkJcmV0dXJuIHJjOworCQkJcmVhZCA9IDE7CisJCX0KKwl9IHdoaWxlIChzdGFydCAhPSB0ZW1wIHx8ICFyZWFkKTsKKworCWlmIChuID09IDQpIHsKKwkJLyogVGhlIGZpcnN0IEVCUiBpcyBzdG9yZWQgYXQgYmVnaW4gb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiAqLworCQlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgbik7CisKKwkJYXNzZXJ0KHBlKTsKKwkJcGUtPm9mZnNldCA9IGwtPmV4dF9vZmZzZXQ7CisJfSBlbHNlIGlmIChuID4gNCkgeworCQkvKiBUaGUgc2Vjb25kIChhbmQgYW5vdGhlcikgRUJSICovCisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBuKTsKKworCQlhc3NlcnQocGUpOworCQlwZS0+b2Zmc2V0ID0gc3RhcnQgLSBjeHQtPmZpcnN0X2xiYTsKKwkJaWYgKHBlLT5vZmZzZXQgPT0gbC0+ZXh0X29mZnNldCkgeyAvKiBtdXN0IGJlIGNvcnJlY3RlZCAqLworCQkJcGUtPm9mZnNldCsrOworCQkJaWYgKGN4dC0+Zmlyc3RfbGJhID09IDEpCisJCQkJc3RhcnQrKzsKKwkJfQorCX0KKworCWxpbWl0ID0gZ2V0X3VudXNlZF9sYXN0KGN4dCwgbiwgc3RhcnQsIGZpcnN0KTsKKworCWlmIChzdGFydCA+IGxpbWl0KSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iKSk7CisJCXJldHVybiAtRU5PU1BDOworCX0KKworCS8qCisJICogQXNrIGZvciBsYXN0IHNlY3RvcgorCSAqLworCWlmIChmZGlza19jcm91bmQoY3h0LCBzdGFydCkgPT0gZmRpc2tfY3JvdW5kKGN4dCwgbGltaXQpKQorCQlzdG9wID0gbGltaXQ7CisJZWxzZSBpZiAocGEgJiYgcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCkKKwkJc3RvcCA9IGxpbWl0OworCWVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpIHsKKwkJc3RvcCA9IHN0YXJ0ICsgcGEtPnNpemU7CisJCWlzcmVsID0gcGEtPnNpemVfZXhwbGljaXQgPyAwIDogMTsKKwkJaWYgKCghaXNyZWwgfHwgIWFsaWdubWVudF9yZXF1aXJlZChjeHQpKSAmJiBzdG9wID4gc3RhcnQpCisJCQlzdG9wIC09IDE7CisJfSBlbHNlIHsKKwkJLyogYXNrIHVzZXIgYnkgZGlhbG9nICovCisJCWZvciAoOzspIHsKKwkJCWlmICghYXNrKQorCQkJCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwkJCWVsc2UKKwkJCQlmZGlza19yZXNldF9hc2soYXNrKTsKKwkJCWlmICghYXNrKQorCQkJCXJldHVybiAtRU5PTUVNOworCQkJZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9PRkZTRVQpOworCisJCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKSB7CisJCQkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIpKTsKKwkJCQlmZGlza19hc2tfbnVtYmVyX3NldF91bml0KGFzaywKKwkJCQkJICAgICBjeHQtPnNlY3Rvcl9zaXplICoKKwkJCQkJICAgICBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpKTsKKwkJCX0gZWxzZSB7CisJCQkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IikpOworCQkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLGN4dC0+c2VjdG9yX3NpemUpOworCQkJfQorCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9sb3coYXNrLCBmZGlza19jcm91bmQoY3h0LCBzdGFydCkpOworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIGZkaXNrX2Nyb3VuZChjeHQsIGxpbWl0KSk7CisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgZmRpc2tfY3JvdW5kKGN4dCwgbGltaXQpKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2Jhc2UoYXNrLCBmZGlza19jcm91bmQoY3h0LCBzdGFydCkpOwkvKiBiYXNlIGZvciByZWxhdGl2ZSBpbnB1dCAqLworCisJCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJCQlpZiAocmMpCisJCQkJZ290byBkb25lOworCisJCQlzdG9wID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0KGFzayk7CisJCQlpc3JlbCA9IGZkaXNrX2Fza19udW1iZXJfaXNfcmVsYXRpdmUoYXNrKTsKKwkJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpIHsKKwkJCQlzdG9wID0gc3RvcCAqIGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCkgLSAxOworCQkJCWlmIChzdG9wID5saW1pdCkKKwkJCQkJc3RvcCA9IGxpbWl0OworCQkJfQorCisJCQlpZiAoc3RvcCA+PSBzdGFydCAmJiBzdG9wIDw9IGxpbWl0KQorCQkJCWJyZWFrOworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJWYWx1ZSBvdXQgb2YgcmFuZ2UuIikpOworCQl9CisJfQorCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiByYXcgc3RvcDogJWp1IFtsaW1pdCAlanVdIiwgKHVpbnRtYXhfdCkgc3RvcCwgKHVpbnRtYXhfdCkgbGltaXQpKTsKKworCWlmIChzdG9wID4gbGltaXQpCisJCXN0b3AgPSBsaW1pdDsKKworCWlmIChpc3JlbCAmJiBzdG9wIC0gc3RhcnQgPCAoY3h0LT5ncmFpbiAvIGZkaXNrX2dldF9zZWN0b3Jfc2l6ZShjeHQpKSkgeworCQkvKiBEb24ndCB0cnkgdG8gYmUgc21hcnQgb24gdmVyeSBzbWFsbCBwYXJ0aXRpb25zIGFuZCBkb24ndCBhbGlnbiBzbyBzbWFsbCBzaXplcyAqLworCQlpc3JlbCA9IDA7CisJCWlmIChzdG9wID4gc3RhcnQpCisJCQlzdG9wIC09IDE7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogZG9uJ3QgYWxpZ24gZW5kIG9mIHRpbnkgcGFydGl0aW9uIFtzdGFydD0lanUsIHN0b3A9JWp1LCBncmFpbj0lbHVdIiwKKwkJCSAgICAodWludG1heF90KXN0YXJ0LCAgKHVpbnRtYXhfdClzdG9wLCBjeHQtPmdyYWluKSk7CisJfQorCisJaWYgKHN0b3AgPCBsaW1pdCAmJiBpc3JlbCAmJiBhbGlnbm1lbnRfcmVxdWlyZWQoY3h0KSkgeworCQkvKiB0aGUgbGFzdCBzZWN0b3IgaGFzIG5vdCBiZWVuIGV4YWN0bHkgcmVxdWVzdGVkIChidXQKKwkJICogZGVmaW5lZCBieSArc2l6ZXtLLE0sR30gY29udmVudGlvbiksIHNvIGJlIHNtYXJ0IGFuZAorCQkgKiBhbGlnbiB0aGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24uIFRoZSBuZXh0IHBhcnRpdGlvbgorCQkgKiB3aWxsIHN0YXJ0IGF0IHBoeS5ibG9jayBib3VuZGFyeS4KKwkJICovCisJCXN0b3AgPSBmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2UoY3h0LCBzdG9wLCBzdGFydCwgbGltaXQpOworCQlpZiAoc3RvcCA+IHN0YXJ0KQorCQkJc3RvcCAtPSAxOworCQlpZiAoc3RvcCA+IGxpbWl0KQorCQkJc3RvcCA9IGxpbWl0OworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IGFsaWduZWQgc3RvcDogJWp1IiwgKHVpbnRtYXhfdCkgc3RvcCkpOworCX0KKworCXNldF9wYXJ0aXRpb24oY3h0LCBuLCAwLCBzdGFydCwgc3RvcCwgc3lzLCBmZGlza19wYXJ0aXRpb25faXNfYm9vdGFibGUocGEpKTsKKwlpZiAobiA+IDQpIHsKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIG4pOworCisJCWFzc2VydChwZSk7CisJCXNldF9wYXJ0aXRpb24oY3h0LCBuIC0gMSwgMSwgcGUtPm9mZnNldCwgc3RvcCwKKwkJCQkJTUJSX0RPU19FWFRFTkRFRF9QQVJUSVRJT04sIDApOworCX0KKworCS8qIHJlcG9ydCAqLworCXsKKwkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0KKwkJCWZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUoY3h0LT5sYWJlbCwgc3lzKTsKKwkJZmRpc2tfaW5mb19uZXdfcGFydGl0aW9uKGN4dCwgbiArIDEsIHN0YXJ0LCBzdG9wLCB0KTsKKwkJZmRpc2tfdW5yZWZfcGFydHR5cGUodCk7CisJfQorCisKKwlpZiAoSVNfRVhURU5ERUQoc3lzKSkgeworCQlzdHJ1Y3QgcHRlICpwZW4gPSBzZWxmX3B0ZShjeHQsIG4pOworCisJCWFzc2VydChwZW4pOworCQlsLT5leHRfaW5kZXggPSBuOworCQlsLT5leHRfb2Zmc2V0ID0gc3RhcnQ7CisJCXBlbi0+ZXhfZW50cnkgPSBwOworCX0KKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCXJjID0gMDsKK2RvbmU6CisJZmRpc2tfdW5yZWZfYXNrKGFzayk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGFkZF9sb2dpY2FsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCSAgICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJICAgICAgIHNpemVfdCAqcGFydG5vKQoreworCXN0cnVjdCBwdGUgKnBlOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChwYXJ0bm8pOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoc2VsZl9sYWJlbChjeHQpLT5leHRfb2Zmc2V0KTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogbnBhcnRzIG1heDogJXp1IiwgY3h0LT5sYWJlbC0+bnBhcnRzX21heCkpOworCXBlID0gc2VsZl9wdGUoY3h0LCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KTsKKwlhc3NlcnQocGUpOworCisJaWYgKCFwZS0+c2VjdG9yYnVmZmVyKSB7CisJCXBlLT5zZWN0b3JidWZmZXIgPSBjYWxsb2MoMSwgY3h0LT5zZWN0b3Jfc2l6ZSk7CisJCWlmICghcGUtPnNlY3RvcmJ1ZmZlcikKKwkJCXJldHVybiAtRU5PTUVNOworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IGxvZ2ljYWw6ICV6dTogbmV3IEVCUiBzZWN0b3IgYnVmZmVyICVwIiwKKwkJCQkJY3h0LT5sYWJlbC0+bnBhcnRzX21heCwgcGUtPnNlY3RvcmJ1ZmZlcikpOworCQlwZS0+cHJpdmF0ZV9zZWN0b3JidWZmZXIgPSAxOworCX0KKwlwZS0+cHRfZW50cnkgPSBtYnJfZ2V0X3BhcnRpdGlvbihwZS0+c2VjdG9yYnVmZmVyLCAwKTsKKwlwZS0+ZXhfZW50cnkgPSBwZS0+cHRfZW50cnkgKyAxOworCXBlLT5vZmZzZXQgPSAwOworCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgsIDEpOworCisJY3h0LT5sYWJlbC0+bnBhcnRzX21heCsrOworCisJLyogdGhpcyBtZXNzYWdlIG1ha2VzIHNlbnNlIG9ubHkgd2hlbiB3ZSB1c2UgZXh0ZW5kZWQvcHJpbWFyeS9sb2dpY2FsCisJICogZGlhbG9nLiBUaGUgZGlhbG9nIGlzIGRpc2FibGUgZm9yIHNjcmlwdHMsIHNlZSBkb3NfYWRkX3BhcnRpdGlvbigpICovCisJaWYgKCFjeHQtPnNjcmlwdCkKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiKSwKKwkJCQljeHQtPmxhYmVsLT5ucGFydHNfbWF4KTsKKwkqcGFydG5vID0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCAtIDE7CisJcmMgPSBhZGRfcGFydGl0aW9uKGN4dCwgKnBhcnRubywgcGEpOworCisJaWYgKHJjKSB7CisJCS8qIHJlc2V0IG9uIGVycm9yICovCisJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXgtLTsKKwkJcGUtPnB0X2VudHJ5ID0gTlVMTDsKKwkJcGUtPmV4X2VudHJ5ID0gTlVMTDsKKwkJcGUtPm9mZnNldCA9IDA7CisJCXBlLT5jaGFuZ2VkID0gMDsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIGNoZWNrKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCSAgIHVuc2lnbmVkIGludCBoLCB1bnNpZ25lZCBpbnQgcywgdW5zaWduZWQgaW50IGMsCisJICAgdW5zaWduZWQgaW50IHN0YXJ0KQoreworCXVuc2lnbmVkIGludCB0b3RhbCwgcmVhbF9zLCByZWFsX2M7CisKKwlpZiAoIWlzX2Rvc19jb21wYXRpYmxlKGN4dCkpCisJCXJldHVybjsKKworCXJlYWxfcyA9IHNlY3RvcihzKSAtIDE7CisJcmVhbF9jID0gY3lsaW5kZXIocywgYyk7CisJdG90YWwgPSAocmVhbF9jICogY3h0LT5nZW9tLmhlYWRzICsgaCkgKiBjeHQtPmdlb20uc2VjdG9ycyArIHJlYWxfczsKKworCWlmICghdG90YWwpCisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiKSwgbik7CisJaWYgKGggPj0gY3h0LT5nZW9tLmhlYWRzKQorCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuICIKKwkJCQkgICAibWF4aW11bSAlZCIpLCBuLCBoICsgMSwgY3h0LT5nZW9tLmhlYWRzKTsKKwlpZiAocmVhbF9zID49IGN4dC0+Z2VvbS5zZWN0b3JzKQorCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gIgorCQkJCSAgICJtYXhpbXVtICVsbHUiKSwgbiwgcywgY3h0LT5nZW9tLnNlY3RvcnMpOworCWlmIChyZWFsX2MgPj0gY3h0LT5nZW9tLmN5bGluZGVycykKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gIgorCQkJCSAgICJtYXhpbXVtICVsbHUiKSwKKwkJCQluLCByZWFsX2MgKyAxLAorCQkJCWN4dC0+Z2VvbS5jeWxpbmRlcnMpOworCisJaWYgKGN4dC0+Z2VvbS5jeWxpbmRlcnMgPD0gMTAyNCAmJiBzdGFydCAhPSB0b3RhbCkKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1ICIKKwkJCQkgICAiZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiKSwgbiwgc3RhcnQsIHRvdGFsKTsKK30KKworLyogY2hlY2tfY29uc2lzdGVuY3koKSBhbmQgbG9uZzJjaHMoKSBhZGRlZCBTYXQgTWFyIDYgMTI6Mjg6MTYgMTk5MywKKyAqIGZhaXRoQGNzLnVuYy5lZHUsIGJhc2VkIG9uIGNvZGUgZnJhZ21lbnRzIGZyb20gcGZkaXNrIGJ5IEdvcmRvbiBXLiBSb3NzLAorICogSmFuLiAgMTk5MCAodmVyc2lvbiAxLjIuMSBieSBHb3Jkb24gVy4gUm9zcyBBdWcuIDE5OTA7IE1vZGlmaWVkIGJ5IFMuCisgKiBMdWJraW4gT2N0LiAgMTk5MSkuICovCisKK3N0YXRpYyB2b2lkCitsb25nMmNocyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCB1bnNpZ25lZCBsb25nIGxzLAorCSB1bnNpZ25lZCBpbnQgKmMsIHVuc2lnbmVkIGludCAqaCwgdW5zaWduZWQgaW50ICpzKSB7CisJaW50IHNwYyA9IGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzOworCisJKmMgPSBscyAvIHNwYzsKKwlscyA9IGxzICUgc3BjOworCSpoID0gbHMgLyBjeHQtPmdlb20uc2VjdG9yczsKKwkqcyA9IGxzICUgY3h0LT5nZW9tLnNlY3RvcnMgKyAxOwkvKiBzZWN0b3JzIGNvdW50IGZyb20gMSAqLworfQorCitzdGF0aWMgdm9pZCBjaGVja19jb25zaXN0ZW5jeShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcCwKKwkJCSAgICAgIHNpemVfdCBwYXJ0aXRpb24pCit7CisJdW5zaWduZWQgaW50IHBiYywgcGJoLCBwYnM7CS8qIHBoeXNpY2FsIGJlZ2lubmluZyBjLCBoLCBzICovCisJdW5zaWduZWQgaW50IHBlYywgcGVoLCBwZXM7CS8qIHBoeXNpY2FsIGVuZGluZyBjLCBoLCBzICovCisJdW5zaWduZWQgaW50IGxiYywgbGJoLCBsYnM7CS8qIGxvZ2ljYWwgYmVnaW5uaW5nIGMsIGgsIHMgKi8KKwl1bnNpZ25lZCBpbnQgbGVjLCBsZWgsIGxlczsJLyogbG9naWNhbCBlbmRpbmcgYywgaCwgcyAqLworCisJaWYgKCFpc19kb3NfY29tcGF0aWJsZShjeHQpKQorCQlyZXR1cm47CisKKwlpZiAoIWN4dC0+Z2VvbS5oZWFkcyB8fCAhY3h0LT5nZW9tLnNlY3RvcnMgfHwgKHBhcnRpdGlvbiA+PSA0KSkKKwkJcmV0dXJuOwkJLyogZG8gbm90IGNoZWNrIGV4dGVuZGVkIHBhcnRpdGlvbnMgKi8KKworCS8qIHBoeXNpY2FsIGJlZ2lubmluZyBjLCBoLCBzICovCisJcGJjID0gKHAtPmJjICYgMHhmZikgfCAoKHAtPmJzIDw8IDIpICYgMHgzMDApOworCXBiaCA9IHAtPmJoOworCXBicyA9IHAtPmJzICYgMHgzZjsKKworCS8qIHBoeXNpY2FsIGVuZGluZyBjLCBoLCBzICovCisJcGVjID0gKHAtPmVjICYgMHhmZikgfCAoKHAtPmVzIDw8IDIpICYgMHgzMDApOworCXBlaCA9IHAtPmVoOworCXBlcyA9IHAtPmVzICYgMHgzZjsKKworCS8qIGNvbXB1dGUgbG9naWNhbCBiZWdpbm5pbmcgKGMsIGgsIHMpICovCisJbG9uZzJjaHMoY3h0LCBkb3NfcGFydGl0aW9uX2dldF9zdGFydChwKSwgJmxiYywgJmxiaCwgJmxicyk7CisKKwkvKiBjb21wdXRlIGxvZ2ljYWwgZW5kaW5nIChjLCBoLCBzKSAqLworCWxvbmcyY2hzKGN4dCwgZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCkgKyBkb3NfcGFydGl0aW9uX2dldF9zaXplKHApIC0gMSwgJmxlYywgJmxlaCwgJmxlcyk7CisKKwkvKiBTYW1lIHBoeXNpY2FsIC8gbG9naWNhbCBiZWdpbm5pbmc/ICovCisJaWYgKGN4dC0+Z2VvbS5jeWxpbmRlcnMgPD0gMTAyNAorCSAgICAmJiAocGJjICE9IGxiYyB8fCBwYmggIT0gbGJoIHx8IHBicyAhPSBsYnMpKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgIgorCQkJImJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiAiCisJCQkicGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIiksCisJCQlwYXJ0aXRpb24gKyAxLAorCQkJcGJjLCBwYmgsIHBicywKKwkJCWxiYywgbGJoLCBsYnMpOworCX0KKworCS8qIFNhbWUgcGh5c2ljYWwgLyBsb2dpY2FsIGVuZGluZz8gKi8KKwlpZiAoY3h0LT5nZW9tLmN5bGluZGVycyA8PSAxMDI0CisJICAgICYmIChwZWMgIT0gbGVjIHx8IHBlaCAhPSBsZWggfHwgcGVzICE9IGxlcykpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCAiCisJCQkiZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIiksCisJCQlwYXJ0aXRpb24gKyAxLAorCQkJcGVjLCBwZWgsIHBlcywKKwkJCWxlYywgbGVoLCBsZXMpOworCX0KKworCS8qIEVuZGluZyBvbiBjeWxpbmRlciBib3VuZGFyeT8gKi8KKwlpZiAocGVoICE9IChjeHQtPmdlb20uaGVhZHMgLSAxKSB8fCBwZXMgIT0gY3h0LT5nZW9tLnNlY3RvcnMpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gIgorCQkJCSAgICJjeWxpbmRlciBib3VuZGFyeS4iKSwKKwkJCXBhcnRpdGlvbiArIDEpOworCX0KK30KKworc3RhdGljIGludCBkb3NfdmVyaWZ5X2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXNpemVfdCBpLCBqOworCWZkaXNrX3NlY3Rvcl90IHRvdGFsID0gMSwgbl9zZWN0b3JzID0gY3h0LT50b3RhbF9zZWN0b3JzOworCWZkaXNrX3NlY3Rvcl90IGZpcnN0W2N4dC0+bGFiZWwtPm5wYXJ0c19tYXhdLAorCQkgICAgICAgbGFzdFtjeHQtPmxhYmVsLT5ucGFydHNfbWF4XTsKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSk7CisKKwlmaWxsX2JvdW5kcyhjeHQsIGZpcnN0LCBsYXN0KTsKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisJCXN0cnVjdCBwdGUgKnBlID0gc2VsZl9wdGUoY3h0LCBpKTsKKworCQlwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBpKTsKKwkJaWYgKHAgJiYgaXNfdXNlZF9wYXJ0aXRpb24ocCkgJiYgIUlTX0VYVEVOREVEKHAtPnN5c19pbmQpKSB7CisJCQljaGVja19jb25zaXN0ZW5jeShjeHQsIHAsIGkpOworCQkJYXNzZXJ0KHBlKTsKKwkJCWlmIChnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChwZSkgPCBmaXJzdFtpXSkKKwkJCQlmZGlza193YXJueChjeHQsIF8oCisJCQkJCSJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iKSwKKwkJCQkJIGkgKyAxKTsKKworCQkJY2hlY2soY3h0LCBpICsgMSwgcC0+ZWgsIHAtPmVzLCBwLT5lYywgbGFzdFtpXSk7CisJCQl0b3RhbCArPSBsYXN0W2ldICsgMSAtIGZpcnN0W2ldOworCisJCQlpZiAoaSA9PSAwKQorCQkJCXRvdGFsICs9IGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHBlKSAtIDE7CisKKwkJCWZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsKKwkJCQlpZiAoKGZpcnN0W2ldID49IGZpcnN0W2pdICYmIGZpcnN0W2ldIDw9IGxhc3Rbal0pCisJCQkJICAgIHx8ICgobGFzdFtpXSA8PSBsYXN0W2pdICYmIGxhc3RbaV0gPj0gZmlyc3Rbal0pKSkgeworCisJCQkJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dTogIgorCQkJCQkJIm92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIiksCisJCQkJCQlqICsgMSwgaSArIDEpOworCisJCQkJCXRvdGFsICs9IGZpcnN0W2ldID49IGZpcnN0W2pdID8KKwkJCQkJCWZpcnN0W2ldIDogZmlyc3Rbal07CisJCQkJCXRvdGFsIC09IGxhc3RbaV0gPD0gbGFzdFtqXSA/CisJCQkJCQlsYXN0W2ldIDogbGFzdFtqXTsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisKKwlpZiAobC0+ZXh0X29mZnNldCkgeworCQlmZGlza19zZWN0b3JfdCBlX2xhc3Q7CisJCXN0cnVjdCBwdGUgKmV4dF9wZSA9IHNlbGZfcHRlKGN4dCwgbC0+ZXh0X2luZGV4KTsKKworCQlhc3NlcnQoZXh0X3BlKTsKKwkJZV9sYXN0ID0gZ2V0X2Fic19wYXJ0aXRpb25fZW5kKGV4dF9wZSk7CisKKwkJZm9yIChpID0gNDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQkJdG90YWwrKzsKKwkJCXAgPSBzZWxmX3BhcnRpdGlvbihjeHQsIGkpOworCQkJYXNzZXJ0KHApOworCisJCQlpZiAoIXAtPnN5c19pbmQpIHsKKwkJCQlpZiAoaSAhPSA0IHx8IGkgKyAxIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJCQkJZmRpc2tfd2FybngoY3h0LAorCQkJCQkJXygiUGFydGl0aW9uICV6dTogZW1wdHkuIiksCisJCQkJCQlpICsgMSk7CisJCQl9IGVsc2UgaWYgKGZpcnN0W2ldIDwgbC0+ZXh0X29mZnNldAorCQkJCSAgIHx8IGxhc3RbaV0gPiBlX2xhc3QpIHsKKworCQkJCWZkaXNrX3dhcm54KGN4dCwgXygiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiAiCisJCQkJCSJub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iKSwKKwkJCQkJaSArIDEsIGwtPmV4dF9pbmRleCArIDEpOworCQkJfQorCQl9CisJfQorCisJaWYgKHRvdGFsID4gbl9zZWN0b3JzKQorCQlmZGlza193YXJueChjeHQsIF8oIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciAiCisJCQkidGhhbiB0aGUgbWF4aW11bSAlbGx1LiIpLCB0b3RhbCwgbl9zZWN0b3JzKTsKKwllbHNlIGlmICh0b3RhbCA8IG5fc2VjdG9ycykKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSAiCisJCQkic2VjdG9ycy4iKSwgbl9zZWN0b3JzIC0gdG90YWwsIGN4dC0+c2VjdG9yX3NpemUpOworCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBBc2sgdGhlIHVzZXIgZm9yIG5ldyBwYXJ0aXRpb24gdHlwZSBpbmZvcm1hdGlvbiAobG9naWNhbCwgZXh0ZW5kZWQpLgorICogVGhpcyBmdW5jdGlvbiBjYWxscyB0aGUgYWN0dWFsIHBhcnRpdGlvbiBhZGRpbmcgbG9naWMgLSBhZGRfcGFydGl0aW9uLgorICoKKyAqIEFQSSBjYWxsYmFjay4KKyAqLworc3RhdGljIGludCBkb3NfYWRkX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCSAgICAgc2l6ZV90ICpwYXJ0bm8pCit7CisJc2l6ZV90IGksIGZyZWVfcHJpbWFyeSA9IDAsIGZyZWVfc2VjdG9ycyA9IDA7CisJZmRpc2tfc2VjdG9yX3QgbGFzdCA9IDAsIGdyYWluOworCWludCByYyA9IDA7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbDsKKwlzdHJ1Y3QgcHRlICpleHRfcGU7CisJc2l6ZV90IHJlcyA9IDA7CQkvKiBwYXJ0bm8gKi8KKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogbmV3IHBhcnRpdGlvbiB3YW50ZWQiKSk7CisKKwlsID0gc2VsZl9sYWJlbChjeHQpOworCWV4dF9wZSA9IGwtPmV4dF9vZmZzZXQgPyBzZWxmX3B0ZShjeHQsIGwtPmV4dF9pbmRleCkgOiBOVUxMOworCisJLyoKKwkgKiBwYXJ0aXRpb24gdGVtcGxhdGUgKEBwYSkgYmFzZWQgcGFydGl0aW9uaW5nCisJICovCisKKwkvKiBBKSB0ZW1wbGF0ZSBzcGVjaWZpZXMgc3RhcnQgd2l0aGluIGV4dGVuZGVkIHBhcnRpdGlvbjsgYWRkIGxvZ2ljYWwgKi8KKwlpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgJiYgZXh0X3BlCisJICAgICYmIHBhLT5zdGFydCA+PSBsLT5leHRfb2Zmc2V0CisJICAgICYmIHBhLT5zdGFydCA8PSBnZXRfYWJzX3BhcnRpdGlvbl9lbmQoZXh0X3BlKSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHBhIHRlbXBsYXRlICVwOiBhZGQgbG9naWNhbCAoYnkgb2Zmc2V0KSIsIHBhKSk7CisKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKHBhKSAmJiBmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYSkgPCA0KSB7CisJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHBhIHRlbXBsYXRlIHNwZWNpZmllcyBwYXJ0bm88NCBmb3IgbG9naWNhbCBwYXJ0aXRpb24iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQlyYyA9IGFkZF9sb2dpY2FsKGN4dCwgcGEsICZyZXMpOworCQlnb3RvIGRvbmU7CisKKwkvKiBCKSB0ZW1wbGF0ZSBzcGVjaWZpZXMgc3RhcnQgb3V0IG9mIGV4dGVuZGVkIHBhcnRpdGlvbjsgYWRkIHByaW1hcnkgKi8KKwl9IGVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpICYmIGV4dF9wZSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHBhIHRlbXBsYXRlICVwOiBhZGQgcHJpbWFyeSAoYnkgb2Zmc2V0KSIsIHBhKSk7CisKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKHBhKSAmJiBmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhwYSkgPj0gNCkgeworCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBwYSB0ZW1wbGF0ZSBzcGVjaWZpZXMgcGFydG5vPj00IGZvciBwcmltYXJ5IHBhcnRpdGlvbiIpKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJCWlmIChleHRfcGUgJiYgcGEtPnR5cGUgJiYgSVNfRVhURU5ERUQocGEtPnR5cGUtPmNvZGUpKSB7CisJCQlmZGlza193YXJueChjeHQsIF8oIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQlyYyA9IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoY3h0LCBwYSwgJnJlcyk7CisJCWlmIChyYyA9PSAwKQorCQkJcmMgPSBhZGRfcGFydGl0aW9uKGN4dCwgcmVzLCBwYSk7CisJCWdvdG8gZG9uZTsKKworCS8qIEMpIHRlbXBsYXRlIHNwZWNpZmllcyBzdGFydCAob3IgZGVmYXVsdCksIHBhcnRubyA8IDQ7IGFkZCBwcmltYXJ5ICovCisJfSBlbHNlIGlmIChwYSAmJiAoZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2lzX2RlZmF1bHQocGEpIHx8IGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQkgICAmJiBmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhwYSkKKwkJICAgJiYgcGEtPnBhcnRubyA8IDQpIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBwYSB0ZW1wbGF0ZSAlcDogYWRkIHByaW1hcnkgKGJ5IHBhcnRubykiLCBwYSkpOworCisJCWlmIChleHRfcGUgJiYgcGEtPnR5cGUgJiYgSVNfRVhURU5ERUQocGEtPnR5cGUtPmNvZGUpKSB7CisJCQlmZGlza193YXJueChjeHQsIF8oIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCQlyYyA9IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoY3h0LCBwYSwgJnJlcyk7CisJCWlmIChyYyA9PSAwKQorCQkJcmMgPSBhZGRfcGFydGl0aW9uKGN4dCwgcmVzLCBwYSk7CisJCWdvdG8gZG9uZTsKKworCS8qIEQpIHRlbXBsYXRlIHNwZWNpZmllcyBzdGFydCAob3IgZGVmYXVsdCksIHBhcnRubyA+PSA0OyBhZGQgbG9naWNhbCAqLworCX0gZWxzZSBpZiAocGEgJiYgKGZkaXNrX3BhcnRpdGlvbl9zdGFydF9pc19kZWZhdWx0KHBhKSB8fCBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJICAgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19wYXJ0bm8ocGEpCisJCSAgICYmIHBhLT5wYXJ0bm8gPj0gNCkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHBhIHRlbXBsYXRlICVwOiBhZGQgbG9naWNhbCAoYnkgcGFydG5vKSIsIHBhKSk7CisKKwkJaWYgKCFleHRfcGUpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfSBlbHNlIGlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKQorCQkJICAgJiYgcGEtPnN0YXJ0IDwgbC0+ZXh0X29mZnNldAorCQkJICAgJiYgcGEtPnN0YXJ0ID4gZ2V0X2Fic19wYXJ0aXRpb25fZW5kKGV4dF9wZSkpIHsKKwkJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogcGEgdGVtcGxhdGUgc3BlY2lmaWVzIHBhcnRubz49NCwgYnV0IHN0YXJ0IG91dCBvZiBleHRlbmRlZCIpKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJcmMgPSBhZGRfbG9naWNhbChjeHQsIHBhLCAmcmVzKTsKKwkJZ290byBkb25lOworCX0KKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogZGlhbG9nIGRyaXZlbiBwYXJ0aXRpb25pbmciKSk7CisJLyogTm90ZSBAcGEgbWF5IGJlIHN0aWxsIHVzZWQgZm9yIHRoaW5ncyBsaWtlIHBhcnRpdGlvbiB0eXBlLCBldGMgKi8KKworCS8qIGNoZWNrIGlmIHRoZXJlIGlzIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbiAqLworCWdyYWluID0gY3h0LT5ncmFpbiA+IGN4dC0+c2VjdG9yX3NpemUgPyBjeHQtPmdyYWluIC8gY3h0LT5zZWN0b3Jfc2l6ZSA6IDE7CisJbGFzdCA9IGN4dC0+Zmlyc3RfbGJhOworCisJZm9yIChpID0gMDsgaSA8IDQ7IGkrKykgeworCQlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcCA9IHNlbGZfcGFydGl0aW9uKGN4dCwgaSk7CisKKwkJYXNzZXJ0KHApOworCQlpZiAoaXNfdXNlZF9wYXJ0aXRpb24ocCkpIHsKKwkJCWZkaXNrX3NlY3Rvcl90IHN0YXJ0ID0gZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocCk7CisJCQlpZiAobGFzdCArIGdyYWluIDw9IHN0YXJ0KQorCQkJCWZyZWVfc2VjdG9ycyA9IDE7CisJCQlsYXN0ID0gc3RhcnQgKyBkb3NfcGFydGl0aW9uX2dldF9zaXplKHApOworCQl9IGVsc2UKKwkJCWZyZWVfcHJpbWFyeSsrOworCX0KKwlpZiAobGFzdCArIGdyYWluIDwgY3h0LT50b3RhbF9zZWN0b3JzIC0gMSkKKwkJZnJlZV9zZWN0b3JzID0gMTsKKworCWlmICghZnJlZV9wcmltYXJ5ICYmIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPj0gTUFYSU1VTV9QQVJUUykgeworCQlmZGlza19pbmZvKGN4dCwgXygiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzICIKKwkJCQkgICJiZWVuIGNyZWF0ZWQuIikpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJcmMgPSAxOworCisJaWYgKCFmcmVlX3ByaW1hcnkgfHwgIWZyZWVfc2VjdG9ycykgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHByaW1hcnkgaW1wb3NzaWJsZSwgYWRkIGxvZ2ljYWwiKSk7CisJCWlmIChsLT5leHRfb2Zmc2V0KSB7CisJCQlpZiAoIXBhIHx8IGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKSB7CisJCQkJLyogU2VlIGFib3ZlIGNhc2UgQSk7IGhlcmUgd2UgaGF2ZSBzdGFydCwgYnV0CisJCQkJICogb3V0IG9mIGV4dGVuZGVkIHBhcnRpdGlvbiAqLworCQkJCWNvbnN0IGNoYXIgKm1zZzsKKwkJCQlpZiAoIWZyZWVfcHJpbWFyeSkKKwkJCQkJbXNnID0gXygiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIpOworCQkJCWVsc2UKKwkJCQkJbXNnID0gIF8oIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iKTsKKworCQkJCWlmIChwYSAmJiBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQkJCQlmZGlza193YXJueChjeHQsIG1zZyk7CisJCQkJCXJldHVybiAtRUlOVkFMOworCQkJCX0gZWxzZQorCQkJCQlmZGlza19pbmZvKGN4dCwgbXNnKTsKKwkJCX0KKwkJCXJjID0gYWRkX2xvZ2ljYWwoY3h0LCBwYSwgJnJlcyk7CisJCX0gZWxzZSB7CisJCQlpZiAoZnJlZV9wcmltYXJ5KQorCQkJCWZkaXNrX2luZm8oY3h0LCBfKCJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIikpOworCQkJZWxzZQorCQkJLyogVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuICovCisJCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgIgorCQkJCQkgICJhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIikpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwl9IGVsc2UgaWYgKGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPj0gTUFYSU1VTV9QQVJUUykgeworCQlmZGlza19pbmZvKGN4dCwgXygiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiAiCisJCQkJICAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIikpOworCQlyYyA9IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoY3h0LCBwYSwgJnJlcyk7CisJCWlmIChyYyA9PSAwKQorCQkJcmMgPSBhZGRfcGFydGl0aW9uKGN4dCwgcmVzLCBwYSk7CisJfSBlbHNlIHsKKwkJY2hhciBoaW50W0JVRlNJWl07CisJCXN0cnVjdCBmZGlza19hc2sgKmFzazsKKwkJaW50IGM7CisKKwkJLyogdGhlIGRlZmF1bHQgbGF5b3V0IGZvciBzY3JpcHRzIGlzIHRvIGNyZWF0ZSBwcmltYXJ5IHBhcnRpdGlvbnMgKi8KKwkJaWYgKGN4dC0+c2NyaXB0IHx8ICFmZGlza19oYXNfZGlhbG9ncyhjeHQpKSB7CisJCQlyYyA9IGdldF9wYXJ0aXRpb25fdW51c2VkX3ByaW1hcnkoY3h0LCBwYSwgJnJlcyk7CisJCQlpZiAocmMgPT0gMCkKKwkJCQlyYyA9IGFkZF9wYXJ0aXRpb24oY3h0LCByZXMsIHBhKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCisJCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwkJaWYgKCFhc2spCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9NRU5VKTsKKwkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIlBhcnRpdGlvbiB0eXBlIikpOworCQlmZGlza19hc2tfbWVudV9zZXRfZGVmYXVsdChhc2ssIGZyZWVfcHJpbWFyeSA9PSAxCisJCQkJCQkmJiAhbC0+ZXh0X29mZnNldCA/ICdlJyA6ICdwJyk7CisJCXNucHJpbnRmKGhpbnQsIHNpemVvZihoaW50KSwKKwkJCQlfKCIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIiksCisJCQkJNCAtIChsLT5leHRfb2Zmc2V0ID8gMSA6IDApIC0gZnJlZV9wcmltYXJ5LAorCQkJCWwtPmV4dF9vZmZzZXQgPyAxIDogMCwKKwkJCQlmcmVlX3ByaW1hcnkpOworCisJCWZkaXNrX2Fza19tZW51X2FkZF9pdGVtKGFzaywgJ3AnLCBfKCJwcmltYXJ5IiksIGhpbnQpOworCQlpZiAoIWwtPmV4dF9vZmZzZXQpCisJCQlmZGlza19hc2tfbWVudV9hZGRfaXRlbShhc2ssICdlJywgXygiZXh0ZW5kZWQiKSwgXygiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiKSk7CisJCWVsc2UKKwkJCWZkaXNrX2Fza19tZW51X2FkZF9pdGVtKGFzaywgJ2wnLCBfKCJsb2dpY2FsIiksIF8oIm51bWJlcmVkIGZyb20gNSIpKTsKKworCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJCWlmICghcmMpCisJCQlmZGlza19hc2tfbWVudV9nZXRfcmVzdWx0KGFzaywgJmMpOworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCisJCWlmIChjID09ICdwJykgeworCQkJcmMgPSBnZXRfcGFydGl0aW9uX3VudXNlZF9wcmltYXJ5KGN4dCwgcGEsICZyZXMpOworCQkJaWYgKHJjID09IDApCisJCQkJcmMgPSBhZGRfcGFydGl0aW9uKGN4dCwgcmVzLCBwYSk7CisJCQlnb3RvIGRvbmU7CisJCX0gZWxzZSBpZiAoYyA9PSAnbCcgJiYgbC0+ZXh0X29mZnNldCkgeworCQkJcmMgPSBhZGRfbG9naWNhbChjeHQsIHBhLCAmcmVzKTsKKwkJCWdvdG8gZG9uZTsKKwkJfSBlbHNlIGlmIChjID09ICdlJyAmJiAhbC0+ZXh0X29mZnNldCkgeworCQkJcmMgPSBnZXRfcGFydGl0aW9uX3VudXNlZF9wcmltYXJ5KGN4dCwgcGEsICZyZXMpOworCQkJaWYgKHJjID09IDApIHsKKwkJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICp4cGEgPSBOVUxMOworCQkJCXN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdDsKKworCQkJCXQgPSBmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlKGN4dC0+bGFiZWwsCisJCQkJCQlNQlJfRE9TX0VYVEVOREVEX1BBUlRJVElPTik7CisJCQkJaWYgKCFwYSkgeworCQkJCQlwYSA9IHhwYSA9IGZkaXNrX25ld19wYXJ0aXRpb24oKTsKKwkJCQkJaWYgKCF4cGEpCisJCQkJCQlyZXR1cm4gLUVOT01FTTsKKwkJCQl9CisJCQkJZmRpc2tfcGFydGl0aW9uX3NldF90eXBlKHBhLCB0KTsKKwkJCQlyYyA9IGFkZF9wYXJ0aXRpb24oY3h0LCByZXMsIHBhKTsKKwkJCQlpZiAoeHBhKSB7CisJCQkJCWZkaXNrX3VucmVmX3BhcnRpdGlvbih4cGEpOworCQkJCQlwYSA9IE5VTEw7CisJCQkJfQorCQkJfQorCQkJZ290byBkb25lOworCQl9IGVsc2UKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIpLCBjKTsKKwl9Citkb25lOgorCWlmIChyYyA9PSAwKSB7CisJCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIrKzsKKwkJaWYgKHBhcnRubykKKwkJCSpwYXJ0bm8gPSByZXM7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB3cml0ZV9zZWN0b3Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgZmRpc2tfc2VjdG9yX3Qgc2Vjbm8sCisJCQkgICAgICAgdW5zaWduZWQgY2hhciAqYnVmKQoreworCWludCByYzsKKworCXJjID0gc2Vla19zZWN0b3IoY3h0LCBzZWNubyk7CisJaWYgKHJjICE9IDApIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIpLAorCQkJCSh1aW50bWF4X3QpIHNlY25vKTsKKwkJcmV0dXJuIHJjOworCX0KKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzogd3JpdGluZyB0byBzZWN0b3IgJWp1IiwgKHVpbnRtYXhfdCkgc2Vjbm8pKTsKKworCWlmICh3cml0ZShjeHQtPmRldl9mZCwgYnVmLCBjeHQtPnNlY3Rvcl9zaXplKSAhPSAoc3NpemVfdCkgY3h0LT5zZWN0b3Jfc2l6ZSkKKwkJcmV0dXJuIC1lcnJubzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkb3Nfd3JpdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzaXplX3QgaTsKKwlpbnQgcmMgPSAwLCBtYnJfY2hhbmdlZCA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSk7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IHdyaXRlIFBUIHJlcXVlc3RlZCBbbGFiZWwtY2hhbmdlZDogJWQsIG5vbi1wdC1jaGFuZ2VkOiAlZF0iLAorCQkJCWN4dC0+bGFiZWwtPmNoYW5nZWQsIGwtPm5vbl9wdF9jaGFuZ2VkKSk7CisKKwltYnJfY2hhbmdlZCA9IGwtPm5vbl9wdF9jaGFuZ2VkOworCisJLyogTUJSIChwcmltYXJ5IHBhcnRpdGlvbnMpICovCisJaWYgKCFtYnJfY2hhbmdlZCkgeworCQlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CisJCQlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgaSk7CisKKwkJCWFzc2VydChwZSk7CisJCQlpZiAocGUtPmNoYW5nZWQpCisJCQkJbWJyX2NoYW5nZWQgPSAxOworCQl9CisJfQorCWlmIChtYnJfY2hhbmdlZCkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJET1M6IE1CUiBjaGFuZ2VkLCB3cml0aW5nIikpOworCQltYnJfc2V0X21hZ2ljKGN4dC0+Zmlyc3RzZWN0b3IpOworCQlyYyA9IHdyaXRlX3NlY3RvcihjeHQsIDAsIGN4dC0+Zmlyc3RzZWN0b3IpOworCQlpZiAocmMpCisJCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPD0gNCAmJiBsLT5leHRfb2Zmc2V0KSB7CisJCS8qIHdlIGhhdmUgZW1wdHkgZXh0ZW5kZWQgcGFydGl0aW9uLCBjaGVjayBpZiB0aGUgcGFydGl0aW9uIGhhcworCQkgKiBiZWVuIG1vZGlmaWVkIGFuZCB0aGVuIGNsZWFudXAgcG9zc2libGUgcmVtYWluaW5nIEVCUiAgKi8KKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGwtPmV4dF9pbmRleCk7CisJCXVuc2lnbmVkIGNoYXIgZW1wdHlbNTEyXSA9IHsgMCB9OworCQlmZGlza19zZWN0b3JfdCBvZmYgPSBwZSA/IGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHBlKSA6IDA7CisKKwkJaWYgKG9mZiAmJiBwZS0+Y2hhbmdlZCkgeworCQkJbWJyX3NldF9tYWdpYyhlbXB0eSk7CisJCQl3cml0ZV9zZWN0b3IoY3h0LCBvZmYsIGVtcHR5KTsKKwkJfQorCX0KKworCS8qIEVCUiAobG9naWNhbCBwYXJ0aXRpb25zKSAqLworCWZvciAoaSA9IDQ7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCisJCWFzc2VydChwZSk7CisJCWlmICghcGUtPmNoYW5nZWQgfHwgIXBlLT5vZmZzZXQgfHwgIXBlLT5zZWN0b3JidWZmZXIpCisJCQljb250aW51ZTsKKworCQltYnJfc2V0X21hZ2ljKHBlLT5zZWN0b3JidWZmZXIpOworCQlyYyA9IHdyaXRlX3NlY3RvcihjeHQsIHBlLT5vZmZzZXQsIHBlLT5zZWN0b3JidWZmZXIpOworCQlpZiAocmMpCisJCQlnb3RvIGRvbmU7CisJfQorCitkb25lOgorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBkb3NfbG9jYXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbiwKKwkJY29uc3QgY2hhciAqKm5hbWUsIHVpbnQ2NF90ICpvZmZzZXQsIHNpemVfdCAqc2l6ZSkKK3sKKwlhc3NlcnQoY3h0KTsKKworCSpuYW1lID0gTlVMTDsKKwkqb2Zmc2V0ID0gMDsKKwkqc2l6ZSA9IDA7CisKKwlzd2l0Y2ggKG4pIHsKKwljYXNlIDA6CisJCSpuYW1lID0gIk1CUiI7CisJCSpvZmZzZXQgPSAwOworCQkqc2l6ZSA9IDUxMjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJLyogZXh0ZW5kZWQgcGFydGl0aW9ucyAqLworCQlpZiAoKHNpemVfdCluIC0gMSArIDQgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KSB7CisJCQlzdHJ1Y3QgcHRlICpwZSA9IHNlbGZfcHRlKGN4dCwgbiAtIDEgKyA0KTsKKworCQkJYXNzZXJ0KHBlKTsKKwkJCWFzc2VydChwZS0+cHJpdmF0ZV9zZWN0b3JidWZmZXIpOworCisJCQkqbmFtZSA9ICJFQlIiOworCQkJKm9mZnNldCA9ICh1aW50NjRfdCkgcGUtPm9mZnNldCAqIGN4dC0+c2VjdG9yX3NpemU7CisJCQkqc2l6ZSA9IDUxMjsKKwkJfSBlbHNlCisJCQlyZXR1cm4gMTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDaGVjayB3aGV0aGVyIHBhcnRpdGlvbiBlbnRyaWVzIGFyZSBvcmRlcmVkIGJ5IHRoZWlyIHN0YXJ0aW5nIHBvc2l0aW9ucy4KKyAqIFJldHVybiAwIGlmIE9LLiBSZXR1cm4gaSBpZiBwYXJ0aXRpb24gaSBzaG91bGQgaGF2ZSBiZWVuIGVhcmxpZXIuCisgKiBUd28gc2VwYXJhdGUgY2hlY2tzOiBwcmltYXJ5IGFuZCBsb2dpY2FsIHBhcnRpdGlvbnMuCisgKi8KK3N0YXRpYyBpbnQgd3JvbmdfcF9vcmRlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgKnByZXYpCit7CisJc2l6ZV90IGxhc3RfcF9zdGFydF9wb3MgPSAwLCBwX3N0YXJ0X3BvczsKKwlzaXplX3QgaSwgbGFzdF9pID0gMDsKKworCWZvciAoaSA9IDAgOyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCQlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKworCQlhc3NlcnQocGUpOworCQlwID0gcGUtPnB0X2VudHJ5OworCisJCWlmIChpID09IDQpIHsKKwkJCWxhc3RfaSA9IDQ7CisJCQlsYXN0X3Bfc3RhcnRfcG9zID0gMDsKKwkJfQorCQlpZiAoaXNfdXNlZF9wYXJ0aXRpb24ocCkpIHsKKwkJCXBfc3RhcnRfcG9zID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpOworCisJCQlpZiAobGFzdF9wX3N0YXJ0X3BvcyA+IHBfc3RhcnRfcG9zKSB7CisJCQkJaWYgKHByZXYpCisJCQkJCSpwcmV2ID0gbGFzdF9pOworCQkJCXJldHVybiBpOworCQkJfQorCisJCQlsYXN0X3Bfc3RhcnRfcG9zID0gcF9zdGFydF9wb3M7CisJCQlsYXN0X2kgPSBpOworCQl9CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRvc19nZXRfZGlza2xhYmVsX2l0ZW0oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqaXRlbSkKK3sKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJc3dpdGNoIChpdGVtLT5pZCkgeworCWNhc2UgRkRJU0tfTEFCRUxJVEVNX0lEOgorCXsKKwkJdW5zaWduZWQgaW50IG51bSA9IG1icl9nZXRfaWQoY3h0LT5maXJzdHNlY3Rvcik7CisJCWl0ZW0tPm5hbWUgPSBfKCJEaXNrIGlkZW50aWZpZXIiKTsKKwkJaXRlbS0+dHlwZSA9ICdzJzsKKwkJaWYgKGFzcHJpbnRmKCZpdGVtLT5kYXRhLnN0ciwgIjB4JTA4eCIsIG51bSkgPCAwKQorCQkJcmMgPSAtRU5PTUVNOworCQlicmVhazsKKwl9CisJZGVmYXVsdDoKKwkJaWYgKGl0ZW0tPmlkIDwgX19GRElTS19OTEFCRUxJVEVNUykKKwkJCXJjID0gMTsJLyogdW5zdXBwb3J0ZWQgZ2VuZXJpYyBpdGVtICovCisJCWVsc2UKKwkJCXJjID0gMjsJLyogb3V0IG9mIHJhbmdlICovCisJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKKworfQorCitzdGF0aWMgaW50IGRvc19nZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlzdHJ1Y3QgZG9zX3BhcnRpdGlvbiAqcDsKKwlzdHJ1Y3QgcHRlICpwZTsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsYjsKKworCWFzc2VydChjeHQpOworCWFzc2VydChwYSk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJbGIgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlwZSA9IHNlbGZfcHRlKGN4dCwgbik7CisJYXNzZXJ0KHBlKTsKKworCXAgPSBwZS0+cHRfZW50cnk7CisJcGEtPnVzZWQgPSAhaXNfY2xlYXJlZF9wYXJ0aXRpb24ocCk7CisJaWYgKCFwYS0+dXNlZCkKKwkJcmV0dXJuIDA7CisKKwlwYS0+dHlwZSA9IGRvc19wYXJ0aXRpb25fcGFydHR5cGUoY3h0LCBwKTsKKwlwYS0+Ym9vdCA9IHAtPmJvb3RfaW5kID09IEFDVElWRV9GTEFHID8gMSA6IDA7CisJcGEtPnN0YXJ0ID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpOworCXBhLT5zaXplID0gZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwKTsKKwlwYS0+Y29udGFpbmVyID0gbGItPmV4dF9vZmZzZXQgJiYgbiA9PSBsYi0+ZXh0X2luZGV4OworCisJaWYgKG4gPj0gNCkKKwkJcGEtPnBhcmVudF9wYXJ0bm8gPSBsYi0+ZXh0X2luZGV4OworCisJaWYgKHAtPmJvb3RfaW5kICYmIGFzcHJpbnRmKCZwYS0+YXR0cnMsICIlMDJ4IiwgcC0+Ym9vdF9pbmQpIDwgMCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKiBzdGFydCBDL0gvUyAqLworCWlmIChhc3ByaW50ZigmcGEtPnN0YXJ0X2NocywgIiVkLyVkLyVkIiwKKwkJCQljeWxpbmRlcihwLT5icywgcC0+YmMpLAorCQkJCXAtPmJoLAorCQkJCXNlY3RvcihwLT5icykpIDwgMCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKiBlbmQgQy9IL1MgKi8KKwlpZiAoYXNwcmludGYoJnBhLT5lbmRfY2hzLCAiJWQvJWQvJWQiLAorCQkJCWN5bGluZGVyKHAtPmVzLCBwLT5lYyksCisJCQkJcC0+ZWgsCisJCQkJc2VjdG9yKHAtPmVzKSkgPCAwKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhhc19sb2dpY2FsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqbCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWZvciAoaSA9IDQ7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJaWYgKGwtPnB0ZXNbaV0ucHRfZW50cnkpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZG9zX3NldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4sCisJCQkgICAgIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmw7CisJc3RydWN0IGRvc19wYXJ0aXRpb24gKnA7CisJc3RydWN0IHB0ZSAqcGU7CisJaW50IG9yZ3R5cGU7CisJZmRpc2tfc2VjdG9yX3Qgc3RhcnQsIHNpemU7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQocGEpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBET1MpKTsKKworCWlmIChuID49IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXgpCisJCXJldHVybiAtRUlOVkFMOworCisJbCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBuKTsKKworCXBlID0gc2VsZl9wdGUoY3h0LCBuKTsKKwlpZiAoIXBlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW9yZ3R5cGUgPSBwLT5zeXNfaW5kOworCisJaWYgKHBhLT50eXBlKSB7CisJCWlmIChJU19FWFRFTkRFRChwYS0+dHlwZS0+Y29kZSkgJiYgbC0+ZXh0X29mZnNldCAmJiBsLT5leHRfaW5kZXggIT0gbikgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIikpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKworCQlpZiAoIXBhLT50eXBlLT5jb2RlKQorCQkJZmRpc2tfd2FybngoY3h0LCBfKCJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuICIKKwkJCQkgICAiSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iKSk7CisKKwkJaWYgKElTX0VYVEVOREVEKHAtPnN5c19pbmQpICYmICFJU19FWFRFTkRFRChwYS0+dHlwZS0+Y29kZSkgJiYgaGFzX2xvZ2ljYWwoY3h0KSkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKAorCQkJCSJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyAiCisJCQkJImFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsICIKKwkJCQkicGFydGl0aW9ucyBmaXJzdC4iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0KKworCUZESVNLX0lOSVRfVU5ERUYoc3RhcnQpOworCUZESVNLX0lOSVRfVU5ERUYoc2l6ZSk7CisKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpCisJCXN0YXJ0ID0gcGEtPnN0YXJ0OworCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3NpemUocGEpKQorCQlzaXplID0gcGEtPnNpemU7CisKKwlpZiAoIUZESVNLX0lTX1VOREVGKHN0YXJ0KSB8fCAhRkRJU0tfSVNfVU5ERUYoc2l6ZSkpIHsKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiByZXNpemUgcGFydGl0aW9uIikpOworCisJCWlmIChGRElTS19JU19VTkRFRihzdGFydCkpCisJCQlzdGFydCA9IGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHBlKTsKKwkJaWYgKEZESVNLX0lTX1VOREVGKHNpemUpKQorCQkJc2l6ZSA9IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCk7CisKKwkJc2V0X3BhcnRpdGlvbihjeHQsIG4sIDAsIHN0YXJ0LCBzdGFydCArIHNpemUgLSAxLAorCQkJCXBhLT50eXBlICA/IHBhLT50eXBlLT5jb2RlIDogcC0+c3lzX2luZCwKKwkJCQlGRElTS19JU19VTkRFRihwYS0+Ym9vdCkgPworCQkJCQlwLT5ib290X2luZCA9PSBBQ1RJVkVfRkxBRyA6CisJCQkJCWZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZShwYSkpOworCX0gZWxzZSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkRPUzoga2VlcCBzaXplLCBtb2RpZnkgcHJvcGVydGllcyIpKTsKKwkJaWYgKHBhLT50eXBlKQorCQkJcC0+c3lzX2luZCA9IHBhLT50eXBlLT5jb2RlOworCQlpZiAoIUZESVNLX0lTX1VOREVGKHBhLT5ib290KSkKKwkJCXAtPmJvb3RfaW5kID0gZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlKHBhKSA/IEFDVElWRV9GTEFHIDogMDsKKwl9CisKKwlpZiAocGEtPnR5cGUpIHsKKwkJaWYgKElTX0VYVEVOREVEKHBhLT50eXBlLT5jb2RlKSAmJiAhSVNfRVhURU5ERUQob3JndHlwZSkpIHsKKwkJCS8qIG5ldyBleHRlbmRlZCBwYXJ0aXRpb24gLSBjcmVhdGUgYSByZWZlcmVuY2UgICovCisJCQlsLT5leHRfaW5kZXggPSBuOworCQkJbC0+ZXh0X29mZnNldCA9IGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApOworCQkJcGUtPmV4X2VudHJ5ID0gcDsKKwkJIH0gZWxzZSBpZiAoSVNfRVhURU5ERUQob3JndHlwZSkpIHsKKwkJCS8qIHJlbW92ZSBleHRlbmRlZCBwYXJ0aXRpb24gKi8KKwkJCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSA0OworCQkJbC0+cHRlc1tsLT5leHRfaW5kZXhdLmV4X2VudHJ5ID0gTlVMTDsKKwkJCWwtPmV4dF9vZmZzZXQgPSAwOworCQkJbC0+ZXh0X2luZGV4ID0gMDsKKwkJIH0KKwl9CisKKwlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBuLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfY2hhaW5fb2ZfbG9naWNhbHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKworCWZvciAoaSA9IDQ7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqcGUgPSBzZWxmX3B0ZShjeHQsIGkpOworCisJCWFzc2VydChwZSk7CisJCWZwcmludGYoc3RkZXJyLCAiIyUwMnp1IEVCUiBbJTEwanVdLCAiCisJCQkiZGF0YVtzdGFydD0lMTBqdSAoJTEwanUpLCBzaXplPSUxMGp1XSwgIgorCQkJImxpbmtbc3RhcnQ9JTEwanUgKCUxMGp1KSwgc2l6ZT0lMTBqdV1cbiIsCisJCQlpLCAodWludG1heF90KSBwZS0+b2Zmc2V0LAorCQkJLyogZGF0YSAqLworCQkJKHVpbnRtYXhfdCkgZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocGUtPnB0X2VudHJ5KSwKKwkJCSh1aW50bWF4X3QpIGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHBlKSwKKwkJCSh1aW50bWF4X3QpIGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocGUtPnB0X2VudHJ5KSwKKwkJCS8qIGxpbmsgKi8KKwkJCSh1aW50bWF4X3QpIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBlLT5leF9lbnRyeSksCisJCQkodWludG1heF90KSBsLT5leHRfb2Zmc2V0ICsgZG9zX3BhcnRpdGlvbl9nZXRfc3RhcnQocGUtPmV4X2VudHJ5KSwKKwkJCSh1aW50bWF4X3QpIGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocGUtPmV4X2VudHJ5KSk7CisJfQorfQorCitzdGF0aWMgaW50IGNtcF9lYnJfb2Zmc2V0cyhjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKQoreworCXN0cnVjdCBwdGUgKmFlID0gKHN0cnVjdCBwdGUgKikgYSwKKwkJICAgKmJlID0gKHN0cnVjdCBwdGUgKikgYjsKKworCWlmIChhZS0+b2Zmc2V0ID09IDAgJiYgYmUtPm9mZnNldCA9PSAwKQorCQlyZXR1cm4gMDsKKwlpZiAoYWUtPm9mZnNldCA9PSAwKQorCQlyZXR1cm4gMTsKKwlpZiAoYmUtPm9mZnNldCA9PSAwKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gY21wX251bWJlcnMoYWUtPm9mZnNldCwgYmUtPm9mZnNldCk7Cit9CisKKy8qCisgKiBGaXggdGhlIGNoYWluIG9mIGxvZ2ljYWxzLgorICoKKyAqIFRoZSBmdW5jdGlvbiBkb2VzIG5vdCBtb2RpZnkgZGF0YSBwYXJ0aXRpb25zIHdpdGhpbiBFQlIgdGFibGVzCisgKiAocHRlLT5wdF9lbnRyeSkuIEl0IHNvcnRzIHRoZSBjaGFpbiBieSBFQlIgb2Zmc2V0cyBhbmQgdGhlbiB1cGRhdGUgbGlua3MKKyAqIChwdGUtPmV4X2VudHJ5KSBiZXR3ZWVuIEVCUiB0YWJsZXMuCisgKgorICovCitzdGF0aWMgdm9pZCBmaXhfY2hhaW5fb2ZfbG9naWNhbHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfZG9zX2xhYmVsICpsID0gc2VsZl9sYWJlbChjeHQpOworCXN0cnVjdCBwdGUgKmxhc3Q7CisJc2l6ZV90IGk7CisKKwlEQkcoTEFCRUwsIHByaW50X2NoYWluX29mX2xvZ2ljYWxzKGN4dCkpOworCisJLyogU29ydCBjaGFpbiBieSBFQlIgb2Zmc2V0cyAqLworCXFzb3J0KCZsLT5wdGVzWzRdLCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4IC0gNCwgc2l6ZW9mKHN0cnVjdCBwdGUpLAorCQkJY21wX2Vicl9vZmZzZXRzKTsKKworYWdhaW46CisJLyogU29ydCBkYXRhIHBhcnRpdGlvbnMgYnkgc3RhcnQgKi8KKwlmb3IgKGkgPSA0OyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heCAtIDE7IGkrKykgeworCQlzdHJ1Y3QgcHRlICpjdXIgPSBzZWxmX3B0ZShjeHQsIGkpLAorCQkJICAgKm54dCA9IHNlbGZfcHRlKGN4dCwgaSArIDEpOworCisJCWFzc2VydChjdXIpOworCQlhc3NlcnQobnh0KTsKKworCQlpZiAoZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQoY3VyKSA+CisJCSAgICBnZXRfYWJzX3BhcnRpdGlvbl9zdGFydChueHQpKSB7CisKKwkJCXN0cnVjdCBkb3NfcGFydGl0aW9uIHRtcCA9ICpjdXItPnB0X2VudHJ5OworCQkJZmRpc2tfc2VjdG9yX3QgY3VyX3N0YXJ0ID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQoY3VyKSwKKwkJCQkgbnh0X3N0YXJ0ID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQobnh0KTsKKworCQkJLyogc3dhcCBkYXRhIHBhcnRpdGlvbnMgKi8KKwkJCSpjdXItPnB0X2VudHJ5ID0gKm54dC0+cHRfZW50cnk7CisJCQkqbnh0LT5wdF9lbnRyeSA9IHRtcDsKKworCQkJLyogUmVjb3VudCBzdGFydHMgYWNjb3JkaW5nIHRvIEVCUiBvZmZzZXRzLCB0aGUgYWJzb2x1dGUKKwkJCSAqIGFkZHJlc3Mgc3RpbGwgaGFzIHRvIGJlIHRoZSBzYW1lISAqLworCQkJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQoY3VyLT5wdF9lbnRyeSwgbnh0X3N0YXJ0IC0gY3VyLT5vZmZzZXQpOworCQkJZG9zX3BhcnRpdGlvbl9zZXRfc3RhcnQobnh0LT5wdF9lbnRyeSwgY3VyX3N0YXJ0IC0gbnh0LT5vZmZzZXQpOworCisJCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBpLCAxKTsKKwkJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGkgKyAxLCAxKTsKKwkJCWdvdG8gYWdhaW47CisJCX0KKwl9CisKKwkvKiBVcGRhdGUgRUJSIGxpbmtzICovCisJZm9yIChpID0gNDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggLSAxOyBpKyspIHsKKwkJc3RydWN0IHB0ZSAqY3VyID0gc2VsZl9wdGUoY3h0LCBpKSwKKwkJCSAgICpueHQgPSBzZWxmX3B0ZShjeHQsIGkgKyAxKTsKKworCQlhc3NlcnQoY3VyKTsKKwkJYXNzZXJ0KG54dCk7CisKKwkJZmRpc2tfc2VjdG9yX3Qgbm9mZiA9IG54dC0+b2Zmc2V0IC0gbC0+ZXh0X29mZnNldCwKKwkJIG9vZmYgPSBkb3NfcGFydGl0aW9uX2dldF9zdGFydChjdXItPmV4X2VudHJ5KTsKKworCQlpZiAobm9mZiA9PSBvb2ZmKQorCQkJY29udGludWU7CisKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRE9TOiBmaXggRUJSIFslMTBqdV0gbGluayAlanUgLT4gJWp1IiwKKwkJCSh1aW50bWF4X3QpIGN1ci0+b2Zmc2V0LAorCQkJKHVpbnRtYXhfdCkgb29mZiwgKHVpbnRtYXhfdCkgbm9mZikpOworCisJCXNldF9wYXJ0aXRpb24oY3h0LCBpLCAxLCBueHQtPm9mZnNldCwKKwkJCQlnZXRfYWJzX3BhcnRpdGlvbl9lbmQobnh0KSwKKwkJCQlNQlJfRE9TX0VYVEVOREVEX1BBUlRJVElPTiwgMCk7CisJfQorCisJLyogYWx3YXlzIHRlcm1pbmF0ZSB0aGUgY2hhaW4gISAqLworCWxhc3QgPSBzZWxmX3B0ZShjeHQsIGN4dC0+bGFiZWwtPm5wYXJ0c19tYXggLSAxKTsKKwlpZiAobGFzdCkgeworCQljbGVhcl9wYXJ0aXRpb24obGFzdC0+ZXhfZW50cnkpOworCQlwYXJ0aXRpb25fc2V0X2NoYW5nZWQoY3h0LCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4IC0gMSwgMSk7CisJfQorCisJREJHKExBQkVMLCBwcmludF9jaGFpbl9vZl9sb2dpY2FscyhjeHQpKTsKK30KKworc3RhdGljIGludCBkb3NfcmVvcmRlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBwdGUgKnBlaSwgKnBlazsKKwlzaXplX3QgaSxrOworCisJaWYgKCF3cm9uZ19wX29yZGVyKGN4dCwgTlVMTCkpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iKSk7CisJCXJldHVybiAxOworCX0KKworCXdoaWxlICgoaSA9IHdyb25nX3Bfb3JkZXIoY3h0LCAmaykpICE9IDAgJiYgaSA8IDQpIHsKKwkJLyogcGFydGl0aW9uIGkgc2hvdWxkIGhhdmUgY29tZSBlYXJsaWVyLCBtb3ZlIGl0ICovCisJCS8qIFdlIGhhdmUgdG8gbW92ZSBkYXRhIGluIHRoZSBNQlIgKi8KKwkJc3RydWN0IGRvc19wYXJ0aXRpb24gKnBpLCAqcGssICpwZSwgcGJ1ZjsKKwkJcGVpID0gc2VsZl9wdGUoY3h0LCBpKTsKKwkJcGVrID0gc2VsZl9wdGUoY3h0LCBrKTsKKworCQlhc3NlcnQocGVpKTsKKwkJYXNzZXJ0KHBlayk7CisKKwkJcGUgPSBwZWktPmV4X2VudHJ5OworCQlwZWktPmV4X2VudHJ5ID0gcGVrLT5leF9lbnRyeTsKKwkJcGVrLT5leF9lbnRyeSA9IHBlOworCisJCXBpID0gcGVpLT5wdF9lbnRyeTsKKwkJcGsgPSBwZWstPnB0X2VudHJ5OworCisJCW1lbW1vdmUoJnBidWYsIHBpLCBzaXplb2Yoc3RydWN0IGRvc19wYXJ0aXRpb24pKTsKKwkJbWVtbW92ZShwaSwgcGssIHNpemVvZihzdHJ1Y3QgZG9zX3BhcnRpdGlvbikpOworCQltZW1tb3ZlKHBrLCAmcGJ1Ziwgc2l6ZW9mKHN0cnVjdCBkb3NfcGFydGl0aW9uKSk7CisKKwkJcGFydGl0aW9uX3NldF9jaGFuZ2VkKGN4dCwgaSwgMSk7CisJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGssIDEpOworCX0KKworCWlmIChpKQorCQlmaXhfY2hhaW5fb2ZfbG9naWNhbHMoY3h0KTsKKworCXJldHVybiAwOworfQorCisvKiBUT0RPOiB1c2UgZmRpc2tfc2V0X3BhcnRpdGlvbigpIEFQSSAqLworaW50IGZkaXNrX2Rvc19tb3ZlX2JlZ2luKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBpKQoreworCXN0cnVjdCBwdGUgKnBlOworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCXVuc2lnbmVkIGludCBuZXcsIGZyZWVfc3RhcnQsIGN1cnJfc3RhcnQsIGxhc3Q7CisJdWludG1heF90IHJlcyA9IDA7CisJc2l6ZV90IHg7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgRE9TKSk7CisKKwlwZSA9IHNlbGZfcHRlKGN4dCwgaSk7CisJaWYgKCFwZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwID0gcGUtPnB0X2VudHJ5OworCisJaWYgKCFpc191c2VkX3BhcnRpdGlvbihwKSB8fCBJU19FWFRFTkRFRCAocC0+c3lzX2luZCkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIiksIGkgKyAxKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyogdGhlIGRlZmF1bHQgc3RhcnQgaXMgYXQgdGhlIHNlY29uZCBzZWN0b3Igb2YgdGhlIGRpc2sgb3IgYXQgdGhlCisJICogc2Vjb25kIHNlY3RvciBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uCisJICovCisJZnJlZV9zdGFydCA9IHBlLT5vZmZzZXQgPyBwZS0+b2Zmc2V0ICsgMSA6IDE7CisKKwljdXJyX3N0YXJ0ID0gZ2V0X2Fic19wYXJ0aXRpb25fc3RhcnQocGUpOworCisJLyogbG9vayBmb3IgYSBmcmVlIHNwYWNlIGJlZm9yZSB0aGUgY3VycmVudCBzdGFydCBvZiB0aGUgcGFydGl0aW9uICovCisJZm9yICh4ID0gMDsgeCA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IHgrKykgeworCQl1bnNpZ25lZCBpbnQgZW5kOworCQlzdHJ1Y3QgcHRlICpwcmV2X3BlID0gc2VsZl9wdGUoY3h0LCB4KTsKKwkJc3RydWN0IGRvc19wYXJ0aXRpb24gKnByZXZfcDsKKworCQlhc3NlcnQocHJldl9wZSk7CisKKwkJcHJldl9wID0gcHJldl9wZS0+cHRfZW50cnk7CisJCWlmICghcHJldl9wKQorCQkJY29udGludWU7CisJCWVuZCA9IGdldF9hYnNfcGFydGl0aW9uX3N0YXJ0KHByZXZfcGUpCisJCSAgICAgICsgZG9zX3BhcnRpdGlvbl9nZXRfc2l6ZShwcmV2X3ApOworCisJCWlmIChpc191c2VkX3BhcnRpdGlvbihwcmV2X3ApICYmCisJCSAgICBlbmQgPiBmcmVlX3N0YXJ0ICYmIGVuZCA8PSBjdXJyX3N0YXJ0KQorCQkJZnJlZV9zdGFydCA9IGVuZDsKKwl9CisKKwlsYXN0ID0gZ2V0X2Fic19wYXJ0aXRpb25fZW5kKHBlKTsKKworCXJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIGZyZWVfc3RhcnQsIGN1cnJfc3RhcnQsIGxhc3QsCisJCQlfKCJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiKSwgJnJlcyk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwluZXcgPSByZXMgLSBwZS0+b2Zmc2V0OworCisJaWYgKG5ldyAhPSBkb3NfcGFydGl0aW9uX2dldF9zaXplKHApKSB7CisJCXVuc2lnbmVkIGludCBzZWN0cyA9IGRvc19wYXJ0aXRpb25fZ2V0X3NpemUocCkKKwkJCQkrIGRvc19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHApIC0gbmV3OworCisJCWRvc19wYXJ0aXRpb25fc2V0X3NpemUocCwgc2VjdHMpOworCQlkb3NfcGFydGl0aW9uX3NldF9zdGFydChwLCBuZXcpOworCisJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGksIDEpOworCX0KKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBkb3NfcGFydGl0aW9uX2lzX3VzZWQoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBpKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJaWYgKGkgPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIDA7CisKKwlwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBpKTsKKworCXJldHVybiBwICYmICFpc19jbGVhcmVkX3BhcnRpdGlvbihwKTsKK30KKworc3RhdGljIGludCBkb3NfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzaXplX3QgaSwKKwkJdW5zaWduZWQgbG9uZyBmbGFnKQoreworCXN0cnVjdCBkb3NfcGFydGl0aW9uICpwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIERPUykpOworCisJaWYgKGkgPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwID0gc2VsZl9wYXJ0aXRpb24oY3h0LCBpKTsKKworCXN3aXRjaCAoZmxhZykgeworCWNhc2UgRE9TX0ZMQUdfQUNUSVZFOgorCQlpZiAoSVNfRVhURU5ERUQocC0+c3lzX2luZCkgJiYgIXAtPmJvb3RfaW5kKQorCQkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCAiCisJCQkJCSJwYXJ0aXRpb24uIiksIGkgKyAxKTsKKworCQlwLT5ib290X2luZCA9IChwLT5ib290X2luZCA/IDAgOiBBQ1RJVkVfRkxBRyk7CisJCXBhcnRpdGlvbl9zZXRfY2hhbmdlZChjeHQsIGksIDEpOworCQlmZGlza19pbmZvKGN4dCwJcC0+Ym9vdF9pbmQgPworCQkJXygiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iKSA6CisJCQlfKCJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iKSwKKwkJCWkgKyAxKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgZG9zX2ZpZWxkc1tdID0KK3sKKwkvKiBiYXNpYyAqLworCXsgRkRJU0tfRklFTERfREVWSUNFLAlOXygiRGV2aWNlIiksCSAxMCwJMCB9LAorCXsgRkRJU0tfRklFTERfQk9PVCwJTl8oIkJvb3QiKSwJICAxLAkwIH0sCisJeyBGRElTS19GSUVMRF9TVEFSVCwJTl8oIlN0YXJ0IiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX0VORCwJTl8oIkVuZCIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9TRUNUT1JTLAlOXygiU2VjdG9ycyIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9DWUxJTkRFUlMsTl8oIkN5bGluZGVycyIpLCAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX1NJWkUsCU5fKCJTaXplIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfCBGRElTS19GSUVMREZMX0VZRUNBTkRZIH0sCisJeyBGRElTS19GSUVMRF9UWVBFSUQsCU5fKCJJZCIpLAkgIDIsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9UWVBFLAlOXygiVHlwZSIpLAkwLjEsCTAgfSwKKworCS8qIGV4cGVydCBtb2RlICovCisJeyBGRElTS19GSUVMRF9TQUREUiwJTl8oIlN0YXJ0LUMvSC9TIiksIDEsICAgRkRJU0tfRklFTERGTF9OVU1CRVIgfCBGRElTS19GSUVMREZMX0RFVEFJTCB9LAorCXsgRkRJU0tfRklFTERfRUFERFIsCU5fKCJFbmQtQy9IL1MiKSwgICAxLCAgIEZESVNLX0ZJRUxERkxfTlVNQkVSIHwgRkRJU0tfRklFTERGTF9ERVRBSUwgfSwKKwl7IEZESVNLX0ZJRUxEX0FUVFIsCU5fKCJBdHRycyIpLAkgICAyLCAgIEZESVNLX0ZJRUxERkxfTlVNQkVSIHwgRkRJU0tfRklFTERGTF9ERVRBSUwgfQorCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsX29wZXJhdGlvbnMgZG9zX29wZXJhdGlvbnMgPQoreworCS5wcm9iZQkJPSBkb3NfcHJvYmVfbGFiZWwsCisJLndyaXRlCQk9IGRvc193cml0ZV9kaXNrbGFiZWwsCisJLnZlcmlmeQkJPSBkb3NfdmVyaWZ5X2Rpc2tsYWJlbCwKKwkuY3JlYXRlCQk9IGRvc19jcmVhdGVfZGlza2xhYmVsLAorCS5sb2NhdGUJCT0gZG9zX2xvY2F0ZV9kaXNrbGFiZWwsCisJLmdldF9pdGVtCT0gZG9zX2dldF9kaXNrbGFiZWxfaXRlbSwKKwkuc2V0X2lkCQk9IGRvc19zZXRfZGlza2xhYmVsX2lkLAorCisJLmdldF9wYXJ0CT0gZG9zX2dldF9wYXJ0aXRpb24sCisJLnNldF9wYXJ0CT0gZG9zX3NldF9wYXJ0aXRpb24sCisJLmFkZF9wYXJ0CT0gZG9zX2FkZF9wYXJ0aXRpb24sCisJLmRlbF9wYXJ0CT0gZG9zX2RlbGV0ZV9wYXJ0aXRpb24sCisJLnJlb3JkZXIJPSBkb3NfcmVvcmRlciwKKworCS5wYXJ0X3RvZ2dsZV9mbGFnID0gZG9zX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZywKKwkucGFydF9pc191c2VkCT0gZG9zX3BhcnRpdGlvbl9pc191c2VkLAorCisJLnJlc2V0X2FsaWdubWVudCA9IGRvc19yZXNldF9hbGlnbm1lbnQsCisKKwkuZGVpbml0CQk9IGRvc19kZWluaXQsCit9OworCisvKgorICogYWxsb2NhdGVzIERPUyBpbi1tZW1vcnkgc3R1ZmYKKyAqLworc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19uZXdfZG9zX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCXN0cnVjdCBmZGlza19kb3NfbGFiZWwgKmRvczsKKworCWRvcyA9IGNhbGxvYygxLCBzaXplb2YoKmRvcykpOworCWlmICghZG9zKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGluaXRpYWxpemUgZ2VuZXJpYyBwYXJ0IG9mIHRoZSBkcml2ZXIgKi8KKwlsYiA9IChzdHJ1Y3QgZmRpc2tfbGFiZWwgKikgZG9zOworCWxiLT5uYW1lID0gImRvcyI7CisJbGItPmlkID0gRkRJU0tfRElTS0xBQkVMX0RPUzsKKwlsYi0+b3AgPSAmZG9zX29wZXJhdGlvbnM7CisJbGItPnBhcnR0eXBlcyA9IGRvc19wYXJ0dHlwZXM7CisJbGItPm5wYXJ0dHlwZXMgPSBBUlJBWV9TSVpFKGRvc19wYXJ0dHlwZXMpIC0gMTsKKwlsYi0+ZmllbGRzID0gZG9zX2ZpZWxkczsKKwlsYi0+bmZpZWxkcyA9IEFSUkFZX1NJWkUoZG9zX2ZpZWxkcyk7CisKKwlsYi0+Z2VvbV9taW4uc2VjdG9ycyA9IDE7CisJbGItPmdlb21fbWluLmhlYWRzID0gMTsKKwlsYi0+Z2VvbV9taW4uY3lsaW5kZXJzID0gMTsKKworCWxiLT5nZW9tX21heC5zZWN0b3JzID0gNjM7CisJbGItPmdlb21fbWF4LmhlYWRzID0gMjU1OworCWxiLT5nZW9tX21heC5jeWxpbmRlcnMgPSAxMDQ4NTc2OworCisJcmV0dXJuIGxiOworfQorCisvKioKKyAqIGZkaXNrX2Rvc19lbmFibGVfY29tcGF0aWJsZToKKyAqIEBsYjogRE9TIGxhYmVsIChzZWUgZmRpc2tfZ2V0X2xhYmVsKCkpCisgKiBAZW5hYmxlOiAwIG9yIDEKKyAqCisgKiBFbmFibGVzIGRlcHJlY2F0ZWQgRE9TIGNvbXBhdGlibGUgbW9kZSwgaW4gdGhpcyBtb2RlIGxpYnJhcnkgY2hlY2tzIGZvcgorICogY3lsaW5kZXJzIGJvdW5kYXJ5LCBjYXNlcyBhYm91dCBDSFMgYWRkcmVzc2luZyBhbmQgYW5vdGhlciBvYnNjdXJlIHRoaW5ncy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfZG9zX2VuYWJsZV9jb21wYXRpYmxlKHN0cnVjdCBmZGlza19sYWJlbCAqbGIsIGludCBlbmFibGUpCit7CisJc3RydWN0IGZkaXNrX2Rvc19sYWJlbCAqZG9zID0gKHN0cnVjdCBmZGlza19kb3NfbGFiZWwgKikgbGI7CisKKwlpZiAoIWxiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWRvcy0+Y29tcGF0aWJsZSA9IGVuYWJsZTsKKwlpZiAoZW5hYmxlKQorCQlsYi0+ZmxhZ3MgfD0gRkRJU0tfTEFCRUxfRkxfUkVRVUlSRV9HRU9NRVRSWTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19kb3NfaXNfY29tcGF0aWJsZToKKyAqIEBsYjogRE9TIGxhYmVsCisgKgorICogUmV0dXJuczogMCBpZiBET1MgY29tcGF0aWJpbGl0eSBkaXNhYmxlZCwgMSBpZiBlbmFibGVkCisgKi8KK2ludCBmZGlza19kb3NfaXNfY29tcGF0aWJsZShzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKQoreworCXJldHVybiAoKHN0cnVjdCBmZGlza19kb3NfbGFiZWwgKikgbGIpLT5jb21wYXRpYmxlOworfQpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL2ZkaXNrUC5oIGIvbGliZmRpc2svc3JjL2ZkaXNrUC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3YzI2NGUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvZmRpc2tQLmgKQEAgLTAsMCArMSw1MTYgQEAKKy8qCisgKiBmZGlza1AuaCAtIHByaXZhdGUgbGlicmFyeSBoZWFkZXIgZmlsZQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpZm5kZWYgX0xJQkZESVNLX1BSSVZBVEVfSAorI2RlZmluZSBfTElCRkRJU0tfUFJJVkFURV9ICisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8dXVpZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImxpYmZkaXNrLmgiCisKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAiZGVidWcuaCIKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisvKgorICogRGVidWcKKyAqLworI2RlZmluZSBMSUJGRElTS19ERUJVR19IRUxQCSgxIDw8IDApCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgTElCRkRJU0tfREVCVUdfQ1hUCSgxIDw8IDIpCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX0xBQkVMICAgICgxIDw8IDMpCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX0FTSyAgICAgICgxIDw8IDQpCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX1BBUlQJKDEgPDwgNikKKyNkZWZpbmUgTElCRkRJU0tfREVCVUdfUEFSVFRZUEUJKDEgPDwgNykKKyNkZWZpbmUgTElCRkRJU0tfREVCVUdfVEFCCSgxIDw8IDgpCisjZGVmaW5lIExJQkZESVNLX0RFQlVHX1NDUklQVAkoMSA8PCA5KQorI2RlZmluZSBMSUJGRElTS19ERUJVR19XSVBFCSgxIDw8IDEwKQorI2RlZmluZSBMSUJGRElTS19ERUJVR19JVEVNCSgxIDw8IDExKQorI2RlZmluZSBMSUJGRElTS19ERUJVR19BTEwJMHhGRkZGCisKK1VMX0RFQlVHX0RFQ0xBUkVfTUFTSyhsaWJmZGlzayk7CisjZGVmaW5lIERCRyhtLCB4KQlfX1VMX0RCRyhsaWJmZGlzaywgTElCRkRJU0tfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkJX19VTF9EQkdfQ0FMTChsaWJmZGlzaywgTElCRkRJU0tfREVCVUdfLCBtLCB4KQorI2RlZmluZSBEQkdfRkxVU0gJX19VTF9EQkdfRkxVU0gobGliZmRpc2ssIExJQkZESVNLX0RFQlVHXykKKworI2RlZmluZSBVTF9ERUJVR19DVVJSRU5UX01BU0sJVUxfREVCVUdfTUFTSyhsaWJmZGlzaykKKyNpbmNsdWRlICJkZWJ1Z29iai5oIgorCisvKgorICogTkxTIC0tIHRoZSBsaWJyYXJ5IGhhcyB0byBiZSBpbmRlcGVuZGVudCBvbiBtYWluIHByb2dyYW0sIHNvIGRlZmluZQorICogVUxfVEVYVERPTUFJTl9FWFBMSUNJVCBiZWZvcmUgeW91IGluY2x1ZGUgbmxzLmguCisgKgorICogTm93IHdlIHVzZSB1dGlsLWxpbnV4LnBvICg9UEFDS0FHRSksIHJhdGhlciB0aGFuIG1haW50YWluIHRoZSB0ZXh0cworICogaW4gdGhlIHNlcGFyYXRlIGxpYmZkaXNrLnBvIGZpbGUuCisgKi8KKyNkZWZpbmUgTElCRkRJU0tfVEVYVERPTUFJTglQQUNLQUdFCisjZGVmaW5lIFVMX1RFWFRET01BSU5fRVhQTElDSVQJTElCRkRJU0tfVEVYVERPTUFJTgorI2luY2x1ZGUgIm5scy5oIgorCisKKyNpZmRlZiBURVNUX1BST0dSQU0KK3N0cnVjdCBmZGlza190ZXN0IHsKKwljb25zdCBjaGFyCSpuYW1lOworCWludAkJKCpib2R5KShzdHJ1Y3QgZmRpc2tfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pOworCWNvbnN0IGNoYXIJKnVzYWdlOworfTsKKworLyogdGVzdC5jICovCitleHRlcm4gaW50IGZkaXNrX3J1bl90ZXN0KHN0cnVjdCBmZGlza190ZXN0ICp0ZXN0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk7CisjZW5kaWYKKworI2RlZmluZSBGRElTS19HUFRfTlBBUlRJVElPTlNfREVGQVVMVAkxMjgKKworLyoKKyAqIEdlbmVyaWMgaXRlcmF0b3IKKyAqLworc3RydWN0IGZkaXNrX2l0ZXIgeworICAgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICAgICAgICAqcDsJCS8qIGN1cnJlbnQgcG9zaXRpb24gKi8KKyAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAgICAgICAgKmhlYWQ7CQkvKiBzdGFydCBwb3NpdGlvbiAqLworCWludAkJCWRpcmVjdGlvbjsJLyogRkRJU0tfSVRFUl97Rk9SLEJBQ0t9V0FSRCAqLworfTsKKworI2RlZmluZSBJU19JVEVSX0ZPUldBUkQoX2kpCSgoX2kpLT5kaXJlY3Rpb24gPT0gRkRJU0tfSVRFUl9GT1JXQVJEKQorI2RlZmluZSBJU19JVEVSX0JBQ0tXQVJEKF9pKQkoKF9pKS0+ZGlyZWN0aW9uID09IEZESVNLX0lURVJfQkFDS1dBUkQpCisKKyNkZWZpbmUgRkRJU0tfSVRFUl9JTklUKGl0ciwgbGlzdCkgXAorCWRvIHsgXAorCQkoaXRyKS0+cCA9IElTX0lURVJfRk9SV0FSRChpdHIpID8gXAorCQkJCShsaXN0KS0+bmV4dCA6IChsaXN0KS0+cHJldjsgXAorCQkoaXRyKS0+aGVhZCA9IChsaXN0KTsgXAorCX0gd2hpbGUoMCkKKworI2RlZmluZSBGRElTS19JVEVSX0lURVJBVEUoaXRyLCByZXMsIHJlc3R5cGUsIG1lbWJlcikgXAorCWRvIHsgXAorCQlyZXMgPSBsaXN0X2VudHJ5KChpdHIpLT5wLCByZXN0eXBlLCBtZW1iZXIpOyBcCisJCShpdHIpLT5wID0gSVNfSVRFUl9GT1JXQVJEKGl0cikgPyBcCisJCQkJKGl0ciktPnAtPm5leHQgOiAoaXRyKS0+cC0+cHJldjsgXAorCX0gd2hpbGUoMCkKKworLyoKKyAqIFBhcnRpdGlvbiB0eXBlcworICovCitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgeworCXVuc2lnbmVkIGludAljb2RlOwkJLyogdHlwZSBhcyBudW1iZXIgb3IgemVybyAqLworCWNoYXIJCSpuYW1lOwkJLyogZGVzY3JpcHRpb24gKi8KKwljaGFyCQkqdHlwZXN0cjsJLyogdHlwZSBhcyBzdHJpbmcgb3IgTlVMTCAqLworCisJdW5zaWduZWQgaW50CWZsYWdzOwkJLyogRkRJU0tfUEFSVFRZUEVfKiBmbGFncyAqLworCWludAkJcmVmY291bnQ7CS8qIHJlZmVyZW5jZSBjb3VudGVyIGZvciBhbGxvY2F0ZWQgdHlwZXMgKi8KK307CisKK2VudW0geworCUZESVNLX1BBUlRUWVBFX1VOS05PV04JCT0gKDEgPDwgMSksCisJRkRJU0tfUEFSVFRZUEVfSU5WSVNJQkxFCT0gKDEgPDwgMiksCisJRkRJU0tfUEFSVFRZUEVfQUxMT0NBVEVECT0gKDEgPDwgMykKK307CisKKyNkZWZpbmUgZmRpc2tfcGFydHR5cGVfaXNfaW52aXNpYmxlKF94KQkoKF94KSAmJiAoKF94KS0+ZmxhZ3MgJiBGRElTS19QQVJUVFlQRV9JTlZJU0lCTEUpKQorI2RlZmluZSBmZGlza19wYXJ0dHlwZV9pc19hbGxvY2F0ZWQoX3gpCSgoX3gpICYmICgoX3gpLT5mbGFncyAmIEZESVNLX1BBUlRUWVBFX0FMTE9DQVRFRCkpCisKK3N0cnVjdCBmZGlza19wYXJ0aXRpb24geworCWludAkJcmVmY291bnQ7CQkvKiByZWZlcmVuY2UgY291bnRlciAqLworCisJc2l6ZV90CQlwYXJ0bm87CQkJLyogcGFydGl0aW9uIG51bWJlciAqLworCXNpemVfdAkJcGFyZW50X3BhcnRubzsJCS8qIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMgKi8KKworCWZkaXNrX3NlY3Rvcl90CXN0YXJ0OwkJCS8qIGZpcnN0IHNlY3RvcnMgKi8KKwlmZGlza19zZWN0b3JfdAlzaXplOwkJCS8qIHNpemUgaW4gc2VjdG9ycyAqLworCisJaW50CQltb3Zlc3RhcnQ7CQkvKiBGRElTS19NT1ZFXyogKHNjcmlwdHMgb25seSkgKi8KKwlpbnQJCXJlc2l6ZTsJCQkvKiBGRElTS19SRVNJWkVfKiAoc2NyaXB0cyBvbmx5KSAqLworCisJY2hhcgkJKm5hbWU7CQkJLyogcGFydGl0aW9uIG5hbWUgKi8KKwljaGFyCQkqdXVpZDsJCQkvKiBwYXJ0aXRpb24gVVVJRCAqLworCWNoYXIJCSphdHRyczsJCQkvKiBwYXJ0aXRpb24gZmxhZ3MvYXR0cmlidXRlcyBjb252ZXJ0ZWQgdG8gc3RyaW5nICovCisJc3RydWN0IGZkaXNrX3BhcnR0eXBlCSp0eXBlOwkJLyogcGFydGl0aW9uIHR5cGUgKi8KKworCWNoYXIJCSpmc3R5cGU7CQkvKiBmaWxlc3lzdGVtIHR5cGUgKi8KKwljaGFyCQkqZnN1dWlkOwkJLyogZmlsZXN5c3RlbSB1dWlkICAqLworCWNoYXIJCSpmc2xhYmVsOwkJLyogZmlsZXN5c3RlbSBsYWJlbCAqLworCisJc3RydWN0IGxpc3RfaGVhZAlwYXJ0czsJCS8qIGxpc3Qgb2YgcGFydGl0aW9ucyAqLworCisJLyogZXh0cmEgZmllbGRzIGZvciBwYXJ0aXRpb25fdG9fc3RyaW5nKCkgKi8KKwljaGFyCQlzdGFydF9wb3N0OwkJLyogc3RhcnQgcG9zdGZpeCAgKGUuZy4gJysnKSAqLworCWNoYXIJCWVuZF9wb3N0OwkJLyogZW5kIHBvc3RmaXggKi8KKwljaGFyCQlzaXplX3Bvc3Q7CQkvKiBzaXplIHBvc3RmaXggKi8KKworCXVpbnQ2NF90CWZzaXplOwkJCS8qIGJzZCBqdW5rICovCisJdWludDY0X3QJYnNpemU7CisJdWludDY0X3QJY3BnOworCisJY2hhcgkJKnN0YXJ0X2NoczsJCS8qIHN0YXJ0IEMvSC9TIGluIHN0cmluZyAqLworCWNoYXIJCSplbmRfY2hzOwkJLyogZW5kIEMvSC9TIGluIHN0cmluZyAqLworCisJdW5zaWduZWQgaW50CWJvb3Q7CQkJLyogTUJSOiBib290YWJsZSAqLworCisJdW5zaWduZWQgaW50CWNvbnRhaW5lciA6IDEsCQkJLyogY29udGFpbmVyIHBhcnRpdGlvbiAoZS5nLiBleHRlbmRlZCBwYXJ0aXRpb24pICovCisJCQllbmRfZm9sbG93X2RlZmF1bHQgOiAxLAkJLyogdXNlIGRlZmF1bHQgZW5kICovCisJCQlmcmVlc3BhY2UgOiAxLAkJCS8qIHRoaXMgaXMgZnJlZSBzcGFjZSAqLworCQkJcGFydG5vX2ZvbGxvd19kZWZhdWx0IDogMSwJLyogdXNlIGRlZmF1bHQgcGFydG5vICovCisJCQlzaXplX2V4cGxpY2l0IDogMSwJCS8qIGRvbid0IGFsaWduIHRoZSBzaXplICovCisJCQlzdGFydF9mb2xsb3dfZGVmYXVsdCA6IDEsCS8qIHVzZSBkZWZhdWx0IHN0YXJ0ICovCisJCQlmc19wcm9iZWQgOiAxLAkJCS8qIGFscmVhZHkgcHJvYmVkIGJ5IGJsa2lkICovCisJCQl1c2VkIDogMSwJCQkvKiBwYXJ0aXRpb24gYWxyZWFkeSB1c2VkICovCisJCQl3aG9sZWRpc2sgOiAxOwkJCS8qIHNwZWNpYWwgc3lzdGVtIHBhcnRpdGlvbiAqLworfTsKKworZW51bSB7CisJRkRJU0tfTU9WRV9OT05FID0gMCwKKwlGRElTS19NT1ZFX0RPV04gPSAtMSwKKwlGRElTS19NT1ZFX1VQID0gMQorfTsKKworZW51bSB7CisJRkRJU0tfUkVTSVpFX05PTkUgPSAwLAorCUZESVNLX1JFU0laRV9SRURVQ0UgPSAtMSwKKwlGRElTS19SRVNJWkVfRU5MQVJHRSA9IDEKK307CisKKyNkZWZpbmUgRkRJU0tfSU5JVF9VTkRFRihfeCkJKChfeCkgPSAoX190eXBlb2ZfXyhfeCkpIC0xKQorI2RlZmluZSBGRElTS19JU19VTkRFRihfeCkJKChfeCkgPT0gKF9fdHlwZW9mX18oX3gpKSAtMSkKKworc3RydWN0IGZkaXNrX3RhYmxlIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkCXBhcnRzOwkJLyogcGFydGl0aW9ucyAqLworCWludAkJCXJlZmNvdW50OworCXNpemVfdAkJCW5lbnRzOwkJLyogbnVtYmVyIG9mIHBhcnRpdGlvbnMgKi8KK307CisKKy8qCisgKiBMZWdhY3kgQ0hTIGJhc2VkIGdlb21ldHJ5CisgKi8KK3N0cnVjdCBmZGlza19nZW9tZXRyeSB7CisJdW5zaWduZWQgaW50IGhlYWRzOworCWZkaXNrX3NlY3Rvcl90IHNlY3RvcnM7CisJZmRpc2tfc2VjdG9yX3QgY3lsaW5kZXJzOworfTsKKworLyoKKyAqIExhYmVsIHNwZWNpZmljIG9wZXJhdGlvbnMKKyAqLworc3RydWN0IGZkaXNrX2xhYmVsX29wZXJhdGlvbnMgeworCS8qIHByb2JlIGRpc2sgbGFiZWwgKi8KKwlpbnQgKCpwcm9iZSkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisJLyogd3JpdGUgaW4tbWVtb3J5IGNoYW5nZXMgdG8gZGlzayAqLworCWludCAoKndyaXRlKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKwkvKiB2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSAqLworCWludCAoKnZlcmlmeSkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisJLyogY3JlYXRlIG5ldyBkaXNrIGxhYmVsICovCisJaW50ICgqY3JlYXRlKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKwkvKiByZXR1cm5zIG9mZnNldCBhbmQgc2l6ZSBvZiB0aGUgJ24nIHBhcnQgb2YgdGhlIFBUICovCisJaW50ICgqbG9jYXRlKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbiwgY29uc3QgY2hhciAqKm5hbWUsCisJCSAgICAgIHVpbnQ2NF90ICpvZmZzZXQsIHNpemVfdCAqc2l6ZSk7CisJLyogcmVvcmRlciBwYXJ0aXRpb25zICovCisJaW50ICgqcmVvcmRlcikoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisJLyogZ2V0IGRldGFpbHMgZnJvbSBsYWJlbCAqLworCWludCAoKmdldF9pdGVtKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICppdGVtKTsKKwkvKiBzZXQgZGlzayBsYWJlbCBJRCAqLworCWludCAoKnNldF9pZCkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKKworCS8qIG5ldyBwYXJ0aXRpb24gKi8KKwlpbnQgKCphZGRfcGFydCkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQkJCQlzaXplX3QgKnBhcnRubyk7CisJLyogZGVsZXRlIHBhcnRpdGlvbiAqLworCWludCAoKmRlbF9wYXJ0KShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG51bSk7CisKKwkvKiBmaWxsIGluIHBhcnRpdGlvbiBzdHJ1Y3QgKi8KKwlpbnQgKCpnZXRfcGFydCkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4sCisJCQkJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CisJLyogbW9kaWZ5IHBhcnRpdGlvbiAqLworCWludCAoKnNldF9wYXJ0KShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgbiwKKwkJCQkJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKKworCS8qIHJldHVybiBzdGF0ZSBvZiB0aGUgcGFydGl0aW9uICovCisJaW50ICgqcGFydF9pc191c2VkKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG51bSk7CisKKwlpbnQgKCpwYXJ0X3RvZ2dsZV9mbGFnKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgaSwgdW5zaWduZWQgbG9uZyBmbGFnKTsKKworCS8qIHJlZnJlc2ggYWxpZ25tZW50IHNldHRpbmcgKi8KKwlpbnQgKCpyZXNldF9hbGlnbm1lbnQpKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisJLyogZnJlZSBpbi1tZW1vcnkgbGFiZWwgc3R1ZmYgKi8KKwl2b2lkICgqZnJlZSkoc3RydWN0IGZkaXNrX2xhYmVsICpsYik7CisKKwkvKiBkZWluaXQgaW4tbWVtb3J5IGxhYmVsIHN0dWZmICovCisJdm9pZCAoKmRlaW5pdCkoc3RydWN0IGZkaXNrX2xhYmVsICpsYik7Cit9OworCisvKgorICogVGhlIGZpZWxkcyBkZXNjcmliZXMgaG93IHRvIGRpc3BsYXkgbGliZmRpc2tfcGFydGl0aW9uCisgKi8KK3N0cnVjdCBmZGlza19maWVsZCB7CisJaW50CQlpZDsJCS8qIEZESVNLX0ZJRUxEXyogKi8KKwljb25zdCBjaGFyCSpuYW1lOwkJLyogZmllbGQgbmFtZSAqLworCWRvdWJsZQkJd2lkdGg7CQkvKiBmaWVsZCB3aWR0aCAoY29tcGF0aWJsZSB3aXRoIGxpYnNtYXJ0Y29scyB3aGludCkgKi8KKwlpbnQJCWZsYWdzOwkJLyogRkRJU0tfRklFTERGTF8qICovCit9OworCisvKiBub3RlIHRoYXQgdGhlIGRlZmF1bHRzIGlzIHRvIGRpc3BsYXkgYSBjb2x1bW4gYWx3YXlzICovCitlbnVtIHsKKwlGRElTS19GSUVMREZMX0RFVEFJTAk9ICgxIDw8IDEpLAkvKiBvbmx5IGRpc3BsYXkgaWYgZmRpc2tfaXNfZGV0YWlscygpICovCisJRkRJU0tfRklFTERGTF9FWUVDQU5EWQk9ICgxIDw8IDIpLAkvKiBkb24ndCBkaXNwbGF5IGlmIGZkaXNrX2lzX2RldGFpbHMoKSAqLworCUZESVNLX0ZJRUxERkxfTlVNQkVSCT0gKDEgPDwgMyksCS8qIGNvbHVtbiBkaXNwbGF5IG51bWJlcnMgKi8KK307CisKKy8qCisgKiBHZW5lcmljIGxhYmVsCisgKi8KK3N0cnVjdCBmZGlza19sYWJlbCB7CisJY29uc3QgY2hhcgkJKm5hbWU7CQkvKiBsYWJlbCBuYW1lICovCisJZW51bSBmZGlza19sYWJlbHR5cGUJaWQ7CQkvKiBGRElTS19ESVNLTEFCRUxfKiAqLworCXN0cnVjdCBmZGlza19wYXJ0dHlwZQkqcGFydHR5cGVzOwkvKiBzdXBwb3J0ZWQgcGFydGl0aW9ucyB0eXBlcyAqLworCXNpemVfdAkJCW5wYXJ0dHlwZXM7CS8qIG51bWJlciBvZiBpdGVtcyBpbiBwYXJ0dHlwZXNbXSAqLworCisJc2l6ZV90CQkJbnBhcnRzX21heDsJLyogbWF4aW1hbCBudW1iZXIgb2YgcGFydGl0aW9ucyAqLworCXNpemVfdAkJCW5wYXJ0c19jdXI7CS8qIG51bWJlciBvZiBjdXJyZW50bHkgdXNlZCBwYXJ0aXRpb25zICovCisKKwlpbnQJCQlmbGFnczsJCS8qIEZESVNLX0xBQkVMX0ZMXyogZmxhZ3MgKi8KKworCXN0cnVjdCBmZGlza19nZW9tZXRyeQlnZW9tX21pbjsJLyogbWluaW1hbCBnZW9tZXRyeSAqLworCXN0cnVjdCBmZGlza19nZW9tZXRyeQlnZW9tX21heDsJLyogbWF4aW1hbCBnZW9tZXRyeSAqLworCisJdW5zaWduZWQgaW50CQljaGFuZ2VkOjEsCS8qIGxhYmVsIGhhcyBiZWVuIG1vZGlmaWVkICovCisJCQkJZGlzYWJsZWQ6MTsJLyogdGhpcyBkcml2ZXIgaXMgZGlzYWJsZWQgYXQgYWxsICovCisKKwljb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkczsJLyogYWxsIHBvc3NpYmxlIGZpZWxkcyAqLworCXNpemVfdAkJCW5maWVsZHM7CisKKwljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWxfb3BlcmF0aW9ucyAqb3A7Cit9OworCisKKy8qIGxhYmVsIGRyaXZlciBmbGFncyAqLworZW51bSB7CisJRkRJU0tfTEFCRUxfRkxfUkVRVUlSRV9HRU9NRVRSWSA9ICgxIDw8IDIpLAorCUZESVNLX0xBQkVMX0ZMX0lOQ0hBUlNfUEFSVE5PICAgPSAoMSA8PCAzKQorfTsKKworLyogbGFiZWwgYWxsb2NhdG9ycyAqLworZXh0ZXJuIHN0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X2dwdF9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZkaXNrX25ld19kb3NfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19uZXdfYnNkX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIHN0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X3NnaV9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZkaXNrX25ld19zdW5fbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKKworc3RydWN0IGFza19tZW51aXRlbSB7CisJY2hhcglrZXk7CisJY29uc3QgY2hhcgkqbmFtZTsKKwljb25zdCBjaGFyCSpkZXNjOworCisJc3RydWN0IGFza19tZW51aXRlbSAqbmV4dDsKK307CisKKy8qIGZkaXNrIGRpYWxvZyAtLSBub3RlIHRoYXQgbm90aGluZyBmcm9tIHRoaXMgc3R1ZmYgd2lsbCBiZSBkaXJlY3RseSBleHBvcnRlZCwKKyAqIHdlIHdpbGwgaGF2ZSBnZXQvc2V0KCkgZnVuY3Rpb24gZm9yIGV2ZXJ5dGhpbmcuCisgKi8KK3N0cnVjdCBmZGlza19hc2sgeworCWludAkJdHlwZTsJCS8qIEZESVNLX0FTS1RZUEVfKiAqLworCWNoYXIJCSpxdWVyeTsKKworCWludAkJcmVmY291bnQ7CisKKwl1bmlvbiB7CisJCS8qIEZESVNLX0FTS1RZUEVfe05VTUJFUixPRkZTRVR9ICovCisJCXN0cnVjdCBhc2tfbnVtYmVyIHsKKwkJCXVpbnQ2NF90CWhpZzsJCS8qIGhpZ2ggbGltaXQgKi8KKwkJCXVpbnQ2NF90CWxvdzsJCS8qIGxvdyBsaW1pdCAqLworCQkJdWludDY0X3QJZGZsOwkJLyogZGVmYXVsdCAqLworCQkJdWludDY0X3QJcmVzdWx0OworCQkJdWludDY0X3QJYmFzZTsJCS8qIGZvciByZWxhdGl2ZSByZXN1bHRzICovCisJCQl1aW50NjRfdAl1bml0OwkJLyogdW5pdCBmb3Igb2Zmc2V0cyAqLworCQkJY29uc3QgY2hhcgkqcmFuZ2U7CQkvKiBieSBsaWJyYXJ5IGdlbmVyYXRlZCBsaXN0ICovCisJCQl1bnNpZ25lZCBpbnQJcmVsYXRpdmUgOjEsCisJCQkJCWluY2hhcnMgIDoxOworCQl9IG51bTsKKwkJLyogRkRJU0tfQVNLVFlQRV97V0FSTixXQVJOWCwuLn0gKi8KKwkJc3RydWN0IGFza19wcmludCB7CisJCQljb25zdCBjaGFyCSptZXNnOworCQkJaW50CQllcnJudW07CQkvKiBlcnJubyAqLworCQl9IHByaW50OworCQkvKiBGRElTS19BU0tUWVBFX1lFU05PICovCisJCXN0cnVjdCBhc2tfeWVzbm8geworCQkJaW50CQlyZXN1bHQ7CQkvKiBUUlVFIG9yIEZBTFNFICovCisJCX0geWVzbm87CisJCS8qIEZESVNLX0FTS1RZUEVfU1RSSU5HICovCisJCXN0cnVjdCBhc2tfc3RyaW5nIHsKKwkJCWNoYXIJCSpyZXN1bHQ7CS8qIGFsbG9jYXRlZCAqLworCQl9IHN0cjsKKwkJLyogRkRJU0tfQVNLVFlQRV9NRU5VICovCisJCXN0cnVjdCBhc2tfbWVudSB7CisJCQlpbnQJCWRmbDsJCS8qIGRlZmF1bHQgbWVudSBpdGVtICovCisJCQlpbnQJCXJlc3VsdDsKKwkJCXN0cnVjdCBhc2tfbWVudWl0ZW0gKmZpcnN0OworCQl9IG1lbnU7CisJfSBkYXRhOworfTsKKworc3RydWN0IGZkaXNrX2NvbnRleHQgeworCWludCBkZXZfZmQ7ICAgICAgICAgLyogZGV2aWNlIGRlc2NyaXB0b3IgKi8KKwljaGFyICpkZXZfcGF0aDsgICAgIC8qIGRldmljZSBwYXRoICovCisJc3RydWN0IHN0YXQgZGV2X3N0OyAvKiBzdGF0KDIpIHJlc3VsdCAqLworCisJaW50IHJlZmNvdW50OworCisJdW5zaWduZWQgY2hhciAqZmlyc3RzZWN0b3I7IC8qIGJ1ZmZlciB3aXRoIG1hc3RlciBib290IHJlY29yZCAqLworCXVuc2lnbmVkIGxvbmcgZmlyc3RzZWN0b3JfYnVmc3o7CisKKworCS8qIHRvcG9sb2d5ICovCisJdW5zaWduZWQgbG9uZyBpb19zaXplOwkJLyogSS9PIHNpemUgdXNlZCBieSBmZGlzayAqLworCXVuc2lnbmVkIGxvbmcgb3B0aW1hbF9pb19zaXplOwkvKiBvcHRpb25hbCBJL08gcmV0dXJuZWQgYnkgZGV2aWNlICovCisJdW5zaWduZWQgbG9uZyBtaW5faW9fc2l6ZTsJLyogbWluaW1hbCBJL08gc2l6ZSAqLworCXVuc2lnbmVkIGxvbmcgcGh5X3NlY3Rvcl9zaXplOwkvKiBwaHlzaWNhbCBzaXplICovCisJdW5zaWduZWQgbG9uZyBzZWN0b3Jfc2l6ZTsJLyogbG9naWNhbCBzaXplICovCisJdW5zaWduZWQgbG9uZyBhbGlnbm1lbnRfb2Zmc2V0OworCisJdW5zaWduZWQgaW50IHJlYWRvbmx5IDogMSwJCS8qIGRvbid0IHdyaXRlIHRvIHRoZSBkZXZpY2UgKi8KKwkJICAgICBkaXNwbGF5X2luX2N5bF91bml0cyA6IDEsCS8qIGZvciBvYnNjdXJlIGxhYmVscyAqLworCQkgICAgIGRpc3BsYXlfZGV0YWlscyA6IDEsCS8qIGV4cGVydCBkaXNwbGF5IG1vZGUgKi8KKwkJICAgICBwcm90ZWN0X2Jvb3RiaXRzIDogMSwJLyogZG9uJ3QgemVyb2l6ZSBmaXJzdCBzZWN0b3IgKi8KKwkJICAgICBwdF9jb2xsaXNpb24gOiAxLAkJLyogYW5vdGhlciBQVCBkZXRlY3RlZCBieSBsaWJibGtpZCAqLworCQkgICAgIG5vX2Rpc2Fsb2dzIDogMSwJCS8qIGRpc2FibGUgZGlhbG9nLWRyaXZlbiBwYXJ0aXRpdG9uaW5nICovCisJCSAgICAgbGlzdG9ubHkgOiAxOwkJLyogbGlzdCBwYXJ0aXRpb24sIG5vdGhpbmcgZWxzZSAqLworCisJY2hhciAqY29sbGlzaW9uOwkJCS8qIG5hbWUgb2YgYWxyZWFkeSBleGlzdGluZyBGUy9QVCAqLworCXN0cnVjdCBsaXN0X2hlYWQgd2lwZXM7CQkJLyogbGlzdCBvZiBhcmVhcyB0byB3aXBlIGJlZm9yZSB3cml0ZSAqLworCisJaW50IHNpemV1bml0OwkJCQkvKiBTSVpFIGZpZWxkcywgRkRJU0tfU0laRVVOSVRfKiAqLworCisJLyogYWxpZ25tZW50ICovCisJdW5zaWduZWQgbG9uZyBncmFpbjsJCS8qIGFsaWdubWVudCB1bml0ICovCisJZmRpc2tfc2VjdG9yX3QgZmlyc3RfbGJhOwkJLyogcmVjb21tZW5kZWQgYmVnaW4gb2YgdGhlIGZpcnN0IHBhcnRpdGlvbiAqLworCWZkaXNrX3NlY3Rvcl90IGxhc3RfbGJhOwkJLyogcmVjb21tZW5kZWQgZW5kIG9mIGxhc3QgcGFydGl0aW9uICovCisKKwkvKiBnZW9tZXRyeSAqLworCWZkaXNrX3NlY3Rvcl90IHRvdGFsX3NlY3RvcnM7CS8qIGluIGxvZ2ljYWwgc2VjdG9ycyAqLworCXN0cnVjdCBmZGlza19nZW9tZXRyeSBnZW9tOworCisJLyogdXNlciBzZXR0aW5nIHRvIG92ZXJ3cml0ZSBkZXZpY2UgZGVmYXVsdCAqLworCXN0cnVjdCBmZGlza19nZW9tZXRyeSB1c2VyX2dlb207CisJdW5zaWduZWQgbG9uZyB1c2VyX3B5aF9zZWN0b3I7CisJdW5zaWduZWQgbG9uZyB1c2VyX2xvZ19zZWN0b3I7CisJdW5zaWduZWQgbG9uZyB1c2VyX2dyYWluOworCisJc3RydWN0IGZkaXNrX2xhYmVsICpsYWJlbDsJLyogY3VycmVudCBsYWJlbCwgcG9pbnRlciB0byBsYWJlbHNbXSAqLworCisJc2l6ZV90IG5sYWJlbHM7CQkJLyogbnVtYmVyIG9mIGluaXRpYWxpemVkIGxhYmVsIGRyaXZlcnMgKi8KKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxhYmVsc1s4XTsJLyogYWxsIHN1cHBvcnRlZCBsYWJlbHMsCisJCQkJCSAqIEZJWE1FOiB1c2UgYW55IGVudW0gcmF0aGVyIHRoYW4gaGFyZGNvZGVkIG51bWJlciAqLworCisJaW50CSgqYXNrX2NiKShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqLCBzdHJ1Y3QgZmRpc2tfYXNrICosIHZvaWQgKik7CS8qIGZkaXNrIGRpYWxvZ3MgY2FsbGJhY2sgKi8KKwl2b2lkCSphc2tfZGF0YTsJCS8qIGFza19jYigpIGRhdGEgKi8KKworCXN0cnVjdCBmZGlza19jb250ZXh0CSpwYXJlbnQ7CS8qIGZvciBuZXN0ZWQgUFQgKi8KKwlzdHJ1Y3QgZmRpc2tfc2NyaXB0CSpzY3JpcHQ7CS8qIHdoYXQgd2Ugd2FudCB0byBmb2xsb3cgKi8KK307CisKKy8qIHRhYmxlICovCitlbnVtIHsKKwlGRElTS19ESUZGX1VOQ0hBTkdFRCA9IDAsCisJRkRJU0tfRElGRl9SRU1PVkVELAorCUZESVNLX0RJRkZfQURERUQsCisJRkRJU0tfRElGRl9NT1ZFRCwKKwlGRElTS19ESUZGX1JFU0laRUQKK307CitleHRlcm4gaW50IGZkaXNrX2RpZmZfdGFibGVzKHN0cnVjdCBmZGlza190YWJsZSAqYSwgc3RydWN0IGZkaXNrX3RhYmxlICpiLAorCQkJCXN0cnVjdCBmZGlza19pdGVyICppdHIsCisJCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqKnJlcywgaW50ICpjaGFuZ2UpOworZXh0ZXJuIHZvaWQgZmRpc2tfZGVidWdfcHJpbnRfdGFibGUoc3RydWN0IGZkaXNrX3RhYmxlICp0Yik7CisKKworLyogY29udGV4dC5jICovCitleHRlcm4gaW50IF9fZmRpc2tfc3dpdGNoX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJICAgIHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworZXh0ZXJuIGludCBmZGlza19taXNzaW5nX2dlb21ldHJ5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisvKiBhbGlnbm1lbnQuYyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfc2Nyb3VuZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBudW0pOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfY3JvdW5kKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IG51bSk7CisKK2V4dGVybiBpbnQgZmRpc2tfZGlzY292ZXJfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX2Rpc2NvdmVyX3RvcG9sb2d5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IGZkaXNrX2hhc191c2VyX2RldmljZV9nZW9tZXRyeShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgZmRpc2tfYXBwbHlfdXNlcl9kZXZpY2VfcHJvcGVydGllcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgZmRpc2tfYXBwbHlfbGFiZWxfZGV2aWNlX3Byb3BlcnRpZXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gdm9pZCBmZGlza196ZXJvaXplX2RldmljZV9wcm9wZXJ0aWVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisvKiB1dGlscy5jICovCitleHRlcm4gaW50IGZkaXNrX2luaXRfZmlyc3RzZWN0b3JfYnVmZmVyKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQl1bnNpZ25lZCBpbnQgcHJvdGVjdF9vZmYsIHVuc2lnbmVkIGludCBwcm90ZWN0X3NpemUpOworZXh0ZXJuIGludCBmZGlza19yZWFkX2ZpcnN0c2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCisvKiBsYWJlbC5jICovCitleHRlcm4gaW50IGZkaXNrX3Byb2JlX2xhYmVscyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiB2b2lkIGZkaXNrX2RlaW5pdF9sYWJlbChzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKTsKKworc3RydWN0IGZkaXNrX2xhYmVsaXRlbSB7CisJaW50CQlyZWZjb3VudDsJLyogcmVmZXJlbmNlIGNvdW50ZXIgKi8KKwlpbnQJCWlkOwkJLyogPGxhYmVsPl9JVEVNXyogKi8KKwljaGFyCQl0eXBlOwkJLyogcyA9IHN0cmluZywgaiA9IHVpbnQ2NCAqLworCWNvbnN0IGNoYXIJKm5hbWU7CQkvKiBodW1hbiByZWFkYWJsZSBuYW1lICovCisKKwl1bmlvbiB7CisJCWNoYXIJCSpzdHI7CisJCXVpbnQ2NF90CW51bTY0OworCX0gZGF0YTsKK307CisKKy8qIFVzZSBvbmx5IGludGVybmFsbHkgZm9yIG5vbi1hbGxvY2F0ZWQgaXRlbXMsIG5ldmVyIHVzZQorICogcmVmY291dGluZyBmb3Igc3VjaCBpdGVtcyEKKyAqLworI2RlZmluZSBGRElTS19MQUJFTElURU1fSU5JVAl7IC50eXBlID0gMCwgLnJlZmNvdW50ID0gMCB9CisKKy8qIGFzay5jICovCitzdHJ1Y3QgZmRpc2tfYXNrICpmZGlza19uZXdfYXNrKHZvaWQpOwordm9pZCBmZGlza19yZXNldF9hc2soc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2ludCBmZGlza19hc2tfc2V0X3F1ZXJ5KHN0cnVjdCBmZGlza19hc2sgKmFzaywgY29uc3QgY2hhciAqc3RyKTsKK2ludCBmZGlza19hc2tfc2V0X3R5cGUoc3RydWN0IGZkaXNrX2FzayAqYXNrLCBpbnQgdHlwZSk7CitpbnQgZmRpc2tfZG9fYXNrKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19hc2sgKmFzayk7CitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfcmFuZ2Uoc3RydWN0IGZkaXNrX2FzayAqYXNrLCBjb25zdCBjaGFyICpyYW5nZSk7CitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IGRmbHQpOworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IGxvdyk7CitpbnQgZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHVpbnQ2NF90IGhpZ2gpOworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X2Jhc2Uoc3RydWN0IGZkaXNrX2FzayAqYXNrLCB1aW50NjRfdCBiYXNlKTsKK2ludCBmZGlza19hc2tfbnVtYmVyX3NldF91bml0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgdWludDY0X3QgdW5pdCk7CitpbnQgZmRpc2tfYXNrX251bWJlcl9pc19yZWxhdGl2ZShzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza19tZW51X3NldF9kZWZhdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGRmbCk7CitpbnQgZmRpc2tfYXNrX21lbnVfYWRkX2l0ZW0oc3RydWN0IGZkaXNrX2FzayAqYXNrLCBpbnQga2V5LAorCQkJY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGVzYyk7CitpbnQgZmRpc2tfYXNrX3ByaW50X3NldF9lcnJubyhzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGludCBlcnJudW0pOworaW50IGZkaXNrX2Fza19wcmludF9zZXRfbWVzZyhzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGNvbnN0IGNoYXIgKm1lc2cpOworaW50IGZkaXNrX2luZm9fbmV3X3BhcnRpdGlvbigKKwkJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQlpbnQgbnVtLCBmZGlza19zZWN0b3JfdCBzdGFydCwgZmRpc2tfc2VjdG9yX3Qgc3RvcCwKKwkJCXN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCk7CisKKy8qIGRvcy5jICovCitleHRlcm4gc3RydWN0IGRvc19wYXJ0aXRpb24gKmZkaXNrX2Rvc19nZXRfcGFydGl0aW9uKAorCQkJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJc2l6ZV90IGkpOworCisvKiB3aXBlLmMgKi8KK3ZvaWQgZmRpc2tfZnJlZV93aXBlX2FyZWFzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworaW50IGZkaXNrX3NldF93aXBlX2FyZWEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgdWludDY0X3Qgc3RhcnQsIHVpbnQ2NF90IHNpemUsIGludCBlbmFibGUpOworaW50IGZkaXNrX2RvX3dpcGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfaGFzX3dpcGVfYXJlYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCB1aW50NjRfdCBzdGFydCwgdWludDY0X3Qgc2l6ZSk7CitpbnQgZmRpc2tfY2hlY2tfY29sbGlzaW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworI2VuZGlmIC8qIF9MSUJGRElTS19QUklWQVRFX0ggKi8KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9maWVsZC5jIGIvbGliZmRpc2svc3JjL2ZpZWxkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTkyNGNmOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9maWVsZC5jCkBAIC0wLDAgKzEsODggQEAKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisvKioKKyAqIFNFQ1RJT046IGZpZWxkCisgKiBAdGl0bGU6IEZpZWxkCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uIG9mIHRoZSBwYXJ0aXRpb24gZmllbGRzCisgKgorICogVGhlIGZkaXNrIGZpZWxkcyBhcmUgc3RhdGljIHVzZXItZnJpZW5kbHkgZGVzY3JpcHRpb25zIG9mIHRoZSBwYXJ0aXRpb24uIFRoZQorICogZmllbGRzIGFyZSB1c2VkIHRvIGF2b2lkIGxhYmVsIHNwZWNpZmljIHN0dWZmIGluIHRoZSBmdW5jdGlvbnMgdGhhdCBsaXN0IGRpc2sKKyAqIHBhcnRpdGlvbnMgKGUuZy4gZmRpc2sgLWwpLiBUaGUgZmllbGQgSWQgaXMgdGhlIHNhbWUgYXMgSWQgZm9yIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoKS4KKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKiBpbnQgKmlkczsKKyAqIHNpemVfdCBuaWRzOworICogc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworICogc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IGZkaXNrX2dldF9sYWJlbChjeHQsIE5VTEwpOworICoKKyAqIGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzKGxiLCBjeHQsICZpZHMsICZuaWRzKTsKKyAqCisgKiBmZGlza19nZXRfcGFydGl0aW9uKGN4dCwgMCwgJnBhKTsKKyAqCisgKiBmb3IgKGkgPSAwOyBpIDwgbmlkczsgaSsrKSB7CisgKgljb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkID0gZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkKGxiLCBpZHNbaV0pOworICoKKyAqCWludCBpZCA9IGZkaXNrX2ZpZWxkX2dldF9pZChmbCk7CisgKgljb25zdCBjaGFyICpuYW1lID0gZmRpc2tfZmllbGRfZ2V0X25hbWUoZmwpOworICoJY2hhciAqZGF0YTsKKyAqCisgKglmZGlza19wYXJ0aXRpb25fdG9fc3RyaW5nKHBhLCBpZCwgJmRhdGEpOworICoJcHJpbnRmKCIlczogJXNcbiIsIG5hbWUsIGRhdGEpOworICoJZnJlZShkYXRhKTsKKyAqIH0KKyAqIGZyZWUoaWRzKTsKKyAqICAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBUaGlzIGV4YW1wbGUgbGlzdHMgYWxsIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmaXJzdCBwYXJ0aXRpb24uIEl0IHdpbGwgd29yaworICogZm9yIE1CUiBhcyB3ZWxsIGFzIGZvciBHUFQgYmVjYXVzZSBmaWVsZHMgYXJlIG5vdCBoYXJkY29kZWQgaW4gdGhlIGV4YW1wbGUuCisgKgorICogU2VlIGFsc28gZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkX2J5X25hbWUoKSwgZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkc19pZHNfYWxsKCkKKyAqIGFuZCBmZGlza19sYWJlbF9nZXRfZmllbGRzX2lkcygpLgorICovCisKKy8qKgorICogZmRpc2tfZmllbGRfZ2V0X2lkOgorICogQGZpZWxkOiBmaWVsZCBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IGZpZWxkIElkIChGRElTS19GSUVMRF8qKQorICovCitpbnQgZmRpc2tfZmllbGRfZ2V0X2lkKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpCit7CisJcmV0dXJuIGZpZWxkID8gZmllbGQtPmlkIDogLUVJTlZBTDsKK30KKworLyoqCisgKiBmZGlza19maWVsZF9nZXRfbmFtZToKKyAqIEBmaWVsZDogZmllbGQgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBmaWVsZCBuYW1lCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX2ZpZWxkX2dldF9uYW1lKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpCit7CisJcmV0dXJuIGZpZWxkID8gZmllbGQtPm5hbWUgOiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX2ZpZWxkX2dldF93aWR0aDoKKyAqIEBmaWVsZDogZmllbGQgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBsaWJzbWFydGNvbHMgY29tcGF0aWJsZSB3aWR0aC4KKyAqLworZG91YmxlIGZkaXNrX2ZpZWxkX2dldF93aWR0aChjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkKQoreworCXJldHVybiBmaWVsZCA/IGZpZWxkLT53aWR0aCA6IC1FSU5WQUw7Cit9CisKKy8qKgorICogZmRpc2tfZmllbGRfaXNfbnVtYmVyOgorICogQGZpZWxkOiBmaWVsZCBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IDEgaWYgZmllbGQgcmVwcmVzZW50IG51bWJlcgorICovCitpbnQgZmRpc2tfZmllbGRfaXNfbnVtYmVyKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpCit7CisJcmV0dXJuIGZpZWxkLT5mbGFncyA/IGZpZWxkLT5mbGFncyAmIEZESVNLX0ZJRUxERkxfTlVNQkVSIDogMDsKK30KZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9ncHQuYyBiL2xpYmZkaXNrL3NyYy9ncHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDM0Y2E3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2dwdC5jCkBAIC0wLDAgKzEsMzIyMyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqCisgKiBHVUlEIFBhcnRpdGlvbiBUYWJsZSAoR1BUKSBzdXBwb3J0LiBCYXNlZCBvbiBVRUZJIFNwZWNzIDIuMy4xCisgKiBDaGFwdGVyIDU6IEdVSUQgUGFydGl0aW9uIFRhYmxlIChHUFQpIERpc2sgTGF5b3V0IChKdW4gMjd0aCwgMjAxMikuCisgKiBTb21lIGlkZWFzIGFuZCBpbnNwaXJhdGlvbiBmcm9tIEdOVSBwYXJ0ZWQgYW5kIGdwdGZkaXNrLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDx1dWlkLmg+CisKKyNpbmNsdWRlICJmZGlza1AuaCIKKworI2luY2x1ZGUgImNyYzMyLmgiCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJwdC1tYnIuaCIKKworLyoqCisgKiBTRUNUSU9OOiBncHQKKyAqIEB0aXRsZTogVUVGSSBHUFQKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogc3BlY2lmaWMgZnVuY3Rpb25hbGl0eQorICovCisKKyNkZWZpbmUgR1BUX0hFQURFUl9TSUdOQVRVUkUgMHg1NDUyNDE1MDIwNDk0NjQ1TEwgLyogRUZJIFBBUlQgKi8KKyNkZWZpbmUgR1BUX0hFQURFUl9SRVZJU0lPTl9WMV8wMiAweDAwMDEwMjAwCisjZGVmaW5lIEdQVF9IRUFERVJfUkVWSVNJT05fVjFfMDAgMHgwMDAxMDAwMAorI2RlZmluZSBHUFRfSEVBREVSX1JFVklTSU9OX1YwXzk5IDB4MDAwMDk5MDAKKyNkZWZpbmUgR1BUX0hFQURFUl9NSU5TWiAgICAgICAgICA5MiAvKiBieXRlcyAqLworCisjZGVmaW5lIEdQVF9QTUJSX0xCQSAgICAgICAgMAorI2RlZmluZSBHUFRfTUJSX1BST1RFQ1RJVkUgIDEKKyNkZWZpbmUgR1BUX01CUl9IWUJSSUQgICAgICAyCisKKyNkZWZpbmUgR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSAweDAwMDAwMDAxVUxMCisKKyNkZWZpbmUgRUZJX1BNQlJfT1NUWVBFICAgICAweEVFCisjZGVmaW5lIE1TRE9TX01CUl9TSUdOQVRVUkUgMHhBQTU1CisjZGVmaW5lIEdQVF9QQVJUX05BTUVfTEVOICAgKDcyIC8gc2l6ZW9mKHVpbnQxNl90KSkKKyNkZWZpbmUgR1BUX05QQVJUSVRJT05TICAgICBGRElTS19HUFRfTlBBUlRJVElPTlNfREVGQVVMVAorCisvKiBHbG9iYWxseSB1bmlxdWUgaWRlbnRpZmllciAqLworc3RydWN0IGdwdF9ndWlkIHsKKwl1aW50MzJfdCAgIHRpbWVfbG93OworCXVpbnQxNl90ICAgdGltZV9taWQ7CisJdWludDE2X3QgICB0aW1lX2hpX2FuZF92ZXJzaW9uOworCXVpbnQ4X3QgICAgY2xvY2tfc2VxX2hpOworCXVpbnQ4X3QgICAgY2xvY2tfc2VxX2xvdzsKKwl1aW50OF90ICAgIG5vZGVbNl07Cit9OworCisKKy8qIG9ubHkgY2hlY2tpbmcgdGhhdCB0aGUgR1VJRCBpcyAwIGlzIGVub3VnaCB0byB2ZXJpZnkgYW4gZW1wdHkgcGFydGl0aW9uLiAqLworI2RlZmluZSBHUFRfVU5VU0VEX0VOVFJZX0dVSUQJCQkJCQlcCisJKChzdHJ1Y3QgZ3B0X2d1aWQpIHsgMHgwMDAwMDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAsIDB4MDAsCVwKKwkJCSAgICAgeyAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwLCAweDAwIH19KQorCisvKiBMaW51eCBuYXRpdmUgcGFydGl0aW9uIHR5cGUgKi8KKyNkZWZpbmUgR1BUX0RFRkFVTFRfRU5UUllfVFlQRSAiMEZDNjNEQUYtODQ4My00NzcyLThFNzktM0Q2OUQ4NDc3REU0IgorCisvKgorICogQXR0cmlidXRlIGJpdHMKKyAqLworZW51bSB7CisJLyogVUVGSSBzcGVjaWZpYyAqLworCUdQVF9BVFRSQklUX1JFUSAgICAgID0gMCwKKwlHUFRfQVRUUkJJVF9OT0JMT0NLICA9IDEsCisJR1BUX0FUVFJCSVRfTEVHQUNZICAgPSAyLAorCisJLyogR1VJRCBzcGVjaWZpYyAocmFuZ2UgNDguLjY0KSovCisJR1BUX0FUVFJCSVRfR1VJRF9GSVJTVAk9IDQ4LAorCUdQVF9BVFRSQklUX0dVSURfQ09VTlQJPSAxNgorfTsKKworI2RlZmluZSBHUFRfQVRUUlNUUl9SRVEJCSJSZXF1aXJlZFBhcnRpdGlvbiIKKyNkZWZpbmUgR1BUX0FUVFJTVFJfUkVRX1RZUE8JIlJlcXVpcmVkUGFydGl0b24iCisjZGVmaW5lIEdQVF9BVFRSU1RSX05PQkxPQ0sJIk5vQmxvY2tJT1Byb3RvY29sIgorI2RlZmluZSBHUFRfQVRUUlNUUl9MRUdBQ1kJIkxlZ2FjeUJJT1NCb290YWJsZSIKKworLyogVGhlIEdQVCBQYXJ0aXRpb24gZW50cnkgYXJyYXkgY29udGFpbnMgYW4gYXJyYXkgb2YgR1BUIGVudHJpZXMuICovCitzdHJ1Y3QgZ3B0X2VudHJ5IHsKKwlzdHJ1Y3QgZ3B0X2d1aWQgICAgIHR5cGU7IC8qIHB1cnBvc2UgYW5kIHR5cGUgb2YgdGhlIHBhcnRpdGlvbiAqLworCXN0cnVjdCBncHRfZ3VpZCAgICAgcGFydGl0aW9uX2d1aWQ7CisJdWludDY0X3QgICAgICAgICAgICBsYmFfc3RhcnQ7CisJdWludDY0X3QgICAgICAgICAgICBsYmFfZW5kOworCXVpbnQ2NF90ICAgICAgICAgICAgYXR0cnM7CisJdWludDE2X3QgICAgICAgICAgICBuYW1lW0dQVF9QQVJUX05BTUVfTEVOXTsKK30gIF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworLyogR1BUIGhlYWRlciAqLworc3RydWN0IGdwdF9oZWFkZXIgeworCXVpbnQ2NF90ICAgICAgICAgICAgc2lnbmF0dXJlOyAvKiBoZWFkZXIgaWRlbnRpZmljYXRpb24gKi8KKwl1aW50MzJfdCAgICAgICAgICAgIHJldmlzaW9uOyAvKiBoZWFkZXIgdmVyc2lvbiAqLworCXVpbnQzMl90ICAgICAgICAgICAgc2l6ZTsgLyogaW4gYnl0ZXMgKi8KKwl1aW50MzJfdCAgICAgICAgICAgIGNyYzMyOyAvKiBoZWFkZXIgQ1JDIGNoZWNrc3VtICovCisJdWludDMyX3QgICAgICAgICAgICByZXNlcnZlZDE7IC8qIG11c3QgYmUgMCAqLworCXVpbnQ2NF90ICAgICAgICAgICAgbXlfbGJhOyAvKiBMQkEgb2YgYmxvY2sgdGhhdCBjb250YWlucyB0aGlzIHN0cnVjdCAoTEJBIDEpICovCisJdWludDY0X3QgICAgICAgICAgICBhbHRlcm5hdGl2ZV9sYmE7IC8qIGJhY2t1cCBHUFQgaGVhZGVyICovCisJdWludDY0X3QgICAgICAgICAgICBmaXJzdF91c2FibGVfbGJhOyAvKiBmaXJzdCB1c2FibGUgbG9naWNhbCBibG9jayBmb3IgcGFydGl0aW9ucyAqLworCXVpbnQ2NF90ICAgICAgICAgICAgbGFzdF91c2FibGVfbGJhOyAvKiBsYXN0IHVzYWJsZSBsb2dpY2FsIGJsb2NrIGZvciBwYXJ0aXRpb25zICovCisJc3RydWN0IGdwdF9ndWlkICAgICBkaXNrX2d1aWQ7IC8qIHVuaXF1ZSBkaXNrIGlkZW50aWZpZXIgKi8KKwl1aW50NjRfdCAgICAgICAgICAgIHBhcnRpdGlvbl9lbnRyeV9sYmE7IC8qIExCQSBvZiBzdGFydCBvZiBwYXJ0aXRpb24gZW50cmllcyBhcnJheSAqLworCXVpbnQzMl90ICAgICAgICAgICAgbnBhcnRpdGlvbl9lbnRyaWVzOyAvKiB0b3RhbCBwYXJ0aXRpb24gZW50cmllcyAtIG5vcm1hbGx5IDEyOCAqLworCXVpbnQzMl90ICAgICAgICAgICAgc2l6ZW9mX3BhcnRpdGlvbl9lbnRyeTsgLyogYnl0ZXMgZm9yIGVhY2ggR1VJRCBwdCAqLworCXVpbnQzMl90ICAgICAgICAgICAgcGFydGl0aW9uX2VudHJ5X2FycmF5X2NyYzMyOyAvKiBwYXJ0aXRpb24gQ1JDIGNoZWNrc3VtICovCisJdWludDhfdCAgICAgICAgICAgICByZXNlcnZlZDJbNTEyIC0gOTJdOyAvKiBtdXN0IGFsbCBiZSAwICovCit9IF9fYXR0cmlidXRlX18gKChwYWNrZWQpKTsKKworc3RydWN0IGdwdF9yZWNvcmQgeworCXVpbnQ4X3QgICAgICAgICAgICAgYm9vdF9pbmRpY2F0b3I7IC8qIHVudXNlZCBieSBFRkksIHNldCB0byAweDgwIGZvciBib290YWJsZSAqLworCXVpbnQ4X3QgICAgICAgICAgICAgc3RhcnRfaGVhZDsgLyogdW51c2VkIGJ5IEVGSSwgcHQgc3RhcnQgaW4gQ0hTICovCisJdWludDhfdCAgICAgICAgICAgICBzdGFydF9zZWN0b3I7IC8qIHVudXNlZCBieSBFRkksIHB0IHN0YXJ0IGluIENIUyAqLworCXVpbnQ4X3QgICAgICAgICAgICAgc3RhcnRfdHJhY2s7CisJdWludDhfdCAgICAgICAgICAgICBvc190eXBlOyAvKiBFRkkgYW5kIGxlZ2FjeSBub24tRUZJIE9TIHR5cGVzICovCisJdWludDhfdCAgICAgICAgICAgICBlbmRfaGVhZDsgLyogdW51c2VkIGJ5IEVGSSwgcHQgZW5kIGluIENIUyAqLworCXVpbnQ4X3QgICAgICAgICAgICAgZW5kX3NlY3RvcjsgLyogdW51c2VkIGJ5IEVGSSwgcHQgZW5kIGluIENIUyAqLworCXVpbnQ4X3QgICAgICAgICAgICAgZW5kX3RyYWNrOyAvKiB1bnVzZWQgYnkgRUZJLCBwdCBlbmQgaW4gQ0hTICovCisJdWludDMyX3QgICAgICAgICAgICBzdGFydGluZ19sYmE7IC8qIHVzZWQgYnkgRUZJIC0gc3RhcnQgYWRkciBvZiB0aGUgb24gZGlzayBwdCAqLworCXVpbnQzMl90ICAgICAgICAgICAgc2l6ZV9pbl9sYmE7IC8qIHVzZWQgYnkgRUZJIC0gc2l6ZSBvZiBwdCBpbiBMQkEgKi8KK30gX19hdHRyaWJ1dGVfXyAoKHBhY2tlZCkpOworCisvKiBQcm90ZWN0ZWQgTUJSIGFuZCBsZWdhY3kgTUJSIHNoYXJlIHNhbWUgc3RydWN0dXJlICovCitzdHJ1Y3QgZ3B0X2xlZ2FjeV9tYnIgeworCXVpbnQ4X3QgICAgICAgICAgICAgYm9vdF9jb2RlWzQ0MF07CisJdWludDMyX3QgICAgICAgICAgICB1bmlxdWVfbWJyX3NpZ25hdHVyZTsKKwl1aW50MTZfdCAgICAgICAgICAgIHVua25vd247CisJc3RydWN0IGdwdF9yZWNvcmQgICBwYXJ0aXRpb25fcmVjb3JkWzRdOworCXVpbnQxNl90ICAgICAgICAgICAgc2lnbmF0dXJlOworfSBfX2F0dHJpYnV0ZV9fICgocGFja2VkKSk7CisKKy8qCisgKiBIZXJlIGJlIGRyYWdvbnMhCisgKiBTZWU6IGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvR1VJRF9QYXJ0aXRpb25fVGFibGUjUGFydGl0aW9uX3R5cGVfR1VJRHMKKyAqLworI2RlZmluZSBERUZfR1VJRChfdSwgX24pIFwKKwl7IFwKKwkJLnR5cGVzdHIgPSAoX3UpLCBcCisJCS5uYW1lID0gKF9uKSwgICAgXAorCX0KKworLyogUHJvYmFibHkgdGhlIG1vc3QgY29tcGxldGUgbGlzdCBvZiB0aGUgR1VJRHMgYXJlIGF0OgorICoJIGh0dHBzOi8vd2lraXBlZGlhLm9yZy93aWtpL0dVSURfUGFydGl0aW9uX1RhYmxlCisgKi8KK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgZ3B0X3BhcnR0eXBlc1tdID0KK3sKKwkvKiBHZW5lcmljIE9TICovCisJREVGX0dVSUQoIkMxMkE3MzI4LUY4MUYtMTFEMi1CQTRCLTAwQTBDOTNFQzkzQiIsIE5fKCJFRkkgU3lzdGVtIikpLAorCisJREVGX0dVSUQoIjAyNERFRTQxLTMzRTctMTFEMy05RDY5LTAwMDhDNzgxRjM5RiIsIE5fKCJNQlIgcGFydGl0aW9uIHNjaGVtZSIpKSwKKwlERUZfR1VJRCgiRDNCRkUyREUtM0RBRi0xMURGLUJBNDAtRTNBNTU2RDg5NTkzIiwgTl8oIkludGVsIEZhc3QgRmxhc2giKSksCisKKwkvKiBIYWghSWRvbnRuZWVkRUZJICovCisJREVGX0dVSUQoIjIxNjg2MTQ4LTY0NDktNkU2Ri03NDRFLTY1NjU2NDQ1NDY0OSIsIE5fKCJCSU9TIGJvb3QiKSksCisKKwkvKiBOSUggc3luZHJvbWUgKi8KKwlERUZfR1VJRCgiRjQwMTk3MzItMDY2RS00RTEyLTgyNzMtMzQ2QzU2NDE0OTRGIiwgTl8oIlNvbnkgYm9vdCBwYXJ0aXRpb24iKSksCisJREVGX0dVSUQoIkJGQkZBRkU3LUEzNEYtNDQ4QS05QTVCLTYyMTNFQjczNkMyMiIsIE5fKCJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iKSksCisKKwkvKiBQb3dlclBDIHJlZmVyZW5jZSBwbGF0Zm9ybSBib290IHBhcnRpdGlvbiAqLworCURFRl9HVUlEKCI5RTFBMkQzOC1DNjEyLTQzMTYtQUEyNi04QjQ5NTIxRTVBOEIiLCBOXygiUG93ZXJQQyBQUmVQIGJvb3QiKSksCisKKwkvKiBPcGVuIE5ldHdvcmsgSW5zdGFsbCBFbnZpcm9ubWVudCAqLworCURFRl9HVUlEKCI3NDEyRjdENS1BMTU2LTRCMTMtODFEQy04NjcxNzQ5MjkzMjUiLCBOXygiT05JRSBib290IikpLAorCURFRl9HVUlEKCJENEU2RTJDRC00NDY5LTQ2RjMtQjVDQi0xQkZGNTdBRkMxNDkiLCBOXygiT05JRSBjb25maWciKSksCisKKwkvKiBXaW5kb3dzICovCisJREVGX0dVSUQoIkUzQzlFMzE2LTBCNUMtNERCOC04MTdELUY5MkRGMDAyMTVBRSIsIE5fKCJNaWNyb3NvZnQgcmVzZXJ2ZWQiKSksCisJREVGX0dVSUQoIkVCRDBBMEEyLUI5RTUtNDQzMy04N0MwLTY4QjZCNzI2OTlDNyIsIE5fKCJNaWNyb3NvZnQgYmFzaWMgZGF0YSIpKSwKKwlERUZfR1VJRCgiNTgwOEM4QUEtN0U4Ri00MkUwLTg1RDItRTFFOTA0MzRDRkIzIiwgTl8oIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiKSksCisJREVGX0dVSUQoIkFGOUI2MEEwLTE0MzEtNEY2Mi1CQzY4LTMzMTE3MTRBNjlBRCIsIE5fKCJNaWNyb3NvZnQgTERNIGRhdGEiKSksCisJREVGX0dVSUQoIkRFOTRCQkE0LTA2RDEtNEQ0MC1BMTZBLUJGRDUwMTc5RDZBQyIsIE5fKCJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IikpLAorCURFRl9HVUlEKCIzN0FGRkM5MC1FRjdELTRFOTYtOTFDMy0yRDdBRTA1NUIxNzQiLCBOXygiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiKSksCisJREVGX0dVSUQoIkU3NUNBRjhGLUY2ODAtNENFRS1BRkEzLUIwMDFFNTZFRkMyRCIsIE5fKCJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiKSksCisKKwkvKiBIUC1VWCAqLworCURFRl9HVUlEKCI3NTg5NEMxRS0zQUVCLTExRDMtQjdDMS03QjAzQTAwMDAwMDAiLCBOXygiSFAtVVggZGF0YSIpKSwKKwlERUZfR1VJRCgiRTJBMUU3MjgtMzJFMy0xMUQ2LUE2ODItN0IwM0EwMDAwMDAwIiwgTl8oIkhQLVVYIHNlcnZpY2UiKSksCisKKwkvKiBMaW51eCAoaHR0cDovL3d3dy5mcmVlZGVza3RvcC5vcmcvd2lraS9TcGVjaWZpY2F0aW9ucy9EaXNjb3ZlcmFibGVQYXJ0aXRpb25zU3BlYykgKi8KKwlERUZfR1VJRCgiMDY1N0ZENkQtQTRBQi00M0M0LTg0RTUtMDkzM0M4NEI0RjRGIiwgTl8oIkxpbnV4IHN3YXAiKSksCisJREVGX0dVSUQoIjBGQzYzREFGLTg0ODMtNDc3Mi04RTc5LTNENjlEODQ3N0RFNCIsIE5fKCJMaW51eCBmaWxlc3lzdGVtIikpLAorCURFRl9HVUlEKCIzQjhGODQyNS0yMEUwLTRGM0ItOTA3Ri0xQTI1QTc2Rjk4RTgiLCBOXygiTGludXggc2VydmVyIGRhdGEiKSksCisJREVGX0dVSUQoIjQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSIsIE5fKCJMaW51eCByb290ICh4ODYpIikpLAorCURFRl9HVUlEKCI2OURBRDcxMC0yQ0U0LTRFM0MtQjE2Qy0yMUExRDQ5QUJFRDMiLCBOXygiTGludXggcm9vdCAoQVJNKSIpKSwKKwlERUZfR1VJRCgiNEY2OEJDRTMtRThDRC00REIxLTk2RTctRkJDQUY5ODRCNzA5IiwgTl8oIkxpbnV4IHJvb3QgKHg4Ni02NCkiKSksCisJREVGX0dVSUQoIkI5MjFCMDQ1LTFERjAtNDFDMy1BRjQ0LTRDNkYyODBEM0ZBRSIsIE5fKCJMaW51eCByb290IChBUk0tNjQpIikpLAorCURFRl9HVUlEKCI5OTNEOEQzRC1GODBFLTQyMjUtODU1QS05REFGOEVEN0VBOTciLCBOXygiTGludXggcm9vdAkoSUEtNjQpIikpLAorCURFRl9HVUlEKCI4REE2MzMzOS0wMDA3LTYwQzAtQzQzNi0wODNBQzgyMzA5MDgiLCBOXygiTGludXggcmVzZXJ2ZWQiKSksCisJREVGX0dVSUQoIjkzM0FDN0UxLTJFQjQtNEYxMy1CODQ0LTBFMTRFMkFFRjkxNSIsIE5fKCJMaW51eCBob21lIikpLAorCURFRl9HVUlEKCJBMTlEODgwRi0wNUZDLTREM0ItQTAwNi03NDNGMEY4NDkxMUUiLCBOXygiTGludXggUkFJRCIpKSwKKwlERUZfR1VJRCgiQkMxM0MyRkYtNTlFNi00MjYyLUEzNTItQjI3NUZENkY3MTcyIiwgTl8oIkxpbnV4IGV4dGVuZGVkIGJvb3QiKSksCisJREVGX0dVSUQoIkU2RDZEMzc5LUY1MDctNDRDMi1BMjNDLTIzOEYyQTNERjkyOCIsIE5fKCJMaW51eCBMVk0iKSksCisJLyogLi4uIHRvbyBjcmF6eSwgaWdub3JlIGZvciBub3c6CisJREVGX0dVSUQoIjdGRkVDNUM5LTJEMDAtNDlCNy04OTQxLTNFQTEwQTU1ODZCNyIsIE5fKCJMaW51eCBwbGFpbiBkbS1jcnlwdCIpKSwKKwlERUZfR1VJRCgiQ0E3RDdDQ0ItNjNFRC00QzUzLTg2MUMtMTc0MjUzNjA1OUNDIiwgTl8oIkxpbnV4IExVS1MiKSksCisJKi8KKworCS8qIEZyZWVCU0QgKi8KKwlERUZfR1VJRCgiNTE2RTdDQjQtNkVDRi0xMUQ2LThGRjgtMDAwMjJEMDk3MTJCIiwgTl8oIkZyZWVCU0QgZGF0YSIpKSwKKwlERUZfR1VJRCgiODNCRDZCOUQtN0Y0MS0xMURDLUJFMEItMDAxNTYwQjg0RjBGIiwgTl8oIkZyZWVCU0QgYm9vdCIpKSwKKwlERUZfR1VJRCgiNTE2RTdDQjUtNkVDRi0xMUQ2LThGRjgtMDAwMjJEMDk3MTJCIiwgTl8oIkZyZWVCU0Qgc3dhcCIpKSwKKwlERUZfR1VJRCgiNTE2RTdDQjYtNkVDRi0xMUQ2LThGRjgtMDAwMjJEMDk3MTJCIiwgTl8oIkZyZWVCU0QgVUZTIikpLAorCURFRl9HVUlEKCI1MTZFN0NCQS02RUNGLTExRDYtOEZGOC0wMDAyMkQwOTcxMkIiLCBOXygiRnJlZUJTRCBaRlMiKSksCisJREVGX0dVSUQoIjUxNkU3Q0I4LTZFQ0YtMTFENi04RkY4LTAwMDIyRDA5NzEyQiIsIE5fKCJGcmVlQlNEIFZpbnVtIikpLAorCisJLyogQXBwbGUgT1NYICovCisJREVGX0dVSUQoIjQ4NDY1MzAwLTAwMDAtMTFBQS1BQTExLTAwMzA2NTQzRUNBQyIsIE5fKCJBcHBsZSBIRlMvSEZTKyIpKSwKKwlERUZfR1VJRCgiNTU0NjUzMDAtMDAwMC0xMUFBLUFBMTEtMDAzMDY1NDNFQ0FDIiwgTl8oIkFwcGxlIFVGUyIpKSwKKwlERUZfR1VJRCgiNTI0MTQ5NDQtMDAwMC0xMUFBLUFBMTEtMDAzMDY1NDNFQ0FDIiwgTl8oIkFwcGxlIFJBSUQiKSksCisJREVGX0dVSUQoIjUyNDE0OTQ0LTVGNEYtMTFBQS1BQTExLTAwMzA2NTQzRUNBQyIsIE5fKCJBcHBsZSBSQUlEIG9mZmxpbmUiKSksCisJREVGX0dVSUQoIjQyNkY2Rjc0LTAwMDAtMTFBQS1BQTExLTAwMzA2NTQzRUNBQyIsIE5fKCJBcHBsZSBib290IikpLAorCURFRl9HVUlEKCI0QzYxNjI2NS02QzAwLTExQUEtQUExMS0wMDMwNjU0M0VDQUMiLCBOXygiQXBwbGUgbGFiZWwiKSksCisJREVGX0dVSUQoIjUyNjU2MzZGLTc2NjUtMTFBQS1BQTExLTAwMzA2NTQzRUNBQyIsIE5fKCJBcHBsZSBUViByZWNvdmVyeSIpKSwKKwlERUZfR1VJRCgiNTM3NDZGNzItNjE2Ny0xMUFBLUFBMTEtMDAzMDY1NDNFQ0FDIiwgTl8oIkFwcGxlIENvcmUgc3RvcmFnZSIpKSwKKworCS8qIFNvbGFyaXMgKi8KKwlERUZfR1VJRCgiNkE4MkNCNDUtMUREMi0xMUIyLTk5QTYtMDgwMDIwNzM2NjMxIiwgTl8oIlNvbGFyaXMgYm9vdCIpKSwKKwlERUZfR1VJRCgiNkE4NUNGNEQtMUREMi0xMUIyLTk5QTYtMDgwMDIwNzM2NjMxIiwgTl8oIlNvbGFyaXMgcm9vdCIpKSwKKwkvKiBzYW1lIGFzIEFwcGxlIFpGUyAqLworCURFRl9HVUlEKCI2QTg5OENDMy0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIikpLAorCURFRl9HVUlEKCI2QTg3QzQ2Ri0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyBzd2FwIikpLAorCURFRl9HVUlEKCI2QThCNjQyQi0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyBiYWNrdXAiKSksCisJREVGX0dVSUQoIjZBOEVGMkU5LTFERDItMTFCMi05OUE2LTA4MDAyMDczNjYzMSIsIE5fKCJTb2xhcmlzIC92YXIiKSksCisJREVGX0dVSUQoIjZBOTBCQTM5LTFERDItMTFCMi05OUE2LTA4MDAyMDczNjYzMSIsIE5fKCJTb2xhcmlzIC9ob21lIikpLAorCURFRl9HVUlEKCI2QTkyODNBNS0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIikpLAorCURFRl9HVUlEKCI2QTk0NUEzQi0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCAxIikpLAorCURFRl9HVUlEKCI2QTk2MzBEMS0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCAyIikpLAorCURFRl9HVUlEKCI2QTk4MDc2Ny0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCAzIikpLAorCURFRl9HVUlEKCI2QTk2MjM3Ri0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCA0IikpLAorCURFRl9HVUlEKCI2QThEMkFDNy0xREQyLTExQjItOTlBNi0wODAwMjA3MzY2MzEiLCBOXygiU29sYXJpcyByZXNlcnZlZCA1IikpLAorCisJLyogTmV0QlNEICovCisJREVGX0dVSUQoIjQ5RjQ4RDMyLUIxMEUtMTFEQy1COTlCLTAwMTlEMTg3OTY0OCIsIE5fKCJOZXRCU0Qgc3dhcCIpKSwKKwlERUZfR1VJRCgiNDlGNDhENUEtQjEwRS0xMURDLUI5OUItMDAxOUQxODc5NjQ4IiwgTl8oIk5ldEJTRCBGRlMiKSksCisJREVGX0dVSUQoIjQ5RjQ4RDgyLUIxMEUtMTFEQy1COTlCLTAwMTlEMTg3OTY0OCIsIE5fKCJOZXRCU0QgTEZTIikpLAorCURFRl9HVUlEKCIyREI1MTlDNC1CMTBFLTExREMtQjk5Qi0wMDE5RDE4Nzk2NDgiLCBOXygiTmV0QlNEIGNvbmNhdGVuYXRlZCIpKSwKKwlERUZfR1VJRCgiMkRCNTE5RUMtQjEwRS0xMURDLUI5OUItMDAxOUQxODc5NjQ4IiwgTl8oIk5ldEJTRCBlbmNyeXB0ZWQiKSksCisJREVGX0dVSUQoIjQ5RjQ4REFBLUIxMEUtMTFEQy1COTlCLTAwMTlEMTg3OTY0OCIsIE5fKCJOZXRCU0QgUkFJRCIpKSwKKworCS8qIENocm9tZU9TICovCisJREVGX0dVSUQoIkZFM0EyQTVELTRGMzItNDFBNy1CNzI1LUFDQ0MzMjg1QTMwOSIsIE5fKCJDaHJvbWVPUyBrZXJuZWwiKSksCisJREVGX0dVSUQoIjNDQjhFMjAyLTNCN0UtNDdERC04QTNDLTdGRjJBMTNDRkNFQyIsIE5fKCJDaHJvbWVPUyByb290IGZzIikpLAorCURFRl9HVUlEKCIyRTBBNzUzRC05RTQ4LTQzQjAtODMzNy1CMTUxOTJDQjFCNUUiLCBOXygiQ2hyb21lT1MgcmVzZXJ2ZWQiKSksCisKKwkvKiBNaWRuaWdodEJTRCAqLworCURFRl9HVUlEKCI4NUQ1RTQ1QS0yMzdDLTExRTEtQjRCMy1FODlBOEY3RkMzQTciLCBOXygiTWlkbmlnaHRCU0QgZGF0YSIpKSwKKwlERUZfR1VJRCgiODVENUU0NUUtMjM3Qy0xMUUxLUI0QjMtRTg5QThGN0ZDM0E3IiwgTl8oIk1pZG5pZ2h0QlNEIGJvb3QiKSksCisJREVGX0dVSUQoIjg1RDVFNDVCLTIzN0MtMTFFMS1CNEIzLUU4OUE4RjdGQzNBNyIsIE5fKCJNaWRuaWdodEJTRCBzd2FwIikpLAorCURFRl9HVUlEKCIwMzk0RUY4Qi0yMzdFLTExRTEtQjRCMy1FODlBOEY3RkMzQTciLCBOXygiTWlkbmlnaHRCU0QgVUZTIikpLAorCURFRl9HVUlEKCI4NUQ1RTQ1RC0yMzdDLTExRTEtQjRCMy1FODlBOEY3RkMzQTciLCBOXygiTWlkbmlnaHRCU0QgWkZTIikpLAorCURFRl9HVUlEKCI4NUQ1RTQ1Qy0yMzdDLTExRTEtQjRCMy1FODlBOEY3RkMzQTciLCBOXygiTWlkbmlnaHRCU0QgVmludW0iKSksCisKKwkvKiBDZXBoICovCisJREVGX0dVSUQoIjQ1QjA5NjlFLTlCMDMtNEYzMC1CNEM2LUI0QjgwQ0VGRjEwNiIsIE5fKCJDZXBoIEpvdXJuYWwiKSksCisJREVGX0dVSUQoIjQ1QjA5NjlFLTlCMDMtNEYzMC1CNEM2LTVFQzAwQ0VGRjEwNiIsIE5fKCJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIikpLAorCURFRl9HVUlEKCI0RkJEN0UyOS05RDI1LTQxQjgtQUZEMC0wNjJDMENFRkYwNUQiLCBOXygiQ2VwaCBPU0QiKSksCisJREVGX0dVSUQoIjRGQkQ3RTI5LTlEMjUtNDFCOC1BRkQwLTVFQzAwQ0VGRjA1RCIsIE5fKCJDZXBoIGNyeXB0IE9TRCIpKSwKKwlERUZfR1VJRCgiODlDNTdGOTgtMkZFNS00REMwLTg5QzEtRjNBRDBDRUZGMkJFIiwgTl8oIkNlcGggZGlzayBpbiBjcmVhdGlvbiIpKSwKKwlERUZfR1VJRCgiODlDNTdGOTgtMkZFNS00REMwLTg5QzEtNUVDMDBDRUZGMkJFIiwgTl8oIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIpKSwKKworCS8qIFZNd2FyZSAqLworCURFRl9HVUlEKCJBQTMxRTAyQS00MDBGLTExREItOTU5MC0wMDBDMjkxMUQxQjgiLCBOXygiVk13YXJlIFZNRlMiKSksCisJREVGX0dVSUQoIjlEMjc1MzgwLTQwQUQtMTFEQi1CRjk3LTAwMEMyOTExRDFCOCIsIE5fKCJWTXdhcmUgRGlhZ25vc3RpYyIpKSwKKwlERUZfR1VJRCgiMzgxQ0ZDQ0MtNzI4OC0xMUUwLTkyRUUtMDAwQzI5MTFEMEIyIiwgTl8oIlZNd2FyZSBWaXJ0dWFsIFNBTiIpKSwKKwlERUZfR1VJRCgiNzc3MTlBMEMtQTRBMC0xMUUzLUE0N0UtMDAwQzI5NzQ1QTI0IiwgTl8oIlZNd2FyZSBWaXJzdG8iKSksCisJREVGX0dVSUQoIjkxOThFRkZDLTMxQzAtMTFEQi04Rjc4LTAwMEMyOTExRDFCOCIsIE5fKCJWTXdhcmUgUmVzZXJ2ZWQiKSksCisKKwkvKiBPcGVuQlNEICovCisJREVGX0dVSUQoIjgyNENDN0EwLTM2QTgtMTFFMy04OTBBLTk1MjUxOUFEM0Y2MSIsIE5fKCJPcGVuQlNEIGRhdGEiKSksCisKKwkvKiBRTlggKi8KKwlERUZfR1VJRCgiQ0VGNUE5QUQtNzNCQy00NjAxLTg5RjMtQ0RFRUVFRTMyMUExIiwgTl8oIlFOWDYgZmlsZSBzeXN0ZW0iKSksCisKKwkvKiBQbGFuIDkgKi8KKwlERUZfR1VJRCgiQzkxODE4RjktODAyNS00N0FGLTg5RDItRjAzMEQ3MDAwQzJDIiwgTl8oIlBsYW4gOSBwYXJ0aXRpb24iKSkKK307CisKKyNkZWZpbmUgYWxpZ25tZW50X3JlcXVpcmVkKF94KSAgKChfeCktPmdyYWluICE9IChfeCktPnNlY3Rvcl9zaXplKQorCisvKiBncHRfZW50cnkgbWFjcm9zICovCisjZGVmaW5lIGdwdF9wYXJ0aXRpb25fc3RhcnQoX2UpCQlsZTY0X3RvX2NwdSgoX2UpLT5sYmFfc3RhcnQpCisjZGVmaW5lIGdwdF9wYXJ0aXRpb25fZW5kKF9lKQkJbGU2NF90b19jcHUoKF9lKS0+bGJhX2VuZCkKKworLyoKKyAqIGluLW1lbW9yeSBmZGlzayBHUFQgc3R1ZmYKKyAqLworc3RydWN0IGZkaXNrX2dwdF9sYWJlbCB7CisJc3RydWN0IGZkaXNrX2xhYmVsCWhlYWQ7CQkvKiBnZW5lcmljIHBhcnQgKi8KKworCS8qIGdwdCBzcGVjaWZpYyBwYXJ0ICovCisJc3RydWN0IGdwdF9oZWFkZXIJKnBoZWFkZXI7CS8qIHByaW1hcnkgaGVhZGVyICovCisJc3RydWN0IGdwdF9oZWFkZXIJKmJoZWFkZXI7CS8qIGJhY2t1cCBoZWFkZXIgKi8KKworCXVuc2lnbmVkIGNoYXIgKmVudHM7CQkJLyogZW50cmllcyAocGFydGl0aW9ucykgKi8KK307CisKK3N0YXRpYyB2b2lkIGdwdF9kZWluaXQoc3RydWN0IGZkaXNrX2xhYmVsICpsYik7CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqc2VsZl9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiAoc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqKSBjeHQtPmxhYmVsOworfQorCisvKgorICogUmV0dXJucyB0aGUgcGFydGl0aW9uIGxlbmd0aCwgb3IgMCBpZiBlbmQgaXMgYmVmb3JlIGJlZ2lubmluZy4KKyAqLworc3RhdGljIHVpbnQ2NF90IGdwdF9wYXJ0aXRpb25fc2l6ZShjb25zdCBzdHJ1Y3QgZ3B0X2VudHJ5ICplKQoreworCXVpbnQ2NF90IHN0YXJ0ID0gZ3B0X3BhcnRpdGlvbl9zdGFydChlKTsKKwl1aW50NjRfdCBlbmQgPSBncHRfcGFydGl0aW9uX2VuZChlKTsKKworCXJldHVybiBzdGFydCA+IGVuZCA/IDAgOiBlbmQgLSBzdGFydCArIDFVTEw7Cit9CisKKy8qIHByaW50cyBVVUlEIGluIHRoZSByZWFsIGJ5dGUgb3JkZXIhICovCitzdGF0aWMgdm9pZCBncHRfZGVidWdfdXVpZChjb25zdCBjaGFyICptZXNnLCBzdHJ1Y3QgZ3B0X2d1aWQgKmd1aWQpCit7CisJY29uc3QgdW5zaWduZWQgY2hhciAqdXVpZCA9ICh1bnNpZ25lZCBjaGFyICopIGd1aWQ7CisKKwlmcHJpbnRmKHN0ZGVyciwgIiVzOiAiCisJCSIlMDJ4JTAyeCUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4LSUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeFxuIiwKKwkJbWVzZywKKwkJdXVpZFswXSwgdXVpZFsxXSwgdXVpZFsyXSwgdXVpZFszXSwKKwkJdXVpZFs0XSwgdXVpZFs1XSwKKwkJdXVpZFs2XSwgdXVpZFs3XSwKKwkJdXVpZFs4XSwgdXVpZFs5XSwKKwkJdXVpZFsxMF0sIHV1aWRbMTFdLCB1dWlkWzEyXSwgdXVpZFsxM10sIHV1aWRbMTRdLHV1aWRbMTVdKTsKK30KKworLyoKKyAqIFVVSUQgaXMgdHJhZGl0aW9uYWxseSAxNiBieXRlIGJpZy1lbmRpYW4gYXJyYXksIGV4Y2VwdCBJbnRlbCBFRkkKKyAqIHNwZWNpZmljYXRpb24gd2hlcmUgdGhlIFVVSUQgaXMgYSBzdHJ1Y3R1cmUgb2YgbGl0dGxlLWVuZGlhbiBmaWVsZHMuCisgKi8KK3N0YXRpYyB2b2lkIHN3YXBfZWZpX2d1aWQoc3RydWN0IGdwdF9ndWlkICp1aWQpCit7CisJdWlkLT50aW1lX2xvdyA9IHN3YWIzMih1aWQtPnRpbWVfbG93KTsKKwl1aWQtPnRpbWVfbWlkID0gc3dhYjE2KHVpZC0+dGltZV9taWQpOworCXVpZC0+dGltZV9oaV9hbmRfdmVyc2lvbiA9IHN3YWIxNih1aWQtPnRpbWVfaGlfYW5kX3ZlcnNpb24pOworfQorCitzdGF0aWMgaW50IHN0cmluZ190b19ndWlkKGNvbnN0IGNoYXIgKmluLCBzdHJ1Y3QgZ3B0X2d1aWQgKmd1aWQpCit7CisJaWYgKHV1aWRfcGFyc2UoaW4sICh1bnNpZ25lZCBjaGFyICopIGd1aWQpKSB7ICAgLyogQkUgKi8KKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiR1BUOiBmYWlsZWQgdG8gcGFyc2UgR1VJRDogJXMiLCBpbikpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJc3dhcF9lZmlfZ3VpZChndWlkKTsJCQkJLyogTEUgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNoYXIgKmd1aWRfdG9fc3RyaW5nKGNvbnN0IHN0cnVjdCBncHRfZ3VpZCAqZ3VpZCwgY2hhciAqb3V0KQoreworCXN0cnVjdCBncHRfZ3VpZCB1ID0gKmd1aWQ7CS8qIExFICovCisKKwlzd2FwX2VmaV9ndWlkKCZ1KTsJCS8qIEJFICovCisJdXVpZF91bnBhcnNlX3VwcGVyKCh1bnNpZ25lZCBjaGFyICopICZ1LCBvdXQpOworCisJcmV0dXJuIG91dDsKK30KKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqZ3B0X3BhcnRpdGlvbl9wYXJ0dHlwZSgKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJY29uc3Qgc3RydWN0IGdwdF9lbnRyeSAqZSkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQ7CisJY2hhciBzdHJbVVVJRF9TVFJfTEVOXTsKKwlzdHJ1Y3QgZ3B0X2d1aWQgZ3VpZCA9IGUtPnR5cGU7CisKKwlndWlkX3RvX3N0cmluZygmZ3VpZCwgc3RyKTsKKwl0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fc3RyaW5nKGN4dC0+bGFiZWwsIHN0cik7CisJcmV0dXJuIHQgPyA6IGZkaXNrX25ld191bmtub3duX3BhcnR0eXBlKDAsIHN0cik7Cit9CisKK3N0YXRpYyB2b2lkIGdwdF9lbnRyeV9zZXRfdHlwZShzdHJ1Y3QgZ3B0X2VudHJ5ICplLCBzdHJ1Y3QgZ3B0X2d1aWQgKnV1aWQpCit7CisJZS0+dHlwZSA9ICp1dWlkOworCURCRyhMQUJFTCwgZ3B0X2RlYnVnX3V1aWQoIm5ldyB0eXBlIiwgdXVpZCkpOworfQorCitzdGF0aWMgaW50IGdwdF9lbnRyeV9zZXRfbmFtZShzdHJ1Y3QgZ3B0X2VudHJ5ICplLCBjaGFyICpzdHIpCit7CisJdWludDE2X3QgbmFtZVtHUFRfUEFSVF9OQU1FX0xFTl0gPSB7IDAgfTsKKwlzaXplX3QgaSwgbWJsZW4gPSAwOworCXVpbnQ4X3QgKmluID0gKHVpbnQ4X3QgKikgc3RyOworCisJZm9yIChpID0gMDsgKmluICYmIGkgPCBHUFRfUEFSVF9OQU1FX0xFTjsgaW4rKykgeworCQlpZiAoIW1ibGVuKSB7CisJCQlpZiAoISgqaW4gJiAweDgwKSkgeworCQkJCW5hbWVbaSsrXSA9ICppbjsKKwkJCX0gZWxzZSBpZiAoKCppbiAmIDB4RTApID09IDB4QzApIHsKKwkJCQltYmxlbiA9IDE7CisJCQkJbmFtZVtpXSA9ICh1aW50MTZfdCkoKmluICYgMHgxRikgPDwgKG1ibGVuICo2KTsKKwkJCX0gZWxzZSBpZiAoKCppbiAmIDB4RjApID09IDB4RTApIHsKKwkJCQltYmxlbiA9IDI7CisJCQkJbmFtZVtpXSA9ICh1aW50MTZfdCkoKmluICYgMHgwRikgPDwgKG1ibGVuICo2KTsKKwkJCX0gZWxzZSB7CisJCQkJLyogYnJva2VuIFVURi04IG9yIGNvZGUgcG9pbnQgZ3JlYXRlciB0aGFuIFUrRkZGRiAqLworCQkJCXJldHVybiAtRUlMU0VROworCQkJfQorCQl9IGVsc2UgeworCQkJLyogaW5jb21wbGV0ZSBVVEYtOCBzZXF1ZW5jZSAqLworCQkJaWYgKCgqaW4gJiAweEMwKSAhPSAweDgwKQorCQkJCXJldHVybiAtRUlMU0VROworCisJCQluYW1lW2ldIHw9ICh1aW50MTZfdCkoKmluICYgMHgzRikgPDwgKC0tbWJsZW4gKjYpOworCQkJaWYgKCFtYmxlbikgeworCQkJCS8qIGNoZWNrIGZvciBjb2RlIHBvaW50cyByZXNlcnZlZCBmb3Igc3Vycm9nYXRlIHBhaXJzKi8KKwkJCQlpZiAoKG5hbWVbaV0gJiAweEY4MDApID09IDB4RDgwMCkKKwkJCQkJcmV0dXJuIC1FSUxTRVE7CisJCQkJaSsrOworCQkJfQorCQl9CisJfQorCisJZm9yIChpID0gMDsgaSA8IEdQVF9QQVJUX05BTUVfTEVOOyBpKyspCisJCWUtPm5hbWVbaV0gPSBjcHVfdG9fbGUxNihuYW1lW2ldKTsKKworCXJldHVybiAoaW50KSgoY2hhciAqKSBpbiAtIHN0cik7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X2VudHJ5X3NldF91dWlkKHN0cnVjdCBncHRfZW50cnkgKmUsIGNoYXIgKnN0cikKK3sKKwlzdHJ1Y3QgZ3B0X2d1aWQgdXVpZDsKKwlpbnQgcmM7CisKKwlyYyA9IHN0cmluZ190b19ndWlkKHN0ciwgJnV1aWQpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJZS0+cGFydGl0aW9uX2d1aWQgPSB1dWlkOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIGludCBncHRfZW50cnlfaXNfdXNlZChjb25zdCBzdHJ1Y3QgZ3B0X2VudHJ5ICplKQoreworCXJldHVybiBtZW1jbXAoJmUtPnR5cGUsICZHUFRfVU5VU0VEX0VOVFJZX0dVSUQsCisJCQlzaXplb2Yoc3RydWN0IGdwdF9ndWlkKSkgIT0gMDsKK30KKworCitzdGF0aWMgY29uc3QgY2hhciAqZ3B0X2dldF9oZWFkZXJfcmV2c3RyKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIpCit7CisJaWYgKCFoZWFkZXIpCisJCWdvdG8gdW5rbm93bjsKKworCXN3aXRjaCAobGUzMl90b19jcHUoaGVhZGVyLT5yZXZpc2lvbikpIHsKKwljYXNlIEdQVF9IRUFERVJfUkVWSVNJT05fVjFfMDI6CisJCXJldHVybiAiMS4yIjsKKwljYXNlIEdQVF9IRUFERVJfUkVWSVNJT05fVjFfMDA6CisJCXJldHVybiAiMS4wIjsKKwljYXNlIEdQVF9IRUFERVJfUkVWSVNJT05fVjBfOTk6CisJCXJldHVybiAiMC45OSI7CisJZGVmYXVsdDoKKwkJZ290byB1bmtub3duOworCX0KKwordW5rbm93bjoKKwlyZXR1cm4gInVua25vd24iOworfQorCitzdGF0aWMgaW5saW5lIHVuc2lnbmVkIGNoYXIgKmdwdF9nZXRfZW50cnlfcHRyKHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdCwgc2l6ZV90IGkpCit7CisJcmV0dXJuIGdwdC0+ZW50cyArIGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSkgKiBpOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBncHRfZW50cnkgKmdwdF9nZXRfZW50cnkoc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0LCBzaXplX3QgaSkKK3sKKwlyZXR1cm4gKHN0cnVjdCBncHRfZW50cnkgKikgZ3B0X2dldF9lbnRyeV9wdHIoZ3B0LCBpKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgZ3B0X2VudHJ5ICpncHRfemVyb2l6ZV9lbnRyeShzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQsIHNpemVfdCBpKQoreworCXJldHVybiAoc3RydWN0IGdwdF9lbnRyeSAqKSBtZW1zZXQoZ3B0X2dldF9lbnRyeV9wdHIoZ3B0LCBpKSwKKwkJCTAsIGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSkpOworfQorCisvKiBVc2UgdG8gYWNjZXNzIGFycmF5IG9mIGVudHJpZXMsIGZvcigpIGxvb3BzLCBldGMuIEJ1dCBkb24ndCB1c2Ugd2hlbgorICogeW91IGRpcmVjdGx5IGRvIHNvbWV0aGluZyB3aXRoIEdQVCBoZWFkZXIsIHRoZW4gdXNlIHVpbnQzMl90LgorICovCitzdGF0aWMgaW5saW5lIHNpemVfdCBncHRfZ2V0X25lbnRyaWVzKHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdCkKK3sKKwlyZXR1cm4gKHNpemVfdCkgbGUzMl90b19jcHUoZ3B0LT5waGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMpOworfQorCitzdGF0aWMgaW5saW5lIGludCBncHRfY2FsY3VsYXRlX3NpemVvZl9lbnRzKHN0cnVjdCBncHRfaGVhZGVyICpoZHIsIHVpbnQzMl90IG5lbnRzLCBzaXplX3QgKnN6KQoreworCXVpbnQzMl90IGVzeiA9IGxlMzJfdG9fY3B1KGhkci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSk7CisKKwlpZiAobmVudHMgPT0gMCB8fCBlc3ogPT0gMCB8fCBTSVpFX01BWC9lc3ogPCBuZW50cykgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJHUFQgZW50cmVpcyBhcnJheSBzaXplIGNoZWNrIGZhaWxlZCIpKTsKKwkJcmV0dXJuIC1FUkFOR0U7CisJfQorCisJKnN6ID0gbmVudHMgKiBlc3o7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGdwdF9zaXplb2ZfZW50cyhzdHJ1Y3QgZ3B0X2hlYWRlciAqaGRyLCBzaXplX3QgKnN6KQoreworCXJldHVybiBncHRfY2FsY3VsYXRlX3NpemVvZl9lbnRzKGhkciwgbGUzMl90b19jcHUoaGRyLT5ucGFydGl0aW9uX2VudHJpZXMpLCBzeik7Cit9CisKKworc3RhdGljIGNoYXIgKmdwdF9nZXRfaGVhZGVyX2lkKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIpCit7CisJY2hhciBzdHJbVVVJRF9TVFJfTEVOXTsKKwlzdHJ1Y3QgZ3B0X2d1aWQgZ3VpZCA9IGhlYWRlci0+ZGlza19ndWlkOworCisJZ3VpZF90b19zdHJpbmcoJmd1aWQsIHN0cik7CisKKwlyZXR1cm4gc3RyZHVwKHN0cik7Cit9CisKKy8qCisgKiBCdWlsZHMgYSBjbGVhbiBuZXcgdmFsaWQgcHJvdGVjdGl2ZSBNQlIgLSB3aWxsIHdpcGUgb3V0IGFueSBleGlzdGluZyBkYXRhLgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSA8IDAgb24gZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X21rbmV3X3BtYnIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZ3B0X2xlZ2FjeV9tYnIgKnBtYnIgPSBOVUxMOworCWludCByYzsKKworCWlmICghY3h0IHx8ICFjeHQtPmZpcnN0c2VjdG9yKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCWlmIChmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzKGN4dCkpCisJCXJjID0gZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoY3h0LCAwLCBNQlJfUFRfQk9PVEJJVFNfU0laRSk7CisJZWxzZQorCQlyYyA9IGZkaXNrX2luaXRfZmlyc3RzZWN0b3JfYnVmZmVyKGN4dCwgMCwgMCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlwbWJyID0gKHN0cnVjdCBncHRfbGVnYWN5X21iciAqKSBjeHQtPmZpcnN0c2VjdG9yOworCW1lbXNldChwbWJyLT5wYXJ0aXRpb25fcmVjb3JkLCAwLCBzaXplb2YocG1ici0+cGFydGl0aW9uX3JlY29yZCkpOworCisJcG1ici0+c2lnbmF0dXJlID0gY3B1X3RvX2xlMTYoTVNET1NfTUJSX1NJR05BVFVSRSk7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5vc190eXBlICAgICAgPSBFRklfUE1CUl9PU1RZUEU7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5zdGFydF9zZWN0b3IgPSAyOworCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uZW5kX2hlYWQgICAgID0gMHhGRjsKKwlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLmVuZF9zZWN0b3IgICA9IDB4RkY7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5lbmRfdHJhY2sgICAgPSAweEZGOworCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uc3RhcnRpbmdfbGJhID0gY3B1X3RvX2xlMzIoMSk7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5zaXplX2luX2xiYSAgPQorCQljcHVfdG9fbGUzMigodWludDMyX3QpIG1pbiggY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCwgMHhGRkZGRkZGRlVMTCkgKTsKKworCXJldHVybiAwOworfQorCisvKiBNb3ZlIGJhY2t1cCBoZWFkZXIgdG8gdGhlIGVuZCBvZiB0aGUgZGV2aWNlICovCitzdGF0aWMgdm9pZCBncHRfZml4X2FsdGVybmF0aXZlX2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQpCit7CisJc3RydWN0IGdwdF9oZWFkZXIgKnAsICpiOworCXVpbnQ2NF90IGVzeiwgZXNlY3RzLCBsYXN0OworCisJaWYgKCFjeHQpCisJCXJldHVybjsKKworCXAgPSBncHQtPnBoZWFkZXI7CS8qIHByaW1hcnkgKi8KKwliID0gZ3B0LT5iaGVhZGVyOwkvKiBiYWNrdXAgKi8KKworCS8qIGNvdW50IHNpemUgb2YgcGFydGl0aW9ucyBhcnJheSAqLworCWVzeiA9ICh1aW50NjRfdCkgbGUzMl90b19jcHUocC0+bnBhcnRpdGlvbl9lbnRyaWVzKSAqIHNpemVvZihzdHJ1Y3QgZ3B0X2VudHJ5KTsKKwllc2VjdHMgPSAoZXN6ICsgY3h0LT5zZWN0b3Jfc2l6ZSAtIDEpIC8gY3h0LT5zZWN0b3Jfc2l6ZTsKKworCS8qIHJlZmVyZW5jZSBmcm9tIHByaW1hcnkgdG8gYmFja3VwICovCisJcC0+YWx0ZXJuYXRpdmVfbGJhID0gY3B1X3RvX2xlNjQoY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCk7CisKKwkvKiByZWZlcmVuY2UgZnJvbSBiYWNrdXAgdG8gcHJpbWFyeSAqLworCWItPmFsdGVybmF0aXZlX2xiYSA9IHAtPm15X2xiYTsKKwliLT5teV9sYmEgPSBwLT5hbHRlcm5hdGl2ZV9sYmE7CisKKwkvKiBmaXggYmFja3VwIHBhcnRpdGlvbnMgYXJyYXkgYWRkcmVzcyAqLworCWItPnBhcnRpdGlvbl9lbnRyeV9sYmEgPSBjcHVfdG9fbGU2NChjeHQtPnRvdGFsX3NlY3RvcnMgLSAxVUxMIC0gZXNlY3RzKTsKKworCS8qIHVwZGF0ZSBsYXN0IHVzYWJsZSBMQkEgKi8KKwlsYXN0ID0gY3h0LT50b3RhbF9zZWN0b3JzIC0gMlVMTCAtIGVzZWN0czsKKwlwLT5sYXN0X3VzYWJsZV9sYmEgID0gY3B1X3RvX2xlNjQobGFzdCk7CisJYi0+bGFzdF91c2FibGVfbGJhICA9IGNwdV90b19sZTY0KGxhc3QpOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiQWx0ZXJuYXRpdmUtTEJBIHVwZGF0ZWQgdG86ICUiUFJJdTY0LCBsZTY0X3RvX2NwdShwLT5hbHRlcm5hdGl2ZV9sYmEpKSk7Cit9CisKKy8qIHNvbWUgdW5pdmVyc2FsIGRpZmZlcmVuY2VzIGJldHdlZW4gdGhlIGhlYWRlcnMgKi8KK3N0YXRpYyB2b2lkIGdwdF9ta25ld19oZWFkZXJfY29tbW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJICAgIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVpbnQ2NF90IGxiYSkKK3sKKwlpZiAoIWN4dCB8fCAhaGVhZGVyKQorCQlyZXR1cm47CisKKwloZWFkZXItPm15X2xiYSA9IGNwdV90b19sZTY0KGxiYSk7CisKKwlpZiAobGJhID09IEdQVF9QUklNQVJZX1BBUlRJVElPTl9UQUJMRV9MQkEpIHsgLyogcHJpbWFyeSAqLworCQloZWFkZXItPmFsdGVybmF0aXZlX2xiYSA9IGNwdV90b19sZTY0KGN4dC0+dG90YWxfc2VjdG9ycyAtIDFVTEwpOworCQloZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9sYmEgPSBjcHVfdG9fbGU2NCgyVUxMKTsKKwl9IGVsc2UgeyAvKiBiYWNrdXAgKi8KKwkJdWludDY0X3QgZXN6ID0gKHVpbnQ2NF90KSBsZTMyX3RvX2NwdShoZWFkZXItPm5wYXJ0aXRpb25fZW50cmllcykgCisJCQkJCQkJKiBzaXplb2Yoc3RydWN0IGdwdF9lbnRyeSk7CisJCXVpbnQ2NF90IGVzZWN0cyA9IChlc3ogKyBjeHQtPnNlY3Rvcl9zaXplIC0gMSkgLyBjeHQtPnNlY3Rvcl9zaXplOworCisJCWhlYWRlci0+YWx0ZXJuYXRpdmVfbGJhID0gY3B1X3RvX2xlNjQoR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSk7CisJCWhlYWRlci0+cGFydGl0aW9uX2VudHJ5X2xiYSA9IGNwdV90b19sZTY0KGN4dC0+dG90YWxfc2VjdG9ycyAtIDFVTEwgLSBlc2VjdHMpOworCX0KK30KKworLyoKKyAqIEJ1aWxkcyBhIG5ldyBHUFQgaGVhZGVyIChhdCBzZWN0b3IgbGJhKSBmcm9tIGEgYmFja3VwIGhlYWRlcjIuCisgKiBJZiBidWlsZGluZyBhIHByaW1hcnkgaGVhZGVyLCB0aGVuIGJhY2t1cCBpcyB0aGUgc2Vjb25kYXJ5LCBhbmQgdmljZSB2ZXJzYS4KKyAqCisgKiBBbHdheXMgcGFzcyBhIG5ldyAoemVyb2l6ZWQpIGhlYWRlciB0byBidWlsZCB1cG9uIGFzIHdlIGRvbid0CisgKiBleHBsaWNpdGx5IHplcm8tc2V0IHNvbWUgdmFsdWVzIHN1Y2ggYXMgQ1JDcyBhbmQgcmVzZXJ2ZWQuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSA8IDAgb24gZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X21rbmV3X2hlYWRlcl9mcm9tX2JrcChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCSAgICAgc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwKKwkJCQkgICAgIHVpbnQ2NF90IGxiYSwKKwkJCQkgICAgIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIyKQoreworCWlmICghY3h0IHx8ICFoZWFkZXIgfHwgIWhlYWRlcjIpCisJCXJldHVybiAtRU5PU1lTOworCisJaGVhZGVyLT5zaWduYXR1cmUgICAgICAgICAgICAgID0gaGVhZGVyMi0+c2lnbmF0dXJlOworCWhlYWRlci0+cmV2aXNpb24gICAgICAgICAgICAgICA9IGhlYWRlcjItPnJldmlzaW9uOworCWhlYWRlci0+c2l6ZSAgICAgICAgICAgICAgICAgICA9IGhlYWRlcjItPnNpemU7CisJaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMgICAgID0gaGVhZGVyMi0+bnBhcnRpdGlvbl9lbnRyaWVzOworCWhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSA9IGhlYWRlcjItPnNpemVvZl9wYXJ0aXRpb25fZW50cnk7CisJaGVhZGVyLT5maXJzdF91c2FibGVfbGJhICAgICAgID0gaGVhZGVyMi0+Zmlyc3RfdXNhYmxlX2xiYTsKKwloZWFkZXItPmxhc3RfdXNhYmxlX2xiYSAgICAgICAgPSBoZWFkZXIyLT5sYXN0X3VzYWJsZV9sYmE7CisKKwltZW1jcHkoJmhlYWRlci0+ZGlza19ndWlkLAorCSAgICAgICAmaGVhZGVyMi0+ZGlza19ndWlkLCBzaXplb2YoaGVhZGVyMi0+ZGlza19ndWlkKSk7CisJZ3B0X21rbmV3X2hlYWRlcl9jb21tb24oY3h0LCBoZWFkZXIsIGxiYSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBncHRfaGVhZGVyICpncHRfY29weV9oZWFkZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgIHN0cnVjdCBncHRfaGVhZGVyICpzcmMpCit7CisJc3RydWN0IGdwdF9oZWFkZXIgKnJlczsKKworCWlmICghY3h0IHx8ICFzcmMpCisJCXJldHVybiBOVUxMOworCisJYXNzZXJ0KGN4dC0+c2VjdG9yX3NpemUgPj0gc2l6ZW9mKHN0cnVjdCBncHRfaGVhZGVyKSk7CisKKwlyZXMgPSBjYWxsb2MoMSwgY3h0LT5zZWN0b3Jfc2l6ZSk7CisJaWYgKCFyZXMpIHsKKwkJZmRpc2tfd2FybihjeHQsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIikpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXMtPm15X2xiYSAgICAgICAgICAgICAgICAgPSBzcmMtPmFsdGVybmF0aXZlX2xiYTsKKwlyZXMtPmFsdGVybmF0aXZlX2xiYSAgICAgICAgPSBzcmMtPm15X2xiYTsKKworCXJlcy0+c2lnbmF0dXJlICAgICAgICAgICAgICA9IHNyYy0+c2lnbmF0dXJlOworCXJlcy0+cmV2aXNpb24gICAgICAgICAgICAgICA9IHNyYy0+cmV2aXNpb247CisJcmVzLT5zaXplICAgICAgICAgICAgICAgICAgID0gc3JjLT5zaXplOworCXJlcy0+bnBhcnRpdGlvbl9lbnRyaWVzICAgICA9IHNyYy0+bnBhcnRpdGlvbl9lbnRyaWVzOworCXJlcy0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSA9IHNyYy0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeTsKKwlyZXMtPmZpcnN0X3VzYWJsZV9sYmEgICAgICAgPSBzcmMtPmZpcnN0X3VzYWJsZV9sYmE7CisJcmVzLT5sYXN0X3VzYWJsZV9sYmEgICAgICAgID0gc3JjLT5sYXN0X3VzYWJsZV9sYmE7CisKKwltZW1jcHkoJnJlcy0+ZGlza19ndWlkLCAmc3JjLT5kaXNrX2d1aWQsIHNpemVvZihzcmMtPmRpc2tfZ3VpZCkpOworCisKKwlpZiAocmVzLT5teV9sYmEgPT0gR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSkKKwkJcmVzLT5wYXJ0aXRpb25fZW50cnlfbGJhID0gY3B1X3RvX2xlNjQoMlVMTCk7CisJZWxzZSB7CisJCXVpbnQ2NF90IGVzeiA9ICh1aW50NjRfdCkgbGUzMl90b19jcHUoc3JjLT5ucGFydGl0aW9uX2VudHJpZXMpICogc2l6ZW9mKHN0cnVjdCBncHRfZW50cnkpOworCQl1aW50NjRfdCBlc2VjdHMgPSAoZXN6ICsgY3h0LT5zZWN0b3Jfc2l6ZSAtIDEpIC8gY3h0LT5zZWN0b3Jfc2l6ZTsKKworCQlyZXMtPnBhcnRpdGlvbl9lbnRyeV9sYmEgPSBjcHVfdG9fbGU2NChjeHQtPnRvdGFsX3NlY3RvcnMgLSAxVUxMIC0gZXNlY3RzKTsKKwl9CisKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50IGdldF9zY3JpcHRfdTY0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHVpbnQ2NF90ICpudW0sIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJY29uc3QgY2hhciAqc3RyOworCWludCBwd3IgPSAwLCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKworCSpudW0gPSAwOworCisJaWYgKCFjeHQtPnNjcmlwdCkKKwkJcmV0dXJuIDE7CisKKwlzdHIgPSBmZGlza19zY3JpcHRfZ2V0X2hlYWRlcihjeHQtPnNjcmlwdCwgbmFtZSk7CisJaWYgKCFzdHIpCisJCXJldHVybiAxOworCisJcmMgPSBwYXJzZV9zaXplKHN0ciwgKHVpbnRtYXhfdCAqKSBudW0sICZwd3IpOworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsKKwlpZiAocHdyKQorCQkqbnVtIC89IGN4dC0+c2VjdG9yX3NpemU7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY291bnRfZmlyc3RfbGFzdF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgdWludDY0X3QgKmZpcnN0LCB1aW50NjRfdCAqbGFzdCkKK3sKKwlpbnQgcmMgPSAwOworCXVpbnQ2NF90IGZsYmEsIGxsYmE7CisKKwl1aW50NjRfdCBlc3ogPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGZpcnN0KTsKKwlhc3NlcnQobGFzdCk7CisKKwkqZmlyc3QgPSAqbGFzdCA9IDA7CisKKwkvKiBVRUZJIGRlZmF1bHQgKi8KKwllc3ogPSBzaXplb2Yoc3RydWN0IGdwdF9lbnRyeSkgKiBHUFRfTlBBUlRJVElPTlMgLyBjeHQtPnNlY3Rvcl9zaXplOworCWxsYmEgPSBjeHQtPnRvdGFsX3NlY3RvcnMgLSAyVUxMIC0gZXN6OworCWZsYmEgPSBlc3ogKyAyVUxMOworCisJLyogc2NyaXB0IGRlZmF1bHQgKi8KKwlpZiAoY3h0LT5zY3JpcHQpIHsKKwkJcmMgPSBnZXRfc2NyaXB0X3U2NChjeHQsIGZpcnN0LCAiZmlyc3QtbGJhIik7CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gcmM7CisKKwkJREJHKExBQkVMLCB1bF9kZWJ1ZygiRmlyc3RMQkE6IHNjcmlwdD0lIlBSSXU2NCIsIHVlZmk9JSJQUkl1NjQiLCB0b3BvbG9neT0lanUuIiwKKwkJICAgICAgICAgICAgICAgICAgICAqZmlyc3QsIGZsYmEsICAodWludG1heF90KWN4dC0+Zmlyc3RfbGJhKSk7CisKKwkJaWYgKHJjID09IDAgJiYgKCpmaXJzdCA8IGZsYmEgfHwgKmZpcnN0ID4gbGxiYSkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIpKTsKKwkJCXJldHVybiAtRVJBTkdFOworCQl9CisKKwkJcmMgPSBnZXRfc2NyaXB0X3U2NChjeHQsIGxhc3QsICJsYXN0LWxiYSIpOworCQlpZiAocmMgPCAwKQorCQkJcmV0dXJuIHJjOworCisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkxhc3RMQkE6IHNjcmlwdD0lIlBSSXU2NCIsIHVlZmk9JSJQUkl1NjQiLCB0b3BvbG9neT0lanUuIiwKKwkJICAgICAgICAgICAgICAgICAgICAqbGFzdCwgbGxiYSwgICh1aW50bWF4X3QpY3h0LT5sYXN0X2xiYSkpOworCisJCWlmIChyYyA9PSAwICYmICgqbGFzdCA+IGxsYmEgfHwgKmxhc3QgPCBmbGJhKSkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iKSk7CisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJfQorCX0KKworCWlmICghKmxhc3QpCisJCSpsYXN0ID0gbGxiYTsKKworCS8qIGRlZmF1bHQgYnkgdG9wb2xvZ3kgKi8KKwlpZiAoISpmaXJzdCkKKwkJKmZpcnN0ID0gZmxiYSA8IGN4dC0+Zmlyc3RfbGJhICYmCisJCQkgY3h0LT5maXJzdF9sYmEgPCAqbGFzdCA/IGN4dC0+Zmlyc3RfbGJhIDogZmxiYTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEJ1aWxkcyBhIGNsZWFuIG5ldyBHUFQgaGVhZGVyIChjdXJyZW50bHkgdW5kZXIgcmV2aXNpb24gMS4wKS4KKyAqCisgKiBBbHdheXMgcGFzcyBhIG5ldyAoemVyb2l6ZWQpIGhlYWRlciB0byBidWlsZCB1cG9uIGFzIHdlIGRvbid0CisgKiBleHBsaWNpdGx5IHplcm8tc2V0IHNvbWUgdmFsdWVzIHN1Y2ggYXMgQ1JDcyBhbmQgcmVzZXJ2ZWQuCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSA8IDAgb24gZXJyb3IuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X21rbmV3X2hlYWRlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVpbnQ2NF90IGxiYSkKK3sKKwl1aW50NjRfdCBmaXJzdCwgbGFzdDsKKwlpbnQgaGFzX2lkID0gMCwgcmM7CisKKwlpZiAoIWN4dCB8fCAhaGVhZGVyKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCWhlYWRlci0+c2lnbmF0dXJlID0gY3B1X3RvX2xlNjQoR1BUX0hFQURFUl9TSUdOQVRVUkUpOworCWhlYWRlci0+cmV2aXNpb24gID0gY3B1X3RvX2xlMzIoR1BUX0hFQURFUl9SRVZJU0lPTl9WMV8wMCk7CisKKwkvKiBBY2NvcmRpbmcgdG8gRUZJIHN0YW5kYXJkIGl0J3MgdmFsaWQgdG8gY291bnQgYWxsIHRoZSBmaXJzdAorCSAqIHNlY3RvciBpbnRvIGhlYWRlciBzaXplLCBidXQgc29tZSB0b29scyBtYXkgaGF2ZSBhIHByb2JsZW0KKwkgKiB0byBhY2NlcHQgaXQsIHNvIHVzZSB0aGUgaGVhZGVyIHdpdGhvdXQgdGhlIHplcm9lZCBhcmVhLgorCSAqIFRoaXMgZG9lcyBub3QgaGF2ZSBhbnkgaW1wYWN0IHRvIENSQywgZXRjLiAgIC0ta3phayBKYW4tMjAxNQorCSAqLworCWhlYWRlci0+c2l6ZSA9IGNwdV90b19sZTMyKHNpemVvZihzdHJ1Y3QgZ3B0X2hlYWRlcikKKwkJCQktIHNpemVvZihoZWFkZXItPnJlc2VydmVkMikpOworCisJLyoKKwkgKiAxMjggcGFydGl0aW9ucyBhcmUgdGhlIGRlZmF1bHQuIEl0IGNhbiBnbyBiZXlvbmQgdGhhdCwgYnV0CisJICogd2UncmUgY3JlYXRpbmcgYSBkZSBmYWN0byBoZWFkZXIgaGVyZSwgc28gbm8gZnVubnkgYnVzaW5lc3MuCisJICovCisJaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMgICAgID0gY3B1X3RvX2xlMzIoR1BUX05QQVJUSVRJT05TKTsKKwloZWFkZXItPnNpemVvZl9wYXJ0aXRpb25fZW50cnkgPSBjcHVfdG9fbGUzMihzaXplb2Yoc3RydWN0IGdwdF9lbnRyeSkpOworCisJcmMgPSBjb3VudF9maXJzdF9sYXN0X2xiYShjeHQsICZmaXJzdCwgJmxhc3QpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaGVhZGVyLT5maXJzdF91c2FibGVfbGJhID0gY3B1X3RvX2xlNjQoZmlyc3QpOworCWhlYWRlci0+bGFzdF91c2FibGVfbGJhICA9IGNwdV90b19sZTY0KGxhc3QpOworCisJZ3B0X21rbmV3X2hlYWRlcl9jb21tb24oY3h0LCBoZWFkZXIsIGxiYSk7CisKKwlpZiAoY3h0LT5zY3JpcHQpIHsKKwkJY29uc3QgY2hhciAqaWQgPSBmZGlza19zY3JpcHRfZ2V0X2hlYWRlcihjeHQtPnNjcmlwdCwgImxhYmVsLWlkIik7CisJCXN0cnVjdCBncHRfZ3VpZCBndWlkID0gaGVhZGVyLT5kaXNrX2d1aWQ7CisJCWlmIChpZCAmJiBzdHJpbmdfdG9fZ3VpZChpZCwgJmd1aWQpID09IDApCisJCQloYXNfaWQgPSAxOworCQloZWFkZXItPmRpc2tfZ3VpZCA9IGd1aWQ7CisJfQorCisJaWYgKCFoYXNfaWQpIHsKKwkJc3RydWN0IGdwdF9ndWlkIGd1aWQ7CisKKwkJdXVpZF9nZW5lcmF0ZV9yYW5kb20oKHVuc2lnbmVkIGNoYXIgKikgJmhlYWRlci0+ZGlza19ndWlkKTsKKwkJZ3VpZCA9IGhlYWRlci0+ZGlza19ndWlkOworCQlzd2FwX2VmaV9ndWlkKCZndWlkKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBDaGVja3MgaWYgdGhlcmUgaXMgYSB2YWxpZCBwcm90ZWN0aXZlIE1CUiBwYXJ0aXRpb24gdGFibGUuCisgKiBSZXR1cm5zIDAgaWYgaXQgaXMgaW52YWxpZCBvciBmYWlsdXJlLiBPdGhlcndpc2UsIHJldHVybgorICogR1BUX01CUl9QUk9URUNUSVZFIG9yIEdQVF9NQlJfSFlCUklELCBkZXBlbmRpbmcgb24gdGhlIGRldGVjdGlvbi4KKyAqLworc3RhdGljIGludCB2YWxpZF9wbWJyKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IGksIHBhcnQgPSAwLCByZXQgPSAwOyAvKiBpbnZhbGlkIGJ5IGRlZmF1bHQgKi8KKwlzdHJ1Y3QgZ3B0X2xlZ2FjeV9tYnIgKnBtYnIgPSBOVUxMOworCisJaWYgKCFjeHQtPmZpcnN0c2VjdG9yKQorCQlnb3RvIGRvbmU7CisKKwlwbWJyID0gKHN0cnVjdCBncHRfbGVnYWN5X21iciAqKSBjeHQtPmZpcnN0c2VjdG9yOworCisJaWYgKGxlMTZfdG9fY3B1KHBtYnItPnNpZ25hdHVyZSkgIT0gTVNET1NfTUJSX1NJR05BVFVSRSkKKwkJZ290byBkb25lOworCisJLyogc2VlbXMgbGlrZSBhIHZhbGlkIE1CUiB3YXMgZm91bmQsIGNoZWNrIERPUyBwcmltYXJ5IHBhcnRpdGlvbnMgKi8KKwlmb3IgKGkgPSAwOyBpIDwgNDsgaSsrKSB7CisJCWlmIChwbWJyLT5wYXJ0aXRpb25fcmVjb3JkW2ldLm9zX3R5cGUgPT0gRUZJX1BNQlJfT1NUWVBFKSB7CisJCQkvKgorCQkJICogT2ssIHdlIGF0IGxlYXN0IGtub3cgdGhhdCB0aGVyZSdzIGEgcHJvdGVjdGl2ZSBNQlIsCisJCQkgKiBub3cgY2hlY2sgaWYgdGhlcmUgYXJlIG90aGVyIHBhcnRpdGlvbiB0eXBlcyBmb3IKKwkJCSAqIGh5YnJpZCBNQlIuCisJCQkgKi8KKwkJCXBhcnQgPSBpOworCQkJcmV0ID0gR1BUX01CUl9QUk9URUNUSVZFOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAocmV0ICE9IEdQVF9NQlJfUFJPVEVDVElWRSkKKwkJZ290byBkb25lOworCisJLyogTEJBIG9mIHRoZSBHUFQgcGFydGl0aW9uIGhlYWRlciAqLworCWlmIChwbWJyLT5wYXJ0aXRpb25fcmVjb3JkW3BhcnRdLnN0YXJ0aW5nX2xiYSAhPQorCSAgICBjcHVfdG9fbGUzMihHUFRfUFJJTUFSWV9QQVJUSVRJT05fVEFCTEVfTEJBKSkKKwkJZ290byBkb25lOworCisJZm9yIChpID0gMCA7IGkgPCA0OyBpKyspIHsKKwkJaWYgKChwbWJyLT5wYXJ0aXRpb25fcmVjb3JkW2ldLm9zX3R5cGUgIT0gRUZJX1BNQlJfT1NUWVBFKSAmJgorCQkgICAgKHBtYnItPnBhcnRpdGlvbl9yZWNvcmRbaV0ub3NfdHlwZSAhPSAweDAwKSkKKwkJCXJldCA9IEdQVF9NQlJfSFlCUklEOworCX0KKworCS8qCisJICogUHJvdGVjdGl2ZSBNQlJzIHRha2UgdXAgdGhlIGxlc3NlciBvZiB0aGUgd2hvbGUgZGlzaworCSAqIG9yIDIgVGlCICgzMmJpdCBMQkEpLCBpZ25vcmluZyB0aGUgcmVzdCBvZiB0aGUgZGlzay4KKwkgKiBTb21lIHBhcnRpdGlvbmluZyBwcm9ncmFtcywgbm9uZXRoZWxlc3MsIGNob29zZSB0byBzZXQKKwkgKiB0aGUgc2l6ZSB0byB0aGUgbWF4aW11bSAzMi1iaXQgbGltaXRhdGlvbiwgZGlzcmVnYXJkaW5nCisJICogdGhlIGRpc2sgc2l6ZS4KKwkgKgorCSAqIEh5YnJpZCBNQlJzIGRvIG5vdCBuZWNlc3NhcmlseSBjb21wbHkgd2l0aCB0aGlzLgorCSAqCisJICogQ29uc2lkZXIgYSBiYWQgdmFsdWUgaGVyZSB0byBiZSBhIHdhcm5pbmcgdG8gc3VwcG9ydCBkZC1pbmcKKwkgKiBhbiBpbWFnZSBmcm9tIGEgc21hbGxlciBkaXNrIHRvIGEgYmlnZ2VyIGRpc2suCisJICovCisJaWYgKHJldCA9PSBHUFRfTUJSX1BST1RFQ1RJVkUpIHsKKwkJdWludDY0X3Qgc3pfbGJhID0gKHVpbnQ2NF90KSBsZTMyX3RvX2NwdShwbWJyLT5wYXJ0aXRpb25fcmVjb3JkW3BhcnRdLnNpemVfaW5fbGJhKTsKKwkJaWYgKHN6X2xiYSAhPSBjeHQtPnRvdGFsX3NlY3RvcnMgLSAxVUxMICYmIHN6X2xiYSAhPSAweEZGRkZGRkZGVUxMKSB7CisKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJSJQUkl1NjQiICE9ICUiUFJJdTY0IikgIgorCQkJCQkgICAid2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIiksCisJCQkJCXN6X2xiYSwgY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCk7CisKKwkJCS8qIE5vdGUgdGhhdCBncHRfd3JpdGVfcG1icigpIG92ZXJ3cml0ZXMgUE1CUiwgYnV0IHdlIHdhbnQgdG8ga2VlcCBpdCB2YWxpZCBhbHJlYWR5IAorCQkJICogaW4gbWVtb3J5IHRvbyB0byBkaXNhYmxlIHdhcm5pbmdzIHdoZW4gdmFsaWRfcG1icigpIGNhbGxlZCBuZXh0IHRpbWUgKi8KKwkJCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbcGFydF0uc2l6ZV9pbl9sYmEgID0KKwkJCQljcHVfdG9fbGUzMigodWludDMyX3QpIG1pbiggY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCwgMHhGRkZGRkZGRlVMTCkgKTsKKwkJCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCQl9CisJfQorZG9uZToKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdWludDY0X3QgbGFzdF9sYmEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzOworCXVpbnQ2NF90IHNlY3RvcnMgPSAwOworCisJbWVtc2V0KCZzLCAwLCBzaXplb2YocykpOworCWlmIChmc3RhdChjeHQtPmRldl9mZCwgJnMpID09IC0xKSB7CisJCWZkaXNrX3dhcm4oY3h0LCBfKCJncHQ6IHN0YXQoKSBmYWlsZWQiKSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChTX0lTQkxLKHMuc3RfbW9kZSkpCisJCXNlY3RvcnMgPSBjeHQtPnRvdGFsX3NlY3RvcnMgLSAxVUxMOworCWVsc2UgaWYgKFNfSVNSRUcocy5zdF9tb2RlKSkKKwkJc2VjdG9ycyA9ICgodWludDY0X3QpIHMuc3Rfc2l6ZSAvCisJCQkgICAodWludDY0X3QpIGN4dC0+c2VjdG9yX3NpemUpIC0gMVVMTDsKKwllbHNlCisJCWZkaXNrX3dhcm54KGN4dCwgXygiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIpLCBzLnN0X21vZGUpOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiR1BUIGxhc3QgTEJBOiAlIlBSSXU2NCIiLCBzZWN0b3JzKSk7CisJcmV0dXJuIHNlY3RvcnM7Cit9CisKK3N0YXRpYyBzc2l6ZV90IHJlYWRfbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHVpbnQ2NF90IGxiYSwKKwkJCXZvaWQgKmJ1ZmZlciwgY29uc3Qgc2l6ZV90IGJ5dGVzKQoreworCW9mZl90IG9mZnNldCA9IGxiYSAqIGN4dC0+c2VjdG9yX3NpemU7CisKKwlpZiAobHNlZWsoY3h0LT5kZXZfZmQsIG9mZnNldCwgU0VFS19TRVQpID09IChvZmZfdCkgLTEpCisJCXJldHVybiAtMTsKKwlyZXR1cm4gKHNpemVfdClyZWFkKGN4dC0+ZGV2X2ZkLCBidWZmZXIsIGJ5dGVzKSAhPSBieXRlczsKK30KKworCisvKiBSZXR1cm5zIHRoZSBHUFQgZW50cnkgYXJyYXkgKi8KK3N0YXRpYyB1bnNpZ25lZCBjaGFyICpncHRfcmVhZF9lbnRyaWVzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJCSBzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyKQoreworCXNpemVfdCBzeiA9IDA7CisJc3NpemVfdCBzc3o7CisKKwl1bnNpZ25lZCBjaGFyICpyZXQgPSBOVUxMOworCW9mZl90IG9mZnNldDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChoZWFkZXIpOworCisJaWYgKGdwdF9zaXplb2ZfZW50cyhoZWFkZXIsICZzeikpCisJCXJldHVybiBOVUxMOworCisJaWYgKHN6ID4gKHNpemVfdCkgU1NJWkVfTUFYKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCBlbnRyaWVzIGFycmF5IHRvbyBsYXJnZSB0byByZWFkKCkiKSk7CisJCXJldHVybiBOVUxMOworCX0KKworCXJldCA9IGNhbGxvYygxLCBzeik7CisJaWYgKCFyZXQpCisJCXJldHVybiBOVUxMOworCisJb2Zmc2V0ID0gKG9mZl90KSBsZTY0X3RvX2NwdShoZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9sYmEpICoKKwkJICAgICAgIGN4dC0+c2VjdG9yX3NpemU7CisKKwlpZiAob2Zmc2V0ICE9IGxzZWVrKGN4dC0+ZGV2X2ZkLCBvZmZzZXQsIFNFRUtfU0VUKSkKKwkJZ290byBmYWlsOworCisJc3N6ID0gcmVhZChjeHQtPmRldl9mZCwgcmV0LCBzeik7CisJaWYgKHNzeiA8IDAgfHwgKHNpemVfdCkgc3N6ICE9IHN6KQorCQlnb3RvIGZhaWw7CisKKwlyZXR1cm4gcmV0OworCitmYWlsOgorCWZyZWUocmV0KTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGlubGluZSB1aW50MzJfdCBjb3VudF9jcmMzMihjb25zdCB1bnNpZ25lZCBjaGFyICpidWYsIHNpemVfdCBsZW4sCisJCQkJICAgc2l6ZV90IGV4X29mZiwgc2l6ZV90IGV4X2xlbikKK3sKKwlyZXR1cm4gKHVsX2NyYzMyX2V4Y2x1ZGVfb2Zmc2V0KH4wTCwgYnVmLCBsZW4sIGV4X29mZiwgZXhfbGVuKSBeIH4wTCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgZ3B0X2hlYWRlcl9jb3VudF9jcmMzMihzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyKQoreworICAgICAgICByZXR1cm4gY291bnRfY3JjMzIoKHVuc2lnbmVkIGNoYXIgKikgaGVhZGVyLAkJLyogYnVmZmVyICovCisJCQlsZTMyX3RvX2NwdShoZWFkZXItPnNpemUpLAkJLyogc2l6ZSBvZiBidWZmZXIgKi8KKwkJCW9mZnNldG9mKHN0cnVjdCBncHRfaGVhZGVyLCBjcmMzMiksCS8qIGV4Y2x1ZGUgKi8KKwkJCXNpemVvZihoZWFkZXItPmNyYzMyKSk7CQkJLyogc2l6ZSBvZiBleGNsdWRlZCBhcmVhICovCit9CisKK3N0YXRpYyBpbmxpbmUgdWludDMyX3QgZ3B0X2VudHJ5YXJyX2NvdW50X2NyYzMyKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVuc2lnbmVkIGNoYXIgKmVudHMpCit7CisJc2l6ZV90IGFyeXN6ID0gMDsKKworCWlmIChncHRfc2l6ZW9mX2VudHMoaGVhZGVyLCAmYXJ5c3opKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBjb3VudF9jcmMzMihlbnRzLCBhcnlzeiwgMCwgMCk7Cit9CisKKworLyoKKyAqIFJlY29tcHV0ZSBoZWFkZXIgYW5kIHBhcnRpdGlvbiBhcnJheSAzMmJpdCBDUkMgY2hlY2tzdW1zLgorICogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBmYWlsIC0gaWYgdGhlcmUncyBjb3JydXB0aW9uLCB0aGVuIGl0CisgKiB3aWxsIGJlIHJlcG9ydGVkIHdoZW4gY2hlY2tzdW1taW5nIGl0IGFnYWluIChpZTogcHJvYmluZyBvciB2ZXJpZnkpLgorICovCitzdGF0aWMgdm9pZCBncHRfcmVjb21wdXRlX2NyYyhzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyLCB1bnNpZ25lZCBjaGFyICplbnRzKQoreworCWlmICghaGVhZGVyKQorCQlyZXR1cm47CisKKwloZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9hcnJheV9jcmMzMiA9CisJCQljcHVfdG9fbGUzMiggZ3B0X2VudHJ5YXJyX2NvdW50X2NyYzMyKGhlYWRlciwgZW50cykgKTsKKworCWhlYWRlci0+Y3JjMzIgPSBjcHVfdG9fbGUzMiggZ3B0X2hlYWRlcl9jb3VudF9jcmMzMihoZWFkZXIpICk7Cit9CisKKy8qCisgKiBDb21wdXRlIHRoZSAzMmJpdCBDUkMgY2hlY2tzdW0gb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSBoZWFkZXIuCisgKiBSZXR1cm5zIDEgaWYgaXQgaXMgdmFsaWQsIG90aGVyd2lzZSAwLgorICovCitzdGF0aWMgaW50IGdwdF9jaGVja19oZWFkZXJfY3JjKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVuc2lnbmVkIGNoYXIgKmVudHMpCit7CisJdWludDMyX3Qgb3JnY3JjID0gbGUzMl90b19jcHUoaGVhZGVyLT5jcmMzMiksCisJCSBjcmMgPSBncHRfaGVhZGVyX2NvdW50X2NyYzMyKGhlYWRlcik7CisKKwlpZiAoY3JjID09IG9yZ2NyYykKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIElmIHdlIGhhdmUgY2hlY2tzdW0gbWlzbWF0Y2ggaXQgbWF5IGJlIGR1ZSB0byBzdGFsZSBkYXRhLCBsaWtlIGEKKwkgKiBwYXJ0aXRpb24gYmVpbmcgYWRkZWQgb3IgZGVsZXRlZC4gUmVjb21wdXRlIHRoZSBDUkMgYWdhaW4gYW5kIG1ha2UKKwkgKiBzdXJlIHRoaXMgaXMgbm90IHRoZSBjYXNlLgorCSAqLworCWlmIChlbnRzKSB7CisJCWdwdF9yZWNvbXB1dGVfY3JjKGhlYWRlciwgZW50cyk7CisJCXJldHVybiBncHRfaGVhZGVyX2NvdW50X2NyYzMyKGhlYWRlcikgPT0gb3JnY3JjOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogSXQgaW5pdGlhbGl6ZXMgdGhlIHBhcnRpdGlvbiBlbnRyeSBhcnJheS4KKyAqIFJldHVybnMgMSBpZiB0aGUgY2hlY2tzdW0gaXMgdmFsaWQsIG90aGVyd2lzZSAwLgorICovCitzdGF0aWMgaW50IGdwdF9jaGVja19lbnRyeWFycl9jcmMoc3RydWN0IGdwdF9oZWFkZXIgKmhlYWRlciwgdW5zaWduZWQgY2hhciAqZW50cykKK3sKKwlpZiAoIWhlYWRlciB8fCAhZW50cykKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gZ3B0X2VudHJ5YXJyX2NvdW50X2NyYzMyKGhlYWRlciwgZW50cykgPT0KKwkJCWxlMzJfdG9fY3B1KGhlYWRlci0+cGFydGl0aW9uX2VudHJ5X2FycmF5X2NyYzMyKTsKK30KKworc3RhdGljIGludCBncHRfY2hlY2tfbGJhX3Nhbml0eShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZ3B0X2hlYWRlciAqaGVhZGVyKQoreworCWludCByZXQgPSAwOworCXVpbnQ2NF90IGx1LCBmdSwgbGFzdGxiYSA9IGxhc3RfbGJhKGN4dCk7CisKKwlmdSA9IGxlNjRfdG9fY3B1KGhlYWRlci0+Zmlyc3RfdXNhYmxlX2xiYSk7CisJbHUgPSBsZTY0X3RvX2NwdShoZWFkZXItPmxhc3RfdXNhYmxlX2xiYSk7CisKKwkvKiBjaGVjayBpZiBmaXJzdCBhbmQgbGFzdCB1c2FibGUgTEJBIG1ha2Ugc2Vuc2UgKi8KKwlpZiAobHUgPCBmdSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJlcnJvcjogaGVhZGVyIGxhc3QgTEJBIGlzIGJlZm9yZSBmaXJzdCBMQkEiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiBjaGVjayBpZiBmaXJzdCBhbmQgbGFzdCB1c2FibGUgTEJBcyB3aXRoIHRoZSBkaXNrJ3MgbGFzdCBMQkEgKi8KKwlpZiAoZnUgPiBsYXN0bGJhIHx8IGx1ID4gbGFzdGxiYSkgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJlcnJvcjogaGVhZGVyIExCQXMgYXJlIGFmdGVyIHRoZSBkaXNrJ3MgbGFzdCBMQkEiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiB0aGUgaGVhZGVyIGhhcyB0byBiZSBvdXRzaWRlIHVzYWJsZSByYW5nZSAqLworCWlmIChmdSA8IEdQVF9QUklNQVJZX1BBUlRJVElPTl9UQUJMRV9MQkEgJiYKKwkgICAgR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSA8IGx1KSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoImVycm9yOiBoZWFkZXIgb3V0c2lkZSBvZiB1c2FibGUgcmFuZ2UiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlyZXQgPSAxOyAvKiBzYW5lICovCitkb25lOgorCXJldHVybiByZXQ7Cit9CisKKy8qIENoZWNrIGlmIHRoZXJlIGlzIGEgdmFsaWQgaGVhZGVyIHNpZ25hdHVyZSAqLworc3RhdGljIGludCBncHRfY2hlY2tfc2lnbmF0dXJlKHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIpCit7CisJcmV0dXJuIGhlYWRlci0+c2lnbmF0dXJlID09IGNwdV90b19sZTY0KEdQVF9IRUFERVJfU0lHTkFUVVJFKTsKK30KKworLyoKKyAqIFJldHVybiB0aGUgc3BlY2lmaWVkIEdQVCBIZWFkZXIsIG9yIE5VTEwgdXBvbiBmYWlsdXJlL2ludmFsaWQuCisgKiBOb3RlIHRoYXQgYWxsIHRlc3RzIG11c3QgcGFzcyB0byBlbnN1cmUgYSB2YWxpZCBoZWFkZXIsCisgKiB3ZSBkbyBub3QgcmVseSBvbiBvbmx5IHRlc3RpbmcgdGhlIHNpZ25hdHVyZSBmb3IgYSB2YWxpZCBwcm9iZS4KKyAqLworc3RhdGljIHN0cnVjdCBncHRfaGVhZGVyICpncHRfcmVhZF9oZWFkZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkJICB1aW50NjRfdCBsYmEsCisJCQkJCSAgdW5zaWduZWQgY2hhciAqKl9lbnRzKQoreworCXN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIgPSBOVUxMOworCXVuc2lnbmVkIGNoYXIgKmVudHMgPSBOVUxMOworCXVpbnQzMl90IGhzejsKKworCWlmICghY3h0KQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGFsd2F5cyBhbGxvY2F0ZSBhbGwgc2VjdG9yLCB0aGUgYXJlYSBhZnRlciBHUFQgaGVhZGVyCisJICogaGFzIHRvIGJlIGZpbGwgYnkgemVyb3MgKi8KKwlhc3NlcnQoY3h0LT5zZWN0b3Jfc2l6ZSA+PSBzaXplb2Yoc3RydWN0IGdwdF9oZWFkZXIpKTsKKworCWhlYWRlciA9IGNhbGxvYygxLCBjeHQtPnNlY3Rvcl9zaXplKTsKKwlpZiAoIWhlYWRlcikKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiByZWFkIGFuZCB2ZXJpZnkgaGVhZGVyICovCisJaWYgKHJlYWRfbGJhKGN4dCwgbGJhLCBoZWFkZXIsIGN4dC0+c2VjdG9yX3NpemUpICE9IDApCisJCWdvdG8gaW52YWxpZDsKKworCWlmICghZ3B0X2NoZWNrX3NpZ25hdHVyZShoZWFkZXIpKQorCQlnb3RvIGludmFsaWQ7CisKKwkvKiBtYWtlIHN1cmUgaGVhZGVyIHNpemUgaXMgYmV0d2VlbiA5MiBhbmQgc2VjdG9yIHNpemUgYnl0ZXMgKi8KKwloc3ogPSBsZTMyX3RvX2NwdShoZWFkZXItPnNpemUpOworCWlmIChoc3ogPCBHUFRfSEVBREVSX01JTlNaIHx8IGhzeiA+IGN4dC0+c2VjdG9yX3NpemUpCisJCWdvdG8gaW52YWxpZDsKKworCWlmICghZ3B0X2NoZWNrX2hlYWRlcl9jcmMoaGVhZGVyLCBOVUxMKSkKKwkJZ290byBpbnZhbGlkOworCisJLyogcmVhZCBhbmQgdmVyaWZ5IGVudHJpZXMgKi8KKwllbnRzID0gZ3B0X3JlYWRfZW50cmllcyhjeHQsIGhlYWRlcik7CisJaWYgKCFlbnRzKQorCQlnb3RvIGludmFsaWQ7CisKKwlpZiAoIWdwdF9jaGVja19lbnRyeWFycl9jcmMoaGVhZGVyLCBlbnRzKSkKKwkJZ290byBpbnZhbGlkOworCisJaWYgKCFncHRfY2hlY2tfbGJhX3Nhbml0eShjeHQsIGhlYWRlcikpCisJCWdvdG8gaW52YWxpZDsKKworCS8qIHZhbGlkIGhlYWRlciBtdXN0IGJlIGF0IE15TEJBICovCisJaWYgKGxlNjRfdG9fY3B1KGhlYWRlci0+bXlfbGJhKSAhPSBsYmEpCisJCWdvdG8gaW52YWxpZDsKKworCWlmIChfZW50cykKKwkJKl9lbnRzID0gZW50czsKKwllbHNlCisJCWZyZWUoZW50cyk7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJmb3VuZCB2YWxpZCBHUFQgSGVhZGVyIG9uIExCQSAlIlBSSXU2NCIiLCBsYmEpKTsKKwlyZXR1cm4gaGVhZGVyOworaW52YWxpZDoKKwlmcmVlKGhlYWRlcik7CisJZnJlZShlbnRzKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoInJlYWQgR1BUIEhlYWRlciBvbiBMQkEgJSJQUkl1NjQiIGZhaWxlZCIsIGxiYSkpOworCXJldHVybiBOVUxMOworfQorCisKK3N0YXRpYyBpbnQgZ3B0X2xvY2F0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IG4sCisJCWNvbnN0IGNoYXIgKipuYW1lLCB1aW50NjRfdCAqb2Zmc2V0LCBzaXplX3QgKnNpemUpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCisJYXNzZXJ0KGN4dCk7CisKKwkqbmFtZSA9IE5VTEw7CisJKm9mZnNldCA9IDA7CisJKnNpemUgPSAwOworCisJc3dpdGNoIChuKSB7CisJY2FzZSAwOgorCQkqbmFtZSA9ICJQTUJSIjsKKwkJKm9mZnNldCA9IDA7CisJCSpzaXplID0gNTEyOworCQlicmVhazsKKwljYXNlIDE6CisJCSpuYW1lID0gXygiR1BUIEhlYWRlciIpOworCQkqb2Zmc2V0ID0gKHVpbnQ2NF90KSBHUFRfUFJJTUFSWV9QQVJUSVRJT05fVEFCTEVfTEJBICogY3h0LT5zZWN0b3Jfc2l6ZTsKKwkJKnNpemUgPSBzaXplb2Yoc3RydWN0IGdwdF9oZWFkZXIpOworCQlicmVhazsKKwljYXNlIDI6CisJCSpuYW1lID0gXygiR1BUIEVudHJpZXMiKTsKKwkJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCQkqb2Zmc2V0ID0gKHVpbnQ2NF90KSBsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9sYmEpICoKKwkJCQkgICAgIGN4dC0+c2VjdG9yX3NpemU7CisJCXJldHVybiBncHRfc2l6ZW9mX2VudHMoZ3B0LT5waGVhZGVyLCBzaXplKTsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMTsJCQkvKiBubyBtb3JlIGNodW5rcyAqLworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdwdF9nZXRfZGlza2xhYmVsX2l0ZW0oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqaXRlbSkKK3sKKwlzdHJ1Y3QgZ3B0X2hlYWRlciAqaDsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIEdQVCkpOworCisJaCA9IHNlbGZfbGFiZWwoY3h0KS0+cGhlYWRlcjsKKworCXN3aXRjaCAoaXRlbS0+aWQpIHsKKwljYXNlIEdQVF9MQUJFTElURU1fSUQ6CisJCWl0ZW0tPm5hbWUgPSBfKCJEaXNrIGlkZW50aWZpZXIiKTsKKwkJaXRlbS0+dHlwZSA9ICdzJzsKKwkJaXRlbS0+ZGF0YS5zdHIgPSBncHRfZ2V0X2hlYWRlcl9pZChoKTsKKwkJaWYgKCFpdGVtLT5kYXRhLnN0cikKKwkJCXJjID0gLUVOT01FTTsKKwkJYnJlYWs7CisJY2FzZSBHUFRfTEFCRUxJVEVNX0ZJUlNUTEJBOgorCQlpdGVtLT5uYW1lID0gXygiRmlyc3QgTEJBIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSBsZTY0X3RvX2NwdShoLT5maXJzdF91c2FibGVfbGJhKTsKKwkJYnJlYWs7CisJY2FzZSBHUFRfTEFCRUxJVEVNX0xBU1RMQkE6CisJCWl0ZW0tPm5hbWUgPSBfKCJMYXN0IExCQSIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gbGU2NF90b19jcHUoaC0+bGFzdF91c2FibGVfbGJhKTsKKwkJYnJlYWs7CisJY2FzZSBHUFRfTEFCRUxJVEVNX0FMVExCQToKKwkJLyogVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLiAqLworCQlpdGVtLT5uYW1lID0gXygiQWx0ZXJuYXRpdmUgTEJBIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSBsZTY0X3RvX2NwdShoLT5hbHRlcm5hdGl2ZV9sYmEpOworCQlicmVhazsKKwljYXNlIEdQVF9MQUJFTElURU1fRU5UUklFU0xCQToKKwkJLyogVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuICovCisJCWl0ZW0tPm5hbWUgPSBfKCJQYXJ0aXRpb24gZW50cmllcyBMQkEiKTsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJaXRlbS0+ZGF0YS5udW02NCA9IGxlNjRfdG9fY3B1KGgtPnBhcnRpdGlvbl9lbnRyeV9sYmEpOworCQlicmVhazsKKwljYXNlIEdQVF9MQUJFTElURU1fRU5UUklFU0FMTE9DOgorCQlpdGVtLT5uYW1lID0gXygiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSBsZTMyX3RvX2NwdShoLT5ucGFydGl0aW9uX2VudHJpZXMpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoaXRlbS0+aWQgPCBfX0ZESVNLX05MQUJFTElURU1TKQorCQkJcmMgPSAxOwkvKiB1bnN1cHBvcnRlZCBnZW5lcmljIGl0ZW0gKi8KKwkJZWxzZQorCQkJcmMgPSAyOwkvKiBvdXQgb2YgcmFuZ2UgKi8KKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKgorICogUmV0dXJucyB0aGUgbnVtYmVyIG9mIHBhcnRpdGlvbnMgdGhhdCBhcmUgaW4gdXNlLgorICovCitzdGF0aWMgc2l6ZV90IHBhcnRpdGlvbnNfaW5fdXNlKHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdCkKK3sKKwlzaXplX3QgaSwgdXNlZCA9IDA7CisKKwlhc3NlcnQoZ3B0KTsKKwlhc3NlcnQoZ3B0LT5waGVhZGVyKTsKKwlhc3NlcnQoZ3B0LT5lbnRzKTsKKworCWZvciAoaSA9IDA7IGkgPCBncHRfZ2V0X25lbnRyaWVzKGdwdCk7IGkrKykgeworCQlzdHJ1Y3QgZ3B0X2VudHJ5ICplID0gZ3B0X2dldF9lbnRyeShncHQsIGkpOworCisJCWlmIChncHRfZW50cnlfaXNfdXNlZChlKSkKKwkJCXVzZWQrKzsKKwl9CisJcmV0dXJuIHVzZWQ7Cit9CisKKworLyoKKyAqIENoZWNrIGlmIGEgcGFydGl0aW9uIGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrIChzZWN0b3JzKS4KKyAqIFJldHVybnMgdGhlIGZhdWx0aW5nIHBhcnRpdGlvbiBudW1iZXIsIG90aGVyd2lzZSAwLgorICovCitzdGF0aWMgdWludDMyX3QgY2hlY2tfdG9vX2JpZ19wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdCwgdWludDY0X3Qgc2VjdG9ycykKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChncHQpOworCWFzc2VydChncHQtPnBoZWFkZXIpOworCWFzc2VydChncHQtPmVudHMpOworCisJZm9yIChpID0gMDsgaSA8IGdwdF9nZXRfbmVudHJpZXMoZ3B0KTsgaSsrKSB7CisJCXN0cnVjdCBncHRfZW50cnkgKmUgPSBncHRfZ2V0X2VudHJ5KGdwdCwgaSk7CisKKwkJaWYgKCFncHRfZW50cnlfaXNfdXNlZChlKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZ3B0X3BhcnRpdGlvbl9lbmQoZSkgPj0gc2VjdG9ycykKKwkJCXJldHVybiBpICsgMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENoZWNrIGlmIGEgcGFydGl0aW9uIGVuZHMgYmVmb3JlIGl0IGJlZ2lucworICogUmV0dXJucyB0aGUgZmF1bHRpbmcgcGFydGl0aW9uIG51bWJlciwgb3RoZXJ3aXNlIDAuCisgKi8KK3N0YXRpYyB1aW50MzJfdCBjaGVja19zdGFydF9hZnRlcl9lbmRfcGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQpCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQoZ3B0KTsKKwlhc3NlcnQoZ3B0LT5waGVhZGVyKTsKKwlhc3NlcnQoZ3B0LT5lbnRzKTsKKworCWZvciAoaSA9IDA7IGkgPCBncHRfZ2V0X25lbnRyaWVzKGdwdCk7IGkrKykgeworCQlzdHJ1Y3QgZ3B0X2VudHJ5ICplID0gZ3B0X2dldF9lbnRyeShncHQsIGkpOworCisJCWlmICghZ3B0X2VudHJ5X2lzX3VzZWQoZSkpCisJCQljb250aW51ZTsKKwkJaWYgKGdwdF9wYXJ0aXRpb25fc3RhcnQoZSkgPiBncHRfcGFydGl0aW9uX2VuZChlKSkKKwkJCXJldHVybiBpICsgMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENoZWNrIGlmIHBhcnRpdGlvbiBlMSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiBlMi4KKyAqLworc3RhdGljIGlubGluZSBpbnQgcGFydGl0aW9uX292ZXJsYXAoc3RydWN0IGdwdF9lbnRyeSAqZTEsIHN0cnVjdCBncHRfZW50cnkgKmUyKQoreworCXVpbnQ2NF90IHN0YXJ0MSA9IGdwdF9wYXJ0aXRpb25fc3RhcnQoZTEpOworCXVpbnQ2NF90IGVuZDEgICA9IGdwdF9wYXJ0aXRpb25fZW5kKGUxKTsKKwl1aW50NjRfdCBzdGFydDIgPSBncHRfcGFydGl0aW9uX3N0YXJ0KGUyKTsKKwl1aW50NjRfdCBlbmQyICAgPSBncHRfcGFydGl0aW9uX2VuZChlMik7CisKKwlyZXR1cm4gKHN0YXJ0MSAmJiBzdGFydDIgJiYgKHN0YXJ0MSA8PSBlbmQyKSAhPSAoZW5kMSA8IHN0YXJ0MikpOworfQorCisvKgorICogRmluZCBhbnkgcGFydGl0aW9ucyB0aGF0IG92ZXJsYXAuCisgKi8KK3N0YXRpYyB1aW50MzJfdCBjaGVja19vdmVybGFwX3BhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0KQoreworCXNpemVfdCBpLCBqOworCisJYXNzZXJ0KGdwdCk7CisJYXNzZXJ0KGdwdC0+cGhlYWRlcik7CisJYXNzZXJ0KGdwdC0+ZW50cyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgZ3B0X2dldF9uZW50cmllcyhncHQpOyBpKyspCisJCWZvciAoaiA9IDA7IGogPCBpOyBqKyspIHsKKwkJCXN0cnVjdCBncHRfZW50cnkgKmVpID0gZ3B0X2dldF9lbnRyeShncHQsIGkpOworCQkJc3RydWN0IGdwdF9lbnRyeSAqZWogPSBncHRfZ2V0X2VudHJ5KGdwdCwgaik7CisKKwkJCWlmICghZ3B0X2VudHJ5X2lzX3VzZWQoZWkpIHx8ICFncHRfZW50cnlfaXNfdXNlZChlaikpCisJCQkJY29udGludWU7CisJCQlpZiAocGFydGl0aW9uX292ZXJsYXAoZWksIGVqKSkgeworCQkJCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCBwYXJ0aXRpb25zIG92ZXJsYXAgZGV0ZWN0ZWQgWyV6dSB2cy4gJXp1XSIsIGksIGopKTsKKwkJCQlyZXR1cm4gaSArIDE7CisJCQl9CisJCX0KKworCXJldHVybiAwOworfQorCisvKgorICogRmluZCB0aGUgZmlyc3QgYXZhaWxhYmxlIGJsb2NrIGFmdGVyIHRoZSBzdGFydGluZyBwb2ludDsgcmV0dXJucyAwIGlmCisgKiB0aGVyZSBhcmUgbm8gYXZhaWxhYmxlIGJsb2NrcyBsZWZ0LCBvciBlcnJvci4gRnJvbSBnZGlzay4KKyAqLworc3RhdGljIHVpbnQ2NF90IGZpbmRfZmlyc3RfYXZhaWxhYmxlKHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdCwgdWludDY0X3Qgc3RhcnQpCit7CisJaW50IGZpcnN0X21vdmVkID0gMDsKKwl1aW50NjRfdCBmaXJzdDsKKwl1aW50NjRfdCBmdSwgbHU7CisKKwlhc3NlcnQoZ3B0KTsKKwlhc3NlcnQoZ3B0LT5waGVhZGVyKTsKKwlhc3NlcnQoZ3B0LT5lbnRzKTsKKworCWZ1ID0gbGU2NF90b19jcHUoZ3B0LT5waGVhZGVyLT5maXJzdF91c2FibGVfbGJhKTsKKwlsdSA9IGxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+bGFzdF91c2FibGVfbGJhKTsKKworCS8qCisJICogQmVnaW4gZnJvbSB0aGUgc3BlY2lmaWVkIHN0YXJ0aW5nIHBvaW50IG9yIGZyb20gdGhlIGZpcnN0IHVzYWJsZQorCSAqIExCQSwgd2hpY2hldmVyIGlzIGdyZWF0ZXIuLi4KKwkgKi8KKwlmaXJzdCA9IHN0YXJ0IDwgZnUgPyBmdSA6IHN0YXJ0OworCisJLyoKKwkgKiBOb3cgc2VhcmNoIHRocm91Z2ggYWxsIHBhcnRpdGlvbnM7IGlmIGZpcnN0IGlzIHdpdGhpbiBhbgorCSAqIGV4aXN0aW5nIHBhcnRpdGlvbiwgbW92ZSBpdCB0byB0aGUgbmV4dCBzZWN0b3IgYWZ0ZXIgdGhhdAorCSAqIHBhcnRpdGlvbiBhbmQgcmVwZWF0LiBJZiBmaXJzdCB3YXMgbW92ZWQsIHNldCBmaXJzdE1vdmVkCisJICogZmxhZzsgcmVwZWF0IHVudGlsIGZpcnN0TW92ZWQgaXMgbm90IHNldCwgc28gYXMgdG8gY2F0Y2gKKwkgKiBjYXNlcyB3aGVyZSBwYXJ0aXRpb25zIGFyZSBvdXQgb2Ygc2VxdWVudGlhbCBvcmRlci4uLi4KKwkgKi8KKwlkbyB7CisJCXNpemVfdCBpOworCisJCWZpcnN0X21vdmVkID0gMDsKKwkJZm9yIChpID0gMDsgaSA8IGdwdF9nZXRfbmVudHJpZXMoZ3B0KTsgaSsrKSB7CisJCQlzdHJ1Y3QgZ3B0X2VudHJ5ICplID0gZ3B0X2dldF9lbnRyeShncHQsIGkpOworCisJCQlpZiAoIWdwdF9lbnRyeV9pc191c2VkKGUpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGZpcnN0IDwgZ3B0X3BhcnRpdGlvbl9zdGFydChlKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChmaXJzdCA8PSBncHRfcGFydGl0aW9uX2VuZChlKSkgeworCQkJCWZpcnN0ID0gZ3B0X3BhcnRpdGlvbl9lbmQoZSkgKyAxOworCQkJCWZpcnN0X21vdmVkID0gMTsKKwkJCX0KKwkJfQorCX0gd2hpbGUgKGZpcnN0X21vdmVkID09IDEpOworCisJaWYgKGZpcnN0ID4gbHUpCisJCWZpcnN0ID0gMDsKKworCXJldHVybiBmaXJzdDsKK30KKworCisvKiBSZXR1cm5zIGxhc3QgYXZhaWxhYmxlIHNlY3RvciBpbiB0aGUgZnJlZSBzcGFjZSBwb2ludGVkIHRvIGJ5IHN0YXJ0LiBGcm9tIGdkaXNrLiAqLworc3RhdGljIHVpbnQ2NF90IGZpbmRfbGFzdF9mcmVlKHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdCwgdWludDY0X3Qgc3RhcnQpCit7CisJc2l6ZV90IGk7CisJdWludDY0X3QgbmVhcmVzdF9zdGFydDsKKworCWFzc2VydChncHQpOworCWFzc2VydChncHQtPnBoZWFkZXIpOworCWFzc2VydChncHQtPmVudHMpOworCisJbmVhcmVzdF9zdGFydCA9IGxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+bGFzdF91c2FibGVfbGJhKTsKKworCWZvciAoaSA9IDA7IGkgPCBncHRfZ2V0X25lbnRyaWVzKGdwdCk7IGkrKykgeworCQlzdHJ1Y3QgZ3B0X2VudHJ5ICplID0gZ3B0X2dldF9lbnRyeShncHQsIGkpOworCQl1aW50NjRfdCBwcyA9IGdwdF9wYXJ0aXRpb25fc3RhcnQoZSk7CisKKwkJaWYgKG5lYXJlc3Rfc3RhcnQgPiBwcyAmJiBwcyA+IHN0YXJ0KQorCQkJbmVhcmVzdF9zdGFydCA9IHBzIC0gMVVMTDsKKwl9CisKKwlyZXR1cm4gbmVhcmVzdF9zdGFydDsKK30KKworLyogUmV0dXJucyB0aGUgbGFzdCBmcmVlIHNlY3RvciBvbiB0aGUgZGlzay4gRnJvbSBnZGlzay4gKi8KK3N0YXRpYyB1aW50NjRfdCBmaW5kX2xhc3RfZnJlZV9zZWN0b3Ioc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0KQoreworCWludCBsYXN0X21vdmVkOworCXVpbnQ2NF90IGxhc3QgPSAwOworCisJYXNzZXJ0KGdwdCk7CisJYXNzZXJ0KGdwdC0+cGhlYWRlcik7CisJYXNzZXJ0KGdwdC0+ZW50cyk7CisKKwkvKiBzdGFydCBieSBhc3N1bWluZyB0aGUgbGFzdCB1c2FibGUgTEJBIGlzIGF2YWlsYWJsZSAqLworCWxhc3QgPSBsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPmxhc3RfdXNhYmxlX2xiYSk7CisJZG8geworCQlzaXplX3QgaTsKKworCQlsYXN0X21vdmVkID0gMDsKKwkJZm9yIChpID0gMDsgaSA8IGdwdF9nZXRfbmVudHJpZXMoZ3B0KTsgaSsrKSB7CisJCQlzdHJ1Y3QgZ3B0X2VudHJ5ICplID0gZ3B0X2dldF9lbnRyeShncHQsIGkpOworCisJCQlpZiAobGFzdCA+PSBncHRfcGFydGl0aW9uX3N0YXJ0KGUpICYmCisJCQkgICAgbGFzdCA8PSBncHRfcGFydGl0aW9uX2VuZChlKSkgeworCQkJCWxhc3QgPSBncHRfcGFydGl0aW9uX3N0YXJ0KGUpIC0gMVVMTDsKKwkJCQlsYXN0X21vdmVkID0gMTsKKwkJCX0KKwkJfQorCX0gd2hpbGUgKGxhc3RfbW92ZWQgPT0gMSk7CisKKwlyZXR1cm4gbGFzdDsKK30KKworLyoKKyAqIEZpbmRzIHRoZSBmaXJzdCBhdmFpbGFibGUgc2VjdG9yIGluIHRoZSBsYXJnZXN0IGJsb2NrIG9mIHVuYWxsb2NhdGVkCisgKiBzcGFjZSBvbiB0aGUgZGlzay4gUmV0dXJucyAwIGlmIHRoZXJlIGFyZSBubyBhdmFpbGFibGUgYmxvY2tzIGxlZnQuCisgKiBGcm9tIGdkaXNrLgorICovCitzdGF0aWMgdWludDY0X3QgZmluZF9maXJzdF9pbl9sYXJnZXN0KHN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdCkKK3sKKwl1aW50NjRfdCBzdGFydCA9IDAsIGZpcnN0X3NlY3QsIGxhc3Rfc2VjdDsKKwl1aW50NjRfdCBzZWdtZW50X3NpemUsIHNlbGVjdGVkX3NpemUgPSAwLCBzZWxlY3RlZF9zZWdtZW50ID0gMDsKKworCWFzc2VydChncHQpOworCWFzc2VydChncHQtPnBoZWFkZXIpOworCWFzc2VydChncHQtPmVudHMpOworCisJZG8geworCQlmaXJzdF9zZWN0ID0gZmluZF9maXJzdF9hdmFpbGFibGUoZ3B0LCBzdGFydCk7CisJCWlmIChmaXJzdF9zZWN0ICE9IDApIHsKKwkJCWxhc3Rfc2VjdCA9IGZpbmRfbGFzdF9mcmVlKGdwdCwgZmlyc3Rfc2VjdCk7CisJCQlzZWdtZW50X3NpemUgPSBsYXN0X3NlY3QgLSBmaXJzdF9zZWN0ICsgMVVMTDsKKworCQkJaWYgKHNlZ21lbnRfc2l6ZSA+IHNlbGVjdGVkX3NpemUpIHsKKwkJCQlzZWxlY3RlZF9zaXplID0gc2VnbWVudF9zaXplOworCQkJCXNlbGVjdGVkX3NlZ21lbnQgPSBmaXJzdF9zZWN0OworCQkJfQorCQkJc3RhcnQgPSBsYXN0X3NlY3QgKyAxVUxMOworCQl9CisJfSB3aGlsZSAoZmlyc3Rfc2VjdCAhPSAwKTsKKworCXJldHVybiBzZWxlY3RlZF9zZWdtZW50OworfQorCisvKgorICogRmluZCB0aGUgdG90YWwgbnVtYmVyIG9mIGZyZWUgc2VjdG9ycywgdGhlIG51bWJlciBvZiBzZWdtZW50cyBpbiB3aGljaAorICogdGhleSByZXNpZGUsIGFuZCB0aGUgc2l6ZSBvZiB0aGUgbGFyZ2VzdCBvZiB0aG9zZSBzZWdtZW50cy4gRnJvbSBnZGlzay4KKyAqLworc3RhdGljIHVpbnQ2NF90IGdldF9mcmVlX3NlY3RvcnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0LAorCQkJCSB1aW50MzJfdCAqbnNlZ21lbnRzLAorCQkJCSB1aW50NjRfdCAqbGFyZ2VzdF9zZWdtZW50KQoreworCXVpbnQzMl90IG51bSA9IDA7CisJdWludDY0X3QgZmlyc3Rfc2VjdCwgbGFzdF9zZWN0OworCXVpbnQ2NF90IGxhcmdlc3Rfc2VnID0gMCwgc2VnbWVudF9zejsKKwl1aW50NjRfdCB0b3Rmb3VuZCA9IDAsIHN0YXJ0ID0gMDsgLyogc3RhcnRpbmcgcG9pbnQgZm9yIGVhY2ggc2VhcmNoICovCisKKwlpZiAoIWN4dC0+dG90YWxfc2VjdG9ycykKKwkJZ290byBkb25lOworCisJYXNzZXJ0KGdwdCk7CisJYXNzZXJ0KGdwdC0+cGhlYWRlcik7CisJYXNzZXJ0KGdwdC0+ZW50cyk7CisKKwlkbyB7CisJCWZpcnN0X3NlY3QgPSBmaW5kX2ZpcnN0X2F2YWlsYWJsZShncHQsIHN0YXJ0KTsKKwkJaWYgKGZpcnN0X3NlY3QpIHsKKwkJCWxhc3Rfc2VjdCA9IGZpbmRfbGFzdF9mcmVlKGdwdCwgZmlyc3Rfc2VjdCk7CisJCQlzZWdtZW50X3N6ID0gbGFzdF9zZWN0IC0gZmlyc3Rfc2VjdCArIDE7CisKKwkJCWlmIChzZWdtZW50X3N6ID4gbGFyZ2VzdF9zZWcpCisJCQkJbGFyZ2VzdF9zZWcgPSBzZWdtZW50X3N6OworCQkJdG90Zm91bmQgKz0gc2VnbWVudF9zejsKKwkJCW51bSsrOworCQkJc3RhcnQgPSBsYXN0X3NlY3QgKyAxVUxMOworCQl9CisJfSB3aGlsZSAoZmlyc3Rfc2VjdCk7CisKK2RvbmU6CisJaWYgKG5zZWdtZW50cykKKwkJKm5zZWdtZW50cyA9IG51bTsKKwlpZiAobGFyZ2VzdF9zZWdtZW50KQorCQkqbGFyZ2VzdF9zZWdtZW50ID0gbGFyZ2VzdF9zZWc7CisKKwlyZXR1cm4gdG90Zm91bmQ7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IG1icl90eXBlOworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCS8qIFRPRE86IGl0IHdvdWxkIGJlIG5pY2UgdG8gc3VwcG9ydCBzY2VuYXJpbyB3aGVuIEdQVCBoZWFkZXJzIGFyZSBPSywKKwkgKiAgICAgICBidXQgUE1CUiBpcyBjb3JydXB0ICovCisJbWJyX3R5cGUgPSB2YWxpZF9wbWJyKGN4dCk7CisJaWYgKCFtYnJfdHlwZSkKKwkJZ290byBmYWlsZWQ7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJmb3VuZCBhICVzIE1CUiIsIG1icl90eXBlID09IEdQVF9NQlJfUFJPVEVDVElWRSA/CisJCQkgICAgInByb3RlY3RpdmUiIDogImh5YnJpZCIpKTsKKworCS8qIHByaW1hcnkgaGVhZGVyICovCisJZ3B0LT5waGVhZGVyID0gZ3B0X3JlYWRfaGVhZGVyKGN4dCwgR1BUX1BSSU1BUllfUEFSVElUSU9OX1RBQkxFX0xCQSwKKwkJCQkgICAgICAgJmdwdC0+ZW50cyk7CisKKwlpZiAoZ3B0LT5waGVhZGVyKQorCQkvKiBwcmltYXJ5IE9LLCB0cnkgYmFja3VwIGZyb20gYWx0ZXJuYXRpdmUgTEJBICovCisJCWdwdC0+YmhlYWRlciA9IGdwdF9yZWFkX2hlYWRlcihjeHQsCisJCQkJCWxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+YWx0ZXJuYXRpdmVfbGJhKSwKKwkJCQkJTlVMTCk7CisJZWxzZQorCQkvKiBwcmltYXJ5IGNvcnJ1cHRlZCAtLSB0cnkgbGFzdCBMQkEgKi8KKwkJZ3B0LT5iaGVhZGVyID0gZ3B0X3JlYWRfaGVhZGVyKGN4dCwgbGFzdF9sYmEoY3h0KSwgJmdwdC0+ZW50cyk7CisKKwlpZiAoIWdwdC0+cGhlYWRlciAmJiAhZ3B0LT5iaGVhZGVyKQorCQlnb3RvIGZhaWxlZDsKKworCS8qIHByaW1hcnkgT0ssIGJhY2t1cCBjb3JydXB0ZWQgLS0gcmVjb3ZlcnkgKi8KKwlpZiAoZ3B0LT5waGVhZGVyICYmICFncHQtPmJoZWFkZXIpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlICIKKwkJCQkgICJwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIpKTsKKwkJZ3B0LT5iaGVhZGVyID0gZ3B0X2NvcHlfaGVhZGVyKGN4dCwgZ3B0LT5waGVhZGVyKTsKKwkJaWYgKCFncHQtPmJoZWFkZXIpCisJCQlnb3RvIGZhaWxlZDsKKwkJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5iaGVhZGVyLCBncHQtPmVudHMpOworCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKworCS8qIHByaW1hcnkgY29ycnVwdGVkLCBiYWNrdXAgT0sgLS0gcmVjb3ZlcnkgKi8KKwl9IGVsc2UgaWYgKCFncHQtPnBoZWFkZXIgJiYgZ3B0LT5iaGVhZGVyKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgIgorCQkJCSAgImJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iKSk7CisJCWdwdC0+cGhlYWRlciA9IGdwdF9jb3B5X2hlYWRlcihjeHQsIGdwdC0+YmhlYWRlcik7CisJCWlmICghZ3B0LT5waGVhZGVyKQorCQkJZ290byBmYWlsZWQ7CisJCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwkJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJfQorCisJLyogVGhlIGhlYWRlcnMgbWFrZSBiZSBjb3JyZWN0LCBidXQgQmFja3VwIGRvIG5vdCBoYXZlIHRvIGJlIG9uIHRoZSBlbmQKKwkgKiBvZiB0aGUgZGV2aWNlIChkdWUgdG8gZGV2aWNlIHJlc2l6ZSwgZXRjLikuIExldCdzIGZpeCB0aGlzIGlzc3VlLiAqLworCWlmIChsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPmFsdGVybmF0aXZlX2xiYSkgPiBjeHQtPnRvdGFsX3NlY3RvcnMgfHwKKwkgICAgbGU2NF90b19jcHUoZ3B0LT5waGVhZGVyLT5hbHRlcm5hdGl2ZV9sYmEpIDwgY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCkgeworCQlmZGlza193YXJueChjeHQsIF8oIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIG5vdCBvbiB0aGUgZW5kIG9mIHRoZSBkZXZpY2UuICIKKwkJCQkgICAiVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIpKTsKKworCQlncHRfZml4X2FsdGVybmF0aXZlX2xiYShjeHQsIGdwdCk7CisJCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKTsKKwkJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpOworCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwl9CisKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gZ3B0X2dldF9uZW50cmllcyhncHQpOworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSBwYXJ0aXRpb25zX2luX3VzZShncHQpOworCXJldHVybiAxOworZmFpbGVkOgorCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCBwcm9iZSBmYWlsZWQiKSk7CisJZ3B0X2RlaW5pdChjeHQtPmxhYmVsKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFN0b2xlbiBmcm9tIGxpYmJsa2lkIC0gY2FuIGJlIHJlbW92ZWQgb25jZSBwYXJ0aXRpb24gc2VtYW50aWNzCisgKiBhcmUgYWRkZWQgdG8gdGhlIGZkaXNrIEFQSS4KKyAqLworc3RhdGljIGNoYXIgKmVuY29kZV90b191dGY4KHVuc2lnbmVkIGNoYXIgKnNyYywgc2l6ZV90IGNvdW50KQoreworCXVpbnQxNl90IGM7CisJY2hhciAqZGVzdDsKKwlzaXplX3QgaSwgajsKKwlzaXplX3QgbGVuID0gY291bnQgKiAzIC8gMjsKKworCWRlc3QgPSBjYWxsb2MoMSwgbGVuICsgMSk7CisJaWYgKCFkZXN0KQorCQlyZXR1cm4gTlVMTDsKKworCWZvciAoaiA9IGkgPSAwOyBpICsgMiA8PSBjb3VudDsgaSArPSAyKSB7CisJCS8qIGFsd2F5cyBsaXR0bGUgZW5kaWFuICovCisJCWMgPSAoc3JjW2krMV0gPDwgOCkgfCBzcmNbaV07CisJCWlmIChjID09IDApIHsKKwkJCWJyZWFrOworCQl9IGVsc2UgaWYgKGMgPCAweDgwKSB7CisJCQlpZiAoaisxID4gbGVuKQorCQkJCWJyZWFrOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpIGM7CisJCX0gZWxzZSBpZiAoYyA8IDB4ODAwKSB7CisJCQlpZiAoaisyID4gbGVuKQorCQkJCWJyZWFrOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpICgweGMwIHwgKGMgPj4gNikpOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpICgweDgwIHwgKGMgJiAweDNmKSk7CisJCX0gZWxzZSB7CisJCQlpZiAoaiszID4gbGVuKQorCQkJCWJyZWFrOworCQkJZGVzdFtqKytdID0gKHVpbnQ4X3QpICgweGUwIHwgKGMgPj4gMTIpKTsKKwkJCWRlc3RbaisrXSA9ICh1aW50OF90KSAoMHg4MCB8ICgoYyA+PiA2KSAmIDB4M2YpKTsKKwkJCWRlc3RbaisrXSA9ICh1aW50OF90KSAoMHg4MCB8IChjICYgMHgzZikpOworCQl9CisJfQorCisJcmV0dXJuIGRlc3Q7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X2VudHJ5X2F0dHJzX3RvX3N0cmluZyhzdHJ1Y3QgZ3B0X2VudHJ5ICplLCBjaGFyICoqcmVzKQoreworCXVuc2lnbmVkIGludCBuLCBjb3VudCA9IDA7CisJc2l6ZV90IGw7CisJY2hhciAqYml0cywgKnA7CisJdWludDY0X3QgYXR0cnM7CisKKwlhc3NlcnQoZSk7CisJYXNzZXJ0KHJlcyk7CisKKwkqcmVzID0gTlVMTDsKKwlhdHRycyA9IGUtPmF0dHJzOworCWlmICghYXR0cnMpCisJCXJldHVybiAwOwkvKiBubyBhdHRyaWJ1dGVzIGF0IGFsbCAqLworCisJYml0cyA9IChjaGFyICopICZhdHRyczsKKworCS8qIE5vdGUgdGhhdCBzaXplb2YoKSBpcyBjb3JyZWN0IGhlcmUsIHdlIG5lZWQgc2VwYXJhdG9ycyBiZXR3ZWVuCisJICogdGhlIHN0cmluZ3Mgc28gYWxzbyBjb3VudCBcMCBpcyBjb3JyZWN0ICovCisJKnJlcyA9IGNhbGxvYygxLCBzaXplb2YoR1BUX0FUVFJTVFJfTk9CTE9DSykgKworCQkJIHNpemVvZihHUFRfQVRUUlNUUl9SRVEpICsKKwkJCSBzaXplb2YoR1BUX0FUVFJTVFJfTEVHQUNZKSArCisJCQkgc2l6ZW9mKCJHVUlEOiIpICsgKEdQVF9BVFRSQklUX0dVSURfQ09VTlQgKiAzKSk7CisJaWYgKCEqcmVzKQorCQlyZXR1cm4gLWVycm5vOworCisJcCA9ICpyZXM7CisJaWYgKGlzc2V0KGJpdHMsIEdQVF9BVFRSQklUX1JFUSkpIHsKKwkJbWVtY3B5KHAsIEdQVF9BVFRSU1RSX1JFUSwgKGwgPSBzaXplb2YoR1BUX0FUVFJTVFJfUkVRKSkpOworCQlwICs9IGwgLSAxOworCX0KKwlpZiAoaXNzZXQoYml0cywgR1BUX0FUVFJCSVRfTk9CTE9DSykpIHsKKwkJaWYgKHAgPiAqcmVzKQorCQkJKnArKyA9ICcgJzsKKwkJbWVtY3B5KHAsIEdQVF9BVFRSU1RSX05PQkxPQ0ssIChsID0gc2l6ZW9mKEdQVF9BVFRSU1RSX05PQkxPQ0spKSk7CisJCXAgKz0gbCAtIDE7CisJfQorCWlmIChpc3NldChiaXRzLCBHUFRfQVRUUkJJVF9MRUdBQ1kpKSB7CisJCWlmIChwID4gKnJlcykKKwkJCSpwKysgPSAnICc7CisJCW1lbWNweShwLCBHUFRfQVRUUlNUUl9MRUdBQ1ksIChsID0gc2l6ZW9mKEdQVF9BVFRSU1RSX0xFR0FDWSkpKTsKKwkJcCArPSBsIC0gMTsKKwl9CisKKwlmb3IgKG4gPSBHUFRfQVRUUkJJVF9HVUlEX0ZJUlNUOworCSAgICAgbiA8IEdQVF9BVFRSQklUX0dVSURfRklSU1QgKyBHUFRfQVRUUkJJVF9HVUlEX0NPVU5UOyBuKyspIHsKKworCQlpZiAoIWlzc2V0KGJpdHMsIG4pKQorCQkJY29udGludWU7CisJCWlmICghY291bnQpIHsKKwkJCWlmIChwID4gKnJlcykKKwkJCQkqcCsrID0gJyAnOworCQkJcCArPSBzcHJpbnRmKHAsICJHVUlEOiV1Iiwgbik7CisJCX0gZWxzZQorCQkJcCArPSBzcHJpbnRmKHAsICIsJXUiLCBuKTsKKwkJY291bnQrKzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBncHRfZW50cnlfYXR0cnNfZnJvbV9zdHJpbmcoCisJCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJc3RydWN0IGdwdF9lbnRyeSAqZSwKKwkJCWNvbnN0IGNoYXIgKnN0cikKK3sKKwljb25zdCBjaGFyICpwID0gc3RyOworCXVpbnQ2NF90IGF0dHJzID0gMDsKKwljaGFyICpiaXRzOworCisJYXNzZXJ0KGUpOworCWFzc2VydChwKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVDogcGFyc2luZyBzdHJpbmcgYXR0cmlidXRlcyAnJXMnIiwgcCkpOworCisJYml0cyA9IChjaGFyICopICZhdHRyczsKKworCXdoaWxlIChwICYmICpwKSB7CisJCWludCBiaXQgPSAtMTsKKworCQl3aGlsZSAoaXNibGFuaygqcCkpIHArKzsKKwkJaWYgKCEqcCkKKwkJCWJyZWFrOworCisJCURCRyhMQUJFTCwgdWxfZGVidWcoIiBwYXJzaW5nIGl0ZW0gJyVzJyIsIHApKTsKKworCQlpZiAoc3RybmNtcChwLCBHUFRfQVRUUlNUUl9SRVEsCisJCQkJCXNpemVvZihHUFRfQVRUUlNUUl9SRVEpIC0gMSkgPT0gMCkgeworCQkJYml0ID0gR1BUX0FUVFJCSVRfUkVROworCQkJcCArPSBzaXplb2YoR1BUX0FUVFJTVFJfUkVRKSAtIDE7CisJCX0gZWxzZSBpZiAoc3RybmNtcChwLCBHUFRfQVRUUlNUUl9SRVFfVFlQTywKKwkJCQkJc2l6ZW9mKEdQVF9BVFRSU1RSX1JFUV9UWVBPKSAtIDEpID09IDApIHsKKwkJCWJpdCA9IEdQVF9BVFRSQklUX1JFUTsKKwkJCXAgKz0gc2l6ZW9mKEdQVF9BVFRSU1RSX1JFUV9UWVBPKSAtIDE7CisJCX0gZWxzZSBpZiAoc3RybmNtcChwLCBHUFRfQVRUUlNUUl9MRUdBQ1ksCisJCQkJCXNpemVvZihHUFRfQVRUUlNUUl9MRUdBQ1kpIC0gMSkgPT0gMCkgeworCQkJYml0ID0gR1BUX0FUVFJCSVRfTEVHQUNZOworCQkJcCArPSBzaXplb2YoR1BUX0FUVFJTVFJfTEVHQUNZKSAtIDE7CisJCX0gZWxzZSBpZiAoc3RybmNtcChwLCBHUFRfQVRUUlNUUl9OT0JMT0NLLAorCQkJCQlzaXplb2YoR1BUX0FUVFJTVFJfTk9CTE9DSykgLSAxKSA9PSAwKSB7CisJCQliaXQgPSBHUFRfQVRUUkJJVF9OT0JMT0NLOworCQkJcCArPSBzaXplb2YoR1BUX0FUVFJTVFJfTk9CTE9DSykgLSAxOworCisJCS8qIEdVSUQ6PGJpdD4gYXMgd2VsbCBhcyA8Yml0PiAqLworCQl9IGVsc2UgaWYgKGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICpwKQorCQkJICAgfHwgKHN0cm5jbXAocCwgIkdVSUQ6IiwgNSkgPT0gMAorCQkJICAgICAgICYmIGlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICoocCArIDUpKSkpIHsKKwkJCWNoYXIgKmVuZCA9IE5VTEw7CisKKwkJCWlmICgqcCA9PSAnRycpCisJCQkJcCArPSA1OworCisJCQllcnJubyA9IDA7CisJCQliaXQgPSBzdHJ0b2wocCwgJmVuZCwgMCk7CisJCQlpZiAoZXJybm8gfHwgIWVuZCB8fCBlbmQgPT0gc3RyCisJCQkgICAgfHwgYml0IDwgR1BUX0FUVFJCSVRfR1VJRF9GSVJTVAorCQkJICAgIHx8IGJpdCA+PSBHUFRfQVRUUkJJVF9HVUlEX0ZJUlNUICsgR1BUX0FUVFJCSVRfR1VJRF9DT1VOVCkKKwkJCQliaXQgPSAtMTsKKwkJCWVsc2UKKwkJCQlwID0gZW5kOworCQl9CisKKwkJaWYgKGJpdCA8IDApIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIpLCBwKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJaWYgKCpwICYmICpwICE9ICcsJyAmJiAhaXNibGFuaygqcCkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciKSwgc3RyKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJc2V0Yml0KGJpdHMsIGJpdCk7CisKKwkJd2hpbGUgKGlzYmxhbmsoKnApKSBwKys7CisJCWlmICgqcCA9PSAnLCcpCisJCQlwKys7CisJfQorCisJZS0+YXR0cnMgPSBhdHRyczsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBncHRfZ2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgbiwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfZW50cnkgKmU7CisJY2hhciB1X3N0cltVVUlEX1NUUl9MRU5dOworCWludCByYyA9IDA7CisJc3RydWN0IGdwdF9ndWlkIGd1aWQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAobiA+PSBncHRfZ2V0X25lbnRyaWVzKGdwdCkpCisJCXJldHVybiAtRUlOVkFMOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCWUgPSBncHRfZ2V0X2VudHJ5KGdwdCwgbik7CisKKwlwYS0+dXNlZCA9IGdwdF9lbnRyeV9pc191c2VkKGUpIHx8IGdwdF9wYXJ0aXRpb25fc3RhcnQoZSk7CisJaWYgKCFwYS0+dXNlZCkKKwkJcmV0dXJuIDA7CisKKwlwYS0+c3RhcnQgPSBncHRfcGFydGl0aW9uX3N0YXJ0KGUpOworCXBhLT5zaXplID0gZ3B0X3BhcnRpdGlvbl9zaXplKGUpOworCXBhLT50eXBlID0gZ3B0X3BhcnRpdGlvbl9wYXJ0dHlwZShjeHQsIGUpOworCisJZ3VpZCA9IGUtPnBhcnRpdGlvbl9ndWlkOworCWlmIChndWlkX3RvX3N0cmluZygmZ3VpZCwgdV9zdHIpKSB7CisJCXBhLT51dWlkID0gc3RyZHVwKHVfc3RyKTsKKwkJaWYgKCFwYS0+dXVpZCkgeworCQkJcmMgPSAtZXJybm87CisJCQlnb3RvIGRvbmU7CisJCX0KKwl9IGVsc2UKKwkJcGEtPnV1aWQgPSBOVUxMOworCisJcmMgPSBncHRfZW50cnlfYXR0cnNfdG9fc3RyaW5nKGUsICZwYS0+YXR0cnMpOworCWlmIChyYykKKwkJZ290byBkb25lOworCisJcGEtPm5hbWUgPSBlbmNvZGVfdG9fdXRmOCgodW5zaWduZWQgY2hhciAqKWUtPm5hbWUsIHNpemVvZihlLT5uYW1lKSk7CisJcmV0dXJuIDA7Citkb25lOgorCWZkaXNrX3Jlc2V0X3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHJjOworfQorCisKK3N0YXRpYyBpbnQgZ3B0X3NldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4sCisJCQkgICAgIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICplOworCWludCByYyA9IDA7CisJdWludDY0X3Qgc3RhcnQsIGVuZDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWlmIChuID49IGdwdF9nZXRfbmVudHJpZXMoZ3B0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlGRElTS19JTklUX1VOREVGKHN0YXJ0KTsKKwlGRElTS19JTklUX1VOREVGKGVuZCk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisJZSA9IGdwdF9nZXRfZW50cnkoZ3B0LCBuKTsKKworCWlmIChwYS0+dXVpZCkgeworCQljaGFyIG5ld191W1VVSURfU1RSX0xFTl0sIG9sZF91W1VVSURfU1RSX0xFTl07CisJCXN0cnVjdCBncHRfZ3VpZCBndWlkOworCisJCWd1aWQgPSBlLT5wYXJ0aXRpb25fZ3VpZDsKKwkJZ3VpZF90b19zdHJpbmcoJmd1aWQsIG9sZF91KTsKKwkJcmMgPSBncHRfZW50cnlfc2V0X3V1aWQoZSwgcGEtPnV1aWQpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWd1aWQgPSBlLT5wYXJ0aXRpb25fZ3VpZDsKKwkJZ3VpZF90b19zdHJpbmcoJmd1aWQsIG5ld191KTsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iKSwKKwkJCW9sZF91LCBuZXdfdSk7CisJfQorCisJaWYgKHBhLT5uYW1lKSB7CisJCWludCBsZW47CisJCWNoYXIgKm9sZCA9IGVuY29kZV90b191dGY4KCh1bnNpZ25lZCBjaGFyICopZS0+bmFtZSwgc2l6ZW9mKGUtPm5hbWUpKTsKKwkJbGVuID0gZ3B0X2VudHJ5X3NldF9uYW1lKGUsIHBhLT5uYW1lKTsKKwkJaWYgKGxlbiA8IDApCisJCQlmZGlza193YXJuKGN4dCwgXygiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iKSk7CisJCWVsc2UKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIiksCisJCQkJb2xkLCBsZW4sIHBhLT5uYW1lKTsKKwkJZnJlZShvbGQpOworCX0KKworCWlmIChwYS0+dHlwZSAmJiBwYS0+dHlwZS0+dHlwZXN0cikgeworCQlzdHJ1Y3QgZ3B0X2d1aWQgdHlwZWlkOworCisJCXJjID0gc3RyaW5nX3RvX2d1aWQocGEtPnR5cGUtPnR5cGVzdHIsICZ0eXBlaWQpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWdwdF9lbnRyeV9zZXRfdHlwZShlLCAmdHlwZWlkKTsKKwl9CisJaWYgKHBhLT5hdHRycykgeworCQlyYyA9IGdwdF9lbnRyeV9hdHRyc19mcm9tX3N0cmluZyhjeHQsIGUsIHBhLT5hdHRycyk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwl9CisKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpCisJCXN0YXJ0ID0gcGEtPnN0YXJ0OworCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3NpemUocGEpIHx8IGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKSB7CisJCXVpbnQ2NF90IHhzdGFydCA9IGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpID8gcGEtPnN0YXJ0IDogZ3B0X3BhcnRpdGlvbl9zdGFydChlKTsKKwkJdWludDY0X3QgeHNpemUgID0gZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSAgPyBwYS0+c2l6ZSAgOiBncHRfcGFydGl0aW9uX3NpemUoZSk7CisJCWVuZCA9IHhzdGFydCArIHhzaXplIC0gMVVMTDsKKwl9CisKKwlpZiAoIUZESVNLX0lTX1VOREVGKHN0YXJ0KSkgeworCQlpZiAoc3RhcnQgPCBsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPmZpcnN0X3VzYWJsZV9sYmEpKSB7CisJCQlmZGlza193YXJueChjeHQsIF8oIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIikpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwkJZS0+bGJhX3N0YXJ0ID0gY3B1X3RvX2xlNjQoc3RhcnQpOworCX0KKwlpZiAoIUZESVNLX0lTX1VOREVGKGVuZCkpIHsKKwkJaWYgKGVuZCA+IGxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+bGFzdF91c2FibGVfbGJhKSkgeworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIikpOworCQkJcmV0dXJuIC1FSU5WQUw7CisJCX0KKwkJZS0+bGJhX2VuZCA9IGNwdV90b19sZTY0KGVuZCk7CisJfQorCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gcmM7Cit9CisKKworCisvKgorICogV3JpdGUgcGFydGl0aW9ucy4KKyAqIFJldHVybnMgMCBvbiBzdWNjZXNzLCBvciBjb3JyZXNwb25kaW5nIGVycm9yIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludCBncHRfd3JpdGVfcGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCXN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVuc2lnbmVkIGNoYXIgKmVudHMpCit7CisJb2ZmX3Qgb2Zmc2V0ID0gKG9mZl90KSBsZTY0X3RvX2NwdShoZWFkZXItPnBhcnRpdGlvbl9lbnRyeV9sYmEpICogY3h0LT5zZWN0b3Jfc2l6ZTsKKwlzaXplX3QgdG93cml0ZSA9IDA7CisJc3NpemVfdCBzc3o7CisJaW50IHJjOworCisJcmMgPSBncHRfc2l6ZW9mX2VudHMoaGVhZGVyLCAmdG93cml0ZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlpZiAob2Zmc2V0ICE9IGxzZWVrKGN4dC0+ZGV2X2ZkLCBvZmZzZXQsIFNFRUtfU0VUKSkKKwkJcmV0dXJuIC1lcnJubzsKKworCXNzeiA9IHdyaXRlKGN4dC0+ZGV2X2ZkLCBlbnRzLCB0b3dyaXRlKTsKKwlpZiAoc3N6IDwgMCB8fCAoc3NpemVfdCkgdG93cml0ZSAhPSBzc3opCisJCXJldHVybiAtZXJybm87CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFdyaXRlIGEgR1BUIGhlYWRlciB0byBhIHNwZWNpZmllZCBMQkEuCisgKgorICogV2UgcmVhZCBhbGwgc2VjdG9yLCBzbyB3ZSBoYXZlIHRvIHdyaXRlIGFsbCBzZWN0b3IgYmFjaworICogdG8gdGhlIGRldmljZSAtLSBuZXZlciBldmVyIHJlbHkgb24gc2l6ZW9mKHN0cnVjdCBncHRfaGVhZGVyKSEKKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgY29ycmVzcG9uZGluZyBlcnJvciBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X3dyaXRlX2hlYWRlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgIHN0cnVjdCBncHRfaGVhZGVyICpoZWFkZXIsIHVpbnQ2NF90IGxiYSkKK3sKKwlvZmZfdCBvZmZzZXQgPSBsYmEgKiBjeHQtPnNlY3Rvcl9zaXplOworCisJaWYgKG9mZnNldCAhPSBsc2VlayhjeHQtPmRldl9mZCwgb2Zmc2V0LCBTRUVLX1NFVCkpCisJCWdvdG8gZmFpbDsKKwlpZiAoY3h0LT5zZWN0b3Jfc2l6ZSA9PQorCSAgICAoc2l6ZV90KSB3cml0ZShjeHQtPmRldl9mZCwgaGVhZGVyLCBjeHQtPnNlY3Rvcl9zaXplKSkKKwkJcmV0dXJuIDA7CitmYWlsOgorCXJldHVybiAtZXJybm87Cit9CisKKy8qCisgKiBXcml0ZSB0aGUgcHJvdGVjdGl2ZSBNQlIuCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgb3IgY29ycmVzcG9uZGluZyBlcnJvciBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X3dyaXRlX3BtYnIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlvZmZfdCBvZmZzZXQ7CisJc3RydWN0IGdwdF9sZWdhY3lfbWJyICpwbWJyOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+Zmlyc3RzZWN0b3IpOworCisJcG1iciA9IChzdHJ1Y3QgZ3B0X2xlZ2FjeV9tYnIgKikgY3h0LT5maXJzdHNlY3RvcjsKKworCS8qIHplcm8gb3V0IHRoZSBsZWdhY3kgcGFydGl0aW9ucyAqLworCW1lbXNldChwbWJyLT5wYXJ0aXRpb25fcmVjb3JkLCAwLCBzaXplb2YocG1ici0+cGFydGl0aW9uX3JlY29yZCkpOworCisJcG1ici0+c2lnbmF0dXJlID0gY3B1X3RvX2xlMTYoTVNET1NfTUJSX1NJR05BVFVSRSk7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5vc190eXBlICAgICAgPSBFRklfUE1CUl9PU1RZUEU7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5zdGFydF9zZWN0b3IgPSAyOworCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uZW5kX2hlYWQgICAgID0gMHhGRjsKKwlwbWJyLT5wYXJ0aXRpb25fcmVjb3JkWzBdLmVuZF9zZWN0b3IgICA9IDB4RkY7CisJcG1ici0+cGFydGl0aW9uX3JlY29yZFswXS5lbmRfdHJhY2sgICAgPSAweEZGOworCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uc3RhcnRpbmdfbGJhID0gY3B1X3RvX2xlMzIoMSk7CisKKwkvKgorCSAqIFNldCBzaXplX2luX2xiYSB0byB0aGUgc2l6ZSBvZiB0aGUgZGlzayBtaW51cyBvbmUuIElmIHRoZSBzaXplIG9mIHRoZSBkaXNrCisJICogaXMgdG9vIGxhcmdlIHRvIGJlIHJlcHJlc2VudGVkIGJ5IGEgMzJiaXQgTEJBICgyVGIpLCBzZXQgaXQgdG8gMHhGRkZGRkZGRi4KKwkgKi8KKwlpZiAoY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCA+IDB4RkZGRkZGRkZVTEwpCisJCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uc2l6ZV9pbl9sYmEgPSBjcHVfdG9fbGUzMigweEZGRkZGRkZGKTsKKwllbHNlCisJCXBtYnItPnBhcnRpdGlvbl9yZWNvcmRbMF0uc2l6ZV9pbl9sYmEgPQorCQkJY3B1X3RvX2xlMzIoKHVpbnQzMl90KSAoY3h0LT50b3RhbF9zZWN0b3JzIC0gMVVMTCkpOworCisJb2Zmc2V0ID0gR1BUX1BNQlJfTEJBICogY3h0LT5zZWN0b3Jfc2l6ZTsKKwlpZiAob2Zmc2V0ICE9IGxzZWVrKGN4dC0+ZGV2X2ZkLCBvZmZzZXQsIFNFRUtfU0VUKSkKKwkJZ290byBmYWlsOworCisJLyogcE1CUiBjb3ZlcnMgdGhlIGZpcnN0IHNlY3RvciAoTEJBKSBvZiB0aGUgZGlzayAqLworCWlmICh3cml0ZV9hbGwoY3h0LT5kZXZfZmQsIHBtYnIsIGN4dC0+c2VjdG9yX3NpemUpKQorCQlnb3RvIGZhaWw7CisJcmV0dXJuIDA7CitmYWlsOgorCXJldHVybiAtZXJybm87Cit9CisKKy8qCisgKiBXcml0ZXMgaW4tbWVtb3J5IEdQVCBhbmQgcE1CUiBkYXRhIHRvIGRpc2suCisgKiBSZXR1cm5zIDAgaWYgc3VjY2Vzc2Z1bCB3cml0ZSwgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKiBBbnkgaW5kaWNhdGlvbiBvZiBlcnJvciB3aWxsIGFib3J0IHRoZSBvcGVyYXRpb24uCisgKi8KK3N0YXRpYyBpbnQgZ3B0X3dyaXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKwlpbnQgbWJyX3R5cGU7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisJbWJyX3R5cGUgPSB2YWxpZF9wbWJyKGN4dCk7CisKKwkvKiBjaGVjayB0aGF0IGRpc2sgaXMgYmlnIGVub3VnaCB0byBoYW5kbGUgdGhlIGJhY2t1cCBoZWFkZXIgKi8KKwlpZiAobGU2NF90b19jcHUoZ3B0LT5waGVhZGVyLT5hbHRlcm5hdGl2ZV9sYmEpID4gY3h0LT50b3RhbF9zZWN0b3JzKQorCQlnb3RvIGVycjA7CisKKwkvKiBjaGVjayB0aGF0IHRoZSBiYWNrdXAgaGVhZGVyIGlzIHByb3Blcmx5IHBsYWNlZCAqLworCWlmIChsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPmFsdGVybmF0aXZlX2xiYSkgPCBjeHQtPnRvdGFsX3NlY3RvcnMgLSAxVUxMKQorCQlnb3RvIGVycjA7CisKKwlpZiAoY2hlY2tfb3ZlcmxhcF9wYXJ0aXRpb25zKGdwdCkpCisJCWdvdG8gZXJyMDsKKworCS8qIHJlY29tcHV0ZSBDUkNzIGZvciBib3RoIGhlYWRlcnMgKi8KKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPnBoZWFkZXIsIGdwdC0+ZW50cyk7CisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5iaGVhZGVyLCBncHQtPmVudHMpOworCisJLyoKKwkgKiBVRUZJIHJlcXVpcmVzIHdyaXRpbmcgaW4gdGhpcyBzcGVjaWZpYyBvcmRlcjoKKwkgKiAgIDEpIGJhY2t1cCBwYXJ0aXRpb24gdGFibGVzCisJICogICAyKSBiYWNrdXAgR1BUIGhlYWRlcgorCSAqICAgMykgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGVzCisJICogICA0KSBwcmltYXJ5IEdQVCBoZWFkZXIKKwkgKiAgIDUpIHByb3RlY3RpdmUgTUJSCisJICoKKwkgKiBJZiBhbnkgd3JpdGUgZmFpbHMsIHdlIGFib3J0IHRoZSByZXN0LgorCSAqLworCWlmIChncHRfd3JpdGVfcGFydGl0aW9ucyhjeHQsIGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKSAhPSAwKQorCQlnb3RvIGVycjE7CisJaWYgKGdwdF93cml0ZV9oZWFkZXIoY3h0LCBncHQtPmJoZWFkZXIsCisJCQkgICAgIGxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+YWx0ZXJuYXRpdmVfbGJhKSkgIT0gMCkKKwkJZ290byBlcnIxOworCWlmIChncHRfd3JpdGVfcGFydGl0aW9ucyhjeHQsIGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKSAhPSAwKQorCQlnb3RvIGVycjE7CisJaWYgKGdwdF93cml0ZV9oZWFkZXIoY3h0LCBncHQtPnBoZWFkZXIsIEdQVF9QUklNQVJZX1BBUlRJVElPTl9UQUJMRV9MQkEpICE9IDApCisJCWdvdG8gZXJyMTsKKworCWlmIChtYnJfdHlwZSA9PSBHUFRfTUJSX0hZQlJJRCkKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gIgorCQkJCSAgICJZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIikpOworCWVsc2UgaWYgKGdwdF93cml0ZV9wbWJyKGN4dCkgIT0gMCkKKwkJZ290byBlcnIxOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiR1BUIHdyaXRlIHN1Y2Nlc3MiKSk7CisJcmV0dXJuIDA7CitlcnIwOgorCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCB3cml0ZSBmYWlsZWQ6IGluY29ycmVjdCBpbnB1dCIpKTsKKwllcnJubyA9IEVJTlZBTDsKKwlyZXR1cm4gLUVJTlZBTDsKK2VycjE6CisJREJHKExBQkVMLCB1bF9kZWJ1ZygiR1BUIHdyaXRlIGZhaWxlZDogJW0iKSk7CisJcmV0dXJuIC1lcnJubzsKK30KKworLyoKKyAqIFZlcmlmeSBkYXRhIGludGVncml0eSBhbmQgcmVwb3J0IGFueSBmb3VuZCBwcm9ibGVtcyBmb3I6CisgKiAgIC0gcHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciB2YWxpZGF0aW9ucworICogICAtIHBhcnRpdGlvbiB2YWxpZGF0aW9ucworICovCitzdGF0aWMgaW50IGdwdF92ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IG5lcnJvciA9IDA7CisJdW5zaWduZWQgaW50IHB0bnVtOworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKwlpZiAoIWdwdCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIWdwdC0+YmhlYWRlcikgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIpKTsKKwl9CisKKwlpZiAoIWdwdF9jaGVja19oZWFkZXJfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKSkgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iKSk7CisJfQorCWlmIChncHQtPmJoZWFkZXIgJiYgIWdwdF9jaGVja19oZWFkZXJfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKSkgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIpKTsKKwl9CisKKwlpZiAoIWdwdF9jaGVja19lbnRyeWFycl9jcmMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIpKTsKKwl9CisKKwlpZiAoIWdwdF9jaGVja19sYmFfc2FuaXR5KGN4dCwgZ3B0LT5waGVhZGVyKSkgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIpKTsKKwl9CisJaWYgKGdwdC0+YmhlYWRlciAmJiAhZ3B0X2NoZWNrX2xiYV9zYW5pdHkoY3h0LCBncHQtPmJoZWFkZXIpKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iKSk7CisJfQorCisJaWYgKGxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+bXlfbGJhKSAhPSBHUFRfUFJJTUFSWV9QQVJUSVRJT05fVEFCTEVfTEJBKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iKSk7CisJfQorCWlmIChncHQtPmJoZWFkZXIgJiYgbGU2NF90b19jcHUoZ3B0LT5iaGVhZGVyLT5teV9sYmEpICE9IGxhc3RfbGJhKGN4dCkpIHsKKwkJbmVycm9yKys7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIikpOworCisJfQorCWlmIChsZTY0X3RvX2NwdShncHQtPnBoZWFkZXItPmFsdGVybmF0aXZlX2xiYSkgPj0gY3h0LT50b3RhbF9zZWN0b3JzKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIikpOworCX0KKworCS8qCisJICogaWYgdGhlIEdQVCBpcyB0aGUgcHJpbWFyeSB0YWJsZSwgY2hlY2sgdGhlIGFsdGVybmF0ZUxCQQorCSAqIHRvIHNlZSBpZiBpdCBpcyBhIHZhbGlkIEdQVAorCSAqLworCWlmIChncHQtPmJoZWFkZXIgJiYgKGxlNjRfdG9fY3B1KGdwdC0+cGhlYWRlci0+bXlfbGJhKSAhPQorCQkJICAgICBsZTY0X3RvX2NwdShncHQtPmJoZWFkZXItPmFsdGVybmF0aXZlX2xiYSkpKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIikpOworCX0KKworCXB0bnVtID0gY2hlY2tfb3ZlcmxhcF9wYXJ0aXRpb25zKGdwdCk7CisJaWYgKHB0bnVtKSB7CisJCW5lcnJvcisrOworCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iKSwKKwkJCQlwdG51bSwgcHRudW0rMSk7CisJfQorCisJcHRudW0gPSBjaGVja190b29fYmlnX3BhcnRpdGlvbnMoZ3B0LCBjeHQtPnRvdGFsX3NlY3RvcnMpOworCWlmIChwdG51bSkgeworCQluZXJyb3IrKzsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIiksCisJCQkJcHRudW0pOworCX0KKworCXB0bnVtID0gY2hlY2tfc3RhcnRfYWZ0ZXJfZW5kX3BhcnRpdGlvbnMoZ3B0KTsKKwlpZiAocHRudW0pIHsKKwkJbmVycm9yKys7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iKSwKKwkJCQlwdG51bSk7CisJfQorCisJaWYgKCFuZXJyb3IpIHsgLyogeWF5IDotKSAqLworCQl1aW50MzJfdCBuc2VnbWVudHMgPSAwOworCQl1aW50NjRfdCBmcmVlX3NlY3RvcnMgPSAwLCBsYXJnZXN0X3NlZ21lbnQgPSAwOworCQljaGFyICpzdHJzeiA9IE5VTEw7CisKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIk5vIGVycm9ycyBkZXRlY3RlZC4iKSk7CisJCWZkaXNrX2luZm8oY3h0LCBfKCJIZWFkZXIgdmVyc2lvbjogJXMiKSwgZ3B0X2dldF9oZWFkZXJfcmV2c3RyKGdwdC0+cGhlYWRlcikpOworCQlmZGlza19pbmZvKGN4dCwgXygiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iKSwKKwkJICAgICAgIHBhcnRpdGlvbnNfaW5fdXNlKGdwdCksCisJCSAgICAgICBncHRfZ2V0X25lbnRyaWVzKGdwdCkpOworCisJCWZyZWVfc2VjdG9ycyA9IGdldF9mcmVlX3NlY3RvcnMoY3h0LCBncHQsICZuc2VnbWVudHMsICZsYXJnZXN0X3NlZ21lbnQpOworCQlpZiAobGFyZ2VzdF9zZWdtZW50KQorCQkJc3Ryc3ogPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF9TUEFDRSB8IFNJWkVfU1VGRklYXzNMRVRURVIsCisJCQkJCWxhcmdlc3Rfc2VnbWVudCAqIGN4dC0+c2VjdG9yX3NpemUpOworCisJCWZkaXNrX2luZm8oY3h0LAorCQkJICAgUF8oIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iLAorCQkJICAgICAgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgIgorCQkJICAgICAgIih0aGUgbGFyZ2VzdCBpcyAlcykuIiwgbnNlZ21lbnRzKSwKKwkJCSAgIGZyZWVfc2VjdG9ycywgbnNlZ21lbnRzLCBzdHJzeik7CisJCWZyZWUoc3Ryc3opOworCisJfSBlbHNlCisJCWZkaXNrX3dhcm54KGN4dCwKKwkJCVBfKCIlZCBlcnJvciBkZXRlY3RlZC4iLCAiJWQgZXJyb3JzIGRldGVjdGVkLiIsIG5lcnJvciksCisJCQluZXJyb3IpOworCisJcmV0dXJuIDA7Cit9CisKKy8qIERlbGV0ZSBhIHNpbmdsZSBHUFQgcGFydGl0aW9uLCBzcGVjaWZpZWQgYnkgcGFydG51bS4gKi8KK3N0YXRpYyBpbnQgZ3B0X2RlbGV0ZV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQlzaXplX3QgcGFydG51bSkKK3sKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAocGFydG51bSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghZ3B0X2VudHJ5X2lzX3VzZWQoZ3B0X2dldF9lbnRyeShncHQsIHBhcnRudW0pKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBoYXN0YSBsYSB2aXN0YSwgYmFieSEgKi8KKwlncHRfemVyb2l6ZV9lbnRyeShncHQsIHBhcnRudW0pOworCisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpOworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyLS07CisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisKKwlyZXR1cm4gMDsKK30KKworCisvKiBQZXJmb3JtcyBsb2dpY2FsIGNoZWNrcyB0byBhZGQgYSBuZXcgcGFydGl0aW9uIGVudHJ5ICovCitzdGF0aWMgaW50IGdwdF9hZGRfcGFydGl0aW9uKAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJc2l6ZV90ICpwYXJ0bm8pCit7CisJdWludDY0X3QgdXNlcl9mLCB1c2VyX2w7CS8qIHVzZXIgaW5wdXQgcmFuZ2VzIGZvciBmaXJzdCBhbmQgbGFzdCBzZWN0b3JzICovCisJdWludDY0X3QgZGlza19mLCBkaXNrX2w7CS8qIGZpcnN0IGFuZCBsYXN0IGF2YWlsYWJsZSBzZWN0b3IgcmFuZ2VzIG9uIGRldmljZSovCisJdWludDY0X3QgZGZsdF9mLCBkZmx0X2w7CS8qIGxhcmdlc3Qgc2VnbWVudCAoZGVmYXVsdCkgKi8KKwlzdHJ1Y3QgZ3B0X2d1aWQgdHlwZWlkOworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKwlzdHJ1Y3QgZ3B0X2hlYWRlciAqcGhlYWRlcjsKKwlzdHJ1Y3QgZ3B0X2VudHJ5ICplOworCXN0cnVjdCBmZGlza19hc2sgKmFzayA9IE5VTEw7CisJc2l6ZV90IHBhcnRudW07CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIEdQVCkpOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCisJYXNzZXJ0KGdwdCk7CisJYXNzZXJ0KGdwdC0+cGhlYWRlcik7CisJYXNzZXJ0KGdwdC0+ZW50cyk7CisKKwlwaGVhZGVyID0gZ3B0LT5waGVhZGVyOworCisJcmMgPSBmZGlza19wYXJ0aXRpb25fbmV4dF9wYXJ0bm8ocGEsIGN4dCwgJnBhcnRudW0pOworCWlmIChyYykgeworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJHUFQgZmFpbGVkIHRvIGdldCBuZXh0IHBhcnRubyIpKTsKKwkJcmV0dXJuIHJjOworCX0KKworCWFzc2VydChwYXJ0bnVtIDwgZ3B0X2dldF9uZW50cmllcyhncHQpKTsKKworCWlmIChncHRfZW50cnlfaXNfdXNlZChncHRfZ2V0X2VudHJ5KGdwdCwgcGFydG51bSkpKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICAiCisJCQkgICAgICAgICAgICJEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iKSwgcGFydG51bSArMSk7CisJCXJldHVybiAtRVJBTkdFOworCX0KKwlpZiAoZ3B0X2dldF9uZW50cmllcyhncHQpID09IHBhcnRpdGlvbnNfaW5fdXNlKGdwdCkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIikpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisJaWYgKCFnZXRfZnJlZV9zZWN0b3JzKGN4dCwgZ3B0LCBOVUxMLCBOVUxMKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIikpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisKKwlyYyA9IHN0cmluZ190b19ndWlkKHBhICYmIHBhLT50eXBlICYmIHBhLT50eXBlLT50eXBlc3RyID8KKwkJCQlwYS0+dHlwZS0+dHlwZXN0cjoKKwkJCQlHUFRfREVGQVVMVF9FTlRSWV9UWVBFLCAmdHlwZWlkKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWRpc2tfZiA9IGZpbmRfZmlyc3RfYXZhaWxhYmxlKGdwdCwgbGU2NF90b19jcHUocGhlYWRlci0+Zmlyc3RfdXNhYmxlX2xiYSkpOworCWUgPSBncHRfZ2V0X2VudHJ5KGdwdCwgMCk7CisKKwkvKiBpZiBmaXJzdCBzZWN0b3Igbm8gZXhwbGljaXRseSBkZWZpbmVkIHRoZW4gaWdub3JlIHNtYWxsIGdhcHMgYmVmb3JlCisJICogdGhlIGZpcnN0IHBhcnRpdGlvbiAqLworCWlmICgoIXBhIHx8ICFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkgICAgJiYgZ3B0X2VudHJ5X2lzX3VzZWQoZSkKKwkgICAgJiYgZGlza19mIDwgZ3B0X3BhcnRpdGlvbl9zdGFydChlKSkgeworCisJCWRvIHsKKwkJCXVpbnQ2NF90IHg7CisJCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJ0ZXN0aW5nIGZpcnN0IHNlY3RvciAlIlBSSXU2NCIiLCBkaXNrX2YpKTsKKwkJCWRpc2tfZiA9IGZpbmRfZmlyc3RfYXZhaWxhYmxlKGdwdCwgZGlza19mKTsKKwkJCWlmICghZGlza19mKQorCQkJCWJyZWFrOworCQkJeCA9IGZpbmRfbGFzdF9mcmVlKGdwdCwgZGlza19mKTsKKwkJCWlmICh4IC0gZGlza19mID49IGN4dC0+Z3JhaW4gLyBjeHQtPnNlY3Rvcl9zaXplKQorCQkJCWJyZWFrOworCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygiZmlyc3Qgc2VjdG9yICUiUFJJdTY0IiBhZGRyZXNzZXMgdG8gc21hbGwgc3BhY2UsIGNvbnRpbnVlLi4uIiwgZGlza19mKSk7CisJCQlkaXNrX2YgPSB4ICsgMVVMTDsKKwkJfSB3aGlsZSgxKTsKKworCQlpZiAoZGlza19mID09IDApCisJCQlkaXNrX2YgPSBmaW5kX2ZpcnN0X2F2YWlsYWJsZShncHQsIGxlNjRfdG9fY3B1KHBoZWFkZXItPmZpcnN0X3VzYWJsZV9sYmEpKTsKKwl9CisKKwllID0gTlVMTDsKKwlkaXNrX2wgPSBmaW5kX2xhc3RfZnJlZV9zZWN0b3IoZ3B0KTsKKworCS8qIHRoZSBkZWZhdWx0IGlzIHRoZSBsYXJnZXN0IGZyZWUgc3BhY2UgKi8KKwlkZmx0X2YgPSBmaW5kX2ZpcnN0X2luX2xhcmdlc3QoZ3B0KTsKKwlkZmx0X2wgPSBmaW5kX2xhc3RfZnJlZShncHQsIGRmbHRfZik7CisKKwkvKiBhbGlnbiB0aGUgZGVmYXVsdCBpbiByYW5nZSA8ZGZsdF9mLGRmbHRfbD4qLworCWRmbHRfZiA9IGZkaXNrX2FsaWduX2xiYV9pbl9yYW5nZShjeHQsIGRmbHRfZiwgZGZsdF9mLCBkZmx0X2wpOworCisJLyogZmlyc3Qgc2VjdG9yICovCisJaWYgKHBhICYmIHBhLT5zdGFydF9mb2xsb3dfZGVmYXVsdCkgeworCQl1c2VyX2YgPSBkZmx0X2Y7CisKKwl9IGVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKSB7CisJCURCRyhMQUJFTCwgdWxfZGVidWcoImZpcnN0IHNlY3RvciBkZWZpbmVkOiAlanUiLCAgKHVpbnRtYXhfdClwYS0+c3RhcnQpKTsKKwkJaWYgKHBhLT5zdGFydCAhPSBmaW5kX2ZpcnN0X2F2YWlsYWJsZShncHQsIHBhLT5zdGFydCkpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIiksICAodWludG1heF90KXBhLT5zdGFydCk7CisJCQlyZXR1cm4gLUVSQU5HRTsKKwkJfQorCQl1c2VyX2YgPSBwYS0+c3RhcnQ7CisJfSBlbHNlIHsKKwkJLyogIGFzayBieSBkaWFsb2cgKi8KKwkJZm9yICg7OykgeworCQkJaWYgKCFhc2spCisJCQkJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCQkJZWxzZQorCQkJCWZkaXNrX3Jlc2V0X2Fzayhhc2spOworCQkJaWYgKCFhc2spCisJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJCS8qIEZpcnN0IHNlY3RvciAqLworCQkJZmRpc2tfYXNrX3NldF9xdWVyeShhc2ssIF8oIkZpcnN0IHNlY3RvciIpKTsKKwkJCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfTlVNQkVSKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssICAgICBkaXNrX2YpOwkvKiBtaW5pbWFsICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZGZsdF9mKTsJLyogZGVmYXVsdCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGRpc2tfbCk7CS8qIG1heGltYWwgKi8KKworCQkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCQkJaWYgKHJjKQorCQkJCWdvdG8gZG9uZTsKKworCQkJdXNlcl9mID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0KGFzayk7CisJCQlpZiAodXNlcl9mICE9IGZpbmRfZmlyc3RfYXZhaWxhYmxlKGdwdCwgdXNlcl9mKSkgeworCQkJCWZkaXNrX3dhcm54KGN4dCwgXygiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIiksIHVzZXJfZik7CisJCQkJY29udGludWU7CisJCQl9CisJCQlicmVhazsKKwkJfQorCX0KKworCisJLyogTGFzdCBzZWN0b3IgKi8KKwlkZmx0X2wgPSBmaW5kX2xhc3RfZnJlZShncHQsIHVzZXJfZik7CisKKwlpZiAocGEgJiYgcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCkgeworCQl1c2VyX2wgPSBkZmx0X2w7CisKKwl9IGVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpIHsKKwkJdXNlcl9sID0gdXNlcl9mICsgcGEtPnNpemUgLSAxOworCQlEQkcoTEFCRUwsIHVsX2RlYnVnKCJzaXplIGRlZmluZWQ6ICVqdSwgZW5kOiAlIlBSSXU2NCIgKGxhc3QgcG9zc2libGU6ICUiUFJJdTY0IikiLAorCQkJCQkgKHVpbnRtYXhfdClwYS0+c2l6ZSwgdXNlcl9sLCBkZmx0X2wpKTsKKworCQlpZiAodXNlcl9sICE9IGRmbHRfbAorCQkgICAgJiYgIXBhLT5zaXplX2V4cGxpY2l0CisJCSAgICAmJiBhbGlnbm1lbnRfcmVxdWlyZWQoY3h0KQorCQkgICAgJiYgdXNlcl9sIC0gdXNlcl9mID4gKGN4dC0+Z3JhaW4gLyBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KSkpIHsKKworCQkJdXNlcl9sID0gZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlKGN4dCwgdXNlcl9sLCB1c2VyX2YsIGRmbHRfbCk7CisJCQlpZiAodXNlcl9sID4gdXNlcl9mKQorCQkJCXVzZXJfbCAtPSAxVUxMOworCQl9CisJfSBlbHNlIHsKKwkJZm9yICg7OykgeworCQkJaWYgKCFhc2spCisJCQkJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCQkJZWxzZQorCQkJCWZkaXNrX3Jlc2V0X2Fzayhhc2spOworCQkJaWYgKCFhc2spCisJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJCWZkaXNrX2Fza19zZXRfcXVlcnkoYXNrLCBfKCJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIpKTsKKwkJCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfT0ZGU0VUKTsKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssICAgICB1c2VyX2YpOwkvKiBtaW5pbWFsICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZGZsdF9sKTsJLyogZGVmYXVsdCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGRmbHRfbCk7CS8qIG1heGltYWwgKi8KKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2Jhc2UoYXNrLCAgICB1c2VyX2YpOwkvKiBiYXNlIGZvciByZWxhdGl2ZSBpbnB1dCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfdW5pdChhc2ssICAgIGN4dC0+c2VjdG9yX3NpemUpOworCisJCQlyYyA9IGZkaXNrX2RvX2FzayhjeHQsIGFzayk7CisJCQlpZiAocmMpCisJCQkJZ290byBkb25lOworCisJCQl1c2VyX2wgPSBmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQoYXNrKTsKKwkJCWlmIChmZGlza19hc2tfbnVtYmVyX2lzX3JlbGF0aXZlKGFzaykpIHsKKwkJCQl1c2VyX2wgPSBmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2UoY3h0LCB1c2VyX2wsIHVzZXJfZiwgZGZsdF9sKTsKKwkJCQlpZiAodXNlcl9sID4gdXNlcl9mKQorCQkJCQl1c2VyX2wgLT0gMVVMTDsKKwkJCX0KKworCQkJaWYgKHVzZXJfbCA+PSB1c2VyX2YgJiYgdXNlcl9sIDw9IGRpc2tfbCkKKwkJCQlicmVhazsKKworCQkJZmRpc2tfd2FybngoY3h0LCBfKCJWYWx1ZSBvdXQgb2YgcmFuZ2UuIikpOworCQl9CisJfQorCisKKwlpZiAodXNlcl9mID4gdXNlcl9sIHx8IHBhcnRudW0gPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkgeworCQlmZGlza193YXJueChjeHQsIF8oIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIpLCBwYXJ0bnVtICsgMSk7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBkb25lOworCX0KKworCS8qIEJlIHBhcmFub2lkIGFuZCBjaGVjayBhZ2FpbnN0IG9uLWRpc2sgc2V0dGluZyByYXRoZXIgdGhhbiBhZ2FpbnN0IGxpYmZkaXNrIGN4dCAqLworCWlmICh1c2VyX2wgPiBsZTY0X3RvX2NwdShwaGVhZGVyLT5sYXN0X3VzYWJsZV9sYmEpKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iKSwKKwkJCQlsZTY0X3RvX2NwdShwaGVhZGVyLT5sYXN0X3VzYWJsZV9sYmEpLCB1c2VyX2wpOworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlpZiAodXNlcl9mIDwgbGU2NF90b19jcHUocGhlYWRlci0+Zmlyc3RfdXNhYmxlX2xiYSkpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iKSwKKwkJCQlsZTY0X3RvX2NwdShwaGVhZGVyLT5maXJzdF91c2FibGVfbGJhKSwgdXNlcl9mKTsKKwkJcmMgPSAtRUlOVkFMOworCQlnb3RvIGRvbmU7CisJfQorCisJYXNzZXJ0KCFGRElTS19JU19VTkRFRih1c2VyX2wpKTsKKwlhc3NlcnQoIUZESVNLX0lTX1VOREVGKHVzZXJfZikpOworCWFzc2VydChwYXJ0bnVtIDwgZ3B0X2dldF9uZW50cmllcyhncHQpKTsKKworCWUgPSBncHRfZ2V0X2VudHJ5KGdwdCwgcGFydG51bSk7CisJZS0+bGJhX2VuZCA9IGNwdV90b19sZTY0KHVzZXJfbCk7CisJZS0+bGJhX3N0YXJ0ID0gY3B1X3RvX2xlNjQodXNlcl9mKTsKKworCWdwdF9lbnRyeV9zZXRfdHlwZShlLCAmdHlwZWlkKTsKKworCWlmIChwYSAmJiBwYS0+dXVpZCkgeworCQkvKiBTb21ldGltZXMgaXQncyBuZWNlc3NhcnkgdG8gY3JlYXRlIGEgY29weSBvZiB0aGUgUFQgYW5kCisJCSAqIHJldXNlIGFscmVhZHkgZGVmaW5lZCBVVUlECisJCSAqLworCQlyYyA9IGdwdF9lbnRyeV9zZXRfdXVpZChlLCBwYS0+dXVpZCk7CisJCWlmIChyYykKKwkJCWdvdG8gZG9uZTsKKwl9IGVsc2UgeworCQkvKiBBbnkgdGltZSBhIG5ldyBwYXJ0aXRpb24gZW50cnkgaXMgY3JlYXRlZCBhIG5ldyBHVUlEIG11c3QgYmUKKwkJICogZ2VuZXJhdGVkIGZvciB0aGF0IHBhcnRpdGlvbiwgYW5kIGV2ZXJ5IHBhcnRpdGlvbiBpcyBndWFyYW50ZWVkCisJCSAqIHRvIGhhdmUgYSB1bmlxdWUgR1VJRC4KKwkJICovCisJCXN0cnVjdCBncHRfZ3VpZCBndWlkOworCisJCXV1aWRfZ2VuZXJhdGVfcmFuZG9tKCh1bnNpZ25lZCBjaGFyICopICZlLT5wYXJ0aXRpb25fZ3VpZCk7CisJCWd1aWQgPSBlLT5wYXJ0aXRpb25fZ3VpZDsKKwkJc3dhcF9lZmlfZ3VpZCgmZ3VpZCk7CisJfQorCisJaWYgKHBhICYmIHBhLT5uYW1lICYmICpwYS0+bmFtZSkKKwkJZ3B0X2VudHJ5X3NldF9uYW1lKGUsIHBhLT5uYW1lKTsKKwlpZiAocGEgJiYgcGEtPmF0dHJzKQorCQlncHRfZW50cnlfYXR0cnNfZnJvbV9zdHJpbmcoY3h0LCBlLCBwYS0+YXR0cnMpOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiR1BUIG5ldyBwYXJ0aXRpb246IHBhcnRubz0lenUsIHN0YXJ0PSUiUFJJdTY0IiwgZW5kPSUiUFJJdTY0Iiwgc2l6ZT0lIlBSSXU2NCIiLAorCQkJCXBhcnRudW0sCisJCQkJZ3B0X3BhcnRpdGlvbl9zdGFydChlKSwKKwkJCQlncHRfcGFydGl0aW9uX2VuZChlKSwKKwkJCQlncHRfcGFydGl0aW9uX3NpemUoZSkpKTsKKworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisKKwkvKiByZXBvcnQgcmVzdWx0ICovCisJeworCQlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQ7CisKKwkJY3h0LT5sYWJlbC0+bnBhcnRzX2N1cisrOworCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKworCQl0ID0gZ3B0X3BhcnRpdGlvbl9wYXJ0dHlwZShjeHQsIGUpOworCQlmZGlza19pbmZvX25ld19wYXJ0aXRpb24oY3h0LCBwYXJ0bnVtICsgMSwgdXNlcl9mLCB1c2VyX2wsIHQpOworCQlmZGlza191bnJlZl9wYXJ0dHlwZSh0KTsKKwl9CisKKwlyYyA9IDA7CisJaWYgKHBhcnRubykKKwkJKnBhcnRubyA9IHBhcnRudW07Citkb25lOgorCWZkaXNrX3VucmVmX2Fzayhhc2spOworCXJldHVybiByYzsKK30KKworLyoKKyAqIENyZWF0ZSBhIG5ldyBHUFQgZGlza2xhYmVsIC0gZGVzdHJveXMgYW55IHByZXZpb3VzIGRhdGEuCisgKi8KK3N0YXRpYyBpbnQgZ3B0X2NyZWF0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmMgPSAwOworCXNpemVfdCBlc3ogPSAwOworCWNoYXIgc3RyW1VVSURfU1RSX0xFTl07CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfZ3VpZCBndWlkOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIEdQVCkpOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCisJLyogbGFiZWwgcHJpdmF0ZSBzdHVmZiBoYXMgdG8gYmUgZW1wdHksIHNlZSBncHRfZGVpbml0KCkgKi8KKwlhc3NlcnQoZ3B0LT5waGVhZGVyID09IE5VTEwpOworCWFzc2VydChncHQtPmJoZWFkZXIgPT0gTlVMTCk7CisKKwkvKgorCSAqIFdoZW4gbm8gaGVhZGVyLCBlbnRyaWVzIG9yIHBtYnIgaXMgc2V0LCB3ZSdyZSBwcm9iYWJseQorCSAqIGRlYWxpbmcgd2l0aCBhIG5ldywgZW1wdHkgZGlzayAtIHNvIGFsd2F5cyBhbGxvY2F0ZSBtZW1vcnkKKwkgKiB0byBkZWFsIHdpdGggdGhlIGRhdGEgc3RydWN0dXJlcyB3aGF0ZXZlciB0aGUgY2FzZSBpcy4KKwkgKi8KKwlyYyA9IGdwdF9ta25ld19wbWJyKGN4dCk7CisJaWYgKHJjIDwgMCkKKwkJZ290byBkb25lOworCisJYXNzZXJ0KGN4dC0+c2VjdG9yX3NpemUgPj0gc2l6ZW9mKHN0cnVjdCBncHRfaGVhZGVyKSk7CisKKwkvKiBwcmltYXJ5ICovCisJZ3B0LT5waGVhZGVyID0gY2FsbG9jKDEsIGN4dC0+c2VjdG9yX3NpemUpOworCWlmICghZ3B0LT5waGVhZGVyKSB7CisJCXJjID0gLUVOT01FTTsKKwkJZ290byBkb25lOworCX0KKwlyYyA9IGdwdF9ta25ld19oZWFkZXIoY3h0LCBncHQtPnBoZWFkZXIsIEdQVF9QUklNQVJZX1BBUlRJVElPTl9UQUJMRV9MQkEpOworCWlmIChyYyA8IDApCisJCWdvdG8gZG9uZTsKKworCS8qIGJhY2t1cCAoImNvcHkiIHByaW1hcnkpICovCisJZ3B0LT5iaGVhZGVyID0gY2FsbG9jKDEsIGN4dC0+c2VjdG9yX3NpemUpOworCWlmICghZ3B0LT5iaGVhZGVyKSB7CisJCXJjID0gLUVOT01FTTsKKwkJZ290byBkb25lOworCX0KKwlyYyA9IGdwdF9ta25ld19oZWFkZXJfZnJvbV9ia3AoY3h0LCBncHQtPmJoZWFkZXIsCisJCQlsYXN0X2xiYShjeHQpLCBncHQtPnBoZWFkZXIpOworCWlmIChyYyA8IDApCisJCWdvdG8gZG9uZTsKKworCXJjID0gZ3B0X3NpemVvZl9lbnRzKGdwdC0+cGhlYWRlciwgJmVzeik7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisJZ3B0LT5lbnRzID0gY2FsbG9jKDEsIGVzeik7CisJaWYgKCFncHQtPmVudHMpIHsKKwkJcmMgPSAtRU5PTUVNOworCQlnb3RvIGRvbmU7CisJfQorCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gZ3B0X2dldF9uZW50cmllcyhncHQpOworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSAwOworCisJZ3VpZCA9IGdwdC0+cGhlYWRlci0+ZGlza19ndWlkOworCWd1aWRfdG9fc3RyaW5nKCZndWlkLCBzdHIpOworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCWZkaXNrX2luZm8oY3h0LCBfKCJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iKSwgc3RyKTsKK2RvbmU6CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGdwdF9zZXRfZGlza2xhYmVsX2lkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfZ3VpZCB1dWlkOworCWNoYXIgKnN0ciwgKm9sZCwgKm5ldzsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisJaWYgKGZkaXNrX2Fza19zdHJpbmcoY3h0LAorCQkJXygiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIiksICZzdHIpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXJjID0gc3RyaW5nX3RvX2d1aWQoc3RyLCAmdXVpZCk7CisJZnJlZShzdHIpOworCisJaWYgKHJjKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iKSk7CisJCXJldHVybiByYzsKKwl9CisKKwlvbGQgPSBncHRfZ2V0X2hlYWRlcl9pZChncHQtPnBoZWFkZXIpOworCisJZ3B0LT5waGVhZGVyLT5kaXNrX2d1aWQgPSB1dWlkOworCWdwdC0+YmhlYWRlci0+ZGlza19ndWlkID0gdXVpZDsKKworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisKKwluZXcgPSBncHRfZ2V0X2hlYWRlcl9pZChncHQtPnBoZWFkZXIpOworCisJZmRpc2tfaW5mbyhjeHQsIF8oIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIiksIG9sZCwgbmV3KTsKKworCWZyZWUob2xkKTsKKwlmcmVlKG5ldyk7CisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X2NoZWNrX3RhYmxlX292ZXJsYXAoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgICB1aW50NjRfdCBmaXJzdF91c2FibGUsCisJCQkJICAgdWludDY0X3QgbGFzdF91c2FibGUpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCXNpemVfdCBpOworCWludCByYyA9IDA7CisKKwkvKiBGaXJzdCBjaGVjayBpZiB0aGVyZSdzIGVub3VnaCByb29tIGZvciB0aGUgdGFibGUuIGxhc3RfbGJhIG1heSBoYXZlIHdyYXBwZWQgKi8KKwlpZiAoZmlyc3RfdXNhYmxlID4gY3h0LT50b3RhbF9zZWN0b3JzIHx8IC8qIGZhciB0b28gbGl0dGxlIHNwYWNlICovCisJICAgIGxhc3RfdXNhYmxlID4gY3h0LT50b3RhbF9zZWN0b3JzIHx8IC8qIHdyYXBwZWQgKi8KKwkgICAgZmlyc3RfdXNhYmxlID4gbGFzdF91c2FibGUpIHsgLyogdG9vIGxpdHRsZSBzcGFjZSAqLworCQlmZGlza193YXJueChjeHQsIF8oIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIikpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisKKwkvKiBjaGVjayB0aGF0IGFsbCBwYXJ0aXRpb25zIGZpdCBpbiB0aGUgcmVtYWluaW5nIHNwYWNlICovCisJZm9yIChpID0gMDsgaSA8IGdwdF9nZXRfbmVudHJpZXMoZ3B0KTsgaSsrKSB7CisJCXN0cnVjdCBncHRfZW50cnkgKmUgPSBncHRfZ2V0X2VudHJ5KGdwdCwgaSk7CisKKwkJaWYgKCFncHRfZW50cnlfaXNfdXNlZChlKSkKKwkJICAgICAgICBjb250aW51ZTsKKwkJaWYgKGdwdF9wYXJ0aXRpb25fc3RhcnQoZSkgPCBmaXJzdF91c2FibGUpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICUiUFJJdTY0IiBzZWN0b3JzKSIpLAorCQkgICAgICAgICAgICAgICAgICAgIGkgKyAxLCBmaXJzdF91c2FibGUpOworCQkJcmMgPSAtRUlOVkFMOworCQl9CisJCWlmIChncHRfcGFydGl0aW9uX2VuZChlKSA+IGxhc3RfdXNhYmxlKSB7CisJCQlmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJSJQUkl1NjQiIHNlY3RvcnMpIiksCisJCSAgICAgICAgICAgICAgICAgICAgaSArIDEsIGxhc3RfdXNhYmxlIC0gMVVMTCk7CisJCQlyYyA9IC1FSU5WQUw7CisJCX0KKwl9CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnM6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZW50cmllczogbmV3IHNpemUKKyAqCisgKiBFbGFyZ2UgR1BUIGVudHJpZXMgYXJyYXkgaWYgcG9zc2libGUuIFRoZSBmdW5jdGlvbiBjaGVjayBpZiBhbiBleGlzdGluZworICogcGFydGl0aW9uIGRvZXMgbm90IG92ZXJsYXAgdGhlIGVudHJpZXMgYXJyYXkgYXJlYS4gSWYgeWVzLCB0aGVuIGl0IHJlcG9ydAorICogd2FybmluZyBhbmQgcmV0dXJucyAtRUlOVkFMLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPCAwIG9uIGVycm9yLgorICogU2luY2U6IDIuMjkKKyAqLworaW50IGZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgdWludDMyX3QgZW50cmllcykKK3sKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisJc2l6ZV90IG9sZF9zaXplLCBuZXdfc2l6ZTsKKwl1aW50MzJfdCBvbGQ7CisJdWludDY0X3QgZmlyc3RfdXNhYmxlLCBsYXN0X3VzYWJsZTsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisKKwlpZiAoIWZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlvbGQgPSBsZTMyX3RvX2NwdShncHQtPnBoZWFkZXItPm5wYXJ0aXRpb25fZW50cmllcyk7CisJaWYgKG9sZCA9PSBlbnRyaWVzKQorCQlyZXR1cm4gMDsJLyogZG8gbm90aGluZywgc2F5IG5vdGhpbmcgKi8KKworCS8qIGNhbGN1bGF0ZSB0aGUgc2l6ZSAoYnl0ZXMpIG9mIHRoZSBlbnRyaWVzIGFycmF5ICovCisJcmMgPSBncHRfY2FsY3VsYXRlX3NpemVvZl9lbnRzKGdwdC0+cGhlYWRlciwgZW50cmllcywgJm5ld19zaXplKTsKKwlpZiAocmMpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIHNtYWxsZXIgdGhhbiAlenUuIiksCisJCQkJVUlOVDMyX01BWCAvIGxlMzJfdG9fY3B1KGdwdC0+cGhlYWRlci0+c2l6ZW9mX3BhcnRpdGlvbl9lbnRyeSkpOworCQlyZXR1cm4gcmM7CisJfQorCisJcmMgPSBncHRfY2FsY3VsYXRlX3NpemVvZl9lbnRzKGdwdC0+cGhlYWRlciwgb2xkLCAmb2xkX3NpemUpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJLyogY2FsY3VsYXRlIG5ldyByYW5nZSBvZiB1c2FibGUgTEJBcyAqLworCWZpcnN0X3VzYWJsZSA9ICh1aW50NjRfdCkgKG5ld19zaXplIC8gY3h0LT5zZWN0b3Jfc2l6ZSkgKyAyVUxMOworCWxhc3RfdXNhYmxlID0gY3h0LT50b3RhbF9zZWN0b3JzIC0gMlVMTCAtICh1aW50NjRfdCkgKG5ld19zaXplIC8gY3h0LT5zZWN0b3Jfc2l6ZSk7CisKKwkvKiBpZiBleHBhbmRpbmcgdGhlIHRhYmxlLCBmaXJzdCBjaGVjayB0aGF0IGV2ZXJ5dGhpbmcgZml0cywKKwkgKiB0aGVuIGFsbG9jYXRlIG1vcmUgbWVtb3J5IGFuZCB6ZXJvLiAqLworCWlmIChlbnRyaWVzID4gb2xkKSB7CisJCXVuc2lnbmVkIGNoYXIgKmVudHM7CisKKwkJcmMgPSBncHRfY2hlY2tfdGFibGVfb3ZlcmxhcChjeHQsIGZpcnN0X3VzYWJsZSwgbGFzdF91c2FibGUpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWVudHMgPSByZWFsbG9jKGdwdC0+ZW50cywgbmV3X3NpemUpOworCQlpZiAoIWVudHMpIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwgXygiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiKSk7CisJCQlyZXR1cm4gLUVOT01FTTsKKwkJfQorCQltZW1zZXQoZW50cyArIG9sZF9zaXplLCAwLCBuZXdfc2l6ZSAtIG9sZF9zaXplKTsKKwkJZ3B0LT5lbnRzID0gZW50czsKKwl9CisKKwkvKiBldmVyeXRoaW5nJ3Mgb2ssIGFwcGx5IHRoZSBuZXcgc2l6ZSAqLworCWdwdC0+cGhlYWRlci0+bnBhcnRpdGlvbl9lbnRyaWVzID0gY3B1X3RvX2xlMzIoZW50cmllcyk7CisJZ3B0LT5iaGVhZGVyLT5ucGFydGl0aW9uX2VudHJpZXMgPSBjcHVfdG9fbGUzMihlbnRyaWVzKTsKKworCS8qIHVzYWJsZSBMQkEgYWRkcmVzc2VzIHdpbGwgaGF2ZSBjaGFuZ2VkICovCisJZmRpc2tfc2V0X2ZpcnN0X2xiYShjeHQsIGZpcnN0X3VzYWJsZSk7CisJZmRpc2tfc2V0X2xhc3RfbGJhKGN4dCwgbGFzdF91c2FibGUpOworCWdwdC0+cGhlYWRlci0+Zmlyc3RfdXNhYmxlX2xiYSA9IGNwdV90b19sZTY0KGZpcnN0X3VzYWJsZSk7CisJZ3B0LT5iaGVhZGVyLT5maXJzdF91c2FibGVfbGJhID0gY3B1X3RvX2xlNjQoZmlyc3RfdXNhYmxlKTsKKwlncHQtPnBoZWFkZXItPmxhc3RfdXNhYmxlX2xiYSA9IGNwdV90b19sZTY0KGxhc3RfdXNhYmxlKTsKKwlncHQtPmJoZWFkZXItPmxhc3RfdXNhYmxlX2xiYSA9IGNwdV90b19sZTY0KGxhc3RfdXNhYmxlKTsKKworCisJLyogVGhlIGJhY2t1cCBoZWFkZXIgbXVzdCBiZSByZWNhbGN1bGF0ZWQgKi8KKwlncHRfbWtuZXdfaGVhZGVyX2NvbW1vbihjeHQsIGdwdC0+YmhlYWRlciwgbGU2NF90b19jcHUoZ3B0LT5waGVhZGVyLT5hbHRlcm5hdGl2ZV9sYmEpKTsKKworCS8qIENSQ3Mgd2lsbCBoYXZlIGNoYW5nZWQgKi8KKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPnBoZWFkZXIsIGdwdC0+ZW50cyk7CisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5iaGVhZGVyLCBncHQtPmVudHMpOworCisJLyogdXBkYXRlIGxpYnJhcnkgaW5mbyAqLworCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSBncHRfZ2V0X25lbnRyaWVzKGdwdCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJSJQUkl1MzIiIHRvICUiUFJJdTY0Ii4iKSwgb2xkLCBlbnRyaWVzKTsKKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdwdF9wYXJ0X2lzX3VzZWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGkpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXN0cnVjdCBncHRfZW50cnkgKmU7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAoaSA+PSBncHRfZ2V0X25lbnRyaWVzKGdwdCkpCisJCXJldHVybiAwOworCisJZSA9IGdwdF9nZXRfZW50cnkoZ3B0LCBpKTsKKworCXJldHVybiBncHRfZW50cnlfaXNfdXNlZChlKSB8fCBncHRfcGFydGl0aW9uX3N0YXJ0KGUpOworfQorCisvKioKKyAqIGZkaXNrX2dwdF9pc19oeWJyaWQ6CisgKiBAY3h0OiBjb250ZXh0CisgKgorICogVGhlIHJlZ3VsYXIgR1BUIGNvbnRhaW5zIFBNQlIgKGR1bW15IHByb3RlY3RpdmUgTUJSKSB3aGVyZSB0aGUgcHJvdGVjdGl2ZQorICogTUJSIGRvZXMgbm90IGFkZHJlc3MgYW55IHBhcnRpdGlvbnMuCisgKgorICogSHlicmlkIEdQVCBjb250YWlucyByZWd1bGFyIE1CUiB3aGVyZSB0aGlzIHBhcnRpdGlvbiB0YWJsZSBhZGRyZXNzZXMgdGhlCisgKiBzYW1lIHBhcnRpdGlvbnMgYXMgR1BULiBJdCdzIHJlY29tbWVuZGVkIHRvIG5vdCB1c2UgaHlicmlkIEdQVCBkdWUgdG8gTUJSCisgKiBsaW1pdHMuCisgKgorICogVGhlIGxpYmZkaXNrIGRvZXMgbm90IHByb3ZpZGUgZnVuY3Rpb25hbGl0eSB0byBzeW5jIEdQVCBhbmQgTUJSLCB5b3UgaGF2ZSB0bworICogZGlyZWN0bHkgYWNjZXNzIGFuZCBtb2RpZnkgKFApTUJSIChzZWUgZmRpc2tfbmV3X25lc3RlZF9jb250ZXh0KCkpLgorICoKKyAqIFJldHVybnM6IDEgaWYgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkIGFzIGh5YnJpZCBvdGhlcndpc2UgcmV0dXJuIDAKKyAqLworaW50IGZkaXNrX2dwdF9pc19oeWJyaWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlyZXR1cm4gdmFsaWRfcG1icihjeHQpID09IEdQVF9NQlJfSFlCUklEOworfQorCisvKioKKyAqIGZkaXNrX2dwdF9nZXRfcGFydGl0aW9uX2F0dHJzOgorICogQGN4dDogY29udGV4dAorICogQHBhcnRudW06IHBhcnRpdGlvbiBudW1iZXIKKyAqIEBhdHRyczogR1BUIHBhcnRpdGlvbiBhdHRyaWJ1dGVzCisgKgorICogU2V0cyBAYXR0cnMgZm9yIHRoZSBnaXZlbiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfZ3B0X2dldF9wYXJ0aXRpb25fYXR0cnMoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBwYXJ0bnVtLAorCQl1aW50NjRfdCAqYXR0cnMpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCisJaWYgKCFmZGlza19pc19sYWJlbChjeHQsIEdQVCkpCisJCXJldHVybiAtRUlOVkFMOworCisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCisJaWYgKHBhcnRudW0gPj0gZ3B0X2dldF9uZW50cmllcyhncHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCSphdHRycyA9IGxlNjRfdG9fY3B1KGdwdF9nZXRfZW50cnkoZ3B0LCBwYXJ0bnVtKS0+YXR0cnMpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2dwdF9zZXRfcGFydGl0aW9uX2F0dHJzOgorICogQGN4dDogY29udGV4dAorICogQHBhcnRudW06IHBhcnRpdGlvbiBudW1iZXIKKyAqIEBhdHRyczogR1BUIHBhcnRpdGlvbiBhdHRyaWJ1dGVzCisgKgorICogU2V0cyB0aGUgR1BUIHBhcnRpdGlvbiBhdHRyaWJ1dGVzIGZpZWxkIHRvIEBhdHRycy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfZ3B0X3NldF9wYXJ0aXRpb25fYXR0cnMoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBwYXJ0bnVtLAorCQl1aW50NjRfdCBhdHRycykKK3sKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisKKwlpZiAoIWZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJHUFQgZW50cnkgYXR0cmlidXRlcyBjaGFuZ2UgcmVxdWVzdGVkIHBhcnRubz0lenUiLCBwYXJ0bnVtKSk7CisJZ3B0ID0gc2VsZl9sYWJlbChjeHQpOworCisJaWYgKHBhcnRudW0gPj0gZ3B0X2dldF9uZW50cmllcyhncHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWdwdF9nZXRfZW50cnkoZ3B0LCBwYXJ0bnVtKS0+YXR0cnMgPSBjcHVfdG9fbGU2NChhdHRycyk7CisJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTYiIFBSSXg2NCAiLiIpLAorCQkJcGFydG51bSArIDEsIGF0dHJzKTsKKworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+cGhlYWRlciwgZ3B0LT5lbnRzKTsKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPmJoZWFkZXIsIGdwdC0+ZW50cyk7CisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X3RvZ2dsZV9wYXJ0aXRpb25fZmxhZygKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGksCisJCXVuc2lnbmVkIGxvbmcgZmxhZykKK3sKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQ7CisJc3RydWN0IGdwdF9lbnRyeSAqZTsKKwl1aW50NjRfdCBhdHRyczsKKwl1aW50bWF4X3QgdG1wOworCWNoYXIgKmJpdHM7CisJY29uc3QgY2hhciAqbmFtZSA9IE5VTEw7CisJaW50IGJpdCA9IC0xLCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIkdQVCBlbnRyeSBhdHRyaWJ1dGUgY2hhbmdlIHJlcXVlc3RlZCBwYXJ0bm89JXp1IiwgaSkpOworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWlmIChpID49IGdwdF9nZXRfbmVudHJpZXMoZ3B0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwllID0gZ3B0X2dldF9lbnRyeShncHQsIGkpOworCWF0dHJzID0gZS0+YXR0cnM7CisJYml0cyA9IChjaGFyICopICZhdHRyczsKKworCXN3aXRjaCAoZmxhZykgeworCWNhc2UgR1BUX0ZMQUdfUkVRVUlSRUQ6CisJCWJpdCA9IEdQVF9BVFRSQklUX1JFUTsKKwkJbmFtZSA9IEdQVF9BVFRSU1RSX1JFUTsKKwkJYnJlYWs7CisJY2FzZSBHUFRfRkxBR19OT0JMT0NLOgorCQliaXQgPSBHUFRfQVRUUkJJVF9OT0JMT0NLOworCQluYW1lID0gR1BUX0FUVFJTVFJfTk9CTE9DSzsKKwkJYnJlYWs7CisJY2FzZSBHUFRfRkxBR19MRUdBQ1lCT09UOgorCQliaXQgPSBHUFRfQVRUUkJJVF9MRUdBQ1k7CisJCW5hbWUgPSBHUFRfQVRUUlNUUl9MRUdBQ1k7CisJCWJyZWFrOworCWNhc2UgR1BUX0ZMQUdfR1VJRFNQRUNJRklDOgorCQlyYyA9IGZkaXNrX2Fza19udW1iZXIoY3h0LCA0OCwgNDgsIDYzLCBfKCJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIpLCAmdG1wKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQliaXQgPSB0bXA7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCS8qIGFscmVhZHkgc3BlY2lmaWVkIFBUX0ZMQUdfR1VJRFNQRUNJRklDIGJpdCAqLworCQlpZiAoZmxhZyA+PSA0OCAmJiBmbGFnIDw9IDYzKSB7CisJCQliaXQgPSBmbGFnOworCQkJZmxhZyA9IEdQVF9GTEFHX0dVSURTUEVDSUZJQzsKKwkJfQorCQlicmVhazsKKwl9CisKKwlpZiAoYml0IDwgMCkgeworCQlmZGlza193YXJueChjeHQsIF8oImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIpLCBmbGFnKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKCFpc3NldChiaXRzLCBiaXQpKQorCQlzZXRiaXQoYml0cywgYml0KTsKKwllbHNlCisJCWNscmJpdChiaXRzLCBiaXQpOworCisJZS0+YXR0cnMgPSBhdHRyczsKKworCWlmIChmbGFnID09IEdQVF9GTEFHX0dVSURTUEVDSUZJQykKKwkJZmRpc2tfaW5mbyhjeHQsIGlzc2V0KGJpdHMsIGJpdCkgPworCQkJXygiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIikgOgorCQkJXygiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIpLAorCQkJYml0LCBpICsgMSk7CisJZWxzZQorCQlmZGlza19pbmZvKGN4dCwgaXNzZXQoYml0cywgYml0KSA/CisJCQlfKCJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIpIDoKKwkJCV8oIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIpLAorCQkJbmFtZSwgaSArIDEpOworCisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5waGVhZGVyLCBncHQtPmVudHMpOworCWdwdF9yZWNvbXB1dGVfY3JjKGdwdC0+YmhlYWRlciwgZ3B0LT5lbnRzKTsKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBncHRfZW50cnlfY21wX3N0YXJ0KGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpCit7CisJc3RydWN0IGdwdF9lbnRyeSAqYWUgPSAoc3RydWN0IGdwdF9lbnRyeSAqKSBhLAorCQkJICpiZSA9IChzdHJ1Y3QgZ3B0X2VudHJ5ICopIGI7CisJaW50IGF1ID0gZ3B0X2VudHJ5X2lzX3VzZWQoYWUpLAorCSAgICBidSA9IGdwdF9lbnRyeV9pc191c2VkKGJlKTsKKworCWlmICghYXUgJiYgIWJ1KQorCQlyZXR1cm4gMDsKKwlpZiAoIWF1KQorCQlyZXR1cm4gMTsKKwlpZiAoIWJ1KQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gY21wX251bWJlcnMoZ3B0X3BhcnRpdGlvbl9zdGFydChhZSksIGdwdF9wYXJ0aXRpb25fc3RhcnQoYmUpKTsKK30KKworLyogc29ydCBwYXJ0aXRpb24gYnkgc3RhcnQgc2VjdG9yICovCitzdGF0aWMgaW50IGdwdF9yZW9yZGVyKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCXNpemVfdCBpLCBucGFydHMsIG1lc3M7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgR1BUKSk7CisKKwlncHQgPSBzZWxmX2xhYmVsKGN4dCk7CisJbnBhcnRzID0gZ3B0X2dldF9uZW50cmllcyhncHQpOworCisJZm9yIChpID0gMCwgbWVzcyA9IDA7IG1lc3MgPT0gMCAmJiBpICsgMSA8IG5wYXJ0czsgaSsrKQorCQltZXNzID0gZ3B0X2VudHJ5X2NtcF9zdGFydCgKKwkJCQkoY29uc3Qgdm9pZCAqKSBncHRfZ2V0X2VudHJ5KGdwdCwgaSksCisJCQkJKGNvbnN0IHZvaWQgKikgZ3B0X2dldF9lbnRyeShncHQsIGkgKyAxKSkgPiAwOworCisJaWYgKCFtZXNzKSB7CisJCWZkaXNrX2luZm8oY3h0LCBfKCJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIikpOworCQlyZXR1cm4gMTsKKwl9CisKKwlxc29ydChncHQtPmVudHMsIG5wYXJ0cywgc2l6ZW9mKHN0cnVjdCBncHRfZW50cnkpLAorCQkJZ3B0X2VudHJ5X2NtcF9zdGFydCk7CisKKwlncHRfcmVjb21wdXRlX2NyYyhncHQtPnBoZWFkZXIsIGdwdC0+ZW50cyk7CisJZ3B0X3JlY29tcHV0ZV9jcmMoZ3B0LT5iaGVhZGVyLCBncHQtPmVudHMpOworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ3B0X3Jlc2V0X2FsaWdubWVudChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19ncHRfbGFiZWwgKmdwdDsKKwlzdHJ1Y3QgZ3B0X2hlYWRlciAqaDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKTsKKworCWdwdCA9IHNlbGZfbGFiZWwoY3h0KTsKKwloID0gZ3B0ID8gZ3B0LT5waGVhZGVyIDogTlVMTDsKKworCWlmIChoKSB7CisJCS8qIGFsd2F5cyBmb2xsb3cgZXhpc3RpbmcgdGFibGUgKi8KKwkJY3h0LT5maXJzdF9sYmEgPSBsZTY0X3RvX2NwdShoLT5maXJzdF91c2FibGVfbGJhKTsKKwkJY3h0LT5sYXN0X2xiYSAgPSBsZTY0X3RvX2NwdShoLT5sYXN0X3VzYWJsZV9sYmEpOworCX0gZWxzZSB7CisJCS8qIGVzdGltYXRlIHJhbmdlcyBmb3IgR1BUICovCisJCXVpbnQ2NF90IGZpcnN0LCBsYXN0OworCisJCWNvdW50X2ZpcnN0X2xhc3RfbGJhKGN4dCwgJmZpcnN0LCAmbGFzdCk7CisKKwkJaWYgKGN4dC0+Zmlyc3RfbGJhIDwgZmlyc3QpCisJCQljeHQtPmZpcnN0X2xiYSA9IGZpcnN0OworCQlpZiAoY3h0LT5sYXN0X2xiYSA+IGxhc3QpCisJCQljeHQtPmxhc3RfbGJhID0gbGFzdDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKy8qCisgKiBEZWluaXRpYWxpemUgZmRpc2stc3BlY2lmaWMgdmFyaWFibGVzCisgKi8KK3N0YXRpYyB2b2lkIGdwdF9kZWluaXQoc3RydWN0IGZkaXNrX2xhYmVsICpsYikKK3sKKwlzdHJ1Y3QgZmRpc2tfZ3B0X2xhYmVsICpncHQgPSAoc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqKSBsYjsKKworCWlmICghZ3B0KQorCQlyZXR1cm47CisKKwlmcmVlKGdwdC0+ZW50cyk7CisJZnJlZShncHQtPnBoZWFkZXIpOworCWZyZWUoZ3B0LT5iaGVhZGVyKTsKKworCWdwdC0+ZW50cyA9IE5VTEw7CisJZ3B0LT5waGVhZGVyID0gTlVMTDsKKwlncHQtPmJoZWFkZXIgPSBOVUxMOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsX29wZXJhdGlvbnMgZ3B0X29wZXJhdGlvbnMgPQoreworCS5wcm9iZQkJPSBncHRfcHJvYmVfbGFiZWwsCisJLndyaXRlCQk9IGdwdF93cml0ZV9kaXNrbGFiZWwsCisJLnZlcmlmeQkJPSBncHRfdmVyaWZ5X2Rpc2tsYWJlbCwKKwkuY3JlYXRlCQk9IGdwdF9jcmVhdGVfZGlza2xhYmVsLAorCS5sb2NhdGUJCT0gZ3B0X2xvY2F0ZV9kaXNrbGFiZWwsCisJLmdldF9pdGVtCT0gZ3B0X2dldF9kaXNrbGFiZWxfaXRlbSwKKwkuc2V0X2lkCQk9IGdwdF9zZXRfZGlza2xhYmVsX2lkLAorCisJLmdldF9wYXJ0CT0gZ3B0X2dldF9wYXJ0aXRpb24sCisJLnNldF9wYXJ0CT0gZ3B0X3NldF9wYXJ0aXRpb24sCisJLmFkZF9wYXJ0CT0gZ3B0X2FkZF9wYXJ0aXRpb24sCisJLmRlbF9wYXJ0CT0gZ3B0X2RlbGV0ZV9wYXJ0aXRpb24sCisJLnJlb3JkZXIJPSBncHRfcmVvcmRlciwKKworCS5wYXJ0X2lzX3VzZWQJPSBncHRfcGFydF9pc191c2VkLAorCS5wYXJ0X3RvZ2dsZV9mbGFnID0gZ3B0X3RvZ2dsZV9wYXJ0aXRpb25fZmxhZywKKworCS5kZWluaXQJCT0gZ3B0X2RlaW5pdCwKKworCS5yZXNldF9hbGlnbm1lbnQgPSBncHRfcmVzZXRfYWxpZ25tZW50Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkIGdwdF9maWVsZHNbXSA9Cit7CisJLyogYmFzaWMgKi8KKwl7IEZESVNLX0ZJRUxEX0RFVklDRSwJTl8oIkRldmljZSIpLAkgMTAsCTAgfSwKKwl7IEZESVNLX0ZJRUxEX1NUQVJULAlOXygiU3RhcnQiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfRU5ELAlOXygiRW5kIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX1NFQ1RPUlMsCU5fKCJTZWN0b3JzIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX1NJWkUsCU5fKCJTaXplIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfCBGRElTS19GSUVMREZMX0VZRUNBTkRZIH0sCisJeyBGRElTS19GSUVMRF9UWVBFLAlOXygiVHlwZSIpLAkwLjEsCUZESVNLX0ZJRUxERkxfRVlFQ0FORFkgfSwKKwkvKiBleHBlcnQgKi8KKwl7IEZESVNLX0ZJRUxEX1RZUEVJRCwJTl8oIlR5cGUtVVVJRCIpLCAzNiwJRkRJU0tfRklFTERGTF9ERVRBSUwgfSwKKwl7IEZESVNLX0ZJRUxEX1VVSUQsCU5fKCJVVUlEIiksCSAzNiwJRkRJU0tfRklFTERGTF9ERVRBSUwgfSwKKwl7IEZESVNLX0ZJRUxEX05BTUUsCU5fKCJOYW1lIiksCTAuMiwJRkRJU0tfRklFTERGTF9ERVRBSUwgfSwKKwl7IEZESVNLX0ZJRUxEX0FUVFIsCU5fKCJBdHRycyIpLAkgIDAsCUZESVNLX0ZJRUxERkxfREVUQUlMIH0KK307CisKKy8qCisgKiBhbGxvY2F0ZXMgR1BUIGluLW1lbW9yeSBzdHVmZgorICovCitzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZkaXNrX25ld19ncHRfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKQoreworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisJc3RydWN0IGZkaXNrX2dwdF9sYWJlbCAqZ3B0OworCisJZ3B0ID0gY2FsbG9jKDEsIHNpemVvZigqZ3B0KSk7CisJaWYgKCFncHQpCisJCXJldHVybiBOVUxMOworCisJLyogaW5pdGlhbGl6ZSBnZW5lcmljIHBhcnQgb2YgdGhlIGRyaXZlciAqLworCWxiID0gKHN0cnVjdCBmZGlza19sYWJlbCAqKSBncHQ7CisJbGItPm5hbWUgPSAiZ3B0IjsKKwlsYi0+aWQgPSBGRElTS19ESVNLTEFCRUxfR1BUOworCWxiLT5vcCA9ICZncHRfb3BlcmF0aW9uczsKKwlsYi0+cGFydHR5cGVzID0gZ3B0X3BhcnR0eXBlczsKKwlsYi0+bnBhcnR0eXBlcyA9IEFSUkFZX1NJWkUoZ3B0X3BhcnR0eXBlcyk7CisKKwlsYi0+ZmllbGRzID0gZ3B0X2ZpZWxkczsKKwlsYi0+bmZpZWxkcyA9IEFSUkFZX1NJWkUoZ3B0X2ZpZWxkcyk7CisKKwlyZXR1cm4gbGI7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK3N0YXRpYyBpbnQgdGVzdF9nZXRhdHRyKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICpkaXNrID0gYXJndlsxXTsKKwlzaXplX3QgcGFydCA9IHN0cnRvdWwoYXJndlsyXSwgTlVMTCwgMCkgLSAxOworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisJdWludDY0X3QgYXR0ZXJzID0gMDsKKworCWN4dCA9IGZkaXNrX25ld19jb250ZXh0KCk7CisJZmRpc2tfYXNzaWduX2RldmljZShjeHQsIGRpc2ssIDEpOworCisJaWYgKCFmZGlza19pc19sYWJlbChjeHQsIEdQVCkpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlpZiAoZmRpc2tfZ3B0X2dldF9wYXJ0aXRpb25fYXR0cnMoY3h0LCBwYXJ0LCAmYXR0ZXJzKSkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXByaW50ZigiJXM6IDB4JTAxNiIgUFJJeDY0ICJcbiIsIGFyZ3ZbMl0sIGF0dGVycyk7CisKKwlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9zZXRhdHRyKHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICpkaXNrID0gYXJndlsxXTsKKwlzaXplX3QgcGFydCA9IHN0cnRvdWwoYXJndlsyXSwgTlVMTCwgMCkgLSAxOworCXVpbnQ2NF90IGF0dGVycyA9IHN0cnRvdWxsKGFyZ3ZbM10sIE5VTEwsIDApOworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisKKwljeHQgPSBmZGlza19uZXdfY29udGV4dCgpOworCWZkaXNrX2Fzc2lnbl9kZXZpY2UoY3h0LCBkaXNrLCAwKTsKKworCWlmICghZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJaWYgKGZkaXNrX2dwdF9zZXRfcGFydGl0aW9uX2F0dHJzKGN4dCwgcGFydCwgYXR0ZXJzKSkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCWlmIChmZGlza193cml0ZV9kaXNrbGFiZWwoY3h0KSkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gMDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgZmRpc2tfdGVzdCB0c3NbXSA9IHsKKwkJeyAiLS1nZXRhdHRyIiwgIHRlc3RfZ2V0YXR0ciwgICI8ZGlzaz4gPHBhcnRpdGlvbj4gICAgICAgICAgICAgcHJpbnQgYXR0cmlidXRlcyIgfSwKKwkJeyAiLS1zZXRhdHRyIiwgIHRlc3Rfc2V0YXR0ciwgICI8ZGlzaz4gPHBhcnRpdGlvbj4gPHZhbHVlPiAgICAgc2V0IGF0dHJpYnV0ZXMiIH0sCisJCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBmZGlza19ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9pbml0LmMgYi9saWJmZGlzay9zcmMvaW5pdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIyNWE4NzYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvaW5pdC5jCkBAIC0wLDAgKzEsNjEgQEAKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisKKy8qKgorICogU0VDVElPTjogaW5pdAorICogQHRpdGxlOiBMaWJyYXJ5IGluaXRpYWxpemF0aW9uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGluaXRpYWxpemUgZGVidWcgc3R1ZmYKKyAqCisgKi8KKworVUxfREVCVUdfREVGSU5FX01BU0sobGliZmRpc2spOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsaWJmZGlzaykgPQoreworCXsgImFsbCIsCUxJQkZESVNLX0RFQlVHX0FMTCwJImluZm8gYWJvdXQgYWxsIHN1YnN5c3RlbXMiIH0sCisJeyAiYXNrIiwJTElCRkRJU0tfREVCVUdfQVNLLAkiZmRpc2sgZGlhbG9ncyIgfSwKKwl7ICJoZWxwIiwJTElCRkRJU0tfREVCVUdfSEVMUCwJInRoaXMgaGVscCIgfSwKKwl7ICJjeHQiLAlMSUJGRElTS19ERUJVR19DWFQsCSJsaWJyYXJ5IGNvbnRleHQgKGhhbmRsZXIpIiB9LAorCXsgImxhYmVsIiwJTElCRkRJU0tfREVCVUdfTEFCRUwsCSJkaXNrIGxhYmVsIHV0aWxzIiB9LAorCXsgInBhcnQiLAlMSUJGRElTS19ERUJVR19QQVJULAkicGFydGl0aW9uIHV0aWxzIiB9LAorCXsgInBhcnR0eXBlIiwJTElCRkRJU0tfREVCVUdfUEFSVFRZUEUsInBhcnRpdGlvbiB0eXBlIHV0aWxzIiB9LAorCXsgInNjcmlwdCIsCUxJQkZESVNLX0RFQlVHX1NDUklQVCwJInNmZGlzay1saWtlIHNjcmlwdHMiIH0sCisJeyAidGFiIiwJTElCRkRJU0tfREVCVUdfVEFCLAkidGFibGUgdXRpbHMifSwKKwl7ICJ3aXBlIiwgICAgICAgTElCRkRJU0tfREVCVUdfV0lQRSwgICAgIndpcGUgYXJlYSB1dGlscyIgfSwKKwl7ICJpdGVtIiwgICAgICAgTElCRkRJU0tfREVCVUdfV0lQRSwgICAgImRpc2tsYWJlbCBpdGVtcyIgfSwKKwl7IE5VTEwsIDAgfQorfTsKKworLyoqCisgKiBmZGlza19pbml0X2RlYnVnOgorICogQG1hc2s6IGRlYnVnIG1hc2sgKDB4ZmZmZiB0byBlbmFibGUgZnVsbCBkZWJ1Z2dpbmcpCisgKgorICogSWYgdGhlIEBtYXNrIGlzIG5vdCBzcGVjaWZpZWQgdGhlbiB0aGlzIGZ1bmN0aW9uIHJlYWRzCisgKiBMSUJGRElTS19ERUJVRyBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBnZXQgdGhlIG1hc2suCisgKgorICogQWxyZWFkeSBpbml0aWFsaXplZCBkZWJ1Z2dpbmcgc3R1ZmYgY2Fubm90IGJlIGNoYW5nZWQuIEl0IGRvZXMgbm90CisgKiBoYXZlIGVmZmVjdCB0byBjYWxsIHRoaXMgZnVuY3Rpb24gdHdpY2UuCisgKgorICogSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgZmRpc2tfaW5pdF9kZWJ1ZygwKSBpbiB5b3VyIGNvZGUuCisgKi8KK3ZvaWQgZmRpc2tfaW5pdF9kZWJ1ZyhpbnQgbWFzaykKK3sKKwlpZiAobGliZmRpc2tfZGVidWdfbWFzaykKKwkJcmV0dXJuOworCisJX19VTF9JTklUX0RFQlVHX0ZST01fRU5WKGxpYmZkaXNrLCBMSUJGRElTS19ERUJVR18sIG1hc2ssIExJQkZESVNLX0RFQlVHKTsKKworCisJaWYgKGxpYmZkaXNrX2RlYnVnX21hc2sgIT0gTElCRkRJU0tfREVCVUdfSU5JVAorCSAgICAmJiBsaWJmZGlza19kZWJ1Z19tYXNrICE9IChMSUJGRElTS19ERUJVR19IRUxQfExJQkZESVNLX0RFQlVHX0lOSVQpKSB7CisJCWNvbnN0IGNoYXIgKnZlciA9IE5VTEw7CisKKwkJZmRpc2tfZ2V0X2xpYnJhcnlfdmVyc2lvbigmdmVyKTsKKworCQlEQkcoSU5JVCwgdWxfZGVidWcoImxpYnJhcnkgZGVidWcgbWFzazogMHglMDR4IiwgbGliZmRpc2tfZGVidWdfbWFzaykpOworCQlEQkcoSU5JVCwgdWxfZGVidWcoImxpYnJhcnkgdmVyc2lvbjogJXMiLCB2ZXIpKTsKKwl9CisKKwlPTl9EQkcoSEVMUCwgdWxfZGVidWdfcHJpbnRfbWFza3MoIkxJQkZESVNLX0RFQlVHIiwKKwkJCQlVTF9ERUJVR19NQVNLTkFNRVMobGliZmRpc2spKSk7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvaXRlbS5jIGIvbGliZmRpc2svc3JjL2l0ZW0uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmZhMGZiCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2l0ZW0uYwpAQCAtMCwwICsxLDI1MiBAQAorCisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisvKioKKyAqIFNFQ1RJT046IGl0ZW0KKyAqIEB0aXRsZTogTGFiZWxpdGVtCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGRpc2sgbGFiZWwgaXRlbXMKKyAqCisgKiBUaGUgbGFiZWxpdGVtIGlzIGxhYmVsIHNwZWNpZmljIGl0ZW1zIHN0b3JlZCBpbiB0aGUgcGFydGl0aW9uIHRhYmxlIGhlYWRlci4KKyAqIFRoZSBpbmZvcm1hdGlvbiBwcm92aWRlZCBieSBsYWJlbGl0ZW1zIGFyZSBub3Qgc3BlY2lmaWMgdG8gdGhlIHBhcnRpdGlvbnMuCisgKgorICogRm9yIGV4YW1wbGUKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogIDxwcm9ncmFtbGlzdGluZz4KKyAqCXN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW0gPSBmZGlza19uZXdfbGFiZWxpdGVtKCk7CisgKgorICoJZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtKGN4dCwgR1BUX0xBQkVMSVRFTV9BTFRMQkEsIGl0ZW0pOworICoJcHJpbnQoIkJhY2t1cCBoZWFkZXIgTEJBOiAlanVcbiIsIGZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV91NjQoaXRlbSkpOworICoKKyAqCWZkaXNrX3VucmVmX2xhYmVsaXRlbShpdGVtKTsKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogcmV0dXJucyBMQkEgb2YgdGhlIGFsdGVybmF0aXZlIEdQVCBoZWFkZXIuCisgKgorICogU2VlIGFsc28gZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtKCkuIFRoZSBJRHMgYXJlIGdlbmVyaWMgKGUuZy4KKyAqIEZESVNLX0xBQkVMX0lURU1fKikgYW5kIGxhYmVsIHNwZWNpZmljICgoZS5nLiBHUFRfTEFCRUxJVEVNXyopLgorICovCisKKy8qKgorICogZmRpc2tfbmV3X2xhYmVsaXRlbQorICoKKyAqIFJldHVybnM6IG5ldyBpbnN0YW5jZS4KKyAqIFNpbmNlOiAyLjI5CisgKi8KK3N0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmZkaXNrX25ld19sYWJlbGl0ZW0odm9pZCkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSA9IGNhbGxvYygxLCBzaXplb2YoKmxpKSk7CisKKwlsaS0+cmVmY291bnQgPSAxOworCURCRyhJVEVNLCB1bF9kZWJ1Z29iaihsaSwgImFsbG9jIikpOworCXJldHVybiBsaTsKK30KKworLyoqCisgKiBmZGlza19yZWZfbGFiZWxpdGVtOgorICogQGxpOiBsYWJlbCBpdGVtCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqIFNpbmNlOiAyLjI5CisgKi8KK3ZvaWQgZmRpc2tfcmVmX2xhYmVsaXRlbShzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSkKK3sKKwlpZiAobGkpIHsKKwkJLyogbWUgc3VyZSB3ZSBkbyBub3QgdXNlIHJlZmNvdXRpbmcgZm9yIHN0YXRpYyBpdGVtcyAqLworCQlhc3NlcnQobGktPnJlZmNvdW50ID4gMCk7CisJCWxpLT5yZWZjb3VudCsrOworCX0KK30KKworLyoqCisgKiBmZGlza19yZXNldF9sYWJlbGl0ZW06CisgKiBAbGk6IGxhYmVsIGl0ZW0KKyAqCisgKiBaZXJvaXplIGRhdGEgc3RvcmVkIGluIHRoZSBAbGkgKGRvZXMgbm90IG1vZGlmeSBhbnl0aGluZyBpbiBkaXNrIGxhYmVsKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIDwwIGluIGNhc2Ugb2YgZXJyb3IKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2ludCBmZGlza19yZXNldF9sYWJlbGl0ZW0oc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpCit7CisJaW50IHJlZmNvdW50OworCisJaWYgKCFsaSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKGxpLT50eXBlID09ICdzJykKKwkJZnJlZShsaS0+ZGF0YS5zdHIpOworCisJcmVmY291bnQgPSBsaS0+cmVmY291bnQ7CisJbWVtc2V0KGxpLCAwLCBzaXplb2YoKmxpKSk7CisJbGktPnJlZmNvdW50ID0gcmVmY291bnQ7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfdW5yZWZfbGFiZWxpdGVtOgorICogQGxpOiBsYWJlbCBpdGVtCisgKgorICogRGVjcmVtZW50cyByZWZlcmVuY2UgY291bnRlciwgb24gemVybyB0aGUgQGxpIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkLgorICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK3ZvaWQgZmRpc2tfdW5yZWZfbGFiZWxpdGVtKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpKQoreworCWlmICghbGkpCisJCXJldHVybjsKKworCS8qIG1lIHN1cmUgd2UgZG8gbm90IHVzZSByZWZjb3V0aW5nIGZvciBzdGF0aWMgaXRlbXMgKi8KKwlhc3NlcnQobGktPnJlZmNvdW50ID4gMCk7CisKKwlsaS0+cmVmY291bnQtLTsKKwlpZiAobGktPnJlZmNvdW50IDw9IDApIHsKKwkJREJHKElURU0sIHVsX2RlYnVnb2JqKGxpLCAiZnJlZSIpKTsKKwkJZmRpc2tfcmVzZXRfbGFiZWxpdGVtKGxpKTsKKwkJZnJlZShsaSk7CisJfQorfQorCisvKioKKyAqIGZkaXNrX2xhYmVsaXRlbV9nZXRfbmFtZToKKyAqIEBsaTogbGFiZWwgaXRlbQorICoKKyAqIFJldHVybnM6IGl0ZW0gbmFtZSBvciBOVUxMLgorICogU2luY2U6IDIuMjkKKyAqLworY29uc3QgY2hhciAqZmRpc2tfbGFiZWxpdGVtX2dldF9uYW1lKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpKQoreworCXJldHVybiBsaSA/IGxpLT5uYW1lIDogTlVMTDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbGl0ZW1fZ2V0X2lkOgorICogQGxpOiBsYWJlbCBpdGVtCisgKgorICogUmV0dXJuczogaXRlbSBJZCBvciA8MCBpbiBjYXNlIG9mIGVycm9yLgorICogU2luY2U6IDIuMjkKKyAqLworaW50IGZkaXNrX2xhYmVsaXRlbV9nZXRfaWQoc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpCit7CisJcmV0dXJuIGxpID8gbGktPmlkIDogLUVJTlZBTDsKK30KKworCisvKioKKyAqIGZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV91NjQ6CisgKiBAbGk6IGxhYmVsIGl0ZW0KKyAqIEBkYXRhOiByZXR1cm5zIGRhdGEKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgZmRpc2tfbGFiZWxpdGVtX2dldF9kYXRhX3U2NChzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSwgdWludDY0X3QgKmRhdGEpCit7CisJaWYgKCFsaSB8fCBsaS0+dHlwZSAhPSAnaicpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGRhdGEpCisJCSpkYXRhID0gbGktPmRhdGEubnVtNjQ7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxpdGVtX2dldF9kYXRhX3N0cmluZzoKKyAqIEBsaTogbGFiZWwgaXRlbQorICogQGRhdGE6IHJldHVybnMgZGF0YQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgZmRpc2tfbGFiZWxpdGVtX2dldF9kYXRhX3N0cmluZyhzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSwgY29uc3QgY2hhciAqKmRhdGEpCit7CisJaWYgKCFsaSB8fCBsaS0+dHlwZSAhPSAncycpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGRhdGEpCisJCSpkYXRhID0gbGktPmRhdGEuc3RyOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsaXRlbV9pc19zdHJpbmc6CisgKiBAbGk6IGxhYmVsIGl0ZW0KKyAqCisgKiBSZXR1cm5zOiAwIG9yIDEKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2ludCBmZGlza19sYWJlbGl0ZW1faXNfc3RyaW5nKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpKQoreworCXJldHVybiBsaSAmJiBsaS0+dHlwZSA9PSAncyc7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxpdGVtX2lzX251bWJlcjoKKyAqIEBsaTogbGFiZWwgaXRlbQorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICogU2luY2U6IDIuMjkKKyAqLworaW50IGZkaXNrX2xhYmVsaXRlbV9pc19udW1iZXIoc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGkpCit7CisJcmV0dXJuIGxpICYmIGxpLT50eXBlID09ICdqJzsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQorc3RhdGljIGludCB0ZXN0X2xpc3RpdGVtcyhzdHJ1Y3QgZmRpc2tfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqZGlzayA9IGFyZ3ZbMV07CisJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dDsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICppdGVtOworCWludCBpID0gMCwgcmM7CisKKwljeHQgPSBmZGlza19uZXdfY29udGV4dCgpOworCWl0ZW0gPSBmZGlza19uZXdfbGFiZWxpdGVtKCk7CisKKwlmZGlza19hc3NpZ25fZGV2aWNlKGN4dCwgZGlzaywgMSk7CisKKwlkbyB7CisJCXJjID0gZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtKGN4dCwgaSsrLCBpdGVtKTsKKwkJc3dpdGNoIChyYykgeworCQljYXNlIDA6CS8qIHN1Y2Nlc3MgKi8KKwkJeworCQkJY29uc3QgY2hhciAqbmFtZSA9IGZkaXNrX2xhYmVsaXRlbV9nZXRfbmFtZShpdGVtKTsKKwkJCWNvbnN0IGNoYXIgKnN0cjsKKwkJCXVpbnQ2NF90IG51bTsKKworCQkJaWYgKGZkaXNrX2xhYmVsaXRlbV9pc19zdHJpbmcoaXRlbSkKKwkJCSAgICAmJiBmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfc3RyaW5nKGl0ZW0sICZzdHIpID09IDApCisJCQkJcHJpbnRmKCIlczogJXNcbiIsIG5hbWUsIHN0cik7CisJCQllbHNlIGlmIChmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfdTY0KGl0ZW0sICZudW0pID09IDApCisJCQkJcHJpbnRmKCIlczogJSJQUkl1NjQiXG4iLCBuYW1lLCBudW0pOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAxOiAvKiBpdGVtIHVuc3VwcG9ydGVkIGJ5IGxhYmVsIC0tIGlnbm9yZSAqLworCQkJcmMgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgMjoJLyogZW5kIChvdXQgb2YgcmFuZ2UpICovCisJCQlicmVhazsKKwkJZGVmYXVsdDogLyogZXJyb3IgKi8KKwkJCWJyZWFrOworCQl9CisJfSB3aGlsZSAocmMgPT0gMCk7CisKKwlmZGlza191bnJlZl9sYWJlbGl0ZW0oaXRlbSk7CisJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCXJldHVybiByYyA8IDAgPyByYyA6IDA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGZkaXNrX3Rlc3QgdHNzW10gPSB7CisJCXsgIi0tbGlzdC1pdGVtcyIsICB0ZXN0X2xpc3RpdGVtcywgICI8ZGlzaz4gICAgICAgICAgICAgbGlzdCBpdGVtcyIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIGZkaXNrX3J1bl90ZXN0KHRzcywgYXJnYywgYXJndik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL2l0ZXIuYyBiL2xpYmZkaXNrL3NyYy9pdGVyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWEwYjA4MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9pdGVyLmMKQEAgLTAsMCArMSw4MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogaXRlcgorICogQHRpdGxlOiBJdGVyYXRvcgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiB1bmlmaWVkIGl0ZXJhdG9yCisgKgorICogVGhlIGl0ZXJhdG9yIGtlZXBzIHRoZSBkaXJlY3Rpb24gYW5kIHRoZSBsYXN0IHBvc2l0aW9uIGZvciBhY2Nlc3MgdG8gdGhlCisgKiBpbnRlcm5hbCBsaWJyYXJ5IHRhYmxlcy9saXN0cy4KKyAqCisgKiBJdCdzIHZlcnkgdW51c3VhbCB0byB1c2UgdGhlIHNhbWUgaXRlcmF0b3Igb24gbXVsdGlwbGUgcGxhY2VzIGluIHlvdXIKKyAqIGFwcGxpY2F0aW9uIG9yIHNoYXJlIHRoZSBzYW1lIGl0ZXJhdG9yLCBmb3IgdGhpcyBwdXJwb3NlIGxpYmZkaXNrIGRvZXMgbm90CisgKiBwcm92aWRlIHJlZmVyZW5jZSBjb3VudGluZyBmb3IgdGhpcyBvYmplY3QuIEl0J3MgcmVjb21tZW5kZWQgdG8gaW5pdGlhbGl6ZQorICogdGhlIGl0ZXJhdG9yIGJ5IGZkaXNrX25ld19pdGVyKCkgYXQgYmVnaW4gb2YgeW91ciBmdW5jdGlvbiBhbmQgdGhlbgorICogZmRpc2tfZnJlZV9pdGVyKCkgYmVmb3JlIHlvdSByZXR1cm4gZnJvbSB0aGUgZnVuY3Rpb24uIAorICoKKyAqIERvbid0IGZvcmdldCB0byBjYWxsIGZkaXNrX3Jlc2V0X2l0ZXIoKSBpZiB5b3Ugd2FudCB0byB1c2UgdGhlIGl0ZXJhdG9yIG1vcmUKKyAqIHRoYW4gb25jZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpbmNsdWRlICJmZGlza1AuaCIKKworLyoqCisgKiBmZGlza19uZXdfaXRlcjoKKyAqIEBkaXJlY3Rpb246IEZESVNLX0lOVEVSX3tGT1IsQkFDS31XQVJEIGRpcmVjdGlvbgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBnZW5lcmljIGxpYm1vdW50IGl0ZXJhdG9yLgorICovCitzdHJ1Y3QgZmRpc2tfaXRlciAqZmRpc2tfbmV3X2l0ZXIoaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgZmRpc2tfaXRlciAqaXRyID0gY2FsbG9jKDEsIHNpemVvZigqaXRyKSk7CisJaWYgKCFpdHIpCisJCXJldHVybiBOVUxMOworCWl0ci0+ZGlyZWN0aW9uID0gZGlyZWN0aW9uOworCXJldHVybiBpdHI7Cit9CisKKy8qKgorICogZmRpc2tfZnJlZV9pdGVyOgorICogQGl0cjogaXRlcmF0b3IgcG9pbnRlcgorICoKKyAqIERlYWxsb2NhdGVzIHRoZSBpdGVyYXRvci4KKyAqLwordm9pZCBmZGlza19mcmVlX2l0ZXIoc3RydWN0IGZkaXNrX2l0ZXIgKml0cikKK3sKKwlmcmVlKGl0cik7Cit9CisKKy8qKgorICogZmRpc2tfcmVzZXRfaXRlcjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqIEBkaXJlY3Rpb246IEZESVNLX0lOVEVSX3tGT1IsQkFDS31XQVJEIG9yIC0xIHRvIGtlZXAgdGhlIGRpcmVjdGlvbiB1bmNoYW5nZWQKKyAqCisgKiBSZXNldHMgdGhlIGl0ZXJhdG9yLgorICovCit2b2lkIGZkaXNrX3Jlc2V0X2l0ZXIoc3RydWN0IGZkaXNrX2l0ZXIgKml0ciwgaW50IGRpcmVjdGlvbikKK3sKKwlpZiAoZGlyZWN0aW9uID09IC0xKQorCQlkaXJlY3Rpb24gPSBpdHItPmRpcmVjdGlvbjsKKworCW1lbXNldChpdHIsIDAsIHNpemVvZigqaXRyKSk7CisJaXRyLT5kaXJlY3Rpb24gPSBkaXJlY3Rpb247Cit9CisKKy8qKgorICogZmRpc2tfaXRlcl9nZXRfZGlyZWN0aW9uOgorICogQGl0cjogaXRlcmF0b3IgcG9pbnRlcgorICoKKyAqIFJldHVybnM6IEZESVNLX0lOVEVSX3tGT1IsQkFDS31XQVJECisgKi8KK2ludCBmZGlza19pdGVyX2dldF9kaXJlY3Rpb24oc3RydWN0IGZkaXNrX2l0ZXIgKml0cikKK3sKKwlyZXR1cm4gaXRyLT5kaXJlY3Rpb247Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvbGFiZWwuYyBiL2xpYmZkaXNrL3NyYy9sYWJlbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhMTFhY2EKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvbGFiZWwuYwpAQCAtMCwwICsxLDcwNiBAQAorCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKworLyoqCisgKiBTRUNUSU9OOiBsYWJlbAorICogQHRpdGxlOiBMYWJlbAorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBkaXNrIGxhYmVsIChQVCkgc3BlY2lmaWMgZGF0YSBhbmQgZnVuY3Rpb25zCisgKgorICogVGhlIGZkaXNrX25ld19jb250ZXh0KCkgaW5pdGlhbGl6ZXMgYWxsIGxhYmVsIGRyaXZlcnMsIGFuZCBhbGxvY2F0ZQorICogcGVyLWxhYmVsIHNwZWNpZmljIGRhdGEgc3RydWN0LiBUaGlzIGNvbmNlcHQgYWxsb3dzIHRvIHN0b3JlIGxhYmVsIHNwZWNpZmljCisgKiBzZXR0aW5ncyB0byB0aGUgbGFiZWwgZHJpdmVyIGluZGVwZW5kZW50bHkgb24gdGhlIGN1cnJlbnRseSBhY3RpdmUgbGFiZWwKKyAqIGRyaXZlci4gTm90ZSB0aGF0IGxhYmVsIHN0cnVjdCBjYW5ub3QgYmUgZGVhbGxvY2F0ZWQsIHNvIHRoZXJlIGlzIG5vCisgKiByZWZlcmVuY2UgY291bnRpbmcgZm9yIGZkaXNrX2xhYmVsIG9iamVjdHMuIEFsbCBpcyBkZXN0cm95ZWQgYnkKKyAqIGZkaXNrX3VucmVmX2NvbnRleHQoKSBvbmx5LgorICoKKyAqIEFueXdheSwgYWxsIGxhYmVsIGRyaXZlcyBzaGFyZSBpbi1tZW1vcnkgZmlyc3Qgc2VjdG9yLiBUaGUgZnVuY3Rpb24KKyAqIGZkaXNrX2NyZWF0ZV9kaXNrbGFiZWwoKSBvdmVyd3JpdGVzIHRoaXMgaW4tbWVtb3J5IHNlY3Rvci4gQnV0IGl0J3MgcG9zc2libGUgdGhhdAorICogbGFiZWwgZHJpdmVyIGFsc28gdXNlcyBhbm90aGVyIGJ1ZmZlcnMsIGZvciBleGFtcGxlIEdQVCByZWFkcyBtb3JlIHNlY3RvcnMKKyAqIGZyb20gdGhlIGRldmljZS4KKyAqCisgKiBBbGwgbGFiZWwgb3BlcmF0aW9ucyBhcmUgaW4tbWVtb3J5IG9ubHksIGV4Y2VwdCBmZGlza193cml0ZV9kaXNrbGFiZWwoKS4KKyAqCisgKiBBbGwgZnVuY3Rpb25zIHRoYXQgdXNlICJzdHJ1Y3QgZmRpc2tfY29udGV4dCIgcmF0aGVyIHRoYW4gInN0cnVjdAorICogZmRpc2tfbGFiZWwiIHVzZSB0aGUgY3VycmVudGx5IGFjdGl2ZSBsYWJlbCBkcml2ZXIuCisgKi8KKworCitpbnQgZmRpc2tfcHJvYmVfbGFiZWxzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisKKwljeHQtPmxhYmVsID0gTlVMTDsKKworCWZvciAoaSA9IDA7IGkgPCBjeHQtPm5sYWJlbHM7IGkrKykgeworCQlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiID0gY3h0LT5sYWJlbHNbaV07CisJCXN0cnVjdCBmZGlza19sYWJlbCAqb3JnID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisJCWludCByYzsKKworCQlpZiAoIWxiLT5vcC0+cHJvYmUpCisJCQljb250aW51ZTsKKwkJaWYgKGxiLT5kaXNhYmxlZCkgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGRpc2FibGVkIC0tIGlnbm9yZSIsIGxiLT5uYW1lKSk7CisJCQljb250aW51ZTsKKwkJfQorCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwcm9iaW5nIGZvciAlcyIsIGxiLT5uYW1lKSk7CisKKwkJY3h0LT5sYWJlbCA9IGxiOworCQlyYyA9IGxiLT5vcC0+cHJvYmUoY3h0KTsKKwkJY3h0LT5sYWJlbCA9IG9yZzsKKworCQlpZiAocmMgIT0gMSkgeworCQkJaWYgKGxiLT5vcC0+ZGVpbml0KQorCQkJCWxiLT5vcC0+ZGVpbml0KGxiKTsJLyogZm9yIHN1cmUgKi8KKwkJCWNvbnRpbnVlOworCQl9CisKKwkJX19mZGlza19zd2l0Y2hfbGFiZWwoY3h0LCBsYik7CisJCXJldHVybiAwOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5vIGxhYmVsIGZvdW5kIikpOworCXJldHVybiAxOyAvKiBub3QgZm91bmQgKi8KK30KKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfbmFtZToKKyAqIEBsYjogbGFiZWwKKyAqCisgKiBSZXR1cm5zOiBsYWJlbCBuYW1lCisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX2xhYmVsX2dldF9uYW1lKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpCit7CisJcmV0dXJuIGxiID8gbGItPm5hbWUgOiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX2lzX2xhYmVsdHlwZToKKyAqIEBsYjogbGFiZWwKKyAqCisgKiBSZXR1cm5zOiBGRElTS19ESVNLTEFCRUxfKi4KKyAqLworaW50IGZkaXNrX2xhYmVsX2dldF90eXBlKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpCit7CisJcmV0dXJuIGxiLT5pZDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5OgorICogQGxiOiBsYWJlbAorICoKKyAqIFJldHVybnM6IDEgaWYgbGFiZWwgcmVxdWlyZXMgQ0hTIGdlb21ldHJ5CisgKi8KK2ludCBmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5KGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpCit7CisJYXNzZXJ0KGxiKTsKKworCXJldHVybiBsYi0+ZmxhZ3MgJiBGRElTS19MQUJFTF9GTF9SRVFVSVJFX0dFT01FVFJZID8gMSA6IDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkc19pZHMKKyAqIEBsYjogbGFiZWwgKG9yIE5VTEwgZm9yIHRoZSBjdXJyZW50IGxhYmVsKQorICogQGN4dDogY29udGV4dAorICogQGlkczogcmV0dXJucyBhbGxvY2F0ZWQgYXJyYXkgd2l0aCBGRElTS19GSUVMRF8qIElEcworICogQG5pZHM6IHJldHVybnMgbnVtYmVyIG9mIGl0ZW1zIGluIGZpZWxkcworICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZGVmYXVsdCBmaWVsZHMgZm9yIHRoZSBsYWJlbC4KKyAqCisgKiBOb3RlIHRoYXQgdGhlIHNldCBvZiB0aGUgZGVmYXVsdCBmaWVsZHMgZGVwZW5kcyBvbiBmZGlza19lbmFibGVfZGV0YWlscygpCisgKiBmdW5jdGlvbi4gSWYgdGhlIGRldGFpbHMgYXJlIGVuYWJsZWQgdGhlbiB0aGlzIGZ1bmN0aW9uIHVzdWFsbHkgcmV0dXJucyBtb3JlCisgKiBmaWVsZHMuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzKAorCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlpbnQgKippZHMsIHNpemVfdCAqbmlkcykKK3sKKwlzaXplX3QgaSwgbjsKKwlpbnQgKmM7CisKKwlpZiAoIWN4dCB8fCAoIWxiICYmICFjeHQtPmxhYmVsKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlsYiA9IGN4dC0+bGFiZWw7CisJaWYgKCFsYi0+ZmllbGRzIHx8ICFsYi0+bmZpZWxkcykKKwkJcmV0dXJuIC1FTk9TWVM7CisJYyA9IGNhbGxvYyhsYi0+bmZpZWxkcywgc2l6ZW9mKGludCkpOworCWlmICghYykKKwkJcmV0dXJuIC1FTk9NRU07CisJZm9yIChuID0gMCwgaSA9IDA7IGkgPCBsYi0+bmZpZWxkczsgaSsrKSB7CisJCWludCBpZCA9IGxiLT5maWVsZHNbaV0uaWQ7CisKKwkJaWYgKChmZGlza19pc19kZXRhaWxzKGN4dCkgJiYKKwkJCQkobGItPmZpZWxkc1tpXS5mbGFncyAmIEZESVNLX0ZJRUxERkxfRVlFQ0FORFkpKQorCQkgICAgIHx8ICghZmRpc2tfaXNfZGV0YWlscyhjeHQpICYmCisJCQkJKGxiLT5maWVsZHNbaV0uZmxhZ3MgJiBGRElTS19GSUVMREZMX0RFVEFJTCkpCisJCSAgICAgfHwgKGlkID09IEZESVNLX0ZJRUxEX1NFQ1RPUlMgJiYKKwkJCSAgICAgICAgIGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkKKwkJICAgICB8fCAoaWQgPT0gRkRJU0tfRklFTERfQ1lMSU5ERVJTICYmCisJCQkgICAgICAgICAhZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKSkKKwkJCWNvbnRpbnVlOworCisJCWNbbisrXSA9IGlkOworCX0KKwlpZiAoaWRzKQorCQkqaWRzID0gYzsKKwllbHNlCisJCWZyZWUoYyk7CisJaWYgKG5pZHMpCisJCSpuaWRzID0gbjsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfZmllbGRzX2lkc19hbGwKKyAqIEBsYjogbGFiZWwgKG9yIE5VTEwgZm9yIHRoZSBjdXJyZW50IGxhYmVsKQorICogQGN4dDogY29udGV4dAorICogQGlkczogcmV0dXJucyBhbGxvY2F0ZWQgYXJyYXkgd2l0aCBGRElTS19GSUVMRF8qIElEcworICogQG5pZHM6IHJldHVybnMgbnVtYmVyIG9mIGl0ZW1zIGluIGZpZWxkcworICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyBhbGwgZmllbGRzIGZvciB0aGUgbGFiZWwuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzX2FsbCgKKwkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJaW50ICoqaWRzLCBzaXplX3QgKm5pZHMpCit7CisJc2l6ZV90IGksIG47CisJaW50ICpjOworCisJaWYgKCFjeHQgfHwgKCFsYiAmJiAhY3h0LT5sYWJlbCkpCisJCXJldHVybiAtRUlOVkFMOworCisJbGIgPSBjeHQtPmxhYmVsOworCWlmICghbGItPmZpZWxkcyB8fCAhbGItPm5maWVsZHMpCisJCXJldHVybiAtRU5PU1lTOworCWMgPSBjYWxsb2MobGItPm5maWVsZHMsIHNpemVvZihpbnQpKTsKKwlpZiAoIWMpCisJCXJldHVybiAtRU5PTUVNOworCWZvciAobiA9IDAsIGkgPSAwOyBpIDwgbGItPm5maWVsZHM7IGkrKykKKwkJY1tuKytdID0gbGItPmZpZWxkc1tpXS5pZDsKKwlpZiAoaWRzKQorCQkqaWRzID0gYzsKKwllbHNlCisJCWZyZWUoYyk7CisJaWYgKG5pZHMpCisJCSpuaWRzID0gbjsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfZmllbGQ6CisgKiBAbGI6IGxhYmVsCisgKiBAaWQ6IEZESVNLX0ZJRUxEXyoKKyAqCisgKiBUaGUgZmllbGQgc3RydWN0IGRlc2NyaWJlcyBkYXRhIHN0b3JlZCBpbiBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uLiBUaGUgaW5mbworICogYWJvdXQgZGF0YSBpcyB1c2FibGUgZm9yIGV4YW1wbGUgdG8gZ2VuZXJhdGUgaHVtYW4gcmVhZGFibGUgb3V0cHV0IChlLmcuCisgKiBmZGlzayAncCdyaW50IGNvbW1hbmQpLiBTZWUgZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZygpIGFuZCBmZGlzayBjb2RlLgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gc3RhdGljIGluc3RhbmNlIG9mIHRoZSBmaWVsZC4KKyAqLworY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmZGlza19sYWJlbF9nZXRfZmllbGQoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwgaW50IGlkKQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KGxiKTsKKwlhc3NlcnQoaWQgPiAwKTsKKworCWZvciAoaSA9IDA7IGkgPCBsYi0+bmZpZWxkczsgaSsrKSB7CisJCWlmIChsYi0+ZmllbGRzW2ldLmlkID09IGlkKQorCQkJcmV0dXJuICZsYi0+ZmllbGRzW2ldOworCX0KKworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX2dldF9maWVsZF9ieV9uYW1lCisgKiBAbGI6IGxhYmVsCisgKiBAbmFtZTogZmllbGQgbmFtZQorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gc3RhdGljIGluc3RhbmNlIG9mIHRoZSBmaWVsZC4KKyAqLworY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmZGlza19sYWJlbF9nZXRfZmllbGRfYnlfbmFtZSgKKwkJCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCWNvbnN0IGNoYXIgKm5hbWUpCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobGIpOworCWFzc2VydChuYW1lKTsKKworCWZvciAoaSA9IDA7IGkgPCBsYi0+bmZpZWxkczsgaSsrKSB7CisJCWlmIChsYi0+ZmllbGRzW2ldLm5hbWUgJiYgc3RyY2FzZWNtcChsYi0+ZmllbGRzW2ldLm5hbWUsIG5hbWUpID09IDApCisJCQlyZXR1cm4gJmxiLT5maWVsZHNbaV07CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogZmRpc2tfd3JpdGVfZGlza2xhYmVsOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIFdyaXRlIGluLW1lbW9yeSBjaGFuZ2VzIHRvIGRpc2suIEJlIGNhcmVmdWwhCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX3dyaXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsIHx8IGN4dC0+cmVhZG9ubHkpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghY3h0LT5sYWJlbC0+b3AtPndyaXRlKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCWZkaXNrX2RvX3dpcGUoY3h0KTsKKwlyZXR1cm4gY3h0LT5sYWJlbC0+b3AtPndyaXRlKGN4dCk7Cit9CisKKy8qKgorICogZmRpc2tfdmVyaWZ5X2Rpc2tsYWJlbDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBWZXJpZmllcyB0aGUgcGFydGl0aW9uIHRhYmxlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza192ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghY3h0LT5sYWJlbC0+b3AtPnZlcmlmeSkKKwkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKGZkaXNrX21pc3NpbmdfZ2VvbWV0cnkoY3h0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gY3h0LT5sYWJlbC0+b3AtPnZlcmlmeShjeHQpOworfQorCisvKioKKyAqIGZkaXNrX2xpc3RfZGlza2xhYmVsOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIExpc3RzIGRldGFpbHMgYWJvdXQgZGlza2xhYmVsLCBidXQgbm8gcGFydGl0aW9ucy4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGJhc2VkIG9uIGZkaXNrX2dldF9kaXNrbGFiZWxfaXRlbSgpIGFuZCBwcmludHMgYWxsIGxhYmVsCisgKiBzcGVjaWZpYyBpbmZvcm1hdGlvbiBieSBBU0sgaW50ZXJmYWNlIChGRElTS19BU0tUWVBFX0lORk8sIGFrYSBmZGlza19pbmZvKCkpLgorICogVGhlIGZ1bmN0aW9uIHJlcXVpcmVzIGVuYWJsZWQgImRldGFpbHMiIGJ5IGZkaXNrX2VuYWJsZV9kZXRhaWxzKCkuCisgKgorICogSXQncyByZWNvbW1lbmRlZCB0byB1c2UgZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtKCkgaWYgeW91IG5lZWQgYmV0dGVyCisgKiBjb250cm9sIG9uIG91dHB1dCBhbmQgZm9ybWF0dGluZy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSwgYSBjb3JyZXNwb25kaW5nIGVycm9yLgorICovCitpbnQgZmRpc2tfbGlzdF9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgaWQgPSAwLCByYyA9IDA7CisJc3RydWN0IGZkaXNrX2xhYmVsaXRlbSBpdGVtID0geyAuaWQgPSBpZCB9OworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCFjeHQtPmRpc3BsYXlfZGV0YWlscykKKwkJcmV0dXJuIDA7CisKKwkvKiBMaXN0IGFsbCBsYWJlbCBpdGVtcyAqLworCWRvIHsKKwkJLyogcmM6IDwgMCBlcnJvciwgMCBzdWNjZXNzLCAxIHVua25vd24gaXRlbSwgMiBvdXQgb2YgcmFuZ2UgKi8KKwkJcmMgPSBmZGlza19nZXRfZGlza2xhYmVsX2l0ZW0oY3h0LCBpZCsrLCAmaXRlbSk7CisJCWlmIChyYyAhPSAwKQorCQkJY29udGludWU7CisJCXN3aXRjaCAoaXRlbS50eXBlKSB7CisJCWNhc2UgJ2onOgorCQkJZmRpc2tfaW5mbyhjeHQsICIlczogJWp1IiwgaXRlbS5uYW1lLCBpdGVtLmRhdGEubnVtNjQpOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJaWYgKGl0ZW0uZGF0YS5zdHIgJiYgaXRlbS5uYW1lKQorCQkJCWZkaXNrX2luZm8oY3h0LCAiJXM6ICVzIiwgaXRlbS5uYW1lLCBpdGVtLmRhdGEuc3RyKTsKKwkJCWJyZWFrOworCQl9CisJCWZkaXNrX3Jlc2V0X2xhYmVsaXRlbSgmaXRlbSk7CisJfSB3aGlsZSAocmMgPT0gMCB8fCByYyA9PSAxKTsKKworCXJldHVybiByYyA8IDAgPyByYyA6IDA7Cit9CisKKy8qKgorICogZmRpc2tfY3JlYXRlX2Rpc2tsYWJlbDoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBuYW1lOiBsYWJlbCBuYW1lCisgKgorICogQ3JlYXRlcyBhIG5ldyBkaXNrIGxhYmVsIG9mIHR5cGUgQG5hbWUuIElmIEBuYW1lIGlzIE5VTEwsIHRoZW4gaXQgd2lsbAorICogY3JlYXRlIGEgZGVmYXVsdCBzeXN0ZW0gbGFiZWwgdHlwZSwgZWl0aGVyIFNVTiBvciBET1MuIFRoZSBmdW5jdGlvbgorICogYXV0b21hdGljYWxseSBzd2l0Y2hlcyB0aGUgY3VycmVudCBsYWJlbCBkcml2ZXIgdG8gQG5hbWUuIFRoZSBmdW5jdGlvbgorICogZmRpc2tfZ2V0X2xhYmVsKCkgcmV0dXJucyB0aGUgY3VycmVudCBsYWJlbCBkcml2ZXIuCisgKgorICogVGhlIGZ1bmN0aW9uIG1vZGlmaWVzIGluLW1lbW9yeSBkYXRhIG9ubHkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2NyZWF0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpbnQgaGFzbGFiZWwgPSAwOworCXN0cnVjdCBmZGlza19sYWJlbCAqbGI7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIW5hbWUpIHsgLyogdXNlIGRlZmF1bHQgbGFiZWwgY3JlYXRpb24gKi8KKyNpZmRlZiBfX3NwYXJjX18KKwkJbmFtZSA9ICJzdW4iOworI2Vsc2UKKwkJbmFtZSA9ICJkb3MiOworI2VuZGlmCisJfQorCisJaWYgKGN4dC0+bGFiZWwpIHsKKwkJZmRpc2tfZGVpbml0X2xhYmVsKGN4dC0+bGFiZWwpOworCQloYXNsYWJlbCA9IDE7CisJfQorCisJbGIgPSBmZGlza19nZXRfbGFiZWwoY3h0LCBuYW1lKTsKKwlpZiAoIWxiIHx8IGxiLT5kaXNhYmxlZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoIWhhc2xhYmVsIHx8IChsYiAmJiBjeHQtPmxhYmVsICE9IGxiKSkKKwkJZmRpc2tfY2hlY2tfY29sbGlzaW9ucyhjeHQpOworCisJaWYgKCFsYi0+b3AtPmNyZWF0ZSkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlfX2ZkaXNrX3N3aXRjaF9sYWJlbChjeHQsIGxiKTsKKwlhc3NlcnQoY3h0LT5sYWJlbCA9PSBsYik7CisKKwlpZiAoaGFzbGFiZWwgJiYgIWN4dC0+cGFyZW50KQorCQlmZGlza19yZXNldF9kZXZpY2VfcHJvcGVydGllcyhjeHQpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiY3JlYXRlIGEgbmV3ICVzIGxhYmVsIiwgbGItPm5hbWUpKTsKKwlyZXR1cm4gbGItPm9wLT5jcmVhdGUoY3h0KTsKK30KKworLyoqCisgKiBmZGlza19sb2NhdGVfZGlza2xhYmVsOgorICogQGN4dDogY29udGV4dAorICogQG46IE4gaXRlbQorICogQG5hbWU6IHJldHVybiBpdGVtIG5hbWUKKyAqIEBvZmZzZXQ6IHJldHVybiBvZmZzZXQgd2hlcmUgaXMgaXRlbQorICogQHNpemU6IG9mIHRoZSBpdGVtCisgKgorICogTG9jYXRlIGRpc2tsYWJlbCBhbmQgcmV0dXJucyBpbmZvIGFib3V0IEBuIGl0ZW0gb2YgdGhlIGxhYmVsLiBGb3IgZXhhbXBsZQorICogR1BUIGlzIGNvbXBvc2VkIGZyb20gdHdvIGl0ZW1zLCBQTUJSIGFuZCBHUFQsIG49MCByZXR1cm4gb2Zmc2V0IHRvIFBNQlIgYW5kIG49MQorICogcmV0dXJuIG9mZnNldCB0byBHUFQuIEZvciBtb3JlIGRldGFpbHMgc2VlICdEJyBleHBlcnQgZmRpc2sgY29tbWFuZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLCAxIG5vIG1vcmUgaXRlbXMuCisgKi8KK2ludCBmZGlza19sb2NhdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBuLCBjb25zdCBjaGFyICoqbmFtZSwKKwkJCSAgIHVpbnQ2NF90ICpvZmZzZXQsIHNpemVfdCAqc2l6ZSkKK3sKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFjeHQtPmxhYmVsLT5vcC0+bG9jYXRlKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImxvY2F0aW5nICVkIGNodW5rIG9mICVzLiIsIG4sIGN4dC0+bGFiZWwtPm5hbWUpKTsKKwlyZXR1cm4gY3h0LT5sYWJlbC0+b3AtPmxvY2F0ZShjeHQsIG4sIG5hbWUsIG9mZnNldCwgc2l6ZSk7Cit9CisKKworLyoqCisgKiBmZGlza19nZXRfZGlza2xhYmVsX2lkOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICogQGlkOiByZXR1cm5zIHBvaW50ZXIgdG8gYWxsb2NhdGVkIHN0cmluZyAoTUJSIElkIG9yIEdQVCBkaXJrIFVVSUQpCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2dldF9kaXNrbGFiZWxfaWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY2hhciAqKmlkKQoreworCXN0cnVjdCBmZGlza19sYWJlbGl0ZW0gaXRlbSA9IEZESVNLX0xBQkVMSVRFTV9JTklUOworCWludCByYzsKKworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsIHx8ICFpZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhc2tpbmcgZm9yIGRpc2sgJXMgSUQiLCBjeHQtPmxhYmVsLT5uYW1lKSk7CisKKwlyYyA9IGZkaXNrX2dldF9kaXNrbGFiZWxfaXRlbShjeHQsIEZESVNLX0xBQkVMSVRFTV9JRCwgJml0ZW0pOworCWlmIChyYyA9PSAwKSB7CisJCSppZCA9IGl0ZW0uZGF0YS5zdHI7CisJCWl0ZW0uZGF0YS5zdHIgPSBOVUxMOworCX0KKwlmZGlza19yZXNldF9sYWJlbGl0ZW0oJml0ZW0pOworCWlmIChyYyA+IDApCisJCXJjID0gMDsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtOgorICogQGN4dDogZmRpc2sgY29udGV4dAorICogQGlkOiBpdGVtIElEIChGRElTS19MQUJFTElURU1fKiBvciAqX0xBQkVMSVRFTV8qKQorICogQGl0ZW06IHNwZWNpZmllcyBhbmQgcmV0dXJucyB0aGUgaXRlbQorICoKKyAqIE5vdGUgdGhhdCBAaWQgaXMgYWx3YXlzIGluIHJhbmdlIDAuLk4uIEl0J3MgZmluZSB0byB1c2UgdGhlIGZ1bmN0aW9uIGluIGxvb3AKKyAqIHVudGlsIGl0IHJldHVybnMgZXJyb3Igb3IgMiwgdGhlIHJlc3VsdCBpbiBAaXRlbSBzaG91bGQgYmUgaWdub3JlZCB3aGVuCisgKiBmdW5jdGlvbiByZXR1cm5zIDEuIERvbid0IGZvcmdldCB0byB1c2UgZmRpc2tfcmVzZXRfbGFiZWxpdGVtKCkgb3IgZmRpc2tfdW5yZWZfbGFiZWxpdGVtKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8IDAgb24gZXJyb3IsIDEgb24gdW5zdXBwb3J0ZWQgaXRlbSwgMiBpZCBvdXQgb2YgcmFuZ2UKKyAqLworaW50IGZkaXNrX2dldF9kaXNrbGFiZWxfaXRlbShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgaWQsIHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW0pCit7CisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwgfHwgIWl0ZW0pCisJCXJldHVybiAtRUlOVkFMOworCisJZmRpc2tfcmVzZXRfbGFiZWxpdGVtKGl0ZW0pOworCWl0ZW0tPmlkID0gaWQ7CisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiYXNraW5nIGZvciBkaXNrICVzIGl0ZW0gJWQiLCBjeHQtPmxhYmVsLT5uYW1lLCBpdGVtLT5pZCkpOworCisJaWYgKCFjeHQtPmxhYmVsLT5vcC0+Z2V0X2l0ZW0pCisJCXJldHVybiAtRU5PU1lTOworCisJcmV0dXJuIGN4dC0+bGFiZWwtPm9wLT5nZXRfaXRlbShjeHQsIGl0ZW0pOworfQorCisvKioKKyAqIGZkaXNrX3NldF9kaXNrbGFiZWxfaWQ6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX3NldF9kaXNrbGFiZWxfaWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFjeHQtPmxhYmVsLT5vcC0+c2V0X2lkKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNldHRpbmcgJXMgZGlzayBJRCIsIGN4dC0+bGFiZWwtPm5hbWUpKTsKKwlyZXR1cm4gY3h0LT5sYWJlbC0+b3AtPnNldF9pZChjeHQpOworfQorCisvKioKKyAqIGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZToKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBwYXJ0bnVtOiBwYXJ0aXRpb24gbnVtYmVyCisgKiBAdDogbmV3IHR5cGUKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwgMCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgICBzaXplX3QgcGFydG51bSwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KQoreworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsIHx8ICF0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCisJaWYgKGN4dC0+bGFiZWwtPm9wLT5zZXRfcGFydCkgeworCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IGZkaXNrX25ld19wYXJ0aXRpb24oKTsKKwkJaW50IHJjOworCisJCWlmICghcGEpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJZmRpc2tfcGFydGl0aW9uX3NldF90eXBlKHBhLCB0KTsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwYXJ0aXRpb246ICV6ZDogc2V0IHR5cGUiLCBwYXJ0bnVtKSk7CisJCXJjID0gY3h0LT5sYWJlbC0+b3AtPnNldF9wYXJ0KGN4dCwgcGFydG51bSwgcGEpOworCQlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCQlyZXR1cm4gcmM7CisJfQorCisJcmV0dXJuIC1FTk9TWVM7Cit9CisKKworLyoqCisgKiBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWc6CisgKiBAY3h0OiBmZGlzayBjb250ZXh0CisgKiBAcGFydG51bTogcGFydGl0aW9uIG51bWJlcgorICogQGZsYWc6IGZsYWcgSUQKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSwgYSBjb3JyZXNwb25kaW5nIGVycm9yLgorICovCitpbnQgZmRpc2tfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkgICAgICAgc2l6ZV90IHBhcnRudW0sCisJCQkgICAgICAgdW5zaWduZWQgbG9uZyBmbGFnKQoreworCWludCByYzsKKworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5wYXJ0X3RvZ2dsZV9mbGFnKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCXJjID0gY3h0LT5sYWJlbC0+b3AtPnBhcnRfdG9nZ2xlX2ZsYWcoY3h0LCBwYXJ0bnVtLCBmbGFnKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInBhcnRpdGlvbjogJXpkOiB0b2dnbGU6IDB4JTA0bHggW3JjPSVkXSIsIHBhcnRudW0sIGZsYWcsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX3Jlb3JkZXJfcGFydGl0aW9ucworICogQGN4dDogZmRpc2sgY29udGV4dAorICoKKyAqIFNvcnQgcGFydGl0aW9ucyBhY2NvcmRpbmcgdG8gdGhlIHBhcnRpdGlvbiBzdGFydCBzZWN0b3IuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAxIHJlb3JkZXIgdW5uZWNlc3NhcnksIG90aGVyd2lzZSBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza19yZW9yZGVyX3BhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFjeHQtPmxhYmVsLT5vcC0+cmVvcmRlcikKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlyZXR1cm4gY3h0LT5sYWJlbC0+b3AtPnJlb3JkZXIoY3h0KTsKK30KKworLyoKKyAqIFJlc2V0cyB0aGUgY3VycmVudCB1c2VkIGxhYmVsIGRyaXZlciB0byBpbml0aWFsIHN0YXRlCisgKi8KK3ZvaWQgZmRpc2tfZGVpbml0X2xhYmVsKHN0cnVjdCBmZGlza19sYWJlbCAqbGIpCit7CisJYXNzZXJ0KGxiKTsKKworCS8qIHByaXZhdGUgbGFiZWwgaW5mb3JtYXRpb24gKi8KKwlpZiAobGItPm9wLT5kZWluaXQpCisJCWxiLT5vcC0+ZGVpbml0KGxiKTsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9zZXRfY2hhbmdlZDoKKyAqIEBsYjogbGFiZWwKKyAqIEBjaGFuZ2VkOiAwLzEKKyAqCisgKiBNYXJrcyBpbi1tZW1vcnkgZGF0YSBhcyBjaGFuZ2VkLCB0byBmb3JjZSBmZGlza193cml0ZV9kaXNrbGFiZWwoKSB0byB3cml0ZQorICogdG8gZGV2aWNlLiBUaGlzIHNob3VsZCBiZSB1bm5lY2Vzc2FyeSBieSBkZWZhdWx0LCB0aGUgbGlicmFyeSBrZWVwcyB0cmFjaworICogYWJvdXQgY2hhbmdlcy4KKyAqLwordm9pZCBmZGlza19sYWJlbF9zZXRfY2hhbmdlZChzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLCBpbnQgY2hhbmdlZCkKK3sKKwlhc3NlcnQobGIpOworCWxiLT5jaGFuZ2VkID0gY2hhbmdlZCA/IDEgOiAwOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX2lzX2NoYW5nZWQ6CisgKiBAbGI6IGxhYmVsCisgKgorICogUmV0dXJuczogMSBpZiBpbi1tZW1vcnkgZGF0YSBoYXMgYmVlbiBjaGFuZ2VkLgorICovCitpbnQgZmRpc2tfbGFiZWxfaXNfY2hhbmdlZChjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKQoreworCWFzc2VydChsYik7CisJcmV0dXJuIGxiID8gbGItPmNoYW5nZWQgOiAwOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZDoKKyAqIEBsYjogbGFiZWwKKyAqIEBkaXNhYmxlZDogMCBvciAxCisgKgorICogTWFyayBsYWJlbCBhcyBkaXNhYmxlZCwgdGhlbiBsaWJmZGlzayBpcyBnb2luZyB0byBpZ25vcmUgdGhlIGxhYmVsIHdoZW4KKyAqIHByb2JlIGRldmljZSBmb3IgbGFiZWxzLgorICovCit2b2lkIGZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZChzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLCBpbnQgZGlzYWJsZWQpCit7CisJYXNzZXJ0KGxiKTsKKworCURCRyhMQUJFTCwgdWxfZGVidWcoIiVzIGxhYmVsICVzIiwKKwkJCQlsYi0+bmFtZSwKKwkJCQlkaXNhYmxlZCA/ICJESVNBQkxFRCIgOiAiRU5BQkxFRCIpKTsKKwlsYi0+ZGlzYWJsZWQgPSBkaXNhYmxlZCA/IDEgOiAwOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX2lzX2Rpc2FibGVkOgorICogQGxiOiBsYWJlbAorICoKKyAqIFJldHVybnM6IDEgaWYgbGFiZWwgZHJpdmVyIGRpc2FibGVkLgorICovCitpbnQgZmRpc2tfbGFiZWxfaXNfZGlzYWJsZWQoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYikKK3sKKwlhc3NlcnQobGIpOworCXJldHVybiBsYiA/IGxiLT5kaXNhYmxlZCA6IDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfZ2V0X2dlb21yYW5nZV9zZWN0b3JzOgorICogQGxiOiBsYWJlbAorICogQG1pOiBtaW5pbWFsIG51bWJlcgorICogQG1hOiBtYXhpbWFsIG51bWJlcgorICoKKyAqIFRoZSBmdW5jdGlvbiBwcm92aWRlcyBtaW5pbWFsIGFuZCBtYXhpbWFsIGdlb21ldHJ5IHN1cHBvcnRlZCBmb3IgdGhlIGxhYmVsLAorICogaWYgbm8gcmFuZ2UgZGVmaW5lZCBieSBsaWJyYXJ5IHRoYW4gcmV0dXJucyAtRU5PU1lTLgorICoKKyAqIFNpbmNlOiAyLjMyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2xhYmVsX2dldF9nZW9tcmFuZ2Vfc2VjdG9ycyhjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCQlmZGlza19zZWN0b3JfdCAqbWksIGZkaXNrX3NlY3Rvcl90ICptYSkKK3sKKwlpZiAoIWxiIHx8IGxiLT5nZW9tX21pbi5zZWN0b3JzID09IDApCisJCXJldHVybiAtRU5PU1lTOworCWlmIChtaSkKKwkJKm1pID0gbGItPmdlb21fbWluLnNlY3RvcnM7CisJaWYgKG1hKQorCQkqbWEgPSBsYi0+Z2VvbV9tYXguc2VjdG9yczsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfZ2VvbXJhbmdlX2hlYWRzOgorICogQGxiOiBsYWJlbAorICogQG1pOiBtaW5pbWFsIG51bWJlcgorICogQG1hOiBtYXhpbWFsIG51bWJlcgorICoKKyAqIFRoZSBmdW5jdGlvbiBwcm92aWRlcyBtaW5pbWFsIGFuZCBtYXhpbWFsIGdlb21ldHJ5IHN1cHBvcnRlZCBmb3IgdGhlIGxhYmVsLAorICogaWYgbm8gcmFuZ2UgZGVmaW5lZCBieSBsaWJyYXJ5IHRoYW4gcmV0dXJucyAtRU5PU1lTLgorICoKKyAqIFNpbmNlOiAyLjMyCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2xhYmVsX2dldF9nZW9tcmFuZ2VfaGVhZHMoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCQkJdW5zaWduZWQgaW50ICptaSwgdW5zaWduZWQgaW50ICptYSkKK3sKKwlpZiAoIWxiIHx8IGxiLT5nZW9tX21pbi5oZWFkcyA9PSAwKQorCQlyZXR1cm4gLUVOT1NZUzsKKwlpZiAobWkpCisJCSptaSA9IGxiLT5nZW9tX21pbi5oZWFkczsKKwlpZiAobWEpCisJCSptYSA9IGxiLT5nZW9tX21heC5oZWFkczsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfZ2VvbXJhbmdlX2N5bGluZGVyczoKKyAqIEBsYjogbGFiZWwKKyAqIEBtaTogbWluaW1hbCBudW1iZXIKKyAqIEBtYTogbWF4aW1hbCBudW1iZXIKKyAqCisgKiBUaGUgZnVuY3Rpb24gcHJvdmlkZXMgbWluaW1hbCBhbmQgbWF4aW1hbCBnZW9tZXRyeSBzdXBwb3J0ZWQgZm9yIHRoZSBsYWJlbCwKKyAqIGlmIG5vIHJhbmdlIGRlZmluZWQgYnkgbGlicmFyeSB0aGFuIHJldHVybnMgLUVOT1NZUy4KKyAqCisgKiBTaW5jZTogMi4zMgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2Vzcywgb3RoZXJ3aXNlLCBhIGNvcnJlc3BvbmRpbmcgZXJyb3IuCisgKi8KK2ludCBmZGlza19sYWJlbF9nZXRfZ2VvbXJhbmdlX2N5bGluZGVycyhjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCQlmZGlza19zZWN0b3JfdCAqbWksIGZkaXNrX3NlY3Rvcl90ICptYSkKK3sKKwlpZiAoIWxiIHx8IGxiLT5nZW9tX21pbi5jeWxpbmRlcnMgPT0gMCkKKwkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKG1pKQorCQkqbWkgPSBsYi0+Z2VvbV9taW4uY3lsaW5kZXJzOworCWlmIChtYSkKKwkJKm1hID0gbGItPmdlb21fbWF4LmN5bGluZGVyczsKKwlyZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL2xpYmZkaXNrLmguaW4gYi9saWJmZGlzay9zcmMvbGliZmRpc2suaC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzMxMmMzCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2xpYmZkaXNrLmguaW4KQEAgLTAsMCArMSw4MzYgQEAKKy8qCisgKiBsaWJmZGlzay5oIC0gbGliZmRpc2sgQVBJCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2lmbmRlZiBfTElCRkRJU0tfSAorI2RlZmluZSBfTElCRkRJU0tfSAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorCisvKioKKyAqIExJQkZESVNLX1ZFUlNJT046CisgKgorICogTGlicmFyeSB2ZXJzaW9uIHN0cmluZworICovCisjZGVmaW5lIExJQkZESVNLX1ZFUlNJT04gICAiQExJQkZESVNLX1ZFUlNJT05AIgorCisjZGVmaW5lIExJQkZESVNLX01BSk9SX1ZFUlNJT04gICBATElCRkRJU0tfTUFKT1JfVkVSU0lPTkAKKyNkZWZpbmUgTElCRkRJU0tfTUlOT1JfVkVSU0lPTiAgIEBMSUJGRElTS19NSU5PUl9WRVJTSU9OQAorI2RlZmluZSBMSUJGRElTS19QQVRDSF9WRVJTSU9OICAgQExJQkZESVNLX1BBVENIX1ZFUlNJT05ACisKKy8qKgorICogZmRpc2tfY29udGV4dDoKKyAqCisgKiBCYXNpYyBsaWJyYXJ5IGhhbmRsZXIuCisgKi8KK3N0cnVjdCBmZGlza19jb250ZXh0OworCisvKioKKyAqIGZkaXNrX2xhYmVsOgorICoKKyAqIERpc2sgbGFiZWwgc3BlY2lmaWMgZHJpdmVyIGFuZCBzZXR0aW5nLgorICovCitzdHJ1Y3QgZmRpc2tfbGFiZWw7CisKKy8qKgorICogZmRpc2tfcGFydHR5cGU6CisgKgorICogUGFydGl0aW9uIHR5cGUuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0dHlwZTsKKworLyoqCisgKiBmZGlza19wYXJ0aXRpb246CisgKgorICogUGFydGl0aW9uIGFic3RyYWN0aW9uIChhbmQgdGVtcGxhdGUpLgorICovCitzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uOworCisvKioKKyAqIGZkaXNrX2FzazoKKyAqCisgKiBBc2sgQVBJIGhhbmRsZXIgZm9yIGRpYWxvZ3Mgd2l0aCB1c2Vycy4KKyAqLworc3RydWN0IGZkaXNrX2FzazsKKworLyoqCisgKiBmZGlza19pdGVyOgorICoKKyAqIFVuaWZpZWQgaXRlcmF0b3IuCisgKi8KK3N0cnVjdCBmZGlza19pdGVyOworCisvKioKKyAqIGZkaXNrX3RhYmxlOgorICoKKyAqIENvbnRhaW5lciBmb3IgZmRpc2tfcGFydGl0aW9uIG9iamVjdHMKKyAqLworc3RydWN0IGZkaXNrX3RhYmxlOworCisvKioKKyAqIGZkaXNrX2ZpZWxkCisgKgorICogT3V0cHV0IGZpZWxkIGRlc2NyaXB0aW9uLgorICovCitzdHJ1Y3QgZmRpc2tfZmllbGQ7CisKKy8qKgorICogZmRpc2tfc2NyaXB0CisgKgorICogbGlicmFyeSBoYW5kbGVyIGZvciBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHRzIGFuZCBkdW1wcworICovCitzdHJ1Y3QgZmRpc2tfc2NyaXB0OworCisvKioKKyAqIGZkaXNrX3NlY3Rvcl90CisgKgorICogTEJBIGFkZHJlc3NlcyB0eXBlCisgKi8KK3R5cGVkZWYgdWludDY0X3QgZmRpc2tfc2VjdG9yX3Q7CisKKy8qKgorICogZmRpc2tfbGFiZWx0eXBlOgorICogQEZESVNLX0RJU0tMQUJFTF9ET1M6IE1CUiBsYWJlbCB0eXBlCisgKiBARkRJU0tfRElTS0xBQkVMX1NVTjogU1VOIGxhYmVsIHR5cGUKKyAqIEBGRElTS19ESVNLTEFCRUxfU0dJOiBTR0kgbGFiZWwgdHlwZQorICogQEZESVNLX0RJU0tMQUJFTF9CU0Q6IEJTRCBsYWJlbCB0eXBlCisgKiBARkRJU0tfRElTS0xBQkVMX0dQVDogVUVGSSBHUFQgdHlwZQorICoKKyAqIFN1cHBvcnRlZCBwYXJ0aXRpb24gdGFibGUgdHlwZXMgKGxhYmVscykKKyAqLworZW51bSBmZGlza19sYWJlbHR5cGUgeworCUZESVNLX0RJU0tMQUJFTF9ET1MgPSAoMSA8PCAxKSwJCS8qIE1CUiBsYWJlbCB0eXBlICovCisJRkRJU0tfRElTS0xBQkVMX1NVTiA9ICgxIDw8IDIpLAkJLyogU1VOIGxhYmVsIHR5cGUgKi8KKwlGRElTS19ESVNLTEFCRUxfU0dJID0gKDEgPDwgMyksCQkvKiBTR0kgbGFiZWwgdHlwZSAqLworCUZESVNLX0RJU0tMQUJFTF9CU0QgPSAoMSA8PCA0KSwJCS8qIEJTRCBsYWJlbCB0IHlwZSAqLworCUZESVNLX0RJU0tMQUJFTF9HUFQgPSAoMSA8PCA1KQkJLyogVUVGSSBHUFQgdHlwZSAqLworfTsKKworLyoqCisgKiBmZGlza19sYWJlbGl0ZW06CisgKgorICogbGlicmFyeSBoYW5kbGVyIGZvciBsYWJlbCBzcGVjaWZpYyBpbmZvcm1hdGlvbi4gU2VlCisgKiBnZW5lcmljIEZESVNLX0xBQkVMSVRFTV8qIGFuZCBsYWJlbCBzcGVjaWZpYyB7R1BULE1CUiwuLn1fTEFCRUxJVEVNXyouCisgKi8KK3N0cnVjdCBmZGlza19sYWJlbGl0ZW07CisKKy8qKgorICogZmRpc2tfYXNrdHlwZToKKyAqIEBGRElTS19BU0tUWVBFX05PTkU6IHVuZGVmaW5lZCB0eXBlCisgKiBARkRJU0tfQVNLVFlQRV9OVU1CRVI6IGFzayBmb3IgbnVtYmVyCisgKiBARkRJU0tfQVNLVFlQRV9PRkZTRVQ6ICBhc2sgZm9yIG9mZnNldAorICogQEZESVNLX0FTS1RZUEVfV0FSTjogIHByaW50IHdhcm5pbmcgbWVzc2FnZSBhbmQgZXJybm8KKyAqIEBGRElTS19BU0tUWVBFX1dBUk5YOiBwcmludCB3YXJuaW5nIG1lc3NhZ2UKKyAqIEBGRElTS19BU0tUWVBFX0lORk86IHByaW50IGluZm9yIG1lc3NhZ2UKKyAqIEBGRElTS19BU0tUWVBFX1lFU05POiBhc2sgWWVzL05vIHF1ZXN0aW9uCisgKiBARkRJU0tfQVNLVFlQRV9TVFJJTkc6IGFzayBmb3Igc3RyaW5nCisgKiBARkRJU0tfQVNLVFlQRV9NRU5VOiBhc2sgZm9yIG1lbnUgaXRlbQorICoKKyAqIEFzayBBUEkgZGlhbG9nIHR5cGVzCisgKi8KK2VudW0gZmRpc2tfYXNrdHlwZSB7CisJRkRJU0tfQVNLVFlQRV9OT05FID0gMCwKKwlGRElTS19BU0tUWVBFX05VTUJFUiwKKwlGRElTS19BU0tUWVBFX09GRlNFVCwKKwlGRElTS19BU0tUWVBFX1dBUk4sCisJRkRJU0tfQVNLVFlQRV9XQVJOWCwKKwlGRElTS19BU0tUWVBFX0lORk8sCisJRkRJU0tfQVNLVFlQRV9ZRVNOTywKKwlGRElTS19BU0tUWVBFX1NUUklORywKKwlGRElTS19BU0tUWVBFX01FTlUKK307CisKKy8qIGluaXQuYyAqLworZXh0ZXJuIHZvaWQgZmRpc2tfaW5pdF9kZWJ1ZyhpbnQgbWFzayk7CisKKy8qIHZlcnNpb24uYyAqLworZXh0ZXJuIGludCBmZGlza19wYXJzZV92ZXJzaW9uX3N0cmluZyhjb25zdCBjaGFyICp2ZXJfc3RyaW5nKTsKK2V4dGVybiBpbnQgZmRpc2tfZ2V0X2xpYnJhcnlfdmVyc2lvbihjb25zdCBjaGFyICoqdmVyX3N0cmluZyk7CitleHRlcm4gaW50IGZkaXNrX2dldF9saWJyYXJ5X2ZlYXR1cmVzKGNvbnN0IGNoYXIgKioqZmVhdHVyZXMpOworCisvKiBjb250ZXh0LmggKi8KKworI2RlZmluZSBGRElTS19QTFVSQUwJMAorI2RlZmluZSBGRElTS19TSU5HVUxBUgkxCisKK3N0cnVjdCBmZGlza19jb250ZXh0ICpmZGlza19uZXdfY29udGV4dCh2b2lkKTsKK3N0cnVjdCBmZGlza19jb250ZXh0ICpmZGlza19uZXdfbmVzdGVkX2NvbnRleHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKnBhcmVudCwgY29uc3QgY2hhciAqbmFtZSk7Cit2b2lkIGZkaXNrX3VucmVmX2NvbnRleHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7Cit2b2lkIGZkaXNrX3JlZl9jb250ZXh0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitzdHJ1Y3QgZmRpc2tfY29udGV4dCAqZmRpc2tfZ2V0X3BhcmVudChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK3NpemVfdCBmZGlza19nZXRfbnBhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK3N0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfZ2V0X2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKm5hbWUpOworaW50IGZkaXNrX25leHRfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsICoqbGIpOworc2l6ZV90IGZkaXNrX2dldF9ubGFiZWxzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitpbnQgZmRpc2tfaGFzX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworaW50IGZkaXNrX2lzX2xhYmVsdHlwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBlbnVtIGZkaXNrX2xhYmVsdHlwZSBpZCk7CisjZGVmaW5lIGZkaXNrX2lzX2xhYmVsKGMsIHgpIGZkaXNrX2lzX2xhYmVsdHlwZShjLCBGRElTS19ESVNLTEFCRUxfICMjIHgpCisKKworaW50IGZkaXNrX2Fzc2lnbl9kZXZpY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCWNvbnN0IGNoYXIgKmZuYW1lLCBpbnQgcmVhZG9ubHkpOworaW50IGZkaXNrX2RlYXNzaWduX2RldmljZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbm9zeW5jKTsKK2ludCBmZGlza19yZWFzc2lnbl9kZXZpY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2ludCBmZGlza19pc19yZWFkb25seShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ludCBmZGlza19pc19yZWdmaWxlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworaW50IGZkaXNrX2RldmljZV9pc191c2VkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitpbnQgZmRpc2tfZGlzYWJsZV9kaWFsb2dzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBkaXNhYmxlKTsKK2ludCBmZGlza19oYXNfZGlhbG9ncyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworaW50IGZkaXNrX2VuYWJsZV9kZXRhaWxzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworaW50IGZkaXNrX2lzX2RldGFpbHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2ludCBmZGlza19lbmFibGVfbGlzdG9ubHkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CitpbnQgZmRpc2tfaXNfbGlzdG9ubHkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2ludCBmZGlza19lbmFibGVfd2lwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKTsKK2ludCBmZGlza19oYXNfd2lwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2NvbnN0IGNoYXIgKmZkaXNrX2dldF9jb2xsaXNpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfaXNfcHRjb2xsaXNpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2ludCBmZGlza19zZXRfdW5pdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpzdHIpOworY29uc3QgY2hhciAqZmRpc2tfZ2V0X3VuaXQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IG4pOworaW50IGZkaXNrX3VzZV9jeWxpbmRlcnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7Cit1bnNpZ25lZCBpbnQgZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK3Vuc2lnbmVkIGxvbmcgZmRpc2tfZ2V0X29wdGltYWxfaW9zaXplKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfbWluaW1hbF9pb3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7Cit1bnNpZ25lZCBsb25nIGZkaXNrX2dldF9waHlzZWN0b3Jfc2l6ZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK3Vuc2lnbmVkIGxvbmcgZmRpc2tfZ2V0X3NlY3Rvcl9zaXplKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOwordW5zaWduZWQgbG9uZyBmZGlza19nZXRfYWxpZ25tZW50X29mZnNldChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK3Vuc2lnbmVkIGxvbmcgZmRpc2tfZ2V0X2dyYWluX3NpemUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitmZGlza19zZWN0b3JfdCBmZGlza19nZXRfZmlyc3RfbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfc2V0X2ZpcnN0X2xiYShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBsYmEpOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfZ2V0X2xhc3RfbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZmRpc2tfc2VjdG9yX3QgZmRpc2tfc2V0X2xhc3RfbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IGxiYSk7CitmZGlza19zZWN0b3JfdCBmZGlza19nZXRfbnNlY3RvcnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7Citjb25zdCBjaGFyICpmZGlza19nZXRfZGV2bmFtZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ludCBmZGlza19nZXRfZGV2ZmQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK3Vuc2lnbmVkIGludCBmZGlza19nZXRfZ2VvbV9oZWFkcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX2dldF9nZW9tX3NlY3RvcnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitmZGlza19zZWN0b3JfdCBmZGlza19nZXRfZ2VvbV9jeWxpbmRlcnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2VudW0geworCUZESVNLX1NJWkVVTklUX0hVTUFOCT0gMCwJLyogZGVmYXVsdCwgaHVtYW4gcmVhZGFibGUge00sRyxQLC4uLn0gKi8KKwlGRElTS19TSVpFVU5JVF9CWVRFUwkJLyogYnl0ZXMgKi8KK307CitpbnQgZmRpc2tfc2V0X3NpemVfdW5pdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgdW5pdCk7CitpbnQgZmRpc2tfZ2V0X3NpemVfdW5pdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworaW50IGZkaXNrX2hhc19wcm90ZWN0ZWRfYm9vdGJpdHMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfZW5hYmxlX2Jvb3RiaXRzX3Byb3RlY3Rpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CisKKy8qIHBhcnR0eXBlLmMgKi8KK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfbmV3X3BhcnR0eXBlKHZvaWQpOwordm9pZCBmZGlza19yZWZfcGFydHR5cGUoc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KTsKK3ZvaWQgZmRpc2tfdW5yZWZfcGFydHR5cGUoc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KTsKK2ludCBmZGlza19wYXJ0dHlwZV9zZXRfbmFtZShzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQsIGNvbnN0IGNoYXIgKnN0cik7CitpbnQgZmRpc2tfcGFydHR5cGVfc2V0X3R5cGVzdHIoc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0LCBjb25zdCBjaGFyICpzdHIpOworaW50IGZkaXNrX3BhcnR0eXBlX3NldF9jb2RlKHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCwgaW50IGNvZGUpOworc2l6ZV90IGZkaXNrX2xhYmVsX2dldF9ucGFydHR5cGVzKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19sYWJlbF9nZXRfcGFydHR5cGUoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwgc2l6ZV90IG4pOworaW50IGZkaXNrX2xhYmVsX2hhc19jb2RlX3BhcnR0eXBlcyhjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKTsKK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZSgKKwkJCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCXVuc2lnbmVkIGludCBjb2RlKTsKK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fc3RyaW5nKAorCQkJCWNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIsCisJCQkJY29uc3QgY2hhciAqc3RyKTsKK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGUodW5zaWduZWQgaW50IGNvZGUsCisJCQkJCQkgIGNvbnN0IGNoYXIgKnR5cGVzdHIpOworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19jb3B5X3BhcnR0eXBlKGNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdHlwZSk7CitzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlKAorCQkJCWNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIsCisJCQkJY29uc3QgY2hhciAqc3RyKTsKK2NvbnN0IGNoYXIgKmZkaXNrX3BhcnR0eXBlX2dldF9zdHJpbmcoY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KTsKK3Vuc2lnbmVkIGludCBmZGlza19wYXJ0dHlwZV9nZXRfY29kZShjb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpOworY29uc3QgY2hhciAqZmRpc2tfcGFydHR5cGVfZ2V0X25hbWUoY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KTsKK2ludCBmZGlza19wYXJ0dHlwZV9pc191bmtub3duKGNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCk7CisKKworLyogZmllbGQuYyAqLworZXh0ZXJuIGludCBmZGlza19maWVsZF9nZXRfaWQoY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmaWVsZCk7CitleHRlcm4gY29uc3QgY2hhciAqZmRpc2tfZmllbGRfZ2V0X25hbWUoY29uc3Qgc3RydWN0IGZkaXNrX2ZpZWxkICpmaWVsZCk7CitleHRlcm4gZG91YmxlIGZkaXNrX2ZpZWxkX2dldF93aWR0aChjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZpZWxkKTsKK2V4dGVybiBpbnQgZmRpc2tfZmllbGRfaXNfbnVtYmVyKGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmllbGQpOworCisKKy8qIGxhYmVsLmMgKi8KKworLyoqCisgKiBmZGlza19maWVsZHR5cGU6CisgKiBARkRJU0tfRklFTERfTk9ORTogdW5zcGVjaWZpZWQgaXRlbQorICogQEZESVNLX0ZJRUxEX0RFVklDRTogcGFydGl0aW9uIGRldmljZSBuYW1lCisgKiBARkRJU0tfRklFTERfU1RBUlQ6IHN0YXJ0IG9mZnNldCBvZiB0aGUgcGFydGl0aW9uCisgKiBARkRJU0tfRklFTERfRU5EOiBlbmQgb2Zmc2V0IG9mIHRoZSBwYXJ0aXRpb24KKyAqIEBGRElTS19GSUVMRF9TRUNUT1JTOiBudW1iZXIgb2Ygc2VjdG9ycworICogQEZESVNLX0ZJRUxEX0NZTElOREVSUzogbnVtYmVyIG9mIGN5bGluZGVycyAoZGVwcmVjYXRlZCkKKyAqIEBGRElTS19GSUVMRF9TSVpFOiBwYXJ0aXRpb24gc2l6ZQorICogQEZESVNLX0ZJRUxEX1RZUEU6IHBhcnRpdGlvbiB0eXBlCisgKiBARkRJU0tfRklFTERfVFlQRUlEOiBwYXJ0aXRpb24gdHlwZSBJRAorICogQEZESVNLX0ZJRUxEX0FUVFI6IHBhcnRpdGlvbiBhdHRyaWJ1dGUgKEdQVCkKKyAqIEBGRElTS19GSUVMRF9CT09UOiBwYXJ0aXRpb24gYm9vdCBmbGFnCisgKiBARkRJU0tfRklFTERfQlNJWkU6IHNpemUgb2YgdGhlIGJvb3QgYXJlYSAoQlNEKQorICogQEZESVNLX0ZJRUxEX0NQRzogQlNECisgKiBARkRJU0tfRklFTERfRUFERFI6IEVuZC1DL0gvUyAoTUJSKQorICogQEZESVNLX0ZJRUxEX0ZTSVpFOiBCU0QKKyAqIEBGRElTS19GSUVMRF9OQU1FOiBwYXJ0aXRpb24gbGFiZWwvbmFtZQorICogQEZESVNLX0ZJRUxEX1NBRERSOiBTdGFydC1DL0gvUyAoTUJSKQorICogQEZESVNLX0ZJRUxEX1VVSUQ6IHBhcnRpdGlvbiBVVUlEIChHUFQpCisgKiBARkRJU0tfRklFTERfRlNVVUlEOiBGaWxlc3lzdGVtIFVVSUQKKyAqIEBGRElTS19GSUVMRF9GU0xBQkVMOiBGaWxlc3lzdGVtIExBQkVMCisgKiBARkRJU0tfRklFTERfRlNUWVBFOiBGaWxlc3lzdGVtIHR5cGUKKyAqIEBGRElTS19ORklFTERTOiBEb24ndCB1c2UsIGNvdW50ZXIuCisgKgorICogVHlwZXMgb2YgZmRpc2tfZmllbGQuIFRoZSBmaWVsZHMgZGVzY3JpYmUgYSBwYXJ0aXRpb24uCisgKi8KK2VudW0gZmRpc2tfZmllbGR0eXBlIHsKKwlGRElTS19GSUVMRF9OT05FID0gMCwKKworCS8qIGdlbmVyaWMgKi8KKwlGRElTS19GSUVMRF9ERVZJQ0UsCisJRkRJU0tfRklFTERfU1RBUlQsCisJRkRJU0tfRklFTERfRU5ELAorCUZESVNLX0ZJRUxEX1NFQ1RPUlMsCisJRkRJU0tfRklFTERfQ1lMSU5ERVJTLAorCUZESVNLX0ZJRUxEX1NJWkUsCisJRkRJU0tfRklFTERfVFlQRSwKKwlGRElTS19GSUVMRF9UWVBFSUQsCisKKwkvKiBsYWJlbCBzcGVjaWZpYyAqLworCUZESVNLX0ZJRUxEX0FUVFIsCisJRkRJU0tfRklFTERfQk9PVCwKKwlGRElTS19GSUVMRF9CU0laRSwKKwlGRElTS19GSUVMRF9DUEcsCisJRkRJU0tfRklFTERfRUFERFIsCisJRkRJU0tfRklFTERfRlNJWkUsCisJRkRJU0tfRklFTERfTkFNRSwKKwlGRElTS19GSUVMRF9TQUREUiwKKwlGRElTS19GSUVMRF9VVUlELAorCisJRkRJU0tfRklFTERfRlNVVUlELAorCUZESVNLX0ZJRUxEX0ZTTEFCRUwsCisJRkRJU0tfRklFTERfRlNUWVBFLAorCisJRkRJU0tfTkZJRUxEUwkJLyogbXVzdCBiZSBsYXN0ICovCit9OworCitpbnQgZmRpc2tfbGFiZWxfZ2V0X3R5cGUoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYik7Citjb25zdCBjaGFyICpmZGlza19sYWJlbF9nZXRfbmFtZShjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKTsKK2ludCBmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5KGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworCisKK2V4dGVybiBpbnQgZmRpc2tfd3JpdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza192ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza19jcmVhdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIGludCBmZGlza19saXN0X2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgbiwKKwkJCQkgIGNvbnN0IGNoYXIgKipuYW1lLAorCQkJCSAgdWludDY0X3QgKm9mZnNldCwKKwkJCQkgIHNpemVfdCAqc2l6ZSk7CisKK2V4dGVybiBpbnQgZmRpc2tfbGFiZWxfZ2V0X2dlb21yYW5nZV9jeWxpbmRlcnMoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCWZkaXNrX3NlY3Rvcl90ICptaSwgZmRpc2tfc2VjdG9yX3QgKm1hKTsKK2V4dGVybiBpbnQgZmRpc2tfbGFiZWxfZ2V0X2dlb21yYW5nZV9oZWFkcyhjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW50ICptaSwgdW5zaWduZWQgaW50ICptYSk7CitleHRlcm4gaW50IGZkaXNrX2xhYmVsX2dldF9nZW9tcmFuZ2Vfc2VjdG9ycyhjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorICAgICAgICAgICAgICAgICAgICAgICAgZmRpc2tfc2VjdG9yX3QgKm1pLCBmZGlza19zZWN0b3JfdCAqbWEpOworCisvKioKKyAqIGZkaXNrX2xhYmVsaXRlbV9nZW46CisgKiBARkRJU0tfTEFCRUxJVEVNX0lEOiBVbmlxdWUgZGlzayBpZGVudGlmaWVyCisgKiBAX19GRElTS19OTEFCRUxJVEVNUzogU3BlY2lmaWVzIHJlc2VydmVkIHJhbmdlIGZvciBnZW5lcmljIGl0ZW1zICgwLi43KQorICoKKyAqIEdlbmVyaWMgZGlza2xhYmVsIGl0ZW1zLgorICovCitlbnVtIGZkaXNrX2xhYmVsaXRlbV9nZW4geworCUZESVNLX0xBQkVMSVRFTV9JRCA9IDAsCisJX19GRElTS19OTEFCRUxJVEVNUyA9IDgKK307CisKKy8qIGl0ZW0uYyAqLworZXh0ZXJuIHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmZkaXNrX25ld19sYWJlbGl0ZW0odm9pZCk7CitleHRlcm4gdm9pZCBmZGlza19yZWZfbGFiZWxpdGVtKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpKTsKK2V4dGVybiBpbnQgZmRpc2tfcmVzZXRfbGFiZWxpdGVtKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpKTsKK2V4dGVybiB2b2lkIGZkaXNrX3VucmVmX2xhYmVsaXRlbShzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSk7CitleHRlcm4gY29uc3QgY2hhciAqZmRpc2tfbGFiZWxpdGVtX2dldF9uYW1lKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpKTsKK2V4dGVybiBpbnQgZmRpc2tfbGFiZWxpdGVtX2dldF9pZChzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSk7CitleHRlcm4gaW50IGZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV91NjQoc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqbGksIHVpbnQ2NF90ICpkYXRhKTsKK2V4dGVybiBpbnQgZmRpc2tfbGFiZWxpdGVtX2dldF9kYXRhX3N0cmluZyhzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSwgY29uc3QgY2hhciAqKmRhdGEpOworZXh0ZXJuIGludCBmZGlza19sYWJlbGl0ZW1faXNfc3RyaW5nKHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKmxpKTsKK2V4dGVybiBpbnQgZmRpc2tfbGFiZWxpdGVtX2lzX251bWJlcihzdHJ1Y3QgZmRpc2tfbGFiZWxpdGVtICpsaSk7CisKK2V4dGVybiBpbnQgZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpZCwgc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqaXRlbSk7CisKK2V4dGVybiBpbnQgZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjaGFyICoqaWQpOworZXh0ZXJuIGludCBmZGlza19zZXRfZGlza2xhYmVsX2lkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IGZkaXNrX2dldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRubywgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqKnBhKTsKK2V4dGVybiBpbnQgZmRpc2tfc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG5vLCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gaW50IGZkaXNrX2FkZF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHNpemVfdCAqcGFydG5vKTsKK2V4dGVybiBpbnQgZmRpc2tfZGVsZXRlX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG5vKTsKK2V4dGVybiBpbnQgZmRpc2tfZGVsZXRlX2FsbF9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IGZkaXNrX3dpcGVfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bm8sIGludCBlbmFibGUpOworCitleHRlcm4gaW50IGZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG51bSwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KTsKKworCitleHRlcm4gaW50IGZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzKAorCQkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQlpbnQgKippZHMsIHNpemVfdCAqbmlkcyk7CisKK2V4dGVybiBpbnQgZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkc19pZHNfYWxsKAorCQkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQlpbnQgKippZHMsIHNpemVfdCAqbmlkcyk7CisKK2V4dGVybiBjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgKmZkaXNrX2xhYmVsX2dldF9maWVsZChjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLCBpbnQgaWQpOworZXh0ZXJuIGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCAqZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkX2J5X25hbWUoCisJCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJY29uc3QgY2hhciAqbmFtZSk7CisKK2V4dGVybiB2b2lkIGZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKHN0cnVjdCBmZGlza19sYWJlbCAqbGIsIGludCBjaGFuZ2VkKTsKK2V4dGVybiBpbnQgZmRpc2tfbGFiZWxfaXNfY2hhbmdlZChjb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiKTsKKworZXh0ZXJuIHZvaWQgZmRpc2tfbGFiZWxfc2V0X2Rpc2FibGVkKHN0cnVjdCBmZGlza19sYWJlbCAqbGIsIGludCBkaXNhYmxlZCk7CitleHRlcm4gaW50IGZkaXNrX2xhYmVsX2lzX2Rpc2FibGVkKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworCitleHRlcm4gaW50IGZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuKTsKKworZXh0ZXJuIGludCBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRudW0sIHVuc2lnbmVkIGxvbmcgZmxhZyk7CisKK2V4dGVybiBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpmZGlza19uZXdfcGFydGl0aW9uKHZvaWQpOworZXh0ZXJuIHZvaWQgZmRpc2tfcmVzZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiB2b2lkIGZkaXNrX3JlZl9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIHZvaWQgZmRpc2tfdW5yZWZfcGFydGl0aW9uKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CisKK2ludCBmZGlza19wYXJ0aXRpb25fc2V0X3N0YXJ0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCB1aW50NjRfdCBvZmYpOworaW50IGZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitmZGlza19zZWN0b3JfdCBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2ludCBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2ludCBmZGlza19wYXJ0aXRpb25fY21wX3N0YXJ0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKmEsCisJCQkgICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpiKTsKK2ludCBmZGlza19wYXJ0aXRpb25fc3RhcnRfZm9sbG93X2RlZmF1bHQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGludCBlbmFibGUpOworaW50IGZkaXNrX3BhcnRpdGlvbl9zdGFydF9pc19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKKworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgdWludDY0X3Qgc3opOworaW50IGZkaXNrX3BhcnRpdGlvbl91bnNldF9zaXplKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitpbnQgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2ludCBmZGlza19wYXJ0aXRpb25fc2l6ZV9leHBsaWNpdChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgaW50IGVuYWJsZSk7CisKK2ludCBmZGlza19wYXJ0aXRpb25faGFzX2VuZChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitmZGlza19zZWN0b3JfdCBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CisKK2ludCBmZGlza19wYXJ0aXRpb25fc2V0X3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgc2l6ZV90IG51bSk7CitpbnQgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitzaXplX3QgZmRpc2tfcGFydGl0aW9uX2dldF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworaW50IGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2ludCBmZGlza19wYXJ0aXRpb25fY21wX3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICphLAorCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpiKTsKKworaW50IGZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGludCBlbmFibGUpOworCitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfdHlwZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0eXBlKTsKK2V4dGVybiBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKmZkaXNrX3BhcnRpdGlvbl9nZXRfdHlwZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfbmFtZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgY29uc3QgY2hhciAqbmFtZSk7CitleHRlcm4gY29uc3QgY2hhciAqZmRpc2tfcGFydGl0aW9uX2dldF9uYW1lKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX3NldF91dWlkKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBjb25zdCBjaGFyICp1dWlkKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX3NldF9hdHRycyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgY29uc3QgY2hhciAqYXR0cnMpOworZXh0ZXJuIGNvbnN0IGNoYXIgKmZkaXNrX3BhcnRpdGlvbl9nZXRfdXVpZChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gY29uc3QgY2hhciAqZmRpc2tfcGFydGl0aW9uX2dldF9hdHRycyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSk7CitleHRlcm4gaW50IGZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGludCBmZGlza19wYXJ0aXRpb25faXNfY29udGFpbmVyKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2dldF9wYXJlbnQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHNpemVfdCAqcGFyZW50KTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2lzX3VzZWQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGludCBmZGlza19wYXJ0aXRpb25faXNfYm9vdGFibGUoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGludCBmZGlza19wYXJ0aXRpb25faXNfd2hvbGVkaXNrKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCQkgICAgIHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJICAgICBpbnQgaWQsIGNoYXIgKipkYXRhKTsKKworaW50IGZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCQkgICAgICAgc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgICAgICAgc2l6ZV90ICpuKTsKKworZXh0ZXJuIGludCBmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2VuZF9pc19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKKworZXh0ZXJuIGludCBmZGlza19yZW9yZGVyX3BhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiBpbnQgZmRpc2tfcGFydGl0aW9uX2hhc193aXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKKworCisvKiB0YWJsZS5jICovCitleHRlcm4gc3RydWN0IGZkaXNrX3RhYmxlICpmZGlza19uZXdfdGFibGUodm9pZCk7CitleHRlcm4gaW50IGZkaXNrX3Jlc2V0X3RhYmxlKHN0cnVjdCBmZGlza190YWJsZSAqdGIpOworZXh0ZXJuIHZvaWQgZmRpc2tfcmVmX3RhYmxlKHN0cnVjdCBmZGlza190YWJsZSAqdGIpOworZXh0ZXJuIHZvaWQgZmRpc2tfdW5yZWZfdGFibGUoc3RydWN0IGZkaXNrX3RhYmxlICp0Yik7CitleHRlcm4gc2l6ZV90IGZkaXNrX3RhYmxlX2dldF9uZW50cyhzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgZmRpc2tfdGFibGVfaXNfZW1wdHkoc3RydWN0IGZkaXNrX3RhYmxlICp0Yik7CitleHRlcm4gaW50IGZkaXNrX3RhYmxlX2FkZF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX3RhYmxlICp0Yiwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpOworZXh0ZXJuIGludCBmZGlza190YWJsZV9yZW1vdmVfcGFydGl0aW9uKHN0cnVjdCBmZGlza190YWJsZSAqdGIsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKTsKKworZXh0ZXJuIGludCBmZGlza19nZXRfcGFydGl0aW9ucyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfdGFibGUgKip0Yik7CitleHRlcm4gaW50IGZkaXNrX2dldF9mcmVlc3BhY2VzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza190YWJsZSAqKnRiKTsKKworCitleHRlcm4gaW50IGZkaXNrX3RhYmxlX3dyb25nX29yZGVyKHN0cnVjdCBmZGlza190YWJsZSAqdGIpOworZXh0ZXJuIGludCBmZGlza190YWJsZV9zb3J0X3BhcnRpdGlvbnMoc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCWludCAoKmNtcCkoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqLAorCQkJCSAgIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKikpOworCitleHRlcm4gaW50IGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCXN0cnVjdCBmZGlza19pdGVyICppdHIsCisJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICoqcGEpOworCitleHRlcm4gc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbigKKwkJCXN0cnVjdCBmZGlza190YWJsZSAqdGIsCisJCQlzaXplX3Qgbik7CitleHRlcm4gc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbl9ieV9wYXJ0bm8oCisJCQlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLAorCQkJc2l6ZV90IHBhcnRubyk7CisKK2V4dGVybiBpbnQgZmRpc2tfYXBwbHlfdGFibGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3RhYmxlICp0Yik7CisKKy8qIGFsaWdubWVudC5jICovCisjZGVmaW5lIEZESVNLX0FMSUdOX1VQCQkxCisjZGVmaW5lIEZESVNLX0FMSUdOX0RPV04JMgorI2RlZmluZSBGRElTS19BTElHTl9ORUFSRVNUCTMKKworZmRpc2tfc2VjdG9yX3QgZmRpc2tfYWxpZ25fbGJhKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGZkaXNrX3NlY3Rvcl90IGxiYSwgaW50IGRpcmVjdGlvbik7CitmZGlza19zZWN0b3JfdCBmZGlza19hbGlnbl9sYmFfaW5fcmFuZ2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgIGZkaXNrX3NlY3Rvcl90IGxiYSwgZmRpc2tfc2VjdG9yX3Qgc3RhcnQsIGZkaXNrX3NlY3Rvcl90IHN0b3ApOworaW50IGZkaXNrX2xiYV9pc19waHlfYWxpZ25lZChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBmZGlza19zZWN0b3JfdCBsYmEpOworCitpbnQgZmRpc2tfb3ZlcnJpZGVfZ2VvbWV0cnkoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSAgICB1bnNpZ25lZCBpbnQgY3lsaW5kZXJzLAorCQkJICAgIHVuc2lnbmVkIGludCBoZWFkcywKKwkJCSAgICB1bnNpZ25lZCBpbnQgc2VjdG9ycyk7CitpbnQgZmRpc2tfc2F2ZV91c2VyX2dlb21ldHJ5KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkgICAgdW5zaWduZWQgaW50IGN5bGluZGVycywKKwkJCSAgICB1bnNpZ25lZCBpbnQgaGVhZHMsCisJCQkgICAgdW5zaWduZWQgaW50IHNlY3RvcnMpOworaW50IGZkaXNrX3NhdmVfdXNlcl9zZWN0b3Jfc2l6ZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCXVuc2lnbmVkIGludCBwaHksCisJCQkJdW5zaWduZWQgaW50IGxvZyk7CisKK2ludCBmZGlza19zYXZlX3VzZXJfZ3JhaW4oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgdW5zaWduZWQgbG9uZyBncmFpbik7CisKK2ludCBmZGlza19oYXNfdXNlcl9kZXZpY2VfcHJvcGVydGllcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ludCBmZGlza19yZXNldF9hbGlnbm1lbnQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfcmVzZXRfZGV2aWNlX3Byb3BlcnRpZXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfcmVyZWFkX3BhcnRpdGlvbl90YWJsZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2ludCBmZGlza19yZXJlYWRfY2hhbmdlcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfdGFibGUgKm9yZyk7CisKKy8qIGl0ZXIuYyAqLworZW51bSB7CisKKwlGRElTS19JVEVSX0ZPUldBUkQgPSAwLAorCUZESVNLX0lURVJfQkFDS1dBUkQKK307CitleHRlcm4gc3RydWN0IGZkaXNrX2l0ZXIgKmZkaXNrX25ld19pdGVyKGludCBkaXJlY3Rpb24pOworZXh0ZXJuIHZvaWQgZmRpc2tfZnJlZV9pdGVyKHN0cnVjdCBmZGlza19pdGVyICppdHIpOworZXh0ZXJuIHZvaWQgZmRpc2tfcmVzZXRfaXRlcihzdHJ1Y3QgZmRpc2tfaXRlciAqaXRyLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBpbnQgZmRpc2tfaXRlcl9nZXRfZGlyZWN0aW9uKHN0cnVjdCBmZGlza19pdGVyICppdHIpOworCisKKy8qIGRvcy5jICovCisjZGVmaW5lIERPU19GTEFHX0FDVElWRQkxCisKK2V4dGVybiBpbnQgZmRpc2tfZG9zX21vdmVfYmVnaW4oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGkpOworZXh0ZXJuIGludCBmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGUoc3RydWN0IGZkaXNrX2xhYmVsICpsYiwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IGZkaXNrX2Rvc19pc19jb21wYXRpYmxlKHN0cnVjdCBmZGlza19sYWJlbCAqbGIpOworCisvKiBzdW4uaCAqLworZXh0ZXJuIGludCBmZGlza19zdW5fc2V0X2FsdF9jeWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX3N1bl9zZXRfeGN5bChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgZmRpc2tfc3VuX3NldF9pbGZhY3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX3N1bl9zZXRfcnNwZWVkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza19zdW5fc2V0X3BjeWxjb3VudChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworLyoqCisgKiBmZGlza19sYWJlbGl0ZW1fc3VuOgorICogQFNVTl9MQUJFTElURU1fTEFCRUxJRDogTGFiZWwgSUQKKyAqIEBTVU5fTEFCRUxJVEVNX1ZUT0NJRDogVm9sdW1lIElECisgKiBAU1VOX0xBQkVMSVRFTV9SUE06IFJwbQorICogQFNVTl9MQUJFTElURU1fQUNZTDogQWx0ZXJuYXRlIGN5bGluZGVycworICogQFNVTl9MQUJFTElURU1fUENZTDogUGh5c2ljYWwgY3lsaW5kZXJzCisgKiBAU1VOX0xBQkVMSVRFTV9BUEM6IEV4dHJhIHNlY3RzL2N5bAorICogQFNVTl9MQUJFTElURU1fSU5UUkxWOiBJbnRlcmxlYXZlCisgKgorICogU1VOIHNwZWNpZmljIGxhYmVsIGl0ZW1zLgorICovCitlbnVtIGZkaXNrX2xhYmVsaXRlbV9zdW4geworCVNVTl9MQUJFTElURU1fTEFCRUxJRCA9IF9fRkRJU0tfTkxBQkVMSVRFTVMsCisJU1VOX0xBQkVMSVRFTV9WVE9DSUQsCisJU1VOX0xBQkVMSVRFTV9SUE0sCisJU1VOX0xBQkVMSVRFTV9BQ1lMLAorCVNVTl9MQUJFTElURU1fUENZTCwKKwlTVU5fTEFCRUxJVEVNX0FQQywKKwlTVU5fTEFCRUxJVEVNX0lOVFJMVgorfTsKKworLyogYnNkLmMgKi8KK2V4dGVybiBpbnQgZmRpc2tfYnNkX2VkaXRfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza19ic2Rfd3JpdGVfYm9vdHN0cmFwKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBmZGlza19ic2RfbGlua19wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CisKKy8qKgorICogZmRpc2tfbGFiZWxpdGVtX2JzZDoKKyAqIEBCU0RfTEFCRUxJVEVNX1RZUEU6IHR5cGUKKyAqIEBCU0RfTEFCRUxJVEVNX0RJU0s6IGRpc2sKKyAqIEBCU0RfTEFCRUxJVEVNX1BBQ0tOQU1FOiBwYWNrbmFtZQorICogQEJTRF9MQUJFTElURU1fRkxBR1M6IGZsYWdzIChyZW1vdmVhYmxlLCBlY2MsIGJhZHNlY3QpCisgKiBAQlNEX0xBQkVMSVRFTV9TRUNTSVpFOiBCeXRlcy9TZWN0b3IKKyAqIEBCU0RfTEFCRUxJVEVNX05UUkFDS1M6IFRyYWNrcy9DeWxpbmRlcgorICogQEJTRF9MQUJFTElURU1fU0VDUEVSQ1lMOiBTZWN0b3JzL0N5bGluZGVyCisgKiBAQlNEX0xBQkVMSVRFTV9DWUxJTkRFUlM6IEN5bGluZGVycworICogQEJTRF9MQUJFTElURU1fUlBNOiBycG0KKyAqIEBCU0RfTEFCRUxJVEVNX0lOVEVSTEVBVkU6IGludGVybGVhdmUKKyAqIEBCU0RfTEFCRUxJVEVNX1RSQUNLU0tFVzogdHJhY2tza2V3CisgKiBAQlNEX0xBQkVMSVRFTV9DWUxJTkRFUlNLRVc6IGN5bGluZGVyc2tldworICogQEJTRF9MQUJFTElURU1fSEVBRFNXSVRDSDogaGVhZHN3aXRjaAorICogQEJTRF9MQUJFTElURU1fVFJLU0VFSzogdHJhY2stdG8tdHJhY2sgc2VlaworICoKKyAqIEJTRCBzcGVjaWZpYyBsYWJlbCBpdGVtcy4KKyAqLworZW51bSBmZGlza19sYWJlbGl0ZW1fYnNkIHsKKwkvKiBzcGVjaWZpYyAqLworCUJTRF9MQUJFTElURU1fVFlQRSA9IF9fRkRJU0tfTkxBQkVMSVRFTVMsCisJQlNEX0xBQkVMSVRFTV9ESVNLLAorCUJTRF9MQUJFTElURU1fUEFDS05BTUUsCisJQlNEX0xBQkVMSVRFTV9GTEFHUywKKwlCU0RfTEFCRUxJVEVNX1NFQ1NJWkUsCisJQlNEX0xBQkVMSVRFTV9OVFJBQ0tTLAorCUJTRF9MQUJFTElURU1fU0VDUEVSQ1lMLAorCUJTRF9MQUJFTElURU1fQ1lMSU5ERVJTLAorCUJTRF9MQUJFTElURU1fUlBNLAorCUJTRF9MQUJFTElURU1fSU5URVJMRUFWRSwKKwlCU0RfTEFCRUxJVEVNX1RSQUNLU0tFVywKKwlCU0RfTEFCRUxJVEVNX0NZTElOREVSU0tFVywKKwlCU0RfTEFCRUxJVEVNX0hFQURTV0lUQ0gsCisJQlNEX0xBQkVMSVRFTV9UUktTRUVLCit9OworCisvKiBzZ2kuaCAqLworI2RlZmluZSBTR0lfRkxBR19CT09UCTEKKyNkZWZpbmUgU0dJX0ZMQUdfU1dBUAkyCitleHRlcm4gaW50IGZkaXNrX3NnaV9zZXRfYm9vdGZpbGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX3NnaV9jcmVhdGVfaW5mbyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworLyoqCisgKiBmZGlza19sYWJlbGl0ZW1fc2dpOgorICogQFNHSV9MQUJFTElURU1fUENZTENPVU5UOiBQaHlzaWNhbCBjeWxpbmRlcnMKKyAqIEBTR0lfTEFCRUxJVEVNX1NQQVJFQ1lMOiBFeHRyYSBzZWN0cy9jeWwKKyAqIEBTR0lfTEFCRUxJVEVNX0lMRkFDVDogbnRlcmxlYXZlCisgKiBAU0dJX0xBQkVMSVRFTV9CT09URklMRTogQm9vdGZpbGUKKyAqCisgKiBTR0kgc3BlY2lmaWMgbGFiZWwgaXRlbXMuCisgKi8KK2VudW0gZmRpc2tfbGFiZWxpdGVtX3NnaSB7CisJU0dJX0xBQkVMSVRFTV9QQ1lMQ09VTlQgPSBfX0ZESVNLX05MQUJFTElURU1TLAorCVNHSV9MQUJFTElURU1fU1BBUkVDWUwsCisJU0dJX0xBQkVMSVRFTV9JTEZBQ1QsCisJU0dJX0xBQkVMSVRFTV9CT09URklMRQorfTsKKworLyogZ3B0ICovCisKKy8qCisgKiBHUFQgcGFydGl0aW9uIGF0dHJpYnV0ZXMKKyAqLworCisvKioKKyAqIEdQVF9GTEFHX1JFUVVJUkVEOgorICoKKyAqIEdQVCBhdHRyaWJ1dGU7IG1hcmtzIGEgcGFydGl0aW9uIGFzIHN5c3RlbSBwYXJ0aXRpb24gKGRpc2sKKyAqIHBhcnRpdGlvbmluZyB1dGlsaXRpZXMgbXVzdCBwcmVzZXJ2ZSB0aGUgcGFydGl0aW9uIGFzIGlzKQorICovCisjZGVmaW5lIEdQVF9GTEFHX1JFUVVJUkVECTEKKworLyoqCisgKiBHUFRfRkxBR19OT0JMT0NLOgorICoKKyAqIEdQVCBhdHRyaWJ1dGU7IEVGSSBmaXJtd2FyZSBzaG91bGQgaWdub3JlIHRoZSBjb250ZW50IG9mIHRoZQorICogcGFydGl0aW9uIGFuZCBub3QgdHJ5IHRvIHJlYWQgZnJvbSBpdAorICovCisjZGVmaW5lIEdQVF9GTEFHX05PQkxPQ0sJMgorCisvKioKKyAqIEdQVF9GTEFHX0xFR0FDWUJPT1Q6CisgKgorICogR1BUIGF0dHJpYnV0ZTsgdXNlIHRoZSBwYXJ0aXRpb24gZm9yIGxlZ2FjeSBib290IG1ldGhvZAorICovCisjZGVmaW5lIEdQVF9GTEFHX0xFR0FDWUJPT1QJMworCisvKioKKyAqIEdQVF9GTEFHX0dVSURTUEVDSUZJQzoKKyAqCisgKiBHUFQgYXR0cmlidXRlOyBmb3IgYml0ZXMgNDgtNjMsIGRlZmluZWQgYW5kIHVzZWQgYnkgdGhlIGluZGl2aWR1YWwgcGFydGl0aW9uCisgKiB0eXBlLgorICoKKyAqIFRoZSBmbGFnIEdQVF9GTEFHX0dVSURTUEVDSUZJQyBmb3JjZXMgbGliZmRpc2sgdG8gYXNrIChieSBhc2sgQVBJKQorICogZm9yIGEgYml0IG51bWJlci4gSWYgeW91IHdhbnQgdG8gdG9nZ2xlIHNwZWNpZmljIGJpdCBhbmQgYXZvaWQgYW55CisgKiBkaWFsb2csIHRoZW4gdXNlIHRoZSBiaXQgbnVtYmVyIChpbiByYW5nZSA0OC4uNjMpLiBGb3IgZXhhbXBsZToKKyAqCisgKiAvLyBzdGFydCBkaWFsb2cgdG8gYXNrIGZvciBiaXQgbnVtYmVyCisgKiBmZGlza190b2dnbGVfcGFydGl0aW9uX2ZsYWcoY3h0LCBuLCBHUFRfRkxBR19HVUlEU1BFQ0lGSUMpOworICoKKyAqIC8vIHRvZ2dsZSBiaXQgNjAKKyAqIGZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhjeHQsIG4sIDYwKTsKKyAqLworI2RlZmluZSBHUFRfRkxBR19HVUlEU1BFQ0lGSUMJNAorCitleHRlcm4gaW50IGZkaXNrX2dwdF9pc19oeWJyaWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IGZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgdWludDMyX3QgZW50cmllcyk7CitleHRlcm4gaW50IGZkaXNrX2dwdF9nZXRfcGFydGl0aW9uX2F0dHJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bnVtLCB1aW50NjRfdCAqYXR0cnMpOworZXh0ZXJuIGludCBmZGlza19ncHRfc2V0X3BhcnRpdGlvbl9hdHRycyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgcGFydG51bSwgdWludDY0X3QgYXR0cnMpOworCisvKioKKyAqIGZkaXNrX2xhYmVsaXRlbV9ncHQ6CisgKiBAR1BUX0xBQkVMSVRFTV9JRDogR1BUIGRpc2tsYWJlbCBVVUlEICghPSBwYXJ0aXRpb24gVVVJRCkKKyAqIEBHUFRfTEFCRUxJVEVNX0ZJUlNUTEJBOiBGaXJzdCBVc2FibGUgTEJBCisgKiBAR1BUX0xBQkVMSVRFTV9MQVNUTEJBOiBVc2FibGUgTEJBCisgKiBAR1BUX0xBQkVMSVRFTV9BTFRMQkE6IEFsdGVybmF0aXZlIExCQSAoYmFja3VwIGhlYWRlciBMQkEpCisgKiBAR1BUX0xBQkVMSVRFTV9FTlRSSUVTTEJBOiBQYXJ0aXRpb25zIGVudGlyZXMgYXJyYXkgTEJBCisgKiBAR1BUX0xBQkVMSVRFTV9FTlRSSUVTQUxMT0M6IE51bWJlciBvZiBhbGxvY2F0ZWQgZW50cmllcyBpbiBlbnRyaWVzIGFycmF5CisgKgorICogR1BUIHNwZWNpZmljIGxhYmVsIGl0ZW1zLgorICovCitlbnVtIGZkaXNrX2xhYmVsaXRlbV9ncHQgeworCS8qIGdlbmVyaWMgKi8KKwlHUFRfTEFCRUxJVEVNX0lEID0gRkRJU0tfTEFCRUxJVEVNX0lELAorCS8qIHNwZWNpZmljICovCisJR1BUX0xBQkVMSVRFTV9GSVJTVExCQSA9IF9fRkRJU0tfTkxBQkVMSVRFTVMsCisJR1BUX0xBQkVMSVRFTV9MQVNUTEJBLAorCUdQVF9MQUJFTElURU1fQUxUTEJBLAorCUdQVF9MQUJFTElURU1fRU5UUklFU0xCQSwKKwlHUFRfTEFCRUxJVEVNX0VOVFJJRVNBTExPQworfTsKKworLyogc2NyaXB0LmMgKi8KK3N0cnVjdCBmZGlza19zY3JpcHQgKmZkaXNrX25ld19zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK3ZvaWQgZmRpc2tfcmVmX3NjcmlwdChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCk7Cit2b2lkIGZkaXNrX3VucmVmX3NjcmlwdChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCk7CisKK2NvbnN0IGNoYXIgKmZkaXNrX3NjcmlwdF9nZXRfaGVhZGVyKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBjb25zdCBjaGFyICpuYW1lKTsKK2ludCBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGF0YSk7CitzdHJ1Y3QgZmRpc2tfdGFibGUgKmZkaXNrX3NjcmlwdF9nZXRfdGFibGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApOworaW50IGZkaXNrX3NjcmlwdF9nZXRfbmxpbmVzKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKTsKK2ludCBmZGlza19zY3JpcHRfaGFzX2ZvcmNlX2xhYmVsKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKTsKKworaW50IGZkaXNrX3NjcmlwdF9zZXRfdXNlcmRhdGEoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIHZvaWQgKmRhdGEpOwordm9pZCAqZmRpc2tfc2NyaXB0X2dldF91c2VyZGF0YShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCk7CisKK2ludCBmZGlza19zY3JpcHRfc2V0X2ZnZXRzKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLAorCQkJICAgY2hhciAqKCpmbl9mZ2V0cykoc3RydWN0IGZkaXNrX3NjcmlwdCAqLCBjaGFyICosIHNpemVfdCwgRklMRSAqKSk7CitpbnQgZmRpc2tfc2NyaXB0X3JlYWRfY29udGV4dChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitpbnQgZmRpc2tfc2NyaXB0X2VuYWJsZV9qc29uKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBpbnQganNvbik7CitpbnQgZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYpOworaW50IGZkaXNrX3NjcmlwdF9yZWFkX2ZpbGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYpOworaW50IGZkaXNrX3NjcmlwdF9yZWFkX2xpbmUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KTsKKworaW50IGZkaXNrX3NldF9zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApOworc3RydWN0IGZkaXNrX3NjcmlwdCAqZmRpc2tfZ2V0X3NjcmlwdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworaW50IGZkaXNrX2FwcGx5X3NjcmlwdF9oZWFkZXJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKTsKK2ludCBmZGlza19hcHBseV9zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApOworCisKKy8qIGFzay5jICovCisjZGVmaW5lIGZkaXNrX2lzX2FzayhhLCB4KSAoZmRpc2tfYXNrX2dldF90eXBlKGEpID09IEZESVNLX0FTS1RZUEVfICMjIHgpCisKK2ludCBmZGlza19zZXRfYXNrKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWludCAoKmFza19jYikoc3RydWN0IGZkaXNrX2NvbnRleHQgKiwgc3RydWN0IGZkaXNrX2FzayAqLCB2b2lkICopLAorCQl2b2lkICpkYXRhKTsKKworCit2b2lkIGZkaXNrX3JlZl9hc2soc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK3ZvaWQgZmRpc2tfdW5yZWZfYXNrKHN0cnVjdCBmZGlza19hc2sgKmFzayk7Citjb25zdCBjaGFyICpmZGlza19hc2tfZ2V0X3F1ZXJ5KHN0cnVjdCBmZGlza19hc2sgKmFzayk7CitpbnQgZmRpc2tfYXNrX2dldF90eXBlKHN0cnVjdCBmZGlza19hc2sgKmFzayk7Citjb25zdCBjaGFyICpmZGlza19hc2tfbnVtYmVyX2dldF9yYW5nZShzdHJ1Y3QgZmRpc2tfYXNrICphc2spOwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spOwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfbG93KHN0cnVjdCBmZGlza19hc2sgKmFzayk7Cit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF9oaWdoKHN0cnVjdCBmZGlza19hc2sgKmFzayk7Cit1aW50NjRfdCBmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2ludCBmZGlza19hc2tfbnVtYmVyX3NldF9yZXN1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrLCB1aW50NjRfdCByZXN1bHQpOwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfYmFzZShzdHJ1Y3QgZmRpc2tfYXNrICphc2spOwordWludDY0X3QgZmRpc2tfYXNrX251bWJlcl9nZXRfdW5pdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza19udW1iZXJfc2V0X3JlbGF0aXZlKHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IHJlbGF0aXZlKTsKK2ludCBmZGlza19hc2tfbnVtYmVyX2luY2hhcnMoc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2ludCBmZGlza19hc2tfcGFydG51bShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgKnBhcnRudW0sIGludCB3YW50bmV3KTsKKworaW50IGZkaXNrX2Fza19udW1iZXIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJICAgICB1aW50bWF4X3QgbG93LAorCQkgICAgIHVpbnRtYXhfdCBkZmx0LAorCQkgICAgIHVpbnRtYXhfdCBoaWdoLAorCQkgICAgIGNvbnN0IGNoYXIgKnF1ZXJ5LAorCQkgICAgIHVpbnRtYXhfdCAqcmVzdWx0KTsKK2NoYXIgKmZkaXNrX2Fza19zdHJpbmdfZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza19zdHJpbmdfc2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGNoYXIgKnJlc3VsdCk7CitpbnQgZmRpc2tfYXNrX3N0cmluZyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkgICAgIGNvbnN0IGNoYXIgKnF1ZXJ5LAorCQkgICAgIGNoYXIgKipyZXN1bHQpOworaW50IGZkaXNrX2Fza195ZXNubyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkgICAgIGNvbnN0IGNoYXIgKnF1ZXJ5LAorCQkgICAgIGludCAqcmVzdWx0KTsKK2ludCBmZGlza19hc2tfeWVzbm9fZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza195ZXNub19zZXRfcmVzdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IHJlc3VsdCk7CitpbnQgZmRpc2tfYXNrX21lbnVfZ2V0X2RlZmF1bHQoc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2ludCBmZGlza19hc2tfbWVudV9zZXRfcmVzdWx0KHN0cnVjdCBmZGlza19hc2sgKmFzaywgaW50IGtleSk7CitpbnQgZmRpc2tfYXNrX21lbnVfZ2V0X3Jlc3VsdChzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIGludCAqa2V5KTsKK2ludCBmZGlza19hc2tfbWVudV9nZXRfaXRlbShzdHJ1Y3QgZmRpc2tfYXNrICphc2ssIHNpemVfdCBpZHgsIGludCAqa2V5LAorCQkJICAgIGNvbnN0IGNoYXIgKipuYW1lLCBjb25zdCBjaGFyICoqZGVzYyk7CitzaXplX3QgZmRpc2tfYXNrX21lbnVfZ2V0X25pdGVtcyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworaW50IGZkaXNrX2Fza19wcmludF9nZXRfZXJybm8oc3RydWN0IGZkaXNrX2FzayAqYXNrKTsKK2NvbnN0IGNoYXIgKmZkaXNrX2Fza19wcmludF9nZXRfbWVzZyhzdHJ1Y3QgZmRpc2tfYXNrICphc2spOworCitpbnQgZmRpc2tfaW5mbyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmbXQsIC4uLik7CitpbnQgZmRpc2tfd2FybihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmbXQsIC4uLik7CitpbnQgZmRpc2tfd2Fybngoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqZm10LCAuLi4pOworCisvKiB1dGlscy5oICovCitleHRlcm4gY2hhciAqZmRpc2tfcGFydG5hbWUoY29uc3QgY2hhciAqZGV2LCBzaXplX3QgcGFydG5vKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9MSUJGRElTS19IICovCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvbGliZmRpc2suc3ltIGIvbGliZmRpc2svc3JjL2xpYmZkaXNrLnN5bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDM4MzMyCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL2xpYmZkaXNrLnN5bQpAQCAtMCwwICsxLDI5OSBAQAorLyoKKyAqIFRoZSBzeW1ib2wgdmVyc2lvbmluZyBlbnN1cmVzIHRoYXQgYSBuZXcgYXBwbGljYXRpb24gcmVxdWlyaW5nIHN5bWJvbCBmb287CisgKiBjYW4ndCBydW4gd2l0aCBvbGQgbGlicmFyeS5zbyBub3QgcHJvdmlkaW5nIGZvby4KKworICogVmVyc2lvbiBpbmZvIGNhbid0IGVuZm9yY2UgdGhpcyBzaW5jZSB3ZSBuZXZlciBjaGFuZ2UgdGhlIFNPTkFNRS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQtMjAxNSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworRkRJU0tfMi4yNiB7CitnbG9iYWw6CisJZmRpc2tfYWRkX3BhcnRpdGlvbjsKKwlmZGlza19hbGlnbl9sYmE7CisJZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlOworCWZkaXNrX2FwcGx5X3NjcmlwdDsKKwlmZGlza19hcHBseV9zY3JpcHRfaGVhZGVyczsKKwlmZGlza19hcHBseV90YWJsZTsKKwlmZGlza19hc2tfZ2V0X3F1ZXJ5OworCWZkaXNrX2Fza19nZXRfdHlwZTsKKwlmZGlza19hc2tfbWVudV9nZXRfZGVmYXVsdDsKKwlmZGlza19hc2tfbWVudV9nZXRfaXRlbTsKKwlmZGlza19hc2tfbWVudV9nZXRfbml0ZW1zOworCWZkaXNrX2Fza19tZW51X2dldF9yZXN1bHQ7CisJZmRpc2tfYXNrX21lbnVfc2V0X3Jlc3VsdDsKKwlmZGlza19hc2tfbnVtYmVyOworCWZkaXNrX2Fza19udW1iZXJfZ2V0X2Jhc2U7CisJZmRpc2tfYXNrX251bWJlcl9nZXRfZGVmYXVsdDsKKwlmZGlza19hc2tfbnVtYmVyX2dldF9oaWdoOworCWZkaXNrX2Fza19udW1iZXJfZ2V0X2xvdzsKKwlmZGlza19hc2tfbnVtYmVyX2dldF9yYW5nZTsKKwlmZGlza19hc2tfbnVtYmVyX2dldF9yZXN1bHQ7CisJZmRpc2tfYXNrX251bWJlcl9nZXRfdW5pdDsKKwlmZGlza19hc2tfbnVtYmVyX2luY2hhcnM7CisJZmRpc2tfYXNrX251bWJlcl9zZXRfcmVsYXRpdmU7CisJZmRpc2tfYXNrX251bWJlcl9zZXRfcmVzdWx0OworCWZkaXNrX2Fza19wYXJ0bnVtOworCWZkaXNrX2Fza19wcmludF9nZXRfZXJybm87CisJZmRpc2tfYXNrX3ByaW50X2dldF9tZXNnOworCWZkaXNrX2Fza19zdHJpbmc7CisJZmRpc2tfYXNrX3N0cmluZ19nZXRfcmVzdWx0OworCWZkaXNrX2Fza19zdHJpbmdfc2V0X3Jlc3VsdDsKKwlmZGlza19hc2tfeWVzbm87CisJZmRpc2tfYXNrX3llc25vX2dldF9yZXN1bHQ7CisJZmRpc2tfYXNrX3llc25vX3NldF9yZXN1bHQ7CisJZmRpc2tfYXNzaWduX2RldmljZTsKKwlmZGlza19ic2RfZWRpdF9kaXNrbGFiZWw7CisJZmRpc2tfYnNkX2xpbmtfcGFydGl0aW9uOworCWZkaXNrX2JzZF93cml0ZV9ib290c3RyYXA7CisJZmRpc2tfY29weV9wYXJ0dHlwZTsKKwlmZGlza19jcmVhdGVfZGlza2xhYmVsOworCWZkaXNrX2RlYXNzaWduX2RldmljZTsKKwlmZGlza19kZWxldGVfYWxsX3BhcnRpdGlvbnM7CisJZmRpc2tfZGVsZXRlX3BhcnRpdGlvbjsKKwlmZGlza19kb3NfZW5hYmxlX2NvbXBhdGlibGU7CisJZmRpc2tfZG9zX2lzX2NvbXBhdGlibGU7CisJZmRpc2tfZG9zX21vdmVfYmVnaW47CisJZmRpc2tfZW5hYmxlX2RldGFpbHM7CisJZmRpc2tfZW5hYmxlX2xpc3Rvbmx5OworCWZkaXNrX2ZpZWxkX2dldF9pZDsKKwlmZGlza19maWVsZF9nZXRfbmFtZTsKKwlmZGlza19maWVsZF9nZXRfd2lkdGg7CisJZmRpc2tfZmllbGRfaXNfbnVtYmVyOworCWZkaXNrX2ZyZWVfaXRlcjsKKwlmZGlza19nZXRfYWxpZ25tZW50X29mZnNldDsKKwlmZGlza19nZXRfZGV2ZmQ7CisJZmRpc2tfZ2V0X2Rldm5hbWU7CisJZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pZDsKKwlmZGlza19nZXRfZmlyc3RfbGJhOworCWZkaXNrX2dldF9mcmVlc3BhY2VzOworCWZkaXNrX2dldF9nZW9tX2N5bGluZGVyczsKKwlmZGlza19nZXRfZ2VvbV9oZWFkczsKKwlmZGlza19nZXRfZ2VvbV9zZWN0b3JzOworCWZkaXNrX2dldF9ncmFpbl9zaXplOworCWZkaXNrX2dldF9sYWJlbDsKKwlmZGlza19nZXRfbGFzdF9sYmE7CisJZmRpc2tfZ2V0X2xpYnJhcnlfZmVhdHVyZXM7CisJZmRpc2tfZ2V0X2xpYnJhcnlfdmVyc2lvbjsKKwlmZGlza19nZXRfbWluaW1hbF9pb3NpemU7CisJZmRpc2tfZ2V0X25sYWJlbHM7CisJZmRpc2tfZ2V0X25wYXJ0aXRpb25zOworCWZkaXNrX2dldF9uc2VjdG9yczsKKwlmZGlza19nZXRfb3B0aW1hbF9pb3NpemU7CisJZmRpc2tfZ2V0X3BhcmVudDsKKwlmZGlza19nZXRfcGFydGl0aW9uOworCWZkaXNrX2dldF9wYXJ0aXRpb25zOworCWZkaXNrX2dldF9waHlzZWN0b3Jfc2l6ZTsKKwlmZGlza19nZXRfc2NyaXB0OworCWZkaXNrX2dldF9zZWN0b3Jfc2l6ZTsKKwlmZGlza19nZXRfc2l6ZV91bml0OworCWZkaXNrX2dldF91bml0OworCWZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yOworCWZkaXNrX2dwdF9pc19oeWJyaWQ7CisJZmRpc2tfaGFzX2xhYmVsOworCWZkaXNrX2hhc191c2VyX2RldmljZV9wcm9wZXJ0aWVzOworCWZkaXNrX2luZm87CisJZmRpc2tfaW5pdF9kZWJ1ZzsKKwlmZGlza19pc19kZXRhaWxzOworCWZkaXNrX2lzX2xhYmVsdHlwZTsKKwlmZGlza19pc19saXN0b25seTsKKwlmZGlza19pc19wYXJ0aXRpb25fdXNlZDsKKwlmZGlza19pc19yZWFkb25seTsKKwlmZGlza19pdGVyX2dldF9kaXJlY3Rpb247CisJZmRpc2tfbGFiZWxfZ2V0X2ZpZWxkOworCWZkaXNrX2xhYmVsX2dldF9maWVsZF9ieV9uYW1lOworCWZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzOworCWZkaXNrX2xhYmVsX2dldF9uYW1lOworCWZkaXNrX2xhYmVsX2dldF9ucGFydHR5cGVzOworCWZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZTsKKwlmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlOworCWZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX3N0cmluZzsKKwlmZGlza19sYWJlbF9nZXRfdHlwZTsKKwlmZGlza19sYWJlbF9oYXNfY29kZV9wYXJ0dHlwZXM7CisJZmRpc2tfbGFiZWxfaXNfY2hhbmdlZDsKKwlmZGlza19sYWJlbF9pc19kaXNhYmxlZDsKKwlmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZTsKKwlmZGlza19sYWJlbF9yZXF1aXJlX2dlb21ldHJ5OworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkOworCWZkaXNrX2xhYmVsX3NldF9kaXNhYmxlZDsKKwlmZGlza19sYmFfaXNfcGh5X2FsaWduZWQ7CisJZmRpc2tfbGlzdF9kaXNrbGFiZWw7CisJZmRpc2tfbG9jYXRlX2Rpc2tsYWJlbDsKKwlmZGlza19uZXdfY29udGV4dDsKKwlmZGlza19uZXdfaXRlcjsKKwlmZGlza19uZXdfbmVzdGVkX2NvbnRleHQ7CisJZmRpc2tfbmV3X3BhcnRpdGlvbjsKKwlmZGlza19uZXdfcGFydHR5cGU7CisJZmRpc2tfbmV3X3NjcmlwdDsKKwlmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZTsKKwlmZGlza19uZXdfdGFibGU7CisJZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGU7CisJZmRpc2tfbmV4dF9sYWJlbDsKKwlmZGlza19vdmVycmlkZV9nZW9tZXRyeTsKKwlmZGlza19wYXJzZV92ZXJzaW9uX3N0cmluZzsKKwlmZGlza19wYXJ0aXRpb25fY21wX3BhcnRubzsKKwlmZGlza19wYXJ0aXRpb25fY21wX3N0YXJ0OworCWZkaXNrX3BhcnRpdGlvbl9lbmRfZm9sbG93X2RlZmF1bHQ7CisJZmRpc2tfcGFydGl0aW9uX2VuZF9pc19kZWZhdWx0OworCWZkaXNrX3BhcnRpdGlvbl9nZXRfYXR0cnM7CisJZmRpc2tfcGFydGl0aW9uX2dldF9lbmQ7CisJZmRpc2tfcGFydGl0aW9uX2dldF9uYW1lOworCWZkaXNrX3BhcnRpdGlvbl9nZXRfcGFyZW50OworCWZkaXNrX3BhcnRpdGlvbl9nZXRfcGFydG5vOworCWZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZTsKKwlmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0OworCWZkaXNrX3BhcnRpdGlvbl9nZXRfdHlwZTsKKwlmZGlza19wYXJ0aXRpb25fZ2V0X3V1aWQ7CisJZmRpc2tfcGFydGl0aW9uX2hhc19lbmQ7CisJZmRpc2tfcGFydGl0aW9uX2hhc19wYXJ0bm87CisJZmRpc2tfcGFydGl0aW9uX2hhc19zaXplOworCWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQ7CisJZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlOworCWZkaXNrX3BhcnRpdGlvbl9pc19jb250YWluZXI7CisJZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZTsKKwlmZGlza19wYXJ0aXRpb25faXNfbmVzdGVkOworCWZkaXNrX3BhcnRpdGlvbl9pc191c2VkOworCWZkaXNrX3BhcnRpdGlvbl9pc193aG9sZWRpc2s7CisJZmRpc2tfcGFydGl0aW9uX25leHRfcGFydG5vOworCWZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQ7CisJZmRpc2tfcGFydGl0aW9uX3NldF9hdHRyczsKKwlmZGlza19wYXJ0aXRpb25fc2V0X25hbWU7CisJZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm87CisJZmRpc2tfcGFydGl0aW9uX3NldF9zaXplOworCWZkaXNrX3BhcnRpdGlvbl9zZXRfc3RhcnQ7CisJZmRpc2tfcGFydGl0aW9uX3NldF90eXBlOworCWZkaXNrX3BhcnRpdGlvbl9zZXRfdXVpZDsKKwlmZGlza19wYXJ0aXRpb25fc2l6ZV9leHBsaWNpdDsKKwlmZGlza19wYXJ0aXRpb25fc3RhcnRfZm9sbG93X2RlZmF1bHQ7CisJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2lzX2RlZmF1bHQ7CisJZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZzsKKwlmZGlza19wYXJ0aXRpb25fdW5zZXRfcGFydG5vOworCWZkaXNrX3BhcnRpdGlvbl91bnNldF9zaXplOworCWZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydDsKKwlmZGlza19wYXJ0bmFtZTsKKwlmZGlza19wYXJ0dHlwZV9nZXRfY29kZTsKKwlmZGlza19wYXJ0dHlwZV9nZXRfbmFtZTsKKwlmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nOworCWZkaXNrX3BhcnR0eXBlX2lzX3Vua25vd247CisJZmRpc2tfcGFydHR5cGVfc2V0X2NvZGU7CisJZmRpc2tfcGFydHR5cGVfc2V0X25hbWU7CisJZmRpc2tfcGFydHR5cGVfc2V0X3R5cGVzdHI7CisJZmRpc2tfcmVmX2FzazsKKwlmZGlza19yZWZfY29udGV4dDsKKwlmZGlza19yZWZfcGFydGl0aW9uOworCWZkaXNrX3JlZl9wYXJ0dHlwZTsKKwlmZGlza19yZWZfc2NyaXB0OworCWZkaXNrX3JlZl90YWJsZTsKKwlmZGlza19yZW9yZGVyX3BhcnRpdGlvbnM7CisJZmRpc2tfcmVyZWFkX3BhcnRpdGlvbl90YWJsZTsKKwlmZGlza19yZXNldF9hbGlnbm1lbnQ7CisJZmRpc2tfcmVzZXRfZGV2aWNlX3Byb3BlcnRpZXM7CisJZmRpc2tfcmVzZXRfaXRlcjsKKwlmZGlza19yZXNldF9wYXJ0aXRpb247CisJZmRpc2tfcmVzZXRfdGFibGU7CisJZmRpc2tfc2F2ZV91c2VyX2dlb21ldHJ5OworCWZkaXNrX3NhdmVfdXNlcl9zZWN0b3Jfc2l6ZTsKKwlmZGlza19zY3JpcHRfZ2V0X2hlYWRlcjsKKwlmZGlza19zY3JpcHRfZ2V0X25saW5lczsKKwlmZGlza19zY3JpcHRfZ2V0X3RhYmxlOworCWZkaXNrX3NjcmlwdF9yZWFkX2NvbnRleHQ7CisJZmRpc2tfc2NyaXB0X3JlYWRfZmlsZTsKKwlmZGlza19zY3JpcHRfcmVhZF9saW5lOworCWZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyOworCWZkaXNrX3NjcmlwdF93cml0ZV9maWxlOworCWZkaXNrX3NldF9hc2s7CisJZmRpc2tfc2V0X2Rpc2tsYWJlbF9pZDsKKwlmZGlza19zZXRfZmlyc3RfbGJhOworCWZkaXNrX3NldF9sYXN0X2xiYTsKKwlmZGlza19zZXRfcGFydGl0aW9uOworCWZkaXNrX3NldF9wYXJ0aXRpb25fdHlwZTsKKwlmZGlza19zZXRfc2NyaXB0OworCWZkaXNrX3NldF9zaXplX3VuaXQ7CisJZmRpc2tfc2V0X3VuaXQ7CisJZmRpc2tfc2dpX2NyZWF0ZV9pbmZvOworCWZkaXNrX3NnaV9zZXRfYm9vdGZpbGU7CisJZmRpc2tfc3VuX3NldF9hbHRfY3lsOworCWZkaXNrX3N1bl9zZXRfaWxmYWN0OworCWZkaXNrX3N1bl9zZXRfcGN5bGNvdW50OworCWZkaXNrX3N1bl9zZXRfcnNwZWVkOworCWZkaXNrX3N1bl9zZXRfeGN5bDsKKwlmZGlza190YWJsZV9hZGRfcGFydGl0aW9uOworCWZkaXNrX3RhYmxlX2dldF9uZW50czsKKwlmZGlza190YWJsZV9nZXRfcGFydGl0aW9uOworCWZkaXNrX3RhYmxlX2lzX2VtcHR5OworCWZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uOworCWZkaXNrX3RhYmxlX3JlbW92ZV9wYXJ0aXRpb247CisJZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zOworCWZkaXNrX3RhYmxlX3dyb25nX29yZGVyOworCWZkaXNrX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZzsKKwlmZGlza191bnJlZl9hc2s7CisJZmRpc2tfdW5yZWZfY29udGV4dDsKKwlmZGlza191bnJlZl9wYXJ0aXRpb247CisJZmRpc2tfdW5yZWZfcGFydHR5cGU7CisJZmRpc2tfdW5yZWZfc2NyaXB0OworCWZkaXNrX3VucmVmX3RhYmxlOworCWZkaXNrX3VzZV9jeWxpbmRlcnM7CisJZmRpc2tfdmVyaWZ5X2Rpc2tsYWJlbDsKKwlmZGlza193YXJuOworCWZkaXNrX3dhcm54OworCWZkaXNrX3dyaXRlX2Rpc2tsYWJlbDsKK2xvY2FsOgorCSo7Cit9OworCitGRElTS18yLjI3IHsKKwlmZGlza19lbmFibGVfYm9vdGJpdHNfcHJvdGVjdGlvbjsKKwlmZGlza19ncHRfZ2V0X3BhcnRpdGlvbl9hdHRyczsKKwlmZGlza19ncHRfc2V0X3BhcnRpdGlvbl9hdHRyczsKKwlmZGlza19oYXNfcHJvdGVjdGVkX2Jvb3RiaXRzOworCWZkaXNrX2xhYmVsX2dldF9maWVsZHNfaWRzX2FsbDsKKwlmZGlza19zY3JpcHRfZ2V0X3VzZXJkYXRhOworCWZkaXNrX3NjcmlwdF9zZXRfZmdldHM7CisJZmRpc2tfc2NyaXB0X3NldF91c2VyZGF0YTsKKwlmZGlza190YWJsZV9nZXRfcGFydGl0aW9uX2J5X3BhcnRubzsKKwlmZGlza19nZXRfZGlza2xhYmVsX2l0ZW07CisJZmRpc2tfc2NyaXB0X2VuYWJsZV9qc29uOworfSBGRElTS18yLjI2OworCitGRElTS18yLjI4IHsKKwlmZGlza19lbmFibGVfd2lwZTsKKwlmZGlza19nZXRfY29sbGlzaW9uOworCWZkaXNrX2hhc193aXBlOworfSBGRElTS18yLjI3OworCitGRElTS18yLjI5IHsKKwlmZGlza193aXBlX3BhcnRpdGlvbjsKKwlmZGlza19uZXdfbGFiZWxpdGVtOworCWZkaXNrX3JlZl9sYWJlbGl0ZW07CisJZmRpc2tfcmVzZXRfbGFiZWxpdGVtOworCWZkaXNrX3VucmVmX2xhYmVsaXRlbTsKKwlmZGlza19sYWJlbGl0ZW1fZ2V0X25hbWU7CisJZmRpc2tfbGFiZWxpdGVtX2dldF9pZDsKKwlmZGlza19sYWJlbGl0ZW1fZ2V0X2RhdGFfdTY0OworCWZkaXNrX2xhYmVsaXRlbV9nZXRfZGF0YV9zdHJpbmc7CisJZmRpc2tfbGFiZWxpdGVtX2lzX3N0cmluZzsKKwlmZGlza19sYWJlbGl0ZW1faXNfbnVtYmVyOworCWZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnM7Cit9IEZESVNLXzIuMjg7CisKKworRkRJU0tfMi4zMCB7CisJZmRpc2tfc2NyaXB0X2hhc19mb3JjZV9sYWJlbDsKKwlmZGlza19pc19yZWdmaWxlOworCWZkaXNrX2lzX3B0Y29sbGlzaW9uOworCWZkaXNrX3BhcnRpdGlvbl9oYXNfd2lwZTsKK30gRkRJU0tfMi4yOTsKKworRkRJU0tfMi4zMSB7CisJZmRpc2tfcmVhc3NpZ25fZGV2aWNlOworCWZkaXNrX2RldmljZV9pc191c2VkOworCWZkaXNrX3JlcmVhZF9jaGFuZ2VzOworCWZkaXNrX2Rpc2FibGVfZGlhbG9nczsKKwlmZGlza19oYXNfZGlhbG9nczsKKwlmZGlza19zYXZlX3VzZXJfZ3JhaW47Cit9IEZESVNLXzIuMzA7CisKK0ZESVNLXzIuMzIgeworCWZkaXNrX2xhYmVsX2dldF9nZW9tcmFuZ2Vfc2VjdG9yczsKKwlmZGlza19sYWJlbF9nZXRfZ2VvbXJhbmdlX2hlYWRzOworCWZkaXNrX2xhYmVsX2dldF9nZW9tcmFuZ2VfY3lsaW5kZXJzOworfSBGRElTS18yLjMxOwpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jIGIvbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3OTBkYzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvcGFydGl0aW9uLmMKQEAgLTAsMCArMSwxNTA2IEBACisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2lmZGVmIEhBVkVfTElCQkxLSUQKKyMgaW5jbHVkZSA8YmxraWQuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiZmRpc2tQLmgiCisKKy8qKgorICogU0VDVElPTjogcGFydGl0aW9uCisgKiBAdGl0bGU6IFBhcnRpdGlvbgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBnZW5lcmljIGxhYmVsIGluZGVwZW5kZW50IHBhcnRpdGlvbiBhYnN0cmFjdGlvbgorICoKKyAqIFRoZSBmZGlza19wYXJ0aXRpb24gcHJvdmlkZXMgbGFiZWwgaW5kZXBlbmRlbnQgYWJzdHJhY3Rpb24uIFRoZSBwYXJ0aXRpb25zCisgKiBhcmUgbm90IGRpcmVjdGx5IGNvbm5lY3RlZCB3aXRoIHBhcnRpdGlvbiB0YWJsZSAobGFiZWwpIGRhdGEuIEFueSBjaGFuZ2UgdG8KKyAqIGZkaXNrX3BhcnRpdGlvbiBkb2VzIG5vdCBhZmZlY3RzIGluLW1lbW9yeSBvciBvbi1kaXNrIGxhYmVsIGRhdGEuCisgKgorICogVGhlIGZkaXNrX3BhcnRpdGlvbiBpcyBwb3NzaWJsZSB0byB1c2UgYXMgYSB0ZW1wbGF0ZSBmb3IKKyAqIGZkaXNrX2FkZF9wYXJ0aXRpb24oKSBvciBmZGlza19zZXRfcGFydGl0aW9uKCkgb3BlcmF0aW9ucy4KKyAqLworCitzdGF0aWMgdm9pZCBpbml0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlGRElTS19JTklUX1VOREVGKHBhLT5zaXplKTsKKwlGRElTS19JTklUX1VOREVGKHBhLT5zdGFydCk7CisJRkRJU0tfSU5JVF9VTkRFRihwYS0+cGFydG5vKTsKKwlGRElTS19JTklUX1VOREVGKHBhLT5wYXJlbnRfcGFydG5vKTsKKwlGRElTS19JTklUX1VOREVGKHBhLT5ib290KTsKKworCUlOSVRfTElTVF9IRUFEKCZwYS0+cGFydHMpOworfQorCisvKioKKyAqIGZkaXNrX25ld19wYXJ0aXRpb246CisgKgorICogUmV0dXJuczogbmV3IGluc3RhbmNlLgorICovCitzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpmZGlza19uZXdfcGFydGl0aW9uKHZvaWQpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBjYWxsb2MoMSwgc2l6ZW9mKCpwYSkpOworCisJcGEtPnJlZmNvdW50ID0gMTsKKwlpbml0X3BhcnRpdGlvbihwYSk7CisJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHBhLCAiYWxsb2MiKSk7CisJcmV0dXJuIHBhOworfQorCisvKioKKyAqIGZkaXNrX3Jlc2V0X3BhcnRpdGlvbjoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmVzZXRzIHBhcnRpdGlvbiBjb250ZW50LgorICovCit2b2lkIGZkaXNrX3Jlc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlpbnQgcmVmOworCisJaWYgKCFwYSkKKwkJcmV0dXJuOworCisJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHBhLCAicmVzZXQiKSk7CisJcmVmID0gcGEtPnJlZmNvdW50OworCisJZmRpc2tfdW5yZWZfcGFydHR5cGUocGEtPnR5cGUpOworCWZyZWUocGEtPm5hbWUpOworCWZyZWUocGEtPnV1aWQpOworCWZyZWUocGEtPmF0dHJzKTsKKwlmcmVlKHBhLT5mc3R5cGUpOworCWZyZWUocGEtPmZzdXVpZCk7CisJZnJlZShwYS0+ZnNsYWJlbCk7CisJZnJlZShwYS0+c3RhcnRfY2hzKTsKKwlmcmVlKHBhLT5lbmRfY2hzKTsKKworCW1lbXNldChwYSwgMCwgc2l6ZW9mKCpwYSkpOworCXBhLT5yZWZjb3VudCA9IHJlZjsKKworCWluaXRfcGFydGl0aW9uKHBhKTsKK30KKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKl9fY29weV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqbykKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpuID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCisJaWYgKCFuKQorCQlyZXR1cm4gTlVMTDsKKwltZW1jcHkobiwgbywgc2l6ZW9mKCpuKSk7CisJaWYgKG4tPnR5cGUpCisJCWZkaXNrX3JlZl9wYXJ0dHlwZShuLT50eXBlKTsKKwlpZiAoby0+bmFtZSkKKwkJbi0+bmFtZSA9IHN0cmR1cChvLT5uYW1lKTsKKwlpZiAoby0+dXVpZCkKKwkJbi0+dXVpZCA9IHN0cmR1cChvLT51dWlkKTsKKwlpZiAoby0+YXR0cnMpCisJCW4tPmF0dHJzID0gc3RyZHVwKG8tPmF0dHJzKTsKKwlpZiAoby0+ZnN0eXBlKQorCQluLT5mc3R5cGUgPSBzdHJkdXAoby0+ZnN0eXBlKTsKKwlpZiAoby0+ZnN1dWlkKQorCQluLT5mc3V1aWQgPSBzdHJkdXAoby0+ZnN1dWlkKTsKKwlpZiAoby0+ZnNsYWJlbCkKKwkJbi0+ZnNsYWJlbCA9IHN0cmR1cChvLT5mc2xhYmVsKTsKKworCXJldHVybiBuOworfQorCisvKioKKyAqIGZkaXNrX3JlZl9wYXJ0aXRpb246CisgKiBAcGE6IHBhcnRpdGlvbiBwb2ludGVyCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlci4KKyAqLwordm9pZCBmZGlza19yZWZfcGFydGl0aW9uKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCWlmIChwYSkKKwkJcGEtPnJlZmNvdW50Kys7Cit9CisKKy8qKgorICogZmRpc2tfdW5yZWZfcGFydGl0aW9uOgorICogQHBhOiBwYXJ0aXRpb24gcG9pbnRlcgorICoKKyAqIERlY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIsIG9uIHplcm8gdGhlIEBwYSBpcyBhdXRvbWF0aWNhbGx5CisgKiBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBmZGlza191bnJlZl9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuOworCisJcGEtPnJlZmNvdW50LS07CisJaWYgKHBhLT5yZWZjb3VudCA8PSAwKSB7CisJCWxpc3RfZGVsKCZwYS0+cGFydHMpOworCQlmZGlza19yZXNldF9wYXJ0aXRpb24ocGEpOworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoocGEsICJmcmVlIikpOworCQlmcmVlKHBhKTsKKwl9Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3NldF9zdGFydDoKKyAqIEBwYTogcGFydGl0aW9uCisgKiBAb2ZmOiBvZmZzZXQgaW4gc2VjdG9ycywgbWF4aW1hbCBpcyBVSU5UNjRfTUFYLTEKKyAqCisgKiBOb3RlIHRoYXQgemVybyBpcyB2YWxpZCBvZmZzZXQgdG9vLiBVc2UgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3N0YXJ0KCkgdG8KKyAqIHVuZGVmaW5lIHRoZSBvZmZzZXQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfc3RhcnQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGZkaXNrX3NlY3Rvcl90IG9mZikKK3sKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoRkRJU0tfSVNfVU5ERUYob2ZmKSkKKwkJcmV0dXJuIC1FUkFOR0U7CisJcGEtPnN0YXJ0ID0gb2ZmOworCXBhLT5mc19wcm9iZWQgPSAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydDoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogU2V0cyB0aGUgc2l6ZSBhcyB1bmRlZmluZWQuIFNlZSBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlGRElTS19JTklUX1VOREVGKHBhLT5zdGFydCk7CisJcGEtPmZzX3Byb2JlZCA9IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydDoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogVGhlIHplcm8gaXMgYWxzbyB2YWxpZCBvZmZzZXQuIFRoZSBmdW5jdGlvbiBtYXkgcmV0dXJuIHJhbmRvbSB1bmRlZmluZWQKKyAqIHZhbHVlIHdoZW4gc3RhcnQgb2Zmc2V0IGlzIHVuZGVmaW5lZCAoZm9yIGV4YW1wbGUgYWZ0ZXIKKyAqIGZkaXNrX3BhcnRpdGlvbl91bnNldF9zdGFydCgpKS4gQWx3YXlzIHVzZSBmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KCkgdG8gYmUKKyAqIHN1cmUgdGhhdCB5b3Ugd29yayB3aXRoIHZhbGlkIG51bWJlcnMuCisgKgorICogUmV0dXJuczogc3RhcnQgb2Zmc2V0IGluIHNlY3RvcnMKKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEtPnN0YXJ0OworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQ6CisgKiBAcGE6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IDEgb3IgMAorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgIUZESVNLX0lTX1VOREVGKHBhLT5zdGFydCk7Cit9CisKKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fY21wX3N0YXJ0OgorICogQGE6IHBhcnRpdGlvbgorICogQGI6IHBhcnRpdGlvbgorICoKKyAqIENvbXBhcmVzIHBhcnRpdGlvbnMgYWNjb3JkaW5nIHRvIHN0YXJ0IG9mZnNldCwgU2VlIGZkaXNrX3RhYmxlX3NvcnRfcGFydGl0aW9ucygpLgorICoKKyAqIFJldHVybjogMCBpZiB0aGUgc2FtZSwgPDAgaWYgQGIgZ3JlYXRlciwgPjAgaWYgQGEgZ3JlYXRlci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9jbXBfc3RhcnQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqYSwKKwkJCSAgICAgIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKmIpCit7CisJaW50IG5vX2EgPSBGRElTS19JU19VTkRFRihhLT5zdGFydCksCisJICAgIG5vX2IgPSBGRElTS19JU19VTkRFRihiLT5zdGFydCk7CisKKwlpZiAobm9fYSAmJiBub19iKQorCQlyZXR1cm4gMDsKKwlpZiAobm9fYSkKKwkJcmV0dXJuIC0xOworCWlmIChub19iKQorCQlyZXR1cm4gMTsKKworCXJldHVybiBjbXBfbnVtYmVycyhhLT5zdGFydCwgYi0+c3RhcnQpOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9zdGFydF9mb2xsb3dfZGVmYXVsdAorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBlbmFibGU6IDB8MQorICoKKyAqIFdoZW4gQHBhIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgZmRpc2tfYWRkX3BhcnRpdGlvbigpIHdoZW4gZm9yY2UgbGFiZWwgZHJpdmVyCisgKiB0byB1c2UgdGhlIGZpcnN0IHBvc3NpYmxlIHNwYWNlIGZvciB0aGUgbmV3IHBhcnRpdGlvbi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBpbnQgZW5hYmxlKQoreworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCXBhLT5zdGFydF9mb2xsb3dfZGVmYXVsdCA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9zdGFydF9pc19kZWZhdWx0OgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBTZWUgZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KCkuCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9uIGZvbGxvd3MgZGVmYXVsdAorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2lzX2RlZmF1bHQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJYXNzZXJ0KHBhKTsKKwlyZXR1cm4gcGEtPnN0YXJ0X2ZvbGxvd19kZWZhdWx0OworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9zZXRfc2l6ZToKKyAqIEBwYTogcGFydGl0aW9uCisgKiBAc3o6IHNpemUgaW4gc2VjdG9ycywgbWF4aW1hbCBpcyBVSU42NF9NQVgtMQorICoKKyAqIE5vdGUgdGhhdCB6ZXJvIGlzIHZhbGlkIHNpemUgdG9vLiBVc2UgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3NpemUoKSB0bworICogdW5kZWZpbmUgdGhlIHNpemUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgZmRpc2tfc2VjdG9yX3Qgc3opCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKEZESVNLX0lTX1VOREVGKHN6KSkKKwkJcmV0dXJuIC1FUkFOR0U7CisJcGEtPnNpemUgPSBzejsKKwlwYS0+ZnNfcHJvYmVkID0gMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fdW5zZXRfc2l6ZToKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogU2V0cyB0aGUgc2l6ZSBhcyB1bmRlZmluZWQuIFNlZSBmZGlza19wYXJ0aXRpb25faGFzX3NpemUoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3NpemUoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJRkRJU0tfSU5JVF9VTkRFRihwYS0+c2l6ZSk7CisJcGEtPmZzX3Byb2JlZCA9IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2dldF9zaXplOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBUaGUgemVybyBpcyBhbHNvIHZhbGlkIHNpemUuIFRoZSBmdW5jdGlvbiBtYXkgcmV0dXJuIHJhbmRvbSB1bmRlZmluZWQKKyAqIHZhbHVlIHdoZW4gc2l6ZSBpcyB1bmRlZmluZWQgKGZvciBleGFtcGxlIGFmdGVyIGZkaXNrX3BhcnRpdGlvbl91bnNldF9zaXplKCkpLgorICogQWx3YXlzIHVzZSBmZGlza19wYXJ0aXRpb25faGFzX3NpemUoKSB0byBiZSBzdXJlIHRoYXQgeW91IHdvcmsgd2l0aCB2YWxpZAorICogbnVtYmVycy4KKyAqCisgKiBSZXR1cm5zOiBzaXplIG9mZnNldCBpbiBzZWN0b3JzCisgKi8KK2ZkaXNrX3NlY3Rvcl90IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEtPnNpemU7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2hhc19zaXplOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIG9yIDAKKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgIUZESVNLX0lTX1VOREVGKHBhLT5zaXplKTsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fc2l6ZV9leHBsaWNpdDoKKyAqIEBwYTogcGFydGl0aW9uCisgKiBAZW5hYmxlOiAwfDEKKyAqCisgKiBCeSBkZWZhdWx0IGxpYmZkaXNrIGFsaWducyB0aGUgc2l6ZSB3aGVuIGFkZCB0aGUgbmV3IHBhcnRpdGlvbiAoYnkKKyAqIGZkaXNrX2FkZF9wYXJ0aXRpb24oKSkuIElmIHlvdSB3YW50IHRvIGRpc2FibGUgdGhpcyBmdW5jdGlvbmFsaXR5IHVzZQorICogQGVuYWJsZSA9IDEuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9zaXplX2V4cGxpY2l0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBpbnQgZW5hYmxlKQoreworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCXBhLT5zaXplX2V4cGxpY2l0ID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm86CisgKiBAcGE6IHBhcnRpdGlvbgorICogQG51bTogcGFydGl0aW9uIG51bWJlciAoMCBpcyB0aGUgZmlyc3QgcGFydGl0aW9uLCBtYXhpbWFsIGlzIFNJWkVfTUFYLTEpCisgKgorICogTm90ZSB0aGF0IHplcm8gaXMgdmFsaWQgcGFydG5vIHRvby4gVXNlIGZkaXNrX3BhcnRpdGlvbl91bnNldF9wYXJ0bm8oKSB0bworICogdW5kZWZpbmUgdGhlIHBhcnRuby4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHNpemVfdCBudW0pCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKEZESVNLX0lTX1VOREVGKG51bSkpCisJCXJldHVybiAtRVJBTkdFOworCXBhLT5wYXJ0bm8gPSBudW07CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3BhcnRubzoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogU2V0cyB0aGUgcGFydG5vIGFzIHVuZGVmaW5lZC4gU2VlIGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl91bnNldF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJRkRJU0tfSU5JVF9VTkRFRihwYS0+cGFydG5vKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubzoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogVGhlIHplcm8gaXMgYWxzbyB2YWxpZCBwYXJ0aXRpb24gbnVtYmVyLiBUaGUgZnVuY3Rpb24gbWF5IHJldHVybiByYW5kb20KKyAqIHZhbHVlIHdoZW4gcGFydG5vIGlzIHVuZGVmaW5lZCAoZm9yIGV4YW1wbGUgYWZ0ZXIgZmRpc2tfcGFydGl0aW9uX3Vuc2V0X3BhcnRubygpKS4KKyAqIEFsd2F5cyB1c2UgZmRpc2tfcGFydGl0aW9uX2hhc19wYXJ0bm8oKSB0byBiZSBzdXJlIHRoYXQgeW91IHdvcmsgd2l0aCB2YWxpZAorICogbnVtYmVycy4KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gbnVtYmVyICgwIGlzIHRoZSBmaXJzdCBwYXJ0aXRpb24pCisgKi8KK3NpemVfdCBmZGlza19wYXJ0aXRpb25fZ2V0X3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEtPnBhcnRubzsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubzoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMSBvciAwCisgKi8KK2ludCBmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgIUZESVNLX0lTX1VOREVGKHBhLT5wYXJ0bm8pOworfQorCisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2NtcF9wYXJ0bm86CisgKiBAYTogcGFydGl0aW9uCisgKiBAYjogcGFydGl0aW9uCisgKgorICogQ29tcGFyZXMgcGFydGl0aW9ucyBhY2NvcmRpbmcgdG8gcGFydGl0aW9uIG51bWJlciBTZWUgZmRpc2tfdGFibGVfc29ydF9wYXJ0aXRpb25zKCkuCisgKgorICogUmV0dXJuOiAwIGlmIHRoZSBzYW1lLCA8MCBpZiBAYiBncmVhdGVyLCA+MCBpZiBAYSBncmVhdGVyLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2NtcF9wYXJ0bm8oc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqYSwKKwkJCSAgICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpiKQoreworCXJldHVybiBhLT5wYXJ0bm8gLSBiLT5wYXJ0bm87Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3BhcnRub19mb2xsb3dfZGVmYXVsdAorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBlbmFibGU6IDB8MQorICoKKyAqIFdoZW4gQHBhIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgZmRpc2tfYWRkX3BhcnRpdGlvbigpIHdoZW4gZm9yY2UgbGFiZWwgZHJpdmVyCisgKiB0byBhZGQgYSBuZXcgcGFydGl0aW9uIHRvIHRoZSBkZWZhdWx0IChuZXh0KSBwb3NpdGlvbi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX3BhcnRub19mb2xsb3dfZGVmYXVsdChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgaW50IGVuYWJsZSkKK3sKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlwYS0+cGFydG5vX2ZvbGxvd19kZWZhdWx0ID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX3NldF90eXBlOgorICogQHBhOiBwYXJ0aXRpb24KKyAqIEB0eXBlOiBwYXJ0aXRpb24gdHlwZQorICoKKyAqIFNldHMgcGFydGl0aW9uIHR5cGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfdHlwZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0eXBlKQoreworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCisJZmRpc2tfcmVmX3BhcnR0eXBlKHR5cGUpOworCWZkaXNrX3VucmVmX3BhcnR0eXBlKHBhLT50eXBlKTsKKwlwYS0+dHlwZSA9IHR5cGU7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fZ2V0X3R5cGU6CisgKiBAcGE6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gcGFydGl0aW9uIHR5cGUuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfcGFydGl0aW9uX2dldF90eXBlKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSA/IHBhLT50eXBlIDogTlVMTDsKK30KKworaW50IGZkaXNrX3BhcnRpdGlvbl9zZXRfbmFtZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChuYW1lKSB7CisJICAgICAgIHAgPSBzdHJkdXAobmFtZSk7CisJICAgICAgIGlmICghcCkKKwkJICAgICAgIHJldHVybiAtRU5PTUVNOworCX0KKwlmcmVlKHBhLT5uYW1lKTsKKwlwYS0+bmFtZSA9IHA7CisJcmV0dXJuIDA7Cit9CisKK2NvbnN0IGNoYXIgKmZkaXNrX3BhcnRpdGlvbl9nZXRfbmFtZShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgPyBwYS0+bmFtZSA6IE5VTEw7Cit9CisKK2ludCBmZGlza19wYXJ0aXRpb25fc2V0X3V1aWQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGNvbnN0IGNoYXIgKnV1aWQpCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAoIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAodXVpZCkgeworCSAgICAgICBwID0gc3RyZHVwKHV1aWQpOworCSAgICAgICBpZiAoIXApCisJCSAgICAgICByZXR1cm4gLUVOT01FTTsKKwl9CisJZnJlZShwYS0+dXVpZCk7CisJcGEtPnV1aWQgPSBwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBwYXJ0aXRpb24gaGFzIGRlZmluZWQgbGFzdCBzZWN0b3IKKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSAmJiAhRkRJU0tfSVNfVU5ERUYocGEtPnN0YXJ0KSAmJiAhRkRJU0tfSVNfVU5ERUYocGEtPnNpemUpOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG1heSByZXR1cm5zIGFic29sdXRlIG5vbi1zZW5zZSwgYWx3YXlzIGNoZWNrCisgKiBmZGlza19wYXJ0aXRpb25faGFzX2VuZCgpLgorICoKKyAqIE5vdGUgdGhhdCBwYXJ0aXRpb24gZW5kIGlzIGRlZmluZWQgYnkgZmRpc2tfcGFydGl0aW9uX3NldF9zdGFydCgpIGFuZAorICogZmRpc2tfcGFydGl0aW9uX3NldF9zaXplKCkuCisgKgorICogUmV0dXJuczogbGFzdCBwYXJ0aXRpb24gc2VjdG9yIExCQS4KKyAqLworZmRpc2tfc2VjdG9yX3QgZmRpc2tfcGFydGl0aW9uX2dldF9lbmQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJcmV0dXJuIHBhLT5zdGFydCArIHBhLT5zaXplIC0gKHBhLT5zaXplID09IDAgPyAwIDogMSk7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2VuZF9mb2xsb3dfZGVmYXVsdAorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBlbmFibGU6IDB8MQorICoKKyAqIFdoZW4gQHBhIHVzZWQgYXMgYSB0ZW1wbGF0ZSBmb3IgZmRpc2tfYWRkX3BhcnRpdGlvbigpIHdoZW4gZm9yY2UgbGFiZWwKKyAqIGRyaXZlciB0byB1c2UgYWxsIHRoZSBwb3NzaWJsZSBzcGFjZSBmb3IgdGhlIG5ldyBwYXJ0aXRpb24uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9lbmRfZm9sbG93X2RlZmF1bHQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIGludCBlbmFibGUpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9lbmRfaXNfZGVmYXVsdDoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9uIGZvbGxvd3MgZGVmYXVsdAorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2VuZF9pc19kZWZhdWx0KHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCWFzc2VydChwYSk7CisJcmV0dXJuIHBhLT5lbmRfZm9sbG93X2RlZmF1bHQ7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2dldF91dWlkOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gVVVJRCBhcyBzdHJpbmcKKyAqLworY29uc3QgY2hhciAqZmRpc2tfcGFydGl0aW9uX2dldF91dWlkKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSA/IHBhLT51dWlkIDogTlVMTDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fZ2V0X2F0dHJzOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gYXR0cmlidXRlcyBpbiBzdHJpbmcgZm9ybWF0CisgKi8KK2NvbnN0IGNoYXIgKmZkaXNrX3BhcnRpdGlvbl9nZXRfYXR0cnMoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJcmV0dXJuIHBhID8gcGEtPmF0dHJzIDogTlVMTDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fc2V0X2F0dHJzOgorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBhdHRyczogYXR0cmlidXRlcworICoKKyAqIFNldHMgQGF0dHJzIHRvIEBwYS4KKyAqCisgKiBSZXR1cm46IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19wYXJ0aXRpb25fc2V0X2F0dHJzKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCBjb25zdCBjaGFyICphdHRycykKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghcGEpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChhdHRycykgeworCSAgICAgICBwID0gc3RyZHVwKGF0dHJzKTsKKwkgICAgICAgaWYgKCFwKQorCQkgICAgICAgcmV0dXJuIC1FTk9NRU07CisJfQorCWZyZWUocGEtPmF0dHJzKTsKKwlwYS0+YXR0cnMgPSBwOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQ6CisgKiBAcGE6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIHBhcnRpdGlvbiBpcyBuZXN0ZWQgKGUuZy4gTUJSIGxvZ2ljYWwgcGFydGl0aW9uKQorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgIUZESVNLX0lTX1VOREVGKHBhLT5wYXJlbnRfcGFydG5vKTsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25faXNfY29udGFpbmVyOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBwYXJ0aXRpb24gaXMgY29udGFpbmVyIChlLmcuIE1CUiBleHRlbmRlZCBwYXJ0aXRpb24pCisgKi8KK2ludCBmZGlza19wYXJ0aXRpb25faXNfY29udGFpbmVyKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSAmJiBwYS0+Y29udGFpbmVyOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9nZXRfcGFyZW50OgorICogQHBhOiBwYXJ0aXRpb24KKyAqIEBwYXJlbnQ6IHBhcmVudCBwYXJubworICoKKyAqIFJldHVybnM6IHJldHVybnMgZGV2bm8gb2YgdGhlIHBhcmVudAorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2dldF9wYXJlbnQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsIHNpemVfdCAqcGFyZW50KQoreworCWlmIChwYSAmJiBwYXJlbnQpCisJCSpwYXJlbnQgPSBwYS0+cGFyZW50X3BhcnRubzsKKwllbHNlCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9pc191c2VkOgorICogQHBhOiBwYXJ0aXRpb24KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBwYXJ0aXRpb24gcG9pbnRzIHRvIHNvbWUgYXJlYQorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2lzX3VzZWQoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJcmV0dXJuIHBhICYmIHBhLT51c2VkOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZToKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9uIGhhcyBlbmFibGVkIGJvb3QgZmxhZworICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2lzX2Jvb3RhYmxlKHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBwYSAmJiBwYS0+Ym9vdCA9PSAxOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2U6CisgKiBAcGE6IHBhcnRpdGlvbgorICoKKyAqIFJldHVybnM6IDEgaWYgQHBhIHBvaW50cyB0byBmcmVlc3BhY2UKKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2Uoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJcmV0dXJuIHBhICYmIHBhLT5mcmVlc3BhY2U7Cit9CisKKy8qKgorICogZmRpc2tfcGFydGl0aW9uX2lzX3dob2xlZGlzazoKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgcGFydGl0aW9uIGlzIHNwZWNpYWwgd2hvbGUtZGlzayAoZS5nLiBTVU4pIHBhcnRpdGlvbgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2lzX3dob2xlZGlzayhzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlyZXR1cm4gcGEgJiYgcGEtPndob2xlZGlzazsKK30KKworLyoqCisgKiBmZGlza19wYXJ0aXRpb25fbmV4dF9wYXJ0bm86CisgKiBAcGE6IHBhcnRpdGlvbgorICogQGN4dDogY29udGV4dAorICogQG46IHJldHVybnMgcGFydGl0aW9uIG51bWJlcgorICoKKyAqIElmIEBwYSBzcGVjaWZpZWQgYW5kIHBhcnRuby1mb2xsb3ctZGVmYXVsdCAoc2VlIGZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQoKSkKKyAqIGVuYWJsZWQgdGhlbiByZXR1cm5zIG5leHQgZXhwZWN0ZWQgcGFydG5vIG9yIC1FUkFOR0Ugb24gZXJyb3IuCisgKgorICogSWYgQHBhIGlzIE5VTEwsIG9yIEBwYSBkb2VzIG5vdCBzcGVjaWZ5IGFueSBzZW1hbnRpYyBmb3IgdGhlIG5leHQgcGFydG5vCisgKiB0aGVuIHVzZSBBc2sgQVBJIHRvIGFzayB1c2VyIGZvciB0aGUgbmV4dCBwYXJ0bm8uIEluIHRoaXMgY2FzZSByZXR1cm5zIDEgaWYKKyAqIG5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZS4gSWYgZmRpc2sgZGlhbG9ncyBhcmUgZGlzYWJsZWQgdGhlbiByZXR1cm5zIC1FSU5WQUwuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvciwgb3IgMSBmb3Igbm9uLWZyZWUgcGFydG5vIGJ5IEFzayBBUEkuCisgKi8KK2ludCBmZGlza19wYXJ0aXRpb25fbmV4dF9wYXJ0bm8oCisJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLAorCQlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzaXplX3QgKm4pCit7CisJaWYgKCFjeHQgfHwgIW4pCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHBhICYmIHBhLT5wYXJ0bm9fZm9sbG93X2RlZmF1bHQpIHsKKwkJc2l6ZV90IGk7CisKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHBhLCAibmV4dCBwYXJ0bm8gKGZvbGxvdyBkZWZhdWx0KSIpKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisJCQlpZiAoIWZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKGN4dCwgaSkpIHsKKwkJCQkqbiA9IGk7CisJCQkJcmV0dXJuIDA7CisJCQl9CisJCX0KKwkJcmV0dXJuIC1FUkFOR0U7CisKKwl9IGVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKHBhKSkgeworCisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaihwYSwgIm5leHQgcGFydG5vIChzcGVjaWZpZWQ9JXp1KSIsIHBhLT5wYXJ0bm8pKTsKKworCQlpZiAocGEtPnBhcnRubyA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4IHx8CisJCSAgICBmZGlza19pc19wYXJ0aXRpb25fdXNlZChjeHQsIHBhLT5wYXJ0bm8pKQorCQkJcmV0dXJuIC1FUkFOR0U7CisJCSpuID0gcGEtPnBhcnRubzsKKwkJcmV0dXJuIDA7CisKKwl9IGVsc2UgaWYgKGZkaXNrX2hhc19kaWFsb2dzKGN4dCkpCisJCXJldHVybiBmZGlza19hc2tfcGFydG51bShjeHQsIG4sIDEpOworCisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgcHJvYmVfcGFydGl0aW9uX2NvbnRlbnQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJaW50IHJjID0gMTsJLyogbm90aGluZyAqLworCisJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHBhLCAic3RhcnQgcHJvYmUgIyV6dSBwYXJ0aXRpb24gW2N4dCAlcF0gPj4+IiwgcGEtPnBhcnRubywgY3h0KSk7CisKKwkvKiB6ZXJvaXplIHRoZSBjdXJyZW50IHNldHRpbmcgKi8KKwlzdHJkdXBfdG9fc3RydWN0X21lbWJlcihwYSwgZnN0eXBlLCBOVUxMKTsKKwlzdHJkdXBfdG9fc3RydWN0X21lbWJlcihwYSwgZnN1dWlkLCBOVUxMKTsKKwlzdHJkdXBfdG9fc3RydWN0X21lbWJlcihwYSwgZnNsYWJlbCwgTlVMTCk7CisKKwlpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpIHx8CisJICAgICFmZGlza19wYXJ0aXRpb25faGFzX3NpemUocGEpKQorCQlnb3RvIGRvbmU7CisKKyNpZmRlZiBIQVZFX0xJQkJMS0lECisJZWxzZSB7CisJCXVpbnRtYXhfdCBzdGFydCwgc2l6ZTsKKworCQlibGtpZF9wcm9iZSBwciA9IGJsa2lkX25ld19wcm9iZSgpOworCQlpZiAoIXByKQorCQkJZ290byBkb25lOworCisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaihwYSwgImJsa2lkIHByb2JlcjogJXAiLCBwcikpOworCisJCXN0YXJ0ID0gZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSkgKiBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KTsKKwkJc2l6ZSA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSkgKiBmZGlza19nZXRfc2VjdG9yX3NpemUoY3h0KTsKKworCQlpZiAoYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgY3h0LT5kZXZfZmQsIHN0YXJ0LCBzaXplKSA9PSAwCisJCSAgICAmJiBibGtpZF9kb19mdWxscHJvYmUocHIpID09IDApIHsKKworCQkJY29uc3QgY2hhciAqZGF0YTsKKwkJCXJjID0gMDsKKworCQkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgICZkYXRhLCBOVUxMKSkKKwkJCQlyYyA9IHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKHBhLCBmc3R5cGUsIGRhdGEpOworCisJCQlpZiAoIXJjICYmICFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJMQUJFTCIsICZkYXRhLCBOVUxMKSkKKwkJCQlyYyA9IHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKHBhLCBmc2xhYmVsLCBkYXRhKTsKKworCQkJaWYgKCFyYyAmJiAhYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiVVVJRCIsICAmZGF0YSwgTlVMTCkpCisJCQkJcmMgPSBzdHJkdXBfdG9fc3RydWN0X21lbWJlcihwYSwgZnN1dWlkLCBkYXRhKTsKKwkJfQorCisJCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCQlwYS0+ZnNfcHJvYmVkID0gMTsKKwl9CisjZW5kaWYgLyogSEFWRV9MSUJCTEtJRCAqLworCitkb25lOgorCURCRyhQQVJULCB1bF9kZWJ1Z29iaihwYSwgIjw8PCBlbmQgcHJvYmUgIyV6dSBwYXJ0aXRpb25bY3h0ICVwLCByYz0lZF0iLCBwYS0+cGFydG5vLCBjeHQsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmc6CisgKiBAcGE6IHBhcnRpdGlvbgorICogQGN4dDogY29udGV4dAorICogQGlkOiBmaWVsZCAoRkRJU0tfRklFTERfKikKKyAqIEBkYXRhOiByZXR1cm5zIHN0cmluZyB3aXRoIGFsbG9jYXRlZCBkYXRhCisgKgorICogUmV0dXJucyBpbmZvIGFib3V0IHBhcnRpdGlvbiBjb252ZXJ0ZWQgdG8gcHJpbnRhYmxlIHN0cmluZy4KKyAqCisgKiBGb3IgZXhhbXBsZQorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICogICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKyAqCisgKiAgICAgIGZkaXNrX2dldF9wYXJ0aXRpb24oY3h0LCAwLCAmcGEpOworICoJZmRpc2tfcGFydGl0aW9uX3RvX3N0cmluZyhwYSwgRkRJU0tfRklFTERfVVVJRCwgJmRhdGEpOworICoJcHJpbnRmKCJmaXJzdCBwYXJ0aXRpb24gdXVpZDogJXNcbiIsIGRhdGEpOworICoJZnJlZShkYXRhKTsKKyAqCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiByZXR1cm5zIFVVSUQgZm9yIHRoZSBmaXJzdCBwYXJ0aXRpb24uCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX3BhcnRpdGlvbl90b19zdHJpbmcoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCQkgICAgICBzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgICAgaW50IGlkLAorCQkJICAgICAgY2hhciAqKmRhdGEpCit7CisJY2hhciAqcCA9IE5VTEw7CisJaW50IHJjID0gMDsKKwl1aW50NjRfdCB4OworCisJaWYgKCFwYSB8fCAhY3h0IHx8ICFkYXRhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN3aXRjaCAoaWQpIHsKKwljYXNlIEZESVNLX0ZJRUxEX0RFVklDRToKKwkJaWYgKHBhLT5mcmVlc3BhY2UpCisJCQlwID0gc3RyZHVwKF8oIkZyZWUgc3BhY2UiKSk7CisJCWVsc2UgaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKHBhKSAmJiBjeHQtPmRldl9wYXRoKSB7CisJCQlpZiAoY3h0LT5sYWJlbC0+ZmxhZ3MgJiBGRElTS19MQUJFTF9GTF9JTkNIQVJTX1BBUlROTykKKwkJCQlyYyA9IGFzcHJpbnRmKCZwLCAiJWMiLCAoaW50KSBwYS0+cGFydG5vICsgJ2EnKTsKKwkJCWVsc2UKKwkJCQlwID0gZmRpc2tfcGFydG5hbWUoY3h0LT5kZXZfcGF0aCwgcGEtPnBhcnRubyArIDEpOworCQl9CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfQk9PVDoKKwkJcCA9IGZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZShwYSkgPyBzdHJkdXAoIioiKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfU1RBUlQ6CisJCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQkJeCA9IGZkaXNrX2Nyb3VuZChjeHQsIHBhLT5zdGFydCk7CisJCQlyYyA9IHBhLT5zdGFydF9wb3N0ID8KKwkJCQlhc3ByaW50ZigmcCwgIiUiUFJJdTY0IiVjIiwgeCwgcGEtPnN0YXJ0X3Bvc3QpIDoKKwkJCQlhc3ByaW50ZigmcCwgIiUiUFJJdTY0LCB4KTsKKwkJfQorCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0VORDoKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kKHBhKSkgeworCQkJeCA9IGZkaXNrX2Nyb3VuZChjeHQsIGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kKHBhKSk7CisJCQlyYyA9IHBhLT5lbmRfcG9zdCA/CisJCQkJCWFzcHJpbnRmKCZwLCAiJSJQUkl1NjQiJWMiLCB4LCBwYS0+ZW5kX3Bvc3QpIDoKKwkJCQkJYXNwcmludGYoJnAsICIlIlBSSXU2NCwgeCk7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9TSVpFOgorCQlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkgeworCQkJdWludDY0X3Qgc3ogPSBwYS0+c2l6ZSAqIGN4dC0+c2VjdG9yX3NpemU7CisKKwkJCXN3aXRjaCAoY3h0LT5zaXpldW5pdCkgeworCQkJY2FzZSBGRElTS19TSVpFVU5JVF9CWVRFUzoKKwkJCQlyYyA9IGFzcHJpbnRmKCZwLCAiJSJQUkl1NjQiIiwgc3opOworCQkJCWJyZWFrOworCQkJY2FzZSBGRElTS19TSVpFVU5JVF9IVU1BTjoKKwkJCQlpZiAoZmRpc2tfaXNfZGV0YWlscyhjeHQpKQorCQkJCQlyYyA9IHBhLT5zaXplX3Bvc3QgPworCQkJCQkJCWFzcHJpbnRmKCZwLCAiJSJQUkl1NjQiJWMiLCBzeiwgcGEtPnNpemVfcG9zdCkgOgorCQkJCQkJCWFzcHJpbnRmKCZwLCAiJSJQUkl1NjQsIHN6KTsKKwkJCQllbHNlIHsKKwkJCQkJcCA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHN6KTsKKwkJCQkJaWYgKCFwKQorCQkJCQkJcmMgPSAtRU5PTUVNOworCQkJCX0KKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0NZTElOREVSUzoKKwl7CisJCXVpbnRtYXhfdCBzeiA9IGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkgPyBwYS0+c2l6ZSA6IDA7CisJCWlmIChzeikKKwkJCS8qIFdoeSB3ZSBuZWVkIHRvIGNhc3QgdGhhdCB0byB1aW50bWF4X3Q/ICovCisJCQlyYyA9IGFzcHJpbnRmKCZwLCAiJWp1IiwgKHVpbnRtYXhfdCkoc3ogLyAoY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMpKSArIDEpOworCQlicmVhazsKKwl9CisJY2FzZSBGRElTS19GSUVMRF9TRUNUT1JTOgorCQlyYyA9IGFzcHJpbnRmKCZwLCAiJWp1IiwKKwkJCWZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkgPyAodWludG1heF90KSBwYS0+c2l6ZSA6IDApOworCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0JTSVpFOgorCQlyYyA9IGFzcHJpbnRmKCZwLCAiJSJQUkl1NjQsIHBhLT5ic2l6ZSk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfRlNJWkU6CisJCXJjID0gYXNwcmludGYoJnAsICIlIlBSSXU2NCwgcGEtPmZzaXplKTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9DUEc6CisJCXJjID0gYXNwcmludGYoJnAsICIlIlBSSXU2NCwgcGEtPmNwZyk7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfVFlQRToKKwkJcCA9IHBhLT50eXBlICYmIHBhLT50eXBlLT5uYW1lID8gc3RyZHVwKF8ocGEtPnR5cGUtPm5hbWUpKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfVFlQRUlEOgorCQlpZiAocGEtPnR5cGUgJiYgZmRpc2tfcGFydHR5cGVfZ2V0X3N0cmluZyhwYS0+dHlwZSkpCisJCQlyYyA9IGFzcHJpbnRmKCZwLCAiJXMiLCBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHBhLT50eXBlKSk7CisJCWVsc2UgaWYgKHBhLT50eXBlKQorCQkJcmMgPSBhc3ByaW50ZigmcCwgIiV4IiwgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUocGEtPnR5cGUpKTsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9VVUlEOgorCQlwID0gcGEtPnV1aWQgJiYgKnBhLT51dWlkPyBzdHJkdXAocGEtPnV1aWQpIDogTlVMTDsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9OQU1FOgorCQlwID0gcGEtPm5hbWUgJiYgKnBhLT5uYW1lID8gc3RyZHVwKHBhLT5uYW1lKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfQVRUUjoKKwkJcCA9IHBhLT5hdHRycyAmJiAqcGEtPmF0dHJzID8gc3RyZHVwKHBhLT5hdHRycykgOiBOVUxMOworCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX1NBRERSOgorCQlwID0gcGEtPnN0YXJ0X2NocyAmJiAqcGEtPnN0YXJ0X2NocyA/IHN0cmR1cChwYS0+c3RhcnRfY2hzKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgRkRJU0tfRklFTERfRUFERFI6CisJCXAgPSBwYS0+ZW5kX2NocyAmJiAqcGEtPmVuZF9jaHM/IHN0cmR1cChwYS0+ZW5kX2NocykgOiBOVUxMOworCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0ZTVVVJRDoKKwkJaWYgKHBhLT5mc19wcm9iZWQgfHwgcHJvYmVfcGFydGl0aW9uX2NvbnRlbnQoY3h0LCBwYSkgPT0gMCkKKwkJCXAgPSBwYS0+ZnN1dWlkICYmICpwYS0+ZnN1dWlkID8gc3RyZHVwKHBhLT5mc3V1aWQpIDogTlVMTDsKKwkJYnJlYWs7CisJY2FzZSBGRElTS19GSUVMRF9GU0xBQkVMOgorCQlpZiAocGEtPmZzX3Byb2JlZCB8fCBwcm9iZV9wYXJ0aXRpb25fY29udGVudChjeHQsIHBhKSA9PSAwKQorCQkJcCA9IHBhLT5mc2xhYmVsICYmICpwYS0+ZnNsYWJlbCA/IHN0cmR1cChwYS0+ZnNsYWJlbCkgOiBOVUxMOworCQlicmVhazsKKwljYXNlIEZESVNLX0ZJRUxEX0ZTVFlQRToKKwkJaWYgKHBhLT5mc19wcm9iZWQgfHwgcHJvYmVfcGFydGl0aW9uX2NvbnRlbnQoY3h0LCBwYSkgPT0gMCkKKwkJCXAgPSBwYS0+ZnN0eXBlICYmICpwYS0+ZnN0eXBlID8gc3RyZHVwKHBhLT5mc3R5cGUpIDogTlVMTDsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJaWYgKHJjIDwgMCkgeworCQlyYyA9IC1FTk9NRU07CisJCWZyZWUocCk7CisJCXAgPSBOVUxMOworCisJfSBlbHNlIGlmIChyYyA+IDApCisJCXJjID0gMDsKKworCSpkYXRhID0gcDsKKworCXJldHVybiByYzsKK30KKworCisvKioKKyAqIGZkaXNrX2dldF9wYXJ0aXRpb246CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcGFydG5vOiBwYXJ0aXRpb24gbnVtYmVyICgwIGlzIHRoZSBmaXJzdCBwYXJ0aXRpb24pCisgKiBAcGE6IHJldHVybnMgZGF0YSBhYm91dCBwYXJ0aXRpb24KKyAqCisgKiBSZWFkcyBkaXNrbGFiZWwgYW5kIGZpbGxzIGluIEBwYSB3aXRoIGRhdGEgYWJvdXQgcGFydGl0aW9uIEBuLgorICoKKyAqIE5vdGUgdGhhdCBwYXJ0bm8gbWF5IGFkZHJlc3MgdW51c2VkIHBhcnRpdGlvbiBhbmQgdGhlbiB0aGlzIGZ1bmN0aW9uIGRvZXMKKyAqIG5vdCBmaWxsIGFueXRoaW5nIHRvIEBwYS4gIFNlZSBmZGlza19pc19wYXJ0aXRpb25fdXNlZCgpLiBJZiBAcGEgcG9pbnRzIHRvCisgKiBOVUxMIHRoZW4gdGhlIGZ1bmN0aW9uIGFsbG9jYXRlcyBhIG5ld2x5IGFsbG9jYXRlZCBmZGlza19wYXJ0aXRpb24gc3RydWN0LAorICogdXNlIGZkaXNrX3VucmVmX3BhcnRpdGlvbigpIHRvIGRlYWxsb2NhdGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2dldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRubywKKwkJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKipwYSkKK3sKKwlpbnQgcmM7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqbnAgPSBOVUxMOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwgfHwgIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5nZXRfcGFydCkKKwkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKCFmZGlza19pc19wYXJ0aXRpb25fdXNlZChjeHQsIHBhcnRubykpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCEqcGEpIHsKKwkJbnAgPSAqcGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CisJCWlmICghKnBhKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfSBlbHNlCisJCWZkaXNrX3Jlc2V0X3BhcnRpdGlvbigqcGEpOworCisJKCpwYSktPnBhcnRubyA9IHBhcnRubzsKKwlyYyA9IGN4dC0+bGFiZWwtPm9wLT5nZXRfcGFydChjeHQsIHBhcnRubywgKnBhKTsKKworCWlmIChyYykgeworCQlpZiAobnApIHsKKwkJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihucCk7CisJCQkqcGEgPSBOVUxMOworCQl9IGVsc2UKKwkJCWZkaXNrX3Jlc2V0X3BhcnRpdGlvbigqcGEpOworCX0gZWxzZQorCQkoKnBhKS0+c2l6ZV9leHBsaWNpdCA9IDE7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcmVzaXplX2dldF9ieV9vZmZzZXQoCisJCQlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLCBmZGlza19zZWN0b3JfdCBvZmYpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKworCWZkaXNrX3Jlc2V0X2l0ZXIoJml0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgJml0ciwgJnBhKSA9PSAwKSB7CisJCWlmICghZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgfHwgIWZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCQljb250aW51ZTsKKwkJaWYgKG9mZiA+PSBwYS0+c3RhcnQgJiYgb2ZmIDwgcGEtPnN0YXJ0ICsgcGEtPnNpemUpCisJCQlyZXR1cm4gcGE7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBWZXJpZnkgdGhhdCBhcmVhIGFkZHJlc3NlZCBieSBAc3RhcnQgaXMgZnJlZXNwYWNlIG9yIHRoZSBAY3VyW3JlbnRdCisgKiBwYXJ0aXRpb24gYW5kIGNvbnRpbnVlIHRvIHRoZSBuZXh0IHRhYmxlIGVudHJpZXMgdW50aWwgaXQncyBmcmVlc3BhY2UsIGFuZAorICogY291bnRzIHNpemUgb2YgYWxsIHRoaXMgc3BhY2UuCisgKgorICogVGhpcyBpcyBjb3JlIG9mIHRoZSBwYXJ0aXRpb24gc3RhcnQgb2Zmc2V0IG1vdmUgb3BlcmF0aW9uLiBXZSBjYW4gbW92ZSB0aGUKKyAqIHN0YXJ0IHdpdGhpbiB0aGUgY3VycmVudCBwYXJ0aXRpb24gb2YgdG8gdGhlIGFub3RoZXIgZnJlZSBzcGFjZS4gSXQncworICogZm9yYmlkZGVuIHRvIG1vdmUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB0byBhbm90aGVyIGFscmVhZHkgZGVmaW5lZAorICogcGFydGl0aW9uLgorICovCitzdGF0aWMgaW50IHJlc2l6ZV9nZXRfbGFzdF9wb3NzaWJsZSgKKwkJCXN0cnVjdCBmZGlza190YWJsZSAqdGIsCisJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpjdXIsCisJCQlmZGlza19zZWN0b3JfdCBzdGFydCwKKwkJCWZkaXNrX3NlY3Rvcl90ICptYXhzeikKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEwsICpsYXN0ID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisKKwkqbWF4c3ogPSAwOworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiY2hlY2tpbmcgbGFzdCBwb3NzaWJsZSBmb3Igc3RhcnQ9JWp1IiwgKHVpbnRtYXhfdCkgc3RhcnQpKTsKKworCisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmcGEpID09IDApIHsKKworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiBjaGVja2luZyBlbnRyeSAlcCBbcGFydG5vPSV6dSBzdGFydD0lanUsIGVuZD0lanUsIHNpemU9JWp1JXMlcyVzXSIsCisJCQlwYSwKKwkJCWZkaXNrX3BhcnRpdGlvbl9nZXRfcGFydG5vKHBhKSwKKwkJCSh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9lbmQocGEpLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSwKKwkJCWZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2UocGEpID8gIiBmcmVlc3BhY2UiIDogIiIsCisJCQlmZGlza19wYXJ0aXRpb25faXNfbmVzdGVkKHBhKSAgICA/ICIgbmVzdGVkIiAgICA6ICIiLAorCQkJZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcihwYSkgPyAiIGNvbnRhaW5lciIgOiAiIikpOworCisJCWlmICghZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgfHwKKwkJICAgICFmZGlza19wYXJ0aXRpb25faGFzX3NpemUocGEpIHx8CisJCSAgICAoZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcihwYSkgJiYgcGEgIT0gY3VyKSkgeworCQkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgIGlnbm9yZWQgKG5vIHN0YXJ0L3NpemUgb3IgY29udGFpbmVyKSIpKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQocGEpCisJCSAgICAmJiBmZGlza19wYXJ0aXRpb25faXNfY29udGFpbmVyKGN1cikKKwkJICAgICYmIHBhLT5wYXJlbnRfcGFydG5vID09IGN1ci0+cGFydG5vKSB7CisJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiAgaWdub3JlIChuZXN0ZWQgY2hpbGQgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uKSIpKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogVGhlIGN1cnJlbnQgaXMgbmVzdGVkLCBmcmVlIHNwYWNlIGhhcyB0byBiZSBuZXN0ZWQgd2l0aGluIHRoZSBzYW1lIHBhcmVudCAqLworCQlpZiAoZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChjdXIpCisJCSAgICAmJiBwYS0+cGFyZW50X3BhcnRubyAhPSBjdXItPnBhcmVudF9wYXJ0bm8pIHsKKwkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiICBpZ25vcmUgKG5lc3RlZCByZXF1aXJlZCkiKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmICghbGFzdCkgeworCQkJaWYgKHN0YXJ0ID49IHBhLT5zdGFydCAmJiAgc3RhcnQgPCBwYS0+c3RhcnQgKyBwYS0+c2l6ZSkgeworCQkJCWlmIChmZGlza19wYXJ0aXRpb25faXNfZnJlZXNwYWNlKHBhKSB8fCBwYSA9PSBjdXIpIHsKKwkJCQkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgIGFjY2VwdGVkIGFzIGxhc3QiKSk7CisJCQkJCWxhc3QgPSBwYTsKKwkJCQl9IGVsc2UgeworCQkJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiAgZmFpbGVkIHRvIHNldCBsYXN0IikpOworCQkJCQlicmVhazsKKwkJCQl9CisKKworCQkJCSptYXhzeiA9IHBhLT5zaXplIC0gKHN0YXJ0IC0gcGEtPnN0YXJ0KTsKKwkJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiAgbmV3IG1heD0lanUiLCAodWludG1heF90KSAqbWF4c3opKTsKKwkJCX0KKwkJfSBlbHNlIGlmICghZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShwYSkgJiYgcGEgIT0gY3VyKSB7CisJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiAgbm8gZnJlZSBzcGFjZSBiZWhpbmQgY3VycmVudCIpKTsKKwkJCWJyZWFrOworCQl9IGVsc2UgeworCQkJbGFzdCA9IHBhOworCQkJKm1heHN6ICs9IHBhLT5zaXplOworCQkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgIG5ldyBtYXg9JWp1IChsYXN0IHVwZGF0ZWQpIiwgKHVpbnRtYXhfdCkgKm1heHN6KSk7CisJCX0KKwl9CisKKwlpZiAobGFzdCkKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKGN1ciwgInJlc2l6ZTogbWF4IHNpemU9JWp1IiwgKHVpbnRtYXhfdCkgKm1heHN6KSk7CisJZWxzZQorCQlEQkcoUEFSVCwgdWxfZGVidWdvYmooY3VyLCAicmVzaXplOiBub3RoaW5nIHVzYWJsZSBhZnRlciAlanUiLCAodWludG1heF90KSBzdGFydCkpOworCisJcmV0dXJuIGxhc3QgPyAwIDogLTE7Cit9CisKKy8qCisgKiBVc2VzIHRlbXBsYXRlIEB0cGwgdG8gcmVjb3VudCBzdGFydCBhbmQgc2l6ZSBjaGFuZ2Ugb2YgdGhlIHBhcnRpdGlvbiBAcmVzLiBUaGUKKyAqIEB0cGwtPnNpemUgYW5kIEB0cGwtPnN0YXJ0IGFyZSBpbnRlcnByZXRlZCBhcyByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBzZXR0aW5nLgorICovCitzdGF0aWMgaW50IHJlY291bnRfcmVzaXplKAorCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRubywKKwkJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnJlcywgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqdHBsKQoreworCWZkaXNrX3NlY3Rvcl90IHN0YXJ0LCBzaXplLCB4c2l6ZTsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpjdXIgPSBOVUxMOworCXN0cnVjdCBmZGlza190YWJsZSAqdGIgPSBOVUxMOworCWludCByYzsKKworCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICI+Pj4gcmVzaXplIHJlcXVlc3RlZCIpKTsKKworCUZESVNLX0lOSVRfVU5ERUYoc3RhcnQpOworCUZESVNLX0lOSVRfVU5ERUYoc2l6ZSk7CisKKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb25zKGN4dCwgJnRiKTsKKwlpZiAoIXJjKQorCQlyYyA9IGZkaXNrX2dldF9mcmVlc3BhY2VzKGN4dCwgJnRiKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWZkaXNrX3RhYmxlX3NvcnRfcGFydGl0aW9ucyh0YiwgZmRpc2tfcGFydGl0aW9uX2NtcF9zdGFydCk7CisKKwlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplIHBhcnRpdGlvbiBwYXJ0bm89JXp1IGluIHRhYmxlOiIsIHBhcnRubykpOworCU9OX0RCRyhQQVJULCBmZGlza19kZWJ1Z19wcmludF90YWJsZSh0YikpOworCisJY3VyID0gZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbl9ieV9wYXJ0bm8odGIsIHBhcnRubyk7CisJaWYgKCFjdXIpIHsKKwkJZmRpc2tfdW5yZWZfdGFibGUodGIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwkvKiAxYSkgc2V0IG5ldyBzdGFydCAtIGNoYW5nZSByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBvbi1kaXNrIHNldHRpbmcgKi8KKwlpZiAodHBsLT5tb3Zlc3RhcnQgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydCh0cGwpKSB7CisJCXN0YXJ0ID0gZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChjdXIpOworCQlpZiAodHBsLT5tb3Zlc3RhcnQgPT0gRkRJU0tfTU9WRV9ET1dOKSB7CisJCQlpZiAoZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydCh0cGwpID4gc3RhcnQpCisJCQkJZ290byBlcmFuZ2U7CisJCQlzdGFydCAtPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHRwbCk7CisJCX0gZWxzZQorCQkJc3RhcnQgKz0gZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydCh0cGwpOworCisJCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICJyZXNpemU6IG1vdmluZyBzdGFydCAlcyByZWxhdGl2ZSwgbmV3IHN0YXJ0OiAlanUiLAorCQkJCXRwbC0+bW92ZXN0YXJ0ID09IEZESVNLX01PVkVfRE9XTiAgPyAiRE9XTiIgOiAiVVAiLCAodWludG1heF90KXN0YXJ0KSk7CisKKwkvKiAxYikgc2V0IG5ldyBzdGFydCAtIGFic29sdXRlIG51bWJlciAqLworCX0gZWxzZSBpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydCh0cGwpKSB7CisJCXN0YXJ0ID0gZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydCh0cGwpOworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiBtb3Zpbmcgc3RhcnQgdG8gYWJzb2x1dGUgb2Zmc2V0OiAlanUiLAorCQkgICAgICAgICAgICAgICAgICAgICAgKHVpbnRtYXhfdClzdGFydCkpOworCX0KKworCS8qIDIpIHZlcmlmeSB0aGF0IHN0YXJ0IGlzIHdpdGhpbiB0aGUgY3VycmVudCBwYXJ0aXRpb24gb3IgYW55IGZyZWVzcGFjZSBhcmVhICovCisJaWYgKCFGRElTS19JU19VTkRFRihzdGFydCkpIHsKKwkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqYXJlYSA9IHJlc2l6ZV9nZXRfYnlfb2Zmc2V0KHRiLCBzdGFydCk7CisJCWlmIChhcmVhID09IGN1cikKKwkJCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICJyZXNpemU6IHN0YXJ0IHBvaW50cyB0byB0aGUgY3VycmVudCBwYXJ0aXRpb24iKSk7CisJCWVsc2UgaWYgKGFyZWEgJiYgZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShhcmVhKSkKKwkJCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICJyZXNpemU6IHN0YXJ0IHBvaW50cyB0byBmcmVlc3BhY2UiKSk7CisJCWVsc2UgaWYgKCFhcmVhICYmIHN0YXJ0ID49IGN4dC0+Zmlyc3RfbGJhICYmIHN0YXJ0IDwgY3h0LT5maXJzdF9sYmEgKyAoY3h0LT5ncmFpbiAvIGN4dC0+c2VjdG9yX3NpemUpKQorCQkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgInJlc2l6ZTogc3RhcnQgcG9pbnRzIGJlZm9yZSBmaXJzdCBwYXJ0aXRpb24iKSk7CisJCWVsc2UKKwkJCWdvdG8gZXJhbmdlOworCX0gZWxzZSB7CisJCS8qIG5vIGNoYW5nZSwgc3RhcnQgcG9pbnRzIHRvIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAqLworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiBzdGFydCB1bmNoYW5nZWQiKSk7CisJCXN0YXJ0ID0gZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChjdXIpOworCX0KKworCS8qIDNhKSBzZXQgbmV3IHNpemUgLS0gcmVkdWNlICovCisJaWYgKHRwbC0+cmVzaXplID09IEZESVNLX1JFU0laRV9SRURVQ0UgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHRwbCkpIHsKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgInJlc2l6ZTogcmVkdWNlIikpOworCQlzaXplID0gZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKGN1cik7CisJCWlmIChmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUodHBsKSA+IHNpemUpCisJCQlnb3RvIGVyYW5nZTsKKwkJc2l6ZSAtPSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUodHBsKTsKKworCS8qIDNiKSBzZXQgbmV3IHNpemUgLS0gZW5sYXJnZSAqLworCX0gZWxzZSBpZiAodHBsLT5yZXNpemUgPT0gRkRJU0tfUkVTSVpFX0VOTEFSR0UgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHRwbCkpIHsKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgInJlc2l6ZTogZW5sYXJnZSIpKTsKKwkJc2l6ZSA9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShjdXIpOworCQlzaXplICs9IGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZSh0cGwpOworCisJLyogM2MpIHNldCBuZXcgc2l6ZSAtLSBubyBzaXplIHNwZWNpZmllZCwgZW5sYXJnZSB0byBhbGwgZnJlZXNwYWNlICovCisJfSBlbHNlIGlmICh0cGwtPnJlc2l6ZSA9PSBGRElTS19SRVNJWkVfRU5MQVJHRSkgeworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiBlbmxhcmdlIHRvIGFsbCBwb3NzaWJsZSIpKTsKKwkJaWYgKHJlc2l6ZV9nZXRfbGFzdF9wb3NzaWJsZSh0YiwgY3VyLCBzdGFydCwgJnNpemUpKQorCQkJZ290byBlcmFuZ2U7CisKKwkvKiAzZCkgc2V0IG5ldyBzaXplIC0tIGFic29sdXRlIG51bWJlciAqLworCX0gZWxzZSBpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHRwbCkpIHsKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgInJlc2l6ZTogbmV3IGFic29sdXRlIHNpemUiKSk7CisJCXNpemUgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUodHBsKTsKKwl9CisKKwkvKiA0KSB2ZXJpZnkgdGhhdCBzaXplIGlzIHdpdGhpbiB0aGUgY3VycmVudCBwYXJ0aXRpb24gb3IgbmV4dCBmcmVlIHNwYWNlICovCisJeHNpemUgPSAhRkRJU0tfSVNfVU5ERUYoc2l6ZSkgPyBzaXplIDogZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKGN1cik7CisKKwlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKGN1cikpIHsKKwkJZmRpc2tfc2VjdG9yX3QgbWF4c3o7CisKKwkJaWYgKHJlc2l6ZV9nZXRfbGFzdF9wb3NzaWJsZSh0YiwgY3VyLCBzdGFydCwgJm1heHN6KSkKKwkJCWdvdG8gZXJhbmdlOworCQlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAicmVzaXplOiBzaXplPSVqdSwgbWF4PSVqdSIsCisJCQkJCSh1aW50bWF4X3QpIHhzaXplLCAodWludG1heF90KSBtYXhzeikpOworCQlpZiAoeHNpemUgPiBtYXhzeikKKwkJCWdvdG8gZXJhbmdlOworCX0KKworCWlmICghRkRJU0tfSVNfVU5ERUYoc2l6ZSkpIHsKKwkJREJHKFBBUlQsIHVsX2RlYnVnb2JqKHRwbCwgInJlc2l6ZTogc2l6ZSB1bmNoYW5nZWQgKHVuZGVmaW5lZCkiKSk7CisJfQorCisKKwlEQkcoUEFSVCwgdWxfZGVidWdvYmoodHBsLCAiPDw8IHJlc2l6ZTogU1VDQ0VTUzogc3RhcnQgJWp1LT4lanU7IHNpemUgJWp1LT4lanUiLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChjdXIpLCAodWludG1heF90KSBzdGFydCwKKwkJCSh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShjdXIpLCAodWludG1heF90KSBzaXplKSk7CisJcmVzLT5zdGFydCA9IHN0YXJ0OworCXJlcy0+c2l6ZSA9IHNpemU7CisJZmRpc2tfdW5yZWZfdGFibGUodGIpOworCXJldHVybiAwOworZXJhbmdlOgorCURCRyhQQVJULCB1bF9kZWJ1Z29iaih0cGwsICI8PDwgcmVzaXplOiBGQUlMRUQiKSk7CisJZmRpc2tfd2FybngoY3h0LCBfKCJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIpLCBwYXJ0bm8gKyAxKTsKKwlmZGlza191bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIC1FUkFOR0U7CisKK30KKworLyoqCisgKiBmZGlza19zZXRfcGFydGl0aW9uOgorICogQGN4dDogY29udGV4dAorICogQHBhcnRubzogcGFydGl0aW9uIG51bWJlciAoMCBpcyB0aGUgZmlyc3QgcGFydGl0aW9uKQorICogQHBhOiBuZXcgcGFydGl0aW9uIHNldHRpbmcKKyAqCisgKiBNb2RpZmllcyBkaXNrbGFiZWwgYWNjb3JkaW5nIHRvIHNldHRpbmcgd2l0aCBpbiBAcGEuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRubywKKwkJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnhwYSA9IHBhLCAqdG1wID0gTlVMTDsKKwlpbnQgcmMsIHdpcGUgPSAwOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwgfHwgIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5zZXRfcGFydCkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlwYS0+ZnNfcHJvYmVkID0gMDsKKworCWlmICghZmRpc2tfaXNfcGFydGl0aW9uX3VzZWQoY3h0LCBwYXJ0bm8pKSB7CisJCXBhLT5wYXJ0bm8gPSBwYXJ0bm87CisJCXJldHVybiBmZGlza19hZGRfcGFydGl0aW9uKGN4dCwgcGEsIE5VTEwpOworCX0KKworCWlmIChwYS0+cmVzaXplIHx8IGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpIHx8IGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpIHsKKwkJeHBhID0gX19jb3B5X3BhcnRpdGlvbihwYSk7CisJCWlmICgheHBhKSB7CisJCQlyYyA9IC1FTk9NRU07CisJCQlnb3RvIGRvbmU7CisJCX0KKwkJeHBhLT5tb3Zlc3RhcnQgPSAwOworCQl4cGEtPnJlc2l6ZSA9IDA7CisJCUZESVNLX0lOSVRfVU5ERUYoeHBhLT5zaXplKTsKKwkJRkRJU0tfSU5JVF9VTkRFRih4cGEtPnN0YXJ0KTsKKworCQlyYyA9IHJlY291bnRfcmVzaXplKGN4dCwgcGFydG5vLCB4cGEsIHBhKTsKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNldHRpbmcgcGFydGl0aW9uICV6dSAlcCAoc3RhcnQ9JWp1LCBlbmQ9JWp1LCBzaXplPSVqdSkiLAorCQkgICAgcGFydG5vLCB4cGEsCisJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHhwYSksCisJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZCh4cGEpLAorCQkgICAgKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHhwYSkpKTsKKworCS8qIGRpc2FibGUgd2lwZSBmb3Igb2xkIG9mZnNldC9zaXplIHNldHRpbmcgKi8KKwlpZiAoZmRpc2tfZ2V0X3BhcnRpdGlvbihjeHQsIHBhcnRubywgJnRtcCkgPT0gMCAmJiB0bXApIHsKKwkJd2lwZSA9IGZkaXNrX3NldF93aXBlX2FyZWEoY3h0LCBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHRtcCksCisJCQkJCQlmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUodG1wKSwgRkFMU0UpOworCQlmZGlza191bnJlZl9wYXJ0aXRpb24odG1wKTsKKwl9CisKKwkvKiBjYWxsIGxhYmVsIGRyaXZlciAqLworCXJjID0gY3h0LT5sYWJlbC0+b3AtPnNldF9wYXJ0KGN4dCwgcGFydG5vLCB4cGEpOworCisJLyogZW5hYmxlIHdpcGUgZm9yIG5ldyBvZmZzZXQvc2l6ZSAqLworCWlmICghcmMgJiYgd2lwZSkKKwkJZmRpc2tfd2lwZV9wYXJ0aXRpb24oY3h0LCBwYXJ0bm8sIFRSVUUpOworZG9uZToKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJzZXRfcGFydGl0aW9uKCkgcmM9JWQiLCByYykpOworCWlmICh4cGEgIT0gcGEpCisJCWZkaXNrX3VucmVmX3BhcnRpdGlvbih4cGEpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza193aXBlX3BhcnRpdGlvbjoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBwYXJ0bm86IHBhcnRpdGlvbiBudW1iZXIKKyAqIEBlbmFibGU6IDAgb3IgMQorICoKKyAqIEVuYWJsZS9kaXNhYmxlIGZpbGVzeXN0ZW1zL1JBSURzIHdpcGluZyBpbiBhcmVhIGRlZmluZWQgYnkgcGFydGl0aW9uIHN0YXJ0IGFuZCBzaXplLgorICoKKyAqIFJldHVybnM6IDwwIGluIGNhc2Ugb2YgZXJyb3IsIDAgb24gc3VjY2VzcworICogU2luY2U6IDIuMjkKKyAqLworaW50IGZkaXNrX3dpcGVfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bm8sIGludCBlbmFibGUpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWludCByYzsKKworCXJjID0gZmRpc2tfZ2V0X3BhcnRpdGlvbihjeHQsIHBhcnRubywgJnBhKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJjID0gZmRpc2tfc2V0X3dpcGVfYXJlYShjeHQsIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJCSAgICAgIGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSksIGVuYWJsZSk7CisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKwlyZXR1cm4gcmMgPCAwID8gcmMgOiAwOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRpdGlvbl9oYXNfd2lwZToKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBwYTogcGFydGl0aW9uCisgKgorICogU2luY2U6IDIuMzAKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBhcmVhIHNwZWNpZmllZCBieSBAcGEgd2lsbCBiZSB3aXBlZCBieSB3cml0ZSBjb21tYW5kLCBvciAwLgorICovCitpbnQgZmRpc2tfcGFydGl0aW9uX2hhc193aXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXJldHVybiBmZGlza19oYXNfd2lwZV9hcmVhKGN4dCwgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSksCisJCQkJCWZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSkpOworfQorCisKKy8qKgorICogZmRpc2tfYWRkX3BhcnRpdGlvbjoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBwYTogdGVtcGxhdGUgZm9yIHRoZSBwYXJ0aXRpb24gKG9yIE5VTEwpCisgKiBAcGFydG5vOiBOVUxMIG9yIHJldHVybnMgbmV3IHBhcnRpdGlvbiBudW1iZXIKKyAqCisgKiBJZiBAcGEgaXMgbm90IHNwZWNpZmllZCBvciBhbnkgQHBhIGl0ZW0gaXMgbWlzc2luZyB0aGUgbGliZmRpc2sgd2lsbCBhc2sgYnkKKyAqIGZkaXNrX2Fza18gQVBJLgorICoKKyAqIFRoZSBAcGEgdGVtcGxhdGUgaXMgaXMgaW1wb3J0YW50IGZvciBub24taW50ZXJhY3RpdmUgcGFydGl0aW9uaW5nLAorICogZXNwZWNpYWxseSBmb3IgTUJSIHdoZXJlIGlzIG5lY2Vzc2FyeSB0byBkaWZmZXJlbnRpYXRlIGJldHdlZW4KKyAqIHByaW1hcnkvbG9naWNhbDsgdGhpcyBpcyBkb25lIGJ5IHN0YXJ0IG9mZnNldCBvci9hbmQgcGFydG5vLgorICogVGhlIHJ1bGVzIGZvciBNQlI6CisgKgorICogICBBKSB0ZW1wbGF0ZSBzcGVjaWZpZXMgc3RhcnQgd2l0aGluIGV4dGVuZGVkIHBhcnRpdGlvbjogYWRkIGxvZ2ljYWwKKyAqICAgQikgdGVtcGxhdGUgc3BlY2lmaWVzIHN0YXJ0IG91dCBvZiBleHRlbmRlZCBwYXJ0aXRpb246IGFkZCBwcmltYXJ5CisgKiAgIEMpIHRlbXBsYXRlIHNwZWNpZmllcyBzdGFydCAob3IgZGVmYXVsdCksIHBhcnRubyA8IDQ6IGFkZCBwcmltYXJ5CisgKiAgIEQpIHRlbXBsYXRlIHNwZWNpZmllcyBkZWZhdWx0IHN0YXJ0LCBwYXJ0bm8gPj0gNDogYWRkIGxvZ2ljYWwKKyAqCisgKiBvdGhlcndpc2UgTUJSIGRyaXZlciB1c2VzIEFzay1BUEkgdG8gZ2V0IG1pc3NpbmcgaW5mb3JtYXRpb24uCisgKgorICogQWRkcyBhIG5ldyBwYXJ0aXRpb24gdG8gZGlza2xhYmVsLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19hZGRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCXNpemVfdCAqcGFydG5vKQoreworCWludCByYzsKKworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5hZGRfcGFydCkKKwkJcmV0dXJuIC1FTk9TWVM7CisJaWYgKGZkaXNrX21pc3NpbmdfZ2VvbWV0cnkoY3h0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAocGEpIHsKKwkJcGEtPmZzX3Byb2JlZCA9IDA7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFkZGluZyBuZXcgcGFydGl0aW9uICVwIiwgcGEpKTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiICAgICBzdGFydDogJWp1IiwgKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSkpKTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kKHBhKSkKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiAgICAgICBlbmQ6ICVqdSIsICh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kKHBhKSkpOworCQlpZiAoZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiAgICAgIHNpemU6ICVqdSIsICh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSkpKTsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICAgICAgICAgIiAgZGVmYXVsdHM6IHN0YXJ0PSVzLCBlbmQ9JXMsIHBhcnRubz0lcyIsCisJCQkgICAgcGEtPnN0YXJ0X2ZvbGxvd19kZWZhdWx0ID8gInllcyIgOiAibm8iLAorCQkJICAgIHBhLT5lbmRfZm9sbG93X2RlZmF1bHQgPyAieWVzIiA6ICJubyIsCisJCQkgICAgcGEtPnBhcnRub19mb2xsb3dfZGVmYXVsdCA/ICJ5ZXMiIDogIm5vIikpOworCX0gZWxzZQorCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhZGRpbmcgcGFydGl0aW9uIikpOworCisJcmMgPSBjeHQtPmxhYmVsLT5vcC0+YWRkX3BhcnQoY3h0LCBwYSwgcGFydG5vKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFkZCBwYXJ0aXRpb24gZG9uZSAocmM9JWQpIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfZGVsZXRlX3BhcnRpdGlvbjoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEBwYXJ0bm86IHBhcnRpdGlvbiBudW1iZXIgdG8gZGVsZXRlICgwIGlzIHRoZSBmaXJzdCBwYXJ0aXRpb24pCisgKgorICogRGVsZXRlcyBhIEBwYXJ0bm8gcGFydGl0aW9uIGZyb20gZGlza2xhYmVsLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX2RlbGV0ZV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IHBhcnRubykKK3sKKwlpZiAoIWN4dCB8fCAhY3h0LT5sYWJlbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFjeHQtPmxhYmVsLT5vcC0+ZGVsX3BhcnQpCisJCXJldHVybiAtRU5PU1lTOworCisJZmRpc2tfd2lwZV9wYXJ0aXRpb24oY3h0LCBwYXJ0bm8sIDApOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZGVsZXRpbmcgJXMgcGFydGl0aW9uIG51bWJlciAlemQiLAorCQkJCWN4dC0+bGFiZWwtPm5hbWUsIHBhcnRubykpOworCXJldHVybiBjeHQtPmxhYmVsLT5vcC0+ZGVsX3BhcnQoY3h0LCBwYXJ0bm8pOworfQorCisvKioKKyAqIGZkaXNrX2RlbGV0ZV9hbGxfcGFydGl0aW9uczoKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqCisgKiBEZWxldGUgYWxsIHVzZWQgcGFydGl0aW9ucyBmcm9tIGRpc2tsYWJlbC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSwgYSBjb3JyZXNwb25kaW5nIGVycm9yLgorICovCitpbnQgZmRpc2tfZGVsZXRlX2FsbF9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGk7CisJaW50IHJjID0gMDsKKworCWlmICghY3h0IHx8ICFjeHQtPmxhYmVsKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZvciAoaSA9IDA7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKworCQlpZiAoIWZkaXNrX2lzX3BhcnRpdGlvbl91c2VkKGN4dCwgaSkpCisJCQljb250aW51ZTsKKwkJcmMgPSBmZGlza19kZWxldGVfcGFydGl0aW9uKGN4dCwgaSk7CisJCWlmIChyYykKKwkJCWJyZWFrOworCX0KKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19pc19wYXJ0aXRpb25fdXNlZDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBuOiBwYXJ0aXRpb24gbnVtYmVyICgwIGlzIHRoZSBmaXJzdCBwYXJ0aXRpb24pCisgKgorICogQ2hlY2sgaWYgdGhlIHBhcnRpdGlvbiBudW1iZXIgQG4gaXMgdXNlZCBieSBwYXJ0aXRpb24gdGFibGUuIFRoaXMgZnVuY3Rpb24KKyAqIGRvZXMgbm90IGNoZWNrIGlmIHRoZSBkZXZpY2UgaXMgdXNlZCAoZS5nLiBtb3VudGVkKSBieSBzeXN0ZW0hCisgKgorICogVGhpcyBpcyBmYXN0ZXIgdGhhbiBmZGlza19nZXRfcGFydGl0aW9uKCkgKyBmZGlza19wYXJ0aXRpb25faXNfdXNlZCgpLgorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgZmRpc2tfaXNfcGFydGl0aW9uX3VzZWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4pCit7CisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghY3h0LT5sYWJlbC0+b3AtPnBhcnRfaXNfdXNlZCkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlyZXR1cm4gY3h0LT5sYWJlbC0+b3AtPnBhcnRfaXNfdXNlZChjeHQsIG4pOworfQorCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvcGFydHR5cGUuYyBiL2xpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViNGJlNmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJmZGlzay9zcmMvcGFydHR5cGUuYwpAQCAtMCwwICsxLDQwNCBAQAorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisvKioKKyAqIFNFQ1RJT046IHBhcnR0eXBlCisgKiBAdGl0bGU6IFBhcnRpdGlvbiB0eXBlcworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBhYnN0cmFjdGlvbiB0byBwYXJ0aXRpb24gdHlwZXMKKyAqCisgKiBUaGVyZSBhcmUgdHdvIGJhc2ljIHR5cGVzIG9mIHBhcnR0eXBlcywgc3RyaW5nIGJhc2VkIChlLmcuIEdQVCkKKyAqIGFuZCBjb2RlL2hleCBiYXNlZCAoZS5nLiBNQlIpLgorICovCisKKy8qKgorICogZmRpc2tfbmV3X3BhcnR0eXBlOgorICoKKyAqIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUoKSBvcgorICogZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fc3RyaW5nKCkgZm9yIHdlbGwga25vd24gdHlwZXMgcmF0aGVyCisgKiB0aGFuIGFsbG9jYXRlIGEgbmV3IGluc3RhbmNlLgorICoKKyAqIFJldHVybnM6IG5ldyBpbnN0YW5jZS4KKyAqLworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19uZXdfcGFydHR5cGUodm9pZCkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPSBjYWxsb2MoMSwgc2l6ZW9mKCp0KSk7CisKKwl0LT5yZWZjb3VudCA9IDE7CisJdC0+ZmxhZ3MgPSBGRElTS19QQVJUVFlQRV9BTExPQ0FURUQ7CisJREJHKFBBUlRUWVBFLCB1bF9kZWJ1Z29iaih0LCAiYWxsb2MiKSk7CisJcmV0dXJuIHQ7Cit9CisKKy8qKgorICogZmRpc2tfcmVmX3BhcnR0eXBlOgorICogQHQ6IHBhcnRpdGlvbiB0eXBlCisgKgorICogSW5jcmVtZW50cyByZWZlcmVuY2UgY291bnRlciBmb3IgYWxsb2NhdGVkIHR5cGVzCisgKi8KK3ZvaWQgZmRpc2tfcmVmX3BhcnR0eXBlKHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCkKK3sKKwlpZiAoZmRpc2tfcGFydHR5cGVfaXNfYWxsb2NhdGVkKHQpKQorCQl0LT5yZWZjb3VudCsrOworfQorCisvKioKKyAqIGZkaXNrX3VucmVmX3BhcnR0eXBlCisgKiBAdDogcGFydGl0aW9uIHBvaW50ZXIKKyAqCisgKiBEZWNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLCBvbiB6ZXJvIHRoZSBAdCBpcyBhdXRvbWF0aWNhbGx5CisgKiBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBmZGlza191bnJlZl9wYXJ0dHlwZShzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpCit7CisJaWYgKCFmZGlza19wYXJ0dHlwZV9pc19hbGxvY2F0ZWQodCkpCisJCXJldHVybjsKKworCXQtPnJlZmNvdW50LS07CisJaWYgKHQtPnJlZmNvdW50IDw9IDApIHsKKwkJREJHKFBBUlRUWVBFLCB1bF9kZWJ1Z29iaih0LCAiZnJlZSIpKTsKKwkJZnJlZSh0LT50eXBlc3RyKTsKKwkJZnJlZSh0LT5uYW1lKTsKKwkJZnJlZSh0KTsKKwl9Cit9CisKKy8qKgorICogZmRpc2tfcGFydHR5cGVfc2V0X25hbWU6CisgKiBAdDogcGFydGl0aW9uIHR5cGUKKyAqIEBzdHI6IHR5cGUgbmFtZQorICoKKyAqIFNldHMgdHlwZSBuYW1lIHRvIGFsbG9jYXRlZCBwYXJ0aXRpb24gdHlwZSwgZm9yIHN0YXRpYyB0eXBlcworICogaXQgcmV0dXJucyAtRUlOVkFMLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfcGFydHR5cGVfc2V0X25hbWUoc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0LCBjb25zdCBjaGFyICpzdHIpCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAoIXQgfHwgIWZkaXNrX3BhcnR0eXBlX2lzX2FsbG9jYXRlZCh0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKHN0cikgeworCQlwID0gc3RyZHVwKHN0cik7CisJCWlmICghcCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCWZyZWUodC0+bmFtZSk7CisJdC0+bmFtZSA9IHA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydHR5cGVfc2V0X3R5cGVzdHI6CisgKiBAdDogcGFydGl0aW9uIHR5cGUKKyAqIEBzdHI6IHR5cGUgaWRlbnRpZmllciAoZS5nLiBHVUlEIGZvciBHUFQpCisgKgorICogU2V0cyB0eXBlIHN0cmluZyB0byBhbGxvY2F0ZWQgcGFydGl0aW9uIHR5cGUsIGZvciBzdGF0aWMgdHlwZXMKKyAqIGl0IHJldHVybnMgLUVJTlZBTC4gRG9uJ3QgdXNlIHRoaXMgZnVuY3Rpb24gZm9yIE1CUiwgc2VlCisgKiBmZGlza19wYXJ0dHlwZV9zZXRfY29kZSgpLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfcGFydHR5cGVfc2V0X3R5cGVzdHIoc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0LCBjb25zdCBjaGFyICpzdHIpCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAoIXQgfHwgIWZkaXNrX3BhcnR0eXBlX2lzX2FsbG9jYXRlZCh0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKHN0cikgeworCQlwID0gc3RyZHVwKHN0cik7CisJCWlmICghcCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCWZyZWUodC0+dHlwZXN0cik7CisJdC0+dHlwZXN0ciA9IHA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfcGFydHR5cGVfc2V0X2NvZGU6CisgKiBAdDogcGFydGl0aW9uIHR5cGUKKyAqIEBjb2RlOiB0eXBlIGlkZW50aWZpZXIgKGUuZy4gTUJSIHR5cGUgY29kZXMpCisgKgorICogU2V0cyB0eXBlIGNvZGUgdG8gYWxsb2NhdGVkIHBhcnRpdGlvbiB0eXBlLCBmb3Igc3RhdGljIHR5cGVzIGl0IHJldHVybnMKKyAqIC1FSU5WQUwuIERvbid0IHVzZSB0aGlzIGZ1bmN0aW9uIGZvciBHUFQsIHNlZSBmZGlza19wYXJ0dHlwZV9zZXRfdHlwZXN0cigpLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfcGFydHR5cGVfc2V0X2NvZGUoc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0LCBpbnQgY29kZSkKK3sKKwlpZiAoIXQgfHwgIWZkaXNrX3BhcnR0eXBlX2lzX2FsbG9jYXRlZCh0KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJdC0+Y29kZSA9IGNvZGU7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfZ2V0X25wYXJ0dHlwZXM6CisgKiBAbGI6IGxhYmVsCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIHR5cGVzIHN1cHBvcnRlZCBieSBsYWJlbC4KKyAqLworc2l6ZV90IGZkaXNrX2xhYmVsX2dldF9ucGFydHR5cGVzKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpCit7CisJaWYgKCFsYikKKwkJcmV0dXJuIDA7CisJcmV0dXJuIGxiLT5ucGFydHR5cGVzOworfQorCisvKioKKyAqIGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZToKKyAqIEBsYjogbGFiZWwKKyAqIEBuOiBudW1iZXIKKyAqCisgKiBSZXR1cm5zOiByZXR1cm4gcGFydHR5cGUKKyAqLworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19sYWJlbF9nZXRfcGFydHR5cGUoY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwgc2l6ZV90IG4pCit7CisJaWYgKCFsYiB8fCBuID49IGxiLT5ucGFydHR5cGVzKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gJmxiLT5wYXJ0dHlwZXNbbl07Cit9CisKKy8qKgorICogZmRpc2tfbGFiZWxfaGFzX2NvZGVfcGFydHR5cGVzOgorICogQGxiOiBsYWJlbAorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIGxhYmVsIHVzZXMgY29kZSBhcyBwYXJ0aXRpb24gdHlwZQorICogICAgICAgICAgaWRlbnRpZmllcnMgKGUuZy4gTUJSKSBvciAwLgorICovCitpbnQgZmRpc2tfbGFiZWxfaGFzX2NvZGVfcGFydHR5cGVzKGNvbnN0IHN0cnVjdCBmZGlza19sYWJlbCAqbGIpCit7CisJYXNzZXJ0KGxiKTsKKworCWlmIChsYi0+cGFydHR5cGVzICYmIGxiLT5wYXJ0dHlwZXNbMF0udHlwZXN0cikKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlOgorICogQGxiOiBsYWJlbAorICogQGNvZGU6IGNvZGUgdG8gc2VhcmNoIGZvcgorICoKKyAqIFNlYXJjaCBmb3IgcGFydGl0aW9uIHR5cGUgaW4gbGFiZWwtc3BlY2lmaWMgdGFibGUuIFRoZSByZXN1bHQKKyAqIGlzIHBvaW50ZXIgdG8gc3RhdGljIGFycmF5IG9mIGxhYmVsIHR5cGVzLgorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiB0eXBlIG9yIE5VTEwgdXBvbiBmYWlsdXJlIG9yIGludmFsaWQgQGNvZGUuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZSgKKwkJCQljb25zdCBzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiLAorCQkJCXVuc2lnbmVkIGludCBjb2RlKQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KGxiKTsKKworCWlmICghbGItPm5wYXJ0dHlwZXMpCisJCXJldHVybiBOVUxMOworCisJZm9yIChpID0gMDsgaSA8IGxiLT5ucGFydHR5cGVzOyBpKyspCisJCWlmIChsYi0+cGFydHR5cGVzW2ldLmNvZGUgPT0gY29kZSkKKwkJCXJldHVybiAmbGItPnBhcnR0eXBlc1tpXTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9zdHJpbmc6CisgKiBAbGI6IGxhYmVsCisgKiBAc3RyOiBzdHJpbmcgdG8gc2VhcmNoIGZvcgorICoKKyAqIFNlYXJjaCBmb3IgcGFydGl0aW9uIHR5cGUgaW4gbGFiZWwtc3BlY2lmaWMgdGFibGUuIFRoZSByZXN1bHQKKyAqIGlzIHBvaW50ZXIgdG8gc3RhdGljIGFycmF5IG9mIGxhYmVsIHR5cGVzLgorICoKKyAqIFJldHVybnM6IHBhcnRpdGlvbiB0eXBlIG9yIE5VTEwgdXBvbiBmYWlsdXJlIG9yIGludmFsaWQgQHN0ci4KKyAqLworc3RydWN0IGZkaXNrX3BhcnR0eXBlICpmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9zdHJpbmcoCisJCQkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCQljb25zdCBjaGFyICpzdHIpCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobGIpOworCisJaWYgKCFsYi0+bnBhcnR0eXBlcykKKwkJcmV0dXJuIE5VTEw7CisKKwlmb3IgKGkgPSAwOyBpIDwgbGItPm5wYXJ0dHlwZXM7IGkrKykKKwkJaWYgKGxiLT5wYXJ0dHlwZXNbaV0udHlwZXN0cgorCQkgICAgJiYgc3RyY2FzZWNtcChsYi0+cGFydHR5cGVzW2ldLnR5cGVzdHIsIHN0cikgPT0gMCkKKwkJCXJldHVybiAmbGItPnBhcnR0eXBlc1tpXTsKKworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX25ld191bmtub3duX3BhcnR0eXBlOgorICogQGNvZGU6IHR5cGUgYXMgbnVtYmVyCisgKiBAdHlwZXN0cjogdHlwZSBhcyBzdHJpbmcKKworICogQWxsb2NhdGVzIG5ldyAndW5rbm93bicgcGFydGl0aW9uIHR5cGUuIFVzZSBmZGlza191bnJlZl9wYXJ0dHlwZSgpIHRvCisgKiBkZWFsbG9jYXRlLgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBwYXJ0aXRpb24gdHlwZSwgb3IgTlVMTCB1cG9uIGZhaWx1cmUuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGUodW5zaWduZWQgaW50IGNvZGUsCisJCQkJCQkgIGNvbnN0IGNoYXIgKnR5cGVzdHIpCit7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gZmRpc2tfbmV3X3BhcnR0eXBlKCk7CisKKwlpZiAoIXQpCisJCXJldHVybiBOVUxMOworCisJZmRpc2tfcGFydHR5cGVfc2V0X25hbWUodCwgXygidW5rbm93biIpKTsKKwlmZGlza19wYXJ0dHlwZV9zZXRfY29kZSh0LCBjb2RlKTsKKwlmZGlza19wYXJ0dHlwZV9zZXRfdHlwZXN0cih0LCB0eXBlc3RyKTsKKwl0LT5mbGFncyB8PSBGRElTS19QQVJUVFlQRV9VTktOT1dOOworCisJcmV0dXJuIHQ7Cit9CisKKy8qKgorICogZmRpc2tfY29weV9wYXJ0dHlwZToKKyAqIEB0eXBlOiB0eXBlIHRvIGNvcHkKKyAqCisgKiBVc2UgZmRpc2tfdW5yZWZfcGFydHR5cGUoKSB0byBkZWFsbG9jYXRlLgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBwYXJ0aXRpb24gdHlwZSwgb3IgTlVMTCB1cG9uIGZhaWx1cmUuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfY29weV9wYXJ0dHlwZShjb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnR5cGUpCit7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gZmRpc2tfbmV3X3BhcnR0eXBlKCk7CisKKwlpZiAoIXQpCisJCXJldHVybiBOVUxMOworCisJZmRpc2tfcGFydHR5cGVfc2V0X25hbWUodCwgdHlwZS0+bmFtZSk7CisJZmRpc2tfcGFydHR5cGVfc2V0X2NvZGUodCwgdHlwZS0+Y29kZSk7CisJZmRpc2tfcGFydHR5cGVfc2V0X3R5cGVzdHIodCwgdHlwZS0+dHlwZXN0cik7CisKKwlyZXR1cm4gdDsKK30KKworLyoqCisgKiBmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZToKKyAqIEBsYjogbGFiZWwKKyAqIEBzdHI6IHN0cmluZyB0byBwYXJzZSBmcm9tCisgKgorICogUGFyc2VzIHBhcnRpdGlvbiB0eXBlIGZyb20gQHN0ciBhY2NvcmRpbmcgdG8gdGhlIGxhYmVsLiBUaGUgZnVuY3Rpb24gcmV0dXJucworICogYSBwb2ludGVyIHRvIHN0YXRpYyB0YWJsZSBvZiB0aGUgcGFydGl0aW9uIHR5cGVzLCBvciBuZXdseSBhbGxvY2F0ZWQKKyAqIHBhcnRpdGlvbiB0eXBlIGZvciB1bmtub3duIHR5cGVzIChzZWUgZmRpc2tfcGFydHR5cGVfaXNfdW5rbm93bigpLiBJdCdzCisgKiBzYWZlIHRvIGNhbGwgZmRpc2tfdW5yZWZfcGFydHR5cGUoKSBmb3IgYWxsIHJlc3VsdHMuCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byB0eXBlIG9yIE5VTEwgb24gZXJyb3IuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0dHlwZSAqZmRpc2tfbGFiZWxfcGFyc2VfcGFydHR5cGUoCisJCQkJY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsICpsYiwKKwkJCQljb25zdCBjaGFyICpzdHIpCit7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0eXBlcywgKnJldCA9IE5VTEw7CisJY2hhciAqZW5kID0gTlVMTDsKKworCWFzc2VydChsYik7CisKKwlpZiAoIWxiLT5ucGFydHR5cGVzKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhMQUJFTCwgdWxfZGVidWdvYmoobGIsICJwYXJzaW5nICclcycgKCVzKSBwYXJ0aXRpb24gdHlwZSIsCisJCQkJc3RyLCBsYi0+bmFtZSkpOworCXR5cGVzID0gbGItPnBhcnR0eXBlczsKKworCWlmICh0eXBlc1swXS50eXBlc3RyID09IE5VTEwgJiYgaXN4ZGlnaXQoKnN0cikpIHsKKwkJdW5zaWduZWQgaW50IGNvZGUgPSAwOworCisJCWVycm5vID0gMDsKKwkJY29kZSA9IHN0cnRvbChzdHIsICZlbmQsIDE2KTsKKworCQlpZiAoZXJybm8gfHwgKmVuZCAhPSAnXDAnKSB7CisJCQlEQkcoTEFCRUwsIHVsX2RlYnVnb2JqKGxiLCAicGFyc2luZyBmYWlsZWQ6ICVtIikpOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwkJcmV0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZShsYiwgY29kZSk7CisJCWlmIChyZXQpCisJCQlnb3RvIGRvbmU7CisKKwkJcmV0ID0gZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGUoY29kZSwgTlVMTCk7CisJfSBlbHNlIHsKKwkJaW50IGk7CisKKwkJLyogbWF5YmUgc3BlY2lmaWVkIGJ5IHR5cGUgc3RyaW5nIChlLmcuIFVVSUQpICovCisJCXJldCA9IGZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX3N0cmluZyhsYiwgc3RyKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZG9uZTsKKworCQkvKiBtYXliZSBzcGVjaWZpZWQgYnkgb3JkZXIgbnVtYmVyICovCisJCWVycm5vID0gMDsKKwkJaSA9IHN0cnRvbChzdHIsICZlbmQsIDApOworCQlpZiAoZXJybm8gPT0gMCAmJiAqZW5kID09ICdcMCcgJiYgaSA+IDAKKwkJICAgICYmIGkgLSAxIDwgKGludCkgbGItPm5wYXJ0dHlwZXMpIHsKKwkJCXJldCA9ICZ0eXBlc1tpIC0gMV07CisJCQlnb3RvIGRvbmU7CisJCX0KKworCQlyZXQgPSBmZGlza19uZXdfdW5rbm93bl9wYXJ0dHlwZSgwLCBzdHIpOworCX0KKworZG9uZToKKwlEQkcoUEFSVFRZUEUsIHVsX2RlYnVnb2JqKHJldCwgInJldHVybnMgcGFyc2VkICclcycgWyVzXSBwYXJ0aXRpb24gdHlwZSIsCisJCQkJcmV0LT5uYW1lLCByZXQtPnR5cGVzdHIgPyA6ICIiKSk7CisJcmV0dXJuIHJldDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nOgorICogQHQ6IHR5cGUKKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gdHlwZSBzdHJpbmcgKGUuZy4gR1VJRCBmb3IgR1BUKQorICovCitjb25zdCBjaGFyICpmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKGNvbnN0IHN0cnVjdCBmZGlza19wYXJ0dHlwZSAqdCkKK3sKKwlhc3NlcnQodCk7CisJcmV0dXJuIHQtPnR5cGVzdHIgJiYgKnQtPnR5cGVzdHIgPyB0LT50eXBlc3RyIDogTlVMTDsKK30KKworLyoqCisgKiBmZGlza19wYXJ0dHlwZV9nZXRfY29kZToKKyAqIEB0OiB0eXBlCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIHR5cGUgY29kZSAoZS5nLiBmb3IgTUJSKQorICovCit1bnNpZ25lZCBpbnQgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUoY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KQoreworCWFzc2VydCh0KTsKKwlyZXR1cm4gdC0+Y29kZTsKK30KKworLyoqCisgKiBmZGlza19wYXJ0dHlwZV9nZXRfbmFtZToKKyAqIEB0OiB0eXBlCisgKgorICogUmV0dXJuczogcGFydGl0aW9uIHR5cGUgaHVtYW4gcmVhZGFibGUgbmFtZQorICovCitjb25zdCBjaGFyICpmZGlza19wYXJ0dHlwZV9nZXRfbmFtZShjb25zdCBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQpCit7CisJYXNzZXJ0KHQpOworCXJldHVybiB0LT5uYW1lOworfQorCisvKioKKyAqIGZkaXNrX3BhcnR0eXBlX2lzX3Vua25vd246CisgKiBAdDogdHlwZQorICoKKyAqIENoZWNrcyBmb3IgZXhhbXBsZSByZXN1bHQgZnJvbSBmZGlza19sYWJlbF9wYXJzZV9wYXJ0dHlwZSgpLgorICoKKyAqIFJldHVybnM6IDEgaXMgdHlwZSBpcyAidW5rbm93biIgb3IgMC4KKyAqLworaW50IGZkaXNrX3BhcnR0eXBlX2lzX3Vua25vd24oY29uc3Qgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0KQoreworCXJldHVybiB0ICYmICh0LT5mbGFncyAmIEZESVNLX1BBUlRUWVBFX1VOS05PV04pID8gMSA6IDA7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvc2NyaXB0LmMgYi9saWJmZGlzay9zcmMvc2NyaXB0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTk3MGU3YgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9zY3JpcHQuYwpAQCAtMCwwICsxLDE2NDUgQEAKKworI2luY2x1ZGUgImZkaXNrUC5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2FyZWZ1bHB1dGMuaCIKKyNpbmNsdWRlICJtYW5nbGUuaCIKKworLyoqCisgKiBTRUNUSU9OOiBzY3JpcHQKKyAqIEB0aXRsZTogU2NyaXB0CisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHRleHQgYmFzZWQgc2ZkaXNrIGNvbXBhdGlibGUgZGVzY3JpcHRpb24gb2YgcGFydGl0aW9uIHRhYmxlCisgKgorICogVGhlIGxpYmZkaXNrIHNjcmlwdHMgYXJlIGJhc2VkIG9uIG9yaWdpbmFsIHNmZGlzayBzY3JpcHQgKGR1bXBzKS4gIEVhY2gKKyAqIHNjcmlwdCBoYXMgdHdvIHBhcnRzOiBzY3JpcHQgaGVhZGVycyBhbmQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMKKyAqIChwYXJ0aXRpb25zKS4KKyAqCisgKiBGb3IgbW9yZSBkZXRhaWxzIGFib3V0IHNjcmlwdCBmb3JtYXQgc2VlIHNmZGlzayBtYW4gcGFnZS4KKyAqLworCisvKiBzY3JpcHQgaGVhZGVyIChlLmcuIHVuaXQ6IHNlY3RvcnMpICovCitzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkCWhlYWRlcnM7CisJY2hhcgkJCSpuYW1lOworCWNoYXIJCQkqZGF0YTsKK307CisKKy8qIHNjcmlwdCBjb250cm9sIHN0cnVjdCAqLworc3RydWN0IGZkaXNrX3NjcmlwdCB7CisJc3RydWN0IGZkaXNrX3RhYmxlCSp0YWJsZTsKKwlzdHJ1Y3QgbGlzdF9oZWFkCWhlYWRlcnM7CisJc3RydWN0IGZkaXNrX2NvbnRleHQJKmN4dDsKKworCWludAkJCXJlZmNvdW50OworCWNoYXIJCQkqKCpmbl9mZ2V0cykoc3RydWN0IGZkaXNrX3NjcmlwdCAqLCBjaGFyICosIHNpemVfdCwgRklMRSAqKTsKKwl2b2lkCQkJKnVzZXJkYXRhOworCisJLyogcGFyc2VyJ3Mgc3RhdGUgKi8KKwlzaXplX3QJCQlubGluZXM7CisJc3RydWN0IGZkaXNrX2xhYmVsCSpsYWJlbDsKKworCXVuc2lnbmVkIGludAkJanNvbiA6IDEsCQkvKiBKU09OIG91dHB1dCAqLworCQkJCWZvcmNlX2xhYmVsIDogMTsJLyogbGFiZWw6IDxuYW1lPiBzcGVjaWZpZWQgKi8KK307CisKKworc3RhdGljIHZvaWQgZmRpc2tfc2NyaXB0X2ZyZWVfaGVhZGVyKHN0cnVjdCBmZGlza19zY3JpcHRoZWFkZXIgKmZpKQoreworCWlmICghZmkpCisJCXJldHVybjsKKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGZpLCAiZnJlZSBoZWFkZXIgJXMiLCBmaS0+bmFtZSkpOworCWZyZWUoZmktPm5hbWUpOworCWZyZWUoZmktPmRhdGEpOworCWxpc3RfZGVsKCZmaS0+aGVhZGVycyk7CisJZnJlZShmaSk7Cit9CisKKy8qKgorICogZmRpc2tfbmV3X3NjcmlwdDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBUaGUgc2NyaXB0IGhvbGQgZmRpc2tfdGFibGUgYW5kIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gdG8gcmVhZC93cml0ZQorICogc2NyaXB0IHRvIHRoZSBmaWxlLgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBzY3JpcHQgc3RydWN0LgorICovCitzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpmZGlza19uZXdfc2NyaXB0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAgPSBOVUxMOworCisJZHAgPSBjYWxsb2MoMSwgc2l6ZW9mKCpkcCkpOworCWlmICghZHApCisJCXJldHVybiBOVUxMOworCisJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJhbGxvYyIpKTsKKwlkcC0+cmVmY291bnQgPSAxOworCWRwLT5jeHQgPSBjeHQ7CisJZmRpc2tfcmVmX2NvbnRleHQoY3h0KTsKKworCWRwLT50YWJsZSA9IGZkaXNrX25ld190YWJsZSgpOworCWlmICghZHAtPnRhYmxlKSB7CisJCWZkaXNrX3VucmVmX3NjcmlwdChkcCk7CisJCXJldHVybiBOVUxMOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZkcC0+aGVhZGVycyk7CisJcmV0dXJuIGRwOworfQorCisvKioKKyAqIGZkaXNrX25ld19zY3JpcHRfZnJvbV9maWxlOgorICogQGN4dDogY29udGV4dAorICogQGZpbGVuYW1lOiBwYXRoIHRvIHRoZSBzY3JpcHQgZmlsZQorICoKKyAqIEFsbG9jYXRlcyBhIG5ldyBzY3JpcHQgYW5kIHJlYWRzIHNjcmlwdCBmcm9tIEBmaWxlbmFtZS4KKyAqCisgKiBSZXR1cm5zOiBuZXcgc2NyaXB0IGluc3RhbmNlIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvciAoY2hlY2sgZXJybm8gZm9yIG1vcmUgZGV0YWlscykuCisgKi8KK3N0cnVjdCBmZGlza19zY3JpcHQgKmZkaXNrX25ld19zY3JpcHRfZnJvbV9maWxlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkJCQkgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJaW50IHJjOworCUZJTEUgKmY7CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsICpyZXMgPSBOVUxMOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGZpbGVuYW1lKTsKKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnKCJvcGVuaW5nICVzIiwgZmlsZW5hbWUpKTsKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisJaWYgKCFmKQorCQlyZXR1cm4gTlVMTDsKKworCWRwID0gZmRpc2tfbmV3X3NjcmlwdChjeHQpOworCWlmICghZHApCisJCWdvdG8gZG9uZTsKKworCXJjID0gZmRpc2tfc2NyaXB0X3JlYWRfZmlsZShkcCwgZik7CisJaWYgKHJjKSB7CisJCWVycm5vID0gLXJjOworCQlnb3RvIGRvbmU7CisJfQorCisJcmVzID0gZHA7Citkb25lOgorCWZjbG9zZShmKTsKKwlpZiAoIXJlcykKKwkJZmRpc2tfdW5yZWZfc2NyaXB0KGRwKTsKKwllbHNlCisJCWVycm5vID0gMDsKKworCXJldHVybiByZXM7Cit9CisKKy8qKgorICogZmRpc2tfcmVmX3NjcmlwdDoKKyAqIEBkcDogc2NyaXB0IHBvaW50ZXIKKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLgorICovCit2b2lkIGZkaXNrX3JlZl9zY3JpcHQoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApCit7CisJaWYgKGRwKQorCQlkcC0+cmVmY291bnQrKzsKK30KKworc3RhdGljIHZvaWQgZmRpc2tfcmVzZXRfc2NyaXB0KHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKQoreworCWFzc2VydChkcCk7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgInJlc2V0IikpOworCWZkaXNrX3VucmVmX3RhYmxlKGRwLT50YWJsZSk7CisJZHAtPnRhYmxlID0gTlVMTDsKKworCXdoaWxlICghbGlzdF9lbXB0eSgmZHAtPmhlYWRlcnMpKSB7CisJCXN0cnVjdCBmZGlza19zY3JpcHRoZWFkZXIgKmZpID0gbGlzdF9lbnRyeShkcC0+aGVhZGVycy5uZXh0LAorCQkJCQkJICBzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyLCBoZWFkZXJzKTsKKwkJZmRpc2tfc2NyaXB0X2ZyZWVfaGVhZGVyKGZpKTsKKwl9CisJSU5JVF9MSVNUX0hFQUQoJmRwLT5oZWFkZXJzKTsKK30KKworLyoqCisgKiBmZGlza191bnJlZl9zY3JpcHQ6CisgKiBAZHA6IHNjcmlwdCBwb2ludGVyCisgKgorICogRGVjcmVtZW50cyByZWZlcmVuY2UgY291bnRlciwgb24gemVybyB0aGUgQGRwIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkLgorICovCit2b2lkIGZkaXNrX3VucmVmX3NjcmlwdChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCkKK3sKKwlpZiAoIWRwKQorCQlyZXR1cm47CisKKwlkcC0+cmVmY291bnQtLTsKKwlpZiAoZHAtPnJlZmNvdW50IDw9IDApIHsKKwkJZmRpc2tfcmVzZXRfc2NyaXB0KGRwKTsKKwkJZmRpc2tfdW5yZWZfY29udGV4dChkcC0+Y3h0KTsKKwkJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJmcmVlIHNjcmlwdCIpKTsKKwkJZnJlZShkcCk7CisJfQorfQorCisvKioKKyAqIGZkaXNrX3NjcmlwdF9zZXRfdXNlcmRhdGEKKyAqIEBkcDogc2NyaXB0CisgKiBAZGF0YTogeW91ciBkYXRhCisgKgorICogU2V0cyBkYXRhIHVzYWJsZSBmb3IgZXhhbXBsZSBpbiBjYWxsYmFja3MgKGUuZyBmZGlza19zY3JpcHRfc2V0X2ZnZXRzKCkpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zY3JpcHRfc2V0X3VzZXJkYXRhKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCB2b2lkICpkYXRhKQoreworCWFzc2VydChkcCk7CisJZHAtPnVzZXJkYXRhID0gZGF0YTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zY3JpcHRfZ2V0X3VzZXJkYXRhCisgKiBAZHA6IHNjcmlwdAorICoKKyAqIFJldHVybnM6IHVzZXIgZGF0YSBvciBOVUxMLgorICovCit2b2lkICpmZGlza19zY3JpcHRfZ2V0X3VzZXJkYXRhKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKQoreworCWFzc2VydChkcCk7CisJcmV0dXJuIGRwLT51c2VyZGF0YTsKK30KKworc3RhdGljIHN0cnVjdCBmZGlza19zY3JpcHRoZWFkZXIgKnNjcmlwdF9nZXRfaGVhZGVyKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLAorCQkJCQkJICAgICBjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZkcC0+aGVhZGVycykgeworCQlzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyICpmaSA9IGxpc3RfZW50cnkocCwgc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciwgaGVhZGVycyk7CisKKwkJaWYgKHN0cmNhc2VjbXAoZmktPm5hbWUsIG5hbWUpID09IDApCisJCQlyZXR1cm4gZmk7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogZmRpc2tfc2NyaXB0X2dldF9oZWFkZXI6CisgKiBAZHA6IHNjcmlwdCBpbnN0YW5jZQorICogQG5hbWU6IGhlYWRlciBuYW1lCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBoZWFkZXIgZGF0YSBvciBOVUxMLgorICovCitjb25zdCBjaGFyICpmZGlza19zY3JpcHRfZ2V0X2hlYWRlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyICpmaTsKKworCWFzc2VydChkcCk7CisJYXNzZXJ0KG5hbWUpOworCisJZmkgPSBzY3JpcHRfZ2V0X2hlYWRlcihkcCwgbmFtZSk7CisJcmV0dXJuIGZpID8gZmktPmRhdGEgOiBOVUxMOworfQorCisKKy8qKgorICogZmRpc2tfc2NyaXB0X3NldF9oZWFkZXI6CisgKiBAZHA6IHNjcmlwdCBpbnN0YW5jZQorICogQG5hbWU6IGhlYWRlciBuYW1lCisgKiBAZGF0YTogaGVhZGVyIGRhdGEgKG9yIE5VTEwpCisgKgorICogVGhlIGhlYWRlcnMgYXJlIHVzZWQgYXMgZ2xvYmFsIG9wdGlvbnMgZm9yIHdob2xlIHBhcnRpdGlvbgorICogdGFibGUsIGFsd2F5cyBvbmUgaGVhZGVyIHBlciBsaW5lLgorICoKKyAqIElmIG5vIEBkYXRhIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBoZWFkZXIgaXMgcmVtb3ZlZC4gSWYgaGVhZGVyIGRvZXMgbm90IGV4aXN0CisgKiBhbmQgQGRhdGEgaXMgc3BlY2lmaWVkIHRoZW4gYSBuZXcgaGVhZGVyIGlzIGFkZGVkLgorICoKKyAqIE5vdGUgdGhhdCBsaWJmZGlzayBhbGxvd3MgdG8gc3BlY2lmeSBhcmJpdHJhcnkgY3VzdG9tIGhlYWRlciwgdGhlIGRlZmF1bHQKKyAqIGJ1aWxkLWluIGhlYWRlcnMgYXJlICJ1bml0IiBhbmQgImxhYmVsIiwgYW5kIHNvbWUgbGFiZWwgc3BlY2lmaWMgaGVhZGVycworICogKGZvciBleGFtcGxlICJ1dWlkIiBhbmQgIm5hbWUiIGZvciBHUFQpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IKKyAqLworaW50IGZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLAorCQkJICAgIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkgICAgY29uc3QgY2hhciAqZGF0YSkKK3sKKwlzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyICpmaTsKKworCWlmICghZHAgfHwgIW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJZmkgPSBzY3JpcHRfZ2V0X2hlYWRlcihkcCwgbmFtZSk7CisJaWYgKCFmaSAmJiAhZGF0YSkKKwkJcmV0dXJuIDA7CS8qIHdhbnQgdG8gcmVtb3ZlIGhlYWRlciB0aGF0IGRvZXMgbm90IGV4aXN0LCBzdWNjZXNzICovCisKKwlpZiAoIWRhdGEpIHsKKwkJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJmcmVlaW5nIGhlYWRlciAlcyIsIG5hbWUpKTsKKworCQkvKiBubyBkYXRhLCByZW1vdmUgdGhlIGhlYWRlciAqLworCQlmZGlza19zY3JpcHRfZnJlZV9oZWFkZXIoZmkpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIWZpKSB7CisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2V0dGluZyBuZXcgaGVhZGVyICVzPSclcyciLCBuYW1lLCBkYXRhKSk7CisKKwkJLyogbmV3IGhlYWRlciAqLworCQlmaSA9IGNhbGxvYygxLCBzaXplb2YoKmZpKSk7CisJCWlmICghZmkpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJSU5JVF9MSVNUX0hFQUQoJmZpLT5oZWFkZXJzKTsKKwkJZmktPm5hbWUgPSBzdHJkdXAobmFtZSk7CisJCWZpLT5kYXRhID0gc3RyZHVwKGRhdGEpOworCQlpZiAoIWZpLT5kYXRhIHx8ICFmaS0+bmFtZSkgeworCQkJZmRpc2tfc2NyaXB0X2ZyZWVfaGVhZGVyKGZpKTsKKwkJCXJldHVybiAtRU5PTUVNOworCQl9CisJCWxpc3RfYWRkX3RhaWwoJmZpLT5oZWFkZXJzLCAmZHAtPmhlYWRlcnMpOworCX0gZWxzZSB7CisJCS8qIHVwZGF0ZSBleGlzdGluZyAqLworCQljaGFyICp4ID0gc3RyZHVwKGRhdGEpOworCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAidXBkYXRlICclcycgaGVhZGVyICclcycgLT4gJyVzJyIsIG5hbWUsIGZpLT5kYXRhLCBkYXRhKSk7CisKKwkJaWYgKCF4KQorCQkJcmV0dXJuIC1FTk9NRU07CisJCWZyZWUoZmktPmRhdGEpOworCQlmaS0+ZGF0YSA9IHg7CisJfQorCisJaWYgKHN0cmNtcChuYW1lLCAibGFiZWwiKSA9PSAwKQorCQlkcC0+bGFiZWwgPSBOVUxMOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc2NyaXB0X2dldF90YWJsZToKKyAqIEBkcDogc2NyaXB0CisgKgorICogVGhlIHRhYmxlIChjb250YWluZXIgd2l0aCBwYXJ0aXRpb25zKSBpcyBwb3NzaWJsZSB0byBjcmVhdGUgYnkKKyAqIGZkaXNrX3NjcmlwdF9yZWFkX2NvbnRleHQoKSBvciBmZGlza19zY3JpcHRfcmVhZF9maWxlKCksIG90aGVyd2lzZQorICogdGhpcyBmdW5jdGlvbiByZXR1cm5zIE5VTEwuCisgKgorICogUmV0dXJuczogTlVMTCBvciBzY3JpcHQuCisgKi8KK3N0cnVjdCBmZGlza190YWJsZSAqZmRpc2tfc2NyaXB0X2dldF90YWJsZShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCkKK3sKKwlhc3NlcnQoZHApOworCXJldHVybiBkcCA/IGRwLT50YWJsZSA6IE5VTEw7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfbGFiZWwgKnNjcmlwdF9nZXRfbGFiZWwoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApCit7CisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQoZHAtPmN4dCk7CisKKwlpZiAoIWRwLT5sYWJlbCkgeworCQlkcC0+bGFiZWwgPSBmZGlza19nZXRfbGFiZWwoZHAtPmN4dCwKKwkJCQkJZmRpc2tfc2NyaXB0X2dldF9oZWFkZXIoZHAsICJsYWJlbCIpKTsKKwkJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJsYWJlbCAnJXMnIiwgZHAtPmxhYmVsID8gZHAtPmxhYmVsLT5uYW1lIDogIiIpKTsKKwl9CisJcmV0dXJuIGRwLT5sYWJlbDsKK30KKworLyoqCisgKiBmZGlza19zY3JpcHRfZ2V0X25saW5lczoKKyAqIEBkcDogc2NyaXB0CisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIHBhcnNlZCBsaW5lcyBvciA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NjcmlwdF9nZXRfbmxpbmVzKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKQoreworCWFzc2VydChkcCk7CisJcmV0dXJuIGRwLT5ubGluZXM7Cit9CisKKy8qKgorICogZmRpc2tfc2NyaXB0X2hhc19mb3JjZV9sYWJlbDoKKyAqIEBkcDogc2NyaXB0CisgKgorICogTGFiZWwgaGFzIGJlZW4gZXhwbGljaXRseSBzcGVjaWZpZWQgaW4gdGhlIHNjcmlwdC4KKyAqCisgKiBTaW5jZTogMi4zMAorICoKKyAqIFJldHVybnM6IHRydWUgaWYgImxhYmVsOiBuYW1lIiBoYXMgYmVlbiBwYXJzZWQuCisgKi8KK2ludCBmZGlza19zY3JpcHRfaGFzX2ZvcmNlX2xhYmVsKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKQoreworCWFzc2VydChkcCk7CisJcmV0dXJuIGRwLT5mb3JjZV9sYWJlbDsKK30KKworCisvKioKKyAqIGZkaXNrX3NjcmlwdF9yZWFkX2NvbnRleHQ6CisgKiBAZHA6IHNjcmlwdAorICogQGN4dDogY29udGV4dAorICoKKyAqIFJlYWRzIGRhdGEgZnJvbSB0aGUgQGN4dCBjb250ZXh0IChvbiBkaXNrIHBhcnRpdGlvbiB0YWJsZSkgaW50byB0aGUgc2NyaXB0LgorICogSWYgdGhlIGNvbnRleHQgaXMgbm8gc3BlY2lmaWVkIHRoYW4gZGVmYXVsdHMgdG8gY29udGV4dCB1c2VkIGZvciBmZGlza19uZXdfc2NyaXB0KCkuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfc2NyaXB0X3JlYWRfY29udGV4dChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCWludCByYzsKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghZHAgfHwgKCFjeHQgJiYgIWRwLT5jeHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghY3h0KQorCQljeHQgPSBkcC0+Y3h0OworCisJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJyZWFkaW5nIGNvbnRleHQgaW50byBzY3JpcHQiKSk7CisJZmRpc2tfcmVzZXRfc2NyaXB0KGRwKTsKKworCWxiID0gZmRpc2tfZ2V0X2xhYmVsKGN4dCwgTlVMTCk7CisJaWYgKCFsYikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBhbGxvY2F0ZSBhbmQgZmlsbCBuZXcgdGFibGUgKi8KKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb25zKGN4dCwgJmRwLT50YWJsZSk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwkvKiBnZW5lcmF0ZSBoZWFkZXJzICovCisJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImxhYmVsIiwgZmRpc2tfbGFiZWxfZ2V0X25hbWUobGIpKTsKKworCWlmICghcmMgJiYgZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pZChjeHQsICZwKSA9PSAwICYmIHApIHsKKwkJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImxhYmVsLWlkIiwgcCk7CisJCWZyZWUocCk7CisJfQorCWlmICghcmMgJiYgY3h0LT5kZXZfcGF0aCkKKwkJcmMgPSBmZGlza19zY3JpcHRfc2V0X2hlYWRlcihkcCwgImRldmljZSIsIGN4dC0+ZGV2X3BhdGgpOworCWlmICghcmMpCisJCXJjID0gZmRpc2tfc2NyaXB0X3NldF9oZWFkZXIoZHAsICJ1bml0IiwgInNlY3RvcnMiKTsKKworCWlmICghcmMgJiYgZmRpc2tfaXNfbGFiZWwoY3h0LCBHUFQpKSB7CisJCXN0cnVjdCBmZGlza19sYWJlbGl0ZW0gaXRlbSA9IEZESVNLX0xBQkVMSVRFTV9JTklUOworCQljaGFyIGJ1Zls2NF07CisKKwkJLyogZmlyc3QtbGJhICovCisJCXJjID0gZmRpc2tfZ2V0X2Rpc2tsYWJlbF9pdGVtKGN4dCwgR1BUX0xBQkVMSVRFTV9GSVJTVExCQSwgJml0ZW0pOworCQlpZiAoIXJjKSB7CisJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJSJQUkl1NjQsIGl0ZW0uZGF0YS5udW02NCk7CisJCQlyYyA9IGZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyKGRwLCAiZmlyc3QtbGJhIiwgYnVmKTsKKwkJfQorCisJCS8qIGxhc3QtbGJhICovCisJCWlmICghcmMpCisJCQlyYyA9IGZkaXNrX2dldF9kaXNrbGFiZWxfaXRlbShjeHQsIEdQVF9MQUJFTElURU1fTEFTVExCQSwgJml0ZW0pOworCQlpZiAoIXJjKSB7CisJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJSJQUkl1NjQsIGl0ZW0uZGF0YS5udW02NCk7CisJCQlyYyA9IGZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyKGRwLCAibGFzdC1sYmEiLCBidWYpOworCQl9CisKKwkJLyogdGFibGUtbGVuZ3RoICovCisJCWlmICghcmMpIHsKKwkJCXNpemVfdCBuID0gZmRpc2tfZ2V0X25wYXJ0aXRpb25zKGN4dCk7CisJCQlpZiAobiAhPSBGRElTS19HUFRfTlBBUlRJVElPTlNfREVGQVVMVCkgeworCQkJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlenUiLCBuKTsKKwkJCQlyYyA9IGZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyKGRwLCAidGFibGUtbGVuZ3RoIiwgYnVmKTsKKwkJCX0KKwkJfQorCX0KKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAicmVhZCBjb250ZXh0IGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX3NjcmlwdF9lbmFibGVfanNvbjoKKyAqIEBkcDogc2NyaXB0CisgKiBAanNvbjogMCBvciAxCisgKgorICogRGlzYWJsZS9FbmFibGUgSlNPTiBvdXRwdXQgZm9ybWF0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zY3JpcHRfZW5hYmxlX2pzb24oc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIGludCBqc29uKQoreworCWFzc2VydChkcCk7CisKKwlkcC0+anNvbiA9IGpzb247CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGZwdXRfaW5kZW50KGludCBpbmRlbnQsIEZJTEUgKmYpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDw9IGluZGVudDsgaSsrKQorCQlmcHV0cygiICAgIiwgZik7Cit9CisKK3N0YXRpYyB2b2lkIGZwdXRfdmFyX3NlcGFyYXRvcihpbnQgKm52YXJzLCBGSUxFICpmKQoreworCWlmICgqbnZhcnMgPiAwKQorCQlmcHV0cygiLCAiLCBmKTsKKwkrKygqbnZhcnMpOworfQorCitzdGF0aWMgaW50IHdyaXRlX2ZpbGVfanNvbihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgRklMRSAqZikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpoOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKwljb25zdCBjaGFyICpkZXZuYW1lID0gTlVMTDsKKwlpbnQgY3QgPSAwLCBpbmRlbnQgPSAwOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQoZik7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIndyaXRpbmcganNvbiBkdW1wIHRvIGZpbGUiKSk7CisKKwlmcHV0cygie1xuIiwgZik7CisKKwlmcHV0X2luZGVudChpbmRlbnQsIGYpOworCWZwdXRzKCJcInBhcnRpdGlvbnRhYmxlXCI6IHtcbiIsIGYpOworCWluZGVudCsrOworCisJLyogc2NyaXB0IGhlYWRlcnMgKi8KKwlsaXN0X2Zvcl9lYWNoKGgsICZkcC0+aGVhZGVycykgeworCQlzdHJ1Y3QgZmRpc2tfc2NyaXB0aGVhZGVyICpmaSA9IGxpc3RfZW50cnkoaCwgc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciwgaGVhZGVycyk7CisJCWNvbnN0IGNoYXIgKm5hbWUgPSBmaS0+bmFtZTsKKwkJaW50IG51bSA9IDA7CisKKwkJaWYgKHN0cmNtcChuYW1lLCAiZmlyc3QtbGJhIikgPT0gMCkgeworCQkJbmFtZSA9ICJmaXJzdGxiYSI7CisJCQludW0gPSAxOworCQl9IGVsc2UgaWYgKHN0cmNtcChuYW1lLCAibGFzdC1sYmEiKSA9PSAwKSB7CisJCQluYW1lID0gImxhc3RsYmEiOworCQkJbnVtID0gMTsKKwkJfSBlbHNlIGlmIChzdHJjbXAobmFtZSwgImxhYmVsLWlkIikgPT0gMCkKKwkJCW5hbWUgPSAiaWQiOworCisJCWZwdXRfaW5kZW50KGluZGVudCwgZik7CisJCWZwdXRzX3F1b3RlZF9qc29uX2xvd2VyKG5hbWUsIGYpOworCQlmcHV0cygiOiIsIGYpOworCQlpZiAoIW51bSkKKwkJCWZwdXRzX3F1b3RlZF9qc29uKGZpLT5kYXRhLCBmKTsKKwkJZWxzZQorCQkJZnB1dHMoZmktPmRhdGEsIGYpOworCisJCWlmICghZHAtPnRhYmxlICYmIGZpID09IGxpc3RfbGFzdF9lbnRyeSgmZHAtPmhlYWRlcnMsIHN0cnVjdCBmZGlza19zY3JpcHRoZWFkZXIsIGhlYWRlcnMpKQorCQkJZnB1dGMoJ1xuJywgZik7CisJCWVsc2UKKwkJCWZwdXRzKCIsXG4iLCBmKTsKKworCQlpZiAoc3RyY21wKG5hbWUsICJkZXZpY2UiKSA9PSAwKQorCQkJZGV2bmFtZSA9IGZpLT5kYXRhOworCX0KKworCisJaWYgKCFkcC0+dGFibGUpIHsKKwkJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJzY3JpcHQgdGFibGUgZW1wdHkiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiV6dSBlbnRyaWVzIiwgZmRpc2tfdGFibGVfZ2V0X25lbnRzKGRwLT50YWJsZSkpKTsKKworCWZwdXRfaW5kZW50KGluZGVudCwgZik7CisJZnB1dHMoIlwicGFydGl0aW9uc1wiOiBbXG4iLCBmKTsKKwlpbmRlbnQrKzsKKworCWZkaXNrX3Jlc2V0X2l0ZXIoJml0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24oZHAtPnRhYmxlLCAmaXRyLCAmcGEpID09IDApIHsKKwkJY2hhciAqcCA9IE5VTEw7CisJCWludCBudmFycyA9IDA7CisKKwkJY3QrKzsKKwkJZnB1dF9pbmRlbnQoaW5kZW50LCBmKTsKKwkJZnB1dGMoJ3snLCBmKTsKKwkJaWYgKGRldm5hbWUpCisJCQlwID0gZmRpc2tfcGFydG5hbWUoZGV2bmFtZSwgcGEtPnBhcnRubyArIDEpOworCQlpZiAocCkgeworCQkJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJ3cml0ZSAlcyBlbnRyeSIsIHApKTsKKwkJCWZwdXRzKCJcIm5vZGVcIjoiLCBmKTsKKwkJCWZwdXRzX3F1b3RlZF9qc29uKHAsIGYpOworCQkJbnZhcnMrKzsKKwkJfQorCisJCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkgeworCQkJZnB1dF92YXJfc2VwYXJhdG9yKCZudmFycywgZik7CisJCQlmcHJpbnRmKGYsICJcInN0YXJ0XCI6JWp1IiwgKHVpbnRtYXhfdClwYS0+c3RhcnQpOworCQl9CisJCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3NpemUocGEpKSB7CisJCQlmcHV0X3Zhcl9zZXBhcmF0b3IoJm52YXJzLCBmKTsKKwkJCWZwcmludGYoZiwgIlwic2l6ZVwiOiVqdSIsICh1aW50bWF4X3QpcGEtPnNpemUpOworCQl9CisJCWlmIChwYS0+dHlwZSAmJiBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHBhLT50eXBlKSkgeworCQkJZnB1dF92YXJfc2VwYXJhdG9yKCZudmFycywgZik7CisJCQlmcHV0cygiXCJ0eXBlXCI6IiwgZik7CisJCQlmcHV0c19xdW90ZWRfanNvbihmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHBhLT50eXBlKSwgZik7CisJCX0gZWxzZSBpZiAocGEtPnR5cGUpIHsKKwkJCWZwdXRfdmFyX3NlcGFyYXRvcigmbnZhcnMsIGYpOworCQkJZnByaW50ZihmLCAiXCJ0eXBlXCI6XCIleFwiIiwgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUocGEtPnR5cGUpKTsKKwkJfQorCisJCWlmIChwYS0+dXVpZCkgeworCQkJZnB1dF92YXJfc2VwYXJhdG9yKCZudmFycywgZik7CisJCQlmcHV0cygiXCJ1dWlkXCI6IiwgZik7CisJCQlmcHV0c19xdW90ZWRfanNvbihwYS0+dXVpZCwgZik7CisJCX0KKwkJaWYgKHBhLT5uYW1lICYmICpwYS0+bmFtZSkgeworCQkJZnB1dF92YXJfc2VwYXJhdG9yKCZudmFycywgZik7CisJCQlmcHV0cygiXCJuYW1lXCI6IiwgZiksCisJCQlmcHV0c19xdW90ZWRfanNvbihwYS0+bmFtZSwgZik7CisJCX0KKworCQkvKiBmb3IgTUJSIGF0dHI9ODAgbWVhbnMgYm9vdGFibGUgKi8KKwkJaWYgKHBhLT5hdHRycykgeworCQkJc3RydWN0IGZkaXNrX2xhYmVsICpsYiA9IHNjcmlwdF9nZXRfbGFiZWwoZHApOworCisJCQlpZiAoIWxiIHx8IGZkaXNrX2xhYmVsX2dldF90eXBlKGxiKSAhPSBGRElTS19ESVNLTEFCRUxfRE9TKSB7CisJCQkJZnB1dF92YXJfc2VwYXJhdG9yKCZudmFycywgZik7CisJCQkJZnB1dHMoIlwiYXR0cnNcIjoiLCBmKTsKKwkJCQlmcHV0c19xdW90ZWRfanNvbihwYS0+YXR0cnMsIGYpOworCQkJfQorCQl9CisJCWlmIChmZGlza19wYXJ0aXRpb25faXNfYm9vdGFibGUocGEpKSB7CisJCQlmcHV0X3Zhcl9zZXBhcmF0b3IoJm52YXJzLCBmKTsKKwkJCWZwcmludGYoZiwgIlwiYm9vdGFibGVcIjp0cnVlIik7CisJCX0KKworCQlpZiAoKHNpemVfdCljdCA8IGZkaXNrX3RhYmxlX2dldF9uZW50cyhkcC0+dGFibGUpKQorCQkJZnB1dHMoIn0sXG4iLCBmKTsKKwkJZWxzZQorCQkJZnB1dHMoIn1cbiIsIGYpOworCX0KKworCWluZGVudC0tOworCWZwdXRfaW5kZW50KGluZGVudCwgZik7CisJZnB1dHMoIl1cbiIsIGYpOworZG9uZToKKwlpbmRlbnQtLTsKKwlmcHV0X2luZGVudChpbmRlbnQsIGYpOworCWZwdXRzKCJ9XG59XG4iLCBmKTsKKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAid3JpdGUgc2NyaXB0IGRvbmUiKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgd3JpdGVfZmlsZV9zZmRpc2soc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqaDsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisJY29uc3QgY2hhciAqZGV2bmFtZSA9IE5VTEw7CisKKwlhc3NlcnQoZHApOworCWFzc2VydChmKTsKKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAid3JpdGluZyBzZmRpc2stbGlrZSBzY3JpcHQgdG8gZmlsZSIpKTsKKworCS8qIHNjcmlwdCBoZWFkZXJzICovCisJbGlzdF9mb3JfZWFjaChoLCAmZHAtPmhlYWRlcnMpIHsKKwkJc3RydWN0IGZkaXNrX3NjcmlwdGhlYWRlciAqZmkgPSBsaXN0X2VudHJ5KGgsIHN0cnVjdCBmZGlza19zY3JpcHRoZWFkZXIsIGhlYWRlcnMpOworCQlmcHJpbnRmKGYsICIlczogJXNcbiIsIGZpLT5uYW1lLCBmaS0+ZGF0YSk7CisJCWlmIChzdHJjbXAoZmktPm5hbWUsICJkZXZpY2UiKSA9PSAwKQorCQkJZGV2bmFtZSA9IGZpLT5kYXRhOworCX0KKworCWlmICghZHAtPnRhYmxlKSB7CisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHRhYmxlIGVtcHR5IikpOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiV6dSBlbnRyaWVzIiwgZmRpc2tfdGFibGVfZ2V0X25lbnRzKGRwLT50YWJsZSkpKTsKKworCWZwdXRjKCdcbicsIGYpOworCisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbihkcC0+dGFibGUsICZpdHIsICZwYSkgPT0gMCkgeworCQljaGFyICpwID0gTlVMTDsKKworCQlpZiAoZGV2bmFtZSkKKwkJCXAgPSBmZGlza19wYXJ0bmFtZShkZXZuYW1lLCBwYS0+cGFydG5vICsgMSk7CisJCWlmIChwKSB7CisJCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIndyaXRlICVzIGVudHJ5IiwgcCkpOworCQkJZnByaW50ZihmLCAiJXMgOiIsIHApOworCQl9IGVsc2UKKwkJCWZwcmludGYoZiwgIiV6dSA6IiwgcGEtPnBhcnRubyArIDEpOworCisJCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJCWZwcmludGYoZiwgIiBzdGFydD0lMTJqdSIsICh1aW50bWF4X3QpcGEtPnN0YXJ0KTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCQlmcHJpbnRmKGYsICIsIHNpemU9JTEyanUiLCAodWludG1heF90KXBhLT5zaXplKTsKKworCQlpZiAocGEtPnR5cGUgJiYgZmRpc2tfcGFydHR5cGVfZ2V0X3N0cmluZyhwYS0+dHlwZSkpCisJCQlmcHJpbnRmKGYsICIsIHR5cGU9JXMiLCBmZGlza19wYXJ0dHlwZV9nZXRfc3RyaW5nKHBhLT50eXBlKSk7CisJCWVsc2UgaWYgKHBhLT50eXBlKQorCQkJZnByaW50ZihmLCAiLCB0eXBlPSV4IiwgZmRpc2tfcGFydHR5cGVfZ2V0X2NvZGUocGEtPnR5cGUpKTsKKworCQlpZiAocGEtPnV1aWQpCisJCQlmcHJpbnRmKGYsICIsIHV1aWQ9JXMiLCBwYS0+dXVpZCk7CisJCWlmIChwYS0+bmFtZSAmJiAqcGEtPm5hbWUpIHsKKwkJCWZwdXRzKCIsIG5hbWU9IiwgZik7CisJCQlmcHV0c19xdW90ZWQocGEtPm5hbWUsIGYpOworCQl9CisKKwkJLyogZm9yIE1CUiBhdHRyPTgwIG1lYW5zIGJvb3RhYmxlICovCisJCWlmIChwYS0+YXR0cnMpIHsKKwkJCXN0cnVjdCBmZGlza19sYWJlbCAqbGIgPSBzY3JpcHRfZ2V0X2xhYmVsKGRwKTsKKworCQkJaWYgKCFsYiB8fCBmZGlza19sYWJlbF9nZXRfdHlwZShsYikgIT0gRkRJU0tfRElTS0xBQkVMX0RPUykKKwkJCQlmcHJpbnRmKGYsICIsIGF0dHJzPVwiJXNcIiIsIHBhLT5hdHRycyk7CisJCX0KKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9pc19ib290YWJsZShwYSkpCisJCQlmcHJpbnRmKGYsICIsIGJvb3RhYmxlIik7CisJCWZwdXRjKCdcbicsIGYpOworCX0KKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAid3JpdGUgc2NyaXB0IGRvbmUiKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGU6CisgKiBAZHA6IHNjcmlwdAorICogQGY6IG91dHB1dCBmaWxlCisgKgorICogV3JpdGVzIHNjcmlwdCBAZHAgdG8gdGhlIGZpbGUgQGYuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NjcmlwdF93cml0ZV9maWxlKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBGSUxFICpmKQoreworCWFzc2VydChkcCk7CisKKwlpZiAoZHAtPmpzb24pCisJCXJldHVybiB3cml0ZV9maWxlX2pzb24oZHAsIGYpOworCisJcmV0dXJuIHdyaXRlX2ZpbGVfc2ZkaXNrKGRwLCBmKTsKK30KKworc3RhdGljIGlubGluZSBpbnQgaXNfaGVhZGVyX2xpbmUoY29uc3QgY2hhciAqcykKK3sKKwljb25zdCBjaGFyICpwID0gc3RyY2hyKHMsICc6Jyk7CisKKwlpZiAoIXAgfHwgcCA9PSBzIHx8ICEqKHAgKyAxKSB8fCBzdHJjaHIocywgJz0nKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gMTsKK30KKworLyogcGFyc2VzICI8bmFtZT46IHZhbHVlIiwgbm90ZSBtb2RpZmllcyBAcyovCitzdGF0aWMgaW50IHBhcnNlX2xpbmVfaGVhZGVyKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBjaGFyICpzKQoreworCWludCByYyA9IC1FSU5WQUw7CisJY2hhciAqbmFtZSwgKnZhbHVlOworCisJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICIgICBwYXJzZSBoZWFkZXIgJyVzJyIsIHMpKTsKKworCWlmICghcyB8fCAhKnMpCisJCXJldHVybiAtRUlOVkFMOworCisJbmFtZSA9IHM7CisJdmFsdWUgPSBzdHJjaHIocywgJzonKTsKKwlpZiAoIXZhbHVlKQorCQlnb3RvIGRvbmU7CisJKnZhbHVlID0gJ1wwJzsKKwl2YWx1ZSsrOworCisJbHRyaW1fd2hpdGVzcGFjZSgodW5zaWduZWQgY2hhciAqKSBuYW1lKTsKKwlydHJpbV93aGl0ZXNwYWNlKCh1bnNpZ25lZCBjaGFyICopIG5hbWUpOworCWx0cmltX3doaXRlc3BhY2UoKHVuc2lnbmVkIGNoYXIgKikgdmFsdWUpOworCXJ0cmltX3doaXRlc3BhY2UoKHVuc2lnbmVkIGNoYXIgKikgdmFsdWUpOworCisJaWYgKHN0cmNtcChuYW1lLCAibGFiZWwiKSA9PSAwKSB7CisJCWlmIChkcC0+Y3h0ICYmICFmZGlza19nZXRfbGFiZWwoZHAtPmN4dCwgdmFsdWUpKQorCQkJZ290byBkb25lOwkJCS8qIHVua25vd24gbGFiZWwgbmFtZSAqLworCQlkcC0+Zm9yY2VfbGFiZWwgPSAxOworCX0gZWxzZSBpZiAoc3RyY21wKG5hbWUsICJ1bml0IikgPT0gMCkgeworCQlpZiAoc3RyY21wKHZhbHVlLCAic2VjdG9ycyIpICE9IDApCisJCQlnb3RvIGRvbmU7CQkJLyogb25seSAic2VjdG9ycyIgc3VwcG9ydGVkICovCisJfSBlbHNlIGlmIChzdHJjbXAobmFtZSwgImxhYmVsLWlkIikgPT0gMAorCQkgICB8fCBzdHJjbXAobmFtZSwgImRldmljZSIpID09IDAKKwkJICAgfHwgc3RyY21wKG5hbWUsICJmaXJzdC1sYmEiKSA9PSAwCisJCSAgIHx8IHN0cmNtcChuYW1lLCAibGFzdC1sYmEiKSA9PSAwCisJCSAgIHx8IHN0cmNtcChuYW1lLCAidGFibGUtbGVuZ3RoIikgPT0gMCkgeworCQk7CQkJCQkvKiB3aGF0ZXZlciBpcyBwb3NzaWJsZSAqLworCX0gZWxzZQorCQlnb3RvIGRvbmU7CQkJCS8qIHVua25vd24gaGVhZGVyICovCisKKwlpZiAoKm5hbWUgJiYgKnZhbHVlKQorCQlyYyA9IGZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyKGRwLCBuYW1lLCB2YWx1ZSk7Citkb25lOgorCWlmIChyYykKKwkJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICJoZWFkZXIgcGFyc2UgZXJyb3I6ICIKKwkJCQkiW3JjPSVkLCBuYW1lPSclcycsIHZhbHVlPSclcyddIiwKKwkJCQlyYywgbmFtZSwgdmFsdWUpKTsKKwlyZXR1cm4gcmM7CisKK30KKworLyogcmV0dXJucyB6ZXJvIHRlcm1pbmF0ZWQgc3RyaW5nIHdpdGggbmV4dCB0b2tlbiBhbmQgQHN0ciBpcyB1cGRhdGVkICovCitzdGF0aWMgY2hhciAqbmV4dF90b2tlbihjaGFyICoqc3RyKQoreworCWNoYXIgKnRrX2JlZ2luID0gTlVMTCwKKwkgICAgICp0a19lbmQgPSBOVUxMLAorCSAgICAgKmVuZCA9IE5VTEwsCisJICAgICAqcDsKKwlpbnQgb3Blbl9xdW90ZSA9IDAsIHRlcm1pbmF0ZWQgPSAwOworCisJZm9yIChwID0gKnN0cjsgcCAmJiAqcDsgcCsrKSB7CisJCWlmICghdGtfYmVnaW4pIHsKKwkJCWlmIChpc2JsYW5rKCpwKSkKKwkJCQljb250aW51ZTsKKwkJCXRrX2JlZ2luID0gKnAgPT0gJyInID8gcCArIDEgOiBwOworCQl9CisJCWlmICgqcCA9PSAnIicpCisJCQlvcGVuX3F1b3RlIF49IDE7CisJCWlmIChvcGVuX3F1b3RlKQorCQkJY29udGludWU7CisJCWlmIChpc2JsYW5rKCpwKSB8fCAqcCA9PSAnLCcgfHwgKnAgPT0gJzsnIHx8ICpwID09ICciJyApCisJCQl0a19lbmQgPSBwOworCQllbHNlIGlmICgqKHAgKyAxKSA9PSAnXDAnKQorCQkJdGtfZW5kID0gcCArIDE7CisJCWlmICh0a19iZWdpbiAmJiB0a19lbmQpCisJCQlicmVhazsKKwl9CisKKwlpZiAoIXRrX2VuZCkKKwkJcmV0dXJuIE5VTEw7CisKKwllbmQgPSB0a19lbmQ7CisKKwkvKiBza2lwIGNsb3NpbmcgcXVvdGVzICovCisJaWYgKCplbmQgPT0gJyInKQorCQllbmQrKzsKKworCS8qIHRva2VuIGlzIHRlcm1pbmF0ZWQgYnkgYmxhbmsgKG9yIGJsYW5rIGlzIGJlZm9yZSAiLCIgb3IgIjsiKSAqLworCWlmIChpc2JsYW5rKCplbmQpKSB7CisJCWVuZCA9IChjaGFyICopIHNraXBfYmxhbmsoZW5kKTsKKwkJdGVybWluYXRlZCsrOworCX0KKworCS8qIHRva2VuIGlzIHRlcm1pbmF0ZWQgYnkgIiwiIG9yICI7IiAqLworCWlmICgqZW5kID09ICcsJyB8fCAqZW5kID09ICc7JykgeworCQllbmQrKzsKKwkJdGVybWluYXRlZCsrOworCisJLyogdG9rZW4gaXMgdGVybWluYXRlZCBieSBcMCAqLworCX0gZWxzZSBpZiAoISplbmQpCisJCXRlcm1pbmF0ZWQrKzsKKworCWlmICghdGVybWluYXRlZCkgeworCQlEQkcoU0NSSVBULCB1bF9kZWJ1ZygidW50ZXJtaW5hdGVkIHRva2VuICclcyciLCBlbmQpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogc2tpcCBleHRyYSBzcGFjZSBhZnRlciB0ZXJtaW5hdG9yICovCisJZW5kID0gKGNoYXIgKikgc2tpcF9ibGFuayhlbmQpOworCisJKnRrX2VuZCA9ICdcMCc7CisJKnN0ciA9IGVuZDsKKwlyZXR1cm4gdGtfYmVnaW47Cit9CisKK3N0YXRpYyBpbnQgbmV4dF9udW1iZXIoY2hhciAqKnMsIHVpbnQ2NF90ICpudW0sIGludCAqcG93ZXIpCit7CisJY2hhciAqdGs7CisJaW50IHJjID0gLUVJTlZBTDsKKworCWFzc2VydChudW0pOworCWFzc2VydChzKTsKKworCXRrID0gbmV4dF90b2tlbihzKTsKKwlpZiAodGspCisJCXJjID0gcGFyc2Vfc2l6ZSh0aywgKHVpbnRtYXhfdCAqKSBudW0sIHBvd2VyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgbmV4dF9zdHJpbmcoY2hhciAqKnMsIGNoYXIgKipzdHIpCit7CisJY2hhciAqdGs7CisJaW50IHJjID0gLUVJTlZBTDsKKworCWFzc2VydChzKTsKKwlhc3NlcnQoc3RyKTsKKworCXRrID0gbmV4dF90b2tlbihzKTsKKwlpZiAodGspIHsKKwkJKnN0ciA9IHN0cmR1cCh0ayk7CisJCXJjID0gISpzdHIgPyAtRU5PTUVNIDogMDsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHBhcnRub19mcm9tX2Rldm5hbWUoY2hhciAqcykKK3sKKwlpbnQgcG5vOworCXNpemVfdCBzejsKKwljaGFyICplbmQsICpwOworCisJc3ogPSBydHJpbV93aGl0ZXNwYWNlKCh1bnNpZ25lZCBjaGFyICopcyk7CisJcCA9IHMgKyBzeiAtIDE7CisKKwl3aGlsZSAocCA+IHMgJiYgaXNkaWdpdCgqKHAgLSAxKSkpCisJCXAtLTsKKworCWVycm5vID0gMDsKKwlwbm8gPSBzdHJ0b2wocCwgJmVuZCwgMTApOworCWlmIChlcnJubyB8fCAhZW5kIHx8IHAgPT0gZW5kKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIHBubyAtIDE7Cit9CisKKy8qIGR1bXAgZm9ybWF0CisgKiA8ZGV2aWNlPjogc3RhcnQ9PG51bT4sIHNpemU9PG51bT4sIHR5cGU9PHN0cmluZz4sIC4uLgorICovCitzdGF0aWMgaW50IHBhcnNlX2xpbmVfbmFtZXZhbChzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY2hhciAqcykKK3sKKwljaGFyICpwLCAqeDsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlpbnQgcmMgPSAwOworCXVpbnQ2NF90IG51bTsKKwlpbnQgcG5vOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQocyk7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiAgIHBhcnNlIHNjcmlwdCBsaW5lOiAnJXMnIiwgcykpOworCisJcGEgPSBmZGlza19uZXdfcGFydGl0aW9uKCk7CisJaWYgKCFwYSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlmZGlza19wYXJ0aXRpb25fc3RhcnRfZm9sbG93X2RlZmF1bHQocGEsIDEpOworCWZkaXNrX3BhcnRpdGlvbl9lbmRfZm9sbG93X2RlZmF1bHQocGEsIDEpOworCWZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQocGEsIDEpOworCisJLyogc2V0IHBhcnRubyAqLworCXAgPSBzdHJjaHIocywgJzonKTsKKwl4ID0gc3RyY2hyKHMsICc9Jyk7CisJaWYgKHAgJiYgKCF4IHx8IHAgPCB4KSkgeworCQkqcCA9ICdcMCc7CisJCXArKzsKKworCQlwbm8gPSBwYXJ0bm9fZnJvbV9kZXZuYW1lKHMpOworCQlpZiAocG5vID49IDApIHsKKwkJCWZkaXNrX3BhcnRpdGlvbl9wYXJ0bm9fZm9sbG93X2RlZmF1bHQocGEsIDApOworCQkJZmRpc2tfcGFydGl0aW9uX3NldF9wYXJ0bm8ocGEsIHBubyk7CisJCX0KKwl9IGVsc2UKKwkJcCA9IHM7CisKKwl3aGlsZSAocmMgPT0gMCAmJiBwICYmICpwKSB7CisKKwkJREJHKFNDUklQVCwgdWxfZGVidWdvYmooZHAsICIgcGFyc2luZyAnJXMnIiwgcCkpOworCQlwID0gKGNoYXIgKikgc2tpcF9ibGFuayhwKTsKKworCQlpZiAoIXN0cm5jYXNlY21wKHAsICJzdGFydD0iLCA2KSkgeworCQkJaW50IHBvdyA9IDA7CisJCQlwICs9IDY7CisJCQlyYyA9IG5leHRfbnVtYmVyKCZwLCAmbnVtLCAmcG93KTsKKwkJCWlmICghcmMpIHsKKwkJCQlpZiAocG93KQkvKiBzcGVjaWZpZWQgYXMgPG51bT48c3VmZml4PiAqLworCQkJCQludW0gLz0gZHAtPmN4dC0+c2VjdG9yX3NpemU7CisJCQkJZmRpc2tfcGFydGl0aW9uX3NldF9zdGFydChwYSwgbnVtKTsKKwkJCQlmZGlza19wYXJ0aXRpb25fc3RhcnRfZm9sbG93X2RlZmF1bHQocGEsIDApOworCQkJfQorCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChwLCAic2l6ZT0iLCA1KSkgeworCQkJaW50IHBvdyA9IDA7CisKKwkJCXAgKz0gNTsKKwkJCXJjID0gbmV4dF9udW1iZXIoJnAsICZudW0sICZwb3cpOworCQkJaWYgKCFyYykgeworCQkJCWlmIChwb3cpCS8qIHNwZWNpZmllZCBhcyA8bnVtPjxzdWZmaXg+ICovCisJCQkJCW51bSAvPSBkcC0+Y3h0LT5zZWN0b3Jfc2l6ZTsKKwkJCQllbHNlCQkvKiBzcGVjaWZpZWQgYXMgbnVtYmVyIG9mIHNlY3RvcnMgKi8KKwkJCQkJZmRpc2tfcGFydGl0aW9uX3NpemVfZXhwbGljaXQocGEsIDEpOworCQkJCWZkaXNrX3BhcnRpdGlvbl9zZXRfc2l6ZShwYSwgbnVtKTsKKwkJCQlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHBhLCAwKTsKKwkJCX0KKworCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChwLCAiYm9vdGFibGUiLCA4KSkgeworCQkJLyogd2UgdXNlIG5leHRfdG9rZW4oKSB0byBza2lwIHBvc3NpYmxlIGV4dHJhIHNwYWNlICovCisJCQljaGFyICp0ayA9IG5leHRfdG9rZW4oJnApOworCQkJaWYgKHRrICYmIHN0cmNhc2VjbXAodGssICJib290YWJsZSIpID09IDApCisJCQkJcGEtPmJvb3QgPSAxOworCQkJZWxzZQorCQkJCXJjID0gLUVJTlZBTDsKKworCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChwLCAiYXR0cnM9IiwgNikpIHsKKwkJCXAgKz0gNjsKKwkJCXJjID0gbmV4dF9zdHJpbmcoJnAsICZwYS0+YXR0cnMpOworCisJCX0gZWxzZSBpZiAoIXN0cm5jYXNlY21wKHAsICJ1dWlkPSIsIDUpKSB7CisJCQlwICs9IDU7CisJCQlyYyA9IG5leHRfc3RyaW5nKCZwLCAmcGEtPnV1aWQpOworCisJCX0gZWxzZSBpZiAoIXN0cm5jYXNlY21wKHAsICJuYW1lPSIsIDUpKSB7CisJCQlwICs9IDU7CisJCQlyYyA9IG5leHRfc3RyaW5nKCZwLCAmcGEtPm5hbWUpOworCQkJdW5oZXhtYW5nbGVfc3RyaW5nKHBhLT5uYW1lKTsKKworCQl9IGVsc2UgaWYgKCFzdHJuY2FzZWNtcChwLCAidHlwZT0iLCA1KSB8fAorCQkJICAgIXN0cm5jYXNlY21wKHAsICJJZD0iLCAzKSkgewkJLyogYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworCQkJY2hhciAqdHlwZTsKKworCQkJcCArPSAoKCpwID09ICdJJyB8fCAqcCA9PSAnaScpID8gMyA6IDUpOyAvKiAiSWQ9IiwgInR5cGU9IiAqLworCisJCQlyYyA9IG5leHRfc3RyaW5nKCZwLCAmdHlwZSk7CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisJCQlwYS0+dHlwZSA9IGZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlKAorCQkJCQlzY3JpcHRfZ2V0X2xhYmVsKGRwKSwgdHlwZSk7CisJCQlmcmVlKHR5cGUpOworCisJCQlpZiAoIXBhLT50eXBlKSB7CisJCQkJcmMgPSAtRUlOVkFMOworCQkJCWZkaXNrX3VucmVmX3BhcnR0eXBlKHBhLT50eXBlKTsKKwkJCQlwYS0+dHlwZSA9IE5VTEw7CisJCQkJYnJlYWs7CisJCQl9CisKKwkJfSBlbHNlIHsKKwkJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHBhcnNlIGVycm9yOiB1bmtub3duIGZpZWxkICclcyciLCBwKSk7CisJCQlyYyA9IC1FSU5WQUw7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmICghcmMpCisJCXJjID0gZmRpc2tfdGFibGVfYWRkX3BhcnRpdGlvbihkcC0+dGFibGUsIHBhKTsKKwlpZiAocmMpCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHBhcnNlIGVycm9yOiBbcmM9JWRdIiwgcmMpKTsKKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHJjOworfQorCisvKiBvcmlnaW5hbCBzZmRpc2sgc3VwcG9ydHMgcGFydGl0aW9uIHR5cGVzIHNob3J0Y3V0cyBsaWtlICdMJyA9IExpbnV4IG5hdGl2ZQorICovCitzdGF0aWMgc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0cmFuc2xhdGVfdHlwZV9zaG9ydGN1dHMoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIGNoYXIgKnN0cikKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCWNvbnN0IGNoYXIgKnR5cGUgPSBOVUxMOworCisJaWYgKHN0cmxlbihzdHIpICE9IDEpCisJCXJldHVybiBOVUxMOworCisJbGIgPSBzY3JpcHRfZ2V0X2xhYmVsKGRwKTsKKwlpZiAoIWxiKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChsYi0+aWQgPT0gRkRJU0tfRElTS0xBQkVMX0RPUykgeworCQlzd2l0Y2ggKCpzdHIpIHsKKwkJY2FzZSAnTCc6CS8qIExpbnV4ICovCisJCQl0eXBlID0gIjgzIjsKKwkJCWJyZWFrOworCQljYXNlICdTJzoJLyogU3dhcCAqLworCQkJdHlwZSA9ICI4MiI7CisJCQlicmVhazsKKwkJY2FzZSAnRSc6CS8qIERvcyBleHRlbmRlZCAqLworCQkJdHlwZSA9ICIwNSI7CisJCQlicmVhazsKKwkJY2FzZSAnWCc6CS8qIExpbnV4IGV4dGVuZGVkICovCisJCQl0eXBlID0gIjg1IjsKKwkJCWJyZWFrOworCQljYXNlICdVJzoJLyogVUVGSSBzeXN0ZW0gKi8KKwkJCXR5cGUgPSAiRUYiOworCQkJYnJlYWs7CisJCWNhc2UgJ1InOgkvKiBMaW51eCBSQUlEICovCisJCQl0eXBlID0gIkZEIjsKKwkJCWJyZWFrOworCQljYXNlICdWJzoJLyogTFZNICovCisJCQl0eXBlID0gIjhFIjsKKwkJCWJyZWFrOworCisJCX0KKwl9IGVsc2UgaWYgKGxiLT5pZCA9PSBGRElTS19ESVNLTEFCRUxfR1BUKSB7CisJCXN3aXRjaCAoKnN0cikgeworCQljYXNlICdMJzoJLyogTGludXggKi8KKwkJCXR5cGUgPSAiMEZDNjNEQUYtODQ4My00NzcyLThFNzktM0Q2OUQ4NDc3REU0IjsKKwkJCWJyZWFrOworCQljYXNlICdTJzoJLyogU3dhcCAqLworCQkJdHlwZSA9ICIwNjU3RkQ2RC1BNEFCLTQzQzQtODRFNS0wOTMzQzg0QjRGNEYiOworCQkJYnJlYWs7CisJCWNhc2UgJ0gnOgkvKiBIb21lICovCisJCQl0eXBlID0gIjkzM0FDN0UxLTJFQjQtNEYxMy1CODQ0LTBFMTRFMkFFRjkxNSI7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CS8qIFVFRkkgc3lzdGVtICovCisJCQl0eXBlID0gIkMxMkE3MzI4LUY4MUYtMTFEMi1CQTRCLTAwQTBDOTNFQzkzQiI7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CS8qIExpbnV4IFJBSUQgKi8KKwkJCXR5cGUgPSAiQTE5RDg4MEYtMDVGQy00RDNCLUEwMDYtNzQzRjBGODQ5MTFFIjsKKwkJCWJyZWFrOworCQljYXNlICdWJzoJLyogTFZNICovCisJCQl0eXBlID0gIkU2RDZEMzc5LUY1MDctNDRDMi1BMjNDLTIzOEYyQTNERjkyOCI7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiB0eXBlID8gZmRpc2tfbGFiZWxfcGFyc2VfcGFydHR5cGUobGIsIHR5cGUpIDogTlVMTDsKK30KKworI2RlZmluZSBUS19QTFVTCQkxCisjZGVmaW5lIFRLX01JTlVTCS0xCisKKyNkZWZpbmUgYWxvbmVfc2lnbihfc2lnbiwgX3ApCShfc2lnbiAmJiAoKl9wID09ICdcMCcgfHwgaXNibGFuaygqX3ApKSkKKworLyogc2ltcGxlIGZvcm1hdDoKKyAqIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+LCAuLi4KKyAqLworc3RhdGljIGludCBwYXJzZV9saW5lX3ZhbGNvbW1hcyhzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY2hhciAqcykKK3sKKwlpbnQgcmMgPSAwOworCWNoYXIgKnAgPSBzLCAqc3RyOworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhOworCWVudW0geyBJVEVNX1NUQVJULCBJVEVNX1NJWkUsIElURU1fVFlQRSwgSVRFTV9CT09UQUJMRSB9OworCWludCBpdGVtID0gLTE7CisKKwlhc3NlcnQoZHApOworCWFzc2VydChzKTsKKworCXBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCWlmICghcGEpCisJCXJldHVybiAtRU5PTUVNOworCisJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwlmZGlza19wYXJ0aXRpb25fcGFydG5vX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKworCXdoaWxlIChyYyA9PSAwICYmIHAgJiYgKnApIHsKKwkJdWludDY0X3QgbnVtOworCQljaGFyICpiZWdpbjsKKwkJaW50IHNpZ24gPSAwOworCisJCXAgPSAoY2hhciAqKSBza2lwX2JsYW5rKHApOworCQlpdGVtKys7CisKKwkJaWYgKGl0ZW0gIT0gSVRFTV9CT09UQUJMRSkgeworCQkJc2lnbiA9ICpwID09ICctJyA/IFRLX01JTlVTIDogKnAgPT0gJysnID8gVEtfUExVUyA6IDA7CisJCQlpZiAoc2lnbikKKwkJCQlwKys7CisJCX0KKworCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiBwYXJzaW5nIGl0ZW0gJWQgKCclcycpIiwgaXRlbSwgcCkpOworCQliZWdpbiA9IHA7CisKKwkJc3dpdGNoIChpdGVtKSB7CisJCWNhc2UgSVRFTV9TVEFSVDoKKwkJCWlmICgqcCA9PSAnLCcgfHwgKnAgPT0gJzsnIHx8IGFsb25lX3NpZ24oc2lnbiwgcCkpCisJCQkJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwkJCWVsc2UgeworCQkJCWludCBwb3cgPSAwOworCisJCQkJcmMgPSBuZXh0X251bWJlcigmcCwgJm51bSwgJnBvdyk7CisJCQkJaWYgKCFyYykgeworCQkJCQlpZiAocG93KQkvKiBzcGVjaWZpZWQgYXMgPG51bT48c3VmZml4PiAqLworCQkJCQkJbnVtIC89IGRwLT5jeHQtPnNlY3Rvcl9zaXplOworCQkJCQlmZGlza19wYXJ0aXRpb25fc2V0X3N0YXJ0KHBhLCBudW0pOworCQkJCQlwYS0+bW92ZXN0YXJ0ID0gc2lnbiA9PSBUS19NSU5VUyA/IEZESVNLX01PVkVfRE9XTiA6CisJCQkJCQkJc2lnbiA9PSBUS19QTFVTICA/IEZESVNLX01PVkVfVVAgOgorCQkJCQkJCUZESVNLX01PVkVfTk9ORTsKKwkJCQl9CisJCQkJZmRpc2tfcGFydGl0aW9uX3N0YXJ0X2ZvbGxvd19kZWZhdWx0KHBhLCAwKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIElURU1fU0laRToKKwkJCWlmICgqcCA9PSAnLCcgfHwgKnAgPT0gJzsnIHx8IGFsb25lX3NpZ24oc2lnbiwgcCkpIHsKKwkJCQlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHBhLCAxKTsKKwkJCQlpZiAoc2lnbiA9PSBUS19QTFVTKQorCQkJCQkvKiAnKycgYWxvbmUgbWVhbnMgdXNlIGFsbCBwb3NzaWJsZSBzcGFjZSwgJy0nIGFsb25lIG1lYW5zIG5vdGhpbmcgKi8KKwkJCQkJcGEtPnJlc2l6ZSA9IEZESVNLX1JFU0laRV9FTkxBUkdFOworCQkJfSBlbHNlIHsKKwkJCQlpbnQgcG93ID0gMDsKKwkJCQlyYyA9IG5leHRfbnVtYmVyKCZwLCAmbnVtLCAmcG93KTsKKwkJCQlpZiAoIXJjKSB7CisJCQkJCWlmIChwb3cpIC8qIHNwZWNpZmllZCBhcyA8c2l6ZT48c3VmZml4PiAqLworCQkJCQkJbnVtIC89IGRwLT5jeHQtPnNlY3Rvcl9zaXplOworCQkJCQllbHNlCSAvKiBzcGVjaWZpZWQgYXMgbnVtYmVyIG9mIHNlY3RvcnMgKi8KKwkJCQkJCWZkaXNrX3BhcnRpdGlvbl9zaXplX2V4cGxpY2l0KHBhLCAxKTsKKwkJCQkJZmRpc2tfcGFydGl0aW9uX3NldF9zaXplKHBhLCBudW0pOworCQkJCQlwYS0+cmVzaXplID0gc2lnbiA9PSBUS19NSU5VUyA/IEZESVNLX1JFU0laRV9SRURVQ0UgOgorCQkJCQkJICAgICBzaWduID09IFRLX1BMVVMgID8gRkRJU0tfUkVTSVpFX0VOTEFSR0UgOgorCQkJCQkJCUZESVNLX1JFU0laRV9OT05FOworCQkJCX0KKwkJCQlmZGlza19wYXJ0aXRpb25fZW5kX2ZvbGxvd19kZWZhdWx0KHBhLCAwKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIElURU1fVFlQRToKKwkJCWlmICgqcCA9PSAnLCcgfHwgKnAgPT0gJzsnIHx8IGFsb25lX3NpZ24oc2lnbiwgcCkpCisJCQkJYnJlYWs7CS8qIHVzZSBkZWZhdWx0IHR5cGUgKi8KKworCQkJcmMgPSBuZXh0X3N0cmluZygmcCwgJnN0cik7CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisKKwkJCXBhLT50eXBlID0gdHJhbnNsYXRlX3R5cGVfc2hvcnRjdXRzKGRwLCBzdHIpOworCQkJaWYgKCFwYS0+dHlwZSkKKwkJCQlwYS0+dHlwZSA9IGZkaXNrX2xhYmVsX3BhcnNlX3BhcnR0eXBlKAorCQkJCQkJc2NyaXB0X2dldF9sYWJlbChkcCksIHN0cik7CisJCQlmcmVlKHN0cik7CisKKwkJCWlmICghcGEtPnR5cGUpIHsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQkJZmRpc2tfdW5yZWZfcGFydHR5cGUocGEtPnR5cGUpOworCQkJCXBhLT50eXBlID0gTlVMTDsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIElURU1fQk9PVEFCTEU6CisJCQlpZiAoKnAgPT0gJywnIHx8ICpwID09ICc7JykKKwkJCQlicmVhazsKKwkJCWVsc2UgeworCQkJCWNoYXIgKnRrID0gbmV4dF90b2tlbigmcCk7CisJCQkJaWYgKHRrICYmICp0ayA9PSAnKicgJiYgKih0ayArIDEpID09ICdcMCcpCisJCQkJCXBhLT5ib290ID0gMTsKKwkJCQllbHNlIGlmICh0ayAmJiAqdGsgPT0gJy0nICYmICoodGsgKyAxKSA9PSAnXDAnKQorCQkJCQlwYS0+Ym9vdCA9IDA7CisJCQkJZWxzZSBpZiAodGsgJiYgKnRrID09ICcrJyAmJiAqKHRrICsgMSkgPT0gJ1wwJykKKwkJCQkJcGEtPmJvb3QgPSAxOworCQkJCWVsc2UKKwkJCQkJcmMgPSAtRUlOVkFMOworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCisJCWlmIChiZWdpbiA9PSBwKQorCQkJcCsrOworCX0KKworCWlmICghcmMpCisJCXJjID0gZmRpc2tfdGFibGVfYWRkX3BhcnRpdGlvbihkcC0+dGFibGUsIHBhKTsKKwlpZiAocmMpCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAic2NyaXB0IHBhcnNlIGVycm9yOiBbcmM9JWRdIiwgcmMpKTsKKworCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJcmV0dXJuIHJjOworfQorCisvKiBtb2RpZmllcyBAcyAhICovCitzdGF0aWMgaW50IGZkaXNrX3NjcmlwdF9yZWFkX2J1ZmZlcihzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCwgY2hhciAqcykKK3sKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQocyk7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiAgcGFyc2luZyBidWZmZXIiKSk7CisKKwlzID0gKGNoYXIgKikgc2tpcF9ibGFuayhzKTsKKwlpZiAoIXMgfHwgISpzKQorCQlyZXR1cm4gMDsJLyogbm90aGluZyBiYWJ5LCBpZ25vcmUgKi8KKworCWlmICghZHAtPnRhYmxlKSB7CisJCWRwLT50YWJsZSA9IGZkaXNrX25ld190YWJsZSgpOworCQlpZiAoIWRwLT50YWJsZSkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCS8qIHBhcnNlIGhlYWRlciBsaW5lcyBvbmx5IGlmIG5vIHBhcnRpdGlvbiBzcGVjaWZpZWQgeWV0ICovCisJaWYgKGZkaXNrX3RhYmxlX2lzX2VtcHR5KGRwLT50YWJsZSkgJiYgaXNfaGVhZGVyX2xpbmUocykpCisJCXJjID0gcGFyc2VfbGluZV9oZWFkZXIoZHAsIHMpOworCisJLyogcGFyc2Ugc2NyaXB0IGZvcm1hdCAqLworCWVsc2UgaWYgKHN0cmNocihzLCAnPScpKQorCQlyYyA9IHBhcnNlX2xpbmVfbmFtZXZhbChkcCwgcyk7CisKKwkvKiBwYXJzZSBzaW1wbGUgPHZhbHVlPiwgLi4uIGZvcm1hdCAqLworCWVsc2UKKwkJcmMgPSBwYXJzZV9saW5lX3ZhbGNvbW1hcyhkcCwgcyk7CisKKwlpZiAocmMpCisJCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAiJXp1OiBwYXJzZSBlcnJvciBbcmM9JWRdIiwKKwkJCQlkcC0+bmxpbmVzLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza19zY3JpcHRfc2V0X2ZnZXRzOgorICogQGRwOiBzY3JpcHQKKyAqIEBmbl9mZ2V0czogY2FsbGJhY2sgZnVuY3Rpb24KKyAqCisgKiBUaGUgbGlicmFyeSB1c2VzIGZnZXRzKCkgZnVuY3Rpb24gdG8gcmVhZCB0aGUgbmV4dCBsaW5lIGZyb20gdGhlIHNjcmlwdC4KKyAqIFRoaXMgZGVmYXVsdCBtYXliZSBvdmVycmlkZGVuIGJ5IGFub3RoZXIgZnVuY3Rpb24uIE5vdGUgdGhhdCB0aGUgZnVuY3Rpb24gaGFzCisgKiB0byByZXR1cm4gdGhlIGxpbmUgdGVybWluYXRlZCBieSBcbiAoZm9yIGV4YW1wbGUgcmVhZGxpbmUoMykgcmVtb3ZlcyBcbikuCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCisgKi8KK2ludCBmZGlza19zY3JpcHRfc2V0X2ZnZXRzKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLAorCQkJICBjaGFyICooKmZuX2ZnZXRzKShzdHJ1Y3QgZmRpc2tfc2NyaXB0ICosIGNoYXIgKiwgc2l6ZV90LCBGSUxFICopKQoreworCWFzc2VydChkcCk7CisKKwlkcC0+Zm5fZmdldHMgPSBmbl9mZ2V0czsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zY3JpcHRfcmVhZF9saW5lOgorICogQGRwOiBzY3JpcHQKKyAqIEBmOiBmaWxlCisgKiBAYnVmOiBidWZmZXIgdG8gc3RvcmUgb25lIGxpbmUgb2YgdGhlIGZpbGUKKyAqIEBidWZzejogYnVmZmVyIHNpemUKKyAqCisgKiBSZWFkcyBuZXh0IGxpbmUgaW50byBkdW1wLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IsIDEgd2hlbiBub3RoaW5nIHRvIHJlYWQuCisgKi8KK2ludCBmZGlza19zY3JpcHRfcmVhZF9saW5lKHN0cnVjdCBmZGlza19zY3JpcHQgKmRwLCBGSUxFICpmLCBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwljaGFyICpzOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQoZik7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIiBwYXJzaW5nIGxpbmUgJXp1IiwgZHAtPm5saW5lcykpOworCisJLyogcmVhZCB0aGUgbmV4dCBub24tYmxhbmsgbm9uLWNvbW1lbnQgbGluZSAqLworCWRvIHsKKwkJaWYgKGRwLT5mbl9mZ2V0cykgeworCQkJaWYgKGRwLT5mbl9mZ2V0cyhkcCwgYnVmLCBidWZzeiwgZikgPT0gTlVMTCkKKwkJCQlyZXR1cm4gMTsKKwkJfSBlbHNlIGlmIChmZ2V0cyhidWYsIGJ1ZnN6LCBmKSA9PSBOVUxMKQorCQkJcmV0dXJuIDE7CisKKwkJZHAtPm5saW5lcysrOworCQlzID0gc3RyY2hyKGJ1ZiwgJ1xuJyk7CisJCWlmICghcykgeworCQkJLyogTWlzc2luZyBmaW5hbCBuZXdsaW5lPyAgT3RoZXJ3aXNlIGFuIGV4dHJlbWVseSAqLworCQkJLyogbG9uZyBsaW5lIC0gYXNzdW1lIGZpbGUgd2FzIGNvcnJ1cHRlZCAqLworCQkJaWYgKGZlb2YoZikpIHsKKwkJCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgIm5vIGZpbmFsIG5ld2xpbmUiKSk7CisJCQkJcyA9IHN0cmNocihidWYsICdcMCcpOworCQkJfSBlbHNlIHsKKwkJCQlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwKKwkJCQkJIiV6dTogbWlzc2luZyBuZXdsaW5lIGF0IGxpbmUiLCBkcC0+bmxpbmVzKSk7CisJCQkJcmV0dXJuIC1FSU5WQUw7CisJCQl9CisJCX0KKworCQkqcyA9ICdcMCc7CisJCWlmICgtLXMgPj0gYnVmICYmICpzID09ICdccicpCisJCQkqcyA9ICdcMCc7CisJCXMgPSAoY2hhciAqKSBza2lwX2JsYW5rKGJ1Zik7CisJfSB3aGlsZSAoKnMgPT0gJ1wwJyB8fCAqcyA9PSAnIycpOworCisJcmV0dXJuIGZkaXNrX3NjcmlwdF9yZWFkX2J1ZmZlcihkcCwgcyk7Cit9CisKKworLyoqCisgKiBmZGlza19zY3JpcHRfcmVhZF9maWxlOgorICogQGRwOiBzY3JpcHQKKyAqIEBmOiBpbnB1dCBmaWxlCisgKgorICogUmVhZHMgZmlsZSBAZiBpbnRvIHNjcmlwdCBAZHAuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3NjcmlwdF9yZWFkX2ZpbGUoc3RydWN0IGZkaXNrX3NjcmlwdCAqZHAsIEZJTEUgKmYpCit7CisJY2hhciBidWZbQlVGU0laXTsKKwlpbnQgcmMgPSAxOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQoZik7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgInBhcnNpbmcgZmlsZSIpKTsKKworCXdoaWxlICghZmVvZihmKSkgeworCQlyYyA9IGZkaXNrX3NjcmlwdF9yZWFkX2xpbmUoZHAsIGYsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQlpZiAocmMpCisJCQlicmVhazsKKwl9CisKKwlpZiAocmMgPT0gMSkKKwkJcmMgPSAwOwkJLyogZW5kIG9mIGZpbGUgKi8KKworCURCRyhTQ1JJUFQsIHVsX2RlYnVnb2JqKGRwLCAicGFyc2luZyBmaWxlIGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX3NldF9zY3JpcHQ6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAZHA6IHNjcmlwdCAob3IgTlVMTCB0byByZW1vdmUgcHJldmlvdXMgcmVmZXJlbmNlKQorICoKKyAqIFNldHMgcmVmZXJlbmNlIHRvIHRoZSBAZHAgc2NyaXB0IGFuZCByZW1vdmUgcmVmZXJlbmNlIHRvIHRoZSBwcmV2aW91c2x5IHVzZWQKKyAqIHNjcmlwdC4KKyAqCisgKiBUaGUgc2NyaXB0IGhlYWRlcnMgbWlnaHQgYmUgdXNlZCBieSBsYWJlbCBkcml2ZXJzIHRvIG92ZXJ3cml0ZQorICogYnVpbHQtaW4gZGVmYXVsdHMgKGZvciBleGFtcGxlIGRpc2sgbGFiZWwgSWQpIGFuZCBsYWJlbCBkcml2ZXIgbWlnaHQKKyAqIG9wdGltaXplIHRoZSBkZWZhdWx0IHNlbWFudGljIHRvIGJlIG1vcmUgdXNhYmxlIGZvciBzY3JpcHRzIChmb3IgZXhhbXBsZSB0bworICogbm90IGFzayBmb3IgcHJpbWFyeS9sb2dpY2FsL2V4dGVuZGVkIHBhcnRpdGlvbiB0eXBlKS4KKyAqCisgKiBOb3RlIHRoYXQgc2NyaXB0IGFsc28gY29udGFpbnMgcmVmZXJlbmNlIHRvIHRoZSBmZGlzayBjb250ZXh0IChzZWUKKyAqIGZkaXNrX25ld19zY3JpcHQoKSkuIFRoaXMgY29udGV4dCBtYXkgYmUgY29tcGxldGVseSBpbmRlcGVuZGVudCBvbgorICogY29udGV4dCB1c2VkIGZvciBmZGlza19zZXRfc2NyaXB0KCkuCisgKgorICogUmV0dXJuczogPDAgb24gZXJyb3IsIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IGZkaXNrX3NldF9zY3JpcHQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3NjcmlwdCAqZHApCit7CisJYXNzZXJ0KGN4dCk7CisKKwkvKiB1bnJlZiBvbGQgKi8KKwlpZiAoY3h0LT5zY3JpcHQpCisJCWZkaXNrX3VucmVmX3NjcmlwdChjeHQtPnNjcmlwdCk7CisKKwkvKiByZWYgbmV3ICovCisJY3h0LT5zY3JpcHQgPSBkcDsKKwlpZiAoY3h0LT5zY3JpcHQpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAic2V0dGluZyByZWZlcmVuY2UgdG8gc2NyaXB0ICVwIiwgY3h0LT5zY3JpcHQpKTsKKwkJZmRpc2tfcmVmX3NjcmlwdChjeHQtPnNjcmlwdCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3NjcmlwdDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiB0aGUgY3VycmVudCBzY3JpcHQgb3IgTlVMTC4KKyAqLworc3RydWN0IGZkaXNrX3NjcmlwdCAqZmRpc2tfZ2V0X3NjcmlwdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCXJldHVybiBjeHQtPnNjcmlwdDsKK30KKworLyoqCisgKiBmZGlza19hcHBseV9zY3JpcHRfaGVhZGVyczoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBkcDogc2NyaXB0CisgKgorICogQXNzb2NpYXRlIGNvbnRleHQgQGN4dCB3aXRoIHNjcmlwdCBAZHAgYW5kIGNyZWF0ZXMgYSBuZXcgZW1wdHkgZGlza2xhYmVsLgorICogVGhlIHNjcmlwdCBtYXkgYmUgbGF0ZXIgdW5yZWZlcmVuY2UgYnkgZmRpc2tfc2V0X3NjcmlwdCgpIHdpdGggTlVMTCBhcyBzY3JpcHQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2FwcGx5X3NjcmlwdF9oZWFkZXJzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19zY3JpcHQgKmRwKQoreworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqc3RyOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChkcCk7CisKKwlEQkcoU0NSSVBULCB1bF9kZWJ1Z29iaihkcCwgImFwcGx5aW5nIHNjcmlwdCBoZWFkZXJzIikpOworCWZkaXNrX3NldF9zY3JpcHQoY3h0LCBkcCk7CisKKwkvKiBjcmVhdGUgZW1wdHkgbGFiZWwgKi8KKwluYW1lID0gZmRpc2tfc2NyaXB0X2dldF9oZWFkZXIoZHAsICJsYWJlbCIpOworCWlmICghbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IGZkaXNrX2NyZWF0ZV9kaXNrbGFiZWwoY3h0LCBuYW1lKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXN0ciA9IGZkaXNrX3NjcmlwdF9nZXRfaGVhZGVyKGRwLCAidGFibGUtbGVuZ3RoIik7CisJaWYgKHN0cikgeworCQl1aW50bWF4X3Qgc3o7CisKKwkJcmMgPSBwYXJzZV9zaXplKHN0ciwgJnN6LCBOVUxMKTsKKwkJaWYgKHJjID09IDApCisJCQlyYyA9IGZkaXNrX2dwdF9zZXRfbnBhcnRpdGlvbnMoY3h0LCBzeik7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIGZkaXNrX2FwcGx5X3NjcmlwdDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBkcDogc2NyaXB0CisgKgorICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgbmV3IGRpc2tsYWJlbCBhbmQgcGFydGl0aW9uIHdpdGhpbiBjb250ZXh0IEBjeHQuIFlvdQorICogaGF2ZSB0byBjYWxsIGZkaXNrX3dyaXRlX2Rpc2tsYWJlbCgpIHRvIGFwcGx5IGNoYW5nZXMgdG8gdGhlIGRldmljZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIGVycm9yLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2FwcGx5X3NjcmlwdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcCkKK3sKKwlpbnQgcmM7CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqb2xkOworCisJYXNzZXJ0KGRwKTsKKwlhc3NlcnQoY3h0KTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFwcGx5aW5nIHNjcmlwdCAlcCIsIGRwKSk7CisKKwlvbGQgPSBmZGlza19nZXRfc2NyaXB0KGN4dCk7CisJZmRpc2tfcmVmX3NjcmlwdChvbGQpOworCisJLyogY3JlYXRlIGVtcHR5IGRpc2sgbGFiZWwgKi8KKwlyYyA9IGZkaXNrX2FwcGx5X3NjcmlwdF9oZWFkZXJzKGN4dCwgZHApOworCisJLyogY3JlYXRlIHBhcnRpdGlvbnMgKi8KKwlpZiAoIXJjICYmIGRwLT50YWJsZSkKKwkJcmMgPSBmZGlza19hcHBseV90YWJsZShjeHQsIGRwLT50YWJsZSk7CisKKwlmZGlza19zZXRfc2NyaXB0KGN4dCwgb2xkKTsKKwlmZGlza191bnJlZl9zY3JpcHQob2xkKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNjcmlwdCBkb25lIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQorc3RhdGljIGludCB0ZXN0X2R1bXAoc3RydWN0IGZkaXNrX3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKmRldm5hbWUgPSBhcmd2WzFdOworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqZHA7CisKKwljeHQgPSBmZGlza19uZXdfY29udGV4dCgpOworCWZkaXNrX2Fzc2lnbl9kZXZpY2UoY3h0LCBkZXZuYW1lLCAxKTsKKworCWRwID0gZmRpc2tfbmV3X3NjcmlwdChjeHQpOworCWZkaXNrX3NjcmlwdF9yZWFkX2NvbnRleHQoZHAsIE5VTEwpOworCisJZmRpc2tfc2NyaXB0X3dyaXRlX2ZpbGUoZHAsIHN0ZG91dCk7CisJZmRpc2tfdW5yZWZfc2NyaXB0KGRwKTsKKwlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X3JlYWQoc3RydWN0IGZkaXNrX3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKmZpbGVuYW1lID0gYXJndlsxXTsKKwlzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcDsKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0OworCUZJTEUgKmY7CisKKwlpZiAoIShmID0gZm9wZW4oZmlsZW5hbWUsICJyIikpKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXM6IGNhbm5vdCBvcGVuIiwgZmlsZW5hbWUpOworCisJY3h0ID0gZmRpc2tfbmV3X2NvbnRleHQoKTsKKwlkcCA9IGZkaXNrX25ld19zY3JpcHQoY3h0KTsKKworCWZkaXNrX3NjcmlwdF9yZWFkX2ZpbGUoZHAsIGYpOworCWZjbG9zZShmKTsKKworCWZkaXNrX3NjcmlwdF93cml0ZV9maWxlKGRwLCBzdGRvdXQpOworCWZkaXNrX3VucmVmX3NjcmlwdChkcCk7CisJZmRpc2tfdW5yZWZfY29udGV4dChjeHQpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9zdGRpbihzdHJ1Y3QgZmRpc2tfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciBidWZbQlVGU0laXTsKKwlzdHJ1Y3QgZmRpc2tfc2NyaXB0ICpkcDsKKwlzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0OworCWludCByYyA9IDA7CisKKwljeHQgPSBmZGlza19uZXdfY29udGV4dCgpOworCWRwID0gZmRpc2tfbmV3X3NjcmlwdChjeHQpOworCWZkaXNrX3NjcmlwdF9zZXRfaGVhZGVyKGRwLCAibGFiZWwiLCAiZG9zIik7CisKKwlwcmludGYoIjxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU6ICp8LT5cbiIpOworCWRvIHsKKwkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisJCXNpemVfdCBuID0gZmRpc2tfdGFibGVfZ2V0X25lbnRzKGRwLT50YWJsZSk7CisKKwkJcHJpbnRmKCIgIyV6dSA6XG4iLCBuICsgMSk7CisJCXJjID0gZmRpc2tfc2NyaXB0X3JlYWRfbGluZShkcCwgc3RkaW4sIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJCWlmIChyYyA9PSAwKSB7CisJCQlwYSA9IGZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb24oZHAtPnRhYmxlLCBuKTsKKwkJCXByaW50ZigiICMlenUgICUxMmp1ICUxMmp1XG4iLAluICsgMSwKKwkJCQkJCSh1aW50bWF4X3QpZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSksCisJCQkJCQkodWludG1heF90KWZkaXNrX3BhcnRpdGlvbl9nZXRfc2l6ZShwYSkpOworCQl9CisJfSB3aGlsZSAocmMgPT0gMCk7CisKKwlpZiAoIXJjKQorCQlmZGlza19zY3JpcHRfd3JpdGVfZmlsZShkcCwgc3Rkb3V0KTsKKwlmZGlza191bnJlZl9zY3JpcHQoZHApOworCWZkaXNrX3VucmVmX2NvbnRleHQoY3h0KTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X2FwcGx5KHN0cnVjdCBmZGlza190ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpkZXZuYW1lID0gYXJndlsxXSwgKnNjcmlwdG5hbWUgPSBhcmd2WzJdOworCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQ7CisJc3RydWN0IGZkaXNrX3NjcmlwdCAqZHA7CisJc3RydWN0IGZkaXNrX3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGZkaXNrX2l0ZXIgKml0ciA9IE5VTEw7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCWludCByYzsKKworCWN4dCA9IGZkaXNrX25ld19jb250ZXh0KCk7CisJZmRpc2tfYXNzaWduX2RldmljZShjeHQsIGRldm5hbWUsIDApOworCisJZHAgPSBmZGlza19uZXdfc2NyaXB0X2Zyb21fZmlsZShjeHQsIHNjcmlwdG5hbWUpOworCWlmICghZHApCisJCXJldHVybiAtZXJybm87CisKKwlyYyA9IGZkaXNrX2FwcGx5X3NjcmlwdChjeHQsIGRwKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKwlmZGlza191bnJlZl9zY3JpcHQoZHApOworCisJLyogbGlzdCByZXN1bHQgKi8KKwlmZGlza19saXN0X2Rpc2tsYWJlbChjeHQpOworCWZkaXNrX2dldF9wYXJ0aXRpb25zKGN4dCwgJnRiKTsKKworCWl0ciA9IGZkaXNrX25ld19pdGVyKEZESVNLX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCBpdHIsICZwYSkgPT0gMCkgeworCQlwcmludGYoIiAjJXp1ICAlMTJqdSAlMTJqdVxuIiwJZmRpc2tfcGFydGl0aW9uX2dldF9wYXJ0bm8ocGEpLAorCQkJCQkJKHVpbnRtYXhfdClmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KHBhKSwKKwkJCQkJCSh1aW50bWF4X3QpZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSk7CisJfQorCitkb25lOgorCWZkaXNrX2ZyZWVfaXRlcihpdHIpOworCWZkaXNrX3VucmVmX3RhYmxlKHRiKTsKKworCS8qZmRpc2tfd3JpdGVfZGlza2xhYmVsKGN4dCk7Ki8KKwlmZGlza191bnJlZl9jb250ZXh0KGN4dCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF90b2tlbnMoc3RydWN0IGZkaXNrX3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKnAsICpzdHIgPSBhcmdjID09IDIgPyBzdHJkdXAoYXJndlsxXSkgOiBOVUxMOworCWludCBpOworCisJZm9yIChpID0gMSwgcCA9IHN0cjsgcCAmJiAqcDsgaSsrKSB7CisJCWNoYXIgKnRrID0gbmV4dF90b2tlbigmcCk7CisKKwkJaWYgKCF0aykKKwkJCWJyZWFrOworCisJCXByaW50ZigiIyVkOiAnJXMnXG4iLCBpLCB0ayk7CisJfQorCisJZnJlZShzdHIpOworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBmZGlza190ZXN0IHRzc1tdID0geworCXsgIi0tZHVtcCIsICAgIHRlc3RfZHVtcCwgICAgIjxkZXZpY2U+ICAgICAgICAgICAgZHVtcCBQVCBhcyBzY3JpcHQiIH0sCisJeyAiLS1yZWFkIiwgICAgdGVzdF9yZWFkLCAgICAiPGZpbGU+ICAgICAgICAgICAgICByZWFkIFBUIHNjcmlwdCBmcm9tIGZpbGUiIH0sCisJeyAiLS1hcHBseSIsICAgdGVzdF9hcHBseSwgICAiPGRldmljZT4gPGZpbGU+ICAgICB0cnkgYXBwbHkgc2NyaXB0IGZyb20gZmlsZSB0byBkZXZpY2UiIH0sCisJeyAiLS1zdGRpbiIsICAgdGVzdF9zdGRpbiwgICAiICAgICAgICAgICAgICAgICAgICByZWFkIGlucHV0IGxpa2Ugc2ZkaXNrIiB9LAorCXsgIi0tdG9rZW5zIiwgIHRlc3RfdG9rZW5zLCAgIjxzdHJpbmc+ICAgICAgICAgICAgcGFyc2Ugc3RyaW5nIiB9LAorCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBmZGlza19ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYmZkaXNrL3NyYy9zZ2kuYyBiL2xpYmZkaXNrL3NyYy9zZ2kuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDQwZjUzCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL3NnaS5jCkBAIC0wLDAgKzEsMTIwMyBAQAorLyoKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKiAgICAgICAgICAgICAgIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBpcyBhIHJlLXdyaXR0ZW4gdmVyc2lvbiBmb3IgbGliZmRpc2ssIHRoZSBvcmlnaW5hbCB3YXMgZmRpc2tzZ2lsYWJlbC5jCisgKiBmcm9tIHV0aWwtbGludXggZmRpc2ssIGJ5OgorICoKKyAqICAgICAgICAgICAgICAgQW5kcmVhcyBOZXVwZXIsIFNlcCAxOTk4LAorICogICAgICAgICAgICAgICBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAY29uZWN0aXZhLmNvbS5icj4sIE1hciAxOTk5LAorICogICAgICAgICAgICAgICBQaGlsbGlwIEtlc2xpbmcgPHBrZXNsaW5nQHNnaS5jb20+LCBNYXIgMjAwMy4KKyAqLworCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorCisjaW5jbHVkZSAiYmxrZGV2LmgiCisKKyNpbmNsdWRlICJiaXRvcHMuaCIKKyNpbmNsdWRlICJwdC1zZ2kuaCIKKyNpbmNsdWRlICJwdC1tYnIuaCIKKyNpbmNsdWRlICJmZGlza1AuaCIKKworLyoqCisgKiBTRUNUSU9OOiBzZ2kKKyAqIEB0aXRsZTogU0dJCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGRpc2sgbGFiZWwgc3BlY2lmaWMgZnVuY3Rpb25zCisgKgorICovCisKKy8qCisgKiBpbi1tZW1vcnkgZmRpc2sgU0dJIHN0dWZmCisgKi8KK3N0cnVjdCBmZGlza19zZ2lfbGFiZWwgeworCXN0cnVjdCBmZGlza19sYWJlbAloZWFkOwkJLyogZ2VuZXJpYyBmZGlzayBwYXJ0ICovCisJc3RydWN0IHNnaV9kaXNrbGFiZWwJKmhlYWRlcjsJLyogb24tZGlzayBkYXRhIChwb2ludGVyIHRvIGN4dC0+Zmlyc3RzZWN0b3IpICovCisKKwlzdHJ1Y3Qgc2dpX2ZyZWVibG9ja3MgeworCQl1bnNpZ25lZCBpbnQgZmlyc3Q7CisJCXVuc2lnbmVkIGludCBsYXN0OworCX0gZnJlZWxpc3RbU0dJX01BWFBBUlRJVElPTlMgKyAxXTsKK307CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgc2dpX3BhcnR0eXBlc1tdID0KK3sKKwl7U0dJX1RZUEVfVk9MSERSLAlOXygiU0dJIHZvbGhkciIpfSwKKwl7U0dJX1RZUEVfVFJLUkVQTCwJTl8oIlNHSSB0cmtyZXBsIil9LAorCXtTR0lfVFlQRV9TRUNSRVBMLAlOXygiU0dJIHNlY3JlcGwiKX0sCisJe1NHSV9UWVBFX1NXQVAsCQlOXygiU0dJIHJhdyIpfSwKKwl7U0dJX1RZUEVfQlNELAkJTl8oIlNHSSBic2QiKX0sCisJe1NHSV9UWVBFX1NZU1YsCQlOXygiU0dJIHN5c3YiKX0sCisJe1NHSV9UWVBFX0VOVElSRV9ESVNLLAlOXygiU0dJIHZvbHVtZSIpfSwKKwl7U0dJX1RZUEVfRUZTLAkJTl8oIlNHSSBlZnMiKX0sCisJe1NHSV9UWVBFX0xWT0wsCQlOXygiU0dJIGx2b2wiKX0sCisJe1NHSV9UWVBFX1JMVk9MLAlOXygiU0dJIHJsdm9sIil9LAorCXtTR0lfVFlQRV9YRlMsCQlOXygiU0dJIHhmcyIpfSwKKwl7U0dJX1RZUEVfWEZTTE9HLAlOXygiU0dJIHhmc2xvZyIpfSwKKwl7U0dJX1RZUEVfWExWLAkJTl8oIlNHSSB4bHYiKX0sCisJe1NHSV9UWVBFX1hWTSwJCU5fKCJTR0kgeHZtIil9LAorCXtNQlJfTElOVVhfU1dBUF9QQVJUSVRJT04sIE5fKCJMaW51eCBzd2FwIil9LAorCXtNQlJfTElOVVhfREFUQV9QQVJUSVRJT04sIE5fKCJMaW51eCBuYXRpdmUiKX0sCisJe01CUl9MSU5VWF9MVk1fUEFSVElUSU9OLCBOXygiTGludXggTFZNIil9LAorCXtNQlJfTElOVVhfUkFJRF9QQVJUSVRJT04sIE5fKCJMaW51eCBSQUlEIil9LAorCXswLCBOVUxMIH0KK307CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgc2dpX2dldF9zdGFydF9zZWN0b3Ioc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IGkgKTsKK3N0YXRpYyB1bnNpZ25lZCBpbnQgc2dpX2dldF9udW1fc2VjdG9ycyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBpbnQgaSApOworc3RhdGljIGludCBzZ2lfZ2V0X2Jvb3RwYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCk7CitzdGF0aWMgaW50IHNnaV9nZXRfc3dhcHBhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KTsKKworLyogUmV0dXJucyBhIHBvaW50ZXIgYnVmZmVyIHdpdGggb24tZGlzayBkYXRhLiAqLworc3RhdGljIGlubGluZSBzdHJ1Y3Qgc2dpX2Rpc2tsYWJlbCAqc2VsZl9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlyZXR1cm4gKChzdHJ1Y3QgZmRpc2tfc2dpX2xhYmVsICopIGN4dC0+bGFiZWwpLT5oZWFkZXI7Cit9CisKKy8qIFJldHVybnMgaW4tbWVtb3J5IGZkaXNrIGRhdGEuICovCitzdGF0aWMgaW5saW5lIHN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKnNlbGZfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlyZXR1cm4gKHN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKikgY3h0LT5sYWJlbDsKK30KKworLyoKKyAqIEluZm9ybWF0aW9uIHdpdGhpbiBzZWNvbmQgb24tZGlzayBibG9jaworICovCisjZGVmaW5lCVNHSV9JTkZPX01BR0lDCQkweDAwMDcyOTU5CisKK3N0cnVjdCBzZ2lfaW5mbyB7CisJdW5zaWduZWQgaW50ICAgbWFnaWM7CQkvKiBsb29rcyBsaWtlIGEgbWFnaWMgbnVtYmVyICovCisJdW5zaWduZWQgaW50ICAgYTI7CisJdW5zaWduZWQgaW50ICAgYTM7CisJdW5zaWduZWQgaW50ICAgYTQ7CisJdW5zaWduZWQgaW50ICAgYjE7CisJdW5zaWduZWQgc2hvcnQgYjI7CisJdW5zaWduZWQgc2hvcnQgYjM7CisJdW5zaWduZWQgaW50ICAgY1sxNl07CisJdW5zaWduZWQgc2hvcnQgZFszXTsKKwl1bnNpZ25lZCBjaGFyICBzY3NpX3N0cmluZ1s1MF07CisJdW5zaWduZWQgY2hhciAgc2VyaWFsWzEzN107CisJdW5zaWduZWQgc2hvcnQgY2hlY2sxODE2OworCXVuc2lnbmVkIGNoYXIgIGluc3RhbGxlclsyMjVdOworfTsKKworc3RhdGljIHN0cnVjdCBzZ2lfaW5mbyAqc2dpX25ld19pbmZvKHZvaWQpCit7CisJc3RydWN0IHNnaV9pbmZvICppbmZvID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgc2dpX2luZm8pKTsKKworCWlmICghaW5mbykKKwkJcmV0dXJuIE5VTEw7CisKKwlpbmZvLT5tYWdpYyA9IGNwdV90b19iZTMyKFNHSV9JTkZPX01BR0lDKTsKKwlpbmZvLT5iMSA9IGNwdV90b19iZTMyKC0xKTsKKwlpbmZvLT5iMiA9IGNwdV90b19iZTE2KC0xKTsKKwlpbmZvLT5iMyA9IGNwdV90b19iZTE2KDEpOworCisJLyogWW91IG1heSB3YW50IHRvIHJlcGxhY2UgdGhpcyBzdHJpbmcgISEhISEhISAqLworCXN0cmNweSgoY2hhciAqKSBpbmZvLT5zY3NpX3N0cmluZywgIklCTSBPRU0gMDY2MlMxMiAgICAgICAgIDMgMzAiKTsKKwlzdHJjcHkoKGNoYXIgKikgaW5mby0+c2VyaWFsLCAiMDAwMCIpOworCWluZm8tPmNoZWNrMTgxNiA9IGNwdV90b19iZTE2KDE4ICogMjU2ICsgMTYpOworCXN0cmNweSgoY2hhciAqKSBpbmZvLT5pbnN0YWxsZXIsICJTZnggdmVyc2lvbiA1LjMsIE9jdCAxOCwgMTk5NCIpOworCisJcmV0dXJuIGluZm87Cit9CisKK3N0YXRpYyB2b2lkIHNnaV9mcmVlX2luZm8oc3RydWN0IHNnaV9pbmZvICppbmZvKQoreworCWZyZWUoaW5mbyk7Cit9CisKKy8qKgorICogZmRpc2tfc2dpX2NyZWF0ZV9pbmZvOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWRkIGhpbnQgYWJvdXQgU0dJIGxhYmVsIChlLmcuIHNldCAic2dpbGFiZWwiIGFzIHZvbHVtZSBuYW1lKQorICogdG8gdGhlIGZpcnN0IFNHSSB2b2x1bWUuIFRoaXMgaXMgcHJvYmFibHkgb2xkIFNHSSBjb252ZW50aW9uIHdpdGhvdXQgYW55CisgKiBlZmZlY3QgdG8gdGhlIGRldmljZSBwYXJ0aXRpb25pbmcuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfc2dpX2NyZWF0ZV9pbmZvKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCS8qIEkga2VlcCBTR0kncyBoYWJpdCB0byB3cml0ZSB0aGUgc2dpbGFiZWwgdG8gdGhlIHNlY29uZCBibG9jayAqLworCXNnaWxhYmVsLT52b2x1bWVbMF0uYmxvY2tfbnVtID0gY3B1X3RvX2JlMzIoMik7CisJc2dpbGFiZWwtPnZvbHVtZVswXS5udW1fYnl0ZXMgPSBjcHVfdG9fYmUzMihzaXplb2Yoc3RydWN0IHNnaV9pbmZvKSk7CisJbWVtY3B5KChjaGFyICopIHNnaWxhYmVsLT52b2x1bWVbMF0ubmFtZSwgInNnaWxhYmVsIiwgOCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIpKTsKKwlyZXR1cm4gMDsKK30KKworCisvKgorICogb25seSBkZWFsaW5nIHdpdGggZnJlZSBibG9ja3MgaGVyZQorICovCitzdGF0aWMgdm9pZCBzZXRfZnJlZWxpc3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGksIHVuc2lnbmVkIGludCBmLCB1bnNpZ25lZCBpbnQgbCkKK3sKKwlzdHJ1Y3QgZmRpc2tfc2dpX2xhYmVsICpzZ2kgPSBzZWxmX2xhYmVsKGN4dCk7CisKKwlpZiAoaSA8IEFSUkFZX1NJWkUoc2dpLT5mcmVlbGlzdCkpIHsKKwkJc2dpLT5mcmVlbGlzdFtpXS5maXJzdCA9IGY7CisJCXNnaS0+ZnJlZWxpc3RbaV0ubGFzdCA9IGw7CisJfQorfQorCitzdGF0aWMgdm9pZCBhZGRfdG9fZnJlZWxpc3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJdW5zaWduZWQgaW50IGYsIHVuc2lnbmVkIGludCBsKQoreworCXN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKnNnaSA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNnaS0+ZnJlZWxpc3QpOyBpKyspIHsKKwkJaWYgKHNnaS0+ZnJlZWxpc3RbaV0ubGFzdCA9PSAwKQorCQkJYnJlYWs7CisJfQorCXNldF9mcmVlbGlzdChjeHQsIGksIGYsIGwpOworfQorCitzdGF0aWMgdm9pZCBjbGVhcl9mcmVlbGlzdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKnNnaSA9IHNlbGZfbGFiZWwoY3h0KTsKKworCW1lbXNldChzZ2ktPmZyZWVsaXN0LCAwLCBzaXplb2Yoc2dpLT5mcmVlbGlzdCkpOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IGlzX2luX2ZyZWVsaXN0KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHVuc2lnbmVkIGludCBiKQoreworCXN0cnVjdCBmZGlza19zZ2lfbGFiZWwgKnNnaSA9IHNlbGZfbGFiZWwoY3h0KTsKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHNnaS0+ZnJlZWxpc3QpOyBpKyspIHsKKwkJaWYgKHNnaS0+ZnJlZWxpc3RbaV0uZmlyc3QgPD0gYgorCQkgICAgJiYgc2dpLT5mcmVlbGlzdFtpXS5sYXN0ID49IGIpCisJCQlyZXR1cm4gc2dpLT5mcmVlbGlzdFtpXS5sYXN0OworCX0KKworCXJldHVybiAwOworfQorCisKK3N0YXRpYyBpbnQgc2dpX2dldF9uc2VjdChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMTZfdG9fY3B1KHNnaWxhYmVsLT5kZXZwYXJhbS5uc2VjdCk7Cit9CisKK3N0YXRpYyBpbnQgc2dpX2dldF9udHJrcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMTZfdG9fY3B1KHNnaWxhYmVsLT5kZXZwYXJhbS5udHJrcyk7Cit9CisKK3N0YXRpYyBzaXplX3QgY291bnRfdXNlZF9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc2l6ZV90IGksIGN0ID0gMDsKKworCWZvciAoaSA9IDA7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspCisJCWN0ICs9IHNnaV9nZXRfbnVtX3NlY3RvcnMoY3h0LCBpKSA+IDA7CisKKwlyZXR1cm4gY3Q7Cit9CisKK3N0YXRpYyBpbnQgc2dpX3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqc2dpOworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKwlhc3NlcnQoc2l6ZW9mKHN0cnVjdCBzZ2lfZGlza2xhYmVsKSA8PSA1MTIpOworCisJLyogbWFwIGZpcnN0IHNlY3RvciB0byBoZWFkZXIgKi8KKwlzZ2kgPSAoc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqKSBjeHQtPmxhYmVsOworCXNnaS0+aGVhZGVyID0gKHN0cnVjdCBzZ2lfZGlza2xhYmVsICopIGN4dC0+Zmlyc3RzZWN0b3I7CisJc2dpbGFiZWwgPSBzZ2ktPmhlYWRlcjsKKworCWlmIChiZTMyX3RvX2NwdShzZ2lsYWJlbC0+bWFnaWMpICE9IFNHSV9MQUJFTF9NQUdJQykgeworCQlzZ2ktPmhlYWRlciA9IE5VTEw7CisJCXJldHVybiAwOworCX0KKworCS8qCisJICogdGVzdCBmb3IgY29ycmVjdCBjaGVja3N1bQorCSAqLworCWlmIChzZ2lfcHRfY2hlY2tzdW0oc2dpbGFiZWwpICE9IDApCisJCWZkaXNrX3dhcm54KGN4dCwgXygiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIpKTsKKworCWNsZWFyX2ZyZWVsaXN0KGN4dCk7CisJY3h0LT5sYWJlbC0+bnBhcnRzX21heCA9IFNHSV9NQVhQQVJUSVRJT05TOworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSBjb3VudF91c2VkX3BhcnRpdGlvbnMoY3h0KTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBzZ2lfZ2V0X2Rpc2tsYWJlbF9pdGVtKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza19sYWJlbGl0ZW0gKml0ZW0pCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsOworCXN0cnVjdCBzZ2lfZGV2aWNlX3BhcmFtZXRlciAqc2dpcGFyYW07CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCXNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlzZ2lwYXJhbSA9ICZzZ2lsYWJlbC0+ZGV2cGFyYW07CisKKwlzd2l0Y2ggKGl0ZW0tPmlkKSB7CisJY2FzZSBTR0lfTEFCRUxJVEVNX1BDWUxDT1VOVDoKKwkJaXRlbS0+bmFtZSA9IF8oIlBoeXNpY2FsIGN5bGluZGVycyIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gKHVpbnQ2NF90KSBiZTE2X3RvX2NwdShzZ2lwYXJhbS0+cGN5bGNvdW50KTsKKwkJYnJlYWs7CisJY2FzZSBTR0lfTEFCRUxJVEVNX1NQQVJFQ1lMOgorCQlpdGVtLT5uYW1lID0gXygiRXh0cmEgc2VjdHMvY3lsIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSAodWludDY0X3QpIHNnaXBhcmFtLT5zcGFyZWN5bDsKKwkJYnJlYWs7CisJY2FzZSBTR0lfTEFCRUxJVEVNX0lMRkFDVDoKKwkJaXRlbS0+bmFtZSA9IF8oIkludGVybGVhdmUiKTsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJaXRlbS0+ZGF0YS5udW02NCA9ICh1aW50NjRfdCkgYmUxNl90b19jcHUoc2dpcGFyYW0tPmlsZmFjdCk7CisJCWJyZWFrOworCWNhc2UgU0dJX0xBQkVMSVRFTV9CT09URklMRToKKwkJaXRlbS0+bmFtZSA9IF8oIkJvb3RmaWxlIik7CisJCWl0ZW0tPnR5cGUgPSAncyc7CisJCWl0ZW0tPmRhdGEuc3RyID0gKnNnaWxhYmVsLT5ib290X2ZpbGUgPyBzdHJkdXAoKGNoYXIgKikgc2dpbGFiZWwtPmJvb3RfZmlsZSkgOiBOVUxMOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlpZiAoaXRlbS0+aWQgPCBfX0ZESVNLX05MQUJFTElURU1TKQorCQkJcmMgPSAxOwkvKiB1bnN1cHBvcnRlZCBnZW5lcmljIGl0ZW0gKi8KKwkJZWxzZQorCQkJcmMgPSAyOwkvKiBvdXQgb2YgcmFuZ2UgKi8KKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdW5zaWduZWQgaW50IHNnaV9nZXRfc3RhcnRfc2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpKQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMzJfdG9fY3B1KHNnaWxhYmVsLT5wYXJ0aXRpb25zW2ldLmZpcnN0X2Jsb2NrKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBzZ2lfZ2V0X251bV9zZWN0b3JzKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCBpKQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMzJfdG9fY3B1KHNnaWxhYmVsLT5wYXJ0aXRpb25zW2ldLm51bV9ibG9ja3MpOworfQorCitzdGF0aWMgaW50IHNnaV9nZXRfc3lzaWQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgaW50IGkpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlyZXR1cm4gYmUzMl90b19jcHUoc2dpbGFiZWwtPnBhcnRpdGlvbnNbaV0udHlwZSk7Cit9CisKK3N0YXRpYyBpbnQgc2dpX2dldF9ib290cGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlyZXR1cm4gYmUxNl90b19jcHUoc2dpbGFiZWwtPnJvb3RfcGFydF9udW0pOworfQorCitzdGF0aWMgaW50IHNnaV9nZXRfc3dhcHBhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIGJlMTZfdG9fY3B1KHNnaWxhYmVsLT5zd2FwX3BhcnRfbnVtKTsKK30KKworc3RhdGljIHVuc2lnbmVkIGludCBzZ2lfZ2V0X2xhc3RibG9jayhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9ycyAqIGN4dC0+Z2VvbS5jeWxpbmRlcnM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnNnaV9nZXRfcGFydHR5cGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IG4pCit7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0OworCisJaWYgKG4gPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIE5VTEw7CisKKwl0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZShjeHQtPmxhYmVsLCBzZ2lfZ2V0X3N5c2lkKGN4dCwgbikpOworCXJldHVybiB0ID8gOiBmZGlza19uZXdfdW5rbm93bl9wYXJ0dHlwZShzZ2lfZ2V0X3N5c2lkKGN4dCwgbiksIE5VTEwpOworfQorCisvKiBmZGlza19nZXRfcGFydGl0aW9uKCkgYmFja2VuZCAqLworc3RhdGljIGludCBzZ2lfZ2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3Qgbiwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJZmRpc2tfc2VjdG9yX3Qgc3RhcnQsIGxlbjsKKworCXBhLT51c2VkID0gc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIG4pID4gMDsKKwlpZiAoIXBhLT51c2VkKQorCQlyZXR1cm4gMDsKKworCXN0YXJ0ID0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBuKTsKKwlsZW4gPSBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgbik7CisKKwlwYS0+dHlwZSA9IHNnaV9nZXRfcGFydHR5cGUoY3h0LCBuKTsKKwlwYS0+c2l6ZSA9IGxlbjsKKwlwYS0+c3RhcnQgPSBzdGFydDsKKworCWlmIChwYS0+dHlwZSAmJiBwYS0+dHlwZS0+Y29kZSA9PSBTR0lfVFlQRV9FTlRJUkVfRElTSykKKwkJcGEtPndob2xlZGlzayA9IDE7CisKKwlwYS0+YXR0cnMgPSBzZ2lfZ2V0X3N3YXBwYXJ0aXRpb24oY3h0KSA9PSAoaW50KSBuID8gInN3YXAiIDoKKwkJICAgIHNnaV9nZXRfYm9vdHBhcnRpdGlvbihjeHQpID09IChpbnQpIG4gPyAiYm9vdCIgOiBOVUxMOworCWlmIChwYS0+YXR0cnMpCisJCXBhLT5hdHRycyA9IHN0cmR1cChwYS0+YXR0cnMpOworCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBzZ2lfY2hlY2tfYm9vdGZpbGUoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzaXplX3Qgc3o7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCXN6ID0gc3RybGVuKG5hbWUpOworCisJaWYgKHN6IDwgMykgeworCQkvKiAiL2FcbiIgaXMgbWluaW11bSAqLworCQlmZGlza193YXJueChjeHQsIF8oIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCAiCisJCQkJICAgImJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCAiCisJCQkJICAgImUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl9IGVsc2UgaWYgKHN6ID4gc2l6ZW9mKHNnaWxhYmVsLT5ib290X2ZpbGUpKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgUF8oIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIiwKKwkJCQkgICAgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIsCisJCQkJICAgIHNpemVvZihzZ2lsYWJlbC0+Ym9vdF9maWxlKSksCisJCQkgICAgc2l6ZW9mKHNnaWxhYmVsLT5ib290X2ZpbGUpKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl9IGVsc2UgaWYgKCpuYW1lICE9ICcvJykgeworCQlmZGlza193YXJueChjeHQsIF8oIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCWlmIChzdHJuY21wKG5hbWUsIChjaGFyICopIHNnaWxhYmVsLT5ib290X2ZpbGUsCisJCQkJc2l6ZW9mKHNnaWxhYmVsLT5ib290X2ZpbGUpKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkICIKKwkJCQkgICAiZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCAiCisJCQkJICAgImFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIpKTsKKwkJcmV0dXJuIDA7CS8qIGZpbGVuYW1lIGlzIGNvcnJlY3QgYW5kIGRpZCBjaGFuZ2UgKi8KKwl9CisKKwlyZXR1cm4gMTsJLyogZmlsZW5hbWUgZGlkIG5vdCBjaGFuZ2UgKi8KK30KKworLyoqCisgKiBmZGlza19zZ2lfc2V0X2Jvb3RmaWxlOgorICogQGN4dDogY29udGV4dAorICoKKyAqIEFsbG93cyB0byBzZXQgU0dJIGJvb3QgZmlsZS4gVGhlIGZ1bmN0aW9uIHVzZXMgQXNrIEFQSSBmb3IgZGlhbG9nIHdpdGgKKyAqIHVzZXIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgZmRpc2tfc2dpX3NldF9ib290ZmlsZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IDA7CisJc2l6ZV90IHN6OworCWNoYXIgKm5hbWUgPSBOVUxMOworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIpLCBzZ2lsYWJlbC0+Ym9vdF9maWxlKTsKKworCXJjID0gZmRpc2tfYXNrX3N0cmluZyhjeHQsIF8oIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIiksICZuYW1lKTsKKwlpZiAocmMgPT0gMCkKKwkJcmMgPSBzZ2lfY2hlY2tfYm9vdGZpbGUoY3h0LCBuYW1lKTsKKwlpZiAocmMpIHsKKwkJaWYgKHJjID09IDEpCisJCQlmZGlza19pbmZvKGN4dCwgXygiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwltZW1zZXQoc2dpbGFiZWwtPmJvb3RfZmlsZSwgMCwgc2l6ZW9mKHNnaWxhYmVsLT5ib290X2ZpbGUpKTsKKwlzeiA9IHN0cmxlbihuYW1lKTsKKworCWFzc2VydChzeiA8PSBzaXplb2Yoc2dpbGFiZWwtPmJvb3RfZmlsZSkpOwkvKiBzZWUgc2dpX2NoZWNrX2Jvb3RmaWxlKCkgKi8KKworCW1lbWNweShzZ2lsYWJlbC0+Ym9vdF9maWxlLCBuYW1lLCBzeik7CisKKwlmZGlza19pbmZvKGN4dCwgXygiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIiksIG5hbWUpOworZG9uZToKKwlmcmVlKG5hbWUpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzZ2lfd3JpdGVfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsOworCXN0cnVjdCBzZ2lfaW5mbyAqaW5mbyA9IE5VTEw7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc2dpbGFiZWwtPmNzdW0gPSAwOworCXNnaWxhYmVsLT5jc3VtID0gY3B1X3RvX2JlMzIoc2dpX3B0X2NoZWNrc3VtKHNnaWxhYmVsKSk7CisKKwlhc3NlcnQoc2dpX3B0X2NoZWNrc3VtKHNnaWxhYmVsKSA9PSAwKTsKKworCWlmIChsc2VlayhjeHQtPmRldl9mZCwgMCwgU0VFS19TRVQpIDwgMCkKKwkJZ290byBlcnI7CisJaWYgKHdyaXRlX2FsbChjeHQtPmRldl9mZCwgc2dpbGFiZWwsIERFRkFVTFRfU0VDVE9SX1NJWkUpKQorCQlnb3RvIGVycjsKKwlpZiAoIXN0cm5jbXAoKGNoYXIgKikgc2dpbGFiZWwtPnZvbHVtZVswXS5uYW1lLCAic2dpbGFiZWwiLCA4KSkgeworCQkvKgorCQkgKiBLZWVwIHRoaXMgaGFiaXQgb2YgZmlyc3Qgd3JpdGluZyB0aGUgInNnaWxhYmVsIi4KKwkJICogSSBuZXZlciB0ZXN0ZWQgd2hldGhlciBpdCB3b3JrcyB3aXRob3V0LiAoQU4gMTk5OC0xMC0wMikKKwkJICovCisJCWludCBpbmZvc3RhcnRibG9jaworCQkJPSBiZTMyX3RvX2NwdShzZ2lsYWJlbC0+dm9sdW1lWzBdLmJsb2NrX251bSk7CisKKwkJaWYgKGxzZWVrKGN4dC0+ZGV2X2ZkLCAob2ZmX3QpIGluZm9zdGFydGJsb2NrICoKKwkJCQkJREVGQVVMVF9TRUNUT1JfU0laRSwgU0VFS19TRVQpIDwgMCkKKwkJCWdvdG8gZXJyOworCQlpbmZvID0gc2dpX25ld19pbmZvKCk7CisJCWlmICghaW5mbykKKwkJCWdvdG8gZXJyOworCQlpZiAod3JpdGVfYWxsKGN4dC0+ZGV2X2ZkLCBpbmZvLCBzaXplb2YoKmluZm8pKSkKKwkJCWdvdG8gZXJyOworCX0KKworCXNnaV9mcmVlX2luZm8oaW5mbyk7CisJcmV0dXJuIDA7CitlcnI6CisJc2dpX2ZyZWVfaW5mbyhpbmZvKTsKKwlyZXR1cm4gLWVycm5vOworfQorCitzdGF0aWMgaW50IGNvbXBhcmVfc3RhcnQoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCSBjb25zdCB2b2lkICp4LCBjb25zdCB2b2lkICp5KQoreworCS8qCisJICogU29ydCBhY2NvcmRpbmcgdG8gc3RhcnQgc2VjdG9ycyBhbmQgcHJlZmVyIHRoZSBsYXJnZXN0IHBhcnRpdGlvbjoKKwkgKiBlbnRyeSB6ZXJvIGlzIHRoZSBlbnRpcmUtZGlzayBlbnRyeS4KKwkgKi8KKwl1bnNpZ25lZCBpbnQgaSA9ICooaW50ICopIHg7CisJdW5zaWduZWQgaW50IGogPSAqKGludCAqKSB5OworCXVuc2lnbmVkIGludCBhID0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBpKTsKKwl1bnNpZ25lZCBpbnQgYiA9IHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgaik7CisJdW5zaWduZWQgaW50IGMgPSBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgaSk7CisJdW5zaWduZWQgaW50IGQgPSBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgaik7CisKKwlpZiAoYSA9PSBiKQorCQlyZXR1cm4gKGQgPiBjKSA/IDEgOiAoZCA9PSBjKSA/IDAgOiAtMTsKKwlyZXR1cm4gKGEgPiBiKSA/IDEgOiAtMTsKK30KKworc3RhdGljIHZvaWQgZ2VuZXJpY19zd2FwKHZvaWQgKmEwLCB2b2lkICpiMCwgaW50IHNpemUpCit7CisJY2hhciAqYSA9IGEwLCAqYiA9IGIwOworCisJZm9yICg7IHNpemUgPiAwOyAtLXNpemUsIGErKywgYisrKSB7CisJCWNoYXIgdCA9ICphOworCQkqYSA9ICpiOworCQkqYiA9IHQ7CisJfQorfQorCisKKy8qIGhlYXAgc29ydCwgYmFzZWQgb24gTWF0dCBNYWNrYWxsJ3MgbGludXgga2VybmVsIHZlcnNpb24gKi8KK3N0YXRpYyB2b2lkIHNvcnQodm9pZCAqYmFzZTAsIHNpemVfdCBudW0sIHNpemVfdCBzaXplLCBzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkgaW50ICgqY21wX2Z1bmMpKHN0cnVjdCBmZGlza19jb250ZXh0ICosIGNvbnN0IHZvaWQgKiwgY29uc3Qgdm9pZCAqKSkKK3sKKwkvKiBwcmUtc2NhbGUgY291bnRlcnMgZm9yIHBlcmZvcm1hbmNlICovCisJaW50IGkgPSAobnVtLzIgLSAxKSAqIHNpemU7CisJc2l6ZV90IG4gPSBudW0gKiBzaXplLCBjLCByOworCWNoYXIgKmJhc2UgPSBiYXNlMDsKKworCS8qIGhlYXBpZnkgKi8KKwlmb3IgKCA7IGkgPj0gMDsgaSAtPSBzaXplKSB7CisJCWZvciAociA9IGk7IHIgKiAyICsgc2l6ZSA8IG47IHIgID0gYykgeworCQkJYyA9IHIgKiAyICsgc2l6ZTsKKwkJCWlmIChjIDwgbiAtIHNpemUgJiYKKwkJCSAgICBjbXBfZnVuYyhjeHQsIGJhc2UgKyBjLCBiYXNlICsgYyArIHNpemUpIDwgMCkKKwkJCQljICs9IHNpemU7CisJCQlpZiAoY21wX2Z1bmMoY3h0LCBiYXNlICsgciwgYmFzZSArIGMpID49IDApCisJCQkJYnJlYWs7CisJCQlnZW5lcmljX3N3YXAoYmFzZSArIHIsIGJhc2UgKyBjLCBzaXplKTsKKwkJfQorCX0KKworCS8qIHNvcnQgKi8KKwlmb3IgKGkgPSBuIC0gc2l6ZTsgaSA+IDA7IGkgLT0gc2l6ZSkgeworCQlnZW5lcmljX3N3YXAoYmFzZSwgYmFzZSArIGksIHNpemUpOworCQlmb3IgKHIgPSAwOyByICogMiArIHNpemUgPCAoc2l6ZV90KSBpOyByID0gYykgeworCQkJYyA9IHIgKiAyICsgc2l6ZTsKKwkJCWlmIChjIDwgaSAtIHNpemUgJiYKKwkJCSAgICBjbXBfZnVuYyhjeHQsIGJhc2UgKyBjLCBiYXNlICsgYyArIHNpemUpIDwgMCkKKwkJCQljICs9IHNpemU7CisJCQlpZiAoY21wX2Z1bmMoY3h0LCBiYXNlICsgciwgYmFzZSArIGMpID49IDApCisJCQkJYnJlYWs7CisJCQlnZW5lcmljX3N3YXAoYmFzZSArIHIsIGJhc2UgKyBjLCBzaXplKTsKKwkJfQorCX0KK30KKworc3RhdGljIGludCB2ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIGludCB2ZXJib3NlKQoreworCWludCBJbmRleFtTR0lfTUFYUEFSVElUSU9OU107CS8qIGxpc3Qgb2YgdmFsaWQgcGFydGl0aW9ucyAqLworCWludCBzb3J0Y291bnQgPSAwOwkJLyogbnVtYmVyIG9mIHVzZWQgcGFydGl0aW9ucywgaS5lLiBub24temVybyBsZW5ndGhzICovCisJaW50IGVudGlyZSA9IDAsIGkgPSAwOworCXVuc2lnbmVkIGludCBzdGFydCA9IDA7CisJbG9uZyBsb25nIGdhcCA9IDA7CS8qIGNvdW50IHVudXNlZCBibG9ja3MgKi8KKwl1bnNpZ25lZCBpbnQgbGFzdGJsb2NrID0gc2dpX2dldF9sYXN0YmxvY2soY3h0KTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCWNsZWFyX2ZyZWVsaXN0KGN4dCk7CisJbWVtc2V0KEluZGV4LCAwLCBzaXplb2YoSW5kZXgpKTsKKworCWZvciAoaT0wOyBpIDwgU0dJX01BWFBBUlRJVElPTlM7IGkrKykgeworCQlpZiAoc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIGkpICE9IDApIHsKKwkJCUluZGV4W3NvcnRjb3VudCsrXSA9IGk7CisJCQlpZiAoc2dpX2dldF9zeXNpZChjeHQsIGkpID09IFNHSV9UWVBFX0VOVElSRV9ESVNLCisJCQkgICAgJiYgZW50aXJlKysgPT0gMSAmJiB2ZXJib3NlKSB7CisJCQkJZmRpc2tfaW5mbyhjeHQsIF8oIk1vcmUgdGhhbiBvbmUgZW50aXJlICIKKwkJCQkJCSJkaXNrIGVudHJ5IHByZXNlbnQuIikpOworCQkJfQorCQl9CisJfQorCWlmIChzb3J0Y291bnQgPT0gMCkgeworCQlpZiAodmVyYm9zZSkKKwkJCWZkaXNrX2luZm8oY3h0LCBfKCJObyBwYXJ0aXRpb25zIGRlZmluZWQuIikpOworCQlpZiAobGFzdGJsb2NrKQorCQkJYWRkX3RvX2ZyZWVsaXN0KGN4dCwgMCwgbGFzdGJsb2NrKTsKKwkJcmV0dXJuIChsYXN0YmxvY2sgPiAwKSA/IDEgOiAobGFzdGJsb2NrID09IDApID8gMCA6IC0xOworCX0KKworCXNvcnQoSW5kZXgsIHNvcnRjb3VudCwgc2l6ZW9mKEluZGV4WzBdKSwgY3h0LCBjb21wYXJlX3N0YXJ0KTsKKworCWlmIChzZ2lfZ2V0X3N5c2lkKGN4dCwgSW5kZXhbMF0pID09IFNHSV9UWVBFX0VOVElSRV9ESVNLKSB7CisJCWlmICh2ZXJib3NlICYmIEluZGV4WzBdICE9IDEwKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgIgorCQkJCQkgICJjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIpKTsKKworCQlpZiAodmVyYm9zZSAmJiBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIEluZGV4WzBdKSAhPSAwKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkICIKKwkJCQkJICAic3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIpLAorCQkJCSAgIHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgSW5kZXhbMF0pKTsKKworCQlpZiAodmVyYm9zZSAmJiBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgSW5kZXhbMF0pICE9IGxhc3RibG9jaykKKwkJCURCRyhMQUJFTCwgdWxfZGVidWcoCisJCQkJImVudGlyZSBkaXNrIHBhcnRpdGlvbj0lZHMsIGJ1dCBkaXNrPSVkcyIsCisJCQkJc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIEluZGV4WzBdKSwKKwkJCQlsYXN0YmxvY2spKTsKKwkJbGFzdGJsb2NrID0gc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIEluZGV4WzBdKTsKKwl9IGVsc2UgaWYgKHZlcmJvc2UpIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIpKTsKKwkJREJHKExBQkVMLCB1bF9kZWJ1Zygic3lzaWQ9JWRcdHBhcnRpdGlvbj0lZCIsCisJCQkgICAgICAgc2dpX2dldF9zeXNpZChjeHQsIEluZGV4WzBdKSwgSW5kZXhbMF0rMSkpOworCX0KKwlmb3IgKGk9MSwgc3RhcnQ9MDsgaTxzb3J0Y291bnQ7IGkrKykgeworCQlpbnQgY3lsc2l6ZSA9IHNnaV9nZXRfbnNlY3QoY3h0KSAqIHNnaV9nZXRfbnRya3MoY3h0KTsKKworCQlpZiAodmVyYm9zZSAmJiBjeWxzaXplCisJCSAgICAmJiAoc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkgJSBjeWxzaXplKSAhPSAwKQorCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygicGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uICIKKwkJCQkJImN5bGluZGVyIGJvdW5kYXJ5LiIsIEluZGV4W2ldKzEpKTsKKworCQlpZiAodmVyYm9zZSAmJiBjeWxzaXplCisJCSAgICAmJiBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgSW5kZXhbaV0pICUgY3lsc2l6ZSAhPSAwKQorCQkJREJHKExBQkVMLCB1bF9kZWJ1ZygicGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiAiCisJCQkJCSJjeWxpbmRlciBib3VuZGFyeS4iLCBJbmRleFtpXSsxKSk7CisKKwkJLyogV2UgY2Fubm90IGhhbmRsZSBzZXZlcmFsICJlbnRpcmUgZGlzayIgZW50cmllcy4gKi8KKwkJaWYgKHNnaV9nZXRfc3lzaWQoY3h0LCBJbmRleFtpXSkgPT0gU0dJX1RZUEVfRU5USVJFX0RJU0spCisJCQljb250aW51ZTsKKworCQlpZiAoc3RhcnQgPiBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIEluZGV4W2ldKSkgeworCQkJaWYgKHZlcmJvc2UpCisJCQkJZmRpc2tfaW5mbyhjeHQsCisJCQkJCSAgIFBfKCJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iLAorCQkJCQkgICAgICAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIsCisJCQkJCSAgICAgIHN0YXJ0IC0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkpLAorCQkJCQkgICBJbmRleFtpLTFdKzEsIEluZGV4W2ldKzEsCisJCQkJCSAgIHN0YXJ0IC0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkpOworCQkJaWYgKGdhcCA+ICAwKSBnYXAgPSAtZ2FwOworCQkJaWYgKGdhcCA9PSAwKSBnYXAgPSAtMTsKKwkJfQorCQlpZiAoc3RhcnQgPCBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIEluZGV4W2ldKSkgeworCQkJaWYgKHZlcmJvc2UpCisJCQkJZmRpc2tfaW5mbyhjeHQsCisJCQkJCSAgIFBfKCJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiLAorCQkJCQkgICAgICAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiLAorCQkJCQkgICAgICBzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIEluZGV4W2ldKSAtIHN0YXJ0KSwKKwkJCQkJICAgc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkgLSBzdGFydCwKKwkJCQkJICAgc3RhcnQsIHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgSW5kZXhbaV0pLTEpOworCQkJZ2FwICs9IHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgSW5kZXhbaV0pIC0gc3RhcnQ7CisJCQlhZGRfdG9fZnJlZWxpc3QoY3h0LCBzdGFydCwKKwkJCQkJc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkpOworCQl9CisJCXN0YXJ0ID0gc2dpX2dldF9zdGFydF9zZWN0b3IoY3h0LCBJbmRleFtpXSkKKwkJCSsgc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIEluZGV4W2ldKTsKKwkJLyogQWxpZ24gZnJlZSBzcGFjZSBvbiBjeWxpbmRlciBib3VuZGFyeS4gKi8KKwkJaWYgKGN5bHNpemUgJiYgc3RhcnQgJSBjeWxzaXplKQorCQkJc3RhcnQgKz0gY3lsc2l6ZSAtIChzdGFydCAlIGN5bHNpemUpOworCisJCURCRyhMQUJFTCwgdWxfZGVidWcoIiUyZDolMTJkXHQlMTJkXHQlMTJkIiwgSW5kZXhbaV0sCisJCQkJICAgICAgIHNnaV9nZXRfc3RhcnRfc2VjdG9yKGN4dCwgSW5kZXhbaV0pLAorCQkJCSAgICAgICBzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgSW5kZXhbaV0pLAorCQkJCSAgICAgICBzZ2lfZ2V0X3N5c2lkKGN4dCwgSW5kZXhbaV0pKSk7CisJfQorCWlmIChzdGFydCA8IGxhc3RibG9jaykgeworCQlpZiAodmVyYm9zZSkKKwkJCWZkaXNrX2luZm8oY3h0LCBQXygiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IiwKKwkJCQkJICAgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IiwKKwkJCQkJICAgbGFzdGJsb2NrIC0gc3RhcnQpLAorCQkJCSAgIGxhc3RibG9jayAtIHN0YXJ0LCBzdGFydCwgbGFzdGJsb2NrLTEpOworCQlnYXAgKz0gbGFzdGJsb2NrIC0gc3RhcnQ7CisJCWFkZF90b19mcmVlbGlzdChjeHQsIHN0YXJ0LCBsYXN0YmxvY2spOworCX0KKwkvKgorCSAqIERvbmUgd2l0aCBhcml0aG1ldGljcy4gR28gZm9yIGRldGFpbHMgbm93LgorCSAqLworCWlmICh2ZXJib3NlKSB7CisJCWlmIChzZ2lfZ2V0X2Jvb3RwYXJ0aXRpb24oY3h0KSA8IDAKKwkJICAgIHx8ICFzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgc2dpX2dldF9ib290cGFydGl0aW9uKGN4dCkpKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iKSk7CisKKwkJaWYgKHNnaV9nZXRfc3dhcHBhcnRpdGlvbihjeHQpIDwgMAorCQkgICAgfHwgIXNnaV9nZXRfbnVtX3NlY3RvcnMoY3h0LCBzZ2lfZ2V0X3N3YXBwYXJ0aXRpb24oY3h0KSkpCisJCQlmZGlza19pbmZvKGN4dCwgXygiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIpKTsKKworCQllbHNlIGlmIChzZ2lfZ2V0X3N5c2lkKGN4dCwgc2dpX2dldF9zd2FwcGFydGl0aW9uKGN4dCkpICE9IFNHSV9UWVBFX1NXQVAKKwkJICAgICYmIHNnaV9nZXRfc3lzaWQoY3h0LCBzZ2lfZ2V0X3N3YXBwYXJ0aXRpb24oY3h0KSkgIT0gTUJSX0xJTlVYX1NXQVBfUEFSVElUSU9OKQorCQkJZmRpc2tfaW5mbyhjeHQsIF8oIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIpKTsKKworCQlpZiAoc2dpX2NoZWNrX2Jvb3RmaWxlKGN4dCwgIi91bml4IikpCisJCQlmZGlza19pbmZvKGN4dCwgXygiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iKSk7CisJfQorCisJcmV0dXJuIChnYXAgPiAwKSA/IDEgOiAoZ2FwID09IDApID8gMCA6IC0xOworfQorCitzdGF0aWMgaW50IHNnaV92ZXJpZnlfZGlza2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIHZlcmlmeV9kaXNrbGFiZWwoY3h0LCAxKTsKK30KKworc3RhdGljIGludCBzZ2lfZ2FwcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCS8qCisJICogcmV0dXJuZWQgdmFsdWUgaXM6CisJICogID0gMCA6IGRpc2sgaXMgcHJvcGVybHkgZmlsbGVkIHRvIHRoZSByaW0KKwkgKiAgPCAwIDogdGhlcmUgaXMgYW4gb3ZlcmxhcAorCSAqICA+IDAgOiB0aGVyZSBpcyBzdGlsbCBzb21lIHZhY2FudCBzcGFjZQorCSAqLworCXJldHVybiB2ZXJpZnlfZGlza2xhYmVsKGN4dCwgMCk7Cit9CisKKy8qIFJldHVybnMgcGFydGl0aW9uIGluZGV4IG9mIGZpcnN0IGVudHJ5IG1hcmtlZCBhcyBlbnRpcmUgZGlzay4gKi8KK3N0YXRpYyBpbnQgc2dpX2VudGlyZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IFNHSV9NQVhQQVJUSVRJT05TOyBpKyspCisJCWlmIChzZ2lfZ2V0X3N5c2lkKGN4dCwgaSkgPT0gU0dJX1RZUEVfRU5USVJFX0RJU0spCisJCQlyZXR1cm4gaTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgaSwKKwkJCSAgICAgdW5zaWduZWQgaW50IHN0YXJ0LCB1bnNpZ25lZCBpbnQgbGVuZ3RoLCBpbnQgc3lzKQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCXNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS50eXBlID0gY3B1X3RvX2JlMzIoc3lzKTsKKwlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS5udW1fYmxvY2tzID0gY3B1X3RvX2JlMzIobGVuZ3RoKTsKKwlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS5maXJzdF9ibG9jayA9IGNwdV90b19iZTMyKHN0YXJ0KTsKKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCisJaWYgKHNnaV9nYXBzKGN4dCkgPCAwKQkvKiByZWJ1aWxkIGZyZWVsaXN0ICovCisJCWZkaXNrX3dhcm54KGN4dCwgXygiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIikpOworCWlmIChsZW5ndGgpIHsKKwkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0KKwkJCQlmZGlza19sYWJlbF9nZXRfcGFydHR5cGVfZnJvbV9jb2RlKGN4dC0+bGFiZWwsIHN5cyk7CisJCWZkaXNrX2luZm9fbmV3X3BhcnRpdGlvbihjeHQsIGkgKyAxLCBzdGFydCwgc3RhcnQgKyBsZW5ndGgsIHQpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBzZ2lfc2V0X2VudGlyZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXNpemVfdCBuOworCisJZm9yIChuID0gMTA7IG4gPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBuKyspIHsKKwkJaWYgKCFzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgbikpIHsKKwkJCXNldF9wYXJ0aXRpb24oY3h0LCBuLCAwLCBzZ2lfZ2V0X2xhc3RibG9jayhjeHQpLCBTR0lfVFlQRV9FTlRJUkVfRElTSyk7CisJCQlicmVhazsKKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgc2dpX3NldF92b2xoZHIoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzaXplX3QgbjsKKworCWZvciAobiA9IDg7IG4gPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBuKyspIHsKKwkJaWYgKCFzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgbikpIHsKKwkJCS8qIENob29zZSBzYW1lIGRlZmF1bHQgdm9sdW1lIGhlYWRlciBzaXplIGFzIElSSVggZnggdXNlcy4gKi8KKwkJCWlmICg0MDk2IDwgc2dpX2dldF9sYXN0YmxvY2soY3h0KSkKKwkJCQlzZXRfcGFydGl0aW9uKGN4dCwgbiwgMCwgNDA5NiwgU0dJX1RZUEVfVk9MSERSKTsKKwkJCWJyZWFrOworCQl9CisJfQorfQorCitzdGF0aWMgaW50IHNnaV9kZWxldGVfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBwYXJ0bnVtKQoreworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKworCWlmIChwYXJ0bnVtID4gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IHNldF9wYXJ0aXRpb24oY3h0LCBwYXJ0bnVtLCAwLCAwLCAwKTsKKworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSBjb3VudF91c2VkX3BhcnRpdGlvbnMoY3h0KTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBzZ2lfYWRkX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJICAgICBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwKKwkJCSAgICAgc2l6ZV90ICpwYXJ0bm8pCit7CisJc3RydWN0IGZkaXNrX3NnaV9sYWJlbCAqc2dpOworCWNoYXIgbWVzZ1syNTZdOworCXVuc2lnbmVkIGludCBmaXJzdCA9IDAsIGxhc3QgPSAwOworCXN0cnVjdCBmZGlza19hc2sgKmFzazsKKwlpbnQgc3lzID0gcGEgJiYgcGEtPnR5cGUgPyBwYS0+dHlwZS0+Y29kZSA6IFNHSV9UWVBFX1hGUzsKKwlpbnQgcmM7CisJc2l6ZV90IG47CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlyYyA9IGZkaXNrX3BhcnRpdGlvbl9uZXh0X3BhcnRubyhwYSwgY3h0LCAmbik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJaWYgKG4gPT0gMTApCisJCXN5cyA9IFNHSV9UWVBFX0VOVElSRV9ESVNLOworCWVsc2UgaWYgKG4gPT0gOCkKKwkJc3lzID0gMDsKKworCXNnaSA9IHNlbGZfbGFiZWwoY3h0KTsKKworCWlmIChzZ2lfZ2V0X251bV9zZWN0b3JzKGN4dCwgbikpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gICIKKwkJCQkgICAiRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIiksIG4gKyAxKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCWlmICghY3h0LT5zY3JpcHQgJiYgc2dpX2VudGlyZShjeHQpID09IC0xICYmICBzeXMgIT0gU0dJX1RZUEVfRU5USVJFX0RJU0spIHsKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iKSk7CisJCXNnaV9zZXRfZW50aXJlKGN4dCk7CisJCXNnaV9zZXRfdm9saGRyKGN4dCk7CisJfQorCWlmIChzZ2lfZ2FwcyhjeHQpID09IDAgJiYgc3lzICE9IFNHSV9UWVBFX0VOVElSRV9ESVNLKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIikpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJaWYgKHNnaV9nYXBzKGN4dCkgPCAwKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIikpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlpZiAoc3lzID09IFNHSV9UWVBFX0VOVElSRV9ESVNLKSB7CisJCWZpcnN0ID0gMDsKKwkJbGFzdCA9IHNnaV9nZXRfbGFzdGJsb2NrKGN4dCk7CisJfSBlbHNlIHsKKwkJZmlyc3QgPSBzZ2ktPmZyZWVsaXN0WzBdLmZpcnN0OworCQlsYXN0ICA9IHNnaS0+ZnJlZWxpc3RbMF0ubGFzdDsKKwl9CisKKwkvKiBmaXJzdCBzZWN0b3IgKi8KKwlpZiAocGEgJiYgcGEtPnN0YXJ0X2ZvbGxvd19kZWZhdWx0KQorCQk7CisJZWxzZSBpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpIHsKKwkJZmlyc3QgPSBwYS0+c3RhcnQ7CisJCWxhc3QgPSBpc19pbl9mcmVlbGlzdChjeHQsIGZpcnN0KTsKKworCQlpZiAoc3lzICE9IFNHSV9UWVBFX0VOVElSRV9ESVNLICYmICFsYXN0KQorCQkJcmV0dXJuIC1FUkFOR0U7CisJfSBlbHNlIHsKKwkJc25wcmludGYobWVzZywgc2l6ZW9mKG1lc2cpLCBfKCJGaXJzdCAlcyIpLAorCQkJCWZkaXNrX2dldF91bml0KGN4dCwgRkRJU0tfU0lOR1VMQVIpKTsKKwkJYXNrID0gZmRpc2tfbmV3X2FzaygpOworCQlpZiAoIWFzaykKKwkJCXJldHVybiAtRU5PTUVNOworCisJCWZkaXNrX2Fza19zZXRfcXVlcnkoYXNrLCBtZXNnKTsKKwkJZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9OVU1CRVIpOworCisJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssICAgICBmZGlza19zY3JvdW5kKGN4dCwgZmlyc3QpKTsJLyogbWluaW1hbCAqLworCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZmRpc2tfc2Nyb3VuZChjeHQsIGZpcnN0KSk7CS8qIGRlZmF1bHQgKi8KKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBsYXN0KSAtIDEpOyAvKiBtYXhpbWFsICovCisKKwkJcmMgPSBmZGlza19kb19hc2soY3h0LCBhc2spOworCQlmaXJzdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQlmaXJzdCAqPSBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpOworCX0KKworCWlmIChmaXJzdCAmJiBzeXMgPT0gU0dJX1RZUEVfRU5USVJFX0RJU0spCisJCWZkaXNrX2luZm8oY3h0LCBfKCJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgIgorCQkJCSAgImVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSAiCisJCQkJICAiZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIikpOworCWlmICghbGFzdCkKKwkJbGFzdCA9IGlzX2luX2ZyZWVsaXN0KGN4dCwgZmlyc3QpOworCisJLyogbGFzdCBzZWN0b3IgKi8KKwlpZiAocGEgJiYgcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCkKKwkJbGFzdCAtPSAxVUxMOworCWVsc2UgaWYgKHBhICYmIGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpIHsKKwkJaWYgKGZpcnN0ICsgcGEtPnNpemUgLSAxVUxMID4gbGFzdCkKKwkJCXJldHVybiAtRVJBTkdFOworCQlsYXN0ID0gZmlyc3QgKyBwYS0+c2l6ZSAtIDFVTEw7CisJfSBlbHNlIHsKKwkJc25wcmludGYobWVzZywgc2l6ZW9mKG1lc2cpLAorCQkJIF8oIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iKSwKKwkJCSBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1NJTkdVTEFSKSwKKwkJCSBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1BMVVJBTCkpOworCisJCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwkJaWYgKCFhc2spCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywgbWVzZyk7CisJCWZkaXNrX2Fza19zZXRfdHlwZShhc2ssIEZESVNLX0FTS1RZUEVfT0ZGU0VUKTsKKworCQlmZGlza19hc2tfbnVtYmVyX3NldF9sb3coYXNrLCAgICAgZmRpc2tfc2Nyb3VuZChjeHQsIGZpcnN0KSk7CS8qIG1pbmltYWwgKi8KKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIGZkaXNrX3Njcm91bmQoY3h0LCBsYXN0KSAtIDEpOy8qIGRlZmF1bHQgKi8KKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBsYXN0KSAtIDEpOy8qIG1heGltYWwgKi8KKwkJZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBmaXJzdCkpOworCisJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF91bml0KGFzaywKKwkJCQkgICAgIGN4dC0+c2VjdG9yX3NpemUgKgorCQkJCSAgICAgZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IoY3h0KSk7CisJCWVsc2UKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLGN4dC0+c2VjdG9yX3NpemUpOworCisJCXJjID0gZmRpc2tfZG9fYXNrKGN4dCwgYXNrKTsKKwkJbGFzdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spICsgMTsKKworCQlmZGlza191bnJlZl9hc2soYXNrKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQlpZiAoZmRpc2tfdXNlX2N5bGluZGVycyhjeHQpKQorCQkJbGFzdCAqPSBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpOworCX0KKworCWlmIChzeXMgPT0gU0dJX1RZUEVfRU5USVJFX0RJU0sKKwkgICAgJiYgKGZpcnN0ICE9IDAgfHwgbGFzdCAhPSBzZ2lfZ2V0X2xhc3RibG9jayhjeHQpKSkKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSAiCisJCQkJICAiZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlICIKKwkJCQkgICJkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iKSk7CisKKwlzZXRfcGFydGl0aW9uKGN4dCwgbiwgZmlyc3QsIGxhc3QgLSBmaXJzdCwgc3lzKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisJaWYgKHBhcnRubykKKwkJKnBhcnRubyA9IG47CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpX2NyZWF0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgZmRpc2tfc2dpX2xhYmVsICpzZ2k7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTR0kpKTsKKworCWlmIChjeHQtPmdlb20uaGVhZHMgJiYgY3h0LT5nZW9tLnNlY3RvcnMpIHsKKwkJZmRpc2tfc2VjdG9yX3QgbGxzZWN0b3JzOworCisJCWlmIChibGtkZXZfZ2V0X3NlY3RvcnMoY3h0LT5kZXZfZmQsICh1bnNpZ25lZCBsb25nIGxvbmcgKikgJmxsc2VjdG9ycykgPT0gMCkgeworCQkJLyogdGhlIGdldCBkZXZpY2Ugc2l6ZSBpb2N0bCB3YXMgc3VjY2Vzc2Z1bCAqLworCQkJZmRpc2tfc2VjdG9yX3QgbGxjeWxzOworCQkJaW50IHNlY19mYWMgPSBjeHQtPnNlY3Rvcl9zaXplIC8gNTEyOworCisJCQlsbGN5bHMgPSBsbHNlY3RvcnMgLyAoY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMgKiBzZWNfZmFjKTsKKwkJCWN4dC0+Z2VvbS5jeWxpbmRlcnMgPSBsbGN5bHM7CisJCQlpZiAoY3h0LT5nZW9tLmN5bGluZGVycyAhPSBsbGN5bHMpCS8qIHRydW5jYXRlZD8gKi8KKwkJCQljeHQtPmdlb20uY3lsaW5kZXJzID0gfjA7CisJCX0gZWxzZSB7CisJCQkvKiBvdGhlcndpc2UgcHJpbnQgZXJyb3IgYW5kIHVzZSB0cnVuY2F0ZWQgdmVyc2lvbiAqLworCQkJZmRpc2tfd2FybngoY3h0LAorCQkJCV8oIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAiCisJCQkJICAiVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gIgorCQkJCSAgIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyAiCisJCQkJICAiPiAzMy44IEdCLiIpLCBjeHQtPmRldl9wYXRoLCBjeHQtPmdlb20uY3lsaW5kZXJzKTsKKwkJfQorCX0KKworCXJjID0gZmRpc2tfaW5pdF9maXJzdHNlY3Rvcl9idWZmZXIoY3h0LCAwLCAwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXNnaSA9IChzdHJ1Y3QgZmRpc2tfc2dpX2xhYmVsICopIGN4dC0+bGFiZWw7CisJc2dpLT5oZWFkZXIgPSAoc3RydWN0IHNnaV9kaXNrbGFiZWwgKikgY3h0LT5maXJzdHNlY3RvcjsKKworCXNnaWxhYmVsID0gc2dpLT5oZWFkZXI7CisKKwlzZ2lsYWJlbC0+bWFnaWMgPSBjcHVfdG9fYmUzMihTR0lfTEFCRUxfTUFHSUMpOworCXNnaWxhYmVsLT5yb290X3BhcnRfbnVtID0gY3B1X3RvX2JlMTYoMCk7CisJc2dpbGFiZWwtPnN3YXBfcGFydF9udW0gPSBjcHVfdG9fYmUxNigxKTsKKworCS8qIHNpemVvZihzZ2lsYWJlbC0+Ym9vdF9maWxlKSA9IDE2ID4gNiAqLworCW1lbXNldChzZ2lsYWJlbC0+Ym9vdF9maWxlLCAwLCAxNik7CisJc3RyY3B5KChjaGFyICopIHNnaWxhYmVsLT5ib290X2ZpbGUsICIvdW5peCIpOworCisJc2dpbGFiZWwtPmRldnBhcmFtLnNrZXcJCQk9ICgwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0uZ2FwMQkJCT0gKDApOworCXNnaWxhYmVsLT5kZXZwYXJhbS5nYXAyCQkJPSAoMCk7CisJc2dpbGFiZWwtPmRldnBhcmFtLnNwYXJlY3lsCQkJPSAoMCk7CisJc2dpbGFiZWwtPmRldnBhcmFtLnBjeWxjb3VudAk9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5jeWxpbmRlcnMpOworCXNnaWxhYmVsLT5kZXZwYXJhbS5oZWFkX3ZvbDAJPSBjcHVfdG9fYmUxNigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ubnRya3MJPSBjcHVfdG9fYmUxNihjeHQtPmdlb20uaGVhZHMpOworCS8qIHRyYWNrcy9jeWxpbmRlciAoaGVhZHMpICovCisJc2dpbGFiZWwtPmRldnBhcmFtLmNtZF90YWdfcXVldWVfZGVwdGgJPSAoMCk7CisJc2dpbGFiZWwtPmRldnBhcmFtLnVudXNlZDAJCQk9ICgwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0udW51c2VkMQk9IGNwdV90b19iZTE2KDApOworCXNnaWxhYmVsLT5kZXZwYXJhbS5uc2VjdAk9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5zZWN0b3JzKTsKKwkvKiBzZWN0b3JzL3RyYWNrICovCisJc2dpbGFiZWwtPmRldnBhcmFtLmJ5dGVzCT0gY3B1X3RvX2JlMTYoY3h0LT5zZWN0b3Jfc2l6ZSk7CisJc2dpbGFiZWwtPmRldnBhcmFtLmlsZmFjdAk9IGNwdV90b19iZTE2KDEpOworCXNnaWxhYmVsLT5kZXZwYXJhbS5mbGFncwk9IGNwdV90b19iZTMyKAorCQkJU0dJX0RFVlBBUkFNX1RSQUNLX0ZXRAorCQkJfCBTR0lfREVWUEFSQU1fSUdOT1JFX0VSUk9SUworCQkJfCBTR0lfREVWUEFSQU1fUkVTRUVLKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0uZGF0YXJhdGUJPSBjcHVfdG9fYmUzMigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ucmV0cmllc19vbl9lcnJvcgk9IGNwdV90b19iZTMyKDEpOworCXNnaWxhYmVsLT5kZXZwYXJhbS5tc19wZXJfd29yZAkJPSBjcHVfdG9fYmUzMigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ueHlsb2dpY3NfZ2FwMQk9IGNwdV90b19iZTE2KDApOworCXNnaWxhYmVsLT5kZXZwYXJhbS54eWxvZ2ljc19zeW5jZGVsYXkJPSBjcHVfdG9fYmUxNigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ueHlsb2dpY3NfcmVhZGRlbGF5CT0gY3B1X3RvX2JlMTYoMCk7CisJc2dpbGFiZWwtPmRldnBhcmFtLnh5bG9naWNzX2dhcDIJPSBjcHVfdG9fYmUxNigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ueHlsb2dpY3NfcmVhZGdhdGUJPSBjcHVfdG9fYmUxNigwKTsKKwlzZ2lsYWJlbC0+ZGV2cGFyYW0ueHlsb2dpY3Nfd3JpdGVjb250CT0gY3B1X3RvX2JlMTYoMCk7CisKKwltZW1zZXQoJihzZ2lsYWJlbC0+dm9sdW1lKSwgMCwKKwkJCXNpemVvZihzdHJ1Y3Qgc2dpX3ZvbHVtZSkgKiBTR0lfTUFYVk9MVU1FUyk7CisJbWVtc2V0KCYoc2dpbGFiZWwtPnBhcnRpdGlvbnMpLCAwLAorCQkJc2l6ZW9mKHN0cnVjdCBzZ2lfcGFydGl0aW9uKSAqIFNHSV9NQVhQQVJUSVRJT05TKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfbWF4ID0gU0dJX01BWFBBUlRJVElPTlM7CisKKwkvKiBkb24ndCBjcmVhdGUgZGVmYXVsdCBsYXlvdXQgd2hlbiBhIHNjcmlwdCBkZWZpbmVkICovCisJaWYgKCFjeHQtPnNjcmlwdCkgeworCQlzZ2lfc2V0X2VudGlyZShjeHQpOworCQlzZ2lfc2V0X3ZvbGhkcihjeHQpOworCX0KKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisKKwlmZGlza19pbmZvKGN4dCwgXygiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZ2lfc2V0X3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQlzaXplX3QgaSwKKwkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IHNnaV9kaXNrbGFiZWwgKnNnaWxhYmVsOworCisJaWYgKGkgPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzZ2lsYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlpZiAocGEtPnR5cGUpIHsKKwkJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0gcGEtPnR5cGU7CisKKwkJaWYgKHNnaV9nZXRfbnVtX3NlY3RvcnMoY3h0LCBpKSA9PSAwKQkvKiBjYXVnaHQgYWxyZWFkeSBiZWZvcmUsIC4uLiAqLyB7CisJCQlmZGlza193YXJueChjeHQsIF8oIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIpKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJaWYgKChpID09IDEwICYmIHQtPmNvZGUgIT0gU0dJX1RZUEVfRU5USVJFX0RJU0spCisJCSAgICB8fCAoaSA9PSA4ICYmIHQtPmNvZGUgIT0gMCkpCisJCQlmZGlza19pbmZvKGN4dCwgXygiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgIgorCQkJCQkgICJhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCAiCisJCQkJCSAgImFzIElSSVggZXhwZWN0cyBpdC4iKSk7CisKKwkJaWYgKGN4dC0+c2NyaXB0ID09IE5VTEwKKwkJICAgICYmICgodC0+Y29kZSAhPSBTR0lfVFlQRV9FTlRJUkVfRElTSykgJiYgKHQtPmNvZGUgIT0gU0dJX1RZUEVfVk9MSERSKSkKKwkJICAgICYmIChzZ2lfZ2V0X3N0YXJ0X3NlY3RvcihjeHQsIGkpIDwgMSkpIHsKKwkJCWludCB5ZXMgPSAwOworCQkJZmRpc2tfYXNrX3llc25vKGN4dCwKKwkJCQlfKCJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwICIKKwkJCQkgICJpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvICIKKwkJCQkgICJyZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiAiCisJCQkJICAiT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiAiCisJCQkJICAiQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IiksICZ5ZXMpOworCQkJaWYgKCF5ZXMpCisJCQkJcmV0dXJuIDE7CisJCX0KKworCQlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS50eXBlID0gY3B1X3RvX2JlMzIodC0+Y29kZSk7CisJfQorCisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc3RhcnQocGEpKQorCQlzZ2lsYWJlbC0+cGFydGl0aW9uc1tpXS5maXJzdF9ibG9jayA9IGNwdV90b19iZTMyKHBhLT5zdGFydCk7CisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCXNnaWxhYmVsLT5wYXJ0aXRpb25zW2ldLm51bV9ibG9ja3MgPSBjcHVfdG9fYmUzMihwYS0+c2l6ZSk7CisKKwlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHNnaV9wYXJ0aXRpb25faXNfdXNlZCgKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGkpCit7CisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlpZiAoaSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gc2dpX2dldF9udW1fc2VjdG9ycyhjeHQsIGkpID8gMSA6IDA7Cit9CisKK3N0YXRpYyBpbnQgc2dpX3RvZ2dsZV9wYXJ0aXRpb25fZmxhZyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LCBzaXplX3QgaSwgdW5zaWduZWQgbG9uZyBmbGFnKQoreworCXN0cnVjdCBzZ2lfZGlza2xhYmVsICpzZ2lsYWJlbDsKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU0dJKSk7CisKKwlpZiAoaSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXNnaWxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCXN3aXRjaCAoZmxhZykgeworCWNhc2UgU0dJX0ZMQUdfQk9PVDoKKwkJc2dpbGFiZWwtPnJvb3RfcGFydF9udW0gPQorCQkJYmUxNl90b19jcHUoc2dpbGFiZWwtPnJvb3RfcGFydF9udW0pID09IGkgPworCQkJMCA6IGNwdV90b19iZTE2KGkpOworCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwkJYnJlYWs7CisJY2FzZSBTR0lfRkxBR19TV0FQOgorCQlzZ2lsYWJlbC0+c3dhcF9wYXJ0X251bSA9CisJCQliZTE2X3RvX2NwdShzZ2lsYWJlbC0+c3dhcF9wYXJ0X251bSkgPT0gaSA/CisJCQkwIDogY3B1X3RvX2JlMTYoaSk7CisJCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBmZGlza19maWVsZCBzZ2lfZmllbGRzW10gPQoreworCXsgRkRJU0tfRklFTERfREVWSUNFLAlOXygiRGV2aWNlIiksCSAxMCwJMCB9LAorCXsgRkRJU0tfRklFTERfU1RBUlQsCU5fKCJTdGFydCIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9FTkQsCU5fKCJFbmQiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfU0VDVE9SUywJTl8oIlNlY3RvcnMiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfQ1lMSU5ERVJTLE5fKCJDeWxpbmRlcnMiKSwgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIH0sCisJeyBGRElTS19GSUVMRF9TSVpFLAlOXygiU2l6ZSIpLAkgIDUsCUZESVNLX0ZJRUxERkxfTlVNQkVSIHwgRkRJU0tfRklFTERGTF9FWUVDQU5EWSB9LAorCXsgRkRJU0tfRklFTERfVFlQRUlELAlOXygiSWQiKSwJICAyLAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfVFlQRSwJTl8oIlR5cGUiKSwJMC4xLAlGRElTS19GSUVMREZMX0VZRUNBTkRZIH0sCisJeyBGRElTS19GSUVMRF9BVFRSLAlOXygiQXR0cnMiKSwJICAwLAlGRElTS19GSUVMREZMX05VTUJFUiB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsX29wZXJhdGlvbnMgc2dpX29wZXJhdGlvbnMgPQoreworCS5wcm9iZQkJPSBzZ2lfcHJvYmVfbGFiZWwsCisJLndyaXRlCQk9IHNnaV93cml0ZV9kaXNrbGFiZWwsCisJLnZlcmlmeQkJPSBzZ2lfdmVyaWZ5X2Rpc2tsYWJlbCwKKwkuZ2V0X2l0ZW0JPSBzZ2lfZ2V0X2Rpc2tsYWJlbF9pdGVtLAorCS5jcmVhdGUJCT0gc2dpX2NyZWF0ZV9kaXNrbGFiZWwsCisKKwkuZ2V0X3BhcnQJPSBzZ2lfZ2V0X3BhcnRpdGlvbiwKKwkuc2V0X3BhcnQJPSBzZ2lfc2V0X3BhcnRpdGlvbiwKKwkuYWRkX3BhcnQJPSBzZ2lfYWRkX3BhcnRpdGlvbiwKKwkuZGVsX3BhcnQJPSBzZ2lfZGVsZXRlX3BhcnRpdGlvbiwKKworCS5wYXJ0X2lzX3VzZWQJPSBzZ2lfcGFydGl0aW9uX2lzX3VzZWQsCisJLnBhcnRfdG9nZ2xlX2ZsYWcgPSBzZ2lfdG9nZ2xlX3BhcnRpdGlvbl9mbGFnCit9OworCisvKiBBbGxvY2F0ZXMgYW4gU0dJIGxhYmVsIGRyaXZlci4gKi8KK3N0cnVjdCBmZGlza19sYWJlbCAqZmRpc2tfbmV3X3NnaV9sYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0IF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IGZkaXNrX2xhYmVsICpsYjsKKwlzdHJ1Y3QgZmRpc2tfc2dpX2xhYmVsICpzZ2k7CisKKwlzZ2kgPSBjYWxsb2MoMSwgc2l6ZW9mKCpzZ2kpKTsKKwlpZiAoIXNnaSkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBpbml0aWFsaXplIGdlbmVyaWMgcGFydCBvZiB0aGUgZHJpdmVyICovCisJbGIgPSAoc3RydWN0IGZkaXNrX2xhYmVsICopIHNnaTsKKwlsYi0+bmFtZSA9ICJzZ2kiOworCWxiLT5pZCA9IEZESVNLX0RJU0tMQUJFTF9TR0k7CisJbGItPm9wID0gJnNnaV9vcGVyYXRpb25zOworCWxiLT5wYXJ0dHlwZXMgPSBzZ2lfcGFydHR5cGVzOworCWxiLT5ucGFydHR5cGVzID0gQVJSQVlfU0laRShzZ2lfcGFydHR5cGVzKSAtIDE7CisJbGItPmZpZWxkcyA9IHNnaV9maWVsZHM7CisJbGItPm5maWVsZHMgPSBBUlJBWV9TSVpFKHNnaV9maWVsZHMpOworCisJbGItPmZsYWdzIHw9IEZESVNLX0xBQkVMX0ZMX1JFUVVJUkVfR0VPTUVUUlk7CisKKwlyZXR1cm4gbGI7Cit9CmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvc3VuLmMgYi9saWJmZGlzay9zcmMvc3VuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzBlNmI3ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy9zdW4uYwpAQCAtMCwwICsxLDExODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogQmFzZWQgb24gb3JpZ2luYWwgY29kZSBmcm9tIGZkaXNrOgorICogICBKYWt1YiBKZWxpbmVrIChqakBzdW5zaXRlLm1mZi5jdW5pLmN6KSwgSnVseSAxOTk2CisgKiAgIE1lcmdlZCB3aXRoIGZkaXNrIGZvciBvdGhlciBhcmNoaXRlY3R1cmVzLCBhZWIsIEp1bmUgMTk5OC4KKyAqICAgQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQGNvbmVjdGl2YS5jb20uYnI+IE1hciAxOTk5LCBJbnRlcm5hdGlvbmFsaXphdGlvbgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4JCS8qIHN0ZGVyciAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgkJLyogcXNvcnQgKi8KKyNpbmNsdWRlIDxzdHJpbmcuaD4JCS8qIHN0cnN0ciAqLworI2luY2x1ZGUgPHVuaXN0ZC5oPgkJLyogd3JpdGUgKi8KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4JCS8qIGlvY3RsICovCisKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIKKworI2luY2x1ZGUgImZkaXNrUC5oIgorI2luY2x1ZGUgInB0LXN1bi5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorCisKKy8qKgorICogU0VDVElPTjogc3VuCisgKiBAdGl0bGU6IFNVTgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBkaXNrIGxhYmVsIHNwZWNpZmljIGZ1bmN0aW9ucworICoKKyAqLworCisvKgorICogaW4tbWVtb3J5IGZkaXNrIFNVTiBzdHVmZgorICovCitzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsIHsKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwJaGVhZDsJCS8qIGdlbmVyaWMgcGFydCAqLworCXN0cnVjdCBzdW5fZGlza2xhYmVsICAgKmhlYWRlcjsJCS8qIG9uLWRpc2sgZGF0YSAocG9pbnRlciB0byBjeHQtPmZpcnN0c2VjdG9yKSAqLworfTsKKworc3RhdGljIHN0cnVjdCBmZGlza19wYXJ0dHlwZSBzdW5fcGFydHR5cGVzW10gPSB7CisJe1NVTl9UQUdfVU5BU1NJR05FRCwgTl8oIlVuYXNzaWduZWQiKX0sCisJe1NVTl9UQUdfQk9PVCwgTl8oIkJvb3QiKX0sCisJe1NVTl9UQUdfUk9PVCwgTl8oIlN1bk9TIHJvb3QiKX0sCisJe1NVTl9UQUdfU1dBUCwgTl8oIlN1bk9TIHN3YXAiKX0sCisJe1NVTl9UQUdfVVNSLCBOXygiU3VuT1MgdXNyIil9LAorCXtTVU5fVEFHX1dIT0xFRElTSywgTl8oIldob2xlIGRpc2siKX0sCisJe1NVTl9UQUdfU1RBTkQsIE5fKCJTdW5PUyBzdGFuZCIpfSwKKwl7U1VOX1RBR19WQVIsIE5fKCJTdW5PUyB2YXIiKX0sCisJe1NVTl9UQUdfSE9NRSwgTl8oIlN1bk9TIGhvbWUiKX0sCisJe1NVTl9UQUdfQUxUU0NUUiwgTl8oIlN1bk9TIGFsdCBzZWN0b3JzIil9LAorCXtTVU5fVEFHX0NBQ0hFLCBOXygiU3VuT1MgY2FjaGVmcyIpfSwKKwl7U1VOX1RBR19SRVNFUlZFRCwgTl8oIlN1bk9TIHJlc2VydmVkIil9LAorCXtTVU5fVEFHX0xJTlVYX1NXQVAsIE5fKCJMaW51eCBzd2FwIil9LAorCXtTVU5fVEFHX0xJTlVYX05BVElWRSwgTl8oIkxpbnV4IG5hdGl2ZSIpfSwKKwl7U1VOX1RBR19MSU5VWF9MVk0sIE5fKCJMaW51eCBMVk0iKX0sCisJe1NVTl9UQUdfTElOVVhfUkFJRCwgTl8oIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIpfSwKKwl7IDAsIE5VTEwgfQorfTsKKworLyogcmV0dXJuIHBvaW50ZXIgYnVmZmVyIHdpdGggb24tZGlzayBkYXRhICovCitzdGF0aWMgaW5saW5lIHN0cnVjdCBzdW5fZGlza2xhYmVsICpzZWxmX2Rpc2tsYWJlbChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCXJldHVybiAoKHN0cnVjdCBmZGlza19zdW5fbGFiZWwgKikgY3h0LT5sYWJlbCktPmhlYWRlcjsKK30KKworLyogcmV0dXJuIGluLW1lbW9yeSBzdW4gZmRpc2sgZGF0YSAqLworc3RhdGljIGlubGluZSBzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsICpzZWxmX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisJcmV0dXJuIChzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsICopIGN4dC0+bGFiZWw7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGksCisJCXVpbnQzMl90IHN0YXJ0LHVpbnQzMl90IHN0b3AsIHVpbnQxNl90IHN5c2lkKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0ID0KKwkJCWZkaXNrX2xhYmVsX2dldF9wYXJ0dHlwZV9mcm9tX2NvZGUoY3h0LT5sYWJlbCwgc3lzaWQpOworCisJc3VubGFiZWwtPnZ0b2MuaW5mb3NbaV0uaWQgPSBjcHVfdG9fYmUxNihzeXNpZCk7CisJc3VubGFiZWwtPnZ0b2MuaW5mb3NbaV0uZmxhZ3MgPSBjcHVfdG9fYmUxNigwKTsKKwlzdW5sYWJlbC0+cGFydGl0aW9uc1tpXS5zdGFydF9jeWxpbmRlciA9CisJCWNwdV90b19iZTMyKHN0YXJ0IC8gKGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzKSk7CisJc3VubGFiZWwtPnBhcnRpdGlvbnNbaV0ubnVtX3NlY3RvcnMgPSBjcHVfdG9fYmUzMihzdG9wIC0gc3RhcnQpOworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCisJZmRpc2tfaW5mb19uZXdfcGFydGl0aW9uKGN4dCwgaSArIDEsIHN0YXJ0LCBzdG9wLCB0KTsKK30KKworc3RhdGljIHNpemVfdCBjb3VudF91c2VkX3BhcnRpdGlvbnMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXNpemVfdCBjdCA9IDAsIGk7CisKKwlhc3NlcnQoc3VubGFiZWwpOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlpZiAoc3VubGFiZWwtPnBhcnRpdGlvbnNbaV0ubnVtX3NlY3RvcnMpCisJCQljdCsrOworCX0KKwlyZXR1cm4gY3Q7Cit9CisKK3N0YXRpYyBpbnQgc3VuX3Byb2JlX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGZkaXNrX3N1bl9sYWJlbCAqc3VuOworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbDsKKwlpbnQgbmVlZF9maXhpbmcgPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisJLyogbWFwIGZpcnN0IHNlY3RvciB0byBoZWFkZXIgKi8KKwlzdW4gPSBzZWxmX2xhYmVsKGN4dCk7CisJc3VuLT5oZWFkZXIgPSAoc3RydWN0IHN1bl9kaXNrbGFiZWwgKikgY3h0LT5maXJzdHNlY3RvcjsKKwlzdW5sYWJlbCA9IHN1bi0+aGVhZGVyOworCisJaWYgKGJlMTZfdG9fY3B1KHN1bmxhYmVsLT5tYWdpYykgIT0gU1VOX0xBQkVMX01BR0lDKSB7CisJCXN1bi0+aGVhZGVyID0gTlVMTDsKKwkJcmV0dXJuIDA7CQkvKiBmYWlsZWQgKi8KKwl9CisKKwlpZiAoc3VuX3B0X2NoZWNrc3VtKHN1bmxhYmVsKSkgeworCQlmZGlza193YXJueChjeHQsIF8oIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gIgorCQkJICAgICAgIlByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgIgorCQkJICAgICAgImUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyAiCisJCQkgICAgICAib3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiKSk7CisJCXJldHVybiAxOworCX0KKworCWN4dC0+bGFiZWwtPm5wYXJ0c19tYXggPSBTVU5fTUFYUEFSVElUSU9OUzsKKwljeHQtPmdlb20uaGVhZHMgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+bmhlYWQpOworCWN4dC0+Z2VvbS5jeWxpbmRlcnMgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+bmN5bCk7CisJY3h0LT5nZW9tLnNlY3RvcnMgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+bnNlY3QpOworCisJLyogd2UgaGF2ZSBvbiBsYWJlbCBnZW9tLCBidXQgdXNlciBoYXMgdG8gd2luICovCisJaWYgKGZkaXNrX2hhc191c2VyX2RldmljZV9nZW9tZXRyeShjeHQpKQorCQlmZGlza19hcHBseV91c2VyX2RldmljZV9wcm9wZXJ0aWVzKGN4dCk7CisKKwlpZiAoYmUzMl90b19jcHUoc3VubGFiZWwtPnZ0b2MudmVyc2lvbikgIT0gU1VOX1ZUT0NfVkVSU0lPTikgeworCQlmZGlza193YXJueChjeHQsIF8oIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIiksCisJCQliZTMyX3RvX2NwdShzdW5sYWJlbC0+dnRvYy52ZXJzaW9uKSk7CisJCW5lZWRfZml4aW5nID0gMTsKKwl9CisJaWYgKGJlMzJfdG9fY3B1KHN1bmxhYmVsLT52dG9jLnNhbml0eSkgIT0gU1VOX1ZUT0NfU0FOSVRZKSB7CisJCWZkaXNrX3dhcm54KGN4dCwgXygiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIpLAorCQkJYmUzMl90b19jcHUoc3VubGFiZWwtPnZ0b2Muc2FuaXR5KSk7CisJCW5lZWRfZml4aW5nID0gMTsKKwl9CisJaWYgKGJlMTZfdG9fY3B1KHN1bmxhYmVsLT52dG9jLm5wYXJ0cykgIT0gU1VOX01BWFBBUlRJVElPTlMpIHsKKwkJZmRpc2tfd2FybngoY3h0LCBfKCJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iKSwKKwkJCWJlMTZfdG9fY3B1KHN1bmxhYmVsLT52dG9jLm5wYXJ0cykpOworCQluZWVkX2ZpeGluZyA9IDE7CisJfQorCWlmIChuZWVkX2ZpeGluZykgeworCQlmZGlza193YXJueChjeHQsIF8oIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCAiCisJCQkgICAgICAgICAgICJ3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIikpOworCisJCXN1bmxhYmVsLT52dG9jLnZlcnNpb24gPSBjcHVfdG9fYmUzMihTVU5fVlRPQ19WRVJTSU9OKTsKKwkJc3VubGFiZWwtPnZ0b2Muc2FuaXR5ID0gY3B1X3RvX2JlMzIoU1VOX1ZUT0NfU0FOSVRZKTsKKwkJc3VubGFiZWwtPnZ0b2MubnBhcnRzID0gY3B1X3RvX2JlMTYoU1VOX01BWFBBUlRJVElPTlMpOworCQlzdW5sYWJlbC0+Y3N1bSA9IDA7CisJCXN1bmxhYmVsLT5jc3VtID0gc3VuX3B0X2NoZWNrc3VtKHN1bmxhYmVsKTsKKworCQlmZGlza19sYWJlbF9zZXRfY2hhbmdlZChjeHQtPmxhYmVsLCAxKTsKKwl9CisKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHZvaWQgYXNrX2dlb20oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwl1aW50bWF4X3QgcmVzOworCisJYXNzZXJ0KGN4dCk7CisKKwlpZiAoZmRpc2tfYXNrX251bWJlcihjeHQsIGN4dC0+bGFiZWwtPmdlb21fbWluLmhlYWRzLCAxLAorCQkJCSAgY3h0LT5sYWJlbC0+Z2VvbV9tYXguaGVhZHMsCisJCQkJICBfKCJIZWFkcyIpLCAmcmVzKSA9PSAwKQorCQljeHQtPmdlb20uaGVhZHMgPSByZXM7CisKKwlpZiAoZmRpc2tfYXNrX251bWJlcihjeHQsIGN4dC0+bGFiZWwtPmdlb21fbWluLnNlY3RvcnMsIDEsCisJCQkJICBjeHQtPmxhYmVsLT5nZW9tX21heC5zZWN0b3JzLAorCQkJCSAgXygiU2VjdG9ycy90cmFjayIpLCAmcmVzKSA9PSAwKQorCQljeHQtPmdlb20uc2VjdG9ycyA9IHJlczsKKworCWlmIChmZGlza19hc2tfbnVtYmVyKGN4dCwgY3h0LT5sYWJlbC0+Z2VvbV9taW4uY3lsaW5kZXJzLCAxLAorCQkJCSAgY3h0LT5sYWJlbC0+Z2VvbV9tYXguY3lsaW5kZXJzLAorCQkJCSAgXygiQ3lsaW5kZXJzIiksICZyZXMpID09IDApCisJCWN4dC0+Z2VvbS5jeWxpbmRlcnMgPSByZXM7Cit9CisKK3N0YXRpYyBpbnQgc3VuX2NyZWF0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwl1bnNpZ25lZCBpbnQgbmRpdjsKKwlzdHJ1Y3QgZmRpc2tfc3VuX2xhYmVsICpzdW47CQkvKiBsaWJmZGlzayBzdW4gaGFuZGxlciAqLworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbDsJLyogb24gZGlzayBkYXRhICovCisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCS8qIG1hcCBmaXJzdCBzZWN0b3IgdG8gaGVhZGVyICovCisJcmMgPSBmZGlza19pbml0X2ZpcnN0c2VjdG9yX2J1ZmZlcihjeHQsIDAsIDApOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJc3VuID0gc2VsZl9sYWJlbChjeHQpOworCXN1bi0+aGVhZGVyID0gKHN0cnVjdCBzdW5fZGlza2xhYmVsICopIGN4dC0+Zmlyc3RzZWN0b3I7CisKKwlzdW5sYWJlbCA9IHN1bi0+aGVhZGVyOworCisJY3h0LT5sYWJlbC0+bnBhcnRzX21heCA9IFNVTl9NQVhQQVJUSVRJT05TOworCisJc3VubGFiZWwtPm1hZ2ljID0gY3B1X3RvX2JlMTYoU1VOX0xBQkVMX01BR0lDKTsKKwlzdW5sYWJlbC0+dnRvYy52ZXJzaW9uID0gY3B1X3RvX2JlMzIoU1VOX1ZUT0NfVkVSU0lPTik7CisJc3VubGFiZWwtPnZ0b2Muc2FuaXR5ID0gY3B1X3RvX2JlMzIoU1VOX1ZUT0NfU0FOSVRZKTsKKwlzdW5sYWJlbC0+dnRvYy5ucGFydHMgPSBjcHVfdG9fYmUxNihTVU5fTUFYUEFSVElUSU9OUyk7CisKKwlpZiAoY3h0LT5nZW9tLmhlYWRzICYmIGN4dC0+Z2VvbS5zZWN0b3JzKSB7CisJCWZkaXNrX3NlY3Rvcl90IGxsc2VjdG9yczsKKworCQlpZiAoYmxrZGV2X2dldF9zZWN0b3JzKGN4dC0+ZGV2X2ZkLCAodW5zaWduZWQgbG9uZyBsb25nICopICZsbHNlY3RvcnMpID09IDApIHsKKwkJCWludCBzZWNfZmFjID0gY3h0LT5zZWN0b3Jfc2l6ZSAvIDUxMjsKKwkJCWZkaXNrX3NlY3Rvcl90IGxsY3lsczsKKworCQkJbGxjeWxzID0gbGxzZWN0b3JzIC8gKGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzICogc2VjX2ZhYyk7CisJCQljeHQtPmdlb20uY3lsaW5kZXJzID0gbGxjeWxzOworCQkJaWYgKGN4dC0+Z2VvbS5jeWxpbmRlcnMgIT0gbGxjeWxzKQorCQkJCWN4dC0+Z2VvbS5jeWxpbmRlcnMgPSB+MDsKKwkJfSBlbHNlIHsKKwkJCWZkaXNrX3dhcm54KGN4dCwKKwkJCQlfKCJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gIgorCQkJCSAgIlVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuICIKKwkJCQkgICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgIgorCQkJCSAgIj4gMzMuOCBHQi4iKSwKKwkJCQljeHQtPmRldl9wYXRoLCBjeHQtPmdlb20uY3lsaW5kZXJzKTsKKwkJfQorCX0gZWxzZQorCQlhc2tfZ2VvbShjeHQpOworCisJc3VubGFiZWwtPmFjeWwgICA9IGNwdV90b19iZTE2KDApOworCXN1bmxhYmVsLT5wY3lsICAgPSBjcHVfdG9fYmUxNihjeHQtPmdlb20uY3lsaW5kZXJzKTsKKwlzdW5sYWJlbC0+cnBtICAgID0gY3B1X3RvX2JlMTYoNTQwMCk7CisJc3VubGFiZWwtPmludHJsdiA9IGNwdV90b19iZTE2KDEpOworCXN1bmxhYmVsLT5hcGMgICAgPSBjcHVfdG9fYmUxNigwKTsKKworCXN1bmxhYmVsLT5uaGVhZCAgPSBjcHVfdG9fYmUxNihjeHQtPmdlb20uaGVhZHMpOworCXN1bmxhYmVsLT5uc2VjdCAgPSBjcHVfdG9fYmUxNihjeHQtPmdlb20uc2VjdG9ycyk7CisJc3VubGFiZWwtPm5jeWwgICA9IGNwdV90b19iZTE2KGN4dC0+Z2VvbS5jeWxpbmRlcnMpOworCisJc25wcmludGYoKGNoYXIgKikgc3VubGFiZWwtPmxhYmVsX2lkLCBzaXplb2Yoc3VubGFiZWwtPmxhYmVsX2lkKSwKKwkJICJMaW51eCBjeWwgJWp1IGFsdCAldSBoZCAldSBzZWMgJWp1IiwKKwkJICh1aW50bWF4X3QpIGN4dC0+Z2VvbS5jeWxpbmRlcnMsCisJCSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+YWN5bCksCisJCSBjeHQtPmdlb20uaGVhZHMsCisJCSAodWludG1heF90KSBjeHQtPmdlb20uc2VjdG9ycyk7CisKKwlpZiAoY3h0LT5nZW9tLmN5bGluZGVycyAqIGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzID49IDE1MCAqIDIwNDgpIHsKKwkgICAgICAgIG5kaXYgPSBjeHQtPmdlb20uY3lsaW5kZXJzIC0gKDUwICogMjA0OCAvIChjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9ycykpOyAvKiA1ME0gc3dhcCAqLworCX0gZWxzZQorCSAgICAgICAgbmRpdiA9IGN4dC0+Z2VvbS5jeWxpbmRlcnMgKiAyIC8gMzsKKworCS8qIGNyZWF0ZSB0aGUgZGVmYXVsdCBsYXlvdXQgb25seSBpZiBuby1zY3JpcHQgZGVmaW5lZCAqLworCWlmICghY3h0LT5zY3JpcHQpIHsKKwkJc2V0X3BhcnRpdGlvbihjeHQsIDAsIDAsIG5kaXYgKiBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9ycywKKwkJCSAgU1VOX1RBR19MSU5VWF9OQVRJVkUpOworCQlzZXRfcGFydGl0aW9uKGN4dCwgMSwgbmRpdiAqIGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzLAorCQkJICBjeHQtPmdlb20uY3lsaW5kZXJzICogY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnMsCisJCQkgIFNVTl9UQUdfTElOVVhfU1dBUCk7CisJCXN1bmxhYmVsLT52dG9jLmluZm9zWzFdLmZsYWdzIHw9IGNwdV90b19iZTE2KFNVTl9GTEFHX1VOTU5UKTsKKworCQlzZXRfcGFydGl0aW9uKGN4dCwgMiwgMCwKKwkJCSAgY3h0LT5nZW9tLmN5bGluZGVycyAqIGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzLAorCQkJICBTVU5fVEFHX1dIT0xFRElTSyk7CisJfQorCisJc3VubGFiZWwtPmNzdW0gPSAwOworCXN1bmxhYmVsLT5jc3VtID0gc3VuX3B0X2NoZWNrc3VtKHN1bmxhYmVsKTsKKworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCWN4dC0+bGFiZWwtPm5wYXJ0c19jdXIgPSBjb3VudF91c2VkX3BhcnRpdGlvbnMoY3h0KTsKKworCWZkaXNrX2luZm8oY3h0LCBfKCJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIikpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHN1bl90b2dnbGVfcGFydGl0aW9uX2ZsYWcoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc2l6ZV90IGksIHVuc2lnbmVkIGxvbmcgZmxhZykKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWw7CisJc3RydWN0IHN1bl9pbmZvICpwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisJaWYgKGkgPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcCA9ICZzdW5sYWJlbC0+dnRvYy5pbmZvc1tpXTsKKworCXN3aXRjaCAoZmxhZykgeworCWNhc2UgU1VOX0ZMQUdfVU5NTlQ6CisJCXAtPmZsYWdzIF49IGNwdV90b19iZTE2KFNVTl9GTEFHX1VOTU5UKTsKKwkJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJCWJyZWFrOworCWNhc2UgU1VOX0ZMQUdfUk9OTFk6CisJCXAtPmZsYWdzIF49IGNwdV90b19iZTE2KFNVTl9GTEFHX1JPTkxZKTsKKwkJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmZXRjaF9zdW4oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJICAgICAgdWludDMyX3QgKnN0YXJ0cywKKwkJICAgICAgdWludDMyX3QgKmxlbnMsCisJCSAgICAgIHVpbnQzMl90ICpzdGFydCwKKwkJICAgICAgdWludDMyX3QgKnN0b3ApCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsOworCWludCBjb250aW51b3VzID0gMTsKKwlzaXplX3QgaTsKKwlpbnQgc2VjdG9yc19wZXJfY3lsaW5kZXIgPSBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9yczsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCSpzdGFydCA9IDA7CisJKnN0b3AgPSBjeHQtPmdlb20uY3lsaW5kZXJzICogc2VjdG9yc19wZXJfY3lsaW5kZXI7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisJCXN0cnVjdCBzdW5fcGFydGl0aW9uICpwYXJ0ID0gJnN1bmxhYmVsLT5wYXJ0aXRpb25zW2ldOworCQlzdHJ1Y3Qgc3VuX2luZm8gKmluZm8gPSAmc3VubGFiZWwtPnZ0b2MuaW5mb3NbaV07CisKKwkJaWYgKHBhcnQtPm51bV9zZWN0b3JzICYmCisJCSAgICBiZTE2X3RvX2NwdShpbmZvLT5pZCkgIT0gU1VOX1RBR19VTkFTU0lHTkVEICYmCisJCSAgICBiZTE2X3RvX2NwdShpbmZvLT5pZCkgIT0gU1VOX1RBR19XSE9MRURJU0spIHsKKwkJCXN0YXJ0c1tpXSA9IGJlMzJfdG9fY3B1KHBhcnQtPnN0YXJ0X2N5bGluZGVyKSAqCisJCQkJICAgICBzZWN0b3JzX3Blcl9jeWxpbmRlcjsKKwkJCWxlbnNbaV0gPSBiZTMyX3RvX2NwdShwYXJ0LT5udW1fc2VjdG9ycyk7CisJCQlpZiAoY29udGludW91cykgeworCQkJCWlmIChzdGFydHNbaV0gPT0gKnN0YXJ0KSB7CisJCQkJCSpzdGFydCArPSBsZW5zW2ldOworCQkJCQlpbnQgcmVtYWluZWRfc2VjdG9ycyA9ICpzdGFydCAlIHNlY3RvcnNfcGVyX2N5bGluZGVyOworCQkJCQlpZiAocmVtYWluZWRfc2VjdG9ycykgeworCQkJCQkJKnN0YXJ0ICs9IHNlY3RvcnNfcGVyX2N5bGluZGVyIC0gcmVtYWluZWRfc2VjdG9yczsKKwkJCQkJfQorCQkJCX0gZWxzZSBpZiAoc3RhcnRzW2ldICsgbGVuc1tpXSA+PSAqc3RvcCkKKwkJCQkJKnN0b3AgPSBzdGFydHNbaV07CisJCQkJZWxzZQorCQkJCQljb250aW51b3VzID0gMDsKKwkJCQkgICAgICAgIC8qIFRoZXJlIHdpbGwgYmUgcHJvYmFibHkgbW9yZSBnYXBzCisJCQkJCSAgdGhhbiBvbmUsIHNvIGxldHMgY2hlY2sgYWZ0ZXJ3YXJkcyAqLworCQkJfQorCQl9IGVsc2UgeworCQkJc3RhcnRzW2ldID0gMDsKKwkJCWxlbnNbaV0gPSAwOworCQl9CisJfQorfQorCisvKiBub24tTGludXggcXNvcnRfcigzKSBoYXMgdXN1YWxseSBkaWZmZXJlbnRseSBvcmRlcmVkIGFyZ3VtZW50cyAqLworI2lmICFkZWZpbmVkIChfX2xpbnV4X18pIHx8ICFkZWZpbmVkIChfX0dMSUJDX18pCisjIHVuZGVmIEhBVkVfUVNPUlRfUgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX1FTT1JUX1IKK3N0YXRpYyBpbnQgdmVyaWZ5X3N1bl9jbXAoaW50ICphLCBpbnQgKmIsIHZvaWQgKmRhdGEpCit7CisgICAgdW5zaWduZWQgaW50ICp2ZXJpZnlfc3VuX3N0YXJ0cyA9ICh1bnNpZ25lZCBpbnQgKikgZGF0YTsKKworICAgIGlmICgqYSA9PSAtMSkKKwkgICAgcmV0dXJuIDE7CisgICAgaWYgKCpiID09IC0xKQorCSAgICByZXR1cm4gLTE7CisgICAgaWYgKHZlcmlmeV9zdW5fc3RhcnRzWyphXSA+IHZlcmlmeV9zdW5fc3RhcnRzWypiXSkKKwkgICAgcmV0dXJuIDE7CisgICAgcmV0dXJuIC0xOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgc3VuX3ZlcmlmeV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKyAgICB1aW50MzJfdCBzdGFydHNbU1VOX01BWFBBUlRJVElPTlNdLCBsZW5zW1NVTl9NQVhQQVJUSVRJT05TXSwgc3RhcnQsIHN0b3A7CisgICAgdWludDMyX3QgaSxqLGssc3RhcnRvLGVuZG87CisjaWZkZWYgSEFWRV9RU09SVF9SCisgICAgaW50IGFycmF5W1NVTl9NQVhQQVJUSVRJT05TXTsKKyAgICB1bnNpZ25lZCBpbnQgKnZlcmlmeV9zdW5fc3RhcnRzOworI2VuZGlmCisgICAgYXNzZXJ0KGN4dCk7CisgICAgYXNzZXJ0KGN4dC0+bGFiZWwpOworICAgIGFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisgICAgZmV0Y2hfc3VuKGN4dCwgc3RhcnRzLCBsZW5zLCAmc3RhcnQsICZzdG9wKTsKKworICAgIGZvciAoayA9IDA7IGsgPCA3OyBrKyspIHsKKwlmb3IgKGkgPSAwOyBpIDwgU1VOX01BWFBBUlRJVElPTlM7IGkrKykgeworCSAgICBpZiAoayAmJiAobGVuc1tpXSAlIChjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9ycykpKQorCSAgICAgICAgZmRpc2tfd2FybngoY3h0LCBfKCJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIiksIGkrMSk7CisJICAgIGlmIChsZW5zW2ldKSB7CisJICAgICAgICBmb3IgKGogPSAwOyBqIDwgaTsgaisrKQorCSAgICAgICAgICAgIGlmIChsZW5zW2pdKSB7CisJICAgICAgICAgICAgICAgIGlmIChzdGFydHNbal0gPT0gc3RhcnRzW2ldK2xlbnNbaV0pIHsKKwkgICAgICAgICAgICAgICAgICAgIHN0YXJ0c1tqXSA9IHN0YXJ0c1tpXTsgbGVuc1tqXSArPSBsZW5zW2ldOworCSAgICAgICAgICAgICAgICAgICAgbGVuc1tpXSA9IDA7CisJICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoc3RhcnRzW2ldID09IHN0YXJ0c1tqXStsZW5zW2pdKXsKKwkgICAgICAgICAgICAgICAgICAgIGxlbnNbal0gKz0gbGVuc1tpXTsKKwkgICAgICAgICAgICAgICAgICAgIGxlbnNbaV0gPSAwOworCSAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFrKSB7CisJICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRzW2ldIDwgc3RhcnRzW2pdK2xlbnNbal0gJiYKKwkJCQlzdGFydHNbal0gPCBzdGFydHNbaV0rbGVuc1tpXSkgeworCSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXJ0byA9IHN0YXJ0c1tpXTsKKwkgICAgICAgICAgICAgICAgICAgICAgICBpZiAoc3RhcnRzW2pdID4gc3RhcnRvKQorCQkJCQlzdGFydG8gPSBzdGFydHNbal07CisJICAgICAgICAgICAgICAgICAgICAgICAgZW5kbyA9IHN0YXJ0c1tpXStsZW5zW2ldOworCSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzdGFydHNbal0rbGVuc1tqXSA8IGVuZG8pCisJCQkJCWVuZG8gPSBzdGFydHNbal0rbGVuc1tqXTsKKwkgICAgICAgICAgICAgICAgICAgICAgICBmZGlza193YXJueChjeHQsIF8oIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiAiCisJCQkJICAgICAgICJzZWN0b3JzICV1LSV1LiIpLCBpKzEsIHN0YXJ0bywgZW5kbyk7CisJICAgICAgICAgICAgICAgICAgICB9CisJICAgICAgICAgICAgICAgIH0KKwkgICAgICAgICAgICB9CisJICAgIH0KKwl9CisgICAgfQorCisjaWZkZWYgSEFWRV9RU09SVF9SCisgICAgZm9yIChpID0gMDsgaSA8IFNVTl9NQVhQQVJUSVRJT05TOyBpKyspIHsKKyAgICAgICAgaWYgKGxlbnNbaV0pCisgICAgICAgICAgICBhcnJheVtpXSA9IGk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIGFycmF5W2ldID0gLTE7CisgICAgfQorICAgIHZlcmlmeV9zdW5fc3RhcnRzID0gc3RhcnRzOworCisgICAgcXNvcnRfcihhcnJheSxBUlJBWV9TSVpFKGFycmF5KSxzaXplb2YoYXJyYXlbMF0pLAorCSAgKGludCAoKikoY29uc3Qgdm9pZCAqLGNvbnN0IHZvaWQgKix2b2lkICopKSB2ZXJpZnlfc3VuX2NtcCwKKwkgIHZlcmlmeV9zdW5fc3RhcnRzKTsKKworICAgIGlmIChhcnJheVswXSA9PSAtMSkgeworCWZkaXNrX2luZm8oY3h0LCBfKCJObyBwYXJ0aXRpb25zIGRlZmluZWQuIikpOworCXJldHVybiAwOworICAgIH0KKyAgICBzdG9wID0gY3h0LT5nZW9tLmN5bGluZGVycyAqIGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzOworICAgIGlmIChzdGFydHNbYXJyYXlbMF1dKQorICAgICAgICBmZGlza193YXJueChjeHQsIF8oIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIiksIHN0YXJ0c1thcnJheVswXV0pOworICAgIGZvciAoaSA9IDA7IGkgPCA3ICYmIGFycmF5W2krMV0gIT0gLTE7IGkrKykgeworICAgICAgICBmZGlza193YXJueChjeHQsIF8oIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIpLAorCSAgICAgICAoc3RhcnRzW2FycmF5W2ldXSArIGxlbnNbYXJyYXlbaV1dKSwKKwkgICAgICAgc3RhcnRzW2FycmF5W2krMV1dKTsKKyAgICB9CisgICAgc3RhcnQgPSAoc3RhcnRzW2FycmF5W2ldXSArIGxlbnNbYXJyYXlbaV1dKTsKKyAgICBpZiAoc3RhcnQgPCBzdG9wKQorICAgICAgICBmZGlza193YXJueChjeHQsIF8oIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIpLCBzdGFydCwgc3RvcCk7CisjZW5kaWYKKyAgICByZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IGlzX2ZyZWVfc2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCWZkaXNrX3NlY3Rvcl90IHMsIHVpbnQzMl90IHN0YXJ0c1tdLCB1aW50MzJfdCBsZW5zW10pCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5sYWJlbC0+bnBhcnRzX21heDsgaSsrKSB7CisJCWlmIChsZW5zW2ldICYmIHN0YXJ0c1tpXSA8PSBzCisJCSAgICAmJiBzdGFydHNbaV0gKyBsZW5zW2ldID4gcykKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBzdW5fYWRkX3BhcnRpdGlvbigKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEsCisJCXNpemVfdCAqcGFydG5vKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJdWludDMyX3Qgc3RhcnRzW1NVTl9NQVhQQVJUSVRJT05TXSwgbGVuc1tTVU5fTUFYUEFSVElUSU9OU107CisJc3RydWN0IHN1bl9wYXJ0aXRpb24gKnBhcnQ7CisJc3RydWN0IHN1bl9pbmZvICppbmZvOworCXVpbnQzMl90IHN0YXJ0LCBzdG9wLCBzdG9wMjsKKwlpbnQgd2hvbGVfZGlzayA9IDA7CisJaW50IHN5cyA9IHBhICYmIHBhLT50eXBlID8gcGEtPnR5cGUtPmNvZGUgOiBTVU5fVEFHX0xJTlVYX05BVElWRTsKKwlpbnQgcmM7CisJc2l6ZV90IG47CisKKwljaGFyIG1lc2dbMjU2XTsKKwlzaXplX3QgaTsKKwl1bnNpZ25lZCBpbnQgZmlyc3QsIGxhc3Q7CisKKwlEQkcoTEFCRUwsIHVsX2RlYnVnKCJTVU4gYWRkaW5nIHBhcnRpdGlvbiIpKTsKKworCXJjID0gZmRpc2tfcGFydGl0aW9uX25leHRfcGFydG5vKHBhLCBjeHQsICZuKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXBhcnQgPSAmc3VubGFiZWwtPnBhcnRpdGlvbnNbbl07CisJaW5mbyA9ICZzdW5sYWJlbC0+dnRvYy5pbmZvc1tuXTsKKworCWlmIChwYXJ0LT5udW1fc2VjdG9ycyAmJiBiZTE2X3RvX2NwdShpbmZvLT5pZCkgIT0gU1VOX1RBR19VTkFTU0lHTkVEKSB7CisJCWZkaXNrX2luZm8oY3h0LCBfKCJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSAiCisJCQkiaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iKSwgbiArIDEpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlmZXRjaF9zdW4oY3h0LCBzdGFydHMsIGxlbnMsICZzdGFydCwgJnN0b3ApOworCisJaWYgKHBhICYmIHBhLT50eXBlICYmIHBhLT50eXBlLT5jb2RlID09IFNVTl9UQUdfV0hPTEVESVNLKQorCQl3aG9sZV9kaXNrID0gMTsKKworCWlmIChzdG9wIDw9IHN0YXJ0KSB7CisJCWlmIChuID09IDIpCisJCQl3aG9sZV9kaXNrID0gMTsKKwkJZWxzZSB7CisJCQlmZGlza19pbmZvKGN4dCwgXygiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSAiCisJCQkJIndob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iKSk7CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCX0KKworCWlmIChwYSAmJiBwYS0+c3RhcnRfZm9sbG93X2RlZmF1bHQpCisJCWZpcnN0ID0gc3RhcnQ7CisJZWxzZSBpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpIHsKKwkJZmlyc3QgPSBwYS0+c3RhcnQ7CisKKwkJaWYgKCF3aG9sZV9kaXNrICYmICFpc19mcmVlX3NlY3RvcihjeHQsIGZpcnN0LCBzdGFydHMsIGxlbnMpKQorCQkJcmV0dXJuIC1FUkFOR0U7CisJfSBlbHNlIHsKKwkJc3RydWN0IGZkaXNrX2FzayAqYXNrOworCisJCWlmIChuID09IDIpCisJCQlmZGlza19pbmZvKGN4dCwgXygiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlICIKKwkJCQkJICAgInRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgIgorCQkJCQkgICAiYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIikpOworCisJCXNucHJpbnRmKG1lc2csIHNpemVvZihtZXNnKSwgXygiRmlyc3QgJXMiKSwKKwkJCQlmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1NJTkdVTEFSKSk7CisJCWZvciAoOzspIHsKKwkJCWFzayA9IGZkaXNrX25ld19hc2soKTsKKwkJCWlmICghYXNrKQorCQkJCXJldHVybiAtRU5PTUVNOworCisJCQlmZGlza19hc2tfc2V0X3F1ZXJ5KGFzaywgbWVzZyk7CisJCQlmZGlza19hc2tfc2V0X3R5cGUoYXNrLCBGRElTS19BU0tUWVBFX05VTUJFUik7CisKKwkJCWlmICh3aG9sZV9kaXNrKSB7CisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgICAgIDApOwkvKiBtaW5pbWFsICovCisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIDApOwkvKiBkZWZhdWx0ICovCisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIDApOwkvKiBtYXhpbWFsICovCisJCQl9IGVsc2UgaWYgKG4gPT0gMikgeworCQkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2xvdyhhc2ssICAgICAwKTsJCQkJLyogbWluaW1hbCAqLworCQkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCAwKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBkZWZhdWx0ICovCisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBzdG9wKSk7ICAgIC8qIG1heGltYWwgKi8KKwkJCX0gZWxzZSB7CisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgICAgIGZkaXNrX3Njcm91bmQoY3h0LCBzdGFydCkpOwkvKiBtaW5pbWFsICovCisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfZGVmYXVsdChhc2ssIGZkaXNrX3Njcm91bmQoY3h0LCBzdGFydCkpOwkvKiBkZWZhdWx0ICovCisJCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBzdG9wKSk7CS8qIG1heGltYWwgKi8KKwkJCX0KKwkJCXJjID0gZmRpc2tfZG9fYXNrKGN4dCwgYXNrKTsKKwkJCWZpcnN0ID0gZmRpc2tfYXNrX251bWJlcl9nZXRfcmVzdWx0KGFzayk7CisJCQlmZGlza191bnJlZl9hc2soYXNrKTsKKwkJCWlmIChyYykKKwkJCQlyZXR1cm4gcmM7CisKKwkJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQkJZmlyc3QgKj0gZmRpc2tfZ2V0X3VuaXRzX3Blcl9zZWN0b3IoY3h0KTsKKworCQkJaWYgKCFmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpIHsKKwkJCQkvKiBTdGFydGluZyBzZWN0b3IgaGFzIHRvIGJlIHByb3Blcmx5IGFsaWduZWQgKi8KKwkJCQlpbnQgY3MgPSBjeHQtPmdlb20uaGVhZHMgKiBjeHQtPmdlb20uc2VjdG9yczsKKwkJCQlpbnQgeCA9IGZpcnN0ICUgY3M7CisKKwkJCQlpZiAoeCkgeworCQkJCQlmZGlza19pbmZvKGN4dCwgXygiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1ICIKKwkJCQkJCQkgICJ0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iKSwKKwkJCQkJCQlmaXJzdCwgZmlyc3QgKyBjcyAtIHgpOworCQkJCQlmaXJzdCArPSBjcyAtIHg7CisJCQkJfQorCQkJfQorCisJCQkvKiBld3QgYXNrcyB0byBhZGQ6ICJkb24ndCBzdGFydCBhIHBhcnRpdGlvbiBhdCBjeWwgMCIKKwkJCSAgIEhvd2V2ZXIsIGVkbXVuZG9AcmFuby5kZW1vbi5jby51ayB3cml0ZXM6CisJCQkgICAiSW4gYWRkaXRpb24gdG8gaGF2aW5nIGEgU3VuIHBhcnRpdGlvbiB0YWJsZSwgdG8gYmUgYWJsZSB0bworCQkJICAgYm9vdCBmcm9tIHRoZSBkaXNjLCB0aGUgZmlyc3QgcGFydGl0aW9uLCAvZGV2L3NkWDEsIG11c3QKKwkJCSAgIHN0YXJ0IGF0IGN5bGluZGVyIDAuIFRoaXMgbWVhbnMgdGhhdCAvZGV2L3NkWDEgY29udGFpbnMKKwkJCSAgIHRoZSBwYXJ0aXRpb24gdGFibGUgYW5kIHRoZSBib290IGJsb2NrLCBhcyB0aGVzZSBhcmUgdGhlCisJCQkgICBmaXJzdCB0d28gc2VjdG9ycyBvZiB0aGUgZGlzYy4gVGhlcmVmb3JlIHlvdSBtdXN0IGJlCisJCQkgICBjYXJlZnVsIHdoYXQgeW91IHVzZSAvZGV2L3NkWDEgZm9yLiBJbiBwYXJ0aWN1bGFyLCB5b3UgbXVzdAorCQkJICAgbm90IHVzZSBhIHBhcnRpdGlvbiBzdGFydGluZyBhdCBjeWxpbmRlciAwIGZvciBMaW51eCBzd2FwLAorCQkJICAgYXMgdGhhdCB3b3VsZCBvdmVyd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSBhbmQgdGhlIGJvb3QKKwkJCSAgIGJsb2NrLiBZb3UgbWF5LCBob3dldmVyLCB1c2Ugc3VjaCBhIHBhcnRpdGlvbiBmb3IgYSBVRlMKKwkJCSAgIG9yIEVYVDIgZmlsZSBzeXN0ZW0sIGFzIHRoZXNlIGZpbGUgc3lzdGVtcyBsZWF2ZSB0aGUgZmlyc3QKKwkJCSAgIDEwMjQgYnl0ZXMgdW5kaXN0dXJiZWQuICovCisJCQkvKiBPbiB0aGUgb3RoZXIgaGFuZCwgb25lIHNob3VsZCBub3QgdXNlIHBhcnRpdGlvbnMKKwkJCSAgIHN0YXJ0aW5nIGF0IGJsb2NrIDAgaW4gYW4gbWQsIG9yIHRoZSBsYWJlbCB3aWxsCisJCQkgICBiZSB0cmFzaGVkLiAqLworCQkJaWYgKCFpc19mcmVlX3NlY3RvcihjeHQsIGZpcnN0LCBzdGFydHMsICBsZW5zKSAmJiAhd2hvbGVfZGlzaykgeworCQkJCWlmIChuID09IDIgJiYgIWZpcnN0KSB7CisJCQkJICAgIHdob2xlX2Rpc2sgPSAxOworCQkJCSAgICBicmVhazsKKwkJCQl9CisJCQkJZmRpc2tfd2FybngoY3h0LCBfKCJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiKSwgZmlyc3QpOworCQkJfSBlbHNlCisJCQkJYnJlYWs7CisJCX0KKwl9CisKKwlzdG9wID0gY3h0LT5nZW9tLmN5bGluZGVycyAqIGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzOwkvKiBhbmNpZW50ICovCisJc3RvcDIgPSBzdG9wOworCWZvciAoaSA9IDA7IGkgPCBjeHQtPmxhYmVsLT5ucGFydHNfbWF4OyBpKyspIHsKKwkJaWYgKHN0YXJ0c1tpXSA+IGZpcnN0ICYmIHN0YXJ0c1tpXSA8IHN0b3ApCisJCQlzdG9wID0gc3RhcnRzW2ldOworCX0KKworCS8qIGxhc3QgKi8KKwlpZiAocGEgJiYgcGEtPmVuZF9mb2xsb3dfZGVmYXVsdCkKKwkJbGFzdCA9IHdob2xlX2Rpc2sgfHwgKG4gPT0gMiAmJiAhZmlyc3QpID8gc3RvcDIgOiBzdG9wOworCisJZWxzZSBpZiAocGEgJiYgZmRpc2tfcGFydGl0aW9uX2hhc19zaXplKHBhKSkgeworCQlsYXN0ID0gZmlyc3QgKyBwYS0+c2l6ZTsKKworCQlpZiAoIXdob2xlX2Rpc2sgJiYgbGFzdCA+IHN0b3ApCisJCQlyZXR1cm4gLUVSQU5HRTsKKwl9IGVsc2UgeworCQlzdHJ1Y3QgZmRpc2tfYXNrICphc2sgPSBmZGlza19uZXdfYXNrKCk7CisKKwkJaWYgKCFhc2spCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQlzbnByaW50ZihtZXNnLCBzaXplb2YobWVzZyksCisJCQkgXygiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIpLAorCQkJIGZkaXNrX2dldF91bml0KGN4dCwgRkRJU0tfU0lOR1VMQVIpLAorCQkJIGZkaXNrX2dldF91bml0KGN4dCwgRkRJU0tfUExVUkFMKSk7CisJCWZkaXNrX2Fza19zZXRfcXVlcnkoYXNrLCBtZXNnKTsKKwkJZmRpc2tfYXNrX3NldF90eXBlKGFzaywgRkRJU0tfQVNLVFlQRV9PRkZTRVQpOworCisJCWlmICh3aG9sZV9kaXNrKSB7CisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9sb3coYXNrLCAgICAgZmRpc2tfc2Nyb3VuZChjeHQsIHN0b3AyKSk7CS8qIG1pbmltYWwgKi8KKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCBmZGlza19zY3JvdW5kKGN4dCwgc3RvcDIpKTsJLyogZGVmYXVsdCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfaGlnaChhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBzdG9wMikpOwkvKiBtYXhpbWFsICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9iYXNlKGFzaywgICAgMCk7CisJCX0gZWxzZSBpZiAobiA9PSAyICYmICFmaXJzdCkgeworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfbG93KGFzaywgICAgIGZkaXNrX3Njcm91bmQoY3h0LCBmaXJzdCkpOwkvKiBtaW5pbWFsICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9kZWZhdWx0KGFzaywgZmRpc2tfc2Nyb3VuZChjeHQsIHN0b3AyKSk7CS8qIGRlZmF1bHQgKi8KKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2hpZ2goYXNrLCAgICBmZGlza19zY3JvdW5kKGN4dCwgc3RvcDIpKTsJLyogbWF4aW1hbCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShhc2ssCSAgZmRpc2tfc2Nyb3VuZChjeHQsIGZpcnN0KSk7CisJCX0gZWxzZSB7CisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9sb3coYXNrLCAgICAgZmRpc2tfc2Nyb3VuZChjeHQsIGZpcnN0KSk7CS8qIG1pbmltYWwgKi8KKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X2RlZmF1bHQoYXNrLCBmZGlza19zY3JvdW5kKGN4dCwgc3RvcCkpOwkvKiBkZWZhdWx0ICovCisJCQlmZGlza19hc2tfbnVtYmVyX3NldF9oaWdoKGFzaywgICAgZmRpc2tfc2Nyb3VuZChjeHQsIHN0b3ApKTsJLyogbWF4aW1hbCAqLworCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfYmFzZShhc2ssICAgIGZkaXNrX3Njcm91bmQoY3h0LCBmaXJzdCkpOworCQl9CisKKwkJaWYgKGZkaXNrX3VzZV9jeWxpbmRlcnMoY3h0KSkKKwkJCWZkaXNrX2Fza19udW1iZXJfc2V0X3VuaXQoYXNrLAorCQkJCSAgICAgY3h0LT5zZWN0b3Jfc2l6ZSAqCisJCQkJICAgICBmZGlza19nZXRfdW5pdHNfcGVyX3NlY3RvcihjeHQpKTsKKwkJZWxzZQorCQkJZmRpc2tfYXNrX251bWJlcl9zZXRfdW5pdChhc2ssCWN4dC0+c2VjdG9yX3NpemUpOworCisJCXJjID0gZmRpc2tfZG9fYXNrKGN4dCwgYXNrKTsKKwkJbGFzdCA9IGZkaXNrX2Fza19udW1iZXJfZ2V0X3Jlc3VsdChhc2spOworCisJCWZkaXNrX3VucmVmX2Fzayhhc2spOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWlmIChmZGlza191c2VfY3lsaW5kZXJzKGN4dCkpCisJCQlsYXN0ICo9IGZkaXNrX2dldF91bml0c19wZXJfc2VjdG9yKGN4dCk7CisJfQorCisJaWYgKG4gPT0gMiAmJiAhZmlyc3QpIHsKKwkJaWYgKGxhc3QgPj0gc3RvcDIpIHsKKwkJICAgIHdob2xlX2Rpc2sgPSAxOworCQkgICAgbGFzdCA9IHN0b3AyOworCQl9IGVsc2UgaWYgKGxhc3QgPiBzdG9wKSB7CisJCSAgICBmZGlza193YXJueChjeHQsCisgICBfKCJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisgICAgICIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyAgICAgInRvICVsdSAlcyIpLAorCQkJKHVuc2lnbmVkIGxvbmcpIGZkaXNrX3Njcm91bmQoY3h0LCBsYXN0KSwgZmRpc2tfZ2V0X3VuaXQoY3h0LCBGRElTS19TSU5HVUxBUiksCisJCQkodW5zaWduZWQgbG9uZykgZmRpc2tfc2Nyb3VuZChjeHQsIHN0b3ApLCBmZGlza19nZXRfdW5pdChjeHQsIEZESVNLX1NJTkdVTEFSKSk7CisJCSAgICBsYXN0ID0gc3RvcDsKKwkJfQorCX0gZWxzZSBpZiAoIXdob2xlX2Rpc2sgJiYgbGFzdCA+IHN0b3ApCisJCWxhc3QgPSBzdG9wOworCisJaWYgKHdob2xlX2Rpc2spCisJCXN5cyA9IFNVTl9UQUdfV0hPTEVESVNLOworCisJREJHKExBQkVMLCB1bF9kZWJ1ZygiU1VOIG5ldyBwYXJ0aXRpb24gIyV6dTogZmlyc3Q9JXUsIGxhc3Q9JXUsIHN5cz0lZCIsIG4sIGZpcnN0LCBsYXN0LCBzeXMpKTsKKworCXNldF9wYXJ0aXRpb24oY3h0LCBuLCBmaXJzdCwgbGFzdCwgc3lzKTsKKwljeHQtPmxhYmVsLT5ucGFydHNfY3VyID0gY291bnRfdXNlZF9wYXJ0aXRpb25zKGN4dCk7CisJaWYgKHBhcnRubykKKwkJKnBhcnRubyA9IG47CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc3VuX2RlbGV0ZV9wYXJ0aXRpb24oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IHBhcnRudW0pCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsOworCXN0cnVjdCBzdW5fcGFydGl0aW9uICpwYXJ0OworCXN0cnVjdCBzdW5faW5mbyAqaW5mbzsKKwl1bnNpZ25lZCBpbnQgbnNlYzsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlwYXJ0ID0gJnN1bmxhYmVsLT5wYXJ0aXRpb25zW3BhcnRudW1dOworCWluZm8gPSAmc3VubGFiZWwtPnZ0b2MuaW5mb3NbcGFydG51bV07CisKKwlpZiAocGFydG51bSA9PSAyICYmCisJICAgIGJlMTZfdG9fY3B1KGluZm8tPmlkKSA9PSBTVU5fVEFHX1dIT0xFRElTSyAmJgorCSAgICAhcGFydC0+c3RhcnRfY3lsaW5kZXIgJiYKKwkgICAgKG5zZWMgPSBiZTMyX3RvX2NwdShwYXJ0LT5udW1fc2VjdG9ycykpCisJICAgID09IGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzICogY3h0LT5nZW9tLmN5bGluZGVycykKKwkJZmRpc2tfaW5mbyhjeHQsIF8oIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgIgorCQkJICJjb25zaWRlciBsZWF2aW5nIHRoaXMgIgorCQkJICJwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgIgorCQkJICJzZWN0b3JzIiksIG5zZWMpOworCWluZm8tPmlkID0gY3B1X3RvX2JlMTYoU1VOX1RBR19VTkFTU0lHTkVEKTsKKwlwYXJ0LT5udW1fc2VjdG9ycyA9IDA7CisJY3h0LT5sYWJlbC0+bnBhcnRzX2N1ciA9IGNvdW50X3VzZWRfcGFydGl0aW9ucyhjeHQpOworCWZkaXNrX2xhYmVsX3NldF9jaGFuZ2VkKGN4dC0+bGFiZWwsIDEpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHN1bl9nZXRfZGlza2xhYmVsX2l0ZW0oc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX2xhYmVsaXRlbSAqaXRlbSkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWw7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCXN3aXRjaCAoaXRlbS0+aWQpIHsKKwljYXNlIFNVTl9MQUJFTElURU1fTEFCRUxJRDoKKwkJaXRlbS0+bmFtZSA9XygiTGFiZWwgSUQiKTsKKwkJaXRlbS0+dHlwZSA9ICdzJzsKKwkJaXRlbS0+ZGF0YS5zdHIgPSAqc3VubGFiZWwtPmxhYmVsX2lkID8gc3RybmR1cCgoY2hhciAqKXN1bmxhYmVsLT5sYWJlbF9pZCwgc2l6ZW9mKHN1bmxhYmVsLT5sYWJlbF9pZCkpIDogTlVMTDsKKwkJYnJlYWs7CisJY2FzZSBTVU5fTEFCRUxJVEVNX1ZUT0NJRDoKKwkJaXRlbS0+bmFtZSA9XygiVm9sdW1lIElEIik7CisJCWl0ZW0tPnR5cGUgPSAncyc7CisJCWl0ZW0tPmRhdGEuc3RyID0gKnN1bmxhYmVsLT52dG9jLnZvbHVtZV9pZCA/IHN0cm5kdXAoKGNoYXIgKilzdW5sYWJlbC0+dnRvYy52b2x1bWVfaWQsIHNpemVvZihzdW5sYWJlbC0+dnRvYy52b2x1bWVfaWQpKSA6IE5VTEw7CisJCWJyZWFrOworCWNhc2UgU1VOX0xBQkVMSVRFTV9SUE06CisJCWl0ZW0tPm5hbWUgPV8oIlJwbSIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gYmUxNl90b19jcHUoc3VubGFiZWwtPnJwbSk7CisJCWJyZWFrOworCWNhc2UgU1VOX0xBQkVMSVRFTV9BQ1lMOgorCQlpdGVtLT5uYW1lID1fKCJBbHRlcm5hdGUgY3lsaW5kZXJzIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+YWN5bCk7CisJCWJyZWFrOworCWNhc2UgU1VOX0xBQkVMSVRFTV9QQ1lMOgorCQlpdGVtLT5uYW1lID1fKCJQaHlzaWNhbCBjeWxpbmRlcnMiKTsKKwkJaXRlbS0+dHlwZSA9ICdqJzsKKwkJaXRlbS0+ZGF0YS5udW02NCA9IGJlMTZfdG9fY3B1KHN1bmxhYmVsLT5wY3lsKTsKKwkJYnJlYWs7CisJY2FzZSBTVU5fTEFCRUxJVEVNX0FQQzoKKwkJaXRlbS0+bmFtZSA9XygiRXh0cmEgc2VjdHMvY3lsIik7CisJCWl0ZW0tPnR5cGUgPSAnaic7CisJCWl0ZW0tPmRhdGEubnVtNjQgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+YXBjKTsKKwkJYnJlYWs7CisJY2FzZSBTVU5fTEFCRUxJVEVNX0lOVFJMVjoKKwkJaXRlbS0+bmFtZSA9XygiSW50ZXJsZWF2ZSIpOworCQlpdGVtLT50eXBlID0gJ2onOworCQlpdGVtLT5kYXRhLm51bTY0ID0gYmUxNl90b19jcHUoc3VubGFiZWwtPmludHJsdik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlmIChpdGVtLT5pZCA8IF9fRkRJU0tfTkxBQkVMSVRFTVMpCisJCQlyYyA9IDE7CS8qIHVuc3VwcG9ydGVkIGdlbmVyaWMgaXRlbSAqLworCQllbHNlCisJCQlyYyA9IDI7CS8qIG91dCBvZiByYW5nZSAqLworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnN1bl9nZXRfcGFydHR5cGUoCisJCXN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCXNpemVfdCBuKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJc3RydWN0IGZkaXNrX3BhcnR0eXBlICp0OworCisJaWYgKG4gPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIE5VTEw7CisKKwl0ID0gZmRpc2tfbGFiZWxfZ2V0X3BhcnR0eXBlX2Zyb21fY29kZShjeHQtPmxhYmVsLAorCQkJYmUxNl90b19jcHUoc3VubGFiZWwtPnZ0b2MuaW5mb3Nbbl0uaWQpKTsKKwlyZXR1cm4gdCA/IDogZmRpc2tfbmV3X3Vua25vd25fcGFydHR5cGUoYmUxNl90b19jcHUoc3VubGFiZWwtPnZ0b2MuaW5mb3Nbbl0uaWQpLCBOVUxMKTsKK30KKworCitzdGF0aWMgaW50IHN1bl9nZXRfcGFydGl0aW9uKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHNpemVfdCBuLAorCQkJICAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsOworCXN0cnVjdCBzdW5fcGFydGl0aW9uICpwYXJ0OworCXVpbnQxNl90IGZsYWdzOworCXVpbnQzMl90IHN0YXJ0LCBsZW47CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwlpZiAobiA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwlwYXJ0ID0gJnN1bmxhYmVsLT5wYXJ0aXRpb25zW25dOworCisJcGEtPnVzZWQgPSBwYXJ0LT5udW1fc2VjdG9ycyA/IDEgOiAwOworCWlmICghcGEtPnVzZWQpCisJCXJldHVybiAwOworCisJZmxhZ3MgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+dnRvYy5pbmZvc1tuXS5mbGFncyk7CisJc3RhcnQgPSBiZTMyX3RvX2NwdShwYXJ0LT5zdGFydF9jeWxpbmRlcikKKwkJCSogY3h0LT5nZW9tLmhlYWRzICogY3h0LT5nZW9tLnNlY3RvcnM7CisJbGVuID0gYmUzMl90b19jcHUocGFydC0+bnVtX3NlY3RvcnMpOworCisJcGEtPnR5cGUgPSBzdW5fZ2V0X3BhcnR0eXBlKGN4dCwgbik7CisJaWYgKHBhLT50eXBlICYmIHBhLT50eXBlLT5jb2RlID09IFNVTl9UQUdfV0hPTEVESVNLKQorCQlwYS0+d2hvbGVkaXNrID0gMTsKKworCWlmIChmbGFncyAmIFNVTl9GTEFHX1VOTU5UIHx8IGZsYWdzICYgU1VOX0ZMQUdfUk9OTFkpIHsKKwkJaWYgKGFzcHJpbnRmKCZwYS0+YXR0cnMsICIlYyVjIiwKKwkJCQlmbGFncyAmIFNVTl9GTEFHX1VOTU5UID8gJ3UnIDogJyAnLAorCQkJCWZsYWdzICYgU1VOX0ZMQUdfUk9OTFkgPyAncicgOiAnICcpIDwgMCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCXBhLT5zdGFydCA9IHN0YXJ0OworCXBhLT5zaXplID0gbGVuOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc3VuX3NldF9hbHRfY3lsOgorICogQGN4dDogY29udGV4dAorICoKKyAqIFNldHMgbnVtYmVyIG9mIGFsdGVybmF0aXZlIGN5bGluZGVycy4gVGhpcyBmdW5jdGlvbiB1c2VzIGxpYmZkaXNrIEFzayBBUEkKKyAqIGZvciBkaWFsb2cgd2l0aCB1c2VyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zdW5fc2V0X2FsdF9jeWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXVpbnRtYXhfdCByZXM7CisJaW50IHJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIDAsCQkJLyogbG93ICovCisJCQliZTE2X3RvX2NwdShzdW5sYWJlbC0+YWN5bCksCQkvKiBkZWZhdWx0ICovCisJCQk2NTUzNSwJCQkJCS8qIGhpZ2ggKi8KKwkJCV8oIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIiksCS8qIHF1ZXJ5ICovCisJCQkmcmVzKTsJCQkJCS8qIHJlc3VsdCAqLworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJc3VubGFiZWwtPmFjeWwgPSBjcHVfdG9fYmUxNihyZXMpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3N1bl9zZXRfeGN5bDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBTZXRzIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlci4gVGhpcyBmdW5jdGlvbiB1c2VzIGxpYmZkaXNrIEFzayBBUEkKKyAqIGZvciBkaWFsb2cgd2l0aCB1c2VyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zdW5fc2V0X3hjeWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXVpbnRtYXhfdCByZXM7CisJaW50IHJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIDAsCQkJLyogbG93ICovCisJCQliZTE2X3RvX2NwdShzdW5sYWJlbC0+YXBjKSwJCS8qIGRlZmF1bHQgKi8KKwkJCWN4dC0+Z2VvbS5zZWN0b3JzLAkJCS8qIGhpZ2ggKi8KKwkJCV8oIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIiksCS8qIHF1ZXJ5ICovCisJCQkmcmVzKTsJCQkJCS8qIHJlc3VsdCAqLworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCXN1bmxhYmVsLT5hcGMgPSBjcHVfdG9fYmUxNihyZXMpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3N1bl9zZXRfaWxmYWN0OgorICogQGN4dDogY29udGV4dAorICoKKyAqIFNldHMgaW50ZXJsZWF2ZSBmYWN0b3IuIFRoaXMgZnVuY3Rpb24gdXNlcyBsaWJmZGlzayBBc2sgQVBJIGZvciBkaWFsb2cgd2l0aAorICogdXNlci4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yLgorICovCitpbnQgZmRpc2tfc3VuX3NldF9pbGZhY3Qoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWwgPSBzZWxmX2Rpc2tsYWJlbChjeHQpOworCXVpbnRtYXhfdCByZXM7CisJaW50IHJjID0gZmRpc2tfYXNrX251bWJlcihjeHQsIDEsCQkJLyogbG93ICovCisJCQliZTE2X3RvX2NwdShzdW5sYWJlbC0+aW50cmx2KSwJCS8qIGRlZmF1bHQgKi8KKwkJCTMyLAkJCQkJLyogaGlnaCAqLworCQkJXygiSW50ZXJsZWF2ZSBmYWN0b3IiKSwJLyogcXVlcnkgKi8KKwkJCSZyZXMpOwkJCQkJLyogcmVzdWx0ICovCisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJc3VubGFiZWwtPmludHJsdiA9IGNwdV90b19iZTE2KHJlcyk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfc3VuX3NldF9yc3BlZWQKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBTZXRzIHJvdGF0aW9uIHNwZWVkLiBUaGlzIGZ1bmN0aW9uIHVzZXMgbGliZmRpc2sgQXNrIEFQSSBmb3IgZGlhbG9nIHdpdGgKKyAqIHVzZXIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX3N1bl9zZXRfcnNwZWVkKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKwl1aW50bWF4X3QgcmVzOworCWludCByYyA9IGZkaXNrX2Fza19udW1iZXIoY3h0LCAxLAkJCS8qIGxvdyAqLworCQkJYmUxNl90b19jcHUoc3VubGFiZWwtPnJwbSksCQkvKiBkZWZhdWx0ICovCisJCQlVU0hSVF9NQVgsCQkJCS8qIGhpZ2ggKi8KKwkJCV8oIlJvdGF0aW9uIHNwZWVkIChycG0pIiksCQkvKiBxdWVyeSAqLworCQkJJnJlcyk7CQkJCQkvKiByZXN1bHQgKi8KKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlzdW5sYWJlbC0+cnBtID0gY3B1X3RvX2JlMTYocmVzKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19zdW5fc2V0X3BjeWxjb3VudAorICogQGN4dDogY29udGV4dAorICoKKyAqIFNldHMgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycy4gVGhpcyBmdW5jdGlvbiB1c2VzIGxpYmZkaXNrIEFzayBBUEkgZm9yCisgKiBkaWFsb2cgd2l0aCB1c2VyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza19zdW5fc2V0X3BjeWxjb3VudChzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJdWludG1heF90IHJlczsKKwlpbnQgcmMgPSBmZGlza19hc2tfbnVtYmVyKGN4dCwgMCwJCQkvKiBsb3cgKi8KKwkJCWJlMTZfdG9fY3B1KHN1bmxhYmVsLT5wY3lsKSwJCS8qIGRlZmF1bHQgKi8KKwkJCVVTSFJUX01BWCwJCQkJLyogaGlnaCAqLworCQkJXygiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIpLAkvKiBxdWVyeSAqLworCQkJJnJlcyk7CQkJCQkvKiByZXN1bHQgKi8KKwlpZiAoIXJjKQorCQlyZXR1cm4gcmM7CisJc3VubGFiZWwtPnBjeWwgPSBjcHVfdG9fYmUxNihyZXMpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHN1bl93cml0ZV9kaXNrbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3Qgc3VuX2Rpc2tsYWJlbCAqc3VubGFiZWw7CisJY29uc3Qgc2l6ZV90IHN6ID0gc2l6ZW9mKHN0cnVjdCBzdW5fZGlza2xhYmVsKTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmxhYmVsKTsKKwlhc3NlcnQoZmRpc2tfaXNfbGFiZWwoY3h0LCBTVU4pKTsKKworCXN1bmxhYmVsID0gc2VsZl9kaXNrbGFiZWwoY3h0KTsKKworCS8qIE1heWJlIGdlb21ldHJ5IGhhcyBiZWVuIG1vZGlmaWVkICovCisJc3VubGFiZWwtPm5oZWFkID0gY3B1X3RvX2JlMTYoY3h0LT5nZW9tLmhlYWRzKTsKKwlzdW5sYWJlbC0+bnNlY3QgPSBjcHVfdG9fYmUxNihjeHQtPmdlb20uc2VjdG9ycyk7CisKKwlpZiAoY3h0LT5nZW9tLmN5bGluZGVycyAhPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+bmN5bCkpIHsKKwkJaW50IGEgPSBjcHVfdG9fYmUxNihjeHQtPmdlb20uY3lsaW5kZXJzKTsKKwkJaW50IGIgPSBiZTE2X3RvX2NwdShzdW5sYWJlbC0+YWN5bCk7CisJCXN1bmxhYmVsLT5uY3lsID0gYSAtIGI7CisJfQorCisJc3VubGFiZWwtPmNzdW0gPSAwOworCXN1bmxhYmVsLT5jc3VtID0gc3VuX3B0X2NoZWNrc3VtKHN1bmxhYmVsKTsKKworCWlmIChsc2VlayhjeHQtPmRldl9mZCwgMCwgU0VFS19TRVQpIDwgMCkKKwkJcmV0dXJuIC1lcnJubzsKKwlpZiAod3JpdGVfYWxsKGN4dC0+ZGV2X2ZkLCBzdW5sYWJlbCwgc3opICE9IDApCisJCXJldHVybiAtZXJybm87CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzdW5fc2V0X3BhcnRpdGlvbigKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGksCisJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCXN0cnVjdCBzdW5fZGlza2xhYmVsICpzdW5sYWJlbDsKKwlzdHJ1Y3Qgc3VuX3BhcnRpdGlvbiAqcGFydDsKKwlzdHJ1Y3Qgc3VuX2luZm8gKmluZm87CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5sYWJlbCk7CisJYXNzZXJ0KGZkaXNrX2lzX2xhYmVsKGN4dCwgU1VOKSk7CisKKwlzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisKKwlpZiAoaSA+PSBjeHQtPmxhYmVsLT5ucGFydHNfbWF4KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChwYS0+dHlwZSkgeworCQlzdHJ1Y3QgZmRpc2tfcGFydHR5cGUgKnQgPSBwYS0+dHlwZTsKKworCQlpZiAodC0+Y29kZSA+IFVJTlQxNl9NQVgpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlpZiAoaSA9PSAyICYmIHQtPmNvZGUgIT0gU1VOX1RBR19XSE9MRURJU0spCisJCQlmZGlza19pbmZvKGN4dCwgXygiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKwkJCSAgICAgICAgICJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iKSk7CisKKwkJcGFydCA9ICZzdW5sYWJlbC0+cGFydGl0aW9uc1tpXTsKKwkJaW5mbyA9ICZzdW5sYWJlbC0+dnRvYy5pbmZvc1tpXTsKKworCQlpZiAoY3h0LT5zY3JpcHQgPT0gTlVMTCAmJgorCQkgICAgdC0+Y29kZSA9PSBTVU5fVEFHX0xJTlVYX1NXQVAgJiYgIXBhcnQtPnN0YXJ0X2N5bGluZGVyKSB7CisJCQlpbnQgeWVzLCByYzsKKworCQkJcmMgPSBmZGlza19hc2tfeWVzbm8oY3h0LAorCQkJICAgICAgXygiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorCQkJICAgICAgImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisJCQkgICAgICAidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKwkJCSAgICAgICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iKSwgJnllcyk7CisJCQlpZiAocmMpCisJCQkJcmV0dXJuIHJjOworCQkJaWYgKCF5ZXMpCisJCQkJcmV0dXJuIDE7CisJCX0KKworCQlzd2l0Y2ggKHQtPmNvZGUpIHsKKwkJY2FzZSBTVU5fVEFHX1NXQVA6CisJCWNhc2UgU1VOX1RBR19MSU5VWF9TV0FQOgorCQkJLyogc3dhcHMgYXJlIG5vdCBtb3VudGFibGUgYnkgZGVmYXVsdCAqLworCQkJaW5mby0+ZmxhZ3MgfD0gY3B1X3RvX2JlMTYoU1VOX0ZMQUdfVU5NTlQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQkvKiBhc3N1bWUgb3RoZXIgdHlwZXMgYXJlIG1vdW50YWJsZTsKKwkJCSAgIHVzZXIgY2FuIGNoYW5nZSBpdCBhbnl3YXkgKi8KKwkJCWluZm8tPmZsYWdzICY9IH5jcHVfdG9fYmUxNihTVU5fRkxBR19VTk1OVCk7CisJCQlicmVhazsKKwkJfQorCQlpbmZvLT5pZCA9IGNwdV90b19iZTE2KHQtPmNvZGUpOworCX0KKworCWlmIChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJc3VubGFiZWwtPnBhcnRpdGlvbnNbaV0uc3RhcnRfY3lsaW5kZXIgPQorCQkJY3B1X3RvX2JlMzIocGEtPnN0YXJ0IC8gKGN4dC0+Z2VvbS5oZWFkcyAqIGN4dC0+Z2VvbS5zZWN0b3JzKSk7CisJaWYgKGZkaXNrX3BhcnRpdGlvbl9oYXNfc2l6ZShwYSkpCisJCXN1bmxhYmVsLT5wYXJ0aXRpb25zW2ldLm51bV9zZWN0b3JzID0gY3B1X3RvX2JlMzIocGEtPnNpemUpOworCisJZmRpc2tfbGFiZWxfc2V0X2NoYW5nZWQoY3h0LT5sYWJlbCwgMSk7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBzdW5fcmVzZXRfYWxpZ25tZW50KHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWZkaXNrX3NldF9maXJzdF9sYmEoY3h0LCAwKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHN1bl9wYXJ0aXRpb25faXNfdXNlZCgKKwkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJc2l6ZV90IGkpCit7CisJc3RydWN0IHN1bl9kaXNrbGFiZWwgKnN1bmxhYmVsOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+bGFiZWwpOworCWFzc2VydChmZGlza19pc19sYWJlbChjeHQsIFNVTikpOworCisJaWYgKGkgPj0gY3h0LT5sYWJlbC0+bnBhcnRzX21heCkKKwkJcmV0dXJuIDA7CisKKwlzdW5sYWJlbCA9IHNlbGZfZGlza2xhYmVsKGN4dCk7CisJcmV0dXJuIHN1bmxhYmVsLT5wYXJ0aXRpb25zW2ldLm51bV9zZWN0b3JzID8gMSA6IDA7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmRpc2tfZmllbGQgc3VuX2ZpZWxkc1tdID0KK3sKKwl7IEZESVNLX0ZJRUxEX0RFVklDRSwJTl8oIkRldmljZSIpLAkgMTAsCTAgfSwKKwl7IEZESVNLX0ZJRUxEX1NUQVJULAlOXygiU3RhcnQiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfRU5ELAlOXygiRW5kIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX1NFQ1RPUlMsCU5fKCJTZWN0b3JzIiksCSAgNSwJRkRJU0tfRklFTERGTF9OVU1CRVIgfSwKKwl7IEZESVNLX0ZJRUxEX0NZTElOREVSUyxOXygiQ3lsaW5kZXJzIiksICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfU0laRSwJTl8oIlNpemUiKSwJICA1LAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfVFlQRUlELAlOXygiSWQiKSwJICAyLAlGRElTS19GSUVMREZMX05VTUJFUiB9LAorCXsgRkRJU0tfRklFTERfVFlQRSwJTl8oIlR5cGUiKSwJMC4xLAkwIH0sCisJeyBGRElTS19GSUVMRF9BVFRSLAlOXygiRmxhZ3MiKSwJICAwLAlGRElTS19GSUVMREZMX05VTUJFUiB9Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGZkaXNrX2xhYmVsX29wZXJhdGlvbnMgc3VuX29wZXJhdGlvbnMgPQoreworCS5wcm9iZQkJPSBzdW5fcHJvYmVfbGFiZWwsCisJLndyaXRlCQk9IHN1bl93cml0ZV9kaXNrbGFiZWwsCisJLnZlcmlmeQkJPSBzdW5fdmVyaWZ5X2Rpc2tsYWJlbCwKKwkuY3JlYXRlCQk9IHN1bl9jcmVhdGVfZGlza2xhYmVsLAorCS5nZXRfaXRlbQk9IHN1bl9nZXRfZGlza2xhYmVsX2l0ZW0sCisKKwkuZ2V0X3BhcnQJPSBzdW5fZ2V0X3BhcnRpdGlvbiwKKwkuc2V0X3BhcnQJPSBzdW5fc2V0X3BhcnRpdGlvbiwKKwkuYWRkX3BhcnQJPSBzdW5fYWRkX3BhcnRpdGlvbiwKKwkuZGVsX3BhcnQJPSBzdW5fZGVsZXRlX3BhcnRpdGlvbiwKKworCS5wYXJ0X2lzX3VzZWQJPSBzdW5fcGFydGl0aW9uX2lzX3VzZWQsCisJLnBhcnRfdG9nZ2xlX2ZsYWcgPSBzdW5fdG9nZ2xlX3BhcnRpdGlvbl9mbGFnLAorCisJLnJlc2V0X2FsaWdubWVudCA9IHN1bl9yZXNldF9hbGlnbm1lbnQsCit9OworCisvKgorICogYWxsb2NhdGVzIFNVTiBsYWJlbCBkcml2ZXIKKyAqLworc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19uZXdfc3VuX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3QgZmRpc2tfbGFiZWwgKmxiOworCXN0cnVjdCBmZGlza19zdW5fbGFiZWwgKnN1bjsKKworCXN1biA9IGNhbGxvYygxLCBzaXplb2YoKnN1bikpOworCWlmICghc3VuKQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGluaXRpYWxpemUgZ2VuZXJpYyBwYXJ0IG9mIHRoZSBkcml2ZXIgKi8KKwlsYiA9IChzdHJ1Y3QgZmRpc2tfbGFiZWwgKikgc3VuOworCWxiLT5uYW1lID0gInN1biI7CisJbGItPmlkID0gRkRJU0tfRElTS0xBQkVMX1NVTjsKKwlsYi0+b3AgPSAmc3VuX29wZXJhdGlvbnM7CisJbGItPnBhcnR0eXBlcyA9IHN1bl9wYXJ0dHlwZXM7CisJbGItPm5wYXJ0dHlwZXMgPSBBUlJBWV9TSVpFKHN1bl9wYXJ0dHlwZXMpIC0gMTsKKwlsYi0+ZmllbGRzID0gc3VuX2ZpZWxkczsKKwlsYi0+bmZpZWxkcyA9IEFSUkFZX1NJWkUoc3VuX2ZpZWxkcyk7CisJbGItPmZsYWdzIHw9IEZESVNLX0xBQkVMX0ZMX1JFUVVJUkVfR0VPTUVUUlk7CisKKwlsYi0+Z2VvbV9taW4uc2VjdG9ycyA9IDE7CisJbGItPmdlb21fbWluLmhlYWRzID0gMTsKKwlsYi0+Z2VvbV9taW4uY3lsaW5kZXJzID0gMTsKKworCWxiLT5nZW9tX21heC5zZWN0b3JzID0gMTAyNDsKKwlsYi0+Z2VvbV9tYXguaGVhZHMgPSAxMDI0OworCWxiLT5nZW9tX21heC5jeWxpbmRlcnMgPSBVU0hSVF9NQVg7CisJcmV0dXJuIGxiOworfQpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL3RhYmxlLmMgYi9saWJmZGlzay9zcmMvdGFibGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODgxZGI2Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL3RhYmxlLmMKQEAgLTAsMCArMSw3ODcgQEAKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCisvKioKKyAqIFNFQ1RJT046IHRhYmxlCisgKiBAdGl0bGU6IFRhYmxlCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNvbnRhaW5lciBmb3IgZmRpc2sgcGFydGl0aW9ucworICoKKyAqIFRoZSBmZGlza190YWJsZSBpcyBzaW1wbGUgY29udGFpbmVyIGZvciBmZGlza19wYXJ0aXRpb25zLiBUaGUgdGFibGUgaXMgbm8KKyAqIGRpcmVjdGx5IGNvbm5lY3RlZCB0byBsYWJlbCBkYXRhIChwYXJ0aXRpb24gdGFibGUpLCBhbmQgdGFibGUgY2hhbmdlcyBkb24ndAorICogYWZmZWN0IGluLW1lbW9yeSBvciBvbi1kaXNrIGRhdGEuCisgKi8KKworLyoqCisgKiBmZGlza19uZXdfdGFibGU6CisgKgorICogVGhlIHRhYmxlIGlzIGEgY29udGFpbmVyIGZvciBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uIGVudHJpZXMuIFRoZSBjb250YWluZXIKKyAqIGRvZXMgbm90IGhhdmUgYW55IHJlYWwgY29ubmVjdGlvbiB3aXRoIGxhYmVsIChwYXJ0aXRpb24gdGFibGUpIGFuZCB3aXRoCisgKiByZWFsIG9uLWRpc2sgZGF0YS4KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgdGFibGUgc3RydWN0LgorICovCitzdHJ1Y3QgZmRpc2tfdGFibGUgKmZkaXNrX25ld190YWJsZSh2b2lkKQoreworCXN0cnVjdCBmZGlza190YWJsZSAqdGIgPSBOVUxMOworCisJdGIgPSBjYWxsb2MoMSwgc2l6ZW9mKCp0YikpOworCWlmICghdGIpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhbGxvYyIpKTsKKwl0Yi0+cmVmY291bnQgPSAxOworCUlOSVRfTElTVF9IRUFEKCZ0Yi0+cGFydHMpOworCXJldHVybiB0YjsKK30KKworLyoqCisgKiBmZGlza19yZXNldF90YWJsZToKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqCisgKiBSZW1vdmVzIGFsbCBlbnRyaWVzIChwYXJ0aXRpb25zKSBmcm9tIHRoZSB0YWJsZS4gVGhlIHBhcnRpdGlvbnMgd2l0aCB6ZXJvCisgKiByZWZlcmVuY2UgY291bnQgd2lsbCBiZSBkZWFsbG9jYXRlZC4gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBtb2RpZnkgcGFydGl0aW9uCisgKiB0YWJsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBmZGlza19yZXNldF90YWJsZShzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZXNldCIpKTsKKworCXdoaWxlICghbGlzdF9lbXB0eSgmdGItPnBhcnRzKSkgeworCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IGxpc3RfZW50cnkodGItPnBhcnRzLm5leHQsCisJCQkJICAgICAgICAgICAgICAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiwgcGFydHMpOworCQlmZGlza190YWJsZV9yZW1vdmVfcGFydGl0aW9uKHRiLCBwYSk7CisJfQorCisJdGItPm5lbnRzID0gMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBmZGlza19yZWZfdGFibGU6CisgKiBAdGI6IHRhYmxlIHBvaW50ZXIKKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLgorICovCit2b2lkIGZkaXNrX3JlZl90YWJsZShzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiKQoreworCWlmICh0YikKKwkJdGItPnJlZmNvdW50Kys7Cit9CisKKy8qKgorICogZmRpc2tfdW5yZWZfdGFibGU6CisgKiBAdGI6IHRhYmxlIHBvaW50ZXIKKyAqCisgKiBEZXNjcmVtZW50cyByZWZlcmVuY2UgY291bnRlciwgb24gemVybyB0aGUgQHRiIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkLgorICovCit2b2lkIGZkaXNrX3VucmVmX3RhYmxlKHN0cnVjdCBmZGlza190YWJsZSAqdGIpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuOworCisJdGItPnJlZmNvdW50LS07CisJaWYgKHRiLT5yZWZjb3VudCA8PSAwKSB7CisJCWZkaXNrX3Jlc2V0X3RhYmxlKHRiKTsKKworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImZyZWUiKSk7CisJCWZyZWUodGIpOworCX0KK30KKworLyoqCisgKiBmZGlza190YWJsZV9pc19lbXB0eToKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSB0YWJsZSBpcyB3aXRob3V0IGZpbGVzeXN0ZW1zLCBvciAwLgorICovCitpbnQgZmRpc2tfdGFibGVfaXNfZW1wdHkoc3RydWN0IGZkaXNrX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGIgPT0gTlVMTCB8fCBsaXN0X2VtcHR5KCZ0Yi0+cGFydHMpID8gMSA6IDA7Cit9CisKKy8qKgorICogZmRpc2tfdGFibGVfZ2V0X25lbnRzOgorICogQHRiOiBwb2ludGVyIHRvIHRhYgorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBlbnRyaWVzIGluIHRhYmxlLgorICovCitzaXplX3QgZmRpc2tfdGFibGVfZ2V0X25lbnRzKHN0cnVjdCBmZGlza190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiID8gdGItPm5lbnRzIDogMDsKK30KKworLyoqCisgKiBmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbjoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBpdHI6IGl0ZXJhdG9yCisgKiBAcGE6IHJldHVybnMgdGhlIG5leHQgdGFiIGVudHJ5CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciBvciAxIGF0IHRoZSBlbmQgb2YgbGlzdC4KKyAqCisgKiBFeGFtcGxlOgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICoJd2hpbGUoZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24odGIsIGl0ciwgJnBhKSA9PSAwKSB7CisgKgkJLi4uCisgKgl9CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqLworaW50IGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCXN0cnVjdCBmZGlza19pdGVyICppdHIsCisJCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICoqcGEpCit7CisJaW50IHJjID0gMTsKKworCWlmICghdGIgfHwgIWl0ciB8fCAhcGEpCisJCXJldHVybiAtRUlOVkFMOworCSpwYSA9IE5VTEw7CisKKwlpZiAoIWl0ci0+aGVhZCkKKwkJRkRJU0tfSVRFUl9JTklUKGl0ciwgJnRiLT5wYXJ0cyk7CisJaWYgKGl0ci0+cCAhPSBpdHItPmhlYWQpIHsKKwkJRkRJU0tfSVRFUl9JVEVSQVRFKGl0ciwgKnBhLCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uLCBwYXJ0cyk7CisJCXJjID0gMDsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogZmRpc2tfdGFibGVfZ2V0X3BhcnRpdGlvbjoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBuOiBudW1iZXIgb2YgZW50cnkgaW4gdGFibGUKKyAqCisgKiBSZXR1cm5zOiBuLXRoIGVudHJ5IGZyb20gdGFibGUgb3IgTlVMTAorICovCitzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpmZGlza190YWJsZV9nZXRfcGFydGl0aW9uKAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCXNpemVfdCBuKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKworCWZkaXNrX3Jlc2V0X2l0ZXIoJml0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgJml0ciwgJnBhKSA9PSAwKSB7CisJCWlmIChuID09IDApCisJCQlyZXR1cm4gcGE7CisJCW4tLTsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uX2J5X3BhcnRubzoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYXJ0bm86IHBhcnRpdGlvbiBudW1iZXIKKyAqCisgKiBSZXR1cm5zOiBwYXJ0aXRpb24gd2l0aCBAcGFydG5vIG9yIE5VTEwuCisgKi8KK3N0cnVjdCBmZGlza19wYXJ0aXRpb24gKmZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKAorCQkJc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCXNpemVfdCBwYXJ0bm8pCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEgPSBOVUxMOworCXN0cnVjdCBmZGlza19pdGVyIGl0cjsKKworCWlmICghdGIpCisJCXJldHVybiBOVUxMOworCisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmcGEpID09IDApIHsKKwkJaWYgKHBhLT5wYXJ0bm8gPT0gcGFydG5vKQorCQkJcmV0dXJuIHBhOworCX0KKworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIGZkaXNrX3RhYmxlX2FkZF9wYXJ0aXRpb24KKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYTogbmV3IGVudHJ5CisgKgorICogQWRkcyBhIG5ldyBlbnRyeSB0byB0YWJsZSBhbmQgaW5jcmVtZW50IEBwYSByZWZlcmVuY2UgY291bnRlci4gRG9uJ3QgZm9yZ2V0IHRvCisgKiB1c2UgZmRpc2tfdW5yZWZfcGFydGl0aW9uKCkgYWZ0ZXIgZmRpc2tfdGFibGVfYWRkX3BhcnRpdGlvbigpIGlmIHlvdSB3YW50IHRvIGtlZXAKKyAqIHRoZSBAcGEgcmVmZXJlbmNlZCBieSB0aGUgdGFibGUgb25seS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBmZGlza190YWJsZV9hZGRfcGFydGl0aW9uKHN0cnVjdCBmZGlza190YWJsZSAqdGIsIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhKQoreworCWlmICghdGIgfHwgIXBhKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWZkaXNrX3JlZl9wYXJ0aXRpb24ocGEpOworCWxpc3RfYWRkX3RhaWwoJnBhLT5wYXJ0cywgJnRiLT5wYXJ0cyk7CisJdGItPm5lbnRzKys7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImFkZCBlbnRyeSAlcCBbc3RhcnQ9JWp1LCBlbmQ9JWp1LCBzaXplPSVqdSwgJXMgJXMgJXNdIiwKKwkJCXBhLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSksCisJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChwYSksCisJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUocGEpLAorCQkJZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShwYSkgPyAiZnJlZXNwYWNlIiA6ICIiLAorCQkJZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChwYSkgICAgPyAibmVzdGVkIiAgICA6ICIiLAorCQkJZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcihwYSkgPyAiY29udGFpbmVyIiA6ICJwcmltYXJ5IikpOworCXJldHVybiAwOworfQorCisvKiBpbnNlcnRzIEBwYSBhZnRlciBAcG96ICovCitzdGF0aWMgaW50IHRhYmxlX2luc2VydF9wYXJ0aXRpb24oCisJCQlzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcG96LAorCQkJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGEpCit7CisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQocGEpOworCisJZmRpc2tfcmVmX3BhcnRpdGlvbihwYSk7CisJaWYgKHBveikKKwkJbGlzdF9hZGQoJnBhLT5wYXJ0cywgJnBvei0+cGFydHMpOworCWVsc2UKKwkJbGlzdF9hZGQoJnBhLT5wYXJ0cywgJnRiLT5wYXJ0cyk7CisJdGItPm5lbnRzKys7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImluc2VydCBlbnRyeSAlcCBwcmU9JXAgW3N0YXJ0PSVqdSwgZW5kPSVqdSwgc2l6ZT0lanUsICVzICVzICVzXSIsCisJCQlwYSwgcG96ID8gcG96IDogTlVMTCwKKwkJCSh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9lbmQocGEpLAorCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKHBhKSwKKwkJCWZkaXNrX3BhcnRpdGlvbl9pc19mcmVlc3BhY2UocGEpID8gImZyZWVzcGFjZSIgOiAiIiwKKwkJCWZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQocGEpICAgID8gIm5lc3RlZCIgICAgOiAiIiwKKwkJCWZkaXNrX3BhcnRpdGlvbl9pc19jb250YWluZXIocGEpID8gImNvbnRhaW5lciIgOiAiIikpOworCXJldHVybiAwOworfQorCisvKioKKyAqIGZkaXNrX3RhYmxlX3JlbW92ZV9wYXJ0aXRpb24KKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYTogbmV3IGVudHJ5CisgKgorICogUmVtb3ZlcyB0aGUgQHBhIGZyb20gdGhlIHRhYmxlIGFuZCBkZS1pbmNyZW1lbnQgcmVmZXJlbmNlIGNvdW50ZXIgb2YgdGhlIEBwYS4gVGhlCisgKiBwYXJ0aXRpb24gd2l0aCB6ZXJvIHJlZmVyZW5jZSBjb3VudGVyIHdpbGwgYmUgZGVhbGxvY2F0ZWQuIERvbid0IGZvcmdldCB0byB1c2UKKyAqIGZkaXNrX3JlZl9wYXJ0aXRpb24oKSBiZWZvcmUgY2FsbCBmZGlza190YWJsZV9yZW1vdmVfcGFydGl0aW9uKCkgaWYgeW91IHdhbnQKKyAqIHRvIHVzZSBAcGEgbGF0ZXIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgZmRpc2tfdGFibGVfcmVtb3ZlX3BhcnRpdGlvbihzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLCBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSkKK3sKKwlpZiAoIXRiIHx8ICFwYSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInJlbW92ZSBlbnRyeSAlcCIsIHBhKSk7CisJbGlzdF9kZWwoJnBhLT5wYXJ0cyk7CisJSU5JVF9MSVNUX0hFQUQoJnBhLT5wYXJ0cyk7CisKKwlmZGlza191bnJlZl9wYXJ0aXRpb24ocGEpOworCXRiLT5uZW50cy0tOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfZ2V0X3BhcnRpdGlvbnMKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEB0YjogcmV0dXJucyB0YWJsZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWRkcyBwYXJ0aXRpb25zIGZyb20gZGlza2xhYmVsIHRvIEB0YWJsZSwgaXQgYWxsb2NhdGVzIGEgbmV3CisgKiB0YWJsZSBpZiBpZiBAdGFibGUgcG9pbnRzIHRvIE5VTEwuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvdGhlcndpc2UsIGEgY29ycmVzcG9uZGluZyBlcnJvci4KKyAqLworaW50IGZkaXNrX2dldF9wYXJ0aXRpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza190YWJsZSAqKnRiKQoreworCXNpemVfdCBpOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwgfHwgIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIWN4dC0+bGFiZWwtPm9wLT5nZXRfcGFydCkKKwkJcmV0dXJuIC1FTk9TWVM7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIgLS0gZ2V0IHRhYmxlIC0tIikpOworCisJaWYgKCEqdGIgJiYgISgqdGIgPSBmZGlza19uZXdfdGFibGUoKSkpCisJCXJldHVybiAtRU5PTUVNOworCisJZm9yIChpID0gMDsgaSA8IGN4dC0+bGFiZWwtPm5wYXJ0c19tYXg7IGkrKykgeworCQlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IE5VTEw7CisKKwkJaWYgKGZkaXNrX2dldF9wYXJ0aXRpb24oY3h0LCBpLCAmcGEpICE9IDApCisJCQljb250aW51ZTsKKwkJaWYgKGZkaXNrX3BhcnRpdGlvbl9pc191c2VkKHBhKSkKKwkJCWZkaXNrX3RhYmxlX2FkZF9wYXJ0aXRpb24oKnRiLCBwYSk7CisJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3ZvaWQgZmRpc2tfZGVidWdfcHJpbnRfdGFibGUoc3RydWN0IGZkaXNrX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmcGEpID09IDApCisJCXVsX2RlYnVnb2JqKHRiLCAicGFydGl0aW9uICVwIFtwYXJ0bm89JXp1LCBzdGFydD0lanUsIGVuZD0lanUsIHNpemU9JWp1JXMlcyVzXSAiLAorCQkJICAgIHBhLCBwYS0+cGFydG5vLAorCQkJICAgICh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJICAgICh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kKHBhKSwKKwkJCSAgICAodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X3NpemUocGEpLAorCQkJICAgIGZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQocGEpID8gIiBuZXN0ZWQiIDogIiIsCisJCQkgICAgZmRpc2tfcGFydGl0aW9uX2lzX2ZyZWVzcGFjZShwYSkgPyAiIGZyZWVzcGFjZSIgOiAiIiwKKwkJCSAgICBmZGlza19wYXJ0aXRpb25faXNfY29udGFpbmVyKHBhKSA/ICIgY29udGFpbmVyIiA6ICIiKTsKKworfQorCisKK3R5cGVkZWYJaW50ICgqZmRpc2tfcGFydGNtcF90KShzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICosIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKik7CisKK3N0YXRpYyBpbnQgY21wX3BhcnRzX3dyYXBwZXIoc3RydWN0IGxpc3RfaGVhZCAqYSwgc3RydWN0IGxpc3RfaGVhZCAqYiwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSA9IGxpc3RfZW50cnkoYSwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiwgcGFydHMpLAorCQkJICAgICAgICpwYiA9IGxpc3RfZW50cnkoYiwgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiwgcGFydHMpOworCisJZmRpc2tfcGFydGNtcF90IGNtcCA9IChmZGlza19wYXJ0Y21wX3QpIGRhdGE7CisKKwlyZXR1cm4gY21wKHBhLCBwYik7Cit9CisKKworLyoqCisgKiBmZGlza190YWJsZV9zb3J0X3BhcnRpdGlvbnM6CisgKiBAdGI6IHRhYmxlCisgKiBAY21wOiBjb21wYXJlIGZ1bmN0aW9uCisgKgorICogU29ydCBwYXJ0aXRpb24gaW4gdGhlIHRhYmxlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBmZGlza190YWJsZV9zb3J0X3BhcnRpdGlvbnMoc3RydWN0IGZkaXNrX3RhYmxlICp0YiwKKwkJCWludCAoKmNtcCkoc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqLAorCQkJCSAgIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKikpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKgorCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiQmVmb3JlIHNvcnQ6IikpOworCU9OX0RCRyhUQUIsIGZkaXNrX2RlYnVnX3ByaW50X3RhYmxlKHRiKSk7CisJKi8KKworCWxpc3Rfc29ydCgmdGItPnBhcnRzLCBjbXBfcGFydHNfd3JhcHBlciwgKHZvaWQgKikgY21wKTsKKworCS8qCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJBZnRlciBzb3J0OiIpKTsKKwlPTl9EQkcoVEFCLCBmZGlza19kZWJ1Z19wcmludF90YWJsZSh0YikpOworCSovCisKKwlyZXR1cm4gMDsKK30KKworLyogYWxsb2NhdGVzIGEgbmV3IGZyZWVzcGFjZSBkZXNjcmlwdGlvbiAqLworc3RhdGljIGludCBuZXdfZnJlZXNwYWNlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsCisJCQkgZmRpc2tfc2VjdG9yX3Qgc3RhcnQsCisJCQkgZmRpc2tfc2VjdG9yX3QgZW5kLAorCQkJIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhcmVudCwKKwkJCSBzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICoqcGEpCit7CisJZmRpc2tfc2VjdG9yX3QgYWxpZ25lZF9zdGFydCwgc2l6ZTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChwYSk7CisKKwkqcGEgPSBOVUxMOworCisJaWYgKHN0YXJ0ID09IGVuZCkKKwkJcmV0dXJuIDA7CisKKwlhc3NlcnQoc3RhcnQgPj0gY3h0LT5maXJzdF9sYmEpOworCWFzc2VydChlbmQpOworCWFzc2VydChlbmQgPiBzdGFydCk7CisKKwlhbGlnbmVkX3N0YXJ0ID0gZmRpc2tfYWxpZ25fbGJhX2luX3JhbmdlKGN4dCwgc3RhcnQsIHN0YXJ0LCBlbmQpOworCXNpemUgPSBlbmQgLSBhbGlnbmVkX3N0YXJ0ICsgMVVMTDsKKworCWlmIChzaXplID09IDApIHsKKwkJREJHKFRBQiwgdWxfZGVidWcoImlnbm9yZSBmcmVlc3BhY2UgKGFsaWduZWQgc2l6ZSBpcyB6ZXJvKSIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJKnBhID0gZmRpc2tfbmV3X3BhcnRpdGlvbigpOworCWlmICghKnBhKQorCQlyZXR1cm4gLUVOT01FTTsKKworCSgqcGEpLT5mcmVlc3BhY2UgPSAxOworCSgqcGEpLT5zdGFydCA9IGFsaWduZWRfc3RhcnQ7CisJKCpwYSktPnNpemUgPSBzaXplOworCisJaWYgKHBhcmVudCkKKwkJKCpwYSktPnBhcmVudF9wYXJ0bm8gPSBwYXJlbnQtPnBhcnRubzsKKwlyZXR1cm4gMDsKK30KKworLyogYWRkIGZyZWVzcGFjZSBkZXNjcmlwdGlvbiB0byB0aGUgcmlnaHQgcGxhY2Ugd2l0aGluIEB0YiAqLworc3RhdGljIGludCB0YWJsZV9hZGRfZnJlZXNwYWNlKAorCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCXN0cnVjdCBmZGlza190YWJsZSAqdGIsCisJCQlmZGlza19zZWN0b3JfdCBzdGFydCwKKwkJCWZkaXNrX3NlY3Rvcl90IGVuZCwKKwkJCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhcmVudCkKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYSwgKngsICpyZWFsX3BhcmVudCA9IE5VTEwsICpiZXN0ID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisJaW50IHJjID0gMDsKKworCWFzc2VydCh0Yik7CisKKwlyYyA9IG5ld19mcmVlc3BhY2UoY3h0LCBzdGFydCwgZW5kLCBwYXJlbnQsICZwYSk7CisJaWYgKHJjKQorCQlyZXR1cm4gLUVOT01FTTsKKwlpZiAoIXBhKQorCQlyZXR1cm4gMDsKKworCWFzc2VydChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSk7CisJYXNzZXJ0KGZkaXNrX3BhcnRpdGlvbl9oYXNfZW5kKHBhKSk7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImFkZGluZyBmcmVlc3BhY2UiKSk7CisKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisJaWYgKHBhcmVudCAmJiBmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhwYXJlbnQpKSB7CisJCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgJml0ciwgJngpID09IDApIHsKKwkJCWlmICghZmRpc2tfcGFydGl0aW9uX2hhc19wYXJ0bm8oeCkpCisJCQkJY29udGludWU7CisJCQlpZiAoeC0+cGFydG5vID09IHBhcmVudC0+cGFydG5vKSB7CisJCQkJcmVhbF9wYXJlbnQgPSB4OworCQkJCWJyZWFrOworCQkJfQorCQl9CisJCWlmICghcmVhbF9wYXJlbnQpIHsKKwkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibm90IGZvdW5kIGZyZWVzcGFjZSBwYXJlbnQgKHBhcnRubz0lenUpIiwKKwkJCQkJcGFyZW50LT5wYXJ0bm8pKTsKKwkJCWZkaXNrX3Jlc2V0X2l0ZXIoJml0ciwgRkRJU0tfSVRFUl9GT1JXQVJEKTsKKwkJfQorCX0KKworCXdoaWxlIChmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgJml0ciwgJngpID09IDApIHsKKwkJZmRpc2tfc2VjdG9yX3QgdGhlX2VuZCwgYmVzdF9lbmQgPSAwOworCisJCWlmICghZmRpc2tfcGFydGl0aW9uX2hhc19lbmQoeCkpCisJCQljb250aW51ZTsKKworCQl0aGVfZW5kID0gZmRpc2tfcGFydGl0aW9uX2dldF9lbmQoeCk7CisJCWlmIChiZXN0KQorCQkJYmVzdF9lbmQgPSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChiZXN0KTsKKworCQlpZiAodGhlX2VuZCA8IHBhLT5zdGFydCAmJiAoIWJlc3QgfHwgYmVzdF9lbmQgPCB0aGVfZW5kKSkKKwkJCWJlc3QgPSB4OworCX0KKworCWlmICghYmVzdCAmJiByZWFsX3BhcmVudCkKKwkJYmVzdCA9IHJlYWxfcGFyZW50OworCXJjID0gdGFibGVfaW5zZXJ0X3BhcnRpdGlvbih0YiwgYmVzdCwgcGEpOworCisJZmRpc2tfdW5yZWZfcGFydGl0aW9uKHBhKTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYWRkaW5nIGZyZWVzcGFjZSBET05FIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyogYW5hbHl6ZSBAY29udChhaW5lcikgaW4gQHBhcnRzIGFuZCBhZGQgYWxsIGRldGVjdGVkIGZyZWVzcGFjZSBpbnRvIEB0Yiwgbm90ZQorICogdGhhdCBAcGFydHMgaGFzIHRvIGJlIHNvcnRlZCBieSBwYXJ0aXRpb24gc3RhcnRzICovCitzdGF0aWMgaW50IGNoZWNrX2NvbnRhaW5lcl9mcmVlc3BhY2Uoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCQkgICAgIHN0cnVjdCBmZGlza190YWJsZSAqcGFydHMsCisJCQkJICAgICBzdHJ1Y3QgZmRpc2tfdGFibGUgKnRiLAorCQkJCSAgICAgc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqY29udCkKK3sKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisJZmRpc2tfc2VjdG9yX3QgeCwgbGFzdCwgZ3JhaW4sIGxhc3RwbHVzb2ZmOworCWludCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQocGFydHMpOworCWFzc2VydCh0Yik7CisJYXNzZXJ0KGNvbnQpOworCWFzc2VydChmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KGNvbnQpKTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYW5hbHl6ZSBjb250YWluZXIgMHglcCIsIGNvbnQpKTsKKworCWxhc3QgPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGNvbnQpOworCWdyYWluID0gY3h0LT5ncmFpbiA+IGN4dC0+c2VjdG9yX3NpemUgPwljeHQtPmdyYWluIC8gY3h0LT5zZWN0b3Jfc2l6ZSA6IDE7CisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiaW5pdGlhbGl6ZWQ6ICBsYXN0PSVqdSwgZ3JhaW49JWp1IiwKKwkgICAgICAgICAgICAgICAgICAgICAodWludG1heF90KWxhc3QsICAodWludG1heF90KWdyYWluKSk7CisKKwl3aGlsZSAoZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24ocGFydHMsICZpdHIsICZwYSkgPT0gMCkgeworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInBhcnRubz0lenUsIHN0YXJ0PSVqdSIsCisJCSAgICAgICAgICAgICAgICAgICAgIHBhLT5wYXJ0bm8sICh1aW50bWF4X3QpcGEtPnN0YXJ0KSk7CisKKwkJaWYgKCFwYS0+dXNlZCB8fCAhZmRpc2tfcGFydGl0aW9uX2lzX25lc3RlZChwYSkKKwkJCSAgICAgIHx8ICFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSkKKwkJCWNvbnRpbnVlOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZyZWVzcGFjZSBjb250YWluZXIgYW5hbHl6ZTogcGFydG5vPSV6dSwgc3RhcnQ9JWp1LCBlbmQ9JWp1IiwKKwkJCQkJcGEtPnBhcnRubywKKwkJCQkJKHVpbnRtYXhfdCkgZmRpc2tfcGFydGl0aW9uX2dldF9zdGFydChwYSksCisJCQkJCSh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfZW5kKHBhKSkpOworCisJCWxhc3RwbHVzb2ZmID0gbGFzdCArIGN4dC0+Zmlyc3RfbGJhOworCQlpZiAocGEtPnN0YXJ0ID4gbGFzdHBsdXNvZmYgJiYgcGEtPnN0YXJ0IC0gbGFzdHBsdXNvZmYgPiBncmFpbikKKwkJCXJjID0gdGFibGVfYWRkX2ZyZWVzcGFjZShjeHQsIHRiLCBsYXN0cGx1c29mZiwgcGEtPnN0YXJ0LCBjb250KTsKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCQlsYXN0ID0gZmRpc2tfcGFydGl0aW9uX2dldF9lbmQocGEpOworCX0KKworCS8qIGZyZWUtc3BhY2UgcmVtYWluaW5nIGluIGV4dGVuZGVkIHBhcnRpdGlvbiAqLworCXggPSBmZGlza19wYXJ0aXRpb25fZ2V0X3N0YXJ0KGNvbnQpICsgZmRpc2tfcGFydGl0aW9uX2dldF9zaXplKGNvbnQpIC0gMTsKKwlsYXN0cGx1c29mZiA9IGxhc3QgKyBjeHQtPmZpcnN0X2xiYTsKKwlpZiAobGFzdHBsdXNvZmYgPCB4ICYmIHggLSBsYXN0cGx1c29mZiA+IGdyYWluKSB7CisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYWRkIHJlbWFpbmluZyBzcGFjZSBpbiBjb250YWluZXIgMHglcCIsIGNvbnQpKTsKKwkJcmMgPSB0YWJsZV9hZGRfZnJlZXNwYWNlKGN4dCwgdGIsIGxhc3RwbHVzb2ZmLCB4LCBjb250KTsKKwl9CisKK2RvbmU6CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhbmFseXplIGNvbnRhaW5lciAweCVwIERPTkUgW3JjPSVkXSIsIGNvbnQsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisKKy8qKgorICogZmRpc2tfZ2V0X2ZyZWVzcGFjZXMKKyAqIEBjeHQ6IGZkaXNrIGNvbnRleHQKKyAqIEB0YjogcmV0dXJucyB0YWJsZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gYWRkcyBmcmVlc3BhY2UgKGRlc2NyaWJlZCBieSBmZGlza19wYXJ0aXRpb24pIHRvIEB0YWJsZSwgaXQKKyAqIGFsbG9jYXRlcyBhIG5ldyB0YWJsZSBpZiB0aGUgQHRhYmxlIHBvaW50cyB0byBOVUxMLgorICoKKyAqIE5vdGUgdGhhdCBmcmVlIHNwYWNlIHNtYWxsZXIgdGhhbiBncmFpbiAoc2VlIGZkaXNrX2dldF9ncmFpbl9zaXplKCkpIGlzCisgKiBpZ25vcmVkLgorCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG90aGVyd2lzZSwgYSBjb3JyZXNwb25kaW5nIGVycm9yLgorICovCitpbnQgZmRpc2tfZ2V0X2ZyZWVzcGFjZXMoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwgc3RydWN0IGZkaXNrX3RhYmxlICoqdGIpCit7CisJaW50IHJjID0gMDsKKwlzaXplX3QgbnBhcnRzID0gMDsKKwlmZGlza19zZWN0b3JfdCBsYXN0LCBncmFpbjsKKwlzdHJ1Y3QgZmRpc2tfdGFibGUgKnBhcnRzID0gTlVMTDsKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICItLSBnZXQgZnJlZXNwYWNlIC0tIikpOworCisJaWYgKCFjeHQgfHwgIWN4dC0+bGFiZWwgfHwgIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoISp0YiAmJiAhKCp0YiA9IGZkaXNrX25ld190YWJsZSgpKSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyYyA9IGZkaXNrX2dldF9wYXJ0aXRpb25zKGN4dCwgJnBhcnRzKTsKKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCWZkaXNrX3RhYmxlX3NvcnRfcGFydGl0aW9ucyhwYXJ0cywgZmRpc2tfcGFydGl0aW9uX2NtcF9zdGFydCk7CisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCWxhc3QgPSBjeHQtPmZpcnN0X2xiYTsKKwlncmFpbiA9IGN4dC0+Z3JhaW4gPiBjeHQtPnNlY3Rvcl9zaXplID8JY3h0LT5ncmFpbiAvIGN4dC0+c2VjdG9yX3NpemUgOiAxOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiaW5pdGlhbGl6ZWQ6ICBsYXN0PSVqdSwgZ3JhaW49JWp1IiwKKwkgICAgICAgICAgICAgICAgICAgICAodWludG1heF90KWxhc3QsICAodWludG1heF90KWdyYWluKSk7CisKKwkvKiBhbmFseXplIGdhcHMgYmV0d2VlbiBwYXJ0aXRpb25zICovCisJd2hpbGUgKHJjID09IDAgJiYgZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24ocGFydHMsICZpdHIsICZwYSkgPT0gMCkgeworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInBhcnRubz0lenUsIHN0YXJ0PSVqdSIsCisJCSAgICAgICAgICAgICAgICAgICAgIHBhLT5wYXJ0bm8sICh1aW50bWF4X3QpcGEtPnN0YXJ0KSk7CisKKwkJaWYgKCFwYS0+dXNlZCB8fCBwYS0+d2hvbGVkaXNrIHx8IGZkaXNrX3BhcnRpdGlvbl9pc19uZXN0ZWQocGEpCisJCQkgICAgICB8fCAhZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkpCisJCQljb250aW51ZTsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZnJlZXNwYWNlIGFuYWx5emU6IHBhcnRubz0lenUsIHN0YXJ0PSVqdSwgZW5kPSVqdSIsCisJCQkJCXBhLT5wYXJ0bm8sCisJCQkJCSh1aW50bWF4X3QpIGZkaXNrX3BhcnRpdGlvbl9nZXRfc3RhcnQocGEpLAorCQkJCQkodWludG1heF90KSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChwYSkpKTsKKworCQkvKiBXZSBpZ25vcmUgc21hbGwgZnJlZSBzcGFjZXMgKHNtYWxsZXIgdGhhbiBncmFpbikgdG8ga2VlcCBwYXJ0aXRpb25zCisJCSAqIGFsaWduZWQsIHRoZSBleGNlcHRpb24gaXMgc3BhY2UgYmVmb3JlIHRoZSBmaXJzdCBwYXJ0aXRpb24gd2hlcmUKKwkJICogd2UgYXNzdW1lIHRoYXQgY3h0LT5maXJzdF9sYmEgaXMgYWxpZ25lZC4gKi8KKwkJaWYgKGxhc3QgKyBncmFpbiA8IHBhLT5zdGFydAorCQkgICAgfHwgKGxhc3QgPCBwYS0+c3RhcnQgJiYgbnBhcnRzID09IDApKSB7CisJCQlyYyA9IHRhYmxlX2FkZF9mcmVlc3BhY2UoY3h0LCAqdGIsCisJCQkJbGFzdCArIChucGFydHMgPT0gMCA/IDAgOiAxKSwKKwkJCQlwYS0+c3RhcnQgLSAxLCBOVUxMKTsKKwkJfQorCQkvKiBhZGQgZ2FwcyBiZXR3ZWVuIGxvZ2ljYWwgcGFydGl0aW9ucyAqLworCQlpZiAoZmRpc2tfcGFydGl0aW9uX2lzX2NvbnRhaW5lcihwYSkpCisJCQlyYyA9IGNoZWNrX2NvbnRhaW5lcl9mcmVlc3BhY2UoY3h0LCBwYXJ0cywgKnRiLCBwYSk7CisJCWxhc3QgPSBmZGlza19wYXJ0aXRpb25fZ2V0X2VuZChwYSk7CisJCW5wYXJ0cysrOworCX0KKworCS8qIGFkZCBmcmVlLXNwYWNlIGJlaGluZCBsYXN0IHBhcnRpdGlvbiB0byB0aGUgZW5kIG9mIHRoZSB0YWJsZSAoc28KKwkgKiBkb24ndCB1c2UgdGFibGVfYWRkX2ZyZWVzcGFjZSgpKSAqLworCWlmIChyYyA9PSAwICYmIGxhc3QgKyBncmFpbiA8IGN4dC0+dG90YWxfc2VjdG9ycyAtIDEpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZnJlZXNwYWNlIGJlaGluZCBsYXN0IHBhcnRpdGlvbiBkZXRlY3RlZCIpKTsKKwkJcmMgPSBuZXdfZnJlZXNwYWNlKGN4dCwKKwkJCWxhc3QgKyAobGFzdCA+IGN4dC0+Zmlyc3RfbGJhIHx8IG5wYXJ0cyA/IDEgOiAwKSwKKwkJCWN4dC0+bGFzdF9sYmEsIE5VTEwsICZwYSk7CisJCWlmIChwYSkgeworCQkJZmRpc2tfdGFibGVfYWRkX3BhcnRpdGlvbigqdGIsIHBhKTsKKwkJCWZkaXNrX3VucmVmX3BhcnRpdGlvbihwYSk7CisJCX0KKwl9CisKK2RvbmU6CisJZmRpc2tfdW5yZWZfdGFibGUocGFydHMpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZ2V0IGZyZWVzcGFjZSBET05FIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBmZGlza190YWJsZV93cm9uZ19vcmRlcjoKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiAxIG9mIHRoZSB0YWJsZSBpcyBub3QgaW4gZGlzayBvcmRlcgorICovCitpbnQgZmRpc2tfdGFibGVfd3Jvbmdfb3JkZXIoc3RydWN0IGZkaXNrX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgZmRpc2tfcGFydGl0aW9uICpwYTsKKwlzdHJ1Y3QgZmRpc2tfaXRlciBpdHI7CisJZmRpc2tfc2VjdG9yX3QgbGFzdCA9IDA7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIndyb25nIG9sZGVyIGNoZWNrIikpOworCisJZmRpc2tfcmVzZXRfaXRlcigmaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCXdoaWxlICh0YiAmJiBmZGlza190YWJsZV9uZXh0X3BhcnRpdGlvbih0YiwgJml0ciwgJnBhKSA9PSAwKSB7CisJCWlmICghZmRpc2tfcGFydGl0aW9uX2hhc19zdGFydChwYSkgfHwgZmRpc2tfcGFydGl0aW9uX2lzX3dob2xlZGlzayhwYSkpCisJCQljb250aW51ZTsKKwkJaWYgKHBhLT5zdGFydCA8IGxhc3QpCisJCQlyZXR1cm4gMTsKKwkJbGFzdCA9IHBhLT5zdGFydDsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogZmRpc2tfYXBwbHlfdGFibGU6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAdGI6IHRhYmxlCisgKgorICogQWRkIHBhcnRpdGlvbnMgZnJvbSB0YWJsZSBAdGIgdG8gdGhlIGluLW1lbW9yeSBkaXNrIGxhYmVsLiBTZWUKKyAqIGZkaXNrX2FkZF9wYXJ0aXRpb24oKSwgZmRpc2tfZGVsZXRlX2FsbF9wYXJ0aXRpb25zKCkuIFRoZSBwYXJ0aXRpb25zCisgKiB0aGF0IGRvZXMgbm90IGRlZmluZSBzdGFydCAob3IgZG9lcyBub3QgZm9sbG93IHRoZSBkZWZhdWx0IHN0YXJ0KQorICogYXJlIGlnbm9yZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvci4KKyAqLworaW50IGZkaXNrX2FwcGx5X3RhYmxlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQsIHN0cnVjdCBmZGlza190YWJsZSAqdGIpCit7CisJc3RydWN0IGZkaXNrX3BhcnRpdGlvbiAqcGE7CisJc3RydWN0IGZkaXNrX2l0ZXIgaXRyOworCWludCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQodGIpOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhcHBseWluZyB0byBjb250ZXh0ICVwIiwgY3h0KSk7CisKKwlmZGlza19yZXNldF9pdGVyKCZpdHIsIEZESVNLX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHRiICYmIGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKHRiLCAmaXRyLCAmcGEpID09IDApIHsKKwkJaWYgKCFmZGlza19wYXJ0aXRpb25faGFzX3N0YXJ0KHBhKSAmJiAhcGEtPnN0YXJ0X2ZvbGxvd19kZWZhdWx0KQorCQkJY29udGludWU7CisJCXJjID0gZmRpc2tfYWRkX3BhcnRpdGlvbihjeHQsIHBhLCBOVUxMKTsKKwkJaWYgKHJjKQorCQkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCitpbnQgZmRpc2tfZGlmZl90YWJsZXMoc3RydWN0IGZkaXNrX3RhYmxlICphLCBzdHJ1Y3QgZmRpc2tfdGFibGUgKmIsCisJCSAgICAgIHN0cnVjdCBmZGlza19pdGVyICppdHIsCisJCSAgICAgIHN0cnVjdCBmZGlza19wYXJ0aXRpb24gKipyZXMsIGludCAqY2hhbmdlKQoreworCXN0cnVjdCBmZGlza19wYXJ0aXRpb24gKnBhLCAqcGI7CisJaW50IHJjID0gMTsKKworCWFzc2VydChpdHIpOworCWFzc2VydChyZXMpOworCWFzc2VydChjaGFuZ2UpOworCisJREJHKFRBQiwgdWxfZGVidWdvYmooYSwgInRhYmxlIGRpZmYgW25ldyB0YWJsZT0lcF0iLCBiKSk7CisKKwlpZiAoYSAmJiAoaXRyLT5oZWFkID09IE5VTEwgfHwgaXRyLT5oZWFkID09ICZhLT5wYXJ0cykpIHsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmooYSwgIiBzY2FubmluZyBvbGQgdGFibGUiKSk7CisJCWRvIHsKKwkJCXJjID0gZmRpc2tfdGFibGVfbmV4dF9wYXJ0aXRpb24oYSwgaXRyLCAmcGEpOworCQkJaWYgKHJjICE9IDApCisJCQkJYnJlYWs7CisJCX0gd2hpbGUgKCFmZGlza19wYXJ0aXRpb25faGFzX3BhcnRubyhwYSkpOworCX0KKworCWlmIChyYyA9PSAxICYmIGIpIHsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmooYSwgIiBzY2FubmluZyBuZXcgdGFibGUiKSk7CisJCWlmIChpdHItPmhlYWQgIT0gJmItPnBhcnRzKSB7CisJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaihhLCAiICBpbml0aWFsaXplIHRvIFRBQj0lcCIsIGIpKTsKKwkJCWZkaXNrX3Jlc2V0X2l0ZXIoaXRyLCBGRElTS19JVEVSX0ZPUldBUkQpOworCQl9CisKKwkJd2hpbGUgKGZkaXNrX3RhYmxlX25leHRfcGFydGl0aW9uKGIsIGl0ciwgJnBiKSA9PSAwKSB7CisJCQlpZiAoIWZkaXNrX3BhcnRpdGlvbl9oYXNfcGFydG5vKHBiKSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChhID09IE5VTEwgfHwKKwkJCSAgICBmZGlza190YWJsZV9nZXRfcGFydGl0aW9uX2J5X3BhcnRubyhhLCBwYi0+cGFydG5vKSA9PSBOVUxMKSB7CisJCQkJREJHKFRBQiwgdWxfZGVidWdvYmooYSwgIiAjJXp1IEFEREVEIiwgcGItPnBhcnRubykpOworCQkJCSpjaGFuZ2UgPSBGRElTS19ESUZGX0FEREVEOworCQkJCSpyZXMgPSBwYjsKKwkJCQlyZXR1cm4gMDsKKwkJCX0KKwkJfQorCX0KKworCWlmIChyYykgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaihhLCAidGFibGUgZGlmZiBkb25lIFtyYz0lZF0iLCByYykpOworCQlyZXR1cm4gcmM7CS8qIGVycm9yIG9yIGRvbmUgKi8KKwl9CisKKwlwYiA9IGZkaXNrX3RhYmxlX2dldF9wYXJ0aXRpb25fYnlfcGFydG5vKGIsIHBhLT5wYXJ0bm8pOworCisJaWYgKCFwYikgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaihhLCAiICMlenUgUkVNT1ZFRCIsIHBhLT5wYXJ0bm8pKTsKKwkJKmNoYW5nZSA9IEZESVNLX0RJRkZfUkVNT1ZFRDsKKwkJKnJlcyA9IHBhOworCX0gZWxzZSBpZiAocGItPnN0YXJ0ICE9IHBhLT5zdGFydCkgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaihhLCAiICMlenUgTU9WRUQiLCBwYi0+cGFydG5vKSk7CisJCSpjaGFuZ2UgPSBGRElTS19ESUZGX01PVkVEOworCQkqcmVzID0gcGI7CisJfSBlbHNlIGlmIChwYi0+c2l6ZSAhPSBwYS0+c2l6ZSkgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaihhLCAiICMlenUgUkVTSVpFRCIsIHBiLT5wYXJ0bm8pKTsKKwkJKmNoYW5nZSA9IEZESVNLX0RJRkZfUkVTSVpFRDsKKwkJKnJlcyA9IHBiOworCX0gZWxzZSB7CisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKGEsICIgIyV6dSBVTkNIQU5HRUQiLCBwYi0+cGFydG5vKSk7CisJCSpjaGFuZ2UgPSBGRElTS19ESUZGX1VOQ0hBTkdFRDsKKwkJKnJlcyA9IHBhOworCX0KKwlyZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL3Rlc3QuYyBiL2xpYmZkaXNrL3NyYy90ZXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzFlZDdlMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy90ZXN0LmMKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogUm91dGluZXMgZm9yIFRFU1RfUFJPR1JBTXMKKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2lmbmRlZiBURVNUX1BST0dSQU0KKyNkZWZpbmUgVEVTVF9QUk9HUkFNCisjZW5kaWYKKworI2luY2x1ZGUgImZkaXNrUC5oIgorCitpbnQgZmRpc2tfcnVuX3Rlc3Qoc3RydWN0IGZkaXNrX3Rlc3QgKnRlc3RzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCByYyA9IC0xOworCXN0cnVjdCBmZGlza190ZXN0ICp0czsKKworCWFzc2VydCh0ZXN0cyk7CisJYXNzZXJ0KGFyZ2MpOworCWFzc2VydChhcmd2KTsKKworCWlmIChhcmdjIDwgMiB8fAorCSAgICBzdHJjbXAoYXJndlsxXSwgIi0taGVscCIpID09IDAgfHwKKwkgICAgc3RyY21wKGFyZ3ZbMV0sICItaCIpID09IDApCisJCWdvdG8gdXNhZ2U7CisKKwlmZGlza19pbml0X2RlYnVnKDApOworCisJZm9yICh0cyA9IHRlc3RzOyB0cy0+bmFtZTsgdHMrKykgeworCQlpZiAoc3RyY21wKHRzLT5uYW1lLCBhcmd2WzFdKSA9PSAwKSB7CisJCQlyYyA9IHRzLT5ib2R5KHRzLCBhcmdjIC0gMSwgYXJndiArIDEpOworCQkJaWYgKHJjKQorCQkJCXByaW50ZigiRkFJTEVEIFtyYz0lZF0iLCByYyk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmIChyYyA8IDAgJiYgdHMtPm5hbWUgPT0gTlVMTCkKKwkJZ290byB1c2FnZTsKKworCXJldHVybiByYyA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFOwordXNhZ2U6CisJcHJpbnRmKCJcblVzYWdlOlxuXHQlcyA8dGVzdD4gW3Rlc3RvcHRpb25zXVxuVGVzdHM6XG4iLAorCQkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCWZvciAodHMgPSB0ZXN0czsgdHMtPm5hbWU7IHRzKyspIHsKKwkJcHJpbnRmKCJcdCUtMTVzIiwgdHMtPm5hbWUpOworCQlpZiAodHMtPnVzYWdlKQorCQkJcHJpbnRmKCIgJXNcbiIsIHRzLT51c2FnZSk7CisJfQorCXByaW50ZigiXG4iKTsKKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL3V0aWxzLmMgYi9saWJmZGlzay9zcmMvdXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTU0MDkwCi0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL3V0aWxzLmMKQEAgLTAsMCArMSwyMTMgQEAKKworI2luY2x1ZGUgImZkaXNrUC5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKworLyoqCisgKiBTRUNUSU9OOiB1dGlscworICogQHRpdGxlOiBVdGlscworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBtaXNjIGZkaXNrIGZ1bmN0aW9ucworICovCisKK3N0YXRpYyBpbnQgcmVhZF9mcm9tX2RldmljZShzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQl1bnNpZ25lZCBjaGFyICpidWYsCisJCXVpbnRtYXhfdCBzdGFydCwgc2l6ZV90IHNpemUpCit7CisJc3NpemVfdCByOworCisJYXNzZXJ0KGN4dCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJyZWFkaW5nOiBvZmZzZXQ9JWp1LCBzaXplPSV6dSIsCisJCQkJc3RhcnQsIHNpemUpKTsKKworCXIgPSBsc2VlayhjeHQtPmRldl9mZCwgc3RhcnQsIFNFRUtfU0VUKTsKKwlpZiAociA9PSAtMSkKKwl7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZhaWxlZCB0byBzZWVrIHRvIG9mZnNldCAlanU6ICVtIiwgc3RhcnQpKTsKKwkJcmV0dXJuIC1lcnJubzsKKwl9CisKKwlyID0gcmVhZChjeHQtPmRldl9mZCwgYnVmLCBzaXplKTsKKwlpZiAociA8IDAgfHwgKHNpemVfdClyICE9IHNpemUpIHsKKwkJaWYgKCFlcnJubykKKwkJCWVycm5vID0gRUlOVkFMOwkvKiBwcm9iYWJseSB0b28gc21hbGwgZmlsZS9kZXZpY2UgKi8KKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZmFpbGVkIHRvIHJlYWQgJXp1IGZyb20gb2Zmc2V0ICVqdTogJW0iLAorCQkJCXNpemUsIHN0YXJ0KSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJcmV0dXJuIDA7Cit9CisKKworLyoKKyAqIFplcm9zIGluLW1lbW9yeSBmaXJzdCBzZWN0b3IgYnVmZmVyCisgKi8KK2ludCBmZGlza19pbml0X2ZpcnN0c2VjdG9yX2J1ZmZlcihzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0LAorCQkJCSAgdW5zaWduZWQgaW50IHByb3RlY3Rfb2ZmLAorCQkJCSAgdW5zaWduZWQgaW50IHByb3RlY3Rfc2l6ZSkKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlhc3NlcnQocHJvdGVjdF9vZmYgKyBwcm90ZWN0X3NpemUgPD0gY3h0LT5zZWN0b3Jfc2l6ZSk7CisKKwlpZiAoIWN4dC0+Zmlyc3RzZWN0b3IgfHwgY3h0LT5maXJzdHNlY3Rvcl9idWZzeiAhPSBjeHQtPnNlY3Rvcl9zaXplKSB7CisJCS8qIExldCdzIGFsbG9jYXRlIGEgbmV3IGJ1ZmZlciBpZiBubyBhbGxvY2F0ZWQgeWV0LCBvciB0aGUKKwkJICogY3VycmVudCBidWZmZXIgaGFzIGluY29ycmVjdCBzaXplICovCisJCWlmICghY3h0LT5wYXJlbnQgfHwgY3h0LT5wYXJlbnQtPmZpcnN0c2VjdG9yICE9IGN4dC0+Zmlyc3RzZWN0b3IpCisJCQlmcmVlKGN4dC0+Zmlyc3RzZWN0b3IpOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImluaXRpYWxpemUgaW4tbWVtb3J5IGZpcnN0IHNlY3RvciAiCisJCQkJImJ1ZmZlciBbc2VjdG9yX3NpemU9JWx1XSIsIGN4dC0+c2VjdG9yX3NpemUpKTsKKwkJY3h0LT5maXJzdHNlY3RvciA9IGNhbGxvYygxLCBjeHQtPnNlY3Rvcl9zaXplKTsKKwkJaWYgKCFjeHQtPmZpcnN0c2VjdG9yKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJY3h0LT5maXJzdHNlY3Rvcl9idWZzeiA9IGN4dC0+c2VjdG9yX3NpemU7CisJCXJldHVybiAwOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInplcm9pemUgaW4tbWVtb3J5IGZpcnN0IHNlY3RvciBidWZmZXIiKSk7CisJbWVtc2V0KGN4dC0+Zmlyc3RzZWN0b3IsIDAsIGN4dC0+Zmlyc3RzZWN0b3JfYnVmc3opOworCisJaWYgKHByb3RlY3Rfc2l6ZSkgeworCQkvKgorCQkgKiBJdCB3b3VsZCBiZSBwb3NzaWJsZSB0byByZXVzZSBkYXRhIGZyb20gY3h0LT5maXJzdHNlY3RvcgorCQkgKiAoY2FsbCBtZW1zZXQoKSBmb3Igbm9uLXByb3RlY3RlZCBhcmVhIG9ubHkpIGFuZCBhdm9pZCBvbmUKKwkJICogcmVhZCgpIGZyb20gdGhlIGRldmljZSwgYnV0IGl0IHNlZW1zIGxpa2UgYSB0b28gZnJhZ2lsZQorCQkgKiBzb2x1dGlvbiBhcyB3ZSBoYXZlIG5vIGNsdWUgYWJvdXQgc3R1ZmYgaW4gdGhlIGJ1ZmZlciAtLQorCQkgKiBtYXliZSBpdCB3YXMgYWxyZWFkeSBtb2RpZmllZC4gTGV0J3MgcmUtcmVhZCBmcm9tIHRoZSBkZXZpY2UKKwkJICogdG8gYmUgc3VyZS4JCQktLSBremFrIDEzLUFwci0yMDE1CisJCSAqLworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmaXJzdCBzZWN0b3IgcHJvdGVjdGlvbiBlbmFibGVkIC0tIHJlLXJlYWRpbmciKSk7CisJCXJlYWRfZnJvbV9kZXZpY2UoY3h0LCBjeHQtPmZpcnN0c2VjdG9yLCBwcm90ZWN0X29mZiwgcHJvdGVjdF9zaXplKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK2ludCBmZGlza19yZWFkX2ZpcnN0c2VjdG9yKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+c2VjdG9yX3NpemUpOworCisJcmMgPSBmZGlza19pbml0X2ZpcnN0c2VjdG9yX2J1ZmZlcihjeHQsIDAsIDApOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJYXNzZXJ0KGN4dC0+c2VjdG9yX3NpemUgPT0gY3h0LT5maXJzdHNlY3Rvcl9idWZzeik7CisKKworCXJldHVybiAgcmVhZF9mcm9tX2RldmljZShjeHQsIGN4dC0+Zmlyc3RzZWN0b3IsIDAsIGN4dC0+c2VjdG9yX3NpemUpOworfQorCisvKioKKyAqIGZkaXNrX3BhcnRuYW1lOgorICogQGRldjogZGV2aWNlIG5hbWUKKyAqIEBwYXJ0bm86IHBhcnRpdGlvbiBuYW1lCisgKgorICogUmV0dXJuOiBhbGxvY2F0ZWQgYnVmZmVyIHdpdGggcGFydGl0aW9uIG5hbWUsIHVzZSBmcmVlKCkgdG8gZGVhbGxvY2F0ZS4KKyAqLworY2hhciAqZmRpc2tfcGFydG5hbWUoY29uc3QgY2hhciAqZGV2LCBzaXplX3QgcGFydG5vKQoreworCWNoYXIgKnJlcyA9IE5VTEw7CisJY29uc3QgY2hhciAqcCA9ICIiOworCWNoYXIgKmRldl9tYXBwZWQgPSBOVUxMOworCWludCB3ID0gMDsKKworCWlmICghZGV2IHx8ICEqZGV2KSB7CisJCWlmIChhc3ByaW50ZigmcmVzLCAiJXpkIiwgcGFydG5vKSA+IDApCisJCQlyZXR1cm4gcmVzOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwkvKiBJdCBpcyBpbXBvc3NpYmxlIHRvIHByZWRpY3QgL2Rldi9kbS1OIHBhcnRpdGlvbiBuYW1lcy4gKi8KKwlpZiAoc3RybmNtcChkZXYsICIvZGV2L2RtLSIsIHNpemVvZigiL2Rldi9kbS0iKSAtIDEpID09IDApIHsKKwkJZGV2X21hcHBlZCA9IGNhbm9uaWNhbGl6ZV9kbV9uYW1lIChkZXYgKyA1KTsKKwkJaWYgKGRldl9tYXBwZWQpCisJCQlkZXYgPSBkZXZfbWFwcGVkOworCX0KKworCXcgPSBzdHJsZW4oZGV2KTsKKwlpZiAoaXNkaWdpdChkZXZbdyAtIDFdKSkKKyNpZmRlZiBfX0dOVV9fCisJCXAgPSAicyI7CisjZWxzZQorCQlwID0gInAiOworI2VuZGlmCisKKwkvKiBkZXZmcyBrbHVkZ2UgLSBub3RlOiBmZGlzayBwYXJ0aXRpb24gbmFtZXMgYXJlIG5vdCBzdXBwb3NlZAorCSAgIHRvIGVxdWFsIGtlcm5lbCBuYW1lcywgc28gdGhlcmUgaXMgbm8gcmVhc29uIHRvIGRvIHRoaXMgKi8KKwlpZiAoc3RyY21wKGRldiArIHcgLSA0LCAiZGlzYyIpID09IDApIHsKKwkJdyAtPSA0OworCQlwID0gInBhcnQiOworCX0KKworCS8qIHVkZXYgbmFtZXMgcGFydGl0aW9ucyBieSBhcHBlbmRpbmcgLXBhcnROCisJICAgZS5nLiBhdGEtU0FNU1VOR19TVjgwMDRIXzAzNTdKMUZUNzEyNDQ4LXBhcnQxCisJICAgbXVsdGlwYXRoLXRvb2xzIGtwYXJ0eC5ydWxlcyBhbHNvIGFwcGVuZCAtcGFydE4gKi8KKwlpZiAoKHN0cm5jbXAoZGV2LCBfUEFUSF9ERVZfQllJRCwgc2l6ZW9mKF9QQVRIX0RFVl9CWUlEKSAtIDEpID09IDApIHx8CisJICAgICBzdHJuY21wKGRldiwgX1BBVEhfREVWX0JZUEFUSCwgc2l6ZW9mKF9QQVRIX0RFVl9CWVBBVEgpIC0gMSkgPT0gMCB8fAorCSAgICAgc3RybmNtcChkZXYsICIvZGV2L21hcHBlciIsIHNpemVvZigiL2Rldi9tYXBwZXIiKSAtIDEpID09IDApIHsKKworCQkvKiBjaGVjayBmb3IgPG5hbWU+PHBhcnRubz4sIGUuZy4gbXBhdGhhMSAqLworCQlpZiAoYXNwcmludGYoJnJlcywgIiUuKnMlenUiLCB3LCBkZXYsIHBhcnRubykgPD0gMCkKKwkJCXJlcyA9IE5VTEw7CisJCWlmIChyZXMgJiYgYWNjZXNzKHJlcywgRl9PSykgPT0gMCkKKwkJCWdvdG8gZG9uZTsKKworCQlmcmVlKHJlcyk7CisKKwkJLyogY2hlY2sgZm9yIHBhcnRpdGlvbiBzZXBlcmF0b3IgInAiICovCisJCWlmIChhc3ByaW50ZigmcmVzLCAiJS4qc3AlenUiLCB3LCBkZXYsIHBhcnRubykgPD0gMCkKKwkJCXJlcyA9IE5VTEw7CisJCWlmIChyZXMgJiYgYWNjZXNzKHJlcywgRl9PSykgPT0gMCkKKwkJCWdvdG8gZG9uZTsKKworCQlmcmVlKHJlcyk7CisKKwkJLyogb3RoZXJ3aXNlLCBkZWZhdWx0IHRvICItcGF0aCIgKi8KKwkJcCA9ICItcGFydCI7CisJfQorCisJaWYgKGFzcHJpbnRmKCZyZXMsICIlLipzJXMlenUiLCB3LCBkZXYsIHAsIHBhcnRubykgPD0gMCkKKwkJcmVzID0gTlVMTDsKK2RvbmU6CisJZnJlZShkZXZfbWFwcGVkKTsKKwlyZXR1cm4gcmVzOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitzdHJ1Y3QgZmRpc2tfbGFiZWwgKmZkaXNrX25ld19kb3NfbGFiZWwoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCkgeyByZXR1cm4gTlVMTDsgfQorc3RydWN0IGZkaXNrX2xhYmVsICpmZGlza19uZXdfYnNkX2xhYmVsKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpIHsgcmV0dXJuIE5VTEw7IH0KKworc3RhdGljIGludCB0ZXN0X3BhcnRuYW1lcyhzdHJ1Y3QgZmRpc2tfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc2l6ZV90IGk7CisJY29uc3QgY2hhciAqZGlzayA9IGFyZ3ZbMV07CisKKwlmb3IgKGkgPSAwOyBpIDwgNTsgaSsrKSB7CisJCWNoYXIgKnAgPSBmZGlza19wYXJ0bmFtZShkaXNrLCBpICsgMSk7CisJCWlmIChwKQorCQkJcHJpbnRmKCIlenU6ICclcydcbiIsIGkgKyAxLCBwKTsKKwkJZnJlZShwKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgZmRpc2tfdGVzdCB0c3NbXSA9IHsKKwkJeyAiLS1wYXJ0bmFtZXMiLCAgdGVzdF9wYXJ0bmFtZXMsICAiPGRpc2tuYW1lPiIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIGZkaXNrX3J1bl90ZXN0KHRzcywgYXJnYywgYXJndik7Cit9CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGliZmRpc2svc3JjL3ZlcnNpb24uYyBiL2xpYmZkaXNrL3NyYy92ZXJzaW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ4NGI0YwotLS0gL2Rldi9udWxsCisrKyBiL2xpYmZkaXNrL3NyYy92ZXJzaW9uLmMKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiB2ZXJzaW9uLmMgLSBSZXR1cm4gdGhlIHZlcnNpb24gb2YgdGhlIGxpYnJhcnkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICovCisKKy8qKgorICogU0VDVElPTjogdmVyc2lvbi11dGlscworICogQHRpdGxlOiBWZXJzaW9uIGZ1bmN0aW9ucworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBsaWJyYXJ5IHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJmZGlza1AuaCIKKworc3RhdGljIGNvbnN0IGNoYXIgKmxpYl92ZXJzaW9uID0gTElCRkRJU0tfVkVSU0lPTjsKK3N0YXRpYyBjb25zdCBjaGFyICpsaWJfZmVhdHVyZXNbXSA9IHsKKyNpZiAhZGVmaW5lZChOREVCVUcpCS8qIGxpYmMgYXNzZXJ0Lmggc3R1ZmYgKi8KKwkiYXNzZXJ0IiwKKyNlbmRpZgorCSJkZWJ1ZyIsCS8qIGFsd2F5cyBlbmFibGVkICovCisJTlVMTAorfTsKKworLyoqCisgKiBmZGlza19wYXJzZV92ZXJzaW9uX3N0cmluZzoKKyAqIEB2ZXJfc3RyaW5nOiB2ZXJzaW9uIHN0cmluZyAoZS5nICIyLjE4LjAiKQorICoKKyAqIFJldHVybnM6IHJlbGVhc2UgdmVyc2lvbiBjb2RlLgorICovCitpbnQgZmRpc2tfcGFyc2VfdmVyc2lvbl9zdHJpbmcoY29uc3QgY2hhciAqdmVyX3N0cmluZykKK3sKKwljb25zdCBjaGFyICpjcDsKKwlpbnQgdmVyc2lvbiA9IDA7CisKKwlhc3NlcnQodmVyX3N0cmluZyk7CisKKwlmb3IgKGNwID0gdmVyX3N0cmluZzsgKmNwOyBjcCsrKSB7CisJCWlmICgqY3AgPT0gJy4nKQorCQkJY29udGludWU7CisJCWlmICghaXNkaWdpdCgqY3ApKQorCQkJYnJlYWs7CisJCXZlcnNpb24gPSAodmVyc2lvbiAqIDEwKSArICgqY3AgLSAnMCcpOworCX0KKwlyZXR1cm4gdmVyc2lvbjsKK30KKworLyoqCisgKiBmZGlza19nZXRfbGlicmFyeV92ZXJzaW9uOgorICogQHZlcl9zdHJpbmc6IHJldHVybiBwb2ludGVyIHRvIHRoZSBzdGF0aWMgbGlicmFyeSB2ZXJzaW9uIHN0cmluZyBpZiBub3QgTlVMTAorICoKKyAqIFJldHVybnM6IHJlbGVhc2UgdmVyc2lvbiBudW1iZXIuCisgKi8KK2ludCBmZGlza19nZXRfbGlicmFyeV92ZXJzaW9uKGNvbnN0IGNoYXIgKip2ZXJfc3RyaW5nKQoreworCWlmICh2ZXJfc3RyaW5nKQorCQkqdmVyX3N0cmluZyA9IGxpYl92ZXJzaW9uOworCisJcmV0dXJuIGZkaXNrX3BhcnNlX3ZlcnNpb25fc3RyaW5nKGxpYl92ZXJzaW9uKTsKK30KKworLyoqCisgKiBmZGlza19nZXRfbGlicmFyeV9mZWF0dXJlczoKKyAqIEBmZWF0dXJlczogcmV0dXJucyBhIHBvaW50ZXIgdG8gdGhlIHN0YXRpYyBhcnJheSBvZiBzdHJpbmdzLCB0aGUgYXJyYXkgaXMKKyAqICAgICAgICAgICAgdGVybWluYXRlZCBieSBOVUxMLgorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBpdGVtcyBpbiB0aGUgZmVhdHVyZXMgYXJyYXkgbm90IGluY2x1ZGluZyB0aGUgbGFzdCBOVUxMLAorICogICAgICAgICAgb3IgbGVzcyB0aGFuIHplcm8gaW4gY2FzZSBvZiBlcnJvcgorICoKKyAqIEV4YW1wbGU6CisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKgljb25zdCBjaGFyICpmZWF0dXJlczsKKyAqCisgKglmZGlza19nZXRfbGlicmFyeV9mZWF0dXJlcygmZmVhdHVyZXMpOworICoJd2hpbGUgKGZlYXR1cmVzICYmICpmZWF0dXJlcykKKyAqCQlwcmludGYoIiVzXG4iLCAqZmVhdHVyZXMrKyk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKi8KK2ludCBmZGlza19nZXRfbGlicmFyeV9mZWF0dXJlcyhjb25zdCBjaGFyICoqKmZlYXR1cmVzKQoreworCWlmICghZmVhdHVyZXMpCisJCXJldHVybiAtRUlOVkFMOworCisJKmZlYXR1cmVzID0gbGliX2ZlYXR1cmVzOworCXJldHVybiBBUlJBWV9TSVpFKGxpYl9mZWF0dXJlcykgLSAxOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCitzdGF0aWMgaW50IHRlc3RfdmVyc2lvbihzdHJ1Y3QgZmRpc2tfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqdmVyOworCWNvbnN0IGNoYXIgKipmZWF0dXJlczsKKworCWZkaXNrX2dldF9saWJyYXJ5X3ZlcnNpb24oJnZlcik7CisKKwlwcmludGYoIkxpYnJhcnkgdmVyc2lvbjogJXNcbiIsIHZlcik7CisJcHJpbnRmKCJMaWJyYXJ5IEFQSSB2ZXJzaW9uOiAiIExJQkZESVNLX1ZFUlNJT04gIlxuIik7CisJcHJpbnRmKCJMaWJyYXJ5IGZlYXR1cmVzOiIpOworCisJZmRpc2tfZ2V0X2xpYnJhcnlfZmVhdHVyZXMoJmZlYXR1cmVzKTsKKwl3aGlsZSAoZmVhdHVyZXMgJiYgKmZlYXR1cmVzKQorCQlwcmludGYoIiAlcyIsICpmZWF0dXJlcysrKTsKKworCWlmIChmZGlza19nZXRfbGlicmFyeV92ZXJzaW9uKE5VTEwpID09CisJCQlmZGlza19wYXJzZV92ZXJzaW9uX3N0cmluZyhMSUJGRElTS19WRVJTSU9OKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gLTE7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGZkaXNrX3Rlc3QgdHNbXSA9IHsKKwkJeyAiLS1wcmludCIsIHRlc3RfdmVyc2lvbiwgInByaW50IHZlcnNpb25zIiB9LAorCQl7IE5VTEwgfQorCX07CisKKwlyZXR1cm4gZmRpc2tfcnVuX3Rlc3QodHMsIGFyZ2MsIGFyZ3YpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJmZGlzay9zcmMvd2lwZS5jIGIvbGliZmRpc2svc3JjL3dpcGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYjFkN2I4Ci0tLSAvZGV2L251bGwKKysrIGIvbGliZmRpc2svc3JjL3dpcGUuYwpAQCAtMCwwICsxLDIwOSBAQAorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisjaWZkZWYgSEFWRV9MSUJCTEtJRAorIyBpbmNsdWRlIDxibGtpZC5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJmZGlza1AuaCIKKworc3RydWN0IGZkaXNrX3dpcGUgeworCXN0cnVjdCBsaXN0X2hlYWQJd2lwZXM7CisJdWludDY0X3QJCXN0YXJ0OwkJLyogc2VjdG9ycyAqLworCXVpbnQ2NF90CQlzaXplOwkJLyogc2VjdG9ycyAqLworfTsKKworc3RhdGljIHN0cnVjdCBmZGlza193aXBlICpmZGlza19nZXRfd2lwZV9hcmVhKAorCQkJc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCXVpbnQ2NF90IHN0YXJ0LAorCQkJdWludDY0X3Qgc2l6ZSkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJaWYgKGN4dCA9PSBOVUxMIHx8IGxpc3RfZW1wdHkoJmN4dC0+d2lwZXMpKQorCQlyZXR1cm4gTlVMTDsKKworCWxpc3RfZm9yX2VhY2gocCwgJmN4dC0+d2lwZXMpIHsKKwkJc3RydWN0IGZkaXNrX3dpcGUgKndwID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgZmRpc2tfd2lwZSwgd2lwZXMpOworCQlpZiAod3AtPnN0YXJ0ID09IHN0YXJ0ICYmIHdwLT5zaXplID09IHNpemUpCisJCQlyZXR1cm4gd3A7CisJfQorCXJldHVybiBOVUxMOworfQorCit2b2lkIGZkaXNrX2ZyZWVfd2lwZV9hcmVhcyhzdHJ1Y3QgZmRpc2tfY29udGV4dCAqY3h0KQoreworCXdoaWxlICghbGlzdF9lbXB0eSgmY3h0LT53aXBlcykpIHsKKwkJc3RydWN0IGZkaXNrX3dpcGUgKndwID0gbGlzdF9lbnRyeShjeHQtPndpcGVzLm5leHQsCisJCQkJICAgICAgICAgICAgICAgICAgc3RydWN0IGZkaXNrX3dpcGUsIHdpcGVzKTsKKwkJREJHKFdJUEUsIHVsX2RlYnVnb2JqKHdwLCAiZnJlZSBbc3RhcnQ9JWp1LCBzaXplPSVqdV0iLAorCQkJCSh1aW50bWF4X3QpIHdwLT5zdGFydCwgKHVpbnRtYXhfdCkgd3AtPnNpemUpKTsKKwkJbGlzdF9kZWwoJndwLT53aXBlcyk7CisJCWZyZWUod3ApOworCX0KK30KKworaW50IGZkaXNrX2hhc193aXBlX2FyZWEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCXVpbnQ2NF90IHN0YXJ0LAorCQkJdWludDY0X3Qgc2l6ZSkKK3sKKwlyZXR1cm4gZmRpc2tfZ2V0X3dpcGVfYXJlYShjeHQsIHN0YXJ0LCBzaXplKSAhPSBOVUxMOworfQorCisvKiBBZGQvcmVtb3ZlIG5ldyB3aXBpbmcgYXJlYQorICoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCBvciBvbGQgYXJlYSBzZXR0aW5nICgxOiBlbmFibGVkLCAwOiBkaXNhYmxlZCkKKyAqLworaW50IGZkaXNrX3NldF93aXBlX2FyZWEoc3RydWN0IGZkaXNrX2NvbnRleHQgKmN4dCwKKwkJCXVpbnQ2NF90IHN0YXJ0LAorCQkJdWludDY0X3Qgc2l6ZSwKKwkJCWludCBlbmFibGUpCit7CisJc3RydWN0IGZkaXNrX3dpcGUgKndwOworCisJaWYgKEZESVNLX0lTX1VOREVGKHN0YXJ0KSB8fCBGRElTS19JU19VTkRFRihzaXplKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl3cCA9IGZkaXNrX2dldF93aXBlX2FyZWEoY3h0LCBzdGFydCwgc2l6ZSk7CisKKwkvKiBkaXNhYmxlICovCisJaWYgKCFlbmFibGUpIHsKKwkJaWYgKHdwKSB7CisJCQlEQkcoV0lQRSwgdWxfZGVidWdvYmood3AsICJkaXNhYmxlIFtzdGFydD0lanUsIHNpemU9JWp1XSIsCisJCQkJCQkodWludG1heF90KSBzdGFydCwgKHVpbnRtYXhfdCkgc2l6ZSkpOworCQkJbGlzdF9kZWwoJndwLT53aXBlcyk7CisJCQlmcmVlKHdwKTsKKwkJCXJldHVybiAxOworCQl9CisJCXJldHVybiAwOworCX0KKworCS8qIGVuYWJsZSAqLworCWlmICh3cCkKKwkJcmV0dXJuIDE7CS8qIGFscmVhZHkgZW5hYmxlZCAqLworCisJd3AgPSBjYWxsb2MoMSwgc2l6ZW9mKCp3cCkpOworCWlmICghd3ApCisJCXJldHVybiAtRU5PTUVNOworCisJREJHKFdJUEUsIHVsX2RlYnVnb2JqKHdwLCAiZW5hYmxlIFtzdGFydD0lanUsIHNpemU9JWp1XSIsCisJCQkJKHVpbnRtYXhfdCkgc3RhcnQsICh1aW50bWF4X3QpIHNpemUpKTsKKworCUlOSVRfTElTVF9IRUFEKCZ3cC0+d2lwZXMpOworCXdwLT5zdGFydCA9IHN0YXJ0OworCXdwLT5zaXplID0gc2l6ZTsKKwlsaXN0X2FkZF90YWlsKCZ3cC0+d2lwZXMsICZjeHQtPndpcGVzKTsKKworCXJldHVybiAwOworfQorCisjaWZuZGVmIEhBVkVfTElCQkxLSUQKK2ludCBmZGlza19kb193aXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXJldHVybiAwOworfQorI2Vsc2UKK2ludCBmZGlza19kb193aXBlKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKwlibGtpZF9wcm9iZSBwcjsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5kZXZfZmQgPj0gMCk7CisKKwlpZiAobGlzdF9lbXB0eSgmY3h0LT53aXBlcykpCisJCXJldHVybiAwOworCisJcHIgPSBibGtpZF9uZXdfcHJvYmUoKTsKKwlpZiAoIXByKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWxpc3RfZm9yX2VhY2gocCwgJmN4dC0+d2lwZXMpIHsKKwkJc3RydWN0IGZkaXNrX3dpcGUgKndwID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgZmRpc2tfd2lwZSwgd2lwZXMpOworCQlibGtpZF9sb2ZmX3Qgc3RhcnQgPSAoYmxraWRfbG9mZl90KSB3cC0+c3RhcnQgKiBjeHQtPnNlY3Rvcl9zaXplLAorCQkJICAgICBzaXplID0gKGJsa2lkX2xvZmZfdCkgd3AtPnNpemUgKiBjeHQtPnNlY3Rvcl9zaXplOworCisJCURCRyhXSVBFLCB1bF9kZWJ1Z29iaih3cCwgImluaXRpYWxpemUgbGliYmxraWQgcHJvYmVyIFtzdGFydD0lanUsIHNpemU9JWp1XSIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh1aW50bWF4X3QpIHN0YXJ0LCAodWludG1heF90KSBzaXplKSk7CisKKwkJcmMgPSBibGtpZF9wcm9iZV9zZXRfZGV2aWNlKHByLCBjeHQtPmRldl9mZCwgc3RhcnQsIHNpemUpOworCQlpZiAocmMpIHsKKwkJCURCRyhXSVBFLCB1bF9kZWJ1Z29iaih3cCwgImJsa2lkX3Byb2JlX3NldF9kZXZpY2UoKSBmYWlsZWQgW3JjPSVkXSIsIHJjKSk7CisJCQlyZXR1cm4gcmM7CisJCX0KKworCQlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCQlibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MocHIsIEJMS0lEX1NVQkxLU19NQUdJQyk7CisJCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAxKTsKKwkJYmxraWRfcHJvYmVfc2V0X3BhcnRpdGlvbnNfZmxhZ3MocHIsIEJMS0lEX1BBUlRTX01BR0lDKTsKKworCQl3aGlsZSAoYmxraWRfZG9fcHJvYmUocHIpID09IDApIHsKKwkJCURCRyhXSVBFLCB1bF9kZWJ1Z29iaih3cCwgIiB3aXBpbmcuLi4iKSk7CisJCQlibGtpZF9kb193aXBlKHByLCBGQUxTRSk7CisJCX0KKwl9CisKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisKKy8qCisgKiBQbGVhc2UgZG9uJ3QgY2FsbCB0aGlzIGZ1bmN0aW9uIGlmIHRoZXJlIGlzIGFscmVhZHkgYSBQVC4KKyAqCisgKiBSZXR1cm5zOiAwIGlmIG5vdGhpbmcgZm91bmQsIDwgMCBvbiBlcnJvciwgMSBpZiBmb3VuZCBhIHNpZ25hdHVyZQorICovCisjaWZuZGVmIEhBVkVfTElCQkxLSUQKK2ludCBmZGlza19jaGVja19jb2xsaXNpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXJldHVybiAwOworfQorI2Vsc2UKK2ludCBmZGlza19jaGVja19jb2xsaXNpb25zKHN0cnVjdCBmZGlza19jb250ZXh0ICpjeHQpCit7CisJaW50IHJjID0gMDsKKwlibGtpZF9wcm9iZSBwcjsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmRldl9mZCA+PSAwKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIndpcGUgY2hlY2s6IGluaXRpYWxpemUgbGliYmxraWQgcHJvYmVyIikpOworCisJcHIgPSBibGtpZF9uZXdfcHJvYmUoKTsKKwlpZiAoIXByKQorCQlyZXR1cm4gLUVOT01FTTsKKwlyYyA9IGJsa2lkX3Byb2JlX3NldF9kZXZpY2UocHIsIGN4dC0+ZGV2X2ZkLCAwLCAwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWN4dC0+cHRfY29sbGlzaW9uID0gMDsKKwlmcmVlKGN4dC0+Y29sbGlzaW9uKTsKKwljeHQtPmNvbGxpc2lvbiA9IE5VTEw7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwgQkxLSURfU1VCTEtTX1RZUEUpOworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAxKTsKKworCS8qIHdlIGNhcmUgYWJvdXQgdGhlIGZpcnN0IGZvdW5kIEZTL3JhaWQsIHNvIGRvbid0IGNhbGwgYmxraWRfZG9fcHJvYmUoKQorCSAqIGluIGxvb3Agb3IgZG9uJ3QgdXNlIGJsa2lkX2RvX2Z1bGxwcm9iZSgpIC4uLiAqLworCXJjID0gYmxraWRfZG9fcHJvYmUocHIpOworCWlmIChyYyA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCisJCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgJm5hbWUsIDApID09IDApCisJCQljeHQtPmNvbGxpc2lvbiA9IHN0cmR1cChuYW1lKTsKKwkJZWxzZSBpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiUFRUWVBFIiwgJm5hbWUsIDApID09IDApIHsKKwkJCWN4dC0+Y29sbGlzaW9uID0gc3RyZHVwKG5hbWUpOworCQkJY3h0LT5wdF9jb2xsaXNpb24gPSAxOworCQl9CisKKwkJaWYgKG5hbWUgJiYgIWN4dC0+Y29sbGlzaW9uKQorCQkJcmMgPSAtRU5PTUVNOworCX0KKworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybiByYzsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlibW91bnQvQ09QWUlORyBiL2xpYm1vdW50L0NPUFlJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUxYTViMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L0NPUFlJTkcKQEAgLTAsMCArMSw4IEBACitUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCittb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCitMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKK3ZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlcgordmVyc2lvbi4KKworVGhlIGNvbXBsZXRlIHRleHQgb2YgdGhlIGxpY2Vuc2UgaXMgYXZhaWxhYmxlIGluIHRoZQorLi4vRG9jdW1lbnRhdGlvbi9saWNlbnNlcy9DT1BZSU5HLkxHUEx2Mi4xIGZpbGUuCmRpZmYgLS1naXQgYS9saWJtb3VudC9NYWtlbW9kdWxlLmFtIGIvbGlibW91bnQvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NTQ2YzJmCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDE1IEBACitpZiBCVUlMRF9MSUJNT1VOVAorCitpbmNsdWRlIGxpYm1vdW50L3NyYy9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYm1vdW50L3B5dGhvbi9NYWtlbW9kdWxlLmFtCisKK2lmIEVOQUJMRV9HVEtfRE9DCisjIERvY3MgdXNlcyBzZXBhcmF0ZSBNYWtlZmlsZXMKK1NVQkRJUlMgKz0gbGlibW91bnQvZG9jcworZW5kaWYKKworcGtnY29uZmlnX0RBVEEgKz0gbGlibW91bnQvbW91bnQucGMKK1BBVEhGSUxFUyAgICAgICs9IGxpYm1vdW50L21vdW50LnBjCitFWFRSQV9ESVNUICAgICArPSBsaWJtb3VudC9DT1BZSU5HCisKK2VuZGlmICMgQlVJTERfTElCTU9VTlQKZGlmZiAtLWdpdCBhL2xpYm1vdW50L2RvY3MvLmdpdGlnbm9yZSBiL2xpYm1vdW50L2RvY3MvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOTFmOTNkCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvZG9jcy8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMTggQEAKKyotZGVjbC1saXN0LnR4dAorKi1kZWNsLnR4dAorKi1vdmVycmlkZXMudHh0CisqLXVuZGVjbGFyZWQudHh0CisqLXVuZG9jdW1lbnRlZC50eHQKKyotdW51c2VkLnR4dAorKi5hcmdzCisqLmJhaworKi5oaWVyYXJjaHkKKyouaW50ZXJmYWNlcworKi5wcmVyZXF1aXNpdGVzCisqLnNpZ25hbHMKKyouc3RhbXAKKyoudHlwZXMKK2h0bWwvKgordG1wbC8qCit2ZXJzaW9uLnhtbAoreG1sLyoKZGlmZiAtLWdpdCBhL2xpYm1vdW50L2RvY3MvTWFrZWZpbGUuYW0gYi9saWJtb3VudC9kb2NzL01ha2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4YjAzNmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9kb2NzL01ha2VmaWxlLmFtCkBAIC0wLDAgKzEsOTMgQEAKKyMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorCisjIFdlIHJlcXVpcmUgYXV0b21ha2UgMS4xMCBhdCBsZWFzdC4KK0FVVE9NQUtFX09QVElPTlMgPSAxLjEwCisKKyMgVGhpcyBpcyBhIGJsYW5rIE1ha2VmaWxlLmFtIGZvciB1c2luZyBndGstZG9jLgorIyBDb3B5IHRoaXMgdG8geW91ciBwcm9qZWN0J3MgQVBJIGRvY3MgZGlyZWN0b3J5IGFuZCBtb2RpZnkgdGhlIHZhcmlhYmxlcyB0bworIyBzdWl0IHlvdXIgcHJvamVjdC4gU2VlIHRoZSBHVEsrIE1ha2VmaWxlcyBpbiBndGsrL2RvY3MvcmVmZXJlbmNlIGZvciBleGFtcGxlcworIyBvZiB1c2luZyB0aGUgdmFyaW91cyBvcHRpb25zLgorCisjIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUsIGUuZy4gJ2dsaWInLgorRE9DX01PRFVMRT1saWJtb3VudAorCisjIFVuY29tbWVudCBmb3IgdmVyc2lvbmVkIGRvY3MgYW5kIHNwZWNpZnkgdGhlIHZlcnNpb24gb2YgdGhlIG1vZHVsZSwgZS5nLiAnMicuCisjRE9DX01PRFVMRV9WRVJTSU9OPTIKKworIyBUaGUgdG9wLWxldmVsIFNHTUwgZmlsZS4gWW91IGNhbiBjaGFuZ2UgdGhpcyBpZiB5b3Ugd2FudCB0by4KK0RPQ19NQUlOX1NHTUxfRklMRT0kKERPQ19NT0RVTEUpLWRvY3MueG1sCisKKyMgVGhlIGRpcmVjdG9yeSBjb250YWluaW5nIHRoZSBzb3VyY2UgY29kZS4gUmVsYXRpdmUgdG8gJChzcmNkaXIpLgorIyBndGstZG9jIHdpbGwgc2VhcmNoIGFsbCAuYyAmIC5oIGZpbGVzIGJlbmVhdGggaGVyZSBmb3IgaW5saW5lIGNvbW1lbnRzCisjIGRvY3VtZW50aW5nIHRoZSBmdW5jdGlvbnMgYW5kIG1hY3Jvcy4KKyMgZS5nLiBET0NfU09VUkNFX0RJUj0uLi8uLi8uLi9ndGsKK0RPQ19TT1VSQ0VfRElSPS4uL3NyYworCisjIEV4dHJhIG9wdGlvbnMgdG8gcGFzcyB0byBndGtkb2Mtc2NhbmdvYmouIE5vdCBub3JtYWxseSBuZWVkZWQuCitTQ0FOR09CSl9PUFRJT05TPQorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1zY2FuLgorIyBlLmcuIFNDQU5fT1BUSU9OUz0tLWRlcHJlY2F0ZWQtZ3VhcmRzPSJHVEtfRElTQUJMRV9ERVBSRUNBVEVEIgorU0NBTl9PUFRJT05TPQorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta2RiLgorIyBlLmcuIE1LREJfT1BUSU9OUz0tLXNnbWwtbW9kZSAtLW91dHB1dC1mb3JtYXQ9eG1sCitNS0RCX09QVElPTlM9LS1zZ21sLW1vZGUgLS1vdXRwdXQtZm9ybWF0PXhtbCAtLW5hbWUtc3BhY2UgbW50CisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLW1rdG1wbAorIyBlLmcuIE1LVE1QTF9PUFRJT05TPS0tb25seS1zZWN0aW9uLXRtcGwKK01LVE1QTF9PUFRJT05TPQorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta2h0bWwKK01LSFRNTF9PUFRJT05TPQorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1maXhyZWYuIE5vdCBub3JtYWxseSBuZWVkZWQuCisjIGUuZy4gRklYWFJFRl9PUFRJT05TPS0tZXh0cmEtZGlyPS4uL2dkay1waXhidWYvaHRtbCAtLWV4dHJhLWRpcj0uLi9nZGsvaHRtbAorRklYWFJFRl9PUFRJT05TPQorCisjIFVzZWQgZm9yIGRlcGVuZGVuY2llcy4gVGhlIGRvY3Mgd2lsbCBiZSByZWJ1aWx0IGlmIGFueSBvZiB0aGVzZSBjaGFuZ2UuCisjIGUuZy4gSEZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2d0ay8qLmgKKyMgZS5nLiBDRklMRV9HTE9CPSQodG9wX3NyY2RpcikvZ3RrLyouYworSEZJTEVfR0xPQj0kKHRvcF9idWlsZGRpcikvbGlibW91bnQvc3JjL2xpYm1vdW50LmgKK0NGSUxFX0dMT0I9JCh0b3Bfc3JjZGlyKS9saWJtb3VudC9zcmMvKi5jCisKKyMgRXh0cmEgaGVhZGVyIHRvIGluY2x1ZGUgd2hlbiBzY2FubmluZywgd2hpY2ggYXJlIG5vdCB1bmRlciBET0NfU09VUkNFX0RJUgorIyBlLmcuIEVYVFJBX0hGSUxFUz0kKHRvcF9zcmNkaXJ9L2NvbnRyaWIvZXh0cmEuaAorRVhUUkFfSEZJTEVTPQorCisjIEhlYWRlciBmaWxlcyB0byBpZ25vcmUgd2hlbiBzY2FubmluZy4gVXNlIGJhc2UgZmlsZSBuYW1lLCBubyBwYXRocworIyBlLmcuIElHTk9SRV9IRklMRVM9Z3RrZGVidWcuaCBndGtpbnRsLmgKK0lHTk9SRV9IRklMRVM9bW91bnRQLmgKKworIyBJbWFnZXMgdG8gY29weSBpbnRvIEhUTUwgZGlyZWN0b3J5LgorIyBlLmcuIEhUTUxfSU1BR0VTPSQodG9wX3NyY2RpcikvZ3RrL3N0b2NrLWljb25zL3N0b2NrX2Fib3V0XzI0LnBuZworSFRNTF9JTUFHRVM9CisKKyMgRXh0cmEgU0dNTCBmaWxlcyB0aGF0IGFyZSBpbmNsdWRlZCBieSAkKERPQ19NQUlOX1NHTUxfRklMRSkuCisjIGUuZy4gY29udGVudF9maWxlcz1ydW5uaW5nLnNnbWwgYnVpbGRpbmcuc2dtbCBjaGFuZ2VzLTIuMC5zZ21sCitjb250ZW50X2ZpbGVzID0gJChidWlsZGRpcikvdmVyc2lvbi54bWwKKworIyBTR01MIGZpbGVzIHdoZXJlIGd0ay1kb2MgYWJicmV2aWF0aW9ucyAoI0d0a1dpZGdldCkgYXJlIGV4cGFuZGVkCisjIFRoZXNlIGZpbGVzIG11c3QgYmUgbGlzdGVkIGhlcmUgKmFuZCogaW4gY29udGVudF9maWxlcworIyBlLmcuIGV4cGFuZF9jb250ZW50X2ZpbGVzPXJ1bm5pbmcuc2dtbAorZXhwYW5kX2NvbnRlbnRfZmlsZXM9CisKKyMgQ0ZMQUdTIGFuZCBMREZMQUdTIGZvciBjb21waWxpbmcgZ3RrZG9jLXNjYW5nb2JqIHdpdGggeW91ciBsaWJyYXJ5LgorIyBPbmx5IG5lZWRlZCBpZiB5b3UgYXJlIHVzaW5nIGd0a2RvYy1zY2FuZ29iaiB0byBkeW5hbWljYWxseSBxdWVyeSB3aWRnZXQKKyMgc2lnbmFscyBhbmQgcHJvcGVydGllcy4KKyMgZS5nLiBHVEtET0NfQ0ZMQUdTPS1JJCh0b3Bfc3JjZGlyKSAtSSQodG9wX2J1aWxkZGlyKSAkKEdUS19ERUJVR19GTEFHUykKKyMgZS5nLiBHVEtET0NfTElCUz0kKHRvcF9idWlsZGRpcikvZ3RrLyQoZ3RrdGFyZ2V0bGliKQorR1RLRE9DX0NGTEFHUz0KK0dUS0RPQ19MSUJTPQorCisjIFRoaXMgaW5jbHVkZXMgdGhlIHN0YW5kYXJkIGd0ay1kb2MgbWFrZSBydWxlcywgY29waWVkIGJ5IGd0a2RvY2l6ZS4KK2luY2x1ZGUgJCh0b3Bfc3JjZGlyKS9jb25maWcvZ3RrLWRvYy5tYWtlCisKKyMgT3RoZXIgZmlsZXMgdG8gZGlzdHJpYnV0ZQorIyBlLmcuIEVYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KK0VYVFJBX0RJU1QgKz0gdmVyc2lvbi54bWwuaW4KKworIyBGaWxlcyBub3QgdG8gZGlzdHJpYnV0ZQorIyBmb3IgLS1yZWJ1aWxkLXR5cGVzIGluICQoU0NBTl9PUFRJT05TKSwgZS5nLiAkKERPQ19NT0RVTEUpLnR5cGVzCisjIGZvciAtLXJlYnVpbGQtc2VjdGlvbnMgaW4gJChTQ0FOX09QVElPTlMpIGUuZy4gJChET0NfTU9EVUxFKS1zZWN0aW9ucy50eHQKK0RJU1RDTEVBTkZJTEVTICs9IHZlcnNpb24ueG1sCmRpZmYgLS1naXQgYS9saWJtb3VudC9kb2NzL2xpYm1vdW50LWRvY3MueG1sIGIvbGlibW91bnQvZG9jcy9saWJtb3VudC1kb2NzLnhtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NmE5YzI1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvZG9jcy9saWJtb3VudC1kb2NzLnhtbApAQCAtMCwwICsxLDc5IEBACis8P3htbCB2ZXJzaW9uPSIxLjAiPz4KKzwhRE9DVFlQRSBib29rIFBVQkxJQyAiLS8vT0FTSVMvL0RURCBEb2NCb29rIFhNTCBWNC4zLy9FTiIKKyAgICAgICAgICAgICAgICJodHRwOi8vd3d3Lm9hc2lzLW9wZW4ub3JnL2RvY2Jvb2sveG1sLzQuMy9kb2Nib29reC5kdGQiCitbCisgIDwhRU5USVRZIHZlcnNpb24gU1lTVEVNICJ2ZXJzaW9uLnhtbCI+CitdPgorPGJvb2sgaWQ9ImluZGV4IiB4bWxuczp4aT0iaHR0cDovL3d3dy53My5vcmcvMjAwMy9YSW5jbHVkZSI+CisgIDxib29raW5mbz4KKyAgICA8dGl0bGU+bGlibW91bnQgUmVmZXJlbmNlIE1hbnVhbDwvdGl0bGU+CisgICAgPHJlbGVhc2VpbmZvPmZvciBsaWJtb3VudCB2ZXJzaW9uICZ2ZXJzaW9uOzwvcmVsZWFzZWluZm8+CisgICAgPGNvcHlyaWdodD4KKyAgICAgIDx5ZWFyPjIwMTAtMjAxODwveWVhcj4KKyAgICAgIDxob2xkZXI+S2FyZWwgWmFrICZsdDtremFrQHJlZGhhdC5jb20mZ3Q7PC9ob2xkZXI+CisgICAgPC9jb3B5cmlnaHQ+CisgIDwvYm9va2luZm8+CisKKyAgPHBhcnQgaWQ9Imd0ayI+CisgICAgPHRpdGxlPmxpYm1vdW50IE92ZXJ2aWV3PC90aXRsZT4KKyAgICA8cGFydGludHJvPgorICAgIDxwYXJhPgorVGhlIGxpYm1vdW50IGxpYnJhcnkgaXMgdXNlZCB0byBwYXJzZSAvZXRjL2ZzdGFiLCAvZXRjL210YWIgYW5kCisvcHJvYy9zZWxmL21vdW50aW5mbyBmaWxlcywgbWFuYWdlIHRoZSBtdGFiIGZpbGUsIGV2YWx1YXRlIG1vdW50IG9wdGlvbnMsIGV0Yy4KKyAgICA8L3BhcmE+CisgICAgPHBhcmE+CitUaGUgbGlicmFyeSBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE4IGFuZCBpcworYXZhaWxhYmxlIGZyb20gaHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisgICAgPC9wYXJhPgorICA8L3BhcnRpbnRybz4KKyA8L3BhcnQ+CisKKyAgPHBhcnQ+CisgICAgPHRpdGxlPkhpZ2gtbGV2ZWwgQVBJPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvY29udGV4dC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvY29udGV4dC1tb3VudC54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvY29udGV4dC11bW91bnQueG1sIi8+CisgIDwvcGFydD4KKyAgPHBhcnQ+CisgICAgPHRpdGxlPkZpbGVzIHBhcnNpbmc8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC90YWJsZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvZnMueG1sIi8+CisgIDwvcGFydD4KKyAgPHBhcnQ+CisgICAgPHRpdGxlPlRhYmxlcyBtYW5hZ2VtZW50PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvbG9jay54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdXBkYXRlLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9tb25pdG9yLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC90YWJkaWZmLnhtbCIvPgorICA8L3BhcnQ+CisgIDxwYXJ0PgorICAgIDx0aXRsZT5Nb3VudCBvcHRpb25zPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvb3B0c3RyLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9vcHRtYXAueG1sIi8+CisgIDwvcGFydD4KKyAgPHBhcnQ+CisgICAgPHRpdGxlPk1pc2M8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9pbml0LnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9jYWNoZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvaXRlci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdXRpbHMueG1sIi8+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3ZlcnNpb24tdXRpbHMueG1sIi8+CisgIDwvcGFydD4KKyAgPGluZGV4IGlkPSJhcGktaW5kZXgiPgorICAgIDx0aXRsZT5BUEkgSW5kZXg8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtZnVsbC54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKyAgPGluZGV4IHJvbGU9IjIuMjgiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjI4PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMjgueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisgIDxpbmRleCByb2xlPSIyLjI5Ij4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yOTwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjI5LnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorCisgIDxpbmRleCByb2xlPSIyLjMwIj4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4zMDwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjMwLnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorPC9ib29rPgpkaWZmIC0tZ2l0IGEvbGlibW91bnQvZG9jcy9saWJtb3VudC1zZWN0aW9ucy50eHQgYi9saWJtb3VudC9kb2NzL2xpYm1vdW50LXNlY3Rpb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MTE3MjZiCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvZG9jcy9saWJtb3VudC1zZWN0aW9ucy50eHQKQEAgLTAsMCArMSw0MzIgQEAKKzxTRUNUSU9OPgorPEZJTEU+Y2FjaGU8L0ZJTEU+CitsaWJtbnRfY2FjaGUKK21udF9uZXdfY2FjaGUKK21udF9mcmVlX2NhY2hlCittbnRfcmVmX2NhY2hlCittbnRfdW5yZWZfY2FjaGUKK21udF9jYWNoZV9kZXZpY2VfaGFzX3RhZworbW50X2NhY2hlX2ZpbmRfdGFnX3ZhbHVlCittbnRfY2FjaGVfcmVhZF90YWdzCittbnRfY2FjaGVfc2V0X3RhcmdldHMKK21udF9nZXRfZnN0eXBlCittbnRfcHJldHR5X3BhdGgKK21udF9yZXNvbHZlX3BhdGgKK21udF9yZXNvbHZlX3NwZWMKK21udF9yZXNvbHZlX3RhZworbW50X3Jlc29sdmVfdGFyZ2V0Cis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+Y29udGV4dDwvRklMRT4KK2xpYm1udF9jb250ZXh0CitsaWJtbnRfbnMKK21udF9mcmVlX2NvbnRleHQKK21udF9uZXdfY29udGV4dAorbW50X3Jlc2V0X2NvbnRleHQKK21udF9jb250ZXh0X2FwcGVuZF9vcHRpb25zCittbnRfY29udGV4dF9hcHBseV9mc3RhYgorbW50X2NvbnRleHRfZGlzYWJsZV9jYW5vbmljYWxpemUKK21udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycworbW50X2NvbnRleHRfZGlzYWJsZV9tdGFiCittbnRfY29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaAorbW50X2NvbnRleHRfZW5hYmxlX2Zha2UKK21udF9jb250ZXh0X2VuYWJsZV9mb3JjZQorbW50X2NvbnRleHRfZW5hYmxlX2ZvcmsKK21udF9jb250ZXh0X2VuYWJsZV9sYXp5CittbnRfY29udGV4dF9lbmFibGVfbG9vcGRlbAorbW50X2NvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnQKK21udF9jb250ZXh0X2VuYWJsZV9yd29ubHlfbW91bnQKK21udF9jb250ZXh0X2VuYWJsZV9zbG9wcHkKK21udF9jb250ZXh0X2VuYWJsZV92ZXJib3NlCittbnRfY29udGV4dF9mb3JjZWRfcmRvbmx5CittbnRfY29udGV4dF9nZXRfY2FjaGUKK21udF9jb250ZXh0X2dldF9leGNvZGUKK21udF9jb250ZXh0X2dldF9mcworbW50X2NvbnRleHRfZ2V0X2ZzdGFiCittbnRfY29udGV4dF9nZXRfZnN0YWJfdXNlcmRhdGEKK21udF9jb250ZXh0X2dldF9mc3R5cGUKK21udF9jb250ZXh0X2dldF9mc191c2VyZGF0YQorbW50X2NvbnRleHRfZ2V0X2hlbHBlcl9zdGF0dXMKK21udF9jb250ZXh0X2dldF9sb2NrCittbnRfY29udGV4dF9nZXRfbWZsYWdzCittbnRfY29udGV4dF9nZXRfbXRhYgorbW50X2NvbnRleHRfZ2V0X210YWJfdXNlcmRhdGEKK21udF9jb250ZXh0X2dldF9vcHRpb25zCittbnRfY29udGV4dF9nZXRfb3B0c21vZGUKK21udF9jb250ZXh0X2dldF9vcmlnaW5fbnMKK21udF9jb250ZXh0X2dldF9zb3VyY2UKK21udF9jb250ZXh0X2dldF9zdGF0dXMKK21udF9jb250ZXh0X2dldF9zeXNjYWxsX2Vycm5vCittbnRfY29udGV4dF9nZXRfdGFibGUKK21udF9jb250ZXh0X2dldF90YXJnZXQKK21udF9jb250ZXh0X2dldF90YXJnZXRfbnMKK21udF9jb250ZXh0X2dldF91c2VyX21mbGFncworbW50X2NvbnRleHRfaGVscGVyX2V4ZWN1dGVkCittbnRfY29udGV4dF9oZWxwZXJfc2V0b3B0CittbnRfY29udGV4dF9pbml0X2hlbHBlcgorbW50X2NvbnRleHRfaXNfY2hpbGQKK21udF9jb250ZXh0X2lzX2Zha2UKK21udF9jb250ZXh0X2lzX2ZvcmNlCittbnRfY29udGV4dF9pc19mb3JrCittbnRfY29udGV4dF9pc19mc19tb3VudGVkCittbnRfY29udGV4dF9pc19sYXp5CittbnRfY29udGV4dF9pc19sb29wZGVsCittbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZQorbW50X2NvbnRleHRfaXNfbm9oZWxwZXJzCittbnRfY29udGV4dF9pc19ub210YWIKK21udF9jb250ZXh0X2lzX3BhcmVudAorbW50X2NvbnRleHRfaXNfcmRvbmx5X3Vtb3VudAorbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZAorbW50X2NvbnRleHRfaXNfcndvbmx5X21vdW50CittbnRfY29udGV4dF9pc19zbG9wcHkKK21udF9jb250ZXh0X2lzX3N3YXBtYXRjaAorbW50X2NvbnRleHRfaXNfdmVyYm9zZQorbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzCittbnRfY29udGV4dF9zZXRfY2FjaGUKK21udF9jb250ZXh0X3NldF9mcworbW50X2NvbnRleHRfc2V0X2ZzdGFiCittbnRfY29udGV4dF9zZXRfZnN0eXBlCittbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4KK21udF9jb250ZXh0X3NldF9tZmxhZ3MKK21udF9jb250ZXh0X3NldF9tb3VudGRhdGEKK21udF9jb250ZXh0X3NldF9vcHRpb25zCittbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuCittbnRfY29udGV4dF9zZXRfb3B0c21vZGUKK21udF9jb250ZXh0X3NldF9wYXNzd2RfY2IKK21udF9jb250ZXh0X3NldF9zb3VyY2UKK21udF9jb250ZXh0X3NldF9zeXNjYWxsX3N0YXR1cworbW50X2NvbnRleHRfc2V0X3RhYmxlc19lcnJjYgorbW50X2NvbnRleHRfc2V0X3RhcmdldAorbW50X2NvbnRleHRfc2V0X3RhcmdldF9ucworbW50X2NvbnRleHRfc2V0X3VzZXJfbWZsYWdzCittbnRfY29udGV4dF9zdHJlcnJvcgorbW50X2NvbnRleHRfc3dpdGNoX25zCittbnRfY29udGV4dF9zd2l0Y2hfb3JpZ2luX25zCittbnRfY29udGV4dF9zd2l0Y2hfdGFyZ2V0X25zCittbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZAorbW50X2NvbnRleHRfdGFiX2FwcGxpZWQKK21udF9jb250ZXh0X3dhaXRfZm9yX2NoaWxkcmVuCis8U1VCU0VDVElPTj4KK01OVF9FUlJfQU1CSUZTCitNTlRfRVJSX0FQUExZRkxBR1MKK01OVF9FUlJfTE9PUERFVgorTU5UX0VSUl9NT1VOVE9QVAorTU5UX0VSUl9OT0ZTVEFCCitNTlRfRVJSX05PRlNUWVBFCitNTlRfRVJSX05PU09VUkNFCitNTlRfRVJSX0xPT1BPVkVSTEFQCitNTlRfRVJSX0xPQ0sKK01OVF9FUlJfTkFNRVNQQUNFCis8U1VCU0VDVElPTj4KK01OVF9FWF9TVUNDRVNTCitNTlRfRVhfVVNBR0UKK01OVF9FWF9TWVNFUlIKK01OVF9FWF9TT0ZUV0FSRQorTU5UX0VYX1VTRVIKK01OVF9FWF9GSUxFSU8KK01OVF9FWF9GQUlMCitNTlRfRVhfU09NRU9LCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+Y29udGV4dC1tb3VudDwvRklMRT4KK21udF9jb250ZXh0X2RvX21vdW50CittbnRfY29udGV4dF9maW5hbGl6ZV9tb3VudAorbW50X2NvbnRleHRfbW91bnQKK21udF9jb250ZXh0X25leHRfbW91bnQKK21udF9jb250ZXh0X3ByZXBhcmVfbW91bnQKKzxTVUJTRUNUSU9OPgorTU5UX01TX0NPTU1FTlQKK01OVF9NU19HUk9VUAorTU5UX01TX0hFTFBFUgorTU5UX01TX0xPT1AKK01OVF9NU19ORVRERVYKK01OVF9NU19OT0FVVE8KK01OVF9NU19OT0ZBSUwKK01OVF9NU19PRkZTRVQKK01OVF9NU19PV05FUgorTU5UX01TX1NJWkVMSU1JVAorTU5UX01TX0VOQ1JZUFRJT04KK01OVF9NU19VSEVMUEVSCitNTlRfTVNfVVNFUgorTU5UX01TX1VTRVJTCitNTlRfTVNfWENPTU1FTlQKK01OVF9NU19YRlNUQUJDT01NCis8U1VCU0VDVElPTj4KK01TX0JJTkQKK01TX0RJUlNZTkMKK01TX0lfVkVSU0lPTgorTVNfTUFORExPQ0sKK01TX01HQ19NU0sKK01TX01HQ19WQUwKK01TX01PVkUKK01TX05PQVRJTUUKK01TX05PREVWCitNU19OT0RJUkFUSU1FCitNU19OT0VYRUMKK01TX05PU1VJRAorTVNfT1dORVJTRUNVUkUKK01TX1BSSVZBVEUKK01TX1BST1BBR0FUSU9OCitNU19SRE9OTFkKK01TX1JFQworTVNfUkVMQVRJTUUKK01TX1JFTU9VTlQKK01TX1NFQ1VSRQorTVNfU0hBUkVECitNU19TSUxFTlQKK01TX1NMQVZFCitNU19TVFJJQ1RBVElNRQorTVNfU1lOQ0hST05PVVMKK01TX1VOQklOREFCTEUKK01TX0xBWllUSU1FCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+Y29udGV4dC11bW91bnQ8L0ZJTEU+CittbnRfY29udGV4dF9maW5kX3Vtb3VudF9mcworbW50X2NvbnRleHRfZG9fdW1vdW50CittbnRfY29udGV4dF9maW5hbGl6ZV91bW91bnQKK21udF9jb250ZXh0X25leHRfdW1vdW50CittbnRfY29udGV4dF9wcmVwYXJlX3Vtb3VudAorbW50X2NvbnRleHRfdW1vdW50Cis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+ZnM8L0ZJTEU+CitsaWJtbnRfZnMKK21udF9jb3B5X2ZzCittbnRfZnJlZV9mcworbW50X2ZyZWVfbW50ZW50CittbnRfcmVmX2ZzCittbnRfdW5yZWZfZnMKK21udF9mc19hcHBlbmRfYXR0cmlidXRlcworbW50X2ZzX2FwcGVuZF9jb21tZW50CittbnRfZnNfYXBwZW5kX29wdGlvbnMKK21udF9mc19nZXRfYXR0cmlidXRlCittbnRfZnNfZ2V0X2F0dHJpYnV0ZXMKK21udF9mc19nZXRfYmluZHNyYworbW50X2ZzX2dldF9jb21tZW50CittbnRfZnNfZ2V0X2Rldm5vCittbnRfZnNfZ2V0X2ZyZXEKK21udF9mc19nZXRfZnNfb3B0aW9ucworbW50X2ZzX2dldF9mc3R5cGUKK21udF9mc19nZXRfaWQKK21udF9mc19nZXRfb3B0aW9uCittbnRfZnNfZ2V0X29wdGlvbmFsX2ZpZWxkcworbW50X2ZzX2dldF9vcHRpb25zCittbnRfZnNfZ2V0X3BhcmVudF9pZAorbW50X2ZzX2dldF9wYXNzbm8KK21udF9mc19nZXRfcHJpb3JpdHkKK21udF9mc19nZXRfcHJvcGFnYXRpb24KK21udF9mc19nZXRfcm9vdAorbW50X2ZzX2dldF9zaXplCittbnRfZnNfZ2V0X3NvdXJjZQorbW50X2ZzX2dldF9zcmNwYXRoCittbnRfZnNfZ2V0X3N3YXB0eXBlCittbnRfZnNfZ2V0X3RhZworbW50X2ZzX2dldF90YXJnZXQKK21udF9mc19nZXRfdGlkCittbnRfZnNfZ2V0X3VzZWRzaXplCittbnRfZnNfZ2V0X3VzZXJkYXRhCittbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucworbW50X2ZzX2dldF92ZnNfb3B0aW9ucworbW50X2ZzX2lzX2tlcm5lbAorbW50X2ZzX2lzX25ldGZzCittbnRfZnNfaXNfcHNldWRvZnMKK21udF9mc19pc19zd2FwYXJlYQorbW50X2ZzX21hdGNoX2ZzdHlwZQorbW50X2ZzX21hdGNoX29wdGlvbnMKK21udF9mc19tYXRjaF9zb3VyY2UKK21udF9mc19tYXRjaF90YXJnZXQKK21udF9mc19wcmVwZW5kX2F0dHJpYnV0ZXMKK21udF9mc19wcmVwZW5kX29wdGlvbnMKK21udF9mc19wcmludF9kZWJ1ZworbW50X2ZzX3NldF9hdHRyaWJ1dGVzCittbnRfZnNfc2V0X2JpbmRzcmMKK21udF9mc19zZXRfY29tbWVudAorbW50X2ZzX3NldF9mcmVxCittbnRfZnNfc2V0X2ZzdHlwZQorbW50X2ZzX3NldF9vcHRpb25zCittbnRfZnNfc2V0X3Bhc3NubworbW50X2ZzX3NldF9wcmlvcml0eQorbW50X2ZzX3NldF9yb290CittbnRfZnNfc2V0X3NvdXJjZQorbW50X2ZzX3NldF90YXJnZXQKK21udF9mc19zZXRfdXNlcmRhdGEKK21udF9mc19zdHJkdXBfb3B0aW9ucworbW50X2ZzX3N0cmVxX3NyY3BhdGgKK21udF9mc19zdHJlcV90YXJnZXQKK21udF9mc190b19tbnRlbnQKK21udF9uZXdfZnMKK21udF9yZXNldF9mcworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmluaXQ8L0ZJTEU+CittbnRfaW5pdF9kZWJ1ZworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPml0ZXI8L0ZJTEU+CitsaWJtbnRfaXRlcgorbW50X2ZyZWVfaXRlcgorbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbgorbW50X25ld19pdGVyCittbnRfcmVzZXRfaXRlcgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmxvY2s8L0ZJTEU+CitsaWJtbnRfbG9jaworbW50X2ZyZWVfbG9jaworbW50X2xvY2tfZmlsZQorbW50X25ld19sb2NrCittbnRfdW5sb2NrX2ZpbGUKK21udF9sb2NrX2Jsb2NrX3NpZ25hbHMKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5vcHRtYXA8L0ZJTEU+CitsaWJtbnRfb3B0bWFwCittbnRfZ2V0X2J1aWx0aW5fb3B0bWFwCitNTlRfSU5WRVJUCitNTlRfTk9NVEFCCitNTlRfUFJFRklYCitNTlRfTk9ITFBTCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+b3B0c3RyPC9GSUxFPgorbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uCittbnRfb3B0c3RyX2FwcGx5X2ZsYWdzCittbnRfb3B0c3RyX2RlZHVwbGljYXRlX29wdGlvbgorbW50X29wdHN0cl9nZXRfZmxhZ3MKK21udF9vcHRzdHJfZ2V0X29wdGlvbgorbW50X29wdHN0cl9nZXRfb3B0aW9ucworbW50X29wdHN0cl9uZXh0X29wdGlvbgorbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbgorbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uCittbnRfb3B0c3RyX3NldF9vcHRpb24KK21udF9zcGxpdF9vcHRzdHIKK21udF9tYXRjaF9vcHRpb25zCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dGFibGU8L0ZJTEU+CitsaWJtbnRfdGFibGUKK21udF9mcmVlX3RhYmxlCittbnRfbmV3X3RhYmxlCittbnRfcmVzZXRfdGFibGUKK21udF9yZWZfdGFibGUKK21udF91bnJlZl90YWJsZQorbW50X25ld190YWJsZV9mcm9tX2RpcgorbW50X25ld190YWJsZV9mcm9tX2ZpbGUKK21udF90YWJsZV9hZGRfZnMKK21udF90YWJsZV9hcHBlbmRfaW50cm9fY29tbWVudAorbW50X3RhYmxlX2FwcGVuZF90cmFpbGluZ19jb21tZW50CittbnRfdGFibGVfZW5hYmxlX2NvbW1lbnRzCittbnRfdGFibGVfZmluZF9kZXZubworbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludAorbW50X3RhYmxlX2ZpbmRfbmV4dF9mcworbW50X3RhYmxlX2ZpbmRfcGFpcgorbW50X3RhYmxlX2ZpbmRfc291cmNlCittbnRfdGFibGVfZmluZF9zcmNwYXRoCittbnRfdGFibGVfZmluZF90YWcKK21udF90YWJsZV9maW5kX3RhcmdldAorbW50X3RhYmxlX2ZpbmRfdGFyZ2V0X3dpdGhfb3B0aW9uCittbnRfdGFibGVfZmlyc3RfZnMKK21udF90YWJsZV9nZXRfY2FjaGUKK21udF90YWJsZV9nZXRfaW50cm9fY29tbWVudAorbW50X3RhYmxlX2dldF9uZW50cworbW50X3RhYmxlX2dldF9yb290X2ZzCittbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQKK21udF90YWJsZV9nZXRfdXNlcmRhdGEKK21udF90YWJsZV9pc19lbXB0eQorbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQKK21udF90YWJsZV9sYXN0X2ZzCittbnRfdGFibGVfbmV4dF9jaGlsZF9mcworbW50X3RhYmxlX25leHRfZnMKK21udF90YWJsZV9wYXJzZV9kaXIKK21udF90YWJsZV9wYXJzZV9maWxlCittbnRfdGFibGVfcGFyc2VfZnN0YWIKK21udF90YWJsZV9wYXJzZV9tdGFiCittbnRfdGFibGVfcGFyc2Vfc3RyZWFtCittbnRfdGFibGVfcGFyc2Vfc3dhcHMKK21udF90YWJsZV9yZW1vdmVfZnMKK21udF90YWJsZV9zZXRfY2FjaGUKK21udF90YWJsZV9zZXRfaW50cm9fY29tbWVudAorbW50X3RhYmxlX3NldF9pdGVyCittbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYgorbW50X3RhYmxlX3NldF90cmFpbGluZ19jb21tZW50CittbnRfdGFibGVfc2V0X3VzZXJkYXRhCittbnRfdGFibGVfd2l0aF9jb21tZW50cworbW50X3RhYmxlX3VuaXFfZnMKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT50YWJkaWZmPC9GSUxFPgorbGlibW50X3RhYmRpZmYKK21udF9uZXdfdGFiZGlmZgorbW50X2ZyZWVfdGFiZGlmZgorbW50X3RhYmRpZmZfbmV4dF9jaGFuZ2UKK21udF9kaWZmX3RhYmxlcworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnVwZGF0ZTwvRklMRT4KK2xpYm1udF91cGRhdGUKK21udF9mcmVlX3VwZGF0ZQorbW50X25ld191cGRhdGUKK21udF90YWJsZV9yZXBsYWNlX2ZpbGUKK21udF90YWJsZV93cml0ZV9maWxlCittbnRfdXBkYXRlX2ZvcmNlX3Jkb25seQorbW50X3VwZGF0ZV9nZXRfZmlsZW5hbWUKK21udF91cGRhdGVfZ2V0X2ZzCittbnRfdXBkYXRlX2dldF9tZmxhZ3MKK21udF91cGRhdGVfaXNfcmVhZHkKK21udF91cGRhdGVfc2V0X2ZzCittbnRfdXBkYXRlX3RhYmxlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dXRpbHM8L0ZJTEU+CittbnRfZnN0eXBlX2lzX25ldGZzCittbnRfZnN0eXBlX2lzX3BzZXVkb2ZzCittbnRfZ2V0X2ZzdGFiX3BhdGgKK21udF9nZXRfbW91bnRwb2ludAorbW50X2dldF9tdGFiX3BhdGgKK21udF9nZXRfc3dhcHNfcGF0aAorbW50X2hhc19yZWd1bGFyX210YWIKK21udF9tYW5nbGUKK21udF9tYXRjaF9mc3R5cGUKK21udF90YWdfaXNfdmFsaWQKK21udF91bm1hbmdsZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnZlcnNpb24tdXRpbHM8L0ZJTEU+CitMSUJNT1VOVF9NQUpPUl9WRVJTSU9OCitMSUJNT1VOVF9NSU5PUl9WRVJTSU9OCitMSUJNT1VOVF9QQVRDSF9WRVJTSU9OCittbnRfcGFyc2VfdmVyc2lvbl9zdHJpbmcKK21udF9nZXRfbGlicmFyeV92ZXJzaW9uCittbnRfZ2V0X2xpYnJhcnlfZmVhdHVyZXMKK0xJQk1PVU5UX1ZFUlNJT04KKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5tb25pdG9yPC9GSUxFPgorbGlibW50X21vbml0b3IKK21udF9uZXdfbW9uaXRvcgorbW50X3JlZl9tb25pdG9yCittbnRfdW5yZWZfbW9uaXRvcgorbW50X21vbml0b3JfZW5hYmxlX3VzZXJzcGFjZQorbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbAorbW50X21vbml0b3JfZ2V0X2ZkCittbnRfbW9uaXRvcl9jbG9zZV9mZAorbW50X21vbml0b3JfbmV4dF9jaGFuZ2UKK21udF9tb25pdG9yX2V2ZW50X2NsZWFudXAKK21udF9tb25pdG9yX3dhaXQKKzwvU0VDVElPTj4KZGlmZiAtLWdpdCBhL2xpYm1vdW50L2RvY3MvdmVyc2lvbi54bWwuaW4gYi9saWJtb3VudC9kb2NzL3ZlcnNpb24ueG1sLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OGJkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9kb2NzL3ZlcnNpb24ueG1sLmluCkBAIC0wLDAgKzEgQEAKK0BWRVJTSU9OQApkaWZmIC0tZ2l0IGEvbGlibW91bnQvbW91bnQucGMuaW4gYi9saWJtb3VudC9tb3VudC5wYy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzMyNzk3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvbW91bnQucGMuaW4KQEAgLTAsMCArMSwxMSBAQAorcHJlZml4PUBwcmVmaXhACitleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACitsaWJkaXI9QHVzcmxpYl9leGVjZGlyQAoraW5jbHVkZWRpcj1AaW5jbHVkZWRpckAKKworTmFtZTogbW91bnQKK0Rlc2NyaXB0aW9uOiBtb3VudCBsaWJyYXJ5CitWZXJzaW9uOiBATElCTU9VTlRfVkVSU0lPTkAKK1JlcXVpcmVzLnByaXZhdGU6IGJsa2lkCitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfS9saWJtb3VudAorTGliczogLUwke2xpYmRpcn0gLWxtb3VudApkaWZmIC0tZ2l0IGEvbGlibW91bnQvcHl0aG9uL01ha2Vtb2R1bGUuYW0gYi9saWJtb3VudC9weXRob24vTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzM4ZWEwCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvcHl0aG9uL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwzNSBAQAoraWYgQlVJTERfUFlMSUJNT1VOVAorCitweWxpYm1vdW50ZXhlY2RpciA9ICQocHlleGVjZGlyKS9saWJtb3VudAorCisjIFBsZWFzZSwgZG9uJ3QgdXNlICRweXRob25kaXIgZm9yIHRoZSBzY3JpcHRzLiBXZSBoYXZlIHRvIHVzZSB0aGUgc2FtZQorIyBkaXJlY3RvcnkgZm9yIGJpbmFyeSBzdHVmZiBhcyB3ZWxsIGFzIGZvciB0aGUgc2NyaXB0cyBvdGhlcndpc2UgaXQncworIyBub3QgcG9zc2libGUgdG8gaW5zdGFsbCAzMi1iaXQgYW5kIDY0LWJpdCB2ZXJzaW9uIG9uIHRoZSBzYW1lIHN5c3RlbS4KK3B5bGlibW91bnRleGVjX0xUTElCUkFSSUVTID0gcHlsaWJtb3VudC5sYQorcHlsaWJtb3VudGV4ZWNfUFlUSE9OID0gbGlibW91bnQvcHl0aG9uL19faW5pdF9fLnB5CisKK3B5bGlibW91bnRfbGFfU09VUkNFUyA9IFwKKwlsaWJtb3VudC9weXRob24vcHlsaWJtb3VudC5jIFwKKwlsaWJtb3VudC9weXRob24vcHlsaWJtb3VudC5oIFwKKwlsaWJtb3VudC9weXRob24vZnMuYyBcCisJbGlibW91bnQvcHl0aG9uL3RhYi5jCitpZiBMSU5VWAorcHlsaWJtb3VudF9sYV9TT1VSQ0VTICs9IGxpYm1vdW50L3B5dGhvbi9jb250ZXh0LmMKK2VuZGlmCisKK3B5bGlibW91bnRfbGFfTElCQUREID0gbGlibW91bnQubGEgJChQWVRIT05fTElCUykKKworcHlsaWJtb3VudF9sYV9DRkxBR1MgPSBcCisJJChBTV9DRkxBR1MpIFwKKwkkKFBZVEhPTl9DRkxBR1MpICQoUFlUSE9OX1dBUk5fQ0ZMQUdTKSBcCisJLUkkKHVsX2xpYm1vdW50X2luY2RpcikgXAorCS1mbm8tc3RyaWN0LWFsaWFzaW5nICMtZ2dkYjMgLU8wCisKK3B5bGlibW91bnRfbGFfTERGTEFHUyA9IFwKKwktYXZvaWQtdmVyc2lvbiAtbW9kdWxlIC1zaGFyZWQgLWV4cG9ydC1keW5hbWljCisKK2Rpc3RfY2hlY2tfU0NSSVBUUyArPSBsaWJtb3VudC9weXRob24vdGVzdF9tb3VudF9jb250ZXh0LnB5CitkaXN0X2NoZWNrX1NDUklQVFMgKz0gbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfdGFiLnB5CitkaXN0X2NoZWNrX1NDUklQVFMgKz0gbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfdGFiX3VwZGF0ZS5weQorCitlbmRpZiAjIEJVSUxEX1BZTElCTU9VTlQKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3B5dGhvbi9fX2luaXRfXy5weSBiL2xpYm1vdW50L3B5dGhvbi9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTEwNGUyCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvcHl0aG9uL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMiBAQAorZnJvbSAucHlsaWJtb3VudCBpbXBvcnQgKgorCmRpZmYgLS1naXQgYS9saWJtb3VudC9weXRob24vY29udGV4dC5jIGIvbGlibW91bnQvcHl0aG9uL2NvbnRleHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ODI0MTRkCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvcHl0aG9uL2NvbnRleHQuYwpAQCAtMCwwICsxLDEyMjggQEAKKy8qCisgKiBQeXRob24gYmluZGluZ3MgZm9yIHRoZSBsaWJtb3VudCBsaWJyYXJ5LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMywgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBPbmRyZWogT3ByYWxhIGFuZCBLYXJlbCBaYWsKKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFsb25nIHdpdGggdGhpcyBmaWxlOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisgKiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisjaW5jbHVkZSAicHlsaWJtb3VudC5oIgorCitzdGF0aWMgUHlNZW1iZXJEZWYgQ29udGV4dF9tZW1iZXJzW10gPSB7CisJeyBOVUxMIH0KK307CisKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9zZXRfdGFibGVzX2VycmNiKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICpmdW5jLAorCQkJCSAgICAgIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJaWYgKCFmdW5jKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlpZiAoIVB5Q2FsbGFibGVfQ2hlY2soZnVuYykpCisJCXJldHVybiBOVUxMOworCWVsc2UgeworCQlQeU9iamVjdCAqdG1wID0gc2VsZi0+dGFibGVfZXJyY2I7CisJCVB5X0lOQ1JFRihmdW5jKTsKKwkJc2VsZi0+dGFibGVfZXJyY2IgPSBmdW5jOworCQlQeV9YREVDUkVGKHRtcCk7CisJfQorCXJldHVybiBVTF9JbmNSZWYoc2VsZik7Cit9CisKK3N0YXRpYyB2b2lkIENvbnRleHRfZGVhbGxvYyhDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCWlmICghc2VsZi0+Y3h0KSAvKiBpZiBpbml0IGZhaWxzICovCisJCXJldHVybjsKKworCVB5X1hERUNSRUYobW50X2NvbnRleHRfZ2V0X2ZzX3VzZXJkYXRhKHNlbGYtPmN4dCkpOworCVB5X1hERUNSRUYobW50X2NvbnRleHRfZ2V0X2ZzdGFiX3VzZXJkYXRhKHNlbGYtPmN4dCkpOworCVB5X1hERUNSRUYobW50X2NvbnRleHRfZ2V0X210YWJfdXNlcmRhdGEoc2VsZi0+Y3h0KSk7CisKKwltbnRfZnJlZV9jb250ZXh0KHNlbGYtPmN4dCk7CisJUHlGcmVlKHNlbGYpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwKKwkJCSBQeU9iamVjdCAqYXJncyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKKwkJCSBQeU9iamVjdCAqa3dkcyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlDb250ZXh0T2JqZXh0ICpzZWxmID0gKENvbnRleHRPYmpleHQqKSB0eXBlLT50cF9hbGxvYyh0eXBlLCAwKTsKKworCWlmIChzZWxmKSB7CisJCXNlbGYtPmN4dCA9IE5VTEw7CisJCXNlbGYtPnRhYmxlX2VycmNiID0gTlVMTDsKKwl9CisKKwlyZXR1cm4gKFB5T2JqZWN0ICopc2VsZjsKK30KKworLyoKKyAqIE5vdGUgdGhlcmUgaXMgbm8gcG9pbnRlciB0byBlbmNhcHN1bGF0aW5nIG9iamVjdCBuZWVkZWQgaGVyZSwgc2luY2UgQ3h0IGlzCisgKiBvbiB0b3Agb2YgdGhlIENvbnRleHQoVGFibGUoRmlsZXN5c3RlbSkpIGhpZXJhcmNoeQorICovCisjZGVmaW5lIENvbnRleHRfSEVMUCAiQ29udGV4dChzb3VyY2U9Tm9uZSwgdGFyZ2V0PU5vbmUsIGZzdHlwZT1Ob25lLCAiIFwKKwkJIm9wdGlvbnM9Tm9uZSwgbWZsYWdzPTAsIGZzdHlwZV9wYXR0ZXJuPU5vbmUsICIgXAorCQkib3B0aW9uc19wYXR0ZXJuPU5vbmUsIGZzPU5vbmUsIGZzdGFiPU5vbmUsIG9wdHNtb2RlPTApIgorc3RhdGljIGludCBDb250ZXh0X2luaXQoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKnNvdXJjZSA9IE5VTEwsICp0YXJnZXQgPSBOVUxMLCAqZnN0eXBlID0gTlVMTDsKKwljaGFyICpvcHRpb25zID0gTlVMTCwgKmZzdHlwZV9wYXR0ZXJuID0gTlVMTCwgKm9wdGlvbnNfcGF0dGVybiA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBtZmxhZ3MgPSAwOworCWludCBvcHRzbW9kZSA9IDAsIHN5c2NhbGxfc3RhdHVzID0gMTsKKwlGc09iamVjdCAqZnMgPSBOVUxMOworCVRhYmxlT2JqZWN0ICpmc3RhYiA9IE5VTEw7CisJaW50IHJjID0gMDsKKwljaGFyICprd2xpc3RbXSA9IHsKKwkJInNvdXJjZSIsICJ0YXJnZXQiLCAiZnN0eXBlIiwKKwkJIm9wdGlvbnMiLCAibWZsYWdzIiwgImZzdHlwZV9wYXR0ZXJuIiwKKwkJIm9wdGlvbnNfcGF0dGVybiIsICJmcyIsICJmc3RhYiIsCisJCSJvcHRzbW9kZSIsIE5VTEwKKwl9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoCisJCQkJYXJncywga3dkcywgInxzc3Nza3NzTyFPIWkiLCBrd2xpc3QsCisJCQkJJnNvdXJjZSwgJnRhcmdldCwgJmZzdHlwZSwgJm9wdGlvbnMsICZtZmxhZ3MsCisJCQkJJmZzdHlwZV9wYXR0ZXJuLCAmb3B0aW9uc19wYXR0ZXJuLCAmRnNUeXBlLCAmZnMsCisJCQkJJlRhYmxlVHlwZSwgJmZzdGFiLCAmb3B0c21vZGUsICZzeXNjYWxsX3N0YXR1cykpIHsKKwkJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQkJcmV0dXJuIC0xOworCX0KKworCWlmIChzZWxmLT5jeHQpCisJCW1udF9mcmVlX2NvbnRleHQoc2VsZi0+Y3h0KTsKKworCXNlbGYtPmN4dCA9IG1udF9uZXdfY29udGV4dCgpOworCWlmICghc2VsZi0+Y3h0KSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgTUVNT1JZX0VSUik7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoc291cmNlICYmIChyYyA9IG1udF9jb250ZXh0X3NldF9zb3VyY2Uoc2VsZi0+Y3h0LCBzb3VyY2UpKSkgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKHRhcmdldCAmJiAocmMgPSBtbnRfY29udGV4dF9zZXRfdGFyZ2V0KHNlbGYtPmN4dCwgdGFyZ2V0KSkpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChmc3R5cGUgJiYgKHJjID0gbW50X2NvbnRleHRfc2V0X2ZzdHlwZShzZWxmLT5jeHQsIGZzdHlwZSkpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAob3B0aW9ucyAmJiAocmMgPSBtbnRfY29udGV4dF9zZXRfb3B0aW9ucyhzZWxmLT5jeHQsIG9wdGlvbnMpKSkgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGZzdHlwZV9wYXR0ZXJuICYmIChyYyA9IG1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybihzZWxmLT5jeHQsIGZzdHlwZV9wYXR0ZXJuKSkpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChvcHRpb25zX3BhdHRlcm4gJiYgKHJjID0gbW50X2NvbnRleHRfc2V0X29wdGlvbnNfcGF0dGVybihzZWxmLT5jeHQsIG9wdGlvbnNfcGF0dGVybikpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoZnMgJiYgKHJjID0gbW50X2NvbnRleHRfc2V0X2ZzKHNlbGYtPmN4dCwgZnMtPmZzKSkpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChmc3RhYiAmJiAocmMgPSBtbnRfY29udGV4dF9zZXRfZnN0YWIoc2VsZi0+Y3h0LCBmc3RhYi0+dGFiKSkpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmIChvcHRzbW9kZSAmJiAocmMgPSBtbnRfY29udGV4dF9zZXRfb3B0c21vZGUoc2VsZi0+Y3h0LCBvcHRzbW9kZSkpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisKKwltbnRfY29udGV4dF9zZXRfbWZsYWdzKHNlbGYtPmN4dCwgbWZsYWdzKTsKKwltbnRfY29udGV4dF9zZXRfb3B0c21vZGUoc2VsZi0+Y3h0LCBvcHRzbW9kZSk7CisJbW50X2NvbnRleHRfc2V0X3RhYmxlc19lcnJjYihzZWxmLT5jeHQsIHB5bW50X3RhYmxlX3BhcnNlcl9lcnJjYik7CisKKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBDb250ZXh0X2VuYWJsZV9mYWtlX0hFTFAgImVuYWJsZV9mYWtlKGVuYWJsZSlcblxuIiBcCisJIkVuYWJsZS9kaXNhYmxlIGZha2UgbW91bnRpbmcgKHNlZSBtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1mKS5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9lbmFibGVfZmFrZShDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBlbmFibGU7CisJY2hhciAqa3dsaXN0W10gPSB7ICJlbmFibGUiLCBOVUxMIH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaSIsIGt3bGlzdCwgJmVuYWJsZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9jb250ZXh0X2VuYWJsZV9mYWtlKHNlbGYtPmN4dCwgZW5hYmxlKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfZW5hYmxlX2ZvcmNlX0hFTFAgImVuYWJsZV9mb3JjZShlbmFibGUpXG5cbiIgXAorCSJFbmFibGUvZGlzYWJsZSBmb3JjZSB1bW91bnRpbmcgKHNlZSB1bW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtZikuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZW5hYmxlX2ZvcmNlKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGVuYWJsZTsKKwljaGFyICprd2xpc3RbXSA9IHsgImVuYWJsZSIsIE5VTEwgfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZW5hYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX2ZvcmNlKHNlbGYtPmN4dCwgZW5hYmxlKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfZW5hYmxlX2xhenlfSEVMUCAiZW5hYmxlX2xhenkoZW5hYmxlKVxuXG4iIFwKKwkiRW5hYmxlL2Rpc2FibGUgbGF6eSB1bW91bnQgKHNlZSB1bW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtbCkuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZW5hYmxlX2xhenkoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgZW5hYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyAiZW5hYmxlIiwgTlVMTCB9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZlbmFibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfbGF6eShzZWxmLT5jeHQsIGVuYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2VuYWJsZV9sb29wZGVsX0hFTFAgImVuYWJsZV9sb29wZGVsKGVuYWJsZSlcblxuIiBcCisJIkVuYWJsZS9kaXNhYmxlIGxvb3AgZGVsZXRlIChkZXN0cm95KSBhZnRlciB1bW91bnQgKHNlZSB1bW91bnQoOCksIG9wdGlvbiAtZClcbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9lbmFibGVfbG9vcGRlbChDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBlbmFibGU7CisJY2hhciAqa3dsaXN0W10gPSB7ICJlbmFibGUiLCBOVUxMIH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaSIsIGt3bGlzdCwgJmVuYWJsZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9jb250ZXh0X2VuYWJsZV9sb29wZGVsKHNlbGYtPmN4dCwgZW5hYmxlKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnRfSEVMUCAiZW5hYmxlX3Jkb25seV91bW91bnQoZW5hYmxlKVxuXG4iIFwKKwkiRW5hYmxlL2Rpc2FibGUgcmVhZC1vbmx5IHJlbW91bnQgb24gZmFpbGVkIHVtb3VudCgyKVxuICJcCisJIihzZWUgdW1vdW50KDgpIG1hbiBwYWdlLCBvcHRpb24gLXIpLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50KENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGVuYWJsZTsKKwljaGFyICprd2xpc3RbXSA9IHsgImVuYWJsZSIsIE5VTEwgfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZW5hYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnQoc2VsZi0+Y3h0LCBlbmFibGUpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9lbmFibGVfc2xvcHB5X0hFTFAgImVuYWJsZV9zbG9wcHkoZW5hYmxlKVxuXG4iIFwKKwkiU2V0L3Vuc2V0IHNsb3BweSBtb3VudGluZyAoc2VlIG1vdW50KDgpIG1hbiBwYWdlLCBvcHRpb24gLXMpLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2VuYWJsZV9zbG9wcHkoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgZW5hYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyAiZW5hYmxlIiwgTlVMTCB9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZlbmFibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfc2xvcHB5KHNlbGYtPmN4dCwgZW5hYmxlKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfZW5hYmxlX3ZlcmJvc2VfSEVMUCAiZW5hYmxlX3ZlcmJvc2UoZW5hYmxlKVxuXG4iIFwKKwkiRW5hYmxlL2Rpc2FibGUgdmVyYm9zZSBvdXRwdXQgKFRPRE86IG5vdCBpbXBsZW1lbnRlZCB5ZXQpXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZW5hYmxlX3ZlcmJvc2UoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgZW5hYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyAiZW5hYmxlIiwgTlVMTCB9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZlbmFibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfdmVyYm9zZShzZWxmLT5jeHQsIGVuYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2VuYWJsZV9mb3JrX0hFTFAgImVuYWJsZV9mb3JrKGVuYWJsZSlcblxuIiBcCisJIkVuYWJsZS9kaXNhYmxlIGZvcmsoMikgY2FsbCBpbiBDeHQubmV4dF9tb3VudCgpKG5vdCB5ZXQgaW1wbGVtZW50ZWQpIChzZWUgbW91bnQoOCkgbWFuXG4iIFwKKwkicGFnZSwgb3B0aW9uIC1GKS5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9lbmFibGVfZm9yayhDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBlbmFibGU7CisJY2hhciAqa3dsaXN0W10gPSB7ImVuYWJsZSIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZlbmFibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfZm9yayhzZWxmLT5jeHQsIGVuYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2Rpc2FibGVfY2Fub25pY2FsaXplX0hFTFAgImRpc2FibGVfY2Fub25pY2FsaXplKGRpc2FibGUpXG5cbiIgXAorCSJFbmFibGUvZGlzYWJsZSBwYXRocyBjYW5vbmljYWxpemF0aW9uIGFuZCB0YWdzIGV2YWx1YXRpb24uIFRoZSBsaWJtb3VudCBjb250ZXh0XG4iIFwKKwkiY2Fub25pY2FsaXplcyBwYXRocyB3aGVuIHNlYXJjaGluZyBmc3RhYiBhbmQgd2hlbiBwcmVwYXJpbmcgc291cmNlIGFuZCB0YXJnZXQgcGF0aHNcbiIgXAorCSJmb3IgbW91bnQoMikgc3lzY2FsbC5cbiIgXAorCSJcbiIgXAorCSJUaGlzIGZ1bmN0aW9uIGhhcyBlZmZlY3QgdG8gdGhlIHByaXZhdGUgKHdpdGhpbiBjb250ZXh0KSBmc3RhYiBpbnN0YW5jZSBvbmx5XG4iIFwKKwkiKHNlZSBDeHQuZnN0YWIpLlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2Rpc2FibGVfY2Fub25pY2FsaXplKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGRpc2FibGU7CisJY2hhciAqa3dsaXN0W10gPSB7ImRpc2FibGUiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZGlzYWJsZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9jb250ZXh0X2Rpc2FibGVfY2Fub25pY2FsaXplKHNlbGYtPmN4dCwgZGlzYWJsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2Rpc2FibGVfaGVscGVyc19IRUxQICJkaXNhYmxlX2hlbHBlcnMoZGlzYWJsZSlcblxuIiBcCisJIkVuYWJsZS9kaXNhYmxlIC9zYmluL1t1XW1vdW50LiogaGVscGVycyAoc2VlIG1vdW50KDgpIG1hbiBwYWdlLCBvcHRpb24gLWkpLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2Rpc2FibGVfaGVscGVycyhDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBkaXNhYmxlOworCWNoYXIgKmt3bGlzdFtdID0geyJkaXNhYmxlIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaSIsIGt3bGlzdCwgJmRpc2FibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoc2VsZi0+Y3h0LCBkaXNhYmxlKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfZGlzYWJsZV9tdGFiX0hFTFAgImRpc2FibGVfbXRhYihkaXNhYmxlKVxuXG4iIFwKKwkiRGlzYWJsZS9lbmFibGUgbXRhYiB1cGRhdGUgKHNlZSBtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1uKS5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9kaXNhYmxlX210YWIoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlpbnQgZGlzYWJsZTsKKwljaGFyICprd2xpc3RbXSA9IHsiZGlzYWJsZSIsIE5VTEwgfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpIiwga3dsaXN0LCAmZGlzYWJsZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9jb250ZXh0X2Rpc2FibGVfbXRhYihzZWxmLT5jeHQsIGRpc2FibGUpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaF9IRUxQICJkaXNhYmxlX3N3YXBtYXRjaChkaXNhYmxlKVxuXG4iIFwKKwkiRGlzYWJsZS9lbmFibGUgc3dhcCBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0IGZvciBtb3VudCg4KSBpZiBvbmx5IG9uZSBwYXRoXG4iIFwKKwkiaXMgc3BlY2lmaWVkLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGRpc2FibGU7CisJY2hhciAqa3dsaXN0W10gPSB7ICJkaXNhYmxlIiwgTlVMTCB9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZkaXNhYmxlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2NvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2goc2VsZi0+Y3h0LCBkaXNhYmxlKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X3NvdXJjZShDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJY2hhciAqc291cmNlOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKHNvdXJjZSA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9jb250ZXh0X3NldF9zb3VyY2Uoc2VsZi0+Y3h0LCBzb3VyY2UpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X21vdW50ZGF0YShDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJY2hhciAqbW91bnRkYXRhOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKG1vdW50ZGF0YSA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9jb250ZXh0X3NldF9tb3VudGRhdGEoc2VsZi0+Y3h0LCBtb3VudGRhdGEpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X3RhcmdldChDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJY2hhciAqIHRhcmdldDsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoISh0YXJnZXQgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfY29udGV4dF9zZXRfdGFyZ2V0KHNlbGYtPmN4dCwgdGFyZ2V0KTsKKwlpZiAocmMpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBDb250ZXh0X3NldF9mc3R5cGUoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKiBmc3R5cGU7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEoZnN0eXBlID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2NvbnRleHRfc2V0X2ZzdHlwZShzZWxmLT5jeHQsIGZzdHlwZSk7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgQ29udGV4dF9zZXRfb3B0aW9ucyhDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJY2hhciAqIG9wdGlvbnM7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEob3B0aW9ucyA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9jb250ZXh0X3NldF9vcHRpb25zKHNlbGYtPmN4dCwgb3B0aW9ucyk7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgQ29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4oQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKiBmc3R5cGVfcGF0dGVybjsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoIShmc3R5cGVfcGF0dGVybiA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybihzZWxmLT5jeHQsIGZzdHlwZV9wYXR0ZXJuKTsKKwlpZiAocmMpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBDb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4oQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKiBvcHRpb25zX3BhdHRlcm47CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEob3B0aW9uc19wYXR0ZXJuID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2NvbnRleHRfc2V0X29wdGlvbnNfcGF0dGVybihzZWxmLT5jeHQsIG9wdGlvbnNfcGF0dGVybik7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgQ29udGV4dF9zZXRfZnMoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCUZzT2JqZWN0ICpmczsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCFQeUFyZ19QYXJzZSh2YWx1ZSwgIk8hIiwgJkZzVHlwZSwgJmZzKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlQeV9JTkNSRUYoZnMpOworCVB5X1hERUNSRUYobW50X2NvbnRleHRfZ2V0X2ZzX3VzZXJkYXRhKHNlbGYtPmN4dCkpOworCisJcmV0dXJuIG1udF9jb250ZXh0X3NldF9mcyhzZWxmLT5jeHQsIGZzLT5mcyk7Cit9CisKK3N0YXRpYyBpbnQgQ29udGV4dF9zZXRfZnN0YWIoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCVRhYmxlT2JqZWN0ICpmc3RhYjsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCFQeUFyZ19QYXJzZSh2YWx1ZSwgIk8hIiwgJlRhYmxlVHlwZSwgJmZzdGFiKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlQeV9JTkNSRUYoZnN0YWIpOworCVB5X1hERUNSRUYobW50X2NvbnRleHRfZ2V0X2ZzdGFiX3VzZXJkYXRhKHNlbGYtPmN4dCkpOworCisJcmV0dXJuIG1udF9jb250ZXh0X3NldF9mc3RhYihzZWxmLT5jeHQsIGZzdGFiLT50YWIpOworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X29wdHNtb2RlKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlpbnQgb3B0c21vZGU7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWVsc2UgaWYgKCFQeUxvbmdfQ2hlY2sodmFsdWUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gLTE7CisJfQorCW9wdHNtb2RlID0gUHlMb25nX0FzTG9uZyh2YWx1ZSk7CisJcmV0dXJuIG1udF9jb250ZXh0X3NldF9vcHRzbW9kZShzZWxmLT5jeHQsIG9wdHNtb2RlKTsKK30KKworc3RhdGljIGludCBDb250ZXh0X3NldF9zeXNjYWxsX3N0YXR1cyhDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJaW50IHN5c2NhbGxfc3RhdHVzOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwllbHNlIGlmICghUHlMb25nX0NoZWNrKHZhbHVlKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlzeXNjYWxsX3N0YXR1cyA9IFB5TG9uZ19Bc0xvbmcodmFsdWUpOworCXJldHVybiBtbnRfY29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXMoc2VsZi0+Y3h0LCBzeXNjYWxsX3N0YXR1cyk7Cit9CisKK3N0YXRpYyBpbnQgQ29udGV4dF9zZXRfdXNlcl9tZmxhZ3MoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWVsc2UgaWYgKCFQeUxvbmdfQ2hlY2sodmFsdWUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gLTE7CisJfQorCWZsYWdzID0gUHlMb25nX0FzVW5zaWduZWRMb25nKHZhbHVlKTsKKwlyZXR1cm4gbW50X2NvbnRleHRfc2V0X21mbGFncyhzZWxmLT5jeHQsIGZsYWdzKTsKKworfQorCitzdGF0aWMgaW50IENvbnRleHRfc2V0X21mbGFncyhDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJZWxzZSBpZiAoIVB5TG9uZ19DaGVjayh2YWx1ZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiAtMTsKKwl9CisJZmxhZ3MgPSBQeUxvbmdfQXNVbnNpZ25lZExvbmcodmFsdWUpOworCXJldHVybiBtbnRfY29udGV4dF9zZXRfbWZsYWdzKHNlbGYtPmN4dCwgZmxhZ3MpOworfQorCisvKiByZXR1cm5zIGEgZmxhZ3MgaW50ZWdlciAoYmVoYXZpb3IgZGlmZmVycyBmcm9tIEMgQVBJKSAqLworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF9tZmxhZ3MoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJUHlPYmplY3QgKnJlc3VsdDsKKwltbnRfY29udGV4dF9nZXRfbWZsYWdzKHNlbGYtPmN4dCwgJmZsYWdzKTsKKwlyZXN1bHQgPSBQeV9CdWlsZFZhbHVlKCJrIiwgZmxhZ3MpOworCisJaWYgKCFyZXN1bHQpCisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsIENPTlNUUlVDVF9FUlIpOworCXJldHVybiByZXN1bHQ7CisKK30KKy8qIHJldHVybnMgYSBmbGFncyBpbnRlZ2VyIChiZWhhdmlvciBkaWZmZXJzIGZyb20gQyBBUEkpICovCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZ2V0X3VzZXJfbWZsYWdzKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCVB5T2JqZWN0ICpyZXN1bHQ7CisJbW50X2NvbnRleHRfZ2V0X3VzZXJfbWZsYWdzKHNlbGYtPmN4dCwgJmZsYWdzKTsKKwlyZXN1bHQgPSBQeV9CdWlsZFZhbHVlKCJrIiwgZmxhZ3MpOworCisJaWYgKCFyZXN1bHQpCisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsIENPTlNUUlVDVF9FUlIpOworCXJldHVybiByZXN1bHQ7CisKK30KKyNkZWZpbmUgQ29udGV4dF9yZXNldF9zdGF0dXNfSEVMUCAicmVzZXRfc3RhdHVzKClcblxuIiBcCisJIlJlc2V0cyBtb3VudCgyKSBhbmQgbW91bnQudHlwZSBzdGF0dXNlcywgc28gQ3h0LmRvX21vdW50KCkgb3JcbiIgXAorCSJDeHQuZG9fdW1vdW50KCkgY291bGQgYmUgYWdhaW4gY2FsbGVkIHdpdGggdGhlIHNhbWUgc2V0dGluZ3MuXG4iIFwKKwkiXG4iIFwKKwkiQkUgQ0FSRUZVTCAtLSBhZnRlciB0aGlzIHNvZnQgcmVzZXQgdGhlIGxpYm1vdW50IHdpbGwgTk9UIHBhcnNlIG1vdW50XG4iIFwKKwkib3B0aW9ucywgZXZhbHVhdGUgcGVybWlzc2lvbnMgb3IgYXBwbHkgc3R1ZmYgZnJvbSBmc3RhYi5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9yZXNldF9zdGF0dXMoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpbnQgcmMgPSBtbnRfY29udGV4dF9yZXNldF9zdGF0dXMoc2VsZi0+Y3h0KTsKKworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19mYWtlX0hFTFAgImlzX2Zha2UoKVxuXG4iIFwKKyJSZXR1cm5zIFRydWUgaWYgZmFrZSBmbGFnIGlzIGVuYWJsZWQgb3IgRmFsc2UiCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfZmFrZShDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfZmFrZShzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX2ZvcmNlX0hFTFAgImlzX2ZvcmNlKClcblxuIiBcCisiUmV0dXJucyBUcnVlIGlmIGZvcmNlIHVtb3VudGluZyBmbGFnIGlzIGVuYWJsZWQgb3IgRmFsc2UiCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfZm9yY2UoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX2ZvcmNlKHNlbGYtPmN4dCkpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfbGF6eV9IRUxQICJpc19sYXp5KClcblxuIiBcCisiUmV0dXJucyBUcnVlIGlmIGxhenkgdW1vdW50IGlzIGVuYWJsZWQgb3IgRmFsc2UiCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfbGF6eShDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfbGF6eShzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX25vbXRhYl9IRUxQICJpc19ub210YWIoKVxuXG4iIFwKKwkiUmV0dXJucyBUcnVlIGlmIG5vLW10YWIgaXMgZW5hYmxlZCBvciBGYWxzZSIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19ub210YWIoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX25vbXRhYihzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX3Jkb25seV91bW91bnRfSEVMUCAiaXNfcmRvbmx5X3Vtb3VudCgpXG5cbiIgXAorCSJFbmFibGUvZGlzYWJsZSByZWFkLW9ubHkgcmVtb3VudCBvbiBmYWlsZWQgdW1vdW50KDIpXG4iIFwKKwkiKHNlZSB1bW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtcikuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9uIHN1Y2Nlc3MsIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfcmRvbmx5X3Vtb3VudChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCWludCByYyA9IG1udF9jb250ZXh0X2lzX3Jkb25seV91bW91bnQoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfcmVzdHJpY3RlZF9IRUxQICJpc19yZXN0cmljdGVkKClcblxuIiBcCisJIlJldHVybnMgRmFsc2UgZm9yIHVucmVzdHJpY3RlZCBtb3VudCAodXNlciBpcyByb290KSwgb3IgVHJ1ZSBmb3Igbm9uLXJvb3QgbW91bnRzIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX3Jlc3RyaWN0ZWQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19zbG9wcHlfSEVMUCAiaXNfc2xvcHB5KClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBzbG9wcHkgZmxhZyBpcyBlbmFibGVkIG9yIEZhbHNlIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX3Nsb3BweShDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfc2xvcHB5KHNlbGYtPmN4dCkpOworfQorCisjZGVmaW5lIENvbnRleHRfaXNfdmVyYm9zZV9IRUxQICJpc192ZXJib3NlKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiB2ZXJib3NlIGZsYWcgaXMgZW5hYmxlZCBvciBGYWxzZSIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc192ZXJib3NlKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9pc192ZXJib3NlKHNlbGYtPmN4dCkpOworfQorI2RlZmluZSBDb250ZXh0X2lzX2ZzX21vdW50ZWRfSEVMUCAiaXNfZnNfbW91bnRlZChmcywgbW91bnRlZClcblxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX2ZzX21vdW50ZWQoQ29udGV4dE9iamV4dCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJmcyIsICJtb3VudGVkIiwgTlVMTH07CisJRnNPYmplY3QgKmZzOworCWludCBtb3VudGVkOworCisJaWYgKFB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiTyFpIiwga3dsaXN0LAorCQkJCQkmRnNUeXBlLCAmZnMsICZtb3VudGVkKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfZnNfbW91bnRlZChzZWxmLT5jeHQsIGZzLT5mcywgJm1vdW50ZWQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX2NoaWxkX0hFTFAgImlzX2NoaWxkKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBtb3VudCAtRiBlbmFibGVkIGFuZCB0aGUgY3VycmVudCBjb250ZXh0IGlzIGNoaWxkLCBvciBGYWxzZSIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19jaGlsZChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfY2hpbGQoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19mb3JrX0hFTFAgImlzX2ZvcmsoKVxuXG4iIFwKKwkiUmV0dXJucyBUcnVlIGlmIGZvcmsgKG1vdW50IC1GKSBpcyBlbmFibGVkIG9yIEZhbHNlIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2lzX2ZvcmsoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX2Zvcmsoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19wYXJlbnRfSEVMUCAiaXNfcGFyZW50KClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBtb3VudCAtRiBlbmFibGVkIGFuZCB0aGUgY3VycmVudCBjb250ZXh0IGlzIHBhcmVudCwgb3IgRmFsc2UiCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfcGFyZW50KENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9pc19wYXJlbnQoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19sb29wZGVsX0hFTFAgImlzX2xvb3BkZWwoKVxuXG4iIFwKKwkiUmV0dXJucyBUcnVlIGlmIGxvb3AgZGV2aWNlIHNob3VsZCBiZSBkZWxldGVkIGFmdGVyIHVtb3VudCAodW1vdW50IC1kKSBvciBGYWxzZS4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfaXNfbG9vcGRlbChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfbG9vcGRlbChzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX25vY2Fub25pY2FsaXplX0hFTFAgImlzX25vY2Fub25pY2FsaXplKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBuby1jYW5vbmljYWxpemUgbW9kZSBlbmFibGVkIG9yIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZShDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfaXNfbm9jYW5vbmljYWxpemUoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9pc19ub2hlbHBlcnNfSEVMUCAiaXNfbm9oZWxwZXJzKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBoZWxwZXJzIGFyZSBkaXNhYmxlZCAobW91bnQgLWkpIG9yIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19ub2hlbHBlcnMoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX25vaGVscGVycyhzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X3N5c2NhbGxfY2FsbGVkX0hFTFAgInN5c2NhbGxfY2FsbGVkKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBtb3VudCgyKSBzeXNjYWxsIGhhcyBiZWVuIGNhbGxlZCwgb3IgRmFsc2UuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X3N5c2NhbGxfY2FsbGVkKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZChzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2lzX3N3YXBtYXRjaF9IRUxQICJpc19zd2FwbWF0Y2goKVxuXG4iIFwKKwkiUmV0dXJucyBUcnVlIGlmIHN3YXAgYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldCBpcyBhbGxvd2VkIChkZWZhdWx0IGlzIFRydWUpIG9yIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pc19zd2FwbWF0Y2goQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2lzX3N3YXBtYXRjaChzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X3RhYl9hcHBsaWVkX0hFTFAgInRhYl9hcHBsaWVkKClcblxuIiBcCisJIlJldHVybnMgVHJ1ZSBpZiBmc3RhYiAob3IgbXRhYikgaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgY29udGV4dCwgRmFsc2Ugb3RoZXJ3aXNlLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF90YWJfYXBwbGllZChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2NvbnRleHRfdGFiX2FwcGxpZWQoc2VsZi0+Y3h0KSk7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9hcHBseV9mc3RhYl9IRUxQICJhcHBseV9mc3RhYigpXG5cbiIgXAorCSJUaGlzIGZ1bmN0aW9uIGlzIG9wdGlvbmFsLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2FwcGx5X2ZzdGFiKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJaW50IHJjID0gbW50X2NvbnRleHRfYXBwbHlfZnN0YWIoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfaGVscGVyX2V4ZWN1dGVkX0hFTFAgImhlbHBlcl9leGVjdXRlZCgpXG5cbiIgXAorCSJSZXR1cm5zIFRydWUgaWYgbW91bnQudHlwZSBoZWxwZXIgaGFzIGJlZW4gZXhlY3V0ZWQsIG9yIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChzZWxmLT5jeHQpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF9zb3VyY2UoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2NvbnRleHRfZ2V0X3NvdXJjZShzZWxmLT5jeHQpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF90YXJnZXQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2NvbnRleHRfZ2V0X3RhcmdldChzZWxmLT5jeHQpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF9vcHRpb25zKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9jb250ZXh0X2dldF9vcHRpb25zKHNlbGYtPmN4dCkpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZ2V0X2ZzdHlwZShDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfY29udGV4dF9nZXRfZnN0eXBlKHNlbGYtPmN4dCkpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZ2V0X2ZzKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0RnMobW50X2NvbnRleHRfZ2V0X2ZzKHNlbGYtPmN4dCkpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZ2V0X2ZzdGFiKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGFiID0gTlVMTDsKKworCWlmIChtbnRfY29udGV4dF9nZXRfZnN0YWIoc2VsZi0+Y3h0LCAmdGFiKSAhPSAwIHx8ICF0YWIpCisJCXJldHVybiBOVUxMOworCXJldHVybiBQeU9iamVjdFJlc3VsdFRhYih0YWIpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZ2V0X210YWIoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWIgPSBOVUxMOworCisJaWYgKG1udF9jb250ZXh0X2dldF9tdGFiKHNlbGYtPmN4dCwgJnRhYikgIT0gMCB8fCAhdGFiKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRUYWIodGFiKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2dldF9vcHRzbW9kZShDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfY29udGV4dF9nZXRfb3B0c21vZGUoc2VsZi0+Y3h0KSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9nZXRfc3RhdHVzKENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0SW50KG1udF9jb250ZXh0X2dldF9zdGF0dXMoc2VsZi0+Y3h0KSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhzZWxmLT5jeHQpKTsKK30KKworI2RlZmluZSBDb250ZXh0X2RvX21vdW50X0hFTFAgImRvX21vdW50KClcblxuIiBcCisJIkNhbGwgbW91bnQoMikgb3IgbW91bnQudHlwZSBoZWxwZXIuIFVubmVjZXNzYXJ5IGZvciBDeHQubW91bnQoKS5cbiIgXAorCSJcbiIgXAorCSJOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBjb3VsZCBiZSBjYWxsZWQgb25seSBvbmNlLiBJZiB5b3Ugd2FudCB0byBtb3VudFxuIiBcCisJImFub3RoZXIgc291cmNlIG9yIHRhcmdldCB0aGFuIHlvdSBoYXZlIHRvIGNhbGwgQ3h0LnJlc2V0X2NvbnRleHQoKS5cbiIgXAorCSJcbiIgXAorCSJJZiB5b3Ugd2FudCB0byBjYWxsIG1vdW50KDIpIGZvciB0aGUgc2FtZSBzb3VyY2UgYW5kIHRhcmdldCB3aXRoIGEgZGlmZmVyZW50XG4iIFwKKwkibW91bnQgZmxhZ3Mgb3IgZnN0eXBlIHRoZW4gY2FsbCBDeHQucmVzZXRfc3RhdHVzKCkgYW5kIHRoZW4gdHJ5XG4iIFwKKwkiYWdhaW4gQ3h0LmRvX21vdW50KCkuXG4iIFwKKwkiXG4iIFwKKwkiV0FSTklORzogbm9uLXplcm8gcmV0dXJuIGNvZGUgZG9lcyBub3QgbWVhbiB0aGF0IG1vdW50KDIpIHN5c2NhbGwgb3JcbiIgXAorCSJtb3VudC50eXBlIGhlbHBlciB3YXNuJ3Qgc3VjY2Vzc2Z1bGx5IGNhbGxlZC5cbiIgXAorCSJcbiIgXAorCSJDaGVjayBDeHQuc3RhdHVzIGFmdGVyIGVycm9yIVxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvbiBzdWNjZXNzIG9yIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIG90aGVyIGVycm9ycy4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfZG9fbW91bnQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpbnQgcmMgPSBtbnRfY29udGV4dF9kb19tb3VudChzZWxmLT5jeHQpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKHJjIDwgMCA/IC1yYyA6IHJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2RvX3Vtb3VudF9IRUxQICJkb191bW91bnQoKVxuXG4iIFwKKwkiVW1vdW50IGZpbGVzeXN0ZW0gYnkgdW1vdW50KDIpIG9yIGZvcmsoKStleGVjKC9zYmluL3Vtb3VudC50eXBlKS5cbiIgXAorCSJVbm5lY2Vzc2FyeSBmb3IgQ3h0LnVtb3VudCgpLlxuIiBcCisJIlxuIiBcCisJIlNlZSBhbHNvIEN4dC5kaXNhYmxlX2hlbHBlcnMoKS5cbiIgXAorCSJcbiIgXAorCSJXQVJOSU5HOiBub24temVybyByZXR1cm4gY29kZSBkb2VzIG5vdCBtZWFuIHRoYXQgdW1vdW50KDIpIHN5c2NhbGwgb3JcbiIgXAorCSJ1bW91bnQudHlwZSBoZWxwZXIgd2Fzbid0IHN1Y2Nlc3NmdWxseSBjYWxsZWQuXG4iIFwKKwkiXG4iIFwKKwkiQ2hlY2sgQ3h0LnN0YXR1cyBhZnRlciBlcnJvciFcbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb24gc3VjY2VzcyBvciBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBvdGhlciBlcnJvcnMuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2RvX3Vtb3VudChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCWludCByYyA9IG1udF9jb250ZXh0X2RvX3Vtb3VudChzZWxmLT5jeHQpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKHJjIDwgMCA/IC1yYyA6IHJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X21vdW50X0hFTFAgIm1vdW50KClcblxuIiBcCisJIkhpZ2gtbGV2ZWwsIG1vdW50cyBmaWxlc3lzdGVtIGJ5IG1vdW50KDIpIG9yIGZvcmsoKStleGVjKC9zYmluL21vdW50LnR5cGUpLlxuIiBcCisJIlxuIiBcCisJIlRoaXMgaXMgc2ltaWxhciB0bzpcbiIgXAorCSJcbiIgXAorCSJDeHQucHJlcGFyZV9tb3VudCgpO1xuIiBcCisJIkN4dC5kb19tb3VudCgpO1xuIiBcCisJIkN4dC5maW5hbGl6ZV9tb3VudCgpO1xuIiBcCisJIlxuIiBcCisJIlNlZSBhbHNvIEN4dC5kaXNhYmxlX2hlbHBlcigpLlxuIiBcCisJIlxuIiBcCisJIk5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGNvdWxkIGJlIGNhbGxlZCBvbmx5IG9uY2UuIElmIHlvdSB3YW50IHRvIG1vdW50IHdpdGhcbiIgXAorCSJkaWZmZXJlbnQgc2V0dGluZyB0aGFuIHlvdSBoYXZlIHRvIGNhbGwgQ3h0LnJlc2V0X2NvbnRleHQoKS4gSXQncyBOT1QgZW5vdWdoXG4iIFwKKwkidG8gY2FsbCBDeHQucmVzZXRfc3RhdHVzKCkgaWYgeW91IHdhbnQgY2FsbCB0aGlzIGZ1bmN0aW9uIG1vcmUgdGhhblxuIiBcCisJIm9uY2UsIHdob2xlIGNvbnRleHQgaGFzIHRvIGJlIHJlc2V0LlxuIiBcCisJIlxuIiBcCisJIldBUk5JTkc6IG5vbi16ZXJvIHJldHVybiBjb2RlIGRvZXMgbm90IG1lYW4gdGhhdCBtb3VudCgyKSBzeXNjYWxsIG9yXG4iIFwKKwkibW91bnQudHlwZSBoZWxwZXIgd2Fzbid0IHN1Y2Nlc3NmdWxseSBjYWxsZWQuXG4iIFwKKwkiXG4iIFwKKwkiQ2hlY2sgQ3h0LnN0YXR1cyBhZnRlciBlcnJvciFcbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb24gc3VjY2VzcyBvciBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBvdGhlciBlcnJvcnMuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X21vdW50KENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJaW50IHJjID0gbW50X2NvbnRleHRfbW91bnQoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YyhyYyA8IDAgPyAtcmMgOiByYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF91bW91bnRfSEVMUCAidW1vdW50KClcblxuIiBcCisJIkhpZ2gtbGV2ZWwsIHVtb3VudHMgZmlsZXN5c3RlbSBieSB1bW91bnQoMikgb3IgZm9yaygpK2V4ZWMoL3NiaW4vdW1vdW50LnR5cGUpLlxuIiBcCisJIlxuIiBcCisJIlRoaXMgaXMgc2ltaWxhciB0bzpcbiIgXAorCSJcbiIgXAorCSJDeHQucHJlcGFyZV91bW91bnQoKTtcbiIgXAorCSJDeHQuZG9fdW1vdW50KCk7XG4iIFwKKwkiQ3h0LmZpbmFsaXplX3Vtb3VudCgpO1xuIiBcCisJIlxuIiBcCisJIlNlZSBhbHNvIEN4dC5kaXNhYmxlX2hlbHBlcnMoKS5cbiIgXAorCSJcbiIgXAorCSJXQVJOSU5HOiBub24temVybyByZXR1cm4gY29kZSBkb2VzIG5vdCBtZWFuIHRoYXQgdW1vdW50KDIpIHN5c2NhbGwgb3JcbiIgXAorCSJ1bW91bnQudHlwZSBoZWxwZXIgd2Fzbid0IHN1Y2Nlc3NmdWxseSBjYWxsZWQuXG4iIFwKKwkiXG4iIFwKKwkiQ2hlY2sgQ3h0LnN0YXR1cyBhZnRlciBlcnJvciFcbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb24gc3VjY2VzcyBvciBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBvdGhlciBlcnJvcnMuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X3Vtb3VudChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCWludCByYyA9IG1udF9jb250ZXh0X3Vtb3VudChzZWxmLT5jeHQpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKHJjIDwgMCA/IC1yYyA6IHJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2ZpbmFsaXplX21vdW50X0hFTFAgImZpbmFsaXplX21vdW50KClcblxuIiBcCisJIk10YWIgdXBkYXRlLCBldGMuIFVubmVjZXNzYXJ5IGZvciBDeHQubW91bnQoKSwgYnV0IHNob3VsZCBiZSBjYWxsZWRcbiIgXAorCSJhZnRlciBDeHQuZG9fbW91bnQoKS4gU2VlIGFsc28gQ3h0LnN5c2NhbGxfc3RhdHVzLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2ZpbmFsaXplX21vdW50KENvbnRleHRPYmpleHQgKnNlbGYpCit7CisJaW50IHJjID0gbW50X2NvbnRleHRfZmluYWxpemVfbW91bnQoc2VsZi0+Y3h0KTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfcHJlcGFyZV91bW91bnRfSEVMUCAicHJlcGFyZV91bW91bnQoKVxuXG4iIFwKKwkiUHJlcGFyZSBjb250ZXh0IGZvciB1bW91bnRpbmcsIHVubmVjZXNzYXJ5IGZvciBDeHQudW1vdW50KCkuXG4iIFwKKwkiXG4iIFwKKwkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfcHJlcGFyZV91bW91bnQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpbnQgcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX3Vtb3VudChzZWxmLT5jeHQpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9wcmVwYXJlX21vdW50X0hFTFAgInByZXBhcmVfbW91bnQoKVxuXG4iIFwKKwkiUHJlcGFyZSBjb250ZXh0IGZvciBtb3VudGluZywgdW5uZWNlc3NhcnkgZm9yIEN4dC5tb3VudCgpLlxuIiBcCisJIlxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X3ByZXBhcmVfbW91bnQoQ29udGV4dE9iamV4dCAqc2VsZikKK3sKKwlpbnQgcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX21vdW50KHNlbGYtPmN4dCk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2ZpbmFsaXplX3Vtb3VudF9IRUxQICJmaW5hbGl6ZV91bW91bnQoKVxuXG4iIFwKKwkiTXRhYiB1cGRhdGUsIGV0Yy4gVW5uZWNlc3NhcnkgZm9yIEN4dC51bW91bnQoKSwgYnV0IHNob3VsZCBiZSBjYWxsZWRcbiIgXAorCSJhZnRlciBDeHQuZG9fdW1vdW50KCkuIFNlZSBhbHNvIEN4dC5zeXNjYWxsX3N0YXR1cy5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb24gc3VjY2VzcywgcmFpc2VzIExpYm1vdW50RXJyb3IgaWYgdGFyZ2V0IGZpbGVzeXN0ZW0gbm90IGZvdW5kLCBvciBvdGhlciBleGNlcHRpb24gb24gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2ZpbmFsaXplX3Vtb3VudChDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCWludCByYyA9IG1udF9jb250ZXh0X2ZpbmFsaXplX3Vtb3VudChzZWxmLT5jeHQpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9maW5kX3Vtb3VudF9mc19IRUxQICJmaW5kX3Vtb3VudF9mcyh0Z3QsIHBmcylcblxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2ZpbmRfdW1vdW50X2ZzKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJY2hhciAqa3dsaXN0W10gPSB7ICJ0Z3QiLCAicGZzIiwgTlVMTCB9OworCWNoYXIgKnRndCA9IE5VTEw7CisJRnNPYmplY3QgKmZzOworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInNPISIsIGt3bGlzdCwgJnRndCwgJkZzVHlwZSwgJmZzKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmMgPSBtbnRfY29udGV4dF9maW5kX3Vtb3VudF9mcyhzZWxmLT5jeHQsIHRndCwgJmZzLT5mcyk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBDb250ZXh0X2FwcGVuZF9vcHRpb25zX0hFTFAgImFwcGVuZF9vcHRpb25zKG9wdHN0cilcblxuIiBcCisJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorc3RhdGljIFB5T2JqZWN0ICpDb250ZXh0X2FwcGVuZF9vcHRpb25zKENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJY2hhciAqa3dsaXN0W10gPSB7Im9wdHN0ciIsIE5VTEx9OworCWNoYXIgKm9wdHN0ciA9IE5VTEw7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJm9wdHN0cikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKworCXJjID0gbW50X2NvbnRleHRfYXBwZW5kX29wdGlvbnMoc2VsZi0+Y3h0LCBvcHRzdHIpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgQ29udGV4dF9oZWxwZXJfc2V0b3B0X0hFTFAgImhlbHBlcl9zZXRvcHQoYywgYXJnKVxuXG4iIFwKKwkiVGhpcyBmdW5jdGlvbiBhcHBsaWVzIFt1XW1vdW50LnR5cGUgY29tbWFuZCBsaW5lIG9wdGlvbiAoZm9yIGV4YW1wbGUgcGFyc2VkXG4iIFwKKwkiYnkgZ2V0b3B0IG9yIGdldG9wdF9sb25nKSB0byBjeHQuIEFsbCB1bmtub3duIG9wdGlvbnMgYXJlIGlnbm9yZWQgYW5kXG4iIFwKKwkidGhlbiBWYWx1ZUVycm9yIGlzIHJhaXNlZC5cbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb24gc3VjY2VzcywgcmFpc2VzIFZhbHVlRXJyb3IgaWYgYyBpcyB1bmtub3duIG9yIG90aGVyIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9oZWxwZXJfc2V0b3B0KENvbnRleHRPYmpleHQgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlpbnQgcmM7CisJaW50IGM7CisJY2hhciAqYXJnOworCWNoYXIgKmt3bGlzdFtdID0geyAiYyIsICJhcmciLCBOVUxMIH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiaXMiLCBrd2xpc3QsICZjLCAmYXJnKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmMgPSBtbnRfY29udGV4dF9oZWxwZXJfc2V0b3B0KHNlbGYtPmN4dCwgYywgYXJnKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIENvbnRleHRfaW5pdF9oZWxwZXJfSEVMUCAiaW5pdF9oZWxwZXIoYWN0aW9uLCBmbGFncylcblxuIiBcCisJIlRoaXMgZnVuY3Rpb24gaW5mb3JtcyBsaWJtb3VudCB0aGF0IGl0IGlzIHVzZWQgZnJvbSBbdV1tb3VudC50eXBlIGhlbHBlci5cbiIgXAorCSJcbiIgXAorCSJUaGUgZnVuY3Rpb24gYWxzbyBjYWxscyBDeHQuZGlzYWJsZV9oZWxwZXJzKCkgdG8gYXZvaWQgY2FsbGluZ1xuIiBcCisJIm1vdW50LnR5cGUgaGVscGVycyByZWN1cnNpdmVseS4gSWYgeW91IHJlYWxseSB3YW50IHRvIGNhbGwgYW5vdGhlclxuIiBcCisJIm1vdW50LnR5cGUgaGVscGVyIGZyb20geW91ciBoZWxwZXIgdGhlbiB5b3UgaGF2ZSB0byBleHBsaWNpdGx5IGVuYWJsZSB0aGlzXG4iIFwKKwkiZmVhdHVyZSBieTpcbiIgXAorCSJcbiIgXAorCSJDeHQuZGlzYWJsZV9oZWxwZXJzKEZhbHNlKTtcbiIgXAorCSJcbiIgXAorCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqQ29udGV4dF9pbml0X2hlbHBlcihDb250ZXh0T2JqZXh0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWludCBhY3Rpb24sIGZsYWdzOworCWNoYXIgKmt3bGlzdFtdID0geyJhY3Rpb24iLCAiZmxhZ3MiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJpaSIsIGt3bGlzdCwgJmFjdGlvbiwgJmZsYWdzKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJcmMgPSBtbnRfY29udGV4dF9pbml0X2hlbHBlcihzZWxmLT5jeHQsIGFjdGlvbiwgZmxhZ3MpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKK3N0YXRpYyBQeUdldFNldERlZiBDb250ZXh0X2dldHNldGVyc1tdID0geworCXsidGFibGVzX2VycmNiIiwJTlVMTCwgKHNldHRlcilDb250ZXh0X3NldF90YWJsZXNfZXJyY2IsICJlcnJvciBjYWxsYmFjayBmdW5jdGlvbiIsIE5VTEx9LAorCXsic3RhdHVzIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfc3RhdHVzLCBOVUxMLCAic3RhdHVzIiwgTlVMTH0sCisJeyJzb3VyY2UiLAkJKGdldHRlcilDb250ZXh0X2dldF9zb3VyY2UsIChzZXR0ZXIpQ29udGV4dF9zZXRfc291cmNlLCAic291cmNlIiwgTlVMTH0sCisJeyJ0YXJnZXQiLAkJKGdldHRlcilDb250ZXh0X2dldF90YXJnZXQsIChzZXR0ZXIpQ29udGV4dF9zZXRfdGFyZ2V0LCAidGFyZ2V0IiwgTlVMTH0sCisJeyJmc3R5cGUiLAkJKGdldHRlcilDb250ZXh0X2dldF9mc3R5cGUsIChzZXR0ZXIpQ29udGV4dF9zZXRfZnN0eXBlLCAiZnN0eXBlIiwgTlVMTH0sCisJeyJvcHRpb25zIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfb3B0aW9ucywgKHNldHRlcilDb250ZXh0X3NldF9vcHRpb25zLCAib3B0aW9ucyIsIE5VTEx9LAorCXsibWZsYWdzIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfbWZsYWdzLCAoc2V0dGVyKUNvbnRleHRfc2V0X21mbGFncywgIm1mbGFncyIsIE5VTEx9LAorCXsibW91bnRkYXRhIiwJCU5VTEwsIChzZXR0ZXIpQ29udGV4dF9zZXRfbW91bnRkYXRhLCAibW91bnRkYXRhIiwgTlVMTH0sCisJeyJmc3R5cGVfcGF0dGVybiIsCU5VTEwsIChzZXR0ZXIpQ29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4sICJmc3R5cGVfcGF0dGVybiIsIE5VTEx9LAorCXsib3B0aW9uc19wYXR0ZXJuIiwJTlVMTCwgKHNldHRlcilDb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4sICJvcHRpb25zX3BhdHRlcm4iLCBOVUxMfSwKKwl7ImZzIiwJCQkoZ2V0dGVyKUNvbnRleHRfZ2V0X2ZzLCAoc2V0dGVyKUNvbnRleHRfc2V0X2ZzLCAiZmlsZXN5c3RlbSBkZXNjcmlwdGlvbiAodHlwZSwgbW91bnRwb2ludCwgZGV2aWNlLCAuLi4pIiwgTlVMTH0sCisJeyJtdGFiIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfbXRhYiwgTlVMTCwgIm10YWIgZW50cmllcyIsIE5VTEx9LAorCXsiZnN0YWIiLAkJKGdldHRlcilDb250ZXh0X2dldF9mc3RhYiwgKHNldHRlcilDb250ZXh0X3NldF9mc3RhYiwgImZzdGFiIChvciBtdGFiIGZvciBzb21lIHJlbW91bnRzKSIsIE5VTEx9LAorCXsib3B0c21vZGUiLAkJKGdldHRlcilDb250ZXh0X2dldF9vcHRzbW9kZSwgKHNldHRlcilDb250ZXh0X3NldF9vcHRzbW9kZSwgImZzdGFiIG9wdHN0ciBtb2RlIE1OVF9PUFRTTU9ERV97QVVUTyxGT1JDRSxJR05PUkV9IiwgTlVMTH0sCisJeyJzeXNjYWxsX2Vycm5vIiwJKGdldHRlcilDb250ZXh0X2dldF9zeXNjYWxsX2Vycm5vLCAoc2V0dGVyKUNvbnRleHRfc2V0X3N5c2NhbGxfc3RhdHVzLCAiMTogbm90X2NhbGxlZCB5ZXQsIDA6IHN1Y2Nlc3MsIDwwOiAtZXJybm8iLCBOVUxMfSwKKwl7InVzZXJfbWZsYWdzIiwJCShnZXR0ZXIpQ29udGV4dF9nZXRfdXNlcl9tZmxhZ3MsIChzZXR0ZXIpQ29udGV4dF9zZXRfdXNlcl9tZmxhZ3MsICJ1c2VyIG1mbGFncyIsIE5VTEx9LAorCXtOVUxMfQorfTsKK3N0YXRpYyBQeU1ldGhvZERlZiBDb250ZXh0X21ldGhvZHNbXSA9IHsKKwl7ImZpbmRfdW1vdW50X2ZzIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZmluZF91bW91bnRfZnMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2ZpbmRfdW1vdW50X2ZzX0hFTFB9LAorCXsicmVzZXRfc3RhdHVzIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfcmVzZXRfc3RhdHVzLCBNRVRIX05PQVJHUywgQ29udGV4dF9yZXNldF9zdGF0dXNfSEVMUH0sCisJeyJoZWxwZXJfZXhlY3V0ZWQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9oZWxwZXJfZXhlY3V0ZWQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2hlbHBlcl9leGVjdXRlZF9IRUxQfSwKKwl7ImluaXRfaGVscGVyIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaW5pdF9oZWxwZXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2luaXRfaGVscGVyX0hFTFB9LAorCXsiaGVscGVyX3NldG9wdCIsCShQeUNGdW5jdGlvbilDb250ZXh0X2hlbHBlcl9zZXRvcHQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2hlbHBlcl9zZXRvcHRfSEVMUH0sCisJeyJhcHBlbmRfb3B0aW9ucyIsCShQeUNGdW5jdGlvbilDb250ZXh0X2FwcGVuZF9vcHRpb25zLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9hcHBlbmRfb3B0aW9uc19IRUxQfSwKKwl7ImFwcGx5X2ZzdGFiIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfYXBwbHlfZnN0YWIsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2FwcGx5X2ZzdGFiX0hFTFB9LAorCXsiZGlzYWJsZV9jYW5vbmljYWxpemUiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfZGlzYWJsZV9jYW5vbmljYWxpemVfSEVMUH0sCisJeyJkaXNhYmxlX2hlbHBlcnMiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9kaXNhYmxlX2hlbHBlcnMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2Rpc2FibGVfaGVscGVyc19IRUxQfSwKKwl7ImRpc2FibGVfbXRhYiIsCShQeUNGdW5jdGlvbilDb250ZXh0X2Rpc2FibGVfbXRhYiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfZGlzYWJsZV9tdGFiX0hFTFB9LAorCXsiZG9fbW91bnQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9kb19tb3VudCwgTUVUSF9OT0FSR1MsIENvbnRleHRfZG9fbW91bnRfSEVMUH0sCisJeyJkb191bW91bnQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9kb191bW91bnQsIE1FVEhfTk9BUkdTICwgQ29udGV4dF9kb191bW91bnRfSEVMUH0sCisJeyJlbmFibGVfZmFrZSIsCShQeUNGdW5jdGlvbilDb250ZXh0X2VuYWJsZV9mYWtlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9lbmFibGVfZmFrZV9IRUxQfSwKKwl7ImVuYWJsZV9mb3JjZSIsCShQeUNGdW5jdGlvbilDb250ZXh0X2VuYWJsZV9mb3JjZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfZW5hYmxlX2ZvcmNlX0hFTFB9LAorCXsiZW5hYmxlX2xhenkiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9lbmFibGVfbGF6eSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIENvbnRleHRfZW5hYmxlX2xhenlfSEVMUH0sCisJeyJlbmFibGVfbG9vcGRlbCIsCShQeUNGdW5jdGlvbilDb250ZXh0X2VuYWJsZV9sb29wZGVsLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9lbmFibGVfbG9vcGRlbF9IRUxQfSwKKwl7ImVuYWJsZV9yZG9ubHlfdW1vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50X0hFTFB9LAorCXsiZW5hYmxlX3Nsb3BweSIsCShQeUNGdW5jdGlvbilDb250ZXh0X2VuYWJsZV9zbG9wcHksIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2VuYWJsZV9zbG9wcHlfSEVMUH0sCisJeyJlbmFibGVfdmVyYm9zZSIsCShQeUNGdW5jdGlvbilDb250ZXh0X2VuYWJsZV92ZXJib3NlLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9lbmFibGVfdmVyYm9zZV9IRUxQfSwKKwl7ImVuYWJsZV9mb3JrIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZW5hYmxlX2ZvcmssIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2VuYWJsZV9mb3JrX0hFTFB9LAorCXsiZmluYWxpemVfbW91bnQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9maW5hbGl6ZV9tb3VudCwgTUVUSF9OT0FSR1MsIENvbnRleHRfZmluYWxpemVfbW91bnRfSEVMUH0sCisJeyJmaW5hbGl6ZV91bW91bnQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9maW5hbGl6ZV91bW91bnQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2ZpbmFsaXplX3Vtb3VudF9IRUxQfSwKKwl7ImlzX2Zha2UiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19mYWtlLCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19mYWtlX0hFTFB9LAorCXsiaXNfZm9yY2UiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19mb3JjZSwgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfZm9yY2VfSEVMUH0sCisJeyJpc19mb3JrIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfaXNfZm9yaywgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfZm9ya19IRUxQfSwKKwl7ImlzX2ZzX21vdW50ZWQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19mc19tb3VudGVkLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgQ29udGV4dF9pc19mc19tb3VudGVkX0hFTFB9LAorCXsiaXNfbGF6eSIsCShQeUNGdW5jdGlvbilDb250ZXh0X2lzX2xhenksIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX2xhenlfSEVMUH0sCisJeyJpc19ub210YWIiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19ub210YWIsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX25vbXRhYl9IRUxQfSwKKwl7ImlzX3Jkb25seV91bW91bnQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19yZG9ubHlfdW1vdW50LCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19yZG9ubHlfdW1vdW50X0hFTFB9LAorCXsiaXNfcmVzdHJpY3RlZCIsCShQeUNGdW5jdGlvbilDb250ZXh0X2lzX3Jlc3RyaWN0ZWQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX3Jlc3RyaWN0ZWRfSEVMUH0sCisJeyJpc19zbG9wcHkiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19zbG9wcHksIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX3Nsb3BweV9IRUxQfSwKKwl7ImlzX3ZlcmJvc2UiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc192ZXJib3NlLCBNRVRIX05PQVJHUywgQ29udGV4dF9pc192ZXJib3NlX0hFTFB9LAorCXsiaXNfY2hpbGQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19jaGlsZCwgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfY2hpbGRfSEVMUH0sCisJeyJpc19wYXJlbnQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19wYXJlbnQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX3BhcmVudF9IRUxQfSwKKwl7ImlzX2xvb3BkZWwiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19sb29wZGVsLCBNRVRIX05PQVJHUywgQ29udGV4dF9pc19sb29wZGVsX0hFTFB9LAorCXsiaXNfbm9jYW5vbmljYWxpemUiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZSwgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfbm9jYW5vbmljYWxpemVfSEVMUH0sCisJeyJpc19ub2hlbHBlcnMiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9pc19ub2hlbHBlcnMsIE1FVEhfTk9BUkdTLCBDb250ZXh0X2lzX25vaGVscGVyc19IRUxQfSwKKwl7ImlzX3N3YXBtYXRjaCIsCShQeUNGdW5jdGlvbilDb250ZXh0X2lzX3N3YXBtYXRjaCwgTUVUSF9OT0FSR1MsIENvbnRleHRfaXNfc3dhcG1hdGNoX0hFTFB9LAorCXsibW91bnQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF9tb3VudCwgTUVUSF9OT0FSR1MsIENvbnRleHRfbW91bnRfSEVMUH0sCisJeyJwcmVwYXJlX21vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfcHJlcGFyZV9tb3VudCwgTUVUSF9OT0FSR1MsIENvbnRleHRfcHJlcGFyZV9tb3VudF9IRUxQfSwKKwl7InByZXBhcmVfdW1vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfcHJlcGFyZV91bW91bnQsIE1FVEhfTk9BUkdTLCBDb250ZXh0X3ByZXBhcmVfdW1vdW50X0hFTFB9LAorCXsidW1vdW50IiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfdW1vdW50LCBNRVRIX05PQVJHUywgQ29udGV4dF91bW91bnRfSEVMUH0sCisJeyJzeXNjYWxsX2NhbGxlZCIsCShQeUNGdW5jdGlvbilDb250ZXh0X3N5c2NhbGxfY2FsbGVkLCBNRVRIX05PQVJHUywgQ29udGV4dF9zeXNjYWxsX2NhbGxlZF9IRUxQfSwKKwl7ImRpc2FibGVfc3dhcG1hdGNoIiwJKFB5Q0Z1bmN0aW9uKUNvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2gsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBDb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoX0hFTFB9LAorCXsidGFiX2FwcGxpZWQiLAkoUHlDRnVuY3Rpb24pQ29udGV4dF90YWJfYXBwbGllZCwgTUVUSF9OT0FSR1MsIENvbnRleHRfdGFiX2FwcGxpZWRfSEVMUH0sCisJe05VTEx9Cit9OworCitzdGF0aWMgUHlPYmplY3QgKkNvbnRleHRfcmVwcihDb250ZXh0T2JqZXh0ICpzZWxmKQoreworCXJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgiPGxpYm1vdW50LkNvbnRleHQgb2JqZWN0IGF0ICVwLCByZXN0cmljdGVkPSVzPiIsCisJCQlzZWxmLCBtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKHNlbGYtPmN4dCkgPyAiVHJ1ZSIgOiAiRmFsc2UiKTsKK30KKworUHlUeXBlT2JqZWN0IENvbnRleHRUeXBlID0geworCVB5VmFyT2JqZWN0X0hFQURfSU5JVChOVUxMLCAwKQorCSJsaWJtb3VudC5Db250ZXh0IiwgLyp0cF9uYW1lKi8KKwlzaXplb2YoQ29udGV4dE9iamV4dCksIC8qdHBfYmFzaWNzaXplKi8KKwkwLCAvKnRwX2l0ZW1zaXplKi8KKwkoZGVzdHJ1Y3RvcilDb250ZXh0X2RlYWxsb2MsIC8qdHBfZGVhbGxvYyovCisJTlVMTCwgLyp0cF9wcmludCovCisJTlVMTCwgLyp0cF9nZXRhdHRyKi8KKwlOVUxMLCAvKnRwX3NldGF0dHIqLworCU5VTEwsIC8qdHBfY29tcGFyZSovCisJKHJlcHJmdW5jKSBDb250ZXh0X3JlcHIsCisJTlVMTCwgLyp0cF9hc19udW1iZXIqLworCU5VTEwsIC8qdHBfYXNfc2VxdWVuY2UqLworCU5VTEwsIC8qdHBfYXNfbWFwcGluZyovCisJTlVMTCwgLyp0cF9oYXNoICovCisJTlVMTCwgLyp0cF9jYWxsKi8KKwlOVUxMLCAvKnRwX3N0ciovCisJTlVMTCwgLyp0cF9nZXRhdHRybyovCisJTlVMTCwgLyp0cF9zZXRhdHRybyovCisJTlVMTCwgLyp0cF9hc19idWZmZXIqLworCVB5X1RQRkxBR1NfREVGQVVMVCB8IFB5X1RQRkxBR1NfQkFTRVRZUEUsIC8qdHBfZmxhZ3MqLworCUNvbnRleHRfSEVMUCwgLyogdHBfZG9jICovCisJTlVMTCwgLyogdHBfdHJhdmVyc2UgKi8KKwlOVUxMLCAvKiB0cF9jbGVhciAqLworCU5VTEwsIC8qIHRwX3JpY2hjb21wYXJlICovCisJMCwgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKwlOVUxMLCAvKiB0cF9pdGVyICovCisJTlVMTCwgLyogdHBfaXRlcm5leHQgKi8KKwlDb250ZXh0X21ldGhvZHMsIC8qIHRwX21ldGhvZHMgKi8KKwlDb250ZXh0X21lbWJlcnMsIC8qIHRwX21lbWJlcnMgKi8KKwlDb250ZXh0X2dldHNldGVycywgLyogdHBfZ2V0c2V0ICovCisJTlVMTCwgLyogdHBfYmFzZSAqLworCU5VTEwsIC8qIHRwX2RpY3QgKi8KKwlOVUxMLCAvKiB0cF9kZXNjcl9nZXQgKi8KKwlOVUxMLCAvKiB0cF9kZXNjcl9zZXQgKi8KKwkwLCAvKiB0cF9kaWN0b2Zmc2V0ICovCisJKGluaXRwcm9jKUNvbnRleHRfaW5pdCwgLyogdHBfaW5pdCAqLworCU5VTEwsIC8qIHRwX2FsbG9jICovCisJQ29udGV4dF9uZXcsIC8qIHRwX25ldyAqLworfTsKKwordm9pZCBDb250ZXh0X0FkZE1vZHVsZU9iamVjdChQeU9iamVjdCAqbW9kKQoreworCWlmIChQeVR5cGVfUmVhZHkoJkNvbnRleHRUeXBlKSA8IDApCisJCXJldHVybjsKKworCURCRyhDWFQsIHB5bW50X2RlYnVnKCJhZGQgdG8gbW9kdWxlIikpOworCisJUHlfSU5DUkVGKCZDb250ZXh0VHlwZSk7CisJUHlNb2R1bGVfQWRkT2JqZWN0KG1vZCwgIkNvbnRleHQiLCAoUHlPYmplY3QgKikmQ29udGV4dFR5cGUpOworfQorCisKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3B5dGhvbi9mcy5jIGIvbGlibW91bnQvcHl0aG9uL2ZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM0YTkxNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3B5dGhvbi9mcy5jCkBAIC0wLDAgKzEsODc3IEBACisvKgorICogUHl0aG9uIGJpbmRpbmdzIGZvciB0aGUgbGlibW91bnQgbGlicmFyeS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMsIFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgT25kcmVqIE9wcmFsYSBhbmQgS2FyZWwgWmFrCisgKgorICogVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhbG9uZyB3aXRoIHRoaXMgZmlsZTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisvKgorICogVE9ETzoKKyAqIG1udF9mc19tYXRjaF97c291cmNlLHRhcmdldH0KKyAqIG1udF9mc19nZXRfe2F0dHJpYnV0ZSxvcHRpb259CisgKi8KKworI2luY2x1ZGUgInB5bGlibW91bnQuaCIKKyNpbmNsdWRlIDxlcnJuby5oPgorCisjZGVmaW5lIEZzX0hFTFAgIkZzKHNvdXJjZT1Ob25lLCByb290PU5vbmUsIHRhcmdldD1Ob25lLCBmc3R5cGU9Tm9uZSwgb3B0aW9ucz1Ob25lLCBhdHRyaWJ1dGVzPU5vbmUsIGZyZXE9MCwgcGFzc25vPTApIgorCitzdGF0aWMgUHlNZW1iZXJEZWYgRnNfbWVtYmVyc1tdID0geworCXtOVUxMfQorfTsKKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfdGFnKEZzT2JqZWN0ICpzZWxmKQoreworCWNvbnN0IGNoYXIgKnRhZyA9IE5VTEwsICp2YWwgPSBOVUxMOworCVB5T2JqZWN0ICpyZXN1bHQ7CisKKwlpZiAobW50X2ZzX2dldF90YWcoc2VsZi0+ZnMsICZ0YWcsICZ2YWwpICE9IDApCisJCXJldHVybiBOVUxMOworCisJcmVzdWx0ID0gUHlfQnVpbGRWYWx1ZSgiKHNzKSIsIHRhZywgdmFsKTsKKwlpZiAoIXJlc3VsdCkKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgQ09OU1RSVUNUX0VSUik7CisJcmV0dXJuIHJlc3VsdDsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfaWQoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0SW50KG1udF9mc19nZXRfaWQoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfcGFyZW50X2lkKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfZnNfZ2V0X3BhcmVudF9pZChzZWxmLT5mcykpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9kZXZubyhGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRJbnQobW50X2ZzX2dldF9kZXZubyhzZWxmLT5mcykpOworfQorCitzdGF0aWMgdm9pZCBfZHVtcF9kZWJ1Z19zdHJpbmcoY29uc3QgY2hhciAqbGVhZCwgY29uc3QgY2hhciAqcywgY2hhciBxdW90ZSkKK3sKKwkvKiBQeVN5c19Xcml0ZVN0ZG91dCgpIHdpbGwgYXV0b21hdGljYWxseSB0cnVuY2F0ZSBhbnkgJyVzJyB0b2tlbgorCSAqIGxvbmdlciB0aGFuIGEgY2VydGFpbiBsZW5ndGggKGRvY3VtZW50ZWQgYXMgMTAwMCBieXRlcywgYnV0IHdlCisJICogZ2l2ZSBvdXJzZWx2ZXMgc29tZSBtYXJnaW4gaGVyZSBqdXN0IGluIGNhc2UpLiAgVGhlIG9ubHkgd2F5IEkKKwkgKiBrbm93IHRvIGdldCBhcm91bmQgdGhpcyBpcyB0byBwcmludCBzdWNoIHN0cmluZ3MgaW4gYml0ZS1zaXplZAorCSAqIGNodW5rcy4KKwkgKi8KKwlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IF9QWV9NQVhfTEVOID0gOTAwOworCXN0YXRpYyBjb25zdCBjaGFyICpfUFlfTUFYX0xFTl9GTVQgPSAiJS45MDBzIjsKKwl1bnNpZ25lZCBpbnQgbGVuOworCisJaWYgKGxlYWQgIT0gTlVMTCkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoIiVzIiwgbGVhZCk7CisKKwlpZiAocXVvdGUgIT0gMCkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoIiVjIiwgcXVvdGUpOworCisJZm9yIChsZW4gPSBzdHJsZW4ocyk7IGxlbiA+IF9QWV9NQVhfTEVOOyBsZW4gLT0gX1BZX01BWF9MRU4sIHMgKz0gX1BZX01BWF9MRU4pIAorCQlQeVN5c19Xcml0ZVN0ZG91dChfUFlfTUFYX0xFTl9GTVQsIHMpOworCisJaWYgKGxlbiA+IDApCisJCVB5U3lzX1dyaXRlU3Rkb3V0KF9QWV9NQVhfTEVOX0ZNVCwgcyk7CisKKwlpZiAocXVvdGUgIT0gMCkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoIiVjXG4iLCBxdW90ZSk7CisJZWxzZQorCQlQeVN5c19Xcml0ZVN0ZG91dCgiXG4iKTsKK30KKworI2RlZmluZSBGc19wcmludF9kZWJ1Z19IRUxQICJwcmludF9kZWJ1ZygpXG5cbiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfcHJpbnRfZGVidWcoRnNPYmplY3QgKnNlbGYpCit7CisJUHlTeXNfV3JpdGVTdGRvdXQoIi0tLS0tLSBmczogJXBcbiIsIHNlbGYtPmZzKTsKKwlfZHVtcF9kZWJ1Z19zdHJpbmcoInNvdXJjZTogIiwgbW50X2ZzX2dldF9zb3VyY2Uoc2VsZi0+ZnMpLCAwKTsKKwlfZHVtcF9kZWJ1Z19zdHJpbmcoInRhcmdldDogIiwgbW50X2ZzX2dldF90YXJnZXQoc2VsZi0+ZnMpLCAwKTsKKwlfZHVtcF9kZWJ1Z19zdHJpbmcoImZzdHlwZTogIiwgbW50X2ZzX2dldF9mc3R5cGUoc2VsZi0+ZnMpLCAwKTsKKworCWlmIChtbnRfZnNfZ2V0X29wdGlvbnMoc2VsZi0+ZnMpKQorCQlfZHVtcF9kZWJ1Z19zdHJpbmcoIm9wdHN0cjogIiwgbW50X2ZzX2dldF9vcHRpb25zKHNlbGYtPmZzKSwgMCk7CisJaWYgKG1udF9mc19nZXRfdmZzX29wdGlvbnMoc2VsZi0+ZnMpKQorCQlfZHVtcF9kZWJ1Z19zdHJpbmcoIlZGUy1vcHRzdHI6ICIsIG1udF9mc19nZXRfdmZzX29wdGlvbnMoc2VsZi0+ZnMpLCAwKTsKKwlpZiAobW50X2ZzX2dldF9mc19vcHRpb25zKHNlbGYtPmZzKSkKKwkJX2R1bXBfZGVidWdfc3RyaW5nKCJGUy1vcHN0cjogIiwgbW50X2ZzX2dldF9mc19vcHRpb25zKHNlbGYtPmZzKSwgMCk7CisJaWYgKG1udF9mc19nZXRfdXNlcl9vcHRpb25zKHNlbGYtPmZzKSkKKwkJX2R1bXBfZGVidWdfc3RyaW5nKCJ1c2VyLW9wdHN0cjogIiwgbW50X2ZzX2dldF91c2VyX29wdGlvbnMoc2VsZi0+ZnMpLCAwKTsKKwlpZiAobW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMoc2VsZi0+ZnMpKQorCQlfZHVtcF9kZWJ1Z19zdHJpbmcoIm9wdGlvbmFsLWZpZWxkczogIiwgbW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMoc2VsZi0+ZnMpLCAnXCcnKTsKKwlpZiAobW50X2ZzX2dldF9hdHRyaWJ1dGVzKHNlbGYtPmZzKSkKKwkJX2R1bXBfZGVidWdfc3RyaW5nKCJhdHRyaWJ1dGVzOiAiLCBtbnRfZnNfZ2V0X2F0dHJpYnV0ZXMoc2VsZi0+ZnMpLCAwKTsKKworCWlmIChtbnRfZnNfZ2V0X3Jvb3Qoc2VsZi0+ZnMpKQorCQlfZHVtcF9kZWJ1Z19zdHJpbmcoInJvb3Q6ICAgIiwgbW50X2ZzX2dldF9yb290KHNlbGYtPmZzKSwgMCk7CisKKwlpZiAobW50X2ZzX2dldF9zd2FwdHlwZShzZWxmLT5mcykpCisJCV9kdW1wX2RlYnVnX3N0cmluZygic3dhcHR5cGU6ICIsIG1udF9mc19nZXRfc3dhcHR5cGUoc2VsZi0+ZnMpLCAwKTsKKwlpZiAobW50X2ZzX2dldF9zaXplKHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoInNpemU6ICVqZFxuIiwgbW50X2ZzX2dldF9zaXplKHNlbGYtPmZzKSk7CisJaWYgKG1udF9mc19nZXRfdXNlZHNpemUoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgidXNlZHNpemU6ICVqZFxuIiwgbW50X2ZzX2dldF91c2Vkc2l6ZShzZWxmLT5mcykpOworCWlmIChtbnRfZnNfZ2V0X3ByaW9yaXR5KHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoInByaW9yaXR5OiAlZFxuIiwgbW50X2ZzX2dldF9wcmlvcml0eShzZWxmLT5mcykpOworCisJaWYgKG1udF9mc19nZXRfYmluZHNyYyhzZWxmLT5mcykpCisJCV9kdW1wX2RlYnVnX3N0cmluZygiYmluZHNyYzogIiwgbW50X2ZzX2dldF9iaW5kc3JjKHNlbGYtPmZzKSwgMCk7CisJaWYgKG1udF9mc19nZXRfZnJlcShzZWxmLT5mcykpCisJCVB5U3lzX1dyaXRlU3Rkb3V0KCJmcmVxOiAgICVkXG4iLCBtbnRfZnNfZ2V0X2ZyZXEoc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF9wYXNzbm8oc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgicGFzczogICAlZFxuIiwgbW50X2ZzX2dldF9wYXNzbm8oc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF9pZChzZWxmLT5mcykpCisJCVB5U3lzX1dyaXRlU3Rkb3V0KCJpZDogICAgICVkXG4iLCBtbnRfZnNfZ2V0X2lkKHNlbGYtPmZzKSk7CisJaWYgKG1udF9mc19nZXRfcGFyZW50X2lkKHNlbGYtPmZzKSkKKwkJUHlTeXNfV3JpdGVTdGRvdXQoInBhcmVudDogJWRcbiIsIG1udF9mc19nZXRfcGFyZW50X2lkKHNlbGYtPmZzKSk7CisJaWYgKG1udF9mc19nZXRfZGV2bm8oc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgiZGV2bm86ICAlZDolZFxuIiwgbWFqb3IobW50X2ZzX2dldF9kZXZubyhzZWxmLT5mcykpLAorCQkJCQkJbWlub3IobW50X2ZzX2dldF9kZXZubyhzZWxmLT5mcykpKTsKKwlpZiAobW50X2ZzX2dldF90aWQoc2VsZi0+ZnMpKQorCQlQeVN5c19Xcml0ZVN0ZG91dCgidGlkOiAgICAlZFxuIiwgbW50X2ZzX2dldF90aWQoc2VsZi0+ZnMpKTsKKwlpZiAobW50X2ZzX2dldF9jb21tZW50KHNlbGYtPmZzKSkKKwkJX2R1bXBfZGVidWdfc3RyaW5nKCJjb21tZW50OiAiLCBtbnRfZnNfZ2V0X2NvbW1lbnQoc2VsZi0+ZnMpLCAnXCcnKTsKKwlyZXR1cm4gVUxfSW5jUmVmKHNlbGYpOworfQorLyoKKyAqKiBGcyBnZXR0ZXJzL3NldHRlcnMKKyAqLworCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9jb21tZW50KEZzT2JqZWN0ICpzZWxmLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfZnNfZ2V0X2NvbW1lbnQoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIGludCBGc19zZXRfY29tbWVudChGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKmNvbW1lbnQgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKGNvbW1lbnQgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfZnNfc2V0X2NvbW1lbnQoc2VsZi0+ZnMsIGNvbW1lbnQpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorLyogc291cmNlICovCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9zb3VyY2UoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfc291cmNlKHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBpbnQgRnNfc2V0X3NvdXJjZShGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKnNvdXJjZSA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEoc291cmNlID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2ZzX3NldF9zb3VyY2Uoc2VsZi0+ZnMsIHNvdXJjZSk7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X3NyY3BhdGgoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfc3JjcGF0aChzZWxmLT5mcykpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9yb290KEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfZnNfZ2V0X3Jvb3Qoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIGludCBGc19zZXRfcm9vdChGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKnJvb3QgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKHJvb3QgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfZnNfc2V0X3Jvb3Qoc2VsZi0+ZnMsIHJvb3QpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF90YXJnZXQoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfdGFyZ2V0KHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBpbnQgRnNfc2V0X3RhcmdldChGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLCB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKnRhcmdldCA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEodGFyZ2V0ID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2ZzX3NldF90YXJnZXQoc2VsZi0+ZnMsIHRhcmdldCk7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X2ZzdHlwZShGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2ZzX2dldF9mc3R5cGUoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIGludCBGc19zZXRfZnN0eXBlKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsCisJCQl2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKmZzdHlwZSA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEoZnN0eXBlID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCXJjID0gbW50X2ZzX3NldF9mc3R5cGUoc2VsZi0+ZnMsIGZzdHlwZSk7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X29wdGlvbnMoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfb3B0aW9ucyhzZWxmLT5mcykpOworfQorCitzdGF0aWMgaW50IEZzX3NldF9vcHRpb25zKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsCisJCQl2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCWNoYXIgKm9wdGlvbnMgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisJfQorCWlmICghKG9wdGlvbnMgPSBweXN0b3ModmFsdWUpKSkKKwkJcmV0dXJuIC0xOworCisJcmMgPSBtbnRfZnNfc2V0X29wdGlvbnMoc2VsZi0+ZnMsIG9wdGlvbnMpOworCWlmIChyYykgeworCQlVTF9SYWlzZUV4YygtcmMpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF92ZnNfb3B0aW9ucyhGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2ZzX2dldF92ZnNfb3B0aW9ucyhzZWxmLT5mcykpOworfQorCisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X29wdGlvbmFsX2ZpZWxkcyhGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMoc2VsZi0+ZnMpKTsKK30KKworCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9mc19vcHRpb25zKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdFN0cihtbnRfZnNfZ2V0X2ZzX29wdGlvbnMoc2VsZi0+ZnMpKTsKK30KKworCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF91c2VyX29wdGlvbnMoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF9mc19nZXRfdXNlcl9vcHRpb25zKHNlbGYtPmZzKSk7Cit9CisKKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfYXR0cmlidXRlcyhGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2ZzX2dldF9hdHRyaWJ1dGVzKHNlbGYtPmZzKSk7Cit9CisKK3N0YXRpYyBpbnQgRnNfc2V0X2F0dHJpYnV0ZXMoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwKKwkJCXZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJY2hhciAqYXR0cmlidXRlcyA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEoYXR0cmlidXRlcyA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlyYyA9IG1udF9mc19zZXRfYXR0cmlidXRlcyhzZWxmLT5mcywgYXR0cmlidXRlcyk7CisJaWYgKHJjKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfZ2V0X2ZyZXEoRnNPYmplY3QgKnNlbGYsIHZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0SW50KG1udF9mc19nZXRfZnJlcShzZWxmLT5mcykpOworfQorCitzdGF0aWMgaW50IEZzX3NldF9mcmVxKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsCisJCQkJdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlpbnQgZnJlcSA9IDA7CisKKwlpZiAoIXZhbHVlKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIE5PREVMX0FUVFIpOworCQlyZXR1cm4gLTE7CisKKwl9IGVsc2UgaWYgKCFQeUxvbmdfQ2hlY2sodmFsdWUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gLTE7CisJfQorCisJZnJlcSA9IFB5TG9uZ19Bc0xvbmcodmFsdWUpOworCWlmIChmcmVxID09IC0xICYmIFB5RXJyX09jY3VycmVkKCkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgInR5cGUgY29udmVyc2lvbiBmYWlsZWQiKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gbW50X2ZzX3NldF9mcmVxKHNlbGYtPmZzLCBmcmVxKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfcGFzc25vKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfZnNfZ2V0X3Bhc3NubyhzZWxmLT5mcykpOworfQorCitzdGF0aWMgaW50IEZzX3NldF9wYXNzbm8oRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICp2YWx1ZSwgdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlpbnQgcGFzc25vID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9IGVsc2UgaWYgKCFQeUxvbmdfQ2hlY2sodmFsdWUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gLTE7CisJfQorCisJcGFzc25vID0gUHlMb25nX0FzTG9uZyh2YWx1ZSk7CisJaWYgKHBhc3NubyA9PSAtMSAmJiBQeUVycl9PY2N1cnJlZCgpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19SdW50aW1lRXJyb3IsICJ0eXBlIGNvbnZlcnNpb24gZmFpbGVkIik7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIG1udF9mc19zZXRfcGFzc25vKHNlbGYtPmZzLCBwYXNzbm8pOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9zd2FwdHlwZShGc09iamVjdCAqc2VsZikKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X2ZzX2dldF9zd2FwdHlwZShzZWxmLT5mcykpOworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9zaXplKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfZnNfZ2V0X3NpemUoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfdXNlZHNpemUoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0SW50KG1udF9mc19nZXRfdXNlZHNpemUoc2VsZi0+ZnMpKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfcHJpb3JpdHkoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0SW50KG1udF9mc19nZXRfcHJpb3JpdHkoc2VsZi0+ZnMpKTsKK30KKworI2RlZmluZSBGc19nZXRfcHJvcGFnYXRpb25fSEVMUCAiZ2V0X3Byb3BhZ2F0aW9uKGZsYWdzKVxuXG5cCitOb3RlIHRoYXQgdGhpcyBmdW5jdGlvbiBzZXQgZmxhZ3MgdG8gemVybyBpZiBub3QgZm91bmQgYW55IHByb3BhZ2F0aW9uIGZsYWdcblwKK2luIG1vdW50aW5mbyBmaWxlLiBUaGUga2VybmVsIGRlZmF1bHQgaXMgTVNfUFJJVkFURSwgdGhpcyBmbGFnIGlzIG5vdCBzdG9yZWRcblwKK2luIHRoZSBtb3VudGluZm8gZmlsZS5cblwKK1xuXAorUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKkZzX2dldF9wcm9wYWdhdGlvbihGc09iamVjdCAqc2VsZikKK3sKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCWludCByYzsKKworCXJjID0gIG1udF9mc19nZXRfcHJvcGFnYXRpb24oc2VsZi0+ZnMsICZmbGFncyk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFB5T2JqZWN0UmVzdWx0SW50KGZsYWdzKTsKK30KKworc3RhdGljIFB5T2JqZWN0ICpGc19nZXRfdGlkKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfZnNfZ2V0X3RpZChzZWxmLT5mcykpOworfQorCisjZGVmaW5lIEZzX2lzX2tlcm5lbF9IRUxQICJpc19rZXJuZWwoKVxuXG5SZXR1cm5zIDEgaWYgdGhlIGZpbGVzeXN0ZW0gIiBcCisJCQkgICJkZXNjcmlwdGlvbiBpcyByZWFkIGZyb20ga2VybmVsIGUuZy4gL3Byb2MvbW91bnRzLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfaXNfa2VybmVsKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2ZzX2lzX2tlcm5lbChzZWxmLT5mcykpOworfQorCisjZGVmaW5lIEZzX2lzX25ldGZzX0hFTFAgImlzX25ldGZzKClcblxuUmV0dXJucyAxIGlmIHRoZSBmaWxlc3lzdGVtIGlzICIgXAorCQkJICJhIG5ldHdvcmsgZmlsZXN5c3RlbSIKK3N0YXRpYyBQeU9iamVjdCAqRnNfaXNfbmV0ZnMoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfZnNfaXNfbmV0ZnMoc2VsZi0+ZnMpKTsKK30KKworI2RlZmluZSBGc19pc19wc2V1ZG9mc19IRUxQICJpc19wc2V1ZG9mcygpXG5cblJldHVybnMgMSBpZiB0aGUgZmlsZXN5c3RlbSBpcyAiXAorCQkJICAgICJhIHBzZXVkbyBmcyB0eXBlIChwcm9jLCBjZ3JvdXBzKSIKK3N0YXRpYyBQeU9iamVjdCAqRnNfaXNfcHNldWRvZnMoRnNPYmplY3QgKnNlbGYpCit7CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfZnNfaXNfcHNldWRvZnMoc2VsZi0+ZnMpKTsKK30KKworI2RlZmluZSBGc19pc19zd2FwYXJlYV9IRUxQICJpc19zd2FwYXJlYSgpXG5cblJldHVybnMgMSBpZiB0aGUgZmlsZXN5c3RlbSAiIFwKKwkJCSAgICAidXNlcyBcInN3YXBcIiBhcyBhIHR5cGUiCitzdGF0aWMgUHlPYmplY3QgKkZzX2lzX3N3YXBhcmVhKEZzT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2ZzX2lzX3N3YXBhcmVhKHNlbGYtPmZzKSk7Cit9CisKKyNkZWZpbmUgRnNfYXBwZW5kX2F0dHJpYnV0ZXNfSEVMUCAiYXBwZW5kX2F0dHJpYnV0ZXMob3B0c3RyKVxuXG4iIFwKKwkJCQkgICJBcHBlbmRzIG1vdW50IGF0dHJpYnV0ZXMuIgorc3RhdGljIFB5T2JqZWN0ICpGc19hcHBlbmRfYXR0cmlidXRlcyhGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJvcHRzdHIiLCBOVUxMfTsKKwljaGFyICpvcHRzdHIgPSBOVUxMOworCWludCByYzsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmb3B0c3RyKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2ZzX2FwcGVuZF9hdHRyaWJ1dGVzKHNlbGYtPmZzLCBvcHRzdHIpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgRnNfYXBwZW5kX29wdGlvbnNfSEVMUCAiYXBwZW5kX29wdGlvbnMob3B0c3RyKVxuXG4iIFwKKwkJCSJQYXJzZXMgKHNwbGl0cykgb3B0c3RyIGFuZCBhcHBlbmRzIHJlc3VsdHMgdG8gVkZTLCAiIFwKKwkJCSJGUyBhbmQgdXNlcnNwYWNlIGxpc3RzIG9mIG9wdGlvbnMuIgorc3RhdGljIFB5T2JqZWN0ICpGc19hcHBlbmRfb3B0aW9ucyhGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJvcHRzdHIiLCBOVUxMfTsKKwljaGFyICpvcHRzdHIgPSBOVUxMOworCWludCByYzsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmb3B0c3RyKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X2ZzX2FwcGVuZF9vcHRpb25zKHNlbGYtPmZzLCBvcHRzdHIpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgRnNfcHJlcGVuZF9hdHRyaWJ1dGVzX0hFTFAgInByZXBlbmRfYXR0cmlidXRlcyhvcHRzdHIpXG5cbiIgXAorCQkJCSAgICJQcmVwZW5kcyBtb3VudCBhdHRyaWJ1dGVzLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfcHJlcGVuZF9hdHRyaWJ1dGVzKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7Im9wdHN0ciIsIE5VTEx9OworCWNoYXIgKm9wdHN0ciA9IE5VTEw7CisJaW50IHJjOworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInMiLCBrd2xpc3QsICZvcHRzdHIpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfZnNfcHJlcGVuZF9hdHRyaWJ1dGVzKHNlbGYtPmZzLCBvcHRzdHIpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgRnNfcHJlcGVuZF9vcHRpb25zX0hFTFAgInByZXBlbmRfb3B0aW9ucyhvcHRzdHIpXG5cbiIgXAorCQkJIlBhcnNlcyAoc3BsaXRzKSBvcHRzdHIgYW5kIHByZXBlbmRzIHJlc3VsdHMgdG8gVkZTLCAiIFwKKwkJCSJGUyBhbmQgdXNlcnNwYWNlIGxpc3RzIG9mIG9wdGlvbnMuIgorc3RhdGljIFB5T2JqZWN0ICpGc19wcmVwZW5kX29wdGlvbnMoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsib3B0c3RyIiwgTlVMTH07CisJY2hhciAqb3B0c3RyID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJm9wdHN0cikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF9mc19wcmVwZW5kX29wdGlvbnMoc2VsZi0+ZnMsIG9wdHN0cik7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBGc19tYXRjaF9mc3R5cGVfSEVMUCAibWF0Y2hfZnN0eXBlKHBhdHRlcm4pXG5cbiIgXAorCQkicGF0dGVybjogZmlsZXN5c3RlbSBuYW1lIG9yIGNvbW1hIGRlbGltaXRlZCBsaXN0KHN0cmluZykgb2YgbmFtZXNcblxuIiBcCisJCSJUaGUgcGF0dGVybiBsaXN0IG9mIGZpbGVzeXN0ZW0gY2FuIGJlIHByZWZpeGVkIHdpdGggYSBnbG9iYWxcbiIgXAorCQkiXCJub1wiIHByZWZpeCB0byBpbnZlcnQgbWF0Y2hpbmcgb2YgdGhlIHdob2xlIGxpc3QuIFRoZSBcIm5vXCIgY291bGRcbiIgXAorCQkiYWxzbyBiZSB1c2VkIGZvciBpbmRpdmlkdWFsIGl0ZW1zIGluIHRoZSBwYXR0ZXJuIGxpc3QuIFNvLFxuIiBcCisJCSJcIm5vZm9vLGJhclwiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzIFwibm9mb28sbm9iYXJcIi5cbiIgXAorCQkiXCJiYXJcIiA6IFwibm9mb28sYmFyXCIJLT4gRmFsc2UgICAoZ2xvYmFsIFwibm9cIiBwcmVmaXgpXG4iIFwKKwkJIlwiYmFyXCIgOiBcImZvbyxiYXJcIgkJLT4gVHJ1ZVxuIiBcCisJCSJcImJhclwiIDogXCJmb28sbm9iYXJcIgktPiBGYWxzZVxuXG4iIFwKKwkJIlJldHVybnMgVHJ1ZSBpZiB0eXBlIGlzIG1hdGNoaW5nLCBlbHNlIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfbWF0Y2hfZnN0eXBlKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7InBhdHRlcm4iLCBOVUxMfTsKKwljaGFyICpwYXR0ZXJuID0gTlVMTDsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmcGF0dGVybikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9mc19tYXRjaF9mc3R5cGUoc2VsZi0+ZnMsIHBhdHRlcm4pKTsKK30KKworI2RlZmluZSBGc19tYXRjaF9vcHRpb25zX0hFTFAgIm1hdGNoX29wdGlvbnMob3B0aW9ucylcblxuIiBcCisJCSJvcHRpb25zOiBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBvcHRpb25zIChhbmQgbm9vcHRpb25zKVxuIiBcCisJCSJSZXR1cm5zIFRydWUgaWYgZnMgdHlwZSBpcyBtYXRjaGluZyB0byBvcHRpb25zIGVsc2UgRmFsc2UuIgorc3RhdGljIFB5T2JqZWN0ICpGc19tYXRjaF9vcHRpb25zKEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7Im9wdGlvbnMiLCBOVUxMfTsKKwljaGFyICpvcHRpb25zID0gTlVMTDsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmb3B0aW9ucykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlCb29sX0Zyb21Mb25nKG1udF9mc19tYXRjaF9vcHRpb25zKHNlbGYtPmZzLCBvcHRpb25zKSk7Cit9CisKKyNkZWZpbmUgRnNfc3RyZXFfc3JjcGF0aF9IRUxQICJzdHJlcV9zcmNwYXRoKHNyY3BhdGgpXG5cbiIgXAorCQkiQ29tcGFyZXMgZnMgc291cmNlIHBhdGggd2l0aCBwYXRoLiBUaGUgdGFpbGluZyBzbGFzaCBpcyBpZ25vcmVkLlxuIiBcCisJCSJSZXR1cm5zIFRydWUgaWYgZnMgc291cmNlIHBhdGggZXF1YWwgdG8gcGF0aCwgb3RoZXJ3aXNlIEZhbHNlLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfc3RyZXFfc3JjcGF0aChGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJzcmNwYXRoIiwgTlVMTH07CisJY2hhciAqc3JjcGF0aCA9IE5VTEw7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJnNyY3BhdGgpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIFB5Qm9vbF9Gcm9tTG9uZyhtbnRfZnNfc3RyZXFfc3JjcGF0aChzZWxmLT5mcywgc3JjcGF0aCkpOworfQorCisjZGVmaW5lIEZzX3N0cmVxX3RhcmdldF9IRUxQICJzdHJlcV90YXJnZXQodGFyZ2V0KVxuXG4iIFwKKwkJIkNvbXBhcmVzIGZzIHRhcmdldCBwYXRoIHdpdGggcGF0aC4gVGhlIHRhaWxpbmcgc2xhc2ggaXMgaWdub3JlZC5cbiIgXAorCQkiU2VlIGFsc28gRnMubWF0Y2hfdGFyZ2V0KCkuXG4iIFwKKwkJIlJldHVybnMgVHJ1ZSBpZiBmcyB0YXJnZXQgcGF0aCBlcXVhbCB0byBwYXRoLCBvdGhlcndpc2UgRmFsc2UuIgorc3RhdGljIFB5T2JqZWN0ICpGc19zdHJlcV90YXJnZXQoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsidGFyZ2V0IiwgTlVMTH07CisJY2hhciAqdGFyZ2V0ID0gTlVMTDsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmdGFyZ2V0KSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X2ZzX3N0cmVxX3RhcmdldChzZWxmLT5mcywgdGFyZ2V0KSk7Cit9CisKKyNkZWZpbmUgRnNfY29weV9mc19IRUxQICJjb3B5X2ZzKGRlc3Q9Tm9uZSlcblxuIiBcCisJCSJJZiBkZXN0IGlzIE5vbmUsIGEgbmV3IG9iamVjdCBpcyBjcmVhdGVkLCBpZiBhbnkgZnMgIiBcCisJCSJmaWVsZCBpcyBhbHJlYWR5IHNldCwgdGhlbiB0aGUgZmllbGQgaXMgTk9UIG92ZXJ3cml0dGVuLiIKK3N0YXRpYyBQeU9iamVjdCAqRnNfY29weV9mcyhGc09iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKTsKKworc3RhdGljIFB5TWV0aG9kRGVmIEZzX21ldGhvZHNbXSA9IHsKKwl7ImdldF9wcm9wYWdhdGlvbiIsCShQeUNGdW5jdGlvbilGc19nZXRfcHJvcGFnYXRpb24sIE1FVEhfTk9BUkdTLCBGc19nZXRfcHJvcGFnYXRpb25fSEVMUH0sCisJeyJtbnRfZnNfYXBwZW5kX2F0dHJpYnV0ZXMiLAkoUHlDRnVuY3Rpb24pRnNfYXBwZW5kX2F0dHJpYnV0ZXMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBGc19hcHBlbmRfYXR0cmlidXRlc19IRUxQfSwKKwl7ImFwcGVuZF9vcHRpb25zIiwJKFB5Q0Z1bmN0aW9uKUZzX2FwcGVuZF9vcHRpb25zLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgRnNfYXBwZW5kX29wdGlvbnNfSEVMUH0sCisJeyJtbnRfZnNfcHJlcGVuZF9hdHRyaWJ1dGVzIiwJKFB5Q0Z1bmN0aW9uKUZzX3ByZXBlbmRfYXR0cmlidXRlcywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIEZzX3ByZXBlbmRfYXR0cmlidXRlc19IRUxQfSwKKwl7InByZXBlbmRfb3B0aW9ucyIsCShQeUNGdW5jdGlvbilGc19wcmVwZW5kX29wdGlvbnMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBGc19wcmVwZW5kX29wdGlvbnNfSEVMUH0sCisJeyJjb3B5X2ZzIiwJCShQeUNGdW5jdGlvbilGc19jb3B5X2ZzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgRnNfY29weV9mc19IRUxQfSwKKwl7ImlzX2tlcm5lbCIsCQkoUHlDRnVuY3Rpb24pRnNfaXNfa2VybmVsLCBNRVRIX05PQVJHUywgRnNfaXNfa2VybmVsX0hFTFB9LAorCXsiaXNfbmV0ZnMiLAkJKFB5Q0Z1bmN0aW9uKUZzX2lzX25ldGZzLCBNRVRIX05PQVJHUywgRnNfaXNfbmV0ZnNfSEVMUH0sCisJeyJpc19wc2V1ZG9mcyIsCQkoUHlDRnVuY3Rpb24pRnNfaXNfcHNldWRvZnMsIE1FVEhfTk9BUkdTLCBGc19pc19wc2V1ZG9mc19IRUxQfSwKKwl7ImlzX3N3YXBhcmVhIiwJCShQeUNGdW5jdGlvbilGc19pc19zd2FwYXJlYSwgTUVUSF9OT0FSR1MsIEZzX2lzX3N3YXBhcmVhX0hFTFB9LAorCXsibWF0Y2hfZnN0eXBlIiwJKFB5Q0Z1bmN0aW9uKUZzX21hdGNoX2ZzdHlwZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIEZzX21hdGNoX2ZzdHlwZV9IRUxQfSwKKwl7Im1hdGNoX29wdGlvbnMiLAkoUHlDRnVuY3Rpb24pRnNfbWF0Y2hfb3B0aW9ucywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIEZzX21hdGNoX29wdGlvbnNfSEVMUH0sCisJeyJzdHJlcV9zcmNwYXRoIiwJKFB5Q0Z1bmN0aW9uKUZzX3N0cmVxX3NyY3BhdGgsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBGc19zdHJlcV9zcmNwYXRoX0hFTFB9LAorCXsic3RyZXFfdGFyZ2V0IiwJKFB5Q0Z1bmN0aW9uKUZzX3N0cmVxX3RhcmdldCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIEZzX3N0cmVxX3RhcmdldF9IRUxQfSwKKwl7InByaW50X2RlYnVnIiwJCShQeUNGdW5jdGlvbilGc19wcmludF9kZWJ1ZywgTUVUSF9OT0FSR1MsIEZzX3ByaW50X2RlYnVnX0hFTFB9LAorCXtOVUxMfQorfTsKKworc3RhdGljIHZvaWQgRnNfZGVzdHJ1Y3RvcihGc09iamVjdCAqc2VsZikKK3sKKwlEQkcoRlMsIHB5bW50X2RlYnVnX2goc2VsZi0+ZnMsICJkZXN0cnVjdG9yIHB5LW9iajogJXAsIHB5LXJlZmNudD0lZCIsCisJCQkJc2VsZiwgKGludCkgKChQeU9iamVjdCAqKSBzZWxmKS0+b2JfcmVmY250KSk7CisJbW50X3VucmVmX2ZzKHNlbGYtPmZzKTsKKwlQeUZyZWUoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqRnNfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwgUHlPYmplY3QgKmFyZ3MgX19hdHRyaWJ1dGVfXygodW51c2VkKSksCisJCVB5T2JqZWN0ICprd2RzIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCUZzT2JqZWN0ICpzZWxmID0gKEZzT2JqZWN0Kil0eXBlLT50cF9hbGxvYyh0eXBlLCAwKTsKKworCWlmIChzZWxmKSB7CisJCXNlbGYtPmZzID0gTlVMTDsKKwkJREJHKEZTLCBweW1udF9kZWJ1Z19oKHNlbGYsICJuZXciKSk7CisJfQorCXJldHVybiAoUHlPYmplY3QgKikgc2VsZjsKK30KKworc3RhdGljIGludCBGc19pbml0KEZzT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqc291cmNlID0gTlVMTCwgKnJvb3QgPSBOVUxMLCAqdGFyZ2V0ID0gTlVMTDsKKwljaGFyICpmc3R5cGUgPSBOVUxMLCAqb3B0aW9ucyA9IE5VTEwsICphdHRyaWJ1dGVzID1OVUxMOworCWludCBmcmVxID0gMDsgaW50IHBhc3NubyA9IDA7CisJaW50IHJjID0gMDsKKwljaGFyICprd2xpc3RbXSA9IHsKKwkJInNvdXJjZSIsICJyb290IiwgInRhcmdldCIsCisJCSJmc3R5cGUiLCAib3B0aW9ucyIsICJhdHRyaWJ1dGVzIiwKKwkJImZyZXEiLCAicGFzc25vIiwgTlVMTAorCX07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifHNzc3Nzc2lpIiwga3dsaXN0LAorCQkJCSZzb3VyY2UsICZyb290LCAmdGFyZ2V0LCAmZnN0eXBlLCAmb3B0aW9ucywKKwkJCQkmYXR0cmlidXRlcywgJmZyZXEsICZwYXNzbm8pKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsICJJbnZhbGlkIHR5cGUiKTsKKwkJcmV0dXJuIC0xOworCX0KKworCURCRyhGUywgcHltbnRfZGVidWdfaChzZWxmLCAiaW5pdCIpKTsKKworCWlmIChzZWxmLT5mcykKKwkJbW50X3VucmVmX2ZzKHNlbGYtPmZzKTsKKworCXNlbGYtPmZzID0gbW50X25ld19mcygpOwkJLyogbmV3IEZTIHdpdGggcmVmY291bnQ9MSAqLworCisJaWYgKHNvdXJjZSAmJiAocmMgPSBtbnRfZnNfc2V0X3NvdXJjZShzZWxmLT5mcywgc291cmNlKSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX01lbW9yeUVycm9yLCBNRU1PUllfRVJSKTsKKwkJcmV0dXJuIHJjOworCX0KKwlpZiAocm9vdCAmJiAocmMgPSBtbnRfZnNfc2V0X3Jvb3Qoc2VsZi0+ZnMsIHJvb3QpKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsIE1FTU9SWV9FUlIpOworCQlyZXR1cm4gcmM7CisJfQorCWlmICh0YXJnZXQgJiYgKHJjID0gbW50X2ZzX3NldF90YXJnZXQoc2VsZi0+ZnMsIHRhcmdldCkpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgTUVNT1JZX0VSUik7CisJCXJldHVybiByYzsKKwl9CisJaWYgKGZzdHlwZSAmJiAocmMgPSBtbnRfZnNfc2V0X2ZzdHlwZShzZWxmLT5mcywgZnN0eXBlKSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX01lbW9yeUVycm9yLCBNRU1PUllfRVJSKTsKKwkJcmV0dXJuIHJjOworCX0KKwlpZiAob3B0aW9ucyAmJiAocmMgPSBtbnRfZnNfc2V0X29wdGlvbnMoc2VsZi0+ZnMsIG9wdGlvbnMpKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfTWVtb3J5RXJyb3IsIE1FTU9SWV9FUlIpOworCQlyZXR1cm4gcmM7CisJfQorCWlmIChhdHRyaWJ1dGVzICYmIChyYyA9IG1udF9mc19zZXRfYXR0cmlidXRlcyhzZWxmLT5mcywgYXR0cmlidXRlcykpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgTUVNT1JZX0VSUik7CisJCXJldHVybiByYzsKKwl9CisKKwltbnRfZnNfc2V0X2ZyZXEoc2VsZi0+ZnMsIGZyZXEpOworCW1udF9mc19zZXRfcGFzc25vKHNlbGYtPmZzLCBwYXNzbm8pOworCW1udF9mc19zZXRfdXNlcmRhdGEoc2VsZi0+ZnMsIHNlbGYpOyAvKiBzdG9yZSBhIHBvaW50ZXIgdG8gc2VsZiwgY29udmVuaWVudCB3aGVuIHJlc2V0dGluZyB0aGUgdGFibGUgKi8KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIG1pc3Npbmc6CisgKiBhdHRyaWJ1dGUKKyAqIG9wdGlvbgorICovCitzdGF0aWMgUHlHZXRTZXREZWYgRnNfZ2V0c2V0ZXJzW10gPSB7CisJeyJpZCIsCQkoZ2V0dGVyKUZzX2dldF9pZCwgTlVMTCwgIm1vdW50aW5mb1sxXTogSUQiLCBOVUxMfSwKKwl7InBhcmVudCIsCShnZXR0ZXIpRnNfZ2V0X3BhcmVudF9pZCwgTlVMTCwgIm1vdW50aW5mb1syXTogcGFyZW50IiwgTlVMTH0sCisJeyJkZXZubyIsCShnZXR0ZXIpRnNfZ2V0X2Rldm5vLCBOVUxMLCAibW91bnRpbmZvWzNdOiBzdF9kZXYiLCBOVUxMfSwKKwl7ImNvbW1lbnQiLAkoZ2V0dGVyKUZzX2dldF9jb21tZW50LCAoc2V0dGVyKUZzX3NldF9jb21tZW50LCAiZnN0YWIgZW50cnkgY29tbWVudCIsIE5VTEx9LAorCXsic291cmNlIiwJKGdldHRlcilGc19nZXRfc291cmNlLCAoc2V0dGVyKUZzX3NldF9zb3VyY2UsICJmc3RhYlsxXSwgbW91bnRpbmZvWzEwXSwgc3dhcHNbMV06IHNvdXJjZSBkZXYsIGZpbGUsIGRpciBvciBUQUciLCBOVUxMfSwKKwl7InNyY3BhdGgiLAkoZ2V0dGVyKUZzX2dldF9zcmNwYXRoLCBOVUxMLCAibW91bnQgc291cmNlIHBhdGggb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yIG9yIHdoZW4gdGhlIHBhdGggaXMgbm90IGRlZmluZWQuIiwgTlVMTH0sCisJeyJyb290IiwJKGdldHRlcilGc19nZXRfcm9vdCwgKHNldHRlcilGc19zZXRfcm9vdCwgIm1vdW50aW5mb1s0XTogcm9vdCBvZiB0aGUgbW91bnQgd2l0aGluIHRoZSBGUyIsIE5VTEx9LAorCXsidGFyZ2V0IiwJKGdldHRlcilGc19nZXRfdGFyZ2V0LCAoc2V0dGVyKUZzX3NldF90YXJnZXQsICJtb3VudGluZm9bNV0sIGZzdGFiWzJdOiBtb3VudHBvaW50IiwgTlVMTH0sCisJeyJmc3R5cGUiLAkoZ2V0dGVyKUZzX2dldF9mc3R5cGUsIChzZXR0ZXIpRnNfc2V0X2ZzdHlwZSwgIm1vdW50aW5mb1s5XSwgZnN0YWJbM106IGZpbGVzeXN0ZW0gdHlwZSIsIE5VTEx9LAorCXsib3B0aW9ucyIsCShnZXR0ZXIpRnNfZ2V0X29wdGlvbnMsIChzZXR0ZXIpRnNfc2V0X29wdGlvbnMsICJmc3RhYls0XTogbWVyZ2VkIG9wdGlvbnMiLCBOVUxMfSwKKwl7InZmc19vcHRpb25zIiwJKGdldHRlcilGc19nZXRfdmZzX29wdGlvbnMsIE5VTEwsICJtb3VudGluZm9bNl06IGZzLWluZGVwZW5kZW50IChWRlMpIG9wdGlvbnMiLCBOVUxMfSwKKwl7Im9wdF9maWVsZHMiLAkoZ2V0dGVyKUZzX2dldF9vcHRpb25hbF9maWVsZHMsIE5VTEwsICJtb3VudGluZm9bN106IG9wdGlvbmFsIGZpZWxkcyIsIE5VTEx9LAorCXsiZnNfb3B0aW9ucyIsCShnZXR0ZXIpRnNfZ2V0X2ZzX29wdGlvbnMsIE5VTEwsICJtb3VudGluZm9bMTFdOiBmcy1kZXBlbmRlbnQgb3B0aW9ucyIsIE5VTEx9LAorCXsidXNyX29wdGlvbnMiLAkoZ2V0dGVyKUZzX2dldF91c2VyX29wdGlvbnMsIE5VTEwsICJ1c2Vyc3BhY2UgbW91bnQgb3B0aW9ucyIsIE5VTEx9LAorCXsiYXR0cmlidXRlcyIsCShnZXR0ZXIpRnNfZ2V0X2F0dHJpYnV0ZXMsIChzZXR0ZXIpRnNfc2V0X2F0dHJpYnV0ZXMsICJtb3VudCBhdHRyaWJ1dGVzIiwgTlVMTH0sCisJeyJmcmVxIiwJKGdldHRlcilGc19nZXRfZnJlcSwgKHNldHRlcilGc19zZXRfZnJlcSwgImZzdGFiWzVdOiBkdW1wIGZyZXF1ZW5jeSBpbiBkYXlzIiwgTlVMTH0sCisJeyJwYXNzbm8iLAkoZ2V0dGVyKUZzX2dldF9wYXNzbm8sIChzZXR0ZXIpRnNfc2V0X3Bhc3NubywgImZzdGFiWzZdOiBwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrIiwgTlVMTH0sCisJeyJzd2FwdHlwZSIsCShnZXR0ZXIpRnNfZ2V0X3N3YXB0eXBlLCBOVUxMLCAic3dhcHNbMl06IGRldmljZSB0eXBlIiwgTlVMTH0sCisJeyJzaXplIiwJKGdldHRlcilGc19nZXRfc2l6ZSwgTlVMTCwgInNhcHNbM106IHN3YXBhcmVhIHNpemUiLCBOVUxMfSwKKwl7InVzZWRzaXplIiwJKGdldHRlcilGc19nZXRfdXNlZHNpemUsIE5VTEwsICJzd2Fwc1s0XTogdXNlZCBzaXplIiwgTlVMTH0sCisJeyJwcmlvcml0eSIsCShnZXR0ZXIpRnNfZ2V0X3ByaW9yaXR5LCBOVUxMLCAic3dhcHNbNV06IHN3YXAgcHJpb3JpdHkiLCBOVUxMfSwKKwl7InRhZyIsCQkoZ2V0dGVyKUZzX2dldF90YWcsIE5VTEwsICIoTmFtZSwgVmFsdWUpIiwgTlVMTH0sCisJeyJ0aWQiLAkJKGdldHRlcilGc19nZXRfdGlkLCBOVUxMLCAiL3Byb2MvPHRpZD4vbW91bnRpbmZvLCBvdGhlcndpc2UgemVybyIsIE5VTEx9LAorCXtOVUxMfQorfTsKKworc3RhdGljIFB5T2JqZWN0ICpGc19yZXByKEZzT2JqZWN0ICpzZWxmKQoreworCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9mc19nZXRfc291cmNlKHNlbGYtPmZzKSwKKwkJICAgKnRndCA9IG1udF9mc19nZXRfdGFyZ2V0KHNlbGYtPmZzKSwKKwkJICAgKnR5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShzZWxmLT5mcyk7CisKKwlyZXR1cm4gUHlVbmljb2RlX0Zyb21Gb3JtYXQoCisJCQkiPGxpYm1vdW50LkZzIG9iamVjdCBhdCAlcCwgIgorCQkJInNvdXJjZT0lcywgdGFyZ2V0PSVzLCBmc3R5cGU9JXM+IiwKKwkJCXNlbGYsCisJCQlzcmMgPyBzcmMgOiAiTm9uZSIsCisJCQl0Z3QgPyB0Z3QgOiAiTm9uZSIsCisJCQl0eXBlID8gdHlwZSA6ICJOb25lIik7Cit9CisKK1B5T2JqZWN0ICpQeU9iamVjdFJlc3VsdEZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCUZzT2JqZWN0ICpyZXN1bHQ7CisKKwlpZiAoIWZzKSB7CisJCVB5RXJyX1NldFN0cmluZyhMaWJtb3VudEVycm9yLCAiaW50ZXJuYWwgZXhjZXB0aW9uIik7CisJCXJldHVybiBOVUxMOworCX0KKworCXJlc3VsdCA9IG1udF9mc19nZXRfdXNlcmRhdGEoZnMpOworCWlmIChyZXN1bHQpIHsKKwkJUHlfSU5DUkVGKHJlc3VsdCk7CisJCURCRyhGUywgcHltbnRfZGVidWdfaChmcywgInJlc3VsdCBweS1vYmogJXA6IGFscmVhZHkgZXhpc3RzLCBweS1yZWZjbnQ9JWQiLAorCQkJCXJlc3VsdCwgKGludCkgKChQeU9iamVjdCAqKSByZXN1bHQpLT5vYl9yZWZjbnQpKTsKKwkJcmV0dXJuIChQeU9iamVjdCAqKSByZXN1bHQ7CisJfQorCisJLyogQ3JlYXRpbmcgYW4gZW5jYXBzdWxhdGluZyBvYmplY3Q6IGluY3JlbWVudCB0aGUgcmVmY291bnQsIHNvIHRoYXQgY29kZQorCSAqIHN1Y2ggYXMgdGFiLm5leHRfZnMoKSBkb2Vzbid0IGNhbGwgdGhlIGRlc3RydWN0b3IsIHdoaWNoIHdvdWxkIGZyZWUKKwkgKiBvdXIgZnMgc3RydWN0IGFzIHdlbGwKKwkgKi8KKwlyZXN1bHQgPSBQeU9iamVjdF9OZXcoRnNPYmplY3QsICZGc1R5cGUpOworCWlmICghcmVzdWx0KSB7CisJCVVMX1JhaXNlRXhjKEVOT01FTSk7CisJCXJldHVybiBOVUxMOworCX0KKworCVB5X0lOQ1JFRihyZXN1bHQpOworCW1udF9yZWZfZnMoZnMpOworCisJREJHKEZTLCBweW1udF9kZWJ1Z19oKGZzLCAicmVzdWx0IHB5LW9iaiAlcCBuZXcsIHB5LXJlZmNudD0lZCIsCisJCQkJcmVzdWx0LCAoaW50KSAoKFB5T2JqZWN0ICopIHJlc3VsdCktPm9iX3JlZmNudCkpOworCXJlc3VsdC0+ZnMgPSBmczsKKwltbnRfZnNfc2V0X3VzZXJkYXRhKGZzLCByZXN1bHQpOworCXJldHVybiAoUHlPYmplY3QgKikgcmVzdWx0OworfQorCitzdGF0aWMgUHlPYmplY3QgKkZzX2NvcHlfZnMoRnNPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwlQeU9iamVjdCAqZGVzdCA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7ImRlc3QiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8TyIsIGt3bGlzdCwgJmRlc3QpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYgKFB5T2JqZWN0X1R5cGVDaGVjayhkZXN0LCAmRnNUeXBlKSkgewkvKiBleGlzdGluZyBvYmplY3QgcGFzc2VkIGFzIGFyZ3VtZW50ICovCisJCWlmICghbW50X2NvcHlfZnMoKChGc09iamVjdCAqKWRlc3QpLT5mcywgc2VsZi0+ZnMpKQorCQkJcmV0dXJuIE5VTEw7CisJCURCRyhGUywgcHltbnRfZGVidWdfaChkZXN0LCAiY29weSBkYXRhIikpOworCQlyZXR1cm4gKFB5T2JqZWN0ICopZGVzdDsKKworCX0gZWxzZSBpZiAoZGVzdCA9PSBQeV9Ob25lKSB7CQkJLyogY3JlYXRlIG5ldyBvYmplY3QgKi8KKwkJRnNPYmplY3QgKnJlc3VsdCA9IFB5T2JqZWN0X05ldyhGc09iamVjdCwgJkZzVHlwZSk7CisKKwkJREJHKEZTLCBweW1udF9kZWJ1Z19oKHJlc3VsdCwgIm5ldyBjb3B5IikpOworCQlyZXN1bHQtPmZzID0gbW50X2NvcHlfZnMoTlVMTCwgc2VsZi0+ZnMpOworCQltbnRfZnNfc2V0X3VzZXJkYXRhKHJlc3VsdC0+ZnMsIHJlc3VsdCk7CS8qIGtlZXAgYSBwb2ludGVyIHRvIGVuY2Fwc3VsYXRpbmcgb2JqZWN0ICovCisJCXJldHVybiAoUHlPYmplY3QgKilyZXN1bHQ7CisJfQorCisJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJcmV0dXJuIE5VTEw7Cit9CisKKworUHlUeXBlT2JqZWN0IEZzVHlwZSA9IHsKKwlQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKKwkibGlibW91bnQuRnMiLCAvKnRwX25hbWUqLworCXNpemVvZihGc09iamVjdCksIC8qdHBfYmFzaWNzaXplKi8KKwkwLCAvKnRwX2l0ZW1zaXplKi8KKwkoZGVzdHJ1Y3RvcilGc19kZXN0cnVjdG9yLCAvKnRwX2RlYWxsb2MqLworCU5VTEwsIC8qdHBfcHJpbnQqLworCU5VTEwsIC8qdHBfZ2V0YXR0ciovCisJTlVMTCwgLyp0cF9zZXRhdHRyKi8KKwlOVUxMLCAvKnRwX2NvbXBhcmUqLworCShyZXByZnVuYylGc19yZXByLCAvKnRwX3JlcHIqLworCU5VTEwsIC8qdHBfYXNfbnVtYmVyKi8KKwlOVUxMLCAvKnRwX2FzX3NlcXVlbmNlKi8KKwlOVUxMLCAvKnRwX2FzX21hcHBpbmcqLworCU5VTEwsIC8qdHBfaGFzaCAqLworCU5VTEwsIC8qdHBfY2FsbCovCisJTlVMTCwgLyp0cF9zdHIqLworCU5VTEwsIC8qdHBfZ2V0YXR0cm8qLworCU5VTEwsIC8qdHBfc2V0YXR0cm8qLworCU5VTEwsIC8qdHBfYXNfYnVmZmVyKi8KKwlQeV9UUEZMQUdTX0RFRkFVTFQgfCBQeV9UUEZMQUdTX0JBU0VUWVBFLCAvKnRwX2ZsYWdzKi8KKwlGc19IRUxQLCAvKiB0cF9kb2MgKi8KKwlOVUxMLCAvKiB0cF90cmF2ZXJzZSAqLworCU5VTEwsIC8qIHRwX2NsZWFyICovCisJTlVMTCwgLyogdHBfcmljaGNvbXBhcmUgKi8KKwkwLCAvKiB0cF93ZWFrbGlzdG9mZnNldCAqLworCU5VTEwsIC8qIHRwX2l0ZXIgKi8KKwlOVUxMLCAvKiB0cF9pdGVybmV4dCAqLworCUZzX21ldGhvZHMsIC8qIHRwX21ldGhvZHMgKi8KKwlGc19tZW1iZXJzLCAvKiB0cF9tZW1iZXJzICovCisJRnNfZ2V0c2V0ZXJzLCAvKiB0cF9nZXRzZXQgKi8KKwlOVUxMLCAvKiB0cF9iYXNlICovCisJTlVMTCwgLyogdHBfZGljdCAqLworCU5VTEwsIC8qIHRwX2Rlc2NyX2dldCAqLworCU5VTEwsIC8qIHRwX2Rlc2NyX3NldCAqLworCTAsIC8qIHRwX2RpY3RvZmZzZXQgKi8KKwkoaW5pdHByb2MpRnNfaW5pdCwgLyogdHBfaW5pdCAqLworCU5VTEwsIC8qIHRwX2FsbG9jICovCisJRnNfbmV3LCAvKiB0cF9uZXcgKi8KK307CisKK3ZvaWQgRlNfQWRkTW9kdWxlT2JqZWN0KFB5T2JqZWN0ICptb2QpCit7CisJaWYgKFB5VHlwZV9SZWFkeSgmRnNUeXBlKSA8IDApCisJCXJldHVybjsKKworCURCRyhGUywgcHltbnRfZGVidWcoImFkZCB0byBtb2R1bGUiKSk7CisJUHlfSU5DUkVGKCZGc1R5cGUpOworCVB5TW9kdWxlX0FkZE9iamVjdChtb2QsICJGcyIsIChQeU9iamVjdCAqKSZGc1R5cGUpOworfQorCmRpZmYgLS1naXQgYS9saWJtb3VudC9weXRob24vcHlsaWJtb3VudC5jIGIvbGlibW91bnQvcHl0aG9uL3B5bGlibW91bnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmUxMjg2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvcHl0aG9uL3B5bGlibW91bnQuYwpAQCAtMCwwICsxLDMwMyBAQAorLyoKKyAqIFB5dGhvbiBiaW5kaW5ncyBmb3IgdGhlIGxpYm1vdW50IGxpYnJhcnkuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEzLCBSZWQgSGF0LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBXcml0dGVuIGJ5IE9uZHJlaiBPcHJhbGEgYW5kIEthcmVsIFphaworICoKKyAqIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGZpbGU7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKyNpbmNsdWRlICJweWxpYm1vdW50LmgiCisKKy8qIExpYm1vdW50LXNwZWNpZmljIEV4Y2VwdGlvbiBjbGFzcyAqLworUHlPYmplY3QgKkxpYm1vdW50RXJyb3I7CitpbnQgcHlsaWJtb3VudF9kZWJ1Z19tYXNrOworCitQeU9iamVjdCAqVUxfSW5jUmVmKHZvaWQgKmtpbGxtZSkKK3sKKwlQeV9JTkNSRUYoa2lsbG1lKTsKKwlyZXR1cm4ga2lsbG1lOworfQorCit2b2lkIFB5RnJlZSh2b2lkICpvKQoreworI2lmIFBZX01BSk9SX1ZFUlNJT04gPj0gMworCVB5X1RZUEUobyktPnRwX2ZyZWUoKFB5T2JqZWN0ICopbyk7CisjZWxzZQorCSgoUHlPYmplY3QgKilvKS0+b2JfdHlwZS0+dHBfZnJlZSgoUHlPYmplY3QgKilvKTsKKyNlbmRpZgorfQorCisvKiBEZW11bHRpcGxleGVyIGZvciB2YXJpb3VzIHBvc3NpYmxlIGVycm9yIGNvbmRpdGlvbnMgYWNyb3NzIHRoZSBsaWJtb3VudCBsaWJyYXJ5ICovCit2b2lkICpVTF9SYWlzZUV4YyhpbnQgZSkKK3sKKwkvKiBUT0RPOiBEbyB3ZSBuZWVkIHRvIGRlYWwgd2l0aCAtMS8xPyAqLworCXN3aXRjaCAoZSkgeworCQljYXNlIEVOT01FTToKKwkJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19NZW1vcnlFcnJvciwgc3RyZXJyb3IoZSkpOworCQkJYnJlYWs7CisJCWNhc2UgRUlOVkFMOgorCQkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgc3RyZXJyb3IoZSkpOworCQkJYnJlYWs7CisJCS8qIGxpYm1vdW50LXNwZWNpZmljIGVycm9ycyAqLworCQljYXNlIE1OVF9FUlJfQVBQTFlGTEFHUzoKKwkJCVB5RXJyX1NldFN0cmluZyhMaWJtb3VudEVycm9yLCAiRmFpbGVkIHRvIGFwcGx5IE1TX1BST1BBR0FUSU9OIGZsYWdzIik7CisJCQlicmVhazsKKwkJY2FzZSBNTlRfRVJSX01PVU5UT1BUOgorCQkJUHlFcnJfU2V0U3RyaW5nKExpYm1vdW50RXJyb3IsICJGYWlsZWQgdG8gcGFyc2UvdXNlIHVzZXJzcGFjZSBtb3VudCBvcHRpb25zIik7CisJCQlicmVhazsKKwkJY2FzZSBNTlRfRVJSX05PRlNUQUI6CisJCQlQeUVycl9TZXRTdHJpbmcoTGlibW91bnRFcnJvciwgIkZhaWxlZCB0byBkZXRlY3QgZmlsZXN5c3RlbSB0eXBlIik7CisJCQlicmVhazsKKwkJY2FzZSBNTlRfRVJSX05PRlNUWVBFOgorCQkJUHlFcnJfU2V0U3RyaW5nKExpYm1vdW50RXJyb3IsICJSZXF1aXJlZCBtb3VudCBzb3VyY2UgdW5kZWZpbmVkIik7CisJCQlicmVhazsKKwkJY2FzZSBNTlRfRVJSX05PU09VUkNFOgorCQkJUHlFcnJfU2V0U3RyaW5nKExpYm1vdW50RXJyb3IsICJMb29wZGV2IHNldHVwIGZhaWxlZCIpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX0VSUl9BTUJJRlM6CisJCQlQeUVycl9TZXRTdHJpbmcoTGlibW91bnRFcnJvciwgIkxpYmJsa2lkIGRldGVjdGVkIG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSIpOworCQkJYnJlYWs7CisJCS8qIHNvbWUgb3RoZXIgZXJybm8gKi8KKwkJZGVmYXVsdDoKKwkJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19FeGNlcHRpb24sIHN0cmVycm9yKGUpKTsKKwkJCWJyZWFrOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIEdlbmVyYWwgZnVuY3Rpb25zCisgKi8KK1B5T2JqZWN0ICpQeU9iamVjdFJlc3VsdEludChpbnQgaSkKK3sKKwlQeU9iamVjdCAqcmVzdWx0ID0gUHlfQnVpbGRWYWx1ZSgiaSIsIGkpOworCWlmICghcmVzdWx0KQorCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfUnVudGltZUVycm9yLCBDT05TVFJVQ1RfRVJSKTsKKwlyZXR1cm4gcmVzdWx0OworfQorCitQeU9iamVjdCAqUHlPYmplY3RSZXN1bHRTdHIoY29uc3QgY2hhciAqcykKK3sKKwlQeU9iamVjdCAqcmVzdWx0OworCWlmICghcykKKwkJLyogVE9ETzogbWF5YmUgbGllIGFib3V0IGl0IGFuZCByZXR1cm4gIiI6CisJCSAqIHdoaWNoIHdvdWxkIGFsbG93IGZvcgorCQkgKiBmcyA9IGxpYm1vdW50LkZzKCkKKwkJICogZnMuY29tbWVudCArPSAiY29tbWVudCIKKwkJcmV0dXJuIFB5X0J1aWxkVmFsdWUoInMiLCAiIik7ICovCisJCVB5X1JFVFVSTl9OT05FOworCXJlc3VsdCA9IFB5X0J1aWxkVmFsdWUoInMiLCBzKTsKKwlpZiAoIXJlc3VsdCkKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1J1bnRpbWVFcnJvciwgQ09OU1RSVUNUX0VSUik7CisJcmV0dXJuIHJlc3VsdDsKK30KKworLyogd3JhcHBlciBhcm91bmQgYSBjb21tb24gdXNlIGNhc2UgZm9yIFB5VW5pY29kZV9Bc0FTQ0lJU3RyaW5nKCkgKi8KK2NoYXIgKnB5c3RvcyhQeU9iamVjdCAqcHlzKQoreworI2lmIFBZX01BSk9SX1ZFUlNJT04gPj0gMworCWlmICghUHlVbmljb2RlX0NoZWNrKHB5cykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gKGNoYXIgKilQeVVuaWNvZGVfMUJZVEVfREFUQShweXMpOworI2Vsc2UKKwlpZiAoIVB5U3RyaW5nX0NoZWNrKHB5cykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlTdHJpbmdfQXNTdHJpbmcocHlzKTsKKyNlbmRpZgorfQorCisvKgorICogdGhlIGxpYm1vdW50IG1vZHVsZQorICovCisjZGVmaW5lIFBZTElCTU9VTlRfREVTQyBcCisJIlB5dGhvbiBBUEkgZm9yIHRoZSB1dGlsLWxpbnV4IGxpYm1vdW50IGxpYnJhcnkuXG5cbiIgXAorCSJQbGVhc2Ugbm90ZSB0aGF0IG5vbmUgb2YgdGhlIGNsYXNzZXMnIGF0dHJpYnV0ZXMgbWF5IGJlIGRlbGV0ZWQuXG4iIFwKKwkiVGhpcyBpcyBub3QgYSBjb21wbGV0ZSBtYXBwaW5nIHRvIHRoZSBsaWJtb3VudCBDIEFQSSwgbm9yIGlzIGl0XG4iIFwKKwkiYXR0ZW1wdGluZyB0byBiZSBvbmUuXG4iICJJdGVyYXRvciBmdW5jdGlvbnMgb25seSBhbGxvdyBmb3J3YXJkXG4iIFwKKwkiaXRlcmF0aW9uIGZvciBub3cuIENvbnRleHQuZ2V0X3t1c2VyXyx9bWZsYWdzKCkgZGlmZmVycyBmcm9tIHRoZSBDIEFQSVxuIiBcCisJImFuZCByZXR1cm5zIHRoZSBmbGFncyBkaXJlY3RseS4gRnMuZ2V0X3RhZygpIGRpZmZlcnMgZnJvbSB0aGUgQyBBUElcbiIgXAorCSJhbmQgcmV0dXJucyBhICh0YWcsIHZhbHVlKSB0dXBsZS4gRXZlcnkgYXR0cmlidXRlIGlzIFwiZmlsdGVyZWRcIiIgXAorCSJ0aHJvdWdoIGFwcHJvcHJpYXRlIGdldHRlcnMvc2V0dGVycywgbm8gdmFsdWVzIGFyZSBzZXQgZGlyZWN0bHkuIgorCisKK3N0cnVjdCBtb2R1bGVfc3RhdGUgeworICAgIFB5T2JqZWN0ICplcnJvcjsKK307CisKKyNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKKyNkZWZpbmUgR0VUU1RBVEUobSkgKChzdHJ1Y3QgbW9kdWxlX3N0YXRlKilQeU1vZHVsZV9HZXRTdGF0ZShtKSkKKyNlbHNlCisjZGVmaW5lIEdFVFNUQVRFKG0pICgmX3N0YXRlKQorc3RhdGljIHN0cnVjdCBtb2R1bGVfc3RhdGUgX3N0YXRlOworI2VuZGlmCisKK3N0YXRpYyBQeU9iamVjdCAqCitlcnJvcl9vdXQoUHlPYmplY3QgKm0gX19hdHRyaWJ1dGVfXygodW51c2VkKSkpIHsKKyAgICBzdHJ1Y3QgbW9kdWxlX3N0YXRlICpzdCA9IEdFVFNUQVRFKG0pOworICAgIFB5RXJyX1NldFN0cmluZyhzdC0+ZXJyb3IsICJzb21ldGhpbmcgYmFkIGhhcHBlbmVkIik7CisgICAgcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBQeU1ldGhvZERlZiBweWxpYm1vdW50X21ldGhvZHNbXSA9IHsKKyAgICB7ImVycm9yX291dCIsIChQeUNGdW5jdGlvbillcnJvcl9vdXQsIE1FVEhfTk9BUkdTLCBOVUxMfSwKKyAgICB7TlVMTCwgTlVMTH0KK307CisKKyNpZiBQWV9NQUpPUl9WRVJTSU9OID49IDMKKworc3RhdGljIGludCBweWxpYm1vdW50X3RyYXZlcnNlKFB5T2JqZWN0ICptLCB2aXNpdHByb2MgdmlzaXQsIHZvaWQgKmFyZykgeworICAgIFB5X1ZJU0lUKEdFVFNUQVRFKG0pLT5lcnJvcik7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHlsaWJtb3VudF9jbGVhcihQeU9iamVjdCAqbSkgeworICAgIFB5X0NMRUFSKEdFVFNUQVRFKG0pLT5lcnJvcik7CisgICAgcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgUHlNb2R1bGVEZWYgbW9kdWxlZGVmID0geworICAgICAgICBQeU1vZHVsZURlZl9IRUFEX0lOSVQsCisgICAgICAgICJweWxpYm1vdW50IiwKKyAgICAgICAgTlVMTCwKKyAgICAgICAgc2l6ZW9mKHN0cnVjdCBtb2R1bGVfc3RhdGUpLAorICAgICAgICBweWxpYm1vdW50X21ldGhvZHMsCisgICAgICAgIE5VTEwsCisgICAgICAgIHB5bGlibW91bnRfdHJhdmVyc2UsCisgICAgICAgIHB5bGlibW91bnRfY2xlYXIsCisgICAgICAgIE5VTEwKK307CisjZGVmaW5lIElOSVRFUlJPUiByZXR1cm4gTlVMTAorUHlPYmplY3QgKiBQeUluaXRfcHlsaWJtb3VudCh2b2lkKTsKK1B5T2JqZWN0ICogUHlJbml0X3B5bGlibW91bnQodm9pZCkKKyNlbHNlCisjZGVmaW5lIElOSVRFUlJPUiByZXR1cm4KKyMgaWZuZGVmIFB5TU9ESU5JVF9GVU5DCisjICBkZWZpbmUgUHlNT0RJTklUX0ZVTkMgdm9pZAorIyBlbmRpZgorUHlNT0RJTklUX0ZVTkMgaW5pdHB5bGlibW91bnQodm9pZCk7CitQeU1PRElOSVRfRlVOQyBpbml0cHlsaWJtb3VudCh2b2lkKQorI2VuZGlmCit7CisjaWYgUFlfTUFKT1JfVkVSU0lPTiA+PSAzCisJUHlPYmplY3QgKm0gPSBQeU1vZHVsZV9DcmVhdGUoJm1vZHVsZWRlZik7CisjZWxzZQorCVB5T2JqZWN0ICptID0gUHlfSW5pdE1vZHVsZTMoInB5bGlibW91bnQiLCBweWxpYm1vdW50X21ldGhvZHMsIFBZTElCTU9VTlRfREVTQyk7CisjZW5kaWYKKworCWlmICghbSkKKwkJSU5JVEVSUk9SOworCS8qCisJICogaW5pdCBkZWJ1ZyBzdHVmZgorCSAqLworCWlmICghKHB5bGlibW91bnRfZGVidWdfbWFzayAmIFBZTU5UX0RFQlVHX0lOSVQpKSB7CisJCWNoYXIgKnN0ciA9IGdldGVudigiUFlMSUJNT1VOVF9ERUJVRyIpOworCisJCXB5bGlibW91bnRfZGVidWdfbWFzayA9IDA7CisJCWlmIChzdHIpCisJCQlweWxpYm1vdW50X2RlYnVnX21hc2sgPSBzdHJ0b3VsKHN0ciwgTlVMTCwgMCk7CisKKwkJcHlsaWJtb3VudF9kZWJ1Z19tYXNrIHw9IFBZTU5UX0RFQlVHX0lOSVQ7CisJfQorCisJaWYgKHB5bGlibW91bnRfZGVidWdfbWFzayAmJiBweWxpYm1vdW50X2RlYnVnX21hc2sgIT0gUFlNTlRfREVCVUdfSU5JVCkKKwkJREJHKElOSVQsIHB5bW50X2RlYnVnKCJsaWJyYXJ5IGRlYnVnIG1hc2s6IDB4JTA0eCIsCisJCQkJCXB5bGlibW91bnRfZGVidWdfbWFzaykpOworCW1udF9pbml0X2RlYnVnKDApOworCisJLyoKKwkgKiBBZGQgbW9kdWxlIG9iamVjdHMKKwkgKi8KKwlMaWJtb3VudEVycm9yID0gUHlFcnJfTmV3RXhjZXB0aW9uKCJsaWJtb3VudC5FcnJvciIsIE5VTEwsIE5VTEwpOworCVB5X0lOQ1JFRihMaWJtb3VudEVycm9yKTsKKwlQeU1vZHVsZV9BZGRPYmplY3QobSwgIkVycm9yIiwgKFB5T2JqZWN0ICopTGlibW91bnRFcnJvcik7CisKKwlGU19BZGRNb2R1bGVPYmplY3QobSk7CisJVGFibGVfQWRkTW9kdWxlT2JqZWN0KG0pOworI2lmZGVmIF9fbGludXhfXworCUNvbnRleHRfQWRkTW9kdWxlT2JqZWN0KG0pOworI2VuZGlmCisKKwkvKgorCSAqIG1vdW50KDgpIHVzZXJzcGFjZSBvcHRpb25zIG1hc2tzIChNTlRfTUFQX1VTRVJTUEFDRSBtYXApCisJICovCisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19DT01NRU5UIiwgTU5UX01TX0NPTU1FTlQpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfR1JPVVAiLCBNTlRfTVNfR1JPVVApOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfSEVMUEVSIiwgTU5UX01TX0hFTFBFUik7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19MT09QIiwgTU5UX01TX0xPT1ApOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfTkVUREVWIiwgTU5UX01TX05FVERFVik7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19OT0FVVE8iLCBNTlRfTVNfTk9BVVRPKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX05PRkFJTCIsIE1OVF9NU19OT0ZBSUwpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfT0ZGU0VUIiwgTU5UX01TX09GRlNFVCk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19PV05FUiIsIE1OVF9NU19PV05FUik7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19TSVpFTElNSVQiLCBNTlRfTVNfU0laRUxJTUlUKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX0VOQ1JZUFRJT04iLCBNTlRfTVNfRU5DUllQVElPTik7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9NU19VSEVMUEVSIiwgTU5UX01TX1VIRUxQRVIpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfTVNfVVNFUiIsIE1OVF9NU19VU0VSKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX1VTRVJTIiwgTU5UX01TX1VTRVJTKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX01TX1hDT01NRU5UIiwgTU5UX01TX1hDT01NRU5UKTsKKworCS8qCisJICogbW91bnQoMikgTVNfKiBtYXNrcyAoTU5UX01BUF9MSU5VWCBtYXApCisJICovCisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX0JJTkQiLCBNU19CSU5EKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfRElSU1lOQyIsIE1TX0RJUlNZTkMpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19JX1ZFUlNJT04iLCBNU19JX1ZFUlNJT04pOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19NQU5ETE9DSyIsIE1TX01BTkRMT0NLKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfTUdDX01TSyIsIE1TX01HQ19NU0spOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19NR0NfVkFMIiwgTVNfTUdDX1ZBTCk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX01PVkUiLCBNU19NT1ZFKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfTk9BVElNRSIsIE1TX05PQVRJTUUpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19OT0RFViIsIE1TX05PREVWKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfTk9ESVJBVElNRSIsIE1TX05PRElSQVRJTUUpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19OT0VYRUMiLCBNU19OT0VYRUMpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19OT1NVSUQiLCBNU19OT1NVSUQpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19PV05FUlNFQ1VSRSIsIE1TX09XTkVSU0VDVVJFKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfUFJJVkFURSIsIE1TX1BSSVZBVEUpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19QUk9QQUdBVElPTiIsIE1TX1BST1BBR0FUSU9OKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfUkRPTkxZIiwgTVNfUkRPTkxZKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfUkVDIiwgTVNfUkVDKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfUkVMQVRJTUUiLCBNU19SRUxBVElNRSk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1JFTU9VTlQiLCBNU19SRU1PVU5UKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfU0VDVVJFIiwgTVNfU0VDVVJFKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfU0hBUkVEIiwgTVNfU0hBUkVEKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfU0lMRU5UIiwgTVNfU0lMRU5UKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfU0xBVkUiLCBNU19TTEFWRSk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1TX1NUUklDVEFUSU1FIiwgTVNfU1RSSUNUQVRJTUUpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNU19TWU5DSFJPTk9VUyIsIE1TX1NZTkNIUk9OT1VTKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTVNfVU5CSU5EQUJMRSIsIE1TX1VOQklOREFCTEUpOworCisJLyogV2lsbCB3ZSBuZWVkIHRoZXNlIGRpcmVjdGx5PworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfRVJSX0FNQklGUyIsIE1OVF9FUlJfQU1CSUZTKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX0VSUl9BUFBMWUZMQUdTIiwgTU5UX0VSUl9BUFBMWUZMQUdTKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX0VSUl9MT09QREVWIiwgTU5UX0VSUl9MT09QREVWKTsKKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX0VSUl9NT1VOVE9QVCIsIE1OVF9FUlJfTU9VTlRPUFQpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfRVJSX05PRlNUQUIiLCBNTlRfRVJSX05PRlNUQUIpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfRVJSX05PRlNUWVBFIiwgTU5UX0VSUl9OT0ZTVFlQRSk7CisJUHlNb2R1bGVfQWRkSW50Q29uc3RhbnQobSwgIk1OVF9FUlJfTk9TT1VSQ0UiLCBNTlRfRVJSX05PU09VUkNFKTsKKwkqLworCisJLyogU3RpbGwgdXNlZnVsIGZvciBmdW5jdGlvbnMgdXNpbmcgaXRlcmF0b3JzIGludGVybmFsbHkgKi8KKwlQeU1vZHVsZV9BZGRJbnRDb25zdGFudChtLCAiTU5UX0lURVJfRk9SV0FSRCIsIE1OVF9JVEVSX0ZPUldBUkQpOworCVB5TW9kdWxlX0FkZEludENvbnN0YW50KG0sICJNTlRfSVRFUl9CQUNLV0FSRCIsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKworI2lmIFBZX01BSk9SX1ZFUlNJT04gPj0gMworCXJldHVybiBtOworI2VuZGlmCit9CisKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3B5dGhvbi9weWxpYm1vdW50LmggYi9saWJtb3VudC9weXRob24vcHlsaWJtb3VudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmMzI3OGQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9weXRob24vcHlsaWJtb3VudC5oCkBAIC0wLDAgKzEsMTMxIEBACisjaWZuZGVmIFVUSUxfTElOVVhfUFlMSUJNT1VOVF9ICisjZGVmaW5lIFVUSUxfTElOVVhfUFlMSUJNT1VOVF9ICisKKyNpbmNsdWRlIDxQeXRob24uaD4KKyNpbmNsdWRlIDxzdHJ1Y3RtZW1iZXIuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaWJtb3VudC5oIgorCisjZGVmaW5lIENPTkZJR19QWUxJQk1PVU5UX0RFQlVHCisKKyNkZWZpbmUgUFlNTlRfREVCVUdfSU5JVAkoMSA8PCAxKQorI2RlZmluZSBQWU1OVF9ERUJVR19UQUIJCSgxIDw8IDIpCisjZGVmaW5lIFBZTU5UX0RFQlVHX0ZTCQkoMSA8PCAzKQorI2RlZmluZSBQWU1OVF9ERUJVR19DWFQJCSgxIDw8IDQpCisKKyNpZmRlZiBDT05GSUdfUFlMSUJNT1VOVF9ERUJVRworIyBpbmNsdWRlIDxzdGRpby5oPgorIyBpbmNsdWRlIDxzdGRhcmcuaD4KKworIyBkZWZpbmUgREJHKG0sIHgpCWRvIHsgXAorCQkJCWlmICgoUFlNTlRfREVCVUdfICMjIG0pICYgcHlsaWJtb3VudF9kZWJ1Z19tYXNrKSB7IFwKKwkJCQkJZnByaW50ZihzdGRlcnIsICIlZDogcHlsaWJtb3VudDogJTZzOiAiLCBnZXRwaWQoKSwgIyBtKTsgXAorCQkJCQl4OyBcCisJCQkJfSBcCisJCQl9IHdoaWxlICgwKQorCitleHRlcm4gaW50IHB5bGlibW91bnRfZGVidWdfbWFzazsKKworc3RhdGljIGlubGluZSB2b2lkIF9fYXR0cmlidXRlX18gKChfX2Zvcm1hdF9fIChfX3ByaW50Zl9fLCAxLCAyKSkpCitweW1udF9kZWJ1Zyhjb25zdCBjaGFyICptZXNnLCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2YV9zdGFydChhcCwgbWVzZyk7CisJdmZwcmludGYoc3RkZXJyLCBtZXNnLCBhcCk7CisJdmFfZW5kKGFwKTsKKwlmcHV0YygnXG4nLCBzdGRlcnIpOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18gKF9fcHJpbnRmX18sIDIsIDMpKSkKK3B5bW50X2RlYnVnX2godm9pZCAqaGFuZGxlciwgY29uc3QgY2hhciAqbWVzZywgLi4uKQoreworCXZhX2xpc3QgYXA7CisKKwlpZiAoaGFuZGxlcikKKwkJZnByaW50ZihzdGRlcnIsICJbJXBdOiAiLCBoYW5kbGVyKTsKKwl2YV9zdGFydChhcCwgbWVzZyk7CisJdmZwcmludGYoc3RkZXJyLCBtZXNnLCBhcCk7CisJdmFfZW5kKGFwKTsKKwlmcHV0YygnXG4nLCBzdGRlcnIpOworfQorCisjZWxzZSAvKiAhQ09ORklHX1BZTElCTU9VTlRfREVCVUcgKi8KKyMgZGVmaW5lIERCRyhtLHgpIGRvIHsgOyB9IHdoaWxlICgwKQorI2VuZGlmCisKKworI2RlZmluZSBOT0RFTF9BVFRSCSJUaGlzIGF0dHJpYnV0ZSBjYW5ub3QgYmUgZGVsZXRlZCIKKyNkZWZpbmUgQ09OU1RSVUNUX0VSUgkiRXJyb3IgZHVyaW5nIG9iamVjdCBjb25zdHJ1Y3Rpb24iCisjZGVmaW5lIEFSR19FUlIJCSJJbnZhbGlkIG51bWJlciBvciB0eXBlIG9mIGFyZ3VtZW50cyIKKyNkZWZpbmUgTk9GU19FUlIJIk5vIGZpbGVzeXN0ZW1zIHRvIG1vdW50IgorI2RlZmluZSBNRU1PUllfRVJSCXN0cmVycm9yKEVOT01FTSkKKyNkZWZpbmUgQ09OVl9FUlIJIlR5cGUgY29udmVyc2lvbiBmYWlsZWQiCisKKy8qCisgKiBmcy5jCisgKi8KK3R5cGVkZWYgc3RydWN0IHsKKwlQeU9iamVjdF9IRUFECisJc3RydWN0IGxpYm1udF9mcyAqZnM7Cit9IEZzT2JqZWN0OworCitleHRlcm4gUHlUeXBlT2JqZWN0IEZzVHlwZTsKKworZXh0ZXJuIFB5T2JqZWN0ICpQeU9iamVjdFJlc3VsdEZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiB2b2lkIEZTX0FkZE1vZHVsZU9iamVjdChQeU9iamVjdCAqbW9kKTsKKworLyoKKyAqIHRhYi5jCisgKi8KK3R5cGVkZWYgc3RydWN0IHsKKwlQeU9iamVjdF9IRUFECisKKwlzdHJ1Y3QgbGlibW50X3RhYmxlCQkqdGFiOworCXN0cnVjdCBsaWJtbnRfaXRlcgkJKml0ZXI7CisJUHlPYmplY3QJCQkqZXJyY2I7Cit9IFRhYmxlT2JqZWN0OworCitleHRlcm4gUHlUeXBlT2JqZWN0IFRhYmxlVHlwZTsKKworZXh0ZXJuIFB5T2JqZWN0ICpQeU9iamVjdFJlc3VsdFRhYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWIpOworCitleHRlcm4gdm9pZCBUYWJsZV91bnJlZihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWIpOworZXh0ZXJuIHZvaWQgVGFibGVfQWRkTW9kdWxlT2JqZWN0KFB5T2JqZWN0ICptb2QpOworCitleHRlcm4gaW50IHB5bW50X3RhYmxlX3BhcnNlcl9lcnJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKTsKKworI2lmZGVmIF9fbGludXhfXworCisvKgorICogY29udGV4dC5jCisgKi8KK3R5cGVkZWYgc3RydWN0IHsKKwlQeU9iamVjdF9IRUFECisKKwlzdHJ1Y3QgbGlibW50X2NvbnRleHQJCSpjeHQ7CisJUHlPYmplY3QJCQkqdGFibGVfZXJyY2I7CisKK30gQ29udGV4dE9iamV4dDsKKworZXh0ZXJuIFB5VHlwZU9iamVjdCBDb250ZXh0VHlwZTsKK2V4dGVybiB2b2lkIENvbnRleHRfQWRkTW9kdWxlT2JqZWN0KFB5T2JqZWN0ICptb2QpOworCisjZW5kaWYgLyogX19saW51eF9fICovCisKKy8qCisgKiBtaXNjCisgKi8KK2V4dGVybiBQeU9iamVjdCAqTGlibW91bnRFcnJvcjsKK2V4dGVybiBQeU9iamVjdCAqVUxfSW5jUmVmKHZvaWQgKmtpbGxtZSk7CitleHRlcm4gdm9pZCAqVUxfUmFpc2VFeGMoaW50IGUpOworCitleHRlcm4gUHlPYmplY3QgKlB5T2JqZWN0UmVzdWx0SW50KGludCBpKTsKK2V4dGVybiBQeU9iamVjdCAqUHlPYmplY3RSZXN1bHRTdHIoY29uc3QgY2hhciAqcyk7CisKK2V4dGVybiBjaGFyICpweXN0b3MoUHlPYmplY3QgKnB5cyk7CitleHRlcm4gdm9pZCBQeUZyZWUodm9pZCAqbyk7CisKKworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9QWUxJQk1PVU5UICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9weXRob24vdGFiLmMgYi9saWJtb3VudC9weXRob24vdGFiLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZiNzE0MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3B5dGhvbi90YWIuYwpAQCAtMCwwICsxLDc4MSBAQAorLyoKKyAqIFB5dGhvbiBiaW5kaW5ncyBmb3IgdGhlIGxpYm1vdW50IGxpYnJhcnkuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEzLCBSZWQgSGF0LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBXcml0dGVuIGJ5IE9uZHJlaiBPcHJhbGEgYW5kIEthcmVsIFphaworICoKKyAqIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIGZpbGU7IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKyNpbmNsdWRlICJweWxpYm1vdW50LmgiCisKK3N0YXRpYyBQeU1lbWJlckRlZiBUYWJsZV9tZW1iZXJzW10gPSB7CisJeyBOVUxMIH0KK307CisKK3N0YXRpYyBpbnQgVGFibGVfc2V0X3BhcnNlcl9lcnJjYihUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmZ1bmMsCisJCQkJICB2b2lkICpjbG9zdXJlIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCVB5T2JqZWN0ICp0bXA7CisKKwlpZiAoIWZ1bmMpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoIVB5Q2FsbGFibGVfQ2hlY2soZnVuYykpCisJCXJldHVybiAtMTsKKworCXRtcCA9IHNlbGYtPmVycmNiOworCVB5X0lOQ1JFRihmdW5jKTsKKwlzZWxmLT5lcnJjYiA9IGZ1bmM7CisJUHlfWERFQ1JFRih0bXApOworCXJldHVybiAwOworfQorCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2dldF9pbnRyb19jb21tZW50KFRhYmxlT2JqZWN0ICpzZWxmLAorCQkJCXZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0U3RyKG1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudChzZWxmLT50YWIpKTsKK30KKworc3RhdGljIGludCBUYWJsZV9zZXRfaW50cm9fY29tbWVudChUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKnZhbHVlLAorCQkJCXZvaWQgKmNsb3N1cmUgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJY2hhciAqY29tbWVudCA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWlmICghdmFsdWUpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgTk9ERUxfQVRUUik7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKCEoY29tbWVudCA9IHB5c3Rvcyh2YWx1ZSkpKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoKHJjID0gbW50X3RhYmxlX3NldF9pbnRyb19jb21tZW50KHNlbGYtPnRhYiwgY29tbWVudCkpKSB7CisJCVVMX1JhaXNlRXhjKC1yYyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQoVGFibGVPYmplY3QgKnNlbGYsCisJCQkJdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRTdHIobW50X3RhYmxlX2dldF90cmFpbGluZ19jb21tZW50KHNlbGYtPnRhYikpOworfQorCitzdGF0aWMgaW50IFRhYmxlX3NldF90cmFpbGluZ19jb21tZW50KFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqdmFsdWUsCisJCQkJdm9pZCAqY2xvc3VyZSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICpjb21tZW50ID0gTlVMTDsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF2YWx1ZSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBOT0RFTF9BVFRSKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoIShjb21tZW50ID0gcHlzdG9zKHZhbHVlKSkpCisJCXJldHVybiAtMTsKKworCWlmICgocmMgPSBtbnRfdGFibGVfc2V0X3RyYWlsaW5nX2NvbW1lbnQoc2VsZi0+dGFiLCBjb21tZW50KSkpIHsKKwkJVUxfUmFpc2VFeGMoLXJjKTsKKwkJcmV0dXJuIC0xOworCX0KKwlyZXR1cm4gMDsKK30KKworI2RlZmluZSBUYWJsZV9lbmFibGVfY29tbWVudHNfSEVMUCAiZW5hYmxlX2NvbW1lbnRzKGVuYWJsZSlcblxuIiBcCisJIkVuYWJsZXMgcGFyc2luZyBvZiBjb21tZW50cy5cblxuIiBcCisJIlRoZSBpbml0aWFsIChpbnRybykgZmlsZSBjb21tZW50IGlzIGFjY2Vzc2libGUgYnlcbiIgXAorCSJUYWIuaW50cm9fY29tbWVudC4gVGhlIGludHJvIGFuZCB0aGUgY29tbWVudCBvZiB0aGUgZmlyc3QgZnN0YWIiIFwKKwkiZW50cnkgaGFzIHRvIGJlIHNlcGFyYXRlZCBieSBibGFuayBsaW5lLiAgVGhlIGZpbGVzeXN0ZW0gY29tbWVudHMgYXJlXG4iIFwKKwkiYWNjZXNzaWJsZSBieSBGcy5jb21tZW50LiBUaGUgdGFpbGluZyBmc3RhYiBjb21tZW50IGlzIGFjY2Vzc2libGVcbiIgXAorCSJieSBUYWIudHJhaWxpbmdfY29tbWVudC5cbiIgXAorCSJcbiIgXAorCSI8aW5mb3JtYWxleGFtcGxlPlxuIiBcCisJIjxwcm9ncmFtbGlzdGluZz5cbiIgXAorCSIjXG4iIFwKKwkiIyBJbnRybyBjb21tZW50XG4iIFwKKwkiI1xuIiBcCisJIlxuIiBcCisJIiMgdGhpcyBjb21tZW50cyBiZWxvbmdzIHRvIHRoZSBmaXJzdCBmc1xuIiBcCisJIkxBQkVMPWZvbyAvbW50L2ZvbyBhdXRvIGRlZmF1bHRzIDEgMlxuIiBcCisJIiMgdGhpcyBjb21tZW50cyBiZWxvbmdzIHRvIHRoZSBzZWNvbmQgZnNcbiIgXAorCSJMQUJFTD1iYXIgL21udC9iYXIgYXV0byBkZWZhdWx0cyAxIDIgXG4iIFwKKwkiIyB0YWlsaW5nIGNvbW1lbnRcbiIgXAorCSI8L3Byb2dyYW1saXN0aW5nPlxuIiBcCisJIjwvaW5mb3JtYWxleGFtcGxlPiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfZW5hYmxlX2NvbW1lbnRzKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywKKwkJCQkJUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IGVuYWJsZSA9IDA7CisJY2hhciAqa3dsaXN0W10gPSB7ImVuYWJsZSIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgImkiLCBrd2xpc3QsICZlbmFibGUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJbW50X3RhYmxlX2VuYWJsZV9jb21tZW50cyhzZWxmLT50YWIsIGVuYWJsZSk7CisJUHlfSU5DUkVGKHNlbGYpOworCXJldHVybiAoUHlPYmplY3QgKilzZWxmOworfQorCisjZGVmaW5lIFRhYmxlX3JlcGxhY2VfZmlsZV9IRUxQICJyZXBsYWNlX2ZpbGUoZmlsZW5hbWUpXG5cbiIgXAorCQkiVGhpcyBmdW5jdGlvbiByZXBsYWNlcyBmaWxlbmFtZSB3aXRoIHRoZSBuZXcgY29udGVudCBmcm9tIFRhYmxlT2JqZWN0LiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfcmVwbGFjZV9maWxlKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWNoYXIgKmZpbGVuYW1lID0gTlVMTDsKKwljaGFyICprd2xpc3RbXSA9IHsiZmlsZW5hbWUiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmZmlsZW5hbWUpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfdGFibGVfcmVwbGFjZV9maWxlKHNlbGYtPnRhYiwgZmlsZW5hbWUpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgVGFibGVfd3JpdGVfZmlsZV9IRUxQICJ3cml0ZV9maWxlKHBhdGgpXG5cbiIgXAorCQkiVGhpcyBmdW5jdGlvbiB3cml0ZXMgdGFiIHRvIGZpbGUoc3RyZWFtKSIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfd3JpdGVfZmlsZShUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwkvL1B5T2JqZWN0ICpzdHJlYW0gPSBOVUxMOworCUZJTEUgKmYgPSBOVUxMOworCWNoYXIgKnBhdGggPSBOVUxMOworCWNoYXIgKmt3bGlzdFtdID0geyJwYXRoIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwKKwkJCQkJJnBhdGgpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJaWYgKCEoZiA9IGZvcGVuKHBhdGgsICJ3IikpKQorCQlyZXR1cm4gVUxfUmFpc2VFeGMoZXJybm8pOworCXJjID0gbW50X3RhYmxlX3dyaXRlX2ZpbGUoc2VsZi0+dGFiLCBmKTsKKwlmY2xvc2UoZik7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBUYWJsZV9maW5kX2Rldm5vX0hFTFAgImZpbmRfZGV2bm8oZGV2bm8sIFtkaXJlY3Rpb25dKVxuXG4iIFwKKwkJIk5vdGUgdGhhdCB6ZXJvIGNvdWxkIGJlIHZhbGlkIGRldmljZSBudW1iZXIgZm9yIHJvb3QgcHNldWRvICIgXAorCQkiZmlsZXN5c3RlbSAoZS5nLiB0bXBmcylcbiIgXAorCQkiUmV0dXJucyBhIHRhYiBlbnRyeSBvciBOb25lIgorc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9maW5kX2Rldm5vKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJZGV2X3QgZGV2bm87CisJaW50IGRpcmVjdGlvbiA9IE1OVF9JVEVSX0JBQ0tXQVJEOworCWNoYXIgKmt3bGlzdFtdID0geyJkZXZubyIsICJkaXJlY3Rpb24iLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJJfGkiLCBrd2xpc3QsICZkZXZubywgJmRpcmVjdGlvbikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRGcyhtbnRfdGFibGVfZmluZF9kZXZubyhzZWxmLT50YWIsIGRldm5vLCBkaXJlY3Rpb24pKTsKK30KKworI2RlZmluZSBUYWJsZV9maW5kX21vdW50cG9pbnRfSEVMUCAiZmluZF9tb3VudHBvaW50KHBhdGgsIFtkaXJlY3Rpb25dKVxuXG4iIFwKKwkJIlJldHVybnMgYSB0YWIgZW50cnkgb3IgTm9uZS4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2ZpbmRfbW91bnRwb2ludChUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKnBhdGg7CisJaW50IGRpcmVjdGlvbiA9IE1OVF9JVEVSX0JBQ0tXQVJEOworCWNoYXIgKmt3bGlzdFtdID0geyJwYXRoIiwgImRpcmVjdGlvbiIsIE5VTEx9OworCisJaWYgKCEgUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzfGkiLCBrd2xpc3QsICZwYXRoLCAmZGlyZWN0aW9uKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeU9iamVjdFJlc3VsdEZzKG1udF90YWJsZV9maW5kX21vdW50cG9pbnQoc2VsZi0+dGFiLCBwYXRoLCBkaXJlY3Rpb24pKTsKK30KKworI2RlZmluZSBUYWJsZV9maW5kX3BhaXJfSEVMUCAiZmluZF9wYWlyKHNvdXJjZSwgdGFyZ2V0LCBbZGlyZWN0aW9uXSlcblxuIiBcCisJCSJSZXR1cm5zIGEgdGFiIGVudHJ5IG9yIE5vbmUuIgorc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9maW5kX3BhaXIoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsic291cmNlIiwgInRhcmdldCIsICJkaXJlY3Rpb24iLCBOVUxMfTsKKwljaGFyICpzb3VyY2U7CisJY2hhciAqdGFyZ2V0OworCWludCBkaXJlY3Rpb24gPSBNTlRfSVRFUl9CQUNLV0FSRDsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzc3xpIiwga3dsaXN0LCAmc291cmNlLCAmdGFyZ2V0LCAmZGlyZWN0aW9uKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeU9iamVjdFJlc3VsdEZzKG1udF90YWJsZV9maW5kX3BhaXIoc2VsZi0+dGFiLCBzb3VyY2UsIHRhcmdldCwgZGlyZWN0aW9uKSk7Cit9CisKKyNkZWZpbmUgVGFibGVfZmluZF9zb3VyY2VfSEVMUCAiZmluZF9zb3VyY2Uoc291cmNlLCBbZGlyZWN0aW9uXSlcblxuIiBcCisJCSJSZXR1cm5zIGEgdGFiIGVudHJ5IG9yIE5vbmUuIgorc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9maW5kX3NvdXJjZShUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWNoYXIgKmt3bGlzdFtdID0geyJzb3VyY2UiLCAiZGlyZWN0aW9uIiwgTlVMTH07CisJY2hhciAqc291cmNlOworCWludCBkaXJlY3Rpb24gPSBNTlRfSVRFUl9CQUNLV0FSRDsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzfGkiLCBrd2xpc3QsICZzb3VyY2UsICZkaXJlY3Rpb24pKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0RnMobW50X3RhYmxlX2ZpbmRfc291cmNlKHNlbGYtPnRhYiwgc291cmNlLCBkaXJlY3Rpb24pKTsKK30KKworI2RlZmluZSBUYWJsZV9maW5kX3RhcmdldF9IRUxQICJmaW5kX3RhcmdldCh0YXJnZXQsIFtkaXJlY3Rpb25dKVxuXG4iIFwKKwkJIlRyeSB0byBsb29rdXAgYW4gZW50cnkgaW4gZ2l2ZW4gdGFiLCBwb3NzaWJsZSBhcmUgdGhyZWUgaXRlcmF0aW9ucywgZmlyc3RcbiIgXAorCQkid2l0aCBwYXRoLCBzZWNvbmQgd2l0aCByZWFscGF0aChwYXRoKSBhbmQgdGhpcmQgd2l0aCByZWFscGF0aChwYXRoKVxuIiBcCisJCSJhZ2FpbnN0IHJlYWxwYXRoKGZzLT50YXJnZXQpLiBUaGUgMm5kIGFuZCAzcmQgaXRlcmF0aW9ucyBhcmUgbm90IHBlcmZvcm1lZFxuIiBcCisJCSJ3aGVuIHRiIGNhY2hlIGlzIG5vdCBzZXQgKGNhY2hlIG5vdCBpbXBsZW1lbnRlZCB5ZXQpLlxuIiBcCisJCSJcbiIgXAorCQkiUmV0dXJucyBhIHRhYiBlbnRyeSBvciBOb25lLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfZmluZF90YXJnZXQoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsidGFyZ2V0IiwgImRpcmVjdGlvbiIsIE5VTEx9OworCWNoYXIgKnRhcmdldDsKKwlpbnQgZGlyZWN0aW9uID0gTU5UX0lURVJfQkFDS1dBUkQ7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAic3xpIiwga3dsaXN0LCAmdGFyZ2V0LCAmZGlyZWN0aW9uKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeU9iamVjdFJlc3VsdEZzKG1udF90YWJsZV9maW5kX3RhcmdldChzZWxmLT50YWIsIHRhcmdldCwgZGlyZWN0aW9uKSk7Cit9CisKKyNkZWZpbmUgVGFibGVfZmluZF9zcmNwYXRoX0hFTFAgImZpbmRfc3JjcGF0aChzcmNwYXRoLCBbZGlyZWN0aW9uXSlcblxuIiBcCisJCSJUcnkgdG8gbG9va3VwIGFuIGVudHJ5IGluIGdpdmVuIHRhYiwgcG9zc2libGUgYXJlIGZvdXIgaXRlcmF0aW9ucywgZmlyc3RcbiIgXAorCQkid2l0aCBwYXRoLCBzZWNvbmQgd2l0aCByZWFscGF0aChwYXRoKSwgdGhpcmQgd2l0aCB0YWdzIChMQUJFTCwgVVVJRCwgLi4pXG4iIFwKKwkJImZyb20gcGF0aCBhbmQgZm91cnRoIHdpdGggcmVhbHBhdGgocGF0aCkgYWdhaW5zdCByZWFscGF0aChlbnRyeS0+c3JjcGF0aCkuXG4iIFwKKwkJIlxuIiBcCisJCSJUaGUgMm5kLCAzcmQgYW5kIDR0aCBpdGVyYXRpb25zIGFyZSBub3QgcGVyZm9ybWVkIHdoZW4gdGIgY2FjaGUgaXMgbm90XG4iIFwKKwkJInNldCAobm90IGltcGxlbWVudGVkIHlldCkuXG4iIFwKKwkJIlxuIiBcCisJCSJOb3RlIHRoYXQgTm9uZSBpcyBhIHZhbGlkIHNvdXJjZSBwYXRoOyBpdCB3aWxsIGJlIHJlcGxhY2VkIHdpdGggXCJub25lXCIuIFRoZVxuIiBcCisJCSJcIm5vbmVcIiBpcyB1c2VkIGluIC9wcm9jL3ttb3VudHMsc2VsZi9tb3VudGluZm99IGZvciBwc2V1ZG8gZmlsZXN5c3RlbXMuXG4iIFwKKwkJIlxuIiBcCisJCSJSZXR1cm5zIGEgdGFiIGVudHJ5IG9yIE5vbmUuIgorc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9maW5kX3NyY3BhdGgoVGFibGVPYmplY3QgKnNlbGYsIFB5T2JqZWN0ICphcmdzLCBQeU9iamVjdCAqa3dkcykKK3sKKwljaGFyICprd2xpc3RbXSA9IHsic3JjcGF0aCIsICJkaXJlY3Rpb24iLCBOVUxMfTsKKwljaGFyICpzcmNwYXRoOworCWludCBkaXJlY3Rpb24gPSBNTlRfSVRFUl9CQUNLV0FSRDsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzfGkiLCBrd2xpc3QsICZzcmNwYXRoLCAmZGlyZWN0aW9uKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeU9iamVjdFJlc3VsdEZzKG1udF90YWJsZV9maW5kX3NyY3BhdGgoc2VsZi0+dGFiLCBzcmNwYXRoLCBkaXJlY3Rpb24pKTsKK30KKworI2RlZmluZSBUYWJsZV9maW5kX3RhZ19IRUxQICJmaW5kX3RhZyh0YWcsIHZhbCwgW2RpcmVjdGlvbl0pXG5cbiIgXAorCQkiVHJ5IHRvIGxvb2t1cCBhbiBlbnRyeSBpbiBnaXZlbiB0YWIsIGZpcnN0IGF0dGVtcHQgaXMgbG9va3VwIGJ5IHRhZyBhbmRcbiIgXAorCQkidmFsLCBmb3IgdGhlIHNlY29uZCBhdHRlbXB0IHRoZSB0YWcgaXMgZXZhbHVhdGVkIChjb252ZXJ0ZWQgdG8gdGhlIGRldmljZVxuIiBcCisJCSJuYW1lKSBhbmQgVGFiLmZpbmRfc3JjcGF0aCgpIGlzIHByZWZvcm1lZC4gVGhlIHNlY29uZCBhdHRlbXB0IGlzIG5vdFxuIiBcCisJCSJwZXJmb3JtZWQgd2hlbiB0YiBjYWNoZSBpcyBub3Qgc2V0IChub3QgaW1wbGVtZW50ZWQgeWV0KS5cbiIgXAorCQkiXG4iIFwKKwkJIlJldHVybnMgYSB0YWIgZW50cnkgb3IgTlVMTC4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2ZpbmRfdGFnKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJY2hhciAqa3dsaXN0W10gPSB7InRhZyIsICJ2YWwiLCAiZGlyZWN0aW9uIiwgTlVMTH07CisJY2hhciAqdGFnOworCWNoYXIgKnZhbDsKKwlpbnQgZGlyZWN0aW9uID0gTU5UX0lURVJfQkFDS1dBUkQ7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAic3N8aSIsIGt3bGlzdCwgJnRhZywgJnZhbCwgJmRpcmVjdGlvbikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gUHlPYmplY3RSZXN1bHRGcyhtbnRfdGFibGVfZmluZF90YWcoc2VsZi0+dGFiLCB0YWcsIHZhbCwgZGlyZWN0aW9uKSk7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfZ2V0X25lbnRzKFRhYmxlT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeU9iamVjdFJlc3VsdEludChtbnRfdGFibGVfZ2V0X25lbnRzKHNlbGYtPnRhYikpOworfQorCisjZGVmaW5lIFRhYmxlX2lzX2ZzX21vdW50ZWRfSEVMUCAiaXNfZnNfbW91bnRlZChmc3RhYl9mcylcblxuIiBcCisJCSJDaGVja3MgaWYgdGhlIGZzdGFiX2ZzIGVudHJ5IGlzIGFscmVhZHkgaW4gdGhlIHRiIHRhYmxlLiBUaGUgXCJzd2FwXCIgaXNcbiIgXAorCQkiaWdub3JlZC4gVGhpcyBmdW5jdGlvbiBleHBsaWNpdGx5IGNvbXBhcmVzIHNvdXJjZSwgdGFyZ2V0IGFuZCByb290IG9mIHRoZVxuIiBcCisJCSJmaWxlc3lzdGVtcy5cbiIgXAorCQkiXG4iIFwKKwkJIk5vdGUgdGhhdCBzb3VyY2UgYW5kIHRhcmdldCBhcmUgY2Fub25pY2FsaXplZCBvbmx5IGlmIGEgY2FjaGUgZm9yIHRiIGlzXG4iIFwKKwkJImRlZmluZWQgKG5vdCBpbXBsZW1lbnRlZCB5ZXQpLiBUaGUgdGFyZ2V0IGNhbm9uaWNhbGl6YXRpb24gbWF5XG4iIFwKKwkJInRyaWdnZXIgYXV0b21vdW50IG9uIGF1dG9mcyBtb3VudHBvaW50cyFcbiIgXAorCQkiXG4iIFwKKwkJIkRvbid0IHVzZSBpdCBpZiB5b3Ugd2FudCB0byBrbm93IGlmIGEgZGV2aWNlIGlzIG1vdW50ZWQsIGp1c3QgdXNlXG4iIFwKKwkJIlRhYi5maW5kX3NvdXJjZSgpIGZvciB0aGUgZGV2aWNlLlxuIiBcCisJCSJcbiIgXAorCQkiVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCBtb3N0bHkgZm9yIFwibW91bnQgLWFcIi5cbiIgXAorCQkiXG4iIFwKKwkJIlJldHVybnMgYSBib29sZWFuIHZhbHVlLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfaXNfZnNfbW91bnRlZChUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QgKmFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCUZzT2JqZWN0ICpmczsKKwljaGFyICprd2xpc3RbXSA9IHsiZnN0YWJfZnMiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJPISIsIGt3bGlzdCwgJkZzVHlwZSwgJmZzKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBQeUJvb2xfRnJvbUxvbmcobW50X3RhYmxlX2lzX2ZzX21vdW50ZWQoc2VsZi0+dGFiLCBmcy0+ZnMpKTsKK30KKworI2RlZmluZSBUYWJsZV9wYXJzZV9maWxlX0hFTFAgInBhcnNlX2ZpbGUoZmlsZSlcblxuIiBcCisJCSJQYXJzZXMgd2hvbGUgdGFibGUgKGUuZy4gL2V0Yy9tdGFiKSBhbmQgYXBwZW5kcyBuZXcgcmVjb3JkcyB0byB0aGUgdGFiLlxuIiBcCisJCSJcbiIgXAorCQkiVGhlIGxpYm1vdW50IHBhcnNlciBpZ25vcmVzIGJyb2tlbiAoc3ludGF4IGVycm9yKSBsaW5lcywgdGhlc2UgbGluZXMgYXJlXG4iIFwKKwkJInJlcG9ydGVkIHRvIGNhbGxlciBieSBlcnJjYigpIGZ1bmN0aW9uIChzZWUgVGFiLnBhcnNlcl9lcnJjYikuXG4iIFwKKwkJIlxuIiBcCisJCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfcGFyc2VfZmlsZShUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwljaGFyICpmaWxlID0gTlVMTDsKKwljaGFyICprd2xpc3RbXSA9IHsiZmlsZSIsIE5VTEx9OworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJzIiwga3dsaXN0LCAmZmlsZSkpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF90YWJsZV9wYXJzZV9maWxlKHNlbGYtPnRhYiwgZmlsZSk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBUYWJsZV9wYXJzZV9mc3RhYl9IRUxQICJwYXJzZV9mc3RhYihbZnN0YWJdKVxuXG4iIFwKKwkJIlRoaXMgZnVuY3Rpb24gcGFyc2VzIC9ldGMvZnN0YWIgYW5kIGFwcGVuZHMgbmV3IGxpbmVzIHRvIHRoZSB0YWIuIElmIHRoZVxuIiBcCisJCSJmaWxlbmFtZSBpcyBhIGRpcmVjdG9yeSB0aGVuIFRhYi5wYXJzZV9kaXIoKSBpcyBjYWxsZWQuXG4iIFwKKwkJIlxuIiBcCisJCSJTZWUgYWxzbyBUYWIucGFyc2VyX2VycmNiLlxuIiBcCisJCSJcbiIgXAorCQkiUmV0dXJucyBzZWxmIG9yIHJhaXNlcyBhbiBleGNlcHRpb24gaW4gY2FzZSBvZiBhbiBlcnJvci4iCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX3BhcnNlX2ZzdGFiKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCogYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWNoYXIgKmZzdGFiID0gTlVMTDsKKwljaGFyICprd2xpc3RbXSA9IHsiZnN0YWIiLCBOVUxMfTsKKworCWlmICghUHlBcmdfUGFyc2VUdXBsZUFuZEtleXdvcmRzKGFyZ3MsIGt3ZHMsICJ8cyIsIGt3bGlzdCwgJmZzdGFiKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X3RhYmxlX3BhcnNlX2ZzdGFiKHNlbGYtPnRhYiwgZnN0YWIpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgVGFibGVfcGFyc2VfbXRhYl9IRUxQICJwYXJzZV9tdGFiKFttdGFiXSlcblxuIiBcCisJCSJUaGlzIGZ1bmN0aW9uIHBhcnNlcyAvZXRjL210YWIgb3IgL3Byb2Mvc2VsZi9tb3VudGluZm9cbiIgXAorCQkiL3J1bi9tb3VudC91dGFicyBvciAvcHJvYy9tb3VudHMuXG4iIFwKKwkJIlxuIiBcCisJCSJTZWUgYWxzbyBUYWIucGFyc2VyX2VycmNiKCkuXG4iIFwKKwkJIlxuIiBcCisJCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfcGFyc2VfbXRhYihUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwljaGFyICptdGFiID0gTlVMTDsKKwljaGFyICprd2xpc3RbXSA9IHsibXRhYiIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInxzIiwga3dsaXN0LCAmbXRhYikpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF90YWJsZV9wYXJzZV9tdGFiKHNlbGYtPnRhYiwgbXRhYik7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBUYWJsZV9wYXJzZV9kaXJfSEVMUCAicGFyc2VfZGlyKGRpcilcblxuIiBcCisJCSJUaGUgZGlyZWN0b3J5OlxuIiBcCisJCSItIGZpbGVzIGFyZSBzb3J0ZWQgYnkgc3RydmVyc2NtcCgzKVxuIiBcCisJCSItIGZpbGVzIHRoYXQgc3RhcnQgd2l0aCBcIi5cIiBhcmUgaWdub3JlZCAoZS5nLiBcIi4xMGZvby5mc3RhYlwiKVxuIiBcCisJCSItIGZpbGVzIHdpdGhvdXQgdGhlIFwiLmZzdGFiXCIgZXh0ZW5zaW9uIGFyZSBpZ25vcmVkXG4iIFwKKwkJIlxuIiBcCisJCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfcGFyc2VfZGlyKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCogYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCWNoYXIgKmRpciA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7ImRpciIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgInMiLCBrd2xpc3QsICZkaXIpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmMgPSBtbnRfdGFibGVfcGFyc2VfZGlyKHNlbGYtPnRhYiwgZGlyKTsKKwlyZXR1cm4gcmMgPyBVTF9SYWlzZUV4YygtcmMpIDogVUxfSW5jUmVmKHNlbGYpOworfQorCisjZGVmaW5lIFRhYmxlX3BhcnNlX3N3YXBzX0hFTFAgInBhcnNlX3N3YXBzKHN3YXBzKVxuXG4iIFwKKwkJIlRoaXMgZnVuY3Rpb24gcGFyc2VzIC9wcm9jL3N3YXBzIGFuZCBhcHBlbmRzIG5ldyBsaW5lcyB0byB0aGUgdGFiIgorc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9wYXJzZV9zd2FwcyhUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwljaGFyICpzd2FwcyA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7InN3YXBzIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAicyIsIGt3bGlzdCwgJnN3YXBzKSkgeworCQlQeUVycl9TZXRTdHJpbmcoUHlFeGNfVHlwZUVycm9yLCBBUkdfRVJSKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJjID0gbW50X3RhYmxlX3BhcnNlX3N3YXBzKHNlbGYtPnRhYiwgc3dhcHMpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgVGFibGVfYWRkX2ZzX0hFTFAgImFkZF9mcyhmcylcblxuQWRkcyBhIG5ldyBlbnRyeSB0byB0YWIuXG4iIFwKKwkJIlJldHVybnMgc2VsZiBvciByYWlzZXMgYW4gZXhjZXB0aW9uIGluIGNhc2Ugb2YgYW4gZXJyb3IuIgorCitzdGF0aWMgUHlPYmplY3QgKlRhYmxlX2FkZF9mcyhUYWJsZU9iamVjdCAqc2VsZiwgUHlPYmplY3QqIGFyZ3MsIFB5T2JqZWN0ICprd2RzKQoreworCWludCByYzsKKwlGc09iamVjdCAqZnMgPSBOVUxMOworCWNoYXIgKmt3bGlzdFtdID0geyJmcyIsIE5VTEx9OworCisJaWYgKCFQeUFyZ19QYXJzZVR1cGxlQW5kS2V5d29yZHMoYXJncywga3dkcywgIk8hIiwga3dsaXN0LCAmRnNUeXBlLCAmZnMpKSB7CisJCVB5RXJyX1NldFN0cmluZyhQeUV4Y19UeXBlRXJyb3IsIEFSR19FUlIpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJUHlfSU5DUkVGKGZzKTsKKwlyYyA9IG1udF90YWJsZV9hZGRfZnMoc2VsZi0+dGFiLCBmcy0+ZnMpOworCXJldHVybiByYyA/IFVMX1JhaXNlRXhjKC1yYykgOiBVTF9JbmNSZWYoc2VsZik7Cit9CisKKyNkZWZpbmUgVGFibGVfcmVtb3ZlX2ZzX0hFTFAgInJlbW92ZV9mcyhmcylcblxuIiBcCisJCSJSZXR1cm5zIHNlbGYgb3IgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlIG9mIGFuIGVycm9yLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfcmVtb3ZlX2ZzKFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCogYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJaW50IHJjOworCUZzT2JqZWN0ICpmcyA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7ImZzIiwgTlVMTH07CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAiTyEiLCBrd2xpc3QsICZGc1R5cGUsICZmcykpIHsKKwkJUHlFcnJfU2V0U3RyaW5nKFB5RXhjX1R5cGVFcnJvciwgQVJHX0VSUik7CisJCXJldHVybiBOVUxMOworCX0KKwlyYyA9IG1udF90YWJsZV9yZW1vdmVfZnMoc2VsZi0+dGFiLCBmcy0+ZnMpOworCVB5X0RFQ1JFRihmcyk7CisJcmV0dXJuIHJjID8gVUxfUmFpc2VFeGMoLXJjKSA6IFVMX0luY1JlZihzZWxmKTsKK30KKworI2RlZmluZSBUYWJsZV9uZXh0X2ZzX0hFTFAgIm5leHRfZnMoKVxuXG4iIFwKKwkJIlJldHVybnMgdGhlIG5leHQgRnMgb24gc3VjY2VzcywgcmFpc2VzIGFuIGV4Y2VwdGlvbiBpbiBjYXNlICIgXAorCQkib2YgYW4gZXJyb3IgYW5kIE5vbmUgYXQgZW5kIG9mIGxpc3QuXG4iIFwKKwkJIlxuIiBcCisJCSJFeGFtcGxlOlxuIiBcCisJCSI8aW5mb3JtYWxleGFtcGxlPlxuIiBcCisJCSI8cHJvZ3JhbWxpc3Rpbmc+XG4iIFwKKwkJImltcG9ydCBsaWJtb3VudFxuIiBcCisJCSJpbXBvcnQgZnVuY3Rvb2xzXG4iIFwKKwkJImZvciBmcyBpbiBpdGVyKGZ1bmN0b29scy5wYXJ0aWFsKHRiLm5leHRfZnMpLCBOb25lKTpcbiIgXAorCQkiICAgIGRpciA9IEZzLnRhcmdldFxuIiBcCisJCSIgICAgcHJpbnQgXCJtb3VudCBwb2ludDogezpzfVwiLmZvcm1hdChkaXIpXG4iIFwKKwkJIlxuIiBcCisJCSI8L3Byb2dyYW1saXN0aW5nPlxuIiBcCisJCSI8L2luZm9ybWFsZXhhbXBsZT5cbiIgXAorCQkiXG4iIFwKKwkJImxpc3RzIGFsbCBtb3VudHBvaW50cyBmcm9tIGZzdGFiIGluIGJhY2t3YXJkIG9yZGVyLiIKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfbmV4dF9mcyhUYWJsZU9iamVjdCAqc2VsZikKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgcmM7CisKKwkvKiBSZXNldCB0aGUgYnVpbHRpbiBpdGVyYXRvciBhZnRlciByZWFjaGluZyB0aGUgZW5kIG9mIHRoZSBsaXN0ICovCisJcmMgPSBtbnRfdGFibGVfbmV4dF9mcyhzZWxmLT50YWIsIHNlbGYtPml0ZXIsICZmcyk7CisJaWYgKHJjID09IDEpIHsKKwkJbW50X3Jlc2V0X2l0ZXIoc2VsZi0+aXRlciwgTU5UX0lURVJfRk9SV0FSRCk7CisJCVB5X1JFVFVSTl9OT05FOworCX0gZWxzZSBpZiAocmMpCisJCXJldHVybiBVTF9SYWlzZUV4YygtcmMpOworCisJcmV0dXJuIFB5T2JqZWN0UmVzdWx0RnMoZnMpOworfQorCitzdGF0aWMgUHlNZXRob2REZWYgVGFibGVfbWV0aG9kc1tdID0geworCXsiZW5hYmxlX2NvbW1lbnRzIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX2VuYWJsZV9jb21tZW50cywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX2VuYWJsZV9jb21tZW50c19IRUxQfSwKKwl7ImZpbmRfcGFpciIsIChQeUNGdW5jdGlvbilUYWJsZV9maW5kX3BhaXIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9maW5kX3BhaXJfSEVMUH0sCisJeyJmaW5kX3NvdXJjZSIsIChQeUNGdW5jdGlvbilUYWJsZV9maW5kX3NvdXJjZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX2ZpbmRfc291cmNlX0hFTFB9LAorCXsiZmluZF9zcmNwYXRoIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX2ZpbmRfc3JjcGF0aCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX2ZpbmRfc3JjcGF0aF9IRUxQfSwKKwl7ImZpbmRfdGFnIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX2ZpbmRfdGFnLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfZmluZF90YWdfSEVMUH0sCisJeyJmaW5kX3RhcmdldCIsIChQeUNGdW5jdGlvbilUYWJsZV9maW5kX3RhcmdldCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX2ZpbmRfdGFyZ2V0X0hFTFB9LAorCXsiZmluZF9kZXZubyIsIChQeUNGdW5jdGlvbilUYWJsZV9maW5kX2Rldm5vLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfZmluZF9kZXZub19IRUxQfSwKKwl7ImZpbmRfbW91bnRwb2ludCIsIChQeUNGdW5jdGlvbilUYWJsZV9maW5kX21vdW50cG9pbnQsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9maW5kX21vdW50cG9pbnRfSEVMUH0sCisJeyJwYXJzZV9maWxlIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX3BhcnNlX2ZpbGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9wYXJzZV9maWxlX0hFTFB9LAorCXsicGFyc2VfZnN0YWIiLCAoUHlDRnVuY3Rpb24pVGFibGVfcGFyc2VfZnN0YWIsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9wYXJzZV9mc3RhYl9IRUxQfSwKKwl7InBhcnNlX210YWIiLCAoUHlDRnVuY3Rpb24pVGFibGVfcGFyc2VfbXRhYiwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX3BhcnNlX210YWJfSEVMUH0sCisJeyJwYXJzZV9kaXIiLCAoUHlDRnVuY3Rpb24pVGFibGVfcGFyc2VfZGlyLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfcGFyc2VfZGlyX0hFTFB9LAorCXsicGFyc2Vfc3dhcHMiLCAoUHlDRnVuY3Rpb24pVGFibGVfcGFyc2Vfc3dhcHMsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV9wYXJzZV9zd2Fwc19IRUxQfSwKKwl7ImlzX2ZzX21vdW50ZWQiLCAoUHlDRnVuY3Rpb24pVGFibGVfaXNfZnNfbW91bnRlZCwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX2lzX2ZzX21vdW50ZWRfSEVMUH0sCisJeyJhZGRfZnMiLCAoUHlDRnVuY3Rpb24pVGFibGVfYWRkX2ZzLCBNRVRIX1ZBUkFSR1N8TUVUSF9LRVlXT1JEUywgVGFibGVfYWRkX2ZzX0hFTFB9LAorCXsicmVtb3ZlX2ZzIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX3JlbW92ZV9mcywgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX3JlbW92ZV9mc19IRUxQfSwKKwl7Im5leHRfZnMiLCAoUHlDRnVuY3Rpb24pVGFibGVfbmV4dF9mcywgTUVUSF9OT0FSR1MsIFRhYmxlX25leHRfZnNfSEVMUH0sCisJeyJ3cml0ZV9maWxlIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX3dyaXRlX2ZpbGUsIE1FVEhfVkFSQVJHU3xNRVRIX0tFWVdPUkRTLCBUYWJsZV93cml0ZV9maWxlX0hFTFB9LAorCXsicmVwbGFjZV9maWxlIiwgKFB5Q0Z1bmN0aW9uKVRhYmxlX3JlcGxhY2VfZmlsZSwgTUVUSF9WQVJBUkdTfE1FVEhfS0VZV09SRFMsIFRhYmxlX3JlcGxhY2VfZmlsZV9IRUxQfSwKKwl7TlVMTH0KK307CisKKy8qIG1udF9mcmVlX3RhYigpIHdpdGggYSBmZXcgbmVjZXNzYXJ5IGFkZGl0aW9ucyAqLwordm9pZCBUYWJsZV91bnJlZihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWIpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9pdGVyICppdGVyOworCisJaWYgKCF0YWIpCisJCXJldHVybjsKKworCURCRyhUQUIsIHB5bW50X2RlYnVnX2godGFiLCAidW4tcmVmZXJlbmNpbmcgZmlsZXN5c3RlbXMiKSk7CisKKwlpdGVyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0JBQ0tXQVJEKTsKKworCS8qIHJlbW92ZSBweWxpYm1vdW50IHNwZWNpZmljIHJlZmVyZW5jZXMgdG8gdGhlIGVudHJpZXMgKi8KKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGFiLCBpdGVyLCAmZnMpID09IDApCisJCVB5X1hERUNSRUYobW50X2ZzX2dldF91c2VyZGF0YShmcykpOworCisJREJHKFRBQiwgcHltbnRfZGVidWdfaCh0YWIsICJ1bi1yZWZlcmVuY2luZyB0YWJsZSIpKTsKKworCW1udF91bnJlZl90YWJsZSh0YWIpOworCW1udF9mcmVlX2l0ZXIoaXRlcik7Cit9CisKK3N0YXRpYyB2b2lkIFRhYmxlX2Rlc3RydWN0b3IoVGFibGVPYmplY3QgKnNlbGYpCit7CisJREJHKFRBQiwgcHltbnRfZGVidWdfaChzZWxmLT50YWIsICJkZXN0cnVjdG9yIHB5LW9iajogJXAsIHB5LXJlZmNudD0lZCIsCisJCQkJc2VsZiwgKGludCkgKChQeU9iamVjdCAqKSBzZWxmKS0+b2JfcmVmY250KSk7CisJVGFibGVfdW5yZWYoc2VsZi0+dGFiKTsKKwlzZWxmLT50YWIgPSBOVUxMOworCisJbW50X2ZyZWVfaXRlcihzZWxmLT5pdGVyKTsKKwlQeV9YREVDUkVGKHNlbGYtPmVycmNiKTsKKwlQeUZyZWUoc2VsZik7Cit9CisKK3N0YXRpYyBQeU9iamVjdCAqVGFibGVfbmV3KFB5VHlwZU9iamVjdCAqdHlwZSwKKwkJCSAgIFB5T2JqZWN0ICphcmdzIF9fYXR0cmlidXRlX18oKHVudXNlZCkpLAorCQkJICAgUHlPYmplY3QgKmt3ZHMgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJVGFibGVPYmplY3QgKnNlbGYgPSAoVGFibGVPYmplY3QqKXR5cGUtPnRwX2FsbG9jKHR5cGUsIDApOworCisJaWYgKHNlbGYpIHsKKwkJREJHKFRBQiwgcHltbnRfZGVidWdfaChzZWxmLCAibmV3IikpOworCisJCXNlbGYtPnRhYiA9IE5VTEw7CisJCXNlbGYtPml0ZXIgPSBOVUxMOworCQlzZWxmLT5lcnJjYiA9IE5VTEw7CisJfQorCXJldHVybiAoUHlPYmplY3QgKilzZWxmOworfQorCisvKiBleHBsaWNpdCB0YWIuX19pbml0X18oKSBzZXJ2ZXMgYXMgbW50X3Jlc2V0X3RhYmxlKHRhYikgd291bGQgaW4gQworICogYW5kIGFzIG1udF9uZXdfdGFibGV7LF9mcm9tX2RpcixfZnJvbV9maWxlfSgpIHdpdGggcHJvcGVyIGFyZ3VtZW50cyAqLworI2RlZmluZSBUYWJsZV9IRUxQICJUYWJsZShwYXRoPU5vbmUsIGVycmNiPU5vbmUpIgorc3RhdGljIGludCBUYWJsZV9pbml0KFRhYmxlT2JqZWN0ICpzZWxmLCBQeU9iamVjdCAqYXJncywgUHlPYmplY3QgKmt3ZHMpCit7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CisJY2hhciAqcGF0aCA9IE5VTEw7CisJY2hhciAqa3dsaXN0W10gPSB7InBhdGgiLCAiZXJyY2IiLCBOVUxMfTsKKwlQeU9iamVjdCAqZXJyY2IgPSBOVUxMOworCXN0cnVjdCBzdGF0IGJ1ZjsKKworCW1lbXNldCAoJmJ1ZiwgMCwgc2l6ZW9mKHN0cnVjdCBzdGF0KSk7CisKKwlpZiAoIVB5QXJnX1BhcnNlVHVwbGVBbmRLZXl3b3JkcyhhcmdzLCBrd2RzLCAifHNPIiwKKwkJCQkJa3dsaXN0LCAmcGF0aCwgJmVycmNiKSkKKwkJcmV0dXJuIC0xOworCisJREJHKFRBQiwgcHltbnRfZGVidWdfaChzZWxmLCAiaW5pdCIpKTsKKworCVRhYmxlX3VucmVmKHNlbGYtPnRhYik7CisJc2VsZi0+dGFiID0gTlVMTDsKKworCWlmIChzZWxmLT5pdGVyKQorCQltbnRfcmVzZXRfaXRlcihzZWxmLT5pdGVyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwllbHNlCisJCXNlbGYtPml0ZXIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfRk9SV0FSRCk7CisKKwlpZiAoZXJyY2IpIHsKKwkJUHlPYmplY3QgKnRtcDsKKwkJaWYgKCFQeUNhbGxhYmxlX0NoZWNrKGVycmNiKSkKKwkJCXJldHVybiAtMTsKKwkJdG1wID0gc2VsZi0+ZXJyY2I7CisJCVB5X0lOQ1JFRihlcnJjYik7CisJCXNlbGYtPmVycmNiID0gZXJyY2I7CisJCVB5X1hERUNSRUYodG1wKTsKKwl9IGVsc2UgeworCQlQeV9YREVDUkVGKHNlbGYtPmVycmNiKTsKKwkJc2VsZi0+ZXJyY2IgPSBOVUxMOworCX0KKworCWlmIChwYXRoKSB7CisJCURCRyhUQUIsIHB5bW50X2RlYnVnX2goc2VsZiwgImluaXQ6IHBhdGggZGVmaW5lZCAoJXMpIiwgcGF0aCkpOworCisJCWlmIChzdGF0KHBhdGgsICZidWYpKSB7CisJCQkvKiBUT0RPOiB3ZWlyZCAqLworCQkJUHlFcnJfU2V0RnJvbUVycm5vKFB5RXhjX1J1bnRpbWVFcnJvcik7CisJCQlyZXR1cm4gLTE7CisJCX0KKwkJaWYgKFNfSVNSRUcoYnVmLnN0X21vZGUpKQorCQkJc2VsZi0+dGFiID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUocGF0aCk7CisJCWVsc2UgaWYgKFNfSVNESVIoYnVmLnN0X21vZGUpKQorCQkJc2VsZi0+dGFiID0gbW50X25ld190YWJsZV9mcm9tX2RpcihwYXRoKTsKKwl9IGVsc2UgeworCQlEQkcoVEFCLCBweW1udF9kZWJ1Z19oKHNlbGYsICJpbml0OiBhbGxvY2F0ZSBlbXB0eSB0YWJsZSIpKTsKKwkJc2VsZi0+dGFiID0gbW50X25ld190YWJsZSgpOworCX0KKworCS8qIEFsd2F5cyBzZXQgY3VzdG9tIGhhbmRsZXIgd2hlbiB1c2luZyBsaWJtb3VudCBmcm9tIHB5dGhvbiAqLworCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKHNlbGYtPnRhYiwgcHltbnRfdGFibGVfcGFyc2VyX2VycmNiKTsKKwltbnRfdGFibGVfc2V0X3VzZXJkYXRhKHNlbGYtPnRhYiwgc2VsZik7CisKKwljYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsJCS8qIFRPRE86IG1ha2UgaXQgb3B0aW9uYWw/ICovCisJaWYgKCFjYWNoZSkKKwkJcmV0dXJuIC0xOworCW1udF90YWJsZV9zZXRfY2FjaGUoc2VsZi0+dGFiLCBjYWNoZSk7CisJbW50X3VucmVmX2NhY2hlKGNhY2hlKTsKKworCXJldHVybiAwOworfQorCisvKiBIYW5kbGVyIGZvciB0aGUgdGFiLT5lcnJjYiBjYWxsYmFjayAqLworaW50IHB5bW50X3RhYmxlX3BhcnNlcl9lcnJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKQoreworCWludCByYyA9IDA7CisJUHlPYmplY3QgKm9iajsKKworCW9iaiA9IG1udF90YWJsZV9nZXRfdXNlcmRhdGEodGIpOworCWlmIChvYmogJiYgKChUYWJsZU9iamVjdCopIG9iaiktPmVycmNiKSB7CisJCVB5T2JqZWN0ICphcmdsaXN0LCAqcmVzdWx0OworCisJCWFyZ2xpc3QgPSBQeV9CdWlsZFZhbHVlKCIoT3NpKSIsIG9iaiwgZmlsZW5hbWUsIGxpbmUpOworCQlpZiAoIWFyZ2xpc3QpCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQkvKiBBIHB5dGhvbiBjYWxsYmFjayB3YXMgc2V0LCBzbyB0YiBpcyBkZWZpbml0ZWx5IGVuY2Fwc3VsYXRlZCBpbiBhbiBvYmplY3QgKi8KKwkJcmVzdWx0ID0gUHlFdmFsX0NhbGxPYmplY3QoKChUYWJsZU9iamVjdCAqKW9iaiktPmVycmNiLCBhcmdsaXN0KTsKKwkJUHlfREVDUkVGKGFyZ2xpc3QpOworCisJCWlmICghcmVzdWx0KQorCQkJcmV0dXJuIC1FSU5WQUw7CisJCWlmICghUHlBcmdfUGFyc2UocmVzdWx0LCAiaSIsICZyYykpCisJCQlyYyA9IC1FSU5WQUw7CisJCVB5X0RFQ1JFRihyZXN1bHQpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK1B5T2JqZWN0ICpQeU9iamVjdFJlc3VsdFRhYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWIpCit7CisJVGFibGVPYmplY3QgKnJlc3VsdDsKKworCWlmICghdGFiKSB7CisJCVB5RXJyX1NldFN0cmluZyhMaWJtb3VudEVycm9yLCAiaW50ZXJuYWwgZXhjZXB0aW9uIik7CisJCXJldHVybiBOVUxMOworCX0KKworCXJlc3VsdCA9IG1udF90YWJsZV9nZXRfdXNlcmRhdGEodGFiKTsKKwlpZiAocmVzdWx0KSB7CisJCVB5X0lOQ1JFRihyZXN1bHQpOworCQlEQkcoVEFCLCBweW1udF9kZWJ1Z19oKHRhYiwgInJlc3VsdCBweS1vYmogJXA6IGFscmVhZHkgZXhpc3RzLCBweS1yZWZjbnQ9JWQiLAorCQkJCXJlc3VsdCwgKGludCkgKChQeU9iamVjdCAqKSByZXN1bHQpLT5vYl9yZWZjbnQpKTsKKwkJcmV0dXJuIChQeU9iamVjdCAqKSByZXN1bHQ7CisJfQorCisJLyogQ3JlYXRpbmcgYW4gZW5jYXBzdWxhdGluZyBvYmplY3Q6IGluY3JlbWVudCB0aGUgcmVmY291bnQsIHNvIHRoYXQKKwkgKiBjb2RlIHN1Y2ggYXM6IGN4dC5nZXRfZnN0YWIoKSBkb2Vzbid0IGNhbGwgdGhlIGRlc3RydWN0b3IsIHdoaWNoCisJICogd291bGQgZnJlZSBvdXIgdGFiIHN0cnVjdCBhcyB3ZWxsCisJICovCisJcmVzdWx0ID0gUHlPYmplY3RfTmV3KFRhYmxlT2JqZWN0LCAmVGFibGVUeXBlKTsKKwlpZiAoIXJlc3VsdCkgeworCQlVTF9SYWlzZUV4YyhFTk9NRU0pOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlQeV9JTkNSRUYocmVzdWx0KTsKKwltbnRfcmVmX3RhYmxlKHRhYik7CisKKwlEQkcoVEFCLCBweW1udF9kZWJ1Z19oKHRhYiwgInJlc3VsdCBweS1vYmogJXAgbmV3LCBweS1yZWZjbnQ9JWQiLAorCQkJCXJlc3VsdCwgKGludCkgKChQeU9iamVjdCAqKSByZXN1bHQpLT5vYl9yZWZjbnQpKTsKKwlyZXN1bHQtPnRhYiA9IHRhYjsKKwlyZXN1bHQtPml0ZXIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfRk9SV0FSRCk7CisJbW50X3RhYmxlX3NldF91c2VyZGF0YShyZXN1bHQtPnRhYiwgcmVzdWx0KTsKKwlyZXN1bHQtPmVycmNiID0gTlVMTDsKKwlyZXR1cm4gKFB5T2JqZWN0ICopIHJlc3VsdDsKK30KKworc3RhdGljIFB5R2V0U2V0RGVmIFRhYmxlX2dldHNldGVyc1tdID0geworCXsibmVudHMiLAkJKGdldHRlcilUYWJsZV9nZXRfbmVudHMsIE5VTEwsICJudW1iZXIgb2YgdmFsaWQgZW50cmllcyBpbiB0YWIiLCBOVUxMfSwKKwl7ImludHJvX2NvbW1lbnQiLAkoZ2V0dGVyKVRhYmxlX2dldF9pbnRyb19jb21tZW50LCAoc2V0dGVyKVRhYmxlX3NldF9pbnRyb19jb21tZW50LCAiZnN0YWIgaW50cm8gY29tbWVudCIsIE5VTEx9LAorCXsidHJhaWxpbmdfY29tbWVudCIsCShnZXR0ZXIpVGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQsIChzZXR0ZXIpVGFibGVfc2V0X3RyYWlsaW5nX2NvbW1lbnQsICJmc3RhYiB0cmFpbGluZyBjb21tZW50IiwgTlVMTH0sCisJeyJlcnJjYiIsCQlOVUxMLCAoc2V0dGVyKVRhYmxlX3NldF9wYXJzZXJfZXJyY2IsICJwYXJzZXIgZXJyb3IgY2FsbGJhY2siLCBOVUxMfSwKKwl7TlVMTH0KK307CisKKworc3RhdGljIFB5T2JqZWN0ICpUYWJsZV9yZXByKFRhYmxlT2JqZWN0ICpzZWxmKQoreworCXJldHVybiBQeVVuaWNvZGVfRnJvbUZvcm1hdCgKKwkJCSI8bGlibW91bnQuVGFibGUgb2JqZWN0IGF0ICVwLCBlbnRyaWVzPSVkLCBjb21tZW50c19lbmFibGVkPSVzLCBlcnJjYj0lcz4iLAorCQkJc2VsZiwKKwkJCW1udF90YWJsZV9nZXRfbmVudHMoc2VsZi0+dGFiKSwKKwkJCW1udF90YWJsZV93aXRoX2NvbW1lbnRzKHNlbGYtPnRhYikgPyAiVHJ1ZSIgOiAiRmFsc2UiLAorCQkJc2VsZi0+ZXJyY2IgPyBweXN0b3MoUHlPYmplY3RfUmVwcihzZWxmLT5lcnJjYikpIDogIk5vbmUiKTsKK30KKworUHlUeXBlT2JqZWN0IFRhYmxlVHlwZSA9IHsKKwlQeVZhck9iamVjdF9IRUFEX0lOSVQoTlVMTCwgMCkKKwkibGlibW91bnQuVGFibGUiLCAvKnRwX25hbWUqLworCXNpemVvZihUYWJsZU9iamVjdCksIC8qdHBfYmFzaWNzaXplKi8KKwkwLCAvKnRwX2l0ZW1zaXplKi8KKwkoZGVzdHJ1Y3RvcilUYWJsZV9kZXN0cnVjdG9yLCAvKnRwX2RlYWxsb2MqLworCU5VTEwsIC8qdHBfcHJpbnQqLworCU5VTEwsIC8qdHBfZ2V0YXR0ciovCisJTlVMTCwgLyp0cF9zZXRhdHRyKi8KKwlOVUxMLCAvKnRwX2NvbXBhcmUqLworCShyZXByZnVuYykgVGFibGVfcmVwciwgLyp0cF9yZXByKi8KKwlOVUxMLCAvKnRwX2FzX251bWJlciovCisJTlVMTCwgLyp0cF9hc19zZXF1ZW5jZSovCisJTlVMTCwgLyp0cF9hc19tYXBwaW5nKi8KKwlOVUxMLCAvKnRwX2hhc2ggKi8KKwlOVUxMLCAvKnRwX2NhbGwqLworCU5VTEwsIC8qdHBfc3RyKi8KKwlOVUxMLCAvKnRwX2dldGF0dHJvKi8KKwlOVUxMLCAvKnRwX3NldGF0dHJvKi8KKwlOVUxMLCAvKnRwX2FzX2J1ZmZlciovCisJUHlfVFBGTEFHU19ERUZBVUxUIHwgUHlfVFBGTEFHU19CQVNFVFlQRSwgLyp0cF9mbGFncyovCisJVGFibGVfSEVMUCwgLyogdHBfZG9jICovCisJTlVMTCwgLyogdHBfdHJhdmVyc2UgKi8KKwlOVUxMLCAvKiB0cF9jbGVhciAqLworCU5VTEwsIC8qIHRwX3JpY2hjb21wYXJlICovCisJMCwgLyogdHBfd2Vha2xpc3RvZmZzZXQgKi8KKwlOVUxMLCAvKiB0cF9pdGVyICovCisJTlVMTCwgLyogdHBfaXRlcm5leHQgKi8KKwlUYWJsZV9tZXRob2RzLCAvKiB0cF9tZXRob2RzICovCisJVGFibGVfbWVtYmVycywgLyogdHBfbWVtYmVycyAqLworCVRhYmxlX2dldHNldGVycywgLyogdHBfZ2V0c2V0ICovCisJTlVMTCwgLyogdHBfYmFzZSAqLworCU5VTEwsIC8qIHRwX2RpY3QgKi8KKwlOVUxMLCAvKiB0cF9kZXNjcl9nZXQgKi8KKwlOVUxMLCAvKiB0cF9kZXNjcl9zZXQgKi8KKwkwLCAvKiB0cF9kaWN0b2Zmc2V0ICovCisJKGluaXRwcm9jKVRhYmxlX2luaXQsIC8qIHRwX2luaXQgKi8KKwlOVUxMLCAvKiB0cF9hbGxvYyAqLworCVRhYmxlX25ldywgLyogdHBfbmV3ICovCit9OworCit2b2lkIFRhYmxlX0FkZE1vZHVsZU9iamVjdChQeU9iamVjdCAqbW9kKQoreworCWlmIChQeVR5cGVfUmVhZHkoJlRhYmxlVHlwZSkgPCAwKQorCQlyZXR1cm47CisKKwlEQkcoVEFCLCBweW1udF9kZWJ1ZygiYWRkIHRvIG1vZHVsZSIpKTsKKworCVB5X0lOQ1JFRigmVGFibGVUeXBlKTsKKwlQeU1vZHVsZV9BZGRPYmplY3QobW9kLCAiVGFibGUiLCAoUHlPYmplY3QgKikmVGFibGVUeXBlKTsKK30KKwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfY29udGV4dC5weSBiL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X2NvbnRleHQucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2FlYTQ0NAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X2NvbnRleHQucHkKQEAgLTAsMCArMSwxNzMgQEAKK2ltcG9ydCBvcworaW1wb3J0IHN5cworaW1wb3J0IHN0YXQKK2ltcG9ydCBlcnJubworCisjIHVzZSAiaW1wb3J0IGxpYm1vdW50IiBmb3IgaW4gYSBzdGFuZGFyZCB3YXkgaW5zdGFsbGVkIHB5dGhvbiBiaW5kaW5nCitpbXBvcnQgcHlsaWJtb3VudCBhcyBtbnQKKworZGVmIHVzYWdlKHRzcyk6CisJcHJpbnQoIlxuVXNhZ2U6XG5cdHs6c30gPHRlc3Q+IFt0ZXN0b3B0aW9uc11cblRlc3RzOlxuIi5mb3JtYXQoc3lzLmFyZ3ZbMF0pKQorCWZvciBpIGluIHRzczoKKwkJcHJpbnQoIlx0ezE1Oi1zfSIuZm9ybWF0KGlbMF0pKQorCQlpZiBpWzJdICE9ICIiOgorCQkJcHJpbnQoIiB7OnN9XG4iLmZvcm1hdChpWzJdKSkKKworCXByaW50KCJcbiIpCisJcmV0dXJuIDEKKworZGVmIG1udF9ydW5fdGVzdCh0c3MsIGFyZ3YpOgorCXJjID0gLTEKKwlpZiAoKGxlbihhcmd2KSA8IDIpIG9yIChhcmd2WzFdID09ICItLWhlbHAiKSBvciAoYXJndlsxXSA9PSAiLWgiKSk6CisJCXJldHVybiB1c2FnZSh0c3MpCisKKwkjbW50X2luaXRfZGVidWcoMCkKKworCWk9KCkKKwlmb3IgaSBpbiB0c3M6CisJCWlmIGlbMF0gPT0gYXJndlsxXToKKwkJCXJjID0gaVsxXShpLCBhcmd2WzE6XSkKKwkJCWlmIHJjOgorCQkJCXByaW50KCJGQUlMRUQgW3JjPXs6ZH1dIi5mb3JtYXQocmMpKQorCQkJYnJlYWsKKworCWlmICgocmMgPCAwKSBhbmQgKGkgPT0gKCkpKToKKwkJcmV0dXJuIHVzYWdlKHRzcykKKwlyZXR1cm4gbm90IG5vdCByYyAjYmVjYXVzZSAhIXJjIGlzIHRvbyBtYWluc3RyZWFtIGZvciBweXRob24KKworZGVmIHRlc3RfbW91bnQodHMsIGFyZ3YpOgorCWlkeCA9IDEKKwlyYyA9IDAKKworCWlmIGxlbihhcmd2KSA8IDI6CisJCXJldHVybiAtZXJybm8uRUlOVkFMCisKKwljeHQgPSBtbnQuQ29udGV4dCgpCisKKwlpZiBhcmd2W2lkeF0gPT0gIi1vIjoKKwkJY3h0Lm9wdGlvbnMgPSBhcmd2W2lkeCsxXQorCQlpZHggKz0gMgorCWlmIGFyZ3ZbaWR4XSA9PSAiLXQiOgorCQljeHQuZnN0eXBlID0gYXJndltpZHgrMV0KKwkJaWR4ICs9IDIKKwlpZiBsZW4oYXJndikgPT0gaWR4ICsgMToKKwkJY3h0LnRhcmdldCA9IGFyZ3ZbaWR4XQorCQlpZHgrPTEKKwllbGlmIChsZW4oYXJndikgPT0gaWR4ICsgMik6CisJCWN4dC5zb3VyY2UgPSBhcmd2W2lkeF0KKwkJaWR4ICs9IDEKKwkJY3h0LnRhcmdldCA9IGFyZ3ZbaWR4XQorCQlpZHggKz0gMQorCisJdHJ5OgorCQljeHQubW91bnQoKQorCWV4Y2VwdCBFeGNlcHRpb246CisJCXByaW50KCJmYWlsZWQgdG8gbW91bnQiKQorCQlyZXR1cm4gLTEKKwlwcmludCgic3VjY2Vzc2Z1bGx5IG1vdW50ZWQiKQorCXJldHVybiByYworCitkZWYgdGVzdF91bW91bnQodHMsIGFyZ3YpOgorCWlkeCA9IDEKKwlyYyA9IDAKKwlpZiBsZW4oYXJndikgPCAyOgorCQlyZXR1cm4gLWVycm5vLkVJTlZBTAorCisJY3h0ID0gbW50LkNvbnRleHQoKQorCisJaWYgYXJndltpZHhdID09ICItdCI6CisJCWN4dC5vcHRpb25zID0gYXJndltpZHgrMV0KKwkJaWR4ICs9IDIKKworCWlmIGFyZ3ZbaWR4XSA9PSAiLWYiOgorCQljeHQuZW5hYmxlX2ZvcmNlKFRydWUpCisKKwlpZiBhcmd2W2lkeF0gPT0gIi1sIjoKKwkJY3h0LmVuYWJsZV9sYXp5KFRydWUpCisJCWlkeCArPSAxCisJZWxpZiBhcmd2W2lkeF0gPT0gICItciI6CisJCWN4dC5lbmFibGVfcmRvbmx5X3Vtb3VudChUcnVlKQorCQlpZHggKz0gMQorCisJaWYgbGVuKGFyZ3YpID09IGlkeCArIDE6CisJCWN4dC50YXJnZXQgPSBhcmd2W2lkeF0KKwkJaWR4ICs9IDEKKwllbHNlOgorCQlyZXR1cm4gLWVycm5vLkVJTlZBTAorCXRyeToKKwkJY3h0LnVtb3VudCgpCisJZXhjZXB0IEV4Y2VwdGlvbjoKKwkJcHJpbnQoImZhaWxlZCB0byB1bW91bnQiKQorCQlyZXR1cm4gMQorCXByaW50KCJzdWNjZXNzZnVsbHkgdW1vdW50ZWQiKQorCXJldHVybiByYworCitkZWYgdGVzdF9mbGFncyh0cywgYXJndik6CisJaWR4ID0gMQorCXJjID0gMAorCW9wdCA9ICIiCisJZmxhZ3MgPSAwCisJY3h0ID0gbW50LkNvbnRleHQoKQorCisJaWYgYXJndltpZHhdID09ICItbyI6CisJCWN4dC5vcHRpb25zID0gYXJndltpZHggKyAxXQorCQlpZHggKz0gMgorCWlmIGxlbihhcmd2KSA9PSBpZHggKyAxOgorCQljeHQudGFyZ2V0ID0gYXJndltpZHhdCisJCWlkeCArPSAxCisKKwl0cnk6CisJCWN4dC5wcmVwYXJlX21vdW50KCkKKwkjIGNhdGNoIGlvZXJyb3IgaGVyZQorCWV4Y2VwdCBJT0Vycm9yIGFzIGU6CisJCXByaW50KCJmYWlsZWQgdG8gcHJlcGFyZSBtb3VudCB7OnN9Ii5mb3JtYXQoZS5zdHJlcnJvcikpCisKKwlvcHQgPSBjeHQuZnMub3B0aW9ucworCWlmIChvcHQpOgorCQlwcmludCgib3B0aW9uczogezpzfSIsIG9wdCkKKworCXByaW50KCJmbGFnczogezA4Omx4fSIuZm9ybWF0KGN4dC5tZmxhZ3MoKSkpCisJcmV0dXJuIHJjCisKK2RlZiB0ZXN0X21vdW50YWxsKHRzLCBhcmd2KToKKwltbnRyYyA9IDEKKwlpZ25vcmVkID0gMQorCWlkeCA9IDEKKwljeHQgPSBtbnQuQ29udGV4dCgpCisKKwlpZiBsZW4oYXJndikgPiAyOgorCQlpZiBhcmd2W2lkeF0gPT0gIi1PIjoKKwkJCWN4dC5vcHRpb25zX3BhdHRlcm4gPSBhcmd2W2lkeCsxXQorCQkJaWR4ICs9IDIKKwkJaWYgYXJndltpZHhdID09ICItdCI6CisJCQljeHQuZnN0eXBlX3BhdHRlcm4gPSBhcmd2W2lkeCsxXQorCQkJaWR4ICs9IDIKKworCWkgPSAoKQorCXdoaWxlIChjeHQubmV4dF9tb3VudCgpKToKKwkJdGd0ID0gaS50YXJnZXQKKwkJaWYgKGlnbm9yZWQgPT0gMSk6CisJCQlwcmludCgiezpzfTogaWdub3JlZDogbm90IG1hdGNoIi5mb3JtYXQodGd0KSkKKwkJZWxpZiAoaWdub3JlZCA9PSAyKToKKwkJCXByaW50KCJ7OnN9OiBpZ25vcmVkOiBhbHJlYWR5IG1vdW50ZWQiLmZvcm1hdCh0Z3QpKQorCQllbGlmIChub3QgY3h0LnN0YXR1cyk6CisJCQlpZiAobW50cmMgPiAwKToKKwkJCQkjID8/IGVycm5vID0gbW50cmMKKwkJCQlwcmludCgiezpzfTogbW91bnQgZmFpbGVkIi5mb3JtYXQodGd0KSkKKwkJCWVsc2U6CisJCQkJcHJpbnQoIns6c306IG1vdW50IGZhaWxlZCIuZm9ybWF0KHRndCkpCisJCWVsc2U6CisJCQlwcmludCgiezpzfTogc3VjY2Vzc2Z1bGx5IG1vdW50ZWQiLmZvcm1hdCh0Z3QpKQorCisJcmV0dXJuIDAKKworCit0c3MgPSAoCisJKCAiLS1tb3VudCIsICB0ZXN0X21vdW50LCAgIlstbyA8b3B0cz5dIFstdCA8dHlwZT5dIDxzcGVjPnw8c3JjPiA8dGFyZ2V0PiIgKSwKKwkoICItLXVtb3VudCIsIHRlc3RfdW1vdW50LCAiWy10IDx0eXBlPl0gWy1mXVstbF1bLXJdIDxzcmM+fDx0YXJnZXQ+IiApLAorCSggIi0tbW91bnQtYWxsIiwgdGVzdF9tb3VudGFsbCwgICJbLU8gPHBhdHRlcm4+XSBbLXQgPHBhdHRlcm5dIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBmcm9tIGZzdGFiIiApLAorCSggIi0tZmxhZ3MiLCB0ZXN0X2ZsYWdzLCAgICJbLW8gPG9wdHM+XSA8c3BlYz4iICkKKykKK29zLnVtYXNrKHN0YXQuU19JV0dSUCB8IHN0YXQuU19JV09USCkgI3RvIGJlIGNvbXBhdGlibGUgd2l0aCBtb3VudCg4KQorCitzeXMuZXhpdChtbnRfcnVuX3Rlc3QodHNzLCBzeXMuYXJndikpCmRpZmYgLS1naXQgYS9saWJtb3VudC9weXRob24vdGVzdF9tb3VudF90YWIucHkgYi9saWJtb3VudC9weXRob24vdGVzdF9tb3VudF90YWIucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWY2M2I5NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X3RhYi5weQpAQCAtMCwwICsxLDE2NCBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgc3RhdAoraW1wb3J0IGVycm5vCitpbXBvcnQgZnVuY3Rvb2xzIGFzIGZ0CisKKyMgdXNlICJpbXBvcnQgbGlibW91bnQiIGZvciBpbiBhIHN0YW5kYXJkIHdheSBpbnN0YWxsZWQgcHl0aG9uIGJpbmRpbmcKK2ltcG9ydCBweWxpYm1vdW50IGFzIG1udAorCitkZWYgdXNhZ2UodHNzKToKKwlwcmludCgiXG5Vc2FnZTpcblx0ezpzfSA8dGVzdD4gW3Rlc3RvcHRpb25zXVxuVGVzdHM6XG4iLmZvcm1hdChzeXMuYXJndlswXSkpCisJZm9yIGkgaW4gdHNzOgorCQlwcmludCgiXHR7MTU6LXN9Ii5mb3JtYXQoaVswXSkpCisJCWlmIGlbMl0gIT0gIiI6CisJCQlwcmludCgiIHs6c31cbiIuZm9ybWF0KGlbMl0pKQorCisJcHJpbnQoIlxuIikKKwlyZXR1cm4gMQorCitkZWYgbW50X3J1bl90ZXN0KHRzcywgYXJndik6CisJcmMgPSAtMQorCWlmICgobGVuKGFyZ3YpIDwgMikgb3IgKGFyZ3ZbMV0gPT0gIi0taGVscCIpIG9yIChhcmd2WzFdID09ICItaCIpKToKKwkJcmV0dXJuIHVzYWdlKHRzcykKKworCSNtbnRfaW5pdF9kZWJ1ZygwKQorCisJaT0oKQorCWZvciBpIGluIHRzczoKKwkJaWYgaVswXSA9PSBhcmd2WzFdOgorCQkJcmMgPSBpWzFdKGksIGFyZ3ZbMTpdKQorCQkJaWYgcmM6CisJCQkJcHJpbnQoIkZBSUxFRCBbcmM9ezpkfV0iLmZvcm1hdChyYykpCisJCQlicmVhaworCisJaWYgKChyYyA8IDApIGFuZCAoaSA9PSAoKSkpOgorCQlyZXR1cm4gdXNhZ2UodHNzKQorCXJldHVybiBub3Qgbm90IHJjICNiZWNhdXNlICEhcmMgaXMgdG9vIG1haW5zdHJlYW0gZm9yIHB5dGhvbgorCitkZWYgcGFyc2VyX2VycmNiKHRiLCBmbmFtZSwgbGluZSk6CisJcHJpbnQoIns6c306ezpkfTogcGFyc2UgZXJyb3IiLmZvcm1hdChmbmFtZSwgbGluZSkpCisJcmV0dXJuIDEKKworZGVmIGNyZWF0ZV90YWJsZShmLCBjb21tZW50cyk6CisJaWYgbm90IGY6CisJCXJldHVybiBOb25lCisKKwl0YiA9IG1udC5UYWJsZSgpCisJdGIuZW5hYmxlX2NvbW1lbnRzKGNvbW1lbnRzKQorCXRiLmVycmNiID0gcGFyc2VyX2VycmNiCisKKwl0cnk6CisJCXRiLnBhcnNlX2ZpbGUoZikKKwlleGNlcHQgRXhjZXB0aW9uOgorCQlwcmludCgiezpzfTogcGFyc2luZyBmYWlsZWQiLmZvcm1hdChmKSkKKwkJcmV0dXJuIE5vbmUKKwlyZXR1cm4gdGIKKworZGVmIHRlc3RfY29weV9mcyh0cywgYXJndik6CisJcmMgPSAtMQorCXRiID0gY3JlYXRlX3RhYmxlKGFyZ3ZbMV0sIEZhbHNlKQorCWZzID0gdGIuZmluZF90YXJnZXQoIi8iLCBtbnQuTU5UX0lURVJfRk9SV0FSRCkKKwlpZiBub3QgZnM6CisJCXJldHVybiByYworCisJcHJpbnQoIk9SSUdJTkFMOiIpCisJZnMucHJpbnRfZGVidWcoKQorCisJZnMgPSBmcy5jb3B5X2ZzKE5vbmUpCisJaWYgbm90IGZzOgorCQlyZXR1cm4gcmMKKwlwcmludCgiQ09QWToiKQorCWZzLnByaW50X2RlYnVnKCkKKwlyZXR1cm4gMAorCitkZWYgdGVzdF9wYXJzZSh0cywgYXJndik6CisJcGFyc2VfY29tbWVudHMgPSBGYWxzZQorCisJaWYgbGVuKGFyZ3YpID09IDMgYW5kIGFyZ3ZbMl0gPT0gIi0tY29tbWVudHMiOgorCQlwYXJzZV9jb21tZW50cyA9IFRydWUKKwl0YiA9IGNyZWF0ZV90YWJsZShhcmd2WzFdLCBwYXJzZV9jb21tZW50cykKKworCWlmIHRiLmludHJvX2NvbW1lbnQ6CisJCXByaW50KCJJbml0aWFsIGNvbW1lbnQ6XG5cIns6c31cIiIuZm9ybWF0KHRiLmludHJvX2NvbW1lbnQpKQorCSN3aGlsZSAoKGZzID0gdGIubmV4dF9mcygpKSAhPSBOb25lKToKKwlmb3IgZnMgaW4gaXRlcihmdC5wYXJ0aWFsKHRiLm5leHRfZnMpLCBOb25lKToKKwkJZnMucHJpbnRfZGVidWcoKQorCWlmIHRiLnRyYWlsaW5nX2NvbW1lbnQ6CisJCXByaW50KCJUcmFpbGluZyBjb21tZW50OlxuXCJ7OnN9XCIiLmZvcm1hdCh0Yi50cmFpbGluZ19jb21tZW50KSkKKwlyZXR1cm4gMAorCitkZWYgdGVzdF9maW5kKHRzLCBhcmd2LCBkcik6CisJaWYgbGVuKGFyZ3YpICE9IDQ6CisJCXByaW50KCJ0cnkgLS1oZWxwIikKKwkJcmV0dXJuIC1lcnJuby5FSU5WQUwKKworCWYsIGZpbmQsIHdoYXQgPSBhcmd2WzE6XQorCisJdGIgPSBjcmVhdGVfdGFibGUoZiwgRmFsc2UpCisJaWYgZmluZC5sb3dlcigpID09ICJzb3VyY2UiOgorCQlmcyA9IHRiLmZpbmRfc291cmNlKHdoYXQsIGRyKQorCWVsaWYgZmluZC5sb3dlcigpID09ICJ0YXJnZXQiOgorCQlmcyA9IHRiLmZpbmRfdGFyZ2V0KHdoYXQsIGRyKQorCisJaWYgbm90IGZzOgorCQlwcmludCgiezpzfTogbm90IGZvdW5kIHs6c30gJ3s6c30nIi5mb3JtYXQoZiwgZmluZCwgd2hhdCkpCisJZWxzZToKKwkJZnMucHJpbnRfZGVidWcoKQorCXJldHVybiAwCisKK2RlZiB0ZXN0X2ZpbmRfZncodHMsIGFyZ3YpOgorCXJldHVybiB0ZXN0X2ZpbmQodHMsIGFyZ3YsIG1udC5NTlRfSVRFUl9GT1JXQVJEKQorCitkZWYgdGVzdF9maW5kX2J3KHRzLCBhcmd2KToKKwlyZXR1cm4gdGVzdF9maW5kKHRzLCBhcmd2LCBtbnQuTU5UX0lURVJfQkFDS1dBUkQpCisKK2RlZiB0ZXN0X2ZpbmRfcGFpcih0cywgYXJndik6CisJcmMgPSAtMQorCXRiID0gY3JlYXRlX3RhYmxlKGFyZ3ZbMV0sIEZhbHNlKQorCWZzID0gdGIuZmluZF9wYWlyKGFyZ3ZbMl0sIGFyZ3ZbM10sIG1udC5NTlRfSVRFUl9GT1JXQVJEKQorCWlmIG5vdCBmczoKKwkJcmV0dXJuIHJjCisJZnMucHJpbnRfZGVidWcoKQorCXJldHVybiAwCisKK2RlZiB0ZXN0X2lzX21vdW50ZWQodHMsIGFyZ3YpOgorCXJjID0gLTEKKwl0YiA9IG1udC5UYWIocGF0aD0iL3Byb2Mvc2VsZi9tb3VudGluZm8iKQorCWlmIG5vdCB0YjoKKwkJcHJpbnQoImZhaWxlZCB0byBwYXJzZSBtb3VudGludG8iKQorCQlyZXR1cm4gcmMKKworCWZzdGFiID0gY3JlYXRlX3RhYmxlKGFyZ3ZbMV0sIEZhbHNlKQorCWlmIG5vdCBmc3RhYjoKKwkJcmV0dXJuIHJjCisJZnMgPSAoKQorCWZvciBmcyBpbiBmdC5pdGVyKHRiLm5leHRfZnMoKSwgLTEpOgorCQlpZiB0Yi5pc19mc19tb3VudGVkKGZzKToKKwkJCXByaW50KCJ7OnN9IGFscmVhZHkgbW91bnRlZCBvbiB7OnN9Ii5mb3JtYXQoZnMuc291cmNlLCBmcy50YXJnZXQpKQorCQllbHNlOgorCQkJcHJpbnQoIns6c30gbm90IG1vdW50ZWQgb24gezpzfSIuZm9ybWF0KGZzLnNvdXJjZSwgZnMudGFyZ2V0KSkKKwlyZXR1cm4gMAorCitkZWYgdGVzdF9maW5kX21vdW50cG9pbnQodHMsIGFyZ3YpOgorCXJjID0gLTEKKwl0YiA9IG1udC5UYWJsZSgiL3Byb2Mvc2VsZi9tb3VudGluZm8iKQorCWlmIG5vdCB0YjoKKwkJcmV0dXJuIHJjCisJZnMgPSB0Yi5maW5kX21vdW50cG9pbnQoYXJndlsxXSwgbW50Lk1OVF9JVEVSX0JBQ0tXQVJEKQorCWlmIG5vdCBmczoKKwkJcmV0dXJuIHJjCisJZnMucHJpbnRfZGVidWcoKQorCXJldHVybiAwCisKKwordHNzID0gKAorCSggIi0tcGFyc2UiLCAgICB0ZXN0X3BhcnNlLCAgICAgICAgIjxmaWxlPiBbLS1jb21tZW50c10gcGFyc2UgYW5kIHByaW50KHRhYiIgKSwKKwkoICItLWZpbmQtZm9yd2FyZCIsICB0ZXN0X2ZpbmRfZncsICI8ZmlsZT4gPHNvdXJjZXx0YXJnZXQ+IDxzdHJpbmc+IiApLAorCSggIi0tZmluZC1iYWNrd2FyZCIsIHRlc3RfZmluZF9idywgIjxmaWxlPiA8c291cmNlfHRhcmdldD4gPHN0cmluZz4iICksCisJKCAiLS1maW5kLXBhaXIiLCAgICAgdGVzdF9maW5kX3BhaXIsICI8ZmlsZT4gPHNvdXJjZT4gPHRhcmdldD4iICksCisJKCAiLS1maW5kLW1vdW50cG9pbnQiLCB0ZXN0X2ZpbmRfbW91bnRwb2ludCwgIjxwYXRoPiIgKSwKKwkoICItLWNvcHktZnMiLCAgICAgICB0ZXN0X2NvcHlfZnMsICI8ZmlsZT4gIGNvcHkgcm9vdCBGUyBmcm9tIHRoZSBmaWxlIiApLAorCSggIi0taXMtbW91bnRlZCIsICAgIHRlc3RfaXNfbW91bnRlZCwgIjxmc3RhYj4gY2hlY2sgd2hhdCBmcm9tIDxmaWxlPiBhcmUgYWxyZWFkeSBtb3VudGVkIiApLAorKQorc3lzLmV4aXQobW50X3J1bl90ZXN0KHRzcywgc3lzLmFyZ3YpKQpkaWZmIC0tZ2l0IGEvbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfdGFiX3VwZGF0ZS5weSBiL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X3RhYl91cGRhdGUucHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYTE2ZTllMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X3RhYl91cGRhdGUucHkKQEAgLTAsMCArMSw1OSBAQAoraW1wb3J0IG9zCitpbXBvcnQgc3lzCitpbXBvcnQgc3RhdAoraW1wb3J0IGVycm5vCisKKyMgdXNlICJpbXBvcnQgbGlibW91bnQiIGZvciBpbiBhIHN0YW5kYXJkIHdheSBpbnN0YWxsZWQgcHl0aG9uIGJpbmRpbmcKK2ltcG9ydCBweWxpYm1vdW50IGFzIG1udAorCitkZWYgdXNhZ2UodHNzKToKKwlwcmludCgiXG5Vc2FnZTpcblx0ezpzfSA8dGVzdD4gW3Rlc3RvcHRpb25zXVxuVGVzdHM6XG4iLmZvcm1hdChzeXMuYXJndlswXSkpCisJZm9yIGkgaW4gdHNzOgorCQlwcmludCgiXHR7MTU6LXN9Ii5mb3JtYXQoaVswXSkpCisJCWlmIGlbMl0gIT0gIiI6CisJCQlwcmludCgiIHs6c31cbiIuZm9ybWF0KGlbMl0pKQorCisJcHJpbnQoIlxuIikKKwlyZXR1cm4gMQorCitkZWYgbW50X3J1bl90ZXN0KHRzcywgYXJndik6CisJcmMgPSAtMQorCWlmICgobGVuKGFyZ3YpIDwgMikgb3IgKGFyZ3ZbMV0gPT0gIi0taGVscCIpIG9yIChhcmd2WzFdID09ICItaCIpKToKKwkJcmV0dXJuIHVzYWdlKHRzcykKKworCSNtbnRfaW5pdF9kZWJ1ZygwKQorCisJaT0oKQorCWZvciBpIGluIHRzczoKKwkJaWYgaVswXSA9PSBhcmd2WzFdOgorCQkJcmMgPSBpWzFdKGksIGFyZ3ZbMTpdKQorCQkJaWYgcmM6CisJCQkJcHJpbnQoIkZBSUxFRCBbcmM9ezpkfV0iLmZvcm1hdChyYykpCisJCQlicmVhaworCisJaWYgKChyYyA8IDApIGFuZCAoaSA9PSAoKSkpOgorCQlyZXR1cm4gdXNhZ2UodHNzKQorCXJldHVybiBub3Qgbm90IHJjICNiZWNhdXNlICEhcmMgaXMgdG9vIG1haW5zdHJlYW0gZm9yIHB5dGhvbgorCitkZWYgdGVzdF9yZXBsYWNlKHRzLCBhcmd2KToKKwlmcyA9IG1udC5GcygpCisJdGIgPSBtbnQuVGFibGUoKQorCisJaWYgKGxlbihhcmd2KSA8IDMpOgorCQlyZXR1cm4gLTEKKwl0Yi5lbmFibGVfY29tbWVudHMoVHJ1ZSkKKwl0Yi5wYXJzZV9mc3RhYigpCisKKwlmcy5zb3VyY2UgPSBhcmd2WzFdCisJZnMudGFyZ2V0ID0gYXJndlsyXQorCSNUT0RPOiByZXNvbHZlIE5vbmUgKyBzdHJpbmcKKwlmcy5jb21tZW50ID0gIiMgdGhpcyBpcyBuZXcgZmlsZXN5c3RlbVxuIgorCXRiLmFkZF9mcyhmcykKKwl0Yi5yZXBsYWNlX2ZpbGUob3MuZW52aXJvblsiTElCTU9VTlRfRlNUQUIiXSkKKwlyZXR1cm4gMAorCit0c3MgPSAoCisJKCAiLS1yZXBsYWNlIix0ZXN0X3JlcGxhY2UsICI8c3JjPiA8dGFyZ2V0PiAgICAgICAgICAgICAgICBBZGQgYSBsaW5lIHRvIExJQk1PVU5UX0ZTVEFCIGFuZCByZXBsYWNlIHRoZSBvcmlnaW5hbCBmaWxlIiApLAorKQorCitzeXMuZXhpdChtbnRfcnVuX3Rlc3QodHNzLCBzeXMuYXJndikpCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvLmdpdGlnbm9yZSBiL2xpYm1vdW50L3NyYy8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkYWEwYmQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvLmdpdGlnbm9yZQpAQCAtMCwwICsxIEBACitsaWJtb3VudC5oCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvTWFrZW1vZHVsZS5hbSBiL2xpYm1vdW50L3NyYy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1OWI5OGIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDE2NiBAQAorCisjIGxpYm1vdW50LmggaXMgZ2VuZXJhdGVkLCBzbyBpdCdzIHN0b3JlIGluIGJ1aWxkZGlyIQorbW91bnRpbmNkaXIgPSAkKGluY2x1ZGVkaXIpL2xpYm1vdW50Citub2Rpc3RfbW91bnRpbmNfSEVBREVSUyA9IGxpYm1vdW50L3NyYy9saWJtb3VudC5oCisKK3VzcmxpYl9leGVjX0xUTElCUkFSSUVTICs9IGxpYm1vdW50LmxhCitsaWJtb3VudF9sYV9TT1VSQ0VTID0gXAorCWluY2x1ZGUvbGlzdC5oIFwKKwlsaWIvbW9ub3RvbmljLmMgXAorCVwKKwlsaWJtb3VudC9zcmMvbW91bnRQLmggXAorCWxpYm1vdW50L3NyYy9jYWNoZS5jIFwKKwlsaWJtb3VudC9zcmMvZnMuYyBcCisJbGlibW91bnQvc3JjL2luaXQuYyBcCisJbGlibW91bnQvc3JjL2l0ZXIuYyBcCisJbGlibW91bnQvc3JjL2xvY2suYyBcCisJbGlibW91bnQvc3JjL29wdG1hcC5jIFwKKwlsaWJtb3VudC9zcmMvb3B0c3RyLmMgXAorCWxpYm1vdW50L3NyYy90YWIuYyBcCisJbGlibW91bnQvc3JjL3RhYl9kaWZmLmMgXAorCWxpYm1vdW50L3NyYy90YWJfcGFyc2UuYyBcCisJbGlibW91bnQvc3JjL3RhYl91cGRhdGUuYyBcCisJbGlibW91bnQvc3JjL3Rlc3QuYyBcCisJbGlibW91bnQvc3JjL3V0aWxzLmMgXAorCWxpYm1vdW50L3NyYy92ZXJzaW9uLmMKKworaWYgTElOVVgKK2xpYm1vdW50X2xhX1NPVVJDRVMgKz0gXAorCWxpYm1vdW50L3NyYy9jb250ZXh0LmMgXAorCWxpYm1vdW50L3NyYy9jb250ZXh0X2xvb3BkZXYuYyBcCisJbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYyBcCisJbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmMgXAorCWxpYm1vdW50L3NyYy9tb25pdG9yLmMKKworaWYgSEFWRV9CVFJGUworbGlibW91bnRfbGFfU09VUkNFUyArPSBsaWJtb3VudC9zcmMvYnRyZnMuYworZW5kaWYKKworZW5kaWYgIyBMSU5VWAorCisKK2xpYm1vdW50X2xhX0xJQkFERCA9IFwKKwlsaWJjb21tb24ubGEgXAorCWxpYmJsa2lkLmxhIFwKKwkkKFNFTElOVVhfTElCUykgXAorCSQoUkVBTFRJTUVfTElCUykKKworbGlibW91bnRfbGFfQ0ZMQUdTID0gXAorCSQoQU1fQ0ZMQUdTKSBcCisJJChTT0xJQl9DRkxBR1MpIFwKKwktSSQodWxfbGliYmxraWRfaW5jZGlyKSBcCisJLUkkKHVsX2xpYm1vdW50X2luY2RpcikgXAorCS1JJCh0b3Bfc3JjZGlyKS9saWJtb3VudC9zcmMKKworRVhUUkFfbGlibW91bnRfbGFfREVQRU5ERU5DSUVTID0gXAorCWxpYm1vdW50L3NyYy9saWJtb3VudC5zeW0KKworbGlibW91bnRfbGFfTERGTEFHUyA9ICQoU09MSUJfTERGTEFHUykKK2lmIEhBVkVfVlNDUklQVAorbGlibW91bnRfbGFfTERGTEFHUyArPSAkKFZTQ1JJUFRfTERGTEFHUyksJCh0b3Bfc3JjZGlyKS9saWJtb3VudC9zcmMvbGlibW91bnQuc3ltCitlbmRpZgorbGlibW91bnRfbGFfTERGTEFHUyArPSAtdmVyc2lvbi1pbmZvICQoTElCTU9VTlRfVkVSU0lPTl9JTkZPKQorCisKK0VYVFJBX0RJU1QgKz0gXAorCWxpYm1vdW50L3NyYy9saWJtb3VudC5zeW0KKworaWYgQlVJTERfTElCTU9VTlRfVEVTVFMKK2NoZWNrX1BST0dSQU1TICs9IFwKKwl0ZXN0X21vdW50X2NhY2hlIFwKKwl0ZXN0X21vdW50X2xvY2sgXAorCXRlc3RfbW91bnRfb3B0c3RyIFwKKwl0ZXN0X21vdW50X3RhYiBcCisJdGVzdF9tb3VudF90YWJfZGlmZiBcCisJdGVzdF9tb3VudF90YWJfdXBkYXRlIFwKKwl0ZXN0X21vdW50X3V0aWxzIFwKKwl0ZXN0X21vdW50X3ZlcnNpb24gXAorCXRlc3RfbW91bnRfZGVidWcKK2lmIExJTlVYCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X21vdW50X2NvbnRleHQKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfbW91bnRfbW9uaXRvcgorZW5kaWYKKworbGlibW91bnRfdGVzdHNfY2ZsYWdzICA9IC1EVEVTVF9QUk9HUkFNICQobGlibW91bnRfbGFfQ0ZMQUdTKSAkKE5PX1VOVVNFRF9XQVJOX0NGTEFHUykKK2xpYm1vdW50X3Rlc3RzX2xkZmxhZ3MgPSBsaWJibGtpZC5sYSAtc3RhdGljCitsaWJtb3VudF90ZXN0c19sZGFkZCAgID0gbGlibW91bnQubGEgJChMREFERCkgJChSRUFMVElNRV9MSUJTKQorCitpZiBIQVZFX1NFTElOVVgKK2xpYm1vdW50X3Rlc3RzX2xkYWRkICs9ICQoU0VMSU5VWF9MSUJTKQorZW5kaWYKKwordGVzdF9tb3VudF9jYWNoZV9TT1VSQ0VTID0gbGlibW91bnQvc3JjL2NhY2hlLmMKK3Rlc3RfbW91bnRfY2FjaGVfQ0ZMQUdTID0gJChsaWJtb3VudF90ZXN0c19jZmxhZ3MpCit0ZXN0X21vdW50X2NhY2hlX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X2NhY2hlX0xEQUREID0gJChsaWJtb3VudF90ZXN0c19sZGFkZCkKKwordGVzdF9tb3VudF9jb250ZXh0X1NPVVJDRVMgPSBsaWJtb3VudC9zcmMvY29udGV4dC5jCit0ZXN0X21vdW50X2NvbnRleHRfQ0ZMQUdTID0gJChsaWJtb3VudF90ZXN0c19jZmxhZ3MpCit0ZXN0X21vdW50X2NvbnRleHRfTERGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfbGRmbGFncykKK3Rlc3RfbW91bnRfY29udGV4dF9MREFERCA9ICQobGlibW91bnRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfbW91bnRfbG9ja19TT1VSQ0VTID0gbGlibW91bnQvc3JjL2xvY2suYwordGVzdF9tb3VudF9sb2NrX0NGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfY2ZsYWdzKQordGVzdF9tb3VudF9sb2NrX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X2xvY2tfTERBREQgPSAkKGxpYm1vdW50X3Rlc3RzX2xkYWRkKQorCit0ZXN0X21vdW50X29wdHN0cl9TT1VSQ0VTID0gbGlibW91bnQvc3JjL29wdHN0ci5jCit0ZXN0X21vdW50X29wdHN0cl9DRkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2NmbGFncykKK3Rlc3RfbW91bnRfb3B0c3RyX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X29wdHN0cl9MREFERCA9ICQobGlibW91bnRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfbW91bnRfdGFiX1NPVVJDRVMgPSBsaWJtb3VudC9zcmMvdGFiLmMKK3Rlc3RfbW91bnRfdGFiX0NGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfY2ZsYWdzKQordGVzdF9tb3VudF90YWJfTERGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfbGRmbGFncykKK3Rlc3RfbW91bnRfdGFiX0xEQUREID0gJChsaWJtb3VudF90ZXN0c19sZGFkZCkKKwordGVzdF9tb3VudF90YWJfZGlmZl9TT1VSQ0VTID0gbGlibW91bnQvc3JjL3RhYl9kaWZmLmMKK3Rlc3RfbW91bnRfdGFiX2RpZmZfQ0ZMQUdTID0gJChsaWJtb3VudF90ZXN0c19jZmxhZ3MpCit0ZXN0X21vdW50X3RhYl9kaWZmX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X3RhYl9kaWZmX0xEQUREID0gJChsaWJtb3VudF90ZXN0c19sZGFkZCkKKwordGVzdF9tb3VudF9tb25pdG9yX1NPVVJDRVMgPSBsaWJtb3VudC9zcmMvbW9uaXRvci5jCit0ZXN0X21vdW50X21vbml0b3JfQ0ZMQUdTID0gJChsaWJtb3VudF90ZXN0c19jZmxhZ3MpCit0ZXN0X21vdW50X21vbml0b3JfTERGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfbGRmbGFncykKK3Rlc3RfbW91bnRfbW9uaXRvcl9MREFERCA9ICQobGlibW91bnRfdGVzdHNfbGRhZGQpCisKK3Rlc3RfbW91bnRfdGFiX3VwZGF0ZV9TT1VSQ0VTID0gbGlibW91bnQvc3JjL3RhYl91cGRhdGUuYwordGVzdF9tb3VudF90YWJfdXBkYXRlX0NGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfY2ZsYWdzKQordGVzdF9tb3VudF90YWJfdXBkYXRlX0xERkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2xkZmxhZ3MpCit0ZXN0X21vdW50X3RhYl91cGRhdGVfTERBREQgPSAkKGxpYm1vdW50X3Rlc3RzX2xkYWRkKQorCit0ZXN0X21vdW50X3V0aWxzX1NPVVJDRVMgPSBsaWJtb3VudC9zcmMvdXRpbHMuYwordGVzdF9tb3VudF91dGlsc19DRkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2NmbGFncykKK3Rlc3RfbW91bnRfdXRpbHNfTERGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfbGRmbGFncykKK3Rlc3RfbW91bnRfdXRpbHNfTERBREQgPSAkKGxpYm1vdW50X3Rlc3RzX2xkYWRkKQorCit0ZXN0X21vdW50X3ZlcnNpb25fU09VUkNFUyA9IGxpYm1vdW50L3NyYy92ZXJzaW9uLmMKK3Rlc3RfbW91bnRfdmVyc2lvbl9DRkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2NmbGFncykKK3Rlc3RfbW91bnRfdmVyc2lvbl9MREZMQUdTID0gJChsaWJtb3VudF90ZXN0c19sZGZsYWdzKQordGVzdF9tb3VudF92ZXJzaW9uX0xEQUREID0gJChsaWJtb3VudF90ZXN0c19sZGFkZCkKKwordGVzdF9tb3VudF9kZWJ1Z19TT1VSQ0VTID0gbGlibW91bnQvc3JjL2luaXQuYwordGVzdF9tb3VudF9kZWJ1Z19DRkxBR1MgPSAkKGxpYm1vdW50X3Rlc3RzX2NmbGFncykKK3Rlc3RfbW91bnRfZGVidWdfTERGTEFHUyA9ICQobGlibW91bnRfdGVzdHNfbGRmbGFncykKK3Rlc3RfbW91bnRfZGVidWdfTERBREQgPSAkKGxpYm1vdW50X3Rlc3RzX2xkYWRkKQorCitlbmRpZiAjIEJVSUxEX0xJQk1PVU5UX1RFU1RTCisKKworIyBtb3ZlIGxpYiBmcm9tICQodXNybGliX2V4ZWNkaXIpIHRvICQobGliZGlyKSBpZiBuZWVkZWQKK2luc3RhbGwtZXhlYy1ob29rLWxpYm1vdW50OgorCWlmIHRlc3QgIiQodXNybGliX2V4ZWNkaXIpIiAhPSAiJChsaWJkaXIpIiAtYSAtZiAiJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYm1vdW50LnNvIjsgdGhlbiBcCisJCSQoTUtESVJfUCkgJChERVNURElSKSQobGliZGlyKTsgXAorCQltdiAkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikvbGlibW91bnQuc28uKiAkKERFU1RESVIpJChsaWJkaXIpOyBcCisJCXNvX2ltZ19uYW1lPSQkKHJlYWRsaW5rICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKS9saWJtb3VudC5zbyk7IFwKKwkJc29faW1nX3JlbF90YXJnZXQ9JCQoZWNobyAkKHVzcmxpYl9leGVjZGlyKSB8IHNlZCAncyxcKF4vXHxcKVteL11bXi9dKiwuLixnJyk7IFwKKwkJKGNkICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKSAmJiBcCisJCQlybSAtZiBsaWJtb3VudC5zbyAmJiBcCisJCQkkKExOX1MpICQkc29faW1nX3JlbF90YXJnZXQkKGxpYmRpcikvJCRzb19pbWdfbmFtZSBsaWJtb3VudC5zbyk7IFwKKwlmaQorCit1bmluc3RhbGwtaG9vay1saWJtb3VudDoKKwlybSAtZiAkKERFU1RESVIpJChsaWJkaXIpL2xpYm1vdW50LnNvKgorCitJTlNUQUxMX0VYRUNfSE9PS1MgKz0gaW5zdGFsbC1leGVjLWhvb2stbGlibW91bnQKK1VOSU5TVEFMTF9IT09LUyArPSB1bmluc3RhbGwtaG9vay1saWJtb3VudApkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL2J0cmZzLmMgYi9saWJtb3VudC9zcmMvYnRyZnMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MTU2N2U0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2J0cmZzLmMKQEAgLTAsMCArMSwxNzAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgRGF2aWQgU3RlcmJhIDxkc3RlcmJhQHN1c2UuY3o+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgorICoKKyAqIEJhc2VkIG9uIGtlcm5lbCBjdHJlZS5oLCByYnRyZWUuaCBhbmQgYnRyZnMtcHJvZ3MuCisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPGxpbnV4L2J0cmZzLmg+CisKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIKKworCisvKiBsaW51eC9idHJmcy5oIGxhY2tzIGxhcmdlIHBhcnRzIG9mIHN0dWZmIG5lZWRlZCBmb3IgZ2V0dGluZyBkZWZhdWx0CisgKiBzdWItdm9sdW1lLiBTdXBwb3NlIHRoYXQgaWYgQlRSRlNfRElSX0lURU1fS0VZIGlzIG5vdCBkZWZpbmVkLCBhbGwKKyAqIGRlY2xhcmF0aW9ucyBhcmUgc3RpbGwgbWlzc2luZy4KKyAqLworI2lmbmRlZiBCVFJGU19ESVJfSVRFTV9LRVkKKworLyoKKyAqIGRpciBpdGVtcyBhcmUgdGhlIG5hbWUgLT4gaW5vZGUgcG9pbnRlcnMgaW4gYSBkaXJlY3RvcnkuICBUaGVyZSBpcyBvbmUKKyAqIGZvciBldmVyeSBuYW1lIGluIGEgZGlyZWN0b3J5LgorICovCisjZGVmaW5lIEJUUkZTX0RJUl9JVEVNX0tFWQk4NAorCisvKiBob2xkcyBwb2ludGVycyB0byBhbGwgb2YgdGhlIHRyZWUgcm9vdHMgKi8KKyNkZWZpbmUgQlRSRlNfUk9PVF9UUkVFX09CSkVDVElEIDFVTEwKKworLyogZGlyZWN0b3J5IG9iamVjdGlkIGluc2lkZSB0aGUgcm9vdCB0cmVlICovCisjZGVmaW5lIEJUUkZTX1JPT1RfVFJFRV9ESVJfT0JKRUNUSUQgNlVMTAorCisvKgorICogdGhlIGtleSBkZWZpbmVzIHRoZSBvcmRlciBpbiB0aGUgdHJlZSwgYW5kIHNvIGl0IGFsc28gZGVmaW5lcyAob3B0aW1hbCkKKyAqIGJsb2NrIGxheW91dC4gIG9iamVjdGlkIGNvcnJlc3BvbmRzIHdpdGggdGhlIGlub2RlIG51bWJlci4gIFRoZSBmbGFncworICogdGVsbHMgdXMgdGhpbmdzIGFib3V0IHRoZSBvYmplY3QsIGFuZCBpcyBhIGtpbmQgb2Ygc3RyZWFtIHNlbGVjdG9yLgorICogc28gZm9yIGEgZ2l2ZW4gaW5vZGUsIGtleXMgd2l0aCBmbGFncyBvZiAxIG1pZ2h0IHJlZmVyIHRvIHRoZSBpbm9kZQorICogZGF0YSwgZmxhZ3Mgb2YgMiBtYXkgcG9pbnQgdG8gZmlsZSBkYXRhIGluIHRoZSBidHJlZSBhbmQgZmxhZ3MgPT0gMworICogbWF5IHBvaW50IHRvIGV4dGVudHMuCisgKgorICogb2Zmc2V0IGlzIHRoZSBzdGFydGluZyBieXRlIG9mZnNldCBmb3IgdGhpcyBrZXkgaW4gdGhlIHN0cmVhbS4KKyAqCisgKiBidHJmc19kaXNrX2tleSBpcyBpbiBkaXNrIGJ5dGUgb3JkZXIuICBzdHJ1Y3QgYnRyZnNfa2V5IGlzIGFsd2F5cworICogaW4gY3B1IG5hdGl2ZSBvcmRlci4gIE90aGVyd2lzZSB0aGV5IGFyZSBpZGVudGljYWwgYW5kIHRoZWlyIHNpemVzCisgKiBzaG91bGQgYmUgdGhlIHNhbWUgKGllIGJvdGggcGFja2VkKQorICovCitzdHJ1Y3QgYnRyZnNfZGlza19rZXkgeworCXVpbnQ2NF90IG9iamVjdGlkOyAvKiBsaXR0bGUgZW5kaWFuICovCisJdWludDhfdCB0eXBlOworCXVpbnQ2NF90IG9mZnNldDsgLyogbGl0dGxlIGVuZGlhbiAqLworfSBfX2F0dHJpYnV0ZV9fICgoX19wYWNrZWRfXykpOworCitzdHJ1Y3QgYnRyZnNfZGlyX2l0ZW0geworCXN0cnVjdCBidHJmc19kaXNrX2tleSBsb2NhdGlvbjsKKwl1aW50NjRfdCB0cmFuc2lkOyAvKiBsaXR0bGUgZW5kaWFuICovCisJdWludDE2X3QgZGF0YV9sZW47IC8qIGxpdHRsZSBlbmRpYW4gKi8KKwl1aW50MTZfdCBuYW1lX2xlbjsgLyogbGl0dGxlIGVuZGlhbiAqLworCXVpbnQ4X3QgdHlwZTsKK30gX19hdHRyaWJ1dGVfXyAoKF9fcGFja2VkX18pKTsKKworI2RlZmluZSBCVFJGU19TRVRHRVRfU1RBQ0tfRlVOQ1MobmFtZSwgdHlwZSwgbWVtYmVyLCBiaXRzKQkJXAorc3RhdGljIGlubGluZSB1aW50IyNiaXRzIyNfdCBidHJmc18jI25hbWUoY29uc3QgdHlwZSAqcykJCVwKK3sJCQkJCQkJCQlcCisJcmV0dXJuIGxlIyNiaXRzIyNfdG9fY3B1KHMtPm1lbWJlcik7CQkJCVwKK30KKworLyogc3RydWN0IGJ0cmZzX2Rpc2tfa2V5ICovCitCVFJGU19TRVRHRVRfU1RBQ0tfRlVOQ1MoZGlza19rZXlfb2JqZWN0aWQsIHN0cnVjdCBidHJmc19kaXNrX2tleSwKKwkJCSBvYmplY3RpZCwgNjQpCisKK0JUUkZTX1NFVEdFVF9TVEFDS19GVU5DUyhzdGFja19kaXJfbmFtZV9sZW4sIHN0cnVjdCBidHJmc19kaXJfaXRlbSwgbmFtZV9sZW4sIDE2KQorCisvKgorICBSZWQgQmxhY2sgVHJlZXMKKyovCitzdHJ1Y3QgcmJfbm9kZSB7CisJdW5zaWduZWQgbG9uZyAgX19yYl9wYXJlbnRfY29sb3I7CisJc3RydWN0IHJiX25vZGUgKnJiX3JpZ2h0OworCXN0cnVjdCByYl9ub2RlICpyYl9sZWZ0OworfSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkKHNpemVvZihsb25nKSkpKTsKKyAgICAvKiBUaGUgYWxpZ25tZW50IG1pZ2h0IHNlZW0gcG9pbnRsZXNzLCBidXQgYWxsZWdlZGx5IENSSVMgbmVlZHMgaXQgKi8KKworI2VuZGlmIC8qIEJUUkZTX0RJUl9JVEVNX0tFWSAqLworCisvKgorICogYnRyZnNfZ2V0X2RlZmF1bHRfc3Vidm9sX2lkOgorICogQHBhdGg6IFBhdGggdG8gbW91bnRlZCBidHJmcyB2b2x1bWUKKyAqCisgKiBTZWFyY2hlcyBmb3IgdGhlIGJ0cmZzIGRlZmF1bHQgc3Vidm9sdW1lIGlkLgorICoKKyAqIFJldHVybnM6IGRlZmF1bHQgc3Vidm9sdW1lIGlkIG9yIFVJTlQ2NF9NQVggKC0xKSBpbiBjYXNlIG9mIG5vCisgKiBkZWZhdWx0IHN1YnZvbHVtZSBvciBlcnJvci4gSW4gY2FzZSBvZiBlcnJvciwgZXJybm8gaXMgc2V0CisgKiBwcm9wZXJseS4KKyAqLwordWludDY0X3QgYnRyZnNfZ2V0X2RlZmF1bHRfc3Vidm9sX2lkKGNvbnN0IGNoYXIgKnBhdGgpCit7CisJaW50IGlvY3JldDsKKwlpbnQgZmQ7CisJRElSICpkaXJzdHJlYW07CisJc3RydWN0IGJ0cmZzX2lvY3RsX3NlYXJjaF9hcmdzIGFyZ3M7CisJc3RydWN0IGJ0cmZzX2lvY3RsX3NlYXJjaF9rZXkgKnNrID0gJmFyZ3Mua2V5OworCXN0cnVjdCBidHJmc19pb2N0bF9zZWFyY2hfaGVhZGVyICpzaDsKKwl1aW50NjRfdCBmb3VuZCA9IFVJTlQ2NF9NQVg7CisKKwlkaXJzdHJlYW0gPSBvcGVuZGlyKHBhdGgpOworCWlmICghZGlyc3RyZWFtKSB7CisJCURCRyhCVFJGUywgdWxfZGVidWcoIm9wZW5kaXIoKSBmYWlsZWQgZm9yIFwiJXNcIiBbZXJybm89JWQgJW1dIiwgcGF0aCwgZXJybm8pKTsKKwkJcmV0dXJuIFVJTlQ2NF9NQVg7CisJfQorCWZkID0gZGlyZmQoZGlyc3RyZWFtKTsKKwlpZiAoZmQgPCAwKSB7CisJCURCRyhCVFJGUywgdWxfZGVidWcoImRpcmZkKG9wZW5kaXIoKSkgZmFpbGVkIGZvciBcIiVzXCIgW2Vycm5vPSVkICVtXSIsIHBhdGgsIGVycm5vKSk7CisJCWdvdG8gb3V0OworCX0KKworCW1lbXNldCgmYXJncywgMCwgc2l6ZW9mKGFyZ3MpKTsKKwlzay0+dHJlZV9pZCA9IEJUUkZTX1JPT1RfVFJFRV9PQkpFQ1RJRDsKKwlzay0+bWluX29iamVjdGlkID0gQlRSRlNfUk9PVF9UUkVFX0RJUl9PQkpFQ1RJRDsKKwlzay0+bWF4X29iamVjdGlkID0gQlRSRlNfUk9PVF9UUkVFX0RJUl9PQkpFQ1RJRDsKKwlzay0+bWluX3R5cGUgPSBCVFJGU19ESVJfSVRFTV9LRVk7CisJc2stPm1heF90eXBlID0gQlRSRlNfRElSX0lURU1fS0VZOworCXNrLT5tYXhfb2Zmc2V0ID0gVUlOVDY0X01BWDsKKwlzay0+bWF4X3RyYW5zaWQgPSBVSU5UNjRfTUFYOworCXNrLT5ucl9pdGVtcyA9IDE7CisKKwlpb2NyZXQgPSBpb2N0bChmZCwgQlRSRlNfSU9DX1RSRUVfU0VBUkNILCAmYXJncyk7CisJaWYgKGlvY3JldCA8IDApIHsKKwkJREJHKEJUUkZTLCB1bF9kZWJ1ZygiaW9jdGwoKSBmYWlsZWQgZm9yIFwiJXNcIiBbZXJybm89JWQgJW1dIiwgcGF0aCwgZXJybm8pKTsKKwkJZ290byBvdXQ7CisJfQorCisJLyogdGhlIGlvY3RsIHJldHVybnMgdGhlIG51bWJlciBvZiBpdGVtcyBpdCBmb3VuZCBpbiBucl9pdGVtcyAqLworCWlmIChzay0+bnJfaXRlbXMgPT0gMCkgeworCQlEQkcoQlRSRlMsIHVsX2RlYnVnKCJyb290IHRyZWUgZGlyIG9iamVjdCBpZCBub3QgZm91bmQiKSk7CisJCWdvdG8gb3V0OworCX0KKwlEQkcoQlRSRlMsIHVsX2RlYnVnKCJmb3VuZCAlZCByb290IHRyZWUgZGlyIG9iamVjdCBpZCBpdGVtcyIsIHNrLT5ucl9pdGVtcykpOworCisJc2ggPSAoc3RydWN0IGJ0cmZzX2lvY3RsX3NlYXJjaF9oZWFkZXIgKilhcmdzLmJ1ZjsKKworCWlmIChzaC0+dHlwZSA9PSBCVFJGU19ESVJfSVRFTV9LRVkpIHsKKwkJc3RydWN0IGJ0cmZzX2Rpcl9pdGVtICpkaTsKKwkJaW50IG5hbWVfbGVuOworCQljaGFyICpuYW1lOworCisJCWRpID0gKHN0cnVjdCBidHJmc19kaXJfaXRlbSAqKShzaCArIDEpOworCQluYW1lX2xlbiA9IGJ0cmZzX3N0YWNrX2Rpcl9uYW1lX2xlbihkaSk7CisJCW5hbWUgPSAoY2hhciAqKShkaSArIDEpOworCisJCWlmICghc3RybmNtcCgiZGVmYXVsdCIsIG5hbWUsIG5hbWVfbGVuKSkgeworCQkJZm91bmQgPSBidHJmc19kaXNrX2tleV9vYmplY3RpZCgmZGktPmxvY2F0aW9uKTsKKwkJCURCRyhCVFJGUywgdWxfZGVidWcoIlwiZGVmYXVsdFwiIGlkIGlzICVsbHUiLCAodW5zaWduZWQgbG9uZyBsb25nKWZvdW5kKSk7CisJCX0gZWxzZSB7CisJCQlEQkcoQlRSRlMsIHVsX2RlYnVnKCJcImRlZmF1bHRcIiBpZCBub3QgZm91bmQgaW4gdHJlZSByb290IikpOworCQkJZ290byBvdXQ7CisJCX0KKwl9IGVsc2UgeworCQlEQkcoQlRSRlMsIHVsX2RlYnVnKCJ1bmV4cGVjdGVkIHR5cGUgZm91bmQ6ICVkIiwgKGludClzaC0+dHlwZSkpOworCQlnb3RvIG91dDsKKwl9CisKK291dDoKKwljbG9zZWRpcihkaXJzdHJlYW0pOworCXJldHVybiBmb3VuZDsKK30KZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9jYWNoZS5jIGIvbGlibW91bnQvc3JjL2NhY2hlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjUyY2E4MAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9jYWNoZS5jCkBAIC0wLDAgKzEsODMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5LTIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IGNhY2hlCisgKiBAdGl0bGU6IENhY2hlCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHBhdGhzIGFuZCB0YWdzIChVVUlEL0xBQkVMKSBjYWNoaW5nCisgKgorICogVGhlIGNhY2hlIGlzIGEgdmVyeSBzaW1wbGUgQVBJIGZvciB3b3JraW5nIHdpdGggdGFncyAoTEFCRUwsIFVVSUQsIC4uLikgYW5kCisgKiBwYXRocy4gVGhlIGNhY2hlIHVzZXMgbGliYmxraWQgYXMgYSBiYWNrZW5kIGZvciBUQUdzIHJlc29sdXRpb24uCisgKgorICogQWxsIHJldHVybmVkIHBhdGhzIGFyZSBhbHdheXMgY2Fub25pY2FsaXplZC4KKyAqLworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJsb29wZGV2LmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworLyoKKyAqIENhbm9uaWNhbGl6ZWQgKHJlc29sdmVkKSBwYXRocyAmIHRhZ3MgY2FjaGUKKyAqLworI2RlZmluZSBNTlRfQ0FDSEVfQ0hVTktTWgkxMjgKKworI2RlZmluZSBNTlRfQ0FDSEVfSVNUQUcJCSgxIDw8IDEpIC8qIGVudHJ5IGlzIFRBRyAqLworI2RlZmluZSBNTlRfQ0FDSEVfSVNQQVRICSgxIDw8IDIpIC8qIGVudHJ5IGlzIHBhdGggKi8KKyNkZWZpbmUgTU5UX0NBQ0hFX1RBR1JFQUQJKDEgPDwgMykgLyogdGFnIHJlYWQgYnkgbW50X2NhY2hlX3JlYWRfdGFncygpICovCisKKy8qIHBhdGggY2FjaGUgZW50cnkgKi8KK3N0cnVjdCBtbnRfY2FjaGVfZW50cnkgeworCWNoYXIJCQkqa2V5OwkvKiBzZWFyY2gga2V5IChlLmcuIHVuY2Fub25pY2FsaXplZCBwYXRoKSAqLworCWNoYXIJCQkqdmFsdWU7CS8qIHZhbHVlIChlLmcuIGNhbm9uaWNhbGl6ZWQgcGF0aCkgKi8KKwlpbnQJCQlmbGFnOworfTsKKworc3RydWN0IGxpYm1udF9jYWNoZSB7CisJc3RydWN0IG1udF9jYWNoZV9lbnRyeQkqZW50czsKKwlzaXplX3QJCQluZW50czsKKwlzaXplX3QJCQluYWxsb2NzOworCWludAkJCXJlZmNvdW50OworCisJLyogYmxraWRfZXZhbHVhdGVfdGFnKCkgd29ya3MgaW4gdHdvIHdheXM6CisJICoKKwkgKiAxLyBhbGwgdGFncyBhcmUgZXZhbHVhdGVkIGJ5IHVkZXYgL2Rldi9kaXNrL2J5LSogc3ltbGlua3MsCisJICogICAgdGhlbiB0aGUgYmxraWRfY2FjaGUgaXMgTlVMTC4KKwkgKgorCSAqIDIvIGFsbCB0YWdzIGFyZSByZWFkIGZyb20gYmxraWQudGFiIGFuZCB2ZXJpZmllZCBieSAvZGV2CisJICogICAgc2Nhbm5pbmcsIHRoZW4gdGhlIGJsa2lkX2NhY2hlIGlzIG5vdCBOVUxMIGFuZCB0aGVuIGl0J3MKKwkgKiAgICBiZXR0ZXIgdG8gcmV1c2UgdGhlIGJsa2lkX2NhY2hlLgorCSAqLworCWJsa2lkX2NhY2hlCQliYzsKKworCXN0cnVjdCBsaWJtbnRfdGFibGUJKm10YWI7Cit9OworCisvKioKKyAqIG1udF9uZXdfY2FjaGU6CisgKgorICogUmV0dXJuczogbmV3IHN0cnVjdCBsaWJtbnRfY2FjaGUgaW5zdGFuY2Ugb3IgTlVMTCBpbiBjYXNlIG9mIEVOT01FTSBlcnJvci4KKyAqLworc3RydWN0IGxpYm1udF9jYWNoZSAqbW50X25ld19jYWNoZSh2b2lkKQoreworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlID0gY2FsbG9jKDEsIHNpemVvZigqY2FjaGUpKTsKKwlpZiAoIWNhY2hlKQorCQlyZXR1cm4gTlVMTDsKKwlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAiYWxsb2MiKSk7CisJY2FjaGUtPnJlZmNvdW50ID0gMTsKKwlyZXR1cm4gY2FjaGU7Cit9CisKKy8qKgorICogbW50X2ZyZWVfY2FjaGU6CisgKiBAY2FjaGU6IHBvaW50ZXIgdG8gc3RydWN0IGxpYm1udF9jYWNoZSBpbnN0YW5jZQorICoKKyAqIERlYWxsb2NhdGVzIHRoZSBjYWNoZS4gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjYXJlIGFib3V0IHJlZmVyZW5jZSBjb3VudC4gRG9uJ3QKKyAqIHVzZSB0aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IC0tIGl0J3MgYmV0dGVyIHRvIHVzZSBtbnRfdW5yZWZfY2FjaGUoKS4KKyAqLwordm9pZCBtbnRfZnJlZV9jYWNoZShzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKK3sKKwlzaXplX3QgaTsKKworCWlmICghY2FjaGUpCisJCXJldHVybjsKKworCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJmcmVlIFtyZWZjb3VudD0lZF0iLCBjYWNoZS0+cmVmY291bnQpKTsKKworCWZvciAoaSA9IDA7IGkgPCBjYWNoZS0+bmVudHM7IGkrKykgeworCQlzdHJ1Y3QgbW50X2NhY2hlX2VudHJ5ICplID0gJmNhY2hlLT5lbnRzW2ldOworCQlpZiAoZS0+dmFsdWUgIT0gZS0+a2V5KQorCQkJZnJlZShlLT52YWx1ZSk7CisJCWZyZWUoZS0+a2V5KTsKKwl9CisJZnJlZShjYWNoZS0+ZW50cyk7CisJaWYgKGNhY2hlLT5iYykKKwkJYmxraWRfcHV0X2NhY2hlKGNhY2hlLT5iYyk7CisJZnJlZShjYWNoZSk7Cit9CisKKy8qKgorICogbW50X3JlZl9jYWNoZToKKyAqIEBjYWNoZTogY2FjaGUgcG9pbnRlcgorICoKKyAqIEluY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIuCisgKi8KK3ZvaWQgbW50X3JlZl9jYWNoZShzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKK3sKKwlpZiAoY2FjaGUpIHsKKwkJY2FjaGUtPnJlZmNvdW50Kys7CisJCS8qREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgInJlZj0lZCIsIGNhY2hlLT5yZWZjb3VudCkpOyovCisJfQorfQorCisvKioKKyAqIG1udF91bnJlZl9jYWNoZToKKyAqIEBjYWNoZTogY2FjaGUgcG9pbnRlcgorICoKKyAqIERlLWluY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIsIG9uIHplcm8gdGhlIGNhY2hlIGlzIGF1dG9tYXRpY2FsbHkKKyAqIGRlYWxsb2NhdGVkIGJ5IG1udF9mcmVlX2NhY2hlKCkuCisgKi8KK3ZvaWQgbW50X3VucmVmX2NhY2hlKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWlmIChjYWNoZSkgeworCQljYWNoZS0+cmVmY291bnQtLTsKKwkJLypEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAidW5yZWY9JWQiLCBjYWNoZS0+cmVmY291bnQpKTsqLworCQlpZiAoY2FjaGUtPnJlZmNvdW50IDw9IDApIHsKKwkJCW1udF91bnJlZl90YWJsZShjYWNoZS0+bXRhYik7CisKKwkJCW1udF9mcmVlX2NhY2hlKGNhY2hlKTsKKwkJfQorCX0KK30KKworLyoqCisgKiBtbnRfY2FjaGVfc2V0X3RhcmdldHM6CisgKiBAY2FjaGU6IGNhY2hlIHBvaW50ZXIKKyAqIEBtdGFiOiB0YWJsZSB3aXRoIGFscmVhZHkgY2Fub25pY2FsaXplZCBtb3VudHBvaW50cworICoKKyAqIEFkZCB0byBAY2FjaGUgcmVmZXJlbmNlIHRvIEBtdGFiLiBUaGlzIGFsbG93cyB0byBhdm9pZCB1bm5lY2Vzc2FyeSBwYXRocworICogY2Fub25pY2FsaXphdGlvbiBpbiBtbnRfcmVzb2x2ZV90YXJnZXQoKS4KKyAqCisgKiBSZXR1cm5zOiBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciwgb3IgMCBvIHN1Y2Nlc3MuCisgKi8KK2ludCBtbnRfY2FjaGVfc2V0X3RhcmdldHMoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsCisJCQkJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYikKK3sKKwlpZiAoIWNhY2hlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1udF9yZWZfdGFibGUobXRhYik7CisJbW50X3VucmVmX3RhYmxlKGNhY2hlLT5tdGFiKTsKKwljYWNoZS0+bXRhYiA9IG10YWI7CisJcmV0dXJuIDA7Cit9CisKKworLyogbm90ZSB0aGF0IHRoZSBAa2V5IGNvdWxkIGJlIHRoZSBzYW1lIHBvaW50ZXIgYXMgQHZhbHVlICovCitzdGF0aWMgaW50IGNhY2hlX2FkZF9lbnRyeShzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwgY2hhciAqa2V5LAorCQkJCQljaGFyICp2YWx1ZSwgaW50IGZsYWcpCit7CisJc3RydWN0IG1udF9jYWNoZV9lbnRyeSAqZTsKKworCWFzc2VydChjYWNoZSk7CisJYXNzZXJ0KHZhbHVlKTsKKwlhc3NlcnQoa2V5KTsKKworCWlmIChjYWNoZS0+bmVudHMgPT0gY2FjaGUtPm5hbGxvY3MpIHsKKwkJc2l6ZV90IHN6ID0gY2FjaGUtPm5hbGxvY3MgKyBNTlRfQ0FDSEVfQ0hVTktTWjsKKworCQllID0gcmVhbGxvYyhjYWNoZS0+ZW50cywgc3ogKiBzaXplb2Yoc3RydWN0IG1udF9jYWNoZV9lbnRyeSkpOworCQlpZiAoIWUpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJY2FjaGUtPmVudHMgPSBlOworCQljYWNoZS0+bmFsbG9jcyA9IHN6OworCX0KKworCWUgPSAmY2FjaGUtPmVudHNbY2FjaGUtPm5lbnRzXTsKKwllLT5rZXkgPSBrZXk7CisJZS0+dmFsdWUgPSB2YWx1ZTsKKwllLT5mbGFnID0gZmxhZzsKKwljYWNoZS0+bmVudHMrKzsKKworCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJhZGQgZW50cnkgWyUyemRdICglcyk6ICVzOiAlcyIsCisJCQljYWNoZS0+bmVudHMsCisJCQkoZmxhZyAmIE1OVF9DQUNIRV9JU1BBVEgpID8gInBhdGgiIDogInRhZyIsCisJCQl2YWx1ZSwga2V5KSk7CisJcmV0dXJuIDA7Cit9CisKKy8qIGFkZCB0YWcgdG8gdGhlIGNhY2hlLCBAZGV2bmFtZSBoYXMgdG8gYmUgYW4gYWxsb2NhdGVkIHN0cmluZyAqLworc3RhdGljIGludCBjYWNoZV9hZGRfdGFnKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLCBjb25zdCBjaGFyICp0YWduYW1lLAorCQkJCWNvbnN0IGNoYXIgKnRhZ3ZhbCwgY2hhciAqZGV2bmFtZSwgaW50IGZsYWcpCit7CisJc2l6ZV90IHRrc3osIHZsc3o7CisJY2hhciAqa2V5OworCWludCByYzsKKworCWFzc2VydChjYWNoZSk7CisJYXNzZXJ0KGRldm5hbWUpOworCWFzc2VydCh0YWduYW1lKTsKKwlhc3NlcnQodGFndmFsKTsKKworCS8qIGFkZCBpbnRvIGNhY2hlIC0tIGNhY2hlIGZvcm1hdCBmb3IgVEFHcyBpcworCSAqCWtleSAgICA9ICJUQUdfTkFNRVwwVEFHX1ZBTFVFXDAiCisJICoJdmFsdWUgID0gIi9kZXYvZm9vIgorCSAqLworCXRrc3ogPSBzdHJsZW4odGFnbmFtZSk7CisJdmxzeiA9IHN0cmxlbih0YWd2YWwpOworCisJa2V5ID0gbWFsbG9jKHRrc3ogKyB2bHN6ICsgMik7CisJaWYgKCFrZXkpCisJCXJldHVybiAtRU5PTUVNOworCisJbWVtY3B5KGtleSwgdGFnbmFtZSwgdGtzeiArIDEpOwkgICAvKiBpbmNsdWRlICdcMCcgKi8KKwltZW1jcHkoa2V5ICsgdGtzeiArIDEsIHRhZ3ZhbCwgdmxzeiArIDEpOworCisJcmMgPSBjYWNoZV9hZGRfZW50cnkoY2FjaGUsIGtleSwgZGV2bmFtZSwgZmxhZyB8IE1OVF9DQUNIRV9JU1RBRyk7CisJaWYgKCFyYykKKwkJcmV0dXJuIDA7CisKKwlmcmVlKGtleSk7CisJcmV0dXJuIHJjOworfQorCisKKy8qCisgKiBSZXR1cm5zIGNhY2hlZCBjYW5vbmljYWxpemVkIHBhdGggb3IgTlVMTC4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmNhY2hlX2ZpbmRfcGF0aChzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlzaXplX3QgaTsKKworCWlmICghY2FjaGUgfHwgIXBhdGgpCisJCXJldHVybiBOVUxMOworCisJZm9yIChpID0gMDsgaSA8IGNhY2hlLT5uZW50czsgaSsrKSB7CisJCXN0cnVjdCBtbnRfY2FjaGVfZW50cnkgKmUgPSAmY2FjaGUtPmVudHNbaV07CisJCWlmICghKGUtPmZsYWcgJiBNTlRfQ0FDSEVfSVNQQVRIKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoc3RyZXFfcGF0aHMocGF0aCwgZS0+a2V5KSkKKwkJCXJldHVybiBlLT52YWx1ZTsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBSZXR1cm5zIGNhY2hlZCBwYXRoIG9yIE5VTEwuCisgKi8KK3N0YXRpYyBjb25zdCBjaGFyICpjYWNoZV9maW5kX3RhZyhzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwKKwkJCWNvbnN0IGNoYXIgKnRva2VuLCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlzaXplX3QgaTsKKwlzaXplX3QgdGtzejsKKworCWlmICghY2FjaGUgfHwgIXRva2VuIHx8ICF2YWx1ZSkKKwkJcmV0dXJuIE5VTEw7CisKKwl0a3N6ID0gc3RybGVuKHRva2VuKTsKKworCWZvciAoaSA9IDA7IGkgPCBjYWNoZS0+bmVudHM7IGkrKykgeworCQlzdHJ1Y3QgbW50X2NhY2hlX2VudHJ5ICplID0gJmNhY2hlLT5lbnRzW2ldOworCQlpZiAoIShlLT5mbGFnICYgTU5UX0NBQ0hFX0lTVEFHKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoc3RyY21wKHRva2VuLCBlLT5rZXkpID09IDAgJiYKKwkJICAgIHN0cmNtcCh2YWx1ZSwgZS0+a2V5ICsgdGtzeiArIDEpID09IDApCisJCQlyZXR1cm4gZS0+dmFsdWU7CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhciAqY2FjaGVfZmluZF90YWdfdmFsdWUoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsCisJCQljb25zdCBjaGFyICpkZXZuYW1lLCBjb25zdCBjaGFyICp0b2tlbikKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChjYWNoZSk7CisJYXNzZXJ0KGRldm5hbWUpOworCWFzc2VydCh0b2tlbik7CisKKwlmb3IgKGkgPSAwOyBpIDwgY2FjaGUtPm5lbnRzOyBpKyspIHsKKwkJc3RydWN0IG1udF9jYWNoZV9lbnRyeSAqZSA9ICZjYWNoZS0+ZW50c1tpXTsKKwkJaWYgKCEoZS0+ZmxhZyAmIE1OVF9DQUNIRV9JU1RBRykpCisJCQljb250aW51ZTsKKwkJaWYgKHN0cmNtcChlLT52YWx1ZSwgZGV2bmFtZSkgPT0gMCAmJgkvKiBkZXYgbmFtZSAqLworCQkgICAgc3RyY21wKHRva2VuLCBlLT5rZXkpID09IDApCS8qIHRhZyBuYW1lICovCisJCQlyZXR1cm4gZS0+a2V5ICsgc3RybGVuKHRva2VuKSArIDE7CS8qIHRhZyB2YWx1ZSAqLworCX0KKworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF9jYWNoZV9yZWFkX3RhZ3MKKyAqIEBjYWNoZTogcG9pbnRlciB0byBzdHJ1Y3QgbGlibW50X2NhY2hlIGluc3RhbmNlCisgKiBAZGV2bmFtZTogcGF0aCBkZXZpY2UKKyAqCisgKiBSZWFkcyBAZGV2bmFtZSBMQUJFTCBhbmQgVVVJRCB0byB0aGUgQGNhY2hlLgorICoKKyAqIFJldHVybnM6IDAgaWYgYXQgbGVhc3Qgb25lIHRhZyB3YXMgYWRkZWQsIDEgaWYgbm8gdGFnIHdhcyBhZGRlZCBvcgorICogICAgICAgICAgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY2FjaGVfcmVhZF90YWdzKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLCBjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWJsa2lkX3Byb2JlIHByOworCXNpemVfdCBpLCBudGFncyA9IDA7CisJaW50IHJjOworCWNvbnN0IGNoYXIgKnRhZ3NbXSA9IHsgIkxBQkVMIiwgIlVVSUQiLCAiVFlQRSIsICJQQVJUVVVJRCIsICJQQVJUTEFCRUwiIH07CisJY29uc3QgY2hhciAqYmxrdGFnc1tdID0geyAiTEFCRUwiLCAiVVVJRCIsICJUWVBFIiwgIlBBUlRfRU5UUllfVVVJRCIsICJQQVJUX0VOVFJZX05BTUUiIH07CisKKwlpZiAoIWNhY2hlIHx8ICFkZXZuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJ0YWdzIGZvciAlcyByZXF1ZXN0ZWQiLCBkZXZuYW1lKSk7CisKKwkvKiBjaGVjayBpZiBkZXZpY2UgaXMgYWxyZWFkeSBjYWNoZWQgKi8KKwlmb3IgKGkgPSAwOyBpIDwgY2FjaGUtPm5lbnRzOyBpKyspIHsKKwkJc3RydWN0IG1udF9jYWNoZV9lbnRyeSAqZSA9ICZjYWNoZS0+ZW50c1tpXTsKKwkJaWYgKCEoZS0+ZmxhZyAmIE1OVF9DQUNIRV9UQUdSRUFEKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoc3RyY21wKGUtPnZhbHVlLCBkZXZuYW1lKSA9PSAwKQorCQkJLyogdGFncyBoYXZlIGFscmVhZHkgYmVlbiByZWFkICovCisJCQlyZXR1cm4gMDsKKwl9CisKKwlwciA9ICBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKwlpZiAoIXByKQorCQlyZXR1cm4gLTE7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwKKwkJCUJMS0lEX1NVQkxLU19MQUJFTCB8IEJMS0lEX1NVQkxLU19VVUlEIHwKKwkJCUJMS0lEX1NVQkxLU19UWVBFKTsKKworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAxKTsKKwlibGtpZF9wcm9iZV9zZXRfcGFydGl0aW9uc19mbGFncyhwciwgQkxLSURfUEFSVFNfRU5UUllfREVUQUlMUyk7CisKKwlyYyA9IGJsa2lkX2RvX3NhZmVwcm9iZShwcik7CisJaWYgKHJjKQorCQlnb3RvIGVycm9yOworCisJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgInJlYWRpbmcgdGFncyBmb3I6ICVzIiwgZGV2bmFtZSkpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGFncyk7IGkrKykgeworCQljb25zdCBjaGFyICpkYXRhOworCQljaGFyICpkZXY7CisKKwkJaWYgKGNhY2hlX2ZpbmRfdGFnX3ZhbHVlKGNhY2hlLCBkZXZuYW1lLCB0YWdzW2ldKSkgeworCQkJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwKKwkJCQkJIlxudGFnICVzIGFscmVhZHkgY2FjaGVkIiwgdGFnc1tpXSkpOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgYmxrdGFnc1tpXSwgJmRhdGEsIE5VTEwpKQorCQkJY29udGludWU7CisJCWRldiA9IHN0cmR1cChkZXZuYW1lKTsKKwkJaWYgKCFkZXYpCisJCQlnb3RvIGVycm9yOworCQlpZiAoY2FjaGVfYWRkX3RhZyhjYWNoZSwgdGFnc1tpXSwgZGF0YSwgZGV2LAorCQkJCQlNTlRfQ0FDSEVfVEFHUkVBRCkpIHsKKwkJCWZyZWUoZGV2KTsKKwkJCWdvdG8gZXJyb3I7CisJCX0KKwkJbnRhZ3MrKzsKKwl9CisKKwlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAiXHRyZWFkICV6ZCB0YWdzIiwgbnRhZ3MpKTsKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwlyZXR1cm4gbnRhZ3MgPyAwIDogMTsKK2Vycm9yOgorCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybiByYyA8IDAgPyByYyA6IC0xOworfQorCisvKioKKyAqIG1udF9jYWNoZV9kZXZpY2VfaGFzX3RhZzoKKyAqIEBjYWNoZTogcGF0aHMgY2FjaGUKKyAqIEBkZXZuYW1lOiBwYXRoIHRvIHRoZSBkZXZpY2UKKyAqIEB0b2tlbjogdGFnIG5hbWUgKGUuZyAiTEFCRUwiKQorICogQHZhbHVlOiB0YWcgdmFsdWUKKyAqCisgKiBMb29rIHVwIEBjYWNoZSB0byBjaGVjayBpZiBAdGFnK0B2YWx1ZSBhcmUgYXNzb2NpYXRlZCB3aXRoIEBkZXZuYW1lLgorICoKKyAqIFJldHVybnM6IDEgb24gc3VjY2VzcyBvciAwLgorICovCitpbnQgbW50X2NhY2hlX2RldmljZV9oYXNfdGFnKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlLCBjb25zdCBjaGFyICpkZXZuYW1lLAorCQkJCWNvbnN0IGNoYXIgKnRva2VuLCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwljb25zdCBjaGFyICpwYXRoID0gY2FjaGVfZmluZF90YWcoY2FjaGUsIHRva2VuLCB2YWx1ZSk7CisKKwlpZiAocGF0aCAmJiBkZXZuYW1lICYmIHN0cmNtcChwYXRoLCBkZXZuYW1lKSA9PSAwKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBfX21udF9jYWNoZV9maW5kX3RhZ192YWx1ZShzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwKKwkJY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqdG9rZW4sIGNoYXIgKipkYXRhKQoreworCWludCByYyA9IDA7CisKKwlpZiAoIWNhY2hlIHx8ICFkZXZuYW1lIHx8ICF0b2tlbiB8fCAhZGF0YSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IG1udF9jYWNoZV9yZWFkX3RhZ3MoY2FjaGUsIGRldm5hbWUpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJKmRhdGEgPSBjYWNoZV9maW5kX3RhZ192YWx1ZShjYWNoZSwgZGV2bmFtZSwgdG9rZW4pOworCXJldHVybiAqZGF0YSA/IDAgOiAtMTsKK30KKworLyoqCisgKiBtbnRfY2FjaGVfZmluZF90YWdfdmFsdWU6CisgKiBAY2FjaGU6IGNhY2hlIGZvciByZXN1bHRzCisgKiBAZGV2bmFtZTogZGV2aWNlIG5hbWUKKyAqIEB0b2tlbjogdGFnIG5hbWUgKCJMQUJFTCIgb3IgIlVVSUQiKQorICoKKyAqIFJldHVybnM6IExBQkVMIG9yIFVVSUQgZm9yIHRoZSBAZGV2bmFtZSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2NoYXIgKm1udF9jYWNoZV9maW5kX3RhZ192YWx1ZShzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwKKwkJY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqdG9rZW4pCit7CisJY2hhciAqZGF0YSA9IE5VTEw7CisKKwlpZiAoX19tbnRfY2FjaGVfZmluZF90YWdfdmFsdWUoY2FjaGUsIGRldm5hbWUsIHRva2VuLCAmZGF0YSkgPT0gMCkKKwkJcmV0dXJuIGRhdGE7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogbW50X2dldF9mc3R5cGU6CisgKiBAZGV2bmFtZTogZGV2aWNlIG5hbWUKKyAqIEBhbWJpOiByZXR1cm5zIFRSVUUgaWYgcHJvYmluZyByZXN1bHQgaXMgYW1iaXZhbGVudCAob3B0aW9uYWwgYXJndW1lbnQpCisgKiBAY2FjaGU6IGNhY2hlIGZvciByZXN1bHRzIG9yIE5VTEwKKyAqCisgKiBSZXR1cm5zOiBmaWxlc3lzdGVtIHR5cGUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgcmVzdWx0IGhhcyB0byBiZQorICogZGVhbGxvY2F0ZWQgYnkgZnJlZSgpIGlmIEBjYWNoZSBpcyBOVUxMLgorICovCitjaGFyICptbnRfZ2V0X2ZzdHlwZShjb25zdCBjaGFyICpkZXZuYW1lLCBpbnQgKmFtYmksIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWJsa2lkX3Byb2JlIHByOworCWNvbnN0IGNoYXIgKmRhdGE7CisJY2hhciAqdHlwZSA9IE5VTEw7CisJaW50IHJjOworCisJREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgImdldCAlcyBGUyB0eXBlIiwgZGV2bmFtZSkpOworCisJaWYgKGNhY2hlKSB7CisJCWNoYXIgKnZhbCA9IE5VTEw7CisJCXJjID0gX19tbnRfY2FjaGVfZmluZF90YWdfdmFsdWUoY2FjaGUsIGRldm5hbWUsICJUWVBFIiwgJnZhbCk7CisJCWlmIChhbWJpKQorCQkJKmFtYmkgPSByYyA9PSAtMiA/IFRSVUUgOiBGQUxTRTsKKwkJcmV0dXJuIHJjID8gTlVMTCA6IHZhbDsKKwl9CisKKwkvKgorCSAqIG5vIGNhY2hlLCBwcm9iZSBkaXJlY3RseQorCSAqLworCXByID0gIGJsa2lkX25ld19wcm9iZV9mcm9tX2ZpbGVuYW1lKGRldm5hbWUpOworCWlmICghcHIpCisJCXJldHVybiBOVUxMOworCisJYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKHByLCAxKTsKKwlibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MocHIsIEJMS0lEX1NVQkxLU19UWVBFKTsKKworCXJjID0gYmxraWRfZG9fc2FmZXByb2JlKHByKTsKKworCURCRyhDQUNIRSwgdWxfZGVidWdvYmooY2FjaGUsICJsaWJibGtpZCByYz0lZCIsIHJjKSk7CisKKwlpZiAoIXJjICYmICFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgJmRhdGEsIE5VTEwpKQorCQl0eXBlID0gc3RyZHVwKGRhdGEpOworCisJaWYgKGFtYmkpCisJCSphbWJpID0gcmMgPT0gLTIgPyBUUlVFIDogRkFMU0U7CisKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwlyZXR1cm4gdHlwZTsKK30KKworc3RhdGljIGNoYXIgKmNhbm9uaWNhbGl6ZV9wYXRoX2FuZF9jYWNoZShjb25zdCBjaGFyICpwYXRoLAorCQkJCQkJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJY2hhciAqcDsKKwljaGFyICprZXk7CisJY2hhciAqdmFsdWU7CisKKwlEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAiY2Fub25pY2FsaXplIHBhdGggJXMiLCBwYXRoKSk7CisJcCA9IGNhbm9uaWNhbGl6ZV9wYXRoKHBhdGgpOworCisJaWYgKHAgJiYgY2FjaGUpIHsKKwkJdmFsdWUgPSBwOworCQlrZXkgPSBzdHJjbXAocGF0aCwgcCkgPT0gMCA/IHZhbHVlIDogc3RyZHVwKHBhdGgpOworCisJCWlmICgha2V5IHx8ICF2YWx1ZSkKKwkJCWdvdG8gZXJyb3I7CisKKwkJaWYgKGNhY2hlX2FkZF9lbnRyeShjYWNoZSwga2V5LCB2YWx1ZSwKKwkJCQlNTlRfQ0FDSEVfSVNQQVRIKSkKKwkJCWdvdG8gZXJyb3I7CisJfQorCisJcmV0dXJuIHA7CitlcnJvcjoKKwlpZiAodmFsdWUgIT0ga2V5KQorCQlmcmVlKHZhbHVlKTsKKwlmcmVlKGtleSk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogbW50X3Jlc29sdmVfcGF0aDoKKyAqIEBwYXRoOiAibmF0aXZlIiBwYXRoCisgKiBAY2FjaGU6IGNhY2hlIGZvciByZXN1bHRzIG9yIE5VTEwKKyAqCisgKiBDb252ZXJ0cyBwYXRoOgorICoJLSB0byB0aGUgYWJzb2x1dGUgcGF0aAorICoJLSAvZGV2L2RtLU4gdG8gL2Rldi9tYXBwZXIvbmFtZQorICoKKyAqIFJldHVybnM6IGFic29sdXRlIHBhdGggb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgcmVzdWx0IGhhcyB0byBiZQorICogZGVhbGxvY2F0ZWQgYnkgZnJlZSgpIGlmIEBjYWNoZSBpcyBOVUxMLgorICovCitjaGFyICptbnRfcmVzb2x2ZV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWNoYXIgKnAgPSBOVUxMOworCisJLypEQkcoQ0FDSEUsIHVsX2RlYnVnb2JqKGNhY2hlLCAicmVzb2x2aW5nIHBhdGggJXMiLCBwYXRoKSk7Ki8KKworCWlmICghcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGNhY2hlKQorCQlwID0gKGNoYXIgKikgY2FjaGVfZmluZF9wYXRoKGNhY2hlLCBwYXRoKTsKKwlpZiAoIXApCisJCXAgPSBjYW5vbmljYWxpemVfcGF0aF9hbmRfY2FjaGUocGF0aCwgY2FjaGUpOworCisJcmV0dXJuIHA7Cit9CisKKy8qKgorICogbW50X3Jlc29sdmVfdGFyZ2V0OgorICogQHBhdGg6ICJuYXRpdmUiIHBhdGgsIGEgcG90ZW50aWFsIG1vdW50IHBvaW50CisgKiBAY2FjaGU6IGNhY2hlIGZvciByZXN1bHRzIG9yIE5VTEwuCisgKgorICogTGlrZSBtbnRfcmVzb2x2ZV9wYXRoKCksIHVubGVzcyBAY2FjaGUgaXMgbm90IE5VTEwgYW5kCisgKiBtbnRfY2FjaGVfc2V0X3RhcmdldHMoY2FjaGUsIG10YWIpIHdhcyBjYWxsZWQ6IGlmIEBwYXRoIGlzIGZvdW5kIGluIHRoZQorICogY2FjaGVkIEBtdGFiIGFuZCB0aGUgbWF0Y2hpbmcgZW50cnkgd2FzIHByb3ZpZGVkIGJ5IHRoZSBrZXJuZWwsIGFzc3VtZSB0aGF0CisgKiBAcGF0aCBpcyBhbHJlYWR5IGNhbm9uaWNhbGl6ZWQuIEJ5IGF2b2lkaW5nIGEgY2FsbCB0byByZWFscGF0aCgyKSBvbgorICoga25vd24gbW91bnQgcG9pbnRzLCB0aGVyZSBpcyBhIGxvd2VyIHJpc2sgb2Ygc3RlcHBpbmcgb24gYSBzdGFsZSBtb3VudAorICogcG9pbnQsIHdoaWNoIGNhbiByZXN1bHQgaW4gYW4gYXBwbGljYXRpb24gZnJlZXplLiBUaGlzIGlzIGFsc28gZmFzdGVyIGluCisgKiBnZW5lcmFsLCBhcyBzdGF0KDIpIG9uIGEgbW91bnQgcG9pbnQgaXMgc2xvd2VyIHRoYW4gb24gYSByZWd1bGFyIGZpbGUuCisgKgorICogUmV0dXJuczogYWJzb2x1dGUgcGF0aCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuIFRoZSByZXN1bHQgaGFzIHRvIGJlCisgKiBkZWFsbG9jYXRlZCBieSBmcmVlKCkgaWYgQGNhY2hlIGlzIE5VTEwuCisgKi8KK2NoYXIgKm1udF9yZXNvbHZlX3RhcmdldChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKK3sKKwljaGFyICpwID0gTlVMTDsKKworCS8qREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgInJlc29sdmluZyB0YXJnZXQgJXMiLCBwYXRoKSk7Ki8KKworCWlmICghY2FjaGUgfHwgIWNhY2hlLT5tdGFiKQorCQlyZXR1cm4gbW50X3Jlc29sdmVfcGF0aChwYXRoLCBjYWNoZSk7CisKKwlwID0gKGNoYXIgKikgY2FjaGVfZmluZF9wYXRoKGNhY2hlLCBwYXRoKTsKKwlpZiAocCkKKwkJcmV0dXJuIHA7CisJZWxzZSB7CisJCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKworCQltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyhjYWNoZS0+bXRhYiwgJml0ciwgJmZzKSA9PSAwKSB7CisKKwkJCWlmICghbW50X2ZzX2lzX2tlcm5lbChmcykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB8fCBtbnRfZnNfaXNfc3dhcGFyZWEoZnMpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgfHwgIW1udF9mc19zdHJlcV90YXJnZXQoZnMsIHBhdGgpKQorCQkJCWNvbnRpbnVlOworCisJCQlwID0gc3RyZHVwKHBhdGgpOworCQkJaWYgKCFwKQorCQkJCXJldHVybiBOVUxMOwkvKiBFTk9NRU0gKi8KKworCQkJaWYgKGNhY2hlX2FkZF9lbnRyeShjYWNoZSwgcCwgcCwgTU5UX0NBQ0hFX0lTUEFUSCkpIHsKKwkJCQlmcmVlKHApOworCQkJCXJldHVybiBOVUxMOwkvKiBFTk9NRU0gKi8KKwkJCX0KKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKCFwKQorCQlwID0gY2Fub25pY2FsaXplX3BhdGhfYW5kX2NhY2hlKHBhdGgsIGNhY2hlKTsKKwlyZXR1cm4gcDsKK30KKworLyoqCisgKiBtbnRfcHJldHR5X3BhdGg6CisgKiBAcGF0aDogYW55IHBhdGgKKyAqIEBjYWNoZTogTlVMTCBvciBwb2ludGVyIHRvIHRoZSBjYWNoZQorICoKKyAqIENvbnZlcnRzIHBhdGg6CisgKgktIHRvIHRoZSBhYnNvbHV0ZSBwYXRoCisgKgktIC9kZXYvZG0tTiB0byAvZGV2L21hcHBlci9uYW1lCisgKgktIC9kZXYvbG9vcE4gdG8gdGhlIGxvb3AgYmFja2luZyBmaWxlbmFtZQorICoJLSBlbXB0eSBwYXRoIChOVUxMKSB0byAnbm9uZScKKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggcGF0aCwgcmVzdWx0IGFsd2F5cyBoYXMgdG8gYmUgZGVhbGxvY2F0ZWQKKyAqICAgICAgICAgIGJ5IGZyZWUoKS4KKyAqLworY2hhciAqbW50X3ByZXR0eV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWNoYXIgKnByZXR0eSA9IG1udF9yZXNvbHZlX3BhdGgocGF0aCwgY2FjaGUpOworCisJaWYgKCFwcmV0dHkpCisJCXJldHVybiBzdHJkdXAoIm5vbmUiKTsKKworI2lmZGVmIF9fbGludXhfXworCS8qIHVzZXJzIGFzc3VtZSBiYWNraW5nIGZpbGUgbmFtZSByYXRoZXIgdGhhbiAvZGV2L2xvb3BOIGluCisJICogb3V0cHV0IGlmIHRoZSBkZXZpY2UgaGFzIGJlZW4gaW5pdGlhbGl6ZWQgYnkgbW91bnQoOCkuCisJICovCisJaWYgKHN0cm5jbXAocHJldHR5LCAiL2Rldi9sb29wIiwgOSkgPT0gMCkgeworCQlzdHJ1Y3QgbG9vcGRldl9jeHQgbGM7CisKKwkJaWYgKGxvb3BjeHRfaW5pdCgmbGMsIDApIHx8IGxvb3BjeHRfc2V0X2RldmljZSgmbGMsIHByZXR0eSkpCisJCQlnb3RvIGRvbmU7CisKKwkJaWYgKGxvb3BjeHRfaXNfYXV0b2NsZWFyKCZsYykpIHsKKwkJCWNoYXIgKnRtcCA9IGxvb3BjeHRfZ2V0X2JhY2tpbmdfZmlsZSgmbGMpOworCQkJaWYgKHRtcCkgeworCQkJCWxvb3BjeHRfZGVpbml0KCZsYyk7CisJCQkJaWYgKCFjYWNoZSkKKwkJCQkJZnJlZShwcmV0dHkpOwkvKiBub3QgY2FjaGVkLCBkZWFsbG9jYXRlICovCisJCQkJcmV0dXJuIHRtcDsJCS8qIHJldHVybiBiYWNraW5nIGZpbGUgKi8KKwkJCX0KKwkJfQorCQlsb29wY3h0X2RlaW5pdCgmbGMpOworCisJfQorI2VuZGlmCisKK2RvbmU6CisJLyogZG9uJ3QgcmV0dXJuIHBvaW50ZXIgdG8gdGhlIGNhY2hlLCBhbGxvY2F0ZSBhIG5ldyBzdHJpbmcgKi8KKwlyZXR1cm4gY2FjaGUgPyBzdHJkdXAocHJldHR5KSA6IHByZXR0eTsKK30KKworLyoqCisgKiBtbnRfcmVzb2x2ZV90YWc6CisgKiBAdG9rZW46IHRhZyBuYW1lCisgKiBAdmFsdWU6IHRhZyB2YWx1ZQorICogQGNhY2hlOiBmb3IgcmVzdWx0cyBvciBOVUxMCisgKgorICogUmV0dXJuczogZGV2aWNlIG5hbWUgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yLiBUaGUgcmVzdWx0IGhhcyB0byBiZQorICogZGVhbGxvY2F0ZWQgYnkgZnJlZSgpIGlmIEBjYWNoZSBpcyBOVUxMLgorICovCitjaGFyICptbnRfcmVzb2x2ZV90YWcoY29uc3QgY2hhciAqdG9rZW4sIGNvbnN0IGNoYXIgKnZhbHVlLAorCQkgICAgICBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKK3sKKwljaGFyICpwID0gTlVMTDsKKworCS8qREJHKENBQ0hFLCB1bF9kZWJ1Z29iaihjYWNoZSwgInJlc29sdmluZyB0YWcgdG9rZW49JXMgdmFsdWU9JXMiLAorCQkJCXRva2VuLCB2YWx1ZSkpOyovCisKKwlpZiAoIXRva2VuIHx8ICF2YWx1ZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoY2FjaGUpCisJCXAgPSAoY2hhciAqKSBjYWNoZV9maW5kX3RhZyhjYWNoZSwgdG9rZW4sIHZhbHVlKTsKKworCWlmICghcCkgeworCQkvKiByZXR1cm5zIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgKi8KKwkJcCA9IGJsa2lkX2V2YWx1YXRlX3RhZyh0b2tlbiwgdmFsdWUsIGNhY2hlID8gJmNhY2hlLT5iYyA6IE5VTEwpOworCisJCWlmIChwICYmIGNhY2hlICYmCisJCSAgICBjYWNoZV9hZGRfdGFnKGNhY2hlLCB0b2tlbiwgdmFsdWUsIHAsIDApKQorCQkJCWdvdG8gZXJyb3I7CisJfQorCisJcmV0dXJuIHA7CitlcnJvcjoKKwlmcmVlKHApOworCXJldHVybiBOVUxMOworfQorCisKKworLyoqCisgKiBtbnRfcmVzb2x2ZV9zcGVjOgorICogQHNwZWM6IHBhdGggb3IgdGFnCisgKiBAY2FjaGU6IHBhdGhzIGNhY2hlCisgKgorICogUmV0dXJuczogY2Fub25pY2FsaXplZCBwYXRoIG9yIE5VTEwuIFRoZSByZXN1bHQgaGFzIHRvIGJlCisgKiBkZWFsbG9jYXRlZCBieSBmcmVlKCkgaWYgQGNhY2hlIGlzIE5VTEwuCisgKi8KK2NoYXIgKm1udF9yZXNvbHZlX3NwZWMoY29uc3QgY2hhciAqc3BlYywgc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJY2hhciAqY24gPSBOVUxMOworCWNoYXIgKnQgPSBOVUxMLCAqdiA9IE5VTEw7CisKKwlpZiAoIXNwZWMpCisJCXJldHVybiBOVUxMOworCisJaWYgKGJsa2lkX3BhcnNlX3RhZ19zdHJpbmcoc3BlYywgJnQsICZ2KSA9PSAwICYmIG1udF92YWxpZF90YWduYW1lKHQpKQorCQljbiA9IG1udF9yZXNvbHZlX3RhZyh0LCB2LCBjYWNoZSk7CisJZWxzZQorCQljbiA9IG1udF9yZXNvbHZlX3BhdGgoc3BlYywgY2FjaGUpOworCisJZnJlZSh0KTsKKwlmcmVlKHYpOworCXJldHVybiBjbjsKK30KKworCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK3N0YXRpYyBpbnQgdGVzdF9yZXNvbHZlX3BhdGgoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyIGxpbmVbQlVGU0laXTsKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZTsKKworCWNhY2hlID0gbW50X25ld19jYWNoZSgpOworCWlmICghY2FjaGUpCisJCXJldHVybiAtRU5PTUVNOworCisJd2hpbGUoZmdldHMobGluZSwgc2l6ZW9mKGxpbmUpLCBzdGRpbikpIHsKKwkJc2l6ZV90IHN6ID0gc3RybGVuKGxpbmUpOworCQljaGFyICpwOworCisJCWlmIChzeiA+IDAgJiYgbGluZVtzeiAtIDFdID09ICdcbicpCisJCQlsaW5lW3N6IC0gMV0gPSAnXDAnOworCisJCXAgPSBtbnRfcmVzb2x2ZV9wYXRoKGxpbmUsIGNhY2hlKTsKKwkJcHJpbnRmKCIlcyA6ICVzXG4iLCBsaW5lLCBwKTsKKwl9CisJbW50X3VucmVmX2NhY2hlKGNhY2hlKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X3Jlc29sdmVfc3BlYyhzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgbGluZVtCVUZTSVpdOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOworCisJY2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisJaWYgKCFjYWNoZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwl3aGlsZShmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIHN0ZGluKSkgeworCQlzaXplX3Qgc3ogPSBzdHJsZW4obGluZSk7CisJCWNoYXIgKnA7CisKKwkJaWYgKHN6ID4gMCAmJiBsaW5lW3N6IC0gMV0gPT0gJ1xuJykKKwkJCWxpbmVbc3ogLSAxXSA9ICdcMCc7CisKKwkJcCA9IG1udF9yZXNvbHZlX3NwZWMobGluZSwgY2FjaGUpOworCQlwcmludGYoIiVzIDogJXNcbiIsIGxpbmUsIHApOworCX0KKwltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRlc3RfcmVhZF90YWdzKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciBsaW5lW0JVRlNJWl07CisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CisJc2l6ZV90IGk7CisKKwljYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKwlpZiAoIWNhY2hlKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXdoaWxlKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgc3RkaW4pKSB7CisJCXNpemVfdCBzeiA9IHN0cmxlbihsaW5lKTsKKwkJY2hhciAqdCA9IE5VTEwsICp2ID0gTlVMTDsKKworCQlpZiAoc3ogPiAwICYmIGxpbmVbc3ogLSAxXSA9PSAnXG4nKQorCQkJbGluZVtzeiAtIDFdID0gJ1wwJzsKKworCQlpZiAoIXN0cmNtcChsaW5lLCAicXVpdCIpKQorCQkJYnJlYWs7CisKKwkJaWYgKCpsaW5lID09ICcvJykgeworCQkJaWYgKG1udF9jYWNoZV9yZWFkX3RhZ3MoY2FjaGUsIGxpbmUpIDwgMCkKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiByZWFkIHRhZ3MgZmFpbGVkXG4iLCBsaW5lKTsKKworCQl9IGVsc2UgaWYgKGJsa2lkX3BhcnNlX3RhZ19zdHJpbmcobGluZSwgJnQsICZ2KSA9PSAwKSB7CisJCQljb25zdCBjaGFyICpjbiA9IE5VTEw7CisKKwkJCWlmIChtbnRfdmFsaWRfdGFnbmFtZSh0KSkKKwkJCQljbiA9IGNhY2hlX2ZpbmRfdGFnKGNhY2hlLCB0LCB2KTsKKwkJCWZyZWUodCk7CisJCQlmcmVlKHYpOworCisJCQlpZiAoY24pCisJCQkJcHJpbnRmKCIlczogJXNcbiIsIGxpbmUsIGNuKTsKKwkJCWVsc2UKKwkJCQlwcmludGYoIiVzOiBub3QgY2FjaGVkXG4iLCBsaW5lKTsKKwkJfQorCX0KKworCWZvciAoaSA9IDA7IGkgPCBjYWNoZS0+bmVudHM7IGkrKykgeworCQlzdHJ1Y3QgbW50X2NhY2hlX2VudHJ5ICplID0gJmNhY2hlLT5lbnRzW2ldOworCQlpZiAoIShlLT5mbGFnICYgTU5UX0NBQ0hFX0lTVEFHKSkKKwkJCWNvbnRpbnVlOworCisJCXByaW50ZigiJTE1cyA6ICU1cyA6ICVzXG4iLCBlLT52YWx1ZSwgZS0+a2V5LAorCQkJCWUtPmtleSArIHN0cmxlbihlLT5rZXkpICsgMSk7CisJfQorCisJbW50X3VucmVmX2NhY2hlKGNhY2hlKTsKKwlyZXR1cm4gMDsKKworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c1tdID0geworCQl7ICItLXJlc29sdmUtcGF0aCIsIHRlc3RfcmVzb2x2ZV9wYXRoLCAiICByZXNvbHZlIHBhdGhzIGZyb20gc3RkaW4iIH0sCisJCXsgIi0tcmVzb2x2ZS1zcGVjIiwgdGVzdF9yZXNvbHZlX3NwZWMsICIgIGV2YWx1YXRlIHNwZWNzIGZyb20gc3RkaW4iIH0sCisJCXsgIi0tcmVhZC10YWdzIiwgdGVzdF9yZWFkX3RhZ3MsICAgICAgICIgIHJlYWQgZGV2bmFtZSBvciBUQUcgZnJvbSBzdGRpbiAoXCJxdWl0XCIgdG8gZXhpdCkiIH0sCisJCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBtbnRfcnVuX3Rlc3QodHMsIGFyZ2MsIGFyZ3YpOworfQorI2VuZGlmCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvY29udGV4dC5jIGIvbGlibW91bnQvc3JjL2NvbnRleHQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOTQ4YjEyCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2NvbnRleHQuYwpAQCAtMCwwICsxLDMxMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAsMjAxMSwyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBjb250ZXh0CisgKiBAdGl0bGU6IExpYnJhcnkgaGlnaC1sZXZlbCBjb250ZXh0CisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGhpZ2gtbGV2ZWwgQVBJIHRvIG1vdW50L3Vtb3VudCBkZXZpY2VzLgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCXN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0ID0gbW50X25ld19jb250ZXh0KCk7CisgKgorICoJbW50X2NvbnRleHRfc2V0X29wdGlvbnMoY3h0LCAiYWFhLGJiYixjY2M9Q0NDIik7CisgKgltbnRfY29udGV4dF9zZXRfbWZsYWdzKGN4dCwgTVNfTk9BVElNRXxNU19OT0VYRUMpOworICoJbW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsICIvbW50L2ZvbyIpOworICoKKyAqCWlmICghbW50X2NvbnRleHRfbW91bnQoY3h0KSkKKyAqCQlwcmludGYoInN1Y2Nlc3NmdWxseSBtb3VudGVkXG4iKTsKKyAqCW1udF9mcmVlX2NvbnRleHQoY3h0KTsKKyAqCisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBUaGlzIGNvZGUgaXMgc2ltaWxhciB0bzoKKyAqCisgKiAgIG1vdW50IC1vIGFhYSxiYmIsY2NjPUNDQyxub2F0aW1lLG5vZXhlYyAvbW50L2ZvbworICoKKyAqLworCisjaW5jbHVkZSAibW91bnRQLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJuYW1lc3BhY2UuaCIKKworI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisKKy8qKgorICogbW50X25ld19jb250ZXh0OgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBtb3VudCBjb250ZXh0CisgKi8KK3N0cnVjdCBsaWJtbnRfY29udGV4dCAqbW50X25ld19jb250ZXh0KHZvaWQpCit7CisJc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQ7CisJdWlkX3QgcnVpZCwgZXVpZDsKKworCWN4dCA9IGNhbGxvYygxLCBzaXplb2YoKmN4dCkpOworCWlmICghY3h0KQorCQlyZXR1cm4gTlVMTDsKKworCUlOSVRfTElTVF9IRUFEKCZjeHQtPmFkZG1vdW50cyk7CisKKwlydWlkID0gZ2V0dWlkKCk7CisJZXVpZCA9IGdldGV1aWQoKTsKKworCW1udF9jb250ZXh0X3Jlc2V0X3N0YXR1cyhjeHQpOworCisJY3h0LT5sb29wZGV2X2ZkID0gLTE7CisKKwljeHQtPm5zX29yaWcuZmQgPSAtMTsKKwljeHQtPm5zX3RndC5mZCA9IC0xOworCWN4dC0+bnNfY3VyID0gJmN4dC0+bnNfb3JpZzsKKworCS8qIGlmIHdlJ3JlIHJlYWxseSByb290IGFuZCBhcmVuJ3QgcnVubmluZyBzZXR1aWQgKi8KKwljeHQtPnJlc3RyaWN0ZWQgPSAodWlkX3QpIDAgPT0gcnVpZCAmJiBydWlkID09IGV1aWQgPyAwIDogMTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIi0tLS0+IGFsbG9jYXRlICVzIiwKKwkJCQljeHQtPnJlc3RyaWN0ZWQgPyAiW1JFU1RSSUNURURdIiA6ICIiKSk7CisKKworCXJldHVybiBjeHQ7Cit9CisKKy8qKgorICogbW50X2ZyZWVfY29udGV4dDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBEZWFsbG9jYXRlcyBjb250ZXh0IHN0cnVjdC4KKyAqLwordm9pZCBtbnRfZnJlZV9jb250ZXh0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWlmICghY3h0KQorCQlyZXR1cm47CisKKwltbnRfcmVzZXRfY29udGV4dChjeHQpOworCisJZnJlZShjeHQtPmZzdHlwZV9wYXR0ZXJuKTsKKwlmcmVlKGN4dC0+b3B0c3RyX3BhdHRlcm4pOworCisJbW50X3VucmVmX3RhYmxlKGN4dC0+ZnN0YWIpOworCW1udF91bnJlZl9jYWNoZShjeHQtPmNhY2hlKTsKKworCW1udF9jb250ZXh0X2NsZWFyX2xvb3BkZXYoY3h0KTsKKwltbnRfZnJlZV9sb2NrKGN4dC0+bG9jayk7CisJbW50X2ZyZWVfdXBkYXRlKGN4dC0+dXBkYXRlKTsKKworCW1udF9jb250ZXh0X3NldF90YXJnZXRfbnMoY3h0LCBOVUxMKTsKKworCWZyZWUoY3h0LT5jaGlsZHJlbik7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICI8LS0tLSBmcmVlIikpOworCWZyZWUoY3h0KTsKK30KKworLyoqCisgKiBtbnRfcmVzZXRfY29udGV4dDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXNldHMgYWxsIGluZm9ybWF0aW9uIGluIHRoZSBjb250ZXh0IHRoYXQgaXMgZGlyZWN0bHkgcmVsYXRlZCB0bworICogdGhlIGxhdGVzdCBtb3VudCAoc3BlYywgc291cmNlLCB0YXJnZXQsIG1vdW50IG9wdGlvbnMsIC4uLikuCisgKgorICogVGhlIG1hdGNoIHBhdHRlcm5zLCB0YXJnZXQgbmFtZXNwYWNlLCBjYWNoZWQgZnN0YWIsIGNhY2hlZCBjYW5vbmljYWxpemVkCisgKiBwYXRocyBhbmQgdGFncyBhbmQgW2VddWlkIGFyZSBub3QgcmVzZXQuIFlvdSBoYXZlIHRvIHVzZQorICoKKyAqCW1udF9jb250ZXh0X3NldF9mc3RhYihjeHQsIE5VTEwpOworICoJbW50X2NvbnRleHRfc2V0X2NhY2hlKGN4dCwgTlVMTCk7CisgKgltbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4oY3h0LCBOVUxMKTsKKyAqCW1udF9jb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4oY3h0LCBOVUxMKTsKKyAqCW1udF9jb250ZXh0X3NldF90YXJnZXRfbnMoY3h0LCBOVUxMKTsKKyAqCisgKgorICogdG8gcmVzZXQgdGhpcyBzdHVmZi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3Jlc2V0X2NvbnRleHQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJaW50IGZsOworCisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiPC0tLS0gcmVzZXQgW3N0YXR1cz0lZF0gLS0tLT4iLAorCQkJCW1udF9jb250ZXh0X2dldF9zdGF0dXMoY3h0KSkpOworCisJZmwgPSBjeHQtPmZsYWdzOworCisJbW50X3VucmVmX2ZzKGN4dC0+ZnMpOworCW1udF91bnJlZl90YWJsZShjeHQtPm10YWIpOworCW1udF91bnJlZl90YWJsZShjeHQtPnV0YWIpOworCisJZnJlZShjeHQtPmhlbHBlcik7CisJZnJlZShjeHQtPm9yaWdfdXNlcik7CisKKwljeHQtPmZzID0gTlVMTDsKKwljeHQtPm10YWIgPSBOVUxMOworCWN4dC0+dXRhYiA9IE5VTEw7CisJY3h0LT5oZWxwZXIgPSBOVUxMOworCWN4dC0+b3JpZ191c2VyID0gTlVMTDsKKwljeHQtPm1vdW50ZmxhZ3MgPSAwOworCWN4dC0+dXNlcl9tb3VudGZsYWdzID0gMDsKKwljeHQtPm1vdW50ZGF0YSA9IE5VTEw7CisJY3h0LT5mbGFncyA9IE1OVF9GTF9ERUZBVUxUOworCisJLyogZnJlZSBhZGRpdGlvbmFsIG1vdW50cyBsaXN0ICovCisJd2hpbGUgKCFsaXN0X2VtcHR5KCZjeHQtPmFkZG1vdW50cykpIHsKKwkJc3RydWN0IGxpYm1udF9hZGRtb3VudCAqYWQgPSBsaXN0X2VudHJ5KGN4dC0+YWRkbW91bnRzLm5leHQsCisJCQkJICAgICAgICAgICAgICAgICAgc3RydWN0IGxpYm1udF9hZGRtb3VudCwKKwkJCQkJCSAgbW91bnRzKTsKKwkJbW50X2ZyZWVfYWRkbW91bnQoYWQpOworCX0KKworCW1udF9jb250ZXh0X3Jlc2V0X3N0YXR1cyhjeHQpOworCisJaWYgKGN4dC0+dGFibGVfZmx0cmNiKQorCQltbnRfY29udGV4dF9zZXRfdGFiZmlsdGVyKGN4dCwgTlVMTCwgTlVMTCk7CisKKwkvKiByZXN0b3JlIG5vbi1yZXNldHRhYmxlIGZsYWdzICovCisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfTk9NVEFCKTsKKwljeHQtPmZsYWdzIHw9IChmbCAmIE1OVF9GTF9GQUtFKTsKKwljeHQtPmZsYWdzIHw9IChmbCAmIE1OVF9GTF9TTE9QUFkpOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX1ZFUkJPU0UpOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX05PSEVMUEVSUyk7CisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfTE9PUERFTCk7CisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfTEFaWSk7CisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfRk9SSyk7CisJY3h0LT5mbGFncyB8PSAoZmwgJiBNTlRfRkxfRk9SQ0UpOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX05PQ0FOT05JQ0FMSVpFKTsKKwljeHQtPmZsYWdzIHw9IChmbCAmIE1OVF9GTF9SRE9OTFlfVU1PVU5UKTsKKwljeHQtPmZsYWdzIHw9IChmbCAmIE1OVF9GTF9SV09OTFlfTU9VTlQpOworCWN4dC0+ZmxhZ3MgfD0gKGZsICYgTU5UX0ZMX05PU1dBUE1BVENIKTsKKwljeHQtPmZsYWdzIHw9IChmbCAmIE1OVF9GTF9UQUJQQVRIU19DSEVDS0VEKTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3Jlc2V0X3N0YXR1czoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqCisgKiBSZXNldHMgbW91bnQoMikgYW5kIG1vdW50LnR5cGUgc3RhdHVzZXMsIHNvIG1udF9jb250ZXh0X2RvX21vdW50KCkgb3IKKyAqIG1udF9jb250ZXh0X2RvX3Vtb3VudCgpIGNvdWxkIGJlIGFnYWluIGNhbGxlZCB3aXRoIHRoZSBzYW1lIHNldHRpbmdzLgorICoKKyAqIEJFIENBUkVGVUwgLS0gYWZ0ZXIgdGhpcyBzb2Z0IHJlc2V0IHRoZSBsaWJtb3VudCB3aWxsIE5PVCBwYXJzZSBtb3VudAorICogb3B0aW9ucywgZXZhbHVhdGUgcGVybWlzc2lvbnMgb3IgYXBwbHkgc3R1ZmYgZnJvbSBmc3RhYi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWN4dC0+c3lzY2FsbF9zdGF0dXMgPSAxOwkJLyogbWVhbnMgbm90IGNhbGxlZCB5ZXQgKi8KKwljeHQtPmhlbHBlcl9leGVjX3N0YXR1cyA9IDE7CisJY3h0LT5oZWxwZXJfc3RhdHVzID0gMDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjb250ZXh0X2luaXRfcGF0aHMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCB3cml0YWJsZSkKK3sKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisKKwlhc3NlcnQoY3h0KTsKKworI2lmZGVmIFVTRV9MSUJNT1VOVF9TVVBQT1JUX01UQUIKKwlpZiAoIWN4dC0+bXRhYl9wYXRoKQorCQljeHQtPm10YWJfcGF0aCA9IG1udF9nZXRfbXRhYl9wYXRoKCk7CisjZW5kaWYKKwlpZiAoIWN4dC0+dXRhYl9wYXRoKQorCQljeHQtPnV0YWJfcGF0aCA9IG1udF9nZXRfdXRhYl9wYXRoKCk7CisKKwlpZiAoIXdyaXRhYmxlKQorCQlyZXR1cm4gMDsJCS8qIG9ubHkgcGF0aHMgd2FudGVkICovCisJaWYgKG1udF9jb250ZXh0X2lzX25vbXRhYihjeHQpKQorCQlyZXR1cm4gMDsJCS8qIHdyaXRlIG1vZGUgb3ZlcnJpZGRlbiBieSBtb3VudCAtbiAqLworCWlmIChjeHQtPmZsYWdzICYgTU5UX0ZMX1RBQlBBVEhTX0NIRUNLRUQpCisJCXJldHVybiAwOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiY2hlY2tpbmcgZm9yIHdyaXRhYmxlIHRhYiBmaWxlcyIpKTsKKworCWN4dC0+bXRhYl93cml0YWJsZSA9IDA7CisKKwluc19vbGQgPSBtbnRfY29udGV4dF9zd2l0Y2hfdGFyZ2V0X25zKGN4dCk7CisJaWYgKCFuc19vbGQpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKyNpZmRlZiBVU0VfTElCTU9VTlRfU1VQUE9SVF9NVEFCCisJbW50X2hhc19yZWd1bGFyX210YWIoJmN4dC0+bXRhYl9wYXRoLCAmY3h0LT5tdGFiX3dyaXRhYmxlKTsKKwlpZiAoIWN4dC0+bXRhYl93cml0YWJsZSkKKyNlbmRpZgorCQkvKiB1c2UgL3J1bi9tb3VudC91dGFiIGlmIC9ldGMvbXRhYiBpcyB1c2VsZXNzICovCisJCW1udF9oYXNfcmVndWxhcl91dGFiKCZjeHQtPnV0YWJfcGF0aCwgJmN4dC0+dXRhYl93cml0YWJsZSk7CisKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwljeHQtPmZsYWdzIHw9IE1OVF9GTF9UQUJQQVRIU19DSEVDS0VEOworCXJldHVybiAwOworfQorCitpbnQgbW50X2NvbnRleHRfbXRhYl93cml0YWJsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlhc3NlcnQoY3h0KTsKKworCWNvbnRleHRfaW5pdF9wYXRocyhjeHQsIDEpOworCXJldHVybiBjeHQtPm10YWJfd3JpdGFibGUgPT0gMTsKK30KKworaW50IG1udF9jb250ZXh0X3V0YWJfd3JpdGFibGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJYXNzZXJ0KGN4dCk7CisKKwljb250ZXh0X2luaXRfcGF0aHMoY3h0LCAxKTsKKwlyZXR1cm4gY3h0LT51dGFiX3dyaXRhYmxlID09IDE7Cit9CisKK2NvbnN0IGNoYXIgKm1udF9jb250ZXh0X2dldF93cml0YWJsZV90YWJwYXRoKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCisJY29udGV4dF9pbml0X3BhdGhzKGN4dCwgMSk7CisJcmV0dXJuIGN4dC0+bXRhYl93cml0YWJsZSA/IGN4dC0+bXRhYl9wYXRoIDogY3h0LT51dGFiX3BhdGg7Cit9CisKKworc3RhdGljIGludCBzZXRfZmxhZyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGZsYWcsIGludCBlbmFibGUpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChlbmFibGUpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZW5hYmxpbmcgZmxhZyAlMDR4IiwgZmxhZykpOworCQljeHQtPmZsYWdzIHw9IGZsYWc7CisJfSBlbHNlIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZGlzYWJsaW5nIGZsYWcgJTA0eCIsIGZsYWcpKTsKKwkJY3h0LT5mbGFncyAmPSB+ZmxhZzsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAwIGZvciBhbiB1bnJlc3RyaWN0ZWQgbW91bnQgKHVzZXIgaXMgcm9vdCksIG9yIDEgZm9yIG5vbi1yb290IG1vdW50cworICovCitpbnQgbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5yZXN0cmljdGVkOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3NldF9vcHRzbW9kZQorICogQGN4dDogbW91bnQgY29udGV4dAorICogQG1vZGU6IE1OVF9PTU9ERV8qIGZsYWdzCisgKgorICogQ29udHJvbHMgaG93IHRvIHVzZSBtb3VudCBvcHRpb25zc291cmNlIGFuZCB0YXJnZXQgcGF0aHMgZnJvbSBmc3RhYi9tdGFiLgorICoKKyAqIEBNTlRfT01PREVfSUdOT1JFOiBpZ25vcmUgbXRhYi9mc3RhYiBvcHRpb25zCisgKgorICogQE1OVF9PTU9ERV9BUFBFTkQ6IGFwcGVuZCBtdGFiL2ZzdGFiIG9wdGlvbnMgdG8gZXhpc3Rpbmcgb3B0aW9ucworICoKKyAqIEBNTlRfT01PREVfUFJFUEVORDogcHJlcGVuZCBtdGFiL2ZzdGFiIG9wdGlvbnMgdG8gZXhpc3Rpbmcgb3B0aW9ucworICoKKyAqIEBNTlRfT01PREVfUkVQTEFDRTogcmVwbGFjZSBleGlzdGluZyBvcHRpb25zIHdpdGggb3B0aW9ucyBmcm9tIG10YWIvZnN0YWIKKyAqCisgKiBATU5UX09NT0RFX0ZPUkNFOiBhbHdheXMgcmVhZCBtdGFiL2ZzdGFiIChhbHRob3VnaCBzb3VyY2UgYW5kIHRhcmdldCBhcmUgZGVmaW5lZCkKKyAqCisgKiBATU5UX09NT0RFX0ZTVEFCOiByZWFkIGZyb20gZnN0YWIKKyAqCisgKiBATU5UX09NT0RFX01UQUI6IHJlYWQgZnJvbSBtdGFiIGlmIGZzdGFiIG5vdCBlbmFibGVkIG9yIGZhaWxlZAorICoKKyAqIEBNTlRfT01PREVfTk9UQUI6IGRvIG5vdCByZWFkIGZzdGFiL210YWIgYXQgYWxsCisgKgorICogQE1OVF9PTU9ERV9BVVRPOiBkZWZhdWx0IG1vZGUgKE1OVF9PTU9ERV9QUkVQRU5EIHwgTU5UX09NT0RFX0ZTVEFCIHwgTU5UX09NT0RFX01UQUIpCisgKgorICogQE1OVF9PTU9ERV9VU0VSOiBkZWZhdWx0IGZvciBub24tcm9vdCB1c2VycyAoTU5UX09NT0RFX1JFUExBQ0UgfCBNTlRfT01PREVfRk9SQ0UgfCBNTlRfT01PREVfRlNUQUIpCisgKgorICogTm90ZXM6CisgKgorICogLSBNTlRfT01PREVfVVNFUiBpcyBhbHdheXMgdXNlZCBpZiBtb3VudCBjb250ZXh0IGlzIGluIHJlc3RyaWN0ZWQgbW9kZQorICogLSBNTlRfT01PREVfQVVUTyBpcyB1c2VkIGlmIG5vdGhpbmcgZWxzZSBpcyBkZWZpbmVkCisgKiAtIHRoZSBmbGFncyBhcmUgZXZhbHVhdGVkIGluIHRoaXMgb3JkZXI6IE1OVF9PTU9ERV9OT1RBQiwgTU5UX09NT0RFX0ZPUkNFLAorICogICBNTlRfT01PREVfRlNUQUIsIE1OVF9PTU9ERV9NVEFCIGFuZCB0aGVuIHRoZSBtb3VudCBvcHRpb25zIGZyb20gZnN0YWIvbXRhYgorICogICBhcmUgc2V0IGFjY29yZGluZyB0byBNTlRfT01PREVfe0lHTk9SRSxBUFBFTkQsUFJFUEFORCxSRVBMQUNFfQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfb3B0c21vZGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBtb2RlKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwljeHQtPm9wdHNtb2RlID0gbW9kZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfb3B0c21vZGUKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBNTlRfT01PREVfKiBtYXNrIG9yIHplcm8uCisgKi8KKworaW50IG1udF9jb250ZXh0X2dldF9vcHRzbW9kZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5vcHRzbW9kZTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBkaXNhYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRW5hYmxlL2Rpc2FibGUgcGF0aHMgY2Fub25pY2FsaXphdGlvbiBhbmQgdGFncyBldmFsdWF0aW9uLiBUaGUgbGlibW91bnQgY29udGV4dAorICogY2Fub25pY2FsaXplcyBwYXRocyB3aGVuIHNlYXJjaGluZyBpbiBmc3RhYiBhbmQgd2hlbiBwcmVwYXJpbmcgc291cmNlIGFuZCB0YXJnZXQgcGF0aHMKKyAqIGZvciBtb3VudCgyKSBzeXNjYWxsLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gaGFzIGFuIGVmZmVjdCBvbiB0aGUgcHJpdmF0ZSAod2l0aGluIGNvbnRleHQpIGZzdGFiIGluc3RhbmNlIG9ubHkKKyAqIChzZWUgbW50X2NvbnRleHRfc2V0X2ZzdGFiKCkpLiBJZiB5b3Ugd2FudCB0byB1c2UgYW4gZXh0ZXJuYWwgZnN0YWIgdGhlbiB5b3UKKyAqIG5lZWQgdG8gbWFuYWdlIHlvdXIgcHJpdmF0ZSBzdHJ1Y3QgbGlibW50X2NhY2hlIChzZWUgbW50X3RhYmxlX3NldF9jYWNoZShmc3RhYiwKKyAqIE5VTEwpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGRpc2FibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX05PQ0FOT05JQ0FMSVpFLCBkaXNhYmxlKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIG5vLWNhbm9uaWNhbGl6ZSBtb2RlIGlzIGVuYWJsZWQgb3IgMC4KKyAqLworaW50IG1udF9jb250ZXh0X2lzX25vY2Fub25pY2FsaXplKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX05PQ0FOT05JQ0FMSVpFID8gMSA6IDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZW5hYmxlX2xhenk6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZW5hYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRW5hYmxlL2Rpc2FibGUgbGF6eSB1bW91bnQgKHNlZSB1bW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtbCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV9sYXp5KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9MQVpZLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2xhenk6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBsYXp5IHVtb3VudCBpcyBlbmFibGVkIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX2xhenkoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTEFaWSA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2VuYWJsZV9mb3JrOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGVuYWJsZTogVFJVRSBvciBGQUxTRQorICoKKyAqIEVuYWJsZS9kaXNhYmxlIGZvcmsoMikgY2FsbCBpbiBtbnRfY29udGV4dF9uZXh0X21vdW50KCkgKHNlZSBtb3VudCg4KSBtYW4KKyAqIHBhZ2UsIG9wdGlvbiAtRikuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV9mb3JrKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9GT1JLLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2Zvcms6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBmb3JrIChtb3VudCAtRikgaXMgZW5hYmxlZCBvciAwCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19mb3JrKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX0ZPUksgPyAxIDogMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19wYXJlbnQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuOiAxIGlmIG1vdW50IC1GIGVuYWJsZWQgYW5kIHRoZSBjdXJyZW50IGNvbnRleHQgaXMgcGFyZW50LCBvciAwCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19wYXJlbnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIG1udF9jb250ZXh0X2lzX2ZvcmsoY3h0KSAmJiBjeHQtPnBpZCA9PSAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2NoaWxkOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybjogMSBmIHRoZSBjdXJyZW50IGNvbnRleHQgaXMgY2hpbGQsIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX2NoaWxkKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCS8qIFNlZSBtbnRfZm9ya19jb250ZXh0KCksIHRoZSBmb3IgZm9yayBmbGFnIGlzIGFsd2F5cyBkaXNhYmxlZAorCSAqIGZvciBjaGlsZHJlbiB0byBhdm9pZCByZWN1cnNpdmUgZm9ya2luZy4KKwkgKi8KKwlyZXR1cm4gIW1udF9jb250ZXh0X2lzX2ZvcmsoY3h0KSAmJiBjeHQtPnBpZDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9lbmFibGVfcmRvbmx5X3Vtb3VudDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBlbmFibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBFbmFibGUvZGlzYWJsZSByZWFkLW9ubHkgcmVtb3VudCBvbiBmYWlsZWQgdW1vdW50KDIpCisgKiAoc2VlIHVtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1yKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX1JET05MWV9VTU9VTlQsIGVuYWJsZSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfcmRvbmx5X3Vtb3VudAorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50KCkgYW5kIHVtb3VudCg4KSBtYW4gcGFnZSwKKyAqIG9wdGlvbiAtci4KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHJlYWQtb25seSByZW1vdW50IGZhaWxlZCB1bW91bnQoMikgaXMgZW5hYmxlcyBvciAwCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19yZG9ubHlfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX1JET05MWV9VTU9VTlQgPyAxIDogMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9lbmFibGVfcndvbmx5X21vdW50OgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGVuYWJsZTogVFJVRSBvciBGQUxTRQorICoKKyAqIEZvcmNlIHJlYWQtd3JpdGUgbW91bnQ7IGlmIGVuYWJsZWQgbGlibW91bnQgd2lsbCBuZXZlciB0cnkgTVNfUkRPTkxZCisgKiBhZnRlciBmYWlsZWQgbW91bnQoMikgRVJPRlMuIChTZWUgbW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtdykuCisgKgorICogU2luY2U6IDIuMzAKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZW5hYmxlX3J3b25seV9tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSkKK3sKKwlyZXR1cm4gc2V0X2ZsYWcoY3h0LCBNTlRfRkxfUldPTkxZX01PVU5ULCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX3J3b25seV9tb3VudAorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2VuYWJsZV9yd29ubHlfbW91bnQoKSBhbmQgbW91bnQoOCkgbWFuIHBhZ2UsCisgKiBvcHRpb24gLXcuCisgKgorICogU2luY2U6IDIuMzAKKyAqCisgKiBSZXR1cm5zOiAxIGlmIG9ubHkgcmVhZC13cml0ZSBtb3VudCBpcyBhbGxvd2VkLgorICovCitpbnQgbW50X2NvbnRleHRfaXNfcndvbmx5X21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX1JXT05MWV9NT1VOVCA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2ZvcmNlZF9yZG9ubHk6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogU2VlIGFsc28gbW50X2NvbnRleHRfZW5hYmxlX3J3b25seV9tb3VudCgpLgorICoKKyAqIFNpbmNlOiAyLjMwCisgKgorICogUmV0dXJuczogMSBpZiBtb3VudGVkIHJlYWQtb25seSBvbiB3cml0ZS1wcm90ZWN0ZWQgZGV2aWNlLgorICovCitpbnQgbW50X2NvbnRleHRfZm9yY2VkX3Jkb25seShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5mbGFncyAmIE1OVF9GTF9GT1JDRURfUkRPTkxZID8gMSA6IDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZGlzYWJsZV9oZWxwZXJzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGRpc2FibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBFbmFibGUvZGlzYWJsZSAvc2Jpbi9bdV1tb3VudC4qIGhlbHBlcnMgKHNlZSBtb3VudCg4KSBtYW4gcGFnZSwgb3B0aW9uIC1pKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZGlzYWJsZV9oZWxwZXJzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZGlzYWJsZSkKK3sKKwlyZXR1cm4gc2V0X2ZsYWcoY3h0LCBNTlRfRkxfTk9IRUxQRVJTLCBkaXNhYmxlKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19ub2hlbHBlcnMKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGhlbHBlcnMgYXJlIGRpc2FibGVkIChtb3VudCAtaSkgb3IgMAorICovCitpbnQgbW50X2NvbnRleHRfaXNfbm9oZWxwZXJzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX05PSEVMUEVSUyA/IDEgOiAwOworfQorCisKKy8qKgorICogbW50X2NvbnRleHRfZW5hYmxlX3Nsb3BweToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBlbmFibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBTZXQvdW5zZXQgc2xvcHB5IG1vdW50aW5nIChzZWUgbW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtcykuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV9zbG9wcHkoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX1NMT1BQWSwgZW5hYmxlKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19zbG9wcHk6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBzbG9wcHkgZmxhZyBpcyBlbmFibGVkIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX3Nsb3BweShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5mbGFncyAmIE1OVF9GTF9TTE9QUFkgPyAxIDogMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9lbmFibGVfZmFrZToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBlbmFibGU6IFRSVUUgb3IgRkFMU0UKKyAqCisgKiBFbmFibGUvZGlzYWJsZSBmYWtlIG1vdW50aW5nIChzZWUgbW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtZikuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV9mYWtlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9GQUtFLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2Zha2U6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBmYWtlIGZsYWcgaXMgZW5hYmxlZCBvciAwCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19mYWtlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX0ZBS0UgPyAxIDogMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9kaXNhYmxlX210YWI6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZGlzYWJsZTogVFJVRSBvciBGQUxTRQorICoKKyAqIERpc2FibGUvZW5hYmxlIG10YWIgdXBkYXRlIChzZWUgbW91bnQoOCkgbWFuIHBhZ2UsIG9wdGlvbiAtbikuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2Rpc2FibGVfbXRhYihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGRpc2FibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX05PTVRBQiwgZGlzYWJsZSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfaXNfbm9tdGFiOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgbm8tbXRhYiBpcyBlbmFibGVkIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX25vbXRhYihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5mbGFncyAmIE1OVF9GTF9OT01UQUIgPyAxIDogMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBkaXNhYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRGlzYWJsZS9lbmFibGUgc3dhcCBiZXR3ZWVuIHNvdXJjZSBhbmQgdGFyZ2V0IGZvciBtb3VudCg4KSBpZiBvbmx5IG9uZSBwYXRoCisgKiBpcyBzcGVjaWZpZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZGlzYWJsZSkKK3sKKwlyZXR1cm4gc2V0X2ZsYWcoY3h0LCBNTlRfRkxfTk9TV0FQTUFUQ0gsIGRpc2FibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX3N3YXBtYXRjaDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHN3YXAgYmV0d2VlbiBzb3VyY2UgYW5kIHRhcmdldCBpcyBhbGxvd2VkIChkZWZhdWx0IGlzIDEpIG9yIDAuCisgKi8KK2ludCBtbnRfY29udGV4dF9pc19zd2FwbWF0Y2goc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTk9TV0FQTUFUQ0ggPyAwIDogMTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9lbmFibGVfZm9yY2U6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZW5hYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRW5hYmxlL2Rpc2FibGUgZm9yY2UgdW1vdW50aW5nIChzZWUgdW1vdW50KDgpIG1hbiBwYWdlLCBvcHRpb24gLWYpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9lbmFibGVfZm9yY2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpCit7CisJcmV0dXJuIHNldF9mbGFnKGN4dCwgTU5UX0ZMX0ZPUkNFLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2ZvcmNlCisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBmb3JjZSB1bW91bnRpbmcgZmxhZyBpcyBlbmFibGVkIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX2ZvcmNlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX0ZPUkNFID8gMSA6IDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZW5hYmxlX3ZlcmJvc2U6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZW5hYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRW5hYmxlL2Rpc2FibGUgdmVyYm9zZSBvdXRwdXQgKFRPRE86IG5vdCBpbXBsZW1lbnRlZCB5ZXQpCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV92ZXJib3NlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9WRVJCT1NFLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX3ZlcmJvc2UKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHZlcmJvc2UgZmxhZyBpcyBlbmFibGVkIG9yIDAKKyAqLworaW50IG1udF9jb250ZXh0X2lzX3ZlcmJvc2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZmxhZ3MgJiBNTlRfRkxfVkVSQk9TRSA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2VuYWJsZV9sb29wZGVsOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGVuYWJsZTogVFJVRSBvciBGQUxTRQorICoKKyAqIEVuYWJsZS9kaXNhYmxlIHRoZSBsb29wIGRlbGV0ZSAoZGVzdHJveSkgYWZ0ZXIgdW1vdW50IChzZWUgdW1vdW50KDgpLCBvcHRpb24gLWQpCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2VuYWJsZV9sb29wZGVsKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKQoreworCXJldHVybiBzZXRfZmxhZyhjeHQsIE1OVF9GTF9MT09QREVMLCBlbmFibGUpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2lzX2xvb3BkZWw6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBsb29wIGRldmljZSBzaG91bGQgYmUgZGVsZXRlZCBhZnRlciB1bW91bnQgKHVtb3VudCAtZCkgb3IgMC4KKyAqLworaW50IG1udF9jb250ZXh0X2lzX2xvb3BkZWwoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTE9PUERFTCA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3NldF9mczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBmczogZmlsZXN5c3RlbSBkZXNjcmlwdGlvbgorICoKKyAqIFRoZSBtb3VudCBjb250ZXh0IHVzZXMgcHJpdmF0ZSBAZnMgYnkgZGVmYXVsdC4gVGhpcyBmdW5jdGlvbiBhbGxvd3MgdG8KKyAqIG92ZXJ3cml0ZSB0aGUgcHJpdmF0ZSBAZnMgd2l0aCBhbiBleHRlcm5hbCBpbnN0YW5jZS4gVGhpcyBmdW5jdGlvbgorICogaW5jcmVtZW50cyBAZnMgcmVmZXJlbmNlIGNvdW50ZXIgKGFuZCBkZWNyZW1lbnQgcmVmZXJlbmNlIGNvdW50ZXIgb2YgdGhlCisgKiBvbGQgZnMpLgorICoKKyAqIFRoZSBAZnMgd2lsbCBiZSBtb2RpZmllZCBieSBtbnRfY29udGV4dF9zZXRfe3NvdXJjZSx0YXJnZXQsb3B0aW9ucyxmc3R5cGV9CisgKiBmdW5jdGlvbnMsIElmIHRoZSBAZnMgaXMgTlVMTCwgdGhlbiBhbGwgY3VycmVudCBGUyBzcGVjaWZpYyBzZXR0aW5ncyAoc291cmNlLAorICogdGFyZ2V0LCBldGMuLCBleGNsdWRlIHNwZWMpIGFyZSByZXNldC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X2ZzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltbnRfcmVmX2ZzKGZzKTsJCQkvKiBuZXcgKi8KKwltbnRfdW5yZWZfZnMoY3h0LT5mcyk7CQkvKiBvbGQgKi8KKwljeHQtPmZzID0gZnM7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X2ZzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFRoZSBGUyBjb250YWlucyB0aGUgYmFzaWMgZGVzY3JpcHRpb24gb2YgbW91bnRwb2ludCwgZnMgdHlwZSBhbmQgc28gb24uCisgKiBOb3RlIHRoYXQgdGhlIEZTIGlzIG1vZGlmaWVkIGJ5IG1udF9jb250ZXh0X3NldF97c291cmNlLHRhcmdldCxvcHRpb25zLGZzdHlwZX0KKyAqIGZ1bmN0aW9ucy4KKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIEZTIGRlc2NyaXB0aW9uIG9yIE5VTEwgaW4gY2FzZSBvZiBhIGNhbGxvYygpIGVycm9yLgorICovCitzdHJ1Y3QgbGlibW50X2ZzICptbnRfY29udGV4dF9nZXRfZnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiBOVUxMOworCWlmICghY3h0LT5mcykKKwkJY3h0LT5mcyA9IG1udF9uZXdfZnMoKTsKKwlyZXR1cm4gY3h0LT5mczsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfZnNfdXNlcmRhdGE6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogcG9pbnRlciB0byB1c2VyZGF0YSBvciBOVUxMLgorICovCit2b2lkICptbnRfY29udGV4dF9nZXRfZnNfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZnMgPyBtbnRfZnNfZ2V0X3VzZXJkYXRhKGN4dC0+ZnMpIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfZnN0YWJfdXNlcmRhdGE6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogcG9pbnRlciB0byB1c2VyZGF0YSBvciBOVUxMLgorICovCit2b2lkICptbnRfY29udGV4dF9nZXRfZnN0YWJfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIGN4dC0+ZnN0YWIgPyBtbnRfdGFibGVfZ2V0X3VzZXJkYXRhKGN4dC0+ZnN0YWIpIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfbXRhYl91c2VyZGF0YToKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHVzZXJkYXRhIG9yIE5VTEwuCisgKi8KK3ZvaWQgKm1udF9jb250ZXh0X2dldF9tdGFiX3VzZXJkYXRhKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPm10YWIgPyBtbnRfdGFibGVfZ2V0X3VzZXJkYXRhKGN4dC0+bXRhYikgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3NldF9zb3VyY2U6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAc291cmNlOiBtb3VudCBzb3VyY2UgKGRldmljZSwgZGlyZWN0b3J5LCBVVUlELCBMQUJFTCwgLi4uKQorICoKKyAqIE5vdGUgdGhhdCBsaWJtb3VudCBkb2VzIG5vdCBpbnRlcnByZXQgIm5vZmFpbCIgKE1OVF9NU19OT0ZBSUwpCisgKiBtb3VudCBvcHRpb24uIFRoZSByZWFsIHJldHVybiBjb2RlIGlzIGFsd2F5cyByZXR1cm5lZCwgd2hlbgorICogdGhlIGRldmljZSBkb2VzIG5vdCBleGlzdCB0aGVuIGl0J3MgdXN1YWxseSBNTlRfRVJSX05PU09VUkNFCisgKiBmcm9tIGxpYm1vdW50IG9yIEVOT0VOVCwgRU5PVERJUiwgRU5PVEJMSywgRU5YSU8gZnJvbSBtb3VudCgyKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X3NvdXJjZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqc291cmNlKQoreworCXJldHVybiBtbnRfZnNfc2V0X3NvdXJjZShtbnRfY29udGV4dF9nZXRfZnMoY3h0KSwgc291cmNlKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfc291cmNlOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IHJldHVybnMgcG9pbnRlciBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3Igb3IgaWYgbm90IHNldC4KKyAqLworY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X3NvdXJjZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gbW50X2ZzX2dldF9zb3VyY2UobW50X2NvbnRleHRfZ2V0X2ZzKGN4dCkpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3NldF90YXJnZXQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAdGFyZ2V0OiBtb3VudHBvaW50CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X3NldF90YXJnZXQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnRhcmdldCkKK3sKKwlyZXR1cm4gbW50X2ZzX3NldF90YXJnZXQobW50X2NvbnRleHRfZ2V0X2ZzKGN4dCksIHRhcmdldCk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X3RhcmdldDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm5zOiByZXR1cm5zIHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yIG9yIGlmIG5vdCBzZXQuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9jb250ZXh0X2dldF90YXJnZXQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIG1udF9mc19nZXRfdGFyZ2V0KG1udF9jb250ZXh0X2dldF9mcyhjeHQpKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfZnN0eXBlOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGZzdHlwZTogZmlsZXN5c3RlbSB0eXBlCisgKgorICogTm90ZSB0aGF0IHRoZSBAZnN0eXBlIGhhcyB0byBiZSBhIEZTIHR5cGUuIEZvciBwYXR0ZXJucyB3aXRoCisgKiBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBmaWxlc3lzdGVtcyBvciBmb3IgdGhlICJub2ZzIiBub3RhdGlvbiwgdXNlCisgKiBtbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4oKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X2ZzdHlwZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqZnN0eXBlKQoreworCXJldHVybiBtbnRfZnNfc2V0X2ZzdHlwZShtbnRfY29udGV4dF9nZXRfZnMoY3h0KSwgZnN0eXBlKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfZnN0eXBlOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yIG9yIGlmIG5vdCBzZXQuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9jb250ZXh0X2dldF9mc3R5cGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIG1udF9mc19nZXRfZnN0eXBlKG1udF9jb250ZXh0X2dldF9mcyhjeHQpKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfb3B0aW9uczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBvcHRzdHI6IGNvbW1hIGRlbGltaXRlZCBtb3VudCBvcHRpb25zCisgKgorICogTm90ZSB0aGF0IHRoYXQgTVNfTU9WRSBjYW5ub3QgYmUgc3BlY2lmaWVkIGFzICJzdHJpbmciLiBJdCdzIG9wZXJhdGlvbiB0aGF0CisgKiBpcyBubyBzdXBwb3J0ZWQgaW4gZnN0YWIgKGV0Yy4pCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X3NldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpvcHRzdHIpCit7CisJcmV0dXJuIG1udF9mc19zZXRfb3B0aW9ucyhtbnRfY29udGV4dF9nZXRfZnMoY3h0KSwgb3B0c3RyKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9hcHBlbmRfb3B0aW9uczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBvcHRzdHI6IGNvbW1hIGRlbGltaXRlZCBtb3VudCBvcHRpb25zCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2FwcGVuZF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpvcHRzdHIpCit7CisJcmV0dXJuIG1udF9mc19hcHBlbmRfb3B0aW9ucyhtbnRfY29udGV4dF9nZXRfZnMoY3h0KSwgb3B0c3RyKTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfb3B0aW9uczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgbW91bnQgb3B0aW9ucyBzZXQgYnkgbW50X2NvbnRleHRfc2V0X29wdGlvbnMoKSBvcgorICogbW50X2NvbnRleHRfYXBwZW5kX29wdGlvbnMoKS4KKyAqCisgKiBOb3RlIHRoYXQgKmFmdGVyKiBtbnRfY29udGV4dF9wcmVwYXJlX21vdW50KCksIHRoZSBtb3VudCBvcHRpb25zIHN0cmluZworICogbWF5IGFsc28gaW5jbHVkZSBvcHRpb25zIHNldCBieSBtbnRfY29udGV4dF9zZXRfbWZsYWdzKCkgb3Igb3RoZXIgb3B0aW9ucworICogZ2VuZXJhdGVkIGJ5IHRoaXMgbGlicmFyeS4KKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIG9yIE5VTEwKKyAqLworY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X29wdGlvbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuIG1udF9mc19nZXRfb3B0aW9ucyhtbnRfY29udGV4dF9nZXRfZnMoY3h0KSk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQHBhdHRlcm46IEZTIG5hbWUgcGF0dGVybiAob3IgTlVMTCB0byByZXNldCB0aGUgY3VycmVudCBzZXR0aW5nKQorICoKKyAqIFNlZSBtb3VudCg4KSwgb3B0aW9uIC10LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKHBhdHRlcm4pIHsKKwkJcCA9IHN0cmR1cChwYXR0ZXJuKTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfQorCWZyZWUoY3h0LT5mc3R5cGVfcGF0dGVybik7CisJY3h0LT5mc3R5cGVfcGF0dGVybiA9IHA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X29wdGlvbnNfcGF0dGVybjoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBwYXR0ZXJuOiBvcHRpb25zIHBhdHRlcm4gKG9yIE5VTEwgdG8gcmVzZXQgdGhlIGN1cnJlbnQgc2V0dGluZykKKyAqCisgKiBTZWUgbW91bnQoOCksIG9wdGlvbiAtTy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X29wdGlvbnNfcGF0dGVybihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqcGF0dGVybikKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAocGF0dGVybikgeworCQlwID0gc3RyZHVwKHBhdHRlcm4pOworCQlpZiAoIXApCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisJZnJlZShjeHQtPm9wdHN0cl9wYXR0ZXJuKTsKKwljeHQtPm9wdHN0cl9wYXR0ZXJuID0gcDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfZnN0YWI6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAdGI6IGZzdGFiCisgKgorICogVGhlIG1vdW50IGNvbnRleHQgcmVhZHMgL2V0Yy9mc3RhYiB0byB0aGUgcHJpdmF0ZSBzdHJ1Y3QgbGlibW50X3RhYmxlIGJ5IGRlZmF1bHQuCisgKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyB0byBvdmVyd3JpdGUgdGhlIHByaXZhdGUgZnN0YWIgd2l0aCBhbiBleHRlcm5hbAorICogaW5zdGFuY2UuCisgKgorICogVGhpcyBmdW5jdGlvbiBtb2RpZnkgdGhlIEB0YiByZWZlcmVuY2UgY291bnRlci4gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBzZXQKKyAqIHRoZSBjYWNoZSBmb3IgdGhlIEB0Yi4gWW91IGhhdmUgdG8gZXhwbGljaXRseSBjYWxsIG1udF90YWJsZV9zZXRfY2FjaGUodGIsCisgKiBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KSk7CisgKgorICogVGhlIGZzdGFiIGlzIHVzZWQgcmVhZC1vbmx5IGFuZCBpcyBub3QgbW9kaWZpZWQsIGl0IHNob3VsZCBiZSBwb3NzaWJsZSB0bworICogc2hhcmUgdGhlIGZzdGFiIGJldHdlZW4gbW9yZSBtb3VudCBjb250ZXh0cyAoVE9ETzogdGVzdCBpdC4pCisgKgorICogSWYgdGhlIEB0YiBhcmd1bWVudCBpcyBOVUxMLCB0aGVuIHRoZSBjdXJyZW50IHByaXZhdGUgZnN0YWIgaW5zdGFuY2UgaXMKKyAqIHJlc2V0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfZnN0YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1udF9yZWZfdGFibGUodGIpOwkJLyogbmV3ICovCisJbW50X3VucmVmX3RhYmxlKGN4dC0+ZnN0YWIpOwkvKiBvbGQgKi8KKworCWN4dC0+ZnN0YWIgPSB0YjsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfZnN0YWI6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAdGI6IHJldHVybnMgZnN0YWIKKyAqCisgKiBTZWUgYWxzbyBtbnRfdGFibGVfcGFyc2VfZnN0YWIoKSBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IGZzdGFiLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9nZXRfZnN0YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIHN0cnVjdCBsaWJtbnRfdGFibGUgKip0YikKK3sKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFjeHQtPmZzdGFiKSB7CisJCWludCByYzsKKworCQljeHQtPmZzdGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIWN4dC0+ZnN0YWIpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJaWYgKGN4dC0+dGFibGVfZXJyY2IpCisJCQltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihjeHQtPmZzdGFiLCBjeHQtPnRhYmxlX2VycmNiKTsKKworCQluc19vbGQgPSBtbnRfY29udGV4dF9zd2l0Y2hfdGFyZ2V0X25zKGN4dCk7CisJCWlmICghbnNfb2xkKQorCQkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCQltbnRfdGFibGVfc2V0X2NhY2hlKGN4dC0+ZnN0YWIsIG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpKTsKKwkJcmMgPSBtbnRfdGFibGVfcGFyc2VfZnN0YWIoY3h0LT5mc3RhYiwgTlVMTCk7CisKKwkJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJfQorCisJaWYgKHRiKQorCQkqdGIgPSBjeHQtPmZzdGFiOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9tdGFiOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQHRiOiByZXR1cm5zIG10YWIKKyAqCisgKiBTZWUgYWxzbyBtbnRfdGFibGVfcGFyc2VfbXRhYigpIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgbXRhYi9tb3VudGluZm8uIFRoZQorICogcmVzdWx0IHdpbGwgYmUgZGVhbGxvY2F0ZWQgYnkgbW50X2ZyZWVfY29udGV4dChAY3h0KS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfZ2V0X210YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIHN0cnVjdCBsaWJtbnRfdGFibGUgKip0YikKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZCA9IE5VTEw7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFjeHQtPm10YWIpIHsKKwkJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCQlpZiAoIW5zX29sZCkKKwkJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwkJY29udGV4dF9pbml0X3BhdGhzKGN4dCwgMCk7CisKKwkJY3h0LT5tdGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIWN4dC0+bXRhYikgeworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBlbmQ7CisJCX0KKworCQlpZiAoY3h0LT50YWJsZV9lcnJjYikKKwkJCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKGN4dC0+bXRhYiwgY3h0LT50YWJsZV9lcnJjYik7CisJCWlmIChjeHQtPnRhYmxlX2ZsdHJjYikKKwkJCW1udF90YWJsZV9zZXRfcGFyc2VyX2ZsdHJjYihjeHQtPm10YWIsCisJCQkJCWN4dC0+dGFibGVfZmx0cmNiLAorCQkJCQljeHQtPnRhYmxlX2ZsdHJjYl9kYXRhKTsKKworCQltbnRfdGFibGVfc2V0X2NhY2hlKGN4dC0+bXRhYiwgbW50X2NvbnRleHRfZ2V0X2NhY2hlKGN4dCkpOworCisJCS8qCisJCSAqIE5vdGUgdGhhdCBtdGFiX3BhdGggaXMgTlVMTCBpZiBtdGFiIGlzIHVzZWxlc3Mgb3IgdW5zdXBwb3J0ZWQKKwkJICovCisJCWlmIChjeHQtPnV0YWIpCisJCQkvKiB1dGFiIGFscmVhZHkgcGFyc2VkLCBkb24ndCBwYXJzZSBpdCBhZ2FpbiAqLworCQkJcmMgPSBfX21udF90YWJsZV9wYXJzZV9tdGFiKGN4dC0+bXRhYiwKKwkJCQkJCSAgICBjeHQtPm10YWJfcGF0aCwgY3h0LT51dGFiKTsKKwkJZWxzZQorCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfbXRhYihjeHQtPm10YWIsIGN4dC0+bXRhYl9wYXRoKTsKKwkJaWYgKHJjKQorCQkJZ290byBlbmQ7CisJfQorCisJaWYgKHRiKQorCQkqdGIgPSBjeHQtPm10YWI7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtdGFiIHJlcXVlc3RlZCBbbmVudHM9JWRdIiwKKwkJCQltbnRfdGFibGVfZ2V0X25lbnRzKGN4dC0+bXRhYikpKTsKKworZW5kOgorCWlmIChuc19vbGQgJiYgIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBDYWxsZWQgYnkgbXRhYiBwYXJzZXIgdG8gZmlsdGVyIG91dCBlbnRyaWVzLCBub24temVybyBtZWFucyB0aGF0CisgKiBhbiBlbnRyeSBoYXMgdG8gYmUgZmlsdGVyZWQgb3V0LgorICovCitzdGF0aWMgaW50IG10YWJfZmlsdGVyKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB2b2lkICpkYXRhKQoreworCWlmICghZnMgfHwgIWRhdGEpCisJCXJldHVybiAwOworCWlmIChtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCBkYXRhKSkKKwkJcmV0dXJuIDA7CisJaWYgKG1udF9mc19zdHJlcV9zcmNwYXRoKGZzLCBkYXRhKSkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBUaGUgc2FtZSBsaWtlIG1udF9jb250ZXh0X2dldF9tdGFiKCksIGJ1dCBkb2VzIG5vdCByZWFkIGFsbCBtb3VudGluZm8vbXRhYgorICogZmlsZSwgYnV0IG9ubHkgZW50cmllcyByZWxldmFudCBmb3IgQHRndC4KKyAqLworaW50IG1udF9jb250ZXh0X2dldF9tdGFiX2Zvcl90YXJnZXQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJICAgIHN0cnVjdCBsaWJtbnRfdGFibGUgKiptdGFiLAorCQkJCSAgICBjb25zdCBjaGFyICp0Z3QpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUgPSBOVUxMOworCWNoYXIgKmNuX3RndCA9IE5VTEw7CisJaW50IHJjOworCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZDsKKworCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnMoY3h0KTsKKwlpZiAoIW5zX29sZCkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCWlmIChtbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZShjeHQpKQorCQltbnRfY29udGV4dF9zZXRfdGFiZmlsdGVyKGN4dCwgbXRhYl9maWx0ZXIsICh2b2lkICopIHRndCk7CisKKwllbHNlIGlmIChtbnRfc3RhdF9tb3VudHBvaW50KHRndCwgJnN0KSA9PSAwICYmIFNfSVNESVIoc3Quc3RfbW9kZSkpIHsKKwkJY2FjaGUgPSBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KTsKKwkJY25fdGd0ID0gbW50X3Jlc29sdmVfcGF0aCh0Z3QsIGNhY2hlKTsKKwkJaWYgKGNuX3RndCkKKwkJCW1udF9jb250ZXh0X3NldF90YWJmaWx0ZXIoY3h0LCBtdGFiX2ZpbHRlciwgY25fdGd0KTsKKwl9CisKKwlyYyA9IG1udF9jb250ZXh0X2dldF9tdGFiKGN4dCwgbXRhYik7CisJbW50X2NvbnRleHRfc2V0X3RhYmZpbHRlcihjeHQsIE5VTEwsIE5VTEwpOworCisJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJaWYgKGNuX3RndCAmJiAhY2FjaGUpCisJCWZyZWUoY25fdGd0KTsKKworCXJldHVybiByYzsKK30KKworLyoKKyAqIEFsbG93cyB0byBzcGVjaWZ5IGEgZmlsdGVyIGZvciB0YWIgZmlsZSBlbnRyaWVzLiBUaGUgZmlsdGVyIGlzIGNhbGxlZCBieQorICogdGhlIHRhYmxlIHBhcnNlci4gQ3VycmVudGx5IHVzZWQgZm9yIG10YWIgYW5kIHV0YWIgb25seS4KKyAqLworaW50IG1udF9jb250ZXh0X3NldF90YWJmaWx0ZXIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkgICAgICBpbnQgKCpmbHRyKShzdHJ1Y3QgbGlibW50X2ZzICosIHZvaWQgKiksCisJCQkgICAgICB2b2lkICpkYXRhKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWN4dC0+dGFibGVfZmx0cmNiID0gZmx0cjsKKwljeHQtPnRhYmxlX2ZsdHJjYl9kYXRhID0gZGF0YTsKKworCWlmIChjeHQtPm10YWIpCisJCW1udF90YWJsZV9zZXRfcGFyc2VyX2ZsdHJjYihjeHQtPm10YWIsCisJCQkJY3h0LT50YWJsZV9mbHRyY2IsCisJCQkJY3h0LT50YWJsZV9mbHRyY2JfZGF0YSk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ0YWJmaWx0ZXIgJXMiLCBmbHRyID8gIkVOQUJMRUQhIiA6ICJkaXNhYmxlZCIpKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfdGFibGU6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZmlsZW5hbWU6IGUuZy4gL3Byb2Mvc2VsZi9tb3VudGluZm8KKyAqIEB0YjogcmV0dXJucyB0aGUgdGFibGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFsbG9jYXRlcyBhIG5ldyB0YWJsZSBhbmQgcGFyc2VzIHRoZSBAZmlsZS4gVGhlIHBhcnNlciBlcnJvcgorICogY2FsbGJhY2sgYW5kIGNhY2hlIGZvciB0YWdzIGFuZCBwYXRocyBpcyBzZXQgYWNjb3JkaW5nIHRvIHRoZSBAY3h0IHNldHRpbmcuCisgKiBTZWUgYWxzbyBtbnRfdGFibGVfcGFyc2VfZmlsZSgpLgorICoKKyAqIEl0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBtbnRfY29udGV4dF9nZXRfbXRhYigpIGFuZAorICogbW50X2NvbnRleHRfZ2V0X2ZzdGFiKCkgZnVuY3Rpb25zIGZvciBtdGFiIGFuZCBmc3RhYiBmaWxlcy4gVGhpcyBmdW5jdGlvbgorICogZG9lcyBub3QgY2FyZSBhYm91dCBMSUJNT1VOVF8qIGVudi52YXJpYWJsZXMgYW5kIGRvZXMgbm90IG1lcmdlIHVzZXJzcGFjZQorICogb3B0aW9ucy4KKyAqCisgKiBUaGUgcmVzdWx0IHdpbGwgTk9UIGJlIGRlYWxsb2NhdGVkIGJ5IG1udF9mcmVlX2NvbnRleHQoQGN4dCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2dldF90YWJsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCSAgY29uc3QgY2hhciAqZmlsZW5hbWUsIHN0cnVjdCBsaWJtbnRfdGFibGUgKip0YikKK3sKKwlpbnQgcmM7CisJc3RydWN0IGxpYm1udF9ucyAqbnNfb2xkOworCisJaWYgKCFjeHQgfHwgIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCSp0YiA9IG1udF9uZXdfdGFibGUoKTsKKwlpZiAoISp0YikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoY3h0LT50YWJsZV9lcnJjYikKKwkJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IoKnRiLCBjeHQtPnRhYmxlX2VycmNiKTsKKworCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnMoY3h0KTsKKwlpZiAoIW5zX29sZCkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCXJjID0gbW50X3RhYmxlX3BhcnNlX2ZpbGUoKnRiLCBmaWxlbmFtZSk7CisKKwlpZiAocmMpIHsKKwkJbW50X3VucmVmX3RhYmxlKCp0Yik7CisJCWdvdG8gZW5kOworCX0KKworCW1udF90YWJsZV9zZXRfY2FjaGUoKnRiLCBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KSk7CisKK2VuZDoKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X3RhYmxlc19lcnJjYgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGNiOiBwb2ludGVyIHRvIGNhbGxiYWNrIGZ1bmN0aW9uCisgKgorICogVGhlIGVycm9yIGNhbGxiYWNrIGlzIHVzZWQgZm9yIGFsbCB0YWIgZmlsZXMgKGUuZy4gbXRhYiwgZnN0YWIpCisgKiBwYXJzZWQgd2l0aGluIHRoZSBjb250ZXh0LgorICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2dldF9tdGFiKCksCisgKiAgICAgICAgICBtbnRfY29udGV4dF9nZXRfZnN0YWIoKSwKKyAqICAgICAgICAgIG1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X3NldF90YWJsZXNfZXJyY2Ioc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJaW50ICgqY2IpKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmUpKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjeHQtPm10YWIpCisJCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKGN4dC0+bXRhYiwgY2IpOworCWlmIChjeHQtPmZzdGFiKQorCQltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihjeHQtPmZzdGFiLCBjYik7CisKKwljeHQtPnRhYmxlX2VycmNiID0gY2I7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X2NhY2hlOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGNhY2hlOiBjYWNoZSBpbnN0YW5jZSBvciBOVUxMCisgKgorICogVGhlIG1vdW50IGNvbnRleHQgbWFpbnRhaW5zIGEgcHJpdmF0ZSBzdHJ1Y3QgbGlibW50X2NhY2hlIGJ5IGRlZmF1bHQuIFRoaXMKKyAqIGZ1bmN0aW9uIGFsbG93cyB0byBvdmVyd3JpdGUgdGhlIHByaXZhdGUgY2FjaGUgd2l0aCBhbiBleHRlcm5hbCBpbnN0YW5jZS4KKyAqIFRoaXMgZnVuY3Rpb24gaW5jcmVtZW50cyBjYWNoZSByZWZlcmVuY2UgY291bnRlci4KKyAqCisgKiBJZiB0aGUgQGNhY2hlIGFyZ3VtZW50IGlzIE5VTEwsIHRoZW4gdGhlIGN1cnJlbnQgY2FjaGUgaW5zdGFuY2UgaXMgcmVzZXQuCisgKiBUaGlzIGZ1bmN0aW9uIGFwcGx5IHRoZSBjYWNoZSB0byBmc3RhYiBhbmQgbXRhYiBpbnN0YW5jZXMgKGlmIGFscmVhZHkKKyAqIGV4aXN0cykuCisgKgorICogVGhlIG9sZCBjYWNoZSBpbnN0YW5jZSByZWZlcmVuY2UgY291bnRlciBpcyBkZS1pbmNyZW1lbnRlZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X2NhY2hlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltbnRfcmVmX2NhY2hlKGNhY2hlKTsJCQkvKiBuZXcgKi8KKwltbnRfdW5yZWZfY2FjaGUoY3h0LT5jYWNoZSk7CQkvKiBvbGQgKi8KKworCWN4dC0+Y2FjaGUgPSBjYWNoZTsKKworCWlmIChjeHQtPm10YWIpCisJCW1udF90YWJsZV9zZXRfY2FjaGUoY3h0LT5tdGFiLCBjYWNoZSk7CisJaWYgKGN4dC0+ZnN0YWIpCisJCW1udF90YWJsZV9zZXRfY2FjaGUoY3h0LT5mc3RhYiwgY2FjaGUpOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X2NhY2hlCisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogU2VlIGFsc28gbW50X2NvbnRleHRfc2V0X2NhY2hlKCkuCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBjYWNoZSBvciBOVUxMIGlmIGNhbm9uaWNhbGl6YXRpb24gaXMgZGlzYWJsZWQuCisgKi8KK3N0cnVjdCBsaWJtbnRfY2FjaGUgKm1udF9jb250ZXh0X2dldF9jYWNoZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoIWN4dCB8fCBtbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZShjeHQpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghY3h0LT5jYWNoZSkgeworCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKwkJbW50X2NvbnRleHRfc2V0X2NhY2hlKGN4dCwgY2FjaGUpOworCQltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCX0KKwlyZXR1cm4gY3h0LT5jYWNoZTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfcGFzc3dkX2NiOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGdldDogY2FsbGJhY2sgdG8gZ2V0IHBhc3N3b3JkCisgKiBAcmVsZWFzZTogY2FsbGJhY2sgdG8gcmVsZWFzZSAoZGVhbGxvY2F0ZSkgcGFzc3dvcmQKKyAqCisgKiBTZXRzIGNhbGxiYWNrcyBmb3IgZW5jcnlwdGlvbiBwYXNzd29yZCAoZS5nIGVuY3J5cHRlZCBsb29wZGV2KS4gVGhpcworICogZnVuY3Rpb24gaXMgZGVwcmVjYXRlZCAoZW5jcnlwdGVkIGxvb3BzIGFyZSBubyBsb25nZXIgc3VwcG9ydGVkKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc2V0X3Bhc3N3ZF9jYihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCSAgICAgIGNoYXIgKigqZ2V0KShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKiksCisJCQkgICAgICB2b2lkICgqcmVsZWFzZSkoc3RydWN0IGxpYm1udF9jb250ZXh0ICosIGNoYXIgKikpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWN4dC0+cHdkX2dldF9jYiA9IGdldDsKKwljeHQtPnB3ZF9yZWxlYXNlX2NiID0gcmVsZWFzZTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfbG9jazoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBUaGUgbGlibW91bnQgYXBwbGljYXRpb25zIGRvbid0IGhhdmUgdG8gY2FyZSBhYm91dCBtdGFiIGxvY2tpbmcsIGJ1dCB3aXRoIGEKKyAqIHNtYWxsIGV4Y2VwdGlvbjogdGhlIGFwcGxpY2F0aW9uIGhhcyB0byBiZSBhYmxlIHRvIHJlbW92ZSB0aGUgbG9jayBmaWxlIHdoZW4KKyAqIGludGVycnVwdGVkIGJ5IHNpZ25hbCBvciBzaWduYWxzIGhhdmUgdG8gYmUgaWdub3JlZCB3aGVuIHRoZSBsb2NrIGlzIGxvY2tlZC4KKyAqCisgKiBUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBpZ25vcmUgYWxsIHNpZ25hbHMgKGV4Y2VwdCBTSUdBTFJNIGFuZAorICogU0lHVFJBUCBmb3IgbXRhYiB1cGRhdGUpIHdoZW4gdGhlIGxvY2sgaXMgbG9ja2VkLiBJZiB0aGlzIGJlaGF2aW9yCisgKiBpcyB1bmFjY2VwdGFibGUsIHRoZW4gdXNlOgorICoKKyAqCWxjID0gbW50X2NvbnRleHRfZ2V0X2xvY2soY3h0KTsKKyAqCWlmIChsYykKKyAqCQltbnRfbG9ja19ibG9ja19zaWduYWxzKGxjLCBGQUxTRSk7CisgKgorICogYW5kIGRvbid0IGZvcmdldCB0byBjYWxsIG1udF91bmxvY2tfZmlsZShsYykgYmVmb3JlIGV4aXQuCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBsb2NrIHN0cnVjdCBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X2xvY2sgKm1udF9jb250ZXh0X2dldF9sb2NrKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCS8qCisJICogRE9OJ1QgY2FsbCB0aGlzIGZ1bmN0aW9uIHdpdGhpbiBsaWJtb3VudCwgaXQgd2lsbCBhbHdheXMgYWxsb2NhdGUKKwkgKiB0aGUgbG9jay4gVGhlIG1udF91cGRhdGVfKiBmdW5jdGlvbnMgYXJlIGFibGUgdG8gYWxsb2NhdGUgdGhlIGxvY2sKKwkgKiBvbmx5IHdoZW4gbXRhYi91dGFiIHVwZGF0ZSBpcyByZWFsbHkgbmVjZXNzYXJ5LgorCSAqLworCWlmICghY3h0IHx8IG1udF9jb250ZXh0X2lzX25vbXRhYihjeHQpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghY3h0LT5sb2NrKSB7CisJCWN4dC0+bG9jayA9IG1udF9uZXdfbG9jaygKKwkJCQltbnRfY29udGV4dF9nZXRfd3JpdGFibGVfdGFicGF0aChjeHQpLCAwKTsKKwkJaWYgKGN4dC0+bG9jaykKKwkJCW1udF9sb2NrX2Jsb2NrX3NpZ25hbHMoY3h0LT5sb2NrLCBUUlVFKTsKKwl9CisJcmV0dXJuIGN4dC0+bG9jazsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfbWZsYWdzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGZsYWdzOiBtb3VudCgyKSBmbGFncyAoTVNfKiBmbGFncykKKyAqCisgKiBTZXRzIG1vdW50IGZsYWdzIChzZWUgbW91bnQoMikgbWFuIHBhZ2UpLgorICoKKyAqIE5vdGUgdGhhdCBtb3VudCBjb250ZXh0IGFsbG93cyB0byBkZWZpbmUgbW91bnQgb3B0aW9ucyBieSBtb3VudCBmbGFncy4gSXQKKyAqIG1lYW5zIHlvdSBjYW4gZm9yIGV4YW1wbGUgdXNlCisgKgorICoJbW50X2NvbnRleHRfc2V0X21mbGFncyhjeHQsIE1TX05PRVhFQyB8IE1TX05PU1VJRCk7CisgKgorICogcmF0aGVyIHRoYW4KKyAqCisgKgltbnRfY29udGV4dF9zZXRfb3B0aW9ucyhjeHQsICJub2V4ZWMsbm9zdWlkIik7CisgKgorICogYm90aCBvZiB0aGVzZSBjYWxscyBoYXZlIHRoZSBzYW1lIGVmZmVjdC4KKyAqCisgKiBCZSBjYXJlZnVsIGlmIHlvdSB3YW50IHRvIHVzZSBNU19SRUMgZmxhZyAtLSBpbiB0aGlzIGNhc2UgdGhlIGJpdCBpcyBhcHBsaWVkCisgKiB0byBhbGwgYmluZC9zbGF2ZS9ldGMuIG9wdGlvbnMuIElmIHlvdSB3YW50IHRvIG1peCBtb3JlIHByb3BhZGF0aW9uIGZsYWdzCisgKiBhbmQvb3IgYmluZCBvcGVyYXRpb25zIHRoYW4gaXQncyBiZXR0ZXIgdG8gc3BlY2lmeSBtb3VudCBvcHRpb25zIGJ5CisgKiBzdHJpbmdzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCB1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWN4dC0+bW91bnRmbGFncyA9IGZsYWdzOworCisJaWYgKChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5UT1BUU19GSVhFRCkgJiYgY3h0LT5mcykKKwkJLyoKKwkJICogdGhlIGZpbmFsIG1vdW50IG9wdGlvbnMgYXJlIGFscmVhZHkgZ2VuZXJhdGVkLCByZWZyZXNoLi4uCisJCSAqLworCQlyZXR1cm4gbW50X29wdHN0cl9hcHBseV9mbGFncygKKwkJCQkmY3h0LT5mcy0+dmZzX29wdHN0ciwKKwkJCQljeHQtPm1vdW50ZmxhZ3MsCisJCQkJbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfbWZsYWdzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGZsYWdzOiByZXR1cm5zIE1TXyogbW91bnQgZmxhZ3MKKyAqCisgKiBDb252ZXJ0cyBtb3VudCBvcHRpb25zIHN0cmluZyB0byBNU18qIGZsYWdzIGFuZCBiaXR3aXNlLU9SIHRoZSByZXN1bHQgd2l0aAorICogdGhlIGFscmVhZHkgZGVmaW5lZCBmbGFncyAoc2VlIG1udF9jb250ZXh0X3NldF9tZmxhZ3MoKSkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2dldF9tZmxhZ3Moc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIHVuc2lnbmVkIGxvbmcgKmZsYWdzKQoreworCWludCByYyA9IDA7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWlmICghY3h0IHx8ICFmbGFncykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqZmxhZ3MgPSAwOworCWlmICghKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpICYmIGN4dC0+ZnMpIHsKKwkJY29uc3QgY2hhciAqbyA9IG1udF9mc19nZXRfb3B0aW9ucyhjeHQtPmZzKTsKKwkJaWYgKG8pCisJCQlyYyA9IG1udF9vcHRzdHJfZ2V0X2ZsYWdzKG8sIGZsYWdzLAorCQkJCSAgICBtbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9MSU5VWF9NQVApKTsKKwl9CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZjeHQtPmFkZG1vdW50cykgeworCQlzdHJ1Y3QgbGlibW50X2FkZG1vdW50ICphZCA9CisJCQkJbGlzdF9lbnRyeShwLCBzdHJ1Y3QgbGlibW50X2FkZG1vdW50LCBtb3VudHMpOworCisJCSpmbGFncyB8PSBhZC0+bW91bnRmbGFnczsKKwl9CisKKwlpZiAoIXJjKQorCQkqZmxhZ3MgfD0gY3h0LT5tb3VudGZsYWdzOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfdXNlcl9tZmxhZ3M6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAZmxhZ3M6IG1vdW50KDIpIGZsYWdzIChNTlRfTVNfKiBmbGFncywgZS5nLiBNTlRfTVNfTE9PUCkKKyAqCisgKiBTZXRzIHVzZXJzcGFjZSBtb3VudCBmbGFncy4KKyAqCisgKiBTZWUgYWxzbyBub3RlcyBmb3IgbW50X2NvbnRleHRfc2V0X21mbGFncygpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfdXNlcl9tZmxhZ3Moc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWN4dC0+dXNlcl9tb3VudGZsYWdzID0gZmxhZ3M7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X3VzZXJfbWZsYWdzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGZsYWdzOiByZXR1cm5zIG1vdW50IGZsYWdzCisgKgorICogQ29udmVydHMgbW91bnQgb3B0aW9ucyBzdHJpbmcgdG8gTU5UX01TXyogZmxhZ3MgYW5kIGJpdHdpc2UtT1IgdGhlIHJlc3VsdAorICogd2l0aCB0aGUgYWxyZWFkeSBkZWZpbmVkIGZsYWdzIChzZWUgbW50X2NvbnRleHRfc2V0X3VzZXJfbWZsYWdzKCkpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9nZXRfdXNlcl9tZmxhZ3Moc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIHVuc2lnbmVkIGxvbmcgKmZsYWdzKQoreworCWludCByYyA9IDA7CisKKwlpZiAoIWN4dCB8fCAhZmxhZ3MpCisJCXJldHVybiAtRUlOVkFMOworCisJKmZsYWdzID0gMDsKKwlpZiAoIShjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSAmJiBjeHQtPmZzKSB7CisJCWNvbnN0IGNoYXIgKm8gPSBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhjeHQtPmZzKTsKKwkJaWYgKG8pCisJCQlyYyA9IG1udF9vcHRzdHJfZ2V0X2ZsYWdzKG8sIGZsYWdzLAorCQkJCW1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApKTsKKwl9CisJaWYgKCFyYykKKwkJKmZsYWdzIHw9IGN4dC0+dXNlcl9tb3VudGZsYWdzOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9zZXRfbW91bnRkYXRhOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQGRhdGE6IG1vdW50KDIpIGRhdGEKKyAqCisgKiBUaGUgbW91bnQgY29udGV4dCBnZW5lcmF0ZXMgbW91bnRkYXRhIGZyb20gbW91bnQgb3B0aW9ucyBieSBkZWZhdWx0LiBUaGlzCisgKiBmdW5jdGlvbiBhbGxvd3MgdG8gb3ZlcndyaXRlIHRoaXMgYmVoYXZpb3IsIGFuZCBAZGF0YSB3aWxsIGJlIHVzZWQgaW5zdGVhZAorICogb2YgbW91bnQgb3B0aW9ucy4KKyAqCisgKiBUaGUgbGlibW91bnQgZG9lcyBub3QgZGVhbGxvY2F0ZSB0aGUgZGF0YSBieSBtbnRfZnJlZV9jb250ZXh0KCkuIE5vdGUgdGhhdAorICogTlVMTCBpcyBhbHNvIHZhbGlkIG1vdW50IGRhdGEuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X3NldF9tb3VudGRhdGEoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIHZvaWQgKmRhdGEpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCWN4dC0+bW91bnRkYXRhID0gZGF0YTsKKwljeHQtPmZsYWdzIHw9IE1OVF9GTF9NT1VOVERBVEE7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBUcmFuc2xhdGVzIExBQkVML1VVSUQvcGF0aCB0byBtb3VudGFibGUgcGF0aAorICovCitpbnQgbW50X2NvbnRleHRfcHJlcGFyZV9zcmNwYXRoKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKnBhdGggPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOworCWNvbnN0IGNoYXIgKnQsICp2LCAqc3JjOworCWludCByYyA9IDA7CisJc3RydWN0IGxpYm1udF9ucyAqbnNfb2xkOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicHJlcGFyaW5nIHNvdXJjZSBwYXRoIikpOworCisJc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoY3h0LT5mcyk7CisKKwlpZiAoIXNyYyAmJiBtbnRfY29udGV4dF9wcm9wYWdhdGlvbl9vbmx5KGN4dCkpCisJCS8qIG1vdW50IC0tbWFrZS17c2hhcmVkLHByaXZhdGUsLi4ufSAqLworCQlyZXR1cm4gbW50X2ZzX3NldF9zb3VyY2UoY3h0LT5mcywgIm5vbmUiKTsKKworCS8qIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRob3V0IHNvdXJjZSBvciBmaWxlc3lzdGVtcworCSAqIHdoZXJlIHRoZSBzb3VyY2UgaXMgYSBxdWFzaS1wYXRoICgvL2Zvby9iYXIpCisJICovCisJaWYgKCFzcmMgfHwgbW50X2ZzX2lzX25ldGZzKGN4dC0+ZnMpKQorCQlyZXR1cm4gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNyY3BhdGggJyVzJyIsIHNyYykpOworCisJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCWlmICghbnNfb2xkKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJY2FjaGUgPSBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KTsKKworCWlmICghbW50X2ZzX2dldF90YWcoY3h0LT5mcywgJnQsICZ2KSkgeworCQkvKgorCQkgKiBTb3VyY2UgaXMgVEFHIChldmFsdWF0ZSkKKwkJICovCisJCWlmIChjYWNoZSkKKwkJCXBhdGggPSBtbnRfcmVzb2x2ZV90YWcodCwgdiwgY2FjaGUpOworCisJCXJjID0gcGF0aCA/IG1udF9mc19zZXRfc291cmNlKGN4dC0+ZnMsIHBhdGgpIDogLU1OVF9FUlJfTk9TT1VSQ0U7CisKKwl9IGVsc2UgaWYgKGNhY2hlICYmICFtbnRfZnNfaXNfcHNldWRvZnMoY3h0LT5mcykpIHsKKwkJLyoKKwkJICogU291cmNlIGlzIFBBVEggKGNhbm9uaWNhbGl6ZSkKKwkJICovCisJCXBhdGggPSBtbnRfcmVzb2x2ZV9wYXRoKHNyYywgY2FjaGUpOworCQlpZiAocGF0aCAmJiBzdHJjbXAocGF0aCwgc3JjKSkKKwkJCXJjID0gbW50X2ZzX3NldF9zb3VyY2UoY3h0LT5mcywgcGF0aCk7CisJIH0KKworCWlmIChyYykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gcHJlcGFyZSBzcmNwYXRoIFtyYz0lZF0iLCByYykpOworCQlnb3RvIGVuZDsKKwl9CisKKwlpZiAoIXBhdGgpCisJCXBhdGggPSBzcmM7CisKKwlpZiAoKGN4dC0+bW91bnRmbGFncyAmIChNU19CSU5EIHwgTVNfTU9WRSB8IE1TX1JFTU9VTlQpKQorCSAgICB8fCBtbnRfZnNfaXNfcHNldWRvZnMoY3h0LT5mcykpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiUkVNT1VOVC9CSU5EL01PVkUvcHNldWRvIEZTIHNvdXJjZTogJXMiLCBwYXRoKSk7CisJCWdvdG8gZW5kOworCX0KKworCS8qCisJICogSW5pdGlhbGl6ZSBsb29wIGRldmljZQorCSAqLworCWlmIChtbnRfY29udGV4dF9pc19sb29wZGV2KGN4dCkpIHsKKwkJcmMgPSBtbnRfY29udGV4dF9zZXR1cF9sb29wZGV2KGN4dCk7CisJCWlmIChyYykKKwkJCWdvdG8gZW5kOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZpbmFsIHNyY3BhdGggJyVzJyIsCisJCQkJbW50X2ZzX2dldF9zb3VyY2UoY3h0LT5mcykpKTsKKworZW5kOgorCWlmICghbW50X2NvbnRleHRfc3dpdGNoX25zKGN4dCwgbnNfb2xkKSkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qIGNyZWF0ZSBhIG1vdW50cG9pbnQgaWYgWC1tb3VudC5ta2Rpcls9PG1vZGU+XSBzcGVjaWZpZWQgKi8KK3N0YXRpYyBpbnQgbWtkaXJfdGFyZ2V0KGNvbnN0IGNoYXIgKnRndCwgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJY2hhciAqbXN0ciA9IE5VTEw7CisJc2l6ZV90IG1zdHJfc3ogPSAwOworCW1vZGVfdCBtb2RlID0gMDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgcmM7CisKKwlhc3NlcnQodGd0KTsKKwlhc3NlcnQoZnMpOworCisJaWYgKG1udF9vcHRzdHJfZ2V0X29wdGlvbihmcy0+dXNlcl9vcHRzdHIsICJYLW1vdW50Lm1rZGlyIiwgJm1zdHIsICZtc3RyX3N6KSAhPSAwICYmCisJICAgIG1udF9vcHRzdHJfZ2V0X29wdGlvbihmcy0+dXNlcl9vcHRzdHIsICJ4LW1vdW50Lm1rZGlyIiwgJm1zdHIsICZtc3RyX3N6KSAhPSAwKSAgIAkvKiBvYnNvbGV0ZSAqLworCQlyZXR1cm4gMDsKKworCURCRyhDWFQsIHVsX2RlYnVnKCJta2RpciAlcyAoJXMpIHdhbnRlZCIsIHRndCwgbXN0cikpOworCisJaWYgKG1udF9zdGF0X21vdW50cG9pbnQodGd0LCAmc3QpID09IDApCisJCXJldHVybiAwOworCisJaWYgKG1zdHIgJiYgbXN0cl9zeikgeworCQljaGFyICplbmQgPSBOVUxMOworCisJCWVycm5vID0gMDsKKwkJbW9kZSA9IHN0cnRvbChtc3RyLCAmZW5kLCA4KTsKKworCQlpZiAoZXJybm8gfHwgIWVuZCB8fCBtc3RyICsgbXN0cl9zeiAhPSBlbmQpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnKCJmYWlsZWQgdG8gcGFyc2UgbWtkaXIgbW9kZSAnJXMnIiwgbXN0cikpOworCQkJcmV0dXJuIC1NTlRfRVJSX01PVU5UT1BUOworCQl9CisJfQorCisJaWYgKCFtb2RlKQorCQltb2RlID0gU19JUldYVSB8CQkJLyogMDc1NSAqLworCQkgICAgICAgU19JUkdSUCB8IFNfSVhHUlAgfAorCQkgICAgICAgU19JUk9USCB8IFNfSVhPVEg7CisKKwlyYyA9IG1rZGlyX3AodGd0LCBtb2RlKTsKKwlpZiAocmMpCisJCURCRyhDWFQsIHVsX2RlYnVnKCJta2RpciAlcyBmYWlsZWQ6ICVtIiwgdGd0KSk7CisKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBtbnRfY29udGV4dF9wcmVwYXJlX3RhcmdldChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwljb25zdCBjaGFyICp0Z3Q7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CisJaW50IHJjID0gMDsKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwcmVwYXJpbmcgdGFyZ2V0IHBhdGgiKSk7CisKKwl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKTsKKwlpZiAoIXRndCkKKwkJcmV0dXJuIDA7CisKKwluc19vbGQgPSBtbnRfY29udGV4dF9zd2l0Y2hfdGFyZ2V0X25zKGN4dCk7CisJaWYgKCFuc19vbGQpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwkvKiBta2RpciB0YXJnZXQgKi8KKwlpZiAoY3h0LT5hY3Rpb24gPT0gTU5UX0FDVF9NT1VOVAorCSAgICAmJiAhbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpCisJICAgICYmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19YQ09NTUVOVCB8fAorCQljeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19YRlNUQUJDT01NKSkgeworCisJCXJjID0gbWtkaXJfdGFyZ2V0KHRndCwgY3h0LT5mcyk7CisJCWlmIChyYykgeworCQkJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQkJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisJCQlyZXR1cm4gcmM7CS8qIG1rZGlyIG9yIHBhcnNlIGVycm9yICovCisJCX0KKwl9CisKKwkvKiBjYW5vbmljYWxpemUgdGhlIHBhdGggKi8KKwljYWNoZSA9IG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpOworCWlmIChjYWNoZSkgeworCQljaGFyICpwYXRoID0gbW50X3Jlc29sdmVfcGF0aCh0Z3QsIGNhY2hlKTsKKwkJaWYgKHBhdGggJiYgc3RyY21wKHBhdGgsIHRndCkgIT0gMCkKKwkJCXJjID0gbW50X2ZzX3NldF90YXJnZXQoY3h0LT5mcywgcGF0aCk7CisJfQorCisJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJaWYgKHJjKQorCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gcHJlcGFyZSB0YXJnZXQgJyVzJyIsIHRndCkpOworCWVsc2UKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZmluYWwgdGFyZ2V0ICclcyciLAorCQkJCQltbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKSkpOworCXJldHVybiAwOworfQorCisvKiBHdWVzcyB0eXBlLCBidXQgbm90IHNldCB0byBjeHQtPmZzLCBhbHdheXMgdXNlIGZyZWUoKSBmb3IgdGhlIHJlc3VsdC4gSXQncworICogbm8gZXJyb3Igd2hlbiB3ZSdyZSBub3QgYWJsZSB0byBndWVzcyBhIGZpbGVzeXN0ZW0gdHlwZS4gTm90ZSB0aGF0IGVycm9yCisgKiBkb2VzIG5vdCBtZWFuIHRoYXQgcmVzdWx0IGluIEB0eXBlIGlzIE5VTEwuCisgKi8KK2ludCBtbnRfY29udGV4dF9ndWVzc19zcmNwYXRoX2ZzdHlwZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY2hhciAqKnR5cGUpCit7CisJaW50IHJjID0gMDsKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisJY29uc3QgY2hhciAqZGV2ID0gbW50X2ZzX2dldF9zcmNwYXRoKGN4dC0+ZnMpOworCisJKnR5cGUgPSBOVUxMOworCisJaWYgKCFkZXYpCisJCWdvdG8gZG9uZTsKKworCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnMoY3h0KTsKKwlpZiAoIW5zX29sZCkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCWlmIChhY2Nlc3MoZGV2LCBGX09LKSA9PSAwKSB7CisJCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlID0gbW50X2NvbnRleHRfZ2V0X2NhY2hlKGN4dCk7CisJCWludCBhbWJpID0gMDsKKworCQkqdHlwZSA9IG1udF9nZXRfZnN0eXBlKGRldiwgJmFtYmksIGNhY2hlKTsKKwkJaWYgKGNhY2hlICYmICp0eXBlKQorCQkJKnR5cGUgPSBzdHJkdXAoKnR5cGUpOworCQlpZiAoYW1iaSkKKwkJCXJjID0gLU1OVF9FUlJfQU1CSUZTOworCX0gZWxzZSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFjY2VzcyglcykgZmFpbGVkIFslbV0iLCBkZXYpKTsKKwkJaWYgKHN0cmNocihkZXYsICc6JykgIT0gTlVMTCkKKwkJCSp0eXBlID0gc3RyZHVwKCJuZnMiKTsKKwkJZWxzZSBpZiAoIXN0cm5jbXAoZGV2LCAiLy8iLCAyKSkKKwkJCSp0eXBlID0gc3RyZHVwKCJjaWZzIik7CisJfQorCisJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCitkb25lOgorCXJldHVybiByYzsKK30KKworLyoKKyAqIEl0J3MgdXN1YWxseSBubyBlcnJvciB3aGVuIHdlJ3JlIG5vdCBhYmxlIHRvIGRldGVjdCB0aGUgZmlsZXN5c3RlbSB0eXBlIC0tIHdlCisgKiB3aWxsIHRyeSB0byB1c2UgdGhlIHR5cGVzIGZyb20gL3tldGMscHJvY30vZmlsZXN5c3RlbXMuCisgKi8KK2ludCBtbnRfY29udGV4dF9ndWVzc19mc3R5cGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY2hhciAqdHlwZTsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicHJlcGFyaW5nIGZzdHlwZSIpKTsKKworCWlmICgoY3h0LT5tb3VudGZsYWdzICYgKE1TX0JJTkQgfCBNU19NT1ZFKSkKKwkgICAgfHwgbW50X2NvbnRleHRfcHJvcGFnYXRpb25fb25seShjeHQpKQorCQlnb3RvIG5vbmU7CisKKwl0eXBlID0gKGNoYXIgKikgbW50X2ZzX2dldF9mc3R5cGUoY3h0LT5mcyk7CisJaWYgKHR5cGUgJiYgIXN0cmNtcCh0eXBlLCAiYXV0byIpKSB7CisJCW1udF9mc19zZXRfZnN0eXBlKGN4dC0+ZnMsIE5VTEwpOworCQl0eXBlID0gTlVMTDsKKwl9CisKKwlpZiAodHlwZSkKKwkJZ290byBkb25lOworCWlmIChjeHQtPm1vdW50ZmxhZ3MgJiBNU19SRU1PVU5UKQorCQlnb3RvIG5vbmU7CisJaWYgKGN4dC0+ZnN0eXBlX3BhdHRlcm4pCisJCWdvdG8gZG9uZTsKKworCXJjID0gbW50X2NvbnRleHRfZ3Vlc3Nfc3JjcGF0aF9mc3R5cGUoY3h0LCAmdHlwZSk7CisJaWYgKHJjID09IDAgJiYgdHlwZSkKKwkJX19tbnRfZnNfc2V0X2ZzdHlwZV9wdHIoY3h0LT5mcywgdHlwZSk7CisJZWxzZQorCQlmcmVlKHR5cGUpOworZG9uZToKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJGUyB0eXBlOiAlcyBbcmM9JWRdIiwKKwkJCQltbnRfZnNfZ2V0X2ZzdHlwZShjeHQtPmZzKSwgcmMpKTsKKwlyZXR1cm4gcmM7Citub25lOgorCXJldHVybiBtbnRfZnNfc2V0X2ZzdHlwZShjeHQtPmZzLCAibm9uZSIpOworfQorCisvKgorICogVGhlIGRlZmF1bHQgaXMgdG8gdXNlIGZzdHlwZSBmcm9tIGN4dC0+ZnMsIHRoaXMgY291bGQgYmUgb3ZlcndyaXR0ZW4gYnkKKyAqIEB0eXBlLiBUaGUgQGFjdCBpcyBNTlRfQUNUX3tNT1VOVCxVTU9VTlR9LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4gTm90ZSB0aGF0IHN1Y2Nlc3MKKyAqIGRvZXMgbm90IG1lYW4gdGhhdCB0aGVyZSBpcyBhbnkgdXNhYmxlIGhlbHBlciwgeW91IGhhdmUgdG8gY2hlY2sgY3h0LT5oZWxwZXIuCisgKi8KK2ludCBtbnRfY29udGV4dF9wcmVwYXJlX2hlbHBlcihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqbmFtZSwKKwkJCQljb25zdCBjaGFyICp0eXBlKQoreworCWNoYXIgc2VhcmNoX3BhdGhbXSA9IEZTX1NFQVJDSF9QQVRIOwkJLyogZnJvbSBjb25maWcuaCAqLworCWNoYXIgKnAgPSBOVUxMLCAqcGF0aDsKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlpZiAoIXR5cGUpCisJCXR5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShjeHQtPmZzKTsKKworCWlmICh0eXBlICYmIHN0cmNocih0eXBlLCAnLCcpKQorCQlyZXR1cm4gMDsJCQkvKiB0eXBlIGlzIGZzdHlwZSBwYXR0ZXJuICovCisKKwlpZiAobW50X2NvbnRleHRfaXNfbm9oZWxwZXJzKGN4dCkKKwkgICAgfHwgIXR5cGUKKwkgICAgfHwgIXN0cmNtcCh0eXBlLCAibm9uZSIpCisJICAgIHx8IHN0cnN0cih0eXBlLCAiLy4uIikJCS8qIGRvbid0IHRyeSB0byBzbXVnZ2xlIHBhdGggKi8KKwkgICAgfHwgbW50X2ZzX2lzX3N3YXBhcmVhKGN4dC0+ZnMpKQorCQlyZXR1cm4gMDsKKworCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF9vcmlnaW5fbnMoY3h0KTsKKwlpZiAoIW5zX29sZCkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCXBhdGggPSBzdHJ0b2tfcihzZWFyY2hfcGF0aCwgIjoiLCAmcCk7CisJd2hpbGUgKHBhdGgpIHsKKwkJY2hhciBoZWxwZXJbUEFUSF9NQVhdOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJaW50IHJjOworCisJCXJjID0gc25wcmludGYoaGVscGVyLCBzaXplb2YoaGVscGVyKSwgIiVzLyVzLiVzIiwKKwkJCQkJCXBhdGgsIG5hbWUsIHR5cGUpOworCQlwYXRoID0gc3RydG9rX3IoTlVMTCwgIjoiLCAmcCk7CisKKwkJaWYgKHJjIDwgMCB8fCAoc2l6ZV90KSByYyA+PSBzaXplb2YoaGVscGVyKSkKKwkJCWNvbnRpbnVlOworCisJCXJjID0gc3RhdChoZWxwZXIsICZzdCk7CisJCWlmIChyYyA9PSAtMSAmJiBlcnJubyA9PSBFTk9FTlQgJiYgc3RyY2hyKHR5cGUsICcuJykpIHsKKwkJCS8qIElmIHR5cGUgZW5kcyB3aXRoICIuc3VidHlwZSIgdHJ5IHdpdGhvdXQgaXQgKi8KKwkJCWNoYXIgKmhzID0gc3RycmNocihoZWxwZXIsICcuJyk7CisJCQlpZiAoaHMpCisJCQkJKmhzID0gJ1wwJzsKKwkJCXJjID0gc3RhdChoZWxwZXIsICZzdCk7CisJCX0KKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlLTI1cyAuLi4gJXMiLCBoZWxwZXIsCisJCQkJCXJjID8gIm5vdCBmb3VuZCIgOiAiZm91bmQiKSk7CisJCWlmIChyYykKKwkJCWNvbnRpbnVlOworCisJCWlmICghbW50X2NvbnRleHRfc3dpdGNoX25zKGN4dCwgbnNfb2xkKSkKKwkJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwkJZnJlZShjeHQtPmhlbHBlcik7CisJCWN4dC0+aGVscGVyID0gc3RyZHVwKGhlbHBlcik7CisJCWlmICghY3h0LT5oZWxwZXIpCisJCQlyZXR1cm4gLUVOT01FTTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCXJldHVybiAwOworfQorCitpbnQgbW50X2NvbnRleHRfbWVyZ2VfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXVuc2lnbmVkIGxvbmcgZmwgPSAwOworCWludCByYzsKKworCWFzc2VydChjeHQpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibWVyZ2luZyBtb3VudCBmbGFncyIpKTsKKworCXJjID0gbW50X2NvbnRleHRfZ2V0X21mbGFncyhjeHQsICZmbCk7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisJY3h0LT5tb3VudGZsYWdzID0gZmw7CisKKwlmbCA9IDA7CisJcmMgPSBtbnRfY29udGV4dF9nZXRfdXNlcl9tZmxhZ3MoY3h0LCAmZmwpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCWN4dC0+dXNlcl9tb3VudGZsYWdzID0gZmw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmaW5hbCBmbGFnczogVkZTPSUwOGx4IHVzZXI9JTA4bHgiLAorCQkJY3h0LT5tb3VudGZsYWdzLCBjeHQtPnVzZXJfbW91bnRmbGFncykpOworCisJY3h0LT5mbGFncyB8PSBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQ7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBQcmVwYXJlIC9ldGMvbXRhYiBvciAvcnVuL21vdW50L3V0YWIKKyAqLworaW50IG1udF9jb250ZXh0X3ByZXBhcmVfdXBkYXRlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYzsKKwljb25zdCBjaGFyICp0YXJnZXQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KGN4dC0+YWN0aW9uKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInByZXBhcmUgdXBkYXRlIikpOworCisJaWYgKG1udF9jb250ZXh0X3Byb3BhZ2F0aW9uX29ubHkoY3h0KSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJza2lwIHVwZGF0ZTogb25seSBNU19QUk9QQUdBVElPTiIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJdGFyZ2V0ID0gbW50X2ZzX2dldF90YXJnZXQoY3h0LT5mcyk7CisKKwlpZiAoY3h0LT5hY3Rpb24gPT0gTU5UX0FDVF9VTU9VTlQgJiYgdGFyZ2V0ICYmICFzdHJjbXAodGFyZ2V0LCAiLyIpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInJvb3QgdW1vdW50OiBzZXR0aW5nIE5PTVRBQiIpKTsKKwkJbW50X2NvbnRleHRfZGlzYWJsZV9tdGFiKGN4dCwgVFJVRSk7CisJfQorCWlmIChtbnRfY29udGV4dF9pc19ub210YWIoY3h0KSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJza2lwIHVwZGF0ZTogTk9NVEFCIGZsYWciKSk7CisJCXJldHVybiAwOworCX0KKwlpZiAoIW1udF9jb250ZXh0X2dldF93cml0YWJsZV90YWJwYXRoKGN4dCkpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAic2tpcCB1cGRhdGU6IG5vIHdyaXRhYmxlIGRlc3RpbmF0aW9uIikpOworCQlyZXR1cm4gMDsKKwl9CisJLyogMCA9IHN1Y2Nlc3MsIDEgPSBub3QgY2FsbGVkIHlldCAqLworCWlmIChjeHQtPnN5c2NhbGxfc3RhdHVzICE9IDEgJiYgY3h0LT5zeXNjYWxsX3N0YXR1cyAhPSAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkic2tpcCB1cGRhdGU6IHN5c2NhbGwgZmFpbGVkIFtzdGF0dXM9JWRdIiwKKwkJCQljeHQtPnN5c2NhbGxfc3RhdHVzKSk7CisJCXJldHVybiAwOworCX0KKworCWlmICghY3h0LT51cGRhdGUpIHsKKwkJY29uc3QgY2hhciAqbmFtZSA9IG1udF9jb250ZXh0X2dldF93cml0YWJsZV90YWJwYXRoKGN4dCk7CisKKwkJaWYgKGN4dC0+YWN0aW9uID09IE1OVF9BQ1RfVU1PVU5UICYmIGlzX2ZpbGVfZW1wdHkobmFtZSkpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkic2tpcCB1cGRhdGU6IHVtb3VudCwgbm8gdGFibGUiKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCWN4dC0+dXBkYXRlID0gbW50X25ld191cGRhdGUoKTsKKwkJaWYgKCFjeHQtPnVwZGF0ZSkKKwkJCXJldHVybiAtRU5PTUVNOworCisJCW1udF91cGRhdGVfc2V0X2ZpbGVuYW1lKGN4dC0+dXBkYXRlLCBuYW1lLAorCQkJCSFtbnRfY29udGV4dF9tdGFiX3dyaXRhYmxlKGN4dCkpOworCX0KKworCWlmIChjeHQtPmFjdGlvbiA9PSBNTlRfQUNUX1VNT1VOVCkKKwkJcmMgPSBtbnRfdXBkYXRlX3NldF9mcyhjeHQtPnVwZGF0ZSwgY3h0LT5tb3VudGZsYWdzLAorCQkJCQltbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCksIE5VTEwpOworCWVsc2UKKwkJcmMgPSBtbnRfdXBkYXRlX3NldF9mcyhjeHQtPnVwZGF0ZSwgY3h0LT5tb3VudGZsYWdzLAorCQkJCQlOVUxMLCBjeHQtPmZzKTsKKworCXJldHVybiByYyA8IDAgPyByYyA6IDA7Cit9CisKK2ludCBtbnRfY29udGV4dF91cGRhdGVfdGFicyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwl1bnNpZ25lZCBsb25nIGZsOworCWludCByYyA9IDA7CisJc3RydWN0IGxpYm1udF9ucyAqbnNfb2xkOworCisJYXNzZXJ0KGN4dCk7CisKKwlpZiAobW50X2NvbnRleHRfaXNfbm9tdGFiKGN4dCkpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZG9uJ3QgdXBkYXRlOiBOT01UQUIgZmxhZyIpKTsKKwkJcmV0dXJuIDA7CisJfQorCWlmICghY3h0LT51cGRhdGUgfHwgIW1udF91cGRhdGVfaXNfcmVhZHkoY3h0LT51cGRhdGUpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImRvbid0IHVwZGF0ZTogbm8gdXBkYXRlIHByZXBhcmVkIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwluc19vbGQgPSBtbnRfY29udGV4dF9zd2l0Y2hfdGFyZ2V0X25zKGN4dCk7CisJaWYgKCFuc19vbGQpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwkvKiBjaGVjayB1dGFiIHVwZGF0ZSB3aGVuIGV4dGVybmFsIGhlbHBlciBleGVjdXRlZCAqLworCWlmIChtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoY3h0KQorCSAgICAmJiBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1cyhjeHQpID09IDAKKwkgICAgJiYgbW50X2NvbnRleHRfdXRhYl93cml0YWJsZShjeHQpKSB7CisKKwkJaWYgKG1udF91cGRhdGVfYWxyZWFkeV9kb25lKGN4dC0+dXBkYXRlLCBjeHQtPmxvY2spKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJkb24ndCB1cGRhdGU6IGVycm9yIGV2YWx1YXRlIG9yIGFscmVhZHkgdXBkYXRlZCIpKTsKKwkJCWdvdG8gZW5kOworCQl9CisJfSBlbHNlIGlmIChjeHQtPmhlbHBlcikgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJkb24ndCB1cGRhdGU6IGV4dGVybmFsIGhlbHBlciIpKTsKKwkJZ290byBlbmQ7CisJfQorCisJaWYgKGN4dC0+c3lzY2FsbF9zdGF0dXMgIT0gMAorCSAgICAmJiAhKG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChjeHQpICYmCisJCSBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1cyhjeHQpID09IDApKSB7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZG9uJ3QgdXBkYXRlOiBzeXNjYWxsL2hlbHBlciBmYWlsZWQvbm90IGNhbGxlZCIpKTsKKwkJZ290byBlbmQ7CisJfQorCisJZmwgPSBtbnRfdXBkYXRlX2dldF9tZmxhZ3MoY3h0LT51cGRhdGUpOworCWlmICgoY3h0LT5tb3VudGZsYWdzICYgTVNfUkRPTkxZKSAhPSAoZmwgJiBNU19SRE9OTFkpKQorCQkvKgorCQkgKiBmaXggTVNfUkRPTkxZIGluIG9wdGlvbnMKKwkJICovCisJCW1udF91cGRhdGVfZm9yY2VfcmRvbmx5KGN4dC0+dXBkYXRlLAorCQkJCWN4dC0+bW91bnRmbGFncyAmIE1TX1JET05MWSk7CisKKwlyYyA9IG1udF91cGRhdGVfdGFibGUoY3h0LT51cGRhdGUsIGN4dC0+bG9jayk7CisKK2VuZDoKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGFwcGx5X3RhYmxlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJICAgICBpbnQgZGlyZWN0aW9uKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwljb25zdCBjaGFyICpzcmMsICp0Z3Q7CisJaW50IHJjOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCisJc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoY3h0LT5mcyk7CisJdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoY3h0LT5mcyk7CisKKwlpZiAodGd0ICYmIHNyYykKKwkJZnMgPSBtbnRfdGFibGVfZmluZF9wYWlyKHRiLCBzcmMsIHRndCwgZGlyZWN0aW9uKTsKKwllbHNlIHsKKwkJaWYgKHNyYykKKwkJCWZzID0gbW50X3RhYmxlX2ZpbmRfc291cmNlKHRiLCBzcmMsIGRpcmVjdGlvbik7CisJCWVsc2UgaWYgKHRndCkKKwkJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCB0Z3QsIGRpcmVjdGlvbik7CisKKwkJaWYgKCFmcyAmJiBtbnRfY29udGV4dF9pc19zd2FwbWF0Y2goY3h0KSkgeworCQkJLyogc3dhcCBzb3VyY2UgYW5kIHRhcmdldCAoaWYgQHNyYyBpcyBub3QgTEFCRUwvVVVJRCksCisJCQkgKiBmb3IgZXhhbXBsZSBpbgorCQkJICoKKwkJCSAqCW1vdW50IC9mb28vYmFyCisJCQkgKgorCQkJICogdGhlIHBhdGggY291bGQgYmUgYSBtb3VudHBvaW50IGFzIHdlbGwgYXMgYSBzb3VyY2UgKGZvcgorCQkJICogZXhhbXBsZSBiaW5kIG1vdW50LCBzeW1saW5rIHRvIGEgZGV2aWNlLCAuLi4pLgorCQkJICovCisJCQlpZiAoc3JjICYmICFtbnRfZnNfZ2V0X3RhZyhjeHQtPmZzLCBOVUxMLCBOVUxMKSkKKwkJCQlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0Yiwgc3JjLCBkaXJlY3Rpb24pOworCQkJaWYgKCFmcyAmJiB0Z3QpCisJCQkJZnMgPSBtbnRfdGFibGVfZmluZF9zb3VyY2UodGIsIHRndCwgZGlyZWN0aW9uKTsKKwkJfQorCX0KKworCWlmICghZnMpCisJCXJldHVybiAtTU5UX0VSUl9OT0ZTVEFCOwkvKiBub3QgZm91bmQgKi8KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFwcGx5IGVudHJ5OiIpKTsKKwlEQkcoQ1hULCBtbnRfZnNfcHJpbnRfZGVidWcoZnMsIHN0ZGVycikpOworCisJLyogY29weSBmcm9tIHRhYiB0byBvdXIgRlMgZGVzY3JpcHRpb24KKwkgKi8KKwlyYyA9IG1udF9mc19zZXRfc291cmNlKGN4dC0+ZnMsIG1udF9mc19nZXRfc291cmNlKGZzKSk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfZnNfc2V0X3RhcmdldChjeHQtPmZzLCBtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCisJaWYgKCFyYyAmJiAhbW50X2ZzX2dldF9mc3R5cGUoY3h0LT5mcykpCisJCXJjID0gbW50X2ZzX3NldF9mc3R5cGUoY3h0LT5mcywgbW50X2ZzX2dldF9mc3R5cGUoZnMpKTsKKworCWlmICghcmMgJiYgIW1udF9mc19nZXRfcm9vdChjeHQtPmZzKSAmJiBtbnRfZnNfZ2V0X3Jvb3QoZnMpKQorCQlyYyA9IG1udF9mc19zZXRfcm9vdChjeHQtPmZzLCBtbnRfZnNfZ2V0X3Jvb3QoZnMpKTsKKworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfSUdOT1JFKQorCQk7CisJZWxzZSBpZiAoY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9SRVBMQUNFKQorCQlyYyA9IG1udF9mc19zZXRfb3B0aW9ucyhjeHQtPmZzLCBtbnRfZnNfZ2V0X29wdGlvbnMoZnMpKTsKKworCWVsc2UgaWYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfQVBQRU5EKQorCQlyYyA9IG1udF9mc19hcHBlbmRfb3B0aW9ucyhjeHQtPmZzLCBtbnRfZnNfZ2V0X29wdGlvbnMoZnMpKTsKKworCWVsc2UgaWYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfUFJFUEVORCkKKwkJcmMgPSBtbnRfZnNfcHJlcGVuZF9vcHRpb25zKGN4dC0+ZnMsIG1udF9mc19nZXRfb3B0aW9ucyhmcykpOworCisJaWYgKCFyYykKKwkJY3h0LT5mbGFncyB8PSBNTlRfRkxfVEFCX0FQUExJRUQ7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2FwcGx5X2ZzdGFiOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFRoaXMgZnVuY3Rpb24gaXMgb3B0aW9uYWwuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X2FwcGx5X2ZzdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IC0xLCBpc3JlbW91bnQgPSAwLCBpc2NtZGJpbmQgPSAwOworCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZDsKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWIgPSBOVUxMOworCWNvbnN0IGNoYXIgKnNyYyA9IE5VTEwsICp0Z3QgPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgbWZsYWdzID0gMDsKKworCWlmICghY3h0IHx8ICFjeHQtPmZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChtbnRfY29udGV4dF90YWJfYXBwbGllZChjeHQpKSB7CS8qIGFscmVhZHkgYXBwbGllZCAqLworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmc3RhYiBhbHJlYWR5IGFwcGxpZWQgLS0gc2tpcCIpKTsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmb3JjZSBmc3RhYiB1c2FnZSBmb3Igbm9uLXJvb3QgdXNlcnMhIikpOworCQljeHQtPm9wdHNtb2RlID0gTU5UX09NT0RFX1VTRVI7CisJfSBlbHNlIGlmIChjeHQtPm9wdHNtb2RlID09IDApIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidXNlIGRlZmF1bHQgb3B0c21vZGUiKSk7CisJCWN4dC0+b3B0c21vZGUgPSBNTlRfT01PREVfQVVUTzsKKwl9IGVsc2UgaWYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfTk9UQUIpIHsKKwkJY3h0LT5vcHRzbW9kZSAmPSB+TU5UX09NT0RFX0ZTVEFCOworCQljeHQtPm9wdHNtb2RlICY9IH5NTlRfT01PREVfTVRBQjsKKwkJY3h0LT5vcHRzbW9kZSAmPSB+TU5UX09NT0RFX0ZPUkNFOworCX0KKworCWlmIChtbnRfY29udGV4dF9nZXRfbWZsYWdzKGN4dCwgJm1mbGFncykgPT0gMCkgeworCQlpc3JlbW91bnQgPSAhIShtZmxhZ3MgJiBNU19SRU1PVU5UKTsKKwkJaXNjbWRiaW5kID0gISEobWZsYWdzICYgTVNfQklORCk7CisJfQorCisJaWYgKGN4dC0+ZnMpIHsKKwkJc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoY3h0LT5mcyk7CisJCXRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIk9QVFNNT0RFOiBpZ25vcmU9JWQsIGFwcGVuZD0lZCwgcHJlcGVuZD0lZCwgIgorCQkJCSAgInJlcGxhY2U9JWQsIGZvcmNlPSVkLCBmc3RhYj0lZCwgbXRhYj0lZCIsCisJCQkJICBjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX0lHTk9SRSA/IDEgOiAwLAorCQkJCSAgY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9BUFBFTkQgPyAxIDogMCwKKwkJCQkgIGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfUFJFUEVORCA/IDEgOiAwLAorCQkJCSAgY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9SRVBMQUNFID8gMSA6IDAsCisJCQkJICBjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX0ZPUkNFID8gMSA6IDAsCisJCQkJICBjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX0ZTVEFCID8gMSA6IDAsCisJCQkJICBjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX01UQUIgPyAxIDogMCkpOworCisJLyogZnN0YWIgaXMgbm90IHJlcXVpcmVkIGlmIHNvdXJjZSBhbmQgdGFyZ2V0IGFyZSBzcGVjaWZpZWQgKi8KKwlpZiAoc3JjICYmIHRndCAmJiAhKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfRk9SQ0UpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZzdGFiIG5vdCByZXF1aXJlZCAtLSBza2lwIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAoIXNyYyAmJiB0Z3QKKwkgICAgJiYgIShjeHQtPm9wdHNtb2RlICYgTU5UX09NT0RFX0ZTVEFCKQorCSAgICAmJiAhKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfTVRBQikpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAib25seSB0YXJnZXQ7IGZzdGFiL210YWIgbm90IHJlcXVpcmVkICIKKwkJCQkJICAiLS0gc2tpcCwgcHJvYmFibHkgTVNfUFJPUEFHQVRJT04iKSk7CisJCXJldHVybiAwOworCX0KKworCS8qIGxldCdzIGluaXRpYWxpemUgY3h0LT5mcyAqLworCWlnbm9yZV9yZXN1bHQoIG1udF9jb250ZXh0X2dldF9mcyhjeHQpICk7CisKKwluc19vbGQgPSBtbnRfY29udGV4dF9zd2l0Y2hfdGFyZ2V0X25zKGN4dCk7CisJaWYgKCFuc19vbGQpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwkvKiB0cnkgZnN0YWIgKi8KKwlpZiAoY3h0LT5vcHRzbW9kZSAmIE1OVF9PTU9ERV9GU1RBQikgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ0cnlpbmcgdG8gYXBwbHkgZnN0YWIgKHNyYz0lcywgdGFyZ2V0PSVzKSIsIHNyYywgdGd0KSk7CisJCXJjID0gbW50X2NvbnRleHRfZ2V0X2ZzdGFiKGN4dCwgJnRhYik7CisJCWlmICghcmMpCisJCQlyYyA9IGFwcGx5X3RhYmxlKGN4dCwgdGFiLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwl9CisKKwkvKiB0cnkgbXRhYiAqLworCWlmIChyYyA8IDAgJiYgKGN4dC0+b3B0c21vZGUgJiBNTlRfT01PREVfTVRBQikKKwkgICAgJiYgKGlzcmVtb3VudCB8fCBjeHQtPmFjdGlvbiA9PSBNTlRfQUNUX1VNT1VOVCkpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidHJ5aW5nIHRvIGFwcGx5IG10YWIgKHNyYz0lcywgdGFyZ2V0PSVzKSIsIHNyYywgdGd0KSk7CisJCWlmICh0Z3QpCisJCQlyYyA9IG1udF9jb250ZXh0X2dldF9tdGFiX2Zvcl90YXJnZXQoY3h0LCAmdGFiLCB0Z3QpOworCQllbHNlCisJCQlyYyA9IG1udF9jb250ZXh0X2dldF9tdGFiKGN4dCwgJnRhYik7CisJCWlmICghcmMpCisJCQlyYyA9IGFwcGx5X3RhYmxlKGN4dCwgdGFiLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJfQorCisJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJaWYgKHJjKSB7CisJCWlmICghbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpCisJCSAgICAmJiB0Z3QgJiYgIXNyYworCQkgICAgJiYgaXNyZW1vdW50KSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJvbmx5IHRhcmdldDsgaWdub3JlIG1pc3NpbmcgbXRhYiBlbnRyeSBvbiByZW1vdW50IikpOworCQkJcmV0dXJuIDA7CisJCX0KKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gZmluZCBlbnRyeSBpbiBmc3RhYi9tdGFiIFtyYz0lZF06ICVtIiwgcmMpKTsKKworCQkvKiBmb3JjZSB0byAibm90IGZvdW5kIGluIGZzdGFiL210YWIiIGVycm9yLCB0aGUgZGV0YWlscyB3aHkKKwkJICogbm90IGZvdW5kIGFyZSBub3Qgc28gaW1wb3J0YW50IGFuZCBtYXkgYmUgbWlzaW50ZXJwcmV0ZWQgYnkKKwkJICogYXBwbGljYXRpb25zLi4uICovCisJCXJjID0gLU1OVF9FUlJfTk9GU1RBQjsKKworCisJfSBlbHNlIGlmIChpc3JlbW91bnQgJiYgIWlzY21kYmluZCkgeworCisJCS8qIHJlbW92ZSAiYmluZCIgZnJvbSBmc3RhYiAob3Igbm8tb3AgaWYgbm90IHByZXNlbnQpICovCisJCW1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbigmY3h0LT5mcy0+b3B0c3RyLCAiYmluZCIpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfdGFiX2FwcGxpZWQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBmc3RhYiAob3IgbXRhYikgaGFzIGJlZW4gYXBwbGllZCB0byB0aGUgY29udGV4dCwgb3IgMC4KKyAqLworaW50IG1udF9jb250ZXh0X3RhYl9hcHBsaWVkKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBjeHQtPmZsYWdzICYgTU5UX0ZMX1RBQl9BUFBMSUVEOworfQorCisvKgorICogVGhpcyBpcyBub3QgYSBwdWJsaWMgZnVuY3Rpb24hCisgKgorICogUmV0dXJucyAxIGlmICpvbmx5IHByb3BhZ2F0aW9uIGZsYWdzKiBjaGFuZ2UgaXMgcmVxdWVzdGVkLgorICovCitpbnQgbW50X2NvbnRleHRfcHJvcGFnYXRpb25fb25seShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpZiAoY3h0LT5hY3Rpb24gIT0gTU5UX0FDVF9NT1VOVCkKKwkJcmV0dXJuIDA7CisKKwkvKiBoYXMgdG8gYmUgY2FsbGVkIGFmdGVyIGNvbnRleHRfbW91bnQuYzogZml4X29wdHMoKSAqLworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVE9QVFNfRklYRUQpKTsKKworCS8qIGFsbCBwcm9wYWdhdGlvbiBtb3VudHMgYXJlIGluIGN4dC0+YWRkbW91bnQgKi8KKwlyZXR1cm4gIWxpc3RfZW1wdHkoJmN4dC0+YWRkbW91bnRzKQorCSAgICAgICAmJiAoY3h0LT5tb3VudGZsYWdzID09IDAgfHwgY3h0LT5tb3VudGZsYWdzID09IE1TX1NJTEVOVCkKKwkgICAgICAgJiYgY3h0LT5mcworCSAgICAgICAmJiAoIWN4dC0+ZnMtPmZzdHlwZSB8fCBzdHJjbXAoY3h0LT5mcy0+ZnN0eXBlLCAibm9uZSIpID09IDApCisJICAgICAgICYmICghY3h0LT5mcy0+c291cmNlIHx8IHN0cmNtcChjeHQtPmZzLT5zb3VyY2UsICJub25lIikgPT0gMCk7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZ2V0X3N0YXR1czoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBHbG9iYWwgbGlibW91bnQgc3RhdHVzLgorICoKKyAqIFRoZSByZWFsIGV4aXQgY29kZSBvZiB0aGUgbW91bnQudHlwZSBoZWxwZXIgaGFzIHRvIGJlIHRlc3RlZCBieQorICogbW50X2NvbnRleHRfZ2V0X2hlbHBlcl9zdGF0dXMoKS4gVGhlIG1udF9jb250ZXh0X2dldF9zdGF0dXMoKSBvbmx5IGluZm9ybXMKKyAqIHRoYXQgZXhlYygpIGhhcyBiZWVuIHN1Y2Nlc3NmdWwuCisgKgorICogUmV0dXJuczogMSBpZiBtb3VudC50eXBlIG9yIG1vdW50KDIpIHN5c2NhbGwgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGNhbGxlZC4KKyAqLworaW50IG1udF9jb250ZXh0X2dldF9zdGF0dXMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuICFjeHQtPnN5c2NhbGxfc3RhdHVzIHx8ICFjeHQtPmhlbHBlcl9leGVjX3N0YXR1czsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUmV0dXJuczogMSBpZiBtb3VudC50eXBlIGhlbHBlciBoYXMgYmVlbiBleGVjdXRlZCwgb3IgMC4KKyAqLworaW50IG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgIT0gMTsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1czoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBSZXR1cm46IG1vdW50LnR5cGUgaGVscGVyIGV4aXQgc3RhdHVzLCByZXN1bHQgaXMgcmVsaWFibGUgb25seSBpZgorICogICAgICAgICBtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoKSByZXR1cm5zIDEuCisgKi8KK2ludCBtbnRfY29udGV4dF9nZXRfaGVscGVyX3N0YXR1cyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5oZWxwZXJfc3RhdHVzOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3N5c2NhbGxfY2FsbGVkOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IDEgaWYgbW91bnQoMikgc3lzY2FsbCBoYXMgYmVlbiBjYWxsZWQsIG9yIDAuCisgKi8KK2ludCBtbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gY3h0LT5zeXNjYWxsX3N0YXR1cyAhPSAxOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9zeXNjYWxsX2Vycm5vOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFRoZSByZXN1bHQgZnJvbSB0aGlzIGZ1bmN0aW9uIGlzIHJlbGlhYmxlIG9ubHkgaWYKKyAqIG1udF9jb250ZXh0X3N5c2NhbGxfY2FsbGVkKCkgcmV0dXJucyAxLgorICoKKyAqIFJldHVybnM6IG1vdW50KDIpIGVycm5vIGlmIHRoZSBzeXNjYWxsIGZhaWxlZCBvciAwLgorICovCitpbnQgbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJaWYgKGN4dC0+c3lzY2FsbF9zdGF0dXMgPCAwKQorCQlyZXR1cm4gLWN4dC0+c3lzY2FsbF9zdGF0dXM7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X3N5c2NhbGxfc3RhdHVzOgorICogQGN4dDogbW91bnQgY29udGV4dAorICogQHN0YXR1czogbW91bnQoMikgc3RhdHVzCisgKgorICogVGhlIEBzdGF0dXMgc2hvdWxkIGJlIDAgb24gc3VjY2Vzcywgb3IgbmVnYXRpdmUgbnVtYmVyIG9uIGVycm9yICgtZXJybm8pLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBpZiB0aGUgW3VdbW91bnQoMikgc3lzY2FsbCBpcyBOT1QgY2FsbGVkIGJ5CisgKiBsaWJtb3VudCBjb2RlLgorICoKKyAqIFJldHVybnM6IDAgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfY29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBzdGF0dXMpCit7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAic3lzY2FsbCBzdGF0dXMgc2V0IHRvOiAlZCIsIHN0YXR1cykpOworCWN4dC0+c3lzY2FsbF9zdGF0dXMgPSBzdGF0dXM7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc3RyZXJyb3IKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBidWY6IGJ1ZmZlcgorICogQGJ1ZnNpejogc2l6ZSBvZiB0aGUgYnVmZmVyCisgKgorICogTm90IGltcGxlbWVudGVkLCBkZXByZWNhdGVkIGluIGZhdm9yIG9yIG1udF9jb250ZXh0X2dldF9leGNvZGUoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfc3RyZXJyb3Ioc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJIGNoYXIgKmJ1ZiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkgc2l6ZV90IGJ1ZnNpeiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJLyogVE9ETzogYmFzZWQgb24gY3h0LT5zeXNjYWxsX2Vycm5vIG9yIGN4dC0+aGVscGVyX3N0YXR1cyAqLworCXJldHVybiAwOworfQorCisKK2ludCBtbnRfY29udGV4dF9nZXRfZ2VuZXJpY19leGNvZGUoaW50IHJjLCBjaGFyICpidWYsIHNpemVfdCBidWZzeiwgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCB2YTsKKworCWlmIChyYyA9PSAwKQorCQlyZXR1cm4gTU5UX0VYX1NVQ0NFU1M7CisKKwl2YV9zdGFydCh2YSwgZm10KTsKKworCS8qIHdlIG5lZWQgdG8gc3VwcG9ydCAiJW0iICovCisJZXJybm8gPSByYyA8IDAgPyAtcmMgOiByYzsKKworCWlmIChidWYpCisJCXZzbnByaW50ZihidWYsIGJ1ZnN6LCBmbXQsIHZhKTsKKworCXN3aXRjaCAoZXJybm8pIHsKKwljYXNlIEVJTlZBTDoKKwljYXNlIEVQRVJNOgorCQlyYyA9IE1OVF9FWF9VU0FHRTsKKwkJYnJlYWs7CisJY2FzZSBFTk9NRU06CisJCXJjID0gTU5UX0VYX1NZU0VSUjsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmMgPSBNTlRfRVhfRkFJTDsKKwkJYnJlYWs7CisJfQorCXZhX2VuZCh2YSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2dldF9leGNvZGU6CisgKiBAY3h0OiBjb250ZXh0CisgKiBAcmM6IHJldHVybiBjb2RlIG9mIHRoZSBwcmV2aW91cyBvcGVyYXRpb24KKyAqIEBidWY6IGJ1ZmZlciB0byBwcmludCBlcnJvciBtZXNzYWdlIChvcHRpb25hbCkKKyAqIEBidWZzejogc2l6ZSBvZiB0aGUgYnVmZmVyCisgKgorICogVGhpcyBmdW5jdGlvbiBhbmFseXplcyBjb250ZXh0LCBbdV1tb3VudCBzeXNjYWxsIGFuZCBleHRlcm5hbCBoZWxwZXIgc3RhdHVzCisgKiBhbmQgQG1udHJjIGFuZCBnZW5lcmF0ZXMgdW5pZmllZCByZXR1cm4gY29kZSAoc2VlIE1OVF9FWF8qKSBhcyBleHBlY3RlZAorICogZnJvbSBtb3VudCg4KSBvciB1bW91bnQoOCkuCisgKgorICogSWYgdGhlIGV4dGVybmFsIGhlbHBlciAoZS5nLiAvc2Jpbi9tb3VudC50eXBlKSBoYXMgYmVlbiBleGVjdXRlZCB0aGFuIGl0CisgKiByZXR1cm5zIHN0YXR1cyBmcm9tIHdhaXQoKSBvZiB0aGUgaGVscGVyLiBJdCdzIG5vdCBsaWJtb3VudCBmYWlsIGlmIGhlbHBlcgorICogcmV0dXJucyBzb21lIGNyYXp5IHVuZG9jdW1lbnRlZCBjb2Rlcy4uLiAgU2VlIG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZCgpCisgKiBhbmQgbW50X2NvbnRleHRfZ2V0X2hlbHBlcl9zdGF0dXMoKS4gTm90ZSB0aGF0IG1vdW50KDgpIGFuZCB1bW91bnQoOCkgdXRpbHMKKyAqIGFsd2F5cyByZXR1cm4gY29kZSBmcm9tIGhlbHBlciB3aXRob3V0IGV4dHJhIGNhcmUgYWJvdXQgaXQuCisgKgorICogSWYgdGhlIGFyZ3VtZW50IEBidWYgaXMgbm90IE5VTEwgdGhlbiBlcnJvciBtZXNzYWdlIGlzIGdlbmVyYXRlZCAoaWYKKyAqIGFueXRoaW5nIGZhaWxlZCkuCisgKgorICogVGhlIEBtbnRyYyBpcyB1c3VhbGx5IHJldHVybiBjb2RlIGZyb20gbW50X2NvbnRleHRfbW91bnQoKSwKKyAqIG1udF9jb250ZXh0X3Vtb3VudCgpLCBvciAnbW50cmMnIGFzIHJldHVybmVkIGJ5IG1udF9jb250ZXh0X25leHRfbW91bnQoKS4KKyAqCisgKiBTaW5jZTogMi4zMAorICoKKyAqIFJldHVybnM6IE1OVF9FWF8qIGNvZGVzLgorICovCitpbnQgbW50X2NvbnRleHRfZ2V0X2V4Y29kZSgKKwkJCXN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJaW50IHJjLAorCQkJY2hhciAqYnVmLAorCQkJc2l6ZV90IGJ1ZnN6KQoreworCWlmIChidWYpIHsKKwkJKmJ1ZiA9ICdcMCc7IC8qIGZvciBzdXJlICovCisKKwkJaWYgKCFjeHQtPmVuYWJsZWRfdGV4dGRvbWFpbikgeworCQkJYmluZHRleHRkb21haW4oTElCTU9VTlRfVEVYVERPTUFJTiwgTE9DQUxFRElSKTsKKwkJCWN4dC0+ZW5hYmxlZF90ZXh0ZG9tYWluID0gMTsKKwkJfQorCX0KKworCXN3aXRjaCAoY3h0LT5hY3Rpb24pIHsKKwljYXNlIE1OVF9BQ1RfTU9VTlQ6CisJCXJjID0gbW50X2NvbnRleHRfZ2V0X21vdW50X2V4Y29kZShjeHQsIHJjLCBidWYsIGJ1ZnN6KTsKKwkJYnJlYWs7CisJY2FzZSBNTlRfQUNUX1VNT1VOVDoKKwkJcmMgPSBtbnRfY29udGV4dF9nZXRfdW1vdW50X2V4Y29kZShjeHQsIHJjLCBidWYsIGJ1ZnN6KTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJaWYgKHJjKQorCQkJcmMgPSBtbnRfY29udGV4dF9nZXRfZ2VuZXJpY19leGNvZGUocmMsIGJ1ZiwgYnVmc3osCisJCQkJXygib3BlcmF0aW9uIGZhaWxlZDogJW0iKSk7CisJCWVsc2UKKwkJCXJjID0gTU5UX0VYX1NVQ0NFU1M7CisJCWJyZWFrOworCX0KKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImV4Y29kZTogcmM9JWQgbWVzc2FnZT1cIiVzXCIiLCByYywKKwkJCQlidWYgPyBidWYgOiAiPG5vLW1lc3NhZ2U+IikpOworCXJldHVybiByYzsKK30KKworCisvKioKKyAqIG1udF9jb250ZXh0X2luaXRfaGVscGVyCisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAYWN0aW9uOiBNTlRfQUNUX3tVTU9VTlQsTU9VTlR9CisgKiBAZmxhZ3M6IG5vdCB1c2VkIG5vdworICoKKyAqIFRoaXMgZnVuY3Rpb24gaW5mb3JtcyBsaWJtb3VudCB0aGF0IHVzZWQgZnJvbSBbdV1tb3VudC50eXBlIGhlbHBlci4KKyAqCisgKiBUaGUgZnVuY3Rpb24gYWxzbyBjYWxscyBtbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoKSB0byBhdm9pZCByZWN1cnNpdmUKKyAqIG1vdW50LnR5cGUgaGVscGVycyBjYWxsaW5nLiBJdCB5b3UgcmVhbGx5IHdhbnQgdG8gY2FsbCBhbm90aGVyCisgKiBtb3VudC50eXBlIGhlbHBlciBmcm9tIHlvdXIgaGVscGVyLCB0aGVuIHlvdSBoYXZlIHRvIGV4cGxpY2l0bHkgZW5hYmxlIHRoaXMKKyAqIGZlYXR1cmUgYnk6CisgKgorICoJIG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycyhjeHQsIEZBTFNFKTsKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfaW5pdF9oZWxwZXIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBhY3Rpb24sCisJCQkgICAgaW50IGZsYWdzIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgcmM7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycyhjeHQsIFRSVUUpOworCWlmICghcmMpCisJCXJjID0gc2V0X2ZsYWcoY3h0LCBNTlRfRkxfSEVMUEVSLCAxKTsKKwlpZiAoIXJjKQorCQljeHQtPmFjdGlvbiA9IGFjdGlvbjsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImluaXRpYWxpemVkIGZvciBbdV1tb3VudC48dHlwZT4gaGVscGVyIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9oZWxwZXJfc2V0b3B0OgorICogQGN4dDogY29udGV4dAorICogQGM6IGdldG9wdCgpIHJlc3VsdAorICogQGFyZzogZ2V0b3B0KCkgb3B0YXJnCisgKgorICogVGhpcyBmdW5jdGlvbiBhcHBsaWVzIHRoZSBbdV1tb3VudC50eXBlIGNvbW1hbmQgbGluZSBvcHRpb24gKGZvciBleGFtcGxlIHBhcnNlZAorICogYnkgZ2V0b3B0IG9yIGdldG9wdF9sb25nKSB0byBAY3h0LiBBbGwgdW5rbm93biBvcHRpb25zIGFyZSBpZ25vcmVkIGFuZAorICogdGhlbiAxIGlzIHJldHVybmVkLgorICoKKyAqIFJldHVybnM6IG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvciwgMSBpZiBAYyBpcyB1bmtub3duIG9wdGlvbiwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgbW50X2NvbnRleHRfaGVscGVyX3NldG9wdChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGMsIGNoYXIgKmFyZykKK3sKKwlpZiAoY3h0KSB7CisJCXN3aXRjaChjeHQtPmFjdGlvbikgeworCQljYXNlIE1OVF9BQ1RfTU9VTlQ6CisJCQlyZXR1cm4gbW50X2NvbnRleHRfbW91bnRfc2V0b3B0KGN4dCwgYywgYXJnKTsKKwkJY2FzZSBNTlRfQUNUX1VNT1VOVDoKKwkJCXJldHVybiBtbnRfY29udGV4dF91bW91bnRfc2V0b3B0KGN4dCwgYywgYXJnKTsKKwkJfQorCX0KKwlyZXR1cm4gLUVJTlZBTDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9pc19mc19tb3VudGVkOgorICogQGN4dDogY29udGV4dAorICogQGZzOiBmaWxlc3lzdGVtCisgKiBAbW91bnRlZDogcmV0dXJucyAxIGZvciBtb3VudGVkIGFuZCAwIGZvciBub24tbW91bnRlZCBmaWxlc3lzdGVtcworICoKKyAqIFBsZWFzZSwgcmVhZCB0aGUgbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQoKSBkZXNjcmlwdGlvbiEKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MgYW5kIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2NvbnRleHRfaXNfZnNfbW91bnRlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCSAgICAgIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgKm1vdW50ZWQpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYiwgKm9yaWc7CisJaW50IHJjOworCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZDsKKworCWlmICghY3h0IHx8ICFmcyB8fCAhbW91bnRlZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwluc19vbGQgPSBtbnRfY29udGV4dF9zd2l0Y2hfdGFyZ2V0X25zKGN4dCk7CisJaWYgKCFuc19vbGQpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwlvcmlnID0gY3h0LT5tdGFiOworCXJjID0gbW50X2NvbnRleHRfZ2V0X210YWIoY3h0LCAmbXRhYik7CisJaWYgKHJjID09IC1FTk9FTlQgJiYgbW50X2ZzX3N0cmVxX3RhcmdldChmcywgIi9wcm9jIikgJiYKKwkgICAgKCFjeHQtPm10YWJfcGF0aCB8fCBzdGFydHN3aXRoKGN4dC0+bXRhYl9wYXRoLCAiL3Byb2MvIikpKSB7CisJCWlmICghb3JpZykgeworCQkJbW50X3VucmVmX3RhYmxlKGN4dC0+bXRhYik7CisJCQljeHQtPm10YWIgPSBOVUxMOworCQl9CisJCSptb3VudGVkID0gMDsKKwkJcmV0dXJuIDA7CS8qIC9wcm9jIG5vdCBtb3VudGVkICovCisJfSBlbHNlIGlmIChyYykKKwkJcmV0dXJuIHJjOworCisJKm1vdW50ZWQgPSBtbnRfdGFibGVfaXNfZnNfbW91bnRlZChtdGFiLCBmcyk7CisKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgbW50X2NvbnRleHRfYWRkX2NoaWxkKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBwaWRfdCBwaWQpCit7CisJcGlkX3QgKnBpZHM7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwaWRzID0gcmVhbGxvYyhjeHQtPmNoaWxkcmVuLCBzaXplb2YocGlkX3QpICogY3h0LT5uY2hpbGRyZW4gKyAxKTsKKwlpZiAoIXBpZHMpCisJCXJldHVybiAtRU5PTUVNOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiYWRkIG5ldyBjaGlsZCAlZCIsIHBpZCkpOworCWN4dC0+Y2hpbGRyZW4gPSBwaWRzOworCWN4dC0+Y2hpbGRyZW5bY3h0LT5uY2hpbGRyZW4rK10gPSBwaWQ7CisKKwlyZXR1cm4gMDsKK30KKworaW50IG1udF9mb3JrX2NvbnRleHQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJaW50IHJjID0gMDsKKwlwaWRfdCBwaWQ7CisKKwlhc3NlcnQoY3h0KTsKKwlpZiAoIW1udF9jb250ZXh0X2lzX3BhcmVudChjeHQpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZvcmtpbmcgY29udGV4dCIpKTsKKworCURCR19GTFVTSDsKKworCXBpZCA9IGZvcmsoKTsKKworCXN3aXRjaCAocGlkKSB7CisJY2FzZSAtMTogLyogZXJyb3IgKi8KKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZm9yayBmYWlsZWQgJW0iKSk7CisJCXJldHVybiAtZXJybm87CisKKwljYXNlIDA6IC8qIGNoaWxkICovCisJCWN4dC0+cGlkID0gZ2V0cGlkKCk7CisJCW1udF9jb250ZXh0X2VuYWJsZV9mb3JrKGN4dCwgRkFMU0UpOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJjaGlsZCBjcmVhdGVkIikpOworCQlicmVhazsKKworCWRlZmF1bHQ6CisJCXJjID0gbW50X2NvbnRleHRfYWRkX2NoaWxkKGN4dCwgcGlkKTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCitpbnQgbW50X2NvbnRleHRfd2FpdF9mb3JfY2hpbGRyZW4oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJICBpbnQgKm5jaGlsZHJlbiwgaW50ICpuZXJycykKK3sKKwlpbnQgaTsKKworCWlmICghY3h0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWFzc2VydChtbnRfY29udGV4dF9pc19wYXJlbnQoY3h0KSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3h0LT5uY2hpbGRyZW47IGkrKykgeworCQlwaWRfdCBwaWQgPSBjeHQtPmNoaWxkcmVuW2ldOworCQlpbnQgcmMgPSAwLCByZXQgPSAwOworCisJCWlmICghcGlkKQorCQkJY29udGludWU7CisJCWRvIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkJIndhaXRpbmcgZm9yIGNoaWxkICglZC8lZCk6ICVkIiwKKwkJCQkJaSArIDEsIGN4dC0+bmNoaWxkcmVuLCBwaWQpKTsKKwkJCWVycm5vID0gMDsKKwkJCXJjID0gd2FpdHBpZChwaWQsICZyZXQsIDApOworCisJCX0gd2hpbGUgKHJjID09IC0xICYmIGVycm5vID09IEVJTlRSKTsKKworCQlpZiAobmNoaWxkcmVuKQorCQkJKCpuY2hpbGRyZW4pKys7CisKKwkJaWYgKHJjICE9IC0xICYmIG5lcnJzKSB7CisJCQlpZiAoV0lGRVhJVEVEKHJldCkpCisJCQkJKCpuZXJycykgKz0gV0VYSVRTVEFUVVMocmV0KSA9PSAwID8gMCA6IDE7CisJCQllbHNlCisJCQkJKCpuZXJycykrKzsKKwkJfQorCQljeHQtPmNoaWxkcmVuW2ldID0gMDsKKwl9CisKKwljeHQtPm5jaGlsZHJlbiA9IDA7CisJZnJlZShjeHQtPmNoaWxkcmVuKTsKKwljeHQtPmNoaWxkcmVuID0gTlVMTDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgY2xvc2VfbnMoc3RydWN0IGxpYm1udF9ucyAqbnMpCit7CisJaWYgKG5zLT5mZCA9PSAtMSkKKwkJcmV0dXJuOworCisJY2xvc2UobnMtPmZkKTsKKwlucy0+ZmQgPSAtMTsKKworCW1udF91bnJlZl9jYWNoZShucy0+Y2FjaGUpOworCW5zLT5jYWNoZSA9IE5VTEw7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfc2V0X3RhcmdldF9uczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBwYXRoOiBwYXRoIHRvIHRhcmdldCBuYW1lc3BhY2Ugb3IgTlVMTAorICoKKyAqIFNldHMgdGFyZ2V0IG5hbWVzcGFjZSB0byBuYW1lc3BhY2UgcmVwcmVzZW50ZWQgYnkgQHBhdGguIElmIEBwYXRoIGlzIE5VTEwsCisgKiB0YXJnZXQgbmFtZXNwYWNlIGlzIGNsZWFyZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4zMworICovCitpbnQgbW50X2NvbnRleHRfc2V0X3RhcmdldF9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqcGF0aCkKK3sKKwlpbnQgZXJyc3YgPSAwOworCWludCB0bXA7CisKKwlpZiAoIWN4dCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJTZXR0aW5nICVzIGFzIHRhcmdldCBuYW1lc3BhY2UiLCBwYXRoKSk7CisKKwkvKiBjbGVhbnVwIG9ubHkgKi8KKwlpZiAoIXBhdGgpIHsKKwkJY2xvc2VfbnMoJmN4dC0+bnNfb3JpZyk7CisJCWNsb3NlX25zKCZjeHQtPm5zX3RndCk7CisJCXJldHVybiAwOworCX0KKworCWVycm5vID0gMDsKKworCS8qIG9wZW4gb3JpZ2luYWwgbmFtZXNwYWNlICovCisJaWYgKGN4dC0+bnNfb3JpZy5mZCA9PSAtMSkgeworCQljeHQtPm5zX29yaWcuZmQgPSBvcGVuKCIvcHJvYy9zZWxmL25zL21udCIsIE9fUkRPTkxZIHwgT19DTE9FWEVDKTsKKwkJaWYgKGN4dC0+bnNfb3JpZy5mZCA9PSAtMSkKKwkJCXJldHVybiAtZXJybm87CisJCWN4dC0+bnNfb3JpZy5jYWNoZSA9IE5VTEw7CisJfQorCisJLyogb3BlbiB0YXJnZXQgKHdhbnRlZCkgbmFtZXNwYWNlICovCisJdG1wID0gb3BlbihwYXRoLCBPX1JET05MWSB8IE9fQ0xPRVhFQyk7CisJaWYgKHRtcCA9PSAtMSkKKwkJcmV0dXJuIC1lcnJubzsKKworCS8qIHRlc3Qgd2hldGhlciBuYW1lc3BhY2Ugc3dpdGNoaW5nIHdvcmtzICovCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiVHJ5aW5nIHdoZXRoZXIgbmFtZXNwYWNlIGlzIHZhbGlkIikpOworCWlmIChzZXRucyh0bXAsIENMT05FX05FV05TKQorCSAgICB8fCBzZXRucyhjeHQtPm5zX29yaWcuZmQsIENMT05FX05FV05TKSkgeworCQllcnJzdiA9IGVycm5vOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJzZXRucygyKSBmYWlsZWQgW2Vycm5vPSVkICVtXSIsIGVycm5vKSk7CisJCWdvdG8gZXJyOworCX0KKworCWNsb3NlX25zKCZjeHQtPm5zX3RndCk7CisKKwljeHQtPm5zX3RndC5mZCA9IHRtcDsKKwljeHQtPm5zX3RndC5jYWNoZSA9IE5VTEw7CisKKwlyZXR1cm4gMDsKK2VycjoKKwljbG9zZSh0bXApOworCWVycm5vID0gZXJyc3Y7CisJcmV0dXJuIC1lcnJubzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfdGFyZ2V0X25zOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gdGFyZ2V0IG5hbWVzcGFjZQorICoKKyAqIFNpbmNlOiAyLjMzCisgKi8KK3N0cnVjdCBsaWJtbnRfbnMgKm1udF9jb250ZXh0X2dldF90YXJnZXRfbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJcmV0dXJuICZjeHQtPm5zX3RndDsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9nZXRfb3JpZ2luX25zOgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gb3JpZ2luYWwgbmFtZXNwYWNlCisgKgorICogU2luY2U6IDIuMzMKKyAqLworc3RydWN0IGxpYm1udF9ucyAqbW50X2NvbnRleHRfZ2V0X29yaWdpbl9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gJmN4dC0+bnNfb3JpZzsKK30KKworCisvKioKKyAqIG1udF9jb250ZXh0X3N3aXRjaF9uczoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqIEBuczogbmFtZXNwYWNlIHRvIHN3aXRjaCB0bworICoKKyAqIFN3aXRjaCB0byBuYW1lc3BhY2Ugc3BlY2lmaWVkIGJ5IG5zCisgKgorICogVHlwaWNhbCB1c2FnZToKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZDsKKyAqCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG1udF9jb250ZXh0X2dldF90YXJnZXRfbnMoY3h0KSk7CisgKgkuLi4gY29kZSAuLi4KKyAqCW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHByZXZpb3VzIG5hbWVzcGFjZSBvciBOVUxMIG9uIGVycm9yCisgKgorICogU2luY2U6IDIuMzMKKyAqLworc3RydWN0IGxpYm1udF9ucyAqbW50X2NvbnRleHRfc3dpdGNoX25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBzdHJ1Y3QgbGlibW50X25zICpucykKK3sKKwlzdHJ1Y3QgbGlibW50X25zICpvbGQ7CisKKwlpZiAoIWN4dCB8fCAhbnMpCisJCXJldHVybiBOVUxMOworCisJb2xkID0gY3h0LT5uc19jdXI7CisJaWYgKG5zID09IG9sZCB8fCBucy0+ZmQgPT0gLTEpCisJCXJldHVybiBvbGQ7CisKKwkvKiByZW1lbWJlciB0aGUgY3VycmVtdCBjYWNoZSAqLworCWlmIChvbGQtPmNhY2hlICE9IGN4dC0+Y2FjaGUpIHsKKwkJbW50X3VucmVmX2NhY2hlKG9sZC0+Y2FjaGUpOworCQlvbGQtPmNhY2hlID0gY3h0LT5jYWNoZTsKKwkJbW50X3JlZl9jYWNoZShvbGQtPmNhY2hlKTsKKwl9CisKKwkvKiBzd2l0Y2ggKi8KKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJTd2l0Y2hpbmcgdG8gJXMgbmFtZXNwYWNlIiwKKwkJbnMgPT0gbW50X2NvbnRleHRfZ2V0X3RhcmdldF9ucyhjeHQpID8gInRhcmdldCIgOgorCQlucyA9PSBtbnRfY29udGV4dF9nZXRfb3JpZ2luX25zKGN4dCkgPyAib3JpZ2luYWwiIDogIm90aGVyIikpOworCisJaWYgKHNldG5zKG5zLT5mZCwgQ0xPTkVfTkVXTlMpKSB7CisJCWludCBlcnJzdiA9IGVycm5vOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNldG5zKDIpIGZhaWxlZCBbZXJybm89JWQgJW1dIiwgZXJybm8pKTsKKwkJZXJybm8gPSBlcnJzdjsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJLyogdXBkYXRlIHBvaW50ZXIgdG8gdGhlIGN1cnJlbnQgbmFtZXNwYWNlICovCisJY3h0LT5uc19jdXIgPSBuczsKKworCS8qIHVwZGF0ZSBwb2ludGVyIHRvIHRoZSBjYWNoZSAqLworCW1udF91bnJlZl9jYWNoZShjeHQtPmNhY2hlKTsKKwljeHQtPmNhY2hlID0gbnMtPmNhY2hlOworCW1udF9yZWZfY2FjaGUoY3h0LT5jYWNoZSk7CisKKwlyZXR1cm4gb2xkOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3N3aXRjaF9vcmlnaW5fbnM6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogU3dpdGNoIHRvIG9yaWdpbmFsIG5hbWVzcGFjZQorICoKKyAqIFRoaXMgaXMgc2hvcnRoYW5kIGZvcgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICoJbW50X2NvbnRleHRfc3dpdGNoX25zKGN4dCwgbW50X2NvbnRleHRfZ2V0X29yaWdpbl9ucyhjeHQpKTsKKyAqICAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gcHJldmlvdXMgbmFtZXNwYWNlIG9yIE5VTEwgb24gZXJyb3IKKyAqCisgKiBTaW5jZTogMi4zMworICovCitzdHJ1Y3QgbGlibW50X25zICptbnRfY29udGV4dF9zd2l0Y2hfb3JpZ2luX25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXJldHVybiBtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBtbnRfY29udGV4dF9nZXRfb3JpZ2luX25zKGN4dCkpOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnM6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogU3dpdGNoIHRvIHRhcmdldCBuYW1lc3BhY2UKKyAqCisgKiBUaGlzIGlzIHNob3J0aGFuZCBmb3IKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG1udF9jb250ZXh0X2dldF90YXJnZXRfbnMoY3h0KSk7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHByZXZpb3VzIG5hbWVzcGFjZSBvciBOVUxMIG9uIGVycm9yCisgKgorICogU2luY2U6IDIuMzMKKyAqLworc3RydWN0IGxpYm1udF9ucyAqbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlyZXR1cm4gbW50X2NvbnRleHRfc3dpdGNoX25zKGN4dCwgbW50X2NvbnRleHRfZ2V0X3RhcmdldF9ucyhjeHQpKTsKK30KKworCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X2xvY2sgKmxvY2s7CisKK3N0YXRpYyB2b2lkIGxvY2tfZmFsbGJhY2sodm9pZCkKK3sKKwlpZiAobG9jaykKKwkJbW50X3VubG9ja19maWxlKGxvY2spOworfQorCitzdGF0aWMgaW50IHRlc3RfbW91bnQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgaWR4ID0gMSwgcmMgPSAwOworCXN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0OworCisJaWYgKGFyZ2MgPCAyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWN4dCA9IG1udF9uZXdfY29udGV4dCgpOworCWlmICghY3h0KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmICghc3RyY21wKGFyZ3ZbaWR4XSwgIi1vIikpIHsKKwkJbW50X2NvbnRleHRfc2V0X29wdGlvbnMoY3h0LCBhcmd2W2lkeCArIDFdKTsKKwkJaWR4ICs9IDI7CisJfQorCWlmICghc3RyY21wKGFyZ3ZbaWR4XSwgIi10IikpIHsKKwkJLyogVE9ETzogdXNlIG1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybigpICovCisJCW1udF9jb250ZXh0X3NldF9mc3R5cGUoY3h0LCBhcmd2W2lkeCArIDFdKTsKKwkJaWR4ICs9IDI7CisJfQorCisJaWYgKGFyZ2MgPT0gaWR4ICsgMSkKKwkJLyogbW91bnQgPG1vdW50cG9pbnQ+fDxkZXZpY2U+ICovCisJCW1udF9jb250ZXh0X3NldF90YXJnZXQoY3h0LCBhcmd2W2lkeCsrXSk7CisKKwllbHNlIGlmIChhcmdjID09IGlkeCArIDIpIHsKKwkJLyogbW91bnQgPGRldmljZT4gPG1vdW50cG9pbnQ+ICovCisJCW1udF9jb250ZXh0X3NldF9zb3VyY2UoY3h0LCBhcmd2W2lkeCsrXSk7CisJCW1udF9jb250ZXh0X3NldF90YXJnZXQoY3h0LCBhcmd2W2lkeCsrXSk7CisJfQorCisJLyogdGhpcyBpcyB1bm5lY2Vzc2FyeSEgLS0gbGlibW91bnQgaXMgYWJsZSB0byBpbnRlcm5hbGx5CisJICogY3JlYXRlIGFuZCBtYW5hZ2UgdGhlIGxvY2sKKwkgKi8KKwlsb2NrID0gbW50X2NvbnRleHRfZ2V0X2xvY2soY3h0KTsKKwlpZiAobG9jaykKKwkJYXRleGl0KGxvY2tfZmFsbGJhY2spOworCisJcmMgPSBtbnRfY29udGV4dF9tb3VudChjeHQpOworCWlmIChyYykKKwkJd2FybigiZmFpbGVkIHRvIG1vdW50Iik7CisJZWxzZQorCQlwcmludGYoInN1Y2Nlc3NmdWxseSBtb3VudGVkXG4iKTsKKworCWxvY2sgPSBOVUxMOwkvKiBiZWNhdXNlIHdlIHVzZSBhdGV4aXQgbG9ja19mYWxsYmFjayAqLworCW1udF9mcmVlX2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF91bW91bnQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgaWR4ID0gMSwgcmMgPSAwOworCXN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0OworCisJaWYgKGFyZ2MgPCAyKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWN4dCA9IG1udF9uZXdfY29udGV4dCgpOworCWlmICghY3h0KQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmICghc3RyY21wKGFyZ3ZbaWR4XSwgIi10IikpIHsKKwkJbW50X2NvbnRleHRfc2V0X2ZzdHlwZShjeHQsIGFyZ3ZbaWR4ICsgMV0pOworCQlpZHggKz0gMjsKKwl9CisKKwlpZiAoIXN0cmNtcChhcmd2W2lkeF0sICItZiIpKSB7CisJCW1udF9jb250ZXh0X2VuYWJsZV9mb3JjZShjeHQsIFRSVUUpOworCQlpZHgrKzsKKwl9CisKKwlpZiAoIXN0cmNtcChhcmd2W2lkeF0sICItbCIpKSB7CisJCW1udF9jb250ZXh0X2VuYWJsZV9sYXp5KGN4dCwgVFJVRSk7CisJCWlkeCsrOworCX0KKworCWlmICghc3RyY21wKGFyZ3ZbaWR4XSwgIi1yIikpIHsKKwkJbW50X2NvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnQoY3h0LCBUUlVFKTsKKwkJaWR4Kys7CisJfQorCisJaWYgKGFyZ2MgPT0gaWR4ICsgMSkgeworCQkvKiBtb3VudCA8bW91bnRwb2ludD58PGRldmljZT4gKi8KKwkJbW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsIGFyZ3ZbaWR4KytdKTsKKwl9IGVsc2UgeworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXJyOworCX0KKworCWxvY2sgPSBtbnRfY29udGV4dF9nZXRfbG9jayhjeHQpOworCWlmIChsb2NrKQorCQlhdGV4aXQobG9ja19mYWxsYmFjayk7CisKKwlyYyA9IG1udF9jb250ZXh0X3Vtb3VudChjeHQpOworCWlmIChyYykKKwkJcHJpbnRmKCJmYWlsZWQgdG8gdW1vdW50XG4iKTsKKwllbHNlCisJCXByaW50Zigic3VjY2Vzc2Z1bGx5IHVtb3VudGVkXG4iKTsKK2VycjoKKwlsb2NrID0gTlVMTDsJLyogYmVjYXVzZSB3ZSB1c2UgYXRleGl0IGxvY2tfZmFsbGJhY2sgKi8KKwltbnRfZnJlZV9jb250ZXh0KGN4dCk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfZmxhZ3Moc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgaWR4ID0gMSwgcmMgPSAwOworCXN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0OworCWNvbnN0IGNoYXIgKm9wdCA9IE5VTEw7CisJdW5zaWduZWQgbG9uZyBmbGFncyA9IDA7CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldHVybiAtRUlOVkFMOworCisJY3h0ID0gbW50X25ld19jb250ZXh0KCk7CisJaWYgKCFjeHQpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKCFzdHJjbXAoYXJndltpZHhdLCAiLW8iKSkgeworCQltbnRfY29udGV4dF9zZXRfb3B0aW9ucyhjeHQsIGFyZ3ZbaWR4ICsgMV0pOworCQlpZHggKz0gMjsKKwl9CisKKwlpZiAoYXJnYyA9PSBpZHggKyAxKQorCQkvKiBtb3VudCA8bW91bnRwb2ludD58PGRldmljZT4gKi8KKwkJbW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsIGFyZ3ZbaWR4KytdKTsKKworCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV9tb3VudChjeHQpOworCWlmIChyYykKKwkJcHJpbnRmKCJmYWlsZWQgdG8gcHJlcGFyZSBtb3VudCAlc1xuIiwgc3RyZXJyb3IoLXJjKSk7CisKKwlvcHQgPSBtbnRfZnNfZ2V0X29wdGlvbnMoY3h0LT5mcyk7CisJaWYgKG9wdCkKKwkJZnByaW50ZihzdGRvdXQsICJvcHRpb25zOiAlc1xuIiwgb3B0KTsKKworCW1udF9jb250ZXh0X2dldF9tZmxhZ3MoY3h0LCAmZmxhZ3MpOworCWZwcmludGYoc3Rkb3V0LCAiZmxhZ3M6ICUwOGx4XG4iLCBmbGFncyk7CisKKwltbnRfZnJlZV9jb250ZXh0KGN4dCk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfbW91bnRhbGwoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dDsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgbW50cmMsIGlnbm9yZWQsIGlkeCA9IDE7CisKKwljeHQgPSBtbnRfbmV3X2NvbnRleHQoKTsKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfRk9SV0FSRCk7CisKKwlpZiAoIWN4dCB8fCAhaXRyKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmIChhcmdjID4gMikgeworCQlpZiAoYXJndltpZHhdICYmICFzdHJjbXAoYXJndltpZHhdLCAiLU8iKSkgeworCQkJbW50X2NvbnRleHRfc2V0X29wdGlvbnNfcGF0dGVybihjeHQsIGFyZ3ZbaWR4ICsgMV0pOworCQkJaWR4ICs9IDI7CisJCX0KKwkJaWYgKGFyZ3ZbaWR4XSAmJiAhc3RyY21wKGFyZ3ZbaWR4XSwgIi10IikpIHsKKwkJCW1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybihjeHQsIGFyZ3ZbaWR4ICsgMV0pOworCQkJaWR4ICs9IDI7CisJCX0KKwl9CisKKwl3aGlsZSAobW50X2NvbnRleHRfbmV4dF9tb3VudChjeHQsIGl0ciwgJmZzLCAmbW50cmMsICZpZ25vcmVkKSA9PSAwKSB7CisKKwkJY29uc3QgY2hhciAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworCisJCWlmIChpZ25vcmVkID09IDEpCisJCQlwcmludGYoIiVzOiBpZ25vcmVkOiBub3QgbWF0Y2hcbiIsIHRndCk7CisJCWVsc2UgaWYgKGlnbm9yZWQgPT0gMikKKwkJCXByaW50ZigiJXM6IGlnbm9yZWQ6IGFscmVhZHkgbW91bnRlZFxuIiwgdGd0KTsKKworCQllbHNlIGlmICghbW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpKSB7CisJCQlpZiAobW50cmMgPiAwKSB7CisJCQkJZXJybm8gPSBtbnRyYzsKKwkJCQl3YXJuKCIlczogbW91bnQgZmFpbGVkIiwgdGd0KTsKKwkJCX0gZWxzZQorCQkJCXdhcm54KCIlczogbW91bnQgZmFpbGVkIiwgdGd0KTsKKwkJfSBlbHNlCisJCQlwcmludGYoIiVzOiBzdWNjZXNzZnVsbHkgbW91bnRlZFxuIiwgdGd0KTsKKwl9CisKKwltbnRfZnJlZV9jb250ZXh0KGN4dCk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90ZXN0IHRzc1tdID0geworCXsgIi0tbW91bnQiLCAgdGVzdF9tb3VudCwgICJbLW8gPG9wdHM+XSBbLXQgPHR5cGU+XSA8c3BlYz58PHNyYz4gPHRhcmdldD4iIH0sCisJeyAiLS11bW91bnQiLCB0ZXN0X3Vtb3VudCwgIlstdCA8dHlwZT5dIFstZl1bLWxdWy1yXSA8c3JjPnw8dGFyZ2V0PiIgfSwKKwl7ICItLW1vdW50LWFsbCIsIHRlc3RfbW91bnRhbGwsICAiWy1PIDxwYXR0ZXJuPl0gWy10IDxwYXR0ZXJuXSBtb3VudCBhbGwgZmlsZXN5c3RlbXMgZnJvbSBmc3RhYiIgfSwKKwl7ICItLWZsYWdzIiwgdGVzdF9mbGFncywgICAiWy1vIDxvcHRzPl0gPHNwZWM+IiB9LAorCXsgTlVMTCB9fTsKKworCXVtYXNrKFNfSVdHUlB8U19JV09USCk7CS8qIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBtb3VudCg4KSAqLworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvY29udGV4dF9sb29wZGV2LmMgYi9saWJtb3VudC9zcmMvY29udGV4dF9sb29wZGV2LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDVmZjcxYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9jb250ZXh0X2xvb3BkZXYuYwpAQCAtMCwwICsxLDQ0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qCisgKiBET0NTOiAtICJsb0AiIHByZWZpeCBmb3IgZnN0eXBlIGlzIHVuc3VwcG9ydGVkCisgKi8KKworI2luY2x1ZGUgPGJsa2lkLmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgorCisjaW5jbHVkZSAibW91bnRQLmgiCisjaW5jbHVkZSAibG9vcGRldi5oIgorI2luY2x1ZGUgImxpbnV4X3ZlcnNpb24uaCIKKworCitpbnQgbW50X2NvbnRleHRfaXNfbG9vcGRldihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwljb25zdCBjaGFyICp0eXBlLCAqc3JjOworCisJYXNzZXJ0KGN4dCk7CisKKwkvKiBUaGUgbW91bnQgZmxhZ3MgaGF2ZSB0byBiZSBtZXJnZWQsIG90aGVyd2lzZSB3ZSBoYXZlIHRvIHVzZQorCSAqIGV4cGVuc2l2ZSBtbnRfY29udGV4dF9nZXRfdXNlcl9tZmxhZ3MoKSBpbnN0ZWFkIG9mIGN4dC0+dXNlcl9tb3VudGZsYWdzLiAqLworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJaWYgKCFjeHQtPmZzKQorCQlyZXR1cm4gMDsKKwlzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7CisJaWYgKCFzcmMpCisJCXJldHVybiAwOwkJLyogYmFja2luZyBmaWxlIG5vdCBzZXQgKi8KKworCWlmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIChNTlRfTVNfTE9PUCB8CisJCQkJICAgIE1OVF9NU19PRkZTRVQgfAorCQkJCSAgICBNTlRfTVNfU0laRUxJTUlUKSkgeworCisJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJsb29wZGV2IHNwZWNpZmljIG9wdGlvbnMgZGV0ZWN0ZWQiKSk7CisJCXJldHVybiAxOworCX0KKworCWlmICgoY3h0LT5tb3VudGZsYWdzICYgKE1TX0JJTkQgfCBNU19NT1ZFKSkKKwkgICAgfHwgbW50X2NvbnRleHRfcHJvcGFnYXRpb25fb25seShjeHQpKQorCQlyZXR1cm4gMDsKKworCS8qIEF1dG9tYXRpY2FsbHkgY3JlYXRlIGEgbG9vcCBkZXZpY2UgZnJvbSBhIHJlZ3VsYXIgZmlsZSBpZiBhCisJICogZmlsZXN5c3RlbSBpcyBub3Qgc3BlY2lmaWVkIG9yIHRoZSBmaWxlc3lzdGVtIGlzIGtub3duIGZvciBsaWJibGtpZAorCSAqICh0aGVzZSBmaWxlc3lzdGVtcyB3b3JrIHdpdGggYmxvY2sgZGV2aWNlcyBvbmx5KS4gVGhlIGZpbGUgc2l6ZQorCSAqIHNob3VsZCBiZSBhdCBsZWFzdCAxS2lCLCBvdGhlcndpc2Ugd2Ugd2lsbCBjcmVhdGUgYW4gZW1wdHkgbG9vcGRldiB3aXRoCisJICogbm8gbW91bnRhYmxlIGZpbGVzeXN0ZW0uLi4KKwkgKgorCSAqIE5vdGUgdGhhdCB0aGVyZSBpcyBubyByZXN0cmljdGlvbiAob24ga2VybmVsIHNpZGUpIHRoYXQgd291bGQgcHJldmVudCBhIHJlZ3VsYXIKKwkgKiBmaWxlIGFzIGEgbW91bnQoMikgc291cmNlIGFyZ3VtZW50LiBBIGZpbGVzeXN0ZW0gdGhhdCBpcyBhYmxlIHRvIG1vdW50CisJICogcmVndWxhciBmaWxlcyBjb3VsZCBiZSBpbXBsZW1lbnRlZC4KKwkgKi8KKwl0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUoY3h0LT5mcyk7CisKKwlpZiAobW50X2ZzX2lzX3JlZ3VsYXIoY3h0LT5mcykgJiYKKwkgICAgKCF0eXBlIHx8IHN0cmNtcCh0eXBlLCAiYXV0byIpID09IDAgfHwgYmxraWRfa25vd25fZnN0eXBlKHR5cGUpKSkgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlpZiAoc3RhdChzcmMsICZzdCkgPT0gMCAmJiBTX0lTUkVHKHN0LnN0X21vZGUpICYmCisJCSAgICBzdC5zdF9zaXplID4gMTAyNCkgeworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgImF1dG9tYXRpY2FsbHkgZW5hYmxpbmcgbG9vcD0gb3B0aW9uIikpOworCQkJY3h0LT51c2VyX21vdW50ZmxhZ3MgfD0gTU5UX01TX0xPT1A7CisJCQltbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oJmN4dC0+ZnMtPnVzZXJfb3B0c3RyLCAibG9vcCIsIE5VTEwpOworCQkJcmV0dXJuIDE7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworCisvKiBDaGVjayBpZiB0aGVyZSBhbHJlYWR5IGV4aXN0cyBhIG1vdW50ZWQgbG9vcCBkZXZpY2Ugb24gdGhlIG1vdW50cG9pbnQgbm9kZQorICogd2l0aCB0aGUgc2FtZSBwYXJhbWV0ZXJzLgorICovCitzdGF0aWMgaW50IF9fYXR0cmlidXRlX18oKG5vbm51bGwpKQoraXNfbW91bnRlZF9zYW1lX2xvb3BmaWxlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSAgICBjb25zdCBjaGFyICp0YXJnZXQsCisJCQkJICAgIGNvbnN0IGNoYXIgKmJhY2tpbmdfZmlsZSwKKwkJCQkgICAgdWludDY0X3Qgb2Zmc2V0KQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CisJY29uc3QgY2hhciAqYmY7CisJaW50IHJjID0gMDsKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlpZiAobW50X2NvbnRleHRfZ2V0X210YWIoY3h0LCAmdGIpKQorCQlyZXR1cm4gMDsKKworCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnMoY3h0KTsKKwlpZiAoIW5zX29sZCkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJjaGVja2luZyBpZiAlcyBtb3VudGVkIG9uICVzIiwKKwkJCQliYWNraW5nX2ZpbGUsIHRhcmdldCkpOworCisJY2FjaGUgPSBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KTsKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwliZiA9IGNhY2hlID8gbW50X3Jlc29sdmVfcGF0aChiYWNraW5nX2ZpbGUsIGNhY2hlKSA6IGJhY2tpbmdfZmlsZTsKKworCS8qIFNlYXJjaCBmb3IgYSBtb3VudHBvaW50IG5vZGUgaW4gbXRhYiwgcHJvY2VlZCBpZiBhbnkgb2YgdGhlc2UgaGF2ZSB0aGUKKwkgKiBsb29wIG9wdGlvbiBzZXQgb3IgdGhlIGRldmljZSBpcyBhIGxvb3AgZGV2aWNlCisJICovCisJd2hpbGUgKHJjID09IDAgJiYgbW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQljb25zdCBjaGFyICpzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisJCWNvbnN0IGNoYXIgKm9wdHMgPSBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhmcyk7CisJCWNoYXIgKnZhbDsKKwkJc2l6ZV90IGxlbjsKKworCQlpZiAoIXNyYyB8fCAhbW50X2ZzX21hdGNoX3RhcmdldChmcywgdGFyZ2V0LCBjYWNoZSkpCisJCQljb250aW51ZTsKKworCQlyYyA9IDA7CisKKwkJaWYgKHN0cm5jbXAoc3JjLCAiL2Rldi9sb29wIiwgOSkgPT0gMCkgeworCQkJcmMgPSBsb29wZGV2X2lzX3VzZWQoKGNoYXIgKikgc3JjLCBiZiwgb2Zmc2V0LCAwLCBMT09QREVWX0ZMX09GRlNFVCk7CisKKwkJfSBlbHNlIGlmIChvcHRzICYmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19MT09QKSAmJgorCQkgICAgbW50X29wdHN0cl9nZXRfb3B0aW9uKG9wdHMsICJsb29wIiwgJnZhbCwgJmxlbikgPT0gMCAmJiB2YWwpIHsKKworCQkJdmFsID0gc3RybmR1cCh2YWwsIGxlbik7CisJCQlyYyA9IGxvb3BkZXZfaXNfdXNlZCgoY2hhciAqKSB2YWwsIGJmLCBvZmZzZXQsIDAsIExPT1BERVZfRkxfT0ZGU0VUKTsKKwkJCWZyZWUodmFsKTsKKwkJfQorCX0KKwlpZiAocmMpCisJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICIlcyBhbHJlYWR5IG1vdW50ZWQiLCBiYWNraW5nX2ZpbGUpKTsKKworCWlmICghbW50X2NvbnRleHRfc3dpdGNoX25zKGN4dCwgbnNfb2xkKSkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBtbnRfY29udGV4dF9zZXR1cF9sb29wZGV2KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKmJhY2tpbmdfZmlsZSwgKm9wdHN0ciwgKmxvb3BkZXYgPSBOVUxMOworCWNoYXIgKnZhbCA9IE5VTEwsICpsb29wdmFsID0gTlVMTDsKKwlzaXplX3QgbGVuOworCXN0cnVjdCBsb29wZGV2X2N4dCBsYzsKKwlpbnQgcmMgPSAwLCBsb19mbGFncyA9IDA7CisJdWludDY0X3Qgb2Zmc2V0ID0gMCwgc2l6ZWxpbWl0ID0gMDsKKwlib29sIHJldXNlID0gRkFMU0U7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwliYWNraW5nX2ZpbGUgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7CisJaWYgKCFiYWNraW5nX2ZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgInRyeWluZyB0byBzZXR1cCBkZXZpY2UgZm9yICVzIiwgYmFja2luZ19maWxlKSk7CisKKwlpZiAoY3h0LT5tb3VudGZsYWdzICYgTVNfUkRPTkxZKSB7CisJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJlbmFibGluZyBSRUFELU9OTFkgZmxhZyIpKTsKKwkJbG9fZmxhZ3MgfD0gTE9fRkxBR1NfUkVBRF9PTkxZOworCX0KKworCW9wdHN0ciA9IG1udF9mc19nZXRfdXNlcl9vcHRpb25zKGN4dC0+ZnMpOworCisJLyoKKwkgKiBsb29wPQorCSAqLworCWlmIChyYyA9PSAwICYmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19MT09QKSAmJgorCSAgICBtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0c3RyLCAibG9vcCIsICZ2YWwsICZsZW4pID09IDAgJiYgdmFsKSB7CisJCWxvb3B2YWwgPSBzdHJuZHVwKHZhbCwgbGVuKTsKKwkJcmMgPSBsb29wdmFsID8gMCA6IC1FTk9NRU07CisJfQorCisJLyoKKwkgKiBvZmZzZXQ9CisJICovCisJaWYgKHJjID09IDAgJiYgKGN4dC0+dXNlcl9tb3VudGZsYWdzICYgTU5UX01TX09GRlNFVCkgJiYKKwkgICAgbW50X29wdHN0cl9nZXRfb3B0aW9uKG9wdHN0ciwgIm9mZnNldCIsICZ2YWwsICZsZW4pID09IDApIHsKKwkJcmMgPSBtbnRfcGFyc2Vfb2Zmc2V0KHZhbCwgbGVuLCAmb2Zmc2V0KTsKKwkJaWYgKHJjKSB7CisJCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldD0iKSk7CisJCQlyYyA9IC1NTlRfRVJSX01PVU5UT1BUOworCQl9CisJfQorCisJLyoKKwkgKiBzaXplbGltaXQ9CisJICovCisJaWYgKHJjID09IDAgJiYgKGN4dC0+dXNlcl9tb3VudGZsYWdzICYgTU5UX01TX1NJWkVMSU1JVCkgJiYKKwkgICAgbW50X29wdHN0cl9nZXRfb3B0aW9uKG9wdHN0ciwgInNpemVsaW1pdCIsICZ2YWwsICZsZW4pID09IDApIHsKKwkJcmMgPSBtbnRfcGFyc2Vfb2Zmc2V0KHZhbCwgbGVuLCAmc2l6ZWxpbWl0KTsKKwkJaWYgKHJjKSB7CisJCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZmFpbGVkIHRvIHBhcnNlIHNpemVsaW1pdD0iKSk7CisJCQlyYyA9IC1NTlRfRVJSX01PVU5UT1BUOworCQl9CisJfQorCisJLyoKKwkgKiBlbmNyeXB0aW9uPQorCSAqLworCWlmIChyYyA9PSAwICYmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19FTkNSWVBUSU9OKSAmJgorCSAgICBtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0c3RyLCAiZW5jcnlwdGlvbiIsICZ2YWwsICZsZW4pID09IDApIHsKKwkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgImVuY3J5cHRpb24gbm8gbG9uZ2VyIHN1cHBvcnRlZCIpKTsKKwkJcmMgPSAtTU5UX0VSUl9NT1VOVE9QVDsKKwl9CisKKwlpZiAocmMgPT0gMCAmJiBpc19tb3VudGVkX3NhbWVfbG9vcGZpbGUoY3h0LAorCQkJCW1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KSwKKwkJCQliYWNraW5nX2ZpbGUsIG9mZnNldCkpCisJCXJjID0gLUVCVVNZOworCisJaWYgKHJjKQorCQlnb3RvIGRvbmVfbm9fZGVpbml0OworCisJLyogSXQgaXMgcG9zc2libGUgdG8gbW91bnQgdGhlIHNhbWUgZmlsZSBtb3JlIHRpbWVzLiBJZiB3ZSBzZXQgbW9yZQorCSAqIHRoYW4gb25lIGxvb3AgZGV2aWNlIHJlZmVycmluZyB0byB0aGUgc2FtZSBmaWxlLCBrZXJuZWwgaGFzIG5vCisJICogbWVjaGFuaXNtIHRvIGRldGVjdCBpdC4gVG8gcHJldmVudCBkYXRhIGNvcnJ1cHRpb24sIHRoZSBzYW1lIGxvb3AKKwkgKiBkZXZpY2UgaGFzIHRvIGJlIHJlY3ljbGVkLgorCSovCisJaWYgKGJhY2tpbmdfZmlsZSkgeworCQlyYyA9IGxvb3BjeHRfaW5pdCgmbGMsIDApOworCQlpZiAocmMpCisJCQlnb3RvIGRvbmVfbm9fZGVpbml0OworCisJCXJjID0gbG9vcGN4dF9maW5kX292ZXJsYXAoJmxjLCBiYWNraW5nX2ZpbGUsIG9mZnNldCwgc2l6ZWxpbWl0KTsKKwkJc3dpdGNoIChyYykgeworCQljYXNlIDA6IC8qIG5vdCBmb3VuZCAqLworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgIm5vdCBmb3VuZCBvdmVybGFwcGluZyBsb29wZGV2IikpOworCQkJbG9vcGN4dF9kZWluaXQoJmxjKTsKKwkJCWJyZWFrOworCisJCWNhc2UgMToJLyogb3ZlcmxhcCAqLworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgIm92ZXJsYXBwaW5nICVzIGRldGVjdGVkIiwKKwkJCQkJCWxvb3BjeHRfZ2V0X2RldmljZSgmbGMpKSk7CisJCQlyYyA9IC1NTlRfRVJSX0xPT1BPVkVSTEFQOworCQkJZ290byBkb25lOworCisJCWNhc2UgMjogLyogb3ZlcmxhcCAtLSBmdWxsIHNpemUgYW5kIG9mZnNldCBtYXRjaCAocmV1c2UpICovCisJCXsKKwkJCXVpbnQzMl90IGxjX2VuY3J5cHRfdHlwZTsKKworCQkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgInJlLXVzaW5nIGV4aXN0aW5nIGxvb3AgZGV2aWNlICVzIiwKKwkJCQlsb29wY3h0X2dldF9kZXZpY2UoJmxjKSkpOworCisJCQkvKiBPbmNlIGEgbG9vcCBpcyBpbml0aWFsaXplZCBSTywgdGhlcmUgaXMgbm8KKwkJCSAqIHdheSB0byBjaGFuZ2UgaXRzIHBhcmFtZXRlcnMuICovCisJCQlpZiAobG9vcGN4dF9pc19yZWFkb25seSgmbGMpCisJCQkgICAgJiYgIShsb19mbGFncyAmIExPX0ZMQUdTX1JFQURfT05MWSkpIHsKKwkJCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiJXMgaXMgcmVhZC1vbmx5IiwKKwkJCQkJCWxvb3BjeHRfZ2V0X2RldmljZSgmbGMpKSk7CisJCQkJcmMgPSAtRVJPRlM7CisJCQkJZ290byBkb25lOworCQkJfQorCisJCQkvKiBUaGlzIGlzIG5vIG1vcmUgc3VwcG9ydGVkLCBidXQgY2hlY2sgdG8gYmUgc2FmZS4gKi8KKwkJCWlmIChsb29wY3h0X2dldF9lbmNyeXB0X3R5cGUoJmxjLCAmbGNfZW5jcnlwdF90eXBlKSA9PSAwCisJCQkgICAgJiYgbGNfZW5jcnlwdF90eXBlICE9IExPX0NSWVBUX05PTkUpIHsKKwkJCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZW5jcnlwdGlvbiBubyBsb25nZXIgc3VwcG9ydGVkIGZvciBkZXZpY2UgJXMiLAorCQkJCQlsb29wY3h0X2dldF9kZXZpY2UoJmxjKSkpOworCQkJCXJjID0gLU1OVF9FUlJfTE9PUE9WRVJMQVA7CisJCQkJZ290byBkb25lOworCQkJfQorCQkJcmMgPSAwOworCQkJLyogbG9vcD0gdXNlZCB3aXRoIGFyZ3VtZW50LiBDb25mbGljdCB3aWxsIG9jY3VyLiAqLworCQkJaWYgKGxvb3B2YWwpIHsKKwkJCQlyYyA9IC1NTlRfRVJSX0xPT1BPVkVSTEFQOworCQkJCWdvdG8gZG9uZTsKKwkJCX0gZWxzZSB7CisJCQkJcmV1c2UgPSBUUlVFOworCQkJCWdvdG8gc3VjY2VzczsKKwkJCX0KKwkJfQorCQlkZWZhdWx0OiAvKiBlcnJvciAqLworCQkJZ290byBkb25lOworCQl9CisJfQorCisJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgIm5vdCBmb3VuZDsgY3JlYXRlIGEgbmV3IGxvb3AgZGV2aWNlIikpOworCXJjID0gbG9vcGN4dF9pbml0KCZsYywgMCk7CisJaWYgKHJjKQorCQlnb3RvIGRvbmVfbm9fZGVpbml0OworCWlmIChsb29wdmFsKSB7CisJCXJjID0gbG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgbG9vcHZhbCk7CisJCWlmIChyYyA9PSAwKQorCQkJbG9vcGRldiA9IGxvb3BjeHRfZ2V0X2RldmljZSgmbGMpOworCX0KKwlpZiAocmMpCisJCWdvdG8gZG9uZTsKKworCS8qIHNpbmNlIDIuNi4zNyB3ZSBkb24ndCBoYXZlIHRvIHN0b3JlIGJhY2tpbmcgZmlsZW5hbWUgdG8gbXRhYgorCSAqIGJlY2F1c2Uga2VybmVsIHByb3ZpZGVzIHRoZSBuYW1lIGluIC9zeXMuCisJICovCisJaWYgKGdldF9saW51eF92ZXJzaW9uKCkgPj0gS0VSTkVMX1ZFUlNJT04oMiwgNiwgMzcpIHx8CisJICAgICFtbnRfY29udGV4dF9tdGFiX3dyaXRhYmxlKGN4dCkpIHsKKwkJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgImVuYWJsaW5nIEFVVE9DTEVBUiBmbGFnIikpOworCQlsb19mbGFncyB8PSBMT19GTEFHU19BVVRPQ0xFQVI7CisJfQorCisJZG8geworCQkvKiBmb3VuZCBmcmVlIGRldmljZSAqLworCQlpZiAoIWxvb3BkZXYpIHsKKwkJCXJjID0gbG9vcGN4dF9maW5kX3VudXNlZCgmbGMpOworCQkJaWYgKHJjKQorCQkJCWdvdG8gZG9uZTsKKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJ0cnlpbmcgdG8gdXNlICVzIiwKKwkJCQkJCWxvb3BjeHRfZ2V0X2RldmljZSgmbGMpKSk7CisJCX0KKworCQkvKiBzZXQgZGV2aWNlIGF0dHJpYnV0ZXMKKwkJICogLS0gbm90ZSB0aGF0IGxvb3BjeHRfZmluZF91bnVzZWQoKSByZXNldHMgImxjIgorCQkgKi8KKwkJcmMgPSBsb29wY3h0X3NldF9iYWNraW5nX2ZpbGUoJmxjLCBiYWNraW5nX2ZpbGUpOworCisJCWlmICghcmMgJiYgb2Zmc2V0KQorCQkJcmMgPSBsb29wY3h0X3NldF9vZmZzZXQoJmxjLCBvZmZzZXQpOworCQlpZiAoIXJjICYmIHNpemVsaW1pdCkKKwkJCXJjID0gbG9vcGN4dF9zZXRfc2l6ZWxpbWl0KCZsYywgc2l6ZWxpbWl0KTsKKwkJaWYgKCFyYykKKwkJCWxvb3BjeHRfc2V0X2ZsYWdzKCZsYywgbG9fZmxhZ3MpOworCQlpZiAocmMpIHsKKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gc2V0IGxvb3AgYXR0cmlidXRlcyIpKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCisJCS8qIHNldHVwIHRoZSBkZXZpY2UgKi8KKwkJcmMgPSBsb29wY3h0X3NldHVwX2RldmljZSgmbGMpOworCQlpZiAoIXJjKQorCQkJYnJlYWs7CQkvKiBzdWNjZXNzICovCisKKwkJaWYgKGxvb3BkZXYgfHwgcmMgIT0gLUVCVVNZKSB7CisJCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZmFpbGVkIHRvIHNldHVwIGRldmljZSIpKTsKKwkJCXJjID0gLU1OVF9FUlJfTE9PUERFVjsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCQlEQkcoTE9PUCwgdWxfZGVidWdvYmooY3h0LCAiZGV2aWNlIHN0b2xlbi4uLnRyeWluZyBhZ2FpbiIpKTsKKwl9IHdoaWxlICgxKTsKKworc3VjY2VzczoKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9mc19zZXRfc291cmNlKGN4dC0+ZnMsIGxvb3BjeHRfZ2V0X2RldmljZSgmbGMpKTsKKworCWlmICghcmMpIHsKKwkJLyogc3VjY2VzcyAqLworCQljeHQtPmZsYWdzIHw9IE1OVF9GTF9MT09QREVWX1JFQURZOworCisJCWlmIChyZXVzZSB8fCAoIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19MT09QKSAmJgorCQkgICAgbG9vcGN4dF9pc19hdXRvY2xlYXIoJmxjKSkpIHsKKwkJCS8qCisJCQkgKiBhdXRvY2xlYXIgZmxhZyBhY2NlcHRlZCBieSB0aGUga2VybmVsLCBkb24ndCBzdG9yZQorCQkJICogdGhlICJsb29wPSIgb3B0aW9uIHRvIG10YWIuCisJCQkgKi8KKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJyZW1vdmluZyB1bm5lY2Vzc2FyeSBsb29wPSBmcm9tIG10YWIiKSk7CisJCQljeHQtPnVzZXJfbW91bnRmbGFncyAmPSB+TU5UX01TX0xPT1A7CisJCQltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb24oJmN4dC0+ZnMtPnVzZXJfb3B0c3RyLCAibG9vcCIpOworCQl9CisKKwkJaWYgKCEoY3h0LT5tb3VudGZsYWdzICYgTVNfUkRPTkxZKSAmJgorCQkgICAgbG9vcGN4dF9pc19yZWFkb25seSgmbGMpKQorCQkJLyoKKwkJCSAqIG1vdW50IHBsYW5uZWQgcmVhZC13cml0ZSwgYnV0IGxvb3BkZXYgaXMgcmVhZC1vbmx5LAorCQkJICogbGV0J3MgZml4IG1vdW50IG9wdGlvbnMuLi4KKwkJCSAqLworCQkJbW50X2NvbnRleHRfc2V0X21mbGFncyhjeHQsIGN4dC0+bW91bnRmbGFncyB8IE1TX1JET05MWSk7CisKKwkJLyogd2UgaGF2ZSB0byBrZWVwIHRoZSBkZXZpY2Ugb3BlbiB1bnRpbCBtb3VudCgxKSwKKwkJICogb3RoZXJ3aXNlIGl0IHdpbGwgYmUgYXV0by1jbGVhcmVkIGJ5IGtlcm5lbAorCQkgKi8KKwkJY3h0LT5sb29wZGV2X2ZkID0gbG9vcGN4dF9nZXRfZmQoJmxjKTsKKwkJaWYgKGN4dC0+bG9vcGRldl9mZCA8IDApIHsKKwkJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJmYWlsZWQgdG8gZ2V0IGxvb3BkZXYgRkQiKSk7CisJCQlyYyA9IC1lcnJubzsKKwkJfSBlbHNlCisJCQlsb29wY3h0X3NldF9mZCgmbGMsIC0xLCAwKTsKKwl9Citkb25lOgorCWxvb3BjeHRfZGVpbml0KCZsYyk7Citkb25lX25vX2RlaW5pdDoKKwlmcmVlKGxvb3B2YWwpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIERlbGV0ZXMgbG9vcCBkZXZpY2UKKyAqLworaW50IG1udF9jb250ZXh0X2RlbGV0ZV9sb29wZGV2KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKnNyYzsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisKKwlzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7CisJaWYgKCFzcmMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGN4dC0+bG9vcGRldl9mZCA+IC0xKQorCQljbG9zZShjeHQtPmxvb3BkZXZfZmQpOworCisJcmMgPSBsb29wZGV2X2RlbGV0ZShzcmMpOworCWN4dC0+ZmxhZ3MgJj0gfk1OVF9GTF9MT09QREVWX1JFQURZOworCWN4dC0+bG9vcGRldl9mZCA9IC0xOworCisJREJHKExPT1AsIHVsX2RlYnVnb2JqKGN4dCwgImRlbGV0ZWQgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQ2xlYXJzIGxvb3BkZXYgc3R1ZmYgaW4gY29udGV4dCwgc2hvdWxkIGJlIGNhbGxlZCBhZnRlcgorICogZmFpbGVkIG9yIHN1Y2Nlc3NmdWwgbW91bnQoMikuCisgKi8KK2ludCBtbnRfY29udGV4dF9jbGVhcl9sb29wZGV2KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWFzc2VydChjeHQpOworCisJaWYgKG1udF9jb250ZXh0X2dldF9zdGF0dXMoY3h0KSA9PSAwICYmCisJICAgIChjeHQtPmZsYWdzICYgTU5UX0ZMX0xPT1BERVZfUkVBRFkpKSB7CisJCS8qCisJCSAqIG1vdW50KDIpIGZhaWxlZCwgZGVsZXRlIGxvb3BkZXYKKwkJICovCisJCW1udF9jb250ZXh0X2RlbGV0ZV9sb29wZGV2KGN4dCk7CisKKwl9IGVsc2UgaWYgKGN4dC0+bG9vcGRldl9mZCA+IC0xKSB7CisJCS8qCisJCSAqIG1vdW50KDIpIHN1Y2Nlc3MsIGNsb3NlIHRoZSBkZXZpY2UKKwkJICovCisJCURCRyhMT09QLCB1bF9kZWJ1Z29iaihjeHQsICJjbG9zaW5nIEZEIikpOworCQljbG9zZShjeHQtPmxvb3BkZXZfZmQpOworCX0KKwljeHQtPmxvb3BkZXZfZmQgPSAtMTsKKwlyZXR1cm4gMDsKK30KKwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYyBiL2xpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMzYzk5MwotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmMKQEAgLTAsMCArMSwxNzQzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBjb250ZXh0LW1vdW50CisgKiBAdGl0bGU6IE1vdW50IGNvbnRleHQKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogaGlnaC1sZXZlbCBBUEkgdG8gbW91bnQgb3BlcmF0aW9uLgorICovCisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKyNpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKyNpbmNsdWRlIDxzZWxpbnV4L2NvbnRleHQuaD4KKyNlbmRpZgorCisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxzeXMvbW91bnQuaD4KKworI2luY2x1ZGUgImxpbnV4X3ZlcnNpb24uaCIKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisvKgorICogS2VybmVsIHN1cHBvcnRzIG9ubHkgb25lIE1TX1BST1BBR0FUSU9OIGZsYWcgY2hhbmdlIGJ5IG9uZSBtb3VudCgyKSBzeXNjYWxsLAorICogdG8gYnlwYXNzIHRoaXMgcmVzdHJpY3Rpb24gd2UgY2FsbCBtb3VudCgyKSBwZXIgZmxhZy4gSXQncyByZWFsbHkgbm90IGEgcGVyZmVjdAorICogc29sdXRpb24sIGJ1dCBpdCdzIHRoZSBzYW1lIGxpa2UgdG8gZXhlY3V0ZSBtdWx0aXBsZSBtb3VudCg4KSBjb21tYW5kcy4KKyAqCisgKiBXZSB1c2UgY3h0LT5hZGRtb3VudHMgKGFkZGl0aW9uYWwgbW91bnRzKSBsaXN0IHRvIGtlZXAgb3JkZXIgb2YgdGhlIHJlcXVlc3RlZAorICogZmxhZ3MgY2hhbmdlcy4KKyAqLworc3RydWN0IGxpYm1udF9hZGRtb3VudCAqbW50X25ld19hZGRtb3VudCh2b2lkKQoreworCXN0cnVjdCBsaWJtbnRfYWRkbW91bnQgKmFkID0gY2FsbG9jKDEsIHNpemVvZigqYWQpKTsKKwlpZiAoIWFkKQorCQlyZXR1cm4gTlVMTDsKKworCUlOSVRfTElTVF9IRUFEKCZhZC0+bW91bnRzKTsKKwlyZXR1cm4gYWQ7Cit9CisKK3ZvaWQgbW50X2ZyZWVfYWRkbW91bnQoc3RydWN0IGxpYm1udF9hZGRtb3VudCAqYWQpCit7CisJaWYgKCFhZCkKKwkJcmV0dXJuOworCWxpc3RfZGVsKCZhZC0+bW91bnRzKTsKKwlmcmVlKGFkKTsKK30KKworc3RhdGljIGludCBtbnRfY29udGV4dF9hcHBlbmRfYWRkaXRpb25hbF9tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkJICAgICAgIHN0cnVjdCBsaWJtbnRfYWRkbW91bnQgKmFkKQoreworCWFzc2VydChjeHQpOworCWFzc2VydChhZCk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkibW91bnQ6IGFkZCBhZGRpdGlvbmFsIGZsYWc6IDB4JTA4bHgiLAorCQkJYWQtPm1vdW50ZmxhZ3MpKTsKKworCWxpc3RfYWRkX3RhaWwoJmFkLT5tb3VudHMsICZjeHQtPmFkZG1vdW50cyk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBhZGQgYWRkaXRpb25hbCBtb3VudCgyKSBzeXNjYWxsIHJlcXVlc3RzIHdoZW4gbmVjZXNzYXJ5IHRvIHNldCBwcm9wYWdhdGlvbiBmbGFncworICogYWZ0ZXIgcmVndWxhciBtb3VudCgyKS4KKyAqLworc3RhdGljIGludCBpbml0X3Byb3BhZ2F0aW9uKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNoYXIgKm5hbWU7CisJY2hhciAqb3B0cyA9IChjaGFyICopIG1udF9mc19nZXRfdmZzX29wdGlvbnMoY3h0LT5mcyk7CisJc2l6ZV90IG5hbWVzejsKKwlzdHJ1Y3QgbGlibW50X29wdG1hcCBjb25zdCAqbWFwc1sxXTsKKwlpbnQgcmVjX2NvdW50ID0gMDsKKworCWlmICghb3B0cykKKwkJcmV0dXJuIDA7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudDogaW5pdGlhbGl6ZSBhZGRpdGlvbmFsIHByb3BhZ2F0aW9uIG1vdW50cyIpKTsKKworCW1hcHNbMF0gPSBtbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9MSU5VWF9NQVApOworCisJd2hpbGUgKCFtbnRfb3B0c3RyX25leHRfb3B0aW9uKCZvcHRzLCAmbmFtZSwgJm5hbWVzeiwgTlVMTCwgTlVMTCkpIHsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKmVudDsKKwkJc3RydWN0IGxpYm1udF9hZGRtb3VudCAqYWQ7CisJCWludCByYzsKKworCQlpZiAoIW1udF9vcHRtYXBfZ2V0X2VudHJ5KG1hcHMsIDEsIG5hbWUsIG5hbWVzeiwgJmVudCkgfHwgIWVudCkKKwkJCWNvbnRpbnVlOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiBjaGVja2luZyAlcyIsIGVudC0+bmFtZSkpOworCisJCS8qIE5vdGUgdGhhdCBNU19SRUMgbWF5IGJlIHVzZWQgZm9yIG1vcmUgZmxhZ3MsIHNvIHdlIGhhdmUgdG8ga2VlcAorCQkgKiB0cmFjayBhYm91dCBudW1iZXIgb2YgcmVjdXJzaXZlIG9wdGlvbnMgdG8ga2VlcCB0aGUgTVNfUkVDIGluIHRoZQorCQkgKiBtb3VudGZsYWdzIGlmIG5lY2Vzc2FyeS4KKwkJICovCisJCWlmIChlbnQtPmlkICYgTVNfUkVDKQorCQkJcmVjX2NvdW50Kys7CisKKwkJaWYgKCEoZW50LT5pZCAmIE1TX1BST1BBR0FUSU9OKSkKKwkJCWNvbnRpbnVlOworCisJCWFkID0gbW50X25ld19hZGRtb3VudCgpOworCQlpZiAoIWFkKQorCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJYWQtPm1vdW50ZmxhZ3MgPSBlbnQtPmlkOworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIgYWRkaW5nIGV4dHJhIG1vdW50KDIpIGNhbGwgZm9yICVzIiwgZW50LT5uYW1lKSk7CisJCXJjID0gbW50X2NvbnRleHRfYXBwZW5kX2FkZGl0aW9uYWxfbW91bnQoY3h0LCBhZCk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIgcmVtb3ZpbmcgJXMgZnJvbSBwcmltYXJ5IG1vdW50KDIpIGNhbGwiLCBlbnQtPm5hbWUpKTsKKwkJY3h0LT5tb3VudGZsYWdzICY9IH5lbnQtPmlkOworCisJCWlmIChlbnQtPmlkICYgTVNfUkVDKQorCQkJcmVjX2NvdW50LS07CisJfQorCisJaWYgKHJlY19jb3VudCkKKwkJY3h0LT5tb3VudGZsYWdzIHw9IE1TX1JFQzsKKworCXJldHVybiAwOworfQorCisvKgorICogYWRkIGFkZGl0aW9uYWwgbW91bnQoMikgc3lzY2FsbCByZXF1ZXN0IHRvIGltcGxlbWVudCAiYmluZCw8ZmxhZ3M+IiwgdGhlIGZpcnN0IHJlZ3VsYXIKKyAqIG1vdW50KDIpIGlzIHRoZSAiYmluZCIgb3BlcmF0aW9uLCB0aGUgc2Vjb25kIGlzICJyZW1vdW50LGJpbmQsPGZsYWdzPiIgY2FsbC4KKyAqLworc3RhdGljIGludCBpbml0X2JpbmRfcmVtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgbGlibW50X2FkZG1vdW50ICphZDsKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5tb3VudGZsYWdzICYgTVNfQklORCk7CisJYXNzZXJ0KCEoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IGluaXRpYWxpemUgYWRkaXRpb25hbCBybyxiaW5kIG1vdW50IikpOworCisJYWQgPSBtbnRfbmV3X2FkZG1vdW50KCk7CisJaWYgKCFhZCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlhZC0+bW91bnRmbGFncyA9IGN4dC0+bW91bnRmbGFnczsKKwlhZC0+bW91bnRmbGFncyB8PSAoTVNfUkVNT1VOVCB8IE1TX0JJTkQpOworCisJcmMgPSBtbnRfY29udGV4dF9hcHBlbmRfYWRkaXRpb25hbF9tb3VudChjeHQsIGFkKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJldHVybiAwOworfQorCisjaWYgZGVmaW5lZChIQVZFX0xJQlNFTElOVVgpIHx8IGRlZmluZWQoSEFWRV9TTUFDSykKK3N0cnVjdCBsaWJtbnRfb3B0bmFtZSB7CisJY29uc3QgY2hhciAqbmFtZTsKKwlzaXplX3QgbmFtZXN6OworfTsKKworI2RlZmluZSBERUZfT1BUTkFNRShuKQkJeyAubmFtZSA9IG4sIC5uYW1lc3ogPSBzaXplb2YobikgLSAxIH0KKyNkZWZpbmUgREVGX09QVE5BTUVfTEFTVAl7IC5uYW1lID0gTlVMTCB9CisKK3N0YXRpYyBpbnQgaXNfb3B0aW9uKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3osCisJCSAgICAgY29uc3Qgc3RydWN0IGxpYm1udF9vcHRuYW1lICpuYW1lcykKK3sKKwljb25zdCBzdHJ1Y3QgbGlibW50X29wdG5hbWUgKnA7CisKKwlmb3IgKHAgPSBuYW1lczsgcCAmJiBwLT5uYW1lOyBwKyspIHsKKwkJaWYgKHAtPm5hbWVzeiA9PSBuYW1lc3oKKwkJICAgICYmIHN0cm5jbXAobmFtZSwgcC0+bmFtZSwgbmFtZXN6KSA9PSAwKQorCQkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisjZW5kaWYgLyogSEFWRV9MSUJTRUxJTlVYIHx8IEhBVkVfU01BQ0sgKi8KKworLyoKKyAqIHRoaXMgaGFzIHRvIGJlIGNhbGxlZCBhZnRlciBtbnRfY29udGV4dF9ldmFsdWF0ZV9wZXJtaXNzaW9ucygpCisgKi8KK3N0YXRpYyBpbnQgZml4X29wdHN0cihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZDsKKwljaGFyICpuZXh0OworCWNoYXIgKm5hbWUsICp2YWw7CisJc2l6ZV90IG5hbWVzeiwgdmFsc3o7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJaW50IHNlX2ZpeCA9IDAsIHNlX3JlbSA9IDA7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bmFtZSBzZWxpbnV4X29wdGlvbnNbXSA9IHsKKwkJREVGX09QVE5BTUUoImNvbnRleHQiKSwKKwkJREVGX09QVE5BTUUoImZzY29udGV4dCIpLAorCQlERUZfT1BUTkFNRSgiZGVmY29udGV4dCIpLAorCQlERUZfT1BUTkFNRSgicm9vdGNvbnRleHQiKSwKKwkJREVGX09QVE5BTUUoInNlY2xhYmVsIiksCisJCURFRl9PUFROQU1FX0xBU1QKKwl9OworI2VuZGlmCisjaWZkZWYgSEFWRV9TTUFDSworCWludCBzbV9yZW0gPSAwOworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgbGlibW50X29wdG5hbWUgc21hY2tfb3B0aW9uc1tdID0geworCQlERUZfT1BUTkFNRSgic21hY2tmc2RlZiIpLAorCQlERUZfT1BUTkFNRSgic21hY2tmc2Zsb29yIiksCisJCURFRl9PUFROQU1FKCJzbWFja2ZzaGF0IiksCisJCURFRl9PUFROQU1FKCJzbWFja2Zzcm9vdCIpLAorCQlERUZfT1BUTkFNRSgic21hY2tmc3RyYW5zbXV0ZSIpLAorCQlERUZfT1BUTkFNRV9MQVNUCisJfTsKKyNlbmRpZgorCWFzc2VydChjeHQpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJaWYgKCFjeHQtPmZzIHx8IChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5UT1BUU19GSVhFRCkpCisJCXJldHVybiAwOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IGZpeGluZyBvcHRzdHIiKSk7CisKKwlmcyA9IGN4dC0+ZnM7CisKKwkvKgorCSAqIFRoZSAidXNlciIgb3B0aW9ucyBpcyBvdXIgYnVzaW5lc3MgKHNvIHdlIGNhbiBtb2RpZnkgdGhlIG9wdGlvbiksCisJICogdGhlIGV4Y2VwdGlvbiBpcyBjb21tYW5kIGxpbmUgZm9yIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXJzLiBMZXQncworCSAqIHNhdmUgdGhlIG9yaWdpbmFsIHVzZXI9PG5hbWU+IHRvIGNhbGwgdGhlIGhlbHBlcnMgd2l0aCBhbiB1bmNoYW5nZWQKKwkgKiAidXNlciIgc2V0dGluZy4KKwkgKi8KKwlpZiAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiBNTlRfTVNfVVNFUikgeworCQlpZiAoIW1udF9vcHRzdHJfZ2V0X29wdGlvbihmcy0+dXNlcl9vcHRzdHIsCisJCQkJCSJ1c2VyIiwgJnZhbCwgJnZhbHN6KSAmJiB2YWwpIHsKKwkJCWN4dC0+b3JpZ191c2VyID0gc3RybmR1cCh2YWwsIHZhbHN6KTsKKwkJCWlmICghY3h0LT5vcmlnX3VzZXIpIHsKKwkJCQlyYyA9IC1FTk9NRU07CisJCQkJZ290byBkb25lOworCQkJfQorCQl9CisJCWN4dC0+ZmxhZ3MgfD0gTU5UX0ZMX1NBVkVEX1VTRVI7CisJfQorCisJLyoKKwkgKiBTeW5jIG1vdW50IG9wdGlvbnMgd2l0aCBtb3VudCBmbGFncworCSAqLworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm1vdW50OiBmaXhpbmcgdmZzIG9wdHN0ciIpKTsKKwlyYyA9IG1udF9vcHRzdHJfYXBwbHlfZmxhZ3MoJmZzLT52ZnNfb3B0c3RyLCBjeHQtPm1vdW50ZmxhZ3MsCisJCQkJbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKSk7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudDogZml4aW5nIHVzZXIgb3B0c3RyIikpOworCXJjID0gbW50X29wdHN0cl9hcHBseV9mbGFncygmZnMtPnVzZXJfb3B0c3RyLCBjeHQtPnVzZXJfbW91bnRmbGFncywKKwkJCQltbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9VU0VSU1BBQ0VfTUFQKSk7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwlpZiAoZnMtPnZmc19vcHRzdHIgJiYgKmZzLT52ZnNfb3B0c3RyID09ICdcMCcpIHsKKwkJZnJlZShmcy0+dmZzX29wdHN0cik7CisJCWZzLT52ZnNfb3B0c3RyID0gTlVMTDsKKwl9CisJaWYgKGZzLT51c2VyX29wdHN0ciAmJiAqZnMtPnVzZXJfb3B0c3RyID09ICdcMCcpIHsKKwkJZnJlZShmcy0+dXNlcl9vcHRzdHIpOworCQlmcy0+dXNlcl9vcHRzdHIgPSBOVUxMOworCX0KKwlpZiAoY3h0LT5tb3VudGZsYWdzICYgTVNfUFJPUEFHQVRJT04pIHsKKwkJcmMgPSBpbml0X3Byb3BhZ2F0aW9uKGN4dCk7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwl9CisJaWYgKChjeHQtPm1vdW50ZmxhZ3MgJiBNU19CSU5EKQorCSAgICAmJiAoY3h0LT5tb3VudGZsYWdzICYgTU5UX0JJTkRfU0VUVEFCTEUpCisJICAgICYmICEoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkpIHsKKwkJcmMgPSBpbml0X2JpbmRfcmVtb3VudChjeHQpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJfQorCisJbmV4dCA9IGZzLT5mc19vcHRzdHI7CisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlpZiAoIWlzX3NlbGludXhfZW5hYmxlZCgpKQorCQkvKiBBbHdheXMgcmVtb3ZlIFNFTGludXggZ2FyYmFnZSBpZiBTRUxpbnV4IGRpc2FibGVkICovCisJCXNlX3JlbSA9IDE7CisJZWxzZSBpZiAoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkKKwkJLyoKKwkJICogTGludXgga2VybmVsIDwgMi42LjM5IGRvZXMgbm90IGFsbG93IHRvIHJlbW91bnQgd2l0aCBhbnkKKwkJICogc2VsaW51eCBzcGVjaWZpYyBtb3VudCBvcHRpb25zLgorCQkgKgorCQkgKiBLZXJuZWwgMi42LjM5IGNvbW1pdHM6ICBmZjM2ZmUyYzg0NWNhYjIxMDJlNDgyNmMxZmZhMGE2ZWJmNDg3YzY1CisJCSAqICAgICAgICAgICAgICAgICAgICAgICAgIDAyNmViMTY3YWU3NzI0NDQ1OGZhNGI0YjlmYzE3MTIwOWMwNzliYTcKKwkJICogZml4IHRoaXMgb2RkIGJlaGF2aW9yLCBzbyB3ZSBkb24ndCBoYXZlIHRvIGNhcmUgYWJvdXQgaXQgaW4KKwkJICogdXNlcnNwYWNlLgorCQkgKi8KKwkJc2VfcmVtID0gZ2V0X2xpbnV4X3ZlcnNpb24oKSA8IEtFUk5FTF9WRVJTSU9OKDIsIDYsIDM5KTsKKwllbHNlCisJCS8qIEZvciBub3JtYWwgbW91bnQsIGNvbnRleHRzIGFyZSB0cmFuc2xhdGVkICovCisJCXNlX2ZpeCA9IDE7CisKKwlpZiAoIXNlX3JlbSkgeworCQkvKiBkZS1kdXBsaWNhdGUgU0VMaW51eCBvcHRpb25zICovCisJCWNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bmFtZSAqcDsKKwkJZm9yIChwID0gc2VsaW51eF9vcHRpb25zOyBwICYmIHAtPm5hbWU7IHArKykKKwkJCW1udF9vcHRzdHJfZGVkdXBsaWNhdGVfb3B0aW9uKCZmcy0+ZnNfb3B0c3RyLCBwLT5uYW1lKTsKKwl9CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NNQUNLCisJaWYgKGFjY2VzcygiL3N5cy9mcy9zbWFja2ZzIiwgRl9PSykgIT0gMCkKKwkJc21fcmVtID0gMTsKKyNlbmRpZgorCXdoaWxlICghbW50X29wdHN0cl9uZXh0X29wdGlvbigmbmV4dCwgJm5hbWUsICZuYW1lc3osICZ2YWwsICZ2YWxzeikpIHsKKworCQlpZiAobmFtZXN6ID09IDMgJiYgIXN0cm5jbXAobmFtZSwgInVpZCIsIDMpKQorCQkJcmMgPSBtbnRfb3B0c3RyX2ZpeF91aWQoJmZzLT5mc19vcHRzdHIsIHZhbCwgdmFsc3osICZuZXh0KTsKKwkJZWxzZSBpZiAobmFtZXN6ID09IDMgJiYgIXN0cm5jbXAobmFtZSwgImdpZCIsIDMpKQorCQkJcmMgPSBtbnRfb3B0c3RyX2ZpeF9naWQoJmZzLT5mc19vcHRzdHIsIHZhbCwgdmFsc3osICZuZXh0KTsKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwkJZWxzZSBpZiAoKHNlX3JlbSB8fCBzZV9maXgpCisJCQkgJiYgaXNfb3B0aW9uKG5hbWUsIG5hbWVzeiwgc2VsaW51eF9vcHRpb25zKSkgeworCisJCQlpZiAoc2VfcmVtKSB7CisJCQkJLyogcmVtb3ZlIGNvbnRleHQ9IG9wdGlvbiAqLworCQkJCW5leHQgPSBuYW1lOworCQkJCXJjID0gbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KCZmcy0+ZnNfb3B0c3RyLAorCQkJCQkJbmFtZSwKKwkJCQkJCXZhbCA/IHZhbCArIHZhbHN6IDoKKwkJCQkJCSAgICAgIG5hbWUgKyBuYW1lc3opOworCQkJfSBlbHNlIGlmIChzZV9maXggJiYgdmFsICYmIHZhbHN6KQorCQkJCS8qIHRyYW5zbGF0ZSBzZWxpbnV4IGNvbnRleHRzICovCisJCQkJcmMgPSBtbnRfb3B0c3RyX2ZpeF9zZWNvbnRleHQoJmZzLT5mc19vcHRzdHIsCisJCQkJCQkJdmFsLCB2YWxzeiwgJm5leHQpOworCQl9CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NNQUNLCisJCWVsc2UgaWYgKHNtX3JlbSAmJiBpc19vcHRpb24obmFtZSwgbmFtZXN6LCBzbWFja19vcHRpb25zKSkgeworCisJCQluZXh0ID0gbmFtZTsKKwkJCXJjID0gbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KCZmcy0+ZnNfb3B0c3RyLAorCQkJCQluYW1lLAorCQkJCQl2YWwgPyB2YWwgKyB2YWxzeiA6IG5hbWUgKyBuYW1lc3opOworCQl9CisjZW5kaWYKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCX0KKworCisJaWYgKCFyYyAmJiBjeHQtPnJlc3RyaWN0ZWQgJiYgKGN4dC0+dXNlcl9tb3VudGZsYWdzICYgTU5UX01TX1VTRVIpKSB7CisJCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF9vcmlnaW5fbnMoY3h0KTsKKwkJaWYgKCFuc19vbGQpCisJCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJCXJjID0gbW50X29wdHN0cl9maXhfdXNlcigmZnMtPnVzZXJfb3B0c3RyKTsKKworCQlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCX0KKworCS8qIHJlZnJlc2ggbWVyZ2VkIG9wdHN0ciAqLworCWZyZWUoZnMtPm9wdHN0cik7CisJZnMtPm9wdHN0ciA9IE5VTEw7CisJZnMtPm9wdHN0ciA9IG1udF9mc19zdHJkdXBfb3B0aW9ucyhmcyk7Citkb25lOgorCWN4dC0+ZmxhZ3MgfD0gTU5UX0ZMX01PVU5UT1BUU19GSVhFRDsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZpeGVkIG9wdGlvbnMgW3JjPSVkXTogIgorCQkidmZzOiAnJXMnIGZzOiAnJXMnIHVzZXI6ICclcycsIG9wdHN0cjogJyVzJyIsIHJjLAorCQlmcy0+dmZzX29wdHN0ciwgZnMtPmZzX29wdHN0ciwgZnMtPnVzZXJfb3B0c3RyLCBmcy0+b3B0c3RyKSk7CisKKwlpZiAocmMpCisJCXJjID0gLU1OVF9FUlJfTU9VTlRPUFQ7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQ29udmVydHMgdGhlIGFscmVhZHkgZXZhbHVhdGVkIGFuZCBmaXhlZCBvcHRpb25zIHRvIHRoZSBmb3JtIHRoYXQgaXMgY29tcGF0aWJsZQorICogd2l0aCAvc2Jpbi9tb3VudC50eXBlIGhlbHBlcnMuCisgKi8KK3N0YXRpYyBpbnQgZ2VuZXJhdGVfaGVscGVyX29wdHN0cihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY2hhciAqKm9wdHN0cikKK3sKKwlzdHJ1Y3QgbGlibW50X29wdG1hcCBjb25zdCAqbWFwc1syXTsKKwljaGFyICpuZXh0LCAqbmFtZSwgKnZhbDsKKwlzaXplX3QgbmFtZXN6LCB2YWxzejsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCWFzc2VydChvcHRzdHIpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IGdlbmVyYXRlIGhlbHBlciBtb3VudCBvcHRpb25zIikpOworCisJKm9wdHN0ciA9IG1udF9mc19zdHJkdXBfb3B0aW9ucyhjeHQtPmZzKTsKKwlpZiAoISpvcHRzdHIpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19VU0VSKSB8fAorCSAgICAoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiBNTlRfTVNfVVNFUlMpKSB7CisJCS8qCisJCSAqIFRoaXMgaXMgdW5uZWNlc3NhcnkgZm9yIHJlYWwgdXNlci1tb3VudHMgYXMgbW91bnQuPHR5cGU+CisJCSAqIGhlbHBlcnMgYWx3YXlzIGhhdmUgdG8gZm9sbG93IGZzdGFiIHJhdGhlciB0aGFuIG1vdW50CisJCSAqIG9wdGlvbnMgb24gdGhlIGNvbW1hbmQgbGluZS4KKwkJICoKKwkJICogSG93ZXZlciwgaWYgeW91IGNhbGwgbW91bnQuPHR5cGU+IGFzIHJvb3QsIHRoZW4gdGhlIGhlbHBlciBmb2xsb3dzCisJCSAqIHRoZSBjb21tYW5kIGxpbmUuIElmIHRoZXJlIGlzIChmb3IgZXhhbXBsZSkgInVzZXIsZXhlYyIgaW4gZnN0YWIsCisJCSAqIHRoZW4gd2UgaGF2ZSB0byBtYW51YWxseSBhcHBlbmQgdGhlICJleGVjIiBiYWNrIHRvIHRoZSBvcHRpb25zCisJCSAqIHN0cmluZywgYmVjYXVzZSB0aGVyZSBpcyBub3RoaW5nIGxpa2UgTVNfRVhFQyAod2Ugb25seSBoYXZlCisJCSAqIE1TX05PRVhFQyBpbiBtb3VudCBmbGFncyBhbmQgd2UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgb3JpZ2luYWwKKwkJICogbW91bnQgc3RyaW5nIGluIGxpYm1vdW50IGZvciBWRlMgb3B0aW9ucykuCisJCSAqLworCQlpZiAoIShjeHQtPm1vdW50ZmxhZ3MgJiBNU19OT0VYRUMpKQorCQkJbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKG9wdHN0ciwgImV4ZWMiLCBOVUxMKTsKKwkJaWYgKCEoY3h0LT5tb3VudGZsYWdzICYgTVNfTk9TVUlEKSkKKwkJCW1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihvcHRzdHIsICJzdWlkIiwgTlVMTCk7CisJCWlmICghKGN4dC0+bW91bnRmbGFncyAmIE1TX05PREVWKSkKKwkJCW1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihvcHRzdHIsICJkZXYiLCBOVUxMKTsKKwl9CisKKworCWlmIChjeHQtPmZsYWdzICYgTU5UX0ZMX1NBVkVEX1VTRVIpCisJCXJjID0gbW50X29wdHN0cl9zZXRfb3B0aW9uKG9wdHN0ciwgInVzZXIiLCBjeHQtPm9yaWdfdXNlcik7CisJaWYgKHJjKQorCQlnb3RvIGVycjsKKworCS8qIHJlbW92ZSB1c2Vyc3BhY2Ugb3B0aW9ucyB3aXRoIE1OVF9OT0hMUFMgZmxhZyAqLworCW1hcHNbMF0gPSBtbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9VU0VSU1BBQ0VfTUFQKTsKKwltYXBzWzFdID0gbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKTsKKwluZXh0ID0gKm9wdHN0cjsKKworCXdoaWxlICghbW50X29wdHN0cl9uZXh0X29wdGlvbigmbmV4dCwgJm5hbWUsICZuYW1lc3osICZ2YWwsICZ2YWxzeikpIHsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKmVudDsKKworCQltbnRfb3B0bWFwX2dldF9lbnRyeShtYXBzLCAyLCBuYW1lLCBuYW1lc3osICZlbnQpOworCQlpZiAoZW50ICYmIGVudC0+aWQgJiYgKGVudC0+bWFzayAmIE1OVF9OT0hMUFMpKSB7CisJCQluZXh0ID0gbmFtZTsKKwkJCXJjID0gbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KG9wdHN0ciwgbmFtZSwKKwkJCQkJdmFsID8gdmFsICsgdmFsc3ogOiBuYW1lICsgbmFtZXN6KTsKKwkJCWlmIChyYykKKwkJCQlnb3RvIGVycjsKKwkJfQorCX0KKworCXJldHVybiByYzsKK2VycjoKKwlmcmVlKCpvcHRzdHIpOworCSpvcHRzdHIgPSBOVUxMOworCXJldHVybiByYzsKK30KKworLyoKKyAqIHRoaXMgaGFzIHRvIGJlIGNhbGxlZCBiZWZvcmUgZml4X29wdHN0cigpCisgKgorICogTm90ZSB0aGF0IHVzZXI9PG5hbWU+IG1heSBiZSB1c2VkIGJ5IHNvbWUgZmlsZXN5c3RlbXMgYXMgYSBmaWxlc3lzdGVtCisgKiBzcGVjaWZpYyBvcHRpb24gKGUuZy4gY2lmcykuIFllcywgZGV2ZWxvcGVycyBvZiBzdWNoIGZpbGVzeXN0ZW1zIGhhdmUKKyAqIGFsbG9jYXRlZCBwcmV0dHkgaG90IHBsYWNlIGluIGhlbGwuLi4KKyAqLworc3RhdGljIGludCBldmFsdWF0ZV9wZXJtaXNzaW9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwl1bnNpZ25lZCBsb25nIHVfZmxhZ3MgPSAwOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlpZiAoIWN4dC0+ZnMpCisJCXJldHVybiAwOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IGV2YWx1YXRpbmcgcGVybWlzc2lvbnMiKSk7CisKKwltbnRfY29udGV4dF9nZXRfdXNlcl9tZmxhZ3MoY3h0LCAmdV9mbGFncyk7CisKKwlpZiAoIW1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSkgeworCQkvKgorCQkgKiBzdXBlcnVzZXIgbW91bnQKKwkJICovCisJCWN4dC0+dXNlcl9tb3VudGZsYWdzICY9IH5NTlRfTVNfT1dORVI7CisJCWN4dC0+dXNlcl9tb3VudGZsYWdzICY9IH5NTlRfTVNfR1JPVVA7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogdXNlciBtb3VudAorCQkgKi8KKwkJaWYgKCFtbnRfY29udGV4dF90YWJfYXBwbGllZChjeHQpKQorCQl7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJwZXJtczogZnN0YWIgbm90IGFwcGxpZWQsIGlnbm9yZSB1c2VyIG1vdW50IikpOworCQkJcmV0dXJuIC1FUEVSTTsKKwkJfQorCisJCS8qCisJCSAqIE1TX09XTkVSU0VDVVJFIGFuZCBNU19TRUNVUkUgbW91bnQgb3B0aW9ucyBhcmUgYWxyZWFkeQorCQkgKiBhcHBsaWVkIGJ5IG1udF9vcHRzdHJfZ2V0X2ZsYWdzKCkgaW4gbW50X2NvbnRleHRfbWVyZ2VfbWZsYWdzKCkKKwkJICogaWYgInVzZXIiIChidXQgbm8gdXNlcj08bmFtZT4gISkgb3B0aW9ucyBpcyBzZXQuCisJCSAqCisJCSAqIExldCdzIGlnbm9yZSBhbGwgdXNlcj08bmFtZT4gKGlmIDxuYW1lPiBpcyBzZXQpIHJlcXVlc3RzLgorCQkgKi8KKwkJaWYgKGN4dC0+dXNlcl9tb3VudGZsYWdzICYgTU5UX01TX1VTRVIpIHsKKwkJCXNpemVfdCB2YWxzeiA9IDA7CisKKwkJCWlmICghbW50X29wdHN0cl9nZXRfb3B0aW9uKGN4dC0+ZnMtPnVzZXJfb3B0c3RyLAorCQkJCQkidXNlciIsIE5VTEwsICZ2YWxzeikgJiYgdmFsc3opIHsKKworCQkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInBlcm1zOiB1c2VyPTxuYW1lPiBkZXRlY3RlZCwgaWdub3JlIikpOworCQkJCWN4dC0+dXNlcl9tb3VudGZsYWdzICY9IH5NTlRfTVNfVVNFUjsKKwkJCX0KKwkJfQorCisJCS8qCisJCSAqIE1TX09XTkVSOiBBbGxvdyBvd25lcnMgdG8gbW91bnQgd2hlbiBmc3RhYiBjb250YWlucyB0aGUKKwkJICogb3duZXIgb3B0aW9uLiAgTm90ZSB0aGF0IHRoaXMgc2hvdWxkIG5ldmVyIGJlIHVzZWQgaW4gYSBoaWdoCisJCSAqIHNlY3VyaXR5IGVudmlyb25tZW50LCBidXQgbWF5IGJlIHVzZWZ1bCB0byBnaXZlIHBlb3BsZSBhdAorCQkgKiB0aGUgY29uc29sZSB0aGUgcG9zc2liaWxpdHkgb2YgbW91bnRpbmcgYSBmbG9wcHkuICBNU19HUk9VUDoKKwkJICogQWxsb3cgbWVtYmVycyBvZiBkZXZpY2UgZ3JvdXAgdG8gbW91bnQuIChNYXJ0aW4gRGlja29wcCkKKwkJICovCisJCWlmICh1X2ZsYWdzICYgKE1OVF9NU19PV05FUiB8IE1OVF9NU19HUk9VUCkpIHsKKwkJCXN0cnVjdCBzdGF0IHNiOworCQkJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUgPSBOVUxMOworCQkJY2hhciAqeHNyYyA9IE5VTEw7CisJCQljb25zdCBjaGFyICpzcmNwYXRoID0gbW50X2ZzX2dldF9zcmNwYXRoKGN4dC0+ZnMpOworCisJCQlpZiAoIXNyY3BhdGgpIHsJCQkJCS8qIEFoLi4uIHNvdXJjZSBpcyBUQUcgKi8KKwkJCQljYWNoZSA9IG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpOworCQkJCXhzcmMgPSBtbnRfcmVzb2x2ZV9zcGVjKAorCQkJCQkJbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpLAorCQkJCQkJY2FjaGUpOworCQkJCXNyY3BhdGggPSB4c3JjOworCQkJfQorCQkJaWYgKCFzcmNwYXRoKSB7CisJCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicGVybXM6IHNyYyB1bmRlZmluZWQiKSk7CisJCQkJcmV0dXJuIC1FUEVSTTsKKwkJCX0KKworCQkJaWYgKHN0cm5jbXAoc3JjcGF0aCwgIi9kZXYvIiwgNSkgPT0gMCAmJgorCQkJICAgIHN0YXQoc3JjcGF0aCwgJnNiKSA9PSAwICYmCisJCQkgICAgKCgodV9mbGFncyAmIE1OVF9NU19PV05FUikgJiYgZ2V0dWlkKCkgPT0gc2Iuc3RfdWlkKSB8fAorCQkJICAgICAoKHVfZmxhZ3MgJiBNTlRfTVNfR1JPVVApICYmIG1udF9pbl9ncm91cChzYi5zdF9naWQpKSkpCisKKwkJCQljeHQtPnVzZXJfbW91bnRmbGFncyB8PSBNTlRfTVNfVVNFUjsKKworCQkJaWYgKCFjYWNoZSkKKwkJCQlmcmVlKHhzcmMpOworCQl9CisKKwkJaWYgKCEoY3h0LT51c2VyX21vdW50ZmxhZ3MgJiAoTU5UX01TX1VTRVIgfCBNTlRfTVNfVVNFUlMpKSkgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicGVybWlzc2lvbnMgZXZhbHVhdGlvbiBlbmRzIHdpdGggLUVQRVJNUyIpKTsKKwkJCXJldHVybiAtRVBFUk07CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIG1udF9jb250ZXh0X2hlbHBlcl9zZXRvcHQoKSBiYWNrZW5kCisgKgorICogVGhpcyBmdW5jdGlvbiBhcHBsaWVzIHRoZSBtb3VudC50eXBlIGNvbW1hbmQgbGluZSBvcHRpb24gKGZvciBleGFtcGxlIHBhcnNlZAorICogYnkgZ2V0b3B0KCkgb3IgZ2V0b3B0X2xvbmcoKSkgdG8gQGN4dC4gQWxsIHVua25vd24gb3B0aW9ucyBhcmUgaWdub3JlZCBhbmQKKyAqIHRoZW4gMSBpcyByZXR1cm5lZC4KKyAqCisgKiBSZXR1cm5zOiBuZWdhdGl2ZSBudW1iZXIgb24gZXJyb3IsIDEgaWYgQGMgaXMgdW5rbm93biBvcHRpb24sIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IG1udF9jb250ZXh0X21vdW50X3NldG9wdChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGMsIGNoYXIgKmFyZykKK3sKKwlpbnQgcmMgPSAtRUlOVkFMOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+YWN0aW9uID09IE1OVF9BQ1RfTU9VTlQpOworCisJc3dpdGNoKGMpIHsKKwljYXNlICdmJzoKKwkJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfZmFrZShjeHQsIFRSVUUpOworCQlicmVhazsKKwljYXNlICduJzoKKwkJcmMgPSBtbnRfY29udGV4dF9kaXNhYmxlX210YWIoY3h0LCBUUlVFKTsKKwkJYnJlYWs7CisJY2FzZSAncic6CisJCXJjID0gbW50X2NvbnRleHRfYXBwZW5kX29wdGlvbnMoY3h0LCAicm8iKTsKKwkJYnJlYWs7CisJY2FzZSAndic6CisJCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX3ZlcmJvc2UoY3h0LCBUUlVFKTsKKwkJYnJlYWs7CisJY2FzZSAndyc6CisJCXJjID0gbW50X2NvbnRleHRfYXBwZW5kX29wdGlvbnMoY3h0LCAicnciKTsKKwkJYnJlYWs7CisJY2FzZSAnbyc6CisJCWlmIChhcmcpCisJCQlyYyA9IG1udF9jb250ZXh0X2FwcGVuZF9vcHRpb25zKGN4dCwgYXJnKTsKKwkJYnJlYWs7CisJY2FzZSAncyc6CisJCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX3Nsb3BweShjeHQsIFRSVUUpOworCQlicmVhazsKKwljYXNlICd0JzoKKwkJaWYgKGFyZykKKwkJCXJjID0gbW50X2NvbnRleHRfc2V0X2ZzdHlwZShjeHQsIGFyZyk7CisJCWJyZWFrOworCWNhc2UgJ04nOgorCQlpZiAoYXJnKQorCQkJcmMgPSBtbnRfY29udGV4dF9zZXRfdGFyZ2V0X25zKGN4dCwgYXJnKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGV4ZWNfaGVscGVyKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNoYXIgKm8gPSBOVUxMLCAqbmFtZXNwYWNlID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X25zICpuc190Z3QgPSBtbnRfY29udGV4dF9nZXRfdGFyZ2V0X25zKGN4dCk7CisJaW50IHJjOworCXBpZF90IHBpZDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoY3h0LT5oZWxwZXIpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IGV4ZWN1dGluZyBoZWxwZXIgJXMiLCBjeHQtPmhlbHBlcikpOworCisJcmMgPSBnZW5lcmF0ZV9oZWxwZXJfb3B0c3RyKGN4dCwgJm8pOworCWlmIChyYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAobnNfdGd0LT5mZCAhPSAtMQorCSAgICAmJiBhc3ByaW50ZigmbmFtZXNwYWNlLCAiL3Byb2MvJWkvZmQvJWkiLAorCQkJZ2V0cGlkKCksIG5zX3RndC0+ZmQpID09IC0xKSB7CisJCWZyZWUobyk7CisJCXJldHVybiAtRU5PTUVNOworCX0KKworCURCR19GTFVTSDsKKworCXBpZCA9IGZvcmsoKTsKKwlzd2l0Y2ggKHBpZCkgeworCWNhc2UgMDoKKwl7CisJCWNvbnN0IGNoYXIgKmFyZ3NbMTRdLCAqdHlwZTsKKwkJaW50IGkgPSAwOworCisJCWlmIChzZXRnaWQoZ2V0Z2lkKCkpIDwgMCkKKwkJCV9leGl0KEVYSVRfRkFJTFVSRSk7CisKKwkJaWYgKHNldHVpZChnZXR1aWQoKSkgPCAwKQorCQkJX2V4aXQoRVhJVF9GQUlMVVJFKTsKKworCQlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9vcmlnaW5fbnMoY3h0KSkKKwkJCV9leGl0KEVYSVRfRkFJTFVSRSk7CisKKwkJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGN4dC0+ZnMpOworCisJCWFyZ3NbaSsrXSA9IGN4dC0+aGVscGVyOwkJLyogMSAqLworCQlhcmdzW2krK10gPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7LyogMiAqLworCQlhcmdzW2krK10gPSBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKTsJLyogMyAqLworCisJCWlmIChtbnRfY29udGV4dF9pc19zbG9wcHkoY3h0KSkKKwkJCWFyZ3NbaSsrXSA9ICItcyI7CQkvKiA0ICovCisJCWlmIChtbnRfY29udGV4dF9pc19mYWtlKGN4dCkpCisJCQlhcmdzW2krK10gPSAiLWYiOwkJLyogNSAqLworCQlpZiAobW50X2NvbnRleHRfaXNfbm9tdGFiKGN4dCkpCisJCQlhcmdzW2krK10gPSAiLW4iOwkJLyogNiAqLworCQlpZiAobW50X2NvbnRleHRfaXNfdmVyYm9zZShjeHQpKQorCQkJYXJnc1tpKytdID0gIi12IjsJCS8qIDcgKi8KKwkJaWYgKG8pIHsKKwkJCWFyZ3NbaSsrXSA9ICItbyI7CQkvKiA4ICovCisJCQlhcmdzW2krK10gPSBvOwkJCS8qIDkgKi8KKwkJfQorCQlpZiAodHlwZQorCQkgICAgJiYgc3RyY2hyKHR5cGUsICcuJykKKwkJICAgICYmICFlbmRzd2l0aChjeHQtPmhlbHBlciwgdHlwZSkpIHsKKwkJCWFyZ3NbaSsrXSA9ICItdCI7CQkvKiAxMCAqLworCQkJYXJnc1tpKytdID0gdHlwZTsJCS8qIDExICovCisJCX0KKwkJaWYgKG5hbWVzcGFjZSkgeworCQkJYXJnc1tpKytdID0gIi1OIjsJCS8qIDExICovCisJCQlhcmdzW2krK10gPSBuYW1lc3BhY2U7CQkvKiAxMiAqLworCQl9CisJCWFyZ3NbaV0gPSBOVUxMOwkJCQkvKiAxMyAqLworCQlmb3IgKGkgPSAwOyBhcmdzW2ldOyBpKyspCisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJhcmd2WyVkXSA9IFwiJXNcIiIsCisJCQkJCQkJaSwgYXJnc1tpXSkpOworCQlEQkdfRkxVU0g7CisJCWV4ZWN2KGN4dC0+aGVscGVyLCAoY2hhciAqIGNvbnN0ICopIGFyZ3MpOworCQlfZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKwlkZWZhdWx0OgorCXsKKwkJaW50IHN0OworCisJCWlmICh3YWl0cGlkKHBpZCwgJnN0LCAwKSA9PSAocGlkX3QpIC0xKSB7CisJCQljeHQtPmhlbHBlcl9zdGF0dXMgPSAtMTsKKwkJCXJjID0gLWVycm5vOworCQl9IGVsc2UgeworCQkJY3h0LT5oZWxwZXJfc3RhdHVzID0gV0lGRVhJVEVEKHN0KSA/IFdFWElUU1RBVFVTKHN0KSA6IC0xOworCQkJY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPSByYyA9IDA7CisJCX0KKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXMgZXhlY3V0ZWQgW3N0YXR1cz0lZCwgcmM9JWQlc10iLAorCQkJCWN4dC0+aGVscGVyLAorCQkJCWN4dC0+aGVscGVyX3N0YXR1cywgcmMsCisJCQkJcmMgPyAiIHdhaXRwaWQgZmFpbGVkIiA6ICIiKSk7CisJCWJyZWFrOworCX0KKworCWNhc2UgLTE6CisJCWN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID0gcmMgPSAtZXJybm87CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZvcmsoKSBmYWlsZWQiKSk7CisJCWJyZWFrOworCX0KKworCWZyZWUobyk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGRvX21vdW50X2FkZGl0aW9uYWwoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkgICAgICAgY29uc3QgY2hhciAqdGFyZ2V0LAorCQkJICAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MsCisJCQkgICAgICAgaW50ICpzeXNlcnIpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWFzc2VydChjeHQpOworCWFzc2VydCh0YXJnZXQpOworCisJaWYgKHN5c2VycikKKwkJKnN5c2VyciA9IDA7CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZjeHQtPmFkZG1vdW50cykgeworCQlpbnQgcmM7CisJCXN0cnVjdCBsaWJtbnRfYWRkbW91bnQgKmFkID0KKwkJCQlsaXN0X2VudHJ5KHAsIHN0cnVjdCBsaWJtbnRfYWRkbW91bnQsIG1vdW50cyk7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQoMikgY2hhbmdpbmcgZmxhZzogMHglMDhseCAlcyIsCisJCQkJYWQtPm1vdW50ZmxhZ3MsCisJCQkJYWQtPm1vdW50ZmxhZ3MgJiBNU19SRUMgPyAiIChyZWN1cnNpdmUpIiA6ICIiKSk7CisKKwkJcmMgPSBtb3VudCgibm9uZSIsIHRhcmdldCwgTlVMTCwKKwkJCQlhZC0+bW91bnRmbGFncyB8IChmbGFncyAmIE1TX1NJTEVOVCksIE5VTEwpOworCQlpZiAocmMpIHsKKwkJCWlmIChzeXNlcnIpCisJCQkJKnN5c2VyciA9IC1lcnJubzsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkJIm1vdW50KDIpIGZhaWxlZCBbZXJybm89JWQgJW1dIiwKKwkJCQkJZXJybm8pKTsKKwkJCXJldHVybiByYzsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisvKgorICogVGhlIGRlZmF1bHQgaXMgdG8gdXNlIGZzdHlwZSBmcm9tIGN4dC0+ZnMsIHRoaXMgY291bGQgYmUgb3ZlcndyaXR0ZW4gYnkKKyAqIEB0cnlfdHlwZSBhcmd1bWVudC4gSWYgQHRyeV90eXBlIGlzIHNwZWNpZmllZCB0aGVuIG1vdW50IHdpdGggTVNfU0lMRU5ULgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywKKyAqICAgICAgICAgPjAgaW4gY2FzZSBvZiBtb3VudCgyKSBlcnJvciAocmV0dXJucyBzeXNjYWxsIGVycm5vKSwKKyAqICAgICAgICAgPDAgaW4gY2FzZSBvZiBvdGhlciBlcnJvcnMuCisgKi8KK3N0YXRpYyBpbnQgZG9fbW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnRyeV90eXBlKQoreworCWludCByYyA9IDA7CisJY29uc3QgY2hhciAqc3JjLCAqdGFyZ2V0LCAqdHlwZTsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJaWYgKHRyeV90eXBlICYmICFjeHQtPmhlbHBlcikgeworCQlyYyA9IG1udF9jb250ZXh0X3ByZXBhcmVfaGVscGVyKGN4dCwgIm1vdW50IiwgdHJ5X3R5cGUpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJfQorCisJZmxhZ3MgPSBjeHQtPm1vdW50ZmxhZ3M7CisJc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKGN4dC0+ZnMpOworCXRhcmdldCA9IG1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpOworCisJaWYgKGN4dC0+aGVscGVyKSB7CisJCXJjID0gZXhlY19oZWxwZXIoY3h0KTsKKworCQlpZiAobW50X2NvbnRleHRfaGVscGVyX2V4ZWN1dGVkKGN4dCkKKwkJICAgICYmIG1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzKGN4dCkgPT0gMAorCQkgICAgJiYgIWxpc3RfZW1wdHkoJmN4dC0+YWRkbW91bnRzKQorCQkgICAgJiYgZG9fbW91bnRfYWRkaXRpb25hbChjeHQsIHRhcmdldCwgZmxhZ3MsIE5VTEwpKQorCisJCQlyZXR1cm4gLU1OVF9FUlJfQVBQTFlGTEFHUzsKKwkJcmV0dXJuIHJjOworCX0KKworCWlmICghdGFyZ2V0KQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIXNyYykgeworCQkvKiB1bm5lY2Vzc2FyeSwgc2hvdWxkIGJlIGFscmVhZHkgcmVzb2x2ZWQgaW4KKwkJICogbW50X2NvbnRleHRfcHJlcGFyZV9zcmNwYXRoKCksIGJ1dCB0byBiZSBzdXJlLi4uICovCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIldBUk5JTkc6IHNvdXJjZSBpcyBOVUxMIC0tIHVzaW5nIFwibm9uZVwiISIpKTsKKwkJc3JjID0gIm5vbmUiOworCX0KKwl0eXBlID0gdHJ5X3R5cGUgPyA6IG1udF9mc19nZXRfZnN0eXBlKGN4dC0+ZnMpOworCisJaWYgKHRyeV90eXBlKQorCQlmbGFncyB8PSBNU19TSUxFTlQ7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlc21vdW50KDIpICIKKwkJCSJbc291cmNlPSVzLCB0YXJnZXQ9JXMsIHR5cGU9JXMsICIKKwkJCSIgbW91bnRmbGFncz0weCUwOGx4LCBtb3VudGRhdGE9JXNdIiwKKwkJCW1udF9jb250ZXh0X2lzX2Zha2UoY3h0KSA/ICIoRkFLRSkgIiA6ICIiLAorCQkJc3JjLCB0YXJnZXQsIHR5cGUsCisJCQlmbGFncywgY3h0LT5tb3VudGRhdGEgPyAieWVzIiA6ICI8bm9uZT4iKSk7CisKKwlpZiAobW50X2NvbnRleHRfaXNfZmFrZShjeHQpKSB7CisJCS8qCisJCSAqIGZha2UKKwkJICovCisJCWN4dC0+c3lzY2FsbF9zdGF0dXMgPSAwOworCisJfSBlbHNlIGlmIChtbnRfY29udGV4dF9wcm9wYWdhdGlvbl9vbmx5KGN4dCkpIHsKKwkJLyoKKwkJICogcHJvcGFnYXRpb24gZmxhZ3MgKm9ubHkqCisJCSAqLworCQlpZiAoZG9fbW91bnRfYWRkaXRpb25hbChjeHQsIHRhcmdldCwgZmxhZ3MsICZjeHQtPnN5c2NhbGxfc3RhdHVzKSkKKwkJCXJldHVybiAtTU5UX0VSUl9BUFBMWUZMQUdTOworCX0gZWxzZSB7CisJCS8qCisJCSAqIHJlZ3VsYXIgbW91bnQKKwkJICovCisJCWlmIChtb3VudChzcmMsIHRhcmdldCwgdHlwZSwgZmxhZ3MsIGN4dC0+bW91bnRkYXRhKSkgeworCQkJY3h0LT5zeXNjYWxsX3N0YXR1cyA9IC1lcnJubzsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm1vdW50KDIpIGZhaWxlZCBbZXJybm89JWQgJW1dIiwKKwkJCQkJCQktY3h0LT5zeXNjYWxsX3N0YXR1cykpOworCQkJcmV0dXJuIC1jeHQtPnN5c2NhbGxfc3RhdHVzOworCQl9CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiAgc3VjY2VzcyIpKTsKKwkJY3h0LT5zeXNjYWxsX3N0YXR1cyA9IDA7CisKKwkJLyoKKwkJICogYWRkaXRpb25hbCBtb3VudHMgZm9yIGV4dHJhIHByb3BhZ2F0aW9uIGZsYWdzCisJCSAqLworCQlpZiAoIWxpc3RfZW1wdHkoJmN4dC0+YWRkbW91bnRzKQorCQkgICAgJiYgZG9fbW91bnRfYWRkaXRpb25hbChjeHQsIHRhcmdldCwgZmxhZ3MsIE5VTEwpKSB7CisKKwkJCS8qIFRPRE86IGNhbGwgdW1vdW50PyAqLworCQkJcmV0dXJuIC1NTlRfRVJSX0FQUExZRkxBR1M7CisJCX0KKwl9CisKKwlpZiAodHJ5X3R5cGUgJiYgY3h0LT51cGRhdGUpIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBtbnRfdXBkYXRlX2dldF9mcyhjeHQtPnVwZGF0ZSk7CisJCWlmIChmcykKKwkJCXJjID0gbW50X2ZzX3NldF9mc3R5cGUoZnMsIHRyeV90eXBlKTsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qIHRyeSBtb3VudCgyKSBmb3IgYWxsIGl0ZW1zIGluIGNvbW1hIHNlcGFyYXRlZCBsaXN0IG9mIHRoZSBmaWxlc3lzdGVtIEB0eXBlcyAqLworc3RhdGljIGludCBkb19tb3VudF9ieV90eXBlcyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqdHlwZXMpCit7CisJaW50IHJjID0gLUVJTlZBTDsKKwljaGFyICpwLCAqcDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInRyeWluZyB0byBtb3VudCBieSBGUyBsaXN0ICclcyciLCB0eXBlcykpOworCisJcDAgPSBwID0gc3RyZHVwKHR5cGVzKTsKKwlpZiAoIXApCisJCXJldHVybiAtRU5PTUVNOworCWRvIHsKKwkJY2hhciAqYXV0b3R5cGUgPSBOVUxMOworCQljaGFyICplbmQgPSBzdHJjaHIocCwgJywnKTsKKworCQlpZiAoZW5kKQorCQkJKmVuZCA9ICdcMCc7CisKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiLS0+dHJ5aW5nICclcyciLCBwKSk7CisKKwkJLyogTGV0J3Mgc3VwcG9ydCB0aGluZ3MgbGlrZSAidWRmLGlzbzk2NjAsYXV0byIgKi8KKwkJaWYgKHN0cmNtcChwLCAiYXV0byIpID09IDApIHsKKwkJCXJjID0gbW50X2NvbnRleHRfZ3Vlc3Nfc3JjcGF0aF9mc3R5cGUoY3h0LCAmYXV0b3R5cGUpOworCQkJaWYgKHJjKSB7CisJCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZmFpbGVkIHRvIGd1ZXNzIEZTIHR5cGUgW3JjPSVkXSIsIHJjKSk7CisJCQkJZnJlZShwMCk7CisJCQkJZnJlZShhdXRvdHlwZSk7CisJCQkJcmV0dXJuIHJjOworCQkJfQorCQkJcCA9IGF1dG90eXBlOworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiICAgLS0+ICclcyciLCBwKSk7CisJCX0KKworCQlpZiAocCkKKwkJCXJjID0gZG9fbW91bnQoY3h0LCBwKTsKKwkJcCA9IGVuZCA/IGVuZCArIDEgOiBOVUxMOworCQlmcmVlKGF1dG90eXBlKTsKKwl9IHdoaWxlICghbW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpICYmIHApOworCisJZnJlZShwMCk7CisJcmV0dXJuIHJjOworfQorCisKK3N0YXRpYyBpbnQgZG9fbW91bnRfYnlfcGF0dGVybihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqcGF0dGVybikKK3sKKwlpbnQgbmVnID0gcGF0dGVybiAmJiBzdHJuY21wKHBhdHRlcm4sICJubyIsIDIpID09IDA7CisJaW50IHJjID0gLUVJTlZBTDsKKwljaGFyICoqZmlsZXN5c3RlbXMsICoqZnA7CisJc3RydWN0IGxpYm1udF9ucyAqbnNfb2xkOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwkvKgorCSAqIFVzZSB0aGUgcGF0dGVybiBhcyBsaXN0IG9mIHRoZSBmaWxlc3lzdGVtcworCSAqLworCWlmICghbmVnICYmIHBhdHRlcm4pIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidXNlIEZTIHBhdHRlcm4gYXMgRlMgbGlzdCIpKTsKKwkJcmV0dXJuIGRvX21vdW50X2J5X3R5cGVzKGN4dCwgcGF0dGVybik7CisJfQorCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidHJ5aW5nIHRvIG1vdW50IGJ5IEZTIHBhdHRlcm4gJyVzJyIsIHBhdHRlcm4pKTsKKworCS8qCisJICogQXBwbHkgcGF0dGVybiB0byAvZXRjL2ZpbGVzeXN0ZW1zIGFuZCAvcHJvYy9maWxlc3lzdGVtcworCSAqLworCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF9vcmlnaW5fbnMoY3h0KTsKKwlpZiAoIW5zX29sZCkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKwlyYyA9IG1udF9nZXRfZmlsZXN5c3RlbXMoJmZpbGVzeXN0ZW1zLCBuZWcgPyBwYXR0ZXJuIDogTlVMTCk7CisJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKGZpbGVzeXN0ZW1zID09IE5VTEwpCisJCXJldHVybiAtTU5UX0VSUl9OT0ZTVFlQRTsKKworCWZvciAoZnAgPSBmaWxlc3lzdGVtczsgKmZwOyBmcCsrKSB7CisJCXJjID0gZG9fbW91bnQoY3h0LCAqZnApOworCQlpZiAobW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpKQorCQkJYnJlYWs7CisJCWlmIChtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpICE9IEVJTlZBTCAmJgorCQkgICAgbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oY3h0KSAhPSBFTk9ERVYpCisJCQlicmVhazsKKwl9CisJbW50X2ZyZWVfZmlsZXN5c3RlbXMoZmlsZXN5c3RlbXMpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9wcmVwYXJlX21vdW50OgorICogQGN4dDogY29udGV4dAorICoKKyAqIFByZXBhcmUgY29udGV4dCBmb3IgbW91bnRpbmcsIHVubmVjZXNzYXJ5IGZvciBtbnRfY29udGV4dF9tb3VudCgpLgorICoKKyAqIFJldHVybnM6IG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvciwgemVybyBvbiBzdWNjZXNzCisgKi8KK2ludCBtbnRfY29udGV4dF9wcmVwYXJlX21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYyA9IC1FSU5WQUw7CisJc3RydWN0IGxpYm1udF9ucyAqbnNfb2xkOworCisJaWYgKCFjeHQgfHwgIWN4dC0+ZnMgfHwgbW50X2ZzX2lzX3N3YXBhcmVhKGN4dC0+ZnMpKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW1udF9mc19nZXRfc291cmNlKGN4dC0+ZnMpICYmICFtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfUFJFUEFSRUQpCisJCXJldHVybiAwOworCisJYXNzZXJ0KGN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID09IDEpOworCWFzc2VydChjeHQtPnN5c2NhbGxfc3RhdHVzID09IDEpOworCisJY3h0LT5hY3Rpb24gPSBNTlRfQUNUX01PVU5UOworCisJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCWlmICghbnNfb2xkKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IHByZXBhcmluZyIpKTsKKworCXJjID0gbW50X2NvbnRleHRfYXBwbHlfZnN0YWIoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X21lcmdlX21mbGFncyhjeHQpOworCWlmICghcmMpCisJCXJjID0gZXZhbHVhdGVfcGVybWlzc2lvbnMoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IGZpeF9vcHRzdHIoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X3ByZXBhcmVfc3JjcGF0aChjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV90YXJnZXQoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X2d1ZXNzX2ZzdHlwZShjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV9oZWxwZXIoY3h0LCAibW91bnQiLCBOVUxMKTsKKwlpZiAocmMpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibW91bnQ6IHByZXBhcmluZyBmYWlsZWQiKSk7CisJCWdvdG8gZW5kOworCX0KKwljeHQtPmZsYWdzIHw9IE1OVF9GTF9QUkVQQVJFRDsKKworZW5kOgorCWlmICghbW50X2NvbnRleHRfc3dpdGNoX25zKGN4dCwgbnNfb2xkKSkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9kb19tb3VudAorICogQGN4dDogY29udGV4dAorICoKKyAqIENhbGwgbW91bnQoMikgb3IgbW91bnQudHlwZSBoZWxwZXIuIFVubmVjZXNzYXJ5IGZvciBtbnRfY29udGV4dF9tb3VudCgpLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGNvdWxkIGJlIGNhbGxlZCBvbmx5IG9uY2UuIElmIHlvdSB3YW50IHRvIG1vdW50CisgKiBhbm90aGVyIHNvdXJjZSBvciB0YXJnZXQsIHRoZW4geW91IGhhdmUgdG8gY2FsbCBtbnRfcmVzZXRfY29udGV4dCgpLgorICoKKyAqIElmIHlvdSB3YW50IHRvIGNhbGwgbW91bnQoMikgZm9yIHRoZSBzYW1lIHNvdXJjZSBhbmQgdGFyZ2V0IHdpdGggZGlmZmVyZW50CisgKiBtb3VudCBmbGFncyBvciBmc3R5cGUsIHRoZW4gY2FsbCBtbnRfY29udGV4dF9yZXNldF9zdGF0dXMoKSBhbmQgdGhlbiB0cnkKKyAqIGFnYWluIG1udF9jb250ZXh0X2RvX21vdW50KCkuCisgKgorICogV0FSTklORzogbm9uLXplcm8gcmV0dXJuIGNvZGUgZG9lcyBub3QgbWVhbiB0aGF0IG1vdW50KDIpIHN5c2NhbGwgb3IKKyAqICAgICAgICAgIG1vdW50LnR5cGUgaGVscGVyIHdhc24ndCBzdWNjZXNzZnVsbHkgY2FsbGVkLgorICoKKyAqIENoZWNrIG1udF9jb250ZXh0X2dldF9zdGF0dXMoKSBhZnRlciBlcnJvciEgU2VlIG1udF9jb250ZXh0X21vdW50KCkgZm9yIG1vcmUKKyAqIGRldGFpbHMgYWJvdXQgZXJyb3JzIGFuZCB3YXJuaW5ncy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3M7CisgKiAgICAgICAgID4wIGluIGNhc2Ugb2YgbW91bnQoMikgZXJyb3IgKHJldHVybnMgc3lzY2FsbCBlcnJubyksCisgKiAgICAgICAgIDwwIGluIGNhc2Ugb2Ygb3RoZXIgZXJyb3JzLgorICovCitpbnQgbW50X2NvbnRleHRfZG9fbW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY29uc3QgY2hhciAqdHlwZTsKKwlpbnQgcmVzOworCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPT0gMSk7CisJYXNzZXJ0KGN4dC0+c3lzY2FsbF9zdGF0dXMgPT0gMSk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX1BSRVBBUkVEKSk7CisJYXNzZXJ0KChjeHQtPmFjdGlvbiA9PSBNTlRfQUNUX01PVU5UKSk7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudDogZG8gbW91bnQiKSk7CisKKwlpZiAoIShjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5UREFUQSkpCisJCWN4dC0+bW91bnRkYXRhID0gKGNoYXIgKikgbW50X2ZzX2dldF9mc19vcHRpb25zKGN4dC0+ZnMpOworCisJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCWlmICghbnNfb2xkKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGN4dC0+ZnMpOworCWlmICh0eXBlKSB7CisJCWlmIChzdHJjaHIodHlwZSwgJywnKSkKKwkJCS8qIHRoaXMgb25seSBoYXBwZW5zIGlmIGZzdGFiIGNvbnRhaW5zIGEgbGlzdCBvZiBmaWxlc3lzdGVtcyAqLworCQkJcmVzID0gZG9fbW91bnRfYnlfdHlwZXMoY3h0LCB0eXBlKTsKKwkJZWxzZQorCQkJcmVzID0gZG9fbW91bnQoY3h0LCBOVUxMKTsKKwl9IGVsc2UKKwkJcmVzID0gZG9fbW91bnRfYnlfcGF0dGVybihjeHQsIGN4dC0+ZnN0eXBlX3BhdHRlcm4pOworCisjaWZkZWYgVVNFX0xJQk1PVU5UX1NVUFBPUlRfTVRBQgorCWlmIChtbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkKKwkgICAgJiYgIW1udF9jb250ZXh0X2lzX2Zha2UoY3h0KQorCSAgICAmJiAhY3h0LT5oZWxwZXIKKwkgICAgJiYgbW50X2NvbnRleHRfbXRhYl93cml0YWJsZShjeHQpKSB7CisKKwkJaW50IGlzX3Jkb25seSA9IC0xOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImNoZWNraW5nIGZvciBSRE9OTFkgbWlzbWF0Y2giKSk7CisKKwkJLyoKKwkJICogTW91bnRlZCBieSBtb3VudCgyKSwgZG8gc29tZSBwb3N0LW1vdW50IGNoZWNrcworCQkgKgorCQkgKiBLZXJuZWwgYWxsb3dzIHRvIHVzZSBNU19SRE9OTFkgZm9yIGJpbmQgbW91bnRzLCBidXQgdGhlCisJCSAqIHJlYWQtb25seSByZXF1ZXN0IGNvdWxkIGJlIHNpbGVudGx5IGlnbm9yZWQuIENoZWNrIGl0IHRvCisJCSAqIGF2b2lkICdybycgaW4gbXRhYiBhbmQgJ3J3JyBpbiAvcHJvYy9tb3VudHMuCisJCSAqLworCQlpZiAoKGN4dC0+bW91bnRmbGFncyAmIE1TX0JJTkQpCisJCSAgICAmJiAoY3h0LT5tb3VudGZsYWdzICYgTVNfUkRPTkxZKSkgeworCisJCQlpZiAoaXNfcmRvbmx5IDwgMCkKKwkJCQlpc19yZG9ubHkgPSBtbnRfaXNfcmVhZG9ubHkobW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpKTsKKwkJCWlmICghaXNfcmRvbmx5KQorCQkJCW1udF9jb250ZXh0X3NldF9tZmxhZ3MoY3h0LCBjeHQtPm1vdW50ZmxhZ3MgJiB+TVNfUkRPTkxZKTsKKwkJfQorCisKKwkJLyogS2VybmVsIGNhbiBzaWxlbnRseSBhZGQgTVNfUkRPTkxZIGZsYWcgd2hlbiBtb3VudGluZyBmaWxlCisJCSAqIHN5c3RlbSB0aGF0IGRvZXMgbm90IGhhdmUgd3JpdGUgc3VwcG9ydC4gQ2hlY2sgdGhpcyB0byBhdm9pZAorCQkgKiAncm8nIGluIC9wcm9jL21vdW50cyBhbmQgJ3J3JyBpbiBtdGFiLgorCQkgKi8KKwkJaWYgKCEoY3h0LT5tb3VudGZsYWdzICYgKE1TX1JET05MWSB8IE1TX01PVkUpKQorCQkgICAgJiYgIW1udF9jb250ZXh0X3Byb3BhZ2F0aW9uX29ubHkoY3h0KSkgeworCisJCQlpZiAoaXNfcmRvbmx5IDwgMCkKKwkJCQlpc19yZG9ubHkgPSBtbnRfaXNfcmVhZG9ubHkobW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpKTsKKwkJCWlmIChpc19yZG9ubHkpCisJCQkJbW50X2NvbnRleHRfc2V0X21mbGFncyhjeHQsIGN4dC0+bW91bnRmbGFncyB8IE1TX1JET05MWSk7CisJCX0KKwl9CisjZW5kaWYKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwlyZXR1cm4gcmVzOworfQorCisvKioKKyAqIG1udF9jb250ZXh0X2ZpbmFsaXplX21vdW50OgorICogQGN4dDogY29udGV4dAorICoKKyAqIE10YWIgdXBkYXRlLCBldGMuIFVubmVjZXNzYXJ5IGZvciBtbnRfY29udGV4dF9tb3VudCgpLCBidXQgc2hvdWxkIGJlIGNhbGxlZAorICogYWZ0ZXIgbW50X2NvbnRleHRfZG9fbW91bnQoKS4gU2VlIGFsc28gbW50X2NvbnRleHRfc2V0X3N5c2NhbGxfc3RhdHVzKCkuCisgKgorICogUmV0dXJuczogbmVnYXRpdmUgbnVtYmVyIG9uIGVycm9yLCAwIG9uIHN1Y2Nlc3MuCisgKi8KK2ludCBtbnRfY29udGV4dF9maW5hbGl6ZV9tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX1BSRVBBUkVEKSk7CisKKwlyYyA9IG1udF9jb250ZXh0X3ByZXBhcmVfdXBkYXRlKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfY29udGV4dF91cGRhdGVfdGFicyhjeHQpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9tb3VudDoKKyAqIEBjeHQ6IG1vdW50IGNvbnRleHQKKyAqCisgKiBIaWdoLWxldmVsLCBtb3VudHMgdGhlIGZpbGVzeXN0ZW0gYnkgbW91bnQoMikgb3IgZm9yaygpK2V4ZWMoL3NiaW4vbW91bnQudHlwZSkuCisgKgorICogVGhpcyBpcyBzaW1pbGFyIHRvOgorICoKKyAqCW1udF9jb250ZXh0X3ByZXBhcmVfbW91bnQoY3h0KTsKKyAqCW1udF9jb250ZXh0X2RvX21vdW50KGN4dCk7CisgKgltbnRfY29udGV4dF9maW5hbGl6ZV9tb3VudChjeHQpOworICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycygpLgorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgb25seSBvbmNlLiBJZiB5b3Ugd2FudCB0byBtb3VudCB3aXRoCisgKiBkaWZmZXJlbnQgc2V0dGluZ3MsIHRoZW4geW91IGhhdmUgdG8gY2FsbCBtbnRfcmVzZXRfY29udGV4dCgpLiBJdCdzIE5PVCBlbm91Z2gKKyAqIHRvIGNhbGwgbW50X2NvbnRleHRfcmVzZXRfc3RhdHVzKCkuIElmIHlvdSB3YW50IHRvIGNhbGwgdGhpcyBmdW5jdGlvbiBtb3JlIHRoYW4KKyAqIG9uY2UsIHRoZSB3aG9sZSBjb250ZXh0IGhhcyB0byBiZSByZXNldC4KKyAqCisgKiBXQVJOSU5HOiBub24temVybyByZXR1cm4gY29kZSBkb2VzIG5vdCBtZWFuIHRoYXQgbW91bnQoMikgc3lzY2FsbCBvcgorICogICAgICAgICAgbW91bnQudHlwZSBoZWxwZXIgd2Fzbid0IHN1Y2Nlc3NmdWxseSBjYWxsZWQuCisgKgorICogQWx3YXlzIHVzZSBtbnRfY29udGV4dF9nZXRfc3RhdHVzKCk6CisgKgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICogICAgICAgcmMgPSBtbnRfY29udGV4dF9tb3VudChjeHQpOworICoKKyAqICAgICAgIGlmIChtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoY3h0KSkKKyAqICAgICAgICAgICAgICAgcmV0dXJuIG1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzKGN4dCk7CisgKiAgICAgICBpZiAocmMgPT0gMCAmJiBtbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkgPT0gMSkKKyAqICAgICAgICAgICAgICAgcmV0dXJuIE1OVF9FWF9TVUNDRVNTOworICogICAgICAgcmV0dXJuIE1OVF9FWF9GQUlMOworICogICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogb3IgbW50X2NvbnRleHRfZ2V0X2V4Y29kZSgpIHRvIGdlbmVyYXRlIG1vdW50KDgpIGNvbXBhdGlibGUgZXJyb3IKKyAqIG9yIHdhcm5pbmcgbWVzc2FnZToKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKiAgICAgICByYyA9IG1udF9jb250ZXh0X21vdW50KGN4dCk7CisgKiAgICAgICByYyA9IG1udF9jb250ZXh0X2dldF9leGNvZGUoY3h0LCByYywgYnVmLCBzaXplb2YoYnVmKSk7CisgKiAgICAgICBpZiAoYnVmKQorICogICAgICAgICAgICAgICB3YXJueChfKCIlczogJXMiKSwgbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpLCBidWYpOworICoJIHJldHVybiByYzsgICAvLyBNTlRfRVhfKgorICogICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzOworICogICAgICAgICA+MCBpbiBjYXNlIG9mIG1vdW50KDIpIGVycm9yIChyZXR1cm5zIHN5c2NhbGwgZXJybm8pLAorICogICAgICAgICA8MCBpbiBjYXNlIG9mIG90aGVyIGVycm9ycy4KKyAqLworaW50IG1udF9jb250ZXh0X21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYzsKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KGN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID09IDEpOworCWFzc2VydChjeHQtPnN5c2NhbGxfc3RhdHVzID09IDEpOworCisJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCWlmICghbnNfb2xkKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCithZ2FpbjoKKwlyYyA9IG1udF9jb250ZXh0X3ByZXBhcmVfbW91bnQoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X3ByZXBhcmVfdXBkYXRlKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfY29udGV4dF9kb19tb3VudChjeHQpOworCWlmICghcmMpCisJCXJjID0gbW50X2NvbnRleHRfdXBkYXRlX3RhYnMoY3h0KTsKKworCS8qCisJICogUmVhZC1vbmx5IGRldmljZTsgdHJ5IG1vdW50IGZpbGVzeXN0ZW0gcmVhZC1vbmx5CisJICovCisJaWYgKChyYyA9PSAtRVJPRlMgJiYgIW1udF9jb250ZXh0X3N5c2NhbGxfY2FsbGVkKGN4dCkpCS8qIGJlZm9yZSBzeXNjYWxsOyByZG9ubHkgbG9vcGRldiAqLworCSAgICAgfHwgbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oY3h0KSA9PSBFUk9GUwkvKiBzeXNjYWxsIGZhaWxlZCB3aXRoIEVST0ZTICovCisJICAgICB8fCBtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpID09IEVBQ0NFUykJLyogc3lzY2FsbCBmYWlsZWQgd2l0aCBFQUNDRVMgKi8KKwl7CisJCXVuc2lnbmVkIGxvbmcgbWZsYWdzID0gMDsKKworCQltbnRfY29udGV4dF9nZXRfbWZsYWdzKGN4dCwgJm1mbGFncyk7CisKKwkJaWYgKCEobWZsYWdzICYgTVNfUkRPTkxZKQkJCS8qIG5vdCB5ZXQgUkRPTkxZICovCisJCSAgICAmJiAhKG1mbGFncyAmIE1TX1JFTU9VTlQpCQkJLyogbm90IHJlbW91bnQgKi8KKwkJICAgICYmICEobWZsYWdzICYgTVNfQklORCkJCQkvKiBub3QgYmluIG1vdW50ICovCisJCSAgICAmJiAhbW50X2NvbnRleHRfaXNfcndvbmx5X21vdW50KGN4dCkpIHsJLyogbm8gZXhwbGljaXQgcmVhZC13cml0ZSAqLworCisJCQlhc3NlcnQoIShjeHQtPmZsYWdzICYgTU5UX0ZMX0ZPUkNFRF9SRE9OTFkpKTsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIndyaXRlLXByb3RlY3RlZCBzb3VyY2UsIHRyeWluZyBSRE9OTFkuIikpOworCisJCQltbnRfY29udGV4dF9yZXNldF9zdGF0dXMoY3h0KTsKKwkJCW1udF9jb250ZXh0X3NldF9tZmxhZ3MoY3h0LCBtZmxhZ3MgfCBNU19SRE9OTFkpOworCQkJY3h0LT5mbGFncyB8PSBNTlRfRkxfRk9SQ0VEX1JET05MWTsKKwkJCWdvdG8gYWdhaW47CisJCX0KKwl9CisJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfbnMoY3h0LCBuc19vbGQpKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfY29udGV4dF9uZXh0X21vdW50OgorICogQGN4dDogY29udGV4dAorICogQGl0cjogaXRlcmF0b3IKKyAqIEBmczogcmV0dXJucyB0aGUgY3VycmVudCBmaWxlc3lzdGVtCisgKiBAbW50cmM6IHJldHVybnMgdGhlIHJldHVybiBjb2RlIGZyb20gbW50X2NvbnRleHRfbW91bnQoKQorICogQGlnbm9yZWQ6IHJldHVybnMgMSBmb3Igbm9uLW1hdGNoaW5nIGFuZCAyIGZvciBhbHJlYWR5IG1vdW50ZWQgZmlsZXN5c3RlbXMKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIG1vdW50IHRoZSBuZXh0IGZpbGVzeXN0ZW0gZnJvbSBmc3RhYiAoYXMgcmV0dXJuZWQgYnkKKyAqIG1udF9jb250ZXh0X2dldF9mc3RhYigpKS4gU2VlIGFsc28gbW50X2NvbnRleHRfc2V0X2ZzdGFiKCkuCisgKgorICogWW91IGNhbiBmaWx0ZXIgb3V0IGZpbGVzeXN0ZW1zIGJ5OgorICoJbW50X2NvbnRleHRfc2V0X29wdGlvbnNfcGF0dGVybigpIHRvIHNpbXVsYXRlIG1vdW50IC1hIC1PIHBhdHRlcm4KKyAqCW1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybigpICB0byBzaW11bGF0ZSBtb3VudCAtYSAtdCBwYXR0ZXJuCisgKgorICogSWYgdGhlIGZpbGVzeXN0ZW0gaXMgYWxyZWFkeSBtb3VudGVkIG9yIGRvZXMgbm90IG1hdGNoIGRlZmluZWQgY3JpdGVyaWEsCisgKiB0aGVuIHRoZSBtbnRfY29udGV4dF9uZXh0X21vdW50KCkgZnVuY3Rpb24gcmV0dXJucyB6ZXJvLCBidXQgdGhlIEBpZ25vcmVkIGlzCisgKiBub24temVyby4gTm90ZSB0aGF0IHRoZSByb290IGZpbGVzeXN0ZW0gYW5kIGZpbGVzeXN0ZW1zIHdpdGggIm5vYXV0byIgb3B0aW9uCisgKiBhcmUgYWx3YXlzIGlnbm9yZWQuCisgKgorICogSWYgbW91bnQoMikgc3lzY2FsbCBvciBtb3VudC50eXBlIGhlbHBlciBmYWlsZWQsIHRoZW4gdGhlCisgKiBtbnRfY29udGV4dF9uZXh0X21vdW50KCkgZnVuY3Rpb24gcmV0dXJucyB6ZXJvLCBidXQgdGhlIEBtbnRyYyBpcyBub24temVyby4KKyAqIFVzZSBhbHNvIG1udF9jb250ZXh0X2dldF9zdGF0dXMoKSB0byBjaGVjayBpZiB0aGUgZmlsZXN5c3RlbSB3YXMKKyAqIHN1Y2Nlc3NmdWxseSBtb3VudGVkLgorICoKKyAqIFNlZSBtbnRfY29udGV4dF9tb3VudCgpIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgZXJyb3JzIGFuZCB3YXJuaW5ncy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsCisgKiAgICAgICAgIDwwIGluIGNhc2Ugb2YgZXJyb3IgKCE9IG1vdW50KDIpIGVycm9ycykKKyAqICAgICAgICAgIDEgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdC4KKyAqLworaW50IG1udF9jb250ZXh0X25leHRfbW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkgICBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKipmcywKKwkJCSAgIGludCAqbW50cmMsCisJCQkgICBpbnQgKmlnbm9yZWQpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqZnN0YWIsICptdGFiOworCWNvbnN0IGNoYXIgKm8sICp0Z3Q7CisJY2hhciAqcGF0dGVybjsKKwlpbnQgcmMsIG1vdW50ZWQgPSAwOworCisJaWYgKGlnbm9yZWQpCisJCSppZ25vcmVkID0gMDsKKwlpZiAobW50cmMpCisJCSptbnRyYyA9IDA7CisKKwlpZiAoIWN4dCB8fCAhZnMgfHwgIWl0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltdGFiID0gY3h0LT5tdGFiOworCWN4dC0+bXRhYiA9IE5VTEw7CQkvKiBkbyBub3QgcmVzZXQgbXRhYiAqLworCW1udF9yZXNldF9jb250ZXh0KGN4dCk7CisJY3h0LT5tdGFiID0gbXRhYjsKKworCXJjID0gbW50X2NvbnRleHRfZ2V0X2ZzdGFiKGN4dCwgJmZzdGFiKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXJjID0gbW50X3RhYmxlX25leHRfZnMoZnN0YWIsIGl0ciwgZnMpOworCWlmIChyYyAhPSAwKQorCQlyZXR1cm4gcmM7CS8qIG1vcmUgZmlsZXN5c3RlbXMgKG9yIGVycm9yKSAqLworCisJbyA9IG1udF9mc19nZXRfdXNlcl9vcHRpb25zKCpmcyk7CisJdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoKmZzKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5leHQtbW91bnQ6IHRyeWluZyAlcyIsIHRndCkpOworCisJLyogIGlnbm9yZSBzd2FwICovCisJaWYgKG1udF9mc19pc19zd2FwYXJlYSgqZnMpIHx8CisKKwkvKiBpZ25vcmUgcm9vdCBmaWxlc3lzdGVtICovCisJICAgKHRndCAmJiAoc3RyY21wKHRndCwgIi8iKSA9PSAwIHx8IHN0cmNtcCh0Z3QsICJyb290IikgPT0gMCkpIHx8CisKKwkvKiBpZ25vcmUgbm9hdXRvIGZpbGVzeXN0ZW1zICovCisJICAgKG8gJiYgbW50X29wdHN0cl9nZXRfb3B0aW9uKG8sICJub2F1dG8iLCBOVUxMLCBOVUxMKSA9PSAwKSB8fAorCisJLyogaWdub3JlIGZpbGVzeXN0ZW1zIHdoaWNoIGRvbid0IG1hdGNoIG9wdGlvbnMgcGF0dGVybnMgKi8KKwkgICAoY3h0LT5mc3R5cGVfcGF0dGVybiAmJiAhbW50X2ZzX21hdGNoX2ZzdHlwZSgqZnMsCisJCQkJCWN4dC0+ZnN0eXBlX3BhdHRlcm4pKSB8fAorCisJLyogaWdub3JlIGZpbGVzeXN0ZW1zIHdoaWNoIGRvbid0IG1hdGNoIHR5cGUgcGF0dGVybnMgKi8KKwkgICAoY3h0LT5vcHRzdHJfcGF0dGVybiAmJiAhbW50X2ZzX21hdGNoX29wdGlvbnMoKmZzLAorCQkJCQljeHQtPm9wdHN0cl9wYXR0ZXJuKSkpIHsKKwkJaWYgKGlnbm9yZWQpCisJCQkqaWdub3JlZCA9IDE7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5leHQtbW91bnQ6IG5vdC1tYXRjaCAiCisJCQkJIltmc3R5cGU6ICVzLCB0LXBhdHRlcm46ICVzLCBvcHRpb25zOiAlcywgTy1wYXR0ZXJuOiAlc10iLAorCQkJCW1udF9mc19nZXRfZnN0eXBlKCpmcyksCisJCQkJY3h0LT5mc3R5cGVfcGF0dGVybiwKKwkJCQltbnRfZnNfZ2V0X29wdGlvbnMoKmZzKSwKKwkJCQljeHQtPm9wdHN0cl9wYXR0ZXJuKSk7CisJCXJldHVybiAwOworCX0KKworCS8qIGlnbm9yZSBhbHJlYWR5IG1vdW50ZWQgZmlsZXN5c3RlbXMgKi8KKwlyYyA9IG1udF9jb250ZXh0X2lzX2ZzX21vdW50ZWQoY3h0LCAqZnMsICZtb3VudGVkKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlpZiAobW91bnRlZCkgeworCQlpZiAoaWdub3JlZCkKKwkJCSppZ25vcmVkID0gMjsKKwkJcmV0dXJuIDA7CisJfQorCisJaWYgKG1udF9jb250ZXh0X2lzX2ZvcmsoY3h0KSkgeworCQlyYyA9IG1udF9mb3JrX2NvbnRleHQoY3h0KTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOwkJLyogZm9yayBlcnJvciAqLworCisJCWlmIChtbnRfY29udGV4dF9pc19wYXJlbnQoY3h0KSkgeworCQkJcmV0dXJuIDA7CQkvKiBwYXJlbnQgKi8KKwkJfQorCX0KKworCS8qIGNoaWxkIG9yIG5vbi1mb3JrZWQgKi8KKworCXJjID0gbW50X2NvbnRleHRfc2V0X2ZzKGN4dCwgKmZzKTsKKwlpZiAoIXJjKSB7CisJCS8qCisJCSAqICItdCA8cGF0dGVybj4iIGlzIHVzZWQgdG8gZmlsdGVyIG91dCBmc3RhYiBlbnRyaWVzLCBidXQgZm9yIG9yZGluYXJ5CisJCSAqIG1vdW50IG9wZXJhdGlvbiAtdCBtZWFucyAiLXQgPHR5cGU+Ii4gV2UgaGF2ZSB0byB6ZXJvaXplIHRoZSBwYXR0ZXJuCisJCSAqIHRvIGF2b2lkIG1pc2ludGVycHJldGF0aW9uLgorCQkgKi8KKwkJcGF0dGVybiA9IGN4dC0+ZnN0eXBlX3BhdHRlcm47CisJCWN4dC0+ZnN0eXBlX3BhdHRlcm4gPSBOVUxMOworCisJCXJjID0gbW50X2NvbnRleHRfbW91bnQoY3h0KTsKKworCQljeHQtPmZzdHlwZV9wYXR0ZXJuID0gcGF0dGVybjsKKworCQlpZiAobW50cmMpCisJCQkqbW50cmMgPSByYzsKKwl9CisKKwlpZiAobW50X2NvbnRleHRfaXNfY2hpbGQoY3h0KSkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJuZXh0LW1vdW50OiBjaGlsZCBleGl0IFtyYz0lZF0iLCByYykpOworCQlEQkdfRkxVU0g7CisJCV9leGl0KHJjKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZXR1cm5zIDEgaWYgQGRpciBwYXJlbnQgaXMgc2hhcmVkCisgKi8KK3N0YXRpYyBpbnQgaXNfc2hhcmVkX3RyZWUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKmRpcikKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJdW5zaWduZWQgbG9uZyBtZmxhZ3MgPSAwOworCWNoYXIgKm1udCA9IE5VTEwsICpwOworCWludCByYyA9IDA7CisJc3RydWN0IGxpYm1udF9ucyAqbnNfb2xkOworCisJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCWlmICghbnNfb2xkKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJaWYgKCFkaXIpCisJCXJldHVybiAwOworCWlmIChtbnRfY29udGV4dF9nZXRfbXRhYihjeHQsICZ0YikgfHwgIXRiKQorCQlnb3RvIGRvbmU7CisKKwltbnQgPSBzdHJkdXAoZGlyKTsKKwlpZiAoIW1udCkKKwkJZ290byBkb25lOworCXAgPSBzdHJyY2hyKG1udCwgJy8nKTsKKwlpZiAoIXApCisJCWdvdG8gZG9uZTsKKwlpZiAocCA+IG1udCkKKwkJKnAgPSAnXDAnOworCWZzID0gbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludCh0YiwgbW50LCBNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwlyYyA9IGZzICYmIG1udF9mc19pc19rZXJuZWwoZnMpCisJCSYmIG1udF9mc19nZXRfcHJvcGFnYXRpb24oZnMsICZtZmxhZ3MpID09IDAKKwkJJiYgKG1mbGFncyAmIE1TX1NIQVJFRCk7Citkb25lOgorCWZyZWUobW50KTsKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisJcmV0dXJuIHJjOworfQorCitpbnQgbW50X2NvbnRleHRfZ2V0X21vdW50X2V4Y29kZSgKKwkJCXN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJaW50IHJjLAorCQkJY2hhciAqYnVmLAorCQkJc2l6ZV90IGJ1ZnN6KQoreworCWludCBzeXNlcnI7CisJc3RydWN0IHN0YXQgc3Q7CisJdW5zaWduZWQgbG9uZyB1ZmxhZ3MgPSAwLCBtZmxhZ3MgPSAwOworCisJaW50IHJlc3RyaWN0ZWQgPSBtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKGN4dCk7CisJY29uc3QgY2hhciAqdGd0ID0gbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpOworCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9jb250ZXh0X2dldF9zb3VyY2UoY3h0KTsKKworCWlmIChtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoY3h0KSkgeworCQkvKgorCQkgKiAvc2Jpbi9tb3VudC48dHlwZT4gY2FsbGVkLCByZXR1cm4gc3RhdHVzCisJCSAqLworCQlpZiAocmMgPT0gLU1OVF9FUlJfQVBQTFlGTEFHUyAmJiBidWYpCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiKSk7CisKKwkJcmV0dXJuIG1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzKGN4dCk7CisJfQorCisJaWYgKHJjID09IDAgJiYgbW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpID09IDEpIHsKKwkJLyoKKwkJICogTGlibW91bnQgc3VjY2VzcyAmJiBzeXNjYWxsIHN1Y2Nlc3MuCisJCSAqLworCQlpZiAoYnVmICYmIG1udF9jb250ZXh0X2ZvcmNlZF9yZG9ubHkoY3h0KSkKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IikpOworCQlyZXR1cm4gTU5UX0VYX1NVQ0NFU1M7CisJfQorCisJbW50X2NvbnRleHRfZ2V0X21mbGFncyhjeHQsICZtZmxhZ3MpOwkJLyogbW91bnQoMikgZmxhZ3MgKi8KKwltbnRfY29udGV4dF9nZXRfdXNlcl9tZmxhZ3MoY3h0LCAmdWZsYWdzKTsJLyogdXNlcnNwYWNlIGZsYWdzICovCisKKwlpZiAoIW1udF9jb250ZXh0X3N5c2NhbGxfY2FsbGVkKGN4dCkpIHsKKwkJLyoKKwkJICogbGlibW91bnQgZXJyb3JzIChleHRyYSBsaWJyYXJ5IGNoZWNrcykKKwkJICovCisJCXN3aXRjaCAocmMpIHsKKwkJY2FzZSAtRVBFUk06CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIpKTsKKwkJCXJldHVybiBNTlRfRVhfVVNBR0U7CisJCWNhc2UgLUVCVVNZOgorCQkJaWYgKGJ1ZikKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiKSwgc3JjKTsKKwkJCXJldHVybiBNTlRfRVhfVVNBR0U7CisJCWNhc2UgLU1OVF9FUlJfTk9GU1RBQjoKKwkJCWlmICghYnVmKQorCQkJCXJldHVybiBNTlRfRVhfVVNBR0U7CisJCQlpZiAobW50X2NvbnRleHRfaXNfc3dhcG1hdGNoKGN4dCkpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygiY2FuJ3QgZmluZCBpbiAlcyIpLAorCQkJCQkJbW50X2dldF9mc3RhYl9wYXRoKCkpOworCQkJZWxzZSBpZiAodGd0KQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiKSwKKwkJCQkJCW1udF9nZXRfZnN0YWJfcGF0aCgpKTsKKwkJCWVsc2UgaWYgKHNyYykKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIpLAorCQkJCQkJc3JjLCBtbnRfZ2V0X2ZzdGFiX3BhdGgoKSk7CisJCQlyZXR1cm4gTU5UX0VYX1VTQUdFOworCQljYXNlIC1NTlRfRVJSX0FNQklGUzoKKwkJCWlmIChidWYpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygibW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZCBvbiAlczsgdXNlIC10IDx0eXBlPiBvciB3aXBlZnMoOCkiKSwgc3JjKTsKKwkJCXJldHVybiBNTlRfRVhfVVNBR0U7CisJCWNhc2UgLU1OVF9FUlJfTk9GU1RZUEU6CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIHJlc3RyaWN0ZWQgPworCQkJCQkJXygiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiKSA6CisJCQkJCQlfKCJubyBmaWxlc3lzdGVtIHR5cGUgc3BlY2lmaWVkIikpOworCQkJcmV0dXJuIE1OVF9FWF9VU0FHRTsKKwkJY2FzZSAtTU5UX0VSUl9OT1NPVVJDRToKKwkJCWlmICh1ZmxhZ3MgJiBNTlRfTVNfTk9GQUlMKQorCQkJCXJldHVybiBNTlRfRVhfU1VDQ0VTUzsKKwkJCWlmIChidWYpIHsKKwkJCQlpZiAoc3JjKQorCQkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJjYW4ndCBmaW5kICVzIiksIHNyYyk7CisJCQkJZWxzZQorCQkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIikpOworCQkJfQorCQkJcmV0dXJuIE1OVF9FWF9VU0FHRTsKKwkJY2FzZSAtTU5UX0VSUl9NT1VOVE9QVDoKKwkJCWlmIChidWYpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgZXJybm8gPworCQkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIikgOgorCQkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiKSk7CisJCQlyZXR1cm4gTU5UX0VYX1VTQUdFOworCQljYXNlIC1NTlRfRVJSX0xPT1BERVY6CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSBmb3IgJXMiKSwgc3JjKTsKKwkJCXJldHVybiBNTlRfRVhfRkFJTDsKKwkJY2FzZSAtTU5UX0VSUl9MT09QT1ZFUkxBUDoKKwkJCWlmIChidWYpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIpLCBzcmMpOworCQkJcmV0dXJuIE1OVF9FWF9GQUlMOworCQljYXNlIC1NTlRfRVJSX0xPQ0s6CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImxvY2tpbmcgZmFpbGVkIikpOworCQkJcmV0dXJuIE1OVF9FWF9GSUxFSU87CisJCWNhc2UgLU1OVF9FUlJfTkFNRVNQQUNFOgorCQkJaWYgKGJ1ZikKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJmYWlsZWQgdG8gc3dpdGNoIG5hbWVzcGFjZSIpKTsKKwkJCXJldHVybiBNTlRfRVhfU1lTRVJSOworCQlkZWZhdWx0OgorCQkJcmV0dXJuIG1udF9jb250ZXh0X2dldF9nZW5lcmljX2V4Y29kZShyYywgYnVmLCBidWZzeiwgXygibW91bnQgZmFpbGVkOiAlbSIpKTsKKwkJfQorCisJfSBlbHNlIGlmIChtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpID09IDApIHsKKwkJLyoKKwkJICogbW91bnQoMikgc3lzY2FsbCBzdWNjZXNzLCBidXQgc29tZXRoaW5nIGVsc2UgZmFpbGVkCisJCSAqIChwcm9iYWJseSBlcnJvciBpbiBtdGFiIHByb2Nlc3NpbmcpLgorCQkgKi8KKwkJaWYgKHJjID09IC1NTlRfRVJSX0xPQ0spIHsKKwkJCWlmIChidWYpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIikpOworCQkJcmV0dXJuIE1OVF9FWF9GSUxFSU87CisJCX0gZWxzZSBpZiAocmMgPT0gLU1OVF9FUlJfTkFNRVNQQUNFKSB7CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gc3dpdGNoIG5hbWVzcGFjZSBiYWNrIikpOworCQkJcmV0dXJuIE1OVF9FWF9TWVNFUlI7CisKKwkJfSBlbHNlIGlmIChyYyA8IDApCisJCQlyZXR1cm4gbW50X2NvbnRleHRfZ2V0X2dlbmVyaWNfZXhjb2RlKHJjLCBidWYsIGJ1ZnN6LAorCQkJCV8oImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIpKTsKKworCQlyZXR1cm4gTU5UX0VYX1NPRlRXQVJFOwkvKiBpbnRlcm5hbCBlcnJvciAqLworCisJfQorCisJLyoKKwkgKiBtb3VudCgyKSBlcnJvcnMKKwkgKi8KKwlzeXNlcnIgPSBtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpOworCisKKwlzd2l0Y2goc3lzZXJyKSB7CisJY2FzZSBFUEVSTToKKwkJaWYgKCFidWYpCisJCQlicmVhazsKKwkJaWYgKGdldGV1aWQoKSA9PSAwKSB7CisJCQlpZiAoc3RhdCh0Z3QsICZzdCkgfHwgIVNfSVNESVIoc3Quc3RfbW9kZSkpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IikpOworCQkJZWxzZQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oInBlcm1pc3Npb24gZGVuaWVkIikpOworCQl9IGVsc2UKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIpKTsKKwkJYnJlYWs7CisKKwljYXNlIEVCVVNZOgorCXsKKwkJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisKKwkJaWYgKCFidWYpCisJCQlicmVhazsKKwkJaWYgKG1mbGFncyAmIE1TX1JFTU9VTlQpIHsKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIm1vdW50IHBvaW50IGlzIGJ1c3kiKSk7CisJCQlicmVhazsKKwkJfQorCQlpZiAoc3JjICYmIG1udF9jb250ZXh0X2dldF9tdGFiKGN4dCwgJnRiKSA9PSAwKSB7CisJCQlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCQkJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwkJCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCQkJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJCQljb25zdCBjaGFyICpzID0gbW50X2ZzX2dldF9zcmNwYXRoKGZzKSwKKwkJCQkJICAgKnQgPSBtbnRfZnNfZ2V0X3RhcmdldChmcyk7CisKKwkJCQlpZiAodCAmJiBzICYmIG1udF9mc19zdHJlcV9zcmNwYXRoKGZzLCBzcmMpKSB7CisJCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIpLCBzLCB0KTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCQl9CisJCWlmICghKmJ1ZikKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IiksIHNyYyk7CisJCWJyZWFrOworCX0KKwljYXNlIEVOT0VOVDoKKwkJaWYgKHRndCAmJiBsc3RhdCh0Z3QsICZzdCkpIHsKKwkJCWlmIChidWYpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiKSk7CisJCX0gZWxzZSBpZiAodGd0ICYmIHN0YXQodGd0LCAmc3QpKSB7CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIikpOworCQl9IGVsc2UgaWYgKHNyYyAmJiBzdGF0KHNyYywgJnN0KSkgeworCQkJaWYgKHVmbGFncyAmIE1OVF9NU19OT0ZBSUwpCisJCQkJcmV0dXJuIE1OVF9FWF9TVUNDRVNTOworCQkJaWYgKGJ1ZikKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIpLCBzcmMpOworCQl9IGVsc2UgaWYgKGJ1ZikgeworCQkJZXJybm8gPSBzeXNlcnI7CisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIikpOworCQl9CisJCWJyZWFrOworCisJY2FzZSBFTk9URElSOgorCQlpZiAoc3RhdCh0Z3QsICZzdCkgfHwgISBTX0lTRElSKHN0LnN0X21vZGUpKSB7CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIpKTsKKwkJfSBlbHNlIGlmIChzcmMgJiYgc3RhdChzcmMsICZzdCkgJiYgZXJybm8gPT0gRU5PVERJUikgeworCQkJaWYgKHVmbGFncyAmIE1OVF9NU19OT0ZBSUwpCisJCQkJcmV0dXJuIE1OVF9FWF9TVUNDRVNTOworCQkJaWYgKGJ1ZikKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAiCisJCQkJCSAiKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIpLCBzcmMpOworCQl9IGVsc2UgaWYgKGJ1ZikgeworCQkJZXJybm8gPSBzeXNlcnI7CisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIikpOworCQl9CisJCWJyZWFrOworCisJY2FzZSBFSU5WQUw6CisJCWlmICghYnVmKQorCQkJYnJlYWs7CisJCWlmIChtZmxhZ3MgJiBNU19SRU1PVU5UKQorCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIpKTsKKwkJZWxzZSBpZiAocmMgPT0gLU1OVF9FUlJfQVBQTFlGTEFHUykKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIikpOworCQllbHNlIGlmICgobWZsYWdzICYgTVNfTU9WRSkgJiYgaXNfc2hhcmVkX3RyZWUoY3h0LCBzcmMpKQorCQkJc25wcmludGYoYnVmLCBidWZzeiwKKwkJCQlfKCJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCAiCisJCQkJICAicmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiKSk7CisJCWVsc2UgaWYgKG1udF9mc19pc19uZXRmcyhtbnRfY29udGV4dF9nZXRfZnMoY3h0KSkpCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LAorCQkJCV8oImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgIgorCQkJCSAgInlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIikpOworCQllbHNlCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LAorCQkJCV8oIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCAiCisJCQkJICAibWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiKSwKKwkJCQlzcmMpOworCQlicmVhazsKKworCWNhc2UgRU1GSUxFOgorCQlpZiAoYnVmKQorCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygibW91bnQgdGFibGUgZnVsbCIpKTsKKwkJYnJlYWs7CisKKwljYXNlIEVJTzoKKwkJaWYgKGJ1ZikKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIpLCBzcmMpOworCQlicmVhazsKKworCWNhc2UgRU5PREVWOgorCQlpZiAoIWJ1ZikKKwkJCWJyZWFrOworCQlpZiAobW50X2NvbnRleHRfZ2V0X2ZzdHlwZShjeHQpKQorCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIpLAorCQkJCQltbnRfY29udGV4dF9nZXRfZnN0eXBlKGN4dCkpOworCQllbHNlCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIpKTsKKwkJYnJlYWs7CisKKwljYXNlIEVOT1RCTEs6CisJCWlmICh1ZmxhZ3MgJiBNTlRfTVNfTk9GQUlMKQorCQkJcmV0dXJuIE1OVF9FWF9TVUNDRVNTOworCQlpZiAoIWJ1ZikKKwkJCWJyZWFrOworCQlpZiAoc3JjICYmIHN0YXQoc3JjLCAmc3QpKQorCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iKSwgc3JjKTsKKwkJZWxzZSBpZiAoc3JjICYmIFNfSVNCTEsoc3Quc3RfbW9kZSkpCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LAorCQkJCV8oInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlOyAiCisJCQkJICAibWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiKSwgc3JjKTsKKwkJZWxzZSBpZiAoc3JjICYmIFNfSVNSRUcoc3Quc3RfbW9kZSkpCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIpLCBzcmMpOworCQllbHNlCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiKSwgc3JjKTsKKwkJYnJlYWs7CisKKwljYXNlIEVOWElPOgorCQlpZiAodWZsYWdzICYgTU5UX01TX05PRkFJTCkKKwkJCXJldHVybiBNTlRfRVhfU1VDQ0VTUzsKKwkJaWYgKGJ1ZikKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIpLCBzcmMpOworCQlicmVhazsKKworCWNhc2UgRUFDQ0VTOgorCWNhc2UgRVJPRlM6CisJCWlmICghYnVmKQorCQkJYnJlYWs7CisJCWlmIChtZmxhZ3MgJiBNU19SRE9OTFkpCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IiksIHNyYyk7CisJCWVsc2UgaWYgKG1udF9jb250ZXh0X2lzX3J3b25seV9tb3VudChjeHQpKQorCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIiksIHNyYyk7CisJCWVsc2UgaWYgKG1mbGFncyAmIE1TX1JFTU9VTlQpCisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiKSwgc3JjKTsKKwkJZWxzZSBpZiAobWZsYWdzICYgTVNfQklORCkKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImJpbmQgJXMgZmFpbGVkIiksIHNyYyk7CisJCWVsc2UgeworCQkJZXJybm8gPSBzeXNlcnI7CisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIikpOworCQl9CisJCWJyZWFrOworCisJY2FzZSBFTk9NRURJVU06CisJCWlmICh1ZmxhZ3MgJiBNTlRfTVNfTk9GQUlMKQorCQkJcmV0dXJuIE1OVF9FWF9TVUNDRVNTOworCQlpZiAoYnVmKQorCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygibm8gbWVkaXVtIGZvdW5kIG9uICVzIiksIHNyYyk7CisJCWJyZWFrOworCisJY2FzZSBFQkFETVNHOgorCQkvKiBCYWQgQ1JDIGZvciBjbGFzc2ljIGZpbGVzeXN0ZW1zIChlLmcuIGV4dE4gb3IgWEZTKSAqLworCQlpZiAoYnVmICYmIHNyYyAmJiBzdGF0KHNyYywgJnN0KSA9PSAwCisJCSAgICAmJiAoU19JU0JMSyhzdC5zdF9tb2RlKSB8fCBTX0lTUkVHKHN0LnN0X21vZGUpKSkgeworCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIpLCBzcmMpOworCQkJYnJlYWs7CisJCX0KKwkJLyogZmFsbHRocm91Z2ggKi8KKworCWRlZmF1bHQ6CisJCWlmIChidWYpIHsKKwkJCWVycm5vID0gc3lzZXJyOworCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIpKTsKKwkJfQorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gTU5UX0VYX0ZBSUw7Cit9CisKZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jIGIvbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjQ1ZmVmYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jCkBAIC0wLDAgKzEsMTIwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogY29udGV4dC11bW91bnQKKyAqIEB0aXRsZTogVW1vdW50IGNvbnRleHQKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogaGlnaC1sZXZlbCBBUEkgdG8gdW1vdW50IG9wZXJhdGlvbi4KKyAqLworCisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxzeXMvbW91bnQuaD4KKworI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImxvb3BkZXYuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgIm1vdW50UC5oIgorCisvKgorICogdW1vdW50MiBmbGFncworICovCisjaWZuZGVmIE1OVF9GT1JDRQorIyBkZWZpbmUgTU5UX0ZPUkNFICAgICAgICAweDAwMDAwMDAxCS8qIEF0dGVtcHQgdG8gZm9yY2libHkgdW1vdW50ICovCisjZW5kaWYKKworI2lmbmRlZiBNTlRfREVUQUNICisjIGRlZmluZSBNTlRfREVUQUNIICAgICAgIDB4MDAwMDAwMDIJLyogSnVzdCBkZXRhY2ggZnJvbSB0aGUgdHJlZSAqLworI2VuZGlmCisKKyNpZm5kZWYgVU1PVU5UX05PRk9MTE9XCisjIGRlZmluZSBVTU9VTlRfTk9GT0xMT1cgIDB4MDAwMDAwMDgJLyogRG9uJ3QgZm9sbG93IHN5bWxpbmsgb24gdW1vdW50ICovCisjZW5kaWYKKworI2lmbmRlZiBVTU9VTlRfVU5VU0VECisjIGRlZmluZSBVTU9VTlRfVU5VU0VEICAgIDB4ODAwMDAwMDAJLyogRmxhZyBndWFyYW50ZWVkIHRvIGJlIHVudXNlZCAqLworI2VuZGlmCisKKy8qKgorICogbW50X2NvbnRleHRfZmluZF91bW91bnRfZnM6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKiBAdGd0OiBtb3VudHBvaW50LCBkZXZpY2UsIC4uLgorICogQHBmczogcmV0dXJucyBwb2ludCB0byBmaWxlc3lzdGVtCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvciwgMSBpZiB0YXJnZXQgZmlsZXN5c3RlbSBub3QgZm91bmQKKyAqLworaW50IG1udF9jb250ZXh0X2ZpbmRfdW1vdW50X2ZzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJICAgICAgIGNvbnN0IGNoYXIgKnRndCwKKwkJCSAgICAgICBzdHJ1Y3QgbGlibW50X2ZzICoqcGZzKQoreworCWludCByYzsKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYiA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJY2hhciAqbG9vcGRldiA9IE5VTEw7CisKKwlpZiAocGZzKQorCQkqcGZzID0gTlVMTDsKKworCWlmICghY3h0IHx8ICF0Z3QgfHwgIXBmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQ6IGxvb2t1cCBGUyBmb3IgJyVzJyIsIHRndCkpOworCisJaWYgKCEqdGd0KQorCQlyZXR1cm4gMTsgLyogZW1wdHkgc3RyaW5nIGlzIG5vdCBhbiBlcnJvciAqLworCisJLyoKKwkgKiBUaGUgbW91bnQgdGFibGUgbWF5IGJlIGh1Z2UsIGFuZCBvbiBzeXN0ZW1zIHdpdGggdXRhYiB3ZSBoYXZlIHRvCisJICogbWVyZ2UgdXNlcnNwYWNlIG1vdW50IG9wdGlvbnMgaW50byAvcHJvYy9zZWxmL21vdW50aW5mby4gVGhpcyBhbGwgaXMKKwkgKiBleHBlbnNpdmUuIFRoZSB0YWIgZmlsdGVyIGFsbG93cyB0byBmaWx0ZXIgb3V0IGVudHJpZXMsIHRoZW4gYSBtb3VudAorCSAqIHRhYmxlIGFuZCB1dGFiIGFyZSB2ZXJ5IHRpbnkgZmlsZXMuCisJICoKKwkgKiBUaGUgZmlsdGVyIHVzZXMgbW50X2ZzX3N0cmVxX3t0YXJnZXQsc3JjcGF0aH0gZnVuY3Rpb24gd2hlcmUgYWxsCisJICogcGF0aHMgc2hvdWxkIGJlIGFic29sdXRlIGFuZCBjYW5vbmljYWxpemVkLiBUaGlzIGlzIGRvbmUgd2l0aGluCisJICogbW50X2NvbnRleHRfZ2V0X210YWJfZm9yX3RhcmdldCgpIHdoZXJlIExBQkVMLCBVVUlEIG9yIHN5bWxpbmtzIGFyZQorCSAqIGNhbm9uaWNhbGl6ZWQuIElmIC0tbm8tY2Fub25pY2FsaXplIGlzIGVuYWJsZWQgdGhhbiB0aGUgdGFyZ2V0IHBhdGgKKwkgKiBpcyBleHBlY3RlZCBhbHJlYWR5IGNhbm9uaWNhbC4KKwkgKgorCSAqIEFueXdheSBpdCdzIGJldHRlciB0byByZWFkIGh1Z2UgbW91bnQgdGFibGUgdGhhbiBjYW5vbmljYWxpemUgdGFyZ2V0CisJICogcGF0aHMuIEl0IG1lYW5zIHdlIHVzZSB0aGUgZmlsdGVyIG9ubHkgaWYgLS1uby1jYW5vbmljYWxpemUgZW5hYmxlZC4KKwkgKgorCSAqIEl0IGFsc28gbWVhbnMgdGhhdCB3ZSBoYXZlIHRvIHJlYWQgbW91bnQgdGFibGUgZnJvbSBrZXJuZWwKKwkgKiAobm9uLXdyaXRhYmxlIG10YWIpLgorCSAqLworCWlmIChtbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZShjeHQpICYmCisJICAgICFtbnRfY29udGV4dF9tdGFiX3dyaXRhYmxlKGN4dCkgJiYgKnRndCA9PSAnLycpCisJCXJjID0gbW50X2NvbnRleHRfZ2V0X210YWJfZm9yX3RhcmdldChjeHQsICZtdGFiLCB0Z3QpOworCWVsc2UKKwkJcmMgPSBtbnRfY29udGV4dF9nZXRfbXRhYihjeHQsICZtdGFiKTsKKworCWlmIChyYykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQ6IGZhaWxlZCB0byByZWFkIG10YWIiKSk7CisJCXJldHVybiByYzsKKwl9CisKKwlpZiAobW50X3RhYmxlX2dldF9uZW50cyhtdGFiKSA9PSAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogbXRhYiBlbXB0eSIpKTsKKwkJcmV0dXJuIDE7CisJfQorCisJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCWlmICghbnNfb2xkKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCit0cnlfbG9vcGRldjoKKwlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldChtdGFiLCB0Z3QsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoIWZzICYmIG1udF9jb250ZXh0X2lzX3N3YXBtYXRjaChjeHQpKSB7CisJCS8qCisJCSAqIE1heWJlIHRoZSBvcHRpb24gaXMgc291cmNlIHJhdGhlciB0aGFuIHRhcmdldCAoc29tZXRpbWVzCisJCSAqIHBlb3BsZSB1c2UgZS5nLiAidW1vdW50IC9kZXYvc2RhMSIpCisJCSAqLworCQlmcyA9IG1udF90YWJsZV9maW5kX3NvdXJjZShtdGFiLCB0Z3QsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKworCQlpZiAoZnMpIHsKKwkJCXN0cnVjdCBsaWJtbnRfZnMgKmZzMSA9IG1udF90YWJsZV9maW5kX3RhcmdldChtdGFiLAorCQkJCQkJCW1udF9mc19nZXRfdGFyZ2V0KGZzKSwKKwkJCQkJCQlNTlRfSVRFUl9CQUNLV0FSRCk7CisJCQlpZiAoIWZzMSkgeworCQkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm10YWIgaXMgYnJva2VuPyE/ISIpKTsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQkJZ290byBlcnI7CisJCQl9CisJCQlpZiAoZnMgIT0gZnMxKSB7CisJCQkJLyogU29tZXRoaW5nIHdhcyBzdGFja2VkIG92ZXIgYGZpbGUnIG9uIHRoZQorCQkJCSAqIHNhbWUgbW91bnQgcG9pbnQuICovCisJCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LAorCQkJCQkJInVtb3VudDogJXM6ICVzIGlzIG1vdW50ZWQgIgorCQkJCQkJIm92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiLAorCQkJCQkJdGd0LCBtbnRfZnNfZ2V0X3NvdXJjZShmczEpKSk7CisJCQkJcmMgPSAtRUlOVkFMOworCQkJCWdvdG8gZXJyOworCQkJfQorCQl9CisJfQorCisJaWYgKCFmcyAmJiAhbG9vcGRldiAmJiBtbnRfY29udGV4dF9pc19zd2FwbWF0Y2goY3h0KSkgeworCQkvKgorCQkgKiBNYXliZSB0aGUgb3B0aW9uIGlzIC9wYXRoL2ZpbGUuaW1nLCB0cnkgdG8gY29udmVydCB0byAvZGV2L2xvb3BOCisJCSAqLworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlpZiAobW50X3N0YXRfbW91bnRwb2ludCh0Z3QsICZzdCkgPT0gMCAmJiBTX0lTUkVHKHN0LnN0X21vZGUpKSB7CisJCQlpbnQgY291bnQ7CisJCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpOworCQkJY29uc3QgY2hhciAqYmYgPSBjYWNoZSA/IG1udF9yZXNvbHZlX3BhdGgodGd0LCBjYWNoZSkgOiB0Z3Q7CisKKwkJCWNvdW50ID0gbG9vcGRldl9jb3VudF9ieV9iYWNraW5nX2ZpbGUoYmYsICZsb29wZGV2KTsKKwkJCWlmIChjb3VudCA9PSAxKSB7CisJCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LAorCQkJCQkidW1vdW50OiAlcyAtLT4gJXMgKHJldHJ5KSIsIHRndCwgbG9vcGRldikpOworCQkJCXRndCA9IGxvb3BkZXY7CisJCQkJZ290byB0cnlfbG9vcGRldjsKKworCQkJfSBlbHNlIGlmIChjb3VudCA+IDEpCisJCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LAorCQkJCQkidW1vdW50OiB3YXJuaW5nOiAlcyBpcyBhc3NvY2lhdGVkICIKKwkJCQkJIndpdGggbW9yZSB0aGFuIG9uZSBsb29wZGV2IiwgdGd0KSk7CisJCX0KKwl9CisKKwlpZiAocGZzKQorCQkqcGZzID0gZnM7CisJZnJlZShsb29wZGV2KTsKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQgZnM6ICVzIiwgZnMgPyBtbnRfZnNfZ2V0X3RhcmdldChmcykgOgorCQkJCQkJCSI8bm90IGZvdW5kPiIpKTsKKwlyZXR1cm4gZnMgPyAwIDogMTsKK2VycjoKKwlmcmVlKGxvb3BkZXYpOworCWlmICghbW50X2NvbnRleHRfc3dpdGNoX25zKGN4dCwgbnNfb2xkKSkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qIENoZWNrIGlmIHRoZXJlIGlzIHNvbWV0aGluZyBpbXBvcnRhbnQgaW4gdGhlIHV0YWIgZmlsZS4gVGhlIHBhcnNlZCB1dGFiIGlzCisgKiBzdG9yZWQgaW4gY29udGV4dC0+dXRhYiBhbmQgZGVhbGxvY2F0ZWQgYnkgbW50X2ZyZWVfY29udGV4dCgpLgorICoKKyAqIFRoaXMgZnVuY3Rpb24gZXhpc3RzIHRvIGF2b2lkIChpZiBwb3NzaWJsZSkgL3Byb2Mvc2VsZi9tb3VudGluZm8gdXNhZ2UsIHNvCisgKiBkb24ndCB1c2UgdGhpbmdzIGxpa2UgbW50X3Jlc29sdmVfdGFyZ2V0KCksIG1udF9jb250ZXh0X2dldF9tdGFiKCkgZXRjIGhlcmUuCisgKiBTZWUgbG9va3VwX3Vtb3VudF9mcygpIGZvciBtb3JlIGRldGFpbHMuCisgKi8KK3N0YXRpYyBpbnQgaGFzX3V0YWJfZW50cnkoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnRhcmdldCkKK3sKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwljaGFyICpjbiA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWFzc2VydChjeHQpOworCisJaWYgKCFjeHQtPnV0YWIpIHsKKwkJY29uc3QgY2hhciAqcGF0aCA9IG1udF9nZXRfdXRhYl9wYXRoKCk7CisKKwkJaWYgKCFwYXRoIHx8IGlzX2ZpbGVfZW1wdHkocGF0aCkpCisJCQlyZXR1cm4gMDsKKwkJY3h0LT51dGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIWN4dC0+dXRhYikKKwkJCXJldHVybiAwOworCQljeHQtPnV0YWItPmZtdCA9IE1OVF9GTVRfVVRBQjsKKwkJaWYgKG1udF90YWJsZV9wYXJzZV9maWxlKGN4dC0+dXRhYiwgcGF0aCkpCisJCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBwYXRocyBpbiB1dGFiIGFyZSBjYW5vbmljYWxpemVkICovCisJY2FjaGUgPSBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KTsKKwljbiA9IG1udF9yZXNvbHZlX3BhdGgodGFyZ2V0LCBjYWNoZSk7CisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfQkFDS1dBUkQpOworCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKGN4dC0+dXRhYiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCWlmIChtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCBjbikpIHsKKwkJCXJjID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKCFjYWNoZSkKKwkJZnJlZShjbik7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qIHRoaXMgaXMgdW1vdW50IHJlcGxhY2VtZW50IHRvIG1udF9jb250ZXh0X2FwcGx5X2ZzdGFiKCksIHVzZQorICogbW50X2NvbnRleHRfdGFiX2FwcGxpZWQoKSB0byBjaGVjayByZXN1bHQuCisgKi8KK3N0YXRpYyBpbnQgbG9va3VwX3Vtb3VudF9mcyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwljb25zdCBjaGFyICp0Z3Q7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCWludCByYyA9IDA7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisKKwl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKTsKKwlpZiAoIXRndCkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQ6IHVuZGVmaW5lZCB0YXJnZXQiKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCS8qCisJICogTGV0J3MgdHJ5IHRvIGF2b2lkIG1vdW50aW5mbyB1c2FnZSBhdCBhbGwgdG8gbWluaW1pemUgcGVyZm9ybWFuY2UKKwkgKiBkZWdyYWRhdGlvbi4gRG9uJ3QgZm9yZ2V0IHRoYXQga2VybmVsIGhhcyB0byBjb21wb3NlICp3aG9sZSoKKwkgKiBtb3VudGluZm8gYWJvdXQgYWxsIG1vdW50cG9pbnRzIGFsdGhvdWdoIHdlIGxvb2sgZm9yIG9ubHkgb25lIGVudHJ5LgorCSAqCisJICogQWxsIHdlIG5lZWQgaXMgZnN0eXBlIGFuZCB0byBjaGVjayBpZiB0aGVyZSBpcyBubyB1c2Vyc3BhY2UgbW91bnQKKwkgKiBvcHRpb25zIGZvciB0aGUgdGFyZ2V0IChlLmcuIGhlbHBlcj11ZGlza3MgdG8gY2FsbCAvc2Jpbi91bW91bnQudWRpc2tzKS4KKwkgKgorCSAqIFNvLCBsZXQncyB1c2Ugc3RhdGZzKCkgaWYgcG9zc2libGUgKGl0J3MgYmFkIGlkZWEgZm9yIC0tbGF6eS8tLWZvcmNlCisJICogdW1vdW50cyBhcyB0YXJnZXQgaXMgcHJvYmFibHkgdW5yZWFjaGFibGUgTkZTLCBhbHNvIGZvciAtLWRldGFjaC1sb29wCisJICogYXMgdGhpcyBhZGRpdGlvbmFsbHkgbmVlZHMgdG8ga25vdyB0aGUgbmFtZSBvZiB0aGUgbG9vcCBkZXZpY2UpLgorCSAqLworCWlmICghbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpCisJICAgICYmICp0Z3QgPT0gJy8nCisJICAgICYmICEoY3h0LT5mbGFncyAmIE1OVF9GTF9IRUxQRVIpCisJICAgICYmICFtbnRfY29udGV4dF9tdGFiX3dyaXRhYmxlKGN4dCkKKwkgICAgJiYgIW1udF9jb250ZXh0X2lzX2ZvcmNlKGN4dCkKKwkgICAgJiYgIW1udF9jb250ZXh0X2lzX2xhenkoY3h0KQorCSAgICAmJiAhbW50X2NvbnRleHRfaXNfbm9jYW5vbmljYWxpemUoY3h0KQorCSAgICAmJiAhbW50X2NvbnRleHRfaXNfbG9vcGRlbChjeHQpCisJICAgICYmIG1udF9zdGF0X21vdW50cG9pbnQodGd0LCAmc3QpID09IDAgJiYgU19JU0RJUihzdC5zdF9tb2RlKQorCSAgICAmJiAhaGFzX3V0YWJfZW50cnkoY3h0LCB0Z3QpKSB7CisKKwkJY29uc3QgY2hhciAqdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGN4dC0+ZnMpOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogZGlzYWJsZSBtdGFiIikpOworCisJCS8qICFtbnRfY29udGV4dF9tdGFiX3dyaXRhYmxlKGN4dCkgJiYgaGFzX3V0YWJfZW50cnkoKSB2ZXJpZmllZCB0aGF0IHRoZXJlCisJCSAqIGlzIG5vIHN0dWZmIGluIHV0YWIsIHNvIGRpc2FibGUgYWxsIG10YWIvdXRhYiByZWxhdGVkIGFjdGlvbnMgKi8KKwkJbW50X2NvbnRleHRfZGlzYWJsZV9tdGFiKGN4dCwgVFJVRSk7CisKKwkJaWYgKCF0eXBlKSB7CisJCQlzdHJ1Y3Qgc3RhdGZzIHZmczsKKworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiB0cnlpbmcgc3RhdGZzKCkiKSk7CisJCQlpZiAoc3RhdGZzKHRndCwgJnZmcykgPT0gMCkKKwkJCQl0eXBlID0gbW50X3N0YXRmc19nZXRfZnN0eXBlKCZ2ZnMpOworCQkJaWYgKHR5cGUpIHsKKwkJCQlyYyA9IG1udF9mc19zZXRfZnN0eXBlKGN4dC0+ZnMsIHR5cGUpOworCQkJCWlmIChyYykKKwkJCQkJcmV0dXJuIHJjOworCQkJfQorCQl9CisJCWlmICh0eXBlKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkJInVtb3VudDogbW91bnRpbmZvIHVubmVjZXNzYXJ5IFt0eXBlPSVzXSIsIHR5cGUpKTsKKwkJCXJldHVybiAwOworCQl9CisJfQorCisJcmMgPSBtbnRfY29udGV4dF9maW5kX3Vtb3VudF9mcyhjeHQsIHRndCwgJmZzKTsKKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gcmM7CisKKwlpZiAocmMgPT0gMSB8fCAhZnMpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiBjYW5ub3QgZmluZCAnJXMnIGluIG10YWIiLCB0Z3QpKTsKKwkJcmV0dXJuIDA7CS8qIHRoaXMgaXMgY29ycmVjdCEgKi8KKwl9CisKKwlpZiAoZnMgIT0gY3h0LT5mcykgeworCQkvKiBjb3B5IGZyb20gbXRhYiB0byBvdXIgRlMgZGVzY3JpcHRpb24KKwkJICovCisJCW1udF9mc19zZXRfc291cmNlKGN4dC0+ZnMsIE5VTEwpOworCQltbnRfZnNfc2V0X3RhcmdldChjeHQtPmZzLCBOVUxMKTsKKworCQlpZiAoIW1udF9jb3B5X2ZzKGN4dC0+ZnMsIGZzKSkgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiBmYWlsZWQgdG8gY29weSBGUyIpKTsKKwkJCXJldHVybiAtZXJybm87CisJCX0KKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50OiBtdGFiIGFwcGxpZWQiKSk7CisJfQorCisJY3h0LT5mbGFncyB8PSBNTlRfRkxfVEFCX0FQUExJRUQ7CisJcmV0dXJuIHJjOworfQorCisvKiBjaGVjayBpZiBAZGV2bmFtZSBpcyBsb29wZGV2IGFuZCBpZiB0aGUgZGV2aWNlIGlzIGFzc29jaWF0ZWQKKyAqIHdpdGggYSBzb3VyY2UgZnJvbSBAZnN0YWJfZnMKKyAqLworc3RhdGljIGludCBpc19hc3NvY2lhdGVkX2ZzKGNvbnN0IGNoYXIgKmRldm5hbWUsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXVpbnRtYXhfdCBvZmZzZXQgPSAwOworCWNvbnN0IGNoYXIgKnNyYywgKm9wdHN0cjsKKwljaGFyICp2YWw7CisJc2l6ZV90IHZhbHN6OworCWludCBmbGFncyA9IDA7CisKKwkvKiBjaGVjayBpZiBpdCBiZWdpbnMgd2l0aCAvZGV2L2xvb3AgKi8KKwlpZiAoc3RybmNtcChkZXZuYW1lLCBfUEFUSF9ERVZfTE9PUCwgc2l6ZW9mKF9QQVRIX0RFVl9MT09QKSAtIDEpKQorCQlyZXR1cm4gMDsKKworCXNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChmcyk7CisJaWYgKCFzcmMpCisJCXJldHVybiAwOworCisJLyogY2hlY2sgZm9yIHRoZSBvZmZzZXQgb3B0aW9uIGluIEBmcyAqLworCW9wdHN0ciA9IG1udF9mc19nZXRfdXNlcl9vcHRpb25zKGZzKTsKKworCWlmIChvcHRzdHIgJiYKKwkgICAgbW50X29wdHN0cl9nZXRfb3B0aW9uKG9wdHN0ciwgIm9mZnNldCIsICZ2YWwsICZ2YWxzeikgPT0gMCkgeworCQlmbGFncyB8PSBMT09QREVWX0ZMX09GRlNFVDsKKworCQlpZiAobW50X3BhcnNlX29mZnNldCh2YWwsIHZhbHN6LCAmb2Zmc2V0KSAhPSAwKQorCQkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIGxvb3BkZXZfaXNfdXNlZChkZXZuYW1lLCBzcmMsIG9mZnNldCwgMCwgZmxhZ3MpOworfQorCitzdGF0aWMgaW50IHByZXBhcmVfaGVscGVyX2Zyb21fb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKwljaGFyICpzdWZmaXggPSBOVUxMOworCWNvbnN0IGNoYXIgKm9wdHM7CisJc2l6ZV90IHZhbHN6OworCWludCByYzsKKworCWlmIChtbnRfY29udGV4dF9pc19ub2hlbHBlcnMoY3h0KSkKKwkJcmV0dXJuIDA7CisKKwlvcHRzID0gbW50X2ZzX2dldF91c2VyX29wdGlvbnMoY3h0LT5mcyk7CisJaWYgKCFvcHRzKQorCQlyZXR1cm4gMDsKKworCWlmIChtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0cywgbmFtZSwgJnN1ZmZpeCwgJnZhbHN6KSkKKwkJcmV0dXJuIDA7CisKKwlzdWZmaXggPSBzdHJuZHVwKHN1ZmZpeCwgdmFsc3opOworCWlmICghc3VmZml4KQorCQlyZXR1cm4gLUVOT01FTTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogdW1vdW50LiVzICVzIHJlcXVlc3RlZCIsIHN1ZmZpeCwgbmFtZSkpOworCisJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX2hlbHBlcihjeHQsICJ1bW91bnQiLCBzdWZmaXgpOworCWZyZWUoc3VmZml4KTsKKworCXJldHVybiByYzsKK30KKworLyoKKyAqIE5vdGUgdGhhdCBjeHQtPmZzIGNvbnRhaW5zIHJlbGV2YW50IG10YWIgZW50cnkhCisgKi8KK3N0YXRpYyBpbnQgZXZhbHVhdGVfcGVybWlzc2lvbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqZnN0YWI7CisJdW5zaWduZWQgbG9uZyB1X2ZsYWdzID0gMDsKKwljb25zdCBjaGFyICp0Z3QsICpzcmMsICpvcHRzdHI7CisJaW50IHJjLCBvayA9IDA7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlpZiAoIW1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSkKKwkJIHJldHVybiAwOwkJLyogc3VwZXJ1c2VyIG1vdW50ICovCisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQ6IGV2YWx1YXRpbmcgcGVybWlzc2lvbnMiKSk7CisKKwlpZiAoIW1udF9jb250ZXh0X3RhYl9hcHBsaWVkKGN4dCkpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LAorCQkJCSJjYW5ub3QgZmluZCAlcyBpbiBtdGFiIGFuZCB5b3UgYXJlIG5vdCByb290IiwKKwkJCQltbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKSkpOworCQlnb3RvIGVwZXJtOworCX0KKworCWlmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19VSEVMUEVSKSB7CisJCS8qIG9uIHVoZWxwZXI9IG1vdW50IG9wdGlvbiBiYXNlZCBoZWxwZXIgKi8KKwkJcmMgPSBwcmVwYXJlX2hlbHBlcl9mcm9tX29wdGlvbnMoY3h0LCAidWhlbHBlciIpOworCQlpZiAocmMpCisJCQlyZXR1cm4gcmM7CisJCWlmIChjeHQtPmhlbHBlcikKKwkJCXJldHVybiAwOwkvKiB3ZSdsbCBjYWxsIC9zYmluL3Vtb3VudC48dWhlbHBlcj4gKi8KKwl9CisKKwkvKgorCSAqIFVzZXIgbW91bnRzIGhhdmUgdG8gYmUgaW4gL2V0Yy9mc3RhYgorCSAqLworCXJjID0gbW50X2NvbnRleHRfZ2V0X2ZzdGFiKGN4dCwgJmZzdGFiKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCXRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpOworCXNyYyA9IG1udF9mc19nZXRfc291cmNlKGN4dC0+ZnMpOworCisJaWYgKG1udF9mc19nZXRfYmluZHNyYyhjeHQtPmZzKSkgeworCQlzcmMgPSBtbnRfZnNfZ2V0X2JpbmRzcmMoY3h0LT5mcyk7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkidW1vdW50OiB1c2luZyBiaW5kIHNvdXJjZTogJXMiLCBzcmMpKTsKKwl9CisKKwkvKiBJZiBmc3RhYiBjb250YWlucyB0aGUgdHdvIGxpbmVzCisJICoJL2Rldi9zZGExIC9tbnQvemlwIGF1dG8gdXNlcixub2F1dG8gIDAgMAorCSAqCS9kZXYvc2RhNCAvbW50L3ppcCBhdXRvIHVzZXIsbm9hdXRvICAwIDAKKwkgKiB0aGVuICJtb3VudCAvZGV2L3NkYTQiIGZvbGxvd2VkIGJ5ICJ1bW91bnQgL21udC96aXAiIHVzZWQgdG8gZmFpbC4KKwkgKiBTbywgd2UgbXVzdCBub3QgbG9vayBmb3IgdGhlIGZpbGUsIGJ1dCBmb3IgdGhlIHBhaXIgKGRldixmaWxlKSBpbiBmc3RhYi4KKwkgICovCisJZnMgPSBtbnRfdGFibGVfZmluZF9wYWlyKGZzdGFiLCBzcmMsIHRndCwgTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFmcykgeworCQkvKgorCQkgKiBJdCdzIHBvc3NpYmxlIHRoYXQgdGhlcmUgaXMgL3BhdGgvZmlsZS5pbWcgaW4gZnN0YWIgYW5kCisJCSAqIC9kZXYvbG9vcDAgaW4gbXRhYiAtLSB0aGVuIHdlIGhhdmUgdG8gY2hlY2sgdGhlIHJlbGF0aW9uCisJCSAqIGJldHdlZW4gbG9vcGRldiBhbmQgdGhlIGZpbGUuCisJCSAqLworCQlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldChmc3RhYiwgdGd0LCBNTlRfSVRFUl9GT1JXQVJEKTsKKwkJaWYgKGZzKSB7CisJCQlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSA9IG1udF9jb250ZXh0X2dldF9jYWNoZShjeHQpOworCQkJY29uc3QgY2hhciAqc3AgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7CQkvKiBkZXZuYW1lIGZyb20gbXRhYiAqLworCQkJY29uc3QgY2hhciAqZGV2ID0gc3AgJiYgY2FjaGUgPyBtbnRfcmVzb2x2ZV9wYXRoKHNwLCBjYWNoZSkgOiBzcDsKKworCQkJaWYgKCFkZXYgfHwgIWlzX2Fzc29jaWF0ZWRfZnMoZGV2LCBmcykpCisJCQkJZnMgPSBOVUxMOworCQl9CisJCWlmICghZnMpIHsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkJInVtb3VudCAlczogbXRhYiBkaXNhZ3JlZXMgd2l0aCBmc3RhYiIsCisJCQkJCXRndCkpOworCQkJZ290byBlcGVybTsKKwkJfQorCX0KKworCS8qCisJICogVXNlciBtb3VudGluZyBhbmQgdW5tb3VudGluZyBpcyBhbGxvd2VkIG9ubHkgaWYgZnN0YWIgY29udGFpbnMgb25lCisJICogb2YgdGhlIG9wdGlvbnMgYHVzZXInLCBgdXNlcnMnIG9yIGBvd25lcicgb3IgYGdyb3VwJy4KKwkgKgorCSAqIFRoZSBvcHRpb24gYHVzZXJzJyBhbGxvd3MgYXJiaXRyYXJ5IHVzZXJzIHRvIG1vdW50IGFuZCB1bm1vdW50IC0KKwkgKiB0aGlzIG1heSBiZSBhIHNlY3VyaXR5IHJpc2suCisJICoKKwkgKiBUaGUgb3B0aW9ucyBgdXNlcicsIGBvd25lcicgYW5kIGBncm91cCcgb25seSBhbGxvdyB1bm1vdW50aW5nIGJ5IHRoZQorCSAqIHVzZXIgdGhhdCBtb3VudGVkICh2aXNpYmxlIGluIG10YWIpLgorCSAqLworCW9wdHN0ciA9IG1udF9mc19nZXRfdXNlcl9vcHRpb25zKGZzKTsJLyogRlNUQUIgbW91bnQgb3B0aW9ucyEgKi8KKwlpZiAoIW9wdHN0cikKKwkJZ290byBlcGVybTsKKworCWlmIChtbnRfb3B0c3RyX2dldF9mbGFncyhvcHRzdHIsICZ1X2ZsYWdzLAorCQkJCW1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApKSkKKwkJZ290byBlcGVybTsKKworCWlmICh1X2ZsYWdzICYgTU5UX01TX1VTRVJTKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCSJ1bW91bnQ6IHByb21pc2N1b3VzIHNldHRpbmcgKCd1c2VycycpIGluIGZzdGFiIikpOworCQlyZXR1cm4gMDsKKwl9CisJLyoKKwkgKiBDaGVjayB1c2VyPTx1c2VybmFtZT4gc2V0dGluZyBmcm9tIG10YWIgaWYgdGhlcmUgaXMgYSB1c2VyLCBvd25lciBvcgorCSAqIGdyb3VwIG9wdGlvbiBpbiAvZXRjL2ZzdGFiCisJICovCisJaWYgKHVfZmxhZ3MgJiAoTU5UX01TX1VTRVIgfCBNTlRfTVNfT1dORVIgfCBNTlRfTVNfR1JPVVApKSB7CisKKwkJY2hhciAqY3Vycl91c2VyOworCQljaGFyICptdGFiX3VzZXIgPSBOVUxMOworCQlzaXplX3Qgc3o7CisJCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZDsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkJInVtb3VudDogY2hlY2tpbmcgdXNlcj08dXNlcm5hbWU+IGZyb20gbXRhYiIpKTsKKworCQluc19vbGQgPSBtbnRfY29udGV4dF9zd2l0Y2hfb3JpZ2luX25zKGN4dCk7CisJCWlmICghbnNfb2xkKQorCQkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCQljdXJyX3VzZXIgPSBtbnRfZ2V0X3VzZXJuYW1lKGdldHVpZCgpKTsKKworCQlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJCWlmICghY3Vycl91c2VyKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQgJXM6IGNhbm5vdCAiCisJCQkJImNvbnZlcnQgJWQgdG8gdXNlcm5hbWUiLCB0Z3QsIGdldHVpZCgpKSk7CisJCQlnb3RvIGVwZXJtOworCQl9CisKKwkJLyogZ2V0IG9wdGlvbnMgZnJvbSBtdGFiICovCisJCW9wdHN0ciA9IG1udF9mc19nZXRfdXNlcl9vcHRpb25zKGN4dC0+ZnMpOworCQlpZiAob3B0c3RyICYmICFtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0c3RyLAorCQkJCQkidXNlciIsICZtdGFiX3VzZXIsICZzeikgJiYgc3opCisJCQlvayA9ICFzdHJuY21wKGN1cnJfdXNlciwgbXRhYl91c2VyLCBzeik7CisKKwkJZnJlZShjdXJyX3VzZXIpOworCX0KKworCWlmIChvaykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQgJXMgaXMgYWxsb3dlZCIsIHRndCkpOworCQlyZXR1cm4gMDsKKwl9CitlcGVybToKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQgaXMgbm90IGFsbG93ZWQgZm9yIHlvdSIpKTsKKwlyZXR1cm4gLUVQRVJNOworfQorCitzdGF0aWMgaW50IGV4ZWNfaGVscGVyKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNoYXIgKm5hbWVzcGFjZSA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9ucyAqbnNfdGd0ID0gbW50X2NvbnRleHRfZ2V0X3RhcmdldF9ucyhjeHQpOworCWludCByYzsKKwlwaWRfdCBwaWQ7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KGN4dC0+aGVscGVyKTsKKwlhc3NlcnQoKGN4dC0+ZmxhZ3MgJiBNTlRfRkxfTU9VTlRGTEFHU19NRVJHRUQpKTsKKwlhc3NlcnQoY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPT0gMSk7CisKKwlpZiAobW50X2NvbnRleHRfaXNfZmFrZShjeHQpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImZha2UgbW9kZTogZG9lcyBub3QgZXhlY3V0ZSBoZWxwZXIiKSk7CisJCWN4dC0+aGVscGVyX2V4ZWNfc3RhdHVzID0gcmMgPSAwOworCQlyZXR1cm4gcmM7CisJfQorCisJaWYgKG5zX3RndC0+ZmQgIT0gLTEKKwkgICAgJiYgYXNwcmludGYoJm5hbWVzcGFjZSwgIi9wcm9jLyVpL2ZkLyVpIiwKKwkJCWdldHBpZCgpLCBuc190Z3QtPmZkKSA9PSAtMSkgeworCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlEQkdfRkxVU0g7CisKKwlwaWQgPSBmb3JrKCk7CisJc3dpdGNoIChwaWQpIHsKKwljYXNlIDA6CisJeworCQljb25zdCBjaGFyICphcmdzWzEyXSwgKnR5cGU7CisJCWludCBpID0gMDsKKworCQlpZiAoc2V0Z2lkKGdldGdpZCgpKSA8IDApCisJCQlfZXhpdChFWElUX0ZBSUxVUkUpOworCisJCWlmIChzZXR1aWQoZ2V0dWlkKCkpIDwgMCkKKwkJCV9leGl0KEVYSVRfRkFJTFVSRSk7CisKKwkJaWYgKCFtbnRfY29udGV4dF9zd2l0Y2hfb3JpZ2luX25zKGN4dCkpCisJCQlfZXhpdChFWElUX0ZBSUxVUkUpOworCisJCXR5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShjeHQtPmZzKTsKKworCQlhcmdzW2krK10gPSBjeHQtPmhlbHBlcjsJCQkvKiAxICovCisJCWFyZ3NbaSsrXSA9IG1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpOwkJLyogMiAqLworCisJCWlmIChtbnRfY29udGV4dF9pc19ub210YWIoY3h0KSkKKwkJCWFyZ3NbaSsrXSA9ICItbiI7CQkJLyogMyAqLworCQlpZiAobW50X2NvbnRleHRfaXNfbGF6eShjeHQpKQorCQkJYXJnc1tpKytdID0gIi1sIjsJCQkvKiA0ICovCisJCWlmIChtbnRfY29udGV4dF9pc19mb3JjZShjeHQpKQorCQkJYXJnc1tpKytdID0gIi1mIjsJCQkvKiA1ICovCisJCWlmIChtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCQlhcmdzW2krK10gPSAiLXYiOwkJCS8qIDYgKi8KKwkJaWYgKG1udF9jb250ZXh0X2lzX3Jkb25seV91bW91bnQoY3h0KSkKKwkJCWFyZ3NbaSsrXSA9ICItciI7CQkJLyogNyAqLworCQlpZiAodHlwZQorCQkgICAgJiYgc3RyY2hyKHR5cGUsICcuJykKKwkJICAgICYmICFlbmRzd2l0aChjeHQtPmhlbHBlciwgdHlwZSkpIHsKKwkJCWFyZ3NbaSsrXSA9ICItdCI7CQkJLyogOCAqLworCQkJYXJnc1tpKytdID0gdHlwZTsJCQkvKiA5ICovCisJCX0KKwkJaWYgKG5hbWVzcGFjZSkgeworCQkJYXJnc1tpKytdID0gIi1OIjsJCQkvKiAxMCAqLworCQkJYXJnc1tpKytdID0gbmFtZXNwYWNlOwkJCS8qIDExICovCisJCX0KKworCQlhcmdzW2ldID0gTlVMTDsJCQkJCS8qIDEyICovCisJCWZvciAoaSA9IDA7IGFyZ3NbaV07IGkrKykKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgImFyZ3ZbJWRdID0gXCIlc1wiIiwKKwkJCQkJCQlpLCBhcmdzW2ldKSk7CisJCURCR19GTFVTSDsKKwkJZXhlY3YoY3h0LT5oZWxwZXIsIChjaGFyICogY29uc3QgKikgYXJncyk7CisJCV9leGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCWRlZmF1bHQ6CisJeworCQlpbnQgc3Q7CisKKwkJaWYgKHdhaXRwaWQocGlkLCAmc3QsIDApID09IChwaWRfdCkgLTEpIHsKKwkJCWN4dC0+aGVscGVyX3N0YXR1cyA9IC0xOworCQkJcmMgPSAtZXJybm87CisJCX0gZWxzZSB7CisJCQljeHQtPmhlbHBlcl9zdGF0dXMgPSBXSUZFWElURUQoc3QpID8gV0VYSVRTVEFUVVMoc3QpIDogLTE7CisJCQljeHQtPmhlbHBlcl9leGVjX3N0YXR1cyA9IHJjID0gMDsKKwkJfQorCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlcyBleGVjdXRlZCBbc3RhdHVzPSVkLCByYz0lZCVzXSIsCisJCQkJY3h0LT5oZWxwZXIsCisJCQkJY3h0LT5oZWxwZXJfc3RhdHVzLCByYywKKwkJCQlyYyA/ICIgd2FpdHBpZCBmYWlsZWQiIDogIiIpKTsKKwkJYnJlYWs7CisJfQorCisJY2FzZSAtMToKKwkJY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPSByYyA9IC1lcnJubzsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZm9yaygpIGZhaWxlZCIpKTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKgorICogbW50X2NvbnRleHRfaGVscGVyX3NldG9wdCgpIGJhY2tlbmQuCisgKgorICogVGhpcyBmdW5jdGlvbiBhcHBsaWVzIHVtb3VudC50eXBlIGNvbW1hbmQgbGluZSBvcHRpb24gKGZvciBleGFtcGxlIHBhcnNlZAorICogYnkgZ2V0b3B0KCkgb3IgZ2V0b3B0X2xvbmcoKSkgdG8gQGN4dC4gQWxsIHVua25vd24gb3B0aW9ucyBhcmUgaWdub3JlZCBhbmQKKyAqIHRoZW4gMSBpcyByZXR1cm5lZC4KKyAqCisgKiBSZXR1cm5zOiBuZWdhdGl2ZSBudW1iZXIgb24gZXJyb3IsIDEgaWYgQGMgaXMgdW5rbm93biBvcHRpb24sIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IG1udF9jb250ZXh0X3Vtb3VudF9zZXRvcHQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBjLCBjaGFyICphcmcpCit7CisJaW50IHJjID0gLUVJTlZBTDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmFjdGlvbiA9PSBNTlRfQUNUX1VNT1VOVCk7CisKKwlzd2l0Y2goYykgeworCWNhc2UgJ24nOgorCQlyYyA9IG1udF9jb250ZXh0X2Rpc2FibGVfbXRhYihjeHQsIFRSVUUpOworCQlicmVhazsKKwljYXNlICdsJzoKKwkJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfbGF6eShjeHQsIFRSVUUpOworCQlicmVhazsKKwljYXNlICdmJzoKKwkJcmMgPSBtbnRfY29udGV4dF9lbmFibGVfZm9yY2UoY3h0LCBUUlVFKTsKKwkJYnJlYWs7CisJY2FzZSAndic6CisJCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX3ZlcmJvc2UoY3h0LCBUUlVFKTsKKwkJYnJlYWs7CisJY2FzZSAncic6CisJCXJjID0gbW50X2NvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnQoY3h0LCBUUlVFKTsKKwkJYnJlYWs7CisJY2FzZSAndCc6CisJCWlmIChhcmcpCisJCQlyYyA9IG1udF9jb250ZXh0X3NldF9mc3R5cGUoY3h0LCBhcmcpOworCQlicmVhazsKKwljYXNlICdOJzoKKwkJaWYgKGFyZykKKwkJCXJjID0gbW50X2NvbnRleHRfc2V0X3RhcmdldF9ucyhjeHQsIGFyZyk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldHVybiAxOworCX0KKworCXJldHVybiByYzsKK30KKworLyogQ2hlY2sgd2hldGhlciB0aGUga2VybmVsIHN1cHBvcnRzIHRoZSBVTU9VTlRfTk9GT0xMT1cgZmxhZyAqLworc3RhdGljIGludCB1bW91bnRfbm9mb2xsb3dfc3VwcG9ydCh2b2lkKQoreworCWludCByZXMgPSB1bW91bnQyKCIiLCBVTU9VTlRfVU5VU0VEKTsKKwlpZiAocmVzICE9IC0xIHx8IGVycm5vICE9IEVJTlZBTCkKKwkJcmV0dXJuIDA7CisKKwlyZXMgPSB1bW91bnQyKCIiLCBVTU9VTlRfTk9GT0xMT1cpOworCWlmIChyZXMgIT0gLTEgfHwgZXJybm8gIT0gRU5PRU5UKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IGRvX3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmMgPSAwLCBmbGFncyA9IDA7CisJY29uc3QgY2hhciAqc3JjLCAqdGFyZ2V0OworCWNoYXIgKnRndGJ1ZiA9IE5VTEw7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisJYXNzZXJ0KGN4dC0+c3lzY2FsbF9zdGF0dXMgPT0gMSk7CisKKwlpZiAoY3h0LT5oZWxwZXIpCisJCXJldHVybiBleGVjX2hlbHBlcihjeHQpOworCisJc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKGN4dC0+ZnMpOworCXRhcmdldCA9IG1udF9mc19nZXRfdGFyZ2V0KGN4dC0+ZnMpOworCisJaWYgKCF0YXJnZXQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiZG8gdW1vdW50IikpOworCisJaWYgKGN4dC0+cmVzdHJpY3RlZCAmJiAhbW50X2NvbnRleHRfaXNfZmFrZShjeHQpKSB7CisJCS8qCisJCSAqIGV4dHJhIHBhcmFub2lhIGZvciBub24tcm9vdCB1c2VycworCQkgKiAtLSBjaGRpciB0byB0aGUgcGFyZW50IG9mIHRoZSBtb3VudHBvaW50IGFuZCB1c2UgTk9GT0xMT1cKKwkJICogICAgZmxhZyB0byBhdm9pZCByYWNlcyBhbmQgc3ltbGluayBhdHRhY2tzLgorCQkgKi8KKwkJaWYgKHVtb3VudF9ub2ZvbGxvd19zdXBwb3J0KCkpCisJCQlmbGFncyB8PSBVTU9VTlRfTk9GT0xMT1c7CisKKwkJcmMgPSBtbnRfY2hkaXJfdG9fcGFyZW50KHRhcmdldCwgJnRndGJ1Zik7CisJCWlmIChyYykKKwkJCXJldHVybiByYzsKKwkJdGFyZ2V0ID0gdGd0YnVmOworCX0KKworCWlmIChtbnRfY29udGV4dF9pc19sYXp5KGN4dCkpCisJCWZsYWdzIHw9IE1OVF9ERVRBQ0g7CisKKwlpZiAobW50X2NvbnRleHRfaXNfZm9yY2UoY3h0KSkKKwkJZmxhZ3MgfD0gTU5UX0ZPUkNFOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50KDIpIFt0YXJnZXQ9JyVzJywgZmxhZ3M9MHglMDh4XSVzIiwKKwkJCQl0YXJnZXQsIGZsYWdzLAorCQkJCW1udF9jb250ZXh0X2lzX2Zha2UoY3h0KSA/ICIgKEZBS0UpIiA6ICIiKSk7CisKKwlpZiAobW50X2NvbnRleHRfaXNfZmFrZShjeHQpKQorCQlyYyA9IDA7CisJZWxzZSB7CisJCXJjID0gZmxhZ3MgPyB1bW91bnQyKHRhcmdldCwgZmxhZ3MpIDogdW1vdW50KHRhcmdldCk7CisJCWlmIChyYyA8IDApCisJCQljeHQtPnN5c2NhbGxfc3RhdHVzID0gLWVycm5vOworCQlmcmVlKHRndGJ1Zik7CisJfQorCisJLyoKKwkgKiB0cnkgcmVtb3VudCByZWFkLW9ubHkKKwkgKi8KKwlpZiAocmMgPCAwCisJICAgICYmIGN4dC0+c3lzY2FsbF9zdGF0dXMgPT0gLUVCVVNZCisJICAgICYmIG1udF9jb250ZXh0X2lzX3Jkb25seV91bW91bnQoY3h0KQorCSAgICAmJiBzcmMpIHsKKworCQltbnRfY29udGV4dF9zZXRfbWZsYWdzKGN4dCwgKGN4dC0+bW91bnRmbGFncyB8CisJCQkJCSAgICAgTVNfUkVNT1VOVCB8IE1TX1JET05MWSkpOworCQltbnRfY29udGV4dF9lbmFibGVfbG9vcGRlbChjeHQsIEZBTFNFKTsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsCisJCQkidW1vdW50KDIpIGZhaWxlZCBbZXJybm89JWRdIC0tIHRyeWluZyB0byByZW1vdW50IHJlYWQtb25seSIsCisJCQktY3h0LT5zeXNjYWxsX3N0YXR1cykpOworCisJCXJjID0gbW91bnQoc3JjLCBtbnRfZnNfZ2V0X3RhcmdldChjeHQtPmZzKSwgTlVMTCwKKwkJCSAgICBNU19SRU1PVU5UIHwgTVNfUkRPTkxZLCBOVUxMKTsKKwkJaWYgKHJjIDwgMCkgeworCQkJY3h0LT5zeXNjYWxsX3N0YXR1cyA9IC1lcnJubzsKKwkJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwKKwkJCQkicmVhZC1vbmx5IHJlLW1vdW50KDIpIGZhaWxlZCBbZXJybm89JWRdIiwKKwkJCQktY3h0LT5zeXNjYWxsX3N0YXR1cykpOworCisJCQlyZXR1cm4gLWN4dC0+c3lzY2FsbF9zdGF0dXM7CisJCX0KKwkJY3h0LT5zeXNjYWxsX3N0YXR1cyA9IDA7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInJlYWQtb25seSByZS1tb3VudCgyKSBzdWNjZXNzIikpOworCQlyZXR1cm4gMDsKKwl9CisKKwlpZiAocmMgPCAwKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudCgyKSBmYWlsZWQgW2Vycm5vPSVkXSIsCisJCQktY3h0LT5zeXNjYWxsX3N0YXR1cykpOworCQlyZXR1cm4gLWN4dC0+c3lzY2FsbF9zdGF0dXM7CisJfQorCisJY3h0LT5zeXNjYWxsX3N0YXR1cyA9IDA7CisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAidW1vdW50KDIpIHN1Y2Nlc3MiKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfcHJlcGFyZV91bW91bnQ6CisgKiBAY3h0OiBtb3VudCBjb250ZXh0CisgKgorICogUHJlcGFyZSBjb250ZXh0IGZvciB1bW91bnRpbmcsIHVubmVjZXNzYXJ5IGZvciBtbnRfY29udGV4dF91bW91bnQoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIGFuZCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9jb250ZXh0X3ByZXBhcmVfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWludCByYzsKKwlzdHJ1Y3QgbGlibW50X25zICpuc19vbGQ7CisKKwlpZiAoIWN4dCB8fCAhY3h0LT5mcyB8fCBtbnRfZnNfaXNfc3dhcGFyZWEoY3h0LT5mcykpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpICYmICFtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChjeHQtPmZsYWdzICYgTU5UX0ZMX1BSRVBBUkVEKQorCQlyZXR1cm4gMDsKKworCWFzc2VydChjeHQtPmhlbHBlcl9leGVjX3N0YXR1cyA9PSAxKTsKKwlhc3NlcnQoY3h0LT5zeXNjYWxsX3N0YXR1cyA9PSAxKTsKKworCWZyZWUoY3h0LT5oZWxwZXIpOwkvKiBiZSBwYXJhbm9pZCAqLworCWN4dC0+aGVscGVyID0gTlVMTDsKKwljeHQtPmFjdGlvbiA9IE1OVF9BQ1RfVU1PVU5UOworCisJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCWlmICghbnNfb2xkKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJcmMgPSBsb29rdXBfdW1vdW50X2ZzKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfY29udGV4dF9tZXJnZV9tZmxhZ3MoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IGV2YWx1YXRlX3Blcm1pc3Npb25zKGN4dCk7CisKKwlpZiAoIXJjICYmICFjeHQtPmhlbHBlcikgeworCisJCWlmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19IRUxQRVIpCisJCQkvKiBvbiBoZWxwZXI9IG1vdW50IG9wdGlvbiBiYXNlZCBoZWxwZXIgKi8KKwkJCXJjID0gcHJlcGFyZV9oZWxwZXJfZnJvbV9vcHRpb25zKGN4dCwgImhlbHBlciIpOworCisJCWlmICghcmMgJiYgIWN4dC0+aGVscGVyKQorCQkJLyogb24gZnN0eXBlIGJhc2VkIGhlbHBlciAqLworCQkJcmMgPSBtbnRfY29udGV4dF9wcmVwYXJlX2hlbHBlcihjeHQsICJ1bW91bnQiLCBOVUxMKTsKKwl9CisKKwlpZiAoIXJjICYmIChjeHQtPnVzZXJfbW91bnRmbGFncyAmIE1OVF9NU19MT09QKSkKKwkJLyogbG9vcCBvcHRpb24gZXhwbGljaXRseSBzcGVjaWZpZWQgaW4gbXRhYiwgZGV0YWNoIHRoaXMgbG9vcCAqLworCQltbnRfY29udGV4dF9lbmFibGVfbG9vcGRlbChjeHQsIFRSVUUpOworCisJaWYgKCFyYyAmJiBtbnRfY29udGV4dF9pc19sb29wZGVsKGN4dCkgJiYgY3h0LT5mcykgeworCQljb25zdCBjaGFyICpzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoY3h0LT5mcyk7CisKKwkJaWYgKHNyYyAmJiAoIWlzX2xvb3BkZXYoc3JjKSB8fCBsb29wZGV2X2lzX2F1dG9jbGVhcihzcmMpKSkKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9sb29wZGVsKGN4dCwgRkFMU0UpOworCX0KKworCWlmIChyYykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ1bW91bnQ6IHByZXBhcmluZyBmYWlsZWQiKSk7CisJCXJldHVybiByYzsKKwl9CisJY3h0LT5mbGFncyB8PSBNTlRfRkxfUFJFUEFSRUQ7CisKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZG9fdW1vdW50OgorICogQGN4dDogbW91bnQgY29udGV4dAorICoKKyAqIFVtb3VudCBmaWxlc3lzdGVtIGJ5IHVtb3VudCgyKSBvciBmb3JrKCkrZXhlYygvc2Jpbi91bW91bnQudHlwZSkuCisgKiBVbm5lY2Vzc2FyeSBmb3IgbW50X2NvbnRleHRfdW1vdW50KCkuCisgKgorICogU2VlIGFsc28gbW50X2NvbnRleHRfZGlzYWJsZV9oZWxwZXJzKCkuCisgKgorICogV0FSTklORzogbm9uLXplcm8gcmV0dXJuIGNvZGUgZG9lcyBub3QgbWVhbiB0aGF0IHVtb3VudCgyKSBzeXNjYWxsIG9yCisgKiAgICAgICAgICB1bW91bnQudHlwZSBoZWxwZXIgd2Fzbid0IHN1Y2Nlc3NmdWxseSBjYWxsZWQuCisgKgorICogICAgICAgICAgQ2hlY2sgbW50X2NvbnRleHRfZ2V0X3N0YXR1cygpIGFmdGVyIGVycm9yIQorKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzOworICogICAgICAgICA+MCBpbiBjYXNlIG9mIHVtb3VudCgyKSBlcnJvciAocmV0dXJucyBzeXNjYWxsIGVycm5vKSwKKyAqICAgICAgICAgPDAgaW4gY2FzZSBvZiBvdGhlciBlcnJvcnMuCisgKi8KK2ludCBtbnRfY29udGV4dF9kb191bW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJaW50IHJjOworCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZzKTsKKwlhc3NlcnQoY3h0LT5oZWxwZXJfZXhlY19zdGF0dXMgPT0gMSk7CisJYXNzZXJ0KGN4dC0+c3lzY2FsbF9zdGF0dXMgPT0gMSk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX1BSRVBBUkVEKSk7CisJYXNzZXJ0KChjeHQtPmFjdGlvbiA9PSBNTlRfQUNUX1VNT1VOVCkpOworCWFzc2VydCgoY3h0LT5mbGFncyAmIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCkpOworCisJbnNfb2xkID0gbW50X2NvbnRleHRfc3dpdGNoX3RhcmdldF9ucyhjeHQpOworCWlmICghbnNfb2xkKQorCQlyZXR1cm4gLU1OVF9FUlJfTkFNRVNQQUNFOworCisJcmMgPSBkb191bW91bnQoY3h0KTsKKwlpZiAocmMpCisJCWdvdG8gZW5kOworCisJaWYgKG1udF9jb250ZXh0X2dldF9zdGF0dXMoY3h0KSAmJiAhbW50X2NvbnRleHRfaXNfZmFrZShjeHQpKSB7CisJCS8qCisJCSAqIFVtb3VudGVkLCBkbyBzb21lIHBvc3QtdW1vdW50IG9wZXJhdGlvbnMKKwkJICoJLSByZW1vdmUgbG9vcGRldgorCQkgKgktIHJlZnJlc2ggaW4tbWVtb3J5IG10YWIgc3R1ZmYgaWYgcmVtb3VudCByYXRoZXIgdGhhbgorCQkgKgkgIHVtb3VudCBoYXMgYmVlbiBwZXJmb3JtZWQKKwkJICovCisJCWlmIChtbnRfY29udGV4dF9pc19sb29wZGVsKGN4dCkKKwkJICAgICYmICEoY3h0LT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkpCisJCQlyYyA9IG1udF9jb250ZXh0X2RlbGV0ZV9sb29wZGV2KGN4dCk7CisKKwkJaWYgKCFtbnRfY29udGV4dF9pc19ub210YWIoY3h0KQorCQkgICAgJiYgbW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpCisJCSAgICAmJiAhY3h0LT5oZWxwZXIKKwkJICAgICYmIG1udF9jb250ZXh0X2lzX3Jkb25seV91bW91bnQoY3h0KQorCQkgICAgJiYgKGN4dC0+bW91bnRmbGFncyAmIE1TX1JFTU9VTlQpKSB7CisKKwkJCS8qIHVzZSAicmVtb3VudCIgaW5zdGVhZCBvZiAidW1vdW50IiBpbiAvZXRjL210YWIgKi8KKwkJCWlmICghcmMgJiYgY3h0LT51cGRhdGUgJiYgbW50X2NvbnRleHRfbXRhYl93cml0YWJsZShjeHQpKQorCQkJCXJjID0gbW50X3VwZGF0ZV9zZXRfZnMoY3h0LT51cGRhdGUsCisJCQkJCQkgICAgICAgY3h0LT5tb3VudGZsYWdzLCBOVUxMLCBjeHQtPmZzKTsKKwkJfQorCX0KK2VuZDoKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2NvbnRleHRfZmluYWxpemVfdW1vdW50OgorICogQGN4dDogY29udGV4dAorICoKKyAqIE10YWIgdXBkYXRlLCBldGMuIFVubmVjZXNzYXJ5IGZvciBtbnRfY29udGV4dF91bW91bnQoKSwgYnV0IHNob3VsZCBiZSBjYWxsZWQKKyAqIGFmdGVyIG1udF9jb250ZXh0X2RvX3Vtb3VudCgpLiBTZWUgYWxzbyBtbnRfY29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXMoKS4KKyAqCisgKiBSZXR1cm5zOiBuZWdhdGl2ZSBudW1iZXIgb24gZXJyb3IsIDAgb24gc3VjY2Vzcy4KKyAqLworaW50IG1udF9jb250ZXh0X2ZpbmFsaXplX3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisKKwlhc3NlcnQoY3h0KTsKKwlhc3NlcnQoY3h0LT5mcyk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX1BSRVBBUkVEKSk7CisJYXNzZXJ0KChjeHQtPmZsYWdzICYgTU5UX0ZMX01PVU5URkxBR1NfTUVSR0VEKSk7CisKKwlyYyA9IG1udF9jb250ZXh0X3ByZXBhcmVfdXBkYXRlKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfY29udGV4dF91cGRhdGVfdGFicyhjeHQpOworCXJldHVybiByYzsKK30KKworCisvKioKKyAqIG1udF9jb250ZXh0X3Vtb3VudDoKKyAqIEBjeHQ6IHVtb3VudCBjb250ZXh0CisgKgorICogSGlnaC1sZXZlbCwgdW1vdW50cyBmaWxlc3lzdGVtIGJ5IHVtb3VudCgyKSBvciBmb3JrKCkrZXhlYygvc2Jpbi91bW91bnQudHlwZSkuCisgKgorICogVGhpcyBpcyBzaW1pbGFyIHRvOgorICoKKyAqCW1udF9jb250ZXh0X3ByZXBhcmVfdW1vdW50KGN4dCk7CisgKgltbnRfY29udGV4dF9kb191bW91bnQoY3h0KTsKKyAqCW1udF9jb250ZXh0X2ZpbmFsaXplX3Vtb3VudChjeHQpOworICoKKyAqIFNlZSBhbHNvIG1udF9jb250ZXh0X2Rpc2FibGVfaGVscGVycygpLgorICoKKyAqIFdBUk5JTkc6IG5vbi16ZXJvIHJldHVybiBjb2RlIGRvZXMgbm90IG1lYW4gdGhhdCB1bW91bnQoMikgc3lzY2FsbCBvcgorICogICAgICAgICAgdW1vdW50LnR5cGUgaGVscGVyIHdhc24ndCBzdWNjZXNzZnVsbHkgY2FsbGVkLgorICoKKyAqICAgICAgICAgIENoZWNrIG1udF9jb250ZXh0X2dldF9zdGF0dXMoKSBhZnRlciBlcnJvciEKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3M7CisgKiAgICAgICAgID4wIGluIGNhc2Ugb2YgdW1vdW50KDIpIGVycm9yIChyZXR1cm5zIHN5c2NhbGwgZXJybm8pLAorICogICAgICAgICA8MCBpbiBjYXNlIG9mIG90aGVyIGVycm9ycy4KKyAqLworaW50IG1udF9jb250ZXh0X3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisJc3RydWN0IGxpYm1udF9ucyAqbnNfb2xkOworCisJYXNzZXJ0KGN4dCk7CisJYXNzZXJ0KGN4dC0+ZnMpOworCWFzc2VydChjeHQtPmhlbHBlcl9leGVjX3N0YXR1cyA9PSAxKTsKKwlhc3NlcnQoY3h0LT5zeXNjYWxsX3N0YXR1cyA9PSAxKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInVtb3VudDogJXMiLCBtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkpKTsKKworCW5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnMoY3h0KTsKKwlpZiAoIW5zX29sZCkKKwkJcmV0dXJuIC1NTlRfRVJSX05BTUVTUEFDRTsKKworCXJjID0gbW50X2NvbnRleHRfcHJlcGFyZV91bW91bnQoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X3ByZXBhcmVfdXBkYXRlKGN4dCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfY29udGV4dF9kb191bW91bnQoY3h0KTsKKwlpZiAoIXJjKQorCQlyYyA9IG1udF9jb250ZXh0X3VwZGF0ZV90YWJzKGN4dCk7CisKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCXJldHVybiAtTU5UX0VSUl9OQU1FU1BBQ0U7CisKKwlyZXR1cm4gcmM7Cit9CisKKworLyoqCisgKiBtbnRfY29udGV4dF9uZXh0X3Vtb3VudDoKKyAqIEBjeHQ6IGNvbnRleHQKKyAqIEBpdHI6IGl0ZXJhdG9yCisgKiBAZnM6IHJldHVybnMgdGhlIGN1cnJlbnQgZmlsZXN5c3RlbQorICogQG1udHJjOiByZXR1cm5zIHRoZSByZXR1cm4gY29kZSBmcm9tIG1udF9jb250ZXh0X3Vtb3VudCgpCisgKiBAaWdub3JlZDogcmV0dXJucyAxIGZvciBub3QgbWF0Y2hpbmcKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHRyaWVzIHRvIHVtb3VudCB0aGUgbmV4dCBmaWxlc3lzdGVtIGZyb20gbXRhYiAoYXMgcmV0dXJuZWQgYnkKKyAqIG1udF9jb250ZXh0X2dldF9tdGFiKCkpLgorICoKKyAqIFlvdSBjYW4gZmlsdGVyIG91dCBmaWxlc3lzdGVtcyBieToKKyAqCW1udF9jb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4oKSB0byBzaW11bGF0ZSB1bW91bnQgLWEgLU8gcGF0dGVybgorICoJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKCkgIHRvIHNpbXVsYXRlIHVtb3VudCAtYSAtdCBwYXR0ZXJuCisgKgorICogSWYgdGhlIGZpbGVzeXN0ZW0gaXMgbm90IG1vdW50ZWQgb3IgZG9lcyBub3QgbWF0Y2ggdGhlIGRlZmluZWQgY3JpdGVyaWEsCisgKiB0aGVuIHRoZSBmdW5jdGlvbiBtbnRfY29udGV4dF9uZXh0X3Vtb3VudCgpIHJldHVybnMgemVybywgYnV0IHRoZSBAaWdub3JlZCBpcworICogbm9uLXplcm8uIE5vdGUgdGhhdCB0aGUgcm9vdCBmaWxlc3lzdGVtIGlzIGFsd2F5cyBpZ25vcmVkLgorICoKKyAqIElmIHVtb3VudCgyKSBzeXNjYWxsIG9yIHVtb3VudC50eXBlIGhlbHBlciBmYWlsZWQsIHRoZW4gdGhlCisgKiBtbnRfY29udGV4dF9uZXh0X3Vtb3VudCgpIGZ1bmN0aW9uIHJldHVybnMgemVybywgYnV0IHRoZSBAbW50cmMgaXMgbm9uLXplcm8uCisgKiBVc2UgYWxzbyBtbnRfY29udGV4dF9nZXRfc3RhdHVzKCkgdG8gY2hlY2sgaWYgdGhlIGZpbGVzeXN0ZW0gd2FzCisgKiBzdWNjZXNzZnVsbHkgdW1vdW50ZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLAorICogICAgICAgICA8MCBpbiBjYXNlIG9mIGVycm9yICghPSB1bW91bnQoMikgZXJyb3JzKQorICogICAgICAgICAgMSBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0LgorICovCitpbnQgbW50X2NvbnRleHRfbmV4dF91bW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkgICBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKipmcywKKwkJCSAgIGludCAqbW50cmMsCisJCQkgICBpbnQgKmlnbm9yZWQpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYjsKKwljb25zdCBjaGFyICp0Z3Q7CisJaW50IHJjOworCisJaWYgKGlnbm9yZWQpCisJCSppZ25vcmVkID0gMDsKKwlpZiAobW50cmMpCisJCSptbnRyYyA9IDA7CisKKwlpZiAoIWN4dCB8fCAhZnMgfHwgIWl0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyYyA9IG1udF9jb250ZXh0X2dldF9tdGFiKGN4dCwgJm10YWIpOworCWN4dC0+bXRhYiA9IE5VTEw7CQkvKiBkbyBub3QgcmVzZXQgbXRhYiAqLworCW1udF9yZXNldF9jb250ZXh0KGN4dCk7CisKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWN4dC0+bXRhYiA9IG10YWI7CisKKwlkbyB7CisJCXJjID0gbW50X3RhYmxlX25leHRfZnMobXRhYiwgaXRyLCBmcyk7CisJCWlmIChyYyAhPSAwKQorCQkJcmV0dXJuIHJjOwkvKiBubyBtb3JlIGZpbGVzeXN0ZW1zIChvciBlcnJvcikgKi8KKworCQl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldCgqZnMpOworCX0gd2hpbGUgKCF0Z3QpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAibmV4dC11bW91bnQ6IHRyeWluZyAlcyBbZnN0eXBlOiAlcywgdC1wYXR0ZXJuOiAlcywgb3B0aW9uczogJXMsIE8tcGF0dGVybjogJXNdIiwgdGd0LAorCQkJCSBtbnRfZnNfZ2V0X2ZzdHlwZSgqZnMpLCBjeHQtPmZzdHlwZV9wYXR0ZXJuLCBtbnRfZnNfZ2V0X29wdGlvbnMoKmZzKSwgY3h0LT5vcHRzdHJfcGF0dGVybikpOworCisJLyogaWdub3JlIGZpbGVzeXN0ZW1zIHdoaWNoIGRvbid0IG1hdGNoIG9wdGlvbnMgcGF0dGVybnMgKi8KKwlpZiAoKGN4dC0+ZnN0eXBlX3BhdHRlcm4gJiYgIW1udF9mc19tYXRjaF9mc3R5cGUoKmZzLAorCQkJCQljeHQtPmZzdHlwZV9wYXR0ZXJuKSkgfHwKKworCS8qIGlnbm9yZSBmaWxlc3lzdGVtcyB3aGljaCBkb24ndCBtYXRjaCB0eXBlIHBhdHRlcm5zICovCisJICAgKGN4dC0+b3B0c3RyX3BhdHRlcm4gJiYgIW1udF9mc19tYXRjaF9vcHRpb25zKCpmcywKKwkJCQkJY3h0LT5vcHRzdHJfcGF0dGVybikpKSB7CisJCWlmIChpZ25vcmVkKQorCQkJKmlnbm9yZWQgPSAxOworCisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5leHQtdW1vdW50OiBub3QtbWF0Y2giKSk7CisJCXJldHVybiAwOworCX0KKworCXJjID0gbW50X2NvbnRleHRfc2V0X2ZzKGN4dCwgKmZzKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlyYyA9IG1udF9jb250ZXh0X3Vtb3VudChjeHQpOworCWlmIChtbnRyYykKKwkJKm1udHJjID0gcmM7CisJcmV0dXJuIDA7Cit9CisKKworaW50IG1udF9jb250ZXh0X2dldF91bW91bnRfZXhjb2RlKAorCQkJc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQlpbnQgcmMsCisJCQljaGFyICpidWYsCisJCQlzaXplX3QgYnVmc3opCit7CisJaWYgKG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChjeHQpKQorCQkvKgorCQkgKiAvc2Jpbi91bW91bnQuPHR5cGU+IGNhbGxlZCwgcmV0dXJuIHN0YXR1cworCQkgKi8KKwkJcmV0dXJuIG1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzKGN4dCk7CisKKwlpZiAocmMgPT0gMCAmJiBtbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkgPT0gMSkKKwkJLyoKKwkJICogTGlibW91bnQgc3VjY2VzcyAmJiBzeXNjYWxsIHN1Y2Nlc3MuCisJCSAqLworCQlyZXR1cm4gTU5UX0VYX1NVQ0NFU1M7CisKKwlpZiAoIW1udF9jb250ZXh0X3N5c2NhbGxfY2FsbGVkKGN4dCkpIHsKKwkJLyoKKwkJICogbGlibW91bnQgZXJyb3JzIChleHRyYSBsaWJyYXJ5IGNoZWNrcykKKwkJICovCisJCWlmIChyYyA9PSAtRVBFUk0gJiYgIW1udF9jb250ZXh0X3RhYl9hcHBsaWVkKGN4dCkpIHsKKwkJCS8qIGZhaWxlZCB0byBldmFsdWF0ZSBwZXJtaXNzaW9ucyBiZWNhdXNlIG5vdCBmb3VuZAorCQkJICogcmVsZXZhbnQgZW50cnkgaW4gbXRhYiAqLworCQkJaWYgKGJ1ZikKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJub3QgbW91bnRlZCIpKTsKKwkJCXJldHVybiBNTlRfRVhfVVNBR0U7CisJCX0gZWxzZSBpZiAocmMgPT0gLU1OVF9FUlJfTE9DSykgeworCQkJaWYgKGJ1ZikKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJsb2NraW5nIGZhaWxlZCIpKTsKKwkJCXJldHVybiBNTlRfRVhfRklMRUlPOworCQl9IGVsc2UgaWYgKHJjID09IC1NTlRfRVJSX05BTUVTUEFDRSkgeworCQkJaWYgKGJ1ZikKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJmYWlsZWQgdG8gc3dpdGNoIG5hbWVzcGFjZSIpKTsKKwkJCXJldHVybiBNTlRfRVhfU1lTRVJSOworCQl9CisJCXJldHVybiBtbnRfY29udGV4dF9nZXRfZ2VuZXJpY19leGNvZGUocmMsIGJ1ZiwgYnVmc3osCisJCQkJCV8oInVtb3VudCBmYWlsZWQ6ICVtIikpOworCisJfSBlbHNlIGlmIChtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpID09IDApIHsKKwkJLyoKKwkJICogdW1vdW50KDIpIHN5c2NhbGwgc3VjY2VzcywgYnV0IHNvbWV0aGluZyBlbHNlIGZhaWxlZAorCQkgKiAocHJvYmFibHkgZXJyb3IgaW4gbXRhYiBwcm9jZXNzaW5nKS4KKwkJICovCisJCWlmIChyYyA9PSAtTU5UX0VSUl9MT0NLKSB7CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIikpOworCQkJcmV0dXJuIE1OVF9FWF9GSUxFSU87CisJCX0gZWxzZSBpZiAocmMgPT0gLU1OVF9FUlJfTkFNRVNQQUNFKSB7CisJCQlpZiAoYnVmKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byBzd2l0Y2ggbmFtZXNwYWNlIGJhY2siKSk7CisJCQlyZXR1cm4gTU5UX0VYX1NZU0VSUjsKKworCQl9IGVsc2UgaWYgKHJjIDwgMCkKKwkJCXJldHVybiBtbnRfY29udGV4dF9nZXRfZ2VuZXJpY19leGNvZGUocmMsIGJ1ZiwgYnVmc3osCisJCQkJXygiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iKSk7CisKKwkJcmV0dXJuIE1OVF9FWF9TT0ZUV0FSRTsJLyogaW50ZXJuYWwgZXJyb3IgKi8KKwl9CisKKwkvKgorCSAqIHVtb3VudCgyKSBlcnJvcnMKKwkgKi8KKwlpZiAoYnVmKSB7CisJCWludCBzeXNlcnIgPSBtbnRfY29udGV4dF9nZXRfc3lzY2FsbF9lcnJubyhjeHQpOworCisJCXN3aXRjaCAoc3lzZXJyKSB7CisJCWNhc2UgRU5YSU86CisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJpbnZhbGlkIGJsb2NrIGRldmljZSIpKTsJLyogPz8/ICovCisJCQlicmVhazsKKwkJY2FzZSBFSU5WQUw6CisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJub3QgbW91bnRlZCIpKTsKKwkJCWJyZWFrOworCQljYXNlIEVJTzoKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oImNhbid0IHdyaXRlIHN1cGVyYmxvY2siKSk7CisJCQlicmVhazsKKwkJY2FzZSBFQlVTWToKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osIF8oInRhcmdldCBpcyBidXN5IikpOworCQkJYnJlYWs7CisJCWNhc2UgRU5PRU5UOgorCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIikpOworCQkJYnJlYWs7CisJCWNhc2UgRVBFUk06CisJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCBfKCJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgRUFDQ0VTOgorCQkJc25wcmludGYoYnVmLCBidWZzeiwgXygiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIikpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gbW50X2NvbnRleHRfZ2V0X2dlbmVyaWNfZXhjb2RlKHN5c2VyciwgYnVmLCBidWZzeixfKCJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIpKTsKKwkJfQorCX0KKwlyZXR1cm4gTU5UX0VYX0ZBSUw7Cit9CmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvZnMuYyBiL2xpYm1vdW50L3NyYy9mcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRlZjMyMjUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvZnMuYwpAQCAtMCwwICsxLDE1OTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogZnMKKyAqIEB0aXRsZTogRmlsZXN5c3RlbQorICogQHNob3J0X2Rlc2NyaXB0aW9uOiByZXByZXNlbnRzIG9uZSBlbnRyeSBmcm9tIGZzdGFiLCBtdGFiLCBvciBtb3VudGluZm8gZmlsZQorICoKKyAqLworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8YmxraWQuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKworI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKy8qKgorICogbW50X25ld19mczoKKyAqCisgKiBUaGUgaW5pdGlhbCByZWZjb3VudCBpcyAxLCBhbmQgbmVlZHMgdG8gYmUgZGVjcmVtZW50ZWQgdG8KKyAqIHJlbGVhc2UgdGhlIHJlc291cmNlcyBvZiB0aGUgZmlsZXN5c3RlbS4KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgc3RydWN0IGxpYm1udF9mcy4KKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X25ld19mcyh2b2lkKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gY2FsbG9jKDEsIHNpemVvZigqZnMpKTsKKwlpZiAoIWZzKQorCQlyZXR1cm4gTlVMTDsKKworCWZzLT5yZWZjb3VudCA9IDE7CisJSU5JVF9MSVNUX0hFQUQoJmZzLT5lbnRzKTsKKwkvKkRCRyhGUywgdWxfZGVidWdvYmooZnMsICJhbGxvYyIpKTsqLworCXJldHVybiBmczsKK30KKworLyoqCisgKiBtbnRfZnJlZV9mczoKKyAqIEBmczogZnMgcG9pbnRlcgorICoKKyAqIERlYWxsb2NhdGVzIHRoZSBmcy4gVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjYXJlIGFib3V0IHJlZmVyZW5jZSBjb3VudC4gRG9uJ3QKKyAqIHVzZSB0aGlzIGZ1bmN0aW9uIGRpcmVjdGx5IC0tIGl0J3MgYmV0dGVyIHRvIHVzZSBtbnRfdW5yZWZfZnMoKS4KKyAqCisgKiBUaGUgcmVmZXJlbmNlIGNvdW50aW5nIGlzIHN1cHBvcnRlZCBzaW5jZSB1dGlsLWxpbnV4IHYyLjI0LgorICovCit2b2lkIG1udF9mcmVlX2ZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWlmICghZnMpCisJCXJldHVybjsKKworCURCRyhGUywgdWxfZGVidWdvYmooZnMsICJmcmVlIFtyZWZjb3VudD0lZF0iLCBmcy0+cmVmY291bnQpKTsKKworCW1udF9yZXNldF9mcyhmcyk7CisJZnJlZShmcyk7Cit9CisKKy8qKgorICogbW50X3Jlc2V0X2ZzOgorICogQGZzOiBmcyBwb2ludGVyCisgKgorICogUmVzZXRzICh6ZXJvaXplKSBAZnMuCisgKi8KK3ZvaWQgbW50X3Jlc2V0X2ZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWludCByZWY7CisKKwlpZiAoIWZzKQorCQlyZXR1cm47CisKKwlyZWYgPSBmcy0+cmVmY291bnQ7CisKKwlsaXN0X2RlbCgmZnMtPmVudHMpOworCWZyZWUoZnMtPnNvdXJjZSk7CisJZnJlZShmcy0+YmluZHNyYyk7CisJZnJlZShmcy0+dGFnbmFtZSk7CisJZnJlZShmcy0+dGFndmFsKTsKKwlmcmVlKGZzLT5yb290KTsKKwlmcmVlKGZzLT5zd2FwdHlwZSk7CisJZnJlZShmcy0+dGFyZ2V0KTsKKwlmcmVlKGZzLT5mc3R5cGUpOworCWZyZWUoZnMtPm9wdHN0cik7CisJZnJlZShmcy0+dmZzX29wdHN0cik7CisJZnJlZShmcy0+ZnNfb3B0c3RyKTsKKwlmcmVlKGZzLT51c2VyX29wdHN0cik7CisJZnJlZShmcy0+YXR0cnMpOworCWZyZWUoZnMtPm9wdF9maWVsZHMpOworCWZyZWUoZnMtPmNvbW1lbnQpOworCisJbWVtc2V0KGZzLCAwLCBzaXplb2YoKmZzKSk7CisJSU5JVF9MSVNUX0hFQUQoJmZzLT5lbnRzKTsKKwlmcy0+cmVmY291bnQgPSByZWY7Cit9CisKKy8qKgorICogbW50X3JlZl9mczoKKyAqIEBmczogZnMgcG9pbnRlcgorICoKKyAqIEluY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIuCisgKi8KK3ZvaWQgbW50X3JlZl9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpZiAoZnMpIHsKKwkJZnMtPnJlZmNvdW50Kys7CisJCS8qREJHKEZTLCB1bF9kZWJ1Z29iaihmcywgInJlZj0lZCIsIGZzLT5yZWZjb3VudCkpOyovCisJfQorfQorCisvKioKKyAqIG1udF91bnJlZl9mczoKKyAqIEBmczogZnMgcG9pbnRlcgorICoKKyAqIERlLWluY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIsIG9uIHplcm8gdGhlIEBmcyBpcyBhdXRvbWF0aWNhbGx5CisgKiBkZWFsbG9jYXRlZCBieSBtbnRfZnJlZV9mcygpLgorICovCit2b2lkIG1udF91bnJlZl9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpZiAoZnMpIHsKKwkJZnMtPnJlZmNvdW50LS07CisJCS8qREJHKEZTLCB1bF9kZWJ1Z29iaihmcywgInVucmVmPSVkIiwgZnMtPnJlZmNvdW50KSk7Ki8KKwkJaWYgKGZzLT5yZWZjb3VudCA8PSAwKQorCQkJbW50X2ZyZWVfZnMoZnMpOworCX0KK30KKworc3RhdGljIGlubGluZSBpbnQgdXBkYXRlX3N0cihjaGFyICoqZGVzdCwgY29uc3QgY2hhciAqc3JjKQoreworCXNpemVfdCBzejsKKwljaGFyICp4OworCisJYXNzZXJ0KGRlc3QpOworCisJaWYgKCFzcmMpIHsKKwkJZnJlZSgqZGVzdCk7CisJCSpkZXN0ID0gTlVMTDsKKwkJcmV0dXJuIDA7CS8qIHNvdXJjZSAob2xkKSBpcyBlbXB0eSAqLworCX0KKworCXN6ID0gc3RybGVuKHNyYykgKyAxOworCXggPSByZWFsbG9jKCpkZXN0LCBzeik7CisJaWYgKCF4KQorCQlyZXR1cm4gLUVOT01FTTsKKwkqZGVzdCA9IHg7CisJbWVtY3B5KCpkZXN0LCBzcmMsIHN6KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgY3B5X3N0cl9hdF9vZmZzZXQodm9pZCAqbmV3LCBjb25zdCB2b2lkICpvbGQsIHNpemVfdCBvZmZzZXQpCit7CisJY2hhciAqKm8gPSAoY2hhciAqKikgKChjaGFyICopIG9sZCArIG9mZnNldCk7CisJY2hhciAqKm4gPSAoY2hhciAqKikgKChjaGFyICopIG5ldyArIG9mZnNldCk7CisKKwlpZiAoKm4pCisJCXJldHVybiAwOwkvKiBhbHJlYWR5IHNldCwgZG9uJ3Qgb3ZlcndyaXRlICovCisKKwlyZXR1cm4gdXBkYXRlX3N0cihuLCAqbyk7Cit9CisKKy8qKgorICogbW50X2NvcHlfZnM6CisgKiBAZGVzdDogZGVzdGluYXRpb24gRlMKKyAqIEBzcmM6IHNvdXJjZSBGUworICoKKyAqIElmIEBkZXN0IGlzIE5VTEwsIHRoZW4gYSBuZXcgRlMgaXMgYWxsb2NhdGVkLCBpZiBhbnkgQGRlc3QgZmllbGQgaXMgYWxyZWFkeQorICogc2V0LCB0aGVuIHRoZSBmaWVsZCBpcyBOT1Qgb3ZlcndyaXR0ZW4uCisgKgorICogVGhpcyBmdW5jdGlvbiBkb2VzIG5vdCBjb3B5IHVzZXJkYXRhIChzZSBtbnRfZnNfc2V0X3VzZXJkYXRhKCkpLiBBIG5ldyBjb3B5IGlzCisgKiBub3QgbGlua2VkIHdpdGggYW55IGV4aXN0aW5nIG1udF90YWIuCisgKgorICogUmV0dXJuczogQGRlc3Qgb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF9jb3B5X2ZzKHN0cnVjdCBsaWJtbnRfZnMgKmRlc3QsCisJCQkgICAgICBjb25zdCBzdHJ1Y3QgbGlibW50X2ZzICpzcmMpCit7CisJY29uc3Qgc3RydWN0IGxpYm1udF9mcyAqb3JnID0gZGVzdDsKKworCWlmICghc3JjKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoIWRlc3QpIHsKKwkJZGVzdCA9IG1udF9uZXdfZnMoKTsKKwkJaWYgKCFkZXN0KQorCQkJcmV0dXJuIE5VTEw7CisJfQorCisJZGVzdC0+aWQgICAgICAgICA9IHNyYy0+aWQ7CisJZGVzdC0+cGFyZW50ICAgICA9IHNyYy0+cGFyZW50OworCWRlc3QtPmRldm5vICAgICAgPSBzcmMtPmRldm5vOworCWRlc3QtPnRpZCAgICAgICAgPSBzcmMtPnRpZDsKKworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHNvdXJjZSkpKQorCQlnb3RvIGVycjsKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQoZGVzdCwgc3JjLCBvZmZzZXRvZihzdHJ1Y3QgbGlibW50X2ZzLCB0YWduYW1lKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHRhZ3ZhbCkpKQorCQlnb3RvIGVycjsKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQoZGVzdCwgc3JjLCBvZmZzZXRvZihzdHJ1Y3QgbGlibW50X2ZzLCByb290KSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHN3YXB0eXBlKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHRhcmdldCkpKQorCQlnb3RvIGVycjsKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQoZGVzdCwgc3JjLCBvZmZzZXRvZihzdHJ1Y3QgbGlibW50X2ZzLCBmc3R5cGUpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgb3B0c3RyKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHZmc19vcHRzdHIpKSkKKwkJZ290byBlcnI7CisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KGRlc3QsIHNyYywgb2Zmc2V0b2Yoc3RydWN0IGxpYm1udF9mcywgZnNfb3B0c3RyKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHVzZXJfb3B0c3RyKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIGF0dHJzKSkpCisJCWdvdG8gZXJyOworCWlmIChjcHlfc3RyX2F0X29mZnNldChkZXN0LCBzcmMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIGJpbmRzcmMpKSkKKwkJZ290byBlcnI7CisKKwlkZXN0LT5mcmVxICAgICAgID0gc3JjLT5mcmVxOworCWRlc3QtPnBhc3NubyAgICAgPSBzcmMtPnBhc3NubzsKKwlkZXN0LT5mbGFncyAgICAgID0gc3JjLT5mbGFnczsKKwlkZXN0LT5zaXplCSA9IHNyYy0+c2l6ZTsKKwlkZXN0LT51c2Vkc2l6ZSAgID0gc3JjLT51c2Vkc2l6ZTsKKwlkZXN0LT5wcmlvcml0eSAgID0gc3JjLT5wcmlvcml0eTsKKworCXJldHVybiBkZXN0OworZXJyOgorCWlmICghb3JnKQorCQltbnRfZnJlZV9mcyhkZXN0KTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gY29waWVzIGFsbCBAZnMgZGVzY3JpcHRpb24gZXhjZXB0IGluZm9ybWF0aW9uIHRoYXQgZG9lcyBub3QKKyAqIGJlbG9uZyB0byAvZXRjL210YWIgKGUuZy4gVkZTIGFuZCB1c2Vyc3BhY2UgbW91bnQgb3B0aW9ucyB3aXRoIE1OVF9OT01UQUIKKyAqIG1hc2spLgorICoKKyAqIFJldHVybnM6IGNvcHkgb2YgQGZzLgorICovCitzdHJ1Y3QgbGlibW50X2ZzICptbnRfY29weV9tdGFiX2ZzKGNvbnN0IHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKm4gPSBtbnRfbmV3X2ZzKCk7CisKKwlhc3NlcnQoZnMpOworCWlmICghbikKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQobiwgZnMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHNvdXJjZSkpKQorCQlnb3RvIGVycjsKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQobiwgZnMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIHRhcmdldCkpKQorCQlnb3RvIGVycjsKKwlpZiAoY3B5X3N0cl9hdF9vZmZzZXQobiwgZnMsIG9mZnNldG9mKHN0cnVjdCBsaWJtbnRfZnMsIGZzdHlwZSkpKQorCQlnb3RvIGVycjsKKworCWlmIChmcy0+dmZzX29wdHN0cikgeworCQljaGFyICpwID0gTlVMTDsKKwkJbW50X29wdHN0cl9nZXRfb3B0aW9ucyhmcy0+dmZzX29wdHN0ciwgJnAsCisJCQkJbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfTElOVVhfTUFQKSwKKwkJCQlNTlRfTk9NVEFCKTsKKwkJbi0+dmZzX29wdHN0ciA9IHA7CisJfQorCisJaWYgKGZzLT51c2VyX29wdHN0cikgeworCQljaGFyICpwID0gTlVMTDsKKwkJbW50X29wdHN0cl9nZXRfb3B0aW9ucyhmcy0+dXNlcl9vcHRzdHIsICZwLAorCQkJCW1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApLAorCQkJCU1OVF9OT01UQUIpOworCQluLT51c2VyX29wdHN0ciA9IHA7CisJfQorCisJaWYgKGNweV9zdHJfYXRfb2Zmc2V0KG4sIGZzLCBvZmZzZXRvZihzdHJ1Y3QgbGlibW50X2ZzLCBmc19vcHRzdHIpKSkKKwkJZ290byBlcnI7CisKKwkvKiB3ZSBjYW5ub3QgY29weSBvcmlnaW5hbCBvcHRzdHIsIHRoZSBuZXcgb3B0c3RyIGhhcyB0byBiZSB3aXRob3V0CisJICogbm9uLW10YWIgb3B0aW9ucyAtLSBzbywgbGV0J3MgZ2VuZXJhdGUgYSBuZXcgc3RyaW5nICovCisJbi0+b3B0c3RyID0gbW50X2ZzX3N0cmR1cF9vcHRpb25zKG4pOworCisJbi0+ZnJlcSAgICAgICA9IGZzLT5mcmVxOworCW4tPnBhc3NubyAgICAgPSBmcy0+cGFzc25vOworCW4tPmZsYWdzICAgICAgPSBmcy0+ZmxhZ3M7CisKKwlyZXR1cm4gbjsKK2VycjoKKwltbnRfZnJlZV9mcyhuKTsKKwlyZXR1cm4gTlVMTDsKKworfQorCisvKioKKyAqIG1udF9mc19nZXRfdXNlcmRhdGE6CisgKiBAZnM6IHN0cnVjdCBsaWJtbnRfZmlsZSBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHByaXZhdGUgZGF0YSBzZXQgYnkgbW50X2ZzX3NldF91c2VyZGF0YSgpIG9yIE5VTEwuCisgKi8KK3ZvaWQgKm1udF9mc19nZXRfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaWYgKCFmcykKKwkJcmV0dXJuIE5VTEw7CisJcmV0dXJuIGZzLT51c2VyZGF0YTsKK30KKworLyoqCisgKiBtbnRfZnNfc2V0X3VzZXJkYXRhOgorICogQGZzOiBzdHJ1Y3QgbGlibW50X2ZpbGUgaW5zdGFuY2UKKyAqIEBkYXRhOiB1c2VyIGRhdGEKKyAqCisgKiBUaGUgInVzZXJkYXRhIiBhcmUgbGlicmFyeSBpbmRlcGVuZGVudCBkYXRhLgorICoKKyAqIFJldHVybnM6IDAgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IgKGlmIEBmcyBpcyBOVUxMKS4KKyAqLworaW50IG1udF9mc19zZXRfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9mcyAqZnMsIHZvaWQgKmRhdGEpCit7CisJaWYgKCFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJZnMtPnVzZXJkYXRhID0gZGF0YTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3NyY3BhdGg6CisgKiBAZnM6IHN0cnVjdCBsaWJtbnRfZmlsZSAoZnN0YWIvbXRhYi9tb3VudGluZm8pIGZzCisgKgorICogVGhlIG1vdW50ICJzb3VyY2UgcGF0aCIgaXM6CisgKiAtIGEgZGlyZWN0b3J5IGZvciAnYmluZCcgbW91bnRzIChpbiBmc3RhYiBvciBtdGFiIG9ubHkpCisgKiAtIGEgZGV2aWNlIG5hbWUgZm9yIHN0YW5kYXJkIG1vdW50cworICoKKyAqIFNlZSBhbHNvIG1udF9mc19nZXRfdGFnKCkgYW5kIG1udF9mc19nZXRfc291cmNlKCkuCisgKgorICogUmV0dXJuczogbW91bnQgc291cmNlIHBhdGggb3IgTlVMTCBpbiBjYXNlIG9mIGVycm9yIG9yIHdoZW4gdGhlIHBhdGgKKyAqIGlzIG5vdCBkZWZpbmVkLgorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X3NyY3BhdGgoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaWYgKCFmcykKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBmc3RhYi1saWtlIGZzICovCisJaWYgKGZzLT50YWduYW1lKQorCQlyZXR1cm4gTlVMTDsJLyogdGhlIHNvdXJjZSBjb250YWlucyBhICJOQU1FPXZhbHVlIiAqLworCXJldHVybiBmcy0+c291cmNlOworfQorCisvKioKKyAqIG1udF9mc19nZXRfc291cmNlOgorICogQGZzOiBzdHJ1Y3QgbGlibW50X2ZpbGUgKGZzdGFiL210YWIvbW91bnRpbmZvKSBmcworICoKKyAqIFJldHVybnM6IG1vdW50IHNvdXJjZS4gTm90ZSB0aGF0IHRoZSBzb3VyY2UgY291bGQgYmUgdW5wYXJzZWQgVEFHCisgKiAoTEFCRUwvVVVJRCkuIFNlZSBhbHNvIG1udF9mc19nZXRfc3JjcGF0aCgpIGFuZCBtbnRfZnNfZ2V0X3RhZygpLgorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X3NvdXJjZShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+c291cmNlIDogTlVMTDsKK30KKworLyoKKyAqIFVzZWQgYnkgdGhlIHBhcnNlciBPTkxZIChAc291cmNlIGhhcyB0byBiZSBmcmVlZCBvbiBlcnJvcikKKyAqLworaW50IF9fbW50X2ZzX3NldF9zb3VyY2VfcHRyKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjaGFyICpzb3VyY2UpCit7CisJY2hhciAqdCA9IE5VTEwsICp2ID0gTlVMTDsKKworCWFzc2VydChmcyk7CisKKwlpZiAoc291cmNlICYmIGJsa2lkX3BhcnNlX3RhZ19zdHJpbmcoc291cmNlLCAmdCwgJnYpID09IDAgJiYKKwkgICAgIW1udF92YWxpZF90YWduYW1lKHQpKSB7CisJCS8qIHBhcnNhYmxlIGJ1dCB1bmtub3duIHRhZyAtLSBpZ25vcmUgKi8KKwkJZnJlZSh0KTsKKwkJZnJlZSh2KTsKKwkJdCA9IHYgPSBOVUxMOworCX0KKworCWlmIChmcy0+c291cmNlICE9IHNvdXJjZSkKKwkJZnJlZShmcy0+c291cmNlKTsKKworCWZyZWUoZnMtPnRhZ25hbWUpOworCWZyZWUoZnMtPnRhZ3ZhbCk7CisKKwlmcy0+c291cmNlID0gc291cmNlOworCWZzLT50YWduYW1lID0gdDsKKwlmcy0+dGFndmFsID0gdjsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfc2V0X3NvdXJjZToKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqIEBzb3VyY2U6IG5ldyBzb3VyY2UKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBwcml2YXRlIGNvcHkgKHN0cmR1cCgpKSBvZiBAc291cmNlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19zZXRfc291cmNlKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzb3VyY2UpCit7CisJY2hhciAqcCA9IE5VTEw7CisJaW50IHJjOworCisJaWYgKCFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoc291cmNlKSB7CisJCXAgPSBzdHJkdXAoc291cmNlKTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfQorCisJcmMgPSBfX21udF9mc19zZXRfc291cmNlX3B0cihmcywgcCk7CisJaWYgKHJjKQorCQlmcmVlKHApOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfZnNfc3RyZXFfc3JjcGF0aDoKKyAqIEBmczogZnMKKyAqIEBwYXRoOiBzb3VyY2UgcGF0aAorICoKKyAqIENvbXBhcmVzIEBmcyBzb3VyY2UgcGF0aCB3aXRoIEBwYXRoLiBUaGUgcmVkdW5kYW50IHNsYXNoZXMgYXJlIGlnbm9yZWQuCisgKiBUaGlzIGZ1bmN0aW9uIGNvbXBhcmVzIHN0cmluZ3MgYW5kIGRvZXMgbm90IGNhbm9uaWNhbGl6ZSB0aGUgcGF0aHMuCisgKiBTZWUgYWxzbyBtb3JlIGhlYXZ5IGFuZCBnZW5lcmljIG1udF9mc19tYXRjaF9zb3VyY2UoKS4KKyAqCisgKiBSZXR1cm5zOiAxIGlmIEBmcyBzb3VyY2UgcGF0aCBlcXVhbCB0byBAcGF0aCwgb3RoZXJ3aXNlIDAuCisgKi8KK2ludCBtbnRfZnNfc3RyZXFfc3JjcGF0aChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqcGF0aCkKK3sKKwljb25zdCBjaGFyICpwOworCisJaWYgKCFmcykKKwkJcmV0dXJuIDA7CisKKwlwID0gbW50X2ZzX2dldF9zcmNwYXRoKGZzKTsKKworCWlmICghbW50X2ZzX2lzX3BzZXVkb2ZzKGZzKSkKKwkJcmV0dXJuIHN0cmVxX3BhdGhzKHAsIHBhdGgpOworCisJaWYgKCFwICYmICFwYXRoKQorCQlyZXR1cm4gMTsKKworCXJldHVybiBwICYmIHBhdGggJiYgc3RyY21wKHAsIHBhdGgpID09IDA7Cit9CisKKy8qKgorICogbW50X2ZzX3N0cmVxX3RhcmdldDoKKyAqIEBmczogZnMKKyAqIEBwYXRoOiBtb3VudCBwb2ludAorICoKKyAqIENvbXBhcmVzIEBmcyB0YXJnZXQgcGF0aCB3aXRoIEBwYXRoLiBUaGUgcmVkdW5kYW50IHNsYXNoZXMgYXJlIGlnbm9yZWQuCisgKiBUaGlzIGZ1bmN0aW9uIGNvbXBhcmVzIHN0cmluZ3MgYW5kIGRvZXMgbm90IGNhbm9uaWNhbGl6ZSB0aGUgcGF0aHMuCisgKiBTZWUgYWxzbyBtb3JlIGdlbmVyaWMgbW50X2ZzX21hdGNoX3RhcmdldCgpLgorICoKKyAqIFJldHVybnM6IDEgaWYgQGZzIHRhcmdldCBwYXRoIGVxdWFsIHRvIEBwYXRoLCBvdGhlcndpc2UgMC4KKyAqLworaW50IG1udF9mc19zdHJlcV90YXJnZXQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJcmV0dXJuIGZzICYmIHN0cmVxX3BhdGhzKG1udF9mc19nZXRfdGFyZ2V0KGZzKSwgcGF0aCk7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF90YWc6CisgKiBAZnM6IGZzCisgKiBAbmFtZTogcmV0dXJucyBwb2ludGVyIHRvIE5BTUUgc3RyaW5nCisgKiBAdmFsdWU6IHJldHVybnMgcG9pbnRlciB0byBWQUxVRSBzdHJpbmcKKyAqCisgKiAiVEFHIiBpcyBOQU1FPVZBTFVFIChlLmcuIExBQkVMPWZvbykKKyAqCisgKiBUaGUgVEFHIGlzIHRoZSBmaXJzdCBjb2x1bW4gaW4gdGhlIGZzdGFiIGZpbGUuIFRoZSBUQUcgb3IgInNyY3BhdGgiIGFsd2F5cyBoYXMKKyAqIHRvIGJlIHNldCBmb3IgYWxsIGVudHJpZXMuCisgKgorICogU2VlIGFsc28gbW50X2ZzX2dldF9zb3VyY2UoKS4KKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKgljaGFyICpzcmM7CisgKglzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0YiwgIi9ob21lIiwgTU5UX0lURVJfRk9SV0FSRCk7CisgKgorICoJaWYgKCFmcykKKyAqCQlnb3RvIGVycjsKKyAqCisgKglzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpOworICoJaWYgKCFzcmMpIHsKKyAqCQljaGFyICp0YWcsICp2YWw7CisgKgkJaWYgKG1udF9mc19nZXRfdGFnKGZzLCAmdGFnLCAmdmFsKSA9PSAwKQorICoJCQlwcmludGYoIiVzOiAlc1xuIiwgdGFnLCB2YWwpOwkvLyBMQUJFTCBvciBVVUlECisgKgl9IGVsc2UKKyAqCQlwcmludGYoImRldmljZTogJXNcbiIsIHNyYyk7CQkvLyBkZXZpY2Ugb3IgYmluZCBwYXRoCisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2UgYSBUQUcgaXMgbm90IGRlZmluZWQuCisgKi8KK2ludCBtbnRfZnNfZ2V0X3RhZyhzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqKm5hbWUsIGNvbnN0IGNoYXIgKip2YWx1ZSkKK3sKKwlpZiAoZnMgPT0gTlVMTCB8fCAhZnMtPnRhZ25hbWUpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChuYW1lKQorCQkqbmFtZSA9IGZzLT50YWduYW1lOworCWlmICh2YWx1ZSkKKwkJKnZhbHVlID0gZnMtPnRhZ3ZhbDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3RhcmdldDoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkgcG9pbnRlcgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gbW91bnRwb2ludCBwYXRoIG9yIE5VTEwKKyAqLworY29uc3QgY2hhciAqbW50X2ZzX2dldF90YXJnZXQoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnRhcmdldCA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF90YXJnZXQ6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5CisgKiBAdGd0OiBtb3VudHBvaW50CisgKgorICogVGhpcyBmdW5jdGlvbiBjcmVhdGVzIGEgcHJpdmF0ZSBjb3B5IChzdHJkdXAoKSkgb2YgQHRndC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfc2V0X3RhcmdldChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqdGd0KQoreworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcihmcywgdGFyZ2V0LCB0Z3QpOworfQorCitzdGF0aWMgaW50IG1udF9mc19nZXRfZmxhZ3Moc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPmZsYWdzIDogMDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3Byb3BhZ2F0aW9uOgorICogQGZzOiBtb3VudGluZm8gZW50cnkKKyAqIEBmbGFnczogcmV0dXJucyBwcm9wYWdhdGlvbiBNU18qIGZsYWdzIGFzIHByZXNlbnQgaW4gdGhlIG1vdW50aW5mbyBmaWxlCisgKgorICogTm90ZSB0aGF0IHRoaXMgZnVuY3Rpb24gc2V0cyBAZmxhZ3MgdG8gemVybyBpZiBubyBwcm9wYWdhdGlvbiBmbGFncyBhcmUgZm91bmQKKyAqIGluIHRoZSBtb3VudGluZm8gZmlsZS4gVGhlIGtlcm5lbCBkZWZhdWx0IGlzIE1TX1BSSVZBVEUsIHRoaXMgZmxhZyBpcyBub3Qgc3RvcmVkCisgKiBpbiB0aGUgbW91bnRpbmZvIGZpbGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX2dldF9wcm9wYWdhdGlvbihzdHJ1Y3QgbGlibW50X2ZzICpmcywgdW5zaWduZWQgbG9uZyAqZmxhZ3MpCit7CisJaWYgKCFmcyB8fCAhZmxhZ3MpCisJCXJldHVybiAtRUlOVkFMOworCisJKmZsYWdzID0gMDsKKworCWlmICghZnMtPm9wdF9maWVsZHMpCisJCXJldHVybiAwOworCisJIC8qCisJICogVGhlIG9wdGlvbmFsIGZpZWxkcyBmb3JtYXQgaXMgaW5jb21wYXRpYmxlIHdpdGggbW91bnQgb3B0aW9ucworCSAqIC4uLiB3ZSBoYXZlIHRvIHBhcnNlIHRoZSBmaWVsZCBoZXJlLgorCSAqLworCSpmbGFncyB8PSBzdHJzdHIoZnMtPm9wdF9maWVsZHMsICJzaGFyZWQ6IikgPyBNU19TSEFSRUQgOiBNU19QUklWQVRFOworCisJaWYgKHN0cnN0cihmcy0+b3B0X2ZpZWxkcywgIm1hc3RlcjoiKSkKKwkJKmZsYWdzIHw9IE1TX1NMQVZFOworCWlmIChzdHJzdHIoZnMtPm9wdF9maWVsZHMsICJ1bmJpbmRhYmxlIikpCisJCSpmbGFncyB8PSBNU19VTkJJTkRBQkxFOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2ZzX2lzX2tlcm5lbDoKKyAqIEBmczogZmlsZXN5c3RlbQorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIGZpbGVzeXN0ZW0gZGVzY3JpcHRpb24gaXMgcmVhZCBmcm9tIGtlcm5lbCBlLmcuIC9wcm9jL21vdW50cy4KKyAqLworaW50IG1udF9mc19pc19rZXJuZWwoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIG1udF9mc19nZXRfZmxhZ3MoZnMpICYgTU5UX0ZTX0tFUk5FTDsKK30KKworLyoqCisgKiBtbnRfZnNfaXNfc3dhcGFyZWE6CisgKiBAZnM6IGZpbGVzeXN0ZW0KKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSBmaWxlc3lzdGVtIHVzZXMgInN3YXAiIGFzIGEgdHlwZQorICovCitpbnQgbW50X2ZzX2lzX3N3YXBhcmVhKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBtbnRfZnNfZ2V0X2ZsYWdzKGZzKSAmIE1OVF9GU19TV0FQOworfQorCisvKioKKyAqIG1udF9mc19pc19wc2V1ZG9mczoKKyAqIEBmczogZmlsZXN5c3RlbQorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIGZpbGVzeXN0ZW0gaXMgYSBwc2V1ZG8gZnMgdHlwZSAocHJvYywgY2dyb3VwcykKKyAqLworaW50IG1udF9mc19pc19wc2V1ZG9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gbW50X2ZzX2dldF9mbGFncyhmcykgJiBNTlRfRlNfUFNFVURPOworfQorCisvKioKKyAqIG1udF9mc19pc19uZXRmczoKKyAqIEBmczogZmlsZXN5c3RlbQorICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIGZpbGVzeXN0ZW0gaXMgYSBuZXR3b3JrIGZpbGVzeXN0ZW0KKyAqLworaW50IG1udF9mc19pc19uZXRmcyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gbW50X2ZzX2dldF9mbGFncyhmcykgJiBNTlRfRlNfTkVUOworfQorCisvKioKKyAqIG1udF9mc19nZXRfZnN0eXBlOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBmaWxlc3lzdGVtIHR5cGUuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfZnN0eXBlKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5mc3R5cGUgOiBOVUxMOworfQorCisvKiBVc2VkIGJ5IHRoZSBzdHJ1Y3QgbGlibW50X2ZpbGUgcGFyc2VyIG9ubHkgKi8KK2ludCBfX21udF9mc19zZXRfZnN0eXBlX3B0cihzdHJ1Y3QgbGlibW50X2ZzICpmcywgY2hhciAqZnN0eXBlKQoreworCWFzc2VydChmcyk7CisKKwlpZiAoZnN0eXBlICE9IGZzLT5mc3R5cGUpCisJCWZyZWUoZnMtPmZzdHlwZSk7CisKKwlmcy0+ZnN0eXBlID0gZnN0eXBlOworCWZzLT5mbGFncyAmPSB+TU5UX0ZTX1BTRVVETzsKKwlmcy0+ZmxhZ3MgJj0gfk1OVF9GU19ORVQ7CisJZnMtPmZsYWdzICY9IH5NTlRfRlNfU1dBUDsKKworCS8qIHNhdmUgaW5mbyBhYm91dCBwc2V1ZG8gZmlsZXN5c3RlbXMgKi8KKwlpZiAoZnMtPmZzdHlwZSkgeworCQlpZiAobW50X2ZzdHlwZV9pc19wc2V1ZG9mcyhmcy0+ZnN0eXBlKSkKKwkJCWZzLT5mbGFncyB8PSBNTlRfRlNfUFNFVURPOworCQllbHNlIGlmIChtbnRfZnN0eXBlX2lzX25ldGZzKGZzLT5mc3R5cGUpKQorCQkJZnMtPmZsYWdzIHw9IE1OVF9GU19ORVQ7CisJCWVsc2UgaWYgKCFzdHJjbXAoZnMtPmZzdHlwZSwgInN3YXAiKSkKKwkJCWZzLT5mbGFncyB8PSBNTlRfRlNfU1dBUDsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9mc3R5cGU6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5CisgKiBAZnN0eXBlOiBmaWxlc3lzdGVtIHR5cGUKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGNyZWF0ZXMgYSBwcml2YXRlIGNvcHkgKHN0cmR1cCgpKSBvZiBAZnN0eXBlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19zZXRfZnN0eXBlKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpmc3R5cGUpCit7CisJY2hhciAqcCA9IE5VTEw7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoZnN0eXBlKSB7CisJCXAgPSBzdHJkdXAoZnN0eXBlKTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisJfQorCXJldHVybiAgX19tbnRfZnNfc2V0X2ZzdHlwZV9wdHIoZnMsIHApOworfQorCisvKgorICogTWVyZ2VzIEB2ZnMgYW5kIEBmcyBvcHRpb25zIHN0cmluZ3MgaW50byBhIG5ldyBzdHJpbmcuCisgKiBUaGlzIGZ1bmN0aW9uIGNhcmVzIGFib3V0ICdyby9ydycgb3B0aW9ucy4gVGhlICdybycgaXMKKyAqIGFsd2F5cyB1c2VkIGlmIEB2ZnMgb3IgQGZzIGlzIHJlYWQtb25seS4KKyAqIEZvciBleGFtcGxlOgorICoKKyAqICAgIG1udF9tZXJnZV9vcHRzdHIoInJ3LG5vZXhlYyIsICJybyxqb3VybmFsPXVwZGF0ZSIpCisgKgorICogICAgICAgICAgIHJldHVybnM6ICJybyxub2V4ZWMsam91cm5hbD11cGRhdGUiCisgKgorICogICAgbW50X21lcmdlX29wdHN0cigicncsbm9leGVjIiwgInJ3LGpvdXJuYWw9dXBkYXRlIikKKyAqCisgKiAgICAgICAgICAgcmV0dXJuczogInJ3LG5vZXhlYyxqb3VybmFsPXVwZGF0ZSIKKyAqLworc3RhdGljIGNoYXIgKm1lcmdlX29wdHN0cihjb25zdCBjaGFyICp2ZnMsIGNvbnN0IGNoYXIgKmZzKQoreworCWNoYXIgKnJlcywgKnA7CisJc2l6ZV90IHN6OworCWludCBybyA9IDAsIHJ3ID0gMDsKKworCWlmICghdmZzICYmICFmcykKKwkJcmV0dXJuIE5VTEw7CisJaWYgKCF2ZnMgfHwgIWZzKQorCQlyZXR1cm4gc3RyZHVwKGZzID8gZnMgOiB2ZnMpOworCWlmICghc3RyY21wKHZmcywgZnMpKQorCQlyZXR1cm4gc3RyZHVwKHZmcyk7CQkvKiBlLmcuICJhYWEiIGFuZCAiYWFhIiAqLworCisJLyogbGVhdmUgc3BhY2UgZm9yIHRoZSBsZWFkaW5nICJyW293XSwiLCAiLCIgYW5kIHRoZSB0cmFpbGluZyB6ZXJvICovCisJc3ogPSBzdHJsZW4odmZzKSArIHN0cmxlbihmcykgKyA1OworCXJlcyA9IG1hbGxvYyhzeik7CisJaWYgKCFyZXMpCisJCXJldHVybiBOVUxMOworCXAgPSByZXMgKyAzOwkJCS8qIG1ha2UgYSByb29tIGZvciBydy9ybyBmbGFnICovCisKKwlzbnByaW50ZihwLCBzeiAtIDMsICIlcywlcyIsIHZmcywgZnMpOworCisJLyogcmVtb3ZlICdydycgZmxhZ3MgKi8KKwlydyArPSAhbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uKCZwLCAicnciKTsJLyogZnJvbSB2ZnMgKi8KKwlydyArPSAhbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uKCZwLCAicnciKTsJLyogZnJvbSBmcyAqLworCisJLyogcmVtb3ZlICdybycgZmxhZ3MgaWYgbmVjZXNzYXJ5ICovCisJaWYgKHJ3ICE9IDIpIHsKKwkJcm8gKz0gIW1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbigmcCwgInJvIik7CisJCWlmIChybyArIHJ3IDwgMikKKwkJCXJvICs9ICFtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb24oJnAsICJybyIpOworCX0KKworCWlmICghc3RybGVuKHApKQorCQltZW1jcHkocmVzLCBybyA/ICJybyIgOiAicnciLCAzKTsKKwllbHNlCisJCW1lbWNweShyZXMsIHJvID8gInJvLCIgOiAicncsIiwgMyk7CisJcmV0dXJuIHJlczsKK30KKworLyoqCisgKiBtbnRfZnNfc3RyZHVwX29wdGlvbnM6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5IHBvaW50ZXIKKyAqCisgKiBNZXJnZXMgYWxsIG1vdW50IG9wdGlvbnMgKFZGUywgRlMgYW5kIHVzZXJzcGFjZSkgdG8gb25lIG9wdGlvbnMgc3RyaW5nCisgKiBhbmQgcmV0dXJucyB0aGUgcmVzdWx0LiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IG1vZGlmeSBAZnMuCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBzdHJpbmcgKGNhbiBiZSBmcmVlZCBieSBmcmVlKDMpKSBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2NoYXIgKm1udF9mc19zdHJkdXBfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwljaGFyICpyZXM7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gTlVMTDsKKworCWVycm5vID0gMDsKKwlpZiAoZnMtPm9wdHN0cikKKwkJcmV0dXJuIHN0cmR1cChmcy0+b3B0c3RyKTsKKworCXJlcyA9IG1lcmdlX29wdHN0cihmcy0+dmZzX29wdHN0ciwgZnMtPmZzX29wdHN0cik7CisJaWYgKCFyZXMgJiYgZXJybm8pCisJCXJldHVybiBOVUxMOworCWlmIChmcy0+dXNlcl9vcHRzdHIgJiYKKwkgICAgbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKCZyZXMsIGZzLT51c2VyX29wdHN0ciwgTlVMTCkpIHsKKwkJZnJlZShyZXMpOworCQlyZXMgPSBOVUxMOworCX0KKwlyZXR1cm4gcmVzOworfQorCisvKioKKyAqIG1udF9mc19nZXRfb3B0aW9uczoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkgcG9pbnRlcgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworY29uc3QgY2hhciAqbW50X2ZzX2dldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5vcHRzdHIgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9mc19nZXRfb3B0aW9uYWxfZmllbGRzCisgKiBAZnM6IG1vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBzdHJpbmcgd2l0aCBtb3VudGluZm8gb3B0aW9uYWwgZmllbGRzCisgKiAgICAgICAgICBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfb3B0aW9uYWxfZmllbGRzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5vcHRfZmllbGRzIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfZnNfc2V0X29wdGlvbnM6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5IHBvaW50ZXIKKyAqIEBvcHRzdHI6IG9wdGlvbnMgc3RyaW5nCisgKgorICogU3BsaXRzIEBvcHRzdHIgdG8gVkZTLCBGUyBhbmQgdXNlcnNwYWNlIG1vdW50IG9wdGlvbnMgYW5kIHVwZGF0ZXMgcmVsZXZhbnQKKyAqIHBhcnRzIG9mIEBmcy4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3NldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpCit7CisJY2hhciAqdiA9IE5VTEwsICpmID0gTlVMTCwgKnUgPSBOVUxMLCAqbiA9IE5VTEw7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAob3B0c3RyKSB7CisJCWludCByYyA9IG1udF9zcGxpdF9vcHRzdHIob3B0c3RyLCAmdSwgJnYsICZmLCAwLCAwKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCQluID0gc3RyZHVwKG9wdHN0cik7CisJCWlmICghbikgeworCQkJZnJlZSh1KTsKKwkJCWZyZWUodik7CisJCQlmcmVlKGYpOworCQkJcmV0dXJuIC1FTk9NRU07CisJCX0KKwl9CisKKwlmcmVlKGZzLT5mc19vcHRzdHIpOworCWZyZWUoZnMtPnZmc19vcHRzdHIpOworCWZyZWUoZnMtPnVzZXJfb3B0c3RyKTsKKwlmcmVlKGZzLT5vcHRzdHIpOworCisJZnMtPmZzX29wdHN0ciA9IGY7CisJZnMtPnZmc19vcHRzdHIgPSB2OworCWZzLT51c2VyX29wdHN0ciA9IHU7CisJZnMtPm9wdHN0ciA9IG47CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfYXBwZW5kX29wdGlvbnM6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5CisgKiBAb3B0c3RyOiBtb3VudCBvcHRpb25zCisgKgorICogUGFyc2VzIChzcGxpdHMpIEBvcHRzdHIgYW5kIGFwcGVuZHMgcmVzdWx0cyB0byBWRlMsIEZTIGFuZCB1c2Vyc3BhY2UgbGlzdHMKKyAqIG9mIG9wdGlvbnMuCisgKgorICogSWYgQG9wdHN0ciBpcyBOVUxMLCB0aGVuIEBmcyBpcyBub3QgbW9kaWZpZWQgYW5kIDAgaXMgcmV0dXJuZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX2FwcGVuZF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpCit7CisJY2hhciAqdiA9IE5VTEwsICpmID0gTlVMTCwgKnUgPSBOVUxMOworCWludCByYzsKKworCWlmICghZnMpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghb3B0c3RyKQorCQlyZXR1cm4gMDsKKworCXJjID0gbW50X3NwbGl0X29wdHN0cigoY2hhciAqKSBvcHRzdHIsICZ1LCAmdiwgJmYsIDAsIDApOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJaWYgKCFyYyAmJiB2KQorCQlyYyA9IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbigmZnMtPnZmc19vcHRzdHIsIHYsIE5VTEwpOworCWlmICghcmMgJiYgZikKKwkJcmMgPSBtbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oJmZzLT5mc19vcHRzdHIsIGYsIE5VTEwpOworCWlmICghcmMgJiYgdSkKKwkJcmMgPSBtbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oJmZzLT51c2VyX29wdHN0ciwgdSwgTlVMTCk7CisJaWYgKCFyYykKKwkJcmMgPSBtbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oJmZzLT5vcHRzdHIsIG9wdHN0ciwgTlVMTCk7CisKKwlmcmVlKHYpOworCWZyZWUoZik7CisJZnJlZSh1KTsKKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfZnNfcHJlcGVuZF9vcHRpb25zOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeQorICogQG9wdHN0cjogbW91bnQgb3B0aW9ucworICoKKyAqIFBhcnNlcyAoc3BsaXRzKSBAb3B0c3RyIGFuZCBwcmVwZW5kcyB0aGUgcmVzdWx0cyB0byBWRlMsIEZTIGFuZCB1c2Vyc3BhY2UgbGlzdHMKKyAqIG9mIG9wdGlvbnMuCisgKgorICogSWYgQG9wdHN0ciBpcyBOVUxMLCB0aGVuIEBmcyBpcyBub3QgbW9kaWZpZWQgYW5kIDAgaXMgcmV0dXJuZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3ByZXBlbmRfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqb3B0c3RyKQoreworCWNoYXIgKnYgPSBOVUxMLCAqZiA9IE5VTEwsICp1ID0gTlVMTDsKKwlpbnQgcmM7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW9wdHN0cikKKwkJcmV0dXJuIDA7CisKKwlyYyA9IG1udF9zcGxpdF9vcHRzdHIoKGNoYXIgKikgb3B0c3RyLCAmdSwgJnYsICZmLCAwLCAwKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWlmICghcmMgJiYgdikKKwkJcmMgPSBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKCZmcy0+dmZzX29wdHN0ciwgdiwgTlVMTCk7CisJaWYgKCFyYyAmJiBmKQorCQlyYyA9IG1udF9vcHRzdHJfcHJlcGVuZF9vcHRpb24oJmZzLT5mc19vcHRzdHIsIGYsIE5VTEwpOworCWlmICghcmMgJiYgdSkKKwkJcmMgPSBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKCZmcy0+dXNlcl9vcHRzdHIsIHUsIE5VTEwpOworCWlmICghcmMpCisJCXJjID0gbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbigmZnMtPm9wdHN0ciwgb3B0c3RyLCBOVUxMKTsKKworCWZyZWUodik7CisJZnJlZShmKTsKKwlmcmVlKHUpOworCisJcmV0dXJuIHJjOworfQorCisvKgorICogbW50X2ZzX2dldF9mc19vcHRpb25zOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBzdXBlcmJsb2NrIChmcy1kZXBlbmQpIG1vdW50IG9wdGlvbiBzdHJpbmcgb3IgTlVMTC4KKyAqLworY29uc3QgY2hhciAqbW50X2ZzX2dldF9mc19vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5mc19vcHRzdHIgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9mc19nZXRfdmZzX29wdGlvbnM6CisgKiBAZnM6IGZzdGFiL210YWIgZW50cnkgcG9pbnRlcgorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gZnMtaW5kZXBlbmRlbnQgKFZGUykgbW91bnQgb3B0aW9uIHN0cmluZyBvciBOVUxMLgorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X3Zmc19vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT52ZnNfb3B0c3RyIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9uczoKKyAqIEBmczogZnN0YWIvbXRhYiBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byB1c2Vyc3BhY2UgbW91bnQgb3B0aW9uIHN0cmluZyBvciBOVUxMLgorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+dXNlcl9vcHRzdHIgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9mc19nZXRfYXR0cmlidXRlczoKKyAqIEBmczogZnN0YWIvbXRhYiBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBhdHRyaWJ1dGVzIHN0cmluZyBvciBOVUxMLgorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X2F0dHJpYnV0ZXMoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPmF0dHJzIDogTlVMTDsKK30KKworLyoqCisgKiBtbnRfZnNfc2V0X2F0dHJpYnV0ZXM6CisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5CisgKiBAb3B0c3RyOiBvcHRpb25zIHN0cmluZworICoKKyAqIFNldHMgbW91bnQgYXR0cmlidXRlcy4gVGhlIGF0dHJpYnV0ZXMgYXJlIG1vdW50KDIpIGFuZCBtb3VudCg4KSBpbmRlcGVuZGVudAorICogb3B0aW9ucywgdGhlc2Ugb3B0aW9ucyBhcmUgbm90IHNlbnQgdG8gdGhlIGtlcm5lbCBhbmQgYXJlIG5vdCBpbnRlcnByZXRlZCBieQorICogbGlibW91bnQuIFRoZSBhdHRyaWJ1dGVzIGFyZSBzdG9yZWQgaW4gL3J1bi9tb3VudC91dGFiIG9ubHkuCisgKgorICogVGhlIGF0dHJpYnV0ZXMgYXJlIG1hbmFnZWQgYnkgbGlibW91bnQgaW4gdXNlcnNwYWNlIG9ubHkuIEl0J3MgcG9zc2libGUKKyAqIHRoYXQgaW5mb3JtYXRpb24gc3RvcmVkIGluIHVzZXJzcGFjZSB3aWxsIG5vdCBiZSBhdmFpbGFibGUgZm9yIGxpYm1vdW50CisgKiBhZnRlciBDTE9ORV9GUyB1bnNoYXJlLiBCZSBjYXJlZnVsLCBhbmQgZG9uJ3QgdXNlIGF0dHJpYnV0ZXMgaWYgcG9zc2libGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3NldF9hdHRyaWJ1dGVzKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGZzLCBhdHRycywgb3B0c3RyKTsKK30KKworLyoqCisgKiBtbnRfZnNfYXBwZW5kX2F0dHJpYnV0ZXMKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqIEBvcHRzdHI6IG9wdGlvbnMgc3RyaW5nCisgKgorICogQXBwZW5kcyBtb3VudCBhdHRyaWJ1dGVzLiAoU2VlIG1udF9mc19zZXRfYXR0cmlidXRlcygpKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfYXBwZW5kX2F0dHJpYnV0ZXMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cikKK3sKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW9wdHN0cikKKwkJcmV0dXJuIDA7CisJcmV0dXJuIG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbigmZnMtPmF0dHJzLCBvcHRzdHIsIE5VTEwpOworfQorCisvKioKKyAqIG1udF9mc19wcmVwZW5kX2F0dHJpYnV0ZXMKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqIEBvcHRzdHI6IG9wdGlvbnMgc3RyaW5nCisgKgorICogUHJlcGVuZHMgbW91bnQgYXR0cmlidXRlcy4gKFNlZSBtbnRfZnNfc2V0X2F0dHJpYnV0ZXMoKSkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3ByZXBlbmRfYXR0cmlidXRlcyhzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqb3B0c3RyKQoreworCWlmICghZnMpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghb3B0c3RyKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbigmZnMtPmF0dHJzLCBvcHRzdHIsIE5VTEwpOworfQorCisKKy8qKgorICogbW50X2ZzX2dldF9mcmVxOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKgorICogUmV0dXJuczogZHVtcCBmcmVxdWVuY3kgaW4gZGF5cy4KKyAqLworaW50IG1udF9mc19nZXRfZnJlcShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+ZnJlcSA6IDA7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9mcmVxOgorICogQGZzOiBmc3RhYi9tdGFiIGVudHJ5IHBvaW50ZXIKKyAqIEBmcmVxOiBkdW1wIGZyZXF1ZW5jeSBpbiBkYXlzCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3NldF9mcmVxKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgZnJlcSkKK3sKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlmcy0+ZnJlcSA9IGZyZXE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9wYXNzbm86CisgKiBAZnM6IGZzdGFiL210YWIgZW50cnkgcG9pbnRlcgorICoKKyAqIFJldHVybnM6ICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrIi4KKyAqLworaW50IG1udF9mc19nZXRfcGFzc25vKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5wYXNzbm86IDA7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9wYXNzbm86CisgKiBAZnM6IGZzdGFiL210YWIgZW50cnkgcG9pbnRlcgorICogQHBhc3NubzogcGFzcyBudW1iZXIKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfc2V0X3Bhc3NubyhzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IHBhc3NubykKK3sKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlmcy0+cGFzc25vID0gcGFzc25vOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9mc19nZXRfcm9vdDoKKyAqIEBmczogL3Byb2Mvc2VsZi9tb3VudGluZm8gZW50cnkKKyAqCisgKiBSZXR1cm5zOiByb290IG9mIHRoZSBtb3VudCB3aXRoaW4gdGhlIGZpbGVzeXN0ZW0gb3IgTlVMTAorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X3Jvb3Qoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnJvb3QgOiBOVUxMOworfQorCisvKioKKyAqIG1udF9mc19zZXRfcm9vdDoKKyAqIEBmczogbW91bnRpbmZvIGVudHJ5CisgKiBAcGF0aDogcm9vdCBwYXRoCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3NldF9yb290KHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpwYXRoKQoreworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcihmcywgcm9vdCwgcGF0aCk7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9zd2FwdHlwZToKKyAqIEBmczogL3Byb2Mvc3dhcHMgZW50cnkKKyAqCisgKiBSZXR1cm5zOiBzd2FwIHR5cGUgb3IgTlVMTAorICovCitjb25zdCBjaGFyICptbnRfZnNfZ2V0X3N3YXB0eXBlKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5zd2FwdHlwZSA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9zaXplOgorICogQGZzOiAvcHJvYy9zd2FwcyBlbnRyeQorICoKKyAqIFJldHVybnM6IHNpemUKKyAqLworb2ZmX3QgbW50X2ZzX2dldF9zaXplKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5zaXplIDogMDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X3VzZWRzaXplOgorICogQGZzOiAvcHJvYy9zd2FwcyBlbnRyeQorICoKKyAqIFJldHVybnM6IHVzZWQgc2l6ZQorICovCitvZmZfdCBtbnRfZnNfZ2V0X3VzZWRzaXplKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT51c2Vkc2l6ZSA6IDA7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9wcmlvcml0eToKKyAqIEBmczogL3Byb2Mvc3dhcHMgZW50cnkKKyAqCisgKiBSZXR1cm5zOiBwcmlvcml0eQorICovCitpbnQgbW50X2ZzX2dldF9wcmlvcml0eShzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+cHJpb3JpdHkgOiAwOworfQorCisvKioKKyAqIG1udF9mc19zZXRfcHJpb3JpdHk6CisgKiBAZnM6IC9wcm9jL3N3YXBzIGVudHJ5CisgKiBAcHJpbzogcHJpb3JpdHkKKyAqCisgKiBTaW5jZTogMi4yOAorICoKKyAqIFJldHVybnM6IDAgb3IgLTEgaW4gY2FzZSBvZiBlcnJvcgorICovCitpbnQgbW50X2ZzX3NldF9wcmlvcml0eShzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IHByaW8pCit7CisJaWYgKCFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisJZnMtPnByaW9yaXR5ID0gcHJpbzsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfZ2V0X2JpbmRzcmM6CisgKiBAZnM6IC9ydW4vbW91bnQvdXRhYiBlbnRyeQorICoKKyAqIFJldHVybnM6IGZ1bGwgcGF0aCB0aGF0IHdhcyB1c2VkIGZvciBtb3VudCgyKSBvbiBNU19CSU5ECisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfYmluZHNyYyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlyZXR1cm4gZnMgPyBmcy0+YmluZHNyYyA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9iaW5kc3JjOgorICogQGZzOiBmaWxlc3lzdGVtCisgKiBAc3JjOiBwYXRoCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX3NldF9iaW5kc3JjKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzcmMpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGZzLCBiaW5kc3JjLCBzcmMpOworfQorCisvKioKKyAqIG1udF9mc19nZXRfaWQ6CisgKiBAZnM6IC9wcm9jL3NlbGYvbW91bnRpbmZvIGVudHJ5CisgKgorICogUmV0dXJuczogbW91bnQgSUQgKHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSBtb3VudCkgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfZ2V0X2lkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5pZCA6IC1FSU5WQUw7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9wYXJlbnRfaWQ6CisgKiBAZnM6IC9wcm9jL3NlbGYvbW91bnRpbmZvIGVudHJ5CisgKgorICogUmV0dXJuczogcGFyZW50IG1vdW50IElEIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X2ZzX2dldF9wYXJlbnRfaWQoc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJcmV0dXJuIGZzID8gZnMtPnBhcmVudCA6IC1FSU5WQUw7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF9kZXZubzoKKyAqIEBmczogL3Byb2Mvc2VsZi9tb3VudGluZm8gZW50cnkKKyAqCisgKiBSZXR1cm5zOiB2YWx1ZSBvZiBzdF9kZXYgZm9yIGZpbGVzIG9uIGZpbGVzeXN0ZW0gb3IgMCBpbiBjYXNlIG9mIGVycm9yLgorICovCitkZXZfdCBtbnRfZnNfZ2V0X2Rldm5vKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT5kZXZubyA6IDA7Cit9CisKKy8qKgorICogbW50X2ZzX2dldF90aWQ6CisgKiBAZnM6IC9wcm9jL3RpZC9tb3VudGluZm8gZW50cnkKKyAqCisgKiBSZXR1cm5zOiBUSUQgKHRhc2sgSUQpIGZvciBmaWxlc3lzdGVtcyByZWFkIGZyb20gdGhlIG1vdW50aW5mbyBmaWxlCisgKi8KK3BpZF90IG1udF9mc19nZXRfdGlkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXJldHVybiBmcyA/IGZzLT50aWQgOiAwOworfQorCisvKioKKyAqIG1udF9mc19nZXRfb3B0aW9uOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKiBAbmFtZTogb3B0aW9uIG5hbWUKKyAqIEB2YWx1ZTogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHZhbHVlIChlLmcuIG5hbWU9VkFMVUUpIG9yIE5VTEwKKyAqIEB2YWxzejogcmV0dXJucyBzaXplIG9mIG9wdGlvbnMgdmFsdWUgb3IgMAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIEBuYW1lIG5vdCBmb3VuZCBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19nZXRfb3B0aW9uKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpuYW1lLAorCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsc3opCit7CisJY2hhciByYyA9IDE7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoZnMtPmZzX29wdHN0cikKKwkJcmMgPSBtbnRfb3B0c3RyX2dldF9vcHRpb24oZnMtPmZzX29wdHN0ciwgbmFtZSwgdmFsdWUsIHZhbHN6KTsKKwlpZiAocmMgPT0gMSAmJiBmcy0+dmZzX29wdHN0cikKKwkJcmMgPSBtbnRfb3B0c3RyX2dldF9vcHRpb24oZnMtPnZmc19vcHRzdHIsIG5hbWUsIHZhbHVlLCB2YWxzeik7CisJaWYgKHJjID09IDEgJiYgZnMtPnVzZXJfb3B0c3RyKQorCQlyYyA9IG1udF9vcHRzdHJfZ2V0X29wdGlvbihmcy0+dXNlcl9vcHRzdHIsIG5hbWUsIHZhbHVlLCB2YWxzeik7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9mc19nZXRfYXR0cmlidXRlOgorICogQGZzOiBmc3RhYi9tdGFiL21vdW50aW5mbyBlbnRyeSBwb2ludGVyCisgKiBAbmFtZTogb3B0aW9uIG5hbWUKKyAqIEB2YWx1ZTogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHZhbHVlIChlLmcuIG5hbWU9VkFMVUUpIG9yIE5VTEwKKyAqIEB2YWxzejogcmV0dXJucyBzaXplIG9mIG9wdGlvbnMgdmFsdWUgb3IgMAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIEBuYW1lIG5vdCBmb3VuZCBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19nZXRfYXR0cmlidXRlKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpuYW1lLAorCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsc3opCit7CisJY2hhciByYyA9IDE7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoZnMtPmF0dHJzKQorCQlyYyA9IG1udF9vcHRzdHJfZ2V0X29wdGlvbihmcy0+YXR0cnMsIG5hbWUsIHZhbHVlLCB2YWxzeik7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9mc19nZXRfY29tbWVudDoKKyAqIEBmczogZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkgcG9pbnRlcgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIG5vdCBmb3VuZCB0aGUgQG5hbWUgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9mc19nZXRfY29tbWVudChzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpZiAoIWZzKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gZnMtPmNvbW1lbnQ7Cit9CisKKy8qKgorICogbW50X2ZzX3NldF9jb21tZW50OgorICogQGZzOiBmc3RhYiBlbnRyeSBwb2ludGVyCisgKiBAY29tbTogY29tbWVudCBzdHJpbmcKKyAqCisgKiBOb3RlIHRoYXQgdGhlIGNvbW1lbnQgaGFzIHRvIGJlIHRlcm1pbmF0ZWQgYnkgJ1xuJyAobmV3IGxpbmUpLCBvdGhlcndpc2UKKyAqIHRoZSB3aG9sZSBmaWxlc3lzdGVtIGVudHJ5IHdpbGwgYmUgd3JpdHRlbiBhcyBhIGNvbW1lbnQgdG8gdGhlIHRhYmZpbGUgKGUuZy4KKyAqIGZzdGFiKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgPDAgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9mc19zZXRfY29tbWVudChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqY29tbSkKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoZnMsIGNvbW1lbnQsIGNvbW0pOworfQorCisvKioKKyAqIG1udF9mc19hcHBlbmRfY29tbWVudDoKKyAqIEBmczogZnN0YWIgZW50cnkgcG9pbnRlcgorICogQGNvbW06IGNvbW1lbnQgc3RyaW5nCisgKgorICogU2VlIGFsc28gbW50X2ZzX3NldF9jb21tZW50KCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIDwwIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfYXBwZW5kX2NvbW1lbnQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKmNvbW0pCit7CisJaWYgKCFmcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlyZXR1cm4gYXBwZW5kX3N0cmluZygmZnMtPmNvbW1lbnQsIGNvbW0pOworfQorCisvKioKKyAqIG1udF9mc19tYXRjaF90YXJnZXQ6CisgKiBAZnM6IGZpbGVzeXN0ZW0KKyAqIEB0YXJnZXQ6IG1vdW50cG9pbnQgcGF0aAorICogQGNhY2hlOiB0YWdzL3BhdGhzIGNhY2hlIG9yIE5VTEwKKyAqCisgKiBQb3NzaWJsZSBhcmUgdGhyZWUgYXR0ZW1wdHM6CisgKgkxKSBjb21wYXJlIEB0YXJnZXQgd2l0aCBAZnMtPnRhcmdldAorICoKKyAqCTIpIHJlYWxwYXRoKEB0YXJnZXQpIHdpdGggQGZzLT50YXJnZXQKKyAqCisgKgkzKSByZWFscGF0aChAdGFyZ2V0KSB3aXRoIHJlYWxwYXRoKEBmcy0+dGFyZ2V0KSBpZiBAZnMgaXMgbm90IGZyb20KKyAqCSAgIC9wcm9jL3NlbGYvbW91bnRpbmZvLgorICoKKyAqCSAgIEhvd2V2ZXIsIGlmIG1udF9jYWNoZV9zZXRfdGFyZ2V0cyhjYWNoZSwgbXRhYikgd2FzIGNhbGxlZCwgYW5kIHRoZQorICoJICAgcGF0aCBAdGFyZ2V0IG9yIEBmcy0+dGFyZ2V0IGlzIGZvdW5kIGluIHRoZSBAbXRhYiwgdGhlIGNhbm9uaWNhbGl6YXRpb24gaXMKKyAqCSAgIGlzIG5vdCBwZXJmb3JtZWQgKHNlZSBtbnRfcmVzb2x2ZV90YXJnZXQoKSkuCisgKgorICogVGhlIDJuZCBhbmQgM3JkIGF0dGVtcHRzIGFyZSBub3QgcGVyZm9ybWVkIHdoZW4gQGNhY2hlIGlzIE5VTEwuCisgKgorICogUmV0dXJuczogMSBpZiBAZnMgdGFyZ2V0IGlzIGVxdWFsIHRvIEB0YXJnZXQsIGVsc2UgMC4KKyAqLworaW50IG1udF9mc19tYXRjaF90YXJnZXQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnRhcmdldCwKKwkJCXN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWludCByYyA9IDA7CisKKwlpZiAoIWZzIHx8ICF0YXJnZXQgfHwgIWZzLT50YXJnZXQpCisJCXJldHVybiAwOworCisJLyogMSkgbmF0aXZlIHBhdGhzICovCisJcmMgPSBtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCB0YXJnZXQpOworCisJaWYgKCFyYyAmJiBjYWNoZSkgeworCQkvKiAyKSAtIGNhbm9uaWNhbGl6ZWQgYW5kIG5vbi1jYW5vbmljYWxpemVkICovCisJCWNoYXIgKmNuID0gbW50X3Jlc29sdmVfdGFyZ2V0KHRhcmdldCwgY2FjaGUpOworCQlyYyA9IChjbiAmJiBtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCBjbikpOworCisJCS8qIDMpIC0gY2Fub25pY2FsaXplZCBhbmQgY2Fub25pY2FsaXplZCAqLworCQlpZiAoIXJjICYmIGNuICYmICFtbnRfZnNfaXNfa2VybmVsKGZzKSAmJiAhbW50X2ZzX2lzX3N3YXBhcmVhKGZzKSkgeworCQkJY2hhciAqdGNuID0gbW50X3Jlc29sdmVfdGFyZ2V0KGZzLT50YXJnZXQsIGNhY2hlKTsKKwkJCXJjID0gKHRjbiAmJiBzdHJjbXAoY24sIHRjbikgPT0gMCk7CisJCX0KKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X2ZzX21hdGNoX3NvdXJjZToKKyAqIEBmczogZmlsZXN5c3RlbQorICogQHNvdXJjZTogdGFnIG9yIHBhdGggKGRldmljZSBvciBzbykgb3IgTlVMTAorICogQGNhY2hlOiB0YWdzL3BhdGhzIGNhY2hlIG9yIE5VTEwKKyAqCisgKiBGb3VyIGF0dGVtcHRzIGFyZSBwb3NzaWJsZToKKyAqCTEpIGNvbXBhcmUgQHNvdXJjZSB3aXRoIEBmcy0+c291cmNlCisgKgkyKSBjb21wYXJlIHJlYWxwYXRoKEBzb3VyY2UpIHdpdGggQGZzLT5zb3VyY2UKKyAqCTMpIGNvbXBhcmUgcmVhbHBhdGgoQHNvdXJjZSkgd2l0aCByZWFscGF0aChAZnMtPnNvdXJjZSkKKyAqCTQpIGNvbXBhcmUgcmVhbHBhdGgoQHNvdXJjZSkgd2l0aCBldmFsdWF0ZWQgdGFnIGZyb20gQGZzLT5zb3VyY2UKKyAqCisgKiBUaGUgMm5kLCAzcmQgYW5kIDR0aCBhdHRlbXB0cyBhcmUgbm90IHBlcmZvcm1lZCB3aGVuIEBjYWNoZSBpcyBOVUxMLiBUaGUKKyAqIDJuZCBhbmQgM3JkIGF0dGVtcHRzIGFyZSBub3QgcGVyZm9ybWVkIGlmIEBmcy0+c291cmNlIGlzIHRhZy4KKyAqCisgKiBSZXR1cm5zOiAxIGlmIEBmcyBzb3VyY2UgaXMgZXF1YWwgdG8gQHNvdXJjZSwgZWxzZSAwLgorICovCitpbnQgbW50X2ZzX21hdGNoX3NvdXJjZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqc291cmNlLAorCQkJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpCit7CisJY2hhciAqY247CisJY29uc3QgY2hhciAqc3JjLCAqdCwgKnY7CisKKwlpZiAoIWZzKQorCQlyZXR1cm4gMDsKKworCS8qIDEpIG5hdGl2ZSBwYXRocy4uLiAqLworCWlmIChtbnRfZnNfc3RyZXFfc3JjcGF0aChmcywgc291cmNlKSA9PSAxKQorCQlyZXR1cm4gMTsKKworCWlmICghc291cmNlIHx8ICFmcy0+c291cmNlKQorCQlyZXR1cm4gMDsKKworCS8qIC4uLiBhbmQgdGFncyAqLworCWlmIChmcy0+dGFnbmFtZSAmJiBzdHJjbXAoc291cmNlLCBmcy0+c291cmNlKSA9PSAwKQorCQlyZXR1cm4gMTsKKworCWlmICghY2FjaGUpCisJCXJldHVybiAwOworCWlmIChmcy0+ZmxhZ3MgJiAoTU5UX0ZTX05FVCB8IE1OVF9GU19QU0VVRE8pKQorCQlyZXR1cm4gMDsKKworCWNuID0gbW50X3Jlc29sdmVfc3BlYyhzb3VyY2UsIGNhY2hlKTsKKwlpZiAoIWNuKQorCQlyZXR1cm4gMDsKKworCS8qIDIpIGNhbm9uaWNhbGl6ZWQgYW5kIG5hdGl2ZSAqLworCXNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChmcyk7CisJaWYgKHNyYyAmJiBtbnRfZnNfc3RyZXFfc3JjcGF0aChmcywgY24pKQorCQlyZXR1cm4gMTsKKworCS8qIDMpIGNhbm9uaWNhbGl6ZWQgYW5kIGNhbm9uaWNhbGl6ZWQgKi8KKwlpZiAoc3JjKSB7CisJCXNyYyA9IG1udF9yZXNvbHZlX3BhdGgoc3JjLCBjYWNoZSk7CisJCWlmIChzcmMgJiYgIXN0cmNtcChjbiwgc3JjKSkKKwkJCXJldHVybiAxOworCX0KKwlpZiAoc3JjIHx8IG1udF9mc19nZXRfdGFnKGZzLCAmdCwgJnYpKQorCQkvKiBzcmMgcGF0aCBkb2VzIG5vdCBtYXRjaCBhbmQgdGhlIHRhZyBpcyBub3QgZGVmaW5lZCAqLworCQlyZXR1cm4gMDsKKworCS8qIHJlYWQgQHNvdXJjZSdzIHRhZ3MgdG8gdGhlIGNhY2hlICovCisJaWYgKG1udF9jYWNoZV9yZWFkX3RhZ3MoY2FjaGUsIGNuKSA8IDApIHsKKwkJaWYgKGVycm5vID09IEVBQ0NFUykgeworCQkJLyogd2UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9ucyB0byByZWFkIFRBR3MgZnJvbQorCQkJICogQHNvdXJjZSwgYnV0IGNhbiB0cmFuc2xhdGUgdGhlIEBmcyB0YWcgdG8gZGV2bmFtZS4KKwkJCSAqCisJCQkgKiAoYmVjYXVzZSBsaWJibGtpZCB1c2VzIHVkZXYgc3ltbGlua3MgYW5kIHRoaXMgaXMKKwkJCSAqIGFjY2Vzc2libGUgZm9yIG5vbi1yb290IHVzZXMpCisJCQkgKi8KKwkJCWNoYXIgKnggPSBtbnRfcmVzb2x2ZV90YWcodCwgdiwgY2FjaGUpOworCQkJaWYgKHggJiYgIXN0cmNtcCh4LCBjbikpCisJCQkJcmV0dXJuIDE7CisJCX0KKwkJcmV0dXJuIDA7CisJfQorCisJLyogNCkgaGFzIHRoZSBAc291cmNlIGEgdGFnIHRoYXQgbWF0Y2hlcyB3aXRoIHRoZSB0YWcgZnJvbSBAZnMgPyAqLworCWlmIChtbnRfY2FjaGVfZGV2aWNlX2hhc190YWcoY2FjaGUsIGNuLCB0LCB2KSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnNfbWF0Y2hfZnN0eXBlOgorICogQGZzOiBmaWxlc3lzdGVtCisgKiBAdHlwZXM6IGZpbGVzeXN0ZW0gbmFtZSBvciBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBmaWxlc3lzdGVtcworICoKKyAqIEZvciBtb3JlIGRldGFpbHMgc2VlIG1udF9tYXRjaF9mc3R5cGUoKS4KKyAqCisgKiBSZXR1cm5zOiAxIGlmIEBmcyB0eXBlIGlzIG1hdGNoaW5nIHRvIEB0eXBlcywgZWxzZSAwLiBUaGUgZnVuY3Rpb24gcmV0dXJucworICogMCB3aGVuIHR5cGVzIGlzIE5VTEwuCisgKi8KK2ludCBtbnRfZnNfbWF0Y2hfZnN0eXBlKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICp0eXBlcykKK3sKKwlyZXR1cm4gbW50X21hdGNoX2ZzdHlwZShmcy0+ZnN0eXBlLCB0eXBlcyk7Cit9CisKKy8qKgorICogbW50X2ZzX21hdGNoX29wdGlvbnM6CisgKiBAZnM6IGZpbGVzeXN0ZW0KKyAqIEBvcHRpb25zOiBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBvcHRpb25zIChhbmQgbm9vcHRpb25zKQorICoKKyAqIEZvciBtb3JlIGRldGFpbHMgc2VlIG1udF9tYXRjaF9vcHRpb25zKCkuCisgKgorICogUmV0dXJuczogMSBpZiBAZnMgdHlwZSBpcyBtYXRjaGluZyB0byBAb3B0aW9ucywgZWxzZSAwLiBUaGUgZnVuY3Rpb24gcmV0dXJucworICogMCB3aGVuIHR5cGVzIGlzIE5VTEwuCisgKi8KK2ludCBtbnRfZnNfbWF0Y2hfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqb3B0aW9ucykKK3sKKwlyZXR1cm4gbW50X21hdGNoX29wdGlvbnMobW50X2ZzX2dldF9vcHRpb25zKGZzKSwgb3B0aW9ucyk7Cit9CisKKy8qKgorICogbW50X2ZzX3ByaW50X2RlYnVnCisgKiBAZnM6IGZzdGFiL210YWIvbW91bnRpbmZvIGVudHJ5CisgKiBAZmlsZTogZmlsZSBzdHJlYW0KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfcHJpbnRfZGVidWcoc3RydWN0IGxpYm1udF9mcyAqZnMsIEZJTEUgKmZpbGUpCit7CisJaWYgKCFmcyB8fCAhZmlsZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZnByaW50ZihmaWxlLCAiLS0tLS0tIGZzOlxuIik7CisJZnByaW50ZihmaWxlLCAic291cmNlOiAlc1xuIiwgbW50X2ZzX2dldF9zb3VyY2UoZnMpKTsKKwlmcHJpbnRmKGZpbGUsICJ0YXJnZXQ6ICVzXG4iLCBtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCWZwcmludGYoZmlsZSwgImZzdHlwZTogJXNcbiIsIG1udF9mc19nZXRfZnN0eXBlKGZzKSk7CisKKwlpZiAobW50X2ZzX2dldF9vcHRpb25zKGZzKSkKKwkJZnByaW50ZihmaWxlLCAib3B0c3RyOiAlc1xuIiwgbW50X2ZzX2dldF9vcHRpb25zKGZzKSk7CisJaWYgKG1udF9mc19nZXRfdmZzX29wdGlvbnMoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJWRlMtb3B0c3RyOiAlc1xuIiwgbW50X2ZzX2dldF92ZnNfb3B0aW9ucyhmcykpOworCWlmIChtbnRfZnNfZ2V0X2ZzX29wdGlvbnMoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJGUy1vcHN0cjogJXNcbiIsIG1udF9mc19nZXRfZnNfb3B0aW9ucyhmcykpOworCWlmIChtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhmcykpCisJCWZwcmludGYoZmlsZSwgInVzZXItb3B0c3RyOiAlc1xuIiwgbW50X2ZzX2dldF91c2VyX29wdGlvbnMoZnMpKTsKKwlpZiAobW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJvcHRpb25hbC1maWVsZHM6ICclcydcbiIsIG1udF9mc19nZXRfb3B0aW9uYWxfZmllbGRzKGZzKSk7CisJaWYgKG1udF9mc19nZXRfYXR0cmlidXRlcyhmcykpCisJCWZwcmludGYoZmlsZSwgImF0dHJpYnV0ZXM6ICVzXG4iLCBtbnRfZnNfZ2V0X2F0dHJpYnV0ZXMoZnMpKTsKKworCWlmIChtbnRfZnNfZ2V0X3Jvb3QoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJyb290OiAgICVzXG4iLCBtbnRfZnNfZ2V0X3Jvb3QoZnMpKTsKKworCWlmIChtbnRfZnNfZ2V0X3N3YXB0eXBlKGZzKSkKKwkJZnByaW50ZihmaWxlLCAic3dhcHR5cGU6ICVzXG4iLCBtbnRfZnNfZ2V0X3N3YXB0eXBlKGZzKSk7CisJaWYgKG1udF9mc19nZXRfc2l6ZShmcykpCisJCWZwcmludGYoZmlsZSwgInNpemU6ICVqZFxuIiwgbW50X2ZzX2dldF9zaXplKGZzKSk7CisJaWYgKG1udF9mc19nZXRfdXNlZHNpemUoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJ1c2Vkc2l6ZTogJWpkXG4iLCBtbnRfZnNfZ2V0X3VzZWRzaXplKGZzKSk7CisJaWYgKG1udF9mc19nZXRfcHJpb3JpdHkoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJwcmlvcml0eTogJWRcbiIsIG1udF9mc19nZXRfcHJpb3JpdHkoZnMpKTsKKworCWlmIChtbnRfZnNfZ2V0X2JpbmRzcmMoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJiaW5kc3JjOiAlc1xuIiwgbW50X2ZzX2dldF9iaW5kc3JjKGZzKSk7CisJaWYgKG1udF9mc19nZXRfZnJlcShmcykpCisJCWZwcmludGYoZmlsZSwgImZyZXE6ICAgJWRcbiIsIG1udF9mc19nZXRfZnJlcShmcykpOworCWlmIChtbnRfZnNfZ2V0X3Bhc3NubyhmcykpCisJCWZwcmludGYoZmlsZSwgInBhc3M6ICAgJWRcbiIsIG1udF9mc19nZXRfcGFzc25vKGZzKSk7CisJaWYgKG1udF9mc19nZXRfaWQoZnMpKQorCQlmcHJpbnRmKGZpbGUsICJpZDogICAgICVkXG4iLCBtbnRfZnNfZ2V0X2lkKGZzKSk7CisJaWYgKG1udF9mc19nZXRfcGFyZW50X2lkKGZzKSkKKwkJZnByaW50ZihmaWxlLCAicGFyZW50OiAlZFxuIiwgbW50X2ZzX2dldF9wYXJlbnRfaWQoZnMpKTsKKwlpZiAobW50X2ZzX2dldF9kZXZubyhmcykpCisJCWZwcmludGYoZmlsZSwgImRldm5vOiAgJWQ6JWRcbiIsIG1ham9yKG1udF9mc19nZXRfZGV2bm8oZnMpKSwKKwkJCQkJCW1pbm9yKG1udF9mc19nZXRfZGV2bm8oZnMpKSk7CisJaWYgKG1udF9mc19nZXRfdGlkKGZzKSkKKwkJZnByaW50ZihmaWxlLCAidGlkOiAgICAlZFxuIiwgbW50X2ZzX2dldF90aWQoZnMpKTsKKwlpZiAobW50X2ZzX2dldF9jb21tZW50KGZzKSkKKwkJZnByaW50ZihmaWxlLCAiY29tbWVudDogJyVzJ1xuIiwgbW50X2ZzX2dldF9jb21tZW50KGZzKSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfZnJlZV9tbnRlbnQ6CisgKiBAbW50OiBtb3VudCBlbnRyeQorICoKKyAqIERlYWxsb2NhdGVzIHRoZSAibW50ZW50LmgiIG1vdW50IGVudHJ5LgorICovCit2b2lkIG1udF9mcmVlX21udGVudChzdHJ1Y3QgbW50ZW50ICptbnQpCit7CisJaWYgKG1udCkgeworCQlmcmVlKG1udC0+bW50X2ZzbmFtZSk7CisJCWZyZWUobW50LT5tbnRfZGlyKTsKKwkJZnJlZShtbnQtPm1udF90eXBlKTsKKwkJZnJlZShtbnQtPm1udF9vcHRzKTsKKwkJZnJlZShtbnQpOworCX0KK30KKworLyoqCisgKiBtbnRfZnNfdG9fbW50ZW50OgorICogQGZzOiBmaWxlc3lzdGVtCisgKiBAbW50OiBtb3VudCBkZXNjcmlwdGlvbiAoYXMgZGVzY3JpYmVkIGluIG1udGVudC5oKQorICoKKyAqIENvcGllcyB0aGUgaW5mb3JtYXRpb24gZnJvbSBAZnMgdG8gc3RydWN0IG1udGVudCBAbW50LiBJZiBAbW50IGlzIGFscmVhZHkgc2V0LAorICogdGhlbiB0aGUgc3RydWN0IG1udGVudCBpdGVtcyBhcmUgcmVhbGxvY2F0ZWQgYW5kIHVwZGF0ZWQuIFNlZSBhbHNvCisgKiBtbnRfZnJlZV9tbnRlbnQoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MgYW5kIGEgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfZnNfdG9fbW50ZW50KHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBzdHJ1Y3QgbW50ZW50ICoqbW50KQoreworCWludCByYzsKKwlzdHJ1Y3QgbW50ZW50ICptOworCisJaWYgKCFmcyB8fCAhbW50KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW0gPSAqbW50OworCWlmICghbSkgeworCQltID0gY2FsbG9jKDEsIHNpemVvZigqbSkpOworCQlpZiAoIW0pCisJCQlyZXR1cm4gLUVOT01FTTsKKwl9CisKKwlpZiAoKHJjID0gdXBkYXRlX3N0cigmbS0+bW50X2ZzbmFtZSwgbW50X2ZzX2dldF9zb3VyY2UoZnMpKSkpCisJCWdvdG8gZXJyOworCWlmICgocmMgPSB1cGRhdGVfc3RyKCZtLT5tbnRfZGlyLCBtbnRfZnNfZ2V0X3RhcmdldChmcykpKSkKKwkJZ290byBlcnI7CisJaWYgKChyYyA9IHVwZGF0ZV9zdHIoJm0tPm1udF90eXBlLCBtbnRfZnNfZ2V0X2ZzdHlwZShmcykpKSkKKwkJZ290byBlcnI7CisKKwllcnJubyA9IDA7CisJbS0+bW50X29wdHMgPSBtbnRfZnNfc3RyZHVwX29wdGlvbnMoZnMpOworCWlmICghbS0+bW50X29wdHMgJiYgZXJybm8pIHsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZXJyOworCX0KKworCW0tPm1udF9mcmVxID0gbW50X2ZzX2dldF9mcmVxKGZzKTsKKwltLT5tbnRfcGFzc25vID0gbW50X2ZzX2dldF9wYXNzbm8oZnMpOworCisJaWYgKCFtLT5tbnRfZnNuYW1lKSB7CisJCW0tPm1udF9mc25hbWUgPSBzdHJkdXAoIm5vbmUiKTsKKwkJaWYgKCFtLT5tbnRfZnNuYW1lKQorCQkJZ290byBlcnI7CisJfQorCSptbnQgPSBtOworCisJcmV0dXJuIDA7CitlcnI6CisJaWYgKG0gIT0gKm1udCkKKwkJbW50X2ZyZWVfbW50ZW50KG0pOworCXJldHVybiByYzsKK30KZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy9pbml0LmMgYi9saWJtb3VudC9zcmMvaW5pdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI5YmUyODIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvaW5pdC5jCkBAIC0wLDAgKzEsMTAwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBpbml0CisgKiBAdGl0bGU6IExpYnJhcnkgaW5pdGlhbGl6YXRpb24KKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogaW5pdGlhbGl6ZSBkZWJ1Z2dpbmcKKyAqLworCisjaW5jbHVkZSA8c3RkYXJnLmg+CisKKyNpbmNsdWRlICJtb3VudFAuaCIKKworVUxfREVCVUdfREVGSU5FX01BU0sobGlibW91bnQpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsaWJtb3VudCkgPQoreworCXsgImFsbCIsIE1OVF9ERUJVR19BTEwsCQkiaW5mbyBhYm91dCBhbGwgc3Vic3lzdGVtcyIgfSwKKwl7ICJjYWNoZSIsIE1OVF9ERUJVR19DQUNIRSwJInBhdGhzIGFuZCB0YWdzIGNhY2hlIiB9LAorCXsgImN4dCIsIE1OVF9ERUJVR19DWFQsCQkibGlicmFyeSBjb250ZXh0IChoYW5kbGVyKSIgfSwKKwl7ICJkaWZmIiwgTU5UX0RFQlVHX0RJRkYsCSJtb3VudGluZm8gY2hhbmdlcyB0cmFja2luZyIgfSwKKwl7ICJmcyIsIE1OVF9ERUJVR19GUywJCSJGUyBhYnN0cmFjdGlvbiIgfSwKKwl7ICJoZWxwIiwgTU5UX0RFQlVHX0hFTFAsCSJ0aGlzIGhlbHAiIH0sCisJeyAibG9ja3MiLCBNTlRfREVCVUdfTE9DS1MsCSJtdGFiIGFuZCB1dGFiIGxvY2tpbmciIH0sCisJeyAibG9vcCIsIE1OVF9ERUJVR19MT09QLAkibG9vcCBkZXZpY2VzIHJvdXRpbmVzIiB9LAorCXsgIm9wdGlvbnMiLCBNTlRfREVCVUdfT1BUSU9OUywJIm1vdW50IG9wdGlvbnMgcGFyc2luZyIgfSwKKwl7ICJ0YWIiLCBNTlRfREVCVUdfVEFCLAkJImZzdGFiLCBtdGFiLCBtb3VudGluZm8gcm91dGluZXMiIH0sCisJeyAidXBkYXRlIiwgTU5UX0RFQlVHX1VQREFURSwJIm10YWIsIHV0YWIgdXBkYXRlcyIgfSwKKwl7ICJ1dGlscyIsIE1OVF9ERUJVR19VVElMUywJIm1pc2MgbGlicmFyeSB1dGlscyIgfSwKKwl7ICJtb25pdG9yIiwgTU5UX0RFQlVHX01PTklUT1IsCSJtb3VudCB0YWJsZXMgbW9uaXRvciIgfSwKKwl7ICJidHJmcyIsIE1OVF9ERUJVR19CVFJGUywJImJ0cmZzIHNwZWNpZmljIHJvdXRpbmVzIiB9LAorCisJeyBOVUxMLCAwIH0KK307CisKKy8qKgorICogbW50X2luaXRfZGVidWc6CisgKiBAbWFzazogZGVidWcgbWFzayAoMHhmZmZmIHRvIGVuYWJsZSBmdWxsIGRlYnVnZ2luZykKKyAqCisgKiBJZiB0aGUgQG1hc2sgaXMgbm90IHNwZWNpZmllZCwgdGhlbiB0aGlzIGZ1bmN0aW9uIHJlYWRzCisgKiB0aGUgTElCTU9VTlRfREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gZ2V0IHRoZSBtYXNrLgorICoKKyAqIEFscmVhZHkgaW5pdGlhbGl6ZWQgZGVidWdnaW5nIHN0dWZmIGNhbm5vdCBiZSBjaGFuZ2VkLiBDYWxsaW5nCisgKiB0aGlzIGZ1bmN0aW9uIHR3aWNlIGhhcyBubyBlZmZlY3QuCisgKi8KK3ZvaWQgbW50X2luaXRfZGVidWcoaW50IG1hc2spCit7CisJaWYgKGxpYm1vdW50X2RlYnVnX21hc2spCisJCXJldHVybjsKKworCV9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVihsaWJtb3VudCwgTU5UX0RFQlVHXywgbWFzaywgTElCTU9VTlRfREVCVUcpOworCisJaWYgKGxpYm1vdW50X2RlYnVnX21hc2sgIT0gTU5UX0RFQlVHX0lOSVQKKwkgICAgJiYgbGlibW91bnRfZGVidWdfbWFzayAhPSAoTU5UX0RFQlVHX0hFTFB8TU5UX0RFQlVHX0lOSVQpKSB7CisJCWNvbnN0IGNoYXIgKnZlciA9IE5VTEw7CisJCWNvbnN0IGNoYXIgKipmZWF0dXJlcyA9IE5VTEwsICoqcDsKKworCQltbnRfZ2V0X2xpYnJhcnlfdmVyc2lvbigmdmVyKTsKKwkJbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzKCZmZWF0dXJlcyk7CisKKwkJREJHKElOSVQsIHVsX2RlYnVnKCJsaWJyYXJ5IGRlYnVnIG1hc2s6IDB4JTA0eCIsIGxpYm1vdW50X2RlYnVnX21hc2spKTsKKwkJREJHKElOSVQsIHVsX2RlYnVnKCJsaWJyYXJ5IHZlcnNpb246ICVzIiwgdmVyKSk7CisJCXAgPSBmZWF0dXJlczsKKwkJd2hpbGUgKHAgJiYgKnApCisJCQlEQkcoSU5JVCwgdWxfZGVidWcoIiAgICBmZWF0dXJlOiAlcyIsICpwKyspKTsKKwl9CisKKwlPTl9EQkcoSEVMUCwgdWxfZGVidWdfcHJpbnRfbWFza3MoIkxJQk1PVU5UX0RFQlVHIiwKKwkJCQlVTF9ERUJVR19NQVNLTkFNRVMobGlibW91bnQpKSk7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWlmIChhcmdjID09IDIpIHsKKwkJaW50IG1hc2s7CisKKwkJZXJybm8gPSAwOworCQltYXNrID0gc3RydG91bChhcmd2WzFdLCAwLCAwKTsKKworCQlpZiAoZXJybm8pCisJCQlyZXR1cm4gMTsKKworCQltbnRfaW5pdF9kZWJ1ZyhtYXNrKTsKKwl9CisJZWxzZSBpZiAoYXJnYyA9PSAxKSB7CisJCW1udF9pbml0X2RlYnVnKDApOworCX0gZWxzZQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorI2VuZGlmIC8qIFRFU1RfUFJPR1JBTSAqLworCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvaXRlci5jIGIvbGlibW91bnQvc3JjL2l0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTZmODhlCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2l0ZXIuYwpAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBpdGVyCisgKiBAdGl0bGU6IEl0ZXJhdG9yCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHVuaWZpZWQgaXRlcmF0b3IKKyAqCisgKiBUaGUgaXRlcmF0b3Iga2VlcHMgdGhlIGRpcmVjdGlvbiBhbmQgdGhlIGxhc3QgcG9zaXRpb24KKyAqIGZvciBhY2Nlc3MgdG8gdGhlIGludGVybmFsIGxpYnJhcnkgdGFibGVzL2xpc3RzLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKworI2luY2x1ZGUgIm1vdW50UC5oIgorCisvKioKKyAqIG1udF9uZXdfaXRlcjoKKyAqIEBkaXJlY3Rpb246IE1OVF9JTlRFUl97Rk9SLEJBQ0t9V0FSRCBkaXJlY3Rpb24KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgZ2VuZXJpYyBsaWJtb3VudCBpdGVyYXRvci4KKyAqLworc3RydWN0IGxpYm1udF9pdGVyICptbnRfbmV3X2l0ZXIoaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IGNhbGxvYygxLCBzaXplb2YoKml0cikpOworCWlmICghaXRyKQorCQlyZXR1cm4gTlVMTDsKKwlpdHItPmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsKKwlyZXR1cm4gaXRyOworfQorCisvKioKKyAqIG1udF9mcmVlX2l0ZXI6CisgKiBAaXRyOiBpdGVyYXRvciBwb2ludGVyCisgKgorICogRGVhbGxvY2F0ZXMgdGhlIGl0ZXJhdG9yLgorICovCit2b2lkIG1udF9mcmVlX2l0ZXIoc3RydWN0IGxpYm1udF9pdGVyICppdHIpCit7CisJZnJlZShpdHIpOworfQorCisvKioKKyAqIG1udF9yZXNldF9pdGVyOgorICogQGl0cjogaXRlcmF0b3IgcG9pbnRlcgorICogQGRpcmVjdGlvbjogTU5UX0lOVEVSX3tGT1IsQkFDS31XQVJEIG9yIC0xIHRvIGtlZXAgdGhlIGRpcmVjdGlvbiB1bmNoYW5nZWQKKyAqCisgKiBSZXNldHMgdGhlIGl0ZXJhdG9yLgorICovCit2b2lkIG1udF9yZXNldF9pdGVyKHN0cnVjdCBsaWJtbnRfaXRlciAqaXRyLCBpbnQgZGlyZWN0aW9uKQoreworCWlmIChkaXJlY3Rpb24gPT0gLTEpCisJCWRpcmVjdGlvbiA9IGl0ci0+ZGlyZWN0aW9uOworCisJbWVtc2V0KGl0ciwgMCwgc2l6ZW9mKCppdHIpKTsKKwlpdHItPmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsKK30KKworLyoqCisgKiBtbnRfaXRlcl9nZXRfZGlyZWN0aW9uOgorICogQGl0cjogaXRlcmF0b3IgcG9pbnRlcgorICoKKyAqIFJldHVybnM6IE1OVF9JTlRFUl97Rk9SLEJBQ0t9V0FSRAorICovCitpbnQgbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbihzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cikKK3sKKwlyZXR1cm4gaXRyLT5kaXJlY3Rpb247Cit9CmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvbGlibW91bnQuaC5pbiBiL2xpYm1vdW50L3NyYy9saWJtb3VudC5oLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhOTQ0MDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvbGlibW91bnQuaC5pbgpAQCAtMCwwICsxLDk4NSBAQAorLyoKKyAqIG1vdW50LmggLSBsaWJtb3VudCBBUEkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgtMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMi4xIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaWZuZGVmIF9MSUJNT1VOVF9NT1VOVF9ICisjZGVmaW5lIF9MSUJNT1VOVF9NT1VOVF9ICisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8bW50ZW50Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKy8qIE1ha2Ugc3VyZSBsaWJjIE1TXyogZGVmaW5pdGlvbnMgYXJlIHVzZWQgYnkgZGVmYXVsdC4gTm90ZSB0aGF0IE1TXyogZmxhZ3MKKyAqIG1heSBiZSBhbHJlYWR5IGRlZmluZWQgYnkgbGludXgvZnMuaCBvciBhbm90aGVyIGZpbGUgLS0gaW4gdGhpcyBjYXNlIHdlCisgKiBkb24ndCB3YW50IHRvIGluY2x1ZGUgc3lzL21vdW50LmggYXQgYWxsIHRvIGF2b2lkIGNvbGxpc2lvbnMuCisgKi8KKyNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgIWRlZmluZWQoTVNfUkRPTkxZKQorIyBpbmNsdWRlIDxzeXMvbW91bnQuaD4KKyNlbmRpZgorCisjZGVmaW5lIExJQk1PVU5UX1ZFUlNJT04gICAiQExJQk1PVU5UX1ZFUlNJT05AIgorI2RlZmluZSBMSUJNT1VOVF9NQUpPUl9WRVJTSU9OICAgQExJQk1PVU5UX01BSk9SX1ZFUlNJT05ACisjZGVmaW5lIExJQk1PVU5UX01JTk9SX1ZFUlNJT04gICBATElCTU9VTlRfTUlOT1JfVkVSU0lPTkAKKyNkZWZpbmUgTElCTU9VTlRfUEFUQ0hfVkVSU0lPTiAgIEBMSUJNT1VOVF9QQVRDSF9WRVJTSU9OQAorCisvKioKKyAqIGxpYm1udF9jYWNoZToKKyAqCisgKiBTdG9yZXMgY2Fub25pY2FsaXplZCBwYXRocyBhbmQgZXZhbHVhdGVkIHRhZ3MKKyAqLworc3RydWN0IGxpYm1udF9jYWNoZTsKKworLyoqCisgKiBsaWJtbnRfbG9jazoKKyAqCisgKiBTdG9yZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGxvY2tlZCBmaWxlIChlLmcuIC9ldGMvbXRhYikKKyAqLworc3RydWN0IGxpYm1udF9sb2NrOworCisvKioKKyAqIGxpYm1udF9pdGVyOgorICoKKyAqIEdlbmVyaWMgaXRlcmF0b3IgKHN0b3JlcyBzdGF0ZSBhYm91dCBsaXN0cykKKyAqLworc3RydWN0IGxpYm1udF9pdGVyOworCisvKioKKyAqIGxpYm1udF9vcHRtYXA6CisgKiBAbmFtZTogb3B0aW9uIG5hbWVbPXR5cGVdIHdoZXJlIHR5cGUgaXMgcHJpbnRmLWxpa2UgdHlwZSBzcGVjaWZpZXIiKQorICogQGlkOiBvcHRpb24gSUQgb3IgTVNfKiBmbGFncyAoZS5nIE1TX1JET05MWSkKKyAqIEBtYXNrOiBNTlRfe05PTVRBQixJTlZFUlQsLi4ufSBtYXNrCisgKgorICogTW91bnQgb3B0aW9ucyBkZXNjcmlwdGlvbiAobWFwKQorICovCitzdHJ1Y3QgbGlibW50X29wdG1hcAoreworCWNvbnN0IGNoYXIJKm5hbWU7CisJaW50CQlpZDsKKwlpbnQJCW1hc2s7Cit9OworCisvKgorICogbW91bnQgb3B0aW9ucyBtYXAgbWFza3MKKyAqLworI2RlZmluZSBNTlRfSU5WRVJUCSgxIDw8IDEpIC8qIGludmVydCB0aGUgbW91bnRmbGFnICovCisjZGVmaW5lIE1OVF9OT01UQUIJKDEgPDwgMikgLyogc2tpcCBpbiB0aGUgbXRhYiBvcHRpb24gc3RyaW5nICovCisjZGVmaW5lIE1OVF9QUkVGSVgJKDEgPDwgMykgLyogcHJlZml4IHVzZWQgZm9yIHNvbWUgb3B0aW9ucyAoZS5nLiAieC1mb28iKSAqLworI2RlZmluZSBNTlRfTk9ITFBTCSgxIDw8IDQpIC8qIGRvbid0IGFkZCB0aGUgb3B0aW9uIHRvIG1vdW50Ljx0eXBlPiBoZWxwZXJzIGNvbW1hbmQgbGluZSAqLworCisvKioKKyAqIGxpYm1udF9mczoKKyAqCisgKiBQYXJzZWQgZnN0YWIvbXRhYi9tb3VudGluZm8gZW50cnkKKyAqLworc3RydWN0IGxpYm1udF9mczsKKworLyoqCisgKiBsaWJtbnRfdGFibGU6CisgKgorICogTGlzdCBvZiBzdHJ1Y3QgbGlibW50X2ZzIGVudHJpZXMgKHBhcnNlZCBmc3RhYi9tdGFiL21vdW50aW5mbykKKyAqLworc3RydWN0IGxpYm1udF90YWJsZTsKKworLyoqCisgKiBsaWJtbnRfdXBkYXRlCisgKgorICogL2V0Yy9tdGFiIG9yIHV0YWIgdXBkYXRlIGRlc2NyaXB0aW9uCisgKi8KK3N0cnVjdCBsaWJtbnRfdXBkYXRlOworCisvKioKKyAqIGxpYm1udF9jb250ZXh0CisgKgorICogTW91bnQvdW1vdW50IHN0YXR1cworICovCitzdHJ1Y3QgbGlibW50X2NvbnRleHQ7CisKKy8qKgorICogbGlibW50X21vbml0b3IKKyAqCisgKiBNb3VudCB0YWJsZXMgbW9uaXRvcgorICovCitzdHJ1Y3QgbGlibW50X21vbml0b3I7CisKKy8qKgorICogbGlibW50X3RhYmRpZmY6CisgKgorICogU3RvcmVzIG1vdW50aW5mbyBzdGF0ZQorICovCitzdHJ1Y3QgbGlibW50X3RhYmRpZmY7CisKKy8qKgorICogbGlibW50X25zOgorICoKKyAqIERlc2NyaWJlcyBtb3VudCBuYW1lc3BhY2UKKyAqLworc3RydWN0IGxpYm1udF9uczsKKworLyoKKyAqIEFjdGlvbnMKKyAqLworZW51bSB7CisJTU5UX0FDVF9NT1VOVCA9IDEsCisJTU5UX0FDVF9VTU9VTlQKK307CisKKy8qCisgKiBFcnJvcnMgLS0gYnkgZGVmYXVsdCBsaWJtb3VudCByZXR1cm5zIC1lcnJubyBmb3IgZ2VuZXJpYyBlcnJvcnMgKEVOT01FTSwKKyAqIEVJTlZBTCwgLi4uKSBhbmQgZm9yIG1vdW50KDIpIGVycm9ycywgYnV0IGZvciBzb21lIHNwZWNpZmljIG9wZXJhdGlvbnMgaXQKKyAqIHJldHVybnMgcHJpdmF0ZSBlcnJvciBjb2Rlcy4gTm90ZSB0aGF0IG1heGltdW0gc3lzdGVtIGVycm5vIHZhbHVlIHNob3VsZCBiZQorICogNDA5NSBvbiBVTklYZXMuCisgKgorICogU2VlIGFsc28gbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oKSBhbmQgbW50X2NvbnRleHRfZ2V0X2hlbHBlcl9zdGF0dXMoKS4KKyAqLworLyoqCisgKiBNTlRfRVJSX05PRlNUQUI6CisgKgorICogbm90IGZvdW5kIHJlcXVpcmVkIGVudHJ5IGluIGZzdGFiCisgKi8KKyNkZWZpbmUgTU5UX0VSUl9OT0ZTVEFCICAgICAgNTAwMAorLyoqCisgKiBNTlRfRVJSX05PRlNUWVBFOgorICoKKyAqIGZhaWxlZCB0byBkZXRlY3QgZmlsZXN5c3RlbSB0eXBlCisgKi8KKyNkZWZpbmUgTU5UX0VSUl9OT0ZTVFlQRSAgICAgNTAwMQorLyoqCisgKiBNTlRfRVJSX05PU09VUkNFOgorICoKKyAqIHJlcXVpcmVkIG1vdW50IHNvdXJjZSB1bmRlZmluZWQKKyAqLworI2RlZmluZSBNTlRfRVJSX05PU09VUkNFICAgICA1MDAyCisvKioKKyAqIE1OVF9FUlJfTE9PUERFVjoKKyAqCisgKiBsb29wZGV2IHNldHVwIGZhaWxlZCwgZXJybm8gc2V0IGJ5IGxpYmMKKyAqLworI2RlZmluZSBNTlRfRVJSX0xPT1BERVYgICAgICA1MDAzCisvKioKKyAqIE1OVF9FUlJfTU9VTlRPUFQ6CisgKgorICogZmFpbGVkIHRvIHBhcnNlL3VzZSB1c2Vyc3BhY2UgbW91bnQgb3B0aW9ucworICovCisjZGVmaW5lIE1OVF9FUlJfTU9VTlRPUFQgICAgIDUwMDQKKy8qKgorICogTU5UX0VSUl9BUFBMWUZMQUdTOgorICoKKyAqIGZhaWxlZCB0byBhcHBseSBNU19QUk9QQUdBVElPTiBmbGFncworICovCisjZGVmaW5lIE1OVF9FUlJfQVBQTFlGTEFHUyAgIDUwMDUKKy8qKgorICogTU5UX0VSUl9BTUJJRlM6CisgKgorICogbGliYmxraWQgZGV0ZWN0ZWQgbW9yZSBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlCisgKi8KKyNkZWZpbmUgTU5UX0VSUl9BTUJJRlMgICAgICAgNTAwNgorLyoqCisgKiBNTlRfRVJSX0xPT1BPVkVSTEFQOgorICoKKyAqIGRldGVjdGVkIG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIHRoYXQgY2Fubm90IGJlIHJlLXVzZWQKKyAqLworI2RlZmluZSBNTlRfRVJSX0xPT1BPVkVSTEFQIDUwMDcKKy8qKgorICogTU5UX0VSUl9MT0NLOgorICoKKyAqIGZhaWxlZCB0byBsb2NrIG10YWIvdXRhYiBvciBzby4KKyAqLworI2RlZmluZSBNTlRfRVJSX0xPQ0sgICAgICAgICA1MDA4CisvKioKKyAqIE1OVF9FUlJfTkFNRVNQQUNFOgorICoKKyAqIGZhaWxlZCB0byBzd2l0Y2ggbmFtZXNwYWNlCisgKi8KKyNkZWZpbmUgTU5UX0VSUl9OQU1FU1BBQ0UgICAgNTAwOQorCisKKy8qCisgKiBPdmVyYWxsIHJldHVybiBjb2RlcyAtLSBiYXNlZCBvbiBtb3VudCg4KSBhbmQgdW1vdW50KDgpIHJldHVybiBjb2Rlcy4KKyAqIFNlZSBtbnRfY29udGV4dF9nZXRfZXhjb2RlKCkgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworCisvKioKKyAqIE1OVF9FWF9TVUNDRVNTOgorICoKKyAqIFt1XW1vdW50KDgpIGV4aXQgY29kZTogbm8gZXJyb3JzCisgKi8KKyNkZWZpbmUgTU5UX0VYX1NVQ0NFU1MJMAorCisvKioKKyAqIE1OVF9FWF9VU0FHRToKKyAqCisgKiBbdV1tb3VudCg4KSBleGl0IGNvZGU6IGluY29ycmVjdCBpbnZvY2F0aW9uIG9yIHBlcm1pc3Npb24KKyAqLworI2RlZmluZSBNTlRfRVhfVVNBR0UJMQorCisvKioKKyAqIE1OVF9FWF9TWVNFUlI6CisgKgorICogW3VdbW91bnQoOCkgZXhpdCBjb2RlOiBvdXQgb2YgbWVtb3J5LCBjYW5ub3QgZm9yaywgLi4uCisgKi8KKworI2RlZmluZSBNTlRfRVhfU1lTRVJSCTIKKworLyoqCisgKiBNTlRfRVhfU09GVFdBUkU6CisgKgorICogW3VdbW91bnQoOCkgZXhpdCBjb2RlOiBpbnRlcm5hbCBtb3VudCBidWcgb3Igd3JvbmcgdmVyc2lvbgorICovCisjZGVmaW5lIE1OVF9FWF9TT0ZUV0FSRQk0CisKKy8qKgorICogTU5UX0VYX1VTRVI6CisgKgorICogW3VdbW91bnQoOCkgZXhpdCBjb2RlOiB1c2VyIGludGVycnVwdAorICovCisjZGVmaW5lIE1OVF9FWF9VU0VSCTgKKworLyoqCisgKiBNTlRfRVhfRklMRUlPOgorICoKKyAqIFt1XW1vdW50KDgpIGV4aXQgY29kZTogcHJvYmxlbXMgd3JpdGluZywgbG9ja2luZywgLi4uIG10YWIvdXRhYgorICovCisjZGVmaW5lIE1OVF9FWF9GSUxFSU8JMTYKKworLyoqCisgKiBNTlRfRVhfRkFJTDoKKyAqCisgKiBbdV1tb3VudCg4KSBleGl0IGNvZGU6IG1vdW50IGZhaWx1cmUKKyAqLworI2RlZmluZSBNTlRfRVhfRkFJTAkzMgorCisvKioKKyAqIE1OVF9FWF9TT01FT0s6CisgKgorICogW3VdbW91bnQoOCkgZXhpdCBjb2RlOiBzb21lIG1vdW50IHN1Y2NlZWRlZDsgdXN1YWxseSB3aGVuIGV4ZWN1dGVkIHdpdGgKKyAqIC0tYWxsIG9wdGlvbnMuIE5ldmVyIHJldHVybmVkIGJ5IGxpYm1vdW50LgorICovCisjZGVmaW5lIE1OVF9FWF9TT01FT0sJNjQKKworCisKKyNpZm5kZWYgX19HTlVDX1BSRVJFUQorIyBpZiBkZWZpbmVkIF9fR05VQ19fICYmIGRlZmluZWQgX19HTlVDX01JTk9SX18KKyMgIGRlZmluZSBfX0dOVUNfUFJFUkVRKG1haiwgbWluKSAgKChfX0dOVUNfXyA8PCAxNikgKyBfX0dOVUNfTUlOT1JfXyA+PSAoKG1haikgPDwgMTYpICsgKG1pbikpCisjIGVsc2UKKyMgIGRlZmluZSBfX0dOVUNfUFJFUkVRKG1haiwgbWluKSAwCisjIGVuZGlmCisjZW5kaWYKKworI2lmbmRlZiBfX3VsX2F0dHJpYnV0ZV9fCisjIGlmIF9fR05VQ19QUkVSRVEgKDMsIDQpCisjICBkZWZpbmUgX191bF9hdHRyaWJ1dGVfXyhfYV8pIF9fYXR0cmlidXRlX18oX2FfKQorIyBlbHNlCisjICBkZWZpbmUgX191bF9hdHRyaWJ1dGVfXyhfYV8pCisjIGVuZGlmCisjZW5kaWYKKworCisvKiBpbml0LmMgKi8KK2V4dGVybiB2b2lkIG1udF9pbml0X2RlYnVnKGludCBtYXNrKTsKKworLyogdmVyc2lvbi5jICovCitleHRlcm4gaW50IG1udF9wYXJzZV92ZXJzaW9uX3N0cmluZyhjb25zdCBjaGFyICp2ZXJfc3RyaW5nKTsKK2V4dGVybiBpbnQgbW50X2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcpOworZXh0ZXJuIGludCBtbnRfZ2V0X2xpYnJhcnlfZmVhdHVyZXMoY29uc3QgY2hhciAqKipmZWF0dXJlcyk7CisKKy8qIHV0aWxzLmMgKi8KK2V4dGVybiBjaGFyICptbnRfbWFuZ2xlKGNvbnN0IGNoYXIgKnN0cikKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKm1udF91bm1hbmdsZShjb25zdCBjaGFyICpzdHIpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKKworZXh0ZXJuIGludCBtbnRfdGFnX2lzX3ZhbGlkKGNvbnN0IGNoYXIgKnRhZyk7CitleHRlcm4gaW50IG1udF9mc3R5cGVfaXNfbmV0ZnMoY29uc3QgY2hhciAqdHlwZSk7CitleHRlcm4gaW50IG1udF9mc3R5cGVfaXNfcHNldWRvZnMoY29uc3QgY2hhciAqdHlwZSk7CisKK2V4dGVybiBpbnQgbW50X21hdGNoX2ZzdHlwZShjb25zdCBjaGFyICp0eXBlLCBjb25zdCBjaGFyICpwYXR0ZXJuKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gaW50IG1udF9tYXRjaF9vcHRpb25zKGNvbnN0IGNoYXIgKm9wdHN0ciwgY29uc3QgY2hhciAqcGF0dGVybikKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9nZXRfZnN0YWJfcGF0aCh2b2lkKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZ2V0X3N3YXBzX3BhdGgodm9pZCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2dldF9tdGFiX3BhdGgodm9pZCk7CitleHRlcm4gaW50IG1udF9oYXNfcmVndWxhcl9tdGFiKGNvbnN0IGNoYXIgKiptdGFiLCBpbnQgKndyaXRhYmxlKTsKK2V4dGVybiBjaGFyICptbnRfZ2V0X21vdW50cG9pbnQoY29uc3QgY2hhciAqcGF0aCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCisvKiBjYWNoZS5jICovCitleHRlcm4gc3RydWN0IGxpYm1udF9jYWNoZSAqbW50X25ld19jYWNoZSh2b2lkKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBtbnRfZnJlZV9jYWNoZShzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSk7CisKK2V4dGVybiB2b2lkIG1udF9yZWZfY2FjaGUoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUpOworZXh0ZXJuIHZvaWQgbW50X3VucmVmX2NhY2hlKHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKTsKKworZXh0ZXJuIGludCBtbnRfY2FjaGVfc2V0X3RhcmdldHMoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsCisJCQkJc3RydWN0IGxpYm1udF90YWJsZSAqbXRhYik7CitleHRlcm4gaW50IG1udF9jYWNoZV9yZWFkX3RhZ3Moc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsIGNvbnN0IGNoYXIgKmRldm5hbWUpOworCitleHRlcm4gaW50IG1udF9jYWNoZV9kZXZpY2VfaGFzX3RhZyhzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwKKwkJCQljb25zdCBjaGFyICpkZXZuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0b2tlbiwKKwkJCQljb25zdCBjaGFyICp2YWx1ZSk7CisKK2V4dGVybiBjaGFyICptbnRfY2FjaGVfZmluZF90YWdfdmFsdWUoc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsCisJCQkJY29uc3QgY2hhciAqZGV2bmFtZSwgY29uc3QgY2hhciAqdG9rZW4pOworCitleHRlcm4gY2hhciAqbW50X2dldF9mc3R5cGUoY29uc3QgY2hhciAqZGV2bmFtZSwgaW50ICphbWJpLAorCQkJICAgIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gY2hhciAqbW50X3Jlc29sdmVfcGF0aChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKm1udF9yZXNvbHZlX3RhcmdldChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKm1udF9yZXNvbHZlX3RhZyhjb25zdCBjaGFyICp0b2tlbiwgY29uc3QgY2hhciAqdmFsdWUsCisJCQkgICAgIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gY2hhciAqbW50X3Jlc29sdmVfc3BlYyhjb25zdCBjaGFyICpzcGVjLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGNoYXIgKm1udF9wcmV0dHlfcGF0aChjb25zdCBjaGFyICpwYXRoLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworCisvKiBvcHRzdHIuYyAqLworZXh0ZXJuIGludCBtbnRfb3B0c3RyX25leHRfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNoYXIgKipuYW1lLCBzaXplX3QgKm5hbWVzeiwKKwkJCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsdWVzeik7CitleHRlcm4gaW50IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNvbnN0IGNoYXIgKnZhbHVlKTsKK2V4dGVybiBpbnQgbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNvbnN0IGNoYXIgKnZhbHVlKTsKKworZXh0ZXJuIGludCBtbnRfb3B0c3RyX2dldF9vcHRpb24oY29uc3QgY2hhciAqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNoYXIgKip2YWx1ZSwgc2l6ZV90ICp2YWxzeik7CitleHRlcm4gaW50IG1udF9vcHRzdHJfc2V0X29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCWNvbnN0IGNoYXIgKnZhbHVlKTsKK2V4dGVybiBpbnQgbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIGludCBtbnRfb3B0c3RyX2RlZHVwbGljYXRlX29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lKTsKKworZXh0ZXJuIGludCBtbnRfc3BsaXRfb3B0c3RyKGNvbnN0IGNoYXIgKm9wdHN0ciwKKwkJCSAgICBjaGFyICoqdXNlciwgY2hhciAqKnZmcywgY2hhciAqKmZzLAorCQkJICAgIGludCBpZ25vcmVfdXNlciwgaW50IGlnbm9yZV92ZnMpOworCitleHRlcm4gaW50IG1udF9vcHRzdHJfZ2V0X29wdGlvbnMoY29uc3QgY2hhciAqb3B0c3RyLCBjaGFyICoqc3Vic2V0LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptYXAsIGludCBpZ25vcmUpOworCitleHRlcm4gaW50IG1udF9vcHRzdHJfZ2V0X2ZsYWdzKGNvbnN0IGNoYXIgKm9wdHN0ciwgdW5zaWduZWQgbG9uZyAqZmxhZ3MsCisJCQkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKm1hcCk7CisKK2V4dGVybiBpbnQgbW50X29wdHN0cl9hcHBseV9mbGFncyhjaGFyICoqb3B0c3RyLCB1bnNpZ25lZCBsb25nIGZsYWdzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqbWFwKTsKKworLyogaXRlci5jICovCitlbnVtIHsKKworCU1OVF9JVEVSX0ZPUldBUkQgPSAwLAorCU1OVF9JVEVSX0JBQ0tXQVJECit9OworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfaXRlciAqbW50X25ld19pdGVyKGludCBkaXJlY3Rpb24pCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiB2b2lkIG1udF9mcmVlX2l0ZXIoc3RydWN0IGxpYm1udF9pdGVyICppdHIpOworCitleHRlcm4gdm9pZCBtbnRfcmVzZXRfaXRlcihzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwgaW50IGRpcmVjdGlvbikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbihzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cikKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworLyogb3B0bWFwLmMgKi8KK2VudW0geworCU1OVF9MSU5VWF9NQVAgPSAxLAorCU1OVF9VU0VSU1BBQ0VfTUFQCit9OworZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKGludCBpZCk7CisKKy8qIGxvY2suYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbG9jayAqbW50X25ld19sb2NrKGNvbnN0IGNoYXIgKmRhdGFmaWxlLCBwaWRfdCBpZCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgbW50X2ZyZWVfbG9jayhzdHJ1Y3QgbGlibW50X2xvY2sgKm1sKTsKKworZXh0ZXJuIHZvaWQgbW50X3VubG9ja19maWxlKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpOworZXh0ZXJuIGludCBtbnRfbG9ja19maWxlKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpOworZXh0ZXJuIGludCBtbnRfbG9ja19ibG9ja19zaWduYWxzKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwsIGludCBlbmFibGUpOworCisvKiBmcy5jICovCitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X25ld19mcyh2b2lkKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBtbnRfZnJlZV9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gdm9pZCBtbnRfcmVmX2ZzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiB2b2lkIG1udF91bnJlZl9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CisKK2V4dGVybiB2b2lkIG1udF9yZXNldF9mcyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X2NvcHlfZnMoc3RydWN0IGxpYm1udF9mcyAqZGVzdCwKKwkJCQkgICAgIGNvbnN0IHN0cnVjdCBsaWJtbnRfZnMgKnNyYykKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgKm1udF9mc19nZXRfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfc2V0X3VzZXJkYXRhKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB2b2lkICpkYXRhKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZnNfZ2V0X3NvdXJjZShzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gaW50IG1udF9mc19zZXRfc291cmNlKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzb3VyY2UpOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfc3JjcGF0aChzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CisKK2V4dGVybiBpbnQgbW50X2ZzX2dldF90YWcoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKipuYW1lLAorCQkJICBjb25zdCBjaGFyICoqdmFsdWUpOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF90YXJnZXQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnRndCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF9mc3R5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfc2V0X2ZzdHlwZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqZnN0eXBlKTsKKworZXh0ZXJuIGludCBtbnRfZnNfc3RyZXFfc3JjcGF0aChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqcGF0aCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGludCBtbnRfZnNfc3RyZXFfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpwYXRoKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CisKK2V4dGVybiBjaGFyICptbnRfZnNfc3RyZHVwX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZnNfZ2V0X29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZnNfZ2V0X29wdGlvbmFsX2ZpZWxkcyhzdHJ1Y3QgbGlibW50X2ZzICpmcykKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGludCBtbnRfZnNfZ2V0X3Byb3BhZ2F0aW9uKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB1bnNpZ25lZCBsb25nICpmbGFncyk7CisKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpOworZXh0ZXJuIGludCBtbnRfZnNfYXBwZW5kX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cik7CitleHRlcm4gaW50IG1udF9mc19wcmVwZW5kX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cik7CisKK2V4dGVybiBpbnQgbW50X2ZzX2dldF9vcHRpb24oc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm5hbWUsCisJCQkJY2hhciAqKnZhbHVlLCBzaXplX3QgKnZhbHN6KTsKKworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfZnNfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF92ZnNfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF91c2VyX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMpOworCitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF9hdHRyaWJ1dGVzKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9hdHRyaWJ1dGVzKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpvcHRzdHIpOworZXh0ZXJuIGludCBtbnRfZnNfZ2V0X2F0dHJpYnV0ZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqbmFtZSwKKwkJCQljaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsc3opOworZXh0ZXJuIGludCBtbnRfZnNfYXBwZW5kX2F0dHJpYnV0ZXMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cik7CitleHRlcm4gaW50IG1udF9mc19wcmVwZW5kX2F0dHJpYnV0ZXMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdHN0cik7CisKK2V4dGVybiBpbnQgbW50X2ZzX2dldF9mcmVxKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9mcmVxKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgZnJlcSk7CitleHRlcm4gaW50IG1udF9mc19nZXRfcGFzc25vKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9wYXNzbm8oc3RydWN0IGxpYm1udF9mcyAqZnMsIGludCBwYXNzbm8pOworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfcm9vdChzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gaW50IG1udF9mc19zZXRfcm9vdChzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqcGF0aCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2ZzX2dldF9iaW5kc3JjKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX3NldF9iaW5kc3JjKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzcmMpOworZXh0ZXJuIGludCBtbnRfZnNfZ2V0X2lkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X2ZzX2dldF9wYXJlbnRfaWQoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGRldl90IG1udF9mc19nZXRfZGV2bm8oc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIHBpZF90IG1udF9mc19nZXRfdGlkKHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKKworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9mc19nZXRfc3dhcHR5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIG9mZl90IG1udF9mc19nZXRfc2l6ZShzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gb2ZmX3QgbW50X2ZzX2dldF91c2Vkc2l6ZShzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gaW50IG1udF9mc19nZXRfcHJpb3JpdHkoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfc2V0X3ByaW9yaXR5KHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgcHJpbyk7CisKK2V4dGVybiBjb25zdCBjaGFyICptbnRfZnNfZ2V0X2NvbW1lbnQoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfc2V0X2NvbW1lbnQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKmNvbW0pOworZXh0ZXJuIGludCBtbnRfZnNfYXBwZW5kX2NvbW1lbnQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKmNvbW0pOworCitleHRlcm4gaW50IG1udF9mc19tYXRjaF90YXJnZXQoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnRhcmdldCwKKwkJCSAgICAgICBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSk7CitleHRlcm4gaW50IG1udF9mc19tYXRjaF9zb3VyY2Uoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnNvdXJjZSwKKwkJCSAgICAgICBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSk7CitleHRlcm4gaW50IG1udF9mc19tYXRjaF9mc3R5cGUoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnR5cGVzKTsKK2V4dGVybiBpbnQgbW50X2ZzX21hdGNoX29wdGlvbnMoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKm9wdGlvbnMpOworZXh0ZXJuIGludCBtbnRfZnNfcHJpbnRfZGVidWcoc3RydWN0IGxpYm1udF9mcyAqZnMsIEZJTEUgKmZpbGUpOworCitleHRlcm4gaW50IG1udF9mc19pc19rZXJuZWwoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfaXNfc3dhcGFyZWEoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfaXNfbmV0ZnMoc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfZnNfaXNfcHNldWRvZnMoc3RydWN0IGxpYm1udF9mcyAqZnMpOworCitleHRlcm4gdm9pZCBtbnRfZnJlZV9tbnRlbnQoc3RydWN0IG1udGVudCAqbW50KTsKK2V4dGVybiBpbnQgbW50X2ZzX3RvX21udGVudChzdHJ1Y3QgbGlibW50X2ZzICpmcywgc3RydWN0IG1udGVudCAqKm1udCk7CisKKy8qIHRhYi1wYXJzZS5jICovCitleHRlcm4gc3RydWN0IGxpYm1udF90YWJsZSAqbW50X25ld190YWJsZV9mcm9tX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X3RhYmxlICptbnRfbmV3X3RhYmxlX2Zyb21fZGlyKGNvbnN0IGNoYXIgKmRpcm5hbWUpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3BhcnNlX3N0cmVhbShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgRklMRSAqZiwKKwkJCQkgIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3BhcnNlX2ZpbGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3BhcnNlX2RpcihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZGlybmFtZSk7CisKK2V4dGVybiBpbnQgbW50X3RhYmxlX3BhcnNlX2ZzdGFiKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpmaWxlbmFtZSk7CitleHRlcm4gaW50IG1udF90YWJsZV9wYXJzZV9zd2FwcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpOworZXh0ZXJuIGludCBtbnRfdGFibGVfcGFyc2VfbXRhYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpOworZXh0ZXJuIGludCBtbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKyAgICAgICAgICAgICAgICBpbnQgKCpjYikoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkpOworCisvKiB0YWIuYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfdGFibGUgKm1udF9uZXdfdGFibGUodm9pZCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIHZvaWQgbW50X2ZyZWVfdGFibGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpOworCitleHRlcm4gdm9pZCBtbnRfcmVmX3RhYmxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiB2b2lkIG1udF91bnJlZl90YWJsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CisKK2V4dGVybiBpbnQgbW50X3Jlc2V0X3RhYmxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX2dldF9uZW50cyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CitleHRlcm4gaW50IG1udF90YWJsZV9pc19lbXB0eShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CisKK2V4dGVybiBpbnQgbW50X3RhYmxlX3NldF91c2VyZGF0YShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgdm9pZCAqZGF0YSk7CitleHRlcm4gdm9pZCAqbW50X3RhYmxlX2dldF91c2VyZGF0YShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CisKK2V4dGVybiB2b2lkIG1udF90YWJsZV9lbmFibGVfY29tbWVudHMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBtbnRfdGFibGVfd2l0aF9jb21tZW50cyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CitleHRlcm4gY29uc3QgY2hhciAqbW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3NldF9pbnRyb19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX2FwcGVuZF9pbnRyb19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3NldF90cmFpbGluZ19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKTsKK2V4dGVybiBjb25zdCBjaGFyICptbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpOworZXh0ZXJuIGludCBtbnRfdGFibGVfYXBwZW5kX3RyYWlsaW5nX2NvbW1lbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmNvbW0pOworCitleHRlcm4gaW50IG1udF90YWJsZV9zZXRfY2FjaGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfY2FjaGUgKm1wYyk7CitleHRlcm4gc3RydWN0IGxpYm1udF9jYWNoZSAqbW50X3RhYmxlX2dldF9jYWNoZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yik7CitleHRlcm4gaW50IG1udF90YWJsZV9hZGRfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3JlbW92ZV9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqZnMpOworZXh0ZXJuIGludCBtbnRfdGFibGVfZmlyc3RfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKipmcyk7CitleHRlcm4gaW50IG1udF90YWJsZV9sYXN0X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICoqZnMpOworZXh0ZXJuIGludCBtbnRfdGFibGVfbmV4dF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQkgICAgIHN0cnVjdCBsaWJtbnRfZnMgKipmcyk7CitleHRlcm4gaW50IG1udF90YWJsZV9uZXh0X2NoaWxkX2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlibW50X2ZzICpwYXJlbnQsIHN0cnVjdCBsaWJtbnRfZnMgKipjaGxkKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX2dldF9yb290X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICoqcm9vdCk7CitleHRlcm4gaW50IG1udF90YWJsZV9zZXRfaXRlcihzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQkgICAgICBzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CisKK2VudW0geworCU1OVF9VTklRX0ZPUldBUkQgID0gKDEgPDwgMSksCS8qIGRlZmF1bHQgaXMgYmFja3dhcmQgKi8KKwlNTlRfVU5JUV9LRUVQVFJFRSA9ICgxIDw8IDIpCit9OworZXh0ZXJuIGludCBtbnRfdGFibGVfdW5pcV9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgaW50IGZsYWdzLAorCQkJCWludCAoKmNtcCkoc3RydWN0IGxpYm1udF90YWJsZSAqLAorCQkJCQkgICBzdHJ1Y3QgbGlibW50X2ZzICosCisJCQkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKikpOworCitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQljb25zdCBjaGFyICpwYXRoLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF90YXJnZXQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJY29uc3QgY2hhciAqcGF0aCwgaW50IGRpcmVjdGlvbik7CitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfc3JjcGF0aChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQljb25zdCBjaGFyICpwYXRoLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF90YWcoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnRhZywKKwkJCQljb25zdCBjaGFyICp2YWwsIGludCBkaXJlY3Rpb24pOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9maW5kX3RhcmdldF93aXRoX29wdGlvbihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqcGF0aCwKKwkJCWNvbnN0IGNoYXIgKm9wdGlvbiwgY29uc3QgY2hhciAqdmFsLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF9zb3VyY2Uoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJY29uc3QgY2hhciAqc291cmNlLCBpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF9wYWlyKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCWNvbnN0IGNoYXIgKnNvdXJjZSwKKwkJCQljb25zdCBjaGFyICp0YXJnZXQsIGludCBkaXJlY3Rpb24pOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9maW5kX2Rldm5vKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCWRldl90IGRldm5vLCBpbnQgZGlyZWN0aW9uKTsKKworZXh0ZXJuIGludCBtbnRfdGFibGVfZmluZF9uZXh0X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQlpbnQgKCptYXRjaF9mdW5jKShzdHJ1Y3QgbGlibW50X2ZzICosIHZvaWQgKiksCisJCQl2b2lkICp1c2VyZGF0YSwKKwkJICAgICAgICBzdHJ1Y3QgbGlibW50X2ZzICoqZnMpOworCitleHRlcm4gaW50IG1udF90YWJsZV9pc19mc19tb3VudGVkKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICpmc3RhYl9mcyk7CisKKy8qIHRhYl91cGRhdGUuYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfdXBkYXRlICptbnRfbmV3X3VwZGF0ZSh2b2lkKQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gdm9pZCBtbnRfZnJlZV91cGRhdGUoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCk7CisKK2V4dGVybiBpbnQgbW50X3RhYmxlX3JlcGxhY2VfZmlsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpOworZXh0ZXJuIGludCBtbnRfdGFibGVfd3JpdGVfZmlsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgRklMRSAqZmlsZSk7CisKK2V4dGVybiBpbnQgbW50X3VwZGF0ZV9pc19yZWFkeShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkKTsKK2V4dGVybiBpbnQgbW50X3VwZGF0ZV9zZXRfZnMoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzLAorCSAgICAgICAgICAgICAgICAgICAgICBjb25zdCBjaGFyICp0YXJnZXQsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKTsKK2V4dGVybiBpbnQgbW50X3VwZGF0ZV90YWJsZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBzdHJ1Y3QgbGlibW50X2xvY2sgKmxjKTsKK2V4dGVybiB1bnNpZ25lZCBsb25nIG1udF91cGRhdGVfZ2V0X21mbGFncyhzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkKTsKK2V4dGVybiBpbnQgbW50X3VwZGF0ZV9mb3JjZV9yZG9ubHkoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgaW50IHJkb25seSk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X3VwZGF0ZV9nZXRfZmlsZW5hbWUoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCk7CitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X3VwZGF0ZV9nZXRfZnMoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCk7CisKKy8qIHRhYl9kaWZmLmMgKi8KK2VudW0geworCU1OVF9UQUJESUZGX01PVU5UID0gMSwKKwlNTlRfVEFCRElGRl9VTU9VTlQsCisJTU5UX1RBQkRJRkZfTU9WRSwKKwlNTlRfVEFCRElGRl9SRU1PVU5ULAorCU1OVF9UQUJESUZGX1BST1BBR0FUSU9OLAkvKiBub3QgaW1wbGVtZW50ZWQgeWV0IChUT0RPKSAqLworfTsKKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqbW50X25ld190YWJkaWZmKHZvaWQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiB2b2lkIG1udF9mcmVlX3RhYmRpZmYoc3RydWN0IGxpYm1udF90YWJkaWZmICpkZik7CisKK2V4dGVybiBpbnQgbW50X2RpZmZfdGFibGVzKHN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqZGYsCisJCQkgICBzdHJ1Y3QgbGlibW50X3RhYmxlICpvbGRfdGFiLAorCQkJICAgc3RydWN0IGxpYm1udF90YWJsZSAqbmV3X3RhYik7CisKK2V4dGVybiBpbnQgbW50X3RhYmRpZmZfbmV4dF9jaGFuZ2Uoc3RydWN0IGxpYm1udF90YWJkaWZmICpkZiwKKwkJCQkgICBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkJCQkgICBzdHJ1Y3QgbGlibW50X2ZzICoqb2xkX2ZzLAorCQkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKipuZXdfZnMsCisJCQkJICAgaW50ICpvcGVyKTsKKworLyogbW9uaXRvci5jICovCitlbnVtIHsKKwlNTlRfTU9OSVRPUl9UWVBFX1VTRVJTUEFDRSA9IDEsCS8qIHVzZXJzcGFjZSBtb3VudCBvcHRpb25zICovCisJTU5UX01PTklUT1JfVFlQRV9LRVJORUwJCS8qIGtlcm5lbCBtb3VudCB0YWJsZSAqLworfTsKKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW50X25ld19tb25pdG9yKHZvaWQpOworZXh0ZXJuIHZvaWQgbW50X3JlZl9tb25pdG9yKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pOworZXh0ZXJuIHZvaWQgbW50X3VucmVmX21vbml0b3Ioc3RydWN0IGxpYm1udF9tb25pdG9yICptbik7CisKK2V4dGVybiBpbnQgbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgbW50X21vbml0b3JfZW5hYmxlX3VzZXJzcGFjZShzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJCWludCBlbmFibGUsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKTsKKworZXh0ZXJuIGludCBtbnRfbW9uaXRvcl9nZXRfZmQoc3RydWN0IGxpYm1udF9tb25pdG9yICptbik7CitleHRlcm4gaW50IG1udF9tb25pdG9yX2Nsb3NlX2ZkKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pOworZXh0ZXJuIGludCBtbnRfbW9uaXRvcl93YWl0KHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sIGludCB0aW1lb3V0KTsKKworZXh0ZXJuIGludCBtbnRfbW9uaXRvcl9uZXh0X2NoYW5nZShzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJICAgICBjb25zdCBjaGFyICoqZmlsZW5hbWUsIGludCAqdHlwZSk7CitleHRlcm4gaW50IG1udF9tb25pdG9yX2V2ZW50X2NsZWFudXAoc3RydWN0IGxpYm1udF9tb25pdG9yICptbik7CisKKworLyogY29udGV4dC5jICovCisKKy8qCisgKiBNb2RlIGZvciBtb3VudCBvcHRpb25zIGZyb20gZnN0YWIgKG9yIG10YWIpLCBzZWUgbW50X2NvbnRleHRfc2V0X29wdHNtb2RlKCkuCisgKi8KK2VudW0geworCU1OVF9PTU9ERV9JR05PUkUgID0gKDEgPDwgMSksCS8qIGlnbm9yZSBtdGFiL2ZzdGFiIG9wdGlvbnMgKi8KKwlNTlRfT01PREVfQVBQRU5EICA9ICgxIDw8IDIpLAkvKiBhcHBlbmQgbXRhYi9mc3RhYiBvcHRpb25zIHRvIGV4aXN0aW5nIG9wdGlvbnMgKi8KKwlNTlRfT01PREVfUFJFUEVORCA9ICgxIDw8IDMpLAkvKiBwcmVwZW5kIG10YWIvZnN0YWIgb3B0aW9ucyB0byBleGlzdGluZyBvcHRpb25zICovCisJTU5UX09NT0RFX1JFUExBQ0UgPSAoMSA8PCA0KSwJLyogcmVwbGFjZSBleGlzdGluZyBvcHRpb25zIHdpdGggb3B0aW9ucyBmcm9tIG10YWIvZnN0YWIgKi8KKworCU1OVF9PTU9ERV9GT1JDRSAgID0gKDEgPDwgNSksICAgLyogYWx3YXlzIHJlYWQgbXRhYi9mc3RhYiBvcHRpb25zICovCisKKwlNTlRfT01PREVfRlNUQUIgICA9ICgxIDw8IDEwKSwJLyogcmVhZCBmcm9tIGZzdGFiICovCisJTU5UX09NT0RFX01UQUIgICAgPSAoMSA8PCAxMSksCS8qIHJlYWQgZnJvbSBtdGFiIGlmIGZzdGFiIG5vdCBlbmFibGVkIG9yIGZhaWxlZCAqLworCU1OVF9PTU9ERV9OT1RBQiAgID0gKDEgPDwgMTIpLAkvKiBkbyBub3QgcmVhZCBmc3RhYi9tdGFiIGF0IGFsbCAqLworCisJLyogZGVmYXVsdCAqLworCU1OVF9PTU9ERV9BVVRPICAgPSAoTU5UX09NT0RFX1BSRVBFTkQgfCBNTlRfT01PREVfRlNUQUIgfCBNTlRfT01PREVfTVRBQiksCisJLyogbm9uLXJvb3QgdXNlcnMgKi8KKwlNTlRfT01PREVfVVNFUiAgID0gKE1OVF9PTU9ERV9SRVBMQUNFIHwgTU5UX09NT0RFX0ZPUkNFIHwgTU5UX09NT0RFX0ZTVEFCKQorfTsKKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfY29udGV4dCAqbW50X25ld19jb250ZXh0KHZvaWQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKCh3YXJuX3VudXNlZF9yZXN1bHQpKTsKK2V4dGVybiB2b2lkIG1udF9mcmVlX2NvbnRleHQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9yZXNldF9jb250ZXh0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pbml0X2hlbHBlcihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkgICBpbnQgYWN0aW9uLCBpbnQgZmxhZ3MpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9oZWxwZXJfc2V0b3B0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgYywgY2hhciAqYXJnKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfb3B0c21vZGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBtb2RlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZGlzYWJsZV9jYW5vbmljYWxpemUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBkaXNhYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZW5hYmxlX2xhenkoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9lbmFibGVfcmRvbmx5X3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2VuYWJsZV9yd29ubHlfbW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBkaXNhYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZW5hYmxlX3Nsb3BweShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2VuYWJsZV9mYWtlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZGlzYWJsZV9tdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZGlzYWJsZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2VuYWJsZV9mb3JjZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2VuYWJsZV92ZXJib3NlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWwoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9lbmFibGVfZm9yayhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgZGlzYWJsZSk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZ2V0X29wdHNtb2RlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pc19sYXp5KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pc19yZG9ubHlfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pc19yd29ubHlfbW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX3Nsb3BweShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfZmFrZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfbm9tdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pc19mb3JjZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfdmVyYm9zZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfbG9vcGRlbChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfbm9oZWxwZXJzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfc3dhcG1hdGNoKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9mb3JjZWRfcmRvbmx5KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygobm9ubnVsbCkpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX2Zvcmsoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX3BhcmVudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKG5vbm51bGwpKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfaXNfY2hpbGQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX3VsX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfd2FpdF9mb3JfY2hpbGRyZW4oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50ICpuY2hpbGRyZW4sIGludCAqbmVycnMpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX2ZzX21vdW50ZWQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50ICptb3VudGVkKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfc2V0X2ZzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBzdHJ1Y3QgbGlibW50X2ZzICpmcyk7CitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X2NvbnRleHRfZ2V0X2ZzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfc291cmNlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpzb3VyY2UpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICp0YXJnZXQpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfZnN0eXBlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpmc3R5cGUpOworCitleHRlcm4gY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X3NvdXJjZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X3RhcmdldChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X2ZzdHlwZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiB2b2lkICptbnRfY29udGV4dF9nZXRfbXRhYl91c2VyZGF0YShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gdm9pZCAqbW50X2NvbnRleHRfZ2V0X2ZzdGFiX3VzZXJkYXRhKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiB2b2lkICptbnRfY29udGV4dF9nZXRfZnNfdXNlcmRhdGEoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3NldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpvcHRzdHIpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9hcHBlbmRfb3B0aW9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqb3B0c3RyKTsKKworZXh0ZXJuIGNvbnN0IGNoYXIgKm1udF9jb250ZXh0X2dldF9vcHRpb25zKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfZnN0eXBlX3BhdHRlcm4oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnBhdHRlcm4pOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpwYXR0ZXJuKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfcGFzc3dkX2NiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJICAgICAgY2hhciAqKCpnZXQpKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqKSwKKwkJCSAgICAgIHZvaWQgKCpyZWxlYXNlKShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKiwgY2hhciAqKSkKKwkJCV9fdWxfYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfdGFibGVzX2VycmNiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorICAgICAgICBpbnQgKCpjYikoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfZnN0YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJIHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZ2V0X2ZzdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSBzdHJ1Y3QgbGlibW50X3RhYmxlICoqdGIpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9tdGFiKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCXN0cnVjdCBsaWJtbnRfdGFibGUgKip0Yik7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF90YWJsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQljb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCQlzdHJ1Y3QgbGlibW50X3RhYmxlICoqdGIpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfY2FjaGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2NhY2hlICptbnRfY29udGV4dF9nZXRfY2FjaGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbG9jayAqbW50X2NvbnRleHRfZ2V0X2xvY2soc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgZmxhZ3MpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9nZXRfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCSAgICAgIHVuc2lnbmVkIGxvbmcgKmZsYWdzKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfc2V0X3VzZXJfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCQkJdW5zaWduZWQgbG9uZyBmbGFncyk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF91c2VyX21mbGFncyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkJCXVuc2lnbmVkIGxvbmcgKmZsYWdzKTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfbW91bnRkYXRhKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCB2b2lkICpkYXRhKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfYXBwbHlfZnN0YWIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3Jlc2V0X3N0YXR1cyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9zdGF0dXMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZ2V0X3N5c2NhbGxfZXJybm8oc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3N0cmVycm9yKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjaGFyICpidWYsCisJCQkJc2l6ZV90IGJ1ZnNpeikKKwkJCQlfX3VsX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKSk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZ2V0X2V4Y29kZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKyAgICAgICAgICAgICAgICAgICAgICAgIGludCByYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3NldF90YXJnZXRfbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnBhdGgpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbnMgKm1udF9jb250ZXh0X2dldF90YXJnZXRfbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbnMgKm1udF9jb250ZXh0X2dldF9vcmlnaW5fbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbnMgKm1udF9jb250ZXh0X3N3aXRjaF9ucyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgc3RydWN0IGxpYm1udF9ucyAqbnMpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbnMgKm1udF9jb250ZXh0X3N3aXRjaF9vcmlnaW5fbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfbnMgKm1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCisKKy8qIGNvbnRleHRfbW91bnQuYyAqLworZXh0ZXJuIGludCBtbnRfY29udGV4dF9tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X25leHRfbW91bnQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQkJc3RydWN0IGxpYm1udF9mcyAqKmZzLAorCQkJCWludCAqbW50cmMsIGludCAqaWdub3JlZCk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfcHJlcGFyZV9tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fdWxfYXR0cmlidXRlX18oKHdhcm5fdW51c2VkX3Jlc3VsdCkpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9kb19tb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2ZpbmFsaXplX21vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKKworLyogY29udGV4dF91bW91bnQuYyAqLworZXh0ZXJuIGludCBtbnRfY29udGV4dF9maW5kX3Vtb3VudF9mcyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCSAgICAgICBjb25zdCBjaGFyICp0Z3QsCisJCQkgICAgICAgc3RydWN0IGxpYm1udF9mcyAqKnBmcyk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X25leHRfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LAorCQkJCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyLAorCQkJCXN0cnVjdCBsaWJtbnRfZnMgKipmcywKKwkJCQlpbnQgKm1udHJjLCBpbnQgKmlnbm9yZWQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3ByZXBhcmVfdW1vdW50KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQorCQkJX191bF9hdHRyaWJ1dGVfXygod2Fybl91bnVzZWRfcmVzdWx0KSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2RvX3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2ZpbmFsaXplX3Vtb3VudChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfdGFiX2FwcGxpZWQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9zZXRfc3lzY2FsbF9zdGF0dXMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBzdGF0dXMpOworCisvKgorICogbW91bnQoOCkgdXNlcnNwYWNlIG9wdGlvbnMgbWFza3MgKE1OVF9NQVBfVVNFUlNQQUNFIG1hcCkKKyAqLworI2RlZmluZSBNTlRfTVNfTk9BVVRPCSgxIDw8IDIpCisjZGVmaW5lIE1OVF9NU19VU0VSCSgxIDw8IDMpCisjZGVmaW5lIE1OVF9NU19VU0VSUwkoMSA8PCA0KQorI2RlZmluZSBNTlRfTVNfT1dORVIJKDEgPDwgNSkKKyNkZWZpbmUgTU5UX01TX0dST1VQCSgxIDw8IDYpCisjZGVmaW5lIE1OVF9NU19ORVRERVYJKDEgPDwgNykKKyNkZWZpbmUgTU5UX01TX0NPTU1FTlQgICgxIDw8IDgpCisjZGVmaW5lIE1OVF9NU19MT09QICAgICAoMSA8PCA5KQorI2RlZmluZSBNTlRfTVNfTk9GQUlMICAgKDEgPDwgMTApCisjZGVmaW5lIE1OVF9NU19VSEVMUEVSICAoMSA8PCAxMSkKKyNkZWZpbmUgTU5UX01TX0hFTFBFUiAgICgxIDw8IDEyKQorI2RlZmluZSBNTlRfTVNfWENPTU1FTlQgKDEgPDwgMTMpCisjZGVmaW5lIE1OVF9NU19PRkZTRVQgICAoMSA8PCAxNCkKKyNkZWZpbmUgTU5UX01TX1NJWkVMSU1JVCAoMSA8PCAxNSkKKyNkZWZpbmUgTU5UX01TX0VOQ1JZUFRJT04gKDEgPDwgMTYpCisjZGVmaW5lIE1OVF9NU19YRlNUQUJDT01NICgxIDw8IDE3KQorCisvKgorICogbW91bnQoMikgTVNfKiBtYXNrcyAoTU5UX01BUF9MSU5VWCBtYXApCisgKi8KKyNpZm5kZWYgTVNfUkRPTkxZCisjZGVmaW5lIE1TX1JET05MWQkgMQkvKiBNb3VudCByZWFkLW9ubHkgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19OT1NVSUQKKyNkZWZpbmUgTVNfTk9TVUlECSAyCS8qIElnbm9yZSBzdWlkIGFuZCBzZ2lkIGJpdHMgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19OT0RFVgorI2RlZmluZSBNU19OT0RFVgkgNAkvKiBEaXNhbGxvdyBhY2Nlc3MgdG8gZGV2aWNlIHNwZWNpYWwgZmlsZXMgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19OT0VYRUMKKyNkZWZpbmUgTVNfTk9FWEVDCSA4CS8qIERpc2FsbG93IHByb2dyYW0gZXhlY3V0aW9uICovCisjZW5kaWYKKyNpZm5kZWYgTVNfU1lOQ0hST05PVVMKKyNkZWZpbmUgTVNfU1lOQ0hST05PVVMJMTYJLyogV3JpdGVzIGFyZSBzeW5jZWQgYXQgb25jZSAqLworI2VuZGlmCisjaWZuZGVmIE1TX1JFTU9VTlQKKyNkZWZpbmUgTVNfUkVNT1VOVAkzMgkvKiBBbHRlciBmbGFncyBvZiBhIG1vdW50ZWQgRlMgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19NQU5ETE9DSworI2RlZmluZSBNU19NQU5ETE9DSwk2NAkvKiBBbGxvdyBtYW5kYXRvcnkgbG9ja3Mgb24gYW4gRlMgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19ESVJTWU5DCisjZGVmaW5lIE1TX0RJUlNZTkMJMTI4CS8qIERpcmVjdG9yeSBtb2RpZmljYXRpb25zIGFyZSBzeW5jaHJvbm91cyAqLworI2VuZGlmCisjaWZuZGVmIE1TX05PQVRJTUUKKyNkZWZpbmUgTVNfTk9BVElNRQkweDQwMAkvKiAxMDI0OiBEbyBub3QgdXBkYXRlIGFjY2VzcyB0aW1lcy4gKi8KKyNlbmRpZgorI2lmbmRlZiBNU19OT0RJUkFUSU1FCisjZGVmaW5lIE1TX05PRElSQVRJTUUgICAweDgwMAkvKiAyMDQ4OiBEb24ndCB1cGRhdGUgZGlyZWN0b3J5IGFjY2VzcyB0aW1lcyAqLworI2VuZGlmCisjaWZuZGVmIE1TX0JJTkQKKyNkZWZpbmUJTVNfQklORAkJMHgxMDAwCS8qIDQwOTY6IE1vdW50IGV4aXN0aW5nIHRyZWUgZWxzZXdoZXJlIGFzIHdlbGwgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19NT1ZFCisjZGVmaW5lIE1TX01PVkUJCTB4MjAwMAkvKiA4MTkyOiBBdG9taWNhbGx5IG1vdmUgdGhlIHRyZWUgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19SRUMKKyNkZWZpbmUgTVNfUkVDCQkweDQwMDAJLyogMTYzODQ6IFJlY3Vyc2l2ZSBsb29wYmFjayAqLworI2VuZGlmCisjaWZuZGVmIE1TX1NJTEVOVAorI2RlZmluZSBNU19TSUxFTlQJMHg4MDAwCS8qIDMyNzY4OiBEb24ndCBlbWl0IGNlcnRhaW4ga2VybmVsIG1lc3NhZ2VzICovCisjZW5kaWYKKyNpZm5kZWYgTVNfVU5CSU5EQUJMRQorI2RlZmluZSBNU19VTkJJTkRBQkxFCSgxPDwxNykJLyogMTMxMDcyOiBNYWtlIHVuYmluZGFibGUgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19QUklWQVRFCisjZGVmaW5lIE1TX1BSSVZBVEUJKDE8PDE4KQkvKiAyNjIxNDQ6IE1ha2UgcHJpdmF0ZSAqLworI2VuZGlmCisjaWZuZGVmIE1TX1NMQVZFCisjZGVmaW5lIE1TX1NMQVZFCSgxPDwxOSkJLyogNTI0Mjg4OiBNYWtlIHNsYXZlICovCisjZW5kaWYKKyNpZm5kZWYgTVNfU0hBUkVECisjZGVmaW5lIE1TX1NIQVJFRAkoMTw8MjApCS8qIDEwNDg1NzY6IE1ha2Ugc2hhcmVkICovCisjZW5kaWYKKyNpZm5kZWYgTVNfUkVMQVRJTUUKKyNkZWZpbmUgTVNfUkVMQVRJTUUJKDE8PDIxKSAvKiAyMDk3MTUyOiBVcGRhdGUgYXRpbWUgcmVsYXRpdmUgdG8gbXRpbWUvY3RpbWUgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19JX1ZFUlNJT04KKyNkZWZpbmUgTVNfSV9WRVJTSU9OCSgxPDwyMykJLyogVXBkYXRlIHRoZSBpbm9kZSBJX3ZlcnNpb24gZmllbGQgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19TVFJJQ1RBVElNRQorI2RlZmluZSBNU19TVFJJQ1RBVElNRQkoMTw8MjQpIC8qIEFsd2F5cyBwZXJmb3JtIGF0aW1lIHVwZGF0ZXMgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19MQVpZVElNRQorI2RlZmluZSBNU19MQVpZVElNRSAgICAgKDE8PDI1KSAvKiBVcGRhdGUgdGhlIG9uLWRpc2sgW2FjbV10aW1lcyBsYXppbHkgKi8KKyNlbmRpZgorCisKKy8qCisgKiBNYWdpYyBtb3VudCBmbGFnIG51bWJlci4gSGFkIHRvIGJlIG9yLWVkIHRvIHRoZSBmbGFnIHZhbHVlcy4gIERlcHJlY2F0ZWQgYW5kCisgKiBubyBtb3JlIHVzZWQgc2luY2UgbGlibW91bnQgdjIuMzM7IHJlcXVpcmVkIGZvciBMaW51eCA8PSAyLjQuCisgKi8KKyNpZm5kZWYgTVNfTUdDX1ZBTAorI2RlZmluZSBNU19NR0NfVkFMIDB4QzBFRDAwMDAJLyogbWFnaWMgZmxhZyBudW1iZXIgdG8gaW5kaWNhdGUgIm5ldyIgZmxhZ3MgKi8KKyNlbmRpZgorI2lmbmRlZiBNU19NR0NfTVNLCisjZGVmaW5lIE1TX01HQ19NU0sgMHhmZmZmMDAwMAkvKiBtYWdpYyBmbGFnIG51bWJlciBtYXNrICovCisjZW5kaWYKKworCisvKiBTaGFyZWQtc3VidHJlZSBvcHRpb25zICovCisjZGVmaW5lIE1TX1BST1BBR0FUSU9OICAoTVNfU0hBUkVEfE1TX1NMQVZFfE1TX1VOQklOREFCTEV8TVNfUFJJVkFURSkKKworLyogT3B0aW9ucyB0aGF0IHdlIG1ha2Ugb3JkaW5hcnkgdXNlcnMgaGF2ZSBieSBkZWZhdWx0LiAgKi8KKyNkZWZpbmUgTVNfU0VDVVJFCShNU19OT0VYRUN8TVNfTk9TVUlEfE1TX05PREVWKQorCisvKiBPcHRpb25zIHRoYXQgd2UgbWFrZSBvd25lci1tb3VudGVkIGRldmljZXMgaGF2ZSBieSBkZWZhdWx0ICovCisjZGVmaW5lIE1TX09XTkVSU0VDVVJFCShNU19OT1NVSUR8TVNfTk9ERVYpCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBfTElCTU9VTlRfTU9VTlRfSCAqLwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL2xpYm1vdW50LnN5bSBiL2xpYm1vdW50L3NyYy9saWJtb3VudC5zeW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRiMTRiMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9saWJtb3VudC5zeW0KQEAgLTAsMCArMSwzMzMgQEAKKy8qCisgKiBUaGUgc3ltYm9sIHZlcnNpb25pbmcgZW5zdXJlcyB0aGF0IGEgbmV3IGFwcGxpY2F0aW9uIHJlcXVpcmluZyBzeW1ib2wgZm9vLAorICogY2FuJ3QgcnVuIHdpdGggb2xkIGxpYnJhcnkuc28gbm90IHByb3ZpZGluZyBmb28uCisgKgorICogVmVyc2lvbiBpbmZvIGNhbid0IGVuZm9yY2UgdGhpcyBzaW5jZSB3ZSBuZXZlciBjaGFuZ2UgdGhlIFNPTkFNRS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEtMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gCisgKi8KK01PVU5UXzIuMTkgeworZ2xvYmFsOgorCW1udF9jYWNoZV9kZXZpY2VfaGFzX3RhZzsKKwltbnRfY2FjaGVfZmluZF90YWdfdmFsdWU7CisJbW50X2NhY2hlX3JlYWRfdGFnczsKKwltbnRfY29udGV4dF9hcHBlbmRfb3B0aW9uczsKKwltbnRfY29udGV4dF9hcHBseV9mc3RhYjsKKwltbnRfY29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZTsKKwltbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnM7CisJbW50X2NvbnRleHRfZGlzYWJsZV9tdGFiOworCW1udF9jb250ZXh0X2RvX21vdW50OworCW1udF9jb250ZXh0X2RvX3Vtb3VudDsKKwltbnRfY29udGV4dF9lbmFibGVfZmFrZTsKKwltbnRfY29udGV4dF9lbmFibGVfZm9yY2U7CisJbW50X2NvbnRleHRfZW5hYmxlX2xhenk7CisJbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWw7CisJbW50X2NvbnRleHRfZW5hYmxlX3Jkb25seV91bW91bnQ7CisJbW50X2NvbnRleHRfZW5hYmxlX3Nsb3BweTsKKwltbnRfY29udGV4dF9lbmFibGVfdmVyYm9zZTsKKwltbnRfY29udGV4dF9maW5hbGl6ZV9tb3VudDsKKwltbnRfY29udGV4dF9maW5hbGl6ZV91bW91bnQ7CisJbW50X2NvbnRleHRfZ2V0X2NhY2hlOworCW1udF9jb250ZXh0X2dldF9mczsKKwltbnRfY29udGV4dF9nZXRfZnN0YWI7CisJbW50X2NvbnRleHRfZ2V0X2ZzdHlwZTsKKwltbnRfY29udGV4dF9nZXRfbG9jazsKKwltbnRfY29udGV4dF9nZXRfbWZsYWdzOworCW1udF9jb250ZXh0X2dldF9tdGFiOworCW1udF9jb250ZXh0X2dldF9vcHRzbW9kZTsKKwltbnRfY29udGV4dF9nZXRfc291cmNlOworCW1udF9jb250ZXh0X2dldF9zdGF0dXM7CisJbW50X2NvbnRleHRfZ2V0X3RhcmdldDsKKwltbnRfY29udGV4dF9nZXRfdXNlcl9tZmxhZ3M7CisJbW50X2NvbnRleHRfaGVscGVyX3NldG9wdDsKKwltbnRfY29udGV4dF9pbml0X2hlbHBlcjsKKwltbnRfY29udGV4dF9pc19mYWtlOworCW1udF9jb250ZXh0X2lzX2ZvcmNlOworCW1udF9jb250ZXh0X2lzX2xhenk7CisJbW50X2NvbnRleHRfaXNfbm9tdGFiOworCW1udF9jb250ZXh0X2lzX3Jkb25seV91bW91bnQ7CisJbW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZDsKKwltbnRfY29udGV4dF9pc19zbG9wcHk7CisJbW50X2NvbnRleHRfaXNfdmVyYm9zZTsKKwltbnRfY29udGV4dF9tb3VudDsKKwltbnRfY29udGV4dF9wcmVwYXJlX21vdW50OworCW1udF9jb250ZXh0X3ByZXBhcmVfdW1vdW50OworCW1udF9jb250ZXh0X3NldF9jYWNoZTsKKwltbnRfY29udGV4dF9zZXRfZnM7CisJbW50X2NvbnRleHRfc2V0X2ZzdGFiOworCW1udF9jb250ZXh0X3NldF9mc3R5cGU7CisJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuOworCW1udF9jb250ZXh0X3NldF9tZmxhZ3M7CisJbW50X2NvbnRleHRfc2V0X21vdW50ZGF0YTsKKwltbnRfY29udGV4dF9zZXRfb3B0aW9uczsKKwltbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuOworCW1udF9jb250ZXh0X3NldF9vcHRzbW9kZTsKKwltbnRfY29udGV4dF9zZXRfc291cmNlOworCW1udF9jb250ZXh0X3NldF9zeXNjYWxsX3N0YXR1czsKKwltbnRfY29udGV4dF9zZXRfdGFyZ2V0OworCW1udF9jb250ZXh0X3NldF91c2VyX21mbGFnczsKKwltbnRfY29udGV4dF9zdHJlcnJvcjsKKwltbnRfY29udGV4dF91bW91bnQ7CisJbW50X2NvcHlfZnM7CisJbW50X2ZyZWVfY2FjaGU7CisJbW50X2ZyZWVfY29udGV4dDsKKwltbnRfZnJlZV9mczsKKwltbnRfZnJlZV9pdGVyOworCW1udF9mcmVlX2xvY2s7CisJbW50X2ZyZWVfbW50ZW50OworCW1udF9mcmVlX3RhYmxlOworCW1udF9mcmVlX3VwZGF0ZTsKKwltbnRfZnNfYXBwZW5kX2F0dHJpYnV0ZXM7CisJbW50X2ZzX2FwcGVuZF9vcHRpb25zOworCW1udF9mc19nZXRfYXR0cmlidXRlOworCW1udF9mc19nZXRfYXR0cmlidXRlczsKKwltbnRfZnNfZ2V0X2JpbmRzcmM7CisJbW50X2ZzX2dldF9kZXZubzsKKwltbnRfZnNfZ2V0X2ZyZXE7CisJbW50X2ZzX2dldF9mc19vcHRpb25zOworCW1udF9mc19nZXRfZnN0eXBlOworCW1udF9mc19nZXRfaWQ7CisJbW50X2ZzX2dldF9vcHRpb247CisJbW50X2ZzX2dldF9wYXJlbnRfaWQ7CisJbW50X2ZzX2dldF9wYXNzbm87CisJbW50X2ZzX2dldF9yb290OworCW1udF9mc19nZXRfc291cmNlOworCW1udF9mc19nZXRfc3JjcGF0aDsKKwltbnRfZnNfZ2V0X3RhZzsKKwltbnRfZnNfZ2V0X3RhcmdldDsKKwltbnRfZnNfZ2V0X3VzZXJkYXRhOworCW1udF9mc19nZXRfdXNlcl9vcHRpb25zOworCW1udF9mc19nZXRfdmZzX29wdGlvbnM7CisJbW50X2ZzX2lzX2tlcm5lbDsKKwltbnRfZnNfbWF0Y2hfZnN0eXBlOworCW1udF9mc19tYXRjaF9vcHRpb25zOworCW1udF9mc19tYXRjaF9zb3VyY2U7CisJbW50X2ZzX21hdGNoX3RhcmdldDsKKwltbnRfZnNfcHJlcGVuZF9hdHRyaWJ1dGVzOworCW1udF9mc19wcmVwZW5kX29wdGlvbnM7CisJbW50X2ZzX3ByaW50X2RlYnVnOworCW1udF9mc19zZXRfYXR0cmlidXRlczsKKwltbnRfZnNfc2V0X2JpbmRzcmM7CisJbW50X2ZzX3NldF9mcmVxOworCW1udF9mc19zZXRfZnN0eXBlOworCW1udF9mc19zZXRfb3B0aW9uczsKKwltbnRfZnNfc2V0X3Bhc3NubzsKKwltbnRfZnNfc2V0X3Jvb3Q7CisJbW50X2ZzX3NldF9zb3VyY2U7CisJbW50X2ZzX3NldF90YXJnZXQ7CisJbW50X2ZzX3NldF91c2VyZGF0YTsKKwltbnRfZnNfc3RyZHVwX29wdGlvbnM7CisJbW50X2ZzX3RvX21udGVudDsKKwltbnRfZnN0eXBlX2lzX25ldGZzOworCW1udF9mc3R5cGVfaXNfcHNldWRvZnM7CisJbW50X2dldF9idWlsdGluX29wdG1hcDsKKwltbnRfZ2V0X2ZzdGFiX3BhdGg7CisJbW50X2dldF9mc3R5cGU7CisJbW50X2dldF9saWJyYXJ5X3ZlcnNpb247CisJbW50X2dldF9tdGFiX3BhdGg7CisJbW50X2hhc19yZWd1bGFyX210YWI7CisJbW50X2luaXRfZGVidWc7CisJbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbjsKKwltbnRfbG9ja19maWxlOworCW1udF9tYW5nbGU7CisJbW50X21hdGNoX2ZzdHlwZTsKKwltbnRfbWF0Y2hfb3B0aW9uczsKKwltbnRfbmV3X2NhY2hlOworCW1udF9uZXdfY29udGV4dDsKKwltbnRfbmV3X2ZzOworCW1udF9uZXdfaXRlcjsKKwltbnRfbmV3X2xvY2s7CisJbW50X25ld190YWJsZTsKKwltbnRfbmV3X3RhYmxlX2Zyb21fZGlyOworCW1udF9uZXdfdGFibGVfZnJvbV9maWxlOworCW1udF9uZXdfdXBkYXRlOworCW1udF9vcHRzdHJfYXBwZW5kX29wdGlvbjsKKwltbnRfb3B0c3RyX2FwcGx5X2ZsYWdzOworCW1udF9vcHRzdHJfZ2V0X2ZsYWdzOworCW1udF9vcHRzdHJfZ2V0X29wdGlvbjsKKwltbnRfb3B0c3RyX2dldF9vcHRpb25zOworCW1udF9vcHRzdHJfbmV4dF9vcHRpb247CisJbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbjsKKwltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb247CisJbW50X29wdHN0cl9zZXRfb3B0aW9uOworCW1udF9wYXJzZV92ZXJzaW9uX3N0cmluZzsKKwltbnRfcmVzZXRfY29udGV4dDsKKwltbnRfcmVzZXRfZnM7CisJbW50X3Jlc2V0X2l0ZXI7CisJbW50X3Jlc29sdmVfcGF0aDsKKwltbnRfcmVzb2x2ZV9zcGVjOworCW1udF9yZXNvbHZlX3RhZzsKKwltbnRfc3BsaXRfb3B0c3RyOworCW1udF90YWJsZV9hZGRfZnM7CisJbW50X3RhYmxlX2ZpbmRfbmV4dF9mczsKKwltbnRfdGFibGVfZmluZF9wYWlyOworCW1udF90YWJsZV9maW5kX3NvdXJjZTsKKwltbnRfdGFibGVfZmluZF9zcmNwYXRoOworCW1udF90YWJsZV9maW5kX3RhZzsKKwltbnRfdGFibGVfZmluZF90YXJnZXQ7CisJbW50X3RhYmxlX2dldF9jYWNoZTsKKwltbnRfdGFibGVfZ2V0X25lbnRzOworCW1udF90YWJsZV9nZXRfcm9vdF9mczsKKwltbnRfdGFibGVfbmV4dF9jaGlsZF9mczsKKwltbnRfdGFibGVfbmV4dF9mczsKKwltbnRfdGFibGVfcGFyc2VfZmlsZTsKKwltbnRfdGFibGVfcGFyc2VfZnN0YWI7CisJbW50X3RhYmxlX3BhcnNlX210YWI7CisJbW50X3RhYmxlX3BhcnNlX3N0cmVhbTsKKwltbnRfdGFibGVfcmVtb3ZlX2ZzOworCW1udF90YWJsZV9zZXRfY2FjaGU7CisJbW50X3RhYmxlX3NldF9pdGVyOworCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiOworCW1udF91bmxvY2tfZmlsZTsKKwltbnRfdW5tYW5nbGU7CisJbW50X3VwZGF0ZV9mb3JjZV9yZG9ubHk7CisJbW50X3VwZGF0ZV9nZXRfZmlsZW5hbWU7CisJbW50X3VwZGF0ZV9nZXRfZnM7CisJbW50X3VwZGF0ZV9nZXRfbWZsYWdzOworCW1udF91cGRhdGVfaXNfcmVhZHk7CisJbW50X3VwZGF0ZV9zZXRfZnM7CisJbW50X3VwZGF0ZV90YWJsZTsKK2xvY2FsOgorCSo7Cit9OworCitNT1VOVF8yLjIwIHsKK2dsb2JhbDoKKwltbnRfY29udGV4dF9nZXRfdGFibGU7CisJbW50X2NvbnRleHRfaXNfZnNfbW91bnRlZDsKKwltbnRfY29udGV4dF9uZXh0X21vdW50OworCW1udF9jb250ZXh0X3NldF90YWJsZXNfZXJyY2I7CisJbW50X2RpZmZfdGFibGVzOworCW1udF9mcmVlX3RhYmRpZmY7CisJbW50X2ZzX2dldF9vcHRpb25zOworCW1udF9sb2NrX2Jsb2NrX3NpZ25hbHM7CisJbW50X25ld190YWJkaWZmOworCW1udF9wcmV0dHlfcGF0aDsKKwltbnRfcmVzZXRfdGFibGU7CisJbW50X3RhYmRpZmZfbmV4dF9jaGFuZ2U7CisJbW50X3RhYmxlX2lzX2ZzX21vdW50ZWQ7Cit9IE1PVU5UXzIuMTk7CisKK01PVU5UXzIuMjEgeworZ2xvYmFsOgorCW1udF9jb250ZXh0X2VuYWJsZV9mb3JrOworCW1udF9jb250ZXh0X2dldF9oZWxwZXJfc3RhdHVzOworCW1udF9jb250ZXh0X2dldF9zeXNjYWxsX2Vycm5vOworCW1udF9jb250ZXh0X2hlbHBlcl9leGVjdXRlZDsKKwltbnRfY29udGV4dF9pc19jaGlsZDsKKwltbnRfY29udGV4dF9pc19mb3JrOworCW1udF9jb250ZXh0X2lzX3BhcmVudDsKKwltbnRfY29udGV4dF9uZXh0X3Vtb3VudDsKKwltbnRfY29udGV4dF9yZXNldF9zdGF0dXM7CisJbW50X2NvbnRleHRfc2V0X3Bhc3N3ZF9jYjsKKwltbnRfY29udGV4dF9zeXNjYWxsX2NhbGxlZDsKKwltbnRfY29udGV4dF93YWl0X2Zvcl9jaGlsZHJlbjsKKwltbnRfZnNfaXNfbmV0ZnM7CisJbW50X2ZzX2lzX3BzZXVkb2ZzOworCW1udF9mc19pc19zd2FwYXJlYTsKKwltbnRfZ2V0X2xpYnJhcnlfZmVhdHVyZXM7CisJbW50X3RhYmxlX3BhcnNlX2RpcjsKK30gTU9VTlRfMi4yMDsKKworTU9VTlRfMi4yMiB7CitnbG9iYWw6CisJbW50X2NvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2g7CisJbW50X2NvbnRleHRfZ2V0X29wdGlvbnM7CisJbW50X2NvbnRleHRfaXNfbG9vcGRlbDsKKwltbnRfY29udGV4dF9pc19ub2Nhbm9uaWNhbGl6ZTsKKwltbnRfY29udGV4dF9pc19ub2hlbHBlcnM7CisJbW50X2NvbnRleHRfaXNfc3dhcG1hdGNoOworCW1udF9jb250ZXh0X3RhYl9hcHBsaWVkOworCW1udF9mc19nZXRfcHJpb3JpdHk7CisJbW50X2ZzX2dldF9zaXplOworCW1udF9mc19nZXRfc3dhcHR5cGU7CisJbW50X2ZzX2dldF90aWQ7CisJbW50X2ZzX2dldF91c2Vkc2l6ZTsKKwltbnRfZnNfc3RyZXFfc3JjcGF0aDsKKwltbnRfZnNfc3RyZXFfdGFyZ2V0OworCW1udF9nZXRfbW91bnRwb2ludDsKKwltbnRfZ2V0X3N3YXBzX3BhdGg7CisJbW50X29wdHN0cl9kZWR1cGxpY2F0ZV9vcHRpb247CisJbW50X3RhYmxlX2ZpbmRfZGV2bm87CisJbW50X3RhYmxlX3BhcnNlX3N3YXBzOworfSBNT1VOVF8yLjIxOworCitNT1VOVF8yLjIzIHsKK2dsb2JhbDoKKwltbnRfZnNfZ2V0X29wdGlvbmFsX2ZpZWxkczsKKwltbnRfZnNfZ2V0X3Byb3BhZ2F0aW9uOworCW1udF9jb250ZXh0X2ZpbmRfdW1vdW50X2ZzOworCW1udF90YWJsZV9maW5kX21vdW50cG9pbnQ7Cit9IE1PVU5UXzIuMjI7CisKK01PVU5UXzIuMjQgeworZ2xvYmFsOgorCW1udF9jb250ZXh0X2dldF9mc3RhYl91c2VyZGF0YTsKKwltbnRfY29udGV4dF9nZXRfZnNfdXNlcmRhdGE7CisJbW50X2NvbnRleHRfZ2V0X210YWJfdXNlcmRhdGE7CisJbW50X2ZzX2FwcGVuZF9jb21tZW50OworCW1udF9mc19nZXRfY29tbWVudDsKKwltbnRfZnNfc2V0X2NvbW1lbnQ7CisJbW50X3JlZl9jYWNoZTsKKwltbnRfcmVmX2ZzOworCW1udF9yZWZfdGFibGU7CisJbW50X3RhYmxlX2FwcGVuZF9pbnRyb19jb21tZW50OworCW1udF90YWJsZV9hcHBlbmRfdHJhaWxpbmdfY29tbWVudDsKKwltbnRfdGFibGVfZW5hYmxlX2NvbW1lbnRzOworCW1udF90YWJsZV9maXJzdF9mczsKKwltbnRfdGFibGVfZ2V0X2ludHJvX2NvbW1lbnQ7CisJbW50X3RhYmxlX2dldF90cmFpbGluZ19jb21tZW50OworCW1udF90YWJsZV9nZXRfdXNlcmRhdGE7CisJbW50X3RhYmxlX2lzX2VtcHR5OworCW1udF90YWJsZV9sYXN0X2ZzOworCW1udF90YWJsZV9yZXBsYWNlX2ZpbGU7CisJbW50X3RhYmxlX3NldF9pbnRyb19jb21tZW50OworCW1udF90YWJsZV9zZXRfdHJhaWxpbmdfY29tbWVudDsKKwltbnRfdGFibGVfc2V0X3VzZXJkYXRhOworCW1udF90YWJsZV93aXRoX2NvbW1lbnRzOworCW1udF90YWJsZV93cml0ZV9maWxlOworCW1udF91bnJlZl9jYWNoZTsKKwltbnRfdW5yZWZfZnM7CisJbW50X3VucmVmX3RhYmxlOworfSBNT1VOVF8yLjIzOworCitNT1VOVF8yLjI1IHsKKwltbnRfY2FjaGVfc2V0X3RhcmdldHM7CisJbW50X3Jlc29sdmVfdGFyZ2V0OworCW1udF90YWJsZV91bmlxX2ZzOworCW1udF90YWdfaXNfdmFsaWQ7Cit9IE1PVU5UXzIuMjQ7CisKK01PVU5UXzIuMjYgeworCW1udF9tb25pdG9yX2Nsb3NlX2ZkOworCW1udF9tb25pdG9yX2VuYWJsZV91c2Vyc3BhY2U7CisJbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbDsKKwltbnRfbW9uaXRvcl9ldmVudF9jbGVhbnVwOworCW1udF9tb25pdG9yX2dldF9mZDsKKwltbnRfbW9uaXRvcl9uZXh0X2NoYW5nZTsKKwltbnRfbW9uaXRvcl93YWl0OworCW1udF9uZXdfbW9uaXRvcjsKKwltbnRfcmVmX21vbml0b3I7CisJbW50X3VucmVmX21vbml0b3I7Cit9IE1PVU5UXzIuMjU7CisKK01PVU5UXzIuMjggeworCW1udF90YWJsZV9maW5kX3RhcmdldF93aXRoX29wdGlvbjsKKwltbnRfZnNfc2V0X3ByaW9yaXR5OworfSBNT1VOVF8yLjI2OworCitNT1VOVF8yLjMwIHsKKwltbnRfY29udGV4dF9pc19yd29ubHlfbW91bnQ7CisJbW50X2NvbnRleHRfZm9yY2VkX3Jkb25seTsKKwltbnRfY29udGV4dF9lbmFibGVfcndvbmx5X21vdW50OworCW1udF9jb250ZXh0X2dldF9leGNvZGU7Cit9IE1PVU5UXzIuMjg7CisKK01PVU5UXzIuMzMgeworCW1udF9jb250ZXh0X2dldF9vcmlnaW5fbnM7CisJbW50X2NvbnRleHRfZ2V0X3RhcmdldF9uczsKKwltbnRfY29udGV4dF9zZXRfdGFyZ2V0X25zOworCW1udF9jb250ZXh0X3N3aXRjaF9uczsKKwltbnRfY29udGV4dF9zd2l0Y2hfb3JpZ2luX25zOworCW1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnM7Cit9IE1PVU5UXzIuMzA7CmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvbG9jay5jIGIvbGlibW91bnQvc3JjL2xvY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mOWQwMjUzCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL2xvY2suYwpAQCAtMCwwICsxLDcxNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogbG9jaworICogQHRpdGxlOiBMb2NraW5nCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGxvY2tpbmcgbWV0aG9kcyBmb3IgL2V0Yy9tdGFiIG9yIGFub3RoZXIgbGlibW91bnQgZmlsZXMKKyAqCisgKiBUaGUgbXRhYiBsb2NrIGlzIGJhY2t3YXJkcyBjb21wYXRpYmxlIHdpdGggdGhlIHN0YW5kYXJkIGxpbnV4IC9ldGMvbXRhYgorICogbG9ja2luZy4gIE5vdGUsIGl0J3MgbmVjZXNzYXJ5IHRvIHVzZSB0aGUgc2FtZSBsb2NraW5nIHNjaGVtYSBpbiBhbGwKKyAqIGFwcGxpY2F0aW9ucyB0aGF0IGFjY2VzcyB0aGUgZmlsZS4KKyAqLworI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJtb25vdG9uaWMuaCIKKworLyoKKyAqIGxvY2sgaGFuZGxlcgorICovCitzdHJ1Y3QgbGlibW50X2xvY2sgeworCWNoYXIJKmxvY2tmaWxlOwkvKiBwYXRoIHRvIGxvY2sgZmlsZSAoZS5nLiAvZXRjL210YWJ+KSAqLworCWNoYXIJKmxpbmtmaWxlOwkvKiBwYXRoIHRvIGxpbmsgZmlsZSAoZS5nLiAvZXRjL210YWJ+LjxpZD4pICovCisJaW50CWxvY2tmaWxlX2ZkOwkvKiBsb2NrIGZpbGUgZGVzY3JpcHRvciAqLworCisJdW5zaWduZWQgaW50CWxvY2tlZCA6MSwJLyogZG8gd2Ugb3duIHRoZSBsb2NrPyAqLworCQkJc2lnYmxvY2sgOjEsCS8qIGJsb2NrIHNpZ25hbHMgd2hlbiBsb2NrZWQgKi8KKwkJCXNpbXBsZWxvY2sgOjE7CS8qIHVzZSBmbG9jayByYXRoZXIgdGhhbiBub3JtYWwgbXRhYiBsb2NrICovCisKKwlzaWdzZXRfdCBvbGRzaWdtYXNrOworfTsKKworCisvKioKKyAqIG1udF9uZXdfbG9jazoKKyAqIEBkYXRhZmlsZTogdGhlIGZpbGUgdGhhdCBzaG91bGQgYmUgY292ZXJlZCBieSB0aGUgbG9jaworICogQGlkOiB1bmlxdWUgbGlua2ZpbGUgaWRlbnRpZmllciBvciAwIChkZWZhdWx0IGlzIGdldHBpZCgpKQorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBsb2NrIGhhbmRsZXIgb3IgTlVMTCBvbiBjYXNlIG9mIGVycm9yLgorICovCitzdHJ1Y3QgbGlibW50X2xvY2sgKm1udF9uZXdfbG9jayhjb25zdCBjaGFyICpkYXRhZmlsZSwgcGlkX3QgaWQpCit7CisJc3RydWN0IGxpYm1udF9sb2NrICptbCA9IE5VTEw7CisJY2hhciAqbG8gPSBOVUxMLCAqbG4gPSBOVUxMOworCXNpemVfdCBsb3N6OworCisJaWYgKCFkYXRhZmlsZSkKKwkJcmV0dXJuIE5VTEw7CisKKwkvKiBmb3IgZmxvY2sgd2UgdXNlICJmb28ubG9jaywgZm9yIG10YWIgImZvb34iCisJICovCisJbG9zeiA9IHN0cmxlbihkYXRhZmlsZSkgKyBzaXplb2YoIi5sb2NrIik7CisJbG8gPSBtYWxsb2MobG9zeik7CisJaWYgKCFsbykKKwkJZ290byBlcnI7CisKKwkvKiBkZWZhdWx0IGlzIG10YWJ+IGxvY2sgKi8KKwlzbnByaW50ZihsbywgbG9zeiwgIiVzfiIsIGRhdGFmaWxlKTsKKworCWlmIChhc3ByaW50ZigmbG4sICIlc34uJWQiLCBkYXRhZmlsZSwgaWQgPyA6IGdldHBpZCgpKSA9PSAtMSkgeworCQlsbiA9IE5VTEw7CisJCWdvdG8gZXJyOworCX0KKwltbCA9IGNhbGxvYygxLCBzaXplb2YoKm1sKSApOworCWlmICghbWwpCisJCWdvdG8gZXJyOworCisJbWwtPmxvY2tmaWxlX2ZkID0gLTE7CisJbWwtPmxpbmtmaWxlID0gbG47CisJbWwtPmxvY2tmaWxlID0gbG87CisKKwlEQkcoTE9DS1MsIHVsX2RlYnVnb2JqKG1sLCAiYWxsb2M6IGRlZmF1bHQgbGlua2ZpbGU9JXMsIGxvY2tmaWxlPSVzIiwgbG4sIGxvKSk7CisJcmV0dXJuIG1sOworZXJyOgorCWZyZWUobG8pOworCWZyZWUobG4pOworCWZyZWUobWwpOworCXJldHVybiBOVUxMOworfQorCisKKy8qKgorICogbW50X2ZyZWVfbG9jazoKKyAqIEBtbDogc3RydWN0IGxpYm1udF9sb2NrIGhhbmRsZXIKKyAqCisgKiBEZWFsbG9jYXRlcyBtbnRfbG9jay4KKyAqLwordm9pZCBtbnRfZnJlZV9sb2NrKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpCit7CisJaWYgKCFtbCkKKwkJcmV0dXJuOworCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICJmcmVlJXMiLCBtbC0+bG9ja2VkID8gIiAhISEgTE9DS0VEICEhISIgOiAiIikpOworCWZyZWUobWwtPmxvY2tmaWxlKTsKKwlmcmVlKG1sLT5saW5rZmlsZSk7CisJZnJlZShtbCk7Cit9CisKKy8qKgorICogbW50X2xvY2tfYmxvY2tfc2lnbmFsczoKKyAqIEBtbDogc3RydWN0IGxpYm1udF9sb2NrIGhhbmRsZXIKKyAqIEBlbmFibGU6IFRSVUUvRkFMU0UKKyAqCisgKiBCbG9jay91bmJsb2NrIHNpZ25hbHMgd2hlbiB0aGUgbG9jayBpcyBsb2NrZWQsIHRoZSBzaWduYWxzIGFyZSBub3QgYmxvY2tlZAorICogYnkgZGVmYXVsdC4KKyAqCisgKiBSZXR1cm5zOiA8MCBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLgorICovCitpbnQgbW50X2xvY2tfYmxvY2tfc2lnbmFscyhzdHJ1Y3QgbGlibW50X2xvY2sgKm1sLCBpbnQgZW5hYmxlKQoreworCWlmICghbWwpCisJCXJldHVybiAtRUlOVkFMOworCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICJzaWduYWxzOiAlcyIsIGVuYWJsZSA/ICJCTE9DS0VEIiA6ICJVTkJMT0NLRUQiKSk7CisJbWwtPnNpZ2Jsb2NrID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qIGRvbid0IGV4cG9ydCB0aGlzIHRvIEFQSQorICovCitpbnQgbW50X2xvY2tfdXNlX3NpbXBsZWxvY2soc3RydWN0IGxpYm1udF9sb2NrICptbCwgaW50IGVuYWJsZSkKK3sKKwlzaXplX3Qgc3o7CisKKwlpZiAoIW1sKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWFzc2VydChtbC0+bG9ja2ZpbGUpOworCisJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgImZsb2NrOiAlcyIsIGVuYWJsZSA/ICJFTkFCTEVEIiA6ICJESVNBQkxFRCIpKTsKKwltbC0+c2ltcGxlbG9jayA9IGVuYWJsZSA/IDEgOiAwOworCisJc3ogPSBzdHJsZW4obWwtPmxvY2tmaWxlKTsKKwlhc3NlcnQoc3opOworCisJaWYgKHN6IDwgMSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKiBDaGFuZ2UgbG9jayBuYW1lOgorCSAqCisJICoJZmxvY2s6ICAgICAiPG5hbWU+LmxvY2siCisJICoJbXRhYiBsb2NrOiAiPG5hbWU+fiIKKwkgKi8KKwlpZiAobWwtPnNpbXBsZWxvY2sgJiYgZW5kc3dpdGgobWwtPmxvY2tmaWxlLCAifiIpKQorCQltZW1jcHkobWwtPmxvY2tmaWxlICsgc3ogLSAxLCAiLmxvY2siLCA2KTsKKworCWVsc2UgaWYgKCFtbC0+c2ltcGxlbG9jayAmJiBlbmRzd2l0aChtbC0+bG9ja2ZpbGUsICIubG9jayIpKQorCQkgbWVtY3B5KG1sLT5sb2NrZmlsZSArIHN6IC0gNSwgIn4iLCAyKTsKKworCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICJuZXcgbG9jayBmaWxlbmFtZTogJyVzJyIsIG1sLT5sb2NrZmlsZSkpOworCXJldHVybiAwOworfQorCisvKgorICogUmV0dXJucyBwYXRoIHRvIGxvY2tmaWxlLgorICovCitzdGF0aWMgY29uc3QgY2hhciAqbW50X2xvY2tfZ2V0X2xvY2tmaWxlKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpCit7CisJcmV0dXJuIG1sID8gbWwtPmxvY2tmaWxlIDogTlVMTDsKK30KKworLyoKKyAqIE5vdGUgdGhhdCB0aGUgZmlsZW5hbWUgaXMgZ2VuZXJhdGVkIGJ5IG1udF9uZXdfbG9jaygpIGFuZCBkZXBlbmRzIG9uCisgKiBnZXRwaWQoKSBvciAnaWQnIGFyZ3VtZW50IG9mIHRoZSBtbnRfbmV3X2xvY2soKSBmdW5jdGlvbi4KKyAqCisgKiBSZXR1cm5zOiB1bmlxdWUgKHBlciBwcm9jZXNzL3RocmVhZCkgcGF0aCB0byBsaW5rZmlsZS4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKm1udF9sb2NrX2dldF9saW5rZmlsZShzdHJ1Y3QgbGlibW50X2xvY2sgKm1sKQoreworCXJldHVybiBtbCA/IG1sLT5saW5rZmlsZSA6IE5VTEw7Cit9CisKKy8qCisgKiBTaW1wbGUgZmxvY2tpbmcKKyAqLworc3RhdGljIHZvaWQgdW5sb2NrX3NpbXBsZWxvY2soc3RydWN0IGxpYm1udF9sb2NrICptbCkKK3sKKwlhc3NlcnQobWwpOworCWFzc2VydChtbC0+c2ltcGxlbG9jayk7CisKKwlpZiAobWwtPmxvY2tmaWxlX2ZkID49IDApIHsKKwkJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgIiVzOiB1bmZsb2NraW5nIiwKKwkJCQkJbW50X2xvY2tfZ2V0X2xvY2tmaWxlKG1sKSkpOworCQljbG9zZShtbC0+bG9ja2ZpbGVfZmQpOworCX0KK30KKworc3RhdGljIGludCBsb2NrX3NpbXBsZWxvY2soc3RydWN0IGxpYm1udF9sb2NrICptbCkKK3sKKwljb25zdCBjaGFyICpsZmlsZTsKKwlpbnQgcmM7CisKKwlhc3NlcnQobWwpOworCWFzc2VydChtbC0+c2ltcGxlbG9jayk7CisKKwlsZmlsZSA9IG1udF9sb2NrX2dldF9sb2NrZmlsZShtbCk7CisKKwlEQkcoTE9DS1MsIHVsX2RlYnVnb2JqKG1sLCAiJXM6IGxvY2tpbmciLCBsZmlsZSkpOworCisJaWYgKG1sLT5zaWdibG9jaykgeworCQlzaWdzZXRfdCBzaWdzOworCQlzaWdlbXB0eXNldCgmbWwtPm9sZHNpZ21hc2spOworCQlzaWdmaWxsc2V0KCZzaWdzKTsKKwkJc2lncHJvY21hc2soU0lHX0JMT0NLLCAmc2lncywgJm1sLT5vbGRzaWdtYXNrKTsKKwl9CisKKwltbC0+bG9ja2ZpbGVfZmQgPSBvcGVuKGxmaWxlLCBPX1JET05MWXxPX0NSRUFUfE9fQ0xPRVhFQywKKwkJCQkgICAgICBTX0lXVVNSfFNfSVJVU1J8U19JUkdSUHxTX0lST1RIKTsKKwlpZiAobWwtPmxvY2tmaWxlX2ZkIDwgMCkgeworCQlyYyA9IC1lcnJubzsKKwkJZ290byBlcnI7CisJfQorCXJjID0gZmNobW9kKG1sLT5sb2NrZmlsZV9mZCwgU19JUlVTUnxTX0lXVVNSfFNfSVJHUlB8U19JUk9USCk7CisJaWYgKHJjIDwgMCkgeworCQlyYyA9IC1lcnJubzsKKwkJZ290byBlcnI7CisJfQorCisJd2hpbGUgKGZsb2NrKG1sLT5sb2NrZmlsZV9mZCwgTE9DS19FWCkgPCAwKSB7CisJCWludCBlcnJzdjsKKwkJaWYgKChlcnJubyA9PSBFQUdBSU4pIHx8IChlcnJubyA9PSBFSU5UUikpCisJCQljb250aW51ZTsKKwkJZXJyc3YgPSBlcnJubzsKKwkJY2xvc2UobWwtPmxvY2tmaWxlX2ZkKTsKKwkJbWwtPmxvY2tmaWxlX2ZkID0gLTE7CisJCXJjID0gLWVycnN2OworCQlnb3RvIGVycjsKKwl9CisJbWwtPmxvY2tlZCA9IDE7CisJcmV0dXJuIDA7CitlcnI6CisJaWYgKG1sLT5zaWdibG9jaykKKwkJc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZtbC0+b2xkc2lnbWFzaywgTlVMTCk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogdHJhZGl0aW9uYWwgbXRhYiBsb2NraW5nCisgKi8KKworc3RhdGljIHZvaWQgbW50X2xvY2thbHJtX2hhbmRsZXIoaW50IHNpZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJLyogZG8gbm90aGluZywgc2F5IG5vdGhpbmcsIGJlIG5vdGhpbmcgKi8KK30KKworLyoKKyAqIFdhaXRzIGZvciBGX1NFVExLVywgdW5mb3J0dW5hdGVseSB3ZSBoYXZlIHRvIHVzZSBTSUdBTFJNIGhlcmUgdG8gaW50ZXJydXB0CisgKiBmY250bCgpIHRvIGF2b2lkIG5ldmVyZW5kaW5nIHdhaXRpbmcuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAxIG9uIHRpbWVvdXQsIC1lcnJubyBvbiBlcnJvci4KKyAqLworc3RhdGljIGludCBtbnRfd2FpdF9tdGFiX2xvY2soc3RydWN0IGxpYm1udF9sb2NrICptbCwgc3RydWN0IGZsb2NrICpmbCwgdGltZV90IG1heHRpbWUpCit7CisJc3RydWN0IHRpbWV2YWwgbm93OworCXN0cnVjdCBzaWdhY3Rpb24gc2EsIG9zYTsKKwlpbnQgcmV0ID0gMDsKKworCWdldHRpbWVfbW9ub3RvbmljKCZub3cpOworCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICIoJWQpIHdhaXRpbmcgZm9yIEZfU0VUTEtXIChub3c9JWx1LCBtYXh0aW1lPSVsdSwgZGlmZj0lbHUpIiwKKwkJCQlnZXRwaWQoKSwKKwkJCQkodW5zaWduZWQgbG9uZykgbm93LnR2X3NlYywKKwkJCQkodW5zaWduZWQgbG9uZykgbWF4dGltZSwKKwkJCQkodW5zaWduZWQgbG9uZykgKG1heHRpbWUgLSBub3cudHZfc2VjKSkpOworCisJaWYgKG5vdy50dl9zZWMgPj0gbWF4dGltZSkKKwkJcmV0dXJuIDE7CQkvKiB0aW1lb3V0ICovCisKKwkvKiBzZXR1cCBBTEFSTSBoYW5kbGVyIC0tIHdlIGRvbid0IHdhbnQgdG8gd2FpdCBmb3JldmVyICovCisJc2Euc2FfZmxhZ3MgPSAwOworCXNhLnNhX2hhbmRsZXIgPSBtbnRfbG9ja2Fscm1faGFuZGxlcjsKKwlzaWdmaWxsc2V0ICgmc2Euc2FfbWFzayk7CisKKwlzaWdhY3Rpb24oU0lHQUxSTSwgJnNhLCAmb3NhKTsKKworCisJYWxhcm0obWF4dGltZSAtIG5vdy50dl9zZWMpOworCWlmIChmY250bChtbC0+bG9ja2ZpbGVfZmQsIEZfU0VUTEtXLCBmbCkgPT0gLTEpCisJCXJldCA9IGVycm5vID09IEVJTlRSID8gMSA6IC1lcnJubzsKKwlhbGFybSgwKTsKKworCS8qIHJlc3RvcmUgb2xkIHNpZ2FjdGlvbiAqLworCXNpZ2FjdGlvbihTSUdBTFJNLCAmb3NhLCBOVUxMKTsKKworCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICIoJWQpIGxlYXZpbmcgbW50X3dhaXRfc2V0bGt3KCksIHJjPSVkIiwKKwkJCQlnZXRwaWQoKSwgcmV0KSk7CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIENyZWF0ZSB0aGUgbXRhYiBsb2NrIGZpbGUuCisgKgorICogVGhlIG9sZCBjb2RlIGhlcmUgdXNlZCBmbG9jayBvbiBhIGxvY2sgZmlsZSAvZXRjL210YWJ+IGFuZCBkZWxldGVkCisgKiB0aGlzIGxvY2sgZmlsZSBhZnRlcndhcmRzLiBIb3dldmVyLCBhcyByZ29vY2ggcmVtYXJrcywgdGhhdCBoYXMgYQorICogcmFjZTogYSBzZWNvbmQgbW91bnQgbWF5IGJlIHdhaXRpbmcgb24gdGhlIGxvY2sgYW5kIHByb2NlZWQgYXMKKyAqIHNvb24gYXMgdGhlIGxvY2sgZmlsZSBpcyBkZWxldGVkIGJ5IHRoZSBmaXJzdCBtb3VudCwgYW5kIGltbWVkaWF0ZWx5CisgKiBhZnRlcndhcmRzIGEgdGhpcmQgbW91bnQgY29tZXMsIGNyZWF0ZXMgYSBuZXcgL2V0Yy9tdGFifiwgYXBwbGllcworICogZmxvY2sgdG8gdGhhdCwgYW5kIGFsc28gcHJvY2VlZHMsIHNvIHRoYXQgdGhlIHNlY29uZCBhbmQgdGhpcmQgbW91bnQKKyAqIGFyZSBub3cgYm90aCBzY3JpYmJsaW5nIGluIC9ldGMvbXRhYi4KKyAqCisgKiBUaGUgbmV3IGNvZGUgdXNlcyBhIGxpbmsoKSBpbnN0ZWFkIG9mIGEgY3JlYXQoKSwgd2hlcmUgd2UgcHJvY2VlZAorICogb25seSBpZiBpdCB3YXMgdXMgdGhhdCBjcmVhdGVkIHRoZSBsb2NrLCBhbmQgaGVuY2Ugd2UgYWx3YXlzIGhhdmUKKyAqIHRvIGRlbGV0ZSB0aGUgbG9jayBhZnRlcndhcmRzLiBOb3cgdGhlIHVzZSBvZiBmbG9jaygpIGlzIGluIHByaW5jaXBsZQorICogc3VwZXJmbHVvdXMsIGJ1dCBhdm9pZHMgYW4gYXJiaXRyYXJ5IHNsZWVwKCkuCisgKgorICogV2hlcmUgZG9lcyB0aGUgbGluayBwb2ludCB0bz8gT2J2aW91cyBjaG9pY2VzIGFyZSBtdGFiIGFuZCBtdGFifn4uCisgKiBISkx1IHBvaW50cyBvdXQgdGhhdCB0aGUgbGF0dGVyIGxlYWRzIHRvIHJhY2VzLiBSaWdodCBub3cgd2UgdXNlCisgKiBtdGFifi5waWQgaW5zdGVhZC4KKyAqCisgKgorICogVGhlIG9yaWdpbmFsIG1vdW50IGxvY2tpbmcgY29kZSBoYXMgdXNlZCBzbGVlcCgxKSBiZXR3ZWVuIGF0dGVtcHRzIGFuZAorICogbWF4aW1hbCBudW1iZXIgb2YgYXR0ZW1wdHMgaGFzIGJlZW4gNS4KKyAqCisgKiBUaGVyZSB3YXMgYSB2ZXJ5IHNtYWxsIG51bWJlciBvZiBhdHRlbXB0cyBhbmQgZXh0cmVtZWx5IGxvbmcgd2FpdGluZyAoMXMpCisgKiB0aGF0IGlzIHVzZWxlc3Mgb24gbWFjaGluZXMgd2l0aCBsYXJnZSBudW1iZXIgb2YgbW91bnQgcHJvY2Vzc2VzLgorICoKKyAqIE5vdyB3ZSB3YWl0IGZvciBhIGZldyB0aG91c2FuZCBtaWNyb3NlY29uZHMgYmV0d2VlbiBhdHRlbXB0cyBhbmQgd2UgaGF2ZSBhIGdsb2JhbAorICogdGltZSBsaW1pdCAoMzBzKSByYXRoZXIgdGhhbiBhIGxpbWl0IGZvciB0aGUgbnVtYmVyIG9mIGF0dGVtcHRzLiBUaGUgYWR2YW50YWdlCisgKiBpcyB0aGF0IHRoaXMgbWV0aG9kIGFsc28gY291bnRzIHRpbWUgd2hpY2ggd2Ugc3BlbmQgaW4gZmNudGwoRl9TRVRMS1cpIGFuZAorICogdGhlIG51bWJlciBvZiBhdHRlbXB0cyBpcyBub3QgcmVzdHJpY3RlZC4KKyAqIC0tIGt6YWtAcmVkaGF0LmNvbSBbTWFyLTIwMDddCisgKgorICoKKyAqIFRoaXMgbXRhYiBsb2NraW5nIGNvZGUgaGFzIGJlZW4gcmVmYWN0b3JlZCBhbmQgbW92ZWQgdG8gbGlibW91bnQuIFRoZSBtdGFiCisgKiBsb2NraW5nIGlzIHJlYWxseSBub3QgcGVyZmVjdCAoZS5nLiBTSUdBTFJNKSwgYnV0IGl0J3Mgc3RhYmxlLCByZWxpYWJsZSBhbmQKKyAqIGJhY2t3YXJkbHkgY29tcGF0aWJsZSBjb2RlLgorICoKKyAqIERvbid0IGZvcmdldCB0aGF0IHRoaXMgY29kZSBoYXMgdG8gYmUgY29tcGF0aWJsZSB3aXRoIDNyZCBwYXJ0eSBtb3VudHMKKyAqICgvc2Jpbi9tb3VudC5mb28pIGFuZCBoYXMgdG8gd29yayB3aXRoIE5GUy4KKyAqIC0tIGt6YWtAcmVkaGF0LmNvbSBbTWF5LTIwMDldCisgKi8KKworLyogbWF4aW11bSBzZWNvbmRzIGJldHdlZW4gdGhlIGZpcnN0IGFuZCB0aGUgbGFzdCBhdHRlbXB0ICovCisjZGVmaW5lIE1PVU5UTE9DS19NQVhUSU1FCQkzMAorCisvKiBzbGVlcCB0aW1lIChpbiBtaWNyb3NlY29uZHMsIG1heD05OTk5OTkpIGJldHdlZW4gYXR0ZW1wdHMgKi8KKyNkZWZpbmUgTU9VTlRMT0NLX1dBSVRUSU1FCQk1MDAwCisKK3N0YXRpYyB2b2lkIHVubG9ja19tdGFiKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpCit7CisJaWYgKCFtbCkKKwkJcmV0dXJuOworCisJaWYgKCFtbC0+bG9ja2VkICYmIG1sLT5sb2NrZmlsZSAmJiBtbC0+bGlua2ZpbGUpCisJeworCQkvKiBXZSAocHJvYmFibHkpIGhhdmUgYWxsIHRoZSBmaWxlcywgYnV0IHdlIGRvbid0IG93biB0aGUgbG9jaywKKwkJICogUmVhbGx5PyBDaGVjayBpdCEgTWF5YmUgbWwtPmxvY2tlZCB3YXNuJ3Qgc2V0IHByb3Blcmx5CisJCSAqIGJlY2F1c2UgdGhlIGNvZGUgd2FzIGludGVycnVwdGVkIGJ5IGEgc2lnbmFsLiBQYXJhbm9pYT8gWWVzLgorCQkgKgorCQkgKiBXZSBvd24gdGhlIGxvY2sgd2hlbiBsaW5rZmlsZSA9PSBsb2NrZmlsZS4KKwkJICovCisJCXN0cnVjdCBzdGF0IGxvLCBsaTsKKworCQlpZiAoIXN0YXQobWwtPmxvY2tmaWxlLCAmbG8pICYmICFzdGF0KG1sLT5saW5rZmlsZSwgJmxpKSAmJgorCQkgICAgbG8uc3RfZGV2ID09IGxpLnN0X2RldiAmJiBsby5zdF9pbm8gPT0gbGkuc3RfaW5vKQorCQkJbWwtPmxvY2tlZCA9IDE7CisJfQorCisJaWYgKG1sLT5saW5rZmlsZSkKKwkJdW5saW5rKG1sLT5saW5rZmlsZSk7CisJaWYgKG1sLT5sb2NrZmlsZV9mZCA+PSAwKQorCQljbG9zZShtbC0+bG9ja2ZpbGVfZmQpOworCWlmIChtbC0+bG9ja2VkICYmIG1sLT5sb2NrZmlsZSkgeworCQl1bmxpbmsobWwtPmxvY2tmaWxlKTsKKwkJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgInVubGluayAlcyIsIG1sLT5sb2NrZmlsZSkpOworCX0KK30KKworc3RhdGljIGludCBsb2NrX210YWIoc3RydWN0IGxpYm1udF9sb2NrICptbCkKK3sKKwlpbnQgaSwgcmMgPSAtMTsKKwlzdHJ1Y3QgdGltZXNwZWMgd2FpdHRpbWU7CisJc3RydWN0IHRpbWV2YWwgbWF4dGltZTsKKwljb25zdCBjaGFyICpsb2NrZmlsZSwgKmxpbmtmaWxlOworCisJaWYgKCFtbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKG1sLT5sb2NrZWQpCisJCXJldHVybiAwOworCisJbG9ja2ZpbGUgPSBtbnRfbG9ja19nZXRfbG9ja2ZpbGUobWwpOworCWlmICghbG9ja2ZpbGUpCisJCXJldHVybiAtRUlOVkFMOworCWxpbmtmaWxlID0gbW50X2xvY2tfZ2V0X2xpbmtmaWxlKG1sKTsKKwlpZiAoIWxpbmtmaWxlKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChtbC0+c2lnYmxvY2spIHsKKwkJLyoKKwkJICogQmxvY2sgYWxsIHNpZ25hbHMgd2hlbiBsb2NrZWQsIG1udF91bmxvY2tfZmlsZSgpIHdpbGwKKwkJICogcmVzdG9yZSB0aGUgb2xkIG1hc2suCisJCSAqLworCQlzaWdzZXRfdCBzaWdzOworCisJCXNpZ2VtcHR5c2V0KCZtbC0+b2xkc2lnbWFzayk7CisJCXNpZ2ZpbGxzZXQoJnNpZ3MpOworCQlzaWdkZWxzZXQoJnNpZ3MsIFNJR1RSQVApOworCQlzaWdkZWxzZXQoJnNpZ3MsIFNJR0FMUk0pOworCQlzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZzaWdzLCAmbWwtPm9sZHNpZ21hc2spOworCX0KKworCWkgPSBvcGVuKGxpbmtmaWxlLCBPX1dST05MWXxPX0NSRUFUfE9fQ0xPRVhFQywgU19JUlVTUnxTX0lXVVNSKTsKKwlpZiAoaSA8IDApIHsKKwkJLyogbGlua2ZpbGUgZG9lcyBub3QgZXhpc3QgKGFzIGEgZmlsZSkgYW5kIHdlIGNhbm5vdCBjcmVhdGUgaXQuCisJCSAqIFJlYWQtb25seSBvciBmdWxsIGZpbGVzeXN0ZW0/IFRvbyBtYW55IGZpbGVzIG9wZW4gaW4gdGhlIHN5c3RlbT8KKwkJICovCisJCWlmIChlcnJubyA+IDApCisJCQlyYyA9IC1lcnJubzsKKwkJZ290byBmYWlsZWQ7CisJfQorCWNsb3NlKGkpOworCisJZ2V0dGltZV9tb25vdG9uaWMoJm1heHRpbWUpOworCW1heHRpbWUudHZfc2VjICs9IE1PVU5UTE9DS19NQVhUSU1FOworCisJd2FpdHRpbWUudHZfc2VjID0gMDsKKwl3YWl0dGltZS50dl9uc2VjID0gKDEwMDAgKiBNT1VOVExPQ0tfV0FJVFRJTUUpOworCisJLyogUmVwZWF0IHVudGlsIGl0IHdhcyB1cyB3aG8gbWFkZSB0aGUgbGluayAqLworCXdoaWxlICghbWwtPmxvY2tlZCkgeworCQlzdHJ1Y3QgdGltZXZhbCBub3c7CisJCXN0cnVjdCBmbG9jayBmbG9jazsKKwkJaW50IGo7CisKKwkJaiA9IGxpbmsobGlua2ZpbGUsIGxvY2tmaWxlKTsKKwkJaWYgKGogPT0gMCkKKwkJCW1sLT5sb2NrZWQgPSAxOworCisJCWlmIChqIDwgMCAmJiBlcnJubyAhPSBFRVhJU1QpIHsKKwkJCWlmIChlcnJubyA+IDApCisJCQkJcmMgPSAtZXJybm87CisJCQlnb3RvIGZhaWxlZDsKKwkJfQorCQltbC0+bG9ja2ZpbGVfZmQgPSBvcGVuKGxvY2tmaWxlLCBPX1dST05MWXxPX0NMT0VYRUMpOworCisJCWlmIChtbC0+bG9ja2ZpbGVfZmQgPCAwKSB7CisJCQkvKiBTdHJhbmdlLi4uIE1heWJlIHRoZSBmaWxlIHdhcyBqdXN0IGRlbGV0ZWQ/ICovCisJCQlpbnQgZXJyc3YgPSBlcnJubzsKKwkJCWdldHRpbWVfbW9ub3RvbmljKCZub3cpOworCQkJaWYgKGVycnN2ID09IEVOT0VOVCAmJiBub3cudHZfc2VjIDwgbWF4dGltZS50dl9zZWMpIHsKKwkJCQltbC0+bG9ja2VkID0gMDsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmIChlcnJzdiA+IDApCisJCQkJcmMgPSAtZXJyc3Y7CisJCQlnb3RvIGZhaWxlZDsKKwkJfQorCisJCWZsb2NrLmxfdHlwZSA9IEZfV1JMQ0s7CisJCWZsb2NrLmxfd2hlbmNlID0gU0VFS19TRVQ7CisJCWZsb2NrLmxfc3RhcnQgPSAwOworCQlmbG9jay5sX2xlbiA9IDA7CisKKwkJaWYgKG1sLT5sb2NrZWQpIHsKKwkJCS8qIFdlIG1hZGUgdGhlIGxpbmsuIE5vdyBjbGFpbSB0aGUgbG9jay4gKi8KKwkJCWlmIChmY250bCAobWwtPmxvY2tmaWxlX2ZkLCBGX1NFVExLLCAmZmxvY2spID09IC0xKSB7CisJCQkJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwKKwkJCQkJIiVzOiBjYW4ndCBGX1NFVExLIGxvY2tmaWxlLCBlcnJubz0lZFxuIiwKKwkJCQkJbG9ja2ZpbGUsIGVycm5vKSk7CisJCQkJLyogcHJvY2VlZCwgc2luY2UgaXQgd2FzIHVzIHdobyBjcmVhdGVkIHRoZSBsb2NrZmlsZSBhbnl3YXkgKi8KKwkJCX0KKwkJCWJyZWFrOworCQl9IGVsc2UgeworCQkJLyogU29tZW9uZSBlbHNlIG1hZGUgdGhlIGxpbmsuIFdhaXQuICovCisJCQlpbnQgZXJyID0gbW50X3dhaXRfbXRhYl9sb2NrKG1sLCAmZmxvY2ssIG1heHRpbWUudHZfc2VjKTsKKworCQkJaWYgKGVyciA9PSAxKSB7CisJCQkJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwKKwkJCQkJIiVzOiBjYW4ndCBjcmVhdGUgbGluazogdGltZSBvdXQgKHBlcmhhcHMgIgorCQkJCQkidGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/KSIsIGxvY2tmaWxlKSk7CisJCQkJcmMgPSAtRVRJTUVET1VUOworCQkJCWdvdG8gZmFpbGVkOworCisJCQl9IGVsc2UgaWYgKGVyciA8IDApIHsKKwkJCQlyYyA9IGVycjsKKwkJCQlnb3RvIGZhaWxlZDsKKwkJCX0KKwkJCW5hbm9zbGVlcCgmd2FpdHRpbWUsIE5VTEwpOworCQkJY2xvc2UobWwtPmxvY2tmaWxlX2ZkKTsKKwkJCW1sLT5sb2NrZmlsZV9mZCA9IC0xOworCQl9CisJfQorCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICIlczogKCVkKSBzdWNjZXNzZnVsbHkgbG9ja2VkIiwKKwkJCQkJbG9ja2ZpbGUsIGdldHBpZCgpKSk7CisJdW5saW5rKGxpbmtmaWxlKTsKKwlyZXR1cm4gMDsKKworZmFpbGVkOgorCW1udF91bmxvY2tfZmlsZShtbCk7CisJcmV0dXJuIHJjOworfQorCisKKy8qKgorICogbW50X2xvY2tfZmlsZQorICogQG1sOiBwb2ludGVyIHRvIHN0cnVjdCBsaWJtbnRfbG9jayBpbnN0YW5jZQorICoKKyAqIENyZWF0ZXMgYSBsb2NrIGZpbGUgKGUuZy4gL2V0Yy9tdGFifikuIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIG1heQorICogdXNlIGFsYXJtKCkuCisgKgorICogWW91ciBhcHBsaWNhdGlvbiBhbHdheXMgaGFzIHRvIGNhbGwgbW50X3VubG9ja19maWxlKCkgYmVmb3JlIGV4aXQuCisgKgorICogVHJhZGl0aW9uYWwgbXRhYiBsb2NraW5nIHNjaGVtZToKKyAqCisgKiAgIDEuIGNyZWF0ZSBsaW5rZmlsZSAoZS5nLiAvZXRjL210YWJ+LiRQSUQpCisgKiAgIDIuIGxpbmsgbGlua2ZpbGUgLS0+IGxvY2tmaWxlIChlLmcuIC9ldGMvbXRhYn4uJFBJRCAtLT4gL2V0Yy9tdGFifikKKyAqICAgMy4gYSkgbGluaygpIHN1Y2Nlc3M6IHNldHVwcyBGX1NFVExLIGxvY2sgKHNlZSBmY250bCgyKSkKKyAqICAgICAgYikgbGluaygpIGZhaWxlZDogIHdhaXQgKG1heCAzMHMpIG9uIEZfU0VUTEtXIGxvY2ssIGdvdG8gMi4KKyAqCisgKiBOb3RlIHRoYXQgd2hlbiB0aGUgbG9jayBpcyB1c2VkIGJ5IG1udF91cGRhdGVfdGFibGUoKSBpbnRlcmZhY2UgdGhlbiBsaWJtb3VudAorICogdXNlcyBmbG9jaygpIGZvciBwcml2YXRlIGxpYnJhcnkgZmlsZSAvcnVuL21vdW50L3V0YWIuIFRoZSBmY250bCgyKSBpcyB1c2VkIG9ubHkKKyAqIGZvciBiYWNrd2FyZGx5IGNvbXBhdGlibGUgc3R1ZmYgbGlrZSAvZXRjL210YWIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yICgtRVRJTUVPVVQgaXMgY2FzZQorICogb2Ygc3RhbGUgbG9jayBmaWxlKS4KKyAqLworaW50IG1udF9sb2NrX2ZpbGUoc3RydWN0IGxpYm1udF9sb2NrICptbCkKK3sKKwlpZiAoIW1sKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChtbC0+c2ltcGxlbG9jaykKKwkJcmV0dXJuIGxvY2tfc2ltcGxlbG9jayhtbCk7CisKKwlyZXR1cm4gbG9ja19tdGFiKG1sKTsKK30KKworLyoqCisgKiBtbnRfdW5sb2NrX2ZpbGU6CisgKiBAbWw6IGxvY2sgc3RydWN0CisgKgorICogVW5sb2NrcyB0aGUgZmlsZS4gVGhlIGZ1bmN0aW9uIGNvdWxkIGJlIGNhbGxlZCBpbmRlcGVuZGVudGx5IG9mIHRoZQorICogbG9jayBzdGF0dXMgKGZvciBleGFtcGxlIGZyb20gZXhpdCgzKSkuCisgKi8KK3ZvaWQgbW50X3VubG9ja19maWxlKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwpCit7CisJaWYgKCFtbCkKKwkJcmV0dXJuOworCisJREJHKExPQ0tTLCB1bF9kZWJ1Z29iaihtbCwgIiglZCkgJXMiLCBnZXRwaWQoKSwKKwkJCW1sLT5sb2NrZWQgPyAidW5sb2NraW5nIiA6ICJjbGVhbmluZyIpKTsKKworCWlmIChtbC0+c2ltcGxlbG9jaykKKwkJdW5sb2NrX3NpbXBsZWxvY2sobWwpOworCWVsc2UKKwkJdW5sb2NrX210YWIobWwpOworCisJbWwtPmxvY2tlZCA9IDA7CisJbWwtPmxvY2tmaWxlX2ZkID0gLTE7CisKKwlpZiAobWwtPnNpZ2Jsb2NrKSB7CisJCURCRyhMT0NLUywgdWxfZGVidWdvYmoobWwsICJyZXN0b3Jpbmcgc2lnbWFzayIpKTsKKwkJc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZtbC0+b2xkc2lnbWFzaywgTlVMTCk7CisJfQorfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X2xvY2sgKmxvY2s7CisKKy8qCisgKiByZWFkIG51bWJlciBmcm9tIEBmaWxlbmFtZSwgaW5jcmVtZW50IHRoZSBudW1iZXIgYW5kCisgKiB3cml0ZSB0aGUgbnVtYmVyIGJhY2sgdG8gdGhlIGZpbGUKKyAqLworc3RhdGljIHZvaWQgaW5jcmVtZW50X2RhdGEoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCB2ZXJib3NlLCBpbnQgbG9vcG5vKQoreworCWxvbmcgbnVtOworCUZJTEUgKmY7CisJY2hhciBidWZbMjU2XTsKKworCWlmICghKGYgPSBmb3BlbihmaWxlbmFtZSwgInIiIFVMX0NMT0VYRUNTVFIpKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVkOiBmYWlsZWQgdG8gb3BlbjogJXMiLCBnZXRwaWQoKSwgZmlsZW5hbWUpOworCisJaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVkIGZhaWxlZCByZWFkOiAlcyIsIGdldHBpZCgpLCBmaWxlbmFtZSk7CisKKwlmY2xvc2UoZik7CisJbnVtID0gYXRvbChidWYpICsgMTsKKworCWlmICghKGYgPSBmb3BlbihmaWxlbmFtZSwgInciIFVMX0NMT0VYRUNTVFIpKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVkOiBmYWlsZWQgdG8gb3BlbjogJXMiLCBnZXRwaWQoKSwgZmlsZW5hbWUpOworCisJZnByaW50ZihmLCAiJWxkIiwgbnVtKTsKKworCWlmIChjbG9zZV9zdHJlYW0oZikgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIndyaXRlIGZhaWxlZDogJXMiLCBmaWxlbmFtZSk7CisKKwlpZiAodmVyYm9zZSkKKwkJZnByaW50ZihzdGRlcnIsICIlZDogJXM6ICVsZCAtLT4gJWxkIChsb29wPSVkKVxuIiwgZ2V0cGlkKCksCisJCQkJZmlsZW5hbWUsIG51bSAtIDEsIG51bSwgbG9vcG5vKTsKK30KKworc3RhdGljIHZvaWQgY2xlYW5fbG9jayh2b2lkKQoreworCWlmICghbG9jaykKKwkJcmV0dXJuOworCW1udF91bmxvY2tfZmlsZShsb2NrKTsKKwltbnRfZnJlZV9sb2NrKGxvY2spOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSBzaWdfaGFuZGxlcihpbnQgc2lnKQoreworCWVycngoRVhJVF9GQUlMVVJFLCAiXG4lZDogY2F0Y2ggc2lnbmFsOiAlc1xuIiwgZ2V0cGlkKCksIHN0cnNpZ25hbChzaWcpKTsKK30KKworc3RhdGljIGludCB0ZXN0X2xvY2soc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwl0aW1lX3Qgc3luY3RpbWUgPSAwOworCXVuc2lnbmVkIGludCB1c2VjczsKKwljb25zdCBjaGFyICpkYXRhZmlsZSA9IE5VTEw7CisJaW50IHZlcmJvc2UgPSAwLCBsb29wcyA9IDAsIGwsIGlkeCA9IDE7CisKKwlpZiAoYXJnYyA8IDMpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHN0cmNtcChhcmd2W2lkeF0sICItLXN5bmN0aW1lIikgPT0gMCkgeworCQlzeW5jdGltZSA9ICh0aW1lX3QpIGF0b2woYXJndltpZHggKyAxXSk7CisJCWlkeCArPSAyOworCX0KKwlpZiAoaWR4IDwgYXJnYyAmJiBzdHJjbXAoYXJndltpZHhdLCAiLS12ZXJib3NlIikgPT0gMCkgeworCQl2ZXJib3NlID0gMTsKKwkJaWR4Kys7CisJfQorCisJaWYgKGlkeCA8IGFyZ2MpCisJCWRhdGFmaWxlID0gYXJndltpZHgrK107CisJaWYgKGlkeCA8IGFyZ2MpCisJCWxvb3BzID0gYXRvaShhcmd2W2lkeCsrXSk7CisKKwlpZiAoIWRhdGFmaWxlIHx8ICFsb29wcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAodmVyYm9zZSkKKwkJZnByaW50ZihzdGRlcnIsICIlZDogc3RhcnQ6IHN5bmN0aW1lPSV1LCBkYXRhZmlsZT0lcywgbG9vcHM9JWRcbiIsCisJCQkgZ2V0cGlkKCksIChpbnQpIHN5bmN0aW1lLCBkYXRhZmlsZSwgbG9vcHMpOworCisJYXRleGl0KGNsZWFuX2xvY2spOworCisJLyogYmUgcGFyYW5vaWQgYW5kIGNhbGwgZXhpdCgpICg9Y2xlYW5fbG9jaygpKSBmb3IgYWxsIHNpZ25hbHMgKi8KKwl7CisJCWludCBzaWcgPSAwOworCQlzdHJ1Y3Qgc2lnYWN0aW9uIHNhOworCisJCXNhLnNhX2hhbmRsZXIgPSBzaWdfaGFuZGxlcjsKKwkJc2Euc2FfZmxhZ3MgPSAwOworCQlzaWdmaWxsc2V0KCZzYS5zYV9tYXNrKTsKKworCQl3aGlsZSAoc2lnaXNtZW1iZXIoJnNhLnNhX21hc2ssICsrc2lnKSAhPSAtMSAmJiBzaWcgIT0gU0lHQ0hMRCkKKwkJCXNpZ2FjdGlvbiAoc2lnLCAmc2EsIChzdHJ1Y3Qgc2lnYWN0aW9uICopIDApOworCX0KKworCS8qIHN0YXJ0IHRoZSB0ZXN0IGluIGV4YWN0bHkgZGVmaW5lZCB0aW1lICovCisJaWYgKHN5bmN0aW1lKSB7CisJCXN0cnVjdCB0aW1ldmFsIHR2OworCisJCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCQlpZiAoc3luY3RpbWUgJiYgc3luY3RpbWUgLSB0di50dl9zZWMgPiAxKSB7CisJCQl1c2VjcyA9ICgoc3luY3RpbWUgLSB0di50dl9zZWMpICogMTAwMDAwMFVMKSAtCisJCQkJCQkoMTAwMDAwMFVMIC0gdHYudHZfdXNlYyk7CisJCQl4dXNsZWVwKHVzZWNzKTsKKwkJfQorCX0KKworCWZvciAobCA9IDA7IGwgPCBsb29wczsgbCsrKSB7CisJCWxvY2sgPSBtbnRfbmV3X2xvY2soZGF0YWZpbGUsIDApOworCQlpZiAoIWxvY2spCisJCQlyZXR1cm4gLTE7CisKKwkJaWYgKG1udF9sb2NrX2ZpbGUobG9jaykgIT0gMCkgeworCQkJZnByaW50ZihzdGRlcnIsICIlZDogZmFpbGVkIHRvIGxvY2sgJXMgZmlsZVxuIiwKKwkJCQkJZ2V0cGlkKCksIGRhdGFmaWxlKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJCWluY3JlbWVudF9kYXRhKGRhdGFmaWxlLCB2ZXJib3NlLCBsKTsKKworCQltbnRfdW5sb2NrX2ZpbGUobG9jayk7CisJCW1udF9mcmVlX2xvY2sobG9jayk7CisJCWxvY2sgPSBOVUxMOworCisJCS8qIFRoZSBtb3VudCBjb21tYW5kIHVzdWFsbHkgZmluaXNoZXMgYWZ0ZXIgYSBtdGFiIHVwZGF0ZS4gV2UKKwkJICogc2ltdWxhdGUgdGhpcyB2aWEgc2hvcnQgc2xlZXAgLS0gaXQncyBhbHNvIGVub3VnaCB0byBtYWtlCisJCSAqIGNvbmN1cnJlbnQgcHJvY2Vzc2VzIGhhcHB5LgorCQkgKi8KKwkJaWYgKHN5bmN0aW1lKQorCQkJeHVzbGVlcCgyNTAwMCk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBOb3RlIHRoYXQgdGhpcyB0ZXN0IHNob3VsZCBiZSBleGVjdXRlZCBmcm9tIGEgc2NyaXB0IHRoYXQgY3JlYXRlcyBtYW55CisgKiBwYXJhbGxlbCBwcm9jZXNzZXMsIG90aGVyd2lzZSB0aGlzIHRlc3QgZG9lcyBub3QgbWFrZSBzZW5zZS4KKyAqLworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3Rlc3QgdHNzW10gPSB7CisJeyAiLS1sb2NrIiwgdGVzdF9sb2NrLCAgIiBbLS1zeW5jdGltZSA8dGltZV90Pl0gWy0tdmVyYm9zZV0gPGRhdGFmaWxlPiA8bG9vcHM+ICIKKwkJCQkiaW5jcmVtZW50IGEgbnVtYmVyIGluIGRhdGFmaWxlIiB9LAorCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBtbnRfcnVuX3Rlc3QodHNzLCBhcmdjLCBhcmd2KTsKK30KKworI2VuZGlmIC8qIFRFU1RfUFJPR1JBTSAqLwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL21vbml0b3IuYyBiL2xpYm1vdW50L3NyYy9tb25pdG9yLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjFiOTVmNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9tb25pdG9yLmMKQEAgLTAsMCArMSw5NzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IG1vbml0b3IKKyAqIEB0aXRsZTogTW9uaXRvcgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiBpbnRlcmZhY2UgdG8gbW9uaXRvciBtb3VudCB0YWJsZXMKKyAqCisgKiBGb3IgZXhhbXBsZSBtb25pdG9yIFZGUyAoL3Byb2Mvc2VsZi9tb3VudGluZm8pIGZvciBjaGFuZ2VzOgorICoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqIGNvbnN0IGNoYXIgKmZpbGVuYW1lOworICogc3RydWN0IGxpYm1vdW50X21vbml0b3IgKm1uID0gbW50X25ld19tb25pdG9yKCk7CisgKgorICogbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbChtbiwgVFJVRSkpOworICoKKyAqIHByaW50Zigid2FpdGluZyBmb3IgY2hhbmdlcy4uLlxuIik7CisgKiB3aGlsZSAobW50X21vbml0b3Jfd2FpdChtbiwgLTEpID4gMCkgeworICogICAgd2hpbGUgKG1udF9tb25pdG9yX25leHRfY2hhbmdlKG1uLCAmZmlsZW5hbWUsIE5VTEwpID09IDApCisgKiAgICAgICBwcmludGYoIiAlczogY2hhbmdlIGRldGVjdGVkXG4iLCBmaWxlbmFtZSk7CisgKiB9CisgKiBtbnRfdW5yZWZfbW9uaXRvcihtbik7CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKi8KKworI2luY2x1ZGUgImZpbGV1dGlscy5oIgorI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCisjaW5jbHVkZSA8c3lzL2lub3RpZnkuaD4KKyNpbmNsdWRlIDxzeXMvZXBvbGwuaD4KKworCitzdHJ1Y3QgbW9uaXRvcl9vcGVyczsKKworc3RydWN0IG1vbml0b3JfZW50cnkgeworCWludAkJCWZkOwkJLyogcHJpdmF0ZSBlbnRyeSBmaWxlIGRlc2NyaXB0b3IgKi8KKwljaGFyCQkJKnBhdGg7CQkvKiBwYXRoIHRvIHRoZSBtb25pdG9yZWQgZmlsZSAqLworCWludAkJCXR5cGU7CQkvKiBNTlRfTU9OSVRPUl9UWVBFXyogKi8KKwl1aW50MzJfdAkJZXZlbnRzOwkJLyogd2FudGVkIGVwb2xsIGV2ZW50cyAqLworCisJY29uc3Qgc3RydWN0IG1vbml0b3Jfb3BlcnMgKm9wZXJzOworCisJdW5zaWduZWQgaW50CQllbmFibGUgOiAxLAorCQkJCWNoYW5nZWQgOiAxOworCisJc3RydWN0IGxpc3RfaGVhZAllbnRzOworfTsKKworc3RydWN0IGxpYm1udF9tb25pdG9yIHsKKwlpbnQJCQlyZWZjb3VudDsKKwlpbnQJCQlmZDsJCS8qIHB1YmxpYyBtb25pdG9yIGZpbGUgZGVzY3JpcHRvciAqLworCisJc3RydWN0IGxpc3RfaGVhZAllbnRzOworfTsKKworc3RydWN0IG1vbml0b3Jfb3BlcnMgeworCWludCAoKm9wX2dldF9mZCkoc3RydWN0IGxpYm1udF9tb25pdG9yICosIHN0cnVjdCBtb25pdG9yX2VudHJ5ICopOworCWludCAoKm9wX2Nsb3NlX2ZkKShzdHJ1Y3QgbGlibW50X21vbml0b3IgKiwgc3RydWN0IG1vbml0b3JfZW50cnkgKik7CisJaW50ICgqb3BfZXZlbnRfdmVyaWZ5KShzdHJ1Y3QgbGlibW50X21vbml0b3IgKiwgc3RydWN0IG1vbml0b3JfZW50cnkgKik7Cit9OworCitzdGF0aWMgaW50IG1vbml0b3JfbW9kaWZ5X2Vwb2xsKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sCisJCQkJc3RydWN0IG1vbml0b3JfZW50cnkgKm1lLCBpbnQgZW5hYmxlKTsKKworLyoqCisgKiBtbnRfbmV3X21vbml0b3I6CisgKgorICogVGhlIGluaXRpYWwgcmVmY291bnQgaXMgMSwgYW5kIG5lZWRzIHRvIGJlIGRlY3JlbWVudGVkIHRvCisgKiByZWxlYXNlIHRoZSByZXNvdXJjZXMgb2YgdGhlIGZpbGVzeXN0ZW0uCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIHN0cnVjdCBsaWJtbnRfbW9uaXRvci4KKyAqLworc3RydWN0IGxpYm1udF9tb25pdG9yICptbnRfbmV3X21vbml0b3Iodm9pZCkKK3sKKwlzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uID0gY2FsbG9jKDEsIHNpemVvZigqbW4pKTsKKwlpZiAoIW1uKQorCQlyZXR1cm4gTlVMTDsKKworCW1uLT5yZWZjb3VudCA9IDE7CisJbW4tPmZkID0gLTE7CisJSU5JVF9MSVNUX0hFQUQoJm1uLT5lbnRzKTsKKworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgImFsbG9jIikpOworCXJldHVybiBtbjsKK30KKworLyoqCisgKiBtbnRfcmVmX21vbml0b3I6CisgKiBAbW46IG1vbml0b3IgcG9pbnRlcgorICoKKyAqIEluY3JlbWVudHMgcmVmZXJlbmNlIGNvdW50ZXIuCisgKi8KK3ZvaWQgbW50X3JlZl9tb25pdG9yKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pCit7CisJaWYgKG1uKQorCQltbi0+cmVmY291bnQrKzsKK30KKworc3RhdGljIHZvaWQgZnJlZV9tb25pdG9yX2VudHJ5KHN0cnVjdCBtb25pdG9yX2VudHJ5ICptZSkKK3sKKwlpZiAoIW1lKQorCQlyZXR1cm47CisJbGlzdF9kZWwoJm1lLT5lbnRzKTsKKwlpZiAobWUtPmZkID49IDApCisJCWNsb3NlKG1lLT5mZCk7CisJZnJlZShtZS0+cGF0aCk7CisJZnJlZShtZSk7Cit9CisKKy8qKgorICogbW50X3VucmVmX21vbml0b3I6CisgKiBAbW46IG1vbml0b3IgcG9pbnRlcgorICoKKyAqIERlY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudGVyLCBvbiB6ZXJvIHRoZSBAbW4gaXMgYXV0b21hdGljYWxseQorICogZGVhbGxvY2F0ZWQuCisgKi8KK3ZvaWQgbW50X3VucmVmX21vbml0b3Ioc3RydWN0IGxpYm1udF9tb25pdG9yICptbikKK3sKKwlpZiAoIW1uKQorCQlyZXR1cm47CisKKwltbi0+cmVmY291bnQtLTsKKwlpZiAobW4tPnJlZmNvdW50IDw9IDApIHsKKwkJbW50X21vbml0b3JfY2xvc2VfZmQobW4pOwkvKiBkZXN0cm95cyBhbGwgZmlsZSBkZXNjcmlwdG9ycyAqLworCisJCXdoaWxlICghbGlzdF9lbXB0eSgmbW4tPmVudHMpKSB7CisJCQlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWUgPSBsaXN0X2VudHJ5KG1uLT5lbnRzLm5leHQsCisJCQkJCQkgIHN0cnVjdCBtb25pdG9yX2VudHJ5LCBlbnRzKTsKKwkJCWZyZWVfbW9uaXRvcl9lbnRyeShtZSk7CisJCX0KKworCQlmcmVlKG1uKTsKKwl9Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbW9uaXRvcl9uZXdfZW50cnkoc3RydWN0IGxpYm1udF9tb25pdG9yICptbikKK3sKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisKKwlhc3NlcnQobW4pOworCisJbWUgPSBjYWxsb2MoMSwgc2l6ZW9mKCptZSkpOworCWlmICghbWUpCisJCXJldHVybiBOVUxMOworICAgICAgICBJTklUX0xJU1RfSEVBRCgmbWUtPmVudHMpOworCWxpc3RfYWRkX3RhaWwoJm1lLT5lbnRzLCAmbW4tPmVudHMpOworCisJbWUtPmZkID0gLTE7CisKKwlyZXR1cm4gbWU7Cit9CisKK3N0YXRpYyBpbnQgbW9uaXRvcl9uZXh0X2VudHJ5KHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sCisJCQkgICAgICBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwKKwkJCSAgICAgIHN0cnVjdCBtb25pdG9yX2VudHJ5ICoqbWUpCit7CisJaW50IHJjID0gMTsKKworCWFzc2VydChtbik7CisJYXNzZXJ0KGl0cik7CisJYXNzZXJ0KG1lKTsKKworCSptZSA9IE5VTEw7CisKKwlpZiAoIWl0ci0+aGVhZCkKKwkJTU5UX0lURVJfSU5JVChpdHIsICZtbi0+ZW50cyk7CisJaWYgKGl0ci0+cCAhPSBpdHItPmhlYWQpIHsKKwkJTU5UX0lURVJfSVRFUkFURShpdHIsICptZSwgc3RydWN0IG1vbml0b3JfZW50cnksIGVudHMpOworCQlyYyA9IDA7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKiByZXR1cm5zIGVudHJ5IGJ5IHR5cGUgKi8KK3N0YXRpYyBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbW9uaXRvcl9nZXRfZW50cnkoc3RydWN0IGxpYm1udF9tb25pdG9yICptbiwgaW50IHR5cGUpCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAobW9uaXRvcl9uZXh0X2VudHJ5KG1uLCAmaXRyLCAmbWUpID09IDApIHsKKwkJaWYgKG1lLT50eXBlID09IHR5cGUpCisJCQlyZXR1cm4gbWU7CisJfQorCXJldHVybiBOVUxMOworfQorCisKKy8qCisgKiBVc2Vyc3BhY2UgbW9uaXRvcgorICovCisKK3N0YXRpYyBpbnQgdXNlcnNwYWNlX21vbml0b3JfY2xvc2VfZmQoc3RydWN0IGxpYm1udF9tb25pdG9yICptbiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkJICAgIHN0cnVjdCBtb25pdG9yX2VudHJ5ICptZSkKK3sKKwlhc3NlcnQobWUpOworCisJaWYgKG1lLT5mZCA+PSAwKQorCQljbG9zZShtZS0+ZmQpOworCW1lLT5mZCA9IC0xOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHVzZXJzcGFjZV9hZGRfd2F0Y2goc3RydWN0IG1vbml0b3JfZW50cnkgKm1lLCBpbnQgKmZpbmFsLCBpbnQgKmZkKQoreworCWNoYXIgKmZpbGVuYW1lID0gTlVMTDsKKwlpbnQgd2QsIHJjID0gLUVJTlZBTDsKKworCWFzc2VydChtZSk7CisJYXNzZXJ0KG1lLT5wYXRoKTsKKworCS8qCisJICogbGlibW91bnQgdXNlcyByZW5hbWUoMikgdG8gYXRvbWljYWxseSB1cGRhdGUgdXRhYiwgbW9uaXRvcgorCSAqIHJlbmFtZSBjaGFuZ2VzIGlzIHRvbyB0cmlja3kuIEl0IHNlZW1zIGJldHRlciB0byBtb25pdG9yIHV0YWIKKwkgKiBsb2NrZmlsZSBjbG9zZS4KKwkgKi8KKwlpZiAoYXNwcmludGYoJmZpbGVuYW1lLCAiJXMubG9jayIsIG1lLT5wYXRoKSA8PSAwKSB7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogdHJ5IGxvY2sgZmlsZSBpZiBhbHJlYWR5IGV4aXN0cyAqLworCWVycm5vID0gMDsKKwl3ZCA9IGlub3RpZnlfYWRkX3dhdGNoKG1lLT5mZCwgZmlsZW5hbWUsIElOX0NMT1NFX05PV1JJVEUpOworCWlmICh3ZCA+PSAwKSB7CisJCURCRyhNT05JVE9SLCB1bF9kZWJ1ZygiIGFkZGVkIGlub3RpZnkgd2F0Y2ggZm9yICVzIFtmZD0lZF0iLCBmaWxlbmFtZSwgd2QpKTsKKwkJcmMgPSAwOworCQlpZiAoZmluYWwpCisJCQkqZmluYWwgPSAxOworCQlpZiAoZmQpCisJCQkqZmQgPSB3ZDsKKwkJZ290byBkb25lOworCX0gZWxzZSBpZiAoZXJybm8gIT0gRU5PRU5UKSB7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCisJd2hpbGUgKHN0cmNocihmaWxlbmFtZSwgJy8nKSkgeworCQlzdHJpcG9mZl9sYXN0X2NvbXBvbmVudChmaWxlbmFtZSk7CisJCWlmICghKmZpbGVuYW1lKQorCQkJYnJlYWs7CisKKwkJLyogdHJ5IGRpcmVjdG9yeSB3aGVyZSBpcyB0aGUgbG9jayBmaWxlICovCisJCWVycm5vID0gMDsKKwkJd2QgPSBpbm90aWZ5X2FkZF93YXRjaChtZS0+ZmQsIGZpbGVuYW1lLCBJTl9DUkVBVEV8SU5fSVNESVIpOworCQlpZiAod2QgPj0gMCkgeworCQkJREJHKE1PTklUT1IsIHVsX2RlYnVnKCIgYWRkZWQgaW5vdGlmeSB3YXRjaCBmb3IgJXMgW2ZkPSVkXSIsIGZpbGVuYW1lLCB3ZCkpOworCQkJcmMgPSAwOworCQkJaWYgKGZkKQorCQkJCSpmZCA9IHdkOworCQkJYnJlYWs7CisJCX0gZWxzZSBpZiAoZXJybm8gIT0gRU5PRU5UKSB7CisJCQlyYyA9IC1lcnJubzsKKwkJCWJyZWFrOworCQl9CisJfQorZG9uZToKKwlmcmVlKGZpbGVuYW1lKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdXNlcnNwYWNlX21vbml0b3JfZ2V0X2ZkKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sCisJCQkJICAgIHN0cnVjdCBtb25pdG9yX2VudHJ5ICptZSkKK3sKKwlpbnQgcmM7CisKKwlpZiAoIW1lIHx8IG1lLT5lbmFibGUgPT0gMCkJLyogbm90LWluaXRpYWxpemVkIG9yIGRpc2FibGVkICovCisJCXJldHVybiAtRUlOVkFMOworCWlmIChtZS0+ZmQgPj0gMCkKKwkJcmV0dXJuIG1lLT5mZDsJCS8qIGFscmVhZHkgaW5pdGlhbGl6ZWQgKi8KKworCWFzc2VydChtZS0+cGF0aCk7CisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiIG9wZW4gdXNlcnNwYWNlIG1vbml0b3IgZm9yICVzIiwgbWUtPnBhdGgpKTsKKworCW1lLT5mZCA9IGlub3RpZnlfaW5pdDEoSU5fTk9OQkxPQ0sgfCBJTl9DTE9FWEVDKTsKKwlpZiAobWUtPmZkIDwgMCkKKwkJZ290byBlcnI7CisKKwlpZiAodXNlcnNwYWNlX2FkZF93YXRjaChtZSwgTlVMTCwgTlVMTCkgPCAwKQorCQlnb3RvIGVycjsKKworCXJldHVybiBtZS0+ZmQ7CitlcnI6CisJcmMgPSAtZXJybm87CisJaWYgKG1lLT5mZCA+PSAwKQorCQljbG9zZShtZS0+ZmQpOworCW1lLT5mZCA9IC0xOworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgImZhaWxlZCB0byBjcmVhdGUgdXNlcnNwYWNlIG1vbml0b3IgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogdmVyaWZ5IGFuZCBkcmFpbiBpbm90aWZ5IGJ1ZmZlcgorICovCitzdGF0aWMgaW50IHVzZXJzcGFjZV9ldmVudF92ZXJpZnkoc3RydWN0IGxpYm1udF9tb25pdG9yICptbiwKKwkJCQkJc3RydWN0IG1vbml0b3JfZW50cnkgKm1lKQoreworCWNoYXIgYnVmW3NpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCkgKyBOQU1FX01BWCArIDFdOworCWludCBzdGF0dXMgPSAwOworCisJaWYgKCFtZSB8fCBtZS0+ZmQgPCAwKQorCQlyZXR1cm4gMDsKKworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgImRyYWluIGFuZCB2ZXJpZnkgdXNlcnNwYWNlIG1vbml0b3IgaW5vdGlmeSIpKTsKKworCS8qIHRoZSBtZS0+ZmQgaXMgbm9uLWJsb2NraW5nICovCisJZG8geworCQlzc2l6ZV90IGxlbjsKKwkJY2hhciAqcDsKKwkJY29uc3Qgc3RydWN0IGlub3RpZnlfZXZlbnQgKmU7CisKKwkJbGVuID0gcmVhZChtZS0+ZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQlpZiAobGVuIDwgMCkKKwkJCWJyZWFrOworCisJCWZvciAocCA9IGJ1ZjsgcCA8IGJ1ZiArIGxlbjsKKwkJICAgICBwICs9IHNpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCkgKyBlLT5sZW4pIHsKKworCQkJaW50IGZkID0gLTE7CisKKwkJCWUgPSAoY29uc3Qgc3RydWN0IGlub3RpZnlfZXZlbnQgKikgcDsKKwkJCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgIiBpbm90aWZ5IGV2ZW50IDB4JXggWyVzXVxuIiwgZS0+bWFzaywgZS0+bGVuID8gZS0+bmFtZSA6ICIiKSk7CisKKwkJCWlmIChlLT5tYXNrICYgSU5fQ0xPU0VfTk9XUklURSkKKwkJCQlzdGF0dXMgPSAxOworCQkJZWxzZSB7CisJCQkJLyogZXZlbnQgb24gbG9jayBmaWxlICovCisJCQkJdXNlcnNwYWNlX2FkZF93YXRjaChtZSwgJnN0YXR1cywgJmZkKTsKKworCQkJCWlmIChmZCAhPSBlLT53ZCkgeworCQkJCQlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIgcmVtb3Zpbmcgd2F0Y2ggW2ZkPSVkXSIsIGUtPndkKSk7CisJCQkJCWlub3RpZnlfcm1fd2F0Y2gobWUtPmZkLCBlLT53ZCk7CisJCQkJfQorCQkJfQorCQl9CisJfSB3aGlsZSAoMSk7CisKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIlcyIsIHN0YXR1cyA9PSAxID8gIiBzdWNjZXNzIiA6ICIgbm90aGluZyIpKTsKKwlyZXR1cm4gc3RhdHVzOworfQorCisvKgorICogdXNlcnNwYWNlIG1vbml0b3Igb3BlcmF0aW9ucworICovCitzdGF0aWMgY29uc3Qgc3RydWN0IG1vbml0b3Jfb3BlcnMgdXNlcnNwYWNlX29wZXJzID0geworCS5vcF9nZXRfZmQJCT0gdXNlcnNwYWNlX21vbml0b3JfZ2V0X2ZkLAorCS5vcF9jbG9zZV9mZAkJPSB1c2Vyc3BhY2VfbW9uaXRvcl9jbG9zZV9mZCwKKwkub3BfZXZlbnRfdmVyaWZ5CT0gdXNlcnNwYWNlX2V2ZW50X3ZlcmlmeQorfTsKKworLyoqCisgKiBtbnRfbW9uaXRvcl9lbmFibGVfdXNlcnNwYWNlOgorICogQG1uOiBtb25pdG9yCisgKiBAZW5hYmxlOiAwIG9yIDEKKyAqIEBmaWxlbmFtZTogb3ZlcndyaXRlcyBkZWZhdWx0CisgKgorICogRW5hYmxlcyBvciBkaXNhYmxlcyB1c2Vyc3BhY2UgbW9uaXRvcmluZy4gSWYgdGhlIHVzZXJzcGFjZSBtb25pdG9yIGRvZXMgbm90CisgKiBleGlzdCBhbmQgZW5hYmxlPTEgdGhlbiBhbGxvY2F0ZXMgbmV3IHJlc291cmNlcyBuZWNlc3NhcnkgZm9yIHRoZSBtb25pdG9yLgorICoKKyAqIElmIHRoZSB0b3AtbGV2ZWwgbW9uaXRvciBoYXMgYmVlbiBhbHJlYWR5IGNyZWF0ZWQgKGJ5IG1udF9tb25pdG9yX2dldF9mZCgpCisgKiBvciBtbnRfbW9uaXRvcl93YWl0KCkpIHRoZW4gaXQncyB1cGRhdGVkIGFjY29yZGluZyB0byBAZW5hYmxlLgorICoKKyAqIFRoZSBAZmlsZW5hbWUgaXMgdXNlZCBvbmx5IHRoZSBmaXJzdCB0aW1lIHdoZW4geW91IGVuYWJsZSB0aGUgbW9uaXRvci4gSXQncworICogaW1wb3NzaWJsZSB0byBoYXZlIG1vcmUgdGhhbiBvbmUgdXNlcnNwYWNlIG1vbml0b3IuIFRoZSByZWNvbW1lbmRlZCBpcyB0bworICogdXNlIE5VTEwgYXMgZmlsZW5hbWUuCisgKgorICogVGhlIHVzZXJzcGFjZSBtb25pdG9yIGlzIHVuc3VwcG9ydGVkIGZvciBzeXN0ZW1zIHdpdGggY2xhc3NpYyByZWd1bGFyCisgKiAvZXRjL210YWIgZmlsZS4KKyAqCisgKiBSZXR1cm46IDAgb24gc3VjY2VzcyBhbmQgPDAgb24gZXJyb3IKKyAqLworaW50IG1udF9tb25pdG9yX2VuYWJsZV91c2Vyc3BhY2Uoc3RydWN0IGxpYm1udF9tb25pdG9yICptbiwgaW50IGVuYWJsZSwgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJc3RydWN0IG1vbml0b3JfZW50cnkgKm1lOworCWludCByYyA9IDA7CisKKwlpZiAoIW1uKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1lID0gbW9uaXRvcl9nZXRfZW50cnkobW4sIE1OVF9NT05JVE9SX1RZUEVfVVNFUlNQQUNFKTsKKwlpZiAobWUpIHsKKwkJcmMgPSBtb25pdG9yX21vZGlmeV9lcG9sbChtbiwgbWUsIGVuYWJsZSk7CisJCWlmICghZW5hYmxlKQorCQkJdXNlcnNwYWNlX21vbml0b3JfY2xvc2VfZmQobW4sIG1lKTsKKwkJcmV0dXJuIHJjOworCX0KKwlpZiAoIWVuYWJsZSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJhbGxvY2F0ZSBuZXcgdXNlcnNwYWNlIG1vbml0b3IiKSk7CisKKwlpZiAoIWZpbGVuYW1lKQorCQlmaWxlbmFtZSA9IG1udF9nZXRfdXRhYl9wYXRoKCk7CQkvKiAvcnVuL21vdW50L3V0YWIgKi8KKwlpZiAoIWZpbGVuYW1lKSB7CisJCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgImZhaWxlZCB0byBnZXQgdXNlcnNwYWNlIG1vdW50IHRhYmxlIHBhdGgiKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKworCW1lID0gbW9uaXRvcl9uZXdfZW50cnkobW4pOworCWlmICghbWUpCisJCWdvdG8gZXJyOworCisJbWUtPnR5cGUgPSBNTlRfTU9OSVRPUl9UWVBFX1VTRVJTUEFDRTsKKwltZS0+b3BlcnMgPSAmdXNlcnNwYWNlX29wZXJzOworCW1lLT5ldmVudHMgPSBFUE9MTElOOworCW1lLT5wYXRoID0gc3RyZHVwKGZpbGVuYW1lKTsKKwlpZiAoIW1lLT5wYXRoKQorCQlnb3RvIGVycjsKKworCXJldHVybiBtb25pdG9yX21vZGlmeV9lcG9sbChtbiwgbWUsIFRSVUUpOworZXJyOgorCXJjID0gLWVycm5vOworCWZyZWVfbW9uaXRvcl9lbnRyeShtZSk7CisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiZmFpbGVkIHRvIGFsbG9jYXRlIHVzZXJzcGFjZSBtb25pdG9yIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworCisvKgorICogS2VybmVsIG1vbml0b3IKKyAqLworCitzdGF0aWMgaW50IGtlcm5lbF9tb25pdG9yX2Nsb3NlX2ZkKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4gX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJCSAgIHN0cnVjdCBtb25pdG9yX2VudHJ5ICptZSkKK3sKKwlhc3NlcnQobWUpOworCisJaWYgKG1lLT5mZCA+PSAwKQorCQljbG9zZShtZS0+ZmQpOworCW1lLT5mZCA9IC0xOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGtlcm5lbF9tb25pdG9yX2dldF9mZChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJCSBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWUpCit7CisJaW50IHJjOworCisJaWYgKCFtZSB8fCBtZS0+ZW5hYmxlID09IDApCS8qIG5vdC1pbml0aWFsaXplZCBvciBkaXNhYmxlZCAqLworCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobWUtPmZkID49IDApCisJCXJldHVybiBtZS0+ZmQ7CQkvKiBhbHJlYWR5IGluaXRpYWxpemVkICovCisKKwlhc3NlcnQobWUtPnBhdGgpOworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgIiBvcGVuIGtlcm5lbCBtb25pdG9yIGZvciAlcyIsIG1lLT5wYXRoKSk7CisKKwltZS0+ZmQgPSBvcGVuKG1lLT5wYXRoLCBPX1JET05MWXxPX0NMT0VYRUMpOworCWlmIChtZS0+ZmQgPCAwKQorCQlnb3RvIGVycjsKKworCXJldHVybiBtZS0+ZmQ7CitlcnI6CisJcmMgPSAtZXJybm87CisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiZmFpbGVkIHRvIGNyZWF0ZSBrZXJuZWwgIG1vbml0b3IgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICoga2VybmVsIG1vbml0b3Igb3BlcmF0aW9ucworICovCitzdGF0aWMgY29uc3Qgc3RydWN0IG1vbml0b3Jfb3BlcnMga2VybmVsX29wZXJzID0geworCS5vcF9nZXRfZmQJCT0ga2VybmVsX21vbml0b3JfZ2V0X2ZkLAorCS5vcF9jbG9zZV9mZAkJPSBrZXJuZWxfbW9uaXRvcl9jbG9zZV9mZCwKK307CisKKy8qKgorICogbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbDoKKyAqIEBtbjogbW9uaXRvcgorICogQGVuYWJsZTogMCBvciAxCisgKgorICogRW5hYmxlcyBvciBkaXNhYmxlcyBrZXJuZWwgVkZTIG1vbml0b3JpbmcuIElmIHRoZSBtb25pdG9yIGRvZXMgbm90IGV4aXN0IGFuZAorICogZW5hYmxlPTEgdGhlbiBhbGxvY2F0ZXMgbmV3IHJlc291cmNlcyBuZWNlc3NhcnkgZm9yIHRoZSBtb25pdG9yLgorICoKKyAqIElmIHRoZSB0b3AtbGV2ZWwgbW9uaXRvciBoYXMgYmVlbiBhbHJlYWR5IGNyZWF0ZWQgKGJ5IG1udF9tb25pdG9yX2dldF9mZCgpCisgKiBvciBtbnRfbW9uaXRvcl93YWl0KCkpIHRoZW4gaXQncyB1cGRhdGVkIGFjY29yZGluZyB0byBAZW5hYmxlLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzIGFuZCA8MCBvbiBlcnJvcgorICovCitpbnQgbW50X21vbml0b3JfZW5hYmxlX2tlcm5lbChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLCBpbnQgZW5hYmxlKQoreworCXN0cnVjdCBtb25pdG9yX2VudHJ5ICptZTsKKwlpbnQgcmMgPSAwOworCisJaWYgKCFtbikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltZSA9IG1vbml0b3JfZ2V0X2VudHJ5KG1uLCBNTlRfTU9OSVRPUl9UWVBFX0tFUk5FTCk7CisJaWYgKG1lKSB7CisJCXJjID0gbW9uaXRvcl9tb2RpZnlfZXBvbGwobW4sIG1lLCBlbmFibGUpOworCQlpZiAoIWVuYWJsZSkKKwkJCWtlcm5lbF9tb25pdG9yX2Nsb3NlX2ZkKG1uLCBtZSk7CisJCXJldHVybiByYzsKKwl9CisJaWYgKCFlbmFibGUpCisJCXJldHVybiAwOworCisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiYWxsb2NhdGUgbmV3IGtlcm5lbCBtb25pdG9yIikpOworCisJLyogY3JlYXRlIGEgbmV3IGVudHJ5ICovCisJbWUgPSBtb25pdG9yX25ld19lbnRyeShtbik7CisJaWYgKCFtZSkKKwkJZ290byBlcnI7CisKKwkvKiBJZiB5b3Ugd2FudCB0byB1c2UgZXBvbGwgRkQgaW4gYW5vdGhlciBlcG9sbCB0aGVuIHRvcCBsZXZlbAorCSAqIGVwb2xsX3dhaXQoKSB3aWxsIGRyYWluIGFsbCBldmVudHMgZnJvbSBsb3ctbGV2ZWwgRkQgaWYgdGhlCisJICogbG93LWxldmVsIEZEIGlzIG5vdCBhZGRlZCB3aXRoIEVQT0xMSU4uIEl0IG1lYW5zIHdpdGhvdXQgRVBPTExJTiBpdAorCSAqIGl0J3MgaW1wb3NzaWJsZSB0byBkZXRlY3Qgd2hpY2ggbG93LWxldmVsIEZEIGhhcyBiZWVuIGFjdGl2ZS4KKwkgKgorCSAqIFVuZm9ydHVuYXRlbHksIHVzZSBFUE9MTElOIGZvciBtb3VudGluZm8gaXMgdHJpY2t5IGJlY2F1c2UgaW4gdGhpcworCSAqIGNhc2Uga2VybmVsIHJldHVybnMgZXZlbnRzIGFsbCB0aW1lICh3ZSBkb24ndCByZWFkIGZyb20gdGhlIEZEKS4KKwkgKiBUaGUgc29sdXRpb24gaXMgdG8gdXNlIGFsc28gZWRnZS10cmlnZ2VyZWQgKEVQT0xMRVQpIGZsYWcsIHRoZW4KKwkgKiBrZXJuZWwgZ2VuZXJhdGUgZXZlbnRzIG9uIG1vdW50aW5mbyBjaGFuZ2VzIG9ubHkuIFRoZSBkaXNhZHZhbnRhZ2UgaXMKKwkgKiB0aGF0IHdlIGhhdmUgdG8gZHJhaW4gaW5pdGlhbCBldmVudCBnZW5lcmF0ZWQgYnkgRVBPTExJTiBhZnRlcgorCSAqIGVwb2xsX2N0bChBREQpLiBTZWUgbW9uaXRvcl9tb2RpZnlfZXBvbGwoKS4KKwkgKi8KKwltZS0+ZXZlbnRzID0gRVBPTExJTiB8IEVQT0xMRVQ7CisKKwltZS0+dHlwZSA9IE1OVF9NT05JVE9SX1RZUEVfS0VSTkVMOworCW1lLT5vcGVycyA9ICZrZXJuZWxfb3BlcnM7CisJbWUtPnBhdGggPSBzdHJkdXAoX1BBVEhfUFJPQ19NT1VOVElORk8pOworCWlmICghbWUtPnBhdGgpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIG1vbml0b3JfbW9kaWZ5X2Vwb2xsKG1uLCBtZSwgVFJVRSk7CitlcnI6CisJcmMgPSAtZXJybm87CisJZnJlZV9tb25pdG9yX2VudHJ5KG1lKTsKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJmYWlsZWQgdG8gYWxsb2NhdGUga2VybmVsIG1vbml0b3IgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogQWRkL1JlbW92ZSBtb25pdG9yIGVudHJ5IHRvL2Zyb20gbW9uaXRvciBlcG9sbC4KKyAqLworc3RhdGljIGludCBtb25pdG9yX21vZGlmeV9lcG9sbChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uLAorCQkJCXN0cnVjdCBtb25pdG9yX2VudHJ5ICptZSwgaW50IGVuYWJsZSkKK3sKKwlhc3NlcnQobW4pOworCWFzc2VydChtZSk7CisKKwltZS0+ZW5hYmxlID0gZW5hYmxlID8gMSA6IDA7CisJbWUtPmNoYW5nZWQgPSAwOworCisJaWYgKG1uLT5mZCA8IDApCisJCXJldHVybiAwOwkvKiBubyBlcG9sbCwgaWdub3JlIHJlcXVlc3QgKi8KKworCWlmIChlbmFibGUpIHsKKwkJc3RydWN0IGVwb2xsX2V2ZW50IGV2ID0geyAuZXZlbnRzID0gbWUtPmV2ZW50cyB9OworCQlpbnQgZmQgPSBtZS0+b3BlcnMtPm9wX2dldF9mZChtbiwgbWUpOworCisJCWlmIChmZCA8IDApCisJCQlnb3RvIGVycjsKKworCQlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIgYWRkIGZkPSVkIChmb3IgJXMpIiwgZmQsIG1lLT5wYXRoKSk7CisKKwkJZXYuZGF0YS5wdHIgPSAodm9pZCAqKSBtZTsKKworCQlpZiAoZXBvbGxfY3RsKG1uLT5mZCwgRVBPTExfQ1RMX0FERCwgZmQsICZldikgPCAwKSB7CisJCQlpZiAoZXJybm8gIT0gRUVYSVNUKQorCQkJCWdvdG8gZXJyOworCQl9CisJCWlmIChtZS0+ZXZlbnRzICYgKEVQT0xMSU4gfCBFUE9MTEVUKSkgeworCQkJLyogRHJhaW4gaW5pdGlhbCBldmVudHMgZ2VuZXJhdGVkIGZvciAvcHJvYy9zZWxmL21vdW50aW5mbyAqLworCQkJc3RydWN0IGVwb2xsX2V2ZW50IGV2ZW50c1sxXTsKKwkJCXdoaWxlIChlcG9sbF93YWl0KG1uLT5mZCwgZXZlbnRzLCAxLCAwKSA+IDApOworCQl9CisJfSBlbHNlIGlmIChtZS0+ZmQpIHsKKwkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiIHJlbW92ZSBmZD0lZCAoZm9yICVzKSIsIG1lLT5mZCwgbWUtPnBhdGgpKTsKKwkJaWYgKGVwb2xsX2N0bChtbi0+ZmQsIEVQT0xMX0NUTF9ERUwsIG1lLT5mZCwgTlVMTCkgPCAwKSB7CisJCQlpZiAoZXJybm8gIT0gRU5PRU5UKQorCQkJCWdvdG8gZXJyOworCQl9CisJfQorCisJcmV0dXJuIDA7CitlcnI6CisJcmV0dXJuIC1lcnJubzsKK30KKworLyoqCisgKiBtbnRfbW9uaXRvcl9jbG9zZV9mZDoKKyAqIEBtbjogbW9uaXRvcgorICoKKyAqIENsb3NlIG1vbml0b3IgZmlsZSBkZXNjcmlwdG9yLiBUaGlzIGlzIHVzdWFsbHkgdW5uZWNlc3NhcnksIGJlY2F1c2UKKyAqIG1udF91bnJlZl9tb25pdG9yKCkgY2xlYW51cHMgYWxsLgorICoKKyAqIFRoZSBmdW5jdGlvbiBpcyBuZWNlc3Nhcnkgb25seSBpZiB5b3Ugd2FudCB0byByZXNldCBtb25pdG9yIHNldHRpbmcuIFRoZQorICogbmV4dCBtbnRfbW9uaXRvcl9nZXRfZmQoKSBvciBtbnRfbW9uaXRvcl93YWl0KCkgd2lsbCB1c2UgbmV3bHkgaW5pdGlhbGl6ZWQKKyAqIG1vbml0b3IuICBUaGlzIHJlc3RhcnQgaXMgdW5uZWNlc3NhcnkgZm9yIG1udF9tb25pdG9yX2VuYWJsZV8qKCkgZnVuY3Rpb25zLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgPDAgb24gZXJyb3IuCisgKi8KK2ludCBtbnRfbW9uaXRvcl9jbG9zZV9mZChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uKQoreworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IG1vbml0b3JfZW50cnkgKm1lOworCisJaWYgKCFtbikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKworCS8qIGRpc2FibGUgYWxsIG1vbml0b3IgZW50cmllcyAqLworCXdoaWxlIChtb25pdG9yX25leHRfZW50cnkobW4sICZpdHIsICZtZSkgPT0gMCkgeworCisJCS8qIHJlbW92ZSBlbnRyeSBmcm9tIGVwb2xsICovCisJCWlmIChtbi0+ZmQgPj0gMCkKKwkJCW1vbml0b3JfbW9kaWZ5X2Vwb2xsKG1uLCBtZSwgRkFMU0UpOworCisJCS8qIGNsb3NlIGVudHJ5IEZEICovCisJCW1lLT5vcGVycy0+b3BfY2xvc2VfZmQobW4sIG1lKTsKKwl9CisKKwlpZiAobW4tPmZkID49IDApIHsKKwkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiY2xvc2luZyB0b3AtbGV2ZWwgbW9uaXRvciBmZCIpKTsKKwkJY2xvc2UobW4tPmZkKTsKKwl9CisJbW4tPmZkID0gLTE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X21vbml0b3JfZ2V0X2ZkOgorICogQG1uOiBtb25pdG9yCisgKgorICogVGhlIGZpbGUgZGVzY3JpcHRvciBpcyBhc3NvY2lhdGVkIHdpdGggYWxsIG1vbml0b3JlZCBmaWxlcyBhbmQgaXQncyB1c2FibGUKKyAqIGZvciBleGFtcGxlIGZvciBlcG9sbC4gWW91IGhhdmUgdG8gY2FsbCBtbnRfbW9uaXRvcl9ldmVudF9jbGVhbnVwKCkgb3IKKyAqIG1udF9tb25pdG9yX25leHRfY2hhbmdlKCkgYWZ0ZXIgZWFjaCBldmVudC4KKyAqCisgKiBSZXR1cm5zOiA+PTAgKGZkKSBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgbW50X21vbml0b3JfZ2V0X2ZkKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4pCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisJaW50IHJjID0gMDsKKworCWlmICghbW4pCisJCXJldHVybiAtRUlOVkFMOworCWlmIChtbi0+ZmQgPj0gMCkKKwkJcmV0dXJuIG1uLT5mZDsKKworCURCRyhNT05JVE9SLCB1bF9kZWJ1Z29iaihtbiwgImNyZWF0ZSB0b3AtbGV2ZWwgbW9uaXRvciBmZCIpKTsKKwltbi0+ZmQgPSBlcG9sbF9jcmVhdGUxKEVQT0xMX0NMT0VYRUMpOworCWlmIChtbi0+ZmQgPCAwKQorCQlyZXR1cm4gLWVycm5vOworCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJhZGRpbmcgbW9uaXRvciBlbnRyaWVzIHRvIGVwb2xsIChmZD0lZCkiLCBtbi0+ZmQpKTsKKwl3aGlsZSAobW9uaXRvcl9uZXh0X2VudHJ5KG1uLCAmaXRyLCAmbWUpID09IDApIHsKKwkJaWYgKCFtZS0+ZW5hYmxlKQorCQkJY29udGludWU7CisJCXJjID0gbW9uaXRvcl9tb2RpZnlfZXBvbGwobW4sIG1lLCBUUlVFKTsKKwkJaWYgKHJjKQorCQkJZ290byBlcnI7CisJfQorCisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAic3VjY2Vzc2Z1bGx5IGNyZWF0ZWQgbW9uaXRvciIpKTsKKwlyZXR1cm4gbW4tPmZkOworZXJyOgorCXJjID0gZXJybm8gPyAtZXJybm8gOiAtRUlOVkFMOworCWNsb3NlKG1uLT5mZCk7CisJbW4tPmZkID0gLTE7CisJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiZmFpbGVkIHRvIGNyZWF0ZSBtb25pdG9yIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfbW9uaXRvcl93YWl0OgorICogQG1uOiBtb25pdG9yCisgKiBAdGltZW91dDogbnVtYmVyIG9mIG1pbGxpc2Vjb25kcywgLTEgYmxvY2sgaW5kZWZpbml0ZWx5LCAwIHJldHVybiBpbW1lZGlhdGVseQorICoKKyAqIFdhaXRzIGZvciB0aGUgbmV4dCBjaGFuZ2UsIGFmdGVyIHRoZSBldmVudCBpdCdzIHJlY29tbWVuZGVkIHRvIHVzZQorICogbW50X21vbml0b3JfbmV4dF9jaGFuZ2UoKSB0byBnZXQgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBjaGFuZ2UgYW5kIHRvCisgKiBhdm9pZCBmYWxzZSBwb3NpdGl2ZSBldmVudHMuCisgKgorICogUmV0dXJuczogMSBzdWNjZXNzIChzb21ldGhpbmcgY2hhbmdlZCksIDAgdGltZW91dCwgPDAgZXJyb3IuCisgKi8KK2ludCBtbnRfbW9uaXRvcl93YWl0KHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sIGludCB0aW1lb3V0KQoreworCWludCByYzsKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisJc3RydWN0IGVwb2xsX2V2ZW50IGV2ZW50c1sxXTsKKworCWlmICghbW4pCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKG1uLT5mZCA8IDApIHsKKwkJcmMgPSBtbnRfbW9uaXRvcl9nZXRfZmQobW4pOworCQlpZiAocmMgPCAwKQorCQkJcmV0dXJuIHJjOworCX0KKworCWRvIHsKKwkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiY2FsbGluZyBlcG9sbF93YWl0KCksIHRpbWVvdXQ9JWQiLCB0aW1lb3V0KSk7CisJCXJjID0gZXBvbGxfd2FpdChtbi0+ZmQsIGV2ZW50cywgMSwgdGltZW91dCk7CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gLWVycm5vOwkJLyogZXJyb3IgKi8KKwkJaWYgKHJjID09IDApCisJCQlyZXR1cm4gMDsJCS8qIHRpbWVvdXQgKi8KKworCQltZSA9IChzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqKSBldmVudHNbMF0uZGF0YS5wdHI7CisJCWlmICghbWUpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlpZiAobWUtPm9wZXJzLT5vcF9ldmVudF92ZXJpZnkgPT0gTlVMTCB8fAorCQkgICAgbWUtPm9wZXJzLT5vcF9ldmVudF92ZXJpZnkobW4sIG1lKSA9PSAxKSB7CisJCQltZS0+Y2hhbmdlZCA9IDE7CisJCQlicmVhazsKKwkJfQorCX0gd2hpbGUgKDEpOworCisJcmV0dXJuIDE7CQkJLyogc3VjY2VzcyAqLworfQorCisKK3N0YXRpYyBzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqZ2V0X2NoYW5nZWQoc3RydWN0IGxpYm1udF9tb25pdG9yICptbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBtb25pdG9yX2VudHJ5ICptZTsKKworCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCXdoaWxlIChtb25pdG9yX25leHRfZW50cnkobW4sICZpdHIsICZtZSkgPT0gMCkgeworCQlpZiAobWUtPmNoYW5nZWQpCisJCQlyZXR1cm4gbWU7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF9tb25pdG9yX25leHRfY2hhbmdlOgorICogQG1uOiBtb25pdG9yCisgKiBAZmlsZW5hbWU6IHJldHVybnMgY2hhbmdlZCBmaWxlIChvcHRpb25hbCBhcmd1bWVudCkKKyAqIEB0eXBlOiByZXR1cm5zIE1OVF9NT05JVE9SX1RZUEVfKiAob3B0aW9uYWwgYXJndW1lbnQpCisgKgorICogVGhlIGZ1bmN0aW9uIGRvZXMgbm90IHdhaXQgYW5kIGl0J3MgZGVzaWduZWQgdG8gcHJvdmlkZSBkZXRhaWxzIGFib3V0IGNoYW5nZXMuCisgKiBJdCdzIGFsd2F5cyByZWNvbW1lbmRlZCB0byB1c2UgdGhpcyBmdW5jdGlvbiB0byBhdm9pZCBmYWxzZSBwb3NpdGl2ZXMuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAxIG5vIGNoYW5nZSwgPDAgb24gZXJyb3IKKyAqLworaW50IG1udF9tb25pdG9yX25leHRfY2hhbmdlKHN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4sCisJCQkgICAgIGNvbnN0IGNoYXIgKipmaWxlbmFtZSwKKwkJCSAgICAgaW50ICp0eXBlKQoreworCWludCByYzsKKwlzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqbWU7CisKKwlpZiAoIW1uIHx8IG1uLT5mZCA8IDApCisJCXJldHVybiAtRUlOVkFMOworCisJLyoKKwkgKiBpZiB3ZSBwcmV2aW91c2x5IGNhbGxlZCBlcG9sbF93YWl0KCkgKGUuZy4gbW50X21vbml0b3Jfd2FpdCgpKSB0aGVuCisJICogaW5mbyBhYm91dCB1bnJlYWQgY2hhbmdlIGlzIGFscmVhZHkgc3RvcmVkIGluIG1vbml0b3JfZW50cnkuCisJICoKKwkgKiBJZiB3ZSBnZXQgbm90aGluZywgdGhlbiBhc2sga2VybmVsLgorCSAqLworCW1lID0gZ2V0X2NoYW5nZWQobW4pOworCXdoaWxlICghbWUpIHsKKwkJc3RydWN0IGVwb2xsX2V2ZW50IGV2ZW50c1sxXTsKKworCQlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICJhc2tpbmcgZm9yIG5leHQgY2hhbmdlZCIpKTsKKworCQlyYyA9IGVwb2xsX3dhaXQobW4tPmZkLCBldmVudHMsIDEsIDApOwkvKiBubyB0aW1lb3V0ISAqLworCQlpZiAocmMgPCAwKSB7CisJCQlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIgKioqIGVycm9yIikpOworCQkJcmV0dXJuIC1lcnJubzsKKwkJfQorCQlpZiAocmMgPT0gMCkgeworCQkJREJHKE1PTklUT1IsIHVsX2RlYnVnb2JqKG1uLCAiICoqKiBub3RoaW5nIikpOworCQkJcmV0dXJuIDE7CisJCX0KKworCQltZSA9IChzdHJ1Y3QgbW9uaXRvcl9lbnRyeSAqKSBldmVudHNbMF0uZGF0YS5wdHI7CisJCWlmICghbWUpCisJCQlyZXR1cm4gLUVJTlZBTDsKKworCQlpZiAobWUtPm9wZXJzLT5vcF9ldmVudF92ZXJpZnkgIT0gTlVMTCAmJgorCQkgICAgbWUtPm9wZXJzLT5vcF9ldmVudF92ZXJpZnkobW4sIG1lKSAhPSAxKQorCQkJbWUgPSBOVUxMOworCX0KKworCW1lLT5jaGFuZ2VkID0gMDsKKworCWlmIChmaWxlbmFtZSkKKwkJKmZpbGVuYW1lID0gbWUtPnBhdGg7CisJaWYgKHR5cGUpCisJCSp0eXBlID0gbWUtPnR5cGU7CisKKwlEQkcoTU9OSVRPUiwgdWxfZGVidWdvYmoobW4sICIgKioqIHN1Y2Nlc3MgW2NoYW5nZWQ6ICVzXSIsIG1lLT5wYXRoKSk7CisJcmV0dXJuIDA7CQkJCS8qIHN1Y2Nlc3MgKi8KK30KKworLyoqCisgKiBtbnRfbW9uaXRvcl9ldmVudF9jbGVhbnVwOgorICogQG1uOiBtb25pdG9yCisgKgorICogVGhpcyBmdW5jdGlvbiBjbGVhbnVwcyAoZHJhaW4pIGludGVybmFsIGJ1ZmZlcnMuIEl0J3MgbmVjZXNzYXJ5IHRvIGNhbGwKKyAqIHRoaXMgZnVuY3Rpb24gYWZ0ZXIgZXZlbnQgaWYgeW91IGRvIG5vdCBjYWxsIG1udF9tb25pdG9yX25leHRfY2hhbmdlKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJvcgorICovCitpbnQgbW50X21vbml0b3JfZXZlbnRfY2xlYW51cChzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uKQoreworCWludCByYzsKKworCWlmICghbW4gfHwgbW4tPmZkIDwgMCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl3aGlsZSAoKHJjID0gbW50X21vbml0b3JfbmV4dF9jaGFuZ2UobW4sIE5VTEwsIE5VTEwpKSA9PSAwKTsKKwlyZXR1cm4gcmMgPCAwID8gcmMgOiAwOworfQorCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X21vbml0b3IgKmNyZWF0ZV90ZXN0X21vbml0b3IoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X21vbml0b3IgKm1uOworCWludCBpOworCisJbW4gPSBtbnRfbmV3X21vbml0b3IoKTsKKwlpZiAoIW1uKSB7CisJCXdhcm4oImZhaWxlZCB0byBhbGxvY2F0ZSBtb25pdG9yIik7CisJCWdvdG8gZXJyOworCX0KKworCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwkJaWYgKHN0cmNtcChhcmd2W2ldLCAidXNlcnNwYWNlIikgPT0gMCkgeworCQkJaWYgKG1udF9tb25pdG9yX2VuYWJsZV91c2Vyc3BhY2UobW4sIFRSVUUsIE5VTEwpKSB7CisJCQkJd2FybigiZmFpbGVkIHRvIGluaXRpYWxpemUgdXNlcnNwYWNlIG1vbml0b3IiKTsKKwkJCQlnb3RvIGVycjsKKwkJCX0KKworCQl9IGVsc2UgaWYgKHN0cmNtcChhcmd2W2ldLCAia2VybmVsIikgPT0gMCkgeworCQkJaWYgKG1udF9tb25pdG9yX2VuYWJsZV9rZXJuZWwobW4sIFRSVUUpKSB7CisJCQkJd2FybigiZmFpbGVkIHRvIGluaXRpYWxpemUga2VybmVsIG1vbml0b3IiKTsKKwkJCQlnb3RvIGVycjsKKwkJCX0KKwkJfQorCX0KKwlpZiAoaSA9PSAxKSB7CisJCXdhcm54KCJObyBtb25pdG9yIHR5cGUgc3BlY2lmaWVkIik7CisJCWdvdG8gZXJyOworCX0KKworCXJldHVybiBtbjsKK2VycjoKKwltbnRfdW5yZWZfbW9uaXRvcihtbik7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qCisgKiBjcmVhdGUgYSBtb25pdG9yIGFuZCBhZGQgdGhlIG1vbml0b3IgZmQgdG8gZXBvbGwKKyAqLworc3RhdGljIGludCBfX3Rlc3RfZXBvbGwoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSwgaW50IGNsZWFudXApCit7CisJaW50IGZkLCBlZmQgPSAtMSwgcmMgPSAtMTsKKwlzdHJ1Y3QgZXBvbGxfZXZlbnQgZXY7CisJc3RydWN0IGxpYm1udF9tb25pdG9yICptbiA9IGNyZWF0ZV90ZXN0X21vbml0b3IoYXJnYywgYXJndik7CisKKwlpZiAoIW1uKQorCQlyZXR1cm4gLTE7CisKKwlmZCA9IG1udF9tb25pdG9yX2dldF9mZChtbik7CisJaWYgKGZkIDwgMCkgeworCQl3YXJuKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBtb25pdG9yIGZkIik7CisJCWdvdG8gZG9uZTsKKwl9CisKKwllZmQgPSBlcG9sbF9jcmVhdGUxKEVQT0xMX0NMT0VYRUMpOworCWlmIChlZmQgPCAwKSB7CisJCXdhcm4oImZhaWxlZCB0byBjcmVhdGUgZXBvbGwiKTsKKwkJZ290byBkb25lOworCX0KKworCWV2LmV2ZW50cyA9IEVQT0xMSU47CisJZXYuZGF0YS5mZCA9IGZkOworCisJcmMgPSBlcG9sbF9jdGwoZWZkLCBFUE9MTF9DVExfQURELCBmZCwgJmV2KTsKKwlpZiAocmMgPCAwKSB7CisJCXdhcm4oImZhaWxlZCB0byBhZGQgZmQgdG8gZXBvbGwiKTsKKwkJZ290byBkb25lOworCX0KKworCXByaW50Zigid2FpdGluZyBmb3IgY2hhbmdlcy4uLlxuIik7CisJZG8geworCQljb25zdCBjaGFyICpmaWxlbmFtZSA9IE5VTEw7CisJCXN0cnVjdCBlcG9sbF9ldmVudCBldmVudHNbMV07CisJCWludCBuID0gZXBvbGxfd2FpdChlZmQsIGV2ZW50cywgMSwgLTEpOworCisJCWlmIChuIDwgMCkgeworCQkJcmMgPSAtZXJybm87CisJCQl3YXJuKCJwb2xsaW5nIGVycm9yIik7CisJCQlnb3RvIGRvbmU7CisJCX0KKwkJaWYgKG4gPT0gMCB8fCBldmVudHNbMF0uZGF0YS5mZCAhPSBmZCkKKwkJCWNvbnRpbnVlOworCisJCXByaW50ZigiIHRvcC1sZXZlbCBGRCBhY3RpdmVcbiIpOworCQlpZiAoY2xlYW51cCkKKwkJCW1udF9tb25pdG9yX2V2ZW50X2NsZWFudXAobW4pOworCQllbHNlIHsKKwkJCXdoaWxlIChtbnRfbW9uaXRvcl9uZXh0X2NoYW5nZShtbiwgJmZpbGVuYW1lLCBOVUxMKSA9PSAwKQorCQkJCXByaW50ZigiICAlczogY2hhbmdlIGRldGVjdGVkXG4iLCBmaWxlbmFtZSk7CisJCX0KKwl9IHdoaWxlICgxKTsKKworCXJjID0gMDsKK2RvbmU6CisJaWYgKGVmZCA+PSAwKQorCQljbG9zZShlZmQpOworCW1udF91bnJlZl9tb25pdG9yKG1uKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBjcmVhdGUgYSBtb25pdG9yIGFuZCBhZGQgdGhlIG1vbml0b3IgZmQgdG8gZXBvbGwKKyAqLworc3RhdGljIGludCB0ZXN0X2Vwb2xsKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJcmV0dXJuIF9fdGVzdF9lcG9sbCh0cywgYXJnYywgYXJndiwgMCk7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9lcG9sbF9jbGVhbnVwKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJcmV0dXJuIF9fdGVzdF9lcG9sbCh0cywgYXJnYywgYXJndiwgMSk7Cit9CisKKy8qCisgKiBjcmVhdGUgYSBtb25pdG9yIGFuZCB3YWl0IGZvciBhIGNoYW5nZQorICovCitzdGF0aWMgaW50IHRlc3Rfd2FpdChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKmZpbGVuYW1lOworCXN0cnVjdCBsaWJtbnRfbW9uaXRvciAqbW4gPSBjcmVhdGVfdGVzdF9tb25pdG9yKGFyZ2MsIGFyZ3YpOworCisJaWYgKCFtbikKKwkJcmV0dXJuIC0xOworCisJcHJpbnRmKCJ3YWl0aW5nIGZvciBjaGFuZ2VzLi4uXG4iKTsKKwl3aGlsZSAobW50X21vbml0b3Jfd2FpdChtbiwgLTEpID4gMCkgeworCQlwcmludGYoIm5vdGlmaWNhdGlvbiBkZXRlY3RlZFxuIik7CisKKwkJd2hpbGUgKG1udF9tb25pdG9yX25leHRfY2hhbmdlKG1uLCAmZmlsZW5hbWUsIE5VTEwpID09IDApCisJCQlwcmludGYoIiAlczogY2hhbmdlIGRldGVjdGVkXG4iLCBmaWxlbmFtZSk7CisKKwl9CisJbW50X3VucmVmX21vbml0b3IobW4pOworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c3NbXSA9IHsKKwkJeyAiLS1lcG9sbCIsIHRlc3RfZXBvbGwsICI8dXNlcnNwYWNlIGtlcm5lbCAuLi4+ICBtb25pdG9yIGluIGVwb2xsIiB9LAorCQl7ICItLWVwb2xsLWNsZWFuIiwgdGVzdF9lcG9sbF9jbGVhbnVwLCAiPHVzZXJzcGFjZSBrZXJuZWwgLi4uPiAgbW9uaXRvciBpbiBlcG9sbCBhbmQgY2xlYW4gZXZlbnRzIiB9LAorCQl7ICItLXdhaXQiLCAgdGVzdF93YWl0LCAgIjx1c2Vyc3BhY2Uga2VybmVsIC4uLj4gIG1vbml0b3Igd2FpdCBmdW5jdGlvbiIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvbW91bnRQLmggYi9saWJtb3VudC9zcmMvbW91bnRQLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM3OTUxMgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9tb3VudFAuaApAQCAtMCwwICsxLDQ1NyBAQAorLyoKKyAqIG1vdW50UC5oIC0gcHJpdmF0ZSBsaWJyYXJ5IGhlYWRlciBmaWxlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaWZuZGVmIF9MSUJNT1VOVF9QUklWQVRFX0gKKyNkZWZpbmUgX0xJQk1PVU5UX1BSSVZBVEVfSAorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy92ZnMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImxpc3QuaCIKKyNpbmNsdWRlICJkZWJ1Zy5oIgorI2luY2x1ZGUgImxpYm1vdW50LmgiCisKKy8qCisgKiBEZWJ1ZworICovCisjZGVmaW5lIE1OVF9ERUJVR19IRUxQCQkoMSA8PCAwKQorI2RlZmluZSBNTlRfREVCVUdfSU5JVAkJKDEgPDwgMSkKKyNkZWZpbmUgTU5UX0RFQlVHX0NBQ0hFCQkoMSA8PCAyKQorI2RlZmluZSBNTlRfREVCVUdfT1BUSU9OUwkoMSA8PCAzKQorI2RlZmluZSBNTlRfREVCVUdfTE9DS1MJCSgxIDw8IDQpCisjZGVmaW5lIE1OVF9ERUJVR19UQUIJCSgxIDw8IDUpCisjZGVmaW5lIE1OVF9ERUJVR19GUwkJKDEgPDwgNikKKyNkZWZpbmUgTU5UX0RFQlVHX1VQREFURQkoMSA8PCA3KQorI2RlZmluZSBNTlRfREVCVUdfVVRJTFMJCSgxIDw8IDgpCisjZGVmaW5lIE1OVF9ERUJVR19DWFQJCSgxIDw8IDkpCisjZGVmaW5lIE1OVF9ERUJVR19ESUZGCQkoMSA8PCAxMCkKKyNkZWZpbmUgTU5UX0RFQlVHX01PTklUT1IJKDEgPDwgMTEpCisjZGVmaW5lIE1OVF9ERUJVR19CVFJGUwkJKDEgPDwgMTIpCisjZGVmaW5lIE1OVF9ERUJVR19MT09QCQkoMSA8PCAxMykKKworI2RlZmluZSBNTlRfREVCVUdfQUxMCQkweEZGRkYKKworVUxfREVCVUdfREVDTEFSRV9NQVNLKGxpYm1vdW50KTsKKyNkZWZpbmUgREJHKG0sIHgpCV9fVUxfREJHKGxpYm1vdW50LCBNTlRfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkJX19VTF9EQkdfQ0FMTChsaWJtb3VudCwgTU5UX0RFQlVHXywgbSwgeCkKKyNkZWZpbmUgREJHX0ZMVVNICV9fVUxfREJHX0ZMVVNIKGxpYm1vdW50LCBNTlRfREVCVUdfKQorCisjZGVmaW5lIFVMX0RFQlVHX0NVUlJFTlRfTUFTSwlVTF9ERUJVR19NQVNLKGxpYm1vdW50KQorI2luY2x1ZGUgImRlYnVnb2JqLmgiCisKKy8qCisgKiBOTFMgLS0gdGhlIGxpYnJhcnkgaGFzIHRvIGJlIGluZGVwZW5kZW50IG9uIG1haW4gcHJvZ3JhbSwgc28gZGVmaW5lCisgKiBVTF9URVhURE9NQUlOX0VYUExJQ0lUIGJlZm9yZSB5b3UgaW5jbHVkZSBubHMuaC4KKyAqCisgKiBOb3cgd2UgdXNlIHV0aWwtbGludXgucG8gKD1QQUNLQUdFKSwgcmF0aGVyIHRoYW4gbWFpbnRhaW4gdGhlIHRleHRzCisgKiBpbiB0aGUgc2VwYXJhdGUgbGlibW91bnQucG8gZmlsZS4KKyAqLworI2RlZmluZSBMSUJNT1VOVF9URVhURE9NQUlOCVBBQ0tBR0UKKyNkZWZpbmUgVUxfVEVYVERPTUFJTl9FWFBMSUNJVAlMSUJNT1VOVF9URVhURE9NQUlOCisjaW5jbHVkZSAibmxzLmgiCisKKworLyogZXh0ZW5zaW9uIGZvciBmaWxlcyBpbiB0aGUgZGlyZWN0b3J5ICovCisjZGVmaW5lIE1OVF9NTlRUQUJESVJfRVhUCSIuZnN0YWIiCisKKy8qIGxpYnJhcnkgcHJpdmF0ZSBwYXRocyAqLworI2RlZmluZSBNTlRfUlVOVElNRV9UT1BESVIJIi9ydW4iCisjZGVmaW5lIE1OVF9SVU5USU1FX1RPUERJUl9PTEQJIi9kZXYiCisKKyNkZWZpbmUgTU5UX1BBVEhfVVRBQgkJTU5UX1JVTlRJTUVfVE9QRElSICIvbW91bnQvdXRhYiIKKyNkZWZpbmUgTU5UX1BBVEhfVVRBQl9PTEQJTU5UX1JVTlRJTUVfVE9QRElSX09MRCAiLy5tb3VudC91dGFiIgorCisjZGVmaW5lIE1OVF9VVEFCX0hFQURFUgkiIyBsaWJtb3VudCB1dGFiIGZpbGVcbiIKKworI2lmZGVmIFRFU1RfUFJPR1JBTQorc3RydWN0IGxpYm1udF90ZXN0IHsKKwljb25zdCBjaGFyCSpuYW1lOworCWludAkJKCpib2R5KShzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKTsKKwljb25zdCBjaGFyCSp1c2FnZTsKK307CisKKy8qIHRlc3QuYyAqLworZXh0ZXJuIGludCBtbnRfcnVuX3Rlc3Qoc3RydWN0IGxpYm1udF90ZXN0ICp0ZXN0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSk7CisjZW5kaWYKKworLyogdXRpbHMuYyAqLworZXh0ZXJuIGludCBtbnRfdmFsaWRfdGFnbmFtZShjb25zdCBjaGFyICp0YWduYW1lKTsKK2V4dGVybiBpbnQgYXBwZW5kX3N0cmluZyhjaGFyICoqYSwgY29uc3QgY2hhciAqYik7CisKK2V4dGVybiBjb25zdCBjaGFyICptbnRfc3RhdGZzX2dldF9mc3R5cGUoc3RydWN0IHN0YXRmcyAqdmZzKTsKK2V4dGVybiBpbnQgaXNfZmlsZV9lbXB0eShjb25zdCBjaGFyICpuYW1lKTsKKworZXh0ZXJuIGludCBtbnRfaXNfcmVhZG9ubHkoY29uc3QgY2hhciAqcGF0aCkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIGludCBtbnRfcGFyc2Vfb2Zmc2V0KGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwgdWludG1heF90ICpyZXMpOworCitleHRlcm4gaW50IG1udF9jaGRpcl90b19wYXJlbnQoY29uc3QgY2hhciAqdGFyZ2V0LCBjaGFyICoqZmlsZW5hbWUpOworCitleHRlcm4gY2hhciAqbW50X2dldF91c2VybmFtZShjb25zdCB1aWRfdCB1aWQpOworZXh0ZXJuIGludCBtbnRfZ2V0X3VpZChjb25zdCBjaGFyICp1c2VybmFtZSwgdWlkX3QgKnVpZCk7CitleHRlcm4gaW50IG1udF9nZXRfZ2lkKGNvbnN0IGNoYXIgKmdyb3VwbmFtZSwgZ2lkX3QgKmdpZCk7CitleHRlcm4gaW50IG1udF9pbl9ncm91cChnaWRfdCBnaWQpOworCitleHRlcm4gaW50IG1udF9vcGVuX3VuaXFfZmlsZW5hbWUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGNoYXIgKipuYW1lKTsKKworZXh0ZXJuIGludCBtbnRfaGFzX3JlZ3VsYXJfdXRhYihjb25zdCBjaGFyICoqdXRhYiwgaW50ICp3cml0YWJsZSk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2dldF91dGFiX3BhdGgodm9pZCk7CisKK2V4dGVybiBpbnQgbW50X2dldF9maWxlc3lzdGVtcyhjaGFyICoqKmZpbGVzeXN0ZW1zLCBjb25zdCBjaGFyICpwYXR0ZXJuKTsKK2V4dGVybiB2b2lkIG1udF9mcmVlX2ZpbGVzeXN0ZW1zKGNoYXIgKipmaWxlc3lzdGVtcyk7CisKK2V4dGVybiBjaGFyICptbnRfZ2V0X2tlcm5lbF9jbWRsaW5lX29wdGlvbihjb25zdCBjaGFyICpuYW1lKTsKK2V4dGVybiBpbnQgbW50X2d1ZXNzX3N5c3RlbV9yb290KGRldl90IGRldm5vLCBzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZSwgY2hhciAqKnBhdGgpOworZXh0ZXJuIGludCBtbnRfc3RhdF9tb3VudHBvaW50KGNvbnN0IGNoYXIgKnRhcmdldCwgc3RydWN0IHN0YXQgKnN0KTsKKworLyogdGFiLmMgKi8KK2V4dGVybiBpbnQgaXNfbW91bnRpbmZvKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgbW50X3RhYmxlX3NldF9wYXJzZXJfZmx0cmNiKAlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQkJaW50ICgqY2IpKHN0cnVjdCBsaWJtbnRfZnMgKiwgdm9pZCAqKSwKKwkJCQkJdm9pZCAqZGF0YSk7CisKK2V4dGVybiBpbnQgX19tbnRfdGFibGVfcGFyc2VfbXRhYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQkJY29uc3QgY2hhciAqZmlsZW5hbWUsCisJCQkJCXN0cnVjdCBsaWJtbnRfdGFibGUgKnVfdGIpOworCitleHRlcm4gc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2dldF9mc19yb290KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCQlzdHJ1Y3QgbGlibW50X2ZzICpmcywKKwkJCQkJdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzLAorCQkJCQljaGFyICoqZnNyb290KTsKKworLyoKKyAqIEdlbmVyaWMgaXRlcmF0b3IKKyAqLworc3RydWN0IGxpYm1udF9pdGVyIHsKKyAgICAgICAgc3RydWN0IGxpc3RfaGVhZCAgICAgICAgKnA7CQkvKiBjdXJyZW50IHBvc2l0aW9uICovCisgICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgICAgICAgICpoZWFkOwkJLyogc3RhcnQgcG9zaXRpb24gKi8KKwlpbnQJCQlkaXJlY3Rpb247CS8qIE1OVF9JVEVSX3tGT1IsQkFDS31XQVJEICovCit9OworCisjZGVmaW5lIElTX0lURVJfRk9SV0FSRChfaSkJKChfaSktPmRpcmVjdGlvbiA9PSBNTlRfSVRFUl9GT1JXQVJEKQorI2RlZmluZSBJU19JVEVSX0JBQ0tXQVJEKF9pKQkoKF9pKS0+ZGlyZWN0aW9uID09IE1OVF9JVEVSX0JBQ0tXQVJEKQorCisjZGVmaW5lIE1OVF9JVEVSX0lOSVQoaXRyLCBsaXN0KSBcCisJZG8geyBcCisJCShpdHIpLT5wID0gSVNfSVRFUl9GT1JXQVJEKGl0cikgPyBcCisJCQkJKGxpc3QpLT5uZXh0IDogKGxpc3QpLT5wcmV2OyBcCisJCShpdHIpLT5oZWFkID0gKGxpc3QpOyBcCisJfSB3aGlsZSgwKQorCisjZGVmaW5lIE1OVF9JVEVSX0lURVJBVEUoaXRyLCByZXMsIHJlc3R5cGUsIG1lbWJlcikgXAorCWRvIHsgXAorCQlyZXMgPSBsaXN0X2VudHJ5KChpdHIpLT5wLCByZXN0eXBlLCBtZW1iZXIpOyBcCisJCShpdHIpLT5wID0gSVNfSVRFUl9GT1JXQVJEKGl0cikgPyBcCisJCQkJKGl0ciktPnAtPm5leHQgOiAoaXRyKS0+cC0+cHJldjsgXAorCX0gd2hpbGUoMCkKKworCisvKgorICogVGhpcyBzdHJ1Y3QgcmVwcmVzZW50cyBvbmUgZW50cnkgaW4gYSBtdGFiL2ZzdGFiL21vdW50aW5mbyBmaWxlLgorICogKG5vdGUgdGhhdCBmc3RhYlsxXSBtZWFucyB0aGUgZmlyc3QgY29sdW1uIGZyb20gZnN0YWIsIGFuZCBzbyBvbi4uLikKKyAqLworc3RydWN0IGxpYm1udF9mcyB7CisJc3RydWN0IGxpc3RfaGVhZCBlbnRzOworCisJaW50CQlyZWZjb3VudDsJLyogcmVmZXJlbmNlIGNvdW50ZXIgKi8KKwlpbnQJCWlkOwkJLyogbW91bnRpbmZvWzFdOiBJRCAqLworCWludAkJcGFyZW50OwkJLyogbW91bnRpbmZvWzJdOiBwYXJlbnQgKi8KKwlkZXZfdAkJZGV2bm87CQkvKiBtb3VudGluZm9bM106IHN0X2RldiAqLworCisJY2hhcgkJKmJpbmRzcmM7CS8qIHV0YWIsIGZ1bGwgcGF0aCBmcm9tIGZzdGFiWzFdIGZvciBiaW5kIG1vdW50cyAqLworCisJY2hhcgkJKnNvdXJjZTsJLyogZnN0YWJbMV0sIG1vdW50aW5mb1sxMF0sIHN3YXBzWzFdOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIHNvdXJjZSBkZXYsIGZpbGUsIGRpciBvciBUQUcgKi8KKwljaGFyCQkqdGFnbmFtZTsJLyogZnN0YWJbMV06IHRhZyBuYW1lIC0gIkxBQkVMIiwgIlVVSUQiLCAuLiovCisJY2hhcgkJKnRhZ3ZhbDsJLyogICAgICAgICAgIHRhZyB2YWx1ZSAqLworCisJY2hhcgkJKnJvb3Q7CQkvKiBtb3VudGluZm9bNF06IHJvb3Qgb2YgdGhlIG1vdW50IHdpdGhpbiB0aGUgRlMgKi8KKwljaGFyCQkqdGFyZ2V0OwkvKiBtb3VudGluZm9bNV0sIGZzdGFiWzJdOiBtb3VudHBvaW50ICovCisJY2hhcgkJKmZzdHlwZTsJLyogbW91bnRpbmZvWzldLCBmc3RhYlszXTogZmlsZXN5c3RlbSB0eXBlICovCisKKwljaGFyCQkqb3B0c3RyOwkvKiBmc3RhYls0XSwgbWVyZ2VkIG9wdGlvbnMgKi8KKwljaGFyCQkqdmZzX29wdHN0cjsJLyogbW91bnRpbmZvWzZdOiBmcy1pbmRlcGVuZGVudCAoVkZTKSBvcHRpb25zICovCisJY2hhcgkJKm9wdF9maWVsZHM7CS8qIG1vdW50aW5mb1s3XTogb3B0aW9uYWwgZmllbGRzICovCisJY2hhcgkJKmZzX29wdHN0cjsJLyogbW91bnRpbmZvWzExXTogZnMtZGVwZW5kZW50IG9wdGlvbnMgKi8KKwljaGFyCQkqdXNlcl9vcHRzdHI7CS8qIHVzZXJzcGFjZSBtb3VudCBvcHRpb25zICovCisJY2hhcgkJKmF0dHJzOwkJLyogbW91bnQgYXR0cmlidXRlcyAqLworCisJaW50CQlmcmVxOwkJLyogZnN0YWJbNV06IGR1bXAgZnJlcXVlbmN5IGluIGRheXMgKi8KKwlpbnQJCXBhc3NubzsJCS8qIGZzdGFiWzZdOiBwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrICovCisKKwkvKiAvcHJvYy9zd2FwcyAqLworCWNoYXIJCSpzd2FwdHlwZTsJLyogc3dhcHNbMl06IGRldmljZSB0eXBlIChwYXJ0aXRpb24sIGZpbGUsIC4uLikgKi8KKwlvZmZfdAkJc2l6ZTsJCS8qIHN3YXBzWzNdOiBzd2FwYXJlYSBzaXplICovCisJb2ZmX3QJCXVzZWRzaXplOwkvKiBzd2Fwc1s0XTogdXNlZCBzaXplICovCisJaW50CQlwcmlvcml0eTsJLyogc3dhcHNbNV06IHN3YXAgcHJpb3JpdHkgKi8KKworCWludAkJZmxhZ3M7CQkvKiBNTlRfRlNfKiBmbGFncyAqLworCXBpZF90CQl0aWQ7CQkvKiAvcHJvYy88dGlkPi9tb3VudGluZm8gb3RoZXJ3aXNlIHplcm8gKi8KKworCWNoYXIJCSpjb21tZW50OwkvKiBmc3RhYiBjb21tZW50ICovCisKKwl2b2lkCQkqdXNlcmRhdGE7CS8qIGxpYnJhcnkgaW5kZXBlbmRlbnQgZGF0YSAqLworfTsKKworLyoKKyAqIGZzIGZsYWdzCisgKi8KKyNkZWZpbmUgTU5UX0ZTX1BTRVVETwkoMSA8PCAxKSAvKiBwc2V1ZG8gZmlsZXN5c3RlbSAqLworI2RlZmluZSBNTlRfRlNfTkVUCSgxIDw8IDIpIC8qIG5ldHdvcmsgZmlsZXN5c3RlbSAqLworI2RlZmluZSBNTlRfRlNfU1dBUAkoMSA8PCAzKSAvKiBzd2FwIGRldmljZSAqLworI2RlZmluZSBNTlRfRlNfS0VSTkVMCSgxIDw8IDQpIC8qIGRhdGEgZnJvbSAvcHJvYy97bW91bnRzLHNlbGYvbW91bnRpbmZvfSAqLworI2RlZmluZSBNTlRfRlNfTUVSR0VECSgxIDw8IDUpIC8qIGFscmVhZHkgbWVyZ2VkIGRhdGEgZnJvbSAvcnVuL21vdW50L3V0YWIgKi8KKworI2RlZmluZSBtbnRfZnNfaXNfcmVndWxhcihfZikJKCEobW50X2ZzX2lzX3BzZXVkb2ZzKF9mKSBcCisJCQkJICAgfHwgbW50X2ZzX2lzX25ldGZzKF9mKSBcCisJCQkJICAgfHwgbW50X2ZzX2lzX3N3YXBhcmVhKF9mKSkpCisKKy8qCisgKiBtdGFiL2ZzdGFiL21vdW50aW5mbyBmaWxlCisgKi8KK3N0cnVjdCBsaWJtbnRfdGFibGUgeworCWludAkJZm10OwkJLyogTU5UX0ZNVF8qIGZpbGUgZm9ybWF0ICovCisJaW50CQluZW50czsJCS8qIG51bWJlciBvZiBlbnRyaWVzICovCisJaW50CQlyZWZjb3VudDsJLyogcmVmZXJlbmNlIGNvdW50ZXIgKi8KKwlpbnQJCWNvbW1zOwkJLyogZW5hYmxlL2Rpc2FibGUgY29tbWVudCBwYXJzaW5nICovCisJY2hhcgkJKmNvbW1faW50cm87CS8qIEZpcnN0IGNvbW1lbnQgaW4gZmlsZSAqLworCWNoYXIJCSpjb21tX3RhaWw7CS8qIExhc3QgY29tbWVudCBpbiBmaWxlICovCisKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICpjYWNoZTsJCS8qIGNhbm9uaWNhbGl6ZWQgcGF0aHMvdGFncyBjYWNoZSAqLworCisgICAgICAgIGludAkJKCplcnJjYikoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSk7CisKKwlpbnQJCSgqZmx0cmNiKShzdHJ1Y3QgbGlibW50X2ZzICpmcywgdm9pZCAqZGF0YSk7CisJdm9pZAkJKmZsdHJjYl9kYXRhOworCisKKwlzdHJ1Y3QgbGlzdF9oZWFkCWVudHM7CS8qIGxpc3Qgb2YgZW50cmllcyAobGlibW50X2ZzKSAqLworCXZvaWQJCSp1c2VyZGF0YTsKK307CisKK2V4dGVybiBzdHJ1Y3QgbGlibW50X3RhYmxlICpfX21udF9uZXdfdGFibGVfZnJvbV9maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgZm10LCBpbnQgZW1wdHlfZm9yX2Vub2VudCk7CisKKy8qCisgKiBUYWIgZmlsZSBmb3JtYXQKKyAqLworZW51bSB7CisJTU5UX0ZNVF9HVUVTUywKKwlNTlRfRk1UX0ZTVEFCLAkJCS8qIC9ldGMve2ZzLG19dGFiICovCisJTU5UX0ZNVF9NVEFCID0gTU5UX0ZNVF9GU1RBQiwJLyogYWxpYXMgKi8KKwlNTlRfRk1UX01PVU5USU5GTywJCS8qIC9wcm9jLyMvbW91bnRpbmZvICovCisJTU5UX0ZNVF9VVEFCLAkJCS8qIC9ydW4vbW91bnQvdXRhYiAqLworCU1OVF9GTVRfU1dBUFMJCQkvKiAvcHJvYy9zd2FwcyAqLworfTsKKworLyoKKyAqIEFkZGl0aW9uYWwgbW91bnRzCisgKi8KK3N0cnVjdCBsaWJtbnRfYWRkbW91bnQgeworCXVuc2lnbmVkIGxvbmcgbW91bnRmbGFnczsKKworCXN0cnVjdCBsaXN0X2hlYWQJbW91bnRzOworfTsKKworc3RydWN0IGxpYm1udF9ucyB7CisJaW50IGZkOwkJCQkvKiBmaWxlIGRlc2NyaXB0b3Igb2YgbmFtZXNwYWNlLCAtMSB3aGVuIGluYWN0aXZlICovCisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CS8qIHBhdGhzIGNhY2hlIGFzc29jaWF0ZWQgd2l0aCBOUyAqLworfTsKKworLyoKKyAqIE1vdW50IGNvbnRleHQgLS0gaGlnaC1sZXZlbCBBUEkKKyAqLworc3RydWN0IGxpYm1udF9jb250ZXh0Cit7CisJaW50CWFjdGlvbjsJCS8qIE1OVF9BQ1Rfe01PVU5ULFVNT1VOVH0gKi8KKwlpbnQJcmVzdHJpY3RlZDsJLyogcm9vdCBvciBub3Q/ICovCisKKwljaGFyCSpmc3R5cGVfcGF0dGVybjsJLyogZm9yIG1udF9tYXRjaF9mc3R5cGUoKSAqLworCWNoYXIJKm9wdHN0cl9wYXR0ZXJuOwkvKiBmb3IgbW50X21hdGNoX29wdGlvbnMoKSAqLworCisJc3RydWN0IGxpYm1udF9mcyAqZnM7CQkvKiBmaWxlc3lzdGVtIGRlc2NyaXB0aW9uICh0eXBlLCBtb3VudHBvaW50LCBkZXZpY2UsIC4uLikgKi8KKworCXN0cnVjdCBsaWJtbnRfdGFibGUgKmZzdGFiOwkvKiBmc3RhYiAob3IgbXRhYiBmb3Igc29tZSByZW1vdW50cykgZW50cmllcyAqLworCXN0cnVjdCBsaWJtbnRfdGFibGUgKm10YWI7CS8qIG10YWIgZW50cmllcyAqLworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnV0YWI7CS8qIHJhcmVseSB1c2VkIGJ5IHVtb3VudCBvbmx5ICovCisKKwlpbnQJKCp0YWJsZV9lcnJjYikoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCS8qIGNhbGxiYWNrIGZvciBsaWJtbnRfdGFibGUgc3RydWN0cyAqLworCQkJIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSk7CisKKwlpbnQJKCp0YWJsZV9mbHRyY2IpKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB2b2lkICpkYXRhKTsJLyogY2FsbGJhY2sgZm9yIGxpYm1udF90YWJsZSBzdHJ1Y3RzICovCisJdm9pZAkqdGFibGVfZmx0cmNiX2RhdGE7CisKKwljaGFyCSooKnB3ZF9nZXRfY2IpKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqKTsJCS8qIGdldCBlbmNyeXB0aW9uIHBhc3N3b3JkICovCisJdm9pZAkoKnB3ZF9yZWxlYXNlX2NiKShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKiwgY2hhciAqKTsJLyogcmVsZWFzZSBwYXNzd29yZCAqLworCisJaW50CW9wdHNtb2RlOwkvKiBmc3RhYiBvcHRzdHIgbW9kZSBNTlRfT1BUU01PREVfe0FVVE8sRk9SQ0UsSUdOT1JFfSAqLworCWludAlsb29wZGV2X2ZkOwkvKiBvcGVuIGxvb3BkZXYgKi8KKworCXVuc2lnbmVkIGxvbmcJbW91bnRmbGFnczsJLyogZmluYWwgbW91bnQoMikgZmxhZ3MgKi8KKwljb25zdCB2b2lkCSptb3VudGRhdGE7CS8qIGZpbmFsIG1vdW50KDIpIGRhdGEsIHN0cmluZyBvciBiaW5hcnkgZGF0YSAqLworCisJdW5zaWduZWQgbG9uZwl1c2VyX21vdW50ZmxhZ3M7CS8qIE1OVF9NU18qIChsb29wPSwgdXNlcj0sIC4uLikgKi8KKworCXN0cnVjdCBsaXN0X2hlYWQJYWRkbW91bnRzOwkvKiBhZGRpdGlvbmFsIG1vdW50cyAqLworCisJc3RydWN0IGxpYm1udF9jYWNoZQkqY2FjaGU7CS8qIHBhdGhzIGNhY2hlICovCisJc3RydWN0IGxpYm1udF9sb2NrCSpsb2NrOwkvKiBtdGFiIGxvY2sgKi8KKwlzdHJ1Y3QgbGlibW50X3VwZGF0ZQkqdXBkYXRlOy8qIG10YWIvdXRhYiB1cGRhdGUgKi8KKworCWNvbnN0IGNoYXIJKm10YWJfcGF0aDsgLyogcGF0aCB0byBtdGFiICovCisJaW50CQltdGFiX3dyaXRhYmxlOyAvKiBpcyBtdGFiIHdyaXRhYmxlICovCisKKwljb25zdCBjaGFyCSp1dGFiX3BhdGg7IC8qIHBhdGggdG8gdXRhYiAqLworCWludAkJdXRhYl93cml0YWJsZTsgLyogaXMgdXRhYiB3cml0YWJsZSAqLworCisJaW50CWZsYWdzOwkJLyogcHJpdmF0ZSBjb250ZXh0IGZsYWdzICovCisKKwljaGFyCSpoZWxwZXI7CS8qIG5hbWUgb2YgdGhlIHVzZWQgL3NiaW4vW3VdbW91bnQuPHR5cGU+IGhlbHBlciAqLworCWludAloZWxwZXJfc3RhdHVzOwkvKiBoZWxwZXIgd2FpdCgyKSBzdGF0dXMgKi8KKwlpbnQJaGVscGVyX2V4ZWNfc3RhdHVzOyAvKiAxOiBub3QgY2FsbGVkIHlldCwgMDogc3VjY2VzcywgPDA6IC1lcnJubyAqLworCisJY2hhcgkqb3JpZ191c2VyOwkvKiBvcmlnaW5hbCAobm9uLWZpeGVkKSB1c2VyPSBvcHRpb24gKi8KKworCXBpZF90CSpjaGlsZHJlbjsJLyogIm1vdW50IC1hIC0tZm9yayIgUElEcyAqLworCWludAluY2hpbGRyZW47CS8qIG51bWJlciBvZiBjaGlsZHJlbiAqLworCXBpZF90CXBpZDsJCS8qIDA9cGFyZW50OyBQSUQ9Y2hpbGQgKi8KKworCisJaW50CXN5c2NhbGxfc3RhdHVzOwkvKiAxOiBub3QgY2FsbGVkIHlldCwgMDogc3VjY2VzcywgPDA6IC1lcnJubyAqLworCisJc3RydWN0IGxpYm1udF9ucwluc19vcmlnOwkvKiBvcmlnaW5hbCBuYW1lc3BhY2UgKi8KKwlzdHJ1Y3QgbGlibW50X25zCW5zX3RndDsJCS8qIHRhcmdldCBuYW1lc3BhY2UgKi8KKwlzdHJ1Y3QgbGlibW50X25zCSpuc19jdXI7CS8qIHBvaW50ZXIgdG8gY3VycmVudCBuYW1lc3BhY2UgKi8KKworCXVuc2lnbmVkIGludAllbmFibGVkX3RleHRkb21haW4gOiAxOwkJLyogYmluZHRleHRkb21haW4oKSBjYWxsZWQgKi8KK307CisKKy8qIGZsYWdzICovCisjZGVmaW5lIE1OVF9GTF9OT01UQUIJCSgxIDw8IDEpCisjZGVmaW5lIE1OVF9GTF9GQUtFCQkoMSA8PCAyKQorI2RlZmluZSBNTlRfRkxfU0xPUFBZCQkoMSA8PCAzKQorI2RlZmluZSBNTlRfRkxfVkVSQk9TRQkJKDEgPDwgNCkKKyNkZWZpbmUgTU5UX0ZMX05PSEVMUEVSUwkoMSA8PCA1KQorI2RlZmluZSBNTlRfRkxfTE9PUERFTAkJKDEgPDwgNikKKyNkZWZpbmUgTU5UX0ZMX0xBWlkJCSgxIDw8IDcpCisjZGVmaW5lIE1OVF9GTF9GT1JDRQkJKDEgPDwgOCkKKyNkZWZpbmUgTU5UX0ZMX05PQ0FOT05JQ0FMSVpFCSgxIDw8IDkpCisjZGVmaW5lIE1OVF9GTF9SRE9OTFlfVU1PVU5UCSgxIDw8IDExKQkvKiByZW1vdW50LHJvIGFmdGVyIEVCVVNZIHVtb3VudCgyKSAqLworI2RlZmluZSBNTlRfRkxfRk9SSwkJKDEgPDwgMTIpCisjZGVmaW5lIE1OVF9GTF9OT1NXQVBNQVRDSAkoMSA8PCAxMykKKyNkZWZpbmUgTU5UX0ZMX1JXT05MWV9NT1VOVAkoMSA8PCAxNCkJLyogZXhwbGljaXQgbW91bnQgLXc7IG5ldmVyIHRyeSByZWFkLW9ubHkgICovCisKKyNkZWZpbmUgTU5UX0ZMX01PVU5UREFUQQkoMSA8PCAyMCkKKyNkZWZpbmUgTU5UX0ZMX1RBQl9BUFBMSUVECSgxIDw8IDIxKQkvKiBtdGFiL2ZzdGFiIG1lcmdlZCB0byBjeHQtPmZzICovCisjZGVmaW5lIE1OVF9GTF9NT1VOVEZMQUdTX01FUkdFRCAoMSA8PCAyMikJLyogTVNfKiBmbGFncyB3YXMgcmVhZCBmcm9tIG9wdHN0ciAqLworI2RlZmluZSBNTlRfRkxfU0FWRURfVVNFUgkoMSA8PCAyMykKKyNkZWZpbmUgTU5UX0ZMX1BSRVBBUkVECQkoMSA8PCAyNCkKKyNkZWZpbmUgTU5UX0ZMX0hFTFBFUgkJKDEgPDwgMjUpCS8qIFt1XW1vdW50Ljx0eXBlPiAqLworI2RlZmluZSBNTlRfRkxfTE9PUERFVl9SRUFEWQkoMSA8PCAyNikJLyogL2Rldi9sb29wPE4+IGluaXRpYWxpemVkIGJ5IHRoZSBsaWJyYXJ5ICovCisjZGVmaW5lIE1OVF9GTF9NT1VOVE9QVFNfRklYRUQgICgxIDw8IDI3KQorI2RlZmluZSBNTlRfRkxfVEFCUEFUSFNfQ0hFQ0tFRAkoMSA8PCAyOCkKKyNkZWZpbmUgTU5UX0ZMX0ZPUkNFRF9SRE9OTFkJKDEgPDwgMjkpCS8qIG1vdW50ZWQgcmVhZC1vbmx5IG9uIHdyaXRlLXByb3RlY3RlZCBkZXZpY2UgKi8KKworLyogZGVmYXVsdCBmbGFncyAqLworI2RlZmluZSBNTlRfRkxfREVGQVVMVAkJMAorCisvKiBGbGFncyB1c2FibGUgd2l0aCBNU19CSU5EfE1TX1JFTU9VTlQgKi8KKyNkZWZpbmUgTU5UX0JJTkRfU0VUVEFCTEUJKE1TX05PU1VJRHxNU19OT0RFVnxNU19OT0VYRUN8TVNfTk9BVElNRXxNU19OT0RJUkFUSU1FfE1TX1JFTEFUSU1FfE1TX1JET05MWSkKKworLyogbG9jay5jICovCitleHRlcm4gaW50IG1udF9sb2NrX3VzZV9zaW1wbGVsb2NrKHN0cnVjdCBsaWJtbnRfbG9jayAqbWwsIGludCBlbmFibGUpOworCisvKiBvcHRtYXAuYyAqLworZXh0ZXJuIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptbnRfb3B0bWFwX2dldF9lbnRyeSgKKwkJCSAgICAgc3RydWN0IGxpYm1udF9vcHRtYXAgY29uc3QgKiptYXBzLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbnQgbm1hcHMsCisJCQkgICAgIGNvbnN0IGNoYXIgKm5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCBuYW1lbGVuLAorCQkJICAgICBjb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqKm1hcGVudCk7CisKKy8qIG9wdHN0ci5jICovCitleHRlcm4gaW50IG1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbl9hdChjaGFyICoqb3B0c3RyLCBjaGFyICpiZWdpbiwgY2hhciAqZW5kKTsKK2V4dGVybiBpbnQgbW50X29wdHN0cl9maXhfZ2lkKGNoYXIgKipvcHRzdHIsIGNoYXIgKnZhbHVlLCBzaXplX3QgdmFsc3osIGNoYXIgKipuZXh0KTsKK2V4dGVybiBpbnQgbW50X29wdHN0cl9maXhfdWlkKGNoYXIgKipvcHRzdHIsIGNoYXIgKnZhbHVlLCBzaXplX3QgdmFsc3osIGNoYXIgKipuZXh0KTsKK2V4dGVybiBpbnQgbW50X29wdHN0cl9maXhfc2Vjb250ZXh0KGNoYXIgKipvcHRzdHIsIGNoYXIgKnZhbHVlLCBzaXplX3QgdmFsc3osIGNoYXIgKipuZXh0KTsKK2V4dGVybiBpbnQgbW50X29wdHN0cl9maXhfdXNlcihjaGFyICoqb3B0c3RyKTsKKworLyogZnMuYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfZnMgKm1udF9jb3B5X210YWJfZnMoY29uc3Qgc3RydWN0IGxpYm1udF9mcyAqZnMpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CitleHRlcm4gaW50IF9fbW50X2ZzX3NldF9zb3VyY2VfcHRyKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjaGFyICpzb3VyY2UpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKDEpKSk7CitleHRlcm4gaW50IF9fbW50X2ZzX3NldF9mc3R5cGVfcHRyKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjaGFyICpmc3R5cGUpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKDEpKSk7CisKKy8qIGNvbnRleHQuYyAqLworZXh0ZXJuIGludCBtbnRfY29udGV4dF9tdGFiX3dyaXRhYmxlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfdXRhYl93cml0YWJsZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gY29uc3QgY2hhciAqbW50X2NvbnRleHRfZ2V0X3dyaXRhYmxlX3RhYnBhdGgoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9tdGFiX2Zvcl90YXJnZXQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJICAgIHN0cnVjdCBsaWJtbnRfdGFibGUgKiptdGFiLCBjb25zdCBjaGFyICp0Z3QpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3ByZXBhcmVfc3JjcGF0aChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X3ByZXBhcmVfdGFyZ2V0KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZ3Vlc3Nfc3JjcGF0aF9mc3R5cGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNoYXIgKip0eXBlKTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfZ3Vlc3NfZnN0eXBlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfcHJlcGFyZV9oZWxwZXIoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdHlwZSk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X3ByZXBhcmVfdXBkYXRlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfbWVyZ2VfbWZsYWdzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfdXBkYXRlX3RhYnMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X3Vtb3VudF9zZXRvcHQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBjLCBjaGFyICphcmcpOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9tb3VudF9zZXRvcHQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBjLCBjaGFyICphcmcpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2lzX2xvb3BkZXYoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCisJCQlfX2F0dHJpYnV0ZV9fKChub25udWxsKSk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfcHJvcGFnYXRpb25fb25seShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKKwkJCV9fYXR0cmlidXRlX18oKG5vbm51bGwpKTsKKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfYWRkbW91bnQgKm1udF9uZXdfYWRkbW91bnQodm9pZCk7CitleHRlcm4gdm9pZCBtbnRfZnJlZV9hZGRtb3VudChzdHJ1Y3QgbGlibW50X2FkZG1vdW50ICphZCk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfc2V0dXBfbG9vcGRldihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2RlbGV0ZV9sb29wZGV2KHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KTsKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfY2xlYXJfbG9vcGRldihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiBpbnQgbW50X2ZvcmtfY29udGV4dChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCk7CisKK2V4dGVybiBpbnQgbW50X2NvbnRleHRfc2V0X3RhYmZpbHRlcihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkgICAgIGludCAoKmZsdHIpKHN0cnVjdCBsaWJtbnRfZnMgKiwgdm9pZCAqKSwKKwkJCQkgICAgIHZvaWQgKmRhdGEpOworCitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9nZW5lcmljX2V4Y29kZShpbnQgcmMsIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6LCBjaGFyICpmbXQsIC4uLik7CitleHRlcm4gaW50IG1udF9jb250ZXh0X2dldF9tb3VudF9leGNvZGUoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGludCBtbnRyYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opOworZXh0ZXJuIGludCBtbnRfY29udGV4dF9nZXRfdW1vdW50X2V4Y29kZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IG1udHJjLCBjaGFyICpidWYsIHNpemVfdCBidWZzeik7CisKKy8qIHRhYl91cGRhdGUuYyAqLworZXh0ZXJuIGludCBtbnRfdXBkYXRlX3NldF9maWxlbmFtZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLAorCQkJCSAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgdXNlcnNwYWNlX29ubHkpOworZXh0ZXJuIGludCBtbnRfdXBkYXRlX2FscmVhZHlfZG9uZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLAorCQkJCSAgIHN0cnVjdCBsaWJtbnRfbG9jayAqbGMpOworCisjaWYgX19saW51eF9fCisvKiBidHJmcy5jICovCitleHRlcm4gdWludDY0X3QgYnRyZnNfZ2V0X2RlZmF1bHRfc3Vidm9sX2lkKGNvbnN0IGNoYXIgKnBhdGgpOworI2VuZGlmCisKKyNlbmRpZiAvKiBfTElCTU9VTlRfUFJJVkFURV9IICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvb3B0bWFwLmMgYi9saWJtb3VudC9zcmMvb3B0bWFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGFhMjg1ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9vcHRtYXAuYwpAQCAtMCwwICsxLDI1MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogb3B0bWFwCisgKiBAdGl0bGU6IE9wdGlvbiBtYXBzCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGRlc2NyaXB0aW9uIGZvciBtb3VudCBvcHRpb25zCisgKgorICogVGhlIG1vdW50KDIpIGxpbnV4IHN5c2NhbGwgdXNlcyB0d28gYXJndW1lbnRzIGZvciBtb3VudCBvcHRpb25zOgorICoKKyAqCUBtb3VudGZsYWdzOiAoc2VlIE1TXyogbWFjcm9zIGluIGxpbnV4L2ZzLmgpCisgKgorICoJQG1vdW50ZGF0YTogKHVzdWFsbHkgYSBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIG9wdGlvbnMpCisgKgorICogVGhlIGxpYm1vdW50IHVzZXMgb3B0aW9ucy1tYXAocykgdG8gZGVzY3JpYmUgbW91bnQgb3B0aW9ucy4KKyAqCisgKiBUaGUgb3B0aW9uIGRlc2NyaXB0aW9uIChtYXAgZW50cnkpIGluY2x1ZGVzOgorICoKKyAqCUBuYW1lOiBhbmQgYXJndW1lbnQgbmFtZQorICoKKyAqCUBpZDogKGluIHRoZSBtYXAgdW5pcXVlIGlkZW50aWZpZXIgb3IgYSBtb3VudGZsYWdzLCBlLmcgTVNfUkRPTkxZKQorICoKKyAqCUBtYXNrOiAoTU5UX0lOVkVSVCwgTU5UX05PTVRBQikKKyAqCisgKiBUaGUgb3B0aW9uIGFyZ3VtZW50IHZhbHVlIGlzIGRlZmluZWQgYnk6CisgKgorICoJIj0iICAgLS0gcmVxdWlyZWQgYXJndW1lbnQsIGUuZyAiY29tbWVudD0iCisgKgorICoJIls9XSIgLS0gb3B0aW9uYWwgYXJndW1lbnQsIGUuZy4gImxvb3BbPV0iCisgKgorICogRXhhbXBsZToKKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogICA8cHJvZ3JhbWxpc3Rpbmc+CisgKiAgICAgI2RlZmluZSBNWV9NU19GT08gICAoMSA8PCAxKQorICogICAgICNkZWZpbmUgTVlfTVNfQkFSICAgKDEgPDwgMikKKyAqCisgKiAgICAgbGlibW50X29wdG1hcCBteW9wdGlvbnNbXSA9IHsKKyAqICAgICAgIHsgImZvbyIsICAgTVlfTVNfRk9PIH0sCisgKiAgICAgICB7ICJub2ZvbyIsIE1ZX01TX0ZPTyB8IE1OVF9JTlZFUlQgfSwKKyAqICAgICAgIHsgImJhcj0iLCAgTVlfTVNfQkFSIH0sCisgKiAgICAgICB7IE5VTEwgfQorICogICAgIH07CisgKiAgIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqCisgKiBUaGUgbGlibW91bnQgZGVmaW5lcyB0d28gYmFzaWMgYnVpbHQtaW4gb3B0aW9ucyBtYXBzOgorICoKKyAqCUBNTlRfTElOVVhfTUFQOiBmcy1pbmRlcGVuZGVudCBrZXJuZWwgbW91bnQgb3B0aW9ucyAodXN1YWxseSBNU18qIGZsYWdzKQorICoKKyAqCUBNTlRfVVNFUlNQQUNFX01BUDogdXNlcnNwYWNlIHNwZWNpZmljIG1vdW50IG9wdGlvbnMgKGUuZy4gInVzZXIiLCAibG9vcCIpCisgKgorICogRm9yIG1vcmUgZGV0YWlscyBhYm91dCBvcHRpb24gbWFwIHN0cnVjdCBzZWUgInN0cnVjdCBtbnRfb3B0bWFwIiBpbgorICogbW91bnQvbW91bnQuaC4KKyAqLworI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKy8qCisgKiBmcy1pbmRlcGVuZGVudCBtb3VudCBmbGFncyAoYnVpbHQtaW4gTU5UX0xJTlVYX01BUCkKKyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwIGxpbnV4X2ZsYWdzX21hcFtdID0KK3sKKyAgIHsgInJvIiwgICAgICAgTVNfUkRPTkxZIH0sICAgICAgICAgICAgICAgICAvKiByZWFkLW9ubHkgKi8KKyAgIHsgInJ3IiwgICAgICAgTVNfUkRPTkxZLCBNTlRfSU5WRVJUIH0sICAgICAvKiByZWFkLXdyaXRlICovCisgICB7ICJleGVjIiwgICAgIE1TX05PRVhFQywgTU5UX0lOVkVSVCB9LCAgICAgLyogcGVybWl0IGV4ZWN1dGlvbiBvZiBiaW5hcmllcyAqLworICAgeyAibm9leGVjIiwgICBNU19OT0VYRUMgfSwgICAgICAgICAgICAgICAgIC8qIGRvbid0IGV4ZWN1dGUgYmluYXJpZXMgKi8KKyAgIHsgInN1aWQiLCAgICAgTVNfTk9TVUlELCBNTlRfSU5WRVJUIH0sICAgICAvKiBob25vciBzdWlkIGV4ZWN1dGFibGVzICovCisgICB7ICJub3N1aWQiLCAgIE1TX05PU1VJRCB9LCAgICAgICAgICAgICAgICAgLyogZG9uJ3QgaG9ub3Igc3VpZCBleGVjdXRhYmxlcyAqLworICAgeyAiZGV2IiwgICAgICBNU19OT0RFViwgTU5UX0lOVkVSVCB9LCAgICAgIC8qIGludGVycHJldCBkZXZpY2UgZmlsZXMgICovCisgICB7ICJub2RldiIsICAgIE1TX05PREVWIH0sICAgICAgICAgICAgICAgICAgLyogZG9uJ3QgaW50ZXJwcmV0IGRldmljZXMgKi8KKworICAgeyAic3luYyIsICAgICBNU19TWU5DSFJPTk9VUyB9LCAgICAgICAgICAgIC8qIHN5bmNocm9ub3VzIEkvTyAqLworICAgeyAiYXN5bmMiLCAgICBNU19TWU5DSFJPTk9VUywgTU5UX0lOVkVSVCB9LC8qIGFzeW5jaHJvbm91cyBJL08gKi8KKworICAgeyAiZGlyc3luYyIsICBNU19ESVJTWU5DIH0sICAgICAgICAgICAgICAgIC8qIHN5bmNocm9ub3VzIGRpcmVjdG9yeSBtb2RpZmljYXRpb25zICovCisgICB7ICJyZW1vdW50IiwgIE1TX1JFTU9VTlQsIE1OVF9OT01UQUIgfSwgICAgLyogYWx0ZXIgZmxhZ3Mgb2YgbW91bnRlZCBGUyAqLworICAgeyAiYmluZCIsICAgICBNU19CSU5EIH0sICAgICAgICAgICAgICAgICAgIC8qIFJlbW91bnQgcGFydCBvZiB0aGUgdHJlZSBlbHNld2hlcmUgKi8KKyAgIHsgInJiaW5kIiwgICAgTVNfQklORCB8IE1TX1JFQyB9LCAgICAgICAgICAvKiBJZGVtLCBwbHVzIG1vdW50ZWQgc3VidHJlZXMgKi8KKyNpZmRlZiBNU19OT1NVQgorICAgeyAic3ViIiwgICAgICBNU19OT1NVQiwgTU5UX0lOVkVSVCB9LCAgICAgIC8qIGFsbG93IHN1Ym1vdW50cyAqLworICAgeyAibm9zdWIiLCAgICBNU19OT1NVQiB9LCAgICAgICAgICAgICAgICAgIC8qIGRvbid0IGFsbG93IHN1Ym1vdW50cyAqLworI2VuZGlmCisjaWZkZWYgTVNfU0lMRU5UCisgICB7ICJzaWxlbnQiLAkgTVNfU0lMRU5UIH0sICAgICAgICAgICAgICAgICAvKiBiZSBxdWlldCAgKi8KKyAgIHsgImxvdWQiLCAgICAgTVNfU0lMRU5ULCBNTlRfSU5WRVJUIH0sICAgICAvKiBwcmludCBvdXQgbWVzc2FnZXMuICovCisjZW5kaWYKKyNpZmRlZiBNU19NQU5ETE9DSworICAgeyAibWFuZCIsICAgICBNU19NQU5ETE9DSyB9LCAgICAgICAgICAgICAgIC8qIEFsbG93IG1hbmRhdG9yeSBsb2NrcyBvbiB0aGlzIEZTICovCisgICB7ICJub21hbmQiLCAgIE1TX01BTkRMT0NLLCBNTlRfSU5WRVJUIH0sICAgLyogRm9yYmlkIG1hbmRhdG9yeSBsb2NrcyBvbiB0aGlzIEZTICovCisjZW5kaWYKKyNpZmRlZiBNU19OT0FUSU1FCisgICB7ICJhdGltZSIsICAgIE1TX05PQVRJTUUsIE1OVF9JTlZFUlQgfSwgICAgLyogVXBkYXRlIGFjY2VzcyB0aW1lICovCisgICB7ICJub2F0aW1lIiwJIE1TX05PQVRJTUUgfSwgICAgICAgICAgICAgICAgLyogRG8gbm90IHVwZGF0ZSBhY2Nlc3MgdGltZSAqLworI2VuZGlmCisjaWZkZWYgTVNfSV9WRVJTSU9OCisgICB7ICJpdmVyc2lvbiIsIE1TX0lfVkVSU0lPTiB9LCAgICAgICAgICAgICAgLyogVXBkYXRlIGlub2RlIElfdmVyc2lvbiB0aW1lICovCisgICB7ICJub2l2ZXJzaW9uIiwgTVNfSV9WRVJTSU9OLCAgTU5UX0lOVkVSVH0sLyogRG9uJ3QgdXBkYXRlIGlub2RlIElfdmVyc2lvbiB0aW1lICovCisjZW5kaWYKKyNpZmRlZiBNU19OT0RJUkFUSU1FCisgICB7ICJkaXJhdGltZSIsIE1TX05PRElSQVRJTUUsIE1OVF9JTlZFUlQgfSwgLyogVXBkYXRlIGRpciBhY2Nlc3MgdGltZXMgKi8KKyAgIHsgIm5vZGlyYXRpbWUiLCBNU19OT0RJUkFUSU1FIH0sICAgICAgICAgICAvKiBEbyBub3QgdXBkYXRlIGRpciBhY2Nlc3MgdGltZXMgKi8KKyNlbmRpZgorI2lmZGVmIE1TX1JFTEFUSU1FCisgICB7ICJyZWxhdGltZSIsIE1TX1JFTEFUSU1FIH0sICAgICAgICAgICAgICAgLyogVXBkYXRlIGFjY2VzcyB0aW1lcyByZWxhdGl2ZSB0byBtdGltZS9jdGltZSAqLworICAgeyAibm9yZWxhdGltZSIsIE1TX1JFTEFUSU1FLCBNTlRfSU5WRVJUIH0sIC8qIFVwZGF0ZSBhY2Nlc3MgdGltZSB3aXRob3V0IHJlZ2FyZCB0byBtdGltZS9jdGltZSAqLworI2VuZGlmCisjaWZkZWYgTVNfU1RSSUNUQVRJTUUKKyAgIHsgInN0cmljdGF0aW1lIiwgTVNfU1RSSUNUQVRJTUUgfSwgICAgICAgICAvKiBTdHJpY3QgYXRpbWUgc2VtYW50aWNzICovCisgICB7ICJub3N0cmljdGF0aW1lIiwgTVNfU1RSSUNUQVRJTUUsIE1OVF9JTlZFUlQgfSwgLyoga2VybmVsIGRlZmF1bHQgYXRpbWUgKi8KKyNlbmRpZgorI2lmZGVmIE1TX0xBWllUSU1FCisgICB7ICJsYXp5dGltZSIsIE1TX0xBWllUSU1FIH0sICAgICAgICAgICAgICAgLyogVXBkYXRlIHthLG0sY310aW1lIG9uIHRoZSBpbi1tZW1vcnkgaW5vZGUgb25seSAqLworICAgeyAibm9sYXp5dGltZSIsIE1TX0xBWllUSU1FLCBNTlRfSU5WRVJUIH0sCisjZW5kaWYKKyNpZmRlZiBNU19QUk9QQUdBVElPTgorICAgeyAidW5iaW5kYWJsZSIsICBNU19VTkJJTkRBQkxFLCAgICAgICAgICBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LCAvKiBVbmJpbmRhYmxlICovCisgICB7ICJydW5iaW5kYWJsZSIsIE1TX1VOQklOREFCTEUgfCBNU19SRUMsIE1OVF9OT0hMUFMgfCBNTlRfTk9NVEFCIH0sCisgICB7ICJwcml2YXRlIiwgICAgIE1TX1BSSVZBVEUsICAgICAgICAgICAgIE1OVF9OT0hMUFMgfCBNTlRfTk9NVEFCIH0sIC8qIFByaXZhdGUgKi8KKyAgIHsgInJwcml2YXRlIiwgICAgTVNfUFJJVkFURSB8IE1TX1JFQywgICAgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwKKyAgIHsgInNsYXZlIiwgICAgICAgTVNfU0xBVkUsICAgICAgICAgICAgICAgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwgLyogU2xhdmUgKi8KKyAgIHsgInJzbGF2ZSIsICAgICAgTVNfU0xBVkUgfCBNU19SRUMsICAgICAgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwKKyAgIHsgInNoYXJlZCIsICAgICAgTVNfU0hBUkVELCAgICAgICAgICAgICAgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwgLyogU2hhcmVkICovCisgICB7ICJyc2hhcmVkIiwgICAgIE1TX1NIQVJFRCB8IE1TX1JFQywgICAgIE1OVF9OT0hMUFMgfCBNTlRfTk9NVEFCIH0sCisjZW5kaWYKKyAgIHsgTlVMTCwgMCwgMCB9Cit9OworCisvKgorICogdXNlcnNwYWNlIG1vdW50IG9wdGlvbiAoYnVpbHQtaW4gTU5UX1VTRVJTUEFDRV9NQVApCisgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCB1c2Vyc3BhY2Vfb3B0c19tYXBbXSA9Cit7CisgICB7ICJkZWZhdWx0cyIsIDAsIDAgfSwgICAgICAgICAgICAgICAvKiBkZWZhdWx0IG9wdGlvbnMgKi8KKworICAgeyAiYXV0byIsICAgIE1OVF9NU19OT0FVVE8sIE1OVF9OT0hMUFMgfCBNTlRfSU5WRVJUIHwgTU5UX05PTVRBQiB9LCAgLyogQ2FuIGJlIG1vdW50ZWQgdXNpbmcgLWEgKi8KKyAgIHsgIm5vYXV0byIsICBNTlRfTVNfTk9BVVRPLCBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LCAgLyogQ2FuIG9ubHkgYmUgbW91bnRlZCBleHBsaWNpdGx5ICovCisKKyAgIHsgInVzZXJbPV0iLCBNTlRfTVNfVVNFUiB9LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogQWxsb3cgb3JkaW5hcnkgdXNlciB0byBtb3VudCAobXRhYikgKi8KKyAgIHsgIm5vdXNlciIsICBNTlRfTVNfVVNFUiwgTU5UX0lOVkVSVCB8IE1OVF9OT01UQUIgfSwgICAgLyogRm9yYmlkIG9yZGluYXJ5IHVzZXIgdG8gbW91bnQgKi8KKworICAgeyAidXNlcnMiLCAgIE1OVF9NU19VU0VSUywgTU5UX05PTVRBQiB9LCAgICAgICAgICAgICAgICAvKiBBbGxvdyBvcmRpbmFyeSB1c2VycyB0byBtb3VudCAqLworICAgeyAibm91c2VycyIsIE1OVF9NU19VU0VSUywgTU5UX0lOVkVSVCB8IE1OVF9OT01UQUIgfSwgICAvKiBGb3JiaWQgb3JkaW5hcnkgdXNlcnMgdG8gbW91bnQgKi8KKworICAgeyAib3duZXIiLCAgIE1OVF9NU19PV05FUiwgTU5UX05PTVRBQiB9LCAgICAgICAgICAgICAgICAvKiBMZXQgdGhlIG93bmVyIG9mIHRoZSBkZXZpY2UgbW91bnQgKi8KKyAgIHsgIm5vb3duZXIiLCBNTlRfTVNfT1dORVIsIE1OVF9JTlZFUlQgfCBNTlRfTk9NVEFCIH0sICAgLyogRGV2aWNlIG93bmVyIGhhcyBubyBzcGVjaWFsIHByaXZzICovCisKKyAgIHsgImdyb3VwIiwgICBNTlRfTVNfR1JPVVAsIE1OVF9OT01UQUIgfSwgICAgICAgICAgICAgICAgLyogTGV0IHRoZSBncm91cCBvZiB0aGUgZGV2aWNlIG1vdW50ICovCisgICB7ICJub2dyb3VwIiwgTU5UX01TX0dST1VQLCBNTlRfSU5WRVJUIHwgTU5UX05PTVRBQiB9LCAgIC8qIERldmljZSBncm91cCBoYXMgbm8gc3BlY2lhbCBwcml2cyAqLworCisgICAvKgorICAgICogTm90ZSB0aGF0IHRyYWRpdGlvbmFsIGluaXQgc2NyaXB0cyBhc3N1bWUgdGhlIF9uZXRkZXYgb3B0aW9uIGluIC9ldGMvbXRhYiB0bworICAgICogdW1vdW50IG5ldHdvcmsgYmxvY2sgZGV2aWNlcyBvbiBzaHV0ZG93bi4KKyAgICAqLworICAgeyAiX25ldGRldiIsIE1OVF9NU19ORVRERVYgfSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBEZXZpY2UgcmVxdWlyZXMgbmV0d29yayAqLworCisgICB7ICJjb21tZW50PSIsIE1OVF9NU19DT01NRU5ULCBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LC8qIGZzdGFiIGNvbW1lbnQgb25seSAqLworCisgICB7ICJ4LSIsICAgICAgTU5UX01TX1hDT01NRU5ULCAgIE1OVF9OT0hMUFMgfCBNTlRfUFJFRklYIH0sICAgICAgICAgICAgICAvKiBwZXJzaXN0ZW50IGNvbW1lbnRzICh1dGFiKSAqLworICAgeyAiWC0iLCAgICAgIE1OVF9NU19YRlNUQUJDT01NLCBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB8IE1OVF9QUkVGSVggfSwgLyogZnN0YWIgb25seSBjb21tZW50cyAqLworCisgICB7ICJsb29wWz1dIiwgTU5UX01TX0xPT1AsIE1OVF9OT0hMUFMgfSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIHVzZSB0aGUgbG9vcCBkZXZpY2UgKi8KKyAgIHsgIm9mZnNldD0iLCBNTlRfTVNfT0ZGU0VULCBNTlRfTk9ITFBTIHwgTU5UX05PTVRBQiB9LAkJICAgLyogbG9vcCBkZXZpY2Ugb2Zmc2V0ICovCisgICB7ICJzaXplbGltaXQ9IiwgTU5UX01TX1NJWkVMSU1JVCwgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwJICAgLyogbG9vcCBkZXZpY2Ugc2l6ZSBsaW1pdCAqLworICAgeyAiZW5jcnlwdGlvbj0iLCBNTlRfTVNfRU5DUllQVElPTiwgTU5UX05PSExQUyB8IE1OVF9OT01UQUIgfSwJICAgLyogbG9vcCBkZXZpY2UgZW5jcnlwdGlvbiAqLworCisgICB7ICJub2ZhaWwiLCAgTU5UX01TX05PRkFJTCwgTU5UX05PTVRBQiB9LCAgICAgICAgICAgICAgIC8qIERvIG5vdCBmYWlsIGlmIEVOT0VOVCBvbiBkZXYgKi8KKworICAgeyAidWhlbHBlcj0iLCBNTlRfTVNfVUhFTFBFUiB9LAkJCSAgIC8qIC9zYmluL3Vtb3VudC48aGVscGVyPiAqLworCisgICB7ICJoZWxwZXI9IiwgTU5UX01TX0hFTFBFUiB9LAkJCSAgIC8qIC9zYmluL21vdW50LjxoZWxwZXI+ICovCisKKyAgIHsgTlVMTCwgMCwgMCB9Cit9OworCisvKioKKyAqIG1udF9nZXRfYnVpbHRpbl9tYXA6CisgKiBAaWQ6IG1hcCBpZCAtLSBNTlRfTElOVVhfTUFQIG9yIE1OVF9VU0VSU1BBQ0VfTUFQCisgKgorICogTU5UX0xJTlVYX01BUCAtIExpbnV4IGtlcm5lbCBmcy1pbmRlcGVuZGVudCBtb3VudCBvcHRpb25zCisgKiAgICAgICAgICAgICAgICAgKHVzdWFsbHkgTVNfKiBmbGFncywgc2VlIGxpbnV4L2ZzLmgpCisgKgorICogTU5UX1VTRVJTUEFDRV9NQVAgLSB1c2Vyc3BhY2UgbW91bnQoOCkgc3BlY2lmaWMgbW91bnQgb3B0aW9ucworICogICAgICAgICAgICAgICAgICAgICAoZS5nIHVzZXI9LCBfbmV0ZGV2LCAuLi4pCisgKgorICogUmV0dXJuczogc3RhdGljIGJ1aWx0LWluIGxpYm1vdW50IG1hcC4KKyAqLworY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKm1udF9nZXRfYnVpbHRpbl9vcHRtYXAoaW50IGlkKQoreworCWFzc2VydChpZCk7CisKKwlpZiAoaWQgPT0gTU5UX0xJTlVYX01BUCkKKwkJcmV0dXJuIGxpbnV4X2ZsYWdzX21hcDsKKwllbHNlIGlmIChpZCA9PSBNTlRfVVNFUlNQQUNFX01BUCkKKwkJcmV0dXJuIHVzZXJzcGFjZV9vcHRzX21hcDsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoKKyAqIExvb2tzIHVwIHRoZSBAbmFtZSBpbiBAbWFwcyBhbmQgcmV0dXJucyBhIG1hcCBhbmQgaW4gQG1hcGVudAorICogcmV0dXJucyB0aGUgbWFwIGVudHJ5CisgKi8KK2NvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptbnRfb3B0bWFwX2dldF9lbnRyeSgKKwkJCQlzdHJ1Y3QgbGlibW50X29wdG1hcCBjb25zdCAqKm1hcHMsCisJCQkJaW50IG5tYXBzLAorCQkJCWNvbnN0IGNoYXIgKm5hbWUsCisJCQkJc2l6ZV90IG5hbWVsZW4sCisJCQkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKiptYXBlbnQpCit7CisJaW50IGk7CisKKwlhc3NlcnQobWFwcyk7CisJYXNzZXJ0KG5tYXBzKTsKKwlhc3NlcnQobmFtZSk7CisJYXNzZXJ0KG5hbWVsZW4pOworCisJaWYgKG1hcGVudCkKKwkJKm1hcGVudCA9IE5VTEw7CisKKwlmb3IgKGkgPSAwOyBpIDwgbm1hcHM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqbWFwID0gbWFwc1tpXTsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKmVudDsKKwkJY29uc3QgY2hhciAqcDsKKworCQlmb3IgKGVudCA9IG1hcDsgZW50ICYmIGVudC0+bmFtZTsgZW50KyspIHsKKwkJCWlmIChlbnQtPm1hc2sgJiBNTlRfUFJFRklYKSB7CisJCQkJaWYgKHN0YXJ0c3dpdGgobmFtZSwgZW50LT5uYW1lKSkgeworCQkJCQlpZiAobWFwZW50KQorCQkJCQkJKm1hcGVudCA9IGVudDsKKwkJCQkJcmV0dXJuIG1hcDsKKwkJCQl9CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoc3RybmNtcChlbnQtPm5hbWUsIG5hbWUsIG5hbWVsZW4pKQorCQkJCWNvbnRpbnVlOworCQkJcCA9IGVudC0+bmFtZSArIG5hbWVsZW47CisJCQlpZiAoKnAgPT0gJ1wwJyB8fCAqcCA9PSAnPScgfHwgKnAgPT0gJ1snKSB7CisJCQkJaWYgKG1hcGVudCkKKwkJCQkJKm1hcGVudCA9IGVudDsKKwkJCQlyZXR1cm4gbWFwOworCQkJfQorCQl9CisJfQorCXJldHVybiBOVUxMOworfQorCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvb3B0c3RyLmMgYi9saWJtb3VudC9zcmMvb3B0c3RyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2MwNzdmZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy9vcHRzdHIuYwpAQCAtMCwwICsxLDE0MzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsMjAwOSwyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBvcHRzdHIKKyAqIEB0aXRsZTogT3B0aW9ucyBzdHJpbmcKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogbG93LWxldmVsIEFQSSBmb3Igd29ya2luZyB3aXRoIG1vdW50IG9wdGlvbnMKKyAqCisgKiBUaGlzIGlzIGEgc2ltcGxlIGFuZCBsb3ctbGV2ZWwgQVBJIHRvIHdvcmtpbmcgd2l0aCBtb3VudCBvcHRpb25zIHRoYXQgYXJlIHN0b3JlZAorICogaW4gYSBzdHJpbmcuCisgKi8KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisjaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+CisjaW5jbHVkZSA8c2VsaW51eC9jb250ZXh0Lmg+CisjZW5kaWYKKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibW91bnRQLmgiCisKKy8qCisgKiBPcHRpb24gbG9jYXRpb24KKyAqLworc3RydWN0IGxpYm1udF9vcHRsb2MgeworCWNoYXIJKmJlZ2luOworCWNoYXIJKmVuZDsKKwljaGFyCSp2YWx1ZTsKKwlzaXplX3QJdmFsc3o7CisJc2l6ZV90ICBuYW1lc3o7Cit9OworCisjZGVmaW5lIG1udF9pbml0X29wdGxvYyhfb2wpCShtZW1zZXQoKF9vbCksIDAsIHNpemVvZihzdHJ1Y3QgbGlibW50X29wdGxvYykpKQorCisjZGVmaW5lIG1udF9vcHRtYXBfZW50cnlfbm92YWx1ZShlKSBcCisJCShlICYmIChlKS0+bmFtZSAmJiAhc3RyY2hyKChlKS0+bmFtZSwgJz0nKSAmJiAhKChlKS0+bWFzayAmIE1OVF9QUkVGSVgpKQorCisvKgorICogUGFyc2VzIHRoZSBmaXJzdCBvcHRpb24gZnJvbSBAb3B0c3RyLiBUaGUgQG9wdHN0ciBwb2ludGVyIGlzIHNldCB0byB0aGUgYmVnaW5uaW5nCisgKiBvZiB0aGUgbmV4dCBvcHRpb24uCisgKgorICogUmV0dXJucyAtRUlOVkFMIG9uIHBhcnNlIGVycm9yLCAxIGF0IHRoZSBlbmQgb2Ygb3B0c3RyIGFuZCAwIG9uIHN1Y2Nlc3MuCisgKi8KK3N0YXRpYyBpbnQgbW50X29wdHN0cl9wYXJzZV9uZXh0KGNoYXIgKipvcHRzdHIsCSBjaGFyICoqbmFtZSwgc2l6ZV90ICpuYW1lc3osCisJCQkJCWNoYXIgKip2YWx1ZSwgc2l6ZV90ICp2YWxzeikKK3sKKwlpbnQgb3Blbl9xdW90ZSA9IDA7CisJY2hhciAqc3RhcnQgPSBOVUxMLCAqc3RvcCA9IE5VTEwsICpwLCAqc2VwID0gTlVMTDsKKwljaGFyICpvcHRzdHIwOworCisJYXNzZXJ0KG9wdHN0cik7CisJYXNzZXJ0KCpvcHRzdHIpOworCisJb3B0c3RyMCA9ICpvcHRzdHI7CisKKwlpZiAobmFtZSkKKwkJKm5hbWUgPSBOVUxMOworCWlmIChuYW1lc3opCisJCSpuYW1lc3ogPSAwOworCWlmICh2YWx1ZSkKKwkJKnZhbHVlID0gTlVMTDsKKwlpZiAodmFsc3opCisJCSp2YWxzeiA9IDA7CisKKwkvKiB0cmltIGxlYWRpbmcgY29tbWFzIGFzIHRvIG5vdCBpbnZhbGlkYXRlIG9wdGlvbgorCSAqIHN0cmluZ3Mgd2l0aCBtdWx0aXBsZSBjb25zZWN1dGl2ZSBjb21tYXMgKi8KKwl3aGlsZSAob3B0c3RyMCAmJiAqb3B0c3RyMCA9PSAnLCcpCisJCW9wdHN0cjArKzsKKworCWZvciAocCA9IG9wdHN0cjA7IHAgJiYgKnA7IHArKykgeworCQlpZiAoIXN0YXJ0KQorCQkJc3RhcnQgPSBwOwkJLyogYmVnaW5uaW5nIG9mIHRoZSBvcHRpb24gaXRlbSAqLworCQlpZiAoKnAgPT0gJyInKQorCQkJb3Blbl9xdW90ZSBePSAxOwkvKiByZXZlcnNlIHRoZSBzdGF0dXMgKi8KKwkJaWYgKG9wZW5fcXVvdGUpCisJCQljb250aW51ZTsJCS8qIHN0aWxsIGluIHF1b3RlZCBibG9jayAqLworCQlpZiAoIXNlcCAmJiBwID4gc3RhcnQgJiYgKnAgPT0gJz0nKQorCQkJc2VwID0gcDsJCS8qIG5hbWUgYW5kIHZhbHVlIHNlcGFyYXRvciAqLworCQlpZiAoKnAgPT0gJywnKQorCQkJc3RvcCA9IHA7CQkvKiB0ZXJtaW5hdGUgdGhlIG9wdGlvbiBpdGVtICovCisJCWVsc2UgaWYgKCoocCArIDEpID09ICdcMCcpCisJCQlzdG9wID0gcCArIDE7CQkvKiBlbmQgb2Ygb3B0c3RyICovCisJCWlmICghc3RhcnQgfHwgIXN0b3ApCisJCQljb250aW51ZTsKKwkJaWYgKHN0b3AgPD0gc3RhcnQpCisJCQlnb3RvIGVycm9yOworCisJCWlmIChuYW1lKQorCQkJKm5hbWUgPSBzdGFydDsKKwkJaWYgKG5hbWVzeikKKwkJCSpuYW1lc3ogPSBzZXAgPyBzZXAgLSBzdGFydCA6IHN0b3AgLSBzdGFydDsKKwkJKm9wdHN0ciA9ICpzdG9wID8gc3RvcCArIDEgOiBzdG9wOworCisJCWlmIChzZXApIHsKKwkJCWlmICh2YWx1ZSkKKwkJCQkqdmFsdWUgPSBzZXAgKyAxOworCQkJaWYgKHZhbHN6KQorCQkJCSp2YWxzeiA9IHN0b3AgLSBzZXAgLSAxOworCQl9CisJCXJldHVybiAwOworCX0KKworCXJldHVybiAxOwkJCQkvKiBlbmQgb2Ygb3B0c3RyICovCisKK2Vycm9yOgorCURCRyhPUFRJT05TLCB1bF9kZWJ1ZygicGFyc2UgZXJyb3I6IFwiJXNcIiIsIG9wdHN0cjApKTsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworLyoKKyAqIExvY2F0ZXMgdGhlIGZpcnN0IG9wdGlvbiB0aGF0IG1hdGNoZXMgQG5hbWUuIFRoZSBAZW5kIGlzIHNldCB0byB0aGUKKyAqIGNoYXIgYmVoaW5kIHRoZSBvcHRpb24gKGl0IG1lYW5zICcsJyBvciBcMCkuCisgKgorICogUmV0dXJucyBuZWdhdGl2ZSBudW1iZXIgb24gcGFyc2UgZXJyb3IsIDEgd2hlbiBub3QgZm91bmQgYW5kIDAgb24gc3VjY2Vzcy4KKyAqLworc3RhdGljIGludCBtbnRfb3B0c3RyX2xvY2F0ZV9vcHRpb24oY2hhciAqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJCQlzdHJ1Y3QgbGlibW50X29wdGxvYyAqb2wpCit7CisJY2hhciAqbjsKKwlzaXplX3QgbmFtZXN6LCBuc3o7CisJaW50IHJjOworCisJaWYgKCFvcHRzdHIpCisJCXJldHVybiAxOworCisJYXNzZXJ0KG5hbWUpOworCisJbmFtZXN6ID0gc3RybGVuKG5hbWUpOworCisJZG8geworCQlyYyA9IG1udF9vcHRzdHJfcGFyc2VfbmV4dCgmb3B0c3RyLCAmbiwgJm5zeiwKKwkJCQkJJm9sLT52YWx1ZSwgJm9sLT52YWxzeik7CisJCWlmIChyYykKKwkJCWJyZWFrOworCisJCWlmIChuYW1lc3ogPT0gbnN6ICYmIHN0cm5jbXAobiwgbmFtZSwgbnN6KSA9PSAwKSB7CisJCQlvbC0+YmVnaW4gPSBuOworCQkJb2wtPmVuZCA9ICoob3B0c3RyIC0gMSkgPT0gJywnID8gb3B0c3RyIC0gMSA6IG9wdHN0cjsKKwkJCW9sLT5uYW1lc3ogPSBuc3o7CisJCQlyZXR1cm4gMDsKKwkJfQorCX0gd2hpbGUoMSk7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X29wdHN0cl9uZXh0X29wdGlvbjoKKyAqIEBvcHRzdHI6IG9wdGlvbiBzdHJpbmcsIHJldHVybnMgdGhlIHBvc2l0aW9uIG9mIHRoZSBuZXh0IG9wdGlvbgorICogQG5hbWU6IHJldHVybnMgdGhlIG9wdGlvbiBuYW1lCisgKiBAbmFtZXN6OiByZXR1cm5zIHRoZSBvcHRpb24gbmFtZSBsZW5ndGgKKyAqIEB2YWx1ZTogcmV0dXJucyB0aGUgb3B0aW9uIHZhbHVlIG9yIE5VTEwKKyAqIEB2YWx1ZXN6OiByZXR1cm5zIHRoZSBvcHRpb24gdmFsdWUgbGVuZ3RoIG9yIHplcm8KKyAqCisgKiBQYXJzZXMgdGhlIGZpcnN0IG9wdGlvbiBpbiBAb3B0c3RyLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSBhdCB0aGUgZW5kIG9mIEBvcHRzdHIgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YKKyAqIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9uZXh0X29wdGlvbihjaGFyICoqb3B0c3RyLCBjaGFyICoqbmFtZSwgc2l6ZV90ICpuYW1lc3osCisJCQkJCWNoYXIgKip2YWx1ZSwgc2l6ZV90ICp2YWx1ZXN6KQoreworCWlmICghb3B0c3RyIHx8ICEqb3B0c3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlyZXR1cm4gbW50X29wdHN0cl9wYXJzZV9uZXh0KG9wdHN0ciwgbmFtZSwgbmFtZXN6LCB2YWx1ZSwgdmFsdWVzeik7Cit9CisKK3N0YXRpYyBpbnQgX19tbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oY2hhciAqKm9wdHN0ciwKKwkJCWNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuc3osCisJCQljb25zdCBjaGFyICp2YWx1ZSwgc2l6ZV90IHZzeikKK3sKKwljaGFyICpwOworCXNpemVfdCBzeiwgb3N6OworCisJYXNzZXJ0KG5hbWUpOworCWFzc2VydCgqbmFtZSk7CisJYXNzZXJ0KG5zeik7CisJYXNzZXJ0KG9wdHN0cik7CisKKwlvc3ogPSAqb3B0c3RyID8gc3RybGVuKCpvcHRzdHIpIDogMDsKKworCXN6ID0gb3N6ICsgbnN6ICsgMTsJCS8qIDE6ICdcMCcgKi8KKwlpZiAob3N6KQorCQlzeisrOwkJCS8qICcsJyBvcHRpb25zIHNlcGFyYXRvciAqLworCWlmICh2YWx1ZSkKKwkJc3ogKz0gdnN6ICsgMTsJCS8qIDE6ICc9JyAqLworCisJcCA9IHJlYWxsb2MoKm9wdHN0ciwgc3opOworCWlmICghcCkKKwkJcmV0dXJuIC1FTk9NRU07CisJKm9wdHN0ciA9IHA7CisKKwlpZiAob3N6KSB7CisJCXAgKz0gb3N6OworCQkqcCsrID0gJywnOworCX0KKworCW1lbWNweShwLCBuYW1lLCBuc3opOworCXAgKz0gbnN6OworCisJaWYgKHZhbHVlKSB7CisJCSpwKysgPSAnPSc7CisJCW1lbWNweShwLCB2YWx1ZSwgdnN6KTsKKwkJcCArPSB2c3o7CisJfQorCSpwID0gJ1wwJzsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbjoKKyAqIEBvcHRzdHI6IG9wdGlvbiBzdHJpbmcgb3IgTlVMTCwgcmV0dXJucyBhIHJlYWxsb2NhdGVkIHN0cmluZworICogQG5hbWU6IHZhbHVlIG5hbWUKKyAqIEB2YWx1ZTogdmFsdWUKKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgPDAgaW4gY2FzZSBvZiBlcnJvci4gQWZ0ZXIgYW4gZXJyb3IgdGhlIEBvcHRzdHIgc2hvdWxkCisgKiAgICAgICAgICBiZSB1bm1vZGlmaWVkLgorICovCitpbnQgbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCXNpemVfdCB2c3osIG5zejsKKworCWlmICghb3B0c3RyKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAoIW5hbWUgfHwgISpuYW1lKQorCQlyZXR1cm4gMDsKKworCW5zeiA9IHN0cmxlbihuYW1lKTsKKwl2c3ogPSB2YWx1ZSA/IHN0cmxlbih2YWx1ZSkgOiAwOworCisJcmV0dXJuIF9fbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKG9wdHN0ciwgbmFtZSwgbnN6LCB2YWx1ZSwgdnN6KTsKK30KKworLyoqCisgKiBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uOgorICogQG9wdHN0cjogb3B0aW9uIHN0cmluZyBvciBOVUxMLCByZXR1cm5zIGEgcmVhbGxvY2F0ZWQgc3RyaW5nCisgKiBAbmFtZTogdmFsdWUgbmFtZQorICogQHZhbHVlOiB2YWx1ZQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciA8MCBpbiBjYXNlIG9mIGVycm9yLiBBZnRlciBhbiBlcnJvciB0aGUgQG9wdHN0ciBzaG91bGQKKyAqICAgICAgICAgIGJlIHVubW9kaWZpZWQuCisgKi8KK2ludCBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWludCByYyA9IDA7CisJY2hhciAqdG1wOworCisJaWYgKCFvcHRzdHIpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghbmFtZSB8fCAhKm5hbWUpCisJCXJldHVybiAwOworCisJdG1wID0gKm9wdHN0cjsKKwkqb3B0c3RyID0gTlVMTDsKKworCXJjID0gbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKG9wdHN0ciwgbmFtZSwgdmFsdWUpOworCWlmICghcmMgJiYgdG1wICYmICp0bXApCisJCXJjID0gbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKG9wdHN0ciwgdG1wLCBOVUxMKTsKKwlpZiAoIXJjKSB7CisJCWZyZWUodG1wKTsKKwkJcmV0dXJuIDA7CisJfQorCisJZnJlZSgqb3B0c3RyKTsKKwkqb3B0c3RyID0gdG1wOworCisJREJHKE9QVElPTlMsIHVsX2RlYnVnKCJmYWlsZWQgdG8gcHJlcGVuZCAnJXNbPSVzXScgdG8gJyVzJyIsCisJCQkJbmFtZSwgdmFsdWUsICpvcHRzdHIpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogbW50X29wdHN0cl9nZXRfb3B0aW9uOgorICogQG9wdHN0cjogc3RyaW5nIHdpdGggYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAbmFtZTogcmVxdWVzdGVkIG9wdGlvbiBuYW1lCisgKiBAdmFsdWU6IHJldHVybnMgYSBwb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHZhbHVlIChlLmcuIG5hbWU9VkFMVUUpIG9yIE5VTEwKKyAqIEB2YWxzejogcmV0dXJucyBzaXplIG9mIHRoZSB2YWx1ZSBvciAwCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCAxIHdoZW4gbm90IGZvdW5kIHRoZSBAbmFtZSBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZQorICogb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfb3B0c3RyX2dldF9vcHRpb24oY29uc3QgY2hhciAqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLAorCQkJICBjaGFyICoqdmFsdWUsIHNpemVfdCAqdmFsc3opCit7CisJc3RydWN0IGxpYm1udF9vcHRsb2Mgb2w7CisJaW50IHJjOworCisJaWYgKCFvcHRzdHIgfHwgIW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJbW50X2luaXRfb3B0bG9jKCZvbCk7CisKKwlyYyA9IG1udF9vcHRzdHJfbG9jYXRlX29wdGlvbigoY2hhciAqKSBvcHRzdHIsIG5hbWUsICZvbCk7CisJaWYgKCFyYykgeworCQlpZiAodmFsdWUpCisJCQkqdmFsdWUgPSBvbC52YWx1ZTsKKwkJaWYgKHZhbHN6KQorCQkJKnZhbHN6ID0gb2wudmFsc3o7CisJfQorCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfb3B0c3RyX2RlZHVwbGljYXRlX29wdGlvbjoKKyAqIEBvcHRzdHI6IHN0cmluZyB3aXRoIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Ygb3B0aW9ucworICogQG5hbWU6IHJlcXVlc3RlZCBvcHRpb24gbmFtZQorICoKKyAqIFJlbW92ZXMgYWxsIGluc3RhbmNlcyBvZiBAbmFtZSBleGNlcHQgdGhlIGxhc3Qgb25lLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIG5vdCBmb3VuZCB0aGUgQG5hbWUgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2UKKyAqIG9mIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9kZWR1cGxpY2F0ZV9vcHRpb24oY2hhciAqKm9wdHN0ciwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpbnQgcmM7CisJY2hhciAqYmVnaW4gPSBOVUxMLCAqZW5kID0gTlVMTCwgKm9wdDsKKworCWlmICghb3B0c3RyIHx8ICFuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW9wdCA9ICpvcHRzdHI7CisJZG8geworCQlzdHJ1Y3QgbGlibW50X29wdGxvYyBvbDsKKworCQltbnRfaW5pdF9vcHRsb2MoJm9sKTsKKworCQlyYyA9IG1udF9vcHRzdHJfbG9jYXRlX29wdGlvbihvcHQsIG5hbWUsICZvbCk7CisJCWlmICghcmMpIHsKKwkJCWlmIChiZWdpbikgeworCQkJCS8qIHJlbW92ZSB0aGUgcHJldmlvdXMgaW5zdGFuY2UgKi8KKwkJCQlzaXplX3Qgc2hpZnQgPSBzdHJsZW4oKm9wdHN0cik7CisKKwkJCQltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQob3B0c3RyLCBiZWdpbiwgZW5kKTsKKworCQkJCS8qIG5vdyBhbGwgdGhlIG9mZnNldHMgYXJlIG5vdCB2YWxpZCBhbnltb3JlIC0gcmVjb3VudCAqLworCQkJCXNoaWZ0IC09IHN0cmxlbigqb3B0c3RyKTsKKwkJCQlvbC5iZWdpbiAtPSBzaGlmdDsKKwkJCQlvbC5lbmQgLT0gc2hpZnQ7CisJCQl9CisJCQliZWdpbiA9IG9sLmJlZ2luOworCQkJZW5kID0gb2wuZW5kOworCQkJb3B0ID0gZW5kICYmICplbmQgPyBlbmQgKyAxIDogTlVMTDsKKwkJfQorCX0gd2hpbGUgKHJjID09IDAgJiYgb3B0ICYmICpvcHQpOworCisJcmV0dXJuIHJjIDwgMCA/IHJjIDogYmVnaW4gPyAwIDogMTsKK30KKworLyoKKyAqIFRoZSByZXN1bHQgbmV2ZXIgc3RhcnRzIG9yIGVuZHMgd2l0aCBhIGNvbW1hIG9yIGNvbnRhaW5zIHR3byBjb21tYXMKKyAqICAgIChlLmcuICIsYWFhLGJiYiIgb3IgImFhYSwsYmJiIiBvciAiYWFhLCIpCisgKi8KK2ludCBtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQoY2hhciAqKm9wdHN0ciwgY2hhciAqYmVnaW4sIGNoYXIgKmVuZCkKK3sKKwlzaXplX3Qgc3o7CisKKwlpZiAoIW9wdHN0ciB8fCAhYmVnaW4gfHwgIWVuZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlpZiAoKGJlZ2luID09ICpvcHRzdHIgfHwgKihiZWdpbiAtIDEpID09ICcsJykgJiYgKmVuZCA9PSAnLCcpCisJCWVuZCsrOworCisJc3ogPSBzdHJsZW4oZW5kKTsKKworCW1lbW1vdmUoYmVnaW4sIGVuZCwgc3ogKyAxKTsKKwlpZiAoISpiZWdpbiAmJiAoYmVnaW4gPiAqb3B0c3RyKSAmJiAqKGJlZ2luIC0gMSkgPT0gJywnKQorCQkqKGJlZ2luIC0gMSkgPSAnXDAnOworCisJcmV0dXJuIDA7Cit9CisKKy8qIGluc2VydCAnc3Vic3RyJyBvciAnPXN1YnN0cicgdG8gQHN0ciBvbiBwb3NpdGlvbiBAcG9zICovCitzdGF0aWMgaW50IF9fYXR0cmlidXRlX18oKG5vbm51bGwoMSwyLDMpKSkKK2luc2VydF92YWx1ZShjaGFyICoqc3RyLCBjaGFyICpwb3MsIGNvbnN0IGNoYXIgKnN1YnN0ciwgY2hhciAqKm5leHQpCit7CisJc2l6ZV90IHN1YnN6ID0gc3RybGVuKHN1YnN0cik7CQkJLyogc3Vic3RyaW5nIHNpemUgKi8KKwlzaXplX3Qgc3Ryc3ogPSBzdHJsZW4oKnN0cik7CisJc2l6ZV90IHBvc3N6ID0gc3RybGVuKHBvcyk7CisJc2l6ZV90IHBvc29mZjsKKwljaGFyICpwOworCWludCBzZXA7CisKKwkvKiBpcyBpdCBuZWNlc3NhcnkgdG8gcHJlcGVuZCAnPScgYmVmb3JlIHRoZSBzdWJzdHJpbmcgPyAqLworCXNlcCA9ICEocG9zID4gKnN0ciAmJiAqKHBvcyAtIDEpID09ICc9Jyk7CisKKwkvKiBzYXZlIGFuIG9mZnNldCBvZiB0aGUgcGxhY2Ugd2hlcmUgd2UgbmVlZCB0byBhZGQgc3Vic3RyICovCisJcG9zb2ZmID0gcG9zIC0gKnN0cjsKKworCXAgPSByZWFsbG9jKCpzdHIsIHN0cnN6ICsgc2VwICsgc3Vic3ogKyAxKTsKKwlpZiAoIXApCisJCXJldHVybiAtRU5PTUVNOworCisJLyogemVyb2l6ZSB0aGUgbmV3bHkgYWxsb2NhdGVkIG1lbW9yeSAtLSB2YWxncmluZCBsb3ZlcyB1cy4uLiAqLworCW1lbXNldChwICsgc3Ryc3osIDAsIHNlcCArIHN1YnN6ICsgMSk7CisKKwkvKiBzZXQgcG9pbnRlcnMgdG8gdGhlIHJlYWxsb2NhdGVkIHN0cmluZyAqLworCSpzdHIgPSBwOworCXBvcyA9IHAgKyBwb3NvZmY7CisKKwlpZiAocG9zc3opCisJCS8qIGNyZWF0ZSBhIHJvb20gZm9yIHRoZSBuZXcgc3Vic3RyaW5nICovCisJCW1lbW1vdmUocG9zICsgc3Vic3ogKyBzZXAsIHBvcywgcG9zc3ogKyAxKTsKKwlpZiAoc2VwKQorCQkqcG9zKysgPSAnPSc7CisKKwltZW1jcHkocG9zLCBzdWJzdHIsIHN1YnN6KTsKKworCWlmIChuZXh0KSB7CisJCS8qIHNldCBwb2ludGVyIHRvIHRoZSBuZXh0IG9wdGlvbiAqLworCQkqbmV4dCA9IHBvcyArIHN1YnN6OworCQlpZiAoKipuZXh0ID09ICcsJykKKwkJCSgqbmV4dCkrKzsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X29wdHN0cl9zZXRfb3B0aW9uOgorICogQG9wdHN0cjogc3RyaW5nIHdpdGggYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAbmFtZTogcmVxdWVzdGVkIG9wdGlvbgorICogQHZhbHVlOiBuZXcgdmFsdWUgb3IgTlVMTAorICoKKyAqIFNldCBvciB1bnNldCB0aGUgb3B0aW9uIEB2YWx1ZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIDEgd2hlbiBub3QgZm91bmQgdGhlIEBuYW1lIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlCisgKiBvZiBlcnJvci4KKyAqLworaW50IG1udF9vcHRzdHJfc2V0X29wdGlvbihjaGFyICoqb3B0c3RyLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSkKK3sKKwlzdHJ1Y3QgbGlibW50X29wdGxvYyBvbDsKKwljaGFyICpuYW1lZW5kOworCWludCByYyA9IDE7CisKKwlpZiAoIW9wdHN0ciB8fCAhbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltbnRfaW5pdF9vcHRsb2MoJm9sKTsKKworCWlmICgqb3B0c3RyKQorCQlyYyA9IG1udF9vcHRzdHJfbG9jYXRlX29wdGlvbigqb3B0c3RyLCBuYW1lLCAmb2wpOworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsJCQkvKiBwYXJzZSBlcnJvciAqLworCWlmIChyYyA9PSAxKQorCQlyZXR1cm4gbW50X29wdHN0cl9hcHBlbmRfb3B0aW9uKG9wdHN0ciwgbmFtZSwgdmFsdWUpOwkvKiBub3QgZm91bmQgKi8KKworCW5hbWVlbmQgPSBvbC5iZWdpbiArIG9sLm5hbWVzejsKKworCWlmICh2YWx1ZSA9PSBOVUxMICYmIG9sLnZhbHVlICYmIG9sLnZhbHN6KQorCQkvKiByZW1vdmUgdW53YW50ZWQgIj12YWx1ZSIgKi8KKwkJbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KG9wdHN0ciwgbmFtZWVuZCwgb2wuZW5kKTsKKworCWVsc2UgaWYgKHZhbHVlICYmIG9sLnZhbHVlID09IE5VTEwpCisJCS8qIGluc2VydCAiPXZhbHVlIiAqLworCQlyYyA9IGluc2VydF92YWx1ZShvcHRzdHIsIG5hbWVlbmQsIHZhbHVlLCBOVUxMKTsKKworCWVsc2UgaWYgKHZhbHVlICYmIG9sLnZhbHVlICYmIHN0cmxlbih2YWx1ZSkgPT0gb2wudmFsc3opCisJCS8qIHNpbXBseSByZXBsYWNlID12YWx1ZSAqLworCQltZW1jcHkob2wudmFsdWUsIHZhbHVlLCBvbC52YWxzeik7CisKKwllbHNlIGlmICh2YWx1ZSAmJiBvbC52YWx1ZSkgeworCQltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQob3B0c3RyLCBuYW1lZW5kLCBvbC5lbmQpOworCQlyYyA9IGluc2VydF92YWx1ZShvcHRzdHIsIG5hbWVlbmQsIHZhbHVlLCBOVUxMKTsKKwl9CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbjoKKyAqIEBvcHRzdHI6IHN0cmluZyB3aXRoIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Ygb3B0aW9ucworICogQG5hbWU6IHJlcXVlc3RlZCBvcHRpb24gbmFtZQorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgMSB3aGVuIG5vdCBmb3VuZCB0aGUgQG5hbWUgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2UKKyAqIG9mIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uKGNoYXIgKipvcHRzdHIsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGxpYm1udF9vcHRsb2Mgb2w7CisJaW50IHJjOworCisJaWYgKCFvcHRzdHIgfHwgIW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJbW50X2luaXRfb3B0bG9jKCZvbCk7CisKKwlyYyA9IG1udF9vcHRzdHJfbG9jYXRlX29wdGlvbigqb3B0c3RyLCBuYW1lLCAmb2wpOworCWlmIChyYyAhPSAwKQorCQlyZXR1cm4gcmM7CisKKwltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQob3B0c3RyLCBvbC5iZWdpbiwgb2wuZW5kKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfc3BsaXRfb3B0c3RyOgorICogQG9wdHN0cjogc3RyaW5nIHdpdGggY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Ygb3B0aW9ucworICogQHVzZXI6IHJldHVybnMgbmV3bHkgYWxsb2NhdGVkIHN0cmluZyB3aXRoIHVzZXJzcGFjZSBvcHRpb25zCisgKiBAdmZzOiByZXR1cm5zIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCBWRlMgb3B0aW9ucworICogQGZzOiByZXR1cm5zIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCBGUyBvcHRpb25zCisgKiBAaWdub3JlX3VzZXI6IG9wdGlvbiBtYXNrIGZvciBvcHRpb25zIHRoYXQgc2hvdWxkIGJlIGlnbm9yZWQKKyAqIEBpZ25vcmVfdmZzOiBvcHRpb24gbWFzayBmb3Igb3B0aW9ucyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkCisgKgorICogRm9yIGV4YW1wbGU6CisgKgorICoJbW50X3NwbGl0X29wdHN0cihvcHRzdHIsICZ1LCBOVUxMLCBOVUxMLCBNTlRfTk9NVEFCLCAwKTsKKyAqCisgKiByZXR1cm5zIGFsbCB1c2Vyc3BhY2Ugb3B0aW9ucywgdGhlIG9wdGlvbnMgdGhhdCBkbyBub3QgYmVsb25nIHRvCisgKiBtdGFiIGFyZSBpZ25vcmVkLgorICoKKyAqIE5vdGUgdGhhdCBGUyBvcHRpb25zIGFyZSBhbGwgb3B0aW9ucyB0aGF0IGFyZSB1bmRlZmluZWQgaW4gTU5UX1VTRVJTUEFDRV9NQVAKKyAqIG9yIE1OVF9MSU5VWF9NQVAuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBvciBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3NwbGl0X29wdHN0cihjb25zdCBjaGFyICpvcHRzdHIsIGNoYXIgKip1c2VyLCBjaGFyICoqdmZzLAorCQkgICAgIGNoYXIgKipmcywgaW50IGlnbm9yZV91c2VyLCBpbnQgaWdub3JlX3ZmcykKK3sKKwljaGFyICpuYW1lLCAqdmFsLCAqc3RyID0gKGNoYXIgKikgb3B0c3RyOworCXNpemVfdCBuYW1lc3osIHZhbHN6OworCXN0cnVjdCBsaWJtbnRfb3B0bWFwIGNvbnN0ICptYXBzWzJdOworCisJaWYgKCFvcHRzdHIpCisJCXJldHVybiAtRUlOVkFMOworCisJbWFwc1swXSA9IG1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX0xJTlVYX01BUCk7CisJbWFwc1sxXSA9IG1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApOworCisJaWYgKHZmcykKKwkJKnZmcyA9IE5VTEw7CisJaWYgKGZzKQorCQkqZnMgPSBOVUxMOworCWlmICh1c2VyKQorCQkqdXNlciA9IE5VTEw7CisKKwl3aGlsZSAoIW1udF9vcHRzdHJfbmV4dF9vcHRpb24oJnN0ciwgJm5hbWUsICZuYW1lc3osICZ2YWwsICZ2YWxzeikpIHsKKwkJaW50IHJjID0gMDsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKmVudCA9IE5VTEw7CisJCWNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptID0KKwkJCSBtbnRfb3B0bWFwX2dldF9lbnRyeShtYXBzLCAyLCBuYW1lLCBuYW1lc3osICZlbnQpOworCisJCWlmIChlbnQgJiYgIWVudC0+aWQpCisJCQljb250aW51ZTsJLyogaWdub3JlIHVuZGVmaW5lZCBvcHRpb25zIChjb21tZW50cykgKi8KKworCQkvKiBpZ25vcmUgbmFtZT08dmFsdWU+IGlmIG9wdGlvbnMgbWFwIGV4cGVjdHMgPG5hbWU+IG9ubHkgKi8KKwkJaWYgKHZhbHN6ICYmIG1udF9vcHRtYXBfZW50cnlfbm92YWx1ZShlbnQpKQorCQkJbSA9IE5VTEw7CisKKwkJaWYgKGVudCAmJiBtICYmIG0gPT0gbWFwc1swXSAmJiB2ZnMpIHsKKwkJCWlmIChpZ25vcmVfdmZzICYmIChlbnQtPm1hc2sgJiBpZ25vcmVfdmZzKSkKKwkJCQljb250aW51ZTsKKwkJCXJjID0gX19tbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24odmZzLCBuYW1lLCBuYW1lc3osCisJCQkJCQkJCXZhbCwgdmFsc3opOworCQl9IGVsc2UgaWYgKGVudCAmJiBtICYmIG0gPT0gbWFwc1sxXSAmJiB1c2VyKSB7CisJCQlpZiAoaWdub3JlX3VzZXIgJiYgKGVudC0+bWFzayAmIGlnbm9yZV91c2VyKSkKKwkJCQljb250aW51ZTsKKwkJCXJjID0gX19tbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24odXNlciwgbmFtZSwgbmFtZXN6LAorCQkJCQkJCQl2YWwsIHZhbHN6KTsKKwkJfSBlbHNlIGlmICghbSAmJiBmcykKKwkJCXJjID0gX19tbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oZnMsIG5hbWUsIG5hbWVzeiwKKwkJCQkJCQkJdmFsLCB2YWxzeik7CisJCWlmIChyYykgeworCQkJaWYgKHZmcykgeworCQkJCWZyZWUoKnZmcyk7CisJCQkJKnZmcyA9IE5VTEw7CisJCQl9CisJCQlpZiAoZnMpIHsKKwkJCQlmcmVlKCpmcyk7CisJCQkJKmZzID0gTlVMTDsKKwkJCX0KKwkJCWlmICh1c2VyKSB7CisJCQkJZnJlZSgqdXNlcik7CisJCQkJKnVzZXIgPSBOVUxMOworCQkJfQorCQkJcmV0dXJuIHJjOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X29wdHN0cl9nZXRfb3B0aW9ucworICogQG9wdHN0cjogc3RyaW5nIHdpdGggYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAc3Vic2V0OiByZXR1cm5zIG5ld2x5IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCBvcHRpb25zCisgKiBAbWFwOiBvcHRpb25zIG1hcAorICogQGlnbm9yZTogbWFzayBvZiB0aGUgb3B0aW9ucyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkCisgKgorICogRXh0cmFjdHMgb3B0aW9ucyBmcm9tIEBvcHRzdHIgdGhhdCBiZWxvbmcgdG8gdGhlIEBtYXAsIGZvciBleGFtcGxlOgorICoKKyAqCSBtbnRfb3B0c3RyX2dldF9vcHRpb25zKG9wdHN0ciwgJnAsCisgKgkJCW1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX0xJTlVYX01BUCksCisgKgkJCU1OVF9OT01UQUIpOworICoKKyAqIHRoZSAncCcgcmV0dXJucyBhbGwgVkZTIG9wdGlvbnMsIHRoZSBvcHRpb25zIHRoYXQgZG8gbm90IGJlbG9uZyB0byBtdGFiCisgKiBhcmUgaWdub3JlZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG9yIGEgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfb3B0c3RyX2dldF9vcHRpb25zKGNvbnN0IGNoYXIgKm9wdHN0ciwgY2hhciAqKnN1YnNldCwKKwkJCSAgICBjb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqbWFwLCBpbnQgaWdub3JlKQoreworCXN0cnVjdCBsaWJtbnRfb3B0bWFwIGNvbnN0ICptYXBzWzFdOworCWNoYXIgKm5hbWUsICp2YWwsICpzdHIgPSAoY2hhciAqKSBvcHRzdHI7CisJc2l6ZV90IG5hbWVzeiwgdmFsc3o7CisKKwlpZiAoIW9wdHN0ciB8fCAhc3Vic2V0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1hcHNbMF0gPSBtYXA7CisJKnN1YnNldCA9IE5VTEw7CisKKwl3aGlsZSghbW50X29wdHN0cl9uZXh0X29wdGlvbigmc3RyLCAmbmFtZSwgJm5hbWVzeiwgJnZhbCwgJnZhbHN6KSkgeworCQlpbnQgcmMgPSAwOworCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqZW50OworCisJCW1udF9vcHRtYXBfZ2V0X2VudHJ5KG1hcHMsIDEsIG5hbWUsIG5hbWVzeiwgJmVudCk7CisKKwkJaWYgKCFlbnQgfHwgIWVudC0+aWQpCisJCQljb250aW51ZTsJLyogaWdub3JlIHVuZGVmaW5lZCBvcHRpb25zIChjb21tZW50cykgKi8KKworCQlpZiAoaWdub3JlICYmIChlbnQtPm1hc2sgJiBpZ25vcmUpKQorCQkJY29udGludWU7CisKKwkJLyogaWdub3JlIG5hbWU9PHZhbHVlPiBpZiBvcHRpb25zIG1hcCBleHBlY3RzIDxuYW1lPiBvbmx5ICovCisJCWlmICh2YWxzeiAmJiBtbnRfb3B0bWFwX2VudHJ5X25vdmFsdWUoZW50KSkKKwkJCWNvbnRpbnVlOworCisJCXJjID0gX19tbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24oc3Vic2V0LCBuYW1lLCBuYW1lc3osIHZhbCwgdmFsc3opOworCQlpZiAocmMpIHsKKwkJCWZyZWUoKnN1YnNldCk7CisJCQlyZXR1cm4gcmM7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworCisvKioKKyAqIG1udF9vcHRzdHJfZ2V0X2ZsYWdzOgorICogQG9wdHN0cjogc3RyaW5nIHdpdGggY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Ygb3B0aW9ucworICogQGZsYWdzOiByZXR1cm5zIG1vdW50IGZsYWdzCisgKiBAbWFwOiBvcHRpb25zIG1hcAorICoKKyAqIFJldHVybnMgaW4gQGZsYWdzIElEcyBvZiBvcHRpb25zIGZyb20gQG9wdHN0ciBhcyBkZWZpbmVkIGluIHRoZSBAbWFwLgorICoKKyAqIEZvciBleGFtcGxlOgorICoKKyAqCSJiaW5kLGV4ZWMsZm9vLGJhciIgICAtLXJldHVybnMtPiAgIE1TX0JJTkQKKyAqCisgKgkiYmluZCxub2V4ZWMsZm9vLGJhciIgLS1yZXR1cm5zLT4gICBNU19CSU5EfE1TX05PRVhFQworICoKKyAqIE5vdGUgdGhhdCBAZmxhZ3MgYXJlIG5vdCB6ZXJvaXplZCBieSB0aGlzIGZ1bmN0aW9uISBUaGlzIGZ1bmN0aW9uIHNldHMvdW5zZXRzCisgKiBiaXRzIGluIHRoZSBAZmxhZ3Mgb25seS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IKKyAqLworaW50IG1udF9vcHRzdHJfZ2V0X2ZsYWdzKGNvbnN0IGNoYXIgKm9wdHN0ciwgdW5zaWduZWQgbG9uZyAqZmxhZ3MsCisJCWNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptYXApCit7CisJc3RydWN0IGxpYm1udF9vcHRtYXAgY29uc3QgKm1hcHNbMl07CisJY2hhciAqbmFtZSwgKnN0ciA9IChjaGFyICopIG9wdHN0cjsKKwlzaXplX3QgbmFtZXN6ID0gMCwgdmFsc3ogPSAwOworCWludCBubWFwcyA9IDA7CisKKwlpZiAoIW9wdHN0ciB8fCAhZmxhZ3MgfHwgIW1hcCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltYXBzW25tYXBzKytdID0gbWFwOworCisJaWYgKG1hcCA9PSBtbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9MSU5VWF9NQVApKQorCQkvKgorCQkgKiBBZGQgdXNlcnNwYWNlIG1hcCAtLSB0aGUgInVzZXIiIGlzIGludGVycHJldGVkIGFzCisJCSAqICAgICAgICAgICAgICAgICAgICAgIE1TX05Pe0VYRUMsU1VJRCxERVZ9LgorCQkgKi8KKwkJbWFwc1tubWFwcysrXSA9IG1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX1VTRVJTUEFDRV9NQVApOworCisJd2hpbGUoIW1udF9vcHRzdHJfbmV4dF9vcHRpb24oJnN0ciwgJm5hbWUsICZuYW1lc3osIE5VTEwsICZ2YWxzeikpIHsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKmVudDsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKm07CisKKwkJbSA9IG1udF9vcHRtYXBfZ2V0X2VudHJ5KG1hcHMsIG5tYXBzLCBuYW1lLCBuYW1lc3osICZlbnQpOworCQlpZiAoIW0gfHwgIWVudCB8fCAhZW50LT5pZCkKKwkJCWNvbnRpbnVlOworCisJCS8qIGlnbm9yZSBuYW1lPTx2YWx1ZT4gaWYgb3B0aW9ucyBtYXAgZXhwZWN0cyA8bmFtZT4gb25seSAqLworCQlpZiAodmFsc3ogJiYgbW50X29wdG1hcF9lbnRyeV9ub3ZhbHVlKGVudCkpCisJCQljb250aW51ZTsKKworCQlpZiAobSA9PSBtYXApIHsJCQkJLyogcmVxdWVzdGVkIG1hcCAqLworCQkJaWYgKGVudC0+bWFzayAmIE1OVF9JTlZFUlQpCisJCQkJKmZsYWdzICY9IH5lbnQtPmlkOworCQkJZWxzZQorCQkJCSpmbGFncyB8PSBlbnQtPmlkOworCisJCX0gZWxzZSBpZiAobm1hcHMgPT0gMiAmJiBtID09IG1hcHNbMV0gJiYgdmFsc3ogPT0gMCkgeworCQkJLyoKKwkJCSAqIFNwZWNpYWwgY2FzZSAtLSB0cmFuc2xhdGUgInVzZXIiIChidXQgbm8gdXNlcj0pIHRvCisJCQkgKiBNU18gb3B0aW9ucworCQkJICovCisJCQlpZiAoZW50LT5tYXNrICYgTU5UX0lOVkVSVCkKKwkJCQljb250aW51ZTsKKwkJCWlmIChlbnQtPmlkICYgKE1OVF9NU19PV05FUiB8IE1OVF9NU19HUk9VUCkpCisJCQkJKmZsYWdzIHw9IE1TX09XTkVSU0VDVVJFOworCQkJZWxzZSBpZiAoZW50LT5pZCAmIChNTlRfTVNfVVNFUiB8IE1OVF9NU19VU0VSUykpCisJCQkJKmZsYWdzIHw9IE1TX1NFQ1VSRTsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9vcHRzdHJfYXBwbHlfZmxhZ3M6CisgKiBAb3B0c3RyOiBzdHJpbmcgd2l0aCBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAZmxhZ3M6IHJldHVybnMgbW91bnQgZmxhZ3MKKyAqIEBtYXA6IG9wdGlvbnMgbWFwCisgKgorICogUmVtb3Zlcy9hZGRzIG9wdGlvbnMgdG8gdGhlIEBvcHRzdHIgYWNjb3JkaW5nIHRvIGZsYWdzLiBGb3IgZXhhbXBsZToKKyAqCisgKglNU19OT0FUSU1FIGFuZCAiZm9vLGJhcixub2V4ZWMiICAgLS1yZXR1cm5zLT4gICJmb28sYmFyLG5vYXRpbWUiCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9hcHBseV9mbGFncyhjaGFyICoqb3B0c3RyLCB1bnNpZ25lZCBsb25nIGZsYWdzLAorCQkJCWNvbnN0IHN0cnVjdCBsaWJtbnRfb3B0bWFwICptYXApCit7CisJc3RydWN0IGxpYm1udF9vcHRtYXAgY29uc3QgKm1hcHNbMV07CisJY2hhciAqbmFtZSwgKm5leHQsICp2YWw7CisJc2l6ZV90IG5hbWVzeiA9IDAsIHZhbHN6ID0gMDsKKwl1bnNpZ25lZCBsb25nIGZsOworCWludCByYyA9IDA7CisKKwlpZiAoIW9wdHN0ciB8fCAhbWFwKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnKCJhcHBseWluZyAweCUwOGx1IGZsYWdzIHRvICclcyciLCBmbGFncywgKm9wdHN0cikpOworCisJbWFwc1swXSA9IG1hcDsKKwluZXh0ID0gKm9wdHN0cjsKKwlmbCA9IGZsYWdzOworCisJLyoKKwkgKiBUaGVyZSBpcyBhIGNvbnZlbnRpb24gdGhhdCAncncvcm8nIGZsYWdzIGFyZSBhbHdheXMgYXQgdGhlIGJlZ2lubmluZyBvZgorCSAqIHRoZSBzdHJpbmcgKGFsdGhvdWdoIHRoZSAncncnIGlzIHVubmVjZXNzYXJ5KS4KKwkgKi8KKwlpZiAobWFwID09IG1udF9nZXRfYnVpbHRpbl9vcHRtYXAoTU5UX0xJTlVYX01BUCkpIHsKKwkJY29uc3QgY2hhciAqbyA9IChmbCAmIE1TX1JET05MWSkgPyAicm8iIDogInJ3IjsKKworCQlpZiAobmV4dCAmJgorCQkgICAgKCFzdHJuY21wKG5leHQsICJydyIsIDIpIHx8ICFzdHJuY21wKG5leHQsICJybyIsIDIpKSAmJgorCQkgICAgKCoobmV4dCArIDIpID09ICdcMCcgfHwgKihuZXh0ICsgMikgPT0gJywnKSkgeworCisJCQkvKiBhbHJlYWR5IHNldCwgYmUgcGFyYW5vaWQgYW5kIGZpeCBpdCAqLworCQkJbWVtY3B5KG5leHQsIG8sIDIpOworCQl9IGVsc2UgeworCQkJcmMgPSBtbnRfb3B0c3RyX3ByZXBlbmRfb3B0aW9uKG9wdHN0ciwgbywgTlVMTCk7CisJCQlpZiAocmMpCisJCQkJZ290byBlcnI7CisJCQluZXh0ID0gKm9wdHN0cjsJCS8qIGJlY2F1c2UgcmVhbGxvYygpICovCisJCX0KKwkJZmwgJj0gfk1TX1JET05MWTsKKwkJbmV4dCArPSAyOworCQlpZiAoKm5leHQgPT0gJywnKQorCQkJbmV4dCsrOworCX0KKworCWlmIChuZXh0ICYmICpuZXh0KSB7CisJCS8qCisJCSAqIHNjYW4gQG9wdHN0ciBhbmQgcmVtb3ZlIG9wdGlvbnMgdGhhdCBhcmUgbWlzc2luZyBpbgorCQkgKiBAZmxhZ3MKKwkJICovCisJCXdoaWxlKCFtbnRfb3B0c3RyX25leHRfb3B0aW9uKCZuZXh0LCAmbmFtZSwgJm5hbWVzeiwKKwkJCQkJCQkmdmFsLCAmdmFsc3opKSB7CisJCQljb25zdCBzdHJ1Y3QgbGlibW50X29wdG1hcCAqZW50OworCisJCQlpZiAobW50X29wdG1hcF9nZXRfZW50cnkobWFwcywgMSwgbmFtZSwgbmFtZXN6LCAmZW50KSkgeworCQkJCS8qCisJCQkJICogcmVtb3ZlIHVud2FudGVkIG9wdGlvbiAocncvcm8gaXMgYWxyZWFkeSBzZXQpCisJCQkJICovCisJCQkJaWYgKCFlbnQgfHwgIWVudC0+aWQpCisJCQkJCWNvbnRpbnVlOworCQkJCS8qIGlnbm9yZSBuYW1lPTx2YWx1ZT4gaWYgb3B0aW9ucyBtYXAgZXhwZWN0cyA8bmFtZT4gb25seSAqLworCQkJCWlmICh2YWxzeiAmJiBtbnRfb3B0bWFwX2VudHJ5X25vdmFsdWUoZW50KSkKKwkJCQkJY29udGludWU7CisKKwkJCQlpZiAoZW50LT5pZCA9PSBNU19SRE9OTFkgfHwKKwkJCQkgICAgKGVudC0+bWFzayAmIE1OVF9JTlZFUlQpIHx8CisJCQkJICAgIChmbCAmIGVudC0+aWQpICE9ICh1bnNpZ25lZCBsb25nKSBlbnQtPmlkKSB7CisKKwkJCQkJY2hhciAqZW5kID0gdmFsID8gdmFsICsgdmFsc3ogOgorCQkJCQkJCSAgbmFtZSArIG5hbWVzejsKKwkJCQkJbmV4dCA9IG5hbWU7CisJCQkJCXJjID0gbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KAorCQkJCQkJCW9wdHN0ciwgbmFtZSwgZW5kKTsKKwkJCQkJaWYgKHJjKQorCQkJCQkJZ290byBlcnI7CisJCQkJfQorCQkJCWlmICghKGVudC0+bWFzayAmIE1OVF9JTlZFUlQpKSB7CisJCQkJCWZsICY9IH5lbnQtPmlkOworCQkJCQlpZiAoZW50LT5pZCAmIE1TX1JFQykKKwkJCQkJCWZsIHw9IE1TX1JFQzsKKwkJCQl9CisJCQl9CisJCX0KKwl9CisKKwkvKiBhZGQgbWlzc2luZyBvcHRpb25zIChidXQgaWdub3JlIGZsIGlmIGNvbnRhaW5zIE1TX1JFQyBvbmx5KSAqLworCWlmIChmbCAmJiBmbCAhPSBNU19SRUMpIHsKKwkJY29uc3Qgc3RydWN0IGxpYm1udF9vcHRtYXAgKmVudDsKKwkJY2hhciAqcDsKKworCQlmb3IgKGVudCA9IG1hcDsgZW50ICYmIGVudC0+bmFtZTsgZW50KyspIHsKKwkJCWlmICgoZW50LT5tYXNrICYgTU5UX0lOVkVSVCkKKwkJCSAgICB8fCBlbnQtPmlkID09IDAKKwkJCSAgICB8fCAoZmwgJiBlbnQtPmlkKSAhPSAodW5zaWduZWQgbG9uZykgZW50LT5pZCkKKwkJCQljb250aW51ZTsKKworCQkJLyogZG9uJ3QgYWRkIG9wdGlvbnMgd2hpY2ggcmVxdWlyZSB2YWx1ZXMgKGUuZy4gb2Zmc2V0PSVkKSAqLworCQkJcCA9IHN0cmNocihlbnQtPm5hbWUsICc9Jyk7CisJCQlpZiAocCkgeworCQkJCWlmIChwID4gZW50LT5uYW1lICYmICoocCAtIDEpID09ICdbJykKKwkJCQkJcC0tOwkJCS8qIG5hbWVbPV0gKi8KKwkJCQllbHNlCisJCQkJCWNvbnRpbnVlOwkJLyogbmFtZT0gKi8KKworCQkJCXAgPSBzdHJuZHVwKGVudC0+bmFtZSwgcCAtIGVudC0+bmFtZSk7CisJCQkJaWYgKCFwKSB7CisJCQkJCXJjID0gLUVOT01FTTsKKwkJCQkJZ290byBlcnI7CisJCQkJfQorCQkJCW1udF9vcHRzdHJfYXBwZW5kX29wdGlvbihvcHRzdHIsIHAsIE5VTEwpOworCQkJCWZyZWUocCk7CisJCQl9IGVsc2UKKwkJCQltbnRfb3B0c3RyX2FwcGVuZF9vcHRpb24ob3B0c3RyLCBlbnQtPm5hbWUsIE5VTEwpOworCQl9CisJfQorCisJREJHKENYVCwgdWxfZGVidWcoIm5ldyBvcHRzdHIgJyVzJyIsICpvcHRzdHIpKTsKKwlyZXR1cm4gcmM7CitlcnI6CisJREJHKENYVCwgdWxfZGVidWcoImZhaWxlZCB0byBhcHBseSBmbGFncyBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBAb3B0c3RyOiBzdHJpbmcgd2l0aCBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAdmFsdWU6IHBvaW50ZXIgdG8gdGhlIGJlZ2luIG9mIHRoZSBjb250ZXh0IHZhbHVlCisgKiBAdmFsc3o6IHNpemUgb2YgdGhlIHZhbHVlCisgKiBAbmV4dDogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBuZXh0IG9wdGlvbiAob3B0aW9uYWwgYXJndW1lbnQpCisgKgorICogVHJhbnNsYXRlcyBTRUxpbnV4IGNvbnRleHQgZnJvbSBodW1hbiB0byByYXcgZm9ybWF0LiBUaGUgZnVuY3Rpb24gZG9lcyBub3QKKyAqIG1vZGlmeSBAb3B0c3RyIGFuZCByZXR1cm5zIHplcm8gaWYgbGlibW91bnQgaXMgY29tcGlsZWQgd2l0aG91dCBTRUxpbnV4CisgKiBzdXBwb3J0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgYSBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworI2lmbmRlZiBIQVZFX0xJQlNFTElOVVgKK2ludCBtbnRfb3B0c3RyX2ZpeF9zZWNvbnRleHQoY2hhciAqKm9wdHN0ciBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpLAorCQkJICAgICBjaGFyICp2YWx1ZSAgIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSksCisJCQkgICAgIHNpemVfdCB2YWxzeiAgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSwKKwkJCSAgICAgY2hhciAqKm5leHQgICBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKQoreworCXJldHVybiAwOworfQorI2Vsc2UKK2ludCBtbnRfb3B0c3RyX2ZpeF9zZWNvbnRleHQoY2hhciAqKm9wdHN0ciwKKwkJCSAgICAgY2hhciAqdmFsdWUsCisJCQkgICAgIHNpemVfdCB2YWxzeiwKKwkJCSAgICAgY2hhciAqKm5leHQpCit7CisJaW50IHJjID0gMDsKKworCXNlY3VyaXR5X2NvbnRleHRfdCByYXcgPSBOVUxMOworCWNoYXIgKnAsICp2YWwsICpiZWdpbiwgKmVuZDsKKwlzaXplX3Qgc3o7CisKKwlpZiAoIW9wdHN0ciB8fCAhKm9wdHN0ciB8fCAhdmFsdWUgfHwgIXZhbHN6KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDWFQsIHVsX2RlYnVnKCJmaXhpbmcgU0VMaW51eCBjb250ZXh0IikpOworCisJYmVnaW4gPSB2YWx1ZTsKKwllbmQgPSB2YWx1ZSArIHZhbHN6OworCisJLyogdGhlIHNlbGludXggY29udGV4dHMgYXJlIHF1b3RlZCAqLworCWlmICgqdmFsdWUgPT0gJyInKSB7CisJCWlmICh2YWxzeiA8PSAyIHx8ICoodmFsdWUgKyB2YWxzeiAtIDEpICE9ICciJykKKwkJCXJldHVybiAtRUlOVkFMOwkJLyogaW1wcm9wZXJseSBxdW90ZWQgb3B0aW9uIHN0cmluZyAqLworCQl2YWx1ZSsrOworCQl2YWxzeiAtPSAyOworCX0KKworCXAgPSBzdHJuZHVwKHZhbHVlLCB2YWxzeik7CisJaWYgKCFwKQorCQlyZXR1cm4gLUVOT01FTTsKKworCisJLyogdHJhbnNsYXRlIHRoZSBjb250ZXh0ICovCisJcmMgPSBzZWxpbnV4X3RyYW5zX3RvX3Jhd19jb250ZXh0KChzZWN1cml0eV9jb250ZXh0X3QpIHAsICZyYXcpOworCisJREJHKENYVCwgdWxfZGVidWcoIlNFTGludXggY29udGV4dCAnJXMnIHRyYW5zbGF0ZWQgdG8gJyVzJyIsCisJCQlwLCByYyA9PSAtMSA/ICJGQUlMRUQiIDogKGNoYXIgKikgcmF3KSk7CisKKwlmcmVlKHApOworCWlmIChyYyA9PSAtMSB8fAkhcmF3KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCisJLyogY3JlYXRlIGEgcXVvdGVkIHN0cmluZyBmcm9tIHRoZSByYXcgY29udGV4dCAqLworCXN6ID0gc3RybGVuKChjaGFyICopIHJhdyk7CisJaWYgKCFzeikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwID0gdmFsID0gbWFsbG9jKHZhbHN6ICsgMyk7CisJaWYgKCF2YWwpCisJCXJldHVybiAtRU5PTUVNOworCisJKnArKyA9ICciJzsKKwltZW1jcHkocCwgcmF3LCBzeik7CisJcCArPSBzejsKKwkqcCsrID0gJyInOworCSpwID0gJ1wwJzsKKworCWZyZWVjb24ocmF3KTsKKworCS8qIHNldCBuZXcgY29udGV4dCAqLworCW1udF9vcHRzdHJfcmVtb3ZlX29wdGlvbl9hdChvcHRzdHIsIGJlZ2luLCBlbmQpOworCXJjID0gaW5zZXJ0X3ZhbHVlKG9wdHN0ciwgYmVnaW4sIHZhbCwgbmV4dCk7CisJZnJlZSh2YWwpOworCisJcmV0dXJuIHJjOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgc2V0X3VpbnRfdmFsdWUoY2hhciAqKm9wdHN0ciwgdW5zaWduZWQgaW50IG51bSwKKwkJCWNoYXIgKmJlZ2luLCBjaGFyICplbmQsIGNoYXIgKipuZXh0KQoreworCWNoYXIgYnVmWzQwXTsKKwlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXUiLCBudW0pOworCisJbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uX2F0KG9wdHN0ciwgYmVnaW4sIGVuZCk7CisJcmV0dXJuIGluc2VydF92YWx1ZShvcHRzdHIsIGJlZ2luLCBidWYsIG5leHQpOworfQorCisvKgorICogQG9wdHN0cjogc3RyaW5nIHdpdGggYSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBvcHRpb25zCisgKiBAdmFsdWU6IHBvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUgdWlkIHZhbHVlCisgKiBAdmFsc3o6IHNpemUgb2YgdGhlIHZhbHVlCisgKiBAbmV4dDogcmV0dXJucyBwb2ludGVyIHRvIHRoZSBuZXh0IG9wdGlvbiAob3B0aW9uYWwgYXJndW1lbnQpCisKKyAqIFRyYW5zbGF0ZXMgInVzZXJuYW1lIiBvciAidXNlcnVpZCIgdG8gdGhlIHJlYWwgVUlELgorICoKKyAqIEZvciBleGFtcGxlOgorICoJaWYgKCFtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0c3RyLCAidWlkIiwgJnZhbCwgJnZhbHN6KSkKKyAqCQltbnRfb3B0c3RyX2ZpeF91aWQoJm9wdHN0ciwgdmFsLCB2YWxzeiwgTlVMTCk7CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9maXhfdWlkKGNoYXIgKipvcHRzdHIsIGNoYXIgKnZhbHVlLCBzaXplX3QgdmFsc3osIGNoYXIgKipuZXh0KQoreworCWNoYXIgKmVuZDsKKworCWlmICghb3B0c3RyIHx8ICEqb3B0c3RyIHx8ICF2YWx1ZSB8fCAhdmFsc3opCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWcoImZpeGluZyB1aWQiKSk7CisKKwllbmQgPSB2YWx1ZSArIHZhbHN6OworCisJaWYgKHZhbHN6ID09IDcgJiYgIXN0cm5jbXAodmFsdWUsICJ1c2VydWlkIiwgNykgJiYKKwkgICAgKCoodmFsdWUgKyA3KSA9PSAnLCcgfHwgISoodmFsdWUgKyA3KSkpCisJCXJldHVybiBzZXRfdWludF92YWx1ZShvcHRzdHIsIGdldHVpZCgpLCB2YWx1ZSwgZW5kLCBuZXh0KTsKKworCWVsc2UgaWYgKCFpc2RpZ2l0KCp2YWx1ZSkpIHsKKwkJdWlkX3QgaWQ7CisJCWludCByYzsKKwkJY2hhciAqcCA9IHN0cm5kdXAodmFsdWUsIHZhbHN6KTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJjID0gbW50X2dldF91aWQocCwgJmlkKTsKKwkJZnJlZShwKTsKKworCQlpZiAoIXJjKQorCQkJcmV0dXJuIHNldF91aW50X3ZhbHVlKG9wdHN0ciwgaWQsIHZhbHVlLCBlbmQsIG5leHQpOworCX0KKworCWlmIChuZXh0KSB7CisJCS8qIG5vIGNoYW5nZSwgbGV0J3Mga2VlcCB0aGUgb3JpZ2luYWwgdmFsdWUgKi8KKwkJKm5leHQgPSB2YWx1ZSArIHZhbHN6OworCQlpZiAoKipuZXh0ID09ICcsJykKKwkJCSgqbmV4dCkrKzsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIEBvcHRzdHI6IHN0cmluZyB3aXRoIGEgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2Ygb3B0aW9ucworICogQHZhbHVlOiBwb2ludGVyIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHVpZCB2YWx1ZQorICogQHZhbHN6OiBzaXplIG9mIHRoZSB2YWx1ZQorICogQG5leHQ6IHJldHVybnMgcG9pbnRlciB0byB0aGUgbmV4dCBvcHRpb24gKG9wdGlvbmFsIGFyZ3VtZW50KQorCisgKiBUcmFuc2xhdGVzICJncm91cG5hbWUiIG9yICJ1c2VyZ2lkIiB0byB0aGUgcmVhbCBHSUQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9maXhfZ2lkKGNoYXIgKipvcHRzdHIsIGNoYXIgKnZhbHVlLCBzaXplX3QgdmFsc3osIGNoYXIgKipuZXh0KQoreworCWNoYXIgKmVuZDsKKworCWlmICghb3B0c3RyIHx8ICEqb3B0c3RyIHx8ICF2YWx1ZSB8fCAhdmFsc3opCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKENYVCwgdWxfZGVidWcoImZpeGluZyBnaWQiKSk7CisKKwllbmQgPSB2YWx1ZSArIHZhbHN6OworCisJaWYgKHZhbHN6ID09IDcgJiYgIXN0cm5jbXAodmFsdWUsICJ1c2VyZ2lkIiwgNykgJiYKKwkgICAgKCoodmFsdWUgKyA3KSA9PSAnLCcgfHwgISoodmFsdWUgKyA3KSkpCisJCXJldHVybiBzZXRfdWludF92YWx1ZShvcHRzdHIsIGdldGdpZCgpLCB2YWx1ZSwgZW5kLCBuZXh0KTsKKworCWVsc2UgaWYgKCFpc2RpZ2l0KCp2YWx1ZSkpIHsKKwkJaW50IHJjOworCQlnaWRfdCBpZDsKKwkJY2hhciAqcCA9IHN0cm5kdXAodmFsdWUsIHZhbHN6KTsKKwkJaWYgKCFwKQorCQkJcmV0dXJuIC1FTk9NRU07CisJCXJjID0gbW50X2dldF9naWQocCwgJmlkKTsKKwkJZnJlZShwKTsKKworCQlpZiAoIXJjKQorCQkJcmV0dXJuIHNldF91aW50X3ZhbHVlKG9wdHN0ciwgaWQsIHZhbHVlLCBlbmQsIG5leHQpOworCisJfQorCisJaWYgKG5leHQpIHsKKwkJLyogbm90aGluZyAqLworCQkqbmV4dCA9IHZhbHVlICsgdmFsc3o7CisJCWlmICgqKm5leHQgPT0gJywnKQorCQkJKCpuZXh0KSsrOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENvbnZlcnRzICJ1c2VyIiB0byAidXNlcj08dXNlcm5hbWU+Ii4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X29wdHN0cl9maXhfdXNlcihjaGFyICoqb3B0c3RyKQoreworCWNoYXIgKnVzZXJuYW1lOworCXN0cnVjdCBsaWJtbnRfb3B0bG9jIG9sOworCWludCByYyA9IDA7CisKKwlEQkcoQ1hULCB1bF9kZWJ1ZygiZml4aW5nIHVzZXIiKSk7CisKKwltbnRfaW5pdF9vcHRsb2MoJm9sKTsKKworCXJjID0gbW50X29wdHN0cl9sb2NhdGVfb3B0aW9uKCpvcHRzdHIsICJ1c2VyIiwgJm9sKTsKKwlpZiAocmMpCisJCXJldHVybiByYyA9PSAxID8gMCA6IHJjOwkvKiAxOiB1c2VyPSBub3QgZm91bmQgKi8KKworCXVzZXJuYW1lID0gbW50X2dldF91c2VybmFtZShnZXR1aWQoKSk7CisJaWYgKCF1c2VybmFtZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoIW9sLnZhbHN6IHx8IChvbC52YWx1ZSAmJiBzdHJuY21wKG9sLnZhbHVlLCB1c2VybmFtZSwgb2wudmFsc3opKSkgeworCQlpZiAob2wudmFsc3opCisJCQkvKiByZW1vdmUgb2xkIHZhbHVlICovCisJCQltbnRfb3B0c3RyX3JlbW92ZV9vcHRpb25fYXQob3B0c3RyLCBvbC52YWx1ZSwgb2wuZW5kKTsKKworCQlyYyA9IGluc2VydF92YWx1ZShvcHRzdHIsIG9sLnZhbHVlID8gb2wudmFsdWUgOiBvbC5lbmQsCisJCQkJICB1c2VybmFtZSwgTlVMTCk7CisJfQorCisJZnJlZSh1c2VybmFtZSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF9tYXRjaF9vcHRpb25zOgorICogQG9wdHN0cjogb3B0aW9ucyBzdHJpbmcKKyAqIEBwYXR0ZXJuOiBjb21tYSBkZWxpbWl0ZWQgbGlzdCBvZiBvcHRpb25zCisgKgorICogVGhlICJubyIgY291bGQgYmUgdXNlZCBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiB0aGUgQG9wdGlvbnMgbGlzdC4gVGhlICJubyIKKyAqIHByZWZpeCBkb2VzIG5vdCBoYXZlIGEgZ2xvYmFsIG1lYW5pbmcuCisgKgorICogVW5saWtlIGZzIHR5cGUgbWF0Y2hpbmcsIG5vbmV0ZGV2LHVzZXIgYW5kIG5vbmV0ZGV2LG5vdXNlciBoYXZlCisgKiBESUZGRVJFTlQgbWVhbmluZ3M7IGVhY2ggb3B0aW9uIGlzIG1hdGNoZWQgZXhwbGljaXRseSBhcyBzcGVjaWZpZWQuCisgKgorICogVGhlICJubyIgcHJlZml4IGludGVycHJldGF0aW9uIGNvdWxkIGJlIGRpc2FibGVkIGJ5IHRoZSAiKyIgcHJlZml4LCBmb3IgZXhhbXBsZQorICogIitub2F1dG8iIG1hdGNoZXMgaWYgQG9wdHN0ciBsaXRlcmFsbHkgY29udGFpbnMgdGhlICJub2F1dG8iIHN0cmluZy4KKyAqCisgKiAieHh4LHl5eSx6enoiIDogIm5venp6IgktPiBGYWxzZQorICoKKyAqICJ4eHgseXl5LHp6eiIgOiAieHh4LG5vZWVlIgktPiBUcnVlCisgKgorICogImJhcix6enoiICAgICA6ICJub2ZvbyIgICAgICAtPiBUcnVlCQkoZG9lcyBub3QgY29udGFpbiAiZm9vIikKKyAqCisgKiAibm9mb28sYmFyIiAgIDogIm5vZm9vIiAgICAgIC0+IFRydWUJCShkb2VzIG5vdCBjb250YWluICJmb28iKQorICoKKyAqICJub2ZvbyxiYXIiICAgOiAiK25vZm9vIiAgICAgLT4gVHJ1ZQkJKGNvbnRhaW5zICJub2ZvbyIpCisgKgorICogImJhcix6enoiICAgICA6ICIrbm9mb28iICAgICAtPiBGYWxzZQkoZG9lcyBub3QgY29udGFpbiAibm9mb28iKQorICoKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHBhdHRlcm4gaXMgbWF0Y2hpbmcsIGVsc2UgMC4gVGhpcyBmdW5jdGlvbiBhbHNvIHJldHVybnMgMAorICogICAgICAgICAgaWYgQHBhdHRlcm4gaXMgTlVMTCBhbmQgQG9wdHN0ciBpcyBub24tTlVMTC4KKyAqLworaW50IG1udF9tYXRjaF9vcHRpb25zKGNvbnN0IGNoYXIgKm9wdHN0ciwgY29uc3QgY2hhciAqcGF0dGVybikKK3sKKwljaGFyICpuYW1lLCAqcGF0ID0gKGNoYXIgKikgcGF0dGVybjsKKwljaGFyICpidWYsICpwYXR2YWw7CisJc2l6ZV90IG5hbWVzeiA9IDAsIHBhdHZhbHN6ID0gMDsKKwlpbnQgbWF0Y2ggPSAxOworCisJaWYgKCFwYXR0ZXJuICYmICFvcHRzdHIpCisJCXJldHVybiAxOworCWlmICghcGF0dGVybikKKwkJcmV0dXJuIDA7CisKKwlidWYgPSBtYWxsb2Moc3RybGVuKHBhdHRlcm4pICsgMSk7CisJaWYgKCFidWYpCisJCXJldHVybiAwOworCisJLyogd2FsayBvbiBwYXR0ZXJuIHN0cmluZworCSAqLworCXdoaWxlIChtYXRjaCAmJiAhbW50X29wdHN0cl9uZXh0X29wdGlvbigmcGF0LCAmbmFtZSwgJm5hbWVzeiwKKwkJCQkJCSZwYXR2YWwsICZwYXR2YWxzeikpIHsKKwkJY2hhciAqdmFsOworCQlzaXplX3Qgc3o7CisJCWludCBubyA9IDAsIHJjOworCisJCWlmICgqbmFtZSA9PSAnKycpCisJCQluYW1lKyssIG5hbWVzei0tOworCQllbHNlIGlmICgobm8gPSAoc3RhcnRzd2l0aChuYW1lLCAibm8iKSAhPSBOVUxMKSkpCisJCQluYW1lICs9IDIsIG5hbWVzeiAtPSAyOworCisJCXhzdHJuY3B5KGJ1ZiwgbmFtZSwgbmFtZXN6ICsgMSk7CisKKwkJcmMgPSBtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0c3RyLCBidWYsICZ2YWwsICZzeik7CisKKwkJLyogY2hlY2sgYWxzbyB2YWx1ZSAoaWYgdGhlIHBhdHRlcm4gaXMgImZvbz12YWx1ZSIpICovCisJCWlmIChyYyA9PSAwICYmIHBhdHZhbHN6ID4gMCAmJgorCQkgICAgKHBhdHZhbHN6ICE9IHN6IHx8IHN0cm5jbXAocGF0dmFsLCB2YWwsIHN6KSAhPSAwKSkKKwkJCXJjID0gMTsKKworCQlzd2l0Y2ggKHJjKSB7CisJCWNhc2UgMDoJCS8qIGZvdW5kICovCisJCQltYXRjaCA9IG5vID09IDAgPyAxIDogMDsKKwkJCWJyZWFrOworCQljYXNlIDE6CQkvKiBub3QgZm91bmQgKi8KKwkJCW1hdGNoID0gbm8gPT0gMSA/IDEgOiAwOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CS8qIHBhcnNlIGVycm9yICovCisJCQltYXRjaCA9IDA7CisJCQlicmVhazsKKwkJfQorCisJfQorCisJZnJlZShidWYpOworCXJldHVybiBtYXRjaDsKK30KKworI2lmZGVmIFRFU1RfUFJPR1JBTQorCitzdGF0aWMgaW50IHRlc3RfYXBwZW5kKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqdmFsdWUgPSBOVUxMLCAqbmFtZTsKKwljaGFyICpvcHRzdHI7CisJaW50IHJjOworCisJaWYgKGFyZ2MgPCAzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlvcHRzdHIgPSBzdHJkdXAoYXJndlsxXSk7CisJbmFtZSA9IGFyZ3ZbMl07CisKKwlpZiAoYXJnYyA9PSA0KQorCQl2YWx1ZSA9IGFyZ3ZbM107CisKKwlyYyA9IG1udF9vcHRzdHJfYXBwZW5kX29wdGlvbigmb3B0c3RyLCBuYW1lLCB2YWx1ZSk7CisJaWYgKCFyYykKKwkJcHJpbnRmKCJyZXN1bHQ6ID4lczxcbiIsIG9wdHN0cik7CisJZnJlZShvcHRzdHIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X3ByZXBlbmQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICp2YWx1ZSA9IE5VTEwsICpuYW1lOworCWNoYXIgKm9wdHN0cjsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYyA8IDMpCisJCXJldHVybiAtRUlOVkFMOworCW9wdHN0ciA9IHN0cmR1cChhcmd2WzFdKTsKKwluYW1lID0gYXJndlsyXTsKKworCWlmIChhcmdjID09IDQpCisJCXZhbHVlID0gYXJndlszXTsKKworCXJjID0gbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbigmb3B0c3RyLCBuYW1lLCB2YWx1ZSk7CisJaWYgKCFyYykKKwkJcHJpbnRmKCJyZXN1bHQ6ID4lczxcbiIsIG9wdHN0cik7CisJZnJlZShvcHRzdHIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X3NwbGl0KHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqb3B0c3RyLCAqdXNlciA9IE5VTEwsICpmcyA9IE5VTEwsICp2ZnMgPSBOVUxMOworCWludCByYzsKKworCWlmIChhcmdjIDwgMikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlvcHRzdHIgPSBzdHJkdXAoYXJndlsxXSk7CisKKwlyYyA9IG1udF9zcGxpdF9vcHRzdHIob3B0c3RyLCAmdXNlciwgJnZmcywgJmZzLCAwLCAwKTsKKwlpZiAoIXJjKSB7CisJCXByaW50ZigidXNlciA6ICVzXG4iLCB1c2VyKTsKKwkJcHJpbnRmKCJ2ZnMgIDogJXNcbiIsIHZmcyk7CisJCXByaW50ZigiZnMgICA6ICVzXG4iLCBmcyk7CisJfQorCisJZnJlZSh1c2VyKTsKKwlmcmVlKHZmcyk7CisJZnJlZShmcyk7CisJZnJlZShvcHRzdHIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X2ZsYWdzKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqb3B0c3RyOworCWludCByYzsKKwl1bnNpZ25lZCBsb25nIGZsID0gMDsKKworCWlmIChhcmdjIDwgMikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlvcHRzdHIgPSBzdHJkdXAoYXJndlsxXSk7CisKKwlyYyA9IG1udF9vcHRzdHJfZ2V0X2ZsYWdzKG9wdHN0ciwgJmZsLCBtbnRfZ2V0X2J1aWx0aW5fb3B0bWFwKE1OVF9MSU5VWF9NQVApKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKwlwcmludGYoIm1vdW50ZmxhZ3M6ICAgICAgICAgICAweCUwOGx4XG4iLCBmbCk7CisKKwlmbCA9IDA7CisJcmMgPSBtbnRfb3B0c3RyX2dldF9mbGFncyhvcHRzdHIsICZmbCwgbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfVVNFUlNQQUNFX01BUCkpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCXByaW50ZigidXNlcnNwYWNlLW1vdW50ZmxhZ3M6IDB4JTA4bHhcbiIsIGZsKTsKKworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9hcHBseShzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKm9wdHN0cjsKKwlpbnQgcmMsIG1hcDsKKwl1bnNpZ25lZCBsb25nIGZsYWdzOworCisJaWYgKGFyZ2MgPCA0KQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmICghc3RyY21wKGFyZ3ZbMV0sICItLXVzZXIiKSkKKwkJbWFwID0gTU5UX1VTRVJTUEFDRV9NQVA7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS1saW51eCIpKQorCQltYXAgPSBNTlRfTElOVVhfTUFQOworCWVsc2UgeworCQlmcHJpbnRmKHN0ZGVyciwgInVua25vd24gb3B0aW9uICclcydcbiIsIGFyZ3ZbMV0pOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlvcHRzdHIgPSBzdHJkdXAoYXJndlsyXSk7CisJZmxhZ3MgPSBzdHJ0b3VsKGFyZ3ZbM10sIE5VTEwsIDE2KTsKKworCXByaW50ZigiZmxhZ3M6ICAweCUwOGx4XG4iLCBmbGFncyk7CisKKwlyYyA9IG1udF9vcHRzdHJfYXBwbHlfZmxhZ3MoJm9wdHN0ciwgZmxhZ3MsIG1udF9nZXRfYnVpbHRpbl9vcHRtYXAobWFwKSk7CisJcHJpbnRmKCJvcHRzdHI6ICVzXG4iLCBvcHRzdHIpOworCisJZnJlZShvcHRzdHIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X3NldChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKnZhbHVlID0gTlVMTCwgKm5hbWU7CisJY2hhciAqb3B0c3RyOworCWludCByYzsKKworCWlmIChhcmdjIDwgMykKKwkJcmV0dXJuIC1FSU5WQUw7CisJb3B0c3RyID0gc3RyZHVwKGFyZ3ZbMV0pOworCW5hbWUgPSBhcmd2WzJdOworCisJaWYgKGFyZ2MgPT0gNCkKKwkJdmFsdWUgPSBhcmd2WzNdOworCisJcmMgPSBtbnRfb3B0c3RyX3NldF9vcHRpb24oJm9wdHN0ciwgbmFtZSwgdmFsdWUpOworCWlmICghcmMpCisJCXByaW50ZigicmVzdWx0OiA+JXM8XG4iLCBvcHRzdHIpOworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9nZXQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpvcHRzdHI7CisJY29uc3QgY2hhciAqbmFtZTsKKwljaGFyICp2YWwgPSBOVUxMOworCXNpemVfdCBzeiA9IDA7CisJaW50IHJjOworCisJaWYgKGFyZ2MgPCAyKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlvcHRzdHIgPSBhcmd2WzFdOworCW5hbWUgPSBhcmd2WzJdOworCisJcmMgPSBtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0c3RyLCBuYW1lLCAmdmFsLCAmc3opOworCWlmIChyYyA9PSAwKSB7CisJCXByaW50ZigiZm91bmQ7IG5hbWU6ICVzIiwgbmFtZSk7CisJCWlmIChzeikgeworCQkJcHJpbnRmKCIsIGFyZ3VtZW50OiBzaXplPSV6ZCBkYXRhPSIsIHN6KTsKKwkJCWlmIChmd3JpdGUodmFsLCAxLCBzeiwgc3Rkb3V0KSAhPSBzeikKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwkJcHJpbnRmKCJcbiIpOworCX0gZWxzZSBpZiAocmMgPT0gMSkKKwkJcHJpbnRmKCIlczogbm90IGZvdW5kXG4iLCBuYW1lKTsKKwllbHNlCisJCXByaW50ZigicGFyc2UgZXJyb3I6ICVzXG4iLCBvcHRzdHIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X3JlbW92ZShzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNvbnN0IGNoYXIgKm5hbWU7CisJY2hhciAqb3B0c3RyOworCWludCByYzsKKworCWlmIChhcmdjIDwgMykKKwkJcmV0dXJuIC1FSU5WQUw7CisJb3B0c3RyID0gc3RyZHVwKGFyZ3ZbMV0pOworCW5hbWUgPSBhcmd2WzJdOworCisJcmMgPSBtbnRfb3B0c3RyX3JlbW92ZV9vcHRpb24oJm9wdHN0ciwgbmFtZSk7CisJaWYgKCFyYykKKwkJcHJpbnRmKCJyZXN1bHQ6ID4lczxcbiIsIG9wdHN0cik7CisJZnJlZShvcHRzdHIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X2RlZHVwKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqbmFtZTsKKwljaGFyICpvcHRzdHI7CisJaW50IHJjOworCisJaWYgKGFyZ2MgPCAzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlvcHRzdHIgPSBzdHJkdXAoYXJndlsxXSk7CisJbmFtZSA9IGFyZ3ZbMl07CisKKwlyYyA9IG1udF9vcHRzdHJfZGVkdXBsaWNhdGVfb3B0aW9uKCZvcHRzdHIsIG5hbWUpOworCWlmICghcmMpCisJCXByaW50ZigicmVzdWx0OiA+JXM8XG4iLCBvcHRzdHIpOworCWZyZWUob3B0c3RyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9maXgoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpvcHRzdHI7CisJaW50IHJjID0gMDsKKwljaGFyICpuYW1lLCAqdmFsLCAqbmV4dDsKKwlzaXplX3QgdmFsc3osIG5hbWVzejsKKworCWlmIChhcmdjIDwgMikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwluZXh0ID0gb3B0c3RyID0gc3RyZHVwKGFyZ3ZbMV0pOworCisJcHJpbnRmKCJvcHRzdHI6ICVzXG4iLCBvcHRzdHIpOworCisJd2hpbGUgKCFtbnRfb3B0c3RyX25leHRfb3B0aW9uKCZuZXh0LCAmbmFtZSwgJm5hbWVzeiwgJnZhbCwgJnZhbHN6KSkgeworCisJCWlmICghc3RybmNtcChuYW1lLCAidWlkIiwgMykpCisJCQlyYyA9IG1udF9vcHRzdHJfZml4X3VpZCgmb3B0c3RyLCB2YWwsIHZhbHN6LCAmbmV4dCk7CisJCWVsc2UgaWYgKCFzdHJuY21wKG5hbWUsICJnaWQiLCAzKSkKKwkJCXJjID0gbW50X29wdHN0cl9maXhfZ2lkKCZvcHRzdHIsIHZhbCwgdmFsc3osICZuZXh0KTsKKwkJZWxzZSBpZiAoIXN0cm5jbXAobmFtZSwgImNvbnRleHQiLCA3KSkKKwkJCXJjID0gbW50X29wdHN0cl9maXhfc2Vjb250ZXh0KCZvcHRzdHIsIHZhbCwgdmFsc3osICZuZXh0KTsKKwkJaWYgKHJjKQorCQkJYnJlYWs7CisJfQorCWlmIChyYykKKwkJcmMgPSBtbnRfb3B0c3RyX2ZpeF91c2VyKCZvcHRzdHIpOworCisJcHJpbnRmKCJmaXhlZDogICVzXG4iLCBvcHRzdHIpOworCisJZnJlZShvcHRzdHIpOworCXJldHVybiByYzsKKworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c3NbXSA9IHsKKwkJeyAiLS1hcHBlbmQiLCB0ZXN0X2FwcGVuZCwgIjxvcHRzdHI+IDxuYW1lPiBbPHZhbHVlPl0gIGFwcGVuZCB2YWx1ZSB0byBvcHRzdHIiIH0sCisJCXsgIi0tcHJlcGVuZCIsdGVzdF9wcmVwZW5kLCI8b3B0c3RyPiA8bmFtZT4gWzx2YWx1ZT5dICBwcmVwZW5kIHZhbHVlIHRvIG9wdHN0ciIgfSwKKwkJeyAiLS1zZXQiLCAgICB0ZXN0X3NldCwgICAgIjxvcHRzdHI+IDxuYW1lPiBbPHZhbHVlPl0gICh1bilzZXQgdmFsdWUiIH0sCisJCXsgIi0tZ2V0IiwgICAgdGVzdF9nZXQsICAgICI8b3B0c3RyPiA8bmFtZT4gICAgICAgICAgICBzZWFyY2ggbmFtZSBpbiBvcHRzdHIiIH0sCisJCXsgIi0tcmVtb3ZlIiwgdGVzdF9yZW1vdmUsICI8b3B0c3RyPiA8bmFtZT4gICAgICAgICAgICByZW1vdmUgbmFtZSBpbiBvcHRzdHIiIH0sCisJCXsgIi0tZGVkdXAiLCAgdGVzdF9kZWR1cCwgICI8b3B0c3RyPiA8bmFtZT4gICAgICAgICAgICBkZWR1cGxpY2F0ZSBuYW1lIGluIG9wdHN0ciIgfSwKKwkJeyAiLS1zcGxpdCIsICB0ZXN0X3NwbGl0LCAgIjxvcHRzdHI+ICAgICAgICAgICAgICAgICAgIHNwbGl0IGludG8gRlMsIFZGUyBhbmQgdXNlcnNwYWNlIiB9LAorCQl7ICItLWZsYWdzIiwgIHRlc3RfZmxhZ3MsICAiPG9wdHN0cj4gICAgICAgICAgICAgICAgICAgY29udmVydCBvcHRpb25zIHRvIE1TXyogZmxhZ3MiIH0sCisJCXsgIi0tYXBwbHkiLCAgdGVzdF9hcHBseSwgICItLXtsaW51eCx1c2VyfSA8b3B0c3RyPiA8bWFzaz4gICAgYXBwbHkgbWFzayB0byBvcHRzdHIiIH0sCisJCXsgIi0tZml4IiwgICAgdGVzdF9maXgsICAgICI8b3B0c3RyPiAgICAgICAgICAgICAgICAgICBmaXggdWlkPSwgZ2lkPSwgdXNlciwgYW5kIGNvbnRleHQ9IiB9LAorCisJCXsgTlVMTCB9CisJfTsKKwlyZXR1cm4gIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorI2VuZGlmIC8qIFRFU1RfUFJPR1JBTSAqLwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL3RhYi5jIGIvbGlibW91bnQvc3JjL3RhYi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViNjFkZDMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvdGFiLmMKQEAgLTAsMCArMSwxOTk3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA4LTIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IHRhYmxlCisgKiBAdGl0bGU6IFRhYmxlIG9mIGZpbGVzeXN0ZW1zCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNvbnRhaW5lciBmb3IgZW50cmllcyBmcm9tIGZzdGFiLCBtdGFiIG9yIG1vdW50aW5mbworICoKKyAqIE5vdGUgdGhhdCBtbnRfdGFibGVfZmluZF8qIGZ1bmN0aW9ucyBhcmUgbW91bnQoOCkgY29tcGF0aWJsZS4gVGhlc2UgZnVuY3Rpb25zCisgKiB0cnkgdG8gZmluZCBhbiBlbnRyeSBpbiBtb3JlIGl0ZXJhdGlvbnMsIHdoZXJlIHRoZSBmaXJzdCBhdHRlbXB0IGlzIGFsd2F5cworICogYmFzZWQgb24gY29tcGFyaXNvbiB3aXRoIHVubW9kaWZpZWQgKG5vbi1jYW5vbmljYWxpemVkIG9yIHVuLWV2YWx1YXRlZCkKKyAqIHBhdGhzIG9yIHRhZ3MuIEZvciBleGFtcGxlIGEgZnN0YWIgd2l0aCB0d28gZW50cmllczoKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCUxBQkVMPWZvbwkvZm9vCWF1dG8gICBydworICoJL2Rldi9mb28JL2ZvbwlhdXRvICAgcncKKyAqICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogd2hlcmUgYm90aCBsaW5lcyBhcmUgdXNlZCBmb3IgdGhlICpzYW1lKiBkZXZpY2UsIHRoZW4KKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgPHByb2dyYW1saXN0aW5nPgorICoJbW50X3RhYmxlX2ZpbmRfc291cmNlKHRiLCAiL2Rldi9mb28iLCAmZnMpOworICogIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqIHdpbGwgcmV0dXJucyB0aGUgc2Vjb25kIGxpbmUsIGFuZAorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICA8cHJvZ3JhbWxpc3Rpbmc+CisgKgltbnRfdGFibGVfZmluZF9zb3VyY2UodGIsICJMQUJFTD1mb28iLCAmZnMpOworICogIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqIHdpbGwgcmV0dXJucyB0aGUgZmlyc3QgZW50cnksIGFuZAorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICA8cHJvZ3JhbWxpc3Rpbmc+CisgKgltbnRfdGFibGVfZmluZF9zb3VyY2UodGIsICJVVUlEPWFueXV1aWQiLCAmZnMpOworICogIDwvcHJvZ3JhbWxpc3Rpbmc+CisgKiA8L2luZm9ybWFsZXhhbXBsZT4KKyAqIHdpbGwgcmV0dXJuIHRoZSBmaXJzdCBlbnRyeSAoaWYgVVVJRCBtYXRjaGVzIHdpdGggdGhlIGRldmljZSkuCisgKi8KKyNpbmNsdWRlIDxibGtpZC5oPgorCisjaW5jbHVkZSAibW91bnRQLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJsb29wZGV2LmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisKK2ludCBpc19tb3VudGluZm8oc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gMDsKKworCWZzID0gbGlzdF9maXJzdF9lbnRyeSgmdGItPmVudHMsIHN0cnVjdCBsaWJtbnRfZnMsIGVudHMpOworCWlmIChmcyAmJiBtbnRfZnNfaXNfa2VybmVsKGZzKSAmJiBtbnRfZnNfZ2V0X3Jvb3QoZnMpKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9uZXdfdGFibGU6CisgKgorICogVGhlIHRhYiBpcyBhIGNvbnRhaW5lciBmb3Igc3RydWN0IGxpYm1udF9mcyBlbnRyaWVzIHRoYXQgdXN1YWxseSByZXByZXNlbnRzIGEgZnN0YWIsCisgKiBtdGFiIG9yIG1vdW50aW5mbyBmaWxlIGZyb20geW91ciBzeXN0ZW0uCisgKgorICogU2VlIGFsc28gbW50X3RhYmxlX3BhcnNlX2ZpbGUoKS4KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgdGFiIHN0cnVjdC4KKyAqLworc3RydWN0IGxpYm1udF90YWJsZSAqbW50X25ld190YWJsZSh2b2lkKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiID0gTlVMTDsKKworCXRiID0gY2FsbG9jKDEsIHNpemVvZigqdGIpKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYWxsb2MiKSk7CisJdGItPnJlZmNvdW50ID0gMTsKKwlJTklUX0xJU1RfSEVBRCgmdGItPmVudHMpOworCXJldHVybiB0YjsKK30KKworLyoqCisgKiBtbnRfcmVzZXRfdGFibGU6CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKgorICogUmVtb3ZlcyBhbGwgZW50cmllcyAoZmlsZXN5c3RlbXMpIGZyb20gdGhlIHRhYmxlLiBUaGUgZmlsZXN5c3RlbXMgd2l0aCB6ZXJvCisgKiByZWZlcmVuY2UgY291bnQgd2lsbCBiZSBkZWFsbG9jYXRlZC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfcmVzZXRfdGFibGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInJlc2V0IikpOworCisJd2hpbGUgKCFsaXN0X2VtcHR5KCZ0Yi0+ZW50cykpIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBsaXN0X2VudHJ5KHRiLT5lbnRzLm5leHQsCisJCQkJICAgICAgICAgICAgICAgICAgc3RydWN0IGxpYm1udF9mcywgZW50cyk7CisJCW1udF90YWJsZV9yZW1vdmVfZnModGIsIGZzKTsKKwl9CisKKwl0Yi0+bmVudHMgPSAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF9yZWZfdGFibGU6CisgKiBAdGI6IHRhYmxlIHBvaW50ZXIKKyAqCisgKiBJbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLgorICovCit2b2lkIG1udF9yZWZfdGFibGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJaWYgKHRiKSB7CisJCXRiLT5yZWZjb3VudCsrOworCQkvKkRCRyhGUywgdWxfZGVidWdvYmoodGIsICJyZWY9JWQiLCB0Yi0+cmVmY291bnQpKTsqLworCX0KK30KKworLyoqCisgKiBtbnRfdW5yZWZfdGFibGU6CisgKiBAdGI6IHRhYmxlIHBvaW50ZXIKKyAqCisgKiBEZS1pbmNyZW1lbnRzIHJlZmVyZW5jZSBjb3VudGVyLCBvbiB6ZXJvIHRoZSBAdGIgaXMgYXV0b21hdGljYWxseQorICogZGVhbGxvY2F0ZWQgYnkgbW50X2ZyZWVfdGFibGUoKS4KKyAqLwordm9pZCBtbnRfdW5yZWZfdGFibGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJaWYgKHRiKSB7CisJCXRiLT5yZWZjb3VudC0tOworCQkvKkRCRyhGUywgdWxfZGVidWdvYmoodGIsICJ1bnJlZj0lZCIsIHRiLT5yZWZjb3VudCkpOyovCisJCWlmICh0Yi0+cmVmY291bnQgPD0gMCkKKwkJCW1udF9mcmVlX3RhYmxlKHRiKTsKKwl9Cit9CisKKworLyoqCisgKiBtbnRfZnJlZV90YWJsZToKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqCisgKiBEZWFsbG9jYXRlcyB0aGUgdGFibGUuIFRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY2FyZSBhYm91dCByZWZlcmVuY2UgY291bnQuIERvbid0CisgKiB1c2UgdGhpcyBmdW5jdGlvbiBkaXJlY3RseSAtLSBpdCdzIGJldHRlciB0byB1c2UgbW50X3VucmVmX3RhYmxlKCkuCisgKgorICogVGhlIHRhYmxlIGVudHJpZXMgKGZpbGVzeXN0ZW1zKSBhcmUgdW5yZWZlcmVuY2VkIGJ5IG1udF9yZXNldF90YWJsZSgpIGFuZAorICogY2FjaGUgYnkgbW50X3VucmVmX2NhY2hlKCkuCisgKi8KK3ZvaWQgbW50X2ZyZWVfdGFibGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuOworCisJbW50X3Jlc2V0X3RhYmxlKHRiKTsKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImZyZWUgW3JlZmNvdW50PSVkXSIsIHRiLT5yZWZjb3VudCkpOworCisJbW50X3VucmVmX2NhY2hlKHRiLT5jYWNoZSk7CisJZnJlZSh0Yi0+Y29tbV9pbnRybyk7CisJZnJlZSh0Yi0+Y29tbV90YWlsKTsKKwlmcmVlKHRiKTsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZ2V0X25lbnRzOgorICogQHRiOiBwb2ludGVyIHRvIHRhYgorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBlbnRyaWVzIGluIHRhYmxlLgorICovCitpbnQgbW50X3RhYmxlX2dldF9uZW50cyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGIgPyB0Yi0+bmVudHMgOiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV9pc19lbXB0eToKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHRoZSB0YWJsZSBpcyB3aXRob3V0IGZpbGVzeXN0ZW1zLCBvciAwLgorICovCitpbnQgbW50X3RhYmxlX2lzX2VtcHR5KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCXJldHVybiB0YiA9PSBOVUxMIHx8IGxpc3RfZW1wdHkoJnRiLT5lbnRzKSA/IDEgOiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV9zZXRfdXNlcmRhdGE6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKiBAZGF0YTogcG9pbnRlciB0byB1c2VyIGRhdGEKKyAqCisgKiBTZXRzIHBvaW50ZXIgdG8gdGhlIHByaXZhdGUgdXNlciBkYXRhLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9zZXRfdXNlcmRhdGEoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHZvaWQgKmRhdGEpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwl0Yi0+dXNlcmRhdGEgPSBkYXRhOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV9nZXRfdXNlcmRhdGE6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byB1c2VyJ3MgZGF0YS4KKyAqLwordm9pZCAqbW50X3RhYmxlX2dldF91c2VyZGF0YShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGIgPyB0Yi0+dXNlcmRhdGEgOiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9lbmFibGVfY29tbWVudHM6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKiBAZW5hYmxlOiBUUlVFIG9yIEZBTFNFCisgKgorICogRW5hYmxlcyBwYXJzaW5nIG9mIGNvbW1lbnRzLgorICoKKyAqIFRoZSBpbml0aWFsIChpbnRybykgZmlsZSBjb21tZW50IGlzIGFjY2Vzc2libGUgYnkKKyAqIG1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudCgpLiBUaGUgaW50cm8gYW5kIHRoZSBjb21tZW50IG9mIHRoZSBmaXJzdCBmc3RhYgorICogZW50cnkgaGFzIHRvIGJlIHNlcGFyYXRlZCBieSBibGFuayBsaW5lLiAgVGhlIGZpbGVzeXN0ZW0gY29tbWVudHMgYXJlCisgKiBhY2Nlc3NpYmxlIGJ5IG1udF9mc19nZXRfY29tbWVudCgpLiBUaGUgdHJhaWxpbmcgZnN0YWIgY29tbWVudCBpcyBhY2Nlc3NpYmxlCisgKiBieSBtbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQoKS4KKyAqCisgKiA8aW5mb3JtYWxleGFtcGxlPgorICogIDxwcm9ncmFtbGlzdGluZz4KKyAqCSMKKyAqCSMgSW50cm8gY29tbWVudAorICoJIworICoKKyAqCSMgdGhpcyBjb21tZW50cyBiZWxvbmdzIHRvIHRoZSBmaXJzdCBmcworICoJTEFCRUw9Zm9vIC9tbnQvZm9vIGF1dG8gZGVmYXVsdHMgMSAyCisgKgkjIHRoaXMgY29tbWVudHMgYmVsb25ncyB0byB0aGUgc2Vjb25kIGZzCisgKglMQUJFTD1iYXIgL21udC9iYXIgYXV0byBkZWZhdWx0cyAxIDIKKyAqCSMgdGFpbGluZyBjb21tZW50CisgKiAgPC9wcm9ncmFtbGlzdGluZz4KKyAqIDwvaW5mb3JtYWxleGFtcGxlPgorICovCit2b2lkIG1udF90YWJsZV9lbmFibGVfY29tbWVudHMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKHRiKQorCQl0Yi0+Y29tbXMgPSBlbmFibGU7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3dpdGhfY29tbWVudHM6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFibGUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGNvbW1lbnRzIHBhcnNpbmcgaXMgZW5hYmxlZCwgb3IgMC4KKyAqLworaW50IG1udF90YWJsZV93aXRoX2NvbW1lbnRzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCWFzc2VydCh0Yik7CisJcmV0dXJuIHRiID8gdGItPmNvbW1zIDogMDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZ2V0X2ludHJvX2NvbW1lbnQ6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKgorICogUmV0dXJuczogaW5pdGlhbCBjb21tZW50IGluIHRiCisgKi8KK2NvbnN0IGNoYXIgKm1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGIgPyB0Yi0+Y29tbV9pbnRybyA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3NldF9pbnRvX2NvbW1lbnQ6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKiBAY29tbTogY29tbWVudCBvciBOVUxMCisgKgorICogU2V0cyB0aGUgaW5pdGlhbCBjb21tZW50IGluIHRiLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9zZXRfaW50cm9fY29tbWVudChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqY29tbSkKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIodGIsIGNvbW1faW50cm8sIGNvbW0pOworfQorCisvKioKKyAqIG1udF90YWJsZV9hcHBlbmRfaW50b19jb21tZW50OgorICogQHRiOiBwb2ludGVyIHRvIHRhYgorICogQGNvbW06IGNvbW1lbnQgb2YgTlVMTAorICoKKyAqIEFwcGVuZHMgdGhlIGluaXRpYWwgY29tbWVudCBpbiB0Yi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfYXBwZW5kX2ludHJvX2NvbW1lbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmNvbW0pCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJcmV0dXJuIGFwcGVuZF9zdHJpbmcoJnRiLT5jb21tX2ludHJvLCBjb21tKTsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQ6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKgorICogUmV0dXJuczogdGFibGUgdHJhaWxpbmcgY29tbWVudAorICovCitjb25zdCBjaGFyICptbnRfdGFibGVfZ2V0X3RyYWlsaW5nX2NvbW1lbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiID8gdGItPmNvbW1fdGFpbCA6IE5VTEw7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3NldF90cmFpbGluZ19jb21tZW50CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFiCisgKiBAY29tbTogY29tbWVudCBzdHJpbmcKKyAqCisgKiBTZXRzIHRoZSB0cmFpbGluZyBjb21tZW50IGluIHRhYmxlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9zZXRfdHJhaWxpbmdfY29tbWVudChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqY29tbSkKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIodGIsIGNvbW1fdGFpbCwgY29tbSk7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2FwcGVuZF90cmFpbGluZ19jb21tZW50OgorICogQHRiOiBwb2ludGVyIHRvIHRhYgorICogQGNvbW06IGNvbW1lbnQgb2YgTlVMTAorICoKKyAqIEFwcGVuZHMgdG8gdGhlIHRyYWlsaW5nIHRhYmxlIGNvbW1lbnQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX2FwcGVuZF90cmFpbGluZ19jb21tZW50KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpjb21tKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCXJldHVybiBhcHBlbmRfc3RyaW5nKCZ0Yi0+Y29tbV90YWlsLCBjb21tKTsKK30KKworLyoqCisgKiBtbnRfdGFibGVfc2V0X2NhY2hlOgorICogQHRiOiBwb2ludGVyIHRvIHRhYgorICogQG1wYzogcG9pbnRlciB0byBzdHJ1Y3QgbGlibW50X2NhY2hlIGluc3RhbmNlCisgKgorICogU2V0cyB1cCBhIGNhY2hlIGZvciBjYW5vbmljYWxpemVkIHBhdGhzIGFuZCBldmFsdWF0ZWQgdGFncyAoTEFCRUwvVVVJRCkuIFRoZQorICogY2FjaGUgaXMgcmVjb21tZW5kZWQgZm9yIG1udF90YWJsZV9maW5kXyooKSBmdW5jdGlvbnMuCisgKgorICogVGhlIGNhY2hlIGNvdWxkIGJlIHNoYXJlZCBiZXR3ZWVuIG1vcmUgdGFicy4gQmUgY2FyZWZ1bCB3aGVuIHlvdSBzaGFyZSB0aGUKKyAqIHNhbWUgY2FjaGUgYmV0d2VlbiBtb3JlIHRocmVhZHMgLS0gY3VycmVudGx5IHRoZSBjYWNoZSBkb2VzIG5vdCBwcm92aWRlIGFueQorICogbG9ja2luZyBtZXRob2QuCisgKgorICogVGhpcyBmdW5jdGlvbiBpbmNyZW1lbnRzIGNhY2hlIHJlZmVyZW5jZSBjb3VudGVyLiBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZQorICogbW50X3VucmVmX2NhY2hlKCkgYWZ0ZXIgbW50X3RhYmxlX3NldF9jYWNoZSgpIGlmIHlvdSB3YW50IHRvIGtlZXAgdGhlIGNhY2hlCisgKiByZWZlcmVuY2VkIGJ5IEB0YiBvbmx5LgorICoKKyAqIFNlZSBhbHNvIG1udF9uZXdfY2FjaGUoKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfc2V0X2NhY2hlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2NhY2hlICptcGMpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwltbnRfcmVmX2NhY2hlKG1wYyk7CQkJLyogbmV3ICovCisJbW50X3VucmVmX2NhY2hlKHRiLT5jYWNoZSk7CQkvKiBvbGQgKi8KKwl0Yi0+Y2FjaGUgPSBtcGM7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2dldF9jYWNoZToKKyAqIEB0YjogcG9pbnRlciB0byB0YWIKKyAqCisgKiBSZXR1cm5zOiBwb2ludGVyIHRvIHN0cnVjdCBsaWJtbnRfY2FjaGUgaW5zdGFuY2Ugb3IgTlVMTC4KKyAqLworc3RydWN0IGxpYm1udF9jYWNoZSAqbW50X3RhYmxlX2dldF9jYWNoZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGIgPyB0Yi0+Y2FjaGUgOiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9hZGRfZnM6CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKiBAZnM6IG5ldyBlbnRyeQorICoKKyAqIEFkZHMgYSBuZXcgZW50cnkgdG8gdGFiIGFuZCBpbmNyZW1lbnQgQGZzIHJlZmVyZW5jZSBjb3VudGVyLiBEb24ndCBmb3JnZXQgdG8KKyAqIHVzZSBtbnRfdW5yZWZfZnMoKSBhZnRlciBtbnRfdGFibGVfYWRkX2ZzKCkgeW91IHdhbnQgdG8ga2VlcCB0aGUgQGZzCisgKiByZWZlcmVuY2VkIGJ5IHRoZSB0YWJsZSBvbmx5LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9hZGRfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWlmICghdGIgfHwgIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCW1udF9yZWZfZnMoZnMpOworCWxpc3RfYWRkX3RhaWwoJmZzLT5lbnRzLCAmdGItPmVudHMpOworCXRiLT5uZW50cysrOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhZGQgZW50cnk6ICVzICVzIiwKKwkJCW1udF9mc19nZXRfc291cmNlKGZzKSwgbW50X2ZzX2dldF90YXJnZXQoZnMpKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3JlbW92ZV9mczoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBmczogbmV3IGVudHJ5CisgKgorICogUmVtb3ZlcyB0aGUgQGZzIGZyb20gdGhlIHRhYmxlIGFuZCBkZS1pbmNyZW1lbnQgcmVmZXJlbmNlIGNvdW50ZXIgb2YgdGhlIEBmcy4gVGhlCisgKiBmaWxlc3lzdGVtIHdpdGggemVybyByZWZlcmVuY2UgY291bnRlciB3aWxsIGJlIGRlYWxsb2NhdGVkLiBEb24ndCBmb3JnZXQgdG8gdXNlCisgKiBtbnRfcmVmX2ZzKCkgYmVmb3JlIGNhbGwgbW50X3RhYmxlX3JlbW92ZV9mcygpIGlmIHlvdSB3YW50IHRvIHVzZSBAZnMgbGF0ZXIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3JlbW92ZV9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJaWYgKCF0YiB8fCAhZnMpCisJCXJldHVybiAtRUlOVkFMOworCisJbGlzdF9kZWwoJmZzLT5lbnRzKTsKKwlJTklUX0xJU1RfSEVBRCgmZnMtPmVudHMpOwkvKiBvdGhlcndpc2UgRlMgc3RpbGwgcG9pbnRzIHRvIHRoZSBsaXN0ICovCisKKwltbnRfdW5yZWZfZnMoZnMpOworCXRiLT5uZW50cy0tOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBsaWJtbnRfZnMgKmdldF9wYXJlbnRfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IGxpYm1udF9mcyAqeDsKKwlpbnQgcGFyZW50X2lkID0gbW50X2ZzX2dldF9wYXJlbnRfaWQoZnMpOworCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmeCkgPT0gMCkgeworCQlpZiAobW50X2ZzX2dldF9pZCh4KSA9PSBwYXJlbnRfaWQpCisJCQlyZXR1cm4geDsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZ2V0X3Jvb3RfZnM6CisgKiBAdGI6IG1vdW50aW5mbyBmaWxlICgvcHJvYy9zZWxmL21vdW50aW5mbykKKyAqIEByb290OiByZXR1cm5zIHBvaW50ZXIgdG8gdGhlIHJvb3QgZmlsZXN5c3RlbSAoLykKKyAqCisgKiBUaGUgZnVuY3Rpb24gdXNlcyB0aGUgcGFyZW50IElEIGZyb20gdGhlIG1vdW50aW5mbyBmaWxlIHRvIGRldGVybWluZSB0aGUKKyAqIHJvb3QgZmlsZXN5c3RlbSAodGhlIGZpbGVzeXN0ZW0gd2l0aCB0aGUgc21hbGxlc3QgSUQgd2l0aCBwYXJlbnQgSUQgbWlzc2luZworICogaW4gdGhlIHRhYmxlKS4gVGhlIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIG1vc3RseSBmb3IgYXBwbGljYXRpb25zIHdoZXJlIGl0IGlzCisgKiBuZWNlc3NhcnkgdG8gc29ydCBtb3VudHBvaW50cyBieSBJRHMgdG8gZ2V0IHRoZSB0cmVlIG9mIHRoZSBtb3VudHBvaW50cworICogKGUuZy4gZmluZG1udCBkZWZhdWx0IG91dHB1dCkuCisgKgorICogSWYgeW91J3JlIG5vdCBzdXJlLCB0aGVuIHVzZQorICoKKyAqCW1udF90YWJsZV9maW5kX3RhcmdldCh0YiwgIi8iLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisgKgorICogdGhpcyBpcyBtb3JlIHJvYnVzdCBhbmQgdXNhYmxlIGZvciBhcmJpdHJhcnkgdGFiIGZpbGVzIChpbmNsdWRpbmcgZnN0YWIpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9nZXRfcm9vdF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqKnJvb3QpCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgcm9vdF9pZCA9IDA7CisKKwlpZiAoIXRiIHx8ICFyb290IHx8ICFpc19tb3VudGluZm8odGIpKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIHJvb3QgZnMiKSk7CisKKwkqcm9vdCA9IE5VTEw7CisKKwkvKiBnZXQgc21hbGxlc3QgcG9zc2libGUgSUQgZnJvbSB0aGUgdGFibGUgKi8KKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCWludCBpZCA9IG1udF9mc19nZXRfcGFyZW50X2lkKGZzKTsKKworCQlpZiAoISpyb290IHx8IGlkIDwgcm9vdF9pZCkgeworCQkJKnJvb3QgPSBmczsKKwkJCXJvb3RfaWQgPSBpZDsKKwkJfQorCX0KKworCS8qIGdvIHRvIHRoZSByb290IG5vZGUgYnkgInBhcmVudF9pZCAtPiBpZCIgcmVsYXRpb24gKi8KKwl3aGlsZSAoKnJvb3QpIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqeCA9IGdldF9wYXJlbnRfZnModGIsICpyb290KTsKKwkJaWYgKCF4IHx8IHggPT0gKnJvb3QpCisJCQlicmVhazsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgbWVzc3kgbW91bnRpbmZvLCB3YWxrIHRvICVzIiwgbW50X2ZzX2dldF90YXJnZXQoeCkpKTsKKwkJKnJvb3QgPSB4OworCX0KKworCXJldHVybiAqcm9vdCA/IDAgOiAtRUlOVkFMOworfQorCisvKioKKyAqIG1udF90YWJsZV9uZXh0X2NoaWxkX2ZzOgorICogQHRiOiBtb3VudGluZm8gZmlsZSAoL3Byb2Mvc2VsZi9tb3VudGluZm8pCisgKiBAaXRyOiBpdGVyYXRvcgorICogQHBhcmVudDogcGFyZW50YWwgRlMKKyAqIEBjaGxkOiByZXR1cm5zIHRoZSBuZXh0IGNoaWxkIGZpbGVzeXN0ZW0KKyAqCisgKiBOb3RlIHRoYXQgZmlsZXN5c3RlbXMgYXJlIHJldHVybmVkIGluIHRoZSBvcmRlciBvZiBtb3VudGluZyAoYWNjb3JkaW5nIHRvCisgKiBJRHMgaW4gL3Byb2Mvc2VsZi9tb3VudGluZm8pLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3Igb3IgMSBhdCB0aGUgZW5kIG9mIGxpc3QuCisgKi8KK2ludCBtbnRfdGFibGVfbmV4dF9jaGlsZF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCQlzdHJ1Y3QgbGlibW50X2ZzICpwYXJlbnQsIHN0cnVjdCBsaWJtbnRfZnMgKipjaGxkKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCBwYXJlbnRfaWQsIGxhc3RjaGxkX2lkID0gMCwgY2hsZF9pZCA9IDA7CisKKwlpZiAoIXRiIHx8ICFpdHIgfHwgIXBhcmVudCB8fCAhaXNfbW91bnRpbmZvKHRiKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBuZXh0IGNoaWxkIG9mICclcyciLAorCQkJCW1udF9mc19nZXRfdGFyZ2V0KHBhcmVudCkpKTsKKworCXBhcmVudF9pZCA9IG1udF9mc19nZXRfaWQocGFyZW50KTsKKworCS8qIGdldCBJRCBvZiB0aGUgcHJldmlvdXNseSByZXR1cm5lZCBjaGlsZCAqLworCWlmIChpdHItPmhlYWQgJiYgaXRyLT5wICE9IGl0ci0+aGVhZCkgeworCQlNTlRfSVRFUl9JVEVSQVRFKGl0ciwgZnMsIHN0cnVjdCBsaWJtbnRfZnMsIGVudHMpOworCQlsYXN0Y2hsZF9pZCA9IG1udF9mc19nZXRfaWQoZnMpOworCX0KKworCSpjaGxkID0gTlVMTDsKKworCW1udF9yZXNldF9pdGVyKGl0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSA9PSAwKSB7CisJCWludCBpZDsKKworCQlpZiAobW50X2ZzX2dldF9wYXJlbnRfaWQoZnMpICE9IHBhcmVudF9pZCkKKwkJCWNvbnRpbnVlOworCisJCWlkID0gbW50X2ZzX2dldF9pZChmcyk7CisKKwkJLyogYXZvaWQgYW4gaW5maW5pdGUgbG9vcC4gVGhpcyBvbmx5IGhhcHBlbnMgaW4gcmFyZSBjYXNlcworCQkgKiBzdWNoIGFzIGluIGVhcmx5IHVzZXJzcGFjZSB3aGVuIHRoZSByb290ZnMgaXMgaXRzIG93biBwYXJlbnQgKi8KKwkJaWYgKGlkID09IHBhcmVudF9pZCkKKwkJCWNvbnRpbnVlOworCisJCWlmICgoIWxhc3RjaGxkX2lkIHx8IGlkID4gbGFzdGNobGRfaWQpICYmCisJCSAgICAoISpjaGxkIHx8IGlkIDwgY2hsZF9pZCkpIHsKKwkJCSpjaGxkID0gZnM7CisJCQljaGxkX2lkID0gaWQ7CisJCX0KKwl9CisKKwlpZiAoISpjaGxkKQorCQlyZXR1cm4gMTsJLyogZW5kIG9mIGl0ZXJhdG9yICovCisKKwkvKiBzZXQgdGhlIGl0ZXJhdG9yIHRvIHRoZSBAY2hsZCBmb3IgdGhlIG5leHQgY2FsbCAqLworCW1udF90YWJsZV9zZXRfaXRlcih0YiwgaXRyLCAqY2hsZCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfbmV4dF9mczoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBpdHI6IGl0ZXJhdG9yCisgKiBAZnM6IHJldHVybnMgdGhlIG5leHQgdGFiIGVudHJ5CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciBvciAxIGF0IHRoZSBlbmQgb2YgbGlzdC4KKyAqCisgKiBFeGFtcGxlOgorICogPGluZm9ybWFsZXhhbXBsZT4KKyAqICAgPHByb2dyYW1saXN0aW5nPgorICoJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSA9PSAwKSB7CisgKgkJY29uc3QgY2hhciAqZGlyID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworICoJCXByaW50ZigibW91bnQgcG9pbnQ6ICVzXG4iLCBkaXIpOworICoJfQorICogICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICogbGlzdHMgYWxsIG1vdW50cG9pbnRzIGZyb20gZnN0YWIgaW4gcmV2ZXJzZSBvcmRlci4KKyAqLworaW50IG1udF90YWJsZV9uZXh0X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciwgc3RydWN0IGxpYm1udF9mcyAqKmZzKQoreworCWludCByYyA9IDE7CisKKwlpZiAoIXRiIHx8ICFpdHIgfHwgIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwkqZnMgPSBOVUxMOworCisJaWYgKCFpdHItPmhlYWQpCisJCU1OVF9JVEVSX0lOSVQoaXRyLCAmdGItPmVudHMpOworCWlmIChpdHItPnAgIT0gaXRyLT5oZWFkKSB7CisJCU1OVF9JVEVSX0lURVJBVEUoaXRyLCAqZnMsIHN0cnVjdCBsaWJtbnRfZnMsIGVudHMpOworCQlyYyA9IDA7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF90YWJsZV9maXJzdF9mczoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBmczogcmV0dXJucyB0aGUgZmlyc3QgdGFiIGVudHJ5CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciBvciAxIGF0IHRoZSBlbmQgb2YgbGlzdC4KKyAqLworaW50IG1udF90YWJsZV9maXJzdF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqKmZzKQoreworCWlmICghdGIgfHwgIWZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobGlzdF9lbXB0eSgmdGItPmVudHMpKQorCQlyZXR1cm4gMTsKKwkqZnMgPSBsaXN0X2ZpcnN0X2VudHJ5KCZ0Yi0+ZW50cywgc3RydWN0IGxpYm1udF9mcywgZW50cyk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2xhc3RfZnM6CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKiBAZnM6IHJldHVybnMgdGhlIGxhc3QgdGFiIGVudHJ5CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvciBvciAxIGF0IHRoZSBlbmQgb2YgbGlzdC4KKyAqLworaW50IG1udF90YWJsZV9sYXN0X2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICoqZnMpCit7CisJaWYgKCF0YiB8fCAhZnMpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChsaXN0X2VtcHR5KCZ0Yi0+ZW50cykpCisJCXJldHVybiAxOworCSpmcyA9IGxpc3RfbGFzdF9lbnRyeSgmdGItPmVudHMsIHN0cnVjdCBsaWJtbnRfZnMsIGVudHMpOworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV9maW5kX25leHRfZnM6CisgKiBAdGI6IHRhYmxlCisgKiBAaXRyOiBpdGVyYXRvcgorICogQG1hdGNoX2Z1bmM6IGZ1bmN0aW9uIHJldHVybmluZyAxIG9yIDAKKyAqIEB1c2VyZGF0YTogZXh0cmEgZGF0YSBmb3IgbWF0Y2hfZnVuYworICogQGZzOiByZXR1cm5zIHBvaW50ZXIgdG8gdGhlIG5leHQgbWF0Y2hpbmcgdGFibGUgZW50cnkKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGFsbG93cyBzZWFyY2hpbmcgaW4gQHRiLgorICoKKyAqIFJldHVybnM6IG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLCAxIGF0IGVuZCBvZiB0YWJsZSBvciAwIG8gc3VjY2Vzcy4KKyAqLworaW50IG1udF90YWJsZV9maW5kX25leHRfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfaXRlciAqaXRyLAorCQlpbnQgKCptYXRjaF9mdW5jKShzdHJ1Y3QgbGlibW50X2ZzICosIHZvaWQgKiksIHZvaWQgKnVzZXJkYXRhLAorCQlzdHJ1Y3QgbGlibW50X2ZzICoqZnMpCit7CisJaWYgKCF0YiB8fCAhaXRyIHx8ICFmcyB8fCAhbWF0Y2hfZnVuYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBuZXh0IGZzIikpOworCisJaWYgKCFpdHItPmhlYWQpCisJCU1OVF9JVEVSX0lOSVQoaXRyLCAmdGItPmVudHMpOworCisJZG8geworCQlpZiAoaXRyLT5wICE9IGl0ci0+aGVhZCkKKwkJCU1OVF9JVEVSX0lURVJBVEUoaXRyLCAqZnMsIHN0cnVjdCBsaWJtbnRfZnMsIGVudHMpOworCQllbHNlCisJCQlicmVhazsJCQkvKiBlbmQgKi8KKworCQlpZiAobWF0Y2hfZnVuYygqZnMsIHVzZXJkYXRhKSkKKwkJCXJldHVybiAwOworCX0gd2hpbGUoMSk7CisKKwkqZnMgPSBOVUxMOworCXJldHVybiAxOworfQorCitzdGF0aWMgaW50IG1udF90YWJsZV9tb3ZlX3BhcmVudChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgaW50IG9sZGlkLCBpbnQgbmV3aWQpCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCWlmIChsaXN0X2VtcHR5KCZ0Yi0+ZW50cykpCisJCXJldHVybiAwOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJtb3ZpbmcgcGFyZW50IElEIGZyb20gJWQgLT4gJWQiLCBvbGRpZCwgbmV3aWQpKTsKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCWlmIChmcy0+cGFyZW50ID09IG9sZGlkKQorCQkJZnMtPnBhcmVudCA9IG5ld2lkOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfdW5pcV9mczoKKyAqIEB0YjogdGFibGUKKyAqIEBmbGFnczogTU5UX1VOSVFfKgorICogQGNtcDogZnVuY3Rpb24gdG8gY29tcGFyZSBmaWxlc3lzdGVtcworICoKKyAqIFRoaXMgZnVuY3Rpb24gZGUtZHVwbGljYXRlIHRoZSBAdGIsIGJ1dCBkb2VzIG5vdCBjaGFuZ2Ugb3JkZXIgb2YgdGhlCisgKiBmaWxlc3lzdGVtcy4gVGhlIEBjbXAgZnVuY3Rpb24gaGFzIHRvIHJldHVybiAwIGlmIHRoZSBmaWxlc3lzdGVtcyBhcmUKKyAqIGVxdWFsLCBvdGhlcndpc2Ugbm9uLXplcm8uCisgKgorICogVGhlIGRlZmF1bHQgaXMgdG8ga2VlcCBpbiB0aGUgdGFibGUgbGF0ZXIgbW91bnRlZCBmaWxlc3lzdGVtcyAoZnVuY3Rpb24gdXNlcworICogYmFja3dhcmQgbW9kZSBpdGVyYXRvcikuCisgKgorICogQE1OVF9VTklRX0ZPUldBUkQ6ICByZW1vdmUgbGF0ZXIgbW91bnRlZCBmaWxlc3lzdGVtcworICogQE1OVF9VTklRX0tFRVBUUkVFOiBrZWVwIHBhcmVudC0+aWQgcmVsYXRpb25zaGlwIHN0aWxsIHZhbGlkCisgKgorICogUmV0dXJuczogbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IsIG9yIDAgbyBzdWNjZXNzLgorICovCitpbnQgbW50X3RhYmxlX3VuaXFfZnMoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGludCBmbGFncywKKwkJCQlpbnQgKCpjbXApKHN0cnVjdCBsaWJtbnRfdGFibGUgKiwKKwkJCQkJICAgc3RydWN0IGxpYm1udF9mcyAqLAorCQkJCQkgICBzdHJ1Y3QgbGlibW50X2ZzICopKQoreworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IGRpcmVjdGlvbiA9IE1OVF9JVEVSX0JBQ0tXQVJEOworCisJaWYgKCF0YiB8fCAhY21wKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobGlzdF9lbXB0eSgmdGItPmVudHMpKQorCQlyZXR1cm4gMDsKKworCWlmIChmbGFncyAmIE1OVF9VTklRX0ZPUldBUkQpCisJCWRpcmVjdGlvbiA9IE1OVF9JVEVSX0ZPUldBUkQ7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImRlLWR1cGxpY2F0ZSIpKTsKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBkaXJlY3Rpb24pOworCisJaWYgKChmbGFncyAmIE1OVF9VTklRX0tFRVBUUkVFKSAmJiAhaXNfbW91bnRpbmZvKHRiKSkKKwkJZmxhZ3MgJj0gfk1OVF9VTklRX0tFRVBUUkVFOworCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJaW50IHdhbnQgPSAxOworCQlzdHJ1Y3QgbGlibW50X2l0ZXIgeHRyOworCQlzdHJ1Y3QgbGlibW50X2ZzICp4OworCisJCW1udF9yZXNldF9pdGVyKCZ4dHIsIGRpcmVjdGlvbik7CisJCXdoaWxlICh3YW50ICYmIG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmeHRyLCAmeCkgPT0gMCkgeworCQkJaWYgKGZzID09IHgpCisJCQkJYnJlYWs7CisJCQl3YW50ID0gY21wKHRiLCB4LCBmcykgIT0gMDsKKwkJfQorCisJCWlmICghd2FudCkgeworCQkJaWYgKGZsYWdzICYgTU5UX1VOSVFfS0VFUFRSRUUpCisJCQkJbW50X3RhYmxlX21vdmVfcGFyZW50KHRiLCBtbnRfZnNfZ2V0X2lkKGZzKSwKKwkJCQkJCQkgIG1udF9mc19nZXRfcGFyZW50X2lkKGZzKSk7CisKKwkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicmVtb3ZlIGR1cGxpY2F0ZSAlcyIsCisJCQkJCQltbnRfZnNfZ2V0X3RhcmdldChmcykpKTsKKwkJCW1udF90YWJsZV9yZW1vdmVfZnModGIsIGZzKTsKKwkJfQorCX0KKworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF90YWJsZV9zZXRfaXRlcjoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBpdHI6IGl0ZXJhdG9yCisgKiBAZnM6IHRhYiBlbnRyeQorICoKKyAqIFNldHMgQGl0ZXIgdG8gdGhlIHBvc2l0aW9uIG9mIEBmcyBpbiB0aGUgZmlsZSBAdGIuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9zZXRfaXRlcihzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWlmICghdGIgfHwgIWl0ciB8fCAhZnMpCisJCXJldHVybiAtRUlOVkFMOworCisJTU5UX0lURVJfSU5JVChpdHIsICZ0Yi0+ZW50cyk7CisJaXRyLT5wID0gJmZzLT5lbnRzOworCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludDoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYXRoOiBkaXJlY3RvcnkKKyAqIEBkaXJlY3Rpb246IE1OVF9JVEVSX3tGT1JXQVJELEJBQ0tXQVJEfQorICoKKyAqIFNhbWUgYXMgbW50X2dldF9tb3VudHBvaW50KCksIGV4Y2VwdCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IHJlbHkgb24KKyAqIHN0X2RldiBudW1iZXJzLgorICoKKyAqIFJldHVybnM6IGEgdGFiIGVudHJ5IG9yIE5VTEwuCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9maW5kX21vdW50cG9pbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJCSAgICBjb25zdCBjaGFyICpwYXRoLAorCQkJCQkgICAgaW50IGRpcmVjdGlvbikKK3sKKwljaGFyICptbnQ7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAoIXRiIHx8ICFwYXRoIHx8ICEqcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9GT1JXQVJEICYmIGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9CQUNLV0FSRCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBNT1VOVFBPSU5UOiAnJXMnIiwgcGF0aCkpOworCisJaWYgKG1udF9zdGF0X21vdW50cG9pbnQocGF0aCwgJnN0KSkKKwkJcmV0dXJuIE5VTEw7CisKKwltbnQgPSBzdHJkdXAocGF0aCk7CisJaWYgKCFtbnQpCisJCXJldHVybiBOVUxMOworCisJZG8geworCQljaGFyICpwOworCQlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKworCQlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0YiwgbW50LCBkaXJlY3Rpb24pOworCQlpZiAoZnMpIHsKKwkJCWZyZWUobW50KTsKKwkJCXJldHVybiBmczsKKwkJfQorCisJCXAgPSBzdHJpcG9mZl9sYXN0X2NvbXBvbmVudChtbnQpOworCQlpZiAoIXApCisJCQlicmVhazsKKwl9IHdoaWxlIChtbnQgJiYgKihtbnQgKyAxKSAhPSAnXDAnKTsKKworCWZyZWUobW50KTsKKwlyZXR1cm4gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCAiLyIsIGRpcmVjdGlvbik7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2ZpbmRfdGFyZ2V0OgorICogQHRiOiB0YWIgcG9pbnRlcgorICogQHBhdGg6IG1vdW50cG9pbnQgZGlyZWN0b3J5CisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBUcnkgdG8gbG9va3VwIGFuIGVudHJ5IGluIHRoZSBnaXZlbiB0YWIsIHRocmVlIGl0ZXJhdGlvbnMgYXJlIHBvc3NpYmxlLCB0aGUgZmlyc3QKKyAqIHdpdGggQHBhdGgsIHRoZSBzZWNvbmQgd2l0aCByZWFscGF0aChAcGF0aCkgYW5kIHRoZSB0aGlyZCB3aXRoIHJlYWxwYXRoKEBwYXRoKQorICogYWdhaW5zdCByZWFscGF0aChmcy0+dGFyZ2V0KS4gVGhlIDJuZCBhbmQgM3JkIGl0ZXJhdGlvbnMgYXJlIG5vdCBwZXJmb3JtZWQgd2hlbgorICogdGhlIEB0YiBjYWNoZSBpcyBub3Qgc2V0IChzZWUgbW50X3RhYmxlX3NldF9jYWNoZSgpKS4gSWYKKyAqIG1udF9jYWNoZV9zZXRfdGFyZ2V0cyhjYWNoZSwgbXRhYikgd2FzIGNhbGxlZCwgdGhlIDNyZCBpdGVyYXRpb24gc2tpcHMgYW55CisgKiBAZnMtPnRhcmdldCBmb3VuZCBpbiBAbXRhYiAoc2VlIG1udF9yZXNvbHZlX3RhcmdldCgpKS4KKyAqCisgKiBSZXR1cm5zOiBhIHRhYiBlbnRyeSBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF90YXJnZXQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnBhdGgsIGludCBkaXJlY3Rpb24pCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IE5VTEw7CisJY2hhciAqY247CisKKwlpZiAoIXRiIHx8ICFwYXRoIHx8ICEqcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9GT1JXQVJEICYmIGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9CQUNLV0FSRCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBUQVJHRVQ6ICclcyciLCBwYXRoKSk7CisKKwkvKiBuYXRpdmUgQHRhcmdldCAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlpZiAobW50X2ZzX3N0cmVxX3RhcmdldChmcywgcGF0aCkpCisJCQlyZXR1cm4gZnM7CisJfQorCisJLyogdHJ5IGFic29sdXRlIHBhdGggKi8KKwlpZiAoaXNfcmVsYXRpdmVfcGF0aChwYXRoKSAmJiAoY24gPSBhYnNvbHV0ZV9wYXRoKHBhdGgpKSkgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBhYnNvbHV0ZSBUQVJHRVQ6ICclcyciLCBjbikpOworCQltbnRfcmVzZXRfaXRlcigmaXRyLCBkaXJlY3Rpb24pOworCQl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQkJaWYgKG1udF9mc19zdHJlcV90YXJnZXQoZnMsIGNuKSkgeworCQkJCWZyZWUoY24pOworCQkJCXJldHVybiBmczsKKwkJCX0KKwkJfQorCQlmcmVlKGNuKTsKKwl9CisKKwlpZiAoIXRiLT5jYWNoZSB8fCAhKGNuID0gbW50X3Jlc29sdmVfcGF0aChwYXRoLCB0Yi0+Y2FjaGUpKSkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBjYW5vbmljYWwgVEFSR0VUOiAnJXMnIiwgY24pKTsKKworCS8qIGNhbm9uaWNhbGl6ZWQgcGF0aHMgaW4gc3RydWN0IGxpYm1udF90YWJsZSAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlpZiAobW50X2ZzX3N0cmVxX3RhcmdldChmcywgY24pKQorCQkJcmV0dXJuIGZzOworCX0KKworCS8qIG5vbi1jYW5vbmljYWwgcGF0aCBpbiBzdHJ1Y3QgbGlibW50X3RhYmxlCisJICogLS0gbm90ZSB0aGF0IG1vdW50cG9pbnQgaW4gL3Byb2Mvc2VsZi9tb3VudGluZm8gaXMgYWxyZWFkeQorCSAqICAgIGNhbm9uaWNhbGl6ZWQgYnkgdGhlIGtlcm5lbAorCSAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQljaGFyICpwOworCisJCWlmICghZnMtPnRhcmdldAorCQkgICAgfHwgbW50X2ZzX2lzX3N3YXBhcmVhKGZzKQorCQkgICAgfHwgbW50X2ZzX2lzX2tlcm5lbChmcykKKwkJICAgIHx8ICgqZnMtPnRhcmdldCA9PSAnLycgJiYgKihmcy0+dGFyZ2V0ICsgMSkgPT0gJ1wwJykpCisJCSAgICAgICBjb250aW51ZTsKKworCQlwID0gbW50X3Jlc29sdmVfdGFyZ2V0KGZzLT50YXJnZXQsIHRiLT5jYWNoZSk7CisJCS8qIGJvdGggY2Fub25pY2FsaXplZCwgc3RyY21wKCkgaXMgZmluZSBoZXJlICovCisJCWlmIChwICYmIHN0cmNtcChjbiwgcCkgPT0gMCkKKwkJCXJldHVybiBmczsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogbW50X3RhYmxlX2ZpbmRfc3JjcGF0aDoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYXRoOiBzb3VyY2UgcGF0aCAoZGV2bmFtZSBvciBkaXJuYW1lKSBvciBOVUxMCisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBUcnkgdG8gbG9va3VwIGFuIGVudHJ5IGluIHRoZSBnaXZlbiB0YWIsIGZvdXIgaXRlcmF0aW9ucyBhcmUgcG9zc2libGUsIHRoZSBmaXJzdAorICogd2l0aCBAcGF0aCwgdGhlIHNlY29uZCB3aXRoIHJlYWxwYXRoKEBwYXRoKSwgdGhlIHRoaXJkIHdpdGggdGFncyAoTEFCRUwsIFVVSUQsIC4uKQorICogZnJvbSBAcGF0aCBhbmQgdGhlIGZvdXJ0aCB3aXRoIHJlYWxwYXRoKEBwYXRoKSBhZ2FpbnN0IHJlYWxwYXRoKGVudHJ5LT5zcmNwYXRoKS4KKyAqCisgKiBUaGUgMm5kLCAzcmQgYW5kIDR0aCBpdGVyYXRpb25zIGFyZSBub3QgcGVyZm9ybWVkIHdoZW4gdGhlIEB0YiBjYWNoZSBpcyBub3QKKyAqIHNldCAoc2VlIG1udF90YWJsZV9zZXRfY2FjaGUoKSkuCisgKgorICogRm9yIGJ0cmZzIHJldHVybnMgdGFiIGVudHJ5IGZvciBkZWZhdWx0IGlkLgorICoKKyAqIE5vdGUgdGhhdCBOVUxMIGlzIGEgdmFsaWQgc291cmNlIHBhdGg7IGl0IHdpbGwgYmUgcmVwbGFjZWQgd2l0aCAibm9uZSIuIFRoZQorICogIm5vbmUiIGlzIHVzZWQgaW4gL3Byb2Mve21vdW50cyxzZWxmL21vdW50aW5mb30gZm9yIHBzZXVkbyBmaWxlc3lzdGVtcy4KKyAqCisgKiBSZXR1cm5zOiBhIHRhYiBlbnRyeSBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF9zcmNwYXRoKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgZGlyZWN0aW9uKQoreworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCWludCBudGFncyA9IDAsIG5lbnRzOworCWNoYXIgKmNuOworCWNvbnN0IGNoYXIgKnA7CisKKwlpZiAoIXRiIHx8ICFwYXRoIHx8ICEqcGF0aCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9GT1JXQVJEICYmIGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9CQUNLV0FSRCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBTUkNQQVRIOiAnJXMnIiwgcGF0aCkpOworCisJLyogbmF0aXZlIHBhdGhzICovCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKworCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKworCQlpZiAobW50X2ZzX3N0cmVxX3NyY3BhdGgoZnMsIHBhdGgpKSB7CisjaWZkZWYgSEFWRV9CVFJGU19TVVBQT1JUCisJCQlpZiAoZnMtPmZzdHlwZSAmJiAhc3RyY21wKGZzLT5mc3R5cGUsICJidHJmcyIpKSB7CisJCQkJdWludDY0X3QgZGVmYXVsdF9pZCA9IGJ0cmZzX2dldF9kZWZhdWx0X3N1YnZvbF9pZChtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCQkJCWNoYXIgKnZhbDsKKwkJCQlzaXplX3QgbGVuOworCisJCQkJaWYgKGRlZmF1bHRfaWQgPT0gVUlOVDY0X01BWCkKKwkJCQkJREJHKFRBQiwgdWxfZGVidWcoIm5vdCBmb3VuZCBidHJmcyB2b2x1bWUgc2V0dGluZyIpKTsKKworCQkJCWVsc2UgaWYgKG1udF9mc19nZXRfb3B0aW9uKGZzLCAic3Vidm9saWQiLCAmdmFsLCAmbGVuKSA9PSAwKSB7CisJCQkJCXVpbnQ2NF90IHN1YnZvbF9pZDsKKworCQkJCQlpZiAobW50X3BhcnNlX29mZnNldCh2YWwsIGxlbiwgJnN1YnZvbF9pZCkpIHsKKwkJCQkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiZmFpbGVkIHRvIHBhcnNlIHN1YnZvbGlkPSIpKTsKKwkJCQkJCWNvbnRpbnVlOworCQkJCQl9CisJCQkJCWlmIChzdWJ2b2xfaWQgIT0gZGVmYXVsdF9pZCkKKwkJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCX0KKyNlbmRpZiAvKiBIQVZFX0JUUkZTX1NVUFBPUlQgKi8KKwkJCXJldHVybiBmczsKKwkJfQorCQlpZiAobW50X2ZzX2dldF90YWcoZnMsIE5VTEwsIE5VTEwpID09IDApCisJCQludGFncysrOworCX0KKworCWlmICghcGF0aCB8fCAhdGItPmNhY2hlIHx8ICEoY24gPSBtbnRfcmVzb2x2ZV9wYXRoKHBhdGgsIHRiLT5jYWNoZSkpKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIGNhbm9uaWNhbCBTUkNQQVRIOiAnJXMnIiwgY24pKTsKKworCW5lbnRzID0gbW50X3RhYmxlX2dldF9uZW50cyh0Yik7CisKKwkvKiBjYW5vbmljYWxpemVkIHBhdGhzIGluIHN0cnVjdCBsaWJtbnRfdGFibGUgKi8KKwlpZiAobnRhZ3MgPCBuZW50cykgeworCQltbnRfcmVzZXRfaXRlcigmaXRyLCBkaXJlY3Rpb24pOworCQl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCQlpZiAobW50X2ZzX3N0cmVxX3NyY3BhdGgoZnMsIGNuKSkKKwkJCQlyZXR1cm4gZnM7CisJCX0KKwl9CisKKwkvKiBldmFsdWF0ZWQgdGFnICovCisJaWYgKG50YWdzKSB7CisJCWludCByYyA9IG1udF9jYWNoZV9yZWFkX3RhZ3ModGItPmNhY2hlLCBjbik7CisKKwkJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKworCQlpZiAocmMgPT0gMCkgeworCQkJLyogQHBhdGgncyBUQUdzIGFyZSBpbiB0aGUgY2FjaGUgKi8KKwkJCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJCQljb25zdCBjaGFyICp0LCAqdjsKKworCQkJCWlmIChtbnRfZnNfZ2V0X3RhZyhmcywgJnQsICZ2KSkKKwkJCQkJY29udGludWU7CisKKwkJCQlpZiAobW50X2NhY2hlX2RldmljZV9oYXNfdGFnKHRiLT5jYWNoZSwgY24sIHQsIHYpKQorCQkJCQlyZXR1cm4gZnM7CisJCQl9CisJCX0gZWxzZSBpZiAocmMgPCAwICYmIGVycm5vID09IEVBQ0NFUykgeworCQkJLyogQHBhdGggaXMgaW5hY2Nlc3NpYmxlLCB0cnkgZXZhbHVhdGluZyBhbGwgVEFHcyBpbiBAdGIKKwkJCSAqIGJ5IHVkZXYgc3ltbGlua3MgLS0gdGhpcyBjb3VsZCBiZSBleHBlbnNpdmUgb24gc3lzdGVtcworCQkJICogd2l0aCBhIGh1Z2UgZnN0YWIvbXRhYiAqLworCQkJIHdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJCQkgY29uc3QgY2hhciAqdCwgKnYsICp4OworCQkJCSBpZiAobW50X2ZzX2dldF90YWcoZnMsICZ0LCAmdikpCisJCQkJCSBjb250aW51ZTsKKwkJCQkgeCA9IG1udF9yZXNvbHZlX3RhZyh0LCB2LCB0Yi0+Y2FjaGUpOworCisJCQkJIC8qIGJvdGggY2Fub25pY2FsaXplZCwgc3RyY21wKCkgaXMgZmluZSBoZXJlICovCisJCQkJIGlmICh4ICYmIHN0cmNtcCh4LCBjbikgPT0gMCkKKwkJCQkJIHJldHVybiBmczsKKwkJCSB9CisJCX0KKwl9CisKKwkvKiBub24tY2Fub25pY2FsaXplZCBwYXRocyBpbiBzdHJ1Y3QgbGlibW50X3RhYmxlICovCisJaWYgKG50YWdzIDw9IG5lbnRzKSB7CisJCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJCWlmIChtbnRfZnNfaXNfbmV0ZnMoZnMpIHx8IG1udF9mc19pc19wc2V1ZG9mcyhmcykpCisJCQkJY29udGludWU7CisJCQlwID0gbW50X2ZzX2dldF9zcmNwYXRoKGZzKTsKKwkJCWlmIChwKQorCQkJCXAgPSBtbnRfcmVzb2x2ZV9wYXRoKHAsIHRiLT5jYWNoZSk7CisKKwkJCS8qIGJvdGggY2Fub25pY2FsaXplZCwgc3RyY21wKCkgaXMgZmluZSBoZXJlICovCisJCQlpZiAocCAmJiBzdHJjbXAocCwgY24pID09IDApCisJCQkJcmV0dXJuIGZzOworCQl9CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKworLyoqCisgKiBtbnRfdGFibGVfZmluZF90YWc6CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKiBAdGFnOiB0YWcgbmFtZSAoZS5nICJMQUJFTCIsICJVVUlEIiwgLi4uKQorICogQHZhbDogdGFnIHZhbHVlCisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBUcnkgdG8gbG9va3VwIGFuIGVudHJ5IGluIHRoZSBnaXZlbiB0YWIsIHRoZSBmaXJzdCBhdHRlbXB0IGlzIHRvIGxvb2t1cCBieSBAdGFnIGFuZAorICogQHZhbCwgZm9yIHRoZSBzZWNvbmQgYXR0ZW1wdCB0aGUgdGFnIGlzIGV2YWx1YXRlZCAoY29udmVydGVkIHRvIHRoZSBkZXZpY2UKKyAqIG5hbWUpIGFuZCBtbnRfdGFibGVfZmluZF9zcmNwYXRoKCkgaXMgcGVyZm9ybWVkLiBUaGUgc2Vjb25kIGF0dGVtcHQgaXMgbm90CisgKiBwZXJmb3JtZWQgd2hlbiBAdGIgY2FjaGUgaXMgbm90IHNldCAoc2VlIG1udF90YWJsZV9zZXRfY2FjaGUoKSkuCisKKyAqIFJldHVybnM6IGEgdGFiIGVudHJ5IG9yIE5VTEwuCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9maW5kX3RhZyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqdGFnLAorCQkJY29uc3QgY2hhciAqdmFsLCBpbnQgZGlyZWN0aW9uKQoreworCXN0cnVjdCBsaWJtbnRfaXRlciBpdHI7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCisJaWYgKCF0YiB8fCAhdGFnIHx8ICEqdGFnIHx8ICF2YWwpCisJCXJldHVybiBOVUxMOworCWlmIChkaXJlY3Rpb24gIT0gTU5UX0lURVJfRk9SV0FSRCAmJiBkaXJlY3Rpb24gIT0gTU5UX0lURVJfQkFDS1dBUkQpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJsb29rdXAgYnkgVEFHOiAlcyAlcyIsIHRhZywgdmFsKSk7CisKKwkvKiBsb29rIHVwIGJ5IFRBRyAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlpZiAoZnMtPnRhZ25hbWUgJiYgZnMtPnRhZ3ZhbCAmJgorCQkgICAgc3RyY21wKGZzLT50YWduYW1lLCB0YWcpID09IDAgJiYKKwkJICAgIHN0cmNtcChmcy0+dGFndmFsLCB2YWwpID09IDApCisJCQlyZXR1cm4gZnM7CisJfQorCisJaWYgKHRiLT5jYWNoZSkgeworCQkvKiBsb29rIHVwIGJ5IGRldmljZSBuYW1lICovCisJCWNoYXIgKmNuID0gbW50X3Jlc29sdmVfdGFnKHRhZywgdmFsLCB0Yi0+Y2FjaGUpOworCQlpZiAoY24pCisJCQlyZXR1cm4gbW50X3RhYmxlX2ZpbmRfc3JjcGF0aCh0YiwgY24sIGRpcmVjdGlvbik7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9maW5kX3RhcmdldF93aXRoX29wdGlvbjoKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBwYXRoOiBtb3VudHBvaW50IGRpcmVjdG9yeQorICogQG9wdGlvbjogb3B0aW9uIG5hbWUgKGUuZyAic3Vidm9sIiwgInN1YnZvbGlkIiwgLi4uKQorICogQHZhbDogb3B0aW9uIHZhbHVlIG9yIE5VTEwKKyAqIEBkaXJlY3Rpb246IE1OVF9JVEVSX3tGT1JXQVJELEJBQ0tXQVJEfQorICoKKyAqIFRyeSB0byBsb29rdXAgYW4gZW50cnkgaW4gdGhlIGdpdmVuIHRhYiB0aGF0IG1hdGNoZXMgY29tYmluYXRpb24gb2YgQHBhdGgKKyAqIGFuZCBAb3B0aW9uLiBJbiBkaWZmZXJlbmNlIHRvIG1udF90YWJsZV9maW5kX3RhcmdldCgpLCBvbmx5IEBwYXRoIGl0ZXJhdGlvbgorICogaXMgZG9uZS4gTm8gbG9va3VwIGJ5IGRldmljZSBuYW1lLCBubyBjYW5vbmljYWxpemF0aW9uLgorICoKKyAqIFJldHVybnM6IGEgdGFiIGVudHJ5IG9yIE5VTEwuCisgKgorICogU2luY2U6IDIuMjgKKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfdGFyZ2V0X3dpdGhfb3B0aW9uKAorCQkJc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKnBhdGgsCisJCQljb25zdCBjaGFyICpvcHRpb24sIGNvbnN0IGNoYXIgKnZhbCwgaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwljaGFyICpvcHR2YWwgPSBOVUxMOworCXNpemVfdCBvcHR2YWxzeiA9IDAsIHZhbHN6ID0gdmFsID8gc3RybGVuKHZhbCkgOiAwOworCisJaWYgKCF0YiB8fCAhcGF0aCB8fCAhKnBhdGggfHwgIW9wdGlvbiB8fCAhKm9wdGlvbiB8fCAhdmFsKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoZGlyZWN0aW9uICE9IE1OVF9JVEVSX0ZPUldBUkQgJiYgZGlyZWN0aW9uICE9IE1OVF9JVEVSX0JBQ0tXQVJEKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibG9va3VwIFRBUkdFVDogJyVzJyB3aXRoIE9QVElPTiAlcyAlcyIsIHBhdGgsIG9wdGlvbiwgdmFsKSk7CisKKwkvKiBsb29rIHVwIGJ5IG5hdGl2ZSBAdGFyZ2V0IHdpdGggT1BUSU9OICovCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQlpZiAobW50X2ZzX3N0cmVxX3RhcmdldChmcywgcGF0aCkKKwkJICAgICYmIG1udF9mc19nZXRfb3B0aW9uKGZzLCBvcHRpb24sICZvcHR2YWwsICZvcHR2YWxzeikgPT0gMAorCQkgICAgJiYgKCF2YWwgfHwgKG9wdHZhbHN6ID09IHZhbHN6CisJCQkJICYmIHN0cm5jbXAob3B0dmFsLCB2YWwsIG9wdHZhbHN6KSA9PSAwKSkpCisJCQlyZXR1cm4gZnM7CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9maW5kX3NvdXJjZToKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBzb3VyY2U6IFRBRyBvciBwYXRoCisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBUaGlzIGlzIGEgaGlnaC1sZXZlbCBBUEkgZm9yIG1udF90YWJsZV9maW5kX3tzcmNwYXRoLHRhZ30uIFlvdSBuZWVkbid0IGNhcmUKKyAqIGFib3V0IHRoZSBAc291cmNlIGZvcm1hdCAoZGV2aWNlLCBMQUJFTCwgVVVJRCwgLi4uKS4gVGhpcyBmdW5jdGlvbiBwYXJzZXMKKyAqIHRoZSBAc291cmNlIGFuZCBjYWxscyBtbnRfdGFibGVfZmluZF90YWcoKSBvciBtbnRfdGFibGVfZmluZF9zcmNwYXRoKCkuCisgKgorICogUmV0dXJuczogYSB0YWIgZW50cnkgb3IgTlVMTC4KKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfc291cmNlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCQljb25zdCBjaGFyICpzb3VyY2UsIGludCBkaXJlY3Rpb24pCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJY2hhciAqdCA9IE5VTEwsICp2ID0gTlVMTDsKKworCWlmICghdGIpCisJCXJldHVybiBOVUxMOworCWlmIChkaXJlY3Rpb24gIT0gTU5UX0lURVJfRk9SV0FSRCAmJiBkaXJlY3Rpb24gIT0gTU5UX0lURVJfQkFDS1dBUkQpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJsb29rdXAgU09VUkNFOiAnJXMnIiwgc291cmNlKSk7CisKKwlpZiAoYmxraWRfcGFyc2VfdGFnX3N0cmluZyhzb3VyY2UsICZ0LCAmdikgfHwgIW1udF92YWxpZF90YWduYW1lKHQpKQorCQlmcyA9IG1udF90YWJsZV9maW5kX3NyY3BhdGgodGIsIHNvdXJjZSwgZGlyZWN0aW9uKTsKKwllbHNlCisJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFnKHRiLCB0LCB2LCBkaXJlY3Rpb24pOworCisJZnJlZSh0KTsKKwlmcmVlKHYpOworCisJcmV0dXJuIGZzOworfQorCisvKioKKyAqIG1udF90YWJsZV9maW5kX3BhaXIKKyAqIEB0YjogdGFiIHBvaW50ZXIKKyAqIEBzb3VyY2U6IFRBRyBvciBwYXRoCisgKiBAdGFyZ2V0OiBtb3VudHBvaW50CisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIGlzIGltcGxlbWVudGVkIGJ5IG1udF9mc19tYXRjaF9zb3VyY2UoKSBhbmQKKyAqIG1udF9mc19tYXRjaF90YXJnZXQoKSBmdW5jdGlvbnMuIEl0IG1lYW5zIHRoYXQgdGhpcyBpcyBtb3JlIGV4cGVuc2l2ZSB0aGFuCisgKiBvdGhlcnMgbW50X3RhYmxlX2ZpbmRfKiBmdW5jdGlvbiwgYmVjYXVzZSBldmVyeSBAdGFiIGVudHJ5IGlzIGZ1bGx5IGV2YWx1YXRlZC4KKyAqCisgKiBSZXR1cm5zOiBhIHRhYiBlbnRyeSBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X2ZzICptbnRfdGFibGVfZmluZF9wYWlyKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpzb3VyY2UsCisJCQkJICAgICAgY29uc3QgY2hhciAqdGFyZ2V0LCBpbnQgZGlyZWN0aW9uKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCisJaWYgKCF0YiB8fCAhdGFyZ2V0IHx8ICEqdGFyZ2V0IHx8ICFzb3VyY2UgfHwgISpzb3VyY2UpCisJCXJldHVybiBOVUxMOworCWlmIChkaXJlY3Rpb24gIT0gTU5UX0lURVJfRk9SV0FSRCAmJiBkaXJlY3Rpb24gIT0gTU5UX0lURVJfQkFDS1dBUkQpCisJCXJldHVybiBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJsb29rdXAgU09VUkNFOiAlcyBUQVJHRVQ6ICVzIiwgc291cmNlLCB0YXJnZXQpKTsKKworCW1udF9yZXNldF9pdGVyKCZpdHIsIGRpcmVjdGlvbik7CisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCisJCWlmIChtbnRfZnNfbWF0Y2hfdGFyZ2V0KGZzLCB0YXJnZXQsIHRiLT5jYWNoZSkgJiYKKwkJICAgIG1udF9mc19tYXRjaF9zb3VyY2UoZnMsIHNvdXJjZSwgdGItPmNhY2hlKSkKKwkJCXJldHVybiBmczsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBtbnRfdGFibGVfZmluZF9kZXZubworICogQHRiOiAvcHJvYy9zZWxmL21vdW50aW5mbworICogQGRldm5vOiBkZXZpY2UgbnVtYmVyCisgKiBAZGlyZWN0aW9uOiBNTlRfSVRFUl97Rk9SV0FSRCxCQUNLV0FSRH0KKyAqCisgKiBOb3RlIHRoYXQgemVybyBjb3VsZCBiZSBhIHZhbGlkIGRldmljZSBudW1iZXIgZm9yIHRoZSByb290IHBzZXVkbyBmaWxlc3lzdGVtIChlLmcuCisgKiB0bXBmcykuCisgKgorICogUmV0dXJuczogYSB0YWIgZW50cnkgb3IgTlVMTC4KKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2ZpbmRfZGV2bm8oc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJICAgICAgIGRldl90IGRldm5vLCBpbnQgZGlyZWN0aW9uKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCisJaWYgKCF0YikKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9GT1JXQVJEICYmIGRpcmVjdGlvbiAhPSBNTlRfSVRFUl9CQUNLV0FSRCkKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImxvb2t1cCBERVZOTzogJWQiLCAoaW50KSBkZXZubykpOworCisJbW50X3Jlc2V0X2l0ZXIoJml0ciwgZGlyZWN0aW9uKTsKKworCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKHRiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJaWYgKG1udF9mc19nZXRfZGV2bm8oZnMpID09IGRldm5vKQorCQkJcmV0dXJuIGZzOworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhciAqcmVtb3ZlX21vdW50cG9pbnRfZnJvbV9wYXRoKGNvbnN0IGNoYXIgKnBhdGgsIGNvbnN0IGNoYXIgKm1udCkKK3sKKyAgICAgICAgY2hhciAqcmVzOworCWNvbnN0IGNoYXIgKnA7CisJc2l6ZV90IHN6OworCisJc3ogPSBzdHJsZW4obW50KTsKKwlwID0gc3ogPiAxID8gcGF0aCArIHN6IDogcGF0aDsKKworCXJlcyA9ICpwID8gc3RyZHVwKHApIDogc3RyZHVwKCIvIik7CisJREJHKFVUSUxTLCB1bF9kZWJ1ZygiJXMgZnMtcm9vdCBpcyAlcyIsIHBhdGgsIHJlcykpOworCXJldHVybiByZXM7Cit9CisKKyNpZmRlZiBIQVZFX0JUUkZTX1NVUFBPUlQKK3N0YXRpYyBpbnQgZ2V0X2J0cmZzX2ZzX3Jvb3Qoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjaGFyICoqcm9vdCkKK3sKKwljaGFyICp2b2wgPSBOVUxMLCAqcDsKKwlzaXplX3Qgc3osIHZvbHN6ID0gMDsKKworCURCRyhCVFJGUywgdWxfZGVidWcoImxvb2t1cCBmb3IgYnRyZnMgRlMgcm9vdCIpKTsKKwkqcm9vdCA9IE5VTEw7CisKKwlpZiAobW50X2ZzX2dldF9vcHRpb24oZnMsICJzdWJ2b2xpZCIsICZ2b2wsICZ2b2xzeikgPT0gMCkgeworCQljaGFyICp0YXJnZXQ7CisJCXN0cnVjdCBsaWJtbnRfZnMgKmY7CisJCWNoYXIgc3Vidm9saWRzdHJbc2l6ZW9mKHN0cmluZ2lmeV92YWx1ZShVSU5UNjRfTUFYKSldOworCisJCURCRyhCVFJGUywgdWxfZGVidWcoIiBmb3VuZCBzdWJ2b2xpZD0lcywgY2hlY2tpbmciLCB2b2wpKTsKKworCQlhc3NlcnQgKHZvbHN6ICsgMSA8IHNpemVvZihzdHJpbmdpZnlfdmFsdWUoVUlOVDY0X01BWCkpKTsKKwkJbWVtY3B5KHN1YnZvbGlkc3RyLCB2b2wsIHZvbHN6KTsKKwkJc3Vidm9saWRzdHJbdm9sc3pdID0gJ1wwJzsKKworCQl0YXJnZXQgPSBtbnRfcmVzb2x2ZV90YXJnZXQobW50X2ZzX2dldF90YXJnZXQoZnMpLCB0Yi0+Y2FjaGUpOworCQlpZiAoIXRhcmdldCkKKwkJCWdvdG8gZXJyOworCisJCURCRyhCVFJGUywgdWxfZGVidWcoIiB0cnlpbmcgdGFyZ2V0PSVzIHN1YnZvbGlkPSVzIiwgdGFyZ2V0LCBzdWJ2b2xpZHN0cikpOworCQlmID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0X3dpdGhfb3B0aW9uKHRiLCB0YXJnZXQsCisJCQkJCSJzdWJ2b2xpZCIsIHN1YnZvbGlkc3RyLAorCQkJCQlNTlRfSVRFUl9CQUNLV0FSRCk7CisJCWlmICghdGItPmNhY2hlKQorCQkJZnJlZSh0YXJnZXQpOworCQlpZiAoIWYpCisJCQlnb3RvIG5vdF9mb3VuZDsKKworCQkvKiBJbnN0ZWFkIG9mIHNldCBvZiBCQUNLUkVGIHF1ZXJpZXMgY29uc3RydWN0aW5nIHN1YnZvbCBwYXRoCisJCSAqIGNvcnJlc3BvbmRpbmcgdG8gYSBwYXJ0aWN1bGFyIHN1YnZvbGlkLCB1c2UgdGhlIG9uZSBpbgorCQkgKiBtb3VudGluZm8uIEtlcm5lbCBrZWVwcyBzdWJ2b2wgcGF0aCB1cCB0byBkYXRlLgorCQkgKi8KKwkJaWYgKG1udF9mc19nZXRfb3B0aW9uKGYsICJzdWJ2b2wiLCAmdm9sLCAmdm9sc3opICE9IDApCisJCQlnb3RvIG5vdF9mb3VuZDsKKworCX0gZWxzZSBpZiAobW50X2ZzX2dldF9vcHRpb24oZnMsICJzdWJ2b2wiLCAmdm9sLCAmdm9sc3opICE9IDApIHsKKwkJLyogSWYgZnN0YWIgZW50cnkgZG9lcyBub3QgY29udGFpbiAic3Vidm9sIiwgd2UgaGF2ZSB0bworCQkgKiBjaGVjaywgd2hldGhlciBidHJmcyBoYXMgZGVmYXVsdCBzdWJ2b2x1bWUgZGVmaW5lZC4KKwkJICovCisJCXVpbnQ2NF90IGRlZmF1bHRfaWQ7CisJCWNoYXIgKnRhcmdldDsKKwkJc3RydWN0IGxpYm1udF9mcyAqZjsKKwkJY2hhciBkZWZhdWx0X2lkX3N0cltzaXplb2Yoc3RyaW5naWZ5X3ZhbHVlKFVJTlQ2NF9NQVgpKV07CisKKwkJREJHKEJUUkZTLCB1bF9kZWJ1ZygiIHN1YnZvbGlkL3N1YnZvbCBub3QgZm91bmQsIGNoZWNraW5nIGRlZmF1bHQiKSk7CisKKwkJZGVmYXVsdF9pZCA9IGJ0cmZzX2dldF9kZWZhdWx0X3N1YnZvbF9pZChtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCQlpZiAoZGVmYXVsdF9pZCA9PSBVSU5UNjRfTUFYKQorCQkJZ290byBub3RfZm91bmQ7CisKKwkJLyogVm9sdW1lIGhhcyBkZWZhdWx0IHN1YnZvbHVtZS4gQ2hlY2sgaWYgaXQgbWF0Y2hlcyB0bworCQkgKiB0aGUgb25lIGluIG1vdW50aW5mby4KKwkJICoKKwkJICogT25seSBrZXJuZWwgPj0gNC4yIHJlcG9ydHMgc3Vidm9saWQuIE9uIG9sZGVyCisJCSAqIGtlcm5lbHMsIHRoZXJlIGlzIG5vIHJlYXNvbmFibGUgd2F5IHRvIGRldGVjdCB3aGljaAorCQkgKiBzdWJ2b2x1bWUgd2FzIG1vdW50ZWQuCisJCSAqLworCQl0YXJnZXQgPSBtbnRfcmVzb2x2ZV90YXJnZXQobW50X2ZzX2dldF90YXJnZXQoZnMpLCB0Yi0+Y2FjaGUpOworCQlpZiAoIXRhcmdldCkKKwkJCWdvdG8gZXJyOworCisJCXNucHJpbnRmKGRlZmF1bHRfaWRfc3RyLCBzaXplb2YoZGVmYXVsdF9pZF9zdHIpLCAiJWxsdSIsCisJCQkJKHVuc2lnbmVkIGxvbmcgbG9uZyBpbnQpIGRlZmF1bHRfaWQpOworCisJCURCRyhCVFJGUywgdWxfZGVidWcoIiB0cnlpbmcgdGFyZ2V0PSVzIGRlZmF1bHQgc3Vidm9saWQ9JXMiLAorCQkJCQl0YXJnZXQsIGRlZmF1bHRfaWRfc3RyKSk7CisKKwkJZiA9IG1udF90YWJsZV9maW5kX3RhcmdldF93aXRoX29wdGlvbih0YiwgdGFyZ2V0LAorCQkJCQkic3Vidm9saWQiLCBkZWZhdWx0X2lkX3N0ciwKKwkJCQkJTU5UX0lURVJfQkFDS1dBUkQpOworCQlpZiAoIXRiLT5jYWNoZSkKKwkJCWZyZWUodGFyZ2V0KTsKKwkJaWYgKCFmKQorCQkJZ290byBub3RfZm91bmQ7CisKKwkJLyogSW5zdGVhZCBvZiBzZXQgb2YgQkFDS1JFRiBxdWVyaWVzIGNvbnN0cnVjdGluZworCQkgKiBzdWJ2b2wgcGF0aCwgdXNlIHRoZSBvbmUgaW4gbW91bnRpbmZvLiBLZXJuZWwgZG9lcworCQkgKiB0aGUgZXZhbHVhdGlvbiBmb3IgdXMuCisJCSAqLworCQlEQkcoQlRSRlMsIHVsX2RlYnVnKCJzZXR0aW5nIEZTIHJvb3Q6IGJ0cmZzIGRlZmF1bHQgc3Vidm9saWQgPSAlcyIsCisJCQkJCWRlZmF1bHRfaWRfc3RyKSk7CisKKwkJaWYgKG1udF9mc19nZXRfb3B0aW9uKGYsICJzdWJ2b2wiLCAmdm9sLCAmdm9sc3opICE9IDApCisJCQlnb3RvIG5vdF9mb3VuZDsKKwl9CisKKwlEQkcoQlRSRlMsIHVsX2RlYnVnKCIgdXNpbmcgc3Vidm9sPSVzIiwgdm9sKSk7CisJc3ogPSB2b2xzejsKKwlpZiAoKnZvbCAhPSAnLycpCisJCXN6Kys7CisJKnJvb3QgPSBtYWxsb2Moc3ogKyAxKTsKKwlpZiAoISpyb290KQorCQlnb3RvIGVycjsKKwlwID0gKnJvb3Q7CisJaWYgKCp2b2wgIT0gJy8nKQorCQkqcCsrID0gJy8nOworCW1lbWNweShwLCB2b2wsIHZvbHN6KTsKKwkqKCpyb290ICsgc3opID0gJ1wwJzsKKwlyZXR1cm4gMDsKKworbm90X2ZvdW5kOgorCURCRyhCVFJGUywgdWxfZGVidWcoIiBub3QgZm91bmQgYnRyZnMgdm9sdW1lIHNldHRpbmciKSk7CisJcmV0dXJuIDE7CitlcnI6CisJREJHKEJUUkZTLCB1bF9kZWJ1ZygiIGVycm9yIG9uIGJ0cmZzIHZvbHVtZSBzZXR0aW5nIGV2YWx1YXRpb24iKSk7CisJcmV0dXJuIGVycm5vID8gLWVycm5vIDogLTE7Cit9CisjZW5kaWYgLyogSEFWRV9CVFJGU19TVVBQT1JUICovCisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfY2lmc191bmNfc3ViZGlyX3BhdGggKGNvbnN0IGNoYXIgKnVuYykKK3sKKwkvKgorCSAqICAxIG9yIG1vcmUgc2xhc2g6ICAgICAlKlsvXQorCSAqICAxIG9yIG1vcmUgbm9uLXNsYXNoOiAlKlteL10KKwkgKiAgbnVtYmVyIG9mIGJ5dGUgcmVhZDogJW4KKwkgKi8KKwlpbnQgc2hhcmVfZW5kID0gMDsKKwlpbnQgciA9IHNzY2FuZih1bmMsICIlKlsvXSUqW14vXSUqWy9dJSpbXi9dJW4iLCAmc2hhcmVfZW5kKTsKKwlpZiAociA9PSBFT0YgfHwgc2hhcmVfZW5kID09IDApCisJCXJldHVybiBOVUxMOworCXJldHVybiB1bmMgKyBzaGFyZV9lbmQ7Cit9CisKKy8qCisgKiB0YjogL3Byb2Mvc2VsZi9tb3VudGluZm8KKyAqIGZzOiBmaWxlc3lzdGVtCisgKiBtb3VudGZsYWdzOiBNU19CSU5EIG9yIDAKKyAqIGZzcm9vdDogZnMtcm9vdCB0aGF0IHdpbGwgcHJvYmFibHkgYmUgdXNlZCBpbiB0aGUgbW91bnRpbmZvIGZpbGUKKyAqICAgICAgICAgIGZvciBAZnMgYWZ0ZXIgbW91bnQoMikKKyAqCisgKiBGb3IgYnRyZnMgc3Vidm9sdW1lcyB0aGlzIGZ1bmN0aW9uIHJldHVybnMgTlVMTCwgYnV0IEBmc3Jvb3QgcHJvcGVybHkgc2V0LgorICoKKyAqIElmIEB0YiBpcyBOVUxMIHRoZW4gZGVmYXVsdHMgdG8gJy8nLgorICoKKyAqIFJldHVybnM6IGVudHJ5IGZyb20gQHRiIHRoYXQgd2lsbCBiZSB1c2VkIGFzIGEgc291cmNlIGZvciBAZnMgaWYgdGhlIEBmcyBpcworICogICAgICAgICAgYmluZG1vdW50LgorICoKKyAqIERvbid0IGV4cG9ydCB0byBsaWJyYXJ5IEFQSSEKKyAqLworc3RydWN0IGxpYm1udF9mcyAqbW50X3RhYmxlX2dldF9mc19yb290KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJCQlzdHJ1Y3QgbGlibW50X2ZzICpmcywKKwkJCQkJdW5zaWduZWQgbG9uZyBtb3VudGZsYWdzLAorCQkJCQljaGFyICoqZnNyb290KQoreworCWNoYXIgKnJvb3QgPSBOVUxMOworCWNvbnN0IGNoYXIgKm1udCA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqc3JjX2ZzID0gTlVMTDsKKworCWFzc2VydChmcyk7CisJYXNzZXJ0KGZzcm9vdCk7CisKKwlEQkcoVEFCLCB1bF9kZWJ1ZygibG9va3VwIGZzLXJvb3QgZm9yICclcyciLCBtbnRfZnNfZ2V0X3NvdXJjZShmcykpKTsKKworCWlmICh0YiAmJiAobW91bnRmbGFncyAmIE1TX0JJTkQpKSB7CisJCWNvbnN0IGNoYXIgKnNyYywgKnNyY19yb290OworCQljaGFyICp4c3JjID0gTlVMTDsKKworCQlEQkcoVEFCLCB1bF9kZWJ1ZygiZnMtcm9vdCBmb3IgYmluZCIpKTsKKworCQlzcmMgPSB4c3JjID0gbW50X3Jlc29sdmVfc3BlYyhtbnRfZnNfZ2V0X3NvdXJjZShmcyksIHRiLT5jYWNoZSk7CisJCWlmIChzcmMpIHsKKwkJCXN0cnVjdCBsaWJtbnRfZnMgKmYgPSBtbnRfdGFibGVfZmluZF9tb3VudHBvaW50KHRiLAorCQkJCQkJCXNyYywgTU5UX0lURVJfQkFDS1dBUkQpOworCQkJaWYgKGYpCisJCQkJbW50ID0gbW50X2ZzX2dldF90YXJnZXQoZik7CisJCX0KKwkJaWYgKG1udCkKKwkJCXJvb3QgPSByZW1vdmVfbW91bnRwb2ludF9mcm9tX3BhdGgoc3JjLCBtbnQpOworCisJCWlmICh4c3JjICYmICF0Yi0+Y2FjaGUpIHsKKwkJCWZyZWUoeHNyYyk7CisJCQlzcmMgPSBOVUxMOworCQl9CisJCWlmICghbW50KQorCQkJZ290byBlcnI7CisKKwkJc3JjX2ZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCBtbnQsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwkJaWYgKCFzcmNfZnMpICB7CisJCQlEQkcoVEFCLCB1bF9kZWJ1Zygibm90IGZvdW5kICclcycgaW4gbW91bnRpbmZvIC0tIHVzaW5nIGRlZmF1bHQiLCBtbnQpKTsKKwkJCWdvdG8gZGZsdDsKKwkJfQorCisJCS8qIEl0J3MgcG9zc2libGUgdGhhdCBmc3RhYl9mcyBzb3VyY2UgaXMgc3ViZGlyZWN0b3J5IG9uIGJ0cmZzCisJCSAqIHN1YnZvbHVtZSBvciBhbm90aGVyIGJpbmQgbW91bnQuIEZvciBleGFtcGxlOgorCQkgKgorCQkgKiAvZGV2L3NkYyAgICAgICAgL21udC90ZXN0ICAgICAgIGJ0cmZzICAgc3Vidm9sPS9hbnlkaXIKKwkJICogL2Rldi9zZGMgICAgICAgIC9tbnQvdGVzdCAgICAgICBidHJmcyAgIGRlZmF1bHRzCisJCSAqIC9tbnQvdGVzdC9mb28gICAvbW50L3Rlc3QyICAgICAgYXV0byAgICBiaW5kCisJCSAqCisJCSAqIGluIHRoaXMgY2FzZSwgdGhlIHJvb3QgZm9yIC9tbnQvdGVzdDIgd2lsbCBiZSAvYW55ZGlyL2ZvbyBvbgorCQkgKiAvZGV2L3NkYy4gSXQgbWVhbnMgd2UgaGF2ZSB0byBjb21wb3NlIHRoZSBmaW5hbCByb290IGZyb20KKwkJICogcm9vdCBhbmQgc3JjX3Jvb3QuCisJCSAqLworCQlzcmNfcm9vdCA9IG1udF9mc19nZXRfcm9vdChzcmNfZnMpOworCisJCURCRyhGUywgdWxfZGVidWdvYmooZnMsICJzb3VyY2Ugcm9vdDogJXMsIHNvdXJjZSBGUyByb290OiAlcyIsIHJvb3QsIHNyY19yb290KSk7CisKKwkJaWYgKHNyY19yb290ICYmICFzdGFydHN3aXRoKHJvb3QsIHNyY19yb290KSkgeworCQkJaWYgKHN0cmNtcChyb290LCAiLyIpID09IDApIHsKKwkJCQlmcmVlKHJvb3QpOworCQkJCXJvb3QgPSBzdHJkdXAoc3JjX3Jvb3QpOworCQkJCWlmICghcm9vdCkKKwkJCQkJZ290byBlcnI7CisJCQl9IGVsc2UgeworCQkJCWNoYXIgKnRtcDsKKwkJCQlpZiAoYXNwcmludGYoJnRtcCwgIiVzJXMiLCBzcmNfcm9vdCwgcm9vdCkgPCAwKQorCQkJCQlnb3RvIGVycjsKKwkJCQlmcmVlKHJvb3QpOworCQkJCXJvb3QgPSB0bXA7CisJCQl9CisJCX0KKwl9CisKKyNpZmRlZiBIQVZFX0JUUkZTX1NVUFBPUlQKKwkvKgorCSAqIGJ0cmZzLXN1YnZvbHVtZSBtb3VudCAtLSBnZXQgc3Vidm9sdW1lIG5hbWUgYW5kIHVzZSBpdCBhcyBhIHJvb3QtZnMgcGF0aAorCSAqLworCWVsc2UgaWYgKHRiICYmIGZzLT5mc3R5cGUgJiYKKwkJICghc3RyY21wKGZzLT5mc3R5cGUsICJidHJmcyIpIHx8ICFzdHJjbXAoZnMtPmZzdHlwZSwgImF1dG8iKSkpIHsKKwkJaWYgKGdldF9idHJmc19mc19yb290KHRiLCBmcywgJnJvb3QpIDwgMCkKKwkJCWdvdG8gZXJyOworCX0KKyNlbmRpZiAvKiBIQVZFX0JUUkZTX1NVUFBPUlQgKi8KKworZGZsdDoKKwlpZiAoIXJvb3QpIHsKKwkJcm9vdCA9IHN0cmR1cCgiLyIpOworCQlpZiAoIXJvb3QpCisJCQlnb3RvIGVycjsKKwl9CisJKmZzcm9vdCA9IHJvb3Q7CisKKwlEQkcoVEFCLCB1bF9kZWJ1ZygiRlMgcm9vdCByZXN1bHQ6ICVzIiwgcm9vdCkpOworCisJcmV0dXJuIHNyY19mczsKK2VycjoKKwlmcmVlKHJvb3QpOworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIG1udF90YWJsZV9pc19mc19tb3VudGVkOgorICogQHRiOiAvcHJvYy9zZWxmL21vdW50aW5mbyBmaWxlCisgKiBAZnN0YWJfZnM6IC9ldGMvZnN0YWIgZW50cnkKKyAqCisgKiBDaGVja3MgaWYgdGhlIEBmc3RhYl9mcyBlbnRyeSBpcyBhbHJlYWR5IGluIHRoZSBAdGIgdGFibGUuIFRoZSAic3dhcCIgaXMKKyAqIGlnbm9yZWQuIFRoaXMgZnVuY3Rpb24gZXhwbGljaXRseSBjb21wYXJlcyB0aGUgc291cmNlLCB0YXJnZXQgYW5kIHJvb3Qgb2YgdGhlCisgKiBmaWxlc3lzdGVtcy4KKyAqCisgKiBOb3RlIHRoYXQgc291cmNlIGFuZCB0YXJnZXQgYXJlIGNhbm9uaWNhbGl6ZWQgb25seSBpZiBhIGNhY2hlIGZvciBAdGIgaXMKKyAqIGRlZmluZWQgKHNlZSBtbnRfdGFibGVfc2V0X2NhY2hlKCkpLiBUaGUgdGFyZ2V0IGNhbm9uaWNhbGl6YXRpb24gbWF5CisgKiB0cmlnZ2VyIGF1dG9tb3VudCBvbiBhdXRvZnMgbW91bnRwb2ludHMhCisgKgorICogRG9uJ3QgdXNlIGl0IGlmIHlvdSB3YW50IHRvIGtub3cgaWYgYSBkZXZpY2UgaXMgbW91bnRlZCwganVzdCB1c2UKKyAqIG1udF90YWJsZV9maW5kX3NvdXJjZSgpIG9uIHRoZSBkZXZpY2UuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBkZXNpZ25lZCBtb3N0bHkgZm9yICJtb3VudCAtYSIuCisgKgorICogUmV0dXJuczogMCBvciAxCisgKi8KK2ludCBtbnRfdGFibGVfaXNfZnNfbW91bnRlZChzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9mcyAqZnN0YWJfZnMpCit7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKworCWNoYXIgKnJvb3QgPSBOVUxMOworCWNoYXIgKnNyYzIgPSBOVUxMOworCWNvbnN0IGNoYXIgKnNyYyA9IE5VTEwsICp0Z3QgPSBOVUxMOworCWNoYXIgKnh0Z3QgPSBOVUxMOworCWludCByYyA9IDA7CisJZGV2X3QgZGV2bm8gPSAwOworCisJREJHKEZTLCB1bF9kZWJ1Z29iaihmc3RhYl9mcywgIm1udF90YWJsZV9pc19mc19tb3VudGVkOiB0YXJnZXQ9JXMsIHNvdXJjZT0lcyIsCisJCQkJbW50X2ZzX2dldF90YXJnZXQoZnN0YWJfZnMpLAorCQkJCW1udF9mc19nZXRfc291cmNlKGZzdGFiX2ZzKSkpOworCisJaWYgKG1udF9mc19pc19zd2FwYXJlYShmc3RhYl9mcykgfHwgbW50X3RhYmxlX2lzX2VtcHR5KHRiKSkgeworCQlEQkcoRlMsIHVsX2RlYnVnb2JqKGZzdGFiX2ZzLCAiLSBpZ25vcmUgKHN3YXAgb3Igbm8gZGF0YSkiKSk7CisJCXJldHVybiAwOworCX0KKworCWlmIChpc19tb3VudGluZm8odGIpKSB7CisJCS8qIEB0YiBpcyBtb3VudGluZm8sIHNvIHdlIGNhbiB0cnkgdG8gdXNlIGZzLXJvb3RzICovCisJCXN0cnVjdCBsaWJtbnRfZnMgKnJvb3RmczsKKwkJaW50IGZsYWdzID0gMDsKKworCQlpZiAobW50X2ZzX2dldF9vcHRpb24oZnN0YWJfZnMsICJiaW5kIiwgTlVMTCwgTlVMTCkgPT0gMCB8fAorCQkgICAgbW50X2ZzX2dldF9vcHRpb24oZnN0YWJfZnMsICJyYmluZCIsIE5VTEwsIE5VTEwpID09IDApCisJCQlmbGFncyA9IE1TX0JJTkQ7CisKKwkJcm9vdGZzID0gbW50X3RhYmxlX2dldF9mc19yb290KHRiLCBmc3RhYl9mcywgZmxhZ3MsICZyb290KTsKKwkJaWYgKHJvb3RmcykgeworCQkJY29uc3QgY2hhciAqZnN0eXBlID0gbW50X2ZzX2dldF9mc3R5cGUocm9vdGZzKTsKKworCQkJc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKHJvb3Rmcyk7CisJCQlpZiAoZnN0eXBlICYmIHN0cm5jbXAoZnN0eXBlLCAibmZzIiwgMykgPT0gMCAmJiByb290KSB7CisJCQkJLyogTkZTIHN0b3JlcyB0aGUgcm9vdCBhdCB0aGUgZW5kIG9mIHRoZSBzb3VyY2UgKi8KKwkJCQlzcmMgPSBzcmMyID0gc3RyYXBwZW5kKHNyYywgcm9vdCk7CisJCQkJZnJlZShyb290KTsKKwkJCQlyb290ID0gTlVMTDsKKwkJCX0KKwkJfQorCX0KKworCWlmICghc3JjKQorCQlzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmc3RhYl9mcyk7CisKKwlpZiAoc3JjICYmIHRiLT5jYWNoZSAmJiAhbW50X2ZzX2lzX3BzZXVkb2ZzKGZzdGFiX2ZzKSkKKwkJc3JjID0gbW50X3Jlc29sdmVfc3BlYyhzcmMsIHRiLT5jYWNoZSk7CisKKwlpZiAoc3JjICYmIHJvb3QpIHsKKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJZGV2bm8gPSBtbnRfZnNfZ2V0X2Rldm5vKGZzdGFiX2ZzKTsKKwkJaWYgKCFkZXZubyAmJiBzdGF0KHNyYywgJnN0KSA9PSAwICYmIFNfSVNCTEsoc3Quc3RfbW9kZSkpCisJCQlkZXZubyA9IHN0LnN0X3JkZXY7CisJfQorCisJdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoZnN0YWJfZnMpOworCisJaWYgKCF0Z3QgfHwgIXNyYykgeworCQlEQkcoRlMsIHVsX2RlYnVnb2JqKGZzdGFiX2ZzLCAiLSBpZ25vcmUgKG5vIHNvdXJjZS90YXJnZXQpIikpOworCQlnb3RvIGRvbmU7CisJfQorCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCisJREJHKEZTLCB1bF9kZWJ1Z29iaihmc3RhYl9mcywgIm1udF90YWJsZV9pc19mc19tb3VudGVkOiBzcmM9JXMsIHRndD0lcywgcm9vdD0lcyIsIHNyYywgdGd0LCByb290KSk7CisKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCisJCWludCBlcSA9IG1udF9mc19zdHJlcV9zcmNwYXRoKGZzLCBzcmMpOworCisJCWlmICghZXEgJiYgZGV2bm8gJiYgbW50X2ZzX2dldF9kZXZubyhmcykgPT0gZGV2bm8pCisJCQllcSA9IDE7CisKKwkJaWYgKCFlcSkgeworCQkJLyogVGhlIHNvdXJjZSBkb2VzIG5vdCBtYXRjaC4gTWF5YmUgdGhlIHNvdXJjZSBpcyBhIGxvb3AKKwkJCSAqIGRldmljZSBiYWNraW5nIGZpbGUuCisJCQkgKi8KKwkJCXVpbnQ2NF90IG9mZnNldCA9IDA7CisJCQljaGFyICp2YWw7CisJCQlzaXplX3QgbGVuOworCQkJaW50IGZsYWdzID0gMDsKKworCQkJaWYgKCFtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpIHx8CisJCQkgICAgIXN0YXJ0c3dpdGgobW50X2ZzX2dldF9zcmNwYXRoKGZzKSwgIi9kZXYvbG9vcCIpKQorCQkJCWNvbnRpbnVlOwkvKiBkb2VzIG5vdCBsb29rIGxpa2UgbG9vcGRldiAqLworCisJCQlpZiAobW50X2ZzX2dldF9vcHRpb24oZnN0YWJfZnMsICJvZmZzZXQiLCAmdmFsLCAmbGVuKSA9PSAwKSB7CisJCQkJaWYgKG1udF9wYXJzZV9vZmZzZXQodmFsLCBsZW4sICZvZmZzZXQpKSB7CisJCQkJCURCRyhGUywgdWxfZGVidWdvYmooZnN0YWJfZnMsICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0PSIpKTsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCWZsYWdzID0gTE9PUERFVl9GTF9PRkZTRVQ7CisJCQl9CisKKwkJCURCRyhGUywgdWxfZGVidWdvYmooZnMsICJjaGVja2luZyBmb3IgbG9vcDogc3JjPSVzIiwgbW50X2ZzX2dldF9zcmNwYXRoKGZzKSkpOworI2lmIF9fbGludXhfXworCQkJaWYgKCFsb29wZGV2X2lzX3VzZWQobW50X2ZzX2dldF9zcmNwYXRoKGZzKSwgc3JjLCBvZmZzZXQsIDAsIGZsYWdzKSkKKwkJCQljb250aW51ZTsKKworCQkJREJHKEZTLCB1bF9kZWJ1Z29iaihmcywgInVzZWQgbG9vcCIpKTsKKyNlbmRpZgorCQl9CisKKwkJaWYgKHJvb3QpIHsKKwkJCWNvbnN0IGNoYXIgKmZzdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKworCQkJaWYgKGZzdHlwZSAmJiBzdHJjbXAoZnN0eXBlLCAiY2lmcyIpID09IDApIHsKKwkJCQljb25zdCBjaGFyICp1bmNfc3ViZGlyID0gZ2V0X2NpZnNfdW5jX3N1YmRpcl9wYXRoKHNyYyk7CisJCQkJY29uc3QgY2hhciAqcGF0aF9vbl9mcyA9IG1udF9mc19nZXRfcm9vdChmcyk7CisJCQkJaWYgKCF1bmNfc3ViZGlyIHx8ICFwYXRoX29uX2ZzIHx8ICFzdHJlcV9wYXRocyh1bmNfc3ViZGlyLCBwYXRoX29uX2ZzKSkKKwkJCQkJY29udGludWU7CisJCQl9IGVsc2UgeworCQkJCWNvbnN0IGNoYXIgKnIgPSBtbnRfZnNfZ2V0X3Jvb3QoZnMpOworCQkJCWlmICghciB8fCBzdHJjbXAociwgcm9vdCkgIT0gMCkKKwkJCQkJY29udGludWU7CisJCQl9CisJCX0KKworCQkvKgorCQkgKiBDb21wYXJlIHRhcmdldCwgdHJ5IHRvIG1pbmltaXplIHRoZSBudW1iZXIgb2Ygc2l0dWF0aW9ucyB3aGVuIHdlCisJCSAqIG5lZWQgdG8gY2Fub25pY2FsaXplIHRoZSBwYXRoIHRvIGF2b2lkIHJlYWRsaW5rKCkgb24KKwkJICogbW91bnRwb2ludHMuCisJCSAqLworCQlpZiAoIXh0Z3QpIHsKKwkJCWlmIChtbnRfZnNfc3RyZXFfdGFyZ2V0KGZzLCB0Z3QpKQorCQkJCWJyZWFrOworCQkJaWYgKHRiLT5jYWNoZSkKKwkJCQl4dGd0ID0gbW50X3Jlc29sdmVfcGF0aCh0Z3QsIHRiLT5jYWNoZSk7CisJCX0KKwkJaWYgKHh0Z3QgJiYgbW50X2ZzX3N0cmVxX3RhcmdldChmcywgeHRndCkpCisJCQlicmVhazsKKwl9CisKKwlpZiAoZnMpCisJCXJjID0gMTsJCS8qIHN1Y2Nlc3MgKi8KK2RvbmU6CisJZnJlZShyb290KTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibW50X3RhYmxlX2lzX2ZzX21vdW50ZWQ6ICVzIFtyYz0lZF0iLCBzcmMsIHJjKSk7CisJZnJlZShzcmMyKTsKKwlyZXR1cm4gcmM7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworc3RhdGljIGludCBwYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkKK3sKKwlmcHJpbnRmKHN0ZGVyciwgIiVzOiVkOiBwYXJzZSBlcnJvclxuIiwgZmlsZW5hbWUsIGxpbmUpOworCisJcmV0dXJuIDE7CS8qIGFsbCBlcnJvcnMgYXJlIHJlY292ZXJhYmxlIC0tIHRoaXMgaXMgdGhlIGRlZmF1bHQgKi8KK30KKworc3RhdGljIHN0cnVjdCBsaWJtbnRfdGFibGUgKmNyZWF0ZV90YWJsZShjb25zdCBjaGFyICpmaWxlLCBpbnQgY29tbWVudHMpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisKKwlpZiAoIWZpbGUpCisJCXJldHVybiBOVUxMOworCXRiID0gbW50X25ld190YWJsZSgpOworCWlmICghdGIpCisJCWdvdG8gZXJyOworCisJbW50X3RhYmxlX2VuYWJsZV9jb21tZW50cyh0YiwgY29tbWVudHMpOworCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKHRiLCBwYXJzZXJfZXJyY2IpOworCisJaWYgKG1udF90YWJsZV9wYXJzZV9maWxlKHRiLCBmaWxlKSAhPSAwKQorCQlnb3RvIGVycjsKKwlyZXR1cm4gdGI7CitlcnI6CisJZnByaW50ZihzdGRlcnIsICIlczogcGFyc2luZyBmYWlsZWRcbiIsIGZpbGUpOworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9jb3B5X2ZzKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IHJjID0gLTE7CisKKwl0YiA9IGNyZWF0ZV90YWJsZShhcmd2WzFdLCBGQUxTRSk7CisJaWYgKCF0YikKKwkJcmV0dXJuIC0xOworCisJZnMgPSBtbnRfdGFibGVfZmluZF90YXJnZXQodGIsICIvIiwgTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFmcykKKwkJZ290byBkb25lOworCisJcHJpbnRmKCJPUklHSU5BTDpcbiIpOworCW1udF9mc19wcmludF9kZWJ1Zyhmcywgc3Rkb3V0KTsKKworCWZzID0gbW50X2NvcHlfZnMoTlVMTCwgZnMpOworCWlmICghZnMpCisJCWdvdG8gZG9uZTsKKworCXByaW50ZigiQ09QWTpcbiIpOworCW1udF9mc19wcmludF9kZWJ1Zyhmcywgc3Rkb3V0KTsKKwltbnRfdW5yZWZfZnMoZnMpOworCXJjID0gMDsKK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9wYXJzZShzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiID0gTlVMTDsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJaW50IHJjID0gLTE7CisJaW50IHBhcnNlX2NvbW1lbnRzID0gRkFMU0U7CisKKwlpZiAoYXJnYyA9PSAzICYmICFzdHJjbXAoYXJndlsyXSwgIi0tY29tbWVudHMiKSkKKwkJcGFyc2VfY29tbWVudHMgPSBUUlVFOworCisJdGIgPSBjcmVhdGVfdGFibGUoYXJndlsxXSwgcGFyc2VfY29tbWVudHMpOworCWlmICghdGIpCisJCXJldHVybiAtMTsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikKKwkJZ290byBkb25lOworCisJaWYgKG1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudCh0YikpCisJCWZwcmludGYoc3Rkb3V0LCAiSW5pdGlhbCBjb21tZW50OlxuXCIlc1wiXG4iLAorCQkJCW1udF90YWJsZV9nZXRfaW50cm9fY29tbWVudCh0YikpOworCisJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSA9PSAwKQorCQltbnRfZnNfcHJpbnRfZGVidWcoZnMsIHN0ZG91dCk7CisKKwlpZiAobW50X3RhYmxlX2dldF90cmFpbGluZ19jb21tZW50KHRiKSkKKwkJZnByaW50ZihzdGRvdXQsICJUcmFpbGluZyBjb21tZW50OlxuXCIlc1wiXG4iLAorCQkJCW1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudCh0YikpOworCXJjID0gMDsKK2RvbmU6CisJbW50X2ZyZWVfaXRlcihpdHIpOworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfZmluZChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdLCBpbnQgZHIpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKm1wYyA9IE5VTEw7CisJY29uc3QgY2hhciAqZmlsZSwgKmZpbmQsICp3aGF0OworCWludCByYyA9IC0xOworCisJaWYgKGFyZ2MgIT0gNCkgeworCQlmcHJpbnRmKHN0ZGVyciwgInRyeSAtLWhlbHBcbiIpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisKKwlmaWxlID0gYXJndlsxXSwgZmluZCA9IGFyZ3ZbMl0sIHdoYXQgPSBhcmd2WzNdOworCisJdGIgPSBjcmVhdGVfdGFibGUoZmlsZSwgRkFMU0UpOworCWlmICghdGIpCisJCWdvdG8gZG9uZTsKKworCS8qIGNyZWF0ZSBhIGNhY2hlIGZvciBjYW5vbmljYWxpemVkIHBhdGhzICovCisJbXBjID0gbW50X25ld19jYWNoZSgpOworCWlmICghbXBjKQorCQlnb3RvIGRvbmU7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgbXBjKTsKKwltbnRfdW5yZWZfY2FjaGUobXBjKTsKKworCWlmIChzdHJjYXNlY21wKGZpbmQsICJzb3VyY2UiKSA9PSAwKQorCQlmcyA9IG1udF90YWJsZV9maW5kX3NvdXJjZSh0Yiwgd2hhdCwgZHIpOworCWVsc2UgaWYgKHN0cmNhc2VjbXAoZmluZCwgInRhcmdldCIpID09IDApCisJCWZzID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCB3aGF0LCBkcik7CisKKwlpZiAoIWZzKQorCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBub3QgZm91bmQgJXMgJyVzJ1xuIiwgZmlsZSwgZmluZCwgd2hhdCk7CisJZWxzZSB7CisJCW1udF9mc19wcmludF9kZWJ1Zyhmcywgc3Rkb3V0KTsKKwkJcmMgPSAwOworCX0KK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9maW5kX2J3KHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJcmV0dXJuIHRlc3RfZmluZCh0cywgYXJnYywgYXJndiwgTU5UX0lURVJfQkFDS1dBUkQpOworfQorCitzdGF0aWMgaW50IHRlc3RfZmluZF9mdyhzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXJldHVybiB0ZXN0X2ZpbmQodHMsIGFyZ2MsIGFyZ3YsIE1OVF9JVEVSX0ZPUldBUkQpOworfQorCitzdGF0aWMgaW50IHRlc3RfZmluZF9wYWlyKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqbXBjID0gTlVMTDsKKwlpbnQgcmMgPSAtMTsKKworCXRiID0gY3JlYXRlX3RhYmxlKGFyZ3ZbMV0sIEZBTFNFKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gLTE7CisJbXBjID0gbW50X25ld19jYWNoZSgpOworCWlmICghbXBjKQorCQlnb3RvIGRvbmU7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgbXBjKTsKKwltbnRfdW5yZWZfY2FjaGUobXBjKTsKKworCWZzID0gbW50X3RhYmxlX2ZpbmRfcGFpcih0YiwgYXJndlsyXSwgYXJndlszXSwgTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFmcykKKwkJZ290byBkb25lOworCisJbW50X2ZzX3ByaW50X2RlYnVnKGZzLCBzdGRvdXQpOworCXJjID0gMDsKK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9maW5kX21vdW50cG9pbnQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgbGlibW50X2NhY2hlICptcGMgPSBOVUxMOworCWludCByYyA9IC0xOworCisJdGIgPSBtbnRfbmV3X3RhYmxlX2Zyb21fZmlsZShfUEFUSF9QUk9DX01PVU5USU5GTyk7CisJaWYgKCF0YikKKwkJcmV0dXJuIC0xOworCW1wYyA9IG1udF9uZXdfY2FjaGUoKTsKKwlpZiAoIW1wYykKKwkJZ290byBkb25lOworCW1udF90YWJsZV9zZXRfY2FjaGUodGIsIG1wYyk7CisJbW50X3VucmVmX2NhY2hlKG1wYyk7CisKKwlmcyA9IG1udF90YWJsZV9maW5kX21vdW50cG9pbnQodGIsIGFyZ3ZbMV0sIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoIWZzKQorCQlnb3RvIGRvbmU7CisKKwltbnRfZnNfcHJpbnRfZGVidWcoZnMsIHN0ZG91dCk7CisJcmMgPSAwOworZG9uZToKKwltbnRfdW5yZWZfdGFibGUodGIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X2lzX21vdW50ZWQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEwsICpmc3RhYiA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfY2FjaGUgKm1wYyA9IE5VTEw7CisJaW50IHdyaXRhYmxlID0gMDsKKwljb25zdCBjaGFyICpwYXRoID0gTlVMTDsKKworCWlmIChtbnRfaGFzX3JlZ3VsYXJfbXRhYigmcGF0aCwgJndyaXRhYmxlKSA9PSAxICYmIHdyaXRhYmxlID09IDApCisJCXRiID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUocGF0aCk7CisJZWxzZQorCQl0YiA9IG1udF9uZXdfdGFibGVfZnJvbV9maWxlKCIvcHJvYy9zZWxmL21vdW50aW5mbyIpOworCisJaWYgKCF0YikgeworCQlmcHJpbnRmKHN0ZGVyciwgImZhaWxlZCB0byBwYXJzZSBtb3VudGluZm9cbiIpOworCQlyZXR1cm4gLTE7CisJfQorCisJZnN0YWIgPSBjcmVhdGVfdGFibGUoYXJndlsxXSwgRkFMU0UpOworCWlmICghZnN0YWIpCisJCWdvdG8gZG9uZTsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikKKwkJZ290byBkb25lOworCisJbXBjID0gbW50X25ld19jYWNoZSgpOworCWlmICghbXBjKQorCQlnb3RvIGRvbmU7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgbXBjKTsKKwltbnRfdW5yZWZfY2FjaGUobXBjKTsKKworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyhmc3RhYiwgaXRyLCAmZnMpID09IDApIHsKKwkJaWYgKG1udF90YWJsZV9pc19mc19tb3VudGVkKHRiLCBmcykpCisJCQlwcmludGYoIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIiwKKwkJCQkJbW50X2ZzX2dldF9zb3VyY2UoZnMpLAorCQkJCQltbnRfZnNfZ2V0X3RhcmdldChmcykpOworCQllbHNlCisJCQlwcmludGYoIiVzIG5vdCBtb3VudGVkIG9uICVzXG4iLAorCQkJCQltbnRfZnNfZ2V0X3NvdXJjZShmcyksCisJCQkJCW1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisJfQorCitkb25lOgorCW1udF91bnJlZl90YWJsZSh0Yik7CisJbW50X3VucmVmX3RhYmxlKGZzdGFiKTsKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIDA7Cit9CisKKy8qIHJldHVybnMgMCBpZiBAYSBhbmQgQGIgdGFyZ2V0cyBhcmUgdGhlIHNhbWUgKi8KK3N0YXRpYyBpbnQgdGVzdF91bmlxX2NtcChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkgc3RydWN0IGxpYm1udF9mcyAqYSwKKwkJCSBzdHJ1Y3QgbGlibW50X2ZzICpiKQoreworCWFzc2VydChhKTsKKwlhc3NlcnQoYik7CisKKwlyZXR1cm4gbW50X2ZzX3N0cmVxX3RhcmdldChhLCBtbnRfZnNfZ2V0X3RhcmdldChiKSkgPyAwIDogMTsKK30KKworc3RhdGljIGludCB0ZXN0X3VuaXEoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlpbnQgcmMgPSAtMTsKKworCWlmIChhcmdjICE9IDIpIHsKKwkJZnByaW50ZihzdGRlcnIsICJ0cnkgLS1oZWxwXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJdGIgPSBjcmVhdGVfdGFibGUoYXJndlsxXSwgRkFMU0UpOworCWlmICghdGIpCisJCWdvdG8gZG9uZTsKKworCWlmIChtbnRfdGFibGVfdW5pcV9mcyh0YiwgMCwgdGVzdF91bmlxX2NtcCkgPT0gMCkgeworCQlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwkJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJCWlmICghaXRyKQorCQkJZ290byBkb25lOworCQl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSA9PSAwKQorCQkJbW50X2ZzX3ByaW50X2RlYnVnKGZzLCBzdGRvdXQpOworCQltbnRfZnJlZV9pdGVyKGl0cik7CisJCXJjID0gMDsKKwl9Citkb25lOgorCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90ZXN0IHRzc1tdID0geworCXsgIi0tcGFyc2UiLCAgICB0ZXN0X3BhcnNlLCAgICAgICAgIjxmaWxlPiBbLS1jb21tZW50c10gcGFyc2UgYW5kIHByaW50IHRhYiIgfSwKKwl7ICItLWZpbmQtZm9yd2FyZCIsICB0ZXN0X2ZpbmRfZncsICI8ZmlsZT4gPHNvdXJjZXx0YXJnZXQ+IDxzdHJpbmc+IiB9LAorCXsgIi0tZmluZC1iYWNrd2FyZCIsIHRlc3RfZmluZF9idywgIjxmaWxlPiA8c291cmNlfHRhcmdldD4gPHN0cmluZz4iIH0sCisJeyAiLS11bmlxLXRhcmdldCIsICAgdGVzdF91bmlxLCAgICAiPGZpbGU+IiB9LAorCXsgIi0tZmluZC1wYWlyIiwgICAgIHRlc3RfZmluZF9wYWlyLCAiPGZpbGU+IDxzb3VyY2U+IDx0YXJnZXQ+IiB9LAorCXsgIi0tZmluZC1tb3VudHBvaW50IiwgdGVzdF9maW5kX21vdW50cG9pbnQsICI8cGF0aD4iIH0sCisJeyAiLS1jb3B5LWZzIiwgICAgICAgdGVzdF9jb3B5X2ZzLCAiPGZpbGU+ICBjb3B5IHJvb3QgRlMgZnJvbSB0aGUgZmlsZSIgfSwKKwl7ICItLWlzLW1vdW50ZWQiLCAgICB0ZXN0X2lzX21vdW50ZWQsICI8ZnN0YWI+IGNoZWNrIHdoYXQgZnJvbSBmc3RhYiBpcyBhbHJlYWR5IG1vdW50ZWQiIH0sCisJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvdGFiX2RpZmYuYyBiL2xpYm1vdW50L3NyYy90YWJfZGlmZi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjODk4NjkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJtb3VudC9zcmMvdGFiX2RpZmYuYwpAQCAtMCwwICsxLDM3MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogdGFiZGlmZgorICogQHRpdGxlOiBDb21wYXJlIGNoYW5nZXMgaW4gbW91bnQgdGFibGVzCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNvbXBhcmUgY2hhbmdlcyBpbiB0aGUgbGlzdCBvZiB0aGUgbW91bnRlZCBmaWxlc3lzdGVtcworICovCisjaW5jbHVkZSAibW91bnRQLmgiCisKK3N0cnVjdCB0YWJkaWZmX2VudHJ5IHsKKwlpbnQJb3BlcjsJCQkvKiBNTlRfVEFCRElGRl8qIGZsYWdzOyAqLworCisJc3RydWN0IGxpYm1udF9mcyAqb2xkX2ZzOwkvKiBwb2ludGVyIHRvIHRoZSBvbGQgRlMgKi8KKwlzdHJ1Y3QgbGlibW50X2ZzICpuZXdfZnM7CS8qIHBvaW50ZXIgdG8gdGhlIG5ldyBGUyAqLworCisJc3RydWN0IGxpc3RfaGVhZCBjaGFuZ2VzOworfTsKKworc3RydWN0IGxpYm1udF90YWJkaWZmIHsKKwlpbnQgbmNoYW5nZXM7CQkJLyogbnVtYmVyIG9mIGNoYW5nZXMgKi8KKworCXN0cnVjdCBsaXN0X2hlYWQgY2hhbmdlczsJLyogbGlzdCB3aXRoIG1vZGlmaWVkIGVudHJpZXMgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkIHVudXNlZDsJLyogbGlzdCB3aXRoIHVudXNlZCBlbnRyaWVzICovCit9OworCisvKioKKyAqIG1udF9uZXdfdGFiZGlmZjoKKyAqCisgKiBBbGxvY2F0ZXMgYSBuZXcgdGFibGUgZGlmZiBzdHJ1Y3QuCisgKgorICogUmV0dXJuczogbmV3IGRpZmYgaGFuZGxlciBvciBOVUxMLgorICovCitzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKm1udF9uZXdfdGFiZGlmZih2b2lkKQoreworCXN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqZGYgPSBjYWxsb2MoMSwgc2l6ZW9mKCpkZikpOworCisJaWYgKCFkZikKKwkJcmV0dXJuIE5VTEw7CisKKwlEQkcoRElGRiwgdWxfZGVidWdvYmooZGYsICJhbGxvYyIpKTsKKworCUlOSVRfTElTVF9IRUFEKCZkZi0+Y2hhbmdlcyk7CisJSU5JVF9MSVNUX0hFQUQoJmRmLT51bnVzZWQpOworCXJldHVybiBkZjsKK30KKworc3RhdGljIHZvaWQgZnJlZV90YWJkaWZmX2VudHJ5KHN0cnVjdCB0YWJkaWZmX2VudHJ5ICpkZSkKK3sKKwlpZiAoIWRlKQorCQlyZXR1cm47CisJbGlzdF9kZWwoJmRlLT5jaGFuZ2VzKTsKKwltbnRfdW5yZWZfZnMoZGUtPm5ld19mcyk7CisJbW50X3VucmVmX2ZzKGRlLT5vbGRfZnMpOworCWZyZWUoZGUpOworfQorCisvKioKKyAqIG1udF9mcmVlX3RhYmRpZmY6CisgKiBAZGY6IHRhYiBkaWZmCisgKgorICogRGVhbGxvY2F0ZXMgdGFiIGRpZmYgc3RydWN0IGFuZCBhbGwgZW50cmllcy4KKyAqLwordm9pZCBtbnRfZnJlZV90YWJkaWZmKHN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqZGYpCit7CisJaWYgKCFkZikKKwkJcmV0dXJuOworCisJREJHKERJRkYsIHVsX2RlYnVnb2JqKGRmLCAiZnJlZSIpKTsKKworCXdoaWxlICghbGlzdF9lbXB0eSgmZGYtPmNoYW5nZXMpKSB7CisJCXN0cnVjdCB0YWJkaWZmX2VudHJ5ICpkZSA9IGxpc3RfZW50cnkoZGYtPmNoYW5nZXMubmV4dCwKKwkJCSAgICAgICAgICAgICAgICAgIHN0cnVjdCB0YWJkaWZmX2VudHJ5LCBjaGFuZ2VzKTsKKwkJZnJlZV90YWJkaWZmX2VudHJ5KGRlKTsKKwl9CisKKwlmcmVlKGRmKTsKK30KKworLyoqCisgKiBtbnRfdGFiZGlmZl9uZXh0X2NoYW5nZToKKyAqIEBkZjogdGFiZGlmZiBwb2ludGVyCisgKiBAaXRyOiBpdGVyYXRvcgorICogQG9sZF9mczogcmV0dXJucyB0aGUgb2xkIGVudHJ5IG9yIE5VTEwgaWYgbmV3IGVudHJ5IGFkZGVkCisgKiBAbmV3X2ZzOiByZXR1cm5zIHRoZSBuZXcgZW50cnkgb3IgTlVMTCBpZiBvbGQgZW50cnkgcmVtb3ZlZAorICogQG9wZXI6IE1OVF9UQUJESUZGX3tNT1ZFLFVNT1VOVCxSRU1PVU5ULE1PVU5UfSBmbGFncworICoKKyAqIFRoZSBvcHRpb25zIEBvbGRfZnMsIEBuZXdfZnMgYW5kIEBvcGVyIGFyZSBvcHRpb25hbC4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yIG9yIDEgYXQgdGhlIGVuZCBvZiBsaXN0LgorICovCitpbnQgbW50X3RhYmRpZmZfbmV4dF9jaGFuZ2Uoc3RydWN0IGxpYm1udF90YWJkaWZmICpkZiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIsCisJCXN0cnVjdCBsaWJtbnRfZnMgKipvbGRfZnMsIHN0cnVjdCBsaWJtbnRfZnMgKipuZXdfZnMsIGludCAqb3BlcikKK3sKKwlpbnQgcmMgPSAxOworCXN0cnVjdCB0YWJkaWZmX2VudHJ5ICpkZSA9IE5VTEw7CisKKwlpZiAoIWRmIHx8ICFpdHIpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKCFpdHItPmhlYWQpCisJCU1OVF9JVEVSX0lOSVQoaXRyLCAmZGYtPmNoYW5nZXMpOworCWlmIChpdHItPnAgIT0gaXRyLT5oZWFkKSB7CisJCU1OVF9JVEVSX0lURVJBVEUoaXRyLCBkZSwgc3RydWN0IHRhYmRpZmZfZW50cnksIGNoYW5nZXMpOworCQlyYyA9IDA7CisJfQorCisJaWYgKG9sZF9mcykKKwkJKm9sZF9mcyA9IGRlID8gZGUtPm9sZF9mcyA6IE5VTEw7CisJaWYgKG5ld19mcykKKwkJKm5ld19mcyA9IGRlID8gZGUtPm5ld19mcyA6IE5VTEw7CisJaWYgKG9wZXIpCisJCSpvcGVyID0gZGUgPyBkZS0+b3BlciA6IDA7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGFiZGlmZl9yZXNldChzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRmKQoreworCWFzc2VydChkZik7CisKKwlEQkcoRElGRiwgdWxfZGVidWdvYmooZGYsICJyZXNldHRpbmciKSk7CisKKwkvKiB6ZXJvaXplIGFsbCBlbnRyaWVzIGFuZCBtb3ZlIHRoZW0gdG8gdGhlIGxpc3Qgb2YgdW51c2VkCisJICovCisJd2hpbGUgKCFsaXN0X2VtcHR5KCZkZi0+Y2hhbmdlcykpIHsKKwkJc3RydWN0IHRhYmRpZmZfZW50cnkgKmRlID0gbGlzdF9lbnRyeShkZi0+Y2hhbmdlcy5uZXh0LAorCQkJICAgICAgICAgICAgICAgICAgc3RydWN0IHRhYmRpZmZfZW50cnksIGNoYW5nZXMpOworCisJCWxpc3RfZGVsKCZkZS0+Y2hhbmdlcyk7CisJCWxpc3RfYWRkX3RhaWwoJmRlLT5jaGFuZ2VzLCAmZGYtPnVudXNlZCk7CisKKwkJbW50X3VucmVmX2ZzKGRlLT5uZXdfZnMpOworCQltbnRfdW5yZWZfZnMoZGUtPm9sZF9mcyk7CisKKwkJZGUtPm5ld19mcyA9IGRlLT5vbGRfZnMgPSBOVUxMOworCQlkZS0+b3BlciA9IDA7CisJfQorCisJZGYtPm5jaGFuZ2VzID0gMDsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0YWJkaWZmX2FkZF9lbnRyeShzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRmLCBzdHJ1Y3QgbGlibW50X2ZzICpvbGQsCisJCQkgICAgIHN0cnVjdCBsaWJtbnRfZnMgKm5ldywgaW50IG9wZXIpCit7CisJc3RydWN0IHRhYmRpZmZfZW50cnkgKmRlOworCisJYXNzZXJ0KGRmKTsKKworCURCRyhESUZGLCB1bF9kZWJ1Z29iaihkZiwgImFkZCBjaGFuZ2Ugb24gJXMiLAorCQkJCW1udF9mc19nZXRfdGFyZ2V0KG5ldyA/IG5ldyA6IG9sZCkpKTsKKworCWlmICghbGlzdF9lbXB0eSgmZGYtPnVudXNlZCkpIHsKKwkJZGUgPSBsaXN0X2VudHJ5KGRmLT51bnVzZWQubmV4dCwgc3RydWN0IHRhYmRpZmZfZW50cnksIGNoYW5nZXMpOworCQlsaXN0X2RlbCgmZGUtPmNoYW5nZXMpOworCX0gZWxzZSB7CisJCWRlID0gY2FsbG9jKDEsIHNpemVvZigqZGUpKTsKKwkJaWYgKCFkZSkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCUlOSVRfTElTVF9IRUFEKCZkZS0+Y2hhbmdlcyk7CisKKwltbnRfcmVmX2ZzKG5ldyk7CisJbW50X3JlZl9mcyhvbGQpOworCisJbW50X3VucmVmX2ZzKGRlLT5uZXdfZnMpOworCW1udF91bnJlZl9mcyhkZS0+b2xkX2ZzKTsKKworCWRlLT5vbGRfZnMgPSBvbGQ7CisJZGUtPm5ld19mcyA9IG5ldzsKKwlkZS0+b3BlciA9IG9wZXI7CisKKwlsaXN0X2FkZF90YWlsKCZkZS0+Y2hhbmdlcywgJmRmLT5jaGFuZ2VzKTsKKwlkZi0+bmNoYW5nZXMrKzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCB0YWJkaWZmX2VudHJ5ICp0YWJkaWZmX2dldF9tb3VudChzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRmLAorCQkJCQkgICAgICAgY29uc3QgY2hhciAqc3JjLAorCQkJCQkgICAgICAgaW50IGlkKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlhc3NlcnQoZGYpOworCisJbGlzdF9mb3JfZWFjaChwLCAmZGYtPmNoYW5nZXMpIHsKKwkJc3RydWN0IHRhYmRpZmZfZW50cnkgKmRlOworCisJCWRlID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgdGFiZGlmZl9lbnRyeSwgY2hhbmdlcyk7CisKKwkJaWYgKGRlLT5vcGVyID09IE1OVF9UQUJESUZGX01PVU5UICYmIGRlLT5uZXdfZnMgJiYKKwkJICAgIG1udF9mc19nZXRfaWQoZGUtPm5ld19mcykgPT0gaWQpIHsKKworCQkJY29uc3QgY2hhciAqcyA9IG1udF9mc19nZXRfc291cmNlKGRlLT5uZXdfZnMpOworCisJCQlpZiAocyA9PSBOVUxMICYmIHNyYyA9PSBOVUxMKQorCQkJCXJldHVybiBkZTsKKwkJCWlmIChzICYmIHNyYyAmJiBzdHJjbXAocywgc3JjKSA9PSAwKQorCQkJCXJldHVybiBkZTsKKwkJfQorCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBtbnRfZGlmZl90YWJsZXM6CisgKiBAZGY6IGRpZmYgaGFuZGxlcgorICogQG9sZF90YWI6IG9sZCB0YWJsZQorICogQG5ld190YWI6IG5ldyB0YWJsZQorICoKKyAqIENvbXBhcmVzIEBvbGRfdGFiIGFuZCBAbmV3X3RhYiwgdGhlIHJlc3VsdCBpcyBzdG9yZWQgaW4gQGRmIGFuZCBhY2Nlc3NpYmxlIGJ5CisgKiBtbnRfdGFiZGlmZl9uZXh0X2NoYW5nZSgpLgorICoKKyAqIFJldHVybnM6IG51bWJlciBvZiBjaGFuZ2VzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF9kaWZmX3RhYmxlcyhzdHJ1Y3QgbGlibW50X3RhYmRpZmYgKmRmLCBzdHJ1Y3QgbGlibW50X3RhYmxlICpvbGRfdGFiLAorCQkgICAgc3RydWN0IGxpYm1udF90YWJsZSAqbmV3X3RhYikKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCWludCBubywgbm47CisKKwlpZiAoIWRmIHx8ICFvbGRfdGFiIHx8ICFuZXdfdGFiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCXRhYmRpZmZfcmVzZXQoZGYpOworCisJbm8gPSBtbnRfdGFibGVfZ2V0X25lbnRzKG9sZF90YWIpOworCW5uID0gbW50X3RhYmxlX2dldF9uZW50cyhuZXdfdGFiKTsKKworCWlmICghbm8gJiYgIW5uKQkJCS8qIGJvdGggdGFibGVzIGFyZSBlbXB0eSAqLworCQlyZXR1cm4gMDsKKworCURCRyhESUZGLCB1bF9kZWJ1Z29iaihkZiwgImFuYWx5emUgbmV3ICglZCBlbnRyaWVzKSwgIgorCQkJCSAgICAgICAgICAib2xkICglZCBlbnRyaWVzKSIsCisJCQkJbm4sIG5vKSk7CisKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKworCS8qIGFsbCBtb3VudGVkIG9yIHVtb3VudGVkICovCisJaWYgKCFubyAmJiBubikgeworCQl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyhuZXdfdGFiLCAmaXRyLCAmZnMpID09IDApCisJCQl0YWJkaWZmX2FkZF9lbnRyeShkZiwgTlVMTCwgZnMsIE1OVF9UQUJESUZGX01PVU5UKTsKKwkJZ290byBkb25lOworCisJfSBlbHNlIGlmIChubyAmJiAhbm4pIHsKKwkJd2hpbGUobW50X3RhYmxlX25leHRfZnMob2xkX3RhYiwgJml0ciwgJmZzKSA9PSAwKQorCQkJdGFiZGlmZl9hZGRfZW50cnkoZGYsIGZzLCBOVUxMLCBNTlRfVEFCRElGRl9VTU9VTlQpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogc2VhcmNoIG5ld2x5IG1vdW50ZWQgb3IgbW9kaWZpZWQgKi8KKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyhuZXdfdGFiLCAmaXRyLCAmZnMpID09IDApIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqb19mczsKKwkJY29uc3QgY2hhciAqc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoZnMpLAorCQkJICAgKnRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKworCQlvX2ZzID0gbW50X3RhYmxlX2ZpbmRfcGFpcihvbGRfdGFiLCBzcmMsIHRndCwgTU5UX0lURVJfRk9SV0FSRCk7CisJCWlmICghb19mcykKKwkJCS8qICdmcycgaXMgbm90IGluIHRoZSBvbGQgdGFibGUgLS0gc28gbmV3bHkgbW91bnRlZCAqLworCQkJdGFiZGlmZl9hZGRfZW50cnkoZGYsIE5VTEwsIGZzLCBNTlRfVEFCRElGRl9NT1VOVCk7CisJCWVsc2UgeworCQkJLyogaXMgbW9kaWZpZWQ/ICovCisJCQljb25zdCBjaGFyICp2MSA9IG1udF9mc19nZXRfdmZzX29wdGlvbnMob19mcyksCisJCQkJICAgKnYyID0gbW50X2ZzX2dldF92ZnNfb3B0aW9ucyhmcyksCisJCQkJICAgKmYxID0gbW50X2ZzX2dldF9mc19vcHRpb25zKG9fZnMpLAorCQkJCSAgICpmMiA9IG1udF9mc19nZXRfZnNfb3B0aW9ucyhmcyk7CisKKwkJCWlmICgodjEgJiYgdjIgJiYgc3RyY21wKHYxLCB2MikpIHx8IChmMSAmJiBmMiAmJiBzdHJjbXAoZjEsIGYyKSkpCisJCQkJdGFiZGlmZl9hZGRfZW50cnkoZGYsIG9fZnMsIGZzLCBNTlRfVEFCRElGRl9SRU1PVU5UKTsKKwkJfQorCX0KKworCS8qIHNlYXJjaCB1bW91bnRlZCBvciBtb3ZlZCAqLworCW1udF9yZXNldF9pdGVyKCZpdHIsIE1OVF9JVEVSX0ZPUldBUkQpOworCXdoaWxlKG1udF90YWJsZV9uZXh0X2ZzKG9sZF90YWIsICZpdHIsICZmcykgPT0gMCkgeworCQljb25zdCBjaGFyICpzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyksCisJCQkgICAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworCisJCWlmICghbW50X3RhYmxlX2ZpbmRfcGFpcihuZXdfdGFiLCBzcmMsIHRndCwgTU5UX0lURVJfRk9SV0FSRCkpIHsKKwkJCXN0cnVjdCB0YWJkaWZmX2VudHJ5ICpkZTsKKworCQkJZGUgPSB0YWJkaWZmX2dldF9tb3VudChkZiwgc3JjLAltbnRfZnNfZ2V0X2lkKGZzKSk7CisJCQlpZiAoZGUpIHsKKwkJCQltbnRfcmVmX2ZzKGZzKTsKKwkJCQltbnRfdW5yZWZfZnMoZGUtPm9sZF9mcyk7CisJCQkJZGUtPm9wZXIgPSBNTlRfVEFCRElGRl9NT1ZFOworCQkJCWRlLT5vbGRfZnMgPSBmczsKKwkJCX0gZWxzZQorCQkJCXRhYmRpZmZfYWRkX2VudHJ5KGRmLCBmcywgTlVMTCwgTU5UX1RBQkRJRkZfVU1PVU5UKTsKKwkJfQorCX0KK2RvbmU6CisJREJHKERJRkYsIHVsX2RlYnVnb2JqKGRmLCAiJWQgY2hhbmdlcyBkZXRlY3RlZCIsIGRmLT5uY2hhbmdlcykpOworCXJldHVybiBkZi0+bmNoYW5nZXM7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KKworc3RhdGljIGludCB0ZXN0X2RpZmYoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yl9vbGQsICp0Yl9uZXc7CisJc3RydWN0IGxpYm1udF90YWJkaWZmICpkaWZmOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKm9sZCwgKm5ldzsKKwlpbnQgcmMgPSAtMSwgY2hhbmdlOworCisJdGJfb2xkID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUoYXJndlsxXSk7CisJdGJfbmV3ID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUoYXJndlsyXSk7CisJZGlmZiA9IG1udF9uZXdfdGFiZGlmZigpOworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKworCWlmICghdGJfb2xkIHx8ICF0Yl9uZXcgfHwgIWRpZmYgfHwgIWl0cikgeworCQl3YXJueCgiZmFpbGVkIHRvIGFsbG9jYXRlIHJlc291cmNlcyIpOworCQlnb3RvIGRvbmU7CisJfQorCisJcmMgPSBtbnRfZGlmZl90YWJsZXMoZGlmZiwgdGJfb2xkLCB0Yl9uZXcpOworCWlmIChyYyA8IDApCisJCWdvdG8gZG9uZTsKKworCXdoaWxlKG1udF90YWJkaWZmX25leHRfY2hhbmdlKGRpZmYsIGl0ciwgJm9sZCwgJm5ldywgJmNoYW5nZSkgPT0gMCkgeworCisJCXByaW50ZigiJXMgb24gJXM6ICIsIG1udF9mc19nZXRfc291cmNlKG5ldyA/IG5ldyA6IG9sZCksCisJCQkJICAgICBtbnRfZnNfZ2V0X3RhcmdldChuZXcgPyBuZXcgOiBvbGQpKTsKKworCQlzd2l0Y2goY2hhbmdlKSB7CisJCWNhc2UgTU5UX1RBQkRJRkZfTU9WRToKKwkJCXByaW50ZigiTU9WRUQgdG8gJXNcbiIsIG1udF9mc19nZXRfdGFyZ2V0KG5ldykpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX1RBQkRJRkZfVU1PVU5UOgorCQkJcHJpbnRmKCJVTU9VTlRFRFxuIik7CisJCQlicmVhazsKKwkJY2FzZSBNTlRfVEFCRElGRl9SRU1PVU5UOgorCQkJcHJpbnRmKCJSRU1PVU5URUQgZnJvbSAnJXMnIHRvICclcydcbiIsCisJCQkJCW1udF9mc19nZXRfb3B0aW9ucyhvbGQpLAorCQkJCQltbnRfZnNfZ2V0X29wdGlvbnMobmV3KSk7CisJCQlicmVhazsKKwkJY2FzZSBNTlRfVEFCRElGRl9NT1VOVDoKKwkJCXByaW50ZigiTU9VTlRFRFxuIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXByaW50ZigidW5rbm93biBjaGFuZ2UhXG4iKTsKKwkJfQorCX0KKworCXJjID0gMDsKK2RvbmU6CisJbW50X3VucmVmX3RhYmxlKHRiX29sZCk7CisJbW50X3VucmVmX3RhYmxlKHRiX25ldyk7CisJbW50X2ZyZWVfdGFiZGlmZihkaWZmKTsKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHJjOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfdGVzdCB0c3NbXSA9IHsKKwkJeyAiLS1kaWZmIiwgdGVzdF9kaWZmLCAiPG9sZD4gPG5ldz4gcHJpbnRzIGNoYW5nZSIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvdGFiX3BhcnNlLmMgYi9saWJtb3VudC9zcmMvdGFiX3BhcnNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODlmN2M0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy90YWJfcGFyc2UuYwpAQCAtMCwwICsxLDEyMTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisjaWZkZWYgSEFWRV9TQ0FORElSQVQKKyNpZm5kZWYgX19VU0VfR05VCisjZGVmaW5lIF9fVVNFX0dOVQorI2VuZGlmCS8qICFfX1VTRV9HTlUgKi8KKyNlbmRpZgkvKiBIQVZFX1NDQU5ESVJBVCAqLworCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJtYW5nbGUuaCIKKyNpbmNsdWRlICJtb3VudFAuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCitzdHJ1Y3QgbGlibW50X3BhcnNlciB7CisJRklMRQkqZjsJCS8qIGZzdGFiLCBtdGFiLCBzd2FwcyBvciBtb3VudGluZm8gLi4uICovCisJY29uc3QgY2hhciAqZmlsZW5hbWU7CS8qIGZpbGUgbmFtZSBvciBOVUxMICovCisJY2hhcgkqYnVmOwkJLyogYnVmZmVyICh0aGUgY3VycmVudCBsaW5lIGNvbnRlbnQpICovCisJc2l6ZV90CWJ1ZnNpejsJCS8qIHNpemUgb2YgdGhlIGJ1ZmZlciAqLworCXNpemVfdAlsaW5lOwkJLyogY3VycmVudCBsaW5lICovCit9OworCitzdGF0aWMgdm9pZCBwYXJzZXJfY2xlYW51cChzdHJ1Y3QgbGlibW50X3BhcnNlciAqcGEpCit7CisJaWYgKCFwYSkKKwkJcmV0dXJuOworCWZyZWUocGEtPmJ1Zik7CisJbWVtc2V0KHBhLCAwLCBzaXplb2YoKnBhKSk7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpuZXh0X251bWJlcihjb25zdCBjaGFyICpzLCBpbnQgKm51bSwgaW50ICpvaykKK3sKKwljaGFyICplbmQgPSBOVUxMOworCisJYXNzZXJ0KG51bSk7CisJYXNzZXJ0KHMpOworCWFzc2VydChvayk7CisKKwkqb2sgPSAwOworCXMgPSBza2lwX2JsYW5rKHMpOworCWlmICghcyB8fCAhKnMpCisJCXJldHVybiBzOworCisJKm51bSA9IHN0cnRvbChzLCAmZW5kLCAxMCk7CisJaWYgKGVuZCA9PSBOVUxMIHx8IHMgPT0gZW5kKQorCSAgICAgICByZXR1cm4gczsKKworCS8qIHZhbGlkIGVuZCBvZiBudW1iZXIgaXMgYSBzcGFjZSBvciBhIHRlcm1pbmF0b3IgKi8KKwlpZiAoKmVuZCA9PSAnICcgfHwgKmVuZCA9PSAnXHQnIHx8ICplbmQgPT0gJ1wwJykKKwkJKm9rID0gMTsKKworCXJldHVybiBlbmQ7Cit9CisKKy8qCisgKiBQYXJzZXMgb25lIGxpbmUgZnJvbSB7ZnMsbX10YWIKKyAqLworc3RhdGljIGludCBtbnRfcGFyc2VfdGFibGVfbGluZShzdHJ1Y3QgbGlibW50X2ZzICpmcywgY29uc3QgY2hhciAqcykKK3sKKwlpbnQgcmMsIG4gPSAwLCB4cmM7CisJY2hhciAqc3JjID0gTlVMTCwgKmZzdHlwZSA9IE5VTEwsICpvcHRzdHIgPSBOVUxMOworCisJcmMgPSBzc2NhbmYocywJVUxfU0NOc0EiICIJLyogKDEpIHNvdXJjZSAqLworCQkJVUxfU0NOc0EiICIJLyogKDIpIHRhcmdldCAqLworCQkJVUxfU0NOc0EiICIJLyogKDMpIEZTIHR5cGUgKi8KKwkJCVVMX1NDTnNBIiAiCS8qICg0KSBvcHRpb25zICovCisJCQkiJW4iLAkJLyogYnl0ZSBjb3VudCAqLworCisJCQkmc3JjLAorCQkJJmZzLT50YXJnZXQsCisJCQkmZnN0eXBlLAorCQkJJm9wdHN0ciwKKwkJCSZuKTsKKwl4cmMgPSByYzsKKworCWlmIChyYyA9PSAzIHx8IHJjID09IDQpIHsJCQkvKiBvcHRpb25zIGFyZSBvcHRpb25hbCAqLworCQl1bm1hbmdsZV9zdHJpbmcoc3JjKTsKKwkJdW5tYW5nbGVfc3RyaW5nKGZzLT50YXJnZXQpOworCQl1bm1hbmdsZV9zdHJpbmcoZnN0eXBlKTsKKworCQlpZiAob3B0c3RyICYmICpvcHRzdHIpCisJCQl1bm1hbmdsZV9zdHJpbmcob3B0c3RyKTsKKworCQkvKiBub3RlIHRoYXQgX19mb28gZnVuY3Rpb25zIGRvIG5vdCByZWFsbG9jYXRlIHRoZSBzdHJpbmcKKwkJICovCisJCXJjID0gX19tbnRfZnNfc2V0X3NvdXJjZV9wdHIoZnMsIHNyYyk7CisJCWlmICghcmMpIHsKKwkJCXNyYyA9IE5VTEw7CisJCQlyYyA9IF9fbW50X2ZzX3NldF9mc3R5cGVfcHRyKGZzLCBmc3R5cGUpOworCQkJaWYgKCFyYykKKwkJCQlmc3R5cGUgPSBOVUxMOworCQl9CisJCWlmICghcmMgJiYgb3B0c3RyKQorCQkJcmMgPSBtbnRfZnNfc2V0X29wdGlvbnMoZnMsIG9wdHN0cik7CisJCWZyZWUob3B0c3RyKTsKKwkJb3B0c3RyID0gTlVMTDsKKwl9IGVsc2UgeworCQlEQkcoVEFCLCB1bF9kZWJ1ZygidGFiIHBhcnNlIGVycm9yOiBbc3NjYW5mIHJjPSVkXTogJyVzJyIsIHJjLCBzKSk7CisJCXJjID0gLUVJTlZBTDsKKwl9CisKKwlpZiAocmMpIHsKKwkJZnJlZShzcmMpOworCQlmcmVlKGZzdHlwZSk7CisJCWZyZWUob3B0c3RyKTsKKwkJREJHKFRBQiwgdWxfZGVidWcoInRhYiBwYXJzZSBlcnJvcjogW3NldCB2YXJzLCByYz0lZF1cbiIsIHJjKSk7CisJCXJldHVybiByYzsJLyogZXJyb3IgKi8KKwl9CisKKwlmcy0+cGFzc25vID0gZnMtPmZyZXEgPSAwOworCisJaWYgKHhyYyA9PSA0ICYmIG4pCisJCXMgPSBza2lwX2JsYW5rKHMgKyBuKTsKKwlpZiAoeHJjID09IDQgJiYgKnMpIHsKKwkJaW50IG9rID0gMDsKKworCQlzID0gbmV4dF9udW1iZXIocywgJmZzLT5mcmVxLCAmb2spOworCQlpZiAoIW9rKSB7CisJCQlpZiAocyAmJiAqcykgeworCQkJCURCRyhUQUIsIHVsX2RlYnVnKCJ0YWIgcGFyc2UgZXJyb3I6IFtmcmVxXSIpKTsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQl9CisJCX0gZWxzZSB7CisJCQlzID0gbmV4dF9udW1iZXIocywgJmZzLT5wYXNzbm8sICZvayk7CisJCQlpZiAoIW9rICYmIHMgJiYgKnMpIHsKKwkJCQlEQkcoVEFCLCB1bF9kZWJ1ZygidGFiIHBhcnNlIGVycm9yOiBbcGFzc25vXSIpKTsKKwkJCQlyYyA9IC1FSU5WQUw7CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBQYXJzZXMgb25lIGxpbmUgZnJvbSBhIG1vdW50aW5mbyBmaWxlCisgKi8KK3N0YXRpYyBpbnQgbW50X3BhcnNlX21vdW50aW5mb19saW5lKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzKQoreworCWludCByYywgZW5kID0gMDsKKwl1bnNpZ25lZCBpbnQgbWFqLCBtaW47CisJY2hhciAqZnN0eXBlID0gTlVMTCwgKnNyYyA9IE5VTEw7CisJY29uc3QgY2hhciAqcDsKKworCXJjID0gc3NjYW5mKHMsCSIlZCAiCQkvKiAoMSkgaWQgKi8KKwkJCSIlZCAiCQkvKiAoMikgcGFyZW50ICovCisJCQkiJXU6JXUgIgkvKiAoMykgbWFqOm1pbiAqLworCQkJVUxfU0NOc0EiICIJLyogKDQpIG1vdW50cm9vdCAqLworCQkJVUxfU0NOc0EiICIJLyogKDUpIHRhcmdldCAqLworCQkJVUxfU0NOc0EJLyogKDYpIHZmcyBvcHRpb25zIChmcy1pbmRlcGVuZGVudCkgKi8KKwkJCSIlbiIsCQkvKiBudW1iZXIgb2YgcmVhZCBieXRlcyAqLworCisJCQkmZnMtPmlkLAorCQkJJmZzLT5wYXJlbnQsCisJCQkmbWFqLCAmbWluLAorCQkJJmZzLT5yb290LAorCQkJJmZzLT50YXJnZXQsCisJCQkmZnMtPnZmc19vcHRzdHIsCisJCQkmZW5kKTsKKworCWlmIChyYyA+PSA3ICYmIGVuZCA+IDApCisJCXMgKz0gZW5kOworCisJLyogKDcpIG9wdGlvbmFsIGZpZWxkcywgdGVybWluYXRlZCBieSAiIC0gIiAqLworCXAgPSBzdHJzdHIocywgIiAtICIpOworCWlmICghcCkgeworCQlEQkcoVEFCLCB1bF9kZWJ1ZygibW91bnRpbmZvIHBhcnNlIGVycm9yOiBzZXBhcmF0b3Igbm90IGZvdW5kIikpOworCQlyZXR1cm4gLUVJTlZBTDsKKwl9CisJaWYgKHAgPiBzICsgMSkKKwkJZnMtPm9wdF9maWVsZHMgPSBzdHJuZHVwKHMgKyAxLCBwIC0gcyAtIDEpOworCXMgPSBwICsgMzsKKworCWVuZCA9IDA7CisJcmMgKz0gc3NjYW5mKHMsCVVMX1NDTnNBIiVuIiwJLyogKDgpIEZTIHR5cGUgKi8KKworCQkJJmZzdHlwZSwKKwkJCSZlbmQpOworCisJaWYgKHJjID49IDggJiYgZW5kID4gMCkKKwkJcyArPSBlbmQ7CisJaWYgKHNbMF0gPT0gJyAnKQorCQlzKys7CisKKwkvKiAoOSkgc291cmNlIGNhbiB1bmZvcnR1bmF0ZWx5IGJlIGFuIGVtcHR5IHN0cmluZyAiIiBhbmQgc2NhbmYgZG9lcworCSAqIG5vdCB3b3JrIHdlbGwgd2l0aCBlbXB0eSBzdHJpbmcuIFRlc3Qgd2l0aDoKKwkgKiAgICAgJCBzdWRvIG1vdW50IC10IHRtcGZzICIiIC90bXAvYmIKKwkgKiAgICAgJCBtb3VudHBvaW50IC90bXAvYmIKKwkgKiAqLworCWlmIChzWzBdID09ICcgJykgeworCQlzcmMgPSBzdHJkdXAoIiIpOworCQlzKys7CisJCXJjKys7CisJCXJjICs9IHNzY2FuZihzLAlVTF9TQ05zQSwJLyogKDEwKSBmcyBvcHRpb25zIChmcyBzcGVjaWZpYykgKi8KKworCQkJCSZmcy0+ZnNfb3B0c3RyKTsKKwl9IGVsc2UgeworCQlyYyArPSBzc2NhbmYocywJVUxfU0NOc0EiICIJLyogKDkpIHNvdXJjZSAqLworCQkJCVVMX1NDTnNBLAkvKiAoMTApIGZzIG9wdGlvbnMgKGZzIHNwZWNpZmljKSAqLworCisJCQkJJnNyYywKKwkJCQkmZnMtPmZzX29wdHN0cik7CisJfQorCisJaWYgKHJjID49IDEwKSB7CisJCXNpemVfdCBzejsKKworCQlmcy0+ZmxhZ3MgfD0gTU5UX0ZTX0tFUk5FTDsKKwkJZnMtPmRldm5vID0gbWFrZWRldihtYWosIG1pbik7CisKKwkJLyogcmVtb3ZlICJcMDQwKGRlbGV0ZWQpIiBzdWZmaXggKi8KKwkJc3ogPSBzdHJsZW4oZnMtPnRhcmdldCk7CisJCWlmIChzeiA+IFBBVEhfREVMRVRFRF9TVUZGSVhfU1opIHsKKwkJCWNoYXIgKnB0ciA9IGZzLT50YXJnZXQgKyAoc3ogLSBQQVRIX0RFTEVURURfU1VGRklYX1NaKTsKKworCQkJaWYgKHN0cmNtcChwdHIsIFBBVEhfREVMRVRFRF9TVUZGSVgpID09IDApCisJCQkJKnB0ciA9ICdcMCc7CisJCX0KKworCQl1bm1hbmdsZV9zdHJpbmcoZnMtPnJvb3QpOworCQl1bm1hbmdsZV9zdHJpbmcoZnMtPnRhcmdldCk7CisJCXVubWFuZ2xlX3N0cmluZyhmcy0+dmZzX29wdHN0cik7CisJCXVubWFuZ2xlX3N0cmluZyhmc3R5cGUpOworCQl1bm1hbmdsZV9zdHJpbmcoc3JjKTsKKwkJdW5tYW5nbGVfc3RyaW5nKGZzLT5mc19vcHRzdHIpOworCisJCXJjID0gX19tbnRfZnNfc2V0X2ZzdHlwZV9wdHIoZnMsIGZzdHlwZSk7CisJCWlmICghcmMpIHsKKwkJCWZzdHlwZSA9IE5VTEw7CisJCQlyYyA9IF9fbW50X2ZzX3NldF9zb3VyY2VfcHRyKGZzLCBzcmMpOworCQkJaWYgKCFyYykKKwkJCQlzcmMgPSBOVUxMOworCQl9CisKKwkJLyogbWVyZ2UgVkZTIGFuZCBGUyBvcHRpb25zIHRvIG9uZSBzdHJpbmcgKi8KKwkJZnMtPm9wdHN0ciA9IG1udF9mc19zdHJkdXBfb3B0aW9ucyhmcyk7CisJCWlmICghZnMtPm9wdHN0cikKKwkJCXJjID0gLUVOT01FTTsKKwl9IGVsc2UgeworCQlEQkcoVEFCLCB1bF9kZWJ1ZygKKwkJCSJtb3VudGluZm8gcGFyc2UgZXJyb3IgW3NzY2FuZiByYz0lZF06ICclcyciLCByYywgcykpOworCQlyYyA9IC1FSU5WQUw7CisJfQorCisJZnJlZShmc3R5cGUpOworCWZyZWUoc3JjKTsKKworCXJldHVybiByYzsKK30KKworLyoKKyAqIFBhcnNlcyBvbmUgbGluZSBmcm9tIHV0YWIgZmlsZQorICovCitzdGF0aWMgaW50IG1udF9wYXJzZV91dGFiX2xpbmUoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnMpCit7CisJY29uc3QgY2hhciAqcCA9IHM7CisKKwlhc3NlcnQoZnMpOworCWFzc2VydChzKTsKKwlhc3NlcnQoIWZzLT5zb3VyY2UpOworCWFzc2VydCghZnMtPnRhcmdldCk7CisKKwl3aGlsZSAocCAmJiAqcCkgeworCQljb25zdCBjaGFyICplbmQgPSBOVUxMOworCisJCXdoaWxlICgqcCA9PSAnICcpIHArKzsKKwkJaWYgKCEqcCkKKwkJCWJyZWFrOworCisJCWlmICghZnMtPnNvdXJjZSAmJiAhc3RybmNtcChwLCAiU1JDPSIsIDQpKSB7CisJCQljaGFyICp2ID0gdW5tYW5nbGUocCArIDQsICZlbmQpOworCQkJaWYgKCF2KQorCQkJCWdvdG8gZW5vbWVtOworCQkJX19tbnRfZnNfc2V0X3NvdXJjZV9wdHIoZnMsIHYpOworCisJCX0gZWxzZSBpZiAoIWZzLT50YXJnZXQgJiYgIXN0cm5jbXAocCwgIlRBUkdFVD0iLCA3KSkgeworCQkJZnMtPnRhcmdldCA9IHVubWFuZ2xlKHAgKyA3LCAmZW5kKTsKKwkJCWlmICghZnMtPnRhcmdldCkKKwkJCQlnb3RvIGVub21lbTsKKworCQl9IGVsc2UgaWYgKCFmcy0+cm9vdCAmJiAhc3RybmNtcChwLCAiUk9PVD0iLCA1KSkgeworCQkJZnMtPnJvb3QgPSB1bm1hbmdsZShwICsgNSwgJmVuZCk7CisJCQlpZiAoIWZzLT5yb290KQorCQkJCWdvdG8gZW5vbWVtOworCisJCX0gZWxzZSBpZiAoIWZzLT5iaW5kc3JjICYmICFzdHJuY21wKHAsICJCSU5EU1JDPSIsIDgpKSB7CisJCQlmcy0+YmluZHNyYyA9IHVubWFuZ2xlKHAgKyA4LCAmZW5kKTsKKwkJCWlmICghZnMtPmJpbmRzcmMpCisJCQkJZ290byBlbm9tZW07CisKKwkJfSBlbHNlIGlmICghZnMtPnVzZXJfb3B0c3RyICYmICFzdHJuY21wKHAsICJPUFRTPSIsIDUpKSB7CisJCQlmcy0+dXNlcl9vcHRzdHIgPSB1bm1hbmdsZShwICsgNSwgJmVuZCk7CisJCQlpZiAoIWZzLT51c2VyX29wdHN0cikKKwkJCQlnb3RvIGVub21lbTsKKworCQl9IGVsc2UgaWYgKCFmcy0+YXR0cnMgJiYgIXN0cm5jbXAocCwgIkFUVFJTPSIsIDYpKSB7CisJCQlmcy0+YXR0cnMgPSB1bm1hbmdsZShwICsgNiwgJmVuZCk7CisJCQlpZiAoIWZzLT5hdHRycykKKwkJCQlnb3RvIGVub21lbTsKKworCQl9IGVsc2UgeworCQkJLyogdW5rbm93biB2YXJpYWJsZSAqLworCQkJd2hpbGUgKCpwICYmICpwICE9ICcgJykgcCsrOworCQl9CisJCWlmIChlbmQpCisJCQlwID0gZW5kOworCX0KKworCXJldHVybiAwOworZW5vbWVtOgorCURCRyhUQUIsIHVsX2RlYnVnKCJ1dGFiIHBhcnNlIGVycm9yOiBFTk9NRU0iKSk7CisJcmV0dXJuIC1FTk9NRU07Cit9CisKKy8qCisgKiBQYXJzZXMgb25lIGxpbmUgZnJvbSAvcHJvYy9zd2FwcworICovCitzdGF0aWMgaW50IG1udF9wYXJzZV9zd2Fwc19saW5lKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBjb25zdCBjaGFyICpzKQoreworCXVpbnRtYXhfdCBmc3osIHVzejsKKwlpbnQgcmM7CisJY2hhciAqc3JjID0gTlVMTDsKKworCXJjID0gc3NjYW5mKHMsCVVMX1NDTnNBIiAiCS8qICgxKSBzb3VyY2UgKi8KKwkJCVVMX1NDTnNBIiAiCS8qICgyKSB0eXBlICovCisJCQkiJWp1IgkJLyogKDMpIHNpemUgKi8KKwkJCSIlanUiCQkvKiAoNCkgdXNlZCAqLworCQkJIiVkIiwJCS8qIHByaW9yaXR5ICovCisKKwkJCSZzcmMsCisJCQkmZnMtPnN3YXB0eXBlLAorCQkJJmZzeiwKKwkJCSZ1c3osCisJCQkmZnMtPnByaW9yaXR5KTsKKworCWlmIChyYyA9PSA1KSB7CisJCXNpemVfdCBzejsKKworCQlmcy0+c2l6ZSA9IGZzejsKKwkJZnMtPnVzZWRzaXplID0gdXN6OworCisJCS8qIHJlbW92ZSAiXDA0MChkZWxldGVkKSIgc3VmZml4ICovCisJCXN6ID0gc3RybGVuKHNyYyk7CisJCWlmIChzeiA+IFBBVEhfREVMRVRFRF9TVUZGSVhfU1opIHsKKwkJCWNoYXIgKnAgPSBzcmMgKyAoc3ogLSBQQVRIX0RFTEVURURfU1VGRklYX1NaKTsKKwkJCWlmIChzdHJjbXAocCwgUEFUSF9ERUxFVEVEX1NVRkZJWCkgPT0gMCkKKwkJCQkqcCA9ICdcMCc7CisJCX0KKworCQl1bm1hbmdsZV9zdHJpbmcoc3JjKTsKKworCQlyYyA9IG1udF9mc19zZXRfc291cmNlKGZzLCBzcmMpOworCQlpZiAoIXJjKQorCQkJbW50X2ZzX3NldF9mc3R5cGUoZnMsICJzd2FwIik7CisJfSBlbHNlIHsKKwkJREJHKFRBQiwgdWxfZGVidWcoInRhYiBwYXJzZSBlcnJvcjogW3NzY2FuZiByYz0lZF06ICclcyciLCByYywgcykpOworCQlyYyA9IC1FSU5WQUw7CisJfQorCisJZnJlZShzcmMpOworCisJcmV0dXJuIHJjOworfQorCisKKy8qCisgKiBSZXR1cm5zIHttLGZzfXRhYiBvciBtb3VudGluZm8gZmlsZSBmb3JtYXQgKE1OVF9GTVRfKikKKyAqCisgKiBOb3RlIHRoYXQgd2UgYXJlbid0IHRyeWluZyB0byBndWVzcyB0aGUgdXRhYiBmaWxlIGZvcm1hdCwgYmVjYXVzZSB0aGlzIGZpbGUKKyAqIGFsd2F5cyBoYXMgdG8gYmUgcGFyc2VkIGJ5IHByaXZhdGUgbGlibW91bnQgcm91dGluZXMgd2l0aCBhbiBleHBsaWNpdGx5IGRlZmluZWQKKyAqIGZvcm1hdC4KKyAqCisgKiBtb3VudGluZm86ICI8bnVtYmVyPiA8bnVtYmVyPiAuLi4gIgorICovCitzdGF0aWMgaW50IGd1ZXNzX3RhYmxlX2Zvcm1hdChjb25zdCBjaGFyICpsaW5lKQoreworCXVuc2lnbmVkIGludCBhLCBiOworCisJREJHKFRBQiwgdWxfZGVidWcoInRyeWluZyB0byBndWVzcyB0YWJsZSB0eXBlIikpOworCisJaWYgKHNzY2FuZihsaW5lLCAiJXUgJXUiLCAmYSwgJmIpID09IDIpCisJCXJldHVybiBNTlRfRk1UX01PVU5USU5GTzsKKworCWlmIChzdHJuY21wKGxpbmUsICJGaWxlbmFtZVx0IiwgOSkgPT0gMCkKKwkJcmV0dXJuIE1OVF9GTVRfU1dBUFM7CisKKwlyZXR1cm4gTU5UX0ZNVF9GU1RBQjsJCS8qIGZzdGFiLCBtdGFiIG9yIC9wcm9jL21vdW50cyAqLworfQorCitzdGF0aWMgaW50IGlzX2NvbW1lbnRfbGluZShjb25zdCBjaGFyICpsaW5lKQoreworCWNvbnN0IGNoYXIgKnAgPSBza2lwX2JsYW5rKGxpbmUpOworCisJaWYgKHAgJiYgKCpwID09ICcjJyB8fCAqcCA9PSAnXG4nKSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKy8qIHJldHVybnMgMSBpZiB0aGUgbGFzdCBsaW5lIGluIHRoZSBAc3RyIGlzIGJsYW5rICovCitzdGF0aWMgaW50IGlzX3Rlcm1pbmF0ZWRfYnlfYmxhbmsoY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBzeiA9IHN0ciA/IHN0cmxlbihzdHIpIDogMDsKKwljb25zdCBjaGFyICpwID0gc3ogPyBzdHIgKyAoc3ogLSAxKSA6IE5VTEw7CisKKwlpZiAoIXN6IHx8ICFwIHx8ICpwICE9ICdcbicpCisJCXJldHVybiAwOwkJLyogZW1wdHkgb3Igbm90IHRlcm1pbmF0ZWQgYnkgJ1xuJyAqLworCWlmIChwID09IHN0cikKKwkJcmV0dXJuIDE7CQkvKiBvbmx5ICdcbicgKi8KKwlwLS07CisJd2hpbGUgKHAgPj0gc3RyICYmICgqcCA9PSAnICcgfHwgKnAgPT0gJ1x0JykpCisJCXAtLTsKKwlyZXR1cm4gKnAgPT0gJ1xuJyA/IDEgOiAwOworfQorCisvKgorICogUmVhZHMgdGhlIG5leHQgbGluZSBmcm9tIHRoZSBmaWxlLgorICoKKyAqIFJldHVybnMgMCBpZiB0aGUgbGluZSBpcyBhIGNvbW1lbnQKKyAqICAgICAgICAgMSBpZiB0aGUgbGluZSBpcyBub3QgYSBjb21tZW50CisgKiAgICAgICAgPDAgb24gZXJyb3IKKyAqLworc3RhdGljIGludCBuZXh0X2NvbW1lbnRfbGluZShzdHJ1Y3QgbGlibW50X3BhcnNlciAqcGEsIGNoYXIgKipsYXN0KQoreworCWlmIChnZXRsaW5lKCZwYS0+YnVmLCAmcGEtPmJ1ZnNpeiwgcGEtPmYpIDwgMCkKKwkJcmV0dXJuIGZlb2YocGEtPmYpID8gMSA6IC1lcnJubzsKKworCXBhLT5saW5lKys7CisJKmxhc3QgPSBzdHJjaHIocGEtPmJ1ZiwgJ1xuJyk7CisKKwlyZXR1cm4gaXNfY29tbWVudF9saW5lKHBhLT5idWYpID8gMCA6IDE7Cit9CisKK3N0YXRpYyBpbnQgYXBwZW5kX2NvbW1lbnQoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkgIHN0cnVjdCBsaWJtbnRfZnMgKmZzLAorCQkJICBjb25zdCBjaGFyICpjb21tLAorCQkJICBpbnQgZW9mKQoreworCWludCByYywgaW50cm8gPSBtbnRfdGFibGVfZ2V0X25lbnRzKHRiKSA9PSAwOworCisJaWYgKGludHJvICYmIGlzX3Rlcm1pbmF0ZWRfYnlfYmxhbmsobW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KHRiKSkpCisJCWludHJvID0gMDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYXBwZW5kaW5nICVzIGNvbW1lbnQiLAorCQkJaW50cm8gPyAiaW50cm8iIDoKKwkJCWVvZiA/ICJ0cmFpbGluZyIgOiAiZnMiKSk7CisJaWYgKGludHJvKQorCQlyYyA9IG1udF90YWJsZV9hcHBlbmRfaW50cm9fY29tbWVudCh0YiwgY29tbSk7CisJZWxzZSBpZiAoZW9mKSB7CisJCXJjID0gbW50X3RhYmxlX3NldF90cmFpbGluZ19jb21tZW50KHRiLAorCQkJCW1udF9mc19nZXRfY29tbWVudChmcykpOworCQlpZiAoIXJjKQorCQkJcmMgPSBtbnRfdGFibGVfYXBwZW5kX3RyYWlsaW5nX2NvbW1lbnQodGIsIGNvbW0pOworCQlpZiAoIXJjKQorCQkJcmMgPSBtbnRfZnNfc2V0X2NvbW1lbnQoZnMsIE5VTEwpOworCX0gZWxzZQorCQlyYyA9IG1udF9mc19hcHBlbmRfY29tbWVudChmcywgY29tbSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogUmVhZCBhbmQgcGFyc2UgdGhlIG5leHQgbGluZSBmcm9tIHtmcyxtfXRhYiBvciBtb3VudGluZm8KKyAqLworc3RhdGljIGludCBtbnRfdGFibGVfcGFyc2VfbmV4dChzdHJ1Y3QgbGlibW50X3BhcnNlciAqcGEsCisJCQkJc3RydWN0IGxpYm1udF90YWJsZSAqdGIsCisJCQkJc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJY2hhciAqczsKKwlpbnQgcmM7CisKKwlhc3NlcnQodGIpOworCWFzc2VydChwYSk7CisJYXNzZXJ0KGZzKTsKKworCS8qIHJlYWQgdGhlIG5leHQgbm9uLWJsYW5rIG5vbi1jb21tZW50IGxpbmUgKi8KK25leHRfbGluZToKKwlkbyB7CisJCWlmIChnZXRsaW5lKCZwYS0+YnVmLCAmcGEtPmJ1ZnNpeiwgcGEtPmYpIDwgMCkKKwkJCXJldHVybiAtRUlOVkFMOworCQlwYS0+bGluZSsrOworCQlzID0gc3RyY2hyKHBhLT5idWYsICdcbicpOworCQlpZiAoIXMpIHsKKwkJCS8qIE1pc3NpbmcgZmluYWwgbmV3bGluZT8gIE90aGVyd2lzZSBhbiBleHRyZW1lbHkgKi8KKwkJCS8qIGxvbmcgbGluZSAtIGFzc3VtZSBmaWxlIHdhcyBjb3JydXB0ZWQgKi8KKwkJCWlmIChmZW9mKHBhLT5mKSkgeworCQkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLAorCQkJCQkiJXM6IG5vIGZpbmFsIG5ld2xpbmUiLAlwYS0+ZmlsZW5hbWUpKTsKKwkJCQlzID0gc3RyY2hyKHBhLT5idWYsICdcMCcpOworCQkJfSBlbHNlIHsKKwkJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwKKwkJCQkJIiVzOiV6dTogbWlzc2luZyBuZXdsaW5lIGF0IGxpbmUiLAorCQkJCQlwYS0+ZmlsZW5hbWUsIHBhLT5saW5lKSk7CisJCQkJZ290byBlcnI7CisJCQl9CisJCX0KKworCQkvKiBjb21tZW50cyBwYXJzZXIgKi8KKwkJaWYgKHRiLT5jb21tcworCQkgICAgJiYgKHRiLT5mbXQgPT0gTU5UX0ZNVF9HVUVTUyB8fCB0Yi0+Zm10ID09IE1OVF9GTVRfRlNUQUIpCisJCSAgICAmJiBpc19jb21tZW50X2xpbmUocGEtPmJ1ZikpIHsKKwkJCWRvIHsKKwkJCQlyYyA9IGFwcGVuZF9jb21tZW50KHRiLCBmcywgcGEtPmJ1ZiwgZmVvZihwYS0+ZikpOworCQkJCWlmICghcmMpCisJCQkJCXJjID0gbmV4dF9jb21tZW50X2xpbmUocGEsICZzKTsKKwkJCX0gd2hpbGUgKHJjID09IDApOworCisJCQlpZiAocmMgPT0gMSAmJiBmZW9mKHBhLT5mKSkKKwkJCQlyYyA9IGFwcGVuZF9jb21tZW50KHRiLCBmcywgTlVMTCwgMSk7CisJCQlpZiAocmMgPCAwKQorCQkJCXJldHVybiByYzsKKworCQl9CisKKwkJKnMgPSAnXDAnOworCQlpZiAoLS1zID49IHBhLT5idWYgJiYgKnMgPT0gJ1xyJykKKwkJCSpzID0gJ1wwJzsKKwkJcyA9IChjaGFyICopIHNraXBfYmxhbmsocGEtPmJ1Zik7CisJfSB3aGlsZSAoKnMgPT0gJ1wwJyB8fCAqcyA9PSAnIycpOworCisJaWYgKHRiLT5mbXQgPT0gTU5UX0ZNVF9HVUVTUykgeworCQl0Yi0+Zm10ID0gZ3Vlc3NfdGFibGVfZm9ybWF0KHMpOworCQlpZiAodGItPmZtdCA9PSBNTlRfRk1UX1NXQVBTKQorCQkJZ290byBuZXh0X2xpbmU7CQkJLyogc2tpcCBzd2FwIGhlYWRlciAqLworCX0KKworCXN3aXRjaCAodGItPmZtdCkgeworCWNhc2UgTU5UX0ZNVF9GU1RBQjoKKwkJcmMgPSBtbnRfcGFyc2VfdGFibGVfbGluZShmcywgcyk7CisJCWJyZWFrOworCWNhc2UgTU5UX0ZNVF9NT1VOVElORk86CisJCXJjID0gbW50X3BhcnNlX21vdW50aW5mb19saW5lKGZzLCBzKTsKKwkJYnJlYWs7CisJY2FzZSBNTlRfRk1UX1VUQUI6CisJCXJjID0gbW50X3BhcnNlX3V0YWJfbGluZShmcywgcyk7CisJCWJyZWFrOworCWNhc2UgTU5UX0ZNVF9TV0FQUzoKKwkJaWYgKHN0cm5jbXAocywgIkZpbGVuYW1lXHQiLCA5KSA9PSAwKQorCQkJZ290byBuZXh0X2xpbmU7CQkJLyogc2tpcCBzd2FwIGhlYWRlciAqLworCQlyYyA9IG1udF9wYXJzZV9zd2Fwc19saW5lKGZzLCBzKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJcmMgPSAtMTsJLyogdW5rbm93biBmb3JtYXQgKi8KKwkJYnJlYWs7CisJfQorCisJaWYgKHJjID09IDApCisJCXJldHVybiAwOworZXJyOgorCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiJXM6JXp1OiAlcyBwYXJzZSBlcnJvciIsIHBhLT5maWxlbmFtZSwgcGEtPmxpbmUsCisJCQkJdGItPmZtdCA9PSBNTlRfRk1UX01PVU5USU5GTyA/ICJtb3VudGluZm8iIDoKKwkJCQl0Yi0+Zm10ID09IE1OVF9GTVRfU1dBUFMgPyAic3dhcHMiIDoKKwkJCQl0Yi0+Zm10ID09IE1OVF9GTVRfRlNUQUIgPyAidGFiIiA6ICJ1dGFiIikpOworCisJLyogYnkgZGVmYXVsdCBhbGwgZXJyb3JzIGFyZSByZWNvdmVyYWJsZSwgb3RoZXJ3aXNlIGJlaGF2aW9yIGRlcGVuZHMgb24KKwkgKiB0aGUgZXJyY2IoKSBmdW5jdGlvbi4gU2VlIG1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKCkuCisJICovCisJcmV0dXJuIHRiLT5lcnJjYiA/IHRiLT5lcnJjYih0YiwgcGEtPmZpbGVuYW1lLCBwYS0+bGluZSkgOiAxOworfQorCitzdGF0aWMgcGlkX3QgcGF0aF90b190aWQoY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJY2hhciAqcGF0aCA9IG1udF9yZXNvbHZlX3BhdGgoZmlsZW5hbWUsIE5VTEwpOworCWNoYXIgKnAsICplbmQgPSBOVUxMOworCXBpZF90IHRpZCA9IDA7CisKKwlpZiAoIXBhdGgpCisJCWdvdG8gZG9uZTsKKwlwID0gc3RycmNocihwYXRoLCAnLycpOworCWlmICghcCkKKwkJZ290byBkb25lOworCSpwID0gJ1wwJzsKKwlwID0gc3RycmNocihwYXRoLCAnLycpOworCWlmICghcCkKKwkJZ290byBkb25lOworCXArKzsKKworCWVycm5vID0gMDsKKwl0aWQgPSBzdHJ0b2wocCwgJmVuZCwgMTApOworCWlmIChlcnJubyB8fCBwID09IGVuZCB8fCAoZW5kICYmICplbmQpKSB7CisJCXRpZCA9IDA7CisJCWdvdG8gZG9uZTsKKwl9CisJREJHKFRBQiwgdWxfZGVidWcoIlRJRCBmb3IgJXMgaXMgJWQiLCBmaWxlbmFtZSwgdGlkKSk7Citkb25lOgorCWZyZWUocGF0aCk7CisJcmV0dXJuIHRpZDsKK30KKworc3RhdGljIGludCBrZXJuZWxfZnNfcG9zdHBhcnNlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJICAgICAgIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBwaWRfdCAqdGlkLAorCQkJICAgICAgIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWludCByYyA9IDA7CisJY29uc3QgY2hhciAqc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKGZzKTsKKworCS8qIFRoaXMgaXMgYSBmaWxlc3lzdGVtIGRlc2NyaXB0aW9uIGZyb20gL3Byb2MsIHNvIHdlJ3JlIGluIHNvbWUgcHJvY2VzcworCSAqIG5hbWVzcGFjZS4gTGV0J3MgcmVtZW1iZXIgdGhlIHByb2Nlc3MgUElELgorCSAqLworCWlmIChmaWxlbmFtZSAmJiAqdGlkID09IC0xKQorCQkqdGlkID0gcGF0aF90b190aWQoZmlsZW5hbWUpOworCisJZnMtPnRpZCA9ICp0aWQ7CisKKwkvKgorCSAqIENvbnZlcnQgb2JzY3VyZSAvZGV2L3Jvb3QgdG8gc29tZXRoaW5nIG1vcmUgdXNhYmxlCisJICovCisJaWYgKHNyYyAmJiBzdHJjbXAoc3JjLCAiL2Rldi9yb290IikgPT0gMCkgeworCQljaGFyICpyZWFsID0gTlVMTDsKKworCQlyYyA9IG1udF9ndWVzc19zeXN0ZW1fcm9vdChmcy0+ZGV2bm8sIHRiLT5jYWNoZSwgJnJlYWwpOworCQlpZiAocmMgPCAwKQorCQkJcmV0dXJuIHJjOworCisJCWlmIChyYyA9PSAwICYmIHJlYWwpIHsKKwkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiY2Fub25pY2FsIHJvb3QgRlM6ICVzIiwgcmVhbCkpOworCQkJcmMgPSBfX21udF9mc19zZXRfc291cmNlX3B0cihmcywgcmVhbCk7CisKKwkJfSBlbHNlIGlmIChyYyA9PSAxKSB7CisJCQkvKiBtbnRfZ3Vlc3Nfc3lzdGVtX3Jvb3QoKSByZXR1cm5zIDEgaWYgbm90IGFibGUgdG8gY29udmVydCB0bworCQkJICogdGhlIHJlYWwgZGV2bmFtZTsgaWdub3JlIHRoaXMgcHJvYmxlbSAqLworCQkJcmMgPSAwOworCQl9CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF90YWJsZV9wYXJzZV9zdHJlYW06CisgKiBAdGI6IHRhYiBwb2ludGVyCisgKiBAZjogZmlsZSBzdHJlYW0KKyAqIEBmaWxlbmFtZTogZmlsZW5hbWUgdXNlZCBmb3IgZGVidWcgYW5kIGVycm9yIG1lc3NhZ2VzCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9wYXJzZV9zdHJlYW0oc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIEZJTEUgKmYsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWludCByYyA9IC0xOworCWludCBmbGFncyA9IDA7CisJcGlkX3QgdGlkID0gLTE7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfcGFyc2VyIHBhID0geyAubGluZSA9IDAgfTsKKworCWFzc2VydCh0Yik7CisJYXNzZXJ0KGYpOworCWFzc2VydChmaWxlbmFtZSk7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiVzOiBzdGFydCBwYXJzaW5nIFtlbnRyaWVzPSVkLCBmaWx0ZXI9JXNdIiwKKwkJCQlmaWxlbmFtZSwgbW50X3RhYmxlX2dldF9uZW50cyh0YiksCisJCQkJdGItPmZsdHJjYiA/ICJ5ZXMiIDogIm5vdCIpKTsKKworCXBhLmZpbGVuYW1lID0gZmlsZW5hbWU7CisJcGEuZiA9IGY7CisKKwkvKiBuZWNlc3NhcnkgZm9yIC9wcm9jL21vdW50cyBvbmx5LCB0aGUgL3Byb2Mvc2VsZi9tb3VudGluZm8KKwkgKiBwYXJzZXIgc2V0cyB0aGUgZmxhZyBwcm9wZXJseQorCSAqLworCWlmIChmaWxlbmFtZSAmJiBzdHJjbXAoZmlsZW5hbWUsIF9QQVRIX1BST0NfTU9VTlRTKSA9PSAwKQorCQlmbGFncyA9IE1OVF9GU19LRVJORUw7CisKKwl3aGlsZSAoIWZlb2YoZikpIHsKKwkJaWYgKCFmcykgeworCQkJZnMgPSBtbnRfbmV3X2ZzKCk7CisJCQlpZiAoIWZzKQorCQkJCWdvdG8gZXJyOworCQl9CisKKwkJcmMgPSBtbnRfdGFibGVfcGFyc2VfbmV4dCgmcGEsIHRiLCBmcyk7CisKKwkJaWYgKCFyYyAmJiB0Yi0+Zmx0cmNiICYmIHRiLT5mbHRyY2IoZnMsIHRiLT5mbHRyY2JfZGF0YSkpCisJCQlyYyA9IDE7CS8qIGZpbHRlcmVkIG91dCBieSBjYWxsYmFjay4uLiAqLworCisJCWlmICghcmMpIHsKKwkJCXJjID0gbW50X3RhYmxlX2FkZF9mcyh0YiwgZnMpOworCQkJZnMtPmZsYWdzIHw9IGZsYWdzOworCisJCQlpZiAocmMgPT0gMCAmJiB0Yi0+Zm10ID09IE1OVF9GTVRfTU9VTlRJTkZPKSB7CisJCQkJcmMgPSBrZXJuZWxfZnNfcG9zdHBhcnNlKHRiLCBmcywgJnRpZCwgZmlsZW5hbWUpOworCQkJCWlmIChyYykKKwkJCQkJbW50X3RhYmxlX3JlbW92ZV9mcyh0YiwgZnMpOworCQkJfQorCQl9CisKKwkJaWYgKHJjKSB7CisJCQlpZiAocmMgPiAwKSB7CisJCQkJbW50X3Jlc2V0X2ZzKGZzKTsKKwkJCQlhc3NlcnQoZnMtPnJlZmNvdW50ID09IDEpOworCQkJCWNvbnRpbnVlOwkvKiByZWNvdmVyYWJsZSBlcnJvciwgcmV1c2UgZnMqLworCQkJfQorCisJCQltbnRfdW5yZWZfZnMoZnMpOworCQkJaWYgKGZlb2YoZikpCisJCQkJYnJlYWs7CisJCQlnb3RvIGVycjsJCS8qIGZhdGFsIGVycm9yICovCisJCX0KKwkJbW50X3VucmVmX2ZzKGZzKTsKKwkJZnMgPSBOVUxMOworCX0KKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiJXM6IHN0b3AgcGFyc2luZyAoJWQgZW50cmllcykiLAorCQkJCWZpbGVuYW1lLCBtbnRfdGFibGVfZ2V0X25lbnRzKHRiKSkpOworCXBhcnNlcl9jbGVhbnVwKCZwYSk7CisJcmV0dXJuIDA7CitlcnI6CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIlczogcGFyc2UgZXJyb3IgKHJjPSVkKSIsIGZpbGVuYW1lLCByYykpOworCXBhcnNlcl9jbGVhbnVwKCZwYSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF90YWJsZV9wYXJzZV9maWxlOgorICogQHRiOiB0YWIgcG9pbnRlcgorICogQGZpbGVuYW1lOiBmaWxlCisgKgorICogUGFyc2VzIHRoZSB3aG9sZSB0YWJsZSAoZS5nLiAvZXRjL2ZzdGFiKSBhbmQgYXBwZW5kcyBuZXcgcmVjb3JkcyB0byB0aGUgQHRhYi4KKyAqCisgKiBUaGUgbGlibW91bnQgcGFyc2VyIGlnbm9yZXMgYnJva2VuIChzeW50YXggZXJyb3IpIGxpbmVzLCB0aGVzZSBsaW5lcyBhcmUKKyAqIHJlcG9ydGVkIHRvIHRoZSBjYWxsZXIgYnkgdGhlIGVycmNiKCkgZnVuY3Rpb24gKHNlZSBtbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYigpKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3BhcnNlX2ZpbGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCUZJTEUgKmY7CisJaW50IHJjOworCisJaWYgKCFmaWxlbmFtZSB8fCAhdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKGYpIHsKKwkJcmMgPSBtbnRfdGFibGVfcGFyc2Vfc3RyZWFtKHRiLCBmLCBmaWxlbmFtZSk7CisJCWZjbG9zZShmKTsKKwl9IGVsc2UKKwkJcmMgPSAtZXJybm87CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInBhcnNpbmcgZG9uZSBbZmlsZW5hbWU9JXMsIHJjPSVkXSIsIGZpbGVuYW1lLCByYykpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBtbnRfdGFibGVfcGFyc2VfZGlyX2ZpbHRlcihjb25zdCBzdHJ1Y3QgZGlyZW50ICpkKQoreworCXNpemVfdCBuYW1lc3o7CisKKyNpZmRlZiBfRElSRU5UX0hBVkVfRF9UWVBFCisJaWYgKGQtPmRfdHlwZSAhPSBEVF9VTktOT1dOICYmIGQtPmRfdHlwZSAhPSBEVF9SRUcgJiYKKwkgICAgZC0+ZF90eXBlICE9IERUX0xOSykKKwkJcmV0dXJuIDA7CisjZW5kaWYKKwlpZiAoKmQtPmRfbmFtZSA9PSAnLicpCisJCXJldHVybiAwOworCisjZGVmaW5lIE1OVF9NTlRUQUJESVJfRVhUU0laCShzaXplb2YoTU5UX01OVFRBQkRJUl9FWFQpIC0gMSkKKworCW5hbWVzeiA9IHN0cmxlbihkLT5kX25hbWUpOworCWlmICghbmFtZXN6IHx8IG5hbWVzeiA8IE1OVF9NTlRUQUJESVJfRVhUU0laICsgMSB8fAorCSAgICBzdHJjbXAoZC0+ZF9uYW1lICsgKG5hbWVzeiAtIE1OVF9NTlRUQUJESVJfRVhUU0laKSwKKwkJICAgTU5UX01OVFRBQkRJUl9FWFQpKQorCQlyZXR1cm4gMDsKKworCS8qIEFjY2VwdCB0aGlzICovCisJcmV0dXJuIDE7Cit9CisKKyNpZmRlZiBIQVZFX1NDQU5ESVJBVAorc3RhdGljIGludCBfX21udF90YWJsZV9wYXJzZV9kaXIoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmRpcm5hbWUpCit7CisJaW50IG4gPSAwLCBpOworCWludCBkZDsKKwlzdHJ1Y3QgZGlyZW50ICoqbmFtZWxpc3QgPSBOVUxMOworCisJZGQgPSBvcGVuKGRpcm5hbWUsIE9fUkRPTkxZfE9fQ0xPRVhFQ3xPX0RJUkVDVE9SWSk7CisJaWYgKGRkIDwgMCkKKwkgICAgICAgIHJldHVybiAtZXJybm87CisKKwluID0gc2NhbmRpcmF0KGRkLCAiLiIsICZuYW1lbGlzdCwgbW50X3RhYmxlX3BhcnNlX2Rpcl9maWx0ZXIsIHZlcnNpb25zb3J0KTsKKwlpZiAobiA8PSAwKSB7CisJICAgICAgICBjbG9zZShkZCk7CisJICAgICAgICByZXR1cm4gMDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCXN0cnVjdCBkaXJlbnQgKmQgPSBuYW1lbGlzdFtpXTsKKwkJc3RydWN0IHN0YXQgc3Q7CisJCUZJTEUgKmY7CisKKwkJaWYgKGZzdGF0YXQoZGQsIGQtPmRfbmFtZSwgJnN0LCAwKSB8fAorCQkgICAgIVNfSVNSRUcoc3Quc3RfbW9kZSkpCisJCQljb250aW51ZTsKKworCQlmID0gZm9wZW5fYXQoZGQsIGQtPmRfbmFtZSwgT19SRE9OTFl8T19DTE9FWEVDLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJCWlmIChmKSB7CisJCQltbnRfdGFibGVfcGFyc2Vfc3RyZWFtKHRiLCBmLCBkLT5kX25hbWUpOworCQkJZmNsb3NlKGYpOworCQl9CisJfQorCisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJZnJlZShuYW1lbGlzdFtpXSk7CisJZnJlZShuYW1lbGlzdCk7CisJY2xvc2UoZGQpOworCXJldHVybiAwOworfQorI2Vsc2UKK3N0YXRpYyBpbnQgX19tbnRfdGFibGVfcGFyc2VfZGlyKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpkaXJuYW1lKQoreworCWludCBuID0gMCwgaSwgciA9IDA7CisJRElSICpkaXIgPSBOVUxMOworCXN0cnVjdCBkaXJlbnQgKipuYW1lbGlzdCA9IE5VTEw7CisKKwluID0gc2NhbmRpcihkaXJuYW1lLCAmbmFtZWxpc3QsIG1udF90YWJsZV9wYXJzZV9kaXJfZmlsdGVyLCB2ZXJzaW9uc29ydCk7CisJaWYgKG4gPD0gMCkKKwkJcmV0dXJuIDA7CisKKwkvKiBsZXQncyB1c2UgImF0IiBmdW5jdGlvbnMgcmF0aGVyIHRoYW4gcGxheWluZyBjcmF6eSBnYW1lcyB3aXRoIHBhdGhzLi4uICovCisJZGlyID0gb3BlbmRpcihkaXJuYW1lKTsKKwlpZiAoIWRpcikgeworCQlyID0gLWVycm5vOworCQlnb3RvIG91dDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCXN0cnVjdCBkaXJlbnQgKmQgPSBuYW1lbGlzdFtpXTsKKwkJc3RydWN0IHN0YXQgc3Q7CisJCUZJTEUgKmY7CisKKwkJaWYgKGZzdGF0YXQoZGlyZmQoZGlyKSwgZC0+ZF9uYW1lLCAmc3QsIDApIHx8CisJCSAgICAhU19JU1JFRyhzdC5zdF9tb2RlKSkKKwkJCWNvbnRpbnVlOworCisJCWYgPSBmb3Blbl9hdChkaXJmZChkaXIpLCBkLT5kX25hbWUsCisJCQkJT19SRE9OTFl8T19DTE9FWEVDLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJCWlmIChmKSB7CisJCQltbnRfdGFibGVfcGFyc2Vfc3RyZWFtKHRiLCBmLCBkLT5kX25hbWUpOworCQkJZmNsb3NlKGYpOworCQl9CisJfQorCitvdXQ6CisJZm9yIChpID0gMDsgaSA8IG47IGkrKykKKwkJZnJlZShuYW1lbGlzdFtpXSk7CisJZnJlZShuYW1lbGlzdCk7CisJaWYgKGRpcikKKwkJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gcjsKK30KKyNlbmRpZgorCisvKioKKyAqIG1udF90YWJsZV9wYXJzZV9kaXI6CisgKiBAdGI6IG1vdW50IHRhYmxlCisgKiBAZGlybmFtZTogZGlyZWN0b3J5CisgKgorICogVGhlIGRpcmVjdG9yeToKKyAqCS0gZmlsZXMgYXJlIHNvcnRlZCBieSBzdHJ2ZXJzY21wKDMpCisgKgktIGZpbGVzIHRoYXQgc3RhcnQgd2l0aCAiLiIgYXJlIGlnbm9yZWQgKGUuZy4gIi4xMGZvby5mc3RhYiIpCisgKgktIGZpbGVzIHdpdGhvdXQgdGhlICIuZnN0YWIiIGV4dGVuc2lvbiBhcmUgaWdub3JlZAorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9wYXJzZV9kaXIoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmRpcm5hbWUpCit7CisJcmV0dXJuIF9fbW50X3RhYmxlX3BhcnNlX2Rpcih0YiwgZGlybmFtZSk7Cit9CisKK3N0cnVjdCBsaWJtbnRfdGFibGUgKl9fbW50X25ld190YWJsZV9mcm9tX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBmbXQsIGludCBlbXB0eV9mb3JfZW5vZW50KQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKCFmaWxlbmFtZSkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKHN0YXQoZmlsZW5hbWUsICZzdCkpCisJCXJldHVybiBlbXB0eV9mb3JfZW5vZW50ID8gbW50X25ld190YWJsZSgpIDogTlVMTDsKKworCXRiID0gbW50X25ld190YWJsZSgpOworCWlmICh0YikgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIm5ldyB0YWIgZm9yIGZpbGU6ICVzIiwgZmlsZW5hbWUpKTsKKwkJdGItPmZtdCA9IGZtdDsKKwkJaWYgKG1udF90YWJsZV9wYXJzZV9maWxlKHRiLCBmaWxlbmFtZSkgIT0gMCkgeworCQkJbW50X3VucmVmX3RhYmxlKHRiKTsKKwkJCXRiID0gTlVMTDsKKwkJfQorCX0KKwlyZXR1cm4gdGI7Cit9CisKKy8qKgorICogbW50X25ld190YWJsZV9mcm9tX2ZpbGU6CisgKiBAZmlsZW5hbWU6IC9ldGMve20sZnN9dGFiIG9yIC9wcm9jL3NlbGYvbW91bnRpbmZvIHBhdGgKKyAqCisgKiBTYW1lIGFzIG1udF9uZXdfdGFibGUoKSArIG1udF90YWJsZV9wYXJzZV9maWxlKCkuIFVzZSB0aGlzIGZ1bmN0aW9uIGZvciBwcml2YXRlCisgKiBmaWxlcyBvbmx5LiBUaGlzIGZ1bmN0aW9uIGRvZXMgbm90IGFsbG93IHVzaW5nIHRoZSBlcnJvciBjYWxsYmFjaywgc28geW91CisgKiBjYW5ub3QgcHJvdmlkZSBhbnkgZmVlZGJhY2sgdG8gZW5kLXVzZXJzIGFib3V0IGJyb2tlbiByZWNvcmRzIGluIGZpbGVzIChlLmcuCisgKiBmc3RhYikuCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIHRhYiBvbiBzdWNjZXNzIGFuZCBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJtbnRfdGFibGUgKm1udF9uZXdfdGFibGVfZnJvbV9maWxlKGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWlmICghZmlsZW5hbWUpCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIF9fbW50X25ld190YWJsZV9mcm9tX2ZpbGUoZmlsZW5hbWUsIE1OVF9GTVRfR1VFU1MsIDApOworfQorCisvKioKKyAqIG1udF9uZXdfdGFibGVfZnJvbV9kaXIKKyAqIEBkaXJuYW1lOiBkaXJlY3Rvcnkgd2l0aCAqLmZzdGFiIGZpbGVzCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIHRhYiBvbiBzdWNjZXNzIGFuZCBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJtbnRfdGFibGUgKm1udF9uZXdfdGFibGVfZnJvbV9kaXIoY29uc3QgY2hhciAqZGlybmFtZSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKworCWlmICghZGlybmFtZSkKKwkJcmV0dXJuIE5VTEw7CisJdGIgPSBtbnRfbmV3X3RhYmxlKCk7CisJaWYgKHRiICYmIG1udF90YWJsZV9wYXJzZV9kaXIodGIsIGRpcm5hbWUpICE9IDApIHsKKwkJbW50X3VucmVmX3RhYmxlKHRiKTsKKwkJdGIgPSBOVUxMOworCX0KKwlyZXR1cm4gdGI7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2I6CisgKiBAdGI6IHBvaW50ZXIgdG8gdGFibGUKKyAqIEBjYjogcG9pbnRlciB0byBjYWxsYmFjayBmdW5jdGlvbgorICoKKyAqIFRoZSBlcnJvciBjYWxsYmFjayBmdW5jdGlvbiBpcyBjYWxsZWQgYnkgdGFibGUgcGFyc2VyIChtbnRfdGFibGVfcGFyc2VfZmlsZSgpKQorICogaW4gY2FzZSBvZiBhIHN5bnRheCBlcnJvci4gVGhlIGNhbGxiYWNrIGZ1bmN0aW9uIGNvdWxkIGJlIHVzZWQgZm9yIGVycm9yCisgKiBldmFsdWF0aW9uLCBsaWJtb3VudCB3aWxsIGNvbnRpbnVlL3N0b3AgcGFyc2luZyBhY2NvcmRpbmcgdG8gY2FsbGJhY2sgcmV0dXJuCisgKiBjb2RlczoKKyAqCisgKiAgIDwwICA6IGZhdGFsIGVycm9yIChhYm9ydCBwYXJzaW5nKQorICogICAgMAkgOiBzdWNjZXNzIChwYXJzaW5nIGNvbnRpbnVlcykKKyAqICAgPjAgIDogcmVjb3ZlcmFibGUgZXJyb3IgKHRoZSBsaW5lIGlzIGlnbm9yZWQsIHBhcnNpbmcgY29udGludWVzKS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3Mgb3IgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2ludCBtbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJaW50ICgqY2IpKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmUpKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCXRiLT5lcnJjYiA9IGNiOworCXJldHVybiAwOworfQorCisvKgorICogRmlsdGVyIG91dCBlbnRyaWVzIGR1cmluZyB0YWIgZmlsZSBwYXJzaW5nLiBJZiBAY2IgcmV0dXJucyAxLCB0aGVuIHRoZSBlbnRyeQorICogaXMgaWdub3JlZC4KKyAqLworaW50IG1udF90YWJsZV9zZXRfcGFyc2VyX2ZsdHJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJaW50ICgqY2IpKHN0cnVjdCBsaWJtbnRfZnMgKiwgdm9pZCAqKSwKKwkJdm9pZCAqZGF0YSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiJXMgdGFibGUgcGFyc2VyIGZpbHRlciIsIGNiID8gInNldCIgOiAidW5zZXQiKSk7CisJdGItPmZsdHJjYiA9IGNiOworCXRiLT5mbHRyY2JfZGF0YSA9IGRhdGE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3RhYmxlX3BhcnNlX3N3YXBzOgorICogQHRiOiB0YWJsZQorICogQGZpbGVuYW1lOiBvdmVyd3JpdGVzIGRlZmF1bHQgKC9wcm9jL3N3YXBzIG9yICRMSUJNT1VOVF9TV0FQUykgb3IgTlVMTAorICoKKyAqIFRoaXMgZnVuY3Rpb24gcGFyc2VzIC9wcm9jL3N3YXBzIGFuZCBhcHBlbmRzIG5ldyBsaW5lcyB0byB0aGUgQHRhYi4KKyAqCisgKiBTZWUgYWxzbyBtbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYigpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9wYXJzZV9zd2FwcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKCFmaWxlbmFtZSkgeworCQlmaWxlbmFtZSA9IG1udF9nZXRfc3dhcHNfcGF0aCgpOworCQlpZiAoIWZpbGVuYW1lKQorCQkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJdGItPmZtdCA9IE1OVF9GTVRfU1dBUFM7CisKKwlyZXR1cm4gbW50X3RhYmxlX3BhcnNlX2ZpbGUodGIsIGZpbGVuYW1lKTsKK30KKworLyoqCisgKiBtbnRfdGFibGVfcGFyc2VfZnN0YWI6CisgKiBAdGI6IHRhYmxlCisgKiBAZmlsZW5hbWU6IG92ZXJ3cml0ZXMgZGVmYXVsdCAoL2V0Yy9mc3RhYiBvciAkTElCTU9VTlRfRlNUQUIpIG9yIE5VTEwKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHBhcnNlcyAvZXRjL2ZzdGFiIGFuZCBhcHBlbmRzIG5ldyBsaW5lcyB0byB0aGUgQHRhYi4gSWYgdGhlCisgKiBAZmlsZW5hbWUgaXMgYSBkaXJlY3RvcnksIHRoZW4gbW50X3RhYmxlX3BhcnNlX2RpcigpIGlzIGNhbGxlZC4KKyAqCisgKiBTZWUgYWxzbyBtbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYigpLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcyBvciBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9wYXJzZV9mc3RhYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJaW50IHJjID0gMDsKKworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghZmlsZW5hbWUpCisJCWZpbGVuYW1lID0gbW50X2dldF9mc3RhYl9wYXRoKCk7CisKKwlpZiAoIWZpbGVuYW1lIHx8IHN0YXQoZmlsZW5hbWUsICZzdCkpCisJCXJldHVybiAtRUlOVkFMOworCisJdGItPmZtdCA9IE1OVF9GTVRfRlNUQUI7CisKKwlpZiAoU19JU1JFRyhzdC5zdF9tb2RlKSkKKwkJcmMgPSBtbnRfdGFibGVfcGFyc2VfZmlsZSh0YiwgZmlsZW5hbWUpOworCWVsc2UgaWYgKFNfSVNESVIoc3Quc3RfbW9kZSkpCisJCXJjID0gbW50X3RhYmxlX3BhcnNlX2Rpcih0YiwgZmlsZW5hbWUpOworCWVsc2UKKwkJcmMgPSAtRUlOVkFMOworCisJcmV0dXJuIHJjOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiB1c2VzIEB1ZiB0byBmaW5kIGEgY29ycmVzcG9uZGluZyByZWNvcmQgaW4gQHRiLCB0aGVuIHRoZSByZWNvcmQKKyAqIGZyb20gQHRiIGlzIHVwZGF0ZWQgKHVzZXIgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyBhcmUgYWRkZWQpLgorICoKKyAqIE5vdGUgdGhhdCBAdWYgbXVzdCBjb250YWluIG9ubHkgdXNlciBzcGVjaWZpYyBtb3VudCBvcHRpb25zIGluc3RlYWQgb2YKKyAqIFZGUyBvcHRpb25zIChub3RlIHRoYXQgRlMgb3B0aW9ucyBhcmUgaWdub3JlZCkuCisgKgorICogUmV0dXJucyBtb2RpZmllZCBmaWxlc3lzdGVtIChmcm9tIEB0Yikgb3IgTlVMTC4KKyAqLworc3RhdGljIHN0cnVjdCBsaWJtbnRfZnMgKm1udF90YWJsZV9tZXJnZV91c2VyX2ZzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICp1ZikKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgaXRyOworCWNvbnN0IGNoYXIgKm9wdHN0ciwgKnNyYywgKnRhcmdldCwgKnJvb3QsICphdHRyczsKKworCWlmICghdGIgfHwgIXVmKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibWVyZ2luZyB1c2VyIGZzIikpOworCisJc3JjID0gbW50X2ZzX2dldF9zcmNwYXRoKHVmKTsKKwl0YXJnZXQgPSBtbnRfZnNfZ2V0X3RhcmdldCh1Zik7CisJb3B0c3RyID0gbW50X2ZzX2dldF91c2VyX29wdGlvbnModWYpOworCWF0dHJzID0gbW50X2ZzX2dldF9hdHRyaWJ1dGVzKHVmKTsKKwlyb290ID0gbW50X2ZzX2dldF9yb290KHVmKTsKKworCWlmICghc3JjIHx8ICF0YXJnZXQgfHwgIXJvb3QgfHwgKCFhdHRycyAmJiAhb3B0c3RyKSkKKwkJcmV0dXJuIE5VTEw7CisKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKnIgPSBtbnRfZnNfZ2V0X3Jvb3QoZnMpOworCisJCWlmIChmcy0+ZmxhZ3MgJiBNTlRfRlNfTUVSR0VEKQorCQkJY29udGludWU7CisKKwkJaWYgKHIgJiYgc3RyY21wKHIsIHJvb3QpID09IDAKKwkJICAgICYmIG1udF9mc19zdHJlcV90YXJnZXQoZnMsIHRhcmdldCkKKwkJICAgICYmIG1udF9mc19zdHJlcV9zcmNwYXRoKGZzLCBzcmMpKQorCQkJYnJlYWs7CisJfQorCisJaWYgKGZzKSB7CisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiZm91bmQgZnMgLS0gYXBwZW5kaW5nIHVzZXIgb3B0c3RyIikpOworCQltbnRfZnNfYXBwZW5kX29wdGlvbnMoZnMsIG9wdHN0cik7CisJCW1udF9mc19hcHBlbmRfYXR0cmlidXRlcyhmcywgYXR0cnMpOworCQltbnRfZnNfc2V0X2JpbmRzcmMoZnMsIG1udF9mc19nZXRfYmluZHNyYyh1ZikpOworCQlmcy0+ZmxhZ3MgfD0gTU5UX0ZTX01FUkdFRDsKKworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImZvdW5kIGZzOiIpKTsKKwkJREJHKFRBQiwgbW50X2ZzX3ByaW50X2RlYnVnKGZzLCBzdGRlcnIpKTsKKwl9CisJcmV0dXJuIGZzOworfQorCisvKiBkZWZhdWx0IGZpbGVuYW1lIGlzIC9wcm9jL3NlbGYvbW91bnRpbmZvCisgKi8KK2ludCBfX21udF90YWJsZV9wYXJzZV9tdGFiKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBjb25zdCBjaGFyICpmaWxlbmFtZSwKKwkJCSAgIHN0cnVjdCBsaWJtbnRfdGFibGUgKnVfdGIpCit7CisJaW50IHJjID0gMCwgcHJpdl91dGFiID0gMDsKKworCWFzc2VydCh0Yik7CisKKwlpZiAoZmlsZW5hbWUpCisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiJXMgcmVxdWVzdGVkIGFzIG10YWIiLCBmaWxlbmFtZSkpOworCisjaWZkZWYgVVNFX0xJQk1PVU5UX1NVUFBPUlRfTVRBQgorCWlmIChtbnRfaGFzX3JlZ3VsYXJfbXRhYigmZmlsZW5hbWUsIE5VTEwpKSB7CisKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJmb3JjZSBtdGFiIHVzYWdlIFtmaWxlbmFtZT0lc10iLCBmaWxlbmFtZSkpOworCisJCXJjID0gbW50X3RhYmxlX3BhcnNlX2ZpbGUodGIsIGZpbGVuYW1lKTsKKworCQkvKgorCQkgKiBJZiBAZmlsZW5hbWUgZm9yY2VzIHVzIHRvIHJlYWQgZnJvbSAvcHJvYyB0aGVuIGFsc28gcmVhZAorCQkgKiB1dGFiIGZpbGUgdG8gbWVyZ2UgdXNlcnNwYWNlIG1vdW50IG9wdGlvbnMuCisJCSAqLworCQlpZiAocmMgPT0gMCAmJiBpc19tb3VudGluZm8odGIpKQorCQkJZ290byByZWFkX3V0YWI7CisKKwkJaWYgKCFyYykKKwkJCXJldHVybiAwOworCQlmaWxlbmFtZSA9IE5VTEw7CS8qIGZhaWxlZCAqLworCX0gZWxzZQorCQlmaWxlbmFtZSA9IE5VTEw7CS8qIG10YWIgdXNlbGVzcyAqLworI2VuZGlmCisKKwlpZiAoIWZpbGVuYW1lIHx8IHN0cmNtcChmaWxlbmFtZSwgX1BBVEhfUFJPQ19NT1VOVElORk8pID09IDApIHsKKwkJZmlsZW5hbWUgPSBfUEFUSF9QUk9DX01PVU5USU5GTzsKKwkJdGItPmZtdCA9IE1OVF9GTVRfTU9VTlRJTkZPOworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIm10YWIgcGFyc2U6ICMxIHJlYWQgbW91bnRpbmZvIikpOworCX0gZWxzZQorCQl0Yi0+Zm10ID0gTU5UX0ZNVF9HVUVTUzsKKworCXJjID0gbW50X3RhYmxlX3BhcnNlX2ZpbGUodGIsIGZpbGVuYW1lKTsKKwlpZiAocmMpIHsKKwkJLyogaG1tLCBvbGQga2VybmVsPyAuLi50cnkgL3Byb2MvbW91bnRzICovCisJCXRiLT5mbXQgPSBNTlRfRk1UX01UQUI7CisJCXJldHVybiBtbnRfdGFibGVfcGFyc2VfZmlsZSh0YiwgX1BBVEhfUFJPQ19NT1VOVFMpOworCX0KKworCWlmICghaXNfbW91bnRpbmZvKHRiKSkKKwkJcmV0dXJuIDA7CisjaWZkZWYgVVNFX0xJQk1PVU5UX1NVUFBPUlRfTVRBQgorcmVhZF91dGFiOgorI2VuZGlmCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJtdGFiIHBhcnNlOiAjMiByZWFkIHV0YWIiKSk7CisKKwlpZiAobW50X3RhYmxlX2dldF9uZW50cyh0YikgPT0gMCkKKwkJcmV0dXJuIDA7CQkJLyogZW1wdHksIGlnbm9yZSB1dGFiICovCisJLyoKKwkgKiB0cnkgdG8gcmVhZCB0aGUgdXNlciBzcGVjaWZpYyBpbmZvcm1hdGlvbiBmcm9tIC9ydW4vbW91bnQvdXRhYnMKKwkgKi8KKwlpZiAoIXVfdGIpIHsKKwkJY29uc3QgY2hhciAqdXRhYiA9IG1udF9nZXRfdXRhYl9wYXRoKCk7CisKKwkJaWYgKCF1dGFiIHx8IGlzX2ZpbGVfZW1wdHkodXRhYikpCisJCQlyZXR1cm4gMDsKKworCQl1X3RiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIXVfdGIpCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQl1X3RiLT5mbXQgPSBNTlRfRk1UX1VUQUI7CisJCW1udF90YWJsZV9zZXRfcGFyc2VyX2ZsdHJjYih1X3RiLCB0Yi0+Zmx0cmNiLCB0Yi0+Zmx0cmNiX2RhdGEpOworCisJCXJjID0gbW50X3RhYmxlX3BhcnNlX2ZpbGUodV90YiwgdXRhYik7CisJCXByaXZfdXRhYiA9IDE7CisJfQorCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJtdGFiIHBhcnNlOiAjMyBtZXJnZSB1dGFiIikpOworCisJaWYgKHJjID09IDApIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqdV9mczsKKwkJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKworCQltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwkJLyogIG1lcmdlIHVzZXIgb3B0aW9ucyBpbnRvIG1vdW50aW5mbyBmcm9tIHRoZSBrZXJuZWwgKi8KKwkJd2hpbGUobW50X3RhYmxlX25leHRfZnModV90YiwgJml0ciwgJnVfZnMpID09IDApCisJCQltbnRfdGFibGVfbWVyZ2VfdXNlcl9mcyh0YiwgdV9mcyk7CisJfQorCisKKwlpZiAocHJpdl91dGFiKQorCQltbnRfdW5yZWZfdGFibGUodV90Yik7CisJcmV0dXJuIDA7Cit9CisvKioKKyAqIG1udF90YWJsZV9wYXJzZV9tdGFiOgorICogQHRiOiB0YWJsZQorICogQGZpbGVuYW1lOiBvdmVyd3JpdGVzIGRlZmF1bHQgb3IgTlVMTAorICoKKyAqIFRoZSBkZWZhdWx0IGZpbGVuYW1lIGlzIC9wcm9jL3NlbGYvbW91bnRpbmZvLiBJZiB0aGUgbW91bnQgdGFibGUgaXMgYQorICogbW91bnRpbmZvIGZpbGUgdGhlbiAvcnVuL21vdW50L3V0YWJzIGlzIHBhcnNlZCB0b28gYW5kIGJvdGggZmlsZXMgYXJlIG1lcmdlZAorICogdG8gdGhlIG9uZSBsaWJtbnRfdGFibGUuCisgKgorICogSWYgbGlibW91bnQgaXMgY29tcGlsZWQgd2l0aCBjbGFzc2ljIG10YWIgZmlsZSBzdXBwb3J0LCBhbmQgdGhlIC9ldGMvbXRhYiBpcworICogYSByZWd1bGFyIGZpbGUgdGhlbiB0aGlzIGZpbGUgaXMgcGFyc2VkLgorICoKKyAqIEl0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gdXNlIE5VTEwgYXMgYSBAZmlsZW5hbWUgdG8ga2VlcCBjb2RlIHBvcnRhYmxlLgorICoKKyAqIFNlZSBhbHNvIG1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIG9yIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGVycm9yLgorICovCitpbnQgbW50X3RhYmxlX3BhcnNlX210YWIoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCXJldHVybiBfX21udF90YWJsZV9wYXJzZV9tdGFiKHRiLCBmaWxlbmFtZSwgTlVMTCk7Cit9CmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvdGFiX3VwZGF0ZS5jIGIvbGlibW91bnQvc3JjL3RhYl91cGRhdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDhhYzE4Ci0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL3RhYl91cGRhdGUuYwpAQCAtMCwwICsxLDEwNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IHVwZGF0ZQorICogQHRpdGxlOiBUYWJsZXMgdXBkYXRlCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IHVzZXJzcGFjZSBtb3VudCBpbmZvcm1hdGlvbiBtYW5hZ2VtZW50CisgKgorICogVGhlIHN0cnVjdCBsaWJtbnRfdXBkYXRlIHByb3ZpZGVzIGFuIGFic3RyYWN0aW9uIHRvIG1hbmFnZSBtb3VudCBvcHRpb25zIGluCisgKiB1c2Vyc3BhY2UgaW5kZXBlbmRlbnRseSBvZiBzeXN0ZW0gY29uZmlndXJhdGlvbi4gVGhpcyBsb3ctbGV2ZWwgQVBJIHdvcmtzIG9uCisgKiBzeXN0ZW1zIGJvdGggd2l0aCBhbmQgd2l0aG91dCAvZXRjL210YWIuIE9uIHN5c3RlbXMgd2l0aG91dCB0aGUgcmVndWxhciAvZXRjL210YWIKKyAqIGZpbGUsIHRoZSB1c2Vyc3BhY2UgbW91bnQgb3B0aW9ucyAoZS5nLiB1c2VyPSkgYXJlIHN0b3JlZCBpbiB0aGUgL3J1bi9tb3VudC91dGFiCisgKiBmaWxlLgorICoKKyAqIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIGhpZ2gtbGV2ZWwgc3RydWN0IGxpYm1udF9jb250ZXh0IEFQSS4KKyAqLworI2luY2x1ZGUgPHN5cy9maWxlLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKworI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgIm1hbmdsZS5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCitzdHJ1Y3QgbGlibW50X3VwZGF0ZSB7CisJY2hhcgkJKnRhcmdldDsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwljaGFyCQkqZmlsZW5hbWU7CisJdW5zaWduZWQgbG9uZwltb3VudGZsYWdzOworCWludAkJdXNlcnNwYWNlX29ubHk7CisJaW50CQlyZWFkeTsKKworCXN0cnVjdCBsaWJtbnRfdGFibGUgKm1vdW50aW5mbzsKK307CisKK3N0YXRpYyBpbnQgc2V0X2ZzX3Jvb3Qoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgc3RydWN0IGxpYm1udF9mcyAqZnMsIHVuc2lnbmVkIGxvbmcgbW91bnRmbGFncyk7CitzdGF0aWMgaW50IHV0YWJfbmV3X2VudHJ5KHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB1bnNpZ25lZCBsb25nIG1vdW50ZmxhZ3MpOworCisvKioKKyAqIG1udF9uZXdfdXBkYXRlOgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCB1cGRhdGUgaGFuZGxlcgorICovCitzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqbW50X25ld191cGRhdGUodm9pZCkKK3sKKwlzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkOworCisJdXBkID0gY2FsbG9jKDEsIHNpemVvZigqdXBkKSk7CisJaWYgKCF1cGQpCisJCXJldHVybiBOVUxMOworCisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiYWxsb2NhdGUiKSk7CisJcmV0dXJuIHVwZDsKK30KKworLyoqCisgKiBtbnRfZnJlZV91cGRhdGU6CisgKiBAdXBkOiB1cGRhdGUKKyAqCisgKiBEZWFsbG9jYXRlcyBzdHJ1Y3QgbGlibW50X3VwZGF0ZSBoYW5kbGVyLgorICovCit2b2lkIG1udF9mcmVlX3VwZGF0ZShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkKQoreworCWlmICghdXBkKQorCQlyZXR1cm47CisKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICJmcmVlIikpOworCisJbW50X3VucmVmX2ZzKHVwZC0+ZnMpOworCW1udF91bnJlZl90YWJsZSh1cGQtPm1vdW50aW5mbyk7CisJZnJlZSh1cGQtPnRhcmdldCk7CisJZnJlZSh1cGQtPmZpbGVuYW1lKTsKKwlmcmVlKHVwZCk7Cit9CisKKy8qCisgKiBSZXR1cm5zIDAgb24gc3VjY2VzcywgPDAgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF91cGRhdGVfc2V0X2ZpbGVuYW1lKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIGNvbnN0IGNoYXIgKmZpbGVuYW1lLAorCQkJICAgIGludCB1c2Vyc3BhY2Vfb25seSkKK3sKKwljb25zdCBjaGFyICpwYXRoID0gTlVMTDsKKwlpbnQgcncgPSAwOworCisJaWYgKCF1cGQpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogZmlsZW5hbWUgZXhwbGljaXRseSBkZWZpbmVkICovCisJaWYgKGZpbGVuYW1lKSB7CisJCWNoYXIgKnAgPSBzdHJkdXAoZmlsZW5hbWUpOworCQlpZiAoIXApCisJCQlyZXR1cm4gLUVOT01FTTsKKworCQl1cGQtPnVzZXJzcGFjZV9vbmx5ID0gdXNlcnNwYWNlX29ubHk7CisJCWZyZWUodXBkLT5maWxlbmFtZSk7CisJCXVwZC0+ZmlsZW5hbWUgPSBwOworCX0KKworCWlmICh1cGQtPmZpbGVuYW1lKQorCQlyZXR1cm4gMDsKKworCS8qIGRldGVjdCB0YWIgZmlsZW5hbWUgLS0gL2V0Yy9tdGFiIG9yIC9ydW4vbW91bnQvdXRhYgorCSAqLworI2lmZGVmIFVTRV9MSUJNT1VOVF9TVVBQT1JUX01UQUIKKwltbnRfaGFzX3JlZ3VsYXJfbXRhYigmcGF0aCwgJnJ3KTsKKyNlbmRpZgorCWlmICghcncpIHsKKwkJcGF0aCA9IE5VTEw7CisJCW1udF9oYXNfcmVndWxhcl91dGFiKCZwYXRoLCAmcncpOworCQlpZiAoIXJ3KQorCQkJcmV0dXJuIC1FQUNDRVM7CisJCXVwZC0+dXNlcnNwYWNlX29ubHkgPSBUUlVFOworCX0KKwl1cGQtPmZpbGVuYW1lID0gc3RyZHVwKHBhdGgpOworCWlmICghdXBkLT5maWxlbmFtZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBtbnRfdXBkYXRlX2dldF9maWxlbmFtZToKKyAqIEB1cGQ6IHVwZGF0ZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgZmlsZSBuYW1lIChlLmcuIC9ldGMvbXRhYikgb2YgdGhlIHVwLWRhdGVkIGZpbGUuCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBmaWxlbmFtZSB0aGF0IHdpbGwgYmUgdXBkYXRlZCBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2NvbnN0IGNoYXIgKm1udF91cGRhdGVfZ2V0X2ZpbGVuYW1lKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQpCit7CisJcmV0dXJuIHVwZCA/IHVwZC0+ZmlsZW5hbWUgOiBOVUxMOworfQorCisvKioKKyAqIG1udF91cGRhdGVfaXNfcmVhZHk6CisgKiBAdXBkOiB1cGRhdGUgaGFuZGxlcgorICoKKyAqIFJldHVybnM6IDEgaWYgZW50cnkgZGVzY3JpYmVkIGJ5IEB1cGQgaXMgc3VjY2Vzc2Z1bGx5IHByZXBhcmVkIGFuZCB3aWxsIGJlCisgKiB3cml0dGVuIHRvIHRoZSBtdGFiL3V0YWIgZmlsZS4KKyAqLworaW50IG1udF91cGRhdGVfaXNfcmVhZHkoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCkKK3sKKwlyZXR1cm4gdXBkID8gdXBkLT5yZWFkeSA6IEZBTFNFOworfQorCisvKioKKyAqIG1udF91cGRhdGVfc2V0X2ZzOgorICogQHVwZDogdXBkYXRlIGhhbmRsZXIKKyAqIEBtb3VudGZsYWdzOiBNU18qIGZsYWdzCisgKiBAdGFyZ2V0OiB1bW91bnQgdGFyZ2V0LCBtdXN0IGJlIE5VTEwgZm9yIG1vdW50CisgKiBAZnM6IG1vdW50IGZpbGVzeXN0ZW0gZGVzY3JpcHRpb24sIG11c3QgYmUgTlVMTCBmb3IgdW1vdW50CisgKgorICogUmV0dXJuczogPDAgaW4gY2FzZSBvbiBlcnJvciwgMCBvbiBzdWNjZXNzLCAxIGlmIHVwZGF0ZSBpcyB1bm5lY2Vzc2FyeS4KKyAqLworaW50IG1udF91cGRhdGVfc2V0X2ZzKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHVuc2lnbmVkIGxvbmcgbW91bnRmbGFncywKKwkJICAgICAgY29uc3QgY2hhciAqdGFyZ2V0LCBzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpbnQgcmM7CisKKwlpZiAoIXVwZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKChtb3VudGZsYWdzICYgTVNfTU9WRSkgJiYgKCFmcyB8fCAhbW50X2ZzX2dldF9zcmNwYXRoKGZzKSkpCisJCXJldHVybiAtRUlOVkFMOworCWlmICh0YXJnZXQgJiYgZnMpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLAorCQkJInJlc2V0dGluZyBGUyBbdGFyZ2V0PSVzLCBmbGFncz0weCUwOGx4XSIsCisJCQl0YXJnZXQsIG1vdW50ZmxhZ3MpKTsKKwlpZiAoZnMpIHsKKwkJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiRlMgdGVtcGxhdGU6IikpOworCQlEQkcoVVBEQVRFLCBtbnRfZnNfcHJpbnRfZGVidWcoZnMsIHN0ZGVycikpOworCX0KKworCW1udF91bnJlZl9mcyh1cGQtPmZzKTsKKwlmcmVlKHVwZC0+dGFyZ2V0KTsKKwl1cGQtPnJlYWR5ID0gRkFMU0U7CisJdXBkLT5mcyA9IE5VTEw7CisJdXBkLT50YXJnZXQgPSBOVUxMOworCXVwZC0+bW91bnRmbGFncyA9IDA7CisKKwlpZiAobW91bnRmbGFncyAmIE1TX1BST1BBR0FUSU9OKQorCQlyZXR1cm4gMTsKKworCXVwZC0+bW91bnRmbGFncyA9IG1vdW50ZmxhZ3M7CisKKwlyYyA9IG1udF91cGRhdGVfc2V0X2ZpbGVuYW1lKHVwZCwgTlVMTCwgMCk7CisJaWYgKHJjKSB7CisJCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIm5vIHdyaXRhYmxlIGZpbGUgYXZhaWxhYmxlIFtyYz0lZF0iLCByYykpOworCQlyZXR1cm4gcmM7CS8qIGVycm9yIG9yIG5vIGZpbGUgYXZhaWxhYmxlIChyYyA9IDEpICovCisJfQorCWlmICh0YXJnZXQpIHsKKwkJdXBkLT50YXJnZXQgPSBzdHJkdXAodGFyZ2V0KTsKKwkJaWYgKCF1cGQtPnRhcmdldCkKKwkJCXJldHVybiAtRU5PTUVNOworCisJfSBlbHNlIGlmIChmcykgeworCQlpZiAodXBkLT51c2Vyc3BhY2Vfb25seSAmJiAhKG1vdW50ZmxhZ3MgJiBNU19NT1ZFKSkgeworCQkJcmMgPSB1dGFiX25ld19lbnRyeSh1cGQsIGZzLCBtb3VudGZsYWdzKTsKKwkJCWlmIChyYykKKwkJCQlyZXR1cm4gcmM7CisJCX0gZWxzZSB7CisJCQl1cGQtPmZzID0gbW50X2NvcHlfbXRhYl9mcyhmcyk7CisJCQlpZiAoIXVwZC0+ZnMpCisJCQkJcmV0dXJuIC1FTk9NRU07CisKKwkJfQorCX0KKworCisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAicmVhZHkiKSk7CisJdXBkLT5yZWFkeSA9IFRSVUU7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X3VwZGF0ZV9nZXRfZnM6CisgKiBAdXBkOiB1cGRhdGUKKyAqCisgKiBSZXR1cm5zOiB1cGRhdGUgZmlsZXN5c3RlbSBlbnRyeSBvciBOVUxMCisgKi8KK3N0cnVjdCBsaWJtbnRfZnMgKm1udF91cGRhdGVfZ2V0X2ZzKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQpCit7CisJcmV0dXJuIHVwZCA/IHVwZC0+ZnMgOiBOVUxMOworfQorCisvKioKKyAqIG1udF91cGRhdGVfZ2V0X21mbGFnczoKKyAqIEB1cGQ6IHVwZGF0ZQorICoKKyAqIFJldHVybnM6IG1vdW50IGZsYWdzIGFzIHdhcyBzZXQgYnkgbW50X3VwZGF0ZV9zZXRfZnMoKQorICovCit1bnNpZ25lZCBsb25nIG1udF91cGRhdGVfZ2V0X21mbGFncyhzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkKQoreworCXJldHVybiB1cGQgPyB1cGQtPm1vdW50ZmxhZ3MgOiAwOworfQorCisvKioKKyAqIG1udF91cGRhdGVfZm9yY2VfcmRvbmx5OgorICogQHVwZDogdXBkYXRlCisgKiBAcmRvbmx5OiBpcyByZWFkLW9ubHk/CisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzIGFuZCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworaW50IG1udF91cGRhdGVfZm9yY2VfcmRvbmx5KHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIGludCByZG9ubHkpCit7CisJaW50IHJjID0gMDsKKworCWlmICghdXBkIHx8ICF1cGQtPmZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChyZG9ubHkgJiYgKHVwZC0+bW91bnRmbGFncyAmIE1TX1JET05MWSkpCisJCXJldHVybiAwOworCWlmICghcmRvbmx5ICYmICEodXBkLT5tb3VudGZsYWdzICYgTVNfUkRPTkxZKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoIXVwZC0+dXNlcnNwYWNlX29ubHkpIHsKKwkJLyogL2V0Yy9tdGFiIC0tIHdlIGNhcmUgYWJvdXQgVkZTIG9wdGlvbnMgdGhlcmUgKi8KKwkJY29uc3QgY2hhciAqbyA9IG1udF9mc19nZXRfb3B0aW9ucyh1cGQtPmZzKTsKKwkJY2hhciAqbiA9IG8gPyBzdHJkdXAobykgOiBOVUxMOworCisJCWlmIChuKQorCQkJbW50X29wdHN0cl9yZW1vdmVfb3B0aW9uKCZuLCByZG9ubHkgPyAicnciIDogInJvIik7CisJCWlmICghbW50X29wdHN0cl9wcmVwZW5kX29wdGlvbigmbiwgcmRvbmx5ID8gInJvIiA6ICJydyIsIE5VTEwpKQorCQkJcmMgPSBtbnRfZnNfc2V0X29wdGlvbnModXBkLT5mcywgbik7CisKKwkJZnJlZShuKTsKKwl9CisKKwlpZiAocmRvbmx5KQorCQl1cGQtPm1vdW50ZmxhZ3MgJj0gfk1TX1JET05MWTsKKwllbHNlCisJCXVwZC0+bW91bnRmbGFncyB8PSBNU19SRE9OTFk7CisKKwlyZXR1cm4gcmM7Cit9CisKKworLyoKKyAqIEFsbG9jYXRlcyBhbiB1dGFiIGVudHJ5ICh1cGQtPmZzKSBmb3IgbW91bnQvcmVtb3VudC4gVGhpcyBmdW5jdGlvbiBzaG91bGQgYmUKKyAqIGNhbGxlZCAqYmVmb3JlKiBtb3VudCgyKSBzeXNjYWxsLiBUaGUgQGZzIGlzIHVzZWQgYXMgYSByZWFkLW9ubHkgdGVtcGxhdGUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgb24gZXJyb3IsIDEgaWYgdXRhYidzIHVwZGF0ZSBpcworICogICAgICAgICAgdW5uZWNlc3NhcnkuCisgKi8KK3N0YXRpYyBpbnQgdXRhYl9uZXdfZW50cnkoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgc3RydWN0IGxpYm1udF9mcyAqZnMsCisJCQkgIHVuc2lnbmVkIGxvbmcgbW91bnRmbGFncykKK3sKKwlpbnQgcmMgPSAwOworCWNvbnN0IGNoYXIgKm8sICphOworCWNoYXIgKnUgPSBOVUxMOworCisJYXNzZXJ0KGZzKTsKKwlhc3NlcnQodXBkKTsKKwlhc3NlcnQodXBkLT5mcyA9PSBOVUxMKTsKKwlhc3NlcnQoIShtb3VudGZsYWdzICYgTVNfTU9WRSkpOworCisJREJHKFVQREFURSwgdWxfZGVidWcoInByZXBhcmUgdXRhYiBlbnRyeSIpKTsKKworCW8gPSBtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhmcyk7CisJYSA9IG1udF9mc19nZXRfYXR0cmlidXRlcyhmcyk7CisJdXBkLT5mcyA9IE5VTEw7CisKKwlpZiAobykgeworCQkvKiByZW1vdmUgbm9uLW10YWIgb3B0aW9ucyAqLworCQlyYyA9IG1udF9vcHRzdHJfZ2V0X29wdGlvbnMobywgJnUsCisJCQkJbW50X2dldF9idWlsdGluX29wdG1hcChNTlRfVVNFUlNQQUNFX01BUCksCisJCQkJTU5UX05PTVRBQik7CisJCWlmIChyYykKKwkJCWdvdG8gZXJyOworCX0KKworCWlmICghdSAmJiAhYSkgeworCQlEQkcoVVBEQVRFLCB1bF9kZWJ1ZygidXRhYiBlbnRyeSB1bm5lY2Vzc2FyeSAobm8gb3B0aW9ucykiKSk7CisJCXJldHVybiAxOworCX0KKworCS8qIGFsbG9jYXRlIHRoZSBlbnRyeSAqLworCXVwZC0+ZnMgPSBtbnRfY29weV9mcyhOVUxMLCBmcyk7CisJaWYgKCF1cGQtPmZzKSB7CisJCXJjID0gLUVOT01FTTsKKwkJZ290byBlcnI7CisJfQorCisJcmMgPSBtbnRfZnNfc2V0X29wdGlvbnModXBkLT5mcywgdSk7CisJaWYgKHJjKQorCQlnb3RvIGVycjsKKwlyYyA9IG1udF9mc19zZXRfYXR0cmlidXRlcyh1cGQtPmZzLCBhKTsKKwlpZiAocmMpCisJCWdvdG8gZXJyOworCisJaWYgKCEobW91bnRmbGFncyAmIE1TX1JFTU9VTlQpKSB7CisJCXJjID0gc2V0X2ZzX3Jvb3QodXBkLCBmcywgbW91bnRmbGFncyk7CisJCWlmIChyYykKKwkJCWdvdG8gZXJyOworCX0KKworCWZyZWUodSk7CisJREJHKFVQREFURSwgdWxfZGVidWcoInV0YWIgZW50cnkgT0siKSk7CisJcmV0dXJuIDA7CitlcnI6CisJZnJlZSh1KTsKKwltbnRfdW5yZWZfZnModXBkLT5mcyk7CisJdXBkLT5mcyA9IE5VTEw7CisJcmV0dXJuIHJjOworfQorCisvKgorICogU2V0cyBmcy1yb290IGFuZCBmcy10eXBlIHRvIEB1cGQtPmZzIGFjY29yZGluZyB0byB0aGUgQGZzIHRlbXBsYXRlIGFuZAorICogQG1vdW50ZmFsZ3MuIEZvciBNU19CSU5EIG1vdW50ZmxhZyBpdCByZWFkcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc291cmNlCisgKiBmaWxlc3lzdGVtIGZyb20gL3Byb2Mvc2VsZi9tb3VudGluZm8uCisgKi8KK3N0YXRpYyBpbnQgc2V0X2ZzX3Jvb3Qoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgc3RydWN0IGxpYm1udF9mcyAqZnMsCisJCSAgICAgICB1bnNpZ25lZCBsb25nIG1vdW50ZmxhZ3MpCit7CisJc3RydWN0IGxpYm1udF9mcyAqc3JjX2ZzOworCWNoYXIgKmZzcm9vdCA9IE5VTEw7CisJY29uc3QgY2hhciAqc3JjLCAqZnN0eXBlOworCWludCByYyA9IDA7CisKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Zygic2V0dGluZyBGUyByb290IikpOworCisJYXNzZXJ0KHVwZCk7CisJYXNzZXJ0KHVwZC0+ZnMpOworCWFzc2VydChmcyk7CisKKwlmc3R5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShmcyk7CisKKwlpZiAobW91bnRmbGFncyAmIE1TX0JJTkQpIHsKKwkJaWYgKCF1cGQtPm1vdW50aW5mbykKKwkJCXVwZC0+bW91bnRpbmZvID0gbW50X25ld190YWJsZV9mcm9tX2ZpbGUoX1BBVEhfUFJPQ19NT1VOVElORk8pOworCQlzcmMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpOworCQlpZiAoc3JjKSB7CisJCQkgcmMgPSBtbnRfZnNfc2V0X2JpbmRzcmModXBkLT5mcywgc3JjKTsKKwkJCSBpZiAocmMpCisJCQkJIGdvdG8gZXJyOworCQl9CisKKwl9IGVsc2UgaWYgKGZzdHlwZSAmJiAoc3RyY21wKGZzdHlwZSwgImJ0cmZzIikgPT0gMCB8fCBzdHJjbXAoZnN0eXBlLCAiYXV0byIpID09IDApKSB7CisJCWlmICghdXBkLT5tb3VudGluZm8pCisJCQl1cGQtPm1vdW50aW5mbyA9IG1udF9uZXdfdGFibGVfZnJvbV9maWxlKF9QQVRIX1BST0NfTU9VTlRJTkZPKTsKKwl9CisKKwlzcmNfZnMgPSBtbnRfdGFibGVfZ2V0X2ZzX3Jvb3QodXBkLT5tb3VudGluZm8sIGZzLAorCQkJCQltb3VudGZsYWdzLCAmZnNyb290KTsKKwlpZiAoc3JjX2ZzKSB7CisJCXNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChzcmNfZnMpOworCQlyYyA9IG1udF9mc19zZXRfc291cmNlKHVwZC0+ZnMsIHNyYyk7CisJCWlmIChyYykKKwkJCWdvdG8gZXJyOworCisJCW1udF9mc19zZXRfZnN0eXBlKHVwZC0+ZnMsIG1udF9mc19nZXRfZnN0eXBlKHNyY19mcykpOworCX0KKworCXVwZC0+ZnMtPnJvb3QgPSBmc3Jvb3Q7CisJcmV0dXJuIDA7CitlcnI6CisJZnJlZShmc3Jvb3QpOworCXJldHVybiByYzsKK30KKworLyogbXRhYiBhbmQgZnN0YWIgdXBkYXRlIC0tIHJldHVybnMgemVybyBvbiBzdWNjZXNzCisgKi8KK3N0YXRpYyBpbnQgZnByaW50Zl9tdGFiX2ZzKEZJTEUgKmYsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWNvbnN0IGNoYXIgKm8sICpzcmMsICpmc3R5cGUsICpjb21tOworCWNoYXIgKm0xLCAqbTIsICptMywgKm00OworCWludCByYzsKKworCWFzc2VydChmcyk7CisJYXNzZXJ0KGYpOworCisJY29tbSA9IG1udF9mc19nZXRfY29tbWVudChmcyk7CisJc3JjID0gbW50X2ZzX2dldF9zb3VyY2UoZnMpOworCWZzdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKGZzKTsKKwlvID0gbW50X2ZzX2dldF9vcHRpb25zKGZzKTsKKworCW0xID0gc3JjID8gbWFuZ2xlKHNyYykgOiAibm9uZSI7CisJbTIgPSBtYW5nbGUobW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwltMyA9IGZzdHlwZSA/IG1hbmdsZShmc3R5cGUpIDogIm5vbmUiOworCW00ID0gbyA/IG1hbmdsZShvKSA6ICJydyI7CisKKwlpZiAobTEgJiYgbTIgJiYgbTMgJiYgbTQpIHsKKwkJaWYgKGNvbW0pCisJCQlmcHV0cyhjb21tLCBmKTsKKwkJcmMgPSBmcHJpbnRmKGYsICIlcyAlcyAlcyAlcyAlZCAlZFxuIiwKKwkJCQltMSwgbTIsIG0zLCBtNCwKKwkJCQltbnRfZnNfZ2V0X2ZyZXEoZnMpLAorCQkJCW1udF9mc19nZXRfcGFzc25vKGZzKSk7CisJCWlmIChyYyA+IDApCisJCQlyYyA9IDA7CisJfSBlbHNlCisJCXJjID0gLUVOT01FTTsKKworCWlmIChzcmMpCisJCWZyZWUobTEpOworCWZyZWUobTIpOworCWlmIChmc3R5cGUpCisJCWZyZWUobTMpOworCWlmIChvKQorCQlmcmVlKG00KTsKKworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBmcHJpbnRmX3V0YWJfZnMoRklMRSAqZiwgc3RydWN0IGxpYm1udF9mcyAqZnMpCit7CisJY2hhciAqcDsKKwlpbnQgcmMgPSAwOworCisJaWYgKCFmcyB8fCAhZikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwID0gbWFuZ2xlKG1udF9mc19nZXRfc291cmNlKGZzKSk7CisJaWYgKHApIHsKKwkJcmMgPSBmcHJpbnRmKGYsICJTUkM9JXMgIiwgcCk7CisJCWZyZWUocCk7CisJfQorCWlmIChyYyA+PSAwKSB7CisJCXAgPSBtYW5nbGUobW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwkJaWYgKHApIHsKKwkJCXJjID0gZnByaW50ZihmLCAiVEFSR0VUPSVzICIsIHApOworCQkJZnJlZShwKTsKKwkJfQorCX0KKwlpZiAocmMgPj0gMCkgeworCQlwID0gbWFuZ2xlKG1udF9mc19nZXRfcm9vdChmcykpOworCQlpZiAocCkgeworCQkJcmMgPSBmcHJpbnRmKGYsICJST09UPSVzICIsIHApOworCQkJZnJlZShwKTsKKwkJfQorCX0KKwlpZiAocmMgPj0gMCkgeworCQlwID0gbWFuZ2xlKG1udF9mc19nZXRfYmluZHNyYyhmcykpOworCQlpZiAocCkgeworCQkJcmMgPSBmcHJpbnRmKGYsICJCSU5EU1JDPSVzICIsIHApOworCQkJZnJlZShwKTsKKwkJfQorCX0KKwlpZiAocmMgPj0gMCkgeworCQlwID0gbWFuZ2xlKG1udF9mc19nZXRfYXR0cmlidXRlcyhmcykpOworCQlpZiAocCkgeworCQkJcmMgPSBmcHJpbnRmKGYsICJBVFRSUz0lcyAiLCBwKTsKKwkJCWZyZWUocCk7CisJCX0KKwl9CisJaWYgKHJjID49IDApIHsKKwkJcCA9IG1hbmdsZShtbnRfZnNfZ2V0X3VzZXJfb3B0aW9ucyhmcykpOworCQlpZiAocCkgeworCQkJcmMgPSBmcHJpbnRmKGYsICJPUFRTPSVzIiwgcCk7CisJCQlmcmVlKHApOworCQl9CisJfQorCWlmIChyYyA+PSAwKQorCQlyYyA9IGZwcmludGYoZiwgIlxuIik7CisKKwlpZiAocmMgPiAwKQorCQlyYyA9IDA7CS8qIHN1Y2Nlc3MgKi8KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdXBkYXRlX3RhYmxlKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiKQoreworCUZJTEUgKmY7CisJaW50IHJjLCBmZDsKKwljaGFyICp1cSA9IE5VTEw7CisKKwlpZiAoIXRiIHx8ICF1cGQtPmZpbGVuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIiVzOiB1cGRhdGluZyIsIHVwZC0+ZmlsZW5hbWUpKTsKKworCWZkID0gbW50X29wZW5fdW5pcV9maWxlbmFtZSh1cGQtPmZpbGVuYW1lLCAmdXEpOworCWlmIChmZCA8IDApCisJCXJldHVybiBmZDsJLyogZXJyb3IgKi8KKworCWYgPSBmZG9wZW4oZmQsICJ3IiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoZikgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwkJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwkJbW50X3Jlc2V0X2l0ZXIoJml0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisKKwkJaWYgKHRiLT5jb21tcyAmJiBtbnRfdGFibGVfZ2V0X2ludHJvX2NvbW1lbnQodGIpKQorCQkJZnB1dHMobW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KHRiKSwgZik7CisKKwkJd2hpbGUobW50X3RhYmxlX25leHRfZnModGIsICZpdHIsICZmcykgPT0gMCkgeworCQkJaWYgKHVwZC0+dXNlcnNwYWNlX29ubHkpCisJCQkJcmMgPSBmcHJpbnRmX3V0YWJfZnMoZiwgZnMpOworCQkJZWxzZQorCQkJCXJjID0gZnByaW50Zl9tdGFiX2ZzKGYsIGZzKTsKKwkJCWlmIChyYykgeworCQkJCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwKKwkJCQkJIiVzOiB3cml0ZSBlbnRyeSBmYWlsZWQ6ICVtIiwgdXEpKTsKKwkJCQlnb3RvIGxlYXZlOworCQkJfQorCQl9CisJCWlmICh0Yi0+Y29tbXMgJiYgbW50X3RhYmxlX2dldF90cmFpbGluZ19jb21tZW50KHRiKSkKKwkJCWZwdXRzKG1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudCh0YiksIGYpOworCisJCWlmIChmZmx1c2goZikgIT0gMCkgeworCQkJcmMgPSAtZXJybm87CisJCQlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogZmZsdXNoIGZhaWxlZDogJW0iLCB1cSkpOworCQkJZ290byBsZWF2ZTsKKwkJfQorCisJCXJjID0gZmNobW9kKGZkLCBTX0lSVVNSfFNfSVdVU1J8U19JUkdSUHxTX0lST1RIKSA/IC1lcnJubyA6IDA7CisKKwkJaWYgKCFyYyAmJiBzdGF0KHVwZC0+ZmlsZW5hbWUsICZzdCkgPT0gMCkKKwkJCS8qIENvcHkgdWlkL2dpZCBmcm9tIHRoZSBwcmVzZW50IGZpbGUgYmVmb3JlIHJlbmFtaW5nLiAqLworCQkJcmMgPSBmY2hvd24oZmQsIHN0LnN0X3VpZCwgc3Quc3RfZ2lkKSA/IC1lcnJubyA6IDA7CisKKwkJZmNsb3NlKGYpOworCQlmID0gTlVMTDsKKworCQlpZiAoIXJjKQorCQkJcmMgPSByZW5hbWUodXEsIHVwZC0+ZmlsZW5hbWUpID8gLWVycm5vIDogMDsKKwl9IGVsc2UgeworCQlyYyA9IC1lcnJubzsKKwkJY2xvc2UoZmQpOworCX0KKworbGVhdmU6CisJaWYgKGYpCisJCWZjbG9zZShmKTsKKworCXVubGluayh1cSk7CS8qIGJlIHBhcmFub2lkICovCisJZnJlZSh1cSk7CisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiJXM6IGRvbmUgW3JjPSVkXSIsIHVwZC0+ZmlsZW5hbWUsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF90YWJsZV93cml0ZV9maWxlCisgKiBAdGI6IHBhcnNlZCBmaWxlIChlLmcuIGZzdGFiKQorICogQGZpbGU6IHRhcmdldAorICoKKyAqIFRoaXMgZnVuY3Rpb24gd3JpdGVzIEB0YiB0byBAZmlsZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV93cml0ZV9maWxlKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBGSUxFICpmaWxlKQoreworCWludCByYyA9IDA7CisJc3RydWN0IGxpYm1udF9pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKworCWlmICh0Yi0+Y29tbXMgJiYgbW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KHRiKSkKKwkJZnB1dHMobW50X3RhYmxlX2dldF9pbnRyb19jb21tZW50KHRiKSwgZmlsZSk7CisKKwltbnRfcmVzZXRfaXRlcigmaXRyLCBNTlRfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZShtbnRfdGFibGVfbmV4dF9mcyh0YiwgJml0ciwgJmZzKSA9PSAwKSB7CisJCXJjID0gZnByaW50Zl9tdGFiX2ZzKGZpbGUsIGZzKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKwlpZiAodGItPmNvbW1zICYmIG1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudCh0YikpCisJCWZwdXRzKG1udF90YWJsZV9nZXRfdHJhaWxpbmdfY29tbWVudCh0YiksIGZpbGUpOworCisJaWYgKGZmbHVzaChmaWxlKSAhPSAwKQorCQlyYyA9IC1lcnJubzsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAid3JpdGUgZmlsZSBkb25lIFtyYz0lZF0iLCByYykpOworCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfdGFibGVfcmVwbGFjZV9maWxlCisgKiBAdGI6IHBhcnNlZCBmaWxlIChlLmcuIGZzdGFiKQorICogQGZpbGVuYW1lOiB0YXJnZXQKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlcGxhY2VzIEBmaWxlIGJ5IHRoZSBuZXcgY29udGVudCBmcm9tIEB0Yi4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBvbiBlcnJvci4KKyAqLworaW50IG1udF90YWJsZV9yZXBsYWNlX2ZpbGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWludCBmZCwgcmMgPSAwOworCUZJTEUgKmY7CisJY2hhciAqdXEgPSBOVUxMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIlczogcmVwbGFjaW5nIiwgZmlsZW5hbWUpKTsKKworCWZkID0gbW50X29wZW5fdW5pcV9maWxlbmFtZShmaWxlbmFtZSwgJnVxKTsKKwlpZiAoZmQgPCAwKQorCQlyZXR1cm4gZmQ7CS8qIGVycm9yICovCisKKwlmID0gZmRvcGVuKGZkLCAidyIgVUxfQ0xPRVhFQ1NUUik7CisJaWYgKGYpIHsKKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJbW50X3RhYmxlX3dyaXRlX2ZpbGUodGIsIGYpOworCisJCWlmIChmZmx1c2goZikgIT0gMCkgeworCQkJcmMgPSAtZXJybm87CisJCQlEQkcoVVBEQVRFLCB1bF9kZWJ1ZygiJXM6IGZmbHVzaCBmYWlsZWQ6ICVtIiwgdXEpKTsKKwkJCWdvdG8gbGVhdmU7CisJCX0KKworCQlyYyA9IGZjaG1vZChmZCwgU19JUlVTUnxTX0lXVVNSfFNfSVJHUlB8U19JUk9USCkgPyAtZXJybm8gOiAwOworCisJCWlmICghcmMgJiYgc3RhdChmaWxlbmFtZSwgJnN0KSA9PSAwKQorCQkJLyogQ29weSB1aWQvZ2lkIGZyb20gdGhlIHByZXNlbnQgZmlsZSBiZWZvcmUgcmVuYW1pbmcuICovCisJCQlyYyA9IGZjaG93bihmZCwgc3Quc3RfdWlkLCBzdC5zdF9naWQpID8gLWVycm5vIDogMDsKKworCQlmY2xvc2UoZik7CisJCWYgPSBOVUxMOworCisJCWlmICghcmMpCisJCQlyYyA9IHJlbmFtZSh1cSwgZmlsZW5hbWUpID8gLWVycm5vIDogMDsKKwl9IGVsc2UgeworCQlyYyA9IC1lcnJubzsKKwkJY2xvc2UoZmQpOworCX0KKworbGVhdmU6CisJaWYgKGYpCisJCWZjbG9zZShmKTsKKwl1bmxpbmsodXEpOworCWZyZWUodXEpOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZXBsYWNlIGRvbmUgW3JjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IGFkZF9maWxlX2VudHJ5KHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJYXNzZXJ0KHVwZCk7CisKKwlmcyA9IG1udF9jb3B5X2ZzKE5VTEwsIHVwZC0+ZnMpOworCWlmICghZnMpCisJCXJldHVybiAtRU5PTUVNOworCisJbW50X3RhYmxlX2FkZF9mcyh0YiwgZnMpOworCW1udF91bnJlZl9mcyhmcyk7CisKKwlyZXR1cm4gdXBkYXRlX3RhYmxlKHVwZCwgdGIpOworfQorCitzdGF0aWMgaW50IHVwZGF0ZV9hZGRfZW50cnkoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgc3RydWN0IGxpYm1udF9sb2NrICpsYykKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlpbnQgcmMgPSAwOworCisJYXNzZXJ0KHVwZCk7CisJYXNzZXJ0KHVwZC0+ZnMpOworCisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiJXM6IGFkZCBlbnRyeSIsIHVwZC0+ZmlsZW5hbWUpKTsKKworCWlmIChsYykKKwkJcmMgPSBtbnRfbG9ja19maWxlKGxjKTsKKwlpZiAocmMpCisJCXJldHVybiAtTU5UX0VSUl9MT0NLOworCisJdGIgPSBfX21udF9uZXdfdGFibGVfZnJvbV9maWxlKHVwZC0+ZmlsZW5hbWUsCisJCQl1cGQtPnVzZXJzcGFjZV9vbmx5ID8gTU5UX0ZNVF9VVEFCIDogTU5UX0ZNVF9NVEFCLCAxKTsKKwlpZiAodGIpCisJCXJjID0gYWRkX2ZpbGVfZW50cnkodGIsIHVwZCk7CisJaWYgKGxjKQorCQltbnRfdW5sb2NrX2ZpbGUobGMpOworCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdXBkYXRlX3JlbW92ZV9lbnRyeShzdHJ1Y3QgbGlibW50X3VwZGF0ZSAqdXBkLCBzdHJ1Y3QgbGlibW50X2xvY2sgKmxjKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCWludCByYyA9IDA7CisKKwlhc3NlcnQodXBkKTsKKwlhc3NlcnQodXBkLT50YXJnZXQpOworCisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiJXM6IHJlbW92ZSBlbnRyeSIsIHVwZC0+ZmlsZW5hbWUpKTsKKworCWlmIChsYykKKwkJcmMgPSBtbnRfbG9ja19maWxlKGxjKTsKKwlpZiAocmMpCisJCXJldHVybiAtTU5UX0VSUl9MT0NLOworCisJdGIgPSBfX21udF9uZXdfdGFibGVfZnJvbV9maWxlKHVwZC0+ZmlsZW5hbWUsCisJCQl1cGQtPnVzZXJzcGFjZV9vbmx5ID8gTU5UX0ZNVF9VVEFCIDogTU5UX0ZNVF9NVEFCLCAxKTsKKwlpZiAodGIpIHsKKwkJc3RydWN0IGxpYm1udF9mcyAqcmVtID0gbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCB1cGQtPnRhcmdldCwgTU5UX0lURVJfQkFDS1dBUkQpOworCQlpZiAocmVtKSB7CisJCQltbnRfdGFibGVfcmVtb3ZlX2ZzKHRiLCByZW0pOworCQkJcmMgPSB1cGRhdGVfdGFibGUodXBkLCB0Yik7CisJCX0KKwl9CisJaWYgKGxjKQorCQltbnRfdW5sb2NrX2ZpbGUobGMpOworCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdXBkYXRlX21vZGlmeV90YXJnZXQoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgc3RydWN0IGxpYm1udF9sb2NrICpsYykKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEw7CisJaW50IHJjID0gMDsKKworCWFzc2VydCh1cGQpOworCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIiVzOiBtb2RpZnkgdGFyZ2V0IiwgdXBkLT5maWxlbmFtZSkpOworCisJaWYgKGxjKQorCQlyYyA9IG1udF9sb2NrX2ZpbGUobGMpOworCWlmIChyYykKKwkJcmV0dXJuIC1NTlRfRVJSX0xPQ0s7CisKKwl0YiA9IF9fbW50X25ld190YWJsZV9mcm9tX2ZpbGUodXBkLT5maWxlbmFtZSwKKwkJCXVwZC0+dXNlcnNwYWNlX29ubHkgPyBNTlRfRk1UX1VUQUIgOiBNTlRfRk1UX01UQUIsIDEpOworCWlmICh0YikgeworCQlzdHJ1Y3QgbGlibW50X2ZzICpjdXIgPSBtbnRfdGFibGVfZmluZF90YXJnZXQodGIsCisJCQkJbW50X2ZzX2dldF9zcmNwYXRoKHVwZC0+ZnMpLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJCWlmIChjdXIpIHsKKwkJCXJjID0gbW50X2ZzX3NldF90YXJnZXQoY3VyLCBtbnRfZnNfZ2V0X3RhcmdldCh1cGQtPmZzKSk7CisJCQlpZiAoIXJjKQorCQkJCXJjID0gdXBkYXRlX3RhYmxlKHVwZCwgdGIpOworCQl9CisJfQorCisJaWYgKGxjKQorCQltbnRfdW5sb2NrX2ZpbGUobGMpOworCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdXBkYXRlX21vZGlmeV9vcHRpb25zKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHN0cnVjdCBsaWJtbnRfbG9jayAqbGMpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGIgPSBOVUxMOworCWludCByYyA9IDA7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwlhc3NlcnQodXBkKTsKKwlhc3NlcnQodXBkLT5mcyk7CisKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogbW9kaWZ5IG9wdGlvbnMiLCB1cGQtPmZpbGVuYW1lKSk7CisKKwlmcyA9IHVwZC0+ZnM7CisKKwlpZiAobGMpCisJCXJjID0gbW50X2xvY2tfZmlsZShsYyk7CisJaWYgKHJjKQorCQlyZXR1cm4gLU1OVF9FUlJfTE9DSzsKKworCXRiID0gX19tbnRfbmV3X3RhYmxlX2Zyb21fZmlsZSh1cGQtPmZpbGVuYW1lLAorCQkJdXBkLT51c2Vyc3BhY2Vfb25seSA/IE1OVF9GTVRfVVRBQiA6IE1OVF9GTVRfTVRBQiwgMSk7CisJaWYgKHRiKSB7CisJCXN0cnVjdCBsaWJtbnRfZnMgKmN1ciA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0YiwKKwkJCQkJbW50X2ZzX2dldF90YXJnZXQoZnMpLAorCQkJCQlNTlRfSVRFUl9CQUNLV0FSRCk7CisJCWlmIChjdXIpIHsKKwkJCWlmICh1cGQtPnVzZXJzcGFjZV9vbmx5KQorCQkJCXJjID0gbW50X2ZzX3NldF9hdHRyaWJ1dGVzKGN1ciwJbW50X2ZzX2dldF9hdHRyaWJ1dGVzKGZzKSk7CisJCQlpZiAoIXJjKQorCQkJCXJjID0gbW50X2ZzX3NldF9vcHRpb25zKGN1ciwgbW50X2ZzX2dldF9vcHRpb25zKGZzKSk7CisJCQlpZiAoIXJjKQorCQkJCXJjID0gdXBkYXRlX3RhYmxlKHVwZCwgdGIpOworCQl9IGVsc2UKKwkJCXJjID0gYWRkX2ZpbGVfZW50cnkodGIsIHVwZCk7CS8qIG5vdCBmb3VuZCwgYWRkIG5ldyAqLworCX0KKworCWlmIChsYykKKwkJbW50X3VubG9ja19maWxlKGxjKTsKKworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIG1udF91cGRhdGVfdGFibGU6CisgKiBAdXBkOiB1cGRhdGUKKyAqIEBsYzogbG9jayBvciBOVUxMCisgKgorICogSGlnaC1sZXZlbCBBUEkgdG8gdXBkYXRlIC9ldGMvbXRhYiAob3IgcHJpdmF0ZSAvcnVuL21vdW50L3V0YWIgZmlsZSkuCisgKgorICogVGhlIEBsYyBsb2NrIGlzIG9wdGlvbmFsIGFuZCB3aWxsIGJlIGNyZWF0ZWQgaWYgbmVjZXNzYXJ5LiBOb3RlIHRoYXQKKyAqIGFuIGF1dG9tYXRpY2FsbHkgY3JlYXRlZCBsb2NrIGJsb2NrcyBhbGwgc2lnbmFscy4KKyAqCisgKiBTZWUgYWxzbyBtbnRfbG9ja19ibG9ja19zaWduYWxzKCkgYW5kIG1udF9jb250ZXh0X2dldF9sb2NrKCkuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgb24gZXJyb3IuCisgKi8KK2ludCBtbnRfdXBkYXRlX3RhYmxlKHN0cnVjdCBsaWJtbnRfdXBkYXRlICp1cGQsIHN0cnVjdCBsaWJtbnRfbG9jayAqbGMpCit7CisJc3RydWN0IGxpYm1udF9sb2NrICpsYzAgPSBsYzsKKwlpbnQgcmMgPSAtRUlOVkFMOworCisJaWYgKCF1cGQgfHwgIXVwZC0+ZmlsZW5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghdXBkLT5yZWFkeSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogdXBkYXRlIHRhYiIsIHVwZC0+ZmlsZW5hbWUpKTsKKwlpZiAodXBkLT5mcykgeworCQlEQkcoVVBEQVRFLCBtbnRfZnNfcHJpbnRfZGVidWcodXBkLT5mcywgc3RkZXJyKSk7CisJfQorCWlmICghbGMpIHsKKwkJbGMgPSBtbnRfbmV3X2xvY2sodXBkLT5maWxlbmFtZSwgMCk7CisJCWlmIChsYykKKwkJCW1udF9sb2NrX2Jsb2NrX3NpZ25hbHMobGMsIFRSVUUpOworCX0KKwlpZiAobGMgJiYgdXBkLT51c2Vyc3BhY2Vfb25seSkKKwkJbW50X2xvY2tfdXNlX3NpbXBsZWxvY2sobGMsIFRSVUUpOwkvKiB1c2UgZmxvY2sgKi8KKworCWlmICghdXBkLT5mcyAmJiB1cGQtPnRhcmdldCkKKwkJcmMgPSB1cGRhdGVfcmVtb3ZlX2VudHJ5KHVwZCwgbGMpOwkvKiB1bW91bnQgKi8KKwllbHNlIGlmICh1cGQtPm1vdW50ZmxhZ3MgJiBNU19NT1ZFKQorCQlyYyA9IHVwZGF0ZV9tb2RpZnlfdGFyZ2V0KHVwZCwgbGMpOwkvKiBtb3ZlICovCisJZWxzZSBpZiAodXBkLT5tb3VudGZsYWdzICYgTVNfUkVNT1VOVCkKKwkJcmMgPSB1cGRhdGVfbW9kaWZ5X29wdGlvbnModXBkLCBsYyk7CS8qIHJlbW91bnQgKi8KKwllbHNlIGlmICh1cGQtPmZzKQorCQlyYyA9IHVwZGF0ZV9hZGRfZW50cnkodXBkLCBsYyk7CS8qIG1vdW50ICovCisKKwl1cGQtPnJlYWR5ID0gRkFMU0U7CisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiJXM6IHVwZGF0ZSB0YWI6IGRvbmUgW3JjPSVkXSIsCisJCQkJdXBkLT5maWxlbmFtZSwgcmMpKTsKKwlpZiAobGMgIT0gbGMwKQorCQkgbW50X2ZyZWVfbG9jayhsYyk7CisJcmV0dXJuIHJjOworfQorCitpbnQgbW50X3VwZGF0ZV9hbHJlYWR5X2RvbmUoc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZCwgc3RydWN0IGxpYm1udF9sb2NrICpsYykKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9sb2NrICpsYzAgPSBsYzsKKwlpbnQgcmMgPSAwOworCisJaWYgKCF1cGQgfHwgIXVwZC0+ZmlsZW5hbWUgfHwgKCF1cGQtPmZzICYmICF1cGQtPnRhcmdldCkpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFVQREFURSwgdWxfZGVidWdvYmoodXBkLCAiJXM6IGNoZWNraW5nIGZvciBwcmV2aW91cyB1cGRhdGUiLCB1cGQtPmZpbGVuYW1lKSk7CisKKwlpZiAoIWxjKSB7CisJCWxjID0gbW50X25ld19sb2NrKHVwZC0+ZmlsZW5hbWUsIDApOworCQlpZiAobGMpCisJCQltbnRfbG9ja19ibG9ja19zaWduYWxzKGxjLCBUUlVFKTsKKwl9CisJaWYgKGxjICYmIHVwZC0+dXNlcnNwYWNlX29ubHkpCisJCW1udF9sb2NrX3VzZV9zaW1wbGVsb2NrKGxjLCBUUlVFKTsJLyogdXNlIGZsb2NrICovCisJaWYgKGxjKSB7CisJCXJjID0gbW50X2xvY2tfZmlsZShsYyk7CisJCWlmIChyYykgeworCQkJcmMgPSAtTU5UX0VSUl9MT0NLOworCQkJZ290byBkb25lOworCQl9CisJfQorCisJdGIgPSBfX21udF9uZXdfdGFibGVfZnJvbV9maWxlKHVwZC0+ZmlsZW5hbWUsCisJCQl1cGQtPnVzZXJzcGFjZV9vbmx5ID8gTU5UX0ZNVF9VVEFCIDogTU5UX0ZNVF9NVEFCLCAxKTsKKwlpZiAobGMpCisJCW1udF91bmxvY2tfZmlsZShsYyk7CisJaWYgKCF0YikKKwkJZ290byBkb25lOworCisJaWYgKHVwZC0+ZnMpIHsKKwkJLyogbW91bnQgKi8KKwkJY29uc3QgY2hhciAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQodXBkLT5mcyk7CisJCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9mc19nZXRfYmluZHNyYyh1cGQtPmZzKSA/CisJCQkJCW1udF9mc19nZXRfYmluZHNyYyh1cGQtPmZzKSA6CisJCQkJCW1udF9mc19nZXRfc291cmNlKHVwZC0+ZnMpOworCisJCWlmIChtbnRfdGFibGVfZmluZF9wYWlyKHRiLCBzcmMsIHRndCwgTU5UX0lURVJfQkFDS1dBUkQpKSB7CisJCQlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogZm91bmQgJXMgJXMiLAorCQkJCQkJdXBkLT5maWxlbmFtZSwgc3JjLCB0Z3QpKTsKKwkJCXJjID0gMTsKKwkJfQorCX0gZWxzZSBpZiAodXBkLT50YXJnZXQpIHsKKwkJLyogdW1vdW50ICovCisJCWlmICghbW50X3RhYmxlX2ZpbmRfdGFyZ2V0KHRiLCB1cGQtPnRhcmdldCwgTU5UX0lURVJfQkFDS1dBUkQpKSB7CisJCQlEQkcoVVBEQVRFLCB1bF9kZWJ1Z29iaih1cGQsICIlczogbm90LWZvdW5kICh1bW91bnRlZCkgJXMiLAorCQkJCQkJdXBkLT5maWxlbmFtZSwgdXBkLT50YXJnZXQpKTsKKwkJCXJjID0gMTsKKwkJfQorCX0KKworCW1udF91bnJlZl90YWJsZSh0Yik7Citkb25lOgorCWlmIChsYyAmJiBsYyAhPSBsYzApCisJCW1udF9mcmVlX2xvY2sobGMpOworCURCRyhVUERBVEUsIHVsX2RlYnVnb2JqKHVwZCwgIiVzOiBwcmV2aW91cyB1cGRhdGUgY2hlY2sgZG9uZSBbcmM9JWRdIiwKKwkJCQl1cGQtPmZpbGVuYW1lLCByYykpOworCXJldHVybiByYzsKK30KKworCisjaWZkZWYgVEVTVF9QUk9HUkFNCisKK3N0YXRpYyBpbnQgdXBkYXRlKGNvbnN0IGNoYXIgKnRhcmdldCwgc3RydWN0IGxpYm1udF9mcyAqZnMsIHVuc2lnbmVkIGxvbmcgbW91bnRmbGFncykKK3sKKwlpbnQgcmM7CisJc3RydWN0IGxpYm1udF91cGRhdGUgKnVwZDsKKworCURCRyhVUERBVEUsIHVsX2RlYnVnKCJ1cGRhdGUgdGVzdCIpKTsKKworCXVwZCA9IG1udF9uZXdfdXBkYXRlKCk7CisJaWYgKCF1cGQpCisJCXJldHVybiAtRU5PTUVNOworCisJcmMgPSBtbnRfdXBkYXRlX3NldF9mcyh1cGQsIG1vdW50ZmxhZ3MsIHRhcmdldCwgZnMpOworCWlmIChyYyA9PSAxKSB7CisJCS8qIHVwZGF0ZSBpcyB1bm5lY2Vzc2FyeSAqLworCQlyYyA9IDA7CisJCWdvdG8gZG9uZTsKKwl9CisJaWYgKHJjKSB7CisJCWZwcmludGYoc3RkZXJyLCAiZmFpbGVkIHRvIHNldCBGU1xuIik7CisJCWdvdG8gZG9uZTsKKwl9CisKKwkvKiBbLi4uIG1vdW50KDIpIGNhbGwgc2hvdWxkIGJlIGhlcmUuLi5dICAqLworCisJcmMgPSBtbnRfdXBkYXRlX3RhYmxlKHVwZCwgTlVMTCk7Citkb25lOgorCW1udF9mcmVlX3VwZGF0ZSh1cGQpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X2FkZChzdHJ1Y3QgbGlibW50X3Rlc3QgKnRzLCBpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gbW50X25ld19mcygpOworCWludCByYzsKKworCWlmIChhcmdjIDwgNSB8fCAhZnMpCisJCXJldHVybiAtMTsKKwltbnRfZnNfc2V0X3NvdXJjZShmcywgYXJndlsxXSk7CisJbW50X2ZzX3NldF90YXJnZXQoZnMsIGFyZ3ZbMl0pOworCW1udF9mc19zZXRfZnN0eXBlKGZzLCBhcmd2WzNdKTsKKwltbnRfZnNfc2V0X29wdGlvbnMoZnMsIGFyZ3ZbNF0pOworCisJcmMgPSB1cGRhdGUoTlVMTCwgZnMsIDApOworCW1udF91bnJlZl9mcyhmcyk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3RfcmVtb3ZlKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaWYgKGFyZ2MgPCAyKQorCQlyZXR1cm4gLTE7CisJcmV0dXJuIHVwZGF0ZShhcmd2WzFdLCBOVUxMLCAwKTsKK30KKworc3RhdGljIGludCB0ZXN0X21vdmUoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IG1udF9uZXdfZnMoKTsKKwlpbnQgcmM7CisKKwlpZiAoYXJnYyA8IDMpCisJCXJldHVybiAtMTsKKwltbnRfZnNfc2V0X3NvdXJjZShmcywgYXJndlsxXSk7CisJbW50X2ZzX3NldF90YXJnZXQoZnMsIGFyZ3ZbMl0pOworCisJcmMgPSB1cGRhdGUoTlVMTCwgZnMsIE1TX01PVkUpOworCisJbW50X3VucmVmX2ZzKGZzKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9yZW1vdW50KHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBtbnRfbmV3X2ZzKCk7CisJaW50IHJjOworCisJaWYgKGFyZ2MgPCAzKQorCQlyZXR1cm4gLTE7CisJbW50X2ZzX3NldF90YXJnZXQoZnMsIGFyZ3ZbMV0pOworCW1udF9mc19zZXRfb3B0aW9ucyhmcywgYXJndlsyXSk7CisKKwlyYyA9IHVwZGF0ZShOVUxMLCBmcywgTVNfUkVNT1VOVCk7CisJbW50X3VucmVmX2ZzKGZzKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9yZXBsYWNlKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBtbnRfbmV3X2ZzKCk7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGIgPSBtbnRfbmV3X3RhYmxlKCk7CisJaW50IHJjOworCisJaWYgKGFyZ2MgPCAzKQorCQlyZXR1cm4gLTE7CisKKwltbnRfdGFibGVfZW5hYmxlX2NvbW1lbnRzKHRiLCBUUlVFKTsKKwltbnRfdGFibGVfcGFyc2VfZnN0YWIodGIsIE5VTEwpOworCisJbW50X2ZzX3NldF9zb3VyY2UoZnMsIGFyZ3ZbMV0pOworCW1udF9mc19zZXRfdGFyZ2V0KGZzLCBhcmd2WzJdKTsKKwltbnRfZnNfYXBwZW5kX2NvbW1lbnQoZnMsICIjIHRoaXMgaXMgbmV3IGZpbGVzeXN0ZW1cbiIpOworCisJbW50X3RhYmxlX2FkZF9mcyh0YiwgZnMpOworCW1udF91bnJlZl9mcyhmcyk7CisKKwlyYyA9IG1udF90YWJsZV9yZXBsYWNlX2ZpbGUodGIsIG1udF9nZXRfZnN0YWJfcGF0aCgpKTsKKwltbnRfdW5yZWZfdGFibGUodGIpOworCXJldHVybiByYzsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3Rlc3QgdHNzW10gPSB7CisJeyAiLS1hZGQiLCAgICB0ZXN0X2FkZCwgICAgICI8c3JjPiA8dGFyZ2V0PiA8dHlwZT4gPG9wdGlvbnM+ICBhZGQgYSBsaW5lIHRvIG10YWIiIH0sCisJeyAiLS1yZW1vdmUiLCB0ZXN0X3JlbW92ZSwgICI8dGFyZ2V0PiAgICAgICAgICAgICAgICAgICAgICBNU19SRU1PVU5UIG10YWIgY2hhbmdlIiB9LAorCXsgIi0tbW92ZSIsICAgdGVzdF9tb3ZlLCAgICAiPG9sZF90YXJnZXQ+ICA8dGFyZ2V0PiAgICAgICAgTVNfTU9WRSBtdGFiIGNoYW5nZSIgfSwKKwl7ICItLXJlbW91bnQiLHRlc3RfcmVtb3VudCwgIjx0YXJnZXQ+ICA8b3B0aW9ucz4gICAgICAgICAgIE1TX1JFTU9VTlQgbXRhYiBjaGFuZ2UiIH0sCisJeyAiLS1yZXBsYWNlIix0ZXN0X3JlcGxhY2UsICI8c3JjPiA8dGFyZ2V0PiAgICAgICAgICAgICAgICBBZGQgYSBsaW5lIHRvIExJQk1PVU5UX0ZTVEFCIGFuZCByZXBsYWNlIHRoZSBvcmlnaW5hbCBmaWxlIiB9LAorCXsgTlVMTCB9CisJfTsKKworCXJldHVybiBtbnRfcnVuX3Rlc3QodHNzLCBhcmdjLCBhcmd2KTsKK30KKworI2VuZGlmIC8qIFRFU1RfUFJPR1JBTSAqLwpkaWZmIC0tZ2l0IGEvbGlibW91bnQvc3JjL3Rlc3QuYyBiL2xpYm1vdW50L3NyYy90ZXN0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRhMDBiNAotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy90ZXN0LmMKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKgorICogUm91dGluZXMgZm9yIFRFU1RfUFJPR1JBTXMKKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKworI2lmbmRlZiBURVNUX1BST0dSQU0KKyNkZWZpbmUgVEVTVF9QUk9HUkFNCisjZW5kaWYKKworI2luY2x1ZGUgIm1vdW50UC5oIgorCitpbnQgbW50X3J1bl90ZXN0KHN0cnVjdCBsaWJtbnRfdGVzdCAqdGVzdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjID0gLTE7CisJc3RydWN0IGxpYm1udF90ZXN0ICp0czsKKworCWFzc2VydCh0ZXN0cyk7CisJYXNzZXJ0KGFyZ2MpOworCWFzc2VydChhcmd2KTsKKworCWlmIChhcmdjIDwgMiB8fAorCSAgICBzdHJjbXAoYXJndlsxXSwgIi0taGVscCIpID09IDAgfHwKKwkgICAgc3RyY21wKGFyZ3ZbMV0sICItaCIpID09IDApCisJCWdvdG8gdXNhZ2U7CisKKwltbnRfaW5pdF9kZWJ1ZygwKTsKKworCWZvciAodHMgPSB0ZXN0czsgdHMtPm5hbWU7IHRzKyspIHsKKwkJaWYgKHN0cmNtcCh0cy0+bmFtZSwgYXJndlsxXSkgPT0gMCkgeworCQkJcmMgPSB0cy0+Ym9keSh0cywgYXJnYyAtIDEsIGFyZ3YgKyAxKTsKKwkJCWlmIChyYykKKwkJCQlwcmludGYoIkZBSUxFRCBbcmM9JWRdIiwgcmMpOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAocmMgPCAwICYmIHRzLT5uYW1lID09IE5VTEwpCisJCWdvdG8gdXNhZ2U7CisKKwlyZXR1cm4gcmMgPT0gMCA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKK3VzYWdlOgorCXByaW50ZigiXG5Vc2FnZTpcblx0JXMgPHRlc3Q+IFt0ZXN0b3B0aW9uc11cblRlc3RzOlxuIiwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmb3IgKHRzID0gdGVzdHM7IHRzLT5uYW1lOyB0cysrKSB7CisJCXByaW50ZigiXHQlLTE1cyIsIHRzLT5uYW1lKTsKKwkJaWYgKHRzLT51c2FnZSkKKwkJCXByaW50ZigiICVzXG4iLCB0cy0+dXNhZ2UpOworCX0KKwlwcmludGYoIlxuIik7CisJcmV0dXJuIEVYSVRfRkFJTFVSRTsKK30KZGlmZiAtLWdpdCBhL2xpYm1vdW50L3NyYy91dGlscy5jIGIvbGlibW91bnQvc3JjL3V0aWxzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmQ5OGQwNQotLS0gL2Rldi9udWxsCisrKyBiL2xpYm1vdW50L3NyYy91dGlscy5jCkBAIC0wLDAgKzEsMTMxMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiB1dGlscworICogQHRpdGxlOiBVdGlscworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBtaXNjIHV0aWxzLgorICovCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPGdycC5oPgorI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgIm1vdW50UC5oIgorI2luY2x1ZGUgIm1hbmdsZS5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorI2luY2x1ZGUgImVudi5oIgorI2luY2x1ZGUgIm1hdGNoLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAic3RhdGZzX21hZ2ljLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKworaW50IGFwcGVuZF9zdHJpbmcoY2hhciAqKmEsIGNvbnN0IGNoYXIgKmIpCit7CisJc2l6ZV90IGFsLCBibDsKKwljaGFyICp0bXA7CisKKwlhc3NlcnQoYSk7CisKKwlpZiAoIWIgfHwgISpiKQorCQlyZXR1cm4gMDsKKwlpZiAoISphKSB7CisJCSphID0gc3RyZHVwKGIpOworCQlyZXR1cm4gISphID8gLUVOT01FTSA6IDA7CisJfQorCisJYWwgPSBzdHJsZW4oKmEpOworCWJsID0gc3RybGVuKGIpOworCisJdG1wID0gcmVhbGxvYygqYSwgYWwgKyBibCArIDEpOworCWlmICghdG1wKQorCQlyZXR1cm4gLUVOT01FTTsKKwkqYSA9IHRtcDsKKwltZW1jcHkoKCphKSArIGFsLCBiLCBibCArIDEpOworCXJldHVybiAwOworfQorCisvKgorICogUmV0dXJuIDEgaWYgdGhlIGZpbGUgaXMgbm90IGFjY2Vzc2libGUgb3IgZW1wdHkKKyAqLworaW50IGlzX2ZpbGVfZW1wdHkoY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlhc3NlcnQobmFtZSk7CisKKwlyZXR1cm4gKHN0YXQobmFtZSwgJnN0KSAhPSAwIHx8IHN0LnN0X3NpemUgPT0gMCk7Cit9CisKK2ludCBtbnRfdmFsaWRfdGFnbmFtZShjb25zdCBjaGFyICp0YWduYW1lKQoreworCWlmICh0YWduYW1lICYmICp0YWduYW1lICYmICgKKwkgICAgc3RyY21wKCJVVUlEIiwgdGFnbmFtZSkgPT0gMCB8fAorCSAgICBzdHJjbXAoIkxBQkVMIiwgdGFnbmFtZSkgPT0gMCB8fAorCSAgICBzdHJjbXAoIlBBUlRVVUlEIiwgdGFnbmFtZSkgPT0gMCB8fAorCSAgICBzdHJjbXAoIlBBUlRMQUJFTCIsIHRhZ25hbWUpID09IDApKQorCQlyZXR1cm4gMTsKKworCXJldHVybiAwOworfQorCisvKioKKyAqIG1udF90YWdfaXNfdmFsaWQ6CisgKiBAdGFnOiBOQU1FPXZhbHVlIHN0cmluZworICoKKyAqIFJldHVybnM6IDEgaWYgdGhlIEB0YWcgaXMgcGFyc2FibGUgYW5kIHRhZyBOQU1FPSBpcyBzdXBwb3J0ZWQgYnkgbGlibW91bnQsIG9yIDAuCisgKi8KK2ludCBtbnRfdGFnX2lzX3ZhbGlkKGNvbnN0IGNoYXIgKnRhZykKK3sKKwljaGFyICp0ID0gTlVMTDsKKwlpbnQgcmMgPSB0YWcgJiYgYmxraWRfcGFyc2VfdGFnX3N0cmluZyh0YWcsICZ0LCBOVUxMKSA9PSAwCisJCSAgICAgJiYgbW50X3ZhbGlkX3RhZ25hbWUodCk7CisKKwlmcmVlKHQpOworCXJldHVybiByYzsKK30KKworaW50IG1udF9wYXJzZV9vZmZzZXQoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuLCB1aW50bWF4X3QgKnJlcykKK3sKKwljaGFyICpwOworCWludCByYyA9IDA7CisKKwlpZiAoIXN0ciB8fCAhKnN0cikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlwID0gc3RybmR1cChzdHIsIGxlbik7CisJaWYgKCFwKQorCQlyZXR1cm4gLWVycm5vOworCisJaWYgKHN0cnRvc2l6ZShwLCByZXMpKQorCQlyYyA9IC1FSU5WQUw7CisJZnJlZShwKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qIHVzZWQgYXMgYSBjYWxsYmFjayBieSBic2VhcmNoIGluIG1udF9mc3R5cGVfaXNfcHNldWRvZnMoKSAqLworc3RhdGljIGludCBmc3R5cGVfY21wKGNvbnN0IHZvaWQgKnYxLCBjb25zdCB2b2lkICp2MikKK3sKKwljb25zdCBjaGFyICpzMSA9ICooY29uc3QgY2hhciAqKil2MTsKKwljb25zdCBjaGFyICpzMiA9ICooY29uc3QgY2hhciAqKil2MjsKKworCXJldHVybiBzdHJjbXAoczEsIHMyKTsKK30KKworaW50IG1udF9zdGF0X21vdW50cG9pbnQoY29uc3QgY2hhciAqdGFyZ2V0LCBzdHJ1Y3Qgc3RhdCAqc3QpCit7CisjaWZkZWYgQVRfTk9fQVVUT01PVU5UCisJcmV0dXJuIGZzdGF0YXQoLTEsIHRhcmdldCwgc3QsIEFUX05PX0FVVE9NT1VOVCk7CisjZWxzZQorCXJldHVybiBzdGF0KHRhcmdldCwgc3QpOworI2VuZGlmCit9CisKKy8qCisgKiBOb3RlIHRoYXQgdGhlIEB0YXJnZXQgaGFzIHRvIGJlIGFuIGFic29sdXRlIHBhdGggKHNvIGF0IGxlYXN0ICIvIikuICBUaGUKKyAqIEBmaWxlbmFtZSByZXR1cm5zIGFuIGFsbG9jYXRlZCBidWZmZXIgd2l0aCB0aGUgbGFzdCBwYXRoIGNvbXBvbmVudCwgZm9yIGV4YW1wbGU6CisgKgorICogbW50X2NoZGlyX3RvX3BhcmVudCgiL21udC90ZXN0IiwgJmJ1ZikgPT0+IGNoZGlyKCIvbW50IiksIGJ1Zj0idGVzdCIKKyAqLworaW50IG1udF9jaGRpcl90b19wYXJlbnQoY29uc3QgY2hhciAqdGFyZ2V0LCBjaGFyICoqZmlsZW5hbWUpCit7CisJY2hhciAqYnVmLCAqcGFyZW50LCAqbGFzdCA9IE5VTEw7CisJY2hhciBjd2RbUEFUSF9NQVhdOworCWludCByYyA9IC1FSU5WQUw7CisKKwlpZiAoIXRhcmdldCB8fCAqdGFyZ2V0ICE9ICcvJykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVVRJTFMsIHVsX2RlYnVnKCJtb3ZpbmcgdG8gJXMgcGFyZW50IiwgdGFyZ2V0KSk7CisKKwlidWYgPSBzdHJkdXAodGFyZ2V0KTsKKwlpZiAoIWJ1ZikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlpZiAoKihidWYgKyAxKSAhPSAnXDAnKSB7CisJCWxhc3QgPSBzdHJpcG9mZl9sYXN0X2NvbXBvbmVudChidWYpOworCQlpZiAoIWxhc3QpCisJCQlnb3RvIGVycjsKKwl9CisKKwlwYXJlbnQgPSBidWYgJiYgKmJ1ZiA/IGJ1ZiA6ICIvIjsKKworCWlmIChjaGRpcihwYXJlbnQpID09IC0xKSB7CisJCURCRyhVVElMUywgdWxfZGVidWcoImZhaWxlZCB0byBjaGRpciB0byAlczogJW0iLCBwYXJlbnQpKTsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZXJyOworCX0KKwlpZiAoIWdldGN3ZChjd2QsIHNpemVvZihjd2QpKSkgeworCQlEQkcoVVRJTFMsIHVsX2RlYnVnKCJmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIpKTsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZXJyOworCX0KKwlpZiAoc3RyY21wKGN3ZCwgcGFyZW50KSAhPSAwKSB7CisJCURCRyhVVElMUywgdWxfZGVidWcoCisJCSAgICAidW5leHBlY3RlZCBjaGRpciAoZXhwZWN0ZWQ9JXMsIGN3ZD0lcykiLCBwYXJlbnQsIGN3ZCkpOworCQlnb3RvIGVycjsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1ZygKKwkJImN1cnJlbnQgZGlyZWN0b3J5IG1vdmVkIHRvICVzIFtsYXN0X2NvbXBvbmVudD0nJXMnXSIsCisJCXBhcmVudCwgbGFzdCkpOworCisJaWYgKGZpbGVuYW1lKSB7CisJCSpmaWxlbmFtZSA9IGJ1ZjsKKworCQlpZiAoIWxhc3QgfHwgISpsYXN0KQorCQkJbWVtY3B5KCpmaWxlbmFtZSwgIi4iLCAyKTsKKwkJZWxzZQorCQkJbWVtbW92ZSgqZmlsZW5hbWUsIGxhc3QsIHN0cmxlbihsYXN0KSArIDEpOworCX0gZWxzZQorCQlmcmVlKGJ1Zik7CisJcmV0dXJuIDA7CitlcnI6CisJZnJlZShidWYpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIENoZWNrIGlmIEBwYXRoIGlzIG9uIGEgcmVhZC1vbmx5IGZpbGVzeXN0ZW0gaW5kZXBlbmRlbnRseSBvZiBmaWxlIHBlcm1pc3Npb25zLgorICovCitpbnQgbW50X2lzX3JlYWRvbmx5KGNvbnN0IGNoYXIgKnBhdGgpCit7CisJaWYgKGFjY2VzcyhwYXRoLCBXX09LKSA9PSAwKQorCQlyZXR1cm4gMDsKKwlpZiAoZXJybm8gPT0gRVJPRlMpCisJCXJldHVybiAxOworCWlmIChlcnJubyAhPSBFQUNDRVMpCisJCXJldHVybiAwOworCisjaWZkZWYgSEFWRV9VVElNRU5TQVQKKwkvKgorCSAqIGFjY2VzcygyKSByZXR1cm5zIEVBQ0NFUyBvbiByZWFkLW9ubHkgRlM6CisJICoKKwkgKiAtIGZvciBzZXQtdWlkIGFwcGxpY2F0aW9uIGlmIG9uZSBjb21wb25lbnQgb2YgdGhlIHBhdGggaXMgbm90CisJICogICBhY2Nlc3NpYmxlIGZvciB0aGUgY3VycmVudCByVUlELiAoTm90ZSB0aGF0IGV1aWRhY2Nlc3MoMikgZG9lcyBub3QKKwkgKiAgIGNoZWNrIGZvciBFUk9GUyBhdCBhbGwpLgorCSAqCisJICogLSBmb3IgYSByZWFkLXdyaXRlIGZpbGVzeXN0ZW0gd2l0aCBhIHJlYWQtb25seSBWRlMgbm9kZSAoYWthIC1vIHJlbW91bnQscm8sYmluZCkKKwkgKi8KKwl7CisJCXN0cnVjdCB0aW1lc3BlYyB0aW1lc1syXTsKKworCQlEQkcoVVRJTFMsIHVsX2RlYnVnKCIgZG9pbmcgdXRpbWVuc2F0KCkgYmFzZWQgd3JpdGUgdGVzdCIpKTsKKworCQl0aW1lc1swXS50dl9uc2VjID0gVVRJTUVfTk9XOwkvKiBhdGltZSAqLworCQl0aW1lc1sxXS50dl9uc2VjID0gVVRJTUVfT01JVDsJLyogbXRpbWUgKi8KKworCQlpZiAodXRpbWVuc2F0KEFUX0ZEQ1dELCBwYXRoLCB0aW1lcywgMCkgPT0gLTEpCisJCQlyZXR1cm4gZXJybm8gPT0gRVJPRlM7CisJfQorI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X21hbmdsZToKKyAqIEBzdHI6IHN0cmluZworICoKKyAqIEVuY29kZSBAc3RyIHRvIGJlIGNvbXBhdGlibGUgd2l0aCBmc3RhYi9tdGFiCisgKgorICogUmV0dXJuczogbmV3bHkgYWxsb2NhdGVkIHN0cmluZyBvciBOVUxMIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK2NoYXIgKm1udF9tYW5nbGUoY29uc3QgY2hhciAqc3RyKQoreworCXJldHVybiBtYW5nbGUoc3RyKTsKK30KKworLyoqCisgKiBtbnRfdW5tYW5nbGU6CisgKiBAc3RyOiBzdHJpbmcKKyAqCisgKiBEZWNvZGUgQHN0ciBmcm9tIGZzdGFiL210YWIKKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIG9yIE5VTEwgaW4gY2FzZSBvZiBlcnJvci4KKyAqLworY2hhciAqbW50X3VubWFuZ2xlKGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyZXR1cm4gdW5tYW5nbGUoc3RyLCBOVUxMKTsKK30KKworLyoqCisgKiBtbnRfZnN0eXBlX2lzX3BzZXVkb2ZzOgorICogQHR5cGU6IGZpbGVzeXN0ZW0gbmFtZQorICoKKyAqIFJldHVybnM6IDEgZm9yIGZpbGVzeXN0ZW1zIGxpa2UgcHJvYywgc3lzZnMsIC4uLiBvciAwLgorICovCitpbnQgbW50X2ZzdHlwZV9pc19wc2V1ZG9mcyhjb25zdCBjaGFyICp0eXBlKQoreworCS8qIFRoaXMgYXJyYXkgbXVzdCByZW1haW4gc29ydGVkIHdoZW4gYWRkaW5nIG5ldyBmc3R5cGVzICovCisJc3RhdGljIGNvbnN0IGNoYXIgKnBzZXVkb2ZzW10gPSB7CisJCSJhbm9uX2lub2RlZnMiLAorCQkiYXV0b2ZzIiwKKwkJImJkZXYiLAorCQkiYmluZm10X21pc2MiLAorCQkiY2dyb3VwIiwKKwkJImNncm91cDIiLAorCQkiY29uZmlnZnMiLAorCQkiY3B1c2V0IiwKKwkJImRlYnVnZnMiLAorCQkiZGV2ZnMiLAorCQkiZGV2cHRzIiwKKwkJImRldnRtcGZzIiwKKwkJImRsbWZzIiwKKwkJImVmaXZhcmZzIiwKKwkJImZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiIsCisJCSJmdXNlY3RsIiwKKwkJImh1Z2V0bGJmcyIsCisJCSJtcXVldWUiLAorCQkibmZzZCIsCisJCSJub25lIiwKKwkJIm5zZnMiLAorCQkib3ZlcmxheSIsCisJCSJwaXBlZnMiLAorCQkicHJvYyIsCisJCSJwc3RvcmUiLAorCQkicmFtZnMiLAorCQkicm9vdGZzIiwKKwkJInJwY19waXBlZnMiLAorCQkic2VjdXJpdHlmcyIsCisJCSJzb2NrZnMiLAorCQkic3B1ZnMiLAorCQkic3lzZnMiLAorCQkidG1wZnMiCisJfTsKKworCWFzc2VydCh0eXBlKTsKKworCXJldHVybiAhKGJzZWFyY2goJnR5cGUsIHBzZXVkb2ZzLCBBUlJBWV9TSVpFKHBzZXVkb2ZzKSwKKwkJCQlzaXplb2YoY2hhciopLCBmc3R5cGVfY21wKSA9PSBOVUxMKTsKK30KKworLyoqCisgKiBtbnRfZnN0eXBlX2lzX25ldGZzOgorICogQHR5cGU6IGZpbGVzeXN0ZW0gbmFtZQorICoKKyAqIFJldHVybnM6IDEgZm9yIGZpbGVzeXN0ZW1zIGxpa2UgY2lmcywgbmZzLCAuLi4gb3IgMC4KKyAqLworaW50IG1udF9mc3R5cGVfaXNfbmV0ZnMoY29uc3QgY2hhciAqdHlwZSkKK3sKKwlpZiAoc3RyY21wKHR5cGUsICJjaWZzIikgICA9PSAwIHx8CisJICAgIHN0cmNtcCh0eXBlLCAic21iZnMiKSAgPT0gMCB8fAorCSAgICBzdHJuY21wKHR5cGUsIm5mcyIsIDMpID09IDAgfHwKKwkgICAgc3RyY21wKHR5cGUsICJhZnMiKSAgICA9PSAwIHx8CisJICAgIHN0cmNtcCh0eXBlLCAibmNwZnMiKSAgPT0gMCB8fAorCSAgICBzdHJuY21wKHR5cGUsIjlwIiwgMikgID09IDApCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitjb25zdCBjaGFyICptbnRfc3RhdGZzX2dldF9mc3R5cGUoc3RydWN0IHN0YXRmcyAqdmZzKQoreworCWFzc2VydCh2ZnMpOworCisJc3dpdGNoICh2ZnMtPmZfdHlwZSkgeworCWNhc2UgU1RBVEZTX0FERlNfTUFHSUM6CQlyZXR1cm4gImFkZnMiOworCWNhc2UgU1RBVEZTX0FGRlNfTUFHSUM6CQlyZXR1cm4gImFmZnMiOworCWNhc2UgU1RBVEZTX0FGU19NQUdJQzoJCXJldHVybiAiYWZzIjsKKwljYXNlIFNUQVRGU19BVVRPRlNfTUFHSUM6CXJldHVybiAiYXV0b2ZzIjsKKwljYXNlIFNUQVRGU19CREVWRlNfTUFHSUM6CXJldHVybiAiYmRldiI7CisJY2FzZSBTVEFURlNfQkVGU19NQUdJQzoJCXJldHVybiAiYmVmcyI7CisJY2FzZSBTVEFURlNfQkZTX01BR0lDOgkJcmV0dXJuICJiZWZzIjsKKwljYXNlIFNUQVRGU19CSU5GTVRGU19NQUdJQzoJcmV0dXJuICJiaW5mbXRfbWlzYyI7CisJY2FzZSBTVEFURlNfQlRSRlNfTUFHSUM6CXJldHVybiAiYnRyZnMiOworCWNhc2UgU1RBVEZTX0NFUEhfTUFHSUM6CQlyZXR1cm4gImNlcGgiOworCWNhc2UgU1RBVEZTX0NHUk9VUF9NQUdJQzoJcmV0dXJuICJjZ3JvdXAiOworCWNhc2UgU1RBVEZTX0NJRlNfTUFHSUM6CQlyZXR1cm4gImNpZnMiOworCWNhc2UgU1RBVEZTX0NPREFfTUFHSUM6CQlyZXR1cm4gImNvZGEiOworCWNhc2UgU1RBVEZTX0NPTkZJR0ZTX01BR0lDOglyZXR1cm4gImNvbmZpZ2ZzIjsKKwljYXNlIFNUQVRGU19DUkFNRlNfTUFHSUM6CXJldHVybiAiY3JhbWZzIjsKKwljYXNlIFNUQVRGU19ERUJVR0ZTX01BR0lDOglyZXR1cm4gImRlYnVnZnMiOworCWNhc2UgU1RBVEZTX0RFVlBUU19NQUdJQzoJcmV0dXJuICJkZXZwdHMiOworCWNhc2UgU1RBVEZTX0VDUllQVEZTX01BR0lDOglyZXR1cm4gImVjcnlwdGZzIjsKKwljYXNlIFNUQVRGU19FRklWQVJGU19NQUdJQzoJcmV0dXJuICJlZml2YXJmcyI7CisJY2FzZSBTVEFURlNfRUZTX01BR0lDOgkJcmV0dXJuICJlZnMiOworCWNhc2UgU1RBVEZTX0VYT0ZTX01BR0lDOglyZXR1cm4gImV4b2ZzIjsKKwljYXNlIFNUQVRGU19FWFQ0X01BR0lDOgkJcmV0dXJuICJleHQ0IjsJICAgLyogYWxsIGV4dE4gdXNlIHRoZSBzYW1lIG1hZ2ljICovCisJY2FzZSBTVEFURlNfRjJGU19NQUdJQzoJCXJldHVybiAiZjJmcyI7CisJY2FzZSBTVEFURlNfRlVTRV9NQUdJQzoJCXJldHVybiAiZnVzZSI7CisJY2FzZSBTVEFURlNfRlVURVhGU19NQUdJQzoJcmV0dXJuICJmdXRleGZzIjsKKwljYXNlIFNUQVRGU19HRlMyX01BR0lDOgkJcmV0dXJuICJnZnMyIjsKKwljYXNlIFNUQVRGU19IRlNQTFVTX01BR0lDOglyZXR1cm4gImhmc3BsdXMiOworCWNhc2UgU1RBVEZTX0hPU1RGU19NQUdJQzoJcmV0dXJuICJob3N0ZnMiOworCWNhc2UgU1RBVEZTX0hQRlNfTUFHSUM6CQlyZXR1cm4gImhwZnMiOworCWNhc2UgU1RBVEZTX0hQUEZTX01BR0lDOglyZXR1cm4gImhwcGZzIjsKKwljYXNlIFNUQVRGU19IVUdFVExCRlNfTUFHSUM6CXJldHVybiAiaHVnZXRsYmZzIjsKKwljYXNlIFNUQVRGU19JU09GU19NQUdJQzoJcmV0dXJuICJpc285NjYwIjsKKwljYXNlIFNUQVRGU19KRkZTMl9NQUdJQzoJcmV0dXJuICJqZmZzMiI7CisJY2FzZSBTVEFURlNfSkZTX01BR0lDOgkJcmV0dXJuICJqZnMiOworCWNhc2UgU1RBVEZTX0xPR0ZTX01BR0lDOglyZXR1cm4gImxvZ2ZzIjsKKwljYXNlIFNUQVRGU19NSU5JWDJfTUFHSUM6CisJY2FzZSBTVEFURlNfTUlOSVgyX01BR0lDMjoKKwljYXNlIFNUQVRGU19NSU5JWDNfTUFHSUM6CisJY2FzZSBTVEFURlNfTUlOSVhfTUFHSUM6CisJY2FzZSBTVEFURlNfTUlOSVhfTUFHSUMyOglyZXR1cm4gIm1pbml4IjsKKwljYXNlIFNUQVRGU19NUVVFVUVfTUFHSUM6CXJldHVybiAibXF1ZXVlIjsKKwljYXNlIFNUQVRGU19NU0RPU19NQUdJQzoJcmV0dXJuICJ2ZmF0IjsKKwljYXNlIFNUQVRGU19OQ1BfTUFHSUM6CQlyZXR1cm4gIm5jcCI7CisJY2FzZSBTVEFURlNfTkZTX01BR0lDOgkJcmV0dXJuICJuZnMiOworCWNhc2UgU1RBVEZTX05JTEZTX01BR0lDOglyZXR1cm4gIm5pbGZzMiI7CisJY2FzZSBTVEFURlNfTlRGU19NQUdJQzoJCXJldHVybiAibnRmcyI7CisJY2FzZSBTVEFURlNfT0NGUzJfTUFHSUM6CXJldHVybiAib2NmczIiOworCWNhc2UgU1RBVEZTX09NRlNfTUFHSUM6CQlyZXR1cm4gIm9tZnMiOworCWNhc2UgU1RBVEZTX09QRU5QUk9NRlNfTUFHSUM6CXJldHVybiAib3BlbnByb21mcyI7CisJY2FzZSBTVEFURlNfUElQRUZTX01BR0lDOglyZXR1cm4gInBpcGVmcyI7CisJY2FzZSBTVEFURlNfUFJPQ19NQUdJQzoJCXJldHVybiAicHJvYyI7CisJY2FzZSBTVEFURlNfUFNUT1JFRlNfTUFHSUM6CXJldHVybiAicHN0b3JlIjsKKwljYXNlIFNUQVRGU19RTlg0X01BR0lDOgkJcmV0dXJuICJxbng0IjsKKwljYXNlIFNUQVRGU19RTlg2X01BR0lDOgkJcmV0dXJuICJxbng2IjsKKwljYXNlIFNUQVRGU19SQU1GU19NQUdJQzoJcmV0dXJuICJyYW1mcyI7CisJY2FzZSBTVEFURlNfUkVJU0VSRlNfTUFHSUM6CXJldHVybiAicmVpc2VyNCI7CisJY2FzZSBTVEFURlNfUk9NRlNfTUFHSUM6CXJldHVybiAicm9tZnMiOworCWNhc2UgU1RBVEZTX1NFQ1VSSVRZRlNfTUFHSUM6CXJldHVybiAic2VjdXJpdHlmcyI7CisJY2FzZSBTVEFURlNfU0VMSU5VWEZTX01BR0lDOglyZXR1cm4gInNlbGludXhmcyI7CisJY2FzZSBTVEFURlNfU01BQ0tGU19NQUdJQzoJcmV0dXJuICJzbWFja2ZzIjsKKwljYXNlIFNUQVRGU19TTUJfTUFHSUM6CQlyZXR1cm4gInNtYiI7CisJY2FzZSBTVEFURlNfU09DS0ZTX01BR0lDOglyZXR1cm4gInNvY2tmcyI7CisJY2FzZSBTVEFURlNfU1FVQVNIRlNfTUFHSUM6CXJldHVybiAic3F1YXNoZnMiOworCWNhc2UgU1RBVEZTX1NZU0ZTX01BR0lDOglyZXR1cm4gInN5c2ZzIjsKKwljYXNlIFNUQVRGU19UTVBGU19NQUdJQzoJcmV0dXJuICJ0bXBmcyI7CisJY2FzZSBTVEFURlNfVUJJRlNfTUFHSUM6CXJldHVybiAidWJpZnMiOworCWNhc2UgU1RBVEZTX1VERl9NQUdJQzoJCXJldHVybiAidWRmIjsKKwljYXNlIFNUQVRGU19VRlMyX01BR0lDOgorCWNhc2UgU1RBVEZTX1VGU19NQUdJQzoJCXJldHVybiAidWZzIjsKKwljYXNlIFNUQVRGU19WOUZTX01BR0lDOgkJcmV0dXJuICI5cCI7CisJY2FzZSBTVEFURlNfVlhGU19NQUdJQzoJCXJldHVybiAidnhmcyI7CisJY2FzZSBTVEFURlNfWEVORlNfTUFHSUM6CXJldHVybiAieGVuZnMiOworCWNhc2UgU1RBVEZTX1hGU19NQUdJQzoJCXJldHVybiAieGZzIjsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworCisvKioKKyAqIG1udF9tYXRjaF9mc3R5cGU6CisgKiBAdHlwZTogZmlsZXN5c3RlbSB0eXBlCisgKiBAcGF0dGVybjogZmlsZXN5c3RlbSBuYW1lIG9yIGNvbW1hIGRlbGltaXRlZCBsaXN0IG9mIG5hbWVzCisgKgorICogVGhlIEBwYXR0ZXJuIGxpc3Qgb2YgZmlsZXN5c3RlbXMgY2FuIGJlIHByZWZpeGVkIHdpdGggYSBnbG9iYWwKKyAqICJubyIgcHJlZml4IHRvIGludmVydCBtYXRjaGluZyBvZiB0aGUgd2hvbGUgbGlzdC4gVGhlICJubyIgY291bGQKKyAqIGFsc28gYmUgdXNlZCBmb3IgaW5kaXZpZHVhbCBpdGVtcyBpbiB0aGUgQHBhdHRlcm4gbGlzdC4gU28sCisgKiAibm9mb28sYmFyIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAibm9mb28sbm9iYXIiLgorICoKKyAqICJiYXIiICA6ICJub2ZvbyxiYXIiCQktPiBGYWxzZSAgIChnbG9iYWwgIm5vIiBwcmVmaXgpCisgKgorICogImJhciIgIDogImZvbyxiYXIiCQktPiBUcnVlCisgKgorICogImJhciIgOiAiZm9vLG5vYmFyIgkJLT4gRmFsc2UKKyAqCisgKiBSZXR1cm5zOiAxIGlmIHR5cGUgaXMgbWF0Y2hpbmcsIGVsc2UgMC4gVGhpcyBmdW5jdGlvbiBhbHNvIHJldHVybnMKKyAqICAgICAgICAgIDAgaWYgQHBhdHRlcm4gaXMgTlVMTCBhbmQgQHR5cGUgaXMgbm9uLU5VTEwuCisgKi8KK2ludCBtbnRfbWF0Y2hfZnN0eXBlKGNvbnN0IGNoYXIgKnR5cGUsIGNvbnN0IGNoYXIgKnBhdHRlcm4pCit7CisJcmV0dXJuIG1hdGNoX2ZzdHlwZSh0eXBlLCBwYXR0ZXJuKTsKK30KKwordm9pZCBtbnRfZnJlZV9maWxlc3lzdGVtcyhjaGFyICoqZmlsZXN5c3RlbXMpCit7CisJY2hhciAqKnA7CisKKwlpZiAoIWZpbGVzeXN0ZW1zKQorCQlyZXR1cm47CisJZm9yIChwID0gZmlsZXN5c3RlbXM7ICpwOyBwKyspCisJCWZyZWUoKnApOworCWZyZWUoZmlsZXN5c3RlbXMpOworfQorCitzdGF0aWMgaW50IGFkZF9maWxlc3lzdGVtKGNoYXIgKioqZmlsZXN5c3RlbXMsIGNoYXIgKm5hbWUpCit7CisJaW50IG4gPSAwOworCisJYXNzZXJ0KGZpbGVzeXN0ZW1zKTsKKwlhc3NlcnQobmFtZSk7CisKKwlpZiAoKmZpbGVzeXN0ZW1zKSB7CisJCWNoYXIgKipwOworCQlmb3IgKG4gPSAwLCBwID0gKmZpbGVzeXN0ZW1zOyAqcDsgcCsrLCBuKyspIHsKKwkJCWlmIChzdHJjbXAoKnAsIG5hbWUpID09IDApCisJCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKwkjZGVmaW5lIE1ZQ0hVTksJMTYKKworCWlmIChuID09IDAgfHwgISgobiArIDEpICUgTVlDSFVOSykpIHsKKwkJc2l6ZV90IGl0ZW1zID0gKChuICsgMSArIE1ZQ0hVTkspIC8gTVlDSFVOSykgKiBNWUNIVU5LOworCQljaGFyICoqeCA9IHJlYWxsb2MoKmZpbGVzeXN0ZW1zLCBpdGVtcyAqIHNpemVvZihjaGFyICopKTsKKworCQlpZiAoIXgpCisJCQlnb3RvIGVycjsKKwkJKmZpbGVzeXN0ZW1zID0geDsKKwl9CisJbmFtZSA9IHN0cmR1cChuYW1lKTsKKwkoKmZpbGVzeXN0ZW1zKVtuXSA9IG5hbWU7CisJKCpmaWxlc3lzdGVtcylbbiArIDFdID0gTlVMTDsKKwlpZiAoIW5hbWUpCisJCWdvdG8gZXJyOworCXJldHVybiAwOworZXJyOgorCW1udF9mcmVlX2ZpbGVzeXN0ZW1zKCpmaWxlc3lzdGVtcyk7CisJcmV0dXJuIC1FTk9NRU07Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2ZpbGVzeXN0ZW1zKGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBjaGFyICoqKmZpbGVzeXN0ZW1zLCBjb25zdCBjaGFyICpwYXR0ZXJuKQoreworCWludCByYyA9IDA7CisJRklMRSAqZjsKKwljaGFyIGxpbmVbMTI5XTsKKworCWYgPSBmb3BlbihmaWxlbmFtZSwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghZikKKwkJcmV0dXJuIDE7CisKKwlEQkcoVVRJTFMsIHVsX2RlYnVnKCJyZWFkaW5nIGZpbGVzeXN0ZW1zIGxpc3QgZnJvbTogJXMiLCBmaWxlbmFtZSkpOworCisJd2hpbGUgKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZikpIHsKKwkJY2hhciBuYW1lW3NpemVvZihsaW5lKV07CisKKwkJaWYgKCpsaW5lID09ICcjJyB8fCBzdHJuY21wKGxpbmUsICJub2RldiIsIDUpID09IDApCisJCQljb250aW51ZTsKKwkJaWYgKHNzY2FuZihsaW5lLCAiICUxMjhbXlxuIF1cbiIsIG5hbWUpICE9IDEpCisJCQljb250aW51ZTsKKwkJaWYgKHN0cmNtcChuYW1lLCAiKiIpID09IDApIHsKKwkJCXJjID0gMTsKKwkJCWJyZWFrOwkJLyogZW5kIG9mIHRoZSAvZXRjL2ZpbGVzeXN0ZW1zICovCisJCX0KKwkJaWYgKHBhdHRlcm4gJiYgIW1udF9tYXRjaF9mc3R5cGUobmFtZSwgcGF0dGVybikpCisJCQljb250aW51ZTsKKwkJcmMgPSBhZGRfZmlsZXN5c3RlbShmaWxlc3lzdGVtcywgbmFtZSk7CisJCWlmIChyYykKKwkJCWJyZWFrOworCX0KKworCWZjbG9zZShmKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBBbHdheXMgY2hlY2sgdGhlIEBmaWxlc3lzdGVtcyBwb2ludGVyIQorICoKKyAqIG1hbiBtb3VudDoKKyAqCisgKiAuLi5tb3VudCB3aWxsIHRyeSB0byByZWFkIHRoZSBmaWxlIC9ldGMvZmlsZXN5c3RlbXMsIG9yLCBpZiB0aGF0IGRvZXMgbm90CisgKiBleGlzdCwgL3Byb2MvZmlsZXN5c3RlbXMuIEFsbCBvZiB0aGUgZmlsZXN5c3RlbSAgdHlwZXMgIGxpc3RlZCAgdGhlcmUgIHdpbGwKKyAqIGJlIHRyaWVkLCAgZXhjZXB0ICBmb3IgIHRob3NlICB0aGF0ICBhcmUgIGxhYmVsZWQgICJub2RldiIgIChlLmcuLCAgZGV2cHRzLAorICogcHJvYyAgYW5kICBuZnMpLiAgSWYgL2V0Yy9maWxlc3lzdGVtcyBlbmRzIGluIGEgbGluZSB3aXRoIGEgc2luZ2xlICogb25seSwKKyAqIG1vdW50IHdpbGwgcmVhZCAvcHJvYy9maWxlc3lzdGVtcyBhZnRlcndhcmRzLgorICovCitpbnQgbW50X2dldF9maWxlc3lzdGVtcyhjaGFyICoqKmZpbGVzeXN0ZW1zLCBjb25zdCBjaGFyICpwYXR0ZXJuKQoreworCWludCByYzsKKworCWlmICghZmlsZXN5c3RlbXMpCisJCXJldHVybiAtRUlOVkFMOworCisJKmZpbGVzeXN0ZW1zID0gTlVMTDsKKworCXJjID0gZ2V0X2ZpbGVzeXN0ZW1zKF9QQVRIX0ZJTEVTWVNURU1TLCBmaWxlc3lzdGVtcywgcGF0dGVybik7CisJaWYgKHJjICE9IDEpCisJCXJldHVybiByYzsKKworCXJjID0gZ2V0X2ZpbGVzeXN0ZW1zKF9QQVRIX1BST0NfRklMRVNZU1RFTVMsIGZpbGVzeXN0ZW1zLCBwYXR0ZXJuKTsKKwlpZiAocmMgPT0gMSAmJiAqZmlsZXN5c3RlbXMpCisJCXJjID0gMDsJCQkvKiAvcHJvYy9maWxlc3lzdGVtcyBub3QgZm91bmQgKi8KKworCXJldHVybiByYzsKK30KKworLyoKKyAqIFJldHVybnMgYW4gYWxsb2NhdGVkIHN0cmluZyB3aXRoIHVzZXJuYW1lIG9yIE5VTEwuCisgKi8KK2NoYXIgKm1udF9nZXRfdXNlcm5hbWUoY29uc3QgdWlkX3QgdWlkKQoreworICAgICAgICBzdHJ1Y3QgcGFzc3dkIHB3ZDsKKwlzdHJ1Y3QgcGFzc3dkICpyZXM7CisJY2hhciAqYnVmLCAqdXNlcm5hbWUgPSBOVUxMOworCisJYnVmID0gbWFsbG9jKFVMX0dFVFBXX0JVRlNJWik7CisJaWYgKCFidWYpCisJCXJldHVybiBOVUxMOworCisJaWYgKCFnZXRwd3VpZF9yKHVpZCwgJnB3ZCwgYnVmLCBVTF9HRVRQV19CVUZTSVosICZyZXMpICYmIHJlcykKKwkJdXNlcm5hbWUgPSBzdHJkdXAocHdkLnB3X25hbWUpOworCisJZnJlZShidWYpOworCXJldHVybiB1c2VybmFtZTsKK30KKworaW50IG1udF9nZXRfdWlkKGNvbnN0IGNoYXIgKnVzZXJuYW1lLCB1aWRfdCAqdWlkKQoreworCWludCByYyA9IC0xOworICAgICAgICBzdHJ1Y3QgcGFzc3dkIHB3ZDsKKwlzdHJ1Y3QgcGFzc3dkICpwdzsKKwljaGFyICpidWY7CisKKwlpZiAoIXVzZXJuYW1lIHx8ICF1aWQpCisJCXJldHVybiAtRUlOVkFMOworCisJYnVmID0gbWFsbG9jKFVMX0dFVFBXX0JVRlNJWik7CisJaWYgKCFidWYpCisJCXJldHVybiAtRU5PTUVNOworCisJaWYgKCFnZXRwd25hbV9yKHVzZXJuYW1lLCAmcHdkLCBidWYsIFVMX0dFVFBXX0JVRlNJWiwgJnB3KSAmJiBwdykgeworCQkqdWlkPSBwdy0+cHdfdWlkOworCQlyYyA9IDA7CisJfSBlbHNlIHsKKwkJREJHKFVUSUxTLCB1bF9kZWJ1ZygKKwkJCSJjYW5ub3QgY29udmVydCAnJXMnIHVzZXJuYW1lIHRvIFVJRCIsIHVzZXJuYW1lKSk7CisJCXJjID0gZXJybm8gPyAtZXJybm8gOiAtRUlOVkFMOworCX0KKworCWZyZWUoYnVmKTsKKwlyZXR1cm4gcmM7Cit9CisKK2ludCBtbnRfZ2V0X2dpZChjb25zdCBjaGFyICpncm91cG5hbWUsIGdpZF90ICpnaWQpCit7CisJaW50IHJjID0gLTE7CisgICAgICAgIHN0cnVjdCBncm91cCBncnA7CisJc3RydWN0IGdyb3VwICpncjsKKwljaGFyICpidWY7CisKKwlpZiAoIWdyb3VwbmFtZSB8fCAhZ2lkKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWJ1ZiA9IG1hbGxvYyhVTF9HRVRQV19CVUZTSVopOworCWlmICghYnVmKQorCQlyZXR1cm4gLUVOT01FTTsKKworCWlmICghZ2V0Z3JuYW1fcihncm91cG5hbWUsICZncnAsIGJ1ZiwgVUxfR0VUUFdfQlVGU0laLCAmZ3IpICYmIGdyKSB7CisJCSpnaWQ9IGdyLT5ncl9naWQ7CisJCXJjID0gMDsKKwl9IGVsc2UgeworCQlEQkcoVVRJTFMsIHVsX2RlYnVnKAorCQkJImNhbm5vdCBjb252ZXJ0ICclcycgZ3JvdXBuYW1lIHRvIEdJRCIsIGdyb3VwbmFtZSkpOworCQlyYyA9IGVycm5vID8gLWVycm5vIDogLUVJTlZBTDsKKwl9CisKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHJjOworfQorCitpbnQgbW50X2luX2dyb3VwKGdpZF90IGdpZCkKK3sKKwlpbnQgcmMgPSAwLCBuLCBpOworCWdpZF90ICpncnBzID0gTlVMTDsKKworCWlmIChnZXRnaWQoKSA9PSBnaWQpCisJCXJldHVybiAxOworCisJbiA9IGdldGdyb3VwcygwLCBOVUxMKTsKKwlpZiAobiA8PSAwKQorCQlnb3RvIGRvbmU7CisKKwlncnBzID0gbWFsbG9jKG4gKiBzaXplb2YoKmdycHMpKTsKKwlpZiAoIWdycHMpCisJCWdvdG8gZG9uZTsKKworCWlmIChnZXRncm91cHMobiwgZ3JwcykgPT0gbikgeworCQlmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CisJCQlpZiAoZ3Jwc1tpXSA9PSBnaWQpIHsKKwkJCQlyYyA9IDE7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9Citkb25lOgorCWZyZWUoZ3Jwcyk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRyeV93cml0ZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY29uc3QgY2hhciAqZGlyZWN0b3J5KQoreworCWludCByYyA9IDA7CisKKwlpZiAoIWZpbGVuYW1lKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhVVElMUywgdWxfZGVidWcoInRyeSB3cml0ZSAlcyBkaXI6ICVzIiwgZmlsZW5hbWUsIGRpcmVjdG9yeSkpOworCisjaWZkZWYgSEFWRV9FQUNDRVNTCisJLyogVHJ5IGVhY2Nlc3MoKSBmaXJzdCwgYmVjYXVzZSBvcGVuKCkgaXMgb3ZlcmtpbGwsIG1heSBiZSBtb25pdG9yZWQgYnkKKwkgKiBhdWRpdCBhbmQgd2UgZG9uJ3Qgd2FudCB0byBmaWxsIGxvZ3MgYnkgb3VyIGNoZWNrcy4uLgorCSAqLworCWlmIChlYWNjZXNzKGZpbGVuYW1lLCBSX09LfFdfT0spID09IDApIHsKKwkJREJHKFVUSUxTLCB1bF9kZWJ1ZygiIGFjY2VzcyBPSyIpKTsKKwkJcmV0dXJuIDA7CisJfSBlbHNlIGlmIChlcnJubyAhPSBFTk9FTlQpIHsKKwkJREJHKFVUSUxTLCB1bF9kZWJ1ZygiIGFjY2VzcyBGQUlMRUQiKSk7CisJCXJldHVybiAtZXJybm87CisJfSBlbHNlIGlmIChkaXJlY3RvcnkpIHsKKwkJLyogZmlsZSBkb2VzIG5vdCBleGlzdDsgdHJ5IGlmIGRpcmVjdG9yeSBpcyB3cml0YWJsZSAqLworCQlpZiAoZWFjY2VzcyhkaXJlY3RvcnksIFJfT0t8V19PSykgIT0gMCkKKwkJCXJjID0gLWVycm5vOworCisJCURCRyhVVElMUywgdWxfZGVidWcoIiBhY2Nlc3MgJXMgWyVzXSIsIHJjID8gIkZBSUxFRCIgOiAiT0siLCBkaXJlY3RvcnkpKTsKKwkJcmV0dXJuIHJjOworCX0gZWxzZQorI2VuZGlmCisJeworCQlEQkcoVVRJTFMsIHVsX2RlYnVnKCIgZG9pbmcgb3Blbi13cml0ZSB0ZXN0IikpOworCisJCWludCBmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRXUnxPX0NSRUFUfE9fQ0xPRVhFQywKKwkJCSAgICBTX0lXVVNSfFNfSVJVU1J8U19JUkdSUHxTX0lST1RIKTsKKwkJaWYgKGZkIDwgMCkKKwkJCXJjID0gLWVycm5vOworCQllbHNlCisJCQljbG9zZShmZCk7CisJfQorCXJldHVybiByYzsKK30KKworLyoqCisgKiBtbnRfaGFzX3JlZ3VsYXJfbXRhYjoKKyAqIEBtdGFiOiByZXR1cm5zIHBhdGggdG8gbXRhYgorICogQHdyaXRhYmxlOiByZXR1cm5zIDEgaWYgdGhlIGZpbGUgaXMgd3JpdGFibGUKKyAqCisgKiBJZiB0aGUgZmlsZSBkb2VzIG5vdCBleGlzdCBhbmQgQHdyaXRhYmxlIGFyZ3VtZW50IGlzIG5vdCBOVUxMLCB0aGVuIGl0IHdpbGwKKyAqIHRyeSB0byBjcmVhdGUgdGhlIGZpbGUuCisgKgorICogUmV0dXJuczogMSBpZiAvZXRjL210YWIgaXMgYSByZWd1bGFyIGZpbGUsIGFuZCAwIGluIGNhc2Ugb2YgZXJyb3IgKGNoZWNrCisgKiAgICAgICAgICBlcnJubyBmb3IgbW9yZSBkZXRhaWxzKS4KKyAqLworaW50IG1udF9oYXNfcmVndWxhcl9tdGFiKGNvbnN0IGNoYXIgKiptdGFiLCBpbnQgKndyaXRhYmxlKQoreworCXN0cnVjdCBzdGF0IHN0OworCWludCByYzsKKwljb25zdCBjaGFyICpmaWxlbmFtZSA9IG10YWIgJiYgKm10YWIgPyAqbXRhYiA6IG1udF9nZXRfbXRhYl9wYXRoKCk7CisKKwlpZiAod3JpdGFibGUpCisJCSp3cml0YWJsZSA9IDA7CisJaWYgKG10YWIgJiYgISptdGFiKQorCQkqbXRhYiA9IGZpbGVuYW1lOworCisJREJHKFVUSUxTLCB1bF9kZWJ1ZygibXRhYjogJXMiLCBmaWxlbmFtZSkpOworCisJcmMgPSBsc3RhdChmaWxlbmFtZSwgJnN0KTsKKworCWlmIChyYyA9PSAwKSB7CisJCS8qIGZpbGUgZXhpc3RzICovCisJCWlmIChTX0lTUkVHKHN0LnN0X21vZGUpKSB7CisJCQlpZiAod3JpdGFibGUpCisJCQkJKndyaXRhYmxlID0gIXRyeV93cml0ZShmaWxlbmFtZSwgTlVMTCk7CisJCQlEQkcoVVRJTFMsIHVsX2RlYnVnKCIlczogd3JpdGFibGUiLCBmaWxlbmFtZSkpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJZ290byBkb25lOworCX0KKworCS8qIHRyeSB0byBjcmVhdGUgdGhlIGZpbGUgKi8KKwlpZiAod3JpdGFibGUpIHsKKwkJKndyaXRhYmxlID0gIXRyeV93cml0ZShmaWxlbmFtZSwgTlVMTCk7CisJCWlmICgqd3JpdGFibGUpIHsKKwkJCURCRyhVVElMUywgdWxfZGVidWcoIiVzOiB3cml0YWJsZSIsIGZpbGVuYW1lKSk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKworZG9uZToKKwlEQkcoVVRJTFMsIHVsX2RlYnVnKCIlczogaXJyZWd1bGFyL25vbi13cml0YWJsZSIsIGZpbGVuYW1lKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBEb24ndCBleHBvcnQgdGhpcyB0byBsaWJtb3VudCBBUEkgLS0gdXRhYiBpcyBwcml2YXRlIGxpYnJhcnkgc3R1ZmYuCisgKgorICogSWYgdGhlIGZpbGUgZG9lcyBub3QgZXhpc3QgYW5kIEB3cml0YWJsZSBhcmd1bWVudCBpcyBub3QgTlVMTCwgdGhlbiBpdCB3aWxsCisgKiB0cnkgdG8gY3JlYXRlIHRoZSBkaXJlY3RvcnkgKGUuZy4gL3J1bi9tb3VudCkgYW5kIHRoZSBmaWxlLgorICoKKyAqIFJldHVybnM6IDEgaWYgdXRhYiBpcyBhIHJlZ3VsYXIgZmlsZSwgYW5kIDAgaW4gY2FzZSBvZgorICogICAgICAgICAgZXJyb3IgKGNoZWNrIGVycm5vIGZvciBtb3JlIGRldGFpbHMpLgorICovCitpbnQgbW50X2hhc19yZWd1bGFyX3V0YWIoY29uc3QgY2hhciAqKnV0YWIsIGludCAqd3JpdGFibGUpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJaW50IHJjOworCWNvbnN0IGNoYXIgKmZpbGVuYW1lID0gdXRhYiAmJiAqdXRhYiA/ICp1dGFiIDogbW50X2dldF91dGFiX3BhdGgoKTsKKworCWlmICh3cml0YWJsZSkKKwkJKndyaXRhYmxlID0gMDsKKwlpZiAodXRhYiAmJiAhKnV0YWIpCisJCSp1dGFiID0gZmlsZW5hbWU7CisKKwlEQkcoVVRJTFMsIHVsX2RlYnVnKCJ1dGFiOiAlcyIsIGZpbGVuYW1lKSk7CisKKwlyYyA9IGxzdGF0KGZpbGVuYW1lLCAmc3QpOworCisJaWYgKHJjID09IDApIHsKKwkJLyogZmlsZSBleGlzdHMgKi8KKwkJaWYgKFNfSVNSRUcoc3Quc3RfbW9kZSkpIHsKKwkJCWlmICh3cml0YWJsZSkKKwkJCQkqd3JpdGFibGUgPSAhdHJ5X3dyaXRlKGZpbGVuYW1lLCBOVUxMKTsKKwkJCXJldHVybiAxOworCQl9CisJCWdvdG8gZG9uZTsJLyogaXQncyBub3QgYSByZWd1bGFyIGZpbGUgKi8KKwl9CisKKwlpZiAod3JpdGFibGUpIHsKKwkJY2hhciAqZGlybmFtZSA9IHN0cmR1cChmaWxlbmFtZSk7CisKKwkJaWYgKCFkaXJuYW1lKQorCQkJZ290byBkb25lOworCisJCXN0cmlwb2ZmX2xhc3RfY29tcG9uZW50KGRpcm5hbWUpOwkvKiByZW1vdmUgZmlsZW5hbWUgKi8KKworCQlyYyA9IG1rZGlyKGRpcm5hbWUsIFNfSVdVU1J8CisJCQkJICAgIFNfSVJVU1J8U19JUkdSUHxTX0lST1RIfAorCQkJCSAgICBTX0lYVVNSfFNfSVhHUlB8U19JWE9USCk7CisJCWlmIChyYyAmJiBlcnJubyAhPSBFRVhJU1QpIHsKKwkJCWZyZWUoZGlybmFtZSk7CisJCQlnb3RvIGRvbmU7CQkJLyogcHJvYmFibHkgRUFDQ0VTICovCisJCX0KKworCQkqd3JpdGFibGUgPSAhdHJ5X3dyaXRlKGZpbGVuYW1lLCBkaXJuYW1lKTsKKwkJZnJlZShkaXJuYW1lKTsKKwkJaWYgKCp3cml0YWJsZSkKKwkJCXJldHVybiAxOworCX0KK2RvbmU6CisJREJHKFVUSUxTLCB1bF9kZWJ1ZygiJXM6IGlycmVndWxhci9ub24td3JpdGFibGUgZmlsZSIsIGZpbGVuYW1lKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogbW50X2dldF9zd2Fwc19wYXRoOgorICoKKyAqIFJldHVybnM6IHBhdGggdG8gL3Byb2Mvc3dhcHMgb3IgJExJQk1PVU5UX1NXQVBTLgorICovCitjb25zdCBjaGFyICptbnRfZ2V0X3N3YXBzX3BhdGgodm9pZCkKK3sKKwljb25zdCBjaGFyICpwID0gc2FmZV9nZXRlbnYoIkxJQk1PVU5UX1NXQVBTIik7CisJcmV0dXJuIHAgPyA6IF9QQVRIX1BST0NfU1dBUFM7Cit9CisKKy8qKgorICogbW50X2dldF9mc3RhYl9wYXRoOgorICoKKyAqIFJldHVybnM6IHBhdGggdG8gL2V0Yy9mc3RhYiBvciAkTElCTU9VTlRfRlNUQUIuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9nZXRfZnN0YWJfcGF0aCh2b2lkKQoreworCWNvbnN0IGNoYXIgKnAgPSBzYWZlX2dldGVudigiTElCTU9VTlRfRlNUQUIiKTsKKwlyZXR1cm4gcCA/IDogX1BBVEhfTU5UVEFCOworfQorCisvKioKKyAqIG1udF9nZXRfbXRhYl9wYXRoOgorICoKKyAqIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgKmRlZmF1bHQqIGxvY2F0aW9uIG9mIHRoZSBtdGFiIGZpbGUuIFRoZSByZXN1bHQgZG9lcworICogbm90IGhhdmUgdG8gYmUgd3JpdGFibGUuIFNlZSBhbHNvIG1udF9oYXNfcmVndWxhcl9tdGFiKCkuCisgKgorICogUmV0dXJuczogcGF0aCB0byAvZXRjL210YWIgb3IgJExJQk1PVU5UX01UQUIuCisgKi8KK2NvbnN0IGNoYXIgKm1udF9nZXRfbXRhYl9wYXRoKHZvaWQpCit7CisJY29uc3QgY2hhciAqcCA9IHNhZmVfZ2V0ZW52KCJMSUJNT1VOVF9NVEFCIik7CisJcmV0dXJuIHAgPyA6IF9QQVRIX01PVU5URUQ7Cit9CisKKy8qCisgKiBEb24ndCBleHBvcnQgdGhpcyB0byBsaWJtb3VudCBBUEkgLS0gdXRhYiBpcyBwcml2YXRlIGxpYnJhcnkgc3R1ZmYuCisgKgorICogUmV0dXJuczogcGF0aCB0byAvcnVuL21vdW50L3V0YWIgKG9yIC9kZXYvLm1vdW50L3V0YWIpIG9yICRMSUJNT1VOVF9VVEFCLgorICovCitjb25zdCBjaGFyICptbnRfZ2V0X3V0YWJfcGF0aCh2b2lkKQoreworCXN0cnVjdCBzdGF0IHN0OworCWNvbnN0IGNoYXIgKnAgPSBzYWZlX2dldGVudigiTElCTU9VTlRfVVRBQiIpOworCisJaWYgKHApCisJCXJldHVybiBwOworCisJaWYgKHN0YXQoTU5UX1JVTlRJTUVfVE9QRElSLCAmc3QpID09IDApCisJCXJldHVybiBNTlRfUEFUSF9VVEFCOworCisJcmV0dXJuIE1OVF9QQVRIX1VUQUJfT0xEOworfQorCisKKy8qIHJldHVybnMgZmlsZSBkZXNjcmlwdG9yIG9yIC1lcnJubywgQG5hbWUgcmV0dXJucyBhIHVuaXF1ZSBmaWxlbmFtZQorICovCitpbnQgbW50X29wZW5fdW5pcV9maWxlbmFtZShjb25zdCBjaGFyICpmaWxlbmFtZSwgY2hhciAqKm5hbWUpCit7CisJaW50IHJjLCBmZDsKKwljaGFyICpuOworCW1vZGVfdCBvbGRtb2RlOworCisJaWYgKCFmaWxlbmFtZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJaWYgKG5hbWUpCisJCSpuYW1lID0gTlVMTDsKKworCXJjID0gYXNwcmludGYoJm4sICIlcy5YWFhYWFgiLCBmaWxlbmFtZSk7CisJaWYgKHJjIDw9IDApCisJCXJldHVybiAtZXJybm87CisKKwkvKiBUaGlzIGlzIGZvciB2ZXJ5IG9sZCBnbGliYyBhbmQgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBQb3NpeCwgd2hpY2ggc2F5cworCSAqIG5vdGhpbmcgYWJvdXQgbWtzdGVtcCgpIG1vZGUuIEFsbCBzYW5lIGdsaWJjIHVzZSBzZWN1cmUgbW9kZSAoMDYwMCkuCisJICovCisJb2xkbW9kZSA9IHVtYXNrKFNfSVJHUlB8U19JV0dSUHxTX0lYR1JQfAorCQkJU19JUk9USHxTX0lXT1RIfFNfSVhPVEgpOworCWZkID0gbWtvc3RlbXAobiwgT19SRFdSfE9fQ1JFQVR8T19FWENMfE9fQ0xPRVhFQyk7CisJaWYgKGZkIDwgMCkKKwkJZmQgPSAtZXJybm87CisJdW1hc2sob2xkbW9kZSk7CisKKwlpZiAoZmQgPj0gMCAmJiBuYW1lKQorCQkqbmFtZSA9IG47CisJZWxzZQorCQlmcmVlKG4pOworCisJcmV0dXJuIGZkOworfQorCisvKioKKyAqIG1udF9nZXRfbW91bnRwb2ludDoKKyAqIEBwYXRoOiBwYXRobmFtZQorICoKKyAqIFRoaXMgZnVuY3Rpb24gZmluZHMgdGhlIG1vdW50cG9pbnQgdGhhdCBhIGdpdmVuIHBhdGggcmVzaWRlcyBpbi4gQHBhdGgKKyAqIHNob3VsZCBiZSBjYW5vbmljYWxpemVkLiBUaGUgcmV0dXJuZWQgcG9pbnRlciBzaG91bGQgYmUgZnJlZWQgYnkgdGhlIGNhbGxlci4KKyAqCisgKiBXQVJOSU5HOiB0aGUgZnVuY3Rpb24gY29tcGFyZXMgc3RfZGV2IG9mIHRoZSBAcGF0aCBlbGVtZW50cy4gVGhpcyB0cmFkaXRpb25hbAorICogd2F5IG1heWJlIGJlIGluc3VmZmljaWVudCBvbiBmaWxlc3lzdGVtcyBsaWtlIExpbnV4ICJvdmVybGF5Ii4gU2VlIGFsc28KKyAqIG1udF90YWJsZV9maW5kX3RhcmdldCgpLgorICoKKyAqIFJldHVybnM6IGFsbG9jYXRlZCBzdHJpbmcgd2l0aCB0aGUgdGFyZ2V0IG9mIHRoZSBtb3VudGVkIGRldmljZSBvciBOVUxMIG9uIGVycm9yCisgKi8KK2NoYXIgKm1udF9nZXRfbW91bnRwb2ludChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgKm1udDsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlkZXZfdCBkaXIsIGJhc2U7CisKKwlpZiAoIXBhdGgpCisJCXJldHVybiBOVUxMOworCisJbW50ID0gc3RyZHVwKHBhdGgpOworCWlmICghbW50KQorCQlyZXR1cm4gTlVMTDsKKwlpZiAoKm1udCA9PSAnLycgJiYgKihtbnQgKyAxKSA9PSAnXDAnKQorCQlnb3RvIGRvbmU7CisKKwlpZiAobW50X3N0YXRfbW91bnRwb2ludChtbnQsICZzdCkpCisJCWdvdG8gZXJyOworCWJhc2UgPSBzdC5zdF9kZXY7CisKKwlkbyB7CisJCWNoYXIgKnAgPSBzdHJpcG9mZl9sYXN0X2NvbXBvbmVudChtbnQpOworCisJCWlmICghcCkKKwkJCWJyZWFrOworCQlpZiAobW50X3N0YXRfbW91bnRwb2ludCgqbW50ID8gbW50IDogIi8iLCAmc3QpKQorCQkJZ290byBlcnI7CisJCWRpciA9IHN0LnN0X2RldjsKKwkJaWYgKGRpciAhPSBiYXNlKSB7CisJCQlpZiAocCA+IG1udCkKKwkJCQkqKHAgLSAxKSA9ICcvJzsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCQliYXNlID0gZGlyOworCX0gd2hpbGUgKG1udCAmJiAqKG1udCArIDEpICE9ICdcMCcpOworCisJbWVtY3B5KG1udCwgIi8iLCAyKTsKK2RvbmU6CisJREJHKFVUSUxTLCB1bF9kZWJ1ZygiJXMgbW91bnRwb2ludCBpcyAlcyIsIHBhdGgsIG1udCkpOworCXJldHVybiBtbnQ7CitlcnI6CisJZnJlZShtbnQpOworCXJldHVybiBOVUxMOworfQorCisvKgorICogU2VhcmNoIGZvciBAbmFtZSBrZXJuZWwgY29tbWFuZCBwYXJhbWV0ZXIuCisgKgorICogUmV0dXJucyBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIHdpdGggYSBwYXJhbWV0ZXIgYXJndW1lbnQgaWYgdGhlIEBuYW1lIGlzCisgKiBzcGVjaWZpZWQgYXMgIm5hbWU9IiBvciByZXR1cm5zIHBvaW50ZXIgdG8gQG5hbWUgb3IgcmV0dXJucyBOVUxMIGlmIG5vdAorICogZm91bmQuICBJZiBpdCBpcyBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UsIHdlIGdyYWIgdGhlIGxhc3QgY29weS4KKyAqCisgKiBGb3IgZXhhbXBsZSBjbWRsaW5lOiAiYWFhIGJiYj1CQkIgY2NjIgorICoKKyAqCUBuYW1lIGlzICJhYWEiCS0tcmV0dXJucy0tPiAiYWFhIiAocG9pbnRlciB0byBAbmFtZSkKKyAqCUBuYW1lIGlzICJiYmI9IiAtLXJldHVybnMtLT4gIkJCQiIgKGFsbG9jYXRlZCkKKyAqCUBuYW1lIGlzICJmb28iICAtLXJldHVybnMtLT4gTlVMTAorICoKKyAqIE5vdGU6IEl0IGlzIG5vdCByZWFsbHkgZmVhc2libGUgdG8gcGFyc2UgdGhlIGNvbW1hbmQgbGluZSBleGFjdGx5IHRoZSBzYW1lCisgKiBhcyB0aGUga2VybmVsIGRvZXMgc2luY2Ugd2UgZG9uJ3Qga25vdyB3aGljaCBvcHRpb25zIGFyZSB2YWxpZC4gIFdlIGNhbiB1c2UKKyAqIHRoZSAtLSBtYXJrZXIgdGhvdWdoIGFuZCBub3Qgd2FsayBwYXN0IHRoYXQuCisgKi8KK2NoYXIgKm1udF9nZXRfa2VybmVsX2NtZGxpbmVfb3B0aW9uKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJRklMRSAqZjsKKwlzaXplX3QgbGVuOworCWludCB2YWwgPSAwOworCWNoYXIgKnAsICpyZXMgPSBOVUxMLCAqbWVtID0gTlVMTDsKKwljaGFyIGJ1ZltCVUZTSVpdOwkvKiBzZWUga2VybmVsIGluY2x1ZGUvYXNtLWdlbmVyaWMvc2V0dXAuaDogQ09NTUFORF9MSU5FX1NJWkUgKi8KKwljb25zdCBjaGFyICpwYXRoID0gX1BBVEhfUFJPQ19DTURMSU5FOworCisJaWYgKCFuYW1lIHx8ICFuYW1lWzBdKQorCQlyZXR1cm4gTlVMTDsKKworI2lmZGVmIFRFU1RfUFJPR1JBTQorCXBhdGggPSBnZXRlbnYoIkxJQk1PVU5UX0tFUk5FTF9DTURMSU5FIik7CisJaWYgKCFwYXRoKQorCQlwYXRoID0gX1BBVEhfUFJPQ19DTURMSU5FOworI2VuZGlmCisJZiA9IGZvcGVuKHBhdGgsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwlpZiAoIWYpCisJCXJldHVybiBOVUxMOworCisJcCA9IGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpOworCWZjbG9zZShmKTsKKworCWlmICghcCB8fCAhKnAgfHwgKnAgPT0gJ1xuJykKKwkJcmV0dXJuIE5VTEw7CisKKwlwID0gc3Ryc3RyKHAsICIgLS0gIik7CisJaWYgKHApIHsKKwkJLyogbm8gbW9yZSBrZXJuZWwgYXJncyBhZnRlciB0aGlzICovCisJCSpwID0gJ1wwJzsKKwl9IGVsc2UgeworCQlsZW4gPSBzdHJsZW4oYnVmKTsKKwkJYnVmW2xlbiAtIDFdID0gJ1wwJzsJLyogcmVtb3ZlIGxhc3QgJ1xuJyAqLworCX0KKworCWxlbiA9IHN0cmxlbihuYW1lKTsKKwlpZiAobmFtZVtsZW4gLSAxXSA9PSAnPScpCisJCXZhbCA9IDE7CisKKwlmb3IgKHAgPSBidWY7IHAgJiYgKnA7IHArKykgeworCQlpZiAoIShwID0gc3Ryc3RyKHAsIG5hbWUpKSkKKwkJCWJyZWFrOwkJCS8qIG5vdCBmb3VuZCB0aGUgb3B0aW9uICovCisJCWlmIChwICE9IGJ1ZiAmJiAhaXNibGFuaygqKHAgLSAxKSkpCisJCQljb250aW51ZTsJCS8qIG5vIHNwYWNlIGJlZm9yZSB0aGUgb3B0aW9uICovCisJCWlmICghdmFsICYmICoocCArIGxlbikgIT0gJ1wwJyAmJiAhaXNibGFuaygqKHAgKyBsZW4pKSkKKwkJCWNvbnRpbnVlOwkJLyogbm8gc3BhY2UgYWZ0ZXIgdGhlIG9wdGlvbiAqLworCQlpZiAodmFsKSB7CisJCQljaGFyICp2ID0gcCArIGxlbjsKKwkJCWludCBlbmQ7CisKKwkJCXdoaWxlICgqcCAmJiAhaXNibGFuaygqcCkpCS8qIGp1bXAgdG8gdGhlIGVuZCBvZiB0aGUgYXJndW1lbnQgKi8KKwkJCQlwKys7CisJCQllbmQgPSAoKnAgPT0gJ1wwJyk7CisJCQkqcCA9ICdcMCc7CisJCQlmcmVlKG1lbSk7CisJCQlyZXMgPSBtZW0gPSBzdHJkdXAodik7CisJCQlpZiAoZW5kKQorCQkJCWJyZWFrOworCQl9IGVsc2UKKwkJCXJlcyA9IChjaGFyICopIG5hbWU7CS8qIG9wdGlvbiB3aXRob3V0ICc9JyAqLworCQkvKiBkb24ndCBicmVhayAtLSBrZWVwIHNjYW5uaW5nIGZvciBtb3JlIG9wdGlvbnMgKi8KKwl9CisKKwlyZXR1cm4gcmVzOworfQorCisvKgorICogQ29udmVydHMgQGRldm5vIHRvIHRoZSByZWFsIGRldmljZSBuYW1lIGlmIGRldm5vIG1ham9yIG51bWJlciBpcyBncmVhdGVyCisgKiB0aGFuIHplcm8sIG90aGVyd2lzZSB1c2Ugcm9vdD0ga2VybmVsIGNtZGxpbmUgb3B0aW9uIHRvIGdldCBkZXZpY2UgbmFtZS4KKyAqCisgKiBUaGUgZnVuY3Rpb24gdXNlcyAvc3lzIHRvIGNvbnZlcnQgZGV2bm8gdG8gZGV2aWNlIG5hbWUuCisgKgorICogUmV0dXJuczogMCA9IHN1Y2Nlc3MsIDEgPSBub3QgZm91bmQsIDwwID0gZXJyb3IKKyAqLworaW50IG1udF9ndWVzc19zeXN0ZW1fcm9vdChkZXZfdCBkZXZubywgc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUsIGNoYXIgKipwYXRoKQoreworCWNoYXIgYnVmW1BBVEhfTUFYXTsKKwljaGFyICpkZXYgPSBOVUxMLCAqc3BlYyA9IE5VTEw7CisJdW5zaWduZWQgaW50IHgsIHk7CisJaW50IGFsbG9jYXRlZCA9IDA7CisKKwlhc3NlcnQocGF0aCk7CisKKwlEQkcoVVRJTFMsIHVsX2RlYnVnKCJndWVzc2luZyBzeXN0ZW0gcm9vdCBbZGV2bm8gJXU6JXVdIiwgbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpKTsKKworCS8qIFRoZSBwc2V1ZG8tZnMsIG5ldC1mcyBvciBidHJmcyBkZXZubyBpcyB1c2VsZXNzLCBvdGhlcndpc2UgaXQKKwkgKiB1c3VhbGx5IG1hdGNoZXMgd2l0aCB0aGUgc291cmNlIGRldmljZSwgbGV0J3MgdHJ5IHRvIHVzZSBpdC4KKwkgKi8KKwlpZiAobWFqb3IoZGV2bm8pID4gMCkgeworCQlkZXYgPSBzeXNmc19kZXZub190b19kZXZwYXRoKGRldm5vLCBidWYsIHNpemVvZihidWYpKTsKKwkJaWYgKGRldikgeworCQkJREJHKFVUSUxTLCB1bF9kZWJ1ZygiICBkZXZubyBjb252ZXJ0ZWQgdG8gJXMiLCBkZXYpKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qIExldCdzIHRyeSB0byB1c2Ugcm9vdD0ga2VybmVsIGNvbW1hbmQgbGluZSBvcHRpb24KKwkgKi8KKwlzcGVjID0gbW50X2dldF9rZXJuZWxfY21kbGluZV9vcHRpb24oInJvb3Q9Iik7CisJaWYgKCFzcGVjKQorCQlnb3RvIGRvbmU7CisKKwkvKiBtYWo6bWluIG5vdGF0aW9uICovCisJaWYgKHNzY2FuZihzcGVjLCAiJXU6JXUiLCAmeCwgJnkpID09IDIpIHsKKwkJZGV2ID0gc3lzZnNfZGV2bm9fdG9fZGV2cGF0aChtYWtlZGV2KHgsIHkpLCBidWYsIHNpemVvZihidWYpKTsKKwkJaWYgKGRldikgeworCQkJREJHKFVUSUxTLCB1bF9kZWJ1ZygiICByb290PSVzIGNvbnZlcnRlZCB0byAlcyIsIHNwZWMsIGRldikpOworCQkJZ290byBkb25lOworCQl9CisKKwkvKiBoZXhoZXggbm90YXRpb24gKi8KKwl9IGVsc2UgaWYgKGlzeGRpZ2l0X3N0cmluZyhzcGVjKSkgeworCQljaGFyICplbmQgPSBOVUxMOworCQl1aW50MzJfdCBuOworCisJCWVycm5vID0gMDsKKwkJbiA9IHN0cnRvdWwoc3BlYywgJmVuZCwgMTYpOworCisJCWlmIChlcnJubyB8fCBzcGVjID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQkJREJHKFVUSUxTLCB1bF9kZWJ1ZygiICBmYWlsZWQgdG8gcGFyc2Ugcm9vdD0nJXMnIiwgc3BlYykpOworCQllbHNlIHsKKwkJCS8qIGtlcm5lbCBuZXdfZGVjb2RlX2RldigpICovCisJCQl4ID0gKG4gJiAweGZmZjAwKSA+PiA4OworCQkJeSA9IChuICYgMHhmZikgfCAoKG4gPj4gMTIpICYgMHhmZmYwMCk7CisJCQlkZXYgPSBzeXNmc19kZXZub190b19kZXZwYXRoKG1ha2VkZXYoeCwgeSksIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQkJaWYgKGRldikgeworCQkJCURCRyhVVElMUywgdWxfZGVidWcoIiAgcm9vdD0lcyBjb252ZXJ0ZWQgdG8gJXMiLCBzcGVjLCBkZXYpKTsKKwkJCQlnb3RvIGRvbmU7CisJCQl9CisJCX0KKworCS8qIGRldm5hbWUgb3IgUEFSVFVVSUQ9IGV0Yy4gKi8KKwl9IGVsc2UgeworCQlEQkcoVVRJTFMsIHVsX2RlYnVnKCIgIGNvbnZlcnRpbmcgcm9vdD0nJXMnIiwgc3BlYykpOworCisJCWRldiA9IG1udF9yZXNvbHZlX3NwZWMoc3BlYywgY2FjaGUpOworCQlpZiAoZGV2ICYmICFjYWNoZSkKKwkJCWFsbG9jYXRlZCA9IDE7CisJfQorZG9uZToKKwlmcmVlKHNwZWMpOworCWlmIChkZXYpIHsKKwkJKnBhdGggPSBhbGxvY2F0ZWQgPyBkZXYgOiBzdHJkdXAoZGV2KTsKKwkJaWYgKCEqcGF0aCkKKwkJCXJldHVybiAtRU5PTUVNOworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworCisjaWZkZWYgVEVTVF9QUk9HUkFNCitzdGF0aWMgaW50IHRlc3RfbWF0Y2hfZnN0eXBlKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqdHlwZSA9IGFyZ3ZbMV07CisJY2hhciAqcGF0dGVybiA9IGFyZ3ZbMl07CisKKwlwcmludGYoIiVzXG4iLCBtbnRfbWF0Y2hfZnN0eXBlKHR5cGUsIHBhdHRlcm4pID8gIk1BVENIIiA6ICJOT1QtTUFUQ0giKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X21hdGNoX29wdGlvbnMoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpvcHRzdHIgPSBhcmd2WzFdOworCWNoYXIgKnBhdHRlcm4gPSBhcmd2WzJdOworCisJcHJpbnRmKCIlc1xuIiwgbW50X21hdGNoX29wdGlvbnMob3B0c3RyLCBwYXR0ZXJuKSA/ICJNQVRDSCIgOiAiTk9ULU1BVENIIik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdGVzdF9zdGFydHN3aXRoKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqb3B0c3RyID0gYXJndlsxXTsKKwljaGFyICpwYXR0ZXJuID0gYXJndlsyXTsKKworCXByaW50ZigiJXNcbiIsIHN0YXJ0c3dpdGgob3B0c3RyLCBwYXR0ZXJuKSA/ICJZRVMiIDogIk5PVCIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRlc3RfZW5kc3dpdGgoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpvcHRzdHIgPSBhcmd2WzFdOworCWNoYXIgKnBhdHRlcm4gPSBhcmd2WzJdOworCisJcHJpbnRmKCIlc1xuIiwgZW5kc3dpdGgob3B0c3RyLCBwYXR0ZXJuKSA/ICJZRVMiIDogIk5PVCIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHRlc3RfYXBwZW5kc3RyKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqc3RyID0gc3RyZHVwKGFyZ3ZbMV0pOworCWNvbnN0IGNoYXIgKmFwID0gYXJndlsyXTsKKworCWFwcGVuZF9zdHJpbmcoJnN0ciwgYXApOworCXByaW50ZigibmV3IHN0cmluZzogJyVzJ1xuIiwgc3RyKTsKKworCWZyZWUoc3RyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X21vdW50cG9pbnQoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljaGFyICpwYXRoID0gY2Fub25pY2FsaXplX3BhdGgoYXJndlsxXSksCisJICAgICAqbW50ID0gcGF0aCA/IG1udF9nZXRfbW91bnRwb2ludChwYXRoKSA6ICBOVUxMOworCisJcHJpbnRmKCIlczogJXNcbiIsIGFyZ3ZbMV0sIG1udCA/IDogInVua25vd24iKTsKKwlmcmVlKG1udCk7CisJZnJlZShwYXRoKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X2ZpbGVzeXN0ZW1zKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqKmZpbGVzeXN0ZW1zID0gTlVMTDsKKwlpbnQgcmM7CisKKwlyYyA9IG1udF9nZXRfZmlsZXN5c3RlbXMoJmZpbGVzeXN0ZW1zLCBhcmdjID8gYXJndlsxXSA6IE5VTEwpOworCWlmICghcmMpIHsKKwkJY2hhciAqKnA7CisJCWZvciAocCA9IGZpbGVzeXN0ZW1zOyAqcDsgcCsrKQorCQkJcHJpbnRmKCIlc1xuIiwgKnApOworCQltbnRfZnJlZV9maWxlc3lzdGVtcyhmaWxlc3lzdGVtcyk7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X2NoZGlyKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjOworCWNoYXIgKnBhdGggPSBjYW5vbmljYWxpemVfcGF0aChhcmd2WzFdKSwKKwkgICAgICpsYXN0ID0gTlVMTDsKKworCWlmICghcGF0aCkKKwkJcmV0dXJuIC1lcnJubzsKKworCXJjID0gbW50X2NoZGlyX3RvX3BhcmVudChwYXRoLCAmbGFzdCk7CisJaWYgKCFyYykgeworCQlwcmludGYoInBhdGg9JyVzJywgYWJzPSclcycsIGxhc3Q9JyVzJ1xuIiwKKwkJCQlhcmd2WzFdLCBwYXRoLCBsYXN0KTsKKwl9CisJZnJlZShwYXRoKTsKKwlmcmVlKGxhc3QpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB0ZXN0X2tlcm5lbF9jbWRsaW5lKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqbmFtZSA9IGFyZ3ZbMV07CisJY2hhciAqcmVzOworCisJcmVzID0gbW50X2dldF9rZXJuZWxfY21kbGluZV9vcHRpb24obmFtZSk7CisJaWYgKCFyZXMpCisJCXByaW50ZigiJyVzJyBub3QgZm91bmRcbiIsIG5hbWUpOworCWVsc2UgaWYgKHJlcyA9PSBuYW1lKQorCQlwcmludGYoIiclcycgZm91bmRcbiIsIG5hbWUpOworCWVsc2UgeworCQlwcmludGYoIiclcycgZm91bmQsIGFyZ3VtZW50OiAnJXMnXG4iLCBuYW1lLCByZXMpOworCQlmcmVlKHJlcyk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCB0ZXN0X2d1ZXNzX3Jvb3Qoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgcmM7CisJY2hhciAqcmVhbDsKKwlkZXZfdCBkZXZubyA9IDA7CisKKwlpZiAoYXJnYykgeworCQl1bnNpZ25lZCBpbnQgeCwgeTsKKworCQlpZiAoc3NjYW5mKGFyZ3ZbMV0sICIldToldSIsICZ4LCAmeSkgIT0gMikKKwkJCXJldHVybiAtRUlOVkFMOworCQlkZXZubyA9IG1ha2VkZXYoeCwgeSk7CisJfQorCisJcmMgPSBtbnRfZ3Vlc3Nfc3lzdGVtX3Jvb3QoZGV2bm8sIE5VTEwsICZyZWFsKTsKKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gcmM7CisJaWYgKHJjID09IDEpCisJCWZwdXRzKCJub3QgZm91bmRcbiIsIHN0ZG91dCk7CisJZWxzZSB7CisJCXByaW50ZigiJXNcbiIsIHJlYWwpOworCQlmcmVlKHJlYWwpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB0ZXN0X21rZGlyKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHJjOworCisJcmMgPSBta2Rpcl9wKGFyZ3ZbMV0sIFNfSVJXWFUgfAorCQkJIFNfSVJHUlAgfCBTX0lYR1JQIHwKKwkJCSBTX0lST1RIIHwgU19JWE9USCk7CisJaWYgKHJjKQorCQlwcmludGYoIm1rZGlyICVzIGZhaWxlZFxuIiwgYXJndlsxXSk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHRlc3Rfc3RhdGZzX3R5cGUoc3RydWN0IGxpYm1udF90ZXN0ICp0cywgaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3Qgc3RhdGZzIHZmczsKKwlpbnQgcmM7CisKKwlyYyA9IHN0YXRmcyhhcmd2WzFdLCAmdmZzKTsKKwlpZiAocmMpCisJCXByaW50ZigiJXM6IHN0YXRmcyBmYWlsZWQ6ICVtXG4iLCBhcmd2WzFdKTsKKwllbHNlCisJCXByaW50ZigiJS0zMHM6IHN0YXRmcyB0eXBlOiAlLTEycyBbMHglbHhdXG4iLCBhcmd2WzFdLAorCQkJCW1udF9zdGF0ZnNfZ2V0X2ZzdHlwZSgmdmZzKSwKKwkJCQkobG9uZykgdmZzLmZfdHlwZSk7CisJcmV0dXJuIHJjOworfQorCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90ZXN0IHRzc1tdID0geworCXsgIi0tbWF0Y2gtZnN0eXBlIiwgIHRlc3RfbWF0Y2hfZnN0eXBlLCAgICAiPHR5cGU+IDxwYXR0ZXJuPiAgICAgRlMgdHlwZXMgbWF0Y2hpbmciIH0sCisJeyAiLS1tYXRjaC1vcHRpb25zIiwgdGVzdF9tYXRjaF9vcHRpb25zLCAgICI8b3B0aW9ucz4gPHBhdHRlcm4+ICBvcHRpb25zIG1hdGNoaW5nIiB9LAorCXsgIi0tZmlsZXN5c3RlbXMiLCAgIHRlc3RfZmlsZXN5c3RlbXMsCSAgICJbPHBhdHRlcm4+XSBsaXN0IC97ZXRjLHByb2N9L2ZpbGVzeXN0ZW1zIiB9LAorCXsgIi0tc3RhcnRzLXdpdGgiLCAgIHRlc3Rfc3RhcnRzd2l0aCwgICAgICAiPHN0cmluZz4gPHByZWZpeD4iIH0sCisJeyAiLS1lbmRzLXdpdGgiLCAgICAgdGVzdF9lbmRzd2l0aCwgICAgICAgICI8c3RyaW5nPiA8cHJlZml4PiIgfSwKKwl7ICItLWFwcGVuZC1zdHJpbmciLCB0ZXN0X2FwcGVuZHN0ciwgICAgICAgIjxzdHJpbmc+IDxhcHBlbmRpeD4iIH0sCisJeyAiLS1tb3VudHBvaW50IiwgICAgdGVzdF9tb3VudHBvaW50LCAgICAgICI8cGF0aD4iIH0sCisJeyAiLS1jZC1wYXJlbnQiLCAgICAgdGVzdF9jaGRpciwgICAgICAgICAgICI8cGF0aD4iIH0sCisJeyAiLS1rZXJuZWwtY21kbGluZSIsdGVzdF9rZXJuZWxfY21kbGluZSwgICI8b3B0aW9uPiB8IDxvcHRpb24+PSIgfSwKKwl7ICItLWd1ZXNzLXJvb3QiLCAgICB0ZXN0X2d1ZXNzX3Jvb3QsICAgICAgIls8bWFqOm1pbj5dIiB9LAorCXsgIi0tbWtkaXIiLCAgICAgICAgIHRlc3RfbWtkaXIsICAgICAgICAgICAiPHBhdGg+IiB9LAorCXsgIi0tc3RhdGZzLXR5cGUiLCAgIHRlc3Rfc3RhdGZzX3R5cGUsICAgICAiPHBhdGg+IiB9LAorCisJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0c3MsIGFyZ2MsIGFyZ3YpOworfQorCisjZW5kaWYgLyogVEVTVF9QUk9HUkFNICovCmRpZmYgLS1naXQgYS9saWJtb3VudC9zcmMvdmVyc2lvbi5jIGIvbGlibW91bnQvc3JjL3ZlcnNpb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2E5ODFhCi0tLSAvZGV2L251bGwKKysrIGIvbGlibW91bnQvc3JjL3ZlcnNpb24uYwpAQCAtMCwwICsxLDE0NSBAQAorLyoKKyAqIHZlcnNpb24uYyAtIFJldHVybiB0aGUgdmVyc2lvbiBvZiB0aGUgbGlibW91bnQgbGlicmFyeQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIFtCYXNlZCBvbiBsaWJibGtpZC92ZXJzaW9uLmMgYnkgVGhlb2RvcmUgVHMnb10KKyAqCisgKiBTZWUgQ09QWUlORy5saWJtb3VudCBmb3IgdGhlIExpY2Vuc2Ugb2YgdGhpcyBzb2Z0d2FyZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IHZlcnNpb24tdXRpbHMKKyAqIEB0aXRsZTogVmVyc2lvbiBmdW5jdGlvbnMKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogZnVuY3Rpb25zIHRvIGdldCB0aGUgbGlicmFyeSB2ZXJzaW9uLgorICovCisKKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAibW91bnRQLmgiCisKK3N0YXRpYyBjb25zdCBjaGFyICpsaWJfdmVyc2lvbiA9IExJQk1PVU5UX1ZFUlNJT047CitzdGF0aWMgY29uc3QgY2hhciAqbGliX2ZlYXR1cmVzW10gPSB7CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJInNlbGludXgiLAorI2VuZGlmCisjaWZkZWYgSEFWRV9TTUFDSworCSJzbWFjayIsCisjZW5kaWYKKyNpZmRlZiBIQVZFX0JUUkZTX1NVUFBPUlQKKwkiYnRyZnMiLAorI2VuZGlmCisjaWZkZWYgVVNFX0xJQk1PVU5UX1NVUFBPUlRfTVRBQgorCSJtdGFiIiwKKyNlbmRpZgorI2lmICFkZWZpbmVkKE5ERUJVRykKKwkiYXNzZXJ0IiwJLyogbGliYyBhc3NlcnQuaCBzdHVmZiAqLworI2VuZGlmCisJImRlYnVnIiwJLyogYWx3YXlzIGVuYWJsZWQgKi8KKwlOVUxMCit9OworCisvKioKKyAqIG1udF9wYXJzZV92ZXJzaW9uX3N0cmluZzoKKyAqIEB2ZXJfc3RyaW5nOiB2ZXJzaW9uIHN0cmluZyAoZS5nICIyLjE4LjAiKQorICoKKyAqIFJldHVybnM6IHJlbGVhc2UgdmVyc2lvbiBjb2RlLgorICovCitpbnQgbW50X3BhcnNlX3ZlcnNpb25fc3RyaW5nKGNvbnN0IGNoYXIgKnZlcl9zdHJpbmcpCit7CisJY29uc3QgY2hhciAqY3A7CisJaW50IHZlcnNpb24gPSAwOworCisJYXNzZXJ0KHZlcl9zdHJpbmcpOworCisJZm9yIChjcCA9IHZlcl9zdHJpbmc7ICpjcDsgY3ArKykgeworCQlpZiAoKmNwID09ICcuJykKKwkJCWNvbnRpbnVlOworCQlpZiAoIWlzZGlnaXQoKmNwKSkKKwkJCWJyZWFrOworCQl2ZXJzaW9uID0gKHZlcnNpb24gKiAxMCkgKyAoKmNwIC0gJzAnKTsKKwl9CisJcmV0dXJuIHZlcnNpb247Cit9CisKKy8qKgorICogbW50X2dldF9saWJyYXJ5X3ZlcnNpb246CisgKiBAdmVyX3N0cmluZzogcmV0dXJuIHBvaW50ZXIgdG8gdGhlIHN0YXRpYyBsaWJyYXJ5IHZlcnNpb24gc3RyaW5nIGlmIG5vdCBOVUxMCisgKgorICogUmV0dXJuczogcmVsZWFzZSB2ZXJzaW9uIG51bWJlci4KKyAqLworaW50IG1udF9nZXRfbGlicmFyeV92ZXJzaW9uKGNvbnN0IGNoYXIgKip2ZXJfc3RyaW5nKQoreworCWlmICh2ZXJfc3RyaW5nKQorCQkqdmVyX3N0cmluZyA9IGxpYl92ZXJzaW9uOworCisJcmV0dXJuIG1udF9wYXJzZV92ZXJzaW9uX3N0cmluZyhsaWJfdmVyc2lvbik7Cit9CisKKy8qKgorICogbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzOgorICogQGZlYXR1cmVzOiByZXR1cm5zIGEgcG9pbnRlciB0byB0aGUgc3RhdGljIGFycmF5IG9mIHN0cmluZ3MsIHRoZSBhcnJheSBpcworICogICAgICAgICAgICB0ZXJtaW5hdGVkIGJ5IE5VTEwuCisgKgorICogUmV0dXJuczogbnVtYmVyIG9mIGl0ZW1zIGluIHRoZSBmZWF0dXJlcyBhcnJheSBub3QgaW5jbHVkaW5nIHRoZSBsYXN0IE5VTEwsCisgKiAgICAgICAgICBvciBsZXNzIHRoYW4gemVybyBpbiBjYXNlIG9mIGVycm9yCisgKgorICogRXhhbXBsZToKKyAqIDxpbmZvcm1hbGV4YW1wbGU+CisgKiAgIDxwcm9ncmFtbGlzdGluZz4KKyAqCWNvbnN0IGNoYXIgKipmZWF0dXJlczsKKyAqCisgKgltbnRfZ2V0X2xpYnJhcnlfZmVhdHVyZXMoJmZlYXR1cmVzKTsKKyAqCXdoaWxlIChmZWF0dXJlcyAmJiAqZmVhdHVyZXMpCisgKgkJcHJpbnRmKCIlc1xuIiwgKmZlYXR1cmVzKyspOworICogICA8L3Byb2dyYW1saXN0aW5nPgorICogPC9pbmZvcm1hbGV4YW1wbGU+CisgKgorICovCitpbnQgbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzKGNvbnN0IGNoYXIgKioqZmVhdHVyZXMpCit7CisJaWYgKCFmZWF0dXJlcykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkqZmVhdHVyZXMgPSBsaWJfZmVhdHVyZXM7CisJcmV0dXJuIEFSUkFZX1NJWkUobGliX2ZlYXR1cmVzKSAtIDE7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK3N0YXRpYyBpbnQgdGVzdF92ZXJzaW9uKHN0cnVjdCBsaWJtbnRfdGVzdCAqdHMsIGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY29uc3QgY2hhciAqdmVyOworCWNvbnN0IGNoYXIgKipmZWF0dXJlczsKKworCWlmIChhcmdjID09IDIpCisJCXByaW50ZigiWW91ciB2ZXJzaW9uOiAlZFxuIiwKKwkJCQltbnRfcGFyc2VfdmVyc2lvbl9zdHJpbmcoYXJndlsxXSkpOworCisJbW50X2dldF9saWJyYXJ5X3ZlcnNpb24oJnZlcik7CisKKwlwcmludGYoIkxpYnJhcnkgdmVyc2lvbjogJXNcbiIsIHZlcik7CisJcHJpbnRmKCJMaWJyYXJ5IEFQSSB2ZXJzaW9uOiAiIExJQk1PVU5UX1ZFUlNJT04gIlxuIik7CisJcHJpbnRmKCJMaWJyYXJ5IGZlYXR1cmVzOiIpOworCisJbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzKCZmZWF0dXJlcyk7CisJd2hpbGUgKGZlYXR1cmVzICYmICpmZWF0dXJlcykKKwkJcHJpbnRmKCIgJXMiLCAqZmVhdHVyZXMrKyk7CisKKwlwcmludGYoIlxuIik7CisKKwlpZiAobW50X2dldF9saWJyYXJ5X3ZlcnNpb24oTlVMTCkgPT0KKwkJCW1udF9wYXJzZV92ZXJzaW9uX3N0cmluZyhMSUJNT1VOVF9WRVJTSU9OKSkKKwkJcmV0dXJuIDA7CisKKwlyZXR1cm4gLTE7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGxpYm1udF90ZXN0IHRzW10gPSB7CisJCXsgIi0tcHJpbnQiLCB0ZXN0X3ZlcnNpb24sICJwcmludCB2ZXJzaW9ucyIgfSwKKwkJeyBOVUxMIH0KKwl9OworCisJcmV0dXJuIG1udF9ydW5fdGVzdCh0cywgYXJnYywgYXJndik7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9DT1BZSU5HIGIvbGlic21hcnRjb2xzL0NPUFlJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUxYTViMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9DT1BZSU5HCkBAIC0wLDAgKzEsOCBAQAorVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYworTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCit2ZXJzaW9uIDIuMSBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIKK3ZlcnNpb24uCisKK1RoZSBjb21wbGV0ZSB0ZXh0IG9mIHRoZSBsaWNlbnNlIGlzIGF2YWlsYWJsZSBpbiB0aGUKKy4uL0RvY3VtZW50YXRpb24vbGljZW5zZXMvQ09QWUlORy5MR1BMdjIuMSBmaWxlLgpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL01ha2Vtb2R1bGUuYW0gYi9saWJzbWFydGNvbHMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMTI4NDhiCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwxNSBAQAoraWYgQlVJTERfTElCU01BUlRDT0xTCisKK2luY2x1ZGUgbGlic21hcnRjb2xzL3NyYy9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYnNtYXJ0Y29scy9zYW1wbGVzL01ha2Vtb2R1bGUuYW0KKworaWYgRU5BQkxFX0dUS19ET0MKKyMgRG9jcyB1c2VzIHNlcGFyYXRlIE1ha2VmaWxlcworU1VCRElSUyArPSBsaWJzbWFydGNvbHMvZG9jcworZW5kaWYKKworcGtnY29uZmlnX0RBVEEgKz0gbGlic21hcnRjb2xzL3NtYXJ0Y29scy5wYworUEFUSEZJTEVTICAgICAgKz0gbGlic21hcnRjb2xzL3NtYXJ0Y29scy5wYworRVhUUkFfRElTVCAgICAgKz0gbGlic21hcnRjb2xzL0NPUFlJTkcKKworZW5kaWYgIyBCVUlMRF9MSUJTTUFSVENPTFMKZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9kb2NzLy5naXRpZ25vcmUgYi9saWJzbWFydGNvbHMvZG9jcy8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5MWY5M2QKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvZG9jcy8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMTggQEAKKyotZGVjbC1saXN0LnR4dAorKi1kZWNsLnR4dAorKi1vdmVycmlkZXMudHh0CisqLXVuZGVjbGFyZWQudHh0CisqLXVuZG9jdW1lbnRlZC50eHQKKyotdW51c2VkLnR4dAorKi5hcmdzCisqLmJhaworKi5oaWVyYXJjaHkKKyouaW50ZXJmYWNlcworKi5wcmVyZXF1aXNpdGVzCisqLnNpZ25hbHMKKyouc3RhbXAKKyoudHlwZXMKK2h0bWwvKgordG1wbC8qCit2ZXJzaW9uLnhtbAoreG1sLyoKZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9kb2NzL01ha2VmaWxlLmFtIGIvbGlic21hcnRjb2xzL2RvY3MvTWFrZWZpbGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThhNzYwMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9kb2NzL01ha2VmaWxlLmFtCkBAIC0wLDAgKzEsOTMgQEAKKyMjIFByb2Nlc3MgdGhpcyBmaWxlIHdpdGggYXV0b21ha2UgdG8gcHJvZHVjZSBNYWtlZmlsZS5pbgorCisjIFdlIHJlcXVpcmUgYXV0b21ha2UgMS4xMCBhdCBsZWFzdC4KK0FVVE9NQUtFX09QVElPTlMgPSAxLjEwCisKKyMgVGhpcyBpcyBhIGJsYW5rIE1ha2VmaWxlLmFtIGZvciB1c2luZyBndGstZG9jLgorIyBDb3B5IHRoaXMgdG8geW91ciBwcm9qZWN0J3MgQVBJIGRvY3MgZGlyZWN0b3J5IGFuZCBtb2RpZnkgdGhlIHZhcmlhYmxlcyB0bworIyBzdWl0IHlvdXIgcHJvamVjdC4gU2VlIHRoZSBHVEsrIE1ha2VmaWxlcyBpbiBndGsrL2RvY3MvcmVmZXJlbmNlIGZvciBleGFtcGxlcworIyBvZiB1c2luZyB0aGUgdmFyaW91cyBvcHRpb25zLgorCisjIFRoZSBuYW1lIG9mIHRoZSBtb2R1bGUsIGUuZy4gJ2dsaWInLgorRE9DX01PRFVMRT1saWJzbWFydGNvbHMKKworIyBVbmNvbW1lbnQgZm9yIHZlcnNpb25lZCBkb2NzIGFuZCBzcGVjaWZ5IHRoZSB2ZXJzaW9uIG9mIHRoZSBtb2R1bGUsIGUuZy4gJzInLgorI0RPQ19NT0RVTEVfVkVSU0lPTj0yCisKKyMgVGhlIHRvcC1sZXZlbCBTR01MIGZpbGUuIFlvdSBjYW4gY2hhbmdlIHRoaXMgaWYgeW91IHdhbnQgdG8uCitET0NfTUFJTl9TR01MX0ZJTEU9JChET0NfTU9EVUxFKS1kb2NzLnhtbAorCisjIFRoZSBkaXJlY3RvcnkgY29udGFpbmluZyB0aGUgc291cmNlIGNvZGUuIFJlbGF0aXZlIHRvICQoc3JjZGlyKS4KKyMgZ3RrLWRvYyB3aWxsIHNlYXJjaCBhbGwgLmMgJiAuaCBmaWxlcyBiZW5lYXRoIGhlcmUgZm9yIGlubGluZSBjb21tZW50cworIyBkb2N1bWVudGluZyB0aGUgZnVuY3Rpb25zIGFuZCBtYWNyb3MuCisjIGUuZy4gRE9DX1NPVVJDRV9ESVI9Li4vLi4vLi4vZ3RrCitET0NfU09VUkNFX0RJUj0uLi9zcmMKKworIyBFeHRyYSBvcHRpb25zIHRvIHBhc3MgdG8gZ3RrZG9jLXNjYW5nb2JqLiBOb3Qgbm9ybWFsbHkgbmVlZGVkLgorU0NBTkdPQkpfT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2Mtc2Nhbi4KKyMgZS5nLiBTQ0FOX09QVElPTlM9LS1kZXByZWNhdGVkLWd1YXJkcz0iR1RLX0RJU0FCTEVfREVQUkVDQVRFRCIKK1NDQU5fT1BUSU9OUz0KKworIyBFeHRyYSBvcHRpb25zIHRvIHN1cHBseSB0byBndGtkb2MtbWtkYi4KKyMgZS5nLiBNS0RCX09QVElPTlM9LS1zZ21sLW1vZGUgLS1vdXRwdXQtZm9ybWF0PXhtbAorTUtEQl9PUFRJT05TPS0tc2dtbC1tb2RlIC0tb3V0cHV0LWZvcm1hdD14bWwgLS1uYW1lLXNwYWNlIHNjb2xzCisKKyMgRXh0cmEgb3B0aW9ucyB0byBzdXBwbHkgdG8gZ3RrZG9jLW1rdG1wbAorIyBlLmcuIE1LVE1QTF9PUFRJT05TPS0tb25seS1zZWN0aW9uLXRtcGwKK01LVE1QTF9PUFRJT05TPQorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1ta2h0bWwKK01LSFRNTF9PUFRJT05TPQorCisjIEV4dHJhIG9wdGlvbnMgdG8gc3VwcGx5IHRvIGd0a2RvYy1maXhyZWYuIE5vdCBub3JtYWxseSBuZWVkZWQuCisjIGUuZy4gRklYWFJFRl9PUFRJT05TPS0tZXh0cmEtZGlyPS4uL2dkay1waXhidWYvaHRtbCAtLWV4dHJhLWRpcj0uLi9nZGsvaHRtbAorRklYWFJFRl9PUFRJT05TPQorCisjIFVzZWQgZm9yIGRlcGVuZGVuY2llcy4gVGhlIGRvY3Mgd2lsbCBiZSByZWJ1aWx0IGlmIGFueSBvZiB0aGVzZSBjaGFuZ2UuCisjIGUuZy4gSEZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2d0ay8qLmgKKyMgZS5nLiBDRklMRV9HTE9CPSQodG9wX3NyY2RpcikvZ3RrLyouYworSEZJTEVfR0xPQj0kKHRvcF9idWlsZGRpcikvbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuaAorQ0ZJTEVfR0xPQj0kKHRvcF9zcmNkaXIpL2xpYnNtYXJ0Y29scy9zcmMvKi5jCisKKyMgRXh0cmEgaGVhZGVyIHRvIGluY2x1ZGUgd2hlbiBzY2FubmluZywgd2hpY2ggYXJlIG5vdCB1bmRlciBET0NfU09VUkNFX0RJUgorIyBlLmcuIEVYVFJBX0hGSUxFUz0kKHRvcF9zcmNkaXJ9L2NvbnRyaWIvZXh0cmEuaAorRVhUUkFfSEZJTEVTPQorCisjIEhlYWRlciBmaWxlcyB0byBpZ25vcmUgd2hlbiBzY2FubmluZy4gVXNlIGJhc2UgZmlsZSBuYW1lLCBubyBwYXRocworIyBlLmcuIElHTk9SRV9IRklMRVM9Z3RrZGVidWcuaCBndGtpbnRsLmgKK0lHTk9SRV9IRklMRVM9c21hcnRjb2xzUC5oCisKKyMgSW1hZ2VzIHRvIGNvcHkgaW50byBIVE1MIGRpcmVjdG9yeS4KKyMgZS5nLiBIVE1MX0lNQUdFUz0kKHRvcF9zcmNkaXIpL2d0ay9zdG9jay1pY29ucy9zdG9ja19hYm91dF8yNC5wbmcKK0hUTUxfSU1BR0VTPQorCisjIEV4dHJhIFNHTUwgZmlsZXMgdGhhdCBhcmUgaW5jbHVkZWQgYnkgJChET0NfTUFJTl9TR01MX0ZJTEUpLgorIyBlLmcuIGNvbnRlbnRfZmlsZXM9cnVubmluZy5zZ21sIGJ1aWxkaW5nLnNnbWwgY2hhbmdlcy0yLjAuc2dtbAorY29udGVudF9maWxlcyA9ICQoYnVpbGRkaXIpL3ZlcnNpb24ueG1sCisKKyMgU0dNTCBmaWxlcyB3aGVyZSBndGstZG9jIGFiYnJldmlhdGlvbnMgKCNHdGtXaWRnZXQpIGFyZSBleHBhbmRlZAorIyBUaGVzZSBmaWxlcyBtdXN0IGJlIGxpc3RlZCBoZXJlICphbmQqIGluIGNvbnRlbnRfZmlsZXMKKyMgZS5nLiBleHBhbmRfY29udGVudF9maWxlcz1ydW5uaW5nLnNnbWwKK2V4cGFuZF9jb250ZW50X2ZpbGVzPQorCisjIENGTEFHUyBhbmQgTERGTEFHUyBmb3IgY29tcGlsaW5nIGd0a2RvYy1zY2FuZ29iaiB3aXRoIHlvdXIgbGlicmFyeS4KKyMgT25seSBuZWVkZWQgaWYgeW91IGFyZSB1c2luZyBndGtkb2Mtc2NhbmdvYmogdG8gZHluYW1pY2FsbHkgcXVlcnkgd2lkZ2V0CisjIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuCisjIGUuZy4gR1RLRE9DX0NGTEFHUz0tSSQodG9wX3NyY2RpcikgLUkkKHRvcF9idWlsZGRpcikgJChHVEtfREVCVUdfRkxBR1MpCisjIGUuZy4gR1RLRE9DX0xJQlM9JCh0b3BfYnVpbGRkaXIpL2d0ay8kKGd0a3RhcmdldGxpYikKK0dUS0RPQ19DRkxBR1M9CitHVEtET0NfTElCUz0KKworIyBUaGlzIGluY2x1ZGVzIHRoZSBzdGFuZGFyZCBndGstZG9jIG1ha2UgcnVsZXMsIGNvcGllZCBieSBndGtkb2NpemUuCitpbmNsdWRlICQodG9wX3NyY2RpcikvY29uZmlnL2d0ay1kb2MubWFrZQorCisjIE90aGVyIGZpbGVzIHRvIGRpc3RyaWJ1dGUKKyMgZS5nLiBFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluCitFWFRSQV9ESVNUICs9IHZlcnNpb24ueG1sLmluCisKKyMgRmlsZXMgbm90IHRvIGRpc3RyaWJ1dGUKKyMgZm9yIC0tcmVidWlsZC10eXBlcyBpbiAkKFNDQU5fT1BUSU9OUyksIGUuZy4gJChET0NfTU9EVUxFKS50eXBlcworIyBmb3IgLS1yZWJ1aWxkLXNlY3Rpb25zIGluICQoU0NBTl9PUFRJT05TKSBlLmcuICQoRE9DX01PRFVMRSktc2VjdGlvbnMudHh0CitESVNUQ0xFQU5GSUxFUyArPSB2ZXJzaW9uLnhtbApkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL2RvY3MvbGlic21hcnRjb2xzLWRvY3MueG1sIGIvbGlic21hcnRjb2xzL2RvY3MvbGlic21hcnRjb2xzLWRvY3MueG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZWUxZmYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvZG9jcy9saWJzbWFydGNvbHMtZG9jcy54bWwKQEAgLTAsMCArMSw3MiBAQAorPD94bWwgdmVyc2lvbj0iMS4wIj8+Cis8IURPQ1RZUEUgYm9vayBQVUJMSUMgIi0vL09BU0lTLy9EVEQgRG9jQm9vayBYTUwgVjQuMy8vRU4iCisgICAgICAgICAgICAgICAiaHR0cDovL3d3dy5vYXNpcy1vcGVuLm9yZy9kb2Nib29rL3htbC80LjMvZG9jYm9va3guZHRkIgorWworICA8IUVOVElUWSB2ZXJzaW9uIFNZU1RFTSAidmVyc2lvbi54bWwiPgorXT4KKzxib29rIGlkPSJpbmRleCIgeG1sbnM6eGk9Imh0dHA6Ly93d3cudzMub3JnLzIwMDMvWEluY2x1ZGUiPgorICA8Ym9va2luZm8+CisgICAgPHRpdGxlPmxpYnNtYXJ0Y29scyBSZWZlcmVuY2UgTWFudWFsPC90aXRsZT4KKyAgICA8cmVsZWFzZWluZm8+Zm9yIGxpYnNtYXJ0Y29scyB2ZXJzaW9uICZ2ZXJzaW9uOzwvcmVsZWFzZWluZm8+CisgICAgPGNvcHlyaWdodD4KKyAgICAgIDx5ZWFyPjIwMTQtMjAxODwveWVhcj4KKyAgICAgIDxob2xkZXI+S2FyZWwgWmFrICZsdDtremFrQHJlZGhhdC5jb20mZ3Q7PC9ob2xkZXI+CisgICAgPC9jb3B5cmlnaHQ+CisgIDwvYm9va2luZm8+CisKKyAgPHBhcnQgaWQ9Im92ZXJ2aWV3Ij4KKyAgICA8dGl0bGU+bGlic21hcnRjb2xzIE92ZXJ2aWV3PC90aXRsZT4KKyAgICA8cGFydGludHJvPgorICAgIDxwYXJhPgorVGhlIGxpYnNtYXJ0Y29scyBsaWJyYXJ5IGlzIHVzZWQgZm9yIHNtYXJ0IGFkYXB0aXZlIGZvcm1hdHRpbmcgb2YgdGFidWxhciBkYXRhLgorICAgIDwvcGFyYT4KKyAgICA8cGFyYT4KK1RoZSBsaWJyYXJ5IGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBzaW5jZSB2ZXJzaW9uIDIuMjUgYW5kIGlzCithdmFpbGFibGUgZnJvbSBodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKyAgICA8L3BhcmE+CisgIDwvcGFydGludHJvPgorIDwvcGFydD4KKworICA8cGFydD4KKyAgICA8dGl0bGU+RGF0YSBtYW5pcHVsYXRpb248L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC90YWJsZS54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvY29sdW1uLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9saW5lLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9jZWxsLnhtbCIvPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9zeW1ib2xzLnhtbCIvPgorICA8L3BhcnQ+CisgIDxwYXJ0PgorICAgIDx0aXRsZT5QcmludGluZzwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL3RhYmxlX3ByaW50LnhtbCIvPgorICA8L3BhcnQ+CisgIDxwYXJ0PgorICAgIDx0aXRsZT5NaXNjPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvaXRlci54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvdmVyc2lvbi11dGlscy54bWwiLz4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvaW5pdC54bWwiLz4KKyAgPC9wYXJ0PgorICA8aW5kZXggaWQ9ImFwaS1pbmRleCI+CisgICAgPHRpdGxlPkFQSSBJbmRleDwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC1mdWxsLnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorICA8aW5kZXggcm9sZT0iMi4yNyI+CisgICAgPHRpdGxlPkluZGV4IG9mIG5ldyBzeW1ib2xzIGluIDIuMjc8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtMi4yNy54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKyAgPGluZGV4IHJvbGU9IjIuMjgiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjI4PC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMjgueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+CisgIDxpbmRleCByb2xlPSIyLjI5Ij4KKyAgICA8dGl0bGU+SW5kZXggb2YgbmV3IHN5bWJvbHMgaW4gMi4yOTwvdGl0bGU+CisgICAgPHhpOmluY2x1ZGUgaHJlZj0ieG1sL2FwaS1pbmRleC0yLjI5LnhtbCI+PHhpOmZhbGxiYWNrIC8+PC94aTppbmNsdWRlPgorICA8L2luZGV4PgorICA8aW5kZXggcm9sZT0iMi4zMCI+CisgICAgPHRpdGxlPkluZGV4IG9mIG5ldyBzeW1ib2xzIGluIDIuMzA8L3RpdGxlPgorICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9hcGktaW5kZXgtMi4zMC54bWwiPjx4aTpmYWxsYmFjayAvPjwveGk6aW5jbHVkZT4KKyAgPC9pbmRleD4KKyAgPGluZGV4IHJvbGU9IjIuMzEiPgorICAgIDx0aXRsZT5JbmRleCBvZiBuZXcgc3ltYm9scyBpbiAyLjMxPC90aXRsZT4KKyAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvYXBpLWluZGV4LTIuMzEueG1sIj48eGk6ZmFsbGJhY2sgLz48L3hpOmluY2x1ZGU+CisgIDwvaW5kZXg+Cis8L2Jvb2s+CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvZG9jcy9saWJzbWFydGNvbHMtc2VjdGlvbnMudHh0IGIvbGlic21hcnRjb2xzL2RvY3MvbGlic21hcnRjb2xzLXNlY3Rpb25zLnR4dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OTc4NmI1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL2RvY3MvbGlic21hcnRjb2xzLXNlY3Rpb25zLnR4dApAQCAtMCwwICsxLDE5MSBAQAorPFNFQ1RJT04+Cis8RklMRT5jZWxsPC9GSUxFPgorbGlic2NvbHNfY2VsbAorc2NvbHNfY2VsbF9jb3B5X2NvbnRlbnQKK3Njb2xzX2NlbGxfZ2V0X2FsaWdubWVudAorc2NvbHNfY2VsbF9nZXRfY29sb3IKK3Njb2xzX2NlbGxfZ2V0X2RhdGEKK3Njb2xzX2NlbGxfZ2V0X2ZsYWdzCitzY29sc19jZWxsX2dldF91c2VyZGF0YQorc2NvbHNfY2VsbF9yZWZlcl9kYXRhCitzY29sc19jZWxsX3NldF9jb2xvcgorc2NvbHNfY2VsbF9zZXRfZGF0YQorc2NvbHNfY2VsbF9zZXRfZmxhZ3MKK3Njb2xzX2NlbGxfc2V0X3VzZXJkYXRhCitzY29sc19jbXBzdHJfY2VsbHMKK3Njb2xzX3Jlc2V0X2NlbGwKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5jb2x1bW48L0ZJTEU+CitsaWJzY29sc19jb2x1bW4KK3Njb2xzX2NvbHVtbl9nZXRfY29sb3IKK3Njb2xzX2NvbHVtbl9nZXRfZmxhZ3MKK3Njb2xzX2NvbHVtbl9nZXRfaGVhZGVyCitzY29sc19jb2x1bW5fZ2V0X2pzb25fdHlwZQorc2NvbHNfY29sdW1uX2dldF9zYWZlY2hhcnMKK3Njb2xzX2NvbHVtbl9nZXRfdGFibGUKK3Njb2xzX2NvbHVtbl9nZXRfd2hpbnQKK3Njb2xzX2NvbHVtbl9nZXRfd2lkdGgKK3Njb2xzX2NvbHVtbl9pc19jdXN0b213cmFwCitzY29sc19jb2x1bW5faXNfaGlkZGVuCitzY29sc19jb2x1bW5faXNfbm9leHRyZW1lcworc2NvbHNfY29sdW1uX2lzX3JpZ2h0CitzY29sc19jb2x1bW5faXNfc3RyaWN0X3dpZHRoCitzY29sc19jb2x1bW5faXNfdHJlZQorc2NvbHNfY29sdW1uX2lzX3RydW5jCitzY29sc19jb2x1bW5faXNfd3JhcAorc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jCitzY29sc19jb2x1bW5fc2V0X2NvbG9yCitzY29sc19jb2x1bW5fc2V0X2ZsYWdzCitzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZQorc2NvbHNfY29sdW1uX3NldF9zYWZlY2hhcnMKK3Njb2xzX2NvbHVtbl9zZXRfd2hpbnQKK3Njb2xzX2NvbHVtbl9zZXRfd3JhcGZ1bmMKK3Njb2xzX2NvcHlfY29sdW1uCitzY29sc19uZXdfY29sdW1uCitzY29sc19yZWZfY29sdW1uCitzY29sc191bnJlZl9jb2x1bW4KK3Njb2xzX3dyYXBubF9jaHVua3NpemUKK3Njb2xzX3dyYXBubF9uZXh0Y2h1bmsKKzwvU0VDVElPTj4KKworPFNFQ1RJT04+Cis8RklMRT5pdGVyPC9GSUxFPgorbGlic2NvbHNfaXRlcgorc2NvbHNfZnJlZV9pdGVyCitzY29sc19pdGVyX2dldF9kaXJlY3Rpb24KK3Njb2xzX25ld19pdGVyCitzY29sc19yZXNldF9pdGVyCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+bGluZTwvRklMRT4KK2xpYnNjb2xzX2xpbmUKK3Njb2xzX2NvcHlfbGluZQorc2NvbHNfbGluZV9hZGRfY2hpbGQKK3Njb2xzX2xpbmVfYWxsb2NfY2VsbHMKK3Njb2xzX2xpbmVfZnJlZV9jZWxscworc2NvbHNfbGluZV9nZXRfY2VsbAorc2NvbHNfbGluZV9nZXRfY29sb3IKK3Njb2xzX2xpbmVfZ2V0X2NvbHVtbl9jZWxsCitzY29sc19saW5lX2dldF9uY2VsbHMKK3Njb2xzX2xpbmVfZ2V0X3BhcmVudAorc2NvbHNfbGluZV9nZXRfdXNlcmRhdGEKK3Njb2xzX2xpbmVfaGFzX2NoaWxkcmVuCitzY29sc19saW5lX2lzX2FuY2VzdG9yCitzY29sc19saW5lX25leHRfY2hpbGQKK3Njb2xzX2xpbmVfcmVmZXJfY29sdW1uX2RhdGEKK3Njb2xzX2xpbmVfcmVmZXJfZGF0YQorc2NvbHNfbGluZV9yZW1vdmVfY2hpbGQKK3Njb2xzX2xpbmVfc2V0X2NvbG9yCitzY29sc19saW5lX3NldF9jb2x1bW5fZGF0YQorc2NvbHNfbGluZV9zZXRfZGF0YQorc2NvbHNfbGluZV9zZXRfdXNlcmRhdGEKK3Njb2xzX25ld19saW5lCitzY29sc19yZWZfbGluZQorc2NvbHNfdW5yZWZfbGluZQorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnN5bWJvbHM8L0ZJTEU+CitsaWJzY29sc19zeW1ib2xzCitzY29sc19jb3B5X3N5bWJvbHMKK3Njb2xzX25ld19zeW1ib2xzCitzY29sc19yZWZfc3ltYm9scworc2NvbHNfc3ltYm9sc19zZXRfYnJhbmNoCitzY29sc19zeW1ib2xzX3NldF9yaWdodAorc2NvbHNfc3ltYm9sc19zZXRfdmVydGljYWwKK3Njb2xzX3N5bWJvbHNfc2V0X3RpdGxlX3BhZGRpbmcKK3Njb2xzX3N5bWJvbHNfc2V0X2NlbGxfcGFkZGluZworc2NvbHNfdW5yZWZfc3ltYm9scworPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPnRhYmxlPC9GSUxFPgorbGlic2NvbHNfdGFibGUKK3Njb2xzX2NvcHlfdGFibGUKK3Njb2xzX25ld190YWJsZQorc2NvbHNfcmVmX3RhYmxlCitzY29sc19zb3J0X3RhYmxlCitzY29sc19zb3J0X3RhYmxlX2J5X3RyZWUKK3Njb2xzX3RhYmxlX2FkZF9jb2x1bW4KK3Njb2xzX3RhYmxlX2FkZF9saW5lCitzY29sc190YWJsZV9jb2xvcnNfd2FudGVkCitzY29sc190YWJsZV9lbmFibGVfYXNjaWkKK3Njb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnMKK3Njb2xzX3RhYmxlX2VuYWJsZV9ub2VuY29kaW5nCitzY29sc190YWJsZV9lbmFibGVfZXhwb3J0CitzY29sc190YWJsZV9lbmFibGVfaGVhZGVyX3JlcGVhdAorc2NvbHNfdGFibGVfZW5hYmxlX2pzb24KK3Njb2xzX3RhYmxlX2VuYWJsZV9tYXhvdXQKK3Njb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzCitzY29sc190YWJsZV9lbmFibGVfbm9saW5lc2VwCitzY29sc190YWJsZV9lbmFibGVfbm93cmFwCitzY29sc190YWJsZV9lbmFibGVfcmF3CitzY29sc190YWJsZV9nZXRfY29sdW1uCitzY29sc190YWJsZV9nZXRfY29sdW1uX3NlcGFyYXRvcgorc2NvbHNfdGFibGVfZ2V0X2xpbmUKK3Njb2xzX3RhYmxlX2dldF9saW5lX3NlcGFyYXRvcgorc2NvbHNfdGFibGVfZ2V0X25hbWUKK3Njb2xzX3RhYmxlX2dldF9uY29scworc2NvbHNfdGFibGVfZ2V0X25saW5lcworc2NvbHNfdGFibGVfZ2V0X3N0cmVhbQorc2NvbHNfdGFibGVfZ2V0X3N5bWJvbHMKK3Njb2xzX3RhYmxlX2dldF90ZXJtZm9yY2UKK3Njb2xzX3RhYmxlX2dldF90ZXJtaGVpZ2h0CitzY29sc190YWJsZV9nZXRfdGVybXdpZHRoCitzY29sc190YWJsZV9nZXRfdGl0bGUKK3Njb2xzX3RhYmxlX2lzX2FzY2lpCitzY29sc190YWJsZV9pc19lbXB0eQorc2NvbHNfdGFibGVfaXNfZXhwb3J0CitzY29sc190YWJsZV9pc19oZWFkZXJfcmVwZWF0CitzY29sc190YWJsZV9pc19qc29uCitzY29sc190YWJsZV9pc19tYXhvdXQKK3Njb2xzX3RhYmxlX2lzX25vaGVhZGluZ3MKK3Njb2xzX3RhYmxlX2lzX25vZW5jb2RpbmcKK3Njb2xzX3RhYmxlX2lzX25vbGluZXNlcAorc2NvbHNfdGFibGVfaXNfbm93cmFwCitzY29sc190YWJsZV9pc19yYXcKK3Njb2xzX3RhYmxlX2lzX3RyZWUKK3Njb2xzX3RhYmxlX21vdmVfY29sdW1uCitzY29sc190YWJsZV9uZXdfY29sdW1uCitzY29sc190YWJsZV9uZXdfbGluZQorc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4KK3Njb2xzX3RhYmxlX25leHRfbGluZQorc2NvbHNfdGFibGVfcmVkdWNlX3Rlcm13aWR0aAorc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbgorc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbnMKK3Njb2xzX3RhYmxlX3JlbW92ZV9saW5lCitzY29sc190YWJsZV9yZW1vdmVfbGluZXMKK3Njb2xzX3RhYmxlX3NldF9jb2x1bW5fc2VwYXJhdG9yCitzY29sc190YWJsZV9zZXRfZGVmYXVsdF9zeW1ib2xzCitzY29sc190YWJsZV9zZXRfbGluZV9zZXBhcmF0b3IKK3Njb2xzX3RhYmxlX3NldF9uYW1lCitzY29sc190YWJsZV9zZXRfc3RyZWFtCitzY29sc190YWJsZV9zZXRfc3ltYm9scworc2NvbHNfdGFibGVfc2V0X3Rlcm1mb3JjZQorc2NvbHNfdGFibGVfc2V0X3Rlcm1oZWlnaHQKK3Njb2xzX3RhYmxlX3NldF90ZXJtd2lkdGgKK3Njb2xzX3VucmVmX3RhYmxlCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dGFibGVfcHJpbnQ8L0ZJTEU+CitzY29sc19wcmludF90YWJsZQorc2NvbHNfcHJpbnRfdGFibGVfdG9fc3RyaW5nCitzY29sc190YWJsZV9wcmludF9yYW5nZQorc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2VfdG9fc3RyaW5nCis8L1NFQ1RJT04+CisKKzxTRUNUSU9OPgorPEZJTEU+dmVyc2lvbi11dGlsczwvRklMRT4KK3Njb2xzX2dldF9saWJyYXJ5X3ZlcnNpb24KK3Njb2xzX3BhcnNlX3ZlcnNpb25fc3RyaW5nCitMSUJTTUFSVENPTFNfVkVSU0lPTgorPC9TRUNUSU9OPgorCis8U0VDVElPTj4KKzxGSUxFPmluaXQ8L0ZJTEU+CitzY29sc19pbml0X2RlYnVnCis8L1NFQ1RJT04+CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvZG9jcy92ZXJzaW9uLnhtbC5pbiBiL2xpYnNtYXJ0Y29scy9kb2NzL3ZlcnNpb24ueG1sLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3OGJkYTkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvZG9jcy92ZXJzaW9uLnhtbC5pbgpAQCAtMCwwICsxIEBACitAVkVSU0lPTkAKZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zYW1wbGVzL01ha2Vtb2R1bGUuYW0gYi9saWJzbWFydGNvbHMvc2FtcGxlcy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0NGFjMTIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMzkgQEAKKworY2hlY2tfUFJPR1JBTVMgKz0gXAorCXNhbXBsZS1zY29scy10aXRsZSBcCisJc2FtcGxlLXNjb2xzLXdyYXAgXAorCXNhbXBsZS1zY29scy1jb250aW51b3VzIFwKKwlzYW1wbGUtc2NvbHMtZnJvbWZpbGUgXAorCXNhbXBsZS1zY29scy1tYXhvdXQKKworc2FtcGxlX3Njb2xzX2NmbGFncyA9ICQoQU1fQ0ZMQUdTKSAkKE5PX1VOVVNFRF9XQVJOX0NGTEFHUykgXAorICAgICAgICAgICAgICAgICAgICAgIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorc2FtcGxlX3Njb2xzX2xkYWRkID0gbGlic21hcnRjb2xzLmxhICQoTERBREQpCisKK2lmIEhBVkVfT1BFTkFUCitjaGVja19QUk9HUkFNUyArPSBzYW1wbGUtc2NvbHMtdHJlZQorc2FtcGxlX3Njb2xzX3RyZWVfU09VUkNFUyA9IGxpYnNtYXJ0Y29scy9zYW1wbGVzL3RyZWUuYworc2FtcGxlX3Njb2xzX3RyZWVfTERBREQgPSAkKHNhbXBsZV9zY29sc19sZGFkZCkgbGliY29tbW9uLmxhCitzYW1wbGVfc2NvbHNfdHJlZV9DRkxBR1MgPSAkKHNhbXBsZV9zY29sc19jZmxhZ3MpCitlbmRpZgorCitzYW1wbGVfc2NvbHNfdGl0bGVfU09VUkNFUyA9IGxpYnNtYXJ0Y29scy9zYW1wbGVzL3RpdGxlLmMKK3NhbXBsZV9zY29sc190aXRsZV9MREFERCA9ICQoc2FtcGxlX3Njb2xzX2xkYWRkKSBsaWJjb21tb24ubGEKK3NhbXBsZV9zY29sc190aXRsZV9DRkxBR1MgPSAkKHNhbXBsZV9zY29sc19jZmxhZ3MpCisKK3NhbXBsZV9zY29sc193cmFwX1NPVVJDRVMgPSBsaWJzbWFydGNvbHMvc2FtcGxlcy93cmFwLmMKK3NhbXBsZV9zY29sc193cmFwX0xEQUREID0gJChzYW1wbGVfc2NvbHNfbGRhZGQpCitzYW1wbGVfc2NvbHNfd3JhcF9DRkxBR1MgPSAkKHNhbXBsZV9zY29sc19jZmxhZ3MpCisKK3NhbXBsZV9zY29sc19jb250aW51b3VzX1NPVVJDRVMgPSBsaWJzbWFydGNvbHMvc2FtcGxlcy9jb250aW51b3VzLmMKK3NhbXBsZV9zY29sc19jb250aW51b3VzX0xEQUREID0gJChzYW1wbGVfc2NvbHNfbGRhZGQpIGxpYmNvbW1vbi5sYQorc2FtcGxlX3Njb2xzX2NvbnRpbnVvdXNfQ0ZMQUdTID0gJChzYW1wbGVfc2NvbHNfY2ZsYWdzKQorCitzYW1wbGVfc2NvbHNfbWF4b3V0X1NPVVJDRVMgPSBsaWJzbWFydGNvbHMvc2FtcGxlcy9tYXhvdXQuYworc2FtcGxlX3Njb2xzX21heG91dF9MREFERCA9ICQoc2FtcGxlX3Njb2xzX2xkYWRkKQorc2FtcGxlX3Njb2xzX21heG91dF9DRkxBR1MgPSAkKHNhbXBsZV9zY29sc19jZmxhZ3MpCisKK3NhbXBsZV9zY29sc19mcm9tZmlsZV9TT1VSQ0VTID0gbGlic21hcnRjb2xzL3NhbXBsZXMvZnJvbWZpbGUuYworc2FtcGxlX3Njb2xzX2Zyb21maWxlX0xEQUREID0gJChzYW1wbGVfc2NvbHNfbGRhZGQpIGxpYmNvbW1vbi5sYQorc2FtcGxlX3Njb2xzX2Zyb21maWxlX0NGTEFHUyA9ICQoc2FtcGxlX3Njb2xzX2NmbGFncykKKwpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NhbXBsZXMvY29udGludW91cy5jIGIvbGlic21hcnRjb2xzL3NhbXBsZXMvY29udGludW91cy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmZTU0YjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9jb250aW51b3VzLmMKQEAgLTAsMCArMSwxMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisjaW5jbHVkZSAibGlic21hcnRjb2xzLmgiCisKKyNkZWZpbmUgVElNRV9QRVJJT0QJMy4wCS8qIHNlY29uZHMgKi8KKworZW51bSB7IENPTF9OVU0sIENPTF9EQVRBLCBDT0xfVElNRSB9OworCitzdGF0aWMgZG91YmxlIHRpbWVfZGlmZihzdHJ1Y3QgdGltZXZhbCAqYSwgc3RydWN0IHRpbWV2YWwgKmIpCit7CisJcmV0dXJuIChhLT50dl9zZWMgLSBiLT50dl9zZWMpICsgKGEtPnR2X3VzZWMgLSBiLT50dl91c2VjKSAvIDFFNjsKK30KKworLyogYWRkIGNvbHVtbnMgdG8gdGhlIEB0YiAqLworc3RhdGljIHZvaWQgc2V0dXBfY29sdW1ucyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXNjb2xzX3RhYmxlX2VuYWJsZV9tYXhvdXQodGIsIDEpOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIiNOVU0iLCAwLjEsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZ290byBmYWlsOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIkRBVEEiLCAwLjcsIDApKQorCQlnb3RvIGZhaWw7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiVElNRSIsIDAuMiwgMCkpCisJCWdvdG8gZmFpbDsKKwlyZXR1cm47CitmYWlsOgorCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgY29sdW1ucyIpOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmFkZF9saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHNpemVfdCBpKQoreworCWNoYXIgKnA7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCisJaWYgKCFsbikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGxpbmUiKTsKKworCXhhc3ByaW50ZigmcCwgIiV6dSIsIGkpOworCWlmIChzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIENPTF9OVU0sIHApKQorCQlnb3RvIGZhaWw7CisKKwl4YXNwcmludGYoJnAsICJkYXRhLSUwMnp1LSUwMnp1LSUwMnp1LWVuZCIsIGkgKyAxLCBpICsgMiwgaSArIDMpOworCWlmIChzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIENPTF9EQVRBLCBwKSkKKwkJZ290byBmYWlsOworCisJcmV0dXJuIGxuOworZmFpbDoKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGxpbmUiKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCXNpemVfdCBpOworCXN0cnVjdCB0aW1ldmFsIGxhc3Q7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdGIgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRiKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgdGFibGUiKTsKKworCXNldHVwX2NvbHVtbnModGIpOworCWdldHRpbWVvZmRheSgmbGFzdCwgTlVMTCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgMTA7IGkrKykgeworCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbGluZTsKKwkJc3RydWN0IHRpbWV2YWwgbm93OworCQlpbnQgZG9uZSA9IDA7CisJCWNoYXIgKnRpbWVjZWxsID0geG1hbGxvYyggc2l6ZW9mKHN0cmluZ2lmeV92YWx1ZShVSU5UX01BWCkpICk7CisKKwkJbGluZSA9IGFkZF9saW5lKHRiLCBpKTsKKworCQkvKiBNYWtlIGEgcmVmZXJlbmNlIGZyb20gY2VsbCBkYXRhIHRvIHRoZSBidWZmZXIsIHRoZW4gd2UgY2FuCisJCSAqIHVwZGF0ZSBjZWxsIGRhdGEgd2l0aG91dCBhbnkgaW50ZXJhY3Rpb24gd2l0aCBsaWJzbWFydGNvbHMKKwkJICovCisJCXNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBDT0xfVElNRSwgdGltZWNlbGwpOworCisJCWRvIHsKKwkJCWRvdWJsZSBkaWZmOworCisJCQlnZXR0aW1lb2ZkYXkoJm5vdywgTlVMTCk7CisJCQlkaWZmID0gdGltZV9kaWZmKCZub3csICZsYXN0KTsKKworCQkJaWYgKG5vdy50dl9zZWMgPT0gbGFzdC50dl9zZWMgKyAobG9uZykgVElNRV9QRVJJT0QpCisJCQkJZG9uZSA9IDE7CisJCQllbHNlCisJCQkJeHVzbGVlcCgxMDAwMDApOworCisJCQkvKiB1cGRhdGUgIlRJTUUiIGNlbGwgZGF0YSAqLworCQkJc3ByaW50Zih0aW1lY2VsbCwgIiVmIFslM2QlJV0iLCBkaWZmLAorCQkJCWRvbmUgPyAxMDAgOiAoaW50KShkaWZmIC8gKFRJTUVfUEVSSU9EIC8gMTAwLjApKSk7CisKKwkJCS8qIE5vdGUgdGhhdCBsaWJzbWFydGNvbHMgZG9uJ3QgcHJpbnQgXG4gZm9yIGxhc3QgbGluZQorCQkJICogaW4gdGhlIHRhYmxlLCBidXQgaWYgeW91IHByaW50IGEgbGluZSBzb21ld2hlcmUgaW4KKwkJCSAqIHRoZSBtaWRsZSBvZiB0aGUgdGFibGUgeW91IG5lZWQKKwkJCSAqCisJCQkgKiAgICBzY29sc190YWJsZV9lbmFibGVfbm9saW5lc2VwKHRiLCAhZG9uZSk7CisJCQkgKgorCQkJICogdG8gZGlzYWJsZSBsaW5lIGJyZWFrcy4gSW4gdGhpcyBleGFtcGxlIGl0J3MKKwkJCSAqIHVubmVjZXNzYXJ5IGFzIHdlIHByaW50IHRoZSBsYXRlc3QgbGluZSBvbmx5LgorCQkJICovCisKKwkJCS8qIHByaW50IHRoZSBsaW5lICovCisJCQlzY29sc190YWJsZV9wcmludF9yYW5nZSh0YiwgbGluZSwgTlVMTCk7CisKKwkJCWlmICghZG9uZSkgeworCQkJCS8qIHRlcm1pbmFsIGlzIHdhaXRpbmcgZm9yIFxuLCBmZmx1c2goKSB0byBmb3JjZSBvdXRwdXQgKi8KKwkJCQlmZmx1c2goc2NvbHNfdGFibGVfZ2V0X3N0cmVhbSh0YikpOworCQkJCS8qIG1vdmUgdG8gdGhlIGJlZ2luIG9mIHRoZSBsaW5lICovCisJCQkJZnB1dGMoJ1xyJywgc2NvbHNfdGFibGVfZ2V0X3N0cmVhbSh0YikpOworCQkJfSBlbHNlCisJCQkJZnB1dGMoJ1xuJywgc2NvbHNfdGFibGVfZ2V0X3N0cmVhbSh0YikpOworCQl9IHdoaWxlICghZG9uZSk7CisKKwkJbGFzdCA9IG5vdzsKKwl9CisKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zYW1wbGVzL2Zyb21maWxlLmMgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9mcm9tZmlsZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxYWI3MjgKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9mcm9tZmlsZS5jCkBAIC0wLDAgKzEsMzQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorCisjaW5jbHVkZSAibGlic21hcnRjb2xzLmgiCisKK3N0cnVjdCBjb2x1bW5fZmxhZyB7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgbWFzazsKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29sdW1uX2ZsYWcgZmxhZ3NbXSA9IHsKKwl7ICJ0cnVuYyIsCVNDT0xTX0ZMX1RSVU5DIH0sCisJeyAidHJlZSIsCVNDT0xTX0ZMX1RSRUUgfSwKKwl7ICJyaWdodCIsCVNDT0xTX0ZMX1JJR0hUIH0sCisJeyAic3RyaWN0d2lkdGgiLFNDT0xTX0ZMX1NUUklDVFdJRFRIIH0sCisJeyAibm9leHRyZW1lcyIsIFNDT0xTX0ZMX05PRVhUUkVNRVMgfSwKKwl7ICJoaWRkZW4iLAlTQ09MU19GTF9ISURERU4gfSwKKwl7ICJ3cmFwIiwJU0NPTFNfRkxfV1JBUCB9LAorCXsgIndyYXBubCIsCVNDT0xTX0ZMX1dSQVAgfSwKKwl7ICJub25lIiwJMCB9Cit9OworCitzdGF0aWMgbG9uZyBuYW1lX3RvX2ZsYWcoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGZsYWdzKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gZmxhZ3NbaV0ubmFtZTsKKworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkKKwkJCXJldHVybiBmbGFnc1tpXS5tYXNrOworCX0KKwl3YXJueCgidW5rbm93biBmbGFnOiAlcyIsIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBwYXJzZV9jb2x1bW5fZmxhZ3MoY2hhciAqc3RyKQoreworCXVuc2lnbmVkIGxvbmcgbnVtX2ZsYWdzID0gMDsKKworCWlmIChzdHJpbmdfdG9fYml0bWFzayhzdHIsICZudW1fZmxhZ3MsIG5hbWVfdG9fZmxhZykpCisJCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIGZsYWdzIik7CisKKwlyZXR1cm4gbnVtX2ZsYWdzOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqcGFyc2VfY29sdW1uKEZJTEUgKmYpCit7CisJc2l6ZV90IGxlbiA9IDA7CisJY2hhciAqbGluZSA9IE5VTEw7CisJaW50IG5saW5lcyA9IDA7CisKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCA9IE5VTEw7CisKKwl3aGlsZSAoZ2V0bGluZSgmbGluZSwgJmxlbiwgZikgIT0gLTEpIHsKKworCQljaGFyICpwID0gc3RycmNocihsaW5lLCAnXG4nKTsKKwkJaWYgKHApCisJCQkqcCA9ICdcMCc7CisKKwkJc3dpdGNoIChubGluZXMpIHsKKwkJY2FzZSAwOiAvKiBOQU1FICovCisJCXsKKwkJCXN0cnVjdCBsaWJzY29sc19jZWxsICpocjsKKworCQkJY2wgPSBzY29sc19uZXdfY29sdW1uKCk7CisJCQlpZiAoIWNsKQorCQkJCWdvdG8gZmFpbDsKKwkJCWhyID0gc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoY2wpOworCQkJaWYgKCFociB8fCBzY29sc19jZWxsX3NldF9kYXRhKGhyLCBsaW5lKSkKKwkJCQlnb3RvIGZhaWw7CisJCQlicmVhazsKKwkJfQorCQljYXNlIDE6IC8qIFdJRFRILUhJTlQgKi8KKwkJeworCQkJZG91YmxlIHdoaW50ID0gc3RydG9kX29yX2VycihsaW5lLCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiB3aGludCIpOworCQkJaWYgKHNjb2xzX2NvbHVtbl9zZXRfd2hpbnQoY2wsIHdoaW50KSkKKwkJCQlnb3RvIGZhaWw7CisJCQlicmVhazsKKwkJfQorCQljYXNlIDI6IC8qIEZMQUdTICovCisJCXsKKwkJCWludCBudW1fZmxhZ3MgPSBwYXJzZV9jb2x1bW5fZmxhZ3MobGluZSk7CisJCQlpZiAoc2NvbHNfY29sdW1uX3NldF9mbGFncyhjbCwgbnVtX2ZsYWdzKSkKKwkJCQlnb3RvIGZhaWw7CisJCQlpZiAoc3RyY21wKGxpbmUsICJ3cmFwbmwiKSA9PSAwKSB7CisJCQkJc2NvbHNfY29sdW1uX3NldF93cmFwZnVuYyhjbCwKKwkJCQkJCXNjb2xzX3dyYXBubF9jaHVua3NpemUsCisJCQkJCQlzY29sc193cmFwbmxfbmV4dGNodW5rLAorCQkJCQkJTlVMTCk7CisJCQkJc2NvbHNfY29sdW1uX3NldF9zYWZlY2hhcnMoY2wsICJcbiIpOworCQkJfQorCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAzOiAvKiBDT0xPUiAqLworCQkJaWYgKHNjb2xzX2NvbHVtbl9zZXRfY29sb3IoY2wsIGxpbmUpKQorCQkJCWdvdG8gZmFpbDsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKworCQlubGluZXMrKzsKKwl9CisKKwlmcmVlKGxpbmUpOworCXJldHVybiBjbDsKK2ZhaWw6CisJZnJlZShsaW5lKTsKKwlzY29sc191bnJlZl9jb2x1bW4oY2wpOworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgaW50IHBhcnNlX2NvbHVtbl9kYXRhKEZJTEUgKmYsIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBjb2wpCit7CisJc2l6ZV90IGxlbiA9IDAsIG5saW5lcyA9IDA7CisJaW50IGk7CisJY2hhciAqc3RyID0gTlVMTDsKKworCXdoaWxlICgoaSA9IGdldGxpbmUoJnN0ciwgJmxlbiwgZikpICE9IC0xKSB7CisKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCQljaGFyICpwID0gc3RycmNocihzdHIsICdcbicpOworCQlpZiAocCkKKwkJCSpwID0gJ1wwJzsKKworCQl3aGlsZSAoKHAgPSBzdHJyY2hyKHN0ciwgJ1xcJykpICYmICoocCArIDEpID09ICduJykgeworCQkJKnAgPSAnXG4nOworCQkJbWVtbW92ZShwICsgMSwgcCArIDIsIGkgLSAocCArIDIgLSBzdHIpKTsKKwkJfQorCisJCWxuID0gc2NvbHNfdGFibGVfZ2V0X2xpbmUodGIsIG5saW5lcysrKTsKKwkJaWYgKCFsbikKKwkJCWJyZWFrOworCisJCXNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIGNvbCwgc3RyKTsKKwl9CisKKwlmcmVlKHN0cik7CisJcmV0dXJuIDA7CisKK30KKworc3RhdGljIHN0cnVjdCBsaWJzY29sc19saW5lICpnZXRfbGluZV93aXRoX2lkKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkJCQlpbnQgY29sX2lkLCBjb25zdCBjaGFyICppZCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciA9IHNjb2xzX25ld19pdGVyKFNDT0xTX0lURVJfRk9SV0FSRCk7CisKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRiLCBpdHIsICZsbikgPT0gMCkgeworCQlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UgPSBzY29sc19saW5lX2dldF9jZWxsKGxuLCBjb2xfaWQpOworCQljb25zdCBjaGFyICpkYXRhID0gY2UgPyBzY29sc19jZWxsX2dldF9kYXRhKGNlKSA6IE5VTEw7CisKKwkJaWYgKGRhdGEgJiYgc3RyY21wKGRhdGEsIGlkKSA9PSAwKQorCQkJYnJlYWs7CisJfQorCisJc2NvbHNfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIGxuOworfQorCitzdGF0aWMgdm9pZCBjb21wb3NlX3RyZWUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IHBhcmVudF9jb2wsIGludCBpZF9jb2wpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXN0cnVjdCBsaWJzY29sc19pdGVyICppdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgaXRyLCAmbG4pID09IDApIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKnBhcmVudCA9IE5VTEw7CisJCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIHBhcmVudF9jb2wpOworCQljb25zdCBjaGFyICpkYXRhID0gY2UgPyBzY29sc19jZWxsX2dldF9kYXRhKGNlKSA6IE5VTEw7CisKKwkJaWYgKGRhdGEpCisJCQlwYXJlbnQgPSBnZXRfbGluZV93aXRoX2lkKHRiLCBpZF9jb2wsIGRhdGEpOworCQlpZiAocGFyZW50KQorCQkJc2NvbHNfbGluZV9hZGRfY2hpbGQocGFyZW50LCBsbik7CisJfQorCisJc2NvbHNfZnJlZV9pdGVyKGl0cik7Cit9CisKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnByaW50ZihvdXQsCisJCSJcbiAlcyBbb3B0aW9uc10gPGNvbHVtbi1kYXRhLWZpbGU+IC4uLlxuXG4iLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cygiIC1tLCAtLW1heG91dCAgICAgICAgICAgICAgICAgICBmaWxsIGFsbCB0ZXJtaW5hbCB3aWR0aFxuIiwgb3V0KTsKKwlmcHV0cygiIC1jLCAtLWNvbHVtbiA8ZmlsZT4gICAgICAgICAgICBjb2x1bW4gZGVmaW5pdGlvblxuIiwgb3V0KTsKKwlmcHV0cygiIC1uLCAtLW5saW5lcyA8bnVtPiAgICAgICAgICAgICBudW1iZXIgb2YgbGluZXNcbiIsIG91dCk7CisJZnB1dHMoIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgSlNPTiBvdXRwdXQgZm9ybWF0XG4iLCBvdXQpOworCWZwdXRzKCIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgIFJBVyBvdXRwdXQgZm9ybWF0XG4iLCBvdXQpOworCWZwdXRzKCIgLUUsIC0tZXhwb3J0ICAgICAgICAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIsIG91dCk7CisJZnB1dHMoIiAtQywgLS1jb2xzZXAgPHN0cj4gICAgICAgICAgICAgc2V0IGNvbHVtbnMgc2VwYXJhdG9yXG4iLCBvdXQpOworCWZwdXRzKCIgLXcsIC0td2lkdGggPG51bT4gICAgICAgICAgICAgIGhhcmRjb2RlIHRlcm1pbmFsIHdpZHRoXG4iLCBvdXQpOworCWZwdXRzKCIgLXAsIC0tdHJlZS1wYXJlbnQtY29sdW1uIDxuPiAgIHBhcmVudCBjb2x1bW5cbiIsIG91dCk7CisJZnB1dHMoIiAtaSwgLS10cmVlLWlkLWNvbHVtbiA8bj4gICAgICAgaWQgY29sdW1uXG4iLCBvdXQpOworCWZwdXRzKCIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgIHRoaXMgaGVscFxuIiwgb3V0KTsKKwlmcHV0cygiXG4iLCBvdXQpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJaW50IGMsIG4sIG5saW5lcyA9IDA7CisJaW50IHBhcmVudF9jb2wgPSAtMSwgaWRfY29sID0gLTE7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJtYXhvdXQiLCAwLCBOVUxMLCAnbScgfSwKKwkJeyAiY29sdW1uIiwgMSwgTlVMTCwgJ2MnIH0sCisJCXsgIm5saW5lcyIsIDEsIE5VTEwsICduJyB9LAorCQl7ICJ3aWR0aCIsICAxLCBOVUxMLCAndycgfSwKKwkJeyAidHJlZS1wYXJlbnQtY29sdW1uIiwgMSwgTlVMTCwgJ3AnIH0sCisJCXsgInRyZWUtaWQtY29sdW1uIiwJMSwgTlVMTCwgJ2knIH0sCisJCXsgImpzb24iLCAgIDAsIE5VTEwsICdKJyB9LAorCQl7ICJyYXciLCAgICAwLCBOVUxMLCAncicgfSwKKwkJeyAiZXhwb3J0IiwgMCwgTlVMTCwgJ0UnIH0sCisJCXsgImNvbHNlcCIsICAxLCBOVUxMLCAnQycgfSwKKwkJeyAiaGVscCIsICAgMCwgTlVMTCwgJ2gnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9LAorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdFJywgJ0onLCAncicgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsJLyoganVzdCB0byBoYXZlIGVuYWJsZSBVVEY4IGNoYXJzICovCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IHRhYmxlIik7CisKKwl3aGlsZSgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoQ2M6RWk6Sm1uOnA6cnc6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnYyc6IC8qIGFkZCBjb2x1bW4gZnJvbSBmaWxlICovCisJCXsKKwkJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCQkJRklMRSAqZiA9IGZvcGVuKG9wdGFyZywgInIiKTsKKworCQkJaWYgKCFmKQorCQkJCWVycihFWElUX0ZBSUxVUkUsICIlczogb3BlbiBmYWlsZWQiLCBvcHRhcmcpOworCQkJY2wgPSBwYXJzZV9jb2x1bW4oZik7CisJCQlpZiAoY2wgJiYgc2NvbHNfdGFibGVfYWRkX2NvbHVtbih0YiwgY2wpKQorCQkJCWVycihFWElUX0ZBSUxVUkUsICIlczogZmFpbGVkIHRvIGFkZCBjb2x1bW4iLCBvcHRhcmcpOworCQkJc2NvbHNfdW5yZWZfY29sdW1uKGNsKTsKKwkJCWZjbG9zZShmKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgJ3AnOgorCQkJcGFyZW50X2NvbCA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsICJmYWlsZWQgdG8gcGFyc2UgdHJlZSBQQVJFTlQgY29sdW1uIik7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlpZF9jb2wgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCAiZmFpbGVkIHRvIHBhcnNlIHRyZWUgSUQgY29sdW1uIik7CisJCQlicmVhazsKKwkJY2FzZSAnSic6CisJCQlzY29sc190YWJsZV9lbmFibGVfanNvbih0YiwgMSk7CisJCQlzY29sc190YWJsZV9zZXRfbmFtZSh0YiwgInRlc3R0YWJsZSIpOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJc2NvbHNfdGFibGVfZW5hYmxlX21heG91dCh0YiwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlzY29sc190YWJsZV9lbmFibGVfcmF3KHRiLCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdFJzoKKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9leHBvcnQodGIsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ0MnOgorCQkJc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3IodGIsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlubGluZXMgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyIpOworCQkJYnJlYWs7CisJCWNhc2UgJ3cnOgorCQkJc2NvbHNfdGFibGVfc2V0X3Rlcm1mb3JjZSh0YiwgU0NPTFNfVEVSTUZPUkNFX0FMV0FZUyk7CisJCQlzY29sc190YWJsZV9zZXRfdGVybXdpZHRoKHRiLCBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCAiZmFpbGVkIHRvIHBhcnNlIHRlcm1pbmFsIHdpZHRoIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChubGluZXMgPD0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICItLW5saW5lcyBub3Qgc2V0Iik7CisKKwlmb3IgKG4gPSAwOyBuIDwgbmxpbmVzOyBuKyspIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gc2NvbHNfbmV3X2xpbmUoKTsKKworCQlpZiAoIWxuIHx8IHNjb2xzX3RhYmxlX2FkZF9saW5lKHRiLCBsbikpCisJCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGFkZCBhIG5ldyBsaW5lIik7CisKKwkJc2NvbHNfdW5yZWZfbGluZShsbik7CisJfQorCisJbiA9IDA7CisKKwl3aGlsZSAob3B0aW5kIDwgYXJnYykgeworCQlGSUxFICpmID0gZm9wZW4oYXJndltvcHRpbmRdLCAiciIpOworCisJCWlmICghZikKKwkJCWVycihFWElUX0ZBSUxVUkUsICIlczogb3BlbiBmYWlsZWQiLCBhcmd2W29wdGluZF0pOworCisJCXBhcnNlX2NvbHVtbl9kYXRhKGYsIHRiLCBuKTsKKwkJb3B0aW5kKys7CisJCW4rKzsKKwl9CisKKwlpZiAoc2NvbHNfdGFibGVfaXNfdHJlZSh0YikgJiYgcGFyZW50X2NvbCA+PSAwICYmIGlkX2NvbCA+PSAwKQorCQljb21wb3NlX3RyZWUodGIsIHBhcmVudF9jb2wsIGlkX2NvbCk7CisKKwlzY29sc190YWJsZV9lbmFibGVfY29sb3JzKHRiLCBpc2F0dHkoU1RET1VUX0ZJTEVOTykpOworCisJc2NvbHNfcHJpbnRfdGFibGUodGIpOworCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NhbXBsZXMvbWF4b3V0LmMgYi9saWJzbWFydGNvbHMvc2FtcGxlcy9tYXhvdXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wN2EwNWUxCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NhbXBsZXMvbWF4b3V0LmMKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImxpYnNtYXJ0Y29scy5oIgorCitlbnVtIHsgQ09MX0xFRlQsIENPTF9GT08sIENPTF9SSUdIVCB9OworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJaW50IHJjID0gLTEsIG5saW5lcyA9IDM7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CS8qIGp1c3QgdG8gaGF2ZSBlbmFibGUgVVRGOCBjaGFycyAqLworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IHRhYmxlIik7CisKKwlzY29sc190YWJsZV9lbmFibGVfbWF4b3V0KHRiLCBUUlVFKTsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJMRUZUIiwgMCwgMCkpCisJCWdvdG8gZG9uZTsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJGT08iLCAwLCAwKSkKKwkJZ290byBkb25lOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIlJJR0hUIiwgMCwgU0NPTFNfRkxfUklHSFQpKQorCQlnb3RvIGRvbmU7CisKKwl3aGlsZSAobmxpbmVzLS0pIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCisJCXNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIENPTF9MRUZULCAiQSIpOworCQlzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfRk9PLCAiQiIpOworCQlzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfUklHSFQsICJDIik7CisJfQorCisJc2NvbHNfcHJpbnRfdGFibGUodGIpOworCXJjID0gMDsKK2RvbmU6CisJc2NvbHNfdW5yZWZfdGFibGUodGIpOworCXJldHVybiByYyA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NhbXBsZXMvdGl0bGUuYyBiL2xpYnNtYXJ0Y29scy9zYW1wbGVzL3RpdGxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTMxNDAwZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zYW1wbGVzL3RpdGxlLmMKQEAgLTAsMCArMSwxMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKyNpbmNsdWRlICJsaWJzbWFydGNvbHMuaCIKKworCitlbnVtIHsgQ09MX05BTUUsIENPTF9EQVRBIH07CisKKy8qIGFkZCBjb2x1bW5zIHRvIHRoZSBAdGIgKi8KK3N0YXRpYyB2b2lkIHNldHVwX2NvbHVtbnMoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJOQU1FIiwgMCwgMCkpCisJCWdvdG8gZmFpbDsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJEQVRBIiwgMCwgMCkpCisJCWdvdG8gZmFpbDsKKwlyZXR1cm47CitmYWlsOgorCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgY29sdW1ucyIpOworfQorCitzdGF0aWMgdm9pZCBhZGRfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpkYXRhKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRiLCBOVUxMKTsKKwlpZiAoIWxuKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgbGluZSIpOworCisJaWYgKHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIENPTF9OQU1FLCBuYW1lKSkKKwkJZ290byBmYWlsOworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfREFUQSwgZGF0YSkpCisJCWdvdG8gZmFpbDsKKwlyZXR1cm47CitmYWlsOgorCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgbGluZSIpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5OworCXN0cnVjdCBsaWJzY29sc19jZWxsICp0aXRsZTsKKwlpbnQgYzsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgIm1heG91dCIsIDAsIE5VTEwsICdtJyB9LAorCQl7ICJ3aWR0aCIsICAxLCBOVUxMLCAndycgfSwKKwkJeyAiaGVscCIsICAgMSwgTlVMTCwgJ2gnIH0sCisKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0sCisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsJLyoganVzdCB0byBoYXZlIGVuYWJsZSBVVEY4IGNoYXJzICovCisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdGIgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRiKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgdGFibGUiKTsKKworCXdoaWxlKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImhtdzoiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2gnOgorCQkJcHJpbnRmKCIlcyBbLS1oZWxwIHwgLS1tYXhvdXQgfCAtLXdpZHRoIDxudW0+XVxuIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJc2NvbHNfdGFibGVfZW5hYmxlX21heG91dCh0YiwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQlzY29sc190YWJsZV9zZXRfdGVybWZvcmNlKHRiLCBTQ09MU19URVJNRk9SQ0VfQUxXQVlTKTsKKwkJCXNjb2xzX3RhYmxlX3NldF90ZXJtd2lkdGgodGIsIHN0cnRvdTMyX29yX2VycihvcHRhcmcsICJmYWlsZWQgdG8gcGFyc2UgdGVybWluYWwgd2lkdGgiKSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCXNjb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnModGIsIGlzYXR0eShTVERPVVRfRklMRU5PKSk7CisJc2V0dXBfY29sdW1ucyh0Yik7CisJYWRkX2xpbmUodGIsICJmb28iLCAiYmxhIGJsYSBibGEiKTsKKwlhZGRfbGluZSh0YiwgImJhciIsICJhbGIgYWxiIGFsYiIpOworCisJdGl0bGUgPSBzY29sc190YWJsZV9nZXRfdGl0bGUodGIpOworCisJLyogcmlnaHQgKi8KKwlzY29sc19jZWxsX3NldF9kYXRhKHRpdGxlLCAiVGhpcyBpcyByaWdodCB0aXRsZSIpOworCXNjb2xzX2NlbGxfc2V0X2NvbG9yKHRpdGxlLCAicmVkIik7CisJc2NvbHNfY2VsbF9zZXRfZmxhZ3ModGl0bGUsIFNDT0xTX0NFTExfRkxfUklHSFQpOworCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKworCS8qIGxlZnQgd2l0aG91dCBwYWRkaW5nICovCisJc2NvbHNfY2VsbF9zZXRfZGF0YSh0aXRsZSwgIlRoaXMgaXMgbGVmdCB0aXRsZSAod2l0aG91dCBwYWRkaW5nKSIpOworCXNjb2xzX2NlbGxfc2V0X2NvbG9yKHRpdGxlLCAieWVsbG93Iik7CisJc2NvbHNfY2VsbF9zZXRfZmxhZ3ModGl0bGUsIFNDT0xTX0NFTExfRkxfTEVGVCk7CisJc2NvbHNfcHJpbnRfdGFibGUodGIpOworCisJLyogY2VudGVyICovCisJc3kgPSBzY29sc19uZXdfc3ltYm9scygpOworCWlmICghc3kpCisJCWVycl9vb20oKTsKKwlzY29sc190YWJsZV9zZXRfc3ltYm9scyh0Yiwgc3kpOworCXNjb2xzX3VucmVmX3N5bWJvbHMoc3kpOworCisJc2NvbHNfc3ltYm9sc19zZXRfdGl0bGVfcGFkZGluZyhzeSwgIj0iKTsKKwlzY29sc19jZWxsX3NldF9kYXRhKHRpdGxlLCAiVGhpcyBpcyBjZW50ZXIgdGl0bGUgKHdpdGggcGFkZGluZykiKTsKKwlzY29sc19jZWxsX3NldF9jb2xvcih0aXRsZSwgImdyZWVuIik7CisJc2NvbHNfY2VsbF9zZXRfZmxhZ3ModGl0bGUsIFNDT0xTX0NFTExfRkxfQ0VOVEVSKTsKKwlzY29sc19wcmludF90YWJsZSh0Yik7CisKKwkvKiBsZWZ0IHdpdGggcGFkZGluZyAqLworCXNjb2xzX3N5bWJvbHNfc2V0X3RpdGxlX3BhZGRpbmcoc3ksICItIik7CisJc2NvbHNfY2VsbF9zZXRfZGF0YSh0aXRsZSwgIlRoaXMgaXMgbGVmdCB0aXRsZSAod2l0aCBwYWRkaW5nKSIpOworCXNjb2xzX2NlbGxfc2V0X2NvbG9yKHRpdGxlLCAiYmx1ZSIpOworCXNjb2xzX2NlbGxfc2V0X2ZsYWdzKHRpdGxlLCBTQ09MU19DRUxMX0ZMX0xFRlQpOworCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKworCisJc2NvbHNfdW5yZWZfdGFibGUodGIpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc2FtcGxlcy90cmVlLmMgYi9saWJzbWFydGNvbHMvc2FtcGxlcy90cmVlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNiMTc1MQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zYW1wbGVzL3RyZWUuYwpAQCAtMCwwICsxLDI0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2luY2x1ZGUgImxpYnNtYXJ0Y29scy5oIgorCitzdGF0aWMgaW50IGFkZF9jaGlsZHJlbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBpbnQgZmQpOworCisKK2VudW0geyBDT0xfTU9ERSwgQ09MX1NJWkUsIENPTF9OQU1FIH07CisKKy8qIGFkZCBjb2x1bW5zIHRvIHRoZSBAdGIgKi8KK3N0YXRpYyB2b2lkIHNldHVwX2NvbHVtbnMoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IG5vdHJlZSkKK3sKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJNT0RFIiwgMC4zLCAwKSkKKwkJZ290byBmYWlsOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIlNJWkUiLCA1LCBTQ09MU19GTF9SSUdIVCkpCisJCWdvdG8gZmFpbDsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJOQU1FIiwgMC41LAorCQkJKG5vdHJlZSA/IDAgOiBTQ09MU19GTF9UUkVFKSB8IFNDT0xTX0ZMX05PRVhUUkVNRVMpKQorCQlnb3RvIGZhaWw7CisKKwlyZXR1cm47CitmYWlsOgorCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKKwllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgY29sdW1ucyIpOworfQorCisvKiBhZGQgYSBuZXcgbGluZSB0byBAdGIsIHRoZSBjb250ZW50IGlzIGJhc2VkIG9uIEBzdCAqLworc3RhdGljIGludCBhZGRfbGluZV9mcm9tX3N0YXQoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCSAgICAgIHN0cnVjdCBsaWJzY29sc19saW5lICpwYXJlbnQsCisJCQkgICAgICBpbnQgcGFyZW50X2ZkLAorCQkJICAgICAgc3RydWN0IHN0YXQgKnN0LAorCQkJICAgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJY2hhciBtb2RidWZbMTFdLCAqcDsKKwltb2RlX3QgbW9kZSA9IHN0LT5zdF9tb2RlOworCWludCByYyA9IDA7CisKKwlsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRiLCBwYXJlbnQpOworCWlmICghbG4pCisJCWVycihFWElUX0ZBSUxVUkUsICJmYWlsZWQgdG8gY3JlYXRlIG91dHB1dCBsaW5lIik7CisKKwkvKiBNT0RFOyBsb2NhbCBidWZmZXIsIHVzZSBzY29sc19saW5lX3NldF9kYXRhKCkgdGhhdCBjYWxscyBzdHJkdXAoKSAqLworCXhzdHJtb2RlKG1vZGUsIG1vZGJ1Zik7CisJaWYgKHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIENPTF9NT0RFLCBtb2RidWYpKQorCQlnb3RvIGZhaWw7CisKKwkvKiBTSVpFOyBhbHJlYWR5IGFsbG9jYXRlZCBzdHJpbmcsIHVzZSBzY29sc19saW5lX3JlZmVyX2RhdGEoKSAqLworCXAgPSBzaXplX3RvX2h1bWFuX3N0cmluZygwLCBzdC0+c3Rfc2l6ZSk7CisJaWYgKCFwIHx8IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgQ09MX1NJWkUsIHApKQorCQlnb3RvIGZhaWw7CisKKwkvKiBOQU1FICovCisJaWYgKHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIENPTF9OQU1FLCBuYW1lKSkKKwkJZ290byBmYWlsOworCisJLyogY29sb3JzICovCisJaWYgKHNjb2xzX3RhYmxlX2NvbG9yc193YW50ZWQodGIpKSB7CisJCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIENPTF9OQU1FKTsKKworCQlpZiAoU19JU0RJUihtb2RlKSkKKwkJCXNjb2xzX2NlbGxfc2V0X2NvbG9yKGNlLCAiYmx1ZSIpOworCQllbHNlIGlmIChTX0lTTE5LKG1vZGUpKQorCQkJc2NvbHNfY2VsbF9zZXRfY29sb3IoY2UsICJjeWFuIik7CisJCWVsc2UgaWYgKFNfSVNCTEsobW9kZSkpCisJCQlzY29sc19jZWxsX3NldF9jb2xvcihjZSwgIm1hZ2VudGEiKTsKKwkJZWxzZSBpZiAoKG1vZGUgJiBTX0lYT1RIKSB8fCAobW9kZSAmIFNfSVhHUlApIHx8IChtb2RlICYgU19JWFVTUikpCisJCQlzY29sc19jZWxsX3NldF9jb2xvcihjZSwgImdyZWVuIik7CisJfQorCisJaWYgKFNfSVNESVIoc3QtPnN0X21vZGUpKSB7CisJCWludCBmZDsKKworCQlpZiAocGFyZW50X2ZkID49IDApCisJCQlmZCA9IG9wZW5hdChwYXJlbnRfZmQsIG5hbWUsIE9fUkRPTkxZfE9fTk9OQkxPQ0t8T19ESVJFQ1RPUll8T19DTE9FWEVDKTsKKwkJZWxzZQorCQkJZmQgPSBvcGVuKG5hbWUsIE9fUkRPTkxZfE9fTk9OQkxPQ0t8T19ESVJFQ1RPUll8T19DTE9FWEVDKTsKKwkJaWYgKGZkID49IDApIHsKKwkJCXJjID0gYWRkX2NoaWxkcmVuKHRiLCBsbiwgZmQpOworCQkJY2xvc2UoZmQpOworCQl9CisJfQorCXJldHVybiByYzsKK2ZhaWw6CisJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgY2VsbCBkYXRhIik7CisJcmV0dXJuIC0xOworfQorCisvKiByZWFkIGFsbCBlbnRyaWVzIGZyb20gZGlyZWN0b3J5IGFkZHJlc3NlZCBieSBAZmQgKi8KK3N0YXRpYyBpbnQgYWRkX2NoaWxkcmVuKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCQlpbnQgZmQpCit7CisJRElSICpkaXI7CisJc3RydWN0IGRpcmVudCAqZDsKKworCWRpciA9IGZkb3BlbmRpcihmZCk7CisJaWYgKCFkaXIpCisJCXJldHVybiAtZXJybm87CisKKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpKSB7CisJCXN0cnVjdCBzdGF0IHN0OworCisJCWlmIChzdHJjbXAoZC0+ZF9uYW1lLCAiLiIpID09IDAgfHwgc3RyY21wKGQtPmRfbmFtZSwgIi4uIikgPT0gMCkKKwkJCWNvbnRpbnVlOworCQlpZiAoZnN0YXRhdChmZCwgZC0+ZF9uYW1lLCAmc3QsIEFUX1NZTUxJTktfTk9GT0xMT1cpICE9IDApCisJCQljb250aW51ZTsKKwkJYWRkX2xpbmVfZnJvbV9zdGF0KHRiLCBsbiwgZmQsICZzdCwgZC0+ZF9uYW1lKTsKKwl9CisJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgYWRkX2xpbmVzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGNvbnN0IGNoYXIgKmRpcm5hbWUpCit7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlpZiAobHN0YXQoZGlybmFtZSwgJnN0KSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgZGlybmFtZSk7CisKKwlhZGRfbGluZV9mcm9tX3N0YXQodGIsIE5VTEwsIC0xLCAmc3QsIGRpcm5hbWUpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShGSUxFICpvdXQpCit7CisJZnByaW50ZihvdXQsICIgJXMgW29wdGlvbnNdIFs8ZGlyPiAuLi5dXG5cbiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmcHV0cygiIC1jLCAtLWNzdiAgICAgICAgICAgICAgIGRpc3BsYXkgYSBjc3YtbGlrZSBvdXRwdXRcbiIsIG91dCk7CisJZnB1dHMoIiAtaSwgLS1hc2NpaSAgICAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iLCBvdXQpOworCWZwdXRzKCIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIiwgb3V0KTsKKwlmcHV0cygiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iLCBvdXQpOworCWZwdXRzKCIgLXAsIC0tcGFpcnMgICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIiwgb3V0KTsKKwlmcHV0cygiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIsIG91dCk7CisJZnB1dHMoIiAtciwgLS1yYXcgICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIsIG91dCk7CisJZnB1dHMoIiAtUywgLS1yYW5nZS1zdGFydCA8bj4gICBmaXJzdCBsaW5lIHRvIHByaW50XG4iLCBvdXQpOworCWZwdXRzKCIgLUUsIC0tcmFuZ2UtZW5kIDxuPiAgICAgbGFzdCBsaW5lIHRvIHByaW50XG4iLCBvdXQpOworCisJZXhpdChvdXQgPT0gc3RkZXJyID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCWludCBjLCBub3RyZWUgPSAwLCBuc3RhcnQgPSAtMSwgbmVuZCA9IC0xOworCisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhc2NpaSIsCTAsIE5VTEwsICdpJyB9LAorCQl7ICJjc3YiLCAgICAgICAgMCwgTlVMTCwgJ2MnIH0sCisJCXsgImxpc3QiLCAgICAgICAwLCBOVUxMLCAnbCcgfSwKKwkJeyAibm9oZWFkaW5ncyIsCTAsIE5VTEwsICduJyB9LAorCQl7ICJwYWlycyIsICAgICAgMCwgTlVMTCwgJ3AnIH0sCisJCXsgImpzb24iLCAgICAgICAwLCBOVUxMLCAnSicgfSwKKwkJeyAicmF3IiwgICAgICAgIDAsIE5VTEwsICdyJyB9LAorCQl7ICJyYW5nZS1zdGFydCIsMSwgTlVMTCwgJ1MnIH0sCisJCXsgInJhbmdlLWVuZCIsICAxLCBOVUxMLCAnRScgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0sCisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsJLyoganVzdCB0byBoYXZlIGVuYWJsZSBVVEY4IGNoYXJzICovCisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdGIgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRiKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgdGFibGUiKTsKKworCXdoaWxlKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImNpSmxucHJTOkU6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2goYykgeworCQljYXNlICdjJzoKKwkJCXNjb2xzX3RhYmxlX3NldF9jb2x1bW5fc2VwYXJhdG9yKHRiLCAiLCIpOworCQkJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YiwgMSk7CisJCQlub3RyZWUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2knOgorCQkJc2NvbHNfdGFibGVfZW5hYmxlX2FzY2lpKHRiLCAxKTsKKwkJCWJyZWFrOworCQljYXNlICdKJzoKKwkJCXNjb2xzX3RhYmxlX3NldF9uYW1lKHRiLCAic2NvbHN0ZXN0Iik7CisJCQlzY29sc190YWJsZV9lbmFibGVfanNvbih0YiwgMSk7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlub3RyZWUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGIsIDEpOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydCh0YiwgMSk7CisJCQlub3RyZWUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YiwgMSk7CisJCQlub3RyZWUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorCQkJbnN0YXJ0ID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgImZhaWxlZCB0byBwYXJzZSByYW5nZSBzdGFydCIpIC0gMTsKKwkJCWJyZWFrOworCQljYXNlICdFJzoKKwkJCW5lbmQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCAiZmFpbGVkIHRvIHBhcnNlIHJhbmdlIGVuZCIpIC0gMTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJdXNhZ2Uoc3RkZXJyKTsKKwkJfQorCX0KKworCXNjb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnModGIsIGlzYXR0eShTVERPVVRfRklMRU5PKSk7CisJc2V0dXBfY29sdW1ucyh0Yiwgbm90cmVlKTsKKworCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJYWRkX2xpbmVzKHRiLCAiLiIpOworCWVsc2Ugd2hpbGUgKG9wdGluZCA8IGFyZ2MpCisJCWFkZF9saW5lcyh0YiwgYXJndltvcHRpbmQrK10pOworCisJaWYgKG5zdGFydCA+PSAwIHx8IG5lbmQgPj0gMCkgeworCQkvKiBwcmludCBzdWJzZXQgKi8KKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKnN0YXJ0ID0gTlVMTCwgKmVuZCA9IE5VTEw7CisKKwkJaWYgKG5zdGFydCA+PSAwKQorCQkJc3RhcnQgPSBzY29sc190YWJsZV9nZXRfbGluZSh0YiwgbnN0YXJ0KTsKKwkJaWYgKG5lbmQgPj0gMCkKKwkJCWVuZCA9IHNjb2xzX3RhYmxlX2dldF9saW5lKHRiLCBuZW5kKTsKKworCQlpZiAoc3RhcnQgfHwgZW5kKQorCQkJc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UodGIsIHN0YXJ0LCBlbmQpOworCX0gZWxzZQorCQkvKiBwcmludCBhbGwgdGFibGUgKi8KKwkJc2NvbHNfcHJpbnRfdGFibGUodGIpOworCisJc2NvbHNfdW5yZWZfdGFibGUodGIpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc2FtcGxlcy93cmFwLmMgYi9saWJzbWFydGNvbHMvc2FtcGxlcy93cmFwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk1YmVmNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zYW1wbGVzL3dyYXAuYwpAQCAtMCwwICsxLDExMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2luY2x1ZGUgImxpYnNtYXJ0Y29scy5oIgorCisKK2VudW0geyBDT0xfTkFNRSwgQ09MX0RFU0MsIENPTF9GT08sIENPTF9MSUtFLCBDT0xfVEVYVCB9OworCisvKiBhZGQgY29sdW1ucyB0byB0aGUgQHRiICovCitzdGF0aWMgdm9pZCBzZXR1cF9jb2x1bW5zKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiTkFNRSIsIDAsIFNDT0xTX0ZMX1RSRUUpKQorCQlnb3RvIGZhaWw7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiREVTQyIsIDAsIDApKQorCQlnb3RvIGZhaWw7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiRk9PIiwgMCwgU0NPTFNfRkxfV1JBUCkpCisJCWdvdG8gZmFpbDsKKwlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJMSUtFIiwgMCwgU0NPTFNfRkxfUklHSFQpKQorCQlnb3RvIGZhaWw7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiVEVYVCIsIDAsIFNDT0xTX0ZMX1dSQVApKQorCQlnb3RvIGZhaWw7CisJcmV0dXJuOworZmFpbDoKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGNvbHVtbnMiKTsKK30KKworc3RhdGljIGNoYXIgKmdlbl90ZXh0KGNvbnN0IGNoYXIgKnByZWZpeCwgY29uc3QgY2hhciAqc3ViX3ByZWZpeCwgY2hhciAqYnVmLCBzaXplX3Qgc3opCit7CisJaW50IHggPSBzbnByaW50ZihidWYsIHN6LCAgIiVzLSVzLSIsIHByZWZpeCwgc3ViX3ByZWZpeCk7CisKKwlmb3IgKCA7IChzaXplX3QpeCA8IHN6IC0gMTsgeCsrKQorCQlidWZbeF0gPSAqcHJlZml4OworCisJYnVmW3grK10gPSAneCc7CisJYnVmW3hdID0gJ1wwJzsKKwlyZXR1cm4gYnVmOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKiBhZGRfbGluZSgJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKnBhcmVudCwKKwkJCQkJY29uc3QgY2hhciAqcHJlZml4KQoreworCWNoYXIgYnVmW0JVRlNJWl07CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIHBhcmVudCk7CisJaWYgKCFsbikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGxpbmUiKTsKKworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfTkFNRSwgZ2VuX3RleHQocHJlZml4LCAiTiIsIGJ1ZiwgMTUpKSkKKwkJZ290byBmYWlsOworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfREVTQywgZ2VuX3RleHQocHJlZml4LCAiRCIsIGJ1ZiwgMTApKSkKKwkJZ290byBmYWlsOworCWlmIChzY29sc19saW5lX3NldF9kYXRhKGxuLCBDT0xfRk9PLCBnZW5fdGV4dChwcmVmaXgsICJVIiwgYnVmLCA1NSkpKQorCQlnb3RvIGZhaWw7CisJaWYgKHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIENPTF9MSUtFLCAiMSIpKQorCQlnb3RvIGZhaWw7CisJaWYgKHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIENPTF9URVhULCBnZW5fdGV4dChwcmVmaXgsICJUIiwgYnVmLCA1MCkpKQorCQlnb3RvIGZhaWw7CisJcmV0dXJuIGxuOworZmFpbDoKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJZXJyKEVYSVRfRkFJTFVSRSwgImZhaWxlZCB0byBjcmVhdGUgb3V0cHV0IGxpbmUiKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgKnhsbjsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsJLyoganVzdCB0byBoYXZlIGVuYWJsZSBVVEY4IGNoYXJzICovCisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdGIgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRiKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiZmFpbGVkIHRvIGNyZWF0ZSBvdXRwdXQgdGFibGUiKTsKKworCXNjb2xzX3RhYmxlX2VuYWJsZV9jb2xvcnModGIsIGlzYXR0eShTVERPVVRfRklMRU5PKSk7CisJc2V0dXBfY29sdW1ucyh0Yik7CisKKwlsbiA9IGFkZF9saW5lKHRiLCBOVUxMLCAiQSIpOworCWFkZF9saW5lKHRiLCBsbiwgImFhIik7CisJYWRkX2xpbmUodGIsIGxuLCAiYWIiKTsKKworCWxuID0gYWRkX2xpbmUodGIsIE5VTEwsICJCIik7CisJeGxuID0gYWRkX2xpbmUodGIsIGxuLCAiYmEiKTsKKwlhZGRfbGluZSh0YiwgeGxuLCAiYmFhIik7CisJYWRkX2xpbmUodGIsIHhsbiwgImJhYiIpOworCWFkZF9saW5lKHRiLCBsbiwgImJiIik7CisKKwlzY29sc19wcmludF90YWJsZSh0Yik7CisJc2NvbHNfdW5yZWZfdGFibGUodGIpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc21hcnRjb2xzLnBjLmluIGIvbGlic21hcnRjb2xzL3NtYXJ0Y29scy5wYy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYjE2NzM5Ci0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NtYXJ0Y29scy5wYy5pbgpAQCAtMCwwICsxLDEwIEBACitwcmVmaXg9QHByZWZpeEAKK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKK2xpYmRpcj1AdXNybGliX2V4ZWNkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorCitOYW1lOiBzbWFydGNvbHMKK0Rlc2NyaXB0aW9uOiB0YWJsZSBvciB0cmVlIGxpYnJhcnkKK1ZlcnNpb246IEBMSUJTTUFSVENPTFNfVkVSU0lPTkAKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9L2xpYnNtYXJ0Y29scworTGliczogLUwke2xpYmRpcn0gLWxzbWFydGNvbHMKZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zcmMvLmdpdGlnbm9yZSBiL2xpYnNtYXJ0Y29scy9zcmMvLmdpdGlnbm9yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMmEwYzVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy8uZ2l0aWdub3JlCkBAIC0wLDAgKzEgQEAKK2xpYnNtYXJ0Y29scy5oCmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc3JjL01ha2Vtb2R1bGUuYW0gYi9saWJzbWFydGNvbHMvc3JjL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjY1YjJhYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDU4IEBACisKKworIyBzbWFydGNvbHMuaCBpcyBnZW5lcmF0ZWQsIHNvIGl0J3Mgc3RvcmVkIGluIGJ1aWxkZGlyIQorc21hcnRjb2xzaW5jZGlyID0gJChpbmNsdWRlZGlyKS9saWJzbWFydGNvbHMKK25vZGlzdF9zbWFydGNvbHNpbmNfSEVBREVSUyA9IGxpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLmgKKwordXNybGliX2V4ZWNfTFRMSUJSQVJJRVMgKz0gbGlic21hcnRjb2xzLmxhCitsaWJzbWFydGNvbHNfbGFfU09VUkNFUz0gXAorCWluY2x1ZGUvbGlzdC5oIFwKKwlcCisJbGlic21hcnRjb2xzL3NyYy9zbWFydGNvbHNQLmggXAorCWxpYnNtYXJ0Y29scy9zcmMvaXRlci5jIFwKKwlsaWJzbWFydGNvbHMvc3JjL3N5bWJvbHMuYyBcCisJbGlic21hcnRjb2xzL3NyYy9jZWxsLmMgXAorCWxpYnNtYXJ0Y29scy9zcmMvY29sdW1uLmMgXAorCWxpYnNtYXJ0Y29scy9zcmMvbGluZS5jIFwKKwlsaWJzbWFydGNvbHMvc3JjL3RhYmxlLmMgXAorCWxpYnNtYXJ0Y29scy9zcmMvdGFibGVfcHJpbnQuYyBcCisJbGlic21hcnRjb2xzL3NyYy92ZXJzaW9uLmMgXAorCWxpYnNtYXJ0Y29scy9zcmMvaW5pdC5jCisKK2xpYnNtYXJ0Y29sc19sYV9MSUJBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKKworbGlic21hcnRjb2xzX2xhX0NGTEFHUyA9IFwKKwkkKEFNX0NGTEFHUykgXAorCSQoU09MSUJfQ0ZMQUdTKSBcCisJLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpIFwKKwktSSQodG9wX3NyY2RpcikvbGlic21hcnRjb2xzL3NyYworCitFWFRSQV9saWJzbWFydGNvbHNfbGFfREVQRU5ERU5DSUVTID0gXAorCWxpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLnN5bQorCitsaWJzbWFydGNvbHNfbGFfTERGTEFHUyA9ICQoU09MSUJfTERGTEFHUykKK2lmIEhBVkVfVlNDUklQVAorbGlic21hcnRjb2xzX2xhX0xERkxBR1MgKz0gJChWU0NSSVBUX0xERkxBR1MpLCQodG9wX3NyY2RpcikvbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuc3ltCitlbmRpZgorbGlic21hcnRjb2xzX2xhX0xERkxBR1MgKz0gLXZlcnNpb24taW5mbyAkKExJQlNNQVJUQ09MU19WRVJTSU9OX0lORk8pCisKK0VYVFJBX0RJU1QgKz0gXAorCWxpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLnN5bQorCisjIG1vdmUgbGliIGZyb20gJCh1c3JsaWJfZXhlY2RpcikgdG8gJChsaWJkaXIpIGlmIG5lZWRlZAoraW5zdGFsbC1leGVjLWhvb2stbGlic21hcnRjb2xzOgorCWlmIHRlc3QgIiQodXNybGliX2V4ZWNkaXIpIiAhPSAiJChsaWJkaXIpIiAtYSAtZiAiJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYnNtYXJ0Y29scy5zbyI7IHRoZW4gXAorCQkkKE1LRElSX1ApICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJbXYgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYnNtYXJ0Y29scy5zby4qICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJc29faW1nX25hbWU9JCQocmVhZGxpbmsgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYnNtYXJ0Y29scy5zbyk7IFwKKwkJc29faW1nX3JlbF90YXJnZXQ9JCQoZWNobyAkKHVzcmxpYl9leGVjZGlyKSB8IHNlZCAncyxcKF4vXHxcKVteL11bXi9dKiwuLixnJyk7IFwKKwkJKGNkICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKSAmJiBcCisJCQlybSAtZiBsaWJzbWFydGNvbHMuc28gJiYgXAorCQkJJChMTl9TKSAkJHNvX2ltZ19yZWxfdGFyZ2V0JChsaWJkaXIpLyQkc29faW1nX25hbWUgbGlic21hcnRjb2xzLnNvKTsgXAorCWZpCisKK3VuaW5zdGFsbC1ob29rLWxpYnNtYXJ0Y29sczoKKwlybSAtZiAkKERFU1RESVIpJChsaWJkaXIpL2xpYnNtYXJ0Y29scy5zbyoKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLWxpYnNtYXJ0Y29scworVU5JTlNUQUxMX0hPT0tTICs9IHVuaW5zdGFsbC1ob29rLWxpYnNtYXJ0Y29scwpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9jZWxsLmMgYi9saWJzbWFydGNvbHMvc3JjL2NlbGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzE3YTJkCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9jZWxsLmMKQEAgLTAsMCArMSwyNTcgQEAKKy8qCisgKiBjZWxsLmMgLSBmdW5jdGlvbnMgZm9yIHRhYmxlIGhhbmRsaW5nIGF0IHRoZSBjZWxsIGxldmVsCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogY2VsbAorICogQHRpdGxlOiBDZWxsCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNvbnRhaW5lciBmb3IgeW91ciBkYXRhCisgKgorICogQW4gQVBJIHRvIGFjY2VzcyBhbmQgbW9kaWZ5IHBlci1jZWxsIGRhdGEgYW5kIGluZm9ybWF0aW9uLiBOb3RlIHRoYXQgY2VsbCBpcworICogYWx3YXlzIHBhcnQgb2YgdGhlIGxpbmUuIElmIHlvdSBkZXN0cm95ICh1bi1yZWZlcmVuY2UpIGEgbGluZSB0aGFuIGl0CisgKiBkZXN0cm95cyBhbGwgbGluZSBjZWxscyB0b28uCisgKi8KKworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgInNtYXJ0Y29sc1AuaCIKKworLyoKKyAqIFRoZSBjZWxsIGhhcyBubyByZWYtY291bnRpbmcsIGZyZWUoKSBhbmQgbmV3KCkgZnVuY3Rpb25zLiBBbGwgaXMKKyAqIGhhbmRsZWQgYnkgbGlic2NvbHNfbGluZS4KKyAqLworCisvKioKKyAqIHNjb2xzX3Jlc2V0X2NlbGw6CisgKiBAY2U6IHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY2VsbCBpbnN0YW5jZQorICoKKyAqIEZyZWVzIHRoZSBjZWxsJ3MgaW50ZXJuYWwgZGF0YSBhbmQgcmVzZXRzIGl0cyBzdGF0dXMuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfcmVzZXRfY2VsbChzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpCit7CisJaWYgKCFjZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKkRCRyhDRUxMLCB1bF9kZWJ1Z29iaihjZSwgInJlc2V0IikpOyovCisJZnJlZShjZS0+ZGF0YSk7CisJZnJlZShjZS0+Y29sb3IpOworCW1lbXNldChjZSwgMCwgc2l6ZW9mKCpjZSkpOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfc2V0X2RhdGE6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKiBAZGF0YTogZGF0YSAodXNlZCBmb3Igc2NvbHNfcHJpbnRfdGFibGUoKSkKKyAqCisgKiBTdG9yZXMgYSBjb3B5IG9mIHRoZSBAc3RyIGluIEBjZSwgdGhlIG9sZCBkYXRhIGFyZSBkZWFsbG9jYXRlZCBieSBmcmVlKCkuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY2VsbF9zZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UsIGNvbnN0IGNoYXIgKmRhdGEpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGNlLCBkYXRhLCBkYXRhKTsKK30KKworLyoqCisgKiBzY29sc19jZWxsX3JlZmVyX2RhdGE6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKiBAZGF0YTogZGF0YSAodXNlZCBmb3Igc2NvbHNfcHJpbnRfdGFibGUoKSkKKyAqCisgKiBBZGRzIGEgcmVmZXJlbmNlIHRvIEBzdHIgdG8gQGNlLiBUaGUgcG9pbnRlciBpcyBkZWFsbG9jYXRlZCBieQorICogc2NvbHNfcmVzZXRfY2VsbCgpIG9yIHNjb2xzX3VucmVmX2xpbmUoKS4gVGhpcyBmdW5jdGlvbiBpcyBtb3N0bHkgZGVzaWduZWQKKyAqIGZvciBzaXR1YXRpb25zIHdoZW4gdGhlIGRhdGEgZm9yIHRoZSBjZWxsIGFyZSBhbHJlYWR5IGNvbXBvc2VkIGluIGFsbG9jYXRlZAorICogbWVtb3J5IChlLmcuIGFzcHJpbnRmKCkpIHRvIGF2b2lkIGV4dHJhIHVubmVjZXNzYXJ5IHN0cmR1cCgpLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NlbGxfcmVmZXJfZGF0YShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UsIGNoYXIgKmRhdGEpCit7CisJaWYgKCFjZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJZnJlZShjZS0+ZGF0YSk7CisJY2UtPmRhdGEgPSBkYXRhOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfZ2V0X2RhdGE6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKgorICogUmV0dXJuczogZGF0YSBpbiBAY2Ugb3IgTlVMTC4KKyAqLworY29uc3QgY2hhciAqc2NvbHNfY2VsbF9nZXRfZGF0YShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpCit7CisJcmV0dXJuIGNlID8gY2UtPmRhdGEgOiBOVUxMOworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfc2V0X3VzZXJkYXRhOgorICogQGNlOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY2VsbCBpbnN0YW5jZQorICogQGRhdGE6IHByaXZhdGUgdXNlciBkYXRhCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY2VsbF9zZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLCB2b2lkICpkYXRhKQoreworCWlmICghY2UpCisJCXJldHVybiAtRUlOVkFMOworCWNlLT51c2VyZGF0YSA9IGRhdGE7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGEKKyAqIEBjZTogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NlbGwgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiB1c2VyIGRhdGEKKyAqLwordm9pZCAqc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlKQoreworCXJldHVybiBjZS0+dXNlcmRhdGE7Cit9CisKKy8qKgorICogc2NvbHNfY21wc3RyX2NlbGxzOgorICogQGE6IHBvaW50ZXIgdG8gY2VsbAorICogQGI6IHBvaW50ZXIgdG8gY2VsbAorICogQGRhdGE6IHVudXNlZCBwb2ludGVyIHRvIHByaXZhdGUgZGF0YSAoZGVmaW5lZCBieSBBUEkpCisgKgorICogQ29tcGFyZXMgY2VsbHMgZGF0YSBieSBzdHJjbXAoKS4gVGhlIGZ1bmN0aW9uIGlzIGRlc2lnbmVkIGZvcgorICogc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jKCkgYW5kIHNjb2xzX3NvcnRfdGFibGUoKS4KKyAqCisgKiBSZXR1cm5zOiBmb2xsb3dzIHN0cmNtcCgpIHJldHVybiB2YWx1ZXMuCisgKi8KK2ludCBzY29sc19jbXBzdHJfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmEsCisJCSAgICAgICBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqYiwKKwkJICAgICAgIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSB2b2lkICpkYXRhKQoreworCWNvbnN0IGNoYXIgKmFkYXRhLCAqYmRhdGE7CisKKwlpZiAoYSA9PSBiKQorCQlyZXR1cm4gMDsKKworCWFkYXRhID0gc2NvbHNfY2VsbF9nZXRfZGF0YShhKTsKKwliZGF0YSA9IHNjb2xzX2NlbGxfZ2V0X2RhdGEoYik7CisKKwlpZiAoYWRhdGEgPT0gTlVMTCAmJiBiZGF0YSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlpZiAoYWRhdGEgPT0gTlVMTCkKKwkJcmV0dXJuIC0xOworCWlmIChiZGF0YSA9PSBOVUxMKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gc3RyY21wKGFkYXRhLCBiZGF0YSk7Cit9CisKKy8qKgorICogc2NvbHNfY2VsbF9zZXRfY29sb3I6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKiBAY29sb3I6IGNvbG9yIG5hbWUgb3IgRVNDIHNlcXVlbmNlCisgKgorICogU2V0IHRoZSBjb2xvciBvZiBAY2UgdG8gQGNvbG9yLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NlbGxfc2V0X2NvbG9yKHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSwgY29uc3QgY2hhciAqY29sb3IpCit7CisJaWYgKGNvbG9yICYmIGlzYWxwaGEoKmNvbG9yKSkgeworCQljb2xvciA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGNvbG9yKTsKKwkJaWYgKCFjb2xvcikKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoY2UsIGNvbG9yLCBjb2xvcik7Cit9CisKKy8qKgorICogc2NvbHNfY2VsbF9nZXRfY29sb3I6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKgorICogUmV0dXJuczogdGhlIGN1cnJlbnQgY29sb3Igb2YgQGNlLgorICovCitjb25zdCBjaGFyICpzY29sc19jZWxsX2dldF9jb2xvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpCit7CisJcmV0dXJuIGNlLT5jb2xvcjsKK30KKworLyoqCisgKiBzY29sc19jZWxsX3NldF9mbGFnczoKKyAqIEBjZTogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NlbGwgaW5zdGFuY2UKKyAqIEBmbGFnczogU0NPTFNfQ0VMTF9GTF8qIGZsYWdzCisgKgorICogTm90ZSB0aGF0IGNlbGxzIGluIHRoZSB0YWJsZSBhcmUgYWx3YXlzIGFsaWduZWQgYnkgY29sdW1uIGZsYWdzLiBUaGUgY2VsbAorICogZmxhZ3MgYXJlIHVzZWQgZm9yIHRhYmxlIHRpdGxlIG9ubHkgKG5vdykuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY2VsbF9zZXRfZmxhZ3Moc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLCBpbnQgZmxhZ3MpCit7CisJaWYgKCFjZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJY2UtPmZsYWdzID0gZmxhZ3M7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfY2VsbF9nZXRfZmxhZ3M6CisgKiBAY2U6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlCisgKgorICogUmV0dXJuczogdGhlIGN1cnJlbnQgZmxhZ3MKKyAqLworaW50IHNjb2xzX2NlbGxfZ2V0X2ZsYWdzKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSkKK3sKKwlyZXR1cm4gY2UtPmZsYWdzOworfQorCisvKioKKyAqIHNjb2xzX2NlbGxfZ2V0X2FsaWdubWVudDoKKyAqIEBjZTogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NlbGwgaW5zdGFuY2UKKyAqCisgKiBTaW5jZTogMi4zMAorICoKKyAqIFJldHVybnM6IFNDT0xTX0NFTExfRkxfe1JJR0hULENFTE5URVIsTEVGVH0KKyAqLworaW50IHNjb2xzX2NlbGxfZ2V0X2FsaWdubWVudChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpCit7CisJaWYgKGNlLT5mbGFncyAmIFNDT0xTX0NFTExfRkxfUklHSFQpCisJCXJldHVybiBTQ09MU19DRUxMX0ZMX1JJR0hUOworCWVsc2UgaWYgKGNlLT5mbGFncyAmIFNDT0xTX0NFTExfRkxfQ0VOVEVSKQorCQlyZXR1cm4gU0NPTFNfQ0VMTF9GTF9DRU5URVI7CisKKwlyZXR1cm4gU0NPTFNfQ0VMTF9GTF9MRUZUOwkvKiBkZWZhdWx0ICovCit9CisKKy8qKgorICogc2NvbHNfY2VsbF9jb3B5X2NvbnRlbnQ6CisgKiBAZGVzdDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NlbGwgaW5zdGFuY2UKKyAqIEBzcmM6IGEgcG9pbnRlciB0byBhbiBpbW11dGFibGUgc3RydWN0IGxpYnNjb2xzX2NlbGwgaW5zdGFuY2UKKyAqCisgKiBDb3B5IHRoZSBjb250ZW50cyBvZiBAc3JjIGludG8gQGRlc3QuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY2VsbF9jb3B5X2NvbnRlbnQoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmRlc3QsCisJCQkgICAgY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNyYykKK3sKKwlpbnQgcmM7CisKKwlyYyA9IHNjb2xzX2NlbGxfc2V0X2RhdGEoZGVzdCwgc2NvbHNfY2VsbF9nZXRfZGF0YShzcmMpKTsKKwlpZiAoIXJjKQorCQlyYyA9IHNjb2xzX2NlbGxfc2V0X2NvbG9yKGRlc3QsIHNjb2xzX2NlbGxfZ2V0X2NvbG9yKHNyYykpOworCWlmICghcmMpCisJCWRlc3QtPnVzZXJkYXRhID0gc3JjLT51c2VyZGF0YTsKKworCURCRyhDRUxMLCB1bF9kZWJ1Z29iaihzcmMsICJjb3B5IikpOworCXJldHVybiByYzsKK30KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zcmMvY29sdW1uLmMgYi9saWJzbWFydGNvbHMvc3JjL2NvbHVtbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5ZDZkYzQKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc3JjL2NvbHVtbi5jCkBAIC0wLDAgKzEsNTU4IEBACisvKgorICogY29sdW1uLmMgLSBmdW5jdGlvbnMgZm9yIHRhYmxlIGhhbmRsaW5nIGF0IHRoZSBjb2x1bW4gbGV2ZWwKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKworLyoqCisgKiBTRUNUSU9OOiBjb2x1bW4KKyAqIEB0aXRsZTogQ29sdW1uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGRlZmluZXMgb3V0cHV0IGNvbHVtbnMgZm9ybWF0cywgaGVhZGVycywgZXRjLgorICoKKyAqIEFuIEFQSSB0byBhY2Nlc3MgYW5kIG1vZGlmeSBwZXItY29sdW1uIGRhdGEgYW5kIGluZm9ybWF0aW9uLgorICovCisKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorCisjaW5jbHVkZSAic21hcnRjb2xzUC5oIgorCisvKioKKyAqIHNjb2xzX25ld19jb2x1bW46CisgKgorICogQWxsb2NhdGVzIHNwYWNlIGZvciBhIG5ldyBjb2x1bW4uCisgKgorICogUmV0dXJuczogYSBwb2ludGVyIHRvIGEgbmV3IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UsIE5VTEwgaW4gY2FzZSBvZiBhbiBFTk9NRU0gZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJzY29sc19jb2x1bW4gKnNjb2xzX25ld19jb2x1bW4odm9pZCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKworCWNsID0gY2FsbG9jKDEsIHNpemVvZigqY2wpKTsKKwlpZiAoIWNsKQorCQlyZXR1cm4gTlVMTDsKKwlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgImFsbG9jIikpOworCWNsLT5yZWZjb3VudCA9IDE7CisJSU5JVF9MSVNUX0hFQUQoJmNsLT5jbF9jb2x1bW5zKTsKKwlyZXR1cm4gY2w7Cit9CisKKy8qKgorICogc2NvbHNfcmVmX2NvbHVtbjoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIEluY3JlYXNlcyB0aGUgcmVmY291bnQgb2YgQGNsLgorICovCit2b2lkIHNjb2xzX3JlZl9jb2x1bW4oc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJaWYgKGNsKQorCQljbC0+cmVmY291bnQrKzsKK30KKworLyoqCisgKiBzY29sc191bnJlZl9jb2x1bW46CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBEZWNyZWFzZXMgdGhlIHJlZmNvdW50IG9mIEBjbC4gV2hlbiB0aGUgY291bnQgZmFsbHMgdG8gemVybywgdGhlIGluc3RhbmNlCisgKiBpcyBhdXRvbWF0aWNhbGx5IGRlYWxsb2NhdGVkLgorICovCit2b2lkIHNjb2xzX3VucmVmX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlpZiAoY2wgJiYgLS1jbC0+cmVmY291bnQgPD0gMCkgeworCQlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgImRlYWxsb2MiKSk7CisJCWxpc3RfZGVsKCZjbC0+Y2xfY29sdW1ucyk7CisJCXNjb2xzX3Jlc2V0X2NlbGwoJmNsLT5oZWFkZXIpOworCQlmcmVlKGNsLT5jb2xvcik7CisJCWZyZWUoY2wtPnNhZmVjaGFycyk7CisJCWZyZWUoY2wtPnBlbmRpbmdfZGF0YV9idWYpOworCQlmcmVlKGNsKTsKKwl9Cit9CisKKy8qKgorICogc2NvbHNfY29weV9jb2x1bW46CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBDcmVhdGVzIGEgbmV3IGNvbHVtbiBhbmQgY29waWVzIEBjbCdzIGRhdGEgb3ZlciB0byBpdC4KKyAqCisgKiBSZXR1cm5zOiBhIHBvaW50ZXIgdG8gYSBuZXcgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZS4KKyAqLworc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqc2NvbHNfY29weV9jb2x1bW4oY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqcmV0OworCisJaWYgKCFjbCkKKwkJcmV0dXJuIE5VTEw7CisJcmV0ID0gc2NvbHNfbmV3X2NvbHVtbigpOworCWlmICghcmV0KQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhDT0wsIHVsX2RlYnVnb2JqKGNsLCAiY29weSIpKTsKKworCWlmIChzY29sc19jb2x1bW5fc2V0X2NvbG9yKHJldCwgY2wtPmNvbG9yKSkKKwkJZ290byBlcnI7CisJaWYgKHNjb2xzX2NlbGxfY29weV9jb250ZW50KCZyZXQtPmhlYWRlciwgJmNsLT5oZWFkZXIpKQorCQlnb3RvIGVycjsKKworCXJldC0+d2lkdGgJPSBjbC0+d2lkdGg7CisJcmV0LT53aWR0aF9taW4JPSBjbC0+d2lkdGhfbWluOworCXJldC0+d2lkdGhfbWF4CT0gY2wtPndpZHRoX21heDsKKwlyZXQtPndpZHRoX2F2Zwk9IGNsLT53aWR0aF9hdmc7CisJcmV0LT53aWR0aF9oaW50CT0gY2wtPndpZHRoX2hpbnQ7CisJcmV0LT5mbGFncwk9IGNsLT5mbGFnczsKKwlyZXQtPmlzX2V4dHJlbWUgPSBjbC0+aXNfZXh0cmVtZTsKKworCXJldHVybiByZXQ7CitlcnI6CisJc2NvbHNfdW5yZWZfY29sdW1uKHJldCk7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX3NldF93aGludDoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICogQHdoaW50OiBhIHdpZHRoIGhpbnQKKyAqCisgKiBTZXRzIHRoZSB3aWR0aCBoaW50IG9mIGNvbHVtbiBAY2wgdG8gQHdoaW50LiBTZWUgc2NvbHNfdGFibGVfbmV3X2NvbHVtbigpLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NvbHVtbl9zZXRfd2hpbnQoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGRvdWJsZSB3aGludCkKK3sKKwlpZiAoIWNsKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWNsLT53aWR0aF9oaW50ID0gd2hpbnQ7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX2dldF93aGludDoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IFRoZSB3aWR0aCBoaW50IG9mIGNvbHVtbiBAY2wsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworZG91YmxlIHNjb2xzX2NvbHVtbl9nZXRfd2hpbnQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT53aWR0aF9oaW50OworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9zZXRfZmxhZ3M6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqIEBmbGFnczogYSBmbGFnIG1hc2sKKyAqCisgKiBTZXRzIHRoZSBmbGFncyBvZiBAY2wgdG8gQGZsYWdzLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NvbHVtbl9zZXRfZmxhZ3Moc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGludCBmbGFncykKK3sKKwlpZiAoIWNsKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCWlmIChjbC0+dGFibGUpIHsKKwkJaWYgKCEoY2wtPmZsYWdzICYgU0NPTFNfRkxfVFJFRSkgJiYgKGZsYWdzICYgU0NPTFNfRkxfVFJFRSkpCisJCQljbC0+dGFibGUtPm50cmVlY29scysrOworCQllbHNlIGlmICgoY2wtPmZsYWdzICYgU0NPTFNfRkxfVFJFRSkgJiYgIShmbGFncyAmIFNDT0xTX0ZMX1RSRUUpKQorCQkJY2wtPnRhYmxlLT5udHJlZWNvbHMtLTsKKwl9CisKKwljbC0+ZmxhZ3MgPSBmbGFnczsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZToKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICogQHR5cGU6IFNDT0xTX0pTT05fKiB0eXBlCisgKgorICogU2V0cyB0aGUgdHlwZSB1c2VkIGZvciBKU09OIGZvcm1hdHRpbmcsIHRoZSBkZWZhdWx0IGlzIFNDT0xTX0pTT05fU1RSSU5HLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4zMworICovCitpbnQgc2NvbHNfY29sdW1uX3NldF9qc29uX3R5cGUoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGludCB0eXBlKQoreworCWlmICghY2wpCisJCXJldHVybiAtRUlOVkFMOworCisJY2wtPmpzb25fdHlwZSA9IHR5cGU7CisJcmV0dXJuIDA7CisKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fZ2V0X2pzb25fdHlwZToKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIE5vdGUgdGhhdCBTQ09MU19KU09OX0JPT0xFQU4gaW50ZXJwcmV0cyBOVUxMLCBlbXB0eSBzdHJpbmdzLCAnMCcsICdOJyBhbmQKKyAqICduJyBhcyAiZmFsc2UiOyBhbmQgZXZlcnl0aGluZyBlbHNlIGFzICJ0cnVlIi4KKyAqCisgKiBSZXR1cm5zOiBKU09OIHR5cGUgdXNlZCBmb3IgZm9ybWF0dGluZyBvciBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMzMKKyAqLworaW50IHNjb2xzX2NvbHVtbl9nZXRfanNvbl90eXBlKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiBjbCA/IGNsLT5qc29uX3R5cGUgOiAtRUlOVkFMOworfQorCisKKy8qKgorICogc2NvbHNfY29sdW1uX2dldF90YWJsZToKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gdGhlIHRhYmxlIHdoZXJlIGNvbHVtbnMgaXMgdXNlZAorICovCitzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnNjb2xzX2NvbHVtbl9nZXRfdGFibGUoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT50YWJsZTsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fZ2V0X2ZsYWdzOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogUmV0dXJuczogVGhlIGZsYWcgbWFzayBvZiBAY2wsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2NvbHVtbl9nZXRfZmxhZ3MoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFnczsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fZ2V0X2hlYWRlcjoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IEEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jZWxsIGluc3RhbmNlLCByZXByZXNlbnRpbmcgdGhlCisgKiBoZWFkZXIgaW5mbyBvZiBjb2x1bW4gQGNsIG9yIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNjb2xzX2NvbHVtbl9nZXRfaGVhZGVyKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiAmY2wtPmhlYWRlcjsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fc2V0X2NvbG9yOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKiBAY29sb3I6IGNvbG9yIG5hbWUgb3IgRVNDIHNlcXVlbmNlCisgKgorICogVGhlIGRlZmF1bHQgY29sb3IgZm9yIGRhdGEgY2VsbHMgYW5kIGNvbHVtbiBoZWFkZXIuCisgKgorICogSWYgeW91IHdhbnQgdG8gc2V0IGhlYWRlciBzcGVjaWZpYyBjb2xvciB0aGVuIHVzZSBzY29sc19jb2x1bW5fZ2V0X2hlYWRlcigpCisgKiBhbmQgc2NvbHNfY2VsbF9zZXRfY29sb3IoKS4KKyAqCisgKiBJZiB5b3Ugd2FudCB0byBzZXQgZGF0YSBjZWxsIHNwZWNpZmljIGNvbG9yIHRoZSB1c2Ugc2NvbHNfbGluZV9nZXRfY2VsbCgpICsKKyAqIHNjb2xzX2NlbGxfc2V0X2NvbG9yKCkuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY29sdW1uX3NldF9jb2xvcihzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgY29uc3QgY2hhciAqY29sb3IpCit7CisJaWYgKGNvbG9yICYmIGlzYWxwaGEoKmNvbG9yKSkgeworCQljb2xvciA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGNvbG9yKTsKKwkJaWYgKCFjb2xvcikKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoY2wsIGNvbG9yLCBjb2xvcik7Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX2dldF9jb2xvcjoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IFRoZSBjdXJyZW50IGNvbG9yIHNldHRpbmcgb2YgdGhlIGNvbHVtbiBAY2wuCisgKi8KK2NvbnN0IGNoYXIgKnNjb2xzX2NvbHVtbl9nZXRfY29sb3IoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5jb2xvcjsKK30KKworLyoqCisgKiBzY29sc193cmFwbmxfbmV4dGNodW5rOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKiBAZGF0YTogc3RyaW5nCisgKiBAdXNlcmRhdGE6IGNhbGxiYWNrIHByaXZhdGUgZGF0YQorICoKKyAqIFRoaXMgaXMgYnVpbHQtaW4gZnVuY3Rpb24gZm9yIHNjb2xzX2NvbHVtbl9zZXRfd3JhcGZ1bmMoKS4gVGhpcyBmdW5jdGlvbgorICogdGVybWluYXRlcyB0aGUgY3VycmVudCBjaHVuayBieSBcMCBhbmQgcmV0dXJucyBwb2ludGVyIHRvIHRoZSBiZWdpbiBvZgorICogdGhlIG5leHQgY2h1bmsuIFRoZSBjaHVua3MgYXJlIGJhc2VkIG9uIFxuLgorICoKKyAqIEZvciBleGFtcGxlIGZvciBkYXRhICJBQUFcbkJCQlxuQ0NDIiB0aGUgbmV4dCBjaHVuayBpcyAiQkJCIi4KKyAqCisgKiBSZXR1cm5zOiBuZXh0IGNodW5rCisgKgorICogU2luY2U6IDIuMjkKKyAqLworY2hhciAqc2NvbHNfd3JhcG5sX25leHRjaHVuayhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSwKKwkJCWNoYXIgKmRhdGEsCisJCQl2b2lkICp1c2VyZGF0YSBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwljaGFyICpwID0gZGF0YSA/IHN0cmNocihkYXRhLCAnXG4nKSA6IE5VTEw7CisKKwlpZiAocCkgeworCQkqcCA9ICdcMCc7CisJCXJldHVybiBwICsgMTsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qKgorICogc2NvbHNfd3JhcG5sX2NodW5rc2l6ZToKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICogQGRhdGE6IHN0cmluZworICogQHVzZXJkYXRhOiBjYWxsYmFjayBwcml2YXRlIGRhdGEKKyAqCisgKiBBbmFseXplcyBAZGF0YSBhbmQgcmV0dXJucyBzaXplIG9mIHRoZSBsYXJnZXN0IGNodW5rLiBUaGUgY2h1bmtzIGFyZSBiYXNlZAorICogb24gXG4uIEZvciBleGFtcGxlIGZvciBkYXRhICJBQUFcbkJCQlxuQ0NDQyIgdGhlIGxhcmdlc3QgY2h1bmsgc2l6ZSBpcyA0LgorICoKKyAqIE5vdGUgdGhhdCB0aGUgc2l6ZSBoYXMgdG8gYmUgYmFzZWQgb24gbnVtYmVyIG9mIHRlcm1pbmFsIGNlbGxzIHJhdGhlciB0aGFuCisgKiBieXRlcyB0byBzdXBwb3J0IG11bHR1LWJ5dGUgb3V0cHV0LgorICoKKyAqIFJldHVybnM6IHNpemUgb2YgdGhlIGxhcmdlc3QgY2h1bmsuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworc2l6ZV90IHNjb2xzX3dyYXBubF9jaHVua3NpemUoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wgX19hdHRyaWJ1dGVfXygodW51c2VkKSksCisJCWNvbnN0IGNoYXIgKmRhdGEsCisJCXZvaWQgKnVzZXJkYXRhIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXNpemVfdCBzdW0gPSAwOworCisJd2hpbGUgKGRhdGEgJiYgKmRhdGEpIHsKKwkJY29uc3QgY2hhciAqcDsKKwkJc2l6ZV90IHN6OworCisJCXAgPSBzdHJjaHIoZGF0YSwgJ1xuJyk7CisJCWlmIChwKSB7CisJCQlzeiA9IG1ic19zYWZlX253aWR0aChkYXRhLCBwIC0gZGF0YSwgTlVMTCk7CisJCQlwKys7CisJCX0gZWxzZQorCQkJc3ogPSBtYnNfc2FmZV93aWR0aChkYXRhKTsKKworCQlzdW0gPSBtYXgoc3VtLCBzeik7CisJCWRhdGEgPSBwOworCX0KKworCXJldHVybiBzdW07Cit9CisKKy8qKgorICogc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jOgorICogQGNsOiBjb2x1bW4KKyAqIEBjbXA6IHBvaW50ZXIgdG8gY29tcGFyZSBmdW5jdGlvbgorICogQGRhdGE6IHByaXZhdGUgZGF0YSBmb3IgY21wIGZ1bmN0aW9uCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLAorCQkJaW50ICgqY21wKShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqLAorCQkJCSAgIHN0cnVjdCBsaWJzY29sc19jZWxsICosCisJCQkJICAgdm9pZCAqKSwKKwkJCXZvaWQgKmRhdGEpCit7CisJaWYgKCFjbCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwljbC0+Y21wZnVuYyA9IGNtcDsKKwljbC0+Y21wZnVuY19kYXRhID0gZGF0YTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fc2V0X3dyYXBmdW5jOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKiBAd3JhcF9jaHVua3NpemU6IGZ1bmN0aW9uIHRvIHJldHVybiBzaXplIG9mIHRoZSBsYXJnZXN0IGNoaW5rIG9mIGRhdGEKKyAqIEB3cmFwX25leHRjaHVuazogZnVuY3Rpb24gdG8gcmV0dXJuIG5leHQgemVybyB0ZXJtaW5hdGVkIGRhdGEKKyAqIEB1c2VyZGF0YTogb3B0aW9uYWwgc3R1ZmYgZm9yIGNhbGxiYWNrcworICoKKyAqIEV4dGVuZHMgU0NPTFNfRkxfV1JBUCBhbmQgYWxsb3dzIHRvIHNldCBjdXN0b20gd3JhcCBmdW5jdGlvbi4gVGhlIGRlZmF1bHQKKyAqIGlzIHRvIHdyYXAgYnkgY29sdW1uIHNpemUsIGJ1dCB5b3UgY2FuIGNyZWF0ZSBmdW5jdGlvbnMgdG8gd3JhcCBmb3IgZXhhbXBsZQorICogYWZ0ZXIgXG4gb3IgYWZ0ZXIgd29yZHMsIGV0Yy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX2NvbHVtbl9zZXRfd3JhcGZ1bmMoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQlzaXplX3QgKCp3cmFwX2NodW5rc2l6ZSkoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqLAorCQkJCQkJIGNvbnN0IGNoYXIgKiwKKwkJCQkJCSB2b2lkICopLAorCQkJY2hhciAqICgqd3JhcF9uZXh0Y2h1bmspKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKiwKKwkJCQkJCSBjaGFyICosCisJCQkJCQkgdm9pZCAqKSwKKwkJCXZvaWQgKnVzZXJkYXRhKQoreworCWlmICghY2wpCisJCXJldHVybiAtRUlOVkFMOworCisJY2wtPndyYXBfbmV4dGNodW5rID0gd3JhcF9uZXh0Y2h1bms7CisJY2wtPndyYXBfY2h1bmtzaXplID0gd3JhcF9jaHVua3NpemU7CisJY2wtPndyYXBmdW5jX2RhdGEgPSB1c2VyZGF0YTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5fc2V0X3NhZmVjaGFyczoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICogQHNhZmU6IHNhZmUgY2hhcmFjdGVycyAoZS5nLiAiXG5cdCIpCisgKgorICogVXNlIGZvciBieXRlcyB5b3UgZG9uJ3Qgd2FudCB0byBlbmNvZGUgb24gb3V0cHV0LiBUaGlzIGlzIGZvciBleGFtcGxlCisgKiBuZWNlc3NhcnkgaWYgeW91IHdhbnQgdG8gdXNlIGN1c3RvbSB3cmFwIGZ1bmN0aW9uIGJhc2VkIG9uIFxuLCBpbiB0aGlzIGNhc2UKKyAqIHlvdSBoYXZlIHRvIHNldCAiXG4iIGFzIGEgc2FmZSBjaGFyLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4yOQorICovCitpbnQgc2NvbHNfY29sdW1uX3NldF9zYWZlY2hhcnMoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGNvbnN0IGNoYXIgKnNhZmUpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKGNsLCBzYWZlY2hhcnMsIHNhZmUpOworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9nZXRfc2FmZWNoYXJzOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogUmV0dXJuczogc2FmZSBjaGFycworICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2NvbnN0IGNoYXIgKnNjb2xzX2NvbHVtbl9nZXRfc2FmZWNoYXJzKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiBjbC0+c2FmZWNoYXJzOworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9nZXRfd2lkdGg6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBJbXBvcnRhbnQgbm90ZTogdGhlIGNvbHVtbiB3aWR0aCBpcyB1bmtub3duIHVudGlsIGxpYnJhcnkgc3RhcnRzIHByaW50aW5nCisgKiAod2lkdGggaXMgY2FsY3VsYXRlZCBiZWZvcmUgcHJpbnRpbmcpLiBUaGUgZnVuY3Rpb24gaXMgdXNhYmxlIGZvciBleGFtcGxlIGluCisgKiBuZXh0Y2h1bmsoKSBjYWxsYmFjayBzcGVjaWZpZWQgYnkgc2NvbHNfY29sdW1uX3NldF93cmFwZnVuYygpLgorICoKKyAqIFNlZSBhbHNvIHNjb2xzX2NvbHVtbl9nZXRfd2hpbnQoKSwgaXQgcmV0dXJucyB3YW50ZWQgc2l6ZSAoIT0gZmluYWwgc2l6ZSkuCisgKgorICogUmV0dXJuczogY29sdW1uIHdpZHRoCisgKgorICogU2luY2U6IDIuMjkKKyAqLworc2l6ZV90IHNjb2xzX2NvbHVtbl9nZXRfd2lkdGgoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT53aWR0aDsKK30KKworLyoqCisgKiBzY29sc19jb2x1bW5faXNfaGlkZGVuOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogR2V0cyB0aGUgdmFsdWUgb2YgQGNsJ3MgZmxhZyBoaWRkZW4uCisgKgorICogUmV0dXJuczogMCBvciAxCisgKgorICogU2luY2U6IDIuMjcKKyAqLworaW50IHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFncyAmIFNDT0xTX0ZMX0hJRERFTiA/IDEgOiAwOworfQorCisvKioKKyAqIHNjb2xzX2NvbHVtbl9pc190cnVuYzoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIEdldHMgdGhlIHZhbHVlIG9mIEBjbCdzIGZsYWcgdHJ1bmMuCisgKgorICogUmV0dXJuczogMCBvciAxCisgKi8KK2ludCBzY29sc19jb2x1bW5faXNfdHJ1bmMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFncyAmIFNDT0xTX0ZMX1RSVU5DID8gMSA6IDA7Cit9CisvKioKKyAqIHNjb2xzX2NvbHVtbl9pc190cmVlOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogR2V0cyB0aGUgdmFsdWUgb2YgQGNsJ3MgZmxhZyB0cmVlLgorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgc2NvbHNfY29sdW1uX2lzX3RyZWUoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFncyAmIFNDT0xTX0ZMX1RSRUUgPyAxIDogMDsKK30KKy8qKgorICogc2NvbHNfY29sdW1uX2lzX3JpZ2h0OgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogR2V0cyB0aGUgdmFsdWUgb2YgQGNsJ3MgZmxhZyByaWdodC4KKyAqCisgKiBSZXR1cm5zOiAwIG9yIDEKKyAqLworaW50IHNjb2xzX2NvbHVtbl9pc19yaWdodChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlyZXR1cm4gY2wtPmZsYWdzICYgU0NPTFNfRkxfUklHSFQgPyAxIDogMDsKK30KKy8qKgorICogc2NvbHNfY29sdW1uX2lzX3N0cmljdF93aWR0aDoKKyAqIEBjbDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIEdldHMgdGhlIHZhbHVlIG9mIEBjbCdzIGZsYWcgc3RyaWN0X3dpZHRoLgorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgc2NvbHNfY29sdW1uX2lzX3N0cmljdF93aWR0aChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlyZXR1cm4gY2wtPmZsYWdzICYgU0NPTFNfRkxfU1RSSUNUV0lEVEggPyAxIDogMDsKK30KKy8qKgorICogc2NvbHNfY29sdW1uX2lzX25vZXh0cmVtZXM6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBHZXRzIHRoZSB2YWx1ZSBvZiBAY2wncyBmbGFnIG5vX2V4dHJlbWVzLgorICoKKyAqIFJldHVybnM6IDAgb3IgMQorICovCitpbnQgc2NvbHNfY29sdW1uX2lzX25vZXh0cmVtZXMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJcmV0dXJuIGNsLT5mbGFncyAmIFNDT0xTX0ZMX05PRVhUUkVNRVMgPyAxIDogMDsKK30KKy8qKgorICogc2NvbHNfY29sdW1uX2lzX3dyYXA6CisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBHZXRzIHRoZSB2YWx1ZSBvZiBAY2wncyBmbGFnIHdyYXAuCisgKgorICogUmV0dXJuczogMCBvciAxCisgKgorICogU2luY2U6IDIuMjgKKyAqLworaW50IHNjb2xzX2NvbHVtbl9pc193cmFwKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiBjbC0+ZmxhZ3MgJiBTQ09MU19GTF9XUkFQID8gMSA6IDA7Cit9CisvKioKKyAqIHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwOgorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogUmV0dXJuczogMCBvciAxCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXJldHVybiAoY2wtPmZsYWdzICYgU0NPTFNfRkxfV1JBUCkKKwkJJiYgY2wtPndyYXBfY2h1bmtzaXplCisJCSYmIGNsLT53cmFwX25leHRjaHVuayA/IDEgOiAwOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9pbml0LmMgYi9saWJzbWFydGNvbHMvc3JjL2luaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDRlNDNiCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9pbml0LmMKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogaW5pdAorICogQHRpdGxlOiBMaWJyYXJ5IGluaXRpYWxpemF0aW9uCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGluaXRpYWxpemUgZGVidWdnaW5nCisgKgorICogVGhlIGxpYnJhcnkgZGVidWcgc3R1ZmYuCisgKi8KKworI2luY2x1ZGUgPHN0ZGFyZy5oPgorCisjaW5jbHVkZSAic21hcnRjb2xzUC5oIgorCitVTF9ERUJVR19ERUZJTkVfTUFTSyhsaWJzbWFydGNvbHMpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsaWJzbWFydGNvbHMpID0KK3sKKwl7ICJhbGwiLCBTQ09MU19ERUJVR19BTEwsCSJpbmZvIGFib3V0IGFsbCBzdWJzeXN0ZW1zIiB9LAorCXsgImJ1ZmYiLCBTQ09MU19ERUJVR19CVUZGLAkib3V0cHV0IGJ1ZmZlciB1dGlscyIgfSwKKwl7ICJjZWxsIiwgU0NPTFNfREVCVUdfQ0VMTCwJInRhYmxlIGNlbGwgdXRpbHMiIH0sCisJeyAiY29sIiwgU0NPTFNfREVCVUdfQ09MLAkiY29scyB1dGlscyIgfSwKKwl7ICJoZWxwIiwgU0NPTFNfREVCVUdfSEVMUCwJInRoaXMgaGVscCIgfSwKKwl7ICJsaW5lIiwgU0NPTFNfREVCVUdfTElORSwJInRhYmxlIGxpbmUgdXRpbHMiIH0sCisJeyAidGFiIiwgU0NPTFNfREVCVUdfVEFCLAkidGFibGUgdXRpbHMiIH0sCisJeyBOVUxMLCAwLCBOVUxMIH0KK307CisKKy8qKgorICogc2NvbHNfaW5pdF9kZWJ1ZzoKKyAqIEBtYXNrOiBkZWJ1ZyBtYXNrICgweGZmZmYgdG8gZW5hYmxlIGZ1bGwgZGVidWdnaW5nKQorICoKKyAqIElmIHRoZSBAbWFzayBpcyBub3Qgc3BlY2lmaWVkLCB0aGVuIHRoaXMgZnVuY3Rpb24gcmVhZHMKKyAqIHRoZSBMSUJTTUFSVENPTFNfREVCVUcgZW52aXJvbm1lbnQgdmFyaWFibGUgdG8gZ2V0IHRoZSBtYXNrLgorICoKKyAqIEFscmVhZHkgaW5pdGlhbGl6ZWQgZGVidWdnaW5nIHN0dWZmIGNhbm5vdCBiZSBjaGFuZ2VkLiBDYWxsaW5nCisgKiB0aGlzIGZ1bmN0aW9uIHR3aWNlIGhhcyBubyBlZmZlY3QuCisgKi8KK3ZvaWQgc2NvbHNfaW5pdF9kZWJ1ZyhpbnQgbWFzaykKK3sKKwlpZiAobGlic21hcnRjb2xzX2RlYnVnX21hc2spCisJCXJldHVybjsKKworCV9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVihsaWJzbWFydGNvbHMsIFNDT0xTX0RFQlVHXywgbWFzaywgTElCU01BUlRDT0xTX0RFQlVHKTsKKworCWlmIChsaWJzbWFydGNvbHNfZGVidWdfbWFzayAhPSBTQ09MU19ERUJVR19JTklUCisJICAgICYmIGxpYnNtYXJ0Y29sc19kZWJ1Z19tYXNrICE9IChTQ09MU19ERUJVR19IRUxQfFNDT0xTX0RFQlVHX0lOSVQpKSB7CisJCWNvbnN0IGNoYXIgKnZlciA9IE5VTEw7CisKKwkJc2NvbHNfZ2V0X2xpYnJhcnlfdmVyc2lvbigmdmVyKTsKKworCQlEQkcoSU5JVCwgdWxfZGVidWcoImxpYnJhcnkgZGVidWcgbWFzazogMHglMDR4IiwgbGlic21hcnRjb2xzX2RlYnVnX21hc2spKTsKKwkJREJHKElOSVQsIHVsX2RlYnVnKCJsaWJyYXJ5IHZlcnNpb246ICVzIiwgdmVyKSk7CisJfQorCU9OX0RCRyhIRUxQLCB1bF9kZWJ1Z19wcmludF9tYXNrcygiTElCU01BUlRDT0xTX0RFQlVHIiwKKwkJCQlVTF9ERUJVR19NQVNLTkFNRVMobGlic21hcnRjb2xzKSkpOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9pdGVyLmMgYi9saWJzbWFydGNvbHMvc3JjL2l0ZXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWNjMDgwCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9pdGVyLmMKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOS0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogaXRlcgorICogQHRpdGxlOiBJdGVyYXRvcgorICogQHNob3J0X2Rlc2NyaXB0aW9uOiB1bmlmaWVkIGl0ZXJhdG9yCisgKgorICogVGhlIGl0ZXJhdG9yIGtlZXBzIHRoZSBkaXJlY3Rpb24gYW5kIHRoZSBsYXN0IHBvc2l0aW9uCisgKiBmb3IgYWNjZXNzIHRvIHRoZSBpbnRlcm5hbCBsaWJyYXJ5IHRhYmxlcy9saXN0cy4KKyAqLworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpbmNsdWRlICJzbWFydGNvbHNQLmgiCisKKy8qKgorICogc2NvbHNfbmV3X2l0ZXI6CisgKiBAZGlyZWN0aW9uOiBTQ09MU19JTlRFUl97Rk9SLEJBQ0t9V0FSRCBkaXJlY3Rpb24KKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZWQgZ2VuZXJpYyBsaWJtb3VudCBpdGVyYXRvci4KKyAqLworc3RydWN0IGxpYnNjb2xzX2l0ZXIgKnNjb2xzX25ld19pdGVyKGludCBkaXJlY3Rpb24pCit7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciA9IGNhbGxvYygxLCBzaXplb2YoKml0cikpOworCWlmICghaXRyKQorCQlyZXR1cm4gTlVMTDsKKwlpdHItPmRpcmVjdGlvbiA9IGRpcmVjdGlvbjsKKwlyZXR1cm4gaXRyOworfQorCisvKioKKyAqIHNjb2xzX2ZyZWVfaXRlcjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqCisgKiBEZWFsbG9jYXRlcyB0aGUgaXRlcmF0b3IuCisgKi8KK3ZvaWQgc2NvbHNfZnJlZV9pdGVyKHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIpCit7CisJZnJlZShpdHIpOworfQorCisvKioKKyAqIHNjb2xzX3Jlc2V0X2l0ZXI6CisgKiBAaXRyOiBpdGVyYXRvciBwb2ludGVyCisgKiBAZGlyZWN0aW9uOiBTQ09MU19JTlRFUl97Rk9SLEJBQ0t9V0FSRCBvciAtMSB0byBrZWVwIHRoZSBkaXJlY3Rpb24gdW5jaGFuZ2VkCisgKgorICogUmVzZXRzIHRoZSBpdGVyYXRvci4KKyAqLwordm9pZCBzY29sc19yZXNldF9pdGVyKHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIsIGludCBkaXJlY3Rpb24pCit7CisJaWYgKGRpcmVjdGlvbiA9PSAtMSkKKwkJZGlyZWN0aW9uID0gaXRyLT5kaXJlY3Rpb247CisKKwltZW1zZXQoaXRyLCAwLCBzaXplb2YoKml0cikpOworCWl0ci0+ZGlyZWN0aW9uID0gZGlyZWN0aW9uOworfQorCisvKioKKyAqIHNjb2xzX2l0ZXJfZ2V0X2RpcmVjdGlvbjoKKyAqIEBpdHI6IGl0ZXJhdG9yIHBvaW50ZXIKKyAqCisgKiBSZXR1cm5zOiBTQ09MU19JTlRFUl97Rk9SLEJBQ0t9V0FSRAorICovCitpbnQgc2NvbHNfaXRlcl9nZXRfZGlyZWN0aW9uKGNvbnN0IHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIpCit7CisJcmV0dXJuIGl0ci0+ZGlyZWN0aW9uOworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9saWJzbWFydGNvbHMuaC5pbiBiL2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLmguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjhiZTBiYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLmguaW4KQEAgLTAsMCArMSwzMjEgQEAKKy8qCisgKiBQcmludHMgdGFibGUgb3IgdHJlZS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlCisgKiBHTlUgTGVzc2VyIEdlbmVyYWwgUHVibGljIExpY2Vuc2UuCisgKi8KKyNpZm5kZWYgX0xJQlNNQVJUQ09MU19ICisjZGVmaW5lIF9MSUJTTUFSVENPTFNfSAorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisvKioKKyAqIExJQlNNQVJUQ09MU19WRVJTSU9OOgorICoKKyAqIExpYnJhcnkgdmVyc2lvbiBzdHJpbmcKKyAqLworI2RlZmluZSBMSUJTTUFSVENPTFNfVkVSU0lPTiAgICJATElCU01BUlRDT0xTX1ZFUlNJT05AIgorCisvKioKKyAqIGxpYnNjb2xzX2l0ZXI6CisgKgorICogR2VuZXJpYyBpdGVyYXRvcgorICovCitzdHJ1Y3QgbGlic2NvbHNfaXRlcjsKKworLyoqCisgKiBsaWJzY29sc19zeW1ib2xzOgorICoKKyAqIFN5bWJvbCBncm91cHMgZm9yIHByaW50aW5nIHRyZWUgaGllcmFyY2hpZXMKKyAqLworc3RydWN0IGxpYnNjb2xzX3N5bWJvbHM7CisKKy8qKgorICogbGlic2NvbHNfY2VsbDoKKyAqCisgKiBBIGNlbGwgLSB0aGUgc21hbGxlc3QgbGlicmFyeSBvYmplY3QKKyAqLworc3RydWN0IGxpYnNjb2xzX2NlbGw7CisKKy8qKgorICogbGlic2NvbHNfbGluZToKKyAqCisgKiBBIGxpbmUgLSBhbiBhcnJheSBvZiBjZWxscworICovCitzdHJ1Y3QgbGlic2NvbHNfbGluZTsKKworLyoqCisgKiBsaWJzY29sc190YWJsZToKKyAqCisgKiBBIHRhYmxlIC0gVGhlIG1vc3QgYWJzdHJhY3Qgb2JqZWN0LCBlbmNhcHN1bGF0aW5nIGxpbmVzLCBjb2x1bW5zLCBzeW1ib2xzIGFuZCBjZWxscworICovCitzdHJ1Y3QgbGlic2NvbHNfdGFibGU7CisKKy8qKgorICogbGlic2NvbHNfY29sdW1uOgorICoKKyAqIEEgY29sdW1uIC0gZGVmaW5lcyB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgYW5kIGNvbHVtbiBuYW1lcworICovCitzdHJ1Y3QgbGlic2NvbHNfY29sdW1uOworCisvKiBpdGVyLmMgKi8KK2VudW0geworCisJU0NPTFNfSVRFUl9GT1JXQVJEID0gMCwKKwlTQ09MU19JVEVSX0JBQ0tXQVJECit9OworCisvKgorICogQ29sdW1uIGZsYWdzCisgKi8KK2VudW0geworCVNDT0xTX0ZMX1RSVU5DICAgICAgID0gKDEgPDwgMCksICAgLyogdHJ1bmNhdGUgZmllbGRzIGRhdGEgaWYgbmVjZXNzYXJ5ICovCisJU0NPTFNfRkxfVFJFRSAgICAgICAgPSAoMSA8PCAxKSwgICAvKiB1c2UgdHJlZSAiYXNjaWkgYXJ0IiAqLworCVNDT0xTX0ZMX1JJR0hUCSAgICAgPSAoMSA8PCAyKSwgICAvKiBhbGlnbiB0byB0aGUgcmlnaHQgKi8KKwlTQ09MU19GTF9TVFJJQ1RXSURUSCA9ICgxIDw8IDMpLCAgIC8qIGRvbid0IHJlZHVjZSB3aWR0aCBpZiBjb2x1bW4gaXMgZW1wdHkgKi8KKwlTQ09MU19GTF9OT0VYVFJFTUVTICA9ICgxIDw8IDQpLCAgIC8qIGlnbm9yZSBleHRyZW1lIGZpZWxkcyB3aGVuIGNvdW50IGNvbHVtbiB3aWR0aCovCisJU0NPTFNfRkxfSElEREVOCSAgICAgPSAoMSA8PCA1KSwgICAvKiBtYWludGFpbiBkYXRhLCBidXQgZG9uJ3QgcHJpbnQgKi8KKwlTQ09MU19GTF9XUkFQCSAgICAgPSAoMSA8PCA2KSAgICAvKiB3cmFwIGxvbmcgbGluZXMgdG8gbXVsdGktbGluZSBjZWxscyAqLworfTsKKworLyoKKyAqIENvbHVtbiBKU09OIHR5cGVzCisgKi8KK2VudW0geworCVNDT0xTX0pTT05fU1RSSU5HICAgID0gMCwJLyogZGVmYXVsdCAqLworCVNDT0xTX0pTT05fTlVNQkVSICAgID0gMSwKKwlTQ09MU19KU09OX0JPT0xFQU4gICA9IDIKK307CisKKy8qCisgKiBDZWxsIGZsYWdzLCBzZWUgc2NvbHNfY2VsbF9zZXRfZmxhZ3MoKSBiZWZvcmUgdXNlCisgKi8KK2VudW0geworCS8qIGFsaWdubWVudCBldmFsdWF0ZWQgaW4gb3JkZXI6IHJpZ2h0LGNlbnRlcixsZWZ0ICovCisJU0NPTFNfQ0VMTF9GTF9MRUZUICAgID0gMCwKKwlTQ09MU19DRUxMX0ZMX0NFTlRFUiAgPSAoMSA8PCAwKSwKKwlTQ09MU19DRUxMX0ZMX1JJR0hUICAgPSAoMSA8PCAxKQorfTsKKworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19pdGVyICpzY29sc19uZXdfaXRlcihpbnQgZGlyZWN0aW9uKTsKK2V4dGVybiB2b2lkIHNjb2xzX2ZyZWVfaXRlcihzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyKTsKK2V4dGVybiB2b2lkIHNjb2xzX3Jlc2V0X2l0ZXIoc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciwgaW50IGRpcmVjdGlvbik7CitleHRlcm4gaW50IHNjb2xzX2l0ZXJfZ2V0X2RpcmVjdGlvbihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyKTsKKworLyogaW5pdC5jICovCitleHRlcm4gdm9pZCBzY29sc19pbml0X2RlYnVnKGludCBtYXNrKTsKKworLyogdmVyc2lvbi5jICovCitleHRlcm4gaW50IHNjb2xzX3BhcnNlX3ZlcnNpb25fc3RyaW5nKGNvbnN0IGNoYXIgKnZlcl9zdHJpbmcpOworZXh0ZXJuIGludCBzY29sc19nZXRfbGlicmFyeV92ZXJzaW9uKGNvbnN0IGNoYXIgKip2ZXJfc3RyaW5nKTsKKworLyogc3ltYm9scy5jICovCitleHRlcm4gc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnNjb2xzX25ld19zeW1ib2xzKHZvaWQpOworZXh0ZXJuIHZvaWQgc2NvbHNfcmVmX3N5bWJvbHMoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5KTsKK2V4dGVybiB2b2lkIHNjb2xzX3VucmVmX3N5bWJvbHMoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5KTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc2NvbHNfY29weV9zeW1ib2xzKGNvbnN0IHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSk7CitleHRlcm4gaW50IHNjb2xzX3N5bWJvbHNfc2V0X2JyYW5jaChzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3ksIGNvbnN0IGNoYXIgKnN0cik7CitleHRlcm4gaW50IHNjb2xzX3N5bWJvbHNfc2V0X3ZlcnRpY2FsKHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSwgY29uc3QgY2hhciAqc3RyKTsKK2V4dGVybiBpbnQgc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5LCBjb25zdCBjaGFyICpzdHIpOworZXh0ZXJuIGludCBzY29sc19zeW1ib2xzX3NldF90aXRsZV9wYWRkaW5nKHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSwgY29uc3QgY2hhciAqc3RyKTsKK2V4dGVybiBpbnQgc2NvbHNfc3ltYm9sc19zZXRfY2VsbF9wYWRkaW5nKHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSwgY29uc3QgY2hhciAqc3RyKTsKKworLyogY2VsbC5jICovCitleHRlcm4gaW50IHNjb2xzX3Jlc2V0X2NlbGwoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlKTsKK2V4dGVybiBpbnQgc2NvbHNfY2VsbF9jb3B5X2NvbnRlbnQoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmRlc3QsCisJCQkJICAgY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNyYyk7CitleHRlcm4gaW50IHNjb2xzX2NlbGxfc2V0X2RhdGEoc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlLCBjb25zdCBjaGFyICpkYXRhKTsKK2V4dGVybiBpbnQgc2NvbHNfY2VsbF9yZWZlcl9kYXRhKHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSwgY2hhciAqZGF0YSk7CitleHRlcm4gY29uc3QgY2hhciAqc2NvbHNfY2VsbF9nZXRfZGF0YShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpOworZXh0ZXJuIGludCBzY29sc19jZWxsX3NldF9jb2xvcihzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UsIGNvbnN0IGNoYXIgKmNvbG9yKTsKK2V4dGVybiBjb25zdCBjaGFyICpzY29sc19jZWxsX2dldF9jb2xvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpOworCitleHRlcm4gaW50IHNjb2xzX2NlbGxfc2V0X2ZsYWdzKHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSwgaW50IGZsYWdzKTsKK2V4dGVybiBpbnQgc2NvbHNfY2VsbF9nZXRfZmxhZ3MoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlKTsKK2V4dGVybiBpbnQgc2NvbHNfY2VsbF9nZXRfYWxpZ25tZW50KGNvbnN0IHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSk7CisKK2V4dGVybiB2b2lkICpzY29sc19jZWxsX2dldF91c2VyZGF0YShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpOworZXh0ZXJuIGludCBzY29sc19jZWxsX3NldF91c2VyZGF0YShzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UsIHZvaWQgKmRhdGEpOworCitleHRlcm4gaW50IHNjb2xzX2NtcHN0cl9jZWxscyhzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqYSwKKwkJCSAgICAgIHN0cnVjdCBsaWJzY29sc19jZWxsICpiLCB2b2lkICpkYXRhKTsKKy8qIGNvbHVtbi5jICovCitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9pc190cmVlKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX2lzX3RydW5jKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX2lzX3JpZ2h0KGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX2lzX3N0cmljdF93aWR0aChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc19jb2x1bW5faXNfbm9leHRyZW1lcyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9pc193cmFwKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX2lzX2N1c3RvbXdyYXAoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworCitleHRlcm4gc2l6ZV90IHNjb2xzX2NvbHVtbl9nZXRfd2lkdGgoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworCitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9zZXRfc2FmZWNoYXJzKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBjb25zdCBjaGFyICpzYWZlKTsKK2V4dGVybiBjb25zdCBjaGFyICpzY29sc19jb2x1bW5fZ2V0X3NhZmVjaGFycyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CisKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX3NldF9qc29uX3R5cGUoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGludCB0eXBlKTsKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX2dldF9qc29uX3R5cGUoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworCitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9zZXRfZmxhZ3Moc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGludCBmbGFncyk7CitleHRlcm4gaW50IHNjb2xzX2NvbHVtbl9nZXRfZmxhZ3MoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKnNjb2xzX25ld19jb2x1bW4odm9pZCk7CitleHRlcm4gdm9pZCBzY29sc19yZWZfY29sdW1uKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiB2b2lkIHNjb2xzX3VucmVmX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqc2NvbHNfY29weV9jb2x1bW4oY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc19jb2x1bW5fc2V0X3doaW50KHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBkb3VibGUgd2hpbnQpOworZXh0ZXJuIGRvdWJsZSBzY29sc19jb2x1bW5fZ2V0X3doaW50KGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc19jb2x1bW5fc2V0X2NvbG9yKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBjb25zdCBjaGFyICpjb2xvcik7CitleHRlcm4gY29uc3QgY2hhciAqc2NvbHNfY29sdW1uX2dldF9jb2xvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCk7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzY29sc19jb2x1bW5fZ2V0X3RhYmxlKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKKworZXh0ZXJuIGludCBzY29sc19jb2x1bW5fc2V0X2NtcGZ1bmMoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQlpbnQgKCpjbXApKHN0cnVjdCBsaWJzY29sc19jZWxsICphLAorCQkJCSAgIHN0cnVjdCBsaWJzY29sc19jZWxsICpiLCB2b2lkICopLAorCQkJdm9pZCAqZGF0YSk7CisKK2V4dGVybiBpbnQgc2NvbHNfY29sdW1uX3NldF93cmFwZnVuYyhzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwKKwkJCXNpemVfdCAoKndyYXBfY2h1bmtzaXplKShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICosCisJCQkJCSBjb25zdCBjaGFyICosIHZvaWQgKiksCisJCQljaGFyICogKCp3cmFwX25leHRjaHVuaykoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqLAorCQkJCQkgY2hhciAqLCB2b2lkICopLAorCQkJdm9pZCAqdXNlcmRhdGEpOworCitleHRlcm4gY2hhciAqc2NvbHNfd3JhcG5sX25leHRjaHVuayhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgY2hhciAqZGF0YSwgdm9pZCAqdXNlcmRhdGEpOworZXh0ZXJuIHNpemVfdCBzY29sc193cmFwbmxfY2h1bmtzaXplKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBjb25zdCBjaGFyICpkYXRhLCB2b2lkICp1c2VyZGF0YSk7CisKKy8qIGxpbmUuYyAqLworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19saW5lICpzY29sc19uZXdfbGluZSh2b2lkKTsKK2V4dGVybiB2b2lkIHNjb2xzX3JlZl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbik7CitleHRlcm4gdm9pZCBzY29sc191bnJlZl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbik7CitleHRlcm4gaW50IHNjb2xzX2xpbmVfYWxsb2NfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzaXplX3Qgbik7CitleHRlcm4gdm9pZCBzY29sc19saW5lX2ZyZWVfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9zZXRfdXNlcmRhdGEoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCB2b2lkICpkYXRhKTsKK2V4dGVybiB2b2lkICpzY29sc19saW5lX2dldF91c2VyZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pOworZXh0ZXJuIGludCBzY29sc19saW5lX3JlbW92ZV9jaGlsZChzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHN0cnVjdCBsaWJzY29sc19saW5lICpjaGlsZCk7CitleHRlcm4gaW50IHNjb2xzX2xpbmVfYWRkX2NoaWxkKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmNoaWxkKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9oYXNfY2hpbGRyZW4oc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9pc19hbmNlc3RvcihzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHN0cnVjdCBsaWJzY29sc19saW5lICpwYXJlbnQpOworZXh0ZXJuIGludCBzY29sc19saW5lX25leHRfY2hpbGQoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqKmNobGQpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19saW5lICpzY29sc19saW5lX2dldF9wYXJlbnQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9zZXRfY29sb3Ioc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBjb25zdCBjaGFyICpjb2xvcik7CitleHRlcm4gY29uc3QgY2hhciAqc2NvbHNfbGluZV9nZXRfY29sb3IoY29uc3Qgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuKTsKK2V4dGVybiBzaXplX3Qgc2NvbHNfbGluZV9nZXRfbmNlbGxzKGNvbnN0IHN0cnVjdCBsaWJzY29sc19saW5lICpsbik7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNjb2xzX2xpbmVfZ2V0X2NlbGwoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzaXplX3Qgbik7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNjb2xzX2xpbmVfZ2V0X2NvbHVtbl9jZWxsKAorCQkgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCSAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9zZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHNpemVfdCBuLCBjb25zdCBjaGFyICpkYXRhKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9yZWZlcl9kYXRhKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgc2l6ZV90IG4sIGNoYXIgKmRhdGEpOworZXh0ZXJuIGludCBzY29sc19saW5lX3NldF9jb2x1bW5fZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBjb25zdCBjaGFyICpkYXRhKTsKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9yZWZlcl9jb2x1bW5fZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLCBjaGFyICpkYXRhKTsKK2V4dGVybiBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfY29weV9saW5lKGNvbnN0IHN0cnVjdCBsaWJzY29sc19saW5lICpsbik7CisKKy8qIHRhYmxlICovCitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2NvbG9yc193YW50ZWQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3NldF9uYW1lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGNvbnN0IGNoYXIgKm5hbWUpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnNjb2xzX3RhYmxlX2dldF9uYW1lKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19jZWxsICpzY29sc190YWJsZV9nZXRfdGl0bGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX3Jhdyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfaXNfYXNjaWkoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX2pzb24oY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX25vaGVhZGluZ3MoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX2hlYWRlcl9yZXBlYXQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX2VtcHR5KGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9pc19leHBvcnQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX21heG91dChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfaXNfbm93cmFwKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9pc19ub2xpbmVzZXAoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX3RyZWUoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2lzX25vZW5jb2RpbmcoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CisKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfZW5hYmxlX2NvbG9ycyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfZW5hYmxlX3JhdyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfZW5hYmxlX2FzY2lpKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfanNvbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3Moc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSk7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9oZWFkZXJfcmVwZWF0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfZXhwb3J0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfbWF4b3V0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfbm93cmFwKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfbm9saW5lc2VwKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9lbmFibGVfbm9lbmNvZGluZyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKTsKKworZXh0ZXJuIGludCBzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpzZXApOworZXh0ZXJuIGludCBzY29sc190YWJsZV9zZXRfbGluZV9zZXBhcmF0b3Ioc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgY29uc3QgY2hhciAqc2VwKTsKKworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc190YWJsZSAqc2NvbHNfbmV3X3RhYmxlKHZvaWQpOworZXh0ZXJuIHZvaWQgc2NvbHNfcmVmX3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIHZvaWQgc2NvbHNfdW5yZWZfdGFibGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX2FkZF9jb2x1bW4oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9yZW1vdmVfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbnMoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX21vdmVfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKnByZSwgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKnNjb2xzX3RhYmxlX25ld19jb2x1bW4oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgY29uc3QgY2hhciAqbmFtZSwgZG91YmxlIHdoaW50LCBpbnQgZmxhZ3MpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9uZXh0X2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICoqY2wpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnNjb2xzX3RhYmxlX2dldF9jb2x1bW5fc2VwYXJhdG9yKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGNvbnN0IGNoYXIgKnNjb2xzX3RhYmxlX2dldF9saW5lX3NlcGFyYXRvcihjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBzaXplX3Qgc2NvbHNfdGFibGVfZ2V0X25jb2xzKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIHNpemVfdCBzY29sc190YWJsZV9nZXRfbmxpbmVzKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKnNjb2xzX3RhYmxlX2dldF9jb2x1bW4oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc2l6ZV90IG4pOworZXh0ZXJuIGludCBzY29sc190YWJsZV9hZGRfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pOworZXh0ZXJuIGludCBzY29sc190YWJsZV9yZW1vdmVfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pOworZXh0ZXJuIHZvaWQgc2NvbHNfdGFibGVfcmVtb3ZlX2xpbmVzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9uZXh0X2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciwgc3RydWN0IGxpYnNjb2xzX2xpbmUgKipsbik7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX2xpbmUgKnNjb2xzX3RhYmxlX25ld19saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19saW5lICpwYXJlbnQpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19saW5lICpzY29sc190YWJsZV9nZXRfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzaXplX3Qgbik7CitleHRlcm4gc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzY29sc19jb3B5X3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9zZXRfc3ltYm9scyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3kpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9zZXRfZGVmYXVsdF9zeW1ib2xzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzY29sc190YWJsZV9nZXRfc3ltYm9scyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKKworZXh0ZXJuIGludCBzY29sc190YWJsZV9zZXRfc3RyZWFtKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIEZJTEUgKnN0cmVhbSk7CitleHRlcm4gRklMRSAqc2NvbHNfdGFibGVfZ2V0X3N0cmVhbShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfcmVkdWNlX3Rlcm13aWR0aChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzaXplX3QgcmVkdWNlKTsKKworZXh0ZXJuIGludCBzY29sc19zb3J0X3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKTsKK2V4dGVybiBpbnQgc2NvbHNfc29ydF90YWJsZV9ieV90cmVlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworLyoKKyAqCisgKi8KK2VudW0geworCVNDT0xTX1RFUk1GT1JDRV9BVVRPID0gMCwKKwlTQ09MU19URVJNRk9SQ0VfTkVWRVIsCisJU0NPTFNfVEVSTUZPUkNFX0FMV0FZUworfTsKK2V4dGVybiBpbnQgc2NvbHNfdGFibGVfc2V0X3Rlcm1mb3JjZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZm9yY2UpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9nZXRfdGVybWZvcmNlKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9zZXRfdGVybXdpZHRoKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHNpemVfdCB3aWR0aCk7CitleHRlcm4gc2l6ZV90IHNjb2xzX3RhYmxlX2dldF90ZXJtd2lkdGgoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yik7CitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3NldF90ZXJtaGVpZ2h0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHNpemVfdCBoZWlnaHQpOworZXh0ZXJuIHNpemVfdCBzY29sc190YWJsZV9nZXRfdGVybWhlaWdodChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKTsKKworCisvKiB0YWJsZV9wcmludC5jICovCitleHRlcm4gaW50IHNjb2xzX3ByaW50X3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpOworZXh0ZXJuIGludCBzY29sc19wcmludF90YWJsZV90b19zdHJpbmcoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgY2hhciAqKmRhdGEpOworCitleHRlcm4gaW50IHNjb2xzX3RhYmxlX3ByaW50X3JhbmdlKAlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc3RhcnQsCisJCQkJCXN0cnVjdCBsaWJzY29sc19saW5lICplbmQpOworZXh0ZXJuIGludCBzY29sc190YWJsZV9wcmludF9yYW5nZV90b19zdHJpbmcoCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc3RhcnQsCisJCQkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqZW5kLAorCQkJCQkJY2hhciAqKmRhdGEpOworCisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyogX0xJQlNNQVJUQ09MU19IICovCmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc3JjL2xpYnNtYXJ0Y29scy5zeW0gYi9saWJzbWFydGNvbHMvc3JjL2xpYnNtYXJ0Y29scy5zeW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMxYTU1NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvbGlic21hcnRjb2xzLnN5bQpAQCAtMCwwICsxLDE4NCBAQAorLyoKKyAqIHN5bWJvbHMgc2luY2UgdXRpbC1saW51eCAyLjI1CisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0LTIwMTYgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KK1NNQVJUQ09MU18yLjI1IHsKK2dsb2JhbDoKKwlzY29sc19jZWxsX2NvcHlfY29udGVudDsKKwlzY29sc19jZWxsX2dldF9jb2xvcjsKKwlzY29sc19jZWxsX2dldF9kYXRhOworCXNjb2xzX2NlbGxfZ2V0X3VzZXJkYXRhOworCXNjb2xzX2NlbGxfcmVmZXJfZGF0YTsKKwlzY29sc19jZWxsX3NldF9jb2xvcjsKKwlzY29sc19jZWxsX3NldF9kYXRhOworCXNjb2xzX2NlbGxfc2V0X3VzZXJkYXRhOworCXNjb2xzX2NtcHN0cl9jZWxsczsKKwlzY29sc19jb2x1bW5fZ2V0X2NvbG9yOworCXNjb2xzX2NvbHVtbl9nZXRfZmxhZ3M7CisJc2NvbHNfY29sdW1uX2dldF9oZWFkZXI7CisJc2NvbHNfY29sdW1uX2dldF93aGludDsKKwlzY29sc19jb2x1bW5faXNfbm9leHRyZW1lczsKKwlzY29sc19jb2x1bW5faXNfcmlnaHQ7CisJc2NvbHNfY29sdW1uX2lzX3N0cmljdF93aWR0aDsKKwlzY29sc19jb2x1bW5faXNfdHJlZTsKKwlzY29sc19jb2x1bW5faXNfdHJ1bmM7CisJc2NvbHNfY29sdW1uX3NldF9jbXBmdW5jOworCXNjb2xzX2NvbHVtbl9zZXRfY29sb3I7CisJc2NvbHNfY29sdW1uX3NldF9mbGFnczsKKwlzY29sc19jb2x1bW5fc2V0X3doaW50OworCXNjb2xzX2NvcHlfY29sdW1uOworCXNjb2xzX2NvcHlfbGluZTsKKwlzY29sc19jb3B5X3N5bWJvbHM7CisJc2NvbHNfY29weV90YWJsZTsKKwlzY29sc19mcmVlX2l0ZXI7CisJc2NvbHNfZ2V0X2xpYnJhcnlfdmVyc2lvbjsKKwlzY29sc19pbml0X2RlYnVnOworCXNjb2xzX2l0ZXJfZ2V0X2RpcmVjdGlvbjsKKwlzY29sc19saW5lX2FkZF9jaGlsZDsKKwlzY29sc19saW5lX2FsbG9jX2NlbGxzOworCXNjb2xzX2xpbmVfZnJlZV9jZWxsczsKKwlzY29sc19saW5lX2dldF9jZWxsOworCXNjb2xzX2xpbmVfZ2V0X2NvbG9yOworCXNjb2xzX2xpbmVfZ2V0X2NvbHVtbl9jZWxsOworCXNjb2xzX2xpbmVfZ2V0X25jZWxsczsKKwlzY29sc19saW5lX2dldF9wYXJlbnQ7CisJc2NvbHNfbGluZV9nZXRfdXNlcmRhdGE7CisJc2NvbHNfbGluZV9oYXNfY2hpbGRyZW47CisJc2NvbHNfbGluZV9uZXh0X2NoaWxkOworCXNjb2xzX2xpbmVfcmVmZXJfZGF0YTsKKwlzY29sc19saW5lX3JlbW92ZV9jaGlsZDsKKwlzY29sc19saW5lX3NldF9jb2xvcjsKKwlzY29sc19saW5lX3NldF9kYXRhOworCXNjb2xzX2xpbmVfc2V0X3VzZXJkYXRhOworCXNjb2xzX25ld19jb2x1bW47CisJc2NvbHNfbmV3X2l0ZXI7CisJc2NvbHNfbmV3X2xpbmU7CisJc2NvbHNfbmV3X3N5bWJvbHM7CisJc2NvbHNfbmV3X3RhYmxlOworCXNjb2xzX3BhcnNlX3ZlcnNpb25fc3RyaW5nOworCXNjb2xzX3ByaW50X3RhYmxlOworCXNjb2xzX3ByaW50X3RhYmxlX3RvX3N0cmluZzsKKwlzY29sc19yZWZfY29sdW1uOworCXNjb2xzX3JlZl9saW5lOworCXNjb2xzX3JlZl9zeW1ib2xzOworCXNjb2xzX3JlZl90YWJsZTsKKwlzY29sc19yZXNldF9jZWxsOworCXNjb2xzX3Jlc2V0X2l0ZXI7CisJc2NvbHNfc29ydF90YWJsZTsKKwlzY29sc19zeW1ib2xzX3NldF9icmFuY2g7CisJc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQ7CisJc2NvbHNfc3ltYm9sc19zZXRfdmVydGljYWw7CisJc2NvbHNfdGFibGVfYWRkX2NvbHVtbjsKKwlzY29sc190YWJsZV9hZGRfbGluZTsKKwlzY29sc190YWJsZV9jb2xvcnNfd2FudGVkOworCXNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaTsKKwlzY29sc190YWJsZV9lbmFibGVfY29sb3JzOworCXNjb2xzX3RhYmxlX2VuYWJsZV9leHBvcnQ7CisJc2NvbHNfdGFibGVfZW5hYmxlX21heG91dDsKKwlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5nczsKKwlzY29sc190YWJsZV9lbmFibGVfcmF3OworCXNjb2xzX3RhYmxlX2dldF9jb2x1bW47CisJc2NvbHNfdGFibGVfZ2V0X2NvbHVtbl9zZXBhcmF0b3I7CisJc2NvbHNfdGFibGVfZ2V0X2xpbmU7CisJc2NvbHNfdGFibGVfZ2V0X2xpbmVfc2VwYXJhdG9yOworCXNjb2xzX3RhYmxlX2dldF9uY29sczsKKwlzY29sc190YWJsZV9nZXRfbmxpbmVzOworCXNjb2xzX3RhYmxlX2dldF9zdHJlYW07CisJc2NvbHNfdGFibGVfaXNfYXNjaWk7CisJc2NvbHNfdGFibGVfaXNfZW1wdHk7CisJc2NvbHNfdGFibGVfaXNfZXhwb3J0OworCXNjb2xzX3RhYmxlX2lzX21heG91dDsKKwlzY29sc190YWJsZV9pc19ub2hlYWRpbmdzOworCXNjb2xzX3RhYmxlX2lzX3JhdzsKKwlzY29sc190YWJsZV9pc190cmVlOworCXNjb2xzX3RhYmxlX25ld19jb2x1bW47CisJc2NvbHNfdGFibGVfbmV3X2xpbmU7CisJc2NvbHNfdGFibGVfbmV4dF9jb2x1bW47CisJc2NvbHNfdGFibGVfbmV4dF9saW5lOworCXNjb2xzX3RhYmxlX3JlZHVjZV90ZXJtd2lkdGg7CisJc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbjsKKwlzY29sc190YWJsZV9yZW1vdmVfY29sdW1uczsKKwlzY29sc190YWJsZV9yZW1vdmVfbGluZTsKKwlzY29sc190YWJsZV9yZW1vdmVfbGluZXM7CisJc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3I7CisJc2NvbHNfdGFibGVfc2V0X2xpbmVfc2VwYXJhdG9yOworCXNjb2xzX3RhYmxlX3NldF9zdHJlYW07CisJc2NvbHNfdGFibGVfc2V0X3N5bWJvbHM7CisJc2NvbHNfdW5yZWZfY29sdW1uOworCXNjb2xzX3VucmVmX2xpbmU7CisJc2NvbHNfdW5yZWZfc3ltYm9sczsKKwlzY29sc191bnJlZl90YWJsZTsKK2xvY2FsOgorCSo7Cit9OworCitTTUFSVENPTFNfMi4yNyB7CitnbG9iYWw6CisJc2NvbHNfY29sdW1uX2lzX2hpZGRlbjsKKwlzY29sc190YWJsZV9lbmFibGVfanNvbjsKKwlzY29sc190YWJsZV9pc19qc29uOworCXNjb2xzX3RhYmxlX3NldF9uYW1lOworfSBTTUFSVENPTFNfMi4yNTsKKworU01BUlRDT0xTXzIuMjggeworZ2xvYmFsOgorCXNjb2xzX2NvbHVtbl9pc193cmFwOworCXNjb2xzX2xpbmVfcmVmZXJfY29sdW1uX2RhdGE7CisJc2NvbHNfbGluZV9zZXRfY29sdW1uX2RhdGE7CisJc2NvbHNfc3ltYm9sc19zZXRfdGl0bGVfcGFkZGluZzsKKwlzY29sc190YWJsZV9lbmFibGVfbm93cmFwOworCXNjb2xzX3RhYmxlX2dldF90aXRsZTsKKwlzY29sc19jZWxsX2dldF9mbGFnczsKKwlzY29sc19jZWxsX3NldF9mbGFnczsKKwlzY29sc190YWJsZV9wcmludF9yYW5nZTsKKwlzY29sc190YWJsZV9wcmludF9yYW5nZV90b19zdHJpbmc7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vbGluZXNlcDsKK30gU01BUlRDT0xTXzIuMjc7CisKK1NNQVJUQ09MU18yLjI5IHsKK2dsb2JhbDoKKwlzY29sc19jb2x1bW5fZ2V0X3NhZmVjaGFyczsKKwlzY29sc19jb2x1bW5fZ2V0X3RhYmxlOworCXNjb2xzX2NvbHVtbl9nZXRfd2lkdGg7CisJc2NvbHNfY29sdW1uX2lzX2N1c3RvbXdyYXA7CisJc2NvbHNfY29sdW1uX3NldF9zYWZlY2hhcnM7CisJc2NvbHNfY29sdW1uX3NldF93cmFwZnVuYzsKKwlzY29sc19zeW1ib2xzX3NldF9jZWxsX3BhZGRpbmc7CisJc2NvbHNfdGFibGVfZ2V0X25hbWU7CisJc2NvbHNfdGFibGVfZ2V0X3N5bWJvbHM7CisJc2NvbHNfdGFibGVfZ2V0X3Rlcm1mb3JjZTsKKwlzY29sc190YWJsZV9nZXRfdGVybXdpZHRoOworCXNjb2xzX3RhYmxlX2lzX25vbGluZXNlcDsKKwlzY29sc190YWJsZV9pc19ub3dyYXA7CisJc2NvbHNfdGFibGVfc2V0X2RlZmF1bHRfc3ltYm9sczsKKwlzY29sc190YWJsZV9zZXRfdGVybWZvcmNlOworCXNjb2xzX3RhYmxlX3NldF90ZXJtd2lkdGg7CisJc2NvbHNfd3JhcG5sX2NodW5rc2l6ZTsKKwlzY29sc193cmFwbmxfbmV4dGNodW5rOworfSBTTUFSVENPTFNfMi4yODsKKworCitTTUFSVENPTFNfMi4zMCB7CitnbG9iYWw6CisJc2NvbHNfY2VsbF9nZXRfYWxpZ25tZW50OworCXNjb2xzX3RhYmxlX21vdmVfY29sdW1uOworCXNjb2xzX3NvcnRfdGFibGVfYnlfdHJlZTsKKwlzY29sc19saW5lX2lzX2FuY2VzdG9yOworfSBTTUFSVENPTFNfMi4yOTsKKworCitTTUFSVENPTFNfMi4zMSB7CisJc2NvbHNfdGFibGVfc2V0X3Rlcm1oZWlnaHQ7CisJc2NvbHNfdGFibGVfZ2V0X3Rlcm1oZWlnaHQ7CisJc2NvbHNfdGFibGVfaXNfaGVhZGVyX3JlcGVhdDsKKwlzY29sc190YWJsZV9lbmFibGVfaGVhZGVyX3JlcGVhdDsKKwlzY29sc190YWJsZV9lbmFibGVfbm9lbmNvZGluZzsKKwlzY29sc190YWJsZV9pc19ub2VuY29kaW5nOworfSBTTUFSVENPTFNfMi4zMDsKKworCitTTUFSVENPTFNfMi4zMyB7CisJc2NvbHNfY29sdW1uX3NldF9qc29uX3R5cGU7CisJc2NvbHNfY29sdW1uX2dldF9qc29uX3R5cGU7Cit9IFNNQVJUQ09MU18yLjMxOwpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy9saW5lLmMgYi9saWJzbWFydGNvbHMvc3JjL2xpbmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MGJlMmMxCi0tLSAvZGV2L251bGwKKysrIGIvbGlic21hcnRjb2xzL3NyYy9saW5lLmMKQEAgLTAsMCArMSw1MTcgQEAKKy8qCisgKiBsaW5lLmMgLSBmdW5jdGlvbnMgZm9yIHRhYmxlIGhhbmRsaW5nIGF0IHRoZSBsaW5lIGxldmVsCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogbGluZQorICogQHRpdGxlOiBMaW5lCisgKiBAc2hvcnRfZGVzY3JpcHRpb246IGNlbGxzIGNvbnRhaW5lciwgYWxzbyBrZWVwcyB0cmVlIChwYXJlbnQtPmNoaWxkKSBpbmZvcm1hdGlvbgorICoKKyAqIEFuIEFQSSB0byBhY2Nlc3MgYW5kIG1vZGlmeSBwZXItbGluZSBkYXRhIGFuZCBpbmZvcm1hdGlvbi4KKyAqLworCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAic21hcnRjb2xzUC5oIgorCisvKioKKyAqIHNjb2xzX25ld19saW5lOgorICoKKyAqIE5vdGUgdGhhdCB0aGUgbGluZSBpcyBhbGxvY2F0ZWQgd2l0aG91dCBjZWxscywgdGhlIGNlbGxzIHdpbGwgYmUgYWxsb2NhdGVkCisgKiBsYXRlciB3aGVuIHlvdSBhZGQgdGhlIGxpbmUgdG8gdGhlIHRhYmxlLiBJZiB5b3Ugd2FudCB0byB1c2UgdGhlIGxpbmUKKyAqIHdpdGhvdXQgdGFibGUgdGhlbiB5b3UgaGF2ZSB0byBleHBsaWNpdGx5IGFsbG9jYXRlIHRoZSBjZWxscyBieQorICogc2NvbHNfbGluZV9hbGxvY19jZWxscygpLgorICoKKyAqIFJldHVybnM6IGEgcG9pbnRlciB0byBhIG5ldyBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZS4KKyAqLworc3RydWN0IGxpYnNjb2xzX2xpbmUgKnNjb2xzX25ld19saW5lKHZvaWQpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCisJbG4gPSBjYWxsb2MoMSwgc2l6ZW9mKCpsbikpOworCWlmICghbG4pCisJCXJldHVybiBOVUxMOworCisJREJHKExJTkUsIHVsX2RlYnVnb2JqKGxuLCAiYWxsb2MiKSk7CisJbG4tPnJlZmNvdW50ID0gMTsKKwlJTklUX0xJU1RfSEVBRCgmbG4tPmxuX2xpbmVzKTsKKwlJTklUX0xJU1RfSEVBRCgmbG4tPmxuX2NoaWxkcmVuKTsKKwlJTklUX0xJU1RfSEVBRCgmbG4tPmxuX2JyYW5jaCk7CisJcmV0dXJuIGxuOworfQorCisvKioKKyAqIHNjb2xzX3JlZl9saW5lOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICoKKyAqIEluY3JlYXNlcyB0aGUgcmVmY291bnQgb2YgQGxuLgorICovCit2b2lkIHNjb2xzX3JlZl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlpZiAobG4pCisJCWxuLT5yZWZjb3VudCsrOworfQorCisvKioKKyAqIHNjb2xzX3VucmVmX2xpbmU6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogRGVjcmVhc2VzIHRoZSByZWZjb3VudCBvZiBAbG4uIFdoZW4gdGhlIGNvdW50IGZhbGxzIHRvIHplcm8sIHRoZSBpbnN0YW5jZQorICogaXMgYXV0b21hdGljYWxseSBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBzY29sc191bnJlZl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlpZiAobG4gJiYgLS1sbi0+cmVmY291bnQgPD0gMCkgeworCQlEQkcoQ0VMTCwgdWxfZGVidWdvYmoobG4sICJkZWFsbG9jIikpOworCQlsaXN0X2RlbCgmbG4tPmxuX2xpbmVzKTsKKwkJbGlzdF9kZWwoJmxuLT5sbl9jaGlsZHJlbik7CisJCXNjb2xzX2xpbmVfZnJlZV9jZWxscyhsbik7CisJCWZyZWUobG4tPmNvbG9yKTsKKwkJZnJlZShsbik7CisJCXJldHVybjsKKwl9Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9mcmVlX2NlbGxzOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICoKKyAqIEZyZWVzIHRoZSBhbGxvY2F0ZWQgY2VsbHMgcmVmZXJlbmNlZCB0byBieSBAbG4uCisgKi8KK3ZvaWQgc2NvbHNfbGluZV9mcmVlX2NlbGxzKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlzaXplX3QgaTsKKworCWlmICghbG4gfHwgIWxuLT5jZWxscykKKwkJcmV0dXJuOworCisJREJHKExJTkUsIHVsX2RlYnVnb2JqKGxuLCAiZnJlZSBjZWxscyIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBsbi0+bmNlbGxzOyBpKyspCisJCXNjb2xzX3Jlc2V0X2NlbGwoJmxuLT5jZWxsc1tpXSk7CisKKwlmcmVlKGxuLT5jZWxscyk7CisJbG4tPm5jZWxscyA9IDA7CisJbG4tPmNlbGxzID0gTlVMTDsKK30KKworLyoqCisgKiBzY29sc19saW5lX2FsbG9jX2NlbGxzOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICogQG46IHRoZSBudW1iZXIgb2YgZWxlbWVudHMKKyAqCisgKiBBbGxvY2F0ZXMgc3BhY2UgZm9yIEBuIGNlbGxzLiBUaGlzIGZ1bmN0aW9uIGlzIG9wdGlvbmFsLAorICogYW5kIGxpYnNtYXJ0Y29scyBhdXRvbWF0aWNhbGx5IGFsbG9jYXRlcyBuZWNlc3NhcnkgY2VsbHMKKyAqIGFjY29yZGluZyB0byBudW1iZXIgb2YgY29sdW1ucyBpbiB0aGUgdGFibGUgd2hlbiB5b3UgYWRkCisgKiB0aGUgbGluZSB0byB0aGUgdGFibGUuIFNlZSBzY29sc190YWJsZV9hZGRfbGluZSgpLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2xpbmVfYWxsb2NfY2VsbHMoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzaXplX3QgbikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2U7CisKKwlpZiAoIWxuKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAobG4tPm5jZWxscyA9PSBuKQorCQlyZXR1cm4gMDsKKworCWlmICghbikgeworCQlzY29sc19saW5lX2ZyZWVfY2VsbHMobG4pOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoTElORSwgdWxfZGVidWdvYmoobG4sICJhbGxvYyAlenUgY2VsbHMiLCBuKSk7CisKKwljZSA9IHJlYWxsb2MobG4tPmNlbGxzLCBuICogc2l6ZW9mKHN0cnVjdCBsaWJzY29sc19jZWxsKSk7CisJaWYgKCFjZSkKKwkJcmV0dXJuIC1lcnJubzsKKworCWlmIChuID4gbG4tPm5jZWxscykKKwkJbWVtc2V0KGNlICsgbG4tPm5jZWxscywgMCwKKwkJICAgICAgIChuIC0gbG4tPm5jZWxscykgKiBzaXplb2Yoc3RydWN0IGxpYnNjb2xzX2NlbGwpKTsKKworCWxuLT5jZWxscyA9IGNlOworCWxuLT5uY2VsbHMgPSBuOworCXJldHVybiAwOworfQorCitpbnQgc2NvbHNfbGluZV9tb3ZlX2NlbGxzKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgc2l6ZV90IG5ld24sIHNpemVfdCBvbGRuKQoreworCXN0cnVjdCBsaWJzY29sc19jZWxsIGNlOworCisJaWYgKCFsbiB8fCBuZXduID49IGxuLT5uY2VsbHMgfHwgb2xkbiA+PSBsbi0+bmNlbGxzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlpZiAob2xkbiA9PSBuZXduKQorCQlyZXR1cm4gMDsKKworCURCRyhMSU5FLCB1bF9kZWJ1Z29iaihsbiwgIm1vdmUgY2VsbHNbJXp1XSAtPiBjZWxsc1slenVdIiwgb2xkbiwgbmV3bikpOworCisJLyogcmVtZW1iZXIgZGF0YSBmcm9tIG9sZCBwb3NpdGlvbiAqLworCW1lbWNweSgmY2UsICZsbi0+Y2VsbHNbb2xkbl0sIHNpemVvZihzdHJ1Y3QgbGlic2NvbHNfY2VsbCkpOworCisJLyogcmVtb3ZlIG9sZCBwb3NpdGlvbiAobW92ZSBkYXRhIGJlaGluZCBvbGRuIHRvIG9sZG4pICovCisJaWYgKG9sZG4gKyAxIDwgbG4tPm5jZWxscykKKwkJbWVtbW92ZShsbi0+Y2VsbHMgKyBvbGRuLCBsbi0+Y2VsbHMgKyBvbGRuICsgMSwKKwkJCShsbi0+bmNlbGxzIC0gb2xkbiAtIDEpICogc2l6ZW9mKHN0cnVjdCBsaWJzY29sc19jZWxsKSk7CisKKwkvKiBjcmVhdGUgYSBzcGFjZSBmb3IgbmV3IHBvc2l0aW9uICovCisJaWYgKG5ld24gKyAxIDwgbG4tPm5jZWxscykKKwkJbWVtbW92ZShsbi0+Y2VsbHMgKyBuZXduICsgMSwgbG4tPmNlbGxzICsgbmV3biwKKwkJCShsbi0+bmNlbGxzIC0gbmV3biAtIDEpICogc2l6ZW9mKHN0cnVjdCBsaWJzY29sc19jZWxsKSk7CisKKwkvKiBjb3B5IG9yaWdpbmFsIGRhdGEgdG8gbmV3IHBvc2l0aW9uICovCisJbWVtY3B5KCZsbi0+Y2VsbHNbbmV3bl0sICZjZSwgc2l6ZW9mKHN0cnVjdCBsaWJzY29sc19jZWxsKSk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9zZXRfdXNlcmRhdGE6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKiBAZGF0YTogdXNlciBkYXRhCisgKgorICogQmluZHMgQGRhdGEgdG8gQGxuLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2xpbmVfc2V0X3VzZXJkYXRhKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgdm9pZCAqZGF0YSkKK3sKKwlpZiAoIWxuKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlsbi0+dXNlcmRhdGEgPSBkYXRhOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfZ2V0X3VzZXJkYXRhOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IHVzZXIgZGF0YQorICovCit2b2lkICpzY29sc19saW5lX2dldF91c2VyZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJcmV0dXJuIGxuLT51c2VyZGF0YTsKK30KKworLyoqCisgKiBzY29sc19saW5lX3JlbW92ZV9jaGlsZDoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBjaGlsZDogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqCisgKiBSZW1vdmVzIEBjaGlsZCBhcyBhIGNoaWxkIG9mIEBsbi4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19saW5lX3JlbW92ZV9jaGlsZChzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHN0cnVjdCBsaWJzY29sc19saW5lICpjaGlsZCkKK3sKKwlpZiAoIWxuIHx8ICFjaGlsZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoTElORSwgdWxfZGVidWdvYmoobG4sICJyZW1vdmUgY2hpbGQiKSk7CisKKwlsaXN0X2RlbF9pbml0KCZjaGlsZC0+bG5fY2hpbGRyZW4pOworCWNoaWxkLT5wYXJlbnQgPSBOVUxMOworCXNjb2xzX3VucmVmX2xpbmUoY2hpbGQpOworCisJc2NvbHNfdW5yZWZfbGluZShsbik7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9hZGRfY2hpbGQ6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKiBAY2hpbGQ6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogU2V0cyBAY2hpbGQgYXMgYSBjaGlsZCBvZiBAbG4uCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfbGluZV9hZGRfY2hpbGQoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqY2hpbGQpCit7CisJaWYgKCFsbiB8fCAhY2hpbGQpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKExJTkUsIHVsX2RlYnVnb2JqKGxuLCAiYWRkIGNoaWxkIikpOworCXNjb2xzX3JlZl9saW5lKGNoaWxkKTsKKwlzY29sc19yZWZfbGluZShsbik7CisKKwkvKiB1bnJlZiBvbGQ8LT5wYXJlbnQgKi8KKwlpZiAoY2hpbGQtPnBhcmVudCkKKwkJc2NvbHNfbGluZV9yZW1vdmVfY2hpbGQoY2hpbGQtPnBhcmVudCwgY2hpbGQpOworCisJLyogbmV3IHJlZmVyZW5jZSBmcm9tIHBhcmVudCB0byBjaGlsZCAqLworCWxpc3RfYWRkX3RhaWwoJmNoaWxkLT5sbl9jaGlsZHJlbiwgJmxuLT5sbl9icmFuY2gpOworCisJLyogbmV3IHJlZmVyZW5jZSBmcm9tIGNoaWxkIHRvIHBhcmVudCAqLworCWNoaWxkLT5wYXJlbnQgPSBsbjsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc19saW5lX2dldF9wYXJlbnQ6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogUmV0dXJuczogYSBwb2ludGVyIHRvIEBsbidzIHBhcmVudCwgTlVMTCBpbiBjYXNlIGl0IGhhcyBubyBwYXJlbnQgb3IgaWYgdGhlcmUgd2FzIGFuIGVycm9yLgorICovCitzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfbGluZV9nZXRfcGFyZW50KGNvbnN0IHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlyZXR1cm4gbG4gPyBsbi0+cGFyZW50IDogTlVMTDsKK30KKworLyoqCisgKiBzY29sc19saW5lX2hhc19jaGlsZHJlbjoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiAxIGlmIEBsbiBoYXMgYW55IGNoaWxkcmVuLCBvdGhlcndpc2UgMC4KKyAqLworaW50IHNjb2xzX2xpbmVfaGFzX2NoaWxkcmVuKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlyZXR1cm4gbG4gPyAhbGlzdF9lbXB0eSgmbG4tPmxuX2JyYW5jaCkgOiAwOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfbmV4dF9jaGlsZDoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBpdHI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19pdGVyIGluc3RhbmNlCisgKiBAY2hsZDogYSBwb2ludGVyIHRvIGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogRmluZHMgdGhlIG5leHQgY2hpbGQgYW5kIHJldHVybnMgYSBwb2ludGVyIHRvIGl0IHZpYSBAY2hsZC4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19saW5lX25leHRfY2hpbGQoc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqKmNobGQpCit7CisJaW50IHJjID0gMTsKKworCWlmICghbG4gfHwgIWl0ciB8fCAhY2hsZCkKKwkJcmV0dXJuIC1FSU5WQUw7CisJKmNobGQgPSBOVUxMOworCisJaWYgKCFpdHItPmhlYWQpCisJCVNDT0xTX0lURVJfSU5JVChpdHIsICZsbi0+bG5fYnJhbmNoKTsKKwlpZiAoaXRyLT5wICE9IGl0ci0+aGVhZCkgeworCQlTQ09MU19JVEVSX0lURVJBVEUoaXRyLCAqY2hsZCwgc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2NoaWxkcmVuKTsKKwkJcmMgPSAwOworCX0KKworCXJldHVybiByYzsKK30KKworCisvKioKKyAqIHNjb2xzX2xpbmVfaXNfYW5jZXN0b3I6CisgKiBAbG46IGxpbmUKKyAqIEBwYXJlbnQ6IHBvdGVudGlhbCBwYXJlbnQKKyAqCisgKiBUaGUgZnVuY3Rpb24gaXMgZGVzaWduZWQgdG8gZGV0ZWN0IGNpcmN1bGFyIGRlcGVuZGVuY2llcyBiZXR3ZWVuIEBsbiBhbmQKKyAqIEBwYXJlbnQuIEl0IGNoZWNrcyBpZiBAbG4gaXMgbm90IGFueSAoZ3JhbmQpIHBhcmVudCBpbiB0aGUgQHBhcmVudCdzIHRyZWUuCisgKgorICogU2luY2U6IDIuMzAKKyAqCisgKiBSZXR1cm5zOiAwIG9yIDEKKyAqLworaW50IHNjb2xzX2xpbmVfaXNfYW5jZXN0b3Ioc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50KQoreworCXdoaWxlIChwYXJlbnQpIHsKKwkJaWYgKHBhcmVudCA9PSBsbikKKwkJCXJldHVybiAxOworCQlwYXJlbnQgPSBzY29sc19saW5lX2dldF9wYXJlbnQocGFyZW50KTsKKwl9OworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfc2V0X2NvbG9yOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICogQGNvbG9yOiBjb2xvciBuYW1lIG9yIEVTQyBzZXF1ZW5jZQorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2xpbmVfc2V0X2NvbG9yKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgY29uc3QgY2hhciAqY29sb3IpCit7CisJaWYgKGNvbG9yICYmIGlzYWxudW0oKmNvbG9yKSkgeworCQljb2xvciA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGNvbG9yKTsKKwkJaWYgKCFjb2xvcikKKwkJCXJldHVybiAtRUlOVkFMOworCX0KKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIobG4sIGNvbG9yLCBjb2xvcik7Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9nZXRfY29sb3I6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogUmV0dXJuczogQGxuJ3MgY29sb3Igc3RyaW5nLCBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2NvbnN0IGNoYXIgKnNjb2xzX2xpbmVfZ2V0X2NvbG9yKGNvbnN0IHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlyZXR1cm4gbG4tPmNvbG9yOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfZ2V0X25jZWxsczoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBudW1iZXIgb2YgY2VsbHMKKyAqLworc2l6ZV90IHNjb2xzX2xpbmVfZ2V0X25jZWxscyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJcmV0dXJuIGxuLT5uY2VsbHM7Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9nZXRfY2VsbDoKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBuOiBjZWxsIG51bWJlciB0byByZXRyaWV2ZQorICoKKyAqIFJldHVybnM6IHRoZSBAbi10aCBjZWxsIGluIEBsbiwgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqc2NvbHNfbGluZV9nZXRfY2VsbChzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCQkJCSAgc2l6ZV90IG4pCit7CisJaWYgKCFsbiB8fCBuID49IGxuLT5uY2VsbHMpCisJCXJldHVybiBOVUxMOworCXJldHVybiAmbG4tPmNlbGxzW25dOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfZ2V0X2NvbHVtbl9jZWxsOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICogQGNsOiBwb2ludGVyIHRvIGNlbGwKKyAqCisgKiBMaWtlIHNjb2xzX2xpbmVfZ2V0X2NlbGwoKSBieSBjZWxsIGlzIHJlZmVyZW5jZWQgYnkgY29sdW1uLgorICoKKyAqIFJldHVybnM6IHRoZSBAbi10aCBjZWxsIGluIEBsbiwgTlVMTCBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqc2NvbHNfbGluZV9nZXRfY29sdW1uX2NlbGwoCisJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlpZiAoIWxuIHx8ICFjbCkKKwkJcmV0dXJuIE5VTEw7CisKKwlyZXR1cm4gc2NvbHNfbGluZV9nZXRfY2VsbChsbiwgY2wtPnNlcW51bSk7Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9zZXRfZGF0YToKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBuOiBudW1iZXIgb2YgdGhlIGNlbGwsIHdob3NlIGRhdGEgaXMgdG8gYmUgc2V0CisgKiBAZGF0YTogYWN0dWFsIGRhdGEgdG8gc2V0CisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfbGluZV9zZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHNpemVfdCBuLCBjb25zdCBjaGFyICpkYXRhKQoreworCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIG4pOworCisJaWYgKCFjZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJcmV0dXJuIHNjb2xzX2NlbGxfc2V0X2RhdGEoY2UsIGRhdGEpOworfQorCisvKioKKyAqIHNjb2xzX2xpbmVfc2V0X2NvbHVtbl9kYXRhOgorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfbGluZSBpbnN0YW5jZQorICogQGNsOiBjb2x1bW4sIHdob3NlIGRhdGEgaXMgdG8gYmUgc2V0CisgKiBAZGF0YTogYWN0dWFsIGRhdGEgdG8gc2V0CisgKgorICogVGhlIHNhbWUgYXMgc2NvbHNfbGluZV9zZXRfZGF0YSgpIGJ1dCBjZWxsIGlzIHJlZmVyZW5jZWQgYnkgY29sdW1uIG9iamVjdC4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjgKKyAqLworaW50IHNjb2xzX2xpbmVfc2V0X2NvbHVtbl9kYXRhKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwKKwkJCSAgICAgICBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwKKwkJCSAgICAgICBjb25zdCBjaGFyICpkYXRhKQoreworCXJldHVybiBzY29sc19saW5lX3NldF9kYXRhKGxuLCBjbC0+c2VxbnVtLCBkYXRhKTsKK30KKworLyoqCisgKiBzY29sc19saW5lX3JlZmVyX2RhdGE6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKiBAbjogbnVtYmVyIG9mIHRoZSBjZWxsIHdoaWNoIHdpbGwgcmVmZXIgdG8gQGRhdGEKKyAqIEBkYXRhOiBhY3R1YWwgZGF0YSB0byByZWZlciB0bworICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIHNpemVfdCBuLCBjaGFyICpkYXRhKQoreworCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZSA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwobG4sIG4pOworCisJaWYgKCFjZSkKKwkJcmV0dXJuIC1FSU5WQUw7CisJcmV0dXJuIHNjb2xzX2NlbGxfcmVmZXJfZGF0YShjZSwgZGF0YSk7Cit9CisKKy8qKgorICogc2NvbHNfbGluZV9yZWZlcl9jb2x1bW5fZGF0YToKKyAqIEBsbjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqIEBjbDogY29sdW1uLCB3aG9zZSBkYXRhIGlzIHRvIGJlIHNldAorICogQGRhdGE6IGFjdHVhbCBkYXRhIHRvIHJlZmVyIHRvCisgKgorICogVGhlIHNhbWUgYXMgc2NvbHNfbGluZV9yZWZlcl9kYXRhKCkgYnV0IGNlbGwgaXMgcmVmZXJlbmNlZCBieSBjb2x1bW4gb2JqZWN0LgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4yOAorICovCitpbnQgc2NvbHNfbGluZV9yZWZlcl9jb2x1bW5fZGF0YShzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCQkgICAgICAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQkgICAgICAgY2hhciAqZGF0YSkKK3sKKwlyZXR1cm4gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBjbC0+c2VxbnVtLCBkYXRhKTsKK30KKworLyoqCisgKiBzY29sc19jb3B5X2xpbmU6CisgKiBAbG46IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19saW5lIGluc3RhbmNlCisgKgorICogUmV0dXJuczogQSBuZXdseSBhbGxvY2F0ZWQgY29weSBvZiBAbG4sIE5VTEwgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworc3RydWN0IGxpYnNjb2xzX2xpbmUgKnNjb2xzX2NvcHlfbGluZShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKnJldDsKKwlzaXplX3QgaTsKKworCWlmICghbG4pCisJCXJldHVybiBOVUxMOworCisJcmV0ID0gc2NvbHNfbmV3X2xpbmUoKTsKKwlpZiAoIXJldCkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKHNjb2xzX2xpbmVfc2V0X2NvbG9yKHJldCwgbG4tPmNvbG9yKSkKKwkJZ290byBlcnI7CisJaWYgKHNjb2xzX2xpbmVfYWxsb2NfY2VsbHMocmV0LCBsbi0+bmNlbGxzKSkKKwkJZ290byBlcnI7CisKKwlyZXQtPnVzZXJkYXRhID0gbG4tPnVzZXJkYXRhOworCXJldC0+bmNlbGxzICAgPSBsbi0+bmNlbGxzOworCXJldC0+c2VxbnVtICAgPSBsbi0+c2VxbnVtOworCisJREJHKExJTkUsIHVsX2RlYnVnb2JqKGxuLCAiY29weSIpKTsKKworCWZvciAoaSA9IDA7IGkgPCByZXQtPm5jZWxsczsgKytpKSB7CisJCWlmIChzY29sc19jZWxsX2NvcHlfY29udGVudCgmcmV0LT5jZWxsc1tpXSwgJmxuLT5jZWxsc1tpXSkpCisJCQlnb3RvIGVycjsKKwl9CisKKwlyZXR1cm4gcmV0OworZXJyOgorCXNjb2xzX3VucmVmX2xpbmUocmV0KTsKKwlyZXR1cm4gTlVMTDsKK30KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zcmMvc21hcnRjb2xzUC5oIGIvbGlic21hcnRjb2xzL3NyYy9zbWFydGNvbHNQLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ1YWMzYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvc21hcnRjb2xzUC5oCkBAIC0wLDAgKzEsMjE2IEBACisvKgorICogc21hcnRjb2xzUC5oIC0gcHJpdmF0ZSBsaWJyYXJ5IGhlYWRlciBmaWxlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKyNpZm5kZWYgX0xJQlNNQVJUQ09MU19QUklWQVRFX0gKKyNkZWZpbmUgX0xJQlNNQVJUQ09MU19QUklWQVRFX0gKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjb2xvci1uYW1lcy5oIgorI2luY2x1ZGUgImRlYnVnLmgiCisKKyNpbmNsdWRlICJsaWJzbWFydGNvbHMuaCIKKworLyoKKyAqIERlYnVnCisgKi8KKyNkZWZpbmUgU0NPTFNfREVCVUdfSEVMUAkoMSA8PCAwKQorI2RlZmluZSBTQ09MU19ERUJVR19JTklUCSgxIDw8IDEpCisjZGVmaW5lIFNDT0xTX0RFQlVHX0NFTEwJKDEgPDwgMikKKyNkZWZpbmUgU0NPTFNfREVCVUdfTElORQkoMSA8PCAzKQorI2RlZmluZSBTQ09MU19ERUJVR19UQUIJCSgxIDw8IDQpCisjZGVmaW5lIFNDT0xTX0RFQlVHX0NPTAkJKDEgPDwgNSkKKyNkZWZpbmUgU0NPTFNfREVCVUdfQlVGRgkoMSA8PCA2KQorI2RlZmluZSBTQ09MU19ERUJVR19BTEwJCTB4RkZGRgorCitVTF9ERUJVR19ERUNMQVJFX01BU0sobGlic21hcnRjb2xzKTsKKyNkZWZpbmUgREJHKG0sIHgpCV9fVUxfREJHKGxpYnNtYXJ0Y29scywgU0NPTFNfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkJX19VTF9EQkdfQ0FMTChsaWJzbWFydGNvbHMsIFNDT0xTX0RFQlVHXywgbSwgeCkKKyNkZWZpbmUgREJHX0ZMVVNICV9fVUxfREJHX0ZMVVNIKGxpYnNtYXJ0Y29scywgU0NPTFNfREVCVUdfKQorCisjZGVmaW5lIFVMX0RFQlVHX0NVUlJFTlRfTUFTSwlVTF9ERUJVR19NQVNLKGxpYnNtYXJ0Y29scykKKyNpbmNsdWRlICJkZWJ1Z29iai5oIgorCisvKgorICogR2VuZXJpYyBpdGVyYXRvcgorICovCitzdHJ1Y3QgbGlic2NvbHNfaXRlciB7CisJc3RydWN0IGxpc3RfaGVhZCAgICAgICAgKnA7CQkvKiBjdXJyZW50IHBvc2l0aW9uICovCisJc3RydWN0IGxpc3RfaGVhZCAgICAgICAgKmhlYWQ7CQkvKiBzdGFydCBwb3NpdGlvbiAqLworCWludAkJCWRpcmVjdGlvbjsJLyogU0NPTFNfSVRFUl97Rk9SLEJBQ0t9V0FSRCAqLworfTsKKworLyoKKyAqIFRyZWUgc3ltYm9scworICovCitzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyB7CisJaW50CXJlZmNvdW50OworCWNoYXIJKmJyYW5jaDsKKwljaGFyCSp2ZXJ0OworCWNoYXIJKnJpZ2h0OworCWNoYXIJKnRpdGxlX3BhZGRpbmc7CisJY2hhcgkqY2VsbF9wYWRkaW5nOworfTsKKworLyoKKyAqIFRhYmxlIGNlbGxzCisgKi8KK3N0cnVjdCBsaWJzY29sc19jZWxsIHsKKwljaGFyCSpkYXRhOworCWNoYXIJKmNvbG9yOworCXZvaWQgICAgKnVzZXJkYXRhOworCWludAlmbGFnczsKK307CisKK2V4dGVybiBpbnQgc2NvbHNfbGluZV9tb3ZlX2NlbGxzKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgc2l6ZV90IG5ld24sIHNpemVfdCBvbGRuKTsKKworLyoKKyAqIFRhYmxlIGNvbHVtbgorICovCitzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIHsKKwlpbnQJcmVmY291bnQ7CS8qIHJlZmVyZW5jZSBjb3VudGVyICovCisJc2l6ZV90CXNlcW51bTsJCS8qIGNvbHVtbiBpbmRleCAqLworCisJc2l6ZV90CXdpZHRoOwkJLyogcmVhbCBjb2x1bW4gd2lkdGggKi8KKwlzaXplX3QJd2lkdGhfbWluOwkvKiBtaW5pbWFsIHdpZHRoICh1c3VhbGx5IGhlYWRlciB3aWR0aCkgKi8KKwlzaXplX3QgIHdpZHRoX21heDsJLyogbWF4aW1hbCB3aWR0aCAqLworCXNpemVfdCAgd2lkdGhfYXZnOwkvKiBhdmVyYWdlIHdpZHRoLCB1c2VkIHRvIGRldGVjdCBleHRyZW1lIGZpZWxkcyAqLworCXNpemVfdAl3aWR0aF90cmVlYXJ0OwkvKiBzaXplIG9mIHRoZSB0cmVlIGFzY2lpIGFydCAqLworCWRvdWJsZQl3aWR0aF9oaW50OwkvKiBoaW50IChOIDwgMSBpcyBpbiBwZXJjZW50IG9mIHRlcm13aWR0aCkgKi8KKworCWludAlqc29uX3R5cGU7CS8qIFNDT0xTX0pTT05fKiAqLworCisJaW50CWZsYWdzOworCWludAlpc19leHRyZW1lOworCWNoYXIJKmNvbG9yOwkJLyogZGVmYXVsdCBjb2x1bW4gY29sb3IgKi8KKwljaGFyCSpzYWZlY2hhcnM7CS8qIGRvIG5vdCBlbmNvZGUgdGhpcyBieXRlcyAqLworCisJY2hhcgkqcGVuZGluZ19kYXRhOworCXNpemVfdAlwZW5kaW5nX2RhdGFfc3o7CisJY2hhcgkqcGVuZGluZ19kYXRhX2J1ZjsKKworCWludCAoKmNtcGZ1bmMpKHN0cnVjdCBsaWJzY29sc19jZWxsICosCisJCSAgICAgICBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqLAorCQkgICAgICAgdm9pZCAqKTsJCQkvKiBjZWxscyBjb21wYXJpc29uIGZ1bmN0aW9uICovCisJdm9pZCAqY21wZnVuY19kYXRhOworCisJc2l6ZV90ICgqd3JhcF9jaHVua3NpemUpKGNvbnN0IHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKiwKKwkJCWNvbnN0IGNoYXIgKiwgdm9pZCAqKTsKKwljaGFyICooKndyYXBfbmV4dGNodW5rKShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICosCisJCQljaGFyICosIHZvaWQgKik7CisJdm9pZCAqd3JhcGZ1bmNfZGF0YTsKKworCisJc3RydWN0IGxpYnNjb2xzX2NlbGwJaGVhZGVyOworCXN0cnVjdCBsaXN0X2hlYWQJY2xfY29sdW1uczsKKworCXN0cnVjdCBsaWJzY29sc190YWJsZQkqdGFibGU7Cit9OworCisvKgorICogVGFibGUgbGluZQorICovCitzdHJ1Y3QgbGlic2NvbHNfbGluZSB7CisJaW50CXJlZmNvdW50OworCXNpemVfdAlzZXFudW07CisKKwl2b2lkCSp1c2VyZGF0YTsKKwljaGFyCSpjb2xvcjsJCS8qIGRlZmF1bHQgbGluZSBjb2xvciAqLworCisJc3RydWN0IGxpYnNjb2xzX2NlbGwJKmNlbGxzOwkJLyogYXJyYXkgd2l0aCBkYXRhICovCisJc2l6ZV90CQkJbmNlbGxzOwkJLyogbnVtYmVyIG9mIGNlbGxzICovCisKKwlzdHJ1Y3QgbGlzdF9oZWFkCWxuX2xpbmVzOwkvKiB0YWJsZSBsaW5lcyAqLworCXN0cnVjdCBsaXN0X2hlYWQJbG5fYnJhbmNoOwkvKiBiZWdpbiBvZiBicmFuY2ggKGhlYWQgb2YgbG5fY2hpbGRyZW4pICovCisJc3RydWN0IGxpc3RfaGVhZAlsbl9jaGlsZHJlbjsKKworCXN0cnVjdCBsaWJzY29sc19saW5lCSpwYXJlbnQ7Cit9OworCitlbnVtIHsKKwlTQ09MU19GTVRfSFVNQU4gPSAwLAkJLyogZGVmYXVsdCwgaHVtYW4gcmVhZGFibGUgKi8KKwlTQ09MU19GTVRfUkFXLAkJCS8qIHNwYWNlIHNlcGFyYXRlZCAqLworCVNDT0xTX0ZNVF9FWFBPUlQsCQkvKiBDT0xOQU1FPSJkYXRhIiAuLi4gKi8KKwlTQ09MU19GTVRfSlNPTgkJCS8qIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvSlNPTiAqLworfTsKKworLyoKKyAqIFRoZSB0YWJsZQorICovCitzdHJ1Y3QgbGlic2NvbHNfdGFibGUgeworCWludAlyZWZjb3VudDsKKwljaGFyCSpuYW1lOwkJLyogb3B0aW9uYWwgdGFibGUgbmFtZSAoZm9yIEpTT04pICovCisJc2l6ZV90CW5jb2xzOwkJLyogbnVtYmVyIG9mIGNvbHVtbnMgKi8KKwlzaXplX3QgIG50cmVlY29sczsJLyogbnVtYmVyIG9mIGNvbHVtbnMgd2l0aCBTQ09MU19GTF9UUkVFICovCisJc2l6ZV90CW5saW5lczsJCS8qIG51bWJlciBvZiBsaW5lcyAqLworCXNpemVfdAl0ZXJtd2lkdGg7CS8qIHRlcm1pbmFsIHdpZHRoIChudW1iZXIgb2YgY29sdW1ucykgKi8KKwlzaXplX3QgIHRlcm1oZWlnaHQ7CS8qIHRlcm1pbmFsIGhlaWdodCAgKG51bWJlciBvZiBsaW5lcykgKi8KKwlzaXplX3QgIHRlcm1yZWR1Y2U7CS8qIGV4dHJhIGJsYW5rIHNwYWNlICovCisJaW50CXRlcm1mb3JjZTsJLyogU0NPTFNfVEVSTUZPUkNFXyogKi8KKwlGSUxFCSpvdXQ7CQkvKiBvdXRwdXQgc3RyZWFtICovCisKKwljaGFyCSpjb2xzZXA7CS8qIGNvbHVtbiBzZXBhcmF0b3IgKi8KKwljaGFyCSpsaW5lc2VwOwkvKiBsaW5lIHNlcGFyYXRvciAqLworCisJc3RydWN0IGxpc3RfaGVhZAl0Yl9jb2x1bW5zOworCXN0cnVjdCBsaXN0X2hlYWQJdGJfbGluZXM7CisJc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMJKnN5bWJvbHM7CisJc3RydWN0IGxpYnNjb2xzX2NlbGwJdGl0bGU7CQkvKiBvcHRpb25hbCB0YWJsZSB0aXRsZSAoZm9yIGh1bWFucykgKi8KKworCWludAlpbmRlbnQ7CQkvKiBpbmRlbnRpb24gY291bnRlciAqLworCWludAlpbmRlbnRfbGFzdF9zZXA7LyogbGFzdCBwcmludGVkIGhhcyBiZWVuIGxpbmUgc2VwYXJhdG9yICovCisJaW50CWZvcm1hdDsJCS8qIFNDT0xTX0ZNVF8qICovCisKKwlzaXplX3QJdGVybWxpbmVzX3VzZWQ7CS8qIHByaW50ZWQgbGluZSBjb3VudGVyICovCisJc2l6ZV90CWhlYWRlcl9uZXh0OwkvKiB3aGVyZSByZXBlYXQgaGVhZGVyICovCisKKwkvKiBmbGFncyAqLworCXVuc2lnbmVkIGludAlhc2NpaQkJOjEsCS8qIGRvbid0IHVzZSB1bmljb2RlICovCisJCQljb2xvcnNfd2FudGVkCToxLAkvKiBlbmFibGUgY29sb3JzICovCisJCQlpc190ZXJtCQk6MSwJLyogaXNhdHR5KCkgKi8KKwkJCXBhZGRpbmdfZGVidWcJOjEsCS8qIG91dHB1dCB2aXNpYmxlIHBhZGRpbmcgY2hhcnMgKi8KKwkJCW1heG91dAkJOjEsCS8qIG1heGltaXplIG91dHB1dCAqLworCQkJaGVhZGVyX3JlcGVhdCAgIDoxLCAgICAgLyogcHJpbnQgaGVhZGVyIGFmdGVyIGxpYnNjb2xzX3RhYmxlLT50ZXJtaGVpZ2h0ICovCisJCQloZWFkZXJfcHJpbnRlZCAgOjEsCS8qIGhlYWRlciBhbHJlYWR5IHByaW50ZWQgKi8KKwkJCXByaXZfc3ltYm9scwk6MSwJLyogZGVmYXVsdCBwcml2YXRlIHN5bWJvbHMgKi8KKwkJCW5vX2hlYWRpbmdzCToxLAkvKiBkb24ndCBwcmludCBoZWFkZXIgKi8KKwkJCW5vX2VuY29kZQk6MSwJLyogZG9uJ3QgY2FyZSBhYm91dCBjb250cm9sIGFuZCBub24tcHJpbnRhYmxlIGNoYXJzICovCisJCQlub19saW5lc2VwCToxLAkvKiBkb24ndCBwcmludCBsaW5lIHNlcGFyYXRvciAqLworCQkJbm9fd3JhcAkJOjE7CS8qIG5ldmVyIHdyYXAgbGluZXMgKi8KK307CisKKyNkZWZpbmUgSVNfSVRFUl9GT1JXQVJEKF9pKQkoKF9pKS0+ZGlyZWN0aW9uID09IFNDT0xTX0lURVJfRk9SV0FSRCkKKyNkZWZpbmUgSVNfSVRFUl9CQUNLV0FSRChfaSkJKChfaSktPmRpcmVjdGlvbiA9PSBTQ09MU19JVEVSX0JBQ0tXQVJEKQorCisjZGVmaW5lIFNDT0xTX0lURVJfSU5JVChpdHIsIGxpc3QpIFwKKwlkbyB7IFwKKwkJKGl0ciktPnAgPSBJU19JVEVSX0ZPUldBUkQoaXRyKSA/IFwKKwkJCQkobGlzdCktPm5leHQgOiAobGlzdCktPnByZXY7IFwKKwkJKGl0ciktPmhlYWQgPSAobGlzdCk7IFwKKwl9IHdoaWxlKDApCisKKyNkZWZpbmUgU0NPTFNfSVRFUl9JVEVSQVRFKGl0ciwgcmVzLCByZXN0eXBlLCBtZW1iZXIpIFwKKwlkbyB7IFwKKwkJcmVzID0gbGlzdF9lbnRyeSgoaXRyKS0+cCwgcmVzdHlwZSwgbWVtYmVyKTsgXAorCQkoaXRyKS0+cCA9IElTX0lURVJfRk9SV0FSRChpdHIpID8gXAorCQkJCShpdHIpLT5wLT5uZXh0IDogKGl0ciktPnAtPnByZXY7IFwKKwl9IHdoaWxlKDApCisKKworc3RhdGljIGlubGluZSBpbnQgc2NvbHNfaXRlcl9pc19sYXN0KGNvbnN0IHN0cnVjdCBsaWJzY29sc19pdGVyICppdHIpCit7CisJaWYgKCFpdHIgfHwgIWl0ci0+aGVhZCB8fCAhaXRyLT5wKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBpdHItPnAgPT0gaXRyLT5oZWFkOworfQorCisjZW5kaWYgLyogX0xJQlNNQVJUQ09MU19QUklWQVRFX0ggKi8KZGlmZiAtLWdpdCBhL2xpYnNtYXJ0Y29scy9zcmMvc3ltYm9scy5jIGIvbGlic21hcnRjb2xzL3NyYy9zeW1ib2xzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRkZjE4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvc3ltYm9scy5jCkBAIC0wLDAgKzEsMTczIEBACisvKgorICogc3ltYm9scy5jIC0gcm91dGluZXMgZm9yIHN5bWJvbCBoYW5kbGluZworICoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgSWdvciBHbmF0ZW5rbyA8aS5nbmF0ZW5rby5icmFpbkBnbWFpbC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUKKyAqIEdOVSBMZXNzZXIgR2VuZXJhbCBQdWJsaWMgTGljZW5zZS4KKyAqLworCisvKioKKyAqIFNFQ1RJT046IHN5bWJvbHMKKyAqIEB0aXRsZTogU3ltYm9scworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBhbGxvd3MgdG8gb3ZlcndyaXRlIGRlZmF1bHQgb3V0cHV0IGNoYXJzIChmb3IgYXNjaWkgYXJ0KQorICoKKyAqIEFuIEFQSSB0byBhY2Nlc3MgYW5kIG1vZGlmeSBkYXRhIGFuZCBpbmZvcm1hdGlvbiBwZXIgc3ltYm9sL3N5bWJvbCBncm91cC4KKyAqLworCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgInNtYXJ0Y29sc1AuaCIKKworLyoqCisgKiBzY29sc19uZXdfc3ltYm9sczoKKyAqCisgKiBSZXR1cm5zOiBhIHBvaW50ZXIgdG8gYSBuZXdseSBhbGxvY2F0ZWQgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgaW5zdGFuY2UuCisgKi8KK3N0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzY29sc19uZXdfc3ltYm9scyh2b2lkKQoreworCXN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSA9IGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMpKTsKKworCWlmICghc3kpCisJCXJldHVybiBOVUxMOworCXN5LT5yZWZjb3VudCA9IDE7CisJcmV0dXJuIHN5OworfQorCisvKioKKyAqIHNjb2xzX3JlZl9zeW1ib2xzOgorICogQHN5OiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyBpbnN0YW5jZQorICoKKyAqIEluY3JlYXNlcyB0aGUgcmVmY291bnQgb2YgQHN5LgorICovCit2b2lkIHNjb2xzX3JlZl9zeW1ib2xzKHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSkKK3sKKwlpZiAoc3kpCisJCXN5LT5yZWZjb3VudCsrOworfQorCisvKioKKyAqIHNjb2xzX3VucmVmX3N5bWJvbHM6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKgorICogRGVjcmVhc2VzIHRoZSByZWZjb3VudCBvZiBAc3kuCisgKi8KK3ZvaWQgc2NvbHNfdW5yZWZfc3ltYm9scyhzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3kpCit7CisJaWYgKHN5ICYmIC0tc3ktPnJlZmNvdW50IDw9IDApIHsKKwkJZnJlZShzeS0+YnJhbmNoKTsKKwkJZnJlZShzeS0+dmVydCk7CisJCWZyZWUoc3ktPnJpZ2h0KTsKKwkJZnJlZShzeS0+dGl0bGVfcGFkZGluZyk7CisJCWZyZWUoc3ktPmNlbGxfcGFkZGluZyk7CisJCWZyZWUoc3kpOworCX0KK30KKworLyoqCisgKiBzY29sc19zeW1ib2xzX3NldF9icmFuY2g6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKiBAc3RyOiBhIHN0cmluZyB3aGljaCB3aWxsIHJlcHJlc2VudCB0aGUgYnJhbmNoIHBhcnQgb2YgYSB0cmVlIG91dHB1dAorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3N5bWJvbHNfc2V0X2JyYW5jaChzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3ksIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoc3ksIGJyYW5jaCwgc3RyKTsKK30KKworLyoqCisgKiBzY29sc19zeW1ib2xzX3NldF92ZXJ0aWNhbDoKKyAqIEBzeTogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgaW5zdGFuY2UKKyAqIEBzdHI6IGEgc3RyaW5nIHdoaWNoIHdpbGwgcmVwcmVzZW50IHRoZSB2ZXJ0aWNhbCBwYXJ0IG9mIGEgdHJlZSBvdXRwdXQKKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19zeW1ib2xzX3NldF92ZXJ0aWNhbChzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3ksIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoc3ksIHZlcnQsIHN0cik7Cit9CisKKy8qKgorICogc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQ6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKiBAc3RyOiBhIHN0cmluZyB3aGljaCB3aWxsIHJlcHJlc2VudCB0aGUgcmlnaHQgcGFydCBvZiBhIHRyZWUgb3V0cHV0CisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQoc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5LCBjb25zdCBjaGFyICpzdHIpCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKHN5LCByaWdodCwgc3RyKTsKK30KKworLyoqCisgKiBzY29sc19zeW1ib2xzX3NldF90aXRsZV9wYWRkaW5nOgorICogQHN5OiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyBpbnN0YW5jZQorICogQHN0cjogYSBzdHJpbmcgd2hpY2ggd2lsbCByZXByZXNlbnQgdGhlIHN5bWJvbHMgd2hpY2ggZmlsbCB0aXRsZSBvdXRwdXQKKyAqCisgKiBUaGUgY3VycmVudCBpbXBsZW1lbnRhdGlvbiB1c2VzIG9ubHkgdGhlIGZpcnN0IGJ5dGUgZnJvbSB0aGUgcGFkZGluZyBzdHJpbmcuCisgKiBBIG11bHRpYnl0ZSBjaGFycyBhcmUgbm90IHN1cHBvcnRlZCB5ZXQuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICoKKyAqIFNpbmNlOiAyLjI4CisgKi8KK2ludCBzY29sc19zeW1ib2xzX3NldF90aXRsZV9wYWRkaW5nKHN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzeSwgY29uc3QgY2hhciAqc3RyKQoreworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcihzeSwgdGl0bGVfcGFkZGluZywgc3RyKTsKK30KKworLyoqCisgKiBzY29sc19zeW1ib2xzX3NldF9jZWxsX3BhZGRpbmc6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKiBAc3RyOiBhIHN0cmluZyB3aGljaCB3aWxsIHJlcHJlc2VudCB0aGUgc3ltYm9scyB3aGljaCBmaWxsIGNlbGxzCisgKgorICogVGhlIHBhZGRpbmcgY2hhciBoYXMgdG8gdGFrZSB1cCBqdXN0IG9uZSBjZWxsIG9uIHRoZSB0ZXJtaW5hbC4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX3N5bWJvbHNfc2V0X2NlbGxfcGFkZGluZyhzdHJ1Y3QgbGlic2NvbHNfc3ltYm9scyAqc3ksIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIoc3ksIGNlbGxfcGFkZGluZywgc3RyKTsKK30KKworLyoqCisgKiBzY29sc19jb3B5X3N5bWJvbHM6CisgKiBAc3k6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19zeW1ib2xzIGluc3RhbmNlCisgKgorICogUmV0dXJuczogYSBuZXdseSBhbGxvY2F0ZWQgY29weSBvZiB0aGUgQHN5IHN5bWJvbCBncm91cCBvciBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK3N0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzY29sc19jb3B5X3N5bWJvbHMoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5KQoreworCXN0cnVjdCBsaWJzY29sc19zeW1ib2xzICpyZXQ7CisJaW50IHJjOworCisJYXNzZXJ0KHN5KTsKKwlpZiAoIXN5KQorCQlyZXR1cm4gTlVMTDsKKworCXJldCA9IHNjb2xzX25ld19zeW1ib2xzKCk7CisJaWYgKCFyZXQpCisJCXJldHVybiBOVUxMOworCisJcmMgPSBzY29sc19zeW1ib2xzX3NldF9icmFuY2gocmV0LCBzeS0+YnJhbmNoKTsKKwlpZiAoIXJjKQorCQlyYyA9IHNjb2xzX3N5bWJvbHNfc2V0X3ZlcnRpY2FsKHJldCwgc3ktPnZlcnQpOworCWlmICghcmMpCisJCXJjID0gc2NvbHNfc3ltYm9sc19zZXRfcmlnaHQocmV0LCBzeS0+cmlnaHQpOworCWlmICghcmMpCisJCXJjID0gc2NvbHNfc3ltYm9sc19zZXRfdGl0bGVfcGFkZGluZyhyZXQsIHN5LT50aXRsZV9wYWRkaW5nKTsKKwlpZiAoIXJjKQorCQlyYyA9IHNjb2xzX3N5bWJvbHNfc2V0X2NlbGxfcGFkZGluZyhyZXQsIHN5LT5jZWxsX3BhZGRpbmcpOworCWlmICghcmMpCisJCXJldHVybiByZXQ7CisKKwlzY29sc191bnJlZl9zeW1ib2xzKHJldCk7CisJcmV0dXJuIE5VTEw7Cit9CmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc3JjL3RhYmxlLmMgYi9saWJzbWFydGNvbHMvc3JjL3RhYmxlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTc5YTA5YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnNtYXJ0Y29scy9zcmMvdGFibGUuYwpAQCAtMCwwICsxLDE1NDIgQEAKKy8qCisgKiB0YWJsZS5jIC0gZnVuY3Rpb25zIGhhbmRsaW5nIHRoZSBkYXRhIGF0IHRoZSB0YWJsZSBsZXZlbAorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMC0yMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ29yIEduYXRlbmtvIDxpLmduYXRlbmtvLmJyYWluQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogdGFibGUKKyAqIEB0aXRsZTogVGFibGUKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogY29udGFpbmVyIGZvciByb3dzIGFuZCBjb2x1bW5zCisgKgorICogVGFibGUgZGF0YSBtYW5pcHVsYXRpb24gQVBJLgorICovCisKKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJzbWFydGNvbHNQLmgiCisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisjZGVmaW5lIFVURl9WCSJcMzQyXDIyNFwyMDIiCS8qIFUrMjUwMiwgVmVydGljYWwgbGluZSBkcmF3aW5nIGNoYXIgKi8KKyNkZWZpbmUgVVRGX1ZSCSJcMzQyXDIyNFwyMzQiCS8qIFUrMjUxQywgVmVydGljYWwgYW5kIHJpZ2h0ICovCisjZGVmaW5lIFVURl9ICSJcMzQyXDIyNFwyMDAiCS8qIFUrMjUwMCwgSG9yaXpvbnRhbCAqLworI2RlZmluZSBVVEZfVVIJIlwzNDJcMjI0XDIyNCIJLyogVSsyNTE0LCBVcCBhbmQgcmlnaHQgKi8KKyNlbmRpZiAvKiAhSEFWRV9XSURFQ0hBUiAqLworCisjZGVmaW5lIGlzX2xhc3RfY29sdW1uKF90YiwgX2NsKSBcCisJCWxpc3RfZW50cnlfaXNfbGFzdCgmKF9jbCktPmNsX2NvbHVtbnMsICYoX3RiKS0+dGJfY29sdW1ucykKKworCitzdGF0aWMgdm9pZCBjaGVja19wYWRkaW5nX2RlYnVnKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJY29uc3QgY2hhciAqc3RyOworCisJYXNzZXJ0KGxpYnNtYXJ0Y29sc19kZWJ1Z19tYXNrKTsJLyogZGVidWcgaGFzIHRvIGJlIGVuYWJsZWQhICovCisKKwlzdHIgPSBnZXRlbnYoIkxJQlNNQVJUQ09MU19ERUJVR19QQURESU5HIik7CisJaWYgKCFzdHIgfHwgKHN0cmNtcChzdHIsICJvbiIpICE9IDAgJiYgc3RyY21wKHN0ciwgIjEiKSAhPSAwKSkKKwkJcmV0dXJuOworCisJREJHKElOSVQsIHVsX2RlYnVnb2JqKHRiLCAicGFkZGluZyBkZWJ1ZzogRU5BQkxFIikpOworCXRiLT5wYWRkaW5nX2RlYnVnID0gMTsKK30KKworLyoqCisgKiBzY29sc19uZXdfdGFibGU6CisgKgorICogUmV0dXJuczogQSBuZXdseSBhbGxvY2F0ZWQgdGFibGUuCisgKi8KK3N0cnVjdCBsaWJzY29sc190YWJsZSAqc2NvbHNfbmV3X3RhYmxlKHZvaWQpCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YjsKKwlpbnQgYywgbDsKKworCXRiID0gY2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbGlic2NvbHNfdGFibGUpKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKworCXRiLT5yZWZjb3VudCA9IDE7CisJdGItPm91dCA9IHN0ZG91dDsKKworCWdldF90ZXJtaW5hbF9kaW1lbnNpb24oJmMsICZsKTsKKwl0Yi0+dGVybXdpZHRoICA9IGMgPiAwID8gYyA6IDgwOworCXRiLT50ZXJtaGVpZ2h0ID0gbCA+IDAgPyBsIDogMjQ7CisKKwlJTklUX0xJU1RfSEVBRCgmdGItPnRiX2xpbmVzKTsKKwlJTklUX0xJU1RfSEVBRCgmdGItPnRiX2NvbHVtbnMpOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhbGxvYyIpKTsKKwlPTl9EQkcoSU5JVCwgY2hlY2tfcGFkZGluZ19kZWJ1Zyh0YikpOworCisJcmV0dXJuIHRiOworfQorCisvKioKKyAqIHNjb2xzX3JlZl90YWJsZToKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKgorICogSW5jcmVhc2VzIHRoZSByZWZjb3VudCBvZiBAdGIuCisgKi8KK3ZvaWQgc2NvbHNfcmVmX3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaWYgKHRiKQorCQl0Yi0+cmVmY291bnQrKzsKK30KKworLyoqCisgKiBzY29sc191bnJlZl90YWJsZToKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKgorICogRGVjcmVhc2VzIHRoZSByZWZjb3VudCBvZiBAdGIuIFdoZW4gdGhlIGNvdW50IGZhbGxzIHRvIHplcm8sIHRoZSBpbnN0YW5jZQorICogaXMgYXV0b21hdGljYWxseSBkZWFsbG9jYXRlZC4KKyAqLwordm9pZCBzY29sc191bnJlZl90YWJsZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCWlmICh0YiAmJiAoLS10Yi0+cmVmY291bnQgPD0gMCkpIHsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJkZWFsbG9jIikpOworCQlzY29sc190YWJsZV9yZW1vdmVfbGluZXModGIpOworCQlzY29sc190YWJsZV9yZW1vdmVfY29sdW1ucyh0Yik7CisJCXNjb2xzX3VucmVmX3N5bWJvbHModGItPnN5bWJvbHMpOworCQlzY29sc19yZXNldF9jZWxsKCZ0Yi0+dGl0bGUpOworCQlmcmVlKHRiLT5saW5lc2VwKTsKKwkJZnJlZSh0Yi0+Y29sc2VwKTsKKwkJZnJlZSh0Yi0+bmFtZSk7CisJCWZyZWUodGIpOworCX0KK30KKworLyoqCisgKiBzY29sc190YWJsZV9zZXRfbmFtZToKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKiBAbmFtZTogYSBuYW1lCisgKgorICogVGhlIHRhYmxlIG5hbWUgaXMgdXNlZCBmb3IgZXhhbXBsZSBmb3IgSlNPTiB0b3AgbGV2ZWwgb2JqZWN0IG5hbWUuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4yNworICovCitpbnQgc2NvbHNfdGFibGVfc2V0X25hbWUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlyZXR1cm4gc3RyZHVwX3RvX3N0cnVjdF9tZW1iZXIodGIsIG5hbWUsIG5hbWUpOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2dldF9uYW1lOgorICogQHRiOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiBUaGUgY3VycmVudCBuYW1lIHNldHRpbmcgb2YgdGhlIHRhYmxlIEB0YgorICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2NvbnN0IGNoYXIgKnNjb2xzX3RhYmxlX2dldF9uYW1lKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5uYW1lOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2dldF90aXRsZToKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKgorICogVGhlIHJldHVybmVkIHBvaW50ZXIgaXMgcG9zc2libGUgdG8gbW9kaWZ5IGJ5IGNlbGwgZnVuY3Rpb25zLiBOb3RlIHRoYXQKKyAqIHRpdGxlIG91dHB1dCBhbGlnbm1lbnQgb24gbm9uLXR0eSBpcyBoYXJkY29kZWQgdG8gODAgb3V0cHV0IGNoYXJzLiBGb3IgdGhlCisgKiByZWd1bGFyIHRlcm1pbmFsIGl0J3MgYmFzZWQgb24gdGVybWluYWwgd2lkdGguCisgKgorICogUmV0dXJuczogVGl0bGUgb2YgdGhlIHRhYmxlLCBvciBOVUxMIGluIGNhc2Ugb2YgYmxhbmsgdGl0bGUuCisgKgorICogU2luY2U6IDIuMjgKKyAqLworc3RydWN0IGxpYnNjb2xzX2NlbGwgKnNjb2xzX3RhYmxlX2dldF90aXRsZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiAmdGItPnRpdGxlOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2FkZF9jb2x1bW46CisgKiBAdGI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc190YWJsZSBpbnN0YW5jZQorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uIGluc3RhbmNlCisgKgorICogQWRkcyBAY2wgdG8gQHRiJ3MgY29sdW1uIGxpc3QuIFRoZSBjb2x1bW4gY2Fubm90IGJlIHNoYXJlZCBiZXR3ZWVuIG1vcmUKKyAqIHRhYmxlcy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfYWRkX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCWludCByYyA9IDA7CisKKwlpZiAoIXRiIHx8ICFjbCB8fCBjbC0+dGFibGUpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNsLT5mbGFncyAmIFNDT0xTX0ZMX1RSRUUpCisJCXRiLT5udHJlZWNvbHMrKzsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYWRkIGNvbHVtbiIpKTsKKwlsaXN0X2FkZF90YWlsKCZjbC0+Y2xfY29sdW1ucywgJnRiLT50Yl9jb2x1bW5zKTsKKwljbC0+c2VxbnVtID0gdGItPm5jb2xzKys7CisJY2wtPnRhYmxlID0gdGI7CisJc2NvbHNfcmVmX2NvbHVtbihjbCk7CisKKwlpZiAobGlzdF9lbXB0eSgmdGItPnRiX2xpbmVzKSkKKwkJcmV0dXJuIDA7CisKKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisKKwkvKiBSZWFsbG9jIGxpbmUgY2VsbCBhcnJheXMKKwkgKi8KKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRiLCAmaXRyLCAmbG4pID09IDApIHsKKwkJcmMgPSBzY29sc19saW5lX2FsbG9jX2NlbGxzKGxuLCB0Yi0+bmNvbHMpOworCQlpZiAocmMpCisJCQlicmVhazsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbjoKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKiBAY2w6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gaW5zdGFuY2UKKyAqCisgKiBSZW1vdmVzIEBjbCBmcm9tIEB0Yi4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfcmVtb3ZlX2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJICAgICAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wpCit7CisJaWYgKCF0YiB8fCAhY2wgfHwgIWxpc3RfZW1wdHkoJnRiLT50Yl9saW5lcykpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGNsLT5mbGFncyAmIFNDT0xTX0ZMX1RSRUUpCisJCXRiLT5udHJlZWNvbHMtLTsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicmVtb3ZlIGNvbHVtbiIpKTsKKwlsaXN0X2RlbF9pbml0KCZjbC0+Y2xfY29sdW1ucyk7CisJdGItPm5jb2xzLS07CisJY2wtPnRhYmxlID0gTlVMTDsKKwlzY29sc191bnJlZl9jb2x1bW4oY2wpOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX3JlbW92ZV9jb2x1bW5zOgorICogQHRiOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgaW5zdGFuY2UKKyAqCisgKiBSZW1vdmVzIGFsbCBvZiBAdGIncyBjb2x1bW5zLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9yZW1vdmVfY29sdW1ucyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCWlmICghdGIgfHwgIWxpc3RfZW1wdHkoJnRiLT50Yl9saW5lcykpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZW1vdmUgYWxsIGNvbHVtbnMiKSk7CisJd2hpbGUgKCFsaXN0X2VtcHR5KCZ0Yi0+dGJfY29sdW1ucykpIHsKKwkJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wgPSBsaXN0X2VudHJ5KHRiLT50Yl9jb2x1bW5zLm5leHQsCisJCQkJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4sIGNsX2NvbHVtbnMpOworCQlzY29sc190YWJsZV9yZW1vdmVfY29sdW1uKHRiLCBjbCk7CisJfQorCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX21vdmVfY29sdW1uOgorICogQHRiOiB0YWJsZQorICogQHByZTogY29sdW1uIGJlZm9yZSB0aGUgY29sdW1uCisgKiBAY2w6IGNvbHVtbiB0byBtb3ZlCisgKgorICogTW92ZSB0aGUgQGNsIGJlaGluZCBAcHJlLiBJZiB0aGUgQHByZSBpcyBOVUxMIHRoZW4gdGhlIEBjb2wgaXMgdGhlIGZpcnN0CisgKiBjb2x1bW4gaW4gdGhlIHRhYmxlLgorICoKKyAqIFNpbmNlOiAyLjMwCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX21vdmVfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkgICAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqcHJlLAorCQkJICAgIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKmhlYWQ7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKnA7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXNpemVfdCBuID0gMCwgb2xkc2VxOworCisJaWYgKCF0YiB8fCAhY2wpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHByZSAmJiBwcmUtPnNlcW51bSArIDEgPT0gY2wtPnNlcW51bSkKKwkJcmV0dXJuIDA7CisJaWYgKHByZSA9PSBOVUxMICYmIGNsLT5zZXFudW0gPT0gMCkKKwkJcmV0dXJuIDA7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIm1vdmUgY29sdW1uICV6dSBiZWhpbmQgJXp1IiwKKwkJCQljbC0+c2VxbnVtLCBwcmU/IHByZS0+c2VxbnVtIDogMCkpOworCisJbGlzdF9kZWxfaW5pdCgmY2wtPmNsX2NvbHVtbnMpOwkJLyogcmVtb3ZlIGZyb20gb2xkIHBvc2l0aW9uICovCisKKwloZWFkID0gcHJlID8gJnByZS0+Y2xfY29sdW1ucyA6ICZ0Yi0+dGJfY29sdW1uczsKKwlsaXN0X2FkZCgmY2wtPmNsX2NvbHVtbnMsIGhlYWQpOwkvKiBhZGQgdG8gdGhlIG5ldyBwbGFjZSAqLworCisJb2xkc2VxID0gY2wtPnNlcW51bTsKKworCS8qIGZpeCBzZXEuIG51bWJlcnMgKi8KKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmcCkgPT0gMCkKKwkJcC0+c2VxbnVtID0gbisrOworCisJLyogbW92ZSBkYXRhIGluIGxpbmVzICovCisJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUodGIsICZpdHIsICZsbikgPT0gMCkKKwkJc2NvbHNfbGluZV9tb3ZlX2NlbGxzKGxuLCBjbC0+c2VxbnVtLCBvbGRzZXEpOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX25ld19jb2x1bW46CisgKiBAdGI6IHRhYmxlCisgKiBAbmFtZTogY29sdW1uIGhlYWRlcgorICogQHdoaW50OiBjb2x1bW4gd2lkdGggaGludCAoYWJzb2x1dGUgd2lkdGg6IE4gPiAxOyByZWxhdGl2ZSB3aWR0aDogMCA8IE4gPCAxKQorICogQGZsYWdzOiBmbGFncyBpbnRlZ2VyCisgKgorICogVGhpcyBpcyBzaG9ydGN1dCBmb3IKKyAqCisgKiAgIGNsID0gc2NvbHNfbmV3X2NvbHVtbigpOworICogICBzY29sc19jb2x1bW5fc2V0Xy4uLi4oY2wsIC4uLik7CisgKiAgIHNjb2xzX3RhYmxlX2FkZF9jb2x1bW4odGIsIGNsKTsKKyAqCisgKiBUaGUgY29sdW1uIHdpZHRoIGlzIHBvc3NpYmxlIHRvIGRlZmluZSBieToKKyAqCisgKiAgQHdoaW50OiAwIDwgTiA8IDEgIDogcmVsYXRpdmUgd2lkdGgsIHBlcmNlbnQgb2YgdGVybWluYWwgd2lkdGgKKyAqCisgKiAgQHdoaW50OiBOID49IDEgICAgIDogYWJzb2x1dGUgd2lkdGgsIGVtcHR5IGNvbHVtbiB3aWxsIGJlIHRydW5jYXRlZCB0bworICogICAgICAgICAgICAgICAgICAgICB0aGUgY29sdW1uIGhlYWRlciB3aWR0aCBpZiBubyBzcGVjaWZpZWQgU1RSSUNUV0lEVEggZmxhZworICoKKyAqIE5vdGUgdGhhdCBpZiB0YWJsZSBoYXMgZGlzYWJsZWQgIm1heG91dCIgZmxhZyAoZGlzYWJsZWQgYnkgZGVmYXVsdCkgdGhhbgorICogcmVsYXRpdmUgd2lkdGggaXMgdXNlZCBhcyBhIGhpbnQgb25seS4gSXQncyBwb3NzaWJsZSB0aGF0IGNvbHVtbiB3aWxsIGJlCisgKiBuYXJyb3cgaWYgdGhlIHNwZWNpZmllZCBzaXplIGlzIHRvbyBsYXJnZSBmb3IgY29sdW1uIGRhdGEuCisgKgorICoKKyAqIElmIHRoZSB3aWR0aCBvZiBhbGwgY29sdW1ucyBpcyBncmVhdGVyIHRoYW4gdGVybWluYWwgd2lkdGggdGhlbiBsaWJyYXJ5CisgKiB0cmllcyB0byByZWR1Y2Ugd2lkdGggb2YgdGhlIGluZGl2aWR1YWwgY29sdW1ucy4gSXQncyBkb25lIGluIHRocmVlIHN0YWdlczoKKyAqCisgKiAjMSByZWR1Y2UgY29sdW1ucyB3aXRoIFNDT0xTX0ZMX1RSVU5DIGZsYWcgYW5kIHdpdGggcmVsYXRpdmUgd2lkdGggaWYgdGhlCisgKiAgICB3aWR0aCBpcyBncmVhdGVyIHRoYW4gd2lkdGggZGVmaW5lZCBieSBAd2hpbnQgKEB3aGludCAqIHRlcm1pbmFsX3dpZHRoKQorICoKKyAqICMyIHJlZHVjZSBhbGwgY29sdW1ucyB3aXRoIFNDT0xTX0ZMX1RSVU5DIGZsYWcKKyAqCisgKiAjMyByZWR1Y2UgYWxsIGNvbHVtbnMgd2l0aCByZWxhdGl2ZSB3aWR0aAorICoKKyAqIFRoZSBuZXh0IHN0YWdlIGlzIGFsd2F5cyB1c2VkIGlmIHRoZSBwcmV2aW91cyBzdGFnZSBpcyB1bnN1Y2Nlc3NmdWwuIE5vdGUKKyAqIHRoYXQgU0NPTFNfRkxfV1JBUCBpcyBpbnRlcnByZXRlZCBhcyBTQ09MU19GTF9UUlVOQyB3aGVuIGNhbGN1bGF0ZSBjb2x1bW4KKyAqIHdpZHRoIChpZiBjdXN0b20gd3JhcCBmdW5jdGlvbiBpcyBub3Qgc3BlY2lmaWVkKSwgYnV0IHRoZSBmaW5hbCB0ZXh0IGlzIG5vdAorICogdHJ1bmNhdGVkLCBidXQgd3JhcHBlZCB0byBtdWx0aS1saW5lIGNlbGwuCisgKgorICoKKyAqIFRoZSBjb2x1bW4gaXMgbmVjZXNzYXJ5IHRvIGFkZHJlc3MgYnkgc2VxdWVudGlhbCBudW1iZXIuIFRoZSBmaXJzdCBkZWZpbmVkCisgKiBjb2x1bW4gaGFzIHRoZSBjb2xudW0gPSAwLiBGb3IgZXhhbXBsZToKKyAqCisgKglzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYiwgIkZPTyIsIDAuNSwgMCk7CQkvLyBjb2xudW0gPSAwCisgKglzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYiwgIkJBUiIsIDAuNSwgMCk7CQkvLyBjb2xudW0gPSAxCisgKiAgICAgIC4KKyAqICAgICAgLgorICoJc2NvbHNfbGluZV9nZXRfY2VsbChsaW5lLCAwKTsJCQkJLy8gRk9PIGNvbHVtbgorICoJc2NvbHNfbGluZV9nZXRfY2VsbChsaW5lLCAxKTsJCQkJLy8gQkFSIGNvbHVtbgorICoKKyAqIFJldHVybnM6IG5ld2x5IGFsbG9jYXRlZCBjb2x1bW4KKyAqLworc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqc2NvbHNfdGFibGVfbmV3X2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCQkgICAgICAgY29uc3QgY2hhciAqbmFtZSwKKwkJCQkJICAgICAgIGRvdWJsZSB3aGludCwKKwkJCQkJICAgICAgIGludCBmbGFncykKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqaHI7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibmV3IGNvbHVtbiBuYW1lPSVzLCB3aGludD0lZywgZmxhZ3M9JWQiLAorCQkJCW5hbWUsIHdoaW50LCBmbGFncykpOworCWNsID0gc2NvbHNfbmV3X2NvbHVtbigpOworCWlmICghY2wpCisJCXJldHVybiBOVUxMOworCisJLyogc2V0IGNvbHVtbiBuYW1lICovCisJaHIgPSBzY29sc19jb2x1bW5fZ2V0X2hlYWRlcihjbCk7CisJaWYgKCFocikKKwkJZ290byBlcnI7CisJaWYgKHNjb2xzX2NlbGxfc2V0X2RhdGEoaHIsIG5hbWUpKQorCQlnb3RvIGVycjsKKworCXNjb2xzX2NvbHVtbl9zZXRfd2hpbnQoY2wsIHdoaW50KTsKKwlzY29sc19jb2x1bW5fc2V0X2ZsYWdzKGNsLCBmbGFncyk7CisKKwlpZiAoc2NvbHNfdGFibGVfYWRkX2NvbHVtbih0YiwgY2wpKQkvKiB0aGlzIGluY3JlbWVudHMgY29sdW1uIHJlZi1jb3VudGVyICovCisJCWdvdG8gZXJyOworCisJc2NvbHNfdW5yZWZfY29sdW1uKGNsKTsKKwlyZXR1cm4gY2w7CitlcnI6CisJc2NvbHNfdW5yZWZfY29sdW1uKGNsKTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9uZXh0X2NvbHVtbjoKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKiBAaXRyOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfaXRlciBpbnN0YW5jZQorICogQGNsOiBhIHBvaW50ZXIgdG8gYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiBpbnN0YW5jZQorICoKKyAqIFJldHVybnMgdGhlIG5leHQgY29sdW1uIG9mIEB0YiB2aWEgQGNsLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkgICAgc3RydWN0IGxpYnNjb2xzX2l0ZXIgKml0ciwKKwkJCSAgICBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICoqY2wpCit7CisJaW50IHJjID0gMTsKKworCWlmICghdGIgfHwgIWl0ciB8fCAhY2wpCisJCXJldHVybiAtRUlOVkFMOworCSpjbCA9IE5VTEw7CisKKwlpZiAoIWl0ci0+aGVhZCkKKwkJU0NPTFNfSVRFUl9JTklUKGl0ciwgJnRiLT50Yl9jb2x1bW5zKTsKKwlpZiAoaXRyLT5wICE9IGl0ci0+aGVhZCkgeworCQlTQ09MU19JVEVSX0lURVJBVEUoaXRyLCAqY2wsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4sIGNsX2NvbHVtbnMpOworCQlyYyA9IDA7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2dldF9uY29sczoKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiB0aGUgbmNvbHMgdGFibGUgbWVtYmVyLgorICovCitzaXplX3Qgc2NvbHNfdGFibGVfZ2V0X25jb2xzKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5uY29sczsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9nZXRfbmxpbmVzOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IHRoZSBubGluZXMgdGFibGUgbWVtYmVyLgorICovCitzaXplX3Qgc2NvbHNfdGFibGVfZ2V0X25saW5lcyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+bmxpbmVzOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX3NldF9zdHJlYW06CisgKiBAdGI6IHRhYmxlCisgKiBAc3RyZWFtOiBvdXRwdXQgc3RyZWFtCisgKgorICogU2V0cyB0aGUgb3V0cHV0IHN0cmVhbSBmb3IgdGFibGUgQHRiLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9zZXRfc3RyZWFtKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIEZJTEUgKnN0cmVhbSkKK3sKKwlhc3NlcnQodGIpOworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJzZXR0aW5nIGFsdGVybmF0aXZlIHN0cmVhbSIpKTsKKwl0Yi0+b3V0ID0gc3RyZWFtOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2dldF9zdHJlYW06CisgKiBAdGI6IHRhYmxlCisgKgorICogR2V0cyB0aGUgb3V0cHV0IHN0cmVhbSBmb3IgdGFibGUgQHRiLgorICoKKyAqIFJldHVybnM6IHN0cmVhbSBwb2ludGVyLCBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3Igb3IgYW4gdW5zZXQgc3RyZWFtLgorICovCitGSUxFICpzY29sc190YWJsZV9nZXRfc3RyZWFtKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5vdXQ7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfcmVkdWNlX3Rlcm13aWR0aDoKKyAqIEB0YjogdGFibGUKKyAqIEByZWR1Y2U6IHdpZHRoCisgKgorICogSWYgbmVjZXNzYXJ5IHRoZW4gbGlic21hcnRjb2xzIHVzZSBhbGwgdGVybWluYWwgd2lkdGgsIHRoZSBAcmVkdWNlIHNldHRpbmcKKyAqIHByb3ZpZGVzIGV4dHJhIHNwYWNlIChmb3IgZXhhbXBsZSBmb3IgYm9yZGVycyBpbiBuY3Vyc2VzIGFwcGxpY2F0aW9ucykuCisgKgorICogVGhlIEByZWR1Y2UgbXVzdCBiZSBzbWFsbGVyIHRoYW4gdGVybWluYWwgd2lkdGgsIG90aGVyd2lzZSBpdCdzIHNpbGVudGx5CisgKiBpZ25vcmVkLiBUaGUgcmVkdWN0aW9uIGlzIG5vdCBhcHBsaWVkIHdoZW4gU1RET1VUX0ZJTEVOTyBpcyBub3QgdGVybWluYWwuCisgKgorICogTm90ZSB0aGF0IGFmdGVyIG91dHB1dCBpbml0aWFsaXphdGlvbiAoc2NvbHNfdGFibGVfcHJpbnRfKiBjYWxscykgdGhlIHdpZHRoCisgKiB3aWxsIGJlIHJlZHVjZWQsIHRoaXMgYmVoYXZpb3IgYWZmZWN0cyBzdWJzZXF1ZW5jZWQgc2NvbHNfdGFibGVfZ2V0X3Rlcm13aWR0aCgpCisgKiBjYWxscy4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9yZWR1Y2VfdGVybXdpZHRoKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHNpemVfdCByZWR1Y2UpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInJlZHVjZSB0ZXJtaW5hbCB3aWR0aDogJXp1IiwgcmVkdWNlKSk7CisJdGItPnRlcm1yZWR1Y2UgPSByZWR1Y2U7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X2NvbHVtbjoKKyAqIEB0YjogdGFibGUKKyAqIEBuOiBudW1iZXIgb2YgY29sdW1uICgwLi5OKQorICoKKyAqIFJldHVybnM6IHBvaW50ZXIgdG8gY29sdW1uIG9yIE5VTEwKKyAqLworc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqc2NvbHNfdGFibGVfZ2V0X2NvbHVtbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCQkgICAgICAgc2l6ZV90IG4pCit7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCisJaWYgKCF0YikKKwkJcmV0dXJuIE5VTEw7CisJaWYgKG4gPj0gdGItPm5jb2xzKQorCQlyZXR1cm4gTlVMTDsKKworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQlpZiAoY2wtPnNlcW51bSA9PSBuKQorCQkJcmV0dXJuIGNsOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9hZGRfbGluZToKKyAqIEB0YjogdGFibGUKKyAqIEBsbjogbGluZQorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGNhbGxzIHNjb2xzX2xpbmVfYWxsb2NfY2VsbHMoKSBpZiBudW1iZXIKKyAqIG9mIHRoZSBjZWxscyBpbiB0aGUgbGluZSBpcyB0b28gc21hbGwgZm9yIEB0Yi4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9hZGRfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJaWYgKCF0YiB8fCAhbG4gfHwgdGItPm5jb2xzID09IDApCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKHRiLT5uY29scyA+IGxuLT5uY2VsbHMpIHsKKwkJaW50IHJjID0gc2NvbHNfbGluZV9hbGxvY19jZWxscyhsbiwgdGItPm5jb2xzKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIHJjOworCX0KKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiYWRkIGxpbmUiKSk7CisJbGlzdF9hZGRfdGFpbCgmbG4tPmxuX2xpbmVzLCAmdGItPnRiX2xpbmVzKTsKKwlsbi0+c2VxbnVtID0gdGItPm5saW5lcysrOworCXNjb2xzX3JlZl9saW5lKGxuKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9yZW1vdmVfbGluZToKKyAqIEB0YjogdGFibGUKKyAqIEBsbjogbGluZQorICoKKyAqIE5vdGUgdGhhdCB0aGlzIGZ1bmN0aW9uIGRvZXMgbm90IGRlc3Ryb3kgdGhlIHBhcmVudDwtPmNoaWxkIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGxpbmVzLgorICogWW91IGhhdmUgdG8gY2FsbCBzY29sc19saW5lX3JlbW92ZV9jaGlsZCgpCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfcmVtb3ZlX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCSAgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4pCit7CisJaWYgKCF0YiB8fCAhbG4pCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZW1vdmUgbGluZSIpKTsKKwlsaXN0X2RlbF9pbml0KCZsbi0+bG5fbGluZXMpOworCXRiLT5ubGluZXMtLTsKKwlzY29sc191bnJlZl9saW5lKGxuKTsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9yZW1vdmVfbGluZXM6CisgKiBAdGI6IHRhYmxlCisgKgorICogVGhpcyBlbXB0aWVzIHRoZSB0YWJsZSBhbmQgYWxzbyBkZXN0cm95cyBhbGwgdGhlIHBhcmVudDwtPmNoaWxkIHJlbGF0aW9uc2hpcHMuCisgKi8KK3ZvaWQgc2NvbHNfdGFibGVfcmVtb3ZlX2xpbmVzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyZW1vdmUgYWxsIGxpbmVzIikpOworCXdoaWxlICghbGlzdF9lbXB0eSgmdGItPnRiX2xpbmVzKSkgeworCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4gPSBsaXN0X2VudHJ5KHRiLT50Yl9saW5lcy5uZXh0LAorCQkJCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2xpbmVzKTsKKwkJaWYgKGxuLT5wYXJlbnQpCisJCQlzY29sc19saW5lX3JlbW92ZV9jaGlsZChsbi0+cGFyZW50LCBsbik7CisJCXNjb2xzX3RhYmxlX3JlbW92ZV9saW5lKHRiLCBsbik7CisJfQorfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX25leHRfbGluZToKKyAqIEB0YjogYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX3RhYmxlIGluc3RhbmNlCisgKiBAaXRyOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfaXRlciBpbnN0YW5jZQorICogQGxuOiBhIHBvaW50ZXIgdG8gYSBwb2ludGVyIHRvIGEgc3RydWN0IGxpYnNjb2xzX2xpbmUgaW5zdGFuY2UKKyAqCisgKiBGaW5kcyB0aGUgbmV4dCBsaW5lIGFuZCByZXR1cm5zIGEgcG9pbnRlciB0byBpdCB2aWEgQGxuLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX25leHRfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqKmxuKQoreworCWludCByYyA9IDE7CisKKwlpZiAoIXRiIHx8ICFpdHIgfHwgIWxuKQorCQlyZXR1cm4gLUVJTlZBTDsKKwkqbG4gPSBOVUxMOworCisJaWYgKCFpdHItPmhlYWQpCisJCVNDT0xTX0lURVJfSU5JVChpdHIsICZ0Yi0+dGJfbGluZXMpOworCWlmIChpdHItPnAgIT0gaXRyLT5oZWFkKSB7CisJCVNDT0xTX0lURVJfSVRFUkFURShpdHIsICpsbiwgc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2xpbmVzKTsKKwkJcmMgPSAwOworCX0KKworCXJldHVybiByYzsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9uZXdfbGluZToKKyAqIEB0YjogdGFibGUKKyAqIEBwYXJlbnQ6IHBhcmVudGFsIGxpbmUgb3IgTlVMTAorICoKKyAqIFRoaXMgaXMgc2hvcnRjdXQgZm9yCisgKgorICogICBsbiA9IHNjb2xzX25ld19saW5lKCk7CisgKiAgIHNjb2xzX3RhYmxlX2FkZF9saW5lKHRiLCBsbik7CisgKiAgIHNjb2xzX2xpbmVfYWRkX2NoaWxkKHBhcmVudCwgbG4pOworICoKKyAqCisgKiBSZXR1cm5zOiBuZXdseSBhbGxvY2F0ZSBsaW5lCisgKi8KK3N0cnVjdCBsaWJzY29sc19saW5lICpzY29sc190YWJsZV9uZXdfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCQkgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50KQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKworCWlmICghdGIgfHwgIXRiLT5uY29scykKKwkJcmV0dXJuIE5VTEw7CisKKwlsbiA9IHNjb2xzX25ld19saW5lKCk7CisJaWYgKCFsbikKKwkJcmV0dXJuIE5VTEw7CisKKwlpZiAoc2NvbHNfdGFibGVfYWRkX2xpbmUodGIsIGxuKSkKKwkJZ290byBlcnI7CisJaWYgKHBhcmVudCkKKwkJc2NvbHNfbGluZV9hZGRfY2hpbGQocGFyZW50LCBsbik7CisKKwlzY29sc191bnJlZl9saW5lKGxuKTsJLyogcmVmLWNvdW50ZXIgaW5jcmVtZW50ZWQgYnkgc2NvbHNfdGFibGVfYWRkX2xpbmUoKSAqLworCXJldHVybiBsbjsKK2VycjoKKwlzY29sc191bnJlZl9saW5lKGxuKTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9nZXRfbGluZToKKyAqIEB0YjogdGFibGUKKyAqIEBuOiBjb2x1bW4gbnVtYmVyICgwLi5OKQorICoKKyAqIFJldHVybnM6IGEgbGluZSBvciBOVUxMCisgKi8KK3N0cnVjdCBsaWJzY29sc19saW5lICpzY29sc190YWJsZV9nZXRfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCQkgICBzaXplX3QgbikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCisJaWYgKCF0YikKKwkJcmV0dXJuIE5VTEw7CisJaWYgKG4gPj0gdGItPm5saW5lcykKKwkJcmV0dXJuIE5VTEw7CisKKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgJml0ciwgJmxuKSA9PSAwKSB7CisJCWlmIChsbi0+c2VxbnVtID09IG4pCisJCQlyZXR1cm4gbG47CisJfQorCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIHNjb2xzX2NvcHlfdGFibGU6CisgKiBAdGI6IHRhYmxlCisgKgorICogQ3JlYXRlcyBhIG5ldyBpbmRlcGVuZGVudCB0YWJsZSBjb3B5LCBleGNlcHQgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgdGhhdAorICogYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSB0YWJsZXMuCisgKgorICogUmV0dXJuczogYSBuZXdseSBhbGxvY2F0ZWQgY29weSBvZiBAdGIKKyAqLworc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzY29sc19jb3B5X3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICpyZXQ7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKworCWlmICghdGIpCisJCXJldHVybiBOVUxMOworCXJldCA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghcmV0KQorCQlyZXR1cm4gTlVMTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiY29weSIpKTsKKworCWlmICh0Yi0+c3ltYm9scykKKwkJc2NvbHNfdGFibGVfc2V0X3N5bWJvbHMocmV0LCB0Yi0+c3ltYm9scyk7CisKKwkvKiBjb2x1bW5zICovCisJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YiwgJml0ciwgJmNsKSA9PSAwKSB7CisJCWNsID0gc2NvbHNfY29weV9jb2x1bW4oY2wpOworCQlpZiAoIWNsKQorCQkJZ290byBlcnI7CisJCWlmIChzY29sc190YWJsZV9hZGRfY29sdW1uKHJldCwgY2wpKQorCQkJZ290byBlcnI7CisJCXNjb2xzX3VucmVmX2NvbHVtbihjbCk7CisJfQorCisJLyogbGluZXMgKi8KKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgJml0ciwgJmxuKSA9PSAwKSB7CisJCXN0cnVjdCBsaWJzY29sc19saW5lICpuZXdsbiA9IHNjb2xzX2NvcHlfbGluZShsbik7CisJCWlmICghbmV3bG4pCisJCQlnb3RvIGVycjsKKwkJaWYgKHNjb2xzX3RhYmxlX2FkZF9saW5lKHJldCwgbmV3bG4pKQorCQkJZ290byBlcnI7CisJCWlmIChsbi0+cGFyZW50KSB7CisJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcCA9CisJCQkJc2NvbHNfdGFibGVfZ2V0X2xpbmUocmV0LCBsbi0+cGFyZW50LT5zZXFudW0pOworCQkJaWYgKHApCisJCQkJc2NvbHNfbGluZV9hZGRfY2hpbGQocCwgbmV3bG4pOworCQl9CisJCXNjb2xzX3VucmVmX2xpbmUobmV3bG4pOworCX0KKworCS8qIHNlcGFyYXRvcnMgKi8KKwlpZiAoc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3IocmV0LCB0Yi0+Y29sc2VwKSB8fAorCSAgICBzY29sc190YWJsZV9zZXRfbGluZV9zZXBhcmF0b3IocmV0LCB0Yi0+bGluZXNlcCkpCisJCWdvdG8gZXJyOworCisJcmV0dXJuIHJldDsKK2VycjoKKwlzY29sc191bnJlZl90YWJsZShyZXQpOworCXJldHVybiBOVUxMOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX3NldF9kZWZhdWx0X3N5bWJvbHM6CisgKiBAdGI6IHRhYmxlCisgKgorICogVGhlIGxpYnJhcnkgY2hlY2sgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgdG8gc2VsZWN0IEFTQ0lJIG9yIFVURjggc3ltYm9scy4KKyAqIFRoaXMgZGVmYXVsdCBiZWhhdmlvciBjb3VsZCBiZSBjb250cm9sbGVkIGJ5IHNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaSgpLgorICoKKyAqIFVzZSBzY29sc190YWJsZV9zZXRfc3ltYm9scygpIHRvIHVuc2V0IHN5bWJvbHMgb3IgdXNlIHlvdXIgb3duIHNldHRpbmcuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2ludCBzY29sc190YWJsZV9zZXRfZGVmYXVsdF9zeW1ib2xzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5OworCWludCByYzsKKworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJzZXR0aW5nIGRlZmF1bHQgc3ltYm9scyIpKTsKKworCXN5ID0gc2NvbHNfbmV3X3N5bWJvbHMoKTsKKwlpZiAoIXN5KQorCQlyZXR1cm4gLUVOT01FTTsKKworI2lmIGRlZmluZWQoSEFWRV9XSURFQ0hBUikKKwlpZiAoIXNjb2xzX3RhYmxlX2lzX2FzY2lpKHRiKSAmJgorCSAgICAhc3RyY21wKG5sX2xhbmdpbmZvKENPREVTRVQpLCAiVVRGLTgiKSkgeworCQlzY29sc19zeW1ib2xzX3NldF9icmFuY2goc3ksIFVURl9WUiBVVEZfSCk7CisJCXNjb2xzX3N5bWJvbHNfc2V0X3ZlcnRpY2FsKHN5LCBVVEZfViAiICIpOworCQlzY29sc19zeW1ib2xzX3NldF9yaWdodChzeSwgVVRGX1VSIFVURl9IKTsKKwl9IGVsc2UKKyNlbmRpZgorCXsKKwkJc2NvbHNfc3ltYm9sc19zZXRfYnJhbmNoKHN5LCAifC0iKTsKKwkJc2NvbHNfc3ltYm9sc19zZXRfdmVydGljYWwoc3ksICJ8ICIpOworCQlzY29sc19zeW1ib2xzX3NldF9yaWdodChzeSwgImAtIik7CisJfQorCXNjb2xzX3N5bWJvbHNfc2V0X3RpdGxlX3BhZGRpbmcoc3ksICIgIik7CisJc2NvbHNfc3ltYm9sc19zZXRfY2VsbF9wYWRkaW5nKHN5LCAiICIpOworCisJcmMgPSBzY29sc190YWJsZV9zZXRfc3ltYm9scyh0Yiwgc3kpOworCXNjb2xzX3VucmVmX3N5bWJvbHMoc3kpOworCXJldHVybiByYzsKK30KKworCisvKioKKyAqIHNjb2xzX3RhYmxlX3NldF9zeW1ib2xzOgorICogQHRiOiB0YWJsZQorICogQHN5OiBzeW1ib2xzIG9yIE5VTEwKKyAqCisgKiBBZGQgYSByZWZlcmVuY2UgdG8gQHN5IGZyb20gdGhlIHRhYmxlLiBUaGUgc3ltYm9scyBhcmUgdXNlZCBieSBsaWJyYXJ5IHRvCisgKiBkcmF3IHRyZWUgb3V0cHV0LiBJZiBubyBzeW1ib2xzIGFyZSB1c2VkIGZvciB0aGUgdGFibGUgdGhlbiBsaWJyYXJ5IGNyZWF0ZXMKKyAqIGRlZmF1bHQgdGVtcG9yYXJ5IHN5bWJvbHMgdG8gZHJhdyBvdXRwdXQgYnkgc2NvbHNfdGFibGVfc2V0X2RlZmF1bHRfc3ltYm9scygpLgorICoKKyAqIElmIEBzeSBpcyBOVUxMIHRoZW4gcmVtb3ZlIHJlZmVyZW5jZSBmcm9tIHRoZSBjdXJyZW50bHkgdXNlZCBzeW1ib2xzLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX3NldF9zeW1ib2xzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkgICAgc3RydWN0IGxpYnNjb2xzX3N5bWJvbHMgKnN5KQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJLyogcmVtb3ZlIG9sZCAqLworCWlmICh0Yi0+c3ltYm9scykgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInJlbW92ZSBzeW1ib2xzIHJlZmVyZW5jZSIpKTsKKwkJc2NvbHNfdW5yZWZfc3ltYm9scyh0Yi0+c3ltYm9scyk7CisJCXRiLT5zeW1ib2xzID0gTlVMTDsKKwl9CisKKwkvKiBzZXQgbmV3ICovCisJaWYgKHN5KSB7CQkJCQkvKiByZWYgdXNlciBkZWZpbmVkICovCisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAic2V0IHN5bWJvbHMiKSk7CisJCXRiLT5zeW1ib2xzID0gc3k7CisJCXNjb2xzX3JlZl9zeW1ib2xzKHN5KTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X3N5bWJvbHM6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogcG9pbnRlciB0byBzeW1ib2xzIHRhYmxlLgorICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK3N0cnVjdCBsaWJzY29sc19zeW1ib2xzICpzY29sc190YWJsZV9nZXRfc3ltYm9scyhjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+c3ltYm9sczsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9lbmFibGVfbm9saW5lc2VwOgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogRW5hYmxlL2Rpc2FibGUgbGluZSBzZXBhcmF0b3IgcHJpbnRpbmcuIFRoaXMgaXMgdXNlZnVsIGlmIHlvdSB3YW50IHRvCisgKiByZS1wcmludGluZyB0aGUgc2FtZSBsaW5lIG1vcmUgdGhhbiBvbmNlIChlLmcuIHByb2dyZXNzIGJhcikuIERvbid0IHVzZSBpdAorICogaWYgeW91J3JlIG5vdCBzdXJlLgorICoKKyAqIE5vdGUgdGhhdCBmb3IgdGhlIGxhc3QgbGluZSBpbiB0aGUgdGFibGUgdGhlIHNlcGFyYXRvciBpcyBkaXNhYmxlZCBhdCBhbGwuCisgKiBUaGUgbGlicmFyeSBkaWZmZXJlbnRpYXRlIGJldHdlZW4gdGFibGUgdGVybWluYXRvciBhbmQgbGluZSB0ZXJtaW5hdG9yCisgKiAoYWx0aG91Z2ggZm9yIHN0YW5kYXJkIG91dHB1dCBcbiBieXRlIGlzIHVzZWQgaW4gYm90aCBjYXNlcykuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9ub2xpbmVzZXAoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAibm9saW5lc2VwOiAlcyIsIGVuYWJsZSA/ICJFTkFCTEUiIDogIkRJU0FCTEUiKSk7CisJdGItPm5vX2xpbmVzZXAgPSBlbmFibGUgPyAxIDogMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19ub2xpbmVzZXA6CisgKiBAdGI6IGEgcG9pbnRlciB0byBhIHN0cnVjdCBsaWJzY29sc190YWJsZSBpbnN0YW5jZQorICoKKyAqIFJldHVybnM6IDEgaWYgbGluZSBzZXBhcmF0b3IgcHJpbnRpbmcgaXMgZGlzYWJsZWQuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX3RhYmxlX2lzX25vbGluZXNlcChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+bm9fbGluZXNlcDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9lbmFibGVfY29sb3JzOgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogRW5hYmxlL2Rpc2FibGUgY29sb3JzLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc190YWJsZV9lbmFibGVfY29sb3JzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImNvbG9yczogJXMiLCBlbmFibGUgPyAiRU5BQkxFIiA6ICJESVNBQkxFIikpOworCXRiLT5jb2xvcnNfd2FudGVkID0gZW5hYmxlOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9yYXc6CisgKiBAdGI6IHRhYmxlCisgKiBAZW5hYmxlOiAxIG9yIDAKKyAqCisgKiBFbmFibGUvZGlzYWJsZSByYXcgb3V0cHV0IGZvcm1hdC4gVGhlIHBhcnNhYmxlIG91dHB1dCBmb3JtYXRzCisgKiAoZXhwb3J0LCByYXcsIEpTT04sIC4uLikgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfZW5hYmxlX3JhdyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJyYXc6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwlpZiAoZW5hYmxlKQorCQl0Yi0+Zm9ybWF0ID0gU0NPTFNfRk1UX1JBVzsKKwllbHNlIGlmICh0Yi0+Zm9ybWF0ID09IFNDT0xTX0ZNVF9SQVcpCisJCXRiLT5mb3JtYXQgPSAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9qc29uOgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogRW5hYmxlL2Rpc2FibGUgSlNPTiBvdXRwdXQgZm9ybWF0LiBUaGUgcGFyc2FibGUgb3V0cHV0IGZvcm1hdHMKKyAqIChleHBvcnQsIHJhdywgSlNPTiwgLi4uKSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjcKKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImpzb246ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwlpZiAoZW5hYmxlKQorCQl0Yi0+Zm9ybWF0ID0gU0NPTFNfRk1UX0pTT047CisJZWxzZSBpZiAodGItPmZvcm1hdCA9PSBTQ09MU19GTVRfSlNPTikKKwkJdGItPmZvcm1hdCA9IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydDoKKyAqIEB0YjogdGFibGUKKyAqIEBlbmFibGU6IDEgb3IgMAorICoKKyAqIEVuYWJsZS9kaXNhYmxlIGV4cG9ydCBvdXRwdXQgZm9ybWF0IChDT0xVTU5BTUU9InZhbHVlIiAuLi4pLgorICogVGhlIHBhcnNhYmxlIG91dHB1dCBmb3JtYXRzIChleHBvcnQgYW5kIHJhdykgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKyAqCisgKiBSZXR1cm5zOiAwIG9uIHN1Y2Nlc3MsIG5lZ2F0aXZlIG51bWJlciBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJleHBvcnQ6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwlpZiAoZW5hYmxlKQorCQl0Yi0+Zm9ybWF0ID0gU0NPTFNfRk1UX0VYUE9SVDsKKwllbHNlIGlmICh0Yi0+Zm9ybWF0ID09IFNDT0xTX0ZNVF9FWFBPUlQpCisJCXRiLT5mb3JtYXQgPSAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaToKKyAqIEB0YjogdGFibGUKKyAqIEBlbmFibGU6IDEgb3IgMAorICoKKyAqIFRoZSBBU0NJSS1vbmx5IG91dHB1dCBpcyByZWxldmFudCBmb3IgdHJlZS1saWtlIG91dHB1dHMuIFRoZSBsaWJyYXJ5CisgKiBjaGVja3MgaWYgdGhlIGN1cnJlbnQgZW52aXJvbm1lbnQgaXMgVVRGOCBjb21wYXRpYmxlIGJ5IGRlZmF1bHQuIFRoaXMKKyAqIGZ1bmN0aW9uIG92ZXJyaWRlcyB0aGlzIGNoZWNrIGFuZCBmb3JjZSB0aGUgbGlicmFyeSB0byB1c2UgQVNDSUkgY2hhcnMKKyAqIGZvciB0aGUgdHJlZS4KKyAqCisgKiBJZiBhIGN1c3RvbSBsaWJjb2xzX3N5bWJvbHMgYXJlIHNwZWNpZmllZCAoc2VlIHNjb2xzX3RhYmxlX3NldF9zeW1ib2xzKCkKKyAqIHRoZW4gQVNDSUkgZmxhZyBzZXR0aW5nIGlzIGlnbm9yZWQuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9hc2NpaShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgZW5hYmxlKQoreworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJhc2NpaTogJXMiLCBlbmFibGUgPyAiRU5BQkxFIiA6ICJESVNBQkxFIikpOworCXRiLT5hc2NpaSA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzOgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogRW5hYmxlL2Rpc2FibGUgaGVhZGVyIGxpbmUuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJub2hlYWRpbmc6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwl0Yi0+bm9faGVhZGluZ3MgPSBlbmFibGUgPyAxIDogMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9lbmFibGVfaGVhZGVyX3JlcGVhdDoKKyAqIEB0YjogdGFibGUKKyAqIEBlbmFibGU6IDEgb3IgMAorICoKKyAqIEVuYWJsZS9kaXNhYmxlIGhlYWRlciBsaW5lIHJlcGVhdC4gVGhlIGhlYWRlciBsaW5lIGlzIHByaW50ZWQgb25seSBvbmNlIGJ5CisgKiBkZWZhdWx0LiAgTm90ZSB0aGF0IHRoZSBmbGFnIHdpbGwgYmUgc2lsZW50bHkgaWdub3JlZCBhbmQgZGlzYWJsZWQgaWYgdGhlCisgKiBvdXRwdXQgaXMgbm90IG9uIHRlcm1pbmFsIG9yIG91dHB1dCBmb3JtYXQgaXMgSlNPTiwgcmF3LCBldGMuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqCisgKiBTaW5jZTogMi4zMQorICovCitpbnQgc2NvbHNfdGFibGVfZW5hYmxlX2hlYWRlcl9yZXBlYXQoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImhlYWRlci1yZXBlYXQ6ICVzIiwgZW5hYmxlID8gIkVOQUJMRSIgOiAiRElTQUJMRSIpKTsKKwl0Yi0+aGVhZGVyX3JlcGVhdCA9IGVuYWJsZSA/IDEgOiAwOworCXJldHVybiAwOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2VuYWJsZV9tYXhvdXQ6CisgKiBAdGI6IHRhYmxlCisgKiBAZW5hYmxlOiAxIG9yIDAKKyAqCisgKiBUaGUgZXh0cmEgc3BhY2UgYWZ0ZXIgbGFzdCBjb2x1bW4gaXMgaWdub3JlZCBieSBkZWZhdWx0LiBUaGUgb3V0cHV0CisgKiBtYXhpbWl6YXRpb24gdXNlIHRoZSBleHRyYSBzcGFjZSBmb3IgYWxsIGNvbHVtbnMuCisgKgorICogUmV0dXJuczogMCBvbiBzdWNjZXNzLCBuZWdhdGl2ZSBudW1iZXIgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9tYXhvdXQoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIm1heG91dDogJXMiLCBlbmFibGUgPyAiRU5BQkxFIiA6ICJESVNBQkxFIikpOworCXRiLT5tYXhvdXQgPSBlbmFibGUgPyAxIDogMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9lbmFibGVfbm93cmFwOgorICogQHRiOiB0YWJsZQorICogQGVuYWJsZTogMSBvciAwCisgKgorICogTmV2ZXIgY29udGludWUgb24gbmV4dCBsaW5lLCByZW1vdmUgbGFzdCBjb2x1bW4ocykgd2hlbiB0b28gbGFyZ2UsIHRydW5jYXRlIGxhc3QgY29sdW1uLgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjgKKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9ub3dyYXAoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50IGVuYWJsZSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIm5vd3JhcDogJXMiLCBlbmFibGUgPyAiRU5BQkxFIiA6ICJESVNBQkxFIikpOworCXRiLT5ub193cmFwID0gZW5hYmxlID8gMSA6IDA7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfaXNfbm93cmFwOgorICogQHRiOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiAxIGlmIG5vd3JhcCBpcyBlbmFibGVkLgorICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2ludCBzY29sc190YWJsZV9pc19ub3dyYXAoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPm5vX3dyYXA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZW5hYmxlX25vZW5jb2Rpbmc6CisgKiBAdGI6IHRhYmxlCisgKiBAZW5hYmxlOiAxIG9yIDAKKyAqCisgKiBUaGUgbGlicmFyeSBlbmNvZGUgbm9uLXByaW50YWJsZSBhbmQgY29udHJvbCBjaGFycyBieSBceEhFWCBieSBkZWZhdWx0LgorICoKKyAqIFJldHVybnM6IDAgb24gc3VjY2VzcywgbmVnYXRpdmUgbnVtYmVyIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMzEKKyAqLworaW50IHNjb2xzX3RhYmxlX2VuYWJsZV9ub2VuY29kaW5nKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBlbmFibGUpCit7CisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJlbmNvZGluZzogJXMiLCBlbmFibGUgPyAiRU5BQkxFIiA6ICJESVNBQkxFIikpOworCXRiLT5ub19lbmNvZGUgPSBlbmFibGUgPyAxIDogMDsKKwlyZXR1cm4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19ub2VuY29kaW5nOgorICogQHRiOiBhIHBvaW50ZXIgdG8gYSBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgaW5zdGFuY2UKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGVuY29kaW5nIGlzIGRpc2FibGVkLgorICoKKyAqIFNpbmNlOiAyLjMxCisgKi8KK2ludCBzY29sc190YWJsZV9pc19ub2VuY29kaW5nKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5ub19lbmNvZGU7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfY29sb3JzX3dhbnRlZDoKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGNvbG9ycyBhcmUgZW5hYmxlZC4KKyAqLworaW50IHNjb2xzX3RhYmxlX2NvbG9yc193YW50ZWQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPmNvbG9yc193YW50ZWQ7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfaXNfZW1wdHk6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogMSBpZiB0aGUgdGFibGUgaXMgZW1wdHkuCisgKi8KK2ludCBzY29sc190YWJsZV9pc19lbXB0eShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiAhdGItPm5saW5lczsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19hc2NpaToKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIEFTQ0lJIHRyZWUgaXMgZW5hYmxlZC4KKyAqLworaW50IHNjb2xzX3RhYmxlX2lzX2FzY2lpKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5hc2NpaTsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19ub2hlYWRpbmdzOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IDEgaWYgaGVhZGVyIG91dHB1dCBpcyBkaXNhYmxlZC4KKyAqLworaW50IHNjb2xzX3RhYmxlX2lzX25vaGVhZGluZ3MoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPm5vX2hlYWRpbmdzOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2lzX2hlYWRlcl9yZXBlYXQKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIGhlYWRlciByZXBlYXQgaXMgZW5hYmxlZC4KKyAqCisgKiBTaW5jZTogMi4zMQorICovCitpbnQgc2NvbHNfdGFibGVfaXNfaGVhZGVyX3JlcGVhdChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+aGVhZGVyX3JlcGVhdDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19leHBvcnQ6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogMSBpZiBleHBvcnQgb3V0cHV0IGZvcm1hdCBpcyBlbmFibGVkLgorICovCitpbnQgc2NvbHNfdGFibGVfaXNfZXhwb3J0KGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5mb3JtYXQgPT0gU0NPTFNfRk1UX0VYUE9SVDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19yYXc6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogMSBpZiByYXcgb3V0cHV0IGZvcm1hdCBpcyBlbmFibGVkLgorICovCitpbnQgc2NvbHNfdGFibGVfaXNfcmF3KGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5mb3JtYXQgPT0gU0NPTFNfRk1UX1JBVzsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19qc29uOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IDEgaWYgSlNPTiBvdXRwdXQgZm9ybWF0IGlzIGVuYWJsZWQuCisgKgorICogU2luY2U6IDIuMjcKKyAqLworaW50IHNjb2xzX3RhYmxlX2lzX2pzb24oY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPmZvcm1hdCA9PSBTQ09MU19GTVRfSlNPTjsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc19tYXhvdXQKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiAxIGlmIG91dHB1dCBtYXhpbWl6YXRpb24gaXMgZW5hYmxlZCBvciAwCisgKi8KK2ludCBzY29sc190YWJsZV9pc19tYXhvdXQoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPm1heG91dDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9pc190cmVlOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IHJldHVybnMgMSB0cmVlLWxpa2Ugb3V0cHV0IGlzIGV4cGVjdGVkLgorICovCitpbnQgc2NvbHNfdGFibGVfaXNfdHJlZShjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+bnRyZWVjb2xzID4gMDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcjoKKyAqIEB0YjogdGFibGUKKyAqIEBzZXA6IHNlcGFyYXRvcgorICoKKyAqIFNldHMgdGhlIGNvbHVtbiBzZXBhcmF0b3Igb2YgQHRiIHRvIEBzZXAuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCitpbnQgc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3Ioc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgY29uc3QgY2hhciAqc2VwKQoreworCXJldHVybiBzdHJkdXBfdG9fc3RydWN0X21lbWJlcih0YiwgY29sc2VwLCBzZXApOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX3NldF9saW5lX3NlcGFyYXRvcjoKKyAqIEB0YjogdGFibGUKKyAqIEBzZXA6IHNlcGFyYXRvcgorICoKKyAqIFNldHMgdGhlIGxpbmUgc2VwYXJhdG9yIG9mIEB0YiB0byBAc2VwLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX3NldF9saW5lX3NlcGFyYXRvcihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpzZXApCit7CisJcmV0dXJuIHN0cmR1cF90b19zdHJ1Y3RfbWVtYmVyKHRiLCBsaW5lc2VwLCBzZXApOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX2dldF9jb2x1bW5fc2VwYXJhdG9yOgorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IEB0YiBjb2x1bW4gc2VwYXJhdG9yLCBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IKKyAqLworY29uc3QgY2hhciAqc2NvbHNfdGFibGVfZ2V0X2NvbHVtbl9zZXBhcmF0b3IoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPmNvbHNlcDsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9nZXRfbGluZV9zZXBhcmF0b3I6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmV0dXJuczogQHRiIGxpbmUgc2VwYXJhdG9yLCBOVUxMIGluIGNhc2Ugb2YgYW4gZXJyb3IKKyAqLworY29uc3QgY2hhciAqc2NvbHNfdGFibGVfZ2V0X2xpbmVfc2VwYXJhdG9yKGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT5saW5lc2VwOworfQorLyogZm9yIGxpbmVzIGluIHRoZSBzdHJ1Y3QgbGlic2NvbHNfbGluZS0+bG5fbGluZXMgbGlzdCAqLworc3RhdGljIGludCBjZWxsc19jbXBfd3JhcHBlcl9saW5lcyhzdHJ1Y3QgbGlzdF9oZWFkICphLCBzdHJ1Y3QgbGlzdF9oZWFkICpiLCB2b2lkICpkYXRhKQoreworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsID0gKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKikgZGF0YTsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcmEsICpyYjsKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2EsICpjYjsKKworCWFzc2VydChhKTsKKwlhc3NlcnQoYik7CisJYXNzZXJ0KGNsKTsKKworCXJhID0gbGlzdF9lbnRyeShhLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSwgbG5fbGluZXMpOworCXJiID0gbGlzdF9lbnRyeShiLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSwgbG5fbGluZXMpOworCWNhID0gc2NvbHNfbGluZV9nZXRfY2VsbChyYSwgY2wtPnNlcW51bSk7CisJY2IgPSBzY29sc19saW5lX2dldF9jZWxsKHJiLCBjbC0+c2VxbnVtKTsKKworCXJldHVybiBjbC0+Y21wZnVuYyhjYSwgY2IsIGNsLT5jbXBmdW5jX2RhdGEpOworfQorCisvKiBmb3IgbGluZXMgaW4gdGhlIHN0cnVjdCBsaWJzY29sc19saW5lLT5sbl9jaGlsZHJlbiBsaXN0ICovCitzdGF0aWMgaW50IGNlbGxzX2NtcF93cmFwcGVyX2NoaWxkcmVuKHN0cnVjdCBsaXN0X2hlYWQgKmEsIHN0cnVjdCBsaXN0X2hlYWQgKmIsIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wgPSAoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqKSBkYXRhOworCXN0cnVjdCBsaWJzY29sc19saW5lICpyYSwgKnJiOworCXN0cnVjdCBsaWJzY29sc19jZWxsICpjYSwgKmNiOworCisJYXNzZXJ0KGEpOworCWFzc2VydChiKTsKKwlhc3NlcnQoY2wpOworCisJcmEgPSBsaXN0X2VudHJ5KGEsIHN0cnVjdCBsaWJzY29sc19saW5lLCBsbl9jaGlsZHJlbik7CisJcmIgPSBsaXN0X2VudHJ5KGIsIHN0cnVjdCBsaWJzY29sc19saW5lLCBsbl9jaGlsZHJlbik7CisJY2EgPSBzY29sc19saW5lX2dldF9jZWxsKHJhLCBjbC0+c2VxbnVtKTsKKwljYiA9IHNjb2xzX2xpbmVfZ2V0X2NlbGwocmIsIGNsLT5zZXFudW0pOworCisJcmV0dXJuIGNsLT5jbXBmdW5jKGNhLCBjYiwgY2wtPmNtcGZ1bmNfZGF0YSk7Cit9CisKKworc3RhdGljIGludCBzb3J0X2xpbmVfY2hpbGRyZW4oc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLCBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJaWYgKGxpc3RfZW1wdHkoJmxuLT5sbl9icmFuY2gpKQorCQlyZXR1cm4gMDsKKworCWxpc3RfZm9yX2VhY2gocCwgJmxuLT5sbl9icmFuY2gpIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmNobGQgPQorCQkJCWxpc3RfZW50cnkocCwgc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2NoaWxkcmVuKTsKKwkJc29ydF9saW5lX2NoaWxkcmVuKGNobGQsIGNsKTsKKwl9CisKKwlsaXN0X3NvcnQoJmxuLT5sbl9icmFuY2gsIGNlbGxzX2NtcF93cmFwcGVyX2NoaWxkcmVuLCBjbCk7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfc29ydF90YWJsZToKKyAqIEB0YjogdGFibGUKKyAqIEBjbDogb3JkZXIgYnkgdGhpcyBjb2x1bW4KKyAqCisgKiBPcmRlcnMgdGhlIHRhYmxlIGJ5IHRoZSBjb2x1bW4uIFNlZSBhbHNvIHNjb2xzX2NvbHVtbl9zZXRfY21wZnVuYygpLiBJZiB0aGUKKyAqIHRyZWUgb3V0cHV0IGlzIGVuYWJsZWQgdGhlbiBjaGlsZHJlbiBpbiB0aGUgdHJlZSBhcmUgcmVjdXJzaXZlbHkgc29ydGVkIHRvby4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19zb3J0X3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCWlmICghdGIgfHwgIWNsIHx8ICFjbC0+Y21wZnVuYykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInNvcnRpbmcgdGFibGUiKSk7CisJbGlzdF9zb3J0KCZ0Yi0+dGJfbGluZXMsIGNlbGxzX2NtcF93cmFwcGVyX2xpbmVzLCBjbCk7CisKKwlpZiAoc2NvbHNfdGFibGVfaXNfdHJlZSh0YikpIHsKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCQlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisKKwkJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCQl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRiLCAmaXRyLCAmbG4pID09IDApCisJCQlzb3J0X2xpbmVfY2hpbGRyZW4obG4sIGNsKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHN0cnVjdCBsaWJzY29sc19saW5lICptb3ZlX2xpbmVfYW5kX2NoaWxkcmVuKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgc3RydWN0IGxpYnNjb2xzX2xpbmUgKnByZSkKK3sKKwlpZiAocHJlKSB7CisJCWxpc3RfZGVsX2luaXQoJmxuLT5sbl9saW5lcyk7CQkJLyogcmVtb3ZlIGZyb20gb2xkIHBvc2l0aW9uICovCisJICAgICAgICBsaXN0X2FkZCgmbG4tPmxuX2xpbmVzLCAmcHJlLT5sbl9saW5lcyk7ICAgICAgICAvKiBhZGQgdG8gdGhlIG5ldyBwbGFjZSAoYmVoaW5kIEBwcmUpICovCisJfQorCXByZSA9IGxuOworCisJaWYgKCFsaXN0X2VtcHR5KCZsbi0+bG5fYnJhbmNoKSkgeworCQlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJCWxpc3RfZm9yX2VhY2gocCwgJmxuLT5sbl9icmFuY2gpIHsKKwkJCXN0cnVjdCBsaWJzY29sc19saW5lICpjaGxkID0KKwkJCQkJbGlzdF9lbnRyeShwLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSwgbG5fY2hpbGRyZW4pOworCQkJcHJlID0gbW92ZV9saW5lX2FuZF9jaGlsZHJlbihjaGxkLCBwcmUpOworCQl9CisJfQorCisJcmV0dXJuIHByZTsKK30KKworLyoqCisgKiBzY29sc19zb3J0X3RhYmxlX2J5X3RyZWU6CisgKiBAdGI6IHRhYmxlCisgKgorICogUmVvcmRlcnMgbGluZXMgaW4gdGhlIHRhYmxlIGJ5IHBhcmVudC0+Y2hpbGQgcmVsYXRpb24uIE5vdGUgdGhhdCBvcmRlciBvZgorICogdGhlIGxpbmVzIGluIHRoZSB0YWJsZSBpcyBpbmRlcGVuZGVudCBvbiB0aGUgdHJlZSBoaWVyYXJjaHkuCisgKgorICogU2luY2U6IDIuMzAKKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KK2ludCBzY29sc19zb3J0X3RhYmxlX2J5X3RyZWUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCisJaWYgKCF0YikKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInNvcnRpbmcgdGFibGUgYnkgdHJlZSIpKTsKKworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRiLCAmaXRyLCAmbG4pID09IDApIHsKKwkJaWYgKGxuLT5wYXJlbnQpCisJCQljb250aW51ZTsKKworCQltb3ZlX2xpbmVfYW5kX2NoaWxkcmVuKGxuLCBOVUxMKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworCisvKioKKyAqIHNjb2xzX3RhYmxlX3NldF90ZXJtZm9yY2U6CisgKiBAdGI6IHRhYmxlCisgKiBAZm9yY2U6IFNDT0xTX1RFUk1GT1JDRV97TkVWRVIsQUxXQVlTLEFVVE99CisgKgorICogRm9yY2VzIGxpYnJhcnkgdG8gdXNlIHN0ZG91dCBhcyB0ZXJtaW5hbCwgbm9uLXRlcm1pbmFsIG9yIHVzZSBhdXRvbWF0aWMKKyAqIGRldGVjdGlvbiAoZGVmYXVsdCkuCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICoKKyAqIFNpbmNlOiAyLjI5CisgKi8KK2ludCBzY29sc190YWJsZV9zZXRfdGVybWZvcmNlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGludCBmb3JjZSkKK3sKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKwl0Yi0+dGVybWZvcmNlID0gZm9yY2U7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X3Rlcm1mb3JjZToKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiBTQ09MU19URVJNRk9SQ0Vfe05FVkVSLEFMV0FZUyxBVVRPfSBvciBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX3RhYmxlX2dldF90ZXJtZm9yY2UoY29uc3Qgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlyZXR1cm4gdGItPnRlcm1mb3JjZTsKK30KKworLyoqCisgKiBzY29sc190YWJsZV9zZXRfdGVybXdpZHRoCisgKiBAdGI6IHRhYmxlCisgKiBAd2lkdGg6IHRlcm1pbmFsIHdpZHRoCisgKgorICogVGhlIGxpYnJhcnkgYXV0b21hdGljYWxseSBkZXRlY3RzIHRlcm1pbmFsIHdpZHRoIG9yIGRlZmF1bHRzIHRvIDgwIGNoYXJzIGlmCisgKiBkZXRlY3Rpb25zIGlzIHVuc3VjY2Vzc2Z1bC4gVGhpcyBmdW5jdGlvbiBvdmVycmlkZSB0aGlzIGJlaGF2aW91ci4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMjkKKyAqLworaW50IHNjb2xzX3RhYmxlX3NldF90ZXJtd2lkdGgoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc2l6ZV90IHdpZHRoKQoreworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAic2V0IHRlcm1pbmF0bCB3aWR0aDogJXp1Iiwgd2lkdGgpKTsKKwl0Yi0+dGVybXdpZHRoID0gd2lkdGg7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X3Rlcm13aWR0aAorICogQHRiOiB0YWJsZQorICoKKyAqIFJldHVybnM6IHRlcm1pbmFsIHdpZHRoLgorICovCitzaXplX3Qgc2NvbHNfdGFibGVfZ2V0X3Rlcm13aWR0aChjb25zdCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXJldHVybiB0Yi0+dGVybXdpZHRoOworfQorCisvKioKKyAqIHNjb2xzX3RhYmxlX3NldF90ZXJtaGVpZ2h0CisgKiBAdGI6IHRhYmxlCisgKiBAaGVpZ2h0OiB0ZXJtaW5hbCBoZWlnaHQgKG51bWJlciBvZiBsaW5lcykKKyAqCisgKiBUaGUgbGlicmFyeSBhdXRvbWF0aWNhbGx5IGRldGVjdHMgdGVybWluYWwgaGVpZ2h0IG9yIGRlZmF1bHRzIHRvIDI0IGxpbmVzIGlmCisgKiBkZXRlY3Rpb25zIGlzIHVuc3VjY2Vzc2Z1bC4gVGhpcyBmdW5jdGlvbiBvdmVycmlkZSB0aGlzIGJlaGF2aW91ci4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKgorICogU2luY2U6IDIuMzEKKyAqLworaW50IHNjb2xzX3RhYmxlX3NldF90ZXJtaGVpZ2h0KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHNpemVfdCBoZWlnaHQpCit7CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJzZXQgdGVybWluYXRsIGhlaWdodDogJXp1IiwgaGVpZ2h0KSk7CisJdGItPnRlcm1oZWlnaHQgPSBoZWlnaHQ7CisJcmV0dXJuIDA7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfZ2V0X3Rlcm1oZWlnaHQKKyAqIEB0YjogdGFibGUKKyAqCisgKiBSZXR1cm5zOiB0ZXJtaW5hbCBoZWlnaHQgKG51bWJlciBvZiBsaW5lcykuCisgKgorICogU2luY2U6IDIuMzEKKyAqLworc2l6ZV90IHNjb2xzX3RhYmxlX2dldF90ZXJtaGVpZ2h0KGNvbnN0IHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJcmV0dXJuIHRiLT50ZXJtaGVpZ2h0OworfQpkaWZmIC0tZ2l0IGEvbGlic21hcnRjb2xzL3NyYy90YWJsZV9wcmludC5jIGIvbGlic21hcnRjb2xzL3NyYy90YWJsZV9wcmludC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFlOGQyZGEKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc3JjL3RhYmxlX3ByaW50LmMKQEAgLTAsMCArMSwxNzQ4IEBACisvKgorICogdGFibGUuYyAtIGZ1bmN0aW9ucyBoYW5kbGluZyB0aGUgZGF0YSBhdCB0aGUgdGFibGUgbGV2ZWwKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNiBJZ29yIEduYXRlbmtvIDxpLmduYXRlbmtvLmJyYWluQGdtYWlsLmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICovCisKKy8qKgorICogU0VDVElPTjogdGFibGVfcHJpbnQKKyAqIEB0aXRsZTogVGFibGUgcHJpbnQKKyAqIEBzaG9ydF9kZXNjcmlwdGlvbjogb3V0cHV0IGZ1bmN0aW9ucworICoKKyAqIFRhYmxlIG91dHB1dCBBUEkuCisgKi8KKworI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSAibWJzYWxpZ24uaCIKKyNpbmNsdWRlICJjYXJlZnVscHV0Yy5oIgorI2luY2x1ZGUgInNtYXJ0Y29sc1AuaCIKKworI2RlZmluZSBjb2xzZXAodGIpCSgodGIpLT5jb2xzZXAgPyAodGIpLT5jb2xzZXAgOiAiICIpCisjZGVmaW5lIGxpbmVzZXAodGIpCSgodGIpLT5saW5lc2VwID8gKHRiKS0+bGluZXNlcCA6ICJcbiIpCisKKy8qIEZhbGxiYWNrIGZvciBzeW1ib2xzCisgKgorICogTm90ZSB0aGF0IGJ5IGRlZmF1bHQgbGlicmFyeSBkZWZpbmUgYWxsIHRoZSBzeW1ib2xzLCBidXQgaW4gY2FzZSB1c2VyIGRvZXMKKyAqIG5vdCBkZWZpbmUgYWxsIHN5bWJvbHMgb3IgaWYgd2UgZXh0ZW5kZWQgdGhlIHN5bWJvbHMgc3RydWN0IHRoZW4gd2UgbmVlZAorICogZmFsbGJhY2sgdG8gYmUgbW9yZSByb2J1c3QgYW5kIGJhY2t3YXJkbHkgY29tcGF0aWJsZS4KKyAqLworI2RlZmluZSB0aXRsZXBhZGRpbmdfc3ltYm9sKHRiKQkoKHRiKS0+c3ltYm9scy0+dGl0bGVfcGFkZGluZyA/ICh0YiktPnN5bWJvbHMtPnRpdGxlX3BhZGRpbmcgOiAiICIpCisjZGVmaW5lIGJyYW5jaF9zeW1ib2wodGIpCSgodGIpLT5zeW1ib2xzLT5icmFuY2ggPyAodGIpLT5zeW1ib2xzLT5icmFuY2ggOiAifC0iKQorI2RlZmluZSB2ZXJ0aWNhbF9zeW1ib2wodGIpCSgodGIpLT5zeW1ib2xzLT52ZXJ0ID8gKHRiKS0+c3ltYm9scy0+dmVydCA6ICJ8ICIpCisjZGVmaW5lIHJpZ2h0X3N5bWJvbCh0YikJKCh0YiktPnN5bWJvbHMtPnJpZ2h0ID8gKHRiKS0+c3ltYm9scy0+cmlnaHQgOiAiYC0iKQorCisjZGVmaW5lIGNlbGxwYWRkaW5nX3N5bWJvbCh0YikgICgodGIpLT5wYWRkaW5nX2RlYnVnID8gIi4iIDogXAorCQkJCSAoKHRiKS0+c3ltYm9scy0+Y2VsbF9wYWRkaW5nID8gKHRiKS0+c3ltYm9scy0+Y2VsbF9wYWRkaW5nOiAiICIpKQorCisjZGVmaW5lIHdhbnRfcmVwZWF0X2hlYWRlcih0YikJKCEodGIpLT5oZWFkZXJfcmVwZWF0IHx8ICh0YiktPmhlYWRlcl9uZXh0IDw9ICh0YiktPnRlcm1saW5lc191c2VkKQorCisKKy8qIFRoaXMgaXMgcHJpdmF0ZSBzdHJ1Y3QgdG8gd29yayB3aXRoIG91dHB1dCBkYXRhICovCitzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyIHsKKwljaGFyCSpiZWdpbjsJCS8qIGJlZ2luIG9mIHRoZSBidWZmZXIgKi8KKwljaGFyCSpjdXI7CQkvKiBjdXJyZW50IGVuZCBvZiAgdGhlIGJ1ZmZlciAqLworCWNoYXIJKmVuY2RhdGE7CS8qIGVuY29kZWQgYnVmZmVyIG1ic19zYWZlX2VuY29kZSgpICovCisKKwlzaXplX3QJYnVmc3o7CQkvKiBzaXplIG9mIHRoZSBidWZmZXIgKi8KKwlzaXplX3QJYXJ0X2lkeDsJLyogYmVnaW4gb2YgdGhlIHRyZWUgYXNjaWkgYXJ0IG9yIHplcm8gKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpuZXdfYnVmZmVyKHNpemVfdCBzeikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYgPSBtYWxsb2Moc3ogKyBzaXplb2Yoc3RydWN0IGxpYnNjb2xzX2J1ZmZlcikpOworCisJaWYgKCFidWYpCisJCXJldHVybiBOVUxMOworCisJYnVmLT5jdXIgPSBidWYtPmJlZ2luID0gKChjaGFyICopIGJ1ZikgKyBzaXplb2Yoc3RydWN0IGxpYnNjb2xzX2J1ZmZlcik7CisJYnVmLT5lbmNkYXRhID0gTlVMTDsKKwlidWYtPmJ1ZnN6ID0gc3o7CisKKwlEQkcoQlVGRiwgdWxfZGVidWdvYmooYnVmLCAiYWxsb2MgKHNpemU9JXp1KSIsIHN6KSk7CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIHZvaWQgZnJlZV9idWZmZXIoc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCWlmICghYnVmKQorCQlyZXR1cm47CisJREJHKEJVRkYsIHVsX2RlYnVnb2JqKGJ1ZiwgImRlYWxsb2MiKSk7CisJZnJlZShidWYtPmVuY2RhdGEpOworCWZyZWUoYnVmKTsKK30KKworc3RhdGljIGludCBidWZmZXJfcmVzZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYpCit7CisJaWYgKCFidWYpCisJCXJldHVybiAtRUlOVkFMOworCisJLypEQkcoQlVGRiwgdWxfZGVidWdvYmooYnVmLCAicmVzZXQgZGF0YSIpKTsqLworCWJ1Zi0+YmVnaW5bMF0gPSAnXDAnOworCWJ1Zi0+Y3VyID0gYnVmLT5iZWdpbjsKKwlidWYtPmFydF9pZHggPSAwOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJ1ZmZlcl9hcHBlbmRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlzaXplX3QgbWF4c3osIHN6OworCisJaWYgKCFidWYpCisJCXJldHVybiAtRUlOVkFMOworCWlmICghc3RyIHx8ICEqc3RyKQorCQlyZXR1cm4gMDsKKworCXN6ID0gc3RybGVuKHN0cik7CisJbWF4c3ogPSBidWYtPmJ1ZnN6IC0gKGJ1Zi0+Y3VyIC0gYnVmLT5iZWdpbik7CisKKwlpZiAobWF4c3ogPD0gc3opCisJCXJldHVybiAtRUlOVkFMOworCW1lbWNweShidWYtPmN1ciwgc3RyLCBzeiArIDEpOworCWJ1Zi0+Y3VyICs9IHN6OworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGJ1ZmZlcl9zZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwlpbnQgcmMgPSBidWZmZXJfcmVzZXRfZGF0YShidWYpOworCXJldHVybiByYyA/IHJjIDogYnVmZmVyX2FwcGVuZF9kYXRhKGJ1Ziwgc3RyKTsKK30KKworLyogc2F2ZSB0aGUgY3VycmVudCBidWZmZXIgcG9zaXRpb24gdG8gYXJ0X2lkeCAqLworc3RhdGljIHZvaWQgYnVmZmVyX3NldF9hcnRfaW5kZXgoc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCWlmIChidWYpIHsKKwkJYnVmLT5hcnRfaWR4ID0gYnVmLT5jdXIgLSBidWYtPmJlZ2luOworCQkvKkRCRyhCVUZGLCB1bF9kZWJ1Z29iaihidWYsICJhcnQgaW5kZXg6ICV6dSIsIGJ1Zi0+YXJ0X2lkeCkpOyovCisJfQorfQorCitzdGF0aWMgY2hhciAqYnVmZmVyX2dldF9kYXRhKHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlyZXR1cm4gYnVmID8gYnVmLT5iZWdpbiA6IE5VTEw7Cit9CisKKy8qIGVuY29kZSBkYXRhIGJ5IG1ic19zYWZlX2VuY29kZSgpIHRvIGF2b2lkIGNvbnRyb2wgYW5kIG5vbi1wcmludGFibGUgY2hhcnMgKi8KK3N0YXRpYyBjaGFyICpidWZmZXJfZ2V0X3NhZmVfZGF0YShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCSAgc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmLAorCQkJCSAgc2l6ZV90ICpjZWxscywKKwkJCQkgIGNvbnN0IGNoYXIgKnNhZmVjaGFycykKK3sKKwljaGFyICpkYXRhID0gYnVmZmVyX2dldF9kYXRhKGJ1Zik7CisJY2hhciAqcmVzID0gTlVMTDsKKworCWlmICghZGF0YSkKKwkJZ290byBub3RoaW5nOworCisJaWYgKCFidWYtPmVuY2RhdGEpIHsKKwkJYnVmLT5lbmNkYXRhID0gbWFsbG9jKG1ic19zYWZlX2VuY29kZV9zaXplKGJ1Zi0+YnVmc3opICsgMSk7CisJCWlmICghYnVmLT5lbmNkYXRhKQorCQkJZ290byBub3RoaW5nOworCX0KKworCWlmICh0Yi0+bm9fZW5jb2RlKSB7CisJCSpjZWxscyA9IG1ic19zYWZlX3dpZHRoKGRhdGEpOworCQlzdHJjcHkoYnVmLT5lbmNkYXRhLCBkYXRhKTsKKwkJcmVzID0gYnVmLT5lbmNkYXRhOworCX0gZWxzZSB7CisJCXJlcyA9IG1ic19zYWZlX2VuY29kZV90b19idWZmZXIoZGF0YSwgY2VsbHMsIGJ1Zi0+ZW5jZGF0YSwgc2FmZWNoYXJzKTsKKwl9CisKKwlpZiAoIXJlcyB8fCAhKmNlbGxzIHx8ICpjZWxscyA9PSAoc2l6ZV90KSAtMSkKKwkJZ290byBub3RoaW5nOworCXJldHVybiByZXM7Citub3RoaW5nOgorCSpjZWxscyA9IDA7CisJcmV0dXJuIE5VTEw7Cit9CisKKy8qIHJldHVybnMgc2l6ZSBpbiBieXRlcyBvZiB0aGUgYXNjaWkgYXJ0IChhY2NvcmRpbmcgdG8gYXJ0X2lkeCkgaW4gc2FmZSBlbmNvZGluZyAqLworc3RhdGljIHNpemVfdCBidWZmZXJfZ2V0X3NhZmVfYXJ0X3NpemUoc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCWNoYXIgKmRhdGEgPSBidWZmZXJfZ2V0X2RhdGEoYnVmKTsKKwlzaXplX3QgYnl0ZXMgPSAwOworCisJaWYgKCFkYXRhIHx8ICFidWYtPmFydF9pZHgpCisJCXJldHVybiAwOworCisJbWJzX3NhZmVfbndpZHRoKGRhdGEsIGJ1Zi0+YXJ0X2lkeCwgJmJ5dGVzKTsKKwlyZXR1cm4gYnl0ZXM7Cit9CisKKy8qIHJldHVybnMgcG9pbnRlciB0byB0aGUgZW5kIG9mIHVzZWQgZGF0YSAqLworc3RhdGljIGludCBsaW5lX2FzY2lpX2FydF90b19idWZmZXIoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkgICAgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAorCQkJCSAgICBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYpCit7CisJY29uc3QgY2hhciAqYXJ0OworCWludCByYzsKKworCWFzc2VydChsbik7CisJYXNzZXJ0KGJ1Zik7CisKKwlpZiAoIWxuLT5wYXJlbnQpCisJCXJldHVybiAwOworCisJcmMgPSBsaW5lX2FzY2lpX2FydF90b19idWZmZXIodGIsIGxuLT5wYXJlbnQsIGJ1Zik7CisJaWYgKHJjKQorCQlyZXR1cm4gcmM7CisKKwlpZiAobGlzdF9lbnRyeV9pc19sYXN0KCZsbi0+bG5fY2hpbGRyZW4sICZsbi0+cGFyZW50LT5sbl9icmFuY2gpKQorCQlhcnQgPSAiICAiOworCWVsc2UKKwkJYXJ0ID0gdmVydGljYWxfc3ltYm9sKHRiKTsKKworCXJldHVybiBidWZmZXJfYXBwZW5kX2RhdGEoYnVmLCBhcnQpOworfQorCitzdGF0aWMgaW50IGlzX2xhc3RfY29sdW1uKHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCWludCByYyA9IGxpc3RfZW50cnlfaXNfbGFzdCgmY2wtPmNsX2NvbHVtbnMsICZjbC0+dGFibGUtPnRiX2NvbHVtbnMpOworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKm5leHQ7CisKKwlpZiAocmMpCisJCXJldHVybiAxOworCisJbmV4dCA9IGxpc3RfZW50cnkoY2wtPmNsX2NvbHVtbnMubmV4dCwgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiwgY2xfY29sdW1ucyk7CisJaWYgKG5leHQgJiYgc2NvbHNfY29sdW1uX2lzX2hpZGRlbihuZXh0KSAmJiBpc19sYXN0X2NvbHVtbihuZXh0KSkKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBoYXNfcGVuZGluZ19kYXRhKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCisJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YiwgJml0ciwgJmNsKSA9PSAwKSB7CisJCWlmIChzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoY2wtPnBlbmRpbmdfZGF0YSkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogcHJpbnQgcGFkZGluZyBvciBBU0NJSS1hcnQgaW5zdGVhZCBvZiBkYXRhIG9mIEBjbCAqLworc3RhdGljIHZvaWQgcHJpbnRfZW1wdHlfY2VsbChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwKKwkJCSAgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAkvKiBvcHRpb25hbCAqLworCQkJICBzaXplX3QgYnVmc3opCit7CisJc2l6ZV90IGxlbl9wYWQgPSAwOwkJLyogaW4gc2NyZWVuIGNlbGxzIGFzIG9wcG9zZWQgdG8gYnl0ZXMgKi8KKworCS8qIGdlbmVyYXRlIHRyZWUgQVNDSUktYXJ0IHJhdGhlciB0aGFuIHBhZGRpbmcgKi8KKwlpZiAobG4gJiYgc2NvbHNfY29sdW1uX2lzX3RyZWUoY2wpKSB7CisJCWlmICghbG4tPnBhcmVudCkgeworCQkJLyogb25seSBwcmludCBzeW1ib2xzLT52ZXJ0IGlmIGZvbGxvd2VkIGJ5IGNoaWxkICovCisJCQlpZiAoIWxpc3RfZW1wdHkoJmxuLT5sbl9icmFuY2gpKSB7CisJCQkJZnB1dHModmVydGljYWxfc3ltYm9sKHRiKSwgdGItPm91dCk7CisJCQkJbGVuX3BhZCA9IG1ic19zYWZlX3dpZHRoKHZlcnRpY2FsX3N5bWJvbCh0YikpOworCQkJfQorCQl9IGVsc2UgeworCQkJLyogdXNlIHRoZSBzYW1lIGRyYXcgZnVuY3Rpb24gYXMgdGhvdWdoIHdlIHdlcmUgaW50ZW5kaW5nIHRvIGRyYXcgYW4gTC1zaGFwZSAqLworCQkJc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYXJ0ID0gbmV3X2J1ZmZlcihidWZzeik7CisJCQljaGFyICpkYXRhOworCisJCQlpZiAoYXJ0KSB7CisJCQkJLyogd2hhdGV2ZXIgdGhlIHJjLCBsZW5fcGFkIHdpbGwgYmUgc2Vuc2libGUgKi8KKwkJCQlsaW5lX2FzY2lpX2FydF90b19idWZmZXIodGIsIGxuLCBhcnQpOworCQkJCWlmICghbGlzdF9lbXB0eSgmbG4tPmxuX2JyYW5jaCkgJiYgaGFzX3BlbmRpbmdfZGF0YSh0YikpCisJCQkJCWJ1ZmZlcl9hcHBlbmRfZGF0YShhcnQsIHZlcnRpY2FsX3N5bWJvbCh0YikpOworCQkJCWRhdGEgPSBidWZmZXJfZ2V0X3NhZmVfZGF0YSh0YiwgYXJ0LCAmbGVuX3BhZCwgTlVMTCk7CisJCQkJaWYgKGRhdGEgJiYgbGVuX3BhZCkKKwkJCQkJZnB1dHMoZGF0YSwgdGItPm91dCk7CisJCQkJZnJlZV9idWZmZXIoYXJ0KTsKKwkJCX0KKwkJfQorCX0KKworCWlmIChpc19sYXN0X2NvbHVtbihjbCkpCisJCXJldHVybjsKKworCS8qIGZpbGwgcmVzdCBvZiBjZWxsIHdpdGggc3BhY2UgKi8KKwlmb3IoOyBsZW5fcGFkIDwgY2wtPndpZHRoOyArK2xlbl9wYWQpCisJCWZwdXRzKGNlbGxwYWRkaW5nX3N5bWJvbCh0YiksIHRiLT5vdXQpOworCisJZnB1dHMoY29sc2VwKHRiKSwgdGItPm91dCk7Cit9CisKKworc3RhdGljIGNvbnN0IGNoYXIgKmdldF9jZWxsX2NvbG9yKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkJICBzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwKKwkJCQkgIHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwJLyogb3B0aW9uYWwgKi8KKwkJCQkgIHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSkJLyogb3B0aW9uYWwgKi8KK3sKKwljb25zdCBjaGFyICpjb2xvciA9IE5VTEw7CisKKwlpZiAodGIgJiYgdGItPmNvbG9yc193YW50ZWQpIHsKKwkJaWYgKGNlKQorCQkJY29sb3IgPSBjZS0+Y29sb3I7CisJCWlmIChsbiAmJiAhY29sb3IpCisJCQljb2xvciA9IGxuLT5jb2xvcjsKKwkJaWYgKCFjb2xvcikKKwkJCWNvbG9yID0gY2wtPmNvbG9yOworCX0KKwlyZXR1cm4gY29sb3I7Cit9CisKKy8qIEZpbGwgdGhlIHN0YXJ0IG9mIGEgbGluZSB3aXRoIHBhZGRpbmcgKG9yIHdpdGggdHJlZSBhc2NpaS1hcnQpLgorICoKKyAqIFRoaXMgaXMgbmVjZXNzYXJ5IGFmdGVyIGEgbG9uZyBub24tdHJ1bmNhdGVkIGNvbHVtbiwgYXMgdGhpcyByZXF1aXJlcyB0aGUKKyAqIG5leHQgY29sdW1uIHRvIGJlIHByaW50ZWQgb24gdGhlIG5leHQgbGluZS4gRm9yIGV4YW1wbGUgKHNlZSAnREREJyk6CisgKgorICogYWFhIGJiYiBjY2MgZGRkIGVlZQorICogQUFBIEJCQiBDQ0NDQ0NDCisgKiAgICAgICAgICAgICBEREQgRUVFCisgKiBeXl5eXl5eXl5eXl4KKyAqICBuZXcgbGluZSBwYWRkaW5nCisgKi8KK3N0YXRpYyB2b2lkIHByaW50X25ld2xpbmVfcGFkZGluZyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCSAgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsCisJCQkJICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCS8qIG9wdGlvbmFsICovCisJCQkJICBzaXplX3QgYnVmc3opCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQodGIpOworCWFzc2VydChjbCk7CisKKwlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CQkvKiBsaW5lIGJyZWFrICovCisJdGItPnRlcm1saW5lc191c2VkKys7CisKKwkvKiBmaWxsIGNlbGxzIGFmdGVyIGxpbmUgYnJlYWsgKi8KKwlmb3IgKGkgPSAwOyBpIDw9IChzaXplX3QpIGNsLT5zZXFudW07IGkrKykKKwkJcHJpbnRfZW1wdHlfY2VsbCh0Yiwgc2NvbHNfdGFibGVfZ2V0X2NvbHVtbih0YiwgaSksIGxuLCBidWZzeik7Cit9CisKKy8qCisgKiBQZW5kaW5nIGRhdGEKKyAqCisgKiBUaGUgZmlyc3QgbGluZSBpbiB0aGUgbXVsdGktbGluZSBjZWxscyAoY29sdW1ucyB3aXRoIFNDT0xTX0ZMX1dSQVAgZmxhZykgaXMKKyAqIHByaW50ZWQgYXMgdXN1YWxseSBhbmQgb3V0cHV0IGlzIHRydW5jYXRlZCB0byBtYXRjaCBjb2x1bW4gd2lkdGguCisgKgorICogVGhlIHJlc3Qgb2YgdGhlIGxvbmcgdGV4dCBpcyBwcmludGVkIG9uIG5leHQgZXh0cmEgbGluZShzKS4gVGhlIGV4dHJhIGxpbmVzCisgKiBkb24ndCBleGlzdCBpbiB0aGUgdGFibGUgKG5vdCByZXByZXNlbnRlZCBieSBsaWJzY29sc19saW5lKS4gVGhlIGRhdGEgZm9yCisgKiB0aGUgZXh0cmEgbGluZXMgYXJlIHN0b3JlZCBpbiBsaWJzY29sc19jb2x1bW4tPnBlbmRpbmdfZGF0YV9idWYgYW5kIHRoZQorICogZnVuY3Rpb24gcHJpbnRfbGluZSgpIGFkZHMgZXh0cmEgbGluZXMgdW50aWwgdGhlIGJ1ZmZlciBpcyBub3QgZW1wdHkgaW4gYWxsCisgKiBjb2x1bW5zLgorICovCisKKy8qIHNldCBkYXRhIHRoYXQgd2lsbCBiZSBwcmludGVkIGJ5IGV4dHJhIGxpbmVzICovCitzdGF0aWMgaW50IHNldF9wZW5kaW5nX2RhdGEoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGNvbnN0IGNoYXIgKmRhdGEsIHNpemVfdCBzeikKK3sKKwljaGFyICpwID0gTlVMTDsKKworCWlmIChkYXRhICYmICpkYXRhKSB7CisJCURCRyhDT0wsIHVsX2RlYnVnb2JqKGNsLCAic2V0dGluZyBwZW5kaW5nIGRhdGEiKSk7CisJCWFzc2VydChzeik7CisJCXAgPSBzdHJkdXAoZGF0YSk7CisJCWlmICghcCkKKwkJCXJldHVybiAtRU5PTUVNOworCX0KKworCWZyZWUoY2wtPnBlbmRpbmdfZGF0YV9idWYpOworCWNsLT5wZW5kaW5nX2RhdGFfYnVmID0gcDsKKwljbC0+cGVuZGluZ19kYXRhX3N6ID0gc3o7CisJY2wtPnBlbmRpbmdfZGF0YSA9IGNsLT5wZW5kaW5nX2RhdGFfYnVmOworCXJldHVybiAwOworfQorCisvKiB0aGUgbmV4dCBleHRyYSBsaW5lIGhhcyBiZWVuIHByaW50ZWQsIG1vdmUgcGVuZGluZyBkYXRhIGN1cnNvciAqLworc3RhdGljIGludCBzdGVwX3BlbmRpbmdfZGF0YShzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwgc2l6ZV90IGJ5dGVzKQoreworCURCRyhDT0wsIHVsX2RlYnVnb2JqKGNsLCAic3RlcCBwZW5kaW5nIGRhdGEgJXp1IC09ICV6dSIsIGNsLT5wZW5kaW5nX2RhdGFfc3osIGJ5dGVzKSk7CisKKwlpZiAoYnl0ZXMgPj0gY2wtPnBlbmRpbmdfZGF0YV9zeikKKwkJcmV0dXJuIHNldF9wZW5kaW5nX2RhdGEoY2wsIE5VTEwsIDApOworCisJY2wtPnBlbmRpbmdfZGF0YSArPSBieXRlczsKKwljbC0+cGVuZGluZ19kYXRhX3N6IC09IGJ5dGVzOworCXJldHVybiAwOworfQorCisvKiBwcmludCBuZXh0IHBlbmRpbmcgZGF0YSBmb3IgdGhlIGNvbHVtbiBAY2wgKi8KK3N0YXRpYyBpbnQgcHJpbnRfcGVuZGluZ19kYXRhKAorCQlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbCwKKwkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuLAkvKiBvcHRpb25hbCAqLworCQlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UpCit7CisJY29uc3QgY2hhciAqY29sb3IgPSBnZXRfY2VsbF9jb2xvcih0YiwgY2wsIGxuLCBjZSk7CisJc2l6ZV90IHdpZHRoID0gY2wtPndpZHRoLCBieXRlczsKKwlzaXplX3QgbGVuID0gd2lkdGgsIGk7CisJY2hhciAqZGF0YTsKKwljaGFyICpuZXh0Y2h1bmsgPSBOVUxMOworCisJaWYgKCFjbC0+cGVuZGluZ19kYXRhKQorCQlyZXR1cm4gMDsKKwlpZiAoIXdpZHRoKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhDT0wsIHVsX2RlYnVnb2JqKGNsLCAicHJpbnRpbmcgcGVuZGluZyBkYXRhIikpOworCisJZGF0YSA9IHN0cmR1cChjbC0+cGVuZGluZ19kYXRhKTsKKwlpZiAoIWRhdGEpCisJCWdvdG8gZXJyOworCisJaWYgKHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNsKQorCSAgICAmJiAobmV4dGNodW5rID0gY2wtPndyYXBfbmV4dGNodW5rKGNsLCBkYXRhLCBjbC0+d3JhcGZ1bmNfZGF0YSkpKSB7CisJCWJ5dGVzID0gbmV4dGNodW5rIC0gZGF0YTsKKworCQlsZW4gPSBtYnNfc2FmZV9ud2lkdGgoZGF0YSwgYnl0ZXMsIE5VTEwpOworCX0gZWxzZQorCQlieXRlcyA9IG1ic190cnVuY2F0ZShkYXRhLCAmbGVuKTsKKworCWlmIChieXRlcyA9PSAoc2l6ZV90KSAtMSkKKwkJZ290byBlcnI7CisKKwlpZiAoYnl0ZXMpCisJCXN0ZXBfcGVuZGluZ19kYXRhKGNsLCBieXRlcyk7CisKKwlpZiAoY29sb3IpCisJCWZwdXRzKGNvbG9yLCB0Yi0+b3V0KTsKKwlmcHV0cyhkYXRhLCB0Yi0+b3V0KTsKKwlpZiAoY29sb3IpCisJCWZwdXRzKFVMX0NPTE9SX1JFU0VULCB0Yi0+b3V0KTsKKwlmcmVlKGRhdGEpOworCisJaWYgKGlzX2xhc3RfY29sdW1uKGNsKSkKKwkJcmV0dXJuIDA7CisKKwlmb3IgKGkgPSBsZW47IGkgPCB3aWR0aDsgaSsrKQorCQlmcHV0cyhjZWxscGFkZGluZ19zeW1ib2wodGIpLCB0Yi0+b3V0KTsJCS8qIHBhZGRpbmcgKi8KKworCWZwdXRzKGNvbHNlcCh0YiksIHRiLT5vdXQpOwkvKiBjb2x1bW5zIHNlcGFyYXRvciAqLworCXJldHVybiAwOworZXJyOgorCWZyZWUoZGF0YSk7CisJcmV0dXJuIC1lcnJubzsKK30KKworc3RhdGljIGludCBwcmludF9kYXRhKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCSAgICAgIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLAorCQkgICAgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCS8qIG9wdGlvbmFsICovCisJCSAgICAgIHN0cnVjdCBsaWJzY29sc19jZWxsICpjZSwJLyogb3B0aW9uYWwgKi8KKwkJICAgICAgc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCXNpemVfdCBsZW4gPSAwLCBpLCB3aWR0aCwgYnl0ZXM7CisJY29uc3QgY2hhciAqY29sb3IgPSBOVUxMOworCWNoYXIgKmRhdGEsICpuZXh0Y2h1bms7CisJaW50IGlzX2xhc3Q7CisKKwlhc3NlcnQodGIpOworCWFzc2VydChjbCk7CisKKwlkYXRhID0gYnVmZmVyX2dldF9kYXRhKGJ1Zik7CisJaWYgKCFkYXRhKQorCQlkYXRhID0gIiI7CisKKwlpc19sYXN0ID0gaXNfbGFzdF9jb2x1bW4oY2wpOworCisJc3dpdGNoICh0Yi0+Zm9ybWF0KSB7CisJY2FzZSBTQ09MU19GTVRfUkFXOgorCQlmcHV0c19ub25ibGFuayhkYXRhLCB0Yi0+b3V0KTsKKwkJaWYgKCFpc19sYXN0KQorCQkJZnB1dHMoY29sc2VwKHRiKSwgdGItPm91dCk7CisJCXJldHVybiAwOworCisJY2FzZSBTQ09MU19GTVRfRVhQT1JUOgorCQlmcHJpbnRmKHRiLT5vdXQsICIlcz0iLCBzY29sc19jZWxsX2dldF9kYXRhKCZjbC0+aGVhZGVyKSk7CisJCWZwdXRzX3F1b3RlZChkYXRhLCB0Yi0+b3V0KTsKKwkJaWYgKCFpc19sYXN0KQorCQkJZnB1dHMoY29sc2VwKHRiKSwgdGItPm91dCk7CisJCXJldHVybiAwOworCisJY2FzZSBTQ09MU19GTVRfSlNPTjoKKwkJZnB1dHNfcXVvdGVkX2pzb25fbG93ZXIoc2NvbHNfY2VsbF9nZXRfZGF0YSgmY2wtPmhlYWRlciksIHRiLT5vdXQpOworCQlmcHV0cygiOiIsIHRiLT5vdXQpOworCQlzd2l0Y2ggKGNsLT5qc29uX3R5cGUpIHsKKwkJCWNhc2UgU0NPTFNfSlNPTl9TVFJJTkc6CisJCQkJaWYgKCEqZGF0YSkKKwkJCQkJZnB1dHMoIm51bGwiLCB0Yi0+b3V0KTsKKwkJCQllbHNlCisJCQkJCWZwdXRzX3F1b3RlZF9qc29uKGRhdGEsIHRiLT5vdXQpOworCQkJCWJyZWFrOworCQkJY2FzZSBTQ09MU19KU09OX05VTUJFUjoKKwkJCQlpZiAoISpkYXRhKQorCQkJCQlmcHV0cygibnVsbCIsIHRiLT5vdXQpOworCQkJCWVsc2UKKwkJCQkJZnB1dHMoZGF0YSwgdGItPm91dCk7CisJCQkJYnJlYWs7CisJCQljYXNlIFNDT0xTX0pTT05fQk9PTEVBTjoKKwkJCQlmcHV0cyghKmRhdGEgPyAiZmFsc2UiIDoKKwkJCQkgICAgICAqZGF0YSA9PSAnMCcgPyAiZmFsc2UiIDoKKwkJCQkgICAgICAqZGF0YSA9PSAnTicgfHwgKmRhdGEgPT0gJ24nID8gImZhbHNlIiA6ICJ0cnVlIiwKKwkJCQkgICAgICB0Yi0+b3V0KTsKKwkJCQlicmVhazsKKwkJfQorCQlpZiAoIWlzX2xhc3QpCisJCQlmcHV0cygiLCAiLCB0Yi0+b3V0KTsKKwkJcmV0dXJuIDA7CisKKwljYXNlIFNDT0xTX0ZNVF9IVU1BTjoKKwkJYnJlYWs7CQkvKiBjb250aW51ZSBiZWxvdyAqLworCX0KKworCWNvbG9yID0gZ2V0X2NlbGxfY29sb3IodGIsIGNsLCBsbiwgY2UpOworCisJLyogRW5jb2RlLiBOb3RlIHRoYXQgJ2xlbicgYW5kICd3aWR0aCcgYXJlIG51bWJlciBvZiBjZWxscywgbm90IGJ5dGVzLgorCSAqLworCWRhdGEgPSBidWZmZXJfZ2V0X3NhZmVfZGF0YSh0YiwgYnVmLCAmbGVuLCBzY29sc19jb2x1bW5fZ2V0X3NhZmVjaGFycyhjbCkpOworCWlmICghZGF0YSkKKwkJZGF0YSA9ICIiOworCWJ5dGVzID0gc3RybGVuKGRhdGEpOworCXdpZHRoID0gY2wtPndpZHRoOworCisJLyogY3VzdG9tIG11bHRpLWxpbmUgY2VsbCBiYXNlZCAqLworCWlmICgqZGF0YSAmJiBzY29sc19jb2x1bW5faXNfY3VzdG9td3JhcChjbCkKKwkgICAgJiYgKG5leHRjaHVuayA9IGNsLT53cmFwX25leHRjaHVuayhjbCwgZGF0YSwgY2wtPndyYXBmdW5jX2RhdGEpKSkgeworCQlzZXRfcGVuZGluZ19kYXRhKGNsLCBuZXh0Y2h1bmssIGJ5dGVzIC0gKG5leHRjaHVuayAtIGRhdGEpKTsKKwkJYnl0ZXMgPSBuZXh0Y2h1bmsgLSBkYXRhOworCQlsZW4gPSBtYnNfc2FmZV9ud2lkdGgoZGF0YSwgYnl0ZXMsIE5VTEwpOworCX0KKworCWlmIChpc19sYXN0CisJICAgICYmIGxlbiA8IHdpZHRoCisJICAgICYmICFzY29sc190YWJsZV9pc19tYXhvdXQodGIpCisJICAgICYmICFzY29sc19jb2x1bW5faXNfcmlnaHQoY2wpKQorCQl3aWR0aCA9IGxlbjsKKworCS8qIHRydW5jYXRlIGRhdGEgKi8KKwlpZiAobGVuID4gd2lkdGggJiYgc2NvbHNfY29sdW1uX2lzX3RydW5jKGNsKSkgeworCQlsZW4gPSB3aWR0aDsKKwkJYnl0ZXMgPSBtYnNfdHJ1bmNhdGUoZGF0YSwgJmxlbik7CS8qIHVwZGF0ZXMgJ2xlbicgKi8KKwl9CisKKwkvKiBzdGFuZGFyZCBtdWx0aS1saW5lIGNlbGwgKi8KKwlpZiAobGVuID4gd2lkdGggJiYgc2NvbHNfY29sdW1uX2lzX3dyYXAoY2wpCisJICAgICYmICFzY29sc19jb2x1bW5faXNfY3VzdG9td3JhcChjbCkpIHsKKwkJc2V0X3BlbmRpbmdfZGF0YShjbCwgZGF0YSwgYnl0ZXMpOworCisJCWxlbiA9IHdpZHRoOworCQlieXRlcyA9IG1ic190cnVuY2F0ZShkYXRhLCAmbGVuKTsKKwkJaWYgKGJ5dGVzICAhPSAoc2l6ZV90KSAtMSAmJiBieXRlcyA+IDApCisJCQlzdGVwX3BlbmRpbmdfZGF0YShjbCwgYnl0ZXMpOworCX0KKworCWlmIChieXRlcyA9PSAoc2l6ZV90KSAtMSkgeworCQlieXRlcyA9IGxlbiA9IDA7CisJCWRhdGEgPSBOVUxMOworCX0KKworCWlmIChkYXRhKSB7CisJCWlmIChzY29sc19jb2x1bW5faXNfcmlnaHQoY2wpKSB7CisJCQlpZiAoY29sb3IpCisJCQkJZnB1dHMoY29sb3IsIHRiLT5vdXQpOworCQkJZm9yIChpID0gbGVuOyBpIDwgd2lkdGg7IGkrKykKKwkJCQlmcHV0cyhjZWxscGFkZGluZ19zeW1ib2wodGIpLCB0Yi0+b3V0KTsKKwkJCWZwdXRzKGRhdGEsIHRiLT5vdXQpOworCQkJaWYgKGNvbG9yKQorCQkJCWZwdXRzKFVMX0NPTE9SX1JFU0VULCB0Yi0+b3V0KTsKKwkJCWxlbiA9IHdpZHRoOworCisJCX0gZWxzZSBpZiAoY29sb3IpIHsKKwkJCWNoYXIgKnAgPSBkYXRhOworCQkJc2l6ZV90IGFydCA9IGJ1ZmZlcl9nZXRfc2FmZV9hcnRfc2l6ZShidWYpOworCisJCQkvKiB3ZSBkb24ndCB3YW50IHRvIGNvbG9yaXplIHRyZWUgYXNjaWkgYXJ0ICovCisJCQlpZiAoc2NvbHNfY29sdW1uX2lzX3RyZWUoY2wpICYmIGFydCAmJiBhcnQgPCBieXRlcykgeworCQkJCWZ3cml0ZShwLCAxLCBhcnQsIHRiLT5vdXQpOworCQkJCXAgKz0gYXJ0OworCQkJfQorCisJCQlmcHV0cyhjb2xvciwgdGItPm91dCk7CisJCQlmcHV0cyhwLCB0Yi0+b3V0KTsKKwkJCWZwdXRzKFVMX0NPTE9SX1JFU0VULCB0Yi0+b3V0KTsKKwkJfSBlbHNlCisJCQlmcHV0cyhkYXRhLCB0Yi0+b3V0KTsKKwl9CisJZm9yIChpID0gbGVuOyBpIDwgd2lkdGg7IGkrKykKKwkJZnB1dHMoY2VsbHBhZGRpbmdfc3ltYm9sKHRiKSwgdGItPm91dCk7CS8qIHBhZGRpbmcgKi8KKworCWlmIChpc19sYXN0KQorCQlyZXR1cm4gMDsKKworCWlmIChsZW4gPiB3aWR0aCAmJiAhc2NvbHNfY29sdW1uX2lzX3RydW5jKGNsKSkKKwkJcHJpbnRfbmV3bGluZV9wYWRkaW5nKHRiLCBjbCwgbG4sIGJ1Zi0+YnVmc3opOwkvKiBuZXh0IGNvbHVtbiBzdGFydHMgb24gbmV4dCBsaW5lICovCisJZWxzZQorCQlmcHV0cyhjb2xzZXAodGIpLCB0Yi0+b3V0KTsJCS8qIGNvbHVtbnMgc2VwYXJhdG9yICovCisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBjZWxsX3RvX2J1ZmZlcihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCQkgIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLAorCQkJICBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYpCit7CisJY29uc3QgY2hhciAqZGF0YTsKKwlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2U7CisJaW50IHJjID0gMDsKKworCWFzc2VydCh0Yik7CisJYXNzZXJ0KGxuKTsKKwlhc3NlcnQoY2wpOworCWFzc2VydChidWYpOworCWFzc2VydChjbC0+c2VxbnVtIDw9IHRiLT5uY29scyk7CisKKwlidWZmZXJfcmVzZXRfZGF0YShidWYpOworCisJY2UgPSBzY29sc19saW5lX2dldF9jZWxsKGxuLCBjbC0+c2VxbnVtKTsKKwlkYXRhID0gY2UgPyBzY29sc19jZWxsX2dldF9kYXRhKGNlKSA6IE5VTEw7CisJaWYgKCFkYXRhKQorCQlyZXR1cm4gMDsKKworCWlmICghc2NvbHNfY29sdW1uX2lzX3RyZWUoY2wpKQorCQlyZXR1cm4gYnVmZmVyX3NldF9kYXRhKGJ1ZiwgZGF0YSk7CisKKwkvKgorCSAqIFRyZWUgc3R1ZmYKKwkgKi8KKwlpZiAobG4tPnBhcmVudCAmJiAhc2NvbHNfdGFibGVfaXNfanNvbih0YikpIHsKKwkJcmMgPSBsaW5lX2FzY2lpX2FydF90b19idWZmZXIodGIsIGxuLT5wYXJlbnQsIGJ1Zik7CisKKwkJaWYgKCFyYyAmJiBsaXN0X2VudHJ5X2lzX2xhc3QoJmxuLT5sbl9jaGlsZHJlbiwgJmxuLT5wYXJlbnQtPmxuX2JyYW5jaCkpCisJCQlyYyA9IGJ1ZmZlcl9hcHBlbmRfZGF0YShidWYsIHJpZ2h0X3N5bWJvbCh0YikpOworCQllbHNlIGlmICghcmMpCisJCQlyYyA9IGJ1ZmZlcl9hcHBlbmRfZGF0YShidWYsIGJyYW5jaF9zeW1ib2wodGIpKTsKKwkJaWYgKCFyYykKKwkJCWJ1ZmZlcl9zZXRfYXJ0X2luZGV4KGJ1Zik7CisJfQorCisJaWYgKCFyYykKKwkJcmMgPSBidWZmZXJfYXBwZW5kX2RhdGEoYnVmLCBkYXRhKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIGZwdXRfaW5kZW50KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDw9IHRiLT5pbmRlbnQ7IGkrKykKKwkJZnB1dHMoIiAgICIsIHRiLT5vdXQpOworfQorCitzdGF0aWMgdm9pZCBmcHV0X3RhYmxlX29wZW4oc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwl0Yi0+aW5kZW50ID0gMDsKKworCWlmIChzY29sc190YWJsZV9pc19qc29uKHRiKSkgeworCQlmcHV0YygneycsIHRiLT5vdXQpOworCQlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisKKwkJZnB1dF9pbmRlbnQodGIpOworCQlmcHV0c19xdW90ZWQodGItPm5hbWUsIHRiLT5vdXQpOworCQlmcHV0cygiOiBbIiwgdGItPm91dCk7CisJCWZwdXRzKGxpbmVzZXAodGIpLCB0Yi0+b3V0KTsKKworCQl0Yi0+aW5kZW50Kys7CisJCXRiLT5pbmRlbnRfbGFzdF9zZXAgPSAxOworCX0KK30KKworc3RhdGljIHZvaWQgZnB1dF90YWJsZV9jbG9zZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXRiLT5pbmRlbnQtLTsKKworCWlmIChzY29sc190YWJsZV9pc19qc29uKHRiKSkgeworCQlmcHV0X2luZGVudCh0Yik7CisJCWZwdXRjKCddJywgdGItPm91dCk7CisJCXRiLT5pbmRlbnQtLTsKKwkJZnB1dHMobGluZXNlcCh0YiksIHRiLT5vdXQpOworCQlmcHV0YygnfScsIHRiLT5vdXQpOworCQl0Yi0+aW5kZW50X2xhc3Rfc2VwID0gMTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGZwdXRfY2hpbGRyZW5fb3BlbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCWlmIChzY29sc190YWJsZV9pc19qc29uKHRiKSkgeworCQlmcHV0YygnLCcsIHRiLT5vdXQpOworCQlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisJCWZwdXRfaW5kZW50KHRiKTsKKwkJZnB1dHMoIlwiY2hpbGRyZW5cIjogWyIsIHRiLT5vdXQpOworCX0KKwkvKiBiZXR3ZWVuIHBhcmVudCBhbmQgY2hpbGQgaXMgc2VwYXJhdG9yICovCisJZnB1dHMobGluZXNlcCh0YiksIHRiLT5vdXQpOworCXRiLT5pbmRlbnRfbGFzdF9zZXAgPSAxOworCXRiLT5pbmRlbnQrKzsKKwl0Yi0+dGVybWxpbmVzX3VzZWQrKzsKK30KKworc3RhdGljIHZvaWQgZnB1dF9jaGlsZHJlbl9jbG9zZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXRiLT5pbmRlbnQtLTsKKworCWlmIChzY29sc190YWJsZV9pc19qc29uKHRiKSkgeworCQlmcHV0X2luZGVudCh0Yik7CisJCWZwdXRjKCddJywgdGItPm91dCk7CisJCWZwdXRzKGxpbmVzZXAodGIpLCB0Yi0+b3V0KTsKKwkJdGItPmluZGVudF9sYXN0X3NlcCA9IDE7CisJfQorfQorCitzdGF0aWMgdm9pZCBmcHV0X2xpbmVfb3BlbihzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCWlmIChzY29sc190YWJsZV9pc19qc29uKHRiKSkgeworCQlmcHV0X2luZGVudCh0Yik7CisJCWZwdXRjKCd7JywgdGItPm91dCk7CisJCXRiLT5pbmRlbnRfbGFzdF9zZXAgPSAwOworCX0KKwl0Yi0+aW5kZW50Kys7Cit9CisKK3N0YXRpYyB2b2lkIGZwdXRfbGluZV9jbG9zZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBpbnQgbGFzdCwgaW50IGxhc3RfaW5fdGFibGUpCit7CisJdGItPmluZGVudC0tOworCWlmIChzY29sc190YWJsZV9pc19qc29uKHRiKSkgeworCQlpZiAodGItPmluZGVudF9sYXN0X3NlcCkKKwkJCWZwdXRfaW5kZW50KHRiKTsKKwkJZnB1dHMobGFzdCA/ICJ9IiA6ICJ9LCIsIHRiLT5vdXQpOworCQlpZiAoIXRiLT5ub19saW5lc2VwKQorCQkJZnB1dHMobGluZXNlcCh0YiksIHRiLT5vdXQpOworCisJfSBlbHNlIGlmICh0Yi0+bm9fbGluZXNlcCA9PSAwICYmIGxhc3RfaW5fdGFibGUgPT0gMCkgeworCQlmcHV0cyhsaW5lc2VwKHRiKSwgdGItPm91dCk7CisJCXRiLT50ZXJtbGluZXNfdXNlZCsrOworCX0KKworCXRiLT5pbmRlbnRfbGFzdF9zZXAgPSAxOworfQorCisvKgorICogUHJpbnRzIGRhdGEuIERhdGEgY2FuIGJlIHByaW50ZWQgaW4gbW9yZSBmb3JtYXRzIChyYXcsIE5BTUU9eHh4IHBhaXJzKSwgYW5kCisgKiBjb250cm9sIGFuZCBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMgY2FuIGJlIGVuY29kZWQgaW4gdGhlIFx4Pz8gZW5jb2RpbmcuCisgKi8KK3N0YXRpYyBpbnQgcHJpbnRfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkgICAgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCSAgICAgIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlpbnQgcmMgPSAwLCBwZW5kaW5nID0gMDsKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisKKwlhc3NlcnQobG4pOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJwcmludGluZyBsaW5lIikpOworCisJLyogcmVndWxhciBsaW5lICovCisJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChyYyA9PSAwICYmIHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKwkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJY29udGludWU7CisJCXJjID0gY2VsbF90b19idWZmZXIodGIsIGxuLCBjbCwgYnVmKTsKKwkJaWYgKHJjID09IDApCisJCQlyYyA9IHByaW50X2RhdGEodGIsIGNsLCBsbiwKKwkJCQkJc2NvbHNfbGluZV9nZXRfY2VsbChsbiwgY2wtPnNlcW51bSksCisJCQkJCWJ1Zik7CisJCWlmIChyYyA9PSAwICYmIGNsLT5wZW5kaW5nX2RhdGEpCisJCQlwZW5kaW5nID0gMTsKKwl9CisKKwkvKiBleHRyYSBsaW5lcyBvZiB0aGUgbXVsdGktbGluZSBjZWxscyAqLworCXdoaWxlIChyYyA9PSAwICYmIHBlbmRpbmcpIHsKKwkJcGVuZGluZyA9IDA7CisJCWZwdXRzKGxpbmVzZXAodGIpLCB0Yi0+b3V0KTsKKwkJdGItPnRlcm1saW5lc191c2VkKys7CisJCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwkJd2hpbGUgKHJjID09IDAgJiYgc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJCWNvbnRpbnVlOworCQkJaWYgKGNsLT5wZW5kaW5nX2RhdGEpIHsKKwkJCQlyYyA9IHByaW50X3BlbmRpbmdfZGF0YSh0YiwgY2wsIGxuLCBzY29sc19saW5lX2dldF9jZWxsKGxuLCBjbC0+c2VxbnVtKSk7CisJCQkJaWYgKHJjID09IDAgJiYgY2wtPnBlbmRpbmdfZGF0YSkKKwkJCQkJcGVuZGluZyA9IDE7CisJCQl9IGVsc2UKKwkJCQlwcmludF9lbXB0eV9jZWxsKHRiLCBjbCwgbG4sIGJ1Zi0+YnVmc3opOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfdGl0bGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlpbnQgcmMsIGNvbG9yID0gMDsKKwltYnNfYWxpZ25fdCBhbGlnbjsKKwlzaXplX3Qgd2lkdGgsIGxlbiA9IDAsIGJ1ZnN6LCB0aXRsZXN6OworCWNoYXIgKnRpdGxlID0gTlVMTCwgKmJ1ZiA9IE5VTEw7CisKKwlhc3NlcnQodGIpOworCisJaWYgKCF0Yi0+dGl0bGUuZGF0YSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInByaW50aW5nIHRpdGxlIikpOworCisJLyogZW5jb2RlIGRhdGEgKi8KKwlpZiAodGItPm5vX2VuY29kZSkgeworCQlsZW4gPSBidWZzeiA9IHN0cmxlbih0Yi0+dGl0bGUuZGF0YSkgKyAxOworCQlidWYgPSBzdHJkdXAodGItPnRpdGxlLmRhdGEpOworCQlpZiAoIWJ1ZikgeworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBkb25lOworCQl9CisJfSBlbHNlIHsKKwkJYnVmc3ogPSBtYnNfc2FmZV9lbmNvZGVfc2l6ZShzdHJsZW4odGItPnRpdGxlLmRhdGEpKSArIDE7CisJCWlmIChidWZzeiA9PSAxKSB7CisJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInRpdGxlIGlzIGVtcHR5IHN0cmluZyAtLSBpZ25vcmUiKSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlidWYgPSBtYWxsb2MoYnVmc3opOworCQlpZiAoIWJ1ZikgeworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBkb25lOworCQl9CisKKwkJaWYgKCFtYnNfc2FmZV9lbmNvZGVfdG9fYnVmZmVyKHRiLT50aXRsZS5kYXRhLCAmbGVuLCBidWYsIE5VTEwpIHx8CisJCSAgICAhbGVuIHx8IGxlbiA9PSAoc2l6ZV90KSAtMSkgeworCQkJcmMgPSAtRUlOVkFMOworCQkJZ290byBkb25lOworCQl9CisJfQorCisJLyogdHJ1bmNhdGUgYW5kIGFsaWduICovCisJd2lkdGggPSB0Yi0+aXNfdGVybSA/IHRiLT50ZXJtd2lkdGggOiA4MDsKKwl0aXRsZXN6ID0gd2lkdGggKyBidWZzejsKKworCXRpdGxlID0gbWFsbG9jKHRpdGxlc3opOworCWlmICghdGl0bGUpIHsKKwkJcmMgPSAtRUlOVkFMOworCQlnb3RvIGRvbmU7CisJfQorCisJc3dpdGNoIChzY29sc19jZWxsX2dldF9hbGlnbm1lbnQoJnRiLT50aXRsZSkpIHsKKwljYXNlIFNDT0xTX0NFTExfRkxfUklHSFQ6CisJCWFsaWduID0gTUJTX0FMSUdOX1JJR0hUOworCQlicmVhazsKKwljYXNlIFNDT0xTX0NFTExfRkxfQ0VOVEVSOgorCQlhbGlnbiA9IE1CU19BTElHTl9DRU5URVI7CisJCWJyZWFrOworCWNhc2UgU0NPTFNfQ0VMTF9GTF9MRUZUOgorCWRlZmF1bHQ6CisJCWFsaWduID0gTUJTX0FMSUdOX0xFRlQ7CisJCS8qCisJCSAqIERvbid0IHByaW50IGV4dHJhIGJsYW5rIGNoYXJzIGFmdGVyIHRoZSB0aXRsZSBpZiBvbiBsZWZ0CisJCSAqICh0aGF0J3Mgc2FtZSBhcyB3ZSB1c2UgZm9yIHRoZSBsYXN0IGNvbHVtbiBpbiB0aGUgdGFibGUpLgorCQkgKi8KKwkJaWYgKGxlbiA8IHdpZHRoCisJCSAgICAmJiAhc2NvbHNfdGFibGVfaXNfbWF4b3V0KHRiKQorCQkgICAgJiYgaXNibGFuaygqdGl0bGVwYWRkaW5nX3N5bWJvbCh0YikpKQorCQkJd2lkdGggPSBsZW47CisJCWJyZWFrOworCisJfQorCisJLyogY29weSBmcm9tIGJ1ZiB0byB0aXRsZSBhbmQgYWxpZ24gdG8gd2lkdGggd2l0aCB0aXRsZV9wYWRkaW5nICovCisJcmMgPSBtYnNhbGlnbl93aXRoX3BhZGRpbmcoYnVmLCB0aXRsZSwgdGl0bGVzeiwKKwkJCSZ3aWR0aCwgYWxpZ24sCisJCQkwLCAoaW50KSAqdGl0bGVwYWRkaW5nX3N5bWJvbCh0YikpOworCisJaWYgKHJjID09IC0xKSB7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBkb25lOworCX0KKworCWlmICh0Yi0+Y29sb3JzX3dhbnRlZCAmJiB0Yi0+dGl0bGUuY29sb3IpCisJCWNvbG9yID0gMTsKKwlpZiAoY29sb3IpCisJCWZwdXRzKHRiLT50aXRsZS5jb2xvciwgdGItPm91dCk7CisKKwlmcHV0cyh0aXRsZSwgdGItPm91dCk7CisKKwlpZiAoY29sb3IpCisJCWZwdXRzKFVMX0NPTE9SX1JFU0VULCB0Yi0+b3V0KTsKKworCWZwdXRjKCdcbicsIHRiLT5vdXQpOworCXJjID0gMDsKK2RvbmU6CisJZnJlZShidWYpOworCWZyZWUodGl0bGUpOworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicHJpbnRpbmcgdGl0bGUgZG9uZSBbcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfaGVhZGVyKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKworCWFzc2VydCh0Yik7CisKKwlpZiAoKHRiLT5oZWFkZXJfcHJpbnRlZCA9PSAxICYmIHRiLT5oZWFkZXJfcmVwZWF0ID09IDApIHx8CisJICAgIHNjb2xzX3RhYmxlX2lzX25vaGVhZGluZ3ModGIpIHx8CisJICAgIHNjb2xzX3RhYmxlX2lzX2V4cG9ydCh0YikgfHwKKwkgICAgc2NvbHNfdGFibGVfaXNfanNvbih0YikgfHwKKwkgICAgbGlzdF9lbXB0eSgmdGItPnRiX2xpbmVzKSkKKwkJcmV0dXJuIDA7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInByaW50aW5nIGhlYWRlciIpKTsKKworCS8qIHNldCB0aGUgd2lkdGggYWNjb3JkaW5nIHRvIHRoZSBzaXplIG9mIHRoZSBkYXRhICovCisJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCXdoaWxlIChyYyA9PSAwICYmIHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKwkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJY29udGludWU7CisJCXJjID0gYnVmZmVyX3NldF9kYXRhKGJ1Ziwgc2NvbHNfY2VsbF9nZXRfZGF0YSgmY2wtPmhlYWRlcikpOworCQlpZiAoIXJjKQorCQkJcmMgPSBwcmludF9kYXRhKHRiLCBjbCwgTlVMTCwgJmNsLT5oZWFkZXIsIGJ1Zik7CisJfQorCisJaWYgKHJjID09IDApIHsKKwkJZnB1dHMobGluZXNlcCh0YiksIHRiLT5vdXQpOworCQl0Yi0+dGVybWxpbmVzX3VzZWQrKzsKKwl9CisKKwl0Yi0+aGVhZGVyX3ByaW50ZWQgPSAxOworCXRiLT5oZWFkZXJfbmV4dCA9IHRiLT50ZXJtbGluZXNfdXNlZCArIHRiLT50ZXJtaGVpZ2h0OworCWlmICh0Yi0+aGVhZGVyX3JlcGVhdCkKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJcdG5leHQgaGVhZGVyOiAlenUgW2N1cnJlbnQ9JXp1XSIsCisJCQkJCXRiLT5oZWFkZXJfbmV4dCwgdGItPnRlcm1saW5lc191c2VkKSk7CisJcmV0dXJuIHJjOworfQorCisKK3N0YXRpYyBpbnQgcHJpbnRfcmFuZ2UoCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQlzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYsCisJCQlzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyLAorCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmVuZCkKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKworCWFzc2VydCh0Yik7CisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJwcmludGluZyByYW5nZSIpKTsKKworCXdoaWxlIChyYyA9PSAwICYmIHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgaXRyLCAmbG4pID09IDApIHsKKworCQlpbnQgbGFzdCA9IHNjb2xzX2l0ZXJfaXNfbGFzdChpdHIpOworCisJCWZwdXRfbGluZV9vcGVuKHRiKTsKKwkJcmMgPSBwcmludF9saW5lKHRiLCBsbiwgYnVmKTsKKwkJZnB1dF9saW5lX2Nsb3NlKHRiLCBsYXN0LCBsYXN0KTsKKworCQlpZiAoZW5kICYmIGxuID09IGVuZCkKKwkJCWJyZWFrOworCisJCWlmICghbGFzdCAmJiB3YW50X3JlcGVhdF9oZWFkZXIodGIpKQorCQkJcHJpbnRfaGVhZGVyKHRiLCBidWYpOworCX0KKworCXJldHVybiByYzsKKworfQorCitzdGF0aWMgaW50IHByaW50X3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisKKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJcmV0dXJuIHByaW50X3JhbmdlKHRiLCBidWYsICZpdHIsIE5VTEwpOworfQorCisKK3N0YXRpYyBpbnQgcHJpbnRfdHJlZV9saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQkgICBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sCisJCQkgICBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYsCisJCQkgICBpbnQgbGFzdCwKKwkJCSAgIGludCBsYXN0X2luX3RhYmxlKQoreworCWludCByYzsKKworCS8qIHByaW50IHRoZSBsaW5lICovCisJZnB1dF9saW5lX29wZW4odGIpOworCXJjID0gcHJpbnRfbGluZSh0YiwgbG4sIGJ1Zik7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwkvKiBwcmludCBjaGlsZHJlbiAqLworCWlmICghbGlzdF9lbXB0eSgmbG4tPmxuX2JyYW5jaCkpIHsKKwkJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCQlmcHV0X2NoaWxkcmVuX29wZW4odGIpOworCisJCS8qIHByaW50IGFsbCBjaGlsZHJlbiAqLworCQlsaXN0X2Zvcl9lYWNoKHAsICZsbi0+bG5fYnJhbmNoKSB7CisJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqY2hsZCA9CisJCQkJCWxpc3RfZW50cnkocCwgc3RydWN0IGxpYnNjb2xzX2xpbmUsIGxuX2NoaWxkcmVuKTsKKwkJCWludCBsYXN0X2NoaWxkID0gcC0+bmV4dCA9PSAmbG4tPmxuX2JyYW5jaDsKKworCQkJcmMgPSBwcmludF90cmVlX2xpbmUodGIsIGNobGQsIGJ1ZiwgbGFzdF9jaGlsZCwgbGFzdF9pbl90YWJsZSAmJiBsYXN0X2NoaWxkKTsKKwkJCWlmIChyYykKKwkJCQlnb3RvIGRvbmU7CisJCX0KKworCQlmcHV0X2NoaWxkcmVuX2Nsb3NlKHRiKTsKKwl9CisKKwlpZiAobGlzdF9lbXB0eSgmbG4tPmxuX2JyYW5jaCkgfHwgc2NvbHNfdGFibGVfaXNfanNvbih0YikpCisJCWZwdXRfbGluZV9jbG9zZSh0YiwgbGFzdCwgbGFzdF9pbl90YWJsZSk7Citkb25lOgorCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBwcmludF90cmVlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZikKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgKmxhc3QgPSBOVUxMOworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKworCWFzc2VydCh0Yik7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInByaW50aW5nIHRyZWUiKSk7CisKKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9saW5lKHRiLCAmaXRyLCAmbG4pID09IDApCisJCWlmICghbGFzdCB8fCAhbG4tPnBhcmVudCkKKwkJCWxhc3QgPSBsbjsKKworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAocmMgPT0gMCAmJiBzY29sc190YWJsZV9uZXh0X2xpbmUodGIsICZpdHIsICZsbikgPT0gMCkgeworCQlpZiAobG4tPnBhcmVudCkKKwkJCWNvbnRpbnVlOworCQlyYyA9IHByaW50X3RyZWVfbGluZSh0YiwgbG4sIGJ1ZiwgbG4gPT0gbGFzdCwgbG4gPT0gbGFzdCk7CisJfQorCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBkYmdfY29sdW1uKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsKQoreworCWlmIChzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkgeworCQlEQkcoQ09MLCB1bF9kZWJ1Z29iaihjbCwgIiVzIChoaWRkZW4pIGlnbm9yZWQiLCBjbC0+aGVhZGVyLmRhdGEpKTsKKwkJcmV0dXJuOworCX0KKworCURCRyhDT0wsIHVsX2RlYnVnb2JqKGNsLCAiJTE1cyBzZXE9JXp1LCB3aWR0aD0lemQsICIKKwkJCQkgImhpbnQ9JWQsIGF2Zz0lenUsIG1heD0lenUsIG1pbj0lenUsICIKKwkJCQkgImV4dHJlbWU9JXMgJXMiLAorCisJCWNsLT5oZWFkZXIuZGF0YSwgY2wtPnNlcW51bSwgY2wtPndpZHRoLAorCQljbC0+d2lkdGhfaGludCA+IDEgPyAoaW50KSBjbC0+d2lkdGhfaGludCA6CisJCQkJICAgICAoaW50KSAoY2wtPndpZHRoX2hpbnQgKiB0Yi0+dGVybXdpZHRoKSwKKwkJY2wtPndpZHRoX2F2ZywKKwkJY2wtPndpZHRoX21heCwKKwkJY2wtPndpZHRoX21pbiwKKwkJY2wtPmlzX2V4dHJlbWUgPyAieWVzIiA6ICJub3QiLAorCQljbC0+ZmxhZ3MgJiBTQ09MU19GTF9UUlVOQyA/ICJ0cnVuYyIgOiAiIikpOworfQorCitzdGF0aWMgdm9pZCBkYmdfY29sdW1ucyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkKKwkJZGJnX2NvbHVtbih0YiwgY2wpOworfQorCisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIGNvdW50cyBjb2x1bW4gd2lkdGguCisgKgorICogRm9yIHRoZSBTQ09MU19GTF9OT0VYVFJFTUVTIGNvbHVtbnMgaXQgaXMgcG9zc2libGUgdG8gY2FsbCB0aGlzIGZ1bmN0aW9uCisgKiB0d28gdGltZXMuIFRoZSBmaXJzdCBwYXNzIGNvdW50cyB0aGUgd2lkdGggYW5kIGF2ZXJhZ2Ugd2lkdGguIElmIHRoZSBjb2x1bW4KKyAqIGNvbnRhaW5zIGZpZWxkcyB0aGF0IGFyZSB0b28gbGFyZ2UgKGEgd2lkdGggZ3JlYXRlciB0aGFuIDIgKiBhdmVyYWdlKSB0aGVuCisgKiB0aGUgY29sdW1uIGlzIG1hcmtlZCBhcyAiZXh0cmVtZSIuIEluIHRoZSBzZWNvbmQgcGFzcyBhbGwgZXh0cmVtZSBmaWVsZHMKKyAqIGFyZSBpZ25vcmVkIGFuZCB0aGUgY29sdW1uIHdpZHRoIGlzIGNvdW50ZWQgZnJvbSBub24tZXh0cmVtZSBmaWVsZHMgb25seS4KKyAqLworc3RhdGljIGludCBjb3VudF9jb2x1bW5fd2lkdGgoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCSAgICAgIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsLAorCQkJICAgICAgc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciBpdHI7CisJaW50IGNvdW50ID0gMCwgcmMgPSAwLCBub19oZWFkZXIgPSAwOworCXNpemVfdCBzdW0gPSAwOworCisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQoY2wpOworCisJY2wtPndpZHRoID0gMDsKKwlpZiAoIWNsLT53aWR0aF9taW4pIHsKKwkJaWYgKGNsLT53aWR0aF9oaW50IDwgMSAmJiBzY29sc190YWJsZV9pc19tYXhvdXQodGIpICYmIHRiLT5pc190ZXJtKSB7CisJCQljbC0+d2lkdGhfbWluID0gKHNpemVfdCkgKGNsLT53aWR0aF9oaW50ICogdGItPnRlcm13aWR0aCk7CisJCQlpZiAoY2wtPndpZHRoX21pbiAmJiAhaXNfbGFzdF9jb2x1bW4oY2wpKQorCQkJCWNsLT53aWR0aF9taW4tLTsKKwkJfQorCQlpZiAoc2NvbHNfY2VsbF9nZXRfZGF0YSgmY2wtPmhlYWRlcikpIHsKKwkJCXNpemVfdCBsZW4gPSBtYnNfc2FmZV93aWR0aChzY29sc19jZWxsX2dldF9kYXRhKCZjbC0+aGVhZGVyKSk7CisJCQljbC0+d2lkdGhfbWluID0gbWF4KGNsLT53aWR0aF9taW4sIGxlbik7CisJCX0gZWxzZQorCQkJbm9faGVhZGVyID0gMTsKKworCQlpZiAoIWNsLT53aWR0aF9taW4pCisJCQljbC0+d2lkdGhfbWluID0gMTsKKwl9CisKKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgJml0ciwgJmxuKSA9PSAwKSB7CisJCXNpemVfdCBsZW47CisJCWNoYXIgKmRhdGE7CisKKwkJcmMgPSBjZWxsX3RvX2J1ZmZlcih0YiwgbG4sIGNsLCBidWYpOworCQlpZiAocmMpCisJCQlnb3RvIGRvbmU7CisKKwkJZGF0YSA9IGJ1ZmZlcl9nZXRfZGF0YShidWYpOworCisJCWlmICghZGF0YSkKKwkJCWxlbiA9IDA7CisJCWVsc2UgaWYgKHNjb2xzX2NvbHVtbl9pc19jdXN0b213cmFwKGNsKSkKKwkJCWxlbiA9IGNsLT53cmFwX2NodW5rc2l6ZShjbCwgZGF0YSwgY2wtPndyYXBmdW5jX2RhdGEpOworCQllbHNlCisJCQlsZW4gPSBtYnNfc2FmZV93aWR0aChkYXRhKTsKKworCQlpZiAobGVuID09IChzaXplX3QpIC0xKQkJLyogaWdub3JlIGJyb2tlbiBtdWx0aWJ5dGUgc3RyaW5ncyAqLworCQkJbGVuID0gMDsKKwkJY2wtPndpZHRoX21heCA9IG1heChsZW4sIGNsLT53aWR0aF9tYXgpOworCisJCWlmIChjbC0+aXNfZXh0cmVtZSAmJiBsZW4gPiBjbC0+d2lkdGhfYXZnICogMikKKwkJCWNvbnRpbnVlOworCQllbHNlIGlmIChzY29sc19jb2x1bW5faXNfbm9leHRyZW1lcyhjbCkpIHsKKwkJCXN1bSArPSBsZW47CisJCQljb3VudCsrOworCQl9CisJCWNsLT53aWR0aCA9IG1heChsZW4sIGNsLT53aWR0aCk7CisJCWlmIChzY29sc19jb2x1bW5faXNfdHJlZShjbCkpIHsKKwkJCXNpemVfdCB0cmVld2lkdGggPSBidWZmZXJfZ2V0X3NhZmVfYXJ0X3NpemUoYnVmKTsKKwkJCWNsLT53aWR0aF90cmVlYXJ0ID0gbWF4KGNsLT53aWR0aF90cmVlYXJ0LCB0cmVld2lkdGgpOworCQl9CisJfQorCisJaWYgKGNvdW50ICYmIGNsLT53aWR0aF9hdmcgPT0gMCkgeworCQljbC0+d2lkdGhfYXZnID0gc3VtIC8gY291bnQ7CisJCWlmIChjbC0+d2lkdGhfbWF4ID4gY2wtPndpZHRoX2F2ZyAqIDIpCisJCQljbC0+aXNfZXh0cmVtZSA9IDE7CisJfQorCisJLyogZW5sYXJnZSB0byBtaW5pbWFsIHdpZHRoICovCisJaWYgKGNsLT53aWR0aCA8IGNsLT53aWR0aF9taW4gJiYgIXNjb2xzX2NvbHVtbl9pc19zdHJpY3Rfd2lkdGgoY2wpKQorCQljbC0+d2lkdGggPSBjbC0+d2lkdGhfbWluOworCisJLyogdXNlIGFic29sdXRlIHNpemUgZm9yIGxhcmdlIGNvbHVtbnMgKi8KKwllbHNlIGlmIChjbC0+d2lkdGhfaGludCA+PSAxICYmIGNsLT53aWR0aCA8IChzaXplX3QpIGNsLT53aWR0aF9oaW50CisJCSAmJiBjbC0+d2lkdGhfbWluIDwgKHNpemVfdCkgY2wtPndpZHRoX2hpbnQpCisKKwkJY2wtPndpZHRoID0gKHNpemVfdCkgY2wtPndpZHRoX2hpbnQ7CisKKworCS8qIENvbHVtbiB3aXRob3V0IGhlYWRlciBhbmQgZGF0YSwgc2V0IG1pbmltYWwgc2l6ZSB0byB6ZXJvIChkZWZhdWx0IGlzIDEpICovCisJaWYgKGNsLT53aWR0aF9tYXggPT0gMCAmJiBub19oZWFkZXIgJiYgY2wtPndpZHRoX21pbiA9PSAxICYmIGNsLT53aWR0aCA8PSAxKQorCQljbC0+d2lkdGggPSBjbC0+d2lkdGhfbWluID0gMDsKKworZG9uZToKKwlPTl9EQkcoQ09MLCBkYmdfY29sdW1uKHRiLCBjbCkpOworCXJldHVybiByYzsKK30KKworLyoKKyAqIFRoaXMgaXMgY29yZSBvZiB0aGUgc2NvbHNfKiB2b29kb28uLi4KKyAqLworc3RhdGljIGludCByZWNvdW50X3dpZHRocyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgbGlic2NvbHNfYnVmZmVyICpidWYpCit7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCXNpemVfdCB3aWR0aCA9IDAsIHdpZHRoX21pbiA9IDA7CS8qIG91dHB1dCB3aWR0aCAqLworCWludCBzdGFnZSwgcmMgPSAwOworCWludCBleHRyZW1lcyA9IDA7CisJc2l6ZV90IGNvbHNlcHN6OworCisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInJlY291bnRpbmcgd2lkdGhzICh0ZXJtd2lkdGg9JXp1KSIsIHRiLT50ZXJtd2lkdGgpKTsKKworCWNvbHNlcHN6ID0gbWJzX3NhZmVfd2lkdGgoY29sc2VwKHRiKSk7CisKKwkvKiBzZXQgYmFzaWMgY29sdW1ucyB3aWR0aAorCSAqLworCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQlpbnQgaXNfbGFzdDsKKworCQlpZiAoc2NvbHNfY29sdW1uX2lzX2hpZGRlbihjbCkpCisJCQljb250aW51ZTsKKwkJcmMgPSBjb3VudF9jb2x1bW5fd2lkdGgodGIsIGNsLCBidWYpOworCQlpZiAocmMpCisJCQlnb3RvIGRvbmU7CisKKwkJaXNfbGFzdCA9IGlzX2xhc3RfY29sdW1uKGNsKTsKKworCQl3aWR0aCArPSBjbC0+d2lkdGggKyAoaXNfbGFzdCA/IDAgOiBjb2xzZXBzeik7CQkvKiBzZXBhcmF0b3IgZm9yIG5vbi1sYXN0IGNvbHVtbiAqLworCQl3aWR0aF9taW4gKz0gY2wtPndpZHRoX21pbiArIChpc19sYXN0ID8gMCA6IGNvbHNlcHN6KTsKKwkJZXh0cmVtZXMgKz0gY2wtPmlzX2V4dHJlbWU7CisJfQorCisJaWYgKCF0Yi0+aXNfdGVybSkgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiBub24tdGVybWluYWwgb3V0cHV0IikpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogYmUgcGFyYW5vaWQgKi8KKwlpZiAod2lkdGhfbWluID4gdGItPnRlcm13aWR0aCAmJiBzY29sc190YWJsZV9pc19tYXhvdXQodGIpKSB7CisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiIG1pbiB3aWR0aCBsYXJnZXIgdGhhbiB0ZXJtaW5hbCEgW3dpZHRoPSV6dSwgdGVybT0lenVdIiwgd2lkdGhfbWluLCB0Yi0+dGVybXdpZHRoKSk7CisKKwkJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCQl3aGlsZSAod2lkdGhfbWluID4gdGItPnRlcm13aWR0aAorCQkgICAgICAgJiYgc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJCWNvbnRpbnVlOworCQkJd2lkdGhfbWluLS07CisJCQljbC0+d2lkdGhfbWluLS07CisJCX0KKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgbWluIHdpZHRoIHJlZHVjZWQgdG8gJXp1Iiwgd2lkdGhfbWluKSk7CisJfQorCisJLyogcmVkdWNlIGNvbHVtbnMgd2l0aCBleHRyZW1lIGZpZWxkcyAqLworCWlmICh3aWR0aCA+IHRiLT50ZXJtd2lkdGggJiYgZXh0cmVtZXMpIHsKKwkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgcmVkdWNlIHdpZHRoIChleHRyZW1lIGNvbHVtbnMpIikpOworCisJCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwkJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKwkJCXNpemVfdCBvcmdfd2lkdGg7CisKKwkJCWlmICghY2wtPmlzX2V4dHJlbWUgfHwgc2NvbHNfY29sdW1uX2lzX2hpZGRlbihjbCkpCisJCQkJY29udGludWU7CisKKwkJCW9yZ193aWR0aCA9IGNsLT53aWR0aDsKKwkJCXJjID0gY291bnRfY29sdW1uX3dpZHRoKHRiLCBjbCwgYnVmKTsKKwkJCWlmIChyYykKKwkJCQlnb3RvIGRvbmU7CisKKwkJCWlmIChvcmdfd2lkdGggPiBjbC0+d2lkdGgpCisJCQkJd2lkdGggLT0gb3JnX3dpZHRoIC0gY2wtPndpZHRoOworCQkJZWxzZQorCQkJCWV4dHJlbWVzLS07CS8qIGhtbS4uLiBub3RoaW5nIHJlZHVjZWQgKi8KKwkJfQorCX0KKworCWlmICh3aWR0aCA8IHRiLT50ZXJtd2lkdGgpIHsKKwkJaWYgKGV4dHJlbWVzKSB7CisJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiBlbmxhcmdlIHdpZHRoIChleHRyZW1lIGNvbHVtbnMpIikpOworCisJCQkvKiBlbmxhcmdlIHRoZSBmaXJzdCBleHRyZW1lIGNvbHVtbiAqLworCQkJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCQkJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKwkJCQlzaXplX3QgYWRkOworCisJCQkJaWYgKCFjbC0+aXNfZXh0cmVtZSB8fCBzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkKKwkJCQkJY29udGludWU7CisKKwkJCQkvKiB0aGlzIGNvbHVtbiBpcyB0b28gbGFyZ2UsIGlnbm9yZT8KKwkJCQlpZiAoY2wtPndpZHRoX21heCAtIGNsLT53aWR0aCA+CisJCQkJCQkodGItPnRlcm13aWR0aCAtIHdpZHRoKSkKKwkJCQkJY29udGludWU7CisJCQkJKi8KKworCQkJCWFkZCA9IHRiLT50ZXJtd2lkdGggLSB3aWR0aDsKKwkJCQlpZiAoYWRkICYmIGNsLT53aWR0aCArIGFkZCA+IGNsLT53aWR0aF9tYXgpCisJCQkJCWFkZCA9IGNsLT53aWR0aF9tYXggLSBjbC0+d2lkdGg7CisKKwkJCQljbC0+d2lkdGggKz0gYWRkOworCQkJCXdpZHRoICs9IGFkZDsKKworCQkJCWlmICh3aWR0aCA9PSB0Yi0+dGVybXdpZHRoKQorCQkJCQlicmVhazsKKwkJCX0KKwkJfQorCisJCWlmICh3aWR0aCA8IHRiLT50ZXJtd2lkdGggJiYgc2NvbHNfdGFibGVfaXNfbWF4b3V0KHRiKSkgeworCQkJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICIgZW5sYXJnZSB3aWR0aCAobWF4LW91dCkiKSk7CisKKwkJCS8qIHRyeSBlbmxhcmdpbmcgYWxsIGNvbHVtbnMgKi8KKwkJCXdoaWxlICh3aWR0aCA8IHRiLT50ZXJtd2lkdGgpIHsKKwkJCQlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJCQkJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfY29sdW1uKHRiLCAmaXRyLCAmY2wpID09IDApIHsKKwkJCQkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJCQkJY29udGludWU7CisJCQkJCWNsLT53aWR0aCsrOworCQkJCQl3aWR0aCsrOworCQkJCQlpZiAod2lkdGggPT0gdGItPnRlcm13aWR0aCkKKwkJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0KKwkJfSBlbHNlIGlmICh3aWR0aCA8IHRiLT50ZXJtd2lkdGgpIHsKKwkJCS8qIGVubGFyZ2UgdGhlIGxhc3QgY29sdW1uICovCisJCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjb2wgPSBsaXN0X2VudHJ5KAorCQkJCXRiLT50Yl9jb2x1bW5zLnByZXYsIHN0cnVjdCBsaWJzY29sc19jb2x1bW4sIGNsX2NvbHVtbnMpOworCisJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiBlbmxhcmdlIHdpZHRoIChsYXN0IGNvbHVtbikiKSk7CisKKwkJCWlmICghc2NvbHNfY29sdW1uX2lzX3JpZ2h0KGNvbCkgJiYgdGItPnRlcm13aWR0aCAtIHdpZHRoID4gMCkgeworCQkJCWNvbC0+d2lkdGggKz0gdGItPnRlcm13aWR0aCAtIHdpZHRoOworCQkJCXdpZHRoID0gdGItPnRlcm13aWR0aDsKKwkJCX0KKwkJfQorCX0KKworCS8qIGJhZCwgd2UgaGF2ZSB0byByZWR1Y2Ugb3V0cHV0IHdpZHRoLCB0aGlzIGlzIGRvbmUgaW4gdGhyZWUgc3RhZ2VzOgorCSAqCisJICogMSkgdHJ1bmMgcmVsYXRpdmUgd2l0aCB0cnVuYyBmbGFnIGlmIHRoZSBjb2x1bW4gd2lkdGggaXMgZ3JlYXRlciB0aGFuCisJICogICAgZXhwZWN0ZWQgY29sdW1uIHdpZHRoIChpdCBtZWFucyAid2lkdGhfaGludCAqIHRlcm1pbmFsX3dpZHRoIikuCisJICoKKwkgKiAyKSB0cnVuYyBhbGwgd2l0aCB0cnVuYyBmbGFnCisJICoKKwkgKiAzKSB0cnVuYyByZWxhdGl2ZSB3aXRob3V0IHRydW5jIGZsYWcKKwkgKgorCSAqIE5vdGUgdGhhdCBTQ09MU19GTF9XUkFQIChpZiBubyBjdXN0b20gd3JhcCBmdW5jdGlvbiBpcyBzcGVjaWZpZWQpIGlzCisJICogaW50ZXJwcmV0ZWQgYXMgU0NPTFNfRkxfVFJVTkMuCisJICovCisJZm9yIChzdGFnZSA9IDE7IHdpZHRoID4gdGItPnRlcm13aWR0aCAmJiBzdGFnZSA8PSAzOyApIHsKKwkJc2l6ZV90IG9yZ193aWR0aCA9IHdpZHRoOworCisJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiIHJlZHVjZSB3aWR0aCAtICMlZCBzdGFnZSAoY3VycmVudD0lenUsIHdhbnRlZD0lenUpIiwKKwkJCQlzdGFnZSwgd2lkdGgsIHRiLT50ZXJtd2lkdGgpKTsKKworCQlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YiwgJml0ciwgJmNsKSA9PSAwKSB7CisKKwkJCWludCB0cnVuY19mbGFnID0gMDsKKworCQkJREJHKFRBQiwgdWxfZGVidWdvYmooY2wsICIgICBjaGVja2luZyAlcyAod2lkdGg9JXp1LCB0cmVlYXJ0PSV6dSkiLAorCQkJCQkJY2wtPmhlYWRlci5kYXRhLCBjbC0+d2lkdGgsIGNsLT53aWR0aF90cmVlYXJ0KSk7CisJCQlpZiAoc2NvbHNfY29sdW1uX2lzX2hpZGRlbihjbCkpCisJCQkJY29udGludWU7CisJCQlpZiAod2lkdGggPD0gdGItPnRlcm13aWR0aCkKKwkJCQlicmVhazsKKworCQkJLyogbmV2ZXIgdHJ1bmNhdGUgaWYgYWxyZWFkeSBtaW5pbWFsIHdpZHRoICovCisJCQlpZiAoY2wtPndpZHRoID09IGNsLT53aWR0aF9taW4pCisJCQkJY29udGludWU7CisKKwkJCS8qIG5ldmVyIHRydW5jYXRlIHRoZSB0cmVlICovCisJCQlpZiAoc2NvbHNfY29sdW1uX2lzX3RyZWUoY2wpICYmIHdpZHRoIDw9IGNsLT53aWR0aF90cmVlYXJ0KQorCQkJCWNvbnRpbnVlOworCisJCQkvKiBub3RoaW5nIHRvIHRydW5jYXRlICovCisJCQlpZiAoY2wtPndpZHRoID09IDAgfHwgd2lkdGggPT0gMCkKKwkJCQljb250aW51ZTsKKworCQkJdHJ1bmNfZmxhZyA9IHNjb2xzX2NvbHVtbl9pc190cnVuYyhjbCkKKwkJCQkgICAgfHwgKHNjb2xzX2NvbHVtbl9pc193cmFwKGNsKSAmJiAhc2NvbHNfY29sdW1uX2lzX2N1c3RvbXdyYXAoY2wpKTsKKworCQkJc3dpdGNoIChzdGFnZSkgeworCQkJLyogIzEgc3RhZ2UgLSB0cnVuYyByZWxhdGl2ZSB3aXRoIFRSVU5DIGZsYWcgKi8KKwkJCWNhc2UgMToKKwkJCQlpZiAoIXRydW5jX2ZsYWcpCQkvKiBpZ25vcmU6IG1pc3NpbmcgZmxhZyAqLworCQkJCQlicmVhazsKKwkJCQlpZiAoY2wtPndpZHRoX2hpbnQgPD0gMCB8fCBjbC0+d2lkdGhfaGludCA+PSAxKQkvKiBpZ25vcmU6IG5vIHJlbGF0aXZlICovCisJCQkJCWJyZWFrOworCQkJCWlmIChjbC0+d2lkdGggPCAoc2l6ZV90KSAoY2wtPndpZHRoX2hpbnQgKiB0Yi0+dGVybXdpZHRoKSkgLyogaWdub3JlOiBzbWFsbGVyIHRoYW4gZXhwZWN0ZWQgd2lkdGggKi8KKwkJCQkJYnJlYWs7CisKKwkJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiAgICAgcmVkdWNpbmcgKHJlbGF0aXZlIHdpdGggZmxhZykiKSk7CisJCQkJY2wtPndpZHRoLS07CisJCQkJd2lkdGgtLTsKKwkJCQlicmVhazsKKworCQkJLyogIzIgc3RhZ2UgLSB0cnVuYyBhbGwgd2l0aCBUUlVOQyBmbGFnICovCisJCQljYXNlIDI6CisJCQkJaWYgKCF0cnVuY19mbGFnKQkJLyogaWdub3JlOiBtaXNzaW5nIGZsYWcgKi8KKwkJCQkJYnJlYWs7CisKKwkJCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiAgICAgcmVkdWNpbmcgKGFsbCB3aXRoIGZsYWcpIikpOworCQkJCWNsLT53aWR0aC0tOworCQkJCXdpZHRoLS07CisJCQkJYnJlYWs7CisKKwkJCS8qICMzIHN0YWdlIC0gdHJ1bmMgcmVsYXRpdmUgd2l0aG91dCBmbGFnICovCisJCQljYXNlIDM6CisJCQkJaWYgKGNsLT53aWR0aF9oaW50IDw9IDAgfHwgY2wtPndpZHRoX2hpbnQgPj0gMSkJLyogaWdub3JlOiBubyByZWxhdGl2ZSAqLworCQkJCQlicmVhazsKKworCQkJCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAiICAgICByZWR1Y2luZyAocmVsYXRpdmUgd2l0aG91dCBmbGFnKSIpKTsKKwkJCQljbC0+d2lkdGgtLTsKKwkJCQl3aWR0aC0tOworCQkJCWJyZWFrOworCQkJfQorCisJCQkvKiBoaWRlIHplcm8gd2lkdGggY29sdW1ucyAqLworCQkJaWYgKGNsLT53aWR0aCA9PSAwKQorCQkJCWNsLT5mbGFncyB8PSBTQ09MU19GTF9ISURERU47CisJCX0KKworCQkvKiB0aGUgY3VycmVudCBzdGFnZSBpcyB3aXRob3V0IGVmZmVjdCwgZ28gdG8gdGhlIG5leHQgKi8KKwkJaWYgKG9yZ193aWR0aCA9PSB3aWR0aCkKKwkJCXN0YWdlKys7CisJfQorCisJLyogaWdub3JlIGxhc3QgY29sdW1uKHMpIG9yIGZvcmNlIGxhc3QgY29sdW1uIHRvIGJlIHRydW5jYXRlZCBpZgorCSAqIG5vd3JhcCBtb2RlIGVuYWJsZWQgKi8KKwlpZiAodGItPm5vX3dyYXAgJiYgd2lkdGggPiB0Yi0+dGVybXdpZHRoKSB7CisJCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9CQUNLV0FSRCk7CisJCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2NvbHVtbih0YiwgJml0ciwgJmNsKSA9PSAwKSB7CisKKwkJCWlmIChzY29sc19jb2x1bW5faXNfaGlkZGVuKGNsKSkKKwkJCQljb250aW51ZTsKKwkJCWlmICh3aWR0aCA8PSB0Yi0+dGVybXdpZHRoKQorCQkJCWJyZWFrOworCQkJaWYgKHdpZHRoIC0gY2wtPndpZHRoIDwgdGItPnRlcm13aWR0aCkgeworCQkJCXNpemVfdCByID0gIHdpZHRoIC0gdGItPnRlcm13aWR0aDsKKworCQkJCWNsLT5mbGFncyB8PSBTQ09MU19GTF9UUlVOQzsKKwkJCQljbC0+d2lkdGggLT0gcjsKKwkJCQl3aWR0aCAtPSByOworCQkJfSBlbHNlIHsKKwkJCQljbC0+ZmxhZ3MgfD0gU0NPTFNfRkxfSElEREVOOworCQkJCXdpZHRoIC09IGNsLT53aWR0aCArIGNvbHNlcHN6OworCQkJfQorCQl9CisJfQorZG9uZToKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgIiBmaW5hbCB3aWR0aDogJXp1IChyYz0lZCkiLCB3aWR0aCwgcmMpKTsKKwlPTl9EQkcoVEFCLCBkYmdfY29sdW1ucyh0YikpOworCisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgc2l6ZV90IHN0cmxlbl9saW5lKHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlzaXplX3QgaSwgc3ogPSAwOworCisJYXNzZXJ0KGxuKTsKKworCWZvciAoaSA9IDA7IGkgPCBsbi0+bmNlbGxzOyBpKyspIHsKKwkJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlID0gc2NvbHNfbGluZV9nZXRfY2VsbChsbiwgaSk7CisJCWNvbnN0IGNoYXIgKmRhdGEgPSBjZSA/IHNjb2xzX2NlbGxfZ2V0X2RhdGEoY2UpIDogTlVMTDsKKworCQlzeiArPSBkYXRhID8gc3RybGVuKGRhdGEpIDogMDsKKwl9CisKKwlyZXR1cm4gc3o7Cit9CisKK3N0YXRpYyB2b2lkIGNsZWFudXBfcHJpbnRpbmcoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0Yiwgc3RydWN0IGxpYnNjb2xzX2J1ZmZlciAqYnVmKQoreworCWlmICghdGIpCisJCXJldHVybjsKKworCWZyZWVfYnVmZmVyKGJ1Zik7CisKKwlpZiAodGItPnByaXZfc3ltYm9scykgeworCQlzY29sc190YWJsZV9zZXRfc3ltYm9scyh0YiwgTlVMTCk7CisJCXRiLT5wcml2X3N5bWJvbHMgPSAwOworCX0KK30KKworc3RhdGljIGludCBpbml0aWFsaXplX3ByaW50aW5nKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIHN0cnVjdCBsaWJzY29sc19idWZmZXIgKipidWYpCit7CisJc2l6ZV90IGJ1ZnN6LCBleHRyYV9idWZzeiA9IDA7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXN0cnVjdCBsaWJzY29sc19pdGVyIGl0cjsKKwlpbnQgcmM7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImluaXRpYWxpemUgcHJpbnRpbmciKSk7CisJKmJ1ZiA9IE5VTEw7CisKKwlpZiAoIXRiLT5zeW1ib2xzKSB7CisJCXJjID0gc2NvbHNfdGFibGVfc2V0X2RlZmF1bHRfc3ltYm9scyh0Yik7CisJCWlmIChyYykKKwkJCWdvdG8gZXJyOworCQl0Yi0+cHJpdl9zeW1ib2xzID0gMTsKKwl9IGVsc2UKKwkJdGItPnByaXZfc3ltYm9scyA9IDA7CisKKwlpZiAodGItPmZvcm1hdCA9PSBTQ09MU19GTVRfSFVNQU4pCisJCXRiLT5pc190ZXJtID0gdGItPnRlcm1mb3JjZSA9PSBTQ09MU19URVJNRk9SQ0VfTkVWRVIgID8gMCA6CisJCQkgICAgICB0Yi0+dGVybWZvcmNlID09IFNDT0xTX1RFUk1GT1JDRV9BTFdBWVMgPyAxIDoKKwkJCSAgICAgIGlzYXR0eShTVERPVVRfRklMRU5PKTsKKworCWlmICh0Yi0+aXNfdGVybSkgeworCQlzaXplX3Qgd2lkdGggPSAoc2l6ZV90KSBzY29sc190YWJsZV9nZXRfdGVybXdpZHRoKHRiKTsKKworCQlpZiAodGItPnRlcm1yZWR1Y2UgPiAwICYmIHRiLT50ZXJtcmVkdWNlIDwgd2lkdGgpIHsKKwkJCXdpZHRoIC09IHRiLT50ZXJtcmVkdWNlOworCQkJc2NvbHNfdGFibGVfc2V0X3Rlcm13aWR0aCh0Yiwgd2lkdGgpOworCQl9CisJCWJ1ZnN6ID0gd2lkdGg7CisJfSBlbHNlCisJCWJ1ZnN6ID0gQlVGU0laOworCisJaWYgKCF0Yi0+aXNfdGVybSB8fCB0Yi0+Zm9ybWF0ICE9IFNDT0xTX0ZNVF9IVU1BTiB8fCBzY29sc190YWJsZV9pc190cmVlKHRiKSkKKwkJdGItPmhlYWRlcl9yZXBlYXQgPSAwOworCisJLyoKKwkgKiBFc3RpbWF0ZSBleHRyYSBzcGFjZSBuZWNlc3NhcnkgZm9yIHRyZWUsIEpTT04gb3IgYW5vdGhlciBvdXRwdXQKKwkgKiBkZWNvcmF0aW9uLgorCSAqLworCWlmIChzY29sc190YWJsZV9pc190cmVlKHRiKSkKKwkJZXh0cmFfYnVmc3ogKz0gdGItPm5saW5lcyAqIHN0cmxlbih2ZXJ0aWNhbF9zeW1ib2wodGIpKTsKKworCXN3aXRjaCAodGItPmZvcm1hdCkgeworCWNhc2UgU0NPTFNfRk1UX1JBVzoKKwkJZXh0cmFfYnVmc3ogKz0gdGItPm5jb2xzOwkJCS8qIHNlcGFyYXRvciBiZXR3ZWVuIGNvbHVtbnMgKi8KKwkJYnJlYWs7CisJY2FzZSBTQ09MU19GTVRfSlNPTjoKKwkJaWYgKHRiLT5mb3JtYXQgPT0gU0NPTFNfRk1UX0pTT04pCisJCQlleHRyYV9idWZzeiArPSB0Yi0+bmxpbmVzICogMzsJCS8qIGluZGVudGlvbiAqLworCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgU0NPTFNfRk1UX0VYUE9SVDoKKwl7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCisJCXNjb2xzX3Jlc2V0X2l0ZXIoJml0ciwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKworCQl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGIsICZpdHIsICZjbCkgPT0gMCkgeworCQkJaWYgKHNjb2xzX2NvbHVtbl9pc19oaWRkZW4oY2wpKQorCQkJCWNvbnRpbnVlOworCQkJZXh0cmFfYnVmc3ogKz0gc3RybGVuKHNjb2xzX2NlbGxfZ2V0X2RhdGEoJmNsLT5oZWFkZXIpKTsJLyogZGF0YSAqLworCQkJZXh0cmFfYnVmc3ogKz0gMjsJCQkJCQkvKiBzZXBhcmF0b3JzICovCisJCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgU0NPTFNfRk1UX0hVTUFOOgorCQlicmVhazsKKwl9CisKKwkvKgorCSAqIEVubGFyZ2UgYnVmZmVyIGlmIG5lY2Vzc2FyeSwgdGhlIGJ1ZmZlciBzaG91bGQgYmUgbGFyZ2UgZW5vdWdoIHRvCisJICogc3RvcmUgbGluZSBkYXRhIGFuZCB0cmVlIGFzY2lpIGFydCAob3IgYW5vdGhlciBkZWNvcmF0aW9uKS4KKwkgKi8KKwlzY29sc19yZXNldF9pdGVyKCZpdHIsIFNDT0xTX0lURVJfRk9SV0FSRCk7CisJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZSh0YiwgJml0ciwgJmxuKSA9PSAwKSB7CisJCXNpemVfdCBzejsKKworCQlzeiA9IHN0cmxlbl9saW5lKGxuKSArIGV4dHJhX2J1ZnN6OworCQlpZiAoc3ogPiBidWZzeikKKwkJCWJ1ZnN6ID0gc3o7CisJfQorCisJKmJ1ZiA9IG5ld19idWZmZXIoYnVmc3ogKyAxKTsJLyogZGF0YSArIHNwYWNlIGZvciBcMCAqLworCWlmICghKmJ1ZikgeworCQlyYyA9IC1FTk9NRU07CisJCWdvdG8gZXJyOworCX0KKworCWlmICh0Yi0+Zm9ybWF0ID09IFNDT0xTX0ZNVF9IVU1BTikgeworCQlyYyA9IHJlY291bnRfd2lkdGhzKHRiLCAqYnVmKTsKKwkJaWYgKHJjICE9IDApCisJCQlnb3RvIGVycjsKKwl9CisKKwlyZXR1cm4gMDsKK2VycjoKKwljbGVhbnVwX3ByaW50aW5nKHRiLCAqYnVmKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogc2NvbGFfdGFibGVfcHJpbnRfcmFuZ2U6CisgKiBAdGI6IHRhYmxlCisgKiBAc3RhcnQ6IGZpcnN0IHByaW50ZWQgbGluZSBvciBOVUxMIHRvIHByaW50IGZyb20gdGhlIGJlZ2luIG9mIHRoZSB0YWJsZQorICogQGVuZDogbGFzdCBwcmludGVkIGxpbmUgb3IgTlVMTCB0byBwcmludCBhbGwgZnJvbSBzdGFydC4KKyAqCisgKiBJZiB0aGUgc3RhcnQgaXMgdGhlIGZpcnN0IGxpbmUgaW4gdGhlIHRhYmxlIHRoYW4gcHJpbnRzIHRhYmxlIGhlYWRlciB0b28uCisgKiBUaGUgaGVhZGVyIGlzIHByaW50ZWQgb25seSBvbmNlLiBUaGlzIGRvZXMgbm90IHdvcmsgZm9yIHRyZWVzLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3RhYmxlX3ByaW50X3JhbmdlKAlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCQkJCXN0cnVjdCBsaWJzY29sc19saW5lICpzdGFydCwKKwkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqZW5kKQoreworCXN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZiA9IE5VTEw7CisJc3RydWN0IGxpYnNjb2xzX2l0ZXIgaXRyOworCWludCByYzsKKworCWlmIChzY29sc190YWJsZV9pc190cmVlKHRiKSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgInByaW50aW5nIHJhbmdlIGZyb20gQVBJIikpOworCisJcmMgPSBpbml0aWFsaXplX3ByaW50aW5nKHRiLCAmYnVmKTsKKwlpZiAocmMpCisJCXJldHVybiByYzsKKworCWlmIChzdGFydCkgeworCQlpdHIuZGlyZWN0aW9uID0gU0NPTFNfSVRFUl9GT1JXQVJEOworCQlpdHIuaGVhZCA9ICZ0Yi0+dGJfbGluZXM7CisJCWl0ci5wID0gJnN0YXJ0LT5sbl9saW5lczsKKwl9IGVsc2UKKwkJc2NvbHNfcmVzZXRfaXRlcigmaXRyLCBTQ09MU19JVEVSX0ZPUldBUkQpOworCisJaWYgKCFzdGFydCB8fCBpdHIucCA9PSB0Yi0+dGJfbGluZXMubmV4dCkgeworCQlyYyA9IHByaW50X2hlYWRlcih0YiwgYnVmKTsKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCX0KKworCXJjID0gcHJpbnRfcmFuZ2UodGIsIGJ1ZiwgJml0ciwgZW5kKTsKK2RvbmU6CisJY2xlYW51cF9wcmludGluZyh0YiwgYnVmKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2VfdG9fc3RyaW5nOgorICogQHRiOiB0YWJsZQorICogQHN0YXJ0OiBmaXJzdCBwcmludGVkIGxpbmUgb3IgTlVMTCB0byBwcmludCBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHRhYmxlCisgKiBAZW5kOiBsYXN0IHByaW50ZWQgbGluZSBvciBOVUxMIHRvIHByaW50IGFsbCBmcm9tIHN0YXJ0LgorICogQGRhdGE6IHBvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiBhIG1lbW9yeSBhcmVhIHRvIHByaW50IHRvCisgKgorICogVGhlIHNhbWUgYXMgc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UoKSwgYnV0IHByaW50cyB0byBAZGF0YSBpbnN0ZWFkIG9mCisgKiBzdHJlYW0uCisgKgorICogUmV0dXJuczogMCwgYSBuZWdhdGl2ZSB2YWx1ZSBpbiBjYXNlIG9mIGFuIGVycm9yLgorICovCisjaWZkZWYgSEFWRV9PUEVOX01FTVNUUkVBTQoraW50IHNjb2xzX3RhYmxlX3ByaW50X3JhbmdlX3RvX3N0cmluZygJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwKKwkJCQkJc3RydWN0IGxpYnNjb2xzX2xpbmUgKnN0YXJ0LAorCQkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqZW5kLAorCQkJCQljaGFyICoqZGF0YSkKK3sKKwlGSUxFICpzdHJlYW0sICpvbGRfc3RyZWFtOworCXNpemVfdCBzejsKKwlpbnQgcmM7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicHJpbnRpbmcgcmFuZ2UgdG8gc3RyaW5nIikpOworCisJLyogY3JlYXRlIGEgc3RyZWFtIGZvciBvdXRwdXQgKi8KKwlzdHJlYW0gPSBvcGVuX21lbXN0cmVhbShkYXRhLCAmc3opOworCWlmICghc3RyZWFtKQorCQlyZXR1cm4gLUVOT01FTTsKKworCW9sZF9zdHJlYW0gPSBzY29sc190YWJsZV9nZXRfc3RyZWFtKHRiKTsKKwlzY29sc190YWJsZV9zZXRfc3RyZWFtKHRiLCBzdHJlYW0pOworCXJjID0gc2NvbHNfdGFibGVfcHJpbnRfcmFuZ2UodGIsIHN0YXJ0LCBlbmQpOworCWZjbG9zZShzdHJlYW0pOworCXNjb2xzX3RhYmxlX3NldF9zdHJlYW0odGIsIG9sZF9zdHJlYW0pOworCisJcmV0dXJuIHJjOworfQorI2Vsc2UKK2ludCBzY29sc190YWJsZV9wcmludF9yYW5nZV90b19zdHJpbmcoCisJCQlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCXN0cnVjdCBsaWJzY29sc19saW5lICpzdGFydCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqZW5kIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJCWNoYXIgKipkYXRhIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlyZXR1cm4gLUVOT1NZUzsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IF9fc2NvbHNfcHJpbnRfdGFibGUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YiwgaW50ICppc19lbXB0eSkKK3sKKwlpbnQgcmMgPSAwOworCXN0cnVjdCBsaWJzY29sc19idWZmZXIgKmJ1ZiA9IE5VTEw7CisKKwlpZiAoIXRiKQorCQlyZXR1cm4gLUVJTlZBTDsKKworCURCRyhUQUIsIHVsX2RlYnVnb2JqKHRiLCAicHJpbnRpbmciKSk7CisJaWYgKGlzX2VtcHR5KQorCQkqaXNfZW1wdHkgPSAwOworCisJaWYgKGxpc3RfZW1wdHkoJnRiLT50Yl9jb2x1bW5zKSkgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImVycm9yIC0tIG5vIGNvbHVtbnMiKSk7CisJCXJldHVybiAtRUlOVkFMOworCX0KKwlpZiAobGlzdF9lbXB0eSgmdGItPnRiX2xpbmVzKSkgeworCQlEQkcoVEFCLCB1bF9kZWJ1Z29iaih0YiwgImlnbm9yZSAtLSBubyBsaW5lcyIpKTsKKwkJaWYgKGlzX2VtcHR5KQorCQkJKmlzX2VtcHR5ID0gMTsKKwkJcmV0dXJuIDA7CisJfQorCisJdGItPmhlYWRlcl9wcmludGVkID0gMDsKKwlyYyA9IGluaXRpYWxpemVfcHJpbnRpbmcodGIsICZidWYpOworCWlmIChyYykKKwkJcmV0dXJuIHJjOworCisJZnB1dF90YWJsZV9vcGVuKHRiKTsKKworCWlmICh0Yi0+Zm9ybWF0ID09IFNDT0xTX0ZNVF9IVU1BTikKKwkJcHJpbnRfdGl0bGUodGIpOworCisJcmMgPSBwcmludF9oZWFkZXIodGIsIGJ1Zik7CisJaWYgKHJjKQorCQlnb3RvIGRvbmU7CisKKwlpZiAoc2NvbHNfdGFibGVfaXNfdHJlZSh0YikpCisJCXJjID0gcHJpbnRfdHJlZSh0YiwgYnVmKTsKKwllbHNlCisJCXJjID0gcHJpbnRfdGFibGUodGIsIGJ1Zik7CisKKwlmcHV0X3RhYmxlX2Nsb3NlKHRiKTsKK2RvbmU6CisJY2xlYW51cF9wcmludGluZyh0YiwgYnVmKTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogc2NvbHNfcHJpbnRfdGFibGU6CisgKiBAdGI6IHRhYmxlCisgKgorICogUHJpbnRzIHRoZSB0YWJsZSB0byB0aGUgb3V0cHV0IHN0cmVhbSBhbmQgdGVybWluYXRlIGJ5IFxuLgorICoKKyAqIFJldHVybnM6IDAsIGEgbmVnYXRpdmUgdmFsdWUgaW4gY2FzZSBvZiBhbiBlcnJvci4KKyAqLworaW50IHNjb2xzX3ByaW50X3RhYmxlKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJaW50IGVtcHR5ID0gMDsKKwlpbnQgcmMgPSBfX3Njb2xzX3ByaW50X3RhYmxlKHRiLCAmZW1wdHkpOworCisJaWYgKHJjID09IDAgJiYgIWVtcHR5KQorCQlmcHV0YygnXG4nLCB0Yi0+b3V0KTsKKwlyZXR1cm4gcmM7Cit9CisKKy8qKgorICogc2NvbHNfcHJpbnRfdGFibGVfdG9fc3RyaW5nOgorICogQHRiOiB0YWJsZQorICogQGRhdGE6IHBvaW50ZXIgdG8gdGhlIGJlZ2lubmluZyBvZiBhIG1lbW9yeSBhcmVhIHRvIHByaW50IHRvCisgKgorICogUHJpbnRzIHRoZSB0YWJsZSB0byBAZGF0YS4KKyAqCisgKiBSZXR1cm5zOiAwLCBhIG5lZ2F0aXZlIHZhbHVlIGluIGNhc2Ugb2YgYW4gZXJyb3IuCisgKi8KKyNpZmRlZiBIQVZFX09QRU5fTUVNU1RSRUFNCitpbnQgc2NvbHNfcHJpbnRfdGFibGVfdG9fc3RyaW5nKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGNoYXIgKipkYXRhKQoreworCUZJTEUgKnN0cmVhbSwgKm9sZF9zdHJlYW07CisJc2l6ZV90IHN6OworCWludCByYzsKKworCWlmICghdGIpCisJCXJldHVybiAtRUlOVkFMOworCisJREJHKFRBQiwgdWxfZGVidWdvYmoodGIsICJwcmludGluZyB0byBzdHJpbmciKSk7CisKKwkvKiBjcmVhdGUgYSBzdHJlYW0gZm9yIG91dHB1dCAqLworCXN0cmVhbSA9IG9wZW5fbWVtc3RyZWFtKGRhdGEsICZzeik7CisJaWYgKCFzdHJlYW0pCisJCXJldHVybiAtRU5PTUVNOworCisJb2xkX3N0cmVhbSA9IHNjb2xzX3RhYmxlX2dldF9zdHJlYW0odGIpOworCXNjb2xzX3RhYmxlX3NldF9zdHJlYW0odGIsIHN0cmVhbSk7CisJcmMgPSBfX3Njb2xzX3ByaW50X3RhYmxlKHRiLCBOVUxMKTsKKwlmY2xvc2Uoc3RyZWFtKTsKKwlzY29sc190YWJsZV9zZXRfc3RyZWFtKHRiLCBvbGRfc3RyZWFtKTsKKworCXJldHVybiByYzsKK30KKyNlbHNlCitpbnQgc2NvbHNfcHJpbnRfdGFibGVfdG9fc3RyaW5nKAorCQlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJY2hhciAqKmRhdGEgIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlyZXR1cm4gLUVOT1NZUzsKK30KKyNlbmRpZgorCmRpZmYgLS1naXQgYS9saWJzbWFydGNvbHMvc3JjL3ZlcnNpb24uYyBiL2xpYnNtYXJ0Y29scy9zcmMvdmVyc2lvbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1OTJjY2MKLS0tIC9kZXYvbnVsbAorKysgYi9saWJzbWFydGNvbHMvc3JjL3ZlcnNpb24uYwpAQCAtMCwwICsxLDYyIEBACisvKgorICogdmVyc2lvbi5jIC0gUmV0dXJuIHRoZSB2ZXJzaW9uIG9mIHRoZSBsaWJyYXJ5CisgKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFNlZSBDT1BZSU5HLmxpYm1vdW50IGZvciB0aGUgTGljZW5zZSBvZiB0aGlzIHNvZnR3YXJlLgorICovCisKKy8qKgorICogU0VDVElPTjogdmVyc2lvbi11dGlscworICogQHRpdGxlOiBWZXJzaW9uIGZ1bmN0aW9ucworICogQHNob3J0X2Rlc2NyaXB0aW9uOiBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBsaWJyYXJ5IHZlcnNpb24uCisgKgorICogTm90ZSB0aGF0IGxpYnJhcnkgdmVyc2lvbiBpcyBub3QgdGhlIHNhbWUgdGhpbmcgYXMgU09OQU1FIHZlcnNpb24uIFRoZQorICogbGlic21hcmNvbHMgdXNlcyBzeW1ib2xzIHZlcnNpb25pbmcgYW5kIFNPTkFNRSBpcyBub3QgbW9kaWZpZWQgZm9yIHJlbGVhc2VzLgorICoKKyAqIFRoZSBsaWJyYXJ5IHZlcnNpb24gYW5kIHN5bWJvbHMgdmVyc2lvbiBmb2xsb3cgdXRpbC1saW51eCBwYWNrYWdlIHZlcnNpb25pbmcuCisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJzbWFydGNvbHNQLmgiCisKK3N0YXRpYyBjb25zdCBjaGFyICpsaWJfdmVyc2lvbiA9IExJQlNNQVJUQ09MU19WRVJTSU9OOworCisvKioKKyAqIHNjb2xzX3BhcnNlX3ZlcnNpb25fc3RyaW5nOgorICogQHZlcl9zdHJpbmc6IHZlcnNpb24gc3RyaW5nIChlLmcgIjIuMTguMCIpCisgKgorICogUmV0dXJuczogcmVsZWFzZSB2ZXJzaW9uIGNvZGUuCisgKi8KK2ludCBzY29sc19wYXJzZV92ZXJzaW9uX3N0cmluZyhjb25zdCBjaGFyICp2ZXJfc3RyaW5nKQoreworCWNvbnN0IGNoYXIgKmNwOworCWludCB2ZXJzaW9uID0gMDsKKworCWFzc2VydCh2ZXJfc3RyaW5nKTsKKworCWZvciAoY3AgPSB2ZXJfc3RyaW5nOyAqY3A7IGNwKyspIHsKKwkJaWYgKCpjcCA9PSAnLicpCisJCQljb250aW51ZTsKKwkJaWYgKCFpc2RpZ2l0KCpjcCkpCisJCQlicmVhazsKKwkJdmVyc2lvbiA9ICh2ZXJzaW9uICogMTApICsgKCpjcCAtICcwJyk7CisJfQorCXJldHVybiB2ZXJzaW9uOworfQorCisvKioKKyAqIHNjb2xzX2dldF9saWJyYXJ5X3ZlcnNpb246CisgKiBAdmVyX3N0cmluZzogcmV0dXJuIHBvaW50ZXIgdG8gdGhlIHN0YXRpYyBsaWJyYXJ5IHZlcnNpb24gc3RyaW5nIGlmIG5vdCBOVUxMCisgKgorICogUmV0dXJuczogcmVsZWFzZSB2ZXJzaW9uIG51bWJlci4KKyAqLworaW50IHNjb2xzX2dldF9saWJyYXJ5X3ZlcnNpb24oY29uc3QgY2hhciAqKnZlcl9zdHJpbmcpCit7CisJaWYgKHZlcl9zdHJpbmcpCisJCSp2ZXJfc3RyaW5nID0gbGliX3ZlcnNpb247CisKKwlyZXR1cm4gc2NvbHNfcGFyc2VfdmVyc2lvbl9zdHJpbmcobGliX3ZlcnNpb24pOworfQorCmRpZmYgLS1naXQgYS9saWJ1dWlkL0FuZHJvaWQubWsgYi9saWJ1dWlkL0FuZHJvaWQubWsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODk3ZDc0ZQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvQW5kcm9pZC5tawpAQCAtMCwwICsxLDcxIEBACisjIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKK0xPQ0FMX1BBVEggOj0gJChjYWxsIG15LWRpcikKKworaW5jbHVkZSAkKENMRUFSX1ZBUlMpCitMT0NBTF9NT0RVTEUgOj0gbGlidXVpZAorTE9DQUxfTU9EVUxFX1RBR1MgOj0gb3B0aW9uYWwKKworTE9DQUxfU1JDX0ZJTEVTIDo9ICBcCisJc3JjL3V1aWRQLmggXAorCXNyYy9jbGVhci5jIFwKKwlzcmMvY29tcGFyZS5jIFwKKwlzcmMvY29weS5jIFwKKwlzcmMvZ2VuX3V1aWQuYyBcCisJc3JjL2lzbnVsbC5jIFwKKwlzcmMvcGFjay5jIFwKKwlzcmMvcGFyc2UuYyBcCisJc3JjL3VucGFjay5jIFwKKwlzcmMvdW5wYXJzZS5jIFwKKwlzcmMvdXVpZGQuaCBcCisJc3JjL3V1aWRfdGltZS5jIFwKKwlzcmMvcHJlZGVmaW5lZC5jIFwKKwkuLi9saWIvcmFuZHV0aWxzLmMgXAorCS4uL2xpYi9tZDUuYyBcCisJLi4vbGliL3NoYTEuYworCitMT0NBTF9DX0lOQ0xVREVTIDo9IFwKKwkkKExPQ0FMX1BBVEgpL3NyYyBcCisJJChMT0NBTF9QQVRIKS8uLi9pbmNsdWRlCitMT0NBTF9DRkxBR1MgOj0gXAorCS1pbmNsdWRlICQoTE9DQUxfUEFUSCkvLi4vY29uZmlnLmggXAorCS1EX1BBVEhfUlVOU1RBVEVESVI9JyIvdG1wIicKKworTE9DQUxfVE9PTENIQUlOX1BSRUJVSUxUUyA6PSBcCisJJChMT0NBTF9QQVRIKS9zcmMvdXVpZC5oOnVzci9pbmNsdWRlL3V1aWQvdXVpZC5oCisKK2luY2x1ZGUgJChCVUlMRF9TSEFSRURfTElCUkFSWSkKKworaW5jbHVkZSAkKENMRUFSX1ZBUlMpCitMT0NBTF9NT0RVTEUgOj0gbGlidXVpZF9ob3N0CitMT0NBTF9NT0RVTEVfVEFHUyA6PSBvcHRpb25hbAorCitMT0NBTF9TUkNfRklMRVMgOj0gIFwKKwlzcmMvdXVpZFAuaCBcCisJc3JjL2NsZWFyLmMgXAorCXNyYy9jb21wYXJlLmMgXAorCXNyYy9jb3B5LmMgXAorCXNyYy9nZW5fdXVpZC5jIFwKKwlzcmMvaXNudWxsLmMgXAorCXNyYy9wYWNrLmMgXAorCXNyYy9wYXJzZS5jIFwKKwlzcmMvdW5wYWNrLmMgXAorCXNyYy91bnBhcnNlLmMgXAorCXNyYy91dWlkZC5oIFwKKwlzcmMvdXVpZF90aW1lLmMgXAorCXNyYy9wcmVkZWZpbmVkLmMgXAorCS4uL2xpYi9yYW5kdXRpbHMuYyBcCisJLi4vbGliL21kNS5jIFwKKwkuLi9saWIvc2hhMS5jCisKK0xPQ0FMX0NfSU5DTFVERVMgOj0gXAorCSQoTE9DQUxfUEFUSCkvc3JjIFwKKwkkKExPQ0FMX1BBVEgpLy4uL2luY2x1ZGUKK0xPQ0FMX0NGTEFHUyA6PSBcCisJLWluY2x1ZGUgJChMT0NBTF9QQVRIKS8uLi9jb25maWcuaCBcCisJLURfUEFUSF9SVU5TVEFURURJUj0nIi90bXAiJworCitMT0NBTF9UT09MQ0hBSU5fUFJFQlVJTFRTIDo9IFwKKwkkKExPQ0FMX1BBVEgpL3NyYy91dWlkLmg6dXNyL2luY2x1ZGUvdXVpZC91dWlkLmgKKworaW5jbHVkZSAkKEJVSUxEX0hPU1RfU1RBVElDX0xJQlJBUlkpCmRpZmYgLS1naXQgYS9saWJ1dWlkL0NPUFlJTkcgYi9saWJ1dWlkL0NPUFlJTkcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU5MDJjZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvQ09QWUlORwpAQCAtMCwwICsxLDUgQEAKK1RoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKK21vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIE1vZGlmaWVkIEJTRCBMaWNlbnNlLgorCitUaGUgY29tcGxldGUgdGV4dCBvZiB0aGUgbGljZW5zZSBpcyBhdmFpbGFibGUgaW4gdGhlCisuLi9Eb2N1bWVudGF0aW9uL2xpY2Vuc2VzL0NPUFlJTkcuQlNELTMgZmlsZS4KZGlmZiAtLWdpdCBhL2xpYnV1aWQvTWFrZW1vZHVsZS5hbSBiL2xpYnV1aWQvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjZiZTVjCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTAgQEAKK2lmIEJVSUxEX0xJQlVVSUQKKworaW5jbHVkZSBsaWJ1dWlkL21hbi9NYWtlbW9kdWxlLmFtCitpbmNsdWRlIGxpYnV1aWQvc3JjL01ha2Vtb2R1bGUuYW0KKworcGtnY29uZmlnX0RBVEEgKz0gbGlidXVpZC91dWlkLnBjCitQQVRIRklMRVMgICAgICArPSBsaWJ1dWlkL3V1aWQucGMKK0VYVFJBX0RJU1QgICAgICs9IGxpYnV1aWQvQ09QWUlORworCitlbmRpZiAjIEJVSUxEX0xJQlVVSUQKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuLy5naXRpZ25vcmUgYi9saWJ1dWlkL21hbi8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5NTdhZDIKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMyBAQAordXVpZF9nZW5lcmF0ZV9yYW5kb20uMwordXVpZF9nZW5lcmF0ZV90aW1lLjMKK3V1aWRfZ2VuZXJhdGVfdGltZV9zYWZlLjMKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuL01ha2Vtb2R1bGUuYW0gYi9saWJ1dWlkL21hbi9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxMjg3ZDUKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTQgQEAKKworZGlzdF9tYW5fTUFOUyArPSBcCisJbGlidXVpZC9tYW4vdXVpZC4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX2NsZWFyLjMgXAorCWxpYnV1aWQvbWFuL3V1aWRfY29tcGFyZS4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX2NvcHkuMyBcCisJbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZS4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX2lzX251bGwuMyBcCisJbGlidXVpZC9tYW4vdXVpZF9wYXJzZS4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX3RpbWUuMyBcCisJbGlidXVpZC9tYW4vdXVpZF91bnBhcnNlLjMgXAorCWxpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfcmFuZG9tLjMgXAorCWxpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfdGltZS4zIFwKKwlsaWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3RpbWVfc2FmZS4zCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkLjMgYi9saWJ1dWlkL21hbi91dWlkLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNhYjdhOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvbWFuL3V1aWQuMwpAQCAtMCwwICsxLDY2IEBACisuXCIgQ29weXJpZ2h0IDE5OTkgQW5kcmVhcyBEaWxnZXIgKGFkaWxnZXJAZW5lbC51Y2FsZ2FyeS5jYSkKKy5cIgorLlwiICVCZWdpbi1IZWFkZXIlCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorLlwiICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisuXCIgICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorLlwiICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisuXCIgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKy5cIiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKy5cIiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisuXCIgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorLlwiIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisuXCIgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisuXCIgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorLlwiIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLlwiIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisuXCIgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKy5cIiBEQU1BR0UuCisuXCIgJUVuZC1IZWFkZXIlCisuXCIKKy5cIiBDcmVhdGVkICBXZWQgTWFyIDEwIDE3OjQyOjEyIDE5OTksIEFuZHJlYXMgRGlsZ2VyCisuVEggVVVJRCAzICJNYXkgMjAwOSIgInV0aWwtbGludXgiICJMaWJ1dWlkIEFQSSIKKy5TSCBOQU1FCit1dWlkIFwtIERDRSBjb21wYXRpYmxlIFVuaXZlcnNhbGx5IFVuaXF1ZSBJZGVudGlmaWVyIGxpYnJhcnkKKy5TSCBTWU5PUFNJUworLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5TSCBERVNDUklQVElPTgorVGhlIFVVSUQgbGlicmFyeSBpcyB1c2VkIHRvIGdlbmVyYXRlIHVuaXF1ZSBpZGVudGlmaWVycyBmb3Igb2JqZWN0cwordGhhdCBtYXkgYmUgYWNjZXNzaWJsZSBiZXlvbmQgdGhlIGxvY2FsIHN5c3RlbS4gIFRoaXMgbGlicmFyeQorZ2VuZXJhdGVzIFVVSURzIGNvbXBhdGlibGUgd2l0aCB0aG9zZSBjcmVhdGVkIGJ5IHRoZSBPcGVuIFNvZnR3YXJlCitGb3VuZGF0aW9uIChPU0YpIERpc3RyaWJ1dGVkIENvbXB1dGluZyBFbnZpcm9ubWVudCAoRENFKSB1dGlsaXR5CisuQlIgdXVpZGdlbiAuCisuc3AKK1RoZSBVVUlEcyBnZW5lcmF0ZWQgYnkgdGhpcyBsaWJyYXJ5IGNhbiBiZSByZWFzb25hYmx5IGV4cGVjdGVkIHRvIGJlCit1bmlxdWUgd2l0aGluIGEgc3lzdGVtLCBhbmQgdW5pcXVlIGFjcm9zcyBhbGwgc3lzdGVtcy4gIFRoZXkgY291bGQKK2JlIHVzZWQsIGZvciBpbnN0YW5jZSwgdG8gZ2VuZXJhdGUgdW5pcXVlIEhUVFAgY29va2llcyBhY3Jvc3MgbXVsdGlwbGUKK3dlYiBzZXJ2ZXJzIHdpdGhvdXQgY29tbXVuaWNhdGlvbiBiZXR3ZWVuIHRoZSBzZXJ2ZXJzLCBhbmQgd2l0aG91dCBmZWFyCitvZiBhIG5hbWUgY2xhc2guCisuU0ggIkNPTkZPUk1JTkcgVE8iCitUaGlzIGxpYnJhcnkgZ2VuZXJhdGVzIFVVSURzIGNvbXBhdGlibGUgT1NGIERDRSAxLjEsIGFuZCBoYXNoIGJhc2VkIFVVSURzIFYzIGFuZAorVjUgY29tcGF0aWJsZSB3aXRoIFJGQy00MTIyLgorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKy5TSCAiU0VFIEFMU08iCisuQlIgdXVpZF9jbGVhciAoMyksCisuQlIgdXVpZF9jb21wYXJlICgzKSwKKy5CUiB1dWlkX2NvcHkgKDMpLAorLkJSIHV1aWRfZ2VuZXJhdGUgKDMpLAorLkJSIHV1aWRfaXNfbnVsbCAoMyksCisuQlIgdXVpZF9wYXJzZSAoMyksCisuQlIgdXVpZF90aW1lICgzKSwKKy5CUiB1dWlkX3VucGFyc2UgKDMpCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkX2NsZWFyLjMgYi9saWJ1dWlkL21hbi91dWlkX2NsZWFyLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmRlY2IzYgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvbWFuL3V1aWRfY2xlYXIuMwpAQCAtMCwwICsxLDYyIEBACisuXCIgQ29weXJpZ2h0IDE5OTkgQW5kcmVhcyBEaWxnZXIgKGFkaWxnZXJAZW5lbC51Y2FsZ2FyeS5jYSkKKy5cIgorLlwiICVCZWdpbi1IZWFkZXIlCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorLlwiICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisuXCIgICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorLlwiICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisuXCIgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKy5cIiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKy5cIiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisuXCIgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorLlwiIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisuXCIgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisuXCIgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorLlwiIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLlwiIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisuXCIgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKy5cIiBEQU1BR0UuCisuXCIgJUVuZC1IZWFkZXIlCisuXCIKKy5cIiBDcmVhdGVkICBXZWQgTWFyIDEwIDE3OjQyOjEyIDE5OTksIEFuZHJlYXMgRGlsZ2VyCisuVEggVVVJRF9DTEVBUiAzICJNYXkgMjAwOSIgInV0aWwtbGludXgiICJMaWJ1dWlkIEFQSSIKKy5TSCBOQU1FCit1dWlkX2NsZWFyIFwtIHJlc2V0IHZhbHVlIG9mIFVVSUQgdmFyaWFibGUgdG8gdGhlIE5VTEwgdmFsdWUKKy5TSCBTWU5PUFNJUworLm5mCisuQiAjaW5jbHVkZSA8dXVpZC5oPgorLnNwCisuQkkgInZvaWQgdXVpZF9jbGVhcih1dWlkX3QgIiB1dSApOworLmZpCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgdXVpZF9jbGVhcgorZnVuY3Rpb24gc2V0cyB0aGUgdmFsdWUgb2YgdGhlIHN1cHBsaWVkIHV1aWQgdmFyaWFibGUKKy5JIHV1Cit0byB0aGUgTlVMTCB2YWx1ZS4KKy5TSCBBVVRIT1IKK1RoZW9kb3JlIFkuXCYgVHMnbworLlNIIEFWQUlMQUJJTElUWQorLkIgbGlidXVpZAoraXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIHNpbmNlIHZlcnNpb24gMi4xNS4xIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisubmEKKy5TSCAiU0VFIEFMU08iCisuQlIgdXVpZCAoMyksCisuQlIgdXVpZF9jb21wYXJlICgzKSwKKy5CUiB1dWlkX2NvcHkgKDMpLAorLkJSIHV1aWRfZ2VuZXJhdGUgKDMpLAorLkJSIHV1aWRfaXNfbnVsbCAoMyksCisuQlIgdXVpZF9wYXJzZSAoMyksCisuQlIgdXVpZF91bnBhcnNlICgzKQorLmFkCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkX2NvbXBhcmUuMyBiL2xpYnV1aWQvbWFuL3V1aWRfY29tcGFyZS4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxZDYwMWMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX2NvbXBhcmUuMwpAQCAtMCwwICsxLDY4IEBACisuXCIgQ29weXJpZ2h0IDE5OTkgQW5kcmVhcyBEaWxnZXIgKGFkaWxnZXJAZW5lbC51Y2FsZ2FyeS5jYSkKKy5cIgorLlwiICVCZWdpbi1IZWFkZXIlCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorLlwiICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisuXCIgICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorLlwiICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisuXCIgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKy5cIiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKy5cIiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisuXCIgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorLlwiIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisuXCIgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisuXCIgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorLlwiIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLlwiIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisuXCIgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKy5cIiBEQU1BR0UuCisuXCIgJUVuZC1IZWFkZXIlCisuXCIKKy5cIiBDcmVhdGVkICBXZWQgTWFyIDEwIDE3OjQyOjEyIDE5OTksIEFuZHJlYXMgRGlsZ2VyCisuVEggVVVJRF9DT01QQVJFIDMgIk1heSAyMDA5IiAidXRpbC1saW51eCIgIkxpYnV1aWQgQVBJIgorLlNIIE5BTUUKK3V1aWRfY29tcGFyZSBcLSBjb21wYXJlIHdoZXRoZXIgdHdvIFVVSURzIGFyZSB0aGUgc2FtZQorLlNIIFNZTk9QU0lTCisubmYKKy5CICNpbmNsdWRlIDx1dWlkLmg+Cisuc3AKKy5CSSAiaW50IHV1aWRfY29tcGFyZSh1dWlkX3QgIiB1dTEgIiwgdXVpZF90ICIgdXUyKQorLmZpCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgdXVpZF9jb21wYXJlCitmdW5jdGlvbiBjb21wYXJlcyB0aGUgdHdvIHN1cHBsaWVkIHV1aWQgdmFyaWFibGVzCisuSVIgdXUxICIgYW5kICIgdXUyCit0byBlYWNoIG90aGVyLgorLlNIIFJFVFVSTiBWQUxVRQorUmV0dXJucyBhbiBpbnRlZ2VyIGxlc3MgdGhhbiwgZXF1YWwgdG8sIG9yIGdyZWF0ZXIgdGhhbiB6ZXJvIGlmCisuSSB1dTEKK2lzIGZvdW5kLCAgcmVzcGVjdGl2ZWx5LCB0byBiZSBsZXhpY29ncmFwaGljYWxseSBsZXNzIHRoYW4sIGVxdWFsLCBvcgorZ3JlYXRlciB0aGFuCisuSVIgdXUyIC4KKy5TSCBBVVRIT1IKK1RoZW9kb3JlIFkuXCYgVHMnbworLlNIIEFWQUlMQUJJTElUWQorLkIgbGlidXVpZAoraXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIHNpbmNlIHZlcnNpb24gMi4xNS4xIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCisubmEKKy5TSCAiU0VFIEFMU08iCisuQlIgdXVpZCAoMyksCisuQlIgdXVpZF9jbGVhciAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfcGFyc2UgKDMpLAorLkJSIHV1aWRfdW5wYXJzZSAoMykKKy5hZApkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF9jb3B5LjMgYi9saWJ1dWlkL21hbi91dWlkX2NvcHkuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOGRlZTQ0Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9tYW4vdXVpZF9jb3B5LjMKQEAgLTAsMCArMSw2NCBAQAorLlwiIENvcHlyaWdodCAxOTk5IEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQGVuZWwudWNhbGdhcnkuY2EpCisuXCIKKy5cIiAlQmVnaW4tSGVhZGVyJQorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKy5cIiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorLlwiICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKy5cIiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorLlwiIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisuXCIgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisuXCIgV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorLlwiIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy5cIiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorLlwiIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorLlwiIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKy5cIiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy5cIiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorLlwiIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisuXCIgREFNQUdFLgorLlwiICVFbmQtSGVhZGVyJQorLlwiCisuXCIgQ3JlYXRlZCAgV2VkIE1hciAxMCAxNzo0MjoxMiAxOTk5LCBBbmRyZWFzIERpbGdlcgorLlRIIFVVSURfQ09QWSAzICJNYXkgMjAwOSIgInV0aWwtbGludXgiICJMaWJ1dWlkIEFQSSIKKy5TSCBOQU1FCit1dWlkX2NvcHkgXC0gY29weSBhIFVVSUQgdmFsdWUKKy5TSCBTWU5PUFNJUworLm5mCisuQiAjaW5jbHVkZSA8dXVpZC5oPgorLnNwCisuQkkgInZvaWQgdXVpZF9jb3B5KHV1aWRfdCAiIGRzdCAiLCB1dWlkX3QgIiBzcmMpOworLmZpCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgdXVpZF9jb3B5CitmdW5jdGlvbiBjb3BpZXMgdGhlIFVVSUQgdmFyaWFibGUKKy5JUiBzcmMgIiB0byAiIGRzdCAuCisuU0ggUkVUVVJOIFZBTFVFCitUaGUgY29waWVkIFVVSUQgaXMgcmV0dXJuZWQgaW4gdGhlIGxvY2F0aW9uIHBvaW50ZWQgdG8gYnkKKy5JUiBkc3QgLgorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKy5uYQorLlNIICJTRUUgQUxTTyIKKy5CUiB1dWlkICgzKSwKKy5CUiB1dWlkX2NsZWFyICgzKSwKKy5CUiB1dWlkX2NvbXBhcmUgKDMpLAorLkJSIHV1aWRfZ2VuZXJhdGUgKDMpLAorLkJSIHV1aWRfaXNfbnVsbCAoMyksCisuQlIgdXVpZF9wYXJzZSAoMyksCisuQlIgdXVpZF91bnBhcnNlICgzKQorLmFkCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlLjMgYi9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTViMGFiNwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGUuMwpAQCAtMCwwICsxLDEzNyBAQAorLlwiIENvcHlyaWdodCAxOTk5IEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQGVuZWwudWNhbGdhcnkuY2EpCisuXCIKKy5cIiAlQmVnaW4tSGVhZGVyJQorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKy5cIiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorLlwiICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKy5cIiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorLlwiIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisuXCIgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisuXCIgV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorLlwiIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy5cIiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorLlwiIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorLlwiIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKy5cIiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy5cIiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorLlwiIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisuXCIgREFNQUdFLgorLlwiICVFbmQtSGVhZGVyJQorLlwiCisuXCIgQ3JlYXRlZCAgV2VkIE1hciAxMCAxNzo0MjoxMiAxOTk5LCBBbmRyZWFzIERpbGdlcgorLlRIIFVVSURfR0VORVJBVEUgMyAiTWF5IDIwMDkiICJ1dGlsLWxpbnV4IiAiTGlidXVpZCBBUEkiCisuU0ggTkFNRQordXVpZF9nZW5lcmF0ZSwgdXVpZF9nZW5lcmF0ZV9yYW5kb20sIHV1aWRfZ2VuZXJhdGVfdGltZSwKK3V1aWRfZ2VuZXJhdGVfdGltZV9zYWZlIFwtIGNyZWF0ZSBhIG5ldyB1bmlxdWUgVVVJRCB2YWx1ZQorLlNIIFNZTk9QU0lTCisubmYKKy5CICNpbmNsdWRlIDx1dWlkLmg+Cisuc3AKKy5CSSAidm9pZCB1dWlkX2dlbmVyYXRlKHV1aWRfdCAiIG91dCApOworLkJJICJ2b2lkIHV1aWRfZ2VuZXJhdGVfcmFuZG9tKHV1aWRfdCAiIG91dCApOworLkJJICJ2b2lkIHV1aWRfZ2VuZXJhdGVfdGltZSh1dWlkX3QgIiBvdXQgKTsKKy5CSSAiaW50IHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlKHV1aWRfdCAiIG91dCApOworLkJJICJ2b2lkIHV1aWRfZ2VuZXJhdGVfbWQ1KHV1aWRfdCAiIG91dCAiLCBjb25zdCB1dWlkX3QgIiBucyAiLCBjb25zdCBjaGFyICIgKm5hbWUgIiwgc2l6ZV90ICIgbGVuICIpOworLkJJICJ2b2lkIHV1aWRfZ2VuZXJhdGVfc2hhMSh1dWlkX3QgIiBvdXQgIiwgY29uc3QgdXVpZF90ICIgbnMgIiwgY29uc3QgY2hhciAiICpuYW1lICIsIHNpemVfdCAiIGxlbiAiKTsKKy5maQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHV1aWRfZ2VuZXJhdGUKK2Z1bmN0aW9uIGNyZWF0ZXMgYSBuZXcgdW5pdmVyc2FsbHkgdW5pcXVlIGlkZW50aWZpZXIgKFVVSUQpLiAgVGhlIHV1aWQgd2lsbAorYmUgZ2VuZXJhdGVkIGJhc2VkIG9uIGhpZ2gtcXVhbGl0eSByYW5kb21uZXNzIGZyb20KKy5JUiAvZGV2L3VyYW5kb20gLAoraWYgYXZhaWxhYmxlLiAgSWYgaXQgaXMgbm90IGF2YWlsYWJsZSwgdGhlbgorLkIgdXVpZF9nZW5lcmF0ZQord2lsbCB1c2UgYW4gYWx0ZXJuYXRpdmUgYWxnb3JpdGhtIHdoaWNoIHVzZXMgdGhlIGN1cnJlbnQgdGltZSwgdGhlCitsb2NhbCBldGhlcm5ldCBNQUMgYWRkcmVzcyAoaWYgYXZhaWxhYmxlKSwgYW5kIHJhbmRvbSBkYXRhIGdlbmVyYXRlZAordXNpbmcgYSBwc2V1ZG8tcmFuZG9tIGdlbmVyYXRvci4KKy5zcAorVGhlCisuQiB1dWlkX2dlbmVyYXRlX3JhbmRvbQorZnVuY3Rpb24gZm9yY2VzIHRoZSB1c2Ugb2YgdGhlIGFsbC1yYW5kb20gVVVJRCBmb3JtYXQsIGV2ZW4gaWYKK2EgaGlnaC1xdWFsaXR5IHJhbmRvbSBudW1iZXIgZ2VuZXJhdG9yIChpLmUuLAorLklSIC9kZXYvdXJhbmRvbSApCitpcyBub3QgYXZhaWxhYmxlLCBpbiB3aGljaCBjYXNlIGEgcHNldWRvLXJhbmRvbQorZ2VuZXJhdG9yIHdpbGwgYmUgc3Vic3RpdHV0ZWQuICBOb3RlIHRoYXQgdGhlIHVzZSBvZiBhIHBzZXVkby1yYW5kb20KK2dlbmVyYXRvciBtYXkgY29tcHJvbWlzZSB0aGUgdW5pcXVlbmVzcyBvZiBVVUlEcworZ2VuZXJhdGVkIGluIHRoaXMgZmFzaGlvbi4KKy5zcAorVGhlCisuQiB1dWlkX2dlbmVyYXRlX3RpbWUKK2Z1bmN0aW9uIGZvcmNlcyB0aGUgdXNlIG9mIHRoZSBhbHRlcm5hdGl2ZSBhbGdvcml0aG0gd2hpY2ggdXNlcyB0aGUKK2N1cnJlbnQgdGltZSBhbmQgdGhlIGxvY2FsIGV0aGVybmV0IE1BQyBhZGRyZXNzIChpZiBhdmFpbGFibGUpLgorVGhpcyBhbGdvcml0aG0gdXNlZCB0byBiZSB0aGUgZGVmYXVsdCBvbmUgdXNlZCB0byBnZW5lcmF0ZSBVVUlELCBidXQKK2JlY2F1c2Ugb2YgdGhlIHVzZSBvZiB0aGUgZXRoZXJuZXQgTUFDIGFkZHJlc3MsIGl0IGNhbiBsZWFrCitpbmZvcm1hdGlvbiBhYm91dCB3aGVuIGFuZCB3aGVyZSB0aGUgVVVJRCB3YXMgZ2VuZXJhdGVkLiAgVGhpcyBjYW4gY2F1c2UKK3ByaXZhY3kgcHJvYmxlbXMgaW4gc29tZSBhcHBsaWNhdGlvbnMsIHNvIHRoZQorLkIgdXVpZF9nZW5lcmF0ZQorZnVuY3Rpb24gb25seSB1c2VzIHRoaXMgYWxnb3JpdGhtIGlmIGEgaGlnaC1xdWFsaXR5IHNvdXJjZSBvZgorcmFuZG9tbmVzcyBpcyBub3QgYXZhaWxhYmxlLiAgVG8gZ3VhcmFudGVlIHVuaXF1ZW5lc3Mgb2YgVVVJRHMgZ2VuZXJhdGVkCitieSBjb25jdXJyZW50bHkgcnVubmluZyBwcm9jZXNzZXMsIHRoZSB1dWlkIGxpYnJhcnkgdXNlcyBnbG9iYWwKK2Nsb2NrIHN0YXRlIGNvdW50ZXIgKGlmIHRoZSBwcm9jZXNzIGhhcyBwZXJtaXNzaW9ucyB0byBnYWluIGV4Y2x1c2l2ZSBhY2Nlc3MKK3RvIHRoaXMgZmlsZSkgYW5kL29yIHRoZQorLkIgdXVpZGQKK2RhZW1vbiwgaWYgaXQgaXMgcnVubmluZyBhbHJlYWR5IG9yIGNhbiBiZSBzcGF3bmVkIGJ5IHRoZSBwcm9jZXNzIChpZgoraW5zdGFsbGVkIGFuZCB0aGUgcHJvY2VzcyBoYXMgZW5vdWdoIHBlcm1pc3Npb25zIHRvIHJ1biBpdCkuICBJZiBuZWl0aGVyIG9mCit0aGVzZSB0d28gc3luY2hyb25pemF0aW9uIG1lY2hhbmlzbXMgY2FuIGJlIHVzZWQsIGl0IGlzIHRoZW9yZXRpY2FsbHkgcG9zc2libGUKK3RoYXQgdHdvIGNvbmN1cnJlbnRseSBydW5uaW5nIHByb2Nlc3NlcyBvYnRhaW4gdGhlIHNhbWUgVVVJRChzKS4gIFRvIHRlbGwKK3doZXRoZXIgdGhlIFVVSUQgaGFzIGJlZW4gZ2VuZXJhdGVkIGluIGEgc2FmZSBtYW5uZXIsIHVzZQorLkJSIHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlIC4KKy5zcAorVGhlCisuQiB1dWlkX2dlbmVyYXRlX3RpbWVfc2FmZQoraXMgc2ltaWxhciB0bworLkJSIHV1aWRfZ2VuZXJhdGVfdGltZSAsCitleGNlcHQgdGhhdCBpdCByZXR1cm5zIGEgdmFsdWUgd2hpY2ggZGVub3RlcyB3aGV0aGVyIGFueSBvZiB0aGUgc3luY2hyb25pemF0aW9uCittZWNoYW5pc21zIChzZWUgYWJvdmUpIGhhcyBiZWVuIHVzZWQuCisuc3AKK1RoZSBVVUlEIGlzIDE2IGJ5dGVzICgxMjggYml0cykgbG9uZywgd2hpY2ggZ2l2ZXMgYXBwcm94aW1hdGVseSAzLjR4MTBeMzgKK3VuaXF1ZSB2YWx1ZXMgKHRoZXJlIGFyZSBhcHByb3hpbWF0ZWx5IDEwXjgwIGVsZW1lbnRhcnkgcGFydGljbGVzIGluCit0aGUgdW5pdmVyc2UgYWNjb3JkaW5nIHRvIENhcmwgU2FnYW4ncworLklSIENvc21vcyApLgorVGhlIG5ldyBVVUlEIGNhbiByZWFzb25hYmx5IGJlIGNvbnNpZGVyZWQgdW5pcXVlIGFtb25nIGFsbCBVVUlEcyBjcmVhdGVkCitvbiB0aGUgbG9jYWwgc3lzdGVtLCBhbmQgYW1vbmcgVVVJRHMgY3JlYXRlZCBvbiBvdGhlciBzeXN0ZW1zIGluIHRoZSBwYXN0CithbmQgaW4gdGhlIGZ1dHVyZS4KKy5zcAorVGhlCisuQiB1dWlkX2dlbmVyYXRlX21kNQorYW5kCisuQiB1dWlkX2dlbmVyYXRlX3NoYTEKK2Z1bmN0aW9ucyBnZW5lcmF0ZSBhbiBNRDUgYW5kIFNIQTEgaGFzaGVkIChwcmVkaWN0YWJsZSkgVVVJRCBiYXNlZCBvbiBhCit3ZWxsLWtub3duIFVVSUQgcHJvdmlkaW5nIHRoZSBuYW1lc3BhY2UgYW5kIGFuIGFyYml0cmFyeSBiaW5hcnkgc3RyaW5nLiBUaGUgVVVJRHMKK2NvbmZpcm0gdG8gVjMgYW5kIFY1IFVVSURzIHBlciBSRkMtNDEyMi4KKy5TSCBSRVRVUk4gVkFMVUUKK1RoZSBuZXdseSBjcmVhdGVkIFVVSUQgaXMgcmV0dXJuZWQgaW4gdGhlIG1lbW9yeSBsb2NhdGlvbiBwb2ludGVkIHRvIGJ5CisuSVIgb3V0IC4KKy5CIHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlCityZXR1cm5zIHplcm8gaWYgdGhlIFVVSUQgaGFzIGJlZW4gZ2VuZXJhdGVkIGluIGEgc2FmZSBtYW5uZXIsIFwtMSBvdGhlcndpc2UuCisuU0ggIkNPTkZPUk1JTkcgVE8iCitUaGlzIGxpYnJhcnkgZ2VuZXJhdGVzIFVVSURzIGNvbXBhdGlibGUgT1NGIERDRSAxLjEsIGFuZCBoYXNoIGJhc2VkIFVVSURzIFYzIGFuZAorVjUgY29tcGF0aWJsZSB3aXRoIFJGQy00MTIyLgorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKy5TSCAiU0VFIEFMU08iCisuQlIgdXVpZGdlbiAoMSksCisuQlIgdXVpZCAoMyksCisuQlIgdXVpZF9jbGVhciAoMyksCisuQlIgdXVpZF9jb21wYXJlICgzKSwKKy5CUiB1dWlkX2NvcHkgKDMpLAorLkJSIHV1aWRfaXNfbnVsbCAoMyksCisuQlIgdXVpZF9wYXJzZSAoMyksCisuQlIgdXVpZF90aW1lICgzKSwKKy5CUiB1dWlkX3VucGFyc2UgKDMpLAorLkJSIHV1aWRkICg4KQpkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF9nZW5lcmF0ZV9yYW5kb20uMyBiL2xpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfcmFuZG9tLjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODQwNTQ4NgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfcmFuZG9tLjMKQEAgLTAsMCArMSBAQAorLnNvIG1hbjMvdXVpZF9nZW5lcmF0ZS4zCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3RpbWUuMyBiL2xpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfdGltZS4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDU0ODYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3RpbWUuMwpAQCAtMCwwICsxIEBACisuc28gbWFuMy91dWlkX2dlbmVyYXRlLjMKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuL3V1aWRfZ2VuZXJhdGVfdGltZV9zYWZlLjMgYi9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3RpbWVfc2FmZS4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0MDU0ODYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX2dlbmVyYXRlX3RpbWVfc2FmZS4zCkBAIC0wLDAgKzEgQEAKKy5zbyBtYW4zL3V1aWRfZ2VuZXJhdGUuMwpkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF9pc19udWxsLjMgYi9saWJ1dWlkL21hbi91dWlkX2lzX251bGwuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjQ5MDU1Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9tYW4vdXVpZF9pc19udWxsLjMKQEAgLTAsMCArMSw2NCBAQAorLlwiIENvcHlyaWdodCAxOTk5IEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQGVuZWwudWNhbGdhcnkuY2EpCisuXCIKKy5cIiAlQmVnaW4tSGVhZGVyJQorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKy5cIiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorLlwiICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKy5cIiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorLlwiIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisuXCIgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisuXCIgV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorLlwiIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy5cIiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorLlwiIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorLlwiIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKy5cIiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy5cIiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorLlwiIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisuXCIgREFNQUdFLgorLlwiICVFbmQtSGVhZGVyJQorLlwiCisuXCIgQ3JlYXRlZCAgV2VkIE1hciAxMCAxNzo0MjoxMiAxOTk5LCBBbmRyZWFzIERpbGdlcgorLlRIIFVVSURfSVNfTlVMTCAzICJNYXkgMjAwOSIgInV0aWwtbGludXgiICJMaWJ1dWlkIEFQSSIKKy5TSCBOQU1FCit1dWlkX2lzX251bGwgXC0gY29tcGFyZSB0aGUgdmFsdWUgb2YgdGhlIFVVSUQgdG8gdGhlIE5VTEwgdmFsdWUKKy5TSCBTWU5PUFNJUworLm5mCisuQiAjaW5jbHVkZSA8dXVpZC5oPgorLnNwCisuQkkgImludCB1dWlkX2lzX251bGwodXVpZF90ICIgdXUgKTsKKy5maQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHV1aWRfaXNfbnVsbAorZnVuY3Rpb24gY29tcGFyZXMgdGhlIHZhbHVlIG9mIHRoZSBzdXBwbGllZCBVVUlEIHZhcmlhYmxlCisuSSB1dQordG8gdGhlIE5VTEwgdmFsdWUuICBJZiB0aGUgdmFsdWUgaXMgZXF1YWwgdG8gdGhlIE5VTEwgVVVJRCwgMSBpcyByZXR1cm5lZCwKK290aGVyd2lzZSAwIGlzIHJldHVybmVkLgorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKy5uYQorLlNIICJTRUUgQUxTTyIKKy5CUiB1dWlkICgzKSwKKy5CUiB1dWlkX2NsZWFyICgzKSwKKy5CUiB1dWlkX2NvbXBhcmUgKDMpLAorLkJSIHV1aWRfY29weSAoMyksCisuQlIgdXVpZF9nZW5lcmF0ZSAoMyksCisuQlIgdXVpZF90aW1lICgzKSwKKy5CUiB1dWlkX3BhcnNlICgzKSwKKy5CUiB1dWlkX3VucGFyc2UgKDMpCisuYWQKZGlmZiAtLWdpdCBhL2xpYnV1aWQvbWFuL3V1aWRfcGFyc2UuMyBiL2xpYnV1aWQvbWFuL3V1aWRfcGFyc2UuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGIyYzg3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9tYW4vdXVpZF9wYXJzZS4zCkBAIC0wLDAgKzEsNzQgQEAKKy5cIiBDb3B5cmlnaHQgMTk5OSBBbmRyZWFzIERpbGdlciAoYWRpbGdlckBlbmVsLnVjYWxnYXJ5LmNhKQorLlwiCisuXCIgJUJlZ2luLUhlYWRlciUKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisuXCIgICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKy5cIiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisuXCIgICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKy5cIiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworLlwiIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorLlwiIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKy5cIiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisuXCIgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKy5cIiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKy5cIiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisuXCIgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisuXCIgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKy5cIiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorLlwiIERBTUFHRS4KKy5cIiAlRW5kLUhlYWRlciUKKy5cIgorLlwiIENyZWF0ZWQgIFdlZCBNYXIgMTAgMTc6NDI6MTIgMTk5OSwgQW5kcmVhcyBEaWxnZXIKKy5USCBVVUlEX1BBUlNFIDMgIk1heSAyMDA5IiAidXRpbC1saW51eCIgIkxpYnV1aWQgQVBJIgorLlNIIE5BTUUKK3V1aWRfcGFyc2UgXC0gY29udmVydCBhbiBpbnB1dCBVVUlEIHN0cmluZyBpbnRvIGJpbmFyeSByZXByZXNlbnRhdGlvbgorLlNIIFNZTk9QU0lTCisubmYKKy5CICNpbmNsdWRlIDx1dWlkLmg+Cisuc3AKKy5CSSAiaW50IHV1aWRfcGFyc2UoIGNoYXIgKiIgaW4gIiwgdXVpZF90ICIgdXUgKTsKKy5maQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHV1aWRfcGFyc2UKK2Z1bmN0aW9uIGNvbnZlcnRzIHRoZSBVVUlEIHN0cmluZyBnaXZlbiBieQorLkkgaW4KK2ludG8gdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbi4gIFRoZSBpbnB1dCBVVUlEIGlzIGEgc3RyaW5nIG9mIHRoZSBmb3JtCisxYjRlMjhiYVwtMmZhMVwtMTFkMlwtODgzZlwtYjlhNzYxYmRlM2ZiIChpbgorLkJSIHByaW50ZiAoMykKK2Zvcm1hdCAiJTA4eFwtJTA0eFwtJTA0eFwtJTA0eFwtJTAxMngiLCAzNiBieXRlcyBwbHVzIHRoZSB0cmFpbGluZyAnXGUwJykuCisuU0ggUkVUVVJOIFZBTFVFCitVcG9uIHN1Y2Nlc3NmdWxseSBwYXJzaW5nIHRoZSBpbnB1dCBzdHJpbmcsIDAgaXMgcmV0dXJuZWQsIGFuZCB0aGUgVVVJRCBpcworc3RvcmVkIGluIHRoZSBsb2NhdGlvbiBwb2ludGVkIHRvIGJ5CisuSVIgdXUgLAorb3RoZXJ3aXNlIFwtMSBpcyByZXR1cm5lZC4KKy5TSCAiQ09ORk9STUlORyBUTyIKK1RoaXMgbGlicmFyeSBwYXJzZXMgVVVJRHMgY29tcGF0aWJsZSBPU0YgRENFIDEuMSwgYW5kIGhhc2ggYmFzZWQgVVVJRHMgVjMgYW5kCitWNSBjb21wYXRpYmxlIHdpdGggUkZDLTQxMjIuCisuU0ggQVVUSE9SCitUaGVvZG9yZSBZLlwmIFRzJ28KKy5TSCBBVkFJTEFCSUxJVFkKKy5CIGxpYnV1aWQKK2lzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBzaW5jZSB2ZXJzaW9uIDIuMTUuMSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorLm5hCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWQgKDMpLAorLkJSIHV1aWRfY2xlYXIgKDMpLAorLkJSIHV1aWRfY29tcGFyZSAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfdGltZSAoMyksCisuQlIgdXVpZF91bnBhcnNlICgzKQorLmFkCmRpZmYgLS1naXQgYS9saWJ1dWlkL21hbi91dWlkX3RpbWUuMyBiL2xpYnV1aWQvbWFuL3V1aWRfdGltZS4zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3NGQyMzkKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL21hbi91dWlkX3RpbWUuMwpAQCAtMCwwICsxLDc4IEBACisuXCIgQ29weXJpZ2h0IDE5OTkgQW5kcmVhcyBEaWxnZXIgKGFkaWxnZXJAZW5lbC51Y2FsZ2FyeS5jYSkKKy5cIgorLlwiICVCZWdpbi1IZWFkZXIlCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorLlwiICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisuXCIgICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorLlwiICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisuXCIgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKy5cIiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKy5cIiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisuXCIgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorLlwiIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisuXCIgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisuXCIgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorLlwiIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorLlwiIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisuXCIgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKy5cIiBEQU1BR0UuCisuXCIgJUVuZC1IZWFkZXIlCisuXCIKKy5cIiBDcmVhdGVkICBXZWQgTWFyIDEwIDE3OjQyOjEyIDE5OTksIEFuZHJlYXMgRGlsZ2VyCisuVEggVVVJRF9USU1FIDMgIk1heSAyMDA5IiAidXRpbC1saW51eCIgIkxpYnV1aWQgQVBJIgorLlNIIE5BTUUKK3V1aWRfdGltZSBcLSBleHRyYWN0IHRoZSB0aW1lIGF0IHdoaWNoIHRoZSBVVUlEIHdhcyBjcmVhdGVkCisuU0ggU1lOT1BTSVMKKy5uZgorLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5zcAorLkJJICJ0aW1lX3QgdXVpZF90aW1lKHV1aWRfdCAiIHV1ICIsIHN0cnVjdCB0aW1ldmFsICoiIHJldF90diApCisuZmkKKy5TSCBERVNDUklQVElPTgorVGhlCisuQiB1dWlkX3RpbWUKK2Z1bmN0aW9uIGV4dHJhY3RzIHRoZSB0aW1lIGF0IHdoaWNoIHRoZSBzdXBwbGllZCB0aW1lLWJhc2VkIFVVSUQKKy5JIHV1Cit3YXMgY3JlYXRlZC4gIE5vdGUgdGhhdCB0aGUgVVVJRCBjcmVhdGlvbiB0aW1lIGlzIG9ubHkgZW5jb2RlZCB3aXRoaW4KK2NlcnRhaW4gdHlwZXMgb2YgVVVJRHMuICBUaGlzIGZ1bmN0aW9uIGNhbiBvbmx5IHJlYXNvbmFibHkgZXhwZWN0IHRvCitleHRyYWN0IHRoZSBjcmVhdGlvbiB0aW1lIGZvciBVVUlEcyBjcmVhdGVkIHdpdGggdGhlCisuQlIgdXVpZF9nZW5lcmF0ZV90aW1lICgzKQorYW5kCisuQlIgdXVpZF9nZW5lcmF0ZV90aW1lX3NhZmUgKDMpCitmdW5jdGlvbnMuICBJdCBtYXkgb3IgbWF5IG5vdCB3b3JrIHdpdGggVVVJRHMgY3JlYXRlZCBieSBvdGhlciBtZWNoYW5pc21zLgorLlNIICJSRVRVUk4gVkFMVUVTIgorVGhlIHRpbWUgYXQgd2hpY2ggdGhlIFVVSUQgd2FzIGNyZWF0ZWQsIGluIHNlY29uZHMgc2luY2UgSmFudWFyeSAxLCAxOTcwIEdNVAorKHRoZSBlcG9jaCksIGlzIHJldHVybmVkIChzZWUKKy5CUiB0aW1lICIoMikpLiIKK1RoZSB0aW1lIGF0IHdoaWNoIHRoZSBVVUlEIHdhcyBjcmVhdGVkLCBpbiBzZWNvbmRzIGFuZCBtaWNyb3NlY29uZHMgc2luY2UKK3RoZSBlcG9jaCwgaXMgYWxzbyBzdG9yZWQgaW4gdGhlIGxvY2F0aW9uIHBvaW50ZWQgdG8gYnkKKy5JIHJldF90dgorKHNlZQorLkJSIGdldHRpbWVvZmRheSAiKDIpKS4iCisuU0ggQVVUSE9SCitUaGVvZG9yZSBZLlwmIFRzJ28KKy5TSCBBVkFJTEFCSUxJVFkKKy5CIGxpYnV1aWQKK2lzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBzaW5jZSB2ZXJzaW9uIDIuMTUuMSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgorLm5hCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWQgKDMpLAorLkJSIHV1aWRfY2xlYXIgKDMpLAorLkJSIHV1aWRfY29tcGFyZSAoMyksCisuQlIgdXVpZF9jb3B5ICgzKSwKKy5CUiB1dWlkX2dlbmVyYXRlICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfcGFyc2UgKDMpLAorLkJSIHV1aWRfdW5wYXJzZSAoMykKKy5hZApkaWZmIC0tZ2l0IGEvbGlidXVpZC9tYW4vdXVpZF91bnBhcnNlLjMgYi9saWJ1dWlkL21hbi91dWlkX3VucGFyc2UuMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZGEwMjA3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9tYW4vdXVpZF91bnBhcnNlLjMKQEAgLTAsMCArMSw4MSBAQAorLlwiIENvcHlyaWdodCAxOTk5IEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQGVuZWwudWNhbGdhcnkuY2EpCisuXCIKKy5cIiAlQmVnaW4tSGVhZGVyJQorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKy5cIiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorLlwiICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKy5cIiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorLlwiIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisuXCIgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisuXCIgV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorLlwiIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKy5cIiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorLlwiIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorLlwiIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKy5cIiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKy5cIiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorLlwiIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisuXCIgREFNQUdFLgorLlwiICVFbmQtSGVhZGVyJQorLlwiCisuXCIgQ3JlYXRlZCAgV2VkIE1hciAxMCAxNzo0MjoxMiAxOTk5LCBBbmRyZWFzIERpbGdlcgorLlRIIFVVSURfVU5QQVJTRSAzICJNYXkgMjAwOSIgInV0aWwtbGludXgiICJMaWJ1dWlkIEFQSSIKKy5TSCBOQU1FCit1dWlkX3VucGFyc2UgXC0gY29udmVydCBhbiBVVUlEIGZyb20gYmluYXJ5IHJlcHJlc2VudGF0aW9uIHRvIGEgc3RyaW5nCisuU0ggU1lOT1BTSVMKKy5uZgorLkIgI2luY2x1ZGUgPHV1aWQuaD4KKy5zcAorLkJJICJ2b2lkIHV1aWRfdW5wYXJzZSh1dWlkX3QgIiB1dSAiLCBjaGFyICoiIG91dCApOworLkJJICJ2b2lkIHV1aWRfdW5wYXJzZV91cHBlcih1dWlkX3QgIiB1dSAiLCBjaGFyICoiIG91dCApOworLkJJICJ2b2lkIHV1aWRfdW5wYXJzZV9sb3dlcih1dWlkX3QgIiB1dSAiLCBjaGFyICoiIG91dCApOworLmZpCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgdXVpZF91bnBhcnNlCitmdW5jdGlvbiBjb252ZXJ0cyB0aGUgc3VwcGxpZWQgVVVJRAorLkkgdXUKK2Zyb20gdGhlIGJpbmFyeSByZXByZXNlbnRhdGlvbiBpbnRvIGEgMzYtYnl0ZSBzdHJpbmcgKHBsdXMgdGFpbGluZyAnXGUwJykKK29mIHRoZSBmb3JtIDFiNGUyOGJhXC0yZmExXC0xMWQyXC04ODNmXC0wMDE2ZDNjY2E0MjcgYW5kIHN0b3JlcyB0aGlzCit2YWx1ZSBpbiB0aGUgY2hhcmFjdGVyIHN0cmluZyBwb2ludGVkIHRvIGJ5CisuSVIgb3V0IC4KK1RoZSBjYXNlIG9mIHRoZSBoZXggZGlnaXRzIHJldHVybmVkIGJ5CisuQiB1dWlkX3VucGFyc2UKK21heSBiZSB1cHBlciBvciBsb3dlciBjYXNlLCBhbmQgaXMKK2RlcGVuZGVudCBvbiB0aGUgc3lzdGVtLWRlcGVuZGVudCBsb2NhbCBkZWZhdWx0LgorLlBQCitJZiB0aGUgY2FzZSBvZiB0aGUKK2hleCBkaWdpdHMgaXMgaW1wb3J0YW50IHRoZW4gdGhlIGZ1bmN0aW9ucworLkIgdXVpZF91bnBhcnNlX3VwcGVyCithbmQKKy5CIHV1aWRfdW5wYXJzZV9sb3dlcgorbWF5IGJlIHVzZWQuCisuU0ggIkNPTkZPUk1JTkcgVE8iCitUaGlzIGxpYnJhcnkgdW5wYXJzZXMgVVVJRHMgY29tcGF0aWJsZSB3aXRoIE9TRiBEQ0UgMS4xLgorLlNIIEFVVEhPUgorVGhlb2RvcmUgWS5cJiBUcydvCisuU0ggQVZBSUxBQklMSVRZCisuQiBsaWJ1dWlkCitpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2Ugc2luY2UgdmVyc2lvbiAyLjE1LjEgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KKy5uYQorLlNIICJTRUUgQUxTTyIKKy5CUiB1dWlkICgzKSwKKy5CUiB1dWlkX2NsZWFyICgzKSwKKy5CUiB1dWlkX2NvbXBhcmUgKDMpLAorLkJSIHV1aWRfY29weSAoMyksCisuQlIgdXVpZF9nZW5lcmF0ZSAoMyksCisuQlIgdXVpZF90aW1lICgzKSwKKy5CUiB1dWlkX2lzX251bGwgKDMpLAorLkJSIHV1aWRfcGFyc2UgKDMpCisuYWQKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL01ha2Vtb2R1bGUuYW0gYi9saWJ1dWlkL3NyYy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1OGZhMjYKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL3NyYy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsNjcgQEAKKworY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF91dWlkX3BhcnNlcgordGVzdF91dWlkX3BhcnNlcl9TT1VSQ0VTID0gbGlidXVpZC9zcmMvdGVzdF91dWlkLmMKK3Rlc3RfdXVpZF9wYXJzZXJfTERBREQgPSBsaWJ1dWlkLmxhICQoU09DS0VUX0xJQlMpICQoTERBREQpCit0ZXN0X3V1aWRfcGFyc2VyX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlidXVpZF9pbmNkaXIpCisKKyMgaW5jbHVkZXMKK3V1aWRpbmNkaXIgPSAkKGluY2x1ZGVkaXIpL3V1aWQKK3V1aWRpbmNfSEVBREVSUyA9IGxpYnV1aWQvc3JjL3V1aWQuaAorCit1c3JsaWJfZXhlY19MVExJQlJBUklFUyArPSBsaWJ1dWlkLmxhCisKK2xpYnV1aWRfbGFfU09VUkNFUyA9IFwKKwlsaWJ1dWlkL3NyYy91dWlkUC5oIFwKKwlsaWJ1dWlkL3NyYy9jbGVhci5jIFwKKwlsaWJ1dWlkL3NyYy9jb21wYXJlLmMgXAorCWxpYnV1aWQvc3JjL2NvcHkuYyBcCisJbGlidXVpZC9zcmMvZ2VuX3V1aWQuYyBcCisJbGlidXVpZC9zcmMvaXNudWxsLmMgXAorCWxpYnV1aWQvc3JjL3BhY2suYyBcCisJbGlidXVpZC9zcmMvcGFyc2UuYyBcCisJbGlidXVpZC9zcmMvdW5wYWNrLmMgXAorCWxpYnV1aWQvc3JjL3VucGFyc2UuYyBcCisJbGlidXVpZC9zcmMvdXVpZGQuaCBcCisJbGlidXVpZC9zcmMvdXVpZF90aW1lLmMgXAorCWxpYnV1aWQvc3JjL3ByZWRlZmluZWQuYyBcCisJbGliL3JhbmR1dGlscy5jIFwKKwlsaWIvbWQ1LmMgXAorCWxpYi9zaGExLmMKKworRVhUUkFfbGlidXVpZF9sYV9ERVBFTkRFTkNJRVMgPSBcCisJbGlidXVpZC9zcmMvbGlidXVpZC5zeW0KKworbGlidXVpZF9sYV9MSUJBREQgICAgICAgPSAkKExEQUREKSAkKFNPQ0tFVF9MSUJTKQorCitsaWJ1dWlkX2xhX0NGTEFHUyA9IFwKKwkkKEFNX0NGTEFHUykgXAorCSAkKFNPTElCX0NGTEFHUykgXAorCSAtSSQodWxfbGlidXVpZF9pbmNkaXIpIFwKKwkgLUlsaWJ1dWlkL3NyYworCitsaWJ1dWlkX2xhX0xERkxBR1MgPSAkKFNPTElCX0xERkxBR1MpCitpZiBIQVZFX1ZTQ1JJUFQKK2xpYnV1aWRfbGFfTERGTEFHUyArPSBsaWJ1dWlkX2xhX0xERkxBR1MgKz0gJChWU0NSSVBUX0xERkxBR1MpLCQodG9wX3NyY2RpcikvbGlidXVpZC9zcmMvbGlidXVpZC5zeW0KK2VuZGlmCitsaWJ1dWlkX2xhX0xERkxBR1MgKz0gLXZlcnNpb24taW5mbyAkKExJQlVVSURfVkVSU0lPTl9JTkZPKQorCisKK0VYVFJBX0RJU1QgKz0gbGlidXVpZC9zcmMvbGlidXVpZC5zeW0KKworIyBtb3ZlIGxpYiBmcm9tICQodXNybGliX2V4ZWNkaXIpIHRvICQobGliZGlyKSBpZiBuZWVkZWQKK2luc3RhbGwtZXhlYy1ob29rLWxpYnV1aWQ6CisJaWYgdGVzdCAiJCh1c3JsaWJfZXhlY2RpcikiICE9ICIkKGxpYmRpcikiIC1hIC1mICIkKERFU1RESVIpJCh1c3JsaWJfZXhlY2RpcikvbGlidXVpZC5zbyI7IHRoZW4gXAorCQkkKE1LRElSX1ApICQoREVTVERJUikkKGxpYmRpcik7IFwKKwkJbXYgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpL2xpYnV1aWQuc28uKiAkKERFU1RESVIpJChsaWJkaXIpOyBcCisJCXNvX2ltZ19uYW1lPSQkKHJlYWRsaW5rICQoREVTVERJUikkKHVzcmxpYl9leGVjZGlyKS9saWJ1dWlkLnNvKTsgXAorCQlzb19pbWdfcmVsX3RhcmdldD0kJChlY2hvICQodXNybGliX2V4ZWNkaXIpIHwgc2VkICdzLFwoXi9cfFwpW14vXVteL10qLC4uLGcnKTsgXAorCQkoY2QgJChERVNURElSKSQodXNybGliX2V4ZWNkaXIpICYmIFwKKwkJCXJtIC1mIGxpYnV1aWQuc28gJiYgXAorCQkJJChMTl9TKSAkJHNvX2ltZ19yZWxfdGFyZ2V0JChsaWJkaXIpLyQkc29faW1nX25hbWUgbGlidXVpZC5zbyk7IFwKKwlmaQorCit1bmluc3RhbGwtaG9vay1saWJ1dWlkOgorCXJtIC1mICQoREVTVERJUikkKGxpYmRpcikvbGlidXVpZC5zbyoKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLWxpYnV1aWQKK1VOSU5TVEFMTF9IT09LUyArPSB1bmluc3RhbGwtaG9vay1saWJ1dWlkCmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy9jbGVhci5jIGIvbGlidXVpZC9zcmMvY2xlYXIuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDkxZmVlCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvY2xlYXIuYwpAQCAtMCwwICsxLDQzIEBACisvKgorICogY2xlYXIuYyAtLSBDbGVhciBhIFVVSUQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSAic3RyaW5nLmgiCisKKyNpbmNsdWRlICJ1dWlkUC5oIgorCit2b2lkIHV1aWRfY2xlYXIodXVpZF90IHV1KQoreworCW1lbXNldCh1dSwgMCwgMTYpOworfQorCmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy9jb21wYXJlLmMgYi9saWJ1dWlkL3NyYy9jb21wYXJlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGYzNDM3YQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL2NvbXBhcmUuYwpAQCAtMCwwICsxLDU1IEBACisvKgorICogY29tcGFyZS5jIC0tLSBjb21wYXJlIHdoZXRoZXIgb3Igbm90IHR3byBVVUlEcyBhcmUgdGhlIHNhbWUKKyAqCisgKiBSZXR1cm5zIDAgaWYgdGhlIHR3byBVVUlEcyBhcmUgZGlmZmVyZW50LCBhbmQgMSBpZiB0aGV5IGFyZSB0aGUgc2FtZS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSAidXVpZFAuaCIKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2RlZmluZSBVVUNNUCh1MSx1MikgaWYgKHUxICE9IHUyKSByZXR1cm4oKHUxIDwgdTIpID8gLTEgOiAxKTsKKworaW50IHV1aWRfY29tcGFyZShjb25zdCB1dWlkX3QgdXUxLCBjb25zdCB1dWlkX3QgdXUyKQoreworCXN0cnVjdCB1dWlkCXV1aWQxLCB1dWlkMjsKKworCXV1aWRfdW5wYWNrKHV1MSwgJnV1aWQxKTsKKwl1dWlkX3VucGFjayh1dTIsICZ1dWlkMik7CisKKwlVVUNNUCh1dWlkMS50aW1lX2xvdywgdXVpZDIudGltZV9sb3cpOworCVVVQ01QKHV1aWQxLnRpbWVfbWlkLCB1dWlkMi50aW1lX21pZCk7CisJVVVDTVAodXVpZDEudGltZV9oaV9hbmRfdmVyc2lvbiwgdXVpZDIudGltZV9oaV9hbmRfdmVyc2lvbik7CisJVVVDTVAodXVpZDEuY2xvY2tfc2VxLCB1dWlkMi5jbG9ja19zZXEpOworCXJldHVybiBtZW1jbXAodXVpZDEubm9kZSwgdXVpZDIubm9kZSwgNik7Cit9CisKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL2NvcHkuYyBiL2xpYnV1aWQvc3JjL2NvcHkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYWQzM2FhCi0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvY29weS5jCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisgKiBjb3B5LmMgLS0tIGNvcHkgVVVJRHMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSAidXVpZFAuaCIKKwordm9pZCB1dWlkX2NvcHkodXVpZF90IGRzdCwgY29uc3QgdXVpZF90IHNyYykKK3sKKwl1bnNpZ25lZCBjaGFyCQkqY3AxOworCWNvbnN0IHVuc2lnbmVkIGNoYXIJKmNwMjsKKwlpbnQJCQlpOworCisJZm9yIChpPTAsIGNwMSA9IGRzdCwgY3AyID0gc3JjOyBpIDwgMTY7IGkrKykKKwkJKmNwMSsrID0gKmNwMisrOworfQpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvZ2VuX3V1aWQuYyBiL2xpYnV1aWQvc3JjL2dlbl91dWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTM3NGU3NQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL2dlbl91dWlkLmMKQEAgLTAsMCArMSw2MTAgQEAKKy8qCisgKiBnZW5fdXVpZC5jIC0tLSBnZW5lcmF0ZSBhIERDRS1jb21wYXRpYmxlIHV1aWQKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcsIDE5OTgsIDE5OTkgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaWZkZWYgX1dJTjMyCisjZGVmaW5lIF9XSU4zMl9XSU5OVCAweDA1MDAKKyNpbmNsdWRlIDx3aW5kb3dzLmg+CisjZGVmaW5lIFVVSUQgTVlVVUlECisjZW5kaWYKKyNpbmNsdWRlIDxzdGRpby5oPgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfU1RETElCX0gKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZmRlZiBIQVZFX1NZU19USU1FX0gKKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2VuZGlmCisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpZmRlZiBIQVZFX1NZU19GSUxFX0gKKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfSU9DVExfSAorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9TWVNfU09DS0VUX0gKKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19VTl9ICisjaW5jbHVkZSA8c3lzL3VuLmg+CisjZW5kaWYKKyNpZmRlZiBIQVZFX1NZU19TT0NLSU9fSAorI2luY2x1ZGUgPHN5cy9zb2NraW8uaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTkVUX0lGX0gKKyNpbmNsdWRlIDxuZXQvaWYuaD4KKyNlbmRpZgorI2lmZGVmIEhBVkVfTkVUSU5FVF9JTl9ICisjaW5jbHVkZSA8bmV0aW5ldC9pbi5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9ORVRfSUZfRExfSAorI2luY2x1ZGUgPG5ldC9pZl9kbC5oPgorI2VuZGlmCisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoSEFWRV9TWVNfU1lTQ0FMTF9IKQorI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjZW5kaWYKKworI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgInV1aWRQLmgiCisjaW5jbHVkZSAidXVpZGQuaCIKKyNpbmNsdWRlICJyYW5kdXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJtZDUuaCIKKyNpbmNsdWRlICJzaGExLmgiCisKKyNpZmRlZiBIQVZFX1RMUworI2RlZmluZSBUSFJFQURfTE9DQUwgc3RhdGljIF9fdGhyZWFkCisjZWxzZQorI2RlZmluZSBUSFJFQURfTE9DQUwgc3RhdGljCisjZW5kaWYKKworLyogaW5kZXggd2l0aCBVVUlEX1ZBUklBTlRfeHh4IGFuZCBzaGlmdCA1IGJpdHMgKi8KK3N0YXRpYyB1bnNpZ25lZCBjaGFyIHZhcmlhbnRfYml0c1tdID0geyAweDAwLCAweDA0LCAweDA2LCAweDA3IH07CisKKyNpZmRlZiBfV0lOMzIKK3N0YXRpYyB2b2lkIGdldHRpbWVvZmRheSAoc3RydWN0IHRpbWV2YWwgKnR2LCB2b2lkICpkdW1teSkKK3sKKwlGSUxFVElNRQlmdGltZTsKKwl1aW50NjRfdAluOworCisJR2V0U3lzdGVtVGltZUFzRmlsZVRpbWUgKCZmdGltZSk7CisJbiA9ICgoKHVpbnQ2NF90KSBmdGltZS5kd0hpZ2hEYXRlVGltZSA8PCAzMikKKwkgICAgICsgKHVpbnQ2NF90KSBmdGltZS5kd0xvd0RhdGVUaW1lKTsKKwlpZiAobikgeworCQluIC89IDEwOworCQluIC09ICgoMzY5ICogMzY1ICsgODkpICogKHVpbnQ2NF90KSA4NjQwMCkgKiAxMDAwMDAwOworCX0KKworCXR2LT50dl9zZWMgPSBuIC8gMTAwMDAwMDsKKwl0di0+dHZfdXNlYyA9IG4gJSAxMDAwMDAwOworfQorCitzdGF0aWMgaW50IGdldHVpZCAodm9pZCkKK3sKKwlyZXR1cm4gMTsKK30KKyNlbmRpZgorCisvKgorICogR2V0IHRoZSBldGhlcm5ldCBoYXJkd2FyZSBhZGRyZXNzLCBpZiB3ZSBjYW4gZmluZCBpdC4uLgorICoKKyAqIFhYWCBmb3IgYSB3aW5kb3dzIHZlcnNpb24sIHByb2JhYmx5IHNob3VsZCB1c2UgR2V0QWRhcHRlcnNJbmZvOgorICogaHR0cDovL3d3dy5jb2RlZ3VydS5jb20vY3BwL2ktbi9uZXR3b3JrL25ldHdvcmtpbmZvcm1hdGlvbi9hcnRpY2xlLnBocC9jNTQ1MQorICogY29tbWVudGluZyBvdXQgZ2V0X25vZGVfaWQganVzdCB0byBnZXQgZ2VuX3V1aWQgdG8gY29tcGlsZSB1bmRlciB3aW5kb3dzCisgKiBpcyBub3QgdGhlIHJpZ2h0IHdheSB0byBnbyEKKyAqLworc3RhdGljIGludCBnZXRfbm9kZV9pZCh1bnNpZ25lZCBjaGFyICpub2RlX2lkKQoreworI2lmZGVmIEhBVkVfTkVUX0lGX0gKKwlpbnQJCXNkOworCXN0cnVjdCBpZnJlcQlpZnIsICppZnJwOworCXN0cnVjdCBpZmNvbmYJaWZjOworCWNoYXIgYnVmWzEwMjRdOworCWludAkJbiwgaTsKKwl1bnNpZ25lZCBjaGFyCSphOworI2lmZGVmIEhBVkVfTkVUX0lGX0RMX0gKKwlzdHJ1Y3Qgc29ja2FkZHJfZGwgKnNkbHA7CisjZW5kaWYKKworLyoKKyAqIEJTRCA0LjQgZGVmaW5lcyB0aGUgc2l6ZSBvZiBhbiBpZnJlcSB0byBiZQorICogbWF4KHNpemVvZihpZnJlcSksIHNpemVvZihpZnJlcS5pZnJfbmFtZSkraWZyZXEuaWZyX2FkZHIuc2FfbGVuCisgKiBIb3dldmVyLCB1bmRlciBlYXJsaWVyIHN5c3RlbXMsIHNhX2xlbiBpc24ndCBwcmVzZW50LCBzbyB0aGUgc2l6ZSBpcworICoganVzdCBzaXplb2Yoc3RydWN0IGlmcmVxKQorICovCisjaWZkZWYgSEFWRV9TQV9MRU4KKyNkZWZpbmUgaWZyZXFfc2l6ZShpKSBtYXgoc2l6ZW9mKHN0cnVjdCBpZnJlcSksXAorICAgICBzaXplb2YoKGkpLmlmcl9uYW1lKSsoaSkuaWZyX2FkZHIuc2FfbGVuKQorI2Vsc2UKKyNkZWZpbmUgaWZyZXFfc2l6ZShpKSBzaXplb2Yoc3RydWN0IGlmcmVxKQorI2VuZGlmIC8qIEhBVkVfU0FfTEVOICovCisKKwlzZCA9IHNvY2tldChBRl9JTkVULCBTT0NLX0RHUkFNLCBJUFBST1RPX0lQKTsKKwlpZiAoc2QgPCAwKSB7CisJCXJldHVybiAtMTsKKwl9CisJbWVtc2V0KGJ1ZiwgMCwgc2l6ZW9mKGJ1ZikpOworCWlmYy5pZmNfbGVuID0gc2l6ZW9mKGJ1Zik7CisJaWZjLmlmY19idWYgPSBidWY7CisJaWYgKGlvY3RsIChzZCwgU0lPQ0dJRkNPTkYsIChjaGFyICopJmlmYykgPCAwKSB7CisJCWNsb3NlKHNkKTsKKwkJcmV0dXJuIC0xOworCX0KKwluID0gaWZjLmlmY19sZW47CisJZm9yIChpID0gMDsgaSA8IG47IGkrPSBpZnJlcV9zaXplKCppZnJwKSApIHsKKwkJaWZycCA9IChzdHJ1Y3QgaWZyZXEgKikoKGNoYXIgKikgaWZjLmlmY19idWYraSk7CisJCXN0cm5jcHkoaWZyLmlmcl9uYW1lLCBpZnJwLT5pZnJfbmFtZSwgSUZOQU1TSVopOworI2lmZGVmIFNJT0NHSUZIV0FERFIKKwkJaWYgKGlvY3RsKHNkLCBTSU9DR0lGSFdBRERSLCAmaWZyKSA8IDApCisJCQljb250aW51ZTsKKwkJYSA9ICh1bnNpZ25lZCBjaGFyICopICZpZnIuaWZyX2h3YWRkci5zYV9kYXRhOworI2Vsc2UKKyNpZmRlZiBTSU9DR0VOQUREUgorCQlpZiAoaW9jdGwoc2QsIFNJT0NHRU5BRERSLCAmaWZyKSA8IDApCisJCQljb250aW51ZTsKKwkJYSA9ICh1bnNpZ25lZCBjaGFyICopIGlmci5pZnJfZW5hZGRyOworI2Vsc2UKKyNpZmRlZiBIQVZFX05FVF9JRl9ETF9ICisJCXNkbHAgPSAoc3RydWN0IHNvY2thZGRyX2RsICopICZpZnJwLT5pZnJfYWRkcjsKKwkJaWYgKChzZGxwLT5zZGxfZmFtaWx5ICE9IEFGX0xJTkspIHx8IChzZGxwLT5zZGxfYWxlbiAhPSA2KSkKKwkJCWNvbnRpbnVlOworCQlhID0gKHVuc2lnbmVkIGNoYXIgKikgJnNkbHAtPnNkbF9kYXRhW3NkbHAtPnNkbF9ubGVuXTsKKyNlbHNlCisJCS8qCisJCSAqIFhYWCB3ZSBkb24ndCBoYXZlIGEgd2F5IG9mIGdldHRpbmcgdGhlIGhhcmR3YXJlCisJCSAqIGFkZHJlc3MKKwkJICovCisJCWNsb3NlKHNkKTsKKwkJcmV0dXJuIDA7CisjZW5kaWYgLyogSEFWRV9ORVRfSUZfRExfSCAqLworI2VuZGlmIC8qIFNJT0NHRU5BRERSICovCisjZW5kaWYgLyogU0lPQ0dJRkhXQUREUiAqLworCQlpZiAoIWFbMF0gJiYgIWFbMV0gJiYgIWFbMl0gJiYgIWFbM10gJiYgIWFbNF0gJiYgIWFbNV0pCisJCQljb250aW51ZTsKKwkJaWYgKG5vZGVfaWQpIHsKKwkJCW1lbWNweShub2RlX2lkLCBhLCA2KTsKKwkJCWNsb3NlKHNkKTsKKwkJCXJldHVybiAxOworCQl9CisJfQorCWNsb3NlKHNkKTsKKyNlbmRpZgorCXJldHVybiAwOworfQorCisvKiBBc3N1bWUgdGhhdCB0aGUgZ2V0dGltZW9mZGF5KCkgaGFzIG1pY3Jvc2Vjb25kIGdyYW51bGFyaXR5ICovCisjZGVmaW5lIE1BWF9BREpVU1RNRU5UIDEwCisKKy8qCisgKiBHZXQgY2xvY2sgZnJvbSBnbG9iYWwgc2VxdWVuY2UgY2xvY2sgY291bnRlci4KKyAqCisgKiBSZXR1cm4gLTEgaWYgdGhlIGNsb2NrIGNvdW50ZXIgY291bGQgbm90IGJlIG9wZW5lZC9sb2NrZWQgKGluIHRoaXMgY2FzZQorICogcHNldWRvcmFuZG9tIHZhbHVlIGlzIHJldHVybmVkIGluIEByZXRfY2xvY2tfc2VxKSwgb3RoZXJ3aXNlIHJldHVybiAwLgorICovCitzdGF0aWMgaW50IGdldF9jbG9jayh1aW50MzJfdCAqY2xvY2tfaGlnaCwgdWludDMyX3QgKmNsb2NrX2xvdywKKwkJICAgICB1aW50MTZfdCAqcmV0X2Nsb2NrX3NlcSwgaW50ICpudW0pCit7CisJVEhSRUFEX0xPQ0FMIGludAkJYWRqdXN0bWVudCA9IDA7CisJVEhSRUFEX0xPQ0FMIHN0cnVjdCB0aW1ldmFsCWxhc3QgPSB7MCwgMH07CisJVEhSRUFEX0xPQ0FMIGludAkJc3RhdGVfZmQgPSAtMjsKKwlUSFJFQURfTE9DQUwgRklMRQkJKnN0YXRlX2Y7CisJVEhSRUFEX0xPQ0FMIHVpbnQxNl90CQljbG9ja19zZXE7CisJc3RydWN0IHRpbWV2YWwJCQl0djsKKwl1aW50NjRfdAkJCWNsb2NrX3JlZzsKKwltb2RlX3QJCQkJc2F2ZV91bWFzazsKKwlpbnQJCQkJbGVuOworCWludAkJCQlyZXQgPSAwOworCisJaWYgKHN0YXRlX2ZkID09IC0xKQorCQlyZXQgPSAtMTsKKworCWlmIChzdGF0ZV9mZCA9PSAtMikgeworCQlzYXZlX3VtYXNrID0gdW1hc2soMCk7CisJCXN0YXRlX2ZkID0gb3BlbihMSUJVVUlEX0NMT0NLX0ZJTEUsIE9fUkRXUnxPX0NSRUFUfE9fQ0xPRVhFQywgMDY2MCk7CisJCSh2b2lkKSB1bWFzayhzYXZlX3VtYXNrKTsKKwkJaWYgKHN0YXRlX2ZkICE9IC0xKSB7CisJCQlzdGF0ZV9mID0gZmRvcGVuKHN0YXRlX2ZkLCAicisiIFVMX0NMT0VYRUNTVFIpOworCQkJaWYgKCFzdGF0ZV9mKSB7CisJCQkJY2xvc2Uoc3RhdGVfZmQpOworCQkJCXN0YXRlX2ZkID0gLTE7CisJCQkJcmV0ID0gLTE7CisJCQl9CisJCX0KKwkJZWxzZQorCQkJcmV0ID0gLTE7CisJfQorCWlmIChzdGF0ZV9mZCA+PSAwKSB7CisJCXJld2luZChzdGF0ZV9mKTsKKwkJd2hpbGUgKGZsb2NrKHN0YXRlX2ZkLCBMT0NLX0VYKSA8IDApIHsKKwkJCWlmICgoZXJybm8gPT0gRUFHQUlOKSB8fCAoZXJybm8gPT0gRUlOVFIpKQorCQkJCWNvbnRpbnVlOworCQkJZmNsb3NlKHN0YXRlX2YpOworCQkJY2xvc2Uoc3RhdGVfZmQpOworCQkJc3RhdGVfZmQgPSAtMTsKKwkJCXJldCA9IC0xOworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKHN0YXRlX2ZkID49IDApIHsKKwkJdW5zaWduZWQgaW50IGNsOworCQl1bnNpZ25lZCBsb25nIHR2MSwgdHYyOworCQlpbnQgYTsKKworCQlpZiAoZnNjYW5mKHN0YXRlX2YsICJjbG9jazogJTA0eCB0djogJWx1ICVsdSBhZGo6ICVkXG4iLAorCQkJICAgJmNsLCAmdHYxLCAmdHYyLCAmYSkgPT0gNCkgeworCQkJY2xvY2tfc2VxID0gY2wgJiAweDNGRkY7CisJCQlsYXN0LnR2X3NlYyA9IHR2MTsKKwkJCWxhc3QudHZfdXNlYyA9IHR2MjsKKwkJCWFkanVzdG1lbnQgPSBhOworCQl9CisJfQorCisJaWYgKChsYXN0LnR2X3NlYyA9PSAwKSAmJiAobGFzdC50dl91c2VjID09IDApKSB7CisJCXJhbmRvbV9nZXRfYnl0ZXMoJmNsb2NrX3NlcSwgc2l6ZW9mKGNsb2NrX3NlcSkpOworCQljbG9ja19zZXEgJj0gMHgzRkZGOworCQlnZXR0aW1lb2ZkYXkoJmxhc3QsIE5VTEwpOworCQlsYXN0LnR2X3NlYy0tOworCX0KKwordHJ5X2FnYWluOgorCWdldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCWlmICgodHYudHZfc2VjIDwgbGFzdC50dl9zZWMpIHx8CisJICAgICgodHYudHZfc2VjID09IGxhc3QudHZfc2VjKSAmJgorCSAgICAgKHR2LnR2X3VzZWMgPCBsYXN0LnR2X3VzZWMpKSkgeworCQljbG9ja19zZXEgPSAoY2xvY2tfc2VxKzEpICYgMHgzRkZGOworCQlhZGp1c3RtZW50ID0gMDsKKwkJbGFzdCA9IHR2OworCX0gZWxzZSBpZiAoKHR2LnR2X3NlYyA9PSBsYXN0LnR2X3NlYykgJiYKKwkgICAgKHR2LnR2X3VzZWMgPT0gbGFzdC50dl91c2VjKSkgeworCQlpZiAoYWRqdXN0bWVudCA+PSBNQVhfQURKVVNUTUVOVCkKKwkJCWdvdG8gdHJ5X2FnYWluOworCQlhZGp1c3RtZW50Kys7CisJfSBlbHNlIHsKKwkJYWRqdXN0bWVudCA9IDA7CisJCWxhc3QgPSB0djsKKwl9CisKKwljbG9ja19yZWcgPSB0di50dl91c2VjKjEwICsgYWRqdXN0bWVudDsKKwljbG9ja19yZWcgKz0gKCh1aW50NjRfdCkgdHYudHZfc2VjKSoxMDAwMDAwMDsKKwljbG9ja19yZWcgKz0gKCgodWludDY0X3QpIDB4MDFCMjFERDIpIDw8IDMyKSArIDB4MTM4MTQwMDA7CisKKwlpZiAobnVtICYmICgqbnVtID4gMSkpIHsKKwkJYWRqdXN0bWVudCArPSAqbnVtIC0gMTsKKwkJbGFzdC50dl91c2VjICs9IGFkanVzdG1lbnQgLyAxMDsKKwkJYWRqdXN0bWVudCA9IGFkanVzdG1lbnQgJSAxMDsKKwkJbGFzdC50dl9zZWMgKz0gbGFzdC50dl91c2VjIC8gMTAwMDAwMDsKKwkJbGFzdC50dl91c2VjID0gbGFzdC50dl91c2VjICUgMTAwMDAwMDsKKwl9CisKKwlpZiAoc3RhdGVfZmQgPj0gMCkgeworCQlyZXdpbmQoc3RhdGVfZik7CisJCWxlbiA9IGZwcmludGYoc3RhdGVfZiwKKwkJCSAgICAgICJjbG9jazogJTA0eCB0djogJTAxNmxkICUwOGxkIGFkajogJTA4ZFxuIiwKKwkJCSAgICAgIGNsb2NrX3NlcSwgKGxvbmcpbGFzdC50dl9zZWMsIChsb25nKWxhc3QudHZfdXNlYywgYWRqdXN0bWVudCk7CisJCWZmbHVzaChzdGF0ZV9mKTsKKwkJaWYgKGZ0cnVuY2F0ZShzdGF0ZV9mZCwgbGVuKSA8IDApIHsKKwkJCWZwcmludGYoc3RhdGVfZiwgIiAgICAgICAgICAgICAgICAgICBcbiIpOworCQkJZmZsdXNoKHN0YXRlX2YpOworCQl9CisJCXJld2luZChzdGF0ZV9mKTsKKwkJZmxvY2soc3RhdGVfZmQsIExPQ0tfVU4pOworCX0KKworCSpjbG9ja19oaWdoID0gY2xvY2tfcmVnID4+IDMyOworCSpjbG9ja19sb3cgPSBjbG9ja19yZWc7CisJKnJldF9jbG9ja19zZXEgPSBjbG9ja19zZXE7CisJcmV0dXJuIHJldDsKK30KKworI2lmIGRlZmluZWQoSEFWRV9VVUlERCkgJiYgZGVmaW5lZChIQVZFX1NZU19VTl9IKQorCisvKgorICogVHJ5IHVzaW5nIHRoZSB1dWlkZCBkYWVtb24gdG8gZ2VuZXJhdGUgdGhlIFVVSUQKKyAqCisgKiBSZXR1cm5zIDAgb24gc3VjY2Vzcywgbm9uLXplcm8gb24gZmFpbHVyZS4KKyAqLworc3RhdGljIGludCBnZXRfdXVpZF92aWFfZGFlbW9uKGludCBvcCwgdXVpZF90IG91dCwgaW50ICpudW0pCit7CisJY2hhciBvcF9idWZbNjRdOworCWludCBvcF9sZW47CisJaW50IHM7CisJc3NpemVfdCByZXQ7CisJaW50MzJfdCByZXBseV9sZW4gPSAwLCBleHBlY3RlZCA9IDE2OworCXN0cnVjdCBzb2NrYWRkcl91biBzcnZfYWRkcjsKKworCWlmIChzaXplb2YoVVVJRERfU09DS0VUX1BBVEgpID4gc2l6ZW9mKHNydl9hZGRyLnN1bl9wYXRoKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKChzID0gc29ja2V0KEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKSkgPCAwKQorCQlyZXR1cm4gLTE7CisKKwlzcnZfYWRkci5zdW5fZmFtaWx5ID0gQUZfVU5JWDsKKwl4c3RybmNweShzcnZfYWRkci5zdW5fcGF0aCwgVVVJRERfU09DS0VUX1BBVEgsIHNpemVvZihzcnZfYWRkci5zdW5fcGF0aCkpOworCisJaWYgKGNvbm5lY3QocywgKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqKSAmc3J2X2FkZHIsCisJCSAgICBzaXplb2Yoc3RydWN0IHNvY2thZGRyX3VuKSkgPCAwKQorCQlnb3RvIGZhaWw7CisKKwlvcF9idWZbMF0gPSBvcDsKKwlvcF9sZW4gPSAxOworCWlmIChvcCA9PSBVVUlERF9PUF9CVUxLX1RJTUVfVVVJRCkgeworCQltZW1jcHkob3BfYnVmKzEsIG51bSwgc2l6ZW9mKCpudW0pKTsKKwkJb3BfbGVuICs9IHNpemVvZigqbnVtKTsKKwkJZXhwZWN0ZWQgKz0gc2l6ZW9mKCpudW0pOworCX0KKworCXJldCA9IHdyaXRlKHMsIG9wX2J1Ziwgb3BfbGVuKTsKKwlpZiAocmV0IDwgMSkKKwkJZ290byBmYWlsOworCisJcmV0ID0gcmVhZF9hbGwocywgKGNoYXIgKikgJnJlcGx5X2xlbiwgc2l6ZW9mKHJlcGx5X2xlbikpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIGZhaWw7CisKKwlpZiAocmVwbHlfbGVuICE9IGV4cGVjdGVkKQorCQlnb3RvIGZhaWw7CisKKwlyZXQgPSByZWFkX2FsbChzLCBvcF9idWYsIHJlcGx5X2xlbik7CisKKwlpZiAob3AgPT0gVVVJRERfT1BfQlVMS19USU1FX1VVSUQpCisJCW1lbWNweShvcF9idWYrMTYsIG51bSwgc2l6ZW9mKGludCkpOworCisJbWVtY3B5KG91dCwgb3BfYnVmLCAxNik7CisKKwljbG9zZShzKTsKKwlyZXR1cm4gKChyZXQgPT0gZXhwZWN0ZWQpID8gMCA6IC0xKTsKKworZmFpbDoKKwljbG9zZShzKTsKKwlyZXR1cm4gLTE7Cit9CisKKyNlbHNlIC8qICFkZWZpbmVkKEhBVkVfVVVJREQpICYmIGRlZmluZWQoSEFWRV9TWVNfVU5fSCkgKi8KK3N0YXRpYyBpbnQgZ2V0X3V1aWRfdmlhX2RhZW1vbihpbnQgb3AgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJCXV1aWRfdCBvdXQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJCWludCAqbnVtIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlyZXR1cm4gLTE7Cit9CisjZW5kaWYKKworaW50IF9fdXVpZF9nZW5lcmF0ZV90aW1lKHV1aWRfdCBvdXQsIGludCAqbnVtKQoreworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIG5vZGVfaWRbNl07CisJc3RhdGljIGludCBoYXNfaW5pdCA9IDA7CisJc3RydWN0IHV1aWQgdXU7CisJdWludDMyX3QJY2xvY2tfbWlkOworCWludCByZXQ7CisKKwlpZiAoIWhhc19pbml0KSB7CisJCWlmIChnZXRfbm9kZV9pZChub2RlX2lkKSA8PSAwKSB7CisJCQlyYW5kb21fZ2V0X2J5dGVzKG5vZGVfaWQsIDYpOworCQkJLyoKKwkJCSAqIFNldCBtdWx0aWNhc3QgYml0LCB0byBwcmV2ZW50IGNvbmZsaWN0cworCQkJICogd2l0aCBJRUVFIDgwMiBhZGRyZXNzZXMgb2J0YWluZWQgZnJvbQorCQkJICogbmV0d29yayBjYXJkcworCQkJICovCisJCQlub2RlX2lkWzBdIHw9IDB4MDE7CisJCX0KKwkJaGFzX2luaXQgPSAxOworCX0KKwlyZXQgPSBnZXRfY2xvY2soJmNsb2NrX21pZCwgJnV1LnRpbWVfbG93LCAmdXUuY2xvY2tfc2VxLCBudW0pOworCXV1LmNsb2NrX3NlcSB8PSAweDgwMDA7CisJdXUudGltZV9taWQgPSAodWludDE2X3QpIGNsb2NrX21pZDsKKwl1dS50aW1lX2hpX2FuZF92ZXJzaW9uID0gKChjbG9ja19taWQgPj4gMTYpICYgMHgwRkZGKSB8IDB4MTAwMDsKKwltZW1jcHkodXUubm9kZSwgbm9kZV9pZCwgNik7CisJdXVpZF9wYWNrKCZ1dSwgb3V0KTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogR2VuZXJhdGUgdGltZS1iYXNlZCBVVUlEIGFuZCBzdG9yZSBpdCB0byBAb3V0CisgKgorICogVHJpZXMgdG8gZ3VhcmFudGVlIHVuaXF1ZW5lc3Mgb2YgdGhlIGdlbmVyYXRlZCBVVUlEcyBieSBvYnRhaW5pbmcgdGhlbSBmcm9tIHRoZSB1dWlkZCBkYWVtb24sCisgKiBvciwgaWYgdXVpZGQgaXMgbm90IHVzYWJsZSwgYnkgdXNpbmcgdGhlIGdsb2JhbCBjbG9jayBzdGF0ZSBjb3VudGVyIChzZWUgZ2V0X2Nsb2NrKCkpLgorICogSWYgbmVpdGhlciBvZiB0aGVzZSBpcyBwb3NzaWJsZSAoZS5nLiBiZWNhdXNlIG9mIGluc3VmZmljaWVudCBwZXJtaXNzaW9ucyksIGl0IGdlbmVyYXRlcworICogdGhlIFVVSUQgYW55d2F5LCBidXQgcmV0dXJucyAtMS4gT3RoZXJ3aXNlLCByZXR1cm5zIDAuCisgKi8KK3N0YXRpYyBpbnQgdXVpZF9nZW5lcmF0ZV90aW1lX2dlbmVyaWModXVpZF90IG91dCkgeworI2lmZGVmIEhBVkVfVExTCisJVEhSRUFEX0xPQ0FMIGludAkJbnVtID0gMDsKKwlUSFJFQURfTE9DQUwgc3RydWN0IHV1aWQJdXU7CisJVEhSRUFEX0xPQ0FMIHRpbWVfdAkJbGFzdF90aW1lID0gMDsKKwl0aW1lX3QJCQkJbm93OworCisJaWYgKG51bSA+IDApIHsKKwkJbm93ID0gdGltZShOVUxMKTsKKwkJaWYgKG5vdyA+IGxhc3RfdGltZSsxKQorCQkJbnVtID0gMDsKKwl9CisJaWYgKG51bSA8PSAwKSB7CisJCW51bSA9IDEwMDA7CisJCWlmIChnZXRfdXVpZF92aWFfZGFlbW9uKFVVSUREX09QX0JVTEtfVElNRV9VVUlELAorCQkJCQlvdXQsICZudW0pID09IDApIHsKKwkJCWxhc3RfdGltZSA9IHRpbWUoTlVMTCk7CisJCQl1dWlkX3VucGFjayhvdXQsICZ1dSk7CisJCQludW0tLTsKKwkJCXJldHVybiAwOworCQl9CisJCW51bSA9IDA7CisJfQorCWlmIChudW0gPiAwKSB7CisJCXV1LnRpbWVfbG93Kys7CisJCWlmICh1dS50aW1lX2xvdyA9PSAwKSB7CisJCQl1dS50aW1lX21pZCsrOworCQkJaWYgKHV1LnRpbWVfbWlkID09IDApCisJCQkJdXUudGltZV9oaV9hbmRfdmVyc2lvbisrOworCQl9CisJCW51bS0tOworCQl1dWlkX3BhY2soJnV1LCBvdXQpOworCQlyZXR1cm4gMDsKKwl9CisjZWxzZQorCWlmIChnZXRfdXVpZF92aWFfZGFlbW9uKFVVSUREX09QX1RJTUVfVVVJRCwgb3V0LCAwKSA9PSAwKQorCQlyZXR1cm4gMDsKKyNlbmRpZgorCisJcmV0dXJuIF9fdXVpZF9nZW5lcmF0ZV90aW1lKG91dCwgTlVMTCk7Cit9CisKKy8qCisgKiBHZW5lcmF0ZSB0aW1lLWJhc2VkIFVVSUQgYW5kIHN0b3JlIGl0IHRvIEBvdXQuCisgKgorICogRGlzY2FyZHMgcmV0dXJuIHZhbHVlIGZyb20gdXVpZF9nZW5lcmF0ZV90aW1lX2dlbmVyaWMoKQorICovCit2b2lkIHV1aWRfZ2VuZXJhdGVfdGltZSh1dWlkX3Qgb3V0KQoreworCSh2b2lkKXV1aWRfZ2VuZXJhdGVfdGltZV9nZW5lcmljKG91dCk7Cit9CisKKworaW50IHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlKHV1aWRfdCBvdXQpCit7CisJcmV0dXJuIHV1aWRfZ2VuZXJhdGVfdGltZV9nZW5lcmljKG91dCk7Cit9CisKKwordm9pZCBfX3V1aWRfZ2VuZXJhdGVfcmFuZG9tKHV1aWRfdCBvdXQsIGludCAqbnVtKQoreworCXV1aWRfdAlidWY7CisJc3RydWN0IHV1aWQgdXU7CisJaW50IGksIG47CisKKwlpZiAoIW51bSB8fCAhKm51bSkKKwkJbiA9IDE7CisJZWxzZQorCQluID0gKm51bTsKKworCWZvciAoaSA9IDA7IGkgPCBuOyBpKyspIHsKKwkJcmFuZG9tX2dldF9ieXRlcyhidWYsIHNpemVvZihidWYpKTsKKwkJdXVpZF91bnBhY2soYnVmLCAmdXUpOworCisJCXV1LmNsb2NrX3NlcSA9ICh1dS5jbG9ja19zZXEgJiAweDNGRkYpIHwgMHg4MDAwOworCQl1dS50aW1lX2hpX2FuZF92ZXJzaW9uID0gKHV1LnRpbWVfaGlfYW5kX3ZlcnNpb24gJiAweDBGRkYpCisJCQl8IDB4NDAwMDsKKwkJdXVpZF9wYWNrKCZ1dSwgb3V0KTsKKwkJb3V0ICs9IHNpemVvZih1dWlkX3QpOworCX0KK30KKwordm9pZCB1dWlkX2dlbmVyYXRlX3JhbmRvbSh1dWlkX3Qgb3V0KQoreworCWludAludW0gPSAxOworCS8qIE5vIHJlYWwgcmVhc29uIHRvIHVzZSB0aGUgZGFlbW9uIGZvciByYW5kb20gdXVpZCdzIC0tIHlldCAqLworCisJX191dWlkX2dlbmVyYXRlX3JhbmRvbShvdXQsICZudW0pOworfQorCisvKgorICogQ2hlY2sgd2hldGhlciBnb29kIHJhbmRvbSBzb3VyY2UgKC9kZXYvcmFuZG9tIG9yIC9kZXYvdXJhbmRvbSkKKyAqIGlzIGF2YWlsYWJsZS4KKyAqLworc3RhdGljIGludCBoYXZlX3JhbmRvbV9zb3VyY2Uodm9pZCkKK3sKKwlyZXR1cm4gKGFjY2VzcygiL2Rldi9yYW5kb20iLCBSX09LKSA9PSAwIHx8CisJCWFjY2VzcygiL2Rldi91cmFuZG9tIiwgUl9PSykgPT0gMCk7Cit9CisKKworLyoKKyAqIFRoaXMgaXMgdGhlIGdlbmVyaWMgZnJvbnQtZW5kIHRvIHV1aWRfZ2VuZXJhdGVfcmFuZG9tIGFuZAorICogdXVpZF9nZW5lcmF0ZV90aW1lLiAgSXQgdXNlcyB1dWlkX2dlbmVyYXRlX3JhbmRvbSBvbmx5IGlmCisgKiAvZGV2L3VyYW5kb20gaXMgYXZhaWxhYmxlLCBzaW5jZSBvdGhlcndpc2Ugd2Ugd29uJ3QgaGF2ZQorICogaGlnaC1xdWFsaXR5IHJhbmRvbW5lc3MuCisgKi8KK3ZvaWQgdXVpZF9nZW5lcmF0ZSh1dWlkX3Qgb3V0KQoreworCWlmIChoYXZlX3JhbmRvbV9zb3VyY2UoKSkKKwkJdXVpZF9nZW5lcmF0ZV9yYW5kb20ob3V0KTsKKwllbHNlCisJCXV1aWRfZ2VuZXJhdGVfdGltZShvdXQpOworfQorCisvKgorICogR2VuZXJhdGUgYW4gTUQ1IGhhc2hlZCAocHJlZGljdGFibGUpIFVVSUQgYmFzZWQgb24gYSB3ZWxsLWtub3duIFVVSUQKKyAqIHByb3ZpZGluZyB0aGUgbmFtZXNwYWNlIGFuZCBhbiBhcmJpdHJhcnkgYmluYXJ5IHN0cmluZy4KKyAqLwordm9pZCB1dWlkX2dlbmVyYXRlX21kNSh1dWlkX3Qgb3V0LCBjb25zdCB1dWlkX3QgbnMsIGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBsZW4pCit7CisJVUxfTUQ1X0NUWCBjdHg7CisJY2hhciBoYXNoW1VMX01ENUxFTkdUSF07CisKKwl1bF9NRDVJbml0KCZjdHgpOworCS8qIGhhc2ggY29uY2F0ZW5hdGlvbiBvZiB3ZWxsLWtub3duIFVVSUQgd2l0aCBuYW1lICovCisJdWxfTUQ1VXBkYXRlKCZjdHgsIG5zLCBzaXplb2YodXVpZF90KSk7CisJdWxfTUQ1VXBkYXRlKCZjdHgsIChjb25zdCB1bnNpZ25lZCBjaGFyICopbmFtZSwgbGVuKTsKKworCXVsX01ENUZpbmFsKCh1bnNpZ25lZCBjaGFyICopaGFzaCwgJmN0eCk7CisKKwltZW1jcHkob3V0LCBoYXNoLCBzaXplb2YodXVpZF90KSk7CisKKwlvdXRbNl0gJj0gfihVVUlEX1RZUEVfTUFTSyA8PCBVVUlEX1RZUEVfU0hJRlQpOworCW91dFs2XSB8PSAoVVVJRF9UWVBFX0RDRV9NRDUgPDwgVVVJRF9UWVBFX1NISUZUKTsKKworCW91dFs4XSAmPSB+KFVVSURfVkFSSUFOVF9NQVNLIDw8IFVVSURfVkFSSUFOVF9TSElGVCk7CisJb3V0WzhdIHw9ICh2YXJpYW50X2JpdHNbVVVJRF9WQVJJQU5UX0RDRV0gPDwgVVVJRF9WQVJJQU5UX1NISUZUKTsKK30KKworLyoKKyAqIEdlbmVyYXRlIGEgU0hBMSBoYXNoZWQgKHByZWRpY3RhYmxlKSBVVUlEIGJhc2VkIG9uIGEgd2VsbC1rbm93biBVVUlECisgKiBwcm92aWRpbmcgdGhlIG5hbWVzcGFjZSBhbmQgYW4gYXJiaXRyYXJ5IGJpbmFyeSBzdHJpbmcuCisgKi8KK3ZvaWQgdXVpZF9nZW5lcmF0ZV9zaGExKHV1aWRfdCBvdXQsIGNvbnN0IHV1aWRfdCBucywgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IGxlbikKK3sKKwlVTF9TSEExX0NUWCBjdHg7CisJY2hhciBoYXNoW1VMX1NIQTFMRU5HVEhdOworCisJdWxfU0hBMUluaXQoJmN0eCk7CisJLyogaGFzaCBjb25jYXRlbmF0aW9uIG9mIHdlbGwta25vd24gVVVJRCB3aXRoIG5hbWUgKi8KKwl1bF9TSEExVXBkYXRlKCZjdHgsIG5zLCBzaXplb2YodXVpZF90KSk7CisJdWxfU0hBMVVwZGF0ZSgmY3R4LCAoY29uc3QgdW5zaWduZWQgY2hhciAqKW5hbWUsIGxlbik7CisKKwl1bF9TSEExRmluYWwoKHVuc2lnbmVkIGNoYXIgKiloYXNoLCAmY3R4KTsKKworCW1lbWNweShvdXQsIGhhc2gsIHNpemVvZih1dWlkX3QpKTsKKworCW91dFs2XSAmPSB+KFVVSURfVFlQRV9NQVNLIDw8IFVVSURfVFlQRV9TSElGVCk7CisJb3V0WzZdIHw9IChVVUlEX1RZUEVfRENFX1NIQTEgPDwgVVVJRF9UWVBFX1NISUZUKTsKKworCW91dFs4XSAmPSB+KFVVSURfVkFSSUFOVF9NQVNLIDw8IFVVSURfVkFSSUFOVF9TSElGVCk7CisJb3V0WzhdIHw9ICh2YXJpYW50X2JpdHNbVVVJRF9WQVJJQU5UX0RDRV0gPDwgVVVJRF9WQVJJQU5UX1NISUZUKTsKK30KKwpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvaXNudWxsLmMgYi9saWJ1dWlkL3NyYy9pc251bGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MzFlN2U3Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvaXNudWxsLmMKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIGlzbnVsbC5jIC0tLSBDaGVjayB3aGV0aGVyIG9yIG5vdCB0aGUgVVVJRCBpcyBudWxsCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgInV1aWRQLmgiCisKKy8qIFJldHVybnMgMSBpZiB0aGUgdXVpZCBpcyB0aGUgTlVMTCB1dWlkICovCitpbnQgdXVpZF9pc19udWxsKGNvbnN0IHV1aWRfdCB1dSkKK3sKKwljb25zdCB1bnNpZ25lZCBjaGFyIAkqY3A7CisJaW50CQkJaTsKKworCWZvciAoaT0wLCBjcCA9IHV1OyBpIDwgMTY7IGkrKykKKwkJaWYgKCpjcCsrKQorCQkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL2xpYnV1aWQuc3ltIGIvbGlidXVpZC9zcmMvbGlidXVpZC5zeW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWUzZTgwMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL2xpYnV1aWQuc3ltCkBAIC0wLDAgKzEsNTcgQEAKKy8qCisgKiBUaGUgc3ltYm9sIHZlcnNpb25pbmcgZW5zdXJlcyB0aGF0IGEgbmV3IGFwcGxpY2F0aW9uIHJlcXVpcmluZyBzeW1ib2wgJ2ZvbycKKyAqIGNhbid0IHJ1biB3aXRoIG9sZCBsaWJicmFyeS5zbyBub3QgcHJvdmlkaW5nICdmb28nIC0gdGhlIGdsb2JhbCBTT05BTUUKKyAqIHZlcnNpb24gaW5mbyBjYW4ndCBlbmZvcmNlIHRoaXMgc2luY2Ugd2UgbmV2ZXIgY2hhbmdlIHRoZSBTT05BTUUuCisgKgorICogVGhlIG9yaWdpbmFsIGxpYnV1aWQgZnJvbSBlMmZzcHJvZ3MgKDw9MS40MS41KSBkb2VzIG5vdCB0byB1c2UKKyAqIHN5bWJvbCB2ZXJzaW9uaW5nIC0tIGFsbCB0aGUgb3JpZ2luYWwgc3ltYm9scyBhcmUgaW4gVVVJRF8xLjAgbm93LgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMS0yMDE3IEthcmVpbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworVVVJRF8xLjAgeworZ2xvYmFsOgorCXV1aWRfY2xlYXI7CisJdXVpZF9jb21wYXJlOworCXV1aWRfY29weTsKKwl1dWlkX2dlbmVyYXRlOworCXV1aWRfZ2VuZXJhdGVfcmFuZG9tOworCXV1aWRfZ2VuZXJhdGVfdGltZTsKKwl1dWlkX2lzX251bGw7CisJdXVpZF9wYXJzZTsKKwl1dWlkX3VucGFyc2U7CisJdXVpZF91bnBhcnNlX2xvd2VyOworCXV1aWRfdW5wYXJzZV91cHBlcjsKKwl1dWlkX3RpbWU7CisJdXVpZF90eXBlOworCXV1aWRfdmFyaWFudDsKK307CisKKy8qCisgKiB2ZXJzaW9uKHMpIHNpbmNlIHV0aWwtbGludXggMi4yMAorICovCitVVUlEXzIuMjAgeworZ2xvYmFsOgorCXV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlOworfSBVVUlEXzEuMDsKKworLyoKKyAqIHZlcnNpb24ocykgc2luY2UgdXRpbC1saW51eC4yLjMxCisgKi8KK1VVSURfMi4zMSB7CitnbG9iYWw6CisJdXVpZF9nZW5lcmF0ZV9tZDU7CisJdXVpZF9nZW5lcmF0ZV9zaGExOworCXV1aWRfZ2V0X3RlbXBsYXRlOworfSBVVUlEXzIuMjA7CisKKy8qCisgKiBfX3V1aWRfKiB0aGlzIGlzIG5vdCBwYXJ0IG9mIHRoZSBvZmZpY2lhbCBBUEksIHRoaXMgaXMKKyAqIHV1aWRkICh1dWlkIGRhZW1vbikgc3BlY2lmaWMgc3R1ZmYuIEhlbGwuCisgKi8KK1VVSUREX1BSSVZBVEUgeworZ2xvYmFsOgorCV9fdXVpZF9nZW5lcmF0ZV90aW1lOworCV9fdXVpZF9nZW5lcmF0ZV9yYW5kb207Citsb2NhbDoKKwkqOworfTsKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL3BhY2suYyBiL2xpYnV1aWQvc3JjL3BhY2suYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTEyNDc2Ci0tLSAvZGV2L251bGwKKysrIGIvbGlidXVpZC9zcmMvcGFjay5jCkBAIC0wLDAgKzEsNjkgQEAKKy8qCisgKiBJbnRlcm5hbCByb3V0aW5lIGZvciBwYWNraW5nIFVVSURzCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgInV1aWRQLmgiCisKK3ZvaWQgdXVpZF9wYWNrKGNvbnN0IHN0cnVjdCB1dWlkICp1dSwgdXVpZF90IHB0cikKK3sKKwl1aW50MzJfdAl0bXA7CisJdW5zaWduZWQgY2hhcgkqb3V0ID0gcHRyOworCisJdG1wID0gdXUtPnRpbWVfbG93OworCW91dFszXSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFsyXSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFsxXSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFswXSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisKKwl0bXAgPSB1dS0+dGltZV9taWQ7CisJb3V0WzVdID0gKHVuc2lnbmVkIGNoYXIpIHRtcDsKKwl0bXAgPj49IDg7CisJb3V0WzRdID0gKHVuc2lnbmVkIGNoYXIpIHRtcDsKKworCXRtcCA9IHV1LT50aW1lX2hpX2FuZF92ZXJzaW9uOworCW91dFs3XSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFs2XSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisKKwl0bXAgPSB1dS0+Y2xvY2tfc2VxOworCW91dFs5XSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisJdG1wID4+PSA4OworCW91dFs4XSA9ICh1bnNpZ25lZCBjaGFyKSB0bXA7CisKKwltZW1jcHkob3V0KzEwLCB1dS0+bm9kZSwgNik7Cit9CisKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL3BhcnNlLmMgYi9saWJ1dWlkL3NyYy9wYXJzZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NDM4M2UKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL3NyYy9wYXJzZS5jCkBAIC0wLDAgKzEsNzkgQEAKKy8qCisgKiBwYXJzZS5jIC0tLSBVVUlEIHBhcnNpbmcKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTYsIDE5OTcgVGhlb2RvcmUgVHMnby4KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAidXVpZFAuaCIKKworaW50IHV1aWRfcGFyc2UoY29uc3QgY2hhciAqaW4sIHV1aWRfdCB1dSkKK3sKKwlzdHJ1Y3QgdXVpZAl1dWlkOworCWludCAJCWk7CisJY29uc3QgY2hhcgkqY3A7CisJY2hhcgkJYnVmWzNdOworCisJaWYgKHN0cmxlbihpbikgIT0gMzYpCisJCXJldHVybiAtMTsKKwlmb3IgKGk9MCwgY3AgPSBpbjsgaSA8PSAzNjsgaSsrLGNwKyspIHsKKwkJaWYgKChpID09IDgpIHx8IChpID09IDEzKSB8fCAoaSA9PSAxOCkgfHwKKwkJICAgIChpID09IDIzKSkgeworCQkJaWYgKCpjcCA9PSAnLScpCisJCQkJY29udGludWU7CisJCQllbHNlCisJCQkJcmV0dXJuIC0xOworCQl9CisJCWlmIChpPT0gMzYpCisJCQlpZiAoKmNwID09IDApCisJCQkJY29udGludWU7CisJCWlmICghaXN4ZGlnaXQoKmNwKSkKKwkJCXJldHVybiAtMTsKKwl9CisJdXVpZC50aW1lX2xvdyA9IHN0cnRvdWwoaW4sIE5VTEwsIDE2KTsKKwl1dWlkLnRpbWVfbWlkID0gc3RydG91bChpbis5LCBOVUxMLCAxNik7CisJdXVpZC50aW1lX2hpX2FuZF92ZXJzaW9uID0gc3RydG91bChpbisxNCwgTlVMTCwgMTYpOworCXV1aWQuY2xvY2tfc2VxID0gc3RydG91bChpbisxOSwgTlVMTCwgMTYpOworCWNwID0gaW4rMjQ7CisJYnVmWzJdID0gMDsKKwlmb3IgKGk9MDsgaSA8IDY7IGkrKykgeworCQlidWZbMF0gPSAqY3ArKzsKKwkJYnVmWzFdID0gKmNwKys7CisJCXV1aWQubm9kZVtpXSA9IHN0cnRvdWwoYnVmLCBOVUxMLCAxNik7CisJfQorCisJdXVpZF9wYWNrKCZ1dWlkLCB1dSk7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy9wcmVkZWZpbmVkLmMgYi9saWJ1dWlkL3NyYy9wcmVkZWZpbmVkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGJlOTBjYQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL3ByZWRlZmluZWQuYwpAQCAtMCwwICsxLDgwIEBACisvKgorICogcHJlZGVmaW5lZC5jIC0tLSB3ZWxsLWtub3duIFVVSURzIGZyb20gdGhlIFJGQy00MTIyIG5hbWVzcGFjZQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBQaGlsaXAgUHJpbmRldmlsbGUKKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKiAlRW5kLUhlYWRlciUKKyAqLworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAidXVpZC5oIgorCisvKgorICogVGhlc2UgYXJlIHRpbWUtYmFzZWQgVVVJRHMgdGhhdCBhcmUgd2VsbC1rbm93biBpbiB0aGF0IHRoZXkndmUKKyAqIGJlZW4gY2Fub25pemVkIGFzIHBhcnQgb2YgUkZDLTQxMjIsIEFwcGVuZGV4IEMuICBUaGV5IGFyZSB0bworICogYmUgdXNlZCBhcyB0aGUgbmFtZXNwYWNlIChucykgYXJndW1lbnQgdG8gdGhlIHV1aWRfZ2VuZXJhdGVfbWQ1KCkKKyAqIGFuZCB1dWlkX2dlbmVyYXRlX3NoYTEoKSBmdW5jdGlvbnMuCisgKgorICogU2VlIFNlY3Rpb24gNC4zIGZvciB0aGUgcGFydGljdWxhcnMgb2YgaG93IG5hbWVzcGFjZSBVVUlEcworICogYXJlIGNvbWJpbmVkIHdpdGggc2VlZCB2YWx1ZXMgdG8gZ2VuZXJhdGUgbmV3IFVVSURzLgorICovCisKK1VVSURfREVGSU5FKE5hbWVTcGFjZV9ETlMsCisJMHg2YiwgMHhhNywgMHhiOCwgMHgxMCwgMHg5ZCwgMHhhZCwgMHgxMSwgMHhkMSwKKwkweDgwLCAweGI0LCAweDAwLCAweGMwLCAweDRmLCAweGQ0LCAweDMwLCAweGM4KTsKKworVVVJRF9ERUZJTkUoTmFtZVNwYWNlX1VSTCwKKwkweDZiLCAweGE3LCAweGI4LCAweDExLCAweDlkLCAweGFkLCAweDExLCAweGQxLAorCTB4ODAsIDB4YjQsIDB4MDAsIDB4YzAsIDB4NGYsIDB4ZDQsIDB4MzAsIDB4YzgpOworCitVVUlEX0RFRklORShOYW1lU3BhY2VfT0lELAorCTB4NmIsIDB4YTcsIDB4YjgsIDB4MTIsIDB4OWQsIDB4YWQsIDB4MTEsIDB4ZDEsCisJMHg4MCwgMHhiNCwgMHgwMCwgMHhjMCwgMHg0ZiwgMHhkNCwgMHgzMCwgMHhjOCk7CisKK1VVSURfREVGSU5FKE5hbWVTcGFjZV9YNTAwLAorCTB4NmIsIDB4YTcsIDB4YjgsIDB4MTQsIDB4OWQsIDB4YWQsIDB4MTEsIDB4ZDEsCisJMHg4MCwgMHhiNCwgMHgwMCwgMHhjMCwgMHg0ZiwgMHhkNCwgMHgzMCwgMHhjOCk7CisKK2NvbnN0IHV1aWRfdCAqdXVpZF9nZXRfdGVtcGxhdGUoY29uc3QgY2hhciAqYWxpYXMpCit7CisJaWYgKCFhbGlhcyB8fCAhKmFsaWFzKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghc3RyY21wKGFsaWFzLCAiZG5zIikpCisJCXJldHVybiAmTmFtZVNwYWNlX0ROUzsKKwllbHNlIGlmICghc3RyY21wKGFsaWFzLCAidXJsIikpCisJCXJldHVybiAmTmFtZVNwYWNlX1VSTDsKKwllbHNlIGlmICghc3RyY21wKGFsaWFzLCAib2lkIikpCisJCXJldHVybiAmTmFtZVNwYWNlX09JRDsKKwllbHNlIGlmICghc3RyY21wKGFsaWFzLCAieDUwMCIpIHx8ICFzdHJjbXAoYWxpYXMsICJ4LjUwMCIpKQorCQlyZXR1cm4gJk5hbWVTcGFjZV9YNTAwOworCWVsc2UKKwkJcmV0dXJuIE5VTEw7Cit9CisKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL3Rlc3RfdXVpZC5jIGIvbGlidXVpZC9zcmMvdGVzdF91dWlkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDAwZDZkOAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL3Rlc3RfdXVpZC5jCkBAIC0wLDAgKzEsMTIwIEBACisvKgorICogdHN0X3V1aWQuYyAtLS0gdGVzdCBwcm9ncmFtIGZyb20gdGhlIFVVSUQgbGlicmFyeQorICoKKyAqIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NywgMTk5OCBUaGVvZG9yZSBUcydvLgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKyAqICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKyAqICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKyAqICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorICogV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKyAqIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorICogQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorICogVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERBTUFHRS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpZmRlZiBfV0lOMzIKKyNkZWZpbmUgX1dJTjMyX1dJTk5UIDB4MDUwMAorI2luY2x1ZGUgPHdpbmRvd3MuaD4KKyNkZWZpbmUgVVVJRCBNWVVVSUQKKyNlbmRpZgorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ1dWlkLmgiCisKK3N0YXRpYyBpbnQgdGVzdF91dWlkKGNvbnN0IGNoYXIgKiB1dWlkLCBpbnQgaXNWYWxpZCkKK3sKKwlzdGF0aWMgY29uc3QgY2hhciAqIHZhbGlkU3RyWzJdID0geyJpbnZhbGlkIiwgInZhbGlkIn07CisJdXVpZF90IHV1aWRCaXRzOworCWludCBwYXJzZWRPazsKKworCXBhcnNlZE9rID0gdXVpZF9wYXJzZSh1dWlkLCB1dWlkQml0cykgPT0gMDsKKworCXByaW50ZigiJXMgaXMgJXMiLCB1dWlkLCB2YWxpZFN0cltpc1ZhbGlkXSk7CisJaWYgKHBhcnNlZE9rICE9IGlzVmFsaWQpIHsKKwkJcHJpbnRmKCIgYnV0IHV1aWRfcGFyc2Ugc2F5cyAlc1xuIiwgdmFsaWRTdHJbcGFyc2VkT2tdKTsKKwkJcmV0dXJuIDE7CisJfQorCXByaW50ZigiLCBPS1xuIik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY2hlY2tfdXVpZHNfaW5fZmlsZShjb25zdCBjaGFyICpmaWxlKQoreworCWludCBmZCwgcmV0ID0gMDsKKwlzaXplX3Qgc3o7CisJY2hhciBzdHJbVVVJRF9TVFJfTEVOXTsKKwl1dWlkX3QgdXVpZEJpdHM7CisKKwlpZiAoKGZkID0gb3BlbihmaWxlLCBPX1JET05MWSkpIDwgMCkgeworCQl3YXJuKCIlcyIsIGZpbGUpOworCQlyZXR1cm4gMTsKKwl9CisJd2hpbGUgKChzeiA9IHJlYWQoZmQsIHN0ciwgc2l6ZW9mKHN0cikpKSAhPSAwKSB7CisJCWlmIChpc3NwYWNlKHN0cltzaXplb2Yoc3RyKSAtIDFdKSkKKwkJCXN0cltzaXplb2Yoc3RyKSAtIDFdID0gJ1wwJzsKKwkJaWYgKHV1aWRfcGFyc2Uoc3RyLCB1dWlkQml0cykpIHsKKwkJCXdhcm54KCIlczogJXMiLCBmaWxlLCBzdHIpOworCQkJcmV0Kys7CisJCX0KKwl9CisJcmV0dXJuIHJldDsKK30KKworaW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgZmFpbGVkID0gMDsKKworCWlmIChhcmdjIDwgMikgeworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCI4NDk0OWNjNS00NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MWIiLCAxKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiODQ5NDlDQzUtNDcwMS00QTg0LTg5NUItMzU0QzU4NEE5ODFCIiwgMSk7CisJCWZhaWxlZCArPSB0ZXN0X3V1aWQoIjg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYmMiLCAwKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiODQ5NDljYzUtNDcwMS00YTg0LTg5NWItMzU0YzU4NGE5ODEiLCAwKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiODQ5NDljYzV4NDcwMS00YTg0LTg5NWItMzU0YzU4NGE5ODFiIiwgMCk7CisJCWZhaWxlZCArPSB0ZXN0X3V1aWQoIjg0OTQ5Y2M1MDQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYiIsIDApOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCI4NDk0OWNjNS00NzAxMDRhODQtODk1Yi0zNTRjNTg0YTk4MWIiLCAwKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiODQ5NDljYzUtNDcwMS00YTg0MDg5NWItMzU0YzU4NGE5ODFiIiwgMCk7CisJCWZhaWxlZCArPSB0ZXN0X3V1aWQoIjg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViMDM1NGM1ODRhOTgxYiIsIDApOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCJnNDk0OWNjNS00NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MWIiLCAwKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiODQ5NDljYzUtNDcwMS00YTg0LTg5NWItMzU0YzU4NGE5ODFnIiwgMCk7CisJCWZhaWxlZCArPSB0ZXN0X3V1aWQoIjAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCIsIDEpOworCQlmYWlsZWQgKz0gdGVzdF91dWlkKCIwMTIzNDU2Ny04OWFiLWNkZWYtMDEzNC01Njc4OTBhYmNlZGYiLCAxKTsKKwkJZmFpbGVkICs9IHRlc3RfdXVpZCgiZmZmZmZmZmYtZmZmZi1mZmZmLWZmZmYtZmZmZmZmZmZmZmZmIiwgMSk7CisJfSBlbHNlIHsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMTsgaSA8IGFyZ2M7IGkrKykKKwkJCWZhaWxlZCArPSBjaGVja191dWlkc19pbl9maWxlKGFyZ3ZbaV0pOworCX0KKwlpZiAoZmFpbGVkKSB7CisJCXByaW50ZigiJWQgZmFpbHVyZXMuXG4iLCBmYWlsZWQpOworCQlleGl0KDEpOworCX0KKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL3VucGFjay5jIGIvbGlidXVpZC9zcmMvdW5wYWNrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmVhYWZmMwotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL3VucGFjay5jCkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBJbnRlcm5hbCByb3V0aW5lIGZvciB1bnBhY2tpbmcgVVVJRAorICoKKyAqIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NyBUaGVvZG9yZSBUcydvLgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKyAqICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKyAqICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKyAqICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorICogV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKyAqIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorICogQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorICogVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERBTUFHRS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlICJ1dWlkUC5oIgorCit2b2lkIHV1aWRfdW5wYWNrKGNvbnN0IHV1aWRfdCBpbiwgc3RydWN0IHV1aWQgKnV1KQoreworCWNvbnN0IHVpbnQ4X3QJKnB0ciA9IGluOworCXVpbnQzMl90CQl0bXA7CisKKwl0bXAgPSAqcHRyKys7CisJdG1wID0gKHRtcCA8PCA4KSB8ICpwdHIrKzsKKwl0bXAgPSAodG1wIDw8IDgpIHwgKnB0cisrOworCXRtcCA9ICh0bXAgPDwgOCkgfCAqcHRyKys7CisJdXUtPnRpbWVfbG93ID0gdG1wOworCisJdG1wID0gKnB0cisrOworCXRtcCA9ICh0bXAgPDwgOCkgfCAqcHRyKys7CisJdXUtPnRpbWVfbWlkID0gdG1wOworCisJdG1wID0gKnB0cisrOworCXRtcCA9ICh0bXAgPDwgOCkgfCAqcHRyKys7CisJdXUtPnRpbWVfaGlfYW5kX3ZlcnNpb24gPSB0bXA7CisKKwl0bXAgPSAqcHRyKys7CisJdG1wID0gKHRtcCA8PCA4KSB8ICpwdHIrKzsKKwl1dS0+Y2xvY2tfc2VxID0gdG1wOworCisJbWVtY3B5KHV1LT5ub2RlLCBwdHIsIDYpOworfQorCmRpZmYgLS1naXQgYS9saWJ1dWlkL3NyYy91bnBhcnNlLmMgYi9saWJ1dWlkL3NyYy91bnBhcnNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTk1YmJiMAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL3VucGFyc2UuYwpAQCAtMCwwICsxLDc2IEBACisvKgorICogdW5wYXJzZS5jIC0tIGNvbnZlcnQgYSBVVUlEIHRvIHN0cmluZworICoKKyAqIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NyBUaGVvZG9yZSBUcydvLgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKyAqICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKyAqICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKyAqICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorICogV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKyAqIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorICogQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorICogVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERBTUFHRS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaW5jbHVkZSAidXVpZFAuaCIKKworc3RhdGljIGNvbnN0IGNoYXIgKmZtdF9sb3dlciA9CisJIiUwOHgtJTA0eC0lMDR4LSUwMnglMDJ4LSUwMnglMDJ4JTAyeCUwMnglMDJ4JTAyeCI7CisKK3N0YXRpYyBjb25zdCBjaGFyICpmbXRfdXBwZXIgPQorCSIlMDhYLSUwNFgtJTA0WC0lMDJYJTAyWC0lMDJYJTAyWCUwMlglMDJYJTAyWCUwMlgiOworCisjaWZkZWYgVVVJRF9VTlBBUlNFX0RFRkFVTFRfVVBQRVIKKyNkZWZpbmUgRk1UX0RFRkFVTFQgZm10X3VwcGVyCisjZWxzZQorI2RlZmluZSBGTVRfREVGQVVMVCBmbXRfbG93ZXIKKyNlbmRpZgorCitzdGF0aWMgdm9pZCB1dWlkX3VucGFyc2VfeChjb25zdCB1dWlkX3QgdXUsIGNoYXIgKm91dCwgY29uc3QgY2hhciAqZm10KQoreworCXN0cnVjdCB1dWlkIHV1aWQ7CisKKwl1dWlkX3VucGFjayh1dSwgJnV1aWQpOworCXNwcmludGYob3V0LCBmbXQsCisJCXV1aWQudGltZV9sb3csIHV1aWQudGltZV9taWQsIHV1aWQudGltZV9oaV9hbmRfdmVyc2lvbiwKKwkJdXVpZC5jbG9ja19zZXEgPj4gOCwgdXVpZC5jbG9ja19zZXEgJiAweEZGLAorCQl1dWlkLm5vZGVbMF0sIHV1aWQubm9kZVsxXSwgdXVpZC5ub2RlWzJdLAorCQl1dWlkLm5vZGVbM10sIHV1aWQubm9kZVs0XSwgdXVpZC5ub2RlWzVdKTsKK30KKwordm9pZCB1dWlkX3VucGFyc2VfbG93ZXIoY29uc3QgdXVpZF90IHV1LCBjaGFyICpvdXQpCit7CisJdXVpZF91bnBhcnNlX3godXUsIG91dCwJZm10X2xvd2VyKTsKK30KKwordm9pZCB1dWlkX3VucGFyc2VfdXBwZXIoY29uc3QgdXVpZF90IHV1LCBjaGFyICpvdXQpCit7CisJdXVpZF91bnBhcnNlX3godXUsIG91dCwJZm10X3VwcGVyKTsKK30KKwordm9pZCB1dWlkX3VucGFyc2UoY29uc3QgdXVpZF90IHV1LCBjaGFyICpvdXQpCit7CisJdXVpZF91bnBhcnNlX3godXUsIG91dCwgRk1UX0RFRkFVTFQpOworfQpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvdXVpZC5oIGIvbGlidXVpZC9zcmMvdXVpZC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzYzIzMmMKLS0tIC9kZXYvbnVsbAorKysgYi9saWJ1dWlkL3NyYy91dWlkLmgKQEAgLTAsMCArMSwxMjEgQEAKKy8qCisgKiBQdWJsaWMgaW5jbHVkZSBmaWxlIGZvciB0aGUgVVVJRCBsaWJyYXJ5CisgKgorICogQ29weXJpZ2h0IChDKSAxOTk2LCAxOTk3LCAxOTk4IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2lmbmRlZiBfVVVJRF9VVUlEX0gKKyNkZWZpbmUgX1VVSURfVVVJRF9ICisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpZm5kZWYgX1dJTjMyCisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHRpbWUuaD4KKwordHlwZWRlZiB1bnNpZ25lZCBjaGFyIHV1aWRfdFsxNl07CisKKy8qIFVVSUQgVmFyaWFudCBkZWZpbml0aW9ucyAqLworI2RlZmluZSBVVUlEX1ZBUklBTlRfTkNTCTAKKyNkZWZpbmUgVVVJRF9WQVJJQU5UX0RDRQkxCisjZGVmaW5lIFVVSURfVkFSSUFOVF9NSUNST1NPRlQJMgorI2RlZmluZSBVVUlEX1ZBUklBTlRfT1RIRVIJMworCisjZGVmaW5lIFVVSURfVkFSSUFOVF9TSElGVAk1CisjZGVmaW5lIFVVSURfVkFSSUFOVF9NQVNLICAgICAweDcKKworLyogVVVJRCBUeXBlIGRlZmluaXRpb25zICovCisjZGVmaW5lIFVVSURfVFlQRV9EQ0VfVElNRSAgIDEKKyNkZWZpbmUgVVVJRF9UWVBFX0RDRV9TRUNVUklUWSAyCisjZGVmaW5lIFVVSURfVFlQRV9EQ0VfTUQ1ICAgIDMKKyNkZWZpbmUgVVVJRF9UWVBFX0RDRV9SQU5ET00gNAorI2RlZmluZSBVVUlEX1RZUEVfRENFX1NIQTEgICA1CisKKyNkZWZpbmUgVVVJRF9UWVBFX1NISUZUICAgICAgNAorI2RlZmluZSBVVUlEX1RZUEVfTUFTSyAgICAgMHhmCisKKyNkZWZpbmUgVVVJRF9TVFJfTEVOCTM3CisKKy8qIEFsbG93IFVVSUQgY29uc3RhbnRzIHRvIGJlIGRlZmluZWQgKi8KKyNpZmRlZiBfX0dOVUNfXworI2RlZmluZSBVVUlEX0RFRklORShuYW1lLHUwLHUxLHUyLHUzLHU0LHU1LHU2LHU3LHU4LHU5LHUxMCx1MTEsdTEyLHUxMyx1MTQsdTE1KSBcCisJc3RhdGljIGNvbnN0IHV1aWRfdCBuYW1lIF9fYXR0cmlidXRlX18gKCh1bnVzZWQpKSA9IHt1MCx1MSx1Mix1Myx1NCx1NSx1Nix1Nyx1OCx1OSx1MTAsdTExLHUxMix1MTMsdTE0LHUxNX0KKyNlbHNlCisjZGVmaW5lIFVVSURfREVGSU5FKG5hbWUsdTAsdTEsdTIsdTMsdTQsdTUsdTYsdTcsdTgsdTksdTEwLHUxMSx1MTIsdTEzLHUxNCx1MTUpIFwKKwlzdGF0aWMgY29uc3QgdXVpZF90IG5hbWUgPSB7dTAsdTEsdTIsdTMsdTQsdTUsdTYsdTcsdTgsdTksdTEwLHUxMSx1MTIsdTEzLHUxNCx1MTV9CisjZW5kaWYKKworI2lmZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCisvKiBjbGVhci5jICovCitleHRlcm4gdm9pZCB1dWlkX2NsZWFyKHV1aWRfdCB1dSk7CisKKy8qIGNvbXBhcmUuYyAqLworZXh0ZXJuIGludCB1dWlkX2NvbXBhcmUoY29uc3QgdXVpZF90IHV1MSwgY29uc3QgdXVpZF90IHV1Mik7CisKKy8qIGNvcHkuYyAqLworZXh0ZXJuIHZvaWQgdXVpZF9jb3B5KHV1aWRfdCBkc3QsIGNvbnN0IHV1aWRfdCBzcmMpOworCisvKiBnZW5fdXVpZC5jICovCitleHRlcm4gdm9pZCB1dWlkX2dlbmVyYXRlKHV1aWRfdCBvdXQpOworZXh0ZXJuIHZvaWQgdXVpZF9nZW5lcmF0ZV9yYW5kb20odXVpZF90IG91dCk7CitleHRlcm4gdm9pZCB1dWlkX2dlbmVyYXRlX3RpbWUodXVpZF90IG91dCk7CitleHRlcm4gaW50IHV1aWRfZ2VuZXJhdGVfdGltZV9zYWZlKHV1aWRfdCBvdXQpOworCitleHRlcm4gdm9pZCB1dWlkX2dlbmVyYXRlX21kNSh1dWlkX3Qgb3V0LCBjb25zdCB1dWlkX3QgbnMsIGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBsZW4pOworZXh0ZXJuIHZvaWQgdXVpZF9nZW5lcmF0ZV9zaGExKHV1aWRfdCBvdXQsIGNvbnN0IHV1aWRfdCBucywgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IGxlbik7CisKKy8qIGlzbnVsbC5jICovCitleHRlcm4gaW50IHV1aWRfaXNfbnVsbChjb25zdCB1dWlkX3QgdXUpOworCisvKiBwYXJzZS5jICovCitleHRlcm4gaW50IHV1aWRfcGFyc2UoY29uc3QgY2hhciAqaW4sIHV1aWRfdCB1dSk7CisKKy8qIHVucGFyc2UuYyAqLworZXh0ZXJuIHZvaWQgdXVpZF91bnBhcnNlKGNvbnN0IHV1aWRfdCB1dSwgY2hhciAqb3V0KTsKK2V4dGVybiB2b2lkIHV1aWRfdW5wYXJzZV9sb3dlcihjb25zdCB1dWlkX3QgdXUsIGNoYXIgKm91dCk7CitleHRlcm4gdm9pZCB1dWlkX3VucGFyc2VfdXBwZXIoY29uc3QgdXVpZF90IHV1LCBjaGFyICpvdXQpOworCisvKiB1dWlkX3RpbWUuYyAqLworZXh0ZXJuIHRpbWVfdCB1dWlkX3RpbWUoY29uc3QgdXVpZF90IHV1LCBzdHJ1Y3QgdGltZXZhbCAqcmV0X3R2KTsKK2V4dGVybiBpbnQgdXVpZF90eXBlKGNvbnN0IHV1aWRfdCB1dSk7CitleHRlcm4gaW50IHV1aWRfdmFyaWFudChjb25zdCB1dWlkX3QgdXUpOworCisvKiBwcmVkZWZpbmVkLmMgKi8KK2V4dGVybiBjb25zdCB1dWlkX3QgKnV1aWRfZ2V0X3RlbXBsYXRlKGNvbnN0IGNoYXIgKmFsaWFzKTsKKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8qIF9VVUlEX1VVSURfSCAqLwpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvdXVpZFAuaCBiL2xpYnV1aWQvc3JjL3V1aWRQLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODZhNWUyNgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL3V1aWRQLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIHV1aWQuaCAtLSBwcml2YXRlIGhlYWRlciBmaWxlIGZvciB1dWlkcworICoKKyAqIENvcHlyaWdodCAoQykgMTk5NiwgMTk5NyBUaGVvZG9yZSBUcydvLgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKyAqICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKyAqICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKyAqICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorICogV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKyAqIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorICogQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorICogVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERBTUFHRS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjaW5jbHVkZSAidXVpZC5oIgorCisjZGVmaW5lIExJQlVVSURfQ0xPQ0tfRklMRQkiL3Zhci9saWIvbGlidXVpZC9jbG9jay50eHQiCisKKy8qCisgKiBPZmZzZXQgYmV0d2VlbiAxNS1PY3QtMTU4MiBhbmQgMS1KYW4tNzAKKyAqLworI2RlZmluZSBUSU1FX09GRlNFVF9ISUdIIDB4MDFCMjFERDIKKyNkZWZpbmUgVElNRV9PRkZTRVRfTE9XICAweDEzODE0MDAwCisKK3N0cnVjdCB1dWlkIHsKKwl1aW50MzJfdAl0aW1lX2xvdzsKKwl1aW50MTZfdAl0aW1lX21pZDsKKwl1aW50MTZfdAl0aW1lX2hpX2FuZF92ZXJzaW9uOworCXVpbnQxNl90CWNsb2NrX3NlcTsKKwl1aW50OF90CW5vZGVbNl07Cit9OworCisKKy8qCisgKiBwcm90b3R5cGVzCisgKi8KK3ZvaWQgdXVpZF9wYWNrKGNvbnN0IHN0cnVjdCB1dWlkICp1dSwgdXVpZF90IHB0cik7Cit2b2lkIHV1aWRfdW5wYWNrKGNvbnN0IHV1aWRfdCBpbiwgc3RydWN0IHV1aWQgKnV1KTsKZGlmZiAtLWdpdCBhL2xpYnV1aWQvc3JjL3V1aWRfdGltZS5jIGIvbGlidXVpZC9zcmMvdXVpZF90aW1lLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjk5MWVjZAotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL3V1aWRfdGltZS5jCkBAIC0wLDAgKzEsMTcxIEBACisvKgorICogdXVpZF90aW1lLmMgLS0tIEludGVycHJldCB0aGUgdGltZSBmaWVsZCBmcm9tIGEgdXVpZC4gIFRoaXMgcHJvZ3JhbQorICogCXZpb2xhdGVzIHRoZSBVVUlEIGFic3RyYWN0aW9uIGJhcnJpZXIgYnkgcmVhY2hpbmcgaW50byB0aGUgZ3V0cworICoJb2YgYSBVVUlEIGFuZCBpbnRlcnByZXRpbmcgaXQuCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk4LCAxOTk5IFRoZW9kb3JlIFRzJ28uCisgKgorICogJUJlZ2luLUhlYWRlciUKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgYW5kIHRoZSBlbnRpcmUgcGVybWlzc2lvbiBub3RpY2UgaW4gaXRzIGVudGlyZXR5LAorICogICAgaW5jbHVkaW5nIHRoZSBkaXNjbGFpbWVyIG9mIHdhcnJhbnRpZXMuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFRoZSBuYW1lIG9mIHRoZSBhdXRob3IgbWF5IG5vdCBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZQorICogICAgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvcgorICogICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVECisgKiBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUworICogT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSwgQUxMIE9GCisgKiBXSElDSCBBUkUgSEVSRUJZIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SIEJFCisgKiBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVAorICogT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SCisgKiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFCisgKiBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBOT1QgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSAorICogREFNQUdFLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2lmZGVmIF9XSU4zMgorI2RlZmluZSBfV0lOMzJfV0lOTlQgMHgwNTAwCisjaW5jbHVkZSA8d2luZG93cy5oPgorI2RlZmluZSBVVUlEIE1ZVVVJRAorI2VuZGlmCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2lmZGVmIEhBVkVfVU5JU1REX0gKKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNlbmRpZgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2lmZGVmIEhBVkVfU1lTX1RJTUVfSAorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjZW5kaWYKKyNpbmNsdWRlIDx0aW1lLmg+CisKKyNpbmNsdWRlICJ1dWlkUC5oIgorCit0aW1lX3QgdXVpZF90aW1lKGNvbnN0IHV1aWRfdCB1dSwgc3RydWN0IHRpbWV2YWwgKnJldF90dikKK3sKKwlzdHJ1Y3QgdGltZXZhbAkJdHY7CisJc3RydWN0IHV1aWQJCXV1aWQ7CisJdWludDMyX3QJCWhpZ2g7CisJdWludDY0X3QJCWNsb2NrX3JlZzsKKworCXV1aWRfdW5wYWNrKHV1LCAmdXVpZCk7CisKKwloaWdoID0gdXVpZC50aW1lX21pZCB8ICgodXVpZC50aW1lX2hpX2FuZF92ZXJzaW9uICYgMHhGRkYpIDw8IDE2KTsKKwljbG9ja19yZWcgPSB1dWlkLnRpbWVfbG93IHwgKCh1aW50NjRfdCkgaGlnaCA8PCAzMik7CisKKwljbG9ja19yZWcgLT0gKCgodWludDY0X3QpIDB4MDFCMjFERDIpIDw8IDMyKSArIDB4MTM4MTQwMDA7CisJdHYudHZfc2VjID0gY2xvY2tfcmVnIC8gMTAwMDAwMDA7CisJdHYudHZfdXNlYyA9IChjbG9ja19yZWcgJSAxMDAwMDAwMCkgLyAxMDsKKworCWlmIChyZXRfdHYpCisJCSpyZXRfdHYgPSB0djsKKworCXJldHVybiB0di50dl9zZWM7Cit9CisKK2ludCB1dWlkX3R5cGUoY29uc3QgdXVpZF90IHV1KQoreworCXN0cnVjdCB1dWlkCQl1dWlkOworCisJdXVpZF91bnBhY2sodXUsICZ1dWlkKTsKKwlyZXR1cm4gKCh1dWlkLnRpbWVfaGlfYW5kX3ZlcnNpb24gPj4gMTIpICYgMHhGKTsKK30KKworaW50IHV1aWRfdmFyaWFudChjb25zdCB1dWlkX3QgdXUpCit7CisJc3RydWN0IHV1aWQJCXV1aWQ7CisJaW50CQkJdmFyOworCisJdXVpZF91bnBhY2sodXUsICZ1dWlkKTsKKwl2YXIgPSB1dWlkLmNsb2NrX3NlcTsKKworCWlmICgodmFyICYgMHg4MDAwKSA9PSAwKQorCQlyZXR1cm4gVVVJRF9WQVJJQU5UX05DUzsKKwlpZiAoKHZhciAmIDB4NDAwMCkgPT0gMCkKKwkJcmV0dXJuIFVVSURfVkFSSUFOVF9EQ0U7CisJaWYgKCh2YXIgJiAweDIwMDApID09IDApCisJCXJldHVybiBVVUlEX1ZBUklBTlRfTUlDUk9TT0ZUOworCXJldHVybiBVVUlEX1ZBUklBTlRfT1RIRVI7Cit9CisKKyNpZmRlZiBERUJVRworc3RhdGljIGNvbnN0IGNoYXIgKnZhcmlhbnRfc3RyaW5nKGludCB2YXJpYW50KQoreworCXN3aXRjaCAodmFyaWFudCkgeworCWNhc2UgVVVJRF9WQVJJQU5UX05DUzoKKwkJcmV0dXJuICJOQ1MiOworCWNhc2UgVVVJRF9WQVJJQU5UX0RDRToKKwkJcmV0dXJuICJEQ0UiOworCWNhc2UgVVVJRF9WQVJJQU5UX01JQ1JPU09GVDoKKwkJcmV0dXJuICJNaWNyb3NvZnQiOworCWRlZmF1bHQ6CisJCXJldHVybiAiT3RoZXIiOworCX0KK30KKworCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXV1aWRfdAkJYnVmOworCXRpbWVfdAkJdGltZV9yZWc7CisJc3RydWN0IHRpbWV2YWwJdHY7CisJaW50CQl0eXBlLCB2YXJpYW50OworCisJaWYgKGFyZ2MgIT0gMikgeworCQlmcHJpbnRmKHN0ZGVyciwgIlVzYWdlOiAlcyB1dWlkXG4iLCBhcmd2WzBdKTsKKwkJZXhpdCgxKTsKKwl9CisJaWYgKHV1aWRfcGFyc2UoYXJndlsxXSwgYnVmKSkgeworCQlmcHJpbnRmKHN0ZGVyciwgIkludmFsaWQgVVVJRDogJXNcbiIsIGFyZ3ZbMV0pOworCQlleGl0KDEpOworCX0KKwl2YXJpYW50ID0gdXVpZF92YXJpYW50KGJ1Zik7CisJdHlwZSA9IHV1aWRfdHlwZShidWYpOworCXRpbWVfcmVnID0gdXVpZF90aW1lKGJ1ZiwgJnR2KTsKKworCXByaW50ZigiVVVJRCB2YXJpYW50IGlzICVkICglcylcbiIsIHZhcmlhbnQsIHZhcmlhbnRfc3RyaW5nKHZhcmlhbnQpKTsKKwlpZiAodmFyaWFudCAhPSBVVUlEX1ZBUklBTlRfRENFKSB7CisJCXByaW50ZigiV2FybmluZzogVGhpcyBwcm9ncmFtIG9ubHkga25vd3MgaG93IHRvIGludGVycHJldCAiCisJCSAgICAgICAiRENFIFVVSURzLlxuXHRUaGUgcmVzdCBvZiB0aGUgb3V0cHV0IGlzIGxpa2VseSAiCisJCSAgICAgICAidG8gYmUgaW5jb3JyZWN0ISFcbiIpOworCX0KKwlwcmludGYoIlVVSUQgdHlwZSBpcyAlZCIsIHR5cGUpOworCXN3aXRjaCAodHlwZSkgeworCWNhc2UgMToKKwkJcHJpbnRmKCIgKHRpbWUgYmFzZWQpXG4iKTsKKwkJYnJlYWs7CisJY2FzZSAyOgorCQlwcmludGYoIiAoRENFKVxuIik7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJcHJpbnRmKCIgKG5hbWUtYmFzZWQpXG4iKTsKKwkJYnJlYWs7CisJY2FzZSA0OgorCQlwcmludGYoIiAocmFuZG9tKVxuIik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXByaW50ZigiXG4iKTsKKwl9CisJaWYgKHR5cGUgIT0gMSkgeworCQlwcmludGYoIldhcm5pbmc6IG5vdCBhIHRpbWUtYmFzZWQgVVVJRCwgc28gVVVJRCB0aW1lICIKKwkJICAgICAgICJkZWNvZGluZyB3aWxsIGxpa2VseSBub3Qgd29yayFcbiIpOworCX0KKwlwcmludGYoIlVVSUQgdGltZSBpczogKCVsZCwgJWxkKTogJXNcbiIsIChsb25nKXR2LnR2X3NlYywgKGxvbmcpdHYudHZfdXNlYywKKwkgICAgICAgY3RpbWUoJnRpbWVfcmVnKSk7CisKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbGlidXVpZC9zcmMvdXVpZGQuaCBiL2xpYnV1aWQvc3JjL3V1aWRkLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTU1Yzg2ZgotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvc3JjL3V1aWRkLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIERlZmluaXRpb25zIHVzZWQgYnkgdGhlIHV1aWRkIGRhZW1vbgorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNyBUaGVvZG9yZSBUcydvLgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIGFuZCB0aGUgZW50aXJlIHBlcm1pc3Npb24gbm90aWNlIGluIGl0cyBlbnRpcmV0eSwKKyAqICAgIGluY2x1ZGluZyB0aGUgZGlzY2xhaW1lciBvZiB3YXJyYW50aWVzLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBUaGUgbmFtZSBvZiB0aGUgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKyAqICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3IKKyAqICAgIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIGBgQVMgSVMnJyBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRAorICogV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMKKyAqIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UsIEFMTCBPRgorICogV0hJQ0ggQVJFIEhFUkVCWSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRQorICogTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQKKyAqIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUgorICogQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRgorICogTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRQorICogVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgTk9UIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gKKyAqIERBTUFHRS4KKyAqICVFbmQtSGVhZGVyJQorICovCisKKyNpZm5kZWYgX1VVSURfVVVJRERfSAorI2RlZmluZSBfVVVJRF9VVUlERF9ICisKKyNkZWZpbmUgVVVJRERfRElSCQlfUEFUSF9SVU5TVEFURURJUiAiL3V1aWRkIgorI2RlZmluZSBVVUlERF9TT0NLRVRfUEFUSAlVVUlERF9ESVIgIi9yZXF1ZXN0IgorI2RlZmluZSBVVUlERF9QSURGSUxFX1BBVEgJVVVJRERfRElSICIvdXVpZGQucGlkIgorI2RlZmluZSBVVUlERF9QQVRICQkiL3Vzci9zYmluL3V1aWRkIgorCisjZGVmaW5lIFVVSUREX09QX0dFVFBJRAkJCTAKKyNkZWZpbmUgVVVJRERfT1BfR0VUX01BWE9QCQkxCisjZGVmaW5lIFVVSUREX09QX1RJTUVfVVVJRAkJMgorI2RlZmluZSBVVUlERF9PUF9SQU5ET01fVVVJRAkJMworI2RlZmluZSBVVUlERF9PUF9CVUxLX1RJTUVfVVVJRAkJNAorI2RlZmluZSBVVUlERF9PUF9CVUxLX1JBTkRPTV9VVUlECTUKKyNkZWZpbmUgVVVJRERfTUFYX09QCQkJVVVJRERfT1BfQlVMS19SQU5ET01fVVVJRAorCitleHRlcm4gaW50IF9fdXVpZF9nZW5lcmF0ZV90aW1lKHV1aWRfdCBvdXQsIGludCAqbnVtKTsKK2V4dGVybiB2b2lkIF9fdXVpZF9nZW5lcmF0ZV9yYW5kb20odXVpZF90IG91dCwgaW50ICpudW0pOworCisjZW5kaWYgLyogX1VVSURfVVVJRF9IICovCmRpZmYgLS1naXQgYS9saWJ1dWlkL3V1aWQucGMuaW4gYi9saWJ1dWlkL3V1aWQucGMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc1ZGUxOQotLS0gL2Rldi9udWxsCisrKyBiL2xpYnV1aWQvdXVpZC5wYy5pbgpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9QHByZWZpeEAKK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKK2xpYmRpcj1AdXNybGliX2V4ZWNkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorCitOYW1lOiB1dWlkCitEZXNjcmlwdGlvbjogVW5pdmVyc2FsbHkgdW5pcXVlIGlkIGxpYnJhcnkKK1ZlcnNpb246IEBMSUJVVUlEX1ZFUlNJT05ACitSZXF1aXJlczoKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9L3V1aWQKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sdXVpZApkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvTWFrZW1vZHVsZS5hbSBiL2xvZ2luLXV0aWxzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFmYmVhMwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwyNDcgQEAKKworaWYgQlVJTERfTEFTVAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gbGFzdAorZGlzdF9tYW5fTUFOUyArPSBcCisJbG9naW4tdXRpbHMvbGFzdC4xIFwKKwlsb2dpbi11dGlscy9sYXN0Yi4xCitsYXN0X1NPVVJDRVMgPSBsb2dpbi11dGlscy9sYXN0LmMgbGliL21vbm90b25pYy5jCitsYXN0X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoUkVBTFRJTUVfTElCUykKKworaW5zdGFsbC1leGVjLWhvb2stbGFzdDoKKwljZCAkKERFU1RESVIpJCh1c3JiaW5fZXhlY2RpcikgJiYgbG4gLXNmIGxhc3QgbGFzdGIKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLWxhc3QKK2VuZGlmCisKK2lmIEJVSUxEX1NVTE9HSU4KK3NiaW5fUFJPR1JBTVMgKz0gc3Vsb2dpbgorZGlzdF9tYW5fTUFOUyArPSBsb2dpbi11dGlscy9zdWxvZ2luLjgKK3N1bG9naW5fU09VUkNFUyA9IFwKKwlsb2dpbi11dGlscy9zdWxvZ2luLmMgXAorCWxvZ2luLXV0aWxzL3N1bG9naW4tY29uc29sZXMuYyBcCisJbG9naW4tdXRpbHMvc3Vsb2dpbi1jb25zb2xlcy5oCitzdWxvZ2luX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK2lmIEhBVkVfTElCQ1JZUFQKK3N1bG9naW5fTERBREQgKz0gLWxjcnlwdAorZW5kaWYKK2lmIEhBVkVfU0VMSU5VWAorc3Vsb2dpbl9MREFERCArPSAtbHNlbGludXgKK2VuZGlmCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfY29uc29sZXMKK3Rlc3RfY29uc29sZXNfU09VUkNFUyA9IGxvZ2luLXV0aWxzL3N1bG9naW4tY29uc29sZXMuYwordGVzdF9jb25zb2xlc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLURURVNUX1BST0dSQU0KK3Rlc3RfY29uc29sZXNfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmICMgQlVJTERfU1VMT0dJTgorCisKK2lmIEJVSUxEX0xPR0lOCitiaW5fUFJPR1JBTVMgKz0gbG9naW4KK2Rpc3RfbWFuX01BTlMgKz0gbG9naW4tdXRpbHMvbG9naW4uMQorbG9naW5fU09VUkNFUyA9IFwKKwlsb2dpbi11dGlscy9sb2dpbi5jIFwKKwlsb2dpbi11dGlscy9sb2dpbmRlZnMuYyBcCisJbG9naW4tdXRpbHMvbG9naW5kZWZzLmgKK2xvZ2luX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIC1scGFtCitpZiBIQVZFX0xJTlVYUEFNCitsb2dpbl9MREFERCArPSAtbHBhbV9taXNjCitlbmRpZgoraWYgSEFWRV9BVURJVAorbG9naW5fTERBREQgKz0gLWxhdWRpdAorZW5kaWYKK2lmIEhBVkVfU0VMSU5VWAorbG9naW5fTERBREQgKz0gLWxzZWxpbnV4CitlbmRpZgorZW5kaWYgIyBCVUlMRF9MT0dJTgorCisKK2lmIEJVSUxEX05PTE9HSU4KK3NiaW5fUFJPR1JBTVMgKz0gbm9sb2dpbgorZGlzdF9tYW5fTUFOUyArPSBsb2dpbi11dGlscy9ub2xvZ2luLjgKK25vbG9naW5fU09VUkNFUyA9IGxvZ2luLXV0aWxzL25vbG9naW4uYworZW5kaWYKKworCitpZiBCVUlMRF9VVE1QRFVNUAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gdXRtcGR1bXAKK2Rpc3RfbWFuX01BTlMgKz0gbG9naW4tdXRpbHMvdXRtcGR1bXAuMQordXRtcGR1bXBfU09VUkNFUyA9IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmMKK3V0bXBkdW1wX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCisKK2lmIEJVSUxEX0NIRk5fQ0hTSAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gY2hmbiBjaHNoCitkaXN0X21hbl9NQU5TICs9IFwKKwlsb2dpbi11dGlscy9jaGZuLjEgXAorCWxvZ2luLXV0aWxzL2Noc2guMQorCitjaGZuX2Noc2hfc291cmNlcyA9IFwKKwlsb2dpbi11dGlscy9jaC1jb21tb24uaCBcCisJbG9naW4tdXRpbHMvY2gtY29tbW9uLmMKK2NoZm5fY2hzaF9jZmxhZ3MgPSAkKFNVSURfQ0ZMQUdTKSAkKEFNX0NGTEFHUykKK2NoZm5fY2hzaF9sZGZsYWdzID0gJChTVUlEX0xERkxBR1MpICQoQU1fTERGTEFHUykKK2NoZm5fY2hzaF9sZGFkZCA9IGxpYmNvbW1vbi5sYSAkKFJFQURMSU5FX0xJQlMpCisKK2lmIENIRk5fQ0hTSF9QQVNTV09SRAorY2hmbl9jaHNoX2xkYWRkICs9IC1scGFtCitpZiBIQVZFX0xJTlVYUEFNCitjaGZuX2Noc2hfbGRhZGQgKz0gLWxwYW1fbWlzYworZW5kaWYKK2NoZm5fY2hzaF9zb3VyY2VzICs9IFwKKwlsb2dpbi11dGlscy9hdXRoLmMgXAorCWxvZ2luLXV0aWxzL2F1dGguaAorZW5kaWYgIyBDSEZOX0NIU0hfUEFTU1dPUkQKKworaWYgSEFWRV9VU0VSCitjaGZuX2Noc2hfbGRmbGFncyArPSAkKExJQlVTRVJfTElCUykKK2NoZm5fY2hzaF9jZmxhZ3MgKz0gJChMSUJVU0VSX0NGTEFHUykKK2NoZm5fY2hzaF9zb3VyY2VzKz0gXAorCWxvZ2luLXV0aWxzL2xpYnVzZXIuYyBcCisJbG9naW4tdXRpbHMvbGlidXNlci5oCitlbHNlCitjaGZuX2Noc2hfc291cmNlcyArPSBcCisJbG9naW4tdXRpbHMvaXNsb2NhbC5jIFwKKwlsb2dpbi11dGlscy9pc2xvY2FsLmggXAorCWxvZ2luLXV0aWxzL3NldHB3bmFtLmMgXAorCWxvZ2luLXV0aWxzL3NldHB3bmFtLmgKK2VuZGlmCisKK2lmIEhBVkVfU0VMSU5VWAorY2hmbl9jaHNoX3NvdXJjZXMgKz0gXAorCWxvZ2luLXV0aWxzL3NlbGludXhfdXRpbHMuYyBcCisJbG9naW4tdXRpbHMvc2VsaW51eF91dGlscy5oCitjaGZuX2Noc2hfbGRhZGQgKz0gLWxzZWxpbnV4CitlbmRpZgorCitjaGZuX1NPVVJDRVMgPSBcCisJbG9naW4tdXRpbHMvY2hmbi5jIFwKKwlsb2dpbi11dGlscy9sb2dpbmRlZnMuYyBcCisJbG9naW4tdXRpbHMvbG9naW5kZWZzLmggXAorCSQoY2hmbl9jaHNoX3NvdXJjZXMpCitjaGZuX0NGTEFHUyA9ICQoY2hmbl9jaHNoX2NmbGFncykKK2NoZm5fTERGTEFHUyA9ICQoY2hmbl9jaHNoX2xkZmxhZ3MpCitjaGZuX0xEQUREID0gJChMREFERCkgJChjaGZuX2Noc2hfbGRhZGQpCisKK2Noc2hfU09VUkNFUyA9IGxvZ2luLXV0aWxzL2Noc2guYyAkKGNoZm5fY2hzaF9zb3VyY2VzKQorY2hzaF9DRkxBR1MgPSAkKGNoZm5fY2hzaF9jZmxhZ3MpCitjaHNoX0xERkxBR1MgPSAkKGNoZm5fY2hzaF9sZGZsYWdzKQorY2hzaF9MREFERCA9ICQoTERBREQpICQoY2hmbl9jaHNoX2xkYWRkKQorZW5kaWYgIyBCVUlMRF9DSEZOX0NIU0gKKworCitpZiBCVUlMRF9TVQorYmluX1BST0dSQU1TICs9IHN1CitkaXN0X21hbl9NQU5TICs9IGxvZ2luLXV0aWxzL3N1LjEKK3N1X1NPVVJDRVMgPSBcCisJbG9naW4tdXRpbHMvc3UuYyBcCisJbG9naW4tdXRpbHMvc3UtY29tbW9uLmMgXAorCWxvZ2luLXV0aWxzL3N1LWNvbW1vbi5oIFwKKwlsb2dpbi11dGlscy9sb2dpbmRlZnMuYyBcCisJbG9naW4tdXRpbHMvbG9naW5kZWZzLmgKK3N1X0NGTEFHUyA9ICQoU1VJRF9DRkxBR1MpICQoQU1fQ0ZMQUdTKQorc3VfTERGTEFHUyA9ICQoU1VJRF9MREZMQUdTKSAkKEFNX0xERkxBR1MpCitzdV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSAtbHBhbQoraWYgSEFWRV9MSU5VWFBBTQorc3VfTERBREQgKz0gLWxwYW1fbWlzYworZW5kaWYKK2lmIEhBVkVfVVRJTAorc3VfTERBREQgKz0gLWx1dGlsCitlbmRpZgorZW5kaWYgIyBCVUlMRF9TVQorCisKK2lmIEJVSUxEX1JVTlVTRVIKK3NiaW5fUFJPR1JBTVMgKz0gcnVudXNlcgorZGlzdF9tYW5fTUFOUyArPSBsb2dpbi11dGlscy9ydW51c2VyLjEKK3J1bnVzZXJfU09VUkNFUyA9IFwKKwlsb2dpbi11dGlscy9ydW51c2VyLmMgXAorCWxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jIFwKKwlsb2dpbi11dGlscy9zdS1jb21tb24uaCBcCisJbG9naW4tdXRpbHMvbG9naW5kZWZzLmMgXAorCWxvZ2luLXV0aWxzL2xvZ2luZGVmcy5oCitydW51c2VyX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIC1scGFtCitpZiBIQVZFX0xJTlVYUEFNCitydW51c2VyX0xEQUREICs9IC1scGFtX21pc2MKK2VuZGlmCitpZiBIQVZFX1VUSUwKK3J1bnVzZXJfTERBREQgKz0gLWx1dGlsCitlbmRpZgorZW5kaWYgIyBCVUlMRF9SVU5VU0VSCisKKworaWYgQlVJTERfTkVXR1JQCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBuZXdncnAKK2Rpc3RfbWFuX01BTlMgKz0gbG9naW4tdXRpbHMvbmV3Z3JwLjEKK25ld2dycF9TT1VSQ0VTID0gbG9naW4tdXRpbHMvbmV3Z3JwLmMKK25ld2dycF9DRkxBR1MgPSAkKFNVSURfQ0ZMQUdTKSAkKEFNX0NGTEFHUykKK25ld2dycF9MREZMQUdTID0gJChTVUlEX0xERkxBR1MpICQoQU1fTERGTEFHUykKK25ld2dycF9MREFERCA9ICQoTERBREQpCitpZiBIQVZFX0xJQkNSWVBUCituZXdncnBfTERBREQgKz0gLWxjcnlwdAorZW5kaWYKK2VuZGlmICMgQlVJTERfTkVXR1JQCisKK2lmIEJVSUxEX0xTTE9HSU5TCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsc2xvZ2lucworZGlzdF9tYW5fTUFOUyArPSBsb2dpbi11dGlscy9sc2xvZ2lucy4xCitsc2xvZ2luc19TT1VSQ0VTID0gXAorCWxvZ2luLXV0aWxzL2xzbG9naW5zLmMgXAorCWxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jIFwKKwlsb2dpbi11dGlscy9sb2dpbmRlZnMuaAorbHNsb2dpbnNfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhCitsc2xvZ2luc19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitpZiBIQVZFX1NFTElOVVgKK2xzbG9naW5zX0xEQUREICs9IC1sc2VsaW51eAorZW5kaWYKK2lmIEhBVkVfU1lTVEVNRAorbHNsb2dpbnNfTERBREQgKz0gJChTWVNURU1EX0xJQlMpICQoU1lTVEVNRF9KT1VSTkFMX0xJQlMpCitsc2xvZ2luc19DRkxBR1MgKz0gJChTWVNURU1EX0NGTEFHUykgJChTWVNURU1EX0pPVVJOQUxfQ0ZMQUdTKQorZW5kaWYKK2VuZGlmICMgQlVJTERfTFNMT0dJTlMKKworaWYgQlVJTERfVklQVwordXNyc2Jpbl9leGVjX1BST0dSQU1TICs9IHZpcHcKK2Rpc3RfbWFuX01BTlMgKz0gXAorCWxvZ2luLXV0aWxzL3ZpZ3IuOCBcCisJbG9naW4tdXRpbHMvdmlwdy44Cit2aXB3X1NPVVJDRVMgPSBcCisJbG9naW4tdXRpbHMvdmlwdy5jIFwKKwlsb2dpbi11dGlscy9zZXRwd25hbS5oCit2aXB3X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitpZiBIQVZFX1NFTElOVVgKK3ZpcHdfTERBREQgKz0gLWxzZWxpbnV4CitlbmRpZgoraW5zdGFsbC1leGVjLWhvb2stdmlwdzo6CisJY2QgJChERVNURElSKSQodXNyc2Jpbl9leGVjZGlyKSAmJiBsbiAtc2YgdmlwdyB2aWdyCisKK0lOU1RBTExfRVhFQ19IT09LUyArPSBpbnN0YWxsLWV4ZWMtaG9vay12aXB3CitlbmRpZiAjIEJVSUxEX1ZJUFcKKworCitjaGVja19QUk9HUkFNUyArPSBcCisJdGVzdF9pc2xvY2FsIFwKKwl0ZXN0X2xvZ2luZGVmcworCit0ZXN0X2lzbG9jYWxfU09VUkNFUyA9IGxvZ2luLXV0aWxzL2lzbG9jYWwuYwordGVzdF9pc2xvY2FsX0NQUEZMQUdTID0gLURURVNUX1BST0dSQU0gJChBTV9DUFBGTEFHUykKKwordGVzdF9sb2dpbmRlZnNfU09VUkNFUyA9IFwKKwlsb2dpbi11dGlscy9sb2dpbmRlZnMuYyBcCisJbG9naW4tdXRpbHMvbG9naW5kZWZzLmgKK3Rlc3RfbG9naW5kZWZzX0NQUEZMQUdTID0gLURURVNUX1BST0dSQU0gJChBTV9DUFBGTEFHUykKKworCitpbnN0YWxsLWV4ZWMtaG9vazoKK2lmIEJVSUxEX1NVCitpZiBNQUtFSU5TVEFMTF9ET19DSE9XTgorCWNob3duIHJvb3Q6cm9vdCAkKERFU1RESVIpJChiaW5kaXIpL3N1CitlbmRpZgoraWYgTUFLRUlOU1RBTExfRE9fU0VUVUlECisJY2htb2QgNDc1NSAkKERFU1RESVIpJChiaW5kaXIpL3N1CitlbmRpZgorZW5kaWYKK2lmIEJVSUxEX1ZJUFcKKwljZCAkKERFU1RESVIpJCh1c3JzYmluX2V4ZWNkaXIpICYmIGxuIC1zZiB2aXB3IHZpZ3IKK2VuZGlmCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9hdXRoLmMgYi9sb2dpbi11dGlscy9hdXRoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRlYjEyYgotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2F1dGguYwpAQCAtMCwwICsxLDY1IEBACisvKgorICogICBhdXRoLmMgLS0gUEFNIGF1dGhvcml6YXRpb24gY29kZSwgY29tbW9uIGJldHdlZW4gY2hzaCBhbmQgY2hmbgorICogICAoYykgMjAxMiBieSBDb2R5IE1hbG9uZXkgPGNtYWxvbmV5QHRoZW9yZXRpY2FsY2hhb3MuY29tPgorICoKKyAqICAgdGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUuICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQKKyAqICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UuCisgKiAgIHRoZXJlIGlzIG5vIHdhcnJhbnR5LgorICoKKyAqLworCisjaW5jbHVkZSA8c2VjdXJpdHkvcGFtX2FwcGwuaD4KKyNpZmRlZiBIQVZFX1NFQ1VSSVRZX1BBTV9NSVNDX0gKKyMgaW5jbHVkZSA8c2VjdXJpdHkvcGFtX21pc2MuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9TRUNVUklUWV9PUEVOUEFNX0gpCisjIGluY2x1ZGUgPHNlY3VyaXR5L29wZW5wYW0uaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImF1dGguaCIKKworc3RhdGljIGludCBwYW1fZmFpbF9jaGVjayhwYW1faGFuZGxlX3QgKnBhbWgsIGludCByZXRjb2RlKQoreworCWlmIChyZXRjb2RlID09IFBBTV9TVUNDRVNTKQorCQlyZXR1cm4gMDsKKwl3YXJueCgiJXMiLCBwYW1fc3RyZXJyb3IocGFtaCwgcmV0Y29kZSkpOworCXBhbV9lbmQocGFtaCwgcmV0Y29kZSk7CisJcmV0dXJuIDE7Cit9CisKK2ludCBhdXRoX3BhbShjb25zdCBjaGFyICpzZXJ2aWNlX25hbWUsIHVpZF90IHVpZCwgY29uc3QgY2hhciAqdXNlcm5hbWUpCit7CisJaWYgKHVpZCAhPSAwKSB7CisJCXBhbV9oYW5kbGVfdCAqcGFtaCA9IE5VTEw7CisjaWZkZWYgSEFWRV9TRUNVUklUWV9QQU1fTUlTQ19ICisJCXN0cnVjdCBwYW1fY29udiBjb252ID0geyBtaXNjX2NvbnYsIE5VTEwgfTsKKyNlbGlmIGRlZmluZWQoSEFWRV9TRUNVUklUWV9PUEVOUEFNX0gpCisJCXN0cnVjdCBwYW1fY29udiBjb252ID0geyBvcGVucGFtX3R0eWNvbnYsIE5VTEwgfTsKKyNlbmRpZgorCQlpbnQgcmV0Y29kZTsKKworCQlyZXRjb2RlID0gcGFtX3N0YXJ0KHNlcnZpY2VfbmFtZSwgdXNlcm5hbWUsICZjb252LCAmcGFtaCk7CisJCWlmIChwYW1fZmFpbF9jaGVjayhwYW1oLCByZXRjb2RlKSkKKwkJCXJldHVybiBGQUxTRTsKKworCQlyZXRjb2RlID0gcGFtX2F1dGhlbnRpY2F0ZShwYW1oLCAwKTsKKwkJaWYgKHBhbV9mYWlsX2NoZWNrKHBhbWgsIHJldGNvZGUpKQorCQkJcmV0dXJuIEZBTFNFOworCisJCXJldGNvZGUgPSBwYW1fYWNjdF9tZ210KHBhbWgsIDApOworCQlpZiAocmV0Y29kZSA9PSBQQU1fTkVXX0FVVEhUT0tfUkVRRCkKKwkJCXJldGNvZGUgPQorCQkJICAgIHBhbV9jaGF1dGh0b2socGFtaCwgUEFNX0NIQU5HRV9FWFBJUkVEX0FVVEhUT0spOworCQlpZiAocGFtX2ZhaWxfY2hlY2socGFtaCwgcmV0Y29kZSkpCisJCQlyZXR1cm4gRkFMU0U7CisKKwkJcmV0Y29kZSA9IHBhbV9zZXRjcmVkKHBhbWgsIDApOworCQlpZiAocGFtX2ZhaWxfY2hlY2socGFtaCwgcmV0Y29kZSkpCisJCQlyZXR1cm4gRkFMU0U7CisKKwkJcGFtX2VuZChwYW1oLCAwKTsKKwkJLyogbm8gbmVlZCB0byBlc3RhYmxpc2ggYSBzZXNzaW9uOyB0aGlzIGlzbid0IGEKKwkJICogc2Vzc2lvbi1vcmllbnRlZCBhY3Rpdml0eS4uLiAgKi8KKwl9CisJcmV0dXJuIFRSVUU7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9hdXRoLmggYi9sb2dpbi11dGlscy9hdXRoLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY3YzM2OQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2F1dGguaApAQCAtMCwwICsxLDEzIEBACisvKgorICogICBhdXRoLmggLS0gUEFNIGF1dGhvcml6YXRpb24gY29kZSwgY29tbW9uIGJldHdlZW4gY2hzaCBhbmQgY2hmbgorICogICAoYykgMjAxMiBieSBDb2R5IE1hbG9uZXkgPGNtYWxvbmV5QHRoZW9yZXRpY2FsY2hhb3MuY29tPgorICoKKyAqICAgdGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUuICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQKKyAqICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UuCisgKiAgIHRoZXJlIGlzIG5vIHdhcnJhbnR5LgorICoKKyAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKK2V4dGVybiBpbnQgYXV0aF9wYW0oY29uc3QgY2hhciAqc2VydmljZV9uYW1lLCB1aWRfdCB1aWQsIGNvbnN0IGNoYXIgKnVzZXJuYW1lKTsKZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL2NoLWNvbW1vbi5jIGIvbG9naW4tdXRpbHMvY2gtY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRiMDlmMwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2NoLWNvbW1vbi5jCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBjaGZuIGFuZCBjaHNoIHNoYXJlZCBmdW5jdGlvbnMKKyAqCisgKiB0aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZS4gIHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZAorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UuCisgKiB0aGVyZSBpcyBubyB3YXJyYW50eS4KKyAqLworCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKworI2luY2x1ZGUgImNoLWNvbW1vbi5oIgorCisvKgorICogIGlsbGVnYWxfcGFzc3dkX2NoYXJzICgpIC0KKyAqCWNoZWNrIHdoZXRoZXIgYSBzdHJpbmcgY29udGFpbnMgaWxsZWdhbCBjaGFyYWN0ZXJzCisgKi8KK2ludCBpbGxlZ2FsX3Bhc3N3ZF9jaGFycyhjb25zdCBjaGFyICpzdHIpCit7CisJY29uc3QgY2hhciBpbGxlZ2FsW10gPSAiLDo9XCJcbiI7CisJY29uc3Qgc2l6ZV90IGxlbiA9IHN0cmxlbihzdHIpOworCXNpemVfdCBpOworCisJaWYgKHN0cnBicmsoc3RyLCBpbGxlZ2FsKSkKKwkJcmV0dXJuIDE7CisJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKSB7CisJCWlmIChpc2NudHJsKHN0cltpXSkpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9jaC1jb21tb24uaCBiL2xvZ2luLXV0aWxzL2NoLWNvbW1vbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdmNzBlNTAKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9jaC1jb21tb24uaApAQCAtMCwwICsxLDYgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9DSF9DT01NT05fSAorI2RlZmluZSBVVElMX0xJTlVYX0NIX0NPTU1PTl9ICisKK2V4dGVybiBpbnQgaWxsZWdhbF9wYXNzd2RfY2hhcnMoY29uc3QgY2hhciAqc3RyKTsKKworI2VuZGlmCS8qIFVUSUxfTElOVVhfQ0hfQ09NTU9OICovCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9jaGZuLjEgYi9sb2dpbi11dGlscy9jaGZuLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcxMzBjNAotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2NoZm4uMQpAQCAtMCwwICsxLDEwOCBAQAorLlwiCisuXCIgIGNoZm4uMSAtLSBjaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24KKy5cIiAgKGMpIDE5OTQgYnkgc2FsdmF0b3JlIHZhbGVudGUgPHN2YWxlbnRlQGF0aGVuYS5taXQuZWR1PgorLlwiCisuXCIgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgWW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kCisuXCIgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorLlwiICBUaGVyZSBpcyBubyB3YXJyYW50eS4KKy5cIgorLlRIIENIRk4gMSAiTm92ZW1iZXIgMjAxNSIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2NoZm4gXC0gY2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uCisuU0ggU1lOT1BTSVMKKy5CIGNoZm4KKy5SQiBbIFwtZgorLklSIGZ1bGwtbmFtZSBdCisuUkIgWyBcLW8KKy5JUiBvZmZpY2UgXQorLlJCIFsgXC1wCisuSVIgb2ZmaWNlLXBob25lIF0KKy5SQiBbIFwtaAorLklSIGhvbWUtcGhvbmUgXQorLlJCIFsgXC11IF0KKy5SQiBbIFwtdiBdCisuUkkgWyB1c2VybmFtZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIGNoZm4KK2lzIHVzZWQgdG8gY2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLiAgVGhpcyBpbmZvcm1hdGlvbiBpcworc3RvcmVkIGluIHRoZQorLkkgL2V0Yy9wYXNzd2QKK2ZpbGUsIGFuZCBpcyBkaXNwbGF5ZWQgYnkgdGhlCisuQiBmaW5nZXIKK3Byb2dyYW0uICBUaGUgTGludXgKKy5CIGZpbmdlcgorY29tbWFuZCB3aWxsIGRpc3BsYXkgZm91ciBwaWVjZXMgb2YgaW5mb3JtYXRpb24gdGhhdCBjYW4gYmUgY2hhbmdlZCBieQorLkJSIGNoZm4gOgoreW91ciByZWFsIG5hbWUsIHlvdXIgd29yayByb29tIGFuZCBwaG9uZSwgYW5kIHlvdXIgaG9tZSBwaG9uZS4KKy5QUAorQW55IG9mIHRoZSBmb3VyIHBpZWNlcyBvZiBpbmZvcm1hdGlvbiBjYW4gYmUgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kCitsaW5lLiAgSWYgbm8gaW5mb3JtYXRpb24gaXMgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSwKKy5CIGNoZm4KK2VudGVycyBpbnRlcmFjdGl2ZSBtb2RlLgorLlBQCitJbiBpbnRlcmFjdGl2ZSBtb2RlLAorLkIgY2hmbgord2lsbCBwcm9tcHQgZm9yIGVhY2ggZmllbGQuICBBdCBhIHByb21wdCwgeW91IGNhbiBlbnRlciB0aGUgbmV3IGluZm9ybWF0aW9uLAorb3IganVzdCBwcmVzcyByZXR1cm4gdG8gbGVhdmUgdGhlIGZpZWxkIHVuY2hhbmdlZC4gIEVudGVyIHRoZSBrZXl3b3JkCisibm9uZSIgdG8gbWFrZSB0aGUgZmllbGQgYmxhbmsuCisuUFAKKy5CIGNoZm4KK3N1cHBvcnRzIG5vbi1sb2NhbCBlbnRyaWVzIChrZXJiZXJvcywgTERBUCwgZXRjLlwmKSBpZiBsaW5rZWQgd2l0aCBsaWJ1c2VyLAorb3RoZXJ3aXNlIHVzZSBcZkJ5cGNoZm5cZlIsIFxmQmxjaGZuXGZSIG9yIGFueSBvdGhlciBpbXBsZW1lbnRhdGlvbiBmb3IKK25vbi1sb2NhbCBlbnRyaWVzLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtZiAsICIgXC1cLWZ1bGxcLW5hbWUgIiBcZklmdWxsLW5hbWUKK1NwZWNpZnkgeW91ciByZWFsIG5hbWUuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vZmZpY2UgIiBcZklvZmZpY2UKK1NwZWNpZnkgeW91ciBvZmZpY2Ugcm9vbSBudW1iZXIuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1vZmZpY2VcLXBob25lICIgXGZJb2ZmaWNlLXBob25lCitTcGVjaWZ5IHlvdXIgb2ZmaWNlIHBob25lIG51bWJlci4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhvbWVcLXBob25lICIgXGZJaG9tZS1waG9uZQorU3BlY2lmeSB5b3VyIGhvbWUgcGhvbmUgbnVtYmVyLgorLlRQCisuQlIgXC11ICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TSCBDT05GSUcgRklMRSBJVEVNUworLkIgY2hmbgorcmVhZHMgdGhlCisuSVIgL2V0Y1w6L2xvZ2luLmRlZnMgKDUpCitjb25maWd1cmF0aW9uIGZpbGUuICBOb3RlIHRoYXQgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBjb3VsZCBiZQorZGlzdHJpYnV0ZWQgd2l0aCBhbm90aGVyIHBhY2thZ2UgKGUuZy4gc2hhZG93LXV0aWxzKS4gIFRoZSBmb2xsb3dpbmcKK2NvbmZpZ3VyYXRpb24gaXRlbXMgYXJlIHJlbGV2YW50IGZvcgorLkJSIGNoZm4gKDEpOgorLlBQCisuQkkgQ0hGTl9SRVNUUklDVCAiIHN0cmluZyIKKy5SUyA0CitJbmRpY2F0ZSB3aGljaCBmaWVsZHMgYXJlIGNoYW5nZWFibGUgYnkgXGZCY2hmblxmUi4KKworVGhlIGJvb2xlYW4gc2V0dGluZyBcZkIieWVzIlxmUiBtZWFucyB0aGF0IG9ubHkgdGhlIE9mZmljZSwgT2ZmaWNlIFBob25lIGFuZAorSG9tZSBQaG9uZSBmaWVsZHMgYXJlIGNoYW5nZWFibGUsIGFuZCBib29sZWFuIHNldHRpbmcgXGZCIm5vIlxmUiBtZWFucyB0aGF0CithbHNvIHRoZSBGdWxsIE5hbWUgaXMgY2hhbmdlYWJsZS4KKworQW5vdGhlciB3YXkgdG8gc3BlY2lmeSBjaGFuZ2VhYmxlIGZpZWxkcyBpcyBieSBhYmJyZXZpYXRpb25zOiBmID0gRnVsbCBOYW1lLAorciA9IE9mZmljZSAocm9vbSksIHcgPSBPZmZpY2UgKHdvcmspIFBob25lLCBoID0gSG9tZSBQaG9uZS4gIEZvciBleGFtcGxlLAorXGZCQ0hGTl9SRVNUUklDVCAid2giXGZSIGFsbG93cyBjaGFuZ2luZyB3b3JrIGFuZCBob21lIHBob25lIG51bWJlcnMuCisKK0lmIENIRk5fUkVTVFJJQ1QgaXMgdW5kZWZpbmVkLCB0aGVuIGFsbCBmaW5nZXIgaW5mb3JtYXRpb24gaXMgcmVhZC1vbmx5LgorVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5SRQorLlBQCisuU0ggIkVYSVQgU1RBVFVTIgorUmV0dXJucyAwIGlmIG9wZXJhdGlvbiB3YXMgc3VjY2Vzc2Z1bCwgMSBpZiBvcGVyYXRpb24gZmFpbGVkIG9yIGNvbW1hbmQgc3ludGF4IHdhcyBub3QgdmFsaWQuCisuU0ggIlNFRSBBTFNPIgorLkJSIGNoc2ggKDEpLAorLkJSIGZpbmdlciAoMSksCisuQlIgbG9naW4uZGVmcyAoNSksCisuQlIgcGFzc3dkICg1KQorLlNIIEFVVEhPUgorU2FsdmF0b3JlIFZhbGVudGUgPHN2YWxlbnRlQG1pdC5lZHU+CisuU0ggQVZBSUxBQklMSVRZCitUaGUgY2hmbiBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvY2hmbi5jIGIvbG9naW4tdXRpbHMvY2hmbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1MzEyZmEKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9jaGZuLmMKQEAgLTAsMCArMSw0OTIgQEAKKy8qCisgKiAgIGNoZm4uYyAtLSBjaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24KKyAqICAgKGMpIDE5OTQgYnkgc2FsdmF0b3JlIHZhbGVudGUgPHN2YWxlbnRlQGF0aGVuYS5taXQuZWR1PgorICogICAoYykgMjAxMiBieSBDb2R5IE1hbG9uZXkgPGNtYWxvbmV5QHRoZW9yZXRpY2FsY2hhb3MuY29tPgorICoKKyAqICAgdGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmUuICB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQKKyAqICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgZ251IGdlbmVyYWwgcHVibGljIGxpY2Vuc2UuCisgKiAgIHRoZXJlIGlzIG5vIHdhcnJhbnR5LgorICoKKyAqICAgJEF1dGhvcjogYWViciAkCisgKiAgICRSZXZpc2lvbjogMS4xOCAkCisgKiAgICREYXRlOiAxOTk4LzA2LzExIDIyOjMwOjExICQKKyAqCisgKiBVcGRhdGVkIFRodSBPY3QgMTIgMDk6MTk6MjYgMTk5NSBieSBmYWl0aEBjcy51bmMuZWR1IHdpdGggc2VjdXJpdHkKKyAqIHBhdGNoZXMgZnJvbSBaZWZyYW0gPEEuTWFpbkBkY3Mud2Fyd2ljay5hYy51az4KKyAqCisgKiBIYWNrZWQgYnkgUGV0ZXIgQnJlaXRlbmxvaG5lciwgcGViQG1wcG11Lm1wZy5kZSwKKyAqIHRvIHJlbW92ZSB0cmFpbGluZyBlbXB0eSBmaWVsZHMuICBPY3QgNSwgOTYuCisgKgorICogIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqICAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzdGRib29sLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJlbnYuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImlzbG9jYWwuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzZXRwd25hbS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAibG9naW5kZWZzLmgiCisKKyNpbmNsdWRlICJjaC1jb21tb24uaCIKKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorIyBpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKyMgaW5jbHVkZSAic2VsaW51eF91dGlscy5oIgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlVTRVIKKyMgaW5jbHVkZSA8bGlidXNlci91c2VyLmg+CisjIGluY2x1ZGUgImxpYnVzZXIuaCIKKyNlbGlmIENIRk5fQ0hTSF9QQVNTV09SRAorIyBpbmNsdWRlICJhdXRoLmgiCisjZW5kaWYKKworI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKKyMgZGVmaW5lIF9GVU5DVElPTl9ERUYKKyMgaW5jbHVkZSA8cmVhZGxpbmUvcmVhZGxpbmUuaD4KKyNlbmRpZgorCitzdHJ1Y3QgZmluZm8geworCWNoYXIgKmZ1bGxfbmFtZTsKKwljaGFyICpvZmZpY2U7CisJY2hhciAqb2ZmaWNlX3Bob25lOworCWNoYXIgKmhvbWVfcGhvbmU7CisJY2hhciAqb3RoZXI7Cit9OworCitzdHJ1Y3QgY2hmbl9jb250cm9sIHsKKwlzdHJ1Y3QgcGFzc3dkICpwdzsKKwljaGFyICp1c2VybmFtZTsKKwkvKiAgIm9sZGYiICBDb250YWlucyB0aGUgdXNlcnMgb3JpZ2luYWwgZmluZ2VyIGluZm9ybWF0aW9uLgorCSAqICAibmV3ZiIgIENvbnRhaW5zIHRoZSBjaGFuZ2VkIGZpbmdlciBpbmZvcm1hdGlvbiwgYW5kIGNvbnRhaW5zCisJICogICAgICAgICAgTlVMTCBpbiBmaWVsZHMgdGhhdCBoYXZlbid0IGJlZW4gY2hhbmdlZC4KKwkgKiAgSW4gdGhlIGVuZCwgIm5ld2YiIGlzIGZvbGRlZCBpbnRvICJvbGRmIi4gICovCisJc3RydWN0IGZpbmZvIG9sZGYsIG5ld2Y7CisJdW5zaWduZWQgaW50CisJCWFsbG93X2Z1bGxuYW1lOjEsCS8qIFRoZSBsb2dpbi5kZWZzIHJlc3RyaWN0aW9uICovCisJCWFsbG93X3Jvb206MSwJCSAgIC8qIHNlZTogbWFuIGxvZ2luLmRlZnMoNSkgKi8KKwkJYWxsb3dfd29yazoxLAkJICAgLyogYW5kIGxvb2sgZm9yIENIRk5fUkVTVFJJQ1QgKi8KKwkJYWxsb3dfaG9tZToxLAkJICAgLyoga2V5d29yZCBmb3IgdGhlc2UgZm91ci4gKi8KKwkJY2hhbmdlZDoxLAkJLyogaXMgY2hhbmdlIHJlcXVlc3RlZCAqLworCQlpbnRlcmFjdGl2ZToxOwkJLyogd2hldGhlciB0byBwcm9tcHQgZm9yIGZpZWxkcyBvciBub3QgKi8KK307CisKKy8qIHdlIGRvIG5vdCBhY2NlcHQgZ2Vjb3MgZmllbGQgc2l6ZXMgbG9uZ2VyIHRoYW4gTUFYX0ZJRUxEX1NJWkUgKi8KKyNkZWZpbmUgTUFYX0ZJRUxEX1NJWkUJCTI1NgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKmZwID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgZnApOworCWZwcmludGYoZnAsIF8oIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBmcCk7CisJZnB1dHMoXygiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIiksIGZwKTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIGZwKTsKKwlmcHV0cyhfKCIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIpLCBmcCk7CisJZnB1dHMoXygiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIiksIGZwKTsKKwlmcHV0cyhfKCIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iKSwgZnApOworCWZwdXRzKF8oIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iKSwgZnApOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgZnApOworCXByaW50ZiggIiAtdSwgLS1oZWxwICAgICAgICAgICAgICAgICAgICVzXG4iLCBVU0FHRV9PUFRTVFJfSEVMUCk7CisJcHJpbnRmKCAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX09QVFNUUl9WRVJTSU9OKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImNoZm4oMSkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCisvKgorICogIGNoZWNrX2dlY29zX3N0cmluZyAoKSAtLQorICoJY2hlY2sgdGhhdCB0aGUgZ2l2ZW4gZ2Vjb3Mgc3RyaW5nIGlzIGxlZ2FsLiAgaWYgaXQncyBub3QgbGVnYWwsCisgKglvdXRwdXQgIm1zZyIgZm9sbG93ZWQgYnkgYSBkZXNjcmlwdGlvbiBvZiB0aGUgcHJvYmxlbSwgYW5kIHJldHVybiAoLTEpLgorICovCitzdGF0aWMgaW50IGNoZWNrX2dlY29zX3N0cmluZyhjb25zdCBjaGFyICptc2csIGNoYXIgKmdlY29zKQoreworCWNvbnN0IHNpemVfdCBsZW4gPSBzdHJsZW4oZ2Vjb3MpOworCisJaWYgKE1BWF9GSUVMRF9TSVpFIDwgbGVuKSB7CisJCXdhcm54KF8oImZpZWxkICVzIGlzIHRvbyBsb25nIiksIG1zZyk7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKGlsbGVnYWxfcGFzc3dkX2NoYXJzKGdlY29zKSkgeworCQl3YXJueChfKCIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIpLCBnZWNvcyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiAgcGFyc2VfYXJndiAoKSAtLQorICoJcGFyc2UgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMuCisgKglyZXR1cm5zIHRydWUgaWYgbm8gaW5mb3JtYXRpb24gYmV5b25kIHRoZSB1c2VybmFtZSB3YXMgZ2l2ZW4uCisgKi8KK3N0YXRpYyB2b2lkIHBhcnNlX2FyZ3Yoc3RydWN0IGNoZm5fY29udHJvbCAqY3RsLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGluZGV4LCBjLCBzdGF0dXMgPSAwOworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworCQl7ICJmdWxsLW5hbWUiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2YnIH0sCisJCXsgIm9mZmljZSIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAib2ZmaWNlLXBob25lIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdwJyB9LAorCQl7ICJob21lLXBob25lIiwgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2gnIH0sCisJCXsgImhlbHAiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndScgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfSwKKwl9OworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImY6cjpwOmg6bzp1diIsIGxvbmdfb3B0aW9ucywKKwkJCQkmaW5kZXgpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnZic6CisJCQlpZiAoIWN0bC0+YWxsb3dfZnVsbG5hbWUpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIiksIF8oIk5hbWUiKSk7CisJCQljdGwtPm5ld2YuZnVsbF9uYW1lID0gb3B0YXJnOworCQkJc3RhdHVzICs9IGNoZWNrX2dlY29zX3N0cmluZyhfKCJOYW1lIiksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlpZiAoIWN0bC0+YWxsb3dfcm9vbSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiKSwgXygiT2ZmaWNlIikpOworCQkJY3RsLT5uZXdmLm9mZmljZSA9IG9wdGFyZzsKKwkJCXN0YXR1cyArPSBjaGVja19nZWNvc19zdHJpbmcoXygiT2ZmaWNlIiksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlpZiAoIWN0bC0+YWxsb3dfd29yaykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiKSwgXygiT2ZmaWNlIFBob25lIikpOworCQkJY3RsLT5uZXdmLm9mZmljZV9waG9uZSA9IG9wdGFyZzsKKwkJCXN0YXR1cyArPSBjaGVja19nZWNvc19zdHJpbmcoXygiT2ZmaWNlIFBob25lIiksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQlpZiAoIWN0bC0+YWxsb3dfaG9tZSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiKSwgXygiSG9tZSBQaG9uZSIpKTsKKwkJCWN0bC0+bmV3Zi5ob21lX3Bob25lID0gb3B0YXJnOworCQkJc3RhdHVzICs9IGNoZWNrX2dlY29zX3N0cmluZyhfKCJIb21lIFBob25lIiksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAndSc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJCWN0bC0+Y2hhbmdlZCA9IDE7CisJCWN0bC0+aW50ZXJhY3RpdmUgPSAwOworCX0KKwlpZiAoc3RhdHVzICE9IDApCisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkvKiBkb25lIHBhcnNpbmcgYXJndW1lbnRzLiAgY2hlY2sgZm9yIGEgdXNlcm5hbWUuICovCisJaWYgKG9wdGluZCA8IGFyZ2MpIHsKKwkJaWYgKG9wdGluZCArIDEgPCBhcmdjKSB7CisJCQl3YXJueChfKCJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIpKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCQljdGwtPnVzZXJuYW1lID0gYXJndltvcHRpbmRdOworCX0KKwlyZXR1cm47Cit9CisKKy8qCisgKiAgcGFyc2VfcGFzc3dkICgpIC0tCisgKgl0YWtlIGEgc3RydWN0IHBhc3N3b3JkIGFuZCBmaWxsIGluIHRoZSBmaWVsZHMgb2YgdGhlIHN0cnVjdCBmaW5mby4KKyAqLworc3RhdGljIHZvaWQgcGFyc2VfcGFzc3dkKHN0cnVjdCBjaGZuX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyICpnZWNvczsKKworCWlmICghY3RsLT5wdykKKwkJcmV0dXJuOworCS8qIHVzZSBwd19nZWNvcyAtIHdlIHRha2UgYSBjb3B5IHNpbmNlIFBBTSBkZXN0cm95cyB0aGUgb3JpZ2luYWwgKi8KKwlnZWNvcyA9IHhzdHJkdXAoY3RsLT5wdy0+cHdfZ2Vjb3MpOworCS8qIGV4dHJhY3Qga25vd24gZmllbGRzICovCisJY3RsLT5vbGRmLmZ1bGxfbmFtZSA9IHN0cnNlcCgmZ2Vjb3MsICIsIik7CisJY3RsLT5vbGRmLm9mZmljZSA9IHN0cnNlcCgmZ2Vjb3MsICIsIik7CisJY3RsLT5vbGRmLm9mZmljZV9waG9uZSA9IHN0cnNlcCgmZ2Vjb3MsICIsIik7CisJY3RsLT5vbGRmLmhvbWVfcGhvbmUgPSBzdHJzZXAoJmdlY29zLCAiLCIpOworCS8qICBleHRyYSBmaWVsZHMgY29udGFpbiBzaXRlLXNwZWNpZmljIGluZm9ybWF0aW9uLCBhbmQgY2FuCisJICogIG5vdCBiZSBjaGFuZ2VkIGJ5IHRoaXMgdmVyc2lvbiBvZiBjaGZuLiAgKi8KKwljdGwtPm9sZGYub3RoZXIgPSBzdHJzZXAoJmdlY29zLCAiLCIpOworfQorCisvKgorICogIGFza19uZXdfZmllbGQgKCkgLS0KKyAqCWFzayB0aGUgdXNlciBmb3IgYSBnaXZlbiBmaWVsZCBhbmQgY2hlY2sgdGhhdCB0aGUgc3RyaW5nIGlzIGxlZ2FsLgorICovCitzdGF0aWMgY2hhciAqYXNrX25ld19maWVsZChzdHJ1Y3QgY2hmbl9jb250cm9sICpjdGwsIGNvbnN0IGNoYXIgKnF1ZXN0aW9uLAorCQkJICAgY2hhciAqZGVmX3ZhbCkKK3sKKwlpbnQgbGVuOworCWNoYXIgKmJ1ZjsKKyNpZm5kZWYgSEFWRV9MSUJSRUFETElORQorCXNpemVfdCBkdW1teSA9IDA7CisjZW5kaWYKKworCWlmICghZGVmX3ZhbCkKKwkJZGVmX3ZhbCA9ICIiOworCXdoaWxlICh0cnVlKSB7CisJCXByaW50ZigiJXMgWyVzXTogIiwgcXVlc3Rpb24sIGRlZl92YWwpOworCQlfX2ZwdXJnZShzdGRpbik7CisjaWZkZWYgSEFWRV9MSUJSRUFETElORQorCQlybF9iaW5kX2tleSgnXHQnLCBybF9pbnNlcnQpOworCQlpZiAoKGJ1ZiA9IHJlYWRsaW5lKE5VTEwpKSA9PSBOVUxMKQorI2Vsc2UKKwkJaWYgKGdldGxpbmUoJmJ1ZiwgJmR1bW15LCBzdGRpbikgPCAwKQorI2VuZGlmCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiQWJvcnRlZC4iKSk7CisJCS8qIHJlbW92ZSB3aGl0ZSBzcGFjZXMgZnJvbSBzdHJpbmcgZW5kICovCisJCWx0cmltX3doaXRlc3BhY2UoKHVuc2lnbmVkIGNoYXIgKikgYnVmKTsKKwkJbGVuID0gcnRyaW1fd2hpdGVzcGFjZSgodW5zaWduZWQgY2hhciAqKSBidWYpOworCQlpZiAobGVuID09IDApIHsKKwkJCWZyZWUoYnVmKTsKKwkJCXJldHVybiB4c3RyZHVwKGRlZl92YWwpOworCQl9CisJCWlmICghc3RyY2FzZWNtcChidWYsICJub25lIikpIHsKKwkJCWZyZWUoYnVmKTsKKwkJCWN0bC0+Y2hhbmdlZCA9IDE7CisJCQlyZXR1cm4geHN0cmR1cCgiIik7CisJCX0KKwkJaWYgKGNoZWNrX2dlY29zX3N0cmluZyhxdWVzdGlvbiwgYnVmKSA+PSAwKQorCQkJYnJlYWs7CisJfQorCWN0bC0+Y2hhbmdlZCA9IDE7CisJcmV0dXJuIGJ1ZjsKK30KKworLyoKKyAqICBnZXRfbG9naW5fZGVmcygpCisgKglmaW5kIC9ldGMvbG9naW4uZGVmcyBDSEZOX1JFU1RSSUNUIGFuZCBzYXZlIHJlc3RyaWN0aW9ucyB0byBydW4gdGltZQorICovCitzdGF0aWMgdm9pZCBnZXRfbG9naW5fZGVmcyhzdHJ1Y3QgY2hmbl9jb250cm9sICpjdGwpCit7CisJY29uc3QgY2hhciAqczsKKwlzaXplX3QgaTsKKwlpbnQgYnJva2VuID0gMDsKKworCS8qIHJlYWwgcm9vdCBkb2VzIG5vdCBoYXZlIHJlc3RyaWN0aW9ucyAqLworCWlmIChnZXRldWlkKCkgPT0gZ2V0dWlkKCkgJiYgZ2V0dWlkKCkgPT0gMCkgeworCQljdGwtPmFsbG93X2Z1bGxuYW1lID0gY3RsLT5hbGxvd19yb29tID0gY3RsLT5hbGxvd193b3JrID0gY3RsLT5hbGxvd19ob21lID0gMTsKKwkJcmV0dXJuOworCX0KKwlzID0gZ2V0bG9naW5kZWZzX3N0cigiQ0hGTl9SRVNUUklDVCIsICIiKTsKKwlpZiAoIXN0cmNtcChzLCAieWVzIikpIHsKKwkJY3RsLT5hbGxvd19yb29tID0gY3RsLT5hbGxvd193b3JrID0gY3RsLT5hbGxvd19ob21lID0gMTsKKwkJcmV0dXJuOworCX0KKwlpZiAoIXN0cmNtcChzLCAibm8iKSkgeworCQljdGwtPmFsbG93X2Z1bGxuYW1lID0gY3RsLT5hbGxvd19yb29tID0gY3RsLT5hbGxvd193b3JrID0gY3RsLT5hbGxvd19ob21lID0gMTsKKwkJcmV0dXJuOworCX0KKwlmb3IgKGkgPSAwOyBzW2ldOyBpKyspIHsKKwkJc3dpdGNoIChzW2ldKSB7CisJCWNhc2UgJ2YnOgorCQkJY3RsLT5hbGxvd19mdWxsbmFtZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQljdGwtPmFsbG93X3Jvb20gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3cnOgorCQkJY3RsLT5hbGxvd193b3JrID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCWN0bC0+YWxsb3dfaG9tZSA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyb2tlbiA9IDE7CisJCX0KKwl9CisJaWYgKGJyb2tlbikKKwkJd2FybngoXygiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIiksIF9QQVRIX0xPR0lOREVGUywgcyk7CisJaWYgKCFjdGwtPmFsbG93X2Z1bGxuYW1lICYmICFjdGwtPmFsbG93X3Jvb20gJiYgIWN0bC0+YWxsb3dfd29yayAmJiAhY3RsLT5hbGxvd19ob21lKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiKSwgX1BBVEhfTE9HSU5ERUZTKTsKKwlyZXR1cm47Cit9CisKKy8qCisgKiAgYXNrX2luZm8gKCkgLS0KKyAqCXByb21wdCB0aGUgdXNlciBmb3IgdGhlIGZpbmdlciBpbmZvcm1hdGlvbiBhbmQgc3RvcmUgaXQuCisgKi8KK3N0YXRpYyB2b2lkIGFza19pbmZvKHN0cnVjdCBjaGZuX2NvbnRyb2wgKmN0bCkKK3sKKwlpZiAoY3RsLT5hbGxvd19mdWxsbmFtZSkKKwkJY3RsLT5uZXdmLmZ1bGxfbmFtZSA9IGFza19uZXdfZmllbGQoY3RsLCBfKCJOYW1lIiksIGN0bC0+b2xkZi5mdWxsX25hbWUpOworCWlmIChjdGwtPmFsbG93X3Jvb20pCisJCWN0bC0+bmV3Zi5vZmZpY2UgPSBhc2tfbmV3X2ZpZWxkKGN0bCwgXygiT2ZmaWNlIiksIGN0bC0+b2xkZi5vZmZpY2UpOworCWlmIChjdGwtPmFsbG93X3dvcmspCisJCWN0bC0+bmV3Zi5vZmZpY2VfcGhvbmUgPSBhc2tfbmV3X2ZpZWxkKGN0bCwgXygiT2ZmaWNlIFBob25lIiksIGN0bC0+b2xkZi5vZmZpY2VfcGhvbmUpOworCWlmIChjdGwtPmFsbG93X2hvbWUpCisJCWN0bC0+bmV3Zi5ob21lX3Bob25lID0gYXNrX25ld19maWVsZChjdGwsIF8oIkhvbWUgUGhvbmUiKSwgY3RsLT5vbGRmLmhvbWVfcGhvbmUpOworCXB1dGNoYXIoJ1xuJyk7Cit9CisKKy8qCisgKiAgZmluZF9maWVsZCAoKSAtLQorICoJZmluZCBmaWVsZCB2YWx1ZSBpbiB1bmludGVyYWN0aXZlIG1vZGU7IGNhbiBiZSBuZXcsIG9sZCwgb3IgYmxhbmsKKyAqLworc3RhdGljIGNoYXIgKmZpbmRfZmllbGQoY2hhciAqbmYsIGNoYXIgKm9mKQoreworCWlmIChuZikKKwkJcmV0dXJuIG5mOworCWlmIChvZikKKwkJcmV0dXJuIG9mOworCXJldHVybiB4c3RyZHVwKCIiKTsKK30KKworLyoKKyAqICBhZGRfbWlzc2luZyAoKSAtLQorICoJYWRkIG5vdCBzdXBwbGllZCBmaWVsZCB2YWx1ZXMgd2hlbiBpbiB1bmludGVyYWN0aXZlIG1vZGUKKyAqLworc3RhdGljIHZvaWQgYWRkX21pc3Npbmcoc3RydWN0IGNoZm5fY29udHJvbCAqY3RsKQoreworCWN0bC0+bmV3Zi5mdWxsX25hbWUgPSBmaW5kX2ZpZWxkKGN0bC0+bmV3Zi5mdWxsX25hbWUsIGN0bC0+b2xkZi5mdWxsX25hbWUpOworCWN0bC0+bmV3Zi5vZmZpY2UgPSBmaW5kX2ZpZWxkKGN0bC0+bmV3Zi5vZmZpY2UsIGN0bC0+b2xkZi5vZmZpY2UpOworCWN0bC0+bmV3Zi5vZmZpY2VfcGhvbmUgPSBmaW5kX2ZpZWxkKGN0bC0+bmV3Zi5vZmZpY2VfcGhvbmUsIGN0bC0+b2xkZi5vZmZpY2VfcGhvbmUpOworCWN0bC0+bmV3Zi5ob21lX3Bob25lID0gZmluZF9maWVsZChjdGwtPm5ld2YuaG9tZV9waG9uZSwgY3RsLT5vbGRmLmhvbWVfcGhvbmUpOworCWN0bC0+bmV3Zi5vdGhlciA9IGZpbmRfZmllbGQoY3RsLT5uZXdmLm90aGVyLCBjdGwtPm9sZGYub3RoZXIpOworCXByaW50ZigiXG4iKTsKK30KKworLyoKKyAqICBzYXZlX25ld19kYXRhICgpIC0tCisgKglzYXZlIHRoZSBnaXZlbiBmaW5nZXIgaW5mbyBpbiAvZXRjL3Bhc3N3ZC4KKyAqCXJldHVybiB6ZXJvIG9uIHN1Y2Nlc3MuCisgKi8KK3N0YXRpYyBpbnQgc2F2ZV9uZXdfZGF0YShzdHJ1Y3QgY2hmbl9jb250cm9sICpjdGwpCit7CisJY2hhciAqZ2Vjb3M7CisJaW50IGxlbjsKKworCS8qIGNyZWF0ZSB0aGUgbmV3IGdlY29zIHN0cmluZyAqLworCWxlbiA9IHhhc3ByaW50ZigmZ2Vjb3MsICIlcywlcywlcywlcywlcyIsCisJCQljdGwtPm5ld2YuZnVsbF9uYW1lLAorCQkJY3RsLT5uZXdmLm9mZmljZSwKKwkJCWN0bC0+bmV3Zi5vZmZpY2VfcGhvbmUsCisJCQljdGwtPm5ld2YuaG9tZV9waG9uZSwKKwkJCWN0bC0+bmV3Zi5vdGhlcik7CisKKwkvKiByZW1vdmUgdHJhaWxpbmcgZW1wdHkgZmllbGRzIChidXQgbm90IHN1YmZpZWxkcyBvZiBjdGwtPm5ld2Yub3RoZXIpICovCisJaWYgKCFjdGwtPm5ld2Yub3RoZXIpIHsKKwkJd2hpbGUgKGxlbiA+IDAgJiYgZ2Vjb3NbbGVuIC0gMV0gPT0gJywnKQorCQkJbGVuLS07CisJCWdlY29zW2xlbl0gPSAwOworCX0KKworI2lmZGVmIEhBVkVfTElCVVNFUgorCWlmIChzZXRfdmFsdWVfbGlidXNlcigiY2hmbiIsIGN0bC0+dXNlcm5hbWUsIGN0bC0+cHctPnB3X3VpZCwKKwkJCUxVX0dFQ09TLCBnZWNvcykgPCAwKSB7CisjZWxzZSAvKiBIQVZFX0xJQlVTRVIgKi8KKwkvKiB3cml0ZSB0aGUgbmV3IHN0cnVjdCBwYXNzd2QgdG8gdGhlIHBhc3N3ZCBmaWxlLiAqLworCWN0bC0+cHctPnB3X2dlY29zID0gZ2Vjb3M7CisJaWYgKHNldHB3bmFtKGN0bC0+cHcsICIuY2hmbiIpIDwgMCkgeworCQl3YXJuKCJzZXRwd25hbSBmYWlsZWQiKTsKKyNlbmRpZgorCQlwcmludGYoXworCQkgICAgICAgKCJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIpKTsKKwkJcmV0dXJuIC0xOworCX0KKwlmcmVlKGdlY29zKTsKKwlwcmludGYoXygiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iKSk7CisJcmV0dXJuIDA7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl1aWRfdCB1aWQ7CisJc3RydWN0IGNoZm5fY29udHJvbCBjdGwgPSB7CisJCS5pbnRlcmFjdGl2ZSA9IDEKKwl9OworCisJc2FuaXRpemVfZW52KCk7CisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOwkvKiBib3RoIGZvciBtZXNzYWdlcyBhbmQgZm9yIGlzY250cmwoKSBiZWxvdyAqLworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKwl1aWQgPSBnZXR1aWQoKTsKKworCS8qIGNoZWNrIC9ldGMvbG9naW4uZGVmcyBDSEZOX1JFU1RSSUNUICovCisJZ2V0X2xvZ2luX2RlZnMoJmN0bCk7CisKKwlwYXJzZV9hcmd2KCZjdGwsIGFyZ2MsIGFyZ3YpOworCWlmICghY3RsLnVzZXJuYW1lKSB7CisJCWN0bC5wdyA9IGdldHB3dWlkKHVpZCk7CisJCWlmICghY3RsLnB3KQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIiksCisJCQkgICAgIHVpZCk7CisJCWN0bC51c2VybmFtZSA9IGN0bC5wdy0+cHdfbmFtZTsKKwl9IGVsc2UgeworCQljdGwucHcgPSBnZXRwd25hbShjdGwudXNlcm5hbWUpOworCQlpZiAoIWN0bC5wdykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iKSwKKwkJCSAgICAgY3RsLnVzZXJuYW1lKTsKKwl9CisJcGFyc2VfcGFzc3dkKCZjdGwpOworI2lmbmRlZiBIQVZFX0xJQlVTRVIKKwlpZiAoIShpc19sb2NhbChjdGwudXNlcm5hbWUpKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIikpOworI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlpZiAoaXNfc2VsaW51eF9lbmFibGVkKCkgPiAwKSB7CisJCWlmICh1aWQgPT0gMCkgeworCQkJYWNjZXNzX3ZlY3Rvcl90IGF2ID0gZ2V0X2FjY2Vzc192ZWN0b3IoInBhc3N3ZCIsICJjaGZuIik7CisKKwkJCWlmIChzZWxpbnV4X2NoZWNrX3Bhc3N3ZF9hY2Nlc3MoYXYpICE9IDApIHsKKwkJCQlzZWN1cml0eV9jb250ZXh0X3QgdXNlcl9jb250ZXh0OworCQkJCWlmIChnZXRwcmV2Y29uKCZ1c2VyX2NvbnRleHQpIDwgMCkKKwkJCQkJdXNlcl9jb250ZXh0ID0gTlVMTDsKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSAiCisJCQkJICAgICAgICJ0aGUgZmluZ2VyIGluZm8gb2YgJXMiKSwKKwkJCQkgICAgIHVzZXJfY29udGV4dCA/IDogXygiVW5rbm93biB1c2VyIGNvbnRleHQiKSwKKwkJCQkgICAgIGN0bC51c2VybmFtZSk7CisJCQl9CisJCX0KKwkJaWYgKHNldHVwRGVmYXVsdENvbnRleHQoX1BBVEhfUEFTU1dEKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIpLCBfUEFUSF9QQVNTV0QpOworCX0KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MSUJVU0VSCisJLyogSWYgd2UncmUgc2V0dWlkIGFuZCBub3QgcmVhbGx5IHJvb3QsIGRpc2FsbG93IHRoZSBwYXNzd29yZCBjaGFuZ2UuICovCisJaWYgKGdldGV1aWQoKSAhPSBnZXR1aWQoKSAmJiB1aWQgIT0gY3RsLnB3LT5wd191aWQpIHsKKyNlbHNlCisJaWYgKHVpZCAhPSAwICYmIHVpZCAhPSBjdGwucHctPnB3X3VpZCkgeworI2VuZGlmCisJCWVycm5vID0gRUFDQ0VTOworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlICIKKwkJICAgICAgImFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIikpOworCX0KKworCXByaW50ZihfKCJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIiksIGN0bC51c2VybmFtZSk7CisKKyNpZiAhZGVmaW5lZChIQVZFX0xJQlVTRVIpICYmIGRlZmluZWQoQ0hGTl9DSFNIX1BBU1NXT1JEKQorCWlmICghYXV0aF9wYW0oImNoZm4iLCB1aWQsIGN0bC51c2VybmFtZSkpIHsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisjZW5kaWYKKworCWlmIChjdGwuaW50ZXJhY3RpdmUpCisJCWFza19pbmZvKCZjdGwpOworCisJYWRkX21pc3NpbmcoJmN0bCk7CisKKwlpZiAoIWN0bC5jaGFuZ2VkKSB7CisJCXByaW50ZihfKCJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iKSk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJcmV0dXJuIHNhdmVfbmV3X2RhdGEoJmN0bCkgPT0gMCA/IEVYSVRfU1VDQ0VTUyA6IEVYSVRfRkFJTFVSRTsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL2Noc2guMSBiL2xvZ2luLXV0aWxzL2Noc2guMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTU1YjA1Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvY2hzaC4xCkBAIC0wLDAgKzEsNjUgQEAKKy5cIgorLlwiICBjaHNoLjEgLS0gY2hhbmdlIHlvdXIgbG9naW4gc2hlbGwKKy5cIiAgKGMpIDE5OTQgYnkgc2FsdmF0b3JlIHZhbGVudGUgPHN2YWxlbnRlQGF0aGVuYS5taXQuZWR1PgorLlwiCisuXCIgIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgWW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kCisuXCIgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorLlwiICBUaGVyZSBpcyBubyB3YXJyYW50eS4KKy5cIgorLlRIIENIU0ggMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorY2hzaCBcLSBjaGFuZ2UgeW91ciBsb2dpbiBzaGVsbAorLlNIIFNZTk9QU0lTCisuQiBjaHNoCisuUkIgWyBcLXMKKy5JUiBzaGVsbCBdCisuUkIgWyBcLWwgXQorLlJCIFsgXC1oIF0KKy5SQiBbIFwtdiBdCisuUkkgWyB1c2VybmFtZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIGNoc2gKK2lzIHVzZWQgdG8gY2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuCitJZiBhIHNoZWxsIGlzIG5vdCBnaXZlbiBvbiB0aGUgY29tbWFuZCBsaW5lLAorLkIgY2hzaAorcHJvbXB0cyBmb3Igb25lLgorCisuQiBjaHNoCitzdXBwb3J0cyBub24tbG9jYWwgZW50cmllcyAoa2VyYmVyb3MsIExEQVAsIGV0Yy5cJikgaWYgbGlua2VkIHdpdGggbGlidXNlciwKK290aGVyd2lzZSB1c2UgXGZCeXBjaHNoXGZSLCBcZkJsY2hzaFxmUiBvciBhbnkgb3RoZXIgaW1wbGVtZW50YXRpb24gZm9yCitub24tbG9jYWwgZW50cmllcy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaGVsbCAiIFxmSXNoZWxsCitTcGVjaWZ5IHlvdXIgbG9naW4gc2hlbGwuCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1saXN0XC1zaGVsbHMiCitQcmludCB0aGUgbGlzdCBvZiBzaGVsbHMgbGlzdGVkIGluCisuSSAvZXRjL3NoZWxscworYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIICJWQUxJRCBTSEVMTFMiCisuQiBjaHNoCit3aWxsIGFjY2VwdCB0aGUgZnVsbCBwYXRobmFtZSBvZiBhbnkgZXhlY3V0YWJsZSBmaWxlIG9uIHRoZSBzeXN0ZW0uCitIb3dldmVyLCBpdCB3aWxsIGlzc3VlIGEgd2FybmluZyBpZiB0aGUgc2hlbGwgaXMgbm90IGxpc3RlZCBpbiB0aGUKKy5JIC9ldGMvc2hlbGxzCitmaWxlLgorT24gdGhlIG90aGVyIGhhbmQsIGl0IGNhbiBhbHNvIGJlIGNvbmZpZ3VyZWQgc3VjaCB0aGF0IGl0IHdpbGwKK29ubHkgYWNjZXB0IHNoZWxscyBsaXN0ZWQgaW4gdGhpcyBmaWxlLCB1bmxlc3MgeW91IGFyZSByb290LgorLlNIICJFWElUIFNUQVRVUyIKK1JldHVybnMgMCBpZiBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwsIDEgaWYgb3BlcmF0aW9uIGZhaWxlZCBvciBjb21tYW5kIHN5bnRheCB3YXMgbm90IHZhbGlkLgorLlNIICJTRUUgQUxTTyIKKy5CUiBsb2dpbiAoMSksCisuQlIgbG9naW4uZGVmcyAoNSksCisuQlIgcGFzc3dkICg1KSwKKy5CUiBzaGVsbHMgKDUpCisuU0ggQVVUSE9SCitTYWx2YXRvcmUgVmFsZW50ZSA8c3ZhbGVudGVAbWl0LmVkdT4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBjaHNoIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9jaHNoLmMgYi9sb2dpbi11dGlscy9jaHNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI2N2M3MgotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2Noc2guYwpAQCAtMCwwICsxLDM2NSBAQAorLyoKKyAqICAgY2hzaC5jIC0tIGNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsCisgKiAgIChjKSAxOTk0IGJ5IHNhbHZhdG9yZSB2YWxlbnRlIDxzdmFsZW50ZUBhdGhlbmEubWl0LmVkdT4KKyAqICAgKGMpIDIwMTIgYnkgQ29keSBNYWxvbmV5IDxjbWFsb25leUB0aGVvcmV0aWNhbGNoYW9zLmNvbT4KKyAqCisgKiAgIHRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kCisgKiAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlLgorICogICB0aGVyZSBpcyBubyB3YXJyYW50eS4KKyAqCisgKiAgICRBdXRob3I6IGFlYnIgJAorICogICAkUmV2aXNpb246IDEuMTkgJAorICogICAkRGF0ZTogMTk5OC8wNi8xMSAyMjozMDoxNCAkCisgKgorICogVXBkYXRlZCBUaHUgT2N0IDEyIDA5OjMzOjE1IDE5OTUgYnkgZmFpdGhAY3MudW5jLmVkdSB3aXRoIHNlY3VyaXR5CisgKiAgIHBhdGNoZXMgZnJvbSBaZWZyYW0gPEEuTWFpbkBkY3Mud2Fyd2ljay5hYy51az4KKyAqCisgKiBVcGRhdGVkIE1vbiBKdWwgIDEgMTg6NDY6MjIgMTk5NiBieSBqYW5sQG1hdGgudWlvLm5vIHdpdGggc2VjdXJpdHkKKyAqICAgc3VnZ2VzdGlvbiBmcm9tIFplZnJhbS4gIERpc2FsbG93aW5nIHVzZXJzIHdpdGggc2hlbGxzIG5vdCBpbiAvZXRjL3NoZWxscworICogICBmcm9tIGNoYW5naW5nIHRoZWlyIHNoZWxsLgorICoKKyAqICAgMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogICAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImVudi5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiaXNsb2NhbC5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInNldHB3bmFtLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2luY2x1ZGUgImNoLWNvbW1vbi5oIgorCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisjIGluY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorIyBpbmNsdWRlICJzZWxpbnV4X3V0aWxzLmgiCisjZW5kaWYKKworCisjaWZkZWYgSEFWRV9MSUJVU0VSCisjIGluY2x1ZGUgPGxpYnVzZXIvdXNlci5oPgorIyBpbmNsdWRlICJsaWJ1c2VyLmgiCisjZWxpZiBDSEZOX0NIU0hfUEFTU1dPUkQKKyMgaW5jbHVkZSAiYXV0aC5oIgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJQlJFQURMSU5FCisjIGRlZmluZSBfRlVOQ1RJT05fREVGCisjIGluY2x1ZGUgPHJlYWRsaW5lL3JlYWRsaW5lLmg+CisjZW5kaWYKKworc3RydWN0IHNpbmZvIHsKKwljaGFyICp1c2VybmFtZTsKKwljaGFyICpzaGVsbDsKK307CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqZnAgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBmcCk7CisJZnByaW50ZihmcCwgXygiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIGZwKTsKKwlmcHV0cyhfKCJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIpLCBmcCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBmcCk7CisJZnB1dHMoXygiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIpLCBmcCk7CisJZnB1dHMoXygiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iKSwgZnApOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgZnApOworCXByaW50ZiggIiAtdSwgLS1oZWxwICAgICAgICAgICAlc1xuIiwgVVNBR0VfT1BUU1RSX0hFTFApOworCXByaW50ZiggIiAtdiwgLS12ZXJzaW9uICAgICAgICAlc1xuIiwgVVNBR0VfT1BUU1RSX1ZFUlNJT04pOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiY2hzaCgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKKy8qCisgKiAgaXNfa25vd25fc2hlbGwoKSAtLSBpZiB0aGUgZ2l2ZW4gc2hlbGwgYXBwZWFycyBpbiAvZXRjL3NoZWxscywKKyAqCXJldHVybiB0cnVlLiAgaWYgbm90LCByZXR1cm4gZmFsc2UuCisgKi8KK3N0YXRpYyBpbnQgaXNfa25vd25fc2hlbGwoY29uc3QgY2hhciAqc2hlbGxfbmFtZSkKK3sKKwljaGFyICpzLCByZXQgPSAwOworCisJaWYgKCFzaGVsbF9uYW1lKQorCQlyZXR1cm4gMDsKKworCXNldHVzZXJzaGVsbCgpOworCXdoaWxlICgocyA9IGdldHVzZXJzaGVsbCgpKSkgeworCQlpZiAoc3RyY21wKHNoZWxsX25hbWUsIHMpID09IDApIHsKKwkJCXJldCA9IDE7CisJCQlicmVhazsKKwkJfQorCX0KKwllbmR1c2Vyc2hlbGwoKTsKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogIHByaW50X3NoZWxscyAoKSAtLSAvZXRjL3NoZWxscyBpcyBvdXRwdXR0ZWQgdG8gc3Rkb3V0LgorICovCitzdGF0aWMgdm9pZCBwcmludF9zaGVsbHModm9pZCkKK3sKKwljaGFyICpzOworCisJd2hpbGUgKChzID0gZ2V0dXNlcnNoZWxsKCkpKQorCQlwcmludGYoIiVzXG4iLCBzKTsKKwllbmR1c2Vyc2hlbGwoKTsKK30KKworI2lmZGVmIEhBVkVfTElCUkVBRExJTkUKK3N0YXRpYyBjaGFyICpzaGVsbF9uYW1lX2dlbmVyYXRvcihjb25zdCBjaGFyICp0ZXh0LCBpbnQgc3RhdGUpCit7CisJc3RhdGljIHNpemVfdCBsZW47CisJY2hhciAqczsKKworCWlmICghc3RhdGUpIHsKKwkJc2V0dXNlcnNoZWxsKCk7CisJCWxlbiA9IHN0cmxlbih0ZXh0KTsKKwl9CisKKwl3aGlsZSAoKHMgPSBnZXR1c2Vyc2hlbGwoKSkpIHsKKwkJaWYgKHN0cm5jbXAocywgdGV4dCwgbGVuKSA9PSAwKQorCQkJcmV0dXJuIHhzdHJkdXAocyk7CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgY2hhciAqKnNoZWxsX25hbWVfY29tcGxldGlvbihjb25zdCBjaGFyICp0ZXh0LAorCQkJCSAgICBpbnQgc3RhcnQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJCSAgICBpbnQgZW5kIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlybF9hdHRlbXB0ZWRfY29tcGxldGlvbl9vdmVyID0gMTsKKwlyZXR1cm4gcmxfY29tcGxldGlvbl9tYXRjaGVzKHRleHQsIHNoZWxsX25hbWVfZ2VuZXJhdG9yKTsKK30KKyNlbmRpZgorCisvKgorICogIHBhcnNlX2FyZ3YgKCkgLS0KKyAqCXBhcnNlIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzLCBhbmQgZmlsbCBpbiAicGluZm8iIHdpdGggYW55CisgKglpbmZvcm1hdGlvbiBmcm9tIHRoZSBjb21tYW5kIGxpbmUuCisgKi8KK3N0YXRpYyB2b2lkIHBhcnNlX2FyZ3YoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBzdHJ1Y3Qgc2luZm8gKnBpbmZvKQoreworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworCQl7InNoZWxsIiwgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsibGlzdC1zaGVsbHMiLCBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2wnfSwKKwkJeyJoZWxwIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCd9LAorCQl7InZlcnNpb24iLCAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2J30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfSwKKwl9OworCWludCBjOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgInM6bGh1diIsIGxvbmdfb3B0aW9ucywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICd2JzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlICd1JzogLyogZGVwcmVjYXRlZCAqLworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ2wnOgorCQkJcHJpbnRfc2hlbGxzKCk7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgJ3MnOgorCQkJcGluZm8tPnNoZWxsID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisJLyogZG9uZSBwYXJzaW5nIGFyZ3VtZW50cy4gIGNoZWNrIGZvciBhIHVzZXJuYW1lLiAqLworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCWlmIChvcHRpbmQgKyAxIDwgYXJnYykgeworCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBoYW5kbGUgbXVsdGlwbGUgdXNlcm5hbWVzIikpOworCQl9CisJCXBpbmZvLT51c2VybmFtZSA9IGFyZ3Zbb3B0aW5kXTsKKwl9Cit9CisKKy8qCisgKiAgYXNrX25ld19zaGVsbCAoKSAtLQorICoJYXNrIHRoZSB1c2VyIGZvciBhIHNoZWxsIGFuZCByZXR1cm4gaXQuCisgKi8KK3N0YXRpYyBjaGFyICphc2tfbmV3X3NoZWxsKGNoYXIgKnF1ZXN0aW9uLCBjaGFyICpvbGRzaGVsbCkKK3sKKwlpbnQgbGVuOworCWNoYXIgKmFucyA9IE5VTEw7CisjaWZkZWYgSEFWRV9MSUJSRUFETElORQorCXJsX2F0dGVtcHRlZF9jb21wbGV0aW9uX2Z1bmN0aW9uID0gc2hlbGxfbmFtZV9jb21wbGV0aW9uOworI2Vsc2UKKwlzaXplX3QgZHVtbXkgPSAwOworI2VuZGlmCisJaWYgKCFvbGRzaGVsbCkKKwkJb2xkc2hlbGwgPSAiIjsKKwlwcmludGYoIiVzIFslc11cbiIsIHF1ZXN0aW9uLCBvbGRzaGVsbCk7CisjaWZkZWYgSEFWRV9MSUJSRUFETElORQorCWlmICgoYW5zID0gcmVhZGxpbmUoIj4gIikpID09IE5VTEwpCisjZWxzZQorCWlmIChnZXRsaW5lKCZhbnMsICZkdW1teSwgc3RkaW4pIDwgMCkKKyNlbmRpZgorCQlyZXR1cm4gTlVMTDsKKwkvKiByZW1vdmUgdGhlIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiBhbnMuICovCisJbHRyaW1fd2hpdGVzcGFjZSgodW5zaWduZWQgY2hhciAqKSBhbnMpOworCWxlbiA9IHJ0cmltX3doaXRlc3BhY2UoKHVuc2lnbmVkIGNoYXIgKikgYW5zKTsKKwlpZiAobGVuID09IDApCisJCXJldHVybiBOVUxMOworCXJldHVybiBhbnM7Cit9CisKKy8qCisgKiAgY2hlY2tfc2hlbGwgKCkgLS0gaWYgdGhlIHNoZWxsIGlzIGNvbXBsZXRlbHkgaW52YWxpZCwgcHJpbnQKKyAqCWFuIGVycm9yIGFuZCBleGl0LgorICovCitzdGF0aWMgdm9pZCBjaGVja19zaGVsbChjb25zdCBjaGFyICpzaGVsbCkKK3sKKwlpZiAoKnNoZWxsICE9ICcvJykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIpKTsKKwlpZiAoYWNjZXNzKHNoZWxsLCBGX09LKSA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJcIiVzXCIgZG9lcyBub3QgZXhpc3QiKSwgc2hlbGwpOworCWlmIChhY2Nlc3Moc2hlbGwsIFhfT0spIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIpLCBzaGVsbCk7CisJaWYgKGlsbGVnYWxfcGFzc3dkX2NoYXJzKHNoZWxsKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIiksIHNoZWxsKTsKKwlpZiAoIWlzX2tub3duX3NoZWxsKHNoZWxsKSkgeworI2lmZGVmIE9OTFlfTElTVEVEX1NIRUxMUworCQlpZiAoIWdldHVpZCgpKQorCQkJd2FybngoXygiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIiksIHNoZWxsLAorCQkJICAgICAgX1BBVEhfU0hFTExTKTsKKwkJZWxzZQorCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkgICAgIF8oIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorCQkJICAgICAgICJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIiksIHNoZWxsLCBfUEFUSF9TSEVMTFMsCisJCQkgICAgIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKyNlbHNlCisJCXdhcm54KF8oIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorCQkJIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iKSwgc2hlbGwsIF9QQVRIX1NIRUxMUywKKwkJICAgICAgIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKyNlbmRpZgorCX0KK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNoYXIgKm9sZHNoZWxsOworCWludCBudWxsc2hlbGwgPSAwOworCWNvbnN0IHVpZF90IHVpZCA9IGdldHVpZCgpOworCXN0cnVjdCBzaW5mbyBpbmZvID0geyBOVUxMIH07CisJc3RydWN0IHBhc3N3ZCAqcHc7CisKKwlzYW5pdGl6ZV9lbnYoKTsKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJcGFyc2VfYXJndihhcmdjLCBhcmd2LCAmaW5mbyk7CisJaWYgKCFpbmZvLnVzZXJuYW1lKSB7CisJCXB3ID0gZ2V0cHd1aWQodWlkKTsKKwkJaWYgKCFwdykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIpLAorCQkJICAgICB1aWQpOworCX0gZWxzZSB7CisJCXB3ID0gZ2V0cHduYW0oaW5mby51c2VybmFtZSk7CisJCWlmICghcHcpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIiksCisJCQkgICAgIGluZm8udXNlcm5hbWUpOworCX0KKworI2lmbmRlZiBIQVZFX0xJQlVTRVIKKwlpZiAoIShpc19sb2NhbChwdy0+cHdfbmFtZSkpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiKSk7CisjZW5kaWYKKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCWlmIChpc19zZWxpbnV4X2VuYWJsZWQoKSA+IDApIHsKKwkJaWYgKHVpZCA9PSAwKSB7CisJCQlhY2Nlc3NfdmVjdG9yX3QgYXYgPSBnZXRfYWNjZXNzX3ZlY3RvcigicGFzc3dkIiwgImNoc2giKTsKKworCQkJaWYgKHNlbGludXhfY2hlY2tfcGFzc3dkX2FjY2VzcyhhdikgIT0gMCkgeworCQkJCXNlY3VyaXR5X2NvbnRleHRfdCB1c2VyX2NvbnRleHQ7CisJCQkJaWYgKGdldHByZXZjb24oJnVzZXJfY29udGV4dCkgPCAwKQorCQkJCQl1c2VyX2NvbnRleHQgPQorCQkJCQkgICAgKHNlY3VyaXR5X2NvbnRleHRfdCkgTlVMTDsKKworCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIpLAorCQkJCSAgICAgdXNlcl9jb250ZXh0ID8gOiBfKCJVbmtub3duIHVzZXIgY29udGV4dCIpLAorCQkJCSAgICAgcHctPnB3X25hbWUpOworCQkJfQorCQl9CisJCWlmIChzZXR1cERlZmF1bHRDb250ZXh0KF9QQVRIX1BBU1NXRCkgIT0gMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIpLCBfUEFUSF9QQVNTV0QpOworCX0KKyNlbmRpZgorCisJb2xkc2hlbGwgPSBwdy0+cHdfc2hlbGw7CisJaWYgKG9sZHNoZWxsID09IE5VTEwgfHwgKm9sZHNoZWxsID09ICdcMCcpIHsKKwkJb2xkc2hlbGwgPSBfUEFUSF9CU0hFTEw7CS8qIGRlZmF1bHQgKi8KKwkJbnVsbHNoZWxsID0gMTsKKwl9CisKKwkvKiByZWFsaXR5IGNoZWNrICovCisjaWZkZWYgSEFWRV9MSUJVU0VSCisJLyogSWYgd2UncmUgc2V0dWlkIGFuZCBub3QgcmVhbGx5IHJvb3QsIGRpc2FsbG93IHRoZSBwYXNzd29yZCBjaGFuZ2UuICovCisJaWYgKGdldGV1aWQoKSAhPSBnZXR1aWQoKSAmJiB1aWQgIT0gcHctPnB3X3VpZCkgeworI2Vsc2UKKwlpZiAodWlkICE9IDAgJiYgdWlkICE9IHB3LT5wd191aWQpIHsKKyNlbmRpZgorCQllcnJubyA9IEVBQ0NFUzsKKwkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJICAgIF8oInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgIgorCQkgICAgICAiYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiKSk7CisJfQorCWlmICh1aWQgIT0gMCAmJiAhaXNfa25vd25fc2hlbGwob2xkc2hlbGwpKSB7CisJCWVycm5vID0gRUFDQ0VTOworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgIgorCQkJCSAgICAic2hlbGwgY2hhbmdlIGRlbmllZCIpLCBfUEFUSF9TSEVMTFMpOworCX0KKworCXByaW50ZihfKCJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iKSwgcHctPnB3X25hbWUpOworCisjaWYgIWRlZmluZWQoSEFWRV9MSUJVU0VSKSAmJiBkZWZpbmVkKENIRk5fQ0hTSF9QQVNTV09SRCkKKwlpZiAoIWF1dGhfcGFtKCJjaHNoIiwgdWlkLCBwdy0+cHdfbmFtZSkpIHsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisjZW5kaWYKKwlpZiAoIWluZm8uc2hlbGwpIHsKKwkJaW5mby5zaGVsbCA9IGFza19uZXdfc2hlbGwoXygiTmV3IHNoZWxsIiksIG9sZHNoZWxsKTsKKwkJaWYgKCFpbmZvLnNoZWxsKQorCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwljaGVja19zaGVsbChpbmZvLnNoZWxsKTsKKworCWlmICghbnVsbHNoZWxsICYmIHN0cmNtcChvbGRzaGVsbCwgaW5mby5zaGVsbCkgPT0gMCkKKwkJZXJyeChFWElUX1NVQ0NFU1MsIF8oIlNoZWxsIG5vdCBjaGFuZ2VkLiIpKTsKKworI2lmZGVmIEhBVkVfTElCVVNFUgorCWlmIChzZXRfdmFsdWVfbGlidXNlcigiY2hzaCIsIHB3LT5wd19uYW1lLCB1aWQsCisJICAgIExVX0xPR0lOU0hFTEwsIGluZm8uc2hlbGwpIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIikpOworI2Vsc2UKKwlwdy0+cHdfc2hlbGwgPSBpbmZvLnNoZWxsOworCWlmIChzZXRwd25hbShwdywgIi5jaHNoIikgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZXRwd25hbSBmYWlsZWRcbiIKKwkJCSJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIpKTsKKyNlbmRpZgorCisJcHJpbnRmKF8oIlNoZWxsIGNoYW5nZWQuXG4iKSk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL2lzbG9jYWwuYyBiL2xvZ2luLXV0aWxzL2lzbG9jYWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YzRlNzc1Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvaXNsb2NhbC5jCkBAIC0wLDAgKzEsMTEyIEBACisvKgorICogaXNsb2NhbC5jIC0gcmV0dXJucyB0cnVlIGlmIHVzZXIgaXMgcmVnaXN0ZXJlZCBpbiB0aGUgbG9jYWwKKyAqIC9ldGMvcGFzc3dkIGZpbGUuIFdyaXR0ZW4gYnkgw4FsdmFybyBNYXJ0w61uZXogRWNoZXZhcnJpYSwKKyAqIGFsdmFyb0BlbmFuby5ldHNpdC51cG0uZXMsIHRvIGFsbG93IHBlYWNlZnVsIGNvZXhpc3RlbmNlIHdpdGggeXAuIE5vdiA5NC4KKyAqCisgKiBIYWNrZWQgYSBiaXQgYnkgcG9lQGRhaW1pLmFhdS5kaworICogU2VlIGFsc28gZnRwOi8vZnRwLmRhaW1pLmFhdS5kay9wdWIvbGludXgvcG9lL2FkbXV0aWwqCisgKgorICogSGFja2VkIGJ5IFBldGVyIEJyZWl0ZW5sb2huZXIsIHBlYkBtcHBtdS5tcGcuZGUsCisgKiAgIHRvIGRpc3Rpbmd1aXNoIHVzZXIgbmFtZXMgd2hlcmUgb25lIGlzIGEgcHJlZml4IG9mIHRoZSBvdGhlciwKKyAqICAgYW5kIHRvIHVzZSAicGF0aG5hbWVzLmgiLiBPY3QgNSwgOTYuCisgKgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICoKKyAqIDIwMDgtMDQtMDYgSmFtZXMgWW91bmdtYW4sIGpheUBnbnUub3JnCisgKiAtIENvbXBsZXRlbHkgcmV3cml0dGVuIHRvIHJlbW92ZSBhc3N1bXB0aW9uIHRoYXQgL2V0Yy9wYXNzd2QKKyAqICAgbGluZXMgYXJlIDwgMTAyNCBjaGFyYWN0ZXJzIGxvbmcuICBBbHNvIGFkZGVkIHVuaXQgdGVzdHMuCisgKi8KKworI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImlzbG9jYWwuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworc3RhdGljIGludCBpc19sb2NhbF9pbl9maWxlKGNvbnN0IGNoYXIgKnVzZXIsIGNvbnN0IGNoYXIgKmZpbGVuYW1lKQoreworCWludCBsb2NhbCA9IDA7CisJc2l6ZV90IG1hdGNoOworCWludCBjaGluLCBza2lwOworCUZJTEUgKmY7CisKKwlpZiAoTlVMTCA9PSAoZiA9IGZvcGVuKGZpbGVuYW1lLCAiciIpKSkKKwkJcmV0dXJuIC0xOworCisJbWF0Y2ggPSAwdTsKKwlza2lwID0gMDsKKwl3aGlsZSAoKGNoaW4gPSBnZXRjKGYpKSAhPSBFT0YpIHsKKwkJaWYgKHNraXApIHsKKwkJCS8qIExvb2tpbmcgZm9yIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBsaW5lLiAqLworCQkJaWYgKCdcbicgPT0gY2hpbikgeworCQkJCS8qIFN0YXJ0IG1hdGNoaW5nIHVzZXJuYW1lIGF0IHRoZSBuZXh0IGNoYXIuICovCisJCQkJc2tpcCA9IDA7CisJCQkJbWF0Y2ggPSAwdTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCWlmICgnOicgPT0gY2hpbikgeworCQkJCWlmICgwID09IHVzZXJbbWF0Y2hdKSB7CisJCQkJCS8qIFN1Y2Nlc3MuICovCisJCQkJCWxvY2FsID0gMTsKKwkJCQkJLyogbmV4dCBsaW5lIGhhcyBubyB0ZXN0IGNvdmVyYWdlLAorCQkJCQkgKiBidXQgaXQgaXMganVzdCBhbiBvcHRpbWlzYXRpb24KKwkJCQkJICogYW55d2F5LiAgKi8KKwkJCQkJYnJlYWs7CisJCQkJfSBlbHNlIHsKKwkJCQkJLyogd2UgcmVhZCBhIHdob2xlIHVzZXJuYW1lLCBidXQgaXQKKwkJCQkJICogaXMgdGhlIHdyb25nIHVzZXIuICBTa2lwIHRvIHRoZQorCQkJCQkgKiBuZXh0IGxpbmUuICAqLworCQkJCQlza2lwID0gMTsKKwkJCQl9CisJCQl9IGVsc2UgaWYgKCdcbicgPT0gY2hpbikgeworCQkJCS8qIFRoaXMgbGluZSBjb250YWlucyBubyBjb2xvbjsgaXQncworCQkJCSAqIG1hbGZvcm1lZC4gIE5vIHNraXAgc2luY2Ugd2UgYXJlIGFscmVhZHkKKwkJCQkgKiBhdCB0aGUgc3RhcnQgb2YgdGhlIG5leHQgbGluZS4gICovCisJCQkJbWF0Y2ggPSAwdTsKKwkJCX0gZWxzZSBpZiAoY2hpbiAhPSB1c2VyW21hdGNoXSkgeworCQkJCS8qIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLiAqLworCQkJCXNraXAgPSAxOworCQkJfSBlbHNlIHsKKwkJCQkrK21hdGNoOworCQkJfQorCQl9CisJfQorCWZjbG9zZShmKTsKKwlyZXR1cm4gbG9jYWw7Cit9CisKK2ludCBpc19sb2NhbChjb25zdCBjaGFyICp1c2VyKQoreworCWludCBydjsKKworCWlmICgocnYgPSBpc19sb2NhbF9pbl9maWxlKHVzZXIsIF9QQVRIX1BBU1NXRCkpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgX1BBVEhfUEFTU1dEKTsKKwlyZXR1cm4gcnY7Cit9CisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisJaWYgKGFyZ2MgPD0gMikgeworCQlmcHJpbnRmKHN0ZGVyciwgXygiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIpLAorCQkJYXJndlswXSk7CisJCXJldHVybiAxOworCX0gZWxzZSB7CisJCWludCBpOworCQlmb3IgKGkgPSAyOyBpIDwgYXJnYzsgaSsrKSB7CisJCQljb25zdCBpbnQgcnYgPSBpc19sb2NhbF9pbl9maWxlKGFyZ3ZbaV0sIGFyZ3ZbMV0pOworCQkJaWYgKHJ2IDwgMCkgeworCQkJCXBlcnJvcihhcmd2WzFdKTsKKwkJCQlyZXR1cm4gMjsKKwkJCX0KKwkJCXByaW50ZigiJWQ6JXNcbiIsIHJ2LCBhcmd2W2ldKTsKKwkJfQorCQlyZXR1cm4gMDsKKwl9Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL2lzbG9jYWwuaCBiL2xvZ2luLXV0aWxzL2lzbG9jYWwuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzU4Nzk5Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvaXNsb2NhbC5oCkBAIC0wLDAgKzEgQEAKK2V4dGVybiBpbnQgaXNfbG9jYWwoY29uc3QgY2hhciAqdXNlcik7CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9sYXN0LjEgYi9sb2dpbi11dGlscy9sYXN0LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY5ZjA2NQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xhc3QuMQpAQCAtMCwwICsxLDE5OCBAQAorLlwiIENvcHlyaWdodCAoQykgMTk5OC0yMDA0IE1pcXVlbCB2YW4gU21vb3JlbmJ1cmcuCisuXCIKKy5cIiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLlwiIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisuXCIgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy5cIiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLlwiCisuXCIgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisuXCIgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy5cIiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisuXCIgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy5cIgorLlwiIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuXCIgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy5cIiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisuXCIKKy5USCAiTEFTVCwgTEFTVEIiICIxIiAiT2N0b2JlciAyMDEzIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbGFzdCwgbGFzdGIgXC0gc2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMKKy5TSCBTWU5PUFNJUworLkIgbGFzdAorW29wdGlvbnNdCisuUkkgWyB1c2VybmFtZSAiLi4uXSBbIiB0dHkgLi4uXQorLmJyCisuQiBsYXN0YgorW29wdGlvbnNdCisuUkkgWyB1c2VybmFtZSAiLi4uXSBbIiB0dHkgLi4uXQorLlNIIERFU0NSSVBUSU9OCisuQiBsYXN0CitzZWFyY2hlcyBiYWNrIHRocm91Z2ggdGhlCisuSSAvdmFyL2xvZy93dG1wCitmaWxlIChvciB0aGUgZmlsZSBkZXNpZ25hdGVkIGJ5IHRoZQorLkIgXC1mCitvcHRpb24pIGFuZCBkaXNwbGF5cyBhIGxpc3Qgb2YgYWxsIHVzZXJzIGxvZ2dlZCBpbiAoYW5kIG91dCkgc2luY2UgdGhhdAorZmlsZSB3YXMgY3JlYXRlZC4gIE9uZSBvciBtb3JlCisuSVIgdXNlcm5hbWVzICIgYW5kL29yICIgdHR5cworY2FuIGJlIGdpdmVuLCBpbiB3aGljaCBjYXNlCisuQiBsYXN0Cit3aWxsIHNob3cgb25seSB0aGUgZW50cmllcyBtYXRjaGluZyB0aG9zZSBhcmd1bWVudHMuICBOYW1lcyBvZgorLkkgdHR5cworY2FuIGJlIGFiYnJldmlhdGVkLCB0aHVzCisuQiBsYXN0IDAKK2lzIHRoZSBzYW1lIGFzCisuQlIgImxhc3QgdHR5MCIgLgorLlBQCitXaGVuIGNhdGNoaW5nIGEgU0lHSU5UIHNpZ25hbCAoZ2VuZXJhdGVkIGJ5IHRoZSBpbnRlcnJ1cHQga2V5LCB1c3VhbGx5Citjb250cm9sLUMpIG9yIGEgU0lHUVVJVCBzaWduYWwsCisuQiBsYXN0Cit3aWxsIHNob3cgaG93IGZhciBpdCBoYXMgc2VhcmNoZWQgdGhyb3VnaCB0aGUgZmlsZTsgaW4gdGhlIGNhc2Ugb2YgdGhlCitTSUdJTlQgc2lnbmFsCisuQiBsYXN0Cit3aWxsIHRoZW4gdGVybWluYXRlLgorLlBQCitUaGUgcHNldWRvIHVzZXIKKy5CIHJlYm9vdAorbG9ncyBpbiBlYWNoIHRpbWUgdGhlIHN5c3RlbSBpcyByZWJvb3RlZC4gIFRodXMKKy5CIGxhc3QgcmVib290Cit3aWxsIHNob3cgYSBsb2cgb2YgYWxsIHRoZSByZWJvb3RzIHNpbmNlIHRoZSBsb2cgZmlsZSB3YXMgY3JlYXRlZC4KKy5QUAorLkIgbGFzdGIKK2lzIHRoZSBzYW1lIGFzCisuQlIgbGFzdCAsCitleGNlcHQgdGhhdCBieSBkZWZhdWx0IGl0IHNob3dzIGEgbG9nIG9mIHRoZQorLkkgL3Zhci9sb2cvYnRtcAorZmlsZSwgd2hpY2ggY29udGFpbnMgYWxsIHRoZSBiYWQgbG9naW4gYXR0ZW1wdHMuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICwgIiBcLVwtaG9zdGxhc3QiCitEaXNwbGF5IHRoZSBob3N0bmFtZSBpbiB0aGUgbGFzdCBjb2x1bW4uICBVc2VmdWwgaW4gY29tYmluYXRpb24gd2l0aCB0aGUKKy5CIFwtXC1kbnMKK29wdGlvbi4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWRucyIKK0ZvciBub24tbG9jYWwgbG9naW5zLCBMaW51eCBzdG9yZXMgbm90IG9ubHkgdGhlIGhvc3QgbmFtZSBvZiB0aGUgcmVtb3RlCitob3N0LCBidXQgaXRzIElQIG51bWJlciBhcyB3ZWxsLiAgVGhpcyBvcHRpb24gdHJhbnNsYXRlcyB0aGUgSVAgbnVtYmVyCitiYWNrIGludG8gYSBob3N0bmFtZS4KKy5UUAorLkJSIFwtZiAsICIgXC1cLWZpbGUgIiBcZklmaWxlXGZSCitUZWxsCisuQiBsYXN0Cit0byB1c2UgYSBzcGVjaWZpYyBcZklmaWxlXGZSIGluc3RlYWQgb2YKKy5JUiAvdmFyL2xvZy93dG1wIC4KK1RoZQorLkIgXC1cLWZpbGUKK29wdGlvbiBjYW4gYmUgZ2l2ZW4gbXVsdGlwbGUgdGltZXMsIGFuZCBhbGwgb2YgdGhlIHNwZWNpZmllZCBmaWxlcyB3aWxsIGJlCitwcm9jZXNzZWQuCisuVFAKKy5CUiBcLUYgLCAiIFwtXC1mdWxsdGltZXMiCitQcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzLgorLlRQCisuQlIgXC1pICwgIiBcLVwtaXAiCitMaWtlCisuQiBcLVwtZG5zICwKK2J1dCBkaXNwbGF5cyB0aGUgaG9zdCdzIElQIG51bWJlciBpbnN0ZWFkIG9mIHRoZSBuYW1lLgorLlRQCisuQkkgXC0gbnVtYmVyCisuVFEKKy5CUiBcLW4gLCAiIC1cLWxpbWl0ICIgXGZJbnVtYmVyXGZSCitUZWxsCisuQiBsYXN0Citob3cgbWFueSBsaW5lcyB0byBzaG93LgorLlRQCisuQlIgXC1wICwgIiBcLVwtcHJlc2VudCAiIFxmSXRpbWVcZlIKK0Rpc3BsYXkgdGhlIHVzZXJzIHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lLiAgVGhpcyBpcworbGlrZSB1c2luZyB0aGUgb3B0aW9ucworLkJSIFwtXC1zaW5jZSAiIGFuZCAiIFwtXC11bnRpbAordG9nZXRoZXIgd2l0aCB0aGUgc2FtZSBcZkl0aW1lXGZSLgorLlRQCisuQlIgXC1SICwgIiBcLVwtbm9ob3N0bmFtZSIKK1N1cHByZXNzZXMgdGhlIGRpc3BsYXkgb2YgdGhlIGhvc3RuYW1lIGZpZWxkLgorLlRQCisuQlIgXC1zICwgIiBcLVwtc2luY2UgIiBcZkl0aW1lXGZSCitEaXNwbGF5IHRoZSBzdGF0ZSBvZiBsb2dpbnMgc2luY2UgdGhlIHNwZWNpZmllZAorLklSIHRpbWUgLgorVGhpcyBpcyB1c2VmdWwsIGUuZy4sIHRvIGVhc2lseSBkZXRlcm1pbmUgd2hvIHdhcyBsb2dnZWQgaW4gYXQgYQorcGFydGljdWxhciB0aW1lLiAgVGhlIG9wdGlvbiBpcyBvZnRlbiBjb21iaW5lZCB3aXRoCisuQlIgXC1cLXVudGlsIC4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXVudGlsICIgXGZJdGltZVxmUgorRGlzcGxheSB0aGUgc3RhdGUgb2YgbG9naW5zIHVudGlsIHRoZSBzcGVjaWZpZWQKKy5JUiB0aW1lIC4KKy5UUAorLkJJIFwtXC10aW1lXC1mb3JtYXQgIiBmb3JtYXQiCitEZWZpbmUgdGhlIG91dHB1dCB0aW1lc3RhbXAKKy5JIGZvcm1hdAordG8gYmUgb25lIG9mCisuSVIgbm90aW1lICwKKy5JUiBzaG9ydCAsCisuSVIgZnVsbCAsCitvcgorLklSIGlzbyAuCitUaGUKKy5JIG5vdGltZQordmFyaWFudCB3aWxsIG5vdCBwcmludCBhbnkgdGltZXN0YW1wcyBhdCBhbGwsCisuSSBzaG9ydAoraXMgdGhlIGRlZmF1bHQsIGFuZAorLkkgZnVsbAoraXMgdGhlIHNhbWUgYXMgdGhlCisuQiBcLVwtZnVsbHRpbWVzCitvcHRpb24uICBUaGUKKy5JIGlzbwordmFyaWFudCB3aWxsIGRpc3BsYXkgdGhlIHRpbWVzdGFtcCBpbiBJU08tODYwMSBmb3JtYXQuICBUaGUgSVNPIGZvcm1hdAorY29udGFpbnMgdGltZXpvbmUgaW5mb3JtYXRpb24sIG1ha2luZyBpdCBwcmVmZXJhYmxlIHdoZW4gcHJpbnRvdXRzIGFyZQoraW52ZXN0aWdhdGVkIG91dHNpZGUgb2YgdGhlIHN5c3RlbS4KKy5UUAorLkJSIFwtdyAsICIgXC1cLWZ1bGxuYW1lcyIKK0Rpc3BsYXkgZnVsbCB1c2VyIG5hbWVzIGFuZCBkb21haW4gbmFtZXMgaW4gdGhlIG91dHB1dC4KKy5UUAorLkJSIFwteCAsICIgXC1cLXN5c3RlbSIKK0Rpc3BsYXkgdGhlIHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlcy4KKy5TSCBUSU1FIEZPUk1BVFMKK1RoZSBvcHRpb25zIHRoYXQgdGFrZSB0aGUKKy5JIHRpbWUKK2FyZ3VtZW50IHVuZGVyc3RhbmQgdGhlIGZvbGxvd2luZyBmb3JtYXRzOgorLlRTCitsZWZ0IGwyIGwuCitZWVlZTU1ERGhobW1zcworWVlZWS1NTS1ERCBoaDptbTpzcworWVlZWS1NTS1ERCBoaDptbQkoc2Vjb25kcyB3aWxsIGJlIHNldCB0byAwMCkKK1lZWVktTU0tREQJKHRpbWUgd2lsbCBiZSBzZXQgdG8gMDA6MDA6MDApCitoaDptbTpzcwkoZGF0ZSB3aWxsIGJlIHNldCB0byB0b2RheSkKK2hoOm1tCShkYXRlIHdpbGwgYmUgc2V0IHRvIHRvZGF5LCBzZWNvbmRzIHRvIDAwKQorbm93Cit5ZXN0ZXJkYXkJKHRpbWUgaXMgc2V0IHRvIDAwOjAwOjAwKQordG9kYXkJKHRpbWUgaXMgc2V0IHRvIDAwOjAwOjAwKQordG9tb3Jyb3cJKHRpbWUgaXMgc2V0IHRvIDAwOjAwOjAwKQorKzVtaW4KKy01ZGF5cworLlRFCisuU0ggTk9URVMKK1RoZSBmaWxlcworLkkgd3RtcAorYW5kCisuSSBidG1wCittaWdodCBub3QgYmUgZm91bmQuICBUaGUgc3lzdGVtIG9ubHkgbG9ncyBpbmZvcm1hdGlvbiBpbiB0aGVzZSBmaWxlcyBpZgordGhleSBhcmUgcHJlc2VudC4gIFRoaXMgaXMgYSBsb2NhbCBjb25maWd1cmF0aW9uIGlzc3VlLiAgSWYgeW91IHdhbnQgdGhlCitmaWxlcyB0byBiZSB1c2VkLCB0aGV5IGNhbiBiZSBjcmVhdGVkIHdpdGggYSBzaW1wbGUKKy5CUiB0b3VjaCAoMSkKK2NvbW1hbmQgKGZvciBleGFtcGxlLAorLklSICJ0b3VjaCAvdmFyL2xvZy93dG1wIiApLgorLlNIIEZJTEVTCisvdmFyL2xvZy93dG1wCisuYnIKKy92YXIvbG9nL2J0bXAKKy5TSCBBVVRIT1IKKy5NVCBtaXF1ZWxzQGNpc3Ryb24ubmwKK01pcXVlbCB2YW4gU21vb3JlbmJ1cmcKKy5NRQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGxhc3QgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KKy5TSCAiU0VFIEFMU08iCisuQlIgbG9naW4gKDEpLAorLkJSIHd0bXAgKDUpLAorLkJSIGluaXQgKDgpLAorLkJSIHNodXRkb3duICg4KQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbGFzdC5jIGIvbG9naW4tdXRpbHMvbGFzdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5ZGZkYjIKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9sYXN0LmMKQEAgLTAsMCArMSwxMDM5IEBACisvKgorICogbGFzdCgxKSBmcm9tIHN5c3Zpbml0IHByb2plY3QsIG1lcmdlZCBpbnRvIHV0aWwtbGludXggaW4gQXVnIDIwMTMuCisgKgorICogQ29weXJpZ2h0IChDKSAxOTkxLTIwMDQgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZy4KKyAqIENvcHlyaWdodCAoQykgMjAxMyAgICAgIE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbT4KKyAqICAgICAgICAgICAgICAgICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFJlLWltcGxlbWVudGF0aW9uIG9mIHRoZSAnbGFzdCcgY29tbWFuZCwgdGhpcyB0aW1lIGZvciBMaW51eC4gWWVzIEkga25vdworICogdGhlcmUgaXMgQlNEIGxhc3QsIGJ1dCBJIGp1c3QgZmVsdCBsaWtlIHdyaXRpbmcgdGhpcy4gTm8gdGhhbmtzIDotKS4gIEFsc28sCisgKiB0aGlzIHZlcnNpb24gZ2l2ZXMgbG90cyBtb3JlIGluZm8gKGVzcGVjaWFsbHkgd2l0aCAteCkKKyAqCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZQorICogRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorICovCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8dXRtcHguaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisjaW5jbHVkZSA8bmV0ZGIuaD4KKyNpbmNsdWRlIDxhcnBhL2luZXQuaD4KKyNpbmNsdWRlIDxsaWJnZW4uaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiY2FyZWZ1bHB1dGMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInRpbWV1dGlscy5oIgorI2luY2x1ZGUgIm1vbm90b25pYy5oIgorCisjaWZuZGVmIFNIVVRET1dOX1RJTUUKKyMgZGVmaW5lIFNIVVRET1dOX1RJTUUgMjU0CisjZW5kaWYKKworI2lmbmRlZiBMQVNUX0xPR0lOX0xFTgorIyBkZWZpbmUgTEFTVF9MT0dJTl9MRU4gOAorI2VuZGlmCisKKyNpZm5kZWYgTEFTVF9ET01BSU5fTEVOCisjIGRlZmluZSBMQVNUX0RPTUFJTl9MRU4gMTYKKyNlbmRpZgorCisjaWZuZGVmIExBU1RfVElNRVNUQU1QX0xFTgorIyBkZWZpbmUgTEFTVF9USU1FU1RBTVBfTEVOIDMyCisjZW5kaWYKKworI2RlZmluZSBVQ0hVTktTSVpFCTE2Mzg0CS8qIEhvdyBtdWNoIHdlIHJlYWQgYXQgb25jZS4gKi8KKworc3RydWN0IGxhc3RfY29udHJvbCB7CisJdW5zaWduZWQgaW50IGxhc3RiIDoxLAkgIC8qIElzIHRoaXMgY29tbWFuZCAnbGFzdGInICovCisJCSAgICAgZXh0ZW5kZWQgOjEsIC8qIExvdHMgb2YgaW5mbyAqLworCQkgICAgIHNob3dob3N0IDoxLCAvKiBTaG93IGhvc3RuYW1lICovCisJCSAgICAgYWx0bGlzdCA6MSwgIC8qIEhvc3RuYW1lIGF0IHRoZSBlbmQgKi8KKwkJICAgICB1c2VkbnMgOjEsCSAgLyogVXNlIEROUyB0byBsb29rdXAgdGhlIGhvc3RuYW1lICovCisJCSAgICAgdXNlaXAgOjE7ICAgIC8qIFByaW50IElQIGFkZHJlc3MgaW4gbnVtYmVyIGZvcm1hdCAqLworCisJdW5zaWduZWQgaW50IG5hbWVfbGVuOwkvKiBOdW1iZXIgb2YgbG9naW4gbmFtZSBjaGFyYWN0ZXJzIHRvIHByaW50ICovCisJdW5zaWduZWQgaW50IGRvbWFpbl9sZW47IC8qIE51bWJlciBvZiBkb21haW4gbmFtZSBjaGFyYWN0ZXJzIHRvIHByaW50ICovCisJdW5zaWduZWQgaW50IG1heHJlY3M7CS8qIE1heGltdW0gbnVtYmVyIG9mIHJlY29yZHMgdG8gbGlzdCAqLworCisJY2hhciAqKnNob3c7CQkvKiBNYXRjaCBzZWFyY2ggbGlzdCAqLworCisJc3RydWN0IHRpbWV2YWwgYm9vdF90aW1lOyAvKiBzeXN0ZW0gYm9vdCB0aW1lICovCisJdGltZV90IHNpbmNlOwkJLyogYXQgd2hhdCB0aW1lIHRvIHN0YXJ0IGRpc3BsYXlpbmcgdGhlIGZpbGUgKi8KKwl0aW1lX3QgdW50aWw7CQkvKiBhdCB3aGF0IHRpbWUgdG8gc3RvcCBkaXNwbGF5aW5nIHRoZSBmaWxlICovCisJdGltZV90IHByZXNlbnQ7CQkvKiB3aG8gd2hlcmUgcHJlc2VudCBhdCB0aW1lX3QgKi8KKwl1bnNpZ25lZCBpbnQgdGltZV9mbXQ7CS8qIHRpbWUgZm9ybWF0ICovCit9OworCisvKiBEb3VibGUgbGlua2VkIGxpc3Qgb2Ygc3RydWN0IHV0bXAncyAqLworc3RydWN0IHV0bXBsaXN0IHsKKwlzdHJ1Y3QgdXRtcHggdXQ7CisJc3RydWN0IHV0bXBsaXN0ICpuZXh0OworCXN0cnVjdCB1dG1wbGlzdCAqcHJldjsKK307CisKKy8qIFR5cGVzIG9mIGxpc3RpbmcgKi8KK2VudW0geworCVJfQ1JBU0ggPSAxLAkvKiBObyBsb2dvdXQgcmVjb3JkLCBzeXN0ZW0gYm9vdCBpbiBiZXR3ZWVuICovCisJUl9ET1dOLAkJLyogU3lzdGVtIGJyb3VnaHQgZG93biBpbiBkZWNlbnQgd2F5ICovCisJUl9OT1JNQUwsCS8qIE5vcm1hbCAqLworCVJfTk9XLAkJLyogU3RpbGwgbG9nZ2VkIGluICovCisJUl9SRUJPT1QsCS8qIFJlYm9vdCByZWNvcmQuICovCisJUl9QSEFOVE9NLAkvKiBObyBsb2dvdXQgcmVjb3JkIGJ1dCBzZXNzaW9uIGlzIHN0YWxlLiAqLworCVJfVElNRUNIQU5HRQkvKiBORVdfVElNRSBvciBPTERfVElNRSAqLworfTsKKworZW51bSB7CisJTEFTVF9USU1FRlRNX05PTkUgPSAwLAorCUxBU1RfVElNRUZUTV9TSE9SVCwKKwlMQVNUX1RJTUVGVE1fQ1RJTUUsCisJTEFTVF9USU1FRlRNX0lTTzg2MDEsCisKKwlMQVNUX1RJTUVGVE1fSEhNTSwJLyogbm9uLXB1YmxpYyAqLworfTsKKworc3RydWN0IGxhc3RfdGltZWZtdCB7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgaW5fbGVuOwkvKiBsb2ctaW4gKi8KKwlpbnQgaW5fZm10OworCWludCBvdXRfbGVuOwkvKiBsb2ctb3V0ICovCisJaW50IG91dF9mbXQ7Cit9OworCitzdGF0aWMgc3RydWN0IGxhc3RfdGltZWZtdCB0aW1lZm10c1tdID0geworCVtMQVNUX1RJTUVGVE1fTk9ORV0gPSB7IC5uYW1lID0gIm5vdGltZSIgfSwKKwlbTEFTVF9USU1FRlRNX1NIT1JUXSA9IHsKKwkJLm5hbWUgICAgPSAic2hvcnQiLAorCQkuaW5fbGVuICA9IDE2LAorCQkub3V0X2xlbiA9IDcsCisJCS5pbl9mbXQgID0gTEFTVF9USU1FRlRNX0NUSU1FLAorCQkub3V0X2ZtdCA9IExBU1RfVElNRUZUTV9ISE1NCisJfSwKKwlbTEFTVF9USU1FRlRNX0NUSU1FXSA9IHsKKwkJLm5hbWUgICAgPSAiZnVsbCIsCisJCS5pbl9sZW4gID0gMjQsCisJCS5vdXRfbGVuID0gMjYsCisJCS5pbl9mbXQgID0gTEFTVF9USU1FRlRNX0NUSU1FLAorCQkub3V0X2ZtdCA9IExBU1RfVElNRUZUTV9DVElNRQorCX0sCisJW0xBU1RfVElNRUZUTV9JU084NjAxXSA9IHsKKwkJLm5hbWUgICAgPSAiaXNvIiwKKwkJLmluX2xlbiAgPSAyNSwKKwkJLm91dF9sZW4gPSAyNywKKwkJLmluX2ZtdCAgPSBMQVNUX1RJTUVGVE1fSVNPODYwMSwKKwkJLm91dF9mbXQgPSBMQVNUX1RJTUVGVE1fSVNPODYwMQorCX0KK307CisKKy8qIEdsb2JhbCB2YXJpYWJsZXMgKi8KK3N0YXRpYyB1bnNpZ25lZCBpbnQgcmVjc2RvbmU7CS8qIE51bWJlciBvZiByZWNvcmRzIGxpc3RlZCAqLworc3RhdGljIHRpbWVfdCBsYXN0ZGF0ZTsJCS8qIExhc3QgZGF0ZSB3ZSd2ZSBzZWVuICovCitzdGF0aWMgdGltZV90IGN1cnJlbnRkYXRlOwkvKiBkYXRlIHdoZW4gd2Ugc3RhcnRlZCBwcm9jZXNzaW5nIHRoZSBmaWxlICovCisKKy8qIC0tdGltZS1mb3JtYXQ9b3B0aW9uIHBhcnNlciAqLworc3RhdGljIGludCB3aGljaF90aW1lX2Zvcm1hdChjb25zdCBjaGFyICpzKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGltZWZtdHMpOyBpKyspIHsKKwkJaWYgKHN0cmNtcCh0aW1lZm10c1tpXS5uYW1lLCBzKSA9PSAwKQorCQkJcmV0dXJuIGk7CisJfQorCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIpLCBzKTsKK30KKworLyoKKyAqCVJlYWQgb25lIHV0bXAgZW50cnksIHJldHVybiBpbiBuZXcgZm9ybWF0LgorICoJQXV0b21hdGljYWxseSByZXBvc2l0aW9uIGZpbGUgcG9pbnRlci4KKyAqLworc3RhdGljIGludCB1cmVhZChGSUxFICpmcCwgc3RydWN0IHV0bXB4ICp1LCAgaW50ICpxdWl0LCBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlzdGF0aWMgaW50IHV0c2l6ZTsKKwlzdGF0aWMgY2hhciBidWZbVUNIVU5LU0laRV07CisJY2hhciB0bXBbMTAyNF07CisJc3RhdGljIG9mZl90IGZwb3M7CisJc3RhdGljIGludCBicG9zOworCW9mZl90IG87CisKKwlpZiAocXVpdCA9PSBOVUxMICYmIHUgIT0gTlVMTCkgeworCQkvKgorCQkgKglOb3JtYWwgcmVhZC4KKwkJICovCisJCXJldHVybiBmcmVhZCh1LCBzaXplb2Yoc3RydWN0IHV0bXB4KSwgMSwgZnApOworCX0KKworCWlmICh1ID09IE5VTEwpIHsKKwkJLyoKKwkJICoJSW5pdGlhbGl6ZSBhbmQgcG9zaXRpb24uCisJCSAqLworCQl1dHNpemUgPSBzaXplb2Yoc3RydWN0IHV0bXB4KTsKKwkJZnNlZWtvKGZwLCAwLCBTRUVLX0VORCk7CisJCWZwb3MgPSBmdGVsbG8oZnApOworCQlpZiAoZnBvcyA9PSAwKQorCQkJcmV0dXJuIDA7CisJCW8gPSAoKGZwb3MgLSAxKSAvIFVDSFVOS1NJWkUpICogVUNIVU5LU0laRTsKKwkJaWYgKGZzZWVrbyhmcCwgbywgU0VFS19TRVQpIDwgMCkgeworCQkJd2FybihfKCJzZWVrIG9uICVzIGZhaWxlZCIpLCBmaWxlbmFtZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlicG9zID0gKGludCkoZnBvcyAtIG8pOworCQlpZiAoZnJlYWQoYnVmLCBicG9zLCAxLCBmcCkgIT0gMSkgeworCQkJd2FybihfKCJjYW5ub3QgcmVhZCAlcyIpLCBmaWxlbmFtZSk7CisJCQlyZXR1cm4gMDsKKwkJfQorCQlmcG9zID0gbzsKKwkJcmV0dXJuIDE7CisJfQorCisJLyoKKwkgKglSZWFkIG9uZSBzdHJ1Y3QuIEZyb20gdGhlIGJ1ZmZlciBpZiBwb3NzaWJsZS4KKwkgKi8KKwlicG9zIC09IHV0c2l6ZTsKKwlpZiAoYnBvcyA+PSAwKSB7CisJCW1lbWNweSh1LCBidWYgKyBicG9zLCBzaXplb2Yoc3RydWN0IHV0bXB4KSk7CisJCXJldHVybiAxOworCX0KKworCS8qCisJICoJT29wcyB3ZSB3ZW50ICJiZWxvdyIgdGhlIGJ1ZmZlci4gV2Ugc2hvdWxkIGJlIGFibGUgdG8KKwkgKglzZWVrIGJhY2sgVUNIVU5LU0laRSBieXRlcy4KKwkgKi8KKwlmcG9zIC09IFVDSFVOS1NJWkU7CisJaWYgKGZwb3MgPCAwKQorCQlyZXR1cm4gMDsKKworCS8qCisJICoJQ29weSB3aGF0ZXZlciBpcyBsZWZ0IGluIHRoZSBidWZmZXIuCisJICovCisJbWVtY3B5KHRtcCArICgtYnBvcyksIGJ1ZiwgdXRzaXplICsgYnBvcyk7CisJaWYgKGZzZWVrbyhmcCwgZnBvcywgU0VFS19TRVQpIDwgMCkgeworCQl3YXJuKF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyoKKwkgKglSZWFkIGFub3RoZXIgVUNIVU5LU0laRSBieXRlcy4KKwkgKi8KKwlpZiAoZnJlYWQoYnVmLCBVQ0hVTktTSVpFLCAxLCBmcCkgIT0gMSkgeworCQl3YXJuKF8oImNhbm5vdCByZWFkICVzIiksIGZpbGVuYW1lKTsKKwkJcmV0dXJuIDA7CisJfQorCisJLyoKKwkgKglUaGUgZW5kIG9mIHRoZSBVQ0hVTktTSVpFIGJ5dGUgYnVmZmVyIHNob3VsZCBiZSB0aGUgZmlyc3QKKwkgKglmZXcgYnl0ZXMgb2YgdGhlIGN1cnJlbnQgc3RydWN0IHV0bXAuCisJICovCisJbWVtY3B5KHRtcCwgYnVmICsgVUNIVU5LU0laRSArIGJwb3MsIC1icG9zKTsKKwlicG9zICs9IFVDSFVOS1NJWkU7CisKKwltZW1jcHkodSwgdG1wLCBzaXplb2Yoc3RydWN0IHV0bXB4KSk7CisKKwlyZXR1cm4gMTsKK30KKworLyoKKyAqCVByaW50IGEgc2hvcnQgZGF0ZS4KKyAqLworc3RhdGljIGNoYXIgKnNob3dkYXRlKHZvaWQpCit7CisJY2hhciAqcyA9IGN0aW1lKCZsYXN0ZGF0ZSk7CisJc1sxNl0gPSAwOworCXJldHVybiBzOworfQorCisvKgorICoJU0lHSU5UIGhhbmRsZXIKKyAqLworc3RhdGljIHZvaWQgaW50X2hhbmRsZXIoaW50IHNpZyBfX2F0dHJpYnV0ZV9fKCh1bnVzZWQpKSkKK3sKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygiSW50ZXJydXB0ZWQgJXMiKSwgc2hvd2RhdGUoKSk7Cit9CisKKy8qCisgKglTSUdRVUlUIGhhbmRsZXIKKyAqLworc3RhdGljIHZvaWQgcXVpdF9oYW5kbGVyKGludCBzaWcgX19hdHRyaWJ1dGVfXygodW51c2VkKSkpCit7CisJd2FybngoXygiSW50ZXJydXB0ZWQgJXMiKSwgc2hvd2RhdGUoKSk7CisJc2lnbmFsKFNJR1FVSVQsIHF1aXRfaGFuZGxlcik7Cit9CisKKy8qCisgKglMb29rdXAgYSBob3N0IHdpdGggRE5TLgorICovCitzdGF0aWMgaW50IGRuc19sb29rdXAoY2hhciAqcmVzdWx0LCBpbnQgc2l6ZSwgaW50IHVzZWlwLCBpbnQzMl90ICphKQoreworCXN0cnVjdCBzb2NrYWRkcl9pbglzaW47CisJc3RydWN0IHNvY2thZGRyX2luNglzaW42OworCXN0cnVjdCBzb2NrYWRkcgkJKnNhOworCWludAkJCXNhbGVuLCBmbGFnczsKKwlpbnQJCQltYXBwZWQgPSAwOworCisJZmxhZ3MgPSB1c2VpcCA/IE5JX05VTUVSSUNIT1NUIDogMDsKKworCS8qCisJICoJSVB2NCBvciBJUHY2ID8KKwkgKgkxLiBJZiBsYXN0IDMgNGJ5dGVzIGFyZSAwLCBtdXN0IGJlIElQdjQKKwkgKgkyLiBJZiBJUHY2IGluIElQdjQsIGhhbmRsZSBhcyBJUHY0CisJICoJMy4gQW55dGhpbmcgZWxzZSBpcyBJUHY2CisJICoKKwkgKglVZ2x5LgorCSAqLworCWlmIChhWzBdID09IDAgJiYgYVsxXSA9PSAwICYmIGFbMl0gPT0gKGludDMyX3QpaHRvbmwgKDB4ZmZmZikpCisJCW1hcHBlZCA9IDE7CisKKwlpZiAobWFwcGVkIHx8IChhWzFdID09IDAgJiYgYVsyXSA9PSAwICYmIGFbM10gPT0gMCkpIHsKKwkJLyogSVB2NCAqLworCQlzaW4uc2luX2ZhbWlseSA9IEFGX0lORVQ7CisJCXNpbi5zaW5fcG9ydCA9IDA7CisJCXNpbi5zaW5fYWRkci5zX2FkZHIgPSBtYXBwZWQgPyBhWzNdIDogYVswXTsKKwkJc2EgPSAoc3RydWN0IHNvY2thZGRyICopJnNpbjsKKwkJc2FsZW4gPSBzaXplb2Yoc2luKTsKKwl9IGVsc2UgeworCQkvKiBJUHY2ICovCisJCW1lbXNldCgmc2luNiwgMCwgc2l6ZW9mKHNpbjYpKTsKKwkJc2luNi5zaW42X2ZhbWlseSA9IEFGX0lORVQ2OworCQlzaW42LnNpbjZfcG9ydCA9IDA7CisJCW1lbWNweShzaW42LnNpbjZfYWRkci5zNl9hZGRyLCBhLCAxNik7CisJCXNhID0gKHN0cnVjdCBzb2NrYWRkciAqKSZzaW42OworCQlzYWxlbiA9IHNpemVvZihzaW42KTsKKwl9CisKKwlyZXR1cm4gZ2V0bmFtZWluZm8oc2EsIHNhbGVuLCByZXN1bHQsIHNpemUsIE5VTEwsIDAsIGZsYWdzKTsKK30KKworc3RhdGljIGludCB0aW1lX2Zvcm1hdHRlcihpbnQgZm10LCBjaGFyICpkc3QsIHNpemVfdCBkbGVuLCB0aW1lX3QgKndoZW4pCit7CisJaW50IHJldCA9IDA7CisKKwlzd2l0Y2ggKGZtdCkgeworCWNhc2UgTEFTVF9USU1FRlRNX05PTkU6CisJCSpkc3QgPSAwOworCQlicmVhazsKKwljYXNlIExBU1RfVElNRUZUTV9ISE1NOgorCXsKKwkJc3RydWN0IHRtICp0bSA9IGxvY2FsdGltZSh3aGVuKTsKKwkJaWYgKCFzbnByaW50Zihkc3QsIGRsZW4sICIlMDJkOiUwMmQiLCB0bS0+dG1faG91ciwgdG0tPnRtX21pbikpCisJCQlyZXQgPSAtMTsKKwkJYnJlYWs7CisJfQorCWNhc2UgTEFTVF9USU1FRlRNX0NUSU1FOgorCQlzbnByaW50Zihkc3QsIGRsZW4sICIlcyIsIGN0aW1lKHdoZW4pKTsKKwkJcmV0ID0gcnRyaW1fd2hpdGVzcGFjZSgodW5zaWduZWQgY2hhciAqKSBkc3QpOworCQlicmVhazsKKwljYXNlIExBU1RfVElNRUZUTV9JU084NjAxOgorCQlyZXQgPSBzdHJ0aW1lX2lzbyh3aGVuLCBJU09fVElNRVNUQU1QX1QsIGRzdCwgZGxlbik7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWFib3J0KCk7CisJfQorCXJldHVybiByZXQ7Cit9CisKKy8qCisgKglSZW1vdmUgdHJhaWxpbmcgc3BhY2VzIGZyb20gYSBzdHJpbmcuCisgKi8KK3N0YXRpYyB2b2lkIHRyaW1fdHJhaWxpbmdfc3BhY2VzKGNoYXIgKnMpCit7CisJY2hhciAqcDsKKworCWZvciAocCA9IHM7ICpwOyArK3ApCisJCWNvbnRpbnVlOworCXdoaWxlIChwID4gcyAmJiBpc3NwYWNlKCotLXApKQorCQljb250aW51ZTsKKwlpZiAocCA+IHMpCisJCSsrcDsKKwkqcCsrID0gJ1xuJzsKKwkqcCA9ICdcMCc7Cit9CisKKy8qCisgKglTaG93IG9uZSBsaW5lIG9mIGluZm9ybWF0aW9uIG9uIHNjcmVlbgorICovCitzdGF0aWMgaW50IGxpc3QoY29uc3Qgc3RydWN0IGxhc3RfY29udHJvbCAqY3RsLCBzdHJ1Y3QgdXRtcHggKnAsIHRpbWVfdCBsb2dvdXRfdGltZSwgaW50IHdoYXQpCit7CisJdGltZV90CQlzZWNzLCB1dG1wX3RpbWU7CisJY2hhcgkJbG9naW50aW1lW0xBU1RfVElNRVNUQU1QX0xFTl07CisJY2hhcgkJbG9nb3V0dGltZVtMQVNUX1RJTUVTVEFNUF9MRU5dOworCWNoYXIJCWxlbmd0aFtMQVNUX1RJTUVTVEFNUF9MRU5dOworCWNoYXIJCWZpbmFsWzUxMl07CisJY2hhcgkJdXRsaW5lW3NpemVvZihwLT51dF9saW5lKSArIDFdOworCWNoYXIJCWRvbWFpblsyNTZdOworCWNoYXIJCSpzOworCWludAkJbWlucywgaG91cnMsIGRheXM7CisJaW50CQlyLCBsZW47CisJc3RydWN0IGxhc3RfdGltZWZtdCAqZm10OworCisJLyoKKwkgKgl1dWNwIGFuZCBmdHAgaGF2ZSBzcGVjaWFsLXR5cGUgZW50cmllcworCSAqLworCXV0bGluZVswXSA9IDA7CisJc3RybmNhdCh1dGxpbmUsIHAtPnV0X2xpbmUsIHNpemVvZih1dGxpbmUpIC0gMSk7CisJaWYgKHN0cm5jbXAodXRsaW5lLCAiZnRwIiwgMykgPT0gMCAmJiBpc2RpZ2l0KHV0bGluZVszXSkpCisJCXV0bGluZVszXSA9IDA7CisJaWYgKHN0cm5jbXAodXRsaW5lLCAidXVjcCIsIDQpID09IDAgJiYgaXNkaWdpdCh1dGxpbmVbNF0pKQorCQl1dGxpbmVbNF0gPSAwOworCisJLyoKKwkgKglJcyB0aGlzIHNvbWV0aGluZyB3ZSB3YW50IHRvIHNob3c/CisJICovCisJaWYgKGN0bC0+c2hvdykgeworCQljaGFyICoqd2FsazsKKwkJZm9yICh3YWxrID0gY3RsLT5zaG93OyAqd2Fsazsgd2FsaysrKSB7CisJCQlpZiAoc3RybmNtcChwLT51dF91c2VyLCAqd2Fsaywgc2l6ZW9mKHAtPnV0X3VzZXIpKSA9PSAwIHx8CisJCQkgICAgc3RyY21wKHV0bGluZSwgKndhbGspID09IDAgfHwKKwkJCSAgICAoc3RybmNtcCh1dGxpbmUsICJ0dHkiLCAzKSA9PSAwICYmCisJCQkgICAgIHN0cmNtcCh1dGxpbmUgKyAzLCAqd2FsaykgPT0gMCkpIGJyZWFrOworCQl9CisJCWlmICgqd2FsayA9PSBOVUxMKSByZXR1cm4gMDsKKwl9CisKKwkvKgorCSAqCUNhbGN1bGF0ZSB0aW1lcworCSAqLworCWZtdCA9ICZ0aW1lZm10c1tjdGwtPnRpbWVfZm10XTsKKworCXV0bXBfdGltZSA9IHAtPnV0X3R2LnR2X3NlYzsKKworCWlmIChjdGwtPnByZXNlbnQpIHsKKwkJaWYgKGN0bC0+cHJlc2VudCA8IHV0bXBfdGltZSkKKwkJCXJldHVybiAwOworCQlpZiAoMCA8IGxvZ291dF90aW1lICYmIGxvZ291dF90aW1lIDwgY3RsLT5wcmVzZW50KQorCQkJcmV0dXJuIDA7CisJfQorCisJLyogbG9nLWluIHRpbWUgKi8KKwlpZiAodGltZV9mb3JtYXR0ZXIoZm10LT5pbl9mbXQsIGxvZ2ludGltZSwKKwkJCSAgIHNpemVvZihsb2dpbnRpbWUpLCAmdXRtcF90aW1lKSA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiKSk7CisKKwkvKiBsb2ctb3V0IHRpbWUgKi8KKwlzZWNzICA9IGxvZ291dF90aW1lIC0gdXRtcF90aW1lOyAvKiBVbmRlciBzdHJhbmdlIGNpcmN1bXN0YW5jZXMsIHNlY3MgPCAwIGNhbiBoYXBwZW4gKi8KKwltaW5zICA9IChzZWNzIC8gNjApICUgNjA7CisJaG91cnMgPSAoc2VjcyAvIDM2MDApICUgMjQ7CisJZGF5cyAgPSBzZWNzIC8gODY0MDA7CisKKwlzdHJjcHkobG9nb3V0dGltZSwgIi0gIik7CisJaWYgKHRpbWVfZm9ybWF0dGVyKGZtdC0+b3V0X2ZtdCwgbG9nb3V0dGltZSArIDIsCisJCQkgICBzaXplb2YobG9nb3V0dGltZSkgLSAyLCAmbG9nb3V0X3RpbWUpIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIpKTsKKworCWlmIChsb2dvdXRfdGltZSA9PSBjdXJyZW50ZGF0ZSkgeworCQlpZiAoY3RsLT50aW1lX2ZtdCA+IExBU1RfVElNRUZUTV9TSE9SVCkgeworCQkJc3ByaW50Zihsb2dvdXR0aW1lLCAiICBzdGlsbCBydW5uaW5nIik7CisJCQlsZW5ndGhbMF0gPSAwOworCQl9IGVsc2UgeworCQkJc3ByaW50Zihsb2dvdXR0aW1lLCAiICBzdGlsbCIpOworCQkJc3ByaW50ZihsZW5ndGgsICJydW5uaW5nIik7CisJCX0KKwl9IGVsc2UgaWYgKGRheXMpIHsKKwkJc3ByaW50ZihsZW5ndGgsICIoJWQrJTAyZDolMDJkKSIsIGRheXMsIGFicyhob3VycyksIGFicyhtaW5zKSk7IC8qIGhvdXJzIGFuZCBtaW5zIGFsd2F5cyBzaG93biBhcyBwb3NpdGl2ZSAody9vIG1pbnVzIHNpZ24hKSBldmVuIGlmIHNlY3MgPCAwICovCisJfSBlbHNlIGlmIChob3VycykgeworCQlzcHJpbnRmKGxlbmd0aCwgIiAoJTAyZDolMDJkKSIsIGhvdXJzLCBhYnMobWlucykpOyAgLyogbWlucyBhbHdheXMgc2hvd24gYXMgcG9zaXRpdmUgKHcvbyBtaW51cyBzaWduISkgZXZlbiBpZiBzZWNzIDwgMCAqLworCX0gZWxzZSBpZiAoc2VjcyA+PSAwKSB7CisJCXNwcmludGYobGVuZ3RoLCAiICglMDJkOiUwMmQpIiwgaG91cnMsIG1pbnMpOyAKKwl9IGVsc2UgeworCQlzcHJpbnRmKGxlbmd0aCwgIiAoLTAwOiUwMmQpIiwgYWJzKG1pbnMpKTsgIC8qIG1pbnMgYWx3YXlzIHNob3duIGFzIHBvc2l0aXZlICh3L28gbWludXMgc2lnbiEpIGV2ZW4gaWYgc2VjcyA8IDAgKi8KKwl9CisKKwlzd2l0Y2god2hhdCkgeworCQljYXNlIFJfQ1JBU0g6CisJCQlzcHJpbnRmKGxvZ291dHRpbWUsICItIGNyYXNoIik7CisJCQlicmVhazsKKwkJY2FzZSBSX0RPV046CisJCQlzcHJpbnRmKGxvZ291dHRpbWUsICItIGRvd24gIik7CisJCQlicmVhazsKKwkJY2FzZSBSX05PVzoKKwkJCWlmIChjdGwtPnRpbWVfZm10ID4gTEFTVF9USU1FRlRNX1NIT1JUKSB7CisJCQkJc3ByaW50Zihsb2dvdXR0aW1lLCAiICBzdGlsbCBsb2dnZWQgaW4iKTsKKwkJCQlsZW5ndGhbMF0gPSAwOworCQkJfSBlbHNlIHsKKwkJCQlzcHJpbnRmKGxvZ291dHRpbWUsICIgIHN0aWxsIik7CisJCQkJc3ByaW50ZihsZW5ndGgsICJsb2dnZWQgaW4iKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIFJfUEhBTlRPTToKKwkJCWlmIChjdGwtPnRpbWVfZm10ID4gTEFTVF9USU1FRlRNX1NIT1JUKSB7CisJCQkJc3ByaW50Zihsb2dvdXR0aW1lLCAiICBnb25lIC0gbm8gbG9nb3V0Iik7CisJCQkJbGVuZ3RoWzBdID0gMDsKKwkJCX0gZWxzZSBpZiAoY3RsLT50aW1lX2ZtdCA9PSBMQVNUX1RJTUVGVE1fU0hPUlQpIHsKKwkJCQlzcHJpbnRmKGxvZ291dHRpbWUsICIgICBnb25lIik7CisJCQkJc3ByaW50ZihsZW5ndGgsICItIG5vIGxvZ291dCIpOworCQkJfSBlbHNlIHsKKwkJCQlsb2dvdXR0aW1lWzBdID0gMDsKKwkJCQlzcHJpbnRmKGxlbmd0aCwgIm5vIGxvZ291dCIpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgUl9USU1FQ0hBTkdFOgorCQkJbG9nb3V0dGltZVswXSA9IDA7CisJCQlsZW5ndGhbMF0gPSAwOworCQkJYnJlYWs7CisJCWNhc2UgUl9OT1JNQUw6CisJCWNhc2UgUl9SRUJPT1Q6CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWFib3J0KCk7CisJfQorCisJLyoKKwkgKglMb29rIHVwIGhvc3Qgd2l0aCBETlMgaWYgbmVlZGVkLgorCSAqLworCXIgPSAtMTsKKwlpZiAoY3RsLT51c2VkbnMgfHwgY3RsLT51c2VpcCkKKwkJciA9IGRuc19sb29rdXAoZG9tYWluLCBzaXplb2YoZG9tYWluKSwgY3RsLT51c2VpcCwgKGludDMyX3QqKXAtPnV0X2FkZHJfdjYpOworCWlmIChyIDwgMCkgeworCQlzaXplX3Qgc3ogPSBzaXplb2YocC0+dXRfaG9zdCk7CisKKwkJaWYgKHN6ID4gc2l6ZW9mKGRvbWFpbikpCisJCQlzeiA9IHNpemVvZihkb21haW4pOworCisJCXhzdHJuY3B5KGRvbWFpbiwgcC0+dXRfaG9zdCwgc3opOworCX0KKworCisJaWYgKGN0bC0+c2hvd2hvc3QpIHsKKwkJaWYgKCFjdGwtPmFsdGxpc3QpIHsKKwkJCWxlbiA9IHNucHJpbnRmKGZpbmFsLCBzaXplb2YoZmluYWwpLAorCQkJCSIlLTguKnMgJS0xMi4xMnMgJS0xNi4qcyAlLSouKnMgJS0qLipzICVzXG4iLAorCQkJCWN0bC0+bmFtZV9sZW4sIHAtPnV0X3VzZXIsIHV0bGluZSwKKwkJCQljdGwtPmRvbWFpbl9sZW4sIGRvbWFpbiwKKwkJCQlmbXQtPmluX2xlbiwgZm10LT5pbl9sZW4sIGxvZ2ludGltZSwgZm10LT5vdXRfbGVuLCBmbXQtPm91dF9sZW4sCisJCQkJbG9nb3V0dGltZSwgbGVuZ3RoKTsKKwkJfSBlbHNlIHsKKwkJCWxlbiA9IHNucHJpbnRmKGZpbmFsLCBzaXplb2YoZmluYWwpLAorCQkJCSIlLTguKnMgJS0xMi4xMnMgJS0qLipzICUtKi4qcyAlLTEyLjEycyAlc1xuIiwKKwkJCQljdGwtPm5hbWVfbGVuLCBwLT51dF91c2VyLCB1dGxpbmUsCisJCQkJZm10LT5pbl9sZW4sIGZtdC0+aW5fbGVuLCBsb2dpbnRpbWUsIGZtdC0+b3V0X2xlbiwgZm10LT5vdXRfbGVuLAorCQkJCWxvZ291dHRpbWUsIGxlbmd0aCwgZG9tYWluKTsKKwkJfQorCX0gZWxzZQorCQlsZW4gPSBzbnByaW50ZihmaW5hbCwgc2l6ZW9mKGZpbmFsKSwKKwkJCSIlLTguKnMgJS0xMi4xMnMgJS0qLipzICUtKi4qcyAlc1xuIiwKKwkJCWN0bC0+bmFtZV9sZW4sIHAtPnV0X3VzZXIsIHV0bGluZSwKKwkJCWZtdC0+aW5fbGVuLCBmbXQtPmluX2xlbiwgbG9naW50aW1lLCBmbXQtPm91dF9sZW4sIGZtdC0+b3V0X2xlbiwKKwkJCWxvZ291dHRpbWUsIGxlbmd0aCk7CisKKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKKyMgIGlmIChfX0dMSUJDX18gPT0gMikgJiYgKF9fR0xJQkNfTUlOT1JfXyA9PSAwKQorCWZpbmFsW3NpemVvZihmaW5hbCktMV0gPSAnXDAnOworIyAgZW5kaWYKKyNlbmRpZgorCisJdHJpbV90cmFpbGluZ19zcGFjZXMoZmluYWwpOworCS8qCisJICoJUHJpbnQgb3V0ICJmaW5hbCIgc3RyaW5nIHNhZmVseS4KKwkgKi8KKwlmb3IgKHMgPSBmaW5hbDsgKnM7IHMrKykKKwkJZnB1dGNfY2FyZWZ1bCgqcywgc3Rkb3V0LCAnKicpOworCisJaWYgKGxlbiA8IDAgfHwgKHNpemVfdClsZW4gPj0gc2l6ZW9mKGZpbmFsKSkKKwkJcHV0Y2hhcignXG4nKTsKKworCXJlY3Nkb25lKys7CisJaWYgKGN0bC0+bWF4cmVjcyAmJiBjdGwtPm1heHJlY3MgPD0gcmVjc2RvbmUpCisJCXJldHVybiAxOworCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoY29uc3Qgc3RydWN0IGxhc3RfY29udHJvbCAqY3RsKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oCisJCSIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIpLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIpLCBjdGwtPmxhc3RiID8gX1BBVEhfQlRNUCA6IF9QQVRIX1dUTVApOworCWZwdXRzKF8oIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorCQkiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyMikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgibGFzdCgxKSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgaXNfcGhhbnRvbShjb25zdCBzdHJ1Y3QgbGFzdF9jb250cm9sICpjdGwsIHN0cnVjdCB1dG1weCAqdXQpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJY2hhciBwYXRoW3NpemVvZih1dC0+dXRfbGluZSkgKyAxNl07CisJaW50IHJldCA9IDA7CisKKwlpZiAodXQtPnV0X3R2LnR2X3NlYyA8IGN0bC0+Ym9vdF90aW1lLnR2X3NlYykKKwkJcmV0dXJuIDE7CisJcHcgPSBnZXRwd25hbSh1dC0+dXRfdXNlcik7CisJaWYgKCFwdykKKwkJcmV0dXJuIDE7CisJc3ByaW50ZihwYXRoLCAiL3Byb2MvJXUvbG9naW51aWQiLCB1dC0+dXRfcGlkKTsKKwlpZiAoYWNjZXNzKHBhdGgsIFJfT0spID09IDApIHsKKwkJdW5zaWduZWQgaW50IGxvZ2ludWlkOworCQlGSUxFICpmID0gTlVMTDsKKworCQlpZiAoIShmID0gZm9wZW4ocGF0aCwgInIiKSkpCisJCQlyZXR1cm4gMTsKKwkJaWYgKGZzY2FuZihmLCAiJXUiLCAmbG9naW51aWQpICE9IDEpCisJCQlyZXQgPSAxOworCQlmY2xvc2UoZik7CisJCWlmICghcmV0ICYmIHB3LT5wd191aWQgIT0gbG9naW51aWQpCisJCQlyZXR1cm4gMTsKKwl9IGVsc2UgeworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlzcHJpbnRmKHBhdGgsICIvZGV2LyVzIiwgdXQtPnV0X2xpbmUpOworCQlpZiAoc3RhdChwYXRoLCAmc3QpKQorCQkJcmV0dXJuIDE7CisJCWlmIChwdy0+cHdfdWlkICE9IHN0LnN0X3VpZCkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBwcm9jZXNzX3d0bXBfZmlsZShjb25zdCBzdHJ1Y3QgbGFzdF9jb250cm9sICpjdGwsCisJCQkgICAgICBjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlGSUxFICpmcDsJCS8qIEZpbGUgcG9pbnRlciBvZiB3dG1wIGZpbGUgKi8KKworCXN0cnVjdCB1dG1weCB1dDsJLyogQ3VycmVudCB1dG1wIGVudHJ5ICovCisJc3RydWN0IHV0bXBsaXN0ICp1bGlzdCA9IE5VTEw7CS8qIEFsbCBlbnRyaWVzICovCisJc3RydWN0IHV0bXBsaXN0ICpwOwkvKiBQb2ludGVyIGludG8gdXRtcGxpc3QgKi8KKwlzdHJ1Y3QgdXRtcGxpc3QgKm5leHQ7CS8qIFBvaW50ZXIgaW50byB1dG1wbGlzdCAqLworCisJdGltZV90IGxhc3Rib290ID0gMDsJLyogTGFzdCBib290dGltZSAqLworCXRpbWVfdCBsYXN0cmNoID0gMDsJLyogTGFzdCBydW4gbGV2ZWwgY2hhbmdlICovCisJdGltZV90IGxhc3Rkb3duOwkvKiBMYXN0IGRvd250aW1lICovCisJdGltZV90IGJlZ2ludGltZTsJLyogV2hlbiB3dG1wIGJlZ2lucyAqLworCWludCB3aHlkb3duID0gMDsJLyogV2h5IHdlIHdlbnQgZG93bjogY3Jhc2ggb3Igc2h1dGRvd24gKi8KKworCWludCBjLCB4OwkJLyogU2NyYXRjaCAqLworCXN0cnVjdCBzdGF0IHN0OwkJLyogVG8gc3RhdCB0aGUgW3V3XXRtcCBmaWxlICovCisJaW50IHF1aXQgPSAwOwkJLyogRmxhZyAqLworCWludCBkb3duID0gMDsJCS8qIERvd24gZmxhZyAqLworCisJdGltZSgmbGFzdGRvd24pOworCS8qCisJICogRmlsbCBpbiAnbGFzdGRhdGUnCisJICovCisJbGFzdGRhdGUgPSBjdXJyZW50ZGF0ZSA9IGxhc3RyY2ggPSBsYXN0ZG93bjsKKworCS8qCisJICogSW5zdGFsbCBzaWduYWwgaGFuZGxlcnMKKwkgKi8KKwlzaWduYWwoU0lHSU5ULCBpbnRfaGFuZGxlcik7CisJc2lnbmFsKFNJR1FVSVQsIHF1aXRfaGFuZGxlcik7CisKKwkvKgorCSAqIE9wZW4gdGhlIHV0bXAgZmlsZQorCSAqLworCWlmICgoZnAgPSBmb3BlbihmaWxlbmFtZSwgInIiKSkgPT0gTlVMTCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWUpOworCisJLyoKKwkgKiBPcHRpbWl6ZSB0aGUgYnVmZmVyIHNpemUuCisJICovCisJc2V0dmJ1ZihmcCwgTlVMTCwgX0lPRkJGLCBVQ0hVTktTSVpFKTsKKworCS8qCisJICogUmVhZCBmaXJzdCBzdHJ1Y3R1cmUgdG8gY2FwdHVyZSB0aGUgdGltZSBmaWVsZAorCSAqLworCWlmICh1cmVhZChmcCwgJnV0LCBOVUxMLCBmaWxlbmFtZSkgPT0gMSkKKwkJYmVnaW50aW1lID0gdXQudXRfdHYudHZfc2VjOworCWVsc2UgeworCQlpZiAoZnN0YXQoZmlsZW5vKGZwKSwgJnN0KSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgZmlsZW5hbWUpOworCQliZWdpbnRpbWUgPSBzdC5zdF9jdGltZTsKKwkJcXVpdCA9IDE7CisJfQorCisJLyoKKwkgKiBHbyB0byBlbmQgb2YgZmlsZSBtaW51cyBvbmUgc3RydWN0dXJlCisJICogYW5kL29yIGluaXRpYWxpemUgdXRtcCByZWFkaW5nIGNvZGUuCisJICovCisJdXJlYWQoZnAsIE5VTEwsIE5VTEwsIGZpbGVuYW1lKTsKKworCS8qCisJICogUmVhZCBzdHJ1Y3QgYWZ0ZXIgc3RydWN0IGJhY2t3YXJkcyBmcm9tIHRoZSBmaWxlLgorCSAqLworCXdoaWxlICghcXVpdCkgeworCisJCWlmICh1cmVhZChmcCwgJnV0LCAmcXVpdCwgZmlsZW5hbWUpICE9IDEpCisJCQlicmVhazsKKworCQlpZiAoY3RsLT5zaW5jZSAmJiB1dC51dF90di50dl9zZWMgPCBjdGwtPnNpbmNlKQorCQkJY29udGludWU7CisKKwkJaWYgKGN0bC0+dW50aWwgJiYgY3RsLT51bnRpbCA8IHV0LnV0X3R2LnR2X3NlYykKKwkJCWNvbnRpbnVlOworCisJCWxhc3RkYXRlID0gdXQudXRfdHYudHZfc2VjOworCisJCWlmIChjdGwtPmxhc3RiKSB7CisJCQlxdWl0ID0gbGlzdChjdGwsICZ1dCwgdXQudXRfdHYudHZfc2VjLCBSX05PUk1BTCk7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qCisJCSAqIFNldCB1dF90eXBlIHRvIHRoZSBjb3JyZWN0IHR5cGUuCisJCSAqLworCQlpZiAoc3RybmNtcCh1dC51dF9saW5lLCAifiIsIDEpID09IDApIHsKKwkJCWlmIChzdHJuY21wKHV0LnV0X3VzZXIsICJzaHV0ZG93biIsIDgpID09IDApCisJCQkJdXQudXRfdHlwZSA9IFNIVVRET1dOX1RJTUU7CisJCQllbHNlIGlmIChzdHJuY21wKHV0LnV0X3VzZXIsICJyZWJvb3QiLCA2KSA9PSAwKQorCQkJCXV0LnV0X3R5cGUgPSBCT09UX1RJTUU7CisJCQllbHNlIGlmIChzdHJuY21wKHV0LnV0X3VzZXIsICJydW5sZXZlbCIsIDgpID09IDApCisJCQkJdXQudXRfdHlwZSA9IFJVTl9MVkw7CisJCX0KKyNpZiAxIC8qZGVmIENPTVBBVCovCisJCS8qCisJCSAqIEZvciBzdHVwaWQgb2xkIGFwcGxpY2F0aW9ucyB0aGF0IGRvbid0IGZpbGwgaW4KKwkJICogdXRfdHlwZSBjb3JyZWN0bHkuCisJCSAqLworCQllbHNlIHsKKwkJCWlmICh1dC51dF90eXBlICE9IERFQURfUFJPQ0VTUyAmJgorCQkJICAgIHV0LnV0X3VzZXJbMF0gJiYgdXQudXRfbGluZVswXSAmJgorCQkJICAgIHN0cmNtcCh1dC51dF91c2VyLCAiTE9HSU4iKSAhPSAwKQorCQkJCXV0LnV0X3R5cGUgPSBVU0VSX1BST0NFU1M7CisJCQkvKgorCQkJICogRXZlbiB3b3JzZSwgYXBwbGljYXRpb25zIHRoYXQgd3JpdGUgZ2hvc3QKKwkJCSAqIGVudHJpZXM6IHV0X3R5cGUgc2V0IHRvIFVTRVJfUFJPQ0VTUyBidXQKKwkJCSAqIGVtcHR5IHV0X3VzZXIuLi4KKwkJCSAqLworCQkJaWYgKHV0LnV0X3VzZXJbMF0gPT0gMCkKKwkJCQl1dC51dF90eXBlID0gREVBRF9QUk9DRVNTOworCisJCQkvKgorCQkJICogQ2xvY2sgY2hhbmdlcy4KKwkJCSAqLworCQkJaWYgKHN0cmNtcCh1dC51dF91c2VyLCAiZGF0ZSIpID09IDApIHsKKwkJCQlpZiAodXQudXRfbGluZVswXSA9PSAnfCcpCisJCQkJCXV0LnV0X3R5cGUgPSBPTERfVElNRTsKKwkJCQlpZiAodXQudXRfbGluZVswXSA9PSAneycpCisJCQkJCXV0LnV0X3R5cGUgPSBORVdfVElNRTsKKwkJCX0KKwkJfQorI2VuZGlmCisJCXN3aXRjaCAodXQudXRfdHlwZSkgeworCQljYXNlIFNIVVRET1dOX1RJTUU6CisJCQlpZiAoY3RsLT5leHRlbmRlZCkgeworCQkJCXN0cmNweSh1dC51dF9saW5lLCAic3lzdGVtIGRvd24iKTsKKwkJCQlxdWl0ID0gbGlzdChjdGwsICZ1dCwgbGFzdGJvb3QsIFJfTk9STUFMKTsKKwkJCX0KKwkJCWxhc3Rkb3duID0gbGFzdHJjaCA9IHV0LnV0X3R2LnR2X3NlYzsKKwkJCWRvd24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT0xEX1RJTUU6CisJCWNhc2UgTkVXX1RJTUU6CisJCQlpZiAoY3RsLT5leHRlbmRlZCkgeworCQkJCXN0cmNweSh1dC51dF9saW5lLAorCQkJCXV0LnV0X3R5cGUgPT0gTkVXX1RJTUUgPyAibmV3IHRpbWUiIDoKKwkJCQkJIm9sZCB0aW1lIik7CisJCQkJcXVpdCA9IGxpc3QoY3RsLCAmdXQsIGxhc3Rkb3duLCBSX1RJTUVDSEFOR0UpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgQk9PVF9USU1FOgorCQkJc3RyY3B5KHV0LnV0X2xpbmUsICJzeXN0ZW0gYm9vdCIpOworCQkJcXVpdCA9IGxpc3QoY3RsLCAmdXQsIGxhc3Rkb3duLCBSX1JFQk9PVCk7CisJCQlsYXN0Ym9vdCA9IHV0LnV0X3R2LnR2X3NlYzsKKwkJCWRvd24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgUlVOX0xWTDoKKwkJCXggPSB1dC51dF9waWQgJiAyNTU7CisJCQlpZiAoY3RsLT5leHRlbmRlZCkgeworCQkJCXNwcmludGYodXQudXRfbGluZSwgIih0byBsdmwgJWMpIiwgeCk7CisJCQkJcXVpdCA9IGxpc3QoY3RsLCAmdXQsIGxhc3RyY2gsIFJfTk9STUFMKTsKKwkJCX0KKwkJCWlmICh4ID09ICcwJyB8fCB4ID09ICc2JykgeworCQkJCWxhc3Rkb3duID0gdXQudXRfdHYudHZfc2VjOworCQkJCWRvd24gPSAxOworCQkJCXV0LnV0X3R5cGUgPSBTSFVURE9XTl9USU1FOworCQkJfQorCQkJbGFzdHJjaCA9IHV0LnV0X3R2LnR2X3NlYzsKKwkJCWJyZWFrOworCisJCWNhc2UgVVNFUl9QUk9DRVNTOgorCQkJLyoKKwkJCSAqIFRoaXMgd2FzIGEgbG9naW4gLSBzaG93IHRoZSBmaXJzdCBtYXRjaGluZworCQkJICogbG9nb3V0IHJlY29yZCBhbmQgZGVsZXRlIGFsbCByZWNvcmRzIHdpdGgKKwkJCSAqIHRoZSBzYW1lIHV0X2xpbmUuCisJCQkgKi8KKwkJCWMgPSAwOworCQkJZm9yIChwID0gdWxpc3Q7IHA7IHAgPSBuZXh0KSB7CisJCQkJbmV4dCA9IHAtPm5leHQ7CisJCQkJaWYgKHN0cm5jbXAocC0+dXQudXRfbGluZSwgdXQudXRfbGluZSwKKwkJCQkgICAgc2l6ZW9mKHV0LnV0X2xpbmUpKSA9PSAwKSB7CisJCQkJCS8qIFNob3cgaXQgKi8KKwkJCQkJaWYgKGMgPT0gMCkgeworCQkJCQkJcXVpdCA9IGxpc3QoY3RsLCAmdXQsIHAtPnV0LnV0X3R2LnR2X3NlYywgUl9OT1JNQUwpOworCQkJCQkJYyA9IDE7CisJCQkJCX0KKwkJCQkJaWYgKHAtPm5leHQpCisJCQkJCQlwLT5uZXh0LT5wcmV2ID0gcC0+cHJldjsKKwkJCQkJaWYgKHAtPnByZXYpCisJCQkJCQlwLT5wcmV2LT5uZXh0ID0gcC0+bmV4dDsKKwkJCQkJZWxzZQorCQkJCQkJdWxpc3QgPSBwLT5uZXh0OworCQkJCQlmcmVlKHApOworCQkJCX0KKwkJCX0KKwkJCS8qCisJCQkgKiBOb3QgZm91bmQ/IFRoZW4gY3Jhc2hlZCwgZG93biwgc3RpbGwKKwkJCSAqIGxvZ2dlZCBpbiwgb3IgbWlzc2luZyBsb2dvdXQgcmVjb3JkLgorCQkJICovCisJCQlpZiAoYyA9PSAwKSB7CisJCQkJaWYgKCFsYXN0Ym9vdCkgeworCQkJCQljID0gUl9OT1c7CisJCQkJCS8qIElzIHByb2Nlc3Mgc3RpbGwgYWxpdmU/ICovCisJCQkJCWlmIChpc19waGFudG9tKGN0bCwgJnV0KSkKKwkJCQkJCWMgPSBSX1BIQU5UT007CisJCQkJfSBlbHNlCisJCQkJCWMgPSB3aHlkb3duOworCQkJCXF1aXQgPSBsaXN0KGN0bCwgJnV0LCBsYXN0Ym9vdCwgYyk7CisJCQl9CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCisJCWNhc2UgREVBRF9QUk9DRVNTOgorCQkJLyoKKwkJCSAqIEp1c3Qgc3RvcmUgdGhlIGRhdGEgaWYgaXQgaXMKKwkJCSAqIGludGVyZXN0aW5nIGVub3VnaC4KKwkJCSAqLworCQkJaWYgKHV0LnV0X2xpbmVbMF0gPT0gMCkKKwkJCQlicmVhazsKKwkJCXAgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgdXRtcGxpc3QpKTsKKwkJCW1lbWNweSgmcC0+dXQsICZ1dCwgc2l6ZW9mKHN0cnVjdCB1dG1weCkpOworCQkJcC0+bmV4dCAgPSB1bGlzdDsKKwkJCXAtPnByZXYgID0gTlVMTDsKKwkJCWlmICh1bGlzdCkKKwkJCQl1bGlzdC0+cHJldiA9IHA7CisJCQl1bGlzdCA9IHA7CisJCQlicmVhazsKKworCQljYXNlIEVNUFRZOgorCQljYXNlIElOSVRfUFJPQ0VTUzoKKwkJY2FzZSBMT0dJTl9QUk9DRVNTOgorI2lmZGVmIEFDQ09VTlRJTkcKKwkJY2FzZSBBQ0NPVU5USU5HOgorI2VuZGlmCisJCQkvKiBpZ25vcmVkIHV0X3R5cGVzICovCisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJd2FybngoInVucmVjb2duaXplZCB1dF90eXBlOiAlZCIsIHV0LnV0X3R5cGUpOworCQl9CisKKwkJLyoKKwkJICogSWYgd2Ugc2F3IGEgc2h1dGRvd24vcmVib290IHJlY29yZCB3ZSBjYW4gcmVtb3ZlCisJCSAqIHRoZSBlbnRpcmUgY3VycmVudCB1bGlzdC4KKwkJICovCisJCWlmIChkb3duKSB7CisJCQlsYXN0Ym9vdCA9IHV0LnV0X3R2LnR2X3NlYzsKKwkJCXdoeWRvd24gPSAodXQudXRfdHlwZSA9PSBTSFVURE9XTl9USU1FKSA/IFJfRE9XTiA6IFJfQ1JBU0g7CisJCQlmb3IgKHAgPSB1bGlzdDsgcDsgcCA9IG5leHQpIHsKKwkJCQluZXh0ID0gcC0+bmV4dDsKKwkJCQlmcmVlKHApOworCQkJfQorCQkJdWxpc3QgPSBOVUxMOworCQkJZG93biA9IDA7CisJCX0KKwl9CisKKwlpZiAoY3RsLT50aW1lX2ZtdCAhPSBMQVNUX1RJTUVGVE1fTk9ORSkgeworCQlzdHJ1Y3QgbGFzdF90aW1lZm10ICpmbXQ7CisJCWNoYXIgdGltZXN0cltMQVNUX1RJTUVTVEFNUF9MRU5dOworCQljaGFyICp0bXAgPSB4c3RyZHVwKGZpbGVuYW1lKTsKKworCQlmbXQgPSAmdGltZWZtdHNbY3RsLT50aW1lX2ZtdF07CisJCWlmICh0aW1lX2Zvcm1hdHRlcihmbXQtPmluX2ZtdCwgdGltZXN0ciwKKwkJCQkgICBzaXplb2YodGltZXN0ciksICZiZWdpbnRpbWUpIDwgMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiKSk7CisJCXByaW50ZihfKCJcbiVzIGJlZ2lucyAlc1xuIiksIGJhc2VuYW1lKHRtcCksIHRpbWVzdHIpOworCQlmcmVlKHRtcCk7CisJfQorCisJZmNsb3NlKGZwKTsKKworCWZvciAocCA9IHVsaXN0OyBwOyBwID0gbmV4dCkgeworCQluZXh0ID0gcC0+bmV4dDsKKwkJZnJlZShwKTsKKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgbGFzdF9jb250cm9sIGN0bCA9IHsKKwkJLnNob3dob3N0ID0gVFJVRSwKKwkJLm5hbWVfbGVuID0gTEFTVF9MT0dJTl9MRU4sCisJCS50aW1lX2ZtdCA9IExBU1RfVElNRUZUTV9TSE9SVCwKKwkJLmRvbWFpbl9sZW4gPSBMQVNUX0RPTUFJTl9MRU4KKwl9OworCWNoYXIgKipmaWxlcyA9IE5VTEw7CisJc2l6ZV90IGksIG5maWxlcyA9IDA7CisJaW50IGM7CisJdXNlY190IHA7CisKKwllbnVtIHsKKwkJT1BUX1RJTUVfRk9STUFUID0gQ0hBUl9NQVggKyAxCisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9IHsKKwkgICAgICB7ICJsaW1pdCIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkgICAgICB7ICJoZWxwIiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCSAgICAgIHsgImZpbGUiLCAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2YnIH0sCisJICAgICAgeyAibm9ob3N0bmFtZSIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnUicgfSwKKwkgICAgICB7ICJ2ZXJzaW9uIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCSAgICAgIHsgImhvc3RsYXN0IiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2EnIH0sCisJICAgICAgeyAic2luY2UiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncycgfSwKKwkgICAgICB7ICJ1bnRpbCIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0JyB9LAorCSAgICAgIHsgInByZXNlbnQiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJICAgICAgeyAic3lzdGVtIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAneCcgfSwKKwkgICAgICB7ICJkbnMiLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdkJyB9LAorCSAgICAgIHsgImlwIiwgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2knIH0sCisJICAgICAgeyAiZnVsbHRpbWVzIiwgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnRicgfSwKKwkgICAgICB7ICJmdWxsbmFtZXMiLCAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd3JyB9LAorCSAgICAgIHsgInRpbWUtZm9ybWF0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9USU1FX0ZPUk1BVCB9LAorCSAgICAgIHsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdGJywgT1BUX1RJTUVfRk9STUFUIH0sCS8qIGZ1bGx0aW1lLCB0aW1lLWZvcm1hdCAqLworCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKwkvKgorCSAqIFdoaWNoIGZpbGUgZG8gd2Ugd2FudCB0byByZWFkPworCSAqLworCWN0bC5sYXN0YiA9IHN0cmNtcChwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgImxhc3RiIikgPT0gMCA/IDEgOiAwOworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkiaFZmOm46UnhhZEZpdDpwOnM6MDEyMzQ1Njc4OXciLCBsb25nX29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nX29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoJmN0bCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ1InOgorCQkJY3RsLnNob3dob3N0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCWN0bC5leHRlbmRlZCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwubWF4cmVjcyA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBudW1iZXIiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlpZiAoIWZpbGVzKQorCQkJCWZpbGVzID0geG1hbGxvYyhzaXplb2YoY2hhciAqKSAqIGFyZ2MpOworCQkJZmlsZXNbbmZpbGVzKytdID0geHN0cmR1cChvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJY3RsLnVzZWRucyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQljdGwudXNlaXAgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJY3RsLmFsdGxpc3QgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0YnOgorCQkJY3RsLnRpbWVfZm10ID0gTEFTVF9USU1FRlRNX0NUSU1FOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJaWYgKHBhcnNlX3RpbWVzdGFtcChvcHRhcmcsICZwKSA8IDApCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiKSwgb3B0YXJnKTsKKwkJCWN0bC5wcmVzZW50ID0gKHRpbWVfdCkgKHAgLyAxMDAwMDAwKTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWlmIChwYXJzZV90aW1lc3RhbXAob3B0YXJnLCAmcCkgPCAwKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIiksIG9wdGFyZyk7CisJCQljdGwuc2luY2UgPSAodGltZV90KSAocCAvIDEwMDAwMDApOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJaWYgKHBhcnNlX3RpbWVzdGFtcChvcHRhcmcsICZwKSA8IDApCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiKSwgb3B0YXJnKTsKKwkJCWN0bC51bnRpbCA9ICh0aW1lX3QpIChwIC8gMTAwMDAwMCk7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQlpZiAoY3RsLm5hbWVfbGVuIDwgc2l6ZW9mKCgoc3RydWN0IHV0bXB4ICopIDApLT51dF91c2VyKSkKKwkJCQljdGwubmFtZV9sZW4gPSBzaXplb2YoKChzdHJ1Y3QgdXRtcHggKikgMCktPnV0X3VzZXIpOworCQkJaWYgKGN0bC5kb21haW5fbGVuIDwgc2l6ZW9mKCgoc3RydWN0IHV0bXB4ICopIDApLT51dF9ob3N0KSkKKwkJCQljdGwuZG9tYWluX2xlbiA9IHNpemVvZigoKHN0cnVjdCB1dG1weCAqKSAwKS0+dXRfaG9zdCk7CisJCQlicmVhazsKKwkJY2FzZSAnMCc6IGNhc2UgJzEnOiBjYXNlICcyJzogY2FzZSAnMyc6IGNhc2UgJzQnOgorCQljYXNlICc1JzogY2FzZSAnNic6IGNhc2UgJzcnOiBjYXNlICc4JzogY2FzZSAnOSc6CisJCQljdGwubWF4cmVjcyA9IDEwICogY3RsLm1heHJlY3MgKyBjIC0gJzAnOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1RJTUVfRk9STUFUOgorCQkJY3RsLnRpbWVfZm10ID0gd2hpY2hfdGltZV9mb3JtYXQob3B0YXJnKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKG9wdGluZCA8IGFyZ2MpCisJCWN0bC5zaG93ID0gYXJndiArIG9wdGluZDsKKworCWlmICghZmlsZXMpIHsKKwkJZmlsZXMgPSB4bWFsbG9jKHNpemVvZihjaGFyICopKTsKKwkJZmlsZXNbbmZpbGVzKytdID0geHN0cmR1cChjdGwubGFzdGIgPyBfUEFUSF9CVE1QIDogX1BBVEhfV1RNUCk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IG5maWxlczsgaSsrKSB7CisJCWdldF9ib290X3RpbWUoJmN0bC5ib290X3RpbWUpOworCQlwcm9jZXNzX3d0bXBfZmlsZSgmY3RsLCBmaWxlc1tpXSk7CisJCWZyZWUoZmlsZXNbaV0pOworCX0KKwlmcmVlKGZpbGVzKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbGFzdGIuMSBiL2xvZ2luLXV0aWxzL2xhc3RiLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU3YzAyYQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xhc3RiLjEKQEAgLTAsMCArMSBAQAorLnNvIG1hbjEvbGFzdC4xCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9saWJ1c2VyLmMgYi9sb2dpbi11dGlscy9saWJ1c2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjExZmFkYwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xpYnVzZXIuYwpAQCAtMCwwICsxLDcyIEBACisvKgorICogICBsaWJ1c2VyLmMgLS0gVXRpbGl6ZSBsaWJ1c2VyIHRvIHNldCBhIHVzZXIgYXR0cmlidXRlCisgKiAgIChjKSAyMDEyIGJ5IENvZHkgTWFsb25leSA8Y21hbG9uZXlAdGhlb3JldGljYWxjaGFvcy5jb20+CisgKgorICogICB0aGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZS4gIHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZAorICogICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBnbnUgZ2VuZXJhbCBwdWJsaWMgbGljZW5zZS4KKyAqICAgdGhlcmUgaXMgbm8gd2FycmFudHkuCisgKgorICovCisKKyNpbmNsdWRlICJsaWJ1c2VyLmgiCisKKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxsaWJ1c2VyL3VzZXIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImF1dGguaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisKK3N0YXRpYyBpbnQgYXV0aF9sdShjb25zdCBjaGFyICpzZXJ2aWNlX25hbWUsIHN0cnVjdCBsdV9jb250ZXh0ICpjdHgsIHVpZF90IHVpZCwKKwkJCWNvbnN0IGNoYXIgKnVzZXJuYW1lKTsKKworc3RhdGljIGludCBhdXRoX2x1KGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSwgc3RydWN0IGx1X2NvbnRleHQgKmN0eCwgdWlkX3QgdWlkLAorCQkJY29uc3QgY2hhciAqdXNlcm5hbWUpIHsKKwlpZiAoIWx1X3VzZXNfZWxldmF0ZWRfcHJpdmlsZWdlcyhjdHgpKSB7CisJCS8qIERyb3AgcHJpdmlsZWdlcyAqLworCQlpZiAoc2V0ZWdpZChnZXRnaWQoKSkgPT0gLTEpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiKSk7CisJCWlmIChzZXRldWlkKGdldHVpZCgpKSA9PSAtMSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIpKTsKKwkJcmV0dXJuIFRSVUU7CisJfQorCisJcmV0dXJuIGF1dGhfcGFtKHNlcnZpY2VfbmFtZSwgdWlkLCB1c2VybmFtZSk7Cit9CisKK2ludCBzZXRfdmFsdWVfbGlidXNlcihjb25zdCBjaGFyICpzZXJ2aWNlX25hbWUsIGNvbnN0IGNoYXIgKnVzZXJuYW1lLCB1aWRfdCB1aWQsCisJCQljb25zdCBjaGFyICphdHRyLCBjb25zdCBjaGFyICp2YWwpIHsKKwlzdHJ1Y3QgbHVfY29udGV4dCAqY3R4OworCXN0cnVjdCBsdV9lcnJvciAqZXJyb3IgPSBOVUxMOworCXN0cnVjdCBsdV9lbnQgKmVudDsKKworCWN0eCA9IGx1X3N0YXJ0KHVzZXJuYW1lLCBsdV91c2VyLCBOVUxMLCBOVUxMLCBsdV9wcm9tcHRfY29uc29sZV9xdWlldCwKKwkJCU5VTEwsICZlcnJvcik7CisJaWYgKGN0eCA9PSBOVUxMKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIpLAorCQkJbHVfc3RyZXJyb3IoZXJyb3IpKTsKKworCWlmICghYXV0aF9sdShzZXJ2aWNlX25hbWUsIGN0eCwgdWlkLCB1c2VybmFtZSkpIHsKKwkJZXJybm8gPSBFQUNDRVM7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIpKTsKKwl9CisKKwkvKiBMb29rIHVwIHRoZSB1c2VyJ3MgcmVjb3JkLiAqLworCWVudCA9IGx1X2VudF9uZXcoKTsKKwlpZiAobHVfdXNlcl9sb29rdXBfbmFtZShjdHgsIHVzZXJuYW1lLCBlbnQsICZlcnJvcikgPT0gRkFMU0UpIHsKKwkJbHVfZW5kKGN0eCk7CisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iKSwgdXNlcm5hbWUpOworCX0KKworCWx1X2VudF9zZXRfc3RyaW5nKGVudCwgYXR0ciwgdmFsKTsKKwlpZiAoIWx1X3VzZXJfbW9kaWZ5KGN0eCwgZW50LCAmZXJyb3IpKSB7CisJCWx1X2VudF9mcmVlKGVudCk7CisJCWx1X2VuZChjdHgpOworCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIiksIGx1X3N0cmVycm9yKGVycm9yKSk7CisJfQorCWx1X2VudF9mcmVlKGVudCk7CisJbHVfZW5kKGN0eCk7CisKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL2xpYnVzZXIuaCBiL2xvZ2luLXV0aWxzL2xpYnVzZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDU0Yjk5Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbGlidXNlci5oCkBAIC0wLDAgKzEsMTQgQEAKKy8qCisgKiAgIGxpYnVzZXIuaCAtLSBVdGlsaXplIGxpYnVzZXIgdG8gc2V0IGEgdXNlciBhdHRyaWJ1dGUKKyAqICAgKGMpIDIwMTIgYnkgQ29keSBNYWxvbmV5IDxjbWFsb25leUB0aGVvcmV0aWNhbGNoYW9zLmNvbT4KKyAqCisgKiAgIHRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kCisgKiAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIGdudSBnZW5lcmFsIHB1YmxpYyBsaWNlbnNlLgorICogICB0aGVyZSBpcyBubyB3YXJyYW50eS4KKyAqCisgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCitleHRlcm4gaW50IHNldF92YWx1ZV9saWJ1c2VyKGNvbnN0IGNoYXIgKnNlcnZpY2VfbmFtZSwgY29uc3QgY2hhciAqdXNlcm5hbWUsCisJCQl1aWRfdCB1aWQsIGNvbnN0IGNoYXIgKmF0dHIsIGNvbnN0IGNoYXIgKnZhbCk7CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9sb2dpbi4xIGIvbG9naW4tdXRpbHMvbG9naW4uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjhhZGRlCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbG9naW4uMQpAQCAtMCwwICsxLDM1MCBAQAorLlwiIENvcHlyaWdodCAxOTkzIFJpY2thcmQgRS4gRmFpdGggKGZhaXRoQGNzLnVuYy5lZHUpCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIExPR0lOICIxIiAiSnVuZSAyMDEyIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbG9naW4gXC0gYmVnaW4gc2Vzc2lvbiBvbiB0aGUgc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIGxvZ2luCitbCisuQiBcLXAKK10gWworLkIgXC1oCisuSSBob3N0CitdIFsKKy5CIFwtSAorXSBbCisuQiBcLWYKKy5JIHVzZXJuYW1lCit8CisuSSB1c2VybmFtZQorXQorLlNIIERFU0NSSVBUSU9OCisuQiBsb2dpbgoraXMgdXNlZCB3aGVuIHNpZ25pbmcgb250byBhIHN5c3RlbS4gIElmIG5vIGFyZ3VtZW50IGlzIGdpdmVuLAorLkIgbG9naW4KK3Byb21wdHMgZm9yIHRoZSB1c2VybmFtZS4KKy5QUAorVGhlIHVzZXIgaXMgdGhlbiBwcm9tcHRlZCBmb3IgYSBwYXNzd29yZCwgd2hlcmUgYXBwcm9wcmlhdGUuICBFY2hvaW5nCitpcyBkaXNhYmxlZCB0byBwcmV2ZW50IHJldmVhbGluZyB0aGUgcGFzc3dvcmQuICBPbmx5IGEgc21hbGwgbnVtYmVyCitvZiBwYXNzd29yZCBmYWlsdXJlcyBhcmUgcGVybWl0dGVkIGJlZm9yZQorLkIgbG9naW4KK2V4aXRzIGFuZCB0aGUgY29tbXVuaWNhdGlvbnMgbGluayBpcyBzZXZlcmVkLgorLlBQCitJZiBwYXNzd29yZCBhZ2luZyBoYXMgYmVlbiBlbmFibGVkIGZvciB0aGUgYWNjb3VudCwgdGhlIHVzZXIgbWF5IGJlCitwcm9tcHRlZCBmb3IgYSBuZXcgcGFzc3dvcmQgYmVmb3JlIHByb2NlZWRpbmcuICBIZSB3aWxsIGJlIGZvcmNlZCB0bworcHJvdmlkZSBoaXMgb2xkIHBhc3N3b3JkIGFuZCB0aGUgbmV3IHBhc3N3b3JkIGJlZm9yZSBjb250aW51aW5nLgorUGxlYXNlIHJlZmVyIHRvCisuQlIgcGFzc3dkICgxKQorZm9yIG1vcmUgaW5mb3JtYXRpb24uCisuUFAKK1RoZSB1c2VyIGFuZCBncm91cCBJRCB3aWxsIGJlIHNldCBhY2NvcmRpbmcgdG8gdGhlaXIgdmFsdWVzIGluIHRoZQorLkkgL2V0Yy9wYXNzd2QKK2ZpbGUuICBUaGVyZSBpcyBvbmUgZXhjZXB0aW9uIGlmIHRoZSB1c2VyIElEIGlzIHplcm86IGluIHRoaXMgY2FzZSwKK29ubHkgdGhlIHByaW1hcnkgZ3JvdXAgSUQgb2YgdGhlIGFjY291bnQgaXMgc2V0LiAgVGhpcyBzaG91bGQgYWxsb3cKK3RoZSBzeXN0ZW0gYWRtaW5pc3RyYXRvciB0byBsb2dpbiBldmVuIGluIGNhc2Ugb2YgbmV0d29yayBwcm9ibGVtcy4KK1RoZSB2YWx1ZSBmb3IKKy5CUiAkSE9NRSAsCisuQlIgJFVTRVIgLAorLkJSICRTSEVMTCAsCisuQlIgJFBBVEggLAorLkJSICRMT0dOQU1FICwKK2FuZAorLkIgJE1BSUwKK2FyZSBzZXQgYWNjb3JkaW5nIHRvIHRoZSBhcHByb3ByaWF0ZSBmaWVsZHMgaW4gdGhlIHBhc3N3b3JkIGVudHJ5LgorLkIgJFBBVEgKK2RlZmF1bHRzIHRvCisuSSAvdXNyXDovbG9jYWxcOi9iaW46XDovYmluOlw6L3Vzclw6L2JpbgorZm9yIG5vcm1hbCB1c2VycywgYW5kIHRvCisuSSAvdXNyXDovbG9jYWxcOi9zYmluOlw6L3Vzclw6L2xvY2FsXDovYmluOlw6L3NiaW46XDovYmluOlw6L3Vzclw6L3NiaW46XDovdXNyXDovYmluCitmb3Igcm9vdCwgaWYgbm90IG90aGVyd2lzZSBjb25maWd1cmVkLgorLlAKK1RoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLkIgJFRFUk0KK3dpbGwgYmUgcHJlc2VydmVkLCBpZiBpdCBleGlzdHMgKG90aGVyIGVudmlyb25tZW50IHZhcmlhYmxlcyBhcmUKK3ByZXNlcnZlZCBpZiB0aGUKKy5CIFwtcAorb3B0aW9uIGlzIGdpdmVuKSwgZWxzZSBpdCB3aWxsIGJlIGluaXRpYWxpemVkIHRvIHRoZSB0ZXJtaW5hbCB0eXBlIG9uIHlvdXIgdHR5LgorLlBQCitUaGVuIHRoZSB1c2VyJ3Mgc2hlbGwgaXMgc3RhcnRlZC4gIElmIG5vIHNoZWxsIGlzIHNwZWNpZmllZCBmb3IgdGhlCit1c2VyIGluCisuSVIgL2V0Y1w6L3Bhc3N3ZCAsCit0aGVuCisuSSAvYmluXDovc2gKK2lzIHVzZWQuICBJZiB0aGVyZSBpcyBubyBkaXJlY3Rvcnkgc3BlY2lmaWVkIGluCisuSVIgL2V0Y1w6L3Bhc3N3ZCAsCit0aGVuCisuSSAvCitpcyB1c2VkICh0aGUgaG9tZSBkaXJlY3RvcnkgaXMgY2hlY2tlZCBmb3IgdGhlCisuSSAuaHVzaGxvZ2luCitmaWxlIGRlc2NyaWJlZCBiZWxvdykuCisuUFAKK0lmIHRoZSBmaWxlCisuSSAuaHVzaGxvZ2luCitleGlzdHMsIHRoZW4gYSAicXVpZXQiIGxvZ2luIGlzIHBlcmZvcm1lZCAodGhpcyBkaXNhYmxlcyB0aGUgY2hlY2tpbmcKK29mIG1haWwgYW5kIHRoZSBwcmludGluZyBvZiB0aGUgbGFzdCBsb2dpbiB0aW1lIGFuZCBtZXNzYWdlIG9mIHRoZQorZGF5KS4gIE90aGVyd2lzZSwgaWYKKy5JIC92YXJcOi9sb2dcOi9sYXN0bG9nCitleGlzdHMsIHRoZSBsYXN0IGxvZ2luIHRpbWUgaXMgcHJpbnRlZCAoYW5kIHRoZSBjdXJyZW50IGxvZ2luIGlzCityZWNvcmRlZCkuCisuU0ggT1BUSU9OUworLlRQCisuQiBcLXAKK1VzZWQgYnkKKy5CUiBnZXR0eSAoOCkKK3RvIHRlbGwKKy5CIGxvZ2luCitub3QgdG8gZGVzdHJveSB0aGUgZW52aXJvbm1lbnQuCisuVFAKKy5CIFwtZgorVXNlZCB0byBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uLiAgVGhpcyBzcGVjaWZpY2FsbHkgZG9lcworLkIgbm90Cit3b3JrIGZvciByb290LCBhbmQgZG9lcyBub3QgYXBwZWFyIHRvIHdvcmsgd2VsbCB1bmRlciBMaW51eC4KKy5UUAorLkIgXC1oCitVc2VkIGJ5IG90aGVyIHNlcnZlcnMgKGkuZS4sCisuQlIgdGVsbmV0ZCAoOCkpCit0byBwYXNzIHRoZSBuYW1lIG9mIHRoZSByZW1vdGUgaG9zdCB0bworLkIgbG9naW4KK3NvIHRoYXQgaXQgbWF5IGJlIHBsYWNlZCBpbiB1dG1wIGFuZCB3dG1wLiAgT25seSB0aGUgc3VwZXJ1c2VyIG1heQordXNlIHRoaXMgb3B0aW9uLgorLklQCitOb3RlIHRoYXQgdGhlCisuQiBcLWgKK29wdGlvbiBoYXMgaW1wYWN0IG9uIHRoZQorLkIgUEFNIHNlcnZpY2UKKy5CUiBuYW1lIC4KK1RoZSBzdGFuZGFyZCBzZXJ2aWNlIG5hbWUgaXMKKy5JUiBsb2dpbiAsCit3aXRoIHRoZQorLkIgXC1oCitvcHRpb24gdGhlIG5hbWUgaXMKKy5JUiByZW1vdGUgLgorSXQgaXMgbmVjZXNzYXJ5IHRvIGNyZWF0ZSBwcm9wZXIgUEFNIGNvbmZpZyBmaWxlcyAoZS5nLgorLkkgL2V0Y1w6L3BhbS5kXDovbG9naW4KK2FuZAorLklSIC9ldGNcOi9wYW0uZFw6L3JlbW90ZSApLgorLlRQCisuQiBcLUgKK1VzZWQgYnkgb3RoZXIgc2VydmVycyAoaS5lLiwKKy5CUiB0ZWxuZXRkICg4KSkKK3RvIHRlbGwKKy5CIGxvZ2luCit0aGF0IHByaW50aW5nIHRoZSBob3N0bmFtZSBzaG91bGQgYmUgc3VwcHJlc3NlZCBpbiB0aGUgbG9naW46IHByb21wdC4KK1NlZSBhbHNvIExPR0lOX1BMQUlOX1BST01QVCBiZWxvdyBpZiB5b3VyIHNlcnZlciBkb2VzIG5vdCBhbGxvdyB0byBjb25maWd1cmUKKy5CIGxvZ2luCitjb21tYW5kIGxpbmUuCisuVFAKK1xmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIENPTkZJRyBGSUxFIElURU1TCisuQiBsb2dpbgorcmVhZHMgdGhlCisuSVIgL2V0Y1w6L2xvZ2luLmRlZnMgKDUpCitjb25maWd1cmF0aW9uIGZpbGUuICBOb3RlIHRoYXQgdGhlIGNvbmZpZ3VyYXRpb24gZmlsZSBjb3VsZCBiZQorZGlzdHJpYnV0ZWQgd2l0aCBhbm90aGVyIHBhY2thZ2UgKGUuZy4gc2hhZG93LXV0aWxzKS4gIFRoZSBmb2xsb3dpbmcKK2NvbmZpZ3VyYXRpb24gaXRlbXMgYXJlIHJlbGV2YW50IGZvcgorLkJSIGxvZ2luICgxKToKKy5QUAorLkIgTU9URF9GSUxFCisoc3RyaW5nKQorLlJTIDQKK0lmIGRlZmluZWQsIGEgIjoiIGRlbGltaXRlZCBsaXN0IG9mICJtZXNzYWdlIG9mIHRoZSBkYXkiIGZpbGVzIHRvIGJlCitkaXNwbGF5ZWQgdXBvbiBsb2dpbi4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgL2V0Y1w6L21vdGQgLgorSWYgdGhlCisuQiBNT1REX0ZJTEUKK2l0ZW0gaXMgZW1wdHkgb3IgYSBxdWlldCBsb2dpbiBpcyBlbmFibGVkLCB0aGVuIHRoZSBtZXNzYWdlIG9mIHRoZSBkYXkKK2lzIG5vdCBkaXNwbGF5ZWQuICBOb3RlIHRoYXQgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBpcyBhbHNvIHByb3ZpZGVkCitieQorLkJSIHBhbV9tb3RkICg4KQorUEFNIG1vZHVsZS4KKy5SRQorLlBQCisuQiBMT0dJTl9QTEFJTl9QUk9NUFQKKyhib29sZWFuKQorLlJTIDQKK1RlbGwgbG9naW4gdGhhdCBwcmludGluZyB0aGUgaG9zdG5hbWUgc2hvdWxkIGJlIHN1cHByZXNzZWQgaW4gdGhlIGxvZ2luOgorcHJvbXB0LiAgVGhpcyBpcyBhbHRlcm5hdGl2ZSB0byB0aGUgXGZCXC1IXGZSIGNvbW1hbmQgbGluZSBvcHRpb24uICBUaGUgZGVmYXVsdAordmFsdWUgaXMKKy5JUiBubyAuCisuUkUKKy5QUAorLkIgTE9HSU5fVElNRU9VVAorKG51bWJlcikKKy5SUyA0CitNYXggdGltZSBpbiBzZWNvbmRzIGZvciBsb2dpbi4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgNjAgLgorLlJFCisuUFAKKy5CIExPR0lOX1JFVFJJRVMKKyhudW1iZXIpCisuUlMgNAorTWF4aW11bSBudW1iZXIgb2YgbG9naW4gcmV0cmllcyBpbiBjYXNlIG9mIGEgYmFkIHBhc3N3b3JkLiAgVGhlIGRlZmF1bHQKK3ZhbHVlIGlzCisuSVIgMyAuCisuUkUKKy5QUAorLkIgRkFJTF9ERUxBWQorKG51bWJlcikKKy5SUyA0CitEZWxheSBpbiBzZWNvbmRzIGJlZm9yZSBiZWluZyBhbGxvd2VkIGFub3RoZXIgdGhyZWUgdHJpZXMgYWZ0ZXIgYQorbG9naW4gZmFpbHVyZS4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgNSAuCisuUkUKKy5QUAorLkIgVFRZUEVSTQorKHN0cmluZykKKy5SUyA0CitUaGUgdGVybWluYWwgcGVybWlzc2lvbnMuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcworLkkgMDYwMAorb3IKKy5JIDA2MjAKK2lmIHR0eSBncm91cCBpcyB1c2VkLgorLlJFCisuUFAKKy5CIFRUWUdST1VQCisoc3RyaW5nKQorLlJTIDQKK1RoZSBsb2dpbiB0dHkgd2lsbCBiZSBvd25lZCBieSB0aGUKKy5CUiBUVFlHUk9VUCAuCitUaGUgZGVmYXVsdCB2YWx1ZSBpcworLklSIHR0eSAuCitJZiB0aGUKKy5CIFRUWUdST1VQCitkb2VzIG5vdCBleGlzdCwgdGhlbiB0aGUgb3duZXJzaGlwIG9mIHRoZSB0ZXJtaW5hbCBpcyBzZXQgdG8gdGhlCit1c2VyXCdzIHByaW1hcnkgZ3JvdXAuCisuUFAKK1RoZQorLkIgVFRZR1JPVVAKK2NhbiBiZSBlaXRoZXIgdGhlIG5hbWUgb2YgYSBncm91cCBvciBhIG51bWVyaWMgZ3JvdXAgaWRlbnRpZmllci4KKy5SRQorLlBQCisuQiBIVVNITE9HSU5fRklMRQorKHN0cmluZykKKy5SUyA0CitJZiBkZWZpbmVkLCB0aGlzIGZpbGUgY2FuIGluaGliaXQgYWxsIHRoZSB1c3VhbCBjaGF0dGVyIGR1cmluZyB0aGUKK2xvZ2luIHNlcXVlbmNlLiAgSWYgYSBmdWxsIHBhdGhuYW1lIChlLmcuCisuSVIgL2V0Y1w6L2h1c2hsb2dpbnMgKQoraXMgc3BlY2lmaWVkLCB0aGVuIGh1c2hlZCBtb2RlIHdpbGwgYmUgZW5hYmxlZCBpZiB0aGUgdXNlclwncyBuYW1lIG9yCitzaGVsbCBhcmUgZm91bmQgaW4gdGhlIGZpbGUuICBJZiB0aGlzIGdsb2JhbCBodXNoIGxvZ2luIGZpbGUgaXMgZW1wdHkKK3RoZW4gdGhlIGh1c2hlZCBtb2RlIHdpbGwgYmUgZW5hYmxlZCBmb3IgYWxsIHVzZXJzLgorLlBQCitJZiBhIGZ1bGwgcGF0aG5hbWUgaXMgbm90IHNwZWNpZmllZCwgdGhlbiBodXNoZWQgbW9kZSB3aWxsIGJlIGVuYWJsZWQKK2lmIHRoZSBmaWxlIGV4aXN0cyBpbiB0aGUgdXNlclwncyBob21lIGRpcmVjdG9yeS4KKy5QUAorVGhlIGRlZmF1bHQgaXMgdG8gY2hlY2sKKy5JIC9ldGNcOi9odXNobG9naW5zCithbmQgaWYgaXQgZG9lcyBub3QgZXhpc3QgdGhlbgorLkkgfi8uaHVzaGxvZ2luCisuUFAKK0lmIHRoZQorLkIgSFVTSExPR0lOX0ZJTEUKK2l0ZW0gaXMgZW1wdHksIHRoZW4gYWxsIHRoZSBjaGVja3MgYXJlIGRpc2FibGVkLgorLlJFCisuUFAKKy5CIERFRkFVTFRfSE9NRQorKGJvb2xlYW4pCisuUlMgNAorSW5kaWNhdGUgaWYgbG9naW4gaXMgYWxsb3dlZCBpZiB3ZSBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byB0aGUKK2hvbWUgZGlyZWN0b3J5LiAgSWYgc2V0IHRvCisuSVIgeWVzICwKK3RoZSB1c2VyIHdpbGwgbG9naW4gaW4gdGhlIHJvb3QgKC8pIGRpcmVjdG9yeSBpZiBpdCBpcyBub3QgcG9zc2libGUKK3RvIGNoYW5nZSBkaXJlY3RvcnkgdG8gaGVyIGhvbWUuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcworLklSIHllcyAuCisuUkUKKy5QUAorLkIgTE9HX1VOS0ZBSUxfRU5BQgorKGJvb2xlYW4pCisuUlMgNAorRW5hYmxlIGRpc3BsYXkgb2YgdW5rbm93biB1c2VybmFtZXMgd2hlbiBsb2dpbiBmYWlsdXJlcyBhcmUgcmVjb3JkZWQuCitUaGUgZGVmYXVsdCB2YWx1ZSBpcworLklSIG5vIC4KKy5QUAorTm90ZSB0aGF0IGxvZ2dpbmcgdW5rbm93biB1c2VybmFtZXMgbWF5IGJlIGEgc2VjdXJpdHkgaXNzdWUgaWYgYQordXNlciBlbnRlcnMgaGVyIHBhc3N3b3JkIGluc3RlYWQgb2YgaGVyIGxvZ2luIG5hbWUuCisuUkUKKy5QUAorLkIgRU5WX1BBVEgKKyhzdHJpbmcpCisuUlMgNAorSWYgc2V0LCBpdCB3aWxsIGJlIHVzZWQgdG8gZGVmaW5lIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIHdoZW4KK2EgcmVndWxhciB1c2VyIGxvZ3MgaW4uICBUaGUgZGVmYXVsdCB2YWx1ZSBpcworLkkgL3Vzclw6L2xvY2FsXDovYmluOlw6L2JpbjpcOi91c3JcOi9iaW4KKy5SRQorLlBQCisuQiBFTlZfUk9PVFBBVEgKKyhzdHJpbmcpCisuYnIKKy5CIEVOVl9TVVBBVEgKKyhzdHJpbmcpCisuUlMgNAorSWYgc2V0LCBpdCB3aWxsIGJlIHVzZWQgdG8gZGVmaW5lIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIHdoZW4KK3RoZSBzdXBlcnVzZXIgbG9ncyBpbi4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSSAvdXNyXDovbG9jYWxcOi9zYmluOlw6L3Vzclw6L2xvY2FsXDovYmluOlw6L3NiaW46XDovYmluOlw6L3Vzclw6L3NiaW46XDovdXNyXDovYmluCisuUkUKKy5TSCBGSUxFUworLm5mCisuSSAvdmFyL3J1bi91dG1wCisuSSAvdmFyL2xvZy93dG1wCisuSSAvdmFyL2xvZy9sYXN0bG9nCisuSSAvdmFyL3Nwb29sL21haWwvKgorLkkgL2V0Yy9tb3RkCisuSSAvZXRjL3Bhc3N3ZAorLkkgL2V0Yy9ub2xvZ2luCisuSSAvZXRjL3BhbS5kL2xvZ2luCisuSSAvZXRjL3BhbS5kL3JlbW90ZQorLkkgL2V0Yy9odXNobG9naW5zCisuSSAuaHVzaGxvZ2luCisuZmkKKy5TSCAiU0VFIEFMU08iCisuQlIgbWFpbCAoMSksCisuQlIgcGFzc3dkICgxKSwKKy5CUiBwYXNzd2QgKDUpLAorLkJSIGVudmlyb24gKDcpLAorLkJSIGdldHR5ICg4KSwKKy5CUiBpbml0ICg4KSwKKy5CUiBzaHV0ZG93biAoOCkKKy5TSCBCVUdTCitUaGUgdW5kb2N1bWVudGVkIEJTRAorLkIgXC1yCitvcHRpb24gaXMgbm90IHN1cHBvcnRlZC4gIFRoaXMgbWF5IGJlIHJlcXVpcmVkIGJ5IHNvbWUKKy5CUiBybG9naW5kICg4KQorcHJvZ3JhbXMuCisuUFAKK0EgcmVjdXJzaXZlIGxvZ2luLCBhcyB1c2VkIHRvIGJlIHBvc3NpYmxlIGluIHRoZSBnb29kIG9sZCBkYXlzLCBubworbG9uZ2VyIHdvcmtzOyBmb3IgbW9zdCBwdXJwb3NlcworLkJSIHN1ICgxKQoraXMgYSBzYXRpc2ZhY3Rvcnkgc3Vic3RpdHV0ZS4gIEluZGVlZCwgZm9yIHNlY3VyaXR5IHJlYXNvbnMsIGxvZ2luCitkb2VzIGEgdmhhbmd1cCgpIHN5c3RlbSBjYWxsIHRvIHJlbW92ZSBhbnkgcG9zc2libGUgbGlzdGVuaW5nCitwcm9jZXNzZXMgb24gdGhlIHR0eS4gIFRoaXMgaXMgdG8gYXZvaWQgcGFzc3dvcmQgc25pZmZpbmcuICBJZiBvbmUKK3VzZXMgdGhlIGNvbW1hbmQKKy5CUiBsb2dpbiAsCit0aGVuIHRoZSBzdXJyb3VuZGluZyBzaGVsbCBnZXRzIGtpbGxlZCBieSB2aGFuZ3VwKCkgYmVjYXVzZSBpdCdzIG5vCitsb25nZXIgdGhlIHRydWUgb3duZXIgb2YgdGhlIHR0eS4gIFRoaXMgY2FuIGJlIGF2b2lkZWQgYnkgdXNpbmcKKy5CIGV4ZWMgbG9naW4KK2luIGEgdG9wLWxldmVsIHNoZWxsIG9yIHh0ZXJtLgorLlNIIEFVVEhPUgorRGVyaXZlZCBmcm9tIEJTRCBsb2dpbiA1LjQwICg1LzkvODkpIGJ5CisuTVQgZ2xhZEBcOmRhaW1pLlw6ZGsKK01pY2hhZWwgR2xhZAorLk1FCitmb3IgSFAtVVgKKy5icgorUG9ydGVkIHRvIExpbnV4IDAuMTI6CisuTVQgcG9lQFw6ZGFpbWkuXDphYXUuXDpkaworUGV0ZXIgT3JiYWVrCisuTUUKKy5icgorUmV3cml0dGVuIHRvIGEgUEFNLW9ubHkgdmVyc2lvbiBieQorLk1UIGt6YWtAXDpyZWRoYXQuXDpjb20KK0thcmVsIFphaworLk1FCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbG9naW4gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzCithdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9sb2dpbi5jIGIvbG9naW4tdXRpbHMvbG9naW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWVlOGY4Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbG9naW4uYwpAQCAtMCwwICsxLDEzODEgQEAKKy8qCisgKiBsb2dpbigxKQorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkZXJpdmVkIGZyb20gNC4zIEJTRCBzb2Z0d2FyZSBhbmQgaXMgc3ViamVjdCB0byB0aGUKKyAqIGNvcHlyaWdodCBub3RpY2UgYmVsb3cuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogUmV3cml0dGVuIHRvIFBBTS1vbmx5IHZlcnNpb24uCisgKgorICogTWljaGFlbCBHbGFkIChnbGFkQGRhaW1pLmRrKQorICogQ29tcHV0ZXIgU2NpZW5jZSBEZXBhcnRtZW50LCBBYXJodXMgVW5pdmVyc2l0eSwgRGVubWFyaworICogMTk5MC0wNy0wNAorICoKKyAqIENvcHlyaWdodCAoYykgMTk4MCwgMTk4NywgMTk4OCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zIGFyZSBwZXJtaXR0ZWQKKyAqIHByb3ZpZGVkIHRoYXQgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UgYW5kIHRoaXMgcGFyYWdyYXBoIGFyZQorICogZHVwbGljYXRlZCBpbiBhbGwgc3VjaCBmb3JtcyBhbmQgdGhhdCBhbnkgZG9jdW1lbnRhdGlvbiwKKyAqIGFkdmVydGlzaW5nIG1hdGVyaWFscywgYW5kIG90aGVyIG1hdGVyaWFscyByZWxhdGVkIHRvIHN1Y2gKKyAqIGRpc3RyaWJ1dGlvbiBhbmQgdXNlIGFja25vd2xlZGdlIHRoYXQgdGhlIHNvZnR3YXJlIHdhcyBkZXZlbG9wZWQKKyAqIGJ5IHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEsIEJlcmtlbGV5LiAgVGhlIG5hbWUgb2YgdGhlCisgKiBVbml2ZXJzaXR5IG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZAorICogZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIFdJVEhPVVQgQU5ZIEVYUFJFU1MgT1IKKyAqIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBXSVRIT1VUIExJTUlUQVRJT04sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1FUkNIQU5USUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuCisgKi8KKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8bWVtb3J5Lmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8dXRtcHguaD4KKyNpZmRlZiBIQVZFX0xBU1RMT0dfSAorIyBpbmNsdWRlIDxsYXN0bG9nLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvc3lzbG9nLmg+CisjaWZkZWYgSEFWRV9MSU5VWF9NQUpPUl9ICisjIGluY2x1ZGUgPGxpbnV4L21ham9yLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxuZXRkYi5oPgorI2luY2x1ZGUgPHNlY3VyaXR5L3BhbV9hcHBsLmg+CisjaWZkZWYgSEFWRV9TRUNVUklUWV9QQU1fTUlTQ19ICisjIGluY2x1ZGUgPHNlY3VyaXR5L3BhbV9taXNjLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfU0VDVVJJVFlfT1BFTlBBTV9IKQorIyBpbmNsdWRlIDxzZWN1cml0eS9vcGVucGFtLmg+CisjZW5kaWYKKyNpbmNsdWRlIDxzeXMvc2VuZGZpbGUuaD4KKworI2lmZGVmIEhBVkVfTElCQVVESVQKKyMgaW5jbHVkZSA8bGliYXVkaXQuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInNldHByb2N0aXRsZS5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJwd2R1dGlscy5oIgorCisjaW5jbHVkZSAibG9naW5kZWZzLmgiCisKKyNkZWZpbmUgaXNfcGFtX2ZhaWx1cmUoX3JjKQkoKF9yYykgIT0gUEFNX1NVQ0NFU1MpCisKKyNkZWZpbmUgTE9HSU5fTUFYX1RSSUVTICAgICAgICAzCisjZGVmaW5lIExPR0lOX0VYSVRfVElNRU9VVCAgICAgNQorI2RlZmluZSBMT0dJTl9USU1FT1VUICAgICAgICAgIDYwCisKKyNpZmRlZiBVU0VfVFRZX0dST1VQCisjIGRlZmluZSBUVFlfTU9ERSAwNjIwCisjZWxzZQorIyBkZWZpbmUgVFRZX01PREUgMDYwMAorI2VuZGlmCisKKyNkZWZpbmUJVFRZR1JQTkFNRQkidHR5IgkvKiBuYW1lIG9mIGdyb3VwIHRvIG93biB0dHlzICovCisjZGVmaW5lIFZDU19QQVRIX01BWAk2NAorCisvKgorICogTG9naW4gY29udHJvbCBzdHJ1Y3QKKyAqLworc3RydWN0IGxvZ2luX2NvbnRleHQgeworCWNvbnN0IGNoYXIJKnR0eV9wYXRoOwkvKiB0dHluYW1lKCkgcmV0dXJuIHZhbHVlICovCisJY29uc3QgY2hhcgkqdHR5X25hbWU7CS8qIHR0eV9wYXRoIHdpdGhvdXQgL2RldiBwcmVmaXggKi8KKwljb25zdCBjaGFyCSp0dHlfbnVtYmVyOwkvKiBlbmQgb2YgdGhlIHR0eV9wYXRoICovCisJbW9kZV90CQl0dHlfbW9kZTsJLyogY2htb2QoKSBtb2RlICovCisKKwljaGFyCQkqdXNlcm5hbWU7CS8qIGZyb20gY29tbWFuZCBsaW5lIG9yIFBBTSAqLworCisJc3RydWN0IHBhc3N3ZAkqcHdkOwkJLyogdXNlciBpbmZvICovCisJY2hhcgkJKnB3ZGJ1ZjsJLyogcHdkIHN0cmluZ3MgKi8KKworCXBhbV9oYW5kbGVfdAkqcGFtaDsJCS8qIFBBTSBoYW5kbGVyICovCisJc3RydWN0IHBhbV9jb252CWNvbnY7CQkvKiBQQU0gY29udmVyc2F0aW9uICovCisKKyNpZmRlZiBMT0dJTl9DSE9XTl9WQ1MKKwljaGFyCQl2Y3NuW1ZDU19QQVRIX01BWF07CS8qIHZpcnR1YWwgY29uc29sZSBuYW1lICovCisJY2hhcgkJdmNzYW5bVkNTX1BBVEhfTUFYXTsKKyNlbmRpZgorCisJY2hhcgkJKnRoaXNob3N0OwkJLyogdGhpcyBtYWNoaW5lICovCisJY2hhcgkJKnRoaXNkb21haW47CQkvKiB0aGlzIG1hY2hpbmUncyBkb21haW4gKi8KKwljaGFyCQkqaG9zdG5hbWU7CQkvKiByZW1vdGUgbWFjaGluZSAqLworCWNoYXIJCWhvc3RhZGRyZXNzWzE2XTsJLyogcmVtb3RlIGFkZHJlc3MgKi8KKworCXBpZF90CQlwaWQ7CisJaW50CQlxdWlldDsJCS8qIDEgaWYgaHVzaCBmaWxlIGV4aXN0cyAqLworCisJdW5zaWduZWQgaW50CXJlbW90ZToxLAkvKiBsb2dpbiAtaCAqLworCQkJbm9ob3N0OjEsCS8qIGxvZ2luIC1IICovCisJCQlub2F1dGg6MSwJLyogbG9naW4gLWYgKi8KKwkJCWtlZXBfZW52OjE7CS8qIGxvZ2luIC1wICovCit9OworCisvKgorICogVGhpcyBib3VuZHMgdGhlIHRpbWUgZ2l2ZW4gdG8gbG9naW4uICBOb3QgYSBkZWZpbmUsIHNvIGl0IGNhbgorICogYmUgcGF0Y2hlZCBvbiBtYWNoaW5lcyB3aGVyZSBpdCdzIHRvbyBzbWFsbC4KKyAqLworc3RhdGljIHVuc2lnbmVkIGludCB0aW1lb3V0ID0gTE9HSU5fVElNRU9VVDsKK3N0YXRpYyBpbnQgY2hpbGRfcGlkID0gMDsKK3N0YXRpYyB2b2xhdGlsZSBpbnQgZ290X3NpZyA9IDA7CitzdGF0aWMgY2hhciB0aW1lb3V0X21zZ1sxMjhdOworCisjaWZkZWYgTE9HSU5fQ0hPV05fVkNTCisvKiB0cnVlIGlmIHRoZSBmaWxlZGVzY3JpcHRvciBmZCBpcyBhIGNvbnNvbGUgdHR5LCB2ZXJ5IExpbnV4IHNwZWNpZmljICovCitzdGF0aWMgaW50IGlzX2NvbnNvbGV0dHkoaW50IGZkKQoreworCXN0cnVjdCBzdGF0IHN0YjsKKworCWlmICgoZnN0YXQoZmQsICZzdGIpID49IDApCisJICAgICYmIChtYWpvcihzdGIuc3RfcmRldikgPT0gVFRZX01BSk9SKQorCSAgICAmJiAobWlub3Ioc3RiLnN0X3JkZXYpIDwgNjQpKSB7CisJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKyNlbmRpZgorCisKKy8qCisgKiBSb2JlcnQgQW1icm9zZSB3cml0ZXM6CisgKiBBIGNvdXBsZSBvZiBteSB1c2VycyBoYXZlIGEgcHJvYmxlbSB3aXRoIGxvZ2luIHByb2Nlc3NlcyBoYW5naW5nIGFyb3VuZAorICogc29ha2luZyB1cCBwdHMncy4gIFdoYXQgdGhleSBzZWVtIHRvIGh1bmcgdXAgb24gaXMgdHJ5aW5nIHRvIHdyaXRlIG91dCB0aGUKKyAqIG1lc3NhZ2UgJ0xvZ2luIHRpbWVkIG91dCBhZnRlciAlZCBzZWNvbmRzJyB3aGVuIHRoZSBjb25uZWN0aW9uIGhhcyBhbHJlYWR5CisgKiBiZWVuIGRyb3BwZWQuCisgKiBXaGF0IEkgZGlkIHdhcyBhZGQgYSBzZWNvbmQgdGltZW91dCB3aGlsZSB0cnlpbmcgdG8gd3JpdGUgdGhlIG1lc3NhZ2UsIHNvCisgKiB0aGUgcHJvY2VzcyBqdXN0IGV4aXRzIGlmIHRoZSBzZWNvbmQgdGltZW91dCBleHBpcmVzLgorICovCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkKK3RpbWVkb3V0MihpbnQgc2lnIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJc3RydWN0IHRlcm1pb3MgdGk7CisKKwkvKiByZXNldCBlY2hvICovCisJdGNnZXRhdHRyKDAsICZ0aSk7CisJdGkuY19sZmxhZyB8PSBFQ0hPOworCXRjc2V0YXR0cigwLCBUQ1NBTk9XLCAmdGkpOworCV9leGl0KEVYSVRfU1VDQ0VTUyk7CS8qICUlICovCit9CisKK3N0YXRpYyB2b2lkIHRpbWVkb3V0KGludCBzaWcgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSkKK3sKKwlzaWduYWwoU0lHQUxSTSwgdGltZWRvdXQyKTsKKwlhbGFybSgxMCk7CisJaWdub3JlX3Jlc3VsdCggd3JpdGUoU1RERVJSX0ZJTEVOTywgdGltZW91dF9tc2csIHN0cmxlbih0aW1lb3V0X21zZykpICk7CisJc2lnbmFsKFNJR0FMUk0sIFNJR19JR04pOworCWFsYXJtKDApOworCXRpbWVkb3V0MigwKTsKK30KKworLyoKKyAqIFRoaXMgaGFuZGxlciBhbGxvd3MgdG8gaW5mb3JtIGEgc2hlbGwgYWJvdXQgc2lnbmFscyB0byBsb2dpbi4gSWYgeW91IGhhdmUKKyAqIChyb290KSBwZXJtaXNzaW9ucywgeW91IGNhbiBraWxsIGFsbCBsb2dpbiBjaGlsZHJlbiBieSBvbmUgc2lnbmFsIHRvIHRoZQorICogbG9naW4gcHJvY2Vzcy4KKyAqCisgKiBBbHNvLCBhIHBhcmVudCB3aG8gaXMgc2Vzc2lvbiBsZWFkZXIgaXMgYWJsZSAoYmVmb3JlIHNldHNpZCgpIGluIHRoZSBjaGlsZCkKKyAqIHRvIGluZm9ybSB0aGUgY2hpbGQgd2hlbiB0aGUgY29udHJvbGxpbmcgdHR5IGdvZXMgYXdheSAoZS5nLiBtb2RlbSBoYW5ndXApLgorICovCitzdGF0aWMgdm9pZCBzaWdfaGFuZGxlcihpbnQgc2lnbmFsKQoreworCWlmIChjaGlsZF9waWQpCisJCWtpbGwoLWNoaWxkX3BpZCwgc2lnbmFsKTsKKwllbHNlCisJCWdvdF9zaWcgPSAxOworCWlmIChzaWduYWwgPT0gU0lHVEVSTSkKKwkJa2lsbCgtY2hpbGRfcGlkLCBTSUdIVVApOwkvKiBiZWNhdXNlIHRoZSBzaGVsbCBvZnRlbiBpZ25vcmVzIFNJR1RFUk0gKi8KK30KKworLyoKKyAqIExldCB1cyBkZWxheSBhbGwgZXhpdCgpIGNhbGxzIHdoZW4gdGhlIHVzZXIgaXMgbm90IGF1dGhlbnRpY2F0ZWQKKyAqIG9yIHRoZSBzZXNzaW9uIG5vdCBmdWxseSBpbml0aWFsaXplZCAobG9naW5wYW1fc2Vzc2lvbigpKS4KKyAqLworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fbm9yZXR1cm5fXykpIHNsZWVwZXhpdChpbnQgZXZhbCkKK3sKKwlzbGVlcCgodW5zaWduZWQgaW50KWdldGxvZ2luZGVmc19udW0oIkZBSUxfREVMQVkiLCBMT0dJTl9FWElUX1RJTUVPVVQpKTsKKwlleGl0KGV2YWwpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3RoaXNob3N0KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKipkb21haW4pCit7CisJaWYgKCFjeHQtPnRoaXNob3N0KSB7CisJCWN4dC0+dGhpc2hvc3QgPSB4Z2V0aG9zdG5hbWUoKTsKKwkJaWYgKCFjeHQtPnRoaXNob3N0KSB7CisJCQlpZiAoZG9tYWluKQorCQkJCSpkb21haW4gPSBOVUxMOworCQkJcmV0dXJuIE5VTEw7CisJCX0KKwkJY3h0LT50aGlzZG9tYWluID0gc3RyY2hyKGN4dC0+dGhpc2hvc3QsICcuJyk7CisJCWlmIChjeHQtPnRoaXNkb21haW4pCisJCQkqY3h0LT50aGlzZG9tYWluKysgPSAnXDAnOworCX0KKworCWlmIChkb21haW4pCisJCSpkb21haW4gPSBjeHQtPnRoaXNkb21haW47CisJcmV0dXJuIGN4dC0+dGhpc2hvc3Q7Cit9CisKKy8qCisgKiBPdXRwdXQgdGhlIC9ldGMvbW90ZCBmaWxlLgorICoKKyAqIEl0IGRldGVybWluZXMgdGhlIG5hbWUgb2YgYSBsb2dpbiBhbm5vdW5jZW1lbnQgZmlsZSBhbmQgb3V0cHV0cyBpdCB0byB0aGUKKyAqIHVzZXIncyB0ZXJtaW5hbCBhdCBsb2dpbiB0aW1lLiAgVGhlIE1PVERfRklMRSBjb25maWd1cmF0aW9uIG9wdGlvbiBpcyBhCisgKiBjb2xvbi1kZWxpbWl0ZWQgbGlzdCBvZiBmaWxlbmFtZXMuICBBbiBlbXB0eSBNT1REX0ZJTEUgb3B0aW9uIGRpc2FibGVzCisgKiBtZXNzYWdlLW9mLXRoZS1kYXkgcHJpbnRpbmcgY29tcGxldGVseS4KKyAqLworc3RhdGljIHZvaWQgbW90ZCh2b2lkKQoreworCWNoYXIgKm1vdGRsaXN0LCAqbW90ZGZpbGU7CisJY29uc3QgY2hhciAqbWI7CisKKwltYiA9IGdldGxvZ2luZGVmc19zdHIoIk1PVERfRklMRSIsIF9QQVRIX01PVERGSUxFKTsKKwlpZiAoIW1iIHx8ICEqbWIpCisJCXJldHVybjsKKworCW1vdGRsaXN0ID0geHN0cmR1cChtYik7CisKKwlmb3IgKG1vdGRmaWxlID0gc3RydG9rKG1vdGRsaXN0LCAiOiIpOyBtb3RkZmlsZTsKKwkgICAgIG1vdGRmaWxlID0gc3RydG9rKE5VTEwsICI6IikpIHsKKworCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJaW50IGZkOworCisJCWZkID0gb3Blbihtb3RkZmlsZSwgT19SRE9OTFksIDApOworCQlpZiAoZmQgPCAwKQorCQkJY29udGludWU7CisJCWlmICghZnN0YXQoZmQsICZzdCkgJiYgc3Quc3Rfc2l6ZSkKKwkJCXNlbmRmaWxlKGZpbGVubyhzdGRvdXQpLCBmZCwgTlVMTCwgc3Quc3Rfc2l6ZSk7CisJCWNsb3NlKGZkKTsKKwl9CisKKwlmcmVlKG1vdGRsaXN0KTsKK30KKworLyoKKyAqIE5pY2UgYW5kIHNpbXBsZSBjb2RlIHByb3ZpZGVkIGJ5IExpbnVzIFRvcnZhbGRzIDE2LUZlYi05My4KKyAqIE5vbi1ibG9ja2luZyBzdHVmZiBieSBNYWNpZWogVy4gUm96eWNraSwgbWFjcm9AZHMyLnBnLmdkYS5wbCwgMTk5OS4KKyAqCisgKiBIZSB3cml0ZXM6ICJMb2dpbiBwZXJmb3JtcyBvcGVuKCkgb24gYSB0dHkgaW4gYSBibG9ja2luZyBtb2RlLgorICogSW4gc29tZSBjYXNlcyBpdCBtYXkgbWFrZSBsb2dpbiB3YWl0IGluIG9wZW4oKSBmb3IgY2FycmllciBpbmZpbml0ZWx5LAorICogZm9yIGV4YW1wbGUgaWYgdGhlIGxpbmUgaXMgYSBzaW1wbGlzdGljIGNhc2Ugb2YgYSB0aHJlZS13aXJlIHNlcmlhbAorICogY29ubmVjdGlvbi4gSSBiZWxpZXZlIGxvZ2luIHNob3VsZCBvcGVuIHRoZSBsaW5lIGluIG5vbi1ibG9ja2luZyBtb2RlLAorICogbGVhdmluZyB0aGUgZGVjaXNpb24gdG8gbWFrZSBhIGNvbm5lY3Rpb24gdG8gZ2V0dHkgKHdoZXJlIGl0IGFjdHVhbGx5CisgKiBiZWxvbmdzKS4iCisgKi8KK3N0YXRpYyB2b2lkIG9wZW5fdHR5KGNvbnN0IGNoYXIgKnR0eSkKK3sKKwlpbnQgaSwgZmQsIGZsYWdzOworCisJZmQgPSBvcGVuKHR0eSwgT19SRFdSIHwgT19OT05CTE9DSyk7CisJaWYgKGZkID09IC0xKSB7CisJCXN5c2xvZyhMT0dfRVJSLCBfKCJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iKSk7CisJCXNsZWVwZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCWlmICghaXNhdHR5KGZkKSkgeworCQljbG9zZShmZCk7CisJCXN5c2xvZyhMT0dfRVJSLCBfKCJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiKSwgdHR5KTsKKwkJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJZmxhZ3MgPSBmY250bChmZCwgRl9HRVRGTCk7CisJZmxhZ3MgJj0gfk9fTk9OQkxPQ0s7CisJZmNudGwoZmQsIEZfU0VURkwsIGZsYWdzKTsKKworCWZvciAoaSA9IDA7IGkgPCBmZDsgaSsrKQorCQljbG9zZShpKTsKKwlmb3IgKGkgPSAwOyBpIDwgMzsgaSsrKQorCQlpZiAoZmQgIT0gaSkKKwkJCWR1cDIoZmQsIGkpOworCWlmIChmZCA+PSAzKQorCQljbG9zZShmZCk7Cit9CisKKyNkZWZpbmUgY2hvd25fZXJyKF93aGF0LCBfdWlkLCBfZ2lkKSBcCisJCXN5c2xvZyhMT0dfRVJSLCBfKCJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIiksIFwKKwkJCShfd2hhdCksICh1bnNpZ25lZCBsb25nKSAoX3VpZCksICh1bnNpZ25lZCBsb25nKSAoX2dpZCkpCisKKyNkZWZpbmUgY2htb2RfZXJyKF93aGF0LCBfbW9kZSkgXAorCQlzeXNsb2coTE9HX0VSUiwgXygiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIpLCAoX3doYXQpLCAoX21vZGUpKQorCitzdGF0aWMgdm9pZCBjaG93bl90dHkoc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwljb25zdCBjaGFyICpncm5hbWU7CisJdWlkX3QgdWlkID0gY3h0LT5wd2QtPnB3X3VpZDsKKwlnaWRfdCBnaWQgPSBjeHQtPnB3ZC0+cHdfZ2lkOworCisJZ3JuYW1lID0gZ2V0bG9naW5kZWZzX3N0cigiVFRZR1JPVVAiLCBUVFlHUlBOQU1FKTsKKwlpZiAoZ3JuYW1lICYmICpncm5hbWUpIHsKKwkJc3RydWN0IGdyb3VwICpnciA9IGdldGdybmFtKGdybmFtZSk7CisJCWlmIChncikJLyogZ3JvdXAgYnkgbmFtZSAqLworCQkJZ2lkID0gZ3ItPmdyX2dpZDsKKwkJZWxzZQkvKiBncm91cCBieSBJRCAqLworCQkJZ2lkID0gKGdpZF90KSBnZXRsb2dpbmRlZnNfbnVtKCJUVFlHUk9VUCIsIGdpZCk7CisJfQorCWlmIChmY2hvd24oMCwgdWlkLCBnaWQpKQkJCQkvKiB0dHkgKi8KKwkJY2hvd25fZXJyKGN4dC0+dHR5X25hbWUsIHVpZCwgZ2lkKTsKKwlpZiAoZmNobW9kKDAsIGN4dC0+dHR5X21vZGUpKQorCQljaG1vZF9lcnIoY3h0LT50dHlfbmFtZSwgY3h0LT50dHlfbW9kZSk7CisKKyNpZmRlZiBMT0dJTl9DSE9XTl9WQ1MKKwlpZiAoaXNfY29uc29sZXR0eSgwKSkgeworCQlpZiAoY2hvd24oY3h0LT52Y3NuLCB1aWQsIGdpZCkpCQkJLyogdmNzICovCisJCQljaG93bl9lcnIoY3h0LT52Y3NuLCB1aWQsIGdpZCk7CisJCWlmIChjaG1vZChjeHQtPnZjc24sIGN4dC0+dHR5X21vZGUpKQorCQkJY2htb2RfZXJyKGN4dC0+dmNzbiwgY3h0LT50dHlfbW9kZSk7CisKKwkJaWYgKGNob3duKGN4dC0+dmNzYW4sIHVpZCwgZ2lkKSkJCS8qIHZjc2EgKi8KKwkJCWNob3duX2VycihjeHQtPnZjc2FuLCB1aWQsIGdpZCk7CisJCWlmIChjaG1vZChjeHQtPnZjc2FuLCBjeHQtPnR0eV9tb2RlKSkKKwkJCWNobW9kX2VycihjeHQtPnZjc2FuLCBjeHQtPnR0eV9tb2RlKTsKKwl9CisjZW5kaWYKK30KKworLyoKKyAqIFJlYWRzIHRoZSBjdXJyZW50IHRlcm1pbmFsIHBhdGggYW5kIGluaXRpYWxpemVzIGN4dC0+dHR5XyogdmFyaWFibGVzLgorICovCitzdGF0aWMgdm9pZCBpbml0X3R0eShzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzdGF0IHN0OworCXN0cnVjdCB0ZXJtaW9zIHR0LCB0dHQ7CisKKwljeHQtPnR0eV9tb2RlID0gKG1vZGVfdCkgZ2V0bG9naW5kZWZzX251bSgiVFRZUEVSTSIsIFRUWV9NT0RFKTsKKworCWdldF90ZXJtaW5hbF9uYW1lKCZjeHQtPnR0eV9wYXRoLCAmY3h0LT50dHlfbmFtZSwgJmN4dC0+dHR5X251bWJlcik7CisKKwkvKgorCSAqIEluIGNhc2UgbG9naW4gaXMgc3VpZCBpdCB3YXMgcG9zc2libGUgdG8gdXNlIGEgaGFyZGxpbmsgYXMgc3RkaW4KKwkgKiBhbmQgZXhwbG9pdCByYWNlcyBmb3IgYSBsb2NhbCByb290IGV4cGxvaXQuIChXb2pjaWVjaCBQdXJjenluc2tpKS4KKwkgKgorCSAqIE1vcmUgcHJlY2lzZWx5LCB0aGUgcHJvYmxlbSBpcyAgdHR5biA6PSB0dHluYW1lKDApOyAuLi47IGNob3duKHR0eW4pOworCSAqIGhlcmUgdHR5bmFtZSgpIG1pZ2h0IHJldHVybiAiL3RtcC94IiwgYSBoYXJkbGluayB0byBhIHBzZXVkb3R0eS4KKwkgKiBBbGwgb2YgdGhpcyBpcyBhIHByb2JsZW0gb25seSB3aGVuIGxvZ2luIGlzIHN1aWQsIHdoaWNoIGl0IGlzbid0LgorCSAqLworCWlmICghY3h0LT50dHlfcGF0aCB8fCAhKmN4dC0+dHR5X3BhdGggfHwKKwkgICAgbHN0YXQoY3h0LT50dHlfcGF0aCwgJnN0KSAhPSAwIHx8ICFTX0lTQ0hSKHN0LnN0X21vZGUpIHx8CisJICAgIChzdC5zdF9ubGluayA+IDEgJiYgc3RybmNtcChjeHQtPnR0eV9wYXRoLCAiL2Rldi8iLCA1KSkgfHwKKwkgICAgYWNjZXNzKGN4dC0+dHR5X3BhdGgsIFJfT0sgfCBXX09LKSAhPSAwKSB7CisKKwkJc3lzbG9nKExPR19FUlIsIF8oIkZBVEFMOiBiYWQgdHR5IikpOworCQlzbGVlcGV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKyNpZmRlZiBMT0dJTl9DSE9XTl9WQ1MKKwlpZiAoY3h0LT50dHlfbnVtYmVyKSB7CisJCS8qIGZpbmQgbmFtZXMgb2YgVmlydHVhbCBDb25zb2xlIGRldmljZXMsIGZvciBsYXRlciBtb2RlIGNoYW5nZSAqLworCQlzbnByaW50ZihjeHQtPnZjc24sIHNpemVvZihjeHQtPnZjc24pLCAiL2Rldi92Y3MlcyIsIGN4dC0+dHR5X251bWJlcik7CisJCXNucHJpbnRmKGN4dC0+dmNzYW4sIHNpemVvZihjeHQtPnZjc2FuKSwgIi9kZXYvdmNzYSVzIiwgY3h0LT50dHlfbnVtYmVyKTsKKwl9CisjZW5kaWYKKworCXRjZ2V0YXR0cigwLCAmdHQpOworCXR0dCA9IHR0OworCXR0dC5jX2NmbGFnICY9IH5IVVBDTDsKKworCWlmICgoZmNob3duKDAsIDAsIDApIHx8IGZjaG1vZCgwLCBjeHQtPnR0eV9tb2RlKSkgJiYgZXJybm8gIT0gRVJPRlMpIHsKKworCQlzeXNsb2coTE9HX0VSUiwgXygiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIpLAorCQkJCWN4dC0+dHR5X3BhdGgpOworCQlzbGVlcGV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwkvKiBLaWxsIHByb2Nlc3NlcyBsZWZ0IG9uIHRoaXMgdHR5ICovCisJdGNzZXRhdHRyKDAsIFRDU0FOT1csICZ0dHQpOworCisJLyoKKwkgKiBMZXQncyBjbG9zZSBmaWxlIGRlc2NyaXB0b3JzIGJlZm9yZSB2aGFuZ3VwCisJICogaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTIvNi81LzE0NQorCSAqLworCWNsb3NlKFNURElOX0ZJTEVOTyk7CisJY2xvc2UoU1RET1VUX0ZJTEVOTyk7CisJY2xvc2UoU1RERVJSX0ZJTEVOTyk7CisKKwlzaWduYWwoU0lHSFVQLCBTSUdfSUdOKTsJLyogc28gdmhhbmd1cCgpIHdvbid0IGtpbGwgdXMgKi8KKwl2aGFuZ3VwKCk7CisJc2lnbmFsKFNJR0hVUCwgU0lHX0RGTCk7CisKKwkvKiBvcGVuIHN0ZGluLHN0ZG91dCxzdGRlcnIgdG8gdGhlIHR0eSAqLworCW9wZW5fdHR5KGN4dC0+dHR5X3BhdGgpOworCisJLyogcmVzdG9yZSB0dHkgbW9kZXMgKi8KKwl0Y3NldGF0dHIoMCwgVENTQUZMVVNILCAmdHQpOworfQorCisKKy8qCisgKiBMb2dzIGZhaWxlZCBsb2dpbiBhdHRlbXB0cyBpbiBfUEFUSF9CVE1QLCBpZiBpdCBleGlzdHMuCisgKiBNdXN0IGJlIGNhbGxlZCBvbmx5IHdpdGggdXNlcm5hbWUgdGhlIG5hbWUgb2YgYW4gYWN0dWFsIHVzZXIuCisgKiBUaGUgbW9zdCBjb21tb24gbG9naW4gZmFpbHVyZSBpcyB0byBnaXZlIHBhc3N3b3JkIGluc3RlYWQgb2YgdXNlcm5hbWUuCisgKi8KK3N0YXRpYyB2b2lkIGxvZ19idG1wKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHV0bXB4IHV0OworCXN0cnVjdCB0aW1ldmFsIHR2OworCisJbWVtc2V0KCZ1dCwgMCwgc2l6ZW9mKHV0KSk7CisKKwlzdHJuY3B5KHV0LnV0X3VzZXIsCisJCWN4dC0+dXNlcm5hbWUgPyBjeHQtPnVzZXJuYW1lIDogIih1bmtub3duKSIsCisJCXNpemVvZih1dC51dF91c2VyKSk7CisKKwlpZiAoY3h0LT50dHlfbnVtYmVyKQorCQlzdHJuY3B5KHV0LnV0X2lkLCBjeHQtPnR0eV9udW1iZXIsIHNpemVvZih1dC51dF9pZCkpOworCWlmIChjeHQtPnR0eV9uYW1lKQorCQl4c3RybmNweSh1dC51dF9saW5lLCBjeHQtPnR0eV9uYW1lLCBzaXplb2YodXQudXRfbGluZSkpOworCisJZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CisJdXQudXRfdHYudHZfc2VjID0gdHYudHZfc2VjOworCXV0LnV0X3R2LnR2X3VzZWMgPSB0di50dl91c2VjOworCisJdXQudXRfdHlwZSA9IExPR0lOX1BST0NFU1M7CS8qIFhYWCBkb2Vzbid0IG1hdHRlciAqLworCXV0LnV0X3BpZCA9IGN4dC0+cGlkOworCisJaWYgKGN4dC0+aG9zdG5hbWUpIHsKKwkJeHN0cm5jcHkodXQudXRfaG9zdCwgY3h0LT5ob3N0bmFtZSwgc2l6ZW9mKHV0LnV0X2hvc3QpKTsKKwkJaWYgKCpjeHQtPmhvc3RhZGRyZXNzKQorCQkJbWVtY3B5KCZ1dC51dF9hZGRyX3Y2LCBjeHQtPmhvc3RhZGRyZXNzLAorCQkJICAgICAgIHNpemVvZih1dC51dF9hZGRyX3Y2KSk7CisJfQorCisJdXBkd3RtcHgoX1BBVEhfQlRNUCwgJnV0KTsKK30KKworCisjaWZkZWYgSEFWRV9MSUJBVURJVAorc3RhdGljIHZvaWQgbG9nX2F1ZGl0KHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQsIGludCBzdGF0dXMpCit7CisJaW50IGF1ZGl0X2ZkOworCXN0cnVjdCBwYXNzd2QgKnB3ZCA9IGN4dC0+cHdkOworCisJYXVkaXRfZmQgPSBhdWRpdF9vcGVuKCk7CisJaWYgKGF1ZGl0X2ZkID09IC0xKQorCQlyZXR1cm47CisJaWYgKCFwd2QgJiYgY3h0LT51c2VybmFtZSkKKwkJcHdkID0gZ2V0cHduYW0oY3h0LT51c2VybmFtZSk7CisKKwlhdWRpdF9sb2dfYWNjdF9tZXNzYWdlKGF1ZGl0X2ZkLAorCQkJICAgICAgIEFVRElUX1VTRVJfTE9HSU4sCisJCQkgICAgICAgTlVMTCwKKwkJCSAgICAgICAibG9naW4iLAorCQkJICAgICAgIGN4dC0+dXNlcm5hbWUgPyBjeHQtPnVzZXJuYW1lIDogIih1bmtub3duKSIsCisJCQkgICAgICAgcHdkID8gcHdkLT5wd191aWQgOiAodW5zaWduZWQgaW50KSAtMSwKKwkJCSAgICAgICBjeHQtPmhvc3RuYW1lLAorCQkJICAgICAgIE5VTEwsCisJCQkgICAgICAgY3h0LT50dHlfbmFtZSwKKwkJCSAgICAgICBzdGF0dXMpOworCisJY2xvc2UoYXVkaXRfZmQpOworfQorI2Vsc2UJCQkJLyogIUhBVkVfTElCQVVESVQgKi8KKyMgZGVmaW5lIGxvZ19hdWRpdChjeHQsIHN0YXR1cykKKyNlbmRpZgkJCQkvKiBIQVZFX0xJQkFVRElUICovCisKK3N0YXRpYyB2b2lkIGxvZ19sYXN0bG9nKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHNpZ2FjdGlvbiBzYSwgb2xkc2FfeGZzejsKKwlzdHJ1Y3QgbGFzdGxvZyBsbDsKKwl0aW1lX3QgdDsKKwlpbnQgZmQ7CisKKwlpZiAoIWN4dC0+cHdkKQorCQlyZXR1cm47CisKKwkvKiBsYXN0bG9nIGlzIGh1Z2Ugb24gc3lzdGVtcyB3aXRoIGxhcmdlIFVJRHMsIGlnbm9yZSBTSUdYRlNaICovCisJbWVtc2V0KCZzYSwgMCwgc2l6ZW9mKHNhKSk7CisJc2Euc2FfaGFuZGxlciA9IFNJR19JR047CisJc2lnYWN0aW9uKFNJR1hGU1osICZzYSwgJm9sZHNhX3hmc3opOworCisJZmQgPSBvcGVuKF9QQVRIX0xBU1RMT0csIE9fUkRXUiwgMCk7CisJaWYgKGZkIDwgMCkKKwkJZ290byBkb25lOworCisJaWYgKGxzZWVrKGZkLCAob2ZmX3QpIGN4dC0+cHdkLT5wd191aWQgKiBzaXplb2YobGwpLCBTRUVLX1NFVCkgPT0gLTEpCisJCWdvdG8gZG9uZTsKKworCS8qCisJICogUHJpbnQgbGFzdCBsb2cgbWVzc2FnZS4KKwkgKi8KKwlpZiAoIWN4dC0+cXVpZXQpIHsKKwkJaWYgKHJlYWQoZmQsIChjaGFyICopJmxsLCBzaXplb2YobGwpKSA9PSBzaXplb2YobGwpICYmCisJCQkJCQkJbGwubGxfdGltZSAhPSAwKSB7CisJCQl0aW1lX3QgbGxfdGltZSA9ICh0aW1lX3QpIGxsLmxsX3RpbWU7CisKKwkJCXByaW50ZihfKCJMYXN0IGxvZ2luOiAlLipzICIpLCAyNCAtIDUsIGN0aW1lKCZsbF90aW1lKSk7CisJCQlpZiAoKmxsLmxsX2hvc3QgIT0gJ1wwJykKKwkJCQlwcmludGYoXygiZnJvbSAlLipzXG4iKSwKKwkJCQkgICAgICAgKGludClzaXplb2YobGwubGxfaG9zdCksIGxsLmxsX2hvc3QpOworCQkJZWxzZQorCQkJCXByaW50ZihfKCJvbiAlLipzXG4iKSwKKwkJCQkgICAgICAgKGludClzaXplb2YobGwubGxfbGluZSksIGxsLmxsX2xpbmUpOworCQl9CisJCWlmIChsc2VlayhmZCwgKG9mZl90KSBjeHQtPnB3ZC0+cHdfdWlkICogc2l6ZW9mKGxsKSwgU0VFS19TRVQpID09IC0xKQorCQkJZ290byBkb25lOworCX0KKworCW1lbXNldCgoY2hhciAqKSZsbCwgMCwgc2l6ZW9mKGxsKSk7CisKKwl0aW1lKCZ0KTsKKwlsbC5sbF90aW1lID0gdDsJCS8qIGxsX3RpbWUgaXMgYWx3YXlzIDMyYml0ICovCisKKwlpZiAoY3h0LT50dHlfbmFtZSkKKwkJeHN0cm5jcHkobGwubGxfbGluZSwgY3h0LT50dHlfbmFtZSwgc2l6ZW9mKGxsLmxsX2xpbmUpKTsKKwlpZiAoY3h0LT5ob3N0bmFtZSkKKwkJeHN0cm5jcHkobGwubGxfaG9zdCwgY3h0LT5ob3N0bmFtZSwgc2l6ZW9mKGxsLmxsX2hvc3QpKTsKKworCWlmICh3cml0ZV9hbGwoZmQsIChjaGFyICopJmxsLCBzaXplb2YobGwpKSkKKwkJd2FybihfKCJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIpKTsKK2RvbmU6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKworCXNpZ2FjdGlvbihTSUdYRlNaLCAmb2xkc2FfeGZzeiwgTlVMTCk7CQkvKiByZXN0b3JlIG9yaWdpbmFsIHNldHRpbmcgKi8KK30KKworLyoKKyAqIFVwZGF0ZSB3dG1wIGFuZCB1dG1wIGxvZ3MuCisgKi8KK3N0YXRpYyB2b2lkIGxvZ191dG1wKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJc3RydWN0IHV0bXB4IHV0OworCXN0cnVjdCB1dG1weCAqdXRwOworCXN0cnVjdCB0aW1ldmFsIHR2OworCisJdXRtcHhuYW1lKF9QQVRIX1VUTVApOworCXNldHV0eGVudCgpOworCisJLyogRmluZCBwaWQgaW4gdXRtcC4KKwkgKgorCSAqIGxvZ2luIHNvbWV0aW1lcyBvdmVyd3JpdGVzIHRoZSBydW5sZXZlbCBlbnRyeSBpbiAvdmFyL3J1bi91dG1wLAorCSAqIGNvbmZ1c2luZyBzeXN2aW5pdC4gSSBhZGRlZCBhIHRlc3QgZm9yIHRoZSBlbnRyeSB0eXBlLCBhbmQgdGhlCisJICogcHJvYmxlbSB3YXMgZ29uZS4gKEluIGEgcnVubGV2ZWwgZW50cnksIHN0X3BpZCBpcyBub3QgcmVhbGx5IGEgcGlkCisJICogYnV0IHNvbWUgbnVtYmVyIGNhbGN1bGF0ZWQgZnJvbSB0aGUgcHJldmlvdXMgYW5kIGN1cnJlbnQgcnVubGV2ZWwuKQorCSAqIC0tIE1pY2hhZWwgUmllcGUgPG1pY2hhZWxAc3R1ZC51bmktaGFubm92ZXIuZGU+CisJICovCisJd2hpbGUgKCh1dHAgPSBnZXR1dHhlbnQoKSkpCisJCWlmICh1dHAtPnV0X3BpZCA9PSBjeHQtPnBpZAorCQkgICAgJiYgdXRwLT51dF90eXBlID49IElOSVRfUFJPQ0VTUworCQkgICAgJiYgdXRwLT51dF90eXBlIDw9IERFQURfUFJPQ0VTUykKKwkJCWJyZWFrOworCisJLyogSWYgd2UgY2FuJ3QgZmluZCBhIHByZS1leGlzdGluZyBlbnRyeSBieSBwaWQsIHRyeSBieSBsaW5lLgorCSAqIEJTRCBuZXR3b3JrIGRhZW1vbnMgbWF5IHJlbHkgb24gdGhpcy4gKi8KKwlpZiAodXRwID09IE5VTEwgJiYgY3h0LT50dHlfbmFtZSkgeworCQlzZXR1dHhlbnQoKTsKKwkJdXQudXRfdHlwZSA9IExPR0lOX1BST0NFU1M7CisJCXN0cm5jcHkodXQudXRfbGluZSwgY3h0LT50dHlfbmFtZSwgc2l6ZW9mKHV0LnV0X2xpbmUpKTsKKwkJdXRwID0gZ2V0dXR4bGluZSgmdXQpOworCX0KKworCS8qIElmIHdlIGNhbid0IGZpbmQgYSBwcmUtZXhpc3RpbmcgZW50cnkgYnkgcGlkIGFuZCBsaW5lLCB0cnkgaXQgYnkgaWQuCisJICogVmVyeSBzdHVwaWQgdGVsbmV0ZCBkYWVtb25zIGRvbid0IHNldCB1cCB1dG1wIGF0IGFsbC4gKGt6YWspICovCisJaWYgKHV0cCA9PSBOVUxMICYmIGN4dC0+dHR5X251bWJlcikgeworCSAgICAgc2V0dXR4ZW50KCk7CisJICAgICB1dC51dF90eXBlID0gREVBRF9QUk9DRVNTOworCSAgICAgc3RybmNweSh1dC51dF9pZCwgY3h0LT50dHlfbnVtYmVyLCBzaXplb2YodXQudXRfaWQpKTsKKwkgICAgIHV0cCA9IGdldHV0eGlkKCZ1dCk7CisJfQorCisJaWYgKHV0cCkKKwkJbWVtY3B5KCZ1dCwgdXRwLCBzaXplb2YodXQpKTsKKwllbHNlCisJCS8qIHNvbWUgZ2V0dHlzL3RlbG5ldGRzIGRvbid0IGluaXRpYWxpemUgdXRtcC4uLiAqLworCQltZW1zZXQoJnV0LCAwLCBzaXplb2YodXQpKTsKKworCWlmIChjeHQtPnR0eV9udW1iZXIgJiYgdXQudXRfaWRbMF0gPT0gMCkKKwkJc3RybmNweSh1dC51dF9pZCwgY3h0LT50dHlfbnVtYmVyLCBzaXplb2YodXQudXRfaWQpKTsKKwlpZiAoY3h0LT51c2VybmFtZSkKKwkJc3RybmNweSh1dC51dF91c2VyLCBjeHQtPnVzZXJuYW1lLCBzaXplb2YodXQudXRfdXNlcikpOworCWlmIChjeHQtPnR0eV9uYW1lKQorCQl4c3RybmNweSh1dC51dF9saW5lLCBjeHQtPnR0eV9uYW1lLCBzaXplb2YodXQudXRfbGluZSkpOworCisJZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CisJdXQudXRfdHYudHZfc2VjID0gdHYudHZfc2VjOworCXV0LnV0X3R2LnR2X3VzZWMgPSB0di50dl91c2VjOworCXV0LnV0X3R5cGUgPSBVU0VSX1BST0NFU1M7CisJdXQudXRfcGlkID0gY3h0LT5waWQ7CisJaWYgKGN4dC0+aG9zdG5hbWUpIHsKKwkJeHN0cm5jcHkodXQudXRfaG9zdCwgY3h0LT5ob3N0bmFtZSwgc2l6ZW9mKHV0LnV0X2hvc3QpKTsKKwkJaWYgKCpjeHQtPmhvc3RhZGRyZXNzKQorCQkJbWVtY3B5KCZ1dC51dF9hZGRyX3Y2LCBjeHQtPmhvc3RhZGRyZXNzLAorCQkJICAgICAgIHNpemVvZih1dC51dF9hZGRyX3Y2KSk7CisJfQorCisJcHV0dXR4bGluZSgmdXQpOworCWVuZHV0eGVudCgpOworCisJdXBkd3RtcHgoX1BBVEhfV1RNUCwgJnV0KTsKK30KKworc3RhdGljIHZvaWQgbG9nX3N5c2xvZyhzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBwYXNzd2QgKnB3ZCA9IGN4dC0+cHdkOworCisJaWYgKCFjeHQtPnR0eV9uYW1lKQorCQlyZXR1cm47CisKKwlpZiAoIXN0cm5jbXAoY3h0LT50dHlfbmFtZSwgInR0eVMiLCA0KSkKKwkJc3lzbG9nKExPR19JTkZPLCBfKCJESUFMVVAgQVQgJXMgQlkgJXMiKSwKKwkJICAgICAgIGN4dC0+dHR5X25hbWUsIHB3ZC0+cHdfbmFtZSk7CisKKwlpZiAoIXB3ZC0+cHdfdWlkKSB7CisJCWlmIChjeHQtPmhvc3RuYW1lKQorCQkJc3lzbG9nKExPR19OT1RJQ0UsIF8oIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIpLAorCQkJICAgICAgIGN4dC0+dHR5X25hbWUsIGN4dC0+aG9zdG5hbWUpOworCQllbHNlCisJCQlzeXNsb2coTE9HX05PVElDRSwgXygiUk9PVCBMT0dJTiBPTiAlcyIpLCBjeHQtPnR0eV9uYW1lKTsKKwl9IGVsc2UgeworCQlpZiAoY3h0LT5ob3N0bmFtZSkKKwkJCXN5c2xvZyhMT0dfSU5GTywgXygiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIpLAorCQkJICAgICAgIGN4dC0+dHR5X25hbWUsIHB3ZC0+cHdfbmFtZSwgY3h0LT5ob3N0bmFtZSk7CisJCWVsc2UKKwkJCXN5c2xvZyhMT0dfSU5GTywgXygiTE9HSU4gT04gJXMgQlkgJXMiKSwgY3h0LT50dHlfbmFtZSwKKwkJCSAgICAgICBwd2QtPnB3X25hbWUpOworCX0KK30KKworLyogZW5jYXBzdWxhdGUgc3R1cGlkICJ2b2lkICoqIiBwYW1fZ2V0X2l0ZW0oKSBBUEkgKi8KK3N0YXRpYyBpbnQgbG9naW5wYW1fZ2V0X3VzZXJuYW1lKHBhbV9oYW5kbGVfdCAqcGFtaCwgY2hhciAqKm5hbWUpCit7CisJY29uc3Qgdm9pZCAqaXRlbSA9ICh2b2lkICopKm5hbWU7CisJaW50IHJjOworCXJjID0gcGFtX2dldF9pdGVtKHBhbWgsIFBBTV9VU0VSLCAmaXRlbSk7CisJKm5hbWUgPSAoY2hhciAqKWl0ZW07CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBsb2dpbnBhbV9lcnIocGFtX2hhbmRsZV90ICpwYW1oLCBpbnQgcmV0Y29kZSkKK3sKKwljb25zdCBjaGFyICptc2cgPSBwYW1fc3RyZXJyb3IocGFtaCwgcmV0Y29kZSk7CisKKwlpZiAobXNnKSB7CisJCWZwcmludGYoc3RkZXJyLCAiXG4lc1xuIiwgbXNnKTsKKwkJc3lzbG9nKExPR19FUlIsICIlcyIsIG1zZyk7CisJfQorCXBhbV9lbmQocGFtaCwgcmV0Y29kZSk7CisJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7Cit9CisKKy8qCisgKiBDb21wb3NlcyAiPGhvc3Q+IGxvZ2luOiAiIHN0cmluZzsgb3IgcmV0dXJucyAibG9naW46ICIgaWYgLUggaXMgZ2l2ZW4gb3IKKyAqIExPR0lOX1BMQUlOX1BST01QVD15ZXMgY29uZmlndXJlZC4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmxvZ2lucGFtX2dldF9wcm9tcHQoc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwljb25zdCBjaGFyICpob3N0OworCWNoYXIgKnByb21wdCwgKmRmbHRfcHJvbXB0ID0gXygibG9naW46ICIpOworCXNpemVfdCBzejsKKworCWlmIChjeHQtPm5vaG9zdCkKKwkJcmV0dXJuIGRmbHRfcHJvbXB0OwkvKiAtSCBvbiBjb21tYW5kIGxpbmUgKi8KKworCWlmIChnZXRsb2dpbmRlZnNfYm9vbCgiTE9HSU5fUExBSU5fUFJPTVBUIiwgMCkgPT0gMSkKKwkJcmV0dXJuIGRmbHRfcHJvbXB0OworCisJaWYgKCEoaG9zdCA9IGdldF90aGlzaG9zdChjeHQsIE5VTEwpKSkKKwkJcmV0dXJuIGRmbHRfcHJvbXB0OworCisJc3ogPSBzdHJsZW4oaG9zdCkgKyAxICsgc3RybGVuKGRmbHRfcHJvbXB0KSArIDE7CisJcHJvbXB0ID0geG1hbGxvYyhzeik7CisJc25wcmludGYocHJvbXB0LCBzeiwgIiVzICVzIiwgaG9zdCwgZGZsdF9wcm9tcHQpOworCisJcmV0dXJuIHByb21wdDsKK30KKworc3RhdGljIHBhbV9oYW5kbGVfdCAqaW5pdF9sb2dpbnBhbShzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQoreworCXBhbV9oYW5kbGVfdCAqcGFtaCA9IE5VTEw7CisJaW50IHJjOworCisJLyoKKwkgKiB1c2VybmFtZSBpcyBpbml0aWFsaXplZCB0byBOVUxMIGFuZCBpZiBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZQorCSAqIGl0IGlzIHNldC4gIFRoZXJlZm9yZSwgd2UgYXJlIHNhZmUgbm90IHNldHRpbmcgaXQgdG8gYW55dGhpbmcuCisJICovCisJcmMgPSBwYW1fc3RhcnQoY3h0LT5yZW1vdGUgPyAicmVtb3RlIiA6ICJsb2dpbiIsCisJCSAgICAgICBjeHQtPnVzZXJuYW1lLCAmY3h0LT5jb252LCAmcGFtaCk7CisJaWYgKHJjICE9IFBBTV9TVUNDRVNTKSB7CisJCXdhcm54KF8oIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiKSwgcGFtX3N0cmVycm9yKHBhbWgsIHJjKSk7CisJCXN5c2xvZyhMT0dfRVJSLCBfKCJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiKSwKKwkJICAgICAgIHBhbV9zdHJlcnJvcihwYW1oLCByYykpOworCQlzbGVlcGV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwkvKiBob3N0bmFtZSAmIHR0eSBhcmUgZWl0aGVyIHNldCB0byBOVUxMIG9yIHRoZWlyIGNvcnJlY3QgdmFsdWVzLAorCSAqIGRlcGVuZGluZyBvbiBob3cgbXVjaCB3ZSBrbm93LiAqLworCXJjID0gcGFtX3NldF9pdGVtKHBhbWgsIFBBTV9SSE9TVCwgY3h0LT5ob3N0bmFtZSk7CisJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkKKwkJbG9naW5wYW1fZXJyKHBhbWgsIHJjKTsKKworCXJjID0gcGFtX3NldF9pdGVtKHBhbWgsIFBBTV9UVFksIGN4dC0+dHR5X25hbWUpOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCWxvZ2lucGFtX2VycihwYW1oLCByYyk7CisKKwkvKgorCSAqIEFuZHJldy5UYXlsb3JAY2FsLm1vbnRhZ2UuY2E6IFByb3ZpZGUgYSB1c2VyIHByb21wdCB0byBQQU0gc28gdGhhdAorCSAqIHRoZSAibG9naW46ICIgcHJvbXB0IGdldHMgbG9jYWxpemVkLiBVbmZvcnR1bmF0ZWx5LCBQQU0gZG9lc24ndCBoYXZlCisJICogYW4gaW50ZXJmYWNlIHRvIHNwZWNpZnkgdGhlICJQYXNzd29yZDogIiBzdHJpbmcgKHlldCkuCisJICovCisJcmMgPSBwYW1fc2V0X2l0ZW0ocGFtaCwgUEFNX1VTRVJfUFJPTVBULCBsb2dpbnBhbV9nZXRfcHJvbXB0KGN4dCkpOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCWxvZ2lucGFtX2VycihwYW1oLCByYyk7CisKKwkvKiBXZSBkb24ndCBuZWVkIHRoZSBvcmlnaW5hbCB1c2VybmFtZS4gV2UgaGF2ZSB0byBmb2xsb3cgUEFNLiAqLworCWZyZWUoY3h0LT51c2VybmFtZSk7CisJY3h0LT51c2VybmFtZSA9IE5VTEw7CisJY3h0LT5wYW1oID0gcGFtaDsKKworCXJldHVybiBwYW1oOworfQorCitzdGF0aWMgdm9pZCBsb2dpbnBhbV9hdXRoKHN0cnVjdCBsb2dpbl9jb250ZXh0ICpjeHQpCit7CisJaW50IHJjLCBzaG93X3Vua25vd247CisJdW5zaWduZWQgaW50IHJldHJpZXMsIGZhaWxjb3VudCA9IDA7CisJY29uc3QgY2hhciAqaG9zdG5hbWUgPSBjeHQtPmhvc3RuYW1lID8gY3h0LT5ob3N0bmFtZSA6CisJCQkgICAgICAgY3h0LT50dHlfbmFtZSA/IGN4dC0+dHR5X25hbWUgOiAiPHVua25vd24+IjsKKwlwYW1faGFuZGxlX3QgKnBhbWggPSBjeHQtPnBhbWg7CisKKwkvKiBpZiB3ZSBkaWRuJ3QgZ2V0IGEgdXNlciBvbiB0aGUgY29tbWFuZCBsaW5lLCBzZXQgaXQgdG8gTlVMTCAqLworCWxvZ2lucGFtX2dldF91c2VybmFtZShwYW1oLCAmY3h0LT51c2VybmFtZSk7CisKKwlzaG93X3Vua25vd24gPSBnZXRsb2dpbmRlZnNfYm9vbCgiTE9HX1VOS0ZBSUxfRU5BQiIsIDApOworCXJldHJpZXMgPSBnZXRsb2dpbmRlZnNfbnVtKCJMT0dJTl9SRVRSSUVTIiwgTE9HSU5fTUFYX1RSSUVTKTsKKworCS8qCisJICogVGhlcmUgbWF5IGJlIGJldHRlciB3YXlzIHRvIGRlYWwgd2l0aCBzb21lIG9mIHRoZXNlIGNvbmRpdGlvbnMsIGJ1dAorCSAqIGF0IGxlYXN0IHRoaXMgd2F5IEkgZG9uJ3QgdGhpbmsgd2UnbGwgYmUgZ2l2aW5nIGF3YXkgaW5mb3JtYXRpb24uLi4KKwkgKgorCSAqIFBlcmhhcHMgc29tZWRheSB3ZSBjYW4gdHJ1c3QgdGhhdCBhbGwgUEFNIG1vZHVsZXMgd2lsbCBwYXkgYXR0ZW50aW9uCisJICogdG8gZmFpbHVyZSBjb3VudCBhbmQgZ2V0IHJpZCBvZiBMT0dJTl9NQVhfVFJJRVM/CisJICovCisJcmMgPSBwYW1fYXV0aGVudGljYXRlKHBhbWgsIDApOworCisJd2hpbGUgKCgrK2ZhaWxjb3VudCA8IHJldHJpZXMpICYmCisJICAgICAgICgocmMgPT0gUEFNX0FVVEhfRVJSKSB8fAorCQkocmMgPT0gUEFNX1VTRVJfVU5LTk9XTikgfHwKKwkJKHJjID09IFBBTV9DUkVEX0lOU1VGRklDSUVOVCkgfHwKKwkJKHJjID09IFBBTV9BVVRISU5GT19VTkFWQUlMKSkpIHsKKworCQlpZiAocmMgPT0gUEFNX1VTRVJfVU5LTk9XTiAmJiAhc2hvd191bmtub3duKQorCQkJLyoKKwkJCSAqIExvZ2dpbmcgdW5rbm93biB1c2VybmFtZXMgbWF5IGJlIGEgc2VjdXJpdHkgaXNzdWUgaWYKKwkJCSAqIGEgdXNlciBlbnRlcnMgaGVyIHBhc3N3b3JkIGluc3RlYWQgb2YgaGVyIGxvZ2luIG5hbWUuCisJCQkgKi8KKwkJCWN4dC0+dXNlcm5hbWUgPSBOVUxMOworCQllbHNlCisJCQlsb2dpbnBhbV9nZXRfdXNlcm5hbWUocGFtaCwgJmN4dC0+dXNlcm5hbWUpOworCisJCXN5c2xvZyhMT0dfTk9USUNFLAorCQkgICAgICAgXygiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIpLAorCQkgICAgICAgZmFpbGNvdW50LCBob3N0bmFtZSwKKwkJICAgICAgIGN4dC0+dXNlcm5hbWUgPyBjeHQtPnVzZXJuYW1lIDogIih1bmtub3duKSIsCisJCSAgICAgICBwYW1fc3RyZXJyb3IocGFtaCwgcmMpKTsKKworCQlsb2dfYnRtcChjeHQpOworCQlsb2dfYXVkaXQoY3h0LCAwKTsKKworCQlmcHJpbnRmKHN0ZGVyciwgXygiTG9naW4gaW5jb3JyZWN0XG5cbiIpKTsKKworCQlwYW1fc2V0X2l0ZW0ocGFtaCwgUEFNX1VTRVIsIE5VTEwpOworCQlyYyA9IHBhbV9hdXRoZW50aWNhdGUocGFtaCwgMCk7CisJfQorCisJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkgeworCisJCWlmIChyYyA9PSBQQU1fVVNFUl9VTktOT1dOICYmICFzaG93X3Vua25vd24pCisJCQljeHQtPnVzZXJuYW1lID0gTlVMTDsKKwkJZWxzZQorCQkJbG9naW5wYW1fZ2V0X3VzZXJuYW1lKHBhbWgsICZjeHQtPnVzZXJuYW1lKTsKKworCQlpZiAocmMgPT0gUEFNX01BWFRSSUVTKQorCQkJc3lzbG9nKExPR19OT1RJQ0UsCisJCQkgICAgICAgXygiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiKSwKKwkJCSAgICAgICBmYWlsY291bnQsIGhvc3RuYW1lLAorCQkJICAgICAgIGN4dC0+dXNlcm5hbWUgPyBjeHQtPnVzZXJuYW1lIDogIih1bmtub3duKSIsCisJCQkgICAgICAgcGFtX3N0cmVycm9yKHBhbWgsIHJjKSk7CisJCWVsc2UKKwkJCXN5c2xvZyhMT0dfTk9USUNFLAorCQkJICAgICAgIF8oIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIpLAorCQkJICAgICAgIGhvc3RuYW1lLAorCQkJICAgICAgIGN4dC0+dXNlcm5hbWUgPyBjeHQtPnVzZXJuYW1lIDogIih1bmtub3duKSIsCisJCQkgICAgICAgcGFtX3N0cmVycm9yKHBhbWgsIHJjKSk7CisKKwkJbG9nX2J0bXAoY3h0KTsKKwkJbG9nX2F1ZGl0KGN4dCwgMCk7CisKKwkJZnByaW50ZihzdGRlcnIsIF8oIlxuTG9naW4gaW5jb3JyZWN0XG4iKSk7CisJCXBhbV9lbmQocGFtaCwgcmMpOworCQlzbGVlcGV4aXQoRVhJVF9TVUNDRVNTKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGxvZ2lucGFtX2FjY3Qoc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisJcGFtX2hhbmRsZV90ICpwYW1oID0gY3h0LT5wYW1oOworCisJcmMgPSBwYW1fYWNjdF9tZ210KHBhbWgsIDApOworCisJaWYgKHJjID09IFBBTV9ORVdfQVVUSFRPS19SRVFEKQorCQlyYyA9IHBhbV9jaGF1dGh0b2socGFtaCwgUEFNX0NIQU5HRV9FWFBJUkVEX0FVVEhUT0spOworCisJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkKKwkJbG9naW5wYW1fZXJyKHBhbWgsIHJjKTsKKworCS8qCisJICogR3JhYiB0aGUgdXNlciBpbmZvcm1hdGlvbiBvdXQgb2YgdGhlIHBhc3N3b3JkIGZpbGUgZm9yIGZ1dHVyZSB1c2UuCisJICogRmlyc3QgZ2V0IHRoZSB1c2VybmFtZSB0aGF0IHdlIGFyZSBhY3R1YWxseSB1c2luZywgdGhvdWdoLgorCSAqLworCXJjID0gbG9naW5wYW1fZ2V0X3VzZXJuYW1lKHBhbWgsICZjeHQtPnVzZXJuYW1lKTsKKwlpZiAoaXNfcGFtX2ZhaWx1cmUocmMpKQorCQlsb2dpbnBhbV9lcnIocGFtaCwgcmMpOworCisJaWYgKCFjeHQtPnVzZXJuYW1lIHx8ICEqY3h0LT51c2VybmFtZSkgeworCQl3YXJueChfKCJcblNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIikpOworCQlzeXNsb2coTE9HX0VSUiwgXygiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIpLAorCQkgICAgICAgX19GVU5DVElPTl9fLCBfX0xJTkVfXyk7CisJCXBhbV9lbmQocGFtaCwgUEFNX1NZU1RFTV9FUlIpOworCQlzbGVlcGV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9Cit9CisKKy8qCisgKiBOb3RlIHRoYXQgdGhlIHBvc2l0aW9uIG9mIHRoZSBwYW1fc2V0Y3JlZCgpIGNhbGwgaXMgZGlzY3Vzc2FibGU6CisgKgorICogIC0gdGhlIFBBTSBkb2NzIHJlY29tbWVuZCBwYW1fc2V0Y3JlZCgpIGJlZm9yZSBwYW1fb3Blbl9zZXNzaW9uKCkKKyAqICAtIGJ1dCB0aGUgb3JpZ2luYWwgUkZDIGh0dHA6Ly93d3cub3Blbmdyb3VwLm9yZy9yZmMvbWlycm9yLXJmYy9yZmM4Ni4wLnR4dAorICogICAgdXNlcyBwYW1fc2V0Y3JlZCgpIGFmdGVyIHBhbV9vcGVuX3Nlc3Npb24oKQorICoKKyAqIFRoZSBvbGQgbG9naW4gdmVyc2lvbnMgKGJlZm9yZSB5ZWFyIDIwMTEpIGZvbGxvd2VkIHRoZSBSRkMuIFRoaXMgaXMgcHJvYmFibHkKKyAqIG5vdCBvcHRpbWFsLCBiZWNhdXNlIHRoZXJlIGNvdWxkIGJlIGEgZGVwZW5kZW5jZSBiZXR3ZWVuIHNvbWUgc2Vzc2lvbiBtb2R1bGVzCisgKiBhbmQgdGhlIHVzZXIncyBjcmVkZW50aWFscy4KKyAqCisgKiBUaGUgYmVzdCBpcyBwcm9iYWJseSB0byBmb2xsb3cgb3BlbnNzaCBhbmQgY2FsbCBwYW1fc2V0Y3JlZCgpIGJlZm9yZSBhbmQKKyAqIGFmdGVyIHBhbV9vcGVuX3Nlc3Npb24oKS4gICAgICAgICAgICAgICAgLS0ga3pha0ByZWRoYXQuY29tICgxOC1Ob3YtMjAxMSkKKyAqCisgKi8KK3N0YXRpYyB2b2lkIGxvZ2lucGFtX3Nlc3Npb24oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwlpbnQgcmM7CisJcGFtX2hhbmRsZV90ICpwYW1oID0gY3h0LT5wYW1oOworCisJcmMgPSBwYW1fc2V0Y3JlZChwYW1oLCBQQU1fRVNUQUJMSVNIX0NSRUQpOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCWxvZ2lucGFtX2VycihwYW1oLCByYyk7CisKKwlyYyA9IHBhbV9vcGVuX3Nlc3Npb24ocGFtaCwgMCk7CisJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkgeworCQlwYW1fc2V0Y3JlZChjeHQtPnBhbWgsIFBBTV9ERUxFVEVfQ1JFRCk7CisJCWxvZ2lucGFtX2VycihwYW1oLCByYyk7CisJfQorCisJcmMgPSBwYW1fc2V0Y3JlZChwYW1oLCBQQU1fUkVJTklUSUFMSVpFX0NSRUQpOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpIHsKKwkJcGFtX2Nsb3NlX3Nlc3Npb24ocGFtaCwgMCk7CisJCWxvZ2lucGFtX2VycihwYW1oLCByYyk7CisJfQorfQorCisvKgorICogRGV0YWNoIHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCwgZm9yaywgcmVzdG9yZSBzeXNsb2cgc3R1ZmYsIGFuZCBjcmVhdGUKKyAqIGEgbmV3IHNlc3Npb24uCisgKi8KK3N0YXRpYyB2b2lkIGZvcmtfc2Vzc2lvbihzdHJ1Y3QgbG9naW5fY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBzaWdhY3Rpb24gc2EsIG9sZHNhX2h1cCwgb2xkc2FfdGVybTsKKworCXNpZ25hbChTSUdBTFJNLCBTSUdfREZMKTsKKwlzaWduYWwoU0lHUVVJVCwgU0lHX0RGTCk7CisJc2lnbmFsKFNJR1RTVFAsIFNJR19JR04pOworCisJbWVtc2V0KCZzYSwgMCwgc2l6ZW9mKHNhKSk7CisJc2Euc2FfaGFuZGxlciA9IFNJR19JR047CisJc2lnYWN0aW9uKFNJR0lOVCwgJnNhLCBOVUxMKTsKKworCXNpZ2FjdGlvbihTSUdIVVAsICZzYSwgJm9sZHNhX2h1cCk7CS8qIGlnbm9yZSB3aGVuIFRJT0NOT1RUWSAqLworCisJLyoKKwkgKiBEZXRhY2ggdGhlIGNvbnRyb2xsaW5nIHR0eS4KKwkgKiBXZSBkb24ndCBuZWVkIHRoZSB0dHkgaW4gYSBwYXJlbnQgd2hvIG9ubHkgd2FpdHMgZm9yIGEgY2hpbGQuCisJICogVGhlIGNoaWxkIGNhbGxzIHNldHNpZCgpIHRoYXQgZGV0YWNoZXMgZnJvbSB0aGUgdHR5IGFzIHdlbGwuCisJICovCisJaW9jdGwoMCwgVElPQ05PVFRZLCBOVUxMKTsKKworCS8qCisJICogV2UgaGF2ZSB0byBiZXdhcmUgb2YgU0lHVEVSTSwgYmVjYXVzZSBsZWF2aW5nIGEgUEFNIHNlc3Npb24KKwkgKiB3aXRob3V0IHBhbV9jbG9zZV9zZXNzaW9uKCkgaXMgYSBwcmV0dHkgYmFkIHRoaW5nLgorCSAqLworCXNhLnNhX2hhbmRsZXIgPSBzaWdfaGFuZGxlcjsKKwlzaWdhY3Rpb24oU0lHSFVQLCAmc2EsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdURVJNLCAmc2EsICZvbGRzYV90ZXJtKTsKKworCWNsb3NlbG9nKCk7CisKKwkvKgorCSAqIFdlIG11c3QgZm9yayBiZWZvcmUgc2V0dWlkKCksIGJlY2F1c2Ugd2UgbmVlZCB0byBjYWxsCisJICogcGFtX2Nsb3NlX3Nlc3Npb24oKSBhcyByb290LgorCSAqLworCWNoaWxkX3BpZCA9IGZvcmsoKTsKKwlpZiAoY2hpbGRfcGlkIDwgMCkgeworCQl3YXJuKF8oImZvcmsgZmFpbGVkIikpOworCisJCXBhbV9zZXRjcmVkKGN4dC0+cGFtaCwgUEFNX0RFTEVURV9DUkVEKTsKKwkJcGFtX2VuZChjeHQtPnBhbWgsIHBhbV9jbG9zZV9zZXNzaW9uKGN4dC0+cGFtaCwgMCkpOworCQlzbGVlcGV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAoY2hpbGRfcGlkKSB7CisJCS8qCisJCSAqIHBhcmVudCAtIHdhaXQgZm9yIGNoaWxkIHRvIGZpbmlzaCwgdGhlbiBjbGVhbiB1cCBzZXNzaW9uCisJCSAqLworCQljbG9zZSgwKTsKKwkJY2xvc2UoMSk7CisJCWNsb3NlKDIpOworCQlmcmVlX2dldGxvZ2luZGVmc19kYXRhKCk7CisKKwkJc2Euc2FfaGFuZGxlciA9IFNJR19JR047CisJCXNpZ2FjdGlvbihTSUdRVUlULCAmc2EsIE5VTEwpOworCQlzaWdhY3Rpb24oU0lHSU5ULCAmc2EsIE5VTEwpOworCisJCS8qIHdhaXQgYXMgbG9uZyBhcyBhbnkgY2hpbGQgaXMgdGhlcmUgKi8KKwkJd2hpbGUgKHdhaXQoTlVMTCkgPT0gLTEgJiYgZXJybm8gPT0gRUlOVFIpIDsKKwkJb3BlbmxvZygibG9naW4iLCBMT0dfT0RFTEFZLCBMT0dfQVVUSFBSSVYpOworCisJCXBhbV9zZXRjcmVkKGN4dC0+cGFtaCwgUEFNX0RFTEVURV9DUkVEKTsKKwkJcGFtX2VuZChjeHQtPnBhbWgsIHBhbV9jbG9zZV9zZXNzaW9uKGN4dC0+cGFtaCwgMCkpOworCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJfQorCisJLyoKKwkgKiBjaGlsZAorCSAqLworCXNpZ2FjdGlvbihTSUdIVVAsICZvbGRzYV9odXAsIE5VTEwpOwkJLyogcmVzdG9yZSBvbGQgc3RhdGUgKi8KKwlzaWdhY3Rpb24oU0lHVEVSTSwgJm9sZHNhX3Rlcm0sIE5VTEwpOworCWlmIChnb3Rfc2lnKQorCQlleGl0KEVYSVRfRkFJTFVSRSk7CisKKwkvKgorCSAqIFByb2JsZW06IGlmIHRoZSB1c2VyJ3Mgc2hlbGwgaXMgYSBzaGVsbCBsaWtlIGFzaCB0aGF0IGRvZXNuJ3QgZG8KKwkgKiBzZXRzaWQoKSBvciBzZXRwZ3JwKCksIHRoZW4gYSBjdHJsLVwsIHNlbmRpbmcgU0lHUVVJVCB0byBldmVyeQorCSAqIHByb2Nlc3MgaW4gdGhlIHBncnAsIHdpbGwga2lsbCB1cy4KKwkgKi8KKworCS8qIHN0YXJ0IG5ldyBzZXNzaW9uICovCisJc2V0c2lkKCk7CisKKwkvKiBtYWtlIHN1cmUgd2UgaGF2ZSBhIGNvbnRyb2xsaW5nIHR0eSAqLworCW9wZW5fdHR5KGN4dC0+dHR5X3BhdGgpOworCW9wZW5sb2coImxvZ2luIiwgTE9HX09ERUxBWSwgTE9HX0FVVEhQUklWKTsJLyogcmVvcGVuICovCisKKwkvKgorCSAqIFRJT0NTQ1RUWTogc3RlYWwgdHR5IGZyb20gb3RoZXIgcHJvY2VzcyBncm91cC4KKwkgKi8KKwlpZiAoaW9jdGwoMCwgVElPQ1NDVFRZLCAxKSkKKwkJc3lzbG9nKExPR19FUlIsIF8oIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIikpOworCXNpZ25hbChTSUdJTlQsIFNJR19ERkwpOworfQorCisvKgorICogSW5pdGlhbGl6ZSAkVEVSTSwgJEhPTUUsIC4uLgorICovCitzdGF0aWMgdm9pZCBpbml0X2Vudmlyb24oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgcGFzc3dkICpwd2QgPSBjeHQtPnB3ZDsKKwljaGFyICp0ZXJtZW52LCAqKmVudjsKKwljaGFyIHRtcFtQQVRIX01BWF07CisJaW50IGxlbiwgaTsKKworCXRlcm1lbnYgPSBnZXRlbnYoIlRFUk0iKTsKKwlpZiAodGVybWVudikKKwkJdGVybWVudiA9IHhzdHJkdXAodGVybWVudik7CisKKwkvKiBkZXN0cm95IGVudmlyb25tZW50IHVubGVzcyB1c2VyIGhhcyByZXF1ZXN0ZWQgcHJlc2VydmF0aW9uICgtcCkgKi8KKwlpZiAoIWN4dC0+a2VlcF9lbnYpIHsKKwkJZW52aXJvbiA9IHhtYWxsb2Moc2l6ZW9mKGNoYXIgKikpOworCQltZW1zZXQoZW52aXJvbiwgMCwgc2l6ZW9mKGNoYXIgKikpOworCX0KKworCXhzZXRlbnYoIkhPTUUiLCBwd2QtPnB3X2RpciwgMCk7CS8qIGxlZ2FsIHRvIG92ZXJyaWRlICovCisJeHNldGVudigiVVNFUiIsIHB3ZC0+cHdfbmFtZSwgMSk7CisJeHNldGVudigiU0hFTEwiLCBwd2QtPnB3X3NoZWxsLCAxKTsKKwl4c2V0ZW52KCJURVJNIiwgdGVybWVudiA/IHRlcm1lbnYgOiAiZHVtYiIsIDEpOworCWZyZWUodGVybWVudik7CisKKwlpZiAocHdkLT5wd191aWQpIHsKKwkJaWYgKGxvZ2luZGVmc19zZXRlbnYoIlBBVEgiLCAiRU5WX1BBVEgiLCBfUEFUSF9ERUZQQVRIKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgIlBBVEgiKTsKKworCX0gZWxzZSBpZiAobG9naW5kZWZzX3NldGVudigiUEFUSCIsICJFTlZfUk9PVFBBVEgiLCBOVUxMKSAhPSAwICYmCisJCSAgIGxvZ2luZGVmc19zZXRlbnYoIlBBVEgiLCAiRU5WX1NVUEFUSCIsIF9QQVRIX0RFRlBBVEhfUk9PVCkgIT0gMCkgeworCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgIlBBVEgiKTsKKwl9CisKKwkvKiBtYWlseCB3aWxsIGdpdmUgYSBmdW5ueSBlcnJvciBtc2cgaWYgeW91IGZvcmdldCB0aGlzIG9uZSAqLworCWxlbiA9IHNucHJpbnRmKHRtcCwgc2l6ZW9mKHRtcCksICIlcy8lcyIsIF9QQVRIX01BSUxESVIsIHB3ZC0+cHdfbmFtZSk7CisJaWYgKGxlbiA+IDAgJiYgKHNpemVfdCkgbGVuIDwgc2l6ZW9mKHRtcCkpCisJCXhzZXRlbnYoIk1BSUwiLCB0bXAsIDApOworCisJLyogTE9HTkFNRSBpcyBub3QgZG9jdW1lbnRlZCBpbiBsb2dpbigxKSBidXQgSFAtVVggNi41IGRvZXMgaXQuIFdlJ2xsCisJICogbm90IGFsbG93IG1vZGlmeWluZyBpdC4KKwkgKi8KKwl4c2V0ZW52KCJMT0dOQU1FIiwgcHdkLT5wd19uYW1lLCAxKTsKKworCWVudiA9IHBhbV9nZXRlbnZsaXN0KGN4dC0+cGFtaCk7CisJZm9yIChpID0gMDsgZW52ICYmIGVudltpXTsgaSsrKQorCQlwdXRlbnYoZW52W2ldKTsKK30KKworLyoKKyAqIFRoaXMgaXMgY2FsbGVkIGZvciB0aGUgLWggb3B0aW9uLCBpbml0aWFsaXplcyBjeHQtPntob3N0bmFtZSxob3N0YWRkcmVzc30uCisgKi8KK3N0YXRpYyB2b2lkIGluaXRfcmVtb3RlX2luZm8oc3RydWN0IGxvZ2luX2NvbnRleHQgKmN4dCwgY2hhciAqcmVtb3RlaG9zdCkKK3sKKwljb25zdCBjaGFyICpkb21haW47CisJY2hhciAqcDsKKwlzdHJ1Y3QgYWRkcmluZm8gaGludHMsICppbmZvID0gTlVMTDsKKworCWN4dC0+cmVtb3RlID0gMTsKKworCWdldF90aGlzaG9zdChjeHQsICZkb21haW4pOworCisJaWYgKGRvbWFpbiAmJiAocCA9IHN0cmNocihyZW1vdGVob3N0LCAnLicpKSAmJgorCSAgICBzdHJjYXNlY21wKHAgKyAxLCBkb21haW4pID09IDApCisJCSpwID0gJ1wwJzsKKworCWN4dC0+aG9zdG5hbWUgPSB4c3RyZHVwKHJlbW90ZWhvc3QpOworCisJbWVtc2V0KCZoaW50cywgMCwgc2l6ZW9mKGhpbnRzKSk7CisJaGludHMuYWlfZmxhZ3MgPSBBSV9BRERSQ09ORklHOworCWN4dC0+aG9zdGFkZHJlc3NbMF0gPSAwOworCisJaWYgKGdldGFkZHJpbmZvKGN4dC0+aG9zdG5hbWUsIE5VTEwsICZoaW50cywgJmluZm8pID09IDAgJiYgaW5mbykgeworCQlpZiAoaW5mby0+YWlfZmFtaWx5ID09IEFGX0lORVQpIHsKKwkJCXN0cnVjdCBzb2NrYWRkcl9pbiAqc2EgPQorCQkJCSAgICAoc3RydWN0IHNvY2thZGRyX2luICopIGluZm8tPmFpX2FkZHI7CisKKwkJCW1lbWNweShjeHQtPmhvc3RhZGRyZXNzLCAmKHNhLT5zaW5fYWRkciksIHNpemVvZihzYS0+c2luX2FkZHIpKTsKKworCQl9IGVsc2UgaWYgKGluZm8tPmFpX2ZhbWlseSA9PSBBRl9JTkVUNikgeworCQkJc3RydWN0IHNvY2thZGRyX2luNiAqc2EgPQorCQkJCSAgICAgKHN0cnVjdCBzb2NrYWRkcl9pbjYgKikgaW5mby0+YWlfYWRkcjsKKyNpZmRlZiBJTjZfSVNfQUREUl9WNE1BUFBFRAorCQkJaWYgKElONl9JU19BRERSX1Y0TUFQUEVEKCZzYS0+c2luNl9hZGRyKSkgeworCQkJCWNvbnN0IHVpbnQ4X3QgKmJ5dGVzID0gc2EtPnNpbjZfYWRkci5zNl9hZGRyOworCQkJCXN0cnVjdCBpbl9hZGRyIGFkZHIgPSB7ICooY29uc3QgaW5fYWRkcl90ICopIChieXRlcyArIDEyKSB9OworCisJCQkJbWVtY3B5KGN4dC0+aG9zdGFkZHJlc3MsICZhZGRyLCBzaXplb2Yoc3RydWN0IGluX2FkZHIpKTsKKwkJCX0gZWxzZQorI2VuZGlmCisJCQkJbWVtY3B5KGN4dC0+aG9zdGFkZHJlc3MsICYoc2EtPnNpbjZfYWRkciksIHNpemVvZihzYS0+c2luNl9hZGRyKSk7CisJCX0KKwkJZnJlZWFkZHJpbmZvKGluZm8pOworCX0KK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIHN0ZG91dCk7CisJcHJpbnRmKF8oIiAlcyBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCWZwdXRzKF8oIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBzdGRvdXQpOworCXB1dHMoXygiIC1wICAgICAgICAgICAgIGRvIG5vdCBkZXN0cm95IHRoZSBlbnZpcm9ubWVudCIpKTsKKwlwdXRzKF8oIiAtZiAgICAgICAgICAgICBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uIikpOworCXB1dHMoXygiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIpKTsKKwlwdXRzKF8oIiAtSCAgICAgICAgICAgICBzdXBwcmVzcyBob3N0bmFtZSBpbiB0aGUgbG9naW4gcHJvbXB0IikpOworCXByaW50ZigiICAgICAtLWhlbHAgICAgICVzXG4iLCBVU0FHRV9PUFRTVFJfSEVMUCk7CisJcHJpbnRmKCIgLVYsIC0tdmVyc2lvbiAgJXNcbiIsIFVTQUdFX09QVFNUUl9WRVJTSU9OKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImxvZ2luKDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjOworCWludCBjbnQ7CisJY2hhciAqY2hpbGRBcmd2WzEwXTsKKwljaGFyICpidWZmOworCWludCBjaGlsZEFyZ2MgPSAwOworCWludCByZXRjb2RlOworCXN0cnVjdCBzaWdhY3Rpb24gYWN0OworCXN0cnVjdCBwYXNzd2QgKnB3ZDsKKworCXN0cnVjdCBsb2dpbl9jb250ZXh0IGN4dCA9IHsKKwkJLnR0eV9tb2RlID0gVFRZX01PREUsCQkgIC8qIHR0eSBjaG1vZCgpICovCisJCS5waWQgPSBnZXRwaWQoKSwJCSAgLyogUElEICovCisjaWZkZWYgSEFWRV9TRUNVUklUWV9QQU1fTUlTQ19ICisJCS5jb252ID0geyBtaXNjX2NvbnYsIE5VTEwgfQkgIC8qIExpbnV4LVBBTSBjb252ZXJzYXRpb24gZnVuY3Rpb24gKi8KKyNlbGlmIGRlZmluZWQoSEFWRV9TRUNVUklUWV9PUEVOUEFNX0gpCisJCS5jb252ID0geyBvcGVucGFtX3R0eWNvbnYsIE5VTEwgfSAvKiBPcGVuUEFNIGNvbnZlcnNhdGlvbiBmdW5jdGlvbiAqLworI2VuZGlmCisKKwl9OworCisJLyogdGhlIG9ubHkgdHdvIGxvbmdvcHRzIHRvIHNhdGlzZnkgVUwgc3RhbmRhcmRzICovCisJZW51bSB7IEhFTFBfT1BUSU9OID0gQ0hBUl9NQVggKyAxIH07CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsIEhFTFBfT1BUSU9OfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwl0aW1lb3V0ID0gKHVuc2lnbmVkIGludClnZXRsb2dpbmRlZnNfbnVtKCJMT0dJTl9USU1FT1VUIiwgTE9HSU5fVElNRU9VVCk7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCisJLyogVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJXUgaXMgNjAuICovCisJc25wcmludGYodGltZW91dF9tc2csIHNpemVvZih0aW1lb3V0X21zZyksCisJICAgIF8oIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIpLAorCSAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgdGltZW91dCk7CisKKwlzaWduYWwoU0lHQUxSTSwgdGltZWRvdXQpOworCSh2b2lkKSBzaWdhY3Rpb24oU0lHQUxSTSwgTlVMTCwgJmFjdCk7CisJYWN0LnNhX2ZsYWdzICY9IH5TQV9SRVNUQVJUOworCXNpZ2FjdGlvbihTSUdBTFJNLCAmYWN0LCBOVUxMKTsKKwlhbGFybSh0aW1lb3V0KTsKKwlzaWduYWwoU0lHUVVJVCwgU0lHX0lHTik7CisJc2lnbmFsKFNJR0lOVCwgU0lHX0lHTik7CisKKwlzZXRwcmlvcml0eShQUklPX1BST0NFU1MsIDAsIDApOworCWluaXRwcm9jdGl0bGUoYXJnYywgYXJndik7CisKKwkvKgorCSAqIC1wIGlzIHVzZWQgYnkgZ2V0dHkgdG8gdGVsbCBsb2dpbiBub3QgdG8gZGVzdHJveSB0aGUgZW52aXJvbm1lbnQKKwkgKiAtZiBpcyB1c2VkIHRvIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24KKwkgKiAtaCBpcyB1c2VkIGJ5IG90aGVyIHNlcnZlcnMgdG8gcGFzcyB0aGUgbmFtZSBvZiB0aGUgcmVtb3RlCisJICogICAgaG9zdCB0byBsb2dpbiBzbyB0aGF0IGl0IG1heSBiZSBwbGFjZWQgaW4gdXRtcCBhbmQgd3RtcAorCSAqLworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJmSGg6cFYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnZic6CisJCQljeHQubm9hdXRoID0gMTsKKwkJCWJyZWFrOworCisJCWNhc2UgJ0gnOgorCQkJY3h0Lm5vaG9zdCA9IDE7CisJCQlicmVhazsKKworCQljYXNlICdoJzoKKwkJCWlmIChnZXR1aWQoKSkgeworCQkJCWZwcmludGYoc3RkZXJyLAorCQkJCQlfKCJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iKSk7CisJCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQkJfQorCQkJaW5pdF9yZW1vdGVfaW5mbygmY3h0LCBvcHRhcmcpOworCQkJYnJlYWs7CisKKwkJY2FzZSAncCc6CisJCQljeHQua2VlcF9lbnYgPSAxOworCQkJYnJlYWs7CisKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgSEVMUF9PUFRJT046CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoKmFyZ3YpIHsKKwkJY2hhciAqcCA9ICphcmd2OworCQljeHQudXNlcm5hbWUgPSB4c3RyZHVwKHApOworCisJCS8qIFdpcGUgdGhlIG5hbWUgLSBzb21lIHBlb3BsZSBtaXN0eXBlIHRoZWlyIHBhc3N3b3JkIGhlcmUuICovCisJCS8qIChPZiBjb3Vyc2Ugd2UgYXJlIHRvbyBsYXRlLCBidXQgcGVyaGFwcyB0aGlzIGhlbHBzIGEgbGl0dGxlLi4uKSAqLworCQl3aGlsZSAoKnApCisJCQkqcCsrID0gJyAnOworCX0KKworCWZvciAoY250ID0gZ2V0X2ZkX3RhYnNpemUoKSAtIDE7IGNudCA+IDI7IGNudC0tKQorCQljbG9zZShjbnQpOworCisJc2V0cGdycCgpOwkgLyogc2V0IHBnaWQgdG8gcGlkIHRoaXMgbWVhbnMgdGhhdCBzZXRzaWQoKSB3aWxsIGZhaWwgKi8KKwlpbml0X3R0eSgmY3h0KTsKKworCW9wZW5sb2coImxvZ2luIiwgTE9HX09ERUxBWSwgTE9HX0FVVEhQUklWKTsKKworCWluaXRfbG9naW5wYW0oJmN4dCk7CisKKwkvKiBsb2dpbiAtZiwgdGhlbiB0aGUgdXNlciBoYXMgYWxyZWFkeSBiZWVuIGF1dGhlbnRpY2F0ZWQgKi8KKwljeHQubm9hdXRoID0gY3h0Lm5vYXV0aCAmJiBnZXR1aWQoKSA9PSAwID8gMSA6IDA7CisKKwlpZiAoIWN4dC5ub2F1dGgpCisJCWxvZ2lucGFtX2F1dGgoJmN4dCk7CisKKwkvKgorCSAqIEF1dGhlbnRpY2F0aW9uIG1heSBiZSBza2lwcGVkIChmb3IgZXhhbXBsZSwgZHVyaW5nIGtybG9naW4sIHJsb2dpbiwKKwkgKiBldGMuLi4pLCBidXQgaXQgZG9lc24ndCBtZWFuIHRoYXQgd2UgY2FuIHNraXAgb3RoZXIgYWNjb3VudCBjaGVja3MuCisJICogVGhlIGFjY291bnQgY291bGQgYmUgZGlzYWJsZWQgb3IgdGhlIHBhc3N3b3JkIGhhcyBleHBpcmVkIChhbHRob3VnaAorCSAqIHRoZSBrZXJiZXJvcyB0aWNrZXQgaXMgdmFsaWQpLiAgICAgIC0tIGt6YWtAcmVkaGF0LmNvbSAoMjItRmViLTIwMDYpCisJICovCisJbG9naW5wYW1fYWNjdCgmY3h0KTsKKworCWN4dC5wd2QgPSB4Z2V0cHduYW0oY3h0LnVzZXJuYW1lLCAmY3h0LnB3ZGJ1Zik7CisJaWYgKCFjeHQucHdkKSB7CisJCXdhcm54KF8oIlxuU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iKSk7CisJCXN5c2xvZyhMT0dfRVJSLCBfKCJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIpLAorCQkgICAgICAgY3h0LnVzZXJuYW1lLCBfX0ZVTkNUSU9OX18sIF9fTElORV9fKTsKKwkJcGFtX2VuZChjeHQucGFtaCwgUEFNX1NZU1RFTV9FUlIpOworCQlzbGVlcGV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlwd2QgPSBjeHQucHdkOworCWN4dC51c2VybmFtZSA9IHB3ZC0+cHdfbmFtZTsKKworCS8qCisJICogSW5pdGlhbGl6ZSB0aGUgc3VwcGxlbWVudGFyeSBncm91cCBsaXN0LiBUaGlzIHNob3VsZCBiZSBkb25lIGJlZm9yZQorCSAqIHBhbV9zZXRjcmVkLCBiZWNhdXNlIFBBTSBtb2R1bGVzIG1pZ2h0IGFkZCBncm91cHMgZHVyaW5nIHRoYXQgY2FsbC4KKwkgKgorCSAqIEZvciByb290IHdlIGRvbid0IGNhbGwgaW5pdGdyb3VwcywgaW5zdGVhZCB3ZSBjYWxsIHNldGdyb3VwcyB3aXRoCisJICogZ3JvdXAgMC4gVGhpcyBhdm9pZHMgdGhlIG5lZWQgdG8gc3RlcCB0aHJvdWdoIHRoZSB3aG9sZSBncm91cCBmaWxlLAorCSAqIHdoaWNoIGNhbiBjYXVzZSBwcm9ibGVtcyBpZiBOSVMsIE5JUyssIExEQVAgb3Igc29tZXRoaW5nIHNpbWlsYXIKKwkgKiBpcyB1c2VkIGFuZCB0aGUgbWFjaGluZSBoYXMgbmV0d29yayBwcm9ibGVtcy4KKwkgKi8KKwlyZXRjb2RlID0gcHdkLT5wd191aWQgPyBpbml0Z3JvdXBzKGN4dC51c2VybmFtZSwgcHdkLT5wd19naWQpIDoJLyogdXNlciAqLworCQkJICAgICAgICBzZXRncm91cHMoMCwgTlVMTCk7CQkJLyogcm9vdCAqLworCWlmIChyZXRjb2RlIDwgMCkgeworCQlzeXNsb2coTE9HX0VSUiwgXygiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iKSk7CisJCXdhcm54KF8oIlxuU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iKSk7CisJCXBhbV9lbmQoY3h0LnBhbWgsIFBBTV9TWVNURU1fRVJSKTsKKwkJc2xlZXBleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJLyoKKwkgKiBPcGVuIFBBTSBzZXNzaW9uIChhZnRlciBzdWNjZXNzZnVsIGF1dGhlbnRpY2F0aW9uIGFuZCBhY2NvdW50IGNoZWNrKS4KKwkgKi8KKwlsb2dpbnBhbV9zZXNzaW9uKCZjeHQpOworCisJLyogY29tbWl0dGVkIHRvIGxvZ2luIC0tIHR1cm4gb2ZmIHRpbWVvdXQgKi8KKwlhbGFybSgodW5zaWduZWQgaW50KTApOworCisJZW5kcHdlbnQoKTsKKworCWN4dC5xdWlldCA9IGdldF9odXNobG9naW5fc3RhdHVzKHB3ZCwgMSk7CisKKwlsb2dfdXRtcCgmY3h0KTsKKwlsb2dfYXVkaXQoJmN4dCwgMSk7CisJbG9nX2xhc3Rsb2coJmN4dCk7CisKKwljaG93bl90dHkoJmN4dCk7CisKKwlpZiAoc2V0Z2lkKHB3ZC0+cHdfZ2lkKSA8IDAgJiYgcHdkLT5wd19naWQpIHsKKwkJc3lzbG9nKExPR19BTEVSVCwgXygic2V0Z2lkKCkgZmFpbGVkIikpOworCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJaWYgKHB3ZC0+cHdfc2hlbGwgPT0gTlVMTCB8fCAqcHdkLT5wd19zaGVsbCA9PSAnXDAnKQorCQlwd2QtPnB3X3NoZWxsID0gX1BBVEhfQlNIRUxMOworCisJaW5pdF9lbnZpcm9uKCZjeHQpOwkJLyogaW5pdCAkSE9NRSwgJFRFUk0gLi4uICovCisKKwlzZXRwcm9jdGl0bGUoImxvZ2luIiwgY3h0LnVzZXJuYW1lKTsKKworCWxvZ19zeXNsb2coJmN4dCk7CisKKwlpZiAoIWN4dC5xdWlldCkgeworCQltb3RkKCk7CisKKyNpZmRlZiBMT0dJTl9TVEFUX01BSUwKKwkJLyoKKwkJICogVGhpcyB0dXJucyBvdXQgdG8gYmUgYSBiYWQgaWRlYTogd2hlbiB0aGUgbWFpbCBzcG9vbAorCQkgKiBpcyBORlMgbW91bnRlZCwgYW5kIHRoZSBORlMgY29ubmVjdGlvbiBoYW5ncywgdGhlCisJCSAqIGxvZ2luIGhhbmdzLCBldmVuIHJvb3QgY2Fubm90IGxvZ2luLgorCQkgKiBDaGVja2luZyBmb3IgbWFpbCBzaG91bGQgYmUgZG9uZSBmcm9tIHRoZSBzaGVsbC4KKwkJICovCisJCXsKKwkJCXN0cnVjdCBzdGF0IHN0OworCQkJY2hhciAqbWFpbDsKKworCQkJbWFpbCA9IGdldGVudigiTUFJTCIpOworCQkJaWYgKG1haWwgJiYgc3RhdChtYWlsLCAmc3QpID09IDAgJiYgc3Quc3Rfc2l6ZSAhPSAwKSB7CisJCQkJaWYgKHN0LnN0X210aW1lID4gc3Quc3RfYXRpbWUpCisJCQkJCXByaW50ZihfKCJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIpKTsKKwkJCQllbHNlCisJCQkJCXByaW50ZihfKCJZb3UgaGF2ZSBtYWlsLlxuIikpOworCQkJfQorCQl9CisjZW5kaWYKKwl9CisKKwkvKgorCSAqIERldGFjaCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwsIGZvcmssIGFuZCBjcmVhdGUgYSBuZXcgc2Vzc2lvbgorCSAqIGFuZCByZWluaXRpYWxpemUgc3lzbG9nIHN0dWZmLgorCSAqLworCWZvcmtfc2Vzc2lvbigmY3h0KTsKKworCS8qIGRpc2NhcmQgcGVybWlzc2lvbnMgbGFzdCBzbyB3ZSBjYW4ndCBnZXQga2lsbGVkIGFuZCBkcm9wIGNvcmUgKi8KKwlpZiAoc2V0dWlkKHB3ZC0+cHdfdWlkKSA8IDAgJiYgcHdkLT5wd191aWQpIHsKKwkJc3lzbG9nKExPR19BTEVSVCwgXygic2V0dWlkKCkgZmFpbGVkIikpOworCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCisJLyogd2FpdCB1bnRpbCBoZXJlIHRvIGNoYW5nZSBkaXJlY3RvcnkhICovCisJaWYgKGNoZGlyKHB3ZC0+cHdfZGlyKSA8IDApIHsKKwkJd2FybihfKCIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiKSwgcHdkLT5wd19kaXIpOworCisJCWlmICghZ2V0bG9naW5kZWZzX2Jvb2woIkRFRkFVTFRfSE9NRSIsIDEpKQorCQkJZXhpdCgwKTsKKwkJaWYgKGNoZGlyKCIvIikpCisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCXB3ZC0+cHdfZGlyID0gIi8iOworCQlwcmludGYoXygiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIpKTsKKwl9CisKKwkvKiBpZiB0aGUgc2hlbGwgZmllbGQgaGFzIGEgc3BhY2U6IHRyZWF0IGl0IGxpa2UgYSBzaGVsbCBzY3JpcHQgKi8KKwlpZiAoc3RyY2hyKHB3ZC0+cHdfc2hlbGwsICcgJykpIHsKKwkJYnVmZiA9IHhtYWxsb2Moc3RybGVuKHB3ZC0+cHdfc2hlbGwpICsgNik7CisKKwkJc3RyY3B5KGJ1ZmYsICJleGVjICIpOworCQlzdHJjYXQoYnVmZiwgcHdkLT5wd19zaGVsbCk7CisJCWNoaWxkQXJndltjaGlsZEFyZ2MrK10gPSAiL2Jpbi9zaCI7CisJCWNoaWxkQXJndltjaGlsZEFyZ2MrK10gPSAiLXNoIjsKKwkJY2hpbGRBcmd2W2NoaWxkQXJnYysrXSA9ICItYyI7CisJCWNoaWxkQXJndltjaGlsZEFyZ2MrK10gPSBidWZmOworCX0gZWxzZSB7CisJCWNoYXIgdGJ1ZltQQVRIX01BWCArIDJdLCAqcDsKKworCQl0YnVmWzBdID0gJy0nOworCQl4c3RybmNweSh0YnVmICsgMSwgKChwID0gc3RycmNocihwd2QtPnB3X3NoZWxsLCAnLycpKSA/CisJCQkJICAgIHAgKyAxIDogcHdkLT5wd19zaGVsbCksIHNpemVvZih0YnVmKSAtIDEpOworCisJCWNoaWxkQXJndltjaGlsZEFyZ2MrK10gPSBwd2QtPnB3X3NoZWxsOworCQljaGlsZEFyZ3ZbY2hpbGRBcmdjKytdID0geHN0cmR1cCh0YnVmKTsKKwl9CisKKwljaGlsZEFyZ3ZbY2hpbGRBcmdjKytdID0gTlVMTDsKKworCWV4ZWN2cChjaGlsZEFyZ3ZbMF0sIGNoaWxkQXJndiArIDEpOworCisJaWYgKCFzdHJjbXAoY2hpbGRBcmd2WzBdLCAiL2Jpbi9zaCIpKQorCQl3YXJuKF8oImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IikpOworCWVsc2UKKwkJd2FybihfKCJubyBzaGVsbCIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL2xvZ2luZGVmcy5jIGIvbG9naW4tdXRpbHMvbG9naW5kZWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJmMWE5ZgotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xvZ2luZGVmcy5jCkBAIC0wLDAgKzEsNDM3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1IFRob3JzdGVuIEt1a3VrCisgKiBBdXRob3I6IFRob3JzdGVuIEt1a3VrIDxrdWt1a0BzdXNlLmRlPgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiBhbnkgZXhpc3RpbmcgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIGFuZCB0aGlzIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgYWxsIHByaW9yIGFuZCBjdXJyZW50CisgKiAgICBjb3B5cmlnaHQgbm90aWNlcywgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMsIGFuZCB0aGUgZm9sbG93aW5nCisgKiAgICBkaXNjbGFpbWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQKKyAqICAgIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiAzLiBUaGUgbmFtZSBvZiBhbnkgYXV0aG9yIG1heSBub3QgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUKKyAqICAgIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgdGhlaXIgc3BlY2lmaWMgcHJpb3IKKyAqICAgd3JpdHRlbiBwZXJtaXNzaW9uLgorICovCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3N5c2xvZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8cHdkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJsb2dpbmRlZnMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworc3RydWN0IGl0ZW0geworCWNoYXIgKm5hbWU7CQkvKiBuYW1lIG9mIHRoZSBvcHRpb24uICAqLworCWNoYXIgKnZhbHVlOwkJLyogdmFsdWUgb2YgdGhlIG9wdGlvbi4gICovCisJY2hhciAqcGF0aDsJCS8qIG5hbWUgb2YgY29uZmlnIGZpbGUgZm9yIHRoaXMgb3B0aW9uLiAgKi8KKworCXN0cnVjdCBpdGVtICpuZXh0OwkvKiBwb2ludGVyIHRvIG5leHQgb3B0aW9uLiAgKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgaXRlbSAqbGlzdCA9IE5VTEw7CisKK3N0YXRpYyB2b2lkICgqbG9naW5kZWZzX2xvYWRlcikodm9pZCAqKSA9IE5VTEw7CitzdGF0aWMgdm9pZCAqbG9naW5kZWZzX2xvYWRlcl9kYXRhID0gTlVMTDsKKwordm9pZCBmcmVlX2dldGxvZ2luZGVmc19kYXRhKHZvaWQpCit7CisJc3RydWN0IGl0ZW0gKnB0cjsKKworCXB0ciA9IGxpc3Q7CisJd2hpbGUgKHB0cikgeworCQlzdHJ1Y3QgaXRlbSAqdG1wID0gcHRyLT5uZXh0OworCisJCWZyZWUocHRyLT5wYXRoKTsKKwkJZnJlZShwdHItPm5hbWUpOworCQlmcmVlKHB0ci0+dmFsdWUpOworCQlmcmVlKHB0cik7CisJCXB0ciA9IHRtcDsKKwl9CisKKwlsaXN0ID0gTlVMTDsKK30KKworc3RhdGljIHZvaWQgc3RvcmUoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IGl0ZW0gKm5ldyA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBpdGVtKSk7CisKKwlpZiAoIW5hbWUpCisJCWFib3J0KCk7CisKKwluZXctPm5hbWUgPSB4c3RyZHVwKG5hbWUpOworCW5ldy0+dmFsdWUgPSB2YWx1ZSAmJiAqdmFsdWUgPyB4c3RyZHVwKHZhbHVlKSA6IE5VTEw7CisJbmV3LT5wYXRoID0geHN0cmR1cChwYXRoKTsKKwluZXctPm5leHQgPSBsaXN0OworCWxpc3QgPSBuZXc7Cit9CisKK3ZvaWQgbG9naW5kZWZzX2xvYWRfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlGSUxFICpmOworCWNoYXIgYnVmW0JVRlNJWl07CisKKwlmID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisJaWYgKCFmKQorCQlyZXR1cm47CisKKwl3aGlsZSAoZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZikpIHsKKworCQljaGFyICpwLCAqbmFtZSwgKmRhdGEgPSBOVUxMOworCisJCWlmICgqYnVmID09ICcjJyB8fCAqYnVmID09ICdcbicpCisJCQljb250aW51ZTsJLyogb25seSBjb21tZW50IG9yIGVtcHR5IGxpbmUgKi8KKworCQlwID0gc3RyY2hyKGJ1ZiwgJyMnKTsKKwkJaWYgKHApCisJCQkqcCA9ICdcMCc7CisJCWVsc2UgeworCQkJc2l6ZV90IG4gPSBzdHJsZW4oYnVmKTsKKwkJCWlmIChuICYmICooYnVmICsgbiAtIDEpID09ICdcbicpCisJCQkJKihidWYgKyBuIC0gMSkgPSAnXDAnOworCQl9CisKKwkJaWYgKCEqYnVmKQorCQkJY29udGludWU7CS8qIGVtcHR5IGxpbmUgKi8KKworCQkvKiBpZ25vcmUgc3BhY2UgYXQgYmVnaW4gb2YgdGhlIGxpbmUgKi8KKwkJbmFtZSA9IGJ1ZjsKKwkJd2hpbGUgKCpuYW1lICYmIGlzc3BhY2UoKHVuc2lnbmVkKSpuYW1lKSkKKwkJCW5hbWUrKzsKKworCQkvKiBnbyB0byB0aGUgZW5kIG9mIHRoZSBuYW1lICovCisJCWRhdGEgPSBuYW1lOworCQl3aGlsZSAoKmRhdGEgJiYgIShpc3NwYWNlKCh1bnNpZ25lZCkqZGF0YSkgfHwgKmRhdGEgPT0gJz0nKSkKKwkJCWRhdGErKzsKKwkJaWYgKGRhdGEgPiBuYW1lICYmICpkYXRhKQorCQkJKmRhdGErKyA9ICdcMCc7CisKKwkJaWYgKCEqbmFtZSB8fCBkYXRhID09IG5hbWUpCisJCQljb250aW51ZTsKKworCQkvKiBnbyB0byB0aGUgYmVnaW4gb2YgdGhlIHZhbHVlICovCisJCXdoaWxlICgqZGF0YQorCQkgICAgICAgJiYgKGlzc3BhY2UoKHVuc2lnbmVkKSpkYXRhKSB8fCAqZGF0YSA9PSAnPScKKwkJCSAgIHx8ICpkYXRhID09ICciJykpCisJCQlkYXRhKys7CisKKwkJLyogcmVtb3ZlIHNwYWNlIGF0IHRoZSBlbmQgb2YgdGhlIHZhbHVlICovCisJCXAgPSBkYXRhICsgc3RybGVuKGRhdGEpOworCQlpZiAocCA+IGRhdGEpCisJCQlwLS07CisJCXdoaWxlIChwID4gZGF0YSAmJiAoaXNzcGFjZSgodW5zaWduZWQpKnApIHx8ICpwID09ICciJykpCisJCQkqcC0tID0gJ1wwJzsKKworCQlzdG9yZShuYW1lLCBkYXRhLCBmaWxlbmFtZSk7CisJfQorCisJZmNsb3NlKGYpOworfQorCit2b2lkIGxvZ2luZGVmc19zZXRfbG9hZGVyKHZvaWQgKCpsb2FkZXIpKHZvaWQgKmRhdGEpLCB2b2lkICpkYXRhKQoreworCWxvZ2luZGVmc19sb2FkZXIgPSBsb2FkZXI7CisJbG9naW5kZWZzX2xvYWRlcl9kYXRhID0gZGF0YTsKK30KKworc3RhdGljIHZvaWQgbG9hZF9kZWZhdWx0cyh2b2lkKQoreworCWlmIChsb2dpbmRlZnNfbG9hZGVyKQorCQlsb2dpbmRlZnNfbG9hZGVyKGxvZ2luZGVmc19sb2FkZXJfZGF0YSk7CisJZWxzZQorCQlsb2dpbmRlZnNfbG9hZF9maWxlKF9QQVRIX0xPR0lOREVGUyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgaXRlbSAqc2VhcmNoKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc3RydWN0IGl0ZW0gKnB0cjsKKworCWlmICghbGlzdCkKKwkJbG9hZF9kZWZhdWx0cygpOworCisJcHRyID0gbGlzdDsKKwl3aGlsZSAocHRyICE9IE5VTEwpIHsKKwkJaWYgKHN0cmNhc2VjbXAobmFtZSwgcHRyLT5uYW1lKSA9PSAwKQorCQkJcmV0dXJuIHB0cjsKKwkJcHRyID0gcHRyLT5uZXh0OworCX0KKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqc2VhcmNoX2NvbmZpZyhjb25zdCBjaGFyICpuYW1lKQoreworCXN0cnVjdCBpdGVtICpwdHI7CisKKwlwdHIgPSBsaXN0OworCXdoaWxlIChwdHIgIT0gTlVMTCkgeworCQlpZiAoc3RyY2FzZWNtcChuYW1lLCBwdHItPm5hbWUpID09IDApCisJCQlyZXR1cm4gcHRyLT5wYXRoOworCQlwdHIgPSBwdHItPm5leHQ7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKK2ludCBnZXRsb2dpbmRlZnNfYm9vbChjb25zdCBjaGFyICpuYW1lLCBpbnQgZGZsdCkKK3sKKwlzdHJ1Y3QgaXRlbSAqcHRyID0gc2VhcmNoKG5hbWUpOworCXJldHVybiBwdHIgJiYgcHRyLT52YWx1ZSA/IChzdHJjYXNlY21wKHB0ci0+dmFsdWUsICJ5ZXMiKSA9PSAwKSA6IGRmbHQ7Cit9CisKK3Vuc2lnbmVkIGxvbmcgZ2V0bG9naW5kZWZzX251bShjb25zdCBjaGFyICpuYW1lLCBsb25nIGRmbHQpCit7CisJc3RydWN0IGl0ZW0gKnB0ciA9IHNlYXJjaChuYW1lKTsKKwljaGFyICplbmQgPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgcmV0dmFsOworCisJaWYgKCFwdHIgfHwgIXB0ci0+dmFsdWUpCisJCXJldHVybiBkZmx0OworCisJZXJybm8gPSAwOworCXJldHZhbCA9IHN0cnRvdWwocHRyLT52YWx1ZSwgJmVuZCwgMCk7CisJaWYgKGVuZCAmJiAqZW5kID09ICdcMCcgJiYgIWVycm5vKQorCQlyZXR1cm4gcmV0dmFsOworCisJc3lzbG9nKExPR19OT1RJQ0UsIF8oIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiKSwKKwkgICAgICAgc2VhcmNoX2NvbmZpZyhuYW1lKSwgbmFtZSwgcHRyLT52YWx1ZSk7CisJcmV0dXJuIGRmbHQ7Cit9CisKKy8qCisgKiBSZXR1cm5zOgorICoJQGRmbHQJCWlmIEBuYW1lIG5vdCBmb3VuZAorICoJIiIJCShlbXB0eSBzdHJpbmcpIGlmIGZvdW5kLCBidXQgdmFsdWUgbm90IGRlZmluZWQKKyAqCSJzdHJpbmciCWlmIGZvdW5kCisgKi8KK2NvbnN0IGNoYXIgKmdldGxvZ2luZGVmc19zdHIoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqZGZsdCkKK3sKKwlzdHJ1Y3QgaXRlbSAqcHRyID0gc2VhcmNoKG5hbWUpOworCisJaWYgKCFwdHIpCisJCXJldHVybiBkZmx0OworCWlmICghcHRyLT52YWx1ZSkKKwkJcmV0dXJuICIiOworCXJldHVybiBwdHItPnZhbHVlOworfQorCisvKgorICogRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBzaGFkb3ctdXRpbHMgd2UgaGF2ZSB0byBzdXBwb3J0IGFkZGl0aW9uYWwKKyAqIHN5bnRheCBmb3IgZW52aXJvbm1lbnQgdmFyaWFibGVzIGluIGxvZ2luLmRlZnMoNSkgZmlsZS4gVGhlIHN0YW5kYXJkCisgKiBzeW50YXggaXM6CisgKgorICoJRU5WX0ZPTyAgIGRhdGEKKyAqCisgKiBidXQgc2hhZG93LXV0aWxzIHN1cHBvcnRzIGFsc28KKyAqCisgKglFTlZfRk9PIEZPTz1kYXRhCisgKgorICogdGhlIEZPTz0gcHJlZml4IGhhcyB0byBiZSByZW1vdmUgYmVmb3JlIHdlIGNhbGwgc2V0ZW52KCkuCisgKi8KK2ludCBsb2dpbmRlZnNfc2V0ZW52KGNvbnN0IGNoYXIgKm5hbWUsIGNvbnN0IGNoYXIgKmNvbmYsIGNvbnN0IGNoYXIgKmRmbHQpCit7CisJY29uc3QgY2hhciAqdmFsID0gZ2V0bG9naW5kZWZzX3N0cihjb25mLCBkZmx0KTsKKwljb25zdCBjaGFyICpwOworCisJaWYgKCF2YWwpCisJCXJldHVybiAtMTsKKworCXAgPSBzdHJjaHIodmFsLCAnPScpOworCWlmIChwKSB7CisJCXNpemVfdCBzeiA9IHN0cmxlbihuYW1lKTsKKworCQlpZiAoc3RybmNtcCh2YWwsIG5hbWUsIHN6KSA9PSAwICYmICoocCArIDEpKSB7CisJCQl2YWwgPSBwICsgMTsKKwkJCWlmICgqdmFsID09ICciJykKKwkJCQl2YWwrKzsKKwkJCWlmICghKnZhbCkKKwkJCQl2YWwgPSBkZmx0OworCQl9CisJfQorCisJcmV0dXJuIHZhbCA/IHNldGVudihuYW1lLCB2YWwsIDEpIDogLTE7Cit9CisKKy8qCisgKiBXZSBuZWVkIHRvIGNoZWNrIHRoZSBlZmZlY3RpdmUgVUlEL0dJRC4gRm9yIGV4YW1wbGUsICRIT01FIGNvdWxkIGJlIG9uIGEKKyAqIHJvb3Qtc3F1YXNoZWQgTkZTIG9yIG9uIGFuIE5GUyB3aXRoIFVJRCBtYXBwaW5nLCBhbmQgYWNjZXNzKDIpIHVzZXMgdGhlCisgKiByZWFsIFVJRC9HSUQuICBUaGVuIG9wZW4oMikgc2VlbXMgYXMgdGhlIHN1cmVzdCBzb2x1dGlvbi4KKyAqIC0tIGt6YWtAcmVkaGF0LmNvbSAoMTAtQXByLTIwMDkpCisgKi8KK2ludCBlZmZlY3RpdmVfYWNjZXNzKGNvbnN0IGNoYXIgKnBhdGgsIGludCBtb2RlKQoreworCWludCBmZCA9IG9wZW4ocGF0aCwgbW9kZSk7CisJaWYgKGZkICE9IC0xKQorCQljbG9zZShmZCk7CisJcmV0dXJuIGZkID09IC0xID8gLTEgOiAwOworfQorCisKKy8qCisgKiBDaGVjayB0aGUgcGVyLWFjY291bnQgb3IgdGhlIGdsb2JhbCBodXNoLWxvZ2luIHNldHRpbmcuCisgKgorICogSHVzaGVkIG1vZGUgaXMgZW5hYmxlZDoKKyAqCisgKiBhKSBpZiBhIGdsb2JhbCAoZS5nLiAvZXRjL2h1c2hsb2dpbnMpIGh1c2ggZmlsZSBleGlzdHM6CisgKiAgICAgMSkgZm9yIEFMTCBBQ0NPVU5UUyBpZiB0aGUgZmlsZSBpcyBlbXB0eQorICogICAgIDIpIGZvciB0aGUgY3VycmVudCB1c2VyIGlmIHRoZSB1c2VybmFtZSBvciBzaGVsbCBpcyBmb3VuZCBpbiB0aGUgZmlsZQorICoKKyAqIGIpIGlmIGEgfi8uaHVzaGxvZ2luIGZpbGUgZXhpc3RzCisgKgorICogVGhlIH4vLmh1c2hsb2dpbiBmaWxlIGlzIGlnbm9yZWQgaWYgdGhlIGdsb2JhbCBodXNoIGZpbGUgZXhpc3RzLgorICoKKyAqIFRoZSBIVVNITE9HSU5fRklMRSBsb2dpbi5kZWYgdmFyaWFibGUgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGh1c2ggZmlsZW5hbWUuCisgKgorICogTm90ZSB0aGF0IHNoYWRvdy11dGlscyBsb2dpbigxKSBkb2VzIG5vdCBzdXBwb3J0ICJhMSkiLiBUaGUgImExKSIgaXMKKyAqIG5lY2Vzc2FyeSBpZiB5b3Ugd2FudCB0byB1c2UgUEFNIGZvciAiTGFzdCBsb2dpbiIgbWVzc2FnZS4KKyAqCisgKiAtLSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gKDI2LUF1Zy0yMDExKQorICoKKyAqCisgKiBUaGUgcGVyLWFjY291bnQgY2hlY2sgcmVxdWlyZXMgc29tZSBleHBsYW5hdGlvbjogQXMgcm9vdCB3ZSBtYXkgbm90IGJlIGFibGUKKyAqIHRvIHJlYWQgdGhlIGRpcmVjdG9yeSBvZiB0aGUgdXNlciBpZiBpdCBpcyBvbiBhbiBORlMtbW91bnRlZCBmaWxlc3lzdGVtLiBXZQorICogdGVtcG9yYXJpbHkgc2V0IG91ciBlZmZlY3RpdmUgdWlkIHRvIHRoZSB1c2VyLXVpZCwgbWFraW5nIHN1cmUgdGhhdCB3ZSBrZWVwCisgKiByb290IHByaXZpbGVnZXMgaW4gdGhlIHJlYWwgdWlkLgorICoKKyAqIEEgcG9ydGFibGUgc29sdXRpb24gd291bGQgcmVxdWlyZSBhIGZvcmsoKSwgYnV0IHdlIHJlbHkgb24gTGludXggaGF2aW5nIHRoZQorICogQlNEIHNldHJldWlkKCkuCisgKi8KKworaW50IGdldF9odXNobG9naW5fc3RhdHVzKHN0cnVjdCBwYXNzd2QgKnB3ZCwgaW50IGZvcmNlX2NoZWNrKQoreworCWNvbnN0IGNoYXIgKmZpbGVzW10gPSB7IF9QQVRIX0hVU0hMT0dJTlMsIF9QQVRIX0hVU0hMT0dJTiwgTlVMTCB9OworCWNvbnN0IGNoYXIgKmZpbGU7CisJY2hhciBidWZbQlVGU0laXTsKKwlpbnQgaTsKKworCWZpbGUgPSBnZXRsb2dpbmRlZnNfc3RyKCJIVVNITE9HSU5fRklMRSIsIE5VTEwpOworCWlmIChmaWxlKSB7CisJCWlmICghKmZpbGUpCisJCQlyZXR1cm4gMDsJLyogZW1wdHkgSFVTSExPR0lOX0ZJTEUgZGVmaW5lZCAqLworCisJCWZpbGVzWzBdID0gZmlsZTsKKwkJZmlsZXNbMV0gPSBOVUxMOworCX0KKworCWZvciAoaSA9IDA7IGZpbGVzW2ldOyBpKyspIHsKKwkJaW50IG9rID0gMDsKKworCQlmaWxlID0gZmlsZXNbaV07CisKKwkJLyogZ2xvYmFsIGh1c2gtZmlsZSAqLworCQlpZiAoKmZpbGUgPT0gJy8nKSB7CisJCQlzdHJ1Y3Qgc3RhdCBzdDsKKwkJCUZJTEUgKmY7CisKKwkJCWlmIChzdGF0KGZpbGUsICZzdCkgIT0gMCkKKwkJCQljb250aW51ZTsJLyogZmlsZSBkb2VzIG5vdCBleGlzdCAqLworCisJCQlpZiAoc3Quc3Rfc2l6ZSA9PSAwKQorCQkJCXJldHVybiAxOwkvKiBmb3IgYWxsIGFjY291bnRzICovCisKKwkJCWYgPSBmb3BlbihmaWxlLCAiciIpOworCQkJaWYgKCFmKQorCQkJCWNvbnRpbnVlOwkvKiBpZ25vcmUgZXJyb3JzLi4uICovCisKKwkJCXdoaWxlIChvayA9PSAwICYmIGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGYpKSB7CisJCQkJaWYgKGJ1ZlswXSAhPSAnXDAnKQorCQkJCQlidWZbc3RybGVuKGJ1ZikgLSAxXSA9ICdcMCc7CisJCQkJb2sgPSAhc3RyY21wKGJ1ZiwgKmJ1ZiA9PSAnLycgPyBwd2QtPnB3X3NoZWxsIDoKKwkJCQkJCQkJcHdkLT5wd19uYW1lKTsKKwkJCX0KKwkJCWZjbG9zZShmKTsKKwkJCWlmIChvaykKKwkJCQlyZXR1cm4gMTsJLyogZm91bmQgdXNlcm5hbWUvc2hlbGwgKi8KKworCQkJcmV0dXJuIDA7CQkvKiBpZ25vcmUgcGVyLWFjY291bnQgZmlsZXMgKi8KKwkJfQorCisJCS8qIHBlci1hY2NvdW50IHNldHRpbmcgKi8KKwkJaWYgKHN0cmxlbihwd2QtPnB3X2RpcikgKyBzaXplb2YoZmlsZSkgKyAyID4gc2l6ZW9mKGJ1ZikpCisJCQljb250aW51ZTsKKworCQlzcHJpbnRmKGJ1ZiwgIiVzLyVzIiwgcHdkLT5wd19kaXIsIGZpbGUpOworCisJCWlmIChmb3JjZV9jaGVjaykgeworCQkJdWlkX3QgcnVpZCA9IGdldHVpZCgpOworCQkJZ2lkX3QgZWdpZCA9IGdldGVnaWQoKTsKKworCQkJaWYgKHNldHJlZ2lkKC0xLCBwd2QtPnB3X2dpZCkgPT0gMCAmJgorCQkJICAgIHNldHJldWlkKDAsIHB3ZC0+cHdfdWlkKSA9PSAwKQorCQkJCW9rID0gZWZmZWN0aXZlX2FjY2VzcyhidWYsIE9fUkRPTkxZKSA9PSAwOworCisJCQlpZiAoc2V0dWlkKDApICE9IDAgfHwKKwkJCSAgICBzZXRyZXVpZChydWlkLCAwKSAhPSAwIHx8CisJCQkgICAgc2V0cmVnaWQoLTEsIGVnaWQpICE9IDApIHsKKwkJCQlzeXNsb2coTE9HX0FMRVJULCBfKCJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIikpOworCQkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJCX0KKwkJCWlmIChvaykKKwkJCQlyZXR1cm4gMTsJLyogZW5hYmxlZCBieSB1c2VyICovCisJCX0KKwkJZWxzZSB7CisJCQlpbnQgcmM7CisJCQlyYyA9IGVmZmVjdGl2ZV9hY2Nlc3MoYnVmLCBPX1JET05MWSk7CisJCQlpZiAocmMgPT0gMCkKKwkJCQlyZXR1cm4gMTsKKwkJCWVsc2UgaWYgKHJjID09IC0xICYmIGVycm5vID09IEVBQ0NFUykKKwkJCQkJcmV0dXJuIC0xOworCQl9CisKKwl9CisKKwlyZXR1cm4gMDsKK30KKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqbmFtZSwgKnR5cGU7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA8PSAxKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgInVzYWdlOiAlcyA8ZmlsZW5hbWU+ICIKKwkJICAgICAiWzxzdHJ8bnVtfGJvb2w+IDx2YWxuYW1lPl0iLCBhcmd2WzBdKTsKKworCWxvZ2luZGVmc19sb2FkX2ZpbGUoYXJndlsxXSk7CisKKwlpZiAoYXJnYyAhPSA0KSB7CS8qIGxpc3QgYWxsICovCisJCXN0cnVjdCBpdGVtICpwdHI7CisKKwkJZm9yIChwdHIgPSBsaXN0OyBwdHI7IHB0ciA9IHB0ci0+bmV4dCkKKwkJCXByaW50ZigiJXM6ICQlczogJyVzJ1xuIiwgcHRyLT5wYXRoLCBwdHItPm5hbWUsCisJCQkgICAgICAgcHRyLT52YWx1ZSk7CisKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwl0eXBlID0gYXJndlsyXTsKKwluYW1lID0gYXJndlszXTsKKworCWlmIChzdHJjbXAodHlwZSwgInN0ciIpID09IDApCisJCXByaW50ZigiJCVzOiAnJXMnXG4iLCBuYW1lLCBnZXRsb2dpbmRlZnNfc3RyKG5hbWUsICJERUZBVUxUIikpOworCWVsc2UgaWYgKHN0cmNtcCh0eXBlLCAibnVtIikgPT0gMCkKKwkJcHJpbnRmKCIkJXM6ICclbGQnXG4iLCBuYW1lLCBnZXRsb2dpbmRlZnNfbnVtKG5hbWUsIDApKTsKKwllbHNlIGlmIChzdHJjbXAodHlwZSwgImJvb2wiKSA9PSAwKQorCQlwcmludGYoIiQlczogJyVzJ1xuIiwgbmFtZSwKKwkJICAgICAgIGdldGxvZ2luZGVmc19ib29sKG5hbWUsIDApID8gIlkiIDogIk4iKTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL2xvZ2luZGVmcy5oIGIvbG9naW4tdXRpbHMvbG9naW5kZWZzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDY0NzM3YwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xvZ2luZGVmcy5oCkBAIC0wLDAgKzEsMTQgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9MT0dJTkRFRlNfSAorI2RlZmluZSBVVElMX0xJTlVYX0xPR0lOREVGU19ICisKK2V4dGVybiB2b2lkIGxvZ2luZGVmc19sb2FkX2ZpbGUoY29uc3QgY2hhciAqZmlsZW5hbWUpOworZXh0ZXJuIHZvaWQgbG9naW5kZWZzX3NldF9sb2FkZXIodm9pZCAoKmxvYWRlcikodm9pZCAqZGF0YSksIHZvaWQgKmRhdGEpOworZXh0ZXJuIGludCBnZXRsb2dpbmRlZnNfYm9vbChjb25zdCBjaGFyICpuYW1lLCBpbnQgZGZsdCk7CitleHRlcm4gdW5zaWduZWQgbG9uZyBnZXRsb2dpbmRlZnNfbnVtKGNvbnN0IGNoYXIgKm5hbWUsIGxvbmcgZGZsdCk7CitleHRlcm4gY29uc3QgY2hhciAqZ2V0bG9naW5kZWZzX3N0cihjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICpkZmx0KTsKK2V4dGVybiB2b2lkIGZyZWVfZ2V0bG9naW5kZWZzX2RhdGEodm9pZCk7CitleHRlcm4gaW50IGxvZ2luZGVmc19zZXRlbnYoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqY29uZiwgY29uc3QgY2hhciAqZGZsdCk7CitleHRlcm4gaW50IGVmZmVjdGl2ZV9hY2Nlc3MoY29uc3QgY2hhciAqcGF0aCwgaW50IG1vZGUpOworZXh0ZXJuIGludCBnZXRfaHVzaGxvZ2luX3N0YXR1cyhzdHJ1Y3QgcGFzc3dkICpwd2QsIGludCBmb3JjZV9jaGVjayk7CisKKyNlbmRpZiAvKiBVVElMX0xJTlVYX0xPR0lOREVGU19IICovCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9sc2xvZ2lucy4xIGIvbG9naW4tdXRpbHMvbHNsb2dpbnMuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjZiN2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbHNsb2dpbnMuMQpAQCAtMCwwICsxLDE0MiBAQAorLlwiIENvcHlyaWdodCAyMDE0IE9uZHJlaiBPcHJhbGEgKG9uZHJlai5vcHJhbGFAZ21haWwuY29tKQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBMU0xPR0lOUyAiMSIgIkFwcmlsIDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitsc2xvZ2lucyBcLSBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgbHNsb2dpbnMKK1tvcHRpb25zXQorLlJCIFsgXC1zIHwgXC11IFsgPVxmSVVJRCBdXQorLlJCIFsgXC1nICIgXGZJZ3JvdXBzXGZSXSIKKy5SQiBbIFwtbCAiIFxmSWxvZ2luc1xmUl0iCisuU0ggREVTQ1JJUFRJT04KKy5QUAorRXhhbWluZSB0aGUgd3RtcCBhbmQgYnRtcCBsb2dzLCAvZXRjL3NoYWRvdyAoaWYgbmVjZXNzYXJ5KSBhbmQgL2V0Yy9wYXNzd2QKK2FuZCBvdXRwdXQgdGhlIGRlc2lyZWQgZGF0YS4KKy5QUAorVGhlIGRlZmF1bHQgYWN0aW9uIGlzIHRvIGxpc3QgaW5mbyBhYm91dCBhbGwgdGhlIHVzZXJzIGluIHRoZSBzeXN0ZW0uCisuU0ggT1BUSU9OUworTWFuZGF0b3J5IGFyZ3VtZW50cyB0byBsb25nIG9wdGlvbnMgYXJlIG1hbmRhdG9yeSBmb3Igc2hvcnQgb3B0aW9ucyB0b28uCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWFjY1wtZXhwaXJhdGlvblxmUgorRGlzcGxheSBkYXRhIGFib3V0IHRoZSBkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIGFuZCB0aGUgYWNjb3VudCBleHBpcmF0aW9uCitkYXRlIChzZWUgXGZCc2hhZG93XGZSKDUpIGZvciBtb3JlIGluZm8pLiAgKFJlcXVpcmVzIHJvb3QgcHJpdmlsZWdlcy4pCisuVFAKK1xmQlwtXC1idG1wXC1maWxlIFxmSXBhdGhcZlAKK0FsdGVybmF0ZSBwYXRoIGZvciBidG1wLgorLlRQCitcZkJcLWNcZlIsIFxmQlwtXC1jb2xvblwtc2VwYXJhdGVcZlIKK1NlcGFyYXRlIGluZm8gYWJvdXQgZWFjaCB1c2VyIHdpdGggYSBjb2xvbiBpbnN0ZWFkIG9mIGEgbmV3bGluZS4KKy5UUAorXGZCXC1lXGZSLCBcZkJcLVwtZXhwb3J0XGZSCitPdXRwdXQgZGF0YSBpbiB0aGUgZm9ybWF0IG9mIE5BTUU9VkFMVUUuCisuVFAKK1xmQlwtZlxmUiwgXGZCXC1cLWZhaWxlZFxmUgorRGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW4gYXR0ZW1wdHMuCisuVFAKK1xmQlwtR1xmUiwgXGZCXC1cLXN1cHBcLWdyb3Vwc1xmUgorU2hvdyBpbmZvcm1hdGlvbiBhYm91dCBzdXBwbGVtZW50YXJ5IGdyb3Vwcy4KKy5UUAorXGZCXC1nXGZSLCBcZkJcLVwtZ3JvdXBzXGZSPVxmSWdyb3Vwc1xmUgorT25seSBzaG93IGRhdGEgb2YgdXNlcnMgYmVsb25naW5nIHRvIFxmSWdyb3Vwc1xmUi4gIE1vcmUgdGhhbiBvbmUgZ3JvdXAKK21heSBiZSBzcGVjaWZpZWQ7IHRoZSBsaXN0IGhhcyB0byBiZSBjb21tYS1zZXBhcmF0ZWQuCisKK05vdGUgdGhhdCByZWxhdGlvbiBiZXR3ZWVuIHVzZXIgYW5kIGdyb3VwIG1heSBiZSBpbnZpc2libGUgZm9yIHByaW1hcnkgZ3JvdXAgaWYKK3RoZSB1c2VyIGlzIG5vdCBleHBsaWNpdGx5IHNwZWNpZnkgYXMgZ3JvdXAgbWVtYmVyIChlLmcuIGluIC9ldGMvZ3JvdXApLiBJZiB0aGUKK2NvbW1hbmQgbHNsb2dpbnMgc2NhbnMgZm9yIGdyb3VwcyB0aGFuIGl0IHVzZXMgZ3JvdXBzIGRhdGFiYXNlIG9ubHksIGFuZCB1c2VyCitkYXRhYmFzZSB3aXRoIHByaW1hcnkgR0lEIGlzIG5vdCB1c2VkIGF0IGFsbC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLUxcZlIsIFxmQlwtXC1sYXN0XGZSCitEaXNwbGF5IGRhdGEgY29udGFpbmluZyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnMuCisuVFAKK1xmQlwtbFxmUiwgXGZCXC1cLWxvZ2luc1xmUj1cZklsb2dpbnNcZlIKK09ubHkgc2hvdyBkYXRhIG9mIHVzZXJzIHdpdGggYSBsb2dpbiBzcGVjaWZpZWQgaW4gXGZJbG9naW5zXGZSICh1c2VyIG5hbWVzIG9yIHVzZXIKK0lEUykuICBNb3JlIHRoYW4gb25lIGxvZ2luIG1heSBiZSBzcGVjaWZpZWQ7IHRoZSBsaXN0IGhhcyB0byBiZSBjb21tYS1zZXBhcmF0ZWQuCisuVFAKK1xmQlwtblxmUiwgXGZCXC1cLW5ld2xpbmVcZlIKK0Rpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIHNlcGFyYXRlIGxpbmUuCisuVFAKK1xmQlwtXC1ub2hlYWRpbmdzXGZSCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5UUAorXGZCXC1cLW5vdHJ1bmNhdGVcZlIKK0Rvbid0IHRydW5jYXRlIG91dHB1dC4KKy5UUAorXGZCXC1vXGZSLCBcZkJcLVwtb3V0cHV0IFxmSWxpc3RcZlAKK1NwZWNpZnkgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gcHJpbnQuIAorVGhlIGRlZmF1bHQgbGlzdCBvZiBjb2x1bW5zIG1heSBiZSBleHRlbmRlZCBpZiBcZklsaXN0XGZQIGlzCitzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCBcZkkrbGlzdFxmUC4KKy5UUAorLkIgXC1cLW91dHB1dFwtYWxsCitPdXRwdXQgYWxsIGF2YWlsYWJsZSBjb2x1bW5zLgorLkIgXC1cLWhlbHAKK3RvIGdldCBhIGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorLlRQCitcZkJcLXBcZlIsIFxmQlwtXC1wd2RcZlIKK0Rpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZCAoc2VlIGFsc28gXGZCXC1hZkwpLgorLlRQCitcZkJcLXJcZlIsIFxmQlwtXC1yYXdcZlIKK1JhdyBvdXRwdXQgKG5vIGNvbHVtbmF0aW9uKS4KKy5UUAorXGZCXC1zXGZSLCBcZkJcLVwtc3lzdGVtXC1hY2NzXGZSCitTaG93IHN5c3RlbSBhY2NvdW50cy4gIFRoZXNlIGFyZSBieSBkZWZhdWx0IGFsbCBhY2NvdW50cyB3aXRoIGEgVUlEIGJlbG93IDEwMDAKKyhub24taW5jbHVzaXZlKSwgd2l0aCB0aGUgZXhjZXB0aW9uIG9mIGVpdGhlciBub2JvZHkgb3IgbmZzbm9ib2R5IChVSUQgNjU1MzQpLgorVGhpcyBoYXJkY29kZWQgZGVmYXVsdCBtYXliZSBvdmVyd3JpdHRlbiBieSBwYXJhbWV0ZXJzIFNZU19VSURfTUlOIGFuZCBTWVNfVUlEX01BWCBpbgordGhlIGZpbGUgL2V0Yy9sb2dpbi5kZWZzLgorLlRQCitcZkJcLVwtdGltZVwtZm9ybWF0XGZSIFxmSXR5cGVcZlAKK0Rpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdC4gIFRoZSBkZWZhdWx0IGlzIHNob3J0LCB0aGlzIHRpbWUKK2Zvcm1hdCBpcyBkZXNpZ25lZCB0byBiZSBzcGFjZSBlZmZpY2llbnQgYW5kIGh1bWFuIHJlYWRhYmxlLgorLlRQCitcZkJcLXVcZlIsIFxmQlwtXC11c2VyXC1hY2NzXGZSCitTaG93IHVzZXIgYWNjb3VudHMuICBUaGVzZSBhcmUgYnkgZGVmYXVsdCBhbGwgYWNjb3VudHMgd2l0aCBVSUQgYWJvdmUgMTAwMAorKGluY2x1c2l2ZSksIHdpdGggdGhlIGV4Y2VwdGlvbiBvZiBlaXRoZXIgbm9ib2R5IG9yIG5mc25vYm9keSAoVUlEIDY1NTM0KS4KK1RoaXMgaGFyZGNvZGVkIGRlZmF1bHQgbWF5YmUgb3ZlcndyaXR0ZW4gYnkgcGFyYW1ldGVycyBVSURfTUlOIGFuZCBVSURfTUFYIGluCit0aGUgZmlsZSAvZXRjL2xvZ2luLmRlZnMuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1cLXd0bXBcLWZpbGUgXGZJcGF0aFxmUAorQWx0ZXJuYXRlIHBhdGggZm9yIHd0bXAuCisuVFAKK1xmQlwtWlxmUiwgXGZCXC1cLWNvbnRleHRcZlIKK0Rpc3BsYXkgdGhlIHVzZXJzJyBzZWN1cml0eSBjb250ZXh0LgorLlRQCitcZkJcLXpcZlIsIFxmQlwtXC1wcmludDBcZlIKK0RlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyLCBpbnN0ZWFkIG9mIGEgbmV3bGluZS4KKworLlNIIE5PVEVTCitUaGUgZGVmYXVsdCBVSUQgdGhyZXNob2xkcyBhcmUgcmVhZCBmcm9tIC9ldGMvbG9naW4uZGVmcy4KKworLlNIIEVYSVQgU1RBVFVTCisuVFAKKzAKK2lmIE9LLAorLlRQCisxCitpZiBpbmNvcnJlY3QgYXJndW1lbnRzIHNwZWNpZmllZCwKKy5UUAorMgoraWYgYSBzZXJpb3VzIGVycm9yIG9jY3VycyAoZS5nLiBhIGNvcnJ1cHQgbG9nKS4KKy5TSCBTRUUgQUxTTworXGZCZ3JvdXBcZlAoNSksIFxmQnBhc3N3ZFxmUCg1KSwgXGZCc2hhZG93XGZQKDUpLCBcZkJ1dG1wXGZQKDUpCisuU0ggSElTVE9SWQorVGhlIFxmQmxzbG9naW5zXGZQIHV0aWxpdHkgaXMgaW5zcGlyZWQgYnkgdGhlIFxmQmxvZ2luc1xmUCB1dGlsaXR5LCB3aGljaCBmaXJzdCBhcHBlYXJlZCBpbiBGcmVlQlNEIDQuMTAuCisuU0ggQVVUSE9SUworLk1UIG9vcHJhbGFAcmVkaGF0LmNvbQorT25kcmVqIE9wcmFsYQorLk1FCisuYnIKKy5NVCBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLk1FCisKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBsc2xvZ2lucyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbHNsb2dpbnMuYyBiL2xvZ2luLXV0aWxzL2xzbG9naW5zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc3Zjc0ZAotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL2xzbG9naW5zLmMKQEAgLTAsMCArMSwxNTg1IEBACisvKgorICogbHNsb2dpbnMgLSBMaXN0IGluZm9ybWF0aW9uIGFib3V0IHVzZXJzIG9uIHRoZSBzeXN0ZW0KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgT25kcmVqIE9wcmFsYSA8b29wcmFsYUByZWRoYXQuY29tPgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3N5c2xvZy5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPGdycC5oPgorI2luY2x1ZGUgPHNoYWRvdy5oPgorI2luY2x1ZGUgPHBhdGhzLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHV0bXB4Lmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c2VhcmNoLmg+CisKKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKyMgaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorIyBpbmNsdWRlIDxzeXN0ZW1kL3NkLWpvdXJuYWwuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAibGlzdC5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJsb2dpbmRlZnMuaCIKKyNpbmNsdWRlICJwcm9jdXRpbHMuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKworLyoKKyAqIGNvbHVtbiBkZXNjcmlwdGlvbgorICovCitzdHJ1Y3QgbHNsb2dpbnNfY29sZGVzYyB7CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpoZWxwOworCWNvbnN0IGNoYXIgKnByZXR0eV9uYW1lOworCisJZG91YmxlIHdoaW50OwkvKiB3aWR0aCBoaW50ICovCisJbG9uZyBmbGFnOworfTsKKworc3RhdGljIGludCBsc2xvZ2luc19mbGFnOworCisjZGVmaW5lIFVMX1VJRF9NSU4gMTAwMAorI2RlZmluZSBVTF9VSURfTUFYIDYwMDAwCisjZGVmaW5lIFVMX1NZU19VSURfTUlOIDIwMQorI2RlZmluZSBVTF9TWVNfVUlEX01BWCA5OTkKKworLyogd2UgdXNlIHRoZSB2YWx1ZSBvZiBvdXRtb2RlIHRvIGRldGVybWluZQorICogYXBwcm9wcmlhdGUgZmxhZ3MgZm9yIHRoZSBsaWJzbWFydGNvbHMgdGFibGUKKyAqIChlLmcuLCBhIHZhbHVlIG9mIG91dF9uZXdsaW5lIHdvdWxkIGltcGx5IGEgcmF3CisgKiB0YWJsZSB3aXRoIHRoZSBjb2x1bW4gc2VwYXJhdG9yIHNldCB0byAnXG4nKS4KKyAqLworc3RhdGljIGludCBvdXRtb2RlOworLyoKKyAqIG91dHB1dCBtb2RlcworICovCitlbnVtIHsKKwlPVVRfQ09MT04gPSAxLAorCU9VVF9FWFBPUlQsCisJT1VUX05FV0xJTkUsCisJT1VUX1JBVywKKwlPVVRfTlVMLAorCU9VVF9QUkVUVFkKK307CisKK3N0cnVjdCBsc2xvZ2luc191c2VyIHsKKwljaGFyICpsb2dpbjsKKwl1aWRfdCB1aWQ7CisJY2hhciAqZ3JvdXA7CisJZ2lkX3QgZ2lkOworCWNoYXIgKmdlY29zOworCisJaW50IHB3ZF9lbXB0eTsKKwlpbnQgbm9sb2dpbjsKKwlpbnQgcHdkX2xvY2s7CisJaW50IHB3ZF9kZW55OworCisJZ2lkX3QgKnNncm91cHM7CisJc2l6ZV90IG5zZ3JvdXBzOworCisJY2hhciAqcHdkX2N0aW1lOworCWNoYXIgKnB3ZF93YXJuOworCWNoYXIgKnB3ZF9leHBpcmU7CisJY2hhciAqcHdkX2N0aW1lX21pbjsKKwljaGFyICpwd2RfY3RpbWVfbWF4OworCWNvbnN0IGNoYXIgKnB3ZF9tZXRob2Q7CisKKwljaGFyICpsYXN0X2xvZ2luOworCWNoYXIgKmxhc3RfdHR5OworCWNoYXIgKmxhc3RfaG9zdG5hbWU7CisKKwljaGFyICpmYWlsZWRfbG9naW47CisJY2hhciAqZmFpbGVkX3R0eTsKKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCXNlY3VyaXR5X2NvbnRleHRfdCBjb250ZXh0OworI2VuZGlmCisJY2hhciAqaG9tZWRpcjsKKwljaGFyICpzaGVsbDsKKwljaGFyICpwd2Rfc3RhdHVzOworCWludCAgIGh1c2hlZDsKKwljaGFyICpucHJvY3M7CisKK307CisKKy8qCisgKiB0aW1lIG1vZGVzCisgKiAqLworZW51bSB7CisJVElNRV9JTlZBTElEID0gMCwKKwlUSU1FX1NIT1JULAorCVRJTUVfRlVMTCwKKwlUSU1FX0lTTywKKwlUSU1FX0lTT19TSE9SVCwKK307CisKKy8qCisgKiBmbGFncworICovCitlbnVtIHsKKwlGX1NZU0FDCT0gKDEgPDwgMyksCisJRl9VU1JBQwk9ICgxIDw8IDQpLAorfTsKKworLyoKKyAqIElEcworICovCitlbnVtIHsKKwlDT0xfVVNFUiA9IDAsCisJQ09MX1VJRCwKKwlDT0xfR0VDT1MsCisJQ09MX0hPTUUsCisJQ09MX1NIRUxMLAorCUNPTF9OT0xPR0lOLAorCUNPTF9QV0RMT0NLLAorCUNPTF9QV0RFTVBUWSwKKwlDT0xfUFdEREVOWSwKKwlDT0xfUFdETUVUSE9ELAorCUNPTF9HUk9VUCwKKwlDT0xfR0lELAorCUNPTF9TR1JPVVBTLAorCUNPTF9TR0lEUywKKwlDT0xfTEFTVF9MT0dJTiwKKwlDT0xfTEFTVF9UVFksCisJQ09MX0xBU1RfSE9TVE5BTUUsCisJQ09MX0ZBSUxFRF9MT0dJTiwKKwlDT0xfRkFJTEVEX1RUWSwKKwlDT0xfSFVTSF9TVEFUVVMsCisJQ09MX1BXRF9XQVJOLAorCUNPTF9QV0RfQ1RJTUUsCisJQ09MX1BXRF9DVElNRV9NSU4sCisJQ09MX1BXRF9DVElNRV9NQVgsCisJQ09MX1BXRF9FWFBJUiwKKwlDT0xfU0VMSU5VWCwKKwlDT0xfTlBST0NTLAorfTsKKworI2RlZmluZSBpc193dG1wX2NvbCh4KQkoKHgpID09IENPTF9MQVNUX0xPR0lOICAgICB8fCBcCisJCQkgKHgpID09IENPTF9MQVNUX1RUWSAgICAgICB8fCBcCisJCQkgKHgpID09IENPTF9MQVNUX0hPU1ROQU1FKQorCisjZGVmaW5lIGlzX2J0bXBfY29sKHgpCSgoeCkgPT0gQ09MX0ZBSUxFRF9MT0dJTiAgIHx8IFwKKwkJCSAoeCkgPT0gQ09MX0ZBSUxFRF9UVFkpCisKK2VudW0geworCVNUQVRVU19GQUxTRSA9IDAsCisJU1RBVFVTX1RSVUUsCisJU1RBVFVTX1VOS05PV04KK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpjb25zdCBzdGF0dXNbXSA9IHsKKwlbU1RBVFVTX0ZBTFNFXQk9ICIwIiwKKwlbU1RBVFVTX1RSVUVdCT0gIjEiLAorCVtTVEFUVVNfVU5LTk9XTl09IE5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpjb25zdCBwcmV0dHlfc3RhdHVzW10gPSB7CisJW1NUQVRVU19GQUxTRV0JPSBOXygibm8iKSwKKwlbU1RBVFVTX1RSVUVdCT0gTl8oInllcyIpLAorCVtTVEFUVVNfVU5LTk9XTl09IE5VTEwKK307CisKKyNkZWZpbmUgZ2V0X3N0YXR1cyh4KQkob3V0bW9kZSA9PSBPVVRfUFJFVFRZID8gcHJldHR5X3N0YXR1c1soeCldIDogc3RhdHVzWyh4KV0pCisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbHNsb2dpbnNfY29sZGVzYyBjb2xkZXNjc1tdID0KK3sKKwlbQ09MX1VTRVJdICAgICAgICAgID0geyAiVVNFUiIsCQlOXygidXNlciBuYW1lIiksIE5fKCJVc2VybmFtZSIpLCAwLjEsIFNDT0xTX0ZMX05PRVhUUkVNRVMgfSwKKwlbQ09MX1VJRF0gICAgICAgICAgID0geyAiVUlEIiwJCU5fKCJ1c2VyIElEIiksICJVSUQiLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9QV0RFTVBUWV0gICAgICA9IHsgIlBXRC1FTVBUWSIsCU5fKCJwYXNzd29yZCBub3QgcmVxdWlyZWQiKSwgTl8oIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIpLCAxLCBTQ09MU19GTF9SSUdIVCB9LAorCVtDT0xfUFdEREVOWV0gICAgICAgPSB7ICJQV0QtREVOWSIsCU5fKCJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIpLCBOXygiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiKSwgMSwgU0NPTFNfRkxfUklHSFQgfSwKKwlbQ09MX1BXRExPQ0tdICAgICAgID0geyAiUFdELUxPQ0siLAlOXygicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIpLCBOXygiUGFzc3dvcmQgaXMgbG9ja2VkIiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9QV0RNRVRIT0RdICAgICA9IHsgIlBXRC1NRVRIT0QiLCAgIE5fKCJwYXNzd29yZCBlbmNyeXB0aW9uIG1ldGhvZCIpLCBOXygiUGFzc3dvcmQgZW5jcnlwdGlvbiBtZXRob2QiKSwgMC4xIH0sCisJW0NPTF9OT0xPR0lOXSAgICAgICA9IHsgIk5PTE9HSU4iLAlOXygibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiKSwgTl8oIk5vIGxvZ2luIiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9HUk9VUF0gICAgICAgICA9IHsgIkdST1VQIiwJTl8oInByaW1hcnkgZ3JvdXAgbmFtZSIpLCBOXygiUHJpbWFyeSBncm91cCIpLCAwLjEgfSwKKwlbQ09MX0dJRF0gICAgICAgICAgID0geyAiR0lEIiwJCU5fKCJwcmltYXJ5IGdyb3VwIElEIiksICJHSUQiLCAxLCBTQ09MU19GTF9SSUdIVCB9LAorCVtDT0xfU0dST1VQU10gICAgICAgPSB7ICJTVVBQLUdST1VQUyIsCU5fKCJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIiksIE5fKCJTdXBwbGVtZW50YXJ5IGdyb3VwcyIpLCAwLjEgfSwKKwlbQ09MX1NHSURTXSAgICAgICAgID0geyAiU1VQUC1HSURTIiwgICAgTl8oInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIiksIE5fKCJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIpLCAwLjEgfSwKKwlbQ09MX0hPTUVdICAgICAgICAgID0geyAiSE9NRURJUiIsCU5fKCJob21lIGRpcmVjdG9yeSIpLCBOXygiSG9tZSBkaXJlY3RvcnkiKSwgMC4xIH0sCisJW0NPTF9TSEVMTF0gICAgICAgICA9IHsgIlNIRUxMIiwJTl8oImxvZ2luIHNoZWxsIiksIE5fKCJTaGVsbCIpLCAwLjEgfSwKKwlbQ09MX0dFQ09TXSAgICAgICAgID0geyAiR0VDT1MiLAlOXygiZnVsbCB1c2VyIG5hbWUiKSwgTl8oIkdlY29zIGZpZWxkIiksIDAuMSwgU0NPTFNfRkxfVFJVTkMgfSwKKwlbQ09MX0xBU1RfTE9HSU5dICAgID0geyAiTEFTVC1MT0dJTiIsCU5fKCJkYXRlIG9mIGxhc3QgbG9naW4iKSwgTl8oIkxhc3QgbG9naW4iKSwgMC4xLCBTQ09MU19GTF9SSUdIVCB9LAorCVtDT0xfTEFTVF9UVFldICAgICAgPSB7ICJMQVNULVRUWSIsCU5fKCJsYXN0IHR0eSB1c2VkIiksIE5fKCJMYXN0IHRlcm1pbmFsIiksIDAuMDUgfSwKKwlbQ09MX0xBU1RfSE9TVE5BTUVdID0geyAiTEFTVC1IT1NUTkFNRSIsTl8oImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIiksIE5fKCJMYXN0IGhvc3RuYW1lIiksICAwLjF9LAorCVtDT0xfRkFJTEVEX0xPR0lOXSAgPSB7ICJGQUlMRUQtTE9HSU4iLAlOXygiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIpLCBOXygiRmFpbGVkIGxvZ2luIiksIDAuMSB9LAorCVtDT0xfRkFJTEVEX1RUWV0gICAgPSB7ICJGQUlMRUQtVFRZIiwJTl8oIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iKSwgTl8oIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIpLCAwLjA1IH0sCisJW0NPTF9IVVNIX1NUQVRVU10gICA9IHsgIkhVU0hFRCIsCU5fKCJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIpLCBOXygiSHVzaGVkIiksIDEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9QV0RfV0FSTl0gICAgICA9IHsgIlBXRC1XQVJOIiwJTl8oImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIpLCBOXygiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIiksIDAuMSwgU0NPTFNfRkxfUklHSFQgfSwKKwlbQ09MX1BXRF9FWFBJUl0gICAgID0geyAiUFdELUVYUElSIiwJTl8oInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIpLCBOXygiUGFzc3dvcmQgZXhwaXJhdGlvbiIpLCAwLjEsIFNDT0xTX0ZMX1JJR0hUIH0sCisJW0NPTF9QV0RfQ1RJTUVdICAgICA9IHsgIlBXRC1DSEFOR0UiLAlOXygiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIpLCBOXygiUGFzc3dvcmQgY2hhbmdlZCIpLCAwLjEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX1BXRF9DVElNRV9NSU5dID0geyAiUFdELU1JTiIsCU5fKCJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiKSwgTl8oIk1pbmltdW0gY2hhbmdlIHRpbWUiKSwgMC4xLCBTQ09MU19GTF9SSUdIVCB9LAorCVtDT0xfUFdEX0NUSU1FX01BWF0gPSB7ICJQV0QtTUFYIiwJTl8oIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIiksIE5fKCJNYXhpbXVtIGNoYW5nZSB0aW1lIiksIDAuMSwgU0NPTFNfRkxfUklHSFQgfSwKKwlbQ09MX1NFTElOVVhdICAgICAgID0geyAiQ09OVEVYVCIsCU5fKCJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiKSwgTl8oIlNlbGludXggY29udGV4dCIpLCAwLjEgfSwKKwlbQ09MX05QUk9DU10gICAgICAgID0geyAiUFJPQyIsICAgICAgICAgTl8oIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIiksIE5fKCJSdW5uaW5nIHByb2Nlc3NlcyIpLCAxLCBTQ09MU19GTF9SSUdIVCB9LAorfTsKKworc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgeworCXN0cnVjdCB1dG1weCAqd3RtcDsKKwlzaXplX3Qgd3RtcF9zaXplOworCisJc3RydWN0IHV0bXB4ICpidG1wOworCXNpemVfdCBidG1wX3NpemU7CisKKwl2b2lkICp1c2VydHJlZTsKKworCXVpZF90IHVpZDsKKwl1aWRfdCBVSURfTUlOOworCXVpZF90IFVJRF9NQVg7CisKKwl1aWRfdCBTWVNfVUlEX01JTjsKKwl1aWRfdCBTWVNfVUlEX01BWDsKKworCWNoYXIgKip1bGlzdDsKKwlzaXplX3QgdWxzaXo7CisKKwl1bnNpZ25lZCBpbnQgdGltZV9tb2RlOworCisJY29uc3QgY2hhciAqam91cm5hbF9wYXRoOworCisJdW5zaWduZWQgaW50IHNlbGludXhfZW5hYmxlZCA6IDEsCisJCSAgICAgdWxpc3Rfb24gOiAxLAorCQkgICAgIG5vaGVhZGluZ3MgOiAxLAorCQkgICAgIG5vdHJ1bmMgOiAxOworfTsKKworLyogdGhlc2UgaGF2ZSB0byByZW1haW4gZ2xvYmFsIHNpbmNlIHRoZXJlJ3Mgbm8gb3RoZXIgcmVhc29uYWJsZSB3YXkgdG8gcGFzcworICogdGhlbSBmb3IgZWFjaCBjYWxsIG9mIGZpbGxfdGFibGUoKSB2aWEgdHdhbGsoKSAqLworc3RhdGljIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisKKy8qIGNvbHVtbnNbXSBhcnJheSBzcGVjaWZpZXMgYWxsIGN1cnJlbnRseSB3YW50ZWQgb3V0cHV0IGNvbHVtbi4gVGhlIGNvbHVtbnMKKyAqIGFyZSBkZWZpbmVkIGJ5IGNvbGRlc2NzW10gYXJyYXkgYW5kIHlvdSBjYW4gc3BlY2lmeSAob24gY29tbWFuZCBsaW5lKSBlYWNoCisgKiBjb2x1bW4gdHdpY2UuIFRoYXQncyBlbm91Z2gsIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBhcnJheSBvZiB0aGUgY29sdW1ucyBpcworICogdW5uZWNlc3Nhcnkgb3ZlcmtpbGwgYW5kIG92ZXItZW5naW5lZXJpbmcgaW4gdGhpcyBjYXNlICovCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShjb2xkZXNjcykgKiAyXTsKK3N0YXRpYyBzaXplX3QgbmNvbHVtbnM7CisKK3N0YXRpYyBpbmxpbmUgc2l6ZV90IGVycl9jb2x1bW5zX2luZGV4KHNpemVfdCBhcnlzeiwgc2l6ZV90IGlkeCkKK3sKKwlpZiAoaWR4ID49IGFyeXN6KQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsICIKKwkJCQkgICAgICJ0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiKSwKKwkJCQlhcnlzeiAtIDEpOworCXJldHVybiBpZHg7Cit9CisKKyNkZWZpbmUgYWRkX2NvbHVtbihhcnksIG4sIGlkKQlcCisJCSgoYXJ5KVsgZXJyX2NvbHVtbnNfaW5kZXgoQVJSQVlfU0laRShhcnkpLCAobikpIF0gPSAoaWQpKQorCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjb2xkZXNjcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGNvbGRlc2NzW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIHN0cnVjdCB0aW1ldmFsIG5vdzsKKworc3RhdGljIGNoYXIgKm1ha2VfdGltZShpbnQgbW9kZSwgdGltZV90IHRpbWUpCit7CisJaW50IHJjID0gMDsKKwljaGFyIGJ1Zls2NF0gPSB7MH07CisKKwlzd2l0Y2gobW9kZSkgeworCWNhc2UgVElNRV9GVUxMOgorCXsKKwkJY2hhciAqczsKKwkJc3RydWN0IHRtIHRtOworCQlsb2NhbHRpbWVfcigmdGltZSwgJnRtKTsKKworCQlhc2N0aW1lX3IoJnRtLCBidWYpOworCQlpZiAoKihzID0gYnVmICsgc3RybGVuKGJ1ZikgLSAxKSA9PSAnXG4nKQorCQkJKnMgPSAnXDAnOworCQlyYyA9IDA7CisJCWJyZWFrOworCX0KKwljYXNlIFRJTUVfU0hPUlQ6CisJCXJjID0gc3RydGltZV9zaG9ydCgmdGltZSwgJm5vdywgVUxfU0hPUlRUSU1FX1RISVNZRUFSX0hITU0sCisJCQkJYnVmLCBzaXplb2YoYnVmKSk7CisJCWJyZWFrOworCWNhc2UgVElNRV9JU086CisJCXJjID0gc3RydGltZV9pc28oJnRpbWUsIElTT19USU1FU1RBTVBfVCwgYnVmLCBzaXplb2YoYnVmKSk7CisJCWJyZWFrOworCWNhc2UgVElNRV9JU09fU0hPUlQ6CisJCXJjID0gc3RydGltZV9pc28oJnRpbWUsIElTT19EQVRFLCBidWYsIHNpemVvZihidWYpKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIpKTsKKwl9CisKKwlpZiAocmMpCisJCSBlcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciKSk7CisKKwlyZXR1cm4geHN0cmR1cChidWYpOworfQorCisKK3N0YXRpYyBjaGFyICp1aWR0b3N0cih1aWRfdCB1aWQpCit7CisJY2hhciAqc3RyX3VpZCA9IE5VTEw7CisJeGFzcHJpbnRmKCZzdHJfdWlkLCAiJXUiLCB1aWQpOworCXJldHVybiBzdHJfdWlkOworfQorCitzdGF0aWMgY2hhciAqZ2lkdG9zdHIoZ2lkX3QgZ2lkKQoreworCWNoYXIgKnN0cl9naWQgPSBOVUxMOworCXhhc3ByaW50Zigmc3RyX2dpZCwgIiV1IiwgZ2lkKTsKKwlyZXR1cm4gc3RyX2dpZDsKK30KKworc3RhdGljIGNoYXIgKmJ1aWxkX3Nncm91cHNfc3RyaW5nKGdpZF90ICpzZ3JvdXBzLCBzaXplX3QgbnNncm91cHMsIGludCB3YW50X25hbWVzKQoreworCXNpemVfdCBuID0gMCwgbWF4bGVuLCBsZW47CisJY2hhciAqcmVzLCAqcDsKKworCWlmICghbnNncm91cHMpCisJCXJldHVybiBOVUxMOworCisJbGVuID0gbWF4bGVuID0gbnNncm91cHMgKiAxMDsKKwlyZXMgPSBwID0geG1hbGxvYyhtYXhsZW4pOworCisJd2hpbGUgKG4gPCBuc2dyb3VwcykgeworCQlpbnQgeDsKK2FnYWluOgorCQlpZiAoIXdhbnRfbmFtZXMpCisJCQl4ID0gc25wcmludGYocCwgbGVuLCAiJXUsIiwgc2dyb3Vwc1tuXSk7CisJCWVsc2UgeworCQkJc3RydWN0IGdyb3VwICpncnAgPSBnZXRncmdpZChzZ3JvdXBzW25dKTsKKwkJCWlmICghZ3JwKSB7CisJCQkJZnJlZShyZXMpOworCQkJCXJldHVybiBOVUxMOworCQkJfQorCQkJeCA9IHNucHJpbnRmKHAsIGxlbiwgIiVzLCIsIGdycC0+Z3JfbmFtZSk7CisJCX0KKworCQlpZiAoeCA8IDAgfHwgKHNpemVfdCkgeCA+PSBsZW4pIHsKKwkJCXNpemVfdCBjdXIgPSBwIC0gcmVzOworCisJCQltYXhsZW4gKj0gMjsKKwkJCXJlcyA9IHhyZWFsbG9jKHJlcywgbWF4bGVuKTsKKwkJCXAgPSByZXMgKyBjdXI7CisJCQlsZW4gPSBtYXhsZW4gLSBjdXI7CisJCQlnb3RvIGFnYWluOworCQl9CisKKwkJbGVuIC09IHg7CisJCXAgKz0geDsKKwkJKytuOworCX0KKworCWlmIChwID4gcmVzKQorCQkqKHAgLSAxKSA9ICdcMCc7CisKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgc3RydWN0IHV0bXB4ICpnZXRfbGFzdF93dG1wKHN0cnVjdCBsc2xvZ2luc19jb250cm9sICpjdGwsIGNvbnN0IGNoYXIgKnVzZXJuYW1lKQoreworCXNpemVfdCBuID0gMDsKKworCWlmICghdXNlcm5hbWUpCisJCXJldHVybiBOVUxMOworCisJbiA9IGN0bC0+d3RtcF9zaXplIC0gMTsKKwlkbyB7CisJCWlmICghc3RybmNtcCh1c2VybmFtZSwgY3RsLT53dG1wW25dLnV0X3VzZXIsCisJCSAgICAgICAgICAgICBzaXplb2YoY3RsLT53dG1wWzBdLnV0X3VzZXIpKSkKKwkJCXJldHVybiBjdGwtPnd0bXAgKyBuOworCX0gd2hpbGUgKG4tLSk7CisJcmV0dXJuIE5VTEw7CisKK30KKworc3RhdGljIGludCByZXF1aXJlX3d0bXAodm9pZCkKK3sKKwlzaXplX3QgaTsKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykKKwkJaWYgKGlzX3d0bXBfY29sKGNvbHVtbnNbaV0pKQorCQkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVxdWlyZV9idG1wKHZvaWQpCit7CisJc2l6ZV90IGk7CisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspCisJCWlmIChpc19idG1wX2NvbChjb2x1bW5zW2ldKSkKKwkJCXJldHVybiAxOworCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IHV0bXB4ICpnZXRfbGFzdF9idG1wKHN0cnVjdCBsc2xvZ2luc19jb250cm9sICpjdGwsIGNvbnN0IGNoYXIgKnVzZXJuYW1lKQoreworCXNpemVfdCBuID0gMDsKKworCWlmICghdXNlcm5hbWUpCisJCXJldHVybiBOVUxMOworCisJbiA9IGN0bC0+YnRtcF9zaXplIC0gMTsKKwlkbyB7CisJCWlmICghc3RybmNtcCh1c2VybmFtZSwgY3RsLT5idG1wW25dLnV0X3VzZXIsCisJCSAgICAgICAgICAgICBzaXplb2YoY3RsLT53dG1wWzBdLnV0X3VzZXIpKSkKKwkJCXJldHVybiBjdGwtPmJ0bXAgKyBuOworCX13aGlsZSAobi0tKTsKKwlyZXR1cm4gTlVMTDsKKworfQorCitzdGF0aWMgaW50IHJlYWRfdXRtcChjaGFyIGNvbnN0ICpmaWxlLCBzaXplX3QgKm5lbnRzLCBzdHJ1Y3QgdXRtcHggKipyZXMpCit7CisJc2l6ZV90IG5fcmVhZCA9IDAsIG5fYWxsb2MgPSAwOworCXN0cnVjdCB1dG1weCAqdXRtcCA9IE5VTEwsICp1OworCisJaWYgKHV0bXB4bmFtZShmaWxlKSA8IDApCisJCXJldHVybiAtZXJybm87CisKKwlzZXR1dHhlbnQoKTsKKwllcnJubyA9IDA7CisKKwl3aGlsZSAoKHUgPSBnZXR1dHhlbnQoKSkgIT0gTlVMTCkgeworCQlpZiAobl9yZWFkID09IG5fYWxsb2MpIHsKKwkJCW5fYWxsb2MgKz0gMzI7CisJCQl1dG1wID0geHJlYWxsb2ModXRtcCwgbl9hbGxvYyAqIHNpemVvZiAoc3RydWN0IHV0bXB4KSk7CisJCX0KKwkJdXRtcFtuX3JlYWQrK10gPSAqdTsKKwl9CisJaWYgKCF1ICYmIGVycm5vKSB7CisJCWZyZWUodXRtcCk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJZW5kdXR4ZW50KCk7CisKKwkqbmVudHMgPSBuX3JlYWQ7CisJKnJlcyA9IHV0bXA7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwYXJzZV93dG1wKHN0cnVjdCBsc2xvZ2luc19jb250cm9sICpjdGwsIGNoYXIgKnBhdGgpCit7CisJaW50IHJjID0gMDsKKworCXJjID0gcmVhZF91dG1wKHBhdGgsICZjdGwtPnd0bXBfc2l6ZSwgJmN0bC0+d3RtcCk7CisJaWYgKHJjIDwgMCAmJiBlcnJubyAhPSBFQUNDRVMpCisJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIHBhdGgpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBwYXJzZV9idG1wKHN0cnVjdCBsc2xvZ2luc19jb250cm9sICpjdGwsIGNoYXIgKnBhdGgpCit7CisJaW50IHJjID0gMDsKKworCXJjID0gcmVhZF91dG1wKHBhdGgsICZjdGwtPmJ0bXBfc2l6ZSwgJmN0bC0+YnRtcCk7CisJaWYgKHJjIDwgMCAmJiBlcnJubyAhPSBFQUNDRVMpCisJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIHBhdGgpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBnZXRfc2dyb3VwcyhnaWRfdCAqKmxpc3QsIHNpemVfdCAqbGVuLCBzdHJ1Y3QgcGFzc3dkICpwd2QpCit7CisJc2l6ZV90IG4gPSAwOworCWludCBuZ3JvdXBzID0gMDsKKworCSpsZW4gPSAwOworCSpsaXN0ID0gTlVMTDsKKworCS8qIGZpcnN0IGxldCdzIGdldCBhIHN1cHAuIGdyb3VwIGNvdW50ICovCisJZ2V0Z3JvdXBsaXN0KHB3ZC0+cHdfbmFtZSwgcHdkLT5wd19naWQsICpsaXN0LCAmbmdyb3Vwcyk7CisJaWYgKCFuZ3JvdXBzKQorCQlyZXR1cm4gLTE7CisKKwkqbGlzdCA9IHhjYWxsb2MoMSwgbmdyb3VwcyAqIHNpemVvZihnaWRfdCkpOworCisJLyogbm93IGZvciB0aGUgYWN0dWFsIGxpc3Qgb2YgR0lEcyAqLworCWlmICgtMSA9PSBnZXRncm91cGxpc3QocHdkLT5wd19uYW1lLCBwd2QtPnB3X2dpZCwgKmxpc3QsICZuZ3JvdXBzKSkKKwkJcmV0dXJuIC0xOworCisJKmxlbiA9IChzaXplX3QpIG5ncm91cHM7CisKKwkvKiBnZXRncm91cHMgYWxzbyByZXR1cm5zIHRoZSB1c2VyJ3MgcHJpbWFyeSBHSUQgLSBkaXNwb3NlIG9mIGl0ICovCisJd2hpbGUgKG4gPCAqbGVuKSB7CisJCWlmICgoKmxpc3QpW25dID09IHB3ZC0+cHdfZ2lkKQorCQkJYnJlYWs7CisJCSsrbjsKKwl9CisKKwlpZiAoKmxlbikKKwkJKCpsaXN0KVtuXSA9ICgqbGlzdClbLS0oKmxlbildOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X25wcm9jcyhjb25zdCB1aWRfdCB1aWQpCit7CisJaW50IG5wcm9jcyA9IDA7CisJcGlkX3QgcGlkOworCXN0cnVjdCBwcm9jX3Byb2Nlc3NlcyAqcHJvYyA9IHByb2Nfb3Blbl9wcm9jZXNzZXMoKTsKKworCXByb2NfcHJvY2Vzc2VzX2ZpbHRlcl9ieV91aWQocHJvYywgdWlkKTsKKworCXdoaWxlICghcHJvY19uZXh0X3BpZChwcm9jLCAmcGlkKSkKKwkJKytucHJvY3M7CisKKwlwcm9jX2Nsb3NlX3Byb2Nlc3Nlcyhwcm9jKTsKKwlyZXR1cm4gbnByb2NzOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3B3ZF9tZXRob2QoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICoqbmV4dCwgdW5zaWduZWQgaW50ICpzeikKK3sKKwljb25zdCBjaGFyICpwID0gc3RyOworCWNvbnN0IGNoYXIgKnJlcyA9IE5VTEw7CisKKwlpZiAoIXAgfHwgKnArKyAhPSAnJCcpCisJCXJldHVybiBOVUxMOworCisJaWYgKHN6KQorCQkqc3ogPSAwOworCisJc3dpdGNoICgqcCkgeworCWNhc2UgJzEnOgorCQlyZXMgPSAiTUQ1IjsKKwkJaWYgKHN6KQorCQkJKnN6ID0gMjI7CisJCWJyZWFrOworCWNhc2UgJzInOgorCQlwKys7CisJCWlmICgqcCA9PSAnYScgfHwgKnAgPT0gJ3knKQorCQkJcmVzID0gIkJsb3dmaXNoIjsKKwkJYnJlYWs7CisJY2FzZSAnNSc6CisJCXJlcyA9ICJTSEEtMjU2IjsKKwkJaWYgKHN6KQorCQkJKnN6ID0gNDM7CisJCWJyZWFrOworCWNhc2UgJzYnOgorCQlyZXMgPSAiU0hBLTUxMiI7CisJCWlmIChzeikKKwkJCSpzeiA9IDg2OworCQlicmVhazsKKwlkZWZhdWx0OgorCQlyZXR1cm4gTlVMTDsKKwl9CisJcCsrOworCisJaWYgKCpwICE9ICckJykKKwkJcmV0dXJuIE5VTEw7CisJaWYgKG5leHQpCisJCSpuZXh0ID0gKytwOworCXJldHVybiByZXM7Cit9CisKKyNkZWZpbmUgaXNfdmFsaWRfcHdkX2NoYXIoeCkJKGlzYWxudW0oKHVuc2lnbmVkIGNoYXIpICh4KSkgfHwgKHgpID09ICAnLicgfHwgKHgpID09ICcvJykKKworc3RhdGljIGludCB2YWxpZF9wd2QoY29uc3QgY2hhciAqc3RyKQoreworCWNvbnN0IGNoYXIgKnAgPSBzdHI7CisJdW5zaWduZWQgaW50IHN6ID0gMCwgbjsKKworCS8qICRpZCQgKi8KKwlpZiAoZ2V0X3B3ZF9tZXRob2Qoc3RyLCAmcCwgJnN6KSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlpZiAoISpwKQorCQlyZXR1cm4gMDsKKworCS8qIHNhbHQkICovCisJZm9yICg7IHAgJiYgKnA7IHArKykgeworCQlpZiAoKnAgPT0gJyQnKSB7CisJCQlwKys7CisJCQlicmVhazsKKwkJfQorCQlpZiAoIWlzX3ZhbGlkX3B3ZF9jaGFyKCpwKSkKKwkJCXJldHVybiAwOworCX0KKwlpZiAoISpwKQorCQlyZXR1cm4gMDsKKworCS8qIGVuY3J5cHRlZCAqLworCWZvciAobiA9IDA7IHAgJiYgKnA7IHArKywgbisrKSB7CisJCWlmICghaXNfdmFsaWRfcHdkX2NoYXIoKnApKQorCQkJcmV0dXJuIDA7CisJfQorCisJaWYgKHN6ICYmIG4gIT0gc3opCisJCXJldHVybiAwOworCXJldHVybiAxOworfQorCitzdGF0aWMgc3RydWN0IGxzbG9naW5zX3VzZXIgKmdldF91c2VyX2luZm8oc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqdXNlcm5hbWUpCit7CisJc3RydWN0IGxzbG9naW5zX3VzZXIgKnVzZXI7CisJc3RydWN0IHBhc3N3ZCAqcHdkOworCXN0cnVjdCBncm91cCAqZ3JwOworCXN0cnVjdCBzcHdkICpzaGFkb3c7CisJc3RydWN0IHV0bXB4ICp1c2VyX3d0bXAgPSBOVUxMLCAqdXNlcl9idG1wID0gTlVMTDsKKwlzaXplX3QgbiA9IDA7CisJdGltZV90IHRpbWU7CisJdWlkX3QgdWlkOworCWVycm5vID0gMDsKKworCXB3ZCA9IHVzZXJuYW1lID8gZ2V0cHduYW0odXNlcm5hbWUpIDogZ2V0cHdlbnQoKTsKKwlpZiAoIXB3ZCkKKwkJcmV0dXJuIE5VTEw7CisKKwljdGwtPnVpZCA9IHVpZCA9IHB3ZC0+cHdfdWlkOworCisJLyogbmZzbm9ib2R5IGlzIGFuIGV4Y2VwdGlvbiB0byB0aGUgVUlEX01BWCBsaW1pdC4gIFRoaXMgaXMgIm5vYm9keSIgb24KKwkgKiBzb21lIHN5c3RlbXM7IHRoZSBkZWNpc2l2ZSBwb2ludCBpcyB0aGUgVUlEIC0gNjU1MzQgKi8KKwlpZiAoKGxzbG9naW5zX2ZsYWcgJiBGX1VTUkFDKSAmJgorCSAgICBzdHJjbXAoIm5mc25vYm9keSIsIHB3ZC0+cHdfbmFtZSkgIT0gMCAmJgorCSAgICB1aWQgIT0gMCkgeworCQlpZiAodWlkIDwgY3RsLT5VSURfTUlOIHx8IHVpZCA+IGN0bC0+VUlEX01BWCkgeworCQkJZXJybm8gPSBFQUdBSU47CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCisJfSBlbHNlIGlmICgobHNsb2dpbnNfZmxhZyAmIEZfU1lTQUMpICYmCisJCSAgICh1aWQgPCBjdGwtPlNZU19VSURfTUlOIHx8IHVpZCA+IGN0bC0+U1lTX1VJRF9NQVgpKSB7CisJCWVycm5vID0gRUFHQUlOOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlncnAgPSBnZXRncmdpZChwd2QtPnB3X2dpZCk7CisJaWYgKCFncnApCisJCXJldHVybiBOVUxMOworCisJdXNlciA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBsc2xvZ2luc191c2VyKSk7CisKKwlpZiAoY3RsLT53dG1wKQorCQl1c2VyX3d0bXAgPSBnZXRfbGFzdF93dG1wKGN0bCwgcHdkLT5wd19uYW1lKTsKKwlpZiAoY3RsLT5idG1wKQorCQl1c2VyX2J0bXAgPSBnZXRfbGFzdF9idG1wKGN0bCwgcHdkLT5wd19uYW1lKTsKKworCWxja3B3ZGYoKTsKKwlzaGFkb3cgPSBnZXRzcG5hbShwd2QtPnB3X25hbWUpOworCXVsY2twd2RmKCk7CisKKwkvKiByZXF1aXJlZCAgYnkgdHNlYWNoKCkgc3R1ZmYgKi8KKwl1c2VyLT51aWQgPSBwd2QtPnB3X3VpZDsKKworCXdoaWxlIChuIDwgbmNvbHVtbnMpIHsKKwkJc3dpdGNoIChjb2x1bW5zW24rK10pIHsKKwkJY2FzZSBDT0xfVVNFUjoKKwkJCXVzZXItPmxvZ2luID0geHN0cmR1cChwd2QtPnB3X25hbWUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1VJRDoKKwkJCXVzZXItPnVpZCA9IHB3ZC0+cHdfdWlkOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0dST1VQOgorCQkJdXNlci0+Z3JvdXAgPSB4c3RyZHVwKGdycC0+Z3JfbmFtZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfR0lEOgorCQkJdXNlci0+Z2lkID0gcHdkLT5wd19naWQ7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0dST1VQUzoKKwkJY2FzZSBDT0xfU0dJRFM6CisJCQlpZiAoZ2V0X3Nncm91cHMoJnVzZXItPnNncm91cHMsICZ1c2VyLT5uc2dyb3VwcywgcHdkKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIikpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0hPTUU6CisJCQl1c2VyLT5ob21lZGlyID0geHN0cmR1cChwd2QtPnB3X2Rpcik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0hFTEw6CisJCQl1c2VyLT5zaGVsbCA9IHhzdHJkdXAocHdkLT5wd19zaGVsbCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfR0VDT1M6CisJCQl1c2VyLT5nZWNvcyA9IHhzdHJkdXAocHdkLT5wd19nZWNvcyk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTEFTVF9MT0dJTjoKKwkJCWlmICh1c2VyX3d0bXApIHsKKwkJCQl0aW1lID0gdXNlcl93dG1wLT51dF90di50dl9zZWM7CisJCQkJdXNlci0+bGFzdF9sb2dpbiA9IG1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSwgdGltZSk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTEFTVF9UVFk6CisJCQlpZiAodXNlcl93dG1wKQorCQkJCXVzZXItPmxhc3RfdHR5ID0geHN0cmR1cCh1c2VyX3d0bXAtPnV0X2xpbmUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0xBU1RfSE9TVE5BTUU6CisJCQlpZiAodXNlcl93dG1wKQorCQkJCXVzZXItPmxhc3RfaG9zdG5hbWUgPSB4c3RyZHVwKHVzZXJfd3RtcC0+dXRfaG9zdCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfRkFJTEVEX0xPR0lOOgorCQkJaWYgKHVzZXJfYnRtcCkgeworCQkJCXRpbWUgPSB1c2VyX2J0bXAtPnV0X3R2LnR2X3NlYzsKKwkJCQl1c2VyLT5mYWlsZWRfbG9naW4gPSBtYWtlX3RpbWUoY3RsLT50aW1lX21vZGUsIHRpbWUpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgQ09MX0ZBSUxFRF9UVFk6CisJCQlpZiAodXNlcl9idG1wKQorCQkJCXVzZXItPmZhaWxlZF90dHkgPSB4c3RyZHVwKHVzZXJfYnRtcC0+dXRfbGluZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSFVTSF9TVEFUVVM6CisJCQl1c2VyLT5odXNoZWQgPSBnZXRfaHVzaGxvZ2luX3N0YXR1cyhwd2QsIDApOworCQkJaWYgKHVzZXItPmh1c2hlZCA9PSAtMSkKKwkJCQl1c2VyLT5odXNoZWQgPSBTVEFUVVNfVU5LTk9XTjsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RFTVBUWToKKwkJCWlmIChzaGFkb3cpIHsKKwkJCQlpZiAoISpzaGFkb3ctPnNwX3B3ZHApIC8qICdcMCcgKi8KKwkJCQkJdXNlci0+cHdkX2VtcHR5ID0gU1RBVFVTX1RSVUU7CisJCQl9IGVsc2UKKwkJCQl1c2VyLT5wd2RfZW1wdHkgPSBTVEFUVVNfVU5LTk9XTjsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RERU5ZOgorCQkJaWYgKHNoYWRvdykgeworCQkJCWlmICgoKnNoYWRvdy0+c3BfcHdkcCA9PSAnIScgfHwKKwkJCQkgICAgICpzaGFkb3ctPnNwX3B3ZHAgPT0gJyonKSAmJgorCQkJCSAgICAhdmFsaWRfcHdkKHNoYWRvdy0+c3BfcHdkcCArIDEpKQorCQkJCQl1c2VyLT5wd2RfZGVueSA9IFNUQVRVU19UUlVFOworCQkJfSBlbHNlCisJCQkJdXNlci0+cHdkX2RlbnkgPSBTVEFUVVNfVU5LTk9XTjsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RMT0NLOgorCQkJaWYgKHNoYWRvdykgeworCQkJCWlmICgqc2hhZG93LT5zcF9wd2RwID09ICchJyAmJiB2YWxpZF9wd2Qoc2hhZG93LT5zcF9wd2RwICsgMSkpCisJCQkJCXVzZXItPnB3ZF9sb2NrID0gU1RBVFVTX1RSVUU7CisJCQl9IGVsc2UKKwkJCQl1c2VyLT5wd2RfbG9jayA9IFNUQVRVU19VTktOT1dOOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BXRE1FVEhPRDoKKwkJCWlmIChzaGFkb3cpIHsKKwkJCQljb25zdCBjaGFyICpwID0gc2hhZG93LT5zcF9wd2RwOworCisJCQkJaWYgKCpwID09ICchJyB8fCAqcCA9PSAnKicpCisJCQkJCXArKzsKKwkJCQl1c2VyLT5wd2RfbWV0aG9kID0gZ2V0X3B3ZF9tZXRob2QocCwgTlVMTCwgTlVMTCk7CisJCQl9IGVsc2UKKwkJCQl1c2VyLT5wd2RfbWV0aG9kID0gTlVMTDsKKwkJCWJyZWFrOworCQljYXNlIENPTF9OT0xPR0lOOgorCQkJaWYgKHN0cnN0cihwd2QtPnB3X3NoZWxsLCAibm9sb2dpbiIpKQorCQkJCXVzZXItPm5vbG9naW4gPSAxOworCQkJZWxzZSBpZiAocHdkLT5wd191aWQpCisJCQkJdXNlci0+bm9sb2dpbiA9IGFjY2VzcyhfUEFUSF9OT0xPR0lOLCBGX09LKSA9PSAwIHx8CisJCQkJCQlhY2Nlc3MoX1BBVEhfVkFSX05PTE9HSU4sIEZfT0spID09IDA7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEX1dBUk46CisJCQlpZiAoc2hhZG93ICYmIHNoYWRvdy0+c3Bfd2FybiA+PSAwKQorCQkJCXhhc3ByaW50ZigmdXNlci0+cHdkX3dhcm4sICIlbGQiLCBzaGFkb3ctPnNwX3dhcm4pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BXRF9FWFBJUjoKKwkJCWlmIChzaGFkb3cgJiYgc2hhZG93LT5zcF9leHBpcmUgPj0gMCkKKwkJCQl1c2VyLT5wd2RfZXhwaXJlID0gbWFrZV90aW1lKGN0bC0+dGltZV9tb2RlID09IFRJTUVfSVNPID8KKwkJCQkJCVRJTUVfSVNPX1NIT1JUIDogY3RsLT50aW1lX21vZGUsCisJCQkJCQlzaGFkb3ctPnNwX2V4cGlyZSAqIDg2NDAwKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RfQ1RJTUU6CisJCQkvKiBzcF9sc3RjaGcgaXMgc3BlY2lmaWVkIGluIGRheXMsIHNob3dpbmcgaG91cnMKKwkJCSAqIChlc3BlY2lhbGx5IGluIG5vbi1HTVQgdGltZXpvbmVzKSB3b3VsZCBvbmx5IHNlcnZlCisJCQkgKiB0byBjb25mdXNlICovCisJCQlpZiAoc2hhZG93KQorCQkJCXVzZXItPnB3ZF9jdGltZSA9IG1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSA9PSBUSU1FX0lTTyA/CisJCQkJCQlUSU1FX0lTT19TSE9SVCA6IGN0bC0+dGltZV9tb2RlLAorCQkJCQkJc2hhZG93LT5zcF9sc3RjaGcgKiA4NjQwMCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEX0NUSU1FX01JTjoKKwkJCWlmIChzaGFkb3cgJiYgc2hhZG93LT5zcF9taW4gPiAwKQorCQkJCXhhc3ByaW50ZigmdXNlci0+cHdkX2N0aW1lX21pbiwgIiVsZCIsIHNoYWRvdy0+c3BfbWluKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RfQ1RJTUVfTUFYOgorCQkJaWYgKHNoYWRvdyAmJiBzaGFkb3ctPnNwX21heCA+IDApCisJCQkJeGFzcHJpbnRmKCZ1c2VyLT5wd2RfY3RpbWVfbWF4LCAiJWxkIiwgc2hhZG93LT5zcF9tYXgpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NFTElOVVg6CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJCQlpZiAoY3RsLT5zZWxpbnV4X2VuYWJsZWQpIHsKKwkJCQkvKiB0eXBlZGVmcyBhbmQgcG9pbnRlcnMgYXJlIHB1cmUgZXZpbCAqLworCQkJCXNlY3VyaXR5X2NvbnRleHRfdCBjb24gPSBOVUxMOworCQkJCWlmIChnZXRjb24oJmNvbikgPT0gMCkKKwkJCQkJdXNlci0+Y29udGV4dCA9IGNvbjsKKwkJCX0KKyNlbmRpZgorCQkJYnJlYWs7CisJCWNhc2UgQ09MX05QUk9DUzoKKwkJCXhhc3ByaW50ZigmdXNlci0+bnByb2NzLCAiJWQiLCBnZXRfbnByb2NzKHB3ZC0+cHdfdWlkKSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCS8qIHNvbWV0aGluZyB3ZW50IHZlcnkgd3JvbmcgaGVyZSAqLworCQkJZXJyKEVYSVRfRkFJTFVSRSwgImZhdGFsOiB1bmtub3duIGVycm9yIik7CisJCQlicmVhazsKKwkJfQorCX0KKworCXJldHVybiB1c2VyOworfQorCitzdGF0aWMgaW50IHN0cl90b191aW50KGNoYXIgKnMsIHVuc2lnbmVkIGludCAqdWwpCit7CisJY2hhciAqZW5kOworCWlmICghcyB8fCAhKnMpCisJCXJldHVybiAtMTsKKwkqdWwgPSBzdHJ0b3VsKHMsICZlbmQsIDApOworCWlmICghKmVuZCkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIDE7Cit9CisKKy8qIGdldCBhIGRlZmluaXRpdmUgbGlzdCBvZiB1c2VycyB3ZSB3YW50IGluZm8gYWJvdXQuLi4gKi8KK3N0YXRpYyBpbnQgZ2V0X3VsaXN0KHN0cnVjdCBsc2xvZ2luc19jb250cm9sICpjdGwsIGNoYXIgKmxvZ2lucywgY2hhciAqZ3JvdXBzKQoreworCWNoYXIgKnUsICpnOworCXNpemVfdCBpID0gMCwgbiA9IDAsICphcnNpejsKKwlzdHJ1Y3QgZ3JvdXAgKmdycDsKKwlzdHJ1Y3QgcGFzc3dkICpwd2Q7CisJY2hhciAqKiphcjsKKwl1aWRfdCB1aWQ7CisJZ2lkX3QgZ2lkOworCisJYXIgPSAmY3RsLT51bGlzdDsKKwlhcnNpeiA9ICZjdGwtPnVsc2l6OworCisJLyogYW4gYXJiaXRyYXJ5IHN0YXJ0aW5nIHZhbHVlICovCisJKmFyc2l6ID0gMzI7CisJKmFyID0geGNhbGxvYygxLCBzaXplb2YoY2hhciAqKSAqICgqYXJzaXopKTsKKworCWlmIChsb2dpbnMpIHsKKwkJd2hpbGUgKCh1ID0gc3RydG9rKGxvZ2lucywgIiwiKSkpIHsKKwkJCWxvZ2lucyA9IE5VTEw7CisKKwkJCS8qIHVzZXIgc3BlY2lmaWVkIGJ5IFVJRD8gKi8KKwkJCWlmICghc3RyX3RvX3VpbnQodSwgJnVpZCkpIHsKKwkJCQlwd2QgPSBnZXRwd3VpZCh1aWQpOworCQkJCWlmICghcHdkKQorCQkJCQljb250aW51ZTsKKwkJCQl1ID0gcHdkLT5wd19uYW1lOworCQkJfQorCQkJKCphcilbaSsrXSA9IHhzdHJkdXAodSk7CisKKwkJCWlmIChpID09ICphcnNpeikKKwkJCQkqYXIgPSB4cmVhbGxvYygqYXIsIHNpemVvZihjaGFyICopICogKCphcnNpeiArPSAzMikpOworCQl9CisJCWN0bC0+dWxpc3Rfb24gPSAxOworCX0KKworCWlmIChncm91cHMpIHsKKwkJLyogRklYTUU6IHRoaXMgbWlnaHQgbGVhZCB0byBkdXBsaWNhdGUgZW50cmllcywgYWx0aG91Z2ggbm90IHZpc2libGUKKwkJICogaW4gb3V0cHV0LCBjcnVuY2hpbmcgYSB1c2VyJ3MgaW5mbyBtdWx0aXBsZSB0aW1lcyBpcyB2ZXJ5IHJlZHVuZGFudCAqLworCQl3aGlsZSAoKGcgPSBzdHJ0b2soZ3JvdXBzLCAiLCIpKSkgeworCQkJbiA9IDA7CisJCQlncm91cHMgPSBOVUxMOworCisJCQkvKiB1c2VyIHNwZWNpZmllZCBieSBHSUQ/ICovCisJCQlpZiAoIXN0cl90b191aW50KGcsICZnaWQpKQorCQkJCWdycCA9IGdldGdyZ2lkKGdpZCk7CisJCQllbHNlCisJCQkJZ3JwID0gZ2V0Z3JuYW0oZyk7CisKKwkJCWlmICghZ3JwKQorCQkJCWNvbnRpbnVlOworCisJCQl3aGlsZSAoKHUgPSBncnAtPmdyX21lbVtuKytdKSkgeworCQkJCSgqYXIpW2krK10gPSB4c3RyZHVwKHUpOworCisJCQkJaWYgKGkgPT0gKmFyc2l6KQorCQkJCQkqYXIgPSB4cmVhbGxvYygqYXIsIHNpemVvZihjaGFyICopICogKCphcnNpeiArPSAzMikpOworCQkJfQorCQl9CisJCWN0bC0+dWxpc3Rfb24gPSAxOworCX0KKwkqYXJzaXogPSBpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBmcmVlX2N0bChzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsKQoreworCXNpemVfdCBuID0gMDsKKworCWZyZWUoY3RsLT53dG1wKTsKKwlmcmVlKGN0bC0+YnRtcCk7CisKKwl3aGlsZSAobiA8IGN0bC0+dWxzaXopCisJCWZyZWUoY3RsLT51bGlzdFtuKytdKTsKKworCWZyZWUoY3RsLT51bGlzdCk7CisJZnJlZShjdGwpOworfQorCitzdGF0aWMgc3RydWN0IGxzbG9naW5zX3VzZXIgKmdldF9uZXh0X3VzZXIoc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgbHNsb2dpbnNfdXNlciAqdTsKKwllcnJubyA9IDA7CisJd2hpbGUgKCEodSA9IGdldF91c2VyX2luZm8oY3RsLCBOVUxMKSkpIHsKKwkJLyogbm8gImZhbHNlIiBlcnJuby1zIGhlcmUsIGlmZiB3ZSdyZSB1bmFibGUgdG8KKwkJICogZ2V0IGEgdmFsaWQgdXNlciBlbnRyeSBmb3IgYW55IHJlYXNvbiwgcXVpdCAqLworCQlpZiAoZXJybm8gPT0gRUFHQUlOKQorCQkJY29udGludWU7CisJCXJldHVybiBOVUxMOworCX0KKwlyZXR1cm4gdTsKK30KKworLyogc29tZSBVTklYIGltcGxlbWVudGF0aW9ucyBzZXQgZXJybm8gaWZmIGEgcGFzc3dkL2dycC8uLi4KKyAqIGVudHJ5IHdhcyBub3QgZm91bmQuIFRoZSBvcmlnaW5hbCBVTklYIGxvZ2lucygxKSB1dGlsaXR5IGFsd2F5cworICogaWdub3JlcyBpbnZhbGlkIGxvZ2luL2dyb3VwIG5hbWVzLCBzbyB3ZSdyZSBnb2luZyB0byBhcyB3ZWxsLiovCisjZGVmaW5lIElTX1JFQUxfRVJSTk8oZSkgISgoZSkgPT0gRU5PRU5UIHx8IChlKSA9PSBFU1JDSCB8fCBcCisJCShlKSA9PSBFQkFERiB8fCAoZSkgPT0gRVBFUk0gfHwgKGUpID09IEVBR0FJTikKKworc3RhdGljIGludCBnZXRfdXNlcihzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsLCBzdHJ1Y3QgbHNsb2dpbnNfdXNlciAqKnVzZXIsCisJCSAgICBjb25zdCBjaGFyICp1c2VybmFtZSkKK3sKKwkqdXNlciA9IGdldF91c2VyX2luZm8oY3RsLCB1c2VybmFtZSk7CisJaWYgKCEqdXNlciAmJiBJU19SRUFMX0VSUk5PKGVycm5vKSkKKwkJcmV0dXJuIC0xOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNtcF91aWQoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKK3sKKwl1aWRfdCB4ID0gKChzdHJ1Y3QgbHNsb2dpbnNfdXNlciAqKWEpLT51aWQ7CisJdWlkX3QgeiA9ICgoc3RydWN0IGxzbG9naW5zX3VzZXIgKiliKS0+dWlkOworCXJldHVybiB4ID4geiA/IDEgOiAoeCA8IHogPyAtMSA6IDApOworfQorCitzdGF0aWMgaW50IGNyZWF0ZV91c2VydHJlZShzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBsc2xvZ2luc191c2VyICp1c2VyID0gTlVMTDsKKwlzaXplX3QgbiA9IDA7CisKKwlpZiAoY3RsLT51bGlzdF9vbikgeworCQlmb3IgKG4gPSAwOyBuIDwgY3RsLT51bHNpejsgbisrKSB7CisJCQlpZiAoZ2V0X3VzZXIoY3RsLCAmdXNlciwgY3RsLT51bGlzdFtuXSkpCisJCQkJY29udGludWU7CisJCQlpZiAodXNlcikgLyogb3RoZXJ3aXNlIGFuIGludmFsaWQgdXNlciBuYW1lIGhhcyBwcm9iYWJseSBiZWVuIGdpdmVuICovCisJCQkJdHNlYXJjaCh1c2VyLCAmY3RsLT51c2VydHJlZSwgY21wX3VpZCk7CisJCX0KKwl9IGVsc2UgeworCQl3aGlsZSAoKHVzZXIgPSBnZXRfbmV4dF91c2VyKGN0bCkpKQorCQkJdHNlYXJjaCh1c2VyLCAmY3RsLT51c2VydHJlZSwgY21wX3VpZCk7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzZXR1cF90YWJsZShzdHJ1Y3QgbHNsb2dpbnNfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKwlzaXplX3QgbiA9IDA7CisKKwlpZiAoIXRhYmxlKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIikpOworCWlmIChjdGwtPm5vaGVhZGluZ3MpCisJCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCAxKTsKKworCXN3aXRjaChvdXRtb2RlKSB7CisJY2FzZSBPVVRfQ09MT046CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsIDEpOworCQlzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcih0YWJsZSwgIjoiKTsKKwkJYnJlYWs7CisJY2FzZSBPVVRfTkVXTElORToKKwkJc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3IodGFibGUsICJcbiIpOworCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgT1VUX0VYUE9SVDoKKwkJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydCh0YWJsZSwgMSk7CisJCWJyZWFrOworCWNhc2UgT1VUX05VTDoKKwkJc2NvbHNfdGFibGVfc2V0X2xpbmVfc2VwYXJhdG9yKHRhYmxlLCAiXDAiKTsKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIE9VVF9SQVc6CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsIDEpOworCQlicmVhazsKKwljYXNlIE9VVF9QUkVUVFk6CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCAxKTsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwl3aGlsZSAobiA8IG5jb2x1bW5zKSB7CisJCWludCBmbGFncyA9IGNvbGRlc2NzW2NvbHVtbnNbbl1dLmZsYWc7CisKKwkJaWYgKGN0bC0+bm90cnVuYykKKwkJCWZsYWdzICY9IH5TQ09MU19GTF9UUlVOQzsKKworCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsCisJCQkJY29sZGVzY3NbY29sdW1uc1tuXV0ubmFtZSwKKwkJCQljb2xkZXNjc1tjb2x1bW5zW25dXS53aGludCwKKwkJCQlmbGFncykpCisJCQlnb3RvIGZhaWw7CisJCSsrbjsKKwl9CisKKwlyZXR1cm4gdGFibGU7CitmYWlsOgorCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgZmlsbF90YWJsZShjb25zdCB2b2lkICp1LCBjb25zdCBWSVNJVCB3aGljaCwgY29uc3QgaW50IGRlcHRoIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbHNsb2dpbnNfdXNlciAqdXNlciA9ICooc3RydWN0IGxzbG9naW5zX3VzZXIgKiopdTsKKwlzaXplX3QgbiA9IDA7CisKKwlpZiAod2hpY2ggPT0gcHJlb3JkZXIgfHwgd2hpY2ggPT0gZW5kb3JkZXIpCisJCXJldHVybjsKKworCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCWlmICghbG4pCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCXdoaWxlIChuIDwgbmNvbHVtbnMpIHsKKwkJaW50IHJjID0gMDsKKworCQlzd2l0Y2ggKGNvbHVtbnNbbl0pIHsKKwkJY2FzZSBDT0xfVVNFUjoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+bG9naW4pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1VJRDoKKwkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCB1aWR0b3N0cih1c2VyLT51aWQpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RFTVBUWToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgZ2V0X3N0YXR1cyh1c2VyLT5wd2RfZW1wdHkpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9OT0xPR0lOOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCBnZXRfc3RhdHVzKHVzZXItPm5vbG9naW4pKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RMT0NLOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCBnZXRfc3RhdHVzKHVzZXItPnB3ZF9sb2NrKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEREVOWToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgZ2V0X3N0YXR1cyh1c2VyLT5wd2RfZGVueSkpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BXRE1FVEhPRDoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+cHdkX21ldGhvZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfR1JPVVA6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPmdyb3VwKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9HSUQ6CisJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgZ2lkdG9zdHIodXNlci0+Z2lkKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0dST1VQUzoKKwkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLAorCQkJCWJ1aWxkX3Nncm91cHNfc3RyaW5nKHVzZXItPnNncm91cHMsCisJCQkJCQkgICAgIHVzZXItPm5zZ3JvdXBzLAorCQkJCQkJICAgICBUUlVFKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0dJRFM6CisJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQlidWlsZF9zZ3JvdXBzX3N0cmluZyh1c2VyLT5zZ3JvdXBzLAorCQkJCQkJICAgICB1c2VyLT5uc2dyb3VwcywKKwkJCQkJCSAgICAgRkFMU0UpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9IT01FOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5ob21lZGlyKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TSEVMTDoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+c2hlbGwpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0dFQ09TOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5nZWNvcyk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTEFTVF9MT0dJTjoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+bGFzdF9sb2dpbik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTEFTVF9UVFk6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPmxhc3RfdHR5KTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9MQVNUX0hPU1ROQU1FOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5sYXN0X2hvc3RuYW1lKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9GQUlMRURfTE9HSU46CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPmZhaWxlZF9sb2dpbik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfRkFJTEVEX1RUWToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+ZmFpbGVkX3R0eSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSFVTSF9TVEFUVVM6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIGdldF9zdGF0dXModXNlci0+aHVzaGVkKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUFdEX1dBUk46CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPnB3ZF93YXJuKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RfRVhQSVI6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHVzZXItPnB3ZF9leHBpcmUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BXRF9DVElNRToKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+cHdkX2N0aW1lKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RfQ1RJTUVfTUlOOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5wd2RfY3RpbWVfbWluKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QV0RfQ1RJTUVfTUFYOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5wd2RfY3RpbWVfbWF4KTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TRUxJTlVYOgorI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCB1c2VyLT5jb250ZXh0KTsKKyNlbmRpZgorCQkJYnJlYWs7CisJCWNhc2UgQ09MX05QUk9DUzoKKwkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgdXNlci0+bnByb2NzKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJLyogc29tZXRoaW5nIHdlbnQgdmVyeSB3cm9uZyBoZXJlICovCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iKSk7CisJCX0KKworCQlpZiAocmMpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIikpOworCQkrK247CisJfQorCXJldHVybjsKK30KKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKK3N0YXRpYyB2b2lkIHByaW50X2pvdXJuYWxfdGFpbChjb25zdCBjaGFyICpqb3VybmFsX3BhdGgsIHVpZF90IHVpZCwgc2l6ZV90IGxlbiwgaW50IHRpbWVfbW9kZSkKK3sKKwlzZF9qb3VybmFsICpqOworCWNoYXIgKm1hdGNoLCAqdGltZXN0YW1wOworCXVpbnQ2NF90IHg7CisJdGltZV90IHQ7CisJY29uc3QgY2hhciAqaWRlbnRpZmllciwgKnBpZCwgKm1lc3NhZ2U7CisJc2l6ZV90IGlkZW50aWZpZXJfbGVuLCBwaWRfbGVuLCBtZXNzYWdlX2xlbjsKKworCWlmIChqb3VybmFsX3BhdGgpCisJCXNkX2pvdXJuYWxfb3Blbl9kaXJlY3RvcnkoJmosIGpvdXJuYWxfcGF0aCwgMCk7CisJZWxzZQorCQlzZF9qb3VybmFsX29wZW4oJmosIFNEX0pPVVJOQUxfTE9DQUxfT05MWSk7CisKKwl4YXNwcmludGYoJm1hdGNoLCAiX1VJRD0lZCIsIHVpZCk7CisKKwlzZF9qb3VybmFsX2FkZF9tYXRjaChqLCBtYXRjaCwgMCk7CisJc2Rfam91cm5hbF9zZWVrX3RhaWwoaik7CisJc2Rfam91cm5hbF9wcmV2aW91c19za2lwKGosIGxlbik7CisKKwlkbyB7CisJCWlmICgwID4gc2Rfam91cm5hbF9nZXRfZGF0YShqLCAiU1lTTE9HX0lERU5USUZJRVIiLAorCQkJCShjb25zdCB2b2lkICoqKSAmaWRlbnRpZmllciwgJmlkZW50aWZpZXJfbGVuKSkKKwkJCWdvdG8gZG9uZTsKKwkJaWYgKDAgPiBzZF9qb3VybmFsX2dldF9kYXRhKGosICJfUElEIiwKKwkJCQkoY29uc3Qgdm9pZCAqKikgJnBpZCwgJnBpZF9sZW4pKQorCQkJZ290byBkb25lOworCQlpZiAoMCA+IHNkX2pvdXJuYWxfZ2V0X2RhdGEoaiwgIk1FU1NBR0UiLAorCQkJCShjb25zdCB2b2lkICoqKSAmbWVzc2FnZSwgJm1lc3NhZ2VfbGVuKSkKKwkJCWdvdG8gZG9uZTsKKworCQlzZF9qb3VybmFsX2dldF9yZWFsdGltZV91c2VjKGosICZ4KTsKKwkJdCA9IHggLyAxMDAwMDAwOworCQl0aW1lc3RhbXAgPSBtYWtlX3RpbWUodGltZV9tb2RlLCB0KTsKKwkJLyogR2V0IHJpZCBvZiBqb3VybmFsIGVudHJ5IGZpZWxkIGlkZW50aWZpZXJzICovCisJCWlkZW50aWZpZXIgPSBzdHJjaHIoaWRlbnRpZmllciwgJz0nKSArIDE7CisJCXBpZCA9IHN0cmNocihwaWQsICc9JykgKyAxOworCQltZXNzYWdlID0gc3RyY2hyKG1lc3NhZ2UsICc9JykgKyAxOworCisJCWZwcmludGYoc3Rkb3V0LCAiJXMgJXNbJXNdOiAlc1xuIiwgdGltZXN0YW1wLCBpZGVudGlmaWVyLCBwaWQsCisJCQltZXNzYWdlKTsKKwkJZnJlZSh0aW1lc3RhbXApOworCX0gd2hpbGUgKHNkX2pvdXJuYWxfbmV4dChqKSk7CisKK2RvbmU6CisJZnJlZShtYXRjaCk7CisJc2Rfam91cm5hbF9mbHVzaF9tYXRjaGVzKGopOworCXNkX2pvdXJuYWxfY2xvc2Uoaik7Cit9CisjZW5kaWYKKworc3RhdGljIGludCBwcmludF9wcmV0dHkoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyID0gc2NvbHNfbmV3X2l0ZXIoU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjb2w7CisJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmRhdGE7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCWNvbnN0IGNoYXIgKmhzdHIsICpkc3RyOworCWludCBuID0gMDsKKworCWxuID0gc2NvbHNfdGFibGVfZ2V0X2xpbmUodGFibGUsIDApOworCXdoaWxlICghc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGFibGUsIGl0ciwgJmNvbCkpIHsKKworCQlkYXRhID0gc2NvbHNfbGluZV9nZXRfY2VsbChsbiwgbik7CisKKwkJaHN0ciA9IF8oY29sZGVzY3NbY29sdW1uc1tuXV0ucHJldHR5X25hbWUpOworCQlkc3RyID0gc2NvbHNfY2VsbF9nZXRfZGF0YShkYXRhKTsKKworCQlpZiAoZHN0cikKKwkJCXByaW50ZigiJXM6JSpjJS0zNnNcbiIsIGhzdHIsIDM1IC0gKGludClzdHJsZW4oaHN0ciksICcgJywgZHN0cik7CisJCSsrbjsKKwl9CisKKwlzY29sc19mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gMDsKKworfQorCitzdGF0aWMgaW50IHByaW50X3VzZXJfdGFibGUoc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgKmN0bCkKK3sKKwl0YiA9IHNldHVwX3RhYmxlKGN0bCk7CisJaWYgKCF0YikKKwkJcmV0dXJuIC0xOworCisJdHdhbGsoY3RsLT51c2VydHJlZSwgZmlsbF90YWJsZSk7CisJaWYgKG91dG1vZGUgPT0gT1VUX1BSRVRUWSkgeworCQlwcmludF9wcmV0dHkodGIpOworI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorCQlmcHJpbnRmKHN0ZG91dCwgXygiXG5MYXN0IGxvZ3M6XG4iKSk7CisJCXByaW50X2pvdXJuYWxfdGFpbChjdGwtPmpvdXJuYWxfcGF0aCwgY3RsLT51aWQsIDMsIGN0bC0+dGltZV9tb2RlKTsKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKyNlbmRpZgorCX0gZWxzZQorCQlzY29sc19wcmludF90YWJsZSh0Yik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfdXNlcih2b2lkICpmKQoreworCXN0cnVjdCBsc2xvZ2luc191c2VyICp1ID0gZjsKKwlmcmVlKHUtPmxvZ2luKTsKKwlmcmVlKHUtPmdyb3VwKTsKKwlmcmVlKHUtPmdlY29zKTsKKwlmcmVlKHUtPnNncm91cHMpOworCWZyZWUodS0+cHdkX2N0aW1lKTsKKwlmcmVlKHUtPnB3ZF93YXJuKTsKKwlmcmVlKHUtPnB3ZF9jdGltZV9taW4pOworCWZyZWUodS0+cHdkX2N0aW1lX21heCk7CisJZnJlZSh1LT5sYXN0X2xvZ2luKTsKKwlmcmVlKHUtPmxhc3RfdHR5KTsKKwlmcmVlKHUtPmxhc3RfaG9zdG5hbWUpOworCWZyZWUodS0+ZmFpbGVkX2xvZ2luKTsKKwlmcmVlKHUtPmZhaWxlZF90dHkpOworCWZyZWUodS0+aG9tZWRpcik7CisJZnJlZSh1LT5zaGVsbCk7CisJZnJlZSh1LT5wd2Rfc3RhdHVzKTsKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlmcmVlY29uKHUtPmNvbnRleHQpOworI2VuZGlmCisJZnJlZSh1KTsKK30KKworc3RhdGljIGludCBwYXJzZV90aW1lX21vZGUoY29uc3QgY2hhciAqcykKK3sKKwlzdHJ1Y3QgbHNsb2dpbnNfdGltZWZtdCB7CisJCWNvbnN0IGNoYXIgKm5hbWU7CisJCWNvbnN0IGludCB2YWw7CisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IGxzbG9naW5zX3RpbWVmbXQgdGltZWZtdHNbXSA9IHsKKwkJeyJpc28iLCBUSU1FX0lTT30sCisJCXsiZnVsbCIsIFRJTUVfRlVMTH0sCisJCXsic2hvcnQiLCBUSU1FX1NIT1JUfSwKKwl9OworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodGltZWZtdHMpOyBpKyspIHsKKwkJaWYgKHN0cmNtcCh0aW1lZm10c1tpXS5uYW1lLCBzKSA9PSAwKQorCQkJcmV0dXJuIHRpbWVmbXRzW2ldLnZhbDsKKwl9CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gdGltZSBmb3JtYXQ6ICVzIiksIHMpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1vdXRwdXQtYWxsICAgICAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIiksIG91dCk7CisJZnB1dHMoXygiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNikpOworCisJZnB1dHMoVVNBR0VfQ09MVU1OUywgb3V0KTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjb2xkZXNjcyk7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTE0cyAgJXNcbiIsIGNvbGRlc2NzW2ldLm5hbWUsIF8oY29sZGVzY3NbaV0uaGVscCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJsc2xvZ2lucygxKSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgYzsKKwljaGFyICpsb2dpbnMgPSBOVUxMLCAqZ3JvdXBzID0gTlVMTCwgKm91dGFyZyA9IE5VTEw7CisJY2hhciAqcGF0aF93dG1wID0gX1BBVEhfV1RNUCwgKnBhdGhfYnRtcCA9IF9QQVRIX0JUTVA7CisJc3RydWN0IGxzbG9naW5zX2NvbnRyb2wgKmN0bCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBsc2xvZ2luc19jb250cm9sKSk7CisJc2l6ZV90IGk7CisKKwkvKiBsb25nIG9ubHkgb3B0aW9ucy4gKi8KKwllbnVtIHsKKwkJT1BUX1dUTVAgPSBDSEFSX01BWCArIDEsCisJCU9QVF9CVE1QLAorCQlPUFRfTk9UUlVOQywKKwkJT1BUX05PSEVBRCwKKwkJT1BUX1RJTUVfRk1ULAorCQlPUFRfT1VUUFVUX0FMTCwKKwl9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYWNjLWV4cGlyYXRpb24iLCBub19hcmd1bWVudCwJMCwgJ2EnIH0sCisJCXsgImNvbG9uLXNlcGFyYXRlIiwgbm9fYXJndW1lbnQsCTAsICdjJyB9LAorCQl7ICJleHBvcnQiLCAgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAnZScgfSwKKwkJeyAiZmFpbGVkIiwgICAgICAgICBub19hcmd1bWVudCwJMCwgJ2YnIH0sCisJCXsgImdyb3VwcyIsICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsCTAsICdnJyB9LAorCQl7ICJoZWxwIiwgICAgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAnaCcgfSwKKwkJeyAibG9naW5zIiwgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwJMCwgJ2wnIH0sCisJCXsgInN1cHAtZ3JvdXBzIiwgICAgbm9fYXJndW1lbnQsCTAsICdHJyB9LAorCQl7ICJuZXdsaW5lIiwgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAnbicgfSwKKwkJeyAibm90cnVuY2F0ZSIsICAgICBub19hcmd1bWVudCwJMCwgT1BUX05PVFJVTkMgfSwKKwkJeyAibm9oZWFkaW5ncyIsICAgICBub19hcmd1bWVudCwJMCwgT1BUX05PSEVBRCB9LAorCQl7ICJvdXRwdXQiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkwLCAnbycgfSwKKwkJeyAib3V0cHV0LWFsbCIsICAgICBub19hcmd1bWVudCwJMCwgT1BUX09VVFBVVF9BTEwgfSwKKwkJeyAibGFzdCIsICAgICAgICAgICBub19hcmd1bWVudCwJMCwgJ0wnLCB9LAorCQl7ICJyYXciLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAncicgfSwKKwkJeyAic3lzdGVtLWFjY3MiLCAgICBub19hcmd1bWVudCwJMCwgJ3MnIH0sCisJCXsgInRpbWUtZm9ybWF0IiwgICAgcmVxdWlyZWRfYXJndW1lbnQsCTAsIE9QVF9USU1FX0ZNVCB9LAorCQl7ICJ1c2VyLWFjY3MiLCAgICAgIG5vX2FyZ3VtZW50LAkwLCAndScgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgICBub19hcmd1bWVudCwJMCwgJ1YnIH0sCisJCXsgInB3ZCIsICAgICAgICAgICAgbm9fYXJndW1lbnQsCTAsICdwJyB9LAorCQl7ICJwcmludDAiLCAgICAgICAgIG5vX2FyZ3VtZW50LAkwLCAneicgfSwKKwkJeyAid3RtcC1maWxlIiwgICAgICByZXF1aXJlZF9hcmd1bWVudCwJMCwgT1BUX1dUTVAgfSwKKwkJeyAiYnRtcC1maWxlIiwgICAgICByZXF1aXJlZF9hcmd1bWVudCwJMCwgT1BUX0JUTVAgfSwKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwkJeyAiY29udGV4dCIsICAgICAgICBub19hcmd1bWVudCwJMCwgJ1onIH0sCisjZW5kaWYKKwkJeyBOVUxMLCAgICAgICAgICAgICAwLCAJCQkwLCAgMCAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdHJywgJ28nIH0sCisJCXsgJ0wnLCAnbycgfSwKKwkJeyAnWicsICdvJyB9LAorCQl7ICdhJywgJ28nIH0sCisJCXsgJ2MnLCduJywncicsJ3onIH0sCisJCXsgJ28nLCAncCcgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwljdGwtPnRpbWVfbW9kZSA9IFRJTUVfU0hPUlQ7CisKKwkvKiB2ZXJ5IGJhc2ljIGRlZmF1bHQgKi8KKwlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9VSUQpOworCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1VTRVIpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFjZWZHZzpoTGw6bm86cHJzdVZ6WiIsCisJCQkJbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUFdEX1dBUk4pOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUFdEX0NUSU1FX01JTik7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9QV0RfQ1RJTUVfTUFYKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXRF9DVElNRSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9QV0RfRVhQSVIpOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJb3V0bW9kZSA9IE9VVF9DT0xPTjsKKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCW91dG1vZGUgPSBPVVRfRVhQT1JUOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfRkFJTEVEX0xPR0lOKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0ZBSUxFRF9UVFkpOworCQkJYnJlYWs7CisJCWNhc2UgJ0cnOgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfR0lEKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0dST1VQKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1NHSURTKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1NHUk9VUFMpOworCQkJYnJlYWs7CisJCWNhc2UgJ2cnOgorCQkJZ3JvdXBzID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdMJzoKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0xBU1RfVFRZKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0xBU1RfSE9TVE5BTUUpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTEFTVF9MT0dJTik7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlsb2dpbnMgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlvdXRtb2RlID0gT1VUX05FV0xJTkU7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlpZiAoKm9wdGFyZyA9PSAnPScpCisJCQkJb3B0YXJnKys7CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfT1VUUFVUX0FMTDoKKwkJCWZvciAobmNvbHVtbnMgPSAwOyBuY29sdW1ucyA8IEFSUkFZX1NJWkUoY29sZGVzY3MpOyBuY29sdW1ucysrKQorCQkJCWNvbHVtbnNbbmNvbHVtbnNdID0gbmNvbHVtbnM7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlvdXRtb2RlID0gT1VUX1JBVzsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWN0bC0+U1lTX1VJRF9NSU4gPSBnZXRsb2dpbmRlZnNfbnVtKCJTWVNfVUlEX01JTiIsIFVMX1NZU19VSURfTUlOKTsKKwkJCWN0bC0+U1lTX1VJRF9NQVggPSBnZXRsb2dpbmRlZnNfbnVtKCJTWVNfVUlEX01BWCIsIFVMX1NZU19VSURfTUFYKTsKKwkJCWxzbG9naW5zX2ZsYWcgfD0gRl9TWVNBQzsKKwkJCWJyZWFrOworCQljYXNlICd1JzoKKwkJCWN0bC0+VUlEX01JTiA9IGdldGxvZ2luZGVmc19udW0oIlVJRF9NSU4iLCBVTF9VSURfTUlOKTsKKwkJCWN0bC0+VUlEX01BWCA9IGdldGxvZ2luZGVmc19udW0oIlVJRF9NQVgiLCBVTF9VSURfTUFYKTsKKwkJCWxzbG9naW5zX2ZsYWcgfD0gRl9VU1JBQzsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXREVNUFRZKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXRExPQ0spOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUFdEREVOWSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9OT0xPR0lOKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0hVU0hfU1RBVFVTKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXRE1FVEhPRCk7CisJCQlicmVhazsKKwkJY2FzZSAneic6CisJCQlvdXRtb2RlID0gT1VUX05VTDsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9XVE1QOgorCQkJcGF0aF93dG1wID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JUTVA6CisJCQlwYXRoX2J0bXAgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTk9UUlVOQzoKKwkJCWN0bC0+bm90cnVuYyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTk9IRUFEOgorCQkJY3RsLT5ub2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9USU1FX0ZNVDoKKwkJCWN0bC0+dGltZV9tb2RlID0gcGFyc2VfdGltZV9tb2RlKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ1onOgorCQl7CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJCQlpbnQgc2wgPSBpc19zZWxpbnV4X2VuYWJsZWQoKTsKKwkJCWlmIChzbCA8IDApCisJCQkJd2FybihfKCJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIikpOworCQkJZWxzZQorCQkJCWN0bC0+c2VsaW51eF9lbmFibGVkID0gc2wgPT0gMTsKKyNlbmRpZgorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU0VMSU5VWCk7CisJCQlicmVhazsKKwkJfQorCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKGFyZ2MgLSBvcHRpbmQgPT0gMSkgeworCQlpZiAoc3RyY2hyKGFyZ3Zbb3B0aW5kXSwgJywnKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIikpOworCQlsb2dpbnMgPSBhcmd2W29wdGluZF07CisJCW91dG1vZGUgPSBPVVRfUFJFVFRZOworCX0gZWxzZSBpZiAoYXJnYyAhPSBvcHRpbmQpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIikpOworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCS8qIGxzbG9naW5zIC11IC1zID09IGxzbG9naW5zICovCisJaWYgKGxzbG9naW5zX2ZsYWcgJiBGX1VTUkFDICYmIGxzbG9naW5zX2ZsYWcgJiBGX1NZU0FDKQorCQlsc2xvZ2luc19mbGFnICY9IH4oRl9VU1JBQyB8IEZfU1lTQUMpOworCisJaWYgKG91dG1vZGUgPT0gT1VUX1BSRVRUWSkgeworCQkvKiBhbGwgY29sdW1ucyBmb3IgbHNsb2dpbnMgPHVzZXJuYW1lPiAqLworCQlmb3IgKG5jb2x1bW5zID0gMCwgaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgaSsrKQorCQkJIGNvbHVtbnNbbmNvbHVtbnMrK10gPSBpOworCisJfSBlbHNlIGlmIChuY29sdW1ucyA9PSAyKSB7CisJCS8qIGRlZmF1bHQgY29sdW1tbnMgKi8KKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTlBST0NTKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUFdETE9DSyk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BXRERFTlkpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9MQVNUX0xPR0lOKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfR0VDT1MpOworCX0KKworCWlmIChvdXRhcmcgJiYgc3RyaW5nX2FkZF90b19pZGFycmF5KG91dGFyZywgY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJICZuY29sdW1ucywgY29sdW1uX25hbWVfdG9faWQpIDwgMCkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCWlmIChyZXF1aXJlX3d0bXAoKSkKKwkJcGFyc2Vfd3RtcChjdGwsIHBhdGhfd3RtcCk7CisJaWYgKHJlcXVpcmVfYnRtcCgpKQorCQlwYXJzZV9idG1wKGN0bCwgcGF0aF9idG1wKTsKKworCWlmIChsb2dpbnMgfHwgZ3JvdXBzKQorCQlnZXRfdWxpc3QoY3RsLCBsb2dpbnMsIGdyb3Vwcyk7CisKKwlpZiAoY3JlYXRlX3VzZXJ0cmVlKGN0bCkpCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlwcmludF91c2VyX3RhYmxlKGN0bCk7CisKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJdGRlc3Ryb3koY3RsLT51c2VydHJlZSwgZnJlZV91c2VyKTsKKwlmcmVlX2N0bChjdGwpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL25ld2dycC4xIGIvbG9naW4tdXRpbHMvbmV3Z3JwLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg1YThkMwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL25ld2dycC4xCkBAIC0wLDAgKzEsMzQgQEAKKy5cIiBPcmlnaW5hbCBhdXRob3IgdW5rbm93bi4gIFRoaXMgbWFuIHBhZ2UgaXMgaW4gdGhlIHB1YmxpYyBkb21haW4uCisuXCIgTW9kaWZpZWQgU2F0IE9jdCAgOSAxNzo0Njo0OCAxOTkzIGJ5IGZhaXRoQGNzLnVuYy5lZHUKKy5USCBORVdHUlAgMSAiT2N0b2JlciAxOTkzIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbmV3Z3JwIFwtIGxvZyBpbiB0byBhIG5ldyBncm91cAorLlNIIFNZTk9QU0lTCisuQiBuZXdncnAKKy5SSSBbIGdyb3VwIF0KKy5TSCBERVNDUklQVElPTgorLkIgbmV3Z3JwCitjaGFuZ2VzIHRoZSBncm91cCBpZGVudGlmaWNhdGlvbiBvZiBpdHMgY2FsbGVyLCBhbmFsb2dvdXNseSB0bworLkJSIGxvZ2luICgxKS4KK1RoZSBzYW1lIHBlcnNvbiByZW1haW5zIGxvZ2dlZCBpbiwgYW5kIHRoZSBjdXJyZW50IGRpcmVjdG9yeQoraXMgdW5jaGFuZ2VkLCBidXQgY2FsY3VsYXRpb25zIG9mIGFjY2VzcyBwZXJtaXNzaW9ucyB0byBmaWxlcyBhcmUgcGVyZm9ybWVkCit3aXRoIHJlc3BlY3QgdG8gdGhlIG5ldyBncm91cCBJRC4KKy5MUAorSWYgbm8gZ3JvdXAgaXMgc3BlY2lmaWVkLCB0aGUgR0lEIGlzIGNoYW5nZWQgdG8gdGhlIGxvZ2luIEdJRC4KKy5MUAorLlNIIEZJTEVTCisuSSAvZXRjL2dyb3VwCisuYnIKKy5JIC9ldGMvcGFzc3dkCisKKy5TSCAiU0VFIEFMU08iCisuQlIgbG9naW4gKDEpLAorLkJSIGdyb3VwICg1KQorCisuU0ggQVVUSE9SCitPcmlnaW5hbGx5IGJ5IE1pY2hhZWwgSGFhcmR0LiBDdXJyZW50bHkgbWFpbnRhaW5lZCBieQorUGV0ZXIgT3JiYWVrIChwb2VAZGFpbWkuYWF1LmRrKS4KKworLlNIIEFWQUlMQUJJTElUWQorVGhlIG5ld2dycCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvbmV3Z3JwLmMgYi9sb2dpbi11dGlscy9uZXdncnAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NTM4ODMxCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbmV3Z3JwLmMKQEAgLTAsMCArMSwyNDAgQEAKKy8qIHNldGdycC5jIC0gYnkgTWljaGFlbCBIYWFyZHQuIFNldCB0aGUgZ2lkIGlmIHBvc3NpYmxlCisgKiBBZGRlZCBhIGJpdCBtb3JlIGVycm9yIHJlY292ZXJ5L3JlcG9ydGluZyAtIHBvZQorICogVmVzYSBSb3Vrb25lbiBhZGRlZCBjb2RlIGZvciBhc2tpbmcgcGFzc3dvcmQgKi8KKworLyogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGdycC5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGVybWlvcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaWZkZWYgSEFWRV9DUllQVF9ICisjIGluY2x1ZGUgPGNyeXB0Lmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfR0VUU0dOQU0KKyMgaW5jbHVkZSA8Z3NoYWRvdy5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworc3RhdGljIGNoYXIgKnhnZXRwYXNzKEZJTEUgKmlucHV0LCBjb25zdCBjaGFyICpwcm9tcHQpCit7CisJY2hhciAqcGFzcyA9IE5VTEw7CisJc3RydWN0IHRlcm1pb3Mgc2F2ZWQsIG5vX2VjaG87CisJY29uc3QgaW50IGZkID0gZmlsZW5vKGlucHV0KTsKKwlzaXplX3QgZHVtbXkgPSAwOworCXNzaXplX3QgbGVuOworCisJZnB1dHMocHJvbXB0LCBzdGRvdXQpOworCWlmIChpc2F0dHkoZmQpKSB7CisJCS8qIGRpc2FibGUgZWNobyAqLworCQl0Y2dldGF0dHIoZmQsICZzYXZlZCk7CisJCW5vX2VjaG8gPSBzYXZlZDsKKwkJbm9fZWNoby5jX2xmbGFnICY9IH5FQ0hPOworCQlub19lY2hvLmNfbGZsYWcgfD0gRUNIT05MOworCQlpZiAodGNzZXRhdHRyKGZkLCBUQ1NBTk9XLCAmbm9fZWNobykpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiKSk7CisJfQorCWxlbiA9IGdldGxpbmUoJnBhc3MsICZkdW1teSwgaW5wdXQpOworCWlmIChpc2F0dHkoZmQpKQorCQkvKiByZXN0b3JlIHRlcm1pbmFsICovCisJCWlmICh0Y3NldGF0dHIoZmQsIFRDU0FOT1csICZzYXZlZCkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiKSk7CisJaWYgKGxlbiA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImdldGxpbmUoKSBmYWlsZWQiKSk7CisJaWYgKDAgPCBsZW4gJiYgKihwYXNzICsgbGVuIC0gMSkgPT0gJ1xuJykKKwkJKihwYXNzICsgbGVuIC0gMSkgPSAnXDAnOworCXJldHVybiBwYXNzOworfQorCisjaWZuZGVmIEhBVkVfRVhQTElDSVRfQlpFUk8KKy8qIEVuc3VyZSBtZW1vcnkgaXMgc2V0IHRvIHZhbHVlIGMgd2l0aG91dCBjb21waWxlciBvcHRpbWl6YXRpb24gZ2V0dGluZworICogaW50byB3YXkgdGhhdCBjb3VsZCBoYXBwZW4gd2l0aCBtZW1zZXQoMykuICovCitzdGF0aWMgaW50IHhtZW1zZXRfcyh2b2lkICp2LCBzaXplX3Qgc3osIGNvbnN0IGludCBjKQoreworCXZvbGF0aWxlIHVuc2lnbmVkIGNoYXIgKnAgPSB2OworCisJaWYgKHYgPT0gTlVMTCkKKwkJcmV0dXJuIEVJTlZBTDsKKwl3aGlsZSAoc3otLSkKKwkJKnArKyA9IGM7CisJcmV0dXJuIDA7Cit9CisjZW5kaWYKKworLyogdHJ5IHRvIHJlYWQgcGFzc3dvcmQgZnJvbSBnc2hhZG93ICovCitzdGF0aWMgY2hhciAqZ2V0X2dzaGFkb3dfcHdkKGNvbnN0IGNoYXIgKmdyb3VwbmFtZSkKK3sKKyNpZmRlZiBIQVZFX0dFVFNHTkFNCisJc3RydWN0IHNncnAgKnNncnA7CisKKwlzZ3JwID0gZ2V0c2duYW0oZ3JvdXBuYW1lKTsKKwlyZXR1cm4gc2dycCA/IHhzdHJkdXAoc2dycC0+c2dfcGFzc3dkKSA6IE5VTEw7CisjZWxzZQorCWNoYXIgYnVmW0JVRlNJWl07CisJY2hhciAqcHdkID0gTlVMTDsKKwlGSUxFICpmOworCisJaWYgKGdyb3VwbmFtZSA9PSBOVUxMIHx8ICpncm91cG5hbWUgPT0gJ1wwJykKKwkJcmV0dXJuIE5VTEw7CisKKwlmID0gZm9wZW4oX1BBVEhfR1NIQURPVywgInIiKTsKKwlpZiAoIWYpCisJCXJldHVybiBOVUxMOworCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mIGJ1ZiwgZikpIHsKKwkJY2hhciAqY3AgPSBzdHJjaHIoYnVmLCAnOicpOworCQlpZiAoIWNwKQorCQkJLyogYW55IGp1bmsgaW4gZ3NoYWRvdz8gKi8KKwkJCWNvbnRpbnVlOworCQkqY3AgPSAnXDAnOworCQlpZiAoc3RyY21wKGJ1ZiwgZ3JvdXBuYW1lKSA9PSAwKSB7CisJCQlpZiAoY3AgLSBidWYgPj0gQlVGU0laKQorCQkJCS8qIG9ubHkgZ3JvdXAgbmFtZSBvbiBsaW5lICovCisJCQkJYnJlYWs7CisJCQlwd2QgPSBjcCArIDE7CisJCQlpZiAoKGNwID0gc3RyY2hyKHB3ZCwgJzonKSkgJiYgcHdkID09IGNwICsgMSkKKwkJCQkvKiBlbXB0eSBwYXNzd29yZCAqLworCQkJCXB3ZCA9IE5VTEw7CisJCQllbHNlIGlmIChjcCkKKwkJCQkqY3AgPSAnXDAnOworCQkJYnJlYWs7CisJCX0KKwl9CisJZmNsb3NlKGYpOworCXJldHVybiBwd2QgPyB4c3RyZHVwKHB3ZCkgOiBOVUxMOworI2VuZGlmCS8qIEhBVkVfR0VUU0dOQU0gKi8KK30KKworc3RhdGljIGludCBhbGxvd19zZXRnaWQoY29uc3Qgc3RydWN0IHBhc3N3ZCAqcGUsIGNvbnN0IHN0cnVjdCBncm91cCAqZ2UpCit7CisJY2hhciAqKmxvb2s7CisJaW50IG5vdGZvdW5kID0gMTsKKwljaGFyICpwd2QsICp4cHdkOworCisJaWYgKGdldHVpZCgpID09IDApCisJCS8qIHJvb3QgbWF5IGRvIGFueXRoaW5nICovCisJCXJldHVybiBUUlVFOworCWlmIChnZS0+Z3JfZ2lkID09IHBlLT5wd19naWQpCisJCS8qIFlvdSBjYW4gc3dpdGNoIGJhY2sgdG8geW91ciBkZWZhdWx0IGdyb3VwICovCisJCXJldHVybiBUUlVFOworCisJbG9vayA9IGdlLT5ncl9tZW07CisJd2hpbGUgKCpsb29rICYmIChub3Rmb3VuZCA9IHN0cmNtcCgqbG9vaysrLCBwZS0+cHdfbmFtZSkpKSA7CisKKwlpZiAoIW5vdGZvdW5kKQorCQkvKiBtZW1iZXIgb2YgZ3JvdXAgPT4gT0sgKi8KKwkJcmV0dXJuIFRSVUU7CisKKwkvKiBBc2sgZm9yIHBhc3N3b3JkLiBPZnRlbiB0aGVyZSBpcyBubyBwYXNzd29yZCBpbiAvZXRjL2dyb3VwLCBzbworCSAqIGNvbnRyYXJ5IHRvIGxvZ2luIGV0IGFsLiB3ZSBsZXQgYW4gZW1wdHkgcGFzc3dvcmQgbWVhbiB0aGUgc2FtZQorCSAqIGFzIGluIC9ldGMvcGFzc3dkICovCisKKwkvKiBjaGVjayAvZXRjL2dzaGFkb3cgKi8KKwlpZiAoIShwd2QgPSBnZXRfZ3NoYWRvd19wd2QoZ2UtPmdyX25hbWUpKSkKKwkJcHdkID0gZ2UtPmdyX3Bhc3N3ZDsKKworCWlmIChwd2QgJiYgKnB3ZCAmJiAoeHB3ZCA9IHhnZXRwYXNzKHN0ZGluLCBfKCJQYXNzd29yZDogIikpKSkgeworCQljaGFyICpjYnVmID0gY3J5cHQoeHB3ZCwgcHdkKTsKKworI2lmZGVmIEhBVkVfRVhQTElDSVRfQlpFUk8KKwkJZXhwbGljaXRfYnplcm8oeHB3ZCwgc3RybGVuKHhwd2QpKTsKKyNlbHNlCisJCXhtZW1zZXRfcyh4cHdkLCBzdHJsZW4oeHB3ZCksIDApOworI2VuZGlmCisJCWZyZWUoeHB3ZCk7CisJCWlmICghY2J1ZikKKwkJCXdhcm4oXygiY3J5cHQgZmFpbGVkIikpOworCQllbHNlIGlmIChzdHJjbXAocHdkLCBjYnVmKSA9PSAwKQorCQkJcmV0dXJuIFRSVUU7CisJfQorCisJLyogZGVmYXVsdCB0byBkZW5pYWwgKi8KKwlyZXR1cm4gRkFMU0U7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIDxncm91cD5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoIm5ld2dycCgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHBhc3N3ZCAqcHdfZW50cnk7CisJc3RydWN0IGdyb3VwICpncl9lbnRyeTsKKwljaGFyICpzaGVsbDsKKwlpbnQgY2g7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGNoKSB7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKworCWlmICghKHB3X2VudHJ5ID0gZ2V0cHd1aWQoZ2V0dWlkKCkpKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygid2hvIGFyZSB5b3U/IikpOworCisJaWYgKGFyZ2MgPCAyKSB7CisJCWlmIChzZXRnaWQocHdfZW50cnktPnB3X2dpZCkgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygic2V0Z2lkIGZhaWxlZCIpKTsKKwl9IGVsc2UgeworCQllcnJubyA9IDA7CisJCWlmICghKGdyX2VudHJ5ID0gZ2V0Z3JuYW0oYXJndlsxXSkpKSB7CisJCQlpZiAoZXJybm8pCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygibm8gc3VjaCBncm91cCIpKTsKKwkJCWVsc2UKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gc3VjaCBncm91cCIpKTsKKwkJfQorCQlpZiAoIWFsbG93X3NldGdpZChwd19lbnRyeSwgZ3JfZW50cnkpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInBlcm1pc3Npb24gZGVuaWVkIikpOworCQlpZiAoc2V0Z2lkKGdyX2VudHJ5LT5ncl9naWQpIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oInNldGdpZCBmYWlsZWQiKSk7CisJfQorCisJaWYgKHNldHVpZChnZXR1aWQoKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZXR1aWQgZmFpbGVkIikpOworCisJZmZsdXNoKE5VTEwpOworCXNoZWxsID0gKHB3X2VudHJ5LT5wd19zaGVsbCAmJiAqcHdfZW50cnktPnB3X3NoZWxsID8KKwkJCQlwd19lbnRyeS0+cHdfc2hlbGwgOiBfUEFUSF9CU0hFTEwpOworCWV4ZWNsKHNoZWxsLCBzaGVsbCwgKGNoYXIgKikwKTsKKwllcnJleGVjKHNoZWxsKTsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL25vbG9naW4uOCBiL2xvZ2luLXV0aWxzL25vbG9naW4uOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTU5NDg0Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbm9sb2dpbi44CkBAIC0wLDAgKzEsNTIgQEAKKy5USCBOT0xPR0lOIDggIlNlcHRlbWJlciAyMDEzIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitub2xvZ2luIFwtIHBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luCisuU0ggU1lOT1BTSVMKKy5CIG5vbG9naW4KKy5SQiBbIFwtViBdCisuUkIgWyBcLWggXQorLlNIIERFU0NSSVBUSU9OCisuQiBub2xvZ2luCitkaXNwbGF5cyBhIG1lc3NhZ2UgdGhhdCBhbiBhY2NvdW50IGlzIG5vdCBhdmFpbGFibGUgYW5kIGV4aXRzIG5vbi16ZXJvLiAgSXQgaXMKK2ludGVuZGVkIGFzIGEgcmVwbGFjZW1lbnQgc2hlbGwgZmllbGQgdG8gZGVueSBsb2dpbiBhY2Nlc3MgdG8gYW4gYWNjb3VudC4KKy5QUAorSWYgdGhlIGZpbGUgL2V0Yy9ub2xvZ2luLnR4dCBleGlzdHMsIG5vbG9naW4gZGlzcGxheXMgaXRzIGNvbnRlbnRzIHRvIHRoZQordXNlciBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IG1lc3NhZ2UuCisuUFAKK1RoZSBleGl0IGNvZGUgcmV0dXJuZWQgYnkKKy5CIG5vbG9naW4KK2lzIGFsd2F5cyAxLgorLlBQCisuU0ggT1BUSU9OUworLklQICJcZkJcLWgsIFwtXC1oZWxwXGZQIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuSVAgIlxmQi1WLCBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TSCBOT1RFUworLkIgbm9sb2dpbgoraXMgYSBwZXItYWNjb3VudCB3YXkgdG8gZGlzYWJsZSBsb2dpbiAodXN1YWxseSB1c2VkIGZvciBzeXN0ZW0gYWNjb3VudHMgbGlrZSBodHRwIG9yIGZ0cCkuCisuQlIgbm9sb2dpbiAoOCkKK3VzZXMgL2V0Yy9ub2xvZ2luLnR4dCBhcyBhbiBvcHRpb25hbCBzb3VyY2UgZm9yIGEgbm9uLWRlZmF1bHQgbWVzc2FnZSwgdGhlIGxvZ2luCithY2Nlc3MgaXMgYWx3YXlzIHJlZnVzZWQgaW5kZXBlbmRlbnRseSBvZiB0aGUgZmlsZS4KKy5QUAorLkJSIHBhbV9ub2xvZ2luICg4KQorUEFNIG1vZHVsZSB1c3VhbGx5IHByZXZlbnRzIGFsbCBub24tcm9vdCB1c2VycyBmcm9tIGxvZ2dpbmcgaW50byB0aGUgc3lzdGVtLgorLkJSIHBhbV9ub2xvZ2luICg4KQorZnVuY3Rpb25hbGl0eSBpcyBjb250cm9sbGVkIGJ5IC92YXIvcnVuL25vbG9naW4gb3IgdGhlIC9ldGMvbm9sb2dpbiBmaWxlLgorLlNIIEFVVEhPUlMKKy5VUiBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLlVFCisuU0ggU0VFIEFMU08KKy5CUiBsb2dpbiAoMSksCisuQlIgcGFzc3dkICg1KSwKKy5CUiBwYW1fbm9sb2dpbiAoOCkKKy5TSCBISVNUT1JZCitUaGUKKy5CIG5vbG9naW4KK2NvbW1hbmQgYXBwZWFyZWQgaW4gNC40QlNELgorLlNIIEFWQUlMQUJJTElUWQorVGhlIG5vbG9naW4gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL25vbG9naW4uYyBiL2xvZ2luLXV0aWxzL25vbG9naW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGI2YTcyCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvbm9sb2dpbi5jCkBAIC0wLDAgKzEsODkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCisvKgorICogQWx3YXlzIHJldHVybiBFWElUX0ZBSUxVUkUgKDEpLCBkb24ndCB0cnkgdG8gYmUgc21hcnQhCisgKi8KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCQlfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgibm9sb2dpbig4KSIpKTsKKwlleGl0KEVYSVRfRkFJTFVSRSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IGMsIGZkID0gLTE7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiaGVscCIsICAgIDAsIE5VTEwsICdoJyB9LAorCQl7ICJ2ZXJzaW9uIiwgMCwgTlVMTCwgJ1YnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiaFYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlmZCA9IG9wZW4oX1BBVEhfTk9MT0dJTl9UWFQsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQlnb3RvIGRmbHQ7CisKKwljID0gZnN0YXQoZmQsICZzdCk7CisJaWYgKGMgPCAwIHx8ICFTX0lTUkVHKHN0LnN0X21vZGUpKQorCQlnb3RvIGRmbHQ7CisJZWxzZSB7CisJCWNoYXIgYnVmW0JVRlNJWl07CisJCXNzaXplX3QgcmQ7CisKKwkJd2hpbGUgKChyZCA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKSA+IDApCisJCQlpZ25vcmVfcmVzdWx0KCB3cml0ZShTVERPVVRfRklMRU5PLCBidWYsIHJkKSApOworCisJCWNsb3NlKGZkKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisKK2RmbHQ6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlmcHJpbnRmKHN0ZG91dCwgXygiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIikpOworCXJldHVybiBFWElUX0ZBSUxVUkU7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9ydW51c2VyLjEgYi9sb2dpbi11dGlscy9ydW51c2VyLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBiNmY5YgotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3J1bnVzZXIuMQpAQCAtMCwwICsxLDI0MSBAQAorLlRIIFJVTlVTRVIgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorcnVudXNlciBcLSBydW4gYSBjb21tYW5kIHdpdGggc3Vic3RpdHV0ZSB1c2VyIGFuZCBncm91cCBJRAorLlNIIFNZTk9QU0lTCisuQlIgcnVudXNlciAiIFtvcHRpb25zXSAiIFwtdQorLkkgdXNlcgorLlJJICJbW1wtXC1dICIgY29tbWFuZCAiIFsiYXJndW1lbnQgIi4uLl1dIgorLkxQCisuQlIgcnVudXNlciAiIFtvcHRpb25zXSBbIiBcLSBdCisuUkkgWyB1c2VyICIgWyIgYXJndW1lbnQgIi4uLl1dIgorLlNIIERFU0NSSVBUSU9OCisuQiBydW51c2VyCithbGxvd3MgdG8gcnVuIGNvbW1hbmRzIHdpdGggYSBzdWJzdGl0dXRlIHVzZXIgYW5kIGdyb3VwIElELgorSWYgdGhlIG9wdGlvbiBcZkJcLXVcZlIgaXMgbm90IGdpdmVuLCBpdCBmYWxscyBiYWNrIHRvCisuQlIgc3UgLWNvbXBhdGlibGUKK3NlbWFudGljcyBhbmQgYSBzaGVsbCBpcyBleGVjdXRlZC4KK1RoZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIGNvbW1hbmRzCisuQiBydW51c2VyCithbmQKKy5CIHN1CitpcyB0aGF0CisuQiBydW51c2VyCitkb2VzIG5vdCBhc2sgZm9yIGEgcGFzc3dvcmQgKGJlY2F1c2UgaXQgbWF5IGJlIGV4ZWN1dGVkIGJ5IHRoZSByb290IHVzZXIgb25seSkgYW5kCitpdCB1c2VzIGEgZGlmZmVyZW50IFBBTSBjb25maWd1cmF0aW9uLgorVGhlIGNvbW1hbmQKKy5CIHJ1bnVzZXIKK2RvZXMgbm90IGhhdmUgdG8gYmUgaW5zdGFsbGVkIHdpdGggc2V0LXVzZXItSUQgcGVybWlzc2lvbnMuCisuUFAKK0lmIHRoZSBQQU0gc2Vzc2lvbiBpcyBub3QgcmVxdWlyZWQgdGhlbiByZWNvbW1lbmRlZCBzb2x1dGlvbiBpcyB0byB1c2UKKy5CUiBzZXRwcml2ICgxKQorY29tbWFuZC4KKy5QUAorV2hlbiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsCisuQiBydW51c2VyCitkZWZhdWx0cyB0byBydW5uaW5nIGFuIGludGVyYWN0aXZlIHNoZWxsIGFzCisuSVIgcm9vdCAuCisuUFAKK0ZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LAorLkIgcnVudXNlcgorZGVmYXVsdHMgdG8gbm90IGNoYW5nZSB0aGUgY3VycmVudCBkaXJlY3RvcnkgYW5kIHRvIG9ubHkgc2V0IHRoZQorZW52aXJvbm1lbnQgdmFyaWFibGVzCisuQiBIT01FCithbmQKKy5CIFNIRUxMCisocGx1cworLkIgVVNFUgorYW5kCisuQiBMT0dOQU1FCitpZiB0aGUgdGFyZ2V0CisuSSB1c2VyCitpcyBub3Qgcm9vdCkuCitUaGlzIHZlcnNpb24gb2YKKy5CIHJ1bnVzZXIKK3VzZXMgUEFNIGZvciBzZXNzaW9uIG1hbmFnZW1lbnQuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1jICwgIiBcLVwtY29tbWFuZCIgPSBcZkljb21tYW5kCitQYXNzCisuSSBjb21tYW5kCit0byB0aGUgc2hlbGwgd2l0aCB0aGUKKy5CIFwtYworb3B0aW9uLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZmFzdCIKK1Bhc3MKKy5CIFwtZgordG8gdGhlIHNoZWxsLCB3aGljaCBtYXkgb3IgbWF5IG5vdCBiZSB1c2VmdWwgZGVwZW5kaW5nIG9uIHRoZQorc2hlbGwuCisuVFAKKy5CUiBcLWcgLCAiIFwtXC1ncm91cCIgPSBcZklncm91cAorVGhlIHByaW1hcnkgZ3JvdXAgdG8gYmUgdXNlZC4gIFRoaXMgb3B0aW9uIGlzIGFsbG93ZWQgZm9yIHRoZSByb290IHVzZXIgb25seS4KKy5UUAorLkJSIFwtRyAsICIgXC1cLXN1cHBcLWdyb3VwIiA9IFxmSWdyb3VwCitTcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwLiAgVGhpcyBvcHRpb24gaXMgYXZhaWxhYmxlIHRvIHRoZSByb290IHVzZXIgb25seS4gIFRoZSBmaXJzdCBzcGVjaWZpZWQKK3N1cHBsZW1lbnRhcnkgZ3JvdXAgaXMgYWxzbyB1c2VkIGFzIGEgcHJpbWFyeSBncm91cCBpZiB0aGUgb3B0aW9uIFxmQlwtXC1ncm91cFxmUiBpcyB1bnNwZWNpZmllZC4KKy5UUAorLkJSIFwtICwgIiBcLWwiICwgIiBcLVwtbG9naW4iCitTdGFydCB0aGUgc2hlbGwgYXMgYSBsb2dpbiBzaGVsbCB3aXRoIGFuIGVudmlyb25tZW50IHNpbWlsYXIgdG8gYSByZWFsCitsb2dpbjoKKy5SUyAxMAorLlRQCitvCitjbGVhcnMgYWxsIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZXhjZXB0IGZvcgorLkIgVEVSTQorLlRQCitvCitpbml0aWFsaXplcyB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGVzCisuQlIgSE9NRSAsCisuQlIgU0hFTEwgLAorLkJSIFVTRVIgLAorLkJSIExPR05BTUUgLAorLkIgUEFUSAorLlRQCitvCitjaGFuZ2VzIHRvIHRoZSB0YXJnZXQgdXNlcidzIGhvbWUgZGlyZWN0b3J5CisuVFAKK28KK3NldHMgYXJndlswXSBvZiB0aGUgc2hlbGwgdG8KKy5SQiAnIFwtICcKK2luIG9yZGVyIHRvIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGwKKy5SRQorLlRQCisuQlIgXC1tICwgIiBcLXAiICwgIiBcLVwtcHJlc2VydmVcLWVudmlyb25tZW50IgorUHJlc2VydmUgdGhlIGVudGlyZSBlbnZpcm9ubWVudCwgaS5lLiBpdCBkb2VzIG5vdCBzZXQKKy5CUiBIT01FICwKKy5CUiBTSEVMTCAsCisuQiBVU0VSCitub3IKKy5CUiBMT0dOQU1FIC4KK1RoZSBvcHRpb24gaXMgaWdub3JlZCBpZiB0aGUgb3B0aW9uIFxmQlwtXC1sb2dpblxmUiBpcyBzcGVjaWZpZWQuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaGVsbCIgPSBcZklzaGVsbAorUnVuIHRoZSBzcGVjaWZpZWQgXGZJc2hlbGxcZlIgaW5zdGVhZCBvZiB0aGUgZGVmYXVsdC4gIFRoZSBzaGVsbCB0byBydW4gaXMKK3NlbGVjdGVkIGFjY29yZGluZyB0byB0aGUgZm9sbG93aW5nIHJ1bGVzLCBpbiBvcmRlcjoKKy5SUyAxMAorLlRQCitvCit0aGUgc2hlbGwgc3BlY2lmaWVkIHdpdGgKKy5CIFwtXC1zaGVsbAorLlRQCitvCit0aGUgc2hlbGwgc3BlY2lmaWVkIGluIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLkIgU0hFTEwKK2lmIHRoZQorLkIgXC1cLXByZXNlcnZlXC1lbnZpcm9ubWVudAorb3B0aW9uIGlzIHVzZWQKKy5UUAorbwordGhlIHNoZWxsIGxpc3RlZCBpbiB0aGUgcGFzc3dkIGVudHJ5IG9mIHRoZSB0YXJnZXQgdXNlcgorLlRQCitvCisvYmluL3NoCisuUkUKKy5JUAorSWYgdGhlIHRhcmdldCB1c2VyIGhhcyBhIHJlc3RyaWN0ZWQgc2hlbGwgKGkuZS4gbm90IGxpc3RlZCBpbgorL2V0Yy9zaGVsbHMpIHRoZQorLkIgXC1cLXNoZWxsCitvcHRpb24gYW5kIHRoZQorLkIgU0hFTEwKK2Vudmlyb25tZW50IHZhcmlhYmxlcyBhcmUgaWdub3JlZCB1bmxlc3MgdGhlIGNhbGxpbmcgdXNlciBpcyByb290LgorLlRQCisuQkkgXC1cLXNlc3Npb25cLWNvbW1hbmQ9IGNvbW1hbmQKK1NhbWUgYXMKKy5CIFwtYyAsCitidXQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uLiAgKERpc2NvdXJhZ2VkLikKKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQ09ORklHIEZJTEVTCisuQiBydW51c2VyCityZWFkcyB0aGUKKy5JIC9ldGMvZGVmYXVsdC9ydW51c2VyCithbmQKKy5JIC9ldGMvbG9naW4uZGVmcworY29uZmlndXJhdGlvbiBmaWxlcy4gIFRoZSBmb2xsb3dpbmcgY29uZmlndXJhdGlvbiBpdGVtcyBhcmUgcmVsZXZhbnQKK2ZvcgorLkJSIHJ1bnVzZXIgOgorLlBQCisuQiBFTlZfUEFUSAorKHN0cmluZykKKy5SUyA0CitEZWZpbmVzIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIGZvciBhIHJlZ3VsYXIgdXNlci4gIFRoZQorZGVmYXVsdCB2YWx1ZSBpcworLklSIC91c3IvbG9jYWwvYmluOlw6L2JpbjpcOi91c3IvYmluIC4KKy5SRQorLlBQCisuQiBFTlZfUk9PVFBBVEgKKyhzdHJpbmcpCisuYnIKKy5CIEVOVl9TVVBBVEgKKyhzdHJpbmcpCisuUlMgNAorRGVmaW5lcyB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBmb3Igcm9vdC4gVGhlIGRlZmF1bHQgdmFsdWUgaXMKKy5JUiAvdXNyL2xvY2FsL3NiaW46XDovdXNyL2xvY2FsL2JpbjpcOi9zYmluOlw6L2JpbjpcOi91c3Ivc2JpbjpcOi91c3IvYmluIC4KKy5SRQorLlBQCisuQiBBTFdBWVNfU0VUX1BBVEgKKyhib29sZWFuKQorLlJTIDQKK0lmIHNldCB0bworLkkgeWVzCithbmQgXC1cLWxvZ2luIGFuZCBcLVwtcHJlc2VydmVcLWVudmlyb25tZW50IHdlcmUgbm90IHNwZWNpZmllZAorLkIgcnVudXNlcgoraW5pdGlhbGl6ZXMKKy5CUiBQQVRIIC4KKy5SRQorLlNIIEVYSVQgU1RBVFVTCisuQiBydW51c2VyCitub3JtYWxseSByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgY29tbWFuZCBpdCBleGVjdXRlZC4gIElmIHRoZQorY29tbWFuZCB3YXMga2lsbGVkIGJ5IGEgc2lnbmFsLAorLkIgcnVudXNlcgorcmV0dXJucyB0aGUgbnVtYmVyIG9mIHRoZSBzaWduYWwgcGx1cyAxMjguCisuUFAKK0V4aXQgc3RhdHVzIGdlbmVyYXRlZCBieQorLkIgcnVudXNlcgoraXRzZWxmOgorLlJTIDEwCisuVFAKKzEKK0dlbmVyaWMgZXJyb3IgYmVmb3JlIGV4ZWN1dGluZyB0aGUgcmVxdWVzdGVkIGNvbW1hbmQKKy5UUAorMTI2CitUaGUgcmVxdWVzdGVkIGNvbW1hbmQgY291bGQgbm90IGJlIGV4ZWN1dGVkCisuVFAKKzEyNworVGhlIHJlcXVlc3RlZCBjb21tYW5kIHdhcyBub3QgZm91bmQKKy5SRQorLlNIIEZJTEVTCisuUEQgMAorLlRQIDE3CisvZXRjL3BhbS5kL3J1bnVzZXIKK2RlZmF1bHQgUEFNIGNvbmZpZ3VyYXRpb24gZmlsZQorLlRQCisvZXRjL3BhbS5kL3J1bnVzZXItbAorUEFNIGNvbmZpZ3VyYXRpb24gZmlsZSBpZiBcLVwtbG9naW4gaXMgc3BlY2lmaWVkCisuVFAKKy9ldGMvZGVmYXVsdC9ydW51c2VyCitydW51c2VyIHNwZWNpZmljIGxvZ2luZGVmIGNvbmZpZyBmaWxlCisuVFAKKy9ldGMvbG9naW4uZGVmcworZ2xvYmFsIGxvZ2luZGVmIGNvbmZpZyBmaWxlCisuUEQgMQorLlNIICJTRUUgQUxTTyIKKy5CUiBzZXRwcml2ICgxKSwKKy5CUiBzdSAoMSksCisuQlIgbG9naW4uZGVmcyAoNSksCisuQlIgc2hlbGxzICg1KSwKKy5CUiBwYW0gKDgpCisuU0ggSElTVE9SWQorVGhpcyBcZkIgcnVudXNlclxmUiBjb21tYW5kIHdhcworZGVyaXZlZCBmcm9tIGNvcmV1dGlscycgXGZCc3VcZlIsIHdoaWNoIHdhcyBiYXNlZCBvbiBhbiBpbXBsZW1lbnRhdGlvbiBieQorRGF2aWQgTWFjS2VuemllLCBhbmQgdGhlIEZlZG9yYSBcZkJydW51c2VyXGZSIGNvbW1hbmQgYnkgRGFuIFdhbHNoLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHJ1bnVzZXIgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzCithdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9ydW51c2VyLmMgYi9sb2dpbi11dGlscy9ydW51c2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRmMzdmNAotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3J1bnVzZXIuYwpAQCAtMCwwICsxLDcgQEAKKworI2luY2x1ZGUgInN1LWNvbW1vbi5oIgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJcmV0dXJuIHN1X21haW4oYXJnYywgYXJndiwgUlVOVVNFUl9NT0RFKTsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3NlbGludXhfdXRpbHMuYyBiL2xvZ2luLXV0aWxzL3NlbGludXhfdXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmQ2OTZmCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvc2VsaW51eF91dGlscy5jCkBAIC0wLDAgKzEsMjkgQEAKKyNpbmNsdWRlIDxzZWxpbnV4L2NvbnRleHQuaD4KKyNpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorCisjaW5jbHVkZSAic2VsaW51eF91dGlscy5oIgorCithY2Nlc3NfdmVjdG9yX3QgZ2V0X2FjY2Vzc192ZWN0b3IoY29uc3QgY2hhciAqdGNsYXNzLCBjb25zdCBjaGFyICpvcCkKK3sKKwlzZWN1cml0eV9jbGFzc190IHRjID0gc3RyaW5nX3RvX3NlY3VyaXR5X2NsYXNzKHRjbGFzcyk7CisKKwlyZXR1cm4gdGMgPyBzdHJpbmdfdG9fYXZfcGVybSh0Yywgb3ApIDogMDsKK30KKworaW50IHNldHVwRGVmYXVsdENvbnRleHQoY2hhciAqb3JpZ19maWxlKQoreworCWlmIChpc19zZWxpbnV4X2VuYWJsZWQoKSA+IDApIHsKKwkJc2VjdXJpdHlfY29udGV4dF90IHNjb250ZXh0OworCQlpZiAoZ2V0ZmlsZWNvbihvcmlnX2ZpbGUsICZzY29udGV4dCkgPCAwKQorCQkJcmV0dXJuIDE7CisJCWlmIChzZXRmc2NyZWF0ZWNvbihzY29udGV4dCkgPCAwKSB7CisJCQlmcmVlY29uKHNjb250ZXh0KTsKKwkJCXJldHVybiAxOworCQl9CisJCWZyZWVjb24oc2NvbnRleHQpOworCX0KKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3NlbGludXhfdXRpbHMuaCBiL2xvZ2luLXV0aWxzL3NlbGludXhfdXRpbHMuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjBlZDY2Ci0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvc2VsaW51eF91dGlscy5oCkBAIC0wLDAgKzEsNyBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1NFTElOVVhfVVRJTFNfSAorI2RlZmluZSBVVElMX0xJTlVYX1NFTElOVVhfVVRJTFNfSAorCitleHRlcm4gYWNjZXNzX3ZlY3Rvcl90IGdldF9hY2Nlc3NfdmVjdG9yKGNvbnN0IGNoYXIgKnRjbGFzcywgY29uc3QgY2hhciAqb3ApOworZXh0ZXJuIGludCBzZXR1cERlZmF1bHRDb250ZXh0KGNoYXIgKm9yaWdfZmlsZSk7CisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc2V0cHduYW0uYyBiL2xvZ2luLXV0aWxzL3NldHB3bmFtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYxNmM3OQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3NldHB3bmFtLmMKQEAgLTAsMCArMSwyMTggQEAKKy8qCisgKiAgc2V0cHduYW0uYyAtLSBlZGl0IGFuIGVudHJ5IGluIGEgcGFzc3dvcmQgZGF0YWJhc2UuCisgKgorICogIChjKSAxOTk0IFNhbHZhdG9yZSBWYWxlbnRlIDxzdmFsZW50ZUBtaXQuZWR1PgorICogIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlCisgKiAgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgRWRpdGVkIDExLzEwLzk2IChERC9NTS9ZWSA7LSkgYnkgTmljb2xhaSBMYW5nZmVsZHQgKGphbmxAbWF0aC51aW8ubm8pCisgKiAgdG8gcmVhZCAvZXRjL3Bhc3N3ZCBkaXJlY3RseSBzbyB0aGF0IHBhc3N3ZCwgY2hzaCBhbmQgY2hmbiBjYW4gd29yayBvbgorICogIG1hY2hpbmVzIHRoYXQgcnVuIE5JUyAocHJldmlvdXNseSBZUCkuICBDaGFuZ2VzIHdpbGwgbm90IGJlIG1hZGUgdG8KKyAqICB1c2VybmFtZXMgc3RhcnRpbmcgd2l0aCArLgorICoKKyAqICBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgd2l0aCBubyB3YXJyYW50eS4KKyAqCisgKiAgVXNhZ2U6CisgKiAgMSkgZ2V0IGEgc3RydWN0IHBhc3N3ZCAqIGZyb20gZ2V0cHduYW0oKS4KKyAqICAgICBZb3Ugc2hvdWxkIGFzc3VtZSBhIHN0cnVjdCBwYXNzd2QgaGFzIGFuIGluZmluaXRlIG51bWJlciBvZiBmaWVsZHMsIHNvCisgKiAgICAgeW91IHNob3VsZCBub3QgdHJ5IHRvIGNyZWF0ZSBvbmUgZnJvbSBzY3JhdGNoLgorICogIDIpIGVkaXQgdGhlIGZpZWxkcyB5b3Ugd2FudCB0byBlZGl0LgorICogIDMpIGNhbGwgc2V0cHduYW0oKSB3aXRoIHRoZSBlZGl0ZWQgc3RydWN0IHBhc3N3ZC4KKyAqCisgKiAgQSBfbm9ybWFsIHVzZXJfIHByb2dyYW0gc2hvdWxkIG5ldmVyIGRpcmVjdGx5IG1hbmlwdWxhdGUgZXRjL3Bhc3N3ZCBidXQKKyAqICAvdXNlIGdldHB3bmFtKCkgYW5kIChmYW1pbHksIGFzIHdlbGwgYXMpIHNldHB3bmFtKCkuCisgKgorICogIEJ1dCwgc2V0cHduYW0gd2FzIG1hZGUgdG8gX2VkaXRfIHRoZSBwYXNzd29yZCBmaWxlLiAgRm9yIHVzZSBieSBjaGZuLAorICogIGNoc2ggYW5kIHBhc3N3ZC4gIF9JXyBfSEFWRV8gdG8gcmVhZCBhbmQgd3JpdGUgL2V0Yy9wYXNzd2QgZGlyZWN0bHkuICBMZXQKKyAqICB0aG9zZSB3aG8gc2F5IG5heSBiZSBmb3JldmVyIHNpbGVudCBhbmQgdGhpbmsgYWJvdXQgaG93IGdldHB3bmFtIChhbmQKKyAqICBmYW1pbHkpIHdvcmtzIG9uIGEgbWFjaGluZSBydW5uaW5nIFlQLgorICoKKyAqICBBZGRlZCBjaGVja3MgZm9yIGZhaWx1cmUgb2YgbWFsbG9jKCkgYW5kIHJlbW92ZWQgZXJyb3IgcmVwb3J0aW5nIHRvCisgKiAgc3RkZXJyLCB0aGlzIGlzIGEgbGlicmFyeSBmdW5jdGlvbiBhbmQgc2hvdWxkIG5vdCBwcmludCBvbiB0aGUgc2NyZWVuLAorICogIGJ1dCByZXR1cm4gYXBwcm9wcmlhdGUgZXJyb3IgY29kZXMuCisgKiAgMjctSmFuLTk3ICAtIHBvZUBkYWltaS5hYXUuZGsKKyAqCisgKiAgVGhhbmtzIHRvICJ0d28gZ3V5cyBuYW1lZCBJYW4iLgorICoKKyAqICAgJEF1dGhvcjogcG9lciAkCisgKiAgICRSZXZpc2lvbjogMS4xMyAkCisgKiAgICREYXRlOiAxOTk3LzA2LzIzIDA4OjI2OjI5ICQKKyAqLworCisjdW5kZWYgREVCVUcKKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHNoYWRvdy5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGJvb2wuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJzZXRwd25hbS5oIgorCitzdGF0aWMgdm9pZCBwd19pbml0KHZvaWQpOworCisvKgorICogIHNldHB3bmFtICgpIC0tCisgKgl0YWtlcyBhIHN0cnVjdCBwYXNzd2QgaW4gd2hpY2ggZXZlcnkgZmllbGQgaXMgZmlsbGVkIGluIGFuZCB2YWxpZC4KKyAqCUlmIHRoZSBnaXZlbiB1c2VybmFtZSBleGlzdHMgaW4gdGhlIHBhc3N3ZCBmaWxlLCB0aGUgZW50cnkgaXMKKyAqCXJlcGxhY2VkIHdpdGggdGhlIGdpdmVuIGVudHJ5LgorICovCitpbnQgc2V0cHduYW0oc3RydWN0IHBhc3N3ZCAqcHdkLCBjb25zdCBjaGFyICpwcmVmaXgpCit7CisJRklMRSAqZnAgPSBOVUxMLCAqcHdmID0gTlVMTDsKKwlpbnQgc2F2ZV9lcnJubzsKKwlpbnQgZm91bmQ7CisJaW50IG5hbWVsZW47CisJaW50IGJ1ZmxlbiA9IDI1NjsKKwlpbnQgY29udGxlbiwgcmM7CisJY2hhciAqbGluZWJ1ZiA9IE5VTEw7CisJY2hhciAqdG1wbmFtZSA9IE5VTEw7CisKKwlwd19pbml0KCk7CisKKwlpZiAoKGZwID0geGZta3N0ZW1wKCZ0bXBuYW1lLCAiL2V0YyIsIHByZWZpeCkpID09IE5VTEwpCisJCXJldHVybiAtMTsKKworCS8qIHB0bXAgc2hvdWxkIGJlIG93bmVkIGJ5IHJvb3Qucm9vdCBvciByb290LndoZWVsICovCisJaWYgKGZjaG93bihmaWxlbm8oZnApLCAodWlkX3QpIDAsIChnaWRfdCkgMCkgPCAwKQorCQlnb3RvIGZhaWw7CisKKwkvKiBhY3F1aXJlIGV4Y2x1c2l2ZSBsb2NrICovCisJaWYgKGxja3B3ZGYoKSA8IDApCisJCWdvdG8gZmFpbDsKKwlwd2YgPSBmb3BlbihQQVNTV0RfRklMRSwgInIiKTsKKwlpZiAoIXB3ZikKKwkJZ290byBmYWlsOworCisJbmFtZWxlbiA9IHN0cmxlbihwd2QtPnB3X25hbWUpOworCisJbGluZWJ1ZiA9IG1hbGxvYyhidWZsZW4pOworCWlmICghbGluZWJ1ZikKKwkJZ290byBmYWlsOworCisJLyogcGFyc2UgdGhlIHBhc3N3ZCBmaWxlICovCisJZm91bmQgPSBmYWxzZTsKKworCS8qIERvIHlvdSB3b25kZXIgd2h5IEkgZG9uJ3QgdXNlIGdldHB3ZW50PyBSZWFkIGNvbW1lbnRzIGF0IHRvcCBvZgorCSAqIGZpbGUgKi8KKwl3aGlsZSAoZmdldHMobGluZWJ1ZiwgYnVmbGVuLCBwd2YpICE9IE5VTEwpIHsKKwkJY29udGxlbiA9IHN0cmxlbihsaW5lYnVmKTsKKwkJd2hpbGUgKGxpbmVidWZbY29udGxlbiAtIDFdICE9ICdcbicgJiYgIWZlb2YocHdmKSkgeworCQkJY2hhciAqdG1wOworCQkJLyogRXh0ZW5kIGlucHV0IGJ1ZmZlciBpZiBpdCBmYWlsZWQgZ2V0dGluZyB0aGUgd2hvbGUgbGluZSwKKwkJCSAqIHNvIG5vdyB3ZSBkb3VibGUgdGhlIGJ1ZmZlciBzaXplICovCisJCQlidWZsZW4gKj0gMjsKKwkJCXRtcCA9IHJlYWxsb2MobGluZWJ1ZiwgYnVmbGVuKTsKKwkJCWlmICh0bXAgPT0gTlVMTCkKKwkJCQlnb3RvIGZhaWw7CisJCQlsaW5lYnVmID0gdG1wOworCQkJLyogQW5kIGZpbGwgdGhlIHJlc3Qgb2YgdGhlIGJ1ZmZlciAqLworCQkJaWYgKGZnZXRzKCZsaW5lYnVmW2NvbnRsZW5dLCBidWZsZW4gLyAyLCBwd2YpID09IE5VTEwpCisJCQkJYnJlYWs7CisJCQljb250bGVuID0gc3RybGVuKGxpbmVidWYpOworCQkJLyogVGhhdCB3YXMgYSBsb3Qgb2Ygd29yayBmb3Igbm90aGluZy4gR2ltbWUgcGVybCEgKi8KKwkJfQorCisJCS8qIElzIHRoaXMgdGhlIHVzZXJuYW1lIHdlIHdlcmUgc2VudCB0byBjaGFuZ2U/ICovCisJCWlmICghZm91bmQgJiYgbGluZWJ1ZltuYW1lbGVuXSA9PSAnOicgJiYKKwkJICAgICFzdHJuY21wKGxpbmVidWYsIHB3ZC0+cHdfbmFtZSwgbmFtZWxlbikpIHsKKwkJCS8qIFllcyEgU28gZ28gZm9ydGggaW4gdGhlIG5hbWUgb2YgdGhlIExvcmQgYW5kCisJCQkgKiBjaGFuZ2UgaXQhICAqLworCQkJaWYgKHB1dHB3ZW50KHB3ZCwgZnApIDwgMCkKKwkJCQlnb3RvIGZhaWw7CisJCQlmb3VuZCA9IHRydWU7CisJCQljb250aW51ZTsKKwkJfQorCQkvKiBOb3RoaW5nIGluIHBhcnRpY3VsYXIgaGFwcGVuZWQsIGNvcHkgaW5wdXQgdG8gb3V0cHV0ICovCisJCWZwdXRzKGxpbmVidWYsIGZwKTsKKwl9CisKKwkvKiB4Zm1rc3RlbXAgaXMgdG9vIHJlc3RyaWN0aXZlIGJ5IGRlZmF1bHQgZm9yIHBhc3N3ZCBmaWxlICovCisJaWYgKGZjaG1vZChmaWxlbm8oZnApLCAwNjQ0KSA8IDApCisJCWdvdG8gZmFpbDsKKwlyYyA9IGNsb3NlX3N0cmVhbShmcCk7CisJZnAgPSBOVUxMOworCWlmIChyYyAhPSAwKQorCQlnb3RvIGZhaWw7CisKKwlmY2xvc2UocHdmKTsJLyogSSBkb24ndCB0aGluayBJIHdhbnQgdG8ga25vdyBpZiB0aGlzIGZhaWxlZCAqLworCXB3ZiA9IE5VTEw7CisKKwlpZiAoIWZvdW5kKSB7CisJCWVycm5vID0gRU5PRU5UOwkvKiBnaXZlIG1lIHNvbWV0aGluZyBiZXR0ZXIgKi8KKwkJZ290byBmYWlsOworCX0KKworCS8qIHdlIGRvbid0IGNhcmUgaWYgd2UgY2FuJ3QgcmVtb3ZlIHRoZSBiYWNrdXAgZmlsZSAqLworCXVubGluayhQQVNTV0RfRklMRSAiLk9MRCIpOworCS8qIHdlIGRvbid0IGNhcmUgaWYgd2UgY2FuJ3QgY3JlYXRlIHRoZSBiYWNrdXAgZmlsZSAqLworCWlnbm9yZV9yZXN1bHQobGluayhQQVNTV0RfRklMRSwgUEFTU1dEX0ZJTEUgIi5PTEQiKSk7CisJLyogd2UgRE8gY2FyZSBpZiB3ZSBjYW4ndCByZW5hbWUgdG8gdGhlIHBhc3N3ZCBmaWxlICovCisJaWYgKHJlbmFtZSh0bXBuYW1lLCBQQVNTV0RfRklMRSkgPCAwKQorCQlnb3RvIGZhaWw7CisJLyogZmluYWxseTogIHN1Y2Nlc3MgKi8KKwl1bGNrcHdkZigpOworCWZyZWUobGluZWJ1Zik7CisJcmV0dXJuIDA7CisKKyBmYWlsOgorCXNhdmVfZXJybm8gPSBlcnJubzsKKwl1bGNrcHdkZigpOworCWlmIChmcCAhPSBOVUxMKQorCQlmY2xvc2UoZnApOworCWlmICh0bXBuYW1lICE9IE5VTEwpCisJCXVubGluayh0bXBuYW1lKTsKKwlmcmVlKHRtcG5hbWUpOworCWlmIChwd2YgIT0gTlVMTCkKKwkJZmNsb3NlKHB3Zik7CisJZnJlZShsaW5lYnVmKTsKKwllcnJubyA9IHNhdmVfZXJybm87CisJcmV0dXJuIC0xOworfQorCisvKiBTZXQgdXAgdGhlIGxpbWl0cyBzbyB0aGF0IHdlJ3JlIG5vdCBmb2lsZWQgKi8KK3N0YXRpYyB2b2lkIHB3X2luaXQodm9pZCkKK3sKKwlzdHJ1Y3QgcmxpbWl0IHJsaW07CisKKwkvKiBVbmxpbWl0ZWQgcmVzb3VyY2UgbGltaXRzLiAqLworCXJsaW0ucmxpbV9jdXIgPSBybGltLnJsaW1fbWF4ID0gUkxJTV9JTkZJTklUWTsKKwlzZXRybGltaXQoUkxJTUlUX0NQVSwgJnJsaW0pOworCXNldHJsaW1pdChSTElNSVRfRlNJWkUsICZybGltKTsKKwlzZXRybGltaXQoUkxJTUlUX1NUQUNLLCAmcmxpbSk7CisJc2V0cmxpbWl0KFJMSU1JVF9EQVRBLCAmcmxpbSk7CisJc2V0cmxpbWl0KFJMSU1JVF9SU1MsICZybGltKTsKKworI2lmbmRlZiBERUJVRworCS8qIERvbid0IGRyb3AgY29yZSAobm90IHJlYWxseSBuZWNlc3NhcnksIGJ1dCBHUCdzKS4gKi8KKwlybGltLnJsaW1fY3VyID0gcmxpbS5ybGltX21heCA9IDA7CisJc2V0cmxpbWl0KFJMSU1JVF9DT1JFLCAmcmxpbSk7CisjZW5kaWYKKworCS8qIFR1cm4gb2ZmIHNpZ25hbHMuICovCisJc2lnbmFsKFNJR0FMUk0sIFNJR19JR04pOworCXNpZ25hbChTSUdIVVAsIFNJR19JR04pOworCXNpZ25hbChTSUdJTlQsIFNJR19JR04pOworCXNpZ25hbChTSUdQSVBFLCBTSUdfSUdOKTsKKwlzaWduYWwoU0lHUVVJVCwgU0lHX0lHTik7CisJc2lnbmFsKFNJR1RFUk0sIFNJR19JR04pOworCXNpZ25hbChTSUdUU1RQLCBTSUdfSUdOKTsKKwlzaWduYWwoU0lHVFRPVSwgU0lHX0lHTik7CisKKwkvKiBDcmVhdGUgd2l0aCBleGFjdCBwZXJtaXNzaW9ucy4gKi8KKwl1bWFzaygwKTsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3NldHB3bmFtLmggYi9sb2dpbi11dGlscy9zZXRwd25hbS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk1Nzg1OTIKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zZXRwd25hbS5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiAgc2V0cHduYW0uaCAtLQorICogIGRlZmluZSBzZXZlcmFsIHBhdGhzCisgKgorICogIChjKSAxOTk0IE1hcnRpbiBTY2h1bHplIDxqb2V5QGluZm9kcm9tLm5vcnRoLmRlPgorICogIFRoaXMgZmlsZSBpcyBiYXNlZCBvbiBzZXRwd25hbS5jIHdoaWNoIGlzCisgKiAgKGMpIDE5OTQgU2FsdmF0b3JlIFZhbGVudGUgPHN2YWxlbnRlQG1pdC5lZHU+CisgKgorICogIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiAgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlCisgKiAgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqLworI2lmbmRlZiBVVElMX0xJTlVYX1NFVFBXTkFNX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9TRVRQV05BTV9ICisKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworI2lmbmRlZiBERUJVRworIyBkZWZpbmUgUEFTU1dEX0ZJTEUJX1BBVEhfUEFTU1dECisjIGRlZmluZSBHUk9VUF9GSUxFCV9QQVRIX0dST1VQCisjIGRlZmluZSBTSEFET1dfRklMRQlfUEFUSF9TSEFET1dfUEFTU1dECisjIGRlZmluZSBTR1JPVVBfRklMRQlfUEFUSF9HU0hBRE9XCisjZWxzZQorIyBkZWZpbmUgUEFTU1dEX0ZJTEUJIi90bXAvcGFzc3dkIgorIyBkZWZpbmUgR1JPVVBfRklMRQkiL3RtcC9ncm91cCIKKyMgZGVmaW5lIFNIQURPV19GSUxFCSIvdG1wL3NoYWRvdyIKKyMgZGVmaW5lIFNHUk9VUF9GSUxFCSIvdG1wL2dzaGFkb3ciCisjZW5kaWYKKworZXh0ZXJuIGludCBzZXRwd25hbSAoc3RydWN0IHBhc3N3ZCAqcHdkLCBjb25zdCBjaGFyICpwcmVmaXgpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9TRVRQV05BTV9IICovCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9zdS1jb21tb24uYyBiL2xvZ2luLXV0aWxzL3N1LWNvbW1vbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxYjFhMDQKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zdS1jb21tb24uYwpAQCAtMCwwICsxLDE0MzYgQEAKKy8qCisgKiBzdSgxKSBmb3IgTGludXguICBSdW4gYSBzaGVsbCB3aXRoIHN1YnN0aXR1dGUgdXNlciBhbmQgZ3JvdXAgSURzLgorICoKKyAqIENvcHlyaWdodCAoQykgMTk5Mi0yMDA2IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorICogQ29weXJpZ2h0IChDKSAyMDEyIFNVU0UgTGludXggUHJvZHVjdHMgR21iSCwgTnVlcm5iZXJnCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYtMjAxNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUKKyAqIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyCisgKiB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQgV0lUSE9VVAorICogQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZIG9yCisgKiBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yCisgKiBtb3JlIGRldGFpbHMuICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwKKyAqIFVTQS4KKyAqCisgKgorICogQmFzZWQgb24gYW4gaW1wbGVtZW50YXRpb24gYnkgRGF2aWQgTWFjS2VuemllIDxkam1AZ251LmFpLm1pdC5lZHU+LgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxzZWN1cml0eS9wYW1fYXBwbC5oPgorI2lmZGVmIEhBVkVfU0VDVVJJVFlfUEFNX01JU0NfSAorIyBpbmNsdWRlIDxzZWN1cml0eS9wYW1fbWlzYy5oPgorI2VsaWYgZGVmaW5lZChIQVZFX1NFQ1VSSVRZX09QRU5QQU1fSCkKKyMgaW5jbHVkZSA8c2VjdXJpdHkvb3BlbnBhbS5oPgorI2VuZGlmCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDxzeXNsb2cuaD4KKyNpbmNsdWRlIDx1dG1weC5oPgorCisjaWYgZGVmaW5lZChIQVZFX0xJQlVUSUwpICYmIGRlZmluZWQoSEFWRV9QVFlfSCkgJiYgZGVmaW5lZChIQVZFX1NZU19TSUdOQUxGRF9IKQorIyBpbmNsdWRlIDxwdHkuaD4KKyMgaW5jbHVkZSA8cG9sbC5oPgorIyBpbmNsdWRlIDxzeXMvc2lnbmFsZmQuaD4KKyMgaW5jbHVkZSAiYWxsLWlvLmgiCisjIGRlZmluZSBVU0VfUFRZCisjZW5kaWYKKworI2luY2x1ZGUgImVyci5oIgorCisjaW5jbHVkZSA8c3RkYm9vbC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImVudi5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorI2luY2x1ZGUgInB3ZHV0aWxzLmgiCisKKyNpbmNsdWRlICJsb2dpbmRlZnMuaCIKKyNpbmNsdWRlICJzdS1jb21tb24uaCIKKworI2luY2x1ZGUgImRlYnVnLmgiCisKK1VMX0RFQlVHX0RFRklORV9NQVNLKHN1KTsKK1VMX0RFQlVHX0RFRklORV9NQVNLTkFNRVMoc3UpID0gVUxfREVCVUdfRU1QVFlfTUFTS05BTUVTOworCisjZGVmaW5lIFNVX0RFQlVHX0lOSVQJCSgxIDw8IDEpCisjZGVmaW5lIFNVX0RFQlVHX1BBTQkJKDEgPDwgMikKKyNkZWZpbmUgU1VfREVCVUdfUEFSRU5UCQkoMSA8PCAzKQorI2RlZmluZSBTVV9ERUJVR19UVFkJCSgxIDw8IDQpCisjZGVmaW5lIFNVX0RFQlVHX0xPRwkJKDEgPDwgNSkKKyNkZWZpbmUgU1VfREVCVUdfTUlTQwkJKDEgPDwgNikKKyNkZWZpbmUgU1VfREVCVUdfU0lHCQkoMSA8PCA3KQorI2RlZmluZSBTVV9ERUJVR19QVFkJCSgxIDw8IDgpCisjZGVmaW5lIFNVX0RFQlVHX0FMTAkJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKHN1LCBTVV9ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKHN1LCBTVV9ERUJVR18sIG0sIHgpCisKKworLyogbmFtZSBvZiB0aGUgcGFtIGNvbmZpZ3VyYXRpb24gZmlsZXMuIHNlcGFyYXRlIGNvbmZpZ3MgZm9yIHN1IGFuZCBzdSAtICAqLworI2RlZmluZSBQQU1fU1JWTkFNRV9TVSAic3UiCisjZGVmaW5lIFBBTV9TUlZOQU1FX1NVX0wgInN1LWwiCisKKyNkZWZpbmUgUEFNX1NSVk5BTUVfUlVOVVNFUiAicnVudXNlciIKKyNkZWZpbmUgUEFNX1NSVk5BTUVfUlVOVVNFUl9MICJydW51c2VyLWwiCisKKyNkZWZpbmUgX1BBVEhfTE9HSU5ERUZTX1NVCSIvZXRjL2RlZmF1bHQvc3UiCisjZGVmaW5lIF9QQVRIX0xPR0lOREVGU19SVU5VU0VSICIvZXRjL2RlZmF1bHQvcnVudXNlciIKKworI2RlZmluZSBpc19wYW1fZmFpbHVyZShfcmMpCSgoX3JjKSAhPSBQQU1fU1VDQ0VTUykKKworLyogVGhlIHNoZWxsIHRvIHJ1biBpZiBub25lIGlzIGdpdmVuIGluIHRoZSB1c2VyJ3MgcGFzc3dkIGVudHJ5LiAgKi8KKyNkZWZpbmUgREVGQVVMVF9TSEVMTCAiL2Jpbi9zaCIKKworLyogVGhlIHVzZXIgdG8gYmVjb21lIGlmIG5vbmUgaXMgc3BlY2lmaWVkLiAgKi8KKyNkZWZpbmUgREVGQVVMVF9VU0VSICJyb290IgorCisjaWZuZGVmIEhBVkVfRU5WSVJPTl9ERUNMCitleHRlcm4gY2hhciAqKmVudmlyb247CisjZW5kaWYKKworZW51bSB7CisJU0lHVEVSTV9JRFggPSAwLAorCVNJR0lOVF9JRFgsCisJU0lHUVVJVF9JRFgsCisKKwlTSUdOQUxTX0lEWF9DT1VOVAorfTsKKworLyoKKyAqIHN1L3J1bnVzZXIgY29udHJvbCBzdHJ1Y3QKKyAqLworc3RydWN0IHN1X2NvbnRleHQgeworCXBhbV9oYW5kbGVfdAkqcGFtaDsJCQkvKiBQQU0gaGFuZGxlciAqLworCXN0cnVjdCBwYW1fY29udiBjb252OwkJCS8qIFBBTSBjb252ZXJzYXRpb24gKi8KKworCXN0cnVjdCBwYXNzd2QJKnB3ZDsJCQkvKiBuZXcgdXNlciBpbmZvICovCisJY2hhcgkJKnB3ZGJ1ZjsJCS8qIHB3ZCBzdHJpbmdzICovCisKKwljb25zdCBjaGFyCSp0dHlfbmFtZTsJCS8qIHR0eV9wYXRoIHdpdGhvdXQgL2RldiBwcmVmaXggKi8KKwljb25zdCBjaGFyCSp0dHlfbnVtYmVyOwkJLyogZW5kIG9mIHRoZSB0dHlfcGF0aCAqLworCisJY2hhcgkJKm5ld191c2VyOwkJLyogd2FudGVkIHVzZXIgKi8KKwljaGFyCQkqb2xkX3VzZXI7CQkvKiBvcmlnaW5hbCB1c2VyICovCisKKwlwaWRfdAkJY2hpbGQ7CQkJLyogZm9yaygpIGJhYnkgKi8KKwlpbnQJCWNoaWxkc3RhdHVzOwkJLyogd2FpdCgpIHN0YXR1cyAqLworCisJc3RydWN0IHNpZ2FjdGlvbiBvbGRhY3RbU0lHTkFMU19JRFhfQ09VTlRdOwkvKiBvcmlnaW5hbCBzaWdhY3Rpb25zIGluZGV4ZWQgYnkgU0lHKl9JRFggKi8KKworI2lmZGVmIFVTRV9QVFkKKwlzdHJ1Y3QgdGVybWlvcwlzdGRpbl9hdHRyczsJCS8qIHN0ZGluIGFuZCBzbGF2ZSB0ZXJtaW5hbCBydW50aW1lIGF0dHJpYnV0ZXMgKi8KKwlpbnQJCXB0eV9tYXN0ZXI7CisJaW50CQlwdHlfc2xhdmU7CisJaW50CQlwdHlfc2lnZmQ7CQkvKiBzaWduYWxmZCgpICovCisJaW50CQlwb2xsX3RpbWVvdXQ7CisJc3RydWN0IHdpbnNpemUJd2luOwkJCS8qIHRlcm1pbmFsIHdpbmRvdyBzaXplICovCisJc2lnc2V0X3QJb2xkc2lnOwkJCS8qIG9yaWdpbmFsIHNpZ25hbCBtYXNrICovCisjZW5kaWYKKwl1bnNpZ25lZCBpbnQgcnVudXNlciA6MSwJCS8qIGZsYXNlPXN1LCB0cnVlPXJ1bnVzZXIgKi8KKwkJICAgICBydW51c2VyX3VvcHQgOjEsCQkvKiBydW51c2VyIC11IHNwZWNpZmllZCAqLworCQkgICAgIGlzdGVybSA6MSwJCQkvKiBpcyBzdGRpbiB0ZXJtaW5hbD8gKi8KKwkJICAgICBmYXN0X3N0YXJ0dXAgOjEsCQkvKiBwYXNzIHRoZSBgLWYnIG9wdGlvbiB0byB0aGUgc3Vic2hlbGwuICovCisJCSAgICAgc2ltdWxhdGVfbG9naW4gOjEsCQkvKiBzaW11bGF0ZSBhIGxvZ2luIGluc3RlYWQgb2YganVzdCBzdGFydGluZyBhIHNoZWxsLiAqLworCQkgICAgIGNoYW5nZV9lbnZpcm9ubWVudCA6MSwJLyogY2hhbmdlIHNvbWUgZW52aXJvbm1lbnQgdmFycyB0byBpbmRpY2F0ZSB0aGUgdXNlciBzdSdkIHRvLiovCisJCSAgICAgc2FtZV9zZXNzaW9uIDoxLAkJLyogZG9uJ3QgY2FsbCBzZXRzaWQoKSB3aXRoIGEgY29tbWFuZC4gKi8KKwkJICAgICBzdXBwcmVzc19wYW1faW5mbzoxLAkvKiBkb24ndCBwcmludCBQQU0gaW5mbyBtZXNzYWdlcyAoTGFzdCBsb2dpbiwgZXRjLikuICovCisJCSAgICAgcGFtX2hhc19zZXNzaW9uIDoxLAkvKiBQQU0gc2Vzc2lvbiBvcGVuZWQgKi8KKwkJICAgICBwYW1faGFzX2NyZWQgOjEsCQkvKiBQQU0gY3JlZCBlc3RhYmxpc2hlZCAqLworCQkgICAgIHB0eSA6MSwJCQkvKiBjcmVhdGUgcHNldWRvLXRlcm1pbmFsICovCisJCSAgICAgcmVzdHJpY3RlZCA6MTsJCS8qIGZhbHNlIGZvciByb290IHVzZXIgKi8KK307CisKKworc3RhdGljIHNpZ19hdG9taWNfdCB2b2xhdGlsZSBjYXVnaHRfc2lnbmFsID0gZmFsc2U7CisKKy8qIFNpZ25hbCBoYW5kbGVyIGZvciBwYXJlbnQgcHJvY2Vzcy4gICovCitzdGF0aWMgdm9pZAorc3VfY2F0Y2hfc2lnKGludCBzaWcpCit7CisJY2F1Z2h0X3NpZ25hbCA9IHNpZzsKK30KKworc3RhdGljIHZvaWQgc3VfaW5pdF9kZWJ1Zyh2b2lkKQoreworCV9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVihzdSwgU1VfREVCVUdfLCAwLCBTVV9ERUJVRyk7Cit9CisKK3N0YXRpYyB2b2lkIGluaXRfdHR5KHN0cnVjdCBzdV9jb250ZXh0ICpzdSkKK3sKKwlzdS0+aXN0ZXJtID0gaXNhdHR5KFNURElOX0ZJTEVOTykgPyAxIDogMDsKKwlEQkcoVFRZLCB1bF9kZWJ1ZygiaW5pdGlhbGl6ZSBbaXMtdGVybT0lc10iLCBzdS0+aXN0ZXJtID8gInRydWUiIDogImZhbHNlIikpOworCWlmIChzdS0+aXN0ZXJtKQorCQlnZXRfdGVybWluYWxfbmFtZShOVUxMLCAmc3UtPnR0eV9uYW1lLCAmc3UtPnR0eV9udW1iZXIpOworfQorCisvKgorICogTm90ZSwgdGhpcyBmdW5jdGlvbiBoYXMgdG8gYmUgcG9zc2libGUgY2FsbCBtb3JlIHRoYW4gb25jZS4gSWYgdGhlIGNoaWxkIGlzCisgKiBhbHJlYWR5IGRlYWQgdGhhbiBpdCByZXR1cm5zIHNhdmVkIHJlc3VsdCBmcm9tIHRoZSBwcmV2aW91cyBjYWxsLgorICovCitzdGF0aWMgaW50IHdhaXRfZm9yX2NoaWxkKHN0cnVjdCBzdV9jb250ZXh0ICpzdSkKK3sKKwlwaWRfdCBwaWQgPSAocGlkX3QpIC0xOzsKKwlpbnQgc3RhdHVzID0gMDsKKworCWlmIChzdS0+Y2hpbGQgPT0gKHBpZF90KSAtMSkKKwkJcmV0dXJuIHN1LT5jaGlsZHN0YXR1czsKKworCWlmIChzdS0+Y2hpbGQgIT0gKHBpZF90KSAtMSkgeworCQkvKgorCQkgKiBUaGUgInN1IiBwYXJlbnQgcHJvY2VzcyBzcGVuZHMgYWxsIHRpbWUgaGVyZSBpbiB3YWl0cGlkKCksCisJCSAqIGJ1dCAic3UgLS1wdHkiIHVzZXMgcHR5X3Byb3h5X21hc3RlcigpIGFuZCB3YWl0cGlkKCkgaXMgb25seQorCQkgKiBjYWxsZWQgdG8gcGljayB1cCBjaGlsZCBzdGF0dXMgb3IgdG8gcmVhY3QgdG8gU0lHU1RPUC4KKwkJICovCisJCURCRyhTSUcsIHVsX2RlYnVnKCJ3YWl0aW5nIGZvciBjaGlsZCBbJWRdLi4uIiwgc3UtPmNoaWxkKSk7CisJCWZvciAoOzspIHsKKwkJCXBpZCA9IHdhaXRwaWQoc3UtPmNoaWxkLCAmc3RhdHVzLCBXVU5UUkFDRUQpOworCisJCQlpZiAocGlkICE9IChwaWRfdCkgLSAxICYmIFdJRlNUT1BQRUQoc3RhdHVzKSkgeworCQkJCURCRyhTSUcsIHVsX2RlYnVnKCIgY2hpbGQgZ290IFNJR1NUT1AgLS0gc3RvcCBhbGwgc2Vzc2lvbiIpKTsKKwkJCQlraWxsKGdldHBpZCgpLCBTSUdTVE9QKTsKKwkJCQkvKiBvbmNlIHdlIGdldCBoZXJlLCB3ZSBtdXN0IGhhdmUgcmVzdW1lZCAqLworCQkJCWtpbGwocGlkLCBTSUdDT05UKTsKKwkJCQlEQkcoU0lHLCB1bF9kZWJ1ZygiIHNlc3Npb24gcmVzdW1lZCAtLSBjb250aW51ZSIpKTsKKyNpZmRlZiBVU0VfUFRZCisJCQkJLyogTGV0J3MgZ28gYmFjayB0byBwdHlfcHJveHlfbWFzdGVyKCkgKi8KKwkJCQlpZiAoc3UtPnB0eV9zaWdmZCAhPSAtMSkgeworCQkJCQlEQkcoU0lHLCB1bF9kZWJ1ZygiIGxlYXZpbmcgb24gY2hpbGQgU0lHU1RPUCIpKTsKKwkJCQkJcmV0dXJuIDA7CisJCQkJfQorI2VuZGlmCisJCQl9IGVsc2UKKwkJCQlicmVhazsKKwkJfQorCX0KKwlpZiAocGlkICE9IChwaWRfdCkgLTEpIHsKKwkJaWYgKFdJRlNJR05BTEVEKHN0YXR1cykpIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiJXMlc1xuIiwKKwkJCQlzdHJzaWduYWwoV1RFUk1TSUcoc3RhdHVzKSksCisJCQkJV0NPUkVEVU1QKHN0YXR1cykgPyBfKCIgKGNvcmUgZHVtcGVkKSIpCisJCQkJOiAiIik7CisJCQlzdGF0dXMgPSBXVEVSTVNJRyhzdGF0dXMpICsgMTI4OworCQl9IGVsc2UKKwkJCXN0YXR1cyA9IFdFWElUU1RBVFVTKHN0YXR1cyk7CisKKwkJREJHKFNJRywgdWxfZGVidWcoImNoaWxkICVkIGlzIGRlYWQiLCBzdS0+Y2hpbGQpKTsKKwkJc3UtPmNoaWxkID0gKHBpZF90KSAtMTsJLyogRG9uJ3QgdXNlIHRoZSBQSUQgYW55bW9yZSEgKi8KKwkJc3UtPmNoaWxkc3RhdHVzID0gc3RhdHVzOworCX0gZWxzZSBpZiAoY2F1Z2h0X3NpZ25hbCkKKwkJc3RhdHVzID0gY2F1Z2h0X3NpZ25hbCArIDEyODsKKwllbHNlCisJCXN0YXR1cyA9IDE7CisKKwlEQkcoU0lHLCB1bF9kZWJ1ZygiY2hpbGQgc3RhdHVzPSVkIiwgc3RhdHVzKSk7CisJcmV0dXJuIHN0YXR1czsKK30KKworCisjaWZkZWYgVVNFX1BUWQorc3RhdGljIHZvaWQgcHR5X2luaXRfc2xhdmUoc3RydWN0IHN1X2NvbnRleHQgKnN1KQoreworCURCRyhQVFksIHVsX2RlYnVnKCJpbml0aWFsaXplIHNsYXZlIikpOworCisJaW9jdGwoc3UtPnB0eV9zbGF2ZSwgVElPQ1NDVFRZLCAxKTsKKwljbG9zZShzdS0+cHR5X21hc3Rlcik7CisKKwlkdXAyKHN1LT5wdHlfc2xhdmUsIFNURElOX0ZJTEVOTyk7CisJZHVwMihzdS0+cHR5X3NsYXZlLCBTVERPVVRfRklMRU5PKTsKKwlkdXAyKHN1LT5wdHlfc2xhdmUsIFNUREVSUl9GSUxFTk8pOworCisJY2xvc2Uoc3UtPnB0eV9zbGF2ZSk7CisJY2xvc2Uoc3UtPnB0eV9zaWdmZCk7CisKKwlzdS0+cHR5X3NsYXZlID0gLTE7CisJc3UtPnB0eV9tYXN0ZXIgPSAtMTsKKwlzdS0+cHR5X3NpZ2ZkID0gLTE7CisKKwlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJnN1LT5vbGRzaWcsIE5VTEwpOworCisJREJHKFBUWSwgdWxfZGVidWcoIi4uLiBpbml0aWFsaXplIHNsYXZlIGRvbmUiKSk7Cit9CisKK3N0YXRpYyB2b2lkIHB0eV9jcmVhdGUoc3RydWN0IHN1X2NvbnRleHQgKnN1KQoreworCXN0cnVjdCB0ZXJtaW9zIHNsYXZlX2F0dHJzOworCWludCByYzsKKworCWlmIChzdS0+aXN0ZXJtKSB7CisJICAgICAgICBEQkcoUFRZLCB1bF9kZWJ1ZygiY3JlYXRlIGZvciB0ZXJtaW5hbCIpKTsKKwkJc3RydWN0IHdpbnNpemUgd2luOworCisJCS8qIG9yaWdpbmFsIHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgdGVybWluYWwgKi8KKwkJaWYgKHRjZ2V0YXR0cihTVERJTl9GSUxFTk8sICZzdS0+c3RkaW5fYXR0cnMpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiKSk7CisKKwkJLyogcmV1c2UgdGhlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZyBmb3Igc2xhdmUgKi8KKwkJc2xhdmVfYXR0cnMgPSBzdS0+c3RkaW5fYXR0cnM7CisJCWNmbWFrZXJhdygmc2xhdmVfYXR0cnMpOworCisJCWlvY3RsKFNURElOX0ZJTEVOTywgVElPQ0dXSU5TWiwgKGNoYXIgKikmc3UtPndpbik7CisKKwkJLyogY3JlYXRlIG1hc3RlcitzbGF2ZSAqLworCQlyYyA9IG9wZW5wdHkoJnN1LT5wdHlfbWFzdGVyLCAmc3UtPnB0eV9zbGF2ZSwgTlVMTCwgJnNsYXZlX2F0dHJzLCAmd2luKTsKKworCX0gZWxzZSB7CisJICAgICAgICBEQkcoUFRZLCB1bF9kZWJ1ZygiY3JlYXRlIGZvciBub24tdGVybWluYWwiKSk7CisJCXJjID0gb3BlbnB0eSgmc3UtPnB0eV9tYXN0ZXIsICZzdS0+cHR5X3NsYXZlLCBOVUxMLCBOVUxMLCBOVUxMKTsKKworCQkvKiBzZXQgc2xhdmUgYXR0cmlidXRlcyAqLworCQlpZiAoIXJjKSB7CisJCQl0Y2dldGF0dHIoc3UtPnB0eV9zbGF2ZSwgJnNsYXZlX2F0dHJzKTsKKwkJCWNmbWFrZXJhdygmc2xhdmVfYXR0cnMpOworCQkJdGNzZXRhdHRyKHN1LT5wdHlfc2xhdmUsIFRDU0FOT1csICZzbGF2ZV9hdHRycyk7CisJCX0KKwl9CisKKwlpZiAocmMgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIpKTsKKworCURCRyhQVFksIHVsX2RlYnVnKCJwdHkgc2V0dXAgZG9uZSBbbWFzdGVyPSVkLCBzbGF2ZT0lZF0iLCBzdS0+cHR5X21hc3Rlciwgc3UtPnB0eV9zbGF2ZSkpOworfQorCitzdGF0aWMgdm9pZCBwdHlfY2xlYW51cChzdHJ1Y3Qgc3VfY29udGV4dCAqc3UpCit7CisJaWYgKHN1LT5wdHlfbWFzdGVyID09IC0xKQorCQlyZXR1cm47CisKKwlEQkcoUFRZLCB1bF9kZWJ1ZygiY2xlYW51cCIpKTsKKwlpZiAoc3UtPmlzdGVybSkKKwkJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQURSQUlOLCAmc3UtPnN0ZGluX2F0dHJzKTsKK30KKworc3RhdGljIGludCB3cml0ZV9vdXRwdXQoY2hhciAqb2J1Ziwgc3NpemVfdCBieXRlcykKK3sKKwlEQkcoUFRZLCB1bF9kZWJ1ZygiIHdyaXRpbmcgb3V0cHV0IikpOworCisJaWYgKHdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBvYnVmLCBieXRlcykpIHsKKwkJREJHKFBUWSwgdWxfZGVidWcoIiAgd3JpdGluZyBvdXRwdXQgKmZhaWxlZCoiKSk7CisJCXdhcm4oXygid3JpdGUgZmFpbGVkIikpOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdyaXRlX3RvX2NoaWxkKHN0cnVjdCBzdV9jb250ZXh0ICpzdSwKKwkJCSAgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJcmV0dXJuIHdyaXRlX2FsbChzdS0+cHR5X21hc3RlciwgYnVmLCBidWZzeik7Cit9CisKKy8qCisgKiBUaGUgc3UoMSkgaXMgdXN1YWxseSBmYXN0ZXIgdGhhbiBzaGVsbCwgc28gaXQncyBhIGdvb2QgaWRlYSB0byB3YWl0IHVudGlsCisgKiB0aGUgcHJldmlvdXMgbWVzc2FnZSBoYXMgYmVlbiBhbHJlYWR5IHJlYWQgYnkgc2hlbGwgZnJvbSBzbGF2ZSBiZWZvcmUgd2UKKyAqIHdyaXRlIHRvIG1hc3Rlci4gVGhpcyBpcyBuZWNlc3NhcnkgZXNwZWNpYWxseSBmb3IgRU9GIHNpdHVhdGlvbiB3aGVuIHdlIGNhbgorICogc2VuZCBFT0YgdG8gbWFzdGVyIGJlZm9yZSBzaGVsbCBpcyBmdWxseSBpbml0aWFsaXplZCwgdG8gd29ya2Fyb3VuZCB0aGlzCisgKiBwcm9ibGVtIHdlIHdhaXQgdW50aWwgc2xhdmUgaXMgZW1wdHkuIEZvciBleGFtcGxlOgorICoKKyAqICAgZWNobyAiZGF0ZSIgfCBzdQorICoKKyAqIFVuZm9ydHVuYXRlbHksIHRoZSBjaGlsZCAodXN1YWxseSBzaGVsbCkgY2FuIGlnbm9yZSBzdGRpbiBhdCBhbGwsIHNvIHdlCisgKiBkb24ndCB3YWl0IGZvcmV2ZXIgdG8gYXZvaWQgZGVhZCBsb2Nrcy4uLgorICoKKyAqIE5vdGUgdGhhdCBzdSAtLXB0eSBpcyBwcmltYXJpbHkgZGVzaWduZWQgZm9yIGludGVyYWN0aXZlIHNlc3Npb25zIGFzIGl0CisgKiBtYWludGFpbnMgbWFzdGVyK3NsYXZlIHR0eSBzdHVmZiB3aXRoaW4gdGhlIHNlc3Npb24uIFVzZSBwaXBlIHRvIHdyaXRlIHRvCisgKiBzdSgxKSBhbmQgYXNzdW1lIG5vbi1pbnRlcmFjdGl2ZSAodGVlLWxpa2UpIGJlaGF2aW9yIGlzIE5PVCB3ZWxsCisgKiBzdXBwb3J0ZWQuCisgKi8KK3N0YXRpYyB2b2lkIHdyaXRlX2VvZl90b19jaGlsZChzdHJ1Y3Qgc3VfY29udGV4dCAqc3UpCit7CisJdW5zaWduZWQgaW50IHRyaWVzID0gMDsKKwlzdHJ1Y3QgcG9sbGZkIGZkc1tdID0geworCSAgICAgICAgICAgeyAuZmQgPSBzdS0+cHR5X3NsYXZlLCAuZXZlbnRzID0gUE9MTElOIH0KKwl9OworCWNoYXIgYyA9IERFRl9FT0Y7CisKKwlEQkcoUFRZLCB1bF9kZWJ1ZygiIHdhaXRpbmcgZm9yIGVtcHR5IHNsYXZlIikpOworCXdoaWxlIChwb2xsKGZkcywgMSwgMTApID09IDEgJiYgdHJpZXMgPCA4KSB7CisJCURCRyhQVFksIHVsX2RlYnVnKCIgICBzbGF2ZSBpcyBub3QgZW1wdHkiKSk7CisJCXh1c2xlZXAoMjUwMDAwKTsKKwkJdHJpZXMrKzsKKwl9CisJaWYgKHRyaWVzIDwgOCkKKwkJREJHKFBUWSwgdWxfZGVidWcoIiAgIHNsYXZlIGlzIGVtcHR5IG5vdyIpKTsKKworCURCRyhQVFksIHVsX2RlYnVnKCIgc2VuZGluZyBFT0YgdG8gbWFzdGVyIikpOworCXdyaXRlX3RvX2NoaWxkKHN1LCAmYywgc2l6ZW9mKGNoYXIpKTsKK30KKworc3RhdGljIGludCBwdHlfaGFuZGxlX2lvKHN0cnVjdCBzdV9jb250ZXh0ICpzdSwgaW50IGZkLCBpbnQgKmVvZikKK3sKKwljaGFyIGJ1ZltCVUZTSVpdOworCXNzaXplX3QgYnl0ZXM7CisKKwlEQkcoUFRZLCB1bF9kZWJ1ZygiJWQgRkQgYWN0aXZlIiwgZmQpKTsKKwkqZW9mID0gMDsKKworCS8qIHJlYWQgZnJvbSBhY3RpdmUgRkQgKi8KKwlieXRlcyA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWlmIChieXRlcyA8IDApIHsKKwkJaWYgKGVycm5vID09IEVBR0FJTiB8fCBlcnJubyA9PSBFSU5UUikKKwkJCXJldHVybiAwOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCWlmIChieXRlcyA9PSAwKSB7CisJCSplb2YgPSAxOworCQlyZXR1cm4gMDsKKwl9CisKKwkvKiBmcm9tIHN0ZGluICh1c2VyKSB0byBjb21tYW5kICovCisJaWYgKGZkID09IFNURElOX0ZJTEVOTykgeworCQlEQkcoUFRZLCB1bF9kZWJ1ZygiIHN0ZGluIC0tPiBtYXN0ZXIgJXpkIGJ5dGVzIiwgYnl0ZXMpKTsKKworCQlpZiAod3JpdGVfdG9fY2hpbGQoc3UsIGJ1ZiwgYnl0ZXMpKSB7CisJCQl3YXJuKF8oIndyaXRlIGZhaWxlZCIpKTsKKwkJCXJldHVybiAtZXJybm87CisJCX0KKwkJLyogd2l0aG91dCBzeW5jIHdyaXRlX291dHB1dCgpIHdpbGwgd3JpdGUgYm90aCBpbnB1dCAmCisJCSAqIHNoZWxsIG91dHB1dCB0aGF0IGxvb2tzIGxpa2UgZG91YmxlIGVjaG9pbmcgKi8KKwkJZmRhdGFzeW5jKHN1LT5wdHlfbWFzdGVyKTsKKworCS8qIGZyb20gY29tbWFuZCAobWFzdGVyKSB0byBzdGRvdXQgKi8KKwl9IGVsc2UgaWYgKGZkID09IHN1LT5wdHlfbWFzdGVyKSB7CisJCURCRyhQVFksIHVsX2RlYnVnKCIgbWFzdGVyIC0tPiBzdGRvdXQgJXpkIGJ5dGVzIiwgYnl0ZXMpKTsKKwkJd3JpdGVfb3V0cHV0KGJ1ZiwgYnl0ZXMpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHB0eV9oYW5kbGVfc2lnbmFsKHN0cnVjdCBzdV9jb250ZXh0ICpzdSwgaW50IGZkKQoreworCXN0cnVjdCBzaWduYWxmZF9zaWdpbmZvIGluZm87CisJc3NpemVfdCBieXRlczsKKworCURCRyhTSUcsIHVsX2RlYnVnKCJzaWduYWwgRkQgJWQgYWN0aXZlIiwgZmQpKTsKKworCWJ5dGVzID0gcmVhZChmZCwgJmluZm8sIHNpemVvZihpbmZvKSk7CisJaWYgKGJ5dGVzICE9IHNpemVvZihpbmZvKSkgeworCQlpZiAoYnl0ZXMgPCAwICYmIChlcnJubyA9PSBFQUdBSU4gfHwgZXJybm8gPT0gRUlOVFIpKQorCQkJcmV0dXJuIDA7CisJCXJldHVybiAtZXJybm87CisJfQorCisJc3dpdGNoIChpbmZvLnNzaV9zaWdubykgeworCWNhc2UgU0lHQ0hMRDoKKwkJREJHKFNJRywgdWxfZGVidWcoIiBnZXQgc2lnbmFsIFNJR0NITEQiKSk7CisKKwkJLyogVGhlIGNoaWxkIHRlcm1pbmF0ZWQgb3Igc3RvcHBlZC4gTm90ZSB0aGF0IHdlIGlnbm9yZSBTSUdDT05UCisJCSAqIGhlcmUsIGJlY2F1c2Ugc3RvcC9jb250IHNlbWFudGljIGlzIGhhbmRsZWQgYnkgd2FpdF9mb3JfY2hpbGQoKSAqLworCQlpZiAoaW5mby5zc2lfY29kZSA9PSBDTERfRVhJVEVEIHx8IGluZm8uc3NpX3N0YXR1cyA9PSBTSUdTVE9QKQorCQkJd2FpdF9mb3JfY2hpbGQoc3UpOworCQkvKiBUaGUgY2hpbGQgaXMgZGVhZCwgZm9yY2UgcG9sbCgpIHRpbWVvdXQuICovCisJCWlmIChzdS0+Y2hpbGQgPT0gKHBpZF90KSAtMSkKKwkJCXN1LT5wb2xsX3RpbWVvdXQgPSAxMDsKKwkJcmV0dXJuIDA7CisJY2FzZSBTSUdXSU5DSDoKKwkJREJHKFNJRywgdWxfZGVidWcoIiBnZXQgc2lnbmFsIFNJR1dJTkNIIikpOworCQlpZiAoc3UtPmlzdGVybSkgeworCQkJaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DR1dJTlNaLCAoY2hhciAqKSZzdS0+d2luKTsKKwkJCWlvY3RsKHN1LT5wdHlfc2xhdmUsIFRJT0NTV0lOU1osIChjaGFyICopJnN1LT53aW4pOworCQl9CisJCWJyZWFrOworCWNhc2UgU0lHVEVSTToKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIFNJR0lOVDoKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIFNJR1FVSVQ6CisJCURCRyhTSUcsIHVsX2RlYnVnKCIgZ2V0IHNpZ25hbCBTSUd7VEVSTSxJTlQsUVVJVH0iKSk7CisJCWNhdWdodF9zaWduYWwgPSBpbmZvLnNzaV9zaWdubzsKKyAgICAgICAgICAgICAgICAvKiBDaGlsZCB0ZXJtaW5hdGlvbiBpcyBnb2luZyB0byBnZW5lcmF0ZSBTSUdDSElMRCAoc2VlIGFib3ZlKSAqLworICAgICAgICAgICAgICAgIGtpbGwoc3UtPmNoaWxkLCBTSUdURVJNKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcHR5X3Byb3h5X21hc3RlcihzdHJ1Y3Qgc3VfY29udGV4dCAqc3UpCit7CisJc2lnc2V0X3Qgb3Vyc2V0OworCWludCByYyA9IDAsIHJldCwgZW9mID0gMDsKKwllbnVtIHsKKwkJUE9MTEZEX1NJR05BTCA9IDAsCisJCVBPTExGRF9NQVNURVIsCisJCVBPTExGRF9TVERJTgorCisJfTsKKwlzdHJ1Y3QgcG9sbGZkIHBmZFtdID0geworCQlbUE9MTEZEX1NJR05BTF0gPSB7IC5mZCA9IC0xLAkJICAuZXZlbnRzID0gUE9MTElOIHwgUE9MTEVSUiB8IFBPTExIVVAgfSwKKwkJW1BPTExGRF9NQVNURVJdID0geyAuZmQgPSBzdS0+cHR5X21hc3RlciwgLmV2ZW50cyA9IFBPTExJTiB8IFBPTExFUlIgfCBQT0xMSFVQIH0sCisJCVtQT0xMRkRfU1RESU5dCT0geyAuZmQgPSBTVERJTl9GSUxFTk8sICAgLmV2ZW50cyA9IFBPTExJTiB8IFBPTExFUlIgfCBQT0xMSFVQIH0KKwl9OworCisJLyogZm9yIFBUWSBtb2RlIHdlIHVzZSBzaWduYWxmZAorCSAqCisJICogVE9ETzogc2NyaXB0KDEpIGluaXRpYWxpemVzIHRoaXMgRkQgYmVmb3JlIGZvcmssIGdvb2Qgb3IgYmFkIGlkZWE/CisJICovCisJc2lnZmlsbHNldCgmb3Vyc2V0KTsKKwlpZiAoc2lncHJvY21hc2soU0lHX0JMT0NLLCAmb3Vyc2V0LCBOVUxMKSkgeworCQl3YXJuKF8oImNhbm5vdCBibG9jayBzaWduYWxzIikpOworCQljYXVnaHRfc2lnbmFsID0gdHJ1ZTsKKwkJcmV0dXJuOworCX0KKworCXNpZ2VtcHR5c2V0KCZvdXJzZXQpOworCXNpZ2FkZHNldCgmb3Vyc2V0LCBTSUdDSExEKTsKKwlzaWdhZGRzZXQoJm91cnNldCwgU0lHV0lOQ0gpOworCXNpZ2FkZHNldCgmb3Vyc2V0LCBTSUdBTFJNKTsKKwlzaWdhZGRzZXQoJm91cnNldCwgU0lHVEVSTSk7CisJc2lnYWRkc2V0KCZvdXJzZXQsIFNJR0lOVCk7CisJc2lnYWRkc2V0KCZvdXJzZXQsIFNJR1FVSVQpOworCisJaWYgKChzdS0+cHR5X3NpZ2ZkID0gc2lnbmFsZmQoLTEsICZvdXJzZXQsIFNGRF9DTE9FWEVDKSkgPCAwKSB7CisJCXdhcm4oKCJjYW5ub3QgY3JlYXRlIHNpZ25hbCBmaWxlIGRlc2NyaXB0b3IiKSk7CisJCWNhdWdodF9zaWduYWwgPSB0cnVlOworCQlyZXR1cm47CisJfQorCisJcGZkW1BPTExGRF9TSUdOQUxdLmZkID0gc3UtPnB0eV9zaWdmZDsKKwlzdS0+cG9sbF90aW1lb3V0ID0gLTE7CisKKwl3aGlsZSAoIWNhdWdodF9zaWduYWwpIHsKKwkJc2l6ZV90IGk7CisJCWludCBlcnJzdjsKKworCQlEQkcoUFRZLCB1bF9kZWJ1ZygiY2FsbGluZyBwb2xsKCkiKSk7CisKKwkJLyogd2FpdCBmb3IgaW5wdXQgb3Igc2lnbmFsICovCisJCXJldCA9IHBvbGwocGZkLCBBUlJBWV9TSVpFKHBmZCksIHN1LT5wb2xsX3RpbWVvdXQpOworCQllcnJzdiA9IGVycm5vOworCQlEQkcoUFRZLCB1bF9kZWJ1ZygicG9sbCgpIHJjPSVkIiwgcmV0KSk7CisKKwkJaWYgKHJldCA8IDApIHsKKwkJCWlmIChlcnJzdiA9PSBFQUdBSU4pCisJCQkJY29udGludWU7CisJCQl3YXJuKF8oInBvbGwgZmFpbGVkIikpOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKHJldCA9PSAwKSB7CisJCQlEQkcoUFRZLCB1bF9kZWJ1ZygibGVhdmluZyBwb2xsKCkgbG9vcCBbdGltZW91dD0lZF0iLCBzdS0+cG9sbF90aW1lb3V0KSk7CisJCQlicmVhazsKKwkJfQorCisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHBmZCk7IGkrKykgeworCQkJcmMgPSAwOworCisJCQlpZiAocGZkW2ldLnJldmVudHMgPT0gMCkKKwkJCQljb250aW51ZTsKKworCQkJREJHKFBUWSwgdWxfZGVidWcoIiBhY3RpdmUgcGZkWyVzXS5mZD0lZCAlcyAlcyAlcyIsCisJCQkJCQlpID09IFBPTExGRF9TVERJTiAgPyAic3RkaW4iIDoKKwkJCQkJCWkgPT0gUE9MTEZEX01BU1RFUiA/ICJtYXN0ZXIiIDoKKwkJCQkJCWkgPT0gUE9MTEZEX1NJR05BTCA/ICJzaWduYWwiIDogIj8/PyIsCisJCQkJCQlwZmRbaV0uZmQsCisJCQkJCQlwZmRbaV0ucmV2ZW50cyAmIFBPTExJTiAgPyAiUE9MTElOIiA6ICIiLAorCQkJCQkJcGZkW2ldLnJldmVudHMgJiBQT0xMSFVQID8gIlBPTExIVVAiIDogIiIsCisJCQkJCQlwZmRbaV0ucmV2ZW50cyAmIFBPTExFUlIgPyAiUE9MTEVSUiIgOiAiIikpOworCQkJc3dpdGNoIChpKSB7CisJCQljYXNlIFBPTExGRF9TVERJTjoKKwkJCWNhc2UgUE9MTEZEX01BU1RFUjoKKwkJCQkvKiBkYXRhICovCisJCQkJaWYgKHBmZFtpXS5yZXZlbnRzICYgUE9MTElOKQorCQkJCQlyYyA9IHB0eV9oYW5kbGVfaW8oc3UsIHBmZFtpXS5mZCwgJmVvZik7CisJCQkJLyogRU9GIG1heWJlIGRldGVjdGVkIGJ5IHR3byB3YXlzOgorCQkJCSAqCUEpIHBvbGwoKSByZXR1cm4gUE9MTEhVUCBldmVudCBhZnRlciBjbG9zZSgpCisJCQkJICoJQikgcmVhZCgpIHJldHVybnMgMCAobm8gZGF0YSkgKi8KKwkJCQlpZiAoKHBmZFtpXS5yZXZlbnRzICYgUE9MTEhVUCkgfHwgZW9mKSB7CisJCQkJCURCRyhQVFksIHVsX2RlYnVnKCIgaWdub3JlIEZEIikpOworCQkJCQlwZmRbaV0uZmQgPSAtMTsKKwkJCQkJaWYgKGkgPT0gUE9MTEZEX1NURElOKSB7CisJCQkJCQl3cml0ZV9lb2ZfdG9fY2hpbGQoc3UpOworCQkJCQkJREJHKFBUWSwgdWxfZGVidWcoIiAgaWdub3JlIFNURElOIikpOworCQkJCQl9CisJCQkJfQorCQkJCWNvbnRpbnVlOworCQkJY2FzZSBQT0xMRkRfU0lHTkFMOgorCQkJCXJjID0gcHR5X2hhbmRsZV9zaWduYWwoc3UsIHBmZFtpXS5mZCk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAocmMpCisJCQkJYnJlYWs7CisJCX0KKwl9CisKKwljbG9zZShzdS0+cHR5X3NpZ2ZkKTsKKwlzdS0+cHR5X3NpZ2ZkID0gLTE7CisJREJHKFBUWSwgdWxfZGVidWcoInBvbGwoKSBkb25lIFtzaWduYWw9JWQsIHJjPSVkXSIsIGNhdWdodF9zaWduYWwsIHJjKSk7Cit9CisjZW5kaWYgLyogVVNFX1BUWSAqLworCisKKy8qIExvZyB0aGUgZmFjdCB0aGF0IHNvbWVvbmUgaGFzIHJ1biBzdSB0byB0aGUgdXNlciBnaXZlbiBieSBQVzsKKyAgIGlmIFNVQ0NFU1NGVUwgaXMgdHJ1ZSwgdGhleSBnYXZlIHRoZSBjb3JyZWN0IHBhc3N3b3JkLCBldGMuICAqLworCitzdGF0aWMgdm9pZCBsb2dfc3lzbG9nKHN0cnVjdCBzdV9jb250ZXh0ICpzdSwgYm9vbCBzdWNjZXNzZnVsKQoreworCURCRyhMT0csIHVsX2RlYnVnKCJzeXNsb2cgbG9nZ2luZyIpKTsKKworCW9wZW5sb2cocHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsIDAsIExPR19BVVRIKTsKKwlzeXNsb2coTE9HX05PVElDRSwgIiVzKHRvICVzKSAlcyBvbiAlcyIsCisJICAgICAgIHN1Y2Nlc3NmdWwgPyAiIiA6CisJICAgICAgIHN1LT5ydW51c2VyID8gIkZBSUxFRCBSVU5VU0VSICIgOiAiRkFJTEVEIFNVICIsCisJICAgICAgIHN1LT5uZXdfdXNlciwgc3UtPm9sZF91c2VyID8gOiAiIiwKKwkgICAgICAgc3UtPnR0eV9uYW1lID8gOiAibm9uZSIpOworCWNsb3NlbG9nKCk7Cit9CisKKy8qCisgKiBMb2cgZmFpbGVkIGxvZ2luIGF0dGVtcHRzIGluIF9QQVRIX0JUTVAgaWYgdGhhdCBleGlzdHMuCisgKi8KK3N0YXRpYyB2b2lkIGxvZ19idG1wKHN0cnVjdCBzdV9jb250ZXh0ICpzdSkKK3sKKwlzdHJ1Y3QgdXRtcHggdXQ7CisJc3RydWN0IHRpbWV2YWwgdHY7CisKKwlEQkcoTE9HLCB1bF9kZWJ1ZygiYnRtcCBsb2dnaW5nIikpOworCisJbWVtc2V0KCZ1dCwgMCwgc2l6ZW9mKHV0KSk7CisJc3RybmNweSh1dC51dF91c2VyLAorCQlzdS0+cHdkICYmIHN1LT5wd2QtPnB3X25hbWUgPyBzdS0+cHdkLT5wd19uYW1lIDogIih1bmtub3duKSIsCisJCXNpemVvZih1dC51dF91c2VyKSk7CisKKwlpZiAoc3UtPnR0eV9udW1iZXIpCisJCXhzdHJuY3B5KHV0LnV0X2lkLCBzdS0+dHR5X251bWJlciwgc2l6ZW9mKHV0LnV0X2lkKSk7CisJaWYgKHN1LT50dHlfbmFtZSkKKwkJeHN0cm5jcHkodXQudXRfbGluZSwgc3UtPnR0eV9uYW1lLCBzaXplb2YodXQudXRfbGluZSkpOworCisJZ2V0dGltZW9mZGF5KCZ0diwgTlVMTCk7CisJdXQudXRfdHYudHZfc2VjID0gdHYudHZfc2VjOworCXV0LnV0X3R2LnR2X3VzZWMgPSB0di50dl91c2VjOworCXV0LnV0X3R5cGUgPSBMT0dJTl9QUk9DRVNTOwkvKiBYWFggZG9lc24ndCBtYXR0ZXIgKi8KKwl1dC51dF9waWQgPSBnZXRwaWQoKTsKKworCXVwZHd0bXB4KF9QQVRIX0JUTVAsICZ1dCk7Cit9CisKK3N0YXRpYyBpbnQgc3VwYW1fY29udigJaW50IG51bV9tc2csCisJCQljb25zdCBzdHJ1Y3QgcGFtX21lc3NhZ2UgKiptc2csCisJCQlzdHJ1Y3QgcGFtX3Jlc3BvbnNlICoqcmVzcCwKKwkJCXZvaWQgKmRhdGEpCit7CisJc3RydWN0IHN1X2NvbnRleHQgKnN1ID0gKHN0cnVjdCBzdV9jb250ZXh0ICopIGRhdGE7CisKKwlpZiAoc3UtPnN1cHByZXNzX3BhbV9pbmZvCisJICAgICYmIG51bV9tc2cgPT0gMQorCSAgICAmJiBtc2cgJiYgbXNnWzBdLT5tc2dfc3R5bGUgPT0gUEFNX1RFWFRfSU5GTykKKwkJcmV0dXJuIFBBTV9TVUNDRVNTOworCisjaWZkZWYgSEFWRV9TRUNVUklUWV9QQU1fTUlTQ19ICisJcmV0dXJuIG1pc2NfY29udihudW1fbXNnLCBtc2csIHJlc3AsIGRhdGEpOworI2VsaWYgZGVmaW5lZChIQVZFX1NFQ1VSSVRZX09QRU5QQU1fSCkKKwlyZXR1cm4gb3BlbnBhbV90dHljb252KG51bV9tc2csIG1zZywgcmVzcCwgZGF0YSk7CisjZW5kaWYKK30KKworc3RhdGljIHZvaWQgc3VwYW1fY2xlYW51cChzdHJ1Y3Qgc3VfY29udGV4dCAqc3UsIGludCByZXRjb2RlKQoreworCWNvbnN0IGludCBlcnJzdiA9IGVycm5vOworCisJREJHKFBBTSwgdWxfZGVidWcoImNsZWFudXAiKSk7CisKKwlpZiAoc3UtPnBhbV9oYXNfc2Vzc2lvbikKKwkJcGFtX2Nsb3NlX3Nlc3Npb24oc3UtPnBhbWgsIDApOworCWlmIChzdS0+cGFtX2hhc19jcmVkKQorCQlwYW1fc2V0Y3JlZChzdS0+cGFtaCwgUEFNX0RFTEVURV9DUkVEIHwgUEFNX1NJTEVOVCk7CisJcGFtX2VuZChzdS0+cGFtaCwgcmV0Y29kZSk7CisJZXJybm8gPSBlcnJzdjsKK30KKworCitzdGF0aWMgdm9pZCBzdXBhbV9leHBvcnRfZW52aXJvbm1lbnQoc3RydWN0IHN1X2NvbnRleHQgKnN1KQoreworCWNoYXIgKiplbnY7CisKKwlEQkcoUEFNLCB1bF9kZWJ1ZygiaW5pdCBlbnZpcm9uW10iKSk7CisKKwkvKiBUaGlzIGlzIGEgY29weSBidXQgZG9uJ3QgY2FyZSB0byBmcmVlIGFzIHdlIGV4ZWMgbGF0ZXIgYW55d2F5cy4gICovCisJZW52ID0gcGFtX2dldGVudmxpc3Qoc3UtPnBhbWgpOworCisJd2hpbGUgKGVudiAmJiAqZW52KSB7CisJCWlmIChwdXRlbnYoKmVudikgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBtb2RpZnkgZW52aXJvbm1lbnQiKSk7CisJCWVudisrOworCX0KK30KKworc3RhdGljIHZvaWQgc3VwYW1fYXV0aGVudGljYXRlKHN0cnVjdCBzdV9jb250ZXh0ICpzdSkKK3sKKwljb25zdCBjaGFyICpzcnZuYW1lID0gTlVMTDsKKwlpbnQgcmM7CisKKwlzcnZuYW1lID0gc3UtPnJ1bnVzZXIgPworCQkgICAoc3UtPnNpbXVsYXRlX2xvZ2luID8gUEFNX1NSVk5BTUVfUlVOVVNFUl9MIDogUEFNX1NSVk5BTUVfUlVOVVNFUikgOgorCQkgICAoc3UtPnNpbXVsYXRlX2xvZ2luID8gUEFNX1NSVk5BTUVfU1VfTCA6IFBBTV9TUlZOQU1FX1NVKTsKKworCURCRyhQQU0sIHVsX2RlYnVnKCJzdGFydCBbbmFtZTogJXNdIiwgc3J2bmFtZSkpOworCisJcmMgPSBwYW1fc3RhcnQoc3J2bmFtZSwgc3UtPnB3ZC0+cHdfbmFtZSwgJnN1LT5jb252LCAmc3UtPnBhbWgpOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCWdvdG8gZG9uZTsKKworCWlmIChzdS0+dHR5X25hbWUpIHsKKwkJcmMgPSBwYW1fc2V0X2l0ZW0oc3UtPnBhbWgsIFBBTV9UVFksIHN1LT50dHlfbmFtZSk7CisJCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCQlnb3RvIGRvbmU7CisJfQorCWlmIChzdS0+b2xkX3VzZXIpIHsKKwkJcmMgPSBwYW1fc2V0X2l0ZW0oc3UtPnBhbWgsIFBBTV9SVVNFUiwgKGNvbnN0IHZvaWQgKikgc3UtPm9sZF91c2VyKTsKKwkJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkKKwkJCWdvdG8gZG9uZTsKKwl9CisJaWYgKHN1LT5ydW51c2VyKSB7CisJCS8qCisJCSAqIFRoaXMgaXMgdGhlIG9ubHkgZGlmZmVyZW5jZSBiZXR3ZWVuIHJ1bnVzZXIoMSkgYW5kIHN1KDEpLiBUaGUgY29tbWFuZAorCQkgKiBydW51c2VyKDEpIGRvZXMgbm90IHJlcXVpcmVkIGF1dGhlbnRpY2F0aW9uLCBiZWNhdXNlIHVzZXIgaXMgcm9vdC4KKwkJICovCisJCWlmIChzdS0+cmVzdHJpY3RlZCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiKSk7CisJCXJldHVybjsKKwl9CisKKwlyYyA9IHBhbV9hdXRoZW50aWNhdGUoc3UtPnBhbWgsIDApOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCWdvdG8gZG9uZTsKKworCS8qIENoZWNrIHBhc3N3b3JkIGV4cGlyYXRpb24gYW5kIG9mZmVyIG9wdGlvbiB0byBjaGFuZ2UgaXQuICAqLworCXJjID0gcGFtX2FjY3RfbWdtdChzdS0+cGFtaCwgMCk7CisJaWYgKHJjID09IFBBTV9ORVdfQVVUSFRPS19SRVFEKQorCQlyYyA9IHBhbV9jaGF1dGh0b2soc3UtPnBhbWgsIFBBTV9DSEFOR0VfRVhQSVJFRF9BVVRIVE9LKTsKKyBkb25lOgorCWxvZ19zeXNsb2coc3UsICFpc19wYW1fZmFpbHVyZShyYykpOworCisJaWYgKGlzX3BhbV9mYWlsdXJlKHJjKSkgeworCQljb25zdCBjaGFyICptc2c7CisKKwkJREJHKFBBTSwgdWxfZGVidWcoImF1dGhlbnRpY2F0aW9uIGZhaWxlZCIpKTsKKwkJbG9nX2J0bXAoc3UpOworCisJCW1zZyA9IHBhbV9zdHJlcnJvcihzdS0+cGFtaCwgcmMpOworCQlwYW1fZW5kKHN1LT5wYW1oLCByYyk7CisJCXNsZWVwKGdldGxvZ2luZGVmc19udW0oIkZBSUxfREVMQVkiLCAxKSk7CisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXMiLCBtc2cgPyBtc2cgOiBfKCJpbmNvcnJlY3QgcGFzc3dvcmQiKSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBzdXBhbV9vcGVuX3Nlc3Npb24oc3RydWN0IHN1X2NvbnRleHQgKnN1KQoreworCWludCByYzsKKworCURCRyhQQU0sIHVsX2RlYnVnKCJvcGVuaW5nIHNlc3Npb24iKSk7CisKKwlyYyA9IHBhbV9vcGVuX3Nlc3Npb24oc3UtPnBhbWgsIDApOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpIHsKKwkJc3VwYW1fY2xlYW51cChzdSwgcmMpOworCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiKSwKKwkJICAgICBwYW1fc3RyZXJyb3Ioc3UtPnBhbWgsIHJjKSk7CisJfSBlbHNlCisJCXN1LT5wYW1faGFzX3Nlc3Npb24gPSAxOworfQorCitzdGF0aWMgdm9pZCBwYXJlbnRfc2V0dXBfc2lnbmFscyhzdHJ1Y3Qgc3VfY29udGV4dCAqc3UpCit7CisJc2lnc2V0X3Qgb3Vyc2V0OworCisJLyoKKwkgKiBTaWduYWxzIHNldHVwCisJICoKKwkgKiAxKSBibG9jayBhbGwgc2lnbmFscworCSAqLworCURCRyhTSUcsIHVsX2RlYnVnKCJpbml0aWFsaXplIHNpZ25hbHMiKSk7CisKKwlzaWdmaWxsc2V0KCZvdXJzZXQpOworCWlmIChzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZvdXJzZXQsIE5VTEwpKSB7CisJCXdhcm4oXygiY2Fubm90IGJsb2NrIHNpZ25hbHMiKSk7CisJCWNhdWdodF9zaWduYWwgPSB0cnVlOworCX0KKworCWlmICghY2F1Z2h0X3NpZ25hbCkgeworCQlzdHJ1Y3Qgc2lnYWN0aW9uIGFjdGlvbjsKKwkJYWN0aW9uLnNhX2hhbmRsZXIgPSBzdV9jYXRjaF9zaWc7CisJCXNpZ2VtcHR5c2V0KCZhY3Rpb24uc2FfbWFzayk7CisJCWFjdGlvbi5zYV9mbGFncyA9IDA7CisKKwkJc2lnZW1wdHlzZXQoJm91cnNldCk7CisKKwkJLyogMmEpIGFkZCB3YW50ZWQgc2lnbmFscyB0byB0aGUgbWFzayAoZm9yIHNlc3Npb24pICovCisJCWlmICghc3UtPnNhbWVfc2Vzc2lvbgorCQkgICAgJiYgKHNpZ2FkZHNldCgmb3Vyc2V0LCBTSUdJTlQpCisJCSAgICAgICB8fCBzaWdhZGRzZXQoJm91cnNldCwgU0lHUVVJVCkpKSB7CisKKwkJCXdhcm4oXygiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iKSk7CisJCQljYXVnaHRfc2lnbmFsID0gdHJ1ZTsKKwkJfQorCQkvKiAyYikgYWRkIHdhbnRlZCBnZW5lcmljIHNpZ25hbHMgdG8gdGhlIG1hc2sgKi8KKwkJaWYgKCFjYXVnaHRfc2lnbmFsCisJCSAgICAmJiAoc2lnYWRkc2V0KCZvdXJzZXQsIFNJR1RFUk0pCisJCSAgICAgICB8fCBzaWdhZGRzZXQoJm91cnNldCwgU0lHQUxSTSkpKSB7CisKKwkJCXdhcm4oXygiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siKSk7CisJCQljYXVnaHRfc2lnbmFsID0gdHJ1ZTsKKwkJfQorCisJCS8qIDNhKSBzZXQgc2lnbmFsIGhhbmRsZXJzIChmb3Igc2Vzc2lvbikgKi8KKwkJaWYgKCFjYXVnaHRfc2lnbmFsCisJCSAgICAmJiAhc3UtPnNhbWVfc2Vzc2lvbgorCQkgICAgJiYgKHNpZ2FjdGlvbihTSUdJTlQsICZhY3Rpb24sICZzdS0+b2xkYWN0W1NJR0lOVF9JRFhdKQorCQkgICAgICAgfHwgc2lnYWN0aW9uKFNJR1FVSVQsICZhY3Rpb24sICZzdS0+b2xkYWN0W1NJR1FVSVRfSURYXSkpKSB7CisKKwkJCXdhcm4oXygiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciBmb3Igc2Vzc2lvbiIpKTsKKwkJCWNhdWdodF9zaWduYWwgPSB0cnVlOworCQl9CisKKwkJLyogM2IpIHNldCBzaWduYWwgaGFuZGxlcnMgKi8KKwkJaWYgKCFjYXVnaHRfc2lnbmFsCisJCSAgICAgJiYgc2lnYWN0aW9uKFNJR1RFUk0sICZhY3Rpb24sICZzdS0+b2xkYWN0W1NJR1RFUk1fSURYXSkpIHsKKworCQkJd2FybihfKCJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIikpOworCQkJY2F1Z2h0X3NpZ25hbCA9IHRydWU7CisJCX0KKworCQkvKiA0KSB1bmJsb2NrIHdhbnRlZCBzaWduYWxzICovCisJCWlmICghY2F1Z2h0X3NpZ25hbAorCQkgICAgJiYgc2lncHJvY21hc2soU0lHX1VOQkxPQ0ssICZvdXJzZXQsIE5VTEwpKSB7CisKKwkJCXdhcm4oXygiY2Fubm90IHNldCBzaWduYWwgbWFzayIpKTsKKwkJCWNhdWdodF9zaWduYWwgPSB0cnVlOworCQl9CisJfQorfQorCisKK3N0YXRpYyB2b2lkIGNyZWF0ZV93YXRjaGluZ19wYXJlbnQoc3RydWN0IHN1X2NvbnRleHQgKnN1KQoreworCWludCBzdGF0dXM7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoImZvcmtpbmcuLi4iKSk7CisjaWZkZWYgVVNFX1BUWQorCS8qIG5vLW9wLCBqdXN0IHNhdmUgb3JpZ2luYWwgc2lnbmFsIG1hc2sgdG8gb2xkc2lnICovCisJc2lncHJvY21hc2soU0lHX0JMT0NLLCBOVUxMLCAmc3UtPm9sZHNpZyk7CisKKwlpZiAoc3UtPnB0eSkKKwkJcHR5X2NyZWF0ZShzdSk7CisjZW5kaWYKKwlmZmx1c2goc3Rkb3V0KTsJCQkvKiA/Pz8gKi8KKworCXN3aXRjaCAoKGludCkgKHN1LT5jaGlsZCA9IGZvcmsoKSkpIHsKKwljYXNlIC0xOiAvKiBlcnJvciAqLworCQlzdXBhbV9jbGVhbnVwKHN1LCBQQU1fQUJPUlQpOworI2lmZGVmIFVTRV9QVFkKKwkJaWYgKHN1LT5wdHkpCisJCQlwdHlfY2xlYW51cChzdSk7CisjZW5kaWYKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIikpOworCQlicmVhazsKKworCWNhc2UgMDogLyogY2hpbGQgKi8KKwkJcmV0dXJuOworCisJZGVmYXVsdDogLyogcGFyZW50ICovCisJCURCRyhNSVNDLCB1bF9kZWJ1ZygiY2hpbGQgW3BpZD0lZF0iLCAoaW50KSBzdS0+Y2hpbGQpKTsKKwkJYnJlYWs7CisJfQorCisJLyogZnJlZSB1bm5lY2Vzc2FyeSBzdHVmZiAqLworCWZyZWVfZ2V0bG9naW5kZWZzX2RhdGEoKTsKKworCS8qIEluIHRoZSBwYXJlbnQgd2F0Y2ggdGhlIGNoaWxkLiAgKi8KKworCS8qIHN1IHdpdGhvdXQgcGFtIHN1cHBvcnQgZG9lcyBub3QgaGF2ZSBhIGhlbHBlciB0aGF0IGtlZXBzCisJICAgc2l0dGluZyBvbiBhbnkgZGlyZWN0b3J5IHNvIGxldCdzIGdvIHRvIC8uICAqLworCWlmIChjaGRpcigiLyIpICE9IDApCisJCXdhcm4oXygiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiKSwgIi8iKTsKKyNpZmRlZiBVU0VfUFRZCisJaWYgKHN1LT5wdHkpCisJCXB0eV9wcm94eV9tYXN0ZXIoc3UpOworCWVsc2UKKyNlbmRpZgorCQlwYXJlbnRfc2V0dXBfc2lnbmFscyhzdSk7CisKKwkvKgorCSAqIFdhaXQgZm9yIGNoaWxkCisJICovCisJaWYgKCFjYXVnaHRfc2lnbmFsKQorCQlzdGF0dXMgPSB3YWl0X2Zvcl9jaGlsZChzdSk7CisJZWxzZQorCQlzdGF0dXMgPSAxOworCisJREJHKFNJRywgdWxfZGVidWcoImZpbmFsIGNoaWxkIHN0YXR1cz0lZCIsIHN0YXR1cykpOworCisJaWYgKGNhdWdodF9zaWduYWwgJiYgc3UtPmNoaWxkICE9IChwaWRfdCktMSkgeworCQlmcHJpbnRmKHN0ZGVyciwgXygiXG5TZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iKSk7CisJCWtpbGwoc3UtPmNoaWxkLCBTSUdURVJNKTsKKwl9CisKKwlzdXBhbV9jbGVhbnVwKHN1LCBQQU1fU1VDQ0VTUyk7CisKKwlpZiAoY2F1Z2h0X3NpZ25hbCkgeworCQlpZiAoc3UtPmNoaWxkICE9IChwaWRfdCktMSkgeworCQkJREJHKFNJRywgdWxfZGVidWcoImtpbGxpbmcgY2hpbGQiKSk7CisJCQlzbGVlcCgyKTsKKwkJCWtpbGwoc3UtPmNoaWxkLCBTSUdLSUxMKTsKKwkJCWZwcmludGYoc3RkZXJyLCBfKCIgLi4ua2lsbGVkLlxuIikpOworCQl9CisKKwkJLyogTGV0J3MgdGVybWluYXRlIGl0c2VsZiB3aXRoIHRoZSByZWNlaXZlZCBzaWduYWwuCisJCSAqCisJCSAqIEl0IHNlZW1zIHRoYXQgc2hlbGxzIHVzZSBXSUZTSUdOQUxFRCgpIHJhdGhlciB0aGFuIG91ciBleGl0IHN0YXR1cworCQkgKiB2YWx1ZSB0byBkZXRlY3Qgc2l0dWF0aW9ucyB3aGVuIGlzIG5lY2Vzc2FyeSB0byBjbGVhbnVwIChyZXNldCkKKwkJICogdGVybWluYWwgc2V0dGluZ3MgKGt6YWsgLS0gSnVuIDIwMTMpLgorCQkgKi8KKwkJREJHKFNJRywgdWxfZGVidWcoInJlc3RvcmUgc2lnbmFscyBzZXR0aW5nIikpOworCQlzd2l0Y2ggKGNhdWdodF9zaWduYWwpIHsKKwkJY2FzZSBTSUdURVJNOgorCQkJc2lnYWN0aW9uKFNJR1RFUk0sICZzdS0+b2xkYWN0W1NJR1RFUk1fSURYXSwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBTSUdJTlQ6CisJCQlzaWdhY3Rpb24oU0lHSU5ULCAmc3UtPm9sZGFjdFtTSUdJTlRfSURYXSwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBTSUdRVUlUOgorCQkJc2lnYWN0aW9uKFNJR1FVSVQsICZzdS0+b2xkYWN0W1NJR1FVSVRfSURYXSwgTlVMTCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCS8qIGp1c3QgaW4gY2FzZSB0aGF0IHNpZ25hbCBzdHVmZiBpbml0aWFsaXphdGlvbiBmYWlsZWQgYW5kCisJCQkgKiBjYXVnaHRfc2lnbmFsID0gdHJ1ZSAqLworCQkJY2F1Z2h0X3NpZ25hbCA9IFNJR0tJTEw7CisJCQlicmVhazsKKwkJfQorCQlEQkcoU0lHLCB1bF9kZWJ1Zygic2VsZi1zZW5kICVkIHNpZ25hbCIsIGNhdWdodF9zaWduYWwpKTsKKwkJa2lsbChnZXRwaWQoKSwgY2F1Z2h0X3NpZ25hbCk7CisJfQorCisjaWZkZWYgVVNFX1BUWQorCWlmIChzdS0+cHR5KQorCQlwdHlfY2xlYW51cChzdSk7CisjZW5kaWYKKwlEQkcoTUlTQywgdWxfZGVidWcoImV4aXRpbmcgW3JjPSVkXSIsIHN0YXR1cykpOworCWV4aXQoc3RhdHVzKTsKK30KKworc3RhdGljIHZvaWQgc2V0ZW52X3BhdGgoY29uc3Qgc3RydWN0IHBhc3N3ZCAqcHcpCit7CisJaW50IHJjOworCisJREJHKE1JU0MsIHVsX2RlYnVnKCJzZXR0aW5nIFBBVEgiKSk7CisKKwlpZiAocHctPnB3X3VpZCkKKwkJcmMgPSBsb2dpbmRlZnNfc2V0ZW52KCJQQVRIIiwgIkVOVl9QQVRIIiwgX1BBVEhfREVGUEFUSCk7CisKKwllbHNlIGlmICgocmMgPSBsb2dpbmRlZnNfc2V0ZW52KCJQQVRIIiwgIkVOVl9ST09UUEFUSCIsIE5VTEwpKSAhPSAwKQorCQlyYyA9IGxvZ2luZGVmc19zZXRlbnYoIlBBVEgiLCAiRU5WX1NVUEFUSCIsIF9QQVRIX0RFRlBBVEhfUk9PVCk7CisKKwlpZiAocmMpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiKSk7Cit9CisKK3N0YXRpYyB2b2lkIG1vZGlmeV9lbnZpcm9ubWVudChzdHJ1Y3Qgc3VfY29udGV4dCAqc3UsIGNvbnN0IGNoYXIgKnNoZWxsKQoreworCWNvbnN0IHN0cnVjdCBwYXNzd2QgKnB3ID0gc3UtPnB3ZDsKKworCisJREJHKE1JU0MsIHVsX2RlYnVnKCJtb2RpZnkgZW52aXJvbltdIikpOworCisJLyogTGVhdmUgVEVSTSB1bmNoYW5nZWQuICBTZXQgSE9NRSwgU0hFTEwsIFVTRVIsIExPR05BTUUsIFBBVEguCisJICogVW5zZXQgYWxsIG90aGVyIGVudmlyb25tZW50IHZhcmlhYmxlcy4KKwkgKi8KKwlpZiAoc3UtPnNpbXVsYXRlX2xvZ2luKSB7CisJCWNoYXIgKnRlcm0gPSBnZXRlbnYoIlRFUk0iKTsKKwkJaWYgKHRlcm0pCisJCQl0ZXJtID0geHN0cmR1cCh0ZXJtKTsKKworCQllbnZpcm9uID0geG1hbGxvYygoNiArICEgIXRlcm0pICogc2l6ZW9mKGNoYXIgKikpOworCQllbnZpcm9uWzBdID0gTlVMTDsKKwkJaWYgKHRlcm0pIHsKKwkJCXhzZXRlbnYoIlRFUk0iLCB0ZXJtLCAxKTsKKwkJCWZyZWUodGVybSk7CisJCX0KKworCQl4c2V0ZW52KCJIT01FIiwgcHctPnB3X2RpciwgMSk7CisJCWlmIChzaGVsbCkKKwkJCXhzZXRlbnYoIlNIRUxMIiwgc2hlbGwsIDEpOworCQl4c2V0ZW52KCJVU0VSIiwgcHctPnB3X25hbWUsIDEpOworCQl4c2V0ZW52KCJMT0dOQU1FIiwgcHctPnB3X25hbWUsIDEpOworCQlzZXRlbnZfcGF0aChwdyk7CisKKwkvKiBTZXQgSE9NRSwgU0hFTEwsIGFuZCAoaWYgbm90IGJlY29taW5nIGEgc3VwZXJ1c2VyKSBVU0VSIGFuZCBMT0dOQU1FLgorCSAqLworCX0gZWxzZSBpZiAoc3UtPmNoYW5nZV9lbnZpcm9ubWVudCkgeworCQl4c2V0ZW52KCJIT01FIiwgcHctPnB3X2RpciwgMSk7CisJCWlmIChzaGVsbCkKKwkJCXhzZXRlbnYoIlNIRUxMIiwgc2hlbGwsIDEpOworCisJCWlmIChnZXRsb2dpbmRlZnNfYm9vbCgiQUxXQVlTX1NFVF9QQVRIIiwgMCkpCisJCQlzZXRlbnZfcGF0aChwdyk7CisKKwkJaWYgKHB3LT5wd191aWQpIHsKKwkJCXhzZXRlbnYoIlVTRVIiLCBwdy0+cHdfbmFtZSwgMSk7CisJCQl4c2V0ZW52KCJMT0dOQU1FIiwgcHctPnB3X25hbWUsIDEpOworCQl9CisJfQorCisJc3VwYW1fZXhwb3J0X2Vudmlyb25tZW50KHN1KTsKK30KKworc3RhdGljIHZvaWQgaW5pdF9ncm91cHMoc3RydWN0IHN1X2NvbnRleHQgKnN1LCBnaWRfdCAqZ3JvdXBzLCBzaXplX3Qgbmdyb3VwcykKK3sKKwlpbnQgcmM7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoImluaXRpYWxpemUgZ3JvdXBzIikpOworCisJZXJybm8gPSAwOworCWlmIChuZ3JvdXBzKQorCQlyYyA9IHNldGdyb3VwcyhuZ3JvdXBzLCBncm91cHMpOworCWVsc2UKKwkJcmMgPSBpbml0Z3JvdXBzKHN1LT5wd2QtPnB3X25hbWUsIHN1LT5wd2QtPnB3X2dpZCk7CisKKwlpZiAocmMgPT0gLTEpIHsKKwkJc3VwYW1fY2xlYW51cChzdSwgUEFNX0FCT1JUKTsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHNldCBncm91cHMiKSk7CisJfQorCWVuZGdyZW50KCk7CisKKwlyYyA9IHBhbV9zZXRjcmVkKHN1LT5wYW1oLCBQQU1fRVNUQUJMSVNIX0NSRUQpOworCWlmIChpc19wYW1fZmFpbHVyZShyYykpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gdXNlciBjcmVkZW50aWFsczogJXMiKSwKKwkJCQkJcGFtX3N0cmVycm9yKHN1LT5wYW1oLCByYykpOworCXN1LT5wYW1faGFzX2NyZWQgPSAxOworfQorCitzdGF0aWMgdm9pZCBjaGFuZ2VfaWRlbnRpdHkoY29uc3Qgc3RydWN0IHBhc3N3ZCAqcHcpCit7CisJREJHKE1JU0MsIHVsX2RlYnVnKCJjaGFuZ2luZyBpZGVudGl0eSBbR0lEPSVkLCBVSUQ9JWRdIiwgcHctPnB3X2dpZCwgcHctPnB3X3VpZCkpOworCisJaWYgKHNldGdpZChwdy0+cHdfZ2lkKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHNldCBncm91cCBpZCIpKTsKKwlpZiAoc2V0dWlkKHB3LT5wd191aWQpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc2V0IHVzZXIgaWQiKSk7Cit9CisKKy8qIFJ1biBTSEVMTCwgaWYgQ09NTUFORCBpcyBub256ZXJvLCBwYXNzIGl0IHRvIHRoZSBzaGVsbCB3aXRoIHRoZSAtYyBvcHRpb24uCisgKiBQYXNzIEFERElUSU9OQUxfQVJHUyB0byB0aGUgc2hlbGwgYXMgbW9yZSBhcmd1bWVudHM7IHRoZXJlIGFyZQorICogTl9BRERJVElPTkFMX0FSR1MgZXh0cmEgYXJndW1lbnRzLgorICovCitzdGF0aWMgdm9pZCBydW5fc2hlbGwoCisJCXN0cnVjdCBzdV9jb250ZXh0ICpzdSwKKwkJY2hhciBjb25zdCAqc2hlbGwsIGNoYXIgY29uc3QgKmNvbW1hbmQsIGNoYXIgKiphZGRpdGlvbmFsX2FyZ3MsCisJCXNpemVfdCBuX2FkZGl0aW9uYWxfYXJncykKK3sKKwlzaXplX3Qgbl9hcmdzID0gMSArIHN1LT5mYXN0X3N0YXJ0dXAgKyAyICogISAhY29tbWFuZCArIG5fYWRkaXRpb25hbF9hcmdzICsgMTsKKwljb25zdCBjaGFyICoqYXJncyA9IHhjYWxsb2Mobl9hcmdzLCBzaXplb2YgKmFyZ3MpOworCXNpemVfdCBhcmdubyA9IDE7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoInN0YXJ0aW5nIHNoZWxsIFtzaGVsbD0lcywgY29tbWFuZD1cIiVzXCIlcyVzXSIsCisJCQkJc2hlbGwsIGNvbW1hbmQsCisJCQkJc3UtPnNpbXVsYXRlX2xvZ2luID8gIiBsb2dpbiIgOiAiIiwKKwkJCQlzdS0+ZmFzdF9zdGFydHVwID8gIiBmYXN0LXN0YXJ0IiA6ICIiKSk7CisKKwlpZiAoc3UtPnNpbXVsYXRlX2xvZ2luKSB7CisJCWNoYXIgKmFyZzA7CisJCWNoYXIgKnNoZWxsX2Jhc2VuYW1lOworCisJCXNoZWxsX2Jhc2VuYW1lID0gYmFzZW5hbWUoc2hlbGwpOworCQlhcmcwID0geG1hbGxvYyhzdHJsZW4oc2hlbGxfYmFzZW5hbWUpICsgMik7CisJCWFyZzBbMF0gPSAnLSc7CisJCXN0cmNweShhcmcwICsgMSwgc2hlbGxfYmFzZW5hbWUpOworCQlhcmdzWzBdID0gYXJnMDsKKwl9IGVsc2UKKwkJYXJnc1swXSA9IGJhc2VuYW1lKHNoZWxsKTsKKworCWlmIChzdS0+ZmFzdF9zdGFydHVwKQorCQlhcmdzW2FyZ25vKytdID0gIi1mIjsKKwlpZiAoY29tbWFuZCkgeworCQlhcmdzW2FyZ25vKytdID0gIi1jIjsKKwkJYXJnc1thcmdubysrXSA9IGNvbW1hbmQ7CisJfQorCisJbWVtY3B5KGFyZ3MgKyBhcmdubywgYWRkaXRpb25hbF9hcmdzLCBuX2FkZGl0aW9uYWxfYXJncyAqIHNpemVvZiAqYXJncyk7CisJYXJnc1thcmdubyArIG5fYWRkaXRpb25hbF9hcmdzXSA9IE5VTEw7CisJZXhlY3Yoc2hlbGwsIChjaGFyICoqKWFyZ3MpOworCWVycmV4ZWMoc2hlbGwpOworfQorCisvKiBSZXR1cm4gdHJ1ZSBpZiBTSEVMTCBpcyBhIHJlc3RyaWN0ZWQgc2hlbGwgKG9uZSBub3QgcmV0dXJuZWQgYnkKKyAqIGdldHVzZXJzaGVsbCksIGVsc2UgZmFsc2UsIG1lYW5pbmcgaXQgaXMgYSBzdGFuZGFyZCBzaGVsbC4KKyAqLworc3RhdGljIGJvb2wgaXNfcmVzdHJpY3RlZF9zaGVsbChjb25zdCBjaGFyICpzaGVsbCkKK3sKKwljaGFyICpsaW5lOworCisJc2V0dXNlcnNoZWxsKCk7CisJd2hpbGUgKChsaW5lID0gZ2V0dXNlcnNoZWxsKCkpICE9IE5VTEwpIHsKKwkJaWYgKCpsaW5lICE9ICcjJyAmJiAhc3RyY21wKGxpbmUsIHNoZWxsKSkgeworCQkJZW5kdXNlcnNoZWxsKCk7CisJCQlyZXR1cm4gZmFsc2U7CisJCX0KKwl9CisJZW5kdXNlcnNoZWxsKCk7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoIiVzIGlzIHJlc3RyaWN0ZWQgc2hlbGwgKG5vdCBpbiAvZXRjL3NoZWxscykiLCBzaGVsbCkpOworCXJldHVybiB0cnVlOworfQorCitzdGF0aWMgdm9pZCB1c2FnZV9jb21tb24odm9pZCkKK3sKKwlmcHV0cyhfKCIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisKKwlmcHV0cyhfKCIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIiksIHN0ZG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygzMykpOworfQorCitzdGF0aWMgdm9pZCB1c2FnZV9ydW51c2VyKHZvaWQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBzdGRvdXQpOworCWZwcmludGYoc3Rkb3V0LAorCQlfKCIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKwkgICAgICAgICAgIiAlMSRzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCWZwdXRzKF8oIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisJICAgICAgICJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKwkgICAgICAgIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iKSwgc3Rkb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIHN0ZG91dCk7CisJZnB1dHMoXygiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIpLCBzdGRvdXQpOworCXVzYWdlX2NvbW1vbigpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgc3Rkb3V0KTsKKworCWZwcmludGYoc3Rkb3V0LCBVU0FHRV9NQU5fVEFJTCgicnVudXNlcigxKSIpKTsKK30KKworc3RhdGljIHZvaWQgdXNhZ2Vfc3Uodm9pZCkKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIHN0ZG91dCk7CisJZnByaW50ZihzdGRvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgc3Rkb3V0KTsKKwlmcHV0cyhfKCJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKwkJIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iKSwgc3Rkb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIHN0ZG91dCk7CisJdXNhZ2VfY29tbW9uKCk7CisKKwlmcHJpbnRmKHN0ZG91dCwgVVNBR0VfTUFOX1RBSUwoInN1KDEpIikpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZShpbnQgbW9kZSkKK3sKKwlpZiAobW9kZSA9PSBTVV9NT0RFKQorCQl1c2FnZV9zdSgpOworCWVsc2UKKwkJdXNhZ2VfcnVudXNlcigpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBsb2FkX2NvbmZpZyh2b2lkICpkYXRhKQoreworCXN0cnVjdCBzdV9jb250ZXh0ICpzdSA9IChzdHJ1Y3Qgc3VfY29udGV4dCAqKSBkYXRhOworCisJREJHKE1JU0MsIHVsX2RlYnVnKCJsb2FkaW5nIGxvZ2luZGVmcyIpKTsKKwlsb2dpbmRlZnNfbG9hZF9maWxlKHN1LT5ydW51c2VyID8gX1BBVEhfTE9HSU5ERUZTX1JVTlVTRVIgOiBfUEFUSF9MT0dJTkRFRlNfU1UpOworCWxvZ2luZGVmc19sb2FkX2ZpbGUoX1BBVEhfTE9HSU5ERUZTKTsKK30KKworLyoKKyAqIFJldHVybnMgMSBpZiB0aGUgY3VycmVudCB1c2VyIGlzIG5vdCByb290CisgKi8KK3N0YXRpYyBpbnQgaXNfbm90X3Jvb3Qodm9pZCkKK3sKKwljb25zdCB1aWRfdCBydWlkID0gZ2V0dWlkKCk7CisJY29uc3QgdWlkX3QgZXVpZCA9IGdldGV1aWQoKTsKKworCS8qIGlmIHdlJ3JlIHJlYWxseSByb290IGFuZCBhcmVuJ3QgcnVubmluZyBzZXR1aWQgKi8KKwlyZXR1cm4gKHVpZF90KSAwID09IHJ1aWQgJiYgcnVpZCA9PSBldWlkID8gMCA6IDE7Cit9CisKK3N0YXRpYyBnaWRfdCBhZGRfc3VwcF9ncm91cChjb25zdCBjaGFyICpuYW1lLCBnaWRfdCAqKmdyb3Vwcywgc2l6ZV90ICpuZ3JvdXBzKQoreworCXN0cnVjdCBncm91cCAqZ3I7CisKKwlpZiAoKm5ncm91cHMgPj0gTkdST1VQU19NQVgpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkgICAgIFBfKCJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIiwKKwkJICAgICAgICAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiLAorCQkJTkdST1VQU19NQVggLSAxKSwgTkdST1VQU19NQVggLSAxKTsKKworCWdyID0gZ2V0Z3JuYW0obmFtZSk7CisJaWYgKCFncikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IiksIG5hbWUpOworCisJREJHKE1JU0MsIHVsX2RlYnVnKCJhZGQgJXMgZ3JvdXAgW25hbWU9JXMsIEdJRD0lZF0iLCBuYW1lLCBnci0+Z3JfbmFtZSwgKGludCkgZ3ItPmdyX2dpZCkpOworCisJKmdyb3VwcyA9IHhyZWFsbG9jKCpncm91cHMsIHNpemVvZihnaWRfdCkgKiAoKm5ncm91cHMgKyAxKSk7CisJKCpncm91cHMpWypuZ3JvdXBzXSA9IGdyLT5ncl9naWQ7CisJKCpuZ3JvdXBzKSsrOworCisJcmV0dXJuIGdyLT5ncl9naWQ7Cit9CisKK2ludCBzdV9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50IG1vZGUpCit7CisJc3RydWN0IHN1X2NvbnRleHQgX3N1ID0geworCQkuY29udgkJCT0geyBzdXBhbV9jb252LCBOVUxMIH0sCisJCS5ydW51c2VyCQk9IChtb2RlID09IFJVTlVTRVJfTU9ERSA/IDEgOiAwKSwKKwkJLmNoYW5nZV9lbnZpcm9ubWVudAk9IDEsCisJCS5uZXdfdXNlcgkJPSBERUZBVUxUX1VTRVIsCisjaWZkZWYgVVNFX1BUWQorCQkucHR5X21hc3RlcgkJPSAtMSwKKwkJLnB0eV9zbGF2ZQkJPSAtMSwKKwkJLnB0eV9zaWdmZAkJPSAtMSwKKyNlbmRpZgorCX0sICpzdSA9ICZfc3U7CisKKwlpbnQgb3B0YzsKKwljaGFyICpjb21tYW5kID0gTlVMTDsKKwlpbnQgcmVxdWVzdF9zYW1lX3Nlc3Npb24gPSAwOworCWNoYXIgKnNoZWxsID0gTlVMTDsKKworCWdpZF90ICpncm91cHMgPSBOVUxMOworCXNpemVfdCBuZ3JvdXBzID0gMDsKKwlib29sIHVzZV9zdXBwID0gZmFsc2U7CisJYm9vbCB1c2VfZ2lkID0gZmFsc2U7CisJZ2lkX3QgZ2lkID0gMDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiY29tbWFuZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYyd9LAorCQl7InNlc3Npb24tY29tbWFuZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnQyd9LAorCQl7ImZhc3QiLCBub19hcmd1bWVudCwgTlVMTCwgJ2YnfSwKKwkJeyJsb2dpbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbCd9LAorCQl7InByZXNlcnZlLWVudmlyb25tZW50Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdwJ30sCisJCXsicHR5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdQJ30sCisJCXsic2hlbGwiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJeyJncm91cCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZyd9LAorCQl7InN1cHAtZ3JvdXAiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ0cnfSwKKwkJeyJ1c2VyIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd1J30sCS8qIHJ1bnVzZXIgb25seSAqLworCQl7ImhlbHAiLCBub19hcmd1bWVudCwgMCwgJ2gnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIDAsICdWJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJc3VfaW5pdF9kZWJ1ZygpOworCXN1LT5jb252LmFwcGRhdGFfcHRyID0gKHZvaWQgKikgc3U7CisKKwl3aGlsZSAoKG9wdGMgPQorCQlnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYzpmZzpHOmxtcFBzOnU6aFYiLCBsb25nb3B0cywKKwkJCSAgICBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChvcHRjKSB7CisJCWNhc2UgJ2MnOgorCQkJY29tbWFuZCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCisJCWNhc2UgJ0MnOgorCQkJY29tbWFuZCA9IG9wdGFyZzsKKwkJCXJlcXVlc3Rfc2FtZV9zZXNzaW9uID0gMTsKKwkJCWJyZWFrOworCisJCWNhc2UgJ2YnOgorCQkJc3UtPmZhc3Rfc3RhcnR1cCA9IHRydWU7CisJCQlicmVhazsKKworCQljYXNlICdnJzoKKwkJCXVzZV9naWQgPSB0cnVlOworCQkJZ2lkID0gYWRkX3N1cHBfZ3JvdXAob3B0YXJnLCAmZ3JvdXBzLCAmbmdyb3Vwcyk7CisJCQlicmVhazsKKworCQljYXNlICdHJzoKKwkJCXVzZV9zdXBwID0gdHJ1ZTsKKwkJCWFkZF9zdXBwX2dyb3VwKG9wdGFyZywgJmdyb3VwcywgJm5ncm91cHMpOworCQkJYnJlYWs7CisKKwkJY2FzZSAnbCc6CisJCQlzdS0+c2ltdWxhdGVfbG9naW4gPSB0cnVlOworCQkJYnJlYWs7CisKKwkJY2FzZSAnbSc6CisJCWNhc2UgJ3AnOgorCQkJc3UtPmNoYW5nZV9lbnZpcm9ubWVudCA9IGZhbHNlOworCQkJYnJlYWs7CisKKwkJY2FzZSAnUCc6CisjaWZkZWYgVVNFX1BUWQorCQkJc3UtPnB0eSA9IDE7CisjZWxzZQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tcHR5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHlvdXIgc3lzdGVtIikpOworI2VuZGlmCisJCQlicmVhazsKKworCQljYXNlICdzJzoKKwkJCXNoZWxsID0gb3B0YXJnOworCQkJYnJlYWs7CisKKwkJY2FzZSAndSc6CisJCQlpZiAoIXN1LT5ydW51c2VyKQorCQkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJCXN1LT5ydW51c2VyX3VvcHQgPSAxOworCQkJc3UtPm5ld191c2VyID0gb3B0YXJnOworCQkJYnJlYWs7CisKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShtb2RlKTsKKworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlzdS0+cmVzdHJpY3RlZCA9IGlzX25vdF9yb290KCk7CisKKwlpZiAob3B0aW5kIDwgYXJnYyAmJiAhc3RyY21wKGFyZ3Zbb3B0aW5kXSwgIi0iKSkgeworCQlzdS0+c2ltdWxhdGVfbG9naW4gPSB0cnVlOworCQkrK29wdGluZDsKKwl9CisKKwlpZiAoc3UtPnNpbXVsYXRlX2xvZ2luICYmICFzdS0+Y2hhbmdlX2Vudmlyb25tZW50KSB7CisJCXdhcm54KF8KKwkJICAgICAgKCJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iKSk7CisJCXN1LT5jaGFuZ2VfZW52aXJvbm1lbnQgPSB0cnVlOworCX0KKworCXN3aXRjaCAobW9kZSkgeworCWNhc2UgUlVOVVNFUl9NT0RFOgorCQkvKiBydW51c2VyIC11IDx1c2VyPiA8Y29tbWFuZD4KKwkJICoKKwkJICogSWYgLXUgPHVzZXI+IGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gZm9sbG93IHRyYWRpdGlvbmFsIHN1KDEpIGJlaGF2aW9yIGFuZAorCQkgKiBmYWxsdGhyb3VnaAorCQkgKi8KKwkJaWYgKHN1LT5ydW51c2VyX3VvcHQpIHsKKwkJCWlmIChzaGVsbCB8fCBzdS0+ZmFzdF9zdGFydHVwIHx8IGNvbW1hbmQgfHwgc3UtPnNpbXVsYXRlX2xvZ2luKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgIgorCQkJCSAgICAgICItLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpKTsKKwkJCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIikpOworCQkJYnJlYWs7CisJCX0KKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIFNVX01PREU6CisJCWlmIChvcHRpbmQgPCBhcmdjKQorCQkJc3UtPm5ld191c2VyID0gYXJndltvcHRpbmQrK107CisJCWJyZWFrOworCX0KKworCWlmICgodXNlX3N1cHAgfHwgdXNlX2dpZCkgJiYgc3UtPnJlc3RyaWN0ZWQpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkgICAgIF8oIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiKSk7CisKKwlsb2dpbmRlZnNfc2V0X2xvYWRlcihsb2FkX2NvbmZpZywgKHZvaWQgKikgc3UpOworCWluaXRfdHR5KHN1KTsKKworCXN1LT5wd2QgPSB4Z2V0cHduYW0oc3UtPm5ld191c2VyLCAmc3UtPnB3ZGJ1Zik7CisJaWYgKCFzdS0+cHdkCisJICAgIHx8ICFzdS0+cHdkLT5wd19wYXNzd2QKKwkgICAgfHwgIXN1LT5wd2QtPnB3X25hbWUgfHwgISpzdS0+cHdkLT5wd19uYW1lCisJICAgIHx8ICFzdS0+cHdkLT5wd19kaXIgIHx8ICEqc3UtPnB3ZC0+cHdfZGlyKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidXNlciAlcyBkb2VzIG5vdCBleGlzdCIpLCBzdS0+bmV3X3VzZXIpOworCisJc3UtPm5ld191c2VyID0gc3UtPnB3ZC0+cHdfbmFtZTsKKwlzdS0+b2xkX3VzZXIgPSB4Z2V0bG9naW4oKTsKKworCWlmICghc3UtPnB3ZC0+cHdfc2hlbGwgfHwgISpzdS0+cHdkLT5wd19zaGVsbCkKKwkJc3UtPnB3ZC0+cHdfc2hlbGwgPSBERUZBVUxUX1NIRUxMOworCisJaWYgKHVzZV9zdXBwICYmICF1c2VfZ2lkKQorCQlzdS0+cHdkLT5wd19naWQgPSBncm91cHNbMF07CisJZWxzZSBpZiAodXNlX2dpZCkKKwkJc3UtPnB3ZC0+cHdfZ2lkID0gZ2lkOworCisJc3VwYW1fYXV0aGVudGljYXRlKHN1KTsKKworCWlmIChyZXF1ZXN0X3NhbWVfc2Vzc2lvbiB8fCAhY29tbWFuZCB8fCAhc3UtPnB3ZC0+cHdfdWlkKQorCQlzdS0+c2FtZV9zZXNzaW9uID0gMTsKKworCS8qIGluaXRpYWxpemUgc2hlbGwgdmFyaWFibGUgb25seSBpZiAiLXUgPHVzZXI+IiBub3Qgc3BlY2lmaWVkICovCisJaWYgKHN1LT5ydW51c2VyX3VvcHQpIHsKKwkJc2hlbGwgPSBOVUxMOworCX0gZWxzZSB7CisJCWlmICghc2hlbGwgJiYgIXN1LT5jaGFuZ2VfZW52aXJvbm1lbnQpCisJCQlzaGVsbCA9IGdldGVudigiU0hFTEwiKTsKKworCQlpZiAoc2hlbGwKKwkJICAgICYmIGdldHVpZCgpICE9IDAKKwkJICAgICYmIGlzX3Jlc3RyaWN0ZWRfc2hlbGwoc3UtPnB3ZC0+cHdfc2hlbGwpKSB7CisJCQkvKiBUaGUgdXNlciBiZWluZyBzdSdkIHRvIGhhcyBhIG5vbnN0YW5kYXJkIHNoZWxsLCBhbmQKKwkJCSAqIHNvIGlzIHByb2JhYmx5IGEgdXVjcCBhY2NvdW50IG9yIGhhcyByZXN0cmljdGVkCisJCQkgKiBhY2Nlc3MuICBEb24ndCBjb21wcm9taXNlIHRoZSBhY2NvdW50IGJ5IGFsbG93aW5nCisJCQkgKiBhY2Nlc3Mgd2l0aCBhIHN0YW5kYXJkIHNoZWxsLgorCQkJICovCisJCQl3YXJueChfKCJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIiksIHN1LT5wd2QtPnB3X3NoZWxsKTsKKwkJCXNoZWxsID0gTlVMTDsKKwkJfQorCQlzaGVsbCA9IHhzdHJkdXAoc2hlbGwgPyBzaGVsbCA6IHN1LT5wd2QtPnB3X3NoZWxsKTsKKwl9CisKKwlpbml0X2dyb3VwcyhzdSwgZ3JvdXBzLCBuZ3JvdXBzKTsKKworCWlmICghc3UtPnNpbXVsYXRlX2xvZ2luIHx8IGNvbW1hbmQpCisJCXN1LT5zdXBwcmVzc19wYW1faW5mbyA9IDE7CS8qIGRvbid0IHByaW50IFBBTSBpbmZvIG1lc3NhZ2VzICovCisKKwlzdXBhbV9vcGVuX3Nlc3Npb24oc3UpOworCisJY3JlYXRlX3dhdGNoaW5nX3BhcmVudChzdSk7CisJLyogTm93IHdlJ3JlIGluIHRoZSBjaGlsZC4gICovCisKKwljaGFuZ2VfaWRlbnRpdHkoc3UtPnB3ZCk7CisJaWYgKCFzdS0+c2FtZV9zZXNzaW9uIHx8IHN1LT5wdHkpIHsKKwkJREJHKE1JU0MsIHVsX2RlYnVnKCJjYWxsIHNldHNpZCgpIikpOworCQlzZXRzaWQoKTsKKwl9CisjaWZkZWYgVVNFX1BUWQorCWlmIChzdS0+cHR5KQorCQlwdHlfaW5pdF9zbGF2ZShzdSk7CisjZW5kaWYKKwkvKiBTZXQgZW52aXJvbm1lbnQgYWZ0ZXIgcGFtX29wZW5fc2Vzc2lvbiwgd2hpY2ggbWF5IHB1dCBLUkI1Q0NOQU1FCisJICAgaW50byB0aGUgcGFtX2VudiwgZXRjLiAgKi8KKworCW1vZGlmeV9lbnZpcm9ubWVudChzdSwgc2hlbGwpOworCisJaWYgKHN1LT5zaW11bGF0ZV9sb2dpbiAmJiBjaGRpcihzdS0+cHdkLT5wd19kaXIpICE9IDApCisJCXdhcm4oXygid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiKSwgc3UtPnB3ZC0+cHdfZGlyKTsKKworCWlmIChzaGVsbCkKKwkJcnVuX3NoZWxsKHN1LCBzaGVsbCwgY29tbWFuZCwgYXJndiArIG9wdGluZCwgbWF4KDAsIGFyZ2MgLSBvcHRpbmQpKTsKKworCWV4ZWN2cChhcmd2W29wdGluZF0sICZhcmd2W29wdGluZF0pOworCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIGFyZ3Zbb3B0aW5kXSk7Cit9CmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9zdS1jb21tb24uaCBiL2xvZ2luLXV0aWxzL3N1LWNvbW1vbi5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjZjM3NjkKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zdS1jb21tb24uaApAQCAtMCwwICsxLDExIEBACisjaWZuZGVmIFVUSUxfTElOVVhfU1VfQ09NTU9OX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9TVV9DT01NT05fSAorCitlbnVtIHsKKwlTVV9NT0RFLAorCVJVTlVTRVJfTU9ERQorfTsKKworZXh0ZXJuIGludCBzdV9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndiwgaW50IG1vZGUpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9TVV9DT01NT04gKi8KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3N1LjEgYi9sb2dpbi11dGlscy9zdS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2YzYxNTMKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zdS4xCkBAIC0wLDAgKzEsMjgwIEBACisuVEggU1UgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorc3UgXC0gcnVuIGEgY29tbWFuZCB3aXRoIHN1YnN0aXR1dGUgdXNlciBhbmQgZ3JvdXAgSUQKKy5TSCBTWU5PUFNJUworLkJSIHN1ICIgW29wdGlvbnNdIFsiIFwtIF0KKy5SSSBbIHVzZXIgIiBbIiBhcmd1bWVudCAuLi5dXQorLlNIIERFU0NSSVBUSU9OCisuQiBzdQorYWxsb3dzIHRvIHJ1biBjb21tYW5kcyB3aXRoIGEgc3Vic3RpdHV0ZSB1c2VyIGFuZCBncm91cCBJRC4KKy5QUAorV2hlbiBjYWxsZWQgd2l0aG91dCBhcmd1bWVudHMsCisuQiBzdQorZGVmYXVsdHMgdG8gcnVubmluZyBhbiBpbnRlcmFjdGl2ZSBzaGVsbCBhcworLklSIHJvb3QgLgorLlBQCitGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwKKy5CIHN1CitkZWZhdWx0cyB0byBub3QgY2hhbmdlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSBhbmQgdG8gb25seSBzZXQgdGhlCitlbnZpcm9ubWVudCB2YXJpYWJsZXMKKy5CIEhPTUUKK2FuZAorLkIgU0hFTEwKKyhwbHVzCisuQiBVU0VSCithbmQKKy5CIExPR05BTUUKK2lmIHRoZSB0YXJnZXQKKy5JIHVzZXIKK2lzIG5vdCByb290KS4gIEl0IGlzIHJlY29tbWVuZGVkIHRvIGFsd2F5cyB1c2UgdGhlCisuQiBcLVwtbG9naW4KK29wdGlvbiAoaW5zdGVhZCBvZiBpdHMgc2hvcnRjdXQKKy5CUiBcLSApCit0byBhdm9pZCBzaWRlIGVmZmVjdHMgY2F1c2VkIGJ5IG1peGluZyBlbnZpcm9ubWVudHMuCisuUFAKK1RoaXMgdmVyc2lvbiBvZgorLkIgc3UKK3VzZXMgUEFNIGZvciBhdXRoZW50aWNhdGlvbiwgYWNjb3VudCBhbmQgc2Vzc2lvbiBtYW5hZ2VtZW50LiAgU29tZQorY29uZmlndXJhdGlvbiBvcHRpb25zIGZvdW5kIGluIG90aGVyCisuQiBzdQoraW1wbGVtZW50YXRpb25zLCBzdWNoIGFzIHN1cHBvcnQgZm9yIGEgd2hlZWwgZ3JvdXAsIGhhdmUgdG8gYmUKK2NvbmZpZ3VyZWQgdmlhIFBBTS4KKy5QUAorLkIgc3UKK2lzIG1vc3RseSBkZXNpZ25lZCBmb3IgdW5wcml2aWxlZ2VkIHVzZXJzLCB0aGUgcmVjb21tZW5kZWQgc29sdXRpb24gZm9yCitwcml2aWxlZ2VkIHVzZXJzIChlLmcuIHNjcmlwdHMgZXhlY3V0ZWQgYnkgcm9vdCkgaXMgdG8gdXNlCitub24tc2V0LXVzZXItSUQgY29tbWFuZAorLkJSIHJ1bnVzZXIgKDEpCit0aGF0IGRvZXMgbm90IHJlcXVpcmUgYXV0aGVudGljYXRpb24gYW5kIHByb3ZpZGUgc2VwYXJhdGUgUEFNIGNvbmZpZ3VyYXRpb24uIElmCit0aGUgUEFNIHNlc3Npb24gaXMgbm90IHJlcXVpcmVkIGF0IGFsbCB0aGVuIHRoZSByZWNvbW1lbmQgc29sdXRpb24gaXMgdG8gdXNlCitjb21tYW5kCisuQlIgc2V0cHJpdiAoMSkuCisKKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWMgLCAiIFwtXC1jb21tYW5kIiA9IFxmSWNvbW1hbmQKK1Bhc3MKKy5JIGNvbW1hbmQKK3RvIHRoZSBzaGVsbCB3aXRoIHRoZQorLkIgXC1jCitvcHRpb24uCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1mYXN0IgorUGFzcworLkIgXC1mCit0byB0aGUgc2hlbGwsIHdoaWNoIG1heSBvciBtYXkgbm90IGJlIHVzZWZ1bCwgZGVwZW5kaW5nIG9uIHRoZSBzaGVsbC4KKy5UUAorLkJSIFwtZyAsICIgXC1cLWdyb3VwIiA9IFxmSWdyb3VwCitTcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwLiAgVGhpcyBvcHRpb24gaXMgYXZhaWxhYmxlIHRvIHRoZSByb290IHVzZXIgb25seS4KKy5UUAorLkJSIFwtRyAsICIgXC1cLXN1cHBcLWdyb3VwIiA9IFxmSWdyb3VwCitTcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwLiAgVGhpcyBvcHRpb24gaXMgYXZhaWxhYmxlIHRvIHRoZSByb290IHVzZXIgb25seS4gIFRoZSBmaXJzdCBzcGVjaWZpZWQKK3N1cHBsZW1lbnRhcnkgZ3JvdXAgaXMgYWxzbyB1c2VkIGFzIGEgcHJpbWFyeSBncm91cCBpZiB0aGUgb3B0aW9uIFxmQlwtXC1ncm91cFxmUiBpcyB1bnNwZWNpZmllZC4KKy5UUAorLkJSIFwtICwgIiBcLWwiICwgIiBcLVwtbG9naW4iCitTdGFydCB0aGUgc2hlbGwgYXMgYSBsb2dpbiBzaGVsbCB3aXRoIGFuIGVudmlyb25tZW50IHNpbWlsYXIgdG8gYSByZWFsCitsb2dpbjoKKy5SUyAxMAorLlRQCitvCitjbGVhcnMgYWxsIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZXhjZXB0CisuQiBURVJNCisuVFAKK28KK2luaXRpYWxpemVzIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZXMKKy5CUiBIT01FICwKKy5CUiBTSEVMTCAsCisuQlIgVVNFUiAsCisuQlIgTE9HTkFNRSAiLCBhbmQiCisuQiBQQVRICisuVFAKK28KK2NoYW5nZXMgdG8gdGhlIHRhcmdldCB1c2VyJ3MgaG9tZSBkaXJlY3RvcnkKKy5UUAorbworc2V0cyBhcmd2WzBdIG9mIHRoZSBzaGVsbCB0bworLlJCICcgXC0gJworaW4gb3JkZXIgdG8gbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbAorLlJFCisuVFAKKy5CUiBcLW0gLCAiIFwtcCIgLCAiIFwtXC1wcmVzZXJ2ZVwtZW52aXJvbm1lbnQiCitQcmVzZXJ2ZSB0aGUgZW50aXJlIGVudmlyb25tZW50LCBpLmUuIGl0IGRvZXMgbm90IHNldAorLkJSIEhPTUUgLAorLkJSIFNIRUxMICwKKy5CIFVTRVIKK25vcgorLkJSIExPR05BTUUgLgorVGhpcyBvcHRpb24gaXMgaWdub3JlZCBpZiB0aGUgb3B0aW9uIFxmQlwtXC1sb2dpblxmUiBpcyBzcGVjaWZpZWQuCisuVFAKKy5CUiBcLVAgLCAiIFwtXC1wdHkiCitDcmVhdGUgcHNldWRvLXRlcm1pbmFsIGZvciB0aGUgc2Vzc2lvbi4gVGhlIGluZGVwZW5kZW50IHRlcm1pbmFsIHByb3ZpZGVzCitiZXR0ZXIgc2VjdXJpdHkgYXMgdXNlciBkb2VzIG5vdCBzaGFyZSB0ZXJtaW5hbCB3aXRoIHRoZSBvcmlnaW5hbAorc2Vzc2lvbi4gIFRoaXMgYWxsb3cgdG8gYXZvaWQgVElPQ1NUSSBpb2N0bCB0ZXJtaW5hbCBpbmplY3Rpb24gYW5kIGFub3RoZXIKK3NlY3VyaXR5IGF0dGFja3MgYWdhaW5zdCB0ZXJtaW5hbCBmaWxlIGRlc2NyaXB0b3JzLiBUaGUgYWxsIHNlc3Npb24gaXMgYWxzbworcG9zc2libGUgdG8gbW92ZSB0byBiYWNrZ3JvdW5kIChlLmcuICJzdSAtLXB0eSAtIHVzZW5hbWUgLWMKK2FwcGxpY2F0aW9uICYiKS4gSWYgdGhlIHBzZXVkby10ZXJtaW5hbCBpcyBlbmFibGVkIHRoZW4gc3UgY29tbWFuZCB3b3JrcworYXMgYSBwcm94eSBiZXR3ZWVuIHRoZSBzZXNzaW9ucyAoY29weSBzdGRpbiBhbmQgc3Rkb3V0KS4KKworVGhpcyBmZWF0dXJlIGlzIEVYUEVSSU1FTlRBTCBmb3Igbm93IGFuZCBtYXkgYmUgcmVtb3ZlZCBpbiB0aGUgbmV4dCByZWxlYXNlcy4KKworLlRQCisuQlIgXC1zICwgIiBcLVwtc2hlbGwiID0gXGZJc2hlbGwKK1J1biB0aGUgc3BlY2lmaWVkIFxmSXNoZWxsXGZSIGluc3RlYWQgb2YgdGhlIGRlZmF1bHQuICBUaGUgc2hlbGwgdG8gcnVuIGlzCitzZWxlY3RlZCBhY2NvcmRpbmcgdG8gdGhlIGZvbGxvd2luZyBydWxlcywgaW4gb3JkZXI6CisuUlMgMTAKKy5UUAorbwordGhlIHNoZWxsIHNwZWNpZmllZCB3aXRoCisuQiBcLVwtc2hlbGwKKy5UUAorbwordGhlIHNoZWxsIHNwZWNpZmllZCBpbiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CUiBTSEVMTCAsCitpZiB0aGUKKy5CIFwtXC1wcmVzZXJ2ZVwtZW52aXJvbm1lbnQKK29wdGlvbiBpcyB1c2VkCisuVFAKK28KK3RoZSBzaGVsbCBsaXN0ZWQgaW4gdGhlIHBhc3N3ZCBlbnRyeSBvZiB0aGUgdGFyZ2V0IHVzZXIKKy5UUAorbworL2Jpbi9zaAorLlJFCisuSVAKK0lmIHRoZSB0YXJnZXQgdXNlciBoYXMgYSByZXN0cmljdGVkIHNoZWxsIChpLmUuIG5vdCBsaXN0ZWQgaW4KKy9ldGMvc2hlbGxzKSwgdGhlCisuQiBcLVwtc2hlbGwKK29wdGlvbiBhbmQgdGhlCisuQiBTSEVMTAorZW52aXJvbm1lbnQgdmFyaWFibGVzIGFyZSBpZ25vcmVkIHVubGVzcyB0aGUgY2FsbGluZyB1c2VyIGlzIHJvb3QuCisuVFAKKy5CSSBcLVwtc2Vzc2lvblwtY29tbWFuZD0gY29tbWFuZAorU2FtZSBhcworLkIgXC1jCitidXQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uLiAgKERpc2NvdXJhZ2VkLikKKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggU0lHTkFMUworVXBvbiByZWNlaXZpbmcgZWl0aGVyCisuQlIgU0lHSU5UICwKKy5CIFNJR1FVSVQKK29yCisuQlIgU0lHVEVSTSAsCisuQiBzdQordGVybWluYXRlcyBpdHMgY2hpbGQgYW5kIGFmdGVyd2FyZHMgdGVybWluYXRlcyBpdHNlbGYgd2l0aAordGhlIHJlY2VpdmVkIHNpZ25hbC4KKy5TSCBDT05GSUcgRklMRVMKKy5CIHN1CityZWFkcyB0aGUKKy5JIC9ldGMvZGVmYXVsdC9zdQorYW5kCisuSSAvZXRjL2xvZ2luLmRlZnMKK2NvbmZpZ3VyYXRpb24gZmlsZXMuICBUaGUgZm9sbG93aW5nIGNvbmZpZ3VyYXRpb24gaXRlbXMgYXJlIHJlbGV2YW50Citmb3IKKy5CUiBzdSAoMSk6CisuUFAKKy5CIEZBSUxfREVMQVkKKyhudW1iZXIpCisuUlMgNAorRGVsYXkgaW4gc2Vjb25kcyBpbiBjYXNlIG9mIGFuIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmUuIFRoZSBudW1iZXIgbXVzdCBiZQorYSBub24tbmVnYXRpdmUgaW50ZWdlci4KKy5SRQorLlBQCisuQiBFTlZfUEFUSAorKHN0cmluZykKKy5SUyA0CitEZWZpbmVzIHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIGZvciBhIHJlZ3VsYXIgdXNlci4gIFRoZQorZGVmYXVsdCB2YWx1ZSBpcworLklSIC91c3IvbG9jYWwvYmluOlw6L2JpbjpcOi91c3IvYmluIC4KKy5SRQorLlBQCisuQiBFTlZfUk9PVFBBVEgKKyhzdHJpbmcpCisuYnIKKy5CIEVOVl9TVVBBVEgKKyhzdHJpbmcpCisuUlMgNAorRGVmaW5lcyB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSBmb3Igcm9vdC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzCisuSVIgL3Vzci9sb2NhbC9zYmluOlw6L3Vzci9sb2NhbC9iaW46XDovc2JpbjpcOi9iaW46XDovdXNyL3NiaW46XDovdXNyL2JpbiAuCisuUkUKKy5QUAorLkIgQUxXQVlTX1NFVF9QQVRICisoYm9vbGVhbikKKy5SUyA0CitJZiBzZXQgdG8KKy5JIHllcworYW5kIFwtXC1sb2dpbiBhbmQgXC1cLXByZXNlcnZlXC1lbnZpcm9ubWVudCB3ZXJlIG5vdCBzcGVjaWZpZWQKKy5CIHN1Citpbml0aWFsaXplcworLkJSIFBBVEggLgorLlJFCisuU0ggRVhJVCBTVEFUVVMKKy5CIHN1Citub3JtYWxseSByZXR1cm5zIHRoZSBleGl0IHN0YXR1cyBvZiB0aGUgY29tbWFuZCBpdCBleGVjdXRlZC4gIElmIHRoZQorY29tbWFuZCB3YXMga2lsbGVkIGJ5IGEgc2lnbmFsLAorLkIgc3UKK3JldHVybnMgdGhlIG51bWJlciBvZiB0aGUgc2lnbmFsIHBsdXMgMTI4LgorLlBQCitFeGl0IHN0YXR1cyBnZW5lcmF0ZWQgYnkKKy5CIHN1CitpdHNlbGY6CisuUlMgMTAKKy5UUAorMQorR2VuZXJpYyBlcnJvciBiZWZvcmUgZXhlY3V0aW5nIHRoZSByZXF1ZXN0ZWQgY29tbWFuZAorLlRQCisxMjYKK1RoZSByZXF1ZXN0ZWQgY29tbWFuZCBjb3VsZCBub3QgYmUgZXhlY3V0ZWQKKy5UUAorMTI3CitUaGUgcmVxdWVzdGVkIGNvbW1hbmQgd2FzIG5vdCBmb3VuZAorLlJFCisuU0ggRklMRVMKKy5QRCAwCisuVFAgMTcKKy9ldGMvcGFtLmQvc3UKK2RlZmF1bHQgUEFNIGNvbmZpZ3VyYXRpb24gZmlsZQorLlRQCisvZXRjL3BhbS5kL3N1LWwKK1BBTSBjb25maWd1cmF0aW9uIGZpbGUgaWYgXC1cLWxvZ2luIGlzIHNwZWNpZmllZAorLlRQCisvZXRjL2RlZmF1bHQvc3UKK2NvbW1hbmQgc3BlY2lmaWMgbG9naW5kZWYgY29uZmlnIGZpbGUKKy5UUAorL2V0Yy9sb2dpbi5kZWZzCitnbG9iYWwgbG9naW5kZWYgY29uZmlnIGZpbGUKKy5QRCAxCisuU0ggTk9URVMKK0ZvciBzZWN1cml0eSByZWFzb25zCisuQiBzdQorYWx3YXlzIGxvZ3MgZmFpbGVkIGxvZy1pbiBhdHRlbXB0cyB0byB0aGUgYnRtcCBmaWxlLCBidXQgaXQgZG9lcyBub3Qgd3JpdGUgdG8KK3RoZSBsYXN0bG9nIGZpbGUgYXQgYWxsLiAgVGhpcyBzb2x1dGlvbiBhbGxvd3MgdG8gY29udHJvbAorLkIgc3UKK2JlaGF2aW9yIGJ5IFBBTSBjb25maWd1cmF0aW9uLiAgSWYgeW91IHdhbnQgdG8gdXNlIHRoZSBwYW1fbGFzdGxvZyBtb2R1bGUgdG8KK3ByaW50IHdhcm5pbmcgbWVzc2FnZSBhYm91dCBmYWlsZWQgbG9nLWluIGF0dGVtcHRzIHRoZW4gdGhlIHBhbV9sYXN0bG9nIGhhcyB0bworYmUgY29uZmlndXJlZCB0byB1cGRhdGUgdGhlIGxhc3Rsb2cgZmlsZSBhcyB3ZWxsLiBGb3IgZXhhbXBsZSBieToKKworLlJTCisuYnIKK3Nlc3Npb24gIHJlcXVpcmVkICBwYW1fbGFzdGxvZy5zbyBub3d0bXAKKy5SRQorLlNIICJTRUUgQUxTTyIKKy5CUiBzZXRwcml2ICgxKSwKKy5CUiBsb2dpbi5kZWZzICg1KSwKKy5CUiBzaGVsbHMgKDUpLAorLkJSIHBhbSAoOCksCisuQlIgcnVudXNlciAoOCkKKy5TSCBISVNUT1JZCitUaGlzIFxmQnN1XGZSIGNvbW1hbmQgd2FzCitkZXJpdmVkIGZyb20gY29yZXV0aWxzJyBcZkJzdVxmUiwgd2hpY2ggd2FzIGJhc2VkIG9uIGFuIGltcGxlbWVudGF0aW9uIGJ5CitEYXZpZCBNYWNLZW56aWUuIFRoZSB1dGlsLWxpbnV4IGhhcyBiZWVuIHJlZmFjdG9yZWQgYnkgS2FyZWwgWmFrLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHN1IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcworYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc3UuYyBiL2xvZ2luLXV0aWxzL3N1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDljNjdmMwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3N1LmMKQEAgLTAsMCArMSw4IEBACisKKyNpbmNsdWRlICJzdS1jb21tb24uaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXJldHVybiBzdV9tYWluKGFyZ2MsIGFyZ3YsIFNVX01PREUpOworfQorCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9zdWxvZ2luLWNvbnNvbGVzLmMgYi9sb2dpbi11dGlscy9zdWxvZ2luLWNvbnNvbGVzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmMwZWVkMwotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3N1bG9naW4tY29uc29sZXMuYwpAQCAtMCwwICsxLDgyOCBAQAorLyoKKyAqIGNvbnNvbGVzLmMJICAgIFJvdXRpbmVzIHRvIGRldGVjdCB0aGUgc3lzdGVtIGNvbnNvbGVzCisgKgorICogQ29weXJpZ2h0IChjKSAyMDExIFN1U0UgTElOVVggUHJvZHVjdHMgR21iSCwgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxMiBXZXJuZXIgRmluayA8d2VybmVyQHN1c2UuZGU+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyLCBvciAoYXQgeW91ciBvcHRpb24pCisgKiBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbSAoc2VlIHRoZSBmaWxlIENPUFlJTkcpOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKiBBdXRob3I6IFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAqLworCisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2lmZGVmIF9fbGludXhfXworIyBpbmNsdWRlIDxzeXMvdnQuaD4KKyMgaW5jbHVkZSA8c3lzL2tkLmg+CisjIGluY2x1ZGUgPGxpbnV4L3NlcmlhbC5oPgorIyBpbmNsdWRlIDxsaW51eC9tYWpvci5oPgorI2VuZGlmCisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaWZkZWYgVVNFX1NVTE9HSU5fRU1FUkdFTkNZX01PVU5UCisjIGluY2x1ZGUgPHN5cy9tb3VudC5oPgorIyBpbmNsdWRlIDxsaW51eC9mcy5oPgorIyBpbmNsdWRlIDxsaW51eC9tYWdpYy5oPgorIyBpZm5kZWYgTU5UX0RFVEFDSAorIyAgZGVmaW5lIE1OVF9ERVRBQ0ggICAyCisjIGVuZGlmCisjZW5kaWYKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJzdWxvZ2luLWNvbnNvbGVzLmgiCisKKyNpZiAhZGVmaW5lZChfX1NURENfVkVSU0lPTl9fKSB8fCAoX19TVERDX1ZFUlNJT05fXyA8IDE5OTkwMUwpCisjIGlmbmRlZiAgdHlwZW9mCisjICBkZWZpbmUgdHlwZW9mCQlfX3R5cGVvZl9fCisjIGVuZGlmCisjIGlmbmRlZiAgcmVzdHJpY3QKKyMgIGRlZmluZSByZXN0cmljdAkJX19yZXN0cmljdF9fCisjIGVuZGlmCisjZW5kaWYKKworI2RlZmluZSBhbGlnbm9mKHR5cGUpCQkoKHNpemVvZih0eXBlKSsoc2l6ZW9mKHZvaWQqKS0xKSkgJiB+KHNpemVvZih2b2lkKiktMSkpCisjZGVmaW5lIHN0cnNpemUoc3RyaW5nKQkJKHN0cmxlbigoc3RyaW5nKSkrMSkKKworc3RhdGljIGludCBjb25zb2xlc19kZWJ1ZzsKKyNkZWZpbmUgREJHKHgpCWRvIHsgXAorCQkJaWYgKGNvbnNvbGVzX2RlYnVnKSB7IFwKKwkJCQlmcHV0cygiY29uc29sZXMgZGVidWc6ICIsIHN0ZGVycik7IFwKKwkJCQl4OwkJCSAgICAgXAorCQkJfSBcCisJCX0gd2hpbGUgKDApCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19mb3JtYXRfXyAoX19wcmludGZfXywgMSwgMikpKQorZGJncHJpbnQoY29uc3QgY2hhciAqIGNvbnN0IG1lc2csIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXZhX3N0YXJ0KGFwLCBtZXNnKTsKKwl2ZnByaW50ZihzdGRlcnIsIG1lc2csIGFwKTsKKwl2YV9lbmQoYXApOworCWZwdXRjKCdcbicsIHN0ZGVycik7Cit9CisKKyNpZmRlZiBVU0VfU1VMT0dJTl9FTUVSR0VOQ1lfTU9VTlQKKy8qCisgKiBNYWtlIEMgbGlicmFyeSBzdGFuZGFyZCBjYWxscyBzdWNoIGxpa2UgdHR5bmFtZSgzKSB3b3JrCisgKiBldmVuIGlmIHRoZSBzeXN0ZW0gZG9lcyBub3Qgc2hvdyBhbnkgb2YgdGhlIHN0YW5kYXJkCisgKiBkaXJlY3Rvcmllcy4KKyAqLworCitzdGF0aWMgdWludDMyX3QgZW1lcmdlbmN5X2ZsYWdzOworIyBkZWZpbmUgTU5UX1BST0NGUyAgICAweDAwMDEKKyMgZGVmaW5lIE1OVF9ERVZUTVBGUyAgMHgwMDAyCisKK3ZvaWQgZW1lcmdlbmN5X2RvX3Vtb3VudHModm9pZCkKK3sKKwlpZiAoZW1lcmdlbmN5X2ZsYWdzICYgTU5UX0RFVlRNUEZTKQorCQl1bW91bnQyKCIvZGV2IiwgTU5UX0RFVEFDSCk7CisJaWYgKGVtZXJnZW5jeV9mbGFncyAmIE1OVF9QUk9DRlMpCisJCXVtb3VudDIoIi9wcm9jIiwgTU5UX0RFVEFDSCk7Cit9CisKK3ZvaWQgZW1lcmdlbmN5X2RvX21vdW50cyh2b2lkKQoreworCXN0cnVjdCBzdGF0IHJ0LCB4dDsKKworCWlmIChlbWVyZ2VuY3lfZmxhZ3MpIHsKKwkJZW1lcmdlbmN5X2ZsYWdzID0gMDsKKwkJcmV0dXJuOworCX0KKworCWlmIChzdGF0KCIvIiwgJnJ0KSAhPSAwKSB7CisJCXdhcm4oImNhbm5vdCBnZXQgZmlsZSBzdGF0dXMgb2Ygcm9vdCBmaWxlIHN5c3RlbVxuIik7CisJCXJldHVybjsKKwl9CisKKwlpZiAoc3RhdCgiL3Byb2MiLCAmeHQpID09IDAKKwkgICAgJiYgcnQuc3RfZGV2ID09IHh0LnN0X2RldgorCSAgICAmJiBtb3VudCgicHJvYyIsICIvcHJvYyIsICJwcm9jIiwgTVNfUkVMQVRJTUUsIE5VTEwpID09IDApCisJCWVtZXJnZW5jeV9mbGFncyB8PSBNTlRfUFJPQ0ZTOworCisJaWYgKHN0YXQoIi9kZXYiLCAmeHQpID09IDAKKwkgICAgJiYgcnQuc3RfZGV2ID09IHh0LnN0X2RldgorCSAgICAmJiBtb3VudCgiZGV2dG1wZnMiLCAiL2RldiIsICJkZXZ0bXBmcyIsCisJCSAgICAgTVNfUkVMQVRJTUUsICJtb2RlPTA3NTUsbnJfaW5vZGVzPTAiKSA9PSAwKSB7CisKKwkJZW1lcmdlbmN5X2ZsYWdzIHw9IE1OVF9ERVZUTVBGUzsKKwkJbWtub2QoIi9kZXYvY29uc29sZSIsIFNfSUZDSFJ8U19JUlVTUnxTX0lXVVNSLAorCQkJCQltYWtlZGV2KFRUWUFVWF9NQUpPUiwgMSkpOworCisJCWlmIChzeW1saW5rKCIvcHJvYy9zZWxmL2ZkIiwgIi9kZXYvZmQiKSA9PSAwKSB7CisJCQlpZ25vcmVfcmVzdWx0KCBzeW1saW5rKCJmZC8wIiwgIi9kZXYvc3RkaW4iKSApOworCQkJaWdub3JlX3Jlc3VsdCggc3ltbGluaygiZmQvMSIsICIvZGV2L3N0ZG91dCIpICk7CisJCQlpZ25vcmVfcmVzdWx0KCBzeW1saW5rKCJmZC8yIiwgIi9kZXYvc3RkZXJyIikgKTsKKwkJfQorCX0KK30KKworI2Vsc2UgLyogIVVTRV9TVUxPR0lOX0VNRVJHRU5DWV9NT1VOVCAqLworCit2b2lkIGVtZXJnZW5jeV9kb191bW91bnRzKHZvaWQpIHsgfQordm9pZCBlbWVyZ2VuY3lfZG9fbW91bnRzKHZvaWQpIHsgfQorCisjZW5kaWYgLyogVVNFX1NVTE9HSU5fRU1FUkdFTkNZX01PVU5UICovCisKKy8qCisgKiBSZWFkIGFuZCBhbGxvY2F0ZSBvbmUgbGluZSBmcm9tIGZpbGUsCisgKiB0aGUgY2FsbGVyIGhhcyB0byBmcmVlIHRoZSByZXN1bHQKKyAqLworc3RhdGljIF9fYXR0cmlidXRlX18oKF9fbm9ubnVsbF9fKSkKK2NoYXIgKm9uZWxpbmUoY29uc3QgY2hhciAqIGNvbnN0IGZpbGUpCit7CisJRklMRSAqZnA7CisJY2hhciAqcmV0ID0gTlVMTDsKKwlzaXplX3QgZHVtbXkgPSAwOworCXNzaXplX3QgbGVuOworCisJREJHKGRiZ3ByaW50KCJyZWFkaW5nICVzIiwgZmlsZSkpOworCisJaWYgKCEoZnAgPSBmb3BlbihmaWxlLCAiciIgVUxfQ0xPRVhFQ1NUUikpKQorCQlyZXR1cm4gTlVMTDsKKwlsZW4gPSBnZXRsaW5lKCZyZXQsICZkdW1teSwgZnApOworCWlmIChsZW4gPj0gMCkgeworCQljaGFyICpubDsKKworCQlpZiAobGVuKQorCQkJcmV0W2xlbi0xXSA9ICdcMCc7CisJCWlmICgobmwgPSBzdHJjaHIocmV0LCAnXG4nKSkpCisJCQkqbmwgPSAnXDAnOworCX0KKworCWZjbG9zZShmcCk7CisJcmV0dXJuIHJldDsKK30KKworI2lmZGVmIF9fbGludXhfXworLyoKKyAqICBSZWFkIGFuZCBkZXRlcm1pbmUgYWN0aXZlIGF0dHJpYnV0ZSBmb3IgdHR5IGJlbG93CisgKiAgL3N5cy9jbGFzcy90dHksIHRoZSBjYWxsZXIgaGFzIHRvIGZyZWUgdGhlIHJlc3VsdC4KKyAqLworc3RhdGljIF9fYXR0cmlidXRlX18oKF9fbWFsbG9jX18pKQorY2hhciAqYWN0YXR0cihjb25zdCBjaGFyICogY29uc3QgdHR5KQoreworCWNoYXIgKnJldCwgKnBhdGg7CisKKwlpZiAoIXR0eSB8fCAhKnR0eSkKKwkJcmV0dXJuIE5VTEw7CisJaWYgKGFzcHJpbnRmKCZwYXRoLCAiL3N5cy9jbGFzcy90dHkvJXMvYWN0aXZlIiwgdHR5KSA8IDApCisJCXJldHVybiBOVUxMOworCisJcmV0ID0gb25lbGluZShwYXRoKTsKKwlmcmVlKHBhdGgpOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBSZWFkIGFuZCBkZXRlcm1pbmUgZGV2aWNlIGF0dHJpYnV0ZSBmb3IgdHR5IGJlbG93CisgKiAvc3lzL2NsYXNzL3R0eS4KKyAqLworc3RhdGljCitkZXZfdCBkZXZhdHRyKGNvbnN0IGNoYXIgKiBjb25zdCB0dHkpCit7CisJZGV2X3QgZGV2ID0gMDsKKwljaGFyICpwYXRoLCAqdmFsdWU7CisKKwlpZiAoIXR0eSB8fCAhKnR0eSkKKwkJcmV0dXJuIDA7CisJaWYgKGFzcHJpbnRmKCZwYXRoLCAiL3N5cy9jbGFzcy90dHkvJXMvZGV2IiwgdHR5KSA8IDApCisJCXJldHVybiAwOworCisJdmFsdWUgPSBvbmVsaW5lKHBhdGgpOworCWlmICh2YWx1ZSkgeworCQl1bnNpZ25lZCBpbnQgbWFqLCBtaW47CisKKwkJaWYgKHNzY2FuZih2YWx1ZSwgIiV1OiV1IiwgJm1haiwgJm1pbikgPT0gMikKKwkJCWRldiA9IG1ha2VkZXYobWFqLCBtaW4pOworCQlmcmVlKHZhbHVlKTsKKwl9CisKKwlmcmVlKHBhdGgpOworCXJldHVybiBkZXY7Cit9CisjZW5kaWYgLyogX19saW51eF9fICovCisKKy8qCisgKiBTZWFyY2ggYmVsb3cgL2RldiBmb3IgdGhlIGNoYXJhY3RlciBkZXZpY2UgaW4gYGRldl90IGNvbXBhcmVkZXYnIHZhcmlhYmxlLgorICogTm90ZSB0aGF0IHJlYWxwYXRoKDMpIGlzIHVzZWQgaGVyZSB0byBhdm9pZCBub3QgZXhpc3RlbnQgZGV2aWNlcyBkdWUgdGhlCisgKiBzdHJkdXAoMykgdXNlZCBpbiBvdXIgY2Fub25pY2FsaXplX3BhdGgoKSEKKyAqLworc3RhdGljCisjaWZkZWYgX19HTlVDX18KK19fYXR0cmlidXRlX18oKF9fbm9ubnVsbF9fLF9fbWFsbG9jX18sX19ob3RfXykpCisjZW5kaWYKK2NoYXIqIHNjYW5kZXYoRElSICpkaXIsIGNvbnN0IGRldl90IGNvbXBhcmVkZXYpCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwljaGFyICpuYW1lID0gTlVMTDsKKwljb25zdCBzdHJ1Y3QgZGlyZW50ICpkZW50OworCWludCBsZW4sIGZkOworCisJREJHKGRiZ3ByaW50KCJzY2FubmluZyAvZGV2IGZvciAldToldSIsIG1ham9yKGNvbXBhcmVkZXYpLCBtaW5vcihjb21wYXJlZGV2KSkpOworCisJLyoKKwkgKiBUcnkgdWRldiBsaW5rcyBvbiBjaGFyYWN0ZXIgZGV2aWNlcyBmaXJzdC4KKwkgKi8KKwlpZiAoKGxlbiA9IHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwKKwkJCSAgICAiL2Rldi9jaGFyLyV1OiV1IiwgbWFqb3IoY29tcGFyZWRldiksIG1pbm9yKGNvbXBhcmVkZXYpKSkgPiAwICYmCisJICAgIChzaXplX3QpbGVuIDwgc2l6ZW9mKHBhdGgpKSB7CisKKwkgICAgbmFtZSA9IHJlYWxwYXRoKHBhdGgsIE5VTEwpOworCSAgICBpZiAobmFtZSkKKwkJICAgIGdvdG8gb3V0OworCX0KKworCWZkID0gZGlyZmQoZGlyKTsKKwlyZXdpbmRkaXIoZGlyKTsKKwl3aGlsZSAoKGRlbnQgPSByZWFkZGlyKGRpcikpKSB7CisJCXN0cnVjdCBzdGF0IHN0OworCisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQlpZiAoZGVudC0+ZF90eXBlICE9IERUX1VOS05PV04gJiYgZGVudC0+ZF90eXBlICE9IERUX0NIUikKKwkJCWNvbnRpbnVlOworI2VuZGlmCisJCWlmIChmc3RhdGF0KGZkLCBkZW50LT5kX25hbWUsICZzdCwgMCkgPCAwKQorCQkJY29udGludWU7CisJCWlmICghU19JU0NIUihzdC5zdF9tb2RlKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoY29tcGFyZWRldiAhPSBzdC5zdF9yZGV2KQorCQkJY29udGludWU7CisJCWlmICgobGVuID0gc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiL2Rldi8lcyIsIGRlbnQtPmRfbmFtZSkpIDwgMCB8fAorCQkgICAgKHNpemVfdClsZW4gPj0gc2l6ZW9mKHBhdGgpKQorCQkJY29udGludWU7CisKKwkJbmFtZSA9IHJlYWxwYXRoKHBhdGgsIE5VTEwpOworCQlpZiAobmFtZSkKKwkJCWdvdG8gb3V0OworCX0KKworI2lmZGVmIFVTRV9TVUxPR0lOX0VNRVJHRU5DWV9NT1VOVAorCS8qCisJICogVGhlcmUgd2FzIG5vIC9kZXYgbW91bnRlZCBoZW5jZSBhbmQgbm8gZGV2aWNlIHdhcyBmb3VuZCBoZW5jZSB3ZSBjcmVhdGUgb3VyIG93bi4KKwkgKi8KKwlpZiAoIW5hbWUgJiYgKGVtZXJnZW5jeV9mbGFncyAmIE1OVF9ERVZUTVBGUykpIHsKKworCQlpZiAoKGxlbiA9IHNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwKKwkJCQkgICAgIi9kZXYvdG1wLSV1OiV1IiwgbWFqb3IoY29tcGFyZWRldiksIG1pbm9yKGNvbXBhcmVkZXYpKSkgPCAwIHx8CisJCSAgICAoc2l6ZV90KWxlbiA+PSBzaXplb2YocGF0aCkpCisJCQlnb3RvIG91dDsKKworCQlpZiAobWtub2QocGF0aCwgU19JRkNIUnxTX0lSVVNSfFNfSVdVU1IsIGNvbXBhcmVkZXYpIDwgMCAmJiBlcnJubyAhPSBFRVhJU1QpCisJCQlnb3RvIG91dDsKKworCQluYW1lID0gcmVhbHBhdGgocGF0aCwgTlVMTCk7CisJfQorI2VuZGlmCitvdXQ6CisJcmV0dXJuIG5hbWU7Cit9CisKKy8qCisgKiBEZWZhdWx0IGNvbnRyb2wgY2hhcmFjdGVycyBmb3IgYW4gdW5rbm93biB0ZXJtaW5hbCBsaW5lLgorICovCisKKy8qCisgKiBBbGxvY2F0ZSBhbiBhbGlnbmVkIGBzdHJ1Y3QgY29uc29sZScgbWVtb3J5IGFyZWEsCisgKiBpbml0aWFsaXplIGl0cyBkZWZhdWx0IHZhbHVlcywgYW5kIGFwcGVuZCBpdCB0bworICogdGhlIGdsb2JhbCBsaW5rZWQgbGlzdC4KKyAqLworc3RhdGljCisjaWZkZWYgX19HTlVDX18KK19fYXR0cmlidXRlX18oKF9faG90X18pKQorI2VuZGlmCitpbnQgYXBwZW5kX2NvbnNvbGUoc3RydWN0IGxpc3RfaGVhZCAqY29uc29sZXMsIGNvbnN0IGNoYXIgKiBjb25zdCBuYW1lKQoreworCXN0cnVjdCBjb25zb2xlICpyZXN0cmljdCB0YWlsOworCWNvbnN0IHN0cnVjdCBjb25zb2xlICpsYXN0ID0gTlVMTDsKKworCURCRyhkYmdwcmludCgiYXBwZW5naW5nICVzIiwgbmFtZSkpOworCisJaWYgKCFsaXN0X2VtcHR5KGNvbnNvbGVzKSkKKwkJbGFzdCA9IGxpc3RfbGFzdF9lbnRyeShjb25zb2xlcywgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKworCWlmIChwb3NpeF9tZW1hbGlnbigodm9pZCAqKSAmdGFpbCwgc2l6ZW9mKHZvaWQgKiksCisJCQkgICBhbGlnbm9mKHN0cnVjdCBjb25zb2xlKSArIHN0cnNpemUobmFtZSkpICE9IDApCisJCXJldHVybiAtRU5PTUVNOworCisJSU5JVF9MSVNUX0hFQUQoJnRhaWwtPmVudHJ5KTsKKwlJTklUX0NIQVJEQVRBKCZ0YWlsLT5jcCk7CisKKwlsaXN0X2FkZF90YWlsKCZ0YWlsLT5lbnRyeSwgY29uc29sZXMpOworCXRhaWwtPnR0eSA9ICgoY2hhciAqKSB0YWlsKSArIGFsaWdub2Yoc3RydWN0IGNvbnNvbGUpOworCXN0cmNweSh0YWlsLT50dHksIG5hbWUpOworCisJdGFpbC0+ZmlsZSA9IChGSUxFKikwOworCXRhaWwtPmZsYWdzID0gMDsKKwl0YWlsLT5mZCA9IC0xOworCXRhaWwtPmlkID0gbGFzdCA/IGxhc3QtPmlkICsgMSA6IDA7CisJdGFpbC0+cGlkID0gLTE7CisJbWVtc2V0KCZ0YWlsLT50aW8sIDAsIHNpemVvZih0YWlsLT50aW8pKTsKKworCXJldHVybiAwOworfQorCisjaWZkZWYgX19saW51eF9fCisvKgorICogcmV0dXJuIGNvZGVzOgorICoJPCAwCS0gZmF0YWwgZXJyb3IgKG5vIG1lbSBvciBzby4uLiApCisgKgkgIDAJLSBzdWNjZXNzCisgKgkgIDEJLSByZWNvdmVyYWJsZSBlcnJvcgorICoJICAyCS0gZGV0ZWN0aW9uIG5vdCBhdmFpbGFibGUKKyAqLworc3RhdGljIGludCBkZXRlY3RfY29uc29sZXNfZnJvbV9wcm9jKHN0cnVjdCBsaXN0X2hlYWQgKmNvbnNvbGVzKQoreworCWNoYXIgZmJ1ZlsxNiArIDFdOworCURJUiAqZGlyID0gTlVMTDsKKwlGSUxFICpmYyA9IE5VTEw7CisJaW50IG1haiwgbWluLCByYyA9IDEsIG1hdGNoZXM7CisKKwlEQkcoZGJncHJpbnQoInRyeWluZyAvcHJvYyIpKTsKKworCWZjID0gZm9wZW4oIi9wcm9jL2NvbnNvbGVzIiwgInIiIFVMX0NMT0VYRUNTVFIpOworCWlmICghZmMpIHsKKwkJcmMgPSAyOworCQlnb3RvIGRvbmU7CisJfQorCWRpciA9IG9wZW5kaXIoIi9kZXYiKTsKKwlpZiAoIWRpcikKKwkJZ290byBkb25lOworCisJd2hpbGUgKChtYXRjaGVzID0gZnNjYW5mKGZjLCAiJSpzICUqcyAoJTE2W14pXSkgJWQ6JWQiLCBmYnVmLCAmbWFqLCAmbWluKSkgPj0gMSkgeworCQljaGFyICpuYW1lOworCQlkZXZfdCBjb21wYXJlZGV2OworCisJCWlmIChtYXRjaGVzICE9IDMpCisJCQljb250aW51ZTsKKwkJaWYgKCFzdHJjaHIoZmJ1ZiwgJ0UnKSkKKwkJCWNvbnRpbnVlOworCQljb21wYXJlZGV2ID0gbWFrZWRldihtYWosIG1pbik7CisJCW5hbWUgPSBzY2FuZGV2KGRpciwgY29tcGFyZWRldik7CisJCWlmICghbmFtZSkKKwkJCWNvbnRpbnVlOworCQlyYyA9IGFwcGVuZF9jb25zb2xlKGNvbnNvbGVzLCBuYW1lKTsKKwkJZnJlZShuYW1lKTsKKwkJaWYgKHJjIDwgMCkKKwkJCWdvdG8gZG9uZTsKKwl9CisKKwlyYyA9IGxpc3RfZW1wdHkoY29uc29sZXMpID8gMSA6IDA7Citkb25lOgorCWlmIChkaXIpCisJCWNsb3NlZGlyKGRpcik7CisJaWYgKGZjKQorCQlmY2xvc2UoZmMpOworCURCRyhkYmdwcmludCgiWy9wcm9jIHJjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisvKgorICogcmV0dXJuIGNvZGVzOgorICoJPCAwCS0gZmF0YWwgZXJyb3IgKG5vIG1lbSBvciBzby4uLiApCisgKgkgIDAJLSBzdWNjZXNzCisgKgkgIDEJLSByZWNvdmVyYWJsZSBlcnJvcgorICoJICAyCS0gZGV0ZWN0aW9uIG5vdCBhdmFpbGFibGUKKyAqLworc3RhdGljIGludCBkZXRlY3RfY29uc29sZXNfZnJvbV9zeXNmcyhzdHJ1Y3QgbGlzdF9oZWFkICpjb25zb2xlcykKK3sKKwljaGFyICphdHRyaWIgPSBOVUxMLCAqd29yZHMsICp0b2tlbjsKKwlESVIgKmRpciA9IE5VTEw7CisJaW50IHJjID0gMTsKKworCURCRyhkYmdwcmludCgidHJ5aW5nIC9zeXMiKSk7CisKKwlhdHRyaWIgPSBhY3RhdHRyKCJjb25zb2xlIik7CisJaWYgKCFhdHRyaWIpIHsKKwkJcmMgPSAyOworCQlnb3RvIGRvbmU7CisJfQorCisJd29yZHMgPSBhdHRyaWI7CisKKwlkaXIgPSBvcGVuZGlyKCIvZGV2Iik7CisJaWYgKCFkaXIpCisJCWdvdG8gZG9uZTsKKworCXdoaWxlICgodG9rZW4gPSBzdHJzZXAoJndvcmRzLCAiIFx0XHJcbiIpKSkgeworCQljaGFyICpuYW1lOworCQlkZXZfdCBjb21wYXJlZGV2OworCisJCWlmICgqdG9rZW4gPT0gJ1wwJykKKwkJCWNvbnRpbnVlOworCisJCWNvbXBhcmVkZXYgPSBkZXZhdHRyKHRva2VuKTsKKwkJaWYgKGNvbXBhcmVkZXYgPT0gbWFrZWRldihUVFlfTUFKT1IsIDApKSB7CisJCQljaGFyICp0bXAgPSBhY3RhdHRyKHRva2VuKTsKKwkJCWlmICghdG1wKQorCQkJCWNvbnRpbnVlOworCQkJY29tcGFyZWRldiA9IGRldmF0dHIodG1wKTsKKwkJCWZyZWUodG1wKTsKKwkJfQorCisJCW5hbWUgPSBzY2FuZGV2KGRpciwgY29tcGFyZWRldik7CisJCWlmICghbmFtZSkKKwkJCWNvbnRpbnVlOworCQlyYyA9IGFwcGVuZF9jb25zb2xlKGNvbnNvbGVzLCBuYW1lKTsKKwkJZnJlZShuYW1lKTsKKwkJaWYgKHJjIDwgMCkKKwkJCWdvdG8gZG9uZTsKKwl9CisKKwlyYyA9IGxpc3RfZW1wdHkoY29uc29sZXMpID8gMSA6IDA7Citkb25lOgorCWZyZWUoYXR0cmliKTsKKwlpZiAoZGlyKQorCQljbG9zZWRpcihkaXIpOworCURCRyhkYmdwcmludCgiWy9zeXMgcmM9JWRdIiwgcmMpKTsKKwlyZXR1cm4gcmM7Cit9CisKKworc3RhdGljIGludCBkZXRlY3RfY29uc29sZXNfZnJvbV9jbWRsaW5lKHN0cnVjdCBsaXN0X2hlYWQgKmNvbnNvbGVzKQoreworCWNoYXIgKmNtZGxpbmUsICp3b3JkcywgKnRva2VuOworCWRldl90IGNvbXBhcmVkZXY7CisJRElSICpkaXIgPSBOVUxMOworCWludCByYyA9IDEsIGZkOworCisJREJHKGRiZ3ByaW50KCJ0cnlpbmcga2VybmVsIGNtZGxpbmUiKSk7CisKKwljbWRsaW5lID0gb25lbGluZSgiL3Byb2MvY21kbGluZSIpOworCWlmICghY21kbGluZSkgeworCQlyYyA9IDI7CisJCWdvdG8gZG9uZTsKKwl9CisKKwl3b3Jkcz0gY21kbGluZTsKKwlkaXIgPSBvcGVuZGlyKCIvZGV2Iik7CisJaWYgKCFkaXIpCisJCWdvdG8gZG9uZTsKKworCXdoaWxlICgodG9rZW4gPSBzdHJzZXAoJndvcmRzLCAiIFx0XHJcbiIpKSkgeworI2lmZGVmIFRJT0NHREVWCisJCXVuc2lnbmVkIGludCBkZXZudW07CisjZWxzZQorCQlzdHJ1Y3QgdnRfc3RhdCB2dDsKKwkJc3RydWN0IHN0YXQgc3Q7CisjZW5kaWYKKwkJY2hhciAqY29sb24sICpuYW1lOworCisJCWlmICgqdG9rZW4gIT0gJ2MnKQorCQkJY29udGludWU7CisJCWlmIChzdHJuY21wKHRva2VuLCAiY29uc29sZT0iLCA4KSAhPSAwKQorCQkJY29udGludWU7CisJCXRva2VuICs9IDg7CisKKwkJaWYgKHN0cmNtcCh0b2tlbiwgImJybCIpID09IDApCisJCQl0b2tlbiArPSA0OworCQlpZiAoKGNvbG9uID0gc3RyY2hyKHRva2VuLCAnLCcpKSkKKwkJCSpjb2xvbiA9ICdcMCc7CisKKwkJaWYgKGFzcHJpbnRmKCZuYW1lLCAiL2Rldi8lcyIsIHRva2VuKSA8IDApCisJCQljb250aW51ZTsKKwkJaWYgKChmZCA9IG9wZW4obmFtZSwgT19SRFdSfE9fTk9OQkxPQ0t8T19OT0NUVFl8T19DTE9FWEVDKSkgPCAwKSB7CisJCQlmcmVlKG5hbWUpOworCQkJY29udGludWU7CisJCX0KKwkJZnJlZShuYW1lKTsKKyNpZmRlZiBUSU9DR0RFVgorCQlpZiAoaW9jdGwgKGZkLCBUSU9DR0RFViwgJmRldm51bSkgPCAwKSB7CisJCQljbG9zZShmZCk7CisJCQljb250aW51ZTsKKwkJfQorCQljb21wYXJlZGV2ID0gKGRldl90KSBkZXZudW07CisjZWxzZQorCQlpZiAoZnN0YXQoZmQsICZzdCkgPCAwKSB7CisJCQljbG9zZShmZCk7CisJCQljb250aW51ZTsKKwkJfQorCQljb21wYXJlZGV2ID0gc3Quc3RfcmRldjsKKwkJaWYgKGNvbXBhcmVkZXYgPT0gbWFrZWRldihUVFlfTUFKT1IsIDApKSB7CisJCQlpZiAoaW9jdGwoZmQsIFZUX0dFVFNUQVRFLCAmdnQpIDwgMCkgeworCQkJCWNsb3NlKGZkKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWNvbXBhcmVkZXYgPSBtYWtlZGV2KFRUWV9NQUpPUiwgKGludCl2dC52X2FjdGl2ZSk7CisJCX0KKyNlbmRpZgorCQljbG9zZShmZCk7CisKKwkJbmFtZSA9IHNjYW5kZXYoZGlyLCBjb21wYXJlZGV2KTsKKwkJaWYgKCFuYW1lKQorCQkJY29udGludWU7CisJCXJjID0gYXBwZW5kX2NvbnNvbGUoY29uc29sZXMsIG5hbWUpOworCQlmcmVlKG5hbWUpOworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOworCX0KKworCXJjID0gbGlzdF9lbXB0eShjb25zb2xlcykgPyAxIDogMDsKK2RvbmU6CisJaWYgKGRpcikKKwkJY2xvc2VkaXIoZGlyKTsKKwlmcmVlKGNtZGxpbmUpOworCURCRyhkYmdwcmludCgiW2tlcm5lbCBjbWRsaW5lIHJjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorCisjaWZkZWYgVElPQ0dERVYKK3N0YXRpYyBpbnQgZGV0ZWN0X2NvbnNvbGVzX2Zyb21fdGlvY2dkZXYoc3RydWN0IGxpc3RfaGVhZCAqY29uc29sZXMsCisJCQkJCWNvbnN0IGludCBmYWxsYmFjaywKKwkJCQkJY29uc3QgY2hhciAqZGV2aWNlKQoreworCXVuc2lnbmVkIGludCBkZXZudW07CisJY2hhciAqbmFtZTsKKwlpbnQgcmMgPSAxLCBmZCA9IC0xOworCWRldl90IGNvbXBhcmVkZXY7CisJRElSICpkaXIgPSBOVUxMOworCXN0cnVjdCBjb25zb2xlICpjb25zb2xlOworCisJREJHKGRiZ3ByaW50KCJ0cnlpbmcgdGlvY2dkZXYiKSk7CisKKwlpZiAoIWRldmljZSB8fCAhKmRldmljZSkKKwkJZmQgPSBkdXAoZmFsbGJhY2spOworCWVsc2UKKwkJZmQgPSBvcGVuKGRldmljZSwgT19SRFdSfE9fTk9OQkxPQ0t8T19OT0NUVFl8T19DTE9FWEVDKTsKKworCWlmIChmZCA8IDApCisJCWdvdG8gZG9uZTsKKwlpZiAoaW9jdGwgKGZkLCBUSU9DR0RFViwgJmRldm51bSkgPCAwKQorCQlnb3RvIGRvbmU7CisKKwljb21wYXJlZGV2ID0gKGRldl90KSBkZXZudW07CisJZGlyID0gb3BlbmRpcigiL2RldiIpOworCWlmICghZGlyKQorCQlnb3RvIGRvbmU7CisKKwluYW1lID0gc2NhbmRldihkaXIsIGNvbXBhcmVkZXYpOworCWNsb3NlZGlyKGRpcik7CisKKwlpZiAoIW5hbWUpIHsKKwkJbmFtZSA9IChjaGFyICopIChkZXZpY2UgJiYgKmRldmljZSA/IGRldmljZSA6IHR0eW5hbWUoZmFsbGJhY2spKTsKKwkJaWYgKCFuYW1lKQorCQkJbmFtZSA9ICIvZGV2L3R0eTEiOworCisJCW5hbWUgPSBzdHJkdXAobmFtZSk7CisJCWlmICghbmFtZSkgeworCQkJcmMgPSAtRU5PTUVNOworCQkJZ290byBkb25lOworCQl9CisJfQorCXJjID0gYXBwZW5kX2NvbnNvbGUoY29uc29sZXMsIG5hbWUpOworCWZyZWUobmFtZSk7CisJaWYgKHJjIDwgMCkKKwkJZ290byBkb25lOworCWlmIChsaXN0X2VtcHR5KGNvbnNvbGVzKSkgeworCQlyYyA9IDE7CisJCWdvdG8gZG9uZTsKKwl9CisJY29uc29sZSA9IGxpc3RfbGFzdF9lbnRyeShjb25zb2xlcywgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKwlpZiAoY29uc29sZSAmJiAgKCFkZXZpY2UgfHwgISpkZXZpY2UpKQorCQljb25zb2xlLT5mZCA9IGZhbGxiYWNrOworZG9uZToKKwlpZiAoZmQgPj0gMCkKKwkJY2xvc2UoZmQpOworCURCRyhkYmdwcmludCgiW3Rpb2NnZGV2IHJjPSVkXSIsIHJjKSk7CisJcmV0dXJuIHJjOworfQorI2VuZGlmIC8qIFRJT0NHREVWICovCisjZW5kaWYgLyogX19saW51eF9fICovCisKKy8qCisgKiBUcnkgdG8gZGV0ZWN0IHRoZSByZWFsIGRldmljZShzKSB1c2VkIGZvciB0aGUgc3lzdGVtIGNvbnNvbGUKKyAqIC9kZXYvY29uc29sZSBpZiBidXQgb25seSBpZiAvZGV2L2NvbnNvbGUgaXMgdXNlZC4gIE9uIExpbnV4CisgKiB0aGlzIGNhbiBiZSBtb3JlIHRoYW4gb25lIGRldmljZSwgZS5nLiBhIHNlcmlhbCBsaW5lIGFzIHdlbGwKKyAqIGFzIGEgdmlydHVhbCBjb25zb2xlIGFzIHdlbGwgYXMgYSBzaW1wbGUgcHJpbnRlci4KKyAqCisgKiBSZXR1cm5zIDEgaWYgc3Rkb3V0IGFuZCBzdGRlcnIgc2hvdWxkIGJlIHJlY29ubmVjdGVkIGFuZCAwCisgKiBvdGhlcndpc2Ugb3IgbGVzcyB0aGFuIHplcm8gb24gZXJyb3IuCisgKi8KK2ludCBkZXRlY3RfY29uc29sZXMoY29uc3QgY2hhciAqZGV2aWNlLCBjb25zdCBpbnQgZmFsbGJhY2ssIHN0cnVjdCBsaXN0X2hlYWQgKmNvbnNvbGVzKQoreworCWludCBmZCwgcmVjb25uZWN0ID0gMCwgcmM7CisJZGV2X3QgY29tcGFyZWRldiA9IDA7CisKKwljb25zb2xlc19kZWJ1ZyA9IGdldGVudigiQ09OU09MRVNfREVCVUciKSA/IDEgOiAwOworCisJaWYgKCFkZXZpY2UgfHwgISpkZXZpY2UpCisJCWZkID0gZmFsbGJhY2sgPj0gMCA/IGR1cChmYWxsYmFjaykgOiAtIDE7CisJZWxzZSB7CisJCWZkID0gb3BlbihkZXZpY2UsIE9fUkRXUnxPX05PTkJMT0NLfE9fTk9DVFRZfE9fQ0xPRVhFQyk7CisJCXJlY29ubmVjdCA9IDE7CisJfQorCisJREJHKGRiZ3ByaW50KCJkZXRlY3Rpb24gc3RhcnRlZCBbZGV2aWNlPSVzLCBmYWxsYmFjaz0lZF0iLAorCQkJCWRldmljZSwgZmFsbGJhY2spKTsKKworCWlmIChmZCA+PSAwKSB7CisJCURJUiAqZGlyOworCQljaGFyICpuYW1lOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKyNpZmRlZiBUSU9DR0RFVgorCQl1bnNpZ25lZCBpbnQgZGV2bnVtOworI2VuZGlmCisjaWZkZWYgX19HTlVfXworCQkvKgorCQkgKiBUaGUgSHVyZCBhbHdheXMgZ2l2ZXMgc3RfcmRldiBhcyAwLCB3aGljaCBjYXVzZXMgdGhpcworCQkgKiBtZXRob2QgdG8gc2VsZWN0IHRoZSBmaXJzdCB0ZXJtaW5hbCBpdCBmaW5kcy4KKwkJICovCisJCWNsb3NlKGZkKTsKKwkJZ290byBmYWxsYmFjazsKKyNlbmRpZgorCQlEQkcoZGJncHJpbnQoInRyeWluZyBkZXZpY2UvZmFsbGJhY2sgZmlsZSBkZXNjcmlwdG9yIikpOworCisJCWlmIChmc3RhdChmZCwgJnN0KSA8IDApIHsKKwkJCWNsb3NlKGZkKTsKKwkJCWdvdG8gZmFsbGJhY2s7CisJCX0KKwkJY29tcGFyZWRldiA9IHN0LnN0X3JkZXY7CisKKwkJaWYgKHJlY29ubmVjdCAmJgorCQkgICAgKGZzdGF0KGZhbGxiYWNrLCAmc3QpIDwgMCB8fCBjb21wYXJlZGV2ICE9IHN0LnN0X3JkZXYpKQorCQkJZHVwMihmZCwgZmFsbGJhY2spOworI2lmZGVmIF9fbGludXhfXworCQkvKgorCQkgKiBDaGVjayBpZiB0aGUgZGV2aWNlIGRldGVjdGlvbiBmb3IgTGludXggc3lzdGVtIGNvbnNvbGUgc2hvdWxkIGJlIHVzZWQuCisJCSAqLworCQlpZiAoY29tcGFyZWRldiA9PSBtYWtlZGV2KFRUWUFVWF9NQUpPUiwgMCkpIHsJLyogL2Rldi90dHkJKi8KKwkJCWNsb3NlKGZkKTsKKwkJCWRldmljZSA9ICIvZGV2L3R0eSI7CisJCQlnb3RvIGZhbGxiYWNrOworCQl9CisJCWlmIChjb21wYXJlZGV2ID09IG1ha2VkZXYoVFRZQVVYX01BSk9SLCAxKSkgewkvKiAvZGV2L2NvbnNvbGUgKi8KKwkJCWNsb3NlKGZkKTsKKwkJCWdvdG8gY29uc29sZTsKKwkJfQorCQlpZiAoY29tcGFyZWRldiA9PSBtYWtlZGV2KFRUWUFVWF9NQUpPUiwgMikpIHsJLyogL2Rldi9wdG14CSovCisJCQljbG9zZShmZCk7CisJCQlkZXZpY2UgPSAiL2Rldi90dHkiOworCQkJZ290byBmYWxsYmFjazsKKwkJfQorCQlpZiAoY29tcGFyZWRldiA9PSBtYWtlZGV2KFRUWV9NQUpPUiwgMCkpIHsJLyogL2Rldi90dHkwCSovCisJCQlzdHJ1Y3QgdnRfc3RhdCB2dDsKKwkJCWlmIChpb2N0bChmZCwgVlRfR0VUU1RBVEUsICZ2dCkgPCAwKSB7CisJCQkJY2xvc2UoZmQpOworCQkJCWdvdG8gZmFsbGJhY2s7CisJCQl9CisJCQljb21wYXJlZGV2ID0gbWFrZWRldihUVFlfTUFKT1IsIChpbnQpdnQudl9hY3RpdmUpOworCQl9CisjZW5kaWYKKyNpZmRlZiBUSU9DR0RFVgorCQlpZiAoaW9jdGwgKGZkLCBUSU9DR0RFViwgJmRldm51bSkgPCAwKSB7CisJCQljbG9zZShmZCk7CisJCQlnb3RvIGZhbGxiYWNrOworCQl9CisJCWNvbXBhcmVkZXYgPSAoZGV2X3QpZGV2bnVtOworI2VuZGlmCisJCWNsb3NlKGZkKTsKKwkJZGlyID0gb3BlbmRpcigiL2RldiIpOworCQlpZiAoIWRpcikKKwkJCWdvdG8gZmFsbGJhY2s7CisJCW5hbWUgPSBzY2FuZGV2KGRpciwgY29tcGFyZWRldik7CisJCWNsb3NlZGlyKGRpcik7CisKKwkJaWYgKG5hbWUpIHsKKwkJCXJjID0gYXBwZW5kX2NvbnNvbGUoY29uc29sZXMsIG5hbWUpOworCQkJZnJlZShuYW1lKTsKKwkJCWlmIChyYyA8IDApCisJCQkJcmV0dXJuIHJjOworCQl9CisJCWlmIChsaXN0X2VtcHR5KGNvbnNvbGVzKSkKKwkJCWdvdG8gZmFsbGJhY2s7CisKKwkJREJHKGRiZ3ByaW50KCJkZXRlY3Rpb24gc3VjY2VzcyBbcmM9JWRdIiwgcmVjb25uZWN0KSk7CisJCXJldHVybiByZWNvbm5lY3Q7CisJfQorI2lmZGVmIF9fbGludXhfXworY29uc29sZToKKwkvKgorCSAqIERldGVjdGlvbiBvZiBkZXZpY2VzIHVzZWQgZm9yIExpbnV4IHN5c3RlbSBjb25zb2xlIHVzaW5nCisJICogdGhlIC9wcm9jL2NvbnNvbGVzIEFQSSB3aXRoIGtlcm5lbCAyLjYuMzggYW5kIGhpZ2hlci4KKwkgKi8KKwlyYyA9IGRldGVjdF9jb25zb2xlc19mcm9tX3Byb2MoY29uc29sZXMpOworCWlmIChyYyA9PSAwKQorCQlyZXR1cm4gcmVjb25uZWN0OwkvKiBzdWNjZXNzICovCisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuIHJjOwkJLyogZmF0YWwgZXJyb3IgKi8KKworCS8qCisJICogRGV0ZWN0aW9uIG9mIGRldmljZXMgdXNlZCBmb3IgTGludXggc3lzdGVtIGNvbnNvbGUgdXNpbmcKKwkgKiB0aGUgc3lzZnMgL3N5cy9jbGFzcy90dHkvIEFQSSB3aXRoIGtlcm5lbCAyLjYuMzcgYW5kIGhpZ2hlci4KKwkgKi8KKwlyYyA9IGRldGVjdF9jb25zb2xlc19mcm9tX3N5c2ZzKGNvbnNvbGVzKTsKKwlpZiAocmMgPT0gMCkKKwkJcmV0dXJuIHJlY29ubmVjdDsJLyogc3VjY2VzcyAqLworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsJCS8qIGZhdGFsIGVycm9yICovCisKKwkvKgorCSAqIERldGVjdGlvbiBvZiBkZXZpY2VzIHVzZWQgZm9yIExpbnV4IHN5c3RlbSBjb25zb2xlIHVzaW5nCisJICoga2VybmVsIHBhcmFtZXRlciBvbiB0aGUga2VybmVscyBjb21tYW5kIGxpbmUuCisJICovCisJcmMgPSBkZXRlY3RfY29uc29sZXNfZnJvbV9jbWRsaW5lKGNvbnNvbGVzKTsKKwlpZiAocmMgPT0gMCkKKwkJcmV0dXJuIHJlY29ubmVjdDsJLyogc3VjY2VzcyAqLworCWlmIChyYyA8IDApCisJCXJldHVybiByYzsJCS8qIGZhdGFsIGVycm9yICovCisKKwkvKgorCSAqIERldGVjdGlvbiBvZiB0aGUgZGV2aWNlIHVzZWQgZm9yIExpbnV4IHN5c3RlbSBjb25zb2xlIHVzaW5nCisJICogdGhlIGlvY3RsIFRJT0NHREVWIGlmIGF2YWlsYWJsZSAoZS5nLiBvZmZpY2lhbCAyLjYuMzgpLgorCSAqLworI2lmZGVmIFRJT0NHREVWCisJcmMgPSBkZXRlY3RfY29uc29sZXNfZnJvbV90aW9jZ2Rldihjb25zb2xlcywgZmFsbGJhY2ssIGRldmljZSk7CisJaWYgKHJjID09IDApCisJCXJldHVybiByZWNvbm5lY3Q7CS8qIHN1Y2Nlc3MgKi8KKwlpZiAocmMgPCAwKQorCQlyZXR1cm4gcmM7CQkvKiBmYXRhbCBlcnJvciAqLworI2VuZGlmCisJaWYgKCFsaXN0X2VtcHR5KGNvbnNvbGVzKSkgeworCQlEQkcoZGJncHJpbnQoImRldGVjdGlvbiBzdWNjZXNzIFtyYz0lZF0iLCByZWNvbm5lY3QpKTsKKwkJcmV0dXJuIHJlY29ubmVjdDsKKwl9CisKKyNlbmRpZiAvKiBfX2xpbnV4IF9fICovCisKK2ZhbGxiYWNrOgorCWlmIChmYWxsYmFjayA+PSAwKSB7CisJCWNvbnN0IGNoYXIgKm5hbWU7CisJICAgICAgICBjaGFyICpuOworCQlzdHJ1Y3QgY29uc29sZSAqY29uc29sZTsKKworCQlpZiAoZGV2aWNlICYmICpkZXZpY2UgIT0gJ1wwJykKKwkJCW5hbWUgPSBkZXZpY2U7CisJCWVsc2UJbmFtZSA9IHR0eW5hbWUoZmFsbGJhY2spOworCisJCWlmICghbmFtZSkKKwkJCW5hbWUgPSAiL2Rldi90dHkiOworCisJCW4gPSBzdHJkdXAobmFtZSk7CisJCWlmICghbikKKwkJCXJldHVybiAtRU5PTUVNOworCQlyYyA9IGFwcGVuZF9jb25zb2xlKGNvbnNvbGVzLCBuKTsKKwkJZnJlZShuKTsKKwkJaWYgKHJjIDwgMCkKKwkJCXJldHVybiByYzsKKwkJaWYgKGxpc3RfZW1wdHkoY29uc29sZXMpKQorCQkJcmV0dXJuIDE7CisJCWNvbnNvbGUgPSBsaXN0X2xhc3RfZW50cnkoY29uc29sZXMsIHN0cnVjdCBjb25zb2xlLCBlbnRyeSk7CisJCWlmIChjb25zb2xlKQorCQkJY29uc29sZS0+ZmQgPSBmYWxsYmFjazsKKwl9CisKKwlEQkcoZGJncHJpbnQoImRldGVjdGlvbiBkb25lIGJ5IGZhbGxiYWNrIFtyYz0lZF0iLCByZWNvbm5lY3QpKTsKKwlyZXR1cm4gcmVjb25uZWN0OworfQorCisKKyNpZmRlZiBURVNUX1BST0dSQU0KK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqbmFtZSA9IE5VTEw7CisJaW50IGZkLCByZTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCBjb25zb2xlczsKKworCWlmIChhcmdjID09IDIpIHsKKwkJbmFtZSA9IGFyZ3ZbMV07CisJCWZkID0gb3BlbihuYW1lLCBPX1JEV1IpOworCX0gZWxzZSB7CisJCW5hbWUgPSB0dHluYW1lKFNURElOX0ZJTEVOTyk7CisJCWZkID0gU1RESU5fRklMRU5POworCX0KKworCWlmICghbmFtZSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICJ1c2FnZTogJXMgWzx0dHk+XVxuIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJSU5JVF9MSVNUX0hFQUQoJmNvbnNvbGVzKTsKKwlyZSA9IGRldGVjdF9jb25zb2xlcyhuYW1lLCBmZCwgJmNvbnNvbGVzKTsKKworCWxpc3RfZm9yX2VhY2gocCwgJmNvbnNvbGVzKSB7CisJCXN0cnVjdCBjb25zb2xlICpjID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgY29uc29sZSwgZW50cnkpOworCQlwcmludGYoIiVzOiBpZD0lZCAlc1xuIiwgYy0+dHR5LCBjLT5pZCwgcmUgPyAiKHJlY29ubmVjdCkgIiA6ICIiKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKyNlbmRpZgpkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvc3Vsb2dpbi1jb25zb2xlcy5oIGIvbG9naW4tdXRpbHMvc3Vsb2dpbi1jb25zb2xlcy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY3NjJlODcKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy9zdWxvZ2luLWNvbnNvbGVzLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIGNvbnNvbGVzLmgJICAgIEhlYWRlciBmaWxlIGZvciByb3V0aW5lcyB0byBkZXRlY3QgdGhlIHN5c3RlbSBjb25zb2xlcworICoKKyAqIENvcHlyaWdodCAoYykgMjAxMSBTdVNFIExJTlVYIFByb2R1Y3RzIEdtYkgsIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKGMpIDIwMTIgV2VybmVyIEZpbmsgPHdlcm5lckBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKQorICogYW55IGxhdGVyIHZlcnNpb24uCisgKiAgCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbSAoc2VlIHRoZSBmaWxlIENPUFlJTkcpOyBpZiBub3QsIHdyaXRlIHRvIHRoZQorICogRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdCwgRmlmdGggRmxvb3IsIEJvc3RvbiwKKyAqIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqCisgKiBBdXRob3I6IFdlcm5lciBGaW5rIDx3ZXJuZXJAc3VzZS5kZT4KKyAqLworI2lmbmRlZiBVVElMX0xJTlVYX1NVTE9HSU5fQ09OU09MRVNfSAorI2RlZmluZSBVVElMX0xJTlVYX1NVTE9HSU5fQ09OU09MRVNfSAorCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKworc3RydWN0IGNvbnNvbGUgeworCXN0cnVjdCBsaXN0X2hlYWQgZW50cnk7CisJY2hhciAqdHR5OworCUZJTEUgKmZpbGU7CisJdWludDMyX3QgZmxhZ3M7CisJaW50IGZkLCBpZDsKKyNkZWZpbmUJQ09OX1NFUklBTAkweDAwMDEKKyNkZWZpbmUJQ09OX05PVFRZCTB4MDAwMgorCXBpZF90IHBpZDsKKwlzdHJ1Y3QgY2hhcmRhdGEgY3A7CisJc3RydWN0IHRlcm1pb3MgdGlvOworfTsKKworZXh0ZXJuIGludCBkZXRlY3RfY29uc29sZXMoY29uc3QgY2hhciAqZGV2aWNlLCBpbnQgZmFsbGJhY2ssCisJCQkgICBzdHJ1Y3QgbGlzdF9oZWFkICpjb25zb2xlcyk7CisKK2V4dGVybiB2b2lkIGVtZXJnZW5jeV9kb191bW91bnRzKHZvaWQpOworZXh0ZXJuIHZvaWQgZW1lcmdlbmN5X2RvX21vdW50cyh2b2lkKTsKKworI2VuZGlmIC8qIFVUSUxfTElOVVhfU1VMT0dJTl9DT05TT0xFU19IICovCmRpZmYgLS1naXQgYS9sb2dpbi11dGlscy9zdWxvZ2luLjggYi9sb2dpbi11dGlscy9zdWxvZ2luLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk5OGI0YQotLS0gL2Rldi9udWxsCisrKyBiL2xvZ2luLXV0aWxzL3N1bG9naW4uOApAQCAtMCwwICsxLDk1IEBACisuXCIgQ29weXJpZ2h0IChDKSAxOTk4LTIwMDYgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZy4KKy5cIiBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIKKy5cIiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorLlwiIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisuXCIgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKy5cIiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLlwiCisuXCIgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisuXCIgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy5cIiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisuXCIgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy5cIgorLlwiIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuXCIgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy5cIiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBCisuXCIKKy5USCBTVUxPR0lOICI4IiAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitzdWxvZ2luIFwtIHNpbmdsZS11c2VyIGxvZ2luCisuU0ggU1lOT1BTSVMKKy5CUiBzdWxvZ2luICIgW29wdGlvbnNdIgorLlJJIFsgdHR5IF0KKy5TSCBERVNDUklQVElPTgorLkIgc3Vsb2dpbgoraXMgaW52b2tlZCBieQorLkIgaW5pdAord2hlbiB0aGUgc3lzdGVtIGdvZXMgaW50byBzaW5nbGUtdXNlciBtb2RlLgorLlBQCitUaGUgdXNlciBpcyBwcm9tcHRlZDoKKy5JUCAiIiAuNWkKK0dpdmUgcm9vdCBwYXNzd29yZCBmb3Igc3lzdGVtIG1haW50ZW5hbmNlCisuYnIKKyhvciB0eXBlIENvbnRyb2xcLUQgZm9yIG5vcm1hbCBzdGFydHVwKToKKy5QUAorSWYgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQgYW5kIC0tZm9yY2UgaXMgc3BlY2lmaWVkLCBubyBwYXNzd29yZCBpcyByZXF1aXJlZC4KKy5QUAorLkIgc3Vsb2dpbgord2lsbCBiZSBjb25uZWN0ZWQgdG8gdGhlIGN1cnJlbnQgdGVybWluYWwsIG9yIHRvIHRoZSBvcHRpb25hbCBcZkl0dHlcZlIgZGV2aWNlIHRoYXQKK2NhbiBiZSBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZSAodHlwaWNhbGx5CisuSVIgL2Rldi9jb25zb2xlICkuCisuUFAKK1doZW4gdGhlIHVzZXIgZXhpdHMgZnJvbSB0aGUgc2luZ2xlLXVzZXIgc2hlbGwsIG9yIHByZXNzZXMgY29udHJvbFwtRCBhdCB0aGUKK3Byb21wdCwgdGhlIHN5c3RlbSB3aWxsIGNvbnRpbnVlIHRvIGJvb3QuCisuU0ggT1BUSU9OUworLklQICJcZkJcLWVcZlIsIFxmQlwtXC1mb3JjZVxmUCIKK0lmIHRoZSBkZWZhdWx0IG1ldGhvZCBvZiBvYnRhaW5pbmcgdGhlIHJvb3QgcGFzc3dvcmQgZnJvbSB0aGUgc3lzdGVtIHZpYQorLkJSIGdldHB3bmFtICgzKQorZmFpbHMsIHRoZW4gZXhhbWluZQorLkkgL2V0Yy9wYXNzd2QKK2FuZAorLkkgL2V0Yy9zaGFkb3cKK3RvIGdldCB0aGUgcGFzc3dvcmQuICBJZiB0aGVzZSBmaWxlcyBhcmUgZGFtYWdlZCBvciBub25leGlzdGVudCwgb3Igd2hlbgorcm9vdCBhY2NvdW50IGlzIGxvY2tlZCBieSAnIScgb3IgJyonIGF0IHRoZSBiZWdpbiBvZiB0aGUgcGFzc3dvcmQgdGhlbgorLkIgc3Vsb2dpbgord2lsbCBcZkJzdGFydCBhIHJvb3Qgc2hlbGwgd2l0aG91dCBhc2tpbmcgZm9yIGEgcGFzc3dvcmRcZlAuCisuUFAKKy5JUAorT25seSB1c2UgdGhlCisuQiBcLWUKK29wdGlvbiBpZiB5b3UgYXJlIHN1cmUgdGhlIGNvbnNvbGUgaXMgcGh5c2ljYWxseSBwcm90ZWN0ZWQgYWdhaW5zdAordW5hdXRob3JpemVkIGFjY2Vzcy4KKy5JUCAiXGZCXC1wXGZSLCBcZkJcLVwtbG9naW5cLXNoZWxsXGZQIgorU3BlY2lmeWluZyB0aGlzIG9wdGlvbiBjYXVzZXMKKy5CIHN1bG9naW4KK3RvIHN0YXJ0IHRoZSBzaGVsbCBwcm9jZXNzIGFzIGEgbG9naW4gc2hlbGwuCisuSVAgIlxmQlwtdFxmUiwgXGZCXC1cLXRpbWVvdXQgXGZJc2Vjb25kc1xmUCIKK1NwZWNpZnkgdGhlIG1heGltdW0gYW1vdW50IG9mIHRpbWUgdG8gd2FpdCBmb3IgdXNlciBpbnB1dC4gIEJ5IGRlZmF1bHQsCisuQiBzdWxvZ2luCit3aWxsIHdhaXQgZm9yZXZlci4KKy5JUCAiXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLklQICJcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZQIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIEVOVklST05NRU5UIFZBUklBQkxFUworLkIgc3Vsb2dpbgorbG9va3MgZm9yIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLkIgU1VTSEVMTAorb3IKKy5CIHN1c2hlbGwKK3RvIGRldGVybWluZSB3aGF0IHNoZWxsIHRvIHN0YXJ0LiAgSWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIG5vdCBzZXQsIGl0Cit3aWxsIHRyeSB0byBleGVjdXRlIHJvb3QncyBzaGVsbCBmcm9tCisuSVIgL2V0Yy9wYXNzd2QgLgorSWYgdGhhdCBmYWlscywgaXQKK3dpbGwgZmFsbCBiYWNrIHRvCisuSVIgL2Jpbi9zaCAuCisuU0ggQVVUSE9SCisuQiBzdWxvZ2luCit3YXMgd3JpdHRlbiBieSBNaXF1ZWwgdmFuIFNtb29yZW5idXJnIGZvciBzeXN2aW5pdCBhbmQgbGF0ZXIgcG9ydGVkCit0byB1dGlsLWxpbnV4IGJ5IERhdmUgUmVpc25lciBhbmQgS2FyZWwgWmFrLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHN1bG9naW4gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3N1bG9naW4uYyBiL2xvZ2luLXV0aWxzL3N1bG9naW4uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OWI5NDlhCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvc3Vsb2dpbi5jCkBAIC0wLDAgKzEsMTExMSBAQAorLyoKKyAqIHN1bG9naW4KKyAqCisgKiBUaGlzIHByb2dyYW0gZ2l2ZXMgTGludXggbWFjaGluZXMgYSByZWFzb25hYmxlIHNlY3VyZSB3YXkgdG8gYm9vdCBzaW5nbGUKKyAqIHVzZXIuIEl0IGZvcmNlcyB0aGUgdXNlciB0byBzdXBwbHkgdGhlIHJvb3QgcGFzc3dvcmQgYmVmb3JlIGEgc2hlbGwgaXMKKyAqIHN0YXJ0ZWQuIElmIHRoZXJlIGlzIGEgc2hhZG93IHBhc3N3b3JkIGZpbGUgYW5kIHRoZSBlbmNyeXB0ZWQgcm9vdCBwYXNzd29yZAorICogaXMgIngiIHRoZSBzaGFkb3cgcGFzc3dvcmQgd2lsbCBiZSB1c2VkLgorICoKKyAqIENvcHlyaWdodCAoQykgMTk5OC0yMDAzIE1pcXVlbCB2YW4gU21vb3JlbmJ1cmcuCisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTIgV2VybmVyIEZpbmsgPHdlcm5lckBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyAqLworI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzaGFkb3cuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpZmRlZiBIQVZFX0NSWVBUX0gKKyMgaW5jbHVkZSA8Y3J5cHQuaD4KKyNlbmRpZgorCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisjIGluY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorIyBpbmNsdWRlIDxzZWxpbnV4L2dldF9jb250ZXh0X2xpc3QuaD4KKyNlbmRpZgorCisjaWZkZWYgX19saW51eF9fCisjIGluY2x1ZGUgPHN5cy9rZC5oPgorIyBpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaWZkZWYgVVNFX1BMWU1PVVRIX1NVUFBPUlQKKyMgaW5jbHVkZSAicGx5bW91dGgtY3RybC5oIgorI2VuZGlmCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorI2luY2x1ZGUgInN1bG9naW4tY29uc29sZXMuaCIKKyNkZWZpbmUgQ09OTUFYCQkxNgorCitzdGF0aWMgdW5zaWduZWQgaW50IHRpbWVvdXQ7CitzdGF0aWMgaW50IHByb2ZpbGU7CitzdGF0aWMgdm9sYXRpbGUgdWludDMyX3Qgb3BlbmZkOwkJLyogUmVtZW1iZXIgaGlnaGVyIGZpbGUgZGVzY3JpcHRvcnMgKi8KKworc3RhdGljIHN0cnVjdCBzaWdhY3Rpb24gc2F2ZWRfc2lnaW50Oworc3RhdGljIHN0cnVjdCBzaWdhY3Rpb24gc2F2ZWRfc2lndHN0cDsKK3N0YXRpYyBzdHJ1Y3Qgc2lnYWN0aW9uIHNhdmVkX3NpZ3F1aXQ7CitzdGF0aWMgc3RydWN0IHNpZ2FjdGlvbiBzYXZlZF9zaWdodXA7CitzdGF0aWMgc3RydWN0IHNpZ2FjdGlvbiBzYXZlZF9zaWdjaGxkOworCitzdGF0aWMgdm9sYXRpbGUgc2lnX2F0b21pY190IGFsYXJtX3Jpc2VkOworc3RhdGljIHZvbGF0aWxlIHNpZ19hdG9taWNfdCBzaWdjaGlsZDsKKworI2lmbmRlZiBJVUNMQworIyBkZWZpbmUgSVVDTEMJCTAKKyNlbmRpZgorCisjaWZuZGVmIFdFWElURUQKKyMgd2FybmluZyAiV0VYSVRFRCBpcyBtaXNzaW5nLCBzdWxvZ2luIG1heSBub3Qgd29yayBhcyBleHBlY3RlZCIKKyMgZGVmaW5lIFdFWElURUQgMAorI2VuZGlmCisKK3N0YXRpYyBpbnQgbG9ja2VkX2FjY291bnRfcGFzc3dvcmQoY29uc3QgY2hhciAqIGNvbnN0IHBhc3N3ZCkKK3sKKwlpZiAocGFzc3dkICYmICgqcGFzc3dkID09ICcqJyB8fCAqcGFzc3dkID09ICchJykpCisJCXJldHVybiAxOworCXJldHVybiAwOworfQorCisvKgorICogRml4IHRoZSB0dHkgbW9kZXMgYW5kIHNldCByZWFzb25hYmxlIGRlZmF1bHRzLgorICovCitzdGF0aWMgdm9pZCB0Y2luaXQoc3RydWN0IGNvbnNvbGUgKmNvbikKK3sKKwlpbnQgZmxhZ3MgPSAwLCBtb2RlID0gMDsKKwlzdHJ1Y3QgdGVybWlvcyAqdGlvID0gJmNvbi0+dGlvOworCWNvbnN0IGludCBmZCA9IGNvbi0+ZmQ7CisjaWZkZWYgVVNFX1BMWU1PVVRIX1NVUFBPUlQKKwlzdHJ1Y3QgdGVybWlvcyBsb2NrOworCWludCBpID0gKHBseW1vdXRoX2NvbW1hbmQoTUFHSUNfUElORykpID8gUExZTU9VVEhfVEVSTUlPU19GTEFHU19ERUxBWSA6IDA7CisJaWYgKGkpCisJCXBseW1vdXRoX2NvbW1hbmQoTUFHSUNfUVVJVCk7CisJd2hpbGUgKGktLSA+IDApIHsKKwkJLyoKKwkJICogV2l0aCBwbHltb3V0aCB0aGUgdGVybWlvcyBmbGFncyBiZWNvbWUgY2hhbmdlZCBhZnRlciB0aGlzCisJCSAqIGZ1bmN0aW9uIGhhZCBjaGFuZ2VkIHRoZSB0ZXJtaW9zLgorCQkgKi8KKwkJbWVtc2V0KCZsb2NrLCAwLCBzaXplb2Yoc3RydWN0IHRlcm1pb3MpKTsKKwkJaWYgKGlvY3RsKGZkLCBUSU9DR0xDS1RSTUlPUywgJmxvY2spIDwgMCkKKwkJCWJyZWFrOworCQlpZiAoIWxvY2suY19pZmxhZyAmJiAhbG9jay5jX29mbGFnICYmICFsb2NrLmNfY2ZsYWcgJiYgIWxvY2suY19sZmxhZykKKwkJCWJyZWFrOworCQlzbGVlcCgxKTsKKwl9CisJbWVtc2V0KCZsb2NrLCAwLCBzaXplb2Yoc3RydWN0IHRlcm1pb3MpKTsKKwlpb2N0bChmZCwgVElPQ1NMQ0tUUk1JT1MsICZsb2NrKTsKKyNlbmRpZgorCWVycm5vID0gMDsKKworCWlmICh0Y2dldGF0dHIoZmQsIHRpbykgPCAwKSB7CisJCXdhcm4oXygidGNnZXRhdHRyIGZhaWxlZCIpKTsKKwkJY29uLT5mbGFncyB8PSBDT05fTk9UVFk7CisJCXJldHVybjsKKwl9CisKKwkvKiBIYW5kbGUgbGluZXMgb3RoZXIgdGhhbiB2aXJ0dWFsIGNvbnNvbGVzIGhlcmUgKi8KKyNpZiBkZWZpbmVkKEtER0tCTU9ERSkKKwlpZiAoaW9jdGwoZmQsIEtER0tCTU9ERSwgJm1vZGUpIDwgMCkKKyNlbmRpZgorCXsKKwkJc3BlZWRfdCBpc3BlZWQsIG9zcGVlZDsKKwkJc3RydWN0IHdpbnNpemUgd3M7CisJCWVycm5vID0gMDsKKworCQkvKiB0aGlzIGlzIGEgbW9kZW0gbGluZSAqLworCQljb24tPmZsYWdzIHw9IENPTl9TRVJJQUw7CisKKwkJLyogRmx1c2ggaW5wdXQgYW5kIG91dHB1dCBxdWV1ZXMgb24gbW9kZW0gbGluZXMgKi8KKwkJdGNmbHVzaChmZCwgVENJT0ZMVVNIKTsKKworCQlpc3BlZWQgPSBjZmdldGlzcGVlZCh0aW8pOworCQlvc3BlZWQgPSBjZmdldG9zcGVlZCh0aW8pOworCisJCWlmICghaXNwZWVkKSBpc3BlZWQgPSBUVFlERUZfU1BFRUQ7CisJCWlmICghb3NwZWVkKSBvc3BlZWQgPSBUVFlERUZfU1BFRUQ7CisKKwkJdGlvLT5jX2NmbGFnID0gQ1JFQUQgfCBDUzggfCBIVVBDTCB8ICh0aW8tPmNfY2ZsYWcgJiBDTE9DQUwpOworCQl0aW8tPmNfaWZsYWcgPSAwOworCQl0aW8tPmNfbGZsYWcgPSAwOworCQl0aW8tPmNfb2ZsYWcgJj0gT1BPU1QgfCBPTkxDUjsKKworCQljZnNldGlzcGVlZCh0aW8sIGlzcGVlZCk7CisJCWNmc2V0b3NwZWVkKHRpbywgb3NwZWVkKTsKKworI2lmZGVmIEhBVkVfU1RSVUNUX1RFUk1JT1NfQ19MSU5FCisJCXRpby0+Y19saW5lICAgICAgICAgPSAwOworI2VuZGlmCisJCXRpby0+Y19jY1tWVElNRV0gICAgPSAwOworCQl0aW8tPmNfY2NbVk1JTl0gICAgID0gMTsKKworCQlpZiAoaW9jdGwoZmQsIFRJT0NHV0lOU1osICZ3cykgPT0gMCkgeworCQkJaW50IHNldCA9IDA7CisJCQlpZiAod3Mud3Nfcm93ID09IDApIHsKKwkJCQl3cy53c19yb3cgPSAyNDsKKwkJCQlzZXQrKzsKKwkJCX0KKwkJCWlmICh3cy53c19jb2wgPT0gMCkgeworCQkJCXdzLndzX2NvbCA9IDgwOworCQkJCXNldCsrOworCQkJfQorCQkJaWYgKHNldCkKKwkJCQlpZ25vcmVfcmVzdWx0KCBpb2N0bChmZCwgVElPQ1NXSU5TWiwgJndzKSApOworCQl9CisKKwkJc2V0bG9jYWxlKExDX0NUWVBFLCAiUE9TSVgiKTsKKwkJZ290byBzZXRhdHRyOworCX0KKyNpZiBkZWZpbmVkKElVVEY4KSAmJiBkZWZpbmVkKEtER0tCTU9ERSkKKwkvKiBIYW5kbGUgbW9kZSBvZiBjdXJyZW50IGtleWJvYXJkIHNldHVwLCBlLmcuIGZvciBVVEYtOCAqLworCXN3aXRjaChtb2RlKSB7CisJY2FzZSBLX1VOSUNPREU6CisJCXNldGxvY2FsZShMQ19DVFlQRSwgIkMuVVRGLTgiKTsKKwkJZmxhZ3MgfD0gVUxfVFRZX1VURjg7CisJCWJyZWFrOworCWNhc2UgS19SQVc6CisJY2FzZSBLX01FRElVTVJBVzoKKwljYXNlIEtfWExBVEU6CisJZGVmYXVsdDoKKwkJc2V0bG9jYWxlKExDX0NUWVBFLCAiUE9TSVgiKTsKKwkJYnJlYWs7CisJfQorI2Vsc2UKKwlzZXRsb2NhbGUoTENfQ1RZUEUsICJQT1NJWCIpOworI2VuZGlmCisJcmVzZXRfdmlydHVhbF9jb25zb2xlKHRpbywgZmxhZ3MpOworc2V0YXR0cjoKKwlpZiAodGNzZXRhdHRyKGZkLCBUQ1NBTk9XLCB0aW8pKQorCQl3YXJuKF8oInRjc2V0YXR0ciBmYWlsZWQiKSk7CisKKwkvKiBFbmFibGUgYmxvY2tpbmcgbW9kZSBmb3IgcmVhZCBhbmQgd3JpdGUgKi8KKwlpZiAoKGZsYWdzID0gZmNudGwoZmQsIEZfR0VURkwsIDApKSAhPSAtMSkKKwkJaWdub3JlX3Jlc3VsdCggZmNudGwoZmQsIEZfU0VURkwsIGZsYWdzICYgfk9fTk9OQkxPQ0spICk7Cit9CisKKy8qCisgKiBGaW5hbGl6ZSB0aGUgdHR5IG1vZGVzIG9uIG1vZGVtIGxpbmVzLgorICovCitzdGF0aWMgdm9pZCB0Y2ZpbmFsKHN0cnVjdCBjb25zb2xlICpjb24pCit7CisJc3RydWN0IHRlcm1pb3MgKnRpbyA9ICZjb24tPnRpbzsKKwljb25zdCBpbnQgZmQgPSBjb24tPmZkOworCisJaWYgKChjb24tPmZsYWdzICYgQ09OX1NFUklBTCkgPT0gMCkgeworCQl4c2V0ZW52KCJURVJNIiwgImxpbnV4IiwgMSk7CisJCXJldHVybjsKKwl9CisJaWYgKGNvbi0+ZmxhZ3MgJiBDT05fTk9UVFkpIHsKKwkJeHNldGVudigiVEVSTSIsICJkdW1iIiwgMSk7CisJCXJldHVybjsKKwl9CisKKyNpZiBkZWZpbmVkIChfX3MzOTBfXykgfHwgZGVmaW5lZCAoX19zMzkweF9fKQorCXhzZXRlbnYoIlRFUk0iLCAiZHVtYiIsIDEpOworI2Vsc2UKKwl4c2V0ZW52KCJURVJNIiwgInZ0MTAyIiwgMSk7CisjZW5kaWYKKwl0aW8tPmNfaWZsYWcgfD0gKElYT04gfCBJWE9GRik7CisJdGlvLT5jX2xmbGFnIHw9IChJQ0FOT04gfCBJU0lHIHwgRUNIT3xFQ0hPRXxFQ0hPS3xFQ0hPS0UpOworCXRpby0+Y19vZmxhZyB8PSBPUE9TVDsKKworCXRpby0+Y19jY1tWSU5UUl0gICAgPSBDSU5UUjsKKwl0aW8tPmNfY2NbVlFVSVRdICAgID0gQ1FVSVQ7CisJdGlvLT5jX2NjW1ZFUkFTRV0gICA9IGNvbi0+Y3AuZXJhc2U7CisJdGlvLT5jX2NjW1ZLSUxMXSAgICA9IGNvbi0+Y3Aua2lsbDsKKwl0aW8tPmNfY2NbVkVPRl0gICAgID0gQ0VPRjsKKyNpZmRlZiBWU1dUQworCXRpby0+Y19jY1tWU1dUQ10gICAgPSBfUE9TSVhfVkRJU0FCTEU7CisjZWxpZiBkZWZpbmVkKFZTV1RDSCkKKwl0aW8tPmNfY2NbVlNXVENIXSAgID0gX1BPU0lYX1ZESVNBQkxFOworI2VuZGlmCisJdGlvLT5jX2NjW1ZTVEFSVF0gICA9IENTVEFSVDsKKwl0aW8tPmNfY2NbVlNUT1BdICAgID0gQ1NUT1A7CisJdGlvLT5jX2NjW1ZTVVNQXSAgICA9IENTVVNQOworCXRpby0+Y19jY1tWRU9MXSAgICAgPSBfUE9TSVhfVkRJU0FCTEU7CisKKwlpZiAoY29uLT5jcC5lb2wgPT0gQ1IpIHsKKwkJdGlvLT5jX2lmbGFnIHw9IElDUk5MOworCQl0aW8tPmNfaWZsYWcgJj0gfihJTkxDUnxJR05DUik7CisJCXRpby0+Y19vZmxhZyB8PSBPTkxDUjsKKwkJdGlvLT5jX29mbGFnICY9IH4oT0NSTkx8T05MUkVUKTsKKwl9CisKKwlzd2l0Y2ggKGNvbi0+Y3AucGFyaXR5KSB7CisJZGVmYXVsdDoKKwljYXNlIDA6CisJCXRpby0+Y19jZmxhZyAmPSB+KFBBUk9ERCB8IFBBUkVOQik7CisJCXRpby0+Y19pZmxhZyAmPSB+KElOUENLIHwgSVNUUklQKTsKKwkJYnJlYWs7CisJY2FzZSAxOgkJCQkvKiBvZGQgcGFyaXR5ICovCisJCXRpby0+Y19jZmxhZyB8PSBQQVJPREQ7CisJCS8qIGZhbGx0aHJvdWdoICovCisJY2FzZSAyOgkJCQkvKiBldmVuIHBhcml0eSAqLworCQl0aW8tPmNfY2ZsYWcgfD0gUEFSRU5COworCQl0aW8tPmNfaWZsYWcgfD0gKElOUENLIHwgSVNUUklQKTsKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlICgxIHwgMik6CQkJLyogbm8gcGFyaXR5IGJpdCAqLworCQl0aW8tPmNfY2ZsYWcgJj0gfkNTSVpFOworCQl0aW8tPmNfY2ZsYWcgfD0gQ1M3OworCQlicmVhazsKKwl9CisKKwkvKiBTZXQgbGluZSBhdHRyaWJ1dGVzICovCisJdGNzZXRhdHRyKGZkLCBUQ1NBTk9XLCB0aW8pOworfQorCisvKgorICogQ2FsbGVkIGF0IHRpbWVvdXQuCisgKi8KK3N0YXRpYyB2b2lkIGFscm1faGFuZGxlcihpbnQgc2lnIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCS8qIFRpbWVvdXQgZXhwaXJlZCAqLworCWFsYXJtX3Jpc2VkKys7Cit9CisKK3N0YXRpYyB2b2lkIGNobGRfaGFuZGxlcihpbnQgc2lnIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXNpZ2NoaWxkKys7Cit9CisKK3N0YXRpYyB2b2lkIG1hc2tfc2lnbmFsKGludCBzaWduYWwsIHZvaWQgKCpoYW5kbGVyKShpbnQpLAorCQlzdHJ1Y3Qgc2lnYWN0aW9uICpvcmlnYWN0aW9uKQoreworCXN0cnVjdCBzaWdhY3Rpb24gbmV3YWN0aW9uOworCisJbmV3YWN0aW9uLnNhX2hhbmRsZXIgPSBoYW5kbGVyOworCXNpZ2VtcHR5c2V0KCZuZXdhY3Rpb24uc2FfbWFzayk7CisJbmV3YWN0aW9uLnNhX2ZsYWdzID0gMDsKKworCXNpZ2FjdGlvbihzaWduYWwsICZuZXdhY3Rpb24sIG9yaWdhY3Rpb24pOworfQorCitzdGF0aWMgdm9pZCB1bm1hc2tfc2lnbmFsKGludCBzaWduYWwsIHN0cnVjdCBzaWdhY3Rpb24gKnNhKQoreworCXNpZ2FjdGlvbihzaWduYWwsIHNhLCBOVUxMKTsKK30KKworLyoKKyAqIFNlZSBpZiBhbiBlbmNyeXB0ZWQgcGFzc3dvcmQgaXMgdmFsaWQuIFRoZSBlbmNyeXB0ZWQgcGFzc3dvcmQgaXMgY2hlY2tlZCBmb3IKKyAqIHRyYWRpdGlvbmFsLXN0eWxlIERFUyBhbmQgRnJlZUJTRC1zdHlsZSBNRDUgZW5jcnlwdGlvbi4KKyAqLworc3RhdGljIGludCB2YWxpZChjb25zdCBjaGFyICpwYXNzKQoreworCWNvbnN0IGNoYXIgKnM7CisJY2hhciBpZFs1XTsKKwlzaXplX3QgbGVuOworCW9mZl90IG9mZjsKKworCWlmIChwYXNzWzBdID09IDApCisJCXJldHVybiAxOworCWlmIChwYXNzWzBdICE9ICckJykKKwkJZ290byBjaGVja19kZXM7CisKKwkvKgorCSAqIHVwIHRvIDQgYnl0ZXMgZm9yIHRoZSBzaWduYXR1cmUgZS5nLiAkMSQKKwkgKi8KKwlmb3IgKHMgPSBwYXNzKzE7ICpzICYmICpzICE9ICckJzsgcysrKTsKKworCWlmICgqcysrICE9ICckJykKKwkJcmV0dXJuIDA7CisKKwlpZiAoKG9mZiA9IChvZmZfdCkocy1wYXNzKSkgPiA0IHx8IG9mZiA8IDMpCisJCXJldHVybiAwOworCisJbWVtc2V0KGlkLCAnXDAnLCBzaXplb2YoaWQpKTsKKwlzdHJuY3B5KGlkLCBwYXNzLCBvZmYpOworCisJLyoKKwkgKiB1cCB0byAxNiBieXRlcyBmb3IgdGhlIHNhbHQKKwkgKi8KKwlmb3IgKDsgKnMgJiYgKnMgIT0gJyQnOyBzKyspOworCisJaWYgKCpzKysgIT0gJyQnKQorCQlyZXR1cm4gMDsKKworCWlmICgob2ZmX3QpKHMtcGFzcykgPiAxNikKKwkJcmV0dXJuIDA7CisKKwlsZW4gPSBzdHJsZW4ocyk7CisKKwkvKgorCSAqIHRoZSBNRDUgaGFzaCAoMTI4IGJpdHMgb3IgMTYgYnl0ZXMpIGVuY29kZWQgaW4gYmFzZTY0ID0gMjIgYnl0ZXMKKwkgKi8KKwlpZiAoKHN0cmNtcChpZCwgIiQxJCIpID09IDApICYmIChsZW4gPCAyMiB8fCBsZW4gPiAyNCkpCisJCXJldHVybiAwOworCisJLyoKKwkgKiB0aGUgU0hBLTI1NiBoYXNoIDQzIGJ5dGVzCisJICovCisJaWYgKChzdHJjbXAoaWQsICIkNSQiKSA9PSAwKSAmJiAobGVuIDwgNDIgfHwgbGVuID4gNDQpKQorCQlyZXR1cm4gMDsKKworCS8qCisJICogdGhlIFNIQS01MTIgaGFzaCA4NiBieXRlcworCSAqLworCWlmICgoc3RyY21wKGlkLCAiJDYkIikgPT0gMCkgJiYgKGxlbiA8IDg1IHx8IGxlbiA+IDg3KSkKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIGUuZy4gQmxvd2Zpc2ggaGFzaAorCSAqLworCXJldHVybiAxOworY2hlY2tfZGVzOgorCWlmIChzdHJsZW4ocGFzcykgIT0gMTMpCisJCXJldHVybiAwOworCisJZm9yIChzID0gcGFzczsgKnM7IHMrKykgeworCQlpZiAoKCpzIDwgJzAnIHx8ICpzID4gJzknKSAmJgorCQkgICAgKCpzIDwgJ2EnIHx8ICpzID4gJ3onKSAmJgorCQkgICAgKCpzIDwgJ0EnIHx8ICpzID4gJ1onKSAmJgorCQkgICAgKnMgIT0gJy4nICYmICpzICE9ICcvJykKKwkJCXJldHVybiAwOworCX0KKwlyZXR1cm4gMTsKK30KKworLyoKKyAqIFNldCBhIHZhcmlhYmxlIGlmIHRoZSB2YWx1ZSBpcyBub3QgTlVMTC4KKyAqLworc3RhdGljIGlubGluZSB2b2lkIHNldChjaGFyICoqdmFyLCBjaGFyICp2YWwpCit7CisJaWYgKHZhbCkKKwkJKnZhciA9IHZhbDsKK30KKworLyoKKyAqIEdldCB0aGUgcm9vdCBwYXNzd29yZCBlbnRyeS4KKyAqLworc3RhdGljIHN0cnVjdCBwYXNzd2QgKmdldHJvb3Rwd2VudChpbnQgdHJ5X21hbnVhbGx5KQoreworCXN0YXRpYyBzdHJ1Y3QgcGFzc3dkIHB3ZDsKKwlzdHJ1Y3QgcGFzc3dkICpwdzsKKwlzdHJ1Y3Qgc3B3ZCAqc3B3OworCUZJTEUgKmZwOworCXN0YXRpYyBjaGFyIGxpbmVbMiAqIEJVRlNJWl07CisJc3RhdGljIGNoYXIgc2xpbmVbMiAqIEJVRlNJWl07CisJY2hhciAqcDsKKworCS8qCisJICogRmlyc3QsIHdlIHRyeSB0byBnZXQgdGhlIHBhc3N3b3JkIHRoZSBzdGFuZGFyZCB3YXkgdXNpbmcgbm9ybWFsCisJICogbGlicmFyeSBjYWxscy4KKwkgKi8KKwlpZiAoKHB3ID0gZ2V0cHduYW0oInJvb3QiKSkgJiYKKwkgICAgIXN0cmNtcChwdy0+cHdfcGFzc3dkLCAieCIpICYmCisJICAgIChzcHcgPSBnZXRzcG5hbSgicm9vdCIpKSkKKwkJcHctPnB3X3Bhc3N3ZCA9IHNwdy0+c3BfcHdkcDsKKworCWlmIChwdyB8fCAhdHJ5X21hbnVhbGx5KQorCQlyZXR1cm4gcHc7CisKKwkvKgorCSAqIElmIHdlIGNvbWUgaGVyZSwgd2UgY291bGQgbm90IHJldHJpZXZlIHRoZSByb290IHBhc3N3b3JkIHRocm91Z2gKKwkgKiBsaWJyYXJ5IGNhbGxzIGFuZCB3ZSB0cnkgdG8gcmVhZCB0aGUgcGFzc3dvcmQgYW5kIHNoYWRvdyBmaWxlcworCSAqIG1hbnVhbGx5LgorCSAqLworCXB3ZC5wd19uYW1lID0gInJvb3QiOworCXB3ZC5wd19wYXNzd2QgPSAiIjsKKwlwd2QucHdfZ2Vjb3MgPSAiU3VwZXIgVXNlciI7CisJcHdkLnB3X2RpciA9ICIvIjsKKwlwd2QucHdfc2hlbGwgPSAiIjsKKwlwd2QucHdfdWlkID0gMDsKKwlwd2QucHdfZ2lkID0gMDsKKworCWlmICgoZnAgPSBmb3BlbihfUEFUSF9QQVNTV0QsICJyIikpID09IE5VTEwpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBfUEFUSF9QQVNTV0QpOworCQlyZXR1cm4gJnB3ZDsKKwl9CisKKwkvKgorCSAqIEZpbmQgcm9vdCBpbiB0aGUgcGFzc3dvcmQgZmlsZS4KKwkgKi8KKwl3aGlsZSAoKHAgPSBmZ2V0cyhsaW5lLCBzaXplb2YobGluZSksIGZwKSkgIT0gTlVMTCkgeworCQlpZiAoc3RybmNtcChsaW5lLCAicm9vdDoiLCA1KSAhPSAwKQorCQkJY29udGludWU7CisJCXAgKz0gNTsKKwkJc2V0KCZwd2QucHdfcGFzc3dkLCBzdHJzZXAoJnAsICI6IikpOworCQlzdHJzZXAoJnAsICI6Iik7CisJCXN0cnNlcCgmcCwgIjoiKTsKKwkJc2V0KCZwd2QucHdfZ2Vjb3MsIHN0cnNlcCgmcCwgIjoiKSk7CisJCXNldCgmcHdkLnB3X2Rpciwgc3Ryc2VwKCZwLCAiOiIpKTsKKwkJc2V0KCZwd2QucHdfc2hlbGwsIHN0cnNlcCgmcCwgIlxuIikpOworCQlwID0gbGluZTsKKwkJYnJlYWs7CisJfQorCWZjbG9zZShmcCk7CisKKwkvKgorCSAqIElmIHRoZSBlbmNyeXB0ZWQgcGFzc3dvcmQgaXMgdmFsaWQgb3Igbm90IGZvdW5kLCByZXR1cm4uCisJICovCisJaWYgKHAgPT0gTlVMTCkgeworCQl3YXJueChfKCIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIpLCBfUEFUSF9QQVNTV0QpOworCQlyZXR1cm4gJnB3ZDsKKwl9CisJaWYgKHZhbGlkKHB3ZC5wd19wYXNzd2QpKQorCQlyZXR1cm4gJnB3ZDsKKworCS8qCisJICogVGhlIHBhc3N3b3JkIGlzIGludmFsaWQuIElmIHRoZXJlIGlzIGEgc2hhZG93IHBhc3N3b3JkLCB0cnkgaXQuCisJICovCisJKnB3ZC5wd19wYXNzd2QgPSAnXDAnOworCWlmICgoZnAgPSBmb3BlbihfUEFUSF9TSEFET1dfUEFTU1dELCAiciIpKSA9PSBOVUxMKSB7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgX1BBVEhfUEFTU1dEKTsKKwkJcmV0dXJuICZwd2Q7CisJfQorCXdoaWxlICgocCA9IGZnZXRzKHNsaW5lLCBzaXplb2Yoc2xpbmUpLCBmcCkpICE9IE5VTEwpIHsKKwkJaWYgKHN0cm5jbXAoc2xpbmUsICJyb290OiIsIDUpICE9IDApCisJCQljb250aW51ZTsKKwkJcCArPSA1OworCQlzZXQoJnB3ZC5wd19wYXNzd2QsIHN0cnNlcCgmcCwgIjoiKSk7CisJCWJyZWFrOworCX0KKwlmY2xvc2UoZnApOworCisJLyoKKwkgKiBJZiB0aGUgcGFzc3dvcmQgaXMgc3RpbGwgaW52YWxpZCwgTlVMTCBpdCwgYW5kIHJldHVybi4KKwkgKi8KKwlpZiAocCA9PSBOVUxMKSB7CisJCXdhcm54KF8oIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIpLCBfUEFUSF9TSEFET1dfUEFTU1dEKTsKKwkJKnB3ZC5wd19wYXNzd2QgPSAnXDAnOworCX0KKwkvKiBsb2NrZWQgYWNjb3VudCBwYXNzd29yZHMgYXJlIHZhbGlkIHRvbyAqLworCWlmICghbG9ja2VkX2FjY291bnRfcGFzc3dvcmQocHdkLnB3X3Bhc3N3ZCkgJiYgIXZhbGlkKHB3ZC5wd19wYXNzd2QpKSB7CisJCXdhcm54KF8oIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiKSwgX1BBVEhfU0hBRE9XX1BBU1NXRCk7CisJCSpwd2QucHdfcGFzc3dkID0gJ1wwJzsKKwl9CisJcmV0dXJuICZwd2Q7Cit9CisKKy8qCisgKiBBc2sgYnkgcHJvbXB0IGZvciB0aGUgcGFzc3dvcmQuCisgKi8KK3N0YXRpYyB2b2lkIGRvcHJvbXB0KGNvbnN0IGNoYXIgKmNyeXB0ZWQsIHN0cnVjdCBjb25zb2xlICpjb24sIGludCBkZW55KQoreworCXN0cnVjdCB0ZXJtaW9zIHR0eTsKKworCWlmIChjb24tPmZsYWdzICYgQ09OX1NFUklBTCkgeworCQl0dHkgPSBjb24tPnRpbzsKKwkJLyoKKwkJICogRm9yIHByb21wdGluZzogbWFwIE5MIGluIG91dHB1dCB0byBDUi1OTAorCQkgKiBvdGhlcndpc2Ugd2UgbWF5IHNlZSBzdGFpcnMgaW4gdGhlIG91dHB1dC4KKwkJICovCisJCXR0eS5jX29mbGFnIHw9IChPTkxDUiB8IE9QT1NUKTsKKwkJdGNzZXRhdHRyKGNvbi0+ZmQsIFRDU0FEUkFJTiwgJnR0eSk7CisJfQorCWlmIChjb24tPmZpbGUgPT0gKEZJTEUqKTApIHsKKwkJaWYgICgoY29uLT5maWxlID0gZmRvcGVuKGNvbi0+ZmQsICJyKyIpKSA9PSAoRklMRSopMCkKKwkJCWdvdG8gZXJyOworCX0KKworCWlmIChkZW55KQorCQlmcHJpbnRmKGNvbi0+ZmlsZSwgXygiXG5DYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisJCQkJICAgICAiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cblxuIgorCQkJCSAgICAgIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIikpOworCWVsc2UgeworI2lmIGRlZmluZWQoVVNFX09ORUxJTkUpCisJCWlmIChjcnlwdGVkWzBdICYmICFsb2NrZWRfYWNjb3VudF9wYXNzd29yZChjcnlwdGVkKSkKKwkJCWZwcmludGYoY29uLT5maWxlLCBfKCJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiKSk7CisJCWVsc2UKKwkJCWZwcmludGYoY29uLT5maWxlLCBfKCJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIpKTsKKyNlbHNlCisJCWlmIChjcnlwdGVkWzBdICYmICFsb2NrZWRfYWNjb3VudF9wYXNzd29yZChjcnlwdGVkKSkKKwkJCWZwcmludGYoY29uLT5maWxlLCBfKCJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iKSk7CisJCWVsc2UKKwkJCWZwcmludGYoY29uLT5maWxlLCBfKCJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIpKTsKKwkJZnByaW50Zihjb24tPmZpbGUsIF8oIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiKSk7CisjZW5kaWYKKwl9CisJZmZsdXNoKGNvbi0+ZmlsZSk7CitlcnI6CisJaWYgKGNvbi0+ZmxhZ3MgJiBDT05fU0VSSUFMKQorCQl0Y3NldGF0dHIoY29uLT5mZCwgVENTQURSQUlOLCAmY29uLT50aW8pOworfQorCisvKgorICogTWFrZSBzdXJlIHRvIGhhdmUgYW4gb3duIHNlc3Npb24gYW5kIGNvbnRyb2xsaW5nIHRlcm1pbmFsCisgKi8KK3N0YXRpYyB2b2lkIHNldHVwKHN0cnVjdCBjb25zb2xlICpjb24pCit7CisJaW50IGZkID0gY29uLT5mZDsKKwljb25zdCBwaWRfdCBwaWQgPSBnZXRwaWQoKSwgcGdycCA9IGdldHBnaWQoMCksIHBwZ3JwID0KKwkgICAgZ2V0cGdpZChnZXRwcGlkKCkpLCB0dHlwZ3JwID0gdGNnZXRwZ3JwKGZkKTsKKworCWlmIChjb24tPmZsYWdzICYgQ09OX05PVFRZKQorCQlyZXR1cm47CisKKwkvKgorCSAqIE9ubHkgZ28gdGhyb3VnaCB0aGlzIHRyb3VibGUgaWYgdGhlIG5ldworCSAqIHR0eSBkb2Vzbid0IGZhbGwgaW4gdGhpcyBwcm9jZXNzIGdyb3VwLgorCSAqLworCWlmIChwZ3JwICE9IHR0eXBncnAgJiYgcHBncnAgIT0gdHR5cGdycCkgeworCQlpZiAocGlkICE9IGdldHNpZCgwKSkgeworCQkJaWYgKHBpZCA9PSBnZXRwZ2lkKDApKQorCQkJCXNldHBnaWQoMCwgZ2V0cGdpZChnZXRwcGlkKCkpKTsKKwkJCXNldHNpZCgpOworCQl9CisKKwkJbWFza19zaWduYWwoU0lHSFVQLCBTSUdfSUdOLCAmc2F2ZWRfc2lnaHVwKTsKKwkJaWYgKHR0eXBncnAgPiAwKQorCQkJaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DTk9UVFksIChjaGFyICopMSk7CisJCXVubWFza19zaWduYWwoU0lHSFVQLCAmc2F2ZWRfc2lnaHVwKTsKKwkJaWYgKGZkID4gU1RESU5fRklMRU5PKSAgY2xvc2UoU1RESU5fRklMRU5PKTsKKwkJaWYgKGZkID4gU1RET1VUX0ZJTEVOTykgY2xvc2UoU1RET1VUX0ZJTEVOTyk7CisJCWlmIChmZCA+IFNUREVSUl9GSUxFTk8pIGNsb3NlKFNUREVSUl9GSUxFTk8pOworCisJCWlvY3RsKGZkLCBUSU9DU0NUVFksIChjaGFyICopMSk7CisJCXRjc2V0cGdycChmZCwgcHBncnApOworCX0KKwlkdXAyKGZkLCBTVERJTl9GSUxFTk8pOworCWR1cDIoZmQsIFNURE9VVF9GSUxFTk8pOworCWR1cDIoZmQsIFNUREVSUl9GSUxFTk8pOworCWNvbi0+ZmQgPSBTVERJTl9GSUxFTk87CisKKwlmb3IgKGZkID0gU1RERVJSX0ZJTEVOTysxOyBmZCA8IDMyOyBmZCsrKSB7CisJCWlmIChvcGVuZmQgJiAoMTw8ZmQpKSB7CisJCQljbG9zZShmZCk7CisJCQlvcGVuZmQgJj0gfigxPDxmZCk7CisJCX0KKwl9Cit9CisKKy8qCisgKiBBc2sgZm9yIHRoZSBwYXNzd29yZC4gTm90ZSB0aGF0IHRoZXJlIGlzIG5vIGRlZmF1bHQgdGltZW91dCBhcyB3ZSBub3JtYWxseQorICogc2tpcCB0aGlzIGR1cmluZyBib290LgorICovCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0cGFzc3dkKHN0cnVjdCBjb25zb2xlICpjb24pCit7CisJc3RydWN0IHNpZ2FjdGlvbiBzYTsKKwlzdHJ1Y3QgdGVybWlvcyB0dHk7CisJc3RhdGljIGNoYXIgcGFzc1sxMjhdLCAqcHRyOworCXN0cnVjdCBjaGFyZGF0YSAqY3A7CisJY29uc3QgY2hhciAqcmV0ID0gcGFzczsKKwl1bnNpZ25lZCBjaGFyIHRjOworCWNoYXIgYywgYXNjdmFsOworCWludCBlaWdodGJpdDsKKwljb25zdCBpbnQgZmQgPSBjb24tPmZkOworCisJaWYgKGNvbi0+ZmxhZ3MgJiBDT05fTk9UVFkpCisJCWdvdG8gb3V0OworCWNwID0gJmNvbi0+Y3A7CisJdHR5ID0gY29uLT50aW87CisKKwl0dHkuY19pZmxhZyAmPSB+KElVQ0xDfElYT058SVhPRkZ8SVhBTlkpOworCXR0eS5jX2xmbGFnICY9IH4oRUNIT3xFQ0hPRXxFQ0hPS3xFQ0hPTkx8VE9TVE9QfElTSUcpOworCXRjID0gKHRjc2V0YXR0cihmZCwgVENTQUZMVVNILCAmdHR5KSA9PSAwKTsKKworCXNpZ2VtcHR5c2V0KCZzYS5zYV9tYXNrKTsKKwlzYS5zYV9oYW5kbGVyID0gYWxybV9oYW5kbGVyOworCXNhLnNhX2ZsYWdzID0gMDsKKwlzaWdhY3Rpb24oU0lHQUxSTSwgJnNhLCBOVUxMKTsKKworCWlmICh0aW1lb3V0KQorCQlhbGFybSh0aW1lb3V0KTsKKworCXB0ciA9ICZwYXNzWzBdOworCWNwLT5lb2wgPSAqcHRyID0gJ1wwJzsKKworCWVpZ2h0Yml0ID0gKChjb24tPmZsYWdzICYgQ09OX1NFUklBTCkgPT0gMCB8fCAodHR5LmNfY2ZsYWcgJiAoUEFST0REfFBBUkVOQikpID09IDApOworCXdoaWxlIChjcC0+ZW9sID09ICdcMCcpIHsKKwkJaWYgKHJlYWQoZmQsICZjLCAxKSA8IDEpIHsKKwkJCWlmIChlcnJubyA9PSBFSU5UUiB8fCBlcnJubyA9PSBFQUdBSU4pIHsKKwkJCQlpZiAoYWxhcm1fcmlzZWQpIHsKKwkJCQkJcmV0ID0gTlVMTDsKKwkJCQkJZ290byBxdWl0OworCQkJCX0KKwkJCQl4dXNsZWVwKDI1MDAwMCk7CisJCQkJY29udGludWU7CisJCQl9CisJCQlyZXQgPSAoY2hhciopMDsKKwkJCXN3aXRjaCAoZXJybm8pIHsKKwkJCWNhc2UgMDoKKwkJCWNhc2UgRUlPOgorCQkJY2FzZSBFU1JDSDoKKwkJCWNhc2UgRUlOVkFMOgorCQkJY2FzZSBFTk9FTlQ6CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCXdhcm4oXygiY2Fubm90IHJlYWQgJXMiKSwgY29uLT50dHkpOworCQkJCWJyZWFrOworCQkJfQorCQkJZ290byBxdWl0OworCQl9CisKKwkJaWYgKGVpZ2h0Yml0KQorCQkJYXNjdmFsID0gYzsKKwkJZWxzZSBpZiAoYyAhPSAoYXNjdmFsID0gKGMgJiAwMTc3KSkpIHsKKwkJCXVpbnQzMl90IGJpdHMsIG1hc2s7CisJCQlmb3IgKGJpdHMgPSAxLCBtYXNrID0gMTsgbWFzayAmIDAxNzc7IG1hc2sgPDw9IDEpIHsKKwkJCQlpZiAobWFzayAmIGFzY3ZhbCkKKwkJCQkJYml0cysrOworCQkJfQorCQkJY3AtPnBhcml0eSB8PSAoKGJpdHMgJiAxKSA/IDEgOiAyKTsKKwkJfQorCisJCXN3aXRjaCAoYXNjdmFsKSB7CisJCWNhc2UgMDoKKwkJCSpwdHIgPSAnXDAnOworCQkJZ290byBxdWl0OworCQljYXNlIENSOgorCQljYXNlIE5MOgorCQkJKnB0ciA9ICdcMCc7CisJCQljcC0+ZW9sID0gYXNjdmFsOworCQkJYnJlYWs7CisJCWNhc2UgQlM6CisJCWNhc2UgQ0VSQVNFOgorCQkJY3AtPmVyYXNlID0gYXNjdmFsOworCQkJaWYgKHB0ciA+ICZwYXNzWzBdKQorCQkJCXB0ci0tOworCQkJYnJlYWs7CisJCWNhc2UgQ0tJTEw6CisJCQljcC0+a2lsbCA9IGFzY3ZhbDsKKwkJCXdoaWxlIChwdHIgPiAmcGFzc1swXSkKKwkJCQlwdHItLTsKKwkJCWJyZWFrOworCQljYXNlIENFT0Y6CisJCQlyZXQgPSBOVUxMOworCQkJZ290byBxdWl0OworCQlkZWZhdWx0OgorCQkJaWYgKChzaXplX3QpKHB0ciAtICZwYXNzWzBdKSA+PSAoc2l6ZW9mKHBhc3MpIC0xICkpIHsKKwkJCQkgZnByaW50ZihzdGRlcnIsICJzdWxvZ2luOiBpbnB1dCBvdmVycnVuIGF0ICVzXG5cciIsIGNvbi0+dHR5KTsKKwkJCQkgcmV0ID0gKGNoYXIqKTA7CisJCQkJIGdvdG8gcXVpdDsKKwkJCX0KKwkJCSpwdHIrKyA9IGFzY3ZhbDsKKwkJCWJyZWFrOworCQl9CisJfQorcXVpdDoKKwlhbGFybSgwKTsKKwlpZiAodGMpCisJCXRjc2V0YXR0cihmZCwgVENTQUZMVVNILCAmY29uLT50aW8pOworCXRjZmluYWwoY29uKTsKKwlwcmludGYoIlxyXG4iKTsKK291dDoKKwlyZXR1cm4gcmV0OworfQorCisvKgorICogUGFzc3dvcmQgd2FzIE9LLCBleGVjdXRlIGEgc2hlbGwuCisgKi8KK3N0YXRpYyB2b2lkIHN1c2hlbGwoc3RydWN0IHBhc3N3ZCAqcHdkKQoreworCWNoYXIgc2hlbGxbUEFUSF9NQVhdOworCWNoYXIgaG9tZVtQQVRIX01BWF07CisJY2hhciBjb25zdCAqcDsKKwljaGFyIGNvbnN0ICpzdV9zaGVsbDsKKworCS8qCisJICogU2V0IGRpcmVjdG9yeSBhbmQgc2hlbGwuCisJICovCisJaWYgKGNoZGlyKHB3ZC0+cHdfZGlyKSAhPSAwKSB7CisJCXdhcm4oXygiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIiksIHB3ZC0+cHdfZGlyKTsKKwkJcHJpbnRmKF8oIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iKSk7CisKKwkJaWYgKGNoZGlyKCIvIikgIT0gMCkKKwkJCXdhcm4oXygiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiKSk7CisJfQorCisJaWYgKChwID0gZ2V0ZW52KCJTVVNIRUxMIikpICE9IE5VTEwpCisJCXN1X3NoZWxsID0gcDsKKwllbHNlIGlmICgocCA9IGdldGVudigic3VzaGVsbCIpKSAhPSBOVUxMKQorCQlzdV9zaGVsbCA9IHA7CisJZWxzZSB7CisJCWlmIChwd2QtPnB3X3NoZWxsWzBdKQorCQkJc3Vfc2hlbGwgPSBwd2QtPnB3X3NoZWxsOworCQllbHNlCisJCQlzdV9zaGVsbCA9ICIvYmluL3NoIjsKKwl9CisJaWYgKChwID0gc3RycmNocihzdV9zaGVsbCwgJy8nKSkgPT0gTlVMTCkKKwkJcCA9IHN1X3NoZWxsOworCWVsc2UKKwkJcCsrOworCisJc25wcmludGYoc2hlbGwsIHNpemVvZihzaGVsbCksIHByb2ZpbGUgPyAiLSVzIiA6ICIlcyIsIHApOworCisJLyoKKwkgKiBTZXQgc29tZSBpbXBvcnRhbnQgZW52aXJvbm1lbnQgdmFyaWFibGVzLgorCSAqLworCWlmIChnZXRjd2QoaG9tZSwgc2l6ZW9mKGhvbWUpKSA9PSBOVUxMKQorCQlzdHJjcHkoaG9tZSwgIi8iKTsKKworCXhzZXRlbnYoIkhPTUUiLCBob21lLCAxKTsKKwl4c2V0ZW52KCJMT0dOQU1FIiwgInJvb3QiLCAxKTsKKwl4c2V0ZW52KCJVU0VSIiwgInJvb3QiLCAxKTsKKwlpZiAoIXByb2ZpbGUpCisJCXhzZXRlbnYoIlNITFZMIiwiMCIsMSk7CisKKwkvKgorCSAqIFRyeSB0byBleGVjdXRlIGEgc2hlbGwuCisJICovCisJeHNldGVudigiU0hFTEwiLCBzdV9zaGVsbCwgMSk7CisJdW5tYXNrX3NpZ25hbChTSUdJTlQsICZzYXZlZF9zaWdpbnQpOworCXVubWFza19zaWduYWwoU0lHVFNUUCwgJnNhdmVkX3NpZ3RzdHApOworCXVubWFza19zaWduYWwoU0lHUVVJVCwgJnNhdmVkX3NpZ3F1aXQpOworCW1hc2tfc2lnbmFsKFNJR0hVUCwgU0lHX0RGTCwgTlVMTCk7CisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwlpZiAoaXNfc2VsaW51eF9lbmFibGVkKCkgPiAwKSB7CisJCXNlY3VyaXR5X2NvbnRleHRfdCBzY29uPU5VTEw7CisJCWNoYXIgKnNldXNlcj1OVUxMOworCQljaGFyICpsZXZlbD1OVUxMOworCQlpZiAoZ2V0c2V1c2VyYnluYW1lKCJyb290IiwgJnNldXNlciwgJmxldmVsKSA9PSAwKSB7CisJCQlpZiAoZ2V0X2RlZmF1bHRfY29udGV4dF93aXRoX2xldmVsKHNldXNlciwgbGV2ZWwsIDAsICZzY29uKSA9PSAwKSB7CisJCQkJaWYgKHNldGV4ZWNjb24oc2NvbikgIT0gMCkKKwkJCQkJd2FybngoXygic2V0ZXhlY2NvbiBmYWlsZWQiKSk7CisJCQkJZnJlZWNvbihzY29uKTsKKwkJCX0KKwkJfQorCQlmcmVlKHNldXNlcik7CisJCWZyZWUobGV2ZWwpOworCX0KKyNlbmRpZgorCWV4ZWNsKHN1X3NoZWxsLCBzaGVsbCwgTlVMTCk7CisJd2FybihfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBzdV9zaGVsbCk7CisKKwl4c2V0ZW52KCJTSEVMTCIsICIvYmluL3NoIiwgMSk7CisJZXhlY2woIi9iaW4vc2giLCBwcm9maWxlID8gIi1zaCIgOiAic2giLCBOVUxMKTsKKwl3YXJuKF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksICIvYmluL3NoIik7Cit9CisKK3N0YXRpYyB2b2lkIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygKKwkJIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNpbmdsZS11c2VyIGxvZ2luLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorCQkiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKwkJIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIiksCisJCW91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgic3Vsb2dpbig4KSIpKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnB0ciwgY29uc29sZXM7CisJc3RydWN0IGNvbnNvbGUgKmNvbjsKKwljaGFyICp0dHkgPSBOVUxMOworCXN0cnVjdCBwYXNzd2QgKnB3ZDsKKwljb25zdCBzdHJ1Y3QgdGltZXNwZWMgc2lnd2FpdCA9IHsgLnR2X3NlYyA9IDAsIC50dl9uc2VjID0gNTAwMDAwMDAgfTsKKwlzaWdpbmZvX3Qgc3RhdHVzID0geyAwIH07CisJc2lnc2V0X3Qgc2V0OworCWludCBjLCByZWNvbm5lY3QgPSAwOworCWludCBvcHRfZSA9IDA7CisJaW50IHdhaXQgPSAwOworCXBpZF90IHBpZDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImxvZ2luLXNoZWxsIiwgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncCcgfSwKKwkJeyAidGltZW91dCIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0JyB9LAorCQl7ICJmb3JjZSIsICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2UnIH0sCisJCXsgImhlbHAiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlJTklUX0xJU1RfSEVBRCgmY29uc29sZXMpOworCisJLyoKKwkgKiBJZiB3ZSBhcmUgaW5pdCB3ZSBuZWVkIHRvIHNldCB1cCBhIG93biBzZXNzaW9uLgorCSAqLworCWlmICgocGlkID0gZ2V0cGlkKCkpID09IDEpIHsKKwkJc2V0c2lkKCk7CisJCWlnbm9yZV9yZXN1bHQoIGlvY3RsKFNURElOX0ZJTEVOTywgVElPQ1NDVFRZLCAoY2hhciAqKSAxKSApOworCX0KKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7IC8qIFhYWCAqLworCisJLyoKKwkgKiBTZWUgaWYgd2UgaGF2ZSBhIHRpbWVvdXQgZmxhZy4KKwkgKi8KKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiZWhwdDpWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2goYykgeworCQljYXNlICd0JzoKKwkJCXRpbWVvdXQgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlwcm9maWxlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCW9wdF9lID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCS8qIERvIG5vdCBleGl0ISBnZXRvcHQgcHJpbnRzIGEgd2FybmluZy4gKi8KKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKGdldGV1aWQoKSAhPSAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iKSk7CisKKwltYXNrX3NpZ25hbChTSUdRVUlULCBTSUdfSUdOLCAmc2F2ZWRfc2lncXVpdCk7CisJbWFza19zaWduYWwoU0lHVFNUUCwgU0lHX0lHTiwgJnNhdmVkX3NpZ3RzdHApOworCW1hc2tfc2lnbmFsKFNJR0lOVCwgIFNJR19JR04sICZzYXZlZF9zaWdpbnQpOworCW1hc2tfc2lnbmFsKFNJR0hVUCwgIFNJR19JR04sICZzYXZlZF9zaWdodXApOworCisKKwllbWVyZ2VuY3lfZG9fbW91bnRzKCk7CisJYXRleGl0KCBlbWVyZ2VuY3lfZG9fdW1vdW50cyApOworCisJLyoKKwkgKiBTZWUgaWYgd2UgbmVlZCB0byBvcGVuIGFuIG90aGVyIHR0eSBkZXZpY2UuCisJICovCisJaWYgKG9wdGluZCA8IGFyZ2MpCisJCXR0eSA9IGFyZ3Zbb3B0aW5kXTsKKworCWlmICghdHR5IHx8ICp0dHkgPT0gJ1wwJykKKwkJdHR5ID0gZ2V0ZW52KCJDT05TT0xFIik7CisKKwkvKgorCSAqIERldGVjdCBwb3NzaWJsZSBjb25zb2xlcywgdXNlIHN0ZGluIGFzIGZhbGxiYWNrLgorCSAqIElmIGFuIG9wdGlvbmFsIHR0eSBpcyBnaXZlbiwgcmVjb25uZWN0IGl0IHRvIHN0ZGluLgorCSAqLworCXJlY29ubmVjdCA9IGRldGVjdF9jb25zb2xlcyh0dHksIFNURElOX0ZJTEVOTywgJmNvbnNvbGVzKTsKKworCS8qCisJICogSWYgcHJldmlvdXMgc3RkaW4gd2FzIG5vdCB0aGUgc3BlY2lmaWVkIHR0eSBhbmQgdGhlcmVmb3JlIHJlY29ubmVjdGVkCisJICogdG8gdGhlIHNwZWNpZmllZCB0dHkgYWxzbyByZWNvbm5lY3Qgc3Rkb3V0IGFuZCBzdGRlcnIuCisJICovCisJaWYgKHJlY29ubmVjdCkgeworCQlpZiAoaXNhdHR5KFNURE9VVF9GSUxFTk8pID09IDApCisJCQlkdXAyKFNURE9VVF9GSUxFTk8sIFNURElOX0ZJTEVOTyk7CisJCWlmIChpc2F0dHkoU1RERVJSX0ZJTEVOTykgPT0gMCkKKwkJCWR1cDIoU1RET1VUX0ZJTEVOTywgU1RERVJSX0ZJTEVOTyk7CisJfQorCisJLyoKKwkgKiBTaG91bGQgbm90IGhhcHBlbgorCSAqLworCWlmIChsaXN0X2VtcHR5KCZjb25zb2xlcykpIHsKKwkJaWYgKCFlcnJubykKKwkJCWVycm5vID0gRU5PRU5UOworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiBjb25zb2xlIikpOworCX0KKworCS8qCisJICogR2V0IHRoZSByb290IHBhc3N3b3JkLgorCSAqLworCWlmICgocHdkID0gZ2V0cm9vdHB3ZW50KG9wdF9lKSkgPT0gTlVMTCkgeworCQl3YXJueChfKCJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIpKTsKKwkJc2xlZXAoMik7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJLyoKKwkgKiBBc2sgZm9yIHRoZSBwYXNzd29yZCBvbiB0aGUgY29uc29sZXMuCisJICovCisJbGlzdF9mb3JfZWFjaChwdHIsICZjb25zb2xlcykgeworCQljb24gPSBsaXN0X2VudHJ5KHB0ciwgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKwkJaWYgKGNvbi0+aWQgPj0gQ09OTUFYKQorCQkJYnJlYWs7CisJCWlmIChjb24tPmZkID49IDApIHsKKwkJCW9wZW5mZCB8PSAoMSA8PCBjb24tPmZkKTsKKwkJCXRjaW5pdChjb24pOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKChjb24tPmZkID0gb3Blbihjb24tPnR0eSwgT19SRFdSIHwgT19OT0NUVFkgfCBPX05PTkJMT0NLKSkgPCAwKQorCQkJY29udGludWU7CisJCW9wZW5mZCB8PSAoMSA8PCBjb24tPmZkKTsKKwkJdGNpbml0KGNvbik7CisJfQorCXB0ciA9ICgmY29uc29sZXMpLT5uZXh0OworCisJaWYgKHB0ci0+bmV4dCA9PSAmY29uc29sZXMpIHsKKwkJY29uID0gbGlzdF9lbnRyeShwdHIsIHN0cnVjdCBjb25zb2xlLCBlbnRyeSk7CisJCWdvdG8gbm9mb3JrOworCX0KKworCisJbWFza19zaWduYWwoU0lHQ0hMRCwgY2hsZF9oYW5kbGVyLCAmc2F2ZWRfc2lnY2hsZCk7CisJZG8geworCQljb24gPSBsaXN0X2VudHJ5KHB0ciwgc3RydWN0IGNvbnNvbGUsIGVudHJ5KTsKKwkJaWYgKGNvbi0+aWQgPj0gQ09OTUFYKQorCQkJYnJlYWs7CisKKwkJc3dpdGNoICgoY29uLT5waWQgPSBmb3JrKCkpKSB7CisJCWNhc2UgMDoKKwkJCW1hc2tfc2lnbmFsKFNJR0NITEQsIFNJR19ERkwsIE5VTEwpOworCQlub2Zvcms6CisJCQlzZXR1cChjb24pOworCQkJd2hpbGUgKDEpIHsKKwkJCQljb25zdCBjaGFyICpwYXNzd2QgPSBwd2QtPnB3X3Bhc3N3ZDsKKwkJCQljb25zdCBjaGFyICphbnN3ZXI7CisJCQkJaW50IGZhaWxlZCA9IDAsIGRvc2hlbGwgPSAwOworCQkJCWludCBkZW55ID0gIW9wdF9lICYmIGxvY2tlZF9hY2NvdW50X3Bhc3N3b3JkKHB3ZC0+cHdfcGFzc3dkKTsKKworCQkJCWRvcHJvbXB0KHBhc3N3ZCwgY29uLCBkZW55KTsKKworCQkJCWlmICgoYW5zd2VyID0gZ2V0cGFzc3dkKGNvbikpID09IE5VTEwpCisJCQkJCWJyZWFrOworCQkJCWlmIChkZW55KQorCQkJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisKKwkJCQkvKiBubyBwYXNzd29yZCBvciBsb2NrZWQgYWNjb3VudCAqLworCQkJCWlmICghcGFzc3dkWzBdIHx8IGxvY2tlZF9hY2NvdW50X3Bhc3N3b3JkKHBhc3N3ZCkpCisJCQkJCWRvc2hlbGwrKzsKKwkJCQllbHNlIHsKKwkJCQkJY29uc3QgY2hhciAqY3J5cHRidWY7CisJCQkJCWNyeXB0YnVmID0gY3J5cHQoYW5zd2VyLCBwYXNzd2QpOworCQkJCQlpZiAoY3J5cHRidWYgPT0gTlVMTCkKKwkJCQkJCXdhcm4oXygiY3J5cHQgZmFpbGVkIikpOworCQkJCQllbHNlIGlmIChzdHJjbXAoY3J5cHRidWYsIHB3ZC0+cHdfcGFzc3dkKSA9PSAwKQorCQkJCQkJZG9zaGVsbCsrOworCQkJCX0KKworCQkJCWlmIChkb3NoZWxsKSB7CisJCQkJCXN1c2hlbGwocHdkKTsKKwkJCQkJZmFpbGVkKys7CisJCQkJfQorCisJCQkJbWFza19zaWduYWwoU0lHUVVJVCwgU0lHX0lHTiwgJnNhdmVkX3NpZ3F1aXQpOworCQkJCW1hc2tfc2lnbmFsKFNJR1RTVFAsIFNJR19JR04sICZzYXZlZF9zaWd0c3RwKTsKKwkJCQltYXNrX3NpZ25hbChTSUdJTlQsICBTSUdfSUdOLCAmc2F2ZWRfc2lnaW50KTsKKworCQkJCWlmIChmYWlsZWQpIHsKKwkJCQkJZnByaW50ZihzdGRlcnIsIF8oImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG5cbiIpKTsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCWZwcmludGYoc3RkZXJyLCBfKCJMb2dpbiBpbmNvcnJlY3RcblxuIikpOworCQkJfQorCQkJaWYgKGFsYXJtX3Jpc2VkKSB7CisJCQkJdGNmaW5hbChjb24pOworCQkJCXdhcm54KF8oIlRpbWVkIG91dFxuXG4iKSk7CisJCQl9CisJCQkvKgorCQkJICogVXNlciBwcmVzc2VkIENvbnRyb2wtRC4KKwkJCSAqLworCQkJZXhpdCgwKTsKKwkJY2FzZSAtMToKKwkJCXdhcm4oXygiZm9yayBmYWlsZWQiKSk7CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKworCQlwdHIgPSBwdHItPm5leHQ7CisKKwl9IHdoaWxlIChwdHIgIT0gJmNvbnNvbGVzKTsKKworCWRvIHsKKwkJaW50IHJldDsKKworCQlzdGF0dXMuc2lfcGlkID0gMDsKKwkJcmV0ID0gd2FpdGlkKFBfQUxMLCAwLCAmc3RhdHVzLCBXRVhJVEVEKTsKKworCQlpZiAocmV0ID09IDApCisJCQlicmVhazsKKwkJaWYgKHJldCA8IDApIHsKKwkJCWlmIChlcnJubyA9PSBFQ0hJTEQpCisJCQkJYnJlYWs7CisJCQlpZiAoZXJybm8gPT0gRUlOVFIpCisJCQkJY29udGludWU7CisJCX0KKworCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcblxuIikpOworCisJfSB3aGlsZSAoMSk7CisKKwlsaXN0X2Zvcl9lYWNoKHB0ciwgJmNvbnNvbGVzKSB7CisJCWNvbiA9IGxpc3RfZW50cnkocHRyLCBzdHJ1Y3QgY29uc29sZSwgZW50cnkpOworCisJCWlmIChjb24tPmZkIDwgMCkKKwkJCWNvbnRpbnVlOworCQlpZiAoY29uLT5waWQgPCAwKQorCQkJY29udGludWU7CisJCWlmIChjb24tPnBpZCA9PSBzdGF0dXMuc2lfcGlkKQorCQkJY29uLT5waWQgPSAtMTsKKwkJZWxzZSB7CisJCQlraWxsKGNvbi0+cGlkLCBTSUdURVJNKTsKKwkJCXdhaXQrKzsKKwkJfQorCX0KKworCXNpZ2VtcHR5c2V0KCZzZXQpOworCXNpZ2FkZHNldCgmc2V0LCBTSUdDSExEKTsKKworCWRvIHsKKwkJaW50IHNpZ251bSwgcmV0OworCisJCWlmICghd2FpdCkKKwkJCWJyZWFrOworCisJCXN0YXR1cy5zaV9waWQgPSAwOworCQlyZXQgPSB3YWl0aWQoUF9BTEwsIDAsICZzdGF0dXMsIFdFWElURUR8V05PSEFORyk7CisKKwkJaWYgKHJldCA8IDApIHsKKwkJCWlmIChlcnJubyA9PSBFQ0hJTEQpCisJCQkJYnJlYWs7CisJCQlpZiAoZXJybm8gPT0gRUlOVFIpCisJCQkJY29udGludWU7CisJCX0KKworCQlpZiAoIXJldCAmJiBzdGF0dXMuc2lfcGlkID4gMCkgeworCQkJbGlzdF9mb3JfZWFjaChwdHIsICZjb25zb2xlcykgeworCQkJCWNvbiA9IGxpc3RfZW50cnkocHRyLCBzdHJ1Y3QgY29uc29sZSwgZW50cnkpOworCisJCQkJaWYgKGNvbi0+ZmQgPCAwKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAoY29uLT5waWQgPCAwKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAoY29uLT5waWQgPT0gc3RhdHVzLnNpX3BpZCkgeworCQkJCQljb24tPnBpZCA9IC0xOworCQkJCQl3YWl0LS07CisJCQkJfQorCQkJfQorCQkJY29udGludWU7CisJCX0KKworCQlzaWdudW0gPSBzaWd0aW1lZHdhaXQoJnNldCwgTlVMTCwgJnNpZ3dhaXQpOworCQlpZiAoc2lnbnVtICE9IFNJR0NITEQgJiYgc2lnbnVtIDwgMCAmJiBlcnJubyA9PSBFQUdBSU4pCisJCQlicmVhazsKKworCX0gd2hpbGUgKDEpOworCisJbWFza19zaWduYWwoU0lHQ0hMRCwgU0lHX0RGTCwgTlVMTCk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3V0bXBkdW1wLjEgYi9sb2dpbi11dGlscy91dG1wZHVtcC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmNDU4ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy91dG1wZHVtcC4xCkBAIC0wLDAgKzEsOTMgQEAKKy5cIiBDb3B5cmlnaHQgKEMpIDIwMTAgTWljaGFlbCBLcmFwcAorLlwiCisuXCIgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKy5cIiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorLlwiIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisuXCIgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKy5cIgorLlwiIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLlwiIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisuXCIgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisuXCIKKy5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlwiIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlCisuXCIgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQQorLlwiCisuVEggVVRNUERVTVAgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQordXRtcGR1bXAgXC0gZHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQKKy5TSCBTWU5PUFNJUworLkJSIHV0bXBkdW1wICIgW29wdGlvbnNdIgorLlJJIFsgZmlsZW5hbWUgXQorLlNIIERFU0NSSVBUSU9OCisuQiB1dG1wZHVtcAoraXMgYSBzaW1wbGUgcHJvZ3JhbSB0byBkdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdCwgc28gdGhleQorY2FuIGJlIGV4YW1pbmVkLgorLkIgdXRtcGR1bXAKK3JlYWRzIGZyb20gc3RkaW4gdW5sZXNzIGEKKy5JIGZpbGVuYW1lCitpcyBwYXNzZWQuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1mICwgIiBcLVwtZm9sbG93IgorT3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3MuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgIiBcZklmaWxlCitXcml0ZSBjb21tYW5kIG91dHB1dCB0byBcZklmaWxlXGZSIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0LgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmV2ZXJzZSIKK1VuZHVtcCwgd3JpdGUgYmFjayBlZGl0ZWQgbG9naW4gaW5mb3JtYXRpb24gaW50byB0aGUgdXRtcCBvciB3dG1wIGZpbGVzLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBOT1RFUworLkIgdXRtcGR1bXAKK2NhbiBiZSB1c2VmdWwgaW4gY2FzZXMgb2YgY29ycnVwdGVkIHV0bXAgb3Igd3RtcCBlbnRyaWVzLiAgSXQgY2FuIGR1bXAKK291dCB1dG1wL3d0bXAgdG8gYW4gQVNDSUkgZmlsZSwgd2hpY2ggY2FuIHRoZW4gYmUgZWRpdGVkIHRvIHJlbW92ZQorYm9ndXMgZW50cmllcywgYW5kIHJlaW50ZWdyYXRlZCB1c2luZzoKKy5QUAorLlJTCisuQiB1dG1wZHVtcCAtciA8IGFzY2lpX2ZpbGUgPiB3dG1wCisuUkUKKy5QUAorQnV0IGJlIHdhcm5lZCwKKy5CIHV0bXBkdW1wCit3YXMgd3JpdHRlbiBmb3IgZGVidWdnaW5nIHB1cnBvc2VzIG9ubHkuCisuU1MgRmlsZSBmb3JtYXRzCisuUFAKK1RoZSBvbmx5IGJpbmFyeSB2ZXJzaW9uIG9mIHRoZQorLkJSIHV0bXAgKDUpCitpcyBzdGFuZGFyZGlzZWQuICBUZXh0dWFsIGR1bXBzIG1heSBiZWNvbWUgaW5jb21wYXRpYmxlIGluIGZ1dHVyZS4KKy5QUAorVGhlIHZlcnNpb24gMi4yOCB3YXMgdGhlIGxhc3Qgb25lIHRoYXQgcHJpbnRlZCB0ZXh0IG91dHB1dCB1c2luZworLkJSIGN0aW1lICgzKQordGltZXN0YW1wIGZvcm1hdC4gIE5ld2VyIGR1bXBzIHVzZSBtaWxsaXNlY29uZCBwcmVjaXNpb24gSVNPLTg2MDEgdGltZXN0YW1wCitmb3JtYXQgaW4gVVRDLTAgdGltZXpvbmUuICBDb252ZXJzaW9uIGZyb20gZm9ybWVyIHRpbWVzdGFtcCBmb3JtYXQgY2FuIGJlCittYWRlIHRvIGJpbmFyeSwgYWx0aG91Z2ggYXR0ZW1wdCB0byBkbyBzbyBjYW4gbGVhZCB0aGUgdGltZXN0YW1wcyB0byBkcmlmdAorYW1vdW50IG9mIHRpbWV6b25lIG9mZnNldC4KKy5TSCBCVUdTCitZb3UgbWF5CisuQiBub3QKK3VzZSB0aGUKKy5CIFwtcgorb3B0aW9uLCBhcyB0aGUgZm9ybWF0IGZvciB0aGUgdXRtcC93dG1wIGZpbGVzIHN0cm9uZ2x5IGRlcGVuZHMgb24gdGhlIGlucHV0Citmb3JtYXQuICBUaGlzIHRvb2wgd2FzCisuQiBub3QKK3dyaXR0ZW4gZm9yIG5vcm1hbCB1c2UsIGJ1dCBmb3IgZGVidWdnaW5nIG9ubHkuCisuU0ggQVVUSE9SCitNaWNoYWVsIEtyYXBwCisuU0ggIlNFRSBBTFNPIgorLkJSIGxhc3QgKDEpLAorLkJSIHcgKDEpLAorLkJSIHdobyAoMSksCisuQlIgdXRtcCAoNSkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSB1dG1wZHVtcCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlCitmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3V0bXBkdW1wLmMgYi9sb2dpbi11dGlscy91dG1wZHVtcC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjYzg3ODMKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy91dG1wZHVtcC5jCkBAIC0wLDAgKzEsMzk3IEBACisvKgorICogdXRtcGR1bXAKKyAqCisgKiBTaW1wbGUgcHJvZ3JhbSB0byBkdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdCwgc28gdGhleSBjYW4gYmUKKyAqIGV4YW1pbmVkLgorICoKKyAqIEJhc2VkIG9uIHV0bXBkdW1wIGR1bXAgZnJvbSBzeXN2aW5pdCBzdWl0ZS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTEtMjAwMCBNaXF1ZWwgdmFuIFNtb29yZW5idXJnIDxtaXF1ZWxzQGNpc3Ryb24ubmw+CisgKgorICogQ29weXJpZ2h0IChDKSAxOTk4IERhbmVrIER1dmFsbCA8ZHV2YWxsQGFsdW1uaS5wcmluY2V0b24uZWR1PgorICogQ29weXJpZ2h0IChDKSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EKKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dXRtcHguaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxuZXRpbmV0L2luLmg+CisjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpZmRlZiBIQVZFX0lOT1RJRllfSU5JVAorI2luY2x1ZGUgPHN5cy9pbm90aWZ5Lmg+CisjZW5kaWYKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInRpbWV1dGlscy5oIgorCitzdGF0aWMgdGltZV90IHN0cnRvdGltZShjb25zdCBjaGFyICpzX3RpbWUpCit7CisJc3RydWN0IHRtIHRtOworCisJbWVtc2V0KCZ0bSwgJ1wwJywgc2l6ZW9mKHN0cnVjdCB0bSkpOworCisJaWYgKHNfdGltZVswXSA9PSAnICcgfHwgc190aW1lWzBdID09ICdcMCcpCisJCXJldHVybiAodGltZV90KTA7CisKKwlpZiAoaXNkaWdpdChzX3RpbWVbMF0pKSB7CisJCS8qIFsxOTk4LTA5LTAxVDAxOjAwOjAwLDAwMDAwMCswMDowMF0KKwkJICogU3Vic2Vjb25kcyBhcmUgcGFyc2VkIHdpdGggc3RydG91c2VjKCkuICBUaW1lem9uZSBpcworCQkgKiBhbHdheXMgVVRDLTAgKi8KKwkJc3RycHRpbWUoc190aW1lLCAiJVktJW0tJWRUJUg6JU06JVMiLCAmdG0pOworCX0gZWxzZSB7CisJCS8qIFtUdWUgU2VwIDAxIDAwOjAwOjAwIDE5OTggR01UXSAqLworCQlzdHJwdGltZShzX3RpbWUsICIlYSAlYiAlZCAlVCAlWSIsICZ0bSk7CisJCS8qIENoZWVzeSB3YXkgb2YgY2hlY2tpbmcgZm9yIERTVC4gIFRoaXMgY291bGQgYmUgbmVlZGVkCisJCSAqIHdpdGggbGVnYWN5IGR1bXBzIHRoYXQgdXNlZCBsb2NhbHRpbWUoMykuICAqLworCQlpZiAoc190aW1lWzI2XSA9PSAnRCcpCisJCQl0bS50bV9pc2RzdCA9IDE7CisJfQorCXJldHVybiB0aW1lZ20oJnRtKTsKK30KKworc3RhdGljIHN1c2Vjb25kc190IHN0cnRvdXNlYyhjb25zdCBjaGFyICpzX3RpbWUpCit7CisJY29uc3QgY2hhciAqcyA9IHN0cmNocihzX3RpbWUsICcsJyk7CisJaWYgKHMpCisJCXJldHVybiAoc3VzZWNvbmRzX3QpIGF0b2kocyArIDEpOworCXJldHVybiAwOworfQorCisjZGVmaW5lIGNsZWFuc2UoeCkgeGNsZWFuc2UoeCwgc2l6ZW9mKHgpKQorc3RhdGljIHZvaWQgeGNsZWFuc2UoY2hhciAqcywgaW50IGxlbikKK3sKKwlmb3IgKCA7ICpzICYmIGxlbi0tID4gMDsgcysrKQorCQlpZiAoIWlzcHJpbnQoKnMpIHx8ICpzID09ICdbJyB8fCAqcyA9PSAnXScpCisJCQkqcyA9ICc/JzsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfdXRsaW5lKHN0cnVjdCB1dG1weCAqdXQsIEZJTEUgKm91dCkKK3sKKwljb25zdCBjaGFyICphZGRyX3N0cmluZzsKKwljaGFyIGJ1ZmZlcltJTkVUNl9BRERSU1RSTEVOXTsKKwljaGFyIHRpbWVfc3RyaW5nWzQwXTsKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKworCWlmICh1dC0+dXRfYWRkcl92NlsxXSB8fCB1dC0+dXRfYWRkcl92NlsyXSB8fCB1dC0+dXRfYWRkcl92NlszXSkKKwkJYWRkcl9zdHJpbmcgPSBpbmV0X250b3AoQUZfSU5FVDYsICYodXQtPnV0X2FkZHJfdjYpLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKKwllbHNlCisJCWFkZHJfc3RyaW5nID0gaW5ldF9udG9wKEFGX0lORVQsICYodXQtPnV0X2FkZHJfdjYpLCBidWZmZXIsIHNpemVvZihidWZmZXIpKTsKKworCXR2LnR2X3NlYyA9IHV0LT51dF90di50dl9zZWM7CisJdHYudHZfdXNlYyA9IHV0LT51dF90di50dl91c2VjOworCisJaWYgKHN0cnRpbWV2YWxfaXNvKCZ0diwgSVNPX1RJTUVTVEFNUF9DT01NQV9HVCwgdGltZV9zdHJpbmcsCisJCQkgICBzaXplb2YodGltZV9zdHJpbmcpKSAhPSAwKQorCQlyZXR1cm47CisJY2xlYW5zZSh1dC0+dXRfaWQpOworCWNsZWFuc2UodXQtPnV0X3VzZXIpOworCWNsZWFuc2UodXQtPnV0X2xpbmUpOworCWNsZWFuc2UodXQtPnV0X2hvc3QpOworCisJLyogICAgICAgICAgICB0eXBlIHBpZCAgICBpZCAgICAgICB1c2VyICAgICBsaW5lICAgICBob3N0ICAgICBhZGRyICAgIHRpbWUgKi8KKwlmcHJpbnRmKG91dCwgIlslZF0gWyUwNWRdIFslLTQuNHNdIFslLSouKnNdIFslLSouKnNdIFslLSouKnNdIFslLTE1c10gWyVzXVxuIiwKKwkgICAgICAgdXQtPnV0X3R5cGUsIHV0LT51dF9waWQsIHV0LT51dF9pZCwKKwkgICAgICAgOCwgKGludClzaXplb2YodXQtPnV0X3VzZXIpLCB1dC0+dXRfdXNlciwKKwkgICAgICAgMTIsIChpbnQpc2l6ZW9mKHV0LT51dF9saW5lKSwgdXQtPnV0X2xpbmUsCisJICAgICAgIDIwLCAoaW50KXNpemVvZih1dC0+dXRfaG9zdCksIHV0LT51dF9ob3N0LAorCSAgICAgICBhZGRyX3N0cmluZywgdGltZV9zdHJpbmcpOworfQorCisjaWZkZWYgSEFWRV9JTk9USUZZX0lOSVQKKyNkZWZpbmUgRVZFTlRTCQkoSU5fTU9ESUZZfElOX0RFTEVURV9TRUxGfElOX01PVkVfU0VMRnxJTl9VTk1PVU5UKQorI2RlZmluZSBORVZFTlRTCQk0CisKK3N0YXRpYyB2b2lkIHJvbGxfZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgb2ZmX3QgKnNpemUsIEZJTEUgKm91dCkKK3sKKwlGSUxFICppbjsKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlzdHJ1Y3QgdXRtcHggdXQ7CisJb2ZmX3QgcG9zOworCisJaWYgKCEoaW4gPSBmb3BlbihmaWxlbmFtZSwgInIiKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIGZpbGVuYW1lKTsKKworCWlmIChmc3RhdChmaWxlbm8oaW4pLCAmc3QpID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBmaWxlbmFtZSk7CisKKwlpZiAoc3Quc3Rfc2l6ZSA9PSAqc2l6ZSkKKwkJZ290byBkb25lOworCisJaWYgKGZzZWVrKGluLCAqc2l6ZSwgU0VFS19TRVQpICE9IChvZmZfdCkgLTEpIHsKKwkJd2hpbGUgKGZyZWFkKCZ1dCwgc2l6ZW9mKHV0KSwgMSwgaW4pID09IDEpCisJCQlwcmludF91dGxpbmUoJnV0LCBvdXQpOworCX0KKworCXBvcyA9IGZ0ZWxsbyhpbik7CisJLyogSWYgd2UndmUgc3VjY2Vzc2Z1bGx5IHJlYWQgc29tZXRoaW5nLCB1c2UgdGhlIGZpbGUgcG9zaXRpb24sIHRoaXMKKwkgKiBhdm9pZHMgZGF0YSBkdXBsaWNhdGlvbi4gIElmIHdlIHJlYWQgbm90aGluZyBvciBoaXQgYW4gZXJyb3IsCisJICogcmVzZXQgdG8gdGhlIHJlcG9ydGVkIHNpemUsIHRoaXMgaGFuZGxlcyB0cnVuY2F0ZWQgZmlsZXMuCisJICovCisJKnNpemUgPSAocG9zICE9IC0xICYmIHBvcyAhPSAqc2l6ZSkgPyBwb3MgOiBzdC5zdF9zaXplOworCitkb25lOgorCWZjbG9zZShpbik7Cit9CisKK3N0YXRpYyBpbnQgZm9sbG93X2J5X2lub3RpZnkoRklMRSAqaW4sIGNvbnN0IGNoYXIgKmZpbGVuYW1lLCBGSUxFICpvdXQpCit7CisJY2hhciBidWZbTkVWRU5UUyAqIHNpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCldOworCWludCBmZCwgd2QsIGV2ZW50OworCXNzaXplX3QgbGVuZ3RoOworCW9mZl90IHNpemU7CisKKwlmZCA9IGlub3RpZnlfaW5pdCgpOworCWlmIChmZCA9PSAtMSkKKwkJcmV0dXJuIC0xOwkvKiBwcm9iYWJseSByZWFjaGVkIGFueSBsaW1pdCAuLi4gKi8KKworCXNpemUgPSBmdGVsbG8oaW4pOworCWZjbG9zZShpbik7CisKKwl3ZCA9IGlub3RpZnlfYWRkX3dhdGNoKGZkLCBmaWxlbmFtZSwgRVZFTlRTKTsKKwlpZiAod2QgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIiksIGZpbGVuYW1lKTsKKworCXdoaWxlICh3ZCA+PSAwKSB7CisJCWVycm5vID0gMDsKKwkJbGVuZ3RoID0gcmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSk7CisKKwkJaWYgKGxlbmd0aCA8IDAgJiYgKGVycm5vID09IEVJTlRSIHx8IGVycm5vID09IEVBR0FJTikpCisJCQljb250aW51ZTsKKwkJaWYgKGxlbmd0aCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiKSwKKwkJCQkgICAgZmlsZW5hbWUpOworCisJCWZvciAoZXZlbnQgPSAwOyBldmVudCA8IGxlbmd0aDspIHsKKwkJCXN0cnVjdCBpbm90aWZ5X2V2ZW50ICpldiA9CisJCQkJICAgIChzdHJ1Y3QgaW5vdGlmeV9ldmVudCAqKSAmYnVmW2V2ZW50XTsKKworCQkJaWYgKGV2LT5tYXNrICYgSU5fTU9ESUZZKQorCQkJCXJvbGxfZmlsZShmaWxlbmFtZSwgJnNpemUsIG91dCk7CisJCQllbHNlIHsKKwkJCQljbG9zZSh3ZCk7CisJCQkJd2QgPSAtMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWV2ZW50ICs9IHNpemVvZihzdHJ1Y3QgaW5vdGlmeV9ldmVudCkgKyBldi0+bGVuOworCQl9CisJfQorCisJY2xvc2UoZmQpOworCXJldHVybiAwOworfQorI2VuZGlmIC8qIEhBVkVfSU5PVElGWV9JTklUICovCisKK3N0YXRpYyBGSUxFICpkdW1wKEZJTEUgKmluLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGZvbGxvdywgRklMRSAqb3V0KQoreworCXN0cnVjdCB1dG1weCB1dDsKKworCWlmIChmb2xsb3cpCisJCWlnbm9yZV9yZXN1bHQoIGZzZWVrKGluLCAtMTAgKiBzaXplb2YodXQpLCBTRUVLX0VORCkgKTsKKworCXdoaWxlIChmcmVhZCgmdXQsIHNpemVvZih1dCksIDEsIGluKSA9PSAxKQorCQlwcmludF91dGxpbmUoJnV0LCBvdXQpOworCisJaWYgKCFmb2xsb3cpCisJCXJldHVybiBpbjsKKworI2lmZGVmIEhBVkVfSU5PVElGWV9JTklUCisJaWYgKGZvbGxvd19ieV9pbm90aWZ5KGluLCBmaWxlbmFtZSwgb3V0KSA9PSAwKQorCQlyZXR1cm4gTlVMTDsJCQkJLyogZmlsZSBhbHJlYWR5IGNsb3NlZCAqLworCWVsc2UKKyNlbmRpZgorCQkvKiBmYWxsYmFjayBmb3Igc3lzdGVtcyB3aXRob3V0IGlub3RpZnkgb3Igd2l0aCBub24tZnJlZQorCQkgKiBpbm90aWZ5IGluc3RhbmNlcyAqLworCQlmb3IgKDs7KSB7CisJCQl3aGlsZSAoZnJlYWQoJnV0LCBzaXplb2YodXQpLCAxLCBpbikgPT0gMSkKKwkJCQlwcmludF91dGxpbmUoJnV0LCBvdXQpOworCQkJc2xlZXAoMSk7CisJCX0KKworCXJldHVybiBpbjsKK30KKworCisvKiBUaGlzIGZ1bmN0aW9uIHdvbid0IHdvcmsgcHJvcGVybHkgaWYgdGhlcmUncyBhICddJyBvciBhICcgJyBpbiB0aGUgcmVhbAorICogdG9rZW4uICBUaGFua2Z1bGx5LCB0aGlzIHNob3VsZCBuZXZlciBoYXBwZW4uICAqLworc3RhdGljIGludCBnZXR0b2soY2hhciAqbGluZSwgY2hhciAqZGVzdCwgaW50IHNpemUsIGludCBlYXRzcGFjZSkKK3sKKwlpbnQgYnBvcywgZXBvcywgZWF0ZW47CisKKwlicG9zID0gc3RyY2hyKGxpbmUsICdbJykgLSBsaW5lOworCWlmIChicG9zIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIpKTsKKworCWxpbmUgKz0gMSArIGJwb3M7CisJZXBvcyA9IHN0cmNocihsaW5lLCAnXScpIC0gbGluZTsKKwlpZiAoZXBvcyA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iKSk7CisKKwlsaW5lW2Vwb3NdID0gJ1wwJzsKKwllYXRlbiA9IGJwb3MgKyBlcG9zICsgMTsKKworCWlmIChlYXRzcGFjZSkgeworCQljaGFyICp0OworCQlpZiAoKHQgPSBzdHJjaHIobGluZSwgJyAnKSkpCisJCQkqdCA9IDA7CisJfQorCXN0cm5jcHkoZGVzdCwgbGluZSwgc2l6ZSk7CisKKwlyZXR1cm4gZWF0ZW4gKyAxOworfQorCitzdGF0aWMgdm9pZCB1bmR1bXAoRklMRSAqaW4sIEZJTEUgKm91dCkKK3sKKwlzdHJ1Y3QgdXRtcHggdXQ7CisJY2hhciBzX2FkZHJbSU5FVDZfQUREUlNUUkxFTiArIDFdLCBzX3RpbWVbMjldLCAqbGluZXN0YXJ0LCAqbGluZTsKKworCWxpbmVzdGFydCA9IHhtYWxsb2MoMTAyNCAqIHNpemVvZigqbGluZXN0YXJ0KSk7CisJc190aW1lWzI4XSA9IDA7CisKKwl3aGlsZSAoZmdldHMobGluZXN0YXJ0LCAxMDIzLCBpbikpIHsKKwkJbGluZSA9IGxpbmVzdGFydDsKKwkJbWVtc2V0KCZ1dCwgJ1wwJywgc2l6ZW9mKHV0KSk7CisJCXNzY2FuZihsaW5lLCAiWyVoZF0gWyVkXSBbJTRjXSAiLCAmdXQudXRfdHlwZSwgJnV0LnV0X3BpZCwgdXQudXRfaWQpOworCisJCWxpbmUgKz0gMTk7CisJCWxpbmUgKz0gZ2V0dG9rKGxpbmUsIHV0LnV0X3VzZXIsIHNpemVvZih1dC51dF91c2VyKSwgMSk7CisJCWxpbmUgKz0gZ2V0dG9rKGxpbmUsIHV0LnV0X2xpbmUsIHNpemVvZih1dC51dF9saW5lKSwgMSk7CisJCWxpbmUgKz0gZ2V0dG9rKGxpbmUsIHV0LnV0X2hvc3QsIHNpemVvZih1dC51dF9ob3N0KSwgMSk7CisJCWxpbmUgKz0gZ2V0dG9rKGxpbmUsIHNfYWRkciwgc2l6ZW9mKHNfYWRkcikgLSAxLCAxKTsKKwkJZ2V0dG9rKGxpbmUsIHNfdGltZSwgc2l6ZW9mKHNfdGltZSkgLSAxLCAwKTsKKwkJaWYgKHN0cmNocihzX2FkZHIsICcuJykpCisJCQlpbmV0X3B0b24oQUZfSU5FVCwgc19hZGRyLCAmKHV0LnV0X2FkZHJfdjYpKTsKKwkJZWxzZQorCQkJaW5ldF9wdG9uKEFGX0lORVQ2LCBzX2FkZHIsICYodXQudXRfYWRkcl92NikpOworCisJCXV0LnV0X3R2LnR2X3NlYyA9IHN0cnRvdGltZShzX3RpbWUpOworCQl1dC51dF90di50dl91c2VjID0gc3RydG91c2VjKHNfdGltZSk7CisKKwkJaWdub3JlX3Jlc3VsdCggZndyaXRlKCZ1dCwgc2l6ZW9mKHV0KSwgMSwgb3V0KSApOworCX0KKworCWZyZWUobGluZXN0YXJ0KTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCisJZnByaW50ZihvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIiksIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyMikpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJ1dG1wZHVtcCgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYzsKKwlGSUxFICppbiA9IE5VTEwsICpvdXQgPSBOVUxMOworCWludCByZXZlcnNlID0gMCwgZm9sbG93ID0gMDsKKwljb25zdCBjaGFyICpmaWxlbmFtZSA9IE5VTEw7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJmb2xsb3ciLCAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdmJyB9LAorCQl7ICJyZXZlcnNlIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJyB9LAorCQl7ICJvdXRwdXQiLCAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCQl7ICJoZWxwIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCQl7ICJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImZybzpoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ3InOgorCQkJcmV2ZXJzZSA9IDE7CisJCQlicmVhazsKKworCQljYXNlICdmJzoKKwkJCWZvbGxvdyA9IDE7CisJCQlicmVhazsKKworCQljYXNlICdvJzoKKwkJCW91dCA9IGZvcGVuKG9wdGFyZywgInciKTsKKwkJCWlmICghb3V0KQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksCisJCQkJICAgIG9wdGFyZyk7CisJCQlicmVhazsKKworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAoIW91dCkKKwkJb3V0ID0gc3Rkb3V0OworCisJaWYgKG9wdGluZCA8IGFyZ2MpIHsKKwkJZmlsZW5hbWUgPSBhcmd2W29wdGluZF07CisJCWluID0gZm9wZW4oZmlsZW5hbWUsICJyIik7CisJCWlmICghaW4pCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBmaWxlbmFtZSk7CisJfSBlbHNlIHsKKwkJaWYgKGZvbGxvdykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiKSk7CisJCWZpbGVuYW1lID0gIi9kZXYvc3RkaW4iOworCQlpbiA9IHN0ZGluOworCX0KKworCWlmIChyZXZlcnNlKSB7CisJCWZwcmludGYoc3RkZXJyLCBfKCJVdG1wIHVuZHVtcCBvZiAlc1xuIiksIGZpbGVuYW1lKTsKKwkJdW5kdW1wKGluLCBvdXQpOworCX0gZWxzZSB7CisJCWZwcmludGYoc3RkZXJyLCBfKCJVdG1wIGR1bXAgb2YgJXNcbiIpLCBmaWxlbmFtZSk7CisJCWluID0gZHVtcChpbiwgZmlsZW5hbWUsIGZvbGxvdywgb3V0KTsKKwl9CisKKwlpZiAob3V0ICE9IHN0ZG91dCAmJiBjbG9zZV9zdHJlYW0ob3V0KSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygid3JpdGUgZmFpbGVkIikpOworCisJaWYgKGluICYmIGluICE9IHN0ZGluKQorCQlmY2xvc2UoaW4pOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3ZpZ3IuOCBiL2xvZ2luLXV0aWxzL3ZpZ3IuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZjcyZDdhCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvdmlnci44CkBAIC0wLDAgKzEgQEAKKy5zbyBtYW44L3ZpcHcuOApkaWZmIC0tZ2l0IGEvbG9naW4tdXRpbHMvdmlwdy44IGIvbG9naW4tdXRpbHMvdmlwdy44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxYWEzNmUKLS0tIC9kZXYvbnVsbAorKysgYi9sb2dpbi11dGlscy92aXB3LjgKQEAgLTAsMCArMSw4OSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4MywgMTk5MSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKXZpcHcuOAk2LjcgKEJlcmtlbGV5KSAzLzE2LzkxCisuXCIKKy5USCBWSVBXICI4IiAiU2VwdGVtYmVyIDIwMTEiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3ZpcHcsIHZpZ3IgXC0gZWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZQorLlNIIFNZTk9QU0lTCisuQiB2aXB3Citbb3B0aW9uc10KKy5icgorLkIgdmlncgorW29wdGlvbnNdCisuU0ggREVTQ1JJUFRJT04KKy5CIHZpcHcKK2VkaXRzIHRoZSBwYXNzd29yZCBmaWxlIGFmdGVyIHNldHRpbmcgdGhlIGFwcHJvcHJpYXRlIGxvY2tzLAorYW5kIGRvZXMgYW55IG5lY2Vzc2FyeSBwcm9jZXNzaW5nIGFmdGVyIHRoZSBwYXNzd29yZCBmaWxlIGlzIHVubG9ja2VkLgorSWYgdGhlIHBhc3N3b3JkIGZpbGUgaXMgYWxyZWFkeSBsb2NrZWQgZm9yIGVkaXRpbmcgYnkgYW5vdGhlciB1c2VyLAorLkIgdmlwdword2lsbCBhc2sgeW91Cit0byB0cnkgYWdhaW4gbGF0ZXIuICBUaGUgZGVmYXVsdCBlZGl0b3IgZm9yCisuQiB2aXB3CithbmQKKy5CIHZpZ3IKK2lzCisuQlIgdmkgKDEpLgorLkIgdmlncgorZWRpdHMgdGhlIGdyb3VwIGZpbGUgaW4gdGhlIHNhbWUgbWFubmVyIGFzCisuQiB2aXB3Citkb2VzIHRoZSBwYXNzd2QgZmlsZS4KKy5TSCBFTlZJUk9OTUVOVAorSWYgdGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZSBleGlzdHMsIGl0IHdpbGwgYmUgdXRpbGl6ZWQgYnkKKy5CIHZpcHcKK2FuZAorLkJSIHZpZ3IgOgorLkkKKy5UUAorLkIgRURJVE9SCitUaGUgZWRpdG9yIHNwZWNpZmllZCBieSB0aGUgc3RyaW5nCisuQiBFRElUT1IKK3dpbGwgYmUgaW52b2tlZCBpbnN0ZWFkIG9mIHRoZSBkZWZhdWx0IGVkaXRvcgorLkJSIHZpICgxKS4KKy5TSCBTRUUgQUxTTworLkJSIHZpICgxKSwKKy5CUiBwYXNzd2QgKDEpLAorLkJSIGZsb2NrICgyKSwKKy5CUiBwYXNzd2QgKDUpCisuU0ggSElTVE9SWQorVGhlCisuQiB2aXB3Citjb21tYW5kIGFwcGVhcmVkIGluIDQuMEJTRC4KKy5icgorVGhlCisuQiB2aWdyCitjb21tYW5kIGFwcGVhcmVkIGluIFV0aWwtTGludXggMi42LgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHZpZ3IgYW5kIHZpcHcgY29tbWFuZHMgYXJlIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgYXJlIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL2xvZ2luLXV0aWxzL3ZpcHcuYyBiL2xvZ2luLXV0aWxzL3ZpcHcuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTAyZmNiCi0tLSAvZGV2L251bGwKKysrIGIvbG9naW4tdXRpbHMvdmlwdy5jCkBAIC0wLDAgKzEsMzczIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg3IFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiBVcGRhdGVkIFRodSBPY3QgMTIgMDk6NTY6NTUgMTk5NSBieSBmYWl0aEBjcy51bmMuZWR1IHdpdGggc2VjdXJpdHkKKyAqIHBhdGNoZXMgZnJvbSBaZWZyYW0gPEEuTWFpbkBkY3Mud2Fyd2ljay5hYy51az4KKyAqCisgKiBVcGRhdGVkIFRodSBOb3YgIDkgMjE6NTg6NTMgMTk5NSBieSBNYXJ0aW4gU2NodWx6ZQorICogPGpvZXlAZmlubGFuZGlhLmluZm9kcm9tLm5vcnRoLmRlPi4gIFN1cHBvcnQgZm9yIHZpZ3IuCisgKgorICogTWFydGluIFNjaHVsemUncyBwYXRjaGVzIGFkYXB0ZWQgdG8gVXRpbC1MaW51eCBieSBOaWNvbGFpIExhbmdmZWxkdC4KKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKiBTdW4gTWFyIDIxIDE5OTkgLSBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAY29uZWN0aXZhLmNvbS5icj4KKyAqIC0gZml4ZWQgc3RyZXJyKGVycm5vKSBpbiBnZXR0ZXh0IGNhbGxzCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHNoYWRvdy5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNpbmNsdWRlIDxzeXMvcmVzb3VyY2UuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJmaWxldXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInNldHB3bmFtLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJycG1hdGNoLmgiCisKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKyMgaW5jbHVkZSA8c2VsaW51eC9zZWxpbnV4Lmg+CisjZW5kaWYKKworI2RlZmluZSBGSUxFTkFNRUxFTiA2NworCitlbnVtIHsKKwlWSVBXLAorCVZJR1IKK307CitzdGF0aWMgaW50IHByb2dyYW07CitzdGF0aWMgY2hhciBvcmlnX2ZpbGVbRklMRU5BTUVMRU5dOwkvKiBvcmlnaW5hbCBmaWxlIC9ldGMvcGFzc3dkIG9yIC9ldGMvZ3JvdXAgKi8KK3N0YXRpYyBjaGFyICp0bXBfZmlsZTsJCQkvKiB0bXAgZmlsZSAqLworCit2b2lkIHB3X2Vycm9yIChjaGFyICosIGludCwgaW50KTsKKworc3RhdGljIHZvaWQgY29weWZpbGUoaW50IGZyb20sIGludCB0bykKK3sKKwlpbnQgbnIsIG53LCBvZmY7CisJY2hhciBidWZbOCAqIDEwMjRdOworCisJd2hpbGUgKChuciA9IHJlYWQoZnJvbSwgYnVmLCBzaXplb2YoYnVmKSkpID4gMCkKKwkJZm9yIChvZmYgPSAwOyBvZmYgPCBucjsgbnIgLT0gbncsIG9mZiArPSBudykKKwkJCWlmICgobncgPSB3cml0ZSh0bywgYnVmICsgb2ZmLCBucikpIDwgMCkKKwkJCQlwd19lcnJvcih0bXBfZmlsZSwgMSwgMSk7CisKKwlpZiAobnIgPCAwKQorCQlwd19lcnJvcihvcmlnX2ZpbGUsIDEsIDEpOworI2lmZGVmIEhBVkVfRVhQTElDSVRfQlpFUk8KKwlleHBsaWNpdF9iemVybyhidWYsIHNpemVvZihidWYpKTsKKyNlbmRpZgorfQorCitzdGF0aWMgdm9pZCBwd19pbml0KHZvaWQpCit7CisJc3RydWN0IHJsaW1pdCBybGltOworCisJLyogVW5saW1pdGVkIHJlc291cmNlIGxpbWl0cy4gKi8KKwlybGltLnJsaW1fY3VyID0gcmxpbS5ybGltX21heCA9IFJMSU1fSU5GSU5JVFk7CisJKHZvaWQpc2V0cmxpbWl0KFJMSU1JVF9DUFUsICZybGltKTsKKwkodm9pZClzZXRybGltaXQoUkxJTUlUX0ZTSVpFLCAmcmxpbSk7CisJKHZvaWQpc2V0cmxpbWl0KFJMSU1JVF9TVEFDSywgJnJsaW0pOworCSh2b2lkKXNldHJsaW1pdChSTElNSVRfREFUQSwgJnJsaW0pOworCSh2b2lkKXNldHJsaW1pdChSTElNSVRfUlNTLCAmcmxpbSk7CisKKwkvKiBEb24ndCBkcm9wIGNvcmUgKG5vdCByZWFsbHkgbmVjZXNzYXJ5LCBidXQgR1AncykuICovCisJcmxpbS5ybGltX2N1ciA9IHJsaW0ucmxpbV9tYXggPSAwOworCSh2b2lkKXNldHJsaW1pdChSTElNSVRfQ09SRSwgJnJsaW0pOworCisJLyogVHVybiBvZmYgc2lnbmFscy4gKi8KKwkodm9pZClzaWduYWwoU0lHQUxSTSwgU0lHX0lHTik7CisJKHZvaWQpc2lnbmFsKFNJR0hVUCwgU0lHX0lHTik7CisJKHZvaWQpc2lnbmFsKFNJR0lOVCwgU0lHX0lHTik7CisJKHZvaWQpc2lnbmFsKFNJR1BJUEUsIFNJR19JR04pOworCSh2b2lkKXNpZ25hbChTSUdRVUlULCBTSUdfSUdOKTsKKwkodm9pZClzaWduYWwoU0lHVEVSTSwgU0lHX0lHTik7CisJKHZvaWQpc2lnbmFsKFNJR1RTVFAsIFNJR19JR04pOworCSh2b2lkKXNpZ25hbChTSUdUVE9VLCBTSUdfSUdOKTsKKworCS8qIENyZWF0ZSB3aXRoIGV4YWN0IHBlcm1pc3Npb25zLiAqLworCSh2b2lkKXVtYXNrKDApOworfQorCitzdGF0aWMgRklMRSAqIHB3X3RtcGZpbGUoaW50IGxvY2tmZCkKK3sKKwlGSUxFICpmZDsKKwljaGFyICp0bXBuYW1lID0gTlVMTDsKKworCWlmICgoZmQgPSB4Zm1rc3RlbXAoJnRtcG5hbWUsICIvZXRjIiwgIi52aXB3IikpID09IE5VTEwpIHsKKwkJdWxja3B3ZGYoKTsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIpKTsKKwl9CisKKwljb3B5ZmlsZShsb2NrZmQsIGZpbGVubyhmZCkpOworCXRtcF9maWxlID0gdG1wbmFtZTsKKwlyZXR1cm4gZmQ7Cit9CisKK3N0YXRpYyB2b2lkIHB3X3dyaXRlKHZvaWQpCit7CisJY2hhciB0bXBbRklMRU5BTUVMRU4gKyA0XTsKKworCXNwcmludGYodG1wLCAiJXMlcyIsIG9yaWdfZmlsZSwgIi5PTEQiKTsKKwl1bmxpbmsodG1wKTsKKworCWlmIChsaW5rKG9yaWdfZmlsZSwgdG1wKSkKKwkJd2FybihfKCIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiKSwgb3JpZ19maWxlLCB0bXApOworCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJaWYgKGlzX3NlbGludXhfZW5hYmxlZCgpID4gMCkgeworCQlzZWN1cml0eV9jb250ZXh0X3QgcGFzc3dkX2NvbnRleHQgPSBOVUxMOworCQlpbnQgcmV0ID0gMDsKKwkJaWYgKGdldGZpbGVjb24ob3JpZ19maWxlLCAmcGFzc3dkX2NvbnRleHQpIDwgMCkgeworCQkJd2FybngoXygiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIiksIG9yaWdfZmlsZSk7CisJCQlwd19lcnJvcihvcmlnX2ZpbGUsIDEsIDEpOworCQl9CisJCXJldCA9IHNldGZpbGVjb24odG1wX2ZpbGUsIHBhc3N3ZF9jb250ZXh0KTsKKwkJZnJlZWNvbihwYXNzd2RfY29udGV4dCk7CisJCWlmIChyZXQgIT0gMCkgeworCQkJd2FybngoXygiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIiksIHRtcF9maWxlKTsKKwkJCXB3X2Vycm9yKHRtcF9maWxlLCAxLCAxKTsKKwkJfQorCX0KKyNlbmRpZgorCisJaWYgKHJlbmFtZSh0bXBfZmlsZSwgb3JpZ19maWxlKSA9PSAtMSkgeworCQlpbnQgZXJyc3YgPSBlcnJubzsKKwkJZXJyeChFWElUX0ZBSUxVUkUsCisJCSAgICAgKCJjYW5ub3Qgd3JpdGUgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKSIpLAorCQkgICAgIG9yaWdfZmlsZSwgc3RyZXJyb3IoZXJyc3YpLCB0bXBfZmlsZSk7CisJfQorCXVubGluayh0bXBfZmlsZSk7CisJZnJlZSh0bXBfZmlsZSk7CisJdG1wX2ZpbGUgPSBOVUxMOworfQorCitzdGF0aWMgdm9pZCBwd19lZGl0KHZvaWQpCit7CisJaW50IHBzdGF0OworCXBpZF90IHBpZDsKKwljaGFyICpwLCAqZWRpdG9yLCAqdGs7CisKKwllZGl0b3IgPSBnZXRlbnYoIkVESVRPUiIpOworCWVkaXRvciA9IHhzdHJkdXAoZWRpdG9yID8gZWRpdG9yIDogX1BBVEhfVkkpOworCisJdGsgPSBzdHJ0b2soZWRpdG9yLCAiIFx0Iik7CisJaWYgKHRrICYmIChwID0gc3RycmNocih0aywgJy8nKSkgIT0gTlVMTCkKKwkJKytwOworCWVsc2UKKwkJcCA9IGVkaXRvcjsKKworCXBpZCA9IGZvcmsoKTsKKwlpZiAocGlkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZm9yayBmYWlsZWQiKSk7CisKKwlpZiAoIXBpZCkgeworCQlleGVjbHAoZWRpdG9yLCBwLCB0bXBfZmlsZSwgTlVMTCk7CisJCWVycmV4ZWMoZWRpdG9yKTsKKwl9CisJZm9yICg7OykgeworCQlwaWQgPSB3YWl0cGlkKHBpZCwgJnBzdGF0LCBXVU5UUkFDRUQpOworCQlpZiAoV0lGU1RPUFBFRChwc3RhdCkpIHsKKwkJCS8qIHRoZSBlZGl0b3Igc3VzcGVuZGVkLCBzbyBzdXNwZW5kIHVzIGFzIHdlbGwgKi8KKwkJCWtpbGwoZ2V0cGlkKCksIFNJR1NUT1ApOworCQkJa2lsbChwaWQsIFNJR0NPTlQpOworCQl9IGVsc2UgeworCQkJYnJlYWs7CisJCX0KKwl9CisJaWYgKHBpZCA9PSAtMSB8fCAhV0lGRVhJVEVEKHBzdGF0KSB8fCBXRVhJVFNUQVRVUyhwc3RhdCkgIT0gMCkKKwkJcHdfZXJyb3IoZWRpdG9yLCAxLCAxKTsKKworCWZyZWUoZWRpdG9yKTsKK30KKwordm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQorcHdfZXJyb3IoY2hhciAqbmFtZSwgaW50IGVyciwgaW50IGV2YWwpCit7CisJaWYgKGVycikgeworCQlpZiAobmFtZSkKKwkJCXdhcm4oIiVzOiAiLCBuYW1lKTsKKwkJZWxzZQorCQkJd2FybihOVUxMKTsKKwl9CisJd2FybngoXygiJXMgdW5jaGFuZ2VkIiksIG9yaWdfZmlsZSk7CisKKwlpZiAodG1wX2ZpbGUpCisJCXVubGluayh0bXBfZmlsZSk7CisJdWxja3B3ZGYoKTsKKwlleGl0KGV2YWwpOworfQorCitzdGF0aWMgdm9pZCBlZGl0X2ZpbGUoaW50IGlzX3NoYWRvdykKK3sKKwlzdHJ1Y3Qgc3RhdCBiZWdpbiwgZW5kOworCWludCBwYXNzd2RfZmlsZSwgY2hfcmV0OworCUZJTEUgKnRtcF9mZDsKKworCXB3X2luaXQoKTsKKworCS8qIGFjcXVpcmUgZXhjbHVzaXZlIGxvY2sgKi8KKwlpZiAobGNrcHdkZigpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IGdldCBsb2NrIikpOworCisJcGFzc3dkX2ZpbGUgPSBvcGVuKG9yaWdfZmlsZSwgT19SRE9OTFkgfCBPX0NMT0VYRUMsIDApOworCWlmIChwYXNzd2RfZmlsZSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIG9yaWdfZmlsZSk7CisJdG1wX2ZkID0gcHdfdG1wZmlsZShwYXNzd2RfZmlsZSk7CisKKwlpZiAoZnN0YXQoZmlsZW5vKHRtcF9mZCksICZiZWdpbikpCisJCXB3X2Vycm9yKHRtcF9maWxlLCAxLCAxKTsKKworCXB3X2VkaXQoKTsKKworCWlmIChmc3RhdChmaWxlbm8odG1wX2ZkKSwgJmVuZCkpCisJCXB3X2Vycm9yKHRtcF9maWxlLCAxLCAxKTsKKwkvKiBTb21lIGVkaXRvcnMsIHN1Y2ggYXMgVmltIHdpdGggJ3dyaXRlYmFja3VwJyBtb2RlIGVuYWJsZWQsCisJICogdXNlICJhdG9taWMgc2F2ZSIgaW4gd2hpY2ggdGhlIG9sZCBmaWxlIGlzIGRlbGV0ZWQgYW5kIGEgbmV3CisJICogb25lIHdpdGggdGhlIHNhbWUgbmFtZSBjcmVhdGVkIGluIGl0cyBwbGFjZS4gICovCisJaWYgKGVuZC5zdF9ubGluayA9PSAwKSB7CisJCWlmIChjbG9zZV9zdHJlYW0odG1wX2ZkKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygid3JpdGUgZXJyb3IiKSk7CisJCXRtcF9mZCA9IGZvcGVuKHRtcF9maWxlLCAiciIgVUxfQ0xPRVhFQ1NUUik7CisJCWlmICghdG1wX2ZkKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgdG1wX2ZpbGUpOworCQlpZiAoZnN0YXQoZmlsZW5vKHRtcF9mZCksICZlbmQpKQorCQkJcHdfZXJyb3IodG1wX2ZpbGUsIDEsIDEpOworCX0KKwlpZiAoYmVnaW4uc3RfbXRpbWUgPT0gZW5kLnN0X210aW1lKSB7CisJCXdhcm54KF8oIm5vIGNoYW5nZXMgbWFkZSIpKTsKKwkJcHdfZXJyb3IoKGNoYXIgKilOVUxMLCAwLCAwKTsKKwl9CisJLyogcHdfdG1wZmlsZSgpIHdpbGwgY3JlYXRlIHRoZSBmaWxlIHdpdGggbW9kZSA2MDAgKi8KKwlpZiAoIWlzX3NoYWRvdykKKwkJY2hfcmV0ID0gZmNobW9kKGZpbGVubyh0bXBfZmQpLCAwNjQ0KTsKKwllbHNlCisJCWNoX3JldCA9IGZjaG1vZChmaWxlbm8odG1wX2ZkKSwgMDQwMCk7CisJaWYgKGNoX3JldCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJjYW5ub3QgY2htb2QgZmlsZSIpLCBvcmlnX2ZpbGUpOworCWlmIChjbG9zZV9zdHJlYW0odG1wX2ZkKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBlcnJvciIpKTsKKwlwd193cml0ZSgpOworCWNsb3NlKHBhc3N3ZF9maWxlKTsKKwl1bGNrcHdkZigpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsICIgJXNcbiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInZpcHcoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBjOworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoIXN0cmNtcChwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgInZpZ3IiKSkgeworCQlwcm9ncmFtID0gVklHUjsKKwkJeHN0cm5jcHkob3JpZ19maWxlLCBHUk9VUF9GSUxFLCBzaXplb2Yob3JpZ19maWxlKSk7CisJfSBlbHNlIHsKKwkJcHJvZ3JhbSA9IFZJUFc7CisJCXhzdHJuY3B5KG9yaWdfZmlsZSwgUEFTU1dEX0ZJTEUsIHNpemVvZihvcmlnX2ZpbGUpKTsKKwl9CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJZWRpdF9maWxlKDApOworCisJaWYgKHByb2dyYW0gPT0gVklHUikgeworCQlzdHJuY3B5KG9yaWdfZmlsZSwgU0dST1VQX0ZJTEUsIEZJTEVOQU1FTEVOIC0gMSk7CisJfSBlbHNlIHsKKwkJc3RybmNweShvcmlnX2ZpbGUsIFNIQURPV19GSUxFLCBGSUxFTkFNRUxFTiAtIDEpOworCX0KKworCWlmIChhY2Nlc3Mob3JpZ19maWxlLCBGX09LKSA9PSAwKSB7CisJCWNoYXIgcmVzcG9uc2VbODBdOworCisJCWZwdXRzKChwcm9ncmFtID09IFZJR1IpCisJCSAgICAgICA/IF8oIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIpCisJCSAgICAgICA6IF8oIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIpLCBzdGRvdXQpOworCisJCS8qIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorCQkgKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLiAqLworCQlwcmludGYoXygiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIpLCBvcmlnX2ZpbGUpOworCisJCWlmIChmZ2V0cyhyZXNwb25zZSwgc2l6ZW9mKHJlc3BvbnNlKSwgc3RkaW4pICYmCisJCSAgICBycG1hdGNoKHJlc3BvbnNlKSA9PSBSUE1BVENIX1lFUykKKwkJCWVkaXRfZmlsZSgxKTsKKwl9CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQpkaWZmIC0tZ2l0IGEvbTQvYXhfY2hlY2tfdnNjcmlwdC5tNCBiL200L2F4X2NoZWNrX3ZzY3JpcHQubTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjE5YWQyMgotLS0gL2Rldi9udWxsCisrKyBiL200L2F4X2NoZWNrX3ZzY3JpcHQubTQKQEAgLTAsMCArMSwxNDIgQEAKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjICAgICBodHRwOi8vd3d3LmdudS5vcmcvc29mdHdhcmUvYXV0b2NvbmYtYXJjaGl2ZS9heF9jaGVja192c2NyaXB0Lmh0bWwKKyMgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisjCisjIFNZTk9QU0lTCisjCisjICAgQVhfQ0hFQ0tfVlNDUklQVAorIworIyBERVNDUklQVElPTgorIworIyAgIENoZWNrIHdoZXRoZXIgdGhlIGxpbmtlciBzdXBwb3J0cyB2ZXJzaW9uIHNjcmlwdHMuICBWZXJzaW9uIHNjcmlwdHMgYXJlCisjICAgdXNlZCB3aGVuIGJ1aWxkaW5nIHNoYXJlZCBsaWJyYXJpZXMgdG8gYmluZCBzeW1ib2xzIHRvIHZlcnNpb24gbm9kZXMKKyMgICAoaGVscGluZyB0byBkZXRlY3QgaW5jb21wYXRpYmlsaXRpZXMpIG9yIHRvIGxpbWl0IHRoZSB2aXNpYmlsaXR5IG9mCisjICAgbm9uLXB1YmxpYyBzeW1ib2xzLgorIworIyAgIE91dHB1dDoKKyMKKyMgICBJZiB2ZXJzaW9uIHNjcmlwdHMgYXJlIHN1cHBvcnRlZCwgVlNDUklQVF9MREZMQUdTIHdpbGwgY29udGFpbiB0aGUKKyMgICBhcHByb3ByaWF0ZSBmbGFnIHRvIHBhc3MgdG8gdGhlIGxpbmtlci4gIE9uIEdOVSBzeXN0ZW1zIHRoaXMgd291bGQKKyMgICB0eXBpY2FsbHkgYmUgIi1XbCwtLXZlcnNpb24tc2NyaXB0IiwgYW5kIG9uIFNvbGFyaXMgaXQgd291bGQgdHlwaWNhbGx5CisjICAgYmUgIi1XbCwtTSIuCisjCisjICAgVHdvIEF1dG9tYWtlIGNvbmRpdGlvbmFscyBhcmUgYWxzbyBzZXQ6CisjCisjICAgIEhBVkVfVlNDUklQVCBpcyB0cnVlIGlmIHRoZSBsaW5rZXIgc3VwcG9ydHMgdmVyc2lvbiBzY3JpcHRzIHdpdGgKKyMgICAgZW50cmllcyB0aGF0IHVzZSBzaW1wbGUgd2lsZGNhcmRzLCBsaWtlICJsb2NhbDogKiIuCisjCisjICAgIEhBVkVfVlNDUklQVF9DT01QTEVYIGlzIHRydWUgaWYgdGhlIGxpbmtlciBzdXBwb3J0cyB2ZXJzaW9uIHNjcmlwdHMgd2l0aAorIyAgICBwYXR0ZXJuIG1hdGNoaW5nIHdpbGRjYXJkcywgbGlrZSAiZ2xvYmFsOiBKYXZhXyoiLgorIworIyAgIE9uIHN5c3RlbXMgdGhhdCBkbyBub3Qgc3VwcG9ydCBzeW1ib2wgdmVyc2lvbmluZywgc3VjaCBhcyBNYWMgT1MgWCwgYm90aAorIyAgIGNvbmRpdGlvbmFscyB3aWxsIGJlIGZhbHNlLiAgVGhleSB3aWxsIGFsc28gYmUgZmFsc2UgaWYgdGhlIHVzZXIgcGFzc2VzCisjICAgIi0tZGlzYWJsZS1zeW12ZXJzIiBvbiB0aGUgY29uZmlndXJlIGNvbW1hbmQgbGluZS4KKyMKKyMgICBFeGFtcGxlOgorIworIyAgICBjb25maWd1cmUuYWM6CisjCisjICAgICBBWF9DSEVDS19WU0NSSVBUCisjCisjICAgIE1ha2VmaWxlLmFtOgorIworIyAgICAgaWYgSEFWRV9WU0NSSVBUCisjICAgICBsaWJmb29fbGFfTERGTEFHUyArPSAkKFZTQ1JJUFRfTERGTEFHUyksQHNyY2RpckAvbGliZm9vLm1hcAorIyAgICAgZW5kaWYKKyMKKyMgICAgIGlmIEhBVkVfVlNDUklQVF9DT01QTEVYCisjICAgICBsaWJiYXJfbGFfTERGTEFHUyArPSAkKFZTQ1JJUFRfTERGTEFHUyksQHNyY2RpckAvbGliYmFyLm1hcAorIyAgICAgZW5kaWYKKyMKKyMgTElDRU5TRQorIworIyAgIENvcHlyaWdodCAoYykgMjAxNCBLZXZpbiBDZXJuZWtlZSA8Y2VybmVrZWVAZ21haWwuY29tPgorIworIyAgIENvcHlpbmcgYW5kIGRpc3RyaWJ1dGlvbiBvZiB0aGlzIGZpbGUsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIGFyZQorIyAgIHBlcm1pdHRlZCBpbiBhbnkgbWVkaXVtIHdpdGhvdXQgcm95YWx0eSBwcm92aWRlZCB0aGUgY29weXJpZ2h0IG5vdGljZQorIyAgIGFuZCB0aGlzIG5vdGljZSBhcmUgcHJlc2VydmVkLiBUaGlzIGZpbGUgaXMgb2ZmZXJlZCBhcy1pcywgd2l0aG91dCBhbnkKKyMgICB3YXJyYW50eS4KKworI3NlcmlhbCAxCisKKyMgX0FYX0NIRUNLX1ZTQ1JJUFQoZmxhZywgZ2xvYmFsLXN5bSwgYWN0aW9uLWlmLWxpbmstc3VjY2VlZHMsIFtqdW5rLWZpbGU9bm9dKQorQUNfREVGVU4oW19BWF9DSEVDS19WU0NSSVBUXSwgWworICBBQ19MQU5HX1BVU0goW0NdKQorICBheF9jaGVja192c2NyaXB0X3NhdmVfZmxhZ3M9IiRMREZMQUdTIgorICBlY2hvICJWMSB7IGdsb2JhbDogJDI7IGxvY2FsOiAqOyB9OyIgPiBjb25mdGVzdC5tYXAKKyAgQVNfSUYoW3Rlc3QgeCQ0ID0geHllc10sIFsKKyAgICBlY2hvICJ7IiA+PiBjb25mdGVzdC5tYXAKKyAgXSkKKyAgTERGTEFHUz0iJExERkxBR1MgLVdsLCQxLGNvbmZ0ZXN0Lm1hcCIKKyAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbW2ludCBzaG93LCBoaWRlO11dLCBbXSldLCBbJDNdKQorICBMREZMQUdTPSIkYXhfY2hlY2tfdnNjcmlwdF9zYXZlX2ZsYWdzIgorICBybSAtZiBjb25mdGVzdC5tYXAKKyAgQUNfTEFOR19QT1AoW0NdKQorXSkgZG5sIF9BWF9DSEVDS19WU0NSSVBUCisKK0FDX0RFRlVOKFtBWF9DSEVDS19WU0NSSVBUXSwgWworCisgIEFDX0FSR19FTkFCTEUoW3N5bXZlcnNdLAorICAgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtc3ltdmVyc10sCisgICAgICAgICAgICAgICAgICAgW2Rpc2FibGUgbGlicmFyeSBzeW1ib2wgdmVyc2lvbmluZyBbZGVmYXVsdD1hdXRvXV0pLAorICAgIFt3YW50X3N5bXZlcnM9JGVuYWJsZXZhbF0sCisgICAgW3dhbnRfc3ltdmVycz15ZXNdCisgICkKKworICBBU19JRihbdGVzdCB4JHdhbnRfc3ltdmVycyA9IHh5ZXNdLCBbCisKKyAgICBkbmwgRmlyc3QgdGVzdCAtLXZlcnNpb24tc2NyaXB0IGFuZCAtTSB3aXRoIGEgc2ltcGxlIHdpbGRjYXJkLgorCisgICAgQUNfQ0FDSEVfQ0hFQ0soW2xpbmtlciB2ZXJzaW9uIHNjcmlwdCBmbGFnXSwgYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnLCBbCisgICAgICBheF9jdl9jaGVja192c2NyaXB0X2ZsYWc9dW5zdXBwb3J0ZWQKKyAgICAgIF9BWF9DSEVDS19WU0NSSVBUKFstLXZlcnNpb24tc2NyaXB0XSwgW3Nob3ddLCBbCisgICAgICAgIGF4X2N2X2NoZWNrX3ZzY3JpcHRfZmxhZz0tLXZlcnNpb24tc2NyaXB0CisgICAgICBdKQorICAgICAgQVNfSUYoW3Rlc3QgeCRheF9jdl9jaGVja192c2NyaXB0X2ZsYWcgPSB4dW5zdXBwb3J0ZWRdLCBbCisgICAgICAgIF9BWF9DSEVDS19WU0NSSVBUKFstTV0sIFtzaG93XSwgW2F4X2N2X2NoZWNrX3ZzY3JpcHRfZmxhZz0tTV0pCisgICAgICBdKQorCisgICAgICBkbmwgVGhlIGxpbmtlciBtYXkgaW50ZXJwcmV0IC1NIChubyBhcmd1bWVudCkgYXMgInByb2R1Y2UgYSBsb2FkIG1hcC4iCisgICAgICBkbmwgSWYgIi1NIGNvbmZ0ZXN0Lm1hcCIgZG9lc24ndCBmYWlsIHdoZW4gY29uZnRlc3QubWFwIGNvbnRhaW5zCisgICAgICBkbmwgb2J2aW91cyBzeW50YXggZXJyb3JzLCBhc3N1bWUgdGhpcyBpcyB0aGUgY2FzZS4KKworICAgICAgQVNfSUYoW3Rlc3QgeCRheF9jdl9jaGVja192c2NyaXB0X2ZsYWcgIT0geHVuc3VwcG9ydGVkXSwgWworICAgICAgICBfQVhfQ0hFQ0tfVlNDUklQVChbJGF4X2N2X2NoZWNrX3ZzY3JpcHRfZmxhZ10sIFtzaG93XSwKKwkgICAgICAgICAgICAgICAgICBbYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnPXVuc3VwcG9ydGVkXSwgW3llc10pCisgICAgICBdKQorICAgIF0pCisKKyAgICBkbmwgSWYgdGhlIHNpbXBsZSB3aWxkY2FyZCB3b3JrZWQsIHJldGVzdCB3aXRoIGEgY29tcGxleCB3aWxkY2FyZC4KKworICAgIEFTX0lGKFt0ZXN0IHgkYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnICE9IHh1bnN1cHBvcnRlZF0sIFsKKyAgICAgIGF4X2NoZWNrX3ZzY3JpcHRfZmxhZz0kYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnCisgICAgICBBQ19DQUNIRV9DSEVDSyhbaWYgdmVyc2lvbiBzY3JpcHRzIGNhbiB1c2UgY29tcGxleCB3aWxkY2FyZHNdLAorICAgICAgICAgICAgICAgICAgICAgYXhfY3ZfY2hlY2tfdnNjcmlwdF9jb21wbGV4X3dpbGRjYXJkcywgWworICAgICAgICBheF9jdl9jaGVja192c2NyaXB0X2NvbXBsZXhfd2lsZGNhcmRzPW5vCisgICAgICAgIF9BWF9DSEVDS19WU0NSSVBUKFskYXhfY3ZfY2hlY2tfdnNjcmlwdF9mbGFnXSwgW3NoKl0sIFsKKyAgICAgICAgYXhfY3ZfY2hlY2tfdnNjcmlwdF9jb21wbGV4X3dpbGRjYXJkcz15ZXNdKQorICAgICAgXSkKKyAgICAgIGF4X2NoZWNrX3ZzY3JpcHRfY29tcGxleF93aWxkY2FyZHM9IiRheF9jdl9jaGVja192c2NyaXB0X2NvbXBsZXhfd2lsZGNhcmRzIgorICAgIF0sIFsKKyAgICAgIGF4X2NoZWNrX3ZzY3JpcHRfZmxhZz0KKyAgICAgIGF4X2NoZWNrX3ZzY3JpcHRfY29tcGxleF93aWxkY2FyZHM9bm8KKyAgICBdKQorICBdLCBbCisgICAgQUNfTVNHX0NIRUNLSU5HKFtsaW5rZXIgdmVyc2lvbiBzY3JpcHQgZmxhZ10pCisgICAgQUNfTVNHX1JFU1VMVChbZGlzYWJsZWRdKQorCisgICAgYXhfY2hlY2tfdnNjcmlwdF9mbGFnPQorICAgIGF4X2NoZWNrX3ZzY3JpcHRfY29tcGxleF93aWxkY2FyZHM9bm8KKyAgXSkKKworICBBU19JRihbdGVzdCB4JGF4X2NoZWNrX3ZzY3JpcHRfZmxhZyAhPSB4XSwgWworICAgIFZTQ1JJUFRfTERGTEFHUz0iLVdsLCRheF9jaGVja192c2NyaXB0X2ZsYWciCisgICAgQUNfU1VCU1QoW1ZTQ1JJUFRfTERGTEFHU10pCisgIF0pCisKKyAgQU1fQ09ORElUSU9OQUwoW0hBVkVfVlNDUklQVF0sCisgICAgW3Rlc3QgeCRheF9jaGVja192c2NyaXB0X2ZsYWcgIT0geF0pCisgIEFNX0NPTkRJVElPTkFMKFtIQVZFX1ZTQ1JJUFRfQ09NUExFWF0sCisgICAgW3Rlc3QgeCRheF9jaGVja192c2NyaXB0X2NvbXBsZXhfd2lsZGNhcmRzID0geHllc10pCisKK10pIGRubCBBWF9DSEVDS19WU0NSSVBUCmRpZmYgLS1naXQgYS9tNC9jb21waWxlci5tNCBiL200L2NvbXBpbGVyLm00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA1OGM3M2YKLS0tIC9kZXYvbnVsbAorKysgYi9tNC9jb21waWxlci5tNApAQCAtMCwwICsxLDQwIEBACitkbmwgQ29weXJpZ2h0IChDKSAyMDA4LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCitkbmwgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KK2RubCBnaXZlcyB1bmxpbWl0ZWQgcGVybWlzc2lvbiB0byBjb3B5IGFuZC9vciBkaXN0cmlidXRlIGl0LAorZG5sIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb25zLCBhcyBsb25nIGFzIHRoaXMgbm90aWNlIGlzIHByZXNlcnZlZC4KKworZG5sIEZyb20gU2ltb24gSm9zZWZzc29uCitkbmwgLS0gZGVyaXZhdGVkIGZyb20gY29yZXV0aWxzIG00L3dhcm5pbmdzLm00CisKKyMgVUxfQVNfVkFSX0FQUEVORChWQVIsIFZBTFVFKQorIyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIFByb3ZpZGUgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgQVNfVkFSX0FQUEVORCBpZiBBdXRvY29uZiBkb2VzIG5vdCBoYXZlIGl0LgorbTRfaWZkZWYoW0FTX1ZBUl9BUFBFTkRdLAorW200X2NvcHkoW0FTX1ZBUl9BUFBFTkRdLCBbVUxfQVNfVkFSX0FQUEVORF0pXSwKK1ttNF9kZWZpbmUoW1VMX0FTX1ZBUl9BUFBFTkRdLAorW0FTX1ZBUl9TRVQoWyQxXSwgW0FTX1ZBUl9HRVQoWyQxXSkkMl0pXSldKQorCisjIFVMX0FERF9XQVJOKENPTVBJTEVSX09QVElPTiBbLCBWQVJOQU1FXSkKKyMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCisjIEFkZHMgcGFyYW1ldGVyIHRvIFdBUk5fQ0ZMQUdTIChvciB0byAkVkFSTkFNRSkgaWYgdGhlIGNvbXBpbGVyIHN1cHBvcnRzIGl0LgorQUNfREVGVU4oW1VMX1dBUk5fQUREXSwgWworICBtNF9kZWZpbmUoW3dhcm52YXJuYW1lXSwgbTRfZGVmYXVsdChbJDJdLFdBUk5fQ0ZMQUdTKSkKKyAgQVNfVkFSX1BVU0hERUYoW3VsX1dhcm5dLCBbdWxfY3Zfd2Fybl8kMV0pZG5sCisgIEFDX0NBQ0hFX0NIRUNLKFt3aGV0aGVyIGNvbXBpbGVyIGhhbmRsZXMgJDFdLCBtNF9kZWZuKFt1bF9XYXJuXSksIFsKKyAgICAjIHN0b3JlIEFDX0xBTkdfV0VSUk9SIHN0YXR1cywgdGhlbiB0dXJuIGl0IG9uCisgICAgc2F2ZV9hY19bXV9BQ19MQU5HX0FCQlJFVltdX3dlcnJvcl9mbGFnPSIke2FjX1tdX0FDX0xBTkdfQUJCUkVWW11fd2Vycm9yX2ZsYWd9IgorICAgIEFDX0xBTkdfV0VSUk9SCisKKyAgICB1bF9zYXZlX0NQUEZMQUdTPSIkQ1BQRkxBR1MiCisgICAgQ1BQRkxBR1M9Ii1XZXJyb3IgJHtDUFBGTEFHU30gJDEiCisgICAgQUNfUFJFUFJPQ19JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbXSldLAorICAgICAgICAgICAgICAgICAgICAgIFtBU19WQVJfU0VUKHVsX1dhcm4sIFt5ZXNdKV0sCisgICAgICAgICAgICAgICAgICAgICAgW0FTX1ZBUl9TRVQodWxfV2FybiwgW25vXSldKQorICAgICMgcmVzdG9yZSBBQ19MQU5HX1dFUlJPUgorICAgIGFjX1tdX0FDX0xBTkdfQUJCUkVWW11fd2Vycm9yX2ZsYWc9IiR7c2F2ZV9hY19bXV9BQ19MQU5HX0FCQlJFVltdX3dlcnJvcl9mbGFnfSIKKworICAgIENQUEZMQUdTPSIkdWxfc2F2ZV9DUFBGTEFHUyIKKyAgXSkKKyAgQVNfVkFSX0lGKHVsX1dhcm4sIFt5ZXNdLCBbVUxfQVNfVkFSX0FQUEVORCh3YXJudmFybmFtZSwgWyIgJDEiXSldKQorXSkKKwpkaWZmIC0tZ2l0IGEvbTQvZ3RrLWRvYy5tNCBiL200L2d0ay1kb2MubTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZkZmExZAotLS0gL2Rldi9udWxsCisrKyBiL200L2d0ay1kb2MubTQKQEAgLTAsMCArMSwzOSBAQAorZG5sIC0qLSBtb2RlOiBhdXRvY29uZiAtKi0KKworIyBzZXJpYWwgMQorCitkbmwgVXNhZ2U6CitkbmwgICBHVEtfRE9DX0NIRUNLKFttaW5pbXVtLWd0ay1kb2MtdmVyc2lvbl0pCitBQ19ERUZVTihbR1RLX0RPQ19DSEVDS10sCitbCisgIEFDX0JFRk9SRShbQUNfUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIEFDX0JFRk9SRShbQU1fUFJPR19MSUJUT09MXSxbJDBdKWRubCBzZXR1cCBsaWJ0b29sIGZpcnN0CisgIGRubCBmb3Igb3ZlcnJpZGluZyB0aGUgZG9jdW1lbnRhdGlvbiBpbnN0YWxsYXRpb24gZGlyZWN0b3J5CisgIEFDX0FSR19XSVRIKFtodG1sLWRpcl0sCisgICAgQVNfSEVMUF9TVFJJTkcoWy0td2l0aC1odG1sLWRpcj1QQVRIXSwgW3BhdGggdG8gaW5zdGFsbGVkIGRvY3NdKSwsCisgICAgW3dpdGhfaHRtbF9kaXI9JyR7ZGF0YWRpcn0vZ3RrLWRvYy9odG1sJ10pCisgIEhUTUxfRElSPSIkd2l0aF9odG1sX2RpciIKKyAgQUNfU1VCU1QoW0hUTUxfRElSXSkKKworICBkbmwgZW5hYmxlL2Rpc2FibGUgZG9jdW1lbnRhdGlvbiBidWlsZGluZworICBBQ19BUkdfRU5BQkxFKFtndGstZG9jXSwKKyAgICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtZ3RrLWRvY10sCisgICAgICAgICAgICAgICAgICAgW3VzZSBndGstZG9jIHRvIGJ1aWxkIGRvY3VtZW50YXRpb24gW1tkZWZhdWx0PW5vXV1dKSwsCisgICAgW2VuYWJsZV9ndGtfZG9jPW5vXSkKKworICBpZiB0ZXN0IHgkZW5hYmxlX2d0a19kb2MgPSB4eWVzOyB0aGVuCisgICAgaWZlbHNlKFskMV0sW10sCisgICAgICBbUEtHX0NIRUNLX0VYSVNUUyhbZ3RrLWRvY10sLAorICAgICAgICAgICAgICAgICAgICAgICAgQUNfTVNHX0VSUk9SKFtndGstZG9jIG5vdCBpbnN0YWxsZWQgYW5kIC0tZW5hYmxlLWd0ay1kb2MgcmVxdWVzdGVkXSkpXSwKKyAgICAgIFtQS0dfQ0hFQ0tfRVhJU1RTKFtndGstZG9jID49ICQxXSwsCisgICAgICAgICAgICAgICAgICAgICAgICBBQ19NU0dfRVJST1IoW1lvdSBuZWVkIHRvIGhhdmUgZ3RrLWRvYyA+PSAkMSBpbnN0YWxsZWQgdG8gYnVpbGQgZ3RrLWRvY10pKV0pCisgIGZpCisKKyAgQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGJ1aWxkIGd0ay1kb2MgZG9jdW1lbnRhdGlvbl0pCisgIEFDX01TR19SRVNVTFQoJGVuYWJsZV9ndGtfZG9jKQorCisgIEFDX1BBVEhfUFJPR1MoR1RLRE9DX0NIRUNLLGd0a2RvYy1jaGVjaywpCisKKyAgQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9HVEtfRE9DXSwgW3Rlc3QgeCRlbmFibGVfZ3RrX2RvYyA9IHh5ZXNdKQorICBBTV9DT05ESVRJT05BTChbR1RLX0RPQ19VU0VfTElCVE9PTF0sIFt0ZXN0IC1uICIkTElCVE9PTCJdKQorXSkKZGlmZiAtLWdpdCBhL200L3Rscy5tNCBiL200L3Rscy5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjI0M2FhCi0tLSAvZGV2L251bGwKKysrIGIvbTQvdGxzLm00CkBAIC0wLDAgKzEsMTExIEBACisjCisjIEFYX0NIRUNLX1RMUyAtLSBjaGVjayB3aGV0aGVyIHRoZSB0YXJnZXQgc3VwcG9ydHMgVExTICh0aHJlYWQtbG9jYWwgc3RvcmFnZSkKKyMKKyMgQmFzZWQgb24gdGxzLm00IGZyb20gZ2NjIGFuZCBleHRlbmRlZCBieSBUTFMgbGluayB0ZXN0IGZvciBjcm9zcy1jb21waWxpbmcKKyMgc3VwcG9ydCBmcm9tIGh0dHA6Ly9vbGQubmFiYmxlLmNvbS9JbXByb3ZlLVRMUy1saW5rLXRlc3QtZm9yLWNyb3NzLWNvbXBpbGluZy10ZDI0MzEyOTc1Lmh0bWwKKyMKKyMgTm90ZSB0aGF0IEFYX1RMUyBmcm9tIGh0dHA6Ly9hdXRvY29uZi1hcmNoaXZlLmNyeXAudG8vYXhfdGxzLmh0bWwgc3VwcG9ydHMKKyMgbW9yZSBrZXl3b3JkcyBmb3IgVExTLiBXZSBhcmUgaGFwcHkgd2l0aCB0aGUgIl9fdGhyZWFkIiBvbmx5LgorIworIyAtLSBLYXJlbCBaYWsgKDA0LURlYy0yMDA5KQorIworZG5sIENoZWNrIHdoZXRoZXIgdGhlIHRhcmdldCBzdXBwb3J0cyBUTFMuCitBQ19ERUZVTihbQVhfQ0hFQ0tfVExTXSwgWworCisgIEFDX1JFUVVJUkUoW0FDX0NBTk9OSUNBTF9IT1NUXSkKKworICBBQ19BUkdfRU5BQkxFKFt0bHNdLAorICAgIEFTX0hFTFBfU1RSSU5HKFstLWRpc2FibGUtdGxzXSwgW2Rpc2FibGUgdXNlIG9mIHRocmVhZCBsb2NhbCBzdXBwb3J0XSksCisgICAgICBbXSwgZW5hYmxlX3Rscz15ZXMpCisKKyAgQUNfQ0FDSEVfQ0hFQ0soW3doZXRoZXIgdGhlIHRhcmdldCBzdXBwb3J0cyB0aHJlYWQtbG9jYWwgc3RvcmFnZV0sCisJCSBheF9jdl9oYXZlX3RscywgWworICAgIEFDX1JVTl9JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtfX3RocmVhZCBpbnQgYTsgaW50IGI7IGludCBtYWluKCkgeyByZXR1cm4gYSA9IGI7IH1dKV0sCisgICAgICBbZG5sIElmIHRoZSB0ZXN0IGNhc2UgcGFzc2VkIHdpdGggZHluYW1pYyBsaW5raW5nLCB0cnkgYWdhaW4gd2l0aAorICAgICAgIGRubCBzdGF0aWMgbGlua2luZywgYnV0IG9ubHkgaWYgc3RhdGljIGxpbmtpbmcgaXMgc3VwcG9ydGVkIChub3QKKyAgICAgICBkbmwgb24gU29sYXJpcyAxMCkuICBUaGlzIGZhaWxzIHdpdGggc29tZSBvbGRlciBSZWQgSGF0IHJlbGVhc2VzLgorICAgICAgY2hrdGxzX3NhdmVfTERGTEFHUz0iJExERkxBR1MiCisgICAgICBMREZMQUdTPSItc3RhdGljICRMREZMQUdTIgorICAgICAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtpbnQgbWFpbigpIHsgcmV0dXJuIDA7IH1dKV0sCisJQUNfUlVOX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW19fdGhyZWFkIGludCBhOyBpbnQgYjsgaW50IG1haW4oKSB7IHJldHVybiBhID0gYjsgfV0pXSwKKwkJICAgICAgW2F4X2N2X2hhdmVfdGxzPXllc10sIFtheF9jdl9oYXZlX3Rscz1ub10sW10pLAorCVtheF9jdl9oYXZlX3Rscz15ZXNdKQorICAgICAgTERGTEFHUz0iJGNoa3Rsc19zYXZlX0xERkxBR1MiCisgICAgICBpZiB0ZXN0ICRheF9jdl9oYXZlX3RscyA9IHllczsgdGhlbgorCWRubCBTbyBmYXIsIHRoZSBiaW51dGlscyBhbmQgdGhlIGNvbXBpbGVyIHN1cHBvcnQgVExTLgorCWRubCBBbHNvIGNoZWNrIHdoZXRoZXIgdGhlIGxpYmMgc3VwcG9ydHMgVExTLCBpLmUuIHdoZXRoZXIgYSB2YXJpYWJsZQorCWRubCB3aXRoIF9fdGhyZWFkIGxpbmthZ2UgaGFzIGEgZGlmZmVyZW50IGFkZHJlc3MgaW4gZGlmZmVyZW50IHRocmVhZHMuCisJZG5sIEZpcnN0LCBmaW5kIHRoZSB0aHJlYWRfQ0ZMQUdTIG5lY2Vzc2FyeSBmb3IgbGlua2luZyBhIHByb2dyYW0gdGhhdAorCWRubCBjYWxscyBwdGhyZWFkX2NyZWF0ZS4KKwljaGt0bHNfc2F2ZV9DRkxBR1M9IiRDRkxBR1MiCisJdGhyZWFkX0NGTEFHUz1mYWlsZWQKKwlmb3IgZmxhZyBpbiAnJyAnLXB0aHJlYWQnICctbHB0aHJlYWQnOyBkbworCSAgQ0ZMQUdTPSIkZmxhZyAkY2hrdGxzX3NhdmVfQ0ZMQUdTIgorCSAgQUNfTElOS19JRkVMU0UoCisJICAgIFtBQ19MQU5HX1BST0dSQU0oCisJICAgICAgIFsjaW5jbHVkZSA8cHRocmVhZC5oPgorCQl2b2lkICpnKHZvaWQgKmQpIHsgcmV0dXJuIE5VTEw7IH1dLAorCSAgICAgICBbcHRocmVhZF90IHQ7IHB0aHJlYWRfY3JlYXRlKCZ0LE5VTEwsZyxOVUxMKTtdKV0sCisJICAgIFt0aHJlYWRfQ0ZMQUdTPSIkZmxhZyJdKQorCSAgaWYgdGVzdCAiWCR0aHJlYWRfQ0ZMQUdTIiAhPSBYZmFpbGVkOyB0aGVuCisJICAgIGJyZWFrCisJICBmaQorCWRvbmUKKwlDRkxBR1M9IiRjaGt0bHNfc2F2ZV9DRkxBR1MiCisJaWYgdGVzdCAiWCR0aHJlYWRfQ0ZMQUdTIiAhPSBYZmFpbGVkOyB0aGVuCisJICBDRkxBR1M9IiR0aHJlYWRfQ0ZMQUdTICRjaGt0bHNfc2F2ZV9DRkxBR1MiCisJICBBQ19SVU5fSUZFTFNFKAorCSAgICBbQUNfTEFOR19QUk9HUkFNKAorCSAgICAgICBbI2luY2x1ZGUgPHB0aHJlYWQuaD4KKwkJX190aHJlYWQgaW50IGE7CisJCXN0YXRpYyBpbnQgKmFfaW5fb3RoZXJfdGhyZWFkOworCQlzdGF0aWMgdm9pZCAqCisJCXRocmVhZF9mdW5jICh2b2lkICphcmcpCisJCXsKKwkJICBhX2luX290aGVyX3RocmVhZCA9ICZhOworCQkgIHJldHVybiAodm9pZCAqKTA7CisJCX1dLAorCSAgICAgICBbcHRocmVhZF90IHRocmVhZDsKKwkJdm9pZCAqdGhyZWFkX3JldHZhbDsKKwkJaW50ICphX2luX21haW5fdGhyZWFkOworCQlpZiAocHRocmVhZF9jcmVhdGUgKCZ0aHJlYWQsIChwdGhyZWFkX2F0dHJfdCAqKTAsCisJCQkJICAgIHRocmVhZF9mdW5jLCAodm9pZCAqKTApKQorCQkgIHJldHVybiAwOworCQlhX2luX21haW5fdGhyZWFkID0gJmE7CisJCWlmIChwdGhyZWFkX2pvaW4gKHRocmVhZCwgJnRocmVhZF9yZXR2YWwpKQorCQkgIHJldHVybiAwOworCQlyZXR1cm4gKGFfaW5fb3RoZXJfdGhyZWFkID09IGFfaW5fbWFpbl90aHJlYWQpO10pXSwKKwkgICAgIFtheF9jdl9oYXZlX3Rscz15ZXNdLCBbYXhfY3ZfaGF2ZV90bHM9bm9dLCBbXSkKKwkgIENGTEFHUz0iJGNoa3Rsc19zYXZlX0NGTEFHUyIKKwlmaQorICAgICAgZmldLAorICAgICAgW2F4X2N2X2hhdmVfdGxzPW5vXSwKKyAgICAgIFtkbmwgVGhpcyBpcyB0aGUgY3Jvc3MtY29tcGlsaW5nIGNhc2UuIEFzc3VtZSBsaWJjIHN1cHBvcnRzIFRMUyBpZiB0aGUKKyAgICAgICBkbmwgYmludXRpbHMgYW5kIHRoZSBjb21waWxlciBkby4KKyAgICAgICBBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW19fdGhyZWFkIGludCBhOyBpbnQgYjsgaW50IG1haW4oKSB7IHJldHVybiBhID0gYjsgfV0pXSwKKwkgW2Noa3Rsc19zYXZlX0xERkxBR1M9IiRMREZMQUdTIgorCSAgZG5sIFNoYXJlZCBsaWJyYXJ5IG9wdGlvbnMgbWF5IGRlcGVuZCBvbiB0aGUgaG9zdDsgdGhpcyBjaGVjaworCSAgZG5sIGlzIG9ubHkga25vd24gdG8gYmUgbmVlZGVkIGZvciBHTlUvTGludXguCisJICBjYXNlICRob3N0IGluCisJICAgICotKi1saW51eCopCisJICAgICAgTERGTEFHUz0iLXNoYXJlZCAtV2wsLS1uby11bmRlZmluZWQgJExERkxBR1MiCisJICAgICAgOzsKKwkgIGVzYWMKKwkgIGNoa3Rsc19zYXZlX0NGTEFHUz0iJENGTEFHUyIKKwkgIENGTEFHUz0iLWZQSUMgJENGTEFHUyIKKwkgIGRubCBJZiAtc2hhcmVkIHdvcmtzLCB0ZXN0IGlmIFRMUyB3b3JrcyBpbiBhIHNoYXJlZCBsaWJyYXJ5LgorCSAgQUNfTElOS19JRkVMU0UoW0FDX0xBTkdfU09VUkNFKFtpbnQgZigpIHsgcmV0dXJuIDA7IH1dKV0sCisJICAgIFtBQ19MSU5LX0lGRUxTRShbQUNfTEFOR19TT1VSQ0UoW19fdGhyZWFkIGludCBhOyBpbnQgYjsgaW50IGYoKSB7IHJldHVybiBhID0gYjsgfV0pXSwKKwkgICAgICBbYXhfY3ZfaGF2ZV90bHM9eWVzXSwKKwkgICAgICBbYXhfY3ZfaGF2ZV90bHM9bm9dKV0sCisJICAgIFtheF9jdl9oYXZlX3Rscz15ZXNdKQorCSAgQ0ZMQUdTPSIkY2hrdGxzX3NhdmVfQ0ZMQUdTIgorCSAgTERGTEFHUz0iJGNoa3Rsc19zYXZlX0xERkxBR1MiXSwgW2F4X2N2X2hhdmVfdGxzPW5vXSkKKyAgICAgIF0KKyAgICApXSkKKworICBpZiB0ZXN0ICIkZW5hYmxlX3RscyAkYXhfY3ZfaGF2ZV90bHMiID0gInllcyB5ZXMiOyB0aGVuCisgICAgQUNfREVGSU5FKEhBVkVfVExTLCAxLAorCSAgICAgIFtEZWZpbmUgdG8gMSBpZiB0aGUgdGFyZ2V0IHN1cHBvcnRzIHRocmVhZC1sb2NhbCBzdG9yYWdlLl0pCisgIGZpCitdKQpkaWZmIC0tZ2l0IGEvbTQvdWwubTQgYi9tNC91bC5tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45YjNlNzNkCi0tLSAvZGV2L251bGwKKysrIGIvbTQvdWwubTQKQEAgLTAsMCArMSw1MjcgQEAKK2RubCBJZiBuZWVkZWQsIGRlZmluZSB0aGUgbTRfaWZibGFuayBhbmQgbTRfaWZuYmxhbmsgbWFjcm9zIGZyb20gYXV0b2NvbmYgMi42NAorZG5sIFRoaXMgYWxsb3dzIHVzIHRvIHJ1biB3aXRoIGVhcmxpZXIgQXV0b2NvbmZzIGFzIHdlbGwuCitkbmwKK2RubCBtNF9pZmJsYW5rKENPTkQsIFtJRi1CTEFOS10sIFtJRi1URVhUXSkKK2RubCBtNF9pZm5ibGFuayhDT05ELCBbSUYtVEVYVF0sIFtJRi1CTEFOS10pCitkbmwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZG5sIElmIENPTkQgaXMgZW1wdHksIG9yIGNvbnNpc3RzIG9ubHkgb2YgYmxhbmtzIChzcGFjZSwgdGFiLCBuZXdsaW5lKSwKK2RubCB0aGVuIGV4cGFuZCBJRi1CTEFOSywgb3RoZXJ3aXNlIGV4cGFuZCBJRi1URVhULiAgVGhpcyBkaWZmZXJzIGZyb20KK2RubCBtNF9pZnZhbCBvbmx5IGlmIENPTkQgaGFzIGp1c3Qgd2hpdGVzcGFjZSwgYnV0IGl0IGhlbHBzIG9wdGltaXplIGluCitkbmwgc3BpdGUgb2YgdXNlcnMgd2hvIG1pc3Rha2VubHkgbGVhdmUgdHJhaWxpbmcgc3BhY2UgYWZ0ZXIgd2hhdCB0aGV5CitkbmwgdGhvdWdodCB3YXMgYW4gZW1wdHkgYXJndW1lbnQ6CitkbmwgICBtYWNybygKK2RubCAgICAgICAgIFtdCitkbmwgICAgICAgICkKK2RubAorZG5sIFdyaXRpbmcgb25lIG1hY3JvIGluIHRlcm1zIG9mIHRoZSBvdGhlciBjYXVzZXMgZXh0cmEgb3ZlcmhlYWQsIHNvCitkbmwgd2UgaW5saW5lIGJvdGggZGVmaW5pdGlvbnMuCitpZmRlZihbbTRfaWZibGFua10sW10sWworbTRfZGVmaW5lKFttNF9pZmJsYW5rXSwKK1ttNF9pZihtNF90cmFuc2xpdChbWyQxXV0sICBbIF1bCV1bCitdKSwgW10sIFskMl0sIFskM10pXSldKQorCitpZmRlZihbbTRfaWZuYmxhbmtdLFtdLFsKK200X2RlZmluZShbbTRfaWZuYmxhbmtdLAorW200X2lmKG00X3RyYW5zbGl0KFtbJDFdXSwgIFsgXVsJXVsKK10pLCBbXSwgWyQzXSwgWyQyXSldKV0pCisKK2RubCBVTF9QS0dfU1RBVElDKFZBUklBQkxFLCBNT0RVTEVTKQorZG5sCitkbmwgQ2FsbHMgcGtnLWNvbmZpZyAtLXN0YXRpYworZG5sCitBQ19ERUZVTihbVUxfUEtHX1NUQVRJQ10sIFsKKyAgaWYgQUNfUlVOX0xPRyhbJFBLR19DT05GSUcgLS1leGlzdHMgLS1wcmludC1lcnJvcnMgIiQyIl0pOyB0aGVuCisgICAgJDE9YCRQS0dfQ09ORklHIC0tbGlicyAtLXN0YXRpYyAiJDIiYAorICBlbHNlCisgICAgQUNfTVNHX0VSUk9SKFtwa2ctY29uZmlnIGRlc2NyaXB0aW9uIG9mICQyLCBuZWVkZWQgZm9yIHN0YXRpYyBidWlsZCwgaXMgbm90IGF2YWlsYWJsZV0pCisgIGZpCitdKQorCitkbmwgVUxfQ0hFQ0tfTElCKExJQlJBUlksIEZVTkNUSU9OLCBbVkFSU1VGRklYID0gJDFdKSkKK2RubAorZG5sIFRoZSBWQVJTVUZGSVggaXMgb3B0aW9uYWwgYW5kIG92ZXJyaWRlcyB0aGUgZGVmYXVsdCBiZWhhdmlvci4gRm9yIGV4YW1wbGU6CitkbmwgICAgIFVMX0NIRUNLX0xJQih5eXksIGZ1bmMsIHh4eCkgZ2VuZXJhdGVzIGhhdmVfeHh4IGFuZCBIQVZFX0xJQlhYWAorZG5sICAgICBVTF9DSEVDS19MSUIoeXl5LCBmdW5jKSAgICAgIGdlbmVyYXRlcyBoYXZlX3l5eSBhbmQgSEFWRV9MSUJZWVkKK2RubAorQUNfREVGVU4oW1VMX0NIRUNLX0xJQl0sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCBtNF9kZWZhdWx0KFskM10sJDEpKQorICBbaGF2ZV9dc3VmZml4PXllcworICBtNF9pZmRlZihbJDNdLAorICAgIFtBQ19DSEVDS19MSUIoWyQxXSwgWyQyXSwgW0FDX0RFRklORShBU19UUl9DUFAoW0hBVkVfTElCXXN1ZmZpeCksIDEpXSwgW1toYXZlX11zdWZmaXg9bm9dKV0sCisgICAgW0FDX0NIRUNLX0xJQihbJDFdLCBbJDJdLCBbXSwgW1toYXZlX11zdWZmaXg9bm9dKV0pCisgIEFNX0NPTkRJVElPTkFMKEFTX1RSX0NQUChbSEFWRV9dc3VmZml4KSwgW3Rlc3QgWyRoYXZlX11zdWZmaXggPSB5ZXNdKQorXSkKKworCitkbmwgVUxfU0VUX0FSQ0goQVJDSE5BTUUsIFBBVFRFUk4pCitkbmwKK2RubCBEZWZpbmUgQVJDSF88YXJjaG5hbWU+IGNvbmRpdGlvbiBpZiB0aGUgcGF0dGVybiBtYXRjaCB3aXRoIHRoZSBjdXJyZW50CitkbmwgYXJjaGl0ZWN0dXJlCitkbmwKK0FDX0RFRlVOKFtVTF9TRVRfQVJDSF0sIFsKKyAgY3B1XyQxPWZhbHNlCisgIGNhc2UgIiRob3N0IiBpbgorICAgJDIpIGNwdV8kMT10cnVlIDs7CisgIGVzYWMKKyAgQU1fQ09ORElUSU9OQUwoQVNfVFJfQ1BQKEFSQ0hfJDEpLCBbdGVzdCAieCRjcHVfJDEiID0geHRydWVdKQorXSkKKworCitkbmwgVUxfU0VUX0ZMQUdTKENGTEFHUywgQ1BQRkxBR1MsIExERkxBR1MpCitkbmwKK2RubCBTZXRzIG5ldyBnbG9iYWwgQ0ZMQUdTLCBDUFBGTEFHUyBhbmQgTERGTEFHLCB0aGUgb3JpZ2luYWwKK2RubCBzZXR0aW5nIGNvdWxkIGJlIHJlc3RvcmVkIGJ5IFVMX1JFU1RPUkVfRkxBR1MoKQorZG5sCitBQ19ERUZVTihbVUxfU0VUX0ZMQUdTXSwgWworICBvbGRfQ0ZMQUdTPSIkQ0ZMQUdTIgorICBvbGRfQ1BQRkxBR1M9IiRDUFBGTEFHUyIKKyAgb2xkX0xERkxBR1M9IiRMREZMQUdTIgorICBDRkxBR1M9IiRDRkxBR1MgJDEiCisgIENQUEZMQUdTPSIkQ1BQRkxBR1MgJDIiCisgIExERkxBR1M9IiRMREZMQUdTICQzIgorXSkKKworZG5sIFVMX1JFU1RPUkVfRkxBR1MoKQorZG5sCitkbmwgUmVzdG9yZXMgQ0ZMQUdTLCBDUFBGTEFHUyBhbmQgTERGTEFHIHByZXZpb3VzbHkgc2F2ZWQgYnkgVUxfU0VUX0ZMQUdTKCkKK2RubAorQUNfREVGVU4oW1VMX1JFU1RPUkVfRkxBR1NdLCBbCisgIENGTEFHUz0iJG9sZF9DRkxBR1MiCisgIENQUEZMQUdTPSIkb2xkX0NQUEZMQUdTIgorICBMREZMQUdTPSIkb2xkX0xERkxBR1MiCitdKQorCisKK2RubCBVTF9DSEVDS19TWVNDQUxMKFNZU0NBTEwsIEZBTExCQUNLLCAuLi4pCitkbmwKK2RubCBPbmx5IHNwZWNpZnkgRkFMTEJBQ0sgaWYgdGhlIFNZU0NBTEwgeW91J3JlIGNoZWNraW5nIGZvciBpcyBhICJuZXdpc2giIG9uZQorZG5sCitBQ19ERUZVTihbVUxfQ0hFQ0tfU1lTQ0FMTF0sIFsKKyAgZG5sIFRoaXMgbWFjcm8gdXNlcyBob3N0X2NwdS4KKyAgQUNfUkVRVUlSRShbQUNfQ0FOT05JQ0FMX0hPU1RdKQorICBBQ19DQUNIRV9DSEVDSyhbZm9yIHN5c2NhbGwgJDFdLAorICAgIFt1bF9jdl9zeXNjYWxsXyQxXSwKKyAgICBbX1VMX1NZU0NBTExfQ0hFQ0tfREVDTChbU1lTXyQxXSwKKyAgICAgIFtzeXNjYWxsPVNZU18kMV0sCisgICAgICBbZG5sIE91ciBsaWJjIGZhaWxlZCB1c2UsIHNvIHNlZSBpZiB3ZSBjYW4gZ2V0IHRoZSBrZXJuZWwKKyAgICAgIGRubCBoZWFkZXJzIHRvIHBsYXkgYmFsbCAuLi4KKyAgICAgIF9VTF9TWVNDQUxMX0NIRUNLX0RFQ0woW19OUl8kMV0sCisJW3N5c2NhbGw9X05SXyQxXSwKKwlbCisJICBzeXNjYWxsPW5vCisJICBpZiB0ZXN0ICJ4JGxpbnV4X29zIiA9IHh5ZXM7IHRoZW4KKwkgICAgY2FzZSAkaG9zdF9jcHUgaW4KKwkgICAgICBfVUxfQ0hFQ0tfU1lTQ0FMTF9GQUxMQkFDSyhtNF9zaGlmdCgkQCkpCisJICAgIGVzYWMKKwkgIGZpCisgICAgICAgIF0pCisgICAgICBdKQorICAgIHVsX2N2X3N5c2NhbGxfJDE9JHN5c2NhbGwKKyAgICBdKQorICBjYXNlICR1bF9jdl9zeXNjYWxsXyQxIGluICMoCisgIG5vKSBBQ19NU0dfV0FSTihbVW5hYmxlIHRvIGRldGVjdCBzeXNjYWxsICQxLl0pIDs7CisgIFNZU18qKSA7OworICAqKSBBQ19ERUZJTkVfVU5RVU9URUQoW1NZU18kMV0sIFskdWxfY3Zfc3lzY2FsbF8kMV0sCisJW0ZhbGxiYWNrIHN5c2NhbGwgbnVtYmVyIGZvciAkMV0pIDs7CisgIGVzYWMKK10pCisKKworZG5sIF9VTF9TWVNDQUxMX0NIRUNLX0RFQ0woU1lNQk9MLCBBQ1RJT04tSUYtRk9VTkQsIEFDVElPTi1JRi1OT1QtRk9VTkQpCitkbmwKK2RubCBDaGVjayBpZiBTWU1CT0wgaXMgZGVjbGFyZWQsIHVzaW5nIHRoZSBoZWFkZXJzIG5lZWRlZCBmb3Igc3lzY2FsbCBjaGVja3MuCitkbmwKK200X2RlZmluZShbX1VMX1NZU0NBTExfQ0hFQ0tfREVDTF0sCitbQUNfQ09NUElMRV9JRkVMU0UoW0FDX0xBTkdfUFJPR1JBTShbWworI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CitdXSwgW1tpbnQgdGVzdCA9ICQxO11dKV0sCitbJDJdLCBbJDNdKQorXSkKKworZG5sIF9VTF9DSEVDS19TWVNDQUxMX0ZBTExCQUNLKFBBVFRFUk4sIFZBTFVFLCAuLi4pCitkbmwKK2RubCBIZWxwZXIgbWFjcm8gdG8gY3JlYXRlIHRoZSBib2R5IGZvciB0aGUgYWJvdmUgYGNhc2UnLgorZG5sCittNF9kZWZpbmUoW19VTF9DSEVDS19TWVNDQUxMX0ZBTExCQUNLXSwKK1ttNF9pZnZhbChbJDFdLAorICBbIygKKyAgJDEpIHN5c2NhbGw9IiQyIiA7O2RubAorICBfVUxfQ0hFQ0tfU1lTQ0FMTF9GQUxMQkFDSyhtNF9zaGlmdG4oMiwgJEApKV0pZG5sCitdKQorCisKK2RubCBVTF9SRVFVSVJFU19MSU5VWChOQU1FLCBbVkFSU1VGRklYID0gJDFdKQorZG5sCitkbmwgTW9kaWZpZXMgJGJ1aWxkXzxuYW1lPiAgdmFyaWFibGUgYWNjb3JkaW5nIHRvICRlbmFibGVfPG5hbWU+IGFuZCBPUyB0eXBlLiBUaGUKK2RubCAkZW5hYmxlXzxuYW1lPiBjb3VsZCBiZSAieWVzIiwgIm5vIiBhbmQgImNoZWNrIi4gSWYgYnVpbGRfPG5hbWU+IGlzICJubyIgdGhlbgorZG5sIGFsbCBjaGVja3MgYXJlIHNraXBlZC4KK2RubAorZG5sIFRoZSBkZWZhdWx0IDxuYW1lPiBmb3IgJGJ1aWxkXyBhbmQgJGVuYWJsZV8gY291bGQgYmUgb3ZlcndyaXRlZCBieSBvcHRpb24gJDIuCitkbmwKK0FDX0RFRlVOKFtVTF9SRVFVSVJFU19MSU5VWF0sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCBtNF9kZWZhdWx0KFskMl0sJDEpKQorICBpZiB0ZXN0ICJ4JFtidWlsZF9dc3VmZml4IiAhPSB4bm87IHRoZW4KKyAgICBBQ19SRVFVSVJFKFtBQ19DQU5PTklDQUxfSE9TVF0pCisgICAgY2FzZSAkW2VuYWJsZV9dc3VmZml4OiRsaW51eF9vcyBpbiAjKAorICAgIG5vOiopCisgICAgICBbYnVpbGRfXXN1ZmZpeD1ubyA7OworICAgIHllczp5ZXMpCisgICAgICBbYnVpbGRfXXN1ZmZpeD15ZXMgOzsKKyAgICB5ZXM6KikKKyAgICAgIEFDX01TR19FUlJPUihbJDEgc2VsZWN0ZWQgZm9yIG5vbi1saW51eCBzeXN0ZW1dKTs7CisgICAgY2hlY2s6eWVzKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgY2hlY2s6KikKKyAgICAgIEFDX01TR19XQVJOKFtub24tbGludXggc3lzdGVtOyBub3QgYnVpbGRpbmcgJDFdKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICBlc2FjCisgIGZpCitdKQorCisKK2RubCBVTF9FWENMVURFX0FSQ0goTkFNRSwgQVJDSCwgW1ZBUlNVRkZJWCA9ICQxXSkKK2RubAorZG5sIE1vZGlmaWVzICRidWlsZF88bmFtZT4gIHZhcmlhYmxlIGFjY29yZGluZyB0byAkZW5hYmxlXzxuYW1lPiBhbmQgJGhvc3QuIFRoZQorZG5sICRlbmFibGVfPG5hbWU+IGNvdWxkIGJlICJ5ZXMiLCAibm8iIGFuZCAiY2hlY2siLiBJZiBidWlsZF88bmFtZT4gaXMgIm5vIiB0aGVuCitkbmwgYWxsIGNoZWNrcyBhcmUgc2tpcGVkLgorZG5sCitkbmwgVGhlIGRlZmF1bHQgPG5hbWU+IGZvciAkYnVpbGRfIGFuZCAkZW5hYmxlXyBjb3VsZCBiZSBvdmVyd3JpdGVkIGJ5IG9wdGlvbiAkMy4KK2RubAorQUNfREVGVU4oW1VMX0VYQ0xVREVfQVJDSF0sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCBtNF9kZWZhdWx0KFskM10sJDEpKQorICBpZiB0ZXN0ICJ4JFtidWlsZF9dc3VmZml4IiAhPSB4bm87IHRoZW4KKyAgICBBQ19SRVFVSVJFKFtBQ19DQU5PTklDQUxfSE9TVF0pCisgICAgY2FzZSAkW2VuYWJsZV9dc3VmZml4OiIkaG9zdCIgaW4gIygKKyAgICBubzoqKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICB5ZXM6JDIpCisgICAgICBBQ19NU0dfRVJST1IoWyQxIHNlbGVjdGVkIGZvciB1bnN1cHBvcnRlZCBhcmNoaXRlY3R1cmVdKTs7CisgICAgeWVzOiopCisgICAgICBbYnVpbGRfXXN1ZmZpeD15ZXMgOzsKKyAgICBjaGVjazokMikKKyAgICAgIEFDX01TR19XQVJOKFtleGNsdWRlZCBmb3IgJGhvc3QgYXJjaGl0ZWN0dXJlOyBub3QgYnVpbGRpbmcgJDFdKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICBjaGVjazoqKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgZXNhYworICBmaQorXSkKKworZG5sIFVMX1JFUVVJUkVTX0hBVkUoTkFNRSwgSEFWRU5BTUUsIEhBVkVERVNDLCBbVkFSU1VGRklYPSQxXSkKK2RubAorZG5sIE1vZGlmaWVzICRidWlsZF88bmFtZT4gdmFyaWFibGUgYWNjb3JkaW5nIHRvICRlbmFibGVfPG5hbWU+IGFuZAorZG5sICRoYXZlXzxoYXZlbmFtZT4uICBUaGUgPGhhdmVkZXNjPiBpcyBkZXNjcmlwdGlvbiB1c2VkIGZvciB3YXJuaW5nL2Vycm9yCitkbmwgbWVzc2FnZSAoZS5nLiAiZnVuY3Rpb24iKS4KK2RubAorZG5sIFRoZSA8aGF2ZW5hbWU+IG1heWJlIGEgbGlzdCwgdGhlbiBhdCBsZWFzdCBvbmUgb2YgdGhlIGl0ZW1zIGluIHRoZSBsaXN0CitkbmwgaGF2ZSB0byBleGlzdCwgZm9yIGV4YW1wbGU6IFtuY3Vyc2VzLCB0aW5mb10gbWVhbnMgdGhhdCBoYXZlX25jdXJzZXI9eWVzCitkbmwgKm9yKiBoYXZlX3RpbmZvPXllcyBtdXN0IGJlIGRlZmluZWQuCitkbmwKK2RubCBUaGUgZGVmYXVsdCA8bmFtZT4gZm9yICRidWlsZF8gYW5kICRlbmFibGVfIGNvdWxkIGJlIG92ZXJ3cml0ZWQgYnkgb3B0aW9uICQ0LgorZG5sCitBQ19ERUZVTihbVUxfUkVRVUlSRVNfSEFWRV0sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCBtNF9kZWZhdWx0KFskNF0sJDEpKQorCisgIGlmIHRlc3QgIngkW2J1aWxkX11zdWZmaXgiICE9IHhubzsgdGhlbgorCisgICAgW3VsX2hhdmVvbmVfXXN1ZmZpeD1ubworICAgIG00X2ZvcmVhY2goW29uZWhhdmVdLCBbJDJdLCAgWworICAgICAgaWYgdGVzdCAieCRbaGF2ZV9db25laGF2ZSIgPSB4eWVzOyB0aGVuCisgICAgICAgIFt1bF9oYXZlb25lX11zdWZmaXg9eWVzCisgICAgICBmaQorICAgIF0pZG5sCisKKyAgICBjYXNlICRbZW5hYmxlX11zdWZmaXg6JFt1bF9oYXZlb25lX11zdWZmaXggaW4gIygKKyAgICBubzoqKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICB5ZXM6eWVzKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgeWVzOiopCisgICAgICBBQ19NU0dfRVJST1IoWyQxIHNlbGVjdGVkLCBidXQgcmVxdWlyZWQgJDMgbm90IGF2YWlsYWJsZV0pOzsKKyAgICBjaGVjazp5ZXMpCisgICAgICBbYnVpbGRfXXN1ZmZpeD15ZXMgOzsKKyAgICBjaGVjazoqKQorICAgICAgQUNfTVNHX1dBUk4oWyQzIG5vdCBmb3VuZDsgbm90IGJ1aWxkaW5nICQxXSkKKyAgICAgIFtidWlsZF9dc3VmZml4PW5vIDs7CisgICAgZXNhYworICBmaQorXSkKKworZG5sIFVMX1JFUVVJUkVTX0hBVkUoTkFNRSwgUFJPR1JBTV9QUk9MT0dVRSwgUFJPR1JBTV9CT0RZLCBERVNDLCBbVkFSU1VGRklYPSQxXSkKK2RubAorZG5sIE1vZGlmaWVzICRidWlsZF88bmFtZT4gdmFyaWFibGUgYWNjb3JkaW5nIHRvICRlbmFibGVfPG5hbWU+IGFuZAorZG5sIGFiaWxpdHkgY29tcGlsZSBBQ19MQU5HX1BST0dSQU0oPHByb2dyYW1fcHJvbG9ndWU+LCA8cHJvZ3JhbV9ib2R5PikuICAKK2RubAorZG5sIFRoZSA8ZGVzYz4gaXMgZGVzY3JpcHRpb24gdXNlZCBmb3Igd2FybmluZy9lcnJvciBkbmwgbWVzc2FnZSAoZS5nLiAiZm9vIHN1cHBvcnQiKS4KK2RubAorZG5sIFRoZSBkZWZhdWx0IDxuYW1lPiBmb3IgJGJ1aWxkXyBhbmQgJGVuYWJsZV8gY291bGQgYmUgb3ZlcndyaXRlZCBieSBvcHRpb24gJDUuCisKK0FDX0RFRlVOKFtVTF9SRVFVSVJFU19DT01QSUxFXSwgWworICBtNF9kZWZpbmUoW3N1ZmZpeF0sIG00X2RlZmF1bHQoWyQ1XSwkMSkpCisKKyAgaWYgdGVzdCAieCRbYnVpbGRfXXN1ZmZpeCIgIT0geG5vOyB0aGVuCisKKyAgICBBQ19NU0dfQ0hFQ0tJTkcoWyQ0XSkKKyAgICBBQ19DT01QSUxFX0lGRUxTRShbQUNfTEFOR19QUk9HUkFNKFskMl0sIFskM10pXSwKKwlbQUNfTVNHX1JFU1VMVChbeWVzXSkKKwkgW3VsX2hhdmVwcm9ncmFtX11zdWZmaXg9eWVzXSwKKwlbQUNfTVNHX1JFU1VMVChbbm9dKQorCSBbdWxfaGF2ZXByb2dyYW1fXXN1ZmZpeD1ub10pCisKKyAgICBjYXNlICRbZW5hYmxlX11zdWZmaXg6JFt1bF9oYXZlcHJvZ3JhbV9dc3VmZml4IGluICMoCisgICAgbm86KikKKyAgICAgIFtidWlsZF9dc3VmZml4PW5vIDs7CisgICAgeWVzOnllcykKKyAgICAgIFtidWlsZF9dc3VmZml4PXllcyA7OworICAgIHllczoqKQorICAgICAgQUNfTVNHX0VSUk9SKFskMSBzZWxlY3RlZCwgYnV0IHJlcXVpcmVkICQ0IG5vdCBhdmFpbGFibGVdKTs7CisgICAgY2hlY2s6eWVzKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgY2hlY2s6KikKKyAgICAgIEFDX01TR19XQVJOKFskNCBub3QgZm91bmQ7IG5vdCBidWlsZGluZyAkMV0pCisgICAgICBbYnVpbGRfXXN1ZmZpeD1ubyA7OworICAgIGVzYWMKKyAgZmkKK10pCisKK2RubAorZG5sIFVMX0NPTkZMSUNUU19CVUlMRChOQU1FLCBBTk9USEVSLCBBTk9USEVSREVTQywgW1ZBUlNVRkZJWD0kMV0pCitkbmwKK2RubCAtIGVuZHMgd2l0aCBlcnJvciBpZiAkZW5hYmxlXzxuYW1lPiBhbmQgJGJ1aWxkXzxhbm90aGVyPgorZG5sICAgYXJlIGJvdGggc2V0IHRvICd5ZXMnCitkbmwgLSBzZXRzICRidWlsZF88bmFtZT4gdG8gJ25vJyBpZiAkYnVpbGRfPGFub3RoZXI+IGlzICd5ZXMnIGFuZAorZG5sICAgJGVuYWJsZV88bmFtZT4gaXMgJ2NoZWNrJyBvciAnbm8nCitkbmwKK2RubCBUaGUgPGhhdmVkZXNjPiBpcyBkZXNjcmlwdGlvbiB1c2VkIGZvciB3YXJuaW5nL2Vycm9yCitkbmwgbWVzc2FnZSAoZS5nLiAiZnVuY3Rpb24iKS4KK2RubAorZG5sIFRoZSBkZWZhdWx0IDxuYW1lPiBmb3IgJGJ1aWxkXyBhbmQgJGVuYWJsZV8gY291bGQgYmUgb3ZlcndyaXRlZCBieSBvcHRpb24gJDQuCitkbmwKK0FDX0RFRlVOKFtVTF9DT05GTElDVFNfQlVJTERdLCBbCisgIG00X2RlZmluZShbc3VmZml4XSwgbTRfZGVmYXVsdChbJDRdLCQxKSkKKworICBpZiB0ZXN0ICJ4JFtidWlsZF9dc3VmZml4IiAhPSB4bm87IHRoZW4KKyAgICBjYXNlICRbZW5hYmxlX11zdWZmaXg6JFtidWlsZF9dJDIgaW4gIygKKyAgICBubzoqKQorICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICBjaGVjazp5ZXMpCisgICAgICBbYnVpbGRfXXN1ZmZpeD1ubyA7OworICAgIGNoZWNrOm5vKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgeWVzOnllcykKKyAgICAgIEFDX01TR19FUlJPUihbJDEgc2VsZWN0ZWQsIGJ1dCBpdCBjb25mbGljdHMgd2l0aCAkM10pOzsKKyAgICBlc2FjCisgIGZpCitdKQorCisKK2RubCBVTF9SRVFVSVJFU19CVUlMRChOQU1FLCBCVUlMRE5BTUUsIFtWQVJTVUZGSVg9JDFdKQorZG5sCitkbmwgTW9kaWZpZXMgJGJ1aWxkXzxuYW1lPiB2YXJpYWJsZSBhY2NvcmRpbmcgdG8gJGVuYWJsZV88bmFtZT4gYW5kICRoYXZlX2Z1bmNuYW1lLgorZG5sCitkbmwgVGhlIGRlZmF1bHQgPG5hbWU+IGZvciAkYnVpbGRfIGFuZCAkZW5hYmxlXyBjb3VsZCBiZSBvdmVyd3JpdGVkIGJ5IG9wdGlvbiAkMy4KK2RubAorQUNfREVGVU4oW1VMX1JFUVVJUkVTX0JVSUxEXSwgWworICBtNF9kZWZpbmUoW3N1ZmZpeF0sIG00X2RlZmF1bHQoWyQzXSwkMSkpCisKKyAgaWYgdGVzdCAieCRbYnVpbGRfXXN1ZmZpeCIgIT0geG5vOyB0aGVuCisgICAgY2FzZSAkW2VuYWJsZV9dc3VmZml4OiRbYnVpbGRfXSQyIGluICMoCisgICAgbm86KikKKyAgICAgIFtidWlsZF9dc3VmZml4PW5vIDs7CisgICAgeWVzOnllcykKKyAgICAgIFtidWlsZF9dc3VmZml4PXllcyA7OworICAgIHllczoqKQorICAgICAgQUNfTVNHX0VSUk9SKFskMiBpcyBuZWVkZWQgdG8gYnVpbGQgJDFdKTs7CisgICAgY2hlY2s6eWVzKQorICAgICAgW2J1aWxkX11zdWZmaXg9eWVzIDs7CisgICAgY2hlY2s6KikKKyAgICAgIEFDX01TR19XQVJOKFskMiBkaXNhYmxlZDsgbm90IGJ1aWxkaW5nICQxXSkKKyAgICAgIFtidWlsZF9dc3VmZml4PW5vIDs7CisgICAgZXNhYworICBmaQorXSkKKworZG5sIFVMX1JFUVVJUkVTX1NZU0NBTExfQ0hFQ0soTkFNRSwgU1lTQ0FMTC1URVNULCBbU1lTQ0FMTE5BTUU9JDFdLCBbVkFSU1VGRklYPSQxXSkKK2RubAorZG5sIE1vZGlmaWVzICRidWlsZF88bmFtZT4gdmFyaWFibGUgYWNjb3JkaW5nIHRvICRlbmFibGVfPG5hbWU+IGFuZCBTWVNDQUxMLVRFU1QKK2RubCByZXN1bHQuIFRoZSAkZW5hYmxlXzxuYW1lPiB2YXJpYWJsZSBjb3VsZCBiZSAieWVzIiwgIm5vIiBhbmQgImNoZWNrIi4gSWYgYnVpbGRfPG5hbWU+CitkbmwgaXMgIm5vIiB0aGVuIGFsbCBjaGVja3MgYXJlIHNraXBlZC4KK2RubAorZG5sIE5vdGUgdGhhdCBTWVNDQUxMLVRFU1QgaGFzIHRvIGRlZmluZSAkdWxfY3Zfc3lzY2FsbF88bmFtZT4gdmFyaWFibGUsIHNlZQorZG5sIGFsc28gVUxfQ0hFQ0tfU1lTQ0FMTCgpLgorZG5sCitkbmwgVGhlIGRlZmF1bHQgPG5hbWU+IGZvciAkYnVpbGRfIGFuZCAkZW5hYmxlXyBjb3VudCBiZSBvdmVyd3JpdGVkIGJ5IG9wdGlvbiAkNCBhbmQKK2RubCAkdWxfY3Zfc3lzY2FsbF8gY291bGQgYmUgb3ZlcndyaXRlZCBieSAkMy4KK2RubAorQUNfREVGVU4oW1VMX1JFUVVJUkVTX1NZU0NBTExfQ0hFQ0tdLCBbCisgIG00X2RlZmluZShbc3VmZml4XSwgbTRfZGVmYXVsdChbJDRdLCQxKSkKKyAgbTRfZGVmaW5lKFtjYWxsbmFtZV0sIG00X2RlZmF1bHQoWyQzXSwkMSkpCisKKyAgaWYgdGVzdCAieCRbYnVpbGRfXXN1ZmZpeCIgIT0geG5vOyB0aGVuCisgICAgaWYgdGVzdCAieCRbZW5hYmxlX11zdWZmaXgiID0geG5vOyB0aGVuCisgICAgICBbYnVpbGRfXXN1ZmZpeD1ubworICAgIGVsc2UKKyAgICAgICQyCisgICAgICBjYXNlICRbZW5hYmxlX11zdWZmaXg6JFt1bF9jdl9zeXNjYWxsX11jYWxsbmFtZSBpbiAjKAorICAgICAgbm86KikKKyAgICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICAgIHllczpubykKKyAgICAgICAgQUNfTVNHX0VSUk9SKFskMSBzZWxlY3RlZCBidXQgY2FsbG5hbWUgc3lzY2FsbCBub3QgZm91bmRdKSA7OworICAgICAgY2hlY2s6bm8pCisgICAgICAgIEFDX01TR19XQVJOKFtjYWxsbmFtZSBzeXNjYWxsIG5vdCBmb3VuZDsgbm90IGJ1aWxkaW5nICQxXSkKKyAgICAgICAgW2J1aWxkX11zdWZmaXg9bm8gOzsKKyAgICAgICopCisgICAgICAgIGRubCBkZWZhdWx0ICR1bF9jdl9zeXNjYWxsXyBpcyBTWVNfIHZhbHVlCisgICAgICAgIFtidWlsZF9dc3VmZml4PXllcyA7OworICAgICAgZXNhYworICAgIGZpCisgIGZpCitdKQorCitkbmwgVUxfQlVJTERfSU5JVChOQU1FLCBbRU5BQkxFX1NUQVRFXSwgW1ZBUlNVRkZJWCA9ICQxXSkKK2RubAorZG5sIEluaXRpYWxpemVzICRidWlsZF88bmFtZT4gIHZhcmlhYmxlIGFjY29yZGluZyB0byAkZW5hYmxlXzxuYW1lPi4gSWYKK2RubCAkZW5hYmxlXzxuYW1lPiBpcyB1bmRlZmluZWQgdGhlbiBFTkFCTEVfU1RBVEUgaXMgdXNlZCBhbmQgJGVuYWJsZV88bmFtZT4gaXMKK2RubCBzZXQgdG8gRU5BQkxFX1NUQVRFLgorZG5sCitkbmwgVGhlIGRlZmF1bHQgPG5hbWU+IGZvciAkYnVpbGRfIGFuZCAkZW5hYmxlXyBjb3VsZCBiZSBvdmVyd3JpdGVkIGJ5IG9wdGlvbiAkMy4KK2RubAorQUNfREVGVU4oW1VMX0JVSUxEX0lOSVRdLCBbCisgIG00X2RlZmluZShbc3VmZml4XSwgbTRfZGVmYXVsdChbJDNdLCQxKSkKKyAgbTRfaWZibGFuayhbJDJdLAorW2lmIHRlc3QgIngkZW5hYmxlX1tdc3VmZml4IiA9IHhubzsgdGhlbgorICAgYnVpbGRfW11zdWZmaXg9bm8KK2Vsc2UKKyAgIGJ1aWxkX1tdc3VmZml4PXllcworZmldLAorW2lmIHRlc3QgIngkdWxfZGVmYXVsdF9lc3RhdGUiICE9IHg7IHRoZW4KKyAgZW5hYmxlX1tdc3VmZml4PSR1bF9kZWZhdWx0X2VzdGF0ZQorICBidWlsZF9bXXN1ZmZpeD15ZXMKKyAgaWYgdGVzdCAieCR1bF9kZWZhdWx0X2VzdGF0ZSIgPSB4bm87IHRoZW4KKyAgICBidWlsZF9bXXN1ZmZpeD1ubworICBmaQorZWxzZVtdCisgIGlmZWxzZSgKKyAgICAgIFskMl0sIFtjaGVja10sWworICBidWlsZF9bXXN1ZmZpeD15ZXMKKyAgZW5hYmxlX1tdc3VmZml4PWNoZWNrXSwKKyAgICAgIFskMl0sIFt5ZXNdLFsKKyAgYnVpbGRfW11zdWZmaXg9eWVzCisgIGVuYWJsZV9bXXN1ZmZpeD15ZXNdLAorICAgICAgWyQyXSwgW25vXSwgWworICBidWlsZF9bXXN1ZmZpeD1ubworICBlbmFibGVfW11zdWZmaXg9bm9dKQorZmldKQorXSkKKworZG5sIFVMX0RFRkFVTFRfRU5BQkxFKE5BTUUsIEVOQUJMRV9TVEFURSkKK2RubAorZG5sIEluaXRpYWxpemVzICRlbmFibGVfPG5hbWU+ICB2YXJpYWJsZSBhY2NvcmRpbmcgdG8gRU5BQkxFX1NUQVRFLiBUaGUgZGVmYXVsdAorZG5sIHNldHRpbmcgaXMgcG9zc2libGUgdG8gb3ZlcnJpZGUgYnkgZ2xvYmFsICR1bF9kZWZhdWx0X2VzdGF0ZS4KK2RubAorQUNfREVGVU4oW1VMX0RFRkFVTFRfRU5BQkxFXSwgWworICBtNF9kZWZpbmUoW3N1ZmZpeF0sICQxKQorICBpZiB0ZXN0ICJ4JHVsX2RlZmF1bHRfZXN0YXRlIiAhPSB4OyB0aGVuCisgICAgZW5hYmxlX1tdc3VmZml4PSR1bF9kZWZhdWx0X2VzdGF0ZQorICBlbHNlCisgICAgZW5hYmxlX1tdc3VmZml4PSQyCisgIGZpCitdKQorCisKK2RubCBVTF9FTkFCTEVfQUxJQVMoTkFNRSwgTUFTVEVSTkFNRSkKK2RubAorZG5sIEluaXRpYWxpemVzICRlbmFibGVfPG5hbWU+IHZhcmlhYmxlIGFjY29yZGluZyB0byAkZW5hYmxlXzxtYXN0ZXJuYW1lPi4gVGhpcworZG5sIGlzIHVzZWZ1bCBmb3IgZXhhbXBsZSBpZiB5b3Ugd2FudCB0byB1c2Ugb25lIC0tZW5hYmxlLW1hc3Rlcm5hbWUgb3B0aW9uCitkbmwgZm9yIGdyb3VwIG9mIHByb2dyYW1zLgorZG5sCitBQ19ERUZVTihbVUxfRU5BQkxFX0FMSUFTXSwgWworICBtNF9kZWZpbmUoW3N1ZmZpeF0sICQxKQorICBtNF9kZWZpbmUoW21hc3RlcnN1ZmZpeF0sICQyKQorCisgIGVuYWJsZV9bXXN1ZmZpeD0kZW5hYmxlX1tdbWFzdGVyc3VmZml4CitdKQorCisKK2RubCBVTF9OQ1VSU0VTX0NIRUNLKE5BTUUpCitkbmwKK2RubCBJbml0aWFsaXplcyAkaGF2ZV88bmFtZT4sIE5DVVJTRVNfTElCUyBhbmQgTkNVUlNFU19DRkxBR1MgdmFyaWFibGVzIGFjY29yZGluZyB0bworZG5sIDxuYW1lPns2LDV9X2NvbmZpZyBvdXRwdXQuCitkbmwKK2RubCBUaGUgZXhwZWN0ZWQgPG5hbWU+IGlzIG5jdXJzZXMgb3IgbmN1cnNlc3cuCitkbmwKK0FDX0RFRlVOKFtVTF9OQ1VSU0VTX0NIRUNLXSwgWworICBtNF9kZWZpbmUoW3N1ZmZpeF0sICQxKQorICBtNF9kZWZpbmUoW1NVRkZJWF0sIG00X3RvdXBwZXIoJDEpKQorCisgICMgbmN1cnNlczYtY29uZmlnCisgICMKKyAgQVNfSUYoW3Rlc3QgIngkaGF2ZV9bXXN1ZmZpeCIgPSB4bm9dLCBbCisgICAgQUNfQ0hFQ0tfVE9PTChTVUZGSVhbXTZfQ09ORklHLCBzdWZmaXhbXTYtY29uZmlnKQorICAgIGlmIEFDX1JVTl9MT0coWyRTVUZGSVhbXTZfQ09ORklHIC0tdmVyc2lvbiA+L2Rldi9udWxsXSk7IHRoZW4KKyAgICAgIGhhdmVfW11zdWZmaXg9eWVzCisgICAgICBOQ1VSU0VTX0xJQlM9YCRTVUZGSVhbXTZfQ09ORklHIC0tbGlic2AKKyAgICAgIE5DVVJTRVNfQ0ZMQUdTPWAkU1VGRklYW102X0NPTkZJRyAtLWNmbGFnc2AKKyAgICBlbHNlCisgICAgICBoYXZlX1tdc3VmZml4PW5vCisgICAgZmkKKyAgXSkKKworICAjIG5jdXJzZXM1LWNvbmZpZworICAjCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfW11zdWZmaXgiID0geG5vXSwgWworICAgIEFDX0NIRUNLX1RPT0woU1VGRklYW101X0NPTkZJRywgc3VmZml4W101LWNvbmZpZykKKyAgICBpZiBBQ19SVU5fTE9HKFskU1VGRklYW101X0NPTkZJRyAtLXZlcnNpb24gPi9kZXYvbnVsbF0pOyB0aGVuCisgICAgICBoYXZlX1tdc3VmZml4PXllcworICAgICAgTkNVUlNFU19MSUJTPWAkU1VGRklYW101X0NPTkZJRyAtLWxpYnNgCisgICAgICBOQ1VSU0VTX0NGTEFHUz1gJFNVRkZJWFtdNV9DT05GSUcgLS1jZmxhZ3NgCisgICAgZWxzZQorICAgICAgaGF2ZV9bXXN1ZmZpeD1ubworICAgIGZpCisgIF0pCisKKyAgIyBwa2ctY29uZmlnIChub3Qgc3VwcG9ydGVkIGJ5IG5jdXJzZXMgdXBzdHJlYW0gYnkgZGVmYXVsdCkKKyAgIworICBBU19JRihbdGVzdCAieCRoYXZlX1tdc3VmZml4IiA9IHhub10sIFsKKyAgICBQS0dfQ0hFQ0tfTU9EVUxFUyhTVUZGSVgsIFskMV0sIFsKKyAgICAgIGhhdmVfW11zdWZmaXg9eWVzCisgICAgICBOQ1VSU0VTX0xJQlM9JHtTVUZGSVhbXV9MSUJTfQorICAgICAgTkNVUlNFU19DRkxBR1M9JHtTVUZGSVhbXV9DRkxBR1N9CisgICAgXSxbaGF2ZV9bXXN1ZmZpeD1ub10pCisgIF0pCisKKyAgIyBjbGFzc2ljIGF1dG9jb25mIHdheQorICAjCisgIEFTX0lGKFt0ZXN0ICJ4JGhhdmVfW11zdWZmaXgiID0geG5vXSwgWworICAgIEFDX0NIRUNLX0xJQihbJDFdLCBbaW5pdHNjcl0sIFtoYXZlX1tdc3VmZml4PXllc10sIFtoYXZlX1tdc3VmZml4PW5vXSkKKyAgICBBU19JRihbdGVzdCAieCRoYXZlX1tdc3VmZml4IiA9IHh5ZXNdLCBbTkNVUlNFU19MSUJTPSItbFtdc3VmZml4Il0pCisgIF0pCitdKQorCitkbmwKK2RubCBVTF9USU5GT19DSEVDSyhOQU1FKQorZG5sCitkbmwgSW5pdGlhbGl6ZXMgJGhhdmVfPG5hbWU+LCBUSU5GT19MSUJTIGFuZCBUSU5GT19DRkxBR1MgdmFyaWFibGVzLgorZG5sCitkbmwgVGhlIGV4cGVjdGVkIDxuYW1lPiBpcyB0aW5mb3cgb3IgdGluZm8uCitkbmwKK0FDX0RFRlVOKFtVTF9USU5GT19DSEVDS10sIFsKKyAgbTRfZGVmaW5lKFtzdWZmaXhdLCAkMSkKKyAgbTRfZGVmaW5lKFtTVUZGSVhdLCBtNF90b3VwcGVyKCQxKSkKKworICBQS0dfQ0hFQ0tfTU9EVUxFUyhTVUZGSVgsIFskMV0sIFsKKyAgICBkbmwgcGtnLWNvbmZpZyBzdWNjZXNzCisgICAgaGF2ZV9bXXN1ZmZpeD15ZXMKKyAgICBUSU5GT19MSUJTPSR7U1VGRklYW11fTElCU30KKyAgICBUSU5GT19DRkxBR1M9JHtTVUZGSVhbXV9DRkxBR1N9CisgICAgVUxfUEtHX1NUQVRJQyhbVElORk9fTElCU19TVEFUSUNdLCBbJDFdKQorICBdLFsKKyAgICBkbmwgSWYgcGtnLWNvbmZpZyBmYWlsZWQsIGZhbGwgYmFjayB0byBjbGFzc2ljIHNlYXJjaGluZy4KKyAgICBBQ19DSEVDS19MSUIoWyQxXSwgW3RnZXRlbnRdLCBbCisgICAgICAgaGF2ZV9bXXN1ZmZpeD15ZXMKKyAgICAgICBUSU5GT19MSUJTPSItbFtdc3VmZml4IgorICAgICAgIFRJTkZPX0xJQlNfU1RBVElDPSItbFtdc3VmZml4IgorICAgICAgIFRJTkZPX0NGTEFHUz0iIl0pCisgIF0pCitdKQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy8uZ2l0aWdub3JlIGIvbWlzYy11dGlscy8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiMTQ4YmEKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzLy5naXRpZ25vcmUKQEAgLTAsMCArMSw0IEBACit1dWlkZC44Cit1dWlkZC5yYwordXVpZGQuc2VydmljZQordXVpZGQuc29ja2V0CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL01ha2Vtb2R1bGUuYW0gYi9taXNjLXV0aWxzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzYxOTViNwotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDIxMyBAQAoraWYgQlVJTERfQ0FMCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBjYWwKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy9jYWwuMQorY2FsX1NPVVJDRVMgPSBtaXNjLXV0aWxzL2NhbC5jCitjYWxfQ0ZMQUdTID0gJChBTV9DRkxBR1MpCitjYWxfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlidGNvbG9ycy5sYQorIyB0aW5mbyBvciBuY3Vyc2VzIGFyZSBvcHRpb25hbAoraWYgSEFWRV9USU5GTworY2FsX0xEQUREICs9ICQoVElORk9fTElCUykKK2NhbF9DRkxBR1MgKz0gJChUSU5GT19DRkxBR1MpCitlbHNlCitpZiBIQVZFX05DVVJTRVMKK2NhbF9MREFERCArPSAkKE5DVVJTRVNfTElCUykKK2NhbF9DRkxBR1MgKz0gJChOQ1VSU0VTX0NGTEFHUykKK2VuZGlmCitlbmRpZiAjICFIQVZFX1RJTkZPCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfY2FsCit0ZXN0X2NhbF9TT1VSQ0VTID0gJChjYWxfU09VUkNFUykKK3Rlc3RfY2FsX0xEQUREID0gJChjYWxfTERBREQpCit0ZXN0X2NhbF9DRkxBR1MgPSAtRFRFU1RfQ0FMICQoY2FsX0NGTEFHUykKK2VuZGlmICMgQlVJTERfQ0FMCisKKworaWYgQlVJTERfTE9HR0VSCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsb2dnZXIKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy9sb2dnZXIuMQorbG9nZ2VyX1NPVVJDRVMgPSBtaXNjLXV0aWxzL2xvZ2dlci5jIGxpYi9zdHJ1dGlscy5jIGxpYi9zdHJ2LmMKK2xvZ2dlcl9MREFERCA9ICQoTERBREQpCitsb2dnZXJfQ0ZMQUdTID0gJChBTV9DRkxBR1MpCitpZiBIQVZFX1NZU1RFTUQKK2xvZ2dlcl9MREFERCArPSAkKFNZU1RFTURfTElCUykgJChTWVNURU1EX0RBRU1PTl9MSUJTKSAkKFNZU1RFTURfSk9VUk5BTF9MSUJTKQorbG9nZ2VyX0NGTEFHUyArPSAkKFNZU1RFTURfQ0ZMQUdTKSAkKFNZU1RFTURfREFFTU9OX0NGTEFHUykgJChTWVNURU1EX0pPVVJOQUxfQ0ZMQUdTKQorZW5kaWYKKworY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF9sb2dnZXIKK3Rlc3RfbG9nZ2VyX1NPVVJDRVMgPSAkKGxvZ2dlcl9TT1VSQ0VTKQordGVzdF9sb2dnZXJfTERBREQgPSAkKGxvZ2dlcl9MREFERCkKK3Rlc3RfbG9nZ2VyX0NGTEFHUyA9IC1EVEVTVF9MT0dHRVIgJChsb2dnZXJfQ0ZMQUdTKQorZW5kaWYgIyBCVUlMRF9MT0dHRVIKKworCitpZiBCVUlMRF9MT09LCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsb29rCitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvbG9vay4xCitsb29rX1NPVVJDRVMgPSBtaXNjLXV0aWxzL2xvb2suYworZW5kaWYKKworaWYgQlVJTERfTUNPT0tJRQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gbWNvb2tpZQorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL21jb29raWUuMQorbWNvb2tpZV9TT1VSQ0VTID0gbWlzYy11dGlscy9tY29va2llLmMgbGliL21kNS5jCittY29va2llX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9OQU1FSQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gbmFtZWkKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy9uYW1laS4xCituYW1laV9TT1VSQ0VTID0gbWlzYy11dGlscy9uYW1laS5jIGxpYi9zdHJ1dGlscy5jIGxpYi9pZGNhY2hlLmMKK2VuZGlmCisKK2lmIEJVSUxEX1dIRVJFSVMKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHdoZXJlaXMKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy93aGVyZWlzLjEKK3doZXJlaXNfU09VUkNFUyA9IG1pc2MtdXRpbHMvd2hlcmVpcy5jCit3aGVyZWlzX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9MU0xPQ0tTCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsc2xvY2tzCitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvbHNsb2Nrcy44Citsc2xvY2tzX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYm1vdW50LmxhIGxpYnNtYXJ0Y29scy5sYQorbHNsb2Nrc19TT1VSQ0VTID0gbWlzYy11dGlscy9sc2xvY2tzLmMKK2xzbG9ja3NfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJtb3VudF9pbmNkaXIpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorZW5kaWYKKworaWYgQlVJTERfTFNCTEsKK2Jpbl9QUk9HUkFNUyArPSBsc2JsaworZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL2xzYmxrLjgKK2xzYmxrX1NPVVJDRVMgPSBtaXNjLXV0aWxzL2xzYmxrLmMKK2xzYmxrX0xEQUREID0gJChMREFERCkgbGliYmxraWQubGEgbGlibW91bnQubGEgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQorbHNibGtfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJibGtpZF9pbmNkaXIpIC1JJCh1bF9saWJtb3VudF9pbmNkaXIpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQoraWYgSEFWRV9VREVWCitsc2Jsa19MREFERCArPSAtbHVkZXYKK2VuZGlmCitlbmRpZiAjIEJVSUxEX0xTQkxLCisKK2lmIEJVSUxEX1VVSURHRU4KK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHV1aWRnZW4KK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy91dWlkZ2VuLjEKK3V1aWRnZW5fU09VUkNFUyA9IG1pc2MtdXRpbHMvdXVpZGdlbi5jCit1dWlkZ2VuX0xEQUREID0gJChMREFERCkgbGlidXVpZC5sYQordXVpZGdlbl9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnV1aWRfaW5jZGlyKQorZW5kaWYKKworaWYgQlVJTERfVVVJRFBBUlNFCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSB1dWlkcGFyc2UKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy91dWlkcGFyc2UuMQordXVpZHBhcnNlX1NPVVJDRVMgPSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jCit1dWlkcGFyc2VfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlidXVpZC5sYSBsaWJzbWFydGNvbHMubGEKK3V1aWRwYXJzZV9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnV1aWRfaW5jZGlyKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK2VuZGlmCisKK2lmIEJVSUxEX1VVSURECit1c3JzYmluX2V4ZWNfUFJPR1JBTVMgKz0gdXVpZGQKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy91dWlkZC44Cit1dWlkZF9MREFERCA9ICQoTERBREQpIGxpYnV1aWQubGEgbGliY29tbW9uLmxhICQoUkVBTFRJTUVfTElCUykKK3V1aWRkX0NGTEFHUyA9ICQoREFFTU9OX0NGTEFHUykgJChBTV9DRkxBR1MpIC1JJCh1bF9saWJ1dWlkX2luY2RpcikKK3V1aWRkX0xERkxBR1MgPSAkKERBRU1PTl9MREZMQUdTKSAkKEFNX0xERkxBR1MpCit1dWlkZF9TT1VSQ0VTID0gbWlzYy11dGlscy91dWlkZC5jIGxpYi9tb25vdG9uaWMuYyBsaWIvdGltZXIuYworaWYgSEFWRV9TWVNURU1ECit1dWlkZF9MREFERCArPSAkKFNZU1RFTURfTElCUykgJChTWVNURU1EX0RBRU1PTl9MSUJTKQordXVpZGRfQ0ZMQUdTICs9ICQoU1lTVEVNRF9DRkxBR1MpICQoU1lTVEVNRF9EQUVNT05fQ0ZMQUdTKQorc3lzdGVtZHN5c3RlbXVuaXRfREFUQSArPSBcCisJbWlzYy11dGlscy91dWlkZC5zZXJ2aWNlIFwKKwltaXNjLXV0aWxzL3V1aWRkLnNvY2tldAorZW5kaWYKKworY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF91dWlkZAordGVzdF91dWlkZF9TT1VSQ0VTID0gbWlzYy11dGlscy90ZXN0X3V1aWRkLmMKK3Rlc3RfdXVpZGRfTERBREQgPSAgJChMREFERCkgbGliY29tbW9uLmxhIGxpYnV1aWQubGEgLWxwdGhyZWFkCit0ZXN0X3V1aWRkX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlidXVpZF9pbmNkaXIpCitlbmRpZiAjIEJVSUxEX1VVSURECisKK1BBVEhGSUxFUyArPSBcCisJbWlzYy11dGlscy91dWlkZC44IFwKKwltaXNjLXV0aWxzL3V1aWRkLnJjIFwKKwltaXNjLXV0aWxzL3V1aWRkLnNlcnZpY2UgXAorCW1pc2MtdXRpbHMvdXVpZGQuc29ja2V0CisKK2lmIEJVSUxEX0JMS0lECitzYmluX1BST0dSQU1TICs9IGJsa2lkCitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvYmxraWQuOAorYmxraWRfU09VUkNFUyA9IG1pc2MtdXRpbHMvYmxraWQuYworYmxraWRfTERBREQgPSAkKExEQUREKSBsaWJibGtpZC5sYSBsaWJjb21tb24ubGEKK2Jsa2lkX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGliYmxraWRfaW5jZGlyKQorCitpZiBIQVZFX1NUQVRJQ19CTEtJRAorc2Jpbl9QUk9HUkFNUyArPSBibGtpZC5zdGF0aWMKK2Jsa2lkX3N0YXRpY19TT1VSQ0VTID0gJChibGtpZF9TT1VSQ0VTKQorYmxraWRfc3RhdGljX0xERkxBR1MgPSAtYWxsLXN0YXRpYworYmxraWRfc3RhdGljX0xEQUREID0gJChMREFERCkgbGliYmxraWQubGEKK2Jsa2lkX3N0YXRpY19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYmJsa2lkX2luY2RpcikKK2VuZGlmCitlbmRpZiAjIEJVSUxEX0JMS0lECisKKworaWYgQlVJTERfRklOREZTCitzYmluX1BST0dSQU1TICs9IGZpbmRmcworZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL2ZpbmRmcy44CitmaW5kZnNfTERBREQgPSAkKExEQUREKSBsaWJibGtpZC5sYQorZmluZGZzX1NPVVJDRVMgPSBtaXNjLXV0aWxzL2ZpbmRmcy5jCitmaW5kZnNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJibGtpZF9pbmNkaXIpCitlbmRpZgorCitpZiBCVUlMRF9XSVBFRlMKK3NiaW5fUFJPR1JBTVMgKz0gd2lwZWZzCitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvd2lwZWZzLjgKK3dpcGVmc19TT1VSQ0VTID0gbWlzYy11dGlscy93aXBlZnMuYword2lwZWZzX0xEQUREID0gJChMREFERCkgbGliYmxraWQubGEgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQord2lwZWZzX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGliYmxraWRfaW5jZGlyKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK2VuZGlmCisKK2lmIEJVSUxEX0ZJTkRNTlQKK2Jpbl9QUk9HUkFNUyArPSBmaW5kbW50CitkaXN0X21hbl9NQU5TICs9IG1pc2MtdXRpbHMvZmluZG1udC44CitmaW5kbW50X0xEQUREID0gJChMREFERCkgbGlibW91bnQubGEgXAorCQlsaWJjb21tb24ubGEgXAorCQlsaWJzbWFydGNvbHMubGEgXAorCQlsaWJibGtpZC5sYQorZmluZG1udF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgXAorCQktSSQodWxfbGlibW91bnRfaW5jZGlyKSBcCisJCS1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKSBcCisJCS1JJCh1bF9saWJibGtpZF9pbmNkaXIpCitmaW5kbW50X1NPVVJDRVMgPSBtaXNjLXV0aWxzL2ZpbmRtbnQuYyBcCisJCSAgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jIFwKKwkJICBtaXNjLXV0aWxzL2ZpbmRtbnQuaAoraWYgSEFWRV9VREVWCitmaW5kbW50X0xEQUREICs9IC1sdWRldgorZW5kaWYKK2VuZGlmICMgQlVJTERfRklORE1OVAorCisKK2lmIEJVSUxEX0tJTEwKK2Jpbl9QUk9HUkFNUyArPSBraWxsCitraWxsX1NPVVJDRVMgPSBtaXNjLXV0aWxzL2tpbGwuYwora2lsbF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL2tpbGwuMQorZW5kaWYKKworaWYgQlVJTERfUkVOQU1FCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSByZW5hbWUKK2Rpc3RfbWFuX01BTlMgKz0gbWlzYy11dGlscy9yZW5hbWUuMQorcmVuYW1lX1NPVVJDRVMgPSBtaXNjLXV0aWxzL3JlbmFtZS5jCitlbmRpZgorCitpZiBCVUlMRF9HRVRPUFQKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGdldG9wdAorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL2dldG9wdC4xCitnZXRvcHRfU09VUkNFUyA9IG1pc2MtdXRpbHMvZ2V0b3B0LmMKK2dldG9wdGV4YW1wbGVkaXIgPSAkKGRvY2RpcikvZ2V0b3B0LworZGlzdF9nZXRvcHRleGFtcGxlX1NDUklQVFMgPSBcCisJbWlzYy11dGlscy9nZXRvcHQtcGFyc2UuYmFzaCBcCisJbWlzYy11dGlscy9nZXRvcHQtcGFyc2UudGNzaAorZW5kaWYKKworaWYgQlVJTERfRklOQ09SRQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gZmluY29yZQorZGlzdF9tYW5fTUFOUyArPSBtaXNjLXV0aWxzL2ZpbmNvcmUuMQorZmluY29yZV9TT1VSQ0VTID0gbWlzYy11dGlscy9maW5jb3JlLmMKK2ZpbmNvcmVfTERBREQgPSAkKExEQUREKSBsaWJzbWFydGNvbHMubGEgbGliY29tbW9uLmxhCitmaW5jb3JlX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK2VuZGlmCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2Jsa2lkLjggYi9taXNjLXV0aWxzL2Jsa2lkLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNiNWVkYgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvYmxraWQuOApAQCAtMCwwICsxLDMzMiBAQAorLlwiIENvcHlyaWdodCAyMDAwIEFuZHJlYXMgRGlsZ2VyIChhZGlsZ2VyQHR1cmJvbGludXguY29tKQorLlwiCisuXCIgVGhpcyBmaWxlIG1heSBiZSBjb3BpZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljIExpY2Vuc2UuCisuVEggQkxLSUQgOCAiTWFyY2ggMjAxMyIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorYmxraWQgXC0gbG9jYXRlL3ByaW50IGJsb2NrIGRldmljZSBhdHRyaWJ1dGVzCisuU0ggU1lOT1BTSVMKKy5JUCBcZkJibGtpZFxmUgorLkJJIFwtXC1sYWJlbCAiIGxhYmVsIgorfAorLkJJIFwtXC11dWlkICIgdXVpZCIKKworLklQIFxmQmJsa2lkXGZSCisuUkIgWyBcLVwtbm9cLWVuY29kaW5nCisuQiBcLVwtZ2FyYmFnZVwtY29sbGVjdCBcLVwtbGlzdFwtb25lIFwtXC1jYWNoZVwtZmlsZQorLklSIGZpbGUgXQorLlJCIFsgXC1cLW91dHB1dAorLklSIGZvcm1hdCBdCisuUkIgWyBcLVwtbWF0Y2hcLXRhZworLklSIHRhZyBdCisuUkIgWyBcLVwtbWF0Y2hcLXRva2VuCisuSVIgTkFNRT12YWx1ZSBdCisuUkkgWyBkZXZpY2UgIiAuLi5dIgorCisuSVAgXGZCYmxraWRcZlIKKy5CUiBcLVwtcHJvYmUgIiBbIiBcLVwtb2Zmc2V0CisuSVIgb2Zmc2V0IF0KKy5SQiBbIFwtXC1vdXRwdXQKKy5JUiBmb3JtYXQgXQorLlJCIFsgXC1cLXNpemUKKy5JUiBzaXplIF0KKy5SQiBbIFwtXC1tYXRjaFwtdGFnCisuSVIgdGFnIF0KKy5SQiBbIFwtXC1tYXRjaFwtdHlwZXMKKy5JUiBsaXN0IF0KKy5SQiBbIFwtXC11c2FnZXMKKy5JUiBsaXN0IF0KKy5JUiBkZXZpY2UgIiAuLi4iCisKKy5JUCBcZkJibGtpZFxmUgorLkJSIFwtXC1pbmZvICIgWyIgXC1cLW91dHB1dAorLklSIGZvcm1hdCBdCisuUkIgWyBcLVwtbWF0Y2hcLXRhZworLklSIHRhZyBdCisuSVIgZGV2aWNlICIgLi4uIgorCisuU0ggREVTQ1JJUFRJT04KK1RoZQorLkIgYmxraWQKK3Byb2dyYW0gaXMgdGhlIGNvbW1hbmQtbGluZSBpbnRlcmZhY2UgdG8gd29ya2luZyB3aXRoIHRoZQorLkJSIGxpYmJsa2lkICgzKQorbGlicmFyeS4gIEl0IGNhbiBkZXRlcm1pbmUgdGhlIHR5cGUgb2YgY29udGVudCAoZS5nLiBmaWxlc3lzdGVtIG9yIHN3YXApCit0aGF0IGEgYmxvY2sgZGV2aWNlIGhvbGRzLCBhbmQgYWxzbyB0aGUgYXR0cmlidXRlcyAodG9rZW5zLCBOQU1FPXZhbHVlIHBhaXJzKQorZnJvbSB0aGUgY29udGVudCBtZXRhZGF0YSAoZS5nLiBMQUJFTCBvciBVVUlEIGZpZWxkcykuCisuUFAKKy5CIEl0IGlzIHJlY29tbWVuZGVkIHRvIHVzZQorLkJSIGxzYmxrICg4KQorLkIgY29tbWFuZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcywgb3IgbHNibGsgLS1mcyB0byBnZXQgYW4gb3ZlcnZpZXcgb2YgZmlsZXN5c3RlbXMsIG9yCisuQlIgZmluZG1udCAoOCkKKy5CIHRvIHNlYXJjaCBpbiBhbHJlYWR5IG1vdW50ZWQgZmlsZXN5c3RlbXMuCisuUFAKKy5SUworLkJSIGxzYmxrICg4KQorcHJvdmlkZXMgbW9yZSBpbmZvcm1hdGlvbiwgYmV0dGVyIGNvbnRyb2wgb24gb3V0cHV0IGZvcm1hdHRpbmcsIGVhc3kgdG8gdXNlIGluCitzY3JpcHRzIGFuZCBpdCBkb2VzIG5vdCByZXF1aXJlIHJvb3QgcGVybWlzc2lvbnMgdG8gZ2V0IGFjdHVhbCBpbmZvcm1hdGlvbi4KKy5CIGJsa2lkCityZWFkcyBpbmZvcm1hdGlvbiBkaXJlY3RseSBmcm9tIGRldmljZXMgYW5kIGZvciBub24tcm9vdCB1c2VycworaXQgcmV0dXJucyBjYWNoZWQgdW52ZXJpZmllZCBpbmZvcm1hdGlvbi4KKy5CIGJsa2lkCitpcyBtb3N0bHkgZGVzaWduZWQgZm9yIHN5c3RlbSBzZXJ2aWNlcyBhbmQgdG8gdGVzdCBsaWJibGtpZCBmdW5jdGlvbmFsaXR5LgorLlJFCisKKy5QUAorV2hlbgorLkkgZGV2aWNlCitpcyBzcGVjaWZpZWQsIHRva2VucyBmcm9tIG9ubHkgdGhpcyBkZXZpY2UgYXJlIGRpc3BsYXllZC4KK0l0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgbXVsdGlwbGUKKy5JIGRldmljZQorYXJndW1lbnRzIG9uIHRoZSBjb21tYW5kIGxpbmUuCitJZiBub25lIGlzIGdpdmVuLCBhbGwgZGV2aWNlcyB3aGljaCBhcHBlYXIgaW4KKy5JIC9wcm9jL3BhcnRpdGlvbnMKK2FyZSBzaG93biwgaWYgdGhleSBhcmUgcmVjb2duaXplZC4KKy5QUAorLkIgYmxraWQKK2hhcyB0d28gbWFpbiBmb3JtcyBvZiBvcGVyYXRpb246IGVpdGhlciBzZWFyY2hpbmcgZm9yIGEgZGV2aWNlIHdpdGggYQorc3BlY2lmaWMgTkFNRT12YWx1ZSBwYWlyLCBvciBkaXNwbGF5aW5nIE5BTUU9dmFsdWUgcGFpcnMgZm9yIG9uZSBvcgorbW9yZSBzcGVjaWZpZWQgZGV2aWNlcy4KKworRm9yIHNlY3VyaXR5IHJlYXNvbnMKKy5CIGJsa2lkCitzaWxlbnRseSBpZ25vcmVzIGFsbCBkZXZpY2VzIHdoZXJlIHRoZSBwcm9iaW5nIHJlc3VsdCBpcyBhbWJpdmFsZW50IChtdWx0aXBsZQorY29sbGlkaW5nIGZpbGVzeXN0ZW1zIGFyZSBkZXRlY3RlZCkuICBUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSAoXGZCLXBcZlIpCitwcm92aWRlcyBtb3JlIGluZm9ybWF0aW9uIGFuZCBleHRyYSByZXR1cm4gY29kZSBpbiB0aGlzIGNhc2UuCitJdCdzIHJlY29tbWVuZGVkIHRvIHVzZQorLkJSIHdpcGVmcyAoOCkKK3RvIGdldCBhIGRldGFpbGVkIG92ZXJ2aWV3IGFuZCB0byBlcmFzZSBvYnNvbGV0ZSBzdHVmZiAobWFnaWMgc3RyaW5ncykgZnJvbSB0aGUgZGV2aWNlLgorCisuU0ggT1BUSU9OUworVGhlIFxmSXNpemVcZlIgYW5kIFxmSW9mZnNldFxmUiBhcmd1bWVudHMgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZQorc3VmZml4ZXMgbGlrZSBLaUIgKD0xMDI0KSwgTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCCisodGhlICJpQiIgaXMgb3B0aW9uYWwsIGUuZy4gIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSwgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKy5UUAorXGZCXC1jXGZSLCBcZkJcLVwtY2FjaGVcLWZpbGVcZlIgXGZJY2FjaGVmaWxlXGZSCitSZWFkIGZyb20KKy5JIGNhY2hlZmlsZQoraW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHQgY2FjaGUgZmlsZSAoc2VlIHRoZSBDT05GSUdVUkFUSU9OIEZJTEUgc2VjdGlvbgorZm9yIG1vcmUgZGV0YWlscykuICBJZiB5b3Ugd2FudCB0byBzdGFydCB3aXRoIGEgY2xlYW4gY2FjaGUgKGkuZS4gZG9uJ3QgcmVwb3J0CitkZXZpY2VzIHByZXZpb3VzbHkgc2Nhbm5lZCBidXQgbm90IG5lY2Vzc2FyaWx5IGF2YWlsYWJsZSBhdCB0aGlzIHRpbWUpLCBzcGVjaWZ5CisuSVIgL2Rldi9udWxsIC4KKy5UUAorXGZCXC1kXGZSLCBcZkJcLVwtbm9cLWVuY29kaW5nXGZSCitEb24ndCBlbmNvZGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnMuICBUaGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnMgYXJlIGVuY29kZWQKK2J5IF4gYW5kIE0tIG5vdGF0aW9uIGJ5IGRlZmF1bHQuICBOb3RlIHRoYXQgdGhlIFxmQlwtXC1vdXRwdXQgdWRldlxmUiBvdXRwdXQgZm9ybWF0IHVzZXMKK2EgZGlmZmVyZW50IGVuY29kaW5nIHdoaWNoIGNhbm5vdCBiZSBkaXNhYmxlZC4KKy5UUAorXGZCXC1nXGZSLCBcZkJcLVwtZ2FyYmFnZVwtY29sbGVjdFxmUgorUGVyZm9ybSBhIGdhcmJhZ2UgY29sbGVjdGlvbiBwYXNzIG9uIHRoZSBibGtpZCBjYWNoZSB0byByZW1vdmUKK2RldmljZXMgd2hpY2ggbm8gbG9uZ2VyIGV4aXN0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGEgdXNhZ2UgbWVzc2FnZSBhbmQgZXhpdC4KKy5UUAorXGZCXC1pXGZSLCBcZkJcLVwtaW5mb1xmUgorRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBJL08gTGltaXRzIChha2EgSS9PIHRvcG9sb2d5KS4gIFRoZSAnZXhwb3J0JyBvdXRwdXQgZm9ybWF0IGlzCithdXRvbWF0aWNhbGx5IGVuYWJsZWQuICBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIHRoZSBcZkJcLVwtcHJvYmVcZlIgb3B0aW9uLgorLlRQCitcZkJcLWtcZlIsIFxmQlwtXC1saXN0XC1maWxlc3lzdGVtc1xmUgorTGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMgYW5kIFJBSURzIGFuZCBleGl0LgorLlRQCitcZkJcLWxcZlIsIFxmQlwtXC1saXN0XC1vbmVcZlIKK0xvb2sgdXAgb25seSBvbmUgZGV2aWNlIHRoYXQgbWF0Y2hlcyB0aGUgc2VhcmNoIHBhcmFtZXRlciBzcGVjaWZpZWQgd2l0aCB0aGUgXGZCXC1cLW1hdGNoXC10b2tlblxmUgorb3B0aW9uLiAgSWYgdGhlcmUgYXJlIG11bHRpcGxlIGRldmljZXMgdGhhdCBtYXRjaCB0aGUgc3BlY2lmaWVkIHNlYXJjaAorcGFyYW1ldGVyLCB0aGVuIHRoZSBkZXZpY2Ugd2l0aCB0aGUgaGlnaGVzdCBwcmlvcml0eSBpcyByZXR1cm5lZCwgYW5kL29yCit0aGUgZmlyc3QgZGV2aWNlIGZvdW5kIGF0IGEgZ2l2ZW4gcHJpb3JpdHkuICBEZXZpY2UgdHlwZXMgaW4gb3JkZXIgb2YKK2RlY3JlYXNpbmcgcHJpb3JpdHkgYXJlOiBEZXZpY2UgTWFwcGVyLCBFVk1TLCBMVk0sIE1ELCBhbmQgZmluYWxseSByZWd1bGFyCitibG9jayBkZXZpY2VzLiAgSWYgdGhpcyBvcHRpb24gaXMgbm90IHNwZWNpZmllZCwKKy5CIGJsa2lkCit3aWxsIHByaW50IGFsbCBvZiB0aGUgZGV2aWNlcyB0aGF0IG1hdGNoIHRoZSBzZWFyY2ggcGFyYW1ldGVyLgorLlRQCitcZkJcLUxcZlIsIFxmQlwtXC1sYWJlbFxmUiBcZklsYWJlbFxmUgorTG9vayB1cCB0aGUgZGV2aWNlIHRoYXQgdXNlcyB0aGlzIGZpbGVzeXN0ZW0gXGZJbGFiZWxcZlI7IHRoaXMgaXMgZXF1YWwgdG8KKy5CUiAiLS1saXN0LW9uZSAtLW91dHB1dCBkZXZpY2UgLS1tYXRjaC10b2tlbiBMQUJFTD1cZklsYWJlbFxmUiIgLgorVGhpcyBsb29rdXAgbWV0aG9kIGlzIGFibGUgdG8gcmVsaWFibHkgdXNlIC9kZXYvZGlzay9ieS1sYWJlbAordWRldiBzeW1saW5rcyAoZGVwZW5kZW50IG9uIGEgc2V0dGluZyBpbiAvZXRjL2Jsa2lkLmNvbmYpLiAgQXZvaWQgdXNpbmcgdGhlCitzeW1saW5rcyBkaXJlY3RseTsgaXQgaXMgbm90IHJlbGlhYmxlIHRvIHVzZSB0aGUgc3ltbGlua3Mgd2l0aG91dCB2ZXJpZmljYXRpb24uCitUaGUgXGZCLVwtbGFiZWxcZlIgb3B0aW9uIHdvcmtzIG9uIHN5c3RlbXMgd2l0aCBhbmQgd2l0aG91dCB1ZGV2LgorCitVbmZvcnR1bmF0ZWx5LCB0aGUgb3JpZ2luYWwKKy5CUiBibGtpZCAoOCkKK2Zyb20gZTJmc3Byb2dzIHVzZXMgdGhlIFxmQi1MXGZSIG9wdGlvbiBhcyBhCitzeW5vbnltIGZvciBcZkItbyBsaXN0XGZSLiAgRm9yIGJldHRlciBwb3J0YWJpbGl0eSwgdXNlIFxmQi1sIC1vIGRldmljZQorLXQgTEFCRUw9XGZJbGFiZWxcZlIgYW5kIFxmQi1vIGxpc3RcZlIgaW4geW91ciBzY3JpcHRzIHJhdGhlciB0aGFuIHRoZSBcZkItTFxmUiBvcHRpb24uCisuVFAKK1xmQlwtblxmUiwgXGZCXC1cLW1hdGNoXC10eXBlc1xmUiBcZklsaXN0XGZSCitSZXN0cmljdCB0aGUgcHJvYmluZyBmdW5jdGlvbnMgdG8gdGhlIHNwZWNpZmllZCAoY29tbWEtc2VwYXJhdGVkKSBcZklsaXN0XGZSIG9mCitzdXBlcmJsb2NrIHR5cGVzIChuYW1lcykuCitUaGUgbGlzdCBpdGVtcyBtYXkgYmUgcHJlZml4ZWQgd2l0aCAibm8iIHRvIHNwZWNpZnkgdGhlIHR5cGVzIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkLgorRm9yIGV4YW1wbGU6Cisuc3AKKyAgYmxraWQgLS1wcm9iZSAtLW1hdGNoLXR5cGVzIHZmYXQsZXh0MyxleHQ0IC9kZXYvc2RhMQorLnNwCitwcm9iZXMgZm9yIHZmYXQsIGV4dDMgYW5kIGV4dDQgZmlsZXN5c3RlbXMsIGFuZAorLnNwCisgIGJsa2lkIC0tcHJvYmUgLS1tYXRjaC10eXBlcyBub21pbml4IC9kZXYvc2RhMQorLnNwCitwcm9iZXMgZm9yIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyBleGNlcHQgbWluaXggZmlsZXN5c3RlbXMuCitUaGlzIG9wdGlvbiBpcyBvbmx5IHVzZWZ1bCB0b2dldGhlciB3aXRoIFxmQlwtXC1wcm9iZVxmUi4KKy5UUAorXGZCXC1vXGZSLCBcZkJcLVwtb3V0cHV0XGZSIFxmSWZvcm1hdFxmUgorVXNlIHRoZSBzcGVjaWZpZWQgb3V0cHV0IGZvcm1hdC4gIE5vdGUgdGhhdCB0aGUgb3JkZXIgb2YgdmFyaWFibGVzIGFuZAorZGV2aWNlcyBpcyBub3QgZml4ZWQuICBTZWUgYWxzbyBvcHRpb24gXGZCLXNcZlIuICBUaGUKKy5JIGZvcm1hdAorcGFyYW1ldGVyIG1heSBiZToKKy5SUworLlRQCisuQiBmdWxsCitwcmludCBhbGwgdGFncyAodGhlIGRlZmF1bHQpCisuVFAKKy5CIHZhbHVlCitwcmludCB0aGUgdmFsdWUgb2YgdGhlIHRhZ3MKKy5UUAorLkIgbGlzdAorcHJpbnQgdGhlIGRldmljZXMgaW4gYSB1c2VyLWZyaWVuZGx5IGZvcm1hdDsgdGhpcyBvdXRwdXQgZm9ybWF0IGlzIHVuc3VwcG9ydGVkCitmb3IgbG93LWxldmVsIHByb2JpbmcgKFxmQlwtXC1wcm9iZVxmUiBvciBcZkJcLVwtaW5mb1xmUikuCisKK1RoaXMgb3V0cHV0IGZvcm1hdCBpcyBcZkJERVBSRUNBVEVEXGZSIGluIGZhdm91ciBvZiB0aGUKKy5CUiBsc2JsayAoOCkKK2NvbW1hbmQuCisuVFAKKy5CIGRldmljZQorcHJpbnQgdGhlIGRldmljZSBuYW1lIG9ubHk7IHRoaXMgb3V0cHV0IGZvcm1hdCBpcyBhbHdheXMgZW5hYmxlZCBmb3IgdGhlIFxmQlwtXC1sYWJlbFxmUgorYW5kIFxmQlwtXC11dWlkXGZSIG9wdGlvbnMKKy5UUAorLkIgdWRldgorcHJpbnQga2V5PSJ2YWx1ZSIgcGFpcnMgZm9yIGVhc3kgaW1wb3J0IGludG8gdGhlIHVkZXYgZW52aXJvbm1lbnQ7IHRoZSBrZXlzIGFyZQorcHJlZml4ZWQgYnkgSURfRlNfIG9yIElEX1BBUlRfIHByZWZpeGVzLiAgVGhlIHZhbHVlIG1heSBiZSBtb2RpZmllZCB0byBiZQorc2FmZSBmb3IgdWRldiBlbnZpcm9ubWVudDsgYWxsb3dlZCBpcyBwbGFpbiBBU0NJSSwgaGV4LWVzY2FwaW5nIGFuZCB2YWxpZCBVVEYtOCwKK2V2ZXJ5dGhpbmcgZWxzZSAoaW5jbHVkaW5nIHdoaXRlc3BhY2VzKSBpcyByZXBsYWNlZCB3aXRoICdfJy4gVGhlIGtleXMgd2l0aAorX0VOQyBwb3N0Zml4IHVzZSBoZXgtZXNjYXBpbmcgZm9yIHVuc2FmZSBjaGFycy4KKworVGhlIHVkZXYgb3V0cHV0IHJldHVybnMgdGhlIElEX0ZTX0FNQklWQUxFTlQgdGFnIGlmIG1vcmUgc3VwZXJibG9ja3MgYXJlIGRldGVjdGVkLAorYW5kIElEX1BBUlRfRU5UUllfKiB0YWdzIGFyZSBhbHdheXMgcmV0dXJuZWQgZm9yIGFsbCBwYXJ0aXRpb25zIGluY2x1ZGluZyBlbXB0eQorcGFydGl0aW9ucy4KKworVGhpcyBvdXRwdXQgZm9ybWF0IGlzIFxmQkRFUFJFQ0FURURcZlIuCisuVFAKKy5CIGV4cG9ydAorcHJpbnQga2V5PXZhbHVlIHBhaXJzIGZvciBlYXN5IGltcG9ydCBpbnRvIHRoZSBlbnZpcm9ubWVudDsgdGhpcyBvdXRwdXQgZm9ybWF0CitpcyBhdXRvbWF0aWNhbGx5IGVuYWJsZWQgd2hlbiBJL08gTGltaXRzIChcZkJcLVwtaW5mb1xmUiBvcHRpb24pIGFyZSByZXF1ZXN0ZWQuCisKK1RoZSBub24tcHJpbnRpbmcgY2hhcmFjdGVycyBhcmUgZW5jb2RlZCBieSBeIGFuZCBNLSBub3RhdGlvbiBhbmQgYWxsCitwb3RlbnRpYWxseSB1bnNhZmUgY2hhcmFjdGVycyBhcmUgZXNjYXBlZC4KKy5SRQorLlRQCitcZkJcLU9cZlIsIFxmQlwtXC1vZmZzZXRcZlIgXGZJb2Zmc2V0XGZSCitQcm9iZSBhdCB0aGUgZ2l2ZW4gXGZJb2Zmc2V0XGZSIChvbmx5IHVzZWZ1bCB3aXRoIFxmQlwtXC1wcm9iZVxmUikuICBUaGlzIG9wdGlvbiBjYW4gYmUKK3VzZWQgdG9nZXRoZXIgd2l0aCB0aGUgXGZCXC1cLWluZm9cZlIgb3B0aW9uLgorLlRQCitcZkJcLXBcZlIsIFxmQlwtXC1wcm9iZVxmUgorU3dpdGNoIHRvIGxvdy1sZXZlbCBzdXBlcmJsb2NrIHByb2JpbmcgbW9kZSAoYnlwYXNzaW5nIHRoZSBjYWNoZSkuCisKK05vdGUgdGhhdCBsb3ctbGV2ZWwgcHJvYmluZyBhbHNvIHJldHVybnMgaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uIHRhYmxlIHR5cGUKKyhQVFRZUEUgdGFnKSBhbmQgcGFydGl0aW9ucyAoUEFSVF9FTlRSWV8qIHRhZ3MpLiBUaGUgdGFnIG5hbWVzIHByb2R1Y2VkIGJ5Citsb3ctbGV2ZWwgcHJvYmluZyBhcmUgYmFzZWQgb24gbmFtZXMgdXNlZCBpbnRlcm5hbGx5IGJ5IGxpYmJsa2lkIGFuZCBpdCBtYXkgYmUKK2RpZmZlcmVudCB0aGFuIHdoZW4gZXhlY3V0ZWQgd2l0aG91dCBcZkJcLVwtcHJvYmVcZlIgKGZvciBleGFtcGxlIFBBUlRfRU5UUllfVVVJRD0gdnMKK1BBUlRVVUlEPSkuCisuVFAKK1xmQlwtc1xmUiwgXGZCXC1cLW1hdGNoXC10YWdcZlIgXGZJdGFnXGZSCitGb3IgZWFjaCAoc3BlY2lmaWVkKSBkZXZpY2UsIHNob3cgb25seSB0aGUgdGFncyB0aGF0IG1hdGNoCisuSVIgdGFnIC4KK0l0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgbXVsdGlwbGUKKy5CIFwtXC1tYXRjaFwtdGFnCitvcHRpb25zLiAgSWYgbm8gdGFnIGlzIHNwZWNpZmllZCwgdGhlbiBhbGwgdG9rZW5zIGFyZSBzaG93biBmb3IgYWxsCisoc3BlY2lmaWVkKSBkZXZpY2VzLgorSW4gb3JkZXIgdG8ganVzdCByZWZyZXNoIHRoZSBjYWNoZSB3aXRob3V0IHNob3dpbmcgYW55IHRva2VucywgdXNlCisuQiAiXC1cLW1hdGNoXC10YWcgbm9uZSIKK3dpdGggbm8gb3RoZXIgb3B0aW9ucy4KKy5UUAorXGZCXC1TXGZSLCBcZkJcLVwtc2l6ZVxmUiBcZklzaXplXGZSCitPdmVycmlkZSB0aGUgc2l6ZSBvZiBkZXZpY2UvZmlsZSAob25seSB1c2VmdWwgd2l0aCBcZkJcLVwtcHJvYmVcZlIpLgorLlRQCitcZkJcLXRcZlIsIFxmQlwtXC1tYXRjaFwtdG9rZW5cZlIgXGZJTkFNRT12YWx1ZVxmUgorU2VhcmNoIGZvciBibG9jayBkZXZpY2VzIHdpdGggdG9rZW5zIG5hbWVkCisuSSBOQU1FCit0aGF0IGhhdmUgdGhlIHZhbHVlCisuSVIgdmFsdWUgLAorYW5kIGRpc3BsYXkgYW55IGRldmljZXMgd2hpY2ggYXJlIGZvdW5kLgorQ29tbW9uIHZhbHVlcyBmb3IKKy5JIE5BTUUKK2luY2x1ZGUKKy5CUiBUWVBFICwKKy5CUiBMQUJFTCAsCithbmQKKy5CUiBVVUlEIC4KK0lmIHRoZXJlIGFyZSBubyBkZXZpY2VzIHNwZWNpZmllZCBvbiB0aGUgY29tbWFuZCBsaW5lLCBhbGwgYmxvY2sgZGV2aWNlcword2lsbCBiZSBzZWFyY2hlZDsgb3RoZXJ3aXNlIG9ubHkgdGhlIHNwZWNpZmllZCBkZXZpY2VzIGFyZSBzZWFyY2hlZC4KKy5UUAorXGZCXC11XGZSLCBcZkJcLVwtdXNhZ2VzXGZSIFxmSWxpc3RcZlIKK1Jlc3RyaWN0IHRoZSBwcm9iaW5nIGZ1bmN0aW9ucyB0byB0aGUgc3BlY2lmaWVkIChjb21tYS1zZXBhcmF0ZWQpIFxmSWxpc3RcZlIgb2YgInVzYWdlIiB0eXBlcy4KK1N1cHBvcnRlZCB1c2FnZSB0eXBlcyBhcmU6IGZpbGVzeXN0ZW0sIHJhaWQsIGNyeXB0byBhbmQgb3RoZXIuICBUaGUgbGlzdCBpdGVtcyBtYXkgYmUKK3ByZWZpeGVkIHdpdGggIm5vIiB0byBzcGVjaWZ5IHRoZSB1c2FnZSB0eXBlcyB3aGljaCBzaG91bGQgYmUgaWdub3JlZC4gIEZvciBleGFtcGxlOgorLnNwCisgIGJsa2lkIC0tcHJvYmUgLS11c2FnZXMgZmlsZXN5c3RlbSxvdGhlciAvZGV2L3NkYTEKKy5zcAorcHJvYmVzIGZvciBhbGwgZmlsZXN5c3RlbSBhbmQgb3RoZXIgKGUuZy4gc3dhcCkgZm9ybWF0cywgYW5kCisuc3AKKyAgYmxraWQgLS1wcm9iZSAtLXVzYWdlcyBub3JhaWQgL2Rldi9zZGExCisuc3AKK3Byb2JlcyBmb3IgYWxsIHN1cHBvcnRlZCBmb3JtYXRzIGV4Y2VwdCBSQUlEcy4KK1RoaXMgb3B0aW9uIGlzIG9ubHkgdXNlZnVsIHRvZ2V0aGVyIHdpdGggXGZCXC1cLXByb2JlXGZSLgorLlRQCitcZkJcLVVcZlIsIFxmQlwtXC11dWlkXGZSIFxmSXV1aWRcZlIKK0xvb2sgdXAgdGhlIGRldmljZSB0aGF0IHVzZXMgdGhpcyBmaWxlc3lzdGVtIFxmSXV1aWRcZlIuICBGb3IgbW9yZSBkZXRhaWxzIHNlZSB0aGUKK1xmQlwtXC1sYWJlbFxmUiBvcHRpb24uCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBudW1iZXIgYW5kIGV4aXQuCisuU0ggIlJFVFVSTiBDT0RFIgorSWYgdGhlIHNwZWNpZmllZCBkZXZpY2Ugb3IgZGV2aWNlIGFkZHJlc3NlZCBieSBzcGVjaWZpZWQgdG9rZW4gKG9wdGlvbgorXGZCXC1cLW1hdGNoXC10b2tlblxmUikgd2FzIGZvdW5kIGFuZCBpdCdzIHBvc3NpYmxlIHRvIGdhdGhlciBhbnkgaW5mb3JtYXRpb24gYWJvdXQgdGhlCitkZXZpY2UsIGFuIGV4aXQgY29kZSAwIGlzIHJldHVybmVkLiAgTm90ZSB0aGUgb3B0aW9uIFxmQlwtXC1tYXRjaFwtdGFnXGZSIGZpbHRlcnMgb3V0cHV0Cit0YWdzLCBidXQgaXQgZG9lcyBub3QgYWZmZWN0IHJldHVybiBjb2RlLgorCitJZiB0aGUgc3BlY2lmaWVkIHRva2VuIHdhcyBub3QgZm91bmQsIG9yIG5vIChzcGVjaWZpZWQpIGRldmljZXMgY291bGQgYmUKK2lkZW50aWZpZWQsIGFuIGV4aXQgY29kZSBvZiAyIGlzIHJldHVybmVkLgorCitGb3IgdXNhZ2Ugb3Igb3RoZXIgZXJyb3JzLCBhbiBleGl0IGNvZGUgb2YgNCBpcyByZXR1cm5lZC4KKworSWYgYW4gYW1iaXZhbGVudCBwcm9iaW5nIHJlc3VsdCB3YXMgZGV0ZWN0ZWQgYnkgbG93LWxldmVsIHByb2JpbmcgbW9kZSAoXGZCXC1wXGZSKSwgYW4gZXhpdCBjb2RlIG9mIDggaXMKK3JldHVybmVkLgorLlNIIENPTkZJR1VSQVRJT04gRklMRQorVGhlIHN0YW5kYXJkIGxvY2F0aW9uIG9mIHRoZQorLkkgL2V0Yy9ibGtpZC5jb25mCitjb25maWcgZmlsZSBjYW4gYmUgb3ZlcnJpZGRlbiBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUgQkxLSURfQ09ORi4KK1RoZSBmb2xsb3dpbmcgb3B0aW9ucyBjb250cm9sIHRoZSBsaWJibGtpZCBsaWJyYXJ5OgorLlRQCisuSSBTRU5EX1VFVkVOVD08eWVzfG5vdD4KK1NlbmRzIHVldmVudCB3aGVuCisuSSAvZGV2L2Rpc2svYnkte2xhYmVsLHV1aWQscGFydHV1aWQscGFydGxhYmVsfS8KK3N5bWxpbmsgZG9lcyBub3QgbWF0Y2ggd2l0aCBMQUJFTCwgVVVJRCwgUEFSVFVVSUQgb3IgUEFSVExBQkVMIG9uIHRoZSBkZXZpY2UuICBEZWZhdWx0IGlzICJ5ZXMiLgorLlRQCisuSSBDQUNIRV9GSUxFPTxwYXRoPgorT3ZlcnJpZGVzIHRoZSBzdGFuZGFyZCBsb2NhdGlvbiBvZiB0aGUgY2FjaGUgZmlsZS4gIFRoaXMgc2V0dGluZyBjYW4gYmUKK292ZXJyaWRkZW4gYnkgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlIEJMS0lEX0ZJTEUuICBEZWZhdWx0IGlzCisuSVIgL3J1bi9ibGtpZC9ibGtpZC50YWIgLAorb3IKKy5JIC9ldGMvYmxraWQudGFiCitvbiBzeXN0ZW1zIHdpdGhvdXQgYSAvcnVuIGRpcmVjdG9yeS4KKy5UUAorLkkgRVZBTFVBVEU9PG1ldGhvZHM+CitEZWZpbmVzIExBQkVMIGFuZCBVVUlEIGV2YWx1YXRpb24gbWV0aG9kKHMpLiAgQ3VycmVudGx5LCB0aGUgbGliYmxraWQgbGlicmFyeQorc3VwcG9ydHMgdGhlICJ1ZGV2IiBhbmQgInNjYW4iIG1ldGhvZHMuICBNb3JlIHRoYW4gb25lIG1ldGhvZCBtYXkgYmUgc3BlY2lmaWVkIGluCithIGNvbW1hLXNlcGFyYXRlZCBsaXN0LiAgRGVmYXVsdCBpcyAidWRldixzY2FuIi4gIFRoZSAidWRldiIgbWV0aG9kIHVzZXMgdWRldgorLkkgL2Rldi9kaXNrL2J5LSoKK3N5bWxpbmtzIGFuZCB0aGUgInNjYW4iIG1ldGhvZCBzY2FucyBhbGwgYmxvY2sgZGV2aWNlcyBmcm9tIHRoZQorLkkgL3Byb2MvcGFydGl0aW9ucworZmlsZS4KKy5TSCBBVVRIT1IKKy5CIGJsa2lkCit3YXMgd3JpdHRlbiBieSBBbmRyZWFzIERpbGdlciBmb3IgbGliYmxraWQgYW5kIGltcHJvdmVkIGJ5IFRoZW9kb3JlIFRzJ28KK2FuZCBLYXJlbCBaYWsuCisuU0ggRU5WSVJPTk1FTlQKKy5JUCAiU2V0dGluZyBMSUJCTEtJRF9ERUJVRz1hbGwgZW5hYmxlcyBkZWJ1ZyBvdXRwdXQuIgorLlNIIFNFRSBBTFNPCisuQlIgbGliYmxraWQgKDMpLAorLkJSIGZpbmRmcyAoOCksCisuQlIgbHNibGsgKDgpLAorLkJSIHdpcGVmcyAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBibGtpZCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9ibGtpZC5jIGIvbWlzYy11dGlscy9ibGtpZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxNzlhNmEKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2Jsa2lkLmMKQEAgLTAsMCArMSw5NDcgQEAKKy8qCisgKiBibGtpZC5jIC0gVXNlciBjb21tYW5kLWxpbmUgaW50ZXJmYWNlIGZvciBsaWJibGtpZAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMSBBbmRyZWFzIERpbGdlcgorICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZQorICogR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNkZWZpbmUgT1VUUFVUX0ZVTEwJCSgxIDw8IDApCisjZGVmaW5lIE9VVFBVVF9WQUxVRV9PTkxZCSgxIDw8IDEpCisjZGVmaW5lIE9VVFBVVF9ERVZJQ0VfT05MWQkoMSA8PCAyKQorI2RlZmluZSBPVVRQVVRfUFJFVFRZX0xJU1QJKDEgPDwgMykJCS8qIGRlcHJlY2F0ZWQgKi8KKyNkZWZpbmUgT1VUUFVUX1VERVZfTElTVAkoMSA8PCA0KQkJLyogZGVwcmVjYXRlZCAqLworI2RlZmluZSBPVVRQVVRfRVhQT1JUX0xJU1QJKDEgPDwgNSkKKworI2RlZmluZSBCTEtJRF9FWElUX05PVEZPVU5ECTIJLyogdG9rZW4gb3IgZGV2aWNlIG5vdCBmb3VuZCAqLworI2RlZmluZSBCTEtJRF9FWElUX09USEVSCTQJLyogYmFkIHVzYWdlIG9yIG90aGVyIGVycm9yICovCisjZGVmaW5lIEJMS0lEX0VYSVRfQU1CSVZBTAk4CS8qIGFtYml2YWxlbnQgbG93LWxldmVsIHByb2JpbmcgZGV0ZWN0ZWQgKi8KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJpc21vdW50ZWQuaCIKKworI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjZGVmaW5lIE9QVFVUSUxTX0VYSVRfQ09ERQlCTEtJRF9FWElUX09USEVSCS8qIGV4Y2x1c2l2ZV9vcHRpb24oKSAqLworI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjZGVmaW5lIENMT1NFX0VYSVRfQ09ERQkJQkxLSURfRVhJVF9PVEhFUgkvKiBjbG9zZV9zdGRvdXQoKSAqLworI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorCisjZGVmaW5lIFhBTExPQ19FWElUX0NPREUgICAgQkxLSURfRVhJVF9PVEhFUiAgICAvKiB4LiphbGxvYygpLCB4c3RybmR1cCgpICovCisjaW5jbHVkZSAieGFsbG9jLmgiCisKK3N0cnVjdCBibGtpZF9jb250cm9sIHsKKwlpbnQgb3V0cHV0OworCXVpbnRtYXhfdCBvZmZzZXQ7CisJdWludG1heF90IHNpemU7CisJY2hhciAqc2hvd1sxMjhdOworCXVuc2lnbmVkIGludAorCQlldmFsOjEsCisJCWdjOjEsCisJCWxvb2t1cDoxLAorCQlsb3dwcm9iZToxLAorCQlsb3dwcm9iZV9zdXBlcmJsb2NrczoxLAorCQlsb3dwcm9iZV90b3BvbG9neToxLAorCQlyYXdfY2hhcnM6MTsKK307CisKK3N0YXRpYyB2b2lkIHByaW50X3ZlcnNpb24oRklMRSAqb3V0KQoreworCWZwcmludGYob3V0LCBfKCIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBQQUNLQUdFX1NUUklORywKKwkJTElCQkxLSURfVkVSU0lPTiwgTElCQkxLSURfREFURSk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKAkiICVzIC0tbGFiZWwgPGxhYmVsPiB8IC0tdXVpZCA8dXVpZD5cblxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmcHJpbnRmKG91dCwgXygJIiAlcyBbLS1jYWNoZS1maWxlIDxmaWxlPl0gWy1naGxMdl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSBbLS1tYXRjaC10YWcgPHRhZz5dIFxuIgorCQkJIiAgICAgICBbLS1tYXRjaC10b2tlbiA8dG9rZW4+XSBbPGRldj4gLi4uXVxuXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCWZwcmludGYob3V0LCBfKAkiICVzIC1wIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb2Zmc2V0IDxvZmZzZXQ+XSBbLS1zaXplIDxzaXplPl0gXG4iCisJCQkiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZnByaW50ZihvdXQsIF8oCSIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oCSIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorCQkJIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIpLCBvdXQpOworCWZwdXRzKF8oCSIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKAkiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIpLCBvdXQpOworCWZwdXRzKF8oCSIgLW8sIC0tb3V0cHV0IDxmb3JtYXQ+ICAgICAgb3V0cHV0IGZvcm1hdDsgY2FuIGJlIG9uZSBvZjpcbiIKKwkJCSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3IgZnVsbDsgKGRlZmF1bHQ6IGZ1bGwpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKAkiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3QgYWxsIGtub3duIGZpbGVzeXN0ZW1zL1JBSURzIGFuZCBleGl0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKAkiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIiksIG91dCk7CisJZnB1dHMoXygJIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIpLCBvdXQpOworCWZwdXRzKF8oCSIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIiksIG91dCk7CisJZnB1dHMoXygJIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICAgICBjb252ZXJ0IExBQkVMIHRvIGRldmljZSBuYW1lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKAkiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGNvbnZlcnQgVVVJRCB0byBkZXZpY2UgbmFtZVxuIiksIG91dCk7CisJZnB1dHMoXygJIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iKSwgb3V0KTsKKwlmcHV0cyggICAgICAgICAgIlxuIiwgb3V0KTsKKwlmcHV0cyhfKAkiTG93LWxldmVsIHByb2Jpbmcgb3B0aW9uczpcbiIpLCBvdXQpOworCWZwdXRzKF8oCSIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIpLCBvdXQpOworCWZwdXRzKF8oCSIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IEkvTyBsaW1pdHNcbiIpLCBvdXQpOworCWZwdXRzKF8oCSIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICAgb3ZlcndyaXRlIGRldmljZSBzaXplXG4iKSwgb3V0KTsKKwlmcHV0cyhfKAkiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIpLCBvdXQpOworCWZwdXRzKF8oCSIgLXUsIC0tdXNhZ2VzIDxsaXN0PiAgICAgICAgZmlsdGVyIGJ5IFwidXNhZ2VcIiAoZS5nLiAtdSBmaWxlc3lzdGVtLHJhaWQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKAkiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyOCkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiYmxraWQoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCisvKgorICogVGhpcyBmdW5jdGlvbiBkb2VzICJzYWZlIiBwcmludGluZy4gIEl0IHdpbGwgY29udmVydCBub24tcHJpbnRhYmxlCisgKiBBU0NJSSBjaGFyYWN0ZXJzIHVzaW5nICdeJyBhbmQgTS0gbm90YXRpb24uCisgKgorICogSWYgJ2VzYycgaXMgZGVmaW5lZCB0aGVuIGVzY2FwZSBhbGwgY2hhcnMgZnJvbSBlc2MgYnkgXC4KKyAqLworc3RhdGljIHZvaWQgc2FmZV9wcmludChjb25zdCBzdHJ1Y3QgYmxraWRfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICpjcCwgaW50IGxlbiwKKwkJICAgICAgIGNvbnN0IGNoYXIgKmVzYykKK3sKKwl1bnNpZ25lZCBjaGFyCWNoOworCisJaWYgKGxlbiA8IDApCisJCWxlbiA9IHN0cmxlbihjcCk7CisKKwl3aGlsZSAobGVuLS0pIHsKKwkJY2ggPSAqY3ArKzsKKwkJaWYgKCFjdGwtPnJhd19jaGFycykgeworCQkJaWYgKGNoID49IDEyOCkgeworCQkJCWZwdXRzKCJNLSIsIHN0ZG91dCk7CisJCQkJY2ggLT0gMTI4OworCQkJfQorCQkJaWYgKChjaCA8IDMyKSB8fCAoY2ggPT0gMHg3ZikpIHsKKwkJCQlmcHV0YygnXicsIHN0ZG91dCk7CisJCQkJY2ggXj0gMHg0MDsgLyogXkAsIF5BLCBeQjsgXj8gZm9yIERFTCAqLworCisJCQl9IGVsc2UgaWYgKGVzYyAmJiBzdHJjaHIoZXNjLCBjaCkpCisJCQkJZnB1dGMoJ1xcJywgc3Rkb3V0KTsKKwkJfQorCQlmcHV0YyhjaCwgc3Rkb3V0KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcHJldHR5X3ByaW50X3dvcmQoY29uc3QgY2hhciAqc3RyLCBpbnQgbWF4X2xlbiwKKwkJCSAgICAgaW50IGxlZnRfbGVuLCBpbnQgb3ZlcmZsb3dfbmwpCit7CisJaW50IGxlbiA9IHN0cmxlbihzdHIpICsgbGVmdF9sZW47CisJaW50IHJldCA9IDA7CisKKwlmcHV0cyhzdHIsIHN0ZG91dCk7CisJaWYgKG92ZXJmbG93X25sICYmIGxlbiA+IG1heF9sZW4pIHsKKwkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJbGVuID0gMDsKKwl9IGVsc2UgaWYgKGxlbiA+IG1heF9sZW4pCisJCXJldCA9IGxlbiAtIG1heF9sZW47CisJZG8geworCQlmcHV0YygnICcsIHN0ZG91dCk7CisJfSB3aGlsZSAobGVuKysgPCBtYXhfbGVuKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBwcmV0dHlfcHJpbnRfbGluZShjb25zdCBjaGFyICpkZXZpY2UsIGNvbnN0IGNoYXIgKmZzX3R5cGUsCisJCQkgICAgICBjb25zdCBjaGFyICpsYWJlbCwgY29uc3QgY2hhciAqbXRwdCwKKwkJCSAgICAgIGNvbnN0IGNoYXIgKnV1aWQpCit7CisJc3RhdGljIGludCBkZXZpY2VfbGVuID0gMTAsIGZzX3R5cGVfbGVuID0gNzsKKwlzdGF0aWMgaW50IGxhYmVsX2xlbiA9IDgsIG10cHRfbGVuID0gMTQ7CisJc3RhdGljIGludCB0ZXJtX3dpZHRoID0gLTE7CisJaW50IGxlbiwgdzsKKworCWlmICh0ZXJtX3dpZHRoIDwgMCkgeworCQl0ZXJtX3dpZHRoID0gZ2V0X3Rlcm1pbmFsX3dpZHRoKDgwKTsKKwl9CisJaWYgKHRlcm1fd2lkdGggPiA4MCkgeworCQl0ZXJtX3dpZHRoIC09IDgwOworCQl3ID0gdGVybV93aWR0aCAvIDEwOworCQlpZiAodyA+IDgpCisJCQl3ID0gODsKKwkJdGVybV93aWR0aCAtPSAyKnc7CisJCWxhYmVsX2xlbiArPSB3OworCQlmc190eXBlX2xlbiArPSB3OworCQl3ID0gdGVybV93aWR0aC8yOworCQlkZXZpY2VfbGVuICs9IHc7CisJCW10cHRfbGVuICs9dzsKKwl9CisKKwlsZW4gPSBwcmV0dHlfcHJpbnRfd29yZChkZXZpY2UsIGRldmljZV9sZW4sIDAsIDEpOworCWxlbiA9IHByZXR0eV9wcmludF93b3JkKGZzX3R5cGUsIGZzX3R5cGVfbGVuLCBsZW4sIDApOworCWxlbiA9IHByZXR0eV9wcmludF93b3JkKGxhYmVsLCBsYWJlbF9sZW4sIGxlbiwgMCk7CisJcHJldHR5X3ByaW50X3dvcmQobXRwdCwgbXRwdF9sZW4sIGxlbiwgMCk7CisKKwlmcHV0cyh1dWlkLCBzdGRvdXQpOworCWZwdXRjKCdcbicsIHN0ZG91dCk7Cit9CisKK3N0YXRpYyB2b2lkIHByZXR0eV9wcmludF9kZXYoYmxraWRfZGV2IGRldikKK3sKKwlibGtpZF90YWdfaXRlcmF0ZQlpdGVyOworCWNvbnN0IGNoYXIJCSp0eXBlLCAqdmFsdWUsICpkZXZuYW1lOworCWNvbnN0IGNoYXIJCSp1dWlkID0gIiIsICpmc190eXBlID0gIiIsICpsYWJlbCA9ICIiOworCWludAkJCWxlbiwgbW91bnRfZmxhZ3M7CisJY2hhcgkJCW10cHRbODBdOworCWludAkJCXJldHZhbDsKKworCWlmIChkZXYgPT0gTlVMTCkgeworCQlwcmV0dHlfcHJpbnRfbGluZSgiZGV2aWNlIiwgImZzX3R5cGUiLCAibGFiZWwiLAorCQkJCSAgIm1vdW50IHBvaW50IiwgIlVVSUQiKTsKKwkJZm9yIChsZW49Z2V0X3Rlcm1pbmFsX3dpZHRoKDApLTE7IGxlbiA+IDA7IGxlbi0tKQorCQkJZnB1dGMoJy0nLCBzdGRvdXQpOworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCQlyZXR1cm47CisJfQorCisJZGV2bmFtZSA9IGJsa2lkX2Rldl9kZXZuYW1lKGRldik7CisJaWYgKGFjY2VzcyhkZXZuYW1lLCBGX09LKSkKKwkJcmV0dXJuOworCisJLyogR2V0IHRoZSB1dWlkLCBsYWJlbCwgdHlwZSAqLworCWl0ZXIgPSBibGtpZF90YWdfaXRlcmF0ZV9iZWdpbihkZXYpOworCXdoaWxlIChibGtpZF90YWdfbmV4dChpdGVyLCAmdHlwZSwgJnZhbHVlKSA9PSAwKSB7CisJCWlmICghc3RyY21wKHR5cGUsICJVVUlEIikpCisJCQl1dWlkID0gdmFsdWU7CisJCWlmICghc3RyY21wKHR5cGUsICJUWVBFIikpCisJCQlmc190eXBlID0gdmFsdWU7CisJCWlmICghc3RyY21wKHR5cGUsICJMQUJFTCIpKQorCQkJbGFiZWwgPSB2YWx1ZTsKKwl9CisJYmxraWRfdGFnX2l0ZXJhdGVfZW5kKGl0ZXIpOworCisJLyogR2V0IHRoZSBtb3VudCBwb2ludCAqLworCW10cHRbMF0gPSAwOworCXJldHZhbCA9IGNoZWNrX21vdW50X3BvaW50KGRldm5hbWUsICZtb3VudF9mbGFncywgbXRwdCwgc2l6ZW9mKG10cHQpKTsKKwlpZiAocmV0dmFsID09IDApIHsKKwkJaWYgKG1vdW50X2ZsYWdzICYgTUZfTU9VTlRFRCkgeworCQkJaWYgKCFtdHB0WzBdKQorCQkJCXN0cmNweShtdHB0LCBfKCIobW91bnRlZCwgbXRwdCB1bmtub3duKSIpKTsKKwkJfSBlbHNlIGlmIChtb3VudF9mbGFncyAmIE1GX0JVU1kpCisJCQlzdHJjcHkobXRwdCwgXygiKGluIHVzZSkiKSk7CisJCWVsc2UKKwkJCXN0cmNweShtdHB0LCBfKCIobm90IG1vdW50ZWQpIikpOworCX0KKworCXByZXR0eV9wcmludF9saW5lKGRldm5hbWUsIGZzX3R5cGUsIGxhYmVsLCBtdHB0LCB1dWlkKTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfdWRldl9mb3JtYXQoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUpCit7CisJY2hhciBlbmNbMjY1XSwgc2FmZVsyNTZdOworCXNpemVfdCBuYW1lbGVuID0gc3RybGVuKG5hbWUpOworCisJKnNhZmUgPSAqZW5jID0gJ1wwJzsKKworCWlmICghc3RyY21wKG5hbWUsICJUWVBFIikgfHwgIXN0cmNtcChuYW1lLCAiVkVSU0lPTiIpKSB7CisJCWJsa2lkX2VuY29kZV9zdHJpbmcodmFsdWUsIGVuYywgc2l6ZW9mKGVuYykpOworCQlwcmludGYoIklEX0ZTXyVzPSVzXG4iLCBuYW1lLCBlbmMpOworCisJfSBlbHNlIGlmICghc3RyY21wKG5hbWUsICJVVUlEIikgfHwKKwkJICFzdHJuY21wKG5hbWUsICJMQUJFTCIsIDUpIHx8CisJCSAhc3RyY21wKG5hbWUsICJVVUlEX1NVQiIpKSB7CisKKwkJYmxraWRfc2FmZV9zdHJpbmcodmFsdWUsIHNhZmUsIHNpemVvZihzYWZlKSk7CisJCXByaW50ZigiSURfRlNfJXM9JXNcbiIsIG5hbWUsIHNhZmUpOworCisJCWJsa2lkX2VuY29kZV9zdHJpbmcodmFsdWUsIGVuYywgc2l6ZW9mKGVuYykpOworCQlwcmludGYoIklEX0ZTXyVzX0VOQz0lc1xuIiwgbmFtZSwgZW5jKTsKKworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiUFRVVUlEIikpIHsKKwkJcHJpbnRmKCJJRF9QQVJUX1RBQkxFX1VVSUQ9JXNcbiIsIHZhbHVlKTsKKworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiUFRUWVBFIikpIHsKKwkJcHJpbnRmKCJJRF9QQVJUX1RBQkxFX1RZUEU9JXNcbiIsIHZhbHVlKTsKKworCX0gZWxzZSBpZiAoIXN0cmNtcChuYW1lLCAiUEFSVF9FTlRSWV9OQU1FIikgfHwKKwkJICAhc3RyY21wKG5hbWUsICJQQVJUX0VOVFJZX1RZUEUiKSkgeworCisJCWJsa2lkX2VuY29kZV9zdHJpbmcodmFsdWUsIGVuYywgc2l6ZW9mKGVuYykpOworCQlwcmludGYoIklEXyVzPSVzXG4iLCBuYW1lLCBlbmMpOworCisJfSBlbHNlIGlmICghc3RybmNtcChuYW1lLCAiUEFSVF9FTlRSWV8iLCAxMSkpCisJCXByaW50ZigiSURfJXM9JXNcbiIsIG5hbWUsIHZhbHVlKTsKKworCWVsc2UgaWYgKG5hbWVsZW4gPj0gMTUgJiYgKAorCQkgICAhc3RyY21wKG5hbWUgKyAobmFtZWxlbiAtIDEyKSwgIl9TRUNUT1JfU0laRSIpIHx8CisJCSAgICFzdHJjbXAobmFtZSArIChuYW1lbGVuIC0gOCksICJfSU9fU0laRSIpIHx8CisJCSAgICFzdHJjbXAobmFtZSwgIkFMSUdOTUVOVF9PRkZTRVQiKSkpCisJCQlwcmludGYoIklEX0lPTElNSVRfJXM9JXNcbiIsIG5hbWUsIHZhbHVlKTsKKwllbHNlCisJCXByaW50ZigiSURfRlNfJXM9JXNcbiIsIG5hbWUsIHZhbHVlKTsKK30KKworc3RhdGljIGludCBoYXNfaXRlbShjb25zdCBzdHJ1Y3QgYmxraWRfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICppdGVtKQoreworCWNoYXIgKiBjb25zdCAqcDsKKworCWZvciAocCA9IGN0bC0+c2hvdzsgKnAgIT0gTlVMTDsgcCsrKQorCQlpZiAoIXN0cmNtcChpdGVtLCAqcCkpCisJCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfdmFsdWUoY29uc3Qgc3RydWN0IGJsa2lkX2NvbnRyb2wgKmN0bCwgaW50IG51bSwKKwkJCWNvbnN0IGNoYXIgKmRldm5hbWUsIGNvbnN0IGNoYXIgKnZhbHVlLAorCQkJY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IHZhbHN6KQoreworCWlmIChjdGwtPm91dHB1dCAmIE9VVFBVVF9WQUxVRV9PTkxZKSB7CisJCWZwdXRzKHZhbHVlLCBzdGRvdXQpOworCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCisJfSBlbHNlIGlmIChjdGwtPm91dHB1dCAmIE9VVFBVVF9VREVWX0xJU1QpIHsKKwkJcHJpbnRfdWRldl9mb3JtYXQobmFtZSwgdmFsdWUpOworCisJfSBlbHNlIGlmIChjdGwtPm91dHB1dCAmIE9VVFBVVF9FWFBPUlRfTElTVCkgeworCQlpZiAobnVtID09IDEgJiYgZGV2bmFtZSkKKwkJCXByaW50ZigiREVWTkFNRT0lc1xuIiwgZGV2bmFtZSk7CisJCWZwdXRzKG5hbWUsIHN0ZG91dCk7CisJCWZwdXRzKCI9Iiwgc3Rkb3V0KTsKKwkJc2FmZV9wcmludChjdGwsIHZhbHVlLCB2YWxzeiwgIiBcXFwiJyRgPD4iKTsKKwkJZnB1dHMoIlxuIiwgc3Rkb3V0KTsKKworCX0gZWxzZSB7CisJCWlmIChudW0gPT0gMSAmJiBkZXZuYW1lKQorCQkJcHJpbnRmKCIlczoiLCBkZXZuYW1lKTsKKwkJZnB1dHMoIiAiLCBzdGRvdXQpOworCQlmcHV0cyhuYW1lLCBzdGRvdXQpOworCQlmcHV0cygiPVwiIiwgc3Rkb3V0KTsKKwkJc2FmZV9wcmludChjdGwsIHZhbHVlLCB2YWxzeiwgIlwiXFwiKTsKKwkJZnB1dHMoIlwiIiwgc3Rkb3V0KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X3RhZ3MoY29uc3Qgc3RydWN0IGJsa2lkX2NvbnRyb2wgKmN0bCwgYmxraWRfZGV2IGRldikKK3sKKwlibGtpZF90YWdfaXRlcmF0ZQlpdGVyOworCWNvbnN0IGNoYXIJCSp0eXBlLCAqdmFsdWUsICpkZXZuYW1lOworCWludAkJCW51bSA9IDE7CisJc3RhdGljIGludAkJZmlyc3QgPSAxOworCisJaWYgKCFkZXYpCisJCXJldHVybjsKKworCWlmIChjdGwtPm91dHB1dCAmIE9VVFBVVF9QUkVUVFlfTElTVCkgeworCQlwcmV0dHlfcHJpbnRfZGV2KGRldik7CisJCXJldHVybjsKKwl9CisKKwlkZXZuYW1lID0gYmxraWRfZGV2X2Rldm5hbWUoZGV2KTsKKworCWlmIChjdGwtPm91dHB1dCAmIE9VVFBVVF9ERVZJQ0VfT05MWSkgeworCQlwcmludGYoIiVzXG4iLCBkZXZuYW1lKTsKKwkJcmV0dXJuOworCX0KKworCWl0ZXIgPSBibGtpZF90YWdfaXRlcmF0ZV9iZWdpbihkZXYpOworCXdoaWxlIChibGtpZF90YWdfbmV4dChpdGVyLCAmdHlwZSwgJnZhbHVlKSA9PSAwKSB7CisJCWlmIChjdGwtPnNob3dbMF0gJiYgIWhhc19pdGVtKGN0bCwgdHlwZSkpCisJCQljb250aW51ZTsKKworCQlpZiAobnVtID09IDEgJiYgIWZpcnN0ICYmCisJCSAgICAoY3RsLT5vdXRwdXQgJiAoT1VUUFVUX1VERVZfTElTVCB8IE9VVFBVVF9FWFBPUlRfTElTVCkpKQorCQkJLyogYWRkIGV4dHJhIGxpbmUgYmV0d2VlbiBvdXRwdXQgZnJvbSBtb3JlIGRldmljZXMgKi8KKwkJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisKKwkJcHJpbnRfdmFsdWUoY3RsLCBudW0rKywgZGV2bmFtZSwgdmFsdWUsIHR5cGUsIHN0cmxlbih2YWx1ZSkpOworCX0KKwlibGtpZF90YWdfaXRlcmF0ZV9lbmQoaXRlcik7CisKKwlpZiAobnVtID4gMSkgeworCQlpZiAoIShjdGwtPm91dHB1dCAmIChPVVRQVVRfVkFMVUVfT05MWSB8IE9VVFBVVF9VREVWX0xJU1QgfAorCQkJCQkJT1VUUFVUX0VYUE9SVF9MSVNUKSkpCisJCQlwcmludGYoIlxuIik7CisJCWZpcnN0ID0gMDsKKwl9Cit9CisKKworc3RhdGljIGludCBhcHBlbmRfc3RyKGNoYXIgKipyZXMsIHNpemVfdCAqc3osIGNvbnN0IGNoYXIgKmEsIGNvbnN0IGNoYXIgKmIpCit7CisJY2hhciAqc3RyID0gKnJlczsKKwlzaXplX3QgYXN6ID0gYSA/IHN0cmxlbihhKSA6IDA7CisJc2l6ZV90IGJzeiA9IGIgPyBzdHJsZW4oYikgOiAwOworCXNpemVfdCBsZW4gPSAqc3ogKyBhc3ogKyBic3o7CisKKwlpZiAoIWxlbikKKwkJcmV0dXJuIC0xOworCisJKnJlcyA9IHN0ciA9IHhyZWFsbG9jKHN0ciwgbGVuICsgMSk7CisJc3RyICs9ICpzejsKKworCWlmIChhKSB7CisJCW1lbWNweShzdHIsIGEsIGFzeik7CisJCXN0ciArPSBhc3o7CisJfQorCWlmIChiKSB7CisJCW1lbWNweShzdHIsIGIsIGJzeik7CisJCXN0ciArPSBic3o7CisJfQorCSpzdHIgPSAnXDAnOworCSpzeiA9IGxlbjsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIENvbXBvc2UgYW5kIHByaW50IElEX0ZTX0FNQklWQUxFTlQgZm9yIHVkZXYKKyAqLworc3RhdGljIGludCBwcmludF91ZGV2X2FtYml2YWxlbnQoYmxraWRfcHJvYmUgcHIpCit7CisJY2hhciAqdmFsID0gTlVMTDsKKwlzaXplX3QgdmFsc3ogPSAwOworCWludCBjb3VudCA9IDAsIHJjID0gLTE7CisKKwl3aGlsZSAoIWJsa2lkX2RvX3Byb2JlKHByKSkgeworCQljb25zdCBjaGFyICp1c2FnZV90eHQgPSBOVUxMLCAqdHlwZSA9IE5VTEwsICp2ZXJzaW9uID0gTlVMTDsKKwkJY2hhciBlbmNbMjU2XTsKKworCQlibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVU0FHRSIsICZ1c2FnZV90eHQsIE5VTEwpOworCQlibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgJnR5cGUsIE5VTEwpOworCQlibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJWRVJTSU9OIiwgJnZlcnNpb24sIE5VTEwpOworCisJCWlmICghdXNhZ2VfdHh0IHx8ICF0eXBlKQorCQkJY29udGludWU7CisKKwkJYmxraWRfZW5jb2RlX3N0cmluZyh1c2FnZV90eHQsIGVuYywgc2l6ZW9mKGVuYykpOworCQlpZiAoYXBwZW5kX3N0cigmdmFsLCAmdmFsc3osIGVuYywgIjoiKSkKKwkJCWdvdG8gZG9uZTsKKworCQlibGtpZF9lbmNvZGVfc3RyaW5nKHR5cGUsIGVuYywgc2l6ZW9mKGVuYykpOworCQlpZiAoYXBwZW5kX3N0cigmdmFsLCAmdmFsc3osIGVuYywgdmVyc2lvbiA/ICI6IiA6ICIgIikpCisJCQlnb3RvIGRvbmU7CisKKwkJaWYgKHZlcnNpb24pIHsKKwkJCWJsa2lkX2VuY29kZV9zdHJpbmcodmVyc2lvbiwgZW5jLCBzaXplb2YoZW5jKSk7CisJCQlpZiAoYXBwZW5kX3N0cigmdmFsLCAmdmFsc3osIGVuYywgIiAiKSkKKwkJCQlnb3RvIGRvbmU7CisJCX0KKwkJY291bnQrKzsKKwl9CisKKwlpZiAoY291bnQgPiAxKSB7CisJCSoodmFsICsgdmFsc3ogLSAxKSA9ICdcMCc7CQkvKiByZW0gdGFpbGluZyB3aGl0ZXNwYWNlICovCisJCXByaW50ZigiSURfRlNfQU1CSVZBTEVOVD0lc1xuIiwgdmFsKTsKKwkJcmMgPSAwOworCX0KK2RvbmU6CisJZnJlZSh2YWwpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBsb3dwcm9iZV9zdXBlcmJsb2NrcyhibGtpZF9wcm9iZSBwcikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgcmMsIGZkID0gYmxraWRfcHJvYmVfZ2V0X2ZkKHByKTsKKworCWlmIChmZCA8IDAgfHwgZnN0YXQoZmQsICZzdCkpCisJCXJldHVybiAtMTsKKworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAxKTsKKworCWlmICghU19JU0NIUihzdC5zdF9tb2RlKSAmJiBibGtpZF9wcm9iZV9nZXRfc2l6ZShwcikgPD0gMTAyNCAqIDE0NDAgJiYKKwkgICAgYmxraWRfcHJvYmVfaXNfd2hvbGVkaXNrKHByKSkgeworCQkvKgorCQkgKiBjaGVjayBpZiB0aGUgc21hbGwgZGlzayBpcyBwYXJ0aXRpb25lZCwgaWYgeWVzIHRoZW4KKwkJICogZG9uJ3QgcHJvYmUgZm9yIGZpbGVzeXN0ZW1zLgorCQkgKi8KKwkJYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKHByLCAwKTsKKworCQlyYyA9IGJsa2lkX2RvX2Z1bGxwcm9iZShwcik7CisJCWlmIChyYyA8IDApCisJCQlyZXR1cm4gcmM7CS8qIC0xID0gZXJyb3IsIDEgPSBub3RoaW5nLCAwID0gc3VjY2VzcyAqLworCisJCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVFRZUEUiLCBOVUxMLCBOVUxMKSA9PSAwKQorCQkJcmV0dXJuIDA7CS8qIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCAqLworCX0KKworCWJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKHByLCBCTEtJRF9QQVJUU19FTlRSWV9ERVRBSUxTKTsKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCisJcmV0dXJuIGJsa2lkX2RvX3NhZmVwcm9iZShwcik7Cit9CisKK3N0YXRpYyBpbnQgbG93cHJvYmVfdG9wb2xvZ3koYmxraWRfcHJvYmUgcHIpCit7CisJLyogZW5hYmxlIHRvcG9sb2d5IHByb2Jpbmcgb25seSAqLworCWJsa2lkX3Byb2JlX2VuYWJsZV90b3BvbG9neShwciwgMSk7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDApOworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAwKTsKKworCXJldHVybiBibGtpZF9kb19mdWxscHJvYmUocHIpOworfQorCitzdGF0aWMgaW50IGxvd3Byb2JlX2RldmljZShibGtpZF9wcm9iZSBwciwgY29uc3QgY2hhciAqZGV2bmFtZSwKKwkJCSAgIHN0cnVjdCBibGtpZF9jb250cm9sICpjdGwpCit7CisJY29uc3QgY2hhciAqZGF0YTsKKwljb25zdCBjaGFyICpuYW1lOworCWludCBudmFscyA9IDAsIG4sIG51bSA9IDE7CisJc2l6ZV90IGxlbjsKKwlpbnQgZmQ7CisJaW50IHJjID0gMDsKKwlzdGF0aWMgaW50IGZpcnN0ID0gMTsKKworCWZkID0gb3BlbihkZXZuYW1lLCBPX1JET05MWXxPX0NMT0VYRUMpOworCWlmIChmZCA8IDApIHsKKwkJd2FybihfKCJlcnJvcjogJXMiKSwgZGV2bmFtZSk7CisJCXJldHVybiBCTEtJRF9FWElUX05PVEZPVU5EOworCX0KKwlpZiAoYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgZmQsIGN0bC0+b2Zmc2V0LCBjdGwtPnNpemUpKQorCQlnb3RvIGRvbmU7CisKKwlpZiAoY3RsLT5sb3dwcm9iZV90b3BvbG9neSkKKwkJcmMgPSBsb3dwcm9iZV90b3BvbG9neShwcik7CisJaWYgKHJjID49IDAgJiYgY3RsLT5sb3dwcm9iZV9zdXBlcmJsb2NrcykKKwkJcmMgPSBsb3dwcm9iZV9zdXBlcmJsb2Nrcyhwcik7CisJaWYgKHJjIDwgMCkKKwkJZ290byBkb25lOworCisJaWYgKCFyYykKKwkJbnZhbHMgPSBibGtpZF9wcm9iZV9udW1vZl92YWx1ZXMocHIpOworCisJaWYgKG52YWxzICYmICFmaXJzdCAmJiBjdGwtPm91dHB1dCAmIChPVVRQVVRfVURFVl9MSVNUIHwgT1VUUFVUX0VYUE9SVF9MSVNUKSkKKwkJLyogYWRkIGV4dHJhIGxpbmUgYmV0d2VlbiBvdXRwdXQgZnJvbSBkZXZpY2VzICovCisJCWZwdXRjKCdcbicsIHN0ZG91dCk7CisKKwlpZiAobnZhbHMgJiYgKGN0bC0+b3V0cHV0ICYgT1VUUFVUX0RFVklDRV9PTkxZKSkgeworCQlwcmludGYoIiVzXG4iLCBkZXZuYW1lKTsKKwkJZ290byBkb25lOworCX0KKworCWZvciAobiA9IDA7IG4gPCBudmFsczsgbisrKSB7CisJCWlmIChibGtpZF9wcm9iZV9nZXRfdmFsdWUocHIsIG4sICZuYW1lLCAmZGF0YSwgJmxlbikpCisJCQljb250aW51ZTsKKwkJaWYgKGN0bC0+c2hvd1swXSAmJiAhaGFzX2l0ZW0oY3RsLCBuYW1lKSkKKwkJCWNvbnRpbnVlOworCQlsZW4gPSBzdHJubGVuKChjaGFyICopIGRhdGEsIGxlbik7CisJCXByaW50X3ZhbHVlKGN0bCwgbnVtKyssIGRldm5hbWUsIChjaGFyICopIGRhdGEsIG5hbWUsIGxlbik7CisJfQorCisJaWYgKGZpcnN0KQorCQlmaXJzdCA9IDA7CisKKwlpZiAobnZhbHMgPj0gMSAmJiAhKGN0bC0+b3V0cHV0ICYgKE9VVFBVVF9WQUxVRV9PTkxZIHwKKwkJCQkJT1VUUFVUX1VERVZfTElTVCB8IE9VVFBVVF9FWFBPUlRfTElTVCkpKQorCQlwcmludGYoIlxuIik7Citkb25lOgorCWlmIChyYyA9PSAtMikgeworCQlpZiAoY3RsLT5vdXRwdXQgJiBPVVRQVVRfVURFVl9MSVNUKQorCQkJcHJpbnRfdWRldl9hbWJpdmFsZW50KHByKTsKKwkJZWxzZQorCQkJd2FybngoXygiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlICIKKwkJCQkiZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSAiCisJCQkJInRvIHNlZSBtb3JlIGRldGFpbHMpIiksCisJCQkJZGV2bmFtZSk7CisJfQorCWNsb3NlKGZkKTsKKworCWlmIChyYyA9PSAtMikKKwkJcmV0dXJuIEJMS0lEX0VYSVRfQU1CSVZBTDsJLyogYW1iaXZhbGVudCBwcm9iaW5nIHJlc3VsdCAqLworCWlmICghbnZhbHMpCisJCXJldHVybiBCTEtJRF9FWElUX05PVEZPVU5EOwkvKiBub3RoaW5nIGRldGVjdGVkICovCisKKwlyZXR1cm4gMDsJCS8qIHN1Y2Nlc3MgKi8KK30KKworLyogY29udmVydHMgY29tbWEgc2VwYXJhdGVkIGxpc3QgdG8gQkxLSURfVVNBR0VfKiBtYXNrICovCitzdGF0aWMgaW50IGxpc3RfdG9fdXNhZ2UoY29uc3QgY2hhciAqbGlzdCwgaW50ICpmbGFnKQoreworCWludCBtYXNrID0gMDsKKwljb25zdCBjaGFyICp3b3JkID0gTlVMTCwgKnAgPSBsaXN0OworCisJaWYgKHAgJiYgc3RybmNtcChwLCAibm8iLCAyKSA9PSAwKSB7CisJCSpmbGFnID0gQkxLSURfRkxUUl9OT1RJTjsKKwkJcCArPSAyOworCX0KKwlpZiAoIXAgfHwgISpwKQorCQlnb3RvIGVycjsKKwl3aGlsZShwKSB7CisJCXdvcmQgPSBwOworCQlwID0gc3RyY2hyKHAsICcsJyk7CisJCWlmIChwKQorCQkJcCsrOworCQlpZiAoIXN0cm5jbXAod29yZCwgImZpbGVzeXN0ZW0iLCAxMCkpCisJCQltYXNrIHw9IEJMS0lEX1VTQUdFX0ZJTEVTWVNURU07CisJCWVsc2UgaWYgKCFzdHJuY21wKHdvcmQsICJyYWlkIiwgNCkpCisJCQltYXNrIHw9IEJMS0lEX1VTQUdFX1JBSUQ7CisJCWVsc2UgaWYgKCFzdHJuY21wKHdvcmQsICJjcnlwdG8iLCA2KSkKKwkJCW1hc2sgfD0gQkxLSURfVVNBR0VfQ1JZUFRPOworCQllbHNlIGlmICghc3RybmNtcCh3b3JkLCAib3RoZXIiLCA1KSkKKwkJCW1hc2sgfD0gQkxLSURfVVNBR0VfT1RIRVI7CisJCWVsc2UKKwkJCWdvdG8gZXJyOworCX0KKwlyZXR1cm4gbWFzazsKK2VycjoKKwkqZmxhZyA9IDA7CisJd2FybngoXygidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIpLAorCQkJd29yZCA/IHdvcmQgOiBsaXN0KTsKKwlleGl0KEJMS0lEX0VYSVRfT1RIRVIpOworfQorCisvKiBjb252ZXJ0cyBjb21tYSBzZXBhcmF0ZWQgbGlzdCB0byB0eXBlc1tdICovCitzdGF0aWMgY2hhciAqKmxpc3RfdG9fdHlwZXMoY29uc3QgY2hhciAqbGlzdCwgaW50ICpmbGFnKQoreworCWludCBpOworCWNvbnN0IGNoYXIgKnAgPSBsaXN0OworCWNoYXIgKipyZXMgPSBOVUxMOworCisJaWYgKHAgJiYgc3RybmNtcChwLCAibm8iLCAyKSA9PSAwKSB7CisJCSpmbGFnID0gQkxLSURfRkxUUl9OT1RJTjsKKwkJcCArPSAyOworCX0KKwlpZiAoIXAgfHwgISpwKSB7CisJCXdhcm54KF8oImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiKSk7CisJCWdvdG8gZXJyOworCX0KKwlmb3IgKGkgPSAxOyBwICYmIChwID0gc3RyY2hyKHAsICcsJykpOyBpKyssIHArKyk7CisKKwlyZXMgPSB4Y2FsbG9jKGkgKyAxLCBzaXplb2YoY2hhciAqKSk7CisJcCA9ICpmbGFnICYgQkxLSURfRkxUUl9OT1RJTiA/IGxpc3QgKyAyIDogbGlzdDsKKwlpID0gMDsKKworCXdoaWxlKHApIHsKKwkJY29uc3QgY2hhciAqd29yZCA9IHA7CisJCXAgPSBzdHJjaHIocCwgJywnKTsKKwkJcmVzW2krK10gPSBwID8geHN0cm5kdXAod29yZCwgcCAtIHdvcmQpIDogeHN0cmR1cCh3b3JkKTsKKwkJaWYgKHApCisJCQlwKys7CisJfQorCXJlc1tpXSA9IE5VTEw7CisJcmV0dXJuIHJlczsKK2VycjoKKwkqZmxhZyA9IDA7CisJZnJlZShyZXMpOworCWV4aXQoQkxLSURfRVhJVF9PVEhFUik7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfdHlwZXNfbGlzdChjaGFyICpsaXN0W10pCit7CisJY2hhciAqKm47CisKKwlpZiAoIWxpc3QpCisJCXJldHVybjsKKwlmb3IgKG4gPSBsaXN0OyAqbjsgbisrKQorCQlmcmVlKCpuKTsKKwlmcmVlKGxpc3QpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IGJsa2lkX2NvbnRyb2wgY3RsID0geyAub3V0cHV0ID0gT1VUUFVUX0ZVTEwsIDAgfTsKKwlibGtpZF9jYWNoZSBjYWNoZSA9IE5VTEw7CisJY2hhciAqKmRldmljZXMgPSBOVUxMOworCWNoYXIgKnNlYXJjaF90eXBlID0gTlVMTCwgKnNlYXJjaF92YWx1ZSA9IE5VTEw7CisJY2hhciAqcmVhZCA9IE5VTEw7CisJaW50IGZsdHJfdXNhZ2UgPSAwOworCWNoYXIgKipmbHRyX3R5cGUgPSBOVUxMOworCWludCBmbHRyX2ZsYWcgPSBCTEtJRF9GTFRSX09OTFlJTjsKKwl1bnNpZ25lZCBpbnQgbnVtZGV2ID0gMCwgbnVtdGFnID0gMDsKKwlpbnQgZXJyID0gQkxLSURfRVhJVF9PVEhFUjsKKwl1bnNpZ25lZCBpbnQgaTsKKwlpbnQgYzsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImNhY2hlLWZpbGUiLAkgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2MnIH0sCisJCXsgIm5vLWVuY29kaW5nIiwgICAgICBub19hcmd1bWVudCwJIE5VTEwsICdkJyB9LAorCQl7ICJnYXJiYWdlLWNvbGxlY3QiLCAgbm9fYXJndW1lbnQsCSBOVUxMLCAnZycgfSwKKwkJeyAib3V0cHV0IiwJICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCQl7ICJsaXN0LWZpbGVzeXN0ZW1zIiwgbm9fYXJndW1lbnQsCSBOVUxMLCAnaycgfSwKKwkJeyAibWF0Y2gtdGFnIiwJICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdzJyB9LAorCQl7ICJtYXRjaC10b2tlbiIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0JyB9LAorCQl7ICJsaXN0LW9uZSIsCSAgICAgIG5vX2FyZ3VtZW50LAkgTlVMTCwgJ2wnIH0sCisJCXsgImxhYmVsIiwJICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdMJyB9LAorCQl7ICJ1dWlkIiwJICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdVJyB9LAorCQl7ICJwcm9iZSIsCSAgICAgIG5vX2FyZ3VtZW50LAkgTlVMTCwgJ3AnIH0sCisJCXsgImluZm8iLAkgICAgICBub19hcmd1bWVudCwJIE5VTEwsICdpJyB9LAorCQl7ICJzaXplIiwJICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdTJyB9LAorCQl7ICJvZmZzZXQiLAkgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ08nIH0sCisJCXsgInVzYWdlcyIsCSAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndScgfSwKKwkJeyAibWF0Y2gtdHlwZXMiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkJeyAidmVyc2lvbiIsCSAgICAgIG5vX2FyZ3VtZW50LAkgTlVMTCwgJ1YnIH0sCisJCXsgImhlbHAiLAkgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0geyAgICAgICAvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ24nLCd1JyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXN0cnV0aWxzX3NldF9leGl0Y29kZShCTEtJRF9FWElUX09USEVSKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2LAorCQkJICAgICJjOmRnaGlsTDpuOmtvOk86cHM6Uzp0OnU6VTp3OlZ2IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBOVUxMLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYyc6CisJCQlyZWFkID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJY3RsLnJhd19jaGFycyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQljdGwuZXZhbCA9IDE7CisJCQlzZWFyY2hfdmFsdWUgPSB4c3RyZHVwKG9wdGFyZyk7CisJCQlzZWFyY2hfdHlwZSA9IHhzdHJkdXAoIkxBQkVMIik7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlmbHRyX3R5cGUgPSBsaXN0X3RvX3R5cGVzKG9wdGFyZywgJmZsdHJfZmxhZyk7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlmbHRyX3VzYWdlID0gbGlzdF90b191c2FnZShvcHRhcmcsICZmbHRyX2ZsYWcpOworCQkJYnJlYWs7CisJCWNhc2UgJ1UnOgorCQkJY3RsLmV2YWwgPSAxOworCQkJc2VhcmNoX3ZhbHVlID0geHN0cmR1cChvcHRhcmcpOworCQkJc2VhcmNoX3R5cGUgPSB4c3RyZHVwKCJVVUlEIik7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQljdGwubG93cHJvYmVfdG9wb2xvZ3kgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJY3RsLmxvb2t1cCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZyc6CisJCQljdGwuZ2MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2snOgorCQl7CisJCQlzaXplX3QgaWR4ID0gMDsKKwkJCWNvbnN0IGNoYXIgKm5hbWUgPSBOVUxMOworCisJCQl3aGlsZSAoYmxraWRfc3VwZXJibG9ja3NfZ2V0X25hbWUoaWR4KyssICZuYW1lLCBOVUxMKSA9PSAwKQorCQkJCXByaW50ZigiJXNcbiIsIG5hbWUpOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQl9CisJCWNhc2UgJ28nOgorCQkJaWYgKCFzdHJjbXAob3B0YXJnLCAidmFsdWUiKSkKKwkJCQljdGwub3V0cHV0ID0gT1VUUFVUX1ZBTFVFX09OTFk7CisJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgImRldmljZSIpKQorCQkJCWN0bC5vdXRwdXQgPSBPVVRQVVRfREVWSUNFX09OTFk7CisJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgImxpc3QiKSkKKwkJCQljdGwub3V0cHV0ID0gT1VUUFVUX1BSRVRUWV9MSVNUOwkvKiBkZXByZWNhdGVkICovCisJCQllbHNlIGlmICghc3RyY21wKG9wdGFyZywgInVkZXYiKSkKKwkJCQljdGwub3V0cHV0ID0gT1VUUFVUX1VERVZfTElTVDsKKwkJCWVsc2UgaWYgKCFzdHJjbXAob3B0YXJnLCAiZXhwb3J0IikpCisJCQkJY3RsLm91dHB1dCA9IE9VVFBVVF9FWFBPUlRfTElTVDsKKwkJCWVsc2UgaWYgKCFzdHJjbXAob3B0YXJnLCAiZnVsbCIpKQorCQkJCWN0bC5vdXRwdXQgPSAwOworCQkJZWxzZQorCQkJCWVycngoQkxLSURfRVhJVF9PVEhFUiwgXygidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIpLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ08nOgorCQkJY3RsLm9mZnNldCA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWN0bC5sb3dwcm9iZV9zdXBlcmJsb2NrcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlpZiAobnVtdGFnICsgMSA+PSBzaXplb2YoY3RsLnNob3cpIC8gc2l6ZW9mKCpjdGwuc2hvdykpIHsKKwkJCQl3YXJueChfKCJUb28gbWFueSB0YWdzIHNwZWNpZmllZCIpKTsKKwkJCQllcnJ0cnloZWxwKGVycik7CisJCQl9CisJCQljdGwuc2hvd1tudW10YWcrK10gPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQljdGwuc2l6ZSA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHNpemUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQlpZiAoc2VhcmNoX3R5cGUpIHsKKwkJCQl3YXJueChfKCJDYW4gb25seSBzZWFyY2ggZm9yICIKKwkJCQkJIm9uZSBOQU1FPXZhbHVlIHBhaXIiKSk7CisJCQkJZXJydHJ5aGVscChlcnIpOworCQkJfQorCQkJaWYgKGJsa2lkX3BhcnNlX3RhZ19zdHJpbmcob3B0YXJnLAorCQkJCQkJICAgJnNlYXJjaF90eXBlLAorCQkJCQkJICAgJnNlYXJjaF92YWx1ZSkpIHsKKwkJCQl3YXJueChfKCItdCBuZWVkcyBOQU1FPXZhbHVlIHBhaXIiKSk7CisJCQkJZXJydHJ5aGVscChlcnIpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQljYXNlICd2JzoKKwkJCXByaW50X3ZlcnNpb24oc3Rkb3V0KTsKKwkJCWVyciA9IDA7CisJCQlnb3RvIGV4aXQ7CisJCWNhc2UgJ3cnOgorCQkJLyogaWdub3JlIC0gYmFja3dhcmQgY29tcGF0aWJpbGl0eSAqLworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKGN0bC5sb3dwcm9iZV90b3BvbG9neSB8fCBjdGwubG93cHJvYmVfc3VwZXJibG9ja3MpCisJCWN0bC5sb3dwcm9iZSA9IDE7CisKKwkvKiBUaGUgcmVzdCBvZiB0aGUgYXJncyBhcmUgZGV2aWNlIG5hbWVzICovCisJaWYgKG9wdGluZCA8IGFyZ2MpIHsKKwkJZGV2aWNlcyA9IHhjYWxsb2MoYXJnYyAtIG9wdGluZCwgc2l6ZW9mKGNoYXIgKikpOworCQl3aGlsZSAob3B0aW5kIDwgYXJnYykKKwkJCWRldmljZXNbbnVtZGV2KytdID0gYXJndltvcHRpbmQrK107CisJfQorCisJLyogY29udmVydCBMQUJFTC9VVUlEIGxvb2t1cCB0byBldmFsdWF0ZSByZXF1ZXN0ICovCisJaWYgKGN0bC5sb29rdXAgJiYgY3RsLm91dHB1dCA9PSBPVVRQVVRfREVWSUNFX09OTFkgJiYgc2VhcmNoX3R5cGUgJiYKKwkgICAgKCFzdHJjbXAoc2VhcmNoX3R5cGUsICJMQUJFTCIpIHx8ICFzdHJjbXAoc2VhcmNoX3R5cGUsICJVVUlEIikpKSB7CisJCWN0bC5ldmFsID0gMTsKKwkJY3RsLmxvb2t1cCA9IDA7CisJfQorCisJaWYgKCFjdGwubG93cHJvYmUgJiYgIWN0bC5ldmFsICYmIGJsa2lkX2dldF9jYWNoZSgmY2FjaGUsIHJlYWQpIDwgMCkKKwkJZ290byBleGl0OworCisJaWYgKGN0bC5nYykgeworCQlibGtpZF9nY19jYWNoZShjYWNoZSk7CisJCWVyciA9IDA7CisJCWdvdG8gZXhpdDsKKwl9CisJZXJyID0gQkxLSURfRVhJVF9OT1RGT1VORDsKKworCWlmIChjdGwuZXZhbCA9PSAwICYmIChjdGwub3V0cHV0ICYgT1VUUFVUX1BSRVRUWV9MSVNUKSkgeworCQlpZiAoY3RsLmxvd3Byb2JlKQorCQkJZXJyeChCTEtJRF9FWElUX09USEVSLAorCQkJICAgICBfKCJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCAiCisJCQkgICAgICAgInN1cHBvcnQgJ2xpc3QnIG91dHB1dCBmb3JtYXQiKSk7CisJCXByZXR0eV9wcmludF9kZXYoTlVMTCk7CisJfQorCisJaWYgKGN0bC5sb3dwcm9iZSkgeworCQkvKgorCQkgKiBMb3ctbGV2ZWwgQVBJCisJCSAqLworCQlibGtpZF9wcm9iZSBwcjsKKworCQlpZiAoIW51bWRldikKKwkJCWVycngoQkxLSURfRVhJVF9PVEhFUiwKKwkJCSAgICAgXygiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgIgorCQkJICAgICAgICJyZXF1aXJlcyBhIGRldmljZSIpKTsKKworCQkvKiBhdXRvbWF0aWNhbGx5IGVuYWJsZSAnZXhwb3J0JyBmb3JtYXQgZm9yIEkvTyBMaW1pdHMgKi8KKwkJaWYgKCFjdGwub3V0cHV0ICAmJiBjdGwubG93cHJvYmVfdG9wb2xvZ3kpCisJCQljdGwub3V0cHV0ID0gT1VUUFVUX0VYUE9SVF9MSVNUOworCisJCXByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJCWlmICghcHIpCisJCQlnb3RvIGV4aXQ7CisKKwkJaWYgKGN0bC5sb3dwcm9iZV9zdXBlcmJsb2NrcykgeworCQkJYmxraWRfcHJvYmVfc2V0X3N1cGVyYmxvY2tzX2ZsYWdzKHByLAorCQkJCUJMS0lEX1NVQkxLU19MQUJFTCB8IEJMS0lEX1NVQkxLU19VVUlEIHwKKwkJCQlCTEtJRF9TVUJMS1NfVFlQRSB8IEJMS0lEX1NVQkxLU19TRUNUWVBFIHwKKwkJCQlCTEtJRF9TVUJMS1NfVVNBR0UgfCBCTEtJRF9TVUJMS1NfVkVSU0lPTik7CisKKworCQkJaWYgKGZsdHJfdXNhZ2UgJiYKKwkJCSAgICBibGtpZF9wcm9iZV9maWx0ZXJfc3VwZXJibG9ja3NfdXNhZ2UocHIsIGZsdHJfZmxhZywgZmx0cl91c2FnZSkpCisJCQkJZ290byBleGl0OworCisJCQllbHNlIGlmIChmbHRyX3R5cGUgJiYKKwkJCQkgYmxraWRfcHJvYmVfZmlsdGVyX3N1cGVyYmxvY2tzX3R5cGUocHIsIGZsdHJfZmxhZywgZmx0cl90eXBlKSkKKwkJCQlnb3RvIGV4aXQ7CisJCX0KKworCQlmb3IgKGkgPSAwOyBpIDwgbnVtZGV2OyBpKyspIHsKKwkJCWVyciA9IGxvd3Byb2JlX2RldmljZShwciwgZGV2aWNlc1tpXSwgJmN0bCk7CisJCQlpZiAoZXJyKQorCQkJCWJyZWFrOworCQl9CisJCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCX0gZWxzZSBpZiAoY3RsLmV2YWwpIHsKKwkJLyoKKwkJICogRXZhbHVhdGUgQVBJCisJCSAqLworCQljaGFyICpyZXMgPSBibGtpZF9ldmFsdWF0ZV90YWcoc2VhcmNoX3R5cGUsIHNlYXJjaF92YWx1ZSwgTlVMTCk7CisJCWlmIChyZXMpIHsKKwkJCWVyciA9IDA7CisJCQlwcmludGYoIiVzXG4iLCByZXMpOworCQl9CisJfSBlbHNlIGlmIChjdGwubG9va3VwKSB7CisJCS8qCisJCSAqIENsYXNzaWMgKGNhY2hlIGJhc2VkKSBBUEkKKwkJICovCisJCWJsa2lkX2RldiBkZXY7CisKKwkJaWYgKCFzZWFyY2hfdHlwZSkKKwkJCWVycngoQkxLSURfRVhJVF9PVEhFUiwKKwkJCSAgICAgXygiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSAiCisJCQkgICAgICAgInNlYXJjaCB0eXBlIHNwZWNpZmllZCB1c2luZyAtdCIpKTsKKwkJLyogTG9hZCBhbnkgYWRkaXRpb25hbCBkZXZpY2VzIG5vdCBpbiB0aGUgY2FjaGUgKi8KKwkJZm9yIChpID0gMDsgaSA8IG51bWRldjsgaSsrKQorCQkJYmxraWRfZ2V0X2RldihjYWNoZSwgZGV2aWNlc1tpXSwgQkxLSURfREVWX05PUk1BTCk7CisKKwkJaWYgKChkZXYgPSBibGtpZF9maW5kX2Rldl93aXRoX3RhZyhjYWNoZSwgc2VhcmNoX3R5cGUsCisJCQkJCQkgICBzZWFyY2hfdmFsdWUpKSkgeworCQkJcHJpbnRfdGFncygmY3RsLCBkZXYpOworCQkJZXJyID0gMDsKKwkJfQorCS8qIElmIHdlIGRpZG4ndCBzcGVjaWZ5IGEgc2luZ2xlIGRldmljZSwgc2hvdyBhbGwgYXZhaWxhYmxlIGRldmljZXMgKi8KKwl9IGVsc2UgaWYgKCFudW1kZXYpIHsKKwkJYmxraWRfZGV2X2l0ZXJhdGUJaXRlcjsKKwkJYmxraWRfZGV2CQlkZXY7CisKKwkJYmxraWRfcHJvYmVfYWxsKGNhY2hlKTsKKworCQlpdGVyID0gYmxraWRfZGV2X2l0ZXJhdGVfYmVnaW4oY2FjaGUpOworCQlibGtpZF9kZXZfc2V0X3NlYXJjaChpdGVyLCBzZWFyY2hfdHlwZSwgc2VhcmNoX3ZhbHVlKTsKKwkJd2hpbGUgKGJsa2lkX2Rldl9uZXh0KGl0ZXIsICZkZXYpID09IDApIHsKKwkJCWRldiA9IGJsa2lkX3ZlcmlmeShjYWNoZSwgZGV2KTsKKwkJCWlmICghZGV2KQorCQkJCWNvbnRpbnVlOworCQkJcHJpbnRfdGFncygmY3RsLCBkZXYpOworCQkJZXJyID0gMDsKKwkJfQorCQlibGtpZF9kZXZfaXRlcmF0ZV9lbmQoaXRlcik7CisJLyogQWRkIGFsbCBzcGVjaWZpZWQgZGV2aWNlcyB0byBjYWNoZSAob3B0aW9uYWxseSBkaXNwbGF5IHRhZ3MpICovCisJfSBlbHNlIGZvciAoaSA9IDA7IGkgPCBudW1kZXY7IGkrKykgeworCQlibGtpZF9kZXYgZGV2ID0gYmxraWRfZ2V0X2RldihjYWNoZSwgZGV2aWNlc1tpXSwKKwkJCQkJCSAgQkxLSURfREVWX05PUk1BTCk7CisKKwkJaWYgKGRldikgeworCQkJaWYgKHNlYXJjaF90eXBlICYmCisJCQkgICAgIWJsa2lkX2Rldl9oYXNfdGFnKGRldiwgc2VhcmNoX3R5cGUsCisJCQkJCSAgICAgICBzZWFyY2hfdmFsdWUpKQorCQkJCWNvbnRpbnVlOworCQkJcHJpbnRfdGFncygmY3RsLCBkZXYpOworCQkJZXJyID0gMDsKKwkJfQorCX0KKworZXhpdDoKKwlmcmVlKHNlYXJjaF90eXBlKTsKKwlmcmVlKHNlYXJjaF92YWx1ZSk7CisJZnJlZV90eXBlc19saXN0KGZsdHJfdHlwZSk7CisJaWYgKCFjdGwubG93cHJvYmUgJiYgIWN0bC5ldmFsKQorCQlibGtpZF9wdXRfY2FjaGUoY2FjaGUpOworCWZyZWUoZGV2aWNlcyk7CisJcmV0dXJuIGVycjsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvY2FsLjEgYi9taXNjLXV0aWxzL2NhbC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhODA5NWYKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2NhbC4xCkBAIC0wLDAgKzEsMjMxIEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkwLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5CisuXCIgS2ltIExldGtlbWFuLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyljYWwuMQk4LjEgKEJlcmtlbGV5KSA2LzYvOTMKKy5cIgorLlRIIENBTCAxICJKYW51YXJ5IDIwMTgiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjYWwgXC0gZGlzcGxheSBhIGNhbGVuZGFyCisuU0ggU1lOT1BTSVMKKy5CIGNhbAorW29wdGlvbnNdCisuUkkgW1tbIGRheSBdICIgbW9udGgiIF0gIiB5ZWFyIiBdCisuYnIKKy5CIGNhbAorW29wdGlvbnNdCisuUkkgWyAidGltZXN0YW1wIiB8ICJtb250aG5hbWUiIF0KKy5TSCBERVNDUklQVElPTgorLkIgY2FsCitkaXNwbGF5cyBhIHNpbXBsZSBjYWxlbmRhci4gIElmIG5vIGFyZ3VtZW50cyBhcmUgc3BlY2lmaWVkLCB0aGUgY3VycmVudAorbW9udGggaXMgZGlzcGxheWVkLgorLnNwCitUaGUgXGZJbW9udGhcZlIgbWF5IGJlIHNwZWNpZmllZCBhcyBhIG51bWJlciAoMS0xMiksIGFzIGEgbW9udGggbmFtZSBvciBhcyBhbgorYWJicmV2aWF0ZWQgbW9udGggbmFtZSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgbG9jYWxlcy4KKy5zcAorVHdvIGRpZmZlcmVudCBjYWxlbmRhciBzeXN0ZW1zIGFyZSB1c2VkLCBHcmVnb3JpYW4gYW5kIEp1bGlhbi4gIFRoZXNlIGFyZQorbmVhcmx5IGlkZW50aWNhbCBzeXN0ZW1zIHdpdGggR3JlZ29yaWFuIG1ha2luZyBhIHNtYWxsIGFkanVzdG1lbnQgdG8gdGhlCitmcmVxdWVuY3kgb2YgbGVhcCB5ZWFyczsgdGhpcyBmYWNpbGl0YXRlcyBpbXByb3ZlZCBzeW5jaHJvbml6YXRpb24gd2l0aCBzb2xhcgorZXZlbnRzIGxpa2UgdGhlIGVxdWlub3hlcy4gIFRoZSBHcmVnb3JpYW4gY2FsZW5kYXIgcmVmb3JtIHdhcyBpbnRyb2R1Y2VkIGluCisxNTgyLCBidXQgaXRzIGFkb3B0aW9uIGNvbnRpbnVlZCB1cCB0byAxOTIzLiAgQnkgZGVmYXVsdAorLkIgY2FsCit1c2VzIHRoZSBhZG9wdGlvbiBkYXRlIG9mIDMgU2VwdCAxNzUyLiAgRnJvbSB0aGF0IGRhdGUgZm9yd2FyZCB0aGUgR3JlZ29yaWFuCitjYWxlbmRhciBpcyBkaXNwbGF5ZWQ7IHByZXZpb3VzIGRhdGVzIHVzZSB0aGUgSnVsaWFuIGNhbGVuZGFyIHN5c3RlbS4gIDExIGRheXMKK3dlcmUgcmVtb3ZlZCBhdCB0aGUgdGltZSBvZiBhZG9wdGlvbiB0byBicmluZyB0aGUgY2FsZW5kYXIgaW4gc3luYyB3aXRoIHNvbGFyCitldmVudHMuICBTbyBTZXB0IDE3NTIgaGFzIGEgbWl4IG9mIEp1bGlhbiBhbmQgR3JlZ29yaWFuIGRhdGVzIGJ5IHdoaWNoIHRoZSAybmQKK2lzIGZvbGxvd2VkIGJ5IHRoZSAxNHRoICh0aGUgM3JkIHRocm91Z2ggdGhlIDEzdGggYXJlIGFic2VudCkuCisuc3AKK09wdGlvbmFsbHksIGVpdGhlciB0aGUgcHJvbGVwdGljIEdyZWdvcmlhbiBjYWxlbmRhciBvciB0aGUgSnVsaWFuIGNhbGVuZGFyIG1heQorYmUgdXNlZCBleGNsdXNpdmVseS4KKy5SQiBTZWVcICBcLVwtcmVmb3JtXCAgYmVsb3cuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLTFcZlIsIFxmQlwtXC1vbmVcZlIKK0Rpc3BsYXkgc2luZ2xlIG1vbnRoIG91dHB1dC4KKyhUaGlzIGlzIHRoZSBkZWZhdWx0LikKKy5UUAorXGZCXC0zXGZSLCBcZkJcLVwtdGhyZWVcZlIKK0Rpc3BsYXkgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlLgorLlRQCitcZkJcLW4gLCBcLVwtbW9udGhzXGZSIFxmSW51bWJlclxmUgorRGlzcGxheSBcZkludW1iZXJcZlIgb2YgbW9udGhzLCBzdGFydGluZyBmcm9tIHRoZSBtb250aCBjb250YWluaW5nIHRoZSBkYXRlLgorLlRQCitcZkJcLVMsIFxmQlwtXC1zcGFuXGZSCitEaXNwbGF5IG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZS4KKy5UUAorXGZCXC1zXGZSLCBcZkJcLVwtc3VuZGF5XGZSCitEaXNwbGF5IFN1bmRheSBhcyB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLgorLlRQCitcZkJcLW1cZlIsIFxmQlwtXC1tb25kYXlcZlIKK0Rpc3BsYXkgTW9uZGF5IGFzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuCisuVFAKKy5CIFwtXC1pc28KK0Rpc3BsYXkgdGhlIHByb2xlcHRpYyBHcmVnb3JpYW4gY2FsZW5kYXIgZXhjbHVzaXZlbHkuCisuUkIgU2VlXCAgXC1cLXJlZm9ybVwgIGJlbG93LgorLlRQCitcZkJcLWpcZlIsIFxmQlwtXC1qdWxpYW5cZlIKK1VzZSBkYXktb2YteWVhciBudW1iZXJpbmcgZm9yIGFsbCBjYWxlbmRhcnMuICBUaGVzZSBhcmUgYWxzbyBjYWxsZWQgb3JkaW5hbAorZGF5cy4gIE9yZGluYWwgZGF5cyByYW5nZSBmcm9tIDEgdG8gMzY2LiAgVGhpcyBvcHRpb24gZG9lcyBub3Qgc3dpdGNoIGZyb20gdGhlCitHcmVnb3JpYW4gdG8gdGhlIEp1bGlhbiBjYWxlbmRhciBzeXN0ZW0sIHRoYXQgaXMgY29udHJvbGxlZCBieSB0aGUKKy5CUiBcLVwtcmVmb3JtXCAgb3B0aW9uLgorLnNwCitTb21ldGltZXMgR3JlZ29yaWFuIGNhbGVuZGFycyB1c2luZyBvcmRpbmFsIGRhdGVzIGFyZSByZWZlcnJlZCB0byBhcyBKdWxpYW4KK2NhbGVuZGFycy4gIFRoaXMgY2FuIGJlIGNvbmZ1c2luZyBkdWUgdG8gdGhlIG1hbnkgZGF0ZSByZWxhdGVkIGNvbnZlbnRpb25zIHRoYXQKK3VzZSBKdWxpYW4gaW4gdGhlaXIgbmFtZTogKG9yZGluYWwpIGp1bGlhbiBkYXRlLCBqdWxpYW4gKGNhbGVuZGFyKSBkYXRlLAorKGFzdHJvbm9taWNhbCkganVsaWFuIGRhdGUsIChtb2RpZmllZCkganVsaWFuIGRhdGUsIGFuZCBtb3JlLiAgVGhpcyBvcHRpb24gaXMKK25hbWVkIGp1bGlhbiwgYmVjYXVzZSBvcmRpbmFsIGRheXMgYXJlIGlkZW50aWZpZWQgYXMganVsaWFuIGJ5IHRoZSBQT1NJWAorc3RhbmRhcmQuICBIb3dldmVyLCBiZSBhd2FyZSB0aGF0CisuQiBjYWwKK2Fsc28gdXNlcyB0aGUgSnVsaWFuIGNhbGVuZGFyIHN5c3RlbS4KKy5SQiBTZWVcICBERVNDUklQVElPTlwgIGFib3ZlLgorLlRQCisuQkkgXC1cLXJlZm9ybVwgIHZhbAorVGhpcyBvcHRpb24gc2V0cyB0aGUgYWRvcHRpb24gZGF0ZSBvZiB0aGUgR3JlZ29yaWFuIGNhbGVuZGFyIHJlZm9ybS4gIENhbGVuZGFyCitkYXRlcyBwcmV2aW91cyB0byByZWZvcm0gdXNlIHRoZSBKdWxpYW4gY2FsZW5kYXIgc3lzdGVtLiAgQ2FsZW5kYXIgZGF0ZXMKK2FmdGVyIHJlZm9ybSB1c2UgdGhlIEdyZWdvcmlhbiBjYWxlbmRhciBzeXN0ZW0uICBUaGUgYXJndW1lbnQKKy5JIHZhbAorY2FuIGJlOgorLlJTCisuSVAgXChidSAyCisuSSAxNzUyCistIHNldHMgMyBTZXB0ZW1iZXIgMTc1MiBhcyB0aGUgcmVmb3JtIGRhdGUgKGRlZmF1bHQpLgorVGhpcyBpcyB3aGVuIHRoZSBHcmVnb3JpYW4gY2FsZW5kYXIgcmVmb3JtIHdhcyBhZG9wdGVkIGJ5IHRoZSBCcml0aXNoIEVtcGlyZS4KKy5JUCBcKGJ1IDIKKy5JIGdyZWdvcmlhbgorLSBkaXNwbGF5IEdyZWdvcmlhbiBjYWxlbmRhcnMgZXhjbHVzaXZlbHkuICBUaGlzIHNwZWNpYWwgcGxhY2Vob2xkZXIgc2V0cyB0aGUKK3JlZm9ybSBkYXRlIGJlbG93IHRoZSBzbWFsbGVzdCB5ZWFyIHRoYXQKKy5CIGNhbAorY2FuIHVzZTsgbWVhbmluZyBhbGwgY2FsZW5kYXIgb3V0cHV0IHVzZXMgdGhlIEdyZWdvcmlhbiBjYWxlbmRhciBzeXN0ZW0uICBUaGlzCitpcyBjYWxsZWQgdGhlIHByb2xlcHRpYyBHcmVnb3JpYW4gY2FsZW5kYXIsIGJlY2F1c2UgZGF0ZXMgcHJpb3IgdG8gdGhlIGNhbGVuZGFyCitzeXN0ZW0ncyBjcmVhdGlvbiB1c2UgZXh0cmFwb2xhdGVkIHZhbHVlcy4KKy5JUCBcKGJ1IDIKKy5JIGlzbworLSBhbGlhcyBvZgorLklSIGdyZWdvcmlhbiAuCitUaGUgSVNPIDg2MDEgc3RhbmRhcmQgZm9yIHRoZSByZXByZXNlbnRhdGlvbiBvZiBkYXRlcyBhbmQgdGltZXMgaW4gaW5mb3JtYXRpb24KK2ludGVyY2hhbmdlIHJlcXVpcmVzIHVzaW5nIHRoZSBwcm9sZXB0aWMgR3JlZ29yaWFuIGNhbGVuZGFyLgorLklQIFwoYnUgMgorLkkganVsaWFuCistIGRpc3BsYXkgSnVsaWFuIGNhbGVuZGFycyBleGNsdXNpdmVseS4gIFRoaXMgc3BlY2lhbCBwbGFjZWhvbGRlciBzZXRzIHRoZSByZWZvcm0gZGF0ZSBhYm92ZSB0aGUgbGFyZ2VzdCB5ZWFyIHRoYXQKKy5CIGNhbAorY2FuIHVzZTsgbWVhbmluZyBhbGwKK2NhbGVuZGFyIG91dHB1dCB1c2VzIHRoZSBKdWxpYW4gY2FsZW5kYXIgc3lzdGVtLgorLlBQCisuUkIgU2VlXCAgXCVERVNDUklQVElPTlwgIGFib3ZlLgorLlJFCisuVFAKK1xmQlwteVxmUiwgXGZCXC1cLXllYXJcZlIKK0Rpc3BsYXkgYSBjYWxlbmRhciBmb3IgdGhlIHdob2xlIHllYXIuCisuVFAKK1xmQlwtWSwgXGZCXC1cLXR3ZWx2ZVxmUgorRGlzcGxheSBhIGNhbGVuZGFyIGZvciB0aGUgbmV4dCB0d2VsdmUgbW9udGhzLgorLlRQCitcZkJcLXdcZlIsIFxmQlwtXC13ZWVrXGZSWz1cZkludW1iZXJcZlJdCitEaXNwbGF5IHdlZWsgbnVtYmVycyBpbiB0aGUgY2FsZW5kYXIgKFVTIG9yIElTTy04NjAxKS4KKy5UUAorXGZCXC1cLWNvbG9yXGZSWz1cZkl3aGVuXGZSXQorQ29sb3JpemUgdGhlIG91dHB1dC4gIFRoZSBvcHRpb25hbCBhcmd1bWVudCBcZkl3aGVuXGZQCitjYW4gYmUgXGZCYXV0b1xmUiwgXGZCbmV2ZXJcZlIgb3IgXGZCYWx3YXlzXGZSLiAgSWYgdGhlIFxmSXdoZW5cZlIgYXJndW1lbnQgaXMgb21pdHRlZCwKK2l0IGRlZmF1bHRzIHRvIFxmQmF1dG9cZlIuICBUaGUgY29sb3JzIGNhbiBiZSBkaXNhYmxlZDsgZm9yIHRoZSBjdXJyZW50IGJ1aWx0LWluIGRlZmF1bHQKK3NlZSB0aGUgXGZCXC1cLWhlbHBcZlIgb3V0cHV0LiAgU2VlIGFsc28gdGhlIFxmQkNPTE9SU1xmUiBzZWN0aW9uLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIFBBUkFNRVRFUlMKKy5UUAorXGZCU2luZ2xlIGRpZ2l0cy1vbmx5IHBhcmFtZXRlciAoZS5nLiAnY2FsIDIwMjAnKVxmUgorU3BlY2lmaWVzIHRoZSBcZkl5ZWFyXGZSIHRvIGJlIGRpc3BsYXllZDsgbm90ZSB0aGUgeWVhciBtdXN0IGJlIGZ1bGx5IHNwZWNpZmllZDoKKy5CICJjYWwgODkiCit3aWxsIG5vdCBkaXNwbGF5IGEgY2FsZW5kYXIgZm9yIDE5ODkuCisuVFAKK1xmQlNpbmdsZSBzdHJpbmcgcGFyYW1ldGVyIChlLmcuICdjYWwgdG9tb3Jyb3cnIG9yICdjYWwgQXVndXN0JylcZlIKK1NwZWNpZmllcyBcZkl0aW1lc3RhbXBcZlIgb3IgYSBcZkltb250aCBuYW1lXGZSIChvciBhYmJyZXZpYXRlZCBuYW1lKSBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQKK2xvY2FsZXMuCisuc3AKK1RoZSBzcGVjaWFsIHBsYWNlaG9sZGVycyBhcmUgYWNjZXB0ZWQgd2hlbiBwYXJzaW5nIHRpbWVzdGFtcCwgIm5vdyIgbWF5IGJlIHVzZWQKK3RvIHJlZmVyIHRvIHRoZSBjdXJyZW50IHRpbWUsICJ0b2RheSIsICJ5ZXN0ZXJkYXkiLCAidG9tb3Jyb3ciIHJlZmVyIHRvIG9mIHRoZQorY3VycmVudCBkYXksIHRoZSBkYXkgYmVmb3JlIG9yIHRoZSBuZXh0IGRheSwgcmVzcGVjdGl2ZWx5LgorLnNwCitUaGUgcmVsYXRpdmUgZGF0ZSBzcGVjaWZpY2F0aW9ucyBhcmUgYWxzbyBhY2NlcHRlZCwgaW4gdGhpcyBjYXNlICIrIiBpcworZXZhbHVhdGVkIHRvIHRoZSBjdXJyZW50IHRpbWUgcGx1cyB0aGUgc3BlY2lmaWVkIHRpbWUgc3Bhbi4gQ29ycmVzcG9uZGluZ2x5LCBhCit0aW1lIHNwYW4gdGhhdCBpcyBwcmVmaXhlZCB3aXRoICItIiBpcyBldmFsdWF0ZWQgdG8gdGhlIGN1cnJlbnQgdGltZSBtaW51cyB0aGUKK3NwZWNpZmllZCB0aW1lIHNwYW4sIGZvciBleGFtcGxlICcrMmRheXMnLiBJbnN0ZWFkIG9mIHByZWZpeGluZyB0aGUgdGltZSBzcGFuCit3aXRoICIrIiBvciAiLSIsIGl0IG1heSBhbHNvIGJlIHN1ZmZpeGVkIHdpdGggYSBzcGFjZSBhbmQgdGhlIHdvcmQgImxlZnQiIG9yCisiYWdvIiAoZm9yIGV4YW1wbGUgJzEgd2VlayBhZ28nKS4KKy5UUAorXGZCVHdvIHBhcmFtZXRlcnMgKGUuZy4gJ2NhbCAxMSAyMDIwJylcZlIKK0Rlbm90ZSB0aGUgXGZJbW9udGhcZlIgKDEgLSAxMikgYW5kIFxmSXllYXJcZlIuCisuVFAKK1xmQlRocmVlIHBhcmFtZXRlcnMgKGUuZy4gJ2NhbCAyNSAxMSAyMDIwJylcZlIKK0Rlbm90ZSB0aGUgXGZJZGF5XGZSICgxLTMxKSwgXGZJbW9udGggYW5kIFxmSXllYXJcZlIsIGFuZCB0aGUgZGF5IHdpbGwgYmUKK2hpZ2hsaWdodGVkIGlmIHRoZSBjYWxlbmRhciBpcyBkaXNwbGF5ZWQgb24gYSB0ZXJtaW5hbC4gIElmIG5vIHBhcmFtZXRlcnMgYXJlCitzcGVjaWZpZWQsIHRoZSBjdXJyZW50IG1vbnRoJ3MgY2FsZW5kYXIgaXMgZGlzcGxheWVkLgorLlNIIE5PVEVTCitBIHllYXIgc3RhcnRzIG9uIEphbnVhcnkgMS4gIFRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsgaXMgZGV0ZXJtaW5lZCBieSB0aGUKK2xvY2FsZSBvciB0aGUKKy5CUiBcLVwtc3VuZGF5IFwgYW5kIFwgXC1cLW1vbmRheSBcIG9wdGlvbnMuCisuUFAKK1RoZSB3ZWVrIG51bWJlcmluZyBkZXBlbmRzIG9uIHRoZSBjaG9pY2Ugb2YgdGhlIGZpcnN0IGRheSBvZiB0aGUgd2Vlay4gIElmIGl0CitpcyBTdW5kYXkgdGhlbiB0aGUgY3VzdG9tYXJ5IE5vcnRoIEFtZXJpY2FuIG51bWJlcmluZyBpcyB1c2VkLCB3aGVyZSAxIEphbnVhcnkKK2lzIGluIHdlZWsgbnVtYmVyIDEuICBJZiBpdCBpcyBNb25kYXkgdGhlbiB0aGUgSVNPIDg2MDEgc3RhbmRhcmQgd2VlayBudW1iZXJpbmcKK2lzIHVzZWQsIHdoZXJlIHRoZSBmaXJzdCBUaHVyc2RheSBpcyBpbiB3ZWVrIG51bWJlciAxLgorLlNIIENPTE9SUworSW1wbGljaXQgY29sb3JpbmcgY2FuIGJlIGRpc2FibGVkIGFzIGZvbGxvd3M6CisuUlMKKworLmJyCisuQiB0b3VjaCAvZXRjL3Rlcm1pbmFsLWNvbG9ycy5kL2NhbC5kaXNhYmxlCisuYnIKKworLlJFCitTZWUKKy5CUiB0ZXJtaW5hbC1jb2xvcnMuZCAoNSkKK2ZvciBtb3JlIGRldGFpbHMgYWJvdXQgY29sb3JpemF0aW9uIGNvbmZpZ3VyYXRpb24uCisuU0ggQlVHUworLlBQCitUaGUgZGVmYXVsdAorLkIgY2FsCitvdXRwdXQgdXNlcyAzIFNlcHRlbWJlciAxNzUyIGFzIHRoZSBHcmVnb3JpYW4gY2FsZW5kYXIgcmVmb3JtIGRhdGUuICBUaGUKK2hpc3RvcmljYWwgcmVmb3JtICBkYXRlcyBmb3IgdGhlIG90aGVyIGxvY2FsZXMsIGluY2x1ZGluZyBpdHMgaW50cm9kdWN0aW9uIGluCitPY3RvYmVyIDE1ODIsIGFyZSBub3QgaW1wbGVtZW50ZWQuCisuUFAKK0FsdGVybmF0aXZlIGNhbGVuZGFycywgc3VjaCBhcyB0aGUgVW1tIGFsLVF1cmEsIHRoZSBTb2xhciBIaWpyaSwgdGhlIEdlJ2V6LAorb3IgdGhlIGx1bmlzb2xhciBIaW5kdSwgYXJlIG5vdCBzdXBwb3J0ZWQuCisuU0ggSElTVE9SWQorQSBjYWwgY29tbWFuZCBhcHBlYXJlZCBpbiBWZXJzaW9uIDYgQVQmVCBVTklYLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGNhbCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9jYWwuYyBiL21pc2MtdXRpbHMvY2FsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE4NmMxOQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvY2FsLmMKQEAgLTAsMCArMSwxMTIzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkzLCAxOTk0CisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5CisgKiBLaW0gTGV0a2VtYW4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisvKiAxOTk5LTAyLTAxCUplYW4tRnJhbmNvaXMgQmlnbm9sbGVzOiBhZGRlZCBvcHRpb24gJy1tJyB0byBkaXNwbGF5CisgKgkJbW9uZGF5IGFzIHRoZSBmaXJzdCBkYXkgb2YgdGhlIHdlZWsuCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgorICogMjAwMC0wOS0wMSAgTWljaGFlbCBDaGFybGVzIFBydXpuaWNrIDxkdW1teUBuZXR3aXoubmV0PgorICogICAgICAgICAgICAgQWRkZWQgIi0zIiBvcHRpb24gdG8gcHJpbnQgcHJldi9uZXh0IG1vbnRoIHdpdGggY3VycmVudC4KKyAqICAgICAgICAgICAgIEFkZGVkIG92ZXJyaWRhYmxlIGRlZmF1bHQgTU9OVEhTX0lOX1JPVyBhbmQgIi0xIiBvcHRpb24gdG8KKyAqICAgICAgICAgICAgIGdldCB0cmFkaXRpb25hbCBvdXRwdXQgd2hlbiAtMyBpcyB0aGUgZGVmYXVsdC4gIEkgaG9wZSB0aGF0CisgKiAgICAgICAgICAgICBlbm91Z2ggcGVvcGxlIHdpbGwgbGlrZSAtMyBhcyB0aGUgZGVmYXVsdCB0aGF0IG9uZSBkYXkgdGhlCisgKiAgICAgICAgICAgICBwcm9kdWN0IGNhbiBiZSBzaGlwcGVkIHRoYXQgd2F5LgorICoKKyAqIDIwMDEtMDUtMDcgIFBhYmxvIFNhcmF0eGFnYSA8cGFibG9AbWFuZHJha2Vzb2Z0LmNvbT4KKyAqICAgICAgICAgICAgIEZpeGVkIHRoZSBidWdzIHdpdGggbXVsdGktYnl0ZSBjaGFyc2V0ICh6ZzogY2prLCB1dGYtOCkKKyAqICAgICAgICAgICAgIGRpc3BsYXlpbmcuIG1hZGUgdGhlICdtb250aCB5ZWFyJyAoIiVzICVkIikgaGVhZGVyIHRyYW5zbGF0YWJsZQorICogICAgICAgICAgICAgc28gaXQgY2FuIGJlIGFkYXB0ZWQgdG8gY29udmVudGlvbnMgdXNlZCBieSBkaWZmZXJlbnQgbGFuZ3VhZ2VzCisgKiAgICAgICAgICAgICBhZGRlZCBzdXBwb3J0IHRvIHJlYWQgImZpcnN0X3dlZWtkYXkiIGxvY2FsZSBpbmZvcm1hdGlvbgorICogICAgICAgICAgICAgc3RpbGwgdG8gZG86IHN1cHBvcnQgZm9yICdjYWxfZGlyZWN0aW9uJyAod2lsbCByZXF1aXJlIGEgbWFqb3IKKyAqICAgICAgICAgICAgIHJld3JpdGUgb2YgdGhlIGRpc3BsYXlpbmcpIGFuZCBwcm9wZXIgaGFuZGxpbmcgb2YgUlRMIHNjcmlwdHMKKyAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorCisjZGVmaW5lIERPWV9NT05USF9XSURUSAkyNwkvKiAtaiBtb250aCB3aWR0aCAqLworI2RlZmluZSBET01fTU9OVEhfV0lEVEgJMjAJLyogbW9udGggd2lkdGggKi8KKworc3RhdGljIGludCBoYXNfdGVybSA9IDA7CitzdGF0aWMgY29uc3QgY2hhciAqU2VudGVyID0gIiIsICpTZXhpdCA9ICIiOwkvKiBlbnRlciBhbmQgZXhpdCBzdGFuZG91dCBtb2RlICovCisKKyNpZiBkZWZpbmVkKEhBVkVfTElCTkNVUlNFUykgfHwgZGVmaW5lZChIQVZFX0xJQk5DVVJTRVNXKQorIyBpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU1dfVEVSTV9IKQorIyAgaW5jbHVkZSA8bmN1cnNlc3cvdGVybS5oPgorIyBlbGlmIGRlZmluZWQoSEFWRV9OQ1VSU0VTX1RFUk1fSCkKKyMgIGluY2x1ZGUgPG5jdXJzZXMvdGVybS5oPgorIyBlbGlmIGRlZmluZWQoSEFWRV9URVJNX0gpCisjICBpbmNsdWRlIDx0ZXJtLmg+CisjIGVuZGlmCisjZW5kaWYKKworc3RhdGljIGludCBzZXR1cF90ZXJtaW5hbChjaGFyICp0ZXJtCisjaWYgIWRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTKSAmJiAhZGVmaW5lZChIQVZFX0xJQk5DVVJTRVNXKQorCQkJX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpCisjZW5kaWYKKwkJKQoreworI2lmIGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTKSB8fCBkZWZpbmVkKEhBVkVfTElCTkNVUlNFU1cpCisJaW50IHJldDsKKworCWlmIChzZXR1cHRlcm0odGVybSwgU1RET1VUX0ZJTEVOTywgJnJldCkgIT0gMCB8fCByZXQgIT0gMSkKKwkJcmV0dXJuIC0xOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG15X3B1dHN0cmluZyhjaGFyICpzKQoreworI2lmIGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTKSB8fCBkZWZpbmVkKEhBVkVfTElCTkNVUlNFU1cpCisJaWYgKGhhc190ZXJtKQorCQlwdXRwKHMpOworCWVsc2UKKyNlbmRpZgorCQlmcHV0cyhzLCBzdGRvdXQpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqbXlfdGdldHN0cihjaGFyICpzcworI2lmICFkZWZpbmVkKEhBVkVfTElCTkNVUlNFUykgJiYgIWRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTVykKKwkJCV9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKQorI2VuZGlmCisJCSkKK3sKKwljb25zdCBjaGFyICpyZXQgPSBOVUxMOworCisjaWYgZGVmaW5lZChIQVZFX0xJQk5DVVJTRVMpIHx8IGRlZmluZWQoSEFWRV9MSUJOQ1VSU0VTVykKKwlpZiAoaGFzX3Rlcm0pCisJCXJldCA9IHRpZ2V0c3RyKHNzKTsKKyNlbmRpZgorCWlmICghcmV0IHx8IHJldCA9PSAoY2hhciAqKS0xKQorCQlyZXR1cm4gIiI7CisJcmV0dXJuIHJldDsKK30KKworI2luY2x1ZGUgIndpZGVjaGFyLmgiCisKK2VudW0geworCUdSRUdPUklBTgkJPSBJTlQzMl9NSU4sCisJSVNPCQkJPSBJTlQzMl9NSU4sCisJR0IxNzUyCQkJPSAxNzUyLAorCURFRkFVTFRfUkVGT1JNX1lFQVIJPSAxNzUyLAorCUpVTElBTgkJCT0gSU5UMzJfTUFYCit9OworCitlbnVtIHsKKwlTVU5EQVkgPSAwLAorCU1PTkRBWSwKKwlUVUVTREFZLAorCVdFRE5FU0RBWSwKKwlUSFVSU0RBWSwKKwlGUklEQVksCisJU0FUVVJEQVksCisJREFZU19JTl9XRUVLLAorCU5PTkVEQVkKK307CisKK2VudW0geworCUpBTlVBUlkgPSAxLAorCUZFQlJVQVJZLAorCU1BUkNILAorCUFQUklMLAorCU1BWSwKKwlKVU5FLAorCUpVTFksCisJQVVHVVNULAorCVNFUFRFTUJFUiwKKwlPQ1RPQkVSLAorCU5PVkVNQkVSLAorCURFQ0VNQkVSCit9OworCisjZGVmaW5lIFJFRk9STUFUSU9OX01PTlRICVNFUFRFTUJFUgorI2RlZmluZQlOVU1CRVJfTUlTU0lOR19EQVlTCTExCQkvKiAxMSBkYXkgY29ycmVjdGlvbiAqLworI2RlZmluZSBZREFZX0FGVEVSX01JU1NJTkcJMjU4ICAgICAgICAgICAgIC8qIDE0dGggaW4gU2VwIDE3NTIgKi8KKworI2RlZmluZSBNT05USFNfSU5fWUVBUgkJREVDRU1CRVIKKyNkZWZpbmUgREFZU19JTl9NT05USAkJMzEKKyNkZWZpbmUJTUFYREFZUwkJCTQyCQkvKiBzbG90cyBpbiBhIG1vbnRoIGFycmF5ICovCisjZGVmaW5lCVNQQUNFCQkJLTEJCS8qIHVzZWQgaW4gZGF5IGFycmF5ICovCisKKyNkZWZpbmUgU01BTExFU1RfWUVBUgkJMQorCisjZGVmaW5lCURBWV9MRU4JCQkzCQkvKiAzIHNwYWNlcyBwZXIgZGF5ICovCisjZGVmaW5lCVdFRUtfTEVOCQkoREFZU19JTl9XRUVLICogREFZX0xFTikKKyNkZWZpbmUgTU9OVEhTX0lOX1lFQVJfUk9XCTMJCS8qIG1vbnRoIGNvbHVtbnMgaW4geWVhciB2aWV3ICovCisjZGVmaW5lIFdOVU1fTEVOICAgICAgICAgICAgICAgIDMKKworI2RlZmluZSBGTVRfU1RfQ0hBUlMgMzAwCS8qIDkwIHN1ZmZpY2VzIGluIG1vc3QgbG9jYWxlcyAqLworCitzdGF0aWMgY29uc3QgaW50IGRheXNfaW5fbW9udGhbMl1bMTNdID0geworCXswLCAzMSwgMjgsIDMxLCAzMCwgMzEsIDMwLCAzMSwgMzEsIDMwLCAzMSwgMzAsIDMxfSwKKwl7MCwgMzEsIDI5LCAzMSwgMzAsIDMxLCAzMCwgMzEsIDMxLCAzMCwgMzEsIDMwLCAzMX0sCit9OworCitlbnVtIHsKKwlXRUVLX05VTV9ESVNBQkxFRCA9IDAsCisJV0VFS19OVU1fTUFTSz0weGZmLAorCVdFRUtfTlVNX0lTTz0weDEwMCwKKwlXRUVLX05VTV9VUz0weDIwMCwKK307CisKKy8qIHV0Zi04IGNhbiBoYXZlIHVwIHRvIDYgYnl0ZXMgcGVyIGNoYXI7IGFuZCBhbiBleHRyYSBieXRlIGZvciBlbmRpbmcgXDAgKi8KK3N0YXRpYyBjaGFyIGRheV9oZWFkaW5nc1soV0VFS19MRU4gKyAxKSAqIDYgKyAxXTsKKworc3RydWN0IGNhbF9yZXF1ZXN0IHsKKwlpbnQgZGF5OworCWludCBtb250aDsKKwlpbnQzMl90IHllYXI7CisJaW50IHdlZWs7CisJaW50IHN0YXJ0X21vbnRoOworfTsKKworc3RydWN0IGNhbF9jb250cm9sIHsKKwljb25zdCBjaGFyICpmdWxsX21vbnRoW01PTlRIU19JTl9ZRUFSXTsJLyogbW9udGggbmFtZXMgKi8KKwljb25zdCBjaGFyICphYmJyX21vbnRoW01PTlRIU19JTl9ZRUFSXTsJLyogYWJicmV2aWF0ZWQgbW9udGggbmFtZXMgKi8KKworCWludCByZWZvcm1feWVhcjsJCS8qIEdyZWdvcmlhbiByZWZvcm0geWVhciAqLworCWludCBjb2xvcm1vZGU7CQkJLyogZGF5IGFuZCB3ZWVrIG51bWJlciBoaWdobGlnaHQgKi8KKwlpbnQgbnVtX21vbnRoczsJCQkvKiBudW1iZXIgb2YgcmVxdWVzdGVkIG1vbnRocyAqLworCWludCBzcGFuX21vbnRoczsJCS8qIHNwYW4gdGhlIGRhdGUgKi8KKwlpbnQgbW9udGhzX2luX3JvdzsJCS8qIG51bWJlciBvZiBtb250aHMgaG9yaXpvbnRhbGx5IGluIHByaW50IG91dCAqLworCWludCB3ZWVrc3RhcnQ7CQkJLyogZGF5IHRoZSB3ZWVrIHN0YXJ0cywgb2Z0ZW4gU3VuIG9yIE1vbiAqLworCWludCB3ZWVrdHlwZTsJCQkvKiBXRUVLX1RZUEVfe05PTkUsSVNPLFVTfSAqLworCXNpemVfdCBkYXlfd2lkdGg7CQkvKiBkYXkgd2lkdGggaW4gY2hhcmFjdGVycyBpbiBwcmludG91dCAqLworCXNpemVfdCB3ZWVrX3dpZHRoOwkJLyogNyAqIGRheV93aWR0aCArIHBvc3NpYmxlIHdlZWsgbnVtICovCisJaW50IGd1dHRlcl93aWR0aDsJCS8qIHNwYWNlcyBpbiBiZXR3ZWVuIGhvcml6b250YWwgbW9udGggb3V0cHV0cyAqLworCXN0cnVjdCBjYWxfcmVxdWVzdCByZXE7CQkvKiB0aGUgdGltZXMgdXNlciBpcyBpbnRlcmVzdGVkICovCisJdW5zaWduZWQgaW50CWp1bGlhbjoxLAkvKiBqdWxpYW4gb3V0cHV0ICovCisJCQloZWFkZXJfeWVhcjoxLAkvKiBwcmludCB5ZWFyIG51bWJlciAqLworCQkJaGVhZGVyX2hpbnQ6MTsJLyogZG9lcyBtb250aCBuYW1lICsgeWVhciBuZWVkIHR3byBsaW5lcyB0byBmaXQgKi8KK307CisKK3N0cnVjdCBjYWxfbW9udGggeworCWludCBkYXlzW01BWERBWVNdOwkJLyogdGhlIGRheSBudW1iZXJzLCBvciBTUEFDRSAqLworCWludCB3ZWVrc1tNQVhEQVlTIC8gREFZU19JTl9XRUVLXTsKKwlpbnQgbW9udGg7CisJaW50MzJfdCB5ZWFyOworCXN0cnVjdCBjYWxfbW9udGggKm5leHQ7Cit9OworCisvKiBmdW5jdGlvbiBwcm90b3R5cGVzICovCitzdGF0aWMgaW50IGxlYXBfeWVhcihjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCwgaW50MzJfdCB5ZWFyKTsKK3N0YXRpYyBpbnQgbW9udGhuYW1lX3RvX251bWJlcihzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqbmFtZSk7CitzdGF0aWMgdm9pZCBoZWFkZXJzX2luaXQoc3RydWN0IGNhbF9jb250cm9sICpjdGwpOworc3RhdGljIHZvaWQgY2FsX2ZpbGxfbW9udGgoc3RydWN0IGNhbF9tb250aCAqbW9udGgsIGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKTsKK3N0YXRpYyB2b2lkIGNhbF9vdXRwdXRfaGVhZGVyKHN0cnVjdCBjYWxfbW9udGggKm1vbnRoLCBjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCk7CitzdGF0aWMgdm9pZCBjYWxfb3V0cHV0X21vbnRocyhzdHJ1Y3QgY2FsX21vbnRoICptb250aCwgY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwpOworc3RhdGljIHZvaWQgbW9udGhseShjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCk7CitzdGF0aWMgdm9pZCB5ZWFybHkoY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwpOworc3RhdGljIGludCBkYXlfaW5feWVhcihjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCwgaW50IGRheSwKKwkJICAgICAgIGludCBtb250aCwgaW50MzJfdCB5ZWFyKTsKK3N0YXRpYyBpbnQgZGF5X2luX3dlZWsoY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwsIGludCBkYXksCisJCSAgICAgICBpbnQgbW9udGgsIGludDMyX3QgeWVhcik7CitzdGF0aWMgaW50IHdlZWtfbnVtYmVyKGludCBkYXksIGludCBtb250aCwgaW50MzJfdCB5ZWFyLCBjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCk7CitzdGF0aWMgaW50IHdlZWtfdG9fZGF5KGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKTsKK3N0YXRpYyBpbnQgY2VudGVyX3N0cihjb25zdCBjaGFyICpzcmMsIGNoYXIgKmRlc3QsIHNpemVfdCBkZXN0X3NpemUsIHNpemVfdCB3aWR0aCk7CitzdGF0aWMgdm9pZCBjZW50ZXIoY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuLCBpbnQgc2VwYXJhdGUpOworc3RhdGljIGludCBwYXJzZV9yZWZvcm1feWVhcihjb25zdCBjaGFyICpyZWZvcm1feWVhcik7CitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKTsKKworI2lmZGVmIFRFU1RfQ0FMCitzdGF0aWMgdGltZV90IGNhbF90aW1lKHRpbWVfdCAqdCkKK3sKKwljaGFyICpzdHIgPSBnZXRlbnYoIkNBTF9URVNUX1RJTUUiKTsKKworCWlmIChzdHIpIHsKKwkJdWludDY0X3QgeCA9IHN0cnRvdTY0X29yX2VycihzdHIsICJmYWlsZWQgdG8gcGFyc2UgQ0FMX1RFU1RfVElNRSIpOworCisJCSp0ID0geDsKKwkJcmV0dXJuICp0OworCX0KKworCXJldHVybiB0aW1lKHQpOworfQorI2Vsc2UKKyMgZGVmaW5lIGNhbF90aW1lKHQpCXRpbWUodCkKKyNlbmRpZgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHRtICpsb2NhbF90aW1lOworCWNoYXIgKnRlcm07CisJdGltZV90IG5vdzsKKwlpbnQgY2ggPSAwLCB5ZmxhZyA9IDAsIFlmbGFnID0gMDsKKworCXN0YXRpYyBzdHJ1Y3QgY2FsX2NvbnRyb2wgY3RsID0geworCQkucmVmb3JtX3llYXIgPSBERUZBVUxUX1JFRk9STV9ZRUFSLAorCQkud2Vla3N0YXJ0ID0gU1VOREFZLAorCQkuc3Bhbl9tb250aHMgPSAwLAorCQkuY29sb3Jtb2RlID0gVUxfQ09MT1JNT0RFX1VOREVGLAorCQkud2Vla3R5cGUgPSBXRUVLX05VTV9ESVNBQkxFRCwKKwkJLmRheV93aWR0aCA9IERBWV9MRU4sCisJCS5ndXR0ZXJfd2lkdGggPSAyLAorCQkucmVxLmRheSA9IDAsCisJCS5yZXEubW9udGggPSAwCisJfTsKKworCWVudW0geworCQlPUFRfQ09MT1IgPSBDSEFSX01BWCArIDEsCisJCU9QVF9JU08sCisJCU9QVF9SRUZPUk0KKwl9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJvbmUiLCBub19hcmd1bWVudCwgTlVMTCwgJzEnfSwKKwkJeyJ0aHJlZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnMyd9LAorCQl7InN1bmRheSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7Im1vbmRheSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbSd9LAorCQl7Imp1bGlhbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaid9LAorCQl7Im1vbnRocyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbid9LAorCQl7InNwYW4iLCBub19hcmd1bWVudCwgTlVMTCwgJ1MnfSwKKwkJeyJ5ZWFyIiwgbm9fYXJndW1lbnQsIE5VTEwsICd5J30sCisJCXsid2VlayIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndyd9LAorCQl7ImNvbG9yIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVF9DT0xPUn0sCisJCXsicmVmb3JtIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9SRUZPUk19LAorCQl7ImlzbyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfSVNPfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsidHdlbHZlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdZJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnWScsJ24nLCd5JyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXRlcm0gPSBnZXRlbnYoIlRFUk0iKTsKKwlpZiAodGVybSkgeworCQloYXNfdGVybSA9IHNldHVwX3Rlcm1pbmFsKHRlcm0pID09IDA7CisJCWlmIChoYXNfdGVybSkgeworCQkJU2VudGVyID0gbXlfdGdldHN0cigic21zbyIpOworCQkJU2V4aXQgPSBteV90Z2V0c3RyKCJybXNvIik7CisJCX0KKwl9CisKKy8qCisgKiBUaGUgdHJhZGl0aW9uYWwgVW5peCBjYWwgdXRpbGl0eSBzdGFydHMgdGhlIHdlZWsgYXQgU3VuZGF5LAorICogd2hpbGUgSVNPIDg2MDEgc3RhcnRzIGF0IE1vbmRheS4gV2UgcmVhZCB0aGUgc3RhcnQgZGF5IGZyb20KKyAqIHRoZSBsb2NhbGUgZGF0YWJhc2UsIHdoaWNoIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggdGhlCisgKiAtcyAoU3VuZGF5KSBvciAtbSAoTW9uZGF5KSBvcHRpb25zLgorICovCisjaWYgSEFWRV9ERUNMX19OTF9USU1FX1dFRUtfMVNUREFZCisJLyoKKwkgKiBZb3UgbmVlZCB0byB1c2UgMiBsb2NhbGUgdmFyaWFibGVzIHRvIGdldCB0aGUgZmlyc3QgZGF5IG9mIHRoZSB3ZWVrLgorCSAqIFRoaXMgaXMgbmVlZGVkIHRvIHN1cHBvcnQgZmlyc3Rfd2Vla2RheT0yIGFuZCBmaXJzdF93b3JrZGF5PTEgZm9yCisJICogdGhlIHJhcmUgY2FzZSB3aGVyZSB3b3JraW5nIGRheXMgc3BhbiBhY3Jvc3MgMiB3ZWVrcy4KKwkgKiBUaGlzIHNoZWxsIHNjcmlwdCBzaG93cyB0aGUgY29tYmluYXRpb25zIGFuZCBjYWxjdWxhdGlvbnMgaW52b2x2ZWQ6CisJICoKKwkgKiBmb3IgTEFORyBpbiBlbl9VUyBydV9SVSBmcl9GUiBjc2JfUEwgUE9TSVg7IGRvCisJICogICBwcmludGYgIiVzOlx0JXMgKyAlcyAtMSA9ICIgJExBTkcgJChsb2NhbGUgd2Vlay0xc3RkYXkgZmlyc3Rfd2Vla2RheSkKKwkgKiAgIGRhdGUgLWQiJChsb2NhbGUgd2Vlay0xc3RkYXkpICskKCgkKGxvY2FsZSBmaXJzdF93ZWVrZGF5KS0xKSlkYXkiICsldworCSAqIGRvbmUKKwkgKgorCSAqIGVuX1VTOiAgMTk5NzExMzAgKyAxIC0xID0gMCAgIzAgPSBzdW5kYXkKKwkgKiBydV9SVTogIDE5OTcxMTMwICsgMiAtMSA9IDEKKwkgKiBmcl9GUjogIDE5OTcxMjAxICsgMSAtMSA9IDEKKwkgKiBjc2JfUEw6IDE5OTcxMjAxICsgMiAtMSA9IDIKKwkgKiBQT1NJWDogIDE5OTcxMjAxICsgNyAtMSA9IDAKKwkgKi8KKwl7CisJCWludCB3ZmQ7CisJCXVuaW9uIHsgdW5zaWduZWQgaW50IHdvcmQ7IGNoYXIgKnN0cmluZzsgfSB2YWw7CisJCXZhbC5zdHJpbmcgPSBubF9sYW5naW5mbyhfTkxfVElNRV9XRUVLXzFTVERBWSk7CisKKwkJd2ZkID0gdmFsLndvcmQ7CisJCXdmZCA9IGRheV9pbl93ZWVrKCZjdGwsIHdmZCAlIDEwMCwgKHdmZCAvIDEwMCkgJSAxMDAsCisJCQkJICB3ZmQgLyAoMTAwICogMTAwKSk7CisJCWN0bC53ZWVrc3RhcnQgPSAod2ZkICsgKm5sX2xhbmdpbmZvKF9OTF9USU1FX0ZJUlNUX1dFRUtEQVkpIC0gMSkgJSBEQVlTX0lOX1dFRUs7CisJfQorI2VuZGlmCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICIxM21qbjpzU3l3WVZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjaCwgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjaCkgeworCQljYXNlICcxJzoKKwkJCWN0bC5udW1fbW9udGhzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICczJzoKKwkJCWN0bC5udW1fbW9udGhzID0gMzsKKwkJCWN0bC5zcGFuX21vbnRocyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQljdGwud2Vla3N0YXJ0ID0gU1VOREFZOwkJLyogZGVmYXVsdCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJY3RsLndlZWtzdGFydCA9IE1PTkRBWTsKKwkJCWJyZWFrOworCQljYXNlICdqJzoKKwkJCWN0bC5qdWxpYW4gPSAxOworCQkJY3RsLmRheV93aWR0aCA9IERBWV9MRU4gKyAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3knOgorCQkJeWZsYWcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1knOgorCQkJWWZsYWcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJY3RsLm51bV9tb250aHMgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygiaW52YWxpZCBtb250aCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKwkJCWN0bC5zcGFuX21vbnRocyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQlpZiAob3B0YXJnKSB7CisJCQkJY3RsLnJlcS53ZWVrID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywKKwkJCQkJCV8oImludmFsaWQgd2VlayBhcmd1bWVudCIpKTsKKwkJCQlpZiAoY3RsLnJlcS53ZWVrIDwgMSB8fCA1NCA8IGN0bC5yZXEud2VlaykKKwkJCQkJZXJyeChFWElUX0ZBSUxVUkUsXygiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIpKTsKKwkJCX0KKwkJCWN0bC53ZWVrdHlwZSA9IFdFRUtfTlVNX1VTOwkvKiBkZWZhdWx0IHBlciB3ZWVrc3RhcnQgKi8KKwkJCWJyZWFrOworCQljYXNlIE9QVF9DT0xPUjoKKwkJCWN0bC5jb2xvcm1vZGUgPSBVTF9DT0xPUk1PREVfQVVUTzsKKwkJCWlmIChvcHRhcmcpCisJCQkJY3RsLmNvbG9ybW9kZSA9IGNvbG9ybW9kZV9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9SRUZPUk06CisJCQljdGwucmVmb3JtX3llYXIgPSBwYXJzZV9yZWZvcm1feWVhcihvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0lTTzoKKwkJCWN0bC5yZWZvcm1feWVhciA9IElTTzsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoY3RsLndlZWt0eXBlKSB7CisJCWN0bC53ZWVrdHlwZSA9IGN0bC5yZXEud2VlayAmIFdFRUtfTlVNX01BU0s7CisJCWN0bC53ZWVrdHlwZSB8PSAoY3RsLndlZWtzdGFydCA9PSBNT05EQVkgPyBXRUVLX05VTV9JU08gOiBXRUVLX05VTV9VUyk7CisJCWN0bC53ZWVrX3dpZHRoID0gKGN0bC5kYXlfd2lkdGggKiBEQVlTX0lOX1dFRUspICsgV05VTV9MRU47CisJfSBlbHNlCisJCWN0bC53ZWVrX3dpZHRoID0gY3RsLmRheV93aWR0aCAqIERBWVNfSU5fV0VFSzsKKworCWlmIChhcmdjID09IDEgJiYgIWlzZGlnaXRfc3RyaW5nKCphcmd2KSkgeworCQl1c2VjX3QgeDsKKwkJLyogY2FsIDx0aW1lc3RhbXA+ICovCisJCWlmIChwYXJzZV90aW1lc3RhbXAoKmFyZ3YsICZ4KSA9PSAwKQorCQkJbm93ID0gKHRpbWVfdCkgKHggLyAxMDAwMDAwKTsKKwkJLyogY2FsIDxtb250aG5hbWU+ICovCisJCWVsc2UgaWYgKChjdGwucmVxLm1vbnRoID0gbW9udGhuYW1lX3RvX251bWJlcigmY3RsLCAqYXJndikpID4gMCkKKwkJCWNhbF90aW1lKCZub3cpOwkvKiB0aGlzIHllYXIgKi8KKwkJZWxzZQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIpLCAqYXJndik7CisJCWFyZ2MgPSAwOworCX0gZWxzZQorCQljYWxfdGltZSgmbm93KTsKKworCWxvY2FsX3RpbWUgPSBsb2NhbHRpbWUoJm5vdyk7CisKKwlzd2l0Y2goYXJnYykgeworCWNhc2UgMzoKKwkJY3RsLnJlcS5kYXkgPSBzdHJ0b3MzMl9vcl9lcnIoKmFyZ3YrKywgXygiaWxsZWdhbCBkYXkgdmFsdWUiKSk7CisJCWlmIChjdGwucmVxLmRheSA8IDEgfHwgREFZU19JTl9NT05USCA8IGN0bC5yZXEuZGF5KQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIpLCBEQVlTX0lOX01PTlRIKTsKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIDI6CisJCWlmIChpc2RpZ2l0KCoqYXJndikpCisJCQljdGwucmVxLm1vbnRoID0gc3RydG9zMzJfb3JfZXJyKCphcmd2KyssIF8oImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIikpOworCQllbHNlIHsKKwkJCWN0bC5yZXEubW9udGggPSBtb250aG5hbWVfdG9fbnVtYmVyKCZjdGwsICphcmd2KTsKKwkJCWlmIChjdGwucmVxLm1vbnRoIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5rbm93biBtb250aCBuYW1lOiAlcyIpLCAqYXJndik7CisJCQlhcmd2Kys7CisJCX0KKwkJaWYgKGN0bC5yZXEubW9udGggPCAxIHx8IE1PTlRIU19JTl9ZRUFSIDwgY3RsLnJlcS5tb250aCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIpKTsKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlIDE6CisJCWN0bC5yZXEueWVhciA9IHN0cnRvczMyX29yX2VycigqYXJndisrLCBfKCJpbGxlZ2FsIHllYXIgdmFsdWUiKSk7CisJCWlmIChjdGwucmVxLnllYXIgPCBTTUFMTEVTVF9ZRUFSKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiKSk7CisJCWlmIChjdGwucmVxLnllYXIgPT0gSlVMSUFOKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImlsbGVnYWwgeWVhciB2YWx1ZSIpKTsKKwkJaWYgKGN0bC5yZXEuZGF5KSB7CisJCQlpbnQgZG0gPSBkYXlzX2luX21vbnRoW2xlYXBfeWVhcigmY3RsLCBjdGwucmVxLnllYXIpXQorCQkJCQkgICAgICBbY3RsLnJlcS5tb250aF07CisJCQlpZiAoY3RsLnJlcS5kYXkgPiBkbSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIiksIGRtKTsKKwkJCWN0bC5yZXEuZGF5ID0gZGF5X2luX3llYXIoJmN0bCwgY3RsLnJlcS5kYXksCisJCQkJCQkgIGN0bC5yZXEubW9udGgsIGN0bC5yZXEueWVhcik7CisJCX0gZWxzZSBpZiAoKGludDMyX3QpIChsb2NhbF90aW1lLT50bV95ZWFyICsgMTkwMCkgPT0gY3RsLnJlcS55ZWFyKSB7CisJCQljdGwucmVxLmRheSA9IGxvY2FsX3RpbWUtPnRtX3lkYXkgKyAxOworCQl9CisJCWlmICghY3RsLnJlcS5tb250aCAmJiAhY3RsLnJlcS53ZWVrKSB7CisJCQljdGwucmVxLm1vbnRoID0gbG9jYWxfdGltZS0+dG1fbW9uICsgMTsKKwkJCWlmICghY3RsLm51bV9tb250aHMpCisJCQkJeWZsYWcgPSAxOworCQl9CisJCWJyZWFrOworCWNhc2UgMDoKKwkJY3RsLnJlcS5kYXkgPSBsb2NhbF90aW1lLT50bV95ZGF5ICsgMTsKKwkJY3RsLnJlcS55ZWFyID0gbG9jYWxfdGltZS0+dG1feWVhciArIDE5MDA7CisJCWlmICghY3RsLnJlcS5tb250aCkKKwkJCWN0bC5yZXEubW9udGggPSBsb2NhbF90aW1lLT50bV9tb24gKyAxOworCQlicmVhazsKKwlkZWZhdWx0OgorCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAoMCA8IGN0bC5yZXEud2VlaykgeworCQlpbnQgeWRheSA9IHdlZWtfdG9fZGF5KCZjdGwpOworCQlpbnQgbGVhcCA9IGxlYXBfeWVhcigmY3RsLCBjdGwucmVxLnllYXIpOworCQlpbnQgbSA9IDE7CisKKwkJaWYgKHlkYXkgPCAxKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCAiCisJCQkJCSAgICAgImRvZXNuJ3QgaGF2ZSB3ZWVrICVkIiksCisJCQkJCWN0bC5yZXEueWVhciwgY3RsLnJlcS53ZWVrKTsKKwkJd2hpbGUgKG0gPD0gREVDRU1CRVIgJiYgeWRheSA+IGRheXNfaW5fbW9udGhbbGVhcF1bbV0pCisJCQl5ZGF5IC09IGRheXNfaW5fbW9udGhbbGVhcF1bbSsrXTsKKwkJaWYgKERFQ0VNQkVSIDwgbSAmJiBjdGwud2Vla3R5cGUgJiBXRUVLX05VTV9JU08pIHsKKwkJCS8qIEluIHNvbWUgeWVhcnMgKGUuZy4gMjAxMCBpbiBJU08gbW9kZSkgaXQncyBwb3NzaWJsZQorCQkJICogdG8gaGF2ZSBhIHJlbW5hbnQgb2Ygd2VlayA1MyBzdGFydGluZyB0aGUgeWVhciB5ZXQKKwkJCSAqIHRoZSB5ZWFyIGluIHF1ZXN0aW9uIGVuZHMgZHVyaW5nIDUyLCBpbiB0aGlzIGNhc2UKKwkJCSAqIHdlJ3JlIGFzc3VtaW5nIHRoYXQgZWFybHkgcmVtbmFudCBpcyBiZWluZyByZWZlcnJlZAorCQkJICogdG8gaWYgNTMgaXMgZ2l2ZW4gYXMgYXJndW1lbnQuICovCisJCQlpZiAoY3RsLnJlcS53ZWVrICE9IHdlZWtfbnVtYmVyKDMxLCBERUNFTUJFUiwgY3RsLnJlcS55ZWFyIC0gMSwgJmN0bCkpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJCV8oImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCAiCisJCQkJCSAgImRvZXNuJ3QgaGF2ZSB3ZWVrICVkIiksCisJCQkJCWN0bC5yZXEueWVhciwgY3RsLnJlcS53ZWVrKTsKKwkJfQorCQlpZiAoIWN0bC5yZXEubW9udGgpCisJCQljdGwucmVxLm1vbnRoID0gTU9OVEhTX0lOX1lFQVIgPCBtID8gMSA6IG07CisJfQorCisJaGVhZGVyc19pbml0KCZjdGwpOworCisJaWYgKCFjb2xvcnNfaW5pdChjdGwuY29sb3Jtb2RlLCAiY2FsIikpIHsKKwkJY3RsLnJlcS5kYXkgPSAwOworCQljdGwud2Vla3R5cGUgJj0gfldFRUtfTlVNX01BU0s7CisJfQorCisJaWYgKHlmbGFnIHx8IFlmbGFnKSB7CisJCWN0bC5ndXR0ZXJfd2lkdGggPSAzOworCQlpZiAoIWN0bC5udW1fbW9udGhzKQorCQkJY3RsLm51bV9tb250aHMgPSBNT05USFNfSU5fWUVBUjsKKwkJaWYgKHlmbGFnKSB7CisJCQljdGwucmVxLnN0YXJ0X21vbnRoID0gMTsJLyogc3RhcnQgZnJvbSBKYW4gKi8KKwkJCWN0bC5oZWFkZXJfeWVhciA9IDE7CQkvKiBwcmludCB5ZWFyIG51bWJlciAqLworCQl9CisJfQorCisJaWYgKGN0bC5udW1fbW9udGhzID4gMSAmJiBjdGwubW9udGhzX2luX3JvdyA9PSAwKSB7CisJCWN0bC5tb250aHNfaW5fcm93ID0gTU9OVEhTX0lOX1lFQVJfUk9XOwkJLyogZGVmYXVsdCAqLworCisJCWlmIChpc2F0dHkoU1RET1VUX0ZJTEVOTykpIHsKKwkJCWludCB3ID0gZ2V0X3Rlcm1pbmFsX3dpZHRoKFNURE9VVF9GSUxFTk8pOworCQkJaW50IG13ID0gY3RsLmp1bGlhbiA/IERPWV9NT05USF9XSURUSCA6IERPTV9NT05USF9XSURUSDsKKwkJCWludCBleHRyYSA9ICgodyAvIG13KSAtIDEpICogY3RsLmd1dHRlcl93aWR0aDsKKwkJCWludCBuZXdfbiA9ICh3IC0gZXh0cmEpIC8gbXc7CisKKwkJCWlmIChuZXdfbiA8IE1PTlRIU19JTl9ZRUFSX1JPVykKKwkJCQljdGwubW9udGhzX2luX3JvdyA9IG5ld19uOworCQl9CisJfSBlbHNlIGlmICghY3RsLm1vbnRoc19pbl9yb3cpCisJCWN0bC5tb250aHNfaW5fcm93ID0gMTsKKworCWlmICghY3RsLm51bV9tb250aHMpCisJCWN0bC5udW1fbW9udGhzID0gMTsJCS8qIGRpc3BsYXkgYXQgbGVhc3Qgb25lIG1vbnRoICovCisKKwlpZiAoeWZsYWcgfHwgWWZsYWcpCisJCXllYXJseSgmY3RsKTsKKwllbHNlCisJCW1vbnRobHkoJmN0bCk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCisvKiBsZWFwIHllYXIgLS0gYWNjb3VudCBmb3IgZ3JlZ29yaWFuIHJlZm9ybWF0aW9uIGluIDE3NTIgKi8KK3N0YXRpYyBpbnQgbGVhcF95ZWFyKGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsLCBpbnQzMl90IHllYXIpCit7CisJaWYgKHllYXIgPD0gY3RsLT5yZWZvcm1feWVhcikKKwkJcmV0dXJuICEoeWVhciAlIDQpOworCWVsc2UKKwkJcmV0dXJuICggISh5ZWFyICUgNCkgJiYgKHllYXIgJSAxMDApICkgfHwgISh5ZWFyICUgNDAwKTsKK30KKworc3RhdGljIHZvaWQgaW5pdF9tb250aG5hbWVzKHN0cnVjdCBjYWxfY29udHJvbCAqY3RsKQoreworCXNpemVfdCBpOworCisJaWYgKGN0bC0+ZnVsbF9tb250aFswXSAhPSBOVUxMKQorCQlyZXR1cm47CQkvKiBhbHJlYWR5IGluaXRpYWxpemVkICovCisKKwlmb3IgKGkgPSAwOyBpIDwgTU9OVEhTX0lOX1lFQVI7IGkrKykKKwkJY3RsLT5mdWxsX21vbnRoW2ldID0gbmxfbGFuZ2luZm8oQUxUTU9OXzEgKyBpKTsKK30KKworc3RhdGljIHZvaWQgaW5pdF9hYmJyX21vbnRobmFtZXMoc3RydWN0IGNhbF9jb250cm9sICpjdGwpCit7CisJc2l6ZV90IGk7CisKKwlpZiAoY3RsLT5hYmJyX21vbnRoWzBdICE9IE5VTEwpCisJCXJldHVybjsJCS8qIGFscmVhZHkgaW5pdGlhbGl6ZWQgKi8KKworCWZvciAoaSA9IDA7IGkgPCBNT05USFNfSU5fWUVBUjsgaSsrKQorCQljdGwtPmFiYnJfbW9udGhbaV0gPSBubF9sYW5naW5mbyhfTkxfQUJBTFRNT05fMSArIGkpOworfQorCitzdGF0aWMgaW50IG1vbnRobmFtZV90b19udW1iZXIoc3RydWN0IGNhbF9jb250cm9sICpjdGwsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc2l6ZV90IGk7CisKKwlpbml0X21vbnRobmFtZXMoY3RsKTsKKwlmb3IgKGkgPSAwOyBpIDwgTU9OVEhTX0lOX1lFQVI7IGkrKykKKwkJaWYgKHN0cmNhc2VjbXAoY3RsLT5mdWxsX21vbnRoW2ldLCBuYW1lKSA9PSAwKQorCQkJcmV0dXJuIGkgKyAxOworCisJaW5pdF9hYmJyX21vbnRobmFtZXMoY3RsKTsKKwlmb3IgKGkgPSAwOyBpIDwgTU9OVEhTX0lOX1lFQVI7IGkrKykKKwkJaWYgKHN0cmNhc2VjbXAoY3RsLT5hYmJyX21vbnRoW2ldLCBuYW1lKSA9PSAwKQorCQkJcmV0dXJuIGkgKyAxOworCisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyB2b2lkIGhlYWRlcnNfaW5pdChzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCkKK3sKKwlzaXplX3QgaSwgd2Q7CisJY2hhciAqY3VyX2RoID0gZGF5X2hlYWRpbmdzOworCWNoYXIgdG1wW0ZNVF9TVF9DSEFSU107CisJaW50IHllYXJfbGVuOworCisJeWVhcl9sZW4gPSBzbnByaW50Zih0bXAsIHNpemVvZih0bXApLCAiJTA0ZCIsIGN0bC0+cmVxLnllYXIpOworCisJaWYgKHllYXJfbGVuIDwgMCB8fCAoc2l6ZV90KXllYXJfbGVuID49IHNpemVvZih0bXApKSB7CisJCS8qIFhYWCBpbXBvc3NpYmxlIGVycm9yICovCisJCXJldHVybjsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgREFZU19JTl9XRUVLOyBpKyspIHsKKwkJc2l6ZV90IHNwYWNlX2xlZnQ7CisJCXdkID0gKGkgKyBjdGwtPndlZWtzdGFydCkgJSBEQVlTX0lOX1dFRUs7CisKKwkJaWYgKGkpCisJCQlzdHJjYXQoY3VyX2RoKyssICIgIik7CisJCXNwYWNlX2xlZnQgPSBzaXplb2YoZGF5X2hlYWRpbmdzKSAtIChjdXJfZGggLSBkYXlfaGVhZGluZ3MpOworCisJCWlmIChzcGFjZV9sZWZ0IDw9IChjdGwtPmRheV93aWR0aCAtIDEpKQorCQkJYnJlYWs7CisJCWN1cl9kaCArPSBjZW50ZXJfc3RyKG5sX2xhbmdpbmZvKEFCREFZXzEgKyB3ZCksIGN1cl9kaCwKKwkJCQkgICAgIHNwYWNlX2xlZnQsIGN0bC0+ZGF5X3dpZHRoIC0gMSk7CisJfQorCisJaW5pdF9tb250aG5hbWVzKGN0bCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgTU9OVEhTX0lOX1lFQVI7IGkrKykgeworCQkvKiBUaGUgKzEgYWZ0ZXIgeWVhcl9sZW4gaXMgc3BhY2UgaW4gYmV0d2VlbiBtb250aCBhbmQgeWVhci4gKi8KKwkJaWYgKGN0bC0+d2Vla193aWR0aCA8IHN0cmxlbihjdGwtPmZ1bGxfbW9udGhbaV0pICsgeWVhcl9sZW4gKyAxKQorCQkJY3RsLT5oZWFkZXJfaGludCA9IDE7CisJfQorfQorCitzdGF0aWMgdm9pZCBjYWxfZmlsbF9tb250aChzdHJ1Y3QgY2FsX21vbnRoICptb250aCwgY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwpCit7CisJaW50IGZpcnN0X3dlZWtfZGF5ID0gZGF5X2luX3dlZWsoY3RsLCAxLCBtb250aC0+bW9udGgsIG1vbnRoLT55ZWFyKTsKKwlpbnQgbW9udGhfZGF5czsKKwlpbnQgaSwgaiwgd2Vla2xpbmVzID0gMDsKKworCWlmIChjdGwtPmp1bGlhbikKKwkJaiA9IGRheV9pbl95ZWFyKGN0bCwgMSwgbW9udGgtPm1vbnRoLCBtb250aC0+eWVhcik7CisJZWxzZQorCQlqID0gMTsKKwltb250aF9kYXlzID0gaiArIGRheXNfaW5fbW9udGhbbGVhcF95ZWFyKGN0bCwgbW9udGgtPnllYXIpXVttb250aC0+bW9udGhdOworCisJLyogVHJ1ZSB3aGVuIFN1bmRheSBpcyBub3QgZmlyc3QgZGF5IGluIHRoZSBvdXRwdXQgd2Vlay4gKi8KKwlpZiAoY3RsLT53ZWVrc3RhcnQpIHsKKwkJZmlyc3Rfd2Vla19kYXkgLT0gY3RsLT53ZWVrc3RhcnQ7CisJCWlmIChmaXJzdF93ZWVrX2RheSA8IDApCisJCQlmaXJzdF93ZWVrX2RheSA9IERBWVNfSU5fV0VFSyAtIGN0bC0+d2Vla3N0YXJ0OworCQltb250aF9kYXlzICs9IGN0bC0+d2Vla3N0YXJ0IC0gMTsKKwl9CisKKwkvKiBGaWxsIGRheSBhcnJheS4gKi8KKwlmb3IgKGkgPSAwOyBpIDwgTUFYREFZUzsgaSsrKSB7CisJCWlmICgwIDwgZmlyc3Rfd2Vla19kYXkpIHsKKwkJCW1vbnRoLT5kYXlzW2ldID0gU1BBQ0U7CisJCQlmaXJzdF93ZWVrX2RheS0tOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGogPCBtb250aF9kYXlzKSB7CisJCQlpZiAobW9udGgtPnllYXIgPT0gY3RsLT5yZWZvcm1feWVhciAmJgorCQkJICAgIG1vbnRoLT5tb250aCA9PSBSRUZPUk1BVElPTl9NT05USCAmJgorCQkJICAgIChqID09IDMgfHwgaiA9PSAyNDcpKQorCQkJCWogKz0gTlVNQkVSX01JU1NJTkdfREFZUzsKKwkJCW1vbnRoLT5kYXlzW2ldID0gajsKKwkJCWorKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCW1vbnRoLT5kYXlzW2ldID0gU1BBQ0U7CisJCXdlZWtsaW5lcysrOworCX0KKworCS8qIEFkZCB3ZWVrIG51bWJlcnMgKi8KKwlpZiAoY3RsLT53ZWVrdHlwZSkgeworCQlpbnQgd2Vla251bSA9IHdlZWtfbnVtYmVyKDEsIG1vbnRoLT5tb250aCwgbW9udGgtPnllYXIsIGN0bCk7CisJCXdlZWtsaW5lcyA9IE1BWERBWVMgLyBEQVlTX0lOX1dFRUsgLSB3ZWVrbGluZXMgLyBEQVlTX0lOX1dFRUs7CisJCWZvciAoaSA9IDA7IGkgPCBNQVhEQVlTIC8gREFZU19JTl9XRUVLOyBpKyspIHsKKwkJCWlmICgwIDwgd2Vla2xpbmVzKSB7CisJCQkJaWYgKDUyIDwgd2Vla251bSkKKwkJCQkJd2Vla251bSA9IHdlZWtfbnVtYmVyKG1vbnRoLT5kYXlzW2kgKiBEQVlTX0lOX1dFRUtdLCBtb250aC0+bW9udGgsIG1vbnRoLT55ZWFyLCBjdGwpOworCQkJCW1vbnRoLT53ZWVrc1tpXSA9IHdlZWtudW0rKzsKKwkJCX0gZWxzZQorCQkJCW1vbnRoLT53ZWVrc1tpXSA9IFNQQUNFOworCQkJd2Vla2xpbmVzLS07CisJCX0KKwl9Cit9CisKK3N0YXRpYyB2b2lkIGNhbF9vdXRwdXRfaGVhZGVyKHN0cnVjdCBjYWxfbW9udGggKm1vbnRoLCBjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyIG91dFtGTVRfU1RfQ0hBUlNdOworCXN0cnVjdCBjYWxfbW9udGggKmk7CisKKwlpZiAoY3RsLT5oZWFkZXJfaGludCB8fCBjdGwtPmhlYWRlcl95ZWFyKSB7CisJCWZvciAoaSA9IG1vbnRoOyBpOyBpID0gaS0+bmV4dCkgeworCQkJc3ByaW50ZihvdXQsICIlcyIsIGN0bC0+ZnVsbF9tb250aFtpLT5tb250aCAtIDFdKTsKKwkJCWNlbnRlcihvdXQsIGN0bC0+d2Vla193aWR0aCAtIDEsIGktPm5leHQgPT0gTlVMTCA/IDAgOiBjdGwtPmd1dHRlcl93aWR0aCk7CisJCX0KKwkJaWYgKCFjdGwtPmhlYWRlcl95ZWFyKSB7CisJCQlteV9wdXRzdHJpbmcoIlxuIik7CisJCQlmb3IgKGkgPSBtb250aDsgaTsgaSA9IGktPm5leHQpIHsKKwkJCQlzcHJpbnRmKG91dCwgIiUwNGQiLCBpLT55ZWFyKTsKKwkJCQljZW50ZXIob3V0LCBjdGwtPndlZWtfd2lkdGggLSAxLCBpLT5uZXh0ID09IE5VTEwgPyAwIDogY3RsLT5ndXR0ZXJfd2lkdGgpOworCQkJfQorCQl9CisJfSBlbHNlIHsKKwkJZm9yIChpID0gbW9udGg7IGk7IGkgPSBpLT5uZXh0KSB7CisJCQlzcHJpbnRmKG91dCwgIiVzICUwNGQiLCBjdGwtPmZ1bGxfbW9udGhbaS0+bW9udGggLSAxXSwgaS0+eWVhcik7CisJCQljZW50ZXIob3V0LCBjdGwtPndlZWtfd2lkdGggLSAxLCBpLT5uZXh0ID09IE5VTEwgPyAwIDogY3RsLT5ndXR0ZXJfd2lkdGgpOworCQl9CisJfQorCW15X3B1dHN0cmluZygiXG4iKTsKKwlmb3IgKGkgPSBtb250aDsgaTsgaSA9IGktPm5leHQpIHsKKwkJaWYgKGN0bC0+d2Vla3R5cGUpIHsKKwkJCWlmIChjdGwtPmp1bGlhbikKKwkJCQlzcHJpbnRmKG91dCwgIiUqcyVzIiwgKGludCljdGwtPmRheV93aWR0aCAtIDEsICIiLCBkYXlfaGVhZGluZ3MpOworCQkJZWxzZQorCQkJCXNwcmludGYob3V0LCAiJSpzJXMiLCAoaW50KWN0bC0+ZGF5X3dpZHRoLCAiIiwgZGF5X2hlYWRpbmdzKTsKKwkJCW15X3B1dHN0cmluZyhvdXQpOworCQl9IGVsc2UKKwkJCW15X3B1dHN0cmluZyhkYXlfaGVhZGluZ3MpOworCQlpZiAoaS0+bmV4dCAhPSBOVUxMKSB7CisJCQlzcHJpbnRmKG91dCwgIiUqcyIsIGN0bC0+Z3V0dGVyX3dpZHRoLCAiIik7CisJCQlteV9wdXRzdHJpbmcob3V0KTsKKwkJfQorCX0KKwlteV9wdXRzdHJpbmcoIlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGNhbF9vdXRwdXRfbW9udGhzKHN0cnVjdCBjYWxfbW9udGggKm1vbnRoLCBjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyIG91dFtGTVRfU1RfQ0hBUlNdOworCWludCByZXFkYXksIHdlZWtfbGluZSwgZDsKKwlpbnQgc2tpcDsKKwlzdHJ1Y3QgY2FsX21vbnRoICppOworCisJZm9yICh3ZWVrX2xpbmUgPSAwOyB3ZWVrX2xpbmUgPCBNQVhEQVlTIC8gREFZU19JTl9XRUVLOyB3ZWVrX2xpbmUrKykgeworCQlmb3IgKGkgPSBtb250aDsgaTsgaSA9IGktPm5leHQpIHsKKwkJCS8qIERldGVybWluZSB0aGUgZGF5IHRoYXQgc2hvdWxkIGJlIGhpZ2hsaWdodGVkLiAqLworCQkJcmVxZGF5ID0gMDsKKwkJCWlmIChpLT5tb250aCA9PSBjdGwtPnJlcS5tb250aCAmJiBpLT55ZWFyID09IGN0bC0+cmVxLnllYXIpIHsKKwkJCQlpZiAoY3RsLT5qdWxpYW4pCisJCQkJCXJlcWRheSA9IGN0bC0+cmVxLmRheTsKKwkJCQllbHNlCisJCQkJCXJlcWRheSA9IGN0bC0+cmVxLmRheSArIDEgLQorCQkJCQkJIGRheV9pbl95ZWFyKGN0bCwgMSwgaS0+bW9udGgsCisJCQkJCQkJICAgICBpLT55ZWFyKTsKKwkJCX0KKworCQkJaWYgKGN0bC0+d2Vla3R5cGUpIHsKKwkJCQlpZiAoMCA8IGktPndlZWtzW3dlZWtfbGluZV0pIHsKKwkJCQkJaWYgKChjdGwtPndlZWt0eXBlICYgV0VFS19OVU1fTUFTSykgPT0KKwkJCQkJICAgIGktPndlZWtzW3dlZWtfbGluZV0pCisJCQkJCQlzcHJpbnRmKG91dCwgIiVzJTJkJXMiLCBTZW50ZXIsIGktPndlZWtzW3dlZWtfbGluZV0sCisJCQkJCQkgICAgICAgU2V4aXQpOworCQkJCQllbHNlCisJCQkJCQlzcHJpbnRmKG91dCwgIiUyZCIsIGktPndlZWtzW3dlZWtfbGluZV0pOworCQkJCX0gZWxzZQorCQkJCQlzcHJpbnRmKG91dCwgIiUycyIsICIiKTsKKwkJCQlteV9wdXRzdHJpbmcob3V0KTsKKwkJCQlza2lwID0gY3RsLT5kYXlfd2lkdGg7CisJCQl9IGVsc2UKKwkJCQkvKiBGaXJzdCBkYXkgb2YgdGhlIHdlZWsgaXMgb25lIGNoYXIgbmFycm93ZXIgdGhhbiB0aGUgb3RoZXIgZGF5cywKKwkJCQkgKiB1bmxlc3Mgd2VlayBudW1iZXIgaXMgcHJpbnRlZC4gICovCisJCQkJc2tpcCA9IGN0bC0+ZGF5X3dpZHRoIC0gMTsKKworCQkJZm9yIChkID0gREFZU19JTl9XRUVLICogd2Vla19saW5lOworCQkJICAgICBkIDwgREFZU19JTl9XRUVLICogd2Vla19saW5lICsgREFZU19JTl9XRUVLOyBkKyspIHsKKwkJCQlpZiAoMCA8IGktPmRheXNbZF0pIHsKKwkJCQkJaWYgKHJlcWRheSA9PSBpLT5kYXlzW2RdKQorCQkJCQkJc3ByaW50ZihvdXQsICIlKnMlcyUqZCVzIiwgc2tpcCAtIChjdGwtPmp1bGlhbiA/IDMgOiAyKSwKKwkJCQkJCSAgICAgICAiIiwgU2VudGVyLCAoY3RsLT5qdWxpYW4gPyAzIDogMiksCisJCQkJCQkgICAgICAgaS0+ZGF5c1tkXSwgU2V4aXQpOworCQkJCQllbHNlCisJCQkJCQlzcHJpbnRmKG91dCwgIiUqZCIsIHNraXAsIGktPmRheXNbZF0pOworCQkJCX0gZWxzZQorCQkJCQlzcHJpbnRmKG91dCwgIiUqcyIsIHNraXAsICIiKTsKKwkJCQlteV9wdXRzdHJpbmcob3V0KTsKKwkJCQlpZiAoc2tpcCA8IChpbnQpY3RsLT5kYXlfd2lkdGgpCisJCQkJCXNraXArKzsKKwkJCX0KKwkJCWlmIChpLT5uZXh0ICE9IE5VTEwpIHsKKwkJCQlzcHJpbnRmKG91dCwgIiUqcyIsIGN0bC0+Z3V0dGVyX3dpZHRoLCAiIik7CisJCQkJbXlfcHV0c3RyaW5nKG91dCk7CisJCQl9CisJCX0KKwkJaWYgKGkgPT0gTlVMTCkKKwkJCW15X3B1dHN0cmluZygiXG4iKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIG1vbnRobHkoY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwpCit7CisJc3RydWN0IGNhbF9tb250aCBtMSxtMixtMywgKm07CisJaW50IGksIHJvd3MsIG5ld19tb250aCwgbW9udGggPSBjdGwtPnJlcS5zdGFydF9tb250aCA/IGN0bC0+cmVxLnN0YXJ0X21vbnRoIDogY3RsLT5yZXEubW9udGg7CisJaW50MzJfdCB5ZWFyID0gY3RsLT5yZXEueWVhcjsKKworCS8qIGNhbCAtMywgY2FsIC1ZIC0tc3BhbiwgZXRjLiAqLworCWlmIChjdGwtPnNwYW5fbW9udGhzKSB7CisJCW5ld19tb250aCA9IG1vbnRoIC0gY3RsLT5udW1fbW9udGhzIC8gMjsKKwkJaWYgKG5ld19tb250aCA8IDEpIHsKKwkJCW1vbnRoID0gbmV3X21vbnRoICsgTU9OVEhTX0lOX1lFQVI7CisJCQl5ZWFyLS07CisJCX0KKwkJZWxzZQorCQkJbW9udGggPSBuZXdfbW9udGg7CisJfQorCisJbTEubmV4dCA9IChjdGwtPm1vbnRoc19pbl9yb3cgPiAxKSA/ICZtMiA6IE5VTEw7CisJbTIubmV4dCA9IChjdGwtPm1vbnRoc19pbl9yb3cgPiAyKSA/ICZtMyA6IE5VTEw7CisJbTMubmV4dCA9IE5VTEw7CisKKwlyb3dzID0gKGN0bC0+bnVtX21vbnRocyAtIDEpIC8gY3RsLT5tb250aHNfaW5fcm93OworCWZvciAoaSA9IDA7IGkgPCByb3dzICsgMSA7IGkrKyl7CisJCWlmIChpID09IHJvd3MpeworCQkJc3dpdGNoIChjdGwtPm51bV9tb250aHMgJSBjdGwtPm1vbnRoc19pbl9yb3cpeworCQkJCWNhc2UgMToKKwkJCQkJbTEubmV4dCA9IE5VTEw7CisJCQkJCS8qIGZhbGx0aHJvdWdoICovCisJCQkJY2FzZSAyOgorCQkJCQltMi5uZXh0ID0gTlVMTDsKKwkJCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJCX0KKwkJfQorCQlmb3IgKG0gPSAmbTE7IG07IG0gPSBtLT5uZXh0KXsKKwkJCW0tPm1vbnRoID0gbW9udGgrKzsKKwkJCW0tPnllYXIgPSB5ZWFyOworCQkJaWYgKE1PTlRIU19JTl9ZRUFSIDwgbW9udGgpIHsKKwkJCQl5ZWFyKys7CisJCQkJbW9udGggPSAxOworCQkJfQorCQkJY2FsX2ZpbGxfbW9udGgobSwgY3RsKTsKKwkJfQorCQljYWxfb3V0cHV0X2hlYWRlcigmbTEsIGN0bCk7CisJCWNhbF9vdXRwdXRfbW9udGhzKCZtMSwgY3RsKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHllYXJseShjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyIG91dFtGTVRfU1RfQ0hBUlNdOworCWludCB5ZWFyX3dpZHRoID0gMDsKKworCXllYXJfd2lkdGggKz0gKGN0bC0+d2Vla193aWR0aCArIDEpICogKGN0bC0+anVsaWFuID8gMiA6IDMpOworCWlmIChjdGwtPmp1bGlhbikKKwkJeWVhcl93aWR0aC0tOworCisJaWYgKGN0bC0+aGVhZGVyX3llYXIpIHsKKwkJc3ByaW50ZihvdXQsICIlMDRkIiwgY3RsLT5yZXEueWVhcik7CisJCWNlbnRlcihvdXQsIHllYXJfd2lkdGgsIDApOworCQlteV9wdXRzdHJpbmcoIlxuXG4iKTsKKwl9CisJbW9udGhseShjdGwpOworfQorCisvKgorICogZGF5X2luX3llYXIgLS0KKyAqCXJldHVybiB0aGUgMSBiYXNlZCBkYXkgbnVtYmVyIHdpdGhpbiB0aGUgeWVhcgorICovCitzdGF0aWMgaW50IGRheV9pbl95ZWFyKGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsLAorCQkgICAgICAgaW50IGRheSwgaW50IG1vbnRoLCBpbnQzMl90IHllYXIpCit7CisJaW50IGksIGxlYXA7CisKKwlsZWFwID0gbGVhcF95ZWFyKGN0bCwgeWVhcik7CisJZm9yIChpID0gMTsgaSA8IG1vbnRoOyBpKyspCisJCWRheSArPSBkYXlzX2luX21vbnRoW2xlYXBdW2ldOworCXJldHVybiBkYXk7Cit9CisKKy8qCisgKiBkYXlfaW5fd2VlaworICoJcmV0dXJuIHRoZSAwIGJhc2VkIGRheSBudW1iZXIgZm9yIGFueSBkYXRlIGZyb20gMSBKYW4uIDEgdG8KKyAqCTMxIERlYy4gOTk5OS4gIEFzc3VtZXMgdGhlIEdyZWdvcmlhbiByZWZvcm1hdGlvbiBlbGltaW5hdGVzCisgKgkzIFNlcC4gMTc1MiB0aHJvdWdoIDEzIFNlcC4gMTc1MiwgYW5kIHJldHVybnMgaW52YWxpZCB3ZWVrZGF5CisgKglkdXJpbmcgdGhlIHBlcmlvZCBvZiAxMSBkYXlzLgorICovCitzdGF0aWMgaW50IGRheV9pbl93ZWVrKGNvbnN0IHN0cnVjdCBjYWxfY29udHJvbCAqY3RsLCBpbnQgZGF5LAorCQkgICAgICAgaW50IG1vbnRoLCBpbnQzMl90IHllYXIpCit7CisJLyoKKwkqIFRoZSBtYWdpYyBjb25zdGFudHMgaW4gdGhlIHJlZm9ybVtdIGFycmF5IGFyZSwgaW4gYSBzaW1wbGlmaWVkCisJKiBzZW5zZSwgdGhlIHJlbWFpbmluZyBkYXlzIGFmdGVyIHNsaWNpbmcgaW50byBvbmUgd2VlayBwZXJpb2RzIHRoZSB0b3RhbAorCSogZGF5cyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHllYXIgdG8gdGhlIHRhcmdldCBtb250aC4gVGhhdCBpcywKKwkqIHdlZWtzICsgcmVmb3JtW10gZGF5cyBnZXRzIHVzIHRvIHRoZSB0YXJnZXQgbW9udGguIFRoZSBleGNlcHRpb24gaXMsCisJKiB0aGF0IGZvciB0aGUgbW9udGhzIHBhc3QgRmVicnVhcnkgJ0RPWSAtIDEnIG11c3QgYmUgdXNlZC4KKwkqCisJKiAgIERvWSAoRGF5IG9mIFllYXIpOiB0b3RhbCBkYXlzIHRvIHRoZSB0YXJnZXQgbW9udGgKKwkqCisJKiAgIE1vbnRoICAgICAgICAgICAgMSAgMiAgMyAgNCAgIDUgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyCisJKiAgIERvWSAgICAgICAgICAgICAgMCAzMSA1OSA5MCAxMjAgMTUxIDE4MSAyMTIgMjQzIDI3MyAzMDQgMzM0CisJKiAgIERvWSAlIDcgICAgICAgICAgMCAgMworCSogICBEb1kgLSAxICUgNyAgICAgIC0gLS0gIDIgIDUgICAwICAgMyAgIDUgICAxICAgNCAgIDYgICAyICAgNAorCSogICAgICAgcmVmb3JtW10gPSB7IDAsIDMsIDIsIDUsICAwLCAgMywgIDUsICAxLCAgNCwgIDYsICAyLCAgNCB9OworCSoKKwkqICBOb3RlOiB0aGVzZSBjYWxjdWxhdGlvbnMgYXJlIGZvciBub24gbGVhcCB5ZWFycy4KKwkqLworCXN0YXRpYyBjb25zdCBpbnQgcmVmb3JtW10gPSB7IDAsIDMsIDIsIDUsIDAsIDMsIDUsIDEsIDQsIDYsIDIsIDQgfTsKKwlzdGF0aWMgY29uc3QgaW50IG9sZFtdICAgID0geyA1LCAxLCAwLCAzLCA1LCAxLCAzLCA2LCAyLCA0LCAwLCAyIH07CisKKwlpZiAoeWVhciAhPSBjdGwtPnJlZm9ybV95ZWFyICsgMSkKKwkJeWVhciAtPSBtb250aCA8IE1BUkNIOworCWVsc2UKKwkJeWVhciAtPSAobW9udGggPCBNQVJDSCkgKyAxNDsKKwlpZiAoY3RsLT5yZWZvcm1feWVhciA8IHllYXIKKwkgICAgfHwgKHllYXIgPT0gY3RsLT5yZWZvcm1feWVhciAmJiBSRUZPUk1BVElPTl9NT05USCA8IG1vbnRoKQorCSAgICB8fCAoeWVhciA9PSBjdGwtPnJlZm9ybV95ZWFyCisJCSYmIG1vbnRoID09IFJFRk9STUFUSU9OX01PTlRIICYmIDEzIDwgZGF5KSkgeworCQlyZXR1cm4gKChpbnQ2NF90KSB5ZWFyICsgKHllYXIgLyA0KQorCQkJLSAoeWVhciAvIDEwMCkgKyAoeWVhciAvIDQwMCkKKwkJCSsgcmVmb3JtW21vbnRoIC0gMV0gKyBkYXkpICUgREFZU19JTl9XRUVLOworCX0KKwlpZiAoeWVhciA8IGN0bC0+cmVmb3JtX3llYXIKKwkgICAgfHwgKHllYXIgPT0gY3RsLT5yZWZvcm1feWVhciAmJiBtb250aCA8IFJFRk9STUFUSU9OX01PTlRIKQorCSAgICB8fCAoeWVhciA9PSBjdGwtPnJlZm9ybV95ZWFyICYmIG1vbnRoID09IFJFRk9STUFUSU9OX01PTlRIICYmIGRheSA8IDMpKQorCQlyZXR1cm4gKChpbnQ2NF90KSB5ZWFyICsgeWVhciAvIDQgKyBvbGRbbW9udGggLSAxXSArIGRheSkKKwkJCSUgREFZU19JTl9XRUVLOworCXJldHVybiBOT05FREFZOworfQorCisvKgorICogd2Vla19udW1iZXIKKyAqICAgICAgcmV0dXJuIHRoZSB3ZWVrIG51bWJlciBvZiBhIGdpdmVuIGRhdGUsIDEuLjU0LgorICogICAgICBTdXBwb3J0cyBJU08tODYwMSBhbmQgTm9ydGggQW1lcmljYW4gbW9kZXMuCisgKiAgICAgIERheSBtYXkgYmUgZ2l2ZW4gYXMgSnVsaWFuIGRheSBvZiB0aGUgeWVhciBtb2RlLCBpbiB3aGljaAorICogICAgICBjYXNlIHRoZSBtb250aCBpcyBkaXNyZWdhcmRlZCBlbnRpcmVseS4KKyAqLworc3RhdGljIGludCB3ZWVrX251bWJlcihpbnQgZGF5LCBpbnQgbW9udGgsIGludDMyX3QgeWVhciwgY29uc3Qgc3RydWN0IGNhbF9jb250cm9sICpjdGwpCit7CisJaW50IGZkYXkgPSAwLCB5ZGF5OworCWNvbnN0IGludCB3ZGF5ID0gZGF5X2luX3dlZWsoY3RsLCAxLCBKQU5VQVJZLCB5ZWFyKTsKKworCWlmIChjdGwtPndlZWt0eXBlICYgV0VFS19OVU1fSVNPKQorCQlmZGF5ID0gd2RheSArICh3ZGF5ID49IEZSSURBWSA/IC0yIDogNSk7CisJZWxzZSB7CisJCS8qIFdFRUtfTlVNX1VTOiBKYW4gMSBpcyBhbHdheXMgRmlyc3Qgd2VlaywgdGhhdCBtYXkKKwkJICogYmVnaW4gcHJldmlvdXMgeWVhci4gIFRoYXQgbWVhbnMgdGhlcmUgaXMgdmVyeSBzZWxkb20KKwkJICogbW9yZSB0aGFuIDUyIHdlZWtzLCAqLworCQlmZGF5ID0gd2RheSArIDY7CisJfQorCS8qIEZvciBqdWxpYW4gZGF0ZXMgdGhlIG1vbnRoIGNhbiBiZSBzZXQgdG8gMSwgdGhlIGdsb2JhbCBqdWxpYW4KKwkgKiB2YXJpYWJsZSBjYW5ub3QgYmUgcmVsaWVkIHVwb24gaGVyZSwgYmVjYXVzZSB3ZSBtYXkgcmVjdXJzZQorCSAqIGludGVybmFsbHkgZm9yIDMxLjEyLiB3aGljaCB3b3VsZCBub3Qgd29yay4gKi8KKwlpZiAoZGF5ID4gREFZU19JTl9NT05USCkKKwkJbW9udGggPSBKQU5VQVJZOworCisJeWRheSA9IGRheV9pbl95ZWFyKGN0bCwgZGF5LCBtb250aCwgeWVhcik7CisJaWYgKHllYXIgPT0gY3RsLT5yZWZvcm1feWVhciAmJiB5ZGF5ID49IFlEQVlfQUZURVJfTUlTU0lORykKKwkJZmRheSAtPSBOVU1CRVJfTUlTU0lOR19EQVlTOworCisJLyogTGFzdCB5ZWFyIGlzIGxhc3QgeWVhciAqLworCWlmICh5ZGF5ICsgZmRheSA8IERBWVNfSU5fV0VFSykKKwkJcmV0dXJuIHdlZWtfbnVtYmVyKDMxLCBERUNFTUJFUiwgeWVhciAtIDEsIGN0bCk7CisKKwkvKiBPciBpdCBjb3VsZCBiZSBwYXJ0IG9mIHRoZSBuZXh0IHllYXIuICBUaGUgcmVmb3JtYXRpb24geWVhciBoYWQgbGVzcworCSAqIGRheXMgdGhhbiAzNjUgbWFraW5nIHRoaXMgY2hlY2sgaW52YWxpZCwgYnV0IHJlZm9ybWF0aW9uIHllYXIgZW5kZWQKKwkgKiBvbiBTdW5kYXkgYW5kIGluIHdlZWsgNTEsIHNvIGl0J3Mgb2sgaGVyZS4gKi8KKwlpZiAoY3RsLT53ZWVrdHlwZSA9PSBXRUVLX05VTV9JU08gJiYgeWRheSA+PSAzNjMKKwkgICAgJiYgZGF5X2luX3dlZWsoY3RsLCBkYXksIG1vbnRoLCB5ZWFyKSA+PSBNT05EQVkKKwkgICAgJiYgZGF5X2luX3dlZWsoY3RsLCBkYXksIG1vbnRoLCB5ZWFyKSA8PSBXRURORVNEQVkKKwkgICAgJiYgZGF5X2luX3dlZWsoY3RsLCAzMSwgREVDRU1CRVIsIHllYXIpID49IE1PTkRBWQorCSAgICAmJiBkYXlfaW5fd2VlayhjdGwsIDMxLCBERUNFTUJFUiwgeWVhcikgPD0gV0VETkVTREFZKQorCQlyZXR1cm4gd2Vla19udW1iZXIoMSwgSkFOVUFSWSwgeWVhciArIDEsIGN0bCk7CisKKwlyZXR1cm4gKHlkYXkgKyBmZGF5KSAvIERBWVNfSU5fV0VFSzsKK30KKworLyoKKyAqIHdlZWtfdG9fZGF5CisgKiAgICAgIHJldHVybiB0aGUgeWRheSBvZiB0aGUgZmlyc3QgZGF5IGluIGEgZ2l2ZW4gd2VlayBpbnNpZGUKKyAqICAgICAgdGhlIGdpdmVuIHllYXIuIFRoaXMgbWF5IGJlIHNvbWV0aGluZyBvdGhlciB0aGFuIE1vbmRheQorICogICAgICBmb3IgSVNPLTg2MDEgbW9kZXMuIEZvciBOb3J0aCBBbWVyaWNhbiBudW1iZXJpbmcgdGhpcworICogICAgICBhbHdheXMgcmV0dXJucyBhIFN1bmRheS4KKyAqLworc3RhdGljIGludCB3ZWVrX3RvX2RheShjb25zdCBzdHJ1Y3QgY2FsX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgeWRheSwgd2RheTsKKworCXdkYXkgPSBkYXlfaW5fd2VlayhjdGwsIDEsIEpBTlVBUlksIGN0bC0+cmVxLnllYXIpOworCXlkYXkgPSBjdGwtPnJlcS53ZWVrICogREFZU19JTl9XRUVLIC0gd2RheTsKKworCWlmIChjdGwtPnJlcS55ZWFyID09IGN0bC0+cmVmb3JtX3llYXIgJiYgeWRheSA+PSBZREFZX0FGVEVSX01JU1NJTkcpCisJCXlkYXkgKz0gTlVNQkVSX01JU1NJTkdfREFZUzsKKworCWlmIChjdGwtPndlZWt0eXBlICYgV0VFS19OVU1fSVNPKQorCQl5ZGF5IC09ICh3ZGF5ID49IEZSSURBWSA/IC0yIDogNSk7CisJZWxzZQorCQl5ZGF5IC09IDY7CS8qIFdFRUtfTlVNX1VTICovCisJaWYgKHlkYXkgPD0gMCkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4geWRheTsKK30KKworLyoKKyAqIENlbnRlciBzdHJpbmcsIGhhbmRsaW5nIG11bHRpYnl0ZSBjaGFyYWN0ZXJzIGFwcHJvcHJpYXRlbHkuCisgKiBJbiBhZGRpdGlvbiBpZiB0aGUgc3RyaW5nIGlzIHRvbyBsYXJnZSBmb3IgdGhlIHdpZHRoIGl0J3MgdHJ1bmNhdGVkLgorICogVGhlIG51bWJlciBvZiB0cmFpbGluZyBzcGFjZXMgbWF5IGJlIDEgbGVzcyB0aGFuIHRoZSBudW1iZXIgb2YgbGVhZGluZyBzcGFjZXMuCisgKi8KK3N0YXRpYyBpbnQgY2VudGVyX3N0cihjb25zdCBjaGFyKiBzcmMsIGNoYXIqIGRlc3QsCisJCSAgICAgIHNpemVfdCBkZXN0X3NpemUsIHNpemVfdCB3aWR0aCkKK3sKKwlyZXR1cm4gbWJzYWxpZ24oc3JjLCBkZXN0LCBkZXN0X3NpemUsICZ3aWR0aCwKKwkJCU1CU19BTElHTl9DRU5URVIsIE1CQV9VTklCWVRFX0ZBTExCQUNLKTsKK30KKworc3RhdGljIHZvaWQgY2VudGVyKGNvbnN0IGNoYXIgKnN0ciwgc2l6ZV90IGxlbiwgaW50IHNlcGFyYXRlKQoreworCWNoYXIgbGluZW91dFtGTVRfU1RfQ0hBUlNdOworCisJY2VudGVyX3N0cihzdHIsIGxpbmVvdXQsIEFSUkFZX1NJWkUobGluZW91dCksIGxlbik7CisJbXlfcHV0c3RyaW5nKGxpbmVvdXQpOworCisJaWYgKHNlcGFyYXRlKSB7CisJCXNucHJpbnRmKGxpbmVvdXQsIHNpemVvZihsaW5lb3V0KSwgIiUqcyIsIHNlcGFyYXRlLCAiIik7CisJCW15X3B1dHN0cmluZyhsaW5lb3V0KTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfcmVmb3JtX3llYXIoY29uc3QgY2hhciAqcmVmb3JtX3llYXIpCit7CisJc2l6ZV90IGk7CisKKwlzdHJ1Y3QgcmVmb3JtIHsKKwkJY2hhciAqbmFtZTsKKwkJaW50IHZhbDsKKwl9OworCisJc3RydWN0IHJlZm9ybSB5ZWFyc1tdID0geworCXsiZ3JlZ29yaWFuIiwJR1JFR09SSUFOfSwKKwl7ImlzbyIsCQlJU099LAorCXsiMTc1MiIsCUdCMTc1Mn0sCisJeyJqdWxpYW4iLAlKVUxJQU59LAorCX07CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh5ZWFycyk7IGkrKykgeworCQlpZiAoc3RyY2FzZWNtcChyZWZvcm1feWVhciwgeWVhcnNbaV0ubmFtZSkgPT0gMCkgeworCQkJcmV0dXJuIHllYXJzW2ldLnZhbDsKKwkJfQorCX0KKwllcnJ4KEVYSVRfRkFJTFVSRSwgImludmFsaWQgLS1yZWZvcm0gdmFsdWU6ICclcyciLCByZWZvcm1feWVhcik7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yZWZvcm0gPHZhbD4gICAgR3JlZ29yaWFuIHJlZm9ybSBkYXRlICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX0NPTE9SU19ERUZBVUxUKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIzKSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJjYWwoMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2ZpbmNvcmUuMSBiL21pc2MtdXRpbHMvZmluY29yZS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwZTI5MmMKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2ZpbmNvcmUuMQpAQCAtMCwwICsxLDYyIEBACisuXCIgQ29weXJpZ2h0IDIwMTcgUmVkIEhhdCwgSW5jLgorLlwiCisuXCIgVGhpcyBmaWxlIG1heSBiZSBjb3BpZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljIExpY2Vuc2UuCisuVEggRklOQ09SRSAxICJNYXJjaCAyMDE3IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorZmluY29yZSBcLSBjb3VudCBwYWdlcyBvZiBmaWxlIGNvbnRlbnRzIGluIGNvcmUKKy5TSCBTWU5PUFNJUworLkIgZmluY29yZQorW29wdGlvbnNdCisuSSBmaWxlIC4uLgorLlNIIERFU0NSSVBUSU9OCisuQiBmaW5jb3JlCitjb3VudHMgcGFnZXMgb2YgZmlsZSBjb250ZW50cyBiZWluZyByZXNpZGVudCBpbiBtZW1vcnkoaW4gY29yZSksIGFuZCByZXBvcnRzCit0aGUgbnVtYmVycy4gIElmIGFuIGVycm9yIG9jY3VycyBkdXJpbmcgY291bnRpbmcsIHRoZW4gYW4gZXJyb3IgbWVzc2FnZSBpcworcHJpbnRlZCB0byB0aGUgc3RkZXJyIGFuZAorLkIgZmluY29yZQorY29udGludWVzIHByb2Nlc3NpbmcgdGhlIHJlc3Qgb2YgZmlsZXMgbGlzdGVkIGluIGEgY29tbWFuZCBsaW5lLgorCitUaGUgZGVmYXVsdCBvdXRwdXQgaXMgc3ViamVjdCB0byBjaGFuZ2UuICBTbyB3aGVuZXZlciBwb3NzaWJsZSwgeW91IHNob3VsZAorYXZvaWQgdXNpbmcgZGVmYXVsdCBvdXRwdXRzIGluIHlvdXIgc2NyaXB0cy4gIEFsd2F5cyBleHBsaWNpdGx5IGRlZmluZSBleHBlY3RlZAorY29sdW1ucyBieSB1c2luZworLkIgXC1cLW91dHB1dAorLkkgY29sdW1ucy1saXN0CitpbiBlbnZpcm9ubWVudHMgd2hlcmUgYSBzdGFibGUgb3V0cHV0IGlzIHJlcXVpcmVkLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vaGVhZGluZ3MiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZSBpbiBzdGF0dXMgb3V0cHV0LgorLlRQCisuQlIgXC1iICwgIiBcLVwtYnl0ZXMiCitQcmludCB0aGUgU0laRSBjb2x1bW4gaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gYSBodW1hbi1yZWFkYWJsZSBmb3JtYXQuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgXGZJbGlzdFxmUCIKK0RlZmluZSBvdXRwdXQgY29sdW1ucy4gIFNlZSB0aGUgXGZCXC1cLWhlbHBcZlAgb3V0cHV0IHRvIGdldCBhIGxpc3Qgb2YgdGhlCitjdXJyZW50bHkgc3VwcG9ydGVkIGNvbHVtbnMuIFRoZSBkZWZhdWx0IGxpc3Qgb2YgY29sdW1ucyBtYXkgYmUgZXh0ZW5kZWQgaWYgXGZJbGlzdFxmUCBpcworc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgXGZJK2xpc3RcZlAuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yYXciCitQcm9kdWNlIG91dHB1dCBpbiByYXcgZm9ybWF0LiAgQWxsIHBvdGVudGlhbGx5IHVuc2FmZSBjaGFyYWN0ZXJzIGFyZSBoZXgtZXNjYXBlZAorKFxceDxjb2RlPikuCisuVFAKKy5CUiBcLUogLCAiIFwtXC1qc29uIgorVXNlIEpTT04gb3V0cHV0IGZvcm1hdC4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBBVVRIT1JTCisuTVQgeWFtYXRvQFw6cmVkaGF0LmNvbQorTWFzYXRha2UgWUFNQVRPCisuTUUKKy5TSCAiU0VFIEFMU08iCisuQlIgbWluY29yZSAoMiksCisuQlIgZ2V0cGFnZXNpemUgKDIpLAorLkJSIGdldGNvbmYgKDEpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgZmluY29yZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9maW5jb3JlLmMgYi9taXNjLXV0aWxzL2ZpbmNvcmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42YmFkMmMwCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9maW5jb3JlLmMKQEAgLTAsMCArMSw0MTcgQEAKKy8qCisgKiBmaW5jb3JlIC0gY291bnQgcGFnZXMgb2YgZmlsZSBjb250ZW50cyBpbiBjb3JlCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE3IFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgTWFzYXRha2UgWUFNQVRPIDx5YW1hdG9AcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisjaW5jbHVkZSAibGlic21hcnRjb2xzLmgiCisKKy8qIEZvciBsYXJnZSBmaWxlcywgbW1hcCBpcyBjYWxsZWQgaW4gaXRlcmF0aXZlIHdheS4KKyAgIFdpbmRvdyBpcyB0aGUgdW5pdCBvZiB2bWEgcHJlcGFyZWQgaW4gZWFjaCBtbWFwCisgICBjYWxsaW5nLgorCisgICBXaW5kb3cgc2l6ZSBkZXBlbmRzIG9uIHBhZ2Ugc2l6ZS4KKyAgIGUuZy4gMTI4TUIgb24geDg2XzY0LiAoID0gTl9QQUdFU19JTl9XSU5ET1cgKiA0MDk2ICkuICovCisjZGVmaW5lIE5fUEFHRVNfSU5fV0lORE9XICgoc2l6ZV90KSgzMiAqIDEwMjQpKQorCisKK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOworCWRvdWJsZSB3aGludDsKKwlpbnQgZmxhZ3M7CisJY29uc3QgY2hhciAqaGVscDsKK307CisKK2VudW0geworCUNPTF9QQUdFUywKKwlDT0xfU0laRSwKKwlDT0xfRklMRSwKKwlDT0xfUkVTCit9OworCitzdGF0aWMgc3RydWN0IGNvbGluZm8gaW5mb3NbXSA9IHsKKwlbQ09MX1BBR0VTXSAgPSB7ICJQQUdFUyIsICAgIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIpfSwKKwlbQ09MX1JFU10gICAgPSB7ICJSRVMiLCAgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIpfSwgCisJW0NPTF9TSVpFXSAgID0geyAiU0laRSIsICAgICA1LCBTQ09MU19GTF9SSUdIVCwgTl8oInNpemUgb2YgdGhlIGZpbGUiKX0sCisJW0NPTF9GSUxFXSAgID0geyAiRklMRSIsICAgICA0LCAwLCBOXygiZmlsZSBuYW1lIil9LAorfTsKKworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl0gPSB7LTF9Oworc3RhdGljIHNpemVfdCBuY29sdW1uczsKKworc3RydWN0IGZpbmNvcmVfY29udHJvbCB7CisJY29uc3Qgc2l6ZV90IHBhZ2VzaXplOworCisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YjsJCS8qIG91dHB1dCAqLworCisJdW5zaWduZWQgaW50IGJ5dGVzIDogMSwKKwkJICAgICBub2hlYWRpbmdzIDogMSwKKwkJICAgICByYXcgOiAxLAorCQkgICAgIGpzb24gOiAxOworfTsKKworCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA+PSAwKTsKKwlhc3NlcnQoKHNpemVfdCkgbnVtIDwgbmNvbHVtbnMpOworCWFzc2VydChjb2x1bW5zW251bV0gPCAoaW50KSBBUlJBWV9TSVpFKGluZm9zKSk7CisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8oaW50IG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGludCBhZGRfb3V0cHV0X2RhdGEoc3RydWN0IGZpbmNvcmVfY29udHJvbCAqY3RsLAorCQkJICAgY29uc3QgY2hhciAqbmFtZSwKKwkJCSAgIG9mZl90IGZpbGVfc2l6ZSwKKwkJCSAgIG9mZl90IGNvdW50X2luY29yZSkKK3sKKwlzaXplX3QgaTsKKwljaGFyICp0bXA7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCisJYXNzZXJ0KGN0bCk7CisJYXNzZXJ0KGN0bC0+dGIpOworCisJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZShjdGwtPnRiLCBOVUxMKTsKKwlpZiAoIWxuKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQlpbnQgcmMgPSAwOworCisJCXN3aXRjaChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX0ZJTEU6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIGksIG5hbWUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BBR0VTOgorCQkJeGFzcHJpbnRmKCZ0bXAsICIlamQiLCAgKGludG1heF90KSBjb3VudF9pbmNvcmUpOworCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIGksIHRtcCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUkVTOgorCQl7CisJCQl1aW50bWF4X3QgcmVzID0gKHVpbnRtYXhfdCkgY291bnRfaW5jb3JlICogY3RsLT5wYWdlc2l6ZTsKKworCQkJaWYgKGN0bC0+Ynl0ZXMpCisJCQkJeGFzcHJpbnRmKCZ0bXAsICIlanUiLCByZXMpOworCQkJZWxzZQorCQkJCXRtcCA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHJlcyk7CisJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgaSwgdG1wKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgQ09MX1NJWkU6CisJCQlpZiAoY3RsLT5ieXRlcykKKwkJCQl4YXNwcmludGYoJnRtcCwgIiVqZCIsIChpbnRtYXhfdCkgZmlsZV9zaXplKTsKKwkJCWVsc2UKKwkJCQl0bXAgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBmaWxlX3NpemUpOworCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIGksIHRtcCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisKKwkJaWYgKHJjKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIpKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBkb19taW5jb3JlKHN0cnVjdCBmaW5jb3JlX2NvbnRyb2wgKmN0bCwKKwkJICAgICAgdm9pZCAqd2luZG93LCBjb25zdCBzaXplX3QgbGVuLAorCQkgICAgICBjb25zdCBjaGFyICpuYW1lLAorCQkgICAgICBvZmZfdCAqY291bnRfaW5jb3JlKQoreworCXN0YXRpYyB1bnNpZ25lZCBjaGFyIHZlY1tOX1BBR0VTX0lOX1dJTkRPV107CisJaW50IG4gPSAobGVuIC8gY3RsLT5wYWdlc2l6ZSkgKyAoKGxlbiAlIGN0bC0+cGFnZXNpemUpPyAxOiAwKTsKKworCWlmIChtaW5jb3JlICh3aW5kb3csIGxlbiwgdmVjKSA8IDApIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gZG8gbWluY29yZTogJXMiKSwgbmFtZSk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJd2hpbGUgKG4gPiAwKQorCXsKKwkJaWYgKHZlY1stLW5dICYgMHgxKQorCQl7CisJCQl2ZWNbbl0gPSAwOworCQkJKCpjb3VudF9pbmNvcmUpKys7CisJCX0KKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBmaW5jb3JlX2ZkIChzdHJ1Y3QgZmluY29yZV9jb250cm9sICpjdGwsCisJCSAgICAgICBpbnQgZmQsCisJCSAgICAgICBjb25zdCBjaGFyICpuYW1lLAorCQkgICAgICAgb2ZmX3QgZmlsZV9zaXplLAorCQkgICAgICAgb2ZmX3QgKmNvdW50X2luY29yZSkKK3sKKwlzaXplX3Qgd2luZG93X3NpemUgPSBOX1BBR0VTX0lOX1dJTkRPVyAqIGN0bC0+cGFnZXNpemU7CisJb2ZmX3QgZmlsZV9vZmZzZXQsIGxlbjsKKwlpbnQgcmMgPSAwOworCWludCB3YXJuZWRfb25jZSA9IDA7CisKKwlmb3IgKGZpbGVfb2Zmc2V0ID0gMDsgZmlsZV9vZmZzZXQgPCBmaWxlX3NpemU7IGZpbGVfb2Zmc2V0ICs9IGxlbikgeworCQl2b2lkICAqd2luZG93ID0gTlVMTDsKKworCQlsZW4gPSBmaWxlX3NpemUgLSBmaWxlX29mZnNldDsKKwkJaWYgKGxlbiA+PSAob2ZmX3QpIHdpbmRvd19zaXplKQorCQkJbGVuID0gd2luZG93X3NpemU7CisKKwkJd2luZG93ID0gbW1hcCh3aW5kb3csIGxlbiwgUFJPVF9OT05FLCBNQVBfUFJJVkFURSwgZmQsIGZpbGVfb2Zmc2V0KTsKKwkJaWYgKHdpbmRvdyA9PSBNQVBfRkFJTEVEKSB7CisJCQlpZiAoIXdhcm5lZF9vbmNlKSB7CisJCQkJcmMgPSAtRUlOVkFMOworCQkJCXdhcm4oXygiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIiksIG5hbWUpOworCQkJCXdhcm5lZF9vbmNlID0gMTsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisKKwkJcmMgPSBkb19taW5jb3JlKGN0bCwgd2luZG93LCBsZW4sIG5hbWUsIGNvdW50X2luY29yZSk7CisJCWlmIChyYykKKwkJCWJyZWFrOworCisJCW11bm1hcCAod2luZG93LCBsZW4pOworCX0KKworCXJldHVybiByYzsKK30KKworLyoKKyAqIFJldHVybnM6IDwwIG9uIGVycm9yLCAwIHN1Y2Nlc3MsIDEgaWdub3JlLgorICovCitzdGF0aWMgaW50IGZpbmNvcmVfbmFtZShzdHJ1Y3QgZmluY29yZV9jb250cm9sICpjdGwsCisJCQljb25zdCBjaGFyICpuYW1lLAorCQkJc3RydWN0IHN0YXQgKnNiLAorCQkJb2ZmX3QgKmNvdW50X2luY29yZSkKK3sKKwlpbnQgZmQ7CisJaW50IHJjID0gMDsKKworCWlmICgoZmQgPSBvcGVuIChuYW1lLCBPX1JET05MWSkpIDwgMCkgeworCQl3YXJuKF8oImZhaWxlZCB0byBvcGVuOiAlcyIpLCBuYW1lKTsKKwkJcmV0dXJuIC1lcnJubzsKKwl9CisKKwlpZiAoZnN0YXQgKGZkLCBzYikgPCAwKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIpLCBuYW1lKTsKKwkJY2xvc2UgKGZkKTsKKwkJcmV0dXJuIC1lcnJubzsKKwl9CisKKwlpZiAoU19JU0RJUihzYi0+c3RfbW9kZSkpCisJCXJjID0gMTsJCQkvKiBpZ25vcmUgKi8KKworCWVsc2UgaWYgKHNiLT5zdF9zaXplKQorCQlyYyA9IGZpbmNvcmVfZmQoY3RsLCBmZCwgbmFtZSwgc2ItPnN0X3NpemUsIGNvdW50X2luY29yZSk7CisKKwljbG9zZSAoZmQpOworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1KLCAtLWpzb24gICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYnl0ZXMgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dCA8bGlzdD4gICBvdXRwdXQgY29sdW1uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJhdyAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjMpKTsKKworCWZwcmludGYob3V0LCBVU0FHRV9DT0xVTU5TKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTFzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImZpbmNvcmUoMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqIGFyZ3YpCit7CisJaW50IGM7CisJc2l6ZV90IGk7CisJaW50IHJjID0gRVhJVF9TVUNDRVNTOworCWNoYXIgKm91dGFyZyA9IE5VTEw7CisKKwlzdHJ1Y3QgZmluY29yZV9jb250cm9sIGN0bCA9IHsKKwkJLnBhZ2VzaXplID0gZ2V0cGFnZXNpemUoKQorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJieXRlcyIsICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdiJyB9LAorCQl7ICJub2hlYWRpbmdzIiwgbm9fYXJndW1lbnQsIE5VTEwsICduJyB9LAorCQl7ICJvdXRwdXQiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgbm9fYXJndW1lbnQsIE5VTEwsICdWJyB9LAorCQl7ICJoZWxwIiwJbm9fYXJndW1lbnQsIE5VTEwsICdoJyB9LAorCQl7ICJqc29uIiwgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdKJyB9LAorCQl7ICJyYXciLCAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdyJyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfSwKKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nIChhcmdjLCBhcmd2LCAiYm5vOkpyVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdiJzoKKwkJCWN0bC5ieXRlcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwubm9oZWFkaW5ncyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnSic6CisJCQljdGwuanNvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQljdGwucmF3ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKG9wdGluZCA9PSBhcmdjKSB7CisJCXdhcm54KF8oIm5vIGZpbGUgc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJaWYgKCFuY29sdW1ucykgeworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1JFUzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9QQUdFUzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TSVpFOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0ZJTEU7CisJfQorCisJaWYgKG91dGFyZyAmJiBzdHJpbmdfYWRkX3RvX2lkYXJyYXkob3V0YXJnLCBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkgJm5jb2x1bW5zLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKwljdGwudGIgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIWN0bC50YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIpKTsKKworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKGN0bC50YiwgY3RsLm5vaGVhZGluZ3MpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcoY3RsLnRiLCBjdGwucmF3KTsKKwlzY29sc190YWJsZV9lbmFibGVfanNvbihjdGwudGIsIGN0bC5qc29uKTsKKwlpZiAoY3RsLmpzb24pCisJCXNjb2xzX3RhYmxlX3NldF9uYW1lKGN0bC50YiwgImZpbmNvcmUiKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNvbnN0IHN0cnVjdCBjb2xpbmZvICpjb2wgPSBnZXRfY29sdW1uX2luZm8oaSk7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCisJCWNsID0gc2NvbHNfdGFibGVfbmV3X2NvbHVtbihjdGwudGIsIGNvbC0+bmFtZSwgY29sLT53aGludCwgY29sLT5mbGFncyk7CisJCWlmICghY2wpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIpKTsKKworCQlpZiAoY3RsLmpzb24pIHsKKwkJCWludCBpZCA9IGdldF9jb2x1bW5faWQoaSk7CisKKwkJCXN3aXRjaCAoaWQpIHsKKwkJCWNhc2UgQ09MX0ZJTEU6CisJCQkJc2NvbHNfY29sdW1uX3NldF9qc29uX3R5cGUoY2wsIFNDT0xTX0pTT05fU1RSSU5HKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1NJWkU6CisJCQljYXNlIENPTF9SRVM6CisJCQkJaWYgKCFjdGwuYnl0ZXMpCisJCQkJCWJyZWFrOworCQkJCS8qIGZhbGx0aHJvdWdoICovCisJCQlkZWZhdWx0OgorCQkJCXNjb2xzX2NvbHVtbl9zZXRfanNvbl90eXBlKGNsLCBTQ09MU19KU09OX05VTUJFUik7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwlmb3IoOyBvcHRpbmQgPCBhcmdjOyBvcHRpbmQrKykgeworCQljaGFyICpuYW1lID0gYXJndltvcHRpbmRdOworCQlzdHJ1Y3Qgc3RhdCBzYjsKKwkJb2ZmX3QgY291bnRfaW5jb3JlID0gMDsKKworCQlzd2l0Y2ggKGZpbmNvcmVfbmFtZSgmY3RsLCBuYW1lLCAmc2IsICZjb3VudF9pbmNvcmUpKSB7CisJCWNhc2UgMDoKKwkJCWFkZF9vdXRwdXRfZGF0YSgmY3RsLCBuYW1lLCBzYi5zdF9zaXplLCBjb3VudF9pbmNvcmUpOworCQkJYnJlYWs7CisJCWNhc2UgMToKKwkJCWJyZWFrOyAvKiBpZ25vcmUgKi8KKwkJZGVmYXVsdDoKKwkJCXJjID0gRVhJVF9GQUlMVVJFOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlzY29sc19wcmludF90YWJsZShjdGwudGIpOworCXNjb2xzX3VucmVmX3RhYmxlKGN0bC50Yik7CisKKwlyZXR1cm4gcmM7Cit9CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2ZpbmRmcy44IGIvbWlzYy11dGlscy9maW5kZnMuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2JiMjQyCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9maW5kZnMuOApAQCAtMCwwICsxLDg0IEBACisuXCIgQ29weXJpZ2h0IDE5OTMsIDE5OTQsIDE5OTUgYnkgVGhlb2RvcmUgVHMnby4gIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisuXCIgVGhpcyBmaWxlIG1heSBiZSBjb3BpZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljIExpY2Vuc2UuCisuXCIKKy5USCBGSU5ERlMgOCAiTWFyY2ggMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorZmluZGZzIFwtIGZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQKKy5TSCBTWU5PUFNJUworLkIgZmluZGZzCisuQkkgTkFNRT0gdmFsdWUKKy5TSCBERVNDUklQVElPTgorLkIgZmluZGZzCit3aWxsIHNlYXJjaCB0aGUgYmxvY2sgZGV2aWNlcyBpbiB0aGUgc3lzdGVtIGxvb2tpbmcgZm9yIGEgZmlsZXN5c3RlbSBvcgorcGFydGl0aW9uIHdpdGggc3BlY2lmaWVkIHRhZy4gVGhlIGN1cnJlbnRseSBzdXBwb3J0ZWQgdGFncyBhcmU6CisuVFAKKy5CIExBQkVMPTxsYWJlbD4KK1NwZWNpZmllcyBmaWxlc3lzdGVtIGxhYmVsLgorLlRQCisuQiBVVUlEPTx1dWlkPgorU3BlY2lmaWVzIGZpbGVzeXN0ZW0gVVVJRC4KKy5UUAorLkIgUEFSVFVVSUQ9PHV1aWQ+CitTcGVjaWZpZXMgcGFydGl0aW9uIFVVSUQuIFRoaXMgcGFydGl0aW9uIGlkZW50aWZpZXIgaXMgc3VwcG9ydGVkIGZvciBleGFtcGxlIGZvcgorR1VJRCAgUGFydGl0aW9uICBUYWJsZSAoR1BUKSBwYXJ0aXRpb24gdGFibGVzLgorLlRQCisuQiBQQVJUTEFCRUw9PGxhYmVsPgorU3BlY2lmaWVzIHBhcnRpdGlvbiBsYWJlbCAobmFtZSkuIFRoZSBwYXJ0aXRpb24gbGFiZWxzIGFyZSBzdXBwb3J0ZWQgZm9yIGV4YW1wbGUgZm9yCitHVUlEIFBhcnRpdGlvbiBUYWJsZSAoR1BUKSBvciBNQUMgcGFydGl0aW9uIHRhYmxlcy4KKy5QUAorSWYgdGhlIGZpbGVzeXN0ZW0gb3IgcGFydGl0aW9uIGlzIGZvdW5kLCB0aGUgZGV2aWNlIG5hbWUgd2lsbCBiZSBwcmludGVkIG9uCitzdGRvdXQuCisKK1RoZSBjb21wbGV0ZSBvdmVydmlldyBhYm91dCBmaWxlc3lzdGVtcyBhbmQgcGFydGl0aW9ucyB5b3UgY2FuIGdldCBmb3IgZXhhbXBsZQorYnkKKy5SUworCisuYnIKKy5CIGxzYmxrIFwtXC1mcworLmJyCisKKy5CIHBhcnR4IC0tc2hvdyA8ZGlzaz4KKy5icgorCisuQiBibGtpZAorLmJyCisKKy5SRQorCisuUFAKKy5TSCAiRVhJVCBTVEFUVVMiCisuUlMKKy5QRCAwCisuVFAKKy5CIDAKK3N1Y2Nlc3MKKy5UUAorLkIgMQorbGFiZWwgb3IgdXVpZCBjYW5ub3QgYmUgZm91bmQKKy5UUAorLkIgMgordXNhZ2UgZXJyb3IsIHdyb25nIG51bWJlciBvZiBhcmd1bWVudHMgb3IgdW5rbm93biBvcHRpb24KKy5QRAorLlJFCisuU0ggQVVUSE9SCisuQiBmaW5kZnMKK3dhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYnkKKy5NVCB0eXRzb0BtaXQuZWR1CitUaGVvZG9yZSBUcydvCisuTUUKK2FuZCByZS13cml0dGVuIGZvciB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGJ5CisuTVQga3pha0ByZWRoYXQuY29tCitLYXJlbCBaYWsKKy5NRSAuCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJCTEtJRF9ERUJVRz1hbGwKK2VuYWJsZXMgbGliYmxraWQgZGVidWcgb3V0cHV0LgorLlNIIFNFRSBBTFNPCisuQlIgYmxraWQgKDgpLAorLkJSIGxzYmxrICg4KSwKKy5CUiBwYXJ0eCAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBmaW5kZnMgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZmluZGZzLmMgYi9taXNjLXV0aWxzL2ZpbmRmcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0MzdiZGEKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2ZpbmRmcy5jCkBAIC0wLDAgKzEsODAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYworICogTGljZW5zZS4KKyAqLworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImMuaCIKKworLyogRXhpdCBjb2RlcyB1c2VkIGJ5IGZpbmRmcy4gKi8KKyNkZWZpbmUgRklOREZTX1NVQ0NFU1MJCTAJLyogbm8gZXJyb3JzICovCisjZGVmaW5lIEZJTkRGU19OT1RfRk9VTkQJMQkvKiBsYWJlbCBvciB1dWlkIGNhbm5vdCBiZSBmb3VuZCAqLworI2RlZmluZSBGSU5ERlNfVVNBR0VfRVJST1IJMgkvKiB1c2VyIGRpZCBzb21ldGhpbmcgdW5leHBlY3RlZCAqLworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygxNikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiZmluZGZzKDgpIikpOworCWV4aXQoRklOREZTX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJY2hhcgkqZGV2OworCWludAljOworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyAhPSAyKSB7CisJCS8qIHdlIHJldHVybiAnMicgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKKwkJICogd2l0aCB2ZXJzaW9uIGZyb20gZTJmc3Byb2dzICovCisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChGSU5ERlNfVVNBR0VfRVJST1IpOworCX0KKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEZJTkRGU19TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEZJTkRGU19VU0FHRV9FUlJPUik7CisJCX0KKworCWRldiA9IGJsa2lkX2V2YWx1YXRlX3RhZyhhcmd2WzFdLCBOVUxMLCBOVUxMKTsKKwlpZiAoIWRldikKKwkJZXJyeChGSU5ERlNfTk9UX0ZPVU5ELCBfKCJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIiksIGFyZ3ZbMV0pOworCisJcHV0cyhkZXYpOworCXJldHVybiBGSU5ERlNfU1VDQ0VTUzsKK30KKwpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jIGIvbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjYzYyZGUKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmMKQEAgLTAsMCArMSw1MTkgQEAKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorI2luY2x1ZGUgPGJsa2lkLmg+CisjaW5jbHVkZSA8c3lzL3V0c25hbWUuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisjaW5jbHVkZSAiZmluZG1udC5oIgorCitzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgeworCXN0cnVjdCBsaWJtbnRfZnMJKmZzOworCXN0cnVjdCBsaWJtbnRfdGFibGUJKnRiOworCisJY2hhcgkqKmZzX2FyeTsKKwlzaXplX3QJZnNfbnVtOworCXNpemVfdCAgZnNfYWxsb2M7CisKKwlpbnQJbndhcm5pbmdzOworCWludAluZXJyb3JzOworCisJdW5zaWduZWQgaW50CXRhcmdldF9wcmludGVkIDogMTsKK307CisKK3N0YXRpYyB2b2lkIHZlcmlmeV9tZXNnKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5LCBjaGFyIHR5cGUsIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKK3sKKwlpZiAoIXZmeS0+dGFyZ2V0X3ByaW50ZWQpIHsKKwkJZnByaW50ZihzdGRvdXQsICIlc1xuIiwgbW50X2ZzX2dldF90YXJnZXQodmZ5LT5mcykpOworCQl2ZnktPnRhcmdldF9wcmludGVkID0gMTsKKwl9CisKKwlmcHJpbnRmKHN0ZG91dCwgIiAgIFslY10gIiwgdHlwZSk7CisJdmZwcmludGYoc3Rkb3V0LCBmbXQsIGFwKTsKKwlmcHV0YygnXG4nLCBzdGRvdXQpOworfQorCitzdGF0aWMgaW50IHZlcmlmeV93YXJuKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5LCBjb25zdCBjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFwOworCXZmeS0+bndhcm5pbmdzKys7CisJdmFfc3RhcnQoYXAsIGZtdCk7CisJdmVyaWZ5X21lc2codmZ5LCAnVycsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X2VycihzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKwl2ZnktPm5lcnJvcnMrKzsKKwl2YV9zdGFydChhcCwgZm10KTsKKwl2ZXJpZnlfbWVzZyh2ZnksICdFJywgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCB2ZXJpZnlfb2soc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnkgX19hdHRyaWJ1dGVfXygodW51c2VkKSksCisJCSAgICAgIGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisKKwlpZiAoIShmbGFncyAmIEZMX1ZFUkJPU0UpKQorCQlyZXR1cm4gMDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCXZlcmlmeV9tZXNnKHZmeSwgJyAnLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHZlcmlmeV9vcmRlcihzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSkKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqbmV4dDsKKwljb25zdCBjaGFyICp0Z3Q7CisKKwl0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldCh2ZnktPmZzKTsKKwlpZiAodGd0ICYmICEoZmxhZ3MgJiBGTF9OT0NBQ0hFKSkKKwkJdGd0ICA9IG1udF9yZXNvbHZlX3RhcmdldCh0Z3QsIGNhY2hlKTsKKwllbHNlIGlmICghdGd0KQorCQlyZXR1cm4gMDsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikgeworCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIikpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogc2V0IGl0ZXJhdG9yIHBvc2l0aW9uIHRvICdmcycgKi8KKwltbnRfdGFibGVfc2V0X2l0ZXIodmZ5LT50YiwgaXRyLCB2ZnktPmZzKTsKKwltbnRfdGFibGVfbmV4dF9mcyh2ZnktPnRiLCBpdHIsICZuZXh0KTsKKworCS8qIHNjYW4gYWxsIG5leHQgZmlsZXN5c3RlbXMgKi8KKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModmZ5LT50YiwgaXRyLCAmbmV4dCkgPT0gMCkgeworCQljb25zdCBjaGFyICpuX3RndDsKKwkJc2l6ZV90IGxlbjsKKworCQluX3RndCA9IG1udF9mc19nZXRfdGFyZ2V0KG5leHQpOworCQlpZiAobl90Z3QgJiYgIShmbGFncyAmIEZMX05PQ0FDSEUpKQorCQkJbl90Z3QgID0gbW50X3Jlc29sdmVfdGFyZ2V0KG5fdGd0LCBjYWNoZSk7CisJCWVsc2UgaWYgKCFuX3RndCkKKwkJCWNvbnRpbnVlOworCQlsZW4gPSBzdHJsZW4obl90Z3QpOworCisJCWlmIChzdHJuY21wKG5fdGd0LCB0Z3QsIGxlbikgPT0gMCkgeworCQkJaWYgKCoodGd0ICsgbGVuKSA9PSAnXDAnKQorCQkJCXZlcmlmeV93YXJuKHZmeSwgXygidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIpKTsKKwkJCWVsc2UgaWYgKCoodGd0ICsgbGVuKSA9PSAnLycpCisJCQkJdmVyaWZ5X2Vycih2ZnksIF8oIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIiksIHRndCwgbl90Z3QpOworCQl9CisJfQorZG9uZToKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X3RhcmdldChzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSkKK3sKKwljb25zdCBjaGFyICp0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldCh2ZnktPmZzKTsKKwlzdHJ1Y3Qgc3RhdCBzYjsKKworCWlmICghdGd0KQorCQlyZXR1cm4gdmVyaWZ5X2Vycih2ZnksIF8oInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIikpOworCisJaWYgKCEoZmxhZ3MgJiBGTF9OT0NBQ0hFKSkgeworCQljb25zdCBjaGFyICpjbiA9IG1udF9yZXNvbHZlX3RhcmdldCh0Z3QsIGNhY2hlKTsKKwkJaWYgKCFjbikKKwkJCXJldHVybiAtRU5PTUVNOworCQlpZiAoc3RyY21wKGNuLCB0Z3QpICE9IDApCisJCQl2ZXJpZnlfd2Fybih2ZnksIF8oIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIpLCBjbik7CisJCXRndCA9IGNuOworCX0KKwlpZiAoc3RhdCh0Z3QsICZzYikgIT0gMCkgeworCQlpZiAobW50X2ZzX2dldF9vcHRpb24odmZ5LT5mcywgIm5vYXV0byIsIE5VTEwsIE5VTEwpID09IDEpCisJCQl2ZXJpZnlfZXJyKHZmeSwgXygidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIikpOworCQllbHNlCisJCQl2ZXJpZnlfd2Fybih2ZnksIF8oInVucmVhY2hhYmxlIHRhcmdldDogJW0iKSk7CisKKwl9IGVsc2UgaWYgKCFTX0lTRElSKHNiLnN0X21vZGUpCisJCSAmJiBtbnRfZnNfZ2V0X29wdGlvbih2ZnktPmZzLCAiYmluZCIsIE5VTEwsIE5VTEwpID09IDEpIHsKKwkJdmVyaWZ5X2Vycih2ZnksIF8oInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiKSk7CisJfSBlbHNlCisJCXZlcmlmeV9vayh2ZnksIF8oInRhcmdldCBleGlzdHMiKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGNoYXIgKnZlcmlmeV90YWcoc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnksIGNvbnN0IGNoYXIgKm5hbWUsCisJCSAgICAgIGNvbnN0IGNoYXIgKnZhbHVlKQoreworCWNoYXIgKnNyYyA9IG1udF9yZXNvbHZlX3RhZyhuYW1lLCB2YWx1ZSwgY2FjaGUpOworCisJaWYgKCFzcmMpIHsKKwkJaWYgKG1udF9mc19nZXRfb3B0aW9uKHZmeS0+ZnMsICJub2F1dG8iLCBOVUxMLCBOVUxMKSA9PSAxKQorCQkJdmVyaWZ5X2Vycih2ZnksIF8oInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIpLCBuYW1lLCB2YWx1ZSk7CisJCWVsc2UKKwkJCXZlcmlmeV93YXJuKHZmeSwgXygidW5yZWFjaGFibGU6ICVzPSVzIiksIG5hbWUsIHZhbHVlKTsKKwl9IGVsc2UKKwkJdmVyaWZ5X29rKHZmeSwgXygiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIpLCBuYW1lLCB2YWx1ZSwgc3JjKTsKKworCXJldHVybiBzcmM7Cit9CisKKy8qIE5vdGUgdGhhdCBtb3VudCBzb3VyY2UgaXMgdmVyeSBGUyBzcGVjaWZpYyBhbmQgd2Ugc2hvdWxkIG5vdAorICogaW50ZXJwcmV0IHVucmVhY2hhYmxlIHNvdXJjZSBhcyBlcnJvci4gVGhlIGV4Y2VwdGlvbiBpcyBvbmx5CisgKiBOQU1FPXZhbHVlLCB0aGlzIGhhcyB0byBiZSBjb252ZXJ0aWJsZSB0byBkZXZpY2UgbmFtZS4KKyAqLworc3RhdGljIGludCB2ZXJpZnlfc291cmNlKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9mc19nZXRfc3JjcGF0aCh2ZnktPmZzKTsKKwljaGFyICp0ID0gTlVMTCwgKnYgPSBOVUxMOworCXN0cnVjdCBzdGF0IHNiOworCWludCBpc2JpbmQsIHJjID0gMDsKKworCS8qIHNvdXJjZSBpcyBOQU1FPXZhbHVlIHRhZyAqLworCWlmICghc3JjKSB7CisJCWNvbnN0IGNoYXIgKnRhZyA9IE5VTEwsICp2YWwgPSBOVUxMOworCisJCWlmIChtbnRfZnNfZ2V0X3RhZyh2ZnktPmZzLCAmdGFnLCAmdmFsKSAhPSAwKQorCQkJcmV0dXJuIHZlcmlmeV9lcnIodmZ5LCBfKCJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIpKTsKKworCQlzcmMgPSB2ZXJpZnlfdGFnKHZmeSwgdGFnLCB2YWwpOworCQlpZiAoIXNyYykKKwkJCWdvdG8gZG9uZTsKKworCS8qIGJsa2lkIGlzIGFibGUgdG8gcGFyc2UgaXQsIGJ1dCBsaWJtb3VudCBkb2VzIG5vdCBzZWUgaXQgYXMgYSB0YWcgLS0KKwkgKiBpdCBtZWFucyB1bnN1cHBvcnRlZCB0YWcgKi8KKwl9IGVsc2UgaWYgKGJsa2lkX3BhcnNlX3RhZ19zdHJpbmcoc3JjLCAmdCwgJnYpID09IDAgJiYgc3RhdChzcmMsICZzYikgIT0gMCkgeworCQlyYyA9IHZlcmlmeV9lcnIodmZ5LCBfKCJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIpLCBzcmMpOworCQlnb3RvIGRvbmU7CisJfQorCWlzYmluZCA9IG1udF9mc19nZXRfb3B0aW9uKHZmeS0+ZnMsICJiaW5kIiwgTlVMTCwgTlVMTCkgPT0gMDsKKworCS8qIHNvdXJjZSBpcyBwYXRoICovCisJaWYgKG1udF9mc19pc19wc2V1ZG9mcyh2ZnktPmZzKSB8fCBtbnRfZnNfaXNfbmV0ZnModmZ5LT5mcykpCisJCXZlcmlmeV9vayh2ZnksIF8oImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIiksIHNyYyk7CisKKwllbHNlIGlmIChzdGF0KHNyYywgJnNiKSAhPSAwKQorCQl2ZXJpZnlfd2Fybih2ZnksIF8oInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIiksIHNyYyk7CisKKwllbHNlIGlmICgoU19JU0RJUihzYi5zdF9tb2RlKSB8fCBTX0lTUkVHKHNiLnN0X21vZGUpKSAmJiAhaXNiaW5kKQorCQl2ZXJpZnlfd2Fybih2ZnksIF8oIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiKSwgc3JjKTsKKworCWVsc2UgaWYgKCFTX0lTQkxLKHNiLnN0X21vZGUpICYmICFpc2JpbmQpCisJCXZlcmlmeV93YXJuKHZmeSwgXygic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIpLCBzcmMpOworCWVsc2UKKwkJdmVyaWZ5X29rKHZmeSwgXygic291cmNlICVzIGV4aXN0cyIpLCBzcmMpOworZG9uZToKKwlmcmVlKHQpOworCWZyZWUodik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHZlcmlmeV9vcHRpb25zKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWNvbnN0IGNoYXIgKm9wdHM7CisKKwlvcHRzID0gbW50X2ZzX2dldF92ZnNfb3B0aW9ucyh2ZnktPmZzKTsKKwlpZiAob3B0cykKKwkJdmVyaWZ5X29rKHZmeSwgXygiVkZTIG9wdGlvbnM6ICVzIiksIG9wdHMpOworCisJb3B0cyA9IG1udF9mc19nZXRfZnNfb3B0aW9ucyh2ZnktPmZzKTsKKwlpZiAob3B0cykKKwkJdmVyaWZ5X29rKHZmeSwgXygiRlMgb3B0aW9uczogJXMiKSwgb3B0cyk7CisKKwlvcHRzID0gbW50X2ZzX2dldF91c2VyX29wdGlvbnModmZ5LT5mcyk7CisJaWYgKG9wdHMpCisJCXZlcmlmeV9vayh2ZnksIF8oInVzZXJzcGFjZSBvcHRpb25zOiAlcyIpLCBvcHRzKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHZlcmlmeV9zd2FwYXJlYShzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSkKK3sKKwljaGFyICphcmc7CisJc2l6ZV90IGFyZ3N6ID0gMDsKKworCWlmIChtbnRfZnNfZ2V0X29wdGlvbih2ZnktPmZzLCAiZGlzY2FyZCIsICZhcmcsICZhcmdzeikgPT0gMAorCSAgICAmJiBhcmcKKwkgICAgJiYgc3RybmNtcChhcmcsICJvbmNlIiwgYXJnc3opICE9IDAKKwkgICAgJiYgc3RybmNtcChhcmcsICJwYWdlcyIsIGFyZ3N6KSAhPSAwKQorCQl2ZXJpZnlfZXJyKHZmeSwgXygidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIiksIGFyZyk7CisKKwlpZiAobW50X2ZzX2dldF9vcHRpb24odmZ5LT5mcywgInByaSIsICZhcmcsICZhcmdzeikgPT0gMCAmJiBhcmcpIHsKKwkJY2hhciAqcCA9IGFyZzsKKwkJaWYgKCpwID09ICctJykKKwkJCXArKzsKKwkJZm9yICg7IHAgPCBhcmcgKyBhcmdzejsgcCsrKSB7CisJCQlpZiAoIWlzZGlnaXQoKHVuc2lnbmVkIGNoYXIpICpwKSkgeworCQkJCXZlcmlmeV9lcnIodmZ5LCBfKCJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIikpOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaXNfc3VwcG9ydGVkX2ZpbGVzeXN0ZW0oc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnksIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc2l6ZV90IG47CisKKwlpZiAoIXZmeS0+ZnNfbnVtKQorCQlyZXR1cm4gMDsKKworCWZvciAobiA9IDA7IG4gPCB2ZnktPmZzX251bTsgbisrICkgeworCQlpZiAoc3RyY21wKHZmeS0+ZnNfYXJ5W25dLCBuYW1lKSA9PSAwKQorCQkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgYWRkX2ZpbGVzeXN0ZW0oc3RydWN0IHZlcmlmeV9jb250ZXh0ICp2ZnksIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJI2RlZmluZSBNWUNIVU5LCTE2CisKKwlpZiAoaXNfc3VwcG9ydGVkX2ZpbGVzeXN0ZW0odmZ5LCBuYW1lKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAodmZ5LT5mc19hbGxvYyA9PSAwIHx8IHZmeS0+ZnNfbnVtICsgMSA8PSB2ZnktPmZzX2FsbG9jKSB7CisJCXZmeS0+ZnNfYWxsb2MgPSAoKHZmeS0+ZnNfYWxsb2MgKyAxICsgTVlDSFVOSykgLyBNWUNIVU5LKSAqIE1ZQ0hVTks7CisJCXZmeS0+ZnNfYXJ5ID0geHJlYWxsb2ModmZ5LT5mc19hcnksIHZmeS0+ZnNfYWxsb2MgKiBzaXplb2YoY2hhciAqKSk7CisJfQorCisJdmZ5LT5mc19hcnlbdmZ5LT5mc19udW1dID0geHN0cmR1cChuYW1lKTsKKwl2ZnktPmZzX251bSsrOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9wcm9jX2ZpbGVzeXN0ZW1zKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWludCByYyA9IDA7CisJRklMRSAqZjsKKwljaGFyIGJ1Zls4MF0sICpjcCwgKnQ7CisKKwlmID0gZm9wZW4oIi9wcm9jL2ZpbGVzeXN0ZW1zIiwgInIiKTsKKwlpZiAoIWYpCisJCXJldHVybiAtZXJybm87CisKKwl3aGlsZSAoIWZlb2YoZikpIHsKKwkJaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkKKwkJCWJyZWFrOworCQljcCA9IGJ1ZjsKKwkJaWYgKCFpc3NwYWNlKCpjcCkpIHsKKwkJCXdoaWxlICgqY3AgJiYgIWlzc3BhY2UoKmNwKSkKKwkJCQljcCsrOworCQl9CisJCXdoaWxlICgqY3AgJiYgaXNzcGFjZSgqY3ApKQorCQkJY3ArKzsKKwkJaWYgKCh0ID0gc3RyY2hyKGNwLCAnXG4nKSkgIT0gTlVMTCkKKwkJCSp0ID0gMDsKKwkJaWYgKCh0ID0gc3RyY2hyKGNwLCAnXHQnKSkgIT0gTlVMTCkKKwkJCSp0ID0gMDsKKwkJaWYgKCh0ID0gc3RyY2hyKGNwLCAnICcpKSAhPSBOVUxMKQorCQkJKnQgPSAwOworCisJCXJjID0gYWRkX2ZpbGVzeXN0ZW0odmZ5LCBjcCk7CisJCWlmIChyYykKKwkJCWJyZWFrOworCX0KKwlmY2xvc2UoZik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHJlYWRfa2VybmVsX2ZpbGVzeXN0ZW1zKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWludCByYyA9IDA7CisjaWZkZWYgX19saW51eF9fCisJc3RydWN0IHV0c25hbWUgdXRzOworCUZJTEUgKmY7CisJY2hhciBidWZbMTAyNF07CisKKwlpZiAodW5hbWUoJnV0cykpCisJCXJldHVybiAwOworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIvbGliL21vZHVsZXMvJXMvbW9kdWxlcy5kZXAiLCB1dHMucmVsZWFzZSk7CisKKwlmID0gZm9wZW4oYnVmLCAiciIpOworCWlmICghZikKKwkJcmV0dXJuIDA7CisKKwl3aGlsZSAoIWZlb2YoZikpIHsKKwkJY2hhciAqcCwgKm5hbWU7CisKKwkJaWYgKCFmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSkKKwkJCWJyZWFrOworCisJCWlmIChzdHJuY21wKCJrZXJuZWwvZnMvIiwgYnVmLCAxMCkgIT0gMCB8fAorCQkgICAgc3RybmNtcCgia2VybmVsL2ZzL25scy8iLCBidWYsIDE0KSA9PSAwKQorCQkJY29udGludWU7CisKKwkJcCA9IHN0cmNocihidWYsICc6Jyk7CisJCWlmICghcCkKKwkJCWNvbnRpbnVlOworCQkqcCA9ICdcMCc7CisKKwkJbmFtZSA9IHN0cnJjaHIoYnVmLCAnLycpOworCQlpZiAoIW5hbWUpCisJCQljb250aW51ZTsKKwkJbmFtZSsrOworCisJCXAgPSBzdHJzdHIobmFtZSwgIi5rbyIpOworCQlpZiAoIXApCisJCQljb250aW51ZTsKKwkJKnAgPSAnXDAnOworCisJCXJjID0gYWRkX2ZpbGVzeXN0ZW0odmZ5LCBuYW1lKTsKKwkJaWYgKHJjKQorCQkJYnJlYWs7CisJfQorCWZjbG9zZShmKTsKKyNlbmRpZiAvKiBfX2xpbnV4X18gKi8KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X2ZzdHlwZShzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSkKK3sKKwljb25zdCBjaGFyICpzcmMgPSBtbnRfcmVzb2x2ZV9zcGVjKG1udF9mc19nZXRfc291cmNlKHZmeS0+ZnMpLCBjYWNoZSk7CisJY29uc3QgY2hhciAqdHlwZSwgKnJlYWx0eXBlOworCWludCBhbWJpID0gMCwgaXNhdXRvID0gMCwgaXNzd2FwID0gMDsKKworCWlmICghc3JjKQorCQlyZXR1cm4gMDsKKwlpZiAobW50X2ZzX2lzX3BzZXVkb2ZzKHZmeS0+ZnMpIHx8IG1udF9mc19pc19uZXRmcyh2ZnktPmZzKSkKKwkJcmV0dXJuIHZlcmlmeV9vayh2ZnksIF8oImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIpLCBzcmMpOworCisJdHlwZSA9IG1udF9mc19nZXRfZnN0eXBlKHZmeS0+ZnMpOworCisJaWYgKHR5cGUpIHsKKwkJaW50IG5vbmUgPSBzdHJjbXAodHlwZSwgIm5vbmUiKSA9PSAwOworCisJCWlmIChub25lCisJCSAgICAmJiBtbnRfZnNfZ2V0X29wdGlvbih2ZnktPmZzLCAiYmluZCIsIE5VTEwsIE5VTEwpID09IDEKKwkJICAgICYmIG1udF9mc19nZXRfb3B0aW9uKHZmeS0+ZnMsICJtb3ZlIiwgTlVMTCwgTlVMTCkgPT0gMSkKKwkJCXJldHVybiB2ZXJpZnlfd2Fybih2ZnksIF8oIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIpKTsKKworCQllbHNlIGlmIChzdHJjbXAodHlwZSwgImF1dG8iKSA9PSAwKQorCQkJaXNhdXRvID0gMTsKKwkJZWxzZSBpZiAoc3RyY21wKHR5cGUsICJzd2FwIikgPT0gMCkKKwkJCWlzc3dhcCA9IDE7CisKKwkJaWYgKCFpc3N3YXAgJiYgIWlzYXV0byAmJiAhbm9uZSAmJiAhaXNfc3VwcG9ydGVkX2ZpbGVzeXN0ZW0odmZ5LCB0eXBlKSkKKwkJCXZlcmlmeV93YXJuKHZmeSwgXygiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIiksIHR5cGUpOworCX0KKwlyZWFsdHlwZSA9IG1udF9nZXRfZnN0eXBlKHNyYywgJmFtYmksIGNhY2hlKTsKKworCWlmICghcmVhbHR5cGUpIHsKKwkJaWYgKGlzYXV0bykKKwkJCXJldHVybiB2ZXJpZnlfZXJyKHZmeSwgXygiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIpKTsKKwkJcmV0dXJuIHZlcmlmeV93YXJuKHZmeSwgXygiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIpKTsKKwl9CisKKwlpZiAocmVhbHR5cGUpIHsKKwkJaXNzd2FwID0gc3RyY21wKHJlYWx0eXBlLCAic3dhcCIpID09IDA7CisKKwkJaWYgKHR5cGUgJiYgIWlzYXV0byAmJiBzdHJjbXAodHlwZSwgcmVhbHR5cGUpICE9IDApCisJCQlyZXR1cm4gdmVyaWZ5X2Vycih2ZnksIF8oIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIpLCB0eXBlLCByZWFsdHlwZSk7CisKKwkJaWYgKCFpc3N3YXAgJiYgIWlzX3N1cHBvcnRlZF9maWxlc3lzdGVtKHZmeSwgcmVhbHR5cGUpKQorCQkJcmV0dXJuIHZlcmlmeV9lcnIodmZ5LCBfKCJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIpLCByZWFsdHlwZSk7CisKKwkJdmVyaWZ5X29rKHZmeSwgXygiRlMgdHlwZSBpcyAlcyIpLCByZWFsdHlwZSk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgdmVyaWZ5X3Bhc3NubyhzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgKnZmeSkKK3sKKwlpbnQgcGFzc25vID0gbW50X2ZzX2dldF9wYXNzbm8odmZ5LT5mcyk7CisJY29uc3QgY2hhciAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQodmZ5LT5mcyk7CisKKwlpZiAodGd0ICYmIHN0cmNtcCgiLyIsIHRndCkgPT0gMCAmJiBwYXNzbm8gIT0gMSkKKwkJcmV0dXJuIHZlcmlmeV93YXJuKHZmeSwgXygicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiKSwgcGFzc25vKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHZlcmlmeV9maWxlc3lzdGVtKHN0cnVjdCB2ZXJpZnlfY29udGV4dCAqdmZ5KQoreworCWludCByYyA9IDA7CisKKwlpZiAobW50X2ZzX2lzX3N3YXBhcmVhKHZmeS0+ZnMpKQorCQlyYyA9IHZlcmlmeV9zd2FwYXJlYSh2ZnkpOworCWVsc2UgeworCQlyYyA9IHZlcmlmeV90YXJnZXQodmZ5KTsKKwkJaWYgKCFyYykKKwkJCXJjID0gdmVyaWZ5X29wdGlvbnModmZ5KTsKKwl9CisKKwlpZiAoIXJjKQorCQlyYyA9IHZlcmlmeV9zb3VyY2UodmZ5KTsKKwlpZiAoIXJjKQorCQlyYyA9IHZlcmlmeV9mc3R5cGUodmZ5KTsKKwlpZiAoIXJjKQorCQlyYyA9IHZlcmlmeV9wYXNzbm8odmZ5KTsKKworCXJldHVybiByYzsKK30KKworaW50IHZlcmlmeV90YWJsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgdmVyaWZ5X2NvbnRleHQgdmZ5ID0geyAubmVycm9ycyA9IDAgfTsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cjsKKwlpbnQgcmMgPSAwOwkJLyogb3ZlcmFsbCByZXR1cm4gY29kZSAoYWxsb2MgZXJyb3JzLCBldGMuKSAqLworCWludCBjaGVja19vcmRlciA9IGlzX2xpc3RhbGxfbW9kZSgpOworCXN0YXRpYyBpbnQgaGFzX3JlYWRfZnMgPSAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwl2ZnkudGIgPSB0YjsKKworCWlmIChoYXNfcmVhZF9mcyA9PSAwKSB7CisJCXJlYWRfcHJvY19maWxlc3lzdGVtcygmdmZ5KTsKKwkJcmVhZF9rZXJuZWxfZmlsZXN5c3RlbXMoJnZmeSk7CisJCWhhc19yZWFkX2ZzID0gMTsKKwl9CisKKwl3aGlsZSAocmMgPT0gMCAmJiAodmZ5LmZzID0gZ2V0X25leHRfZnModGIsIGl0cikpKSB7CisJCXZmeS50YXJnZXRfcHJpbnRlZCA9IDA7CisJCWlmIChjaGVja19vcmRlcikKKwkJCXJjID0gdmVyaWZ5X29yZGVyKCZ2ZnkpOworCQlpZiAoIXJjKQorCQkJcmMgPSB2ZXJpZnlfZmlsZXN5c3RlbSgmdmZ5KTsKKworCQlpZiAoZmxhZ3MgJiBGTF9GSVJTVE9OTFkpCisJCQlicmVhazsKKwkJZmxhZ3MgfD0gRkxfTk9TV0FQTUFUQ0g7CisJfQorCitkb25lOgorCW1udF9mcmVlX2l0ZXIoaXRyKTsKKworCS8qIHN1bW1hcnkgKi8KKwlpZiAodmZ5Lm5lcnJvcnMgfHwgcGFyc2VfbmVycm9ycyB8fCB2Znkubndhcm5pbmdzKSB7CisJCWZwdXRjKCdcbicsIHN0ZGVycik7CisJCWZwcmludGYoc3RkZXJyLCBQXygiJWQgcGFyc2UgZXJyb3IiLCAiJWQgcGFyc2UgZXJyb3JzIiwgcGFyc2VfbmVycm9ycyksIHBhcnNlX25lcnJvcnMpOworCQlmcHJpbnRmKHN0ZGVyciwgUF8oIiwgJWQgZXJyb3IiLCAgICAgIiwgJWQgZXJyb3JzIiwgdmZ5Lm5lcnJvcnMpLCB2ZnkubmVycm9ycyk7CisJCWZwcmludGYoc3RkZXJyLCBQXygiLCAlZCB3YXJuaW5nIiwgICAiLCAlZCB3YXJuaW5ncyIsIHZmeS5ud2FybmluZ3MpLCB2Znkubndhcm5pbmdzKTsKKwkJZnB1dGMoJ1xuJywgc3RkZXJyKTsKKwl9IGVsc2UKKwkJZnByaW50ZihzdGRvdXQsIF8oIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIikpOworCisJcmV0dXJuIHJjICE9IDAgPyByYyA6IHZmeS5uZXJyb3JzICsgcGFyc2VfbmVycm9yczsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZmluZG1udC44IGIvbWlzYy11dGlscy9maW5kbW50LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk1YWVhMwotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZmluZG1udC44CkBAIC0wLDAgKzEsMzA4IEBACisuVEggRklORE1OVCA4ICJNYXkgMjAxOCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorZmluZG1udCBcLSBmaW5kIGEgZmlsZXN5c3RlbQorLlNIIFNZTk9QU0lTCisuQiBmaW5kbW50Citbb3B0aW9uc10KKy5zcAorLkIgZmluZG1udAorW29wdGlvbnNdCisuSVIgZGV2aWNlIHwgbW91bnRwb2ludAorLnNwCisuQiBmaW5kbW50Citbb3B0aW9uc10KKy5SQiBbIFwtXC1zb3VyY2UgXQorLkkgZGV2aWNlCisuUkIgWyBcLVwtdGFyZ2V0IHwgXC1cLW1vdW50cG9pbnQgXQorLkkgbW91bnRwb2ludAorLlNIIERFU0NSSVBUSU9OCisuQiBmaW5kbW50Cit3aWxsIGxpc3QgYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgb3Igc2VhcmNoIGZvciBhIGZpbGVzeXN0ZW0uICBUaGUKKy5CIFwlZmluZG1udAorY29tbWFuZCBpcyBhYmxlIHRvIHNlYXJjaCBpbgorLklSIC9ldGMvZnN0YWIgLAorLkkgL2V0Yy9tdGFiCitvcgorLklSIC9wcm9jL3NlbGYvbW91bnRpbmZvIC4KK0lmCisuSSBkZXZpY2UKK29yCisuSSBtb3VudHBvaW50CitpcyBub3QgZ2l2ZW4sIGFsbCBmaWxlc3lzdGVtcyBhcmUgc2hvd24uCisuUFAKK1RoZSBkZXZpY2UgbWF5IGJlIHNwZWNpZmllZCBieSBkZXZpY2UgbmFtZSwgbWFqb3I6bWlub3IgbnVtYmVycywKK2ZpbGVzeXN0ZW0gbGFiZWwgb3IgVVVJRCwgb3IgcGFydGl0aW9uIGxhYmVsIG9yIFVVSUQuICBOb3RlIHRoYXQKKy5CIFwlZmluZG1udAorZm9sbG93cworLkJSIG1vdW50ICg4KQorYmVoYXZpb3Igd2hlcmUgYSBkZXZpY2UgbmFtZSBtYXkgYmUgaW50ZXJwcmV0ZWQKK2FzIGEgbW91bnRwb2ludCAoYW5kIHZpY2UgdmVyc2EpIGlmIHRoZSBcZkJcLVwtdGFyZ2V0XGZSLCBcZkJcLVwtbW91bnRwb2ludFxmUiBvcgorXGZCXC1cLXNvdXJjZVxmUiBvcHRpb25zIGFyZSBub3Qgc3BlY2lmaWVkLgorLlBQCitUaGUgY29tbWFuZCBwcmludHMgYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgaW4gdGhlIHRyZWUtbGlrZSBmb3JtYXQgYnkgZGVmYXVsdC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLUEgLCAiIFwtXC1hbGwiCitEaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzIGFuZCBwcmludCBhbGwgZmlsZXN5c3RlbXMuCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hc2NpaSIKK1VzZSBhc2NpaSBjaGFyYWN0ZXJzIGZvciB0cmVlIGZvcm1hdHRpbmcuCisuVFAKKy5CUiBcLWIgLCAiIFwtXC1ieXRlcyIKK1ByaW50IHRoZSBTSVpFLCBVU0VEIGFuZCBBVkFJTCBjb2x1bW5zIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGEgaHVtYW4tcmVhZGFibGUgZm9ybWF0LgorLlRQCisuQlIgXC1DICwgIiBcLVwtbm9jYW5vbmljYWxpemUiCitEbyBub3QgY2Fub25pY2FsaXplIHBhdGhzIGF0IGFsbC4gIFRoaXMgb3B0aW9uIGFmZmVjdHMgdGhlIGNvbXBhcmluZyBvZiBwYXRocworYW5kIHRoZSBldmFsdWF0aW9uIG9mIHRhZ3MgKExBQkVMLCBVVUlELCBldGMuKS4KKy5UUAorLkJSIFwtYyAsICIgXC1cLWNhbm9uaWNhbGl6ZSIKK0Nhbm9uaWNhbGl6ZSBhbGwgcHJpbnRlZCBwYXRocy4KKy5UUAorLkJSIFwtRCAsICIgXC1cLWRmIgorSW1pdGF0ZSB0aGUgb3V0cHV0IG9mCisuQlIgZGYgKDEpLgorVGhpcyBvcHRpb24gaXMgZXF1aXZhbGVudCB0bworLkIgXC1vXCBTT1VSQ0UsRlNUWVBFLFNJWkUsVVNFRCxBVkFJTCxVU0UlLFRBUkdFVAorYnV0IGV4Y2x1ZGVzIGFsbCBwc2V1ZG8gZmlsZXN5c3RlbXMuCitVc2UgXGZCXC1cLWFsbFxmUCB0byBwcmludCBhbGwgZmlsZXN5c3RlbXMuCisuVFAKKy5CUiBcLWQgLCAiIFwtXC1kaXJlY3Rpb24gXGZJd29yZFxmUCIKK1RoZSBzZWFyY2ggZGlyZWN0aW9uLCBlaXRoZXIKKy5CIGZvcndhcmQKK29yCisuQlIgYmFja3dhcmQgLgorLlRQCisuQlIgXC1lICwgIiBcLVwtZXZhbHVhdGUiCitDb252ZXJ0IGFsbCB0YWdzIChMQUJFTCwgVVVJRCwgUEFSVFVVSUQgb3IgUEFSVExBQkVMKSB0byB0aGUgY29ycmVzcG9uZGluZyBkZXZpY2UgbmFtZXMuCisuVFAKKy5CUiBcLUYgLCAiIFwtXC10YWJcLWZpbGUgXGZJcGF0aFxmUCIKK1NlYXJjaCBpbiBhbiBhbHRlcm5hdGl2ZSBmaWxlLiAgSWYgdXNlZCB3aXRoIFxmQlwtXC1mc3RhYlxmUCwgXGZCXC1cLW10YWJcZlAKK29yIFxmQlwtXC1rZXJuZWxcZlAsIHRoZW4gaXQgb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IHBhdGhzLiAgSWYgc3BlY2lmaWVkIG1vcmUKK3RoYW4gb25jZSwgdGhlbiB0cmVlLWxpa2Ugb3V0cHV0IGlzIGRpc2FibGVkIChzZWUgdGhlIFxmQlwtXC1saXN0XGZQIG9wdGlvbikuCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1maXJzdFwtb25seSIKK1ByaW50IHRoZSBmaXJzdCBtYXRjaGluZyBmaWxlc3lzdGVtIG9ubHkuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLWkgLCAiIFwtXC1pbnZlcnQiCitJbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nLgorLlRQCisuQlIgXC1KICwgIiBcLVwtanNvbiIKK1VzZSBKU09OIG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLWsgLCAiIFwtXC1rZXJuZWwiCitTZWFyY2ggaW4KKy5JUiAvcHJvYy9zZWxmL21vdW50aW5mbyAuCitUaGUgb3V0cHV0IGlzIGluIHRoZSB0cmVlLWxpa2UgZm9ybWF0LiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4gIFRoZSBvdXRwdXQKK2NvbnRhaW5zIG9ubHkgbW91bnQgb3B0aW9ucyBtYWludGFpbmVkIGJ5IGtlcm5lbCAoc2VlIGFsc28gXGZCXC1cLW10YWIpXGZQLgorLlRQCisuQlIgXC1sICwgIiBcLVwtbGlzdCIKK1VzZSB0aGUgbGlzdCBvdXRwdXQgZm9ybWF0LiAgVGhpcyBvdXRwdXQgZm9ybWF0IGlzIGF1dG9tYXRpY2FsbHkgZW5hYmxlZCBpZiB0aGUKK291dHB1dCBpcyByZXN0cmljdGVkIGJ5IHRoZSBcZkJcLXRcZlAsIFxmQlwtT1xmUCwgXGZCXC1TXGZQIG9yIFxmQlwtVFxmUAorb3B0aW9uIGFuZCB0aGUgb3B0aW9uIFxmQlwtXC1zdWJtb3VudHNcZlAgaXMgbm90IHVzZWQgb3IgaWYgbW9yZSB0aGF0IG9uZQorc291cmNlIGZpbGUgKHRoZSBvcHRpb24gXGZCXC1GXGZQKSBpcyBzcGVjaWZpZWQuCisuVFAKKy5CUiBcLU0gLCAiIFwtXC1tb3VudHBvaW50IFxmSXBhdGhcZlAiCitFeHBsaWNpdGx5IGRlZmluZSB0aGUgbW91bnRwb2ludCBmaWxlIG9yIGRpcmVjdG9yeS4gIFNlZSBhbHNvIFxmQlwtXC10YXJnZXRcZlAuCisuVFAKKy5CUiBcLW0gLCAiIFwtXC1tdGFiIgorU2VhcmNoIGluCisuSVIgL2V0Yy9tdGFiIC4KK1RoZSBvdXRwdXQgaXMgaW4gdGhlIGxpc3QgZm9ybWF0IGJ5IGRlZmF1bHQgKHNlZSBcZkJcLVwtdHJlZVxmUCkuICBUaGUgb3V0cHV0IG1heSBpbmNsdWRlIHVzZXIKK3NwYWNlIG1vdW50IG9wdGlvbnMuCisuVFAKKy5CUiBcLU4gLCAiIFwtXC10YXNrIFxmSXRpZFxmUCIKK1VzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgL3Byb2MvPHRpZD4vbW91bnRpbmZvIHJhdGhlciB0aGFuIHRoZSBkZWZhdWx0CisvcHJvYy9zZWxmL21vdW50aW5mby4gIElmIHRoZSBvcHRpb24gaXMgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlLCB0aGVuCit0cmVlLWxpa2Ugb3V0cHV0IGlzIGRpc2FibGVkIChzZWUgdGhlIFxmQlwtXC1saXN0XGZQIG9wdGlvbikuICBTZWUgYWxzbyB0aGUKKy5CUiB1bnNoYXJlICgxKQorY29tbWFuZC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vaGVhZGluZ3MiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5UUAorLkJSIFwtTyAsICIgXC1cLW9wdGlvbnMgXGZJbGlzdFxmUCIKK0xpbWl0IHRoZSBzZXQgb2YgcHJpbnRlZCBmaWxlc3lzdGVtcy4gIE1vcmUgdGhhbiBvbmUgb3B0aW9uCittYXkgYmUgc3BlY2lmaWVkIGluIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuICBUaGUKKy5CIFwtdAorYW5kCisuQiBcLU8KK29wdGlvbnMgYXJlIGN1bXVsYXRpdmUgaW4gZWZmZWN0LiAgSXQgaXMgZGlmZmVyZW50IGZyb20KKy5CIFwtdAoraW4gdGhhdCBlYWNoIG9wdGlvbiBpcyBtYXRjaGVkIGV4YWN0bHk7IGEgbGVhZGluZworLkkgbm8KK2F0IHRoZSBiZWdpbm5pbmcgZG9lcyBub3QgaGF2ZSBnbG9iYWwgbWVhbmluZy4gIFRoZSAibm8iIGNhbiB1c2VkIGZvcgoraW5kaXZpZHVhbCBpdGVtcyBpbiB0aGUgbGlzdC4gIFRoZSAibm8iIHByZWZpeCBpbnRlcnByZXRhdGlvbiBjYW4gYmUgZGlzYWJsZWQKK2J5ICIrIiBwcmVmaXguCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgXGZJbGlzdFxmUCIKK0RlZmluZSBvdXRwdXQgY29sdW1ucy4gIFNlZSB0aGUgXGZCXC1cLWhlbHBcZlAgb3V0cHV0IHRvIGdldCBhIGxpc3Qgb2YgdGhlCitjdXJyZW50bHkgc3VwcG9ydGVkIGNvbHVtbnMuICBUaGUKKy5CIFRBUkdFVAorY29sdW1uIGNvbnRhaW5zIHRyZWUgZm9ybWF0dGluZyBpZiB0aGUKKy5CIFwtXC1saXN0CitvcgorLkIgXC1cLXJhdworb3B0aW9ucyBhcmUgbm90IHNwZWNpZmllZC4KKworVGhlIGRlZmF1bHQgbGlzdCBvZiBjb2x1bW5zIG1heSBiZSBleHRlbmRlZCBpZiBcZklsaXN0XGZQIGlzCitzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCBcZkkrbGlzdFxmUCAoZS5nLiBcZkJmaW5kbW50IFwtbyArUFJPUEFHQVRJT05cZlApLgorLlRQCisuQiBcLVwtb3V0cHV0XC1hbGwKK091dHB1dCBhbG1vc3QgYWxsIGF2YWlsYWJsZSBjb2x1bW5zLiAgVGhlIGNvbHVtbnMgdGhhdCByZXF1aXJlCisuQiBcLVwtcG9sbAorYXJlIG5vdCBpbmNsdWRlZC4KKy5UUAorLkJSIFwtUCAsICIgXC1cLXBhaXJzIgorVXNlIGtleT0idmFsdWUiIG91dHB1dCBmb3JtYXQuICBBbGwgcG90ZW50aWFsbHkgdW5zYWZlIGNoYXJhY3RlcnMgYXJlIGhleC1lc2NhcGVkIChcXHg8Y29kZT4pLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcG9sbFxmUltcZkk9bGlzdFxmUl0iCitNb25pdG9yIGNoYW5nZXMgaW4gdGhlIC9wcm9jL3NlbGYvbW91bnRpbmZvIGZpbGUuICBTdXBwb3J0ZWQgYWN0aW9ucyBhcmU6IG1vdW50LAordW1vdW50LCByZW1vdW50IGFuZCBtb3ZlLiAgTW9yZSB0aGFuIG9uZSBhY3Rpb24gbWF5IGJlIHNwZWNpZmllZCBpbiBhCitjb21tYS1zZXBhcmF0ZWQgbGlzdC4gIEFsbCBhY3Rpb25zIGFyZSBtb25pdG9yZWQgYnkgZGVmYXVsdC4KKworVGhlIHRpbWUgZm9yIHdoaWNoIFxmQlwtXC1wb2xsXGZSIHdpbGwgYmxvY2sgY2FuIGJlIHJlc3RyaWN0ZWQgd2l0aCB0aGUgXGZCXC1cLXRpbWVvdXRcZlAKK29yIFxmQlwtXC1maXJzdFwtb25seVxmUCBvcHRpb25zLgorCitUaGUgc3RhbmRhcmQgY29sdW1ucyBhbHdheXMgdXNlIHRoZSBuZXcgdmVyc2lvbiBvZiB0aGUgaW5mb3JtYXRpb24gZnJvbSB0aGUKK21vdW50aW5mbyBmaWxlLCBleGNlcHQgdGhlIHVtb3VudCBhY3Rpb24gd2hpY2ggaXMgYmFzZWQgb24gdGhlIG9yaWdpbmFsCitpbmZvcm1hdGlvbiBjYWNoZWQgYnkKKy5CUiBmaW5kbW50ICg4KS4KK1RoZSBwb2xsIG1vZGUgYWxsb3dzIHRvIHVzZSBleHRyYSBjb2x1bW5zOgorLlJTCisuVFAKKy5CIEFDVElPTgorbW91bnQsIHVtb3VudCwgbW92ZSBvciByZW1vdW50IGFjdGlvbiBuYW1lOyB0aGlzIGNvbHVtbiBpcyBlbmFibGVkIGJ5IGRlZmF1bHQKKy5UUAorLkIgT0xELVRBUkdFVAorYXZhaWxhYmxlIGZvciB1bW91bnQgYW5kIG1vdmUgYWN0aW9ucworLlRQCisuQiBPTEQtT1BUSU9OUworYXZhaWxhYmxlIGZvciB1bW91bnQgYW5kIHJlbW91bnQgYWN0aW9ucworLlJFCisuVFAKKy5CIFwtXC1wc2V1ZG8KK1ByaW50IG9ubHkgcHNldWRvIGZpbGVzeXN0ZW1zLgorLlRQCisuQlIgXC1SICwgIiBcLVwtc3VibW91bnRzIgorUHJpbnQgcmVjdXJzaXZlbHkgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIHNlbGVjdGVkIGZpbGVzeXN0ZW1zLiAgVGhlIHJlc3RyaWN0aW9ucworZGVmaW5lZCBieSBvcHRpb25zIFxmQlwtdFxmUCwgXGZCXC1PXGZQLCBcZkJcLVNcZlAsIFxmQlwtVFxmUCBhbmQKK1xmQlwlXC1cLWRpcmVjdGlvblxmUCBhcmUgbm90IGFwcGxpZWQgdG8gc3VibW91bnRzLiAgQWxsIHN1Ym1vdW50cyBhcmUgYWx3YXlzCitwcmludGVkIGluIHRyZWUtbGlrZSBvcmRlci4gIFRoZSBvcHRpb24gZW5hYmxlcyB0aGUgdHJlZS1saWtlIG91dHB1dCBmb3JtYXQgYnkKK2RlZmF1bHQuICBUaGlzIG9wdGlvbiBoYXMgbm8gZWZmZWN0IGZvciBcZkJcLVwtbXRhYlxmUCBvciBcZkJcLVwtZnN0YWJcZlAuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yYXciCitVc2UgcmF3IG91dHB1dCBmb3JtYXQuICBBbGwgcG90ZW50aWFsbHkgdW5zYWZlIGNoYXJhY3RlcnMgYXJlIGhleC1lc2NhcGVkIChcXHg8Y29kZT4pLgorLlRQCisuQiBcLVwtcmVhbAorUHJpbnQgb25seSByZWFsIGZpbGVzeXN0ZW1zLgorLlRQCisuQlIgXC1TICwgIiBcLVwtc291cmNlIFxmSXNwZWNcZlAiCitFeHBsaWNpdGx5IGRlZmluZSB0aGUgbW91bnQgc291cmNlLiAgU3VwcG9ydGVkIHNwZWNpZmljYXRpb25zIGFyZSBcZklkZXZpY2VcZlIsCitcZkltYWpcZkI6XGZJbWluXGZSLCBcZkJMQUJFTD1cZklsYWJlbFxmUiwgXGZCVVVJRD1cZkl1dWlkXGZSLAorXGZCUEFSVExBQkVMPVxmSWxhYmVsXGZSIGFuZCBcZkJQQVJUVVVJRD1cZkl1dWlkXGZSLgorLlRQCisuQlIgXC1zICwgIiBcLVwtZnN0YWIiCitTZWFyY2ggaW4KKy5JUiAvZXRjL2ZzdGFiIC4KK1RoZSBvdXRwdXQgaXMgaW4gdGhlIGxpc3QgZm9ybWF0IChzZWUgXGZCXC1cLWxpc3RcZlIpLgorLlRQCisuQlIgXC1UICwgIiBcLVwtdGFyZ2V0IFxmSXBhdGhcZlAiCitEZWZpbmUgdGhlIG1vdW50IHRhcmdldC4gIElmIFxmSXBhdGhcZlIKK2lzIG5vdCBhIG1vdW50cG9pbnQgZmlsZSBvciBkaXJlY3RvcnksIHRoZW4KKy5CIGZpbmRtbnQKK2NoZWNrcyB0aGUgXGZJcGF0aFxmUiBlbGVtZW50cyBpbiByZXZlcnNlIG9yZGVyIHRvIGdldCB0aGUgbW91bnRwb2ludCAodGhpcyBmZWF0dXJlIGlzCitzdXBwb3J0ZWQgb25seSB3aGVuIHNlYXJjaGluZyBpbiBrZXJuZWwgZmlsZXMgYW5kIHVuc3VwcG9ydGVkIGZvciBcZkJcLVwtZnN0YWJcZlApLiAgSXQncworcmVjb21tZW5kZWQgdG8gdXNlIHRoZSBvcHRpb24gXGZCXC1cLW1vdW50cG9pbnRcZlIgd2hlbiBjaGVja3Mgb2YgXGZJcGF0aFxmUiBlbGVtZW50cyBhcmUKK3Vud2FudGVkIGFuZCBcZklwYXRoXGZSIGlzIGEgc3RyaWN0bHkgc3BlY2lmaWVkIG1vdW50cG9pbnQuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10eXBlcyBcZklsaXN0XGZQIgorTGltaXQgdGhlIHNldCBvZiBwcmludGVkIGZpbGVzeXN0ZW1zLiAgTW9yZSB0aGFuIG9uZSB0eXBlIG1heSBiZQorc3BlY2lmaWVkIGluIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuICBUaGUgbGlzdCBvZiBmaWxlc3lzdGVtIHR5cGVzIGNhbiBiZQorcHJlZml4ZWQgd2l0aAorLkIgbm8KK3RvIHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgb24gd2hpY2ggbm8gYWN0aW9uIHNob3VsZCBiZSB0YWtlbi4gIEZvcgorbW9yZSBkZXRhaWxzIHNlZQorLkJSIG1vdW50ICg4KS4KKy5UUAorLkIgXC1cLXRyZWUKK0VuYWJsZSB0cmVlLWxpa2Ugb3V0cHV0IGlmIHBvc3NpYmxlLiAgVGhlIG9wdGlvbnMgaXMgc2lsZW50bHkgaWdub3JlZCBmb3IKK3RhYmxlcyB3aGVyZSBpcyBtaXNzaW5nIGNoaWxkLXBhcmVudCByZWxhdGlvbiAoZS5nLiBmc3RhYikuCisuVFAKKy5CUiBcLVUgLCAiIFwtXC11bmlxIgorSWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIG1vdW50IHRhcmdldHMsIHRodXMgZWZmZWN0aXZlbHkgc2tpcHBpbmcKK292ZXItbW91bnRlZCBtb3VudCBwb2ludHMuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC1ub3RydW5jYXRlIgorRG8gbm90IHRydW5jYXRlIHRleHQgaW4gY29sdW1ucy4gIFRoZSBkZWZhdWx0IGlzIHRvIG5vdCB0cnVuY2F0ZSB0aGUKKy5CUiBUQVJHRVQgLAorLkJSIFNPVVJDRSAsCisuQlIgVVVJRCAsCisuQlIgTEFCRUwgLAorLkJSIFBBUlRVVUlEICwKKy5CIFBBUlRMQUJFTAorY29sdW1ucy4gIFRoaXMgb3B0aW9uIGRpc2FibGVzIHRleHQgdHJ1bmNhdGlvbiBhbHNvIGluIGFsbCBvdGhlciBjb2x1bW5zLgorLlRQCisuQlIgXC12ICwgIiBcLVwtbm9mc3Jvb3QiCitEbyBub3QgcHJpbnQgYSBbL2Rpcl0gaW4gdGhlIFNPVVJDRSBjb2x1bW4gZm9yIGJpbmQgbW91bnRzIG9yIGJ0cmZzIHN1YnZvbHVtZXMuCisuVFAKKy5CUiBcLXcgLCAiIFwtXC10aW1lb3V0IFxmSW1pbGxpc2Vjb25kc1xmUCIKK1NwZWNpZnkgYW4gdXBwZXIgbGltaXQgb24gdGhlIHRpbWUgZm9yIHdoaWNoIFxmQlwtXC1wb2xsXGZSIHdpbGwgYmxvY2ssIGluIG1pbGxpc2Vjb25kcy4KKy5UUAorLkJSIFwteCAsICIgXC1cLXZlcmlmeSIKK0NoZWNrIG1vdW50IHRhYmxlIGNvbnRlbnQuIFRoZSBkZWZhdWx0IGlzIHRvIHZlcmlmeQorLkkgL2V0Yy9mc3RhYgorcGFyc2FiaWxpdHkgYW5kIHVzYWJpbGl0eS4gSXQncyBwb3NzaWJsZSB0byB1c2UgdGhpcyBvcHRpb24gYWxzbyB3aXRoIFxmQlwtXC10YWJcLWZpbGVcZlAuCitJdCdzIHBvc3NpYmxlIHRvIHNwZWNpZnkgc291cmNlIChkZXZpY2UpIG9yIHRhcmdldCAobW91bnRwb2ludCkgdG8gZmlsdGVyIG1vdW50IHRhYmxlLiBUaGUgb3B0aW9uCitcZkJcLVwtdmVyYm9zZVxmUCBmb3JjZXMgZmluZG1udCB0byBwcmludCBtb3JlIGRldGFpbHMuCisuVFAKKy5CIFwtXC12ZXJib3NlCitGb3JjZSBmaW5kbW50IHRvIHByaW50IG1vcmUgaW5mb3JtYXRpb24gKFxmQlwtXC12ZXJpZnlcZlAgb25seSBmb3Igbm93KS4KKy5TSCBFWEFNUExFUworLklQICJcZkJmaW5kbW50IFwtXC1mc3RhYiBcLXQgbmZzXGZQIgorUHJpbnRzIGFsbCBORlMgZmlsZXN5c3RlbXMgZGVmaW5lZCBpbgorLklSIC9ldGMvZnN0YWIgLgorLklQICJcZkJmaW5kbW50IFwtXC1mc3RhYiAvbW50L2Zvb1xmUCIKK1ByaW50cyBhbGwKKy5JIC9ldGMvZnN0YWIKK2ZpbGVzeXN0ZW1zIHdoZXJlIHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeSBpcyAvbW50L2Zvby4gIEl0IGFsc28gcHJpbnRzIGJpbmQgbW91bnRzIHdoZXJlIC9tbnQvZm9vCitpcyBhIHNvdXJjZS4KKy5JUCAiXGZCZmluZG1udCBcLVwtZnN0YWIgXC1cLXRhcmdldCAvbW50L2Zvb1xmUCIKK1ByaW50cyBhbGwKKy5JIC9ldGMvZnN0YWIKK2ZpbGVzeXN0ZW1zIHdoZXJlIHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeSBpcyAvbW50L2Zvby4KKy5JUCAiXGZCZmluZG1udCBcLVwtZnN0YWIgXC1cLWV2YWx1YXRlXGZQIgorUHJpbnRzIGFsbAorLkkgL2V0Yy9mc3RhYgorZmlsZXN5c3RlbXMgYW5kIGNvbnZlcnRzIExBQkVMPSBhbmQgVVVJRD0gdGFncyB0byB0aGUgcmVhbCBkZXZpY2UgbmFtZXMuCisuSVAgIlxmQmZpbmRtbnQgXC1uIFwtXC1yYXcgXC1cLWV2YWx1YXRlIFwtXC1vdXRwdXQ9dGFyZ2V0IExBQkVMPS9ib290XGZQIgorUHJpbnRzIG9ubHkgdGhlIG1vdW50cG9pbnQgd2hlcmUgdGhlIGZpbGVzeXN0ZW0gd2l0aCBsYWJlbCAiL2Jvb3QiIGlzIG1vdW50ZWQuCisuSVAgIlxmQmZpbmRtbnQgXC1cLXBvbGwgXC1cLW1vdW50cG9pbnQgL21udC9mb29cZlAiCitNb25pdG9ycyBtb3VudCwgdW5tb3VudCwgcmVtb3VudCBhbmQgbW92ZSBvbiAvbW50L2Zvby4KKy5JUCAiXGZCZmluZG1udCBcLVwtcG9sbD11bW91bnQgXC1cLWZpcnN0LW9ubHkgXC1cLW1vdW50cG9pbnQgL21udC9mb29cZlAiCitXYWl0cyBmb3IgL21udC9mb28gdW5tb3VudC4KKy5JUCAiXGZCZmluZG1udCBcLVwtcG9sbD1yZW1vdW50IFwtdCBleHQzIFwtTyByb1xmUCIKK01vbml0b3JzIHJlbW91bnRzIHRvIHJlYWQtb25seSBtb2RlIG9uIGFsbCBleHQzIGZpbGVzeXN0ZW1zLgorLlNIIEVOVklST05NRU5UCisuSVAgTElCTU9VTlRfRlNUQUI9PHBhdGg+CitvdmVycmlkZXMgdGhlIGRlZmF1bHQgbG9jYXRpb24gb2YgdGhlIGZzdGFiIGZpbGUKKy5JUCBMSUJNT1VOVF9NVEFCPTxwYXRoPgorb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBtdGFiIGZpbGUKKy5JUCBMSUJNT1VOVF9ERUJVRz1hbGwKK2VuYWJsZXMgbGlibW91bnQgZGVidWcgb3V0cHV0CisuSVAgTElCU01BUlRDT0xTX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJzbWFydGNvbHMgZGVidWcgb3V0cHV0CisuSVAgTElCU01BUlRDT0xTX0RFQlVHX1BBRERJTkc9b24KK3VzZSB2aXNpYmxlIHBhZGRpbmcgY2hhcmFjdGVycy4gUmVxdWlyZXMgZW5hYmxlZCBMSUJTTUFSVENPTFNfREVCVUcuCisuU0ggQVVUSE9SUworLm5mCitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5maQorLlNIIFNFRSBBTFNPCisuQlIgZnN0YWIgKDUpLAorLkJSIG1vdW50ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGZpbmRtbnQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZmluZG1udC5jIGIvbWlzYy11dGlscy9maW5kbW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzMxNDYwYgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZmluZG1udC5jCkBAIC0wLDAgKzEsMTcyMyBAQAorLyoKKyAqIGZpbmRtbnQoOCkKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAtMjAxNSBSZWQgSGF0LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBXcml0dGVuIGJ5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpZmRlZiBIQVZFX1NZU19JT0NUTF9ICisjIGluY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2VuZGlmCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8cG9sbC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0dmZzLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaWZkZWYgSEFWRV9MSUJVREVWCisjIGluY2x1ZGUgPGxpYnVkZXYuaD4KKyNlbmRpZgorI2luY2x1ZGUgPGxpYm1vdW50Lmg+CisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAibWFuZ2xlLmgiCisKKyNpbmNsdWRlICJmaW5kbW50LmgiCisKKy8qIGNvbHVtbiBJRHMgKi8KK2VudW0geworCUNPTF9TT1VSQ0UsCisJQ09MX1RBUkdFVCwKKwlDT0xfRlNUWVBFLAorCUNPTF9PUFRJT05TLAorCUNPTF9WRlNfT1BUSU9OUywKKwlDT0xfRlNfT1BUSU9OUywKKwlDT0xfTEFCRUwsCisJQ09MX1VVSUQsCisJQ09MX1BBUlRMQUJFTCwKKwlDT0xfUEFSVFVVSUQsCisJQ09MX01BSk1JTiwKKwlDT0xfQUNUSU9OLAorCUNPTF9PTERfVEFSR0VULAorCUNPTF9PTERfT1BUSU9OUywKKwlDT0xfU0laRSwKKwlDT0xfQVZBSUwsCisJQ09MX1VTRUQsCisJQ09MX1VTRVBFUkMsCisJQ09MX0ZTUk9PVCwKKwlDT0xfVElELAorCUNPTF9JRCwKKwlDT0xfT1BUX0ZJRUxEUywKKwlDT0xfUFJPUEFHQVRJT04sCisJQ09MX0ZSRVEsCisJQ09MX1BBU1NOTworfTsKKworZW51bSB7CisJVEFCVFlQRV9GU1RBQiA9IDEsCisJVEFCVFlQRV9NVEFCLAorCVRBQlRZUEVfS0VSTkVMCit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyCSpuYW1lOwkJLyogaGVhZGVyICovCisJZG91YmxlCQl3aGludDsJCS8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludAkJZmxhZ3M7CQkvKiBsaWJzbWFydGNvbHMgZmxhZ3MgKi8KKwljb25zdCBjaGFyICAgICAgKmhlbHA7CQkvKiBjb2x1bW4gZGVzY3JpcHRpb24gKi8KKwljb25zdCBjaGFyCSptYXRjaDsJCS8qIHBhdHRlcm4gZm9yIG1hdGNoX2Z1bmMoKSAqLworCXZvaWQJCSptYXRjaF9kYXRhOwkvKiBtYXRjaCBzcGVjaWZpYyBkYXRhICovCit9OworCisvKiBjb2x1bW5zIGRlc2NyaXB0aW9ucyAoZG9uJ3QgdXNlIGNvbnN0LCB0aGlzIGlzIHdyaXRhYmxlKSAqLworc3RhdGljIHN0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9TT1VSQ0VdICAgICAgID0geyAiU09VUkNFIiwgICAgICAgMC4yNSwgU0NPTFNfRkxfTk9FWFRSRU1FUywgTl8oInNvdXJjZSBkZXZpY2UiKSB9LAorCVtDT0xfVEFSR0VUXSAgICAgICA9IHsgIlRBUkdFVCIsICAgICAgIDAuMzAsIFNDT0xTX0ZMX1RSRUV8IFNDT0xTX0ZMX05PRVhUUkVNRVMsIE5fKCJtb3VudHBvaW50IikgfSwKKwlbQ09MX0ZTVFlQRV0gICAgICAgPSB7ICJGU1RZUEUiLCAgICAgICAwLjEwLCBTQ09MU19GTF9UUlVOQywgTl8oImZpbGVzeXN0ZW0gdHlwZSIpIH0sCisJW0NPTF9PUFRJT05TXSAgICAgID0geyAiT1BUSU9OUyIsICAgICAgMC4xMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJhbGwgbW91bnQgb3B0aW9ucyIpIH0sCisJW0NPTF9WRlNfT1BUSU9OU10gID0geyAiVkZTLU9QVElPTlMiLCAgMC4yMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIpIH0sCisJW0NPTF9GU19PUFRJT05TXSAgID0geyAiRlMtT1BUSU9OUyIsICAgMC4xMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIikgfSwKKwlbQ09MX0xBQkVMXSAgICAgICAgPSB7ICJMQUJFTCIsICAgICAgICAwLjEwLCAwLCBOXygiZmlsZXN5c3RlbSBsYWJlbCIpIH0sCisJW0NPTF9VVUlEXSAgICAgICAgID0geyAiVVVJRCIsICAgICAgICAgICAzNiwgMCwgTl8oImZpbGVzeXN0ZW0gVVVJRCIpIH0sCisJW0NPTF9QQVJUTEFCRUxdICAgID0geyAiUEFSVExBQkVMIiwgICAgMC4xMCwgMCwgTl8oInBhcnRpdGlvbiBsYWJlbCIpIH0sCisJW0NPTF9QQVJUVVVJRF0gICAgID0geyAiUEFSVFVVSUQiLCAgICAgICAzNiwgMCwgTl8oInBhcnRpdGlvbiBVVUlEIikgfSwKKwlbQ09MX01BSk1JTl0gICAgICAgPSB7ICJNQUo6TUlOIiwgICAgICAgICA2LCAwLCBOXygibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIpIH0sCisJW0NPTF9BQ1RJT05dICAgICAgID0geyAiQUNUSU9OIiwgICAgICAgICAxMCwgU0NPTFNfRkxfU1RSSUNUV0lEVEgsIE5fKCJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIikgfSwKKwlbQ09MX09MRF9PUFRJT05TXSAgPSB7ICJPTEQtT1BUSU9OUyIsICAwLjEwLCBTQ09MU19GTF9UUlVOQywgTl8oIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIpIH0sCisJW0NPTF9PTERfVEFSR0VUXSAgID0geyAiT0xELVRBUkdFVCIsICAgMC4zMCwgMCwgTl8oIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIpIH0sCisJW0NPTF9TSVpFXSAgICAgICAgID0geyAiU0laRSIsICAgICAgICAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJmaWxlc3lzdGVtIHNpemUiKSB9LAorCVtDT0xfQVZBSUxdICAgICAgICA9IHsgIkFWQUlMIiwgICAgICAgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIpIH0sCisJW0NPTF9VU0VEXSAgICAgICAgID0geyAiVVNFRCIsICAgICAgICAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJmaWxlc3lzdGVtIHNpemUgdXNlZCIpIH0sCisJW0NPTF9VU0VQRVJDXSAgICAgID0geyAiVVNFJSIsICAgICAgICAgICAgMywgU0NPTFNfRkxfUklHSFQsIE5fKCJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIikgfSwKKwlbQ09MX0ZTUk9PVF0gICAgICAgPSB7ICJGU1JPT1QiLCAgICAgICAwLjI1LCBTQ09MU19GTF9OT0VYVFJFTUVTLCBOXygiZmlsZXN5c3RlbSByb290IikgfSwKKwlbQ09MX1RJRF0gICAgICAgICAgPSB7ICJUSUQiLCAgICAgICAgICAgICA0LCBTQ09MU19GTF9SSUdIVCwgTl8oInRhc2sgSUQiKSB9LAorCVtDT0xfSURdICAgICAgICAgICA9IHsgIklEIiwgICAgICAgICAgICAgIDIsIFNDT0xTX0ZMX1JJR0hULCBOXygibW91bnQgSUQiKSB9LAorCVtDT0xfT1BUX0ZJRUxEU10gICA9IHsgIk9QVC1GSUVMRFMiLCAgIDAuMTAsIFNDT0xTX0ZMX1RSVU5DLCBOXygib3B0aW9uYWwgbW91bnQgZmllbGRzIikgfSwKKwlbQ09MX1BST1BBR0FUSU9OXSAgPSB7ICJQUk9QQUdBVElPTiIsICAwLjEwLCAwLCBOXygiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIikgfSwKKwlbQ09MX0ZSRVFdICAgICAgICAgPSB7ICJGUkVRIiwgICAgICAgICAgICAxLCBTQ09MU19GTF9SSUdIVCwgTl8oImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIikgfSwKKwlbQ09MX1BBU1NOT10gICAgICAgPSB7ICJQQVNTTk8iLCAgICAgICAgICAxLCBTQ09MU19GTF9SSUdIVCwgTl8oInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIikgfQorfTsKKworLyogY29sdW1uc1tdIGFycmF5IHNwZWNpZmllcyBhbGwgY3VycmVudGx5IHdhbnRlZCBvdXRwdXQgY29sdW1uLiBUaGUgY29sdW1ucworICogYXJlIGRlZmluZWQgYnkgaW5mb3NbXSBhcnJheSBhbmQgeW91IGNhbiBzcGVjaWZ5IChvbiBjb21tYW5kIGxpbmUpIGVhY2gKKyAqIGNvbHVtbiB0d2ljZS4gVGhhdCdzIGVub3VnaCwgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGFycmF5IG9mIHRoZSBjb2x1bW5zIGlzCisgKiB1bm5lY2Vzc2FyeSBvdmVya2lsbCBhbmQgb3Zlci1lbmdpbmVlcmluZyBpbiB0aGlzIGNhc2UgKi8KK3N0YXRpYyBpbnQgY29sdW1uc1tBUlJBWV9TSVpFKGluZm9zKSAqIDJdOworc3RhdGljIHNpemVfdCBuY29sdW1uczsKKworc3RhdGljIGlubGluZSBzaXplX3QgZXJyX2NvbHVtbnNfaW5kZXgoc2l6ZV90IGFyeXN6LCBzaXplX3QgaWR4KQoreworCWlmIChpZHggPj0gYXJ5c3opCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgIgorCQkJCSAgICAgInRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIpLAorCQkJCWFyeXN6IC0gMSk7CisJcmV0dXJuIGlkeDsKK30KKworI2RlZmluZSBhZGRfY29sdW1uKGFyeSwgbiwgaWQpCVwKKwkJKChhcnkpWyBlcnJfY29sdW1uc19pbmRleChBUlJBWV9TSVpFKGFyeSksIChuKSkgXSA9IChpZCkpCisKKy8qIHBvbGwgYWN0aW9ucyAocGFyc2VkIC0tcG9sbD08bGlzdD4gKi8KKyNkZWZpbmUgRklORE1OVF9OQUNUSU9OUwk0CQkvKiBtb3VudCwgdW1vdW50LCBtb3ZlLCByZW1vdW50ICovCitzdGF0aWMgaW50IGFjdGlvbnNbRklORE1OVF9OQUNUSU9OU107CitzdGF0aWMgaW50IG5hY3Rpb25zOworCisvKiBnbG9iYWwgKGFjY2Vzc2VkIGZyb20gZmluZG1udC12ZXJpZnkuYyB0b28pICovCitpbnQgZmxhZ3M7CitpbnQgcGFyc2VfbmVycm9yczsKK3N0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlOworCisKKyNpZmRlZiBIQVZFX0xJQlVERVYKK3N0YXRpYyBzdHJ1Y3QgdWRldiAqdWRldjsKKyNlbmRpZgorCitzdGF0aWMgaW50IG1hdGNoX2Z1bmMoc3RydWN0IGxpYm1udF9mcyAqZnMsIHZvaWQgKmRhdGEgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSk7CisKKworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA+PSAwKTsKKwlhc3NlcnQoKHNpemVfdCkgbnVtIDwgbmNvbHVtbnMpOworCWFzc2VydCgoc2l6ZV90KSBjb2x1bW5zW251bV0gPCBBUlJBWV9TSVpFKGluZm9zKSk7CisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8oaW50IG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmNvbHVtbl9pZF90b19uYW1lKGludCBpZCkKK3sKKwlhc3NlcnQoKHNpemVfdCkgaWQgPCBBUlJBWV9TSVpFKGluZm9zKSk7CisJcmV0dXJuIGluZm9zW2lkXS5uYW1lOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X2NvbHVtbl9uYW1lKGludCBudW0pCit7CisJcmV0dXJuIGdldF9jb2x1bW5faW5mbyhudW0pLT5uYW1lOworfQorCitzdGF0aWMgZmxvYXQgZ2V0X2NvbHVtbl93aGludChpbnQgbnVtKQoreworCXJldHVybiBnZXRfY29sdW1uX2luZm8obnVtKS0+d2hpbnQ7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2NvbHVtbl9mbGFncyhpbnQgbnVtKQoreworCXJldHVybiBnZXRfY29sdW1uX2luZm8obnVtKS0+ZmxhZ3M7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfbWF0Y2goaW50IGlkKQoreworCWFzc2VydCgoc2l6ZV90KSBpZCA8IEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlyZXR1cm4gaW5mb3NbaWRdLm1hdGNoOworfQorCitzdGF0aWMgdm9pZCAqZ2V0X21hdGNoX2RhdGEoaW50IGlkKQoreworCWFzc2VydCgoc2l6ZV90KSBpZCA8IEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlyZXR1cm4gaW5mb3NbaWRdLm1hdGNoX2RhdGE7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9tYXRjaChpbnQgaWQsIGNvbnN0IGNoYXIgKm1hdGNoKQoreworCWFzc2VydCgoc2l6ZV90KSBpZCA8IEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlpbmZvc1tpZF0ubWF0Y2ggPSBtYXRjaDsKK30KKworc3RhdGljIHZvaWQgc2V0X21hdGNoX2RhdGEoaW50IGlkLCB2b2lkICpkYXRhKQoreworCWFzc2VydCgoc2l6ZV90KSBpZCA8IEFSUkFZX1NJWkUoaW5mb3MpKTsKKwlpbmZvc1tpZF0ubWF0Y2hfZGF0YSA9IGRhdGE7Cit9CisKKy8qCisgKiBzb3VyY2UgbWF0Y2ggbWVhbnMgQ09MX1NPVVJDRSAqb3IqIENPTF9NQUpNSU4sIGRlcGVuZHMgb24KKyAqIGRhdGEgZm9ybWF0LgorICovCitzdGF0aWMgdm9pZCBzZXRfc291cmNlX21hdGNoKGNvbnN0IGNoYXIgKmRhdGEpCit7CisJaW50IG1haiwgbWluOworCisJaWYgKHNzY2FuZihkYXRhLCAiJWQ6JWQiLCAmbWFqLCAmbWluKSA9PSAyKSB7CisJCWRldl90ICpkZXZubyA9IHhtYWxsb2Moc2l6ZW9mKGRldl90KSk7CisKKwkJKmRldm5vID0gbWFrZWRldihtYWosIG1pbik7CisJCXNldF9tYXRjaChDT0xfTUFKTUlOLCBkYXRhKTsKKwkJc2V0X21hdGNoX2RhdGEoQ09MX01BSk1JTiwgKHZvaWQgKikgZGV2bm8pOworCQlmbGFncyB8PSBGTF9OT1NXQVBNQVRDSDsKKwl9IGVsc2UKKwkJc2V0X21hdGNoKENPTF9TT1VSQ0UsIGRhdGEpOworfQorCisvKgorICogRXh0cmEgZnVuY3Rpb25hbGl0eSBmb3IgLS10YXJnZXQgPHBhdGg+LiBUaGUgZnVuY3Rpb24gbW50X3RhYmxlX2ZpbmRfbW91bnRwb2ludCgpCisgKiBhbHNvIGNoZWNrcyBwYXJlbnRzIChwYXRoIGVsZW1lbnRzIGluIHJldmVyc2Ugb3JkZXIpIHRvIGdldCBtb3VudHBvaW50LgorICoKKyAqIEB0YiBoYXMgdG8gYmUgZnJvbSBrZXJuZWwgKHNvIG5vIGZzdGFiIG9yIHNvKSEKKyAqLworc3RhdGljIHZvaWQgZW5hYmxlX2V4dHJhX3RhcmdldF9tYXRjaChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwljaGFyICpjbiA9IE5VTEw7CisJY29uc3QgY2hhciAqdGd0ID0gTlVMTCwgKm1udCA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwkvKgorCSAqIENoZWNrIGlmIG1hdGNoIHBhdHRlcm4gaXMgbW91bnRwb2ludCwgaWYgbm90IHVzZSB0aGUKKwkgKiByZWFsIG1vdW50cG9pbnQuCisJICovCisJaWYgKGZsYWdzICYgRkxfTk9DQUNIRSkKKwkJdGd0ID0gZ2V0X21hdGNoKENPTF9UQVJHRVQpOworCWVsc2UgeworCQl0Z3QgPSBjbiA9IG1udF9yZXNvbHZlX3BhdGgoZ2V0X21hdGNoKENPTF9UQVJHRVQpLCBjYWNoZSk7CisJCWlmICghY24pCisJCQlyZXR1cm47CisJfQorCisJZnMgPSBtbnRfdGFibGVfZmluZF9tb3VudHBvaW50KHRiLCB0Z3QsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoZnMpCisJCW1udCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKwlpZiAobW50ICYmIHN0cmNtcChtbnQsIHRndCkgIT0gMCkKKwkJc2V0X21hdGNoKENPTF9UQVJHRVQsIHhzdHJkdXAobW50KSk7CS8qIHJlcGxhY2UgdGhlIGN1cnJlbnQgc2V0dGluZyAqLworCisJaWYgKCFjYWNoZSkKKwkJZnJlZShjbik7Cit9CisKKworc3RhdGljIGludCBpc190YWJkaWZmX2NvbHVtbihpbnQgaWQpCit7CisJYXNzZXJ0KChzaXplX3QpIGlkIDwgQVJSQVlfU0laRShpbmZvcykpOworCisJc3dpdGNoKGlkKSB7CisJY2FzZSBDT0xfQUNUSU9OOgorCWNhc2UgQ09MX09MRF9UQVJHRVQ6CisJY2FzZSBDT0xfT0xEX09QVElPTlM6CisJCXJldHVybiAxOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqICJmaW5kbW50IiB3aXRob3V0IGFueSBmaWx0ZXIKKyAqLworaW50IGlzX2xpc3RhbGxfbW9kZSh2b2lkKQoreworCWlmICgoZmxhZ3MgJiBGTF9ERikgJiYgIShmbGFncyAmIEZMX0FMTCkpCisJCXJldHVybiAwOworCisJcmV0dXJuICghZ2V0X21hdGNoKENPTF9TT1VSQ0UpICYmCisJCSFnZXRfbWF0Y2goQ09MX1RBUkdFVCkgJiYKKwkJIWdldF9tYXRjaChDT0xfRlNUWVBFKSAmJgorCQkhZ2V0X21hdGNoKENPTF9PUFRJT05TKSAmJgorCQkhZ2V0X21hdGNoKENPTF9NQUpNSU4pKTsKK30KKworLyoKKyAqIFJldHVybnMgMSBpZiB0aGUgQGFjdCBpcyBpbiB0aGUgLS1wb2xsPTxsaXN0PgorICovCitzdGF0aWMgaW50IGhhc19wb2xsX2FjdGlvbihpbnQgYWN0KQoreworCWludCBpOworCisJaWYgKCFuYWN0aW9ucykKKwkJcmV0dXJuIDE7CS8qIGFsbCBhY3Rpb25zIGVuYWJsZWQgKi8KKwlmb3IgKGkgPSAwOyBpIDwgbmFjdGlvbnM7IGkrKykKKwkJaWYgKGFjdGlvbnNbaV0gPT0gYWN0KQorCQkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcG9sbF9hY3Rpb25fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCWludCBpZCA9IC0xOworCisJaWYgKHN0cm5jYXNlY21wKG5hbWUsICJtb3ZlIiwgbmFtZXN6KSA9PSAwICYmIG5hbWVzeiA9PSA0KQorCQlpZCA9IE1OVF9UQUJESUZGX01PVkU7CisJZWxzZSBpZiAoc3RybmNhc2VjbXAobmFtZSwgIm1vdW50IiwgbmFtZXN6KSA9PSAwICYmIG5hbWVzeiA9PSA1KQorCQlpZCA9IE1OVF9UQUJESUZGX01PVU5UOworCWVsc2UgaWYgKHN0cm5jYXNlY21wKG5hbWUsICJ1bW91bnQiLCBuYW1lc3opID09IDAgJiYgbmFtZXN6ID09IDYpCisJCWlkID0gTU5UX1RBQkRJRkZfVU1PVU5UOworCWVsc2UgaWYgKHN0cm5jYXNlY21wKG5hbWUsICJyZW1vdW50IiwgbmFtZXN6KSA9PSAwICYmIG5hbWVzeiA9PSA3KQorCQlpZCA9IE1OVF9UQUJESUZGX1JFTU9VTlQ7CisJZWxzZQorCQl3YXJueChfKCJ1bmtub3duIGFjdGlvbjogJXMiKSwgbmFtZSk7CisKKwlyZXR1cm4gaWQ7Cit9CisKKy8qCisgKiBmaW5kbW50IC0tZmlyc3Qtb25seSA8ZGV2bmFtZXxUQUc9fG1vdW50cG9pbnQ+CisgKgorICogLi4uIGl0IHdvcmtzIGxpa2UgIm1vdW50IDxkZXZuYW1lfFRBRz18bW91bnRwb2ludD4iCisgKi8KK3N0YXRpYyBpbnQgaXNfbW91bnRfY29tcGF0aWJsZV9tb2RlKHZvaWQpCit7CisJaWYgKCFnZXRfbWF0Y2goQ09MX1NPVVJDRSkpCisJICAgICAgIHJldHVybiAwOwkJLyogPGRldm5hbWV8VEFHPXxtb3VudHBvaW50PiBpcyByZXF1aXJlZCAqLworCWlmIChnZXRfbWF0Y2goQ09MX0ZTVFlQRSkgfHwgZ2V0X21hdGNoKENPTF9PUFRJT05TKSkKKwkJcmV0dXJuIDA7CQkvKiBjYW5ub3QgYmUgcmVzdHJpY3RlZCBieSAtdCBvciAtTyAqLworCWlmICghKGZsYWdzICYgRkxfRklSU1RPTkxZKSkKKwkJcmV0dXJuIDA7CQkvKiB3ZSBoYXZlIHRvIHJldHVybiB0aGUgZmlyc3QgZW50cnkgb25seSAqLworCisJcmV0dXJuIDE7CQkJLyogb2sgKi8KK30KKworc3RhdGljIHZvaWQgZGlzYWJsZV9jb2x1bW5zX3RydW5jYXRlKHZvaWQpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykKKwkJaW5mb3NbaV0uZmxhZ3MgJj0gflNDT0xTX0ZMX1RSVU5DOworfQorCisvKgorICogY29udmVydHMgQG5hbWUgdG8gY29sdW1uIElECisgKi8KK3N0YXRpYyBpbnQgY29sdW1uX25hbWVfdG9faWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gY29sdW1uX2lkX3RvX25hbWUoaSk7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworCisjaWZkZWYgSEFWRV9MSUJVREVWCitzdGF0aWMgY2hhciAqZ2V0X3RhZ19mcm9tX3VkZXYoY29uc3QgY2hhciAqZGV2bmFtZSwgaW50IGNvbCkKK3sKKwlzdHJ1Y3QgdWRldl9kZXZpY2UgKmRldjsKKwljb25zdCBjaGFyICpkYXRhID0gTlVMTDsKKwljaGFyICpyZXMgPSBOVUxMLCAqcGF0aDsKKworCWlmICghdWRldikKKwkJdWRldiA9IHVkZXZfbmV3KCk7CisJaWYgKCF1ZGV2KQorCQlyZXR1cm4gTlVMTDsKKworCS8qIGxpYnVkZXYgZG9uJ3QgbGlrZSAvZGV2L21hcHBlci8gc3ltbGlua3MgKi8KKwlwYXRoID0gcmVhbHBhdGgoZGV2bmFtZSwgTlVMTCk7CisJaWYgKHBhdGgpCisJCWRldm5hbWUgPSBwYXRoOworCisJaWYgKHN0cm5jbXAoZGV2bmFtZSwgIi9kZXYvIiwgNSkgPT0gMCkKKwkJZGV2bmFtZSArPSA1OworCisJZGV2ID0gdWRldl9kZXZpY2VfbmV3X2Zyb21fc3Vic3lzdGVtX3N5c25hbWUodWRldiwgImJsb2NrIiwgZGV2bmFtZSk7CisJZnJlZShwYXRoKTsKKworCWlmICghZGV2KQorCQlyZXR1cm4gTlVMTDsKKworCXN3aXRjaChjb2wpIHsKKwljYXNlIENPTF9MQUJFTDoKKwkJZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9GU19MQUJFTF9FTkMiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfVVVJRDoKKwkJZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9GU19VVUlEX0VOQyIpOworCQlicmVhazsKKwljYXNlIENPTF9QQVJUVVVJRDoKKwkJZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9QQVJUX0VOVFJZX1VVSUQiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUEFSVExBQkVMOgorCQlkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1BBUlRfRU5UUllfTkFNRSIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlpZiAoZGF0YSkgeworCQlyZXMgPSB4c3RyZHVwKGRhdGEpOworCQl1bmhleG1hbmdsZV9zdHJpbmcocmVzKTsKKwl9CisKKwl1ZGV2X2RldmljZV91bnJlZihkZXYpOworCXJldHVybiByZXM7Cit9CisjZW5kaWYgLyogSEFWRV9MSUJVREVWICovCisKKy8qIFJldHVybnMgTEFCRUwgb3IgVVVJRCAqLworc3RhdGljIGNoYXIgKmdldF90YWcoc3RydWN0IGxpYm1udF9mcyAqZnMsIGNvbnN0IGNoYXIgKnRhZ25hbWUsIGludCBjb2wKKyNpZm5kZWYgSEFWRV9MSUJVREVWCisJCV9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKQorI2VuZGlmCisJCSkKK3sKKwljb25zdCBjaGFyICp0LCAqdjsKKwljaGFyICpyZXMgPSBOVUxMOworCisJaWYgKCFtbnRfZnNfZ2V0X3RhZyhmcywgJnQsICZ2KSAmJiAhc3RyY21wKHQsIHRhZ25hbWUpKQorCQlyZXMgPSB4c3RyZHVwKHYpOworCWVsc2UgeworCQljb25zdCBjaGFyICpkZXYgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisKKwkJaWYgKGRldiAmJiAhKGZsYWdzICYgRkxfTk9DQUNIRSkpCisJCQlkZXYgPSBtbnRfcmVzb2x2ZV9zcGVjKGRldiwgY2FjaGUpOworI2lmZGVmIEhBVkVfTElCVURFVgorCQlpZiAoZGV2KQorCQkJcmVzID0gZ2V0X3RhZ19mcm9tX3VkZXYoZGV2LCBjb2wpOworI2VuZGlmCisJCWlmICghcmVzKSB7CisJCQlyZXMgPSBtbnRfY2FjaGVfZmluZF90YWdfdmFsdWUoY2FjaGUsIGRldiwgdGFnbmFtZSk7CisJCQlpZiAocmVzICYmIGNhY2hlKQorCQkJCS8qIGRvbid0IHJldHVybiBwb2ludGVyIHRvIGNhY2hlICovCisJCQkJcmVzID0geHN0cmR1cChyZXMpOworCQl9CisJfQorCisJcmV0dXJuIHJlczsKK30KKworc3RhdGljIGNoYXIgKmdldF92ZnNfYXR0cihzdHJ1Y3QgbGlibW50X2ZzICpmcywgaW50IHNpemV0eXBlKQoreworCXN0cnVjdCBzdGF0dmZzIGJ1ZjsKKwl1aW50NjRfdCB2ZnNfYXR0ciA9IDA7CisJY2hhciAqc2l6ZXN0cjsKKworCWlmIChzdGF0dmZzKG1udF9mc19nZXRfdGFyZ2V0KGZzKSwgJmJ1ZikgIT0gMCkKKwkJcmV0dXJuIE5VTEw7CisKKwlzd2l0Y2goc2l6ZXR5cGUpIHsKKwljYXNlIENPTF9TSVpFOgorCQl2ZnNfYXR0ciA9IGJ1Zi5mX2Zyc2l6ZSAqIGJ1Zi5mX2Jsb2NrczsKKwkJYnJlYWs7CisJY2FzZSBDT0xfQVZBSUw6CisJCXZmc19hdHRyID0gYnVmLmZfZnJzaXplICogYnVmLmZfYmF2YWlsOworCQlicmVhazsKKwljYXNlIENPTF9VU0VEOgorCQl2ZnNfYXR0ciA9IGJ1Zi5mX2Zyc2l6ZSAqIChidWYuZl9ibG9ja3MgLSBidWYuZl9iZnJlZSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1VTRVBFUkM6CisJCWlmIChidWYuZl9ibG9ja3MgPT0gMCkKKwkJCXJldHVybiB4c3RyZHVwKCItIik7CisKKwkJeGFzcHJpbnRmKCZzaXplc3RyLCAiJS4wZiUlIiwKKwkJCQkoZG91YmxlKShidWYuZl9ibG9ja3MgLSBidWYuZl9iZnJlZSkgLworCQkJCWJ1Zi5mX2Jsb2NrcyAqIDEwMCk7CisJCXJldHVybiBzaXplc3RyOworCX0KKworCWlmICghdmZzX2F0dHIpCisJCXNpemVzdHIgPSB4c3RyZHVwKCIwIik7CisJZWxzZSBpZiAoZmxhZ3MgJiBGTF9CWVRFUykKKwkJeGFzcHJpbnRmKCZzaXplc3RyLCAiJWp1IiwgdmZzX2F0dHIpOworCWVsc2UKKwkJc2l6ZXN0ciA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHZmc19hdHRyKTsKKworCXJldHVybiBzaXplc3RyOworfQorCisvKiByZWFkcyBGUyBkYXRhIGZyb20gbGlibW91bnQKKyAqLworc3RhdGljIGNoYXIgKmdldF9kYXRhKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBpbnQgbnVtKQoreworCWNoYXIgKnN0ciA9IE5VTEw7CisJaW50IGNvbF9pZCA9IGdldF9jb2x1bW5faWQobnVtKTsKKworCXN3aXRjaCAoY29sX2lkKSB7CisJY2FzZSBDT0xfU09VUkNFOgorCXsKKwkJY29uc3QgY2hhciAqcm9vdCA9IG1udF9mc19nZXRfcm9vdChmcyk7CisJCWNvbnN0IGNoYXIgKnNwZWMgPSBtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpOworCQljaGFyICpjbiA9IE5VTEw7CisKKwkJaWYgKHNwZWMgJiYgKGZsYWdzICYgRkxfQ0FOT05JQ0FMSVpFKSkKKwkJCXNwZWMgPSBjbiA9IG1udF9yZXNvbHZlX3BhdGgoc3BlYywgY2FjaGUpOworCQlpZiAoIXNwZWMpIHsKKwkJCXNwZWMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisKKwkJCWlmIChzcGVjICYmIChmbGFncyAmIEZMX0VWQUxVQVRFKSkKKwkJCQlzcGVjID0gY24gPSBtbnRfcmVzb2x2ZV9zcGVjKHNwZWMsIGNhY2hlKTsKKwkJfQorCQlpZiAocm9vdCAmJiBzcGVjICYmICEoZmxhZ3MgJiBGTF9OT0ZTUk9PVCkgJiYgc3RyY21wKHJvb3QsICIvIikpCisJCQl4YXNwcmludGYoJnN0ciwgIiVzWyVzXSIsIHNwZWMsIHJvb3QpOworCQllbHNlIGlmIChzcGVjKQorCQkJc3RyID0geHN0cmR1cChzcGVjKTsKKwkJaWYgKCFjYWNoZSkKKwkJCWZyZWUoY24pOworCQlicmVhazsKKwl9CisJY2FzZSBDT0xfVEFSR0VUOgorCQlzdHIgPSB4c3RyZHVwKG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX0ZTVFlQRToKKwkJc3RyID0geHN0cmR1cChtbnRfZnNfZ2V0X2ZzdHlwZShmcykpOworCQlicmVhazsKKwljYXNlIENPTF9PUFRJT05TOgorCQlzdHIgPSB4c3RyZHVwKG1udF9mc19nZXRfb3B0aW9ucyhmcykpOworCQlicmVhazsKKwljYXNlIENPTF9WRlNfT1BUSU9OUzoKKwkJc3RyID0geHN0cmR1cChtbnRfZnNfZ2V0X3Zmc19vcHRpb25zKGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX0ZTX09QVElPTlM6CisJCXN0ciA9IHhzdHJkdXAobW50X2ZzX2dldF9mc19vcHRpb25zKGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX09QVF9GSUVMRFM6CisJCXN0ciA9IHhzdHJkdXAobW50X2ZzX2dldF9vcHRpb25hbF9maWVsZHMoZnMpKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfVVVJRDoKKwkJc3RyID0gZ2V0X3RhZyhmcywgIlVVSUQiLCBjb2xfaWQpOworCQlicmVhazsKKwljYXNlIENPTF9QQVJUVVVJRDoKKwkJc3RyID0gZ2V0X3RhZyhmcywgIlBBUlRVVUlEIiwgY29sX2lkKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfTEFCRUw6CisJCXN0ciA9IGdldF90YWcoZnMsICJMQUJFTCIsIGNvbF9pZCk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BBUlRMQUJFTDoKKwkJc3RyID0gZ2V0X3RhZyhmcywgIlBBUlRMQUJFTCIsIGNvbF9pZCk7CisJCWJyZWFrOworCisJY2FzZSBDT0xfTUFKTUlOOgorCXsKKwkJZGV2X3QgZGV2bm8gPSBtbnRfZnNfZ2V0X2Rldm5vKGZzKTsKKwkJaWYgKCFkZXZubykKKwkJCWJyZWFrOworCisJCWlmICgoZmxhZ3MgJiBGTF9SQVcpIHx8IChmbGFncyAmIEZMX0VYUE9SVCkgfHwgKGZsYWdzICYgRkxfSlNPTikpCisJCQl4YXNwcmludGYoJnN0ciwgIiV1OiV1IiwgbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpOworCQllbHNlCisJCQl4YXNwcmludGYoJnN0ciwgIiUzdTolLTN1IiwgbWFqb3IoZGV2bm8pLCBtaW5vcihkZXZubykpOworCQlicmVhazsKKwl9CisJY2FzZSBDT0xfU0laRToKKwljYXNlIENPTF9BVkFJTDoKKwljYXNlIENPTF9VU0VEOgorCWNhc2UgQ09MX1VTRVBFUkM6CisJCXN0ciA9IGdldF92ZnNfYXR0cihmcywgY29sX2lkKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfRlNST09UOgorCQlzdHIgPSB4c3RyZHVwKG1udF9mc19nZXRfcm9vdChmcykpOworCQlicmVhazsKKwljYXNlIENPTF9USUQ6CisJCWlmIChtbnRfZnNfZ2V0X3RpZChmcykpCisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgbW50X2ZzX2dldF90aWQoZnMpKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfSUQ6CisJCWlmIChtbnRfZnNfZ2V0X2lkKGZzKSkKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCBtbnRfZnNfZ2V0X2lkKGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BST1BBR0FUSU9OOgorCQlpZiAobW50X2ZzX2lzX2tlcm5lbChmcykpIHsKKwkJCXVuc2lnbmVkIGxvbmcgZmwgPSAwOworCQkJY2hhciAqbiA9IE5VTEw7CisKKwkJCWlmIChtbnRfZnNfZ2V0X3Byb3BhZ2F0aW9uKGZzLCAmZmwpICE9IDApCisJCQkJYnJlYWs7CisKKwkJCW4gPSB4c3RyZHVwKChmbCAmIE1TX1NIQVJFRCkgPyAic2hhcmVkIiA6ICJwcml2YXRlIik7CisKKwkJCWlmIChmbCAmIE1TX1NMQVZFKSB7CisJCQkJeGFzcHJpbnRmKCZzdHIsICIlcyxzbGF2ZSIsIG4pOworCQkJCWZyZWUobik7CisJCQkJbiA9IHN0cjsKKwkJCX0KKwkJCWlmIChmbCAmIE1TX1VOQklOREFCTEUpIHsKKwkJCQl4YXNwcmludGYoJnN0ciwgIiVzLHVuYmluZGFibGUiLCBuKTsKKwkJCQlmcmVlKG4pOworCQkJCW4gPSBzdHI7CisJCQl9CisJCQlzdHIgPSBuOworCQl9CisJCWJyZWFrOworCWNhc2UgQ09MX0ZSRVE6CisJCWlmICghbW50X2ZzX2lzX2tlcm5lbChmcykpCisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgbW50X2ZzX2dldF9mcmVxKGZzKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BBU1NOTzoKKwkJaWYgKCFtbnRfZnNfaXNfa2VybmVsKGZzKSkKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCBtbnRfZnNfZ2V0X3Bhc3NubyhmcykpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisJcmV0dXJuIHN0cjsKK30KKworc3RhdGljIGNoYXIgKmdldF90YWJkaWZmX2RhdGEoc3RydWN0IGxpYm1udF9mcyAqb2xkX2ZzLAorCQkJCSAgICBzdHJ1Y3QgbGlibW50X2ZzICpuZXdfZnMsCisJCQkJICAgIGludCBjaGFuZ2UsCisJCQkJICAgIGludCBudW0pCit7CisJY2hhciAqc3RyID0gTlVMTDsKKworCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChudW0pKSB7CisJY2FzZSBDT0xfQUNUSU9OOgorCQlzd2l0Y2ggKGNoYW5nZSkgeworCQljYXNlIE1OVF9UQUJESUZGX01PVU5UOgorCQkJc3RyID0gXygibW91bnQiKTsKKwkJCWJyZWFrOworCQljYXNlIE1OVF9UQUJESUZGX1VNT1VOVDoKKwkJCXN0ciA9IF8oInVtb3VudCIpOworCQkJYnJlYWs7CisJCWNhc2UgTU5UX1RBQkRJRkZfUkVNT1VOVDoKKwkJCXN0ciA9IF8oInJlbW91bnQiKTsKKwkJCWJyZWFrOworCQljYXNlIE1OVF9UQUJESUZGX01PVkU6CisJCQlzdHIgPSBfKCJtb3ZlIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXN0ciA9IF8oInVua25vd24iKTsKKwkJCWJyZWFrOworCQl9CisJCXN0ciA9IHhzdHJkdXAoc3RyKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfT0xEX09QVElPTlM6CisJCWlmIChvbGRfZnMgJiYgKGNoYW5nZSA9PSBNTlRfVEFCRElGRl9SRU1PVU5UIHx8CisJCQkgICAgICAgY2hhbmdlID09IE1OVF9UQUJESUZGX1VNT1VOVCkpCisJCQlzdHIgPSB4c3RyZHVwKG1udF9mc19nZXRfb3B0aW9ucyhvbGRfZnMpKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfT0xEX1RBUkdFVDoKKwkJaWYgKG9sZF9mcyAmJiAoY2hhbmdlID09IE1OVF9UQUJESUZGX01PVkUgfHwKKwkJCSAgICAgICBjaGFuZ2UgPT0gTU5UX1RBQkRJRkZfVU1PVU5UKSkKKwkJCXN0ciA9IHhzdHJkdXAobW50X2ZzX2dldF90YXJnZXQob2xkX2ZzKSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlmIChuZXdfZnMpCisJCQlzdHIgPSBnZXRfZGF0YShuZXdfZnMsIG51bSk7CisJCWVsc2UKKwkJCXN0ciA9IGdldF9kYXRhKG9sZF9mcywgbnVtKTsKKwkJYnJlYWs7CisJfQorCXJldHVybiBzdHI7Cit9CisKKy8qIGFkZHMgb25lIGxpbmUgdG8gdGhlIG91dHB1dCBAdGFiICovCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmFkZF9saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUsIHN0cnVjdCBsaWJtbnRfZnMgKmZzLAorCQkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50KQoreworCXNpemVfdCBpOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIHBhcmVudCk7CisKKwlpZiAoIWxpbmUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWlmIChzY29sc19saW5lX3JlZmVyX2RhdGEobGluZSwgaSwgZ2V0X2RhdGEoZnMsIGkpKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiKSk7CisJfQorCisJc2NvbHNfbGluZV9zZXRfdXNlcmRhdGEobGluZSwgZnMpOworCXJldHVybiBsaW5lOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmFkZF90YWJkaWZmX2xpbmUoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSwgc3RydWN0IGxpYm1udF9mcyAqbmV3X2ZzLAorCQkJc3RydWN0IGxpYm1udF9mcyAqb2xkX2ZzLCBpbnQgY2hhbmdlKQoreworCXNpemVfdCBpOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIE5VTEwpOworCisJaWYgKCFsaW5lKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQlpZiAoc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxpbmUsIGksCisJCQkJZ2V0X3RhYmRpZmZfZGF0YShvbGRfZnMsIG5ld19mcywgY2hhbmdlLCBpKSkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIikpOworCX0KKworCXJldHVybiBsaW5lOworfQorCitzdGF0aWMgaW50IGhhc19saW5lKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUsIHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyOworCWludCByYyA9IDA7CisKKwlpdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQlyZXR1cm4gMDsKKworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUodGFibGUsIGl0ciwgJmxuKSA9PSAwKSB7CisJCWlmICgoc3RydWN0IGxpYm1udF9mcyAqKSBzY29sc19saW5lX2dldF91c2VyZGF0YShsbikgPT0gZnMpIHsKKwkJCXJjID0gMTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJc2NvbHNfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHJjOworfQorCisvKiByZWFkcyBmaWxlc3lzdGVtcyBmcm9tIEB0YiAobGlibW91bnQpIGFuZCBmaWxsaW4gQHRhYmxlIChvdXRwdXQgdGFibGUpICovCitzdGF0aWMgaW50IGNyZWF0ZV90cmVlbm9kZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLCBzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCSAgIHN0cnVjdCBsaWJtbnRfZnMgKmZzLCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqcGFyZW50X2xpbmUpCit7CisJc3RydWN0IGxpYm1udF9mcyAqY2hsZCA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lOworCWludCByYyA9IC0xOworCisJaWYgKCFmcykgeworCQkvKiBmaXJzdCBjYWxsLCBnZXQgcm9vdCBGUyAqLworCQlpZiAobW50X3RhYmxlX2dldF9yb290X2ZzKHRiLCAmZnMpKQorCQkJZ290byBsZWF2ZTsKKwkJcGFyZW50X2xpbmUgPSBOVUxMOworCisJfSBlbHNlIGlmICgoZmxhZ3MgJiBGTF9TVUJNT1VOVFMpICYmIGhhc19saW5lKHRhYmxlLCBmcykpCisJCXJldHVybiAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQlnb3RvIGxlYXZlOworCisJaWYgKChmbGFncyAmIEZMX1NVQk1PVU5UUykgfHwgbWF0Y2hfZnVuYyhmcywgTlVMTCkpIHsKKwkJbGluZSA9IGFkZF9saW5lKHRhYmxlLCBmcywgcGFyZW50X2xpbmUpOworCQlpZiAoIWxpbmUpCisJCQlnb3RvIGxlYXZlOworCX0gZWxzZQorCQlsaW5lID0gcGFyZW50X2xpbmU7CisKKwkvKgorCSAqIGFkZCBhbGwgY2hpbGRyZW4gdG8gdGhlIG91dHB1dCB0YWJsZQorCSAqLworCXdoaWxlKG1udF90YWJsZV9uZXh0X2NoaWxkX2ZzKHRiLCBpdHIsIGZzLCAmY2hsZCkgPT0gMCkgeworCQlpZiAoY3JlYXRlX3RyZWVub2RlKHRhYmxlLCB0YiwgY2hsZCwgbGluZSkpCisJCQlnb3RvIGxlYXZlOworCX0KKwlyYyA9IDA7CitsZWF2ZToKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHJjOworfQorCisvKiBlcnJvciBjYWxsYmFjayAqLworc3RhdGljIGludCBwYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSwKKwkJCWNvbnN0IGNoYXIgKmZpbGVuYW1lLCBpbnQgbGluZSkKK3sKKwl3YXJueChfKCIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIiksIGZpbGVuYW1lLCBsaW5lKTsKKwkrK3BhcnNlX25lcnJvcnM7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBjaGFyICoqYXBwZW5kX3RhYmZpbGUoY2hhciAqKmZpbGVzLCBpbnQgKm5maWxlcywgY2hhciAqZmlsZW5hbWUpCit7CisJZmlsZXMgPSB4cmVhbGxvYyhmaWxlcywgc2l6ZW9mKGNoYXIgKikgKiAoKm5maWxlcyArIDEpKTsKKwlmaWxlc1soKm5maWxlcykrK10gPSBmaWxlbmFtZTsKKwlyZXR1cm4gZmlsZXM7Cit9CisKK3N0YXRpYyBjaGFyICoqYXBwZW5kX3BpZF90YWJmaWxlKGNoYXIgKipmaWxlcywgaW50ICpuZmlsZXMsIHBpZF90IHBpZCkKK3sKKwljaGFyICpwYXRoID0gTlVMTDsKKworCXhhc3ByaW50ZigmcGF0aCwgIi9wcm9jLyVkL21vdW50aW5mbyIsIChpbnQpIHBpZCk7CisJcmV0dXJuIGFwcGVuZF90YWJmaWxlKGZpbGVzLCBuZmlsZXMsIHBhdGgpOworfQorCisvKiBjYWxscyBsaWJtb3VudCBmc3RhYi9tdGFiL21vdW50aW5mbyBwYXJzZXIgKi8KK3N0YXRpYyBzdHJ1Y3QgbGlibW50X3RhYmxlICpwYXJzZV90YWJmaWxlcyhjaGFyICoqZmlsZXMsCisJCQkJCSAgIGludCBuZmlsZXMsCisJCQkJCSAgIGludCB0YWJ0eXBlKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCWludCByYyA9IDA7CisKKwl0YiA9IG1udF9uZXdfdGFibGUoKTsKKwlpZiAoIXRiKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiKSk7CisJCXJldHVybiBOVUxMOworCX0KKwltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYih0YiwgcGFyc2VyX2VycmNiKTsKKworCWRvIHsKKwkJLyogTlVMTCBtZWFucyB0aGF0IGxpYm1vdW50IHdpbGwgdXNlIGRlZmF1bHQgcGF0aHMgKi8KKwkJY29uc3QgY2hhciAqcGF0aCA9IG5maWxlcyA/ICpmaWxlcysrIDogTlVMTDsKKworCQlzd2l0Y2ggKHRhYnR5cGUpIHsKKwkJY2FzZSBUQUJUWVBFX0ZTVEFCOgorCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfZnN0YWIodGIsIHBhdGgpOworCQkJYnJlYWs7CisJCWNhc2UgVEFCVFlQRV9NVEFCOgorCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfbXRhYih0YiwgcGF0aCk7CisJCQlicmVhazsKKwkJY2FzZSBUQUJUWVBFX0tFUk5FTDoKKwkJCWlmICghcGF0aCkKKwkJCQlwYXRoID0gYWNjZXNzKF9QQVRIX1BST0NfTU9VTlRJTkZPLCBSX09LKSA9PSAwID8KKwkJCQkJICAgICAgX1BBVEhfUFJPQ19NT1VOVElORk8gOgorCQkJCQkgICAgICBfUEFUSF9QUk9DX01PVU5UUzsKKworCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfZmlsZSh0YiwgcGF0aCk7CisJCQlicmVhazsKKwkJfQorCQlpZiAocmMpIHsKKwkJCW1udF91bnJlZl90YWJsZSh0Yik7CisJCQl3YXJuKF8oImNhbid0IHJlYWQgJXMiKSwgcGF0aCk7CisJCQlyZXR1cm4gTlVMTDsKKwkJfQorCX0gd2hpbGUgKC0tbmZpbGVzID4gMCk7CisKKwlyZXR1cm4gdGI7Cit9CisKKy8qCisgKiBQYXJzZXMgbW91bnRpbmZvIGFuZCBjYWxscyBtbnRfY2FjaGVfc2V0X3RhcmdldHMoY2FjaGUsIG10YWIpLiBPbmx5CisgKiBuZWNlc3NhcnkgaWYgQHRiIGluIG1haW4oKSB3YXMgcmVhZCBmcm9tIGEgbm9uLWtlcm5lbCBzb3VyY2UuCisgKi8KK3N0YXRpYyB2b2lkIGNhY2hlX3NldF90YXJnZXRzKHN0cnVjdCBsaWJtbnRfY2FjaGUgKnRtcCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwljb25zdCBjaGFyICpwYXRoOworCisJdGIgPSBtbnRfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJcmV0dXJuOworCisJcGF0aCA9IGFjY2VzcyhfUEFUSF9QUk9DX01PVU5USU5GTywgUl9PSykgPT0gMCA/CisJCV9QQVRIX1BST0NfTU9VTlRJTkZPIDoKKwkJX1BBVEhfUFJPQ19NT1VOVFM7CisKKwlpZiAobW50X3RhYmxlX3BhcnNlX2ZpbGUodGIsIHBhdGgpID09IDApCisJCW1udF9jYWNoZV9zZXRfdGFyZ2V0cyh0bXAsIHRiKTsKKworCW1udF91bnJlZl90YWJsZSh0Yik7Cit9CisKKy8qIGNoZWNrcyBpZiBAdGIgY29udGFpbnMgcGFyZW50LT5jaGlsZCByZWxhdGlvbnMgKi8KK3N0YXRpYyBpbnQgdGFiX2lzX3RyZWUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnMgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCWludCByYyA9IDA7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCWlmICghaXRyKQorCQlyZXR1cm4gMDsKKworCXJjID0gKG1udF90YWJsZV9uZXh0X2ZzKHRiLCBpdHIsICZmcykgPT0gMCAmJgorCSAgICAgIG1udF9mc19pc19rZXJuZWwoZnMpICYmCisJICAgICAgbW50X2ZzX2dldF9yb290KGZzKSk7CisKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHJjOworfQorCisvKiBjaGVja3MgaWYgYWxsIGZzIGluIEB0YiBhcmUgZnJvbSBrZXJuZWwgKi8KK3N0YXRpYyBpbnQgdGFiX2lzX2tlcm5lbChzdHJ1Y3QgbGlibW50X3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHI7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCWlmICghaXRyKQorCQlyZXR1cm4gMDsKKworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyh0YiwgaXRyLCAmZnMpID09IDApIHsKKwkJaWYgKCFtbnRfZnNfaXNfa2VybmVsKGZzKSkgeworCQkJbW50X2ZyZWVfaXRlcihpdHIpOworCQkJcmV0dXJuIDA7CisJCX0KKwl9CisKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIDE7Cit9CisKKy8qIGZpbHRlciBmdW5jdGlvbiBmb3IgbGlibW91bnQgKG1udF90YWJsZV9maW5kX25leHRfZnMoKSkgKi8KK3N0YXRpYyBpbnQgbWF0Y2hfZnVuYyhzdHJ1Y3QgbGlibW50X2ZzICpmcywKKwkJICAgICAgdm9pZCAqZGF0YSBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKQoreworCWludCByYyA9IGZsYWdzICYgRkxfSU5WRVJUID8gMSA6IDA7CisJY29uc3QgY2hhciAqbTsKKwl2b2lkICptZDsKKworCW0gPSBnZXRfbWF0Y2goQ09MX0ZTVFlQRSk7CisJaWYgKG0gJiYgIW1udF9mc19tYXRjaF9mc3R5cGUoZnMsIG0pKQorCQlyZXR1cm4gcmM7CisKKwltID0gZ2V0X21hdGNoKENPTF9PUFRJT05TKTsKKwlpZiAobSAmJiAhbW50X2ZzX21hdGNoX29wdGlvbnMoZnMsIG0pKQorCQlyZXR1cm4gcmM7CisKKwltZCA9IGdldF9tYXRjaF9kYXRhKENPTF9NQUpNSU4pOworCWlmIChtZCAmJiBtbnRfZnNfZ2V0X2Rldm5vKGZzKSAhPSAqKChkZXZfdCAqKSBtZCkpCisJCXJldHVybiByYzsKKworCW0gPSBnZXRfbWF0Y2goQ09MX1RBUkdFVCk7CisJaWYgKG0gJiYgIW1udF9mc19tYXRjaF90YXJnZXQoZnMsIG0sIGNhY2hlKSkKKwkJcmV0dXJuIHJjOworCisJbSA9IGdldF9tYXRjaChDT0xfU09VUkNFKTsKKwlpZiAobSAmJiAhbW50X2ZzX21hdGNoX3NvdXJjZShmcywgbSwgY2FjaGUpKQorCQlyZXR1cm4gcmM7CisKKwlpZiAoKGZsYWdzICYgRkxfREYpICYmICEoZmxhZ3MgJiBGTF9BTEwpKSB7CisJCWNvbnN0IGNoYXIgKnR5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShmcyk7CisKKwkJaWYgKHR5cGUgJiYgc3Ryc3RyKHR5cGUsICJ0bXBmcyIpKQkvKiB0bXBmcyBpcyB3YW50ZWQgKi8KKwkJCXJldHVybiAhcmM7CisKKwkJaWYgKG1udF9mc19pc19wc2V1ZG9mcyhmcykpCisJCQlyZXR1cm4gcmM7CisJfQorCisJaWYgKChmbGFncyAmIEZMX1JFQUwpICYmIG1udF9mc19pc19wc2V1ZG9mcyhmcykpCisJICAgIHJldHVybiByYzsKKworCWlmICgoZmxhZ3MgJiBGTF9QU0VVRE8pICYmICFtbnRfZnNfaXNfcHNldWRvZnMoZnMpKQorCSAgICByZXR1cm4gcmM7CisKKwlyZXR1cm4gIXJjOworfQorCisvKiBpdGVyYXRlIG92ZXIgZmlsZXN5c3RlbXMgaW4gQHRiICovCitzdHJ1Y3QgbGlibW50X2ZzICpnZXRfbmV4dF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwKKwkJCQkgICAgIHN0cnVjdCBsaWJtbnRfaXRlciAqaXRyKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKworCWlmIChpc19saXN0YWxsX21vZGUoKSkgeworCQkvKgorCQkgKiBQcmludCB3aG9sZSBmaWxlCisJCSAqLworCQlpZiAobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSAhPSAwKQorCQkJcmV0dXJuIE5VTEw7CisKKwl9IGVsc2UgaWYgKGlzX21vdW50X2NvbXBhdGlibGVfbW9kZSgpKSB7CisJCS8qCisJCSAqIExvb2sgdXAgZm9yIEZTIGluIHRoZSBzYW1lIHdheSBob3cgbW91bnQoOCkgc2VhcmNoZXMgaW4gZnN0YWIKKwkJICoKKwkJICogICBmaW5kbW50IC1mIDxzcGVjPgorCQkgKi8KKwkJZnMgPSBtbnRfdGFibGVfZmluZF9zb3VyY2UodGIsIGdldF9tYXRjaChDT0xfU09VUkNFKSwKKwkJCQkJbW50X2l0ZXJfZ2V0X2RpcmVjdGlvbihpdHIpKTsKKworCQlpZiAoIWZzICYmICEoZmxhZ3MgJiBGTF9OT1NXQVBNQVRDSCkpCisJCQlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldCh0YiwgZ2V0X21hdGNoKENPTF9TT1VSQ0UpLAorCQkJCQltbnRfaXRlcl9nZXRfZGlyZWN0aW9uKGl0cikpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIExvb2sgdXAgZm9yIGFsbCBtYXRjaGluZyBlbnRyaWVzCisJCSAqCisJCSAqICAgIGZpbmRtbnQgWy1sXSA8c291cmNlPiA8dGFyZ2V0PiBbLU8gPG9wdGlvbnM+XSBbLXQgPHR5cGVzPl0KKwkJICogICAgZmluZG1udCBbLWxdIDxzcGVjPiBbLU8gPG9wdGlvbnM+XSBbLXQgPHR5cGVzPl0KKwkJICovCithZ2FpbjoKKwkJbW50X3RhYmxlX2ZpbmRfbmV4dF9mcyh0YiwgaXRyLCBtYXRjaF9mdW5jLCAgTlVMTCwgJmZzKTsKKworCQlpZiAoIWZzICYmCisJCSAgICAhKGZsYWdzICYgRkxfTk9TV0FQTUFUQ0gpICYmCisJCSAgICAhZ2V0X21hdGNoKENPTF9UQVJHRVQpICYmIGdldF9tYXRjaChDT0xfU09VUkNFKSkgeworCisJCQkvKiBzd2FwICdzcGVjJyBhbmQgdGFyZ2V0LiAqLworCQkJc2V0X21hdGNoKENPTF9UQVJHRVQsIGdldF9tYXRjaChDT0xfU09VUkNFKSk7CisJCQlzZXRfbWF0Y2goQ09MX1NPVVJDRSwgTlVMTCk7CisJCQltbnRfcmVzZXRfaXRlcihpdHIsIC0xKTsKKworCQkJZ290byBhZ2FpbjsKKwkJfQorCX0KKworCXJldHVybiBmczsKK30KKworLyoKKyAqIEZpbHRlciBvdXQgdW53YW50ZWQgbGluZXMgZm9yIC0tbGlzdCBvdXRwdXQgb3IgdG9wIGxldmVsIGxpbmVzIGZvcgorICogLS1zdWJtb3VudHMgdHJlZSBvdXRwdXQuCisgKi8KK3N0YXRpYyBpbnQgYWRkX21hdGNoaW5nX2xpbmVzKHN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLAorCQkJICAgICAgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSwgaW50IGRpcmVjdGlvbikKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgbmxpbmVzID0gMCwgcmMgPSAtMTsKKworCWl0ciA9IG1udF9uZXdfaXRlcihkaXJlY3Rpb24pOworCWlmICghaXRyKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwl3aGlsZSgoZnMgPSBnZXRfbmV4dF9mcyh0YiwgaXRyKSkpIHsKKwkJaWYgKChmbGFncyAmIEZMX1RSRUUpIHx8IChmbGFncyAmIEZMX1NVQk1PVU5UUykpCisJCQlyYyA9IGNyZWF0ZV90cmVlbm9kZSh0YWJsZSwgdGIsIGZzLCBOVUxMKTsKKwkJZWxzZQorCQkJcmMgPSAhYWRkX2xpbmUodGFibGUsIGZzLCBOVUxMKTsKKwkJaWYgKHJjKQorCQkJZ290byBkb25lOworCQlubGluZXMrKzsKKwkJaWYgKGZsYWdzICYgRkxfRklSU1RPTkxZKQorCQkJYnJlYWs7CisJCWZsYWdzIHw9IEZMX05PU1dBUE1BVENIOworCX0KKworCWlmIChubGluZXMpCisJCXJjID0gMDsKK2RvbmU6CisJbW50X2ZyZWVfaXRlcihpdHIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCBwb2xsX21hdGNoKHN0cnVjdCBsaWJtbnRfZnMgKmZzKQoreworCWludCByYyA9IG1hdGNoX2Z1bmMoZnMsIE5VTEwpOworCisJaWYgKHJjID09IDAgJiYgIShmbGFncyAmIEZMX05PU1dBUE1BVENIKSAmJgorCSAgICBnZXRfbWF0Y2goQ09MX1NPVVJDRSkgJiYgIWdldF9tYXRjaChDT0xfVEFSR0VUKSkgeworCQkvKgorCQkgKiBmaW5kbW50IC0tcG9sbCAvZm9vCisJCSAqIFRoZSAnL2ZvbycgbWF5YmUgc291cmNlIGFzIHdlbGwgYXMgdGFyZ2V0LgorCQkgKi8KKwkJY29uc3QgY2hhciAqc3RyID0gZ2V0X21hdGNoKENPTF9TT1VSQ0UpOworCisJCXNldF9tYXRjaChDT0xfVEFSR0VULCBzdHIpOwkvKiBzd2FwICovCisJCXNldF9tYXRjaChDT0xfU09VUkNFLCBOVUxMKTsKKworCQlyYyA9IG1hdGNoX2Z1bmMoZnMsIE5VTEwpOworCisJCXNldF9tYXRjaChDT0xfVEFSR0VULCBOVUxMKTsJLyogcmVzdG9yZSAqLworCQlzZXRfbWF0Y2goQ09MX1NPVVJDRSwgc3RyKTsKKworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgcG9sbF90YWJsZShzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiwgY29uc3QgY2hhciAqdGFiZmlsZSwKKwkJICBpbnQgdGltZW91dCwgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSwgaW50IGRpcmVjdGlvbikKK3sKKwlGSUxFICpmID0gTlVMTDsKKwlpbnQgcmMgPSAtMTsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IE5VTEw7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGJfbmV3OworCXN0cnVjdCBsaWJtbnRfdGFiZGlmZiAqZGlmZiA9IE5VTEw7CisJc3RydWN0IHBvbGxmZCBmZHNbMV07CisKKwl0Yl9uZXcgPSBtbnRfbmV3X3RhYmxlKCk7CisJaWYgKCF0Yl9uZXcpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIpKTsKKwkJZ290byBkb25lOworCX0KKworCWl0ciA9IG1udF9uZXdfaXRlcihkaXJlY3Rpb24pOworCWlmICghaXRyKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiKSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwlkaWZmID0gbW50X25ld190YWJkaWZmKCk7CisJaWYgKCFkaWZmKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIpKTsKKwkJZ290byBkb25lOworCX0KKworCS8qIGNhY2hlIGlzIHVubmVjZXNzYXJ5IHRvIGRldGVjdCBjaGFuZ2VzICovCisJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgTlVMTCk7CisJbW50X3RhYmxlX3NldF9jYWNoZSh0Yl9uZXcsIE5VTEwpOworCisJZiA9IGZvcGVuKHRhYmZpbGUsICJyIik7CisJaWYgKCFmKSB7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgdGFiZmlsZSk7CisJCWdvdG8gZG9uZTsKKwl9CisKKwltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYih0Yl9uZXcsIHBhcnNlcl9lcnJjYik7CisKKwlmZHNbMF0uZmQgPSBmaWxlbm8oZik7CisJZmRzWzBdLmV2ZW50cyA9IFBPTExQUkk7CisKKwl3aGlsZSAoMSkgeworCQlzdHJ1Y3QgbGlibW50X3RhYmxlICp0bXA7CisJCXN0cnVjdCBsaWJtbnRfZnMgKm9sZCwgKm5ldzsKKwkJaW50IGNoYW5nZSwgY291bnQ7CisKKwkJY291bnQgPSBwb2xsKGZkcywgMSwgdGltZW91dCk7CisJCWlmIChjb3VudCA9PSAwKQorCQkJYnJlYWs7CS8qIHRpbWVvdXQgKi8KKwkJaWYgKGNvdW50IDwgMCkgeworCQkJd2FybihfKCJwb2xsKCkgZmFpbGVkIikpOworCQkJZ290byBkb25lOworCQl9CisKKwkJcmV3aW5kKGYpOworCQlyYyA9IG1udF90YWJsZV9wYXJzZV9zdHJlYW0odGJfbmV3LCBmLCB0YWJmaWxlKTsKKwkJaWYgKCFyYykKKwkJCXJjID0gbW50X2RpZmZfdGFibGVzKGRpZmYsIHRiLCB0Yl9uZXcpOworCQlpZiAocmMgPCAwKQorCQkJZ290byBkb25lOworCisJCWNvdW50ID0gMDsKKwkJbW50X3Jlc2V0X2l0ZXIoaXRyLCBkaXJlY3Rpb24pOworCQl3aGlsZShtbnRfdGFiZGlmZl9uZXh0X2NoYW5nZSgKKwkJCQlkaWZmLCBpdHIsICZvbGQsICZuZXcsICZjaGFuZ2UpID09IDApIHsKKworCQkJaWYgKCFoYXNfcG9sbF9hY3Rpb24oY2hhbmdlKSkKKwkJCQljb250aW51ZTsKKwkJCWlmICghcG9sbF9tYXRjaChuZXcgPyBuZXcgOiBvbGQpKQorCQkJCWNvbnRpbnVlOworCQkJY291bnQrKzsKKwkJCXJjID0gIWFkZF90YWJkaWZmX2xpbmUodGFibGUsIG5ldywgb2xkLCBjaGFuZ2UpOworCQkJaWYgKHJjKQorCQkJCWdvdG8gZG9uZTsKKwkJCWlmIChmbGFncyAmIEZMX0ZJUlNUT05MWSkKKwkJCQlicmVhazsKKwkJfQorCisJCWlmIChjb3VudCkgeworCQkJcmMgPSBzY29sc190YWJsZV9wcmludF9yYW5nZSh0YWJsZSwgTlVMTCwgTlVMTCk7CisJCQlpZiAocmMgPT0gMCkKKwkJCQlmcHV0YygnXG4nLCBzY29sc190YWJsZV9nZXRfc3RyZWFtKHRhYmxlKSk7CisJCQlmZmx1c2goc3Rkb3V0KTsKKwkJCWlmIChyYykKKwkJCQlnb3RvIGRvbmU7CisJCX0KKworCQkvKiBzd2FwIHRhYmxlcyAqLworCQl0bXAgPSB0YjsKKwkJdGIgPSB0Yl9uZXc7CisJCXRiX25ldyA9IHRtcDsKKworCQkvKiByZW1vdmUgYWxyZWFkeSBwcmludGVkIGxpbmVzIHRvIHJlZHVjZSBtZW1vcnkgdXNhZ2UgKi8KKwkJc2NvbHNfdGFibGVfcmVtb3ZlX2xpbmVzKHRhYmxlKTsKKwkJbW50X3Jlc2V0X3RhYmxlKHRiX25ldyk7CisKKwkJaWYgKGNvdW50ICYmIChmbGFncyAmIEZMX0ZJUlNUT05MWSkpCisJCQlicmVhazsKKwl9CisKKwlyYyA9IDA7Citkb25lOgorCW1udF91bnJlZl90YWJsZSh0Yl9uZXcpOworCW1udF9mcmVlX3RhYmRpZmYoZGlmZik7CisJbW50X2ZyZWVfaXRlcihpdHIpOworCWlmIChmKQorCQlmY2xvc2UoZik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHVuaXFfZnNfdGFyZ2V0X2NtcCgKKwkJc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQlzdHJ1Y3QgbGlibW50X2ZzICphLAorCQlzdHJ1Y3QgbGlibW50X2ZzICpiKQoreworCXJldHVybiAhbW50X2ZzX21hdGNoX3RhcmdldChhLCBtbnRfZnNfZ2V0X3RhcmdldChiKSwgY2FjaGUpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygKKwkiICUxJHMgW29wdGlvbnNdXG4iCisJIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorCSIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisJIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorCQkiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIiksIG91dCk7CisJZnB1dGMoJ1xuJywgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIpLCBvdXQpOworCWZwdXRjKCdcbicsIG91dCk7CisKKwlmcHV0cyhfKCIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tb3V0cHV0LWFsbCAgICAgICBvdXRwdXQgYWxsIGF2YWlsYWJsZSBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tcHNldWRvICAgICAgICAgICBwcmludCBvbmx5IHBzZXVkby1maWxlc3lzdGVtc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yZWFsICAgICAgICAgICAgIHByaW50IG9ubHkgcmVhbCBmaWxlc3lzdGVtc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisJICAgICAgICAiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iKSwgb3V0KTsKKworCWZwdXRjKCdcbicsIG91dCk7CisJZnB1dHMoXygiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjQpKTsKKworCWZwdXRzKFVTQUdFX0NPTFVNTlMsIG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxMXMgICVzXG4iLCBpbmZvc1tpXS5uYW1lLCBfKGluZm9zW2ldLmhlbHApKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiZmluZG1udCg4KSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiA9IE5VTEw7CisJY2hhciAqKnRhYmZpbGVzID0gTlVMTDsKKwlpbnQgZGlyZWN0aW9uID0gTU5UX0lURVJfRk9SV0FSRDsKKwlpbnQgdmVyaWZ5ID0gMDsKKwlpbnQgYywgcmMgPSAtMSwgdGltZW91dCA9IC0xOworCWludCBudGFiZmlsZXMgPSAwLCB0YWJ0eXBlID0gMDsKKwljaGFyICpvdXRhcmcgPSBOVUxMOworCXNpemVfdCBpOworCWludCBmb3JjZV90cmVlID0gMCwgaXN0cmVlID0gMDsKKworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUgPSBOVUxMOworCisJZW51bSB7CisJCUZJTkRNTlRfT1BUX1ZFUkJPU0UgPSBDSEFSX01BWCArIDEsCisJCUZJTkRNTlRfT1BUX1RSRUUsCisJCUZJTkRNTlRfT1BUX09VVFBVVF9BTEwsCisJCUZJTkRNTlRfT1BUX1BTRVVETywKKwkJRklORE1OVF9PUFRfUkVBTAorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhbGwiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdBJwkJIH0sCisJCXsgImFzY2lpIiwJICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYScJCSB9LAorCQl7ICJieXRlcyIsCSAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2InCQkgfSwKKwkJeyAiY2Fub25pY2FsaXplIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2MnCQkgfSwKKwkJeyAiZGlyZWN0aW9uIiwJICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZCcJCSB9LAorCQl7ICJkZiIsCQkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdEJwkJIH0sCisJCXsgImV2YWx1YXRlIiwJICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZScJCSB9LAorCQl7ICJmaXJzdC1vbmx5IiwJICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZicJCSB9LAorCQl7ICJmc3RhYiIsCSAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3MnCQkgfSwKKwkJeyAiaGVscCIsCSAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnCQkgfSwKKwkJeyAiaW52ZXJ0IiwJICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaScJCSB9LAorCQl7ICJqc29uIiwJICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSicJCSB9LAorCQl7ICJrZXJuZWwiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdrJwkJIH0sCisJCXsgImxpc3QiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdsJwkJIH0sCisJCXsgIm1vdW50cG9pbnQiLAkgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdNJwkJIH0sCisJCXsgIm10YWIiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdtJwkJIH0sCisJCXsgIm5vaGVhZGluZ3MiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICduJwkJIH0sCisJCXsgIm5vdHJ1bmNhdGUiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd1JwkJIH0sCisJCXsgIm9wdGlvbnMiLAkgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdPJwkJIH0sCisJCXsgIm91dHB1dCIsCSAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nCQkgfSwKKwkJeyAib3V0cHV0LWFsbCIsCSAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgRklORE1OVF9PUFRfT1VUUFVUX0FMTCB9LAorCQl7ICJwb2xsIiwJICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncCcJCSB9LAorCQl7ICJwYWlycyIsCSAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1AnCQkgfSwKKwkJeyAicmF3IiwJICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicJCSB9LAorCQl7ICJ0eXBlcyIsCSAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3QnCQkgfSwKKwkJeyAibm9jYW5vbmljYWxpemUiLCBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0MnCQkgfSwKKwkJeyAibm9mc3Jvb3QiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JwkJIH0sCisJCXsgInN1Ym1vdW50cyIsCSAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1InCQkgfSwKKwkJeyAic291cmNlIiwJICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUycJCSB9LAorCQl7ICJ0YWItZmlsZSIsCSAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ0YnCQkgfSwKKwkJeyAidGFzayIsCSAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ04nCQkgfSwKKwkJeyAidGFyZ2V0IiwJICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVCcJCSB9LAorCQl7ICJ0aW1lb3V0IiwJICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndycJCSB9LAorCQl7ICJ1bmlxIiwJICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVScJCSB9LAorCQl7ICJ2ZXJpZnkiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd4JwkJIH0sCisJCXsgInZlcnNpb24iLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJwkJIH0sCisJCXsgInZlcmJvc2UiLAkgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIEZJTkRNTlRfT1BUX1ZFUkJPU0UgfSwKKwkJeyAidHJlZSIsCSAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgRklORE1OVF9PUFRfVFJFRQkgfSwKKwkJeyAicmVhbCIsCSAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgRklORE1OVF9PUFRfUkVBTAkgfSwKKwkJeyAicHNldWRvIiwJICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBGSU5ETU5UX09QVF9QU0VVRE8JIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0gewkvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ0MnLCAnYyd9LAkJCS8qIFtub11jYW5vbmljYWxpemUgKi8KKwkJeyAnQycsICdlJyB9LAkJCS8qIG5vY2Fub25pY2FsaXplLCBldmFsdWF0ZSAqLworCQl7ICdKJywgJ1AnLCAncicsJ3gnIH0sCQkvKiBqc29uLHBhaXJzLHJhdyx2ZXJpZnkgKi8KKwkJeyAnTScsICdUJyB9LAkJCS8qIG1vdW50cG9pbnQsIHRhcmdldCAqLworCQl7ICdOJywnaycsJ20nLCdzJyB9LAkJLyogdGFzayxrZXJuZWwsbXRhYixmc3RhYiAqLworCQl7ICdQJywnbCcsJ3InLCd4JyB9LAkJLyogcGFpcnMsbGlzdCxyYXcsdmVyaWZ5ICovCisJCXsgJ3AnLCd4JyB9LAkJCS8qIHBvbGwsdmVyaWZ5ICovCisJCXsgJ20nLCdwJywncycgfSwJCS8qIG10YWIscG9sbCxmc3RhYiAqLworCQl7IEZJTkRNTlRfT1BUX1BTRVVETywgRklORE1OVF9PUFRfUkVBTCB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCS8qIGRlZmF1bHQgb3V0cHV0IGZvcm1hdCAqLworCWZsYWdzIHw9IEZMX1RSRUU7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LAorCQkJCSJBYWJDY0RkOmVoaUpmRjpvOk86cDo6UGtsbU06bk46cnN0OnV2UlM6VDpVdzpWeCIsCisJCQkJbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnQSc6CisJCQlmbGFncyB8PSBGTF9BTEw7CisJCQlicmVhazsKKwkJY2FzZSAnYSc6CisJCQlmbGFncyB8PSBGTF9BU0NJSTsKKwkJCWJyZWFrOworCQljYXNlICdiJzoKKwkJCWZsYWdzIHw9IEZMX0JZVEVTOworCQkJYnJlYWs7CisJCWNhc2UgJ0MnOgorCQkJZmxhZ3MgfD0gRkxfTk9DQUNIRTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCWZsYWdzIHw9IEZMX0NBTk9OSUNBTElaRTsKKwkJCWJyZWFrOworCQljYXNlICdEJzoKKwkJCWZsYWdzICY9IH5GTF9UUkVFOworCQkJZmxhZ3MgfD0gRkxfREY7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlpZiAoIXN0cmNtcChvcHRhcmcsICJmb3J3YXJkIikpCisJCQkJZGlyZWN0aW9uID0gTU5UX0lURVJfRk9SV0FSRDsKKwkJCWVsc2UgaWYgKCFzdHJjbXAob3B0YXJnLCAiYmFja3dhcmQiKSkKKwkJCQlkaXJlY3Rpb24gPSBNTlRfSVRFUl9CQUNLV0FSRDsKKwkJCWVsc2UKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkJXygidW5rbm93biBkaXJlY3Rpb24gJyVzJyIpLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJZmxhZ3MgfD0gRkxfRVZBTFVBVEU7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQkJYnJlYWs7CisJCWNhc2UgJ2knOgorCQkJZmxhZ3MgfD0gRkxfSU5WRVJUOworCQkJYnJlYWs7CisJCWNhc2UgJ0onOgorCQkJZmxhZ3MgfD0gRkxfSlNPTjsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWZsYWdzIHw9IEZMX0ZJUlNUT05MWTsKKwkJCWJyZWFrOworCQljYXNlICdGJzoKKwkJCXRhYmZpbGVzID0gYXBwZW5kX3RhYmZpbGUodGFiZmlsZXMsICZudGFiZmlsZXMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlkaXNhYmxlX2NvbHVtbnNfdHJ1bmNhdGUoKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIEZJTkRNTlRfT1BUX09VVFBVVF9BTEw6CisJCQlmb3IgKG5jb2x1bW5zID0gMDsgbmNvbHVtbnMgPCBBUlJBWV9TSVpFKGluZm9zKTsgbmNvbHVtbnMrKykgeworCQkJCWlmIChpc190YWJkaWZmX2NvbHVtbihuY29sdW1ucykpCisJCQkJCWNvbnRpbnVlOworCQkJCWNvbHVtbnNbbmNvbHVtbnNdID0gbmNvbHVtbnM7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlzZXRfbWF0Y2goQ09MX09QVElPTlMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlpZiAob3B0YXJnKSB7CisJCQkJbmFjdGlvbnMgPSBzdHJpbmdfdG9faWRhcnJheShvcHRhcmcsCisJCQkJCQlhY3Rpb25zLCBBUlJBWV9TSVpFKGFjdGlvbnMpLAorCQkJCQkJcG9sbF9hY3Rpb25fbmFtZV90b19pZCk7CisJCQkJaWYgKG5hY3Rpb25zIDwgMCkKKwkJCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQkJfQorCQkJZmxhZ3MgfD0gRkxfUE9MTDsKKwkJCWZsYWdzICY9IH5GTF9UUkVFOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJZmxhZ3MgfD0gRkxfRVhQT1JUOworCQkJZmxhZ3MgJj0gfkZMX1RSRUU7CisJCQlicmVhazsKKwkJY2FzZSAnbSc6CQkvKiBtdGFiICovCisJCQl0YWJ0eXBlID0gVEFCVFlQRV9NVEFCOworCQkJZmxhZ3MgJj0gfkZMX1RSRUU7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CQkvKiBmc3RhYiAqLworCQkJdGFidHlwZSA9IFRBQlRZUEVfRlNUQUI7CisJCQlmbGFncyAmPSB+RkxfVFJFRTsKKwkJCWJyZWFrOworCQljYXNlICdrJzoJCS8qIGtlcm5lbCAobW91bnRpbmZvKSAqLworCQkJdGFidHlwZSA9IFRBQlRZUEVfS0VSTkVMOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJc2V0X21hdGNoKENPTF9GU1RZUEUsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlmbGFncyAmPSB+RkxfVFJFRTsJLyogZGlzYWJsZSB0aGUgZGVmYXVsdCAqLworCQkJZmxhZ3MgfD0gRkxfUkFXOwkvKiBlbmFibGUgcmF3ICovCisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlmbGFncyAmPSB+RkxfVFJFRTsJLyogZGlzYWJsZSB0aGUgZGVmYXVsdCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJZmxhZ3MgfD0gRkxfTk9IRUFESU5HUzsKKwkJCWJyZWFrOworCQljYXNlICdOJzoKKwkJCXRhYnR5cGUgPSBUQUJUWVBFX0tFUk5FTDsKKwkJCXRhYmZpbGVzID0gYXBwZW5kX3BpZF90YWJmaWxlKHRhYmZpbGVzLCAmbnRhYmZpbGVzLAorCQkJCQlzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygiaW52YWxpZCBUSUQgYXJndW1lbnQiKSkpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJZmxhZ3MgfD0gRkxfTk9GU1JPT1Q7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CisJCQlmbGFncyB8PSBGTF9TVUJNT1VOVFM7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQlzZXRfc291cmNlX21hdGNoKG9wdGFyZyk7CisJCQlmbGFncyB8PSBGTF9OT1NXQVBNQVRDSDsKKwkJCWJyZWFrOworCQljYXNlICdNJzoKKwkJCWZsYWdzIHw9IEZMX1NUUklDVFRBUkdFVDsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWNhc2UgJ1QnOgorCQkJc2V0X21hdGNoKENPTF9UQVJHRVQsIG9wdGFyZyk7CisJCQlmbGFncyB8PSBGTF9OT1NXQVBNQVRDSDsKKwkJCWJyZWFrOworCQljYXNlICdVJzoKKwkJCWZsYWdzIHw9IEZMX1VOSVE7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQl0aW1lb3V0ID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICd4JzoKKwkJCXZlcmlmeSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBGSU5ETU5UX09QVF9WRVJCT1NFOgorCQkJZmxhZ3MgfD0gRkxfVkVSQk9TRTsKKwkJCWJyZWFrOworCQljYXNlIEZJTkRNTlRfT1BUX1RSRUU6CisJCQlmb3JjZV90cmVlID0gMTsKKwkJCWJyZWFrOworCQljYXNlIEZJTkRNTlRfT1BUX1BTRVVETzoKKwkJCWZsYWdzIHw9IEZMX1BTRVVETzsKKwkJCWJyZWFrOworCQljYXNlIEZJTkRNTlRfT1BUX1JFQUw6CisJCQlmbGFncyB8PSBGTF9SRUFMOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAoIW5jb2x1bW5zICYmIChmbGFncyAmIEZMX0RGKSkgeworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9TT1VSQ0UpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9GU1RZUEUpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9TSVpFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVVNFRCk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0FWQUlMKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVVNFUEVSQyk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1RBUkdFVCk7CisJfQorCisJLyogZGVmYXVsdCBjb2x1bW5zICovCisJaWYgKCFuY29sdW1ucykgeworCQlpZiAoZmxhZ3MgJiBGTF9QT0xMKQorCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfQUNUSU9OKTsKKworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9UQVJHRVQpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9TT1VSQ0UpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9GU1RZUEUpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9PUFRJT05TKTsKKwl9CisKKwlpZiAob3V0YXJnICYmIHN0cmluZ19hZGRfdG9faWRhcnJheShvdXRhcmcsIGNvbHVtbnMsIEFSUkFZX1NJWkUoY29sdW1ucyksCisJCQkJCSAmbmNvbHVtbnMsIGNvbHVtbl9uYW1lX3RvX2lkKSA8IDApCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlpZiAoIXRhYnR5cGUpCisJCXRhYnR5cGUgPSB2ZXJpZnkgPyBUQUJUWVBFX0ZTVEFCIDogVEFCVFlQRV9LRVJORUw7CisKKwlpZiAoKGZsYWdzICYgRkxfUE9MTCkgJiYgbnRhYmZpbGVzID4gMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIikpOworCisJaWYgKG9wdGluZCA8IGFyZ2MgJiYgKGdldF9tYXRjaChDT0xfU09VUkNFKSB8fCBnZXRfbWF0Y2goQ09MX1RBUkdFVCkpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygKKwkJCSJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyICIKKwkJCSJ3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIpKTsKKworCWlmIChvcHRpbmQgPCBhcmdjKQorCQlzZXRfc291cmNlX21hdGNoKGFyZ3Zbb3B0aW5kKytdKTsJLyogZGV2L3RhZy9tb3VudHBvaW50L21hajptaW4gKi8KKwlpZiAob3B0aW5kIDwgYXJnYykKKwkJc2V0X21hdGNoKENPTF9UQVJHRVQsIGFyZ3Zbb3B0aW5kKytdKTsJLyogbW91bnRwb2ludCAqLworCisJaWYgKChmbGFncyAmIEZMX1NVQk1PVU5UUykgJiYgaXNfbGlzdGFsbF9tb2RlKCkpCisJCS8qIGRvbid0IGNhcmUgYWJvdXQgc3VibW91bnRzIGlmIGxpc3QgYWxsIG1vdW50cyAqLworCQlmbGFncyAmPSB+RkxfU1VCTU9VTlRTOworCisJaWYgKCEoZmxhZ3MgJiBGTF9TVUJNT1VOVFMpICYmICgoZmxhZ3MgJiBGTF9GSVJTVE9OTFkpCisJICAgIHx8IGdldF9tYXRjaChDT0xfVEFSR0VUKQorCSAgICB8fCBnZXRfbWF0Y2goQ09MX1NPVVJDRSkKKwkgICAgfHwgZ2V0X21hdGNoKENPTF9NQUpNSU4pKSkKKwkJZmxhZ3MgJj0gfkZMX1RSRUU7CisKKwlpZiAoIShmbGFncyAmIEZMX05PU1dBUE1BVENIKSAmJgorCSAgICAhZ2V0X21hdGNoKENPTF9UQVJHRVQpICYmIGdldF9tYXRjaChDT0xfU09VUkNFKSkgeworCQkvKgorCQkgKiBDaGVjayBpZiB3ZSBjYW4gc3dhcCBzb3VyY2UgYW5kIHRhcmdldCwgaXQncworCQkgKiBub3QgcG9zc2libGUgaWYgdGhlIHNvdXJjZSBpcyBMQUJFTD0vVVVJRD0KKwkJICovCisJCWNvbnN0IGNoYXIgKnggPSBnZXRfbWF0Y2goQ09MX1NPVVJDRSk7CisKKwkJaWYgKCFzdHJuY21wKHgsICJMQUJFTD0iLCA2KSB8fCAhc3RybmNtcCh4LCAiVVVJRD0iLCA1KSB8fAorCQkgICAgIXN0cm5jbXAoeCwgIlBBUlRMQUJFTD0iLCAxMCkgfHwgIXN0cm5jbXAoeCwgIlBBUlRVVUlEPSIsIDkpKQorCQkJZmxhZ3MgfD0gRkxfTk9TV0FQTUFUQ0g7CisJfQorCisJLyoKKwkgKiBpbml0aWFsaXplIGxpYm1vdW50CisJICovCisJbW50X2luaXRfZGVidWcoMCk7CisKKwl0YiA9IHBhcnNlX3RhYmZpbGVzKHRhYmZpbGVzLCBudGFiZmlsZXMsIHRhYnR5cGUpOworCWlmICghdGIpCisJCWdvdG8gbGVhdmU7CisKKwlpZiAodGFidHlwZSA9PSBUQUJUWVBFX01UQUIgJiYgdGFiX2lzX2tlcm5lbCh0YikpCisJCXRhYnR5cGUgPSBUQUJUWVBFX0tFUk5FTDsKKworCWlzdHJlZSA9IHRhYl9pc190cmVlKHRiKTsKKwlpZiAoaXN0cmVlICYmIGZvcmNlX3RyZWUpCisJCWZsYWdzIHw9IEZMX1RSRUU7CisKKwlpZiAoKGZsYWdzICYgRkxfVFJFRSkgJiYgKG50YWJmaWxlcyA+IDEgfHwgIWlzdHJlZSkpCisJCWZsYWdzICY9IH5GTF9UUkVFOworCisJaWYgKCEoZmxhZ3MgJiBGTF9OT0NBQ0hFKSkgeworCQljYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKwkJaWYgKCFjYWNoZSkgeworCQkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIpKTsKKwkJCWdvdG8gbGVhdmU7CisJCX0KKwkJbW50X3RhYmxlX3NldF9jYWNoZSh0YiwgY2FjaGUpOworCisJCWlmICh0YWJ0eXBlICE9IFRBQlRZUEVfS0VSTkVMKQorCQkJY2FjaGVfc2V0X3RhcmdldHMoY2FjaGUpOworCX0KKworCWlmIChmbGFncyAmIEZMX1VOSVEpCisJCW1udF90YWJsZV91bmlxX2ZzKHRiLCBNTlRfVU5JUV9LRUVQVFJFRSwgdW5pcV9mc190YXJnZXRfY21wKTsKKworCWlmICh2ZXJpZnkpIHsKKwkJcmMgPSB2ZXJpZnlfdGFibGUodGIpOworCQlnb3RvIGxlYXZlOworCX0KKworCS8qCisJICogaW5pdGlhbGl6ZSBsaWJzbWFydGNvbHMKKwkgKi8KKwlzY29sc19pbml0X2RlYnVnKDApOworCXRhYmxlID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YWJsZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisJCWdvdG8gbGVhdmU7CisJfQorCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsICAgICAgICAhIShmbGFncyAmIEZMX1JBVykpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9leHBvcnQodGFibGUsICAgICAhIShmbGFncyAmIEZMX0VYUE9SVCkpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHRhYmxlLCAgICAgICAhIShmbGFncyAmIEZMX0pTT04pKTsKKwlzY29sc190YWJsZV9lbmFibGVfYXNjaWkodGFibGUsICAgICAgISEoZmxhZ3MgJiBGTF9BU0NJSSkpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCAhIShmbGFncyAmIEZMX05PSEVBRElOR1MpKTsKKworCWlmIChmbGFncyAmIEZMX0pTT04pCisJCXNjb2xzX3RhYmxlX3NldF9uYW1lKHRhYmxlLCAiZmlsZXN5c3RlbXMiKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCQlpbnQgZmwgPSBnZXRfY29sdW1uX2ZsYWdzKGkpOworCQlpbnQgaWQgPSBnZXRfY29sdW1uX2lkKGkpOworCisJCWlmICghKGZsYWdzICYgRkxfVFJFRSkpCisJCQlmbCAmPSB+U0NPTFNfRkxfVFJFRTsKKworCQlpZiAoIShmbGFncyAmIEZMX1BPTEwpICYmIGlzX3RhYmRpZmZfY29sdW1uKGlkKSkgeworCQkJd2FybngoXygiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCAiCisJCQkgICAgICAgImlzIG5vdCBlbmFibGVkIiksIGdldF9jb2x1bW5fbmFtZShpKSk7CisJCQlnb3RvIGxlYXZlOworCQl9CisJCWNsID0gc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YWJsZSwgZ2V0X2NvbHVtbl9uYW1lKGkpLAorCQkJCQlnZXRfY29sdW1uX3doaW50KGkpLCBmbCk7CisJCWlmICghY2wpCXsKKwkJCXdhcm4oXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iKSk7CisJCQlnb3RvIGxlYXZlOworCQl9CisKKwkJaWYgKGZsYWdzICYgRkxfSlNPTikgeworCQkJc3dpdGNoIChpZCkgeworCQkJY2FzZSBDT0xfU0laRToKKwkJCWNhc2UgQ09MX0FWQUlMOgorCQkJY2FzZSBDT0xfVVNFRDoKKwkJCQlpZiAoIShmbGFncyAmIEZMX0JZVEVTKSkKKwkJCQkJYnJlYWs7CisJCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJCWNhc2UgQ09MX0lEOgorCQkJY2FzZSBDT0xfRlJFUToKKwkJCWNhc2UgQ09MX1BBU1NOTzoKKwkJCWNhc2UgQ09MX1RJRDoKKwkJCQlzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZShjbCwgU0NPTFNfSlNPTl9OVU1CRVIpOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZShjbCwgU0NPTFNfSlNPTl9TVFJJTkcpOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCisJLyoKKwkgKiBGaWxsIGluIGRhdGEgdG8gdGhlIG91dHB1dCB0YWJsZQorCSAqLworCWlmIChmbGFncyAmIEZMX1BPTEwpIHsKKwkJLyogcG9sbCBtb2RlIChhY2NlcHQgdGhlIGZpcnN0IHRhYmZpbGUgb25seSkgKi8KKwkJcmMgPSBwb2xsX3RhYmxlKHRiLCB0YWJmaWxlcyA/ICp0YWJmaWxlcyA6IF9QQVRIX1BST0NfTU9VTlRJTkZPLCB0aW1lb3V0LCB0YWJsZSwgZGlyZWN0aW9uKTsKKworCX0gZWxzZSBpZiAoKGZsYWdzICYgRkxfVFJFRSkgJiYgIShmbGFncyAmIEZMX1NVQk1PVU5UUykpIHsKKwkJLyogd2hvbGUgdHJlZSAqLworCQlyYyA9IGNyZWF0ZV90cmVlbm9kZSh0YWJsZSwgdGIsIE5VTEwsIE5VTEwpOworCX0gZWxzZSB7CisJCS8qIHdob2xlIGxpc3Qgb2Ygc3ViLXRyZWUgKi8KKwkJcmMgPSBhZGRfbWF0Y2hpbmdfbGluZXModGIsIHRhYmxlLCBkaXJlY3Rpb24pOworCisJCWlmIChyYyAhPSAwCisJCSAgICAmJiB0YWJ0eXBlID09IFRBQlRZUEVfS0VSTkVMCisJCSAgICAmJiAoZmxhZ3MgJiBGTF9OT1NXQVBNQVRDSCkKKwkJICAgICYmICEoZmxhZ3MgJiBGTF9TVFJJQ1RUQVJHRVQpCisJCSAgICAmJiBnZXRfbWF0Y2goQ09MX1RBUkdFVCkpIHsKKwkJCS8qCisJCQkgKiBGb3VuZCBub3RoaW5nLCBtYXliZSB0aGUgLS10YXJnZXQgaXMgcmVndWxhciBmaWxlLAorCQkJICogdHJ5IGl0IGFnYWluIHdpdGggZXh0cmEgZnVuY3Rpb25hbGl0eSBmb3IgdGFyZ2V0CisJCQkgKiBtYXRjaAorCQkJICovCisJCQllbmFibGVfZXh0cmFfdGFyZ2V0X21hdGNoKHRiKTsKKwkJCXJjID0gYWRkX21hdGNoaW5nX2xpbmVzKHRiLCB0YWJsZSwgZGlyZWN0aW9uKTsKKwkJfQorCX0KKworCS8qCisJICogUHJpbnQgdGhlIG91dHB1dCB0YWJsZSBmb3Igbm9uLXBvbGwgbW9kZXMKKwkgKi8KKwlpZiAoIXJjICYmICEoZmxhZ3MgJiBGTF9QT0xMKSkKKwkJc2NvbHNfcHJpbnRfdGFibGUodGFibGUpOworbGVhdmU6CisJc2NvbHNfdW5yZWZfdGFibGUodGFibGUpOworCisJbW50X3VucmVmX3RhYmxlKHRiKTsKKwltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCisJZnJlZSh0YWJmaWxlcyk7CisjaWZkZWYgSEFWRV9MSUJVREVWCisJdWRldl91bnJlZih1ZGV2KTsKKyNlbmRpZgorCXJldHVybiByYyA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZmluZG1udC5oIGIvbWlzYy11dGlscy9maW5kbW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM4ODgzNwotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZmluZG1udC5oCkBAIC0wLDAgKzEsNDEgQEAKKyNpZm5kZWYgVVRJTF9MSU5VWF9GSU5ETU5UX0gKKyNkZWZpbmUgVVRJTF9MSU5VWF9GSU5ETU5UX0gKKworLyogZmxhZ3MgKi8KK2VudW0geworCUZMX0VWQUxVQVRFCT0gKDEgPDwgMSksCisJRkxfQ0FOT05JQ0FMSVpFID0gKDEgPDwgMiksCisJRkxfRklSU1RPTkxZCT0gKDEgPDwgMyksCisJRkxfSU5WRVJUCT0gKDEgPDwgNCksCisJRkxfTk9TV0FQTUFUQ0gJPSAoMSA8PCA2KSwKKwlGTF9OT0ZTUk9PVAk9ICgxIDw8IDcpLAorCUZMX1NVQk1PVU5UUwk9ICgxIDw8IDgpLAorCUZMX1BPTEwJCT0gKDEgPDwgOSksCisJRkxfREYJCT0gKDEgPDwgMTApLAorCUZMX0FMTAkJPSAoMSA8PCAxMSksCisJRkxfVU5JUQkJPSAoMSA8PCAxMiksCisJRkxfQllURVMJPSAoMSA8PCAxMyksCisJRkxfTk9DQUNIRQk9ICgxIDw8IDE0KSwKKwlGTF9TVFJJQ1RUQVJHRVQgPSAoMSA8PCAxNSksCisJRkxfVkVSQk9TRQk9ICgxIDw8IDE2KSwKKwlGTF9QU0VVRE8JPSAoMSA8PCAxNyksCisJRkxfUkVBTAkJPSAoMSA8PCAxOCksCisKKwkvKiBiYXNpYyB0YWJsZSBzZXR0aW5ncyAqLworCUZMX0FTQ0lJCT0gKDEgPDwgMjApLAorCUZMX1JBVwkJPSAoMSA8PCAyMSksCisJRkxfTk9IRUFESU5HUwk9ICgxIDw8IDIyKSwKKwlGTF9FWFBPUlQJPSAoMSA8PCAyMyksCisJRkxfVFJFRQkJPSAoMSA8PCAyNCksCisJRkxfSlNPTgkJPSAoMSA8PCAyNSksCit9OworCitleHRlcm4gc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CitleHRlcm4gaW50IGZsYWdzOworZXh0ZXJuIGludCBwYXJzZV9uZXJyb3JzOworCitleHRlcm4gaW50IGlzX2xpc3RhbGxfbW9kZSh2b2lkKTsKK2V4dGVybiBzdHJ1Y3QgbGlibW50X2ZzICpnZXRfbmV4dF9mcyhzdHJ1Y3QgbGlibW50X3RhYmxlICp0Yiwgc3RydWN0IGxpYm1udF9pdGVyICppdHIpOworZXh0ZXJuIGludCB2ZXJpZnlfdGFibGUoc3RydWN0IGxpYm1udF90YWJsZSAqdGIpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9GSU5ETU5UX0ggKi8KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZ2V0b3B0LXBhcnNlLmJhc2ggYi9taXNjLXV0aWxzL2dldG9wdC1wYXJzZS5iYXNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiOGJmNmIKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2dldG9wdC1wYXJzZS5iYXNoCkBAIC0wLDAgKzEsNzUgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQSBzbWFsbCBleGFtcGxlIHNjcmlwdCBmb3IgdXNpbmcgdGhlIGdldG9wdCgxKSBwcm9ncmFtLgorIyBUaGlzIHNjcmlwdCB3aWxsIG9ubHkgd29yayB3aXRoIGJhc2goMSkuCisjIEEgc2ltaWxhciBzY3JpcHQgdXNpbmcgdGhlIHRjc2goMSkgbGFuZ3VhZ2UgY2FuIGJlIGZvdW5kCisjIGFzIGdldG9wdC1wYXJzZS50Y3NoLgorCisjIEV4YW1wbGUgaW5wdXQgYW5kIG91dHB1dCAoZnJvbSB0aGUgYmFzaCBwcm9tcHQpOgorIworIyAuL2dldG9wdC1wYXJzZS5iYXNoIC1hIHBhcjEgJ2Fub3RoZXIgYXJnJyAtLWMtbG9uZyAnd293ISpcPycgLWNtb3JlIC1iICIgdmVyeSBsb25nICIKKyMgT3B0aW9uIGEKKyMgT3B0aW9uIGMsIG5vIGFyZ3VtZW50CisjIE9wdGlvbiBjLCBhcmd1bWVudCAnbW9yZScKKyMgT3B0aW9uIGIsIGFyZ3VtZW50ICcgdmVyeSBsb25nICcKKyMgUmVtYWluaW5nIGFyZ3VtZW50czoKKyMgLS0+ICdwYXIxJworIyAtLT4gJ2Fub3RoZXIgYXJnJworIyAtLT4gJ3dvdyEqXD8nCisKKyMgTm90ZSB0aGF0IHdlIHVzZSAiJEAiIHRvIGxldCBlYWNoIGNvbW1hbmQtbGluZSBwYXJhbWV0ZXIgZXhwYW5kIHRvIGEKKyMgc2VwYXJhdGUgd29yZC4gVGhlIHF1b3RlcyBhcm91bmQgIiRAIiBhcmUgZXNzZW50aWFsIQorIyBXZSBuZWVkIFRFTVAgYXMgdGhlICdldmFsIHNldCAtLScgd291bGQgbnVrZSB0aGUgcmV0dXJuIHZhbHVlIG9mIGdldG9wdC4KK1RFTVA9JChnZXRvcHQgLW8gJ2FiOmM6OicgLS1sb25nICdhLWxvbmcsYi1sb25nOixjLWxvbmc6OicgLW4gJ2V4YW1wbGUuYmFzaCcgLS0gIiRAIikKKworaWYgWyAkPyAtbmUgMCBdOyB0aGVuCisJZWNobyAnVGVybWluYXRpbmcuLi4nID4mMgorCWV4aXQgMQorZmkKKworIyBOb3RlIHRoZSBxdW90ZXMgYXJvdW5kICIkVEVNUCI6IHRoZXkgYXJlIGVzc2VudGlhbCEKK2V2YWwgc2V0IC0tICIkVEVNUCIKK3Vuc2V0IFRFTVAKKword2hpbGUgdHJ1ZTsgZG8KKwljYXNlICIkMSIgaW4KKwkJJy1hJ3wnLS1hLWxvbmcnKQorCQkJZWNobyAnT3B0aW9uIGEnCisJCQlzaGlmdAorCQkJY29udGludWUKKwkJOzsKKwkJJy1iJ3wnLS1iLWxvbmcnKQorCQkJZWNobyAiT3B0aW9uIGIsIGFyZ3VtZW50ICckMiciCisJCQlzaGlmdCAyCisJCQljb250aW51ZQorCQk7OworCQknLWMnfCctLWMtbG9uZycpCisJCQkjIGMgaGFzIGFuIG9wdGlvbmFsIGFyZ3VtZW50LiBBcyB3ZSBhcmUgaW4gcXVvdGVkIG1vZGUsCisJCQkjIGFuIGVtcHR5IHBhcmFtZXRlciB3aWxsIGJlIGdlbmVyYXRlZCBpZiBpdHMgb3B0aW9uYWwKKwkJCSMgYXJndW1lbnQgaXMgbm90IGZvdW5kLgorCQkJY2FzZSAiJDIiIGluCisJCQkJJycpCisJCQkJCWVjaG8gJ09wdGlvbiBjLCBubyBhcmd1bWVudCcKKwkJCQk7OworCQkJCSopCisJCQkJCWVjaG8gIk9wdGlvbiBjLCBhcmd1bWVudCAnJDInIgorCQkJCTs7CisJCQllc2FjCisJCQlzaGlmdCAyCisJCQljb250aW51ZQorCQk7OworCQknLS0nKQorCQkJc2hpZnQKKwkJCWJyZWFrCisJCTs7CisJCSopCisJCQllY2hvICdJbnRlcm5hbCBlcnJvciEnID4mMgorCQkJZXhpdCAxCisJCTs7CisJZXNhYworZG9uZQorCitlY2hvICdSZW1haW5pbmcgYXJndW1lbnRzOicKK2ZvciBhcmc7IGRvCisJZWNobyAiLS0+ICckYXJnJyIKK2RvbmUKZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZ2V0b3B0LXBhcnNlLnRjc2ggYi9taXNjLXV0aWxzL2dldG9wdC1wYXJzZS50Y3NoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzMmQ3YWMKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2dldG9wdC1wYXJzZS50Y3NoCkBAIC0wLDAgKzEsNzcgQEAKKyMhL2Jpbi90Y3NoCisKKyMgQSBzbWFsbCBleGFtcGxlIHNjcmlwdCBmb3IgdXNpbmcgdGhlIGdldG9wdCgxKSBwcm9ncmFtLgorIyBUaGlzIHNjcmlwdCB3aWxsIG9ubHkgd29yayB3aXRoIHRjc2goMSkuCisjIEEgc2ltaWxhciBzY3JpcHQgdXNpbmcgdGhlIGJhc2goMSkgbGFuZ3VhZ2UgY2FuIGJlIGZvdW5kCisjIGFzIGdldG9wdC1wYXJzZS5iYXNoLgorCisjIEV4YW1wbGUgaW5wdXQgYW5kIG91dHB1dCAoZnJvbSB0aGUgdGNzaCBwcm9tcHQpOgorIyAuL3BhcnNlLnRjc2ggLWEgcGFyMSAnYW5vdGhlciBhcmcnIC0tYy1sb25nICd3b3dcISpcPycgLWNtb3JlIC1iICIgdmVyeSBsb25nICIKKyMgT3B0aW9uIGEKKyMgT3B0aW9uIGMsIG5vIGFyZ3VtZW50CisjIE9wdGlvbiBjLCBhcmd1bWVudCBgbW9yZScKKyMgT3B0aW9uIGIsIGFyZ3VtZW50IGAgdmVyeSBsb25nICcKKyMgUmVtYWluaW5nIGFyZ3VtZW50czoKKyMgLS0+IGBwYXIxJworIyAtLT4gYGFub3RoZXIgYXJnJworIyAtLT4gYHdvdyEqXD8nCisKKyMgTm90ZSB0aGF0IHdlIGhhZCB0byBlc2NhcGUgdGhlIGV4Y2xhbWF0aW9uIG1hcmsgaW4gdGhlIHdvdy1hcmd1bWVudC4gVGhpcworIyBpcyBfbm90XyBhIHByb2JsZW0gd2l0aCBnZXRvcHQsIGJ1dCB3aXRoIHRoZSB0Y3NoIGNvbW1hbmQgcGFyc2luZy4gSWYgeW91CisjIHdvdWxkIGdpdmUgdGhlIHNhbWUgbGluZSBmcm9tIHRoZSBiYXNoIHByb21wdCAoaWUuIGNhbGwgLi9wYXJzZS50Y3NoKSwKKyMgeW91IGNvdWxkIHJlbW92ZSB0aGUgZXhjbGFtYXRpb24gbWFyay4KKworIyBUaGlzIGlzIGEgYml0IHRyaWNreS4gV2UgdXNlIGEgdGVtcCB2YXJpYWJsZSwgdG8gYmUgYWJsZSB0byBjaGVjayB0aGUKKyMgcmV0dXJuIHZhbHVlIG9mIGdldG9wdCAoZXZhbCBudWtlcyBpdCkuIGFyZ3YgY29udGFpbnMgdGhlIGNvbW1hbmQgYXJndW1lbnRzCisjIGFzIGEgbGlzdC4gVGhlICc6cWAgIGNvcGllcyB0aGF0IGxpc3Qgd2l0aG91dCBkb2luZyBhbnkgc3Vic3RpdHV0aW9uczoKKyMgZWFjaCBlbGVtZW50IG9mIGFyZ3YgYmVjb21lcyBhIHNlcGFyYXRlIGFyZ3VtZW50IGZvciBnZXRvcHQuIFRoZSBicmFjZXMKKyMgYXJlIG5lZWRlZCBiZWNhdXNlIHRoZSByZXN1bHQgaXMgYWxzbyBhIGxpc3QuCitzZXQgdGVtcD0oYGdldG9wdCAtcyB0Y3NoIC1vIGFiOmM6OiAtLWxvbmcgYS1sb25nLGItbG9uZzosYy1sb25nOjogLS0gJGFyZ3Y6cWApCitpZiAoJD8gIT0gMCkgdGhlbgorICBlY2hvICJUZXJtaW5hdGluZy4uLiIgPi9kZXYvc3RkZXJyCisgIGV4aXQgMQorZW5kaWYKKworIyBOb3cgd2UgZG8gdGhlIGV2YWwgcGFydC4gQXMgdGhlIHJlc3VsdCBpcyBhIGxpc3QsIHdlIG5lZWQgYnJhY2VzLiBCdXQgdGhleQorIyBtdXN0IGJlIHF1b3RlZCwgYmVjYXVzZSB0aGV5IG11c3QgYmUgZXZhbHVhdGVkIHdoZW4gdGhlIGV2YWwgaXMgY2FsbGVkLgorIyBUaGUgJ3FgIHN0b3BzIGRvaW5nIGFueSBzaWxseSBzdWJzdGl0dXRpb25zLgorZXZhbCBzZXQgYXJndj1cKCR0ZW1wOnFcKQorCit3aGlsZSAoMSkKKwlzd2l0Y2goJDE6cSkKKwljYXNlIC1hOgorCWNhc2UgLS1hLWxvbmc6CisJCWVjaG8gIk9wdGlvbiBhIiA7IHNoaWZ0CisJCWJyZWFrc3c7CisJY2FzZSAtYjoKKwljYXNlIC0tYi1sb25nOgorCQllY2hvICJPcHRpb24gYiwgYXJndW1lbnQgIlxgJDI6cVwnIDsgc2hpZnQgOyBzaGlmdAorCQlicmVha3N3CisJY2FzZSAtYzoKKwljYXNlIC0tYy1sb25nOgorCQkjIGMgaGFzIGFuIG9wdGlvbmFsIGFyZ3VtZW50LiBBcyB3ZSBhcmUgaW4gcXVvdGVkIG1vZGUsCisJCSMgYW4gZW1wdHkgcGFyYW1ldGVyIHdpbGwgYmUgZ2VuZXJhdGVkIGlmIGl0cyBvcHRpb25hbAorCQkjIGFyZ3VtZW50IGlzIG5vdCBmb3VuZC4KKworCQlpZiAoJDI6cSA9PSAiIikgdGhlbgorCQkJZWNobyAiT3B0aW9uIGMsIG5vIGFyZ3VtZW50IgorCQllbHNlCisJCQllY2hvICJPcHRpb24gYywgYXJndW1lbnQgIlxgJDI6cVwnCisJCWVuZGlmCisJCXNoaWZ0OyBzaGlmdAorCQlicmVha3N3CisJY2FzZSAtLToKKwkJc2hpZnQKKwkJYnJlYWsKKwlkZWZhdWx0OgorCQllY2hvICJJbnRlcm5hbCBlcnJvciEiIDsgZXhpdCAxCisJZW5kc3cKK2VuZAorCitlY2hvICJSZW1haW5pbmcgYXJndW1lbnRzOiIKKyMgZm9yZWFjaCBlbCAoJGFyZ3Y6cSkgY3JlYXRlZCBwcm9ibGVtcyBmb3Igc29tZSB0Y3NoLXZlcnNpb25zIChhdCBsZWFzdAorIyA2LjAyKS4gU28gd2UgdXNlIGFub3RoZXIgc2hpZnQtbG9vcCBoZXJlOgord2hpbGUgKCQjYXJndiA+IDApCisJZWNobyAnLS0+ICdcYCQxOnFcJworCXNoaWZ0CitlbmQKZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvZ2V0b3B0LjEgYi9taXNjLXV0aWxzL2dldG9wdC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3ZTAzMmIKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2dldG9wdC4xCkBAIC0wLDAgKzEsNDYyIEBACisuVEggR0VUT1BUICIxIiAiRGVjZW1iZXIgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2dldG9wdCBcLSBwYXJzZSBjb21tYW5kIG9wdGlvbnMgKGVuaGFuY2VkKQorLlNIIFNZTk9QU0lTCisuQiBnZXRvcHQKKy5JIG9wdHN0cmluZyBwYXJhbWV0ZXJzCisuYnIKKy5CIGdldG9wdAorW29wdGlvbnNdCisuUkIgWyBcLVwtIF0KKy5JIG9wdHN0cmluZyBwYXJhbWV0ZXJzCisuYnIKKy5CIGdldG9wdAorW29wdGlvbnNdCisuQlIgXC1vIHwgXC1cLW9wdGlvbnMKKy5JIG9wdHN0cmluZworW29wdGlvbnNdCisuUkIgWyBcLVwtIF0KKy5JIHBhcmFtZXRlcnMKKy5TSCBERVNDUklQVElPTgorLkIgZ2V0b3B0CitpcyB1c2VkIHRvIGJyZWFrIHVwCisuUkkgKCBwYXJzZSApCitvcHRpb25zIGluIGNvbW1hbmQgbGluZXMgZm9yIGVhc3kgcGFyc2luZyBieSBzaGVsbCBwcm9jZWR1cmVzLCBhbmQgdG8KK2NoZWNrIGZvciB2YWxpZCBvcHRpb25zLiAgSXQgdXNlcyB0aGUKKy5TTSBHTlUKKy5CUiBnZXRvcHQgKDMpCityb3V0aW5lcyB0byBkbyB0aGlzLgorLlBQCitUaGUgcGFyYW1ldGVycworLkIgZ2V0b3B0CitpcyBjYWxsZWQgd2l0aCBjYW4gYmUgZGl2aWRlZCBpbnRvIHR3byBwYXJ0czogb3B0aW9ucyB3aGljaCBtb2RpZnkKK3RoZSB3YXkKKy5CIGdldG9wdAord2lsbCBkbyB0aGUgcGFyc2luZworLlJJICIodGhlICIgb3B0aW9ucworYW5kIHRoZQorLkkgb3B0c3RyaW5nCitpbiB0aGUKKy5CUiBTWU5PUFNJUyApLAorYW5kIHRoZSBwYXJhbWV0ZXJzIHdoaWNoIGFyZSB0byBiZSBwYXJzZWQKKy5SSSAoIHBhcmFtZXRlcnMKK2luIHRoZQorLkJSIFNZTk9QU0lTICkuCitUaGUgc2Vjb25kIHBhcnQgd2lsbCBzdGFydCBhdCB0aGUgZmlyc3Qgbm9uXC1vcHRpb24gcGFyYW1ldGVyIHRoYXQgaXMKK25vdCBhbiBvcHRpb24gYXJndW1lbnQsIG9yIGFmdGVyIHRoZSBmaXJzdCBvY2N1cnJlbmNlIG9mCisuUkIgJyBcLVwtICcuCitJZiBubworLlJCICcgXC1vICcKK29yCisuUkIgJyBcLVwtb3B0aW9ucyAnCitvcHRpb24gaXMgZm91bmQgaW4gdGhlIGZpcnN0IHBhcnQsIHRoZSBmaXJzdCBwYXJhbWV0ZXIgb2YgdGhlIHNlY29uZAorcGFydCBpcyB1c2VkIGFzIHRoZSBzaG9ydCBvcHRpb25zIHN0cmluZy4KKy5QUAorSWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisuQiBHRVRPUFRfQ09NUEFUSUJMRQoraXMgc2V0LCBvciBpZiB0aGUgZmlyc3QKKy5JIHBhcmFtZXRlcgoraXMgbm90IGFuIG9wdGlvbiAoZG9lcyBub3Qgc3RhcnQgd2l0aCBhCisuUkIgJyBcLSAnLAordGhlIGZpcnN0IGZvcm1hdCBpbiB0aGUKKy5CUiBTWU5PUFNJUyApLAorLkIgZ2V0b3B0Cit3aWxsIGdlbmVyYXRlIG91dHB1dCB0aGF0IGlzIGNvbXBhdGlibGUgd2l0aCB0aGF0IG9mIG90aGVyIHZlcnNpb25zIG9mCisuQlIgZ2V0b3B0ICgxKS4KK0l0IHdpbGwgc3RpbGwgZG8gcGFyYW1ldGVyIHNodWZmbGluZyBhbmQgcmVjb2duaXplIG9wdGlvbmFsIGFyZ3VtZW50cworKHNlZSBzZWN0aW9uCisuQiBDT01QQVRJQklMSVRZCitmb3IgbW9yZSBpbmZvcm1hdGlvbikuCisuUFAKK1RyYWRpdGlvbmFsIGltcGxlbWVudGF0aW9ucyBvZgorLkJSIGdldG9wdCAoMSkKK2FyZSB1bmFibGUgdG8gY29wZSB3aXRoIHdoaXRlc3BhY2UgYW5kIG90aGVyIChzaGVsbC1zcGVjaWZpYykKK3NwZWNpYWwgY2hhcmFjdGVycyBpbiBhcmd1bWVudHMgYW5kIG5vblwtb3B0aW9uIHBhcmFtZXRlcnMuICBUbyBzb2x2ZQordGhpcyBwcm9ibGVtLCB0aGlzIGltcGxlbWVudGF0aW9uIGNhbiBnZW5lcmF0ZSBxdW90ZWQgb3V0cHV0IHdoaWNoCittdXN0IG9uY2UgYWdhaW4gYmUgaW50ZXJwcmV0ZWQgYnkgdGhlIHNoZWxsICh1c3VhbGx5IGJ5IHVzaW5nIHRoZQorLkIgZXZhbAorY29tbWFuZCkuICBUaGlzIGhhcyB0aGUgZWZmZWN0IG9mIHByZXNlcnZpbmcgdGhvc2UgY2hhcmFjdGVycywgYnV0Cit5b3UgbXVzdCBjYWxsCisuQiBnZXRvcHQKK2luIGEgd2F5IHRoYXQgaXMgbm8gbG9uZ2VyIGNvbXBhdGlibGUgd2l0aCBvdGhlciB2ZXJzaW9ucyAodGhlIHNlY29uZAorb3IgdGhpcmQgZm9ybWF0IGluIHRoZQorLkJSIFNZTk9QU0lTICkuCitUbyBkZXRlcm1pbmUgd2hldGhlciB0aGlzIGVuaGFuY2VkIHZlcnNpb24gb2YKKy5CUiBnZXRvcHQgKDEpCitpcyBpbnN0YWxsZWQsIGEgc3BlY2lhbCB0ZXN0IG9wdGlvbgorLlJCICggXC1UICkKK2NhbiBiZSB1c2VkLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFsdGVybmF0aXZlIgorQWxsb3cgbG9uZyBvcHRpb25zIHRvIHN0YXJ0IHdpdGggYSBzaW5nbGUKKy5SQiAnIFwtICcuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuICBObyBvdGhlciBvdXRwdXQgaXMgZ2VuZXJhdGVkLgorLlRQCisuQlIgXC1sICwgIiBcLVwtbG9uZ29wdGlvbnMgXGZJbG9uZ29wdHNcZlAiCitUaGUgbG9uZyAobXVsdGlcLWNoYXJhY3Rlcikgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkLiAgTW9yZSB0aGFuIG9uZQorb3B0aW9uIG5hbWUgbWF5IGJlIHNwZWNpZmllZCBhdCBvbmNlLCBieSBzZXBhcmF0aW5nIHRoZSBuYW1lcyB3aXRoCitjb21tYXMuICBUaGlzIG9wdGlvbiBtYXkgYmUgZ2l2ZW4gbW9yZSB0aGFuIG9uY2UsIHRoZQorLkkgbG9uZ29wdHMKK2FyZSBjdW11bGF0aXZlLiAgRWFjaCBsb25nIG9wdGlvbiBuYW1lIGluCisuSSBsb25nb3B0cworbWF5IGJlIGZvbGxvd2VkIGJ5IG9uZSBjb2xvbiB0byBpbmRpY2F0ZSBpdCBoYXMgYSByZXF1aXJlZCBhcmd1bWVudCwKK2FuZCBieSB0d28gY29sb25zIHRvIGluZGljYXRlIGl0IGhhcyBhbiBvcHRpb25hbCBhcmd1bWVudC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5hbWUgXGZJcHJvZ25hbWVcZlAiCitUaGUgbmFtZSB0aGF0IHdpbGwgYmUgdXNlZCBieSB0aGUKKy5CUiBnZXRvcHQgKDMpCityb3V0aW5lcyB3aGVuIGl0IHJlcG9ydHMgZXJyb3JzLiAgTm90ZSB0aGF0IGVycm9ycyBvZgorLkJSIGdldG9wdCAoMSkKK2FyZSBzdGlsbCByZXBvcnRlZCBhcyBjb21pbmcgZnJvbSBnZXRvcHQuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vcHRpb25zIFxmSXNob3J0b3B0c1xmUCIKK1RoZSBzaG9ydCAob25lXC1jaGFyYWN0ZXIpIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZC4gIElmIHRoaXMgb3B0aW9uCitpcyBub3QgZm91bmQsIHRoZSBmaXJzdCBwYXJhbWV0ZXIgb2YKKy5CIGdldG9wdAordGhhdCBkb2VzIG5vdCBzdGFydCB3aXRoIGEKKy5SQiAnIFwtICcKKyhhbmQgaXMgbm90IGFuIG9wdGlvbiBhcmd1bWVudCkgaXMgdXNlZCBhcyB0aGUgc2hvcnQgb3B0aW9ucyBzdHJpbmcuCitFYWNoIHNob3J0IG9wdGlvbiBjaGFyYWN0ZXIgaW4KKy5JIHNob3J0b3B0cworbWF5IGJlIGZvbGxvd2VkIGJ5IG9uZSBjb2xvbiB0byBpbmRpY2F0ZSBpdCBoYXMgYSByZXF1aXJlZCBhcmd1bWVudCwKK2FuZCBieSB0d28gY29sb25zIHRvIGluZGljYXRlIGl0IGhhcyBhbiBvcHRpb25hbCBhcmd1bWVudC4gIFRoZSBmaXJzdAorY2hhcmFjdGVyIG9mIHNob3J0b3B0cyBtYXkgYmUKKy5SQiAnICsgJworb3IKKy5SQiAnIFwtICcKK3RvIGluZmx1ZW5jZSB0aGUgd2F5IG9wdGlvbnMgYXJlIHBhcnNlZCBhbmQgb3V0cHV0IGlzIGdlbmVyYXRlZCAoc2VlCitzZWN0aW9uCisuQiBTQ0FOTklORyBNT0RFUworZm9yIGRldGFpbHMpLgorLlRQCisuQlIgXC1xICwgIiBcLVwtcXVpZXQiCitEaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMykuCisuVFAKKy5CUiAgXC1RICwgIiBcLVwtcXVpZXRcLW91dHB1dCIKK0RvIG5vdCBnZW5lcmF0ZSBub3JtYWwgb3V0cHV0LiAgRXJyb3JzIGFyZSBzdGlsbCByZXBvcnRlZCBieQorLkJSIGdldG9wdCAoMyksCit1bmxlc3MgeW91IGFsc28gdXNlCisuQlIgXC1xIC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNoZWxsIFxmSXNoZWxsXGZQIgorU2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YKKy5JUiBzaGVsbCAuCitJZiB0aGUgXGZCXC1zXGZSIG9wdGlvbiBpcyBub3QgZ2l2ZW4sIHRoZQorLlNNIEJBU0gKK2NvbnZlbnRpb25zIGFyZSB1c2VkLiAgVmFsaWQgYXJndW1lbnRzIGFyZSBjdXJyZW50bHkKKy5SQiAnIHNoICcKKy5SQiAnIGJhc2ggJywKKy5SQiAnIGNzaCAnLAorYW5kCisuUkIgJyB0Y3NoICcuCisuVFAKKy5CUiBcLVQgLCAiIFwtXC10ZXN0IgorVGVzdCBpZiB5b3VyCisuQlIgZ2V0b3B0ICgxKQoraXMgdGhpcyBlbmhhbmNlZCB2ZXJzaW9uIG9yIGFuIG9sZCB2ZXJzaW9uLiAgVGhpcyBnZW5lcmF0ZXMgbm8KK291dHB1dCwgYW5kIHNldHMgdGhlIGVycm9yIHN0YXR1cyB0byA0LiAgT3RoZXIgaW1wbGVtZW50YXRpb25zIG9mCisuQlIgZ2V0b3B0ICgxKSwKK2FuZCB0aGlzIHZlcnNpb24gaWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisuQiBHRVRPUFRfQ09NUEFUSUJMRQoraXMgc2V0LCB3aWxsIHJldHVybgorLlJCICcgXC1cLSAnCithbmQgZXJyb3Igc3RhdHVzIDAuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC11bnF1b3RlZCIKK0RvIG5vdCBxdW90ZSB0aGUgb3V0cHV0LiAgTm90ZSB0aGF0IHdoaXRlc3BhY2UgYW5kIHNwZWNpYWwKKyhzaGVsbC1kZXBlbmRlbnQpIGNoYXJhY3RlcnMgY2FuIGNhdXNlIGhhdm9jIGluIHRoaXMgbW9kZSAobGlrZSB0aGV5CitkbyB3aXRoIG90aGVyCisuQlIgZ2V0b3B0ICgxKQoraW1wbGVtZW50YXRpb25zKS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuICBObyBvdGhlciBvdXRwdXQgaXMgZ2VuZXJhdGVkLgorLlNIIFBBUlNJTkcKK1RoaXMgc2VjdGlvbiBzcGVjaWZpZXMgdGhlIGZvcm1hdCBvZiB0aGUgc2Vjb25kIHBhcnQgb2YgdGhlCitwYXJhbWV0ZXJzIG9mCisuQiBnZXRvcHQKKyh0aGUKKy5JIHBhcmFtZXRlcnMKK2luIHRoZQorLkJSIFNZTk9QU0lTICkuCitUaGUgbmV4dCBzZWN0aW9uCisuUkIgKCBPVVRQVVQgKQorZGVzY3JpYmVzIHRoZSBvdXRwdXQgdGhhdCBpcyBnZW5lcmF0ZWQuICBUaGVzZSBwYXJhbWV0ZXJzIHdlcmUKK3R5cGljYWxseSB0aGUgcGFyYW1ldGVycyBhIHNoZWxsIGZ1bmN0aW9uIHdhcyBjYWxsZWQgd2l0aC4gIENhcmUgbXVzdAorYmUgdGFrZW4gdGhhdCBlYWNoIHBhcmFtZXRlciB0aGUgc2hlbGwgZnVuY3Rpb24gd2FzIGNhbGxlZCB3aXRoCitjb3JyZXNwb25kcyB0byBleGFjdGx5IG9uZSBwYXJhbWV0ZXIgaW4gdGhlIHBhcmFtZXRlciBsaXN0IG9mCisuQiBnZXRvcHQKKyhzZWUgdGhlCisuQlIgRVhBTVBMRVMgKS4KK0FsbCBwYXJzaW5nIGlzIGRvbmUgYnkgdGhlIEdOVQorLkJSIGdldG9wdCAoMykKK3JvdXRpbmVzLgorLlBQCitUaGUgcGFyYW1ldGVycyBhcmUgcGFyc2VkIGZyb20gbGVmdCB0byByaWdodC4gIEVhY2ggcGFyYW1ldGVyIGlzCitjbGFzc2lmaWVkIGFzIGEgc2hvcnQgb3B0aW9uLCBhIGxvbmcgb3B0aW9uLCBhbiBhcmd1bWVudCB0byBhbgorb3B0aW9uLCBvciBhIG5vblwtb3B0aW9uIHBhcmFtZXRlci4KKy5QUAorQSBzaW1wbGUgc2hvcnQgb3B0aW9uIGlzIGEKKy5SQiAnIFwtICcKK2ZvbGxvd2VkIGJ5IGEgc2hvcnQgb3B0aW9uIGNoYXJhY3Rlci4gIElmIHRoZSBvcHRpb24gaGFzIGEgcmVxdWlyZWQKK2FyZ3VtZW50LCBpdCBtYXkgYmUgd3JpdHRlbiBkaXJlY3RseSBhZnRlciB0aGUgb3B0aW9uIGNoYXJhY3RlciBvciBhcwordGhlIG5leHQgcGFyYW1ldGVyIChpLmUuLCBzZXBhcmF0ZWQgYnkgd2hpdGVzcGFjZSBvbiB0aGUgY29tbWFuZAorbGluZSkuICBJZiB0aGUgb3B0aW9uIGhhcyBhbiBvcHRpb25hbCBhcmd1bWVudCwgaXQgbXVzdCBiZSB3cml0dGVuCitkaXJlY3RseSBhZnRlciB0aGUgb3B0aW9uIGNoYXJhY3RlciBpZiBwcmVzZW50LgorLlBQCitJdCBpcyBwb3NzaWJsZSB0byBzcGVjaWZ5IHNldmVyYWwgc2hvcnQgb3B0aW9ucyBhZnRlciBvbmUKKy5SQiAnIFwtICcsCithcyBsb25nIGFzIGFsbCAoZXhjZXB0IHBvc3NpYmx5IHRoZSBsYXN0KSBkbyBub3QgaGF2ZSByZXF1aXJlZCBvcgorb3B0aW9uYWwgYXJndW1lbnRzLgorLlBQCitBIGxvbmcgb3B0aW9uIG5vcm1hbGx5IGJlZ2lucyB3aXRoCisuUkIgJyBcLVwtICcKK2ZvbGxvd2VkIGJ5IHRoZSBsb25nIG9wdGlvbiBuYW1lLiAgSWYgdGhlIG9wdGlvbiBoYXMgYSByZXF1aXJlZAorYXJndW1lbnQsIGl0IG1heSBiZSB3cml0dGVuIGRpcmVjdGx5IGFmdGVyIHRoZSBsb25nIG9wdGlvbiBuYW1lLAorc2VwYXJhdGVkIGJ5CisuUkIgJyA9ICcsCitvciBhcyB0aGUgbmV4dCBhcmd1bWVudCAoaS5lLiwgc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2Ugb24gdGhlIGNvbW1hbmQKK2xpbmUpLiAgSWYgdGhlIG9wdGlvbiBoYXMgYW4gb3B0aW9uYWwgYXJndW1lbnQsIGl0IG11c3QgYmUgd3JpdHRlbgorZGlyZWN0bHkgYWZ0ZXIgdGhlIGxvbmcgb3B0aW9uIG5hbWUsIHNlcGFyYXRlZCBieQorLlJCICcgPSAnLAoraWYgcHJlc2VudCAoaWYgeW91IGFkZCB0aGUKKy5SQiAnID0gJworYnV0IG5vdGhpbmcgYmVoaW5kIGl0LCBpdCBpcyBpbnRlcnByZXRlZCBhcyBpZiBubyBhcmd1bWVudCB3YXMKK3ByZXNlbnQ7IHRoaXMgaXMgYSBzbGlnaHQgYnVnLCBzZWUgdGhlCisuQlIgQlVHUyApLgorTG9uZyBvcHRpb25zIG1heSBiZSBhYmJyZXZpYXRlZCwgYXMgbG9uZyBhcyB0aGUgYWJicmV2aWF0aW9uIGlzIG5vdAorYW1iaWd1b3VzLgorLlBQCitFYWNoIHBhcmFtZXRlciBub3Qgc3RhcnRpbmcgd2l0aCBhCisuUkIgJyBcLSAnLAorYW5kIG5vdCBhIHJlcXVpcmVkIGFyZ3VtZW50IG9mIGEgcHJldmlvdXMgb3B0aW9uLCBpcyBhIG5vblwtb3B0aW9uCitwYXJhbWV0ZXIuICBFYWNoIHBhcmFtZXRlciBhZnRlciBhCisuUkIgJyBcLVwtICcKK3BhcmFtZXRlciBpcyBhbHdheXMgaW50ZXJwcmV0ZWQgYXMgYSBub25cLW9wdGlvbiBwYXJhbWV0ZXIuICBJZiB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlCisuQiBQT1NJWExZX0NPUlJFQ1QKK2lzIHNldCwgb3IgaWYgdGhlIHNob3J0IG9wdGlvbiBzdHJpbmcgc3RhcnRlZCB3aXRoIGEKKy5SQiAnICsgJywKK2FsbCByZW1haW5pbmcgcGFyYW1ldGVycyBhcmUgaW50ZXJwcmV0ZWQgYXMgbm9uXC1vcHRpb24gcGFyYW1ldGVycyBhcworc29vbiBhcyB0aGUgZmlyc3Qgbm9uXC1vcHRpb24gcGFyYW1ldGVyIGlzIGZvdW5kLgorLlNIIE9VVFBVVAorT3V0cHV0IGlzIGdlbmVyYXRlZCBmb3IgZWFjaCBlbGVtZW50IGRlc2NyaWJlZCBpbiB0aGUgcHJldmlvdXMKK3NlY3Rpb24uICBPdXRwdXQgaXMgZG9uZSBpbiB0aGUgc2FtZSBvcmRlciBhcyB0aGUgZWxlbWVudHMgYXJlCitzcGVjaWZpZWQgaW4gdGhlIGlucHV0LCBleGNlcHQgZm9yIG5vblwtb3B0aW9uIHBhcmFtZXRlcnMuICBPdXRwdXQKK2NhbiBiZSBkb25lIGluCisuSSBjb21wYXRpYmxlCisuUkkgKCB1bnF1b3RlZCApCittb2RlLCBvciBpbiBzdWNoIHdheSB0aGF0IHdoaXRlc3BhY2UgYW5kIG90aGVyIHNwZWNpYWwgY2hhcmFjdGVycword2l0aGluIGFyZ3VtZW50cyBhbmQgbm9uXC1vcHRpb24gcGFyYW1ldGVycyBhcmUgcHJlc2VydmVkIChzZWUKKy5CUiBRVU9USU5HICkuCitXaGVuIHRoZSBvdXRwdXQgaXMgcHJvY2Vzc2VkIGluIHRoZSBzaGVsbCBzY3JpcHQsIGl0IHdpbGwgc2VlbSB0byBiZQorY29tcG9zZWQgb2YgZGlzdGluY3QgZWxlbWVudHMgdGhhdCBjYW4gYmUgcHJvY2Vzc2VkIG9uZSBieSBvbmUgKGJ5Cit1c2luZyB0aGUgc2hpZnQgY29tbWFuZCBpbiBtb3N0IHNoZWxsIGxhbmd1YWdlcykuICBUaGlzIGlzIGltcGVyZmVjdAoraW4gdW5xdW90ZWQgbW9kZSwgYXMgZWxlbWVudHMgY2FuIGJlIHNwbGl0IGF0IHVuZXhwZWN0ZWQgcGxhY2VzIGlmCit0aGV5IGNvbnRhaW4gd2hpdGVzcGFjZSBvciBzcGVjaWFsIGNoYXJhY3RlcnMuCisuUFAKK0lmIHRoZXJlIGFyZSBwcm9ibGVtcyBwYXJzaW5nIHRoZSBwYXJhbWV0ZXJzLCBmb3IgZXhhbXBsZSBiZWNhdXNlIGEKK3JlcXVpcmVkIGFyZ3VtZW50IGlzIG5vdCBmb3VuZCBvciBhbiBvcHRpb24gaXMgbm90IHJlY29nbml6ZWQsIGFuCitlcnJvciB3aWxsIGJlIHJlcG9ydGVkIG9uIHN0ZGVyciwgdGhlcmUgd2lsbCBiZSBubyBvdXRwdXQgZm9yIHRoZQorb2ZmZW5kaW5nIGVsZW1lbnQsIGFuZCBhIG5vblwtemVybyBlcnJvciBzdGF0dXMgaXMgcmV0dXJuZWQuCisuUFAKK0ZvciBhIHNob3J0IG9wdGlvbiwgYSBzaW5nbGUKKy5SQiAnIFwtICcKK2FuZCB0aGUgb3B0aW9uIGNoYXJhY3RlciBhcmUgZ2VuZXJhdGVkIGFzIG9uZSBwYXJhbWV0ZXIuICBJZiB0aGUKK29wdGlvbiBoYXMgYW4gYXJndW1lbnQsIHRoZSBuZXh0IHBhcmFtZXRlciB3aWxsIGJlIHRoZSBhcmd1bWVudC4gIElmCit0aGUgb3B0aW9uIHRha2VzIGFuIG9wdGlvbmFsIGFyZ3VtZW50LCBidXQgbm9uZSB3YXMgZm91bmQsIHRoZSBuZXh0CitwYXJhbWV0ZXIgd2lsbCBiZSBnZW5lcmF0ZWQgYnV0IGJlIGVtcHR5IGluIHF1b3RpbmcgbW9kZSwgYnV0IG5vCitzZWNvbmQgcGFyYW1ldGVyIHdpbGwgYmUgZ2VuZXJhdGVkIGluIHVucXVvdGVkIChjb21wYXRpYmxlKSBtb2RlLgorTm90ZSB0aGF0IG1hbnkgb3RoZXIKKy5CUiBnZXRvcHQgKDEpCitpbXBsZW1lbnRhdGlvbnMgZG8gbm90IHN1cHBvcnQgb3B0aW9uYWwgYXJndW1lbnRzLgorLlBQCitJZiBzZXZlcmFsIHNob3J0IG9wdGlvbnMgd2VyZSBzcGVjaWZpZWQgYWZ0ZXIgYSBzaW5nbGUKKy5SQiAnIFwtICcsCitlYWNoIHdpbGwgYmUgcHJlc2VudCBpbiB0aGUgb3V0cHV0IGFzIGEgc2VwYXJhdGUgcGFyYW1ldGVyLgorLlBQCitGb3IgYSBsb25nIG9wdGlvbiwKKy5SQiAnIFwtXC0gJworYW5kIHRoZSBmdWxsIG9wdGlvbiBuYW1lIGFyZSBnZW5lcmF0ZWQgYXMgb25lIHBhcmFtZXRlci4gIFRoaXMgaXMKK2RvbmUgcmVnYXJkbGVzcyB3aGV0aGVyIHRoZSBvcHRpb24gd2FzIGFiYnJldmlhdGVkIG9yIHNwZWNpZmllZCB3aXRoCithIHNpbmdsZQorLlJCICcgXC0gJworaW4gdGhlIGlucHV0LiAgQXJndW1lbnRzIGFyZSBoYW5kbGVkIGFzIHdpdGggc2hvcnQgb3B0aW9ucy4KKy5QUAorTm9ybWFsbHksIG5vIG5vblwtb3B0aW9uIHBhcmFtZXRlcnMgb3V0cHV0IGlzIGdlbmVyYXRlZCB1bnRpbCBhbGwKK29wdGlvbnMgYW5kIHRoZWlyIGFyZ3VtZW50cyBoYXZlIGJlZW4gZ2VuZXJhdGVkLiAgVGhlbgorLlJCICcgXC1cLSAnCitpcyBnZW5lcmF0ZWQgYXMgYSBzaW5nbGUgcGFyYW1ldGVyLCBhbmQgYWZ0ZXIgaXQgdGhlIG5vblwtb3B0aW9uCitwYXJhbWV0ZXJzIGluIHRoZSBvcmRlciB0aGV5IHdlcmUgZm91bmQsIGVhY2ggYXMgYSBzZXBhcmF0ZQorcGFyYW1ldGVyLiAgT25seSBpZiB0aGUgZmlyc3QgY2hhcmFjdGVyIG9mIHRoZSBzaG9ydCBvcHRpb25zIHN0cmluZword2FzIGEKKy5SQiAnIFwtICcsCitub25cLW9wdGlvbiBwYXJhbWV0ZXIgb3V0cHV0IGlzIGdlbmVyYXRlZCBhdCB0aGUgcGxhY2UgdGhleSBhcmUgZm91bmQKK2luIHRoZSBpbnB1dCAodGhpcyBpcyBub3Qgc3VwcG9ydGVkIGlmIHRoZSBmaXJzdCBmb3JtYXQgb2YgdGhlCisuQiBTWU5PUFNJUworaXMgdXNlZDsgaW4gdGhhdCBjYXNlIGFsbCBwcmVjZWRpbmcgb2NjdXJyZW5jZXMgb2YKKy5SQiAnIFwtICcKK2FuZAorLlJCICcgKyAnCithcmUgaWdub3JlZCkuCisuU0ggUVVPVElORworSW4gY29tcGF0aWJsZSBtb2RlLCB3aGl0ZXNwYWNlIG9yICdzcGVjaWFsJyBjaGFyYWN0ZXJzIGluIGFyZ3VtZW50cworb3Igbm9uXC1vcHRpb24gcGFyYW1ldGVycyBhcmUgbm90IGhhbmRsZWQgY29ycmVjdGx5LiAgQXMgdGhlIG91dHB1dAoraXMgZmVkIHRvIHRoZSBzaGVsbCBzY3JpcHQsIHRoZSBzY3JpcHQgZG9lcyBub3Qga25vdyBob3cgaXQgaXMKK3N1cHBvc2VkIHRvIGJyZWFrIHRoZSBvdXRwdXQgaW50byBzZXBhcmF0ZSBwYXJhbWV0ZXJzLiAgVG8gY2lyY3VtdmVudAordGhpcyBwcm9ibGVtLCB0aGlzIGltcGxlbWVudGF0aW9uIG9mZmVycyBxdW90aW5nLiAgVGhlIGlkZWEgaXMgdGhhdAorb3V0cHV0IGlzIGdlbmVyYXRlZCB3aXRoIHF1b3RlcyBhcm91bmQgZWFjaCBwYXJhbWV0ZXIuICBXaGVuIHRoaXMKK291dHB1dCBpcyBvbmNlIGFnYWluIGZlZCB0byB0aGUgc2hlbGwgKHVzdWFsbHkgYnkgYSBzaGVsbAorLkIgZXZhbAorY29tbWFuZCksIGl0IGlzIHNwbGl0IGNvcnJlY3RseSBpbnRvIHNlcGFyYXRlIHBhcmFtZXRlcnMuCisuUFAKK1F1b3RpbmcgaXMgbm90IGVuYWJsZWQgaWYgdGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisuQiBHRVRPUFRfQ09NUEFUSUJMRQoraXMgc2V0LCBpZiB0aGUgZmlyc3QgZm9ybSBvZiB0aGUKKy5CIFNZTk9QU0lTCitpcyB1c2VkLCBvciBpZiB0aGUgb3B0aW9uCisuUkIgJyBcLXUgJworaXMgZm91bmQuCisuUFAKK0RpZmZlcmVudCBzaGVsbHMgdXNlIGRpZmZlcmVudCBxdW90aW5nIGNvbnZlbnRpb25zLiAgWW91IGNhbiB1c2UgdGhlCisuUkIgJyBcLXMgJworb3B0aW9uIHRvIHNlbGVjdCB0aGUgc2hlbGwgeW91IGFyZSB1c2luZy4gIFRoZSBmb2xsb3dpbmcgc2hlbGxzIGFyZQorY3VycmVudGx5IHN1cHBvcnRlZDoKKy5SQiAnIHNoICcsCisuUkIgJyBiYXNoICcsCisuUkIgJyBjc2ggJworYW5kCisuUkIgJyB0Y3NoICcuCitBY3R1YWxseSwgb25seSB0d28gJ2ZsYXZvcnMnIGFyZSBkaXN0aW5ndWlzaGVkOiBzaFwtbGlrZSBxdW90aW5nCitjb252ZW50aW9ucyBhbmQgY3NoXC1saWtlIHF1b3RpbmcgY29udmVudGlvbnMuICBDaGFuY2VzIGFyZSB0aGF0IGlmCit5b3UgdXNlIGFub3RoZXIgc2hlbGwgc2NyaXB0IGxhbmd1YWdlLCBvbmUgb2YgdGhlc2UgZmxhdm9ycyBjYW4gc3RpbGwKK2JlIHVzZWQuCisuU0ggIlNDQU5OSU5HIE1PREVTIgorVGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgc2hvcnQgb3B0aW9ucyBzdHJpbmcgbWF5IGJlIGEKKy5SQiAnIFwtICcKK29yIGEKKy5SQiAnICsgJwordG8gaW5kaWNhdGUgYSBzcGVjaWFsIHNjYW5uaW5nIG1vZGUuICBJZiB0aGUgZmlyc3QgY2FsbGluZyBmb3JtIGluCit0aGUKKy5CIFNZTk9QU0lTCitpcyB1c2VkIHRoZXkgYXJlIGlnbm9yZWQ7IHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLkIgUE9TSVhMWV9DT1JSRUNUCitpcyBzdGlsbCBleGFtaW5lZCwgdGhvdWdoLgorLlBQCitJZiB0aGUgZmlyc3QgY2hhcmFjdGVyIGlzCisuUkIgJyArICcsCitvciBpZiB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CIFBPU0lYTFlfQ09SUkVDVAoraXMgc2V0LCBwYXJzaW5nIHN0b3BzIGFzIHNvb24gYXMgdGhlIGZpcnN0IG5vblwtb3B0aW9uIHBhcmFtZXRlcgorKGkuZS4sIGEgcGFyYW1ldGVyIHRoYXQgZG9lcyBub3Qgc3RhcnQgd2l0aCBhCisuUkIgJyBcLSAnKQoraXMgZm91bmQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIGFyZ3VtZW50LiAgVGhlIHJlbWFpbmluZyBwYXJhbWV0ZXJzCithcmUgYWxsIGludGVycHJldGVkIGFzIG5vblwtb3B0aW9uIHBhcmFtZXRlcnMuCisuUFAKK0lmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXMgYQorLlJCICcgXC0gJywKK25vblwtb3B0aW9uIHBhcmFtZXRlcnMgYXJlIG91dHB1dHRlZCBhdCB0aGUgcGxhY2Ugd2hlcmUgdGhleSBhcmUKK2ZvdW5kOyBpbiBub3JtYWwgb3BlcmF0aW9uLCB0aGV5IGFyZSBhbGwgY29sbGVjdGVkIGF0IHRoZSBlbmQgb2YKK291dHB1dCBhZnRlciBhCisuUkIgJyBcLVwtICcKK3BhcmFtZXRlciBoYXMgYmVlbiBnZW5lcmF0ZWQuICBOb3RlIHRoYXQgdGhpcworLlJCICcgXC1cLSAnCitwYXJhbWV0ZXIgaXMgc3RpbGwgZ2VuZXJhdGVkLCBidXQgaXQgd2lsbCBhbHdheXMgYmUgdGhlIGxhc3QKK3BhcmFtZXRlciBpbiB0aGlzIG1vZGUuCisuU0ggQ09NUEFUSUJJTElUWQorVGhpcyB2ZXJzaW9uIG9mCisuQlIgZ2V0b3B0ICgxKQoraXMgd3JpdHRlbiB0byBiZSBhcyBjb21wYXRpYmxlIGFzIHBvc3NpYmxlIHRvIG90aGVyIHZlcnNpb25zLgorVXN1YWxseSB5b3UgY2FuIGp1c3QgcmVwbGFjZSB0aGVtIHdpdGggdGhpcyB2ZXJzaW9uIHdpdGhvdXQgYW55Cittb2RpZmljYXRpb25zLCBhbmQgd2l0aCBzb21lIGFkdmFudGFnZXMuCisuUFAKK0lmIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgdGhlIGZpcnN0IHBhcmFtZXRlciBvZiBnZXRvcHQgaXMgbm90IGEKKy5SQiAnIFwtICcsCisuQiBnZXRvcHQKK2dvZXMgaW50byBjb21wYXRpYmlsaXR5IG1vZGUuICBJdCB3aWxsIGludGVycHJldCBpdHMgZmlyc3QKK3BhcmFtZXRlciBhcyB0aGUgc3RyaW5nIG9mIHNob3J0IG9wdGlvbnMsIGFuZCBhbGwgb3RoZXIgYXJndW1lbnRzCit3aWxsIGJlIHBhcnNlZC4gIEl0IHdpbGwgc3RpbGwgZG8gcGFyYW1ldGVyIHNodWZmbGluZyAoaS5lLiwgYWxsCitub25cLW9wdGlvbiBwYXJhbWV0ZXJzIGFyZSBvdXRwdXQgYXQgdGhlIGVuZCksIHVubGVzcyB0aGUKK2Vudmlyb25tZW50IHZhcmlhYmxlCisuQiBQT1NJWExZX0NPUlJFQ1QKK2lzIHNldC4KKy5QUAorVGhlIGVudmlyb25tZW50IHZhcmlhYmxlCisuQiBHRVRPUFRfQ09NUEFUSUJMRQorZm9yY2VzCisuQiBnZXRvcHQKK2ludG8gY29tcGF0aWJpbGl0eSBtb2RlLiAgU2V0dGluZyBib3RoIHRoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgYW5kCisuQiBQT1NJWExZX0NPUlJFQ1QKK29mZmVycyAxMDAlIGNvbXBhdGliaWxpdHkgZm9yICdkaWZmaWN1bHQnIHByb2dyYW1zLiAgVXN1YWxseSwgdGhvdWdoLAorbmVpdGhlciBpcyBuZWVkZWQuCisuUFAKK0luIGNvbXBhdGliaWxpdHkgbW9kZSwgbGVhZGluZworLlJCICcgXC0gJworYW5kCisuUkIgJyArICcKK2NoYXJhY3RlcnMgaW4gdGhlIHNob3J0IG9wdGlvbnMgc3RyaW5nIGFyZSBpZ25vcmVkLgorLlNIIFJFVFVSTiBDT0RFUworLkIgZ2V0b3B0CityZXR1cm5zIGVycm9yIGNvZGUKKy5CIDAKK2ZvciBzdWNjZXNzZnVsIHBhcnNpbmcsCisuQiAxCitpZgorLkJSIGdldG9wdCAoMykKK3JldHVybnMgZXJyb3JzLAorLkIgMgoraWYgaXQgZG9lcyBub3QgdW5kZXJzdGFuZCBpdHMgb3duIHBhcmFtZXRlcnMsCisuQiAzCitpZiBhbiBpbnRlcm5hbCBlcnJvciBvY2N1cnMgbGlrZSBvdXRcLW9mXC1tZW1vcnksIGFuZAorLkIgNAoraWYgaXQgaXMgY2FsbGVkIHdpdGgKKy5CUiBcLVQgLgorLlNIIEVYQU1QTEVTCitFeGFtcGxlIHNjcmlwdHMgZm9yIChiYSlzaCBhbmQgKHQpY3NoIGFyZSBwcm92aWRlZCB3aXRoIHRoZQorLkJSIGdldG9wdCAoMSkKK2Rpc3RyaWJ1dGlvbiwgYW5kIGFyZSBvcHRpb25hbGx5IGluc3RhbGxlZCBpbgorLkkgL3Vzci9zaGFyZS9nZXRvcHQvCitvcgorLkkgL3Vzci9zaGFyZS9kb2MvCitpbiB0aGUgdXRpbC1saW51eCBzdWJkaXJlY3RvcnkuCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBQT1NJWExZX0NPUlJFQ1QKK1RoaXMgZW52aXJvbm1lbnQgdmFyaWFibGUgaXMgZXhhbWluZWQgYnkgdGhlCisuQlIgZ2V0b3B0ICgzKQorcm91dGluZXMuICBJZiBpdCBpcyBzZXQsIHBhcnNpbmcgc3RvcHMgYXMgc29vbiBhcyBhIHBhcmFtZXRlciBpcworZm91bmQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIG9yIGFuIG9wdGlvbiBhcmd1bWVudC4gIEFsbCByZW1haW5pbmcKK3BhcmFtZXRlcnMgYXJlIGFsc28gaW50ZXJwcmV0ZWQgYXMgbm9uXC1vcHRpb24gcGFyYW1ldGVycywgcmVnYXJkbGVzcword2hldGhlciB0aGV5IHN0YXJ0IHdpdGggYQorLlJCICcgXC0gJy4KKy5JUCBHRVRPUFRfQ09NUEFUSUJMRQorRm9yY2VzCisuQiBnZXRvcHQKK3RvIHVzZSB0aGUgZmlyc3QgY2FsbGluZyBmb3JtYXQgYXMgc3BlY2lmaWVkIGluIHRoZQorLkJSIFNZTk9QU0lTIC4KKy5TSCBCVUdTCisuQlIgZ2V0b3B0ICgzKQorY2FuIHBhcnNlIGxvbmcgb3B0aW9ucyB3aXRoIG9wdGlvbmFsIGFyZ3VtZW50cyB0aGF0IGFyZSBnaXZlbiBhbgorZW1wdHkgb3B0aW9uYWwgYXJndW1lbnQgKGJ1dCBjYW5ub3QgZG8gdGhpcyBmb3Igc2hvcnQgb3B0aW9ucykuCitUaGlzCisuQlIgZ2V0b3B0ICgxKQordHJlYXRzIG9wdGlvbmFsIGFyZ3VtZW50cyB0aGF0IGFyZSBlbXB0eSBhcyBpZiB0aGV5IHdlcmUgbm90IHByZXNlbnQuCisuUFAKK1RoZSBzeW50YXggaWYgeW91IGRvIG5vdCB3YW50IGFueSBzaG9ydCBvcHRpb24gdmFyaWFibGVzIGF0IGFsbCBpcworbm90IHZlcnkgaW50dWl0aXZlICh5b3UgaGF2ZSB0byBzZXQgdGhlbSBleHBsaWNpdGx5IHRvIHRoZSBlbXB0eQorc3RyaW5nKS4KKy5TSCBBVVRIT1IKKy5NVCBmcm9kb0Bmcm9kby5sb29pamFhcmQubmFtZQorRnJvZG8gTG9vaWphYXJkCisuTUUKKy5TSCAiU0VFIEFMU08iCisuQlIgYmFzaCAoMSksCisuQlIgdGNzaCAoMSksCisuQlIgZ2V0b3B0ICgzKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGdldG9wdCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9nZXRvcHQuYyBiL21pc2MtdXRpbHMvZ2V0b3B0LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWI0ZjM1MgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvZ2V0b3B0LmMKQEAgLTAsMCArMSw0NzIgQEAKKy8qCisgKiAgZ2V0b3B0LmMgLSBFbmhhbmNlZCBpbXBsZW1lbnRhdGlvbiBvZiBCU0QgZ2V0b3B0KDEpCisgKiAgQ29weXJpZ2h0IChjKSAxOTk3LTIwMTQgRnJvZG8gTG9vaWphYXJkIDxmcm9kb0Bmcm9kby5sb29pamFhcmQubmFtZT4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqICB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworLyoKKyAqIFZlcnNpb24gMS4wLWI0OiBUdWUgU2VwIDIzIDE5OTcuIEZpcnN0IHB1YmxpYyByZWxlYXNlLgorICogVmVyc2lvbiAxLjA6IFdlZCBOb3YgMTkgMTk5Ny4KKyAqICAgQnVtcGVkIHVwIHRoZSB2ZXJzaW9uIG51bWJlciB0byAxLjAKKyAqICAgRml4ZWQgbWlub3IgdHlwbyAoQ1NIIGluc3RlYWQgb2YgVENTSCkKKyAqIFZlcnNpb24gMS4wLjE6IFR1ZSBKdW4gMyAxOTk4CisgKiAgIEZpeGVkIHNpemVvZiBpbnN0ZWFkIG9mIHN0cmxlbiBidWcKKyAqICAgQnVtcGVkIHVwIHRoZSB2ZXJzaW9uIG51bWJlciB0byAxLjAuMQorICogVmVyc2lvbiAxLjAuMjogVGh1IEp1biAxMSAxOTk4IChub3QgcHJlc2VudCkKKyAqICAgRml4ZWQgZ2NjLTIuOC4xIHdhcm5pbmdzCisgKiAgIEZpeGVkIC0tdmVyc2lvbi8tViBvcHRpb24gKG5vdCBwcmVzZW50KQorICogVmVyc2lvbiAxLjAuNTogVHVlIEp1biAyMiAxOTk5CisgKiAgIE1ha2UgLXUgb3B0aW9uIHdvcmsgKG5vdCBwcmVzZW50KQorICogVmVyc2lvbiAxLjAuNjogVHVlIEp1biAyNyAyMDAwCisgKiAgIE5vIGltcG9ydGFudCBjaGFuZ2VzCisgKiBWZXJzaW9uIDEuMS4wOiBUdWUgSnVuIDMwIDIwMDAKKyAqICAgQWRkZWQgTkxTIHN1cHBvcnQgKHBhcnRseSB3cml0dGVuIGJ5IEFya2FkaXVzeiBNacWba2lld2ljegorICogICAgIDxtaXNpZWtAcGxkLm9yZy5wbD4pCisgKiBWZXJzaW9uIDEuMS40OiBNb24gTm92IDcgMjAwNQorICogICBGaXhlZCBhIGZldyB0eXBlJ3MgaW4gdGhlIG1hbnBhZ2UKKyAqIFZlcnNpb24gMS4xLjU6IFN1biBBdWcgMTIgMjAxMgorICogIFN5bmMgd2l0aCB1dGlsLWxpbnV4LTIuMjEsIGZpeGVkIGJ1aWxkIHByb2JsZW1zLCBtYW55IG5ldyB0cmFuc2xhdGlvbnMKKyAqIFZlcnNpb24gMS4xLjY6IE1vbiBOb3YgMjQgMjAxNAorICogIFN5bmMgd2l0aCB1dGlsLWxpbnV4IGdpdCAyMDE0MTEyMCwgZGV0ZWN0IGFtYmlndW91cyBsb25nIG9wdGlvbnMsIGZpeAorICogIGJhY2tzbGFzaCBwcm9ibGVtIGluIHRjc2gKKyAqLworCisvKiBFeGl0IGNvZGVzOgorICogICAwKSBObyBlcnJvcnMsIHN1Y2Nlc3NmdWwgb3BlcmF0aW9uLgorICogICAxKSBnZXRvcHQoMykgcmV0dXJuZWQgYW4gZXJyb3IuCisgKiAgIDIpIEEgcHJvYmxlbSB3aXRoIHBhcmFtZXRlciBwYXJzaW5nIGZvciBnZXRvcHQoMSkuCisgKiAgIDMpIEludGVybmFsIGVycm9yLCBvdXQgb2YgbWVtb3J5CisgKiAgIDQpIFJldHVybmVkIGZvciAtVAorICovCisjZGVmaW5lIEdFVE9QVF9FWElUX0NPREUJMQorI2RlZmluZSBQQVJBTUVURVJfRVhJVF9DT0RFCTIKKyNkZWZpbmUgWEFMTE9DX0VYSVRfQ09ERQkzCisjZGVmaW5lIENMT1NFX0VYSVRfQ09ERQkJWEFMTE9DX0VYSVRfQ09ERQorI2RlZmluZSBURVNUX0VYSVRfQ09ERQkJNAorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2lmZGVmIEhBVkVfU1lTX1BBUkFNX0gKKyMgaW5jbHVkZSA8c3lzL3BhcmFtLmg+IC8qIEJTRCAqLworI2VuZGlmCisKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisvKiBOT05fT1BUIGlzIHRoZSBjb2RlIHRoYXQgaXMgcmV0dXJuZWQgZ2V0b3B0KDMpIHdoZW4gYSBub24tb3B0aW9uIGlzCisgKiBmb3VuZCBpbiAnY2hhciBvcHRzdHJpbmdbXT0iLWFiYy4uLiI7JywgZS5nLiwgaXQgYmVnaW5zIGJ5ICctJyAqLworI2RlZmluZSBOT05fT1BUIDEKKy8qIExPTkdfT1BUIGlzIHRoZSBjb2RlIHRoYXQgaXMgcmV0dXJuZWQgd2hlbiBhIGxvbmcgb3B0aW9uIGlzIGZvdW5kLiAqLworI2RlZmluZSBMT05HX09QVCAwCisKKy8qIFRoZSBzaGVsbHMgcmVjb2duaXplZC4gKi8KK3R5cGVkZWYgZW51bSB7IEJBU0gsIFRDU0ggfSBzaGVsbF90OworCitzdHJ1Y3QgZ2V0b3B0X2NvbnRyb2wgeworCXNoZWxsX3Qgc2hlbGw7CQkJLyogdGhlIHNoZWxsIHdlIGdlbmVyYXRlIG91dHB1dCBmb3IgKi8KKwljaGFyICpvcHRzdHI7CQkJLyogZ2V0b3B0KDMpIG9wdHN0cmluZyAqLworCWNoYXIgKm5hbWU7CisJc3RydWN0IG9wdGlvbiAqbG9uZ19vcHRpb25zOwkvKiBsb25nIG9wdGlvbnMgKi8KKwlpbnQgbG9uZ19vcHRpb25zX2xlbmd0aDsJLyogbGVuZ3RoIG9mIG9wdGlvbnMgYXJyYXkgKi8KKwlpbnQgbG9uZ19vcHRpb25zX25yOwkJLyogbnVtYmVyIG9mIHVzZWQgZWxlbWVudHMgaW4gYXJyYXkgKi8KKwl1bnNpZ25lZCBpbnQKKwkJY29tcGF0aWJsZToxLAkJLyogY29tcGF0aWJpbGl0eSBtb2RlIGZvciAnZGlmZmljdWx0JyBwcm9ncmFtcyAqLworCQlxdWlldF9lcnJvcnM6MSwJCS8qIHByaW50IGVycm9ycyAqLworCQlxdWlldF9vdXRwdXQ6MSwJCS8qIHByaW50IG91dHB1dCAqLworCQlxdW90ZToxOwkJLyogcXVvdGUgb3V0cHV0ICovCit9OworCitlbnVtIHsgUkVBTExPQ19JTkNSRU1FTlQgPSA4IH07CisKKy8qIEFsbG93IGNoYW5naW5nIHdoaWNoIGdldG9wdCBpcyBpbiB1c2Ugd2l0aCBmdW5jdGlvbiBwb2ludGVyLiAqLworc3RhdGljIGludCAoKmdldG9wdF9sb25nX2ZwKSAoaW50IGFyZ2MsIGNoYXIgKmNvbnN0ICphcmd2LCBjb25zdCBjaGFyICpvcHRzdHIsCisJCQkgICAgICBjb25zdCBzdHJ1Y3Qgb3B0aW9uICogbG9uZ29wdHMsIGludCAqbG9uZ2luZGV4KTsKKworLyoKKyAqIFRoaXMgZnVuY3Rpb24gJ25vcm1hbGl6ZXMnIGEgc2luZ2xlIGFyZ3VtZW50OiBpdCBwdXRzIHNpbmdsZSBxdW90ZXMKKyAqIGFyb3VuZCBpdCBhbmQgZXNjYXBlcyBvdGhlciBzcGVjaWFsIGNoYXJhY3RlcnMuIElmIHF1b3RlIGlzIGZhbHNlLCBpdAorICoganVzdCByZXR1cm5zIGl0cyBhcmd1bWVudC4KKyAqCisgKiBCYXNoIG9ubHkgbmVlZHMgc3BlY2lhbCB0cmVhdG1lbnQgZm9yIHNpbmdsZSBxdW90ZXM7IHRjc2ggYWxzbyByZWNvZ25pemVzCisgKiBleGNsYW1hdGlvbiBtYXJrcyB3aXRoaW4gc2luZ2xlIHF1b3RlcywgYW5kIG51a2VzIHdoaXRlc3BhY2UuIFRoaXMKKyAqIGZ1bmN0aW9uIHJldHVybnMgYSBwb2ludGVyIHRvIGEgYnVmZmVyIHRoYXQgaXMgb3ZlcndyaXR0ZW4gYnkgZWFjaCBjYWxsLgorICovCitzdGF0aWMgdm9pZCBwcmludF9ub3JtYWxpemVkKGNvbnN0IHN0cnVjdCBnZXRvcHRfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICphcmcpCit7CisJY2hhciAqYnVmOworCWNvbnN0IGNoYXIgKmFyZ3B0ciA9IGFyZzsKKwljaGFyICpidWZwdHI7CisKKwlpZiAoIWN0bC0+cXVvdGUpIHsKKwkJcHJpbnRmKCIgJXMiLCBhcmcpOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBFYWNoIGNoYXJhY3RlciBpbiBhcmcgbWF5IHRha2UgdXAgdG8gZm91ciBjaGFyYWN0ZXJzIGluIHRoZQorCSAqIHJlc3VsdDogRm9yIGEgcXVvdGUgd2UgbmVlZCBhIGNsb3NpbmcgcXVvdGUsIGEgYmFja3NsYXNoLCBhIHF1b3RlCisJICogYW5kIGFuIG9wZW5pbmcgcXVvdGUhIFdlIG5lZWQgYWxzbyB0aGUgZ2xvYmFsIG9wZW5pbmcgYW5kIGNsb3NpbmcKKwkgKiBxdW90ZSwgYW5kIG9uZSBleHRyYSBjaGFyYWN0ZXIgZm9yICdcMCcuCisJICovCisJYnVmID0geG1hbGxvYyhzdHJsZW4oYXJnKSAqIDQgKyAzKTsKKwlidWZwdHIgPSBidWY7CisKKwlmb3IgKCpidWZwdHIrKyA9ICdcJyc7ICphcmdwdHI7IGFyZ3B0cisrKSB7CisJCWlmIChjdGwtPnNoZWxsID09IFRDU0gpIHsKKwkJCXN3aXRjaCAoKmFyZ3B0cikgeworCQkJY2FzZSAnXFwnOgorCQkJCS8qIEJhY2tzbGFzaDogcmVwbGFjZSBpdCB3aXRoOiAnXFwnICovCisJCQkJKmJ1ZnB0cisrID0gJ1xcJzsKKwkJCQkqYnVmcHRyKysgPSAnXFwnOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSAnISc6CisJCQkJLyogRXhjbGFtYXRpb24gbWFyazogcmVwbGFjZSBpdCB3aXRoOiBcISAqLworCQkJCSpidWZwdHIrKyA9ICdcJyc7CisJCQkJKmJ1ZnB0cisrID0gJ1xcJzsKKwkJCQkqYnVmcHRyKysgPSAnISc7CisJCQkJKmJ1ZnB0cisrID0gJ1wnJzsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgJ1xuJzoKKwkJCQkvKiBOZXdsaW5lOiByZXBsYWNlIGl0IHdpdGg6IFxuICovCisJCQkJKmJ1ZnB0cisrID0gJ1xcJzsKKwkJCQkqYnVmcHRyKysgPSAnbic7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoaXNzcGFjZSgqYXJncHRyKSkgeworCQkJCS8qIE5vbi1uZXdsaW5lIHdoaXRlc3BhY2U6IHJlcGxhY2UgaXQgd2l0aCBcPHdzPiAqLworCQkJCSpidWZwdHIrKyA9ICdcJyc7CisJCQkJKmJ1ZnB0cisrID0gJ1xcJzsKKwkJCQkqYnVmcHRyKysgPSAqYXJncHRyOworCQkJCSpidWZwdHIrKyA9ICdcJyc7CisJCQkJY29udGludWU7CisJCQl9CisJCX0KKwkJaWYgKCphcmdwdHIgPT0gJ1wnJykgeworCQkJLyogUXVvdGU6IHJlcGxhY2UgaXQgd2l0aDogJ1wnJyAqLworCQkJKmJ1ZnB0cisrID0gJ1wnJzsKKwkJCSpidWZwdHIrKyA9ICdcXCc7CisJCQkqYnVmcHRyKysgPSAnXCcnOworCQkJKmJ1ZnB0cisrID0gJ1wnJzsKKwkJfSBlbHNlCisJCQkvKiBKdXN0IGNvcHkgKi8KKwkJCSpidWZwdHIrKyA9ICphcmdwdHI7CisJfQorCisJKmJ1ZnB0cisrID0gJ1wnJzsKKwkqYnVmcHRyKysgPSAnXDAnOworCXByaW50ZigiICVzIiwgYnVmKTsKKwlmcmVlKGJ1Zik7Cit9CisKKy8qCisgKiBHZW5lcmF0ZSB0aGUgb3V0cHV0LiBhcmd2WzBdIGlzIHRoZSBwcm9ncmFtIG5hbWUgKHVzZWQgZm9yIHJlcG9ydGluZyBlcnJvcnMpLgorICogYXJndlsxLi5dIGNvbnRhaW5zIHRoZSBvcHRpb25zIHRvIGJlIHBhcnNlZC4gYXJnYyBtdXN0IGJlIHRoZSBudW1iZXIgb2YKKyAqIGVsZW1lbnRzIGluIGFyZ3YgKGllLiAxIGlmIHRoZXJlIGFyZSBubyBvcHRpb25zLCBvbmx5IHRoZSBwcm9ncmFtIG5hbWUpLAorICogb3B0c3RyIG11c3QgY29udGFpbiB0aGUgc2hvcnQgb3B0aW9ucywgYW5kIGxvbmdvcHRzIHRoZSBsb25nIG9wdGlvbnMuCisgKiBPdGhlciBzZXR0aW5ncyBhcmUgZm91bmQgaW4gZ2xvYmFsIHZhcmlhYmxlcy4KKyAqLworc3RhdGljIGludCBnZW5lcmF0ZV9vdXRwdXQoc3RydWN0IGdldG9wdF9jb250cm9sICpjdGwsIGNoYXIgKmFyZ3ZbXSwgaW50IGFyZ2MpCit7CisJaW50IGV4aXRfY29kZSA9IEVYSVRfU1VDQ0VTUzsJLyogQXNzdW1lIGV2ZXJ5dGhpbmcgd2lsbCBiZSBPSyAqLworCWludCBvcHQ7CisJaW50IGxvbmdpbmRleDsKKwljb25zdCBjaGFyICpjaGFycHRyOworCisJaWYgKGN0bC0+cXVpZXRfZXJyb3JzKQorCQkvKiBObyBlcnJvciByZXBvcnRpbmcgZnJvbSBnZXRvcHQoMykgKi8KKwkJb3B0ZXJyID0gMDsKKwkvKiBSZXNldCBnZXRvcHQoMykgKi8KKwlvcHRpbmQgPSAwOworCisJd2hpbGUgKChvcHQgPQorCQkoZ2V0b3B0X2xvbmdfZnAKKwkJIChhcmdjLCBhcmd2LCBjdGwtPm9wdHN0ciwKKwkJICAoY29uc3Qgc3RydWN0IG9wdGlvbiAqKWN0bC0+bG9uZ19vcHRpb25zLCAmbG9uZ2luZGV4KSkpCisJICAgICAgICE9IEVPRikgeworCQlpZiAob3B0ID09ICc/JyB8fCBvcHQgPT0gJzonKQorCQkJZXhpdF9jb2RlID0gR0VUT1BUX0VYSVRfQ09ERTsKKwkJZWxzZSBpZiAoIWN0bC0+cXVpZXRfb3V0cHV0KSB7CisJCQlzd2l0Y2ggKG9wdCkgeworCQkJY2FzZSBMT05HX09QVDoKKwkJCQlwcmludGYoIiAtLSVzIiwgY3RsLT5sb25nX29wdGlvbnNbbG9uZ2luZGV4XS5uYW1lKTsKKwkJCQlpZiAoY3RsLT5sb25nX29wdGlvbnNbbG9uZ2luZGV4XS5oYXNfYXJnKQorCQkJCQlwcmludF9ub3JtYWxpemVkKGN0bCwgb3B0YXJnID8gb3B0YXJnIDogIiIpOworCQkJCWJyZWFrOworCQkJY2FzZSBOT05fT1BUOgorCQkJCXByaW50X25vcm1hbGl6ZWQoY3RsLCBvcHRhcmcgPyBvcHRhcmcgOiAiIik7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCXByaW50ZigiIC0lYyIsIG9wdCk7CisJCQkJY2hhcnB0ciA9IHN0cmNocihjdGwtPm9wdHN0ciwgb3B0KTsKKwkJCQlpZiAoY2hhcnB0ciAhPSBOVUxMICYmICorK2NoYXJwdHIgPT0gJzonKQorCQkJCQlwcmludF9ub3JtYWxpemVkKGN0bCwgb3B0YXJnID8gb3B0YXJnIDogIiIpOworCQkJfQorCQl9CisJfQorCWlmICghY3RsLT5xdWlldF9vdXRwdXQpIHsKKwkJcHJpbnRmKCIgLS0iKTsKKwkJd2hpbGUgKG9wdGluZCA8IGFyZ2MpCisJCQlwcmludF9ub3JtYWxpemVkKGN0bCwgYXJndltvcHRpbmQrK10pOworCQlwcmludGYoIlxuIik7CisJfQorCWZvciAobG9uZ2luZGV4ID0gMDsgbG9uZ2luZGV4IDwgY3RsLT5sb25nX29wdGlvbnNfbnI7IGxvbmdpbmRleCsrKQorCQlmcmVlKChjaGFyICopY3RsLT5sb25nX29wdGlvbnNbbG9uZ2luZGV4XS5uYW1lKTsKKwlmcmVlKGN0bC0+bG9uZ19vcHRpb25zKTsKKwlmcmVlKGN0bC0+b3B0c3RyKTsKKwlmcmVlKGN0bC0+bmFtZSk7CisJcmV0dXJuIGV4aXRfY29kZTsKK30KKworLyoKKyAqIFJlcG9ydCBhbiBlcnJvciB3aGVuIHBhcnNpbmcgZ2V0b3B0J3Mgb3duIGFyZ3VtZW50cy4gSWYgbWVzc2FnZSBpcyBOVUxMLAorICogd2UgYWxyZWFkeSBzZW50IGEgbWVzc2FnZSwgd2UganVzdCBleGl0IHdpdGggYSBoZWxwZnVsIGhpbnQuCisgKi8KK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSBwYXJzZV9lcnJvcihjb25zdCBjaGFyICptZXNzYWdlKQoreworCWlmIChtZXNzYWdlKQorCQl3YXJueCgiJXMiLCBtZXNzYWdlKTsKKwllcnJ0cnloZWxwKFBBUkFNRVRFUl9FWElUX0NPREUpOworfQorCisKKy8qIFJlZ2lzdGVyIGEgbG9uZyBvcHRpb24uIFRoZSBjb250ZW50cyBvZiBuYW1lIGlzIGNvcGllZC4gKi8KK3N0YXRpYyB2b2lkIGFkZF9sb25nb3B0KHN0cnVjdCBnZXRvcHRfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICpuYW1lLCBpbnQgaGFzX2FyZykKK3sKKwlzdGF0aWMgaW50IGZsYWc7CisJaW50IG5yID0gY3RsLT5sb25nX29wdGlvbnNfbnI7CisKKwlpZiAoY3RsLT5sb25nX29wdGlvbnNfbnIgPT0gY3RsLT5sb25nX29wdGlvbnNfbGVuZ3RoKSB7CisJCWN0bC0+bG9uZ19vcHRpb25zX2xlbmd0aCArPSBSRUFMTE9DX0lOQ1JFTUVOVDsKKwkJY3RsLT5sb25nX29wdGlvbnMgPSB4cmVhbGxvYyhjdGwtPmxvbmdfb3B0aW9ucywKKwkJCQkJICAgICBzaXplb2Yoc3RydWN0IG9wdGlvbikgKgorCQkJCQkgICAgIGN0bC0+bG9uZ19vcHRpb25zX2xlbmd0aCk7CisJfQorCWlmIChuYW1lKSB7CisJCS8qIE5vdCBmb3IgaW5pdCEgKi8KKwkJY3RsLT5sb25nX29wdGlvbnNbbnJdLmhhc19hcmcgPSBoYXNfYXJnOworCQljdGwtPmxvbmdfb3B0aW9uc1tucl0uZmxhZyA9ICZmbGFnOworCQljdGwtPmxvbmdfb3B0aW9uc1tucl0udmFsID0gY3RsLT5sb25nX29wdGlvbnNfbnI7CisJCWN0bC0+bG9uZ19vcHRpb25zW25yXS5uYW1lID0geHN0cmR1cChuYW1lKTsKKwl9IGVsc2UgeworCQkvKiBsZXRzIHVzZSBhZGRfbG9uZ29wdChjdCwgTlVMTCwgMCkgdG8gdGVybWluYXRlIHRoZSBhcnJheSAqLworCQljdGwtPmxvbmdfb3B0aW9uc1tucl0ubmFtZSA9IE5VTEw7CisJCWN0bC0+bG9uZ19vcHRpb25zW25yXS5oYXNfYXJnID0gMDsKKwkJY3RsLT5sb25nX29wdGlvbnNbbnJdLmZsYWcgPSBOVUxMOworCQljdGwtPmxvbmdfb3B0aW9uc1tucl0udmFsID0gMDsKKwl9Cit9CisKKworLyoKKyAqIFJlZ2lzdGVyIHNldmVyYWwgbG9uZyBvcHRpb25zLiBvcHRpb25zIGlzIGEgc3RyaW5nIG9mIGxvbmcgb3B0aW9ucywKKyAqIHNlcGFyYXRlZCBieSBjb21tYXMgb3Igd2hpdGVzcGFjZS4gVGhpcyBudWtlcyBvcHRpb25zIQorICovCitzdGF0aWMgdm9pZCBhZGRfbG9uZ19vcHRpb25zKHN0cnVjdCBnZXRvcHRfY29udHJvbCAqY3RsLCBjaGFyICpvcHRpb25zKQoreworCWludCBhcmdfb3B0OworCWNoYXIgKnRva3B0ciA9IHN0cnRvayhvcHRpb25zLCAiLCBcdFxuIik7CisKKwl3aGlsZSAodG9rcHRyKSB7CisJCXNpemVfdCBsZW4gPSBzdHJsZW4odG9rcHRyKTsKKworCQlhcmdfb3B0ID0gbm9fYXJndW1lbnQ7CisJCWlmIChsZW4gPiAwKSB7CisJCQlpZiAodG9rcHRyW2xlbiAtIDFdID09ICc6JykgeworCQkJCWlmICh0b2twdHJbbGVuIC0gMl0gPT0gJzonKSB7CisJCQkJCXRva3B0cltsZW4gLSAyXSA9ICdcMCc7CisJCQkJCWFyZ19vcHQgPSBvcHRpb25hbF9hcmd1bWVudDsKKwkJCQl9IGVsc2UgeworCQkJCQl0b2twdHJbbGVuIC0gMV0gPSAnXDAnOworCQkJCQlhcmdfb3B0ID0gcmVxdWlyZWRfYXJndW1lbnQ7CisJCQkJfQorCQkJCWlmICghKnRva3B0cikKKwkJCQkJcGFyc2VfZXJyb3IoXworCQkJCQkJICAgICgiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgIgorCQkJCQkJICAgICAiLWwgb3IgLS1sb25nIGFyZ3VtZW50IikpOworCQkJfQorCQkJYWRkX2xvbmdvcHQoY3RsLCB0b2twdHIsIGFyZ19vcHQpOworCQkJY3RsLT5sb25nX29wdGlvbnNfbnIrKzsKKwkJfQorCQl0b2twdHIgPSBzdHJ0b2soTlVMTCwgIiwgXHRcbiIpOworCX0KKwlhZGRfbG9uZ29wdChjdGwsIE5VTEwsIDApOwkvKiBlbnN1cmUgbG9uZ19vcHRpb25zW10gaXMgbm90IGZ1bGwgKi8KK30KKworc3RhdGljIHNoZWxsX3Qgc2hlbGxfdHlwZShjb25zdCBjaGFyICpuZXdfc2hlbGwpCit7CisJaWYgKCFzdHJjbXAobmV3X3NoZWxsLCAiYmFzaCIpKQorCQlyZXR1cm4gQkFTSDsKKwlpZiAoIXN0cmNtcChuZXdfc2hlbGwsICJzaCIpKQorCQlyZXR1cm4gQkFTSDsKKwlpZiAoIXN0cmNtcChuZXdfc2hlbGwsICJ0Y3NoIikpCisJCXJldHVybiBUQ1NIOworCWlmICghc3RyY21wKG5ld19zaGVsbCwgImNzaCIpKQorCQlyZXR1cm4gVENTSDsKKwlwYXJzZV9lcnJvcihfKCJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiKSk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBzdGRvdXQpOworCXByaW50ZihfKAorCQkiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisJCSIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKwkJIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCWZwdXRzKF8oIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIpLCBzdGRvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIiksIHN0ZG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMzEpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImdldG9wdCgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IGdldG9wdF9jb250cm9sIGN0bCA9IHsKKwkJLnNoZWxsID0gQkFTSCwKKwkJLnF1b3RlID0gMQorCX07CisJaW50IG9wdDsKKworCS8qIFN0b3Agc2Nhbm5pbmcgYXMgc29vbiBhcyBhIG5vbi1vcHRpb24gYXJndW1lbnQgaXMgZm91bmQhICovCisJc3RhdGljIGNvbnN0IGNoYXIgKnNob3J0b3B0cyA9ICIrYW86bDpuOnFRczpUdWhWIjsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7Im9wdGlvbnMiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nfSwKKwkJeyJsb25nb3B0aW9ucyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbCd9LAorCQl7InF1aWV0Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdxJ30sCisJCXsicXVpZXQtb3V0cHV0Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdRJ30sCisJCXsic2hlbGwiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJeyJ0ZXN0Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdUJ30sCisJCXsidW5xdW90ZWQiLCBub19hcmd1bWVudCwgTlVMTCwgJ3UnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXsiYWx0ZXJuYXRpdmUiLCBub19hcmd1bWVudCwgTlVMTCwgJ2EnfSwKKwkJeyJuYW1lIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWlmIChnZXRlbnYoIkdFVE9QVF9DT01QQVRJQkxFIikpCisJCWN0bC5jb21wYXRpYmxlID0gMTsKKworCWlmIChhcmdjID09IDEpIHsKKwkJaWYgKGN0bC5jb21wYXRpYmxlKSB7CisJCQkvKgorCQkJICogRm9yIHNvbWUgcmVhc29uLCB0aGUgb3JpZ2luYWwgZ2V0b3B0IGdhdmUgbm8KKwkJCSAqIGVycm9yIHdoZW4gdGhlcmUgd2VyZSBubyBhcmd1bWVudHMuCisJCQkgKi8KKwkJCXByaW50ZigiIC0tXG4iKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCX0gZWxzZQorCQkJcGFyc2VfZXJyb3IoXygibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiKSk7CisJfQorCisJYWRkX2xvbmdvcHQoJmN0bCwgTlVMTCwgMCk7CS8qIGluaXQgKi8KKwlnZXRvcHRfbG9uZ19mcCA9IGdldG9wdF9sb25nOworCisJaWYgKGFyZ3ZbMV1bMF0gIT0gJy0nIHx8IGN0bC5jb21wYXRpYmxlKSB7CisJCWN0bC5xdW90ZSA9IDA7CisJCWN0bC5vcHRzdHIgPSB4bWFsbG9jKHN0cmxlbihhcmd2WzFdKSArIDEpOworCQlzdHJjcHkoY3RsLm9wdHN0ciwgYXJndlsxXSArIHN0cnNwbihhcmd2WzFdLCAiLSsiKSk7CisJCWFyZ3ZbMV0gPSBhcmd2WzBdOworCQlyZXR1cm4gZ2VuZXJhdGVfb3V0cHV0KCZjdGwsIGFyZ3YgKyAxLCBhcmdjIC0gMSk7CisJfQorCisJd2hpbGUgKChvcHQgPQorCQlnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCBzaG9ydG9wdHMsIGxvbmdvcHRzLCBOVUxMKSkgIT0gRU9GKQorCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICdhJzoKKwkJCWdldG9wdF9sb25nX2ZwID0gZ2V0b3B0X2xvbmdfb25seTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ28nOgorCQkJZnJlZShjdGwub3B0c3RyKTsKKwkJCWN0bC5vcHRzdHIgPSB4c3RyZHVwKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQlhZGRfbG9uZ19vcHRpb25zKCZjdGwsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlmcmVlKGN0bC5uYW1lKTsKKwkJCWN0bC5uYW1lID0geHN0cmR1cChvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJY3RsLnF1aWV0X2Vycm9ycyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnUSc6CisJCQljdGwucXVpZXRfb3V0cHV0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWN0bC5zaGVsbCA9IHNoZWxsX3R5cGUob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdUJzoKKwkJCWZyZWUoY3RsLmxvbmdfb3B0aW9ucyk7CisJCQlyZXR1cm4gVEVTVF9FWElUX0NPREU7CisJCWNhc2UgJ3UnOgorCQkJY3RsLnF1b3RlID0gMDsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnPyc6CisJCWNhc2UgJzonOgorCQkJcGFyc2VfZXJyb3IoTlVMTCk7CisJCWRlZmF1bHQ6CisJCQlwYXJzZV9lcnJvcihfKCJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIpKTsKKwkJfQorCisJaWYgKCFjdGwub3B0c3RyKSB7CisJCWlmIChvcHRpbmQgPj0gYXJnYykKKwkJCXBhcnNlX2Vycm9yKF8oIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IikpOworCQllbHNlIHsKKwkJCWN0bC5vcHRzdHIgPSB4c3RyZHVwKGFyZ3Zbb3B0aW5kXSk7CisJCQlvcHRpbmQrKzsKKwkJfQorCX0KKworCWlmIChjdGwubmFtZSkgeworCQlhcmd2W29wdGluZCAtIDFdID0gY3RsLm5hbWU7CisjaWYgZGVmaW5lZCAoSEFWRV9TRVRQUk9HTkFNRSkgJiYgIWRlZmluZWQgKF9fbGludXhfXykKKwkJc2V0cHJvZ25hbWUoY3RsLm5hbWUpOworI2VuZGlmCisJfSBlbHNlCisJCWFyZ3Zbb3B0aW5kIC0gMV0gPSBhcmd2WzBdOworCisJcmV0dXJuIGdlbmVyYXRlX291dHB1dCgmY3RsLCBhcmd2ICsgb3B0aW5kIC0gMSwgYXJnYyAtIG9wdGluZCArIDEpOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9raWxsLjEgYi9taXNjLXV0aWxzL2tpbGwuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNGMzMmEyCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9raWxsLjEKQEAgLTAsMCArMSwxNzkgQEAKKy5cIiBDb3B5cmlnaHQgMTk5NCBTYWx2YXRvcmUgVmFsZW50ZSAoc3ZhbGVudGVAbWl0LmVkdSkKKy5cIiBDb3B5cmlnaHQgMTk5MiBSaWNrYXJkIEUuIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBLSUxMIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2tpbGwgXC0gdGVybWluYXRlIGEgcHJvY2VzcworLlNIIFNZTk9QU0lTCisuQiBraWxsCisuUkIgWyBcLSBcZklzaWduYWxcZlJ8IFwtcworLklSIHNpZ25hbCB8IFxmQi1wXGZQIF0KKy5SQiBbIFwtcQorLklSIHZhbHVlIF0KKy5SQiBbIFwtYSBdCisuUkIgWyBcLVwtIF0KKy5JUiBwaWQgfCBuYW1lIC4uLgorLmJyCisuQiBraWxsIFwtbAorLlJJIFsgbnVtYmVyIF0KKy5SQiAifCAiIFwtTAorLlNIIERFU0NSSVBUSU9OCitUaGUgY29tbWFuZAorLkIga2lsbAorc2VuZHMgdGhlIHNwZWNpZmllZCBcZklzaWduYWxcZlIgdG8gdGhlIHNwZWNpZmllZCBwcm9jZXNzZXMgb3IgcHJvY2VzcyBncm91cHMuCisuUFAKK0lmIG5vIHNpZ25hbCBpcyBzcGVjaWZpZWQsIHRoZSBURVJNIHNpZ25hbCBpcyBzZW50LgorVGhlIGRlZmF1bHQgYWN0aW9uIGZvciB0aGlzIHNpZ25hbCBpcyB0byB0ZXJtaW5hdGUgdGhlIHByb2Nlc3MuCitUaGlzIHNpZ25hbCBzaG91bGQgYmUgdXNlZCBpbiBwcmVmZXJlbmNlIHRvIHRoZQorS0lMTCBzaWduYWwgKG51bWJlciA5KSwgc2luY2UgYSBwcm9jZXNzIG1heSBpbnN0YWxsIGEgaGFuZGxlciBmb3IgdGhlCitURVJNIHNpZ25hbCBpbiBvcmRlciB0byBwZXJmb3JtIGNsZWFuLXVwIHN0ZXBzIGJlZm9yZSB0ZXJtaW5hdGluZyBpbgorYW4gb3JkZXJseSBmYXNoaW9uLgorSWYgYSBwcm9jZXNzIGRvZXMgbm90IHRlcm1pbmF0ZSBhZnRlciBhIFRFUk0gc2lnbmFsIGhhcyBiZWVuIHNlbnQsCit0aGVuIHRoZSBLSUxMIHNpZ25hbCBtYXkgYmUgdXNlZDsgYmUgYXdhcmUgdGhhdCB0aGUgbGF0dGVyIHNpZ25hbAorY2Fubm90IGJlIGNhdWdodCwgYW5kIHNvIGRvZXMgbm90IGdpdmUgdGhlIHRhcmdldCBwcm9jZXNzIHRoZSBvcHBvcnR1bml0eQordG8gcGVyZm9ybSBhbnkgY2xlYW4tdXAgYmVmb3JlIHRlcm1pbmF0aW5nLgorLlBQCitNb3N0IG1vZGVybiBzaGVsbHMgaGF2ZSBhIGJ1aWx0aW4ga2lsbCBjb21tYW5kLCB3aXRoIGEgdXNhZ2UgcmF0aGVyIHNpbWlsYXIgdG8KK3RoYXQgb2YgdGhlIGNvbW1hbmQgZGVzY3JpYmVkIGhlcmUuICBUaGUKKy5CUiBcLVwtYWxsICwKKy5CUiBcLVwtcGlkICIsIGFuZCIKKy5CIFwtXC1xdWV1ZQorb3B0aW9ucywgYW5kIHRoZSBwb3NzaWJpbGl0eSB0byBzcGVjaWZ5IHByb2Nlc3NlcyBieSBjb21tYW5kIG5hbWUsIGFyZSBsb2NhbCBleHRlbnNpb25zLgorLlBQCitJZiBcZklzaWduYWxcZlIgaXMgMCwgdGhlbiBubyBhY3R1YWwgc2lnbmFsIGlzIHNlbnQsIGJ1dCBlcnJvciBjaGVja2luZyBpcyBzdGlsbCBwZXJmb3JtZWQuCisKKy5TSCBBUkdVTUVOVFMKK1RoZSBsaXN0IG9mIHByb2Nlc3NlcyB0byBiZSBzaWduYWxlZCBjYW4gYmUgYSBtaXh0dXJlIG9mIG5hbWVzIGFuZCBQSURzLgorLlRQCisuSSBwaWQKK0VhY2gKKy5JIHBpZAorY2FuIGJlIG9uZSBvZiBmb3VyIHRoaW5nczoKKy5SUworLlRQCisuSSBuCit3aGVyZQorLkkgbgoraXMgbGFyZ2VyIHRoYW4gMC4gIFRoZSBwcm9jZXNzIHdpdGggUElECisuSSBuCitpcyBzaWduYWxlZC4KKy5UUAorLkIgMAorQWxsIHByb2Nlc3NlcyBpbiB0aGUgY3VycmVudCBwcm9jZXNzIGdyb3VwIGFyZSBzaWduYWxlZC4KKy5UUAorLkIgLTEKK0FsbCBwcm9jZXNzZXMgd2l0aCBhIFBJRCBsYXJnZXIgdGhhbiAxIGFyZSBzaWduYWxlZC4KKy5UUAorLkJJIC0gbgord2hlcmUKKy5JIG4KK2lzIGxhcmdlciB0aGFuIDEuICBBbGwgcHJvY2Vzc2VzIGluIHByb2Nlc3MgZ3JvdXAKKy5JIG4KK2FyZSBzaWduYWxlZC4gIFdoZW4gYW4gYXJndW1lbnQgb2YgdGhlIGZvcm0gJy1uJyBpcyBnaXZlbiwgYW5kIGl0IGlzIG1lYW50IHRvCitkZW5vdGUgYSBwcm9jZXNzIGdyb3VwLCBlaXRoZXIgYSBzaWduYWwgbXVzdCBiZSBzcGVjaWZpZWQgZmlyc3QsIG9yIHRoZQorYXJndW1lbnQgbXVzdCBiZSBwcmVjZWRlZCBieSBhICctLScgb3B0aW9uLCBvdGhlcndpc2UgaXQgd2lsbCBiZSB0YWtlbiBhcyB0aGUKK3NpZ25hbCB0byBzZW5kLgorLlJFCisuVFAKKy5JIG5hbWUKK0FsbCBwcm9jZXNzZXMgaW52b2tlZCB1c2luZyB0aGlzIFxmSW5hbWVcZlIgd2lsbCBiZSBzaWduYWxlZC4KKworLlNIIE9QVElPTlMKKy5UUAorXGZCXC1zXGZSLCBcZkJcLVwtc2lnbmFsXGZSIFxmSXNpZ25hbFxmUgorVGhlIHNpZ25hbCB0byBzZW5kLiAgSXQgbWF5IGJlIGdpdmVuIGFzIGEgbmFtZSBvciBhIG51bWJlci4KKy5UUAorXGZCXC1sXGZSLCBcZkJcLVwtbGlzdFxmUiBbXGZJbnVtYmVyXGZSXQorUHJpbnQgYSBsaXN0IG9mIHNpZ25hbCBuYW1lcywgb3IgY29udmVydCB0aGUgZ2l2ZW4gc2lnbmFsIG51bWJlciB0byBhIG5hbWUuCitUaGUgc2lnbmFscyBjYW4gYmUgZm91bmQgaW4KKy5JIC91c3IvXDppbmNsdWRlL1w6bGludXgvXDpzaWduYWwuaAorLlRQCitcZkJcLUxcZlIsIFxmQlwtXC10YWJsZVxmUgorU2ltaWxhciB0byBcZkJcLWxcZlIsIGJ1dCBpdCB3aWxsIHByaW50IHNpZ25hbCBuYW1lcyBhbmQgdGhlaXIgY29ycmVzcG9uZGluZworbnVtYmVycy4KKy5UUAorXGZCXC1hXGZSLCBcZkJcLVwtYWxsXGZSCitEbyBub3QgcmVzdHJpY3QgdGhlIGNvbW1hbmQtbmFtZS10by1QSUQgY29udmVyc2lvbiB0byBwcm9jZXNzZXMgd2l0aCB0aGUgc2FtZQorVUlEIGFzIHRoZSBwcmVzZW50IHByb2Nlc3MuCisuVFAKK1xmQlwtcFxmUiwgXGZCXC1cLXBpZFxmUgorT25seSBwcmludCB0aGUgcHJvY2VzcyBJRCAoUElEKSBvZiB0aGUgbmFtZWQgcHJvY2Vzc2VzLCBkbyBub3Qgc2VuZCBhbnkKK3NpZ25hbHMuCisuVFAKK1xmQlwtXC12ZXJib3NlXGZSCitQcmludCBQSUQocykgdGhhdCB3aWxsIGJlIHNpZ25hbGVkIHdpdGgga2lsbCBhbG9uZyB3aXRoIHRoZSBzaWduYWwuCisuVFAKK1xmQlwtcVxmUiwgXGZCXC1cLXF1ZXVlXGZSIFxmSXZhbHVlXGZSCitVc2UKKy5CUiBzaWdxdWV1ZSAoMykKK3JhdGhlciB0aGFuCisuQlIga2lsbCAoMikuCitUaGUKKy5JIHZhbHVlCithcmd1bWVudCBpcyBhbiBpbnRlZ2VyIHRoYXQgaXMgc2VudCBhbG9uZyB3aXRoIHRoZSBzaWduYWwuICBJZiB0aGUKK3JlY2VpdmluZyBwcm9jZXNzIGhhcyBpbnN0YWxsZWQgYSBoYW5kbGVyIGZvciB0aGlzIHNpZ25hbCB1c2luZyB0aGUKKy5CIFNBX1NJR0lORk8KK2ZsYWcgdG8KKy5CUiBzaWdhY3Rpb24gKDIpLAordGhlbiBpdCBjYW4gb2J0YWluIHRoaXMgZGF0YSB2aWEgdGhlCisuSSBzaV9zaWd2YWwKK2ZpZWxkIG9mIHRoZQorLkkgc2lnaW5mb190CitzdHJ1Y3R1cmUuCisKKy5TSCBOT1RFUworQWx0aG91Z2ggaXQgaXMgcG9zc2libGUgdG8gc3BlY2lmeSB0aGUgVElEICh0aHJlYWQgSUQsIHNlZQorLkJSIGdldHRpZCAoMikpCitvZiBvbmUgb2YgdGhlIHRocmVhZHMgaW4gYSBtdWx0aXRocmVhZGVkIHByb2Nlc3MgYXMgdGhlIGFyZ3VtZW50IG9mCisuQlIga2lsbCAsCit0aGUgc2lnbmFsIGlzIG5ldmVydGhlbGVzcyBkaXJlY3RlZCB0byB0aGUgcHJvY2VzcworKGkuZS4sIHRoZSBlbnRpcmUgdGhyZWFkIGdyb3VwKS4KK0luIG90aGVyIHdvcmRzLCBpdCBpcyBub3QgcG9zc2libGUgdG8gc2VuZCBhIHNpZ25hbCB0byBhbgorZXhwbGljaXRseSBzZWxlY3RlZCB0aHJlYWQgaW4gYSBtdWx0aXRocmVhZGVkIHByb2Nlc3MuCitUaGUgc2lnbmFsIHdpbGwgYmUgZGVsaXZlcmVkIHRvIGFuIGFyYml0cmFyaWx5IHNlbGVjdGVkIHRocmVhZAoraW4gdGhlIHRhcmdldCBwcm9jZXNzIHRoYXQgaXMgbm90IGJsb2NraW5nIHRoZSBzaWduYWwuCitGb3IgbW9yZSBkZXRhaWxzLCBzZWUKKy5CUiBzaWduYWwgKDcpCithbmQgdGhlIGRlc2NyaXB0aW9uIG9mCisuQiBDTE9ORV9USFJFQUQKK2luCisuQlIgY2xvbmUgKDIpLgorCisuU0ggUkVUVVJOIENPREVTCisuQiBraWxsCitoYXMgdGhlIGZvbGxvd2luZyByZXR1cm4gY29kZXM6CisuVFAKKy5CIDAKK3N1Y2Nlc3MKKy5UUAorLkIgMQorZmFpbHVyZQorLlRQCisuQiA2NAorcGFydGlhbCBzdWNjZXNzICh3aGVuIG1vcmUgdGhhbiBvbmUgcHJvY2VzcyBzcGVjaWZpZWQpCisKKy5TSCBTRUUgQUxTTworLkJSIGJhc2ggKDEpLAorLkJSIHRjc2ggKDEpLAorLkJSIHNpZ2FjdGlvbiAoMiksCisuQlIga2lsbCAoMiksCisuQlIgc2lncXVldWUgKDMpLAorLkJSIHNpZ25hbCAoNykKKworLlNIIEFVVEhPUlMKKy5NVCBzdmFsZW50ZUBtaXQuZWR1CitTYWx2YXRvcmUgVmFsZW50ZQorLk1FCisuYnIKKy5NVCBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLk1FCisuYnIKKy5QUAorVGhlIG9yaWdpbmFsIHZlcnNpb24gd2FzIHRha2VuIGZyb20gQlNEIDQuNC4KKworLlNIIEFWQUlMQUJJTElUWQorVGhlIGtpbGwgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMva2lsbC5jIGIvbWlzYy11dGlscy9raWxsLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI2NzY4YgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMva2lsbC5jCkBAIC0wLDAgKzEsMzkyIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg4LCAxOTkzLCAxOTk0CisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisvKgorICogIG9jdCA1IDE5OTQgLS0gYWxtb3N0IGVudGlyZWx5IHJlLXdyaXR0ZW4gdG8gYWxsb3cgZm9yIHByb2Nlc3MgbmFtZXMuCisgKiAgbW9kaWZpY2F0aW9ucyAoYykgc2FsdmF0b3JlIHZhbGVudGUgPHN2YWxlbnRlQG1pdC5lZHU+CisgKiAgbWF5IGJlIHVzZWQgLyBtb2RpZmllZCAvIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIHRlcm1zIGFzIHRoZSBvcmlnaW5hbC4KKyAqCisgKiAgMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiAgMTk5OS0xMS0xMyBhZWIgQWNjZXB0IHNpZ25hbCBudW1iZXJzIDEyOCtzLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorICogQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICovCisKKyNpbmNsdWRlIDxjdHlwZS5oPgkJLyogZm9yIGlzZGlnaXQoKSAqLworI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwcm9jdXRpbHMuaCIKKyNpbmNsdWRlICJzaWduYW1lcy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworLyogcGFydGlhbCBzdWNjZXNzLCBvdGhlcndpc2Ugd2UgcmV0dXJuIHJlZ3VsYXIgRVhJVF97U1VDQ0VTUyxGQUlMVVJFfSAqLworI2RlZmluZSBLSUxMX0VYSVRfU09NRU9LCTY0CisKK2VudW0geworCUtJTExfRklFTERfV0lEVEggPSAxMSwKKwlLSUxMX09VVFBVVF9XSURUSCA9IDcyCit9OworCitzdHJ1Y3Qga2lsbF9jb250cm9sIHsKKwljaGFyICphcmc7CisJcGlkX3QgcGlkOworCWludCBudW1zaWc7CisjaWZkZWYgSEFWRV9TSUdRVUVVRQorCXVuaW9uIHNpZ3ZhbCBzaWdkYXRhOworI2VuZGlmCisJdW5zaWduZWQgaW50CisJCWNoZWNrX2FsbDoxLAorCQlkb19raWxsOjEsCisJCWRvX3BpZDoxLAorCQl1c2Vfc2lndmFsOjEsCisJCXZlcmJvc2U6MTsKK307CisKK3N0YXRpYyB2b2lkIHByaW50X3NpZ25hbF9uYW1lKGludCBzaWdudW0pCit7CisJY29uc3QgY2hhciAqbmFtZSA9IHNpZ251bV90b19zaWduYW1lKHNpZ251bSk7CisKKwlpZiAobmFtZSkgeworCQlwcmludGYoIiVzXG4iLCBuYW1lKTsKKwkJcmV0dXJuOworCX0KKyNpZmRlZiBTSUdSVE1JTgorCWlmIChTSUdSVE1JTiA8PSBzaWdudW0gJiYgc2lnbnVtIDw9IFNJR1JUTUFYKSB7CisJCXByaW50ZigiUlQlZFxuIiwgc2lnbnVtIC0gU0lHUlRNSU4pOworCQlyZXR1cm47CisJfQorI2VuZGlmCisJcHJpbnRmKCIlZFxuIiwgc2lnbnVtKTsKK30KKworc3RhdGljIHZvaWQgcHJldHR5X3ByaW50X3NpZ25hbChGSUxFICpmcCwgc2l6ZV90IHRlcm1fd2lkdGgsIHNpemVfdCAqbHBvcywKKwkJCQlpbnQgc2lnbnVtLCBjb25zdCBjaGFyICpuYW1lKQoreworCWlmICh0ZXJtX3dpZHRoIDwgKCpscG9zICsgS0lMTF9GSUVMRF9XSURUSCkpIHsKKwkJZnB1dGMoJ1xuJywgZnApOworCQkqbHBvcyA9IDA7CisJfQorCSpscG9zICs9IEtJTExfRklFTERfV0lEVEg7CisJZnByaW50ZihmcCwgIiUyZCAlLThzIiwgc2lnbnVtLCBuYW1lKTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfYWxsX3NpZ25hbHMoRklMRSAqZnAsIGludCBwcmV0dHkpCit7CisJc2l6ZV90IG4sIGx0aCwgbHBvcyA9IDAsIHdpZHRoOworCWNvbnN0IGNoYXIgKnNpZ25hbWUgPSBOVUxMOworCWludCBzaWdudW0gPSAwOworCisJaWYgKCFwcmV0dHkpIHsKKwkJZm9yIChuID0gMDsgZ2V0X3NpZ25hbWVfYnlfaWR4KG4sICZzaWduYW1lLCBOVUxMKSA9PSAwOyBuKyspIHsKKwkJCWx0aCA9IDEgKyBzdHJsZW4oc2lnbmFtZSk7CisJCQlpZiAoS0lMTF9PVVRQVVRfV0lEVEggPCBscG9zICsgbHRoKSB7CisJCQkJZnB1dGMoJ1xuJywgZnApOworCQkJCWxwb3MgPSAwOworCQkJfSBlbHNlIGlmIChscG9zKQorCQkJCWZwdXRjKCcgJywgZnApOworCQkJbHBvcyArPSBsdGg7CisJCQlmcHV0cyhzaWduYW1lLCBmcCk7CisJCX0KKyNpZmRlZiBTSUdSVE1JTgorCQlmcHV0cygiIFJUPE4+IFJUTUlOKzxOPiBSVE1BWC08Tj4iLCBmcCk7CisjZW5kaWYKKwkJZnB1dGMoJ1xuJywgZnApOworCQlyZXR1cm47CisJfQorCisJLyogcHJldHR5IHByaW50ICovCisJd2lkdGggPSBnZXRfdGVybWluYWxfd2lkdGgoS0lMTF9PVVRQVVRfV0lEVEggKyAxKSAtIDE7CisJZm9yIChuID0gMDsgZ2V0X3NpZ25hbWVfYnlfaWR4KG4sICZzaWduYW1lLCAmc2lnbnVtKSA9PSAwOyBuKyspCisJCXByZXR0eV9wcmludF9zaWduYWwoZnAsIHdpZHRoLCAmbHBvcywgc2lnbnVtLCBzaWduYW1lKTsKKyNpZmRlZiBTSUdSVE1JTgorCXByZXR0eV9wcmludF9zaWduYWwoZnAsIHdpZHRoLCAmbHBvcywgU0lHUlRNSU4sICJSVE1JTiIpOworCXByZXR0eV9wcmludF9zaWduYWwoZnAsIHdpZHRoLCAmbHBvcywgU0lHUlRNQVgsICJSVE1BWCIpOworI2VuZGlmCisJZnB1dGMoJ1xuJywgZnApOworfQorCitzdGF0aWMgdm9pZCBlcnJfbm9zaWcoY2hhciAqbmFtZSkKK3sKKwl3YXJueChfKCJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiKSwgbmFtZSk7CisJcHJpbnRfYWxsX3NpZ25hbHMoc3RkZXJyLCAxKTsKKwlleGl0KEVYSVRfRkFJTFVSRSk7Cit9CisKK3N0YXRpYyBpbnQgYXJnX3RvX3NpZ251bShjaGFyICphcmcsIGludCBtYXNrYml0KQoreworCWludCBudW1zaWc7CisJY2hhciAqZXA7CisKKwlpZiAoaXNkaWdpdCgqYXJnKSkgeworCQludW1zaWcgPSBzdHJ0b2woYXJnLCAmZXAsIDEwKTsKKwkJaWYgKE5TSUcgPD0gbnVtc2lnICYmIG1hc2tiaXQgJiYgKG51bXNpZyAmIDEyOCkgIT0gMCkKKwkJCW51bXNpZyAtPSAxMjg7CisJCWlmICgqZXAgIT0gMCB8fCBudW1zaWcgPCAwIHx8IE5TSUcgPD0gbnVtc2lnKQorCQkJcmV0dXJuIC0xOworCQlyZXR1cm4gbnVtc2lnOworCX0KKwlyZXR1cm4gc2lnbmFtZV90b19zaWdudW0oYXJnKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIiksIG91dCk7CisjaWZkZWYgSEFWRV9TSUdRVUVVRQorCWZwdXRzKF8oIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIiksIG91dCk7CisjZW5kaWYKKwlmcHV0cyhfKCIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNCkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgia2lsbCgxKSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGNoYXIgKipwYXJzZV9hcmd1bWVudHMoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBzdHJ1Y3Qga2lsbF9jb250cm9sICpjdGwpCit7CisJY2hhciAqYXJnOworCisJLyogTG9vcCB0aHJvdWdoIHRoZSBhcmd1bWVudHMuICBBY3R1YWxseSwgLWEgaXMgdGhlIG9ubHkgb3B0aW9uCisJICogY2FuIGJlIHVzZWQgd2l0aCBvdGhlciBvcHRpb25zLiAgVGhlICdraWxsJyBpcyBiYXNpY2FsbHkgYQorCSAqIG9uZS1vcHRpb24tYXQtbW9zdCBwcm9ncmFtLiAqLworCWZvciAoYXJnYy0tLCBhcmd2Kys7IDAgPCBhcmdjOyBhcmdjLS0sIGFyZ3YrKykgeworCQlhcmcgPSAqYXJndjsKKwkJaWYgKCphcmcgIT0gJy0nKQorCQkJYnJlYWs7CisJCWlmICghc3RyY21wKGFyZywgIi0tIikpIHsKKwkJCWFyZ2MtLSwgYXJndisrOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJnLCAiLXYiKSB8fCAhc3RyY21wKGFyZywgIi1WIikgfHwKKwkJICAgICFzdHJjbXAoYXJnLCAiLS12ZXJzaW9uIikpIHsKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQl9CisJCWlmICghc3RyY21wKGFyZywgIi1oIikgfHwgIXN0cmNtcChhcmcsICItLWhlbHAiKSkKKwkJCXVzYWdlKCk7CisJCWlmICghc3RyY21wKGFyZywgIi0tdmVyYm9zZSIpKSB7CisJCQljdGwtPnZlcmJvc2UgPSAxOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJnLCAiLWEiKSB8fCAhc3RyY21wKGFyZywgIi0tYWxsIikpIHsKKwkJCWN0bC0+Y2hlY2tfYWxsID0gMTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghc3RyY21wKGFyZywgIi1sIikgfHwgIXN0cmNtcChhcmcsICItLWxpc3QiKSkgeworCQkJaWYgKGFyZ2MgPCAyKSB7CisJCQkJcHJpbnRfYWxsX3NpZ25hbHMoc3Rkb3V0LCAwKTsKKwkJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCQl9CisJCQlpZiAoMiA8IGFyZ2MpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvbyBtYW55IGFyZ3VtZW50cyIpKTsKKwkJCS8qIGFyZ2MgPT0gMiwgYWNjZXB0ICJraWxsIC1sICQ/IiAqLworCQkJYXJnID0gYXJndlsxXTsKKwkJCWlmICgoY3RsLT5udW1zaWcgPSBhcmdfdG9fc2lnbnVtKGFyZywgMSkpIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5rbm93biBzaWduYWw6ICVzIiksCisJCQkJICAgICBhcmcpOworCQkJcHJpbnRfc2lnbmFsX25hbWUoY3RsLT5udW1zaWcpOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQl9CisJCS8qIGZvciBjb21wYXRpYmlsaXR5IHdpdGggcHJvY3BzIGtpbGwoMSkgKi8KKwkJaWYgKCFzdHJuY21wKGFyZywgIi0tbGlzdD0iLCA3KSB8fCAhc3RybmNtcChhcmcsICItbD0iLCAzKSkgeworCQkJY2hhciAqcCA9IHN0cmNocihhcmcsICc9JykgKyAxOworCQkJaWYgKChjdGwtPm51bXNpZyA9IGFyZ190b19zaWdudW0ocCwgMSkpIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5rbm93biBzaWduYWw6ICVzIiksIHApOworCQkJcHJpbnRfc2lnbmFsX25hbWUoY3RsLT5udW1zaWcpOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQl9CisJCWlmICghc3RyY21wKGFyZywgIi1MIikgfHwgIXN0cmNtcChhcmcsICItLXRhYmxlIikpIHsKKwkJCXByaW50X2FsbF9zaWduYWxzKHN0ZG91dCwgMSk7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCX0KKwkJaWYgKCFzdHJjbXAoYXJnLCAiLXAiKSB8fCAhc3RyY21wKGFyZywgIi0tcGlkIikpIHsKKwkJCWN0bC0+ZG9fcGlkID0gMTsKKwkJCWlmIChjdGwtPmRvX2tpbGwpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIiksICItLXBpZCIsICItLXNpZ25hbCIpOworI2lmZGVmIEhBVkVfU0lHUVVFVUUKKwkJCWlmIChjdGwtPnVzZV9zaWd2YWwpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIiksICItLXBpZCIsICItLXF1ZXVlIik7CisjZW5kaWYKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICghc3RyY21wKGFyZywgIi1zIikgfHwgIXN0cmNtcChhcmcsICItLXNpZ25hbCIpKSB7CisJCQlpZiAoYXJnYyA8IDIpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCQkJY3RsLT5kb19raWxsID0gMTsKKwkJCWlmIChjdGwtPmRvX3BpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSwgIi0tcGlkIiwgIi0tc2lnbmFsIik7CisJCQlhcmdjLS0sIGFyZ3YrKzsKKwkJCWFyZyA9ICphcmd2OworCQkJaWYgKChjdGwtPm51bXNpZyA9IGFyZ190b19zaWdudW0oYXJnLCAwKSkgPCAwKQorCQkJCWVycl9ub3NpZyhhcmcpOworCQkJY29udGludWU7CisJCX0KKyNpZmRlZiBIQVZFX1NJR1FVRVVFCisJCWlmICghc3RyY21wKGFyZywgIi1xIikgfHwgIXN0cmNtcChhcmcsICItLXF1ZXVlIikpIHsKKwkJCWlmIChhcmdjIDwgMikKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiKSwgYXJnKTsKKwkJCWlmIChjdGwtPmRvX3BpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSwgIi0tcGlkIiwgIi0tcXVldWUiKTsKKwkJCWFyZ2MtLSwgYXJndisrOworCQkJYXJnID0gKmFyZ3Y7CisJCQljdGwtPnNpZ2RhdGEuc2l2YWxfaW50ID0gc3RydG9zMzJfb3JfZXJyKGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJCQljdGwtPnVzZV9zaWd2YWwgPSAxOworCQkJY29udGludWU7CisJCX0KKyNlbmRpZgorCQkvKiAnYXJnJyBiZWdpbnMgd2l0aCBhIGRhc2ggYnV0IGlzIG5vdCBhIGtub3duIG9wdGlvbi4KKwkJICogU28gaXQncyBwcm9iYWJseSBzb21ldGhpbmcgbGlrZSAtSFVQLCBvciAtMS8tbiB0cnkgdG8KKwkJICogZGVhbCB3aXRoIGl0LgorCQkgKgorCQkgKiAtbiBjb3VsZCBiZSBlaXRoZXIgc2lnbmFsIG4gb3IgcGlkIC1uIChhIHByb2Nlc3MgZ3JvdXAKKwkJICogbnVtYmVyKS4gIEluIGNhc2Ugb2YgZG91YnQsIFBPU0lYIHRlbGxzIHVzIHRvIGFzc3VtZSBhCisJCSAqIHNpZ25hbC4gIEJ1dCBpZiBhIHNpZ25hbCBoYXMgYWxyZWFkeSBiZWVuIHBhcnNlZCwgdGhlbgorCQkgKiBhc3N1bWUgaXQgaXMgYSBwcm9jZXNzIGdyb3VwLCBzbyBzdG9wIHBhcnNpbmcgb3B0aW9ucy4gKi8KKwkJaWYgKGN0bC0+ZG9fa2lsbCkKKwkJCWJyZWFrOworCQlhcmcrKzsKKwkJaWYgKChjdGwtPm51bXNpZyA9IGFyZ190b19zaWdudW0oYXJnLCAwKSkgPCAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIpLCBhcmcpOworCQljdGwtPmRvX2tpbGwgPSAxOworCQlpZiAoY3RsLT5kb19waWQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSwgIi0tcGlkIiwgIi0tc2lnbmFsIik7CisJCWNvbnRpbnVlOworCX0KKwlpZiAoISphcmd2KQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisJcmV0dXJuIGFyZ3Y7Cit9CisKKworc3RhdGljIGludCBraWxsX3ZlcmJvc2UoY29uc3Qgc3RydWN0IGtpbGxfY29udHJvbCAqY3RsKQoreworCWludCByYyA9IDA7CisKKwlpZiAoY3RsLT52ZXJib3NlKQorCQlwcmludGYoXygic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iKSwgY3RsLT5udW1zaWcsIGN0bC0+cGlkKTsKKwlpZiAoY3RsLT5kb19waWQpIHsKKwkJcHJpbnRmKCIlbGRcbiIsIChsb25nKSBjdGwtPnBpZCk7CisJCXJldHVybiAwOworCX0KKyNpZmRlZiBIQVZFX1NJR1FVRVVFCisJaWYgKGN0bC0+dXNlX3NpZ3ZhbCkKKwkJcmMgPSBzaWdxdWV1ZShjdGwtPnBpZCwgY3RsLT5udW1zaWcsIGN0bC0+c2lnZGF0YSk7CisJZWxzZQorI2VuZGlmCisJCXJjID0ga2lsbChjdGwtPnBpZCwgY3RsLT5udW1zaWcpOworCisJaWYgKHJjIDwgMCkKKwkJd2FybihfKCJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiKSwgY3RsLT5hcmcpOworCXJldHVybiByYzsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBraWxsX2NvbnRyb2wgY3RsID0geyAubnVtc2lnID0gU0lHVEVSTSB9OworCWludCBuZXJycyA9IDAsIGN0ID0gMDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlhcmd2ID0gcGFyc2VfYXJndW1lbnRzKGFyZ2MsIGFyZ3YsICZjdGwpOworCisJLyogVGhlIHJlc3Qgb2YgdGhlIGFyZ3VtZW50cyBzaG91bGQgYmUgcHJvY2VzcyBpZHMgYW5kIG5hbWVzLiAqLworCWZvciAoIDsgKGN0bC5hcmcgPSAqYXJndikgIT0gTlVMTDsgYXJndisrKSB7CisJCWNoYXIgKmVwID0gTlVMTDsKKworCQllcnJubyA9IDA7CisJCWN0bC5waWQgPSBzdHJ0b2woY3RsLmFyZywgJmVwLCAxMCk7CisJCWlmIChlcnJubyA9PSAwICYmIGVwICYmICplcCA9PSAnXDAnICYmIGN0bC5hcmcgPCBlcCkgeworCQkJaWYgKGtpbGxfdmVyYm9zZSgmY3RsKSAhPSAwKQorCQkJCW5lcnJzKys7CisJCQljdCsrOworCQl9IGVsc2UgeworCQkJc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwcyA9IHByb2Nfb3Blbl9wcm9jZXNzZXMoKTsKKwkJCWludCBmb3VuZCA9IDA7CisKKwkJCWlmICghcHMpCisJCQkJY29udGludWU7CisJCQlpZiAoIWN0bC5jaGVja19hbGwpCisJCQkJcHJvY19wcm9jZXNzZXNfZmlsdGVyX2J5X3VpZChwcywgZ2V0dWlkKCkpOworCisJCQlwcm9jX3Byb2Nlc3Nlc19maWx0ZXJfYnlfbmFtZShwcywgY3RsLmFyZyk7CisJCQl3aGlsZSAocHJvY19uZXh0X3BpZChwcywgJmN0bC5waWQpID09IDApIHsKKwkJCQlpZiAoa2lsbF92ZXJib3NlKCZjdGwpICE9IDApCisJCQkJCW5lcnJzKys7CisJCQkJY3QrKzsKKwkJCQlmb3VuZCA9IDE7CisJCQl9CisJCQlwcm9jX2Nsb3NlX3Byb2Nlc3Nlcyhwcyk7CisKKwkJCWlmICghZm91bmQpIHsKKwkJCQluZXJycysrLCBjdCsrOworCQkJCXdhcm54KF8oImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIiksIGN0bC5hcmcpOworCQkJfQorCQl9CisJfQorCisJaWYgKGN0ICYmIG5lcnJzID09IDApCisJCXJldHVybiBFWElUX1NVQ0NFU1M7CS8qIGZ1bGwgc3VjY2VzcyAqLworCWVsc2UgaWYgKGN0ID09IG5lcnJzKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOwkvKiBhbGwgZmFpbGVkICovCisKKwlyZXR1cm4gS0lMTF9FWElUX1NPTUVPSzsJLyogcGFydGlhbCBzdWNjZXNzICovCit9CisKZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbG9nZ2VyLjEgYi9taXNjLXV0aWxzL2xvZ2dlci4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllODNhMGIKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xvZ2dlci4xCkBAIC0wLDAgKzEsMzU1IEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTgzLCAxOTkwLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIglAKCMpbG9nZ2VyLjEJOC4xIChCZXJrZWxleSkgNi82LzkzCisuXCIKKy5USCBMT0dHRVIgIjEiICJOb3ZlbWJlciAyMDE1IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbG9nZ2VyIFwtIGVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cKKy5TSCBTWU5PUFNJUworLkIgbG9nZ2VyCitbb3B0aW9uc10KKy5SSSBbIG1lc3NhZ2UgXQorLlNIIERFU0NSSVBUSU9OCisuQiBsb2dnZXIKK21ha2VzIGVudHJpZXMgaW4gdGhlIHN5c3RlbSBsb2cuCisuc3AKK1doZW4gdGhlIG9wdGlvbmFsIFxmSW1lc3NhZ2VcZlIgYXJndW1lbnQgaXMgcHJlc2VudCwgaXQgaXMgd3JpdHRlbgordG8gdGhlIGxvZy4gIElmIGl0IGlzIG5vdCBwcmVzZW50LCBhbmQgdGhlIFxmQlwtZlxmUiBvcHRpb24gaXMgbm90CitnaXZlbiBlaXRoZXIsIHRoZW4gc3RhbmRhcmQgaW5wdXQgaXMgbG9nZ2VkLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtZCAsICIgXC1cLXVkcCIKK1VzZSBkYXRhZ3JhbXMgKFVEUCkgb25seS4gIEJ5IGRlZmF1bHQgdGhlIGNvbm5lY3Rpb24gaXMgdHJpZWQgdG8gdGhlCitzeXNsb2cgcG9ydCBkZWZpbmVkIGluIC9ldGMvc2VydmljZXMsIHdoaWNoIGlzIG9mdGVuIDUxNCAuCisuVFAKKy5CUiBcLWUgLCAiIFwtXC1za2lwLWVtcHR5IgorSWdub3JlIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlcy4gIEFuIGVtcHR5IGxpbmUKK2lzIGRlZmluZWQgdG8gYmUgYSBsaW5lIHdpdGhvdXQgYW55IGNoYXJhY3RlcnMuICBUaHVzIGEgbGluZSBjb25zaXN0aW5nCitvbmx5IG9mIHdoaXRlc3BhY2UgaXMgTk9UIGNvbnNpZGVyZWQgZW1wdHkuCitOb3RlIHRoYXQgd2hlbiB0aGUgXGZCXC1cLXByaW9cLXByZWZpeFxmUiBvcHRpb24gaXMgc3BlY2lmaWVkLCB0aGUgcHJpb3JpdHkKK2lzIG5vdCBwYXJ0IG9mIHRoZSBsaW5lLiAgVGh1cyBhbiBlbXB0eSBsaW5lIGluIHRoaXMgbW9kZSBpcyBhIGxpbmUgdGhhdCBkb2VzCitub3QgaGF2ZSBhbnkgY2hhcmFjdGVycyBhZnRlciB0aGUgcHJpb3JpdHkgcHJlZml4IChlLmcuIFxmQjwxMz5cZlIpLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZmlsZSAiIFxmSWZpbGUKK0xvZyB0aGUgY29udGVudHMgb2YgdGhlIHNwZWNpZmllZCBcZklmaWxlXGZSLgorVGhpcyBvcHRpb24gY2Fubm90IGJlIGNvbWJpbmVkIHdpdGggYSBjb21tYW5kLWxpbmUgbWVzc2FnZS4KKy5UUAorLkIgXC1pCitMb2cgdGhlIFBJRCBvZiB0aGUgbG9nZ2VyIHByb2Nlc3Mgd2l0aCBlYWNoIGxpbmUuCisuVFAKKy5CUiAiXC1cLWlkIiBbID1cZklpZCBdCitMb2cgdGhlIFBJRCBvZiB0aGUgbG9nZ2VyIHByb2Nlc3Mgd2l0aCBlYWNoIGxpbmUuICBXaGVuIHRoZSBvcHRpb25hbAorYXJndW1lbnQgXGZJaWRcZlIgaXMgc3BlY2lmaWVkLCB0aGVuIGl0IGlzIHVzZWQgaW5zdGVhZCBvZiB0aGUgbG9nZ2VyCitjb21tYW5kJ3MgUElELiAgVGhlIHVzZSBvZiBcZkJcLVwtaWQ9JCRcZlIKKyhQUElEKSBpcyByZWNvbW1lbmRlZCBpbiBzY3JpcHRzIHRoYXQgc2VuZCBzZXZlcmFsIG1lc3NhZ2VzLgorCitOb3RlIHRoYXQgdGhlIHN5c3RlbSBsb2dnaW5nIGluZnJhc3RydWN0dXJlIChmb3IgZXhhbXBsZSBcZkJzeXN0ZW1kXGZSIHdoZW4KK2xpc3RlbmluZyBvbiAvZGV2L2xvZykgbWF5IGZvbGxvdyBsb2NhbCBzb2NrZXQgY3JlZGVudGlhbHMgdG8gb3ZlcndyaXRlIHRoZQorUElEIHNwZWNpZmllZCBpbiB0aGUgbWVzc2FnZS4KKy5CUiBsb2dnZXIgKDEpCitpcyBhYmxlIHRvIHNldCB0aG9zZSBzb2NrZXQgY3JlZGVudGlhbHMgdG8gdGhlIGdpdmVuIFxmSWlkXGZSLCBidXQgb25seSBpZiB5b3UKK2hhdmUgcm9vdCBwZXJtaXNzaW9ucyBhbmQgYSBwcm9jZXNzIHdpdGggdGhlIHNwZWNpZmllZCBQSUQgZXhpc3RzLCBvdGhlcndpc2UKK3RoZSBzb2NrZXQgY3JlZGVudGlhbHMgYXJlIG5vdCBtb2RpZmllZCBhbmQgdGhlIHByb2JsZW0gaXMgc2lsZW50bHkgaWdub3JlZC4KKy5UUAorLkJSIFwtXC1qb3VybmFsZCBbID1cZklmaWxlIF0KK1dyaXRlIGEgc3lzdGVtZCBqb3VybmFsIGVudHJ5LiAgVGhlIGVudHJ5IGlzIHJlYWQgZnJvbSB0aGUgZ2l2ZW4gXGZJZmlsZVxmUiwKK3doZW4gc3BlY2lmaWVkLCBvdGhlcndpc2UgZnJvbSBzdGFuZGFyZCBpbnB1dC4KK0VhY2ggbGluZSBtdXN0IGJlZ2luIHdpdGggYSBmaWVsZCB0aGF0IGlzIGFjY2VwdGVkIGJ5IGpvdXJuYWxkOyBzZWUKKy5CUiBzeXN0ZW1kLmpvdXJuYWwtZmllbGRzICg3KQorZm9yIGRldGFpbHMuICBUaGUgdXNlIG9mIGEgTUVTU0FHRV9JRCBmaWVsZCBpcyBnZW5lcmFsbHkgYSBnb29kIGlkZWEsIGFzIGl0CittYWtlcyBmaW5kaW5nIGVudHJpZXMgZWFzeS4gIEV4YW1wbGVzOgorLklQCisubmYKK1xmQiAgICBsb2dnZXIgXC1cLWpvdXJuYWxkIDw8ZW5kCitcZkIgICAgTUVTU0FHRV9JRD02N2ZlYjZmZmJhZjI0YzVjYmVjMTNjMDA4ZGQ3MjMwOQorXGZCICAgIE1FU1NBR0U9VGhlIGRvZ3MgYmFyaywgYnV0IHRoZSBjYXJhdmFuIGdvZXMgb24uCitcZkIgICAgRE9HUz1iYXJrCitcZkIgICAgQ0FSQVZBTj1nb2VzIG9uCitcZkIgICAgZW5kCisuSVAKK1xmQiAgICBsb2dnZXIgXC1cLWpvdXJuYWxkPWVudHJ5LnR4dAorLmZpCisuSVAKK05vdGljZSB0aGF0CisuQiBcLVwtam91cm5hbGQKK3dpbGwgaWdub3JlIHZhbHVlcyBvZiBvdGhlciBvcHRpb25zLCBzdWNoIGFzIHByaW9yaXR5LiAgSWYgcHJpb3JpdHkgaXMKK25lZWRlZCBpdCBtdXN0IGJlIHdpdGhpbiBpbnB1dCwgYW5kIHVzZSBQUklPUklUWSBmaWVsZC4gIFRoZSBzaW1wbGUKK2V4ZWN1dGlvbiBvZgorLkIgam91cm5hbGN0bAord2lsbCBkaXNwbGF5IE1FU1NBR0UgZmllbGQuICBVc2UKKy5CIGpvdXJuYWxjdGwgXC1cLW91dHB1dCBqc29uLXByZXR0eQordG8gc2VlIHJlc3Qgb2YgdGhlIGZpZWxkcy4KKy5UUAorLkJSIFwtXC1tc2dpZCAiIFxmSW1zZ2lkCitTZXRzIHRoZSBSRkM1NDI0IE1TR0lEIGZpZWxkLiAgTm90ZSB0aGF0IHRoZSBzcGFjZSBjaGFyYWN0ZXIgaXMgbm90IHBlcm1pdHRlZAoraW5zaWRlIG9mIFxmSW1zZ2lkXGZSLiAgVGhpcyBvcHRpb24gaXMgb25seSB1c2VkIGlmIFxmQlwtXC1yZmM1NDI0XGZSIGlzCitzcGVjaWZpZWQgYXMgd2VsbDsgb3RoZXJ3aXNlLCBpdCBpcyBzaWxlbnRseSBpZ25vcmVkLgorLlRQCisuQlIgXC1uICwgIiBcLVwtc2VydmVyICIgXGZJc2VydmVyCitXcml0ZSB0byB0aGUgc3BlY2lmaWVkIHJlbW90ZSBzeXNsb2cgXGZJc2VydmVyXGZSCitpbnN0ZWFkIG9mIHRvIHRoZSBzeXN0ZW0gbG9nIHNvY2tldC4gIFVubGVzcworXGZCXC1cLXVkcFxmUiBvciBcZkJcLVwtdGNwXGZSCitpcyBzcGVjaWZpZWQsIFxmQmxvZ2dlclxmUiB3aWxsIGZpcnN0IHRyeSB0byB1c2UgVURQLAorYnV0IGlmIHRoaXMgZmFpbHMgYSBUQ1AgY29ubmVjdGlvbiBpcyBhdHRlbXB0ZWQuCisuVFAKKy5CIFwtXC1ub1wtYWN0CitDYXVzZXMgZXZlcnl0aGluZyB0byBiZSBkb25lIGV4Y2VwdCBmb3Igd3JpdGluZyB0aGUgbG9nIG1lc3NhZ2UgdG8gdGhlIHN5c3RlbQorbG9nLCBhbmQgcmVtb3ZpbmcgdGhlIGNvbm5lY3Rpb24gb3IgdGhlIGpvdXJuYWwuICBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZAordG9nZXRoZXIgd2l0aCBcZkJcLVwtc3RkZXJyXGZSIGZvciB0ZXN0aW5nIHB1cnBvc2VzLgorLlRQCisuQiBcLVwtb2N0ZXRcLWNvdW50CitVc2UgdGhlIFJGQyA2NTg3IG9jdGV0IGNvdW50aW5nIGZyYW1pbmcgbWV0aG9kIGZvciBzZW5kaW5nIG1lc3NhZ2VzLgorV2hlbiB0aGlzIG9wdGlvbiBpcyBub3QgdXNlZCwgdGhlIGRlZmF1bHQgaXMgbm8gZnJhbWluZyBvbiBVRFAsIGFuZAorUkZDNjU4NyBub24tdHJhbnNwYXJlbnQgZnJhbWluZyAoYWxzbyBrbm93biBhcyBvY3RldCBzdHVmZmluZykgb24gVENQLgorLlRQCisuQlIgXC1QICwgIiBcLVwtcG9ydCAiIFxmSXBvcnQKK1VzZSB0aGUgc3BlY2lmaWVkIFxmSXBvcnRcZlIuICBXaGVuIHRoaXMgb3B0aW9uIGlzIG5vdCBzcGVjaWZpZWQsIHRoZQorcG9ydCBkZWZhdWx0cyB0byBzeXNsb2cgZm9yIHVkcCBhbmQgdG8gc3lzbG9nLWNvbm4gZm9yIHRjcCBjb25uZWN0aW9ucy4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXByaW9yaXR5ICIgXGZJcHJpb3JpdHkKK0VudGVyIHRoZSBtZXNzYWdlIGludG8gdGhlIGxvZyB3aXRoIHRoZSBzcGVjaWZpZWQgXGZJcHJpb3JpdHlcZlIuCitUaGUgcHJpb3JpdHkgbWF5IGJlIHNwZWNpZmllZCBudW1lcmljYWxseSBvciBhcyBhCisuSVIgZmFjaWxpdHkgLiBsZXZlbAorcGFpci4KK0ZvciBleGFtcGxlLCBcZkJcLXAgbG9jYWwzLmluZm9cZlIKK2xvZ3MgdGhlIG1lc3NhZ2UgYXMgaW5mb3JtYXRpb25hbCBpbiB0aGUgbG9jYWwzIGZhY2lsaXR5LgorVGhlIGRlZmF1bHQgaXMgXGZCdXNlci5ub3RpY2VcZlIuCisuVFAKKy5CIFwtXC1wcmlvXC1wcmVmaXgKK0xvb2sgZm9yIGEgc3lzbG9nIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGFuZGFyZCBpbnB1dC4KK1RoaXMgcHJlZml4IGlzIGEgZGVjaW1hbCBudW1iZXIgd2l0aGluIGFuZ2xlIGJyYWNrZXRzIHRoYXQgZW5jb2RlcyBib3RoCit0aGUgZmFjaWxpdHkgYW5kIHRoZSBsZXZlbC4gIFRoZSBudW1iZXIgaXMgY29uc3RydWN0ZWQgYnkgbXVsdGlwbHlpbmcgdGhlCitmYWNpbGl0eSBieSA4IGFuZCB0aGVuIGFkZGluZyB0aGUgbGV2ZWwuICBGb3IgZXhhbXBsZSwgXGZCbG9jYWwwLmluZm9cZlIsCittZWFuaW5nIGZhY2lsaXR5PTE2IGFuZCBsZXZlbD02LCBiZWNvbWVzIFxmQjwxMzQ+XGZSLgorLnNwCitJZiB0aGUgcHJlZml4IGNvbnRhaW5zIG5vIGZhY2lsaXR5LCB0aGUgZmFjaWxpdHkgZGVmYXVsdHMgdG8gd2hhdCBpcworc3BlY2lmaWVkIGJ5IHRoZSBcZkJcLXBcZlIgb3B0aW9uLiAgU2ltaWxhcmx5LCBpZiBubyBwcmVmaXggaXMgcHJvdmlkZWQsCit0aGUgbGluZSBpcyBsb2dnZWQgdXNpbmcgdGhlIFxmSXByaW9yaXR5XGZSIGdpdmVuIHdpdGggXGZCXC1wXGZSLgorLnNwCitUaGlzIG9wdGlvbiBkb2Vzbid0IGFmZmVjdCBhIGNvbW1hbmQtbGluZSBtZXNzYWdlLgorLlRQCisuQiBcLVwtcmZjMzE2NAorVXNlIHRoZSBSRkMgMzE2NCBCU0Qgc3lzbG9nIHByb3RvY29sIHRvIHN1Ym1pdCBtZXNzYWdlcyB0byBhIHJlbW90ZSBzZXJ2ZXIuCisuVFAKKy5CUiBcLVwtcmZjNTQyNCBbID1cZkl3aXRob3V0IF0KK1VzZSB0aGUgUkZDIDU0MjQgc3lzbG9nIHByb3RvY29sIHRvIHN1Ym1pdCBtZXNzYWdlcyB0byBhIHJlbW90ZSBzZXJ2ZXIuCitUaGUgb3B0aW9uYWwgXGZJd2l0aG91dFxmUiBhcmd1bWVudCBjYW4gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZgordGhlIGZvbGxvd2luZyB2YWx1ZXM6IFxmQm5vdHFcZlIsIFxmQm5vdGltZVxmUiwgXGZCbm9ob3N0XGZSLgorCitUaGUgXGZCbm90cVxmUiB2YWx1ZSBzdXBwcmVzc2VzIHRoZSB0aW1lLXF1YWxpdHkgc3RydWN0dXJlZCBkYXRhCitmcm9tIHRoZSBzdWJtaXR0ZWQgbWVzc2FnZS4gIFRoZSB0aW1lLXF1YWxpdHkgaW5mb3JtYXRpb24gc2hvd3Mgd2hldGhlcgordGhlIGxvY2FsIGNsb2NrIHdhcyBzeW5jaHJvbml6ZWQgcGx1cyB0aGUgbWF4aW11bSBudW1iZXIgb2YgbWljcm9zZWNvbmRzCit0aGUgdGltZXN0YW1wIG1pZ2h0IGJlIG9mZi4gIFRoZSB0aW1lIHF1YWxpdHkgaXMgYWxzbyBhdXRvbWF0aWNhbGx5CitzdXBwcmVzc2VkIHdoZW4gXGZCXC1cLXNkXC1pZCB0aW1lUXVhbGl0eVxmUiBpcyBzcGVjaWZpZWQuCisKK1RoZSBcZkJub3RpbWVcZlIgdmFsdWUgKHdoaWNoIGltcGxpZXMgXGZCbm90cVxmUikKK3N1cHByZXNzZXMgdGhlIGNvbXBsZXRlIHNlbmRlciB0aW1lc3RhbXAgdGhhdCBpcyBpbgorSVNPLTg2MDEgZm9ybWF0LCBpbmNsdWRpbmcgbWljcm9zZWNvbmRzIGFuZCB0aW1lem9uZS4KKworVGhlIFxmQm5vaG9zdFxmUiB2YWx1ZSBzdXBwcmVzc2VzCisuQlIgZ2V0aG9zdG5hbWUgKDIpCitpbmZvcm1hdGlvbiBmcm9tIHRoZSBtZXNzYWdlIGhlYWRlci4KKy5JUAorVGhlIFJGQyA1NDI0IHByb3RvY29sIGhhcyBiZWVuIHRoZSBkZWZhdWx0IGZvcgorLkIgbG9nZ2VyCitzaW5jZSB2ZXJzaW9uIDIuMjYuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zdGRlcnIiCitPdXRwdXQgdGhlIG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbCBhcyB0byB0aGUgc3lzdGVtIGxvZy4KKy5UUAorLkJSICJcLVwtc2RcLWlkIFxmSW5hbWUiIFsgQFxmSWRpZ2l0cyBdCitTcGVjaWZpZXMgYSBzdHJ1Y3R1cmVkIGRhdGEgZWxlbWVudCBJRCBmb3IgYW4gUkZDIDU0MjQgbWVzc2FnZSBoZWFkZXIuICBUaGUKK29wdGlvbiBoYXMgdG8gYmUgdXNlZCBiZWZvcmUgXGZCXC1cLXNkXC1wYXJhbVxmUiB0byBpbnRyb2R1Y2UgYSBuZXcgZWxlbWVudC4KK1RoZSBudW1iZXIgb2Ygc3RydWN0dXJlZCBkYXRhIGVsZW1lbnRzIGlzIHVubGltaXRlZC4gIFRoZSBJRCAoXGZJbmFtZVxmUiBwbHVzCitwb3NzaWJseSBcZkJAXGZJZGlnaXRzXGZSKSBpcyBjYXNlLXNlbnNpdGl2ZSBhbmQgdW5pcXVlbHkgaWRlbnRpZmllcyB0aGUgdHlwZQorYW5kIHB1cnBvc2Ugb2YgdGhlIGVsZW1lbnQuICBUaGUgc2FtZSBJRCBtdXN0IG5vdCBleGlzdCBtb3JlIHRoYW4gb25jZSBpbgorYSBtZXNzYWdlLiAgVGhlIFxmQkBcZklkaWdpdHNcZlIgcGFydCBpcyByZXF1aXJlZCBmb3IgdXNlci1kZWZpbmVkCitub24tc3RhbmRhcmRpemVkIElEcy4KKworXGZCbG9nZ2VyXGZSIGN1cnJlbnRseSBnZW5lcmF0ZXMgdGhlIFxmQnRpbWVRdWFsaXR5XGZSIHN0YW5kYXJkaXplZCBlbGVtZW50Citvbmx5LiAgUkZDIDU0MjQgYWxzbyBkZXNjcmliZXMgdGhlIGVsZW1lbnRzIFxmQm9yaWdpblxmUiAod2l0aCBwYXJhbWV0ZXJzCitpcCwgZW50ZXJwcmlzZUlkLCBzb2Z0d2FyZSBhbmQgc3dWZXJzaW9uKSBhbmQgXGZCbWV0YVxmUiAod2l0aCBwYXJhbWV0ZXJzCitzZXF1ZW5jZUlkLCBzeXNVcFRpbWUgYW5kIGxhbmd1YWdlKS4KK1RoZXNlIGVsZW1lbnQgSURzIG1heSBiZSBzcGVjaWZpZWQgd2l0aG91dCB0aGUgXGZCQFxmSWRpZ2l0c1xmUiBzdWZmaXguCisKKy5UUAorLkJSICJcLVwtc2RcLXBhcmFtICIgXGZJbmFtZSA9IlxmSXZhbHVlXGZCIgorU3BlY2lmaWVzIGEgc3RydWN0dXJlZCBkYXRhIGVsZW1lbnQgcGFyYW1ldGVyLCBhIG5hbWUgYW5kIHZhbHVlIHBhaXIuCitUaGUgb3B0aW9uIGhhcyB0byBiZSB1c2VkIGFmdGVyIFxmQlwtXC1zZFwtaWRcZlIgYW5kIG1heSBiZSBzcGVjaWZpZWQgbW9yZQordGhhbiBvbmNlIGZvciB0aGUgc2FtZSBlbGVtZW50LiAgTm90ZSB0aGF0IHRoZSBxdW90YXRpb24gbWFya3MgYXJvdW5kCitcZkl2YWx1ZVxmUiBhcmUgcmVxdWlyZWQgYW5kIG11c3QgYmUgZXNjYXBlZCBvbiB0aGUgY29tbWFuZCBsaW5lLgorLklQCisubmYKK1xmQiAgICBsb2dnZXIgXC1cLXJmYzU0MjQgXC1cLXNkLWlkIHpvb0AxMjMgICAgICAgICAgICAgICBcXAorXGZCICAgICAgICAgICAgICAgICAgICAgXC1cLXNkLXBhcmFtIHRpZ2VyPVxcImh1bmdyeVxcIiAgIFxcCitcZkIgICAgICAgICAgICAgICAgICAgICBcLVwtc2QtcGFyYW0gemVicmE9XFwicnVubmluZ1xcIiAgXFwKK1xmQiAgICAgICAgICAgICAgICAgICAgIFwtXC1zZC1pZCBtYW5hZ2VyQDEyMyAgICAgICAgICAgXFwKK1xmQiAgICAgICAgICAgICAgICAgICAgIFwtXC1zZC1wYXJhbSBvbk1lZXRpbmc9XFwieWVzXFwiICBcXAorXGZCICAgICAgICAgICAgICAgICAgICAgInRoaXMgaXMgbWVzc2FnZSIKKy5maQorLklQCitwcm9kdWNlczoKKy5JUAorLm5mCitcZkIgIDwxMz4xIDIwMTUtMTAtMDFUMTQ6MDc6NTkuMTY4NjYyKzAyOjAwIHdzIGt6YWsgLSAtIFt0aW1lUXVhbGl0eSB0ektub3duPSIxIiBpc1N5bmNlZD0iMSIgc3luY0FjY3VyYWN5PSIyMTg2MTYiXVt6b29AMTIzIHRpZ2VyPSJodW5ncnkiIHplYnJhPSJydW5uaW5nIl1bbWFuYWdlckAxMjMgb25NZWV0aW5nPSJ5ZXMiXSB0aGlzIGlzIG1lc3NhZ2UKKy5maQorLklQCisuVFAKKy5CUiBcLVwtc2l6ZSAiIFxmSXNpemUKK1NldHMgdGhlIG1heGltdW0gcGVybWl0dGVkIG1lc3NhZ2Ugc2l6ZSB0byBcZklzaXplXGZSLiAgVGhlIGRlZmF1bHQKK2lzIDFLaUIgY2hhcmFjdGVycywgd2hpY2ggaXMgdGhlIGxpbWl0IHRyYWRpdGlvbmFsbHkgdXNlZCBhbmQgc3BlY2lmaWVkCitpbiBSRkMgMzE2NC4gIFdpdGggUkZDIDU0MjQsIHRoaXMgbGltaXQgaGFzIGJlY29tZSBmbGV4aWJsZS4gIEEgZ29vZCBhc3N1bXB0aW9uCitpcyB0aGF0IFJGQyA1NDI0IHJlY2VpdmVycyBjYW4gYXQgbGVhc3QgcHJvY2VzcyA0S2lCIG1lc3NhZ2VzLgorCitNb3N0IHJlY2VpdmVycyBhY2NlcHQgbWVzc2FnZXMgbGFyZ2VyIHRoYW4gMUtpQiBvdmVyIGFueSB0eXBlIG9mIHN5c2xvZworcHJvdG9jb2wuICBBcyBzdWNoLCB0aGUgXGZCXC1cLXNpemVcZlIgb3B0aW9uIGFmZmVjdHMgbG9nZ2VyIGluCithbGwgY2FzZXMgKG5vdCBvbmx5IHdoZW4gXGZCXC1cLXJmYzU0MjRcZlIgd2FzIHVzZWQpLgorCitOb3RlOiB0aGUgbWVzc2FnZS1zaXplIGxpbWl0IGxpbWl0cyB0aGUgb3ZlcmFsbCBtZXNzYWdlIHNpemUsIGluY2x1ZGluZwordGhlIHN5c2xvZyBoZWFkZXIuICBIZWFkZXIgc2l6ZXMgdmFyeSBkZXBlbmRpbmcgb24gdGhlIHNlbGVjdGVkIG9wdGlvbnMgYW5kCit0aGUgaG9zdG5hbWUgbGVuZ3RoLiAgQXMgYSBydWxlIG9mIHRodW1iLCBoZWFkZXJzIGFyZSB1c3VhbGx5IG5vdCBsb25nZXIgdGhhbgorNTAgdG8gODAgY2hhcmFjdGVycy4gIFdoZW4gc2VsZWN0aW5nIGEgbWF4aW11bSBtZXNzYWdlIHNpemUsIGl0IGlzIGltcG9ydGFudAordG8gZW5zdXJlIHRoYXQgdGhlIHJlY2VpdmVyIHN1cHBvcnRzIHRoZSBtYXggc2l6ZSBhcyB3ZWxsLCBvdGhlcndpc2UgbWVzc2FnZXMKK21heSBiZWNvbWUgdHJ1bmNhdGVkLiAgQWdhaW4sIGFzIGEgcnVsZSBvZiB0aHVtYiB0d28gdG8gZm91ciBLaUIgbWVzc2FnZSBzaXplCitzaG91bGQgZ2VuZXJhbGx5IGJlIE9LLCB3aGVyZWFzIGFueXRoaW5nIGxhcmdlciBzaG91bGQgYmUgdmVyaWZpZWQgdG8gd29yay4KKworLlRQCisuQlIgXC1cLXNvY2tldFwtZXJyb3JzIFsgPVxmSW1vZGUgXQorUHJpbnQgZXJyb3JzIGFib3V0IFVuaXggc29ja2V0IGNvbm5lY3Rpb25zLiAgVGhlIFxmSW1vZGVcZlIgY2FuIGJlIGEgdmFsdWUgb2YKK1xmQm9mZlxmUiwgXGZCb25cZlIsIG9yIFxmQmF1dG9cZlIuICBXaGVuIHRoZSBtb2RlIGlzIGF1dG8gbG9nZ2VyIHdpbGwgZGV0ZWN0CitpZiB0aGUgaW5pdCBwcm9jZXNzIGlzIHN5c3RlbWQsIGFuZCBpZiBzbyBhc3N1bXB0aW9uIGlzIG1hZGUgL2Rldi9sb2cgY2FuIGJlCit1c2VkIGVhcmx5IGF0IGJvb3QuICBPdGhlciBpbml0IHN5c3RlbXMgbGFjayBvZiAvZGV2L2xvZyB3aWxsIG5vdCBjYXVzZSBlcnJvcnMKK3RoYXQgaXMgaWRlbnRpY2FsIHdpdGggbWVzc2FnaW5nIHVzaW5nCisuQlIgb3BlbmxvZyAoMykKK3N5c3RlbSBjYWxsLiAgVGhlCisuQlIgbG9nZ2VyICgxKQorYmVmb3JlIHZlcnNpb24gMi4yNiB1c2VkIG9wZW5sb2csIGFuZCBoZW5jZSB3YXMgdW5hYmxlIHRvIGRldGVjdGVkIGxvc3Mgb2YKK21lc3NhZ2VzIHNlbnQgdG8gVW5peCBzb2NrZXRzLgorLklQCitUaGUgZGVmYXVsdCBtb2RlIGlzIFxmQmF1dG9cZlIuICBXaGVuIGVycm9ycyBhcmUgbm90IGVuYWJsZWQgbG9zdCBtZXNzYWdlcyBhcmUKK25vdCBjb21tdW5pY2F0ZWQgYW5kIHdpbGwgcmVzdWx0IHRvIHN1Y2Nlc3NmdWwgcmV0dXJuIHZhbHVlIG9mCisuQlIgbG9nZ2VyICgxKQoraW52b2NhdGlvbi4KKy5UUAorLkJSIFwtVCAsICIgXC1cLXRjcCIKK1VzZSBzdHJlYW0gKFRDUCkgb25seS4gIEJ5IGRlZmF1bHQgdGhlIGNvbm5lY3Rpb24gaXMgdHJpZWQgdG8gdGhlCisuSSBzeXNsb2ctY29ubgorcG9ydCBkZWZpbmVkIGluIC9ldGMvc2VydmljZXMsIHdoaWNoIGlzIG9mdGVuCisuSVIgNjAxIC4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXRhZyAiIFxmSXRhZworTWFyayBldmVyeSBsaW5lIHRvIGJlIGxvZ2dlZCB3aXRoIHRoZSBzcGVjaWZpZWQKKy5JUiB0YWcgLgorVGhlIGRlZmF1bHQgdGFnIGlzIHRoZSBuYW1lIG9mIHRoZSB1c2VyIGxvZ2dlZCBpbiBvbiB0aGUgdGVybWluYWwgKG9yIGEgdXNlcgorbmFtZSBiYXNlZCBvbiBlZmZlY3RpdmUgdXNlciBJRCkuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC1zb2NrZXQgIiBcZklzb2NrZXQKK1dyaXRlIHRvIHRoZSBzcGVjaWZpZWQKKy5JIHNvY2tldAoraW5zdGVhZCBvZiB0byB0aGUgc3lzdGVtIGxvZyBzb2NrZXQuCisuVFAKKy5CIFwtXC0KK0VuZCB0aGUgYXJndW1lbnQgbGlzdC4gIFRoaXMgYWxsb3dzIHRoZSBcZkltZXNzYWdlXGZSCit0byBzdGFydCB3aXRoIGEgaHlwaGVuIChcLSkuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIFJFVFVSTiBWQUxVRQorVGhlCisuQiBsb2dnZXIKK3V0aWxpdHkgZXhpdHMgMCBvbiBzdWNjZXNzLCBhbmQgPjAgaWYgYW4gZXJyb3Igb2NjdXJzLgorLlNIIEZBQ0lMSVRJRVMgQU5EIExFVkVMUworVmFsaWQgZmFjaWxpdHkgbmFtZXMgYXJlOgorLklQCisuVFMKK3RhYig6KTsKK2xlZnQgbCBsLgorXGZCYXV0aAorXGZCYXV0aHByaXZcZlI6Zm9yIHNlY3VyaXR5IGluZm9ybWF0aW9uIG9mIGEgc2Vuc2l0aXZlIG5hdHVyZQorXGZCY3JvbgorXGZCZGFlbW9uCitcZkJmdHAKK1xmQmtlcm5cZlI6Y2Fubm90IGJlIGdlbmVyYXRlZCBmcm9tIHVzZXJzcGFjZSBwcm9jZXNzLCBhdXRvbWF0aWNhbGx5IGNvbnZlcnRlZCB0byBcZkJ1c2VyCitcZkJscHIKK1xmQm1haWwKK1xmQm5ld3MKK1xmQnN5c2xvZworXGZCdXNlcgorXGZCdXVjcAorXGZCbG9jYWwwCisgIHRvOgorXGZCbG9jYWw3CitcZkJzZWN1cml0eVxmUjpkZXByZWNhdGVkIHN5bm9ueW0gZm9yIFxmQmF1dGgKKy5URQorLlBQCitWYWxpZCBsZXZlbCBuYW1lcyBhcmU6CisuSVAKKy5UUwordGFiKDopOworbGVmdCBsIGwuCitcZkJlbWVyZworXGZCYWxlcnQKK1xmQmNyaXQKK1xmQmVycgorXGZCd2FybmluZworXGZCbm90aWNlCitcZkJpbmZvCitcZkJkZWJ1ZworXGZCcGFuaWNcZlI6ZGVwcmVjYXRlZCBzeW5vbnltIGZvciBcZkJlbWVyZworXGZCZXJyb3JcZlI6ZGVwcmVjYXRlZCBzeW5vbnltIGZvciBcZkJlcnIKK1xmQndhcm5cZlI6ZGVwcmVjYXRlZCBzeW5vbnltIGZvciBcZkJ3YXJuaW5nCisuVEUKKy5QUAorRm9yIHRoZSBwcmlvcml0eSBvcmRlciBhbmQgaW50ZW5kZWQgcHVycG9zZXMgb2YgdGhlc2UgZmFjaWxpdGllcyBhbmQgbGV2ZWxzLCBzZWUKKy5CUiBzeXNsb2cgKDMpLgorLlNIIEVYQU1QTEVTCisuQiBsb2dnZXIgU3lzdGVtIHJlYm9vdGVkCisuYnIKKy5CIGxvZ2dlciBcLXAgbG9jYWwwLm5vdGljZSBcLXQgSE9TVElETSBcLWYgL2Rldi9pZG1jCisuYnIKKy5CIGxvZ2dlciBcLW4gbG9naG9zdC5leGFtcGxlLmNvbSBTeXN0ZW0gcmVib290ZWQKKy5TSCBTRUUgQUxTTworLkJSIGpvdXJuYWxjdGwgKDEpLAorLkJSIHN5c2xvZyAoMyksCisuQlIgc3lzdGVtZC5qb3VybmFsLWZpZWxkcyAoNykKKy5TSCBTVEFOREFSRFMKK1RoZQorLkIgbG9nZ2VyCitjb21tYW5kIGlzIGV4cGVjdGVkIHRvIGJlIElFRUUgU3RkIDEwMDMuMiAoIlBPU0lYLjIiKSBjb21wYXRpYmxlLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGxvZ2dlciBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9sb2dnZXIuYyBiL21pc2MtdXRpbHMvbG9nZ2VyLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJkYzU2ZQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbG9nZ2VyLmMKQEAgLTAsMCArMSwxMjk0IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTgzLCAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqIFN1biBNYXIgMjEgMTk5OSAtIEFybmFsZG8gQ2FydmFsaG8gZGUgTWVsbyA8YWNtZUBjb25lY3RpdmEuY29tLmJyPgorICogLSBmaXhlZCBzdHJlcnIoZXJybm8pIGluIGdldHRleHQgY2FsbHMKKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8c3lzL3VuLmg+CisjaW5jbHVkZSA8YXJwYS9pbmV0Lmg+CisjaW5jbHVkZSA8bmV0ZGIuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzeXMvdWlvLmg+CisKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInN0cnYuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisKKyNkZWZpbmUJU1lTTE9HX05BTUVTCisjaW5jbHVkZSA8c3lzbG9nLmg+CisKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKyMgZGVmaW5lIFNEX0pPVVJOQUxfU1VQUFJFU1NfTE9DQVRJT04KKyMgaW5jbHVkZSA8c3lzdGVtZC9zZC1kYWVtb24uaD4KKyMgaW5jbHVkZSA8c3lzdGVtZC9zZC1qb3VybmFsLmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfU1lTX1RJTUVYX0gKKyMgaW5jbHVkZSA8c3lzL3RpbWV4Lmg+CisjZW5kaWYKKworZW51bSB7CisJVFlQRV9VRFAgPSAoMSA8PCAxKSwKKwlUWVBFX1RDUCA9ICgxIDw8IDIpLAorCUFMTF9UWVBFUyA9IFRZUEVfVURQIHwgVFlQRV9UQ1AKK307CisKK2VudW0geworCUFGX1VOSVhfRVJST1JTX09GRiA9IDAsCisJQUZfVU5JWF9FUlJPUlNfT04sCisJQUZfVU5JWF9FUlJPUlNfQVVUTworfTsKKworZW51bSB7CisJT1BUX1BSSU9fUFJFRklYID0gQ0hBUl9NQVggKyAxLAorCU9QVF9KT1VSTkFMRCwKKwlPUFRfUkZDMzE2NCwKKwlPUFRfUkZDNTQyNCwKKwlPUFRfU09DS0VUX0VSUk9SUywKKwlPUFRfTVNHSUQsCisJT1BUX05PQUNULAorCU9QVF9JRCwKKwlPUFRfU1RSVUNUVVJFRF9EQVRBX0lELAorCU9QVF9TVFJVQ1RVUkVEX0RBVEFfUEFSQU0sCisJT1BUX09DVEVUX0NPVU5UCit9OworCisvKiByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSAqLworc3RydWN0IHN0cnVjdHVyZWRfZGF0YSB7CisJY2hhciAqaWQ7CQkvKiBTRC1JRCAqLworCWNoYXIgKipwYXJhbXM7CQkvKiBhcnJheSB3aXRoIFNELVBBUkFNcyAqLworCisJc3RydWN0IGxpc3RfaGVhZAlzZHM7Cit9OworCitzdHJ1Y3QgbG9nZ2VyX2N0bCB7CisJaW50IGZkOworCWludCBwcmk7CisJcGlkX3QgcGlkOwkJCS8qIHplcm8gd2hlbiB1bndhbnRlZCAqLworCWNoYXIgKmhkcjsJCQkvKiB0aGUgc3lzbG9nIGhlYWRlciAoYmFzZWQgb24gcHJvdG9jb2wpICovCisJY2hhciBjb25zdCAqdGFnOworCWNoYXIgKm1zZ2lkOworCWNoYXIgKnVuaXhfc29ja2V0OwkJLyogLXUgPHBhdGg+IG9yIGRlZmF1bHQgdG8gX1BBVEhfREVWTE9HICovCisJY2hhciAqc2VydmVyOworCWNoYXIgKnBvcnQ7CisJaW50IHNvY2tldF90eXBlOworCXNpemVfdCBtYXhfbWVzc2FnZV9zaXplOworCXN0cnVjdCBsaXN0X2hlYWQgdXNlcl9zZHM7CS8qIHVzZXIgZGVmaW5lZCByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSAqLworCXN0cnVjdCBsaXN0X2hlYWQgcmVzZXJ2ZWRfc2RzOwkvKiBzdGFuZGFyZCByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSAqLworCisJdm9pZCAoKnN5c2xvZ2ZwKShzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsKTsKKworCXVuc2lnbmVkIGludAorCQkJdW5peF9zb2NrZXRfZXJyb3JzOjEsCS8qIHdoZXRoZXIgdG8gcmVwb3J0IG9yIG5vdCBlcnJvcnMgKi8KKwkJCW5vYWN0OjEsCQkvKiBkbyBub3Qgd3JpdGUgdG8gc29ja2V0cyAqLworCQkJcHJpb19wcmVmaXg6MSwJCS8qIHJlYWQgcHJpb3JpdHkgZnJvbSBpbnB1dCAqLworCQkJc3RkZXJyX3ByaW50b3V0OjEsCS8qIG91dHB1dCBtZXNzYWdlIHRvIHN0ZGVyciAqLworCQkJcmZjNTQyNF90aW1lOjEsCQkvKiBpbmNsdWRlIHRpbWUgc3RhbXAgKi8KKwkJCXJmYzU0MjRfdHE6MSwJCS8qIGluY2x1ZGUgdGltZSBxdWFsaXR5IG1hcmt1cCAqLworCQkJcmZjNTQyNF9ob3N0OjEsCQkvKiBpbmNsdWRlIGhvc3RuYW1lICovCisJCQlza2lwX2VtcHR5X2xpbmVzOjEsCS8qIGRvIG5vdCBzZW5kIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlcyAqLworCQkJb2N0ZXRfY291bnQ6MTsJCS8qIHVzZSBSRkM2NTg3IG9jdGV0IGNvdW50aW5nICovCit9OworCisjZGVmaW5lIGlzX2Nvbm5lY3RlZChfY3RsKQkoKF9jdGwpLT5mZCA+PSAwKQorc3RhdGljIHZvaWQgbG9nZ2VyX3Jlb3BlbihzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsKTsKKworLyoKKyAqIEZvciB0ZXN0cyB3ZSB3YW50IHRvIGJlIGFibGUgdG8gY29udHJvbCBkYXRldGltZSBvdXRwdXRzCisgKi8KKyNpZmRlZiBURVNUX0xPR0dFUgorc3RhdGljIGlubGluZSBpbnQgbG9nZ2VyX2dldHRpbWVvZmRheShzdHJ1Y3QgdGltZXZhbCAqdHYsIHN0cnVjdCB0aW1lem9uZSAqdHopCit7CisJY2hhciAqc3RyID0gZ2V0ZW52KCJMT0dHRVJfVEVTVF9USU1FT0ZEQVkiKTsKKwl1aW50bWF4X3Qgc2VjLCB1c2VjOworCisJaWYgKHN0ciAmJiBzc2NhbmYoc3RyLCAiJWp1LiVqdSIsICZzZWMsICZ1c2VjKSA9PSAyKSB7CisJCXR2LT50dl9zZWMgPSBzZWM7CisJCXR2LT50dl91c2VjID0gdXNlYzsKKwkJcmV0dXJuIHR2LT50dl9zZWMgPj0gMCAmJiB0di0+dHZfdXNlYyA+PSAwID8gMCA6IC1FSU5WQUw7CisJfQorCisJcmV0dXJuIGdldHRpbWVvZmRheSh0diwgdHopOworfQorCitzdGF0aWMgaW5saW5lIGNoYXIgKmxvZ2dlcl94Z2V0aG9zdG5hbWUodm9pZCkKK3sKKwljaGFyICpzdHIgPSBnZXRlbnYoIkxPR0dFUl9URVNUX0hPU1ROQU1FIik7CisJcmV0dXJuIHN0ciA/IHhzdHJkdXAoc3RyKSA6IHhnZXRob3N0bmFtZSgpOworfQorCitzdGF0aWMgaW5saW5lIHBpZF90IGxvZ2dlcl9nZXRwaWQodm9pZCkKK3sKKwljaGFyICpzdHIgPSBnZXRlbnYoIkxPR0dFUl9URVNUX0dFVFBJRCIpOworCXVuc2lnbmVkIGludCBwaWQ7CisKKwlpZiAoc3RyICYmIHNzY2FuZihzdHIsICIldSIsICZwaWQpID09IDEpCisJCXJldHVybiBwaWQ7CisJcmV0dXJuIGdldHBpZCgpOworfQorCisKKyN1bmRlZiBIQVZFX05UUF9HRVRUSU1FCQkvKiBmb3JjZSB0byBkZWZhdWx0IG5vbi1OVFAgKi8KKworI2Vsc2UgLyogIVRFU1RfTE9HR0VSICovCisjIGRlZmluZSBsb2dnZXJfZ2V0dGltZW9mZGF5KHgsIHkpCWdldHRpbWVvZmRheSh4LCB5KQorIyBkZWZpbmUgbG9nZ2VyX3hnZXRob3N0bmFtZQkJeGdldGhvc3RuYW1lCisjIGRlZmluZSBsb2dnZXJfZ2V0cGlkCQkJZ2V0cGlkCisjZW5kaWYKKworCitzdGF0aWMgaW50IGRlY29kZShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBDT0RFICpjb2RldGFiKQoreworCXJlZ2lzdGVyIGNvbnN0IENPREUgKmM7CisKKwlpZiAobmFtZSA9PSBOVUxMIHx8ICpuYW1lID09ICdcMCcpCisJCXJldHVybiAtMTsKKwlpZiAoaXNkaWdpdCgqbmFtZSkpIHsKKwkJaW50IG51bTsKKwkJY2hhciAqZW5kID0gTlVMTDsKKworCQllcnJubyA9IDA7CisJCW51bSA9IHN0cnRvbChuYW1lLCAmZW5kLCAxMCk7CisJCWlmIChlcnJubyB8fCBuYW1lID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQkJcmV0dXJuIC0xOworCQlmb3IgKGMgPSBjb2RldGFiOyBjLT5jX25hbWU7IGMrKykKKwkJCWlmIChudW0gPT0gYy0+Y192YWwpCisJCQkJcmV0dXJuIG51bTsKKwkJcmV0dXJuIC0xOworCX0KKwlmb3IgKGMgPSBjb2RldGFiOyBjLT5jX25hbWU7IGMrKykKKwkJaWYgKCFzdHJjYXNlY21wKG5hbWUsIGMtPmNfbmFtZSkpCisJCQlyZXR1cm4gKGMtPmNfdmFsKTsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBwZW5jb2RlKGNoYXIgKnMpCit7CisJaW50IGZhY2lsaXR5LCBsZXZlbDsKKwljaGFyICpzZXBhcmF0b3I7CisKKwlzZXBhcmF0b3IgPSBzdHJjaHIocywgJy4nKTsKKwlpZiAoc2VwYXJhdG9yKSB7CisJCSpzZXBhcmF0b3IgPSAnXDAnOworCQlmYWNpbGl0eSA9IGRlY29kZShzLCBmYWNpbGl0eW5hbWVzKTsKKwkJaWYgKGZhY2lsaXR5IDwgMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIiksIHMpOworCQlzID0gKytzZXBhcmF0b3I7CisJfSBlbHNlCisJCWZhY2lsaXR5ID0gTE9HX1VTRVI7CisJbGV2ZWwgPSBkZWNvZGUocywgcHJpb3JpdHluYW1lcyk7CisJaWYgKGxldmVsIDwgMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiKSwgcyk7CisJaWYgKGZhY2lsaXR5ID09IExPR19LRVJOKQorCQlmYWNpbGl0eSA9IExPR19VU0VSOwkvKiBrZXJuIGlzIGZvcmJpZGRlbiAqLworCXJldHVybiAoKGxldmVsICYgTE9HX1BSSU1BU0spIHwgKGZhY2lsaXR5ICYgTE9HX0ZBQ01BU0spKTsKK30KKworc3RhdGljIGludCB1bml4X3NvY2tldChzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsLCBjb25zdCBjaGFyICpwYXRoLCBpbnQgKnNvY2tldF90eXBlKQoreworCWludCBmZCwgaSwgdHlwZSA9IC0xOworCXN0YXRpYyBzdHJ1Y3Qgc29ja2FkZHJfdW4gc19hZGRyOwkvKiBBRl9VTklYIGFkZHJlc3Mgb2YgbG9jYWwgbG9nZ2VyICovCisKKwlpZiAoc3RybGVuKHBhdGgpID49IHNpemVvZihzX2FkZHIuc3VuX3BhdGgpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciKSwgcGF0aCk7CisKKwlzX2FkZHIuc3VuX2ZhbWlseSA9IEFGX1VOSVg7CisJc3RyY3B5KHNfYWRkci5zdW5fcGF0aCwgcGF0aCk7CisKKwlmb3IgKGkgPSAyOyBpOyBpLS0pIHsKKwkJaW50IHN0ID0gLTE7CisKKwkJaWYgKGkgPT0gMiAmJiAqc29ja2V0X3R5cGUgJiBUWVBFX1VEUCkgeworCQkJc3QgPSBTT0NLX0RHUkFNOworCQkJdHlwZSA9IFRZUEVfVURQOworCQl9CisJCWlmIChpID09IDEgJiYgKnNvY2tldF90eXBlICYgVFlQRV9UQ1ApIHsKKwkJCXN0ID0gU09DS19TVFJFQU07CisJCQl0eXBlID0gVFlQRV9UQ1A7CisJCX0KKwkJaWYgKHN0ID09IC0xIHx8IChmZCA9IHNvY2tldChBRl9VTklYLCBzdCwgMCkpID09IC0xKQorCQkJY29udGludWU7CisJCWlmIChjb25uZWN0KGZkLCAoc3RydWN0IHNvY2thZGRyICopJnNfYWRkciwgc2l6ZW9mKHNfYWRkcikpID09IC0xKSB7CisJCQljbG9zZShmZCk7CisJCQljb250aW51ZTsKKwkJfQorCQlicmVhazsKKwl9CisKKwlpZiAoaSA9PSAwKSB7CisJCWlmIChjdGwtPnVuaXhfc29ja2V0X2Vycm9ycykKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oInNvY2tldCAlcyIpLCBwYXRoKTsKKworCQkvKiB3cml0ZV9vdXRwdXQoKSB3aWxsIHRyeSB0byByZWNvbm5lY3QgKi8KKwkJcmV0dXJuIC0xOworCX0KKworCS8qIHJlcGxhY2UgQUxMX1RZUEVTIHdpdGggdGhlIHJlYWwgVFlQRV8qICovCisJaWYgKHR5cGUgPiAwICYmIHR5cGUgIT0gKnNvY2tldF90eXBlKQorCQkqc29ja2V0X3R5cGUgPSB0eXBlOworCXJldHVybiBmZDsKK30KKworc3RhdGljIGludCBpbmV0X3NvY2tldChjb25zdCBjaGFyICpzZXJ2ZXJuYW1lLCBjb25zdCBjaGFyICpwb3J0LCBpbnQgKnNvY2tldF90eXBlKQoreworCWludCBmZCwgZXJyY29kZSwgaSwgdHlwZSA9IC0xOworCXN0cnVjdCBhZGRyaW5mbyBoaW50cywgKnJlczsKKwljb25zdCBjaGFyICpwID0gcG9ydDsKKworCWZvciAoaSA9IDI7IGk7IGktLSkgeworCQltZW1zZXQoJmhpbnRzLCAwLCBzaXplb2YoaGludHMpKTsKKwkJaWYgKGkgPT0gMiAmJiAqc29ja2V0X3R5cGUgJiBUWVBFX1VEUCkgeworCQkJaGludHMuYWlfc29ja3R5cGUgPSBTT0NLX0RHUkFNOworCQkJdHlwZSA9IFRZUEVfVURQOworCQkJaWYgKHBvcnQgPT0gTlVMTCkKKwkJCQlwID0gInN5c2xvZyI7CisJCX0KKwkJaWYgKGkgPT0gMSAmJiAqc29ja2V0X3R5cGUgJiBUWVBFX1RDUCkgeworCQkJaGludHMuYWlfc29ja3R5cGUgPSBTT0NLX1NUUkVBTTsKKwkJCXR5cGUgPSBUWVBFX1RDUDsKKwkJCWlmIChwb3J0ID09IE5VTEwpCisJCQkJcCA9ICJzeXNsb2ctY29ubiI7CisJCX0KKwkJaWYgKGhpbnRzLmFpX3NvY2t0eXBlID09IDApCisJCQljb250aW51ZTsKKwkJaGludHMuYWlfZmFtaWx5ID0gQUZfVU5TUEVDOworCQllcnJjb2RlID0gZ2V0YWRkcmluZm8oc2VydmVybmFtZSwgcCwgJmhpbnRzLCAmcmVzKTsKKwkJaWYgKGVycmNvZGUgIT0gMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIiksCisJCQkgICAgIHNlcnZlcm5hbWUsIHAsIGdhaV9zdHJlcnJvcihlcnJjb2RlKSk7CisJCWlmICgoZmQgPSBzb2NrZXQocmVzLT5haV9mYW1pbHksIHJlcy0+YWlfc29ja3R5cGUsIHJlcy0+YWlfcHJvdG9jb2wpKSA9PSAtMSkgeworCQkJZnJlZWFkZHJpbmZvKHJlcyk7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoY29ubmVjdChmZCwgcmVzLT5haV9hZGRyLCByZXMtPmFpX2FkZHJsZW4pID09IC0xKSB7CisJCQlmcmVlYWRkcmluZm8ocmVzKTsKKwkJCWNsb3NlKGZkKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJZnJlZWFkZHJpbmZvKHJlcyk7CisJCWJyZWFrOworCX0KKworCWlmIChpID09IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIiksIHNlcnZlcm5hbWUsIHApOworCisJLyogcmVwbGFjZSBBTExfVFlQRVMgd2l0aCB0aGUgcmVhbCBUWVBFXyogKi8KKwlpZiAodHlwZSA+IDAgJiYgdHlwZSAhPSAqc29ja2V0X3R5cGUpCisJCSpzb2NrZXRfdHlwZSA9IHR5cGU7CisJcmV0dXJuIGZkOworfQorCisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECitzdGF0aWMgaW50IGpvdXJuYWxkX2VudHJ5KHN0cnVjdCBsb2dnZXJfY3RsICpjdGwsIEZJTEUgKmZwKQoreworCXN0cnVjdCBpb3ZlYyAqaW92ZWM7CisJY2hhciAqYnVmID0gTlVMTDsKKwlzc2l6ZV90IHN6OworCWludCBuLCBsaW5lcywgdmVjdG9ycyA9IDgsIHJldCA9IDA7CisJc2l6ZV90IGR1bW15ID0gMDsKKworCWlvdmVjID0geG1hbGxvYyh2ZWN0b3JzICogc2l6ZW9mKHN0cnVjdCBpb3ZlYykpOworCWZvciAobGluZXMgPSAwOyAvKiBub3RoaW5nICovIDsgbGluZXMrKykgeworCQlidWYgPSBOVUxMOworCQlzeiA9IGdldGxpbmUoJmJ1ZiwgJmR1bW15LCBmcCk7CisJCWlmIChzeiA9PSAtMSB8fAorCQkgICAoc3ogPSBydHJpbV93aGl0ZXNwYWNlKCh1bnNpZ25lZCBjaGFyICopIGJ1ZikpID09IDApIHsKKwkJCWZyZWUoYnVmKTsKKwkJCWJyZWFrOworCQl9CisJCWlmIChsaW5lcyA9PSB2ZWN0b3JzKSB7CisJCQl2ZWN0b3JzICo9IDI7CisJCQlpZiAoSU9WX01BWCA8IHZlY3RvcnMpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIpLCBJT1ZfTUFYKTsKKwkJCWlvdmVjID0geHJlYWxsb2MoaW92ZWMsIHZlY3RvcnMgKiBzaXplb2Yoc3RydWN0IGlvdmVjKSk7CisJCX0KKwkJaW92ZWNbbGluZXNdLmlvdl9iYXNlID0gYnVmOworCQlpb3ZlY1tsaW5lc10uaW92X2xlbiA9IHN6OworCX0KKworCWlmICghY3RsLT5ub2FjdCkKKwkJcmV0ID0gc2Rfam91cm5hbF9zZW5kdihpb3ZlYywgbGluZXMpOworCWlmIChjdGwtPnN0ZGVycl9wcmludG91dCkgeworCQlmb3IgKG4gPSAwOyBuIDwgbGluZXM7IG4rKykKKwkJCWZwcmludGYoc3RkZXJyLCAiJXNcbiIsIChjaGFyICopIGlvdmVjW25dLmlvdl9iYXNlKTsKKwl9CisJZm9yIChuID0gMDsgbiA8IGxpbmVzOyBuKyspCisJCWZyZWUoaW92ZWNbbl0uaW92X2Jhc2UpOworCWZyZWUoaW92ZWMpOworCXJldHVybiByZXQ7Cit9CisjZW5kaWYKKworc3RhdGljIGNoYXIgY29uc3QgKnhnZXRsb2dpbih2b2lkKQoreworCWNoYXIgY29uc3QgKmNwOworCXN0cnVjdCBwYXNzd2QgKnB3OworCisJaWYgKCEoY3AgPSBnZXRsb2dpbigpKSB8fCAhKmNwKQorCQljcCA9IChwdyA9IGdldHB3dWlkKGdldGV1aWQoKSkpPyBwdy0+cHdfbmFtZSA6ICI8c29tZW9uZT4iOworCXJldHVybiBjcDsKK30KKworLyogdGhpcyBjcmVhdGVzIGEgdGltZXN0YW1wIGJhc2VkIG9uIGN1cnJlbnQgdGltZSBhY2NvcmRpbmcgdG8gdGhlCisgKiBmaW5lIHJ1bGVzIG9mIFJGQzMxNjQsIG1vc3QgaW1wb3J0YW50bHkgaXQgZW5zdXJlcyBpbiBhIHBvcnRhYmxlCisgKiB3YXkgdGhhdCB0aGUgbW9udGggZGF5IGlzIGNvcnJlY3RseSB3cml0dGVuICh3aXRoIGEgU1AgaW5zdGVhZAorICogb2YgYSBsZWFkaW5nIDApLiBUaGUgZnVuY3Rpb24gdXNlcyBhIHN0YXRpYyBidWZmZXIgd2hpY2ggaXMKKyAqIG92ZXJ3cml0dGVuIG9uIHRoZSBuZXh0IGNhbGwgKGp1c3QgbGlrZSBjdGltZSgpIGRvZXMpLgorICovCitzdGF0aWMgY2hhciBjb25zdCAqcmZjMzE2NF9jdXJyZW50X3RpbWUodm9pZCkKK3sKKwlzdGF0aWMgY2hhciB0aW1lWzMyXTsKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKwlzdHJ1Y3QgdG0gKnRtOworCXN0YXRpYyBjaGFyIGNvbnN0ICogY29uc3QgbW9udGhuYW1lc1tdID0geworCQkiSmFuIiwgIkZlYiIsICJNYXIiLCAiQXByIiwgIk1heSIsICJKdW4iLCAiSnVsIiwgIkF1ZyIsCisJCSJTZXAiLCAiT2N0IiwgIk5vdiIsICJEZWMiCisJfTsKKworCWxvZ2dlcl9nZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwl0bSA9IGxvY2FsdGltZSgmdHYudHZfc2VjKTsKKwlzbnByaW50Zih0aW1lLCBzaXplb2YodGltZSksIiVzICUyZCAlMi4yZDolMi4yZDolMi4yZCIsCisJCW1vbnRobmFtZXNbdG0tPnRtX21vbl0sIHRtLT50bV9tZGF5LAorCQl0bS0+dG1faG91ciwgdG0tPnRtX21pbiwgdG0tPnRtX3NlYyk7CisJcmV0dXJuIHRpbWU7Cit9CisKKyNkZWZpbmUgbmV4dF9pb3ZlYyhhcnksIGlkeCkgX19leHRlbnNpb25fXyAoewkJXAorCQlhc3NlcnQoQVJSQVlfU0laRShhcnkpID4gKHNpemVfdClpZHgpOwlcCisJCWFzc2VydChpZHggPj0gMCk7CQkJXAorCQkmYXJ5W2lkeCsrXTsJCQkJXAorfSkKKworI2RlZmluZSBpb3ZlY19hZGRfc3RyaW5nKGFyeSwgaWR4LCBzdHIsIGxlbikJCVwKKwlkbyB7CQkJCQkJXAorCQlzdHJ1Y3QgaW92ZWMgKnYgPSBuZXh0X2lvdmVjKGFyeSwgaWR4KTsJXAorCQl2LT5pb3ZfYmFzZSA9ICh2b2lkICopIHN0cjsJCVwKKwkJdi0+aW92X2xlbiA9IGxlbiA/IGxlbiA6IHN0cmxlbihzdHIpOwlcCisJfSB3aGlsZSAoMCkKKworI2RlZmluZSBpb3ZlY19tZW1jbXAoYXJ5LCBpZHgsIHN0ciwgbGVuKQkJXAorCQltZW1jbXAoKGFyeSlbKGlkeCkgLSAxXS5pb3ZfYmFzZSwgc3RyLCBsZW4pCisKKy8qIHdyaXRlcyBnZW5lcmF0ZWQgYnVmZmVyIHRvIGRlc2lyZWQgZGVzdGluYXRpb24uIEZvciBUQ1Agc3lzbG9nLAorICogd2UgdXNlIFJGQzY1ODcgb2N0ZXQtc3R1ZmZpbmcgKHVubGVzcyBvY3RldC1jb3VudGluZyBpcyBzZWxlY3RlZCkuCisgKiBUaGlzIGlzIG5vdCBncmVhdCwgYnV0IGRvaW5nIGZ1bGwgYmxvd24gUkZDNTQyNSAoVExTKSBsb29rcyBsaWtlCisgKiBpdCBpcyB0b28gbXVjaCBmb3IgdGhlIGxvZ2dlciB1dGlsaXR5LiBJZiBvY3RldC1jb3VudGluZyBpcworICogc2VsZWN0ZWQsIHdlIHVzZSB0aGF0LgorICovCitzdGF0aWMgdm9pZCB3cml0ZV9vdXRwdXQoc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCwgY29uc3QgY2hhciAqY29uc3QgbXNnKQoreworCXN0cnVjdCBpb3ZlYyBpb3ZbNF07CisJaW50IGlvdmxlbiA9IDA7CisJY2hhciAqb2N0ZXQgPSBOVUxMOworCisJLyogaW5pdGlhbCBjb25uZWN0IGZhaWxlZD8gKi8KKwlpZiAoIWN0bC0+bm9hY3QgJiYgIWlzX2Nvbm5lY3RlZChjdGwpKQorCQlsb2dnZXJfcmVvcGVuKGN0bCk7CisKKwkvKiAxKSBvY3RlbiBjb3VudCAqLworCWlmIChjdGwtPm9jdGV0X2NvdW50KSB7CisJCXNpemVfdCBsZW4gPSB4YXNwcmludGYoJm9jdGV0LCAiJXp1ICIsIHN0cmxlbihjdGwtPmhkcikgKyBzdHJsZW4obXNnKSk7CisJCWlvdmVjX2FkZF9zdHJpbmcoaW92LCBpb3ZsZW4sIG9jdGV0LCBsZW4pOworCX0KKworCS8qIDIpIGhlYWRlciAqLworCWlvdmVjX2FkZF9zdHJpbmcoaW92LCBpb3ZsZW4sIGN0bC0+aGRyLCAwKTsKKworCS8qIDMpIG1lc3NhZ2UgKi8KKwlpb3ZlY19hZGRfc3RyaW5nKGlvdiwgaW92bGVuLCBtc2csIDApOworCisJaWYgKCFjdGwtPm5vYWN0ICYmIGlzX2Nvbm5lY3RlZChjdGwpKSB7CisJCXN0cnVjdCBtc2doZHIgbWVzc2FnZSA9IHsgMCB9OworI2lmZGVmIFNDTV9DUkVERU5USUFMUworCQlzdHJ1Y3QgY21zZ2hkciAqY21ocDsKKwkJc3RydWN0IHVjcmVkICpjcmVkOworCQl1bmlvbiB7CisJCQlzdHJ1Y3QgY21zZ2hkciBjbWg7CisJCQljaGFyICAgY29udHJvbFtDTVNHX1NQQUNFKHNpemVvZihzdHJ1Y3QgdWNyZWQpKV07CisJCX0gY2J1ZjsKKyNlbmRpZgorCisJCS8qIDQpIGFkZCBleHRyYSBcbiB0byBtYWtlIHN1cmUgbWVzc2FnZSBpcyB0ZXJtaW5hdGVkICovCisJCWlmICgoY3RsLT5zb2NrZXRfdHlwZSA9PSBUWVBFX1RDUCkgJiYgIWN0bC0+b2N0ZXRfY291bnQpCisJCQlpb3ZlY19hZGRfc3RyaW5nKGlvdiwgaW92bGVuLCAiXG4iLCAxKTsKKworCQltZXNzYWdlLm1zZ19pb3YgPSBpb3Y7CisJCW1lc3NhZ2UubXNnX2lvdmxlbiA9IGlvdmxlbjsKKworI2lmZGVmIFNDTV9DUkVERU5USUFMUworCQkvKiBzeXNsb2cvam91cm5hbGQgbWF5IGZvbGxvdyBsb2NhbCBzb2NrZXQgY3JlZGVudGlhbHMgcmF0aGVyCisJCSAqIHRoYW4gaW4gdGhlIG1lc3NhZ2UgUElELiBJZiB3ZSB1c2UgLS1pZCBhcyByb290IHRoYW4gd2UgY2FuCisJCSAqIGZvcmNlIGtlcm5lbCB0byBhY2NlcHQgYW5vdGhlciB2YWxpZCBQSUQgdGhhbiB0aGUgcmVhbCBsb2dnZXIoMSkKKwkJICogUElELgorCQkgKi8KKwkJaWYgKGN0bC0+cGlkICYmICFjdGwtPnNlcnZlciAmJiBjdGwtPnBpZCAhPSBnZXRwaWQoKQorCQkgICAgJiYgZ2V0ZXVpZCgpID09IDAgJiYga2lsbChjdGwtPnBpZCwgMCkgPT0gMCkgeworCisJCQltZXNzYWdlLm1zZ19jb250cm9sID0gY2J1Zi5jb250cm9sOworCQkJbWVzc2FnZS5tc2dfY29udHJvbGxlbiA9IENNU0dfU1BBQ0Uoc2l6ZW9mKHN0cnVjdCB1Y3JlZCkpOworCisJCQljbWhwID0gQ01TR19GSVJTVEhEUigmbWVzc2FnZSk7CisJCQljbWhwLT5jbXNnX2xlbiA9IENNU0dfTEVOKHNpemVvZihzdHJ1Y3QgdWNyZWQpKTsKKwkJCWNtaHAtPmNtc2dfbGV2ZWwgPSBTT0xfU09DS0VUOworCQkJY21ocC0+Y21zZ190eXBlID0gU0NNX0NSRURFTlRJQUxTOworCQkJY3JlZCA9IChzdHJ1Y3QgdWNyZWQgKikgQ01TR19EQVRBKGNtaHApOworCisJCQljcmVkLT5waWQgPSBjdGwtPnBpZDsKKwkJfQorI2VuZGlmCisJCS8qIE5vdGUgdGhhdCBsb2dnZXIoMSkgbWF5YmUgZXhlY3V0ZWQgZm9yIGxvbmcgdGltZSAoYXMgcGlwZQorCQkgKiByZWFkZXIpIGFuZCBjb25uZWN0aW9uIGVuZHBvaW50IChzeXNsb2dkKSBtYXkgYmUgcmVzdGFydGVkLgorCQkgKgorCQkgKiBUaGUgbGliYyBzeXNsb2coKSBmdW5jdGlvbiByZWNvbm5lY3RzIG9uIGZhaWxlZCBzZW5kKCkuCisJCSAqIExldCdzIGRvIHRoZSBzYW1lIHRvIGJlIHJvYnVzdC4gICAgW2t6YWsgLS0gT2N0IDIwMTddCisJCSAqCisJCSAqIE1TR19OT1NJR05BTCBpcyBQT1NJWC4xLTIwMDggY29tcGF0aWJsZSwgYnV0IGl0IGZvciBleGFtcGxlCisJCSAqIG5vdCBzdXBwb3J0ZWQgYnkgYXBwbGUtZGFyd2luMTUuNi4wLgorCQkgKi8KKyNpZm5kZWYgTVNHX05PU0lHTkFMCisjIGRlZmluZSBNU0dfTk9TSUdOQUwgMAorI2VuZGlmCisJCWlmIChzZW5kbXNnKGN0bC0+ZmQsICZtZXNzYWdlLCBNU0dfTk9TSUdOQUwpIDwgMCkgeworCQkJbG9nZ2VyX3Jlb3BlbihjdGwpOworCQkJaWYgKHNlbmRtc2coY3RsLT5mZCwgJm1lc3NhZ2UsIE1TR19OT1NJR05BTCkgPCAwKQorCQkJCXdhcm4oXygic2VuZCBtZXNzYWdlIGZhaWxlZCIpKTsKKwkJfQorCX0KKworCWlmIChjdGwtPnN0ZGVycl9wcmludG91dCkgeworCQkvKiBtYWtlIHN1cmUgaXQncyB0ZXJtaW5hdGVkIGZvciBzdGRlcnIgKi8KKwkJaWYgKGlvdmVjX21lbWNtcChpb3YsIGlvdmxlbiwgIlxuIiwgMSkgIT0gMCkKKwkJCWlvdmVjX2FkZF9zdHJpbmcoaW92LCBpb3ZsZW4sICJcbiIsIDEpOworCisJCWlnbm9yZV9yZXN1bHQoIHdyaXRldihTVERFUlJfRklMRU5PLCBpb3YsIGlvdmxlbikgKTsKKwl9CisKKwlmcmVlKG9jdGV0KTsKK30KKworI2RlZmluZSBOSUxWQUxVRSAiLSIKK3N0YXRpYyB2b2lkIHN5c2xvZ19yZmMzMTY0X2hlYWRlcihzdHJ1Y3QgbG9nZ2VyX2N0bCAqY29uc3QgY3RsKQoreworCWNoYXIgcGlkWzMwXSwgKmhvc3RuYW1lOworCisJKnBpZCA9ICdcMCc7CisJaWYgKGN0bC0+cGlkKQorCQlzbnByaW50ZihwaWQsIHNpemVvZihwaWQpLCAiWyVkXSIsIGN0bC0+cGlkKTsKKworCWlmICgoaG9zdG5hbWUgPSBsb2dnZXJfeGdldGhvc3RuYW1lKCkpKSB7CisJCWNoYXIgKmRvdCA9IHN0cmNocihob3N0bmFtZSwgJy4nKTsKKwkJaWYgKGRvdCkKKwkJCSpkb3QgPSAnXDAnOworCX0gZWxzZQorCQlob3N0bmFtZSA9IHhzdHJkdXAoTklMVkFMVUUpOworCisJeGFzcHJpbnRmKCZjdGwtPmhkciwgIjwlZD4lLjE1cyAlcyAlLjIwMHMlczogIiwKKwkJIGN0bC0+cHJpLCByZmMzMTY0X2N1cnJlbnRfdGltZSgpLCBob3N0bmFtZSwgY3RsLT50YWcsIHBpZCk7CisKKwlmcmVlKGhvc3RuYW1lKTsKK30KKworc3RhdGljIGlubGluZSBzdHJ1Y3QgbGlzdF9oZWFkICpnZXRfdXNlcl9zdHJ1Y3R1cmVkX2RhdGEoc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCkKK3sKKwlyZXR1cm4gJmN0bC0+dXNlcl9zZHM7Cit9CisKK3N0YXRpYyBpbmxpbmUgc3RydWN0IGxpc3RfaGVhZCAqZ2V0X3Jlc2VydmVkX3N0cnVjdHVyZWRfZGF0YShzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsKQoreworCXJldHVybiAmY3RsLT5yZXNlcnZlZF9zZHM7Cit9CisKK3N0YXRpYyBpbnQgaGFzX3N0cnVjdHVyZWRfZGF0YV9pZChzdHJ1Y3QgbGlzdF9oZWFkICpscywgY29uc3QgY2hhciAqaWQpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWlmICghbHMgfHwgbGlzdF9lbXB0eShscykpCisJCXJldHVybiAwOworCisJbGlzdF9mb3JfZWFjaChwLCBscykgeworCQlzdHJ1Y3Qgc3RydWN0dXJlZF9kYXRhICpzZCA9IGxpc3RfZW50cnkocCwgc3RydWN0IHN0cnVjdHVyZWRfZGF0YSwgc2RzKTsKKwkJaWYgKHNkLT5pZCAmJiBzdHJjbXAoc2QtPmlkLCBpZCkgPT0gMCkKKwkJCXJldHVybiAxOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBhZGRfc3RydWN0dXJlZF9kYXRhX2lkKHN0cnVjdCBsaXN0X2hlYWQgKmxzLCBjb25zdCBjaGFyICppZCkKK3sKKwlzdHJ1Y3Qgc3RydWN0dXJlZF9kYXRhICpzZDsKKworCWFzc2VydChpZCk7CisKKwlpZiAoaGFzX3N0cnVjdHVyZWRfZGF0YV9pZChscywgaWQpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIpLCBpZCk7CisKKwlzZCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpzZCkpOworCUlOSVRfTElTVF9IRUFEKCZzZC0+c2RzKTsKKwlzZC0+aWQgPSB4c3RyZHVwKGlkKTsKKworCWxpc3RfYWRkX3RhaWwoJnNkLT5zZHMsIGxzKTsKK30KKworc3RhdGljIHZvaWQgYWRkX3N0cnVjdHVyZWRfZGF0YV9wYXJhbShzdHJ1Y3QgbGlzdF9oZWFkICpscywgY29uc3QgY2hhciAqcGFyYW0pCit7CisJc3RydWN0IHN0cnVjdHVyZWRfZGF0YSAqc2Q7CisKKwlpZiAobGlzdF9lbXB0eShscykpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIiksIHBhcmFtKTsKKworCWFzc2VydChwYXJhbSk7CisKKwlzZCA9IGxpc3RfbGFzdF9lbnRyeShscywgc3RydWN0IHN0cnVjdHVyZWRfZGF0YSwgc2RzKTsKKworCWlmIChzdHJ2X2V4dGVuZCgmc2QtPnBhcmFtcywgIHBhcmFtKSkKKwkJZXJyX29vbSgpOworfQorCitzdGF0aWMgdm9pZCBhZGRfc3RydWN0dXJlZF9kYXRhX3BhcmFtZihzdHJ1Y3QgbGlzdF9oZWFkICpscywgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJc3RydWN0IHN0cnVjdHVyZWRfZGF0YSAqc2Q7CisJdmFfbGlzdCBhcDsKKwlpbnQgeDsKKworCWFzc2VydCghbGlzdF9lbXB0eShscykpOworCWFzc2VydChmbXQpOworCisJc2QgPSBsaXN0X2xhc3RfZW50cnkobHMsIHN0cnVjdCBzdHJ1Y3R1cmVkX2RhdGEsIHNkcyk7CisJdmFfc3RhcnQoYXAsIGZtdCk7CisJeCA9IHN0cnZfZXh0ZW5kdigmc2QtPnBhcmFtcywgZm10LCBhcCk7CisJdmFfZW5kKGFwKTsKKworCWlmICh4KQorCQllcnJfb29tKCk7Cit9CisKK3N0YXRpYyBjaGFyICpzdHJkdXBfc3RydWN0dXJlZF9kYXRhKHN0cnVjdCBzdHJ1Y3R1cmVkX2RhdGEgKnNkKQoreworCWNoYXIgKnJlcywgKnRtcDsKKworCWlmIChzdHJ2X2lzZW1wdHkoc2QtPnBhcmFtcykpCisJCXJldHVybiBOVUxMOworCisJeGFzcHJpbnRmKCZyZXMsICJbJXMgJXNdIiwgc2QtPmlkLAorCQkJKHRtcCA9IHN0cnZfam9pbihzZC0+cGFyYW1zLCAiICIpKSk7CisJZnJlZSh0bXApOworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBjaGFyICpzdHJkdXBfc3RydWN0dXJlZF9kYXRhX2xpc3Qoc3RydWN0IGxpc3RfaGVhZCAqbHMpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKwljaGFyICpyZXMgPSBOVUxMOworCisJbGlzdF9mb3JfZWFjaChwLCBscykgeworCQlzdHJ1Y3Qgc3RydWN0dXJlZF9kYXRhICpzZCA9IGxpc3RfZW50cnkocCwgc3RydWN0IHN0cnVjdHVyZWRfZGF0YSwgc2RzKTsKKwkJY2hhciAqb25lID0gc3RyZHVwX3N0cnVjdHVyZWRfZGF0YShzZCk7CisJCWNoYXIgKnRtcCA9IHJlczsKKworCQlpZiAoIW9uZSkKKwkJCWNvbnRpbnVlOworCQlyZXMgPSBzdHJhcHBlbmQodG1wLCBvbmUpOworCQlmcmVlKHRtcCk7CisJCWZyZWUob25lKTsKKwl9CisKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgY2hhciAqZ2V0X3N0cnVjdHVyZWRfZGF0YV9zdHJpbmcoc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCkKK3sKKwljaGFyICpzeXMgPSBOVUxMLCAqdXNyID0gTlVMTCwgKnJlczsKKworCWlmICghbGlzdF9lbXB0eSgmY3RsLT5yZXNlcnZlZF9zZHMpKQorCQlzeXMgPSBzdHJkdXBfc3RydWN0dXJlZF9kYXRhX2xpc3QoJmN0bC0+cmVzZXJ2ZWRfc2RzKTsKKwlpZiAoIWxpc3RfZW1wdHkoJmN0bC0+dXNlcl9zZHMpKQorCQl1c3IgPSBzdHJkdXBfc3RydWN0dXJlZF9kYXRhX2xpc3QoJmN0bC0+dXNlcl9zZHMpOworCisJaWYgKHN5cyAmJiB1c3IpIHsKKwkJcmVzID0gc3RyYXBwZW5kKHN5cywgdXNyKTsKKwkJZnJlZShzeXMpOworCQlmcmVlKHVzcik7CisJfSBlbHNlCisJCXJlcyA9IHN5cyA/IHN5cyA6IHVzcjsKKworCXJldHVybiByZXM7Cit9CisKK3N0YXRpYyBpbnQgdmFsaWRfc3RydWN0dXJlZF9kYXRhX3BhcmFtKGNvbnN0IGNoYXIgKnN0cikKK3sKKwljaGFyICplcSAgPSBzdHJjaHIoc3RyLCAnPScpLAorCSAgICAgKnFtMSA9IHN0cmNocihzdHIsICciJyksCisJICAgICAqcW0yID0gcW0xID8gc3RyY2hyKHFtMSArIDEsICciJykgOiBOVUxMOworCisJaWYgKCFlcSB8fCAhcW0xIHx8ICFxbTIpCQkvKiBzb21ldGhpbmcgaXMgbWlzc2luZyAqLworCQlyZXR1cm4gMDsKKworCS8qIGZvbz0iYmFyIiAqLworCXJldHVybiBlcSA+IHN0ciAmJiBlcSA8IHFtMSAmJiBlcSArIDEgPT0gcW0xICYmIHFtMSA8IHFtMiAmJiAqKHFtMiArIDEpID09ICdcMCc7Cit9CisKKy8qIFNELUlEIGZvcm1hdDoKKyAqCW5hbWVAPHByaXZhdGUgZW50ZXJwcmlzZSBudW1iZXI+LCBlLmcuLCAib3VyU0RJREAzMjQ3MyIKKyAqLworc3RhdGljIGludCB2YWxpZF9zdHJ1Y3R1cmVkX2RhdGFfaWQoY29uc3QgY2hhciAqc3RyKQoreworCWNoYXIgKmF0ID0gc3RyY2hyKHN0ciwgJ0AnKTsKKwljb25zdCBjaGFyICpwOworCisJLyogc3RhbmRhcmRpemVkIElEcyB3aXRob3V0IEA8ZGlnaXRzPiAqLworCWlmICghYXQgJiYgKHN0cmNtcChzdHIsICJ0aW1lUXVhbGl0eSIpID09IDAgfHwKKwkJICAgIHN0cmNtcChzdHIsICJvcmlnaW4iKSA9PSAwIHx8CisJCSAgICBzdHJjbXAoc3RyLCAibWV0YSIpID09IDApKQorCQlyZXR1cm4gMTsKKworCWlmICghYXQgfHwgYXQgPT0gc3RyIHx8ICEqKGF0ICsgMSkpCisJCXJldHVybiAwOworCisJLyogPGRpZ2l0cz4gb3IgPGRpZ2l0cz4uPGRpZ2l0cz5bLi4uXSAqLworCWZvciAocCA9IGF0ICsgMTsgcCAmJiAqcDsgcCsrKSB7CisJCWNvbnN0IGNoYXIgKmVuZDsKKworCQlpZiAoaXNkaWdpdF9zdHJlbmQocCwgJmVuZCkpCisJCQlicmVhazsJLyogb25seSBkaWdpdHMgaW4gdGhlIHN0cmluZyAqLworCisJCWlmIChlbmQgPT0gTlVMTCB8fCBlbmQgPT0gcCB8fAorCQkgICAgKmVuZCAhPSAnLicgfHwgKihlbmQgKyAxKSA9PSAnXDAnKQorCQkJcmV0dXJuIDA7CisJCXAgPSBlbmQ7CisJfQorCisJLyogY2hlY2sgZm9yIGZvcmJpZGRlbiBjaGFycyBpbiB0aGUgPG5hbWU+ICovCisJZm9yIChwID0gc3RyOyBwIDwgYXQ7IHArKykgeworCQlpZiAoKnAgPT0gJ1snIHx8ICpwID09ICc9JyB8fCAqcCA9PSAnIicgfHwgKnAgPT0gJ0AnKQorCQkJcmV0dXJuIDA7CisJCWlmIChpc2JsYW5rKCh1bnNpZ25lZCBjaGFyKSAqcCkgfHwgaXNjbnRybCgodW5zaWduZWQgY2hhcikgKnApKQorCQkJcmV0dXJuIDA7CisJfQorCXJldHVybiAxOworfQorCisKKy8qIFNvbWUgZmllbGQgbWFwcGluZ3MgbWF5IGJlIGNvbnRyb3ZlcnNpYWwsIHRodXMgSSBnaXZlIHRoZSByZWFzb24KKyAqIHdoeSB0aGlzIHNwZWNpZmljIG1hcHBpbmcgd2FzIHVzZWQ6CisgKiBBUFAtTkFNRSA8LS0gdGFnCisgKiAgICBTb21lIG1heSBhcmd1ZSB0aGF0ICJsb2dnZXIiIGlzIGEgYmV0dGVyIGZpdCwgYnV0IHdlIHRoaW5rCisgKiAgICB0aGlzIGlzIGJldHRlciBpbmxpbmUgb2Ygd2hhdCBvdGhlciBpbXBsZW1lbnRhdGlvbnMgZG8uIEluCisgKiAgICByc3lzbG9nLCBmb3IgZXhhbXBsZSwgdGhlIFRBRyB2YWx1ZSBpcyBwb3B1bGF0ZWQgZnJvbSBBUFAtTkFNRS4KKyAqIFBST0NJRCA8LS0gcGlkCisgKiAgICBUaGlzIGlzIGEgcmVsYXRpdmVseSBzdHJhaWdodGZvcndhcmQgaW50ZXJwcmV0YXRpb24gZnJvbQorICogICAgUkZDNTQyNCwgc2VjdC4gNi4yLjYuCisgKiBNU0dJRCA8LS0gbXNnaWQgKGZyb20gLS1tc2dpZCkKKyAqICAgIE9uZSBtYXkgYXJndWUgdGhhdCB0aGUgc3RyaW5nICJsb2dnZXIiIHdvdWxkIGJlIGJldHRlciBzdWl0ZWQKKyAqICAgIGhlcmUgc28gdGhhdCBhIHJlY2VpdmVyIGNhbiBpZGVudGlmeSB0aGUgc2VuZGVyIHByb2Nlc3MuCisgKiAgICBIb3dldmVyLCB0aGlzIGRvZXMgbm90IHNvdW5kIGxpa2UgYSBnb29kIG1hdGNoIHRvIFJGQzU0MjQsCisgKiAgICBzZWN0LiA2LjIuNy4KKyAqIE5vdGUgdGhhdCBhcHBlbmRpeCBBLjEgb2YgUkZDNTQyNCBkb2VzIG5vdCBwcm92aWRlIGNsZWFyIGd1aWRhbmNlCisgKiBvZiBob3cgdGhlc2UgZmllbGRzIHNob3VsZCBiZSB1c2VkLiBUaGlzIGlzIHRoZSBjYXNlIGJlY2F1c2UgdGhlCisgKiBJRVRGIHdvcmtpbmcgZ3JvdXAgY291bGRuJ3QgYXJyaXZlIGF0IGEgY2xlYXIgYWdyZWVtZW50IHdoZW4gd2UKKyAqIHNwZWNpZmllZCBSRkM1NDI0LiBUaGUgcmVzdCBvZiB0aGUgZmllbGQgbWFwcGluZ3Mgc2hvdWxkIGJlCisgKiBwcmV0dHkgY2xlYXIgZnJvbSBSRkM1NDI0LiAtLSBSYWluZXIgR2VyaGFyZHMsIDIwMTUtMDMtMTAKKyAqLworc3RhdGljIHZvaWQgc3lzbG9nX3JmYzU0MjRfaGVhZGVyKHN0cnVjdCBsb2dnZXJfY3RsICpjb25zdCBjdGwpCit7CisJY2hhciAqdGltZTsKKwljaGFyICpob3N0bmFtZTsKKwljaGFyIGNvbnN0ICphcHBfbmFtZSA9IGN0bC0+dGFnOworCWNoYXIgKnByb2NpZDsKKwljaGFyICpjb25zdCBtc2dpZCA9IHhzdHJkdXAoY3RsLT5tc2dpZCA/IGN0bC0+bXNnaWQgOiBOSUxWQUxVRSk7CisJY2hhciAqc3RydWN0dXJlZCA9IE5VTEw7CisJc3RydWN0IGxpc3RfaGVhZCAqc2Q7CisKKwlpZiAoY3RsLT5yZmM1NDI0X3RpbWUpIHsKKwkJc3RydWN0IHRpbWV2YWwgdHY7CisJCXN0cnVjdCB0bSAqdG07CisKKwkJbG9nZ2VyX2dldHRpbWVvZmRheSgmdHYsIE5VTEwpOworCQlpZiAoKHRtID0gbG9jYWx0aW1lKCZ0di50dl9zZWMpKSAhPSBOVUxMKSB7CisJCQljaGFyIGZtdFs2NF07CisJCQljb25zdCBzaXplX3QgaSA9IHN0cmZ0aW1lKGZtdCwgc2l6ZW9mKGZtdCksCisJCQkJCQkgICIlWS0lbS0lZFQlSDolTTolUy4lJTA2dSV6ICIsIHRtKTsKKwkJCS8qIHBhdGNoIFRaIGluZm8gdG8gY29tcGx5IHdpdGggUkZDMzMzOSAod2UgbGVmdCBTUCBhdCBlbmQpICovCisJCQlmbXRbaSAtIDFdID0gZm10W2kgLSAyXTsKKwkJCWZtdFtpIC0gMl0gPSBmbXRbaSAtIDNdOworCQkJZm10W2kgLSAzXSA9ICc6JzsKKwkJCXhhc3ByaW50ZigmdGltZSwgZm10LCB0di50dl91c2VjKTsKKwkJfSBlbHNlCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJsb2NhbHRpbWUoKSBmYWlsZWQiKSk7CisJfSBlbHNlCisJCXRpbWUgPSB4c3RyZHVwKE5JTFZBTFVFKTsKKworCWlmIChjdGwtPnJmYzU0MjRfaG9zdCkgeworCQlpZiAoIShob3N0bmFtZSA9IGxvZ2dlcl94Z2V0aG9zdG5hbWUoKSkpCisJCQlob3N0bmFtZSA9IHhzdHJkdXAoTklMVkFMVUUpOworCQkvKiBBcmJpdHJhcnkgbG9va2luZyAnaWYgKHZhciA8IHN0cmxlbigpKSBjaGVja3Mgb3JpZ2luYXRlIGZyb20KKwkJICogUkZDIDU0MjQgLSA2IFN5c2xvZyBNZXNzYWdlIEZvcm1hdCBkZWZpbml0aW9uLiAgKi8KKwkJaWYgKDI1NSA8IHN0cmxlbihob3N0bmFtZSkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIpLAorCQkJICAgICBob3N0bmFtZSk7CisJfSBlbHNlCisJCWhvc3RuYW1lID0geHN0cmR1cChOSUxWQUxVRSk7CisKKwlpZiAoNDggPCBzdHJsZW4oY3RsLT50YWcpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidGFnICclcycgaXMgdG9vIGxvbmciKSwgY3RsLT50YWcpOworCisJaWYgKGN0bC0+cGlkKQorCQl4YXNwcmludGYoJnByb2NpZCwgIiVkIiwgY3RsLT5waWQpOworCWVsc2UKKwkJcHJvY2lkID0geHN0cmR1cChOSUxWQUxVRSk7CisKKwlzZCA9IGdldF9yZXNlcnZlZF9zdHJ1Y3R1cmVkX2RhdGEoY3RsKTsKKworCS8qIHRpbWUgcXVhbGl0eSBzdHJ1Y3R1cmVkIGRhdGEgKG1heWJlIG92ZXJ3cml0dGVuIGJ5IC0tc2QtaWQgdGltZVF1YWxpdHkpICovCisJaWYgKGN0bC0+cmZjNTQyNF90cSAmJiAhaGFzX3N0cnVjdHVyZWRfZGF0YV9pZChzZCwgInRpbWVRdWFsaXR5IikpIHsKKworCQlhZGRfc3RydWN0dXJlZF9kYXRhX2lkKHNkLCAidGltZVF1YWxpdHkiKTsKKwkJYWRkX3N0cnVjdHVyZWRfZGF0YV9wYXJhbShzZCwgInR6S25vd249XCIxXCIiKTsKKworI2lmZGVmIEhBVkVfTlRQX0dFVFRJTUUKKwkJc3RydWN0IG50cHRpbWV2YWwgbnRwdHY7CisKKwkJaWYgKG50cF9nZXR0aW1lKCZudHB0dikgPT0gVElNRV9PSykgeworCQkJYWRkX3N0cnVjdHVyZWRfZGF0YV9wYXJhbShzZCwgImlzU3luY2VkPVwiMVwiIik7CisJCQlhZGRfc3RydWN0dXJlZF9kYXRhX3BhcmFtZihzZCwgInN5bmNBY2N1cmFjeT1cIiVsZFwiIiwgbnRwdHYubWF4ZXJyb3IpOworCQl9IGVsc2UKKyNlbmRpZgorCQkJYWRkX3N0cnVjdHVyZWRfZGF0YV9wYXJhbWYoc2QsICJpc1N5bmNlZD1cIjBcIiIpOworCX0KKworCS8qIGNvbnZlcnQgYWxsIHN0cnVjdHVyZWQgZGF0YSB0byBzdHJpbmcgKi8KKwlzdHJ1Y3R1cmVkID0gZ2V0X3N0cnVjdHVyZWRfZGF0YV9zdHJpbmcoY3RsKTsKKwlpZiAoIXN0cnVjdHVyZWQpCisJCXN0cnVjdHVyZWQgPSB4c3RyZHVwKE5JTFZBTFVFKTsKKworCXhhc3ByaW50ZigmY3RsLT5oZHIsICI8JWQ+MSAlcyAlcyAlcyAlcyAlcyAlcyAiLAorCQljdGwtPnByaSwKKwkJdGltZSwKKwkJaG9zdG5hbWUsCisJCWFwcF9uYW1lLAorCQlwcm9jaWQsCisJCW1zZ2lkLAorCQlzdHJ1Y3R1cmVkKTsKKworCWZyZWUodGltZSk7CisJZnJlZShob3N0bmFtZSk7CisJLyogYXBwX25hbWUgcG9pbnRzIHRvIGN0bC0+dGFnLCBkbyBOT1QgZnJlZSEgKi8KKwlmcmVlKHByb2NpZCk7CisJZnJlZShtc2dpZCk7CisJZnJlZShzdHJ1Y3R1cmVkKTsKK30KKworc3RhdGljIHZvaWQgcGFyc2VfcmZjNTQyNF9mbGFncyhzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsLCBjaGFyICpzKQoreworCWNoYXIgKmluLCAqdG9rOworCisJaW4gPSBzOworCXdoaWxlICgodG9rID0gc3RydG9rKGluLCAiLCIpKSkgeworCQlpbiA9IE5VTEw7CisJCWlmICghc3RyY21wKHRvaywgIm5vdGltZSIpKSB7CisJCQljdGwtPnJmYzU0MjRfdGltZSA9IDA7CisJCQljdGwtPnJmYzU0MjRfdHEgPSAwOworCQl9IGVsc2UgaWYgKCFzdHJjbXAodG9rLCAibm90cSIpKQorCQkJY3RsLT5yZmM1NDI0X3RxID0gMDsKKwkJZWxzZSBpZiAoIXN0cmNtcCh0b2ssICJub2hvc3QiKSkKKwkJCWN0bC0+cmZjNTQyNF9ob3N0ID0gMDsKKwkJZWxzZQorCQkJd2FybngoXygiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIiksIHRvayk7CisJfQorfQorCitzdGF0aWMgaW50IHBhcnNlX3VuaXhfc29ja2V0X2Vycm9yc19mbGFncyhjaGFyICpzKQoreworCWlmICghc3RyY21wKHMsICJvZmYiKSkKKwkJcmV0dXJuIEFGX1VOSVhfRVJST1JTX09GRjsKKwlpZiAoIXN0cmNtcChzLCAib24iKSkKKwkJcmV0dXJuIEFGX1VOSVhfRVJST1JTX09OOworCWlmICghc3RyY21wKHMsICJhdXRvIikpCisJCXJldHVybiBBRl9VTklYX0VSUk9SU19BVVRPOworCXdhcm54KF8oImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIiksIHMpOworCXJldHVybiBBRl9VTklYX0VSUk9SU19BVVRPOworfQorCitzdGF0aWMgdm9pZCBzeXNsb2dfbG9jYWxfaGVhZGVyKHN0cnVjdCBsb2dnZXJfY3RsICpjb25zdCBjdGwpCit7CisJY2hhciBwaWRbMzJdOworCisJaWYgKGN0bC0+cGlkKQorCQlzbnByaW50ZihwaWQsIHNpemVvZihwaWQpLCAiWyVkXSIsIGN0bC0+cGlkKTsKKwllbHNlCisJCXBpZFswXSA9ICdcMCc7CisKKwl4YXNwcmludGYoJmN0bC0+aGRyLCAiPCVkPiVzICVzJXM6ICIsIGN0bC0+cHJpLCByZmMzMTY0X2N1cnJlbnRfdGltZSgpLAorCQljdGwtPnRhZywgcGlkKTsKK30KKworc3RhdGljIHZvaWQgZ2VuZXJhdGVfc3lzbG9nX2hlYWRlcihzdHJ1Y3QgbG9nZ2VyX2N0bCAqY29uc3QgY3RsKQoreworCWZyZWUoY3RsLT5oZHIpOworCWN0bC0+aGRyID0gTlVMTDsKKwljdGwtPnN5c2xvZ2ZwKGN0bCk7Cit9CisKKy8qIGp1c3Qgb3Blbiwgbm90aGluZyBlbHNlICovCitzdGF0aWMgdm9pZCBfX2xvZ2dlcl9vcGVuKHN0cnVjdCBsb2dnZXJfY3RsICpjdGwpCit7CisJaWYgKGN0bC0+c2VydmVyKSB7CisJCWN0bC0+ZmQgPSBpbmV0X3NvY2tldChjdGwtPnNlcnZlciwgY3RsLT5wb3J0LCAmY3RsLT5zb2NrZXRfdHlwZSk7CisJfSBlbHNlIHsKKwkJaWYgKCFjdGwtPnVuaXhfc29ja2V0KQorCQkJY3RsLT51bml4X3NvY2tldCA9IF9QQVRIX0RFVkxPRzsKKworCQljdGwtPmZkID0gdW5peF9zb2NrZXQoY3RsLCBjdGwtPnVuaXhfc29ja2V0LCAmY3RsLT5zb2NrZXRfdHlwZSk7CisJfQorfQorCisvKiBvcGVuIGFuZCBpbml0aWFsaXplIHJlbGV2YW50IEBjdGwgdHVmZiAqLworc3RhdGljIHZvaWQgbG9nZ2VyX29wZW4oc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCkKK3sKKwlfX2xvZ2dlcl9vcGVuKGN0bCk7CisKKwlpZiAoIWN0bC0+c3lzbG9nZnApCisJCWN0bC0+c3lzbG9nZnAgPSBjdGwtPnNlcnZlciA/IHN5c2xvZ19yZmM1NDI0X2hlYWRlciA6CisJCQkJCSAgICAgIHN5c2xvZ19sb2NhbF9oZWFkZXI7CisJaWYgKCFjdGwtPnRhZykKKwkJY3RsLT50YWcgPSB4Z2V0bG9naW4oKTsKKworCWdlbmVyYXRlX3N5c2xvZ19oZWFkZXIoY3RsKTsKK30KKworLyogcmUtb3BlbjsgdXN1YWxseSBhZnRlciBmYWlsZWQgY29ubmVjdGlvbiAqLworc3RhdGljIHZvaWQgbG9nZ2VyX3Jlb3BlbihzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsKQoreworCWlmIChjdGwtPmZkICE9IC0xKQorCQljbG9zZShjdGwtPmZkKTsKKwljdGwtPmZkID0gLTE7CisKKwlfX2xvZ2dlcl9vcGVuKGN0bCk7Cit9CisKK3N0YXRpYyB2b2lkIGxvZ2dlcl9jb21tYW5kX2xpbmUoc3RydWN0IGxvZ2dlcl9jdGwgKmN0bCwgY2hhciAqKmFyZ3YpCit7CisJLyogbm90ZTogd2UgbmV2ZXIgcmUtZ2VuZXJhdGUgdGhlIHN5c2xvZyBoZWFkZXIgaGVyZSwgZXZlbiBpZiB3ZQorCSAqIGdlbmVyYXRlIG11bHRpcGxlIG1lc3NhZ2VzLiBJZiBzbywgd2UgdGhpbmsgaXQgaXMgdGhlIHJpZ2h0IHRoaW5nCisJICogdG8gZG8gdG8gcmVwb3J0IHRoZW0gd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXAsIGFzIHRoZSB1c2VyIGFjdHVhbGx5CisJICogaW50ZW5kZWQgdG8gc2VuZCBhIHNpbmdsZSBtZXNzYWdlLgorCSAqLworCWNoYXIgKmNvbnN0IGJ1ZiA9IHhtYWxsb2MoY3RsLT5tYXhfbWVzc2FnZV9zaXplICsgMSk7CisJY2hhciAqcCA9IGJ1ZjsKKwljb25zdCBjaGFyICplbmRwID0gYnVmICsgY3RsLT5tYXhfbWVzc2FnZV9zaXplIC0gMTsKKwlzaXplX3QgbGVuOworCisJd2hpbGUgKCphcmd2KSB7CisJCWxlbiA9IHN0cmxlbigqYXJndik7CisJCWlmIChlbmRwIDwgcCArIGxlbiAmJiBwICE9IGJ1ZikgeworCQkJd3JpdGVfb3V0cHV0KGN0bCwgYnVmKTsKKwkJCXAgPSBidWY7CisJCX0KKwkJaWYgKGN0bC0+bWF4X21lc3NhZ2Vfc2l6ZSA8IGxlbikgeworCQkJKCphcmd2KVtjdGwtPm1heF9tZXNzYWdlX3NpemVdID0gJ1wwJzsgLyogdHJ1bmNhdGUgKi8KKwkJCXdyaXRlX291dHB1dChjdGwsICphcmd2KyspOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHAgIT0gYnVmKQorCQkJKnArKyA9ICcgJzsKKwkJbWVtbW92ZShwLCAqYXJndisrLCBsZW4pOworCQkqKHAgKz0gbGVuKSA9ICdcMCc7CisJfQorCWlmIChwICE9IGJ1ZikKKwkJd3JpdGVfb3V0cHV0KGN0bCwgYnVmKTsKKwlmcmVlKGJ1Zik7Cit9CisKK3N0YXRpYyB2b2lkIGxvZ2dlcl9zdGRpbihzdHJ1Y3QgbG9nZ2VyX2N0bCAqY3RsKQoreworCS8qIG5vdGU6IHdlIHJlLWdlbmVyYXRlIHRoZSBzeXNsb2cgaGVhZGVyIGZvciBlYWNoIGxvZyBtZXNzYWdlIHRvCisJICogdXBkYXRlIGhlYWRlciB0aW1lc3RhbXBzIGFuZCB0byByZWZsZWN0IHBvc3NpYmxlIHByaW9yaXR5IGNoYW5nZXMuCisJICogVGhlIGluaXRpYWwgaGVhZGVyIGlzIGdlbmVyYXRlZCBieSBsb2dnZXJfb3BlbigpLgorCSAqLworCWludCBoYXNfaGVhZGVyID0gMTsKKwlpbnQgZGVmYXVsdF9wcmlvcml0eSA9IGN0bC0+cHJpOworCWludCBsYXN0X3ByaSA9IGRlZmF1bHRfcHJpb3JpdHk7CisJc2l6ZV90IG1heF91c3Jtc2dfc2l6ZSA9IGN0bC0+bWF4X21lc3NhZ2Vfc2l6ZSAtIHN0cmxlbihjdGwtPmhkcik7CisJY2hhciAqY29uc3QgYnVmID0geG1hbGxvYyhtYXhfdXNybXNnX3NpemUgKyAyICsgMik7CisJaW50IHByaTsKKwlpbnQgYzsKKwlzaXplX3QgaTsKKworCWMgPSBnZXRjaGFyKCk7CisJd2hpbGUgKGMgIT0gRU9GKSB7CisJCWkgPSAwOworCQlpZiAoY3RsLT5wcmlvX3ByZWZpeCAmJiBjID09ICc8JykgeworCQkJcHJpID0gMDsKKwkJCWJ1ZltpKytdID0gYzsKKwkJCXdoaWxlIChpc2RpZ2l0KGMgPSBnZXRjaGFyKCkpICYmIHByaSA8PSAxOTEpIHsKKwkJCQlidWZbaSsrXSA9IGM7CisJCQkJcHJpID0gcHJpICogMTAgKyBjIC0gJzAnOworCQkJfQorCQkJaWYgKGMgIT0gRU9GICYmIGMgIT0gJ1xuJykKKwkJCQlidWZbaSsrXSA9IGM7CisJCQlpZiAoYyA9PSAnPicgJiYgMCA8PSBwcmkgJiYgcHJpIDw9IDE5MSkgeworCQkJCS8qIHZhbGlkIFJGQyBQUkkgdmFsdWVzICovCisJCQkJaSA9IDA7CisJCQkJaWYgKHByaSA8IDgpCS8qIGtlcm4gZmFjaWxpdHkgaXMgZm9yYmlkZGVuICovCisJCQkJCXByaSB8PSA4OworCQkJCWN0bC0+cHJpID0gcHJpOworCQkJfSBlbHNlCisJCQkJY3RsLT5wcmkgPSBkZWZhdWx0X3ByaW9yaXR5OworCisJCQlpZiAoY3RsLT5wcmkgIT0gbGFzdF9wcmkpIHsKKwkJCQloYXNfaGVhZGVyID0gMDsKKwkJCQltYXhfdXNybXNnX3NpemUgPQorCQkJCSAgICBjdGwtPm1heF9tZXNzYWdlX3NpemUgLSBzdHJsZW4oY3RsLT5oZHIpOworCQkJCWxhc3RfcHJpID0gY3RsLT5wcmk7CisJCQl9CisJCQlpZiAoYyAhPSBFT0YgJiYgYyAhPSAnXG4nKQorCQkJCWMgPSBnZXRjaGFyKCk7CisJCX0KKworCQl3aGlsZSAoYyAhPSBFT0YgJiYgYyAhPSAnXG4nICYmIGkgPCBtYXhfdXNybXNnX3NpemUpIHsKKwkJCWJ1ZltpKytdID0gYzsKKwkJCWMgPSBnZXRjaGFyKCk7CisJCX0KKwkJYnVmW2ldID0gJ1wwJzsKKworCQlpZiAoaSA+IDAgfHwgIWN0bC0+c2tpcF9lbXB0eV9saW5lcykgeworCQkJaWYgKCFoYXNfaGVhZGVyKQorCQkJCWdlbmVyYXRlX3N5c2xvZ19oZWFkZXIoY3RsKTsKKwkJCXdyaXRlX291dHB1dChjdGwsIGJ1Zik7CisJCQloYXNfaGVhZGVyID0gMDsKKwkJfQorCisJCWlmIChjID09ICdcbicpCS8qIGRpc2NhcmQgbGluZSB0ZXJtaW5hdG9yICovCisJCQljID0gZ2V0Y2hhcigpOworCX0KKworCWZyZWUoYnVmKTsKK30KKworc3RhdGljIHZvaWQgbG9nZ2VyX2Nsb3NlKGNvbnN0IHN0cnVjdCBsb2dnZXJfY3RsICpjdGwpCit7CisJaWYgKGN0bC0+ZmQgIT0gLTEgJiYgY2xvc2UoY3RsLT5mZCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2xvc2UgZmFpbGVkIikpOworCWZyZWUoY3RsLT5oZHIpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iKSwgb3V0KTsKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKwlmcHV0cyhfKCIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iKSwgb3V0KTsKKyNlbmRpZgorCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImxvZ2dlcigxKSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworLyoKKyAqIGxvZ2dlciAtLSByZWFkIGFuZCBsb2cgdXRpbGl0eQorICoKKyAqCVJlYWRzIGZyb20gYW4gaW5wdXQgYW5kIGFycmFuZ2VzIHRvIHdyaXRlIHRoZSByZXN1bHQgb24gdGhlIHN5c3RlbQorICoJbG9nLgorICovCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IGxvZ2dlcl9jdGwgY3RsID0geworCQkuZmQgPSAtMSwKKwkJLnBpZCA9IDAsCisJCS5wcmkgPSBMT0dfVVNFUiB8IExPR19OT1RJQ0UsCisJCS5wcmlvX3ByZWZpeCA9IDAsCisJCS50YWcgPSBOVUxMLAorCQkudW5peF9zb2NrZXQgPSBOVUxMLAorCQkudW5peF9zb2NrZXRfZXJyb3JzID0gMCwKKwkJLnNlcnZlciA9IE5VTEwsCisJCS5wb3J0ID0gTlVMTCwKKwkJLmhkciA9IE5VTEwsCisJCS5tc2dpZCA9IE5VTEwsCisJCS5zb2NrZXRfdHlwZSA9IEFMTF9UWVBFUywKKwkJLm1heF9tZXNzYWdlX3NpemUgPSAxMDI0LAorCQkucmZjNTQyNF90aW1lID0gMSwKKwkJLnJmYzU0MjRfdHEgPSAxLAorCQkucmZjNTQyNF9ob3N0ID0gMSwKKwkJLnNraXBfZW1wdHlfbGluZXMgPSAwCisJfTsKKwlpbnQgY2g7CisJaW50IHN0ZG91dF9yZW9wZW5lZCA9IDA7CisJaW50IHVuaXhfc29ja2V0X2Vycm9yc19tb2RlID0gQUZfVU5JWF9FUlJPUlNfQVVUTzsKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKwlGSUxFICpqZmQgPSBOVUxMOworI2VuZGlmCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiaWQiLAkJICAgb3B0aW9uYWxfYXJndW1lbnQsIDAsIE9QVF9JRAkJICAgfSwKKwkJeyAic3RkZXJyIiwJICAgbm9fYXJndW1lbnQsCSAgICAgIDAsICdzJwkJICAgfSwKKwkJeyAiZmlsZSIsCSAgIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAnZicJCSAgIH0sCisJCXsgIm5vLWFjdCIsICAgICAgICBub19hcmd1bWVudCwgICAgICAgMCwgT1BUX05PQUNULAkgICB9LAorCQl7ICJwcmlvcml0eSIsCSAgIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAncCcJCSAgIH0sCisJCXsgInRhZyIsCSAgIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAndCcJCSAgIH0sCisJCXsgInNvY2tldCIsCSAgIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAndScJCSAgIH0sCisJCXsgInNvY2tldC1lcnJvcnMiLCByZXF1aXJlZF9hcmd1bWVudCwgMCwgT1BUX1NPQ0tFVF9FUlJPUlMgfSwKKwkJeyAidWRwIiwJICAgbm9fYXJndW1lbnQsCSAgICAgIDAsICdkJwkJICAgfSwKKwkJeyAidGNwIiwJICAgbm9fYXJndW1lbnQsCSAgICAgIDAsICdUJwkJICAgfSwKKwkJeyAic2VydmVyIiwJICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICduJwkJICAgfSwKKwkJeyAicG9ydCIsCSAgIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCAnUCcJCSAgIH0sCisJCXsgInZlcnNpb24iLAkgICBub19hcmd1bWVudCwJICAgICAgMCwgJ1YnCQkgICB9LAorCQl7ICJoZWxwIiwJICAgbm9fYXJndW1lbnQsCSAgICAgIDAsICdoJwkJICAgfSwKKwkJeyAib2N0ZXQtY291bnQiLCAgIG5vX2FyZ3VtZW50LAkgICAgICAwLCBPUFRfT0NURVRfQ09VTlQgICB9LAorCQl7ICJwcmlvLXByZWZpeCIsICAgbm9fYXJndW1lbnQsCSAgICAgIDAsIE9QVF9QUklPX1BSRUZJWCAgIH0sCisJCXsgInJmYzMxNjQiLAkgICBub19hcmd1bWVudCwJICAgICAgMCwgT1BUX1JGQzMxNjQJICAgfSwKKwkJeyAicmZjNTQyNCIsCSAgIG9wdGlvbmFsX2FyZ3VtZW50LCAwLCBPUFRfUkZDNTQyNAkgICB9LAorCQl7ICJzaXplIiwJICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsICdTJwkJICAgfSwKKwkJeyAibXNnaWQiLAkgICByZXF1aXJlZF9hcmd1bWVudCwgMCwgT1BUX01TR0lECSAgIH0sCisJCXsgInNraXAtZW1wdHkiLAkgICBub19hcmd1bWVudCwJICAgICAgMCwgJ2UnCQkgICB9LAorCQl7ICJzZC1pZCIsICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIDAsIE9QVF9TVFJVQ1RVUkVEX0RBVEFfSUQgICAgICAgICAgfSwKKwkJeyAic2QtcGFyYW0iLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCAwLCBPUFRfU1RSVUNUVVJFRF9EQVRBX1BBUkFNICAgICAgIH0sCisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECisJCXsgImpvdXJuYWxkIiwJICAgb3B0aW9uYWxfYXJndW1lbnQsIDAsIE9QVF9KT1VSTkFMRAkgICB9LAorI2VuZGlmCisJCXsgTlVMTCwJCSAgIDAsCQkgICAgICAwLCAwCQkgICB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlJTklUX0xJU1RfSEVBRCgmY3RsLnVzZXJfc2RzKTsKKwlJTklUX0xJU1RfSEVBRCgmY3RsLnJlc2VydmVkX3Nkcyk7CisKKwl3aGlsZSAoKGNoID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImVmOmlwOlM6c3Q6dTpkVG46UDpWaCIsCisJCQkJCSAgICBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoY2gpIHsKKwkJY2FzZSAnZic6CQkvKiBmaWxlIHRvIGxvZyAqLworCQkJaWYgKGZyZW9wZW4ob3B0YXJnLCAiciIsIHN0ZGluKSA9PSBOVUxMKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZpbGUgJXMiKSwgb3B0YXJnKTsKKwkJCXN0ZG91dF9yZW9wZW5lZCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQljdGwuc2tpcF9lbXB0eV9saW5lcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CQkvKiBsb2cgcHJvY2VzcyBpZCBhbHNvICovCisJCQljdGwucGlkID0gbG9nZ2VyX2dldHBpZCgpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0lEOgorCQkJaWYgKG9wdGFyZykgeworCQkJCWNvbnN0IGNoYXIgKnAgPSBvcHRhcmc7CisKKwkJCQlpZiAoKnAgPT0gJz0nKQorCQkJCQlwKys7CisJCQkJY3RsLnBpZCA9IHN0cnRvdWxfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIGlkIikpOworCQkJfSBlbHNlCisJCQkJY3RsLnBpZCA9IGxvZ2dlcl9nZXRwaWQoKTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoJCS8qIHByaW9yaXR5ICovCisJCQljdGwucHJpID0gcGVuY29kZShvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgkJLyogbG9nIHRvIHN0YW5kYXJkIGVycm9yICovCisJCQljdGwuc3RkZXJyX3ByaW50b3V0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoJCS8qIHRhZyAqLworCQkJY3RsLnRhZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICd1JzoJCS8qIHVuaXggc29ja2V0ICovCisJCQljdGwudW5peF9zb2NrZXQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CQkvKiBtYXggbWVzc2FnZSBzaXplICovCisJCQljdGwubWF4X21lc3NhZ2Vfc2l6ZSA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLAorCQkJCV8oImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQljdGwuc29ja2V0X3R5cGUgPSBUWVBFX1VEUDsKKwkJCWJyZWFrOworCQljYXNlICdUJzoKKwkJCWN0bC5zb2NrZXRfdHlwZSA9IFRZUEVfVENQOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJY3RsLnNlcnZlciA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdQJzoKKwkJCWN0bC5wb3J0ID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJY2FzZSBPUFRfT0NURVRfQ09VTlQ6CisJCQljdGwub2N0ZXRfY291bnQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1BSSU9fUFJFRklYOgorCQkJY3RsLnByaW9fcHJlZml4ID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9SRkMzMTY0OgorCQkJY3RsLnN5c2xvZ2ZwID0gc3lzbG9nX3JmYzMxNjRfaGVhZGVyOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1JGQzU0MjQ6CisJCQljdGwuc3lzbG9nZnAgPSBzeXNsb2dfcmZjNTQyNF9oZWFkZXI7CisJCQlpZiAob3B0YXJnKQorCQkJCXBhcnNlX3JmYzU0MjRfZmxhZ3MoJmN0bCwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9NU0dJRDoKKwkJCWlmIChzdHJjaHIob3B0YXJnLCAnICcpKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIikpOworCQkJY3RsLm1zZ2lkID0gb3B0YXJnOworCQkJYnJlYWs7CisjaWZkZWYgSEFWRV9MSUJTWVNURU1ECisJCWNhc2UgT1BUX0pPVVJOQUxEOgorCQkJaWYgKG9wdGFyZykgeworCQkJCWpmZCA9IGZvcGVuKG9wdGFyZywgInIiKTsKKwkJCQlpZiAoIWpmZCkKKwkJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwKKwkJCQkJICAgIG9wdGFyZyk7CisJCQl9IGVsc2UKKwkJCQlqZmQgPSBzdGRpbjsKKwkJCWJyZWFrOworI2VuZGlmCisJCWNhc2UgT1BUX1NPQ0tFVF9FUlJPUlM6CisJCQl1bml4X3NvY2tldF9lcnJvcnNfbW9kZSA9IHBhcnNlX3VuaXhfc29ja2V0X2Vycm9yc19mbGFncyhvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX05PQUNUOgorCQkJY3RsLm5vYWN0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9TVFJVQ1RVUkVEX0RBVEFfSUQ6CisJCQlpZiAoIXZhbGlkX3N0cnVjdHVyZWRfZGF0YV9pZChvcHRhcmcpKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIpLCBvcHRhcmcpOworCQkJYWRkX3N0cnVjdHVyZWRfZGF0YV9pZChnZXRfdXNlcl9zdHJ1Y3R1cmVkX2RhdGEoJmN0bCksIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfU1RSVUNUVVJFRF9EQVRBX1BBUkFNOgorCQkJaWYgKCF2YWxpZF9zdHJ1Y3R1cmVkX2RhdGFfcGFyYW0ob3B0YXJnKSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIiksIG9wdGFyZyk7CisJCQlhZGRfc3RydWN0dXJlZF9kYXRhX3BhcmFtKGdldF91c2VyX3N0cnVjdHVyZWRfZGF0YSgmY3RsKSwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCWlmIChzdGRvdXRfcmVvcGVuZWQgJiYgYXJnYykKKwkJd2FybngoXygiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIpKTsKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKwlpZiAoamZkKSB7CisJCWludCByZXQgPSBqb3VybmFsZF9lbnRyeSgmY3RsLCBqZmQpOworCQlpZiAoc3RkaW4gIT0gamZkKQorCQkJZmNsb3NlKGpmZCk7CisJCWlmIChyZXQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iKSk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorI2VuZGlmCisKKwkvKiB1c2VyIG92ZXJ3cml0ZXMgYnVpbGQtaW4gU0QtRUxFTUVOVCAqLworCWlmIChoYXNfc3RydWN0dXJlZF9kYXRhX2lkKGdldF91c2VyX3N0cnVjdHVyZWRfZGF0YSgmY3RsKSwgInRpbWVRdWFsaXR5IikpCisJCWN0bC5yZmM1NDI0X3RxID0gMDsKKworCXN3aXRjaCAodW5peF9zb2NrZXRfZXJyb3JzX21vZGUpIHsKKwljYXNlIEFGX1VOSVhfRVJST1JTX09GRjoKKwkJY3RsLnVuaXhfc29ja2V0X2Vycm9ycyA9IDA7CisJCWJyZWFrOworCWNhc2UgQUZfVU5JWF9FUlJPUlNfT046CisJCWN0bC51bml4X3NvY2tldF9lcnJvcnMgPSAxOworCQlicmVhazsKKwljYXNlIEFGX1VOSVhfRVJST1JTX0FVVE86CisJCWN0bC51bml4X3NvY2tldF9lcnJvcnMgPSBjdGwubm9hY3QgfHwgY3RsLnN0ZGVycl9wcmludG91dDsKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKwkJY3RsLnVuaXhfc29ja2V0X2Vycm9ycyB8PSAhIXNkX2Jvb3RlZCgpOworI2VuZGlmCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWFib3J0KCk7CisJfQorCWxvZ2dlcl9vcGVuKCZjdGwpOworCWlmICgwIDwgYXJnYykKKwkJbG9nZ2VyX2NvbW1hbmRfbGluZSgmY3RsLCBhcmd2KTsKKwllbHNlCisJCS8qIE5vdGUuIC0tZmlsZSA8YXJnPiByZW9wZW5zIHN0ZGluIG1ha2luZyB0aGUgYmVsb3cKKwkJICogZnVuY3Rpb24gdG8gYmUgdXNlZCBmb3IgZmlsZSBpbnB1dHMuICovCisJCWxvZ2dlcl9zdGRpbigmY3RsKTsKKwlsb2dnZXJfY2xvc2UoJmN0bCk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbG9vay4xIGIvbWlzYy11dGlscy9sb29rLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NhODM0MQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbG9vay4xCkBAIC0wLDAgKzEsMTIzIEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTkwLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKWxvb2suMQk4LjEgKEJlcmtlbGV5KSA2LzE0LzkzCisuXCIKKy5USCBMT09LIDEgIkp1bmUgMjAxMSIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2xvb2sgXC0gZGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIGdpdmVuIHN0cmluZworLlNIIFNZTk9QU0lTCisuQiBsb29rCitbb3B0aW9uc10KKy5JUiAic3RyaW5nICIgWyBmaWxlIF0KKy5TSCBERVNDUklQVElPTgorVGhlCisuQiBsb29rCit1dGlsaXR5IGRpc3BsYXlzIGFueSBsaW5lcyBpbgorLkkgZmlsZQord2hpY2ggY29udGFpbgorLklSIHN0cmluZyAuCitBcworLkIgbG9vaworcGVyZm9ybXMgYSBiaW5hcnkgc2VhcmNoLCB0aGUgbGluZXMgaW4KKy5JIGZpbGUKK211c3QgYmUgc29ydGVkICh3aGVyZQorLkJSIHNvcnQgKDEpCit3YXMgZ2l2ZW4gdGhlIHNhbWUgb3B0aW9ucworLkJSICJcLWQgIiBhbmQvb3IgIiBcLWYgIiB0aGF0CisuQiBsb29rCitpcyBpbnZva2VkIHdpdGgpLgorLlBQCitJZgorLkkgZmlsZQoraXMgbm90IHNwZWNpZmllZCwgdGhlIGZpbGUKKy5JIC91c3Ivc2hhcmUvZGljdC93b3JkcworaXMgdXNlZCwgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhcmUgY29tcGFyZWQgYW5kIHRoZSBjYXNlIG9mCithbHBoYWJldGljIGNoYXJhY3RlcnMgaXMgaWdub3JlZC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hbHRlcm5hdGl2ZSIKK1VzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeSBmaWxlLgorLlRQCisuQlIgXC1kICwgIiBcLVwtYWxwaGFudW0iCitVc2Ugbm9ybWFsIGRpY3Rpb25hcnkgY2hhcmFjdGVyIHNldCBhbmQgb3JkZXIsIGkuZS4gb25seSBibGFua3MgYW5kCithbHBoYW51bWVyaWMgY2hhcmFjdGVycyBhcmUgY29tcGFyZWQuICBUaGlzIGlzIG9uIGJ5IGRlZmF1bHQgaWYgbm8gZmlsZSBpcworc3BlY2lmaWVkLgorCitOb3RlIHRoYXQgYmxhbmtzIGhhdmUgYmVlbiBhZGRlZCB0byBkaWN0aW9uYXJ5IGNoYXJhY3RlciBzZXQgZm9yCitjb21wYXRpYmlsaXR5IHdpdGggXGZCc29ydCBcLWRcZlIgY29tbWFuZCBzaW5jZSB2ZXJzaW9uIDIuMjguCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1pZ25vcmVcLWNhc2UiCitJZ25vcmUgdGhlIGNhc2Ugb2YgYWxwaGFiZXRpYyBjaGFyYWN0ZXJzLiAgVGhpcyBpcyBvbiBieSBkZWZhdWx0IGlmIG5vIGZpbGUgaXMKK3NwZWNpZmllZC4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXRlcm1pbmF0ZSAiIFxmSWNoYXJhY3RlclxmUgorU3BlY2lmeSBhIHN0cmluZyB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXIsIGkuZS4gb25seSB0aGUgY2hhcmFjdGVycworaW4gXGZJc3RyaW5nXGZSIHVwIHRvIGFuZCBpbmNsdWRpbmcgdGhlIGZpcnN0IG9jY3VycmVuY2Ugb2YgXGZJY2hhcmFjdGVyXGZSCithcmUgY29tcGFyZWQuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlBQCitUaGUKKy5CIGxvb2sKK3V0aWxpdHkgZXhpdHMgMCBpZiBvbmUgb3IgbW9yZSBsaW5lcyB3ZXJlIGZvdW5kIGFuZCBkaXNwbGF5ZWQsIDEgaWYKK25vIGxpbmVzIHdlcmUgZm91bmQsIGFuZCA+MSBpZiBhbiBlcnJvciBvY2N1cnJlZC4KKy5TSCBFWEFNUExFCisuUlMKKy5uZgorc29ydCAtZCAvZXRjL3Bhc3N3ZCAtbyAvdG1wL2xvb2suZGljdAorbG9vayAtdDogcm9vdDpmb29iYXIgL3RtcC9sb29rLmRpY3QKKy5uZgorLlJFCisuU0ggRU5WSVJPTk1FTlQKKy5UUAorLkIgV09SRExJU1QKK1BhdGggdG8gYSBkaWN0aW9uYXJ5IGZpbGUuICBUaGUgZW52aXJvbm1lbnQgdmFyaWFibGUgaGFzIGdyZWF0ZXIgcHJpb3JpdHkKK3RoYW4gdGhlIGRpY3Rpb25hcnkgcGF0aCBkZWZpbmVkIGluIEZJTEVTIHNlZ21lbnQuCisuU0ggRklMRVMKKy5JUCAiXGZCL3Vzci9zaGFyZS9kaWN0L3dvcmRzXGZSIiA0Cit0aGUgZGljdGlvbmFyeQorLklQICJcZkIvdXNyL3NoYXJlL2RpY3Qvd2ViMlxmUiIgNAordGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnkKKy5TSCAiU0VFIEFMU08iCisuQlIgZ3JlcCAoMSksCisuQlIgc29ydCAoMSkKKy5TSCBISVNUT1JZCitUaGUKKy5CIGxvb2sKK3V0aWxpdHkgYXBwZWFyZWQgaW4gVmVyc2lvbiA3IEFUJlQgVW5peC4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBsb29rIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2xvb2suYyBiL21pc2MtdXRpbHMvbG9vay5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyNjk5YmYKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xvb2suYwpAQCAtMCwwICsxLDM3NiBAQAorLyotCisgKiBDb3B5cmlnaHQgKGMpIDE5OTEsIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKKyAqIERhdmlkIEhpdHogb2YgQXVzcGV4IFN5c3RlbXMsIEluYy4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKyAvKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICAqLworCisvKgorICogbG9vayAtLSBmaW5kIGxpbmVzIGluIGEgc29ydGVkIGxpc3QuCisgKgorICogVGhlIG1hbiBwYWdlIHNhaWQgdGhhdCBUQUJzIGFuZCBTUEFDRXMgcGFydGljaXBhdGUgaW4gLWQgY29tcGFyaXNvbnMuCisgKiBJbiBmYWN0LCB0aGV5IHdlcmUgaWdub3JlZC4gIFRoaXMgaW1wbGVtZW50cyBoaXN0b3JpYyBwcmFjdGljZSwgbm90CisgKiB0aGUgbWFudWFsIHBhZ2UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2RlZmluZQlFUVVBTAkJMAorI2RlZmluZQlHUkVBVEVSCQkxCisjZGVmaW5lCUxFU1MJCSgtMSkKKworc3RhdGljIGludCBkZmxhZywgZmZsYWc7CisvKiB1Z2xpZmllZCB0aGUgc291cmNlIGEgYml0IHdpdGggZ2xvYmFscywgc28gdGhhdCB3ZSBvbmx5IG5lZWQKKyAgIHRvIGFsbG9jYXRlIGNvbXBhcmJ1ZiBvbmNlICovCitzdGF0aWMgaW50IHN0cmluZ2xlbjsKK3N0YXRpYyBjaGFyICpzdHJpbmc7CitzdGF0aWMgY2hhciAqY29tcGFyYnVmOworCitzdGF0aWMgY2hhciAqYmluYXJ5X3NlYXJjaCAoY2hhciAqLCBjaGFyICopOworc3RhdGljIGludCBjb21wYXJlIChjaGFyICosIGNoYXIgKik7CitzdGF0aWMgY2hhciAqbGluZWFyX3NlYXJjaCAoY2hhciAqLCBjaGFyICopOworc3RhdGljIGludCBsb29rIChjaGFyICosIGNoYXIgKik7CitzdGF0aWMgdm9pZCBwcmludF9mcm9tIChjaGFyICosIGNoYXIgKik7CitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKTsKKworaW50CittYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHN0YXQgc2I7CisJaW50IGNoLCBmZCwgdGVybWNoYXI7CisJY2hhciAqYmFjaywgKmZpbGUsICpmcm9udCwgKnA7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ImFsdGVybmF0aXZlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsiYWxwaGFudW0iLCBub19hcmd1bWVudCwgTlVMTCwgJ2QnfSwKKwkJeyJpZ25vcmUtY2FzZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZid9LAorCQl7InRlcm1pbmF0ZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCisJaWYgKChmaWxlID0gZ2V0ZW52KCJXT1JETElTVCIpKSAmJiAhYWNjZXNzKGZpbGUsIFJfT0spKQorCQkvKiB1c2UgdGhlIFdPUkRMSVNUICovOworCWVsc2UKKwkJZmlsZSA9IF9QQVRIX1dPUkRTOworCisJdGVybWNoYXIgPSAnXDAnOworCXN0cmluZyA9IE5VTEw7CQkvKiBqdXN0IGZvciBnY2MgKi8KKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWRmdDpWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaChjaCkgeworCQljYXNlICdhJzoKKwkJCWZpbGUgPSBfUEFUSF9XT1JEU19BTFQ7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlmZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQl0ZXJtY2hhciA9ICpvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJc3dpdGNoIChhcmdjKSB7CisJY2FzZSAyOgkJCQkvKiBEb24ndCBzZXQgLWRmIGZvciB1c2VyLiAqLworCQlzdHJpbmcgPSAqYXJndisrOworCQlmaWxlID0gKmFyZ3Y7CisJCWJyZWFrOworCWNhc2UgMToJCQkJLyogQnV0IHNldCAtZGYgYnkgZGVmYXVsdC4gKi8KKwkJZGZsYWcgPSBmZmxhZyA9IDE7CisJCXN0cmluZyA9ICphcmd2OworCQlicmVhazsKKwlkZWZhdWx0OgorCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAodGVybWNoYXIgIT0gJ1wwJyAmJiAocCA9IHN0cmNocihzdHJpbmcsIHRlcm1jaGFyKSkgIT0gTlVMTCkKKwkJKisrcCA9ICdcMCc7CisKKwlpZiAoKGZkID0gb3BlbihmaWxlLCBPX1JET05MWSwgMCkpIDwgMCB8fCBmc3RhdChmZCwgJnNiKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgZmlsZSk7CisJZnJvbnQgPSBtbWFwKE5VTEwsIChzaXplX3QpIHNiLnN0X3NpemUsIFBST1RfUkVBRCwKKwkJICAgICBNQVBfU0hBUkVELCBmZCwgKG9mZl90KSAwKTsKKwlpZgorI2lmZGVmIE1BUF9GQUlMRUQKKwkJKGZyb250ID09IE1BUF9GQUlMRUQpCisjZWxzZQorCQkoKHZvaWQgKikoZnJvbnQpIDw9ICh2b2lkICopMCkKKyNlbmRpZgorCQkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgZmlsZSk7CisJYmFjayA9IGZyb250ICsgc2Iuc3Rfc2l6ZTsKKwlyZXR1cm4gbG9vayhmcm9udCwgYmFjayk7Cit9CisKK3N0YXRpYyBpbnQKK2xvb2soY2hhciAqZnJvbnQsIGNoYXIgKmJhY2spCit7CisJaW50IGNoOworCWNoYXIgKnJlYWRwLCAqd3JpdGVwOworCisJLyogUmVmb3JtYXQgc3RyaW5nIHRvIGF2b2lkIGRvaW5nIGl0IG11bHRpcGxlIHRpbWVzIGxhdGVyLiAqLworCWlmIChkZmxhZykgeworCQlmb3IgKHJlYWRwID0gd3JpdGVwID0gc3RyaW5nOyAoY2ggPSAqcmVhZHArKykgIT0gMDspIHsKKwkJCWlmIChpc2FsbnVtKGNoKSB8fCBpc2JsYW5rKGNoKSkKKwkJCQkqKHdyaXRlcCsrKSA9IGNoOworCQl9CisJCSp3cml0ZXAgPSAnXDAnOworCQlzdHJpbmdsZW4gPSB3cml0ZXAgLSBzdHJpbmc7CisJfSBlbHNlCisJCXN0cmluZ2xlbiA9IHN0cmxlbihzdHJpbmcpOworCisJY29tcGFyYnVmID0geG1hbGxvYyhzdHJpbmdsZW4rMSk7CisKKwlmcm9udCA9IGJpbmFyeV9zZWFyY2goZnJvbnQsIGJhY2spOworCWZyb250ID0gbGluZWFyX3NlYXJjaChmcm9udCwgYmFjayk7CisKKwlpZiAoZnJvbnQpCisJCXByaW50X2Zyb20oZnJvbnQsIGJhY2spOworCisJZnJlZShjb21wYXJidWYpOworCisJcmV0dXJuIChmcm9udCA/IDAgOiAxKTsKK30KKworCisvKgorICogQmluYXJ5IHNlYXJjaCBmb3IgInN0cmluZyIgaW4gbWVtb3J5IGJldHdlZW4gImZyb250IiBhbmQgImJhY2siLgorICoKKyAqIFRoaXMgcm91dGluZSBpcyBleHBlY3RlZCB0byByZXR1cm4gYSBwb2ludGVyIHRvIHRoZSBzdGFydCBvZiBhIGxpbmUgYXQKKyAqICpvciBiZWZvcmUqIHRoZSBmaXJzdCB3b3JkIG1hdGNoaW5nICJzdHJpbmciLiAgUmVsYXhpbmcgdGhlIGNvbnN0cmFpbnQKKyAqIHRoaXMgd2F5IHNpbXBsaWZpZXMgdGhlIGFsZ29yaXRobS4KKyAqCisgKiBJbnZhcmlhbnRzOgorICogCWZyb250IHBvaW50cyB0byB0aGUgYmVnaW5uaW5nIG9mIGEgbGluZSBhdCBvciBiZWZvcmUgdGhlIGZpcnN0CisgKgltYXRjaGluZyBzdHJpbmcuCisgKgorICogCWJhY2sgcG9pbnRzIHRvIHRoZSBiZWdpbm5pbmcgb2YgYSBsaW5lIGF0IG9yIGFmdGVyIHRoZSBmaXJzdAorICoJbWF0Y2hpbmcgbGluZS4KKyAqCisgKiBBZHZhbmNpbmcgdGhlIEludmFyaWFudHM6CisgKgorICogCXAgPSBmaXJzdCBuZXdsaW5lIGFmdGVyIGhhbGZ3YXkgcG9pbnQgZnJvbSBmcm9udCB0byBiYWNrLgorICoKKyAqIAlJZiB0aGUgc3RyaW5nIGF0ICJwIiBpcyBub3QgZ3JlYXRlciB0aGFuIHRoZSBzdHJpbmcgdG8gbWF0Y2gsCisgKglwIGlzIHRoZSBuZXcgZnJvbnQuICBPdGhlcndpc2UgaXQgaXMgdGhlIG5ldyBiYWNrLgorICoKKyAqIFRlcm1pbmF0aW9uOgorICoKKyAqIAlUaGUgZGVmaW5pdGlvbiBvZiB0aGUgcm91dGluZSBhbGxvd3MgaXQgcmV0dXJuIGF0IGFueSBwb2ludCwKKyAqCXNpbmNlIGZyb250IGlzIGFsd2F5cyBhdCBvciBiZWZvcmUgdGhlIGxpbmUgdG8gcHJpbnQuCisgKgorICogCUluIGZhY3QsIGl0IHJldHVybnMgd2hlbiB0aGUgY2hvc2VuICJwIiBlcXVhbHMgImJhY2siLiAgVGhpcworICoJaW1wbGllcyB0aGF0IHRoZXJlIGV4aXN0cyBhIHN0cmluZyBpcyBsZWFzdCBoYWxmIGFzIGxvbmcgYXMKKyAqCShiYWNrIC0gZnJvbnQpLCB3aGljaCBpbiB0dXJuIGltcGxpZXMgdGhhdCBhIGxpbmVhciBzZWFyY2ggd2lsbAorICoJYmUgbm8gbW9yZSBleHBlbnNpdmUgdGhhbiB0aGUgY29zdCBvZiBzaW1wbHkgcHJpbnRpbmcgYSBzdHJpbmcgb3IgdHdvLgorICoKKyAqIAlUcnlpbmcgdG8gY29udGludWUgd2l0aCBiaW5hcnkgc2VhcmNoIGF0IHRoaXMgcG9pbnQgd291bGQgYmUKKyAqCW1vcmUgdHJvdWJsZSB0aGFuIGl0J3Mgd29ydGguCisgKi8KKyNkZWZpbmUJU0tJUF9QQVNUX05FV0xJTkUocCwgYmFjaykgXAorCXdoaWxlIChwIDwgYmFjayAmJiAqcCsrICE9ICdcbicpCisKK3N0YXRpYyBjaGFyICoKK2JpbmFyeV9zZWFyY2goY2hhciAqZnJvbnQsIGNoYXIgKmJhY2spCit7CisJY2hhciAqcDsKKworCXAgPSBmcm9udCArIChiYWNrIC0gZnJvbnQpIC8gMjsKKwlTS0lQX1BBU1RfTkVXTElORShwLCBiYWNrKTsKKworCS8qCisJICogSWYgdGhlIGZpbGUgY2hhbmdlcyB1bmRlcm5lYXRoIHVzLCBtYWtlIHN1cmUgd2UgZG9uJ3QKKwkgKiBpbmZpbml0ZWx5IGxvb3AuCisJICovCisJd2hpbGUgKHAgPCBiYWNrICYmIGJhY2sgPiBmcm9udCkgeworCQlpZiAoY29tcGFyZShwLCBiYWNrKSA9PSBHUkVBVEVSKQorCQkJZnJvbnQgPSBwOworCQllbHNlCisJCQliYWNrID0gcDsKKwkJcCA9IGZyb250ICsgKGJhY2sgLSBmcm9udCkgLyAyOworCQlTS0lQX1BBU1RfTkVXTElORShwLCBiYWNrKTsKKwl9CisJcmV0dXJuIChmcm9udCk7Cit9CisKKy8qCisgKiBGaW5kIHRoZSBmaXJzdCBsaW5lIHRoYXQgc3RhcnRzIHdpdGggc3RyaW5nLCBsaW5lYXJseSBzZWFyY2hpbmcgZnJvbSBmcm9udAorICogdG8gYmFjay4KKyAqCisgKiBSZXR1cm4gTlVMTCBmb3Igbm8gc3VjaCBsaW5lLgorICoKKyAqIFRoaXMgcm91dGluZSBhc3N1bWVzOgorICoKKyAqIAlvIGZyb250IHBvaW50cyBhdCB0aGUgZmlyc3QgY2hhcmFjdGVyIGluIGEgbGluZS4KKyAqCW8gZnJvbnQgaXMgYmVmb3JlIG9yIGF0IHRoZSBmaXJzdCBsaW5lIHRvIGJlIHByaW50ZWQuCisgKi8KK3N0YXRpYyBjaGFyICoKK2xpbmVhcl9zZWFyY2goY2hhciAqZnJvbnQsIGNoYXIgKmJhY2spCit7CisJd2hpbGUgKGZyb250IDwgYmFjaykgeworCQlzd2l0Y2ggKGNvbXBhcmUoZnJvbnQsIGJhY2spKSB7CisJCWNhc2UgRVFVQUw6CQkvKiBGb3VuZCBpdC4gKi8KKwkJCXJldHVybiAoZnJvbnQpOworCQljYXNlIExFU1M6CQkvKiBObyBzdWNoIHN0cmluZy4gKi8KKwkJCXJldHVybiAoTlVMTCk7CisJCWNhc2UgR1JFQVRFUjoJCS8qIEtlZXAgZ29pbmcuICovCisJCQlicmVhazsKKwkJfQorCQlTS0lQX1BBU1RfTkVXTElORShmcm9udCwgYmFjayk7CisJfQorCXJldHVybiAoTlVMTCk7Cit9CisKKy8qCisgKiBQcmludCBhcyBtYW55IGxpbmVzIGFzIG1hdGNoIHN0cmluZywgc3RhcnRpbmcgYXQgZnJvbnQuCisgKi8KK3N0YXRpYyB2b2lkCitwcmludF9mcm9tKGNoYXIgKmZyb250LCBjaGFyICpiYWNrKQoreworCWludCBlb2w7CisKKwl3aGlsZSAoZnJvbnQgPCBiYWNrICYmIGNvbXBhcmUoZnJvbnQsIGJhY2spID09IEVRVUFMKSB7CisJCWlmIChjb21wYXJlKGZyb250LCBiYWNrKSA9PSBFUVVBTCkgeworCQkJZW9sID0gMDsKKwkJCXdoaWxlIChmcm9udCA8IGJhY2sgJiYgIWVvbCkgeworCQkJCWlmIChwdXRjaGFyKCpmcm9udCkgPT0gRU9GKQorCQkJCQllcnIoRVhJVF9GQUlMVVJFLCAic3Rkb3V0Iik7CisJCQkJaWYgKCpmcm9udCsrID09ICdcbicpCisJCQkJCWVvbCA9IDE7CisJCQl9CisJCX0gZWxzZQorCQkJU0tJUF9QQVNUX05FV0xJTkUoZnJvbnQsIGJhY2spOworCX0KK30KKworLyoKKyAqIFJldHVybiBMRVNTLCBHUkVBVEVSLCBvciBFUVVBTCBkZXBlbmRpbmcgb24gaG93ICBzdHJpbmcgIGNvbXBhcmVzIHdpdGgKKyAqIHN0cmluZzIgKHMxID8/PyBzMikuCisgKgorICogCW8gTWF0Y2hlcyB1cCB0byBsZW4oczEpIGFyZSBFUVVBTC4KKyAqCW8gTWF0Y2hlcyB1cCB0byBsZW4oczIpIGFyZSBHUkVBVEVSLgorICoKKyAqIENvbXBhcmUgdW5kZXJzdGFuZHMgYWJvdXQgdGhlIC1mIGFuZCAtZCBmbGFncywgYW5kIHRyZWF0cyBjb21wYXJpc29ucworICogYXBwcm9wcmlhdGVseS4KKyAqCisgKiBUaGUgc3RyaW5nICJzdHJpbmciIGlzIG51bGwgdGVybWluYXRlZC4gIFRoZSBzdHJpbmcgInMyIiBpcyAnXG4nIHRlcm1pbmF0ZWQKKyAqIChvciAiczJlbmQiIHRlcm1pbmF0ZWQpLgorICoKKyAqIFdlIHVzZSBzdHJjYXNlY21wIGV0Yywgc2luY2UgaXQga25vd3MgaG93IHRvIGlnbm9yZSBjYXNlIGFsc28KKyAqIGluIG90aGVyIGxvY2FsZXMuCisgKi8KK3N0YXRpYyBpbnQKK2NvbXBhcmUoY2hhciAqczIsIGNoYXIgKnMyZW5kKSB7CisJaW50IGk7CisJY2hhciAqcDsKKworCS8qIGNvcHksIGlnbm9yaW5nIHRoaW5ncyB0aGF0IHNob3VsZCBiZSBpZ25vcmVkICovCisJcCA9IGNvbXBhcmJ1ZjsKKwlpID0gc3RyaW5nbGVuOworCXdoaWxlKHMyIDwgczJlbmQgJiYgKnMyICE9ICdcbicgJiYgaSkgeworCQlpZiAoIWRmbGFnIHx8IGlzYWxudW0oKnMyKSB8fCBpc2JsYW5rKCpzMikpCisJCXsKKwkJCSpwKysgPSAqczI7CisJCQlpLS07CisJCX0KKwkJczIrKzsKKwl9CisJKnAgPSAwOworCisJLyogYW5kIGNvbXBhcmUgKi8KKwlpZiAoZmZsYWcpCisJCWkgPSBzdHJuY2FzZWNtcChjb21wYXJidWYsIHN0cmluZywgc3RyaW5nbGVuKTsKKwllbHNlCisJCWkgPSBzdHJuY21wKGNvbXBhcmJ1Ziwgc3RyaW5nLCBzdHJpbmdsZW4pOworCisJcmV0dXJuICgoaSA+IDApID8gTEVTUyA6IChpIDwgMCkgPyBHUkVBVEVSIDogRVFVQUwpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI2KSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJsb29rKDEpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy9sc2Jsay44IGIvbWlzYy11dGlscy9sc2Jsay44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYzI3ODgKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xzYmxrLjgKQEAgLTAsMCArMSwxOTAgQEAKKy5USCBMU0JMSyA4ICJGZWJydWFyeSAyMDEzIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitsc2JsayBcLSBsaXN0IGJsb2NrIGRldmljZXMKKy5TSCBTWU5PUFNJUworLkIgbHNibGsKK1tvcHRpb25zXQorLlJJIFsgZGV2aWNlIC4uLl0KKy5TSCBERVNDUklQVElPTgorLkIgbHNibGsKK2xpc3RzIGluZm9ybWF0aW9uIGFib3V0IGFsbCBhdmFpbGFibGUgb3IgdGhlIHNwZWNpZmllZCBibG9jayBkZXZpY2VzLiAgVGhlCisuQiBsc2JsaworY29tbWFuZCByZWFkcyB0aGUKKy5CIHN5c2ZzCitmaWxlc3lzdGVtIGFuZAorLkIgdWRldiBkYgordG8gZ2F0aGVyIGluZm9ybWF0aW9uLiBJZiB0aGUgdWRldiBkYiBpcyBub3QgYXZhaWxhYmxlIG9yIGxzYmxrIGlzIGNvbXBpbGVkIHdpdGhvdXQgdWRldiBzdXBwb3J0IHRoYW4gaXQKK3RyaWVzIHRvIHJlYWQgTEFCRUxzLCBVVUlEcyBhbmQgZmlsZXN5c3RlbSB0eXBlcyBmcm9tIHRoZSBibG9jayBkZXZpY2UuIEluIHRoaXMgY2FzZSByb290IHBlcm1pc3Npb25zCithcmUgbmVjZXNzYXJ5LgorLlBQCitUaGUgY29tbWFuZCBwcmludHMgYWxsIGJsb2NrIGRldmljZXMgKGV4Y2VwdCBSQU0gZGlza3MpIGluIGEgdHJlZS1saWtlIGZvcm1hdAorYnkgZGVmYXVsdC4gIFVzZQorLkIgImxzYmxrIC0taGVscCIKK3RvIGdldCBhIGxpc3Qgb2YgYWxsIGF2YWlsYWJsZSBjb2x1bW5zLgorLlBQCitUaGUgZGVmYXVsdCBvdXRwdXQsIGFzIHdlbGwgYXMgdGhlIGRlZmF1bHQgb3V0cHV0IGZyb20gb3B0aW9ucyBsaWtlCisuQiBcLVwtZnMKK2FuZAorLkJSIFwtXC10b3BvbG9neSAsCitpcyBzdWJqZWN0IHRvIGNoYW5nZS4gIFNvIHdoZW5ldmVyIHBvc3NpYmxlLCB5b3Ugc2hvdWxkIGF2b2lkIHVzaW5nIGRlZmF1bHQKK291dHB1dHMgaW4geW91ciBzY3JpcHRzLiAgQWx3YXlzIGV4cGxpY2l0bHkgZGVmaW5lIGV4cGVjdGVkIGNvbHVtbnMgYnkgdXNpbmcKKy5CIFwtXC1vdXRwdXQKKy5JIGNvbHVtbnMtbGlzdAoraW4gZW52aXJvbm1lbnRzIHdoZXJlIGEgc3RhYmxlIG91dHB1dCBpcyByZXF1aXJlZC4KKy5QUAorTm90ZSB0aGF0CisuQiBsc2JsaworbWlnaHQgYmUgZXhlY3V0ZWQgaW4gdGltZSB3aGVuCisuQiB1ZGV2Citkb2VzIG5vdCBoYXZlIGFsbCBpbmZvcm1hdGlvbiBhYm91dCByZWNlbnRseSBhZGRlZCBvciBtb2RpZmllZCBkZXZpY2VzIHlldC4gSW4gdGhpcworY2FzZSBpdCBpcyByZWNvbW1lbmRlZCB0byB1c2UKKy5CICJ1ZGV2YWRtIHNldHRsZSIKK2JlZm9yZSBsc2JsayB0byBzeW5jaHJvbml6ZSB3aXRoIHVkZXYuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICwgIiBcLVwtYWxsIgorQWxzbyBsaXN0IGVtcHR5IGRldmljZXMgYW5kIFJBTSBkaXNrIGRldmljZXMuCisuVFAKKy5CUiBcLWIgLCAiIFwtXC1ieXRlcyIKK1ByaW50IHRoZSBTSVpFIGNvbHVtbiBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBhIGh1bWFuLXJlYWRhYmxlIGZvcm1hdC4KKy5UUAorLkJSIFwtRCAsICIgXC1cLWRpc2NhcmQiCitQcmludCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZGlzY2FyZGluZyBjYXBhYmlsaXRpZXMgKFRSSU0sIFVOTUFQKSBmb3IgZWFjaCBkZXZpY2UuCisuVFAKKy5CUiBcLXogLCAiIFwtXC16b25lZCIKK1ByaW50IHRoZSB6b25lIG1vZGVsIGZvciBlYWNoIGRldmljZS4KKy5UUAorLkJSIFwtZCAsICIgXC1cLW5vZGVwcyIKK0RvIG5vdCBwcmludCBob2xkZXIgZGV2aWNlcyBvciBzbGF2ZXMuICBGb3IgZXhhbXBsZSwgXGZCbHNibGsgLS1ub2RlcHMgL2Rldi9zZGFcZlIgcHJpbnRzCitpbmZvcm1hdGlvbiBhYm91dCB0aGUgc2RhIGRldmljZSBvbmx5LgorLlRQCisuQlIgXC1lICwgIiBcLVwtZXhjbHVkZSAiIFxmSWxpc3RcZlAKK0V4Y2x1ZGUgdGhlIGRldmljZXMgc3BlY2lmaWVkIGJ5IHRoZSBjb21tYS1zZXBhcmF0ZWQgXGZJbGlzdFxmUiBvZiBtYWpvciBkZXZpY2UgbnVtYmVycy4KK05vdGUgdGhhdCBSQU0gZGlza3MgKG1ham9yPTEpIGFyZSBleGNsdWRlZCBieSBkZWZhdWx0IGlmIFxmQlwtXC1hbGxcZlIgaXMgbm8gc3BlY2lmaWVkLgorVGhlIGZpbHRlciBpcyBhcHBsaWVkIHRvIHRoZSB0b3AtbGV2ZWwgZGV2aWNlcyBvbmx5LiBUaGlzIG1heWJlIGJlIGNvbmZ1c2luZyBmb3IKK1xmQlwtXC1saXN0XGZSIG91dHB1dCBmb3JtYXQgd2hlcmUgaGllcmFyY2h5IG9mIHRoZSBkZXZpY2VzIGlzIG5vdCBvYnZpb3VzLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZnMiCitPdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtcy4gIFRoaXMgb3B0aW9uIGlzIGVxdWl2YWxlbnQgdG8KKy5CUiAtb1wgTkFNRSxGU1RZUEUsTEFCRUwsVVVJRCxNT1VOVFBPSU5UIC4KK1RoZSBhdXRob3JpdGF0aXZlIGluZm9ybWF0aW9uIGFib3V0IGZpbGVzeXN0ZW1zIGFuZCByYWlkcyBpcyBwcm92aWRlZCBieSB0aGUKKy5CUiBibGtpZCAoOCkKK2NvbW1hbmQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLUkgLCAiIFwtXC1pbmNsdWRlICIgXGZJbGlzdFxmUAorSW5jbHVkZSBkZXZpY2VzIHNwZWNpZmllZCBieSB0aGUgY29tbWEtc2VwYXJhdGVkIFxmSWxpc3RcZlIgb2YgbWFqb3IgZGV2aWNlIG51bWJlcnMuCitUaGUgZmlsdGVyIGlzIGFwcGxpZWQgdG8gdGhlIHRvcC1sZXZlbCBkZXZpY2VzIG9ubHkuIFRoaXMgbWF5YmUgYmUgY29uZnVzaW5nIGZvcgorXGZCXC1cLWxpc3RcZlIgb3V0cHV0IGZvcm1hdCB3aGVyZSBoaWVyYXJjaHkgb2YgdGhlIGRldmljZXMgaXMgbm90IG9idmlvdXMuCisuVFAKKy5CUiBcLWkgLCAiIFwtXC1hc2NpaSIKK1VzZSBBU0NJSSBjaGFyYWN0ZXJzIGZvciB0cmVlIGZvcm1hdHRpbmcuCisuVFAKKy5CUiBcLUogLCAiIFwtXC1qc29uIgorVXNlIEpTT04gb3V0cHV0IGZvcm1hdC4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxpc3QiCitQcm9kdWNlIG91dHB1dCBpbiB0aGUgZm9ybSBvZiBhIGxpc3QuCisuVFAKKy5CUiBcLW0gLCAiIFwtXC1wZXJtcyIKK091dHB1dCBpbmZvIGFib3V0IGRldmljZSBvd25lciwgZ3JvdXAgYW5kIG1vZGUuICBUaGlzIG9wdGlvbiBpcyBlcXVpdmFsZW50IHRvCisuQlIgLW9cIE5BTUUsU0laRSxPV05FUixHUk9VUCxNT0RFIC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vaGVhZGluZ3MiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW91dHB1dCAiIFxmSWxpc3RcZlAKK1NwZWNpZnkgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gcHJpbnQuICBVc2UKKy5CIFwtXC1oZWxwCit0byBnZXQgYSBsaXN0IG9mIGFsbCBzdXBwb3J0ZWQgY29sdW1ucy4KKworVGhlIGRlZmF1bHQgbGlzdCBvZiBjb2x1bW5zIG1heSBiZSBleHRlbmRlZCBpZiBcZklsaXN0XGZQIGlzCitzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCBcZkkrbGlzdFxmUCAoZS5nLiBcZkJsc2JsayAtbyArVVVJRFxmUCkuCisuVFAKKy5CUiBcLU8gLCAiIFwtXC1vdXRwdXRcLWFsbCAiCitPdXRwdXQgYWxsIGF2YWlsYWJsZSBjb2x1bW5zLgorLlRQCisuQlIgXC1QICwgIiBcLVwtcGFpcnMiCitQcm9kdWNlIG91dHB1dCBpbiB0aGUgZm9ybSBvZiBrZXk9InZhbHVlIiBwYWlycy4KK0FsbCBwb3RlbnRpYWxseSB1bnNhZmUgY2hhcmFjdGVycyBhcmUgaGV4LWVzY2FwZWQgKFxceDxjb2RlPikuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1wYXRocyIKK1ByaW50IGZ1bGwgZGV2aWNlIHBhdGhzLgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmF3IgorUHJvZHVjZSBvdXRwdXQgaW4gcmF3IGZvcm1hdC4gIEFsbCBwb3RlbnRpYWxseSB1bnNhZmUgY2hhcmFjdGVycyBhcmUgaGV4LWVzY2FwZWQKKyhcXHg8Y29kZT4pIGluIHRoZSBOQU1FLCBLTkFNRSwgTEFCRUwsIFBBUlRMQUJFTCBhbmQgTU9VTlRQT0lOVCBjb2x1bW5zLgorLlRQCisuQlIgXC1TICwgIiBcLVwtc2NzaSIKK091dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlcyBvbmx5LiAgQWxsIHBhcnRpdGlvbnMsIHNsYXZlcyBhbmQgaG9sZGVyIGRldmljZXMgYXJlIGlnbm9yZWQuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1pbnZlcnNlIgorUHJpbnQgZGVwZW5kZW5jaWVzIGluIGludmVyc2Ugb3JkZXIuIElmIHRoZSBcZkJcLVwtbGlzdFxmUiBvdXRwdXQgaXMgcmVxdWVzdGVkIHRoZW4KK3RoZSBsaW5lcyBhcmUgc3RpbGwgb3JkZXJlZCBieSBkZXBlbmRlbmNpZXMuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10b3BvbG9neSIKK091dHB1dCBpbmZvIGFib3V0IGJsb2NrLWRldmljZSB0b3BvbG9neS4KK1RoaXMgb3B0aW9uIGlzIGVxdWl2YWxlbnQgdG8KKy5CUiAtb1wgTkFNRSxBTElHTk1FTlQsTUlOLUlPLE9QVC1JTyxQSFktU0VDLExPRy1TRUMsUk9UQSxTQ0hFRCxSUS1TSVpFLFJBLFdTQU1FIC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLXggLCAiIFwtXC1zb3J0ICIgXGZJY29sdW1uXGZQCitTb3J0IG91dHB1dCBsaW5lcyBieSBcZkljb2x1bW5cZlAuIFRoaXMgb3B0aW9uIGVuYWJsZXMgXGZCXC1cLWxpc3RcZlIgb3V0cHV0IGZvcm1hdCBieSBkZWZhdWx0LgorSXQgaXMgcG9zc2libGUgdG8gdXNlIHRoZSBvcHRpb24gXGZJXC1cLXRyZWVcZlAgdG8gZm9yY2UgdHJlZS1saWtlIG91dHB1dCBhbmQKK3RoYW4gdGhlIHRyZWUgYnJhbmNoZXMgYXJlIHNvcnRlZCBieSB0aGUgXGZJY29sdW1uXGZQLgorLlRQCisuQlIgIiBcLVwtc3lzcm9vdCAiIFxmSWRpcmVjdG9yeVxmUAorR2F0aGVyIGRhdGEgZm9yIGEgTGludXggaW5zdGFuY2Ugb3RoZXIgdGhhbiB0aGUgaW5zdGFuY2UgZnJvbSB3aGljaCB0aGUgbHNibGsKK2NvbW1hbmQgaXMgaXNzdWVkLiAgVGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgaXMgdGhlIHN5c3RlbSByb290IG9mIHRoZSBMaW51eAoraW5zdGFuY2UgdG8gYmUgaW5zcGVjdGVkLiAgVGhpcyBvcHRpb24gaXMgZGVzaWduZWQgZm9yIHRoZSB0ZXN0aW5nIHB1cnBvc2UuCisKKy5TSCBOT1RFUworRm9yIHBhcnRpdGlvbnMsIHNvbWUgaW5mb3JtYXRpb24gKGUuZy4gcXVldWUgYXR0cmlidXRlcykgaXMgaW5oZXJpdGVkIGZyb20gdGhlCitwYXJlbnQgZGV2aWNlLgorLlBQCitUaGUKKy5CIGxzYmxrCitjb21tYW5kIG5lZWRzIHRvIGJlIGFibGUgdG8gbG9vayB1cCBlYWNoIGJsb2NrIGRldmljZSBieSBtYWpvcjptaW5vciBudW1iZXJzLAord2hpY2ggaXMgZG9uZSBieSB1c2luZworLklSIC9zeXMvZGV2L2Jsb2NrIC4KK1RoaXMgc3lzZnMgYmxvY2sgZGlyZWN0b3J5IGFwcGVhcmVkIGluIGtlcm5lbCAyLjYuMjcgKE9jdG9iZXIgMjAwOCkuCitJbiBjYXNlIG9mIHByb2JsZW1zIHdpdGggYSBuZXcgZW5vdWdoIGtlcm5lbCwgY2hlY2sgdGhhdCBDT05GSUdfU1lTRlMKK3dhcyBlbmFibGVkIGF0IHRoZSB0aW1lIG9mIHRoZSBrZXJuZWwgYnVpbGQuCisKKy5TSCBSRVRVUk4gQ09ERVMKKy5JUCAwCitzdWNjZXNzCisuSVAgMQorZmFpbHVyZQorLklQIDMyCitub25lIG9mIHNwZWNpZmllZCBkZXZpY2VzIGZvdW5kCisuSVAgNjQKK3NvbWUgc3BlY2lmaWVkIGRldmljZXMgZm91bmQsIHNvbWUgbm90IGZvdW5kCisKKy5TSCBBVVRIT1JTCisubmYKK01pbGFuIEJyb3ogPG1icm96QHJlZGhhdC5jb20+CitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5maQorLlNIIEVOVklST05NRU5UCisuSVAgTFNCTEtfREVCVUc9YWxsCitlbmFibGVzIGxzYmxrIGRlYnVnIG91dHB1dC4KKy5JUCBMSUJCTEtJRF9ERUJVRz1hbGwKK2VuYWJsZXMgbGliYmxraWQgZGVidWcgb3V0cHV0LgorLklQIExJQk1PVU5UX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJtb3VudCBkZWJ1ZyBvdXRwdXQuCisuSVAgTElCU01BUlRDT0xTX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJzbWFydGNvbHMgZGVidWcgb3V0cHV0LgorLklQIExJQlNNQVJUQ09MU19ERUJVR19QQURESU5HPW9uCit1c2UgdmlzaWJsZSBwYWRkaW5nIGNoYXJhY3RlcnMuIFJlcXVpcmVzIGVuYWJsZWQgTElCU01BUlRDT0xTX0RFQlVHLgorLlNIIFNFRSBBTFNPCisuQlIgbHMgKDEpLAorLkJSIGJsa2lkICg4KSwKKy5CUiBmaW5kbW50ICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGxzYmxrIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2xzYmxrLmMgYi9taXNjLXV0aWxzL2xzYmxrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjc1MzM3NQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbHNibGsuYwpAQCAtMCwwICsxLDIwNTcgQEAKKy8qCisgKiBsc2Jsayg4KSAtIGxpc3QgYmxvY2sgZGV2aWNlcworICoKKyAqIENvcHlyaWdodCAoQykgMjAxMCwyMDExLDIwMTIgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBNaWxhbiBCcm96IDxtYnJvekByZWRoYXQuY29tPgorICogICAgICAgICAgICBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPGxvY2FsZS5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPGdycC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlIDxibGtpZC5oPgorI2luY2x1ZGUgPGxpYm1vdW50Lmg+CisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisKKyNpZmRlZiBIQVZFX0xJQlVERVYKKyNpbmNsdWRlIDxsaWJ1ZGV2Lmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGFzc2VydC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImJsa2Rldi5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAic3lzZnMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm1hbmdsZS5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisKKyNpbmNsdWRlICJkZWJ1Zy5oIgorCitzdGF0aWMgVUxfREVCVUdfREVGSU5FX01BU0sobHNibGspOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsc2JsaykgPSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVM7CisKKyNkZWZpbmUgTFNCTEtfREVCVUdfSU5JVAkoMSA8PCAxKQorI2RlZmluZSBMU0JMS19ERUJVR19GSUxURVIJKDEgPDwgMikKKyNkZWZpbmUgTFNCTEtfREVCVUdfREVWCQkoMSA8PCAzKQorI2RlZmluZSBMU0JMS19ERUJVR19DWFQJCSgxIDw8IDQpCisjZGVmaW5lIExTQkxLX0RFQlVHX0FMTAkJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKGxzYmxrLCBMU0JMS19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKGxzYmxrLCBMU0JMS19ERUJVR18sIG0sIHgpCisKKyNkZWZpbmUgVUxfREVCVUdfQ1VSUkVOVF9NQVNLCVVMX0RFQlVHX01BU0sobHNibGspCisjaW5jbHVkZSAiZGVidWdvYmouaCIKKworI2RlZmluZSBMU0JMS19FWElUX1NPTUVPSyA2NAorI2RlZmluZSBMU0JMS19FWElUX0FMTEZBSUxFRCAzMgorCitzdGF0aWMgaW50IGNvbHVtbl9pZF90b19udW1iZXIoaW50IGlkKTsKKworLyogY29sdW1uIElEcyAqLworZW51bSB7CisJQ09MX05BTUUgPSAwLAorCUNPTF9LTkFNRSwKKwlDT0xfUEFUSCwKKwlDT0xfTUFKTUlOLAorCUNPTF9GU1RZUEUsCisJQ09MX1RBUkdFVCwKKwlDT0xfTEFCRUwsCisJQ09MX1VVSUQsCisJQ09MX1BUVVVJRCwKKwlDT0xfUFRUWVBFLAorCUNPTF9QQVJUVFlQRSwKKwlDT0xfUEFSVExBQkVMLAorCUNPTF9QQVJUVVVJRCwKKwlDT0xfUEFSVEZMQUdTLAorCUNPTF9SQSwKKwlDT0xfUk8sCisJQ09MX1JNLAorCUNPTF9IT1RQTFVHLAorCUNPTF9NT0RFTCwKKwlDT0xfU0VSSUFMLAorCUNPTF9TSVpFLAorCUNPTF9TVEFURSwKKwlDT0xfT1dORVIsCisJQ09MX0dST1VQLAorCUNPTF9NT0RFLAorCUNPTF9BTElPRkYsCisJQ09MX01JTklPLAorCUNPTF9PUFRJTywKKwlDT0xfUEhZU0VDLAorCUNPTF9MT0dTRUMsCisJQ09MX1JPVEEsCisJQ09MX1NDSEVELAorCUNPTF9SUV9TSVpFLAorCUNPTF9UWVBFLAorCUNPTF9EQUxJR04sCisJQ09MX0RHUkFOLAorCUNPTF9ETUFYLAorCUNPTF9EWkVSTywKKwlDT0xfV1NBTUUsCisJQ09MX1dXTiwKKwlDT0xfUkFORCwKKwlDT0xfUEtOQU1FLAorCUNPTF9IQ1RMLAorCUNPTF9UUkFOU1BPUlQsCisJQ09MX1NVQlNZUywKKwlDT0xfUkVWLAorCUNPTF9WRU5ET1IsCisJQ09MX1pPTkVELAorfTsKKworLyogYmFzaWMgdGFibGUgc2V0dGluZ3MgKi8KK2VudW0geworCUxTQkxLX0FTQ0lJID0JCSgxIDw8IDApLAorCUxTQkxLX1JBVyA9CQkoMSA8PCAxKSwKKwlMU0JMS19OT0hFQURJTkdTID0JKDEgPDwgMiksCisJTFNCTEtfRVhQT1JUID0JCSgxIDw8IDMpLAorCUxTQkxLX1RSRUUgPQkJKDEgPDwgNCksCisJTFNCTEtfSlNPTiA9CQkoMSA8PCA1KSwKK307CisKKy8qIFR5cGVzIHVzZWQgZm9yIHFzb3J0KCkgYW5kIEpTT04gKi8KK2VudW0geworCUNPTFRZUEVfU1RSCT0gMCwJLyogZGVmYXVsdCAqLworCUNPTFRZUEVfTlVNCT0gMSwJLyogYWx3YXlzIHU2NCBudW1iZXIgKi8KKwlDT0xUWVBFX1NPUlROVU0gPSAyLAkvKiBzdHJpbmcgb24gb3V0cHV0LCB1NjQgZm9yIHFzb3J0KCkgKi8KKwlDT0xUWVBFX1NJWkUJPSAzLAkvKiBzcnJpbmcgYnkgZGVmYXVsdCwgbnVtYmVyIHdoZW4gLS1ieXRlcyAqLworCUNPTFRZUEVfQk9PTAk9IDQJLyogMCBvciAxICovCit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyCSpuYW1lOwkJLyogaGVhZGVyICovCisJZG91YmxlCQl3aGludDsJCS8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludAkJZmxhZ3M7CQkvKiBTQ09MU19GTF8qICovCisJY29uc3QgY2hhciAgICAgICpoZWxwOworCisJaW50CQl0eXBlOwkJLyogQ09MVFlQRV8qICovCit9OworCisvKiBjb2x1bW5zIGRlc2NyaXB0aW9ucyAqLworc3RhdGljIHN0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9OQU1FXSAgID0geyAiTkFNRSIsICAgIDAuMjUsIFNDT0xTX0ZMX1RSRUUgfCBTQ09MU19GTF9OT0VYVFJFTUVTLCBOXygiZGV2aWNlIG5hbWUiKSB9LAorCVtDT0xfS05BTUVdICA9IHsgIktOQU1FIiwgICAwLjMsIDAsIE5fKCJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiKSB9LAorCVtDT0xfUEtOQU1FXSA9IHsgIlBLTkFNRSIsICAgMC4zLCAwLCBOXygiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIpIH0sCisJW0NPTF9QQVRIXSAgID0geyAiUEFUSCIsICAgIDAuMywgIDAsIE5fKCJwYXRoIHRvIHRoZSBkZXZpY2Ugbm9kZSIpIH0sCisJW0NPTF9NQUpNSU5dID0geyAiTUFKOk1JTiIsIDYsIDAsIE5fKCJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIiksIENPTFRZUEVfU09SVE5VTSB9LAorCVtDT0xfRlNUWVBFXSA9IHsgIkZTVFlQRSIsICAwLjEsIFNDT0xTX0ZMX1RSVU5DLCBOXygiZmlsZXN5c3RlbSB0eXBlIikgfSwKKwlbQ09MX1RBUkdFVF0gPSB7ICJNT1VOVFBPSU5UIiwgMC4xMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiKSB9LAorCVtDT0xfTEFCRUxdICA9IHsgIkxBQkVMIiwgICAwLjEsIDAsIE5fKCJmaWxlc3lzdGVtIExBQkVMIikgfSwKKwlbQ09MX1VVSURdICAgPSB7ICJVVUlEIiwgICAgMzYsICAwLCBOXygiZmlsZXN5c3RlbSBVVUlEIikgfSwKKworCVtDT0xfUFRVVUlEXSA9IHsgIlBUVVVJRCIsICAzNiwgIDAsIE5fKCJwYXJ0aXRpb24gdGFibGUgaWRlbnRpZmllciAodXN1YWxseSBVVUlEKSIpIH0sCisJW0NPTF9QVFRZUEVdID0geyAiUFRUWVBFIiwgIDAuMSwgMCwgTl8oInBhcnRpdGlvbiB0YWJsZSB0eXBlIikgfSwKKworCVtDT0xfUEFSVFRZUEVdICA9IHsgIlBBUlRUWVBFIiwgIDM2LCAgMCwgTl8oInBhcnRpdGlvbiB0eXBlIFVVSUQiKSB9LAorCVtDT0xfUEFSVExBQkVMXSA9IHsgIlBBUlRMQUJFTCIsIDAuMSwgMCwgTl8oInBhcnRpdGlvbiBMQUJFTCIpIH0sCisJW0NPTF9QQVJUVVVJRF0gID0geyAiUEFSVFVVSUQiLCAgMzYsICAwLCBOXygicGFydGl0aW9uIFVVSUQiKSB9LAorCVtDT0xfUEFSVEZMQUdTXSA9IHsgIlBBUlRGTEFHUyIsICAzNiwgIDAsIE5fKCJwYXJ0aXRpb24gZmxhZ3MiKSB9LAorCisJW0NPTF9SQV0gICAgID0geyAiUkEiLCAgICAgIDMsIFNDT0xTX0ZMX1JJR0hULCBOXygicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIiksIENPTFRZUEVfTlVNIH0sCisJW0NPTF9ST10gICAgID0geyAiUk8iLCAgICAgIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygicmVhZC1vbmx5IGRldmljZSIpLCBDT0xUWVBFX0JPT0wgfSwKKwlbQ09MX1JNXSAgICAgPSB7ICJSTSIsICAgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJyZW1vdmFibGUgZGV2aWNlIiksIENPTFRZUEVfQk9PTCB9LAorCVtDT0xfSE9UUExVR109IHsgIkhPVFBMVUciLCAxLCBTQ09MU19GTF9SSUdIVCwgTl8oInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiKSwgQ09MVFlQRV9CT09MIH0sCisJW0NPTF9ST1RBXSAgID0geyAiUk9UQSIsICAgIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygicm90YXRpb25hbCBkZXZpY2UiKSwgQ09MVFlQRV9CT09MIH0sCisJW0NPTF9SQU5EXSAgID0geyAiUkFORCIsICAgIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygiYWRkcyByYW5kb21uZXNzIiksIENPTFRZUEVfQk9PTCB9LAorCVtDT0xfTU9ERUxdICA9IHsgIk1PREVMIiwgICAwLjEsIFNDT0xTX0ZMX1RSVU5DLCBOXygiZGV2aWNlIGlkZW50aWZpZXIiKSB9LAorCVtDT0xfU0VSSUFMXSA9IHsgIlNFUklBTCIsICAwLjEsIFNDT0xTX0ZMX1RSVU5DLCBOXygiZGlzayBzZXJpYWwgbnVtYmVyIikgfSwKKwlbQ09MX1NJWkVdICAgPSB7ICJTSVpFIiwgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJzaXplIG9mIHRoZSBkZXZpY2UiKSwgQ09MVFlQRV9TSVpFIH0sCisJW0NPTF9TVEFURV0gID0geyAiU1RBVEUiLCAgIDcsIFNDT0xTX0ZMX1RSVU5DLCBOXygic3RhdGUgb2YgdGhlIGRldmljZSIpIH0sCisJW0NPTF9PV05FUl0gID0geyAiT1dORVIiLCAgIDAuMSwgU0NPTFNfRkxfVFJVTkMsIE5fKCJ1c2VyIG5hbWUiKSwgfSwKKwlbQ09MX0dST1VQXSAgPSB7ICJHUk9VUCIsICAgMC4xLCBTQ09MU19GTF9UUlVOQywgTl8oImdyb3VwIG5hbWUiKSB9LAorCVtDT0xfTU9ERV0gICA9IHsgIk1PREUiLCAgICAxMCwgICAwLCBOXygiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiKSB9LAorCVtDT0xfQUxJT0ZGXSA9IHsgIkFMSUdOTUVOVCIsIDYsIFNDT0xTX0ZMX1JJR0hULCBOXygiYWxpZ25tZW50IG9mZnNldCIpLCBDT0xUWVBFX05VTSB9LAorCVtDT0xfTUlOSU9dICA9IHsgIk1JTi1JTyIsICA2LCBTQ09MU19GTF9SSUdIVCwgTl8oIm1pbmltdW0gSS9PIHNpemUiKSwgQ09MVFlQRV9OVU0gfSwKKwlbQ09MX09QVElPXSAgPSB7ICJPUFQtSU8iLCAgNiwgU0NPTFNfRkxfUklHSFQsIE5fKCJvcHRpbWFsIEkvTyBzaXplIiksIENPTFRZUEVfTlVNIH0sCisJW0NPTF9QSFlTRUNdID0geyAiUEhZLVNFQyIsIDcsIFNDT0xTX0ZMX1JJR0hULCBOXygicGh5c2ljYWwgc2VjdG9yIHNpemUiKSwgQ09MVFlQRV9OVU0gfSwKKwlbQ09MX0xPR1NFQ10gPSB7ICJMT0ctU0VDIiwgNywgU0NPTFNfRkxfUklHSFQsIE5fKCJsb2dpY2FsIHNlY3RvciBzaXplIiksIENPTFRZUEVfTlVNIH0sCisJW0NPTF9TQ0hFRF0gID0geyAiU0NIRUQiLCAgIDAuMSwgMCwgTl8oIkkvTyBzY2hlZHVsZXIgbmFtZSIpIH0sCisJW0NPTF9SUV9TSVpFXT0geyAiUlEtU0laRSIsIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygicmVxdWVzdCBxdWV1ZSBzaXplIiksIENPTFRZUEVfTlVNIH0sCisJW0NPTF9UWVBFXSAgID0geyAiVFlQRSIsICAgIDQsIDAsIE5fKCJkZXZpY2UgdHlwZSIpIH0sCisJW0NPTF9EQUxJR05dID0geyAiRElTQy1BTE4iLCA2LCBTQ09MU19GTF9SSUdIVCwgTl8oImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIpLCBDT0xUWVBFX05VTSB9LAorCVtDT0xfREdSQU5dICA9IHsgIkRJU0MtR1JBTiIsIDYsIFNDT0xTX0ZMX1JJR0hULCBOXygiZGlzY2FyZCBncmFudWxhcml0eSIpLCBDT0xUWVBFX1NJWkUgfSwKKwlbQ09MX0RNQVhdICAgPSB7ICJESVNDLU1BWCIsIDYsIFNDT0xTX0ZMX1JJR0hULCBOXygiZGlzY2FyZCBtYXggYnl0ZXMiKSwgQ09MVFlQRV9TSVpFIH0sCisJW0NPTF9EWkVST10gID0geyAiRElTQy1aRVJPIiwgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJkaXNjYXJkIHplcm9lcyBkYXRhIiksIENPTFRZUEVfQk9PTCB9LAorCVtDT0xfV1NBTUVdICA9IHsgIldTQU1FIiwgICA2LCBTQ09MU19GTF9SSUdIVCwgTl8oIndyaXRlIHNhbWUgbWF4IGJ5dGVzIiksIENPTFRZUEVfU0laRSB9LAorCVtDT0xfV1dOXSAgICA9IHsgIldXTiIsICAgICAxOCwgMCwgTl8oInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiKSB9LAorCVtDT0xfSENUTF0gICA9IHsgIkhDVEwiLCAxMCwgMCwgTl8oIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIikgfSwKKwlbQ09MX1RSQU5TUE9SVF0gPSB7ICJUUkFOIiwgNiwgMCwgTl8oImRldmljZSB0cmFuc3BvcnQgdHlwZSIpIH0sCisJW0NPTF9TVUJTWVNdID0geyAiU1VCU1lTVEVNUyIsIDAuMSwgU0NPTFNfRkxfTk9FWFRSRU1FUywgTl8oImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIpIH0sCisJW0NPTF9SRVZdICAgID0geyAiUkVWIiwgICA0LCBTQ09MU19GTF9SSUdIVCwgTl8oImRldmljZSByZXZpc2lvbiIpIH0sCisJW0NPTF9WRU5ET1JdID0geyAiVkVORE9SIiwgMC4xLCBTQ09MU19GTF9UUlVOQywgTl8oImRldmljZSB2ZW5kb3IiKSB9LAorCVtDT0xfWk9ORURdICA9IHsgIlpPTkVEIiwgMC4zLCAwLCBOXygiem9uZSBtb2RlbCIpIH0sCit9OworCitzdHJ1Y3QgbHNibGsgeworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGU7CS8qIG91dHB1dCB0YWJsZSAqLworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKnNvcnRfY29sOy8qIHNvcnQgb3V0cHV0IGJ5IHRoaXMgY29sdW1uICovCisJaW50IHNvcnRfaWQ7CisKKwljb25zdCBjaGFyICpzeXNyb290OworCWludCBmbGFnczsJCQkvKiBMU0JMS18qICovCisKKwl1bnNpZ25lZCBpbnQgYWxsX2RldmljZXM6MTsJLyogcHJpbnQgYWxsIGRldmljZXMsIGluY2x1ZGluZyBlbXB0eSAqLworCXVuc2lnbmVkIGludCBieXRlczoxOwkJLyogcHJpbnQgU0laRSBpbiBieXRlcyAqLworCXVuc2lnbmVkIGludCBpbnZlcnNlOjE7CQkvKiBwcmludCBpbnZlcnNlIGRlcGVuZGVuY2llcyAqLworCXVuc2lnbmVkIGludCBub2RlcHM6MTsJCS8qIGRvbid0IHByaW50IHNsYXZlcy9ob2xkZXJzICovCisJdW5zaWduZWQgaW50IHNjc2k6MTsJCS8qIHByaW50IG9ubHkgZGV2aWNlIHdpdGggSENUTCAoU0NTSSkgKi8KKwl1bnNpZ25lZCBpbnQgcGF0aHM6MTsJCS8qIHByaW50IGRldm5hbWVzIHdpdGggIi9kZXYiIHByZWZpeCAqLworCXVuc2lnbmVkIGludCBzb3J0X2hpZGRlbjoxOwkvKiBzb3J0IGNvbHVtbiBub3QgYmV0d2VlbiBvdXRwdXQgY29sdW1ucyAqLworCXVuc2lnbmVkIGludCBmb3JjZV90cmVlX29yZGVyOjE7Lyogc29ydCBsaW5lcyBieSBwYXJlbnQtPnRyZWUgcmVsYXRpb24gKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgbHNibGsgKmxzYmxrOwkvKiBnbG9iYWwgaGFuZGxlciAqLworCisvKiBjb2x1bW5zW10gYXJyYXkgc3BlY2lmaWVzIGFsbCBjdXJyZW50bHkgd2FudGVkIG91dHB1dCBjb2x1bW4uIFRoZSBjb2x1bW5zCisgKiBhcmUgZGVmaW5lZCBieSBpbmZvc1tdIGFycmF5IGFuZCB5b3UgY2FuIHNwZWNpZnkgKG9uIGNvbW1hbmQgbGluZSkgZWFjaAorICogY29sdW1uIHR3aWNlLiBUaGF0J3MgZW5vdWdoLCBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYXJyYXkgb2YgdGhlIGNvbHVtbnMgaXMKKyAqIHVubmVjZXNzYXJ5IG92ZXJraWxsIGFuZCBvdmVyLWVuZ2luZWVyaW5nIGluIHRoaXMgY2FzZSAqLworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl07CitzdGF0aWMgc2l6ZV90IG5jb2x1bW5zOworCisKK3N0YXRpYyBpbmxpbmUgdm9pZCBhZGRfY29sdW1uKGludCBpZCkKK3sKKwlpZiAobmNvbHVtbnMgPj0gQVJSQVlfU0laRShjb2x1bW5zKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCAiCisJCQkJICAgICAidGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIiksCisJCQkJQVJSQVlfU0laRShjb2x1bW5zKSAtIDEpOworCWNvbHVtbnNbIG5jb2x1bW5zKysgXSA9ICBpZDsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGFkZF91bmlxX2NvbHVtbihpbnQgaWQpCit7CisJaWYgKGNvbHVtbl9pZF90b19udW1iZXIoaWQpIDwgMCkKKwkJYWRkX2NvbHVtbihpZCk7Cit9CisKK3N0YXRpYyBpbnQgZXhjbHVkZXNbMjU2XTsKK3N0YXRpYyBzaXplX3QgbmV4Y2x1ZGVzOworCitzdGF0aWMgaW50IGluY2x1ZGVzWzI1Nl07CitzdGF0aWMgc2l6ZV90IG5pbmNsdWRlczsKKworc3RhdGljIHN0cnVjdCBsaWJtbnRfdGFibGUgKm10YWIsICpzd2FwczsKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X2NhY2hlICptbnRjYWNoZTsKKworI2lmZGVmIEhBVkVfTElCVURFVgorc3RhdGljIHN0cnVjdCB1ZGV2ICp1ZGV2OworI2VuZGlmCisKK3N0cnVjdCBibGtkZXZfY3h0IHsKKwlzdHJ1Y3QgYmxrZGV2X2N4dCAqcGFyZW50OworCisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKnNjb2xzX2xpbmU7CisJc3RydWN0IHN0YXQJc3Q7CisKKwljaGFyICpuYW1lOwkJLyoga2VybmVsIG5hbWUgaW4gL3N5cy9ibG9jayAqLworCWNoYXIgKmRtX25hbWU7CQkvKiBETSBuYW1lIChkbS9ibG9jaykgKi8KKworCWNoYXIgKmZpbGVuYW1lOwkJLyogcGF0aCB0byBkZXZpY2Ugbm9kZSAqLworCisJc3RydWN0IHBhdGhfY3h0CSpzeXNmczsKKworCWludCBwYXJ0aXRpb247CQkvKiBpcyBwYXJ0aXRpb24/IFRSVUUvRkFMU0UgKi8KKworCWludCBwcm9iZWQ7CQkvKiBhbHJlYWR5IHByb2JlZCAqLworCWNoYXIgKmZzdHlwZTsJCS8qIGRldGVjdGVkIGZzLCBOVUxMIG9yICI/IiBpZiBjYW5ub3QgZGV0ZWN0ICovCisJY2hhciAqdXVpZDsJCS8qIGZpbGVzeXN0ZW0gVVVJRCAob3Igc3RhY2sgdXVpZCkgKi8KKwljaGFyICpwdHV1aWQ7CQkvKiBwYXJ0aXRpb24gdGFibGUgVVVJRCAqLworCWNoYXIgKnB0dHlwZTsJCS8qIHBhcnRpdGlvbiB0YWJsZSB0eXBlICovCisJY2hhciAqbGFiZWw7CQkvKiBmaWxlc3lzdGVtIGxhYmVsICovCisJY2hhciAqcGFydHR5cGU7CQkvKiBwYXJ0aXRpb24gdHlwZSBVVUlEICovCisJY2hhciAqcGFydHV1aWQ7CQkvKiBwYXJ0aXRpb24gVVVJRCAqLworCWNoYXIgKnBhcnRsYWJlbDsJLyogcGFydGl0aW9uIGxhYmVsICovCisJY2hhciAqcGFydGZsYWdzOwkvKiBwYXJ0aXRpb24gZmxhZ3MgKi8KKwljaGFyICp3d247CQkvKiBzdG9yYWdlIFdXTiAqLworCWNoYXIgKnNlcmlhbDsJCS8qIGRpc2sgc2VyaWFsIG51bWJlciAqLworCisJaW50IG5wYXJ0aXRpb25zOwkvKiAjIG9mIHBhcnRpdGlvbnMgdGhpcyBkZXZpY2UgaGFzICovCisJaW50IG5ob2xkZXJzOwkJLyogIyBvZiBkZXZpY2VzIG1hcHBlZCBkaXJlY3RseSB0byB0aGlzIGRldmljZQorCQkJCSAqIC9zeXMvYmxvY2svLi4uL2hvbGRlcnMgKi8KKwlpbnQgbnNsYXZlczsJCS8qICMgb2YgZGV2aWNlcyB0aGlzIGRldmljZSBtYXBzIHRvICovCisJaW50IG1haiwgbWluOwkJLyogZGV2bm8gKi8KKwlpbnQgZGlzY2FyZDsJCS8qIHN1cHBvcnRzIGRpc2NhcmQgKi8KKworCXVpbnQ2NF90IHNpemU7CQkvKiBkZXZpY2Ugc2l6ZSAqLworfTsKKworc3RhdGljIHZvaWQgbHNibGtfaW5pdF9kZWJ1Zyh2b2lkKQoreworCV9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVihsc2JsaywgTFNCTEtfREVCVUdfLCAwLCBMU0JMS19ERUJVRyk7Cit9CisKK3N0YXRpYyBpbnQgaXNfbWFqX2V4Y2x1ZGVkKGludCBtYWopCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQoQVJSQVlfU0laRShleGNsdWRlcykgPiBuZXhjbHVkZXMpOworCisJaWYgKCFuZXhjbHVkZXMpCisJCXJldHVybiAwOwkvKiBmaWx0ZXIgbm90IGVuYWJsZWQsIGRldmljZSBub3QgZXhjbHVkZWQgKi8KKworCWZvciAoaSA9IDA7IGkgPCBuZXhjbHVkZXM7IGkrKykgeworCQlpZiAoZXhjbHVkZXNbaV0gPT0gbWFqKSB7CisJCQlEQkcoRklMVEVSLCB1bF9kZWJ1ZygiZXhjbHVkZTogbWFqPSVkIiwgbWFqKSk7CisJCQlyZXR1cm4gMTsKKwkJfQorCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBpc19tYWpfaW5jbHVkZWQoaW50IG1haikKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChBUlJBWV9TSVpFKGluY2x1ZGVzKSA+IG5pbmNsdWRlcyk7CisKKwlpZiAoIW5pbmNsdWRlcykKKwkJcmV0dXJuIDE7CS8qIGZpbHRlciBub3QgZW5hYmxlZCwgZGV2aWNlIGlzIGluY2x1ZGVkICovCisKKwlmb3IgKGkgPSAwOyBpIDwgbmluY2x1ZGVzOyBpKyspIHsKKwkJaWYgKGluY2x1ZGVzW2ldID09IG1haikgeworCQkJREJHKEZJTFRFUiwgdWxfZGVidWcoImluY2x1ZGU6IG1haj0lZCIsIG1haikpOworCQkJcmV0dXJuIDE7CisJCX0KKwl9CisJcmV0dXJuIDA7Cit9CisKKy8qIGFycmF5IHdpdGggSURzIG9mIGVuYWJsZWQgY29sdW1ucyAqLworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA+PSAwKTsKKwlhc3NlcnQoKHNpemVfdCkgbnVtIDwgbmNvbHVtbnMpOworCWFzc2VydChjb2x1bW5zW251bV0gPCAoaW50KSBBUlJBWV9TSVpFKGluZm9zKSk7CisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8oaW50IG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGludCBjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBpbmZvc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgY29sdW1uX2lkX3RvX251bWJlcihpbnQgaWQpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykKKwkJaWYgKGNvbHVtbnNbaV0gPT0gaWQpCisJCQlyZXR1cm4gaTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIHJlc2V0X2Jsa2Rldl9jeHQoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCkKK3sKKwlpZiAoIWN4dCkKKwkJcmV0dXJuOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAicmVzZXQiKSk7CisKKwlmcmVlKGN4dC0+bmFtZSk7CisJZnJlZShjeHQtPmRtX25hbWUpOworCWZyZWUoY3h0LT5maWxlbmFtZSk7CisJZnJlZShjeHQtPmZzdHlwZSk7CisJZnJlZShjeHQtPnV1aWQpOworCWZyZWUoY3h0LT5wdHV1aWQpOworCWZyZWUoY3h0LT5wdHR5cGUpOworCWZyZWUoY3h0LT5sYWJlbCk7CisJZnJlZShjeHQtPnBhcnR0eXBlKTsKKwlmcmVlKGN4dC0+cGFydHV1aWQpOworCWZyZWUoY3h0LT5wYXJ0bGFiZWwpOworCWZyZWUoY3h0LT53d24pOworCWZyZWUoY3h0LT5zZXJpYWwpOworCisJdWxfdW5yZWZfcGF0aChjeHQtPnN5c2ZzKTsKKworCW1lbXNldChjeHQsIDAsIHNpemVvZigqY3h0KSk7Cit9CisKK3N0YXRpYyBpbnQgaXNfZG0oY29uc3QgY2hhciAqbmFtZSkKK3sKKwlyZXR1cm4gc3RybmNtcChuYW1lLCAiZG0tIiwgMykgPyAwIDogMTsKK30KKworc3RhdGljIHN0cnVjdCBkaXJlbnQgKnhyZWFkZGlyKERJUiAqZHApCit7CisJc3RydWN0IGRpcmVudCAqZDsKKworCWFzc2VydChkcCk7CisKKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRwKSkpIHsKKwkJaWYgKCFzdHJjbXAoZC0+ZF9uYW1lLCAiLiIpIHx8CisJCSAgICAhc3RyY21wKGQtPmRfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKworCQkvKiBibGFja2xpc3QgaGVyZT8gKi8KKwkJYnJlYWs7CisJfQorCXJldHVybiBkOworfQorCitzdGF0aWMgY2hhciAqZ2V0X2RldmljZV9wYXRoKHN0cnVjdCBibGtkZXZfY3h0ICpjeHQpCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPm5hbWUpOworCisJaWYgKGlzX2RtKGN4dC0+bmFtZSkpCisJCXJldHVybiBfX2Nhbm9uaWNhbGl6ZV9kbV9uYW1lKGxzYmxrLT5zeXNyb290LCBjeHQtPm5hbWUpOworCisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiL2Rldi8lcyIsIGN4dC0+bmFtZSk7CisJc3lzZnNfZGV2bmFtZV9zeXNfdG9fZGV2KHBhdGgpOworCXJldHVybiB4c3RyZHVwKHBhdGgpOworfQorCitzdGF0aWMgaW50IHRhYmxlX3BhcnNlcl9lcnJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQljb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmUpCit7CisJaWYgKGZpbGVuYW1lKQorCQl3YXJueChfKCIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIiksIGZpbGVuYW1lLCBsaW5lKTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBpc19hY3RpdmVfc3dhcChjb25zdCBjaGFyICpmaWxlbmFtZSkKK3sKKwlpZiAoIXN3YXBzKSB7CisJCXN3YXBzID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIXN3YXBzKQorCQkJcmV0dXJuIDA7CisJCWlmICghbW50Y2FjaGUpCisJCQltbnRjYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKworCQltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihzd2FwcywgdGFibGVfcGFyc2VyX2VycmNiKTsKKwkJbW50X3RhYmxlX3NldF9jYWNoZShzd2FwcywgbW50Y2FjaGUpOworCisJCWlmICghbHNibGstPnN5c3Jvb3QpCisJCQltbnRfdGFibGVfcGFyc2Vfc3dhcHMoc3dhcHMsIE5VTEwpOworCQllbHNlIHsKKwkJCWNoYXIgYnVmW1BBVEhfTUFYXTsKKwkJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcyIgX1BBVEhfUFJPQ19TV0FQUywgbHNibGstPnN5c3Jvb3QpOworCQkJbW50X3RhYmxlX3BhcnNlX3N3YXBzKHN3YXBzLCBidWYpOworCQl9CisJfQorCisJcmV0dXJuIG1udF90YWJsZV9maW5kX3NyY3BhdGgoc3dhcHMsIGZpbGVuYW1lLCBNTlRfSVRFUl9CQUNLV0FSRCkgIT0gTlVMTDsKK30KKworc3RhdGljIGNoYXIgKmdldF9kZXZpY2VfbW91bnRwb2ludChzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0KQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWNvbnN0IGNoYXIgKmZzcm9vdDsKKworCWFzc2VydChjeHQpOworCWFzc2VydChjeHQtPmZpbGVuYW1lKTsKKworCWlmICghbXRhYikgeworCQltdGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIW10YWIpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKCFtbnRjYWNoZSkKKwkJCW1udGNhY2hlID0gbW50X25ld19jYWNoZSgpOworCisJCW1udF90YWJsZV9zZXRfcGFyc2VyX2VycmNiKG10YWIsIHRhYmxlX3BhcnNlcl9lcnJjYik7CisJCW1udF90YWJsZV9zZXRfY2FjaGUobXRhYiwgbW50Y2FjaGUpOworCisJCWlmICghbHNibGstPnN5c3Jvb3QpCisJCQltbnRfdGFibGVfcGFyc2VfbXRhYihtdGFiLCBOVUxMKTsKKwkJZWxzZSB7CisJCQljaGFyIGJ1ZltQQVRIX01BWF07CisJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiJXMiIF9QQVRIX1BST0NfTU9VTlRJTkZPLCBsc2Jsay0+c3lzcm9vdCk7CisJCQltbnRfdGFibGVfcGFyc2VfbXRhYihtdGFiLCBidWYpOworCQl9CisJfQorCisJLyogTm90ZSB0aGF0IG1hajptaW4gaW4gL3Byb2Mvc2VsZi9tb3VudGluZm8gZG9lcyBub3QgaGF2ZSB0byBtYXRjaCB3aXRoCisJICogZGV2bm8gYXMgcmV0dXJuZWQgYnkgc3RhdCgpLCBzbyB3ZSBoYXZlIHRvIHRyeSBkZXZuYW1lIHRvbworCSAqLworCWZzID0gbW50X3RhYmxlX2ZpbmRfZGV2bm8obXRhYiwgbWFrZWRldihjeHQtPm1haiwgY3h0LT5taW4pLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFmcykKKwkJZnMgPSBtbnRfdGFibGVfZmluZF9zcmNwYXRoKG10YWIsIGN4dC0+ZmlsZW5hbWUsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoIWZzKQorCQlyZXR1cm4gaXNfYWN0aXZlX3N3YXAoY3h0LT5maWxlbmFtZSkgPyB4c3RyZHVwKCJbU1dBUF0iKSA6IE5VTEw7CisKKwkvKiBmb3VuZCAqLworCWZzcm9vdCA9IG1udF9mc19nZXRfcm9vdChmcyk7CisJaWYgKGZzcm9vdCAmJiBzdHJjbXAoZnNyb290LCAiLyIpICE9IDApIHsKKwkJLyogaG1tLi4gd2UgZm91bmQgYmluZCBtb3VudCBvciBidHJmcyBzdWJ2b2x1bWUsIGxldCdzIHRyeSB0bworCQkgKiBnZXQgcmVhbCBGUyByb290IG1vdW50cG9pbnQgKi8KKwkJc3RydWN0IGxpYm1udF9mcyAqcmZzOworCQlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9CQUNLV0FSRCk7CisKKwkJbW50X3RhYmxlX3NldF9pdGVyKG10YWIsIGl0ciwgZnMpOworCQl3aGlsZSAobW50X3RhYmxlX25leHRfZnMobXRhYiwgaXRyLCAmcmZzKSA9PSAwKSB7CisJCQlmc3Jvb3QgPSBtbnRfZnNfZ2V0X3Jvb3QocmZzKTsKKwkJCWlmICgoIWZzcm9vdCB8fCBzdHJjbXAoZnNyb290LCAiLyIpID09IDApCisJCQkgICAgJiYgbW50X2ZzX21hdGNoX3NvdXJjZShyZnMsIGN4dC0+ZmlsZW5hbWUsIG1udGNhY2hlKSkgeworCQkJCWZzID0gcmZzOworCQkJCWJyZWFrOworCQkJfQorCQl9CisJCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwl9CisKKwlEQkcoREVWLCB1bF9kZWJ1Z29iaihjeHQsICJtb3VudHBvaW50OiAlcyIsIG1udF9mc19nZXRfdGFyZ2V0KGZzKSkpOworCXJldHVybiB4c3RyZHVwKG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7Cit9CisKKyNpZm5kZWYgSEFWRV9MSUJVREVWCitzdGF0aWMgaW50IGdldF91ZGV2X3Byb3BlcnRpZXMoc3RydWN0IGJsa2Rldl9jeHQgKmN4dAorCQkJCV9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlyZXR1cm4gLTE7Cit9CisjZWxzZQorc3RhdGljIGludCBnZXRfdWRldl9wcm9wZXJ0aWVzKHN0cnVjdCBibGtkZXZfY3h0ICpjeHQpCit7CisJc3RydWN0IHVkZXZfZGV2aWNlICpkZXY7CisKKwlpZiAoY3h0LT5wcm9iZWQpCisJCXJldHVybiAwOwkJLyogYWxyZWFkeSBkb25lICovCisKKwlpZiAoIXVkZXYpCisJCXVkZXYgPSB1ZGV2X25ldygpOworCWlmICghdWRldikKKwkJcmV0dXJuIC0xOworCisJZGV2ID0gdWRldl9kZXZpY2VfbmV3X2Zyb21fc3Vic3lzdGVtX3N5c25hbWUodWRldiwgImJsb2NrIiwgY3h0LT5uYW1lKTsKKwlpZiAoZGV2KSB7CisJCWNvbnN0IGNoYXIgKmRhdGE7CisKKwkJaWYgKChkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX0ZTX0xBQkVMX0VOQyIpKSkgeworCQkJY3h0LT5sYWJlbCA9IHhzdHJkdXAoZGF0YSk7CisJCQl1bmhleG1hbmdsZV9zdHJpbmcoY3h0LT5sYWJlbCk7CisJCX0KKwkJaWYgKChkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX0ZTX1VVSURfRU5DIikpKSB7CisJCQljeHQtPnV1aWQgPSB4c3RyZHVwKGRhdGEpOworCQkJdW5oZXhtYW5nbGVfc3RyaW5nKGN4dC0+dXVpZCk7CisJCX0KKwkJaWYgKChkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1BBUlRfVEFCTEVfVVVJRCIpKSkKKwkJCWN4dC0+cHR1dWlkID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKChkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1BBUlRfVEFCTEVfVFlQRSIpKSkKKwkJCWN4dC0+cHR0eXBlID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKChkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1BBUlRfRU5UUllfTkFNRSIpKSkgeworCQkJY3h0LT5wYXJ0bGFiZWwgPSB4c3RyZHVwKGRhdGEpOworCQkJdW5oZXhtYW5nbGVfc3RyaW5nKGN4dC0+cGFydGxhYmVsKTsKKwkJfQorCQlpZiAoKGRhdGEgPSB1ZGV2X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiSURfRlNfVFlQRSIpKSkKKwkJCWN4dC0+ZnN0eXBlID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKChkYXRhID0gdWRldl9kZXZpY2VfZ2V0X3Byb3BlcnR5X3ZhbHVlKGRldiwgIklEX1BBUlRfRU5UUllfVFlQRSIpKSkKKwkJCWN4dC0+cGFydHR5cGUgPSB4c3RyZHVwKGRhdGEpOworCQlpZiAoKGRhdGEgPSB1ZGV2X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiSURfUEFSVF9FTlRSWV9VVUlEIikpKQorCQkJY3h0LT5wYXJ0dXVpZCA9IHhzdHJkdXAoZGF0YSk7CisJCWlmICgoZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9QQVJUX0VOVFJZX0ZMQUdTIikpKQorCQkJY3h0LT5wYXJ0ZmxhZ3MgPSB4c3RyZHVwKGRhdGEpOworCisJCWRhdGEgPSB1ZGV2X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiSURfV1dOX1dJVEhfRVhURU5TSU9OIik7CisJCWlmICghZGF0YSkKKwkJCWRhdGEgPSB1ZGV2X2RldmljZV9nZXRfcHJvcGVydHlfdmFsdWUoZGV2LCAiSURfV1dOIik7CisJCWlmIChkYXRhKQorCQkJY3h0LT53d24gPSB4c3RyZHVwKGRhdGEpOworCisJCWlmICgoZGF0YSA9IHVkZXZfZGV2aWNlX2dldF9wcm9wZXJ0eV92YWx1ZShkZXYsICJJRF9TRVJJQUxfU0hPUlQiKSkpCisJCQljeHQtPnNlcmlhbCA9IHhzdHJkdXAoZGF0YSk7CisJCXVkZXZfZGV2aWNlX3VucmVmKGRldik7CisJCWN4dC0+cHJvYmVkID0gMTsKKwkJREJHKERFViwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGZvdW5kIHVkZXYgcHJvcGVydGllcyIsIGN4dC0+bmFtZSkpOworCX0KKworCXJldHVybiBjeHQtPnByb2JlZCA9PSAxID8gMCA6IC0xOworCit9CisjZW5kaWYgLyogSEFWRV9MSUJVREVWICovCisKK3N0YXRpYyB2b2lkIHByb2JlX2RldmljZShzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0KQoreworCWJsa2lkX3Byb2JlIHByID0gTlVMTDsKKworCWlmIChjeHQtPnByb2JlZCkKKwkJcmV0dXJuOworCisJaWYgKCFjeHQtPnNpemUpCisJCXJldHVybjsKKworCS8qIHRyeSB1ZGV2IERCICovCisJaWYgKGdldF91ZGV2X3Byb3BlcnRpZXMoY3h0KSA9PSAwKQorCQlyZXR1cm47CQkJCS8qIHN1Y2Nlc3MgKi8KKworCWN4dC0+cHJvYmVkID0gMTsKKworCS8qIHRyeSBsaWJibGtpZCAoZmFsbGJhY2spICovCisJaWYgKGdldHVpZCgpICE9IDApCisJCXJldHVybjsJCQkJLyogbm8gcGVybWlzc2lvbnMgdG8gcmVhZCBmcm9tIHRoZSBkZXZpY2UgKi8KKworCXByID0gYmxraWRfbmV3X3Byb2JlX2Zyb21fZmlsZW5hbWUoY3h0LT5maWxlbmFtZSk7CisJaWYgKCFwcikKKwkJcmV0dXJuOworCisJYmxraWRfcHJvYmVfZW5hYmxlX3N1cGVyYmxvY2tzKHByLCAxKTsKKwlibGtpZF9wcm9iZV9zZXRfc3VwZXJibG9ja3NfZmxhZ3MocHIsIEJMS0lEX1NVQkxLU19MQUJFTCB8CisJCQkJCSAgICAgIEJMS0lEX1NVQkxLU19VVUlEIHwKKwkJCQkJICAgICAgQkxLSURfU1VCTEtTX1RZUEUpOworCWJsa2lkX3Byb2JlX2VuYWJsZV9wYXJ0aXRpb25zKHByLCAxKTsKKwlibGtpZF9wcm9iZV9zZXRfcGFydGl0aW9uc19mbGFncyhwciwgQkxLSURfUEFSVFNfRU5UUllfREVUQUlMUyk7CisKKwlpZiAoIWJsa2lkX2RvX3NhZmVwcm9iZShwcikpIHsKKwkJY29uc3QgY2hhciAqZGF0YSA9IE5VTEw7CisKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgJmRhdGEsIE5VTEwpKQorCQkJY3h0LT5mc3R5cGUgPSB4c3RyZHVwKGRhdGEpOworCQlpZiAoIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlVVSUQiLCAmZGF0YSwgTlVMTCkpCisJCQljeHQtPnV1aWQgPSB4c3RyZHVwKGRhdGEpOworCQlpZiAoIWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUVVVJRCIsICZkYXRhLCBOVUxMKSkKKwkJCWN4dC0+cHR1dWlkID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVFRZUEUiLCAmZGF0YSwgTlVMTCkpCisJCQljeHQtPnB0dHlwZSA9IHhzdHJkdXAoZGF0YSk7CisJCWlmICghYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiTEFCRUwiLCAmZGF0YSwgTlVMTCkpCisJCQljeHQtPmxhYmVsID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQQVJUX0VOVFJZX1RZUEUiLCAmZGF0YSwgTlVMTCkpCisJCQljeHQtPnBhcnR0eXBlID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQQVJUX0VOVFJZX1VVSUQiLCAmZGF0YSwgTlVMTCkpCisJCQljeHQtPnBhcnR1dWlkID0geHN0cmR1cChkYXRhKTsKKwkJaWYgKCFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQQVJUX0VOVFJZX05BTUUiLCAmZGF0YSwgTlVMTCkpCisJCQljeHQtPnBhcnRsYWJlbCA9IHhzdHJkdXAoZGF0YSk7CisJCWlmICghYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiUEFSVF9FTlRSWV9GTEFHUyIsICZkYXRhLCBOVUxMKSkKKwkJCWN4dC0+cGFydGZsYWdzID0geHN0cmR1cChkYXRhKTsKKwkJREJHKERFViwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGZvdW5kIGJsa2lkIHByb3BlcnRpZXMiLCBjeHQtPm5hbWUpKTsKKwl9CisKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyBpbnQgaXNfcmVhZG9ubHlfZGV2aWNlKHN0cnVjdCBibGtkZXZfY3h0ICpjeHQpCit7CisJaW50IGZkLCBybyA9IDA7CisKKwlpZiAodWxfcGF0aF9zY2FuZihjeHQtPnN5c2ZzLCAicm8iLCAiJWQiLCAmcm8pID09IDEpCisJCXJldHVybiBybzsKKworCS8qIGZhbGxiYWNrIGlmICJybyIgYXR0cmlidXRlIGRvZXMgbm90IGV4aXN0ICovCisJZmQgPSBvcGVuKGN4dC0+ZmlsZW5hbWUsIE9fUkRPTkxZKTsKKwlpZiAoZmQgIT0gLTEpIHsKKwkJaWYgKGlvY3RsKGZkLCBCTEtST0dFVCwgJnJvKSAhPSAwKQorCQkJcm8gPSAwOworCQljbG9zZShmZCk7CisJfQorCXJldHVybiBybzsKK30KKworc3RhdGljIGNoYXIgKmdldF9zY2hlZHVsZXIoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCkKK3sKKwljaGFyIGJ1ZlsxMjhdOworCWNoYXIgKnAsICpyZXMgPSBOVUxMOworCisJaWYgKHVsX3BhdGhfcmVhZF9idWZmZXIoY3h0LT5zeXNmcywgYnVmLCBzaXplb2YoYnVmKSwgInF1ZXVlL3NjaGVkdWxlciIpID09IDApCisJCXJldHVybiBOVUxMOworCXAgPSBzdHJjaHIoYnVmLCAnWycpOworCWlmIChwKSB7CisJCXJlcyA9IHAgKyAxOworCQlwID0gc3RyY2hyKHJlcywgJ10nKTsKKwkJaWYgKHApIHsKKwkJCSpwID0gJ1wwJzsKKwkJCXJlcyA9IHhzdHJkdXAocmVzKTsKKwkJfSBlbHNlCisJCQlyZXMgPSBOVUxMOworCX0KKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgY2hhciAqZ2V0X3R5cGUoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCkKK3sKKwljaGFyICpyZXMgPSBOVUxMLCAqcDsKKworCWlmIChpc19kbShjeHQtPm5hbWUpKSB7CisJCWNoYXIgKmRtX3V1aWQgPSBOVUxMOworCisJCS8qIFRoZSBETV9VVUlEIHByZWZpeCBzaG91bGQgYmUgc2V0IHRvIHN1YnN5c3RlbSBvd25pbmcKKwkJICogdGhlIGRldmljZSAtIExWTSwgQ1JZUFQsIERNUkFJRCwgTVBBVEgsIFBBUlQgKi8KKwkJaWYgKHVsX3BhdGhfcmVhZF9zdHJpbmcoY3h0LT5zeXNmcywgJmRtX3V1aWQsICJkbS91dWlkIikgPiAwCisJCSAgICAmJiBkbV91dWlkKSB7CisJCQljaGFyICp0bXAgPSBkbV91dWlkOworCQkJY2hhciAqZG1fdXVpZF9wcmVmaXggPSBzdHJzZXAoJnRtcCwgIi0iKTsKKworCQkJaWYgKGRtX3V1aWRfcHJlZml4KSB7CisJCQkJLyoga3BhcnR4IGhhY2sgdG8gcmVtb3ZlIHBhcnRpdGlvbiBudW1iZXIgKi8KKwkJCQlpZiAoc3RybmNhc2VjbXAoZG1fdXVpZF9wcmVmaXgsICJwYXJ0IiwgNCkgPT0gMCkKKwkJCQkJZG1fdXVpZF9wcmVmaXhbNF0gPSAnXDAnOworCisJCQkJcmVzID0geHN0cmR1cChkbV91dWlkX3ByZWZpeCk7CisJCQl9CisJCX0KKworCQlmcmVlKGRtX3V1aWQpOworCQlpZiAoIXJlcykKKwkJCS8qIE5vIFVVSUQgb3Igbm8gcHJlZml4IC0ganVzdCBtYXJrIGl0IGFzIERNIGRldmljZSAqLworCQkJcmVzID0geHN0cmR1cCgiZG0iKTsKKworCX0gZWxzZSBpZiAoIXN0cm5jbXAoY3h0LT5uYW1lLCAibG9vcCIsIDQpKSB7CisJCXJlcyA9IHhzdHJkdXAoImxvb3AiKTsKKworCX0gZWxzZSBpZiAoIXN0cm5jbXAoY3h0LT5uYW1lLCAibWQiLCAyKSkgeworCQljaGFyICptZF9sZXZlbCA9IE5VTEw7CisKKwkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmbWRfbGV2ZWwsICJtZC9sZXZlbCIpOworCQlyZXMgPSBtZF9sZXZlbCA/IG1kX2xldmVsIDogeHN0cmR1cCgibWQiKTsKKworCX0gZWxzZSB7CisJCWNvbnN0IGNoYXIgKnR5cGUgPSBOVUxMOworCQlpbnQgeCA9IDA7CisKKwkJaWYgKHVsX3BhdGhfcmVhZF9zMzIoY3h0LT5zeXNmcywgJngsICJkZXZpY2UvdHlwZSIpID09IDApCisJCQl0eXBlID0gYmxrZGV2X3Njc2lfdHlwZV90b19uYW1lKHgpOworCQlpZiAoIXR5cGUpCisJCQl0eXBlID0gY3h0LT5wYXJ0aXRpb24gPyAicGFydCIgOiAiZGlzayI7CisJCXJlcyA9IHhzdHJkdXAodHlwZSk7CisJfQorCisJZm9yIChwID0gcmVzOyBwICYmICpwOyBwKyspCisJCSpwID0gdG9sb3dlcigodW5zaWduZWQgY2hhcikgKnApOworCXJldHVybiByZXM7Cit9CisKKy8qIFRoYW5rcyB0byBsc3Njc2kgY29kZSBmb3IgaWRlYSBvZiBkZXRlY3Rpb24gbG9naWMgdXNlZCBoZXJlICovCitzdGF0aWMgY2hhciAqZ2V0X3RyYW5zcG9ydChzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0KQoreworCXN0cnVjdCBwYXRoX2N4dCAqc3lzZnMgPSBjeHQtPnN5c2ZzOworCWNoYXIgKmF0dHIgPSBOVUxMOworCWNvbnN0IGNoYXIgKnRyYW5zID0gTlVMTDsKKworCisJLyogU0NTSSAtIFNlcmlhbCBQZXJpcGhlcmFsIEludGVyZmFjZSAqLworCWlmIChzeXNmc19ibGtkZXZfc2NzaV9ob3N0X2lzKHN5c2ZzLCAic3BpIikpCisJCXRyYW5zID0gInNwaSI7CisKKwkvKiBGQy9GQ29FIC0gRmlicmUgQ2hhbm5lbCAvIEZpYnJlIENoYW5uZWwgb3ZlciBFdGhlcm5ldCAqLworCWVsc2UgaWYgKHN5c2ZzX2Jsa2Rldl9zY3NpX2hvc3RfaXMoc3lzZnMsICJmYyIpKSB7CisJCWF0dHIgPSBzeXNmc19ibGtkZXZfc2NzaV9ob3N0X3N0cmR1cF9hdHRyaWJ1dGUoc3lzZnMsICJmYyIsICJzeW1ib2xpY19uYW1lIik7CisJCWlmICghYXR0cikKKwkJCXJldHVybiBOVUxMOworCQl0cmFucyA9IHN0cnN0cihhdHRyLCAiIG92ZXIgIikgPyAiZmNvZSIgOiAiZmMiOworCQlmcmVlKGF0dHIpOworCX0KKworCS8qIFNBUyAtIFNlcmlhbCBBdHRhY2hlZCBTQ1NJICovCisJZWxzZSBpZiAoc3lzZnNfYmxrZGV2X3Njc2lfaG9zdF9pcyhzeXNmcywgInNhcyIpIHx8CisJCSBzeXNmc19ibGtkZXZfc2NzaV9oYXNfYXR0cmlidXRlKHN5c2ZzLCAic2FzX2RldmljZSIpKQorCQl0cmFucyA9ICJzYXMiOworCisKKwkvKiBTQlAgLSBTZXJpYWwgQnVzIFByb3RvY29sIChGaXJlV2lyZSkgKi8KKwllbHNlIGlmIChzeXNmc19ibGtkZXZfc2NzaV9oYXNfYXR0cmlidXRlKHN5c2ZzLCAiaWVlZTEzOTRfaWQiKSkKKwkJdHJhbnMgPSAic2JwIjsKKworCS8qIGlTQ1NJICovCisJZWxzZSBpZiAoc3lzZnNfYmxrZGV2X3Njc2lfaG9zdF9pcyhzeXNmcywgImlzY3NpIikpCisJCXRyYW5zID0iaXNjc2kiOworCisJLyogVVNCIC0gVW5pdmVyc2FsIFNlcmlhbCBCdXMgKi8KKwllbHNlIGlmIChzeXNmc19ibGtkZXZfc2NzaV9wYXRoX2NvbnRhaW5zKHN5c2ZzLCAidXNiIikpCisJCXRyYW5zID0gInVzYiI7CisKKwkvKiBBVEEsIFNBVEEgKi8KKwllbHNlIGlmIChzeXNmc19ibGtkZXZfc2NzaV9ob3N0X2lzKHN5c2ZzLCAic2NzaSIpKSB7CisJCWF0dHIgPSBzeXNmc19ibGtkZXZfc2NzaV9ob3N0X3N0cmR1cF9hdHRyaWJ1dGUoc3lzZnMsICJzY3NpIiwgInByb2NfbmFtZSIpOworCQlpZiAoIWF0dHIpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKCFzdHJuY21wKGF0dHIsICJhaGNpIiwgNCkgfHwgIXN0cm5jbXAoYXR0ciwgInNhdGEiLCA0KSkKKwkJCXRyYW5zID0gInNhdGEiOworCQllbHNlIGlmIChzdHJzdHIoYXR0ciwgImF0YSIpKQorCQkJdHJhbnMgPSAiYXRhIjsKKwkJZnJlZShhdHRyKTsKKworCX0gZWxzZSBpZiAoc3RybmNtcChjeHQtPm5hbWUsICJudm1lIiwgNCkgPT0gMCkKKwkJdHJhbnMgPSAibnZtZSI7CisKKwlyZXR1cm4gdHJhbnMgPyB4c3RyZHVwKHRyYW5zKSA6IE5VTEw7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRfc3Vic3lzdGVtcyhzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0KQoreworCWNoYXIgcGF0aFtQQVRIX01BWF07CisJY2hhciAqc3ViLCAqY2hhaW4sICpyZXMgPSBOVUxMOworCXNpemVfdCBsZW4gPSAwLCBsYXN0ID0gMDsKKworCWNoYWluID0gc3lzZnNfYmxrZGV2X2dldF9kZXZjaGFpbihjeHQtPnN5c2ZzLCBwYXRoLCBzaXplb2YocGF0aCkpOworCWlmICghY2hhaW4pCisJCXJldHVybiBOVUxMOworCisJd2hpbGUgKHN5c2ZzX2Jsa2Rldl9uZXh0X3N1YnN5c3RlbShjeHQtPnN5c2ZzLCBjaGFpbiwgJnN1YikgPT0gMCkgeworCQlzaXplX3Qgc3o7CisKKwkJLyogZG9uJ3QgY3JlYXRlICJibG9jazpzY3NpOnNjc2kiLCBidXQgImJsb2NrOnNjc2kiICovCisJCWlmIChsZW4gJiYgc3RyY21wKHJlcyArIGxhc3QsIHN1YikgPT0gMCkgeworCQkJZnJlZShzdWIpOworCQkJY29udGludWU7CisJCX0KKworCQlzeiA9IHN0cmxlbihzdWIpOworCQlyZXMgPSB4cmVhbGxvYyhyZXMsIGxlbiArIHN6ICsgMik7CisJCWlmIChsZW4pCisJCQlyZXNbbGVuKytdID0gJzonOworCisJCW1lbWNweShyZXMgKyBsZW4sIHN1Yiwgc3ogKyAxKTsKKwkJbGFzdCA9IGxlbjsKKwkJbGVuICs9IHN6OworCQlmcmVlKHN1Yik7CisJfQorCisJcmV0dXJuIHJlczsKK30KKworCisjZGVmaW5lIGlzX3BhcnNhYmxlKF9sKQkoc2NvbHNfdGFibGVfaXNfcmF3KChfbCktPnRhYmxlKSB8fCBcCisJCQkgc2NvbHNfdGFibGVfaXNfZXhwb3J0KChfbCktPnRhYmxlKSB8fCBcCisJCQkgc2NvbHNfdGFibGVfaXNfanNvbigoX2wpLT50YWJsZSkpCisKK3N0YXRpYyBjaGFyICpta19uYW1lKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJY2hhciAqcDsKKwlpZiAoIW5hbWUpCisJCXJldHVybiBOVUxMOworCWlmIChsc2Jsay0+cGF0aHMpCisJCXhhc3ByaW50ZigmcCwgIi9kZXYvJXMiLCBuYW1lKTsKKwllbHNlCisJCXAgPSB4c3RyZHVwKG5hbWUpOworCWlmIChwKQorCQlzeXNmc19kZXZuYW1lX3N5c190b19kZXYocCk7CisJcmV0dXJuIHA7Cit9CisKK3N0YXRpYyBjaGFyICpta19kbV9uYW1lKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJY2hhciAqcDsKKwlpZiAoIW5hbWUpCisJCXJldHVybiBOVUxMOworCWlmIChsc2Jsay0+cGF0aHMpCisJCXhhc3ByaW50ZigmcCwgIi9kZXYvbWFwcGVyLyVzIiwgbmFtZSk7CisJZWxzZQorCQlwID0geHN0cmR1cChuYW1lKTsKKwlyZXR1cm4gcDsKK30KKworLyogc3RvcmVzIGRhdGEgdG8gc2NvbHMgY2VsbCB1c2VyZGF0YSAoaW52aXNpYmxlIGFuZCBpbmRlcGVuZGVudCBvbiBvdXRwdXQpCisgKiB0byBtYWtlIHRoZSBvcmlnaW5hbCB2YWx1ZXMgYWNjZXNzaWJsZSBmb3Igc29ydCBmdW5jdGlvbnMKKyAqLworc3RhdGljIHZvaWQgc2V0X3NvcnRkYXRhX3U2NChzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG4sIGludCBjb2wsIHVpbnQ2NF90IHgpCit7CisJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmNlID0gc2NvbHNfbGluZV9nZXRfY2VsbChsbiwgY29sKTsKKwl1aW50NjRfdCAqZGF0YTsKKworCWlmICghY2UpCisJCXJldHVybjsKKwlkYXRhID0geG1hbGxvYyhzaXplb2YodWludDY0X3QpKTsKKwkqZGF0YSA9IHg7CisJc2NvbHNfY2VsbF9zZXRfdXNlcmRhdGEoY2UsIGRhdGEpOworfQorCitzdGF0aWMgdm9pZCBzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKHN0cnVjdCBsaWJzY29sc19saW5lICpsbiwgaW50IGNvbCwgY29uc3QgY2hhciAqc3RyKQoreworCXVpbnQ2NF90IHg7CisKKwlpZiAoIXN0ciB8fCBzc2NhbmYoc3RyLCAiJSJTQ051NjQsICZ4KSAhPSAxKQorCQlyZXR1cm47CisKKwlzZXRfc29ydGRhdGFfdTY0KGxuLCBjb2wsIHgpOworfQorCitzdGF0aWMgdm9pZCB1bnJlZl9zb3J0ZGF0YShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBsaWJzY29sc19pdGVyICppdHI7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCisJaWYgKCF0YiB8fCAhbHNibGstPnNvcnRfY29sKQorCQlyZXR1cm47CisJaXRyID0gc2NvbHNfbmV3X2l0ZXIoU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwlpZiAoIWl0cikKKwkJcmV0dXJuOworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUodGIsIGl0ciwgJmxuKSA9PSAwKSB7CisJCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZSA9IHNjb2xzX2xpbmVfZ2V0X2NvbHVtbl9jZWxsKGxuLAorCQkJCQkJCQlsc2Jsay0+c29ydF9jb2wpOworCQl2b2lkICpkYXRhID0gc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGEoY2UpOworCQlmcmVlKGRhdGEpOworCX0KKworCXNjb2xzX2ZyZWVfaXRlcihpdHIpOworfQorCitzdGF0aWMgdm9pZCBzZXRfc2NvbHNfZGF0YShzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0LCBpbnQgY29sLCBpbnQgaWQsIHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlpbnQgc29ydCA9IDAsIHN0X3JjID0gMDsKKwljaGFyICpzdHIgPSBOVUxMOworCisJaWYgKCFjeHQtPnN0LnN0X3JkZXYgJiYgKGlkID09IENPTF9PV05FUiB8fCBpZCA9PSBDT0xfR1JPVVAgfHwKKwkJCQkgaWQgPT0gQ09MX01PREUpKQorCQlzdF9yYyA9IHN0YXQoY3h0LT5maWxlbmFtZSwgJmN4dC0+c3QpOworCisJaWYgKGxzYmxrLT5zb3J0X2lkID09IGlkKQorCQlzb3J0ID0gMTsKKworCXN3aXRjaChpZCkgeworCWNhc2UgQ09MX05BTUU6CisJCXN0ciA9IGN4dC0+ZG1fbmFtZSA/IG1rX2RtX25hbWUoY3h0LT5kbV9uYW1lKSA6CW1rX25hbWUoY3h0LT5uYW1lKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfS05BTUU6CisJCXN0ciA9IG1rX25hbWUoY3h0LT5uYW1lKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUEtOQU1FOgorCQlpZiAoY3h0LT5wYXJlbnQpCisJCQlzdHIgPSBta19uYW1lKGN4dC0+cGFyZW50LT5uYW1lKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUEFUSDoKKwkJaWYgKGN4dC0+ZmlsZW5hbWUpCisJCQlzdHIgPSB4c3RyZHVwKGN4dC0+ZmlsZW5hbWUpOworCQlicmVhazsKKwljYXNlIENPTF9PV05FUjoKKwl7CisJCXN0cnVjdCBwYXNzd2QgKnB3ID0gc3RfcmMgPyBOVUxMIDogZ2V0cHd1aWQoY3h0LT5zdC5zdF91aWQpOworCQlpZiAocHcpCisJCQlzdHIgPSB4c3RyZHVwKHB3LT5wd19uYW1lKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgQ09MX0dST1VQOgorCXsKKwkJc3RydWN0IGdyb3VwICpnciA9IHN0X3JjID8gTlVMTCA6IGdldGdyZ2lkKGN4dC0+c3Quc3RfZ2lkKTsKKwkJaWYgKGdyKQorCQkJc3RyID0geHN0cmR1cChnci0+Z3JfbmFtZSk7CisJCWJyZWFrOworCX0KKwljYXNlIENPTF9NT0RFOgorCXsKKwkJY2hhciBtZFsxMV07CisKKwkJaWYgKCFzdF9yYykgeworCQkJeHN0cm1vZGUoY3h0LT5zdC5zdF9tb2RlLCBtZCk7CisJCQlzdHIgPSB4c3RyZHVwKG1kKTsKKwkJfQorCQlicmVhazsKKwl9CisJY2FzZSBDT0xfTUFKTUlOOgorCQlpZiAoaXNfcGFyc2FibGUobHNibGspKQorCQkJeGFzcHJpbnRmKCZzdHIsICIldToldSIsIGN4dC0+bWFqLCBjeHQtPm1pbik7CisJCWVsc2UKKwkJCXhhc3ByaW50Zigmc3RyLCAiJTN1OiUtM3UiLCBjeHQtPm1haiwgY3h0LT5taW4pOworCQlpZiAoc29ydCkKKwkJCXNldF9zb3J0ZGF0YV91NjQobG4sIGNvbCwgbWFrZWRldihjeHQtPm1haiwgY3h0LT5taW4pKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfRlNUWVBFOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+ZnN0eXBlKQorCQkJc3RyID0geHN0cmR1cChjeHQtPmZzdHlwZSk7CisJCWJyZWFrOworCWNhc2UgQ09MX1RBUkdFVDoKKwkJc3RyID0gZ2V0X2RldmljZV9tb3VudHBvaW50KGN4dCk7CisJCWJyZWFrOworCWNhc2UgQ09MX0xBQkVMOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+bGFiZWwpCisJCQlzdHIgPSB4c3RyZHVwKGN4dC0+bGFiZWwpOworCQlicmVhazsKKwljYXNlIENPTF9VVUlEOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+dXVpZCkKKwkJCXN0ciA9IHhzdHJkdXAoY3h0LT51dWlkKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUFRVVUlEOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+cHR1dWlkKQorCQkJc3RyID0geHN0cmR1cChjeHQtPnB0dXVpZCk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BUVFlQRToKKwkJcHJvYmVfZGV2aWNlKGN4dCk7CisJCWlmIChjeHQtPnB0dHlwZSkKKwkJCXN0ciA9IHhzdHJkdXAoY3h0LT5wdHR5cGUpOworCQlicmVhazsKKwljYXNlIENPTF9QQVJUVFlQRToKKwkJcHJvYmVfZGV2aWNlKGN4dCk7CisJCWlmIChjeHQtPnBhcnR0eXBlKQorCQkJc3RyID0geHN0cmR1cChjeHQtPnBhcnR0eXBlKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUEFSVExBQkVMOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+cGFydGxhYmVsKQorCQkJc3RyID0geHN0cmR1cChjeHQtPnBhcnRsYWJlbCk7CisJCWJyZWFrOworCWNhc2UgQ09MX1BBUlRVVUlEOgorCQlwcm9iZV9kZXZpY2UoY3h0KTsKKwkJaWYgKGN4dC0+cGFydHV1aWQpCisJCQlzdHIgPSB4c3RyZHVwKGN4dC0+cGFydHV1aWQpOworCQlicmVhazsKKwljYXNlIENPTF9QQVJURkxBR1M6CisJCXByb2JlX2RldmljZShjeHQpOworCQlpZiAoY3h0LT5wYXJ0ZmxhZ3MpCisJCQlzdHIgPSB4c3RyZHVwKGN4dC0+cGFydGZsYWdzKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfV1dOOgorCQlnZXRfdWRldl9wcm9wZXJ0aWVzKGN4dCk7CisJCWlmIChjeHQtPnd3bikKKwkJCXN0ciA9IHhzdHJkdXAoY3h0LT53d24pOworCQlicmVhazsKKwljYXNlIENPTF9SQToKKwkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAicXVldWUvcmVhZF9haGVhZF9rYiIpOworCQlpZiAoc29ydCkKKwkJCXNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcobG4sIGNvbCwgc3RyKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUk86CisJCXN0ciA9IHhzdHJkdXAoaXNfcmVhZG9ubHlfZGV2aWNlKGN4dCkgPyAiMSIgOiAiMCIpOworCQlicmVhazsKKwljYXNlIENPTF9STToKKwkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAicmVtb3ZhYmxlIik7CisJCWlmICghc3RyICYmIHN5c2ZzX2Jsa2Rldl9nZXRfcGFyZW50KGN4dC0+c3lzZnMpKQorCQkJdWxfcGF0aF9yZWFkX3N0cmluZyhzeXNmc19ibGtkZXZfZ2V0X3BhcmVudChjeHQtPnN5c2ZzKSwKKwkJCQkJICAgICZzdHIsCisJCQkJCSAgICAicmVtb3ZhYmxlIik7CisJCWJyZWFrOworCWNhc2UgQ09MX0hPVFBMVUc6CisJCXN0ciA9IHN5c2ZzX2Jsa2Rldl9pc19ob3RwbHVnZ2FibGUoY3h0LT5zeXNmcykgPyB4c3RyZHVwKCIxIikgOiB4c3RyZHVwKCIwIik7CisJCWJyZWFrOworCWNhc2UgQ09MX1JPVEE6CisJCXVsX3BhdGhfcmVhZF9zdHJpbmcoY3h0LT5zeXNmcywgJnN0ciwgInF1ZXVlL3JvdGF0aW9uYWwiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfUkFORDoKKwkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAicXVldWUvYWRkX3JhbmRvbSIpOworCQlicmVhazsKKwljYXNlIENPTF9NT0RFTDoKKwkJaWYgKCFjeHQtPnBhcnRpdGlvbiAmJiBjeHQtPm5zbGF2ZXMgPT0gMCkKKwkJCXVsX3BhdGhfcmVhZF9zdHJpbmcoY3h0LT5zeXNmcywgJnN0ciwgImRldmljZS9tb2RlbCIpOworCQlicmVhazsKKwljYXNlIENPTF9TRVJJQUw6CisJCWlmICghY3h0LT5wYXJ0aXRpb24gJiYgY3h0LT5uc2xhdmVzID09IDApIHsKKwkJCWdldF91ZGV2X3Byb3BlcnRpZXMoY3h0KTsKKwkJCWlmIChjeHQtPnNlcmlhbCkKKwkJCQlzdHIgPSB4c3RyZHVwKGN4dC0+c2VyaWFsKTsKKwkJCWVsc2UKKwkJCQl1bF9wYXRoX3JlYWRfc3RyaW5nKGN4dC0+c3lzZnMsICZzdHIsICJkZXZpY2Uvc2VyaWFsIik7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBDT0xfUkVWOgorCQlpZiAoIWN4dC0+cGFydGl0aW9uICYmIGN4dC0+bnNsYXZlcyA9PSAwKQorCQkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAiZGV2aWNlL3JldiIpOworCQlicmVhazsKKwljYXNlIENPTF9WRU5ET1I6CisJCWlmICghY3h0LT5wYXJ0aXRpb24gJiYgY3h0LT5uc2xhdmVzID09IDApCisJCQl1bF9wYXRoX3JlYWRfc3RyaW5nKGN4dC0+c3lzZnMsICZzdHIsICJkZXZpY2UvdmVuZG9yIik7CisJCWJyZWFrOworCWNhc2UgQ09MX1NJWkU6CisJCWlmICghY3h0LT5zaXplKQorCQkJYnJlYWs7CisJCWlmIChsc2Jsay0+Ynl0ZXMpCisJCQl4YXNwcmludGYoJnN0ciwgIiVqdSIsIGN4dC0+c2l6ZSk7CisJCWVsc2UKKwkJCXN0ciA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIGN4dC0+c2l6ZSk7CisJCWlmIChzb3J0KQorCQkJc2V0X3NvcnRkYXRhX3U2NChsbiwgY29sLCBjeHQtPnNpemUpOworCQlicmVhazsKKwljYXNlIENPTF9TVEFURToKKwkJaWYgKCFjeHQtPnBhcnRpdGlvbiAmJiAhY3h0LT5kbV9uYW1lKQorCQkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAiZGV2aWNlL3N0YXRlIik7CisJCWVsc2UgaWYgKGN4dC0+ZG1fbmFtZSkgeworCQkJaW50IHggPSAwOworCQkJaWYgKHVsX3BhdGhfcmVhZF9zMzIoY3h0LT5zeXNmcywgJngsICJkbS9zdXNwZW5kZWQiKSA9PSAwKQorCQkJCXN0ciA9IHhzdHJkdXAoeCA/ICJzdXNwZW5kZWQiIDogInJ1bm5pbmciKTsKKwkJfQorCQlicmVhazsKKwljYXNlIENPTF9BTElPRkY6CisJCXVsX3BhdGhfcmVhZF9zdHJpbmcoY3h0LT5zeXNmcywgJnN0ciwgImFsaWdubWVudF9vZmZzZXQiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX01JTklPOgorCQl1bF9wYXRoX3JlYWRfc3RyaW5nKGN4dC0+c3lzZnMsICZzdHIsICJxdWV1ZS9taW5pbXVtX2lvX3NpemUiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX09QVElPOgorCQl1bF9wYXRoX3JlYWRfc3RyaW5nKGN4dC0+c3lzZnMsICZzdHIsICJxdWV1ZS9vcHRpbWFsX2lvX3NpemUiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX1BIWVNFQzoKKwkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAicXVldWUvcGh5c2ljYWxfYmxvY2tfc2l6ZSIpOworCQlpZiAoc29ydCkKKwkJCXNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcobG4sIGNvbCwgc3RyKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfTE9HU0VDOgorCQl1bF9wYXRoX3JlYWRfc3RyaW5nKGN4dC0+c3lzZnMsICZzdHIsICJxdWV1ZS9sb2dpY2FsX2Jsb2NrX3NpemUiKTsKKwkJaWYgKHNvcnQpCisJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCWJyZWFrOworCWNhc2UgQ09MX1NDSEVEOgorCQlzdHIgPSBnZXRfc2NoZWR1bGVyKGN4dCk7CisJCWJyZWFrOworCWNhc2UgQ09MX1JRX1NJWkU6CisJCXVsX3BhdGhfcmVhZF9zdHJpbmcoY3h0LT5zeXNmcywgJnN0ciwgInF1ZXVlL25yX3JlcXVlc3RzIik7CisJCWlmIChzb3J0KQorCQkJc2V0X3NvcnRkYXRhX3U2NF9mcm9tX3N0cmluZyhsbiwgY29sLCBzdHIpOworCQlicmVhazsKKwljYXNlIENPTF9UWVBFOgorCQlzdHIgPSBnZXRfdHlwZShjeHQpOworCQlicmVhazsKKwljYXNlIENPTF9IQ1RMOgorCXsKKwkJaW50IGgsIGMsIHQsIGw7CisJCWlmIChzeXNmc19ibGtkZXZfc2NzaV9nZXRfaGN0bChjeHQtPnN5c2ZzLCAmaCwgJmMsICZ0LCAmbCkgPT0gMCkKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQ6JWQ6JWQ6JWQiLCBoLCBjLCB0LCBsKTsKKwkJYnJlYWs7CisJfQorCWNhc2UgQ09MX1RSQU5TUE9SVDoKKwkJc3RyID0gZ2V0X3RyYW5zcG9ydChjeHQpOworCQlicmVhazsKKwljYXNlIENPTF9TVUJTWVM6CisJCXN0ciA9IGdldF9zdWJzeXN0ZW1zKGN4dCk7CisJCWJyZWFrOworCWNhc2UgQ09MX0RBTElHTjoKKwkJaWYgKGN4dC0+ZGlzY2FyZCkKKwkJCXVsX3BhdGhfcmVhZF9zdHJpbmcoY3h0LT5zeXNmcywgJnN0ciwgImRpc2NhcmRfYWxpZ25tZW50Iik7CisJCWlmICghc3RyKQorCQkJc3RyID0geHN0cmR1cCgiMCIpOworCQlpZiAoc29ydCkKKwkJCXNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcobG4sIGNvbCwgc3RyKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfREdSQU46CisJCWlmIChsc2Jsay0+Ynl0ZXMpIHsKKwkJCXVsX3BhdGhfcmVhZF9zdHJpbmcoY3h0LT5zeXNmcywgJnN0ciwgInF1ZXVlL2Rpc2NhcmRfZ3JhbnVsYXJpdHkiKTsKKwkJCWlmIChzb3J0KQorCQkJCXNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcobG4sIGNvbCwgc3RyKTsKKwkJfSBlbHNlIHsKKwkJCXVpbnQ2NF90IHg7CisJCQlpZiAodWxfcGF0aF9yZWFkX3U2NChjeHQtPnN5c2ZzLCAmeCwgInF1ZXVlL2Rpc2NhcmRfZ3JhbnVsYXJpdHkiKSA9PSAwKSB7CisJCQkJc3RyID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgeCk7CisJCQkJaWYgKHNvcnQpCisJCQkJCXNldF9zb3J0ZGF0YV91NjQobG4sIGNvbCwgeCk7CisJCQl9CisJCX0KKwkJYnJlYWs7CisJY2FzZSBDT0xfRE1BWDoKKwkJaWYgKGxzYmxrLT5ieXRlcykgeworCQkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAicXVldWUvZGlzY2FyZF9tYXhfYnl0ZXMiKTsKKwkJCWlmIChzb3J0KQorCQkJCXNldF9zb3J0ZGF0YV91NjRfZnJvbV9zdHJpbmcobG4sIGNvbCwgc3RyKTsKKwkJfSBlbHNlIHsKKwkJCXVpbnQ2NF90IHg7CisJCQlpZiAodWxfcGF0aF9yZWFkX3U2NChjeHQtPnN5c2ZzLCAmeCwgInF1ZXVlL2Rpc2NhcmRfbWF4X2J5dGVzIikgPT0gMCkgeworCQkJCXN0ciA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHgpOworCQkJCWlmIChzb3J0KQorCQkJCQlzZXRfc29ydGRhdGFfdTY0KGxuLCBjb2wsIHgpOworCQkJfQorCQl9CisJCWJyZWFrOworCWNhc2UgQ09MX0RaRVJPOgorCQlpZiAoY3h0LT5kaXNjYXJkKQorCQkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAicXVldWUvZGlzY2FyZF96ZXJvZXNfZGF0YSIpOworCQlpZiAoIXN0cikKKwkJCXN0ciA9IHhzdHJkdXAoIjAiKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfV1NBTUU6CisJCWlmIChsc2Jsay0+Ynl0ZXMpIHsKKwkJCXVsX3BhdGhfcmVhZF9zdHJpbmcoY3h0LT5zeXNmcywgJnN0ciwgInF1ZXVlL3dyaXRlX3NhbWVfbWF4X2J5dGVzIik7CisJCQlpZiAoc29ydCkKKwkJCQlzZXRfc29ydGRhdGFfdTY0X2Zyb21fc3RyaW5nKGxuLCBjb2wsIHN0cik7CisJCX0gZWxzZSB7CisJCQl1aW50NjRfdCB4OworCisJCQlpZiAodWxfcGF0aF9yZWFkX3U2NChjeHQtPnN5c2ZzLCAmeCwgInF1ZXVlL3dyaXRlX3NhbWVfbWF4X2J5dGVzIikgPT0gMCkgeworCQkJCXN0ciA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHgpOworCQkJCWlmIChzb3J0KQorCQkJCQlzZXRfc29ydGRhdGFfdTY0KGxuLCBjb2wsIHgpOworCQkJfQorCQl9CisJCWlmICghc3RyKQorCQkJc3RyID0geHN0cmR1cCgiMCIpOworCQlicmVhazsKKwljYXNlIENPTF9aT05FRDoKKwkJdWxfcGF0aF9yZWFkX3N0cmluZyhjeHQtPnN5c2ZzLCAmc3RyLCAicXVldWUvem9uZWQiKTsKKwkJYnJlYWs7CisJfTsKKworCWlmIChzdHIgJiYgc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBjb2wsIHN0cikpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiKSk7Cit9CisKK3N0YXRpYyB2b2lkIGZpbGxfdGFibGVfbGluZShzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0LCBzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2NvbHNfcGFyZW50KQoreworCXNpemVfdCBpOworCisJY3h0LT5zY29sc19saW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUobHNibGstPnRhYmxlLCBzY29sc19wYXJlbnQpOworCWlmICghY3h0LT5zY29sc19saW5lKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykKKwkJc2V0X3Njb2xzX2RhdGEoY3h0LCBpLCBnZXRfY29sdW1uX2lkKGkpLCBjeHQtPnNjb2xzX2xpbmUpOworfQorCitzdGF0aWMgaW50IHNldF9jeHQoc3RydWN0IGJsa2Rldl9jeHQgKmN4dCwKKwkJICAgIHN0cnVjdCBibGtkZXZfY3h0ICpwYXJlbnQsCisJCSAgICBzdHJ1Y3QgYmxrZGV2X2N4dCAqd2hvbGVkaXNrLAorCQkgICAgY29uc3QgY2hhciAqbmFtZSkKK3sKKwlkZXZfdCBkZXZubzsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgInNldHRpbmcgY29udGV4dCBmb3IgJXMgW3BhcmVudD0lcCwgd2hvbGVkaXNrPSVwXSIsCisJCQkJbmFtZSwgcGFyZW50LCB3aG9sZWRpc2spKTsKKworCWN4dC0+cGFyZW50ID0gcGFyZW50OworCWN4dC0+bmFtZSA9IHhzdHJkdXAobmFtZSk7CisJY3h0LT5wYXJ0aXRpb24gPSB3aG9sZWRpc2sgIT0gTlVMTDsKKworCWN4dC0+ZmlsZW5hbWUgPSBnZXRfZGV2aWNlX3BhdGgoY3h0KTsKKwlpZiAoIWN4dC0+ZmlsZW5hbWUpIHsKKwkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiLCBjeHQtPm5hbWUpKTsKKwkJcmV0dXJuIC0xOworCX0KKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogZmlsZW5hbWU9JXMiLCBjeHQtPm5hbWUsIGN4dC0+ZmlsZW5hbWUpKTsKKworCWRldm5vID0gX19zeXNmc19kZXZuYW1lX3RvX2Rldm5vKGxzYmxrLT5zeXNyb290LCBjeHQtPm5hbWUsIHdob2xlZGlzayA/IHdob2xlZGlzay0+bmFtZSA6IE5VTEwpOworCisJaWYgKCFkZXZubykgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIsIGN4dC0+bmFtZSkpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGxzYmxrLT5pbnZlcnNlKSB7CisJCWN4dC0+c3lzZnMgPSB1bF9uZXdfc3lzZnNfcGF0aChkZXZubywgd2hvbGVkaXNrID8gd2hvbGVkaXNrLT5zeXNmcyA6IE5VTEwsIGxzYmxrLT5zeXNyb290KTsKKwkJaWYgKCFjeHQtPnN5c2ZzKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIsIGN4dC0+bmFtZSkpOworCQkJcmV0dXJuIC0xOworCQl9CisJCWlmIChwYXJlbnQpCisJCQlzeXNmc19ibGtkZXZfc2V0X3BhcmVudChwYXJlbnQtPnN5c2ZzLCBjeHQtPnN5c2ZzKTsKKwl9IGVsc2UgeworCQljeHQtPnN5c2ZzID0gdWxfbmV3X3N5c2ZzX3BhdGgoZGV2bm8sIHBhcmVudCA/IHBhcmVudC0+c3lzZnMgOiBOVUxMLCBsc2Jsay0+c3lzcm9vdCk7CisJCWlmICghY3h0LT5zeXNmcykgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiLCBjeHQtPm5hbWUpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCX0KKworCWN4dC0+bWFqID0gbWFqb3IoZGV2bm8pOworCWN4dC0+bWluID0gbWlub3IoZGV2bm8pOworCWN4dC0+c2l6ZSA9IDA7CisKKwlpZiAodWxfcGF0aF9yZWFkX3U2NChjeHQtPnN5c2ZzLCAmY3h0LT5zaXplLCAic2l6ZSIpID09IDApCS8qIGluIHNlY3RvcnMgKi8KKwkJY3h0LT5zaXplIDw8PSA5OwkJCQkJLyogaW4gYnl0ZXMgKi8KKworCWlmICh1bF9wYXRoX3JlYWRfczMyKGN4dC0+c3lzZnMsICZjeHQtPmRpc2NhcmQsCisJCQkgICAicXVldWUvZGlzY2FyZF9ncmFudWxhcml0eSIpICE9IDApCisJCWN4dC0+ZGlzY2FyZCA9IDA7CisKKwkvKiBJZ25vcmUgZGV2aWNlcyBvZiB6ZXJvIHNpemUgKi8KKwlpZiAoIWxzYmxrLT5hbGxfZGV2aWNlcyAmJiBjeHQtPnNpemUgPT0gMCkgeworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICJ6ZXJvIHNpemUgZGV2aWNlIC0tIGlnbm9yZSIpKTsKKwkJcmV0dXJuIC0xOworCX0KKwlpZiAoaXNfZG0oY3h0LT5uYW1lKSkgeworCQl1bF9wYXRoX3JlYWRfc3RyaW5nKGN4dC0+c3lzZnMsICZjeHQtPmRtX25hbWUsICJkbS9uYW1lIik7CisJCWlmICghY3h0LT5kbV9uYW1lKSB7CisJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIiwgY3h0LT5uYW1lKSk7CisJCQlyZXR1cm4gLTE7CisJCX0KKwl9CisKKwljeHQtPm5wYXJ0aXRpb25zID0gc3lzZnNfYmxrZGV2X2NvdW50X3BhcnRpdGlvbnMoY3h0LT5zeXNmcywgY3h0LT5uYW1lKTsKKwljeHQtPm5ob2xkZXJzID0gdWxfcGF0aF9jb3VudF9kaXJlbnRzKGN4dC0+c3lzZnMsICJob2xkZXJzIik7CisJY3h0LT5uc2xhdmVzID0gdWxfcGF0aF9jb3VudF9kaXJlbnRzKGN4dC0+c3lzZnMsICJzbGF2ZXMiKTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIiVzOiBucGFydGl0aW9ucz0lZCwgbmhvbGRlcnM9JWQsIG5zbGF2ZXM9JWQiLAorCQkJY3h0LT5uYW1lLCBjeHQtPm5wYXJ0aXRpb25zLCBjeHQtPm5ob2xkZXJzLCBjeHQtPm5zbGF2ZXMpKTsKKworCS8qIGlnbm9yZSBub24tU0NTSSBkZXZpY2VzICovCisJaWYgKGxzYmxrLT5zY3NpICYmIHN5c2ZzX2Jsa2Rldl9zY3NpX2dldF9oY3RsKGN4dC0+c3lzZnMsIE5VTEwsIE5VTEwsIE5VTEwsIE5VTEwpKSB7CisJCURCRyhDWFQsIHVsX2RlYnVnb2JqKGN4dCwgIm5vbi1zY3NpIGRldmljZSAtLSBpZ25vcmUiKSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogY29udGV4dCBzdWNjZXNzZnVsbHkgaW5pdGlhbGl6ZWQiLCBjeHQtPm5hbWUpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9jZXNzX2Jsa2RldihzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0LCBzdHJ1Y3QgYmxrZGV2X2N4dCAqcGFyZW50LAorCQkJICBpbnQgZG9fcGFydGl0aW9ucywgY29uc3QgY2hhciAqcGFydF9uYW1lKTsKKworLyoKKyAqIExpc3QgZGV2aWNlIHBhcnRpdGlvbnMgaWYgYW55LgorICovCitzdGF0aWMgaW50IGxpc3RfcGFydGl0aW9ucyhzdHJ1Y3QgYmxrZGV2X2N4dCAqd2hvbGVkaXNrX2N4dCwgc3RydWN0IGJsa2Rldl9jeHQgKnBhcmVudF9jeHQsCisJCQkgICBjb25zdCBjaGFyICpwYXJ0X25hbWUpCit7CisJRElSICpkaXI7CisJc3RydWN0IGRpcmVudCAqZDsKKwlzdHJ1Y3QgYmxrZGV2X2N4dCBwYXJ0X2N4dCA9IHsgTlVMTCB9OworCWludCByID0gLTE7CisKKwlhc3NlcnQod2hvbGVkaXNrX2N4dCk7CisKKwkvKgorCSAqIERvIG5vdCBwcm9jZXNzIGZ1cnRoZXIgaWYgdGhlcmUgYXJlIG5vIHBhcnRpdGlvbnMgZm9yCisJICogdGhpcyBkZXZpY2Ugb3IgdGhlIGRldmljZSBpdHNlbGYgaXMgYSBwYXJ0aXRpb24uCisJICovCisJaWYgKCF3aG9sZWRpc2tfY3h0LT5ucGFydGl0aW9ucyB8fCB3aG9sZWRpc2tfY3h0LT5wYXJ0aXRpb24pCisJCXJldHVybiAtMTsKKworCURCRyhDWFQsIHVsX2RlYnVnb2JqKHdob2xlZGlza19jeHQsICJwcm9iZSB3aG9sZS1kaXNrIGZvciBwYXJ0aXRpb25zIikpOworCisJZGlyID0gdWxfcGF0aF9vcGVuZGlyKHdob2xlZGlza19jeHQtPnN5c2ZzLCBOVUxMKTsKKwlpZiAoIWRpcikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIpKTsKKworCXdoaWxlICgoZCA9IHhyZWFkZGlyKGRpcikpKSB7CisJCS8qIFByb2Nlc3MgcGFydGljdWxhciBwYXJ0aXRpb24gb25seT8gKi8KKwkJaWYgKHBhcnRfbmFtZSAmJiBzdHJjbXAocGFydF9uYW1lLCBkLT5kX25hbWUpKQorCQkJY29udGludWU7CisKKwkJaWYgKCEoc3lzZnNfYmxrZGV2X2lzX3BhcnRpdGlvbl9kaXJlbnQoZGlyLCBkLCB3aG9sZWRpc2tfY3h0LT5uYW1lKSkpCisJCQljb250aW51ZTsKKworCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaih3aG9sZWRpc2tfY3h0LCAiICBjaGVja2luZyAlcyIsIGQtPmRfbmFtZSkpOworCisJCWlmIChsc2Jsay0+aW52ZXJzZSkgeworCQkJLyoKKwkJCSAqIDxwYXJlbnRfY3h0PgorCQkJICogYC08cGFydF9jeHQ+CisJCQkgKiAgIGAtPHdob2xlZGlza19jeHQ+CisJCQkgKiAgICBgLS4uLgorCQkJICovCisJCQlpZiAoc2V0X2N4dCgmcGFydF9jeHQsIHBhcmVudF9jeHQsIHdob2xlZGlza19jeHQsIGQtPmRfbmFtZSkpCisJCQkJZ290byBuZXh0OworCisJCQlpZiAoIXBhcmVudF9jeHQgJiYgcGFydF9jeHQubmhvbGRlcnMpCisJCQkJZ290byBuZXh0OworCisJCQl3aG9sZWRpc2tfY3h0LT5wYXJlbnQgPSAmcGFydF9jeHQ7CisJCQlmaWxsX3RhYmxlX2xpbmUoJnBhcnRfY3h0LCBwYXJlbnRfY3h0ID8gcGFyZW50X2N4dC0+c2NvbHNfbGluZSA6IE5VTEwpOworCQkJaWYgKCFsc2Jsay0+bm9kZXBzKQorCQkJCXByb2Nlc3NfYmxrZGV2KHdob2xlZGlza19jeHQsICZwYXJ0X2N4dCwgMCwgTlVMTCk7CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogPHBhcmVudF9jeHQ+CisJCQkgKiBgLTx3aG9sZWRpc2tfY3h0PgorCQkJICogICBgLTxwYXJ0X2N4dD4KKwkJCSAqICAgIGAtLi4uCisJCQkgKi8KKwkJCWludCBwcyA9IHNldF9jeHQoJnBhcnRfY3h0LCB3aG9sZWRpc2tfY3h0LCB3aG9sZWRpc2tfY3h0LCBkLT5kX25hbWUpOworCisJCQkvKiBQcmludCB3aG9sZSBkaXNrIG9ubHkgb25jZSAqLworCQkJaWYgKHIpCisJCQkJZmlsbF90YWJsZV9saW5lKHdob2xlZGlza19jeHQsIHBhcmVudF9jeHQgPyBwYXJlbnRfY3h0LT5zY29sc19saW5lIDogTlVMTCk7CisJCQlpZiAocHMgPT0gMCAmJiAhbHNibGstPm5vZGVwcykKKwkJCQlwcm9jZXNzX2Jsa2RldigmcGFydF9jeHQsIHdob2xlZGlza19jeHQsIDAsIE5VTEwpOworCQl9CisJbmV4dDoKKwkJcmVzZXRfYmxrZGV2X2N4dCgmcGFydF9jeHQpOworCQlyID0gMDsKKwl9CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaih3aG9sZWRpc2tfY3h0LCAicHJvYmUgd2hvbGUtZGlzayBmb3IgcGFydGl0aW9ucyAtLSBkb25lIikpOworCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIHI7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3dob2xlZGlza19mcm9tX3BhcnRpdGlvbl9kaXJlbnQoRElSICpkaXIsCisJCQkJc3RydWN0IGRpcmVudCAqZCwgc3RydWN0IGJsa2Rldl9jeHQgKmN4dCkKK3sKKwljaGFyIHBhdGhbUEFUSF9NQVhdOworCWNoYXIgKnA7CisJaW50IGxlbjsKKworCWlmICgobGVuID0gcmVhZGxpbmthdChkaXJmZChkaXIpLCBkLT5kX25hbWUsIHBhdGgsIHNpemVvZihwYXRoKSAtIDEpKSA8IDApCisJCXJldHVybiAwOworCisJcGF0aFtsZW5dID0gJ1wwJzsKKworCS8qIFRoZSBwYXRoIGVuZHMgd2l0aCAiLi4uLzxkZXZpY2U+LzxwYXJ0aXRpb24+IiAqLworCXAgPSBzdHJyY2hyKHBhdGgsICcvJyk7CisJaWYgKCFwKQorCQlyZXR1cm4gMDsKKwkqcCA9ICdcMCc7CisKKwlwID0gc3RycmNocihwYXRoLCAnLycpOworCWlmICghcCkKKwkJcmV0dXJuIDA7CisJcCsrOworCisJcmV0dXJuIHNldF9jeHQoY3h0LCBOVUxMLCBOVUxMLCBwKTsKK30KKworLyoKKyAqIExpc3QgZGV2aWNlIGRlcGVuZGVuY2llczogcGFydGl0aW9ucywgaG9sZGVycyAoaW52ZXJzZSA9IDApIG9yIHNsYXZlcyAoaW52ZXJzZSA9IDEpLgorICovCitzdGF0aWMgaW50IGxpc3RfZGVwcyhzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0KQoreworCURJUiAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmQ7CisJc3RydWN0IGJsa2Rldl9jeHQgZGVwID0geyBOVUxMIH07CisJY29uc3QgY2hhciAqZGVwbmFtZTsKKworCWFzc2VydChjeHQpOworCisJaWYgKGxzYmxrLT5ub2RlcHMpCisJCXJldHVybiAwOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGxpc3QgZGVwZW5kZW5jaWVzIiwgY3h0LT5uYW1lKSk7CisKKwlpZiAoIShsc2Jsay0+aW52ZXJzZSA/IGN4dC0+bnNsYXZlcyA6IGN4dC0+bmhvbGRlcnMpKQorCQlyZXR1cm4gMDsKKworCWRlcG5hbWUgPSBsc2Jsay0+aW52ZXJzZSA/ICJzbGF2ZXMiIDogImhvbGRlcnMiOworCWRpciA9IHVsX3BhdGhfb3BlbmRpcihjeHQtPnN5c2ZzLCBkZXBuYW1lKTsKKwlpZiAoIWRpcikKKwkJcmV0dXJuIDA7CisKKwlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogY2hlY2tpbmcgZm9yICclcycgZGVwZW5kZW5jZSIsIGN4dC0+bmFtZSwgZGVwbmFtZSkpOworCisJd2hpbGUgKChkID0geHJlYWRkaXIoZGlyKSkpIHsKKwkJLyogSXMgdGhlIGRlcGVuZGVuY3kgYSBwYXJ0aXRpb24/ICovCisJCWlmIChzeXNmc19ibGtkZXZfaXNfcGFydGl0aW9uX2RpcmVudChkaXIsIGQsIE5VTEwpKSB7CisJCQlpZiAoIWdldF93aG9sZWRpc2tfZnJvbV9wYXJ0aXRpb25fZGlyZW50KGRpciwgZCwgJmRlcCkpIHsKKwkJCQlEQkcoQ1hULCB1bF9kZWJ1Z29iaihjeHQsICIlczogJXM6IGRlcGVuZGVuY2UgaXMgcGFydGl0aW9uIiwKKwkJCQkJCQkJY3h0LT5uYW1lLCBkLT5kX25hbWUpKTsKKwkJCQlwcm9jZXNzX2Jsa2RldigmZGVwLCBjeHQsIDEsIGQtPmRfbmFtZSk7CisJCQl9CisJCX0KKwkJLyogVGhlIGRlcGVuZGVuY3kgaXMgYSB3aG9sZSBkZXZpY2UuICovCisJCWVsc2UgaWYgKCFzZXRfY3h0KCZkZXAsIGN4dCwgTlVMTCwgZC0+ZF9uYW1lKSkgeworCQkJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6ICVzOiBkZXBlbmRlbmNlIGlzIHdob2xlLWRpc2siLAorCQkJCQkJCQljeHQtPm5hbWUsIGQtPmRfbmFtZSkpOworCQkJLyogRm9yIGludmVyc2UgdHJlZSB3ZSBkb24ndCB3YW50IHRvIHNob3cgcGFydGl0aW9ucworCQkJICogaWYgdGhlIGRlcGVuZGVuY2UgaXMgb24gd2hvbGUtZGlzayAqLworCQkJcHJvY2Vzc19ibGtkZXYoJmRlcCwgY3h0LCBsc2Jsay0+aW52ZXJzZSA/IDAgOiAxLCBOVUxMKTsKKwkJfQorCQlyZXNldF9ibGtkZXZfY3h0KCZkZXApOworCX0KKwljbG9zZWRpcihkaXIpOworCisJREJHKENYVCwgdWxfZGVidWdvYmooY3h0LCAiJXM6IGNoZWNraW5nIGZvciAnJXMnIC0tIGRvbmUiLCBjeHQtPm5hbWUsIGRlcG5hbWUpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9jZXNzX2Jsa2RldihzdHJ1Y3QgYmxrZGV2X2N4dCAqY3h0LCBzdHJ1Y3QgYmxrZGV2X2N4dCAqcGFyZW50LAorCQkJICBpbnQgZG9fcGFydGl0aW9ucywgY29uc3QgY2hhciAqcGFydF9uYW1lKQoreworCWlmIChkb19wYXJ0aXRpb25zICYmIGN4dC0+bnBhcnRpdGlvbnMpCisJCWxpc3RfcGFydGl0aW9ucyhjeHQsIHBhcmVudCwgcGFydF9uYW1lKTsJCS8qIHBhcnRpdGlvbnMgKyB3aG9sZS1kaXNrICovCisJZWxzZQorCQlmaWxsX3RhYmxlX2xpbmUoY3h0LCBwYXJlbnQgPyBwYXJlbnQtPnNjb2xzX2xpbmUgOiBOVUxMKTsgLyogd2hvbGUtZGlzayBvbmx5ICovCisKKwlyZXR1cm4gbGlzdF9kZXBzKGN4dCk7Cit9CisKKy8qIEl0ZXJhdGUgZGV2aWNlcyBpbiBzeXNmcyAqLworc3RhdGljIGludCBpdGVyYXRlX2Jsb2NrX2RldmljZXModm9pZCkKK3sKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCXN0cnVjdCBibGtkZXZfY3h0IGN4dCA9IHsgTlVMTCB9OworCXN0cnVjdCBwYXRoX2N4dCAqcGMgPSB1bF9uZXdfcGF0aChfUEFUSF9TWVNfQkxPQ0spOworCisJaWYgKCFwYykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIC9zeXMgaGFuZGxlciIpKTsKKworCXVsX3BhdGhfc2V0X3ByZWZpeChwYywgbHNibGstPnN5c3Jvb3QpOworCisJLyogVE9ETzogcmV1c2UgQHBjIGluIHNldF9jeHQoKSwgZXRjLiAqLworCWRpciA9IHVsX3BhdGhfb3BlbmRpcihwYywgTlVMTCk7CisJaWYgKCFkaXIpCisJCWdvdG8gZG9uZTsKKworCURCRyhERVYsIHVsX2RlYnVnKCJpdGVyYXRlIG9uICIgX1BBVEhfU1lTX0JMT0NLKSk7CisKKwl3aGlsZSAoKGQgPSB4cmVhZGRpcihkaXIpKSkgeworCisJCURCRyhERVYsIHVsX2RlYnVnKCIgJXMgZGVudHJ5IiwgZC0+ZF9uYW1lKSk7CisKKwkJaWYgKHNldF9jeHQoJmN4dCwgTlVMTCwgTlVMTCwgZC0+ZF9uYW1lKSkKKwkJCWdvdG8gbmV4dDsKKworCQlpZiAoaXNfbWFqX2V4Y2x1ZGVkKGN4dC5tYWopIHx8ICFpc19tYWpfaW5jbHVkZWQoY3h0Lm1haikpCisJCQlnb3RvIG5leHQ7CisKKwkJLyogU2tpcCBkZXZpY2VzIGluIHRoZSBtaWRkbGUgb2YgZGVwZW5kZW5jeSB0cmVlLiAqLworCQlpZiAoKGxzYmxrLT5pbnZlcnNlID8gY3h0Lm5ob2xkZXJzIDogY3h0Lm5zbGF2ZXMpID4gMCkKKwkJCWdvdG8gbmV4dDsKKworCQlwcm9jZXNzX2Jsa2RldigmY3h0LCBOVUxMLCAxLCBOVUxMKTsKKwluZXh0OgorCQlyZXNldF9ibGtkZXZfY3h0KCZjeHQpOworCX0KKworCWNsb3NlZGlyKGRpcik7Citkb25lOgorCXVsX3VucmVmX3BhdGgocGMpOworCURCRyhERVYsIHVsX2RlYnVnKCJpdGVyYXRlIG9uICIgX1BBVEhfU1lTX0JMT0NLICIgLS0gZG9uZSIpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwcm9jZXNzX29uZV9kZXZpY2UoY2hhciAqZGV2bmFtZSkKK3sKKwlzdHJ1Y3QgYmxrZGV2X2N4dCBwYXJlbnQgPSB7IE5VTEwgfSwgY3h0ID0geyBOVUxMIH07CisJc3RydWN0IHN0YXQgc3Q7CisJY2hhciBidWZbUEFUSF9NQVggKyAxXSwgKm5hbWUgPSBOVUxMLCAqZGlza25hbWUgPSBOVUxMOworCWRldl90IGRpc2sgPSAwOworCWludCByZWFsX3BhcnQgPSAwLCByYyA9IC1FSU5WQUw7CisKKwlpZiAoc3RhdChkZXZuYW1lLCAmc3QpIHx8ICFTX0lTQkxLKHN0LnN0X21vZGUpKSB7CisJCXdhcm54KF8oIiVzOiBub3QgYSBibG9jayBkZXZpY2UiKSwgZGV2bmFtZSk7CisJCWdvdG8gbGVhdmU7CisJfQorCisJLyogVE9ETzogc3lzZnNfZGV2bm9fdG9fZGV2bmFtZSgpIGludGVybmFsbHkgaW5pdGlhbGl6ZXMgcGF0aF9jeHQsIGl0CisJICogd291bGQgYmUgYmV0dGVyIHRvIHVzZSB1bF9uZXdfc3lzZnNfcGF0aCgpICsgc3lzZnNfYmxrZGV2X2dldF9uYW1lKCkKKwkgKiBhbmQgcmV1c2UgcGF0aF9jeHQgZm9yIHNldF9jeHQoKQorCSAqLworCW5hbWUgPSBzeXNmc19kZXZub190b19kZXZuYW1lKHN0LnN0X3JkZXYsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWlmICghbmFtZSkgeworCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiKSwgZGV2bmFtZSk7CisJCWdvdG8gbGVhdmU7CisJfQorCW5hbWUgPSB4c3RyZHVwKG5hbWUpOworCisJaWYgKCFzdHJuY21wKG5hbWUsICJkbS0iLCAzKSkgeworCQkvKiBkbSBtYXBwaW5nIGlzIG5ldmVyIGEgcmVhbCBwYXJ0aXRpb24hICovCisJCXJlYWxfcGFydCA9IDA7CisJfSBlbHNlIHsKKwkJaWYgKGJsa2lkX2Rldm5vX3RvX3dob2xlZGlzayhzdC5zdF9yZGV2LCBidWYsIHNpemVvZihidWYpLCAmZGlzaykpIHsKKwkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIiksIGRldm5hbWUpOworCQkJZ290byBsZWF2ZTsKKwkJfQorCQlkaXNrbmFtZSA9IGJ1ZjsKKwkJcmVhbF9wYXJ0ID0gc3Quc3RfcmRldiAhPSBkaXNrOworCX0KKworCWlmICghcmVhbF9wYXJ0KSB7CisJCS8qCisJCSAqIERldmljZSBpcyBub3QgYSBwYXJ0aXRpb24uCisJCSAqLworCQlpZiAoc2V0X2N4dCgmY3h0LCBOVUxMLCBOVUxMLCBuYW1lKSkKKwkJCWdvdG8gbGVhdmU7CisJCXByb2Nlc3NfYmxrZGV2KCZjeHQsIE5VTEwsICFsc2Jsay0+aW52ZXJzZSwgTlVMTCk7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogUGFydGl0aW9uLCByZWFkIHN5c2ZzIG5hbWUgb2YgdGhlIGRldmljZS4KKwkJICovCisJCWlmIChzZXRfY3h0KCZwYXJlbnQsIE5VTEwsIE5VTEwsIGRpc2tuYW1lKSkKKwkJCWdvdG8gbGVhdmU7CisJCWlmIChzZXRfY3h0KCZjeHQsICZwYXJlbnQsICZwYXJlbnQsIG5hbWUpKQorCQkJZ290byBsZWF2ZTsKKworCQlpZiAobHNibGstPmludmVyc2UpCisJCQlwcm9jZXNzX2Jsa2RldigmcGFyZW50LCAmY3h0LCAxLCBjeHQubmFtZSk7CisJCWVsc2UKKwkJCXByb2Nlc3NfYmxrZGV2KCZjeHQsICZwYXJlbnQsIDEsIE5VTEwpOworCX0KKworCXJjID0gMDsKK2xlYXZlOgorCWZyZWUobmFtZSk7CisJcmVzZXRfYmxrZGV2X2N4dCgmY3h0KTsKKworCWlmIChyZWFsX3BhcnQpCisJCXJlc2V0X2Jsa2Rldl9jeHQoJnBhcmVudCk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX2V4Y2x1ZGVzKGNvbnN0IGNoYXIgKnN0cjApCit7CisJY29uc3QgY2hhciAqc3RyID0gc3RyMDsKKworCXdoaWxlIChzdHIgJiYgKnN0cikgeworCQljaGFyICplbmQgPSBOVUxMOworCQl1bnNpZ25lZCBsb25nIG47CisKKwkJZXJybm8gPSAwOworCQluID0gc3RydG91bChzdHIsICZlbmQsIDEwKTsKKworCQlpZiAoZW5kID09IHN0ciB8fCAoZW5kICYmICplbmQgJiYgKmVuZCAhPSAnLCcpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciKSwgc3RyMCk7CisJCWlmIChlcnJubyAhPSAwICYmIChuID09IFVMT05HX01BWCB8fCBuID09IDApKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIpLCBzdHIwKTsKKwkJZXhjbHVkZXNbbmV4Y2x1ZGVzKytdID0gbjsKKworCQlpZiAobmV4Y2x1ZGVzID09IEFSUkFZX1NJWkUoZXhjbHVkZXMpKQorCQkJLyogVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LiAqLworCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgIgorCQkJCQkidG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIpLAorCQkJCQkoaW50KUFSUkFZX1NJWkUoZXhjbHVkZXMpKTsKKworCQlzdHIgPSBlbmQgJiYgKmVuZCA/IGVuZCArIDEgOiBOVUxMOworCX0KK30KKworc3RhdGljIHZvaWQgcGFyc2VfaW5jbHVkZXMoY29uc3QgY2hhciAqc3RyMCkKK3sKKwljb25zdCBjaGFyICpzdHIgPSBzdHIwOworCisJd2hpbGUgKHN0ciAmJiAqc3RyKSB7CisJCWNoYXIgKmVuZCA9IE5VTEw7CisJCXVuc2lnbmVkIGxvbmcgbjsKKworCQllcnJubyA9IDA7CisJCW4gPSBzdHJ0b3VsKHN0ciwgJmVuZCwgMTApOworCisJCWlmIChlbmQgPT0gc3RyIHx8IChlbmQgJiYgKmVuZCAmJiAqZW5kICE9ICcsJykpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIpLCBzdHIwKTsKKwkJaWYgKGVycm5vICE9IDAgJiYgKG4gPT0gVUxPTkdfTUFYIHx8IG4gPT0gMCkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIiksIHN0cjApOworCQlpbmNsdWRlc1tuaW5jbHVkZXMrK10gPSBuOworCisJCWlmIChuaW5jbHVkZXMgPT0gQVJSQVlfU0laRShpbmNsdWRlcykpCisJCQkvKiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuICovCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyAiCisJCQkJCSJ0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIiksCisJCQkJCShpbnQpQVJSQVlfU0laRShpbmNsdWRlcykpOworCQlzdHIgPSBlbmQgJiYgKmVuZCA/IGVuZCArIDEgOiBOVUxMOworCX0KK30KKworLyoKKyAqIHNlZSBzZXRfc29ydGRhdGFfdTY0KCkgYW5kIGNvbHVtbnMgaW5pdGlhbGl6YXRpb24gaW4gbWFpbigpCisgKi8KK3N0YXRpYyBpbnQgY21wX3U2NF9jZWxscyhzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqYSwKKwkJCSBzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqYiwKKwkJCSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgdm9pZCAqZGF0YSkKK3sKKwl1aW50NjRfdCAqYWRhdGEgPSAodWludDY0X3QgKikgc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGEoYSksCisJCSAqYmRhdGEgPSAodWludDY0X3QgKikgc2NvbHNfY2VsbF9nZXRfdXNlcmRhdGEoYik7CisKKwlpZiAoYWRhdGEgPT0gTlVMTCAmJiBiZGF0YSA9PSBOVUxMKQorCQlyZXR1cm4gMDsKKwlpZiAoYWRhdGEgPT0gTlVMTCkKKwkJcmV0dXJuIC0xOworCWlmIChiZGF0YSA9PSBOVUxMKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gKmFkYXRhID09ICpiZGF0YSA/IDAgOiAqYWRhdGEgPj0gKmJkYXRhID8gMSA6IC0xOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXosIC0tem9uZWQgICAgICAgICAgcHJpbnQgem9uZSBtb2RlbFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVCwgLS10cmVlICAgICAgICAgICB1c2UgdHJlZSBmb3JtYXQgb3V0cHV0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIiksIG91dCk7CisJZnB1dHMoXygiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tc3lzcm9vdCA8ZGlyPiAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIyKSk7CisKKwlmcHJpbnRmKG91dCwgVVNBR0VfQ09MVU1OUyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTExcyAgJXNcbiIsIGluZm9zW2ldLm5hbWUsIF8oaW5mb3NbaV0uaGVscCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJsc2Jsayg4KSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgY2hlY2tfc3lzZGV2YmxvY2sodm9pZCkKK3sKKwlpZiAoYWNjZXNzKF9QQVRIX1NZU19ERVZCTE9DSywgUl9PSykgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIiksCisJCSAgICBfUEFUSF9TWVNfREVWQkxPQ0spOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsc2JsayBfbHMgPSB7IC5zb3J0X2lkID0gLTEsIC5mbGFncyA9IExTQkxLX1RSRUUgfTsKKwlpbnQgYywgc3RhdHVzID0gRVhJVF9GQUlMVVJFOworCWNoYXIgKm91dGFyZyA9IE5VTEw7CisJc2l6ZV90IGk7CisJaW50IGZvcmNlX3RyZWUgPSAwOworCisJZW51bSB7CisJCU9QVF9TWVNST09UID0gQ0hBUl9NQVggKyAxCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFsbCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYScgfSwKKwkJeyAiYnl0ZXMiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYicgfSwKKwkJeyAibm9kZXBzIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZCcgfSwKKwkJeyAiZGlzY2FyZCIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnRCcgfSwKKwkJeyAiem9uZWQiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAneicgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAianNvbiIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSicgfSwKKwkJeyAib3V0cHV0IiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAib3V0cHV0LWFsbCIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnTycgfSwKKwkJeyAicGVybXMiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbScgfSwKKwkJeyAibm9oZWFkaW5ncyIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgfSwKKwkJeyAibGlzdCIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbCcgfSwKKwkJeyAiYXNjaWkiLAlub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2knIH0sCisJCXsgInJhdyIsICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3InIH0sCisJCXsgImludmVyc2UiLAlub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3MnIH0sCisJCXsgImZzIiwgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2YnIH0sCisJCXsgImV4Y2x1ZGUiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2UnIH0sCisJCXsgImluY2x1ZGUiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ0knIH0sCisJCXsgInRvcG9sb2d5IiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3QnIH0sCisJCXsgInBhdGhzIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3AnIH0sCisJCXsgInBhaXJzIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1AnIH0sCisJCXsgInNjc2kiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1MnIH0sCisJCXsgInNvcnQiLAlyZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3gnIH0sCisJCXsgInN5c3Jvb3QiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX1NZU1JPT1QgfSwKKwkJeyAidHJlZSIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVCcgfSwKKwkJeyAidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0sCisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0geyAgICAgICAvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ0QnLCdPJyB9LAorCQl7ICdJJywnZScgfSwKKwkJeyAnSicsICdQJywgJ3InIH0sCisJCXsgJ08nLCdTJyB9LAorCQl7ICdPJywnZicgfSwKKwkJeyAnTycsJ20nIH0sCisJCXsgJ08nLCd0JyB9LAorCQl7ICdQJywnVCcsICdsJywncicgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlsc2JsayA9ICZfbHM7CisKKwlsc2Jsa19pbml0X2RlYnVnKCk7CisKKwl3aGlsZSgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkgICAgICAgImFiZER6ZTpmaEpsbm1vOk9wUGlJOnJzdFZTVHg6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlsc2Jsay0+YWxsX2RldmljZXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJbHNibGstPmJ5dGVzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWxzYmxrLT5ub2RlcHMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0QnOgorCQkJYWRkX3VuaXFfY29sdW1uKENPTF9OQU1FKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfREFMSUdOKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfREdSQU4pOworCQkJYWRkX3VuaXFfY29sdW1uKENPTF9ETUFYKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfRFpFUk8pOworCQkJYnJlYWs7CisJCWNhc2UgJ3onOgorCQkJYWRkX3VuaXFfY29sdW1uKENPTF9OQU1FKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfWk9ORUQpOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJcGFyc2VfZXhjbHVkZXMob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnSic6CisJCQlsc2Jsay0+ZmxhZ3MgfD0gTFNCTEtfSlNPTjsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWxzYmxrLT5mbGFncyAmPSB+TFNCTEtfVFJFRTsgLyogZGlzYWJsZSB0aGUgZGVmYXVsdCAqLworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJbHNibGstPmZsYWdzIHw9IExTQkxLX05PSEVBRElOR1M7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlmb3IgKG5jb2x1bW5zID0gMCA7IG5jb2x1bW5zIDwgQVJSQVlfU0laRShpbmZvcyk7IG5jb2x1bW5zKyspCisJCQkJY29sdW1uc1tuY29sdW1uc10gPSBuY29sdW1uczsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWxzYmxrLT5wYXRocyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnUCc6CisJCQlsc2Jsay0+ZmxhZ3MgfD0gTFNCTEtfRVhQT1JUOworCQkJbHNibGstPmZsYWdzICY9IH5MU0JMS19UUkVFOwkvKiBkaXNhYmxlIHRoZSBkZWZhdWx0ICovCisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlsc2Jsay0+ZmxhZ3MgfD0gTFNCTEtfQVNDSUk7CisJCQlicmVhazsKKwkJY2FzZSAnSSc6CisJCQlwYXJzZV9pbmNsdWRlcyhvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJbHNibGstPmZsYWdzICY9IH5MU0JMS19UUkVFOwkvKiBkaXNhYmxlIHRoZSBkZWZhdWx0ICovCisJCQlsc2Jsay0+ZmxhZ3MgfD0gTFNCTEtfUkFXOwkJLyogZW5hYmxlIHJhdyAqLworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJbHNibGstPmludmVyc2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJYWRkX3VuaXFfY29sdW1uKENPTF9OQU1FKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfRlNUWVBFKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfTEFCRUwpOworCQkJYWRkX3VuaXFfY29sdW1uKENPTF9VVUlEKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfVEFSR0VUKTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfTkFNRSk7CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX1NJWkUpOworCQkJYWRkX3VuaXFfY29sdW1uKENPTF9PV05FUik7CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX0dST1VQKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfTU9ERSk7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX05BTUUpOworCQkJYWRkX3VuaXFfY29sdW1uKENPTF9BTElPRkYpOworCQkJYWRkX3VuaXFfY29sdW1uKENPTF9NSU5JTyk7CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX09QVElPKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfUEhZU0VDKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfTE9HU0VDKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfUk9UQSk7CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX1NDSEVEKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfUlFfU0laRSk7CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX1JBKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfV1NBTUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ1MnOgorCQkJbHNibGstPm5vZGVwcyA9IDE7CisJCQlsc2Jsay0+c2NzaSA9IDE7CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX05BTUUpOworCQkJYWRkX3VuaXFfY29sdW1uKENPTF9IQ1RMKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfVFlQRSk7CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX1ZFTkRPUik7CisJCQlhZGRfdW5pcV9jb2x1bW4oQ09MX01PREVMKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfUkVWKTsKKwkJCWFkZF91bmlxX2NvbHVtbihDT0xfVFJBTlNQT1JUKTsKKwkJCWJyZWFrOworCQljYXNlICdUJzoKKwkJCWZvcmNlX3RyZWUgPSAxOworCQkJYnJlYWs7CisKKwkJY2FzZSBPUFRfU1lTUk9PVDoKKwkJCWxzYmxrLT5zeXNyb290ID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICd4JzoKKwkJCWxzYmxrLT5mbGFncyAmPSB+TFNCTEtfVFJFRTsgLyogZGlzYWJsZSB0aGUgZGVmYXVsdCAqLworCQkJbHNibGstPnNvcnRfaWQgPSBjb2x1bW5fbmFtZV90b19pZChvcHRhcmcsIHN0cmxlbihvcHRhcmcpKTsKKwkJCWlmIChsc2Jsay0+c29ydF9pZCA+PSAwKQorCQkJCWJyZWFrOworCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChmb3JjZV90cmVlKQorCQlsc2Jsay0+ZmxhZ3MgfD0gTFNCTEtfVFJFRTsKKworCWNoZWNrX3N5c2RldmJsb2NrKCk7CisKKwlpZiAoIW5jb2x1bW5zKSB7CisJCWFkZF9jb2x1bW4oQ09MX05BTUUpOworCQlhZGRfY29sdW1uKENPTF9NQUpNSU4pOworCQlhZGRfY29sdW1uKENPTF9STSk7CisJCWFkZF9jb2x1bW4oQ09MX1NJWkUpOworCQlhZGRfY29sdW1uKENPTF9STyk7CisJCWFkZF9jb2x1bW4oQ09MX1RZUEUpOworCQlhZGRfY29sdW1uKENPTF9UQVJHRVQpOworCX0KKworCWlmIChvdXRhcmcgJiYgc3RyaW5nX2FkZF90b19pZGFycmF5KG91dGFyZywgY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJICZuY29sdW1ucywgY29sdW1uX25hbWVfdG9faWQpIDwgMCkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCWlmIChsc2Jsay0+YWxsX2RldmljZXMgPT0gMCAmJiBuZXhjbHVkZXMgPT0gMCAmJiBuaW5jbHVkZXMgPT0gMCkKKwkJZXhjbHVkZXNbbmV4Y2x1ZGVzKytdID0gMTsJLyogZGVmYXVsdDogaWdub3JlIFJBTSBkaXNrcyAqLworCisJaWYgKGxzYmxrLT5zb3J0X2lkIDwgMCkKKwkJLyogU2luY2UgTGludXggNC44IHdlIGhhdmUgc29ydCBkZXZpY2VzIGJ5IGRlZmF1bHQsIGJlY2F1c2UKKwkJICogL3N5cyBpcyBubyBtb3JlIHNvcnRlZCAqLworCQlsc2Jsay0+c29ydF9pZCA9IENPTF9NQUpNSU47CisKKwkvKiBGb3IgLS1pbnZlcnNlIC0tbGlzdCB3ZSBzdGlsbCBmb2xsb3cgcGFyZW50LT5jaGlsZCByZWxhdGlvbiAqLworCWlmIChsc2Jsay0+aW52ZXJzZSAmJiAhKGxzYmxrLT5mbGFncyAmIExTQkxLX1RSRUUpKQorCQlsc2Jsay0+Zm9yY2VfdHJlZV9vcmRlciA9IDE7CisKKwlpZiAobHNibGstPnNvcnRfaWQgPj0gMCAmJiBjb2x1bW5faWRfdG9fbnVtYmVyKGxzYmxrLT5zb3J0X2lkKSA8IDApIHsKKwkJLyogdGhlIHNvcnQgY29sdW1uIGlzIG5vdCBiZXR3ZWVuIG91dHB1dCBjb2x1bW5zIC0tIGFkZCBhcyBoaWRkZW4gKi8KKwkJYWRkX2NvbHVtbihsc2Jsay0+c29ydF9pZCk7CisJCWxzYmxrLT5zb3J0X2hpZGRlbiA9IDE7CisJfQorCisJbW50X2luaXRfZGVidWcoMCk7CisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKwl1bF9wYXRoX2luaXRfZGVidWcoKTsKKworCS8qCisJICogaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1ucworCSAqLworCWlmICghKGxzYmxrLT50YWJsZSA9IHNjb2xzX25ld190YWJsZSgpKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyhsc2Jsay0+dGFibGUsICEhKGxzYmxrLT5mbGFncyAmIExTQkxLX1JBVykpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9leHBvcnQobHNibGstPnRhYmxlLCAhIShsc2Jsay0+ZmxhZ3MgJiBMU0JMS19FWFBPUlQpKTsKKwlzY29sc190YWJsZV9lbmFibGVfYXNjaWkobHNibGstPnRhYmxlLCAhIShsc2Jsay0+ZmxhZ3MgJiBMU0JMS19BU0NJSSkpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKGxzYmxrLT50YWJsZSwgISEobHNibGstPmZsYWdzICYgTFNCTEtfSlNPTikpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKGxzYmxrLT50YWJsZSwgISEobHNibGstPmZsYWdzICYgTFNCTEtfTk9IRUFESU5HUykpOworCisJaWYgKGxzYmxrLT5mbGFncyAmIExTQkxLX0pTT04pCisJCXNjb2xzX3RhYmxlX3NldF9uYW1lKGxzYmxrLT50YWJsZSwgImJsb2NrZGV2aWNlcyIpOworCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJc3RydWN0IGNvbGluZm8gKmNpID0gZ2V0X2NvbHVtbl9pbmZvKGkpOworCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKwkJaW50IGlkID0gZ2V0X2NvbHVtbl9pZChpKSwgZmwgPSBjaS0+ZmxhZ3M7CisKKwkJaWYgKCEobHNibGstPmZsYWdzICYgTFNCTEtfVFJFRSkgJiYgaWQgPT0gQ09MX05BTUUpCisJCQlmbCAmPSB+U0NPTFNfRkxfVFJFRTsKKwkJaWYgKGxzYmxrLT5zb3J0X2hpZGRlbiAmJiBsc2Jsay0+c29ydF9pZCA9PSBpZCkKKwkJCWZsIHw9IFNDT0xTX0ZMX0hJRERFTjsKKworCQljbCA9IHNjb2xzX3RhYmxlX25ld19jb2x1bW4obHNibGstPnRhYmxlLCBjaS0+bmFtZSwgY2ktPndoaW50LCBmbCk7CisJCWlmICghY2wpIHsKKwkJCXdhcm4oXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iKSk7CisJCQlnb3RvIGxlYXZlOworCQl9CisJCWlmICghbHNibGstPnNvcnRfY29sICYmIGxzYmxrLT5zb3J0X2lkID09IGlkKSB7CisJCQlsc2Jsay0+c29ydF9jb2wgPSBjbDsKKwkJCXNjb2xzX2NvbHVtbl9zZXRfY21wZnVuYyhjbCwKKwkJCQljaS0+dHlwZSA9PSBDT0xUWVBFX05VTSAgICAgPyBjbXBfdTY0X2NlbGxzIDoKKwkJCQljaS0+dHlwZSA9PSBDT0xUWVBFX1NJWkUgICAgPyBjbXBfdTY0X2NlbGxzIDoKKwkJCSAgICAgICAgY2ktPnR5cGUgPT0gQ09MVFlQRV9TT1JUTlVNID8gY21wX3U2NF9jZWxscyA6IHNjb2xzX2NtcHN0cl9jZWxscywKKwkJCQlOVUxMKTsKKwkJfQorCQlpZiAobHNibGstPmZsYWdzICYgTFNCTEtfSlNPTikgeworCQkJc3dpdGNoIChjaS0+dHlwZSkgeworCQkJY2FzZSBDT0xUWVBFX1NJWkU6CisJCQkJaWYgKCFsc2Jsay0+Ynl0ZXMpCisJCQkJCWJyZWFrOworCQkJCS8qIGZhbGx0aHJvdWdoICovCisJCQljYXNlIENPTFRZUEVfTlVNOgorCQkJCSBzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZShjbCwgU0NPTFNfSlNPTl9OVU1CRVIpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xUWVBFX0JPT0w6CisJCQkJc2NvbHNfY29sdW1uX3NldF9qc29uX3R5cGUoY2wsIFNDT0xTX0pTT05fQk9PTEVBTik7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCXNjb2xzX2NvbHVtbl9zZXRfanNvbl90eXBlKGNsLCBTQ09MU19KU09OX1NUUklORyk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCXN0YXR1cyA9IGl0ZXJhdGVfYmxvY2tfZGV2aWNlcygpID09IDAgPyBFWElUX1NVQ0NFU1MgOiBFWElUX0ZBSUxVUkU7CisJZWxzZSB7CisJCWludCBjbnQgPSAwLCBjbnRfZXJyID0gMDsKKworCQl3aGlsZSAob3B0aW5kIDwgYXJnYykgeworCQkJaWYgKHByb2Nlc3Nfb25lX2RldmljZShhcmd2W29wdGluZCsrXSkgIT0gMCkKKwkJCQljbnRfZXJyKys7CisJCQljbnQrKzsKKwkJfQorCQlzdGF0dXMgPSBjbnQgPT0gMAk/IEVYSVRfRkFJTFVSRSA6CS8qIG5vdGhpbmcgKi8KKwkJCSBjbnQgPT0gY250X2Vycgk/IExTQkxLX0VYSVRfQUxMRkFJTEVEIDovKiBhbGwgZmFpbGVkICovCisJCQkgY250X2Vycgk/IExTQkxLX0VYSVRfU09NRU9LIDoJLyogc29tZSBvayAqLworCQkJCQkgIEVYSVRfU1VDQ0VTUzsJCS8qIGFsbCBzdWNjZXNzICovCisJfQorCisJaWYgKGxzYmxrLT5zb3J0X2NvbCkKKwkJc2NvbHNfc29ydF90YWJsZShsc2Jsay0+dGFibGUsIGxzYmxrLT5zb3J0X2NvbCk7CisJaWYgKGxzYmxrLT5mb3JjZV90cmVlX29yZGVyKQorCQlzY29sc19zb3J0X3RhYmxlX2J5X3RyZWUobHNibGstPnRhYmxlKTsKKworCXNjb2xzX3ByaW50X3RhYmxlKGxzYmxrLT50YWJsZSk7CisKK2xlYXZlOgorCWlmIChsc2Jsay0+c29ydF9jb2wpCisJCXVucmVmX3NvcnRkYXRhKGxzYmxrLT50YWJsZSk7CisKKwlzY29sc191bnJlZl90YWJsZShsc2Jsay0+dGFibGUpOworCisJbW50X3VucmVmX3RhYmxlKG10YWIpOworCW1udF91bnJlZl90YWJsZShzd2Fwcyk7CisJbW50X3VucmVmX2NhY2hlKG1udGNhY2hlKTsKKyNpZmRlZiBIQVZFX0xJQlVERVYKKwl1ZGV2X3VucmVmKHVkZXYpOworI2VuZGlmCisJcmV0dXJuIHN0YXR1czsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbHNsb2Nrcy44IGIvbWlzYy11dGlscy9sc2xvY2tzLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDBiMmNlYgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbHNsb2Nrcy44CkBAIC0wLDAgKzEsMTA4IEBACisuXCIgTWFuIHBhZ2UgZm9yIHRoZSBsc2xvY2tzIGNvbW1hbmQuCisuXCIgQ29weXJpZ2h0IDIwMTIgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorCisuVEggTFNMT0NLUyA4ICJEZWNlbWJlciAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitsc2xvY2tzIFwtIGxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzCisuU0ggU1lOT1BTSVMKKy5CIGxzbG9ja3MKK1tvcHRpb25zXQorCisuU0ggREVTQ1JJUFRJT04KKy5CIGxzbG9ja3MKK2xpc3RzIGluZm9ybWF0aW9uIGFib3V0IGFsbCB0aGUgY3VycmVudGx5IGhlbGQgZmlsZSBsb2NrcyBpbiBhIExpbnV4IHN5c3RlbS4KKy5zcAorTm90ZSB0aGF0IGxzbG9ja3MgYWxzbyBsaXN0cyBPRkQgKE9wZW4gRmlsZSBEZXNjcmlwdGlvbikgbG9ja3MsIHRoZXNlIGxvY2tzIGFyZQorbm90IGFzc29jaWF0ZWQgd2l0aCBhbnkgcHJvY2VzcyAoUElEIGlzIC0xKS4gIE9GRCBsb2NrcyBhcmUgYXNzb2NpYXRlZCB3aXRoIHRoZQorb3BlbiBmaWxlIGRlc2NyaXB0aW9uIG9uIHdoaWNoIHRoZXkgYXJlIGFjcXVpcmVkLiAgVGhpcyBsb2NrIHR5cGUgaXMgYXZhaWxhYmxlCitzaW5jZSBMaW51eCAzLjE1LCBzZWUgXGZCZmNudGxcZlIoMikgZm9yIG1vcmUgZGV0YWlscy4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYiAsICIgXC1cLWJ5dGVzIgorUHJpbnQgdGhlIFNJWkUgY29sdW1uIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGEgaHVtYW4tcmVhZGFibGUgZm9ybWF0LgorLlRQCisuQlIgXC1pICwgIiBcLVwtbm9pbmFjY2Vzc2libGUiCitJZ25vcmUgbG9jayBmaWxlcyB3aGljaCBhcmUgaW5hY2Nlc3NpYmxlIGZvciB0aGUgY3VycmVudCB1c2VyLgorLlRQCisuQlIgXC1KICwgIiBcLVwtanNvbiIKK1VzZSBKU09OIG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1ub2hlYWRpbmdzIgorRG8gbm90IHByaW50IGEgaGVhZGVyIGxpbmUuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgIiBcZklsaXN0XGZQCitTcGVjaWZ5IHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHByaW50LiAgVXNlCisuQiAiLS1oZWxwIgordG8gZ2V0IGEgbGlzdCBvZiBhbGwgc3VwcG9ydGVkIGNvbHVtbnMuCisKK1RoZSBkZWZhdWx0IGxpc3Qgb2YgY29sdW1ucyBtYXkgYmUgZXh0ZW5kZWQgaWYgXGZJbGlzdFxmUCBpcworc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgXGZJK2xpc3RcZlAgKGUuZy4gXGZCbHNsb2NrcyAtbyArQkxPQ0tFUlxmUCkuCisuVFAKKy5CIFwtXC1vdXRwdXRcLWFsbAorT3V0cHV0IGFsbCBhdmFpbGFibGUgY29sdW1ucy4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXBpZCAiIFxmSXBpZFxmUAorRGlzcGxheSBvbmx5IHRoZSBsb2NrcyBoZWxkIGJ5IHRoZSBwcm9jZXNzIHdpdGggdGhpcyBcZklwaWRcZlIuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yYXciCitVc2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0LgorLlRQCisuQlIgXC11ICwgIiBcLVwtbm90cnVuY2F0ZSIKK0RvIG5vdCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnMuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorCisuU0ggT1VUUFVUCisuSVAgIkNPTU1BTkQiCitUaGUgY29tbWFuZCBuYW1lIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2suCisuSVAgIlBJRCIKK1RoZSBwcm9jZXNzIElEIG9mIHRoZSBwcm9jZXNzIHdoaWNoIGhvbGRzIHRoZSBsb2NrIG9yIC0xIGZvciBPRkRMQ0suCisuSVAgIlRZUEUiCitUaGUgdHlwZSBvZiBsb2NrOyBjYW4gYmUgRkxPQ0sgKGNyZWF0ZWQgd2l0aCBcZkJmbG9ja1xmUigyKSksIFBPU0lYCisoY3JlYXRlZCB3aXRoIFxmQmZjbnRsXGZSKDIpIGFuZCBcZkJsb2NrZlxmUigzKSkgb3IgT0ZETENLIChjcmVhdGVkIHdpdGggZmNudGwoMikuCisuSVAgIlNJWkUiCitTaXplIG9mIHRoZSBsb2NrZWQgZmlsZS4KKy5JUCAiTU9ERSIKK1RoZSBsb2NrJ3MgYWNjZXNzIHBlcm1pc3Npb25zIChyZWFkLCB3cml0ZSkuICBJZiB0aGUgcHJvY2VzcyBpcyBibG9ja2VkIGFuZCB3YWl0aW5nIGZvciB0aGUgbG9jaywKK3RoZW4gdGhlIG1vZGUgaXMgcG9zdGZpeGVkIHdpdGggYW4gJyonIChhc3RlcmlzaykuCisuSVAgIk0iCitXaGV0aGVyIHRoZSBsb2NrIGlzIG1hbmRhdG9yeTsgMCBtZWFucyBubyAobWVhbmluZyB0aGUgbG9jayBpcyBvbmx5IGFkdmlzb3J5KSwgMSBtZWFucyB5ZXMuCisoU2VlIFxmQmZjbnRsXGZSKDIpLikKKy5JUCAiU1RBUlQiCitSZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jay4KKy5JUCAiRU5EIgorRW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jay4KKy5JUCAiUEFUSCIKK0Z1bGwgcGF0aCBvZiB0aGUgbG9jay4gIElmIG5vbmUgaXMgZm91bmQsIG9yIHRoZXJlIGFyZSBubyBwZXJtaXNzaW9ucyB0byByZWFkCit0aGUgcGF0aCwgaXQgd2lsbCBmYWxsIGJhY2sgdG8gdGhlIGRldmljZSdzIG1vdW50cG9pbnQgYW5kICIuLi4iIGlzIGFwcGVuZGVkIHRvCit0aGUgcGF0aC4gIFRoZSBwYXRoIG1pZ2h0IGJlIHRydW5jYXRlZDsgdXNlCitcZkJcLVwtbm90cnVuY2F0ZVxmUiB0byBnZXQgdGhlIGZ1bGwgcGF0aC4KKy5JUCAiQkxPQ0tFUiIKK1RoZSBQSUQgb2YgdGhlIHByb2Nlc3Mgd2hpY2ggYmxvY2tzIHRoZSBsb2NrLgorCisuU0ggTk9URVMKKy5uZgorVGhlIFxmQmxzbG9ja3NcZlIgY29tbWFuZCBpcyBtZWFudCB0byByZXBsYWNlIHRoZSBcZkJsc2xrXGZSKDgpIGNvbW1hbmQsCitvcmlnaW5hbGx5IHdyaXR0ZW4gYnkgVmljdG9yIEEuIEFiZWxsIDxhYmVAcHVyZHVlLmVkdT4gYW5kIHVubWFpbnRhaW5lZAorc2luY2UgMjAwMS4KKy5maQorCisuU0ggQVVUSE9SUworLm5mCitEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKy5maQorCisuU0ggIlNFRSBBTFNPIgorLkJSIGZsb2NrICgxKSwKKy5CUiBmY250bCAoMiksCisuQlIgbG9ja2YgKDMpCisKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBsc2xvY2tzIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL2xzbG9ja3MuYyBiL21pc2MtdXRpbHMvbHNsb2Nrcy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4M2ZiNzYKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL2xzbG9ja3MuYwpAQCAtMCwwICsxLDY2MiBAQAorLyoKKyAqIGxzbG9ja3MoOCkgLSBsaXN0IGxvY2FsIHN5c3RlbSBsb2NrcworICoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqCisgKiBWZXJ5IGdlbmVyYWxseSBiYXNlZCBvbiBsc2xrKDgpIGJ5IFZpY3RvciBBLiBBYmVsbCA8YWJlQHB1cmR1ZS5lZHU+CisgKiBTaW5jZSBpdCBzdG9wcGVkIGJlaW5nIG1haW50YWluZWQgb3ZlciBhIGRlY2FkZSBhZ28sIHRoaXMKKyAqIHByb2dyYW0gc2hvdWxkIGJlIGNvbnNpZGVyZWQgaXRzIHJlcGxhY2VtZW50LgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgPGxpYm1vdW50Lmg+CisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInByb2N1dGlscy5oIgorCisvKiBjb2x1bW4gSURzICovCitlbnVtIHsKKwlDT0xfU1JDID0gMCwKKwlDT0xfUElELAorCUNPTF9UWVBFLAorCUNPTF9TSVpFLAorCUNPTF9NT0RFLAorCUNPTF9NLAorCUNPTF9TVEFSVCwKKwlDT0xfRU5ELAorCUNPTF9QQVRILAorCUNPTF9CTE9DS0VSCit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOyAvKiBoZWFkZXIgKi8KKwlkb3VibGUJICAgd2hpbnQ7IC8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludAkgICBmbGFnczsgLyogU0NPTFNfRkxfKiAqLworCWNvbnN0IGNoYXIgKmhlbHA7Cit9OworCisvKiBjb2x1bW5zIGRlc2NyaXB0aW9ucyAqLworc3RhdGljIHN0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9TUkNdICA9IHsgIkNPTU1BTkQiLDE1LCAwLCBOXygiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIikgfSwKKwlbQ09MX1BJRF0gID0geyAiUElEIiwgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siKSB9LAorCVtDT0xfVFlQRV0gPSB7ICJUWVBFIiwgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJraW5kIG9mIGxvY2siKSB9LAorCVtDT0xfU0laRV0gPSB7ICJTSVpFIiwgICAgNCwgU0NPTFNfRkxfUklHSFQsIE5fKCJzaXplIG9mIHRoZSBsb2NrIikgfSwKKwlbQ09MX01PREVdID0geyAiTU9ERSIsICAgIDUsIDAsIE5fKCJsb2NrIGFjY2VzcyBtb2RlIikgfSwKKwlbQ09MX01dICAgID0geyAiTSIsICAgICAgIDEsIDAsIE5fKCJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIil9LAorCVtDT0xfU1RBUlRdID0geyAiU1RBUlQiLCAxMCwgU0NPTFNfRkxfUklHSFQsIE5fKCJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIpfSwKKwlbQ09MX0VORF0gID0geyAiRU5EIiwgICAgMTAsIFNDT0xTX0ZMX1JJR0hULCBOXygiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIpfSwKKwlbQ09MX1BBVEhdID0geyAiUEFUSCIsICAgIDAsIFNDT0xTX0ZMX1RSVU5DLCBOXygicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiKX0sCisJW0NPTF9CTE9DS0VSXSA9IHsgIkJMT0NLRVIiLCAwLCBTQ09MU19GTF9SSUdIVCwgTl8oIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIpIH0KK307CisKK3N0YXRpYyBpbnQgY29sdW1uc1tBUlJBWV9TSVpFKGluZm9zKSAqIDJdOworc3RhdGljIHNpemVfdCBuY29sdW1uczsKKworc3RhdGljIHBpZF90IHBpZCA9IDA7CisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWI7CQkvKiAvcHJvYy9zZWxmL21vdW50aW5mbyAqLworCisvKiBiYXNpYyBvdXRwdXQgZmxhZ3MgKi8KK3N0YXRpYyBpbnQgbm9faGVhZGluZ3M7CitzdGF0aWMgaW50IG5vX2luYWNjZXNzaWJsZTsKK3N0YXRpYyBpbnQgcmF3Oworc3RhdGljIGludCBqc29uOworc3RhdGljIGludCBieXRlczsKKworc3RydWN0IGxvY2sgeworCXN0cnVjdCBsaXN0X2hlYWQgbG9ja3M7CisKKwljaGFyICpjbWRuYW1lOworCXBpZF90IHBpZDsKKwljaGFyICpwYXRoOworCWNoYXIgKnR5cGU7CisJY2hhciAqbW9kZTsKKwlvZmZfdCBzdGFydDsKKwlvZmZfdCBlbmQ7CisJdW5zaWduZWQgaW50IG1hbmRhdG9yeSA6MSwKKwkJICAgICBibG9ja2VkICAgOjE7CisJdWludDY0X3Qgc2l6ZTsKKwlpbnQgaWQ7Cit9OworCitzdGF0aWMgdm9pZCByZW1fbG9jayhzdHJ1Y3QgbG9jayAqbG9jaykKK3sKKwlpZiAoIWxvY2spCisJCXJldHVybjsKKworCWZyZWUobG9jay0+cGF0aCk7CisJZnJlZShsb2NrLT5tb2RlKTsKKwlmcmVlKGxvY2stPmNtZG5hbWUpOworCWZyZWUobG9jay0+dHlwZSk7CisJbGlzdF9kZWwoJmxvY2stPmxvY2tzKTsKKwlmcmVlKGxvY2spOworfQorCitzdGF0aWMgdm9pZCBkaXNhYmxlX2NvbHVtbnNfdHJ1bmNhdGUodm9pZCkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlpbmZvc1tpXS5mbGFncyAmPSB+U0NPTFNfRkxfVFJVTkM7Cit9CisKKy8qCisgKiBBc3NvY2lhdGUgdGhlIGRldmljZSdzIG1vdW50cG9pbnQgZm9yIGEgZmlsZW5hbWUKKyAqLworc3RhdGljIGNoYXIgKmdldF9mYWxsYmFja19maWxlbmFtZShkZXZfdCBkZXYpCit7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJY2hhciAqcmVzID0gTlVMTDsKKworCWlmICghdGFiKSB7CisJCXRhYiA9IG1udF9uZXdfdGFibGVfZnJvbV9maWxlKF9QQVRIX1BST0NfTU9VTlRJTkZPKTsKKwkJaWYgKCF0YWIpCisJCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlmcyA9IG1udF90YWJsZV9maW5kX2Rldm5vKHRhYiwgZGV2LCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFmcykKKwkJcmV0dXJuIE5VTEw7CisKKwl4YXNwcmludGYoJnJlcywgIiVzLi4uIiwgbW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwlyZXR1cm4gcmVzOworfQorCisvKgorICogUmV0dXJuIHRoZSBhYnNvbHV0ZSBwYXRoIG9mIGEgZmlsZSBmcm9tCisgKiBhIGdpdmVuIGlub2RlIG51bWJlciAoYW5kIGl0cyBzaXplKQorICovCitzdGF0aWMgY2hhciAqZ2V0X2ZpbGVuYW1lX3N6KGlub190IGlub2RlLCBwaWRfdCBsb2NrX3BpZCwgc2l6ZV90ICpzaXplKQoreworCXN0cnVjdCBzdGF0IHNiOworCXN0cnVjdCBkaXJlbnQgKmRwOworCURJUiAqZGlycDsKKwlzaXplX3QgbGVuOworCWludCBmZDsKKwljaGFyIHBhdGhbUEFUSF9NQVhdLCBzeW1bUEFUSF9NQVhdLCAqcmV0ID0gTlVMTDsKKworCSpzaXplID0gMDsKKwltZW1zZXQocGF0aCwgMCwgc2l6ZW9mKHBhdGgpKTsKKwltZW1zZXQoc3ltLCAwLCBzaXplb2Yoc3ltKSk7CisKKwkvKgorCSAqIFdlIGtub3cgdGhlIHBpZCBzbyB3ZSBkb24ndCBoYXZlIHRvCisJICogaXRlcmF0ZSB0aGUgKmVudGlyZSogZmlsZXN5c3RlbSBzZWFyY2hpbmcKKwkgKiBmb3IgdGhlIGRhbW4gZmlsZS4KKwkgKi8KKwlzcHJpbnRmKHBhdGgsICIvcHJvYy8lZC9mZC8iLCBsb2NrX3BpZCk7CisJaWYgKCEoZGlycCA9IG9wZW5kaXIocGF0aCkpKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICgobGVuID0gc3RybGVuKHBhdGgpKSA+PSAoc2l6ZW9mKHBhdGgpIC0gMikpCisJCWdvdG8gb3V0OworCisJaWYgKChmZCA9IGRpcmZkKGRpcnApKSA8IDAgKQorCQlnb3RvIG91dDsKKworCXdoaWxlICgoZHAgPSByZWFkZGlyKGRpcnApKSkgeworCQlpZiAoIXN0cmNtcChkcC0+ZF9uYW1lLCAiLiIpIHx8CisJCSAgICAhc3RyY21wKGRwLT5kX25hbWUsICIuLiIpKQorCQkJY29udGludWU7CisKKwkJLyogY2FyZSBvbmx5IGZvciBudW1lcmljYWwgZGVzY3JpcHRvcnMgKi8KKwkJaWYgKCFzdHJ0b2woZHAtPmRfbmFtZSwgKGNoYXIgKiopIE5VTEwsIDEwKSkKKwkJCWNvbnRpbnVlOworCisJCWlmICghZnN0YXRhdChmZCwgZHAtPmRfbmFtZSwgJnNiLCAwKQorCQkgICAgJiYgaW5vZGUgIT0gc2Iuc3RfaW5vKQorCQkJY29udGludWU7CisKKwkJaWYgKChsZW4gPSByZWFkbGlua2F0KGZkLCBkcC0+ZF9uYW1lLCBzeW0sIHNpemVvZihzeW0pIC0gMSkpIDwgMSkKKwkJCWdvdG8gb3V0OworCisJCSpzaXplID0gc2Iuc3Rfc2l6ZTsKKwkJc3ltW2xlbl0gPSAnXDAnOworCisJCXJldCA9IHhzdHJkdXAoc3ltKTsKKwkJYnJlYWs7CisJfQorb3V0OgorCWNsb3NlZGlyKGRpcnApOworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBSZXR1cm4gdGhlIGlub2RlIG51bWJlciBmcm9tIGEgc3RyaW5nCisgKi8KK3N0YXRpYyBpbm9fdCBnZXRfZGV2X2lub2RlKGNoYXIgKnN0ciwgZGV2X3QgKmRldikKK3sKKwl1bnNpZ25lZCBpbnQgbWFqID0gMCwgbWluID0gMDsKKwlpbm9fdCBpbnVtID0gMDsKKworCXNzY2FuZihzdHIsICIlMDJ4OiUwMng6JWp1IiwgJm1haiwgJm1pbiwgJmludW0pOworCisJKmRldiA9IChkZXZfdCkgbWFrZWRldihtYWosIG1pbik7CisJcmV0dXJuIGludW07Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2xvY2FsX2xvY2tzKHN0cnVjdCBsaXN0X2hlYWQgKmxvY2tzKQoreworCWludCBpOworCWlub190IGlub2RlID0gMDsKKwlGSUxFICpmcDsKKwljaGFyIGJ1ZltQQVRIX01BWF0sICp0b2sgPSBOVUxMOworCXNpemVfdCBzejsKKwlzdHJ1Y3QgbG9jayAqbDsKKwlkZXZfdCBkZXYgPSAwOworCisJaWYgKCEoZnAgPSBmb3BlbihfUEFUSF9QUk9DX0xPQ0tTLCAiciIpKSkKKwkJcmV0dXJuIC0xOworCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZwKSkgeworCisJCWwgPSB4Y2FsbG9jKDEsIHNpemVvZigqbCkpOworCQlJTklUX0xJU1RfSEVBRCgmbC0+bG9ja3MpOworCisJCWZvciAodG9rID0gc3RydG9rKGJ1ZiwgIiAiKSwgaSA9IDA7IHRvazsKKwkJICAgICB0b2sgPSBzdHJ0b2soTlVMTCwgIiAiKSwgaSsrKSB7CisKKwkJCS8qCisJCQkgKiAvcHJvYy9sb2NrcyBoYXMgKmV4YWN0bHkqIDggImJsb2NrcyIgb2YgdGV4dAorCQkJICogc2VwYXJhdGVkIGJ5ICcgJyAtIGNoZWNrIDxrZXJuZWw+L2ZzL2xvY2tzLmMKKwkJCSAqLworCQkJc3dpdGNoIChpKSB7CisJCQljYXNlIDA6IC8qIElEOiAqLworCQkJCXRva1tzdHJsZW4odG9rKSAtIDFdID0gJ1wwJzsKKwkJCQlsLT5pZCA9IHN0cnRvczMyX29yX2Vycih0b2ssIF8oImZhaWxlZCB0byBwYXJzZSBJRCIpKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMTogLyogcG9zaXgsIGZsb2NrLCBldGMgKi8KKwkJCQlpZiAoc3RyY21wKHRvaywgIi0+IikgPT0gMCkgewkvKiBvcHRpb25hbCBmaWVsZCAqLworCQkJCQlsLT5ibG9ja2VkID0gMTsKKwkJCQkJaS0tOworCQkJCX0gZWxzZQorCQkJCQlsLT50eXBlID0geHN0cmR1cCh0b2spOworCQkJCWJyZWFrOworCisJCQljYXNlIDI6IC8qIGlzIHRoaXMgYSBtYW5kYXRvcnkgbG9jaz8gb3RoZXIgdmFsdWVzIGFyZSBhZHZpc29yeSBvciBub2lub2RlICovCisJCQkJbC0+bWFuZGF0b3J5ID0gKnRvayA9PSAnTScgPyAxIDogMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgMzogLyogbG9jayBtb2RlICovCisJCQkJbC0+bW9kZSA9IHhzdHJkdXAodG9rKTsKKwkJCQlicmVhazsKKworCQkJY2FzZSA0OiAvKiBQSUQgKi8KKwkJCQkvKgorCQkJCSAqIElmIHVzZXIgcGFzc2VkIGEgcGlkIHdlIGZpbHRlciBpdCBsYXRlciB3aGVuIGFkZGluZworCQkJCSAqIHRvIHRoZSBsaXN0LCBubyBuZWVkIHRvIHdvcnJ5IG5vdy4gT0ZEIGxvY2tzIHVzZSAtMSBQSUQuCisJCQkJICovCisJCQkJbC0+cGlkID0gc3RydG9zMzJfb3JfZXJyKHRvaywgXygiZmFpbGVkIHRvIHBhcnNlIHBpZCIpKTsKKwkJCQlpZiAobC0+cGlkID4gMCkgeworCQkJCQlsLT5jbWRuYW1lID0gcHJvY19nZXRfY29tbWFuZF9uYW1lKGwtPnBpZCk7CisJCQkJCWlmICghbC0+Y21kbmFtZSkKKwkJCQkJCWwtPmNtZG5hbWUgPSB4c3RyZHVwKF8oIih1bmtub3duKSIpKTsKKwkJCQl9IGVsc2UKKwkJCQkJbC0+Y21kbmFtZSA9IHhzdHJkdXAoXygiKHVuZGVmaW5lZCkiKSk7CisJCQkJYnJlYWs7CisKKwkJCWNhc2UgNTogLyogZGV2aWNlIG1ham9yOm1pbm9yIGFuZCBpbm9kZSBudW1iZXIgKi8KKwkJCQlpbm9kZSA9IGdldF9kZXZfaW5vZGUodG9rLCAmZGV2KTsKKwkJCQlicmVhazsKKworCQkJY2FzZSA2OiAvKiBzdGFydCAqLworCQkJCWwtPnN0YXJ0ID0gIXN0cmNtcCh0b2ssICJFT0YiKSA/IDAgOgorCQkJCQkgICBzdHJ0b3U2NF9vcl9lcnIodG9rLCBfKCJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiKSk7CisJCQkJYnJlYWs7CisKKwkJCWNhc2UgNzogLyogZW5kICovCisJCQkJLyogcmVwbGFjZSAnXG4nIGNoYXJhY3RlciAqLworCQkJCXRva1tzdHJsZW4odG9rKS0xXSA9ICdcMCc7CisJCQkJbC0+ZW5kID0gIXN0cmNtcCh0b2ssICJFT0YiKSA/IDAgOgorCQkJCQkgc3RydG91NjRfb3JfZXJyKHRvaywgXygiZmFpbGVkIHRvIHBhcnNlIGVuZCIpKTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKworCQlsLT5wYXRoID0gZ2V0X2ZpbGVuYW1lX3N6KGlub2RlLCBsLT5waWQsICZzeik7CisKKwkJLyogbm8gcGVybWlzc2lvbnMgLS0gaWdub3JlICovCisJCWlmICghbC0+cGF0aCAmJiBub19pbmFjY2Vzc2libGUpIHsKKwkJCXJlbV9sb2NrKGwpOworCQkJY29udGludWU7CisJCX0KKworCQlpZiAoIWwtPnBhdGgpIHsKKwkJCS8qIHByb2JhYmx5IG5vIHBlcm1pc3Npb24gdG8gcGVlayBpbnRvIGwtPnBpZCdzIHBhdGggKi8KKwkJCWwtPnBhdGggPSBnZXRfZmFsbGJhY2tfZmlsZW5hbWUoZGV2KTsKKwkJCWwtPnNpemUgPSAwOworCQl9IGVsc2UKKwkJCWwtPnNpemUgPSBzejsKKworCQlsaXN0X2FkZCgmbC0+bG9ja3MsIGxvY2tzKTsKKwl9CisKKwlmY2xvc2UoZnApOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobmFtZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGlubGluZSBpbnQgZ2V0X2NvbHVtbl9pZChpbnQgbnVtKQoreworCWFzc2VydChudW0gPj0gMCk7CisJYXNzZXJ0KChzaXplX3QpIG51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludCkgQVJSQVlfU0laRShpbmZvcykpOworCisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8odW5zaWduZWQgbnVtKQoreworCXJldHVybiAmaW5mb3NbIGdldF9jb2x1bW5faWQobnVtKSBdOworfQorCitzdGF0aWMgcGlkX3QgZ2V0X2Jsb2NrZXIoaW50IGlkLCBzdHJ1Y3QgbGlzdF9oZWFkICpsb2NrcykKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJbGlzdF9mb3JfZWFjaChwLCBsb2NrcykgeworCQlzdHJ1Y3QgbG9jayAqbCA9IGxpc3RfZW50cnkocCwgc3RydWN0IGxvY2ssIGxvY2tzKTsKKworCQlpZiAobC0+aWQgPT0gaWQgJiYgIWwtPmJsb2NrZWQpCisJCQlyZXR1cm4gbC0+cGlkOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBhZGRfc2NvbHNfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLCBzdHJ1Y3QgbG9jayAqbCwgc3RydWN0IGxpc3RfaGVhZCAqbG9ja3MpCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxpbmU7CisJLyoKKwkgKiBXaGVuZXZlciBjbWRuYW1lIG9yIGZpbGVuYW1lIGlzIE5VTEwgaXQgaXMgbW9zdAorCSAqIGxpa2VseSAgYmVjYXVzZSB0aGVyZSdzIG5vIHJlYWQgcGVybWlzc2lvbnMKKwkgKiBmb3IgdGhlIHNwZWNpZmllZCBwcm9jZXNzLgorCSAqLworCWNvbnN0IGNoYXIgKm5vdGZuZCA9ICIiOworCisJYXNzZXJ0KGwpOworCWFzc2VydCh0YWJsZSk7CisKKwlsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIE5VTEwpOworCWlmICghbGluZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIikpOworCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJY2hhciAqc3RyID0gTlVMTDsKKworCQlzd2l0Y2ggKGdldF9jb2x1bW5faWQoaSkpIHsKKwkJY2FzZSBDT0xfU1JDOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIGwtPmNtZG5hbWUgPyBsLT5jbWRuYW1lIDogbm90Zm5kKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QSUQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgbC0+cGlkKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9UWVBFOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIGwtPnR5cGUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NJWkU6CisJCQlpZiAoIWwtPnNpemUpCisJCQkJYnJlYWs7CisJCQlpZiAoYnl0ZXMpCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlanUiLCBsLT5zaXplKTsKKwkJCWVsc2UKKwkJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBsLT5zaXplKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9NT0RFOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlcyVzIiwgbC0+bW9kZSwgbC0+YmxvY2tlZCA/ICIqIiA6ICIiKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9NOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlZCIsIGwtPm1hbmRhdG9yeSA/IDEgOiAwKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TVEFSVDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWpkIiwgbC0+c3RhcnQpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0VORDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWpkIiwgbC0+ZW5kKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QQVRIOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIGwtPnBhdGggPyBsLT5wYXRoIDogbm90Zm5kKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9CTE9DS0VSOgorCQl7CisJCQlwaWRfdCBibCA9IGwtPmJsb2NrZWQgJiYgbC0+aWQgPworCQkJCQkJZ2V0X2Jsb2NrZXIobC0+aWQsIGxvY2tzKSA6IDA7CisJCQlpZiAoYmwpCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlZCIsIChpbnQpIGJsKTsKKwkJfQorCQlkZWZhdWx0OgorCQkJYnJlYWs7CisJCX0KKworCQlpZiAoc3RyICYmIHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBpLCBzdHIpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIpKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgc2hvd19sb2NrcyhzdHJ1Y3QgbGlzdF9oZWFkICpsb2NrcykKK3sKKwlpbnQgcmMgPSAwOworCXNpemVfdCBpOworCXN0cnVjdCBsaXN0X2hlYWQgKnAsICpwbmV4dDsKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlOworCisJdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRhYmxlKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIikpOworCisJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YWJsZSwgcmF3KTsKKwlzY29sc190YWJsZV9lbmFibGVfanNvbih0YWJsZSwganNvbik7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGFibGUsIG5vX2hlYWRpbmdzKTsKKworCWlmIChqc29uKQorCQlzY29sc190YWJsZV9zZXRfbmFtZSh0YWJsZSwgImxvY2tzIik7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKwkJc3RydWN0IGNvbGluZm8gKmNvbCA9IGdldF9jb2x1bW5faW5mbyhpKTsKKworCQljbCA9IHNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsIGNvbC0+bmFtZSwgY29sLT53aGludCwgY29sLT5mbGFncyk7CisJCWlmICghY2wpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIpKTsKKworCQlpZiAoanNvbikgeworCQkJaW50IGlkID0gZ2V0X2NvbHVtbl9pZChpKTsKKworCQkJc3dpdGNoIChpZCkgeworCQkJY2FzZSBDT0xfU0laRToKKwkJCQlpZiAoIWJ5dGVzKQorCQkJCQlicmVhazsKKwkJCQkvKiBmYWxsdGhyb3VnaCAqLworCQkJY2FzZSBDT0xfUElEOgorCQkJY2FzZSBDT0xfU1RBUlQ6CisJCQljYXNlIENPTF9FTkQ6CisJCQljYXNlIENPTF9CTE9DS0VSOgorCQkJCXNjb2xzX2NvbHVtbl9zZXRfanNvbl90eXBlKGNsLCBTQ09MU19KU09OX05VTUJFUik7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9NOgorCQkJCXNjb2xzX2NvbHVtbl9zZXRfanNvbl90eXBlKGNsLCBTQ09MU19KU09OX0JPT0xFQU4pOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQlzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZShjbCwgU0NPTFNfSlNPTl9TVFJJTkcpOworCQkJCWJyZWFrOworCQkJfQorCQl9CisKKwl9CisKKwkvKiBwcmVwYXJlIGRhdGEgZm9yIG91dHB1dCAqLworCWxpc3RfZm9yX2VhY2gocCwgbG9ja3MpIHsKKwkJc3RydWN0IGxvY2sgKmwgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsb2NrLCBsb2Nrcyk7CisKKwkJaWYgKHBpZCAmJiBwaWQgIT0gbC0+cGlkKQorCQkJY29udGludWU7CisKKwkJYWRkX3Njb2xzX2xpbmUodGFibGUsIGwsIGxvY2tzKTsKKwl9CisKKwkvKiBkZXN0cm95IHRoZSBsaXN0ICovCisJbGlzdF9mb3JfZWFjaF9zYWZlKHAsIHBuZXh0LCBsb2NrcykgeworCQlzdHJ1Y3QgbG9jayAqbCA9IGxpc3RfZW50cnkocCwgc3RydWN0IGxvY2ssIGxvY2tzKTsKKwkJcmVtX2xvY2sobCk7CisJfQorCisJc2NvbHNfcHJpbnRfdGFibGUodGFibGUpOworCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKKwlyZXR1cm4gcmM7Cit9CisKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisKKwlmcHJpbnRmKG91dCwKKwkJXygiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1vdXRwdXQtYWxsICAgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjQpKTsKKworCWZwdXRzKFVTQUdFX0NPTFVNTlMsIG91dCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTExcyAgJXNcbiIsIGluZm9zW2ldLm5hbWUsIF8oaW5mb3NbaV0uaGVscCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJsc2xvY2tzKDgpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWludCBjLCByYyA9IDA7CisJc3RydWN0IGxpc3RfaGVhZCBsb2NrczsKKwljaGFyICpvdXRhcmcgPSBOVUxMOworCWVudW0geworCQlPUFRfT1VUUFVUX0FMTCA9IENIQVJfTUFYICsgMQorCX07CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ19vcHRzW10gPSB7CisJCXsgImJ5dGVzIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2InIH0sCisJCXsgImpzb24iLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0onIH0sCisJCXsgInBpZCIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAib3V0cHV0IiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAib3V0cHV0LWFsbCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfT1VUUFVUX0FMTCB9LAorCQl7ICJub3RydW5jYXRlIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd1JyB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7ICJub2hlYWRpbmdzIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICduJyB9LAorCQl7ICJyYXciLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJyB9LAorCQl7ICJub2luYWNjZXNzaWJsZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaScgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CS8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnSicsJ3InIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkJImJpSnA6bzpucnVoViIsIGxvbmdfb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdfb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnYic6CisJCQlieXRlcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlub19pbmFjY2Vzc2libGUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0onOgorCQkJanNvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlwaWQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIFBJRCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9PVVRQVVRfQUxMOgorCQkJZm9yIChuY29sdW1ucyA9IDA7IG5jb2x1bW5zIDwgQVJSQVlfU0laRShpbmZvcyk7IG5jb2x1bW5zKyspCisJCQkJY29sdW1uc1tuY29sdW1uc10gPSBuY29sdW1uczsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQljYXNlICduJzoKKwkJCW5vX2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCXJhdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlkaXNhYmxlX2NvbHVtbnNfdHJ1bmNhdGUoKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJSU5JVF9MSVNUX0hFQUQoJmxvY2tzKTsKKworCWlmICghbmNvbHVtbnMpIHsKKwkJLyogZGVmYXVsdCBjb2x1bW5zICovCisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfU1JDOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1BJRDsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9UWVBFOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1NJWkU7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTU9ERTsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9NOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1NUQVJUOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0VORDsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9QQVRIOworCX0KKworCWlmIChvdXRhcmcgJiYgc3RyaW5nX2FkZF90b19pZGFycmF5KG91dGFyZywgY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJICZuY29sdW1ucywgY29sdW1uX25hbWVfdG9faWQpIDwgMCkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwlyYyA9IGdldF9sb2NhbF9sb2NrcygmbG9ja3MpOworCisJaWYgKCFyYyAmJiAhbGlzdF9lbXB0eSgmbG9ja3MpKQorCQlyYyA9IHNob3dfbG9ja3MoJmxvY2tzKTsKKworCW1udF91bnJlZl90YWJsZSh0YWIpOworCXJldHVybiByYzsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbWNvb2tpZS4xIGIvbWlzYy11dGlscy9tY29va2llLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWFjNTBlZgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbWNvb2tpZS4xCkBAIC0wLDAgKzEsNjkgQEAKKy5cIiBtY29va2llLjEgLS0KKy5cIiBQdWJsaWMgRG9tYWluIDE5OTUgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5USCBNQ09PS0lFIDEgIkRlY2VtYmVyIDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCittY29va2llIFwtIGdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoCisuU0ggU1lOT1BTSVMKKy5CIG1jb29raWUKK1tvcHRpb25zXQorLlNIIERFU0NSSVBUSU9OCisuQiBtY29va2llCitnZW5lcmF0ZXMgYSAxMjgtYml0IHJhbmRvbSBoZXhhZGVjaW1hbCBudW1iZXIgZm9yIHVzZSB3aXRoIHRoZSBYIGF1dGhvcml0eQorc3lzdGVtLiAgVHlwaWNhbCB1c2FnZToKKy5zcAorLlJTCisuQiB4YXV0aCBhZGQgOjAgLiBgbWNvb2tpZWAKKy5SRQorLlBQCitUaGUgInJhbmRvbSIgbnVtYmVyIGdlbmVyYXRlZCBpcyBhY3R1YWxseSB0aGUgTUQ1IG1lc3NhZ2UKK2RpZ2VzdCBvZiByYW5kb20gaW5mb3JtYXRpb24gY29taW5nIGZyb20gb25lIG9mIHRoZSBzb3VyY2VzCisuSVIgZ2V0cmFuZG9tICgpCitzeXN0ZW0gY2FsbCwKKy5JUiAvZGV2L3VyYW5kb20gLAorLklSIC9kZXYvcmFuZG9tICwKK29yIHRoZQorLklSICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIiAsCitpbiB0aGlzIHByZWZlcmVuY2Ugb3JkZXIuIFNlZSBhbHNvIHRoZSBvcHRpb24gXGZCXC1cLWZpbGVcZlIuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1mICwgIiBcLVwtZmlsZSAiIFxmSWZpbGUKK1VzZSB0aGlzIFxmSWZpbGVcZlIgYXMgYW4gYWRkaXRpb25hbCBzb3VyY2Ugb2YgcmFuZG9tbmVzcyAoZm9yIGV4YW1wbGUgL2Rldi91cmFuZG9tKS4KK1doZW4gXGZJZmlsZVxmUiBpcyAnLScsIGNoYXJhY3RlcnMgYXJlIHJlYWQgZnJvbSBzdGFuZGFyZCBpbnB1dC4KKy5UUAorLkJSIFwtbSAsICIgXC1cLW1heFwtc2l6ZSAiIFxmSW51bWJlcgorUmVhZCBmcm9tIFxmSWZpbGVcZlIgb25seSB0aGlzIFxmSW51bWJlclxmUiBvZiBieXRlcy4KK1RoaXMgb3B0aW9uIGlzIG1lYW50IHRvIGJlIHVzZWQgd2hlbiByZWFkaW5nIGFkZGl0aW9uYWwKK3JhbmRvbW5lc3MgZnJvbSBhIGZpbGUgb3IgZGV2aWNlLgorLklQCitUaGUKKy5JIG51bWJlcgorYXJndW1lbnQgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyBLaUI9MTAyNCwKK01pQj0xMDI0KjEwMjQsIGFuZCBzbyBvbiBmb3IgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQiAodGhlICJpQiIgaXMKK29wdGlvbmFsLCBlLmcuLCAiSyIgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgIktpQiIpIG9yIHRoZSBzdWZmaXhlcworS0I9MTAwMCwgTUI9MTAwMCoxMDAwLCBhbmQgc28gb24gZm9yIEdCLCBUQiwgUEIsIEVCLCBaQiBhbmQgWUIuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorSW5mb3JtIHdoZXJlIHJhbmRvbW5lc3Mgb3JpZ2luYXRlZCwgd2l0aCBhbW91bnQgb2YgZW50cm9weSByZWFkIGZyb20gZWFjaAorc291cmNlLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBCVUdTCitJdCBpcyBhc3N1bWVkIHRoYXQgbm9uZSBvZiB0aGUgcmFuZG9tbmVzcyBzb3VyY2VzIHdpbGwgYmxvY2suCisuU0ggRklMRVMKKy5JIC9kZXYvdXJhbmRvbQorLmJyCisuSSAvZGV2L3JhbmRvbQorLlNIICJTRUUgQUxTTyIKKy5CUiBtZDVzdW0gKDEpLAorLkJSIFggKDEpLAorLkJSIHhhdXRoICgxKSwKKy5CUiByYW5kICgzKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIG1jb29raWUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbWNvb2tpZS5jIGIvbWlzYy11dGlscy9tY29va2llLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODU5OGFjMwotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbWNvb2tpZS5jCkBAIC0wLDAgKzEsMTk2IEBACisvKiBtY29va2llLmMgLS0gR2VuZXJhdGVzIHJhbmRvbSBudW1iZXJzIGZvciB4YXV0aAorICogQ3JlYXRlZDogRnJpIEZlYiAgMyAxMDo0Mjo0OCAxOTk1IGJ5IGZhaXRoQGNzLnVuYy5lZHUKKyAqIFJldmlzZWQ6IEZyaSBNYXIgMTkgMDc6NDg6MDEgMTk5OSBieSBmYWl0aEBhY20ub3JnCisgKiBQdWJsaWMgRG9tYWluIDE5OTUsIDE5OTkgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAYWNtLm9yZykKKyAqIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuCisgKiAKKyAqIFRoaXMgcHJvZ3JhbSBnYXRoZXJzIHNvbWUgcmFuZG9tIGJpdHMgb2YgZGF0YSBhbmQgdXNlZCB0aGUgTUQ1CisgKiBtZXNzYWdlLWRpZ2VzdCBhbGdvcml0aG0gdG8gZ2VuZXJhdGUgYSAxMjgtYml0IGhleGFkZWNpbWFsIG51bWJlciBmb3IKKyAqIHVzZSB3aXRoIHhhdXRoKDEpLgorICoKKyAqIE5PVEU6IFVubGVzcyAvZGV2L3JhbmRvbSBpcyBhdmFpbGFibGUsIHRoaXMgcHJvZ3JhbSBkb2VzIG5vdCBhY3R1YWxseQorICogZ2F0aGVyIDEyOCBiaXRzIG9mIHJhbmRvbSBpbmZvcm1hdGlvbiwgc28gdGhlIG1hZ2ljIGNvb2tpZSBnZW5lcmF0ZWQKKyAqIHdpbGwgYmUgY29uc2lkZXJhYmx5IGVhc2llciB0byBndWVzcyB0aGFuIG9uZSBtaWdodCBleHBlY3QuCisgKgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wMy0yMSBhZWI6IEFkZGVkIHNvbWUgZnJhZ21lbnRzIG9mIGNvZGUgZnJvbSBDb2xpbiBQbHVtYi4KKyAqCisgKi8KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJtZDUuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInJhbmR1dGlscy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworZW51bSB7CisJQlVGRkVSU0laRSA9IDQwOTYsCisJUkFORF9CWVRFUyA9IDEyOAorfTsKKworc3RydWN0IG1jb29raWVfY29udHJvbCB7CisJc3RydWN0CVVMX01ENUNvbnRleHQgY3R4OworCWNoYXIJKipmaWxlczsKKwlzaXplX3QJbmZpbGVzOworCXVpbnQ2NF90IG1heHN6OworCisJdW5zaWduZWQgaW50IHZlcmJvc2U6MTsKK307CisKKy8qIFRoZSBiYXNpYyBmdW5jdGlvbiB0byBoYXNoIGEgZmlsZSAqLworc3RhdGljIHVpbnQ2NF90IGhhc2hfZmlsZShzdHJ1Y3QgbWNvb2tpZV9jb250cm9sICpjdGwsIGludCBmZCkKK3sKKwl1bnNpZ25lZCBjaGFyIGJ1ZltCVUZGRVJTSVpFXTsKKwl1aW50NjRfdCB3YW50ZWQsIGNvdW50OworCisJd2FudGVkID0gY3RsLT5tYXhzeiA/IGN0bC0+bWF4c3ogOiBzaXplb2YoYnVmKTsKKworCWZvciAoY291bnQgPSAwOyBjb3VudCA8IHdhbnRlZDsgKSB7CisJCXNpemVfdCByZHN6ID0gc2l6ZW9mKGJ1Zik7CisJCXNzaXplX3QgcjsKKworCQlpZiAod2FudGVkIC0gY291bnQgPCByZHN6KQorCQkJcmRzeiA9IHdhbnRlZCAtIGNvdW50OworCisJCXIgPSByZWFkX2FsbChmZCwgKGNoYXIgKikgYnVmLCByZHN6KTsKKwkJaWYgKHIgPCAwKQorCQkJYnJlYWs7CisJCXVsX01ENVVwZGF0ZSgmY3RsLT5jdHgsIGJ1Ziwgcik7CisJCWNvdW50ICs9IHI7CisJfQorCS8qIFNlcGFyYXRlIGZpbGVzIHdpdGggYSBudWxsIGJ5dGUgKi8KKwlidWZbMF0gPSAnXDAnOworCXVsX01ENVVwZGF0ZSgmY3RsLT5jdHgsIGJ1ZiwgMSk7CisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIzKSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJtY29va2llKDEpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCByYW5kb21uZXNzX2Zyb21fZmlsZXMoc3RydWN0IG1jb29raWVfY29udHJvbCAqY3RsKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IGN0bC0+bmZpbGVzOyBpKyspIHsKKwkJY29uc3QgY2hhciAqZm5hbWUgPSBjdGwtPmZpbGVzW2ldOworCQlzaXplX3QgY291bnQ7CisJCWludCBmZDsKKworCQlpZiAoKmZuYW1lID09ICctJyAmJiAhKihmbmFtZSArIDEpKQorCQkJZmQgPSBTVERJTl9GSUxFTk87CisJCWVsc2UKKwkJCWZkID0gb3BlbihmbmFtZSwgT19SRE9OTFkpOworCisJCWlmIChmZCA8IDApIHsKKwkJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgZm5hbWUpOworCQl9IGVsc2UgeworCQkJY291bnQgPSBoYXNoX2ZpbGUoY3RsLCBmZCk7CisJCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJCWZwcmludGYoc3RkZXJyLAorCQkJCQlQXygiR290ICV6dSBieXRlIGZyb20gJXNcbiIsCisJCQkJCSAgICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIsIGNvdW50KSwKKwkJCQkJY291bnQsIGZuYW1lKTsKKworCQkJaWYgKGZkICE9IFNURElOX0ZJTEVOTyAmJiBjbG9zZShmZCkpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2xvc2luZyAlcyBmYWlsZWQiKSwgZm5hbWUpOworCQl9CisJfQorfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IG1jb29raWVfY29udHJvbCBjdGwgPSB7IC52ZXJib3NlID0gMCB9OworCXNpemVfdCBpOworCXVuc2lnbmVkIGNoYXIgZGlnZXN0W1VMX01ENUxFTkdUSF07CisJdW5zaWduZWQgY2hhciBidWZbUkFORF9CWVRFU107CisJaW50IGM7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ImZpbGUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2YnfSwKKwkJeyJtYXgtc2l6ZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbSd9LAorCQl7InZlcmJvc2UiLCBub19hcmd1bWVudCwgTlVMTCwgJ3YnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJmOm06dlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAndic6CisJCQljdGwudmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlpZiAoIWN0bC5maWxlcykKKwkJCQljdGwuZmlsZXMgPSB4bWFsbG9jKHNpemVvZihjaGFyICopICogYXJnYyk7CisJCQljdGwuZmlsZXNbY3RsLm5maWxlcysrXSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCWN0bC5tYXhzeiA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLAorCQkJCQkJICAgICBfKCJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAoY3RsLm1heHN6ICYmIGN0bC5uZmlsZXMgPT0gMCkKKwkJd2FybngoXygiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIpKTsKKworCXVsX01ENUluaXQoJmN0bC5jdHgpOworCXJhbmRvbW5lc3NfZnJvbV9maWxlcygmY3RsKTsKKwlmcmVlKGN0bC5maWxlcyk7CisKKwlyYW5kb21fZ2V0X2J5dGVzKCZidWYsIFJBTkRfQllURVMpOworCXVsX01ENVVwZGF0ZSgmY3RsLmN0eCwgYnVmLCBSQU5EX0JZVEVTKTsKKwlpZiAoY3RsLnZlcmJvc2UpCisJCWZwcmludGYoc3RkZXJyLCBQXygiR290ICVkIGJ5dGUgZnJvbSAlc1xuIiwKKwkJCQkgICAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIsIFJBTkRfQllURVMpLAorCQkJCVJBTkRfQllURVMsIHJhbmRvbV90ZWxsX3NvdXJjZSgpKTsKKworCXVsX01ENUZpbmFsKGRpZ2VzdCwgJmN0bC5jdHgpOworCWZvciAoaSA9IDA7IGkgPCBVTF9NRDVMRU5HVEg7IGkrKykKKwkJcHJpbnRmKCIlMDJ4IiwgZGlnZXN0W2ldKTsKKwlwdXRjaGFyKCdcbicpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvbmFtZWkuMSBiL21pc2MtdXRpbHMvbmFtZWkuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDllOTU3Ci0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9uYW1laS4xCkBAIC0wLDAgKzEsODAgQEAKKy5USCBOQU1FSSAxICJKdW5lIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCituYW1laSBcLSBmb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kCisuU0ggU1lOT1BTSVMKKy5CIG5hbWVpCitbb3B0aW9uc10KKy5JUiBwYXRobmFtZSAuLi4KKy5TSCBERVNDUklQVElPTgorLkIgbmFtZWkKK2ludGVycHJldHMgaXRzIGFyZ3VtZW50cyBhcyBwYXRobmFtZXMgdG8gYW55IHR5cGUKK29mIFVuaXggZmlsZSAoc3ltbGlua3MsIGZpbGVzLCBkaXJlY3RvcmllcywgYW5kIHNvIGZvcnRoKS4KKy5CIG5hbWVpCit0aGVuIGZvbGxvd3MgZWFjaCBwYXRobmFtZSB1bnRpbCBhbiBlbmRwb2ludAoraXMgZm91bmQgKGEgZmlsZSwgYSBkaXJlY3RvcnksIGEgZGV2aWNlIG5vZGUsIGV0YykuCitJZiBpdCBmaW5kcyBhIHN5bWJvbGljIGxpbmssIGl0IHNob3dzIHRoZSBsaW5rLCBhbmQgc3RhcnRzCitmb2xsb3dpbmcgaXQsIGluZGVudGluZyB0aGUgb3V0cHV0IHRvIHNob3cgdGhlIGNvbnRleHQuCisuUFAKK1RoaXMgcHJvZ3JhbSBpcyB1c2VmdWwgZm9yIGZpbmRpbmcgInRvbyBtYW55IGxldmVscyBvZgorc3ltYm9saWMgbGlua3MiIHByb2JsZW1zLgorLlBQCitGb3IgZWFjaCBsaW5lIG9mIG91dHB1dCwKKy5CIG5hbWVpCit1c2VzIHRoZSBmb2xsb3dpbmcgY2hhcmFjdGVycyB0byBpZGVudGlmeSB0aGUgZmlsZSB0eXBlIGZvdW5kOgorLkxQCisubmYKKyAgIGY6ID0gdGhlIHBhdGhuYW1lIGN1cnJlbnRseSBiZWluZyByZXNvbHZlZAorICAgIGQgPSBkaXJlY3RvcnkKKyAgICBsID0gc3ltYm9saWMgbGluayAoYm90aCB0aGUgbGluayBhbmQgaXRzIGNvbnRlbnRzIGFyZSBvdXRwdXQpCisgICAgcyA9IHNvY2tldAorICAgIGIgPSBibG9jayBkZXZpY2UKKyAgICBjID0gY2hhcmFjdGVyIGRldmljZQorICAgIHAgPSBGSUZPIChuYW1lZCBwaXBlKQorICAgIC0gPSByZWd1bGFyIGZpbGUKKyAgICA/ID0gYW4gZXJyb3Igb2Ygc29tZSBraW5kCisuZmkKKy5QUAorLkIgbmFtZWkKK3ByaW50cyBhbiBpbmZvcm1hdGl2ZSBtZXNzYWdlIHdoZW4KK3RoZSBtYXhpbXVtIG51bWJlciBvZiBzeW1ib2xpYyBsaW5rcyB0aGlzIHN5c3RlbSBjYW4gaGF2ZSBoYXMgYmVlbiBleGNlZWRlZC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1sb25nIgorVXNlIHRoZSBsb25nIGxpc3RpbmcgZm9ybWF0IChzYW1lIGFzIFxmQlwtbSBcLW8gXC12XGZSKS4KKy5UUAorLkJSIFwtbSAsICIgXC1cLW1vZGVzIgorU2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZSB0eXBlIGluIHRoZSBzdHlsZSBvZiBscygxKSwKK2ZvciBleGFtcGxlICdyd3hyLXhyLXgnLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9zeW1saW5rcyIKK0Rvbid0IGZvbGxvdyBzeW1saW5rcy4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW93bmVycyIKK1Nob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlLgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVydGljYWwiCitWZXJ0aWNhbGx5IGFsaWduIHRoZSBtb2RlcyBhbmQgb3duZXJzLgorLlRQCisuQlIgXC14ICwgIiBcLVwtbW91bnRwb2ludHMiCitTaG93IG1vdW50cG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJyByYXRoZXIgdGhhbiBhICdkJy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQVVUSE9SCitUaGUgb3JpZ2luYWwKKy5CIG5hbWVpCitwcm9ncmFtIHdhcyB3cml0dGVuIGJ5IFJvZ2VyIFNvdXRod2ljayA8cm9nZXJzQGFtYWRldXMud3IudGVrLmNvbT4uCisuc3AKK1RoZSBwcm9ncmFtIHdhcyByZXdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+LgorLlNIIEJVR1MKK1RvIGJlIGRpc2NvdmVyZWQuCisuU0ggIlNFRSBBTFNPIgorLkJSIGxzICgxKSwKKy5CUiBzdGF0ICgxKSwKKy5CUiBzeW1saW5rICg3KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIG5hbWVpIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL25hbWVpLmMgYi9taXNjLXV0aWxzL25hbWVpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjAxNzFmNgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvbmFtZWkuYwpAQCAtMCwwICsxLDQ1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorICoKKyAqIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBUaGUgb3JpZ2luYWwgbmFtZWkoMSkgd2FzIHdyaXR0ZW4gYnk6CisgKglSb2dlciBTLiBTb3V0aHdpY2sgKE1heSAyLCAxOTkwKQorICoJU3RldmUgVGVsbCAoTWFyY2ggMjgsIDE5OTEpCisgKglBcmthZGl1c3ogTWnFm2tpZXdpY3ogKDE5OTktMDItMjIpCisgKglMaSBaZWZhbiAoMjAwNy0wOS0xMCkuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPGdycC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImlkY2FjaGUuaCIKKworI2lmbmRlZiBNQVhTWU1MSU5LUworI2RlZmluZSBNQVhTWU1MSU5LUyAyNTYKKyNlbmRpZgorCisjZGVmaW5lIE5BTUVJX05PTElOS1MJKDEgPDwgMSkKKyNkZWZpbmUgTkFNRUlfTU9ERVMJKDEgPDwgMikKKyNkZWZpbmUgTkFNRUlfTU5UUwkoMSA8PCAzKQorI2RlZmluZSBOQU1FSV9PV05FUlMJKDEgPDwgNCkKKyNkZWZpbmUgTkFNRUlfVkVSVElDQUwJKDEgPDwgNSkKKworCitzdHJ1Y3QgbmFtZWkgeworCXN0cnVjdCBzdGF0CXN0OwkJLyogaXRlbSBsc3RhdCgpICovCisJY2hhcgkJKm5hbWU7CQkvKiBpdGVtIG5hbWUgKi8KKwljaGFyCQkqYWJzbGluazsJLyogYWJzb2x1dGUgc3ltbGluayBwYXRoICovCisJaW50CQlyZWxzdGFydDsJLyogb2Zmc2V0IG9mIHJlbGF0aXZlIHBhdGggaW4gJ2Fic2xpbmsnICovCisJc3RydWN0IG5hbWVpCSpuZXh0OwkJLyogbmV4dCBpdGVtICovCisJaW50CQlsZXZlbDsKKwlpbnQJCW1vdW50cG9pbnQ7CS8qIGlzIG1vdW50IHBvaW50ICovCisJaW50CQlub2VudDsJCS8qIHRoaXMgaXRlbSBub3QgZXhpc3RpbmcgKHN0b3JlcyBlcnJubyBmcm9tIHN0YXQoKSkgKi8KK307CisKK3N0YXRpYyBpbnQgZmxhZ3M7CitzdGF0aWMgc3RydWN0IGlkY2FjaGUgKmdjYWNoZTsJLyogZ3JvdXBuYW1lcyAqLworc3RhdGljIHN0cnVjdCBpZGNhY2hlICp1Y2FjaGU7CS8qIHVzZXJuYW1lcyAqLworCitzdGF0aWMgdm9pZAorZnJlZV9uYW1laShzdHJ1Y3QgbmFtZWkgKm5tKQoreworCXdoaWxlIChubSkgeworCQlzdHJ1Y3QgbmFtZWkgKm5leHQgPSBubS0+bmV4dDsKKwkJZnJlZShubS0+bmFtZSk7CisJCWZyZWUobm0tPmFic2xpbmspOworCQlmcmVlKG5tKTsKKwkJbm0gPSBuZXh0OworCX0KK30KKworc3RhdGljIHZvaWQKK3JlYWRsaW5rX3RvX25hbWVpKHN0cnVjdCBuYW1laSAqbm0sIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJY2hhciBzeW1bUEFUSF9NQVhdOworCXNzaXplX3Qgc3o7CisJaW50IGlzcmVsID0gMDsKKworCXN6ID0gcmVhZGxpbmsocGF0aCwgc3ltLCBzaXplb2Yoc3ltKSk7CisJaWYgKHN6IDwgMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiKSwgcGF0aCk7CisJaWYgKCpzeW0gIT0gJy8nKSB7CisJCWNoYXIgKnAgPSBzdHJyY2hyKHBhdGgsICcvJyk7CisKKwkJaWYgKHApIHsKKwkJCWlzcmVsID0gMTsKKwkJCW5tLT5yZWxzdGFydCA9IHAgLSBwYXRoOworCQkJc3ogKz0gbm0tPnJlbHN0YXJ0ICsgMTsKKwkJfQorCX0KKwlubS0+YWJzbGluayA9IHhtYWxsb2Moc3ogKyAxKTsKKworCWlmICgqc3ltICE9ICcvJyAmJiBpc3JlbCkgeworCQkvKiBjcmVhdGUgdGhlIGFic29sdXRlIHBhdGggZnJvbSB0aGUgcmVsYXRpdmUgc3ltbGluayAqLworCQltZW1jcHkobm0tPmFic2xpbmssIHBhdGgsIG5tLT5yZWxzdGFydCk7CisJCSoobm0tPmFic2xpbmsgKyBubS0+cmVsc3RhcnQpID0gJy8nOworCQlubS0+cmVsc3RhcnQrKzsKKwkJbWVtY3B5KG5tLT5hYnNsaW5rICsgbm0tPnJlbHN0YXJ0LCBzeW0sIHN6IC0gbm0tPnJlbHN0YXJ0KTsKKwl9IGVsc2UKKwkJLyogLSBhYnNvbHV0ZSBsaW5rIChmb28gLT4gL3BhdGgvYmFyKQorCQkgKiAtIG9yIGxpbmsgd2l0aG91dCBhbnkgc3ViZGlyIChmb28gLT4gYmFyKQorCQkgKi8KKwkJbWVtY3B5KG5tLT5hYnNsaW5rLCBzeW0sIHN6KTsKKworCW5tLT5hYnNsaW5rW3N6XSA9ICdcMCc7Cit9CisKK3N0YXRpYyBzdHJ1Y3Qgc3RhdCAqCitkb3Rkb3Rfc3RhdChjb25zdCBjaGFyICpkaXJuYW1lLCBzdHJ1Y3Qgc3RhdCAqc3QpCit7CisJY2hhciAqcGF0aDsKKwlzaXplX3QgbGVuOworCisjZGVmaW5lIERPVERPVERJUgkiLy4uIgorCisJaWYgKCFkaXJuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCWxlbiA9IHN0cmxlbihkaXJuYW1lKTsKKwlwYXRoID0geG1hbGxvYyhsZW4gKyBzaXplb2YoRE9URE9URElSKSk7CisKKwltZW1jcHkocGF0aCwgZGlybmFtZSwgbGVuKTsKKwltZW1jcHkocGF0aCArIGxlbiwgRE9URE9URElSLCBzaXplb2YoRE9URE9URElSKSk7CisKKwlpZiAoc3RhdChwYXRoLCBzdCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIHBhdGgpOworCWZyZWUocGF0aCk7CisJcmV0dXJuIHN0OworfQorCitzdGF0aWMgc3RydWN0IG5hbWVpICoKK25ld19uYW1laShzdHJ1Y3QgbmFtZWkgKnBhcmVudCwgY29uc3QgY2hhciAqcGF0aCwgY29uc3QgY2hhciAqZm5hbWUsIGludCBsZXYpCit7CisJc3RydWN0IG5hbWVpICpubTsKKworCWlmICghZm5hbWUpCisJCXJldHVybiBOVUxMOworCW5tID0geGNhbGxvYygxLCBzaXplb2YoKm5tKSk7CisJaWYgKHBhcmVudCkKKwkJcGFyZW50LT5uZXh0ID0gbm07CisKKwlubS0+bGV2ZWwgPSBsZXY7CisJbm0tPm5hbWUgPSB4c3RyZHVwKGZuYW1lKTsKKworCWlmIChsc3RhdChwYXRoLCAmbm0tPnN0KSAhPSAwKSB7CisJCW5tLT5ub2VudCA9IGVycm5vOworCQlyZXR1cm4gbm07CisJfQorCisJaWYgKFNfSVNMTksobm0tPnN0LnN0X21vZGUpKQorCQlyZWFkbGlua190b19uYW1laShubSwgcGF0aCk7CisJaWYgKGZsYWdzICYgTkFNRUlfT1dORVJTKSB7CisJCWFkZF91aWQodWNhY2hlLCBubS0+c3Quc3RfdWlkKTsKKwkJYWRkX2dpZChnY2FjaGUsIG5tLT5zdC5zdF9naWQpOworCX0KKworCWlmICgoZmxhZ3MgJiBOQU1FSV9NTlRTKSAmJiBTX0lTRElSKG5tLT5zdC5zdF9tb2RlKSkgeworCQlzdHJ1Y3Qgc3RhdCBzdGJ1ZiwgKnNiID0gTlVMTDsKKworCQlpZiAocGFyZW50ICYmIFNfSVNESVIocGFyZW50LT5zdC5zdF9tb2RlKSkKKwkJCXNiID0gJnBhcmVudC0+c3Q7CisJCWVsc2UgaWYgKCFwYXJlbnQgfHwgU19JU0xOSyhwYXJlbnQtPnN0LnN0X21vZGUpKQorCQkJc2IgPSBkb3Rkb3Rfc3RhdChwYXRoLCAmc3RidWYpOworCisJCWlmIChzYiAmJiAoc2ItPnN0X2RldiAhPSBubS0+c3Quc3RfZGV2IHx8ICAgLyogZGlmZmVyZW50IGRldmljZSAqLworCQkgICAgICAgICAgIHNiLT5zdF9pbm8gPT0gbm0tPnN0LnN0X2lubykpICAgIC8qIHJvb3QgZGlyZWN0b3J5ICovCisJCQlubS0+bW91bnRwb2ludCA9IDE7CisJfQorCisJcmV0dXJuIG5tOworfQorCitzdGF0aWMgc3RydWN0IG5hbWVpICoKK2FkZF9uYW1laShzdHJ1Y3QgbmFtZWkgKnBhcmVudCwgY29uc3QgY2hhciAqb3JncGF0aCwgaW50IHN0YXJ0LCBzdHJ1Y3QgbmFtZWkgKipsYXN0KQoreworCXN0cnVjdCBuYW1laSAqbm0gPSBOVUxMLCAqZmlyc3QgPSBOVUxMOworCWNoYXIgKmZuYW1lLCAqZW5kLCAqcGF0aDsKKwlpbnQgbGV2ZWwgPSAwOworCisJaWYgKCFvcmdwYXRoKQorCQlyZXR1cm4gTlVMTDsKKwlpZiAocGFyZW50KSB7CisJCW5tID0gcGFyZW50OworCQlsZXZlbCA9IHBhcmVudC0+bGV2ZWwgKyAxOworCX0KKwlwYXRoID0geHN0cmR1cChvcmdwYXRoKTsKKwlmbmFtZSA9IHBhdGggKyBzdGFydDsKKworCS8qIHJvb3QgZGlyZWN0b3J5ICovCisJaWYgKCpmbmFtZSA9PSAnLycpIHsKKwkJd2hpbGUgKCpmbmFtZSA9PSAnLycpCisJCQlmbmFtZSsrOyAvKiBlYXQgZXh0cmEgJy8nICovCisJCWZpcnN0ID0gbm0gPSBuZXdfbmFtZWkobm0sICIvIiwgIi8iLCBsZXZlbCk7CisJfQorCisJZm9yIChlbmQgPSBmbmFtZTsgZm5hbWUgJiYgZW5kOyApIHsKKwkJLyogc2V0IGVuZCBvZiBmaWxlbmFtZSAqLworCQlpZiAoKmZuYW1lKSB7CisJCQllbmQgPSBzdHJjaHIoZm5hbWUsICcvJyk7CisJCQlpZiAoZW5kKQorCQkJCSplbmQgPSAnXDAnOworCisJCQkvKiBjcmVhdGUgYSBuZXcgZW50cnkgKi8KKwkJCW5tID0gbmV3X25hbWVpKG5tLCBwYXRoLCBmbmFtZSwgbGV2ZWwpOworCQl9IGVsc2UKKwkJCWVuZCA9IE5VTEw7CisJCWlmICghZmlyc3QpCisJCQlmaXJzdCA9IG5tOworCQkvKiBzZXQgYmVnaW4gb2YgdGhlIG5leHQgZmlsZW5hbWUgKi8KKwkJaWYgKGVuZCkgeworCQkJKmVuZCsrID0gJy8nOworCQkJd2hpbGUgKCplbmQgPT0gJy8nKQorCQkJCWVuZCsrOyAvKiBlYXQgZXh0cmEgJy8nICovCisJCX0KKwkJZm5hbWUgPSBlbmQ7CisJfQorCisJaWYgKGxhc3QpCisJCSpsYXN0ID0gbm07CisKKwlmcmVlKHBhdGgpOworCisJcmV0dXJuIGZpcnN0OworfQorCitzdGF0aWMgaW50Citmb2xsb3dfc3ltbGlua3Moc3RydWN0IG5hbWVpICpubSkKK3sKKwlpbnQgc3ltY291bnQgPSAwOworCisJZm9yICg7IG5tOyBubSA9IG5tLT5uZXh0KSB7CisJCXN0cnVjdCBuYW1laSAqbmV4dCwgKmxhc3Q7CisKKwkJaWYgKG5tLT5ub2VudCkKKwkJCWNvbnRpbnVlOworCQlpZiAoIVNfSVNMTksobm0tPnN0LnN0X21vZGUpKQorCQkJY29udGludWU7CisJCWlmICgrK3N5bWNvdW50ID4gTUFYU1lNTElOS1MpIHsKKwkJCS8qIGRyb3AgdGhlIHJlc3Qgb2YgdGhlIGxpc3QgKi8KKwkJCWZyZWVfbmFtZWkobm0tPm5leHQpOworCQkJbm0tPm5leHQgPSBOVUxMOworCQkJcmV0dXJuIC0xOworCQl9CisJCW5leHQgPSBubS0+bmV4dDsKKwkJbm0tPm5leHQgPSBhZGRfbmFtZWkobm0sIG5tLT5hYnNsaW5rLCBubS0+cmVsc3RhcnQsICZsYXN0KTsKKwkJaWYgKGxhc3QpCisJCQlsYXN0LT5uZXh0ID0gbmV4dDsKKwkJZWxzZQorCQkJbm0tPm5leHQgPSBuZXh0OworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludAorcHJpbnRfbmFtZWkoc3RydWN0IG5hbWVpICpubSwgY2hhciAqcGF0aCkKK3sKKwlpbnQgaTsKKworCWlmIChwYXRoKQorCQlwcmludGYoImY6ICVzXG4iLCBwYXRoKTsKKworCWZvciAoOyBubTsgbm0gPSBubS0+bmV4dCkgeworCQljaGFyIG1kWzExXTsKKworCQlpZiAobm0tPm5vZW50KSB7CisJCQlpbnQgYmxhbmtzID0gMTsKKwkJCWlmIChmbGFncyAmIE5BTUVJX01PREVTKQorCQkJCWJsYW5rcyArPSA5OworCQkJaWYgKGZsYWdzICYgTkFNRUlfT1dORVJTKQorCQkJCWJsYW5rcyArPSB1Y2FjaGUtPndpZHRoICsgZ2NhY2hlLT53aWR0aCArIDI7CisJCQlpZiAoIShmbGFncyAmIE5BTUVJX1ZFUlRJQ0FMKSkKKwkJCQlibGFua3MgKz0gMTsKKwkJCWJsYW5rcyArPSBubS0+bGV2ZWwgKiAyOworCQkJcHJpbnRmKCIlKnMgIiwgYmxhbmtzLCAiIik7CisJCQlwcmludGYoIiVzIC0gJXNcbiIsIG5tLT5uYW1lLCBzdHJlcnJvcihubS0+bm9lbnQpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJCXhzdHJtb2RlKG5tLT5zdC5zdF9tb2RlLCBtZCk7CisKKwkJaWYgKG5tLT5tb3VudHBvaW50KQorCQkJbWRbMF0gPSAnRCc7CisKKwkJaWYgKCEoZmxhZ3MgJiBOQU1FSV9WRVJUSUNBTCkpIHsKKwkJCWZvciAoaSA9IDA7IGkgPCBubS0+bGV2ZWw7IGkrKykKKwkJCQlmcHV0cygiICAiLCBzdGRvdXQpOworCQkJZnB1dGMoJyAnLCBzdGRvdXQpOworCQl9CisKKwkJaWYgKGZsYWdzICYgTkFNRUlfTU9ERVMpCisJCQlwcmludGYoIiVzIiwgbWQpOworCQllbHNlCisJCQlwcmludGYoIiVjIiwgbWRbMF0pOworCisJCWlmIChmbGFncyAmIE5BTUVJX09XTkVSUykgeworCQkJcHJpbnRmKCIgJS0qcyIsIHVjYWNoZS0+d2lkdGgsCisJCQkJZ2V0X2lkKHVjYWNoZSwgbm0tPnN0LnN0X3VpZCktPm5hbWUpOworCQkJcHJpbnRmKCIgJS0qcyIsIGdjYWNoZS0+d2lkdGgsCisJCQkJZ2V0X2lkKGdjYWNoZSwgbm0tPnN0LnN0X2dpZCktPm5hbWUpOworCQl9CisKKwkJaWYgKGZsYWdzICYgTkFNRUlfVkVSVElDQUwpCisJCQlmb3IgKGkgPSAwOyBpIDwgbm0tPmxldmVsOyBpKyspCisJCQkJZnB1dHMoIiAgIiwgc3Rkb3V0KTsKKworCQlpZiAoU19JU0xOSyhubS0+c3Quc3RfbW9kZSkpCisJCQlwcmludGYoIiAlcyAtPiAlc1xuIiwgbm0tPm5hbWUsCisJCQkJCW5tLT5hYnNsaW5rICsgbm0tPnJlbHN0YXJ0KTsKKwkJZWxzZQorCQkJcHJpbnRmKCIgJXNcbiIsIG5tLT5uYW1lKTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJY29uc3QgY2hhciAqcCA9IHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lOworCUZJTEUgKm91dCA9IHN0ZG91dDsKKworCWlmICghKnApCisJCXAgPSAibmFtZWkiOworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIiksIHApOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygKKwkJIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorCQkiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorCQkiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKwkJIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKwkJIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorCQkiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIiksIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyMSkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJuYW1laSgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPQoreworCXsgImhlbHAiLAkgbm9fYXJndW1lbnQsIE5VTEwsICdoJyB9LAorCXsgInZlcnNpb24iLCAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdWJyB9LAorCXsgIm1vdW50cG9pbnRzIiwgbm9fYXJndW1lbnQsIE5VTEwsICd4JyB9LAorCXsgIm1vZGVzIiwJIG5vX2FyZ3VtZW50LCBOVUxMLCAnbScgfSwKKwl7ICJvd25lcnMiLAkgbm9fYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCXsgImxvbmciLCAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdsJyB9LAorCXsgIm5vbGlua3MiLAkgbm9fYXJndW1lbnQsIE5VTEwsICduJyB9LAorCXsgInZlcnRpY2FsIiwgICAgbm9fYXJndW1lbnQsIE5VTEwsICd2JyB9LAorCXsgTlVMTCwgMCwgTlVMTCwgMCB9LAorfTsKKworaW50CittYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYzsKKwlpbnQgcmMgPSBFWElUX1NVQ0NFU1M7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImhWbG1ub3Z4IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2goYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2wnOgorCQkJZmxhZ3MgfD0gKE5BTUVJX09XTkVSUyB8IE5BTUVJX01PREVTIHwgTkFNRUlfVkVSVElDQUwpOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJZmxhZ3MgfD0gTkFNRUlfTU9ERVM7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlmbGFncyB8PSBOQU1FSV9OT0xJTktTOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJZmxhZ3MgfD0gTkFNRUlfT1dORVJTOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJZmxhZ3MgfD0gTkFNRUlfTU5UUzsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWZsYWdzIHw9IE5BTUVJX1ZFUlRJQ0FMOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAob3B0aW5kID09IGFyZ2MpIHsKKwkJd2FybngoXygicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCXVjYWNoZSA9IG5ld19pZGNhY2hlKCk7CisJaWYgKCF1Y2FjaGUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiKSk7CisJZ2NhY2hlID0gbmV3X2lkY2FjaGUoKTsKKwlpZiAoIWdjYWNoZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIpKTsKKworCWZvcig7IG9wdGluZCA8IGFyZ2M7IG9wdGluZCsrKSB7CisJCWNoYXIgKnBhdGggPSBhcmd2W29wdGluZF07CisJCXN0cnVjdCBuYW1laSAqbm0gPSBOVUxMOworCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQlpZiAoc3RhdChwYXRoLCAmc3QpICE9IDApCisJCQlyYyA9IEVYSVRfRkFJTFVSRTsKKworCQlubSA9IGFkZF9uYW1laShOVUxMLCBwYXRoLCAwLCBOVUxMKTsKKwkJaWYgKG5tKSB7CisJCQlpbnQgc21sID0gMDsKKwkJCWlmICghKGZsYWdzICYgTkFNRUlfTk9MSU5LUykpCisJCQkJc21sID0gZm9sbG93X3N5bWxpbmtzKG5tKTsKKwkJCWlmIChwcmludF9uYW1laShubSwgcGF0aCkpIHsKKwkJCQlyYyA9IEVYSVRfRkFJTFVSRTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWZyZWVfbmFtZWkobm0pOworCQkJaWYgKHNtbCA9PSAtMSkgeworCQkJCXJjID0gRVhJVF9GQUlMVVJFOworCQkJCXdhcm54KF8oIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIpLCBwYXRoKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJfQorCX0KKworCWZyZWVfaWRjYWNoZSh1Y2FjaGUpOworCWZyZWVfaWRjYWNoZShnY2FjaGUpOworCisJcmV0dXJuIHJjOworfQorCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3JlbmFtZS4xIGIvbWlzYy11dGlscy9yZW5hbWUuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDkwZTY0Ci0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9yZW5hbWUuMQpAQCAtMCwwICsxLDEyMyBAQAorLlwiIFdyaXR0ZW4gYnkgQW5kcmllcyBFLiBCcm91d2VyIChhZWJAY3dpLm5sKQorLlwiIFBsYWNlZCBpbiB0aGUgcHVibGljIGRvbWFpbgorLlwiCisuVEggUkVOQU1FIDEgIkp1bmUgMjAxMSIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3JlbmFtZSBcLSByZW5hbWUgZmlsZXMKKy5TSCBTWU5PUFNJUworLkIgcmVuYW1lCitbb3B0aW9uc10KKy5JUiAiZXhwcmVzc2lvbiByZXBsYWNlbWVudCBmaWxlIiAuLi4KKy5TSCBERVNDUklQVElPTgorLkIgcmVuYW1lCit3aWxsIHJlbmFtZSB0aGUgc3BlY2lmaWVkIGZpbGVzIGJ5IHJlcGxhY2luZyB0aGUgZmlyc3Qgb2NjdXJyZW5jZSBvZgorLkkgZXhwcmVzc2lvbgoraW4gdGhlaXIgbmFtZSBieQorLklSIHJlcGxhY2VtZW50IC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zeW1saW5rIgorRG8gbm90IHJlbmFtZSBhIHN5bWxpbmsgYnV0IGl0cyB0YXJnZXQuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorU2hvdyB3aGljaCBmaWxlcyB3ZXJlIHJlbmFtZWQsIGlmIGFueS4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vXC1hY3QiCitEbyBub3QgbWFrZSBhbnkgY2hhbmdlczsgYWRkCisuQiBcLVwtdmVyYm9zZQordG8gc2VlIHdoYXQgd291bGQgYmUgbWFkZS4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW5vXC1vdmVyd3JpdGUiCitEbyBub3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzLiAgV2hlbgorLkIgXC1cLXN5bWxpbmsKK2lzIGFjdGl2ZSwgZG8gbm90IG92ZXJ3cml0ZSBzeW1saW5rcyBwb2ludGluZyB0byBleGlzdGluZyB0YXJnZXRzLgorLlRQCisuQlIgXC1pICwgIiBcLVwtaW50ZXJhY3RpdmUiCitBc2sgYmVmb3JlIG92ZXJ3cml0aW5nIGV4aXN0aW5nIGZpbGVzLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFWEFNUExFUworR2l2ZW4gdGhlIGZpbGVzCisuSVIgZm9vMSAiLCAuLi4sICIgZm9vOSAiLCAiIGZvbzEwICIsIC4uLiwgIiBmb28yNzggLAordGhlIGNvbW1hbmRzCisuUlMKKy5QUAorLm5mCityZW5hbWUgZm9vIGZvbzAwIGZvbz8KK3JlbmFtZSBmb28gZm9vMCBmb28/PworLmZpCisuUFAKKy5SRQord2lsbCB0dXJuIHRoZW0gaW50bworLklSIGZvbzAwMSAiLCAuLi4sICIgZm9vMDA5ICIsICIgZm9vMDEwICIsIC4uLiwgIiBmb28yNzggLgorQW5kCisuUlMKKy5QUAorLm5mCityZW5hbWUgLmh0bSAuaHRtbCAqLmh0bQorLmZpCisuUFAKKy5SRQord2lsbCBmaXggdGhlIGV4dGVuc2lvbiBvZiB5b3VyIGh0bWwgZmlsZXMuCitQcm92aWRlIGFuIGVtcHR5IHN0cmluZyBmb3Igc2hvcnRlbmluZzoKKy5SUworLlBQCisubmYKK3JlbmFtZSAnX3dpdGhfbG9uZ19uYW1lJyAnJyBmaWxlX3dpdGhfbG9uZ19uYW1lLioKKy5maQorLlBQCisuUkUKK3dpbGwgcmVtb3ZlIHRoZSBzdWJzdHJpbmcgaW4gdGhlIGZpbGVuYW1lcy4KKy5TSCBXQVJOSU5HCitUaGUgcmVuYW1pbmcgaGFzIG5vIHNhZmVndWFyZHMgYnkgZGVmYXVsdCBvciB3aXRob3V0IGFueSBvbmUgb2YgdGhlIG9wdGlvbnMKKy5CIFwtXC1uby1vdmVyd3JpdGVcZlIsCisuQiBcLVwtaW50ZXJhY3RpdmUKK29yCisuQiBcLVwtbm9cLWFjdFxmUi4KK0lmIHRoZSB1c2VyIGhhcworcGVybWlzc2lvbiB0byByZXdyaXRlIGZpbGUgbmFtZXMsIHRoZSBjb21tYW5kIHdpbGwgcGVyZm9ybSB0aGUgYWN0aW9uIHdpdGhvdXQKK2FueSBxdWVzdGlvbnMuICBGb3IgZXhhbXBsZSwgdGhlIHJlc3VsdCBjYW4gYmUgcXVpdGUgZHJhc3RpYyB3aGVuIHRoZSBjb21tYW5kCitpcyBydW4gYXMgcm9vdCBpbiB0aGUgL2xpYiBkaXJlY3RvcnkuICBBbHdheXMgbWFrZSBhIGJhY2t1cCBiZWZvcmUgcnVubmluZyB0aGUKK2NvbW1hbmQsIHVubGVzcyB5b3UgdHJ1bHkga25vdyB3aGF0IHlvdSBhcmUgZG9pbmcuCisuU0ggSU5URVJBQ1RJVkUgTU9ERQorQXMgbW9zdCBzdGFuZGFyZCB1dGlsaXRpZXMgcmVuYW1lIGNhbiBiZSB1c2VkIHdpdGggYSB0ZXJtaW5hbCBkZXZpY2UgKHR0eSBpbgorc2hvcnQpIGluIGNhbm9uaWNhbCBtb2RlLCB3aGVyZSB0aGUgbGluZSBpcyBidWZmZXJlZCBieSB0aGUgdHR5IGFuZCB5b3UgcHJlc3MKK0VOVEVSIHRvIHZhbGlkYXRlIHRoZSB1c2VyIGlucHV0LiAgSWYgeW91IHB1dCB5b3VyIHR0eSBpbiBjYnJlYWsgbW9kZSBob3dldmVyLAorcmVuYW1lIHJlcXVpcmVzIG9ubHkgYSBzaW5nbGUga2V5IHByZXNzIHRvIGFuc3dlciB0aGUgcHJvbXB0LiAgVG8gc2V0IGNicmVhaworbW9kZSwgcnVuIGZvciBleGFtcGxlOgorLlJTCisuUFAKKy5uZgorc2ggLWMgJ3N0dHkgLWljYW5vbiBtaW4gMTsgIiQwIiAiJEAiOyBzdHR5IGljYW5vbicgcmVuYW1lIC1pIGZyb20gdG8gZmlsZXMKKy5maQorLlBQCisuUkUKKy5TSCAiRVhJVCBTVEFUVVMiCisuUlMKKy5QRCAwCisuVFAKKy5CIDAKK2FsbCByZXF1ZXN0ZWQgcmVuYW1lIG9wZXJhdGlvbnMgd2VyZSBzdWNjZXNzZnVsCisuVFAKKy5CIDEKK2FsbCByZW5hbWUgb3BlcmF0aW9ucyBmYWlsZWQKKy5UUAorLkIgMgorc29tZSByZW5hbWUgb3BlcmF0aW9ucyBmYWlsZWQKKy5UUAorLkIgNAorbm90aGluZyB3YXMgcmVuYW1lZAorLlRQCisuQiA2NAordW5hbnRpY2lwYXRlZCBlcnJvciBvY2N1cnJlZAorLlBECisuUkUKKy5TSCAiU0VFIEFMU08iCisuQlIgbXYgKDEpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgcmVuYW1lIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3JlbmFtZS5jIGIvbWlzYy11dGlscy9yZW5hbWUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTNlMWI5Ci0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy9yZW5hbWUuYwpAQCAtMCwwICsxLDMxMSBAQAorLyoKKyAqIHJlbmFtZS5jIC0gYWViIDIwMDAtMDEtMDEKKyAqCistLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorIyEvYmluL3NoCitpZiBbICQjIC1sZSAyIF07IHRoZW4gZWNobyBjYWxsOiByZW5hbWUgZnJvbSB0byBmaWxlczsgZXhpdDsgZmkKK0ZST009IiQxIgorVE89IiQyIgorc2hpZnQKK3NoaWZ0Citmb3IgaSBpbiAkQDsgZG8gTj1gZWNobyAiJGkiIHwgc2VkICJzLyRGUk9NLyRUTy9nImA7IG12ICIkaSIgIiROIjsgZG9uZQorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqIFRoaXMgc2hlbGwgc2NyaXB0IHdpbGwgZG8gcmVuYW1lcyBvZiBmaWxlcywgYnV0IG1heSBmYWlsCisgKiBpbiBjYXNlcyBpbnZvbHZpbmcgc3BlY2lhbCBjaGFyYWN0ZXJzLiBIZXJlIGEgQyB2ZXJzaW9uLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpZmRlZiBIQVZFX1NURElPX0VYVF9ICisjCWluY2x1ZGUgPHN0ZGlvX2V4dC5oPgorI2VuZGlmCisjaWZkZWYgSEFWRV9GUFVSR0UKKyMJZGVmaW5lIEhBVkVfX19GUFVSR0UgMQorIwlkZWZpbmUgX19mcHVyZ2UgZnB1cmdlCisjZW5kaWYKKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8dGVybWlvcy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJycG1hdGNoLmgiCisKKyNkZWZpbmUgUkVOQU1FX0VYSVRfU09NRU9LCTIKKyNkZWZpbmUgUkVOQU1FX0VYSVRfTk9USElORwk0CisjZGVmaW5lIFJFTkFNRV9FWElUX1VORVhQTEFJTkVECTY0CisKK3N0YXRpYyBpbnQgdHR5X2NicmVhayA9IDA7CisKK3N0YXRpYyBpbnQgc3RyaW5nX3JlcGxhY2UoY2hhciAqZnJvbSwgY2hhciAqdG8sIGNoYXIgKnMsIGNoYXIgKm9yaWcsIGNoYXIgKipuZXduYW1lKQoreworCWNoYXIgKnAsICpxLCAqd2hlcmU7CisKKwl3aGVyZSA9IHN0cnN0cihzLCBmcm9tKTsKKwlpZiAod2hlcmUgPT0gTlVMTCkKKwkJcmV0dXJuIDE7CisJcCA9IG9yaWc7CisJKm5ld25hbWUgPSB4bWFsbG9jKHN0cmxlbihvcmlnKSArIHN0cmxlbih0bykgKyAxKTsKKwlxID0gKm5ld25hbWU7CisJd2hpbGUgKHAgPCB3aGVyZSkKKwkJKnErKyA9ICpwKys7CisJcCA9IHRvOworCXdoaWxlICgqcCkKKwkJKnErKyA9ICpwKys7CisJcCA9IHdoZXJlICsgc3RybGVuKGZyb20pOworCXdoaWxlICgqcCkKKwkJKnErKyA9ICpwKys7CisJKnEgPSAwOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGFzayhjaGFyICpuYW1lKQoreworCWludCBjOworCWNoYXIgYnVmWzJdOworCXByaW50ZihfKCIlczogb3ZlcndyaXRlIGAlcyc/ICIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgbmFtZSk7CisJZmZsdXNoKHN0ZG91dCk7CisJaWYgKChjID0gZmdldGMoc3RkaW4pKSA9PSBFT0YpIHsKKwkJYnVmWzBdID0gJ24nOworCQlwcmludGYoIm5cbiIpOworCX0KKwllbHNlIHsKKwkJYnVmWzBdID0gYzsKKwkJaWYgKGMgIT0gJ1xuJyAmJiB0dHlfY2JyZWFrKSB7CisjaWZkZWYgSEFWRV9fX0ZQVVJHRQorCQkJLyogUG9zc2libHkgcHVyZ2UgYSBtdWx0aS1ieXRlIGNoYXJhY3Rlcjsgb3IgZG8gYQorCQkJICAgcmVxdWlyZWQgcHVyZ2Ugb2YgdGhlIHJlc3Qgb2YgdGhlIGxpbmUgKGluY2x1ZGluZworCQkJICAgdGhlIG5ld2xpbmUpIGlmIHRoZSB0dHkgaGFzIGJlZW4gcHV0IGJhY2sgaW4KKwkJCSAgIGNhbm9uaWNhbCBtb2RlIChmb3IgZXhhbXBsZSBieSBhIHNoZWxsIGFmdGVyIGEKKwkJCSAgIFNJR1RTVFAgc2lnbmFsKS4gKi8KKwkJCV9fZnB1cmdlKHN0ZGluKTsKKyNlbmRpZgorCQkJcHJpbnRmKCJcbiIpOworCQl9CisJCWVsc2UgaWYgKGMgIT0gJ1xuJykKKwkJCXdoaWxlICgoYyA9IGZnZXRjKHN0ZGluKSkgIT0gJ1xuJyAmJiBjICE9IEVPRik7CisJfQorCWJ1ZlsxXSA9ICdcMCc7CisJaWYgKHJwbWF0Y2goYnVmKSA9PSBSUE1BVENIX1lFUykKKwkJcmV0dXJuIDA7CisJZWxzZQorCQlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBkb19zeW1saW5rKGNoYXIgKmZyb20sIGNoYXIgKnRvLCBjaGFyICpzLCBpbnQgdmVyYm9zZSwgaW50IG5vYWN0LAorICAgICAgICAgICAgICAgICAgICAgIGludCBub292ZXJ3cml0ZSwgaW50IGludGVyYWN0aXZlKQoreworCWNoYXIgKm5ld25hbWUgPSBOVUxMLCAqdGFyZ2V0ID0gTlVMTDsKKwlpbnQgcmV0ID0gMTsKKwlzdHJ1Y3Qgc3RhdCBzYjsKKworCWlmICggZmFjY2Vzc2F0KEFUX0ZEQ1dELCBzLCBGX09LLCBBVF9TWU1MSU5LX05PRk9MTE9XKSAhPSAwICYmCisJICAgICBlcnJubyAhPSBFSU5WQUwgKQorCSAgIC8qIFNraXAgaWYgQVRfU1lNTElOS19OT0ZPTExPVyBpcyBub3Qgc3VwcG9ydGVkOyBsc3RhdCgpIGJlbG93IHdpbGwKKwkgICAgICBkZXRlY3QgdGhlIGFjY2VzcyBlcnJvciAqLworCXsKKwkJd2FybihfKCIlczogbm90IGFjY2Vzc2libGUiKSwgcyk7CisJCXJldHVybiAyOworCX0KKworCWlmIChsc3RhdChzLCAmc2IpID09IC0xKSB7CisJCXdhcm4oXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgcyk7CisJCXJldHVybiAyOworCX0KKwlpZiAoIVNfSVNMTksoc2Iuc3RfbW9kZSkpIHsKKwkJd2FybngoXygiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiKSwgcyk7CisJCXJldHVybiAyOworCX0KKwl0YXJnZXQgPSB4bWFsbG9jKHNiLnN0X3NpemUgKyAxKTsKKwlpZiAocmVhZGxpbmsocywgdGFyZ2V0LCBzYi5zdF9zaXplICsgMSkgPCAwKSB7CisJCXdhcm4oXygiJXM6IHJlYWRsaW5rIGZhaWxlZCIpLCBzKTsKKwkJZnJlZSh0YXJnZXQpOworCQlyZXR1cm4gMjsKKwl9CisJdGFyZ2V0W3NiLnN0X3NpemVdID0gJ1wwJzsKKwlpZiAoc3RyaW5nX3JlcGxhY2UoZnJvbSwgdG8sIHRhcmdldCwgdGFyZ2V0LCAmbmV3bmFtZSkgIT0gMCkKKwkJcmV0ID0gMDsKKworCWlmIChyZXQgPT0gMSAmJiAobm9vdmVyd3JpdGUgfHwgaW50ZXJhY3RpdmUpICYmIGxzdGF0KG5ld25hbWUsICZzYikgIT0gMCkKKwkJbm9vdmVyd3JpdGUgPSBpbnRlcmFjdGl2ZSA9IDA7CisKKwlpZiAoIHJldCA9PSAxICYmCisJICAgICAobm9vdmVyd3JpdGUgfHwgKGludGVyYWN0aXZlICYmIChub2FjdCB8fCBhc2sobmV3bmFtZSkgIT0gMCkpKSApCisJeworCQlpZiAodmVyYm9zZSkKKwkJCXByaW50ZihfKCJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnIC0+IGAlcydcbiIpLCBzLCB0YXJnZXQpOworCQlyZXQgPSAwOworCX0KKworCWlmIChyZXQgPT0gMSkgeworCQlpZiAoIW5vYWN0ICYmIDAgPiB1bmxpbmsocykpIHsKKwkJCXdhcm4oXygiJXM6IHVubGluayBmYWlsZWQiKSwgcyk7CisJCQlyZXQgPSAyOworCQl9CisJCWVsc2UgaWYgKCFub2FjdCAmJiBzeW1saW5rKG5ld25hbWUsIHMpICE9IDApIHsKKwkJCXdhcm4oXygiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIiksIHMsIG5ld25hbWUpOworCQkJcmV0ID0gMjsKKwkJfQorCX0KKwlpZiAodmVyYm9zZSAmJiAobm9hY3QgfHwgcmV0ID09IDEpKQorCQlwcmludGYoIiVzOiBgJXMnIC0+IGAlcydcbiIsIHMsIHRhcmdldCwgbmV3bmFtZSk7CisJZnJlZShuZXduYW1lKTsKKwlmcmVlKHRhcmdldCk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBkb19maWxlKGNoYXIgKmZyb20sIGNoYXIgKnRvLCBjaGFyICpzLCBpbnQgdmVyYm9zZSwgaW50IG5vYWN0LAorICAgICAgICAgICAgICAgICAgIGludCBub292ZXJ3cml0ZSwgaW50IGludGVyYWN0aXZlKQoreworCWNoYXIgKm5ld25hbWUgPSBOVUxMLCAqZmlsZT1OVUxMOworCWludCByZXQgPSAxOworCisJaWYgKGFjY2VzcyhzLCBGX09LKSAhPSAwKSB7CisJCXdhcm4oXygiJXM6IG5vdCBhY2Nlc3NpYmxlIiksIHMpOworCQlyZXR1cm4gMjsKKwl9CisKKwlpZiAoc3RyY2hyKGZyb20sICcvJykgPT0gTlVMTCAmJiBzdHJjaHIodG8sICcvJykgPT0gTlVMTCkKKwkJZmlsZSA9IHN0cnJjaHIocywgJy8nKTsKKwlpZiAoZmlsZSA9PSBOVUxMKQorCQlmaWxlID0gczsKKwlpZiAoc3RyaW5nX3JlcGxhY2UoZnJvbSwgdG8sIGZpbGUsIHMsICZuZXduYW1lKSAhPSAwKQorCQlyZXR1cm4gMDsKKworCWlmICgobm9vdmVyd3JpdGUgfHwgaW50ZXJhY3RpdmUpICYmIGFjY2VzcyhuZXduYW1lLCBGX09LKSAhPSAwKQorCQlub292ZXJ3cml0ZSA9IGludGVyYWN0aXZlID0gMDsKKworCWlmIChub292ZXJ3cml0ZSB8fCAoaW50ZXJhY3RpdmUgJiYgKG5vYWN0IHx8IGFzayhuZXduYW1lKSAhPSAwKSkpIHsKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIiksIG5ld25hbWUpOworCQlyZXQgPSAwOworCX0KKwllbHNlIGlmICghbm9hY3QgJiYgcmVuYW1lKHMsIG5ld25hbWUpICE9IDApIHsKKwkJd2FybihfKCIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIpLCBzLCBuZXduYW1lKTsKKwkJcmV0ID0gMjsKKwl9CisJaWYgKHZlcmJvc2UgJiYgKG5vYWN0IHx8IHJldCA9PSAxKSkKKwkJcHJpbnRmKCJgJXMnIC0+IGAlcydcbiIsIHMsIG5ld25hbWUpOworCWZyZWUobmV3bmFtZSk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJlbmFtZSBmaWxlcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXN5bWxpbmsgICAgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIG5vdCBtYWtlIGFueSBjaGFuZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tbm8tb3ZlcndyaXRlICBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtaSwgLS1pbnRlcmFjdGl2ZSAgIHByb21wdCBiZWZvcmUgb3ZlcndyaXRlXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyMSkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgicmVuYW1lKDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNoYXIgKmZyb20sICp0bzsKKwlpbnQgaSwgYywgcmV0ID0gMCwgdmVyYm9zZSA9IDAsIG5vYWN0ID0gMCwgbm9vdmVyd3JpdGUgPSAwLCBpbnRlcmFjdGl2ZSA9IDA7CisJc3RydWN0IHRlcm1pb3MgdGlvOworCWludCAoKmRvX3JlbmFtZSkoY2hhciAqZnJvbSwgY2hhciAqdG8sIGNoYXIgKnMsIGludCB2ZXJib3NlLCBpbnQgbm9hY3QsCisJICAgICAgICAgICAgICAgICBpbnQgbm9vdmVyd3JpdGUsIGludCBpbnRlcmFjdGl2ZSkgPSBkb19maWxlOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ2ZXJib3NlIiwgbm9fYXJndW1lbnQsIE5VTEwsICd2J30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJeyJuby1hY3QiLCBub19hcmd1bWVudCwgTlVMTCwgJ24nfSwKKwkJeyJuby1vdmVyd3JpdGUiLCBub19hcmd1bWVudCwgTlVMTCwgJ28nfSwKKwkJeyJpbnRlcmFjdGl2ZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaSd9LAorCQl7InN5bWxpbmsiLCBub19hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAidnNWaG5vaSIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICduJzoKKwkJCW5vYWN0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCXZlcmJvc2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJbm9vdmVyd3JpdGUgPSAxOworCQkJaW50ZXJhY3RpdmUgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ2knOgorCQkJaW50ZXJhY3RpdmUgPSAxOworCQkJbm9vdmVyd3JpdGUgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJZG9fcmVuYW1lID0gZG9fc3ltbGluazsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmIChhcmdjIDwgMykgeworCQl3YXJueChfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCWZyb20gPSBhcmd2WzBdOworCXRvID0gYXJndlsxXTsKKworCWlmICghc3RyY21wKGZyb20sIHRvKSkKKwkJcmV0dXJuIFJFTkFNRV9FWElUX05PVEhJTkc7CisKKwl0dHlfY2JyZWFrID0gMDsKKwlpZiAoaW50ZXJhY3RpdmUgJiYgaXNhdHR5KFNURElOX0ZJTEVOTykgIT0gMCkgeworCQlpZiAodGNnZXRhdHRyKFNURElOX0ZJTEVOTywgJnRpbykgIT0gMCkKKwkJCXdhcm4oXygiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIikpOworCQllbHNlIGlmICghKHRpby5jX2xmbGFnICYgSUNBTk9OKSAmJiB0aW8uY19jY1tWTUlOXSA9PSAxKQorCQkJdHR5X2NicmVhayA9IDE7CisJfQorCisJZm9yIChpID0gMjsgaSA8IGFyZ2M7IGkrKykKKwkJcmV0IHw9IGRvX3JlbmFtZShmcm9tLCB0bywgYXJndltpXSwgdmVyYm9zZSwgbm9hY3QsIG5vb3ZlcndyaXRlLCBpbnRlcmFjdGl2ZSk7CisKKwlzd2l0Y2ggKHJldCkgeworCWNhc2UgMDoKKwkJcmV0dXJuIFJFTkFNRV9FWElUX05PVEhJTkc7CisJY2FzZSAxOgorCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCWNhc2UgMjoKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwljYXNlIDM6CisJCXJldHVybiBSRU5BTUVfRVhJVF9TT01FT0s7CisJZGVmYXVsdDoKKwkJcmV0dXJuIFJFTkFNRV9FWElUX1VORVhQTEFJTkVEOworCX0KK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvdGVzdF91dWlkZC5jIGIvbWlzYy11dGlscy90ZXN0X3V1aWRkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2YzOGZhNAotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvdGVzdF91dWlkZC5jCkBAIC0wLDAgKzEsMzQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA2IEhld2xldHQtUGFja2FyZCBEZXZlbG9wbWVudCBDb21wYW55LCBMLlAuCisgKiBIdXNjaGFhbSBIdXNzYWluIDxIdXNjaGFhbS5IdXNzYWluQGhwLmNvbT4KKyAqCVRTRyBTb2x1dGlvbiBBbGxpYW5jZXMgRW5naW5lZXJpbmcKKyAqCVNBUCBUZWNobm9sb2d5IEdyb3VwCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqCisgKiBUaGUgdGVzdCBoZWF2aWx5IHVzZXMgc2hhcmVkIG1lbW9yeSwgdG8gZW5sYXJnZSBtYXhpbWFsIHNpemUgb2Ygc2hhcmVkCisgKiBzZWdtZW50IHVzZToKKyAqCisgKgllY2hvICI0Mjk0OTY3Mjk1IiA+IC9wcm9jL3N5cy9rZXJuZWwvc2htbQorICoKKyAqIFRoZSB0ZXN0IGlzIGNvbXBpbGVkIGFnYWluc3QgaW4tdHJlZSBsaWJ1dWlkLCBpZiB5b3Ugd2FudCB0byB0ZXN0IHV1aWRkCisgKiBpbnN0YWxsZWQgdG8gdGhlIHN5c3RlbSB0aGVuIG1ha2Ugc3VyZSB0aGF0IGxpYnV1aWQgdXNlcyB0aGUgc2FtZSBzb2NrZXQKKyAqIGxpa2UgdGhlIHJ1bm5pbmcgdXVpZGQuIFlvdSBjYW4gc3RhcnQgdGhlIHV1aWRkIG1hbnVhbGx5LCBmb3IgZXhhbXBsZToKKyAqCisgKgl1dWlkZCAtLWRlYnVnIC0tbm8tZm9yayAtLW5vLXBpZCAtLXNvY2tldCAvcnVuL3V1aWRkL3JlcXVlc3QKKyAqCisgKiBpZiB0aGUgJHJ1bnN0YXRlZGlyIChhcyBkZWZpbmVkIGJ5IGJ1aWxkLXN5c3RlbSkgaXMgL3J1bi4gSWYgeW91IHdhbnQKKyAqIHRvIG92ZXJ3cml0ZSB0aGUgYnVpbHQtaW4gZGVmYXVsdCB0aGVuIHVzZToKKyAqCisgKgltYWtlIHV1aWRkIHV1aWRnZW4gcnVuc3RhdGVkaXI9L3Zhci9ydW4KKyAqLworI2luY2x1ZGUgPHB0aHJlYWQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9zaG0uaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorCisjaW5jbHVkZSAidXVpZC5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgIm5scy5oIgorCisjZGVmaW5lIExPRyhsZXZlbCxhcmdzKSBpZiAobG9nbGV2ID49IGxldmVsKSB7IGZwcmludGYgYXJnczsgfQorCitzdGF0aWMgc2l6ZV90IG5wcm9jZXNzZXMgPSA0Oworc3RhdGljIHNpemVfdCBudGhyZWFkcyA9IDQ7CitzdGF0aWMgc2l6ZV90IG5vYmplY3RzID0gNDA5NjsKK3N0YXRpYyBzaXplX3QgbG9nbGV2ID0gMTsKKworc3RydWN0IHByb2Nlc3NlbnRyeSB7CisJcGlkX3QJCXBpZDsKKwlpbnQJCXN0YXR1czsKK307Cit0eXBlZGVmIHN0cnVjdCBwcm9jZXNzZW50cnkgcHJvY2Vzc190OworCitzdHJ1Y3QgdGhyZWFkZW50cnkgeworCXByb2Nlc3NfdAkqcHJvYzsKKwlwdGhyZWFkX3QJdGlkOwkJLyogcHRocmVhZF9zZWxmKCkgLyBwaHRyZWFkX2NyZWF0ZSgpICovCisJcHRocmVhZF9hdHRyX3QJdGhyZWFkX2F0dHI7CisJc2l6ZV90CQlpbmRleDsJCS8qIGluZGV4IGluIG9iamVjdFtdICovCisJaW50CQlyZXR2YWw7CQkvKiBwdGhyZWFkIGV4aXQoKSAqLworfTsKK3R5cGVkZWYgc3RydWN0IHRocmVhZGVudHJ5IHRocmVhZF90OworCisvKiB0aGlzIGlzIGluIHNoYXJlZCBtZW1vcnksIGtlZXAgaXQgYXMgc21hbGwgYXMgcG9zc2libGUgKi8KK3N0cnVjdCBvYmplY3RlbnRyeSB7CisJdXVpZF90CQl1dWlkOworCXB0aHJlYWRfdAl0aWQ7CisJcGlkX3QJCXBpZDsKKwlzaXplX3QJCWlkeDsKK307Cit0eXBlZGVmIHN0cnVjdCBvYmplY3RlbnRyeSBvYmplY3RfdDsKKworc3RhdGljIGludCBzaG1lbV9pZDsKK3N0YXRpYyBvYmplY3RfdCAqb2JqZWN0czsKKworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCXByaW50ZigiXG4gJXMgW29wdGlvbnNdXG4iLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlwcmludGYoIiAgLXAgPG51bT4gICAgIG51bWJlciBvZiBucHJvY2Vzc2VzIChkZWZhdWx0OiV6dSlcbiIsIG5wcm9jZXNzZXMpOworCXByaW50ZigiICAtdCA8bnVtPiAgICAgbnVtYmVyIG9mIG50aHJlYWRzIChkZWZhdWx0OiV6dSlcbiIsIG50aHJlYWRzKTsKKwlwcmludGYoIiAgLW8gPG51bT4gICAgIG51bWJlciBvZiBub2JqZWN0cyAoZGVmYXVsdDolenUpXG4iLCBub2JqZWN0cyk7CisJcHJpbnRmKCIgIC1sIDxsZXZlbD4gICBsb2cgbGV2ZWwgKGRlZmF1bHQ6JXp1KVxuIiwgbG9nbGV2KTsKKwlwcmludGYoIiAgLWggICAgICAgICAgIGRpc3BsYXkgaGVscFxuIik7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIGFsbG9jYXRlX3NlZ21lbnQoaW50ICppZCwgdm9pZCAqKmFkZHJlc3MsIHNpemVfdCBudW1iZXIsIHNpemVfdCBzaXplKQoreworCSppZCA9IHNobWdldChJUENfUFJJVkFURSwgbnVtYmVyICogc2l6ZSwgSVBDX0NSRUFUIHwgMDYwMCk7CisJaWYgKCppZCA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgInNobWdldCBmYWlsZWQgdG8gY3JlYXRlICV6dSBieXRlcyBzaGFyZWQgbWVtb3J5IiwgbnVtYmVyICogc2l6ZSk7CisKKwkqYWRkcmVzcyA9IHNobWF0KCppZCwgTlVMTCwgMCk7CisJaWYgKCphZGRyZXNzID09ICh2b2lkICopLTEpCisJCWVycihFWElUX0ZBSUxVUkUsICJzaG1hdCBmYWlsZWQiKTsKKworCUxPRygyLCAoc3RkZXJyLAorCSAgICAgImFsbG9jYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBbaWQ9JWQsYWRkcmVzcz0weCVwXVxuIiwKKwkgICAgICppZCwgKmFkZHJlc3MpKTsKKworCW1lbXNldCgqYWRkcmVzcywgMCwgbnVtYmVyICogc2l6ZSk7Cit9CisKK3N0YXRpYyB2b2lkIHJlbW92ZV9zZWdtZW50KGludCBpZCwgdm9pZCAqYWRkcmVzcykKK3sKKwlpZiAoc2htZHQoYWRkcmVzcykgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsICJzaG1kdCBmYWlsZWQiKTsKKwlpZiAoc2htY3RsKGlkLCBJUENfUk1JRCwgTlVMTCkgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsICJzaG1jdGwgZmFpbGVkIik7CisJTE9HKDIsCisJICAgIChzdGRlcnIsCisJICAgICAicmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBbaWQ9JWQsYWRkcmVzcz0weCVwXVxuIiwKKwkgICAgIGlkLCBhZGRyZXNzKSk7Cit9CisKK3N0YXRpYyB2b2lkIG9iamVjdF91dWlkX2NyZWF0ZShvYmplY3RfdCAqIG9iamVjdCkKK3sKKwl1dWlkX2dlbmVyYXRlX3RpbWUob2JqZWN0LT51dWlkKTsKK30KKworc3RhdGljIHZvaWQgb2JqZWN0X3V1aWRfdG9fc3RyaW5nKG9iamVjdF90ICogb2JqZWN0LCBjaGFyICoqc3RyaW5nX3V1aWQpCit7CisJdXVpZF91bnBhcnNlKG9iamVjdC0+dXVpZCwgKnN0cmluZ191dWlkKTsKK30KKworc3RhdGljIGludCBvYmplY3RfdXVpZF9jb21wYXJlKGNvbnN0IHZvaWQgKm9iamVjdDEsIGNvbnN0IHZvaWQgKm9iamVjdDIpCit7CisJdXVpZF90ICp1dWlkMSA9ICYoKG9iamVjdF90ICopIG9iamVjdDEpLT51dWlkLAorCSAgICAgICAqdXVpZDIgPSAmKChvYmplY3RfdCAqKSBvYmplY3QyKS0+dXVpZDsKKworCXJldHVybiB1dWlkX2NvbXBhcmUoKnV1aWQxLCAqdXVpZDIpOworfQorCitzdGF0aWMgdm9pZCAqY3JlYXRlX3V1aWRzKHRocmVhZF90ICp0aCkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IHRoLT5pbmRleDsgaSA8IHRoLT5pbmRleCArIG5vYmplY3RzOyBpKyspIHsKKwkJb2JqZWN0X3QgKm9iaiA9ICZvYmplY3RzW2ldOworCisJCW9iamVjdF91dWlkX2NyZWF0ZShvYmopOworCQlvYmotPnRpZCA9IHRoLT50aWQ7CisJCW9iai0+cGlkID0gdGgtPnByb2MtPnBpZDsKKwkJb2JqLT5pZHggPSB0aC0+aW5kZXggKyBpOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIHZvaWQgKnRocmVhZF9ib2R5KHZvaWQgKmFyZykKK3sKKwl0aHJlYWRfdCAqdGggPSAodGhyZWFkX3QgKikgYXJnOworCisJcmV0dXJuIGNyZWF0ZV91dWlkcyh0aCk7Cit9CisKK3N0YXRpYyB2b2lkIGNyZWF0ZV9udGhyZWFkcyhwcm9jZXNzX3QgKnByb2MsIHNpemVfdCBpbmRleCkKK3sKKwl0aHJlYWRfdCAqdGhyZWFkczsKKwlzaXplX3QgaSwgbmNyZWF0ZWQgPSAwOworCWludCByYzsKKworCXRocmVhZHMgPSB4Y2FsbG9jKG50aHJlYWRzLCBzaXplb2YodGhyZWFkX3QpKTsKKworCWZvciAoaSA9IDA7IGkgPCBudGhyZWFkczsgaSsrKSB7CisJCXRocmVhZF90ICp0aCA9ICZ0aHJlYWRzW2ldOworCisJCXJjID0gcHRocmVhZF9hdHRyX2luaXQoJnRoLT50aHJlYWRfYXR0cik7CisJCWlmIChyYykgeworCQkJZXJybm8gPSByYzsKKwkJCXdhcm4oIiVkOiBwdGhyZWFkX2F0dHJfaW5pdCBmYWlsZWQiLCBwcm9jLT5waWQpOworCQkJYnJlYWs7CisJCX0KKworCQl0aC0+aW5kZXggPSBpbmRleDsKKwkJdGgtPnByb2MgPSBwcm9jOworCQlyYyA9IHB0aHJlYWRfY3JlYXRlKCZ0aC0+dGlkLCAmdGgtPnRocmVhZF9hdHRyLCAmdGhyZWFkX2JvZHksIHRoKTsKKworCQlpZiAocmMpIHsKKwkJCWVycm5vID0gcmM7CisJCQl3YXJuKCIlZDogcHRocmVhZF9jcmVhdGUgZmFpbGVkIiwgcHJvYy0+cGlkKTsKKwkJCWJyZWFrOworCQl9CisKKwkJTE9HKDIsIChzdGRlcnIsICIlZDogc3RhcnRlZCB0aHJlYWQgW3RpZD0lamQsaW5kZXg9JXp1XVxuIiwKKwkJICAgICBwcm9jLT5waWQsIChpbnRtYXhfdCkgdGgtPnRpZCwgdGgtPmluZGV4KSk7CisJCWluZGV4ICs9IG5vYmplY3RzOworCQluY3JlYXRlZCsrOworCX0KKworCWlmIChuY3JlYXRlZCAhPSBudGhyZWFkcykKKwkJZnByaW50ZihzdGRlcnIsICIlZDogJXp1IHRocmVhZHMgbm90IGNyZWF0ZWQgYW5kIH4lenUgb2JqZWN0cyB3aWxsIGJlIGlnbm9yZWRcbiIsCisJCQkJcHJvYy0+cGlkLCBudGhyZWFkcyAtIG5jcmVhdGVkLAorCQkJCShudGhyZWFkcyAtIG5jcmVhdGVkKSAqIG5vYmplY3RzKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY3JlYXRlZDsgaSsrKSB7CisJCXRocmVhZF90ICp0aCA9ICZ0aHJlYWRzW2ldOworCisJCXJjID0gcHRocmVhZF9qb2luKHRoLT50aWQsICh2b2lkICopICZ0aC0+cmV0dmFsKTsKKwkJaWYgKHJjKSB7CisJCQllcnJubyA9IHJjOworCQkJZXJyKEVYSVRfRkFJTFVSRSwgInB0aHJlYWRfam9pbiBmYWlsZWQiKTsKKwkJfQorCisJCUxPRygyLCAoc3RkZXJyLCAiJWQ6IHRocmVhZCBleGl0ZWQgW3RpZD0lamQscmV0dXJuPSVkXVxuIiwKKwkJICAgICBwcm9jLT5waWQsIChpbnRtYXhfdCkgdGgtPnRpZCwgdGgtPnJldHZhbCkpOworCX0KK30KKworc3RhdGljIHZvaWQgY3JlYXRlX25wcm9jZXNzZXModm9pZCkKK3sKKwlwcm9jZXNzX3QgKnByb2Nlc3M7CisJc2l6ZV90IGk7CisKKwlwcm9jZXNzID0geGNhbGxvYyhucHJvY2Vzc2VzLCBzaXplb2YocHJvY2Vzc190KSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnByb2Nlc3NlczsgaSsrKSB7CisJCXByb2Nlc3NfdCAqcHJvYyA9ICZwcm9jZXNzW2ldOworCisJCXByb2MtPnBpZCA9IGZvcmsoKTsKKwkJc3dpdGNoIChwcm9jLT5waWQpIHsKKwkJY2FzZSAtMTogLyogZXJyb3IgKi8KKwkJCWVycihFWElUX0ZBSUxVUkUsICJmb3JrIGZhaWxlZCIpOworCQkJYnJlYWs7CisJCWNhc2UgMDogLyogY2hpbGQgKi8KKwkJCXByb2MtPnBpZCA9IGdldHBpZCgpOworCQkJY3JlYXRlX250aHJlYWRzKHByb2MsIGkgKiBudGhyZWFkcyAqIG5vYmplY3RzKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OiAvKiBwYXJlbnQgKi8KKwkJCUxPRygyLCAoc3RkZXJyLCAic3RhcnRlZCBwcm9jZXNzIFtwaWQ9JWRdXG4iLCBwcm9jLT5waWQpKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJZm9yIChpID0gMDsgaSA8IG5wcm9jZXNzZXM7IGkrKykgeworCQlwcm9jZXNzX3QgKnByb2MgPSAmcHJvY2Vzc1tpXTsKKworCQlpZiAod2FpdHBpZChwcm9jLT5waWQsICZwcm9jLT5zdGF0dXMsIDApID09IChwaWRfdCkgLSAxKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgIndhaXRwaWQgZmFpbGVkIik7CisJCUxPRygyLAorCQkgICAgKHN0ZGVyciwgInByb2Nlc3MgZXhpdGVkIFtwaWQ9JWQsc3RhdHVzPSVkXVxuIiwKKwkJICAgICBwcm9jLT5waWQsIHByb2MtPnN0YXR1cykpOworCX0KK30KKworc3RhdGljIHZvaWQgb2JqZWN0X2R1bXAoc2l6ZV90IGlkeCwgb2JqZWN0X3QgKm9iaikKK3sKKwljaGFyIHV1aWRfc3RyaW5nW1VVSURfU1RSX0xFTl0sICpwOworCisJcCA9IHV1aWRfc3RyaW5nOworCW9iamVjdF91dWlkX3RvX3N0cmluZyhvYmosICZwKTsKKworCWZwcmludGYoc3RkZXJyLCAib2JqZWN0WyV6dV06IHtcbiIsIGlkeCk7CisJZnByaW50ZihzdGRlcnIsICIgIHV1aWQ6ICAgIDwlcz5cbiIsIHApOworCWZwcmludGYoc3RkZXJyLCAiICBpZHg6ICAgICAlenVcbiIsIG9iai0+aWR4KTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgcHJvY2VzczogJWRcbiIsIChpbnQpIG9iai0+cGlkKTsKKwlmcHJpbnRmKHN0ZGVyciwgIiAgdGhyZWFkOiAgJWpkXG4iLCAoaW50bWF4X3QpIG9iai0+dGlkKTsKKwlmcHJpbnRmKHN0ZGVyciwgIn1cbiIpOworfQorCisjZGVmaW5lIE1TR19UUllfSEVMUCAiVHJ5ICctaCcgZm9yIGhlbHAuIgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXNpemVfdCBpLCBuZmFpbGVkID0gMCwgbmlnbm9yZWQgPSAwOworCWludCBjOworCisJd2hpbGUgKCgoYyA9IGdldG9wdChhcmdjLCBhcmd2LCAicDp0Om86bDpoIikpICE9IC0xKSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAncCc6CisJCQlucHJvY2Vzc2VzID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgImludmFsaWQgbnByb2Nlc3NlcyBudW1iZXIgYXJndW1lbnQiKTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCW50aHJlYWRzID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgImludmFsaWQgbnRocmVhZHMgbnVtYmVyIGFyZ3VtZW50Iik7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlub2JqZWN0cyA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsICJpbnZhbGlkIG5vYmplY3RzIG51bWJlciBhcmd1bWVudCIpOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJbG9nbGV2ID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgImludmFsaWQgbG9nIGxldmVsIGFyZ3VtZW50Iik7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlmcHJpbnRmKHN0ZGVyciwgTVNHX1RSWV9IRUxQKTsKKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgIT0gYXJnYykKKwkJZXJyeChFWElUX0ZBSUxVUkUsICJiYWQgdXNhZ2VcbiIgTVNHX1RSWV9IRUxQKTsKKworCWlmIChsb2dsZXYgPT0gMSkKKwkJZnByaW50ZihzdGRlcnIsICJyZXF1ZXN0ZWQ6ICV6dSBwcm9jZXNzZXMsICV6dSB0aHJlYWRzLCAlenUgb2JqZWN0cyBwZXIgdGhyZWFkICglenUgb2JqZWN0cyA9ICV6dSBieXRlcylcbiIsCisJCQkJbnByb2Nlc3NlcywgbnRocmVhZHMsIG5vYmplY3RzLAorCQkJCW5wcm9jZXNzZXMgKiBudGhyZWFkcyAqIG5vYmplY3RzLAorCQkJCW5wcm9jZXNzZXMgKiBudGhyZWFkcyAqIG5vYmplY3RzICogc2l6ZW9mKG9iamVjdF90KSk7CisKKwlhbGxvY2F0ZV9zZWdtZW50KCZzaG1lbV9pZCwgKHZvaWQgKiopJm9iamVjdHMsCisJCQkgbnByb2Nlc3NlcyAqIG50aHJlYWRzICogbm9iamVjdHMsIHNpemVvZihvYmplY3RfdCkpOworCisJY3JlYXRlX25wcm9jZXNzZXMoKTsKKworCWlmIChsb2dsZXYgPj0gMykgeworCQlmb3IgKGkgPSAwOyBpIDwgbnByb2Nlc3NlcyAqIG50aHJlYWRzICogbm9iamVjdHM7IGkrKykKKwkJCW9iamVjdF9kdW1wKGksICZvYmplY3RzW2ldKTsKKwl9CisKKwlxc29ydChvYmplY3RzLCBucHJvY2Vzc2VzICogbnRocmVhZHMgKiBub2JqZWN0cywgc2l6ZW9mKG9iamVjdF90KSwKKwkgICAgICBvYmplY3RfdXVpZF9jb21wYXJlKTsKKworCWZvciAoaSA9IDA7IGkgPCBucHJvY2Vzc2VzICogbnRocmVhZHMgKiBub2JqZWN0cyAtIDE7IGkrKykgeworCQlvYmplY3RfdCAqb2JqMSA9ICZvYmplY3RzW2ldLAorCQkJICpvYmoyID0gJm9iamVjdHNbaSArIDFdOworCisJCWlmICghb2JqMS0+dGlkKSB7CisJCQlMT0coMywgKHN0ZGVyciwgImlnbm9yZSB1bnVzZWQgb2JqZWN0ICMlenVcbiIsIGkpKTsKKwkJCW5pZ25vcmVkKys7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChvYmplY3RfdXVpZF9jb21wYXJlKG9iajEsIG9iajIpID09IDApIHsKKwkJCWlmIChsb2dsZXYgPj0gMSkKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIm5vYmplY3RzICMlenUgYW5kICMlenUgaGF2ZSBkdXBsaWNhdGUgVVVJRHNcbiIsCisJCQkJCWksIGkgKyAxKTsKKwkJCQkJb2JqZWN0X2R1bXAoaSwgb2JqMSksCisJCQkJCW9iamVjdF9kdW1wKGkgKyAxLCBvYmoyKTsKKwkJCW5mYWlsZWQrKzsKKwkJfQorCX0KKworCXJlbW92ZV9zZWdtZW50KHNobWVtX2lkLCBvYmplY3RzKTsKKwlpZiAobmlnbm9yZWQpCisJCXByaW50ZigiJXp1IG9iamVjdHMgaWdub3JlZFxuIiwgbmlnbm9yZWQpOworCWlmICghbmZhaWxlZCkKKwkJcHJpbnRmKCJ0ZXN0IHN1Y2Nlc3NmdWwgKG5vIGR1cGxpY2F0ZSBVVUlEcyBmb3VuZClcbiIpOworCWVsc2UKKwkJcHJpbnRmKCJ0ZXN0IGZhaWxlZCAoZm91bmQgJXp1IGR1cGxpY2F0ZSBVVUlEcylcbiIsIG5mYWlsZWQpOworCisJcmV0dXJuIG5mYWlsZWQgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3V1aWRkLjguaW4gYi9taXNjLXV0aWxzL3V1aWRkLjguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGE1Y2Y0NwotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvdXVpZGQuOC5pbgpAQCAtMCwwICsxLDk0IEBACisuXCIgLSotIG5yb2ZmIC0qLQorLlwiIENvcHlyaWdodCAyMDA3IGJ5IFRoZW9kb3JlIFRzJ28uICBBbGwgUmlnaHRzIFJlc2VydmVkLgorLlwiIFRoaXMgZmlsZSBtYXkgYmUgY29waWVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLgorLlwiCisuVEggVVVJREQgOCAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCit1dWlkZCBcLSBVVUlEIGdlbmVyYXRpb24gZGFlbW9uCisuU0ggU1lOT1BTSVMKKy5CIHV1aWRkCitbb3B0aW9uc10KKy5TSCBERVNDUklQVElPTgorVGhlCisuQiB1dWlkZAorZGFlbW9uIGlzIHVzZWQgYnkgdGhlIFVVSUQgbGlicmFyeSB0byBnZW5lcmF0ZQordW5pdmVyc2FsbHkgdW5pcXVlIGlkZW50aWZpZXJzIChVVUlEcyksIGVzcGVjaWFsbHkgdGltZS1iYXNlZCBVVUlEcywKK2luIGEgc2VjdXJlIGFuZCBndWFyYW50ZWVkLXVuaXF1ZSBmYXNoaW9uLCBldmVuIGluIHRoZSBmYWNlIG9mIGxhcmdlCitudW1iZXJzIG9mIHRocmVhZHMgcnVubmluZyBvbiBkaWZmZXJlbnQgQ1BVcyB0cnlpbmcgdG8gZ3JhYiBVVUlEcy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWQgLCAiIFwtXC1kZWJ1ZyAiCitSdW4gdXVpZGQgaW4gZGVidWdnaW5nIG1vZGUuICBUaGlzIHByZXZlbnRzIHV1aWRkIGZyb20gcnVubmluZyBhcyBhIGRhZW1vbi4KKy5UUAorLkJSIFwtRiAsICIgXC1cLW5vLWZvcmsgIgorRG8gbm90IGRhZW1vbml6ZSB1c2luZyBhIGRvdWJsZS1mb3JrLgorLlRQCisuQlIgXC1rICwgIiBcLVwta2lsbCAiCitJZiBjdXJyZW50bHkgYSB1dWlkZCBkYWVtb24gaXMgcnVubmluZywga2lsbCBpdC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLXV1aWRzICIgXGZJbnVtYmVyXGZSCitXaGVuIGlzc3VpbmcgYSB0ZXN0IHJlcXVlc3QgdG8gYSBydW5uaW5nIHV1aWRkLCByZXF1ZXN0IGEgYnVsayByZXNwb25zZQorb2YKKy5JIG51bWJlcgorVVVJRHMuCisuVFAKKy5CUiBcLVAgLCAiIFwtXC1uby1waWQgIgorRG8gbm90IGNyZWF0ZSBhIHBpZCBmaWxlLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcGlkICIgXGZJcGF0aFxmUgorU3BlY2lmeSB0aGUgcGF0aG5hbWUgd2hlcmUgdGhlIHBpZCBmaWxlIHNob3VsZCBiZSB3cml0dGVuLiAgQnkgZGVmYXVsdCwKK3RoZSBwaWQgZmlsZSBpcyB3cml0dGVuIHRvIEBydW5zdGF0ZWRpckAvdXVpZGQvdXVpZGQucGlkLgorLlRQCisuQlIgXC1xICwgIiBcLVwtcXVpZXQgIgorU3VwcHJlc3Mgc29tZSBmYWlsdXJlIG1lc3NhZ2VzLgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmFuZG9tICIKK1Rlc3QgdXVpZGQgYnkgdHJ5aW5nIHRvIGNvbm5lY3QgdG8gYSBydW5uaW5nIHV1aWRkIGRhZW1vbiBhbmQKK3JlcXVlc3QgaXQgdG8gcmV0dXJuIGEgcmFuZG9tLWJhc2VkIFVVSUQuCisuVFAKKy5CUiBcLVMgLCAiIFwtXC1zb2NrZXQtYWN0aXZhdGlvbiAiCitEbyBub3QgY3JlYXRlIGEgc29ja2V0IGJ1dCBpbnN0ZWFkIGV4cGVjdCBpdCB0byBiZSBwcm92aWRlZCBieSB0aGUgY2FsbGluZworcHJvY2Vzcy4gIFRoaXMgaW1wbGllcyBcZkItLW5vLWZvcmtcZlIgYW5kIFxmQi0tbm8tcGlkXGZSLiAgVGhpcyBvcHRpb24gaXMKK2ludGVuZGVkIHRvIGJlIHVzZWQgb25seSB3aXRoIFxmQnN5c3RlbWRcZlIoMSkuICBJdCBuZWVkcyB0byBiZSBlbmFibGVkIHdpdGgKK2EgY29uZmlndXJlIG9wdGlvbi4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNvY2tldCAiIFxmSXBhdGhcZlIKK01ha2UgdXVpZGQgdXNlIHRoaXMgcGF0aG5hbWUgZm9yIHRoZSB1bml4LWRvbWFpbiBzb2NrZXQuICBCeSBkZWZhdWx0LCB0aGUKK3BhdGhuYW1lIHVzZWQgaXMgQHJ1bnN0YXRlZGlyQC91dWlkZC9yZXF1ZXN0LiAgVGhpcyBvcHRpb24gaXMgcHJpbWFyaWx5Citmb3IgZGVidWdnaW5nIHB1cnBvc2VzLCBzaW5jZSB0aGUgcGF0aG5hbWUgaXMgaGFyZC1jb2RlZCBpbiB0aGUgbGlidXVpZAorbGlicmFyeS4KKy5UUAorLkJSIFwtVCAsICIgXC1cLXRpbWVvdXQgIiBcZkludW1iZXJcZlIKK01ha2UgdXVpZGQgZXhpdCBhZnRlciBcZkludW1iZXJcZlIgc2Vjb25kcyBvZiBpbmFjdGl2aXR5LgorLlRQCisuQlIgXC10ICwgIiBcLVwtdGltZSAiCitUZXN0IHV1aWRkIGJ5IHRyeWluZyB0byBjb25uZWN0IHRvIGEgcnVubmluZyB1dWlkZCBkYWVtb24gYW5kCityZXF1ZXN0IGl0IHRvIHJldHVybiBhIHRpbWUtYmFzZWQgVVVJRC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24gIgorT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwICIKK0Rpc3BsYXkgaGVscCBzY3JlZW4gYW5kIGV4aXQuCisuU0ggRVhBTVBMRQorU3RhcnQgdXAgYSBkYWVtb24sIHByaW50IDQyIHJhbmRvbSBrZXlzLCBhbmQgdGhlbiBzdG9wIHRoZSBkYWVtb246CisuUFAKKy5SUworLm5mCit1dWlkZCAtcCAvdG1wL3V1aWRkLnBpZCAtcyAvdG1wL3V1aWRkLnNvY2tldAordXVpZGQgLWQgLXIgLW4gNDIgLXMgL3RtcC91dWlkZC5zb2NrZXQKK3V1aWRkIC1kIC1rIC1zIC90bXAvdXVpZGQuc29ja2V0CisubmYKKy5SRQorLlNIIEFVVEhPUgorVGhlCisuQiB1dWlkZAorZGFlbW9uIHdhcyB3cml0dGVuIGJ5IFRoZW9kb3JlIFRzJ28gPHR5dHNvQG1pdC5lZHU+LgorLlNIICJTRUUgQUxTTyIKKy5CUiB1dWlkICgzKSwKKy5CUiB1dWlkZ2VuICgxKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHV1aWRkIGRhZW1vbiBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tIHRoZQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3V1aWRkLmMgYi9taXNjLXV0aWxzL3V1aWRkLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI4M2Q5MQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvdXVpZGQuYwpAQCAtMCwwICsxLDcxMiBAQAorLyoKKyAqIHV1aWRkLmMgLS0tIFVVSUQtZ2VuZXJhdGlvbiBkYWVtb24KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgIFRoZW9kb3JlIFRzJ28KKyAqCisgKiAlQmVnaW4tSGVhZGVyJQorICogVGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYworICogTGljZW5zZS4KKyAqICVFbmQtSGVhZGVyJQorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvc29ja2V0Lmg+CisjaW5jbHVkZSA8c3lzL3VuLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzeXMvc2lnbmFsZmQuaD4KKyNpbmNsdWRlIDxwb2xsLmg+CisKKyNpbmNsdWRlICJ1dWlkLmgiCisjaW5jbHVkZSAidXVpZGQuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAibW9ub3RvbmljLmgiCisjaW5jbHVkZSAidGltZXIuaCIKKworI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorIyBpbmNsdWRlIDxzeXN0ZW1kL3NkLWRhZW1vbi5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJubHMuaCIKKworLyogbGVuZ3RoIG9mIGJpbmFyeSByZXByZXNlbnRhdGlvbiBvZiBVVUlEICovCisjZGVmaW5lIFVVSURfTEVOCShzaXplb2YodXVpZF90KSkKKworLyogc2VydmVyIGxvb3AgY29udHJvbCBzdHJ1Y3R1cmUgKi8KK3N0cnVjdCB1dWlkZF9jeHRfdCB7CisJY29uc3QgY2hhcgkqY2xlYW51cF9waWRmaWxlOworCWNvbnN0IGNoYXIJKmNsZWFudXBfc29ja2V0OworCXVpbnQzMl90CXRpbWVvdXQ7CisJdW5zaWduZWQgaW50CWRlYnVnOiAxLAorCQkJcXVpZXQ6IDEsCisJCQlub19mb3JrOiAxLAorCQkJbm9fc29jazogMTsKK307CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNSkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgidXVpZGQoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBjcmVhdGVfZGFlbW9uKHZvaWQpCit7CisJdWlkX3QgZXVpZDsKKworCWlmIChkYWVtb24oMCwgMCkpCisJCWVycihFWElUX0ZBSUxVUkUsICJkYWVtb24iKTsKKworCWV1aWQgPSBnZXRldWlkKCk7CisJaWYgKHNldHJldWlkKGV1aWQsIGV1aWQpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgInNldHJldWlkIik7Cit9CisKK3N0YXRpYyBpbnQgY2FsbF9kYWVtb24oY29uc3QgY2hhciAqc29ja2V0X3BhdGgsIGludCBvcCwgY2hhciAqYnVmLAorCQkgICAgICAgc2l6ZV90IGJ1ZmxlbiwgaW50ICpudW0sIGNvbnN0IGNoYXIgKiplcnJfY29udGV4dCkKK3sKKwljaGFyIG9wX2J1Zls4XTsKKwlpbnQgb3BfbGVuOworCWludCBzOworCXNzaXplX3QgcmV0OworCWludDMyX3QgcmVwbHlfbGVuID0gMDsKKwlzdHJ1Y3Qgc29ja2FkZHJfdW4gc3J2X2FkZHI7CisKKwlpZiAoKChvcCA9PSBVVUlERF9PUF9CVUxLX1RJTUVfVVVJRCkgfHwKKwkgICAgIChvcCA9PSBVVUlERF9PUF9CVUxLX1JBTkRPTV9VVUlEKSkgJiYgIW51bSkgeworCQlpZiAoZXJyX2NvbnRleHQpCisJCQkqZXJyX2NvbnRleHQgPSBfKCJiYWQgYXJndW1lbnRzIik7CisJCWVycm5vID0gRUlOVkFMOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKChzID0gc29ja2V0KEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKSkgPCAwKSB7CisJCWlmIChlcnJfY29udGV4dCkKKwkJCSplcnJfY29udGV4dCA9IF8oInNvY2tldCIpOworCQlyZXR1cm4gLTE7CisJfQorCisJc3J2X2FkZHIuc3VuX2ZhbWlseSA9IEFGX1VOSVg7CisJYXNzZXJ0KHN0cmxlbihzb2NrZXRfcGF0aCkgPCBzaXplb2Yoc3J2X2FkZHIuc3VuX3BhdGgpKTsKKwl4c3RybmNweShzcnZfYWRkci5zdW5fcGF0aCwgc29ja2V0X3BhdGgsIHNpemVvZihzcnZfYWRkci5zdW5fcGF0aCkpOworCisJaWYgKGNvbm5lY3QocywgKGNvbnN0IHN0cnVjdCBzb2NrYWRkciAqKSAmc3J2X2FkZHIsCisJCSAgICBzaXplb2Yoc3RydWN0IHNvY2thZGRyX3VuKSkgPCAwKSB7CisJCWlmIChlcnJfY29udGV4dCkKKwkJCSplcnJfY29udGV4dCA9IF8oImNvbm5lY3QiKTsKKwkJY2xvc2Uocyk7CisJCXJldHVybiAtMTsKKwl9CisKKwlpZiAob3AgPT0gVVVJRERfT1BfQlVMS19SQU5ET01fVVVJRCkgeworCQlpZiAoKCpudW0pICogVVVJRF9MRU4gPiBidWZsZW4gLSA0KQorCQkJKm51bSA9IChidWZsZW4gLSA0KSAvIFVVSURfTEVOOworCX0KKwlvcF9idWZbMF0gPSBvcDsKKwlvcF9sZW4gPSAxOworCWlmICgob3AgPT0gVVVJRERfT1BfQlVMS19USU1FX1VVSUQpIHx8CisJICAgIChvcCA9PSBVVUlERF9PUF9CVUxLX1JBTkRPTV9VVUlEKSkgeworCQltZW1jcHkob3BfYnVmICsgMSwgbnVtLCBzaXplb2YoaW50KSk7CisJCW9wX2xlbiArPSBzaXplb2YoaW50KTsKKwl9CisKKwlyZXQgPSB3cml0ZV9hbGwocywgb3BfYnVmLCBvcF9sZW4pOworCWlmIChyZXQgPCAwKSB7CisJCWlmIChlcnJfY29udGV4dCkKKwkJCSplcnJfY29udGV4dCA9IF8oIndyaXRlIik7CisJCWNsb3NlKHMpOworCQlyZXR1cm4gLTE7CisJfQorCisJcmV0ID0gcmVhZF9hbGwocywgKGNoYXIgKikgJnJlcGx5X2xlbiwgc2l6ZW9mKHJlcGx5X2xlbikpOworCWlmIChyZXQgPCAwKSB7CisJCWlmIChlcnJfY29udGV4dCkKKwkJCSplcnJfY29udGV4dCA9IF8oInJlYWQgY291bnQiKTsKKwkJY2xvc2Uocyk7CisJCXJldHVybiAtMTsKKwl9CisJaWYgKHJlcGx5X2xlbiA8IDAgfHwgKHNpemVfdCkgcmVwbHlfbGVuID4gYnVmbGVuKSB7CisJCWlmIChlcnJfY29udGV4dCkKKwkJCSplcnJfY29udGV4dCA9IF8oImJhZCByZXNwb25zZSBsZW5ndGgiKTsKKwkJY2xvc2Uocyk7CisJCXJldHVybiAtMTsKKwl9CisJcmV0ID0gcmVhZF9hbGwocywgKGNoYXIgKikgYnVmLCByZXBseV9sZW4pOworCisJaWYgKChyZXQgPiAwKSAmJiAob3AgPT0gVVVJRERfT1BfQlVMS19USU1FX1VVSUQpKSB7CisJCWlmIChyZXBseV9sZW4gPj0gKGludCkgKFVVSURfTEVOICsgc2l6ZW9mKGludCkpKQorCQkJbWVtY3B5KGJ1ZiArIFVVSURfTEVOLCBudW0sIHNpemVvZihpbnQpKTsKKwkJZWxzZQorCQkJKm51bSA9IC0xOworCX0KKwlpZiAoKHJldCA+IDApICYmIChvcCA9PSBVVUlERF9PUF9CVUxLX1JBTkRPTV9VVUlEKSkgeworCQlpZiAocmVwbHlfbGVuID49IChpbnQpIHNpemVvZihpbnQpKQorCQkJbWVtY3B5KGJ1ZiwgbnVtLCBzaXplb2YoaW50KSk7CisJCWVsc2UKKwkJCSpudW0gPSAtMTsKKwl9CisKKwljbG9zZShzKTsKKworCXJldHVybiByZXQ7Cit9CisKKy8qCisgKiBFeGNsdXNpdmVseSBjcmVhdGUgYW5kIG9wZW4gYSBwaWQgZmlsZSB3aXRoIHBhdGggQHBpZGZpbGVfcGF0aAorICoKKyAqIFJldHVybiBmaWxlIGRlc2NyaXB0b3Igb2YgdGhlIGNyZWF0ZWQgcGlkX2ZpbGUuCisgKi8KK3N0YXRpYyBpbnQgY3JlYXRlX3BpZGZpbGUoc3RydWN0IHV1aWRkX2N4dF90ICpjeHQsIGNvbnN0IGNoYXIgKnBpZGZpbGVfcGF0aCkKK3sKKwlpbnQJCWZkX3BpZGZpbGU7CisJc3RydWN0IGZsb2NrCWZsOworCisJZmRfcGlkZmlsZSA9IG9wZW4ocGlkZmlsZV9wYXRoLCBPX0NSRUFUIHwgT19SRFdSLCAwNjY0KTsKKwlpZiAoZmRfcGlkZmlsZSA8IDApIHsKKwkJaWYgKCFjeHQtPnF1aWV0KQorCQkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBwaWRmaWxlX3BhdGgpOworCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJfQorCWN4dC0+Y2xlYW51cF9waWRmaWxlID0gcGlkZmlsZV9wYXRoOworCisJZmwubF90eXBlID0gRl9XUkxDSzsKKwlmbC5sX3doZW5jZSA9IFNFRUtfU0VUOworCWZsLmxfc3RhcnQgPSAwOworCWZsLmxfbGVuID0gMDsKKwlmbC5sX3BpZCA9IDA7CisJd2hpbGUgKGZjbnRsKGZkX3BpZGZpbGUsIEZfU0VUTEtXLCAmZmwpIDwgMCkgeworCQlpZiAoKGVycm5vID09IEVBR0FJTikgfHwgKGVycm5vID09IEVJTlRSKSkKKwkJCWNvbnRpbnVlOworCQlpZiAoIWN4dC0+cXVpZXQpCisJCQl3YXJuKF8oImNhbm5vdCBsb2NrICVzIiksIHBpZGZpbGVfcGF0aCk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlyZXR1cm4gZmRfcGlkZmlsZTsKK30KKworLyoKKyAqIENyZWF0ZSBBRl9VTklYLCBTT0NLX1NUUkVBTSBzb2NrZXQgYW5kIGJpbmQgdG8gQHNvY2tldF9wYXRoCisgKgorICogSWYgQHdpbGxfZm9yayBpcyB0cnVlLCB0aGVuIG1ha2Ugc3VyZSB0aGUgZGVzY3JpcHRvcgorICogb2YgdGhlIHNvY2tldCBpcyA+Miwgc28gdGhhdCBpdCB3b24ndCBiZSBsYXRlciBjbG9zZWQKKyAqIGR1cmluZyBjcmVhdGVfZGFlbW9uKCkuCisgKgorICogUmV0dXJuIGZpbGUgZGVzY3JpcHRvciBjb3JyZXNwb25kaW5nIHRvIGNyZWF0ZWQgc29ja2V0LgorICovCitzdGF0aWMgaW50IGNyZWF0ZV9zb2NrZXQoc3RydWN0IHV1aWRkX2N4dF90ICp1dWlkZF9jeHQsCisJCQkgY29uc3QgY2hhciAqc29ja2V0X3BhdGgsIGludCB3aWxsX2ZvcmspCit7CisJc3RydWN0IHNvY2thZGRyX3VuCW15X2FkZHI7CisJbW9kZV90CQkJc2F2ZV91bWFzazsKKwlpbnQJCQlzOworCisJaWYgKChzID0gc29ja2V0KEFGX1VOSVgsIFNPQ0tfU1RSRUFNLCAwKSkgPCAwKSB7CisJCWlmICghdXVpZGRfY3h0LT5xdWlldCkKKwkJCXdhcm4oXygiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIpKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCS8qCisJICogTWFrZSBzdXJlIHRoZSBzb2NrZXQgaXNuJ3QgdXNpbmcgZmQgbnVtYmVycyAwLTIgdG8gYXZvaWQgaXQKKwkgKiBnZXR0aW5nIGNsb3NlZCBieSBjcmVhdGVfZGFlbW9uKCkKKwkgKi8KKwl3aGlsZSAod2lsbF9mb3JrICYmIHMgPD0gMikgeworCQlzID0gZHVwKHMpOworCQlpZiAocyA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCAiZHVwIik7CisJfQorCisJLyoKKwkgKiBDcmVhdGUgdGhlIGFkZHJlc3Mgd2Ugd2lsbCBiZSBiaW5kaW5nIHRvLgorCSAqLworCW15X2FkZHIuc3VuX2ZhbWlseSA9IEFGX1VOSVg7CisJYXNzZXJ0KHN0cmxlbihzb2NrZXRfcGF0aCkgPCBzaXplb2YobXlfYWRkci5zdW5fcGF0aCkpOworCXhzdHJuY3B5KG15X2FkZHIuc3VuX3BhdGgsIHNvY2tldF9wYXRoLCBzaXplb2YobXlfYWRkci5zdW5fcGF0aCkpOworCXVubGluayhzb2NrZXRfcGF0aCk7CisJc2F2ZV91bWFzayA9IHVtYXNrKDApOworCWlmIChiaW5kKHMsIChjb25zdCBzdHJ1Y3Qgc29ja2FkZHIgKikgJm15X2FkZHIsCisJCSBzaXplb2Yoc3RydWN0IHNvY2thZGRyX3VuKSkgPCAwKSB7CisJCWlmICghdXVpZGRfY3h0LT5xdWlldCkKKwkJCXdhcm4oXygiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIpLCBzb2NrZXRfcGF0aCk7CisJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwl9CisJdW1hc2soc2F2ZV91bWFzayk7CisJdXVpZGRfY3h0LT5jbGVhbnVwX3NvY2tldCA9IHNvY2tldF9wYXRoOworCisJcmV0dXJuIHM7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGFsbF9kb25lKGNvbnN0IHN0cnVjdCB1dWlkZF9jeHRfdCAqdXVpZGRfY3h0LCBpbnQgcmV0KQoreworCWlmICh1dWlkZF9jeHQtPmNsZWFudXBfcGlkZmlsZSkKKwkJdW5saW5rKHV1aWRkX2N4dC0+Y2xlYW51cF9waWRmaWxlKTsKKwlpZiAodXVpZGRfY3h0LT5jbGVhbnVwX3NvY2tldCkKKwkJdW5saW5rKHV1aWRkX2N4dC0+Y2xlYW51cF9zb2NrZXQpOworCWV4aXQocmV0KTsKK30KKworc3RhdGljIHZvaWQgaGFuZGxlX3NpZ25hbChjb25zdCBzdHJ1Y3QgdXVpZGRfY3h0X3QgKnV1aWRkX2N4dCwgaW50IGZkKQoreworCXN0cnVjdCBzaWduYWxmZF9zaWdpbmZvIGluZm87CisJc3NpemVfdCBieXRlczsKKworCWJ5dGVzID0gcmVhZChmZCwgJmluZm8sIHNpemVvZihpbmZvKSk7CisJaWYgKGJ5dGVzICE9IHNpemVvZihpbmZvKSkgeworCQlpZiAoZXJybm8gPT0gRUFHQUlOKQorCQkJcmV0dXJuOworCQl3YXJuKF8oInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIikpOworCQlpbmZvLnNzaV9zaWdubyA9IDA7CisJfQorCWlmIChpbmZvLnNzaV9zaWdubyA9PSBTSUdQSVBFKQorCQlyZXR1cm47CQkvKiBpZ25vcmVkICovCisJYWxsX2RvbmUodXVpZGRfY3h0LCBFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCB0aW1lb3V0X2hhbmRsZXIoaW50IHNpZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkgICAgc2lnaW5mb190ICogaW5mbywKKwkJCSAgICB2b2lkICpjb250ZXh0IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpZiAoaW5mby0+c2lfY29kZSA9PSBTSV9USU1FUikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRpbWVkIG91dCIpKTsKK30KKworc3RhdGljIHZvaWQgc2VydmVyX2xvb3AoY29uc3QgY2hhciAqc29ja2V0X3BhdGgsIGNvbnN0IGNoYXIgKnBpZGZpbGVfcGF0aCwKKwkJCXN0cnVjdCB1dWlkZF9jeHRfdCAqdXVpZGRfY3h0KQoreworCXN0cnVjdCBzb2NrYWRkcl91bglmcm9tX2FkZHI7CisJc29ja2xlbl90CQlmcm9tbGVuOworCWludDMyX3QJCQlyZXBseV9sZW4gPSAwOworCXV1aWRfdAkJCXV1OworCWNoYXIJCQlyZXBseV9idWZbMTAyNF0sICpjcDsKKwljaGFyCQkJb3AsIHN0cltVVUlEX1NUUl9MRU5dOworCWludAkJCWksIG5zLCBsZW4sIG51bTsKKwlpbnQJCQlzID0gMDsKKwlpbnQJCQlmZF9waWRmaWxlID0gLTE7CisJaW50CQkJcmV0OworCXN0cnVjdCBwb2xsZmQJCXBmZFsyXTsKKwlzaWdzZXRfdAkJc2lnbWFzazsKKwlpbnQJCQlzaWdmZDsKKwllbnVtIHsKKwkJCQlQT0xMRkRfU0lHTkFMID0gMCwKKwkJCQlQT0xMRkRfU09DS0VUCisJfTsKKworI2lmZGVmIEhBVkVfTElCU1lTVEVNRAorCWlmICghdXVpZGRfY3h0LT5ub19zb2NrKQkvKiBub19zb2NrIGltcGxpZXMgbm9fZm9yayBhbmQgbm9fcGlkICovCisjZW5kaWYKKwl7CisJCXN0YXRpYyB0aW1lcl90IHRfaWQ7CisJCXN0cnVjdCBpdGltZXJ2YWwgdGltZW91dDsKKworCQltZW1zZXQoJnRpbWVvdXQsIDAsIHNpemVvZiB0aW1lb3V0KTsKKwkJdGltZW91dC5pdF92YWx1ZS50dl9zZWMgPSAzMDsKKwkJaWYgKHNldHVwX3RpbWVyKCZ0X2lkLCAmdGltZW91dCwgJnRpbWVvdXRfaGFuZGxlcikpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc2V0IHVwIHRpbWVyIikpOworCQlpZiAocGlkZmlsZV9wYXRoKQorCQkJZmRfcGlkZmlsZSA9IGNyZWF0ZV9waWRmaWxlKHV1aWRkX2N4dCwgcGlkZmlsZV9wYXRoKTsKKwkJcmV0ID0gY2FsbF9kYWVtb24oc29ja2V0X3BhdGgsIFVVSUREX09QX0dFVFBJRCwgcmVwbHlfYnVmLAorCQkJCSAgc2l6ZW9mKHJlcGx5X2J1ZiksIDAsIE5VTEwpOworCQljYW5jZWxfdGltZXIoJnRfaWQpOworCQlpZiAocmV0ID4gMCkgeworCQkJaWYgKCF1dWlkZF9jeHQtPnF1aWV0KQorCQkJCXdhcm54KF8oInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIiksCisJCQkJCXJlcGx5X2J1Zik7CisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCX0KKworCQlzID0gY3JlYXRlX3NvY2tldCh1dWlkZF9jeHQsIHNvY2tldF9wYXRoLAorCQkJCSAgKCF1dWlkZF9jeHQtPmRlYnVnIHx8ICF1dWlkZF9jeHQtPm5vX2ZvcmspKTsKKwkJaWYgKGxpc3RlbihzLCBTT01BWENPTk4pIDwgMCkgeworCQkJaWYgKCF1dWlkZF9jeHQtPnF1aWV0KQorCQkJCXdhcm4oXygiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIiksIHNvY2tldF9wYXRoKTsKKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJCWlmICghdXVpZGRfY3h0LT5kZWJ1ZyAmJiAhdXVpZGRfY3h0LT5ub19mb3JrKQorCQkJY3JlYXRlX2RhZW1vbigpOworCisJCWlmIChwaWRmaWxlX3BhdGgpIHsKKwkJCXNwcmludGYocmVwbHlfYnVmLCAiJThkXG4iLCBnZXRwaWQoKSk7CisJCQlpZiAoZnRydW5jYXRlKGZkX3BpZGZpbGUsIDApKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIpLCBwaWRmaWxlX3BhdGgpOworCQkJd3JpdGVfYWxsKGZkX3BpZGZpbGUsIHJlcGx5X2J1Ziwgc3RybGVuKHJlcGx5X2J1ZikpOworCQkJaWYgKGZkX3BpZGZpbGUgPiAxICYmIGNsb3NlX2ZkKGZkX3BpZGZpbGUpICE9IDApCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygid3JpdGUgZmFpbGVkOiAlcyIpLCBwaWRmaWxlX3BhdGgpOworCQl9CisKKwl9CisKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKwlpZiAodXVpZGRfY3h0LT5ub19zb2NrKSB7CisJCWNvbnN0IGludCByID0gc2RfbGlzdGVuX2ZkcygwKTsKKworCQlpZiAociA8IDApIHsKKwkJCWVycm5vID0gciAqIC0xOworCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIpKTsKKwkJfSBlbHNlIGlmIChyID09IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiKSk7CisJCWVsc2UgaWYgKDEgPCByKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkgICAgIF8oInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIpKTsKKwkJcyA9IFNEX0xJU1RFTl9GRFNfU1RBUlQgKyAwOworCX0KKyNlbmRpZgorCisJc2lnZW1wdHlzZXQoJnNpZ21hc2spOworCXNpZ2FkZHNldCgmc2lnbWFzaywgU0lHSFVQKTsKKwlzaWdhZGRzZXQoJnNpZ21hc2ssIFNJR0lOVCk7CisJc2lnYWRkc2V0KCZzaWdtYXNrLCBTSUdURVJNKTsKKwlzaWdhZGRzZXQoJnNpZ21hc2ssIFNJR0FMUk0pOworCXNpZ2FkZHNldCgmc2lnbWFzaywgU0lHUElQRSk7CisJLyogQmxvY2sgc2lnbmFscyBzbyB0aGF0IHRoZXkgYXJlbid0IGhhbmRsZWQgYWNjb3JkaW5nIHRvIHRoZWlyCisJICogZGVmYXVsdCBkaXNwb3NpdGlvbnMgKi8KKwlzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZzaWdtYXNrLCBOVUxMKTsKKwlpZiAoKHNpZ2ZkID0gc2lnbmFsZmQoLTEsICZzaWdtYXNrLCAwKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIikpOworCisJcGZkW1BPTExGRF9TSUdOQUxdLmZkID0gc2lnZmQ7CisJcGZkW1BPTExGRF9TT0NLRVRdLmZkID0gczsKKwlwZmRbUE9MTEZEX1NJR05BTF0uZXZlbnRzID0gcGZkW1BPTExGRF9TT0NLRVRdLmV2ZW50cyA9IFBPTExJTiB8IFBPTExFUlIgfCBQT0xMSFVQOworCisJd2hpbGUgKDEpIHsKKwkJcmV0ID0gcG9sbChwZmQsIEFSUkFZX1NJWkUocGZkKSwKKwkJCQl1dWlkZF9jeHQtPnRpbWVvdXQgPworCQkJCQkoaW50KSB1dWlkZF9jeHQtPnRpbWVvdXQgKiAxMDAwIDogLTEpOworCQlpZiAocmV0IDwgMCkgeworCQkJaWYgKGVycm5vID09IEVBR0FJTikKKwkJCQljb250aW51ZTsKKwkJCXdhcm4oXygicG9sbCBmYWlsZWQiKSk7CisJCQkJYWxsX2RvbmUodXVpZGRfY3h0LCBFWElUX0ZBSUxVUkUpOworCQl9CisJCWlmIChyZXQgPT0gMCkgewkJLyogdHJ1ZSB3aGVuIHBvbGwoKSB0aW1lcyBvdXQgKi8KKwkJCWlmICh1dWlkZF9jeHQtPmRlYnVnKQorCQkJCWZwcmludGYoc3RkZXJyLCBfKCJ0aW1lb3V0IFslZCBzZWNdXG4iKSwgdXVpZGRfY3h0LT50aW1lb3V0KSwKKwkJCWFsbF9kb25lKHV1aWRkX2N4dCwgRVhJVF9TVUNDRVNTKTsKKwkJfQorCQlpZiAocGZkW1BPTExGRF9TSUdOQUxdLnJldmVudHMgIT0gMCkKKwkJCWhhbmRsZV9zaWduYWwodXVpZGRfY3h0LCBzaWdmZCk7CisJCWlmIChwZmRbUE9MTEZEX1NPQ0tFVF0ucmV2ZW50cyA9PSAwKQorCQkJY29udGludWU7CisJCWZyb21sZW4gPSBzaXplb2YoZnJvbV9hZGRyKTsKKwkJbnMgPSBhY2NlcHQocywgKHN0cnVjdCBzb2NrYWRkciAqKSAmZnJvbV9hZGRyLCAmZnJvbWxlbik7CisJCWlmIChucyA8IDApIHsKKwkJCWlmICgoZXJybm8gPT0gRUFHQUlOKSB8fCAoZXJybm8gPT0gRUlOVFIpKQorCQkJCWNvbnRpbnVlOworCQkJZWxzZQorCQkJCWVycihFWElUX0ZBSUxVUkUsICJhY2NlcHQiKTsKKwkJfQorCQlsZW4gPSByZWFkKG5zLCAmb3AsIDEpOworCQlpZiAobGVuICE9IDEpIHsKKwkJCWlmIChsZW4gPCAwKQorCQkJCXdhcm4oXygicmVhZCBmYWlsZWQiKSk7CisJCQllbHNlCisJCQkJd2FybngoXygiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiKSwKKwkJCQkJCWxlbik7CisJCQlnb3RvIHNodXRkb3duX3NvY2tldDsKKwkJfQorCQlpZiAoKG9wID09IFVVSUREX09QX0JVTEtfVElNRV9VVUlEKSB8fAorCQkgICAgKG9wID09IFVVSUREX09QX0JVTEtfUkFORE9NX1VVSUQpKSB7CisJCQlpZiAocmVhZF9hbGwobnMsIChjaGFyICopICZudW0sIHNpemVvZihudW0pKSAhPSA0KQorCQkJCWdvdG8gc2h1dGRvd25fc29ja2V0OworCQkJaWYgKHV1aWRkX2N4dC0+ZGVidWcpCisJCQkJZnByaW50ZihzdGRlcnIsIF8oIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIpLAorCQkJCSAgICAgICBvcCwgbnVtKTsKKwkJfSBlbHNlIGlmICh1dWlkZF9jeHQtPmRlYnVnKQorCQkJZnByaW50ZihzdGRlcnIsIF8oIm9wZXJhdGlvbiAlZFxuIiksIG9wKTsKKworCQlzd2l0Y2ggKG9wKSB7CisJCWNhc2UgVVVJRERfT1BfR0VUUElEOgorCQkJc3ByaW50ZihyZXBseV9idWYsICIlZCIsIGdldHBpZCgpKTsKKwkJCXJlcGx5X2xlbiA9IHN0cmxlbihyZXBseV9idWYpICsgMTsKKwkJCWJyZWFrOworCQljYXNlIFVVSUREX09QX0dFVF9NQVhPUDoKKwkJCXNwcmludGYocmVwbHlfYnVmLCAiJWQiLCBVVUlERF9NQVhfT1ApOworCQkJcmVwbHlfbGVuID0gc3RybGVuKHJlcGx5X2J1ZikgKyAxOworCQkJYnJlYWs7CisJCWNhc2UgVVVJRERfT1BfVElNRV9VVUlEOgorCQkJbnVtID0gMTsKKwkJCV9fdXVpZF9nZW5lcmF0ZV90aW1lKHV1LCAmbnVtKTsKKwkJCWlmICh1dWlkZF9jeHQtPmRlYnVnKSB7CisJCQkJdXVpZF91bnBhcnNlKHV1LCBzdHIpOworCQkJCWZwcmludGYoc3RkZXJyLCBfKCJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIiksIHN0cik7CisJCQl9CisJCQltZW1jcHkocmVwbHlfYnVmLCB1dSwgc2l6ZW9mKHV1KSk7CisJCQlyZXBseV9sZW4gPSBzaXplb2YodXUpOworCQkJYnJlYWs7CisJCWNhc2UgVVVJRERfT1BfUkFORE9NX1VVSUQ6CisJCQludW0gPSAxOworCQkJX191dWlkX2dlbmVyYXRlX3JhbmRvbSh1dSwgJm51bSk7CisJCQlpZiAodXVpZGRfY3h0LT5kZWJ1ZykgeworCQkJCXV1aWRfdW5wYXJzZSh1dSwgc3RyKTsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgXygiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIiksIHN0cik7CisJCQl9CisJCQltZW1jcHkocmVwbHlfYnVmLCB1dSwgc2l6ZW9mKHV1KSk7CisJCQlyZXBseV9sZW4gPSBzaXplb2YodXUpOworCQkJYnJlYWs7CisJCWNhc2UgVVVJRERfT1BfQlVMS19USU1FX1VVSUQ6CisJCQlfX3V1aWRfZ2VuZXJhdGVfdGltZSh1dSwgJm51bSk7CisJCQlpZiAodXVpZGRfY3h0LT5kZWJ1ZykgeworCQkJCXV1aWRfdW5wYXJzZSh1dSwgc3RyKTsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgUF8oIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgIgorCQkJCQkJICAgImFuZCAlZCBmb2xsb3dpbmdcbiIsCisJCQkJCQkgICAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyAiCisJCQkJCQkgICAiYW5kICVkIGZvbGxvd2luZ1xuIiwgbnVtIC0gMSksCisJCQkJICAgICAgIHN0ciwgbnVtIC0gMSk7CisJCQl9CisJCQltZW1jcHkocmVwbHlfYnVmLCB1dSwgc2l6ZW9mKHV1KSk7CisJCQlyZXBseV9sZW4gPSBzaXplb2YodXUpOworCQkJbWVtY3B5KHJlcGx5X2J1ZiArIHJlcGx5X2xlbiwgJm51bSwgc2l6ZW9mKG51bSkpOworCQkJcmVwbHlfbGVuICs9IHNpemVvZihudW0pOworCQkJYnJlYWs7CisJCWNhc2UgVVVJRERfT1BfQlVMS19SQU5ET01fVVVJRDoKKwkJCWlmIChudW0gPCAwKQorCQkJCW51bSA9IDE7CisJCQlpZiAobnVtID4gMTAwMCkKKwkJCQludW0gPSAxMDAwOworCQkJaWYgKG51bSAqIFVVSURfTEVOID4gKGludCkgKHNpemVvZihyZXBseV9idWYpIC0gc2l6ZW9mKG51bSkpKQorCQkJCW51bSA9IChzaXplb2YocmVwbHlfYnVmKSAtIHNpemVvZihudW0pKSAvIFVVSURfTEVOOworCQkJX191dWlkX2dlbmVyYXRlX3JhbmRvbSgodW5zaWduZWQgY2hhciAqKSByZXBseV9idWYgKworCQkJCQkgICAgICBzaXplb2YobnVtKSwgJm51bSk7CisJCQlpZiAodXVpZGRfY3h0LT5kZWJ1ZykgeworCQkJCWZwcmludGYoc3RkZXJyLCBQXygiR2VuZXJhdGVkICVkIFVVSUQ6XG4iLAorCQkJCQkJICAgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIsIG51bSksIG51bSk7CisJCQkJZm9yIChpID0gMCwgY3AgPSByZXBseV9idWYgKyBzaXplb2YobnVtKTsKKwkJCQkgICAgIGkgPCBudW07CisJCQkJICAgICBpKyssIGNwICs9IFVVSURfTEVOKSB7CisJCQkJCXV1aWRfdW5wYXJzZSgodW5zaWduZWQgY2hhciAqKWNwLCBzdHIpOworCQkJCQlmcHJpbnRmKHN0ZGVyciwgIlx0JXNcbiIsIHN0cik7CisJCQkJfQorCQkJfQorCQkJcmVwbHlfbGVuID0gKG51bSAqIFVVSURfTEVOKSArIHNpemVvZihudW0pOworCQkJbWVtY3B5KHJlcGx5X2J1ZiwgJm51bSwgc2l6ZW9mKG51bSkpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlpZiAodXVpZGRfY3h0LT5kZWJ1ZykKKwkJCQlmcHJpbnRmKHN0ZGVyciwgXygiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIpLCBvcCk7CisJCQlnb3RvIHNodXRkb3duX3NvY2tldDsKKwkJfQorCQl3cml0ZV9hbGwobnMsIChjaGFyICopICZyZXBseV9sZW4sIHNpemVvZihyZXBseV9sZW4pKTsKKwkJd3JpdGVfYWxsKG5zLCByZXBseV9idWYsIHJlcGx5X2xlbik7CisJc2h1dGRvd25fc29ja2V0OgorCQljbG9zZShucyk7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgdW5leHBlY3RlZF9zaXplKGludCBzaXplKQoreworCWVycngoRVhJVF9GQUlMVVJFLCBfKCJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIpLCBzaXplKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNvbnN0IGNoYXIJKnNvY2tldF9wYXRoID0gVVVJRERfU09DS0VUX1BBVEg7CisJY29uc3QgY2hhcgkqcGlkZmlsZV9wYXRoID0gTlVMTDsKKwljb25zdCBjaGFyCSplcnJfY29udGV4dCA9IE5VTEw7CisJY2hhcgkJYnVmWzEwMjRdLCAqY3A7CisJY2hhcgkJc3RyW1VVSURfU1RSX0xFTl07CisJdXVpZF90CQl1dTsKKwlpbnQJCWksIGMsIHJldDsKKwlpbnQJCWRvX3R5cGUgPSAwLCBkb19raWxsID0gMCwgbnVtID0gMDsKKwlpbnQJCW5vX3BpZCA9IDA7CisJaW50CQlzX2ZsYWcgPSAwOworCisJc3RydWN0IHV1aWRkX2N4dF90IHV1aWRkX2N4dCA9IHsgLnRpbWVvdXQgPSAwIH07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7InBpZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCd9LAorCQl7InNvY2tldCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7InRpbWVvdXQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1QnfSwKKwkJeyJraWxsIiwgbm9fYXJndW1lbnQsIE5VTEwsICdrJ30sCisJCXsicmFuZG9tIiwgbm9fYXJndW1lbnQsIE5VTEwsICdyJ30sCisJCXsidGltZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndCd9LAorCQl7InV1aWRzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsibm8tcGlkIiwgbm9fYXJndW1lbnQsIE5VTEwsICdQJ30sCisJCXsibm8tZm9yayIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnRid9LAorCQl7InNvY2tldC1hY3RpdmF0aW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdTJ30sCisJCXsiZGVidWciLCBub19hcmd1bWVudCwgTlVMTCwgJ2QnfSwKKwkJeyJxdWlldCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncSd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CisJCXsgJ1AnLCAncCcgfSwKKwkJeyAnZCcsICdxJyB9LAorCQl7ICdyJywgJ3QnIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0KKwkJZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgInA6czpUOmtydG46UEZTZHFWaCIsIGxvbmdvcHRzLAorCQkJICAgIE5VTEwpKSAhPSAtMSkgeworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnZCc6CisJCQl1dWlkZF9jeHQuZGVidWcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2snOgorCQkJZG9fa2lsbCsrOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJbnVtID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywKKwkJCQkJCV8oImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJcGlkZmlsZV9wYXRoID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJbm9fcGlkID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdGJzoKKwkJCXV1aWRkX2N4dC5ub19mb3JrID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKyNpZmRlZiBIQVZFX0xJQlNZU1RFTUQKKwkJCXV1aWRkX2N4dC5ub19zb2NrID0gMTsKKwkJCXV1aWRkX2N4dC5ub19mb3JrID0gMTsKKwkJCW5vX3BpZCA9IDE7CisjZWxzZQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgIgorCQkJCQkgICAgICJzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIpKTsKKyNlbmRpZgorCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJdXVpZGRfY3h0LnF1aWV0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWRvX3R5cGUgPSBVVUlERF9PUF9SQU5ET01fVVVJRDsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNvY2tldF9wYXRoID0gb3B0YXJnOworCQkJc19mbGFnID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCWRvX3R5cGUgPSBVVUlERF9PUF9USU1FX1VVSUQ7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQl1dWlkZF9jeHQudGltZW91dCA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsCisJCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAoc3RybGVuKHNvY2tldF9wYXRoKSA+PSBzaXplb2YoKChzdHJ1Y3Qgc29ja2FkZHJfdW4gKikwKS0+c3VuX3BhdGgpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIiksIHNvY2tldF9wYXRoKTsKKworCWlmICghbm9fcGlkICYmICFwaWRmaWxlX3BhdGgpCisJCXBpZGZpbGVfcGF0aCA9IFVVSUREX1BJREZJTEVfUEFUSDsKKworCS8qIGN1c3RvbSBzb2NrZXQgcGF0aCBhbmQgc29ja2V0LWFjdGl2YXRpb24gbWFrZSBubyBzZW5zZSAqLworCWlmIChzX2ZsYWcgJiYgdXVpZGRfY3h0Lm5vX3NvY2sgJiYgIXV1aWRkX2N4dC5xdWlldCkKKwkJd2FybngoXygiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuICIKKwkJCSJJZ25vcmluZyAtLXNvY2tldC4iKSk7CisKKwlpZiAobnVtICYmIGRvX3R5cGUpIHsKKwkJcmV0ID0gY2FsbF9kYWVtb24oc29ja2V0X3BhdGgsIGRvX3R5cGUgKyAyLCBidWYsCisJCQkJICBzaXplb2YoYnVmKSwgJm51bSwgJmVycl9jb250ZXh0KTsKKwkJaWYgKHJldCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIiksCisJCQkJCWVycl9jb250ZXh0ID8gOiBfKCJ1bmV4cGVjdGVkIGVycm9yIikpOworCisJCWlmIChkb190eXBlID09IFVVSUREX09QX1RJTUVfVVVJRCkgeworCQkJaWYgKHJldCAhPSBzaXplb2YodXUpICsgc2l6ZW9mKG51bSkpCisJCQkJdW5leHBlY3RlZF9zaXplKHJldCk7CisKKwkJCXV1aWRfdW5wYXJzZSgodW5zaWduZWQgY2hhciAqKSBidWYsIHN0cik7CisKKwkJCXByaW50ZihQXygiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIiwKKwkJCQkgICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIiwgbnVtIC0gMSksCisJCQkgICAgICAgc3RyLCBudW0gLSAxKTsKKwkJfSBlbHNlIHsKKwkJCXByaW50ZihfKCJMaXN0IG9mIFVVSURzOlxuIikpOworCQkJY3AgPSBidWYgKyA0OworCQkJaWYgKHJldCAhPSAoaW50KSAoc2l6ZW9mKG51bSkgKyBudW0gKiBzaXplb2YodXUpKSkKKwkJCQl1bmV4cGVjdGVkX3NpemUocmV0KTsKKwkJCWZvciAoaSA9IDA7IGkgPCBudW07IGkrKywgY3AgKz0gVVVJRF9MRU4pIHsKKwkJCQl1dWlkX3VucGFyc2UoKHVuc2lnbmVkIGNoYXIgKikgY3AsIHN0cik7CisJCQkJcHJpbnRmKCJcdCVzXG4iLCBzdHIpOworCQkJfQorCQl9CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCWlmIChkb190eXBlKSB7CisJCXJldCA9IGNhbGxfZGFlbW9uKHNvY2tldF9wYXRoLCBkb190eXBlLCAoY2hhciAqKSAmdXUsCisJCQkJICBzaXplb2YodXUpLCAwLCAmZXJyX2NvbnRleHQpOworCQlpZiAocmV0IDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiKSwKKwkJCQkJZXJyX2NvbnRleHQgPyA6IF8oInVuZXhwZWN0ZWQgZXJyb3IiKSk7CisJCWlmIChyZXQgIT0gc2l6ZW9mKHV1KSkKKwkJICAgICAgICB1bmV4cGVjdGVkX3NpemUocmV0KTsKKworCQl1dWlkX3VucGFyc2UodXUsIHN0cik7CisKKwkJcHJpbnRmKCIlc1xuIiwgc3RyKTsKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwlpZiAoZG9fa2lsbCkgeworCQlyZXQgPSBjYWxsX2RhZW1vbihzb2NrZXRfcGF0aCwgVVVJRERfT1BfR0VUUElELCBidWYsIHNpemVvZihidWYpLCAwLCBOVUxMKTsKKwkJaWYgKChyZXQgPiAwKSAmJiAoKGRvX2tpbGwgPSBhdG9pKChjaGFyICopIGJ1ZikpID4gMCkpIHsKKwkJCXJldCA9IGtpbGwoZG9fa2lsbCwgU0lHVEVSTSk7CisJCQlpZiAocmV0IDwgMCkgeworCQkJCWlmICghdXVpZGRfY3h0LnF1aWV0KQorCQkJCQl3YXJuKF8oImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyAiCisJCQkJCQkgICJhdCBwaWQgJWQiKSwgZG9fa2lsbCk7CisJCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwkJCX0KKwkJCWlmICghdXVpZGRfY3h0LnF1aWV0KQorCQkJCXByaW50ZihfKCJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iKSwKKwkJCQkgICAgICAgZG9fa2lsbCk7CisJCX0KKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwlzZXJ2ZXJfbG9vcChzb2NrZXRfcGF0aCwgcGlkZmlsZV9wYXRoLCAmdXVpZGRfY3h0KTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy91dWlkZC5yYy5pbiBiL21pc2MtdXRpbHMvdXVpZGQucmMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk0Mzk0NQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvdXVpZGQucmMuaW4KQEAgLTAsMCArMSw2MiBAQAorIyEgL2Jpbi9zaCAtZQorIyMjIEJFR0lOIElOSVQgSU5GTworIyBQcm92aWRlczogICAgICAgICAgdXVpZGQKKyMgUmVxdWlyZWQtU3RhcnQ6ICAgICR0aW1lICRsb2NhbF9mcyAkcmVtb3RlX2ZzCisjIFJlcXVpcmVkLVN0b3A6ICAgICAkdGltZSAkbG9jYWxfZnMgJHJlbW90ZV9mcworIyBEZWZhdWx0LVN0YXJ0OiAgICAgMiAzIDQgNQorIyBEZWZhdWx0LVN0b3A6ICAgICAgMCAxIDYKKyMgU2hvcnQtRGVzY3JpcHRpb246IHV1aWRkIGRhZW1vbgorIyBEZXNjcmlwdGlvbjogICAgICAgSW5pdCBzY3JpcHQgZm9yIHRoZSB1dWlkIGdlbmVyYXRpb24gZGFlbW9uCisjIyMgRU5EIElOSVQgSU5GTworIworIyBBdXRob3I6CSJUaGVvZG9yZSBUcydvIiA8dHl0c29AbWl0LmVkdT4KKyMKK3NldCAtZQorCitQQVRIPS9iaW46L3Vzci9iaW46L3NiaW46L3Vzci9zYmluCitEQUVNT049L3Vzci9zYmluL3V1aWRkCitVVUlERF9VU0VSPXV1aWRkCitVVUlERF9HUk9VUD11dWlkZAorVVVJRERfRElSPUBydW5zdGF0ZWRpckAvdXVpZGQKK1BJREZJTEU9JFVVSUREX0RJUi91dWlkZC5waWQKKwordGVzdCAteCAkREFFTU9OIHx8IGV4aXQgMAorCisuIC9saWIvbHNiL2luaXQtZnVuY3Rpb25zCisKK2Nhc2UgIiQxIiBpbgorICBzdGFydCkKKwlsb2dfZGFlbW9uX21zZyAiU3RhcnRpbmcgdXVpZCBnZW5lcmF0b3IiICJ1dWlkZCIKKwlpZiAhIHRlc3QgLWQgJFVVSUREX0RJUjsgdGhlbgorCQlta2RpciAtcCAkVVVJRERfRElSCisJCWNob3duIC1SICRVVUlERF9VU0VSOiRVVUlERF9HUk9VUCAkVVVJRERfRElSCisJZmkKKwlzdGFydF9kYWVtb24gLXAgJFBJREZJTEUgJERBRU1PTgorCWxvZ19lbmRfbXNnICQ/CisgICAgOzsKKyAgc3RvcCkKKwlsb2dfZGFlbW9uX21zZyAiU3RvcHBpbmcgdXVpZCBnZW5lcmF0b3IiICJ1dWlkZCIKKwlraWxscHJvYyAtcCAkUElERklMRSAkREFFTU9OCisJbG9nX2VuZF9tc2cgJD8KKyAgICA7OworICBzdGF0dXMpCisJaWYgcGlkb2Zwcm9jIC1wICRQSURGSUxFICREQUVNT04gPi9kZXYvbnVsbCAyPiYxOyB0aGVuCisJICAgIGVjaG8gIiREQUVNT04gaXMgcnVubmluZyI7CisJICAgIGV4aXQgMDsKKwllbHNlCisJICAgIGVjaG8gIiREQUVNT04gaXMgTk9UIHJ1bm5pbmciOworCSAgICBpZiB0ZXN0IC1mICRQSURGSUxFOyB0aGVuIGV4aXQgMjsgZmkKKwkgICAgZXhpdCAzOworCWZpCisgICAgOzsKKyAgZm9yY2UtcmVsb2FkfHJlc3RhcnQpCisgICAgJDAgc3RvcAorICAgICQwIHN0YXJ0CisgICAgOzsKKyAgKikKKyAgICBlY2hvICJVc2FnZTogL2V0Yy9pbml0LmQvdXVpZGQge3N0YXJ0fHN0b3B8cmVzdGFydHxmb3JjZS1yZWxvYWR9IgorICAgIGV4aXQgMQorICAgIDs7Citlc2FjCisKK2V4aXQgMApkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy91dWlkZC5zZXJ2aWNlLmluIGIvbWlzYy11dGlscy91dWlkZC5zZXJ2aWNlLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzMTY3MjcKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3V1aWRkLnNlcnZpY2UuaW4KQEAgLTAsMCArMSwxMiBAQAorW1VuaXRdCitEZXNjcmlwdGlvbj1EYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMKK1JlcXVpcmVzPXV1aWRkLnNvY2tldAorCitbU2VydmljZV0KK0V4ZWNTdGFydD1AdXNyc2Jpbl9leGVjZGlyQC91dWlkZCAtLXNvY2tldC1hY3RpdmF0aW9uCitSZXN0YXJ0PW5vCitVc2VyPXV1aWRkCitHcm91cD11dWlkZAorCitbSW5zdGFsbF0KK0Fsc289dXVpZGQuc29ja2V0CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3V1aWRkLnNvY2tldC5pbiBiL21pc2MtdXRpbHMvdXVpZGQuc29ja2V0LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZGNhYzIKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3V1aWRkLnNvY2tldC5pbgpAQCAtMCwwICsxLDggQEAKK1tVbml0XQorRGVzY3JpcHRpb249VVVJRCBkYWVtb24gYWN0aXZhdGlvbiBzb2NrZXQKKworW1NvY2tldF0KK0xpc3RlblN0cmVhbT1AcnVuc3RhdGVkaXJAL3V1aWRkL3JlcXVlc3QKKworW0luc3RhbGxdCitXYW50ZWRCeT1zb2NrZXRzLnRhcmdldApkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy91dWlkZ2VuLjEgYi9taXNjLXV0aWxzL3V1aWRnZW4uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWZlZjVkCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy91dWlkZ2VuLjEKQEAgLTAsMCArMSwxMDIgQEAKKy5cIiBDb3B5cmlnaHQgMTk5OSBBbmRyZWFzIERpbGdlciAoYWRpbGdlckBlbmVsLnVjYWxnYXJ5LmNhKQorLlwiCisuXCIgVGhpcyBmaWxlIG1heSBiZSBjb3BpZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljIExpY2Vuc2UuCisuVEggVVVJREdFTiAxICJKdW5lIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCit1dWlkZ2VuIFwtIGNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlCisuU0ggU1lOT1BTSVMKKy5CIHV1aWRnZW4KK1tvcHRpb25zXQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHV1aWRnZW4KK3Byb2dyYW0gY3JlYXRlcyAoYW5kIHByaW50cykKK2EgbmV3IHVuaXZlcnNhbGx5IHVuaXF1ZSBpZGVudGlmaWVyIChVVUlEKSB1c2luZyB0aGUKKy5CUiBsaWJ1dWlkICgzKQorbGlicmFyeS4gIFRoZSBuZXcgVVVJRCBjYW4gcmVhc29uYWJseSBiZSBjb25zaWRlcmVkIHVuaXF1ZSBhbW9uZworYWxsIFVVSURzIGNyZWF0ZWQgb24gdGhlIGxvY2FsIHN5c3RlbSwKK2FuZCBhbW9uZyBVVUlEcyBjcmVhdGVkIG9uIG90aGVyIHN5c3RlbXMgaW4gdGhlIHBhc3QKK2FuZCBpbiB0aGUgZnV0dXJlLgorLlBQCitUaGVyZSBhcmUgdGhyZWUgdHlwZXMgb2YgVVVJRHMgd2hpY2gKKy5CIHV1aWRnZW4KK2NhbiBnZW5lcmF0ZTogdGltZS1iYXNlZCBVVUlEcywgcmFuZG9tLWJhc2VkIFVVSURzLCBhbmQgaGFzaC1iYXNlZCBVVUlEcy4KK0J5IGRlZmF1bHQKKy5CIHV1aWRnZW4KK3dpbGwgZ2VuZXJhdGUgYSByYW5kb20tYmFzZWQgVVVJRCBpZiBhIGhpZ2gtcXVhbGl0eSByYW5kb20gbnVtYmVyCitnZW5lcmF0b3IgaXMgcHJlc2VudC4gIE90aGVyd2lzZSwgaXQgd2lsbCBjaG9vc2UgYSB0aW1lLWJhc2VkIFVVSUQuCitJdCBpcyBwb3NzaWJsZSB0byBmb3JjZSB0aGUgZ2VuZXJhdGlvbiBvZiBvbmUgb2YgdGhlc2UgZmlyc3QgdHdvCitVVUlEIHR5cGVzIGJ5IHVzaW5nIHRoZQorLkIgXC1cLXJhbmRvbQorb3IKKy5CIFwtXC10aW1lCitvcHRpb25zLgorLlBQCitUaGUgdGhpcmQgdHlwZSBvZiBVVUlEIGlzIGdlbmVyYXRlZCB3aXRoIHRoZQorLkIgXC1cLW1kNQorb3IKKy5CIFwtXC1zaGExCitvcHRpb25zLCBmb2xsb3dlZCBieQorXGZCXC1cLW5hbWVzcGFjZVxmUiBcZkluYW1lc3BhY2VcZlIKK2FuZAorXGZCXC1cLW5hbWVcZlIgXGZJbmFtZVxmUi4KK1RoZSBcZkluYW1lc3BhY2VcZlIgbWF5IGVpdGhlciBiZSBhIHdlbGwta25vd24gVVVJRCwgb3IgZWxzZQorYW4gYWxpYXMgdG8gb25lIG9mIHRoZSB3ZWxsLWtub3duIFVVSURzIGRlZmluZWQgaW4gUkZDIDQxMjIsIHRoYXQgaXMKKy5CUiBAZG5zICwKKy5CUiBAdXJsICwKKy5CUiBAb2lkICwKK29yCisuQlIgQHg1MDAgLgorVGhlIFxmSW5hbWVcZlIgaXMgYW4gYXJiaXRyYXJ5IHN0cmluZyB2YWx1ZS4gIFRoZSBnZW5lcmF0ZWQgVVVJRCBpcyB0aGUKK2RpZ2VzdCBvZiB0aGUgY29uY2F0ZW5hdGlvbiBvZiB0aGUgbmFtZXNwYWNlIFVVSUQgYW5kIHRoZSBuYW1lIHZhbHVlLCBoYXNoZWQKK3dpdGggdGhlIE1ENSBvciBTSEExIGFsZ29yaXRobXMuICBJdCBpcywgdGhlcmVmb3JlLCBhIHByZWRpY3RhYmxlIHZhbHVlCit3aGljaCBtYXkgYmUgdXNlZnVsIHdoZW4gVVVJRHMgYXJlIGJlaW5nIHVzZWQgYXMgaGFuZGxlcyBvciBub25jZXMgZm9yCittb3JlIGNvbXBsZXggdmFsdWVzIG9yIHZhbHVlcyB3aGljaCBzaG91bGRuJ3QgYmUgZGlzY2xvc2VkIGRpcmVjdGx5LgorU2VlIHRoZSBSRkMgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1yICwgIiBcLVwtcmFuZG9tIgorR2VuZXJhdGUgYSByYW5kb20tYmFzZWQgVVVJRC4gIFRoaXMgbWV0aG9kIGNyZWF0ZXMgYSBVVUlEIGNvbnNpc3RpbmcgbW9zdGx5CitvZiByYW5kb20gYml0cy4gIEl0IHJlcXVpcmVzIHRoYXQgdGhlIG9wZXJhdGluZyBzeXN0ZW0gaGF2ZSBhIGhpZ2gKK3F1YWxpdHkgcmFuZG9tIG51bWJlciBnZW5lcmF0b3IsIHN1Y2ggYXMKKy5JUiAvZGV2L3JhbmRvbSAuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10aW1lIgorR2VuZXJhdGUgYSB0aW1lLWJhc2VkIFVVSUQuICBUaGlzIG1ldGhvZCBjcmVhdGVzIGEgVVVJRCBiYXNlZCBvbiB0aGUgc3lzdGVtCitjbG9jayBwbHVzIHRoZSBzeXN0ZW0ncyBldGhlcm5ldCBoYXJkd2FyZSBhZGRyZXNzLCBpZiBwcmVzZW50LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtbSAsICIgXC1cLW1kNSIKK1VzZSBNRDUgYXMgdGhlIGhhc2ggYWxnb3JpdGhtLgorLlRQCisuQlIgXC1zICwgIiBcLVwtc2hhMSIKK1VzZSBTSEExIGFzIHRoZSBoYXNoIGFsZ29yaXRobS4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5hbWVzcGFjZSAiIFxmSW5hbWVzcGFjZVxmUAorR2VuZXJhdGUgdGhlIGhhc2ggd2l0aCB0aGUgXGZJbmFtZXNwYWNlXGZQIHByZWZpeC4gVGhlIFxmSW5hbWVzcGFjZVxmUCBpcyBVVUlELAorb3IgJ0Bucycgd2hlcmUgIm5zIiBpcyB3ZWxsLWtub3duIHByZWRlZmluZWQgVVVJRCBhZGRyZXNzZWQgYnkgbmFtZXNwYWNlIG5hbWUKKyhzZWUgYWJvdmUpLgorLlRQCisuQlIgXC1OICwgIiBcLVwtbmFtZSAiIFxmSW5hbWVcZlIKK0dlbmVyYXRlIHRoZSBoYXNoIG9mIHRoZSBcZkluYW1lXGZSLgorLlRQCisuQlIgXC14ICwgIiBcLVwtaGV4IgorSW50ZXJwcmV0IG5hbWUgXGZJbmFtZVxmUiBhcyBhIGhleGFkZWNpbWFsIHN0cmluZy4KKy5TSCAiQ09ORk9STUlORyBUTyIKK09TRiBEQ0UgMS4xCisuU0ggRVhBTVBMRVMKK3V1aWRnZW4gXC1cLXNoYTEgXC1cLW5hbWVzcGFjZSBAZG5zIFwtXC1uYW1lICJ3d3cuZXhhbXBsZS5jb20iCisuU0ggQVVUSE9SCisuQiB1dWlkZ2VuCit3YXMgd3JpdHRlbiBieSBBbmRyZWFzIERpbGdlciBmb3IgbGlidXVpZC4KKy5TSCBTRUUgQUxTTworLkJSIGxpYnV1aWQgKDMpLAorLkIgIlJGQyA0MTIyIgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHV1aWRnZW4gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvdXVpZGdlbi5jIGIvbWlzYy11dGlscy91dWlkZ2VuLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE5NzA2OQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvdXVpZGdlbi5jCkBAIC0wLDAgKzEsMjA5IEBACisvKgorICogZ2VuX3V1aWQuYyAtLS0gZ2VuZXJhdGUgYSBEQ0UtY29tcGF0aWJsZSB1dWlkCisgKgorICogQ29weXJpZ2h0IChDKSAxOTk5LCBBbmRyZWFzIERpbGdlciBhbmQgVGhlb2RvcmUgVHMnbworICoKKyAqICVCZWdpbi1IZWFkZXIlCisgKiBUaGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgUHVibGljCisgKiBMaWNlbnNlLgorICogJUVuZC1IZWFkZXIlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJ1dWlkLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygxOCkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgidXVpZGdlbigxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBjaGFyICp1bmhleChjb25zdCBjaGFyICp2YWx1ZSwgc2l6ZV90ICp2YWx1ZWxlbikKK3sKKwljaGFyIGMsICp2YWx1ZTI7CisJdW5zaWduZWQgbiwgeDsKKworCWlmICgqdmFsdWVsZW4gJSAyICE9IDApIHsKK2JhZHN0cmluZzoKKwkJZnByaW50ZihzdGRlcnIsICIlczogbm90IGEgdmFsaWQgaGV4IHN0cmluZ1xuIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJdmFsdWUyID0gbWFsbG9jKCp2YWx1ZWxlbiAvIDIgKyAxKTsKKworCWZvciAoeCA9IG4gPSAwOyBuIDwgKnZhbHVlbGVuOyBuKyspIHsKKwkJYyA9IHZhbHVlW25dOworCQlpZiAoJzAnIDw9IGMgJiYgYyA8PSAnOScpCisJCQl4ICs9IGMgLSAnMCc7CisJCWVsc2UgaWYgKCgnYScgPD0gYyAmJiBjIDw9ICdmJykgfHwgKCdBJyA8PSBjICYmIGMgPD0gJ0YnKSkKKwkJCXggKz0gKGMgLSAnQScgKyAxMCkgJiAweGY7CisJCWVsc2UKKwkJCWdvdG8gYmFkc3RyaW5nOworCisJCWlmIChuICUgMiA9PSAwKQorCQkJeCAqPSAxNjsKKwkJZWxzZSB7CisJCQl2YWx1ZTJbbiAvIDJdID0geDsKKwkJCXggPSAwOworCQl9CisJfQorCXZhbHVlMltuIC8gMl0gPSAnXDAnOworCisJKnZhbHVlbGVuID0gKG4gLyAyKTsKKworCXJldHVybiB2YWx1ZTI7Cit9CisKK2ludAorbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgICAgYzsKKwlpbnQgICAgZG9fdHlwZSA9IDAsIGlzX2hleCA9IDA7CisJY2hhciAgIHN0cltVVUlEX1NUUl9MRU5dOworCWNoYXIgICAqbmFtZXNwYWNlID0gTlVMTCwgKm5hbWUgPSBOVUxMOworCXNpemVfdCBuYW1lbGVuID0gMDsKKwl1dWlkX3QgbnMsIHV1OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJyYW5kb20iLCBub19hcmd1bWVudCwgTlVMTCwgJ3InfSwKKwkJeyJ0aW1lIiwgbm9fYXJndW1lbnQsIE5VTEwsICd0J30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJeyJuYW1lc3BhY2UiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ24nfSwKKwkJeyJuYW1lIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdOJ30sCisJCXsibWQ1Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdtJ30sCisJCXsic2hhMSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7ImhleCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAneCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJydFZobjpOOm1zeCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoYykgeworCQljYXNlICd0JzoKKwkJCWRvX3R5cGUgPSBVVUlEX1RZUEVfRENFX1RJTUU7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlkb190eXBlID0gVVVJRF9UWVBFX0RDRV9SQU5ET007CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ24nOgorCQkJbmFtZXNwYWNlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ04nOgorCQkJbmFtZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCWRvX3R5cGUgPSBVVUlEX1RZUEVfRENFX01ENTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWRvX3R5cGUgPSBVVUlEX1RZUEVfRENFX1NIQTE7CisJCQlicmVhazsKKwkJY2FzZSAneCc6CisJCQlpc19oZXggPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJaWYgKG5hbWVzcGFjZSkgeworCQlpZiAoIW5hbWUpIHsKKwkJCWZwcmludGYoc3RkZXJyLCAiJXM6IC0tbmFtZXNwYWNlIHJlcXVpcmVzIC0tbmFtZSBhcmd1bWVudFxuIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJCWlmIChkb190eXBlICE9IFVVSURfVFlQRV9EQ0VfTUQ1ICYmIGRvX3R5cGUgIT0gVVVJRF9UWVBFX0RDRV9TSEExKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiAtLW5hbWVzcGFjZSByZXF1aXJlcyAtLW1kNSBvciAtLXNoYTFcbiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0gZWxzZSB7CisJCWlmIChuYW1lKSB7CisJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiAtLW5hbWUgcmVxdWlyZXMgLS1uYW1lc3BhY2UgYXJndW1lbnRcbiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCQlpZiAoZG9fdHlwZSA9PSBVVUlEX1RZUEVfRENFX01ENSB8fCBkb190eXBlID09IFVVSURfVFlQRV9EQ0VfU0hBMSkgeworCQkJZnByaW50ZihzdGRlcnIsICIlczogLS1tZDUgb3IgLS1zaGExIHJlcXVpcmUgLS1uYW1lc3BhY2VcbiIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChuYW1lKSB7CisJCW5hbWVsZW4gPSBzdHJsZW4obmFtZSk7CisJCWlmIChpc19oZXgpCisJCQluYW1lID0gdW5oZXgobmFtZSwgJm5hbWVsZW4pOworCX0KKworCXN3aXRjaCAoZG9fdHlwZSkgeworCWNhc2UgVVVJRF9UWVBFX0RDRV9USU1FOgorCQl1dWlkX2dlbmVyYXRlX3RpbWUodXUpOworCQlicmVhazsKKwljYXNlIFVVSURfVFlQRV9EQ0VfUkFORE9NOgorCQl1dWlkX2dlbmVyYXRlX3JhbmRvbSh1dSk7CisJCWJyZWFrOworCWNhc2UgVVVJRF9UWVBFX0RDRV9NRDU6CisJY2FzZSBVVUlEX1RZUEVfRENFX1NIQTE6CisJCWlmIChuYW1lc3BhY2VbMF0gPT0gJ0AnICYmIG5hbWVzcGFjZVsxXSAhPSAnXDAnKSB7CisJCQljb25zdCB1dWlkX3QgKnV1aWRwdHI7CisKKwkJCXV1aWRwdHIgPSB1dWlkX2dldF90ZW1wbGF0ZSgmbmFtZXNwYWNlWzFdKTsKKwkJCWlmICh1dWlkcHRyID09IE5VTEwpIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiB1bmtub3duIG5hbWVzcGFjZSBhbGlhcyAnJXMnXG4iLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgbmFtZXNwYWNlKTsKKwkJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCQl9CisJCQltZW1jcHkobnMsICp1dWlkcHRyLCBzaXplb2YobnMpKTsKKwkJfSBlbHNlIHsKKwkJCWlmICh1dWlkX3BhcnNlKG5hbWVzcGFjZSwgbnMpICE9IDApIHsKKwkJCQlmcHJpbnRmKHN0ZGVyciwgIiVzOiBpbnZhbGlkIHV1aWQgZm9yIG5hbWVzcGFjZSAnJXMnXG4iLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwgbmFtZXNwYWNlKTsKKwkJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCQl9CisJCX0KKwkJaWYgKGRvX3R5cGUgPT0gVVVJRF9UWVBFX0RDRV9NRDUpCisJCQl1dWlkX2dlbmVyYXRlX21kNSh1dSwgbnMsIG5hbWUsIG5hbWVsZW4pOworCQllbHNlCisJCQl1dWlkX2dlbmVyYXRlX3NoYTEodXUsIG5zLCBuYW1lLCBuYW1lbGVuKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJdXVpZF9nZW5lcmF0ZSh1dSk7CisJCWJyZWFrOworCX0KKworCXV1aWRfdW5wYXJzZSh1dSwgc3RyKTsKKworCXByaW50ZigiJXNcbiIsIHN0cik7CisKKwlpZiAoaXNfaGV4KQorCQlmcmVlKG5hbWUpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL21pc2MtdXRpbHMvdXVpZHBhcnNlLjEgYi9taXNjLXV0aWxzL3V1aWRwYXJzZS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlhZmE2YjAKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3V1aWRwYXJzZS4xCkBAIC0wLDAgKzEsNjkgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDIwMTcgU2FtaSBLZXJvbGEKKy5cIiBUaGUgMy1DbGF1c2UgQlNEIExpY2Vuc2UKKy5USCBVVUlEUEFSU0UgIjEiICIyMDE3LTA2LTE4IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQordXVpZHBhcnNlIFwtIGFuIHV0aWxpdHkgdG8gcGFyc2UgdW5pcXVlIGlkZW50aWZpZXJzCisuU0ggU1lOT1BTSVMKKy5CIHV1aWRwYXJzZQorW29wdGlvbnNdCisuSSB1dWlkCisuU0ggREVTQ1JJUFRJT04KK1RoaXMgY29tbWFuZCB3aWxsIHBhcnNlIHVuaXF1ZSBpZGVudGlmaWVyIGlucHV0cyBmcm9tIGVpdGhlciBjb21tYW5kIGxpbmUKK2FyZ3VtZW50cyBvciBzdGFuZGFyZCBpbnB1dC4gIFRoZSBpbnB1dHMgYXJlIHdoaXRlLXNwYWNlIHNlcGFyYXRlZC4KKy5TSCBPVVRQVVQKKy5TUyBWYXJpYW50cworLlRTCit0YWIoOik7CitsZWZ0IGwgbC4KK05DUzpOZXR3b3JrIENvbXB1dGluZyBTeXN0ZW0gaWRlbnRpZmllci4gIFRoZXNlIHdlcmUgdGhlIG9yaWdpbmFsIFVVSURzLgorRENFOlRoZSBPcGVuIFNvZnR3YXJlIEZvdW5kYXRpb24ncyAoT1NGKSBEaXN0cmlidXRlZCBDb21wdXRpbmcgRW52aXJvbm1lbnQgVVVJRHMuCitNaWNyb3NvZnQ6TWljcm9zb2Z0IFdpbmRvd3MgcGxhdGZvcm0gZ2xvYmFsbHkgdW5pcXVlIGlkZW50aWZpZXIgKEdVSUQpLgorb3RoZXI6VW5rbm93biB2YXJpYW50LiAgVXN1YWxseSBpbnZhbGlkIGlucHV0IGRhdGEuCisuVEUKKy5TUyBUeXBlcworLlRTCit0YWIoOik7CitsZWZ0IGwgbC4KK25pbDpTcGVjaWFsIHR5cGUgZm9yIHplcm8gaW4gdHlwZSBmaWxlLgordGltZS1iYXNlZDpUaGUgRENFIHRpbWUgYmFzZWQuCitEQ0U6VGhlIERDRSB0aW1lIGFuZCBNQUMgQWRkcmVzcy4KK25hbWUtYmFzZWQ6UkZDIDQxMjIgbWQ1c3VtIGhhc2guCityYW5kb206UkZDIDQxMjIgcmFuZG9tLgorc2hhMS1iYXNlZDpSRkMgNDEyMiBzaGEtMSBoYXNoLgordW5rbm93bjpVbmtub3duIHR5cGUuICBVc3VhbGx5IGludmFsaWQgaW5wdXQgZGF0YS4KKy5URQorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1KXGZSLCBcZkJcLVwtanNvblxmUgorVXNlIEpTT04gb3V0cHV0IGZvcm1hdC4KKy5UUAorXGZCXC1uXGZSLCBcZkJcLVwtbm9oZWFkaW5nc1xmUgorRG8gbm90IHByaW50IGEgaGVhZGVyIGxpbmUuCisuVFAKK1xmQlwtb1xmUiwgXGZCXC1cLW91dHB1dFxmUgorU3BlY2lmeSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byBwcmludC4gIFVzZSBcLVwtaGVscCB0byBnZXQgYSBsaXN0IG9mIGFsbAorc3VwcG9ydGVkIGNvbHVtbnMuCisuVFAKK1xmQlwtclxmUiwgXGZCXC1cLXJhd1xmUgorVXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdC4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBBVVRIT1JTCisuTVQga2Vyb2xhc2FAaWtpLmZpCitTYW1pIEtlcm9sYQorLk1FCisuU0ggIlNFRSBBTFNPIgorLkJSIHV1aWRnZW4gKDEpLAorLkJSIGxpYnV1aWQgKDMpLAorLlVSIGh0dHBzOi8vXDp0b29scy5pZXRmLm9yZ1w6L2h0bWxcOi9yZmM0MTIyCitSRkMgNDEyMgorLlVFCisuU0ggQVZBSUxBQklMSVRZCitUaGUgZXhhbXBsZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy91dWlkcGFyc2UuYyBiL21pc2MtdXRpbHMvdXVpZHBhcnNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzc3ZjlkYgotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvdXVpZHBhcnNlLmMKQEAgLTAsMCArMSwzNDkgQEAKKy8qCisgKiB1dWlkcGFyc2UuYyAtLS0gSW50ZXJwcmV0IHV1aWQgZW5jb2RlZCBpbmZvcm1hdGlvbi4gIFRoaXMgcHJvZ3JhbQorICoJdmlvbGF0ZXMgdGhlIFVVSUQgYWJzdHJhY3Rpb24gYmFycmllciBieSByZWFjaGluZyBpbnRvIHRoZQorICoJZ3V0cyBvZiBhIFVVSUQuCisgKgorICogQmFzZWQgb24gbGlidXVpZC9zcmMvdXVpZF90aW1lLmMKKyAqIENvcHlyaWdodCAoQykgMTk5OCwgMTk5OSBUaGVvZG9yZSBUcydvLgorICoKKyAqIEFsbCBhbHRlcmF0aW9ucyAoQykgMjAxNyBTYW1pIEtlcm9sYQorICogVGhlIDMtQ2xhdXNlIEJTRCBMaWNlbnNlCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCBhbmQgdGhlIGVudGlyZSBwZXJtaXNzaW9uIG5vdGljZSBpbiBpdHMgZW50aXJldHksCisgKiAgICBpbmNsdWRpbmcgdGhlIGRpc2NsYWltZXIgb2Ygd2FycmFudGllcy4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gVGhlIG5hbWUgb2YgdGhlIGF1dGhvciBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlCisgKiAgICBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yCisgKiAgICB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBgYEFTIElTJycgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQKKyAqIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTCisgKiBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLCBBTEwgT0YKKyAqIFdISUNIIEFSRSBIRVJFQlkgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1IgQkUKKyAqIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UCisgKiBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IKKyAqIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUKKyAqIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIE5PVCBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNICisgKiBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorI2luY2x1ZGUgPHN0ZGludC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHV1aWQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworLyogY29sdW1uIElEcyAqLworZW51bSB7CisJQ09MX1VVSUQgPSAwLAorCUNPTF9WQVJJQU5ULAorCUNPTF9UWVBFLAorCUNPTF9USU1FCit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOwkvKiBoZWFkZXIgKi8KKwlkb3VibGUgd2hpbnQ7CQkvKiB3aWR0aCBoaW50IChOIDwgMSBpcyBpbiBwZXJjZW50IG9mIHRlcm13aWR0aCkgKi8KKwlpbnQgZmxhZ3M7CQkvKiBTQ09MU19GTF8qICovCisJY29uc3QgY2hhciAqaGVscDsKK307CisKKy8qIGNvbHVtbnMgZGVzY3JpcHRpb25zICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGNvbGluZm8gaW5mb3NbXSA9IHsKKwlbQ09MX1VVSURdICAgID0geyJVVUlEIiwgICAgVVVJRF9TVFJfTEVOLCAwLCBOXygidW5pcXVlIGlkZW50aWZpZXIiKX0sCisJW0NPTF9WQVJJQU5UXSA9IHsiVkFSSUFOVCIsIDksICAwLCBOXygidmFyaWFudCBuYW1lIil9LAorCVtDT0xfVFlQRV0gICAgPSB7IlRZUEUiLCAgICAxMCwgMCwgTl8oInR5cGUgbmFtZSIpfSwKKwlbQ09MX1RJTUVdICAgID0geyJUSU1FIiwgICAgMzEsIDAsIE5fKCJ0aW1lc3RhbXAiKX0KK307CisKK3N0YXRpYyBpbnQgY29sdW1uc1tBUlJBWV9TSVpFKGluZm9zKSAqIDJdOworc3RhdGljIHNpemVfdCBuY29sdW1uczsKKworc3RydWN0IGNvbnRyb2wgeworCXVuc2lnbmVkIGludAorCQlqc29uOjEsCisJCW5vX2hlYWRpbmdzOjEsCisJCXJhdzoxOworfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgc3Rkb3V0KTsKKwlmcHJpbnRmKHN0ZG91dCwgXygiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKwlwdXRzKF8oIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiKSk7CisJcHV0cyhfKCIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIpKTsKKwlwdXRzKF8oIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIpKTsKKwlwdXRzKF8oIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiKSk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNCkpOworCisJZnB1dHMoVVNBR0VfQ09MVU1OUywgc3Rkb3V0KTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykKKwkJZnByaW50ZihzdGRvdXQsICIgJThzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInV1aWRwYXJzZSgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgY29sdW1uX25hbWVfdG9faWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWFzc2VydChuYW1lKTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gaW5mb3NbaV0ubmFtZTsKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKHNpemVfdCBudW0pCit7CisJYXNzZXJ0KG51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludClBUlJBWV9TSVpFKGluZm9zKSk7CisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8oaW50IG51bSkKK3sKKwlyZXR1cm4gJmluZm9zW2dldF9jb2x1bW5faWQobnVtKV07Cit9CisKK3N0YXRpYyB2b2lkIGZpbGxfdGFibGVfcm93KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsIGNoYXIgY29uc3QgKmNvbnN0IHV1aWQpCit7CisJc3RhdGljIHN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzaXplX3QgaTsKKwl1dWlkX3QgYnVmOworCWludCBpbnZhbGlkID0gMDsKKwlpbnQgdmFyaWFudCwgdHlwZTsKKworCWFzc2VydCh0Yik7CisJYXNzZXJ0KHV1aWQpOworCisJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZSh0YiwgTlVMTCk7CisJaWYgKCFsbikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCWlmICh1dWlkX3BhcnNlKHV1aWQsIGJ1ZikpCisJCWludmFsaWQgPSAxOworCWVsc2UgeworCQl2YXJpYW50ID0gdXVpZF92YXJpYW50KGJ1Zik7CisJCXR5cGUgPSB1dWlkX3R5cGUoYnVmKTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQljaGFyICpzdHIgPSBOVUxMOworCisJCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChpKSkgeworCQljYXNlIENPTF9VVUlEOgorCQkJc3RyID0geHN0cmR1cCh1dWlkKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9WQVJJQU5UOgorCQkJaWYgKGludmFsaWQpIHsKKwkJCQlzdHIgPSB4c3RyZHVwKF8oImludmFsaWQiKSk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlzd2l0Y2ggKHZhcmlhbnQpIHsKKwkJCWNhc2UgVVVJRF9WQVJJQU5UX05DUzoKKwkJCQlzdHIgPSB4c3RyZHVwKCJOQ1MiKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgVVVJRF9WQVJJQU5UX0RDRToKKwkJCQlzdHIgPSB4c3RyZHVwKCJEQ0UiKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgVVVJRF9WQVJJQU5UX01JQ1JPU09GVDoKKwkJCQlzdHIgPSB4c3RyZHVwKCJNaWNyb3NvZnQiKTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJc3RyID0geHN0cmR1cChfKCJvdGhlciIpKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIENPTF9UWVBFOgorCQkJaWYgKGludmFsaWQpIHsKKwkJCQlzdHIgPSB4c3RyZHVwKF8oImludmFsaWQiKSk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlzd2l0Y2ggKHR5cGUpIHsKKwkJCWNhc2UgMDoKKwkJCQlpZiAoc3Ryc3BuKHV1aWQsICIwLSIpID09IDM2KQorCQkJCQlzdHIgPSB4c3RyZHVwKF8oIm5pbCIpKTsKKwkJCQllbHNlCisJCQkJCXN0ciA9IHhzdHJkdXAoXygidW5rbm93biIpKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgMToKKwkJCQlzdHIgPSB4c3RyZHVwKF8oInRpbWUtYmFzZWQiKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIDI6CisJCQkJc3RyID0geHN0cmR1cCgiRENFIik7CisJCQkJYnJlYWs7CisJCQljYXNlIDM6CisJCQkJc3RyID0geHN0cmR1cChfKCJuYW1lLWJhc2VkIikpOworCQkJCWJyZWFrOworCQkJY2FzZSA0OgorCQkJCXN0ciA9IHhzdHJkdXAoXygicmFuZG9tIikpOworCQkJCWJyZWFrOworCQkJY2FzZSA1OgorCQkJCXN0ciA9IHhzdHJkdXAoXygic2hhMS1iYXNlZCIpKTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJc3RyID0geHN0cmR1cChfKCJ1bmtub3duIikpOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgQ09MX1RJTUU6CisJCQlpZiAoaW52YWxpZCkgeworCQkJCXN0ciA9IHhzdHJkdXAoXygiaW52YWxpZCIpKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWlmICh2YXJpYW50ID09IFVVSURfVkFSSUFOVF9EQ0UgJiYgdHlwZSA9PSAxKSB7CisJCQkJc3RydWN0IHRpbWV2YWwgdHY7CisJCQkJY2hhciBkYXRlX2J1ZltJU09fQlVGU0laXTsKKworCQkJCXV1aWRfdGltZShidWYsICZ0dik7CisJCQkJc3RydGltZXZhbF9pc28oJnR2LCBJU09fVElNRVNUQU1QX0NPTU1BLAorCQkJCQkgICAgICAgZGF0ZV9idWYsIHNpemVvZihkYXRlX2J1ZikpOworCQkJCXN0ciA9IHhzdHJkdXAoZGF0ZV9idWYpOworCQkJfQorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlhYm9ydCgpOworCQl9CisJCWlmIChzdHIgJiYgc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBpLCBzdHIpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiKSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBwcmludF9vdXRwdXQoc3RydWN0IGNvbnRyb2wgY29uc3QgKmNvbnN0IGN0cmwsIGludCBhcmdjLAorCQkJIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJc2l6ZV90IGk7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCXRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIpKTsKKworCWlmIChjdHJsLT5qc29uKSB7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHRiLCAxKTsKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUodGIsICJ1dWlkcyIpOworCX0KKwlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyh0YiwgY3RybC0+bm9faGVhZGluZ3MpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGIsIGN0cmwtPnJhdyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgY29saW5mbyAqY29sID0gZ2V0X2NvbHVtbl9pbmZvKGkpOworCisJCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgY29sLT5uYW1lLCBjb2wtPndoaW50LAorCQkJCQkgICAgY29sLT5mbGFncykpCisJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJICAgIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IChzaXplX3QpIGFyZ2M7IGkrKykKKwkJZmlsbF90YWJsZV9yb3codGIsIGFyZ3ZbaV0pOworCisJaWYgKGkgPT0gMCkgeworCQljaGFyIHV1aWRbVVVJRF9TVFJfTEVOXTsKKworCQl3aGlsZSAoc2NhbmYoIiAlMzZbXiBcdFxuXSUqYyIsIHV1aWQpICYmICFmZW9mKHN0ZGluKSkKKwkJCWZpbGxfdGFibGVfcm93KHRiLCB1dWlkKTsKKwl9CisJc2NvbHNfcHJpbnRfdGFibGUodGIpOworCXNjb2xzX3VucmVmX3RhYmxlKHRiKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBjb250cm9sIGN0cmwgPSB7IDAgfTsKKwljaGFyICpvdXRhcmcgPSBOVUxMOworCWludCBjOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJqc29uIiwgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdKJ30sCisJCXsibm9oZWFkaW5ncyIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbid9LAorCQl7Im91dHB1dCIsICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nfSwKKwkJeyJyYXciLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJ30sCisJCXsidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsKKwkJeydKJywgJ3InfSwKKwkJezB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIkpubzpyVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdKJzoKKwkJCWN0cmwuanNvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdHJsLm5vX2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWN0cmwucmF3ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9VVUlEOworCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVkFSSUFOVDsKKwljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1RZUEU7CisJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9USU1FOworCisJaWYgKG91dGFyZworCSAgICAmJiBzdHJpbmdfYWRkX3RvX2lkYXJyYXkob3V0YXJnLCBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCSAgICAgJm5jb2x1bW5zLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJcHJpbnRfb3V0cHV0KCZjdHJsLCBhcmdjLCBhcmd2KTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9taXNjLXV0aWxzL3doZXJlaXMuMSBiL21pc2MtdXRpbHMvd2hlcmVpcy4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE2OTM5NTkKLS0tIC9kZXYvbnVsbAorKysgYi9taXNjLXV0aWxzL3doZXJlaXMuMQpAQCAtMCwwICsxLDE3MiBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4MCwgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiICAgICBUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIgICAgIENhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorLlwiIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisuXCIgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisuXCIgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLlwiIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLlwiIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisuXCIgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisuXCIgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKy5cIiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworLlwiIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorLlwiIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisuXCIgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLlwiIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKy5cIiBTVUNIIERBTUFHRS4KKy5cIgorLlwiIEAoIyl3aGVyZWlzLjEgZnJvbSBVQ0IgNC4yCisuVEggV0hFUkVJUyAxICJPY3RvYmVyIDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCit3aGVyZWlzIFwtIGxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwgcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kCisuU0ggU1lOT1BTSVMKKy5CIHdoZXJlaXMKK1tvcHRpb25zXQorLlJCIFsgXC1CTVMKKy5JUiBkaXJlY3RvcnkgIi4uLiAiIFxmQlwtZlxmUiBdCisuSVIgbmFtZSAuLi4KKy5TSCBERVNDUklQVElPTgorLkIgd2hlcmVpcworbG9jYXRlcyB0aGUgYmluYXJ5LCBzb3VyY2UgYW5kIG1hbnVhbCBmaWxlcyBmb3IgdGhlIHNwZWNpZmllZCBjb21tYW5kIG5hbWVzLgorVGhlIHN1cHBsaWVkIG5hbWVzIGFyZSBmaXJzdCBzdHJpcHBlZCBvZiBsZWFkaW5nIHBhdGhuYW1lIGNvbXBvbmVudHMgYW5kIGFueQorKHNpbmdsZSkgdHJhaWxpbmcgZXh0ZW5zaW9uIG9mIHRoZSBmb3JtCisuQkkgLiBleHQKKyhmb3IgZXhhbXBsZToKKy5CUiAuYyApCitQcmVmaXhlcyBvZgorLkIgcy4KK3Jlc3VsdGluZyBmcm9tIHVzZSBvZiBzb3VyY2UgY29kZSBjb250cm9sIGFyZSBhbHNvIGRlYWx0IHdpdGguCisuQiB3aGVyZWlzCit0aGVuIGF0dGVtcHRzIHRvIGxvY2F0ZSB0aGUgZGVzaXJlZCBwcm9ncmFtIGluIHRoZSBzdGFuZGFyZCBMaW51eCBwbGFjZXMsIGFuZAoraW4gdGhlIHBsYWNlcyBzcGVjaWZpZWQgYnkKKy5CICRQQVRICithbmQKKy5CUiAkTUFOUEFUSCAuCisuc3AKK1RoZSBzZWFyY2ggcmVzdHJpY3Rpb25zIChvcHRpb25zIFxmQlwtYlxmUCwgXGZCXC1tXGZQIGFuZCBcZkJcLXNcZlApCithcmUgY3VtdWxhdGl2ZSBhbmQgYXBwbHkgdG8gdGhlIHN1YnNlcXVlbnQgXGZJbmFtZVxmUCBwYXR0ZXJucyBvbgordGhlIGNvbW1hbmQgbGluZS4gIEFueSBuZXcgc2VhcmNoIHJlc3RyaWN0aW9uIHJlc2V0cyB0aGUgc2VhcmNoIG1hc2suCitGb3IgZXhhbXBsZSwKKy5SUworLnNwCisuQiAid2hlcmVpcyAtYm0gbHMgdHIgLW0gZ2NjIgorLnNwCisuUkUKK3NlYXJjaGVzIGZvciAibHMiIGFuZCAidHIiIGJpbmFyaWVzIGFuZCBtYW4gcGFnZXMsIGFuZCBmb3IgImdjYyIgbWFuIHBhZ2VzIG9ubHkuCisuc3AKK1RoZSBvcHRpb25zIFxmQlwtQlxmUCwgXGZCXC1NXGZQIGFuZCBcZkJcLVNcZlAgcmVzZXQgc2VhcmNoIHBhdGhzIGZvciB0aGUKK3N1YnNlcXVlbnQgXGZJbmFtZVxmUCBwYXR0ZXJucy4gIEZvciBleGFtcGxlLAorLlJTCisuc3AKKy5CICJ3aGVyZWlzIC1tIGxzIC1NIC91c3Ivc2hhcmUvbWFuL21hbjEgLWYgY2FsIgorLnNwCisuUkUKK3NlYXJjaGVzIGZvciAibHMiIG1hbiBwYWdlcyBpbiBhbGwgZGVmYXVsdCBwYXRocywgYnV0IGZvciAiY2FsIiBpbgordGhlIC91c3Ivc2hhcmUvbWFuL21hbjEgZGlyZWN0b3J5IG9ubHkuCisKKy5TSCBPUFRJT05TCisuVFAKKy5JUCBcZkJcLWJcZlAKK1NlYXJjaCBmb3IgYmluYXJpZXMuCisuSVAgXGZCXC1tXGZQCitTZWFyY2ggZm9yIG1hbnVhbHMuCisuSVAgXGZCXC1zXGZQCitTZWFyY2ggZm9yIHNvdXJjZXMuCisuSVAgXGZCXC11XGZQCitPbmx5IHNob3cgdGhlIGNvbW1hbmQgbmFtZXMgdGhhdCBoYXZlIHVudXN1YWwgZW50cmllcy4gIEEgY29tbWFuZCBpcyBzYWlkIHRvIGJlCit1bnVzdWFsIGlmIGl0IGRvZXMgbm90IGhhdmUganVzdCBvbmUgZW50cnkgb2YgZWFjaCBleHBsaWNpdGx5IHJlcXVlc3RlZCB0eXBlLgorVGh1cworLlJCICcgIndoZXJlaXMgXC1tIFwtdSAqIiAnCithc2tzIGZvciB0aG9zZSBmaWxlcyBpbiB0aGUgY3VycmVudCBkaXJlY3Rvcnkgd2hpY2ggaGF2ZSBubyBkb2N1bWVudGF0aW9uIGZpbGUsCitvciBtb3JlIHRoYW4gb25lLgorLklQICJcZkJcLUIgXGZJbGlzdFxmUCIKK0xpbWl0IHRoZSBwbGFjZXMgd2hlcmUKKy5CIHdoZXJlaXMKK3NlYXJjaGVzIGZvciBiaW5hcmllcywgYnkgYSB3aGl0ZXNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzLgorLklQICJcZkJcLU0gXGZJbGlzdFxmUCIKK0xpbWl0IHRoZSBwbGFjZXMgd2hlcmUKKy5CIHdoZXJlaXMKK3NlYXJjaGVzIGZvciBtYW51YWxzIGFuZCBkb2N1bWVudGF0aW9uIGluIEluZm8gZm9ybWF0LCBieSBhCit3aGl0ZXNwYWNlLXNlcGFyYXRlZCBsaXN0IG9mIGRpcmVjdG9yaWVzLgorLklQICJcZkJcLVMgXGZJbGlzdFxmUCIKK0xpbWl0IHRoZSBwbGFjZXMgd2hlcmUKKy5CIHdoZXJlaXMKK3NlYXJjaGVzIGZvciBzb3VyY2VzLCBieSBhIHdoaXRlc3BhY2Utc2VwYXJhdGVkIGxpc3Qgb2YgZGlyZWN0b3JpZXMuCisuSVAgIlxmQlwtZlxmUCIKK1Rlcm1pbmF0ZXMgdGhlIGRpcmVjdG9yeSBsaXN0IGFuZCBzaWduYWxzIHRoZSBzdGFydCBvZiBmaWxlbmFtZXMuICBJdAorLkkgbXVzdAorYmUgdXNlZCB3aGVuIGFueSBvZiB0aGUKKy5CUiBcLUIgLAorLkJSIFwtTSAsCitvcgorLkIgXC1TCitvcHRpb25zIGlzIHVzZWQuCisuSVAgIlxmQlwtbCIKK091dHB1dCB0aGUgbGlzdCBvZiBlZmZlY3RpdmUgbG9va3VwIHBhdGhzIHRoYXQKKy5CIHdoZXJlaXMKK2lzIHVzaW5nLiAgV2hlbiBub25lIG9mCisuQlIgXC1CICwKKy5CUiBcLU0gLAorb3IKKy5CIFwtUworaXMgc3BlY2lmaWVkLCB0aGUgb3B0aW9uIHdpbGwgb3V0cHV0IHRoZSBoYXJkLWNvZGVkIHBhdGhzCit0aGF0IHRoZSBjb21tYW5kIHdhcyBhYmxlIHRvIGZpbmQgb24gdGhlIHN5c3RlbS4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TSCBFWEFNUExFCitUbyBmaW5kIGFsbCBmaWxlcyBpbgorLkkgL3Vzci9cOmJpbgord2hpY2ggYXJlIG5vdCBkb2N1bWVudGVkCitpbgorLkkgL3Vzci9cOm1hbi9cOm1hbjEKK29yIGhhdmUgbm8gc291cmNlIGluCisuSVIgL3Vzci9cOnNyYyA6CisuSVAKKy5CIGNkIC91c3IvYmluCisuYnIKKy5CIHdoZXJlaXMgXC11IFwtbXMgXC1NIC91c3IvbWFuL21hbjEgXC1TIC91c3Ivc3JjIFwtZiAqCisuU0ggIkZJTEUgU0VBUkNIIFBBVEhTIgorQnkgZGVmYXVsdAorLkIgd2hlcmVpcwordHJpZXMgdG8gZmluZCBmaWxlcyBmcm9tIGhhcmQtY29kZWQgcGF0aHMsIHdoaWNoIGFyZSBkZWZpbmVkIHdpdGggZ2xvYgorcGF0dGVybnMuICBUaGUgY29tbWFuZCBhdHRlbXB0cyB0byB1c2UgdGhlIGNvbnRlbnRzIG9mCisuQiAkUEFUSAorYW5kCisuQiAkTUFOUEFUSAorZW52aXJvbm1lbnQgdmFyaWFibGVzIGFzIGRlZmF1bHQgc2VhcmNoIHBhdGguICBUaGUgZWFzaWVzdCB3YXkgdG8ga25vdword2hhdCBwYXRocyBhcmUgaW4gdXNlIGlzIHRvIGFkZCB0aGUKKy5CIFwtbAorbGlzdGluZyBvcHRpb24uICBFZmZlY3RzIG9mIHRoZQorLkJSIFwtQiAsCisuQlIgXC1NICwKK2FuZAorLkIgXC1TCithcmUgZGlzcGxheWVkIHdpdGgKKy5CUiBcLWwgLgorLlBQCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBXSEVSRUlTX0RFQlVHPWFsbAorZW5hYmxlcyBkZWJ1ZyBvdXRwdXQuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgd2hlcmVpcyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy93aGVyZWlzLmMgYi9taXNjLXV0aWxzL3doZXJlaXMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjgxMDZmCi0tLSAvZGV2L251bGwKKysrIGIvbWlzYy11dGlscy93aGVyZWlzLmMKQEAgLTAsMCArMSw2NTAgQEAKKy8qLQorICogQ29weXJpZ2h0IChjKSAxOTgwIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMjAxMS0wOC0xMiBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyAqIC0gYWRkZWQgJFBBVEggbG9va3VwCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogICAgICAgICAgICAgICAyMDEzIFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisgKi8KKworI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiY2Fub25pY2FsaXplLmgiCisKKyNpbmNsdWRlICJkZWJ1Zy5oIgorCitzdGF0aWMgVUxfREVCVUdfREVGSU5FX01BU0sod2hlcmVpcyk7CitVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKHdoZXJlaXMpID0gVUxfREVCVUdfRU1QVFlfTUFTS05BTUVTOworCisjZGVmaW5lIFdIRVJFSVNfREVCVUdfSU5JVAkoMSA8PCAxKQorI2RlZmluZSBXSEVSRUlTX0RFQlVHX1BBVEgJKDEgPDwgMikKKyNkZWZpbmUgV0hFUkVJU19ERUJVR19FTlYJKDEgPDwgMykKKyNkZWZpbmUgV0hFUkVJU19ERUJVR19BUkdWCSgxIDw8IDQpCisjZGVmaW5lIFdIRVJFSVNfREVCVUdfU0VBUkNICSgxIDw8IDUpCisjZGVmaW5lIFdIRVJFSVNfREVCVUdfU1RBVElDCSgxIDw8IDYpCisjZGVmaW5lIFdIRVJFSVNfREVCVUdfTElTVAkoMSA8PCA3KQorI2RlZmluZSBXSEVSRUlTX0RFQlVHX0FMTAkweEZGRkYKKworI2RlZmluZSBEQkcobSwgeCkgICAgICAgX19VTF9EQkcod2hlcmVpcywgV0hFUkVJU19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKHdoZXJlaXMsIFdIRVJFSVNfREVCVUdfLCBtLCB4KQorCisjZGVmaW5lIFVMX0RFQlVHX0NVUlJFTlRfTUFTSwlVTF9ERUJVR19NQVNLKHdoZXJlaXMpCisjaW5jbHVkZSAiZGVidWdvYmouaCIKKworc3RhdGljIGNoYXIgdWZsYWcgPSAwOworCisvKiBzdXBwb3J0ZWQgdHlwZXMgKi8KK2VudW0geworCUJJTl9ESVIgPSAoMSA8PCAxKSwKKwlNQU5fRElSID0gKDEgPDwgMiksCisJU1JDX0RJUiA9ICgxIDw8IDMpLAorCisJQUxMX0RJUlMgPSBCSU5fRElSIHwgTUFOX0RJUiB8IFNSQ19ESVIKK307CisKKy8qIGRpcmVjdG9yaWVzICovCitzdHJ1Y3Qgd2hfZGlybGlzdCB7CisJaW50CXR5cGU7CisJZGV2X3QJc3RfZGV2OworCWlub190CXN0X2lubzsKKwljaGFyCSpwYXRoOworCisJc3RydWN0IHdoX2Rpcmxpc3QgKm5leHQ7Cit9OworCitzdGF0aWMgY29uc3QgY2hhciAqYmluZGlyc1tdID0geworCSIvdXNyL2JpbiIsCisJIi91c3Ivc2JpbiIsCisjaWYgZGVmaW5lZChNVUxUSUFSQ0hUUklQTEVUKQorCSIvbGliLyIgTVVMVElBUkNIVFJJUExFVCwKKwkiL3Vzci9saWIvIiBNVUxUSUFSQ0hUUklQTEVULAorCSIvdXNyL2xvY2FsL2xpYi8iIE1VTFRJQVJDSFRSSVBMRVQsCisjZW5kaWYKKwkiL3Vzci9saWIiLAorCSIvdXNyL2xpYjY0IiwKKwkiL2JpbiIsCisJIi9zYmluIiwKKwkiL2V0YyIsCisJIi91c3IvZXRjIiwKKwkiL2xpYiIsCisJIi9saWI2NCIsCisJIi91c3IvZ2FtZXMiLAorCSIvdXNyL2dhbWVzL2JpbiIsCisJIi91c3IvZ2FtZXMvbGliIiwKKwkiL3Vzci9lbWFjcy9ldGMiLAorCSIvdXNyL2xpYi9lbWFjcy8qL2V0YyIsCisJIi91c3IvVGVYL2JpbiIsCisJIi91c3IvdGV4L2JpbiIsCisJIi91c3IvaW50ZXJ2aWV3cy9iaW4vTElOVVgiLAorCisJIi91c3IvWDExUjYvYmluIiwKKwkiL3Vzci9YMzg2L2JpbiIsCisJIi91c3IvYmluL1gxMSIsCisJIi91c3IvWDExL2JpbiIsCisJIi91c3IvWDExUjUvYmluIiwKKworCSIvdXNyL2xvY2FsL2JpbiIsCisJIi91c3IvbG9jYWwvc2JpbiIsCisJIi91c3IvbG9jYWwvZXRjIiwKKwkiL3Vzci9sb2NhbC9saWIiLAorCSIvdXNyL2xvY2FsL2dhbWVzIiwKKwkiL3Vzci9sb2NhbC9nYW1lcy9iaW4iLAorCSIvdXNyL2xvY2FsL2VtYWNzL2V0YyIsCisJIi91c3IvbG9jYWwvVGVYL2JpbiIsCisJIi91c3IvbG9jYWwvdGV4L2JpbiIsCisJIi91c3IvbG9jYWwvYmluL1gxMSIsCisKKwkiL3Vzci9jb250cmliIiwKKwkiL3Vzci9ob3N0cyIsCisJIi91c3IvaW5jbHVkZSIsCisKKwkiL3Vzci9nKystaW5jbHVkZSIsCisKKwkiL3Vzci91Y2IiLAorCSIvdXNyL29sZCIsCisJIi91c3IvbmV3IiwKKwkiL3Vzci9sb2NhbCIsCisJIi91c3IvbGliZXhlYyIsCisJIi91c3Ivc2hhcmUiLAorCisJIi9vcHQvKi9iaW4iLAorCU5VTEwKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICptYW5kaXJzW10gPSB7CisJIi91c3IvbWFuLyoiLAorCSIvdXNyL3NoYXJlL21hbi8qIiwKKwkiL3Vzci9YMzg2L21hbi8qIiwKKwkiL3Vzci9YMTEvbWFuLyoiLAorCSIvdXNyL1RlWC9tYW4vKiIsCisJIi91c3IvaW50ZXJ2aWV3cy9tYW4vbWFubiIsCisJIi91c3Ivc2hhcmUvaW5mbyIsCisJTlVMTAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKnNyY2RpcnNbXSA9IHsKKwkiL3Vzci9zcmMvKiIsCisJIi91c3Ivc3JjL2xpYi9saWJjLyoiLAorCSIvdXNyL3NyYy9saWIvbGliYy9uZXQvKiIsCisJIi91c3Ivc3JjL3VjYi9wYXNjYWwiLAorCSIvdXNyL3NyYy91Y2IvcGFzY2FsL3V0aWxpdGllcyIsCisJIi91c3Ivc3JjL3VuZG9jIiwKKwlOVUxMCit9OworCitzdGF0aWMgdm9pZCB3aGVyZWlzX2luaXRfZGVidWcodm9pZCkKK3sKKwlfX1VMX0lOSVRfREVCVUdfRlJPTV9FTlYod2hlcmVpcywgV0hFUkVJU19ERUJVR18sIDAsIFdIRVJFSVNfREVCVUcpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqd2hlcmVpc190eXBlX3RvX25hbWUoaW50IHR5cGUpCit7CisJc3dpdGNoICh0eXBlKSB7CisJY2FzZSBCSU5fRElSOiByZXR1cm4gImJpbiI7CisJY2FzZSBNQU5fRElSOiByZXR1cm4gIm1hbiI7CisJY2FzZSBTUkNfRElSOiByZXR1cm4gInNyYyI7CisJZGVmYXVsdDogICAgICByZXR1cm4gIj8/PyI7CisJfQorfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoIndoZXJlaXMoMSkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBkaXJsaXN0X2FkZF9kaXIoc3RydWN0IHdoX2Rpcmxpc3QgKipsczAsIGludCB0eXBlLCBjb25zdCBjaGFyICpkaXIpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJc3RydWN0IHdoX2Rpcmxpc3QgKnByZXYgPSBOVUxMLCAqbHMgPSAqbHMwOworCisJaWYgKGFjY2VzcyhkaXIsIFJfT0spICE9IDApCisJCXJldHVybjsKKwlpZiAoc3RhdChkaXIsICZzdCkgIT0gMCB8fCAhU19JU0RJUihzdC5zdF9tb2RlKSkKKwkJcmV0dXJuOworCisJd2hpbGUgKGxzKSB7CisJCWlmIChscy0+c3RfaW5vID09IHN0LnN0X2lubyAmJgorCQkgICAgbHMtPnN0X2RldiA9PSBzdC5zdF9kZXYgJiYKKwkJICAgIGxzLT50eXBlID09IHR5cGUpIHsKKwkJCURCRyhMSVNULCB1bF9kZWJ1Z29iaigqbHMwLCAiICBpZ25vcmUgKGFscmVhZHkgaW4gbGlzdCk6ICVzIiwgZGlyKSk7CisJCQlyZXR1cm47CisJCX0KKwkJcHJldiA9IGxzOworCQlscyA9IGxzLT5uZXh0OworCX0KKworCisJbHMgPSB4Y2FsbG9jKDEsIHNpemVvZigqbHMpKTsKKwlscy0+c3RfaW5vID0gc3Quc3RfaW5vOworCWxzLT5zdF9kZXYgPSBzdC5zdF9kZXY7CisJbHMtPnR5cGUgPSB0eXBlOworCWxzLT5wYXRoID0gY2Fub25pY2FsaXplX3BhdGgoZGlyKTsKKworCWlmICghKmxzMCkKKwkJKmxzMCA9IGxzOwkJLyogZmlyc3QgaW4gdGhlIGxpc3QgKi8KKwllbHNlIHsKKwkJYXNzZXJ0KHByZXYpOworCQlwcmV2LT5uZXh0ID0gbHM7CS8qIGFkZCB0byB0aGUgZW5kIG9mIHRoZSBsaXN0ICovCisJfQorCisJREJHKExJU1QsIHVsX2RlYnVnb2JqKCpsczAsICIgIGFkZCBkaXI6ICVzIiwgbHMtPnBhdGgpKTsKKwlyZXR1cm47Cit9CisKKy8qIHNwZWNpYWwgY2FzZSBmb3IgJyonIGluIHRoZSBwYXRocyAqLworc3RhdGljIHZvaWQgZGlybGlzdF9hZGRfc3ViZGlyKHN0cnVjdCB3aF9kaXJsaXN0ICoqbHMsIGludCB0eXBlLCBjb25zdCBjaGFyICpkaXIpCit7CisJY2hhciBidWZbUEFUSF9NQVhdLCAqZDsKKwlESVIgKmRpcnA7CisJc3RydWN0IGRpcmVudCAqZHA7CisKKwlzdHJuY3B5KGJ1ZiwgZGlyLCBQQVRIX01BWCk7CisJYnVmW1BBVEhfTUFYIC0gMV0gPSAnXDAnOworCisJZCA9IHN0cmNocihidWYsICcqJyk7CisJaWYgKCFkKQorCQlyZXR1cm47CisJKmQgPSAwOworCisJZGlycCA9IG9wZW5kaXIoYnVmKTsKKwlpZiAoIWRpcnApCisJCXJldHVybjsKKworCURCRyhMSVNULCB1bF9kZWJ1Z29iaigqbHMsICIgc2Nhbm5pbmcgc3ViZGlyOiAlcyIsIGRpcikpOworCisJd2hpbGUgKChkcCA9IHJlYWRkaXIoZGlycCkpICE9IE5VTEwpIHsKKwkJaWYgKCFzdHJjbXAoZHAtPmRfbmFtZSwgIi4iKSB8fCAhc3RyY21wKGRwLT5kX25hbWUsICIuLiIpKQorCQkJY29udGludWU7CisJCXNucHJpbnRmKGQsIFBBVEhfTUFYIC0gKGQgLSBidWYpLCAiJXMiLCBkcC0+ZF9uYW1lKTsKKwkJLyogYSBkaXIgZGVmaW5pdGlvbiBjYW4gaGF2ZSBhIHN0YXIgaW4gbWlkZGxlIG9mIHBhdGggKi8KKwkJc3RyY2F0KGJ1Ziwgc3RyY2hyKGRpciwgJyonKSArIDEpOworCQlkaXJsaXN0X2FkZF9kaXIobHMsIHR5cGUsIGJ1Zik7CisJfQorCWNsb3NlZGlyKGRpcnApOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgY29uc3RydWN0X2Rpcmxpc3RfZnJvbV9lbnYoY29uc3QgY2hhciAqZW52LAorCQkJCSAgICAgICBzdHJ1Y3Qgd2hfZGlybGlzdCAqKmxzLAorCQkJCSAgICAgICBpbnQgdHlwZSkKK3sKKwljaGFyICprZXkgPSBOVUxMLCAqdG9rID0gTlVMTCwgKnBhdGhjcCwgKnBhdGggPSBnZXRlbnYoZW52KTsKKworCWlmICghcGF0aCkKKwkJcmV0dXJuOworCXBhdGhjcCA9IHhzdHJkdXAocGF0aCk7CisKKwlEQkcoRU5WLCB1bF9kZWJ1Z29iaigqbHMsICJjb25zdHJ1Y3QgJXMgZGlybGlzdCBmcm9tOiAlcyIsCisJCQkJd2hlcmVpc190eXBlX3RvX25hbWUodHlwZSksIHBhdGgpKTsKKworCWZvciAodG9rID0gc3RydG9rX3IocGF0aGNwLCAiOiIsICZrZXkpOyB0b2s7CisJICAgICB0b2sgPSBzdHJ0b2tfcihOVUxMLCAiOiIsICZrZXkpKQorCQlkaXJsaXN0X2FkZF9kaXIobHMsIHR5cGUsIHRvayk7CisKKwlmcmVlKHBhdGhjcCk7CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBjb25zdHJ1Y3RfZGlybGlzdF9mcm9tX2FyZ3Yoc3RydWN0IHdoX2Rpcmxpc3QgKipscywKKwkJCQkJaW50ICppZHgsCisJCQkJCWludCBhcmdjLAorCQkJCQljaGFyICphcmd2W10sCisJCQkJCWludCB0eXBlKQoreworCWludCBpOworCisJREJHKEFSR1YsIHVsX2RlYnVnb2JqKCpscywgImNvbnN0cnVjdCAlcyBkaXJsaXN0IGZyb20gYXJndlslZC4uXSIsCisJCQkJd2hlcmVpc190eXBlX3RvX25hbWUodHlwZSksICppZHgpKTsKKworCWZvciAoaSA9ICppZHg7IGkgPCBhcmdjOyBpKyspIHsKKwkJaWYgKCphcmd2W2ldID09ICctJykJCQkvKiBlbmQgb2YgdGhlIGxpc3QgKi8KKwkJCWJyZWFrOworCisJCURCRyhBUkdWLCB1bF9kZWJ1Z29iaigqbHMsICIgIHVzaW5nIGFyZ3ZbJWRdOiAlcyIsICppZHgsIGFyZ3ZbKmlkeF0pKTsKKwkJZGlybGlzdF9hZGRfZGlyKGxzLCB0eXBlLCBhcmd2W2ldKTsKKwkJKmlkeCA9IGk7CisJfQorCisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBjb25zdHJ1Y3RfZGlybGlzdChzdHJ1Y3Qgd2hfZGlybGlzdCAqKmxzLAorCQkJICAgICAgaW50IHR5cGUsCisJCQkgICAgICBjb25zdCBjaGFyICoqcGF0aHMpCit7CisJc2l6ZV90IGk7CisKKwlEQkcoU1RBVElDLCB1bF9kZWJ1Z29iaigqbHMsICJjb25zdHJ1Y3QgJXMgZGlybGlzdCBmcm9tIHN0YXRpYyBhcnJheSIsCisJCQkJd2hlcmVpc190eXBlX3RvX25hbWUodHlwZSkpKTsKKworCWZvciAoaSA9IDA7IHBhdGhzW2ldOyBpKyspIHsKKwkJaWYgKCFzdHJjaHIocGF0aHNbaV0sICcqJykpCisJCQlkaXJsaXN0X2FkZF9kaXIobHMsIHR5cGUsIHBhdGhzW2ldKTsKKwkJZWxzZQorCQkJZGlybGlzdF9hZGRfc3ViZGlyKGxzLCB0eXBlLCBwYXRoc1tpXSk7CisJfQorCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgZnJlZV9kaXJsaXN0KHN0cnVjdCB3aF9kaXJsaXN0ICoqbHMwLCBpbnQgdHlwZSkKK3sKKwlzdHJ1Y3Qgd2hfZGlybGlzdCAqcHJldiA9IE5VTEwsICpuZXh0LCAqbHMgPSAqbHMwOworCisJKmxzMCA9IE5VTEw7CisKKwlEQkcoTElTVCwgdWxfZGVidWdvYmooKmxzMCwgImZyZWUgZGlybGlzdCIpKTsKKworCXdoaWxlIChscykgeworCQlpZiAobHMtPnR5cGUgJiB0eXBlKSB7CisJCQluZXh0ID0gbHMtPm5leHQ7CisJCQlEQkcoTElTVCwgdWxfZGVidWdvYmooKmxzMCwgIiBmcmVlOiAlcyIsIGxzLT5wYXRoKSk7CisJCQlmcmVlKGxzLT5wYXRoKTsKKwkJCWZyZWUobHMpOworCQkJbHMgPSBuZXh0OworCQkJaWYgKHByZXYpCisJCQkJcHJldi0+bmV4dCA9IGxzOworCQl9IGVsc2UgeworCQkJaWYgKCFwcmV2KQorCQkJCSpsczAgPSBsczsJLyogZmlyc3QgdW5yZW1vdmVkICovCisJCQlwcmV2ID0gbHM7CisJCQlscyA9IGxzLT5uZXh0OworCQl9CisJfQorCisJcmV0dXJuOworfQorCisKK3N0YXRpYyBpbnQgZmlsZW5hbWVfZXF1YWwoY29uc3QgY2hhciAqY3AsIGNvbnN0IGNoYXIgKmRwKQoreworCWludCBpID0gc3RybGVuKGRwKTsKKworCURCRyhTRUFSQ0gsIHVsX2RlYnVnKCJjb21wYXJlICclcycgYW5kICclcyciLCBjcCwgZHApKTsKKworCWlmIChkcFswXSA9PSAncycgJiYgZHBbMV0gPT0gJy4nICYmIGZpbGVuYW1lX2VxdWFsKGNwLCBkcCArIDIpKQorCQlyZXR1cm4gMTsKKwlpZiAoIXN0cmNtcChkcCArIGkgLSAyLCAiLloiKSkKKwkJaSAtPSAyOworCWVsc2UgaWYgKCFzdHJjbXAoZHAgKyBpIC0gMywgIi5neiIpKQorCQlpIC09IDM7CisJZWxzZSBpZiAoIXN0cmNtcChkcCArIGkgLSAzLCAiLnh6IikpCisJCWkgLT0gMzsKKwllbHNlIGlmICghc3RyY21wKGRwICsgaSAtIDQsICIuYnoyIikpCisJCWkgLT0gNDsKKwl3aGlsZSAoKmNwICYmICpkcCAmJiAqY3AgPT0gKmRwKQorCQljcCsrLCBkcCsrLCBpLS07CisJaWYgKCpjcCA9PSAwICYmICpkcCA9PSAwKQorCQlyZXR1cm4gMTsKKwl3aGlsZSAoaXNkaWdpdCgqZHApKQorCQlkcCsrOworCWlmICgqY3AgPT0gMCAmJiAqZHArKyA9PSAnLicpIHsKKwkJLS1pOworCQl3aGlsZSAoaSA+IDAgJiYgKmRwKQorCQkJaWYgKC0taSwgKmRwKysgPT0gJy4nKQorCQkJCXJldHVybiAoKmRwKysgPT0gJ0MnICYmICpkcCsrID09IDApOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGZpbmRpbihjb25zdCBjaGFyICpkaXIsIGNvbnN0IGNoYXIgKnBhdHRlcm4sIGludCAqY291bnQsIGNoYXIgKip3YWl0KQoreworCURJUiAqZGlycDsKKwlzdHJ1Y3QgZGlyZW50ICpkcDsKKworCWRpcnAgPSBvcGVuZGlyKGRpcik7CisJaWYgKGRpcnAgPT0gTlVMTCkKKwkJcmV0dXJuOworCisJREJHKFNFQVJDSCwgdWxfZGVidWcoImZpbmQgJyVzJyBpbiAnJXMnIiwgcGF0dGVybiwgZGlyKSk7CisKKwl3aGlsZSAoKGRwID0gcmVhZGRpcihkaXJwKSkgIT0gTlVMTCkgeworCQlpZiAoIWZpbGVuYW1lX2VxdWFsKHBhdHRlcm4sIGRwLT5kX25hbWUpKQorCQkJY29udGludWU7CisKKwkJaWYgKHVmbGFnICYmICpjb3VudCA9PSAwKQorCQkJeGFzcHJpbnRmKHdhaXQsICIlcy8lcyIsIGRpciwgZHAtPmRfbmFtZSk7CisKKwkJZWxzZSBpZiAodWZsYWcgJiYgKmNvdW50ID09IDEgJiYgKndhaXQpIHsKKwkJCXByaW50ZigiJXM6ICVzICVzLyVzIiwgcGF0dGVybiwgKndhaXQsIGRpciwgIGRwLT5kX25hbWUpOworCQkJZnJlZSgqd2FpdCk7CisJCQkqd2FpdCA9IE5VTEw7CisJCX0gZWxzZQorCQkJcHJpbnRmKCIgJXMvJXMiLCBkaXIsIGRwLT5kX25hbWUpOworCQkrKygqY291bnQpOworCX0KKwljbG9zZWRpcihkaXJwKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIGxvb2t1cChjb25zdCBjaGFyICpwYXR0ZXJuLCBzdHJ1Y3Qgd2hfZGlybGlzdCAqbHMsIGludCB3YW50KQoreworCWNoYXIgcGF0YnVmW1BBVEhfTUFYXTsKKwlpbnQgY291bnQgPSAwOworCWNoYXIgKndhaXQgPSBOVUxMLCAqcDsKKworCS8qIGNhbm9uaWNhbGl6ZSBwYXR0ZXJuIC0tIHJlbW92ZSBwYXRoIHN1ZmZpeCBldGMuICovCisJcCA9IHN0cnJjaHIocGF0dGVybiwgJy8nKTsKKwlwID0gcCA/IHAgKyAxIDogKGNoYXIgKikgcGF0dGVybjsKKwlzdHJuY3B5KHBhdGJ1ZiwgcCwgUEFUSF9NQVgpOworCXBhdGJ1ZltQQVRIX01BWCAtIDFdID0gJ1wwJzsKKworCURCRyhTRUFSQ0gsIHVsX2RlYnVnKCJsb29rdXAgZGlycyBmb3IgJyVzJyAoJXMpLCB3YW50OiAlcyAlcyAlcyIsCisJCQkJcGF0YnVmLCBwYXR0ZXJuLAorCQkJCXdhbnQgJiBCSU5fRElSID8gImJpbiIgOiAiIiwKKwkJCQl3YW50ICYgTUFOX0RJUiA/ICJtYW4iIDogIiIsCisJCQkJd2FudCAmIFNSQ19ESVIgPyAic3JjIiA6ICIiKSk7CisJcCA9IHN0cnJjaHIocGF0YnVmLCAnLicpOworCWlmIChwKQorCQkqcCA9ICdcMCc7CisKKwlpZiAoIXVmbGFnKQorCQkvKiBpZiAtdSBub3Qgc3BlY2lmaWVkIHRoZW4gd2UgYWx3YXlzIHByaW50IHRoZSBwYXR0ZXJuICovCisJCXByaW50ZigiJXM6IiwgcGF0YnVmKTsKKworCWZvciAoOyBsczsgbHMgPSBscy0+bmV4dCkgeworCQlpZiAoKGxzLT50eXBlICYgd2FudCkgJiYgbHMtPnBhdGgpCisJCQlmaW5kaW4obHMtPnBhdGgsIHBhdGJ1ZiwgJmNvdW50LCAmd2FpdCk7CisJfQorCisJZnJlZSh3YWl0KTsKKworCWlmICghdWZsYWcgfHwgY291bnQgPiAxKQorCQlwdXRjaGFyKCdcbicpOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgbGlzdF9kaXJsaXN0KHN0cnVjdCB3aF9kaXJsaXN0ICpscykKK3sKKwl3aGlsZSAobHMpIHsKKwkJaWYgKGxzLT5wYXRoKSB7CisJCQlzd2l0Y2ggKGxzLT50eXBlKSB7CisJCQljYXNlIEJJTl9ESVI6CisJCQkJcHJpbnRmKCJiaW46ICIpOworCQkJCWJyZWFrOworCQkJY2FzZSBNQU5fRElSOgorCQkJCXByaW50ZigibWFuOiAiKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgU1JDX0RJUjoKKwkJCQlwcmludGYoInNyYzogIik7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCWFib3J0KCk7CisJCQl9CisJCQlwcmludGYoIiVzXG4iLCBscy0+cGF0aCk7CisJCX0KKwkJbHMgPSBscy0+bmV4dDsKKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3Qgd2hfZGlybGlzdCAqbHMgPSBOVUxMOworCWludCB3YW50ID0gQUxMX0RJUlM7CisJaW50IGksIHdhbnRfcmVzZXRhYmxlID0gMCwgb3B0X2ZfbWlzc2luZyA9IDA7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKGFyZ2MgPD0gMSkgeworCQl3YXJueChfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0gZWxzZSB7CisJCS8qIGZpcnN0IGFyZyBtYXkgYmUgb25lIG9mIG91ciBzdGFuZGFyZCBsb25nb3B0cyAqLworCQlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS1oZWxwIikpCisJCQl1c2FnZSgpOworCQlpZiAoIXN0cmNtcChhcmd2WzFdLCAiLS12ZXJzaW9uIikpIHsKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQl9CisJfQorCisJd2hlcmVpc19pbml0X2RlYnVnKCk7CisKKwljb25zdHJ1Y3RfZGlybGlzdCgmbHMsIEJJTl9ESVIsIGJpbmRpcnMpOworCWNvbnN0cnVjdF9kaXJsaXN0X2Zyb21fZW52KCJQQVRIIiwgJmxzLCBCSU5fRElSKTsKKworCWNvbnN0cnVjdF9kaXJsaXN0KCZscywgTUFOX0RJUiwgbWFuZGlycyk7CisJY29uc3RydWN0X2Rpcmxpc3RfZnJvbV9lbnYoIk1BTlBBVEgiLCAmbHMsIE1BTl9ESVIpOworCisJY29uc3RydWN0X2Rpcmxpc3QoJmxzLCBTUkNfRElSLCBzcmNkaXJzKTsKKworCWZvciAoaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwkJY29uc3QgY2hhciAqYXJnID0gYXJndltpXTsKKwkJaW50IGFyZ19pID0gaTsKKworCQlEQkcoQVJHViwgdWxfZGVidWcoImFyZ3ZbJWRdOiAlcyIsIGksIGFyZykpOworCisJCWlmICgqYXJnICE9ICctJykgeworCQkJbG9va3VwKGFyZywgbHMsIHdhbnQpOworCQkJLyoKKwkJCSAqIFRoZSBsb29rdXAgbWFzayAoIndhbnQiKSBpcyBjdW11bGF0aXZlIGFuZCBpdCdzCisJCQkgKiByZXNldGFibGUgb25seSB3aGVuIGl0IGhhcyBiZWVuIGFscmVhZHkgdXNlZC4KKwkJCSAqCisJCQkgKiAgd2hlcmVpcyAtYiAtbSBmb28gICAgIDonZm9vJyBtYXNrPUJJTnxNQU4KKwkJCSAqICB3aGVyZWlzIC1iIGZvbyBiYXIgICAgOidmb28nIGFuZCAnYmFyJyBtYXNrPUJJTnxNQU4KKwkJCSAqICB3aGVyZWlzIC1iIGZvbyAtbSBiYXIgOidmb28nIG1hc2s9QklOOyAnYmFyJyBtYXNrPU1BTgorCQkJICovCisJCQl3YW50X3Jlc2V0YWJsZSA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCisJCWZvciAoKythcmc7IGFyZyAmJiAqYXJnOyBhcmcrKykgeworCQkJREJHKEFSR1YsIHVsX2RlYnVnKCIgIGFyZzogJXMiLCBhcmcpKTsKKworCQkJc3dpdGNoICgqYXJnKSB7CisJCQljYXNlICdmJzoKKwkJCQlvcHRfZl9taXNzaW5nID0gMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ3UnOgorCQkJCXVmbGFnID0gMTsKKwkJCQlvcHRfZl9taXNzaW5nID0gMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ0InOgorCQkJCWlmICgqKGFyZyArIDEpKSB7CisJCQkJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQkJCX0KKwkJCQlpKys7CisJCQkJZnJlZV9kaXJsaXN0KCZscywgQklOX0RJUik7CisJCQkJY29uc3RydWN0X2Rpcmxpc3RfZnJvbV9hcmd2KAorCQkJCQkmbHMsICZpLCBhcmdjLCBhcmd2LCBCSU5fRElSKTsKKwkJCQlvcHRfZl9taXNzaW5nID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ00nOgorCQkJCWlmICgqKGFyZyArIDEpKSB7CisJCQkJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQkJCX0KKwkJCQlpKys7CisJCQkJZnJlZV9kaXJsaXN0KCZscywgTUFOX0RJUik7CisJCQkJY29uc3RydWN0X2Rpcmxpc3RfZnJvbV9hcmd2KAorCQkJCQkmbHMsICZpLCBhcmdjLCBhcmd2LCBNQU5fRElSKTsKKwkJCQlvcHRfZl9taXNzaW5nID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ1MnOgorCQkJCWlmICgqKGFyZyArIDEpKSB7CisJCQkJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQkJCX0KKwkJCQlpKys7CisJCQkJZnJlZV9kaXJsaXN0KCZscywgU1JDX0RJUik7CisJCQkJY29uc3RydWN0X2Rpcmxpc3RfZnJvbV9hcmd2KAorCQkJCQkmbHMsICZpLCBhcmdjLCBhcmd2LCBTUkNfRElSKTsKKwkJCQlvcHRfZl9taXNzaW5nID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ2InOgorCQkJCWlmICh3YW50X3Jlc2V0YWJsZSkgeworCQkJCQl3YW50ID0gQUxMX0RJUlM7CisJCQkJCXdhbnRfcmVzZXRhYmxlID0gMDsKKwkJCQl9CisJCQkJd2FudCA9IHdhbnQgPT0gQUxMX0RJUlMgPyBCSU5fRElSIDogd2FudCB8IEJJTl9ESVI7CisJCQkJb3B0X2ZfbWlzc2luZyA9IDA7CisJCQkJYnJlYWs7CisJCQljYXNlICdtJzoKKwkJCQlpZiAod2FudF9yZXNldGFibGUpIHsKKwkJCQkJd2FudCA9IEFMTF9ESVJTOworCQkJCQl3YW50X3Jlc2V0YWJsZSA9IDA7CisJCQkJfQorCQkJCXdhbnQgPSB3YW50ID09IEFMTF9ESVJTID8gTUFOX0RJUiA6IHdhbnQgfCBNQU5fRElSOworCQkJCW9wdF9mX21pc3NpbmcgPSAwOworCQkJCWJyZWFrOworCQkJY2FzZSAncyc6CisJCQkJaWYgKHdhbnRfcmVzZXRhYmxlKSB7CisJCQkJCXdhbnQgPSBBTExfRElSUzsKKwkJCQkJd2FudF9yZXNldGFibGUgPSAwOworCQkJCX0KKwkJCQl3YW50ID0gd2FudCA9PSBBTExfRElSUyA/IFNSQ19ESVIgOiB3YW50IHwgU1JDX0RJUjsKKwkJCQlvcHRfZl9taXNzaW5nID0gMDsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ2wnOgorCQkJCWxpc3RfZGlybGlzdChscyk7CisJCQkJYnJlYWs7CisJCQljYXNlICdWJzoKKwkJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQkJY2FzZSAnaCc6CisJCQkJdXNhZ2UoKTsKKwkJCWRlZmF1bHQ6CisJCQkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJCX0KKworCQkJaWYgKGFyZ19pIDwgaSkJCS8qIG1vdmVkIHRvIHRoZSBuZXh0IGFyZ3ZbXSBpdGVtICovCisJCQkJYnJlYWs7CisJCX0KKwl9CisKKwlmcmVlX2Rpcmxpc3QoJmxzLCBBTExfRElSUyk7CisJaWYgKG9wdF9mX21pc3NpbmcpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb24gLWYgaXMgbWlzc2luZyIpKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy93aXBlZnMuOCBiL21pc2MtdXRpbHMvd2lwZWZzLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzg3NGUxYQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvd2lwZWZzLjgKQEAgLTAsMCArMSwxMzYgQEAKKy5cIiBDb3B5cmlnaHQgMjAwOSBieSBLYXJlbCBaYWsuICBBbGwgUmlnaHRzIFJlc2VydmVkLgorLlwiIFRoaXMgZmlsZSBtYXkgYmUgY29waWVkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIFB1YmxpYyBMaWNlbnNlLgorLlwiCisuVEggV0lQRUZTIDggIkRlY2VtYmVyIDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3dpcGVmcyBcLSB3aXBlIGEgc2lnbmF0dXJlIGZyb20gYSBkZXZpY2UKKy5TSCBTWU5PUFNJUworLkIgd2lwZWZzCisuUkIgWyBvcHRpb25zIF0KKy5JUiBkZXZpY2UgLi4uCisuc3AKKy5CIHdpcGVmcworLlJCIFsgXC1cLWJhY2t1cCBdCisuQiBcLW8KKy5JIG9mZnNldAorLklSIGRldmljZSAuLi4KKy5zcAorLkIgd2lwZWZzCisuUkIgWyBcLVwtYmFja3VwIF0KKy5CIFwtYQorLklSIGRldmljZSAuLi4KKy5TSCBERVNDUklQVElPTgorLkIgd2lwZWZzCitjYW4gZXJhc2UgZmlsZXN5c3RlbSwgcmFpZCBvciBwYXJ0aXRpb24tdGFibGUgc2lnbmF0dXJlcyAobWFnaWMgc3RyaW5ncykgZnJvbQordGhlIHNwZWNpZmllZAorLkkgZGV2aWNlCit0byBtYWtlIHRoZSBzaWduYXR1cmVzIGludmlzaWJsZSBmb3IgbGliYmxraWQuCisuQiB3aXBlZnMKK2RvZXMgbm90IGVyYXNlIHRoZSBmaWxlc3lzdGVtIGl0c2VsZiBub3IgYW55IG90aGVyIGRhdGEgZnJvbSB0aGUgZGV2aWNlLgorCitXaGVuIHVzZWQgd2l0aG91dCBhbnkgb3B0aW9ucywgd2lwZWZzIGxpc3RzIGFsbCB2aXNpYmxlIGZpbGVzeXN0ZW1zIGFuZCB0aGUKK29mZnNldHMgb2YgdGhlaXIgYmFzaWMgc2lnbmF0dXJlcy4gIFRoZSBkZWZhdWx0IG91dHB1dCBpcyBzdWJqZWN0IHRvIGNoYW5nZS4KK1NvIHdoZW5ldmVyIHBvc3NpYmxlLCB5b3Ugc2hvdWxkIGF2b2lkIHVzaW5nIGRlZmF1bHQgb3V0cHV0cyBpbiB5b3VyIHNjcmlwdHMuCitBbHdheXMgZXhwbGljaXRseSBkZWZpbmUgZXhwZWN0ZWQgY29sdW1ucyBieSB1c2luZworLkIgXC1cLW91dHB1dAorLkkgY29sdW1ucy1saXN0CitpbiBlbnZpcm9ubWVudHMgd2hlcmUgYSBzdGFibGUgb3V0cHV0IGlzIHJlcXVpcmVkLgorCisuQiB3aXBlZnMKK2NhbGxzIHRoZSBCTEtSUlBBUlQgaW9jdGwgd2hlbiBpdCBoYXMgZXJhc2VkIGEgcGFydGl0aW9uLXRhYmxlIHNpZ25hdHVyZQordG8gaW5mb3JtIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGNoYW5nZS4gVGhlIGlvY3RsIGlzIGNhbGxlZCBhcyB0aGUgbGFzdCBzdGVwCithbmQgd2hlbiBhbGwgc3BlY2lmaWVkIHNpZ25hdHVyZXMgZnJvbSBhbGwgc3BlY2lmaWVkIGRldmljZXMgYXJlIGFscmVhZHkgZXJhc2VkLgorCitOb3RlIHRoYXQgc29tZSBmaWxlc3lzdGVtcyBhbmQgc29tZSBwYXJ0aXRpb24gdGFibGVzIHN0b3JlIG1vcmUgbWFnaWMgc3RyaW5ncyBvbgordGhlIGRldmljZSAoZS5nLiBGQVQsIFpGUywgR1BUKS4gIFRoZQorLkIgd2lwZWZzCitjb21tYW5kIChzaW5jZSB2Mi4zMSkgbGlzdHMgYWxsIHRoZSBvZmZzZXQgd2hlcmUgYSBtYWdpYyBzdHJpbmdzIGhhdmUgYmVlbgorZGV0ZWN0ZWQuCisKK1doZW4gb3B0aW9uIFxmQi1hXGZSIGlzIHVzZWQsIGFsbCBtYWdpYyBzdHJpbmdzIHRoYXQgYXJlIHZpc2libGUgZm9yIGxpYmJsa2lkIGFyZQorZXJhc2VkLiBJbiB0aGlzIGNhc2UgdGhlCisuQiB3aXBlZnMKK3NjYW5zIHRoZSBkZXZpY2UgYWdhaW4gYWZ0ZXIgZWFjaCBtb2RpZmljYXRpb24gKGVyYXNlKSB1bnRpbCBubyBtYWdpYyBzdHJpbmcgaXMgZm91bmQuCisKK05vdGUgdGhhdCBieSBkZWZhdWx0CisuQiB3aXBlZnMKK2RvZXMgbm90IGVyYXNlIG5lc3RlZCBwYXJ0aXRpb24gdGFibGVzIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZXMuCitGb3IgdGhpcyB0aGUgb3B0aW9uIFxmQlwtXC1mb3JjZVxmUiBpcyByZXF1aXJlZC4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFsbCIKK0VyYXNlIGFsbCBhdmFpbGFibGUgc2lnbmF0dXJlcy4gIFRoZSBzZXQgb2YgZXJhc2VkIHNpZ25hdHVyZXMgY2FuIGJlCityZXN0cmljdGVkIHdpdGggdGhlIFxmQlwtdFxmUiBvcHRpb24uCisuVFAKKy5CUiBcLWIgLCAiIFwtXC1iYWNrdXAiCitDcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIHRvIHRoZSBmaWxlICRIT01FL3dpcGVmcy08ZGV2bmFtZT4tPG9mZnNldD4uYmFrLgorRm9yIG1vcmUgZGV0YWlscyBzZWUgdGhlIFxmQkVYQU1QTEVTXGZSIHNlY3Rpb24uCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1mb3JjZSIKK0ZvcmNlIGVyYXN1cmUsIGV2ZW4gaWYgdGhlIGZpbGVzeXN0ZW0gaXMgbW91bnRlZC4gIFRoaXMgaXMgcmVxdWlyZWQgaW4KK29yZGVyIHRvIGVyYXNlIGEgcGFydGl0aW9uLXRhYmxlIHNpZ25hdHVyZSBvbiBhIGJsb2NrIGRldmljZS4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkJSIFwtSiAsICIgXC1cLWpzb24iCitVc2UgSlNPTiBvdXRwdXQgZm9ybWF0LgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9oZWFkaW5ncyIKK0RvIG5vdCBwcmludCBhIGhlYWRlciBsaW5lLgorLlRQCisuQlIgXC1PICwgIiBcLVwtb3V0cHV0ICIgXGZJbGlzdFxmUAorU3BlY2lmeSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byBwcmludC4gIFVzZSBcLVwtaGVscCB0bworZ2V0IGEgbGlzdCBvZiBhbGwgc3VwcG9ydGVkIGNvbHVtbnMuCisuVFAKKy5CUiAtbiAsICIgXC1cLW5vXC1hY3QiCitDYXVzZXMgZXZlcnl0aGluZyB0byBiZSBkb25lIGV4Y2VwdCBmb3IgdGhlIHdyaXRlKCkgY2FsbC4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW9mZnNldCAiIFxmSW9mZnNldFxmUAorU3BlY2lmeSB0aGUgbG9jYXRpb24gKGluIGJ5dGVzKSBvZiB0aGUgc2lnbmF0dXJlIHdoaWNoIHNob3VsZCBiZSBlcmFzZWQgZnJvbSB0aGUKK2RldmljZS4gIFRoZSBcZklvZmZzZXRcZlIgbnVtYmVyIG1heSBpbmNsdWRlIGEgIjB4IiBwcmVmaXg7IHRoZW4gdGhlIG51bWJlciB3aWxsIGJlCitpbnRlcnByZXRlZCBhcyBhIGhleCB2YWx1ZS4gIEl0IGlzIHBvc3NpYmxlIHRvIHNwZWNpZnkgbXVsdGlwbGUgXGZCLW9cZlIgb3B0aW9ucy4KKy5zcAorVGhlIFxmSW9mZnNldFxmUiBhcmd1bWVudCBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlCitzdWZmaXhlcyBLaUIgKD0xMDI0KSwgTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCCisodGhlICJpQiIgaXMgb3B0aW9uYWwsIGUuZy4gIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSwgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKy5UUAorLkJSIFwtcCAsICIgXC1cLXBhcnNhYmxlIgorUHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdC4gIEVuY29kZSBhbGwgcG90ZW50aWFsbHkgdW5zYWZlCitjaGFyYWN0ZXJzIG9mIGEgc3RyaW5nIHRvIHRoZSBjb3JyZXNwb25kaW5nIGhleCB2YWx1ZSBwcmVmaXhlZCBieSAnXFx4Jy4KKy5UUAorLkJSIFwtcSAsICIgXC1cLXF1aWV0IgorU3VwcHJlc3MgYW55IG1lc3NhZ2VzIGFmdGVyIGEgc3VjY2Vzc2Z1bCBzaWduYXR1cmUgd2lwZS4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXR5cGVzICIgXGZJbGlzdFxmUAorTGltaXQgdGhlIHNldCBvZiBwcmludGVkIG9yIGVyYXNlZCBzaWduYXR1cmVzLiAgTW9yZSB0aGFuIG9uZSB0eXBlIG1heQorYmUgc3BlY2lmaWVkIGluIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuICBUaGUgbGlzdCBvciBpbmRpdmlkdWFsIHR5cGVzCitjYW4gYmUgcHJlZml4ZWQgd2l0aCAnbm8nIHRvIHNwZWNpZnkgdGhlIHR5cGVzIG9uIHdoaWNoIG5vIGFjdGlvbiBzaG91bGQgYmUKK3Rha2VuLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgbW91bnQoOCkuCisuVFAKKy5CUiAtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKKy5UUAorLkIgd2lwZWZzIC9kZXYvc2RhKgorUHJpbnRzIGluZm9ybWF0aW9uIGFib3V0IHNkYSBhbmQgYWxsIHBhcnRpdGlvbnMgb24gc2RhLgorLlRQCisuQiB3aXBlZnMgLS1hbGwgLS1iYWNrdXAgL2Rldi9zZGIKK0VyYXNlcyBhbGwgc2lnbmF0dXJlcyBmcm9tIHRoZSBkZXZpY2UgL2Rldi9zZGIgYW5kIGNyZWF0ZXMgYSBzaWduYXR1cmUgYmFja3VwCitmaWxlIH4vd2lwZWZzLXNkYi08b2Zmc2V0Pi5iYWsgZm9yIGVhY2ggc2lnbmF0dXJlLgorLlRQCisuQiBkZCBpZj1+L3dpcGVmcy1zZGItMHgwMDAwMDQzOC5iYWsgb2Y9L2Rldi9zZGIgc2Vlaz0kKCgweDAwMDAwNDM4KSkgYnM9MSBjb252PW5vdHJ1bmMKK1Jlc3RvcmVzIGFuIGV4dDIgc2lnbmF0dXJlIGZyb20gdGhlIGJhY2t1cCBmaWxlICB+L3dpcGVmcy1zZGItMHgwMDAwMDQzOC5iYWsuCisuU0ggQVVUSE9SCitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5TSCBFTlZJUk9OTUVOVAorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQuCisuU0ggU0VFIEFMU08KKy5CUiBibGtpZCAoOCksCisuQlIgZmluZGZzICg4KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHdpcGVmcyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvbWlzYy11dGlscy93aXBlZnMuYyBiL21pc2MtdXRpbHMvd2lwZWZzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNhNzIwZQotLS0gL2Rldi9udWxsCisrKyBiL21pc2MtdXRpbHMvd2lwZWZzLmMKQEAgLTAsMCArMSw4MzAgQEAKKy8qCisgKiB3aXBlZnMgLSB1dGlsaXR5IHRvIHdpcGUgZmlsZXN5c3RlbXMgZnJvbSBkZXZpY2UKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxsaWJnZW4uaD4KKworI2luY2x1ZGUgPGJsa2lkLmg+CisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgIm1hdGNoLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKworc3RydWN0IHdpcGVfZGVzYyB7CisJbG9mZl90CQlvZmZzZXQ7CQkvKiBtYWdpYyBzdHJpbmcgb2Zmc2V0ICovCisJc2l6ZV90CQlsZW47CQkvKiBsZW5ndGggb2YgbWFnaWMgc3RyaW5nICovCisJdW5zaWduZWQgY2hhcgkqbWFnaWM7CQkvKiBtYWdpYyBzdHJpbmcgKi8KKworCWNoYXIJCSp1c2FnZTsJCS8qIHJhaWQsIGZpbGVzeXN0ZW0sIC4uLiAqLworCWNoYXIJCSp0eXBlOwkJLyogRlMgdHlwZSAqLworCWNoYXIJCSpsYWJlbDsJCS8qIEZTIGxhYmVsICovCisJY2hhcgkJKnV1aWQ7CQkvKiBGUyB1dWlkICovCisKKwlzdHJ1Y3Qgd2lwZV9kZXNjCSpuZXh0OworCisJdW5zaWduZWQgaW50CW9uX2Rpc2sgOiAxLAorCQkJaXNfcGFydHRhYmxlIDogMTsKKworfTsKKworc3RydWN0IHdpcGVfY29udHJvbCB7CisJY2hhcgkJKmRldm5hbWU7CisJY29uc3QgY2hhcgkqdHlwZV9wYXR0ZXJuOwkJLyogLXQgPHBhdHRlcm4+ICovCisKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKm91dHRhYjsKKwlzdHJ1Y3Qgd2lwZV9kZXNjICpvZmZzZXRzOwkJLyogLW8gPG9mZnNldD4gLW8gPG9mZnNldD4gLi4uICovCisKKwlzaXplX3QJCW5kZXZzOwkJCS8qIG51bWJlciBvZiBkZXZpY2VzIHRvIHByb2JlICovCisKKwljaGFyCQkqKnJlcmVhZDsJCS8qIGRldmljZXMgdG8gQkxLUlJQQVJUICovCisJc2l6ZV90CQlucmVyZWFkczsJCS8qIHNpemUgb2YgcmVyZWFkICovCisKKwl1bnNpZ25lZCBpbnQJbm9hY3QgOiAxLAorCQkJYWxsIDogMSwKKwkJCXF1aWV0IDogMSwKKwkJCWJhY2t1cCA6IDEsCisJCQlmb3JjZSA6IDEsCisJCQlqc29uIDogMSwKKwkJCW5vX2hlYWRpbmdzIDogMSwKKwkJCXBhcnNhYmxlIDogMTsKK307CisKKworLyogY29sdW1uIElEcyAqLworZW51bSB7CisJQ09MX1VVSUQgPSAwLAorCUNPTF9MQUJFTCwKKwlDT0xfTEVOLAorCUNPTF9UWVBFLAorCUNPTF9PRkZTRVQsCisJQ09MX1VTQUdFLAorCUNPTF9ERVZJQ0UKK307CisKKy8qIGNvbHVtbiBuYW1lcyAqLworc3RydWN0IGNvbGluZm8geworCWNvbnN0IGNoYXIgKm5hbWU7CS8qIGhlYWRlciAqLworCWRvdWJsZSB3aGludDsJCS8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludCBmbGFnczsJCS8qIFNDT0xTX0ZMXyogKi8KKwljb25zdCBjaGFyICpoZWxwOworfTsKKworLyogY29sdW1ucyBkZXNjcmlwdGlvbnMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfVVVJRF0gICAgPSB7IlVVSUQiLCAgICAgNCwgMCwgTl8oInBhcnRpdGlvbi9maWxlc3lzdGVtIFVVSUQiKX0sCisJW0NPTF9MQUJFTF0gICA9IHsiTEFCRUwiLCAgICA1LCAwLCBOXygiZmlsZXN5c3RlbSBMQUJFTCIpfSwKKwlbQ09MX0xFTl0gICAgID0geyJMRU5HVEgiLCAgIDYsIDAsIE5fKCJtYWdpYyBzdHJpbmcgbGVuZ3RoIil9LAorCVtDT0xfVFlQRV0gICAgPSB7IlRZUEUiLCAgICAgNCwgMCwgTl8oInN1cGVyYmxvayB0eXBlIil9LAorCVtDT0xfT0ZGU0VUXSAgPSB7Ik9GRlNFVCIsICAgNSwgMCwgTl8oIm1hZ2ljIHN0cmluZyBvZmZzZXQiKX0sCisJW0NPTF9VU0FHRV0gICA9IHsiVVNBR0UiLCAgICA1LCAwLCBOXygidHlwZSBkZXNjcmlwdGlvbiIpfSwKKwlbQ09MX0RFVklDRV0gID0geyJERVZJQ0UiLCAgIDUsIDAsIE5fKCJibG9jayBkZXZpY2UgbmFtZSIpfQorfTsKKworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl07CitzdGF0aWMgc2l6ZV90IG5jb2x1bW5zOworCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobmFtZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2NvbHVtbl9pZChzaXplX3QgbnVtKQoreworCWFzc2VydChudW0gPCBuY29sdW1ucyk7CisJYXNzZXJ0KGNvbHVtbnNbbnVtXSA8IChpbnQpQVJSQVlfU0laRShpbmZvcykpOworCXJldHVybiBjb2x1bW5zW251bV07Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKGludCBudW0pCit7CisJcmV0dXJuICZpbmZvc1tnZXRfY29sdW1uX2lkKG51bSldOworfQorCisKK3N0YXRpYyB2b2lkIGluaXRfb3V0cHV0KHN0cnVjdCB3aXBlX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCXNpemVfdCBpOworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKwl0YiA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghdGIpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisKKwlpZiAoY3RsLT5qc29uKSB7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHRiLCAxKTsKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUodGIsICJzaWduYXR1cmVzIik7CisJfQorCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRiLCBjdGwtPm5vX2hlYWRpbmdzKTsKKworCWlmIChjdGwtPnBhcnNhYmxlKSB7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGIsIDEpOworCQlzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcih0YiwgIiwiKTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgY29saW5mbyAqY29sID0gZ2V0X2NvbHVtbl9pbmZvKGkpOworCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKworCQljbCA9IHNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsIGNvbC0+bmFtZSwgY29sLT53aGludCwKKwkJCQkJICAgIGNvbC0+ZmxhZ3MpOworCQlpZiAoIWNsKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJCSAgICBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIikpOworCQlpZiAoY3RsLT5qc29uKSB7CisJCQlpbnQgaWQgPSBnZXRfY29sdW1uX2lkKGkpOworCisJCQlpZiAoaWQgPT0gQ09MX0xFTikKKwkJCQlzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZShjbCwgU0NPTFNfSlNPTl9OVU1CRVIpOworCQl9CisJfQorCWN0bC0+b3V0dGFiID0gdGI7Cit9CisKK3N0YXRpYyB2b2lkIGZpbmFsaXplX291dHB1dChzdHJ1Y3Qgd2lwZV9jb250cm9sICpjdGwpCit7CisJaWYgKGN0bC0+cGFyc2FibGUgJiYgIWN0bC0+bm9faGVhZGluZ3MKKwkgICAgJiYgIXNjb2xzX3RhYmxlX2lzX2VtcHR5KGN0bC0+b3V0dGFiKSkgeworCQlzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyID0gc2NvbHNfbmV3X2l0ZXIoU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwkJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisJCWludCBpID0gMDsKKworCQlpZiAoIWl0cikKKwkJCWVycl9vb20oKTsKKworCQlmcHV0cygiIyAiLCBzdGRvdXQpOworCQl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4oY3RsLT5vdXR0YWIsIGl0ciwgJmNsKSA9PSAwKSB7CisJCQlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqaGRyID0gc2NvbHNfY29sdW1uX2dldF9oZWFkZXIoY2wpOworCQkJY29uc3QgY2hhciAqbmFtZSA9IHNjb2xzX2NlbGxfZ2V0X2RhdGEoaGRyKTsKKworCQkJaWYgKGkpCisJCQkJZnB1dGMoJywnLCBzdGRvdXQpOworCQkJZnB1dHMobmFtZSwgc3Rkb3V0KTsKKwkJCWkrKzsKKwkJfQorCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCQlzY29sc19mcmVlX2l0ZXIoaXRyKTsKKwl9CisJc2NvbHNfcHJpbnRfdGFibGUoY3RsLT5vdXR0YWIpOworCXNjb2xzX3VucmVmX3RhYmxlKGN0bC0+b3V0dGFiKTsKK30KKworc3RhdGljIHZvaWQgZmlsbF90YWJsZV9yb3coc3RydWN0IHdpcGVfY29udHJvbCAqY3RsLCBzdHJ1Y3Qgd2lwZV9kZXNjICp3cCkKK3sKKwlzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXNpemVfdCBpOworCisJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZShjdGwtPm91dHRhYiwgTlVMTCk7CisJaWYgKCFsbikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNoYXIgKnN0ciA9IE5VTEw7CisKKwkJc3dpdGNoIChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX1VVSUQ6CisJCQlpZiAod3AtPnV1aWQpCisJCQkJc3RyID0geHN0cmR1cCh3cC0+dXVpZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTEFCRUw6CisJCQlpZiAod3AtPmxhYmVsKQorCQkJCXN0ciA9IHhzdHJkdXAod3AtPmxhYmVsKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9PRkZTRVQ6CisJCQl4YXNwcmludGYoJnN0ciwgIjB4JWp4IiwgKGludG1heF90KXdwLT5vZmZzZXQpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0xFTjoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXp1Iiwgd3AtPmxlbik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVVNBR0U6CisJCQlpZiAod3AtPnVzYWdlKQorCQkJCXN0ciA9IHhzdHJkdXAod3AtPnVzYWdlKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9UWVBFOgorCQkJaWYgKHdwLT50eXBlKQorCQkJCXN0ciA9IHhzdHJkdXAod3AtPnR5cGUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0RFVklDRToKKwkJCWlmIChjdGwtPmRldm5hbWUpIHsKKwkJCQljaGFyICpkZXYgPSB4c3RyZHVwKGN0bC0+ZGV2bmFtZSk7CisJCQkJc3RyID0geHN0cmR1cChiYXNlbmFtZShkZXYpKTsKKwkJCQlmcmVlKGRldik7CisJCQl9CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWFib3J0KCk7CisJCX0KKworCQlpZiAoc3RyICYmIHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgaSwgc3RyKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIikpOworCX0KK30KKworc3RhdGljIHZvaWQgYWRkX3RvX291dHB1dChzdHJ1Y3Qgd2lwZV9jb250cm9sICpjdGwsIHN0cnVjdCB3aXBlX2Rlc2MgKndwKQoreworCWZvciAoLypub3RoaW5nKi87IHdwOyB3cCA9IHdwLT5uZXh0KQorCQlmaWxsX3RhYmxlX3JvdyhjdGwsIHdwKTsKK30KKworLyogQWxsb2NhdGVzIGEgbmV3IHdpcGVfZGVzYyBhbmQgYWRkIHRvIHRoZSB3cDAgaWYgbm90IE5VTEwgKi8KK3N0YXRpYyBzdHJ1Y3Qgd2lwZV9kZXNjICphZGRfb2Zmc2V0KHN0cnVjdCB3aXBlX2Rlc2MgKip3cDAsIGxvZmZfdCBvZmZzZXQpCit7CisJc3RydWN0IHdpcGVfZGVzYyAqd3AsICpsYXN0ID0gTlVMTDsKKworCWlmICh3cDApIHsKKwkJLyogY2hlY2sgaWYgYWxyZWFkeSBleGlzdHMgKi8KKwkJZm9yICh3cCA9ICp3cDA7IHdwOyB3cCA9IHdwLT5uZXh0KSB7CisJCQlpZiAod3AtPm9mZnNldCA9PSBvZmZzZXQpCisJCQkJcmV0dXJuIHdwOworCQkJbGFzdCA9IHdwOworCQl9CisJfQorCisJd3AgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgd2lwZV9kZXNjKSk7CisJd3AtPm9mZnNldCA9IG9mZnNldDsKKwl3cC0+bmV4dCA9IE5VTEw7CisKKwlpZiAobGFzdCkKKwkJbGFzdC0+bmV4dCA9IHdwOworCWlmICh3cDAgJiYgISp3cDApCisJCSp3cDAgPSB3cDsKKwlyZXR1cm4gd3A7Cit9CisKKy8qIFJlYWQgZGF0YSBmcm9tIGxpYmJsa2lkIGFuZCBpZiBkZXRlY3RlZCB0eXBlIHBhc3MgLXQgYW5kIC1vIGZpbHRlcnMgdGhhbjoKKyAqIC0gYWxsb2NhdGVzIGEgbmV3IHdpcGVfZGVzYworICogLSBhZGQgdGhlIG5ldyB3aXBlX2Rlc2MgdG8gd3AwIGxpc3QgKGlmIG5vdCBOVUxMKQorICoKKyAqIFRoZSBmdW5jdGlvbiBhbHdheXMgcmV0dXJucyBvZmZzZXQgYW5kIGxlbiBpZiBsaWJibGtpZCBkZXRlY3RlZCBzb21ldGhpbmcuCisgKi8KK3N0YXRpYyBzdHJ1Y3Qgd2lwZV9kZXNjICpnZXRfZGVzY19mb3JfcHJvYmUoc3RydWN0IHdpcGVfY29udHJvbCAqY3RsLAorCQkJCQkgICAgc3RydWN0IHdpcGVfZGVzYyAqKndwMCwKKwkJCQkJICAgIGJsa2lkX3Byb2JlIHByLAorCQkJCQkgICAgbG9mZl90ICpvZmZzZXQsCisJCQkJCSAgICBzaXplX3QgKmxlbikKK3sKKwljb25zdCBjaGFyICpvZmYsICp0eXBlLCAqbWFnLCAqcCwgKnVzYWdlID0gTlVMTDsKKwlzdHJ1Y3Qgd2lwZV9kZXNjICp3cDsKKwlpbnQgcmMsIGlzcHQgPSAwOworCisJKmxlbiA9IDA7CisKKwkvKiBzdXBlcmJsb2NrcyAqLworCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJUWVBFIiwgJnR5cGUsIE5VTEwpID09IDApIHsKKwkJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJTQk1BR0lDX09GRlNFVCIsICZvZmYsIE5VTEwpOworCQlpZiAoIXJjKQorCQkJcmMgPSBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJTQk1BR0lDIiwgJm1hZywgbGVuKTsKKwkJaWYgKHJjKQorCQkJcmV0dXJuIE5VTEw7CisKKwkvKiBwYXJ0aXRpb25zICovCisJfSBlbHNlIGlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJQVFRZUEUiLCAmdHlwZSwgTlVMTCkgPT0gMCkgeworCQlyYyA9IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUTUFHSUNfT0ZGU0VUIiwgJm9mZiwgTlVMTCk7CisJCWlmICghcmMpCisJCQlyYyA9IGJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgIlBUTUFHSUMiLCAmbWFnLCBsZW4pOworCQlpZiAocmMpCisJCQlyZXR1cm4gTlVMTDsKKwkJdXNhZ2UgPSBOXygicGFydGl0aW9uLXRhYmxlIik7CisJCWlzcHQgPSAxOworCX0gZWxzZQorCQlyZXR1cm4gTlVMTDsKKworCSpvZmZzZXQgPSBzdHJ0b2xsKG9mZiwgTlVMTCwgMTApOworCisJLyogRmlsdGVyIG91dCBieSAtdCA8dHlwZT4gKi8KKwlpZiAoY3RsLT50eXBlX3BhdHRlcm4gJiYgIW1hdGNoX2ZzdHlwZSh0eXBlLCBjdGwtPnR5cGVfcGF0dGVybikpCisJCXJldHVybiBOVUxMOworCisJLyogRmlsdGVyIG91dCBieSAtbyA8b2Zmc2V0PiAqLworCWlmIChjdGwtPm9mZnNldHMpIHsKKwkJc3RydWN0IHdpcGVfZGVzYyAqdyA9IE5VTEw7CisKKwkJZm9yICh3ID0gY3RsLT5vZmZzZXRzOyB3OyB3ID0gdy0+bmV4dCkgeworCQkJaWYgKHctPm9mZnNldCA9PSAqb2Zmc2V0KQorCQkJCWJyZWFrOworCQl9CisJCWlmICghdykKKwkJCXJldHVybiBOVUxMOworCisJCXctPm9uX2Rpc2sgPSAxOyAvKiBtYXJrIGFzICJmb3VuZCIgKi8KKwl9CisKKwl3cCA9IGFkZF9vZmZzZXQod3AwLCAqb2Zmc2V0KTsKKwlpZiAoIXdwKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICh1c2FnZSB8fCBibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVU0FHRSIsICZ1c2FnZSwgTlVMTCkgPT0gMCkKKwkJd3AtPnVzYWdlID0geHN0cmR1cCh1c2FnZSk7CisKKwl3cC0+dHlwZSA9IHhzdHJkdXAodHlwZSk7CisJd3AtPm9uX2Rpc2sgPSAxOworCXdwLT5pc19wYXJ0dGFibGUgPSBpc3B0ID8gMSA6IDA7CisKKwl3cC0+bWFnaWMgPSB4bWFsbG9jKCpsZW4pOworCW1lbWNweSh3cC0+bWFnaWMsIG1hZywgKmxlbik7CisJd3AtPmxlbiA9ICpsZW47CisKKwlpZiAoYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiTEFCRUwiLCAmcCwgTlVMTCkgPT0gMCkKKwkJd3AtPmxhYmVsID0geHN0cmR1cChwKTsKKworCWlmIChibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVVUlEIiwgJnAsIE5VTEwpID09IDApCisJCXdwLT51dWlkID0geHN0cmR1cChwKTsKKworCXJldHVybiB3cDsKK30KKworc3RhdGljIGJsa2lkX3Byb2JlCituZXdfcHJvYmUoY29uc3QgY2hhciAqZGV2bmFtZSwgaW50IG1vZGUpCit7CisJYmxraWRfcHJvYmUgcHIgPSBOVUxMOworCisJaWYgKCFkZXZuYW1lKQorCQlyZXR1cm4gTlVMTDsKKworCWlmIChtb2RlKSB7CisJCWludCBmZCA9IG9wZW4oZGV2bmFtZSwgbW9kZSk7CisJCWlmIChmZCA8IDApCisJCQlnb3RvIGVycm9yOworCisJCXByID0gYmxraWRfbmV3X3Byb2JlKCk7CisJCWlmICghcHIgfHwgYmxraWRfcHJvYmVfc2V0X2RldmljZShwciwgZmQsIDAsIDApICE9IDApIHsKKwkJCWNsb3NlKGZkKTsKKwkJCWdvdG8gZXJyb3I7CisJCX0KKwl9IGVsc2UKKwkJcHIgPSBibGtpZF9uZXdfcHJvYmVfZnJvbV9maWxlbmFtZShkZXZuYW1lKTsKKworCWlmICghcHIpCisJCWdvdG8gZXJyb3I7CisKKwlibGtpZF9wcm9iZV9lbmFibGVfc3VwZXJibG9ja3MocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9zdXBlcmJsb2Nrc19mbGFncyhwciwKKwkJCUJMS0lEX1NVQkxLU19NQUdJQyB8CS8qIHJldHVybiBtYWdpYyBzdHJpbmcgYW5kIG9mZnNldCAqLworCQkJQkxLSURfU1VCTEtTX1RZUEUgfAkvKiByZXR1cm4gc3VwZXJibG9jayB0eXBlICovCisJCQlCTEtJRF9TVUJMS1NfVVNBR0UgfAkvKiByZXR1cm4gVVNBR0U9ICovCisJCQlCTEtJRF9TVUJMS1NfTEFCRUwgfAkvKiByZXR1cm4gTEFCRUw9ICovCisJCQlCTEtJRF9TVUJMS1NfVVVJRCB8CS8qIHJldHVybiBVVUlEPSAqLworCQkJQkxLSURfU1VCTEtTX0JBRENTVU0pOwkvKiBhY2NlcHQgYmFkIGNoZWNrc3VtcyAqLworCisJYmxraWRfcHJvYmVfZW5hYmxlX3BhcnRpdGlvbnMocHIsIDEpOworCWJsa2lkX3Byb2JlX3NldF9wYXJ0aXRpb25zX2ZsYWdzKHByLCBCTEtJRF9QQVJUU19NQUdJQyB8CisJCQkJCSAgICAgQkxLSURfUEFSVFNfRk9SQ0VfR1BUKTsKKwlyZXR1cm4gcHI7CitlcnJvcjoKKwlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwllcnIoRVhJVF9GQUlMVVJFLCBfKCJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIiksIGRldm5hbWUpOworfQorCitzdGF0aWMgc3RydWN0IHdpcGVfZGVzYyAqcmVhZF9vZmZzZXRzKHN0cnVjdCB3aXBlX2NvbnRyb2wgKmN0bCkKK3sKKwlibGtpZF9wcm9iZSBwciA9IG5ld19wcm9iZShjdGwtPmRldm5hbWUsIDApOworCXN0cnVjdCB3aXBlX2Rlc2MgKndwMCA9IE5VTEw7CisKKwlpZiAoIXByKQorCQlyZXR1cm4gTlVMTDsKKworCXdoaWxlIChibGtpZF9kb19wcm9iZShwcikgPT0gMCkgeworCQlzaXplX3QgbGVuID0gMDsKKwkJbG9mZl90IG9mZnNldCA9IDA7CisKKwkJLyogYWRkIGEgbmV3IG9mZnNldCB0byB3cDAgKi8KKwkJZ2V0X2Rlc2NfZm9yX3Byb2JlKGN0bCwgJndwMCwgcHIsICZvZmZzZXQsICZsZW4pOworCisJCS8qIGhpZGUgbGFzdCBkZXRlY3RlZCBzaWduYXR1cmUgYW5kIHNjYW4gYWdhaW4gKi8KKwkJaWYgKGxlbikgeworCQkJYmxraWRfcHJvYmVfaGlkZV9yYW5nZShwciwgb2Zmc2V0LCBsZW4pOworCQkJYmxraWRfcHJvYmVfc3RlcF9iYWNrKHByKTsKKwkJfQorCX0KKworCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybiB3cDA7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfd2lwZShzdHJ1Y3Qgd2lwZV9kZXNjICp3cCkKK3sKKwl3aGlsZSAod3ApIHsKKwkJc3RydWN0IHdpcGVfZGVzYyAqbmV4dCA9IHdwLT5uZXh0OworCisJCWZyZWUod3AtPnVzYWdlKTsKKwkJZnJlZSh3cC0+dHlwZSk7CisJCWZyZWUod3AtPm1hZ2ljKTsKKwkJZnJlZSh3cC0+bGFiZWwpOworCQlmcmVlKHdwLT51dWlkKTsKKwkJZnJlZSh3cCk7CisKKwkJd3AgPSBuZXh0OworCX0KK30KKworc3RhdGljIHZvaWQgZG9fd2lwZV9yZWFsKHN0cnVjdCB3aXBlX2NvbnRyb2wgKmN0bCwgYmxraWRfcHJvYmUgcHIsCisJCQlzdHJ1Y3Qgd2lwZV9kZXNjICp3KQoreworCXNpemVfdCBpOworCisJaWYgKGJsa2lkX2RvX3dpcGUocHIsIGN0bC0+bm9hY3QpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IiksCisJCSAgICAgY3RsLT5kZXZuYW1lLCB3LT50eXBlLCAoaW50bWF4X3Qpdy0+b2Zmc2V0KTsKKworCWlmIChjdGwtPnF1aWV0KQorCQlyZXR1cm47CisKKwlwcmludGYoUF8oIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIsCisJCSAgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIiwKKwkJICB3LT5sZW4pLAorCSAgICAgICBjdGwtPmRldm5hbWUsIHctPmxlbiwgKGludG1heF90KXctPm9mZnNldCwgdy0+dHlwZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgdy0+bGVuOyBpKyspIHsKKwkJcHJpbnRmKCIlMDJ4Iiwgdy0+bWFnaWNbaV0pOworCQlpZiAoaSArIDEgPCB3LT5sZW4pCisJCQlmcHV0YygnICcsIHN0ZG91dCk7CisJfQorCXB1dGNoYXIoJ1xuJyk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX2JhY2t1cChzdHJ1Y3Qgd2lwZV9kZXNjICp3cCwgY29uc3QgY2hhciAqYmFzZSkKK3sKKwljaGFyICpmbmFtZSA9IE5VTEw7CisJaW50IGZkOworCisJeGFzcHJpbnRmKCZmbmFtZSwgIiVzMHglMDhqeC5iYWsiLCBiYXNlLCAoaW50bWF4X3Qpd3AtPm9mZnNldCk7CisKKwlmZCA9IG9wZW4oZm5hbWUsIE9fQ1JFQVQgfCBPX1dST05MWSwgU19JUlVTUiB8IFNfSVdVU1IpOworCWlmIChmZCA8IDApCisJCWdvdG8gZXJyOworCWlmICh3cml0ZV9hbGwoZmQsIHdwLT5tYWdpYywgd3AtPmxlbikgIT0gMCkKKwkJZ290byBlcnI7CisJY2xvc2UoZmQpOworCWZyZWUoZm5hbWUpOworCXJldHVybjsKK2VycjoKKwllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiKSwgZm5hbWUpOworfQorCisjaWZkZWYgQkxLUlJQQVJUCitzdGF0aWMgdm9pZCByZXJlYWRwdChpbnQgZmQsIGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJc3RydWN0IHN0YXQgc3Q7CisJaW50IHRyeSA9IDA7CisKKwlpZiAoZnN0YXQoZmQsICZzdCkgfHwgIVNfSVNCTEsoc3Quc3RfbW9kZSkpCisJCXJldHVybjsKKworCWRvIHsKKwkJLyoKKwkJICogVW5mb3J0dW5hdGVseSwgaXQncyBwcmV0dHkgY29tbW9uIHRoYXQgdGhlIGZpcnN0IHJlLXJlYWQKKwkJICogd2l0aG91dCBkZWxheSBpcyB1bmN1Y2Nlc2Z1bC4gVGhlIHJlYXNvbiBpcyBwcm9iYWJseSBrZXJuZWwKKwkJICogYW5kL29yIHVkZXZkLiAgTGV0J3Mgd2FpdCBhIG1vbWVudCBhbmQgdHJ5IG1vcmUgYXR0ZW1wdHMuCisJCSAqLworCQl4dXNsZWVwKDI1MDAwKTsKKworCQllcnJubyA9IDA7CisJCWlvY3RsKGZkLCBCTEtSUlBBUlQpOworCQlpZiAoZXJybm8gIT0gRUJVU1kpCisJCQlicmVhazsKKwl9IHdoaWxlICh0cnkrKyA8IDQpOworCisJcHJpbnRmKF8oIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIiksIGRldm5hbWUpOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgZG9fd2lwZShzdHJ1Y3Qgd2lwZV9jb250cm9sICpjdGwpCit7CisJaW50IG1vZGUgPSBPX1JEV1IsIHJlcmVhZCA9IDAsIG5lZWRfZm9yY2UgPSAwOworCWJsa2lkX3Byb2JlIHByOworCWNoYXIgKmJhY2t1cCA9IE5VTEw7CisJc3RydWN0IHdpcGVfZGVzYyAqdzsKKworCWlmICghY3RsLT5mb3JjZSkKKwkJbW9kZSB8PSBPX0VYQ0w7CisKKwlwciA9IG5ld19wcm9iZShjdGwtPmRldm5hbWUsIG1vZGUpOworCWlmICghcHIpCisJCXJldHVybiAtZXJybm87CisKKwlpZiAoY3RsLT5iYWNrdXApIHsKKwkJY29uc3QgY2hhciAqaG9tZSA9IGdldGVudiAoIkhPTUUiKTsKKwkJY2hhciAqdG1wID0geHN0cmR1cChjdGwtPmRldm5hbWUpOworCisJCWlmICghaG9tZSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIikpOworCQl4YXNwcmludGYgKCZiYWNrdXAsICIlcy93aXBlZnMtJXMtIiwgaG9tZSwgYmFzZW5hbWUodG1wKSk7CisJCWZyZWUodG1wKTsKKwl9CisKKwl3aGlsZSAoYmxraWRfZG9fcHJvYmUocHIpID09IDApIHsKKwkJaW50IHdpcGVkID0gMDsKKwkJc2l6ZV90IGxlbiA9IDA7CisJCWxvZmZfdCBvZmZzZXQgPSAwOworCQlzdHJ1Y3Qgd2lwZV9kZXNjICp3cDsKKworCQl3cCA9IGdldF9kZXNjX2Zvcl9wcm9iZShjdGwsIE5VTEwsIHByLCAmb2Zmc2V0LCAmbGVuKTsKKwkJaWYgKCF3cCkKKwkJCWdvdG8gZG9uZTsKKworCQlpZiAoIWN0bC0+Zm9yY2UKKwkJICAgICYmIHdwLT5pc19wYXJ0dGFibGUKKwkJICAgICYmICFibGtpZF9wcm9iZV9pc193aG9sZWRpc2socHIpKSB7CisJCQl3YXJueChfKCIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgIgorCQkJCSJvbiBub24td2hvbGUgZGlzayBkZXZpY2UiKSwgY3RsLT5kZXZuYW1lLCB3cC0+dHlwZSk7CisJCQluZWVkX2ZvcmNlID0gMTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCisJCWlmIChiYWNrdXApCisJCQlkb19iYWNrdXAod3AsIGJhY2t1cCk7CisJCWRvX3dpcGVfcmVhbChjdGwsIHByLCB3cCk7CisJCWlmICh3cC0+aXNfcGFydHRhYmxlKQorCQkJcmVyZWFkID0gMTsKKwkJd2lwZWQgPSAxOworCWRvbmU6CisJCWlmICghd2lwZWQgJiYgbGVuKSB7CisJCQkvKiBpZiB0aGUgb2Zmc2V0IGhhcyBub3QgYmVlbiB3aXBlZCAocHJvYmFibHkgYmVjYXVzZQorCQkJICogZmlsdGVyZWQgb3V0IGJ5IC10IG9yIC1vKSB3ZSBuZWVkIHRvIGhpZGUgaXQgZm9yCisJCQkgKiBsaWJibGtpZCB0byB0cnkgYW5vdGhlciBtYWdpYyBzdHJpbmcgZm9yIHRoZSBzYW1lCisJCQkgKiBzdXBlcmJsb2NrLCBvdGhlcndpc2UgbGliYmxraWQgd2lsbCBjb250aW51ZSB3aXRoCisJCQkgKiBhbm90aGVyIHN1cGVyYmxvY2suIERvbid0IGZvcmdldCB0aGF0IHRoZSBzYW1lCisJCQkgKiBzdXBlcmJsb2NrIGNvdWxkIGJlIGRldGVjdGVkIGJ5IG1vcmUgbWFnaWMgc3RyaW5ncworCQkJICogKi8KKwkJCWJsa2lkX3Byb2JlX2hpZGVfcmFuZ2UocHIsIG9mZnNldCwgbGVuKTsKKwkJCWJsa2lkX3Byb2JlX3N0ZXBfYmFjayhwcik7CisJCX0KKwkJZnJlZV93aXBlKHdwKTsKKwl9CisKKwlmb3IgKHcgPSBjdGwtPm9mZnNldHM7IHc7IHcgPSB3LT5uZXh0KSB7CisJCWlmICghdy0+b25fZGlzayAmJiAhY3RsLT5xdWlldCkKKwkJCXdhcm54KF8oIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIiksCisJCQkJCWN0bC0+ZGV2bmFtZSwgKHVpbnRtYXhfdCl3LT5vZmZzZXQpOworCX0KKworCWlmIChuZWVkX2ZvcmNlKQorCQl3YXJueChfKCJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIpKTsKKworCWZzeW5jKGJsa2lkX3Byb2JlX2dldF9mZChwcikpOworCisjaWZkZWYgQkxLUlJQQVJUCisJaWYgKHJlcmVhZCAmJiAobW9kZSAmIE9fRVhDTCkpIHsKKwkJaWYgKGN0bC0+bmRldnMgPiAxKSB7CisJCQkvKgorCQkJICogV2UncmUgZ29pbmcgdG8gcHJvYmUgbW9yZSBkZXZpY2UsIGxldCdzIHBvc3Rwb25lCisJCQkgKiByZS1yZWFkIFBUIGlvY3RsIHVudGlsIGFsbCBpcyBlcmFzZWQgdG8gYXZvaWQKKwkJCSAqIHNpdHVhdGlvbiB3ZSBlcmFzZSBQVCBvbiAvZGV2L3NkYSBiZWZvcmUgL2Rldi9zZGFOCisJCQkgKiBkZXZpY2VzIGFyZSBwcm9jZXNzZWQuCisJCQkgKi8KKwkJCWlmICghY3RsLT5yZXJlYWQpCisJCQkJY3RsLT5yZXJlYWQgPSB4Y2FsbG9jKGN0bC0+bmRldnMsIHNpemVvZihjaGFyICopKTsKKworCQkJY3RsLT5yZXJlYWRbY3RsLT5ucmVyZWFkcysrXSA9IGN0bC0+ZGV2bmFtZTsKKwkJfSBlbHNlCisJCQlyZXJlYWRwdChibGtpZF9wcm9iZV9nZXRfZmQocHIpLCBjdGwtPmRldm5hbWUpOworCX0KKyNlbmRpZgorCisJY2xvc2UoYmxraWRfcHJvYmVfZ2V0X2ZkKHByKSk7CisJYmxraWRfZnJlZV9wcm9iZShwcik7CisJZnJlZShiYWNrdXApOworCXJldHVybiAwOworfQorCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpCit1c2FnZSh2b2lkKQoreworCXNpemVfdCBpOworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBzdGRvdXQpOworCXByaW50ZihfKCIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCXB1dHMoXygiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuIikpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKwlwdXRzKF8oIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKSIpKTsKKwlwdXRzKF8oIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiKSk7CisJcHV0cyhfKCIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIikpOworCXB1dHMoXygiIC1pLCAtLW5vaGVhZGluZ3MgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiKSk7CisJcHV0cyhfKCIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IikpOworCXB1dHMoXygiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiKSk7CisJcHV0cyhfKCIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIikpOworCXB1dHMoXygiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIikpOworCXB1dHMoXygiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdCIpKTsKKwlwdXRzKF8oIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlcyIpKTsKKwlwdXRzKF8oIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlcyIpKTsKKworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjEpKTsKKworCWZwdXRzKFVTQUdFX0NPTFVNTlMsIHN0ZG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYoc3Rkb3V0LCAiICU4cyAgJXNcbiIsIGluZm9zW2ldLm5hbWUsIF8oaW5mb3NbaV0uaGVscCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJ3aXBlZnMoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHdpcGVfY29udHJvbCBjdGwgPSB7IC5kZXZuYW1lID0gTlVMTCB9OworCWludCBjOworCWNoYXIgKm91dGFyZyA9IE5VTEw7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCSAgICB7ICJhbGwiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2EnIH0sCisJICAgIHsgImJhY2t1cCIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYicgfSwKKwkgICAgeyAiZm9yY2UiLCAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdmJyB9LAorCSAgICB7ICJoZWxwIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJICAgIHsgIm5vLWFjdCIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgfSwKKwkgICAgeyAib2Zmc2V0IiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCSAgICB7ICJwYXJzYWJsZSIsICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3AnIH0sCisJICAgIHsgInF1aWV0IiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncScgfSwKKwkgICAgeyAidHlwZXMiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0JyB9LAorCSAgICB7ICJ2ZXJzaW9uIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnIH0sCisJICAgIHsgImpzb24iLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSid9LAorCSAgICB7ICJub2hlYWRpbmdzIixub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2knfSwKKwkgICAgeyAib3V0cHV0IiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdPJ30sCisJICAgIHsgTlVMTCwgICAgICAgIDAsIE5VTEwsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdPJywnYScsJ28nIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFiZmhpSm5POm86cHF0OlYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdhJzoKKwkJCWN0bC5hbGwgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJY3RsLmJhY2t1cCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQljdGwuZm9yY2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdKJzoKKwkJCWN0bC5qc29uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWN0bC5ub19oZWFkaW5ncyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwubm9hY3QgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJYWRkX29mZnNldCgmY3RsLm9mZnNldHMsIHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLAorCQkJCQkgXygiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiKSkpOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJY3RsLnBhcnNhYmxlID0gMTsKKwkJCWN0bC5ub19oZWFkaW5ncyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncSc6CisJCQljdGwucXVpZXQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJY3RsLnR5cGVfcGF0dGVybiA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgPT0gYXJnYykgeworCQl3YXJueChfKCJubyBkZXZpY2Ugc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisKKwl9CisKKwlpZiAoY3RsLmJhY2t1cCAmJiAhKGN0bC5hbGwgfHwgY3RsLm9mZnNldHMpKQorCQl3YXJueChfKCJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIpKTsKKworCWlmICghY3RsLmFsbCAmJiAhY3RsLm9mZnNldHMpIHsKKwkJLyoKKwkJICogUHJpbnQgb25seQorCQkgKi8KKwkJaWYgKGN0bC5wYXJzYWJsZSkgeworCQkJLyoga2VlcCBpdCBiYWNrd2FyZCBjb21wYXRpYmxlICovCisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX09GRlNFVDsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVVVJRDsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTEFCRUw7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1RZUEU7CisJCX0gZWxzZSB7CisJCQkvKiBkZWZhdWx0LCBtYXkgYmUgbW9kaWZpZWQgYnkgLU8gPGxpc3Q+ICovCisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0RFVklDRTsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfT0ZGU0VUOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9UWVBFOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9VVUlEOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9MQUJFTDsKKwkJfQorCisJCWlmIChvdXRhcmcKKwkJICAgICYmIHN0cmluZ19hZGRfdG9faWRhcnJheShvdXRhcmcsIGNvbHVtbnMsIEFSUkFZX1NJWkUoY29sdW1ucyksCisJCQkJCSAgICAgJm5jb2x1bW5zLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCQlpbml0X291dHB1dCgmY3RsKTsKKworCQl3aGlsZSAob3B0aW5kIDwgYXJnYykgeworCQkJc3RydWN0IHdpcGVfZGVzYyAqd3A7CisKKwkJCWN0bC5kZXZuYW1lID0gYXJndltvcHRpbmQrK107CisJCQl3cCA9IHJlYWRfb2Zmc2V0cygmY3RsKTsKKwkJCWlmICh3cCkKKwkJCQlhZGRfdG9fb3V0cHV0KCZjdGwsIHdwKTsKKwkJCWZyZWVfd2lwZSh3cCk7CisJCX0KKwkJZmluYWxpemVfb3V0cHV0KCZjdGwpOworCX0gZWxzZSB7CisJCS8qCisJCSAqIEVyYXNlCisJCSAqLworCQljdGwubmRldnMgPSBhcmdjIC0gb3B0aW5kOworCisJCXdoaWxlIChvcHRpbmQgPCBhcmdjKSB7CisJCQljdGwuZGV2bmFtZSA9IGFyZ3Zbb3B0aW5kKytdOworCQkJZG9fd2lwZSgmY3RsKTsKKwkJCWN0bC5uZGV2cy0tOworCQl9CisKKyNpZmRlZiBCTEtSUlBBUlQKKwkJLyogUmUtcmVhZCBwYXJ0aXRpb24gdGFibGVzIG9uIHdob2xlLWRpc2sgZGV2aWNlcy4gVGhpcyBpcworCQkgKiBwb3N0cG9uZWQgdW50aWwgYWxsIGlzIGRvbmUgdG8gYXZvaWQgY29uZmxpY3RzLgorCQkgKi8KKwkJZm9yIChzaXplX3QgaSA9IDA7IGkgPCBjdGwubnJlcmVhZHM7IGkrKykgeworCQkJY2hhciAqZGV2bmFtZSA9IGN0bC5yZXJlYWRbaV07CisJCQlpbnQgZmQgPSBvcGVuKGRldm5hbWUsIE9fUkRPTkxZKTsKKworCQkJaWYgKGZkID49IDApIHsKKwkJCQlyZXJlYWRwdChmZCwgZGV2bmFtZSk7CisJCQkJY2xvc2UoZmQpOworCQkJfQorCQl9CisJCWZyZWUoY3RsLnJlcmVhZCk7CisjZW5kaWYKKwl9CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3BvLy5naXRpZ25vcmUgYi9wby8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMmQ5YzEKLS0tIC9kZXYvbnVsbAorKysgYi9wby8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMTYgQEAKKyouZ21vCitib2xkcXVvdC5zZWQKK2VuQGJvbGRxdW90LmhlYWRlcgorZW5AcXVvdC5oZWFkZXIKK2luc2VydC1oZWFkZXIuc2luCitNYWtlZmlsZQorTWFrZWZpbGUuaW4KK01ha2VmaWxlLmluLmluCitNYWtldmFycy50ZW1wbGF0ZQorUE9URklMRVMKK1BPVEZJTEVTLmluCitxdW90LnNlZAorcmVtb3ZlLXBvdGNkYXRlLnNlZAorcmVtb3ZlLXBvdGNkYXRlLnNpbgorUnVsZXMtcXVvdAorc3RhbXAtcG8KZGlmZiAtLWdpdCBhL3BvL01ha2V2YXJzIGIvcG8vTWFrZXZhcnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGQ1NjI5YwotLS0gL2Rldi9udWxsCisrKyBiL3BvL01ha2V2YXJzCkBAIC0wLDAgKzEsNDQgQEAKKyMgTWFrZWZpbGUgdmFyaWFibGVzIGZvciBQTyBkaXJlY3RvcnkgaW4gYW55IHBhY2thZ2UgdXNpbmcgR05VIGdldHRleHQuCisKKyMgVXN1YWxseSB0aGUgbWVzc2FnZSBkb21haW4gaXMgdGhlIHNhbWUgYXMgdGhlIHBhY2thZ2UgbmFtZS4KK0RPTUFJTiA9ICQoUEFDS0FHRSkKKworIyBUaGVzZSB0d28gdmFyaWFibGVzIGRlcGVuZCBvbiB0aGUgbG9jYXRpb24gb2YgdGhpcyBkaXJlY3RvcnkuCitzdWJkaXIgPSBwbwordG9wX2J1aWxkZGlyID0gLi4KKworIyBUaGVzZSBvcHRpb25zIGdldCBwYXNzZWQgdG8geGdldHRleHQuCitYR0VUVEVYVF9PUFRJT05TID0gLS1rZXl3b3JkPV8gLS1rZXl3b3JkPU5fIC0ta2V5d29yZD1QXzoxLDIKKworIyBUaGlzIG9wdGlvbiBnZXRzIHBhc3NlZCB0byBtc2dtZXJnZS4KK01TR01FUkdFX09QVElPTlMgPSAtLW5vLXdyYXAKKworIyBUaGlzIGlzIHRoZSBjb3B5cmlnaHQgaG9sZGVyIHRoYXQgZ2V0cyBpbnNlcnRlZCBpbnRvIHRoZSBoZWFkZXIgb2YgdGhlCisjICQoRE9NQUlOKS5wb3QgZmlsZS4gIFNldCB0aGlzIHRvIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG9mIHRoZSBzdXJyb3VuZGluZworIyBwYWNrYWdlLiAgKE5vdGUgdGhhdCB0aGUgbXNnc3RyIHN0cmluZ3MsIGV4dHJhY3RlZCBmcm9tIHRoZSBwYWNrYWdlJ3MKKyMgc291cmNlcywgYmVsb25nIHRvIHRoZSBjb3B5cmlnaHQgaG9sZGVyIG9mIHRoZSBwYWNrYWdlLikgIFRyYW5zbGF0b3JzIGFyZQorIyBleHBlY3RlZCB0byB0cmFuc2ZlciB0aGUgY29weXJpZ2h0IGZvciB0aGVpciB0cmFuc2xhdGlvbnMgdG8gdGhpcyBwZXJzb24KKyMgb3IgZW50aXR5LCBvciB0byBkaXNjbGFpbSB0aGVpciBjb3B5cmlnaHQuICBUaGUgZW1wdHkgc3RyaW5nIHN0YW5kcyBmb3IKKyMgdGhlIHB1YmxpYyBkb21haW47IGluIHRoaXMgY2FzZSB0aGUgdHJhbnNsYXRvcnMgYXJlIGV4cGVjdGVkIHRvIGRpc2NsYWltCisjIHRoZWlyIGNvcHlyaWdodC4KK0NPUFlSSUdIVF9IT0xERVIgPSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworIyBUaGlzIGlzIHRoZSBlbWFpbCBhZGRyZXNzIG9yIFVSTCB0byB3aGljaCB0aGUgdHJhbnNsYXRvcnMgc2hhbGwgcmVwb3J0CisjIGJ1Z3MgaW4gdGhlIHVudHJhbnNsYXRlZCBzdHJpbmdzOgorIyAtIFN0cmluZ3Mgd2hpY2ggYXJlIG5vdCBlbnRpcmUgc2VudGVuY2VzLCBzZWUgdGhlIG1haW50YWluZXIgZ3VpZGVsaW5lcworIyAgIGluIHRoZSBHTlUgZ2V0dGV4dCBkb2N1bWVudGF0aW9uLCBzZWN0aW9uICdQcmVwYXJpbmcgU3RyaW5ncycuCisjIC0gU3RyaW5ncyB3aGljaCB1c2UgdW5jbGVhciB0ZXJtcyBvciByZXF1aXJlIGFkZGl0aW9uYWwgY29udGV4dCB0byBiZQorIyAgIHVuZGVyc3Rvb2QuCisjIC0gU3RyaW5ncyB3aGljaCBtYWtlIGludmFsaWQgYXNzdW1wdGlvbnMgYWJvdXQgbm90YXRpb24gb2YgZGF0ZSwgdGltZSBvcgorIyAgIG1vbmV5LgorIyAtIFBsdXJhbGlzYXRpb24gcHJvYmxlbXMuCisjIC0gSW5jb3JyZWN0IEVuZ2xpc2ggc3BlbGxpbmcuCisjIC0gSW5jb3JyZWN0IGZvcm1hdHRpbmcuCisjIEl0IGNhbiBiZSB5b3VyIGVtYWlsIGFkZHJlc3MsIG9yIGEgbWFpbGluZyBsaXN0IGFkZHJlc3Mgd2hlcmUgdHJhbnNsYXRvcnMKKyMgY2FuIHdyaXRlIHRvIHdpdGhvdXQgYmVpbmcgc3Vic2NyaWJlZCwgb3IgdGhlIFVSTCBvZiBhIHdlYiBwYWdlIHRocm91Z2gKKyMgd2hpY2ggdGhlIHRyYW5zbGF0b3JzIGNhbiBjb250YWN0IHlvdS4KK01TR0lEX0JVR1NfQUREUkVTUyA9IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnCisKKyMgVGhpcyBpcyB0aGUgbGlzdCBvZiBsb2NhbGUgY2F0ZWdvcmllcywgYmV5b25kIExDX01FU1NBR0VTLCBmb3Igd2hpY2ggdGhlCisjIG1lc3NhZ2UgY2F0YWxvZ3Mgc2hhbGwgYmUgdXNlZC4gIEl0IGlzIHVzdWFsbHkgZW1wdHkuCitFWFRSQV9MT0NBTEVfQ0FURUdPUklFUyA9CmRpZmYgLS1naXQgYS9wby9jYS5wbyBiL3BvL2NhLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyMDkyOGIKLS0tIC9kZXYvbnVsbAorKysgYi9wby9jYS5wbwpAQCAtMCwwICsxLDI2MjAyIEBACisjIHRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXgucG8gdG8gQ2F0YWxhbgorIyBDb3B5cmlnaHQgwqkgMjAwMiwgMjAwMywgMjAwNCwgMjAwNSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgQW50b25pIEJlbGxhIFBlcmV6IDxiZWxsYTVAdGVsZWxpbmUuZXM+LCAyMDAyLCAyMDAzLgorIyBKb3JkaSBNYWxsYWNoIDxqb3JkaUBnbnUub3JnPiwgMjAwNCwgMjAwNS4KKyMgSm9zZXAgUHVpZ2RlbW9udCA8am9zZXAucHVpZ2RlbW9udEBnbWFpbC5jb20+LCAyMDA1CisjCisjIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBmcmVlbHkgY29weSBhbmQgZGlzdHJpYnV0ZQorIyB0aGlzIGZpbGUgYW5kIG1vZGlmaWVkIHZlcnNpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMKKyMgaGVhZGVyIGlzIG5vdCByZW1vdmVkIGFuZCBtb2RpZmllZCB2ZXJzaW9ucyBhcmUgbWFya2VkCisjIGFzIHN1Y2guCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMTMtcHJlM1xuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDA1LTA5LTE3IDEzOjQwKzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEpvc2VwIFB1aWdkZW1vbnQgPGpvc2VwLnB1aWdkZW1vbnRAZ21haWwuY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IENhdGFsYW4gPGNhQGRvZGRzLm5ldD5cbiIKKyJMYW5ndWFnZTogY2FcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiTWFzc2EgYXJndW1lbnRzLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIiVzIG5vIGVzIHBvdCBvYnJpciIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiZXN0YWJsZWl4IGEgbm9tw6lzIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJlc3RhYmxlaXggYSBsZWN0dXJhL2VzY3JpcHR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgImFjb25zZWd1ZWl4IG5vbcOpcyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4CisjLCBmdXp6eQorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZGVsIHNlY3RvciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0CisjLCBmdXp6eQorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBzZWN0b3IiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorIywgZnV6enkKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgIlNlY3RvcnMgYWRkaWNpb25hbHMgcGVyIGNpbGluZHJlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAiYWNvbnNlZ3VlaXggbGEgbWlkYSBkZWwgYmxvYyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgImFjb25zZWd1ZWl4IGVsIGNvbXB0ZSBkZSBzZWN0b3JzIGRlIDMyIGJpdHMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiYWNvbnNlZ3VlaXggbGEgbWlkYSBlbiBvY3RldHMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmxlaXggwqtyZWFkYWhlYWTCuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgImFjb25zZWd1ZWl4IFwicmVhZGFoZWFkXCIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmxlaXggwqtyZWFkYWhlYWTCuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorIywgZnV6enkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImFjb25zZWd1ZWl4IFwicmVhZGFoZWFkXCIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJidWlkYSBsYSBtZW3DsnJpYSB0ZW1wb3JhbCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiCittc2dzdHIgIiAgICAtcSAgW28gLS1xdWlldF06ICAgICAgIFN1cHJpbWVpeCBlbHMgYXZpc29zIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICJPcmRyZXMgZGlzcG9uaWJsZXM6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZW4gb2N0ZXRzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogZWwgZGlzcG9zaXRpdSBsb29wIGVzdMOgIGVzcGVjaWZpY2F0IGR1ZXMgdmVnYWRlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9idGVuaXIgbGEgbWlkYSBkZWwgZGlzYyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXM6IE9yZHJlIGRlc2NvbmVndWRhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmVxdWVyZWl4IHVuIGFyZ3VtZW50XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGQnaW9jdGwgZW4gJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBzJ2hhIGNvbXBsZXRhdCBhbWIgw6h4aXQuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU2VjdEluaWNpICAgIE1pZGEgICAgRGlzcG9zaXRpdVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJBcnJlbmNhYmxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiQ29tbXV0YSBlbCBzZW55YWxhZG9yIGQnYXJyZW5jYWRhIGRlIGxhIHBhcnRpY2nDsyBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJTdXByaW1laXgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU3VwcmltZWl4IGxhIHBhcnRpY2nDsyBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAiTWlkYSBtw6B4aW1hPSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJSZWR1Y2Ugb3IgZW5sYXJnZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlN1cHJpbWVpeCBsYSBwYXJ0aWNpw7MgYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm92YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIkNyZWEgdW5hIG5vdmEgcGFydGljacOzIGRlcyBkZSBsJ2VzcGFpIGxsaXVyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IgorbXNnc3RyICJTdXJ0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIlN1cnQgZGVsIHByb2dyYW1hIHNlbnNlIGVzY3JpdXJlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzggbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMxIGxpYmZkaXNrL3NyYy9ncHQuYzozMTMyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIlRpcHVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgY2FudmlhIGwnaWRlbnRpZmljYWRvciBkZWwgc2lzdGVtYSBkJ3VuYSBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAiQWp1ZGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIk1vc3RyYSBsYSBwYW50YWxsYSBkJ2FqdWRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBhcnJlZ2xhIGwnb3JkcmUgZGUgbGVzIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIkVzY3JpdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJFc2NyaXUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhbCBkaXNjIChhaXjDsiBwb3QgZGVzdHJ1aXIgbGVzIGRhZGVzKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJJbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhIGxhIHBhbnRhbGxhIG8gZW4gdW4gZml0eGVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjY0MiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAidW1vdW50OiAlczogbm8gcydoYSB0cm9iYXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5NworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIk5vbWJyZSBkZSBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMTYKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiJXMgZXN0w6AgbXVudGF0Llx0ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiZGlzYzogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiRGlzYyAlczogJWx1IGNpbGluZHJlcywgJWx1IGNhcMOnYWxzLCAlbHUgc2VjdG9ycy9waXN0YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIlVuaXRhdCBkZSBkaXNjOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgImV0aXF1ZXRhOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzIKKyMsIGZ1enp5Cittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiYWNvbnNlZ3VlaXggbGEgbWlkYSBlbiBvY3RldHMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZW4gb2N0ZXRzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiUydoYSBzZWxlY2Npb25hdCBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBkaXNwb3NpdGl1IHBlciBhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorIywgZnV6enkKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJObyBwb2RyZXUgZXNjcml1cmUgbGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIk5vIGVzIHBvdCBvYnJpciAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlRpcHVzIG5vIHBlcm3DqHNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorIywgZnV6enkKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRWwgZGlzYyAlcyBubyBjb250w6kgdW5hIHRhdWxhIGRlIHBhcnRpY2lvbnMgdsOgbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMjcKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2CisjLCBmdXp6eQorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiQWl4w7Igw6lzIGVsIGNmZGlzaywgdW4gcHJvZ3JhbWEgcGVyIGEgbGEgcGFydGljacOzIGRlIGRpc2NzIGJhc2F0IGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKKyMsIGZ1enp5Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgImN1cnNlcywgcXVlIHVzIHBlcm1ldCBjcmVhciwgc3VwcmltaXIgaSBtb2RpZmljYXIgcGFydGljaW9ucyBkZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJPcmRyZSAgICAgICBTaWduaWZpY2F0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0gICAgICAgLS0tLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIEZpeGEgZWwgc2VueWFsYWRvciBkJ2FycmVuY2FkYSBhIGxhIHBhcnRpY2nDsyBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgU3VwcmltZWl4IGwnYWN0dWFsIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgSW1wcmltZWl4IGFxdWVzdGEgcGFudGFsbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBDcmVhIHVuYSBub3ZhIHBhcnRpY2nDsyBkZXMgZGUgbCdlc3BhaSBsbGl1cmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIFN1cnQgZGVsIHByb2dyYW1hIHNlbnNlIGVzY3JpdXJlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyw6BtZXRyZXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FudmlhIGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OQorIywgZnV6enkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICBFc2NyaXUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhbCBkaXNjIChXIGVuIG1hasO6c2N1bGEpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIENvbSBxdWUgYWl4w7IgZGVzdHJ1aXLDoCBsZXMgZGFkZXMgZGVsIGRpc2MsIGhvIGhhdXJldSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGRlIGNvbmZpcm1hciBvIGRlbmVnYXIgZXNjcml2aW50IMKrc8OtwrsgbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiRmxldHhhIGFtdW50IERlc3BsYcOnYSBlbCBjdXJzb3IgYSBsJ2FudGVyaW9yIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiRmxldHhhIGF2YWxsIERlc3BsYcOnYSBlbCBjdXJzb3IgYSBsYSBzZWfDvGVudCBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorIywgZnV6enkKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiRmxldHhhIGFtdW50IERlc3BsYcOnYSBlbCBjdXJzb3IgYSBsJ2FudGVyaW9yIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2CisjLCBmdXp6eQorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIkZsZXR4YSBhdmFsbCBEZXNwbGHDp2EgZWwgY3Vyc29yIGEgbGEgc2Vnw7xlbnQgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJOb3RhOiBUb3RlcyBsZXMgb3JkcmVzIGVzIHBvZGVuIGVzY3JpdXJlIGVuIG1hasO6c2N1bGVzIG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAibWluw7pzY3VsZXMgKGV4Y2VwdGUgVyBwZXIgYSBlc2NyaXVyZSkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMDEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0CisjLCBmdXp6eQorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiUHJlbWV1IHVuYSB0ZWNsYSBwZXIgYSBjb250aW51YXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlMnaGEgc2VsZWNjaW9uYXQgbGEgcGFydGljacOzICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwOSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBubyB0w6kgY2FwIMOgcmVhIGRlIGRhZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0CisjLCBmdXp6eQorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgIk5vdSBpbnTDqHJwcmV0IGQnb3JkcmVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIk5vIGhpIGhhbiBwYXJ0aWNpb25zIGRlZmluaWRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MjcgZGlzay11dGlscy9jZmRpc2suYzoyNTQzIGRpc2stdXRpbHMvZmRpc2suYzoxMDYzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTEKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDMyCisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiRXN0ZXUgc2VndXIgcXVlIHZvbGV1IGVzY3JpdXJlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYWwgZGlzYz8gKHPDrSBvIG5vKTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyMgRklYTUU6IMOpcyBwb3NzaWJsZSBxdWUgbm8gZXMgcHVnYSBpbnRyb2R1aXIgbCdhY2NlbnQuIGptCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgInPDrSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQwCisjLCBmdXp6eQorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJObyBzJ2hhIGVzY3JpdCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGFsIGRpc2MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTkKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlMnaGEgbW9kaWZpY2F0IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMuXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisiXG4iCisiTGVzIGVudHJhZGVzIGEgbGEgdGF1bGEgZGUgcGFydGljaW9ucyBubyBlc3RhbiBlbiBsJ29yZHJlIGRlbCBkaXNjXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworIywgZnV6enkKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAiY2FwIG9yZHJlP1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogc2ZkaXNrIC0taWQgZGlzcG9zaXRpdSBwYXJ0aWNpw7NfbsO6bWVybyBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIlMnZXN0w6AgZm9ybWF0YW50Li4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJmZXRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJTJ2VzdMOgIHZlcmlmaWNhbnQuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJMZWN0dXJhOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJIaSBoYSB1biBwcm9ibGVtYSBlbiBsbGVnaXIgZWwgY2lsaW5kcmUgJWQsIHMnZXNwZXJhdmEgJWQgaSBzJ2hhIGxsZWdpdCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImRhZGVzIGluY29ycmVjdGVzIGFsIGNpbGluZHJlICVkXG4iCisiUydlc3TDoCBjb250aW51YW50Li4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAiTm8gZXMgcG90IGRldGVybWluYXIgbCdhY3R1YWwgdGlwdXMgZGUgZm9ybWF0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIkNhcmEgJXMsICVkIHBpc3RlcywgJWQgc2Vnb25zL3Bpc3RhLiBDYXBhY2l0YXQgdG90YWwgJWQga0IuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkRvYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJTaW1wbGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgdmFsb3IgcGVyIGRlZmVjdGUgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJTJ2VzdMOgIHV0aWxpdHphbnQgZWwgdmFsb3IgcGVyIGRlZmVjdGUgJXVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5CisjLCBmdXp6eQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkVsIHZhbG9yIGVzdMOgIGZvcmEgZGVsIHJhbmcuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCB2YWxvciBwZXIgZGVmZWN0ZSAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHZhbG9yIHBlciBkZWZlY3RlICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgdmFsb3IgcGVyIGRlZmVjdGUgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHZhbG9yIHBlciBkZWZlY3RlICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2OSBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDc5CisjLCBmdXp6eQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIkNvZGkgaGV4LiAoZXNjcml2aXUgTCBwZXIgdmV1cmUgbGEgbGxpc3RhIGRlIGNvZGlzKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIkNvZGkgaGV4LiAoZXNjcml2aXUgTCBwZXIgdmV1cmUgbGEgbGxpc3RhIGRlIGNvZGlzKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgyCisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIlMnaGEgZXN0YWJsZXJ0IGVsIHNlbnlhbGFkb3IgZGUgY29tcGF0aWJpbGl0YXQgYW1iIERPU1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiTm8gcydoYSBlc3RhYmxlcnQgZWwgc2VueWFsYWRvciBkZSBjb21wYXRpYmlsaXRhdCBhbWIgRE9TXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgZW5jYXJhIG5vIGV4aXN0ZWl4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA5IGRpc2stdXRpbHMvZmRpc2suYzo2MTggbGliZmRpc2svc3JjL2Fzay5jOjEwMDMKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJEZXNjb25lZ3V0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJTJ2hhIGNhbnZpYXQgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgbGEgcGFydGljacOzICVkIHBlciAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICJkaXNjOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IGxsZWdpciAlcy5cbiIKKworIyBQYXJsYSBkJ2V0aXF1ZXRlcywgc2VndXJhbWVudCDDqXMgZmVtZW7DrQorIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiUHJpbWVyYSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgaW9jdGwgQkxLR0VUU0laRSBhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3ODYgZGlzay11dGlscy9zZmRpc2suYzoxNDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIwCittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNworIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICJJbnRyb2R1w691IGVsIG5vbWJyZSBkZSBjaWxpbmRyZXM6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAgICAtSCMgW28gLS1oZWFkcyAjXTogICAgIEVzdGFibGVpeCBlbCBub21icmUgZGUgY2Fww6dhbHMgcXVlIHMndXNhcmFuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgc2VjdG9ycyBwZXIgcGlzdGE6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTAwIGRpc2stdXRpbHMvcGFydHguYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyMgorIywgZnV6enkKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIGRpc3Bvc2l0aXUgcGVyIGEgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGRpcmVjdG9yaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDg5CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAiY2FwIG9yZHJlP1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiQXbDrXM6IGwnb3BjacOzIC1iIChlc3RhYmxlaXggbGEgbWlkYSBkZWwgc2VjdG9yKSBzJ2hhIGQndXNhciBhbWIgdW4gZGlzcG9zaXRpdSBlc3BlY8OtZmljXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgInZhbG9yIGQnZXhwaXJhY2nDsyBlcnJvbmk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiUydlc3TDoCBjb25zdHJ1aW50IHVuYSBub3ZhIGV0aXF1ZXRhIGRlIGRpc2Mgc3VuLiBFbHMgY2FudmlzIG5vbcOpcyByb21hbmRyYW5cbiIKKyJhIGxhIG1lbcOycmlhIGZpbnMgcXVlIGRlY2lkaXUgZXNjcml1cmUnbHMuIERlc3Byw6lzIGQnYWl4w7IsIGwnYW50ZXJpb3JcbiIKKyJjb250aW5ndXQgc2Vyw6AgaXJyZWN1cGVyYWJsZS5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIlVuaXRhdCBkZSBkaXNjOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiRGlzYyAlczogJWx1IGNpbGluZHJlcywgJWx1IGNhcMOnYWxzLCAlbHUgc2VjdG9ycy9waXN0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICIlZCBjYXDDp2FscywgJWQgc2VjdG9ycy9waXN0YSwgJWQgY2lsaW5kcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiIgorIlVuaXRhdHMgPSAlcyBkZSAlZCAqICVkID0gJWQgb2N0ZXRzXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWkgbm8gY29tZW7Dp2EgZW4gZWwgbMOtbWl0IGRlbCBjaWxpbmRyZTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiIgorIlxuIgorIkxlcyBlbnRyYWRlcyBhIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgbm8gZXN0YW4gZW4gbCdvcmRyZSBkZWwgZGlzY1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjUKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI4IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJpbmljaSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiRmluYWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTZWN0b3JzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiRGlzYyAlczogJWx1IGNpbGluZHJlcywgJWx1IGNhcMOnYWxzLCAlbHUgc2VjdG9ycy9waXN0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IE9yZHJlIGRlc2NvbmVndWRhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgc3VwcmltZWl4IHVuYSBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5CisjLCBmdXp6eQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICIgICBlICAgbGxpc3RhIGxlcyBwYXJ0aWNpb25zIGVzdGVzZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAiICAgbCAgIGxsaXN0YSBlbHMgdGlwdXMgZGUgcGFydGljaW9ucyBjb25lZ3VkZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorIywgZnV6enkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICIgICBuICAgYWZlZ2VpeCB1bmEgbm92YSBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJJbXByaW1laXggbm9tw6lzIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIGNhbnZpYSBsJ2lkZW50aWZpY2Fkb3IgZGVsIHNpc3RlbWEgZCd1bmEgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIHYgICB2ZXJpZmljYSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICBpbXByaW1laXggbGVzIGRhZGVzIGNydWVzIGEgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIGltcHJpbWVpeCBsZXMgZGFkZXMgY3J1ZXMgYSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBhcnJlZ2xhIGwnb3JkcmUgZGUgbGVzIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgIk1pc2MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiICAgbSAgIGltcHJpbWVpeCBhcXVlc3QgbWVuw7oiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiICAgdSAgIGNhbnZpYSBsZXMgdW5pdGF0cyBkZSB2aXN1YWxpdHphY2nDsy9lbnRyYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiICAgeCAgIGZ1bmNpb25zIGFkZGljaW9uYWxzIChub23DqXMgZXhwZXJ0cykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICIgICB3ICAgZXNjcml1IGxhIHRhdWxhIGFsIGRpc2MgaSBzdXJ0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiICAgdyAgIGVzY3JpdSBsJ2V0aXF1ZXRhIGRlIGRpc2MgYWwgZGlzYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiICAgcSAgIHN1cnQgc2Vuc2UgZGVzYXIgZWxzIGNhbnZpcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIiAgIHIgICB0b3JuYSBhbCBtZW7DuiBwcmluY2lwYWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiICAgcyAgIGNyZWEgdW5hIGV0aXF1ZXRhIGRlIGRpc2MgU3VuIG5vdmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGNyZWEgdW5hIG5vdmEgdGF1bGEgZGUgcGFydGljaW9ucyBET1MgYnVpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICBjcmVhIHVuYSBub3ZhIHRhdWxhIGRlIHBhcnRpY2lvbnMgRE9TIGJ1aWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICBjcmVhIHVuYSBub3ZhIHRhdWxhIGRlIHBhcnRpY2lvbnMgRE9TIGJ1aWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICBjcmVhIHVuYSBub3ZhIHRhdWxhIGRlIHBhcnRpY2lvbnMgRE9TIGJ1aWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBnICAgY3JlYSB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyBJUklYIChTR0kpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJHZW9tZXRyeSAoZm9yIHRoZSBjdXJyZW50IGxhYmVsKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIiAgIGMgICBjYW52aWEgZWwgbm9tYnJlIGRlIGNpbGluZHJlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU2CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiAgIGggICBjYW52aWEgZWwgbm9tYnJlIGRlIGNhcMOnYWxzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICIgICBzICAgY2FudmlhIGVsIG5vbWJyZSBkZSBzZWN0b3JzIHBlciBwaXN0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1CisjLCBmdXp6eQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiRUZJIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgIm1vZGlmaWNhdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2lvbnM6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgIGEgICBlc3RhYmxlaXggdW4gc2VueWFsYWRvciBkJ2FycmVuY2FkYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiICAgYyAgIGVzdGFibGVpeCBlbCBzZW55YWxhZG9yIGRlIGNvbXBhdGliaWxpdGF0IGFtYiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICIgICBhICAgZXN0YWJsZWl4IHVuIHNlbnlhbGFkb3IgZGUgbm9tw6lzIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAiICAgYSAgIGVzdGFibGVpeCB1biBzZW55YWxhZG9yIGRlIG5vbcOpcyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYyAgIGVzdGFibGVpeCBzZW55YWxhZG9yIGRlIG11bnRhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICIgICBhICAgY2FudmlhIGVsIG5vbWJyZSBkZSBjaWxpbmRyZXMgYWx0ZXJuYXRpdXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICIgICBlICAgY2FudmlhIGVsIG5vbWJyZSBkZSBzZWN0b3JzIGFkZGljaW9uYWxzIHBlciBjaWxpbmRyZSIKKworIyBGSVhNRQorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiICAgaSAgIGNhbnZpYSBlbCBmYWN0b3IgZCdlbnRyZWxsYcOnYXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiAgIG8gICBjYW52aWEgdmVsb2NpdGF0IGRlIHJvdGFjacOzIChyLnAubS4pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIiAgIHkgICBjYW52aWEgZWwgbm9tYnJlIGRlIGNpbGluZHJlcyBmw61zaWNzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kgY3J1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHNlbGVjY2lvbmEgbGEgcGFydGljacOzIGQnYXJyZW5jYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiICAgYiAgIGVkaXRhIGwnZW50cmFkYSBkZWwgZml0eGVyIGQnYXJyZW5jYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYyAgIHNlbGVjY2lvbmEgbGEgcGFydGljacOzIGQnaW50ZXJjYW52aSBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgIGVzdGFibGVpeCB1biBzZW55YWxhZG9yIGQnYXJyZW5jYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgYiAgIGVkaXRhIGwnZXRpcXVldGEgZGUgZGlzYyBic2QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIiAgIGMgICBlc3RhYmxlaXggZWwgc2VueWFsYWRvciBkZSBjb21wYXRpYmlsaXRhdCBhbWIgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYiAgIGRlc3BsYcOnYSBsZXMgZGFkZXMgZCd1bmEgcGFydGljacOzIGEgbCdpbmljaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgY2FudmlhIGxlcyB1bml0YXRzIGRlIHZpc3VhbGl0emFjacOzL2VudHJhZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyNQorbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICIgICBlICAgZWRpdGEgZGFkZXMgZGUgbGEgdW5pdGF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiAgIGkgICBpbnN0YWzCt2xhIGVsIGNhcnJlZ2Fkb3IgZCdhcnJlbmNhZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorIywgZnV6enkKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgcyAgIG1vc3RyYSB0b3RlcyBsZXMgZXRpcXVldGVzIGRlbCBkaXNjIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICIgICB4ICAgZW5sbGHDp2EgbGEgcGFydGljacOzIEJTRCBhIHVuYSBwYXJ0aWNpw7Mgbm8gQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIkFqdWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiT3JkcmUgZCdleHBlcnQgKG0gcGVyIGEgb2J0ZW5pciBhanVkYSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDI1Cittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiT3JkcmUgKG0gcGVyIGEgb2J0ZW5pciBhanVkYSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICJFc3RldSBzZWd1ciBkZSB2b2xlciBjb250aW51YXI/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBvcmRyZSBkZXNjb25lZ3VkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBkaXNwb3NpdGl1IHBlciBhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIlJlc2V0dGluZyBmZGlzayEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVkIGNvbnTDqSBlbCBzZWN0b3IgMFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiRGVzaXRnZXUgZXNjcml1cmUgYWl4w7IgYWwgZGlzYz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICIgICBmICAgYXJyZWdsYSBsJ29yZHJlIGRlIGxlcyBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIk5vIGhpIGhhbiBwYXJ0aWNpb25zIGRlZmluaWRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUydoYSBzZWxlY2Npb25hdCBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1CisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJTJ2VzdMOgIGNhbnZpYW50IGxlcyB1bml0YXRzIGRlIHZpc3VhbGl0emFjacOzL2VudHJhZGEgYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsZXMgdW5pdGF0cyBkZSB2aXN1YWxpdHphY2nDsy9lbnRyYWRhIGEgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgZWRpdGEgbCdldGlxdWV0YSBkZSBkaXNjIGJzZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBlZGl0YSBsJ2V0aXF1ZXRhIGRlIGRpc2MgYnNkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NjEKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorIywgZnV6enkKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIGVkaXRhIGwnZXRpcXVldGEgZGUgZGlzYyBic2QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMzcKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJOb21icmUgZGUgY2lsaW5kcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJOb21icmUgZGUgY2Fww6dhbHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiTm9tYnJlIGRlIHNlY3RvcnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBlc3TDoCBtdW50YXQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMjkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk4IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDUKKyM6IGxpYi9wYXRoLmM6MTQwIGxpYi9wYXRoLmM6MTYxIGxpYi9wYXRoLmM6MTgyIGxpYi9wYXRoLmM6MjMwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY1NQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxNCBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MjMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NzkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgbGliL3BhdGguYzoxNjMgbGliL3BhdGguYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIm5hbWVpOiBubyBzJ2hhIHBvZ3V0IG9idGVuaXIgZWwgZGlyZWN0b3JpIGFjdHVhbCAtICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIlMnZXN0YW4gc2luY3Jvbml0emFudCBlbHMgZGlzY3MuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgcydoYSBjb21wbGV0YXQgYW1iIMOoeGl0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJVc2FudCAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNCBkaXNrLXV0aWxzL2ZzY2suYzo1MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODcgbG9naW4tdXRpbHMvbG9naW4uYzo5NDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDggc3lzLXV0aWxzL2Zsb2NrLmM6MzQ2IHN5cy11dGlscy9uc2VudGVyLmM6MTgwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzIwIHN5cy11dGlscy91bnNoYXJlLmM6MjIxIHN5cy11dGlscy91bnNoYXJlLmM6NDM1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjgwNQorIywgZnV6enkKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODIKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzg1IHN5cy11dGlscy9mbG9jay5jOjM2NCBzeXMtdXRpbHMvc3dhcG9uLmM6MzUyCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0MAorIywgZnV6enkKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciAlZCBlbiBkZXNjb21wcmltaXIhICVwKCVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgbHAuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAibW91bnQ6IG5vIGVzIHJlY29uZWl4IGVsIHNpdGVtYSBkZSBmaXR4ZXJzIMKrJXPCuyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiUydlc3TDoCBmb3LDp2FudCBsYSBjb21wcm92YWNpw7MgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlMnZXN0w6AgZm9yw6dhbnQgbGEgY29tcHJvdmFjacOzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NAorIywgZnV6enkKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiUydlc3TDoCBmb3LDp2FudCBsYSBjb21wcm92YWNpw7MgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk3CisjLCBmdXp6eQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW52aWEgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAgICAtbCBbbyAtLWxpc3RdOiAgICAgICBNb3N0cmEgbGVzIHBhcnRpY2lvbnMgZGUgY2FkYSBkaXNwb3NpdGl1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgU3VwcmltZWl4IGwnYWN0dWFsIHBhcnRpY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MTMKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAiJXM6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGxwLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcyCisjLCBmdXp6eQorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICIlcyBkZXNtdW50YXRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiUydlc3TDoCBkZXNtdW50YW50IGVscyBzaXN0ZW1lcyBkZSBmaXR4ZXJzIHJlc3RhbnRzLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICJTJ2VzdMOgIGRlc211bnRhbnQgZWxzIHNpc3RlbWVzIGRlIGZpdHhlcnMgcmVzdGFudHMuLi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTQ3IGRpc2stdXRpbHMvZnNjay5jOjE1NTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiSGV1IGVzcGVjaWZpY2F0IG3DqXMgY2lsaW5kcmVzIGRlbHMgcXVlIGNhYmVuIGFsIGRpc2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmVxdWVyZWl4IHVuIGFyZ3VtZW50XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE3Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgIiVzOiBhdsOtczsgbm8gZXMgcG90IGRldGVybWluYXIgbGEgbWlkYSBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIiVzIG5vIMOpcyBjYXAgZGlzcG9zaXRpdSBkZSBibG9jIG8gdW4gZml0eGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworIywgZnV6enkKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgIiVzOiBlbCBjcmFtZnMgw6lzIGludsOgbGlkLCBsYSBsb25naXR1ZCBkZWwgZml0eGVyIMOpcyBtYXNzYSBjdXJ0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc2IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTEgbGliZmRpc2svc3JjL2JzZC5jOjcxNyBsaWJmZGlzay9zcmMvYnNkLmM6ODkyCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjAzIGxvZ2luLXV0aWxzL2xhc3QuYzoyMzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg0Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJiaWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIk5vbWJyZSBkZSBzZWN0b3JzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgcydleHTDqW4gbcOpcyBlbmxsw6AgZGVsIGZpbmFsIGRlbCBkaXNjXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiVzOiBhdsOtczsgbGEgaW1hdGdlIGNyYW1mcyDDqXMgYW50aWdhLCBubyB0w6kgQ1JDXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTYKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICIsIGVycm9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDgKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorIywgZnV6enkKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgZm9yYXQgYSAlbGQgKCVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgcydlc3TDoCBkZXNjb21wcmltaW50IGVsIGJsb2MgZGUgJWxkIGEgJWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAiJXM6IE5vIGJsb2MgKCVsZCkgb2N0ZXRzXG4iCisKKyMgIk5vIG1pZGEiIG5vIMOpcyBnZW5zIGNvcnJlY3RlLi4uIGptCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIiVzOiBPY3RldHMgc2Vuc2UgbWlkYSAoJWxkIHZzICVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgIm5vIHMnaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJubyBzJ2hhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidmFsb3IgZCdleHBpcmFjacOzIGVycm9uaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAiL2RldjogY2hkaXIoKSBoYSBmYWxsYXQ6ICVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorIywgZnV6enkKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJtaWRhIGRlIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBpbmNvcnJlY3RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwNAorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIiVzOiBoaSBoYSB1biBlcnJvciBlbiBsYSBtaWRhIGRlIGwnZW5sbGHDpyBzaW1iw7JsaWMgwqslc8K7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgZnN5bmMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIiVzOiBtb2RlIGVycm9uaSBhIMKrJXPCuyAoJW8pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIm5vIHMnaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICIiCisiJXM6IGVsIGNyYW1mcyDDqXMgaW52w6BsaWQsIGVsIGZpbmFsIGRlIGxlcyBkYWRlcyBhbHMgZGlyZWN0b3JpcyAoJWxkKVxuIgorIsOpcyBkaWZlcmVudCBkZSBsJ2luaWNpIGRlIGxlcyBkYWRlcyBkZWxzIGZpdHhlcnMgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAiIgorIiVzOiBlbCBjcmFtZnMgw6lzIGludsOgbGlkLCBlbCBmaW5hbCBkZSBsZXMgZGFkZXMgYWxzIGRpcmVjdG9yaXMgKCVsZClcbiIKKyLDqXMgZGlmZXJlbnQgZGUgbCdpbmljaSBkZSBsZXMgZGFkZXMgZGVscyBmaXR4ZXJzICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICIlczogZWwgY3JhbWZzIMOpcyBpbnbDoGxpZCwgaGkgaGEgdW4gZGVzcGxhw6dhbWVudCBpbnbDoGxpZCBkZSBsZXMgZGFkZXMgZGVscyBmaXR4ZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdSBkZSBibG9jcyBubyB2w6BsaWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBDb3JyZWN0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUydlc3TDoCBmb3LDp2FudCBsYSBjb21wcm92YWNpw7MgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAgWyAtZmlsZSBub21fZml0eGVyX2JvbGNhdCBdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgImVzIG5lY2Vzc2l0YSB1biB0ZXJtaW5hbCBwZXIgYSByZXBhcmFjaW9ucyBpbnRlcmFjdGl2ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW52aWEgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIGVzdMOgIG11bnRhdC5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiRXN0ZXUgc2VndXIgZGUgdm9sZXIgY29udGludWFyPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgInMnaGEgYXZvcnRhdCBsYSBjb21wcm92YWNpw7MuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJOw7ptZXJvIGRlIHpvbmEgPCBGSVJTVFpPTkUgZW4gZWwgZml0eGVyIMKrJXPCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJOw7ptZXJvIGRlIHpvbmEgPj0gWk9ORVMgZW4gZWwgZml0eGVyIMKrJXPCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIkVsaW1pbmEgZWwgYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGRlIGxlY3R1cmE6IG5vIGVzIHBvdCBjZXJjYXIgZWwgYmxvYyBhbCBmaXR4ZXIgwqslc8K7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZGUgbGVjdHVyYTogYmxvYyBlcnJvbmkgYWwgZml0eGVyIMKrJXPCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJTJ2hhIHByb2R1w690IHVuIGVycm9yIGludGVybjogcydlc3TDoCBpbnRlbnRhbnQgZXNjcml1cmUgdW4gYmxvYyBlcnJvbmlcbiIKKyJTJ2hhIGlnbm9yYXQgbGEgcGV0aWNpw7MgZCdlc2NyaXB0dXJhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGZlciB1bmEgY2VyY2EgZW4gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGQnZXNjcmlwdHVyYTogaGkgaGEgdW4gYmxvYyBpbmNvcnJlY3RlIGFsIGZpdHhlciDCqyVzwrtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiQXbDrXM6IGVsIG5vbWJyZSBkZSBub2RlcyBkJ2lkZW50aWZpY2FjacOzIMOpcyBtYXNzYSBncmFuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBmZXIgdW5hIGNlcmNhIGVuIHdyaXRlX3N1cGVyX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIm5vIGVzIHBvdCBlc2NyaXVyZSBlbCBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIk5vIGVzIHBvdCBlc2NyaXVyZSBlbCBtYXBhIGRlIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiTm8gZXMgcG90IGVzY3JpdXJlIGVsIG1hcGEgZGUgem9uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiTm8gZXMgcG9kZW4gZXNjcml1cmUgZWxzIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbHMgbWFwZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJubyBlcyBwb3QgbGxlZ2lyIGVsIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAibsO6bWVybyBtw6BnaWMgaW5jb3JyZWN0ZSBlbiBlbCBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiTm9tw6lzIGVzIHN1cG9ydGVuIGJsb2NzIG8gem9uZXMgZGUgMWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJDYW1wIHNfaW1hcF9ibG9ja3MgaW5jb3JyZWN0ZSBhbCBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJDYW1wIHNfaW1hcF9ibG9ja3MgaW5jb3JyZWN0ZSBhbCBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NworIywgZnV6enkKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJDYW1wIHNfaW1hcF9ibG9ja3MgaW5jb3JyZWN0ZSBhbCBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJDYW1wIHNfem1hcF9ibG9ja3MgaW5jb3JyZWN0ZSBlbiBlbCBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiTm8gZXMgcG90IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbCBtYXBhIGRlIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiTm8gZXMgcG90IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbCBtYXBhIGRlIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiTm8gZXMgcG90IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIk5vIGVzIHBvdCBhc3NpZ25hciBtZW3DsnJpYSBpbnRlcm3DqGRpYSBwZXIgYWwgbm9tYnJlIGRlIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIk5vIGVzIHBvdCBhc3NpZ25hciBtZW3DsnJpYSBpbnRlcm3DqGRpYSBwZXIgYWwgbm9tYnJlIGRlIHpvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIk5vIGVzIHBvdCBsbGVnaXIgZWwgbWFwYSBkZSBub2RlcyBkJ2lkZW50aWZpY2FjacOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiTm8gZXMgcG90IGxsZWdpciBlbCBtYXBhIGRlIHpvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIk5vIGVzIHBvZGVuIGxsZWdpciBlbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJBdGVuY2nDszogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBub2RlcyBkJ2lkZW50aWZpY2FjacOzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9jc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJQcmltZXJhIHpvbmEgZGUgZGFkZXM9JWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICJNaWRhIGRlIGxhIHpvbmE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJNaWRhIG3DoHhpbWE9JWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkVzdGF0IGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorImxvbmdpdHVkIGRlbCBub209JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIkVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyAlZCBlc3TDoCBtYXJjYXQgY29tIGEgbm8gdXNhdCwgcGVyw7Igw6lzIHVzYXQgcGVsIGZpdHhlciDCqyVzwrtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJNYXJjYSdsIGVuIMO6cyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiRWwgZml0eGVyIMKrJXPCuyB0w6kgZWwgbW9kZSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiQXbDrXM6IGVsIG5vbWJyZSBkZSBub2RlcyBkJ2lkZW50aWZpY2FjacOzIMOpcyBtYXNzYSBncmFuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzY5Cittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIG5vIMOpcyB1biBkaXJlY3RvcmkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJFbCBibG9jIGphIGhhIGVzdGF0IGVtcHJhdCBhbnRlcmlvcm1lbnQuIEFyYSBlc3TDoCBlbiBlbCBmaXR4ZXIgXCIlc1wiLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxNAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiTmV0ZWphIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkVsIGJsb2MgJWQgZW4gZWwgZml0eGVyIGAlcycgZXN0w6AgbWFyY2F0IGNvbSBhIG5vIHVzYXQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI2Cittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiQ29ycmVnZWl4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkVsIGRpcmVjdG9yaSBgJXMnIGNvbnTDqSB1biBub21icmUgZGUgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyBpbmNvcnJlY3RlIHBlciBhbCBmaXR4ZXIgwqslLipzwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBFbGltaW5hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBkaXJlY3RvcmkgaW5jb3JyZWN0ZTogwqsuwrsgbm8gw6lzIGVsIHByaW1lclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yaSBpbmNvcnJlY3RlOiDCqy4uwrsgbm8gw6lzIGVsIHNlZ29uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJlcnJvciBpbnRlcm4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczogZGlyZWN0b3JpIGluY29ycmVjdGU6IG1pZGEgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiBkaXJlY3RvcmkgaW5jb3JyZWN0ZTogwqsuwrsgbm8gw6lzIGVsIHByaW1lclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgYmFkX3pvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJObyBzJ2hhIGVzYm9ycmF0IGVsIG1vZGUgZGVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiRWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzICVkIG5vIHMndXNhOyBzJ2hhIG1hcmNhdCBjb20gYSB1c2F0IGVuIGVsIG1hcGEgZGUgYml0cy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIlMnZXN0w6AgdXNhbnQgZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzICVkOyBtYXJjYXQgY29tIGEgZW4gZGVzw7pzIGVuIGVsIG1hcGEgZGUgYml0cy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiRXN0YWJsZWl4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIk5vZGUgZCdpZGVudGlmaWNhY2nDsyAlZCAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY29tcHRhdHM9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIkVzdGFibGVpeCBpX25saW5rcyBhbHMgY29tcHRhdHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmEgJWQ6IG1hcmNhZGEgY29tIGEgZW4gw7pzOyBjYXAgZml0eGVyIG5vIGwndXRpbGl0emEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDEKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIkVsaW1pbmEgbGEgbWFyY2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25hICVkOiBlbiDDunMsIGNvbXB0YWRhPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlZDogbm8gZW4gw7pzLCBjb21wdGFkYT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjk5Cittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgdjIgaW5jb3JyZWN0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgImVzIG5lY2Vzc2l0YSB1biB0ZXJtaW5hbCBwZXIgYSByZXBhcmFjaW9ucyBpbnRlcmFjdGl2ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgZXN0w6AgbmV0OyBubyBlcyBjb21wcm92YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIlMnZXN0w6AgZm9yw6dhbnQgbGEgY29tcHJvdmFjacOzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiSGkgaGEgZWxlbWVudHMgZXN0cmFueXMgYWwgc2lzdGVtYSBkZSBmaXR4ZXJzICVzLCBzJ2hhIGRlIGNvbXByb3Zhci5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MgdXNhdHMgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uZXMgdXNhZGVzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCBmaXR4ZXJzIG5vcm1hbHNcbiIKKyIlNmQgZGlyZWN0b3Jpc1xuIgorIiU2ZCBmaXR4ZXJzIGRpc3Bvc2l0aXUgZGUgY2Fyw6BjdGVyXG4iCisiJTZkIGZpdHhlcnMgZGlzcG9zaXRpdSBkZSBibG9jXG4iCisiJTZkIGVubGxhw6dvc1xuIgorIiU2ZCBlbmxsYcOnb3Mgc2ltYsOybGljc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaXR4ZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkVMIFNJU1RFTUEgREUgRklUWEVSUyBIQSBDQU5WSUFUXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDMyIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzOAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1NDEgZGlzay11dGlscy9wYXJ0eC5jOjEwNTggZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTE0CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDAwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MSBzeXMtdXRpbHMvZG1lc2cuYzo2NjEgc3lzLXV0aWxzL3dkY3RsLmM6MzQ3CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTIgdGVybS11dGlscy9zY3JpcHQuYzoyOTggdGVybS11dGlscy9zY3JpcHQuYzozNzUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4NyB0ZXh0LXV0aWxzL3BnLmM6MTI1NgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZGUgbGVjdHVyYSBhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAiY29tcHRlIGRlIHNlY3RvcnM6ICVkLCBtaWRhIGRlbCBzZWN0b3I6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPiAuLi5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTIKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTUKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc4Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiTm9tYnJlIGludsOgbGlkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbSBkZWwgdm9sdW0gbWFzc2EgbGxhcmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibm9tIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgbWFzc2EgbGxhcmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJlbCBub21icmUgZGUgYmxvY3MgZXMgbWFzc2EgZ3JhbiwgZWwgbcOgeGltIMOpcyBkZSAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJtYXNzYSBub2RlcyBkJ2lkZW50aWZpY2FjacOzOyBlbCBtw6B4aW0gw6lzIGRlIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAibm8gaGkgaGEgcHJvdSBlc3BhaSwgY29tIGEgbcOtbmltIGVzIG5lY2Vzc2l0ZW4gJWx1IGJsb2NzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiRGlzcG9zaXRpdTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJWb2x1bTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiTm9tX1Npcy5GaXQ6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiTWlkYUJsb2M6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJOb2RlcyBkJ2lkZW50aWZpY2FjacOzOiAlZCAoYWwgMSBibG9jKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIk5vZGVzIGQnaWRlbnRpZmljYWNpw7M6ICVkIChhbHMgJWxkIGJsb2NzKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxvY3M6ICVsZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICLDmmx0aW0gbm9kZSBkJ2lkZW50aWZpY2FjacOzOiAlZCwgRGFkYSBmaW5hbDogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBlbCBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXNjcml1cmUgZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBsJ2VudHJhZGEgLiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwMQorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXNjcml1cmUgbCdlbnRyYWRhIC4uIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6IG1rZnMgWy1WXSBbLXQgdGlwdXNfc2lzLl9maXR4Ll0gW29wY2lvbnNfc2lzLl9maXR4Ll0gIGRpc3Bvc2l0aXUgW21pZGFdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBpbmNsdWRlL2MuaDoyMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQzNQorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MSBsb2dpbi11dGlscy9zdWxvZ2luLmM6Nzk1IHN5cy11dGlscy9mbG9jay5jOjEyMQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTUgdGVybS11dGlscy9zY3JpcHQuYzo2MTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBpb2N0bCgpIHBlciBsbGVnaXIgbCdob3JhIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJmb3JtYSBkJ8O6czogJXMgWy1oXSBbLXZdIFstYiBibGtzel0gWy1lIGVkaWNpw7NdIFstaSBmaXR4ZXJdIFstbiBub21dIG5vbV9kaXIgc29ydGlkYVxuIgorIiAtaCAgICAgICAgbW9zdHJhIGFxdWVzdGEgYWp1ZGFcbiIKKyIgLXYgICAgICAgIG3DqXMgbWlzc2F0Z2VzXG4iCisiIC1FICAgICAgICBjb252ZXJ0ZWl4IGVscyBhdmlzb3MgZW4gZXJyb3JzIChlc3RhdCBkZSBzb3J0aWRhIG5vIHplcm8pXG4iCisiIC1iICAgICAgICB1dGlsaXR6YSBhcXVlc3RhIG1pZGEgZGUgYmxvYywgaGEgZGUgc2VyIGlndWFsIHF1ZSBsYSBtaWRhXG4iCisiICAgICAgICAgICBkZSBww6BnaW5hXG4iCisiIC1lIGVkaWNpw7MgZXN0YWJsZWl4IGVsIG7Dum1lcm8gZCdlZGljacOzIChwYXJ0IGRlIGZzaWQpXG4iCisiIC1pIGZpdHhlciBpbnNlcmVpeCB1bmEgaW1hdGdlIGRlIGZpdHhlciBhbCBzaXN0ZW1hIGRlIGZpdHhlcnNcbiIKKyIgICAgICAgICAgIChyZXF1ZXJlaXggPj0gMi40LjApXG4iCisiIC1uIG5vbSAgICBlc3RhYmxlaXggZWwgbm9tIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgY3JhbWZzXG4iCisiIC1wICAgICAgICBkZXNwbGHDp2EgJWQgb2N0ZXRzIHBlciBhbCBjb2RpIGQnYXJyZW5jYWRhXG4iCisiIC1zICAgICAgICBvcmRlbmEgbGVzIGVudHJhZGVzIGRlIGRpcmVjdG9yaSAob3BjacOzIGFudGlnYSwgcydpZ25vcmEpXG4iCisiIC16ICAgICAgICBjcmVhIGZvcmF0cyBleHBsw61jaXRzIChyZXF1ZXJlaXggPj0gMi4zLjM5KVxuIgorIiBub21fZGlyICAgYXJyZWwgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBxdWUgZXMgY29tcHJpbWlyw6BcbiIKKyIgc29ydGlkYSAgIGZpdHhlciBkZSBzb3J0aWRhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJlbCBub2RlIGQnaWRlbnRpZmljYWNpw7MgYXJyZWwgbm8gw6lzIHVuIGRpcmVjdG9yaSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIMOpcyBtYXNzYSBncmFuLiBTJ2VzdMOgIHNvcnRpbnQuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJFcDogYmxvYyBcImNvbXByaW1pdFwiIGEgPiAyKmxvbmdpdHVkZGVsYmxvYyAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStkIG9jdGV0cylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJhdsOtczogcydlc3RpbWEgcXVlIGxhIG1pZGEgcmVxdWVyaWRhIChjb3RhIHN1cGVyaW9yKSDDqXMgZCAlTGRNQiwgcGVyw7IgbGEgbWlkYSBtw6B4aW1hIGRlIGxhIGltYXRnZSDDqXMgJXVNQi4gRXMgcG9kcmlhIHNvcnRpciBwcmVtYXR1cmFtZW50LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiUydlc3TDoCBpbmNsb2VudDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJEYWRlcyBkZWwgZGlyZWN0b3JpOiAlZCBvY3RldHNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJUb3Q6ICVkIGtpbG9vY3RldHNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJTw7pwZXIgYmxvYzogJWQgb2N0ZXRzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIm5vIGhpIGhhIHByb3UgZXNwYWkgcGVyIGEgbGEgaW1hdGdlIFJPTSAoYXNzaWduYXRzICVMZCwgZW1wcmF0cyAlZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIk5vIMOpcyBwb3NzaWJsZSBlc2NyaXVyZSBsYSBpbWF0Z2UgUk9NICglZCAlZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAiYXbDrXM6IGVscyBub21zIGRlIGZpdHhlciBlcyB0cnVucXVlbiBhIDI1NSBvY3RldHMuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJhdsOtczogcydoYW4gc2FsdGF0IGZpdHhlcnMgZGVndXQgYSBlcnJvcnMuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiYXbDrXM6IGxhIG1pZGEgZGVscyBmaXR4ZXJzIGVzIHRydW5jYSBhICVsdU1CIChtZW55cyAxIG9jdGV0KS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiYXbDrXM6IGVscyBpZGVudGlmaWNhZG9ycyBkJ3VzdWFyaSAodWlkKSBlcyB0cnVucXVlbiBhICV1IGJpdHMsICAocG9kcmlhIHNlciB1biBwcm9ibGVtYSBkZSBzZWd1cmV0YXQpLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJhdsOtczogZWxzIGlkZW50aWZpY2Fkb3JzIGRlIGdydXAgKGdpZCkgZXMgdHJ1bnF1ZW4gYSAldSBiaXRzLiAgKFBvZHJpYSBzZXIgdW4gcHJvYmxlbWEgZGUgc2VndXJldGF0KS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIkFWw41TOiBlbHMgbm9tYnJlcyBkZSBkaXNwb3NpdGl1IGVzIHRydW5xdWVuIGEgJXUgYml0cy4gw4lzIGdhaXJlYsOpIHNlZ3VyIHF1ZVxuIgorImFpeMOyIHByb3ZvY2Fyw6AgcXVlIGFsZ3VucyBkaXNwb3NpdGl1cyBkZSBmaXR4ZXJzIHNpZ3VpbiBlcnJvbmlzLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgY2lsaW5kcmVzOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGVsIGJsb2MgZCdhcnJlbmNhZGEgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBuZXRlamFyIGVsIHNlY3RvciBkJ2FycmVuY2FkYSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJubyBlcyBwb3QgZXNjcml1cmUgZWwgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGVsIG1hcGEgZGVscyBub2RlcyBkJ2lkZW50aWZpY2FjacOzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgbWFwYSBkZSB6b25lcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZmVyIHVuYSBjZXJjYSBlbiB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgImhpIGhhIG1hc3NhIGJsb2NzIGluY29ycmVjdGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICJubyBoaSBoYSBwcm91IGJsb2NzIGNvcnJlY3RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsZCBub2RlcyBkJ2lkZW50aWZpY2FjacOzXG4iCittc2dzdHJbMV0gIiVsZCBub2RlcyBkJ2lkZW50aWZpY2FjacOzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWxkIGJsb2NzXG4iCittc2dzdHJbMV0gIiVsZCBibG9jc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJNaWRhIGRlIGxhIHpvbmE9JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1pZGFfbcOgeC49JWxkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBjZXJjYXIgZHVyYW50IGxhIGNvbXByb3ZhY2nDsyBkZSBibG9jcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJIaSBoYSB2YWxvcnMgZXN0cmFueXMgYSBkb19jaGVjazogcHJvYmFibGVtZW50IGhpIGhhIGVycm9yc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY2VyY2FyIGEgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICJibG9jcyBpbmNvcnJlY3RlcyBhYmFucyBkZSBsJ8OgcmVhIGRlIGRhZGVzOiBubyBzJ2hhIHBvZ3V0IGNyZWFyIGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQgYmxvY3MgaW5jb3JyZWN0ZXNcbiIKK21zZ3N0clsxXSAiJWQgYmxvY3MgaW5jb3JyZWN0ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIm5vIGVzIHBvdCBvYnJpciBlbCBmaXR4ZXIgZGUgYmxvY3MgaW5jb3JyZWN0ZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBsYSB1bml0YXQgZGUgZGlzYyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJubyBlcyBwb3Qgb2J0ZW5pciBsYSBtaWRhIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiTm9tYnJlIGRlIHNlY3RvcnMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGphIGVzdMOgIG11bnRhdDsgbm8gcydoaSBjcmVhcsOgIGNhcCBzaXN0ZW1hIGRlIGZpdHhlcnMuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJMYSBtaWRhIGRlIGxhIHDDoGdpbmEgcXVlIGhhIGVzcGVjaWZpY2F0IGwndXN1YXJpLCAlZCwgbm8gw6lzIGNvcnJlY3RlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJTJ2VzdMOgIGZlbnQgc2VydmlyIGxhIG1pZGEgZGUgbGEgcMOgZ2luYSAlZCBlc3BlY2lmaWNhZGEgcGVyIGwndXN1YXJpLCBlbiBjb21wdGVzIGRlbHMgdmFsb3JzIGRlbCBzaXN0ZW1hICVkLyVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJTJ2hhIHRydW5jYXQgbCdldGlxdWV0YS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAic2Vuc2UgZXRpcXVldGEsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJzZW5zZSB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTMKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJoaSBoYSBtYXNzYSBww6BnaW5lcyBpbmNvcnJlY3RlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgY2VyY2FyIGEgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IHDDoGdpbmVzIGluY29ycmVjdGVzXG4iCittc2dzdHJbMV0gIiVsdSBww6BnaW5lcyBpbmNvcnJlY3Rlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbWVtw7JyaWEgaW50ZXJtw6hkaWEgcGVyIGFscyBub2RlcyBkJ2lkZW50aWZpY2FjacOzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiQXbDrXM6IEwnb3BjacOzIG5hbWxlbiBubyBlc3TDoCBpbXBsZW1lbnRhZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYzIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg5IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM2Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG5ldGVqYXIgZWwgc2VjdG9yIGQnYXJyZW5jYWRhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBuZXRlamFyIGVsIHNlY3RvciBkJ2FycmVuY2FkYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgcCAgIGltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIEJTRCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgIHMgICBtb3N0cmEgdG90ZXMgbGVzIGV0aXF1ZXRlcyBkZWwgZGlzYyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiVXNldSAlcyAtbCBwZXIgdmV1cmUnbiBsYSBsbGlzdGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHDDoGdpbmEgZGUgbGEgc2lnbmF0dXJhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgInNlbcOgZm9ycyBhc3NpZ25hdHMgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICIlczogZXJyb3I6IG5vIGVzIHBvdCBlc3BlY2lmaWNhciBsJ2VzcGFpIGQnaW50ZXJjYW52aSBlbmxsb2M/XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICIlczogZXJyb3I6IGxhIG1pZGEgJWx1IGVzIG3DqXMgZ3JhbiBxdWUgYSBsYSBtaWRhIGRlbCBkaXNwb3NpdGl1ICVsdVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICIlczogZXJyb3I6IGwnZXNwYWkgZCdpbnRlcmNhbnZpIGhhIGRlIHRlbmlyIGNvbSBhIG3DrW5pbSAlbGRrQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIiVzOiBhdsOtczogbCdlc3BhaSBkJ2ludGVyY2FudmkgcydoYSB0cnVuY2F0IGEgJWxka0JcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXMgamEgZXN0w6AgbXVudGF0OyBubyBzJ2hpIGNyZWFyw6AgY2FwIHNpc3RlbWEgZGUgZml0eGVycy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBhdsOtczogJXMgdMOpIGVscyBwZXJtaXNvcyAlMDRvIHF1ZSBzw7NuIGluc2VndXJzLCBzZSBzdWdnZXJlaXggJTA0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGF2w61zOiAlcyB0w6kgZWxzIHBlcm1pc29zICUwNG8gcXVlIHPDs24gaW5zZWd1cnMsIHNlIHN1Z2dlcmVpeCAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGNvbmZpZ3VyYXIgbCdlc3BhaSBkJ2ludGVyY2Fudmk6IG5vIGVzIHBvdCBsbGVnaXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiUydlc3TDoCBjb25maWd1cmFudCBsJ2VzcGFpIGQnaW50ZXJjYW52aSB2ZXJzacOzICVkLCBtaWRhID0gJWxsdSBrQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlYm9iaW5hciBlbCBkaXNwb3NpdGl1IGQnaW50ZXJjYW52aSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgdG9ybmFyIGEgbm9tZW5hciAlcyBwZXIgJXM6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJJbXByaW1laXggbm9tw6lzIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorIywgZnV6enkKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiTm9tYnJlIGRlIHNlY3RvcnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJTJ2VzdMOgIGVzY3JpdmludCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGFsIGRpc2MuLi4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2lvbnM6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgdHJvYmF0IGNhcCBkaXNwb3NpdGl1IGxvb3AgbGxpdXJlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJtb3VudDogcyd1c2Fyw6AgZWwgZGlzcG9zaXRpdSBsb29wICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlYm9iaW5hciBlbCBkaXNwb3NpdGl1IGQnaW50ZXJjYW52aSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo5MgorIzogbWlzYy11dGlscy9maW5kbW50LmM6Mzc2IG1pc2MtdXRpbHMvbHNibGsuYzozNjcgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEyNSBtaXNjLXV0aWxzL3dpcGVmcy5jOjEyNiBzeXMtdXRpbHMvbG9zZXR1cC5jOjExMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjIwIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNtZW0uYzoxODAKKyM6IHN5cy11dGlscy9sc25zLmM6MjIzIHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9yZmtpbGwuYzoxNjAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNTAgc3lzLXV0aWxzL3dkY3RsLmM6MTUxIHN5cy11dGlscy96cmFtY3RsLmM6MTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBPcmRyZSBkZXNjb25lZ3VkYTogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJBdGVuY2nDszogcydlc3RhbiBzdXByaW1pbnQgbGVzIHBhcnRpY2lvbnMgZGVzcHLDqXMgZGUgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIkF0ZW5jacOzOiBzJ2VzdGFuIHN1cHJpbWludCBsZXMgcGFydGljaW9ucyBkZXNwcsOpcyBkZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIk5vIGhpIGhhbiBwYXJ0aWNpb25zIGRlZmluaWRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIkFxdWVzdGEgcGFydGljacOzIGphIGV4aXN0ZWl4LlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIlMnaGEgc2VsZWNjaW9uYXQgbGEgcGFydGljacOzICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJubyBlc3TDoCBjb250aW5ndXQgYSBkaW5zIGRlIGxhIHBhcnRpY2nDsyAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIkF2w61zOiBsZXMgcGFydGljaW9ucyAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiTm8gaGkgaGFuIHBhcnRpY2lvbnMgZGVmaW5pZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiQXRlbmNpw7M6IHMnZXN0YW4gc3VwcmltaW50IGxlcyBwYXJ0aWNpb25zIGRlc3Byw6lzIGRlICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJBdGVuY2nDszogcydlc3RhbiBzdXByaW1pbnQgbGVzIHBhcnRpY2lvbnMgZGVzcHLDqXMgZGUgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIk5vIGhpIGhhbiBwYXJ0aWNpb25zIGRlZmluaWRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIk5vIGhpIGhhbiBwYXJ0aWNpb25zIGRlZmluaWRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIlMnaGEgc2VsZWNjaW9uYXQgbGEgcGFydGljacOzICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiICAgcCAgIGltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIEJTRCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU3Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MworIywgZnV6enkKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcsOgbWV0cmVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3Rvci1zaXplIDxudW0+ICBvdmVyd3JpdGUgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0LXR5cGVzICAgICBsaXN0IHN1cHBvcnRlZCBwYXJ0aXRpb24gdHlwZXMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgIC1UIFtvIC0tbGlzdC10eXBlc106IExsaXN0YSBlbHMgdGlwdXMgZGUgcGFydGljaW9ucyBjb25lZ3VkZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzMgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIiIKKyJTJ2hhIG1vZGlmaWNhdCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLlxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICJObyBlcyBwb3Qgc3VwcmltaXIgdW5hIHBhcnRpY2nDsyBidWlkYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBibG9jYXIgZWwgZml0eGVyIGRlIGJsb2NhdCAlczogJXNcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiQXbDrXM6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIm5vIGVzIHBvdCBmZXIgXCJzdGF0XCIgYWwgZGlzcG9zaXRpdSAlcyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICIvZGV2LyVzOiBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBjYXLDoGN0ZXIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICIlcyBubyBlcyB1biBkaXNwb3NpdGl1IGRlIGJsb2MgZXNwZWNpYWwiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYXR1cmFyIGVsIHNlcnZlaTogXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGF0dXJhciBlbCBzZXJ2ZWk6IFwiJXNcIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogc2ZkaXNrIC0taWQgZGlzcG9zaXRpdSBwYXJ0aWNpw7NfbsO6bWVybyBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjI0Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTExCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDMgbGliZmRpc2svc3JjL2JzZC5jOjcyMiBsaWJmZGlzay9zcmMvYnNkLmM6ODk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgIiVzIG5vIGVzIHBvdCBvYnJpciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBww6BnaW5hIGRlIGxhIHNpZ25hdHVyYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcMOgZ2luYSBkZSBsYSBzaWduYXR1cmEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiRGVzaXRnZXUgZXNjcml1cmUgYWl4w7IgYWwgZGlzYz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiIgorIlMnaGEgbW9kaWZpY2F0IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMuXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiUydoYSBtb2RpZmljYXQgbGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIE5vbVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIiAlczogbm8gcydoYSBwb2d1dCByZWNvbsOoaXhlciBlbCB0aXB1cyBkZSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhIGRlICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJ0b3RhbDogJWxsdSBibG9jc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKKyMsIGZ1enp5Cittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogZWwgZGlzcG9zaXRpdSBsb29wIGVzdMOgIGVzcGVjaWZpY2F0IGR1ZXMgdmVnYWRlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHN3aXRjaCB0byBQTUJSIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIFwic3RhdFwiIGFsIGRpc3Bvc2l0aXUgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICJObyBoaSBoYSBjYXAgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlZCBjYXZhbGNhIGFtYiBsYSBwYXJ0aWNpw7MgJWQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgbCdvcGNpw7MgLS1kYXRlLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJFbCBkaXNjICVzIG5vIGNvbnTDqSB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyB2w6BsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICJFbCBkaXNjICVzIG5vIGNvbnTDqSB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyB2w6BsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworIywgZnV6enkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5CisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgdyAgIGVzY3JpdSBsYSB0YXVsYSBhbCBkaXNjIGkgc3VydCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICBpbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBCU0QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworIywgZnV6enkKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDQKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE5CisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICJObyBwb2RyZXUgZXNjcml1cmUgbGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1CisjLCBmdXp6eQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICBuICAgICAgICAgIENyZWEgdW5hIG5vdmEgcGFydGljacOzIGRlcyBkZSBsJ2VzcGFpIGxsaXVyZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiY2FwIG9yZHJlP1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImNhcCBvcmRyZT9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIkVsIGRpc2MgJXMgbm8gY29udMOpIHVuYSB0YXVsYSBkZSBwYXJ0aWNpb25zIHbDoGxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiRW5jYXJhIG5vIGhpIGhhIGNhcCBwYXJ0aWNpw7MgZGVmaW5pZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCisjLCBmdXp6eQorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJTJ2VzdMOgIGNvbXByb3ZhbnQgcXVlIGVuIGFxdWVzdCBtb21lbnQgbmluZ8O6IGVzdGlndWkgdXNhbnQgYXF1ZXN0IGRpc2MuLi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJcbiIKKyJBcXVlc3QgZGlzYyBlc3TDoCBhY3R1YWxtZW50IGVuIMO6czsgcmVwYXJ0aWNpb25hci1sbyBwcm9iYWJsZW1lbnQgc2lndWlcbiIKKyJ1bmEgbWFsYSBpZGVhLiBEZXNtdW50ZXUgdG90cyBlbHMgc2lzdGVtZXMgZGUgZml0eGVycyBpIGV4ZWN1dGV1XG4iCisic3dhcG9mZiBlbiB0b3RlcyBsZXMgcGFydGljaW9ucyBkJ2ludGVyY2FudmkgZGVsIGRpc2MuXG4iCisiVXNldSBlbCBzZW55YWxhZG9yIC0tbm8tcmVyZWFkIHBlciBhIHN1cHJpbWlyIGFxdWVzdGEgY29tcHJvdmFjacOzLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzMKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIlVzZXUgZWwgc2VueWFsYWRvciAtLWZvcmNlIHBlciBhIG9idmlhciB0b3RlcyBsZXMgY29tcHJvdmFjaW9ucy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiJXM6IENvcnJlY3RlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIkFudGlnYSBzaXR1YWNpw7M6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJFc2NvbGxpdSBgZ2V0b3B0IC0taGVscCcgcGVyIG9idGVuaXIgbcOpcyBpbmZvcm1hY2nDsy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjg2CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJObyBzJ2hhbiB0cm9iYXQgcGFydGljaW9uc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKKyMsIGZ1enp5Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiIgorIkZldFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjYKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiTm8gY3Jlw69zIGNhcCBwYXJ0aWNpw7MiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICJOb3ZhIHNpdHVhY2nDszpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIkRlc2l0Z2V1IGVzY3JpdXJlIGFpeMOyIGFsIGRpc2M/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiZm9ybWEgZCfDunM6IG5hbWVpIFstbXhdIGNhbcOtIFtjYW3DrSAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgbGEgdmVyc2nDsyBkZWwgZ2V0b3B0KDEpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYwCittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKKyMsIGZ1enp5Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiICAgIC1jIFtvIC0taWRdOiAgICAgICAgIEltcHJpbWVpeCBvIGNhbnZpYSBsJ2lkZW50aWZpY2Fkb3IgZGUgbGEgcGFydGljacOzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjYKKyMsIGZ1enp5Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLU4jIDogICAgICAgICAgICAgICAgTm9tw6lzIGNhbnZpYSBsYSBwYXJ0aWNpw7MgYW1iIGVsIG7Dum1lcm8gIyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY3Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiUG9kZXUgZGVzYWN0aXZhciB0b3RhIGNvbXByb3ZhY2nDsyBkZSBjb25zaXN0w6huY2lhIGFtYjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorIywgZnV6enkKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1IIyBbbyAtLWhlYWRzICNdOiAgICAgRXN0YWJsZWl4IGVsIG5vbWJyZSBkZSBjYXDDp2FscyBxdWUgcyd1c2FyYW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgICAtcSAgW28gLS1xdWlldF06ICAgICAgIFN1cHJpbWVpeCBlbHMgYXZpc29zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1pbnTDqHJwcmV0X29yZHJlcyBFc3RhYmxlaXggZWxzIG1hdGVpeG9zIGNvbnZlbmlzIHF1YW50IGEgbGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbWV0ZXMgcXVlIGwnaW50ZXJwcmV0IGQnb3JkcmVzIGluZGljYXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg4Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkwCittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkxCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgZGUgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJFc2NvbGxpdSBgZ2V0b3B0IC0taGVscCcgcGVyIG9idGVuaXIgbcOpcyBpbmZvcm1hY2nDsy5cbiIKKworIzogaW5jbHVkZS9jLmg6MzE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2lvbnM6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICJPcmRyZXMgZGlzcG9uaWJsZXM6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNQorIywgZnV6enkKK21zZ2lkICJkaXNwbGF5IHRoaXMgaGVscCIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogaW5jbHVkZS9jLmg6MzI2CisjLCBmdXp6eQorbXNnaWQgImRpc3BsYXkgdmVyc2lvbiIKK21zZ3N0ciAidmVyc2nDsyIKKworIzogaW5jbHVkZS9jLmg6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiY29sOiBlcnJvciBkJ2VzY3JpcHR1cmEuXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIlBlciBkZWZlY3RlLCBzJ2hhIGRlbmVnYXQgbCdhY2PDqXMgYSAlcyBkZXMgZGUgJXMuXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJQZXIgZGVmZWN0ZSwgcydoYSBkZW5lZ2F0IGwnYWNjw6lzIGEgJXMgZGVzIGRlICVzLlxuIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICIlczogTGVzIG9wY2lvbnMgLS1hZGp1c3QgaSAtLW5vYWRqZmlsZSBzJ2V4Y2xvdWVuIG3DunR1YW1lbnQuIExlcyBoZXUgZXNwZWNpZmljYXQgdG90ZXMgZHVlcy5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJCdWlkYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIGFycmVsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIkVzdGVzYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorIywgZnV6enkKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGFycmVuY2FibGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIkdlc3RvciBkJ2FycmVuY2FkYSBPUy8yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEVzdGVzYSAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiRkFUMTIgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiRGlhZ27DsnN0aWNzIENvbXBhcSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJGQVQxNiBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiSFBGUy9OVEZTIG9jdWx0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiU21hcnRTbGVlcCBkJ0FTVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIG9jdWx0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworIywgZnV6enkKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiSFBGUy9OVEZTIG9jdWx0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUmVjdXBlcmFjacOzIFBhcnRpdGlvbk1hZ2ljIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgYXJyZW5jYWRhIFBSZVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0Lnggc2Vnb25hIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggdGVyY2VyYSBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIG8gU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJNaW5peCBhbnRpYyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBhbnRpYyBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiSW50ZXJjYW52aSBMaW51eCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IGVzdGVzYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIkpvYyBkZSB2b2x1bXMgTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQgbGliZmRpc2svc3JjL3NnaS5jOjYyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSGl2ZXJuYWNpw7MgZCdJQk0gVGhpbmtwYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJVRlMgZGUgRGFyd2luIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJBcnJlbmNhZGEgZGUgRGFyd2luIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorIywgZnV6enkKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiUy5mLiBCU0RJIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiSW50ZXJjYW52aSBkZSBCU0RJIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgb2N1bHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIkFycmVuY2FkYSBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIkRhZGVzIHNlbnNlIFMuRi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiVXRpbGl0YXQgRGVsbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJBY2PDqXMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiY29sOiBhcmd1bWVudCAtbCBpbmNvcnJlY3RlICVzLlxuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIlNpcy4gRml0eC4gQmVPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkFycmVuY2FkYSBMaW51eC9QQS1SSVNDIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJTZWN1bmTDoHJpYSBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMSBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0Cittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiQXV0b2RldGVjY2nDsyBSQUlEIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiQXbDrXM6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiUydoYSBzZWxlY2Npb25hdCBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MworIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJFbmNhcmEgbm8gaGkgaGEgY2FwIHBhcnRpY2nDsyBkZWZpbmlkYS5cbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJObyBoaSBoYSBjYXAgc2VjdG9yIGxsaXVyZSBkaXNwb25pYmxlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo1MDUKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiTGEgcGFydGljacOzICVkIGVuY2FyYSBubyBleGlzdGVpeC5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJXMgbm8gw6lzIHbDoGxpZGEgcGVycXXDqCBjb21lbsOnYSBwZWwgc2VjdG9yIDAuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIHBhcnRpY2nDsyAqQlNEIGVuICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgImNpbGluZHJlIgorCisjIFBhcmxhIGQnZXRpcXVldGVzLCBzZWd1cmFtZW50IMOpcyBmZW1lbsOtCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkxIGxpYmZkaXNrL3NyYy9kb3MuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltYSAlcyBvICttaWRhIG8gK21pZGFNIG8gK21pZGFLIgorCisjIFBhcmxhIGQnZXRpcXVldGVzLCBzZWd1cmFtZW50IMOpcyBmZW1lbsOtCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3CisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLDmmx0aW1hICVzIG8gK21pZGEgbyArbWlkYU0gbyArbWlkYUsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiJXMgbm8gY29udMOpIGNhcCBldGlxdWV0YSBkZSBkaXNjLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJEZXNpdGdldSBjcmVhciB1bmEgZXRpcXVldGEgZGUgZGlzYz8gKHkvbikgIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgImRpc2M6ICUuKnNcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NQorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjIgbGliZmRpc2svc3JjL3N1bi5jOjExMjcKK21zZ2lkICJGbGFncyIKK21zZ3N0ciAiU2VueWFsYWRvcnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgZXh0cmHDr2JsZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIHNlY3RvciBkb2xlbnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJvY3RldHMvc2VjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAicGlzdGVzL2NpbGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1CisjLCBmdXp6eQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgInNlY3RvcnMvY2lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTAgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjgKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCisjLCBmdXp6eQorbXNnaWQgIlJwbSIKK21zZ3N0ciAici5wLm0uIgorCisjIEZJWE1FCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTAwIGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTEgbGliZmRpc2svc3JjL3N1bi5jOjc5MworIywgZnV6enkKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICJlbnRyZWxsYcOnYXQiCisKKyMgRklYTUUKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDUKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJkZWNhbGF0Z2UgZGUgbGVzIHBpc3RlcyIKKworIyBGSVhNRQorIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMAorIywgZnV6enkKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgImRlY2FsYXRnZSBkZWxzIGNpbGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJjYW52aSBkZSBjYXDDp2FsIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImNlcmNhIHBpc3RhIGEgcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgIm9jdGV0cy9zZWN0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTMKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzZWN0b3JzL3Bpc3RhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJwaXN0ZXMvY2lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgImNpbGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgInNlY3RvcnMvY2lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgInIucC5tLiIKKworIyBGSVhNRQorIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImVudHJlbGxhw6dhdCIKKworIyBGSVhNRQorIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAiZGVjYWxhdGdlIGRlIGxlcyBwaXN0ZXMiCisKKyMgRklYTUUKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgImRlY2FsYXRnZSBkZWxzIGNpbGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNworbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgImNhbnZpIGRlIGNhcMOnYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJjZXJjYSBwaXN0YSBhIHBpc3RhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJDYXJyZWdhZG9yOiAlc2Jvb3QgLT4gYm9vdCVzICglcyk6ICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwMworIywgZnV6enkKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJFbCBjYXJyZWdhZG9yIHMnZW5jYXZhbGNhIGFtYiBsJ2V0aXF1ZXRhIGRlIGRpc2MuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJTJ2hhIGluc3RhbMK3bGF0IGVsIGNhcnJlZ2Fkb3IgYSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIlVuaXRhdCBkZSBkaXNjOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTExIGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6Njg4CisjLCBmdXp6eQorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTJ2VzdGFuIHNpbmNyb25pdHphbnQgZWxzIGRpc2NzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiAgIHggICBlbmxsYcOnYSBsYSBwYXJ0aWNpw7MgQlNEIGEgdW5hIHBhcnRpY2nDsyBubyBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKKyMsIGZ1enp5Cittc2dpZCAiRnNpemUiCittc2dzdHIgIk1pZGEgbcOgeGltYT0lbGRcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKKyMsIGZ1enp5Cittc2dpZCAiQnNpemUiCittc2dzdHIgIk1pZGEgbcOgeGltYT0lbGRcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlMnZXN0w6AgY3JpZGFudCBpb2N0bCgpIHBlciByZWxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiUydlc3TDoCByZWxsZWdpbnQgbGEgdGF1bGEgZGUgcGFydGljaW9ucy4uLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NworIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIiIKKyJcbiIKKyJBdsOtczogTm8gcydoYSBwb2d1dCByZWxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLCBzJ2hhIHByb2R1w690IGwnZXJyb3IgJWQ6ICVzLlxuIgorIkVsIG51Y2xpIGVuY2FyYSB1c2EgbCdhbnRpZ2EgdGF1bGEuXG4iCisiTGEgdGF1bGEgbm92YSBzJ3VzYXLDoCBkZXNwcsOpcyBkJ2FycmVuY2FyIGRlIG5vdS5cbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgIiVzOiBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiAlenUgdG8gc3lzdGVtIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAiIgorIlxuIgorIkF2w61zOiBObyBzJ2hhIHBvZ3V0IHJlbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMsIHMnaGEgcHJvZHXDr3QgbCdlcnJvciAlZDogJXMuXG4iCisiRWwgbnVjbGkgZW5jYXJhIHVzYSBsJ2FudGlnYSB0YXVsYS5cbiIKKyJMYSB0YXVsYSBub3ZhIHMndXNhcsOgIGRlc3Byw6lzIGQnYXJyZW5jYXIgZGUgbm91LlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kcmUiCittc2dzdHJbMV0gImNpbGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWN0b3IiCittc2dzdHJbMV0gInNlY3RvciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMzg4Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIkphIHMnaGFuIGRlZmluaXQgdG90ZXMgbGVzIHBhcnRpY2lvbnMgcHJpbcOgcmllcy5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNgorIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IHBhcnRpdGlvbiBub3QgYXZhaWxhYmxlLiIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIHNlY3RvciBsbGl1cmUgZGlzcG9uaWJsZVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorIiVzJXMuXG4iCisiUG9kZXUgZmVyIGFpeMOyIGRlcyBkZWwgbWVuw7ogZGUgZnVuY2lvbnMgYWRkaWNpb25hbHMuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzUzCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJEZXNwbGHDp2FtZW50IGluY29ycmVjdGUgZW4gcGFydGljaW9ucyBwcmltw6ByaWVzIGVzdGVzZXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKyJBdsOtczogcydlc3RhbiBvbWV0ZW50IGxlcyBwYXJ0aWNpb25zIHBvc3RlcmlvcnMgYSBsYSAjJWQuXG4iCisiUydlbGltaW5hcmFuIHNpIGRlc2V1IGFxdWVzdGEgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJBdsOtczogaGkgaGEgdW4gcHVudGVyIGQnZW5sbGHDpyBhZGRpY2lvbmFsIGEgbGEgdGF1bGEgZGUgcGFydGljaW9ucyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJBdsOtczogcydlc3TDoCBpZ25vcmFudCBsZXMgZGFkZXMgYWRkaWNpb25hbHMgZGUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIkF2w61zOiBwYXJ0aWNpw7MgYnVpZGFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiAgIHMgICBjcmVhIHVuYSBldGlxdWV0YSBkZSBkaXNjIFN1biBub3ZhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgY2FudmlhIGxlcyB1bml0YXRzIGRlIHZpc3VhbGl0emFjacOzL2VudHJhZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MzMKKyMsIGZ1enp5Cittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiVmFsb3IgZXN0YWJsZXJ0IGludsOgbGlkOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUydlc3TDoCBpZ25vcmFudCBsYSBwYXJ0aWNpw7MgZXN0ZXNhIGFkZGljaW9uYWwgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkF2w61zOiBlbCBzZW55YWxhZG9yIDB4JTA0eCBpbnbDoGxpZCBkZSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zICVkIGVzIGNvcnJlZ2lyw6AgYW1iIHcoZXNjcml1KVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIkVsIHZhbG9yIGVzdMOgIGZvcmEgZGVsIHJhbmcuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDc2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIxIGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzgKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgamEgZXN0w6AgZGVmaW5pZGEuIEVzYm9ycmV1LWxhIGFiYW5zIGRlIHRvcm5hci1sYSBhIGFmZWdpci5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJObyBoaSBoYSBjYXAgc2VjdG9yIGxsaXVyZSBkaXNwb25pYmxlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJQYXJ0aWNpw7MgbMOyZ2ljYSBpbmNvcnJlY3RhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJWQgY29udMOpIGVsIHNlY3RvciAwXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJQYXJ0aWNpw7MgJWQ6IGVsIGNhcMOnYWwgJWQgc3VwZXJhIGVsIG3DoHhpbSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpY2nDsyAlZDogZWwgc2VjdG9yICVkIHN1cGVyYSBlbCBtw6B4aW0gJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpY2nDsyAlZDogZWwgY2lsaW5kcmUgJWQgc3VwZXJhIGVsIG3DoHhpbSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiUGFydGljacOzICVkOiBzZWN0b3JzIGFudGVyaW9ycyAlZCBkaWZlcmVpeGVuIGRlbCB0b3RhbCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiTGEgcGFydGljacOzICVkIHTDqSBkaWZlcmVudHMgY29tZW7Dp2FtZW50cyBmw61zaWNzL2zDsmdpY3MgKG5vIExpbnV4Pyk6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCB0w6kgZGlmZXJlbnRzIGZpbmFscyBmw61zaWNzL2zDsmdpY3M6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgbm8gYWNhYmEgZW4gdW4gbMOtbWl0IGRlIGNpbGluZHJlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgbm8gdMOpIGNhcCDDoHJlYSBkZSBkYWRlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJWQgY2F2YWxjYSBhbWIgbGEgcGFydGljacOzICVkLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVkIGVzdMOgIGJ1aWRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTGEgcGFydGljacOzIGzDsmdpY2EgJWQgbm8gZXN0w6AgaW50ZWdyYWRhIGVuIGxhIHBhcnRpY2nDsyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIkVsIHRvdGFsIGRlIHNlY3RvcnMgYXNzaWduYXRzICVkIHN1cGVyYSBlbCBtw6B4aW0gZGUgJWxsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiVsbGQgc2VjdG9ycyBubyBhc3NpZ25hdHNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiQXF1ZXN0YSBwYXJ0aWNpw7MgamEgZXhpc3RlaXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIlMnaGEgY3JlYXQgZWwgbcOgeGltIG5vbWJyZSBkZSBwYXJ0aWNpb25zXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIlMndXNlbiB0b3RlcyBsZXMgcGFydGljaW9ucyBsw7JnaXF1ZXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiUyd1c2VuIHRvdGVzIGxlcyBwYXJ0aWNpb25zIGzDsmdpcXVlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3CisjLCBmdXp6eQorbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUHJpbWVyIGhldSBkZSBzdXByaW1pciBhbGd1bmEgcGFydGljacOzIGkgYWZlZ2lyLW5lIHVuYSBkJ2VzdGVzYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorIywgZnV6enkKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiUyd1c2VuIHRvdGVzIGxlcyBwYXJ0aWNpb25zIGzDsmdpcXVlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworIywgZnV6enkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJQcmltw6ByaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICJFc3Rlc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJQYXJ0aWNpw7MgbMOyZ2ljYSBpbmNvcnJlY3RhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMw7JnaWNhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworIywgZnV6enkKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgImwgICBsw7JnaWNhICg1IG8gc3VwZXJpb3IpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyBubyB2w6BsaWQgcGVyIGFsIHRpcHVzIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIGRpc3Bvc2l0aXUgcGVyIGEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQgbGliZmRpc2svc3JjL2dwdC5jOjEyMjEKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4CisjLCBmdXp6eQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIiIKKyJFbCB0aXB1cyAwIHNpZ25pZmljYSBlc3BhaSBsbGl1cmUgcGVyIGEgbW9sdHMgc2lzdGVtZXNcbiIKKyIocGVyw7Igbm8gcGVyIGEgTGludXgpLiBObyDDqXMgYWNvbnNlbGxhYmxlIHRlbmlyXG4iCisicGFydGljaW9ucyBkZWwgdGlwdXMgMC4gTGVzIHBvZGV1IHN1cHJpbWlyIGFtYlxuIgorImwnb3JkcmUgwqtkwrsuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKKyMsIGZ1enp5Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorIlJlcyBhIGZlci4gTCdvcmRlbmFtZW50IGphIMOpcyBjb3JyZWN0ZS5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBubyB0w6kgY2FwIMOgcmVhIGRlIGRhZGVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJOb3UgY29tZW7Dp2FtZW50IGRlIGRhZGVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlZCDDqXMgdW5hIHBhcnRpY2nDsyBlc3Rlc2FcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJTJ2hhIGNhbnZpYXQgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgbGEgcGFydGljacOzICVkIHBlciAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJEaXNwb3NpdGl1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJBcnJlbmNhZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI1Cittc2dpZCAiSWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzQKKyMsIGZ1enp5Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgImluaWNpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIk5vbWJyZSBkZSBwYXJ0aWNpw7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICBzZWxlY2Npb25hIGxhIHBhcnRpY2nDsyBkJ2FycmVuY2FkYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICBzZWxlY2Npb25hIGxhIHBhcnRpY2nDsyBkJ2FycmVuY2FkYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIGFycmVuY2FkYSBQUmVQIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzkKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICIgICBkICAgc3VwcmltZWl4IHVuYSBwYXJ0aWNpw7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiTm8gaGkgaGEgbcOpcyBwYXJ0aWNpb25zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MCBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJJbnRlcmNhbnZpIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBwZXJzb25hbGl0emFkYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMiBsaWJmZGlzay9zcmMvc2dpLmM6NjMKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJSQUlEIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IGVzdGVzYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiSW50ZXJjYW52aSBkZSBCU0RJIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIk9TLzIgSFBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiQXJyZW5jYWRhIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIkFycmVuY2FkYSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJBcnJlbmNhZGEgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIm1hc3NhIHZlbG9jaXRhdHMgYWx0ZXJuYXRpdmVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJJbnRlcmNhbnZpIGRlIEJTREkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJJbnRlcmNhbnZpIGRlIEJTREkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJEaWFnbsOyc3RpY3MgQ29tcGFxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFJlc2VydmVkIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBzdXByaW1laXggdW5hIHBhcnRpY2nDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc1NgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTE3CisjLCBmdXp6eQorbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTEKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTk2Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIiIKKworIyBQYXJsYSBkJ2V0aXF1ZXRlcywgc2VndXJhbWVudCDDqXMgZmVtZW7DrQorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJQcmltZXJhICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzMworIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIMOabHRpbSAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIlMnaGEgc2VsZWNjaW9uYXQgbGEgcGFydGljacOzICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiUydoYSBzZWxlY2Npb25hdCBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjA1Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxOAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIG5vdCBvbiB0aGUgZW5kIG9mIHRoZSBkZXZpY2UuIFRoaXMgcHJvYmxlbSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNsYXRlIHBhcnRpdGlvbiBuYW1lLCBuYW1lIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAidG9ybmEgYSBsbGVnaXIgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIiIKKyJcbiIKKyJMYSBwYXJ0aWNpw7MgZCdhcnJlbmNhZGEgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiRWwgZGlzYyAlcyBubyBjb250w6kgdW5hIHRhdWxhIGRlIHBhcnRpY2lvbnMgdsOgbGlkYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyBubyB2w6BsaWQgcGVyIGFsIHRpcHVzIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlZCBjYXZhbGNhIGFtYiBsYSBwYXJ0aWNpw7MgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVuY2F2YWxjYW1lbnQgZGUgcGFydGljaW9ucyBhbCBkaXNjLiBDb3JyZWdpdS1oby5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgYWNhYmEgYWJhbnMgZGVsIHNlY3RvciAwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiw6lzIGVzdHJhbnksIG5vbcOpcyBoaSBoYSBkZWZpbmlkZXMgJWQgcGFydGljaW9ucy5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIk5vIGhpIGhhIGNhcCBzZWN0b3IgbGxpdXJlIGRpc3BvbmlibGVcbiIKK21zZ3N0clsxXSAiTm8gaGkgaGEgY2FwIHNlY3RvciBsbGl1cmUgZGlzcG9uaWJsZVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJBcXVlc3RhIHBhcnRpY2nDsyBqYSBlc3TDoCBlbiDDunMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgzIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJObyBjcmXDr3MgY2FwIHBhcnRpY2nDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIiAgIHMgICBjcmVhIHVuYSBldGlxdWV0YSBkZSBkaXNjIFN1biBub3ZhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0NgorbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY1MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIHNlY3RvciBsbGl1cmUgZGlzcG9uaWJsZVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiTGEgcGFydGljacOzICVzIG5vIMOpcyB2w6BsaWRhIHBlcnF1w6ggY29tZW7Dp2EgcGVsIHNlY3RvciAwLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiUydoYSBjcmVhdCBlbCBtw6B4aW0gbm9tYnJlIGRlIHBhcnRpY2lvbnNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiUydoYSBjYW52aWF0IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGxhIHBhcnRpY2nDsyAlZCBwZXIgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJTJ2hhIGNhbnZpYXQgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgbGEgcGFydGljacOzICVkIHBlciAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJTJ2hhIGNhbnZpYXQgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgbGEgcGFydGljacOzICVkIHBlciAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBsYSBwYXJ0aWNpw7MgJWQgcGVyICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUaXB1cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOb20iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKKyMsIGZ1enp5Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiRXNwYWkgbGxpdXJlIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgImRlc2NvbmVndXQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NgorbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgY3J1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlZvbHVtIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIGVuIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIlMnaGEgZGV0ZWN0YXQgdW5hIGV0aXF1ZXRhIGRlIGRpc2Mgc2dpIGFtYiB1bmEgc3VtYSBkZSBjb21wcm92YWNpw7MgaW5jb3JyZWN0YS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MSBsaWJmZGlzay9zcmMvc3VuLmM6NzgzCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRyZXMgZsOtc2ljcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiU2VjdG9ycyBhZGRpY2lvbmFscyBwZXIgY2lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIkVsIGZpdHhlciBkJ2FycmVuY2FkYSBubyDDqXMgdsOgbGlkIVxuIgorIlx0RWwgZml0eGVyIGQnYXJyZW5jYWRhIGhhIGRlIHNlciB1biBjYW3DrSBhYnNvbHV0XG4iCisiXHRkaWZlcmVudCBkZSB6ZXJvLCBwLmUuIFwiL3VuaXhcIiBvIFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCisiXG4iCisiXHRFbCBub20gZGVsIGZpdHhlciBkJ2FycmVuY2FkYSDDqXMgbWFzc2EgbGxhcmc6IG3DoHhpbSBkZSAxNiBvY3RldHMuXG4iCittc2dzdHJbMV0gIiIKKyJcbiIKKyJcdEVsIG5vbSBkZWwgZml0eGVyIGQnYXJyZW5jYWRhIMOpcyBtYXNzYSBsbGFyZzogbcOgeGltIGRlIDE2IG9jdGV0cy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHRFbCBmaXR4ZXIgZCdhcnJlbmNhZGEgaGEgZGUgdGVuaXIgdW4gY2Ftw60gY29tcGxldGFtZW50IHF1YWxpZmljYXQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFRpbmd1ZXUgZW4gY29tcHRlIHF1ZSBubyBlcyBjb21wcm92YSBsJ2V4aXN0w6huY2lhIGRlbCBmaXR4ZXIgZCdhcnJlbmNhZGEuXG4iCisiXHRFbCB2YWxvciBwZXIgZGVmZWN0ZSBTR0kgw6lzIFwiL3VuaXhcIiBpIHBlciBhIGxhIGPDsnBpYSBkZSBzZWd1cmV0YXQgXCIvdW5peC5zYXZlXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIiIKKyJcbiIKKyJMJ2FjdHVhbCBmaXR4ZXIgZCdhcnJlbmNhZGEgw6lzOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJFbnRyZXUgZWwgbm9tIGRlbCBub3UgZml0eGVyIGQnYXJyZW5jYWRhOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIk5vIHMnaGEgbW9kaWZpY2F0IGVsIGZpdHhlciBkJ2FycmVuY2FkYVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFMnaGEgY2FudmlhdCBlbCBmaXR4ZXIgZCdhcnJlbmNhZGEgYSBcIiVzXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKKyMsIGZ1enp5Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiSGkgaGEgcHJlc2VudCBtw6lzIGQndW5hIGVudHJhZGEgZGUgZGlzYyBjb21wbGV0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiTm8gaGkgaGFuIHBhcnRpY2lvbnMgZGVmaW5pZGVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGVyIGEgSVJJWCBlcyByZWNvbWFuYSBxdWUgbGEgcGFydGljacOzIDExIGFiYXN0aSB0b3QgZWwgZGlzYy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiIgorIkxhIHBhcnRpY2nDsyBkZWwgZGlzYyBzZW5jZXIgaGEgZGUgY29tZW7Dp2FyIGVuIGVsIGJsb2MgMCxcbiIKKyJubyBlbiBlbCBibG9jIGRlIGRpc2MgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJVbmEgcGFydGljacOzICgjMTEpIGhhdXJpYSBkJ2FiYXN0YXIgZWwgZGlzYyBzZW5jZXIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiTGVzIHBhcnRpY2lvbnMgJWQgaSAlZCBlcyBzb2xhcGVuIGVuICVkIHNlY3RvcnMuXG4iCittc2dzdHJbMV0gIkxlcyBwYXJ0aWNpb25zICVkIGkgJWQgZXMgc29sYXBlbiBlbiAlZCBzZWN0b3JzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIkhpIGhhIHVuIGJ1aXQgcXVlIG5vIHMndXNhIGRlICU4dSBzZWN0b3JzIC0gc2VjdG9ycyAlOHUtJXVcbiIKK21zZ3N0clsxXSAiSGkgaGEgdW4gYnVpdCBxdWUgbm8gcyd1c2EgZGUgJTh1IHNlY3RvcnMgLSBzZWN0b3JzICU4dS0ldVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJMYSBwYXJ0aWNpw7MgZCdhcnJlbmNhZGEgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDEKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkxhIHBhcnRpY2nDsyBkJ2ludGVyY2Fudmkgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICIiCisiXG4iCisiTGEgcGFydGljacOzIGQnaW50ZXJjYW52aSBubyDDqXMgZGVsIHRpcHVzIGQnaW50ZXJjYW52aS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOAorIywgZnV6enkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiXHRIZXUgZXNjb2xsaXQgdW4gbm9tIGRlIGZpdHhlciBkJ2FycmVuY2FkYSBpbnVzdWFsLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU4CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlbmNhdmFsY2FtZW50IGRlIHBhcnRpY2lvbnMgYWwgZGlzYy4gQ29ycmVnaXUtaG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKKyMsIGZ1enp5Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgZ2VuZXJhciB1bmEgZW50cmFkYSBkZSBkaXNjIHNlbmNlciBhdXRvbcOgdGljYW1lbnQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJFbCBkaXNjIHNlbmNlciBqYSBlc3TDoCBjb2JlcnQgZGUgcGFydGljaW9ucy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorIywgZnV6enkKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZW5jYXZhbGNhbWVudCBkZSBwYXJ0aWNpb25zIGFsIGRpc2MuIENvcnJlZ2l1LWhvLlxuIgorCisjIFBhcmxhIGQnZXRpcXVldGVzLCBzZWd1cmFtZW50IMOpcyBmZW1lbsOtCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc0IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlByaW1lcmEgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTggbGliZmRpc2svc3JjL3NnaS5jOjk0OAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorIkVzIHJlY29tYW5hIGVzcGVjaWFsbWVudCBxdWUgbGEgb256ZW5hIHBhcnRpY2nDs1xuIgorImNvYnJlaXhpIGVsIGRpc2Mgc2VuY2VyIGkgc2lndWkgZGVsIHRpcHVzICd2b2x1bSBTR0knXG4iCisKKyMgUGFybGEgZCdldGlxdWV0ZXMsIHNlZ3VyYW1lbnQgw6lzIGZlbWVuw60KKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltYSAlcyBvICttaWRhIG8gK21pZGFNIG8gK21pZGFLIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg0IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorIkF2w61zOiBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEJMS0dFVFNJWkUgYSAlcy4gUydlc3TDoCB1dGlsaXR6YW50IGVsIHZhbG9yIGRlIGxhIGdlb21ldHJpYSBkZWwgY2lsaW5kcmUgJWQuXG4iCisiQXF1ZXN0IHZhbG9yIGVzIHBvdCB0cnVuY2FyIHBlciBhIGRpc3Bvc2l0aXVzID4gMzMuOCBHQi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTAKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIGNyZWEgdW5hIGV0aXF1ZXRhIGRlIGRpc2MgU3VuIG5vdmEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDY5CisjLCBmdXp6eQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiTm9tw6lzIGVsIHN1cGVydXN1YXJpIHBvcnQgY2FudmlhciBlbCByZWxsb3RnZSBkZWwgc2lzdGVtYS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorIkVzIHJlY29tYW5hIGRlaXhhciBsYSBwYXJ0aWNpw7MgOSBjb20gYSBjYXDDp2FsZXJhIGRlIHZvbHVtICgwKVxuIgorImkgbGEgcGFydGljacOzIDExIGNvbSBhIHZvbHVtIGNvbXBsZXQgKDYpIGphIHF1ZSBJUklYIGFpeMOtIGhvXG4iCisiZXNwZXJhLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJFc3TDoCBhbHRhbWVudCByZWNvbWVuYXQgcXVlIGxhIHBhcnRpY2nDsyBlbiBlbCBkZXNwbGHDp2FtZW50IDBcbiIKKyJzaWd1aSBkZWwgdGlwdXMgXCJTR0kgdm9saGRyXCI7IGVsIHNpc3RlbWEgSVJJWCBsJ3VzYXLDoCBwZXJcbiIKKyJyZWN1cGVyYXIgZGVzIGRlbCBzZXUgZGlyZWN0b3JpIGQndXRpbGl0YXRzIGNvbSBhcmEgc2FzaCBpIGZ4LlxuIgorIk5vbcOpcyBsJ2VudHJhZGEgZGUgZGlzYyBzZW5jZXIgXCJWb2x1bSBTR0lcIiBwb3QgaW5mcmluZ2lyIGFpeMOyLlxuIgorIkVzY3Jpdml1IFPDjSBzaSBlc3RldSBzZWd1ciBxdWUgdm9sZXUgdG9ybmFyIGEgZXRpcXVldGFyIGFxdWVzdGEgcGFydGljacOzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIGFycmVsIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBkJ2ludGVyY2FudmkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJEaXNjIHNlbmNlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIGVzdMOgbmRhcmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKKyMsIGZ1enp5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIiVsbGQgc2VjdG9ycyBubyBhc3NpZ25hdHNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorIywgZnV6enkKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyJTJ2hhIGRldGVjdGF0IHVuYSBldGlxdWV0YSBkZSBkaXNjIGFtYiB1bmEgc3VtYSBkZSBjb21wcm92YWNpw7MgaW5jb3JyZWN0YS5cbiIKKyJQcm9iYWJsZW1lbnQgaGF1cmV1IGQnZXN0YWJsaXIgdG90cyBlbHMgdmFsb3JzLFxuIgorInAuZXguIGNhcMOnYWxzLCBzZWN0b3JzLCBjaWxpbmRyZXMgaSBwYXJ0aWNpb25zLCBvIGZvcsOnYXJcbiIKKyJ1bmEgbm92YSBldGlxdWV0YSAob3JkcmUgcyBkZWwgbWVuw7ogcHJpbmNpcGFsKVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiUydoYSBkZXRlY3RhdCB1bmEgZXRpcXVldGEgZGUgZGlzYyBzZ2kgYW1iIHVuYSBzdW1hIGRlIGNvbXByb3ZhY2nDsyBpbmNvcnJlY3RhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJTJ2hhIGRldGVjdGF0IHVuYSBldGlxdWV0YSBkZSBkaXNjIHNnaSBhbWIgdW5hIHN1bWEgZGUgY29tcHJvdmFjacOzIGluY29ycmVjdGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiUydoYSBkZXRlY3RhdCB1bmEgZXRpcXVldGEgZGUgZGlzYyBzZ2kgYW1iIHVuYSBzdW1hIGRlIGNvbXByb3ZhY2nDsyBpbmNvcnJlY3RhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJBdsOtczogZWwgc2VueWFsYWRvciAweCUwNHggaW52w6BsaWQgZGUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyAlZCBlcyBjb3JyZWdpcsOgIGFtYiB3KGVzY3JpdSlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE4NworbXNnaWQgIkhlYWRzIgorbXNnc3RyICJDYXDDp2FscyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNlY3RvcnMvcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIGNyZWEgdW5hIGV0aXF1ZXRhIGRlIGRpc2MgU3VuIG5vdmEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBubyBhY2FiYSBlbiB1biBsw61taXQgZGUgY2lsaW5kcmVcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgZW5jYXZhbGNhIGFtYiBkJ2FsdHJlcyBlbiBlbHMgc2VjdG9ycyAlZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiQnVpdCBubyB1c2F0IC0gc2VjdG9ycyAwLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJCdWl0IG5vIHVzYXQgLSBzZWN0b3JzICVkLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisiQWx0cmVzIHBhcnRpY2lvbnMgY29icmVpeGVuIGVsIGRpc2Mgc2VuY2VyLlxuIgorIkFiYW5zIGRlIHRvcm5hci1oaSBlc2JvcnJldS1uZSBvIHJlZHXDr3UtbmUgbGEgc2V2YSBtaWRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTUxCisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiIgorIkVzIHJlY29tYW5hIGVzcGVjaWFsbWVudCBxdWUgbGEgb256ZW5hIHBhcnRpY2nDs1xuIgorImNvYnJlaXhpIGVsIGRpc2Mgc2VuY2VyIGkgc2lndWkgZGVsIHRpcHVzICd2b2x1bSBTR0knXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIk5vIGhldSBjb2JlcnQgZWwgZGlzYyBzZW5jZXIgYW1iIGxhIHRlcmNlcmEgcGFydGljacOzLCBwZXLDsiBlbFxuIgorInZhbG9yICVkICVzIGVuY2F2YWxjYSBhbWIgZCdhbHRyZXMgcGFydGljaW9ucy4gUydoYSBjYW52aWF0IGwnZW50cmFkYVxuIgorInBlciAlZCAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlNpIGRlc2l0Z2V1IG1hbnRlbmlyIGxhIGNvbXBhdGliaWxpdGF0IGFtYiBTdW5PUy9Tb2xhcmlzLCBjb25zaWRlcmV1IGRlaXhhclxuIgorImFxdWVzdGEgcGFydGljacOzIGNvbSBhIERpc2Mgc2VuY2VyICg1KSwgY29tZW7Dp2FudCBlbiAwLCBhbWIgJXUgc2VjdG9yc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiVm9sdW06IDwlLTZzPlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcmVzIGFsdGVybmF0aXVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIk5vbWJyZSBkZSBjaWxpbmRyZXMgYWx0ZXJuYXRpdXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiU2VjdG9ycyBhZGRpY2lvbmFscyBwZXIgY2lsaW5kcmUiCisKKyMgRklYTUUKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiRmFjdG9yIGQnZW50cmVsbGHDp2F0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlZlbG9jaXRhdCBkZSByb3RhY2nDsyAoci5wLm0uKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIk5vbWJyZSBkZSBjaWxpbmRyZXMgZsOtc2ljcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiRXMgcmVjb21hbmEgZGVpeGFyIGxhIHBhcnRpY2nDsyAzIGNvbSBhIGRpc2MgY29tcGxldCAoNSksIGphXG4iCisicXVlIGFpeMOtIGhvIGVzcGVyYSBTdW5PUy9Tb2xhcmlzIGkgZmlucyBpIHRvdCDDqXMgYWRlcXVhdCBwZXIgYVxuIgorIkxpbnV4LlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworIywgZnV6enkKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJFcyByZWNvbWFuYSBlc3BlY2lhbG1lbnQgcXVlIGxhIHBhcnRpY2nDsyBlbiBlbCBkZXNwbGHDp2FtZW50IDBcbiIKKyJzaWd1aSBVRlMsIEVYVDJGUyBvIFN1bk9TIGQnaW50ZXJjYW52aS4gU2kgZXMgcG9zYSBMaW51eFxuIgorImQnaW50ZXJjYW52aSwgZXMgcG90IGRlc3RydWlyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgaSBlbCBibG9jIGQnYXJyZW5jYWRhLlxuIgorIkVzY3Jpdml1IFPDjSBzaSBlc3RldSBzZWd1ciBxdWUgZGVzaXRnZXUgcXVlIHMnZXRpcXVldGkgbGEgcGFydGljacOzXG4iCisiYW1iIGVsIDgyIChMaW51eCBkJ2ludGVyY2FudmkpOiAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0LmM6MjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyBlc3TDoCBwcm90ZWdpdCBjb250cmEgZXNjcmlwdHVyYTsgZXMgbXVudGFyw6AgZW4gbm9tw6lzIGxlY3R1cmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gcGVybWl0dGVkIGZvciByb290IG9ubHkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIm1vdW50OiAlcyBqYSBlc3TDoCBtdW50YXQgYSAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IHRyb2JhciAlcyBhICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiCittc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IHRyb2JhciAlcyBhICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCB0cm9iYXIgJXMgYSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIGZpbGVzeXN0ZW0gdHlwZSBzcGVjaWZpZWQiCittc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgbCdvcGNpw7MgLS1kYXRlLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IGVubGxhw6dhciAlczogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9uczogJW0iCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlYm9iaW5hciBlbCBkaXNwb3NpdGl1IGQnaW50ZXJjYW52aSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICIlczogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgbHAuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciBleGVjXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtb3VudDogbm8gaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAibW91bnQ6IHMnaGEgZGVuZWdhdCBlbCBwZXJtw61zIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibW91bnQ6IGhhdXJldSBkZSBzZXIgdW4gc3VwZXJ1c3VhcmkgcGVyIGEgdXNhciBtb3VudCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJtb3VudDogJXMgZXN0w6Agb2N1cGF0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIGphIGVzdMOgIG11bnRhdCBhICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBqYSBlc3TDoCBtdW50YXQgbyAlcyBlc3TDoCBvY3VwYXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiBlbCBwdW50IGRlIG11bnRhdGdlICVzIG5vIGV4aXN0ZWl4IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyDDqXMgdW4gZW5sbGHDpyBzaW1iw7JsaWMgc2Vuc2UgZGVzdMOtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJtb3VudDogZWwgZGlzcG9zaXRpdSBlc3BlY2lhbCAlcyBubyBleGlzdGVpeCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiBlbCBkaXNwb3NpdGl1IGVzcGVjaWFsICVzIG5vIGV4aXN0ZWl4XG4iCisiICAgICAgICh1biBwcmVmaXggZGUgY2Ftw60gbm8gw6lzIHVuIGRpcmVjdG9yaSlcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJtb3VudDogJXMgZW5jYXJhIG5vIGVzdMOgIG11bnRhdCBvIHVuYSBvcGNpw7Mgw6lzIGluY29ycmVjdGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm1vdW50OiAlcyBlbmNhcmEgbm8gZXN0w6AgbXVudGF0IG8gdW5hIG9wY2nDsyDDqXMgaW5jb3JyZWN0YSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkIG1vdW50IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisibW91bnQ6IGVsIHRpcHVzIGRlIHNpc3RlbWEgZGUgZml0eGVycyBvIMOpcyBjb3JyZWN0ZSwgbGEgb3BjacOzIG5vIMOpcyBjb3JyZWN0YSxcbiIKKyIgICAgICAgc3VwZXJibG9jIGluY29ycmVjdGUgYSAlcywgbWFuY2EgbGEgcMOgZ2luYSBkZSBjb2RpcyBvIGFsZ3VuIGFsdHJlIGVycm9yIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAibGEgdGF1bGEgZGUgZGlzcG9zaXRpdXMgbXVudGF0cyBlc3TDoCBwbGVuYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkIHN1cGVyYmxvY2sgb24gJXMiCittc2dzdHIgIm1vdW50OiAlczogbm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgc3VwZXJibG9jIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIm1vdW50OiBubyBlcyByZWNvbmVpeCBlbCBzaXRlbWEgZGUgZml0eGVycyDCqyVzwrsiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiBubyBlcyByZWNvbmVpeCBlbCBzaXRlbWEgZGUgZml0eGVycyDCqyVzwrsiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIm1vdW50OiAlcyBubyDDqXMgY2FwIGRpc3Bvc2l0aXUgZGUgYmxvY3MsIGkgc3RhdCBmYWxsYT8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisibW91bnQ6IGVsIG51Y2xpIG5vIHJlY29uZWl4ICVzIGNvbSBhIGRpc3Bvc2l0aXUgZGUgYmxvY3NcbiIKKyIgICAgICAgKHBvdHNlciBmZW50IMKraW5zbW9kIGNvbnRyb2xhZG9ywrs/KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAibW91bnQ6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NzIChwcm92ZXUgYW1iIGAtbyBsb29wJykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAibW91bnQ6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NzIHbDoGxpZCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgbXVudGFyICVzJXMgY29tIGEgbm9tw6lzIGRlIGxlY3R1cmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICJtb3VudCA6ICVzJXMgZXN0w6AgcHJvdGVnaXQgY29udHJhIGVzY3JpcHR1cmEgcGVyw7Igc2UgbGkgaGEgZG9uYXQgZWwgc2VueWFsYWRvciBleHBsw61jaXQgwqstd8K7IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IG11bnRhciAlcyVzIGNvbSBhIG5vbcOpcyBkZSBsZWN0dXJhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJpbmQgJXMgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJtb3VudDogJXMgamEgZXN0w6AgbXVudGF0IGEgJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICJubyBzJ2ludGVudGFyw6AgY3JlYXIgY2FwIHNpc3RlbWEgZGUgZml0eGVycyBhICclcyciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtb3VudDogbm8gaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXUgZGUgYmxvY3Mgbm8gdsOgbGlkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJtb3VudDogJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyIGVsIHN1cGVyYmxvYyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFyZ2V0IGlzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBlc3TDoCBvY3VwYXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgInVtb3VudDogJXM6IGhhdXJldSBkZSBzZXIgc3VwZXJ1c3VhcmkgcGVyIHBvZGVyIHVzYXIgdW1vdW50IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXVzIGRlIGJsb2NzIG5vIHBlcm1lc29zIGVuIGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm5vIHMnaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgInNldHVpZCgpIGhhIGZhbGxhdCIKKworIzogbGliL3BhdGguYzoyMzkgc3lzLXV0aWxzL2xzY3B1LmM6MTc2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsaWIvcGF0aC5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIHRlbXBzIGQnZXNwZXJhIHBlciBhICVzOiAlc1xuIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICIlcyBubyBlcyBwb3Qgb2JyaXIiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2Cittc2dpZCAiZ2V0cmFuZG9tKCkgZnVuY3Rpb24iCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE5OQorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBhcXVlc3RhIHBhcnRpY2nDsyBubyBleGlzdGVpeFxuIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiVzOiBlcnJvcjogdmVyc2nDsyBkZXNjb25lZ3VkYSAlZFxuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDU5CisjLCBmdXp6eQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAibmFtZWk6IGRlc2JvcmRhbWVudCBkZSBsYSBtZW3DsnJpYSBpbnRlcm3DqGRpYVxuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkVsIHZhbG9yIGVzdMOgIGZvcmEgZGVsIHJhbmcuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiBuYW1laSBbLW14XSBjYW3DrSBbY2Ftw60gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJTJ2VzdMOgIGNhbnZpYW50IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIgcGVyIGEgbCd1c3VhcmkgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisiWyAtcCB0ZWzDqGZvbl9vZmljaW5hIF1cbiIKKyJcdFsgLWggdGVsw6hmb25fcGFydGljdWxhciBdICIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImVsIGNhbXAgw6lzIG1hc3NhIGxsYXJnLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxOTQgbG9naW4tdXRpbHMvY2hzaC5jOjE4NworbXNnaWQgImNhbm5vdCBoYW5kbGUgbXVsdGlwbGUgdXNlcm5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyNDgKKyMsIGZ1enp5Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIGF2b3J0YXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiKk5PKiBzJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci4gSW50ZW50ZXUtaG8gZGUgbm91IG3DqXMgZW5kYXZhbnQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDI1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIlczogYXF1ZXN0IHVzdWFyaSAoJWQpIG5vIGV4aXN0ZWl4LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiVzOiBsJ3VzdWFyaSBcIiVzXCIgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorIywgZnV6enkKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAiJXM6IG5vbcOpcyBlcyBwb2RlbiBtb2RpZmljYXIgZW50cmFkZXMgbG9jYWxzOyB1c2V1IHlwJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzOiAlcyBubyBlc3TDoCBhdXRvcml0emF0IGEgY2FudmlhciBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyIGRlICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIgbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICJFcyBkZXNjb25laXggZWwgY29udGV4dCBkZSBsJ3VzdWFyaSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IE5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgZWwgY29udGV4dCBwZXIgZGVmZWN0ZSBwZXIgYSAvZXRjL3Bhc3N3ZCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogTCdVSUQgZW4gZXhlY3VjacOzIG5vIGNvaW5jaWRlaXggYW1iIGwnVUlEIGRlIGwndXN1YXJpIHF1ZSBzJ2VzdMOgIGFsdGVyYW50LCBzJ2hhIGRlbmVnYXQgZWwgY2FudmkgZCdpbnTDqHJwcmV0IGQnb3JkcmVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyIHBlciBhIGwndXN1YXJpICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiTm8gcydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsJ2ludMOocnByZXQgZCdvcmRyZXMgcGVyICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9aW50w6hycHJldF9vcmRyZXMgRXN0YWJsZWl4IGVscyBtYXRlaXhvcyBjb252ZW5pcyBxdWFudCBhIGxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21ldGVzIHF1ZSBsJ2ludGVycHJldCBkJ29yZHJlcyBpbmRpY2F0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MQorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICIlczogbCdpbnTDqHJwcmV0IGQnb3JkcmVzIGhhIGRlIHNlciB1biBjYW3DrSBjb21wbGV0LlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgbm8gZXhpc3RlaXguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBubyDDqXMgZXhlY3V0YWJsZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJBdsOtczogXCIlc1wiIG5vIGVzdMOgIGxsaXN0YXQgYSAvZXRjL3NoZWxscy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiJXM6IFwiJXNcIiBubyBlc3TDoCBsbGlzdGF0IGEgL2V0Yy9zaGVsbHMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzOiAlcyBubyBlc3TDoCBhdXRvcml0emF0IGEgY2FudmlhciBsJ2ludMOocnByZXQgZCdvcmRyZXMgZGUgbCd1c3VhcmkgJXNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogTCdVSUQgZW4gZXhlY3VjacOzIG5vIGNvaW5jaWRlaXggYW1iIGwnVUlEIGRlIGwndXN1YXJpIHF1ZSBzJ2VzdMOgIGFsdGVyYW50LCBzJ2hhIGRlbmVnYXQgZWwgY2FudmkgZCdpbnTDqHJwcmV0IGQnb3JkcmVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIlczogRWwgdm9zdHJlIGludMOocnByZXQgZCdvcmRyZXMgbm8gZXN0w6AgYSAvZXRjL3NoZWxsczsgcydoYSBkZW5lZ2F0IGVsIGNhbnZpIGQnaW50w6hycHJldCBkJ29yZHJlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsJ2ludMOocnByZXQgZCdvcmRyZXMgcGVyICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOb3UgaW50w6hycHJldCBkJ29yZHJlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorIywgZnV6enkKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIk5vIHMnaGEgY2FudmlhdCBsJ2ludMOocnByZXQgZCdvcmRyZXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIk5vIHMnaGEgY2FudmlhdCBsJ2ludMOocnByZXQgZCdvcmRyZXMuIEludGVudGV1LWhvIGRlIG5vdSBtw6lzIGVuZGF2YW50LlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiTm8gcydoYSBjYW52aWF0IGwnaW50w6hycHJldCBkJ29yZHJlcy4gSW50ZW50ZXUtaG8gZGUgbm91IG3DqXMgZW5kYXZhbnQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiUydoYSBjYW52aWF0IGwnaW50w6hycHJldCBkJ29yZHJlcy5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgW2ZpdHhlcl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IE9yZHJlIGRlc2NvbmVndWRhOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Mjc2IGxvZ2luLXV0aWxzL2xhc3QuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIiCisiXG4iCisiaW50ZXJyb21wdXQgJTEwLjEwcyAlNS41cyBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogbmFtZWkgWy1teF0gY2Ftw60gW2NhbcOtIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzgKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2CisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorInd0bXAgY29tZW7Dp2EgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICIiCisiXG4iCisiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgInNlbcOgZm9ycyBhc3NpZ25hdHMgPSAlZFxuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZmF0YWw6IG5vIHMnaGEgcG9ndXQgcmVvYnJpciB0dHk6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICIlcyBubyBlcyB1biBkaXNwb3NpdGl1IGRlIGJsb2MgZXNwZWNpYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJubyBzJ2hhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgaGEgZmFsbGF0OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBmYXRhbDogdGVybWluYWwgZXJyb25pIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICLDmmx0aW1hIGVudHJhZGE6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAiZGVzIGRlICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJhICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiTUFSQ0FUR0UgRElSRUNURSBBICVzIFBFUiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJFTlRSQURBIERFTCBST09UIEEgJXMgREVTIERFICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJFTlRSQURBIERFTCBST09UIEEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIkVOVFJBREEgQSAlcyBQRVIgJXMgREVTIERFICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiRU5UUkFEQSBBICVzIFBFUiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICJlbnRyYWRhOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJsb2dpbjogUEFNIGhhIGZhbGxhdDsgcydlc3TDoCBhdm9ydGFudDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGluaWNpYWxpdHphciBQQU06ICVzIgorCisjIEZJWE1FLCBwbGVhc2UgZGVzY3JpYmUgcGFyYW1ldGVycworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlMnSEEgSU5URU5UQVQgQUNDRURJUiBTRU5TRSDDiFhJVCAlZCBWRUdBREVTIERFUyBERSAlcyBQRVIgQSAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzk3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkwnZW50cmFkYSBubyDDqXMgY29ycmVjdGFcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJTJ0hBIElOVEVOVEFUIEVOVFJBUiBNQVNTQSBWRUdBREVTICglZCkgREVTIERFICVzIFBFUiBBICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJOTyBTJ0hBIFBPR1VUIElOSUNJQVIgTEEgU0VTU0nDkyBERVMgREUgJXMgUEVSIEEgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJFbnRyYWRhIGluY29ycmVjdGFcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIHByb2R1w690IHVuIHByb2JsZW1hIGVuIGluaWNpYXIgbGEgc2Vzc2nDsywgcydhdm9ydGFyw6AuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIk5vbSBkJ3VzdWFyaSBOVUwgYSAlczolZC4gUydhdm9ydGFyw6AuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGhhIGZhbGxhdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogbGFzdCBbLSNdIFstZiBmaXR4ZXJdIFstdCB0dHldIFstaCBub21fb3JkaW5hZG9yXSBbdXN1YXJpIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAwCisjLCBmdXp6eQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJBcXVlc3Qgc2lzdGVtYSB1dGlsaXR6YSBjb250cmFzZW55ZXMgb2N1bHRlcy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhIGxhIHBhbnRhbGxhIG8gZW4gdW4gZml0eGVyIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiUydoYSBleGNlZGl0IGVsIHRlbXBzIGQnZXNwZXJhIHBlciBhIGwnZW50cmFkYSBhbCBjYXAgZGUgJWQgc2Vnb25zLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IG5vbcOpcyBlbCBzdXBlcnVzdWFyaSBwb3QgZmVyIHNlcnZpciAtaC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaW52w6BsaWQgXCIlc1wiIGEgJXM6JWQuIFMnYXZvcnRhcsOgLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorIlxuIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGVsIGZpdHhlclxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiVGVuaXUgY29ycmV1IG5vdS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIlRlbml1IGNvcnJldS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiUydlc3TDoCBlbnRyYW50IGFtYiBlbCBkaXJlY3RvcmkgaW5pY2lhbCA9IMKrL8K7LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImxvZ2luOiBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGxhIHNlccO8w6huY2EgZGUgbCdpbnTDqHJwcmV0IGQnb3JkcmVzOiAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4CisjLCBmdXp6eQorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJObyBoaSBoYSBpbnTDqHJwcmV0IGQnb3JkcmVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIlZhbG9yIGQnaW50ZXJ2YWwgaW52w6BsaWQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM4MworbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTQzNiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2CisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJubyIKK21zZ3N0ciAibm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworIywgZnV6enkKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0CisjLCBmdXp6eQorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgInVzdWFyaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJObyBzJ2hhIGNhbnZpYXQgbGEgY29udHJhc2VueWEuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIk5vIHMnaGEgY2FudmlhdCBsYSBjb250cmFzZW55YS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIlczogZWwgZml0eGVyIHBhc3N3b3JkIGVzdMOgIG9jdXBhdC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBlbCBmaXR4ZXIgcGFzc3dvcmQgZXN0w6Agb2N1cGF0LlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorIywgZnV6enkKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJzJ2hhIGNhbnZpYXQgbGEgY29udHJhc2VueWEsIHVzdWFyaSAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJObyBzJ2hhIGNhbnZpYXQgbGEgY29udHJhc2VueWEuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJlbnRyYWRhOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIlByaW3DoHJpYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGRpcmVjdG9yaSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGRpcmVjdG9yaSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiTm8gaGkgaGEgaW50w6hycHJldCBkJ29yZHJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIk5vIGhpIGhhIGludMOocnByZXQgZCdvcmRyZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAibcOpcyBlbmxsw6AgZGUgbGEgcHJpbWVyYSBsw61uaWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIsOabHRpbWEgZW50cmFkYTogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorIywgZnV6enkKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICIlcyBubyBlcyB1biBkaXNwb3NpdGl1IGRlIGJsb2MgZXNwZWNpYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdDogZ2V0aG9zdG5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtsc3RhdMK7IGFsIGNhbcOtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGEgY29udHJhc2VueWEuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICJFbnRyZXUgbCdhbnRpZ2EgY29udHJhc2VueWE6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGNvbnRyYXNlbnlhLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIlczogbm8gcydoYSBmZXQgY2FwIGNhbnZpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkxpbnV4IHRleHQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBwcm9jw6lzIFwiJXNcIlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJlcnJvciBpbnRlcm4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiw5psdGltYSBlbnRyYWRhOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjMwMQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJDb250cmFzZW55YTogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImwnYXNzaWduYWNpw7MgZGUgbWVtw7JyaWEgKG1hbGxvYykgaGEgZmFsbGF0IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIm5ld2dycDogQXF1ZXN0IGdydXAgbm8gZXhpc3RlaXguIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAibmV3Z3JwOiBRdWkgc291PyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorIywgZnV6enkKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAibmV3Z3JwOiBBcXVlc3QgZ3J1cCBubyBleGlzdGVpeC4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJBcXVlc3QgZGlzYyBlc3TDoCBhY3R1YWxtZW50IGVuIMO6cy5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mjc4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcHNldWRvLXRlcm1pbmFsIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAibCdhc3NpZ25hY2nDsyBkZSBtZW3DsnJpYSAobWFsbG9jKSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY3MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorIywgZnV6enkKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIkxhIGNvbnRyYXNlbnlhIG5vIMOpcyBjb3JyZWN0YS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgIiVzIG5vIGVzIHBvdCBvYnJpciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3OTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBkZXRlcm1pbmFyIGVsIGdlc3RvciBkZSBzZW55YWxzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBlbCBnZXN0b3IgZGUgc2VueWFscyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBlbCBnZXN0b3IgZGUgc2VueWFscyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBzdXByaW1pciBsJ2lkICVzICglcylcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmFtZWk6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBkaXJlY3RvcmkgYWN0dWFsIC0gJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMDYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSB2ZWxvY2l0YXQgZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdXNlciBjcmVkZW50aWFsczogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MgorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkzCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NworIywgZnV6enkKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgUHJpbWVyICAgICAgw5psdGltXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPWludMOocnByZXRfb3JkcmVzIEVzdGFibGVpeCBlbHMgbWF0ZWl4b3MgY29udmVuaXMgcXVhbnQgYSBsZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tZXRlcyBxdWUgbCdpbnRlcnByZXQgZCdvcmRyZXMgaW5kaWNhdFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIG5ldyBwc2V1ZG8tdGVybWluYWxcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogbmFtZWkgWy1teF0gY2Ftw60gW2NhbcOtIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExOAorbXNnaWQgIiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEyMworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBwcm9ncmFtYSBbYXJnIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IGwndXN1YXJpIFwiJXNcIiBubyBleGlzdGVpeC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTI5MAorbXNnaWQgIi0tcHR5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzMjYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MAorbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IGwndXN1YXJpIFwiJXNcIiBubyBleGlzdGVpeC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGRpcmVjdG9yaSBhY3R1YWwgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworIywgZnV6enkKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogbm8gcydoYSBvYmVydCBwZXIgYSBsZWN0dXJhL2VzY3JpcHR1cmEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgb2JlcnQgcGVyIGEgbGVjdHVyYS9lc2NyaXB0dXJhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogZWwgZml0eGVyIHBhc3N3b3JkIGVzdMOgIG9jdXBhdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICIlczogZWwgZml0eGVyIHBhc3N3b3JkIGVzdMOgIG9jdXBhdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIiVzOiBlbCBmaXR4ZXIgcGFzc3dvcmQgZXN0w6Agb2N1cGF0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiJXM6IGVsIGZpdHhlciBwYXNzd29yZCBlc3TDoCBvY3VwYXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIkVzdGV1IHNlZ3VyIGRlIHZvbGVyIGNvbnRpbnVhcj8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc4MgorIywgZnV6enkKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciBleGVjXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODYzIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0Njggc3lzLXV0aWxzL3dkY3RsLmM6NTI0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgxNyB0ZXJtLXV0aWxzL3dhbGwuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJtb3VudDogbm9tw6lzIGwndXN1YXJpIHJvb3QgcG90IGZlciBhaXjDsiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICIlcyBubyBlcyBwb3Qgb2JyaXIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSB2ZWxvY2l0YXQgZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAicydoYSBleGhhdXJpdCBlbCB0ZW1wcyBkJ2VzcGVyYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKKyMsIGZ1enp5Cittc2dpZCAiIgorImNhbm5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBubyBlcyBwb3Qgb2JyaXIgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgdGVtcG9yYWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgcmVhbm9tZW5hciAlcyBhICVzOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBObyBzJ2hhIHBvZ3V0IG9idGVuaXIgZWwgY29udGV4dCBwZXIgYSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogTm8gcydoYSBwb2d1dCBlc3RhYmxpciBlbCBjb250ZXh0IHBlciBhICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzOiAlcyBubyBzJ2hhIG1vZGlmaWNhdFxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhciIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgIiVzOiBubyBzJ2hhIGZldCBjYXAgY2FudmlcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIiIKKworIyBzaGFkb3cgcGFzd29yZHMgLT4gY29udHJhc2VueWVzIG9jdWx0ZXMgKGZlZG9yYSkKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkFxdWVzdCBzaXN0ZW1hIHV0aWxpdHphIGdydXBzIG9jdWx0cy5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiQXF1ZXN0IHNpc3RlbWEgdXRpbGl0emEgY29udHJhc2VueWVzIG9jdWx0ZXMuXG4iCisKKyMgRklYTUUgaGVyZSB3ZSBoYXZlICd5JyBhbmQgJ24nIHRyYW5zbGF0ZWQsIGlzIGl0IHRyYW5zbGF0ZWFibGU/CisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiRGVzaXRnZXUgZWRpdGFyICVzIGFyYT8gW3Mvbl0gIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiVzIGRlcyBkZSAlcyVzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC0tbGFiZWwgPGxhYmVsPiB8IC0tdXVpZCA8dXVpZD5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyBbLS1jYWNoZS1maWxlIDxmaWxlPl0gWy1naGxMdl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSBbLS1tYXRjaC10YWcgPHRhZz5dIFxuIgorIiAgICAgICBbLS1tYXRjaC10b2tlbiA8dG9rZW4+XSBbPGRldj4gLi4uXVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb2Zmc2V0IDxvZmZzZXQ+XSBbLS1zaXplIDxzaXplPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyAtaSBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgzCittc2dpZCAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxmaWxlPiAgICByZWFkIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBkZWZhdWx0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUgZmlsZSAoLWMgL2Rldi9udWxsIG1lYW5zIG5vIGNhY2hlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODYKK21zZ2lkICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgZ2FyYmFnZSBjb2xsZWN0IHRoZSBibGtpZCBjYWNoZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NworbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0IDxmb3JtYXQ+ICAgICAgb3V0cHV0IGZvcm1hdDsgY2FuIGJlIG9uZSBvZjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3IgZnVsbDsgKGRlZmF1bHQ6IGZ1bGwpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5Cittc2dpZCAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3QgYWxsIGtub3duIGZpbGVzeXN0ZW1zL1JBSURzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGxhIHZlcnNpw7MgZGVsIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgICAgIGNvbnZlcnQgTEFCRUwgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgZGV2aWNlKHMpIHRvIHByb2JlIChkZWZhdWx0OiBhbGwgZGV2aWNlcylcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9aW50w6hycHJldF9vcmRyZXMgRXN0YWJsZWl4IGVscyBtYXRlaXhvcyBjb252ZW5pcyBxdWFudCBhIGxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21ldGVzIHF1ZSBsJ2ludGVycHJldCBkJ29yZHJlcyBpbmRpY2F0XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgICBsICAgbGxpc3RhIGVscyB0aXB1cyBkZSBzaXN0ZW1lcyBkZSBmaXR4ZXJzIGNvbmVndXRzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiICAgbCAgIGxsaXN0YSBlbHMgdGlwdXMgZGUgc2lzdGVtZXMgZGUgZml0eGVycyBjb25lZ3V0cyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiKGluIHVzZSkiCittc2dzdHIgIk1hcmNhJ2wgZW4gw7pzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgIkVycm9yIFJFOiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTkgbWlzYy11dGlscy93aXBlZnMuYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgbCdvcGNpw7MgLS1kYXRlLlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzgzCittc2dpZCAiLXQgbmVlZHMgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJlbCB2YWxvciBkZSBsJ2FueSBubyDDqXMgbGVnYWw6IHV0aWxpdHpldSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiVmFsb3IgZGVscyBjYXDDp2FscyBubyBwZXJtw6hzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJlbCB2YWxvciBkZSBsJ2FueSBubyDDqXMgbGVnYWw6IHV0aWxpdHpldSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgImVsIHZhbG9yIGRlbCBtZXMgw6lzIGlswrdsZWdhbDogdXRpbGl0emV1IDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5vbSBhbWIgcHJpb3JpdGF0IGRlc2NvbmVndWRhOiAlcy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJWYWxvciBkZWxzIGNhcMOnYWxzIG5vIHBlcm3DqHMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgImVsIHZhbG9yIGRlIGwnYW55IG5vIMOpcyBsZWdhbDogdXRpbGl0emV1IDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo1MzAgbWlzYy11dGlscy9jYWwuYzo1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiZWwgdmFsb3IgZGUgbCdhbnkgbm8gw6lzIGxlZ2FsOiB1dGlsaXR6ZXUgMS05OTk5IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlMiRkIGRlICUxJHMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogY2FsIFstMTNzbWp5Vl0gW1ttZXNdIGFueV1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKKyMsIGZ1enp5Cittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA3Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOQorbXNnaWQgIiAgICAgLS1yZWZvcm0gPHZhbD4gICAgR3JlZ29yaWFuIHJlZm9ybSBkYXRlICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0taXNvICAgICAgICAgICAgIGFsaWFzIGZvciAtLXJlZm9ybT1pc29cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQgLSBUYXVsYSBlbiBmb3JtYXQgY3J1IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTEKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTQKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGUgbGEgbWVtw7JyaWEgY29tcGFydGlkYSBzaG1pZD0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MgorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIGJ5dGVzIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudCBkZSBsYSBtZW3DsnJpYSBjb21wYXJ0aWRhIHNobWlkPSVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGF0wrsgYWwgY2Ftw61cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBuYW1lIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtaW5jb3JlOiAlcyIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MzQzIHN5cy11dGlscy9sb3NldHVwLmM6NzkzCisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiUydlc3TDoCBmb3LDp2FudCBsYSBjb21wcm92YWNpw7MgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXUgZGUgYmxvY3MgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJvcGNpb25zIMO6dGlsczoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorIywgZnV6enkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJtb3VudDogbm8gaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIiVzOiBPcmRyZSBkZXNjb25lZ3VkYTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIm1vdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorIywgZnV6enkKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInMnaGEgbGxlZ2l0ICVjXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorIywgZnV6enkKK21zZ2lkICJtb3ZlIgorbXNnc3RyICIgRWxpbWluYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODE0IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzcgc3lzLXV0aWxzL2VqZWN0LmM6NzE0CisjOiBzeXMtdXRpbHMvbW91bnQuYzozMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJsJ2Fzc2lnbmFjacOzIGRlIG1lbcOycmlhIChtYWxsb2MpIGhhIGZhbGxhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgbGxpc3RhIGVscyB0aXB1cyBkZSBzaXN0ZW1lcyBkZSBmaXR4ZXJzIGNvbmVndXRzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTYKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgIGwgICBsbGlzdGEgZWxzIHRpcHVzIGRlIHNpc3RlbWVzIGRlIGZpdHhlcnMgY29uZWd1dHMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNSBzeXMtdXRpbHMvbHNucy5jOjkwMgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgbGxpc3RhIGVscyB0aXB1cyBkZSBzaXN0ZW1lcyBkZSBmaXR4ZXJzIGNvbmVndXRzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIk5vIGhpIGhhIGNhcCBkaXJlY3RvcmkgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiSGV1IGVzcGVjaWZpY2F0IG3DqXMgY2lsaW5kcmVzIGRlbHMgcXVlIGNhYmVuIGFsIGRpc2MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIG5vIMOpcyB1biBkaXJlY3RvcmkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE4OQorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAibm8gZXMgcG90IG9icmlyICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJkaXNwb3NpdGl1IGRlIGJsb2NzICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAib3BjaW9ucyBwZXJpbGxvc2VzOiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJtb3VudDogZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyAlcyBubyBlc3TDoCBzdXBvcnRhdCBwZWwgbnVjbGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTkgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogbm8gZXMgcmVjb25laXggZWwgc2l0ZW1hIGRlIGZpdHhlcnMgwqslc8K7IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAibW91bnQ6IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgJXMgbm8gZXN0w6Agc3Vwb3J0YXQgcGVsIG51Y2xpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0aXB1czogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciIKK21zZ3N0clsxXSAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIGVycm9yIgorbXNnc3RyWzFdICIsIGVycm9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIm9wY2nDsyBsbGFyZ2EgYnVpZGEgZGVzcHLDqXMgZGUgbCdhcmd1bWVudCAtbCBvIC0tbG9uZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjMKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgImludMOocnByZXQgZCdvcmRyZXMgZGVzY29uZWd1dCBkZXNwcsOpcyBkZSBsJ2FyZ3VtZW50IC1zIG8gLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIgICAgICAgZ2V0b3B0IFtvcGNpb25zXSAtb3wtLW9wdGlvbnMgY2FkZW5hX29wY2lvbnMgW29wY2lvbnNdIFstLV1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKKyMsIGZ1enp5Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBQZXJtZXQgb3BjaW9ucyBsbGFyZ3VlcyBhbWIgbm9tw6lzIHVuIC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPW9wY19sbGFyZyAgIE9wY2lvbnMgbGxhcmd1ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9bm9tX3Byb2dyYW1hICAgICAgRWwgbm9tIGFtYiBlbCBxdWUgcydpbmZvcm1hIGRlbHMgZXJyb3JzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIgorIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICBJbmhhYmlsaXRhIGVscyBpbmZvcm1lcyBkJ2Vycm9yIG1pdGphbsOnYW50XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdldG9wdCgzKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9aW50w6hycHJldF9vcmRyZXMgRXN0YWJsZWl4IGVscyBtYXRlaXhvcyBjb252ZW5pcyBxdWFudCBhIGxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21ldGVzIHF1ZSBsJ2ludGVycHJldCBkJ29yZHJlcyBpbmRpY2F0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgbGEgdmVyc2nDsyBkZWwgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAiZmFsdGEgbCdhcmd1bWVudCBjYWRlbmFfb3BjaW9ucyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTEKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBpbnRlcm47IGNvbnRhY3RldSBhbWIgbCdhdXRvci4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICIlczogc2VueWFsIGRlc2NvbmVndXQgJXM7IHNlbnlhbHMgdsOgbGlkczpcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3OQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTgyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODQKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg5Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNDAgbWlzYy11dGlscy9raWxsLmM6MjQ5IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIiVzOiBzZW55YWwgZGVzY29uZWd1dCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODcgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MDcgc3lzLXV0aWxzL3R1bmVscC5jOjE2NyBzeXMtdXRpbHMvdHVuZWxwLmM6MTc0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTgxIHN5cy11dGlscy90dW5lbHAuYzoxODggc3lzLXV0aWxzL3R1bmVscC5jOjE5NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIwMSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA1IHN5cy11dGlscy90dW5lbHAuYzoyMTIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjMzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjg5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzIxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjkgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzU4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTkwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MTMgdGVybS11dGlscy9zZXR0ZXJtLmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICIlczogQXJndW1lbnQgZXJyb25pLCBmb3JtYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgcmVhbm9tZW5hciAlcyBhICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgcmVhbm9tZW5hciAlcyBhICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgcHJvY8OpcyBcIiVzXCJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogbm8gZXMgY29uZWl4IGVsIG5vbSBkZSBsYSBmYWNpbGl0YXQ6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBub20gYW1iIHByaW9yaXRhdCBkZXNjb25lZ3VkYTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiZWwgbm9tIGQnZW50cmFkYSDDqXMgbWFzc2EgbGxhcmcuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIk1pZGFCbG9jOiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGhhIGZhbGxhdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZWwgY2FtcCDDqXMgbWFzc2EgbGxhcmcuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZWwgY2FtcCDDqXMgbWFzc2EgbGxhcmcuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMzCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIk5vIGVzIHBvdCBlc3RhYmxpciBlbCByZWxsb3RnZSBkZWwgc2lzdGVtYS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzcKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM5CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQxCittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9aW50w6hycHJldF9vcmRyZXMgRXN0YWJsZWl4IGVscyBtYXRlaXhvcyBjb252ZW5pcyBxdWFudCBhIGxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21ldGVzIHF1ZSBsJ2ludGVycHJldCBkJ29yZHJlcyBpbmRpY2F0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGxhIHZlcnNpw7MgZGVsIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTIKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NgorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NworbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgInZhbG9yIGQnZXhwaXJhY2nDsyBlcnJvbmk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTIKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1OQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgUGVybWV0IG9wY2lvbnMgbGxhcmd1ZXMgYW1iIG5vbcOpcyB1biAtXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGF0wrsgYWwgY2Ftw61cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgImVzdGFibGVpeCBhIG5vbcOpcyBsZWN0dXJhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIiBleHRyYcOvYmxlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorIywgZnV6enkKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJtaWRhIGRlIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBpbmNvcnJlY3RlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBzZWN0b3IiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAiYWNvbnNlZ3VlaXggbGEgbWlkYSBkZWwgc2VjdG9yIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJtaWRhIGRlIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBpbmNvcnJlY3RlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgdSAgIGNhbnZpYSBsZXMgdW5pdGF0cyBkZSB2aXN1YWxpdHphY2nDsy9lbnRyYWRhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAzCittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJ2ZXJzacOzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NjcgbWlzYy11dGlscy9sc2Jsay5jOjE1NjkgbWlzYy11dGlscy9sc2Jsay5jOjE1OTQKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMyBzeXMtdXRpbHMvd2RjdGwuYzoxNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiVzOiBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NAorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NgorIywgZnV6enkKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgbGEgdmVyc2nDsyBkZWwgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OCBzeXMtdXRpbHMvbHNtZW0uYzo1MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNlIHRyZWUgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MiBzeXMtdXRpbHMvbHNtZW0uYzo1MDYKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU1CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIMKrc3RhdMK7IGFsIGNhbcOtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorIywgZnV6enkKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjI2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiZGVzY29uZWd1dCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJObyBlcyBwb3QgZXN0YWJsaXIgZWwgcmVsbG90Z2UgZGVsIHNpc3RlbWEuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMgorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDMgc3lzLXV0aWxzL2xzbnMuYzo5MDMgc3lzLXV0aWxzL3Jma2lsbC5jOjU3MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlMnaGFuIG9idGluZ3V0ICVkIG9jdGV0cyBkZSAlc1xuIgorbXNnc3RyWzFdICJTJ2hhbiBvYnRpbmd1dCAlZCBvY3RldHMgZGUgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciBleGVjXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzEwCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlMnaGFuIG9idGluZ3V0ICVkIG9jdGV0cyBkZSAlc1xuIgorbXNnc3RyWzFdICJTJ2hhbiBvYnRpbmd1dCAlZCBvY3RldHMgZGUgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJhcmd1bWVudCAtLWRhdGUgbWFzc2EgbGxhcmdcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGxpbms6IGAlcydcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHJlYW5vbWVuYXIgJXMgYSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiLi4ucydlc3TDoCBzYWx0YW50IGFsIGZpdHhlciAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgcmVhbm9tZW5hciAlcyBhICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9aW50w6hycHJldF9vcmRyZXMgRXN0YWJsZWl4IGVscyBtYXRlaXhvcyBjb252ZW5pcyBxdWFudCBhIGxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21ldGVzIHF1ZSBsJ2ludGVycHJldCBkJ29yZHJlcyBpbmRpY2F0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGxhIHZlcnNpw7MgZGVsIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAgICAtSCMgW28gLS1oZWFkcyAjXTogICAgIEVzdGFibGVpeCBlbCBub21icmUgZGUgY2Fww6dhbHMgcXVlIHMndXNhcmFuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGEgbGEgcGFudGFsbGEgbyBlbiB1biBmaXR4ZXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1Cittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgICAgLXEgIFtvIC0tcXVpZXRdOiAgICAgICBTdXByaW1laXggZWxzIGF2aXNvcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEwOQorIywgZnV6enkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJjb2w6IGFyZ3VtZW50IC1sIGluY29ycmVjdGUgJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJjb25uZWN0b3IgbmZzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI3CisjLCBmdXp6eQorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImNvbm5leGnDsyBuZnMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUiCittc2dzdHIgIkVzY3JpdSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorIywgZnV6enkKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJzJ2hhIGxsZWdpdCAlY1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHJlYW5vbWVuYXIgJXMgYSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAicydoYSBleGhhdXJpdCBlbCB0ZW1wcyBkJ2VzcGVyYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMzNiBzeXMtdXRpbHMvZmxvY2suYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIm5vIGVzIHBvdCBmZXIgXCJzdGF0XCIgYWwgZGlzcG9zaXRpdSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworIywgZnV6enkKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBoYSBmYWxsYXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIlMnaGEgZXhjZWRpdCBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSBsJ2VudHJhZGEgYWwgY2FwIGRlICVkIHNlZ29ucy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4OTkgdGV4dC11dGlscy9jb2x1bW4uYzo0OTYKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NTI5CisjLCBmdXp6eQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGxsZWdpciAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICJub20gZGVsIHZvbHVtIG1hc3NhIGxsYXJnIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU0IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2FudmlhciBlbCBtb2RlIGRlICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU1IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiJXM6IE5vIHMnZXNwZXJhdmEgRU9GIGVuIGVsIGZpdHhlciAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICIgICBzICAgY3JlYSB1bmEgZXRpcXVldGEgZGUgZGlzYyBTdW4gbm92YSIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgbGEgdmVyc2nDsyBkZWwgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzUKK21zZ2lkICIgLU4sIC0tbmFtZSBuYW1lICAgICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgZnJvbSB0aGlzIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhMSAgICAgICAgICBnZW5lcmF0ZSBzaGExIGhhc2hcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIHUgICBjYW52aWEgbGVzIHVuaXRhdHMgZGUgdmlzdWFsaXR6YWNpw7MvZW50cmFkYSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NworIywgZnV6enkKK21zZ2lkICJ2YXJpYW50IG5hbWUiCittc2dzdHIgIk5vbWJyZSBkZSBwYXJ0aWNpw7MiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBuYW1lIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworIywgZnV6enkKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgImFyZ3VtZW50IC0tZGF0ZSBtYXNzYSBsbGFyZ1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA2Cittc2dpZCAic3VwZXJibG9rIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdSBkZSBibG9jcyAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICJkaXNwb3NpdGl1IGRlIGJsb2NzICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGVsIGZpdHhlclxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCittc2dzdHJbMV0gIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHDDoGdpbmEgZGUgbGEgc2lnbmF0dXJhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIlMnZXN0w6AgY3JpZGFudCBpb2N0bCgpIHBlciByZWxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiVXNldSBlbCBzZW55YWxhZG9yIC0tZm9yY2UgcGVyIGEgb2J2aWFyIHRvdGVzIGxlcyBjb21wcm92YWNpb25zLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorIywgZnV6enkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKSIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBww6BnaW5hIGRlIGxhIHNpZ25hdHVyYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbnZpYSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbCIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXMiCittc2dzdHIgIiAgICAtQyMgW28gLS1jeWxpbmRlcnMgI106IEVzdGFibGVpeCBlbCBub21icmUgZGUgY2lsaW5kcmVzIHF1ZSBzJ3VzYXJhbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTUKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxsaXN0PiBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGEgbGEgcGFudGFsbGEgbyBlbiB1biBmaXR4ZXIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlcyIKK21zZ3N0ciAiICAgIC1xICBbbyAtLXF1aWV0XTogICAgICAgU3VwcmltZWl4IGVscyBhdmlzb3MiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE4CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlcyIKK21zZ3N0ciAiICAgbCAgIGxsaXN0YSBlbHMgdGlwdXMgZGUgc2lzdGVtZXMgZGUgZml0eGVycyBjb25lZ3V0cyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo3MjQKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorIywgZnV6enkKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAib3BjaW9ucyBwZXJpbGxvc2VzOiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXLDoG1ldHJlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcsOgbWV0cmVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIGRpc3Bvc2l0aXUgcGVyIGEgJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIk5GUyBzb2JyZSBUQ1Agbm8gZXN0w6AgaW1wbGVtZW50YXQuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjM5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKKyMsIGZ1enp5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIk5GUyBzb2JyZSBUQ1Agbm8gZXN0w6AgaW1wbGVtZW50YXQuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIxCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6IE9yZHJlIGRlc2NvbmVndWRhOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgImVycm9yIGRlc2NvbmVndXQgZW4gbCdpZGVudGlmaWNhZG9yIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgcHJvZ3JhbWEgW2FyZyAuLi5dXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImwnYXNzaWduYWNpw7MgZGUgbWVtw7JyaWEgKG1hbGxvYykgaGEgZmFsbGF0IgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgICAgLUMjIFtvIC0tY3lsaW5kZXJzICNdOiBFc3RhYmxlaXggZWwgbm9tYnJlIGRlIGNpbGluZHJlcyBxdWUgcyd1c2FyYW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgICAtQyMgW28gLS1jeWxpbmRlcnMgI106IEVzdGFibGVpeCBlbCBub21icmUgZGUgY2lsaW5kcmVzIHF1ZSBzJ3VzYXJhbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzYgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3MworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTExIHN5cy11dGlscy9mc3RyaW0uYzozMzYKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEJMS0dFVFNJWkUgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9idGVuaXIgbGEgbWlkYSBkZWwgZGlzYyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworIywgZnV6enkKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICIlczogbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjc0Cittc2dpZCAiUmVzZXQgYSByYW5nZSBvZiB6b25lcy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTc3IHN5cy11dGlscy9ibGt6b25lLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWwgbWFwYSBkZSB6b25lcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBCTEtHRVRTSVpFIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm91bmQgJWQgem9uZXMgZnJvbSAweCU8UFJJeDY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgICAgLVMjIFtvIC0tc2VjdG9ycyAjXTogICBFc3RhYmxlaXggZWwgbm9tYnJlIGRlIHNlY3RvcnMgcXVlIHMndXNhcmFuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIm1vdW50OiAlcyBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jcyB2w6BsaWQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugem9uZSBvZmZzZXQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgbCdvcGNpw7MgLS1kYXRlLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IFwiJXNcIiBubyBleGlzdGVpeC5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBubyDDqXMgZXhlY3V0YWJsZS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBmZXIgbGEgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciBsYSBjb25maWd1cmFjacOzIGF1dG9tw6B0aWNhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIiVzOiBcIiVzXCIgbm8gw6lzIGV4ZWN1dGFibGUuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJFbCBzZWN0b3IgJWQgamEgZXN0w6AgYXNzaWduYXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciBsYSBjb25maWd1cmFjacOzIGF1dG9tw6B0aWNhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciBsYSBjb25maWd1cmFjacOzIGF1dG9tw6B0aWNhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZmVyIGxhIGNvbmZpZ3VyYWNpw7MgYXV0b23DoHRpY2EuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBmZXIgbGEgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZmVyIGxhIGNvbmZpZ3VyYWNpw7MgYXV0b23DoHRpY2EuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiTm9tYnJlIGludsOgbGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lbW9yeSBCbG9jayAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBpbmRleCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGZlciBsYSBjb25maWd1cmFjacOzIGF1dG9tw6B0aWNhLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkXG4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTYgc3lzLXV0aWxzL2NobWVtLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZmVyIGxhIGNvbmZpZ3VyYWNpw7MgYXV0b23DoHRpY2EuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBmZXIgbGEgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYS5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBmZXIgbGEgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYS5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIGphIGVzdMOgIGFzc2lnbmF0XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI2NiBzeXMtdXRpbHMvbHNtZW0uYzo0NzYgc3lzLXV0aWxzL2xzbWVtLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgc3RhcnQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsJ2FkcmXDp2EgcGVyIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBhZGRyZXNzIGFuZCAoZW5kIGFkZHJlc3MgKyAxKSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNworbXNnaWQgIlNldCBhIHBhcnRpY3VsYXIgc2l6ZSBvciByYW5nZSBvZiBtZW1vcnkgb25saW5lIG9yIG9mZmxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1lbmFibGUgICAgICAgZW5hYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kaXNhYmxlICAgICAgZGlzYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDcKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIHpvbmVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBub20gYW1iIHByaW9yaXRhdCBkZXNjb25lZ3VkYTogJXMuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6IGN0cmxhbHRkZWwgbWFxdWluLnxwcm9nci5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiSGF1cmV1IGRlIHNlciBlbCByb290IHBlciBhIGVzdGFibGlyIGVsIGNvbXBvcnRhbWVudCBkZSBDdHJsLUFsdC1TdXByLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiQXF1ZXN0YSBwYXJ0aWNpw7Mgw6lzIGludXRpbGl0emFibGUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCisjLCBmdXp6eQorbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVzICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJtaXNzYXRnZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorIywgZnV6enkKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5CisjLCBmdXp6eQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODAKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlIHRpbWVzdGFtcCBvdXRwdXQgb24gZWFjaCBsaW5lIG9mIG11bHRpLWxpbmUgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAyCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IE9yZHJlIGRlc2NvbmVndWRhOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgIk5vIGhpIGhhIGNhcCBkaXJlY3RvcmkgJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIiVzIG5vIGVzIHBvdCBvYnJpciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDg4Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUyNgorIywgZnV6enkKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBnZXR0aW1lb2ZkYXkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1NDUKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZmVyIGZzeW5jIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgZXh0cmHDr2JsZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJOb23DqXMgZXMgc3Vwb3J0ZW4gYmxvY3MgbyB6b25lcyBkZSAxayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjEKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg1Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJtb3VudDogZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyAlcyBubyBlc3TDoCBzdXBvcnRhdCBwZWwgbnVjbGkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzgKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgzCisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJtb3VudDogZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyAlcyBubyBlc3TDoCBzdXBvcnRhdCBwZWwgbnVjbGkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIiVzIG5vIMOpcyBjYXAgZGlzcG9zaXRpdSBkZSBibG9jIG8gdW4gZml0eGVyXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIm5vIHMnaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyBubyBleGlzdGVpeCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHJlYW5vbWVuYXIgJXMgYSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBubyBzJ2hhIHRyb2JhdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODI4Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJTJ2VzdMOgIHV0aWxpdHphbnQgZWwgdmFsb3IgcGVyIGRlZmVjdGUgJXVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlYm9iaW5hciBlbCBkaXNwb3NpdGl1IGQnaW50ZXJjYW52aSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJsb29wOiBubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGRpc3Bvc2l0aXUgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm8gcydoYSB0cm9iYXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJsb29wOiBubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGRpc3Bvc2l0aXUgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl1IG9jdXBhdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwNQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICIlcyBzJ2hhIGNvbXBsZXRhdCBhbWIgw6h4aXQuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgZXhlY1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIwCittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjcKKyMsIGZ1enp5Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGRpcmVjdG9yaVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkyCittc2dpZCAiIC1pLCAtLWluc2VydC1yYW5nZSAgIGluc2VydCBhIGhvbGUgYXQgcmFuZ2UsIHNoaWZ0aW5nIGV4aXN0aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiICAgIC1DIyBbbyAtLWN5bGluZGVycyAjXTogRXN0YWJsZWl4IGVsIG5vbWJyZSBkZSBjaWxpbmRyZXMgcXVlIHMndXNhcmFuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhIGxhIHBhbnRhbGxhIG8gZW4gdW4gZml0eGVyIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NgorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsb3IgZXN0YWJsZXJ0IGludsOgbGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIk1hc3NhIGFyZ3VtZW50cy5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5CisjLCBmdXp6eQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAibG9naW46IG5vIGhpIGhhIHByb3UgbWVtw7JyaWEgcGVyIGEgbGEgc2Vxw7zDqG5jaWEgZGUgbCdpbnTDqHJwcmV0IGQnb3JkcmVzLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmVxdWVyZWl4IHVuIGFyZ3VtZW50XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJkaXNwb3NpdGl1IGRlIGJsb2NzICIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OQorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBzZWdvbnNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXhlY3V0YXIgXHQlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorIywgZnV6enkKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlMnZXN0w6AgZm9yw6dhbnQgbGEgY29tcHJvdmFjacOzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FudmlhIGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ4Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA1Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgICAgLUMjIFtvIC0tY3lsaW5kZXJzICNdOiBFc3RhYmxlaXggZWwgbm9tYnJlIGRlIGNpbGluZHJlcyBxdWUgcyd1c2FyYW4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjMKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorIywgZnV6enkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiQXbDrXM6IGwnb3BjacOzIG5vbG9jayBubyBlc3TDoCBpbXBsZW1lbnRhZGEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiUydlc3TDoCBhc3N1bWludCBxdWUgZWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSBtYW50w6kgbCdob3JhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJsb2NhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiVzOiBBdsOtczogbm8gcydoYSByZWNvbmVndXQgbGEgdGVyY2VyYSBsw61uaWEgZGVsIGZpdHhlciBhZGp0aW1lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiTCfDumx0aW0gYWp1c3QgZGUgZGVzZmFzYW1lbnQgZXMgdmEgZmVyICVsZCBzZWdvbnMgZGVzcHLDqXMgZGUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJMJ8O6bHRpbWEgY2FsaWJyYWNpw7MgZXMgdmEgZmVyICVsZCBzZWdvbnMgZGVzcHLDqXMgZGUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIkVsIHJlbGxvdGdlIGRlbCBtYXF1aW5hcmkgdMOpIGwnaG9yYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIlMnZXN0w6AgZXNwZXJhbnQgZWwgdGljIGRlbCByZWxsb3RnZS4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiLi4ucydoYSByZWJ1dCBlbCB0aWMgZGVsIHJlbGxvdGdlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIlZhbG9ycyBpbmNvcnJlY3RlcyBlbiBlbCByZWxsb3RnZSBkZWwgbWFxdWluYXJpOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJIb3JhIGRlbCBtYXF1aW5hcmkgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlZ29ucyBkZXNwcsOpcyBkZSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkhvcmEgbGxlZ2lkYSBkZWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSA6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiUydlc3TDoCBlc3RhYmxpbnQgbCdob3JhIGRlbCBtYXF1aW5hcmkgZW4gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vnb25zIGRlcyBkZSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgdG8gc2V0IHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjgKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAwKSB0byBsb2NrIHRoZSB3YXJwIGZ1bmN0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoJWxkLiUwNmxkLCAlZClcbiIKK21zZ3N0ciAiQ3JpZGFudCBhIHNldHRpbWVvZmRheTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCittc2dzdHIgIkNyaWRhbnQgYSBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIk5vIHMnaGEgYWp1c3RhdCBlbCBmYWN0b3IgZGUgZGVzZmFzYW1lbnQgcGVycXXDqCBlbCByZWxsb3RnZSBkZWwgbWFxdWluYXJpIGNvbnRlbmlhIHZhbG9ycyBkZXNwcmVjaWFibGVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIk5vIHMnaGEgYWp1c3RhdCBlbCBmYWN0b3IgZGUgZGVzZmFzYW1lbnQgcGVycXXDqCBsYSBkYXRhIGRlIGwnw7psdGltYVxuIgorImNhbGlicmFjacOzIMOpcyB6ZXJvLCBhaXjDrSBxdWUgbCdoaXN0b3JpYWwgw6lzIGRvbGVudCwgaSDDqXMgbmVjZXNzw6ByaWFcbiIKKyJ1bmEgY2FsaWJyYWNpw7MgZGVzIGRlbCBjb21lbsOnYW1lbnQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJObyBzJ2FqdXN0YSBlbCBmYWN0b3IgZGUgZGVzZmFzYW1lbnQgcGVycXXDqCBmYSBtZW55cyBkJ3VuIGRpYSBkZSBsJ8O6bHRpbWEgY2FsaWJyYWNpw7MuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiRWwgcmVsbG90amUgcydoYSBkZXNmYXNhdCAlLjFmIHNlZ29ucyBlbiBlbHMgw7psdGltcyAlZCBzZWdvbnMsIHRvdCBpIGVtcHJhciB1biBmYWN0b3IgZGUgZGVzZmFzYW1lbnQgZGUgJWYgc2Vnb25zIGRpYXJpcy5cbiIKKyJTJ2VzdMOgIGFqdXN0YW50IGVsIGZhY3RvciBkZSBkZXNmYXNhbWVudCBhICVmIHNlZ29ucyBkaWFyaXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiSGFuIHRyYW5zY29ycmVndXQgJWQgc2Vnb25zIGRlcyBkZSBsJ8O6bHRpbSBhanVzdFxuIgorbXNnc3RyWzFdICJIYW4gdHJhbnNjb3JyZWd1dCAlZCBzZWdvbnMgZGVzIGRlIGwnw7psdGltIGFqdXN0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIHNlZ29uc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1cGRhdGUgJXMiCittc2dzdHIgIiVzIG5vIGVzIHBvdCBvYnJpciIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIiIKKyJObyBzJ2hhIGFqdXN0YXQgZWwgZmFjdG9yIGRlIGRlc2Zhc2FtZW50IHBlcnF1w6ggbGEgZGF0YSBkZSBsJ8O6bHRpbWFcbiIKKyJjYWxpYnJhY2nDsyDDqXMgemVybywgYWl4w60gcXVlIGwnaGlzdG9yaWFsIMOpcyBkb2xlbnQsIGkgw6lzIG5lY2Vzc8OgcmlhXG4iCisidW5hIGNhbGlicmFjacOzIGRlcyBkZWwgY29tZW7Dp2FtZW50LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICIiCisiTm8gcydoYSBhanVzdGF0IGVsIGZhY3RvciBkZSBkZXNmYXNhbWVudCBwZXJxdcOoIGxhIGRhdGEgZGUgbCfDumx0aW1hXG4iCisiY2FsaWJyYWNpw7Mgw6lzIHplcm8sIGFpeMOtIHF1ZSBsJ2hpc3RvcmlhbCDDqXMgZG9sZW50LCBpIMOpcyBuZWNlc3PDoHJpYVxuIgorInVuYSBjYWxpYnJhY2nDsyBkZXMgZGVsIGNvbWVuw6dhbWVudC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiTm8gcydoYSB0cm9iYXQgY2FwIGludGVyZsOtY2llIGRlIHJlbGxvdGdlIHVzYWJsZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFjY2VkaXIgYWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSBtaXRqYW7Dp2FudCBjYXAgZGVscyBtw6h0b2RlcyBjb25lZ3V0cy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiVXNldSBsJ29wY2nDsyAtLWRlYnVnIHBlciB2ZXVyZSBlbHMgZGV0YWxscyBkZSBsYSByZWNlcmNhIGQndW4gbcOodG9kZSBkJ2FjY8Opcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICJww6BnaW5lcyBpbnRlcmNhbnZpYWRlcyAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlZGljdGVkIFJUQzogJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NzAKK21zZ2lkICJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIkwnYWp1c3RhbWVudCBuZWNlc3Nhcmkgw6lzIGluZmVyaW9yIGEgdW4gc2Vnb24sIG5vIHMnYWp1c3RhcsOgIGVsIHJlbGxvdGdlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIm5vIGVzIHBvdCBsbGVnaXIgZWwgc3VwZXJibG9jIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gc2V0IHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJObyBlcyBwb3QgZXN0YWJsaXIgZWwgcmVsbG90Z2UgZGVsIHNpc3RlbWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjcKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgICBsICAgbGxpc3RhIGVscyB0aXB1cyBkZSBzaXN0ZW1lcyBkZSBmaXR4ZXJzIGNvbmVndXRzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXN5c3R6ICAgICAgICAgIHNlbmQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb25zIHRvIHRoZSBrZXJuZWwiCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY5Cittc2dpZCAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXRlcG9jaCAgICAgICBkaXNwbGF5IHRoZSBSVEMgZXBvY2giCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbHRpbWUgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBMb2NhbCIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgIFBlcm1ldCBvcGNpb25zIGxsYXJndWVzIGFtYiBub23DqXMgdW4gLVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzZSB0aGUgSVNBIGJ1cyBpbnN0ZWFkIG9mICUxJHMgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg0Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGRhdGUvdGltZSBpbnB1dCBmb3IgLS1zZXQgYW5kIC0tcHJlZGljdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKK21zZ2lkICIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgdXNlICUxJHNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIk5vIGVzIHBvdCBlc3RhYmxpciBlbCByZWxsb3RnZSBkZWwgc2lzdGVtYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEwCittc2dpZCAidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBoYXMgYmVlbiBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKKyMsIGZ1enp5Cittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiVzOiBBbWIgLS1ub2FkamZpbGUsIGhhdXJldSBkJ2VzcGVjaWZpY2FyIC0tdXRjIG8gLS1sb2NhbHRpbWVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgJyVzJyIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIMKrc3RhdMK7IGFsIGNhbcOtXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBvcGVuKCkgZGUgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTcKK21zZ2lkICJVc2luZyBkaXJlY3QgSVNBIGFjY2VzcyB0byB0aGUgY2xvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgZGVzbXVudGFyICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCgpIGEgJXMgcGVyIGxsZWdpciBsJ2hvcmEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiUydlc3TDoCBlc3BlcmFudCBlbiBidWNsZSBwZXIgYSBjYW52aWFyIGwnaG9yYSBkZSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiUydoYSBleGNlZGl0IGVsIHRlbXBzIGQnZXNwZXJhIHBlciBhIHF1w6ggY2FudmnDqXMgbCdob3JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICIiCisiUydoYSBleGNlZGl0IGVsIHRlbXBzIGQnZXNwZXJhIGVuIGV4ZWN1dGFyIHNlbGVjdCgpIGEgJXMgZW4gZXNwZXJhclxuIgorImVsIHRpYyBkZWwgcmVsbG90Z2UuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBzZWxlY3QoKSBhICVzIHBlciBlc3BlcmFyIGVsIHRpYyBkZWwgcmVsbG90Z2UuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIiIKKyJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsKCkgYSAlcyBwZXIgZGVzYWN0aXZhciBsZXMgaW50ZXJydXBjaW9uc1xuIgorImQnYWN0dWFsaXR6YWNpw7MiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bChSVENfRVBPQ0hfU0VUKSBhICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsKCkgYSAlcyBwZXIgZXN0YWJsaXIgbCdob3JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJTJ2hhIGV4ZWN1dGF0IGlvY3RsKCVzKSBzYXRpc2ZhY3TDsnJpYW1lbnQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MworbXNnaWQgIlVzaW5nIHRoZSBydGMgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bChSVENfRVBPQ0hfUkVBRCkgYSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bChSVENfRVBPQ0hfUkVBRCkgYSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGVwb2NoICclcycuIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsKFJUQ19FUE9DSF9TRVQpIGEgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsKFJUQ19FUE9DSF9TRVQpIGEgJXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6NzE1IHN5cy11dGlscy96cmFtY3RsLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGUgbGEgbWVtw7JyaWEgY29tcGFydGlkYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICIiCisiXG4iCisiQ3VhIGRlIG1pc3NhdGdlcyBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgInNlbcOgZm9ycyBhc3NpZ25hdHMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorInNlbWlkIGRlIGxhIG1hdHJpdSBkZWwgc2Vtw6Bmb3I9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlIGxhIG1lbcOycmlhIGNvbXBhcnRpZGEgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGUgbGEgbWVtw7JyaWEgY29tcGFydGlkYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDdWEgZGUgbWlzc2F0Z2VzIG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgZGUgbGEgbWF0cml1IGRlbCBzZW3DoGZvcj0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAicydoYSBkZW5lZ2F0IGVsIHBlcm3DrXMgcGVyIGEgbGEgY2xhdSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJwZXJtaXNvcyBkZW5lZ2F0cyBwZXIgbCdpZGVudGlmaWNhZG9yIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgImNsYXUgaW52w6BsaWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAibGEgY2xhdSBqYSBzJ2hhdmlhIHN1cHJpbWl0IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImwnaWRlbnRpZmljYWRvciBqYSBzJ2hhdmlhIHN1cHJpbWl0IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImtleSBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgImZvbnRzIHN1cHJpbWlkZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICIlczogY2xhdSBpbMK3bGVnYWwgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJlbCBudWNsaSBubyBlc3TDoCBjb25maWd1cmF0IHBlciBhIG1lbcOycmlhIGNvbXBhcnRpZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAibnVjbGkgbm8gY29uZmlndXJhdCBwZXIgYWxzIHNlbcOgZm9yc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiZWwgbnVjbGkgbm8gZXN0w6AgY29uZmlndXJhdCBwZXIgYSBjdWVzIGRlIG1pc3NhdGdlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiJXMgcHJvcG9yY2lvbmEgaW5mb3JtYWNpw7Mgc29icmUgZWxzIHJlY3Vyc29zIGlwYyBhbHMgcXVlIHRlbml1IGFjY8OpcyBkZSBsZWN0dXJhLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBpZCBbLXMgLXEgLW1dIDogZGV0YWxscyBzb2JyZSBlbHMgcmVjdXJzb3MgaWRlbnRpZmljYXRzIHBlciBsJ2lkZW50aWZpY2Fkb3JcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAib3BjaW9ucyBwZXJpbGxvc2VzOiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworIywgZnV6enkKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJ0b3RhbCBtw6B4LiBtZW3DsnJpYSBjb21wYXJ0aWRhIChrYnl0ZXMpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTMOtbWl0cyBkZSBsYSBtZW3DsnJpYSBjb21wYXJ0aWRhIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE4CisjLCBmdXp6eQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJ0b3RhbCBtw6B4LiBtZW3DsnJpYSBjb21wYXJ0aWRhIChrYnl0ZXMpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImVsIG51Y2xpIG5vIGVzdMOgIGNvbmZpZ3VyYXQgcGVyIGEgbWVtw7JyaWEgY29tcGFydGlkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEVzdGF0IGRlIGxhIG1lbcOycmlhIGNvbXBhcnRpZGEgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIENyZWFkb3JzL1Byb3BpZXRhcmlzIGRlbHMgc2VnbWVudHMgbWVtw7JyaWEgY29tcGFydGlkYSAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgInBlcm1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0gVGVtcHMgZGUgY29ubmV4acOzL2Rlc2Nvbm5leGnDsy9tb2RpZmljYS4gbWVtLiBjb21wLiAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjI4NgorIzogc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAib3duZXIiCittc2dzdHIgInByb3BpZXRhcmkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgImNvbm5lY3RhdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiZGVzY29ubmVjdGF0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIm1vZGlmaWNhdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tIENyZWFkb3Ivw7psdGltIG9wZXJhZG9yIG1lbcOycmlhIGNvbXBhcnRpZGEgLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gU2VnbWVudHMgZGUgbWVtw7JyaWEgY29tcGFydGlkYSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAia2V5IgorbXNnc3RyICJjbGF1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAib2N0ZXRzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAiZXN0YXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzEyIHN5cy11dGlscy9pcGNzLmM6MzE0IHN5cy11dGlscy9pcGNzLmM6MzE2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQzMCBzeXMtdXRpbHMvaXBjcy5jOjQzMiBzeXMtdXRpbHMvaXBjcy5jOjUzOAorIzogc3lzLXV0aWxzL2lwY3MuYzo1NDAgc3lzLXV0aWxzL2lwY3MuYzo1NDIgc3lzLXV0aWxzL2lwY3MuYzo1OTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk4IHN5cy11dGlscy9pcGNzLmM6NjI3IHN5cy11dGlscy9pcGNzLmM6NjI5CisjOiBzeXMtdXRpbHMvaXBjcy5jOjYzMSBzeXMtdXRpbHMvaXBjcy5jOjY1NQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIk5vIGVzdGFibGVydCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6OTg3IHN5cy11dGlscy9sc2lwYy5jOjk5MworbXNnaWQgImRlc3QiCittc2dzdHIgImRlc3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjk4OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDAxCittc2dpZCAibG9ja2VkIgorbXNnc3RyICJibG9jYXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIEzDrW1pdHMgc2Vtw6Bmb3IgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtw6B4aW0gbm9tYnJlIGRlIG1hdHJpdXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtw6B4LiBzZW3DoGZvcnMgcGVyIG1hdHJpdSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibcOgeC4gc2Vtw6Bmb3JzIGFsIHNpc3RlbWEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibcOgeC4gb3Blci4gcGVyIGNyaWRhIHNlbW9wID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJ2YWxvciBtw6B4aW0gZGVsIHNlbcOgZm9yID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIm51Y2xpIG5vIGNvbmZpZ3VyYXQgcGVyIGFscyBzZW3DoGZvcnNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEVzdGF0IGRlbCBzZW3DoGZvciAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtYXRyaXVzIHVzYWRlcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBDcmVhZG9ycy9wcm9waWV0YXJpcyBtYXRyaXVzIHNlbcOgZm9yIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tIFRlbXBzIG9wZXJhY2nDsy9tb2RpZmljYWNpw7MgbWVtw7JyaWEgY29tcGFydGlkYSAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIsO6bHRpbWEgb3BlcmFjacOzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAiw7psdGltYSBtb2RpZmljYWNpw7MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNYXRyaXVzIGRlbCBzZW3DoGZvciAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAiTm9tYnJlIGRlIGNhcMOnYWxzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWlzc2F0Z2VzOiBsw61taXRzIC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm5vbWJyZSBtw6B4LiBkZSBjdWVzIGFsIHNpc3RlbWEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorIywgZnV6enkKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJtaWRhIG3DoHguIGRlbCBtaXNzYXRnZSAob2N0ZXRzKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDczCisjLCBmdXp6eQorbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIm1pZGEgbcOgeC4gcGVyIGRlZmVjdGUgZGUgbGEgY3VhIChvY3RldHMpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJlbCBudWNsaSBubyBlc3TDoCBjb25maWd1cmF0IHBlciBhIGN1ZXMgZGUgbWlzc2F0Z2VzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNaXNzYXRnZXM6IGVzdGF0IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJjdWVzIGFzc2lnbmFkZXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJjYXDDp2FsZXJlcyB1c2FkZXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OAorIywgZnV6enkKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJlc3BhaSBlbXByYXQgPSAlZCBvY3RldHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkKKyMsIGZ1enp5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIm9jdGV0cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIEN1ZXMgZGUgbWlzc2F0Z2VzOiBjcmVhZG9ycy9wcm9waWV0YXJpcyAtLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKKyM6IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0gVGVtcHMgdHJhbWVzYS4vcmVjZXAuL21vZGlmaWMuIGN1ZXMgZGUgbWlzc2F0Z2VzIC0tLVxuIgorCisjIEZJWE1FCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInNlbmQiCittc2dzdHIgImVudmlhIgorCisjIEZJWE1FCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgInJlcCIKKworIyBGSVhNRQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIm1vZGlmaWNhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLSBFbHMgUElEIGRlIGxlcyBjdWVzIGRlIG1pc3NhdGdlcyAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQ3VlcyBkZSBtaXNzYXRnZXMgLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJvY3RldHMgZW1wcmF0cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAibWlzc2F0Z2VzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MCBzeXMtdXRpbHMvaXBjcy5jOjYxMCBzeXMtdXRpbHMvaXBjcy5jOjY0MworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM3IHN5cy11dGlscy9sc2lwYy5jOjcyOSBzeXMtdXRpbHMvbHNpcGMuYzo4ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm8gcydoYSB0cm9iYXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGUgbGEgbWVtw7JyaWEgY29tcGFydGlkYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHRnaWQ9JWRcdGN1aWQ9JWRcdGNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyMsIGZ1enp5Cittc2dpZCAic2l6ZT0iCittc2dzdHIgIk1pZGEgbcOgeGltYT0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJvY3RldHMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgIm9jdGV0cz0lbGRcdGxwaWQ9JWRcdGNwaWQ9JWRcdG5hdHRjaD0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkN1YSBkZSBtaXNzYXRnZXMgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JWRcdGdpZD0lZFx0Y3VpZD0lZFx0Y2dpZD0lZFx0bW9kZT0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAib2N0ZXRzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorIywgZnV6enkKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJvY3RldHMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAicmN2X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgZGUgbGEgbWF0cml1IGRlbCBzZW3DoGZvcj0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHQgZ2lkPSVkXHQgY3VpZD0lZFx0IGNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidmFsb3IiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIm9jdGV0cyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAib2N0ZXRzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiaWQgaW52w6BsaWQgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGludsOgbGlkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgbm8gZXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jIGVzcGVjaWFsIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIm5hbWVpOiBubyBzJ2hhIHBvZ3V0IG9idGVuaXIgZWwgZGlyZWN0b3JpIGFjdHVhbCAtICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBjZXJjYXIgYSBsYSB1bml0YXQgZGUgZGlzYyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJ0b3JuYSBhIGxsZWdpciBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorIywgZnV6enkKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl1IGRlc2NvbmVndXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzUKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpb25zOlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4CisjLCBmdXp6eQorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBzZWN0b3IiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgZGVzcGxhw6dhbWVudCAlZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDEgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBsw61taXQgZGUgbWlkYSAlbGxkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCB4aWZyYXRnZSAlcyAodGlwdXMgJWQpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA2Cittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDcKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTgKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBsYSB2ZXJzacOzIGRlbCBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc3IHN5cy11dGlscy9sb3NldHVwLmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgbHAuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIGNvbmZpZ3VyYXIgZWwgZGlzcG9zaXRpdSBsb29wXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBkaXNwb3NpdGl1IHBlciBhICVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInRvcm5hIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsb2dpY2FsIGJsb2NrIHNpemUiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0OSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY1OSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3NAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODggc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg1CisjLCBmdXp6eQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGVsIGRpc3Bvc2l0aXUgbG9vcCBlc3TDoCBlc3BlY2lmaWNhdCBkdWVzIHZlZ2FkZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorIywgZnV6enkKK21zZ2lkICJub25lIgorbXNnc3RyICJDYXAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZGVsIHNlY3RvciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAiYWNvbnNlZ3VlaXggbGEgbWlkYSBkZWwgc2VjdG9yIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBzZWN0b3IiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDIKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6Mzk5CisjLCBmdXp6eQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBkZXRlcm1pbmFyIGVsIGdlc3RvciBkZSBzZW55YWxzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSB3cml0ZV90YWJsZXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIlkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQzMyBzeXMtdXRpbHMvbHNjcHUuYzoxNDQzCisjLCBmdXp6eQorbXNnaWQgIk4iCittc2dzdHIgIk5DIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTc0MgorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDQKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTEKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTMKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE4CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgImNvbm5lY3RvciBuZnMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcnRpY2nDsyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorIywgZnV6enkKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNAorbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzOAorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MAorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQyCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDQKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NgorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ5IHN5cy11dGlscy9sc2NwdS5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICJBbnRpZ2Egc2l0dWFjacOzOlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0Cittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MAorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODIKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIkNpbGluZHJlcyBmw61zaWNzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiQ2lsaW5kcmVzIGbDrXNpY3MiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZGVsIHNlY3RvciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OAorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIlNlbnlhbGFkb3JzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA2CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworIywgZnV6enkKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTExCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTIKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAiY2xhdSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJOb20gZCd1c3VhcmkgaWzCt2xlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAicHJvcGlldGFyaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJ2ZXJzacOzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlByaW3DoHJpYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgInVzdWFyaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIGNydSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIk5vbSBkJ3VzdWFyaSBpbMK3bGVnYWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIsO6bHRpbWEgbW9kaWZpY2FjacOzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiTWFyY2EnbCBlbiDDunMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIk5vbWJyZSBkZSBjYXDDp2FscyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJtaXNzYXRnZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIm3DqXMgZW5sbMOgIGRlIGxhIHByaW1lcmEgbMOtbmlhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorIywgZnV6enkKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgImFjb25zZWd1ZWl4IGxhIG1pZGEgZGVsIGJsb2MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgImVzdGF0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgImNvbm5lY3RhdCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJkZXNjb25uZWN0YXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgImNhcCBvcmRyZT9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgInVzdWFyaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOb21icmUgZGUgc2VjdG9ycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKyJcbiIKKyJzZW1pZCBkZSBsYSBtYXRyaXUgZGVsIHNlbcOgZm9yPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIk5vbSBkJ3VzdWFyaSBpbMK3bGVnYWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkaXNwb3NpdGl1IGRlIGJsb2NzICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJkaXNwb3NpdGl1IGRlIGJsb2NzICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJJbnRyb2R1w691IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnM6ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiRm9ybWEgZCfDunM6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBpZCBbLXMgLXEgLW1dIDogZGV0YWxscyBzb2JyZSBlbHMgcmVjdXJzb3MgaWRlbnRpZmljYXRzIHBlciBsJ2lkZW50aWZpY2Fkb3JcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlIGxhIG1lbcOycmlhIGNvbXBhcnRpZGEgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIk5vbWJyZSBkZSBzZWN0b3JzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIk5vbWJyZSBkZSBzZWN0b3JzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJtw6B4LiBzZW3DoGZvcnMgcGVyIG1hdHJpdSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2CisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgInZhbG9yIG3DoHhpbSBkZWwgc2Vtw6Bmb3IgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJOb21icmUgZGUgY2Fww6dhbHMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIm1pZGEgbcOgeC4gZGVsIG1pc3NhdGdlIChvY3RldHMpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc1CisjLCBmdXp6eQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAibWlkYSBtw6B4LiBwZXIgZGVmZWN0ZSBkZSBsYSBjdWEgKG9jdGV0cykgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTkwIHN5cy11dGlscy9sc2lwYy5jOjEwMTUKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGUgbGEgbWVtw7JyaWEgY29tcGFydGlkYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDczCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlIGxhIG1lbcOycmlhIGNvbXBhcnRpZGEgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibWlkYSBtw6B4LiBkZWwgbWlzc2F0Z2UgKG9jdGV0cykgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJtaWRhIG3DoHguIGRlbCBtaXNzYXRnZSAob2N0ZXRzKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIzOQorIywgZnV6enkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiJXM6IExlcyBvcGNpb25zIC0tYWRqdXN0IGkgLS1ub2FkamZpbGUgcydleGNsb3VlbiBtw7p0dWFtZW50LiBMZXMgaGV1IGVzcGVjaWZpY2F0IHRvdGVzIGR1ZXMuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGF0wrsgYWwgY2Ftw61cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMQorIywgZnV6enkKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICIgZXh0cmHDr2JsZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMyCittc2dpZCAibWVtb3J5IGJsb2NrIG51bWJlciBvciBibG9ja3MgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm51bWEgbm9kZSBvZiBtZW1vcnkiCittc2dzdHIgIm5vIGhpIGhhIHByb3UgbWVtw7JyaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorIywgZnV6enkKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAib25saW5lIgorbXNnc3RyICIsIGVuIGzDrW5pYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiwgZW4gbMOtbmlhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjMKK21zZ2lkICJvbi0+b2ZmIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiTWVtb3J5IGJsb2NrIHNpemU6IgorbXNnc3RyICJhY29uc2VndWVpeCBsYSBtaWRhIGRlbCBibG9jIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjMgc3lzLXV0aWxzL2xzbWVtLmM6MzMzCisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9ubGluZSBtZW1vcnk6IgorbXNnc3RyICJubyBoaSBoYSBwcm91IG1lbcOycmlhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAibm8gaGkgaGEgcHJvdSBtZW3DsnJpYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorIywgZnV6enkKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgIiVzOiBsJ3VzdWFyaSBcIiVzXCIgbm8gZXhpc3RlaXguXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ5OQorbXNnaWQgIkxpc3QgdGhlIHJhbmdlcyBvZiBhdmFpbGFibGUgbWVtb3J5IHdpdGggdGhlaXIgb25saW5lIHN0YXR1cy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIGxpc3QgZWFjaCBpbmRpdmlkdWFsIG1lbW9yeSBibG9ja1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9Y2FkZW5hX29wY2lvbnMgT3BjaW9ucyBjdXJ0ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTAKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgdXNlIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTExCittc2dpZCAiICAgICAtLXN1bW1hcnlbPXdoZW5dIHByaW50IHN1bW1hcnkgaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBvciBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYxOAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXN1bW1hcnkgYXJndW1lbnQiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5OQorbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwCittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIMKrc3RhdMK7IGFsIGNhbcOtXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDYKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNworbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDgKK21zZ2lkICJuYW1lc3BhY2UgSUQgYXMgdXNlZCBieSBuZXR3b3JrIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiTm8gZXMgcG90IGVzdGFibGlyIGVsIHJlbGxvdGdlIGRlbCBzaXN0ZW1hLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwNQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOQorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIm5vIGVzIHJlY29uZWl4IGVsIHRpcHVzIGRlIGxhIGZvbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNAorIywgZnV6enkKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6IG5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBmZXIgYWl4w7IiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiBub23DqXMgbCd1c3Vhcmkgcm9vdCBwb3QgZmVyIGFpeMOyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIm1vdW50OiBub23DqXMgbCd1c3Vhcmkgcm9vdCBwb3QgbXVudGFyICVzIGEgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJtb3VudDogbm9tw6lzIGwndXN1YXJpIHJvb3QgcG90IGZlciBhaXjDsiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODQgc3lzLXV0aWxzL3Vtb3VudC5jOjYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgZGVzIGRlICVzJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkxIHN5cy11dGlscy91bW91bnQuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAibW91bnQ6ICVzIGphIGVzdMOgIG11bnRhdCBhICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBubyBzJ2hhIHRyb2JhdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogbm8gcydoYSB0cm9iYXQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgImRpc2M6ICUuKnNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTJ2VzdMOgIGZvcsOnYW50IGxhIGNvbXByb3ZhY2nDsyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgIFsgLWZpbGUgbm9tX2ZpdHhlcl9ib2xjYXQgXVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJIZXUgZXNwZWNpZmljYXQgbcOpcyBjaWxpbmRyZXMgZGVscyBxdWUgY2FiZW4gYWwgZGlzYyIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIG5vIMOpcyB1biBkaXJlY3RvcmkiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgZXN0w6AgbXVudGF0Llx0ICIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MyBzeXMtdXRpbHMvc2V0YXJjaC5jOjkyIHN5cy11dGlscy91bnNoYXJlLmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgcHJvZ3JhbWEgW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWxzIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAiSGV1IGVzcGVjaWZpY2F0IG3DqXMgY2lsaW5kcmVzIGRlbHMgcXVlIGNhYmVuIGFsIGRpc2MiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgInNlbcOgZm9ycyBhc3NpZ25hdHMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNhbnZpYXIgZWwgbW9kZSBkZSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDYxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyICVzIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM4CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTJ2VzdMOgIGZvcsOnYW50IGxhIGNvbXByb3ZhY2nDsyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAiU2VjdW5kw6ByaWEgRE9TIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIm1pZGEgZGUgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGluY29ycmVjdGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICIlbGQgYmxvY3NcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGVsIHByb2PDqXMgXCIlc1wiXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworIywgZnV6enkKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJnZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiTm9tIGQndXN1YXJpIGlswrdsZWdhbCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImRpc3Bvc2l0aXUgZGUgYmxvY3MgIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworIywgZnV6enkKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiVW5pdGF0cyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljaW9uczpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAib3BjaW9ucyBwZXJpbGxvc2VzOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIFByaW1lciAgICAgIMOabHRpbVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGxhIHZlcnNpw7MgZGVsIGdldG9wdCgxKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXNjcml1cmUgJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiUGFzc2EgZGUgcHJvYmVzOiAlaVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDEgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlczogJXMoJWkpOiBsw61uaWEgZGVsIG1hcGEgaW5jb3JyZWN0YVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIFwiX3N0ZXh0XCIgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIlcyBhZHJlw6dhIGRlbCBwZXJmaWwgZm9yYSBkZWwgcmFuZy4gRml0eGVyIGBtYXAnIGluY29ycmVjdGU/XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIkludHJvZHXDr3UgZWwgbm9tYnJlIGRlIGNpbGluZHJlczogIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3NAorbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkOiBwcmlvcml0YXQgYW50aWdhICVkLCBub3ZhIHByaW9yaXRhdCAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICIlczogT3JkcmUgZGVzY29uZWd1ZGE6ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAidmFsb3IgZCdleHBpcmFjacOzIGVycm9uaTogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl1IGRlc2NvbmVndXQiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgIlVuaXRhdCBkZSBkaXNjOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgImRpc3Bvc2l0aXUgZGUgYmxvY3MgIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBoYXJkd2FyZSBibG9jayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IG5vbi1ibG9ja2luZyAlcyIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICJibG9jYXQiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgImJsb2NhdCIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIlVuaXRhdCBkZSBkaXNjOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY5Cittc2dpZCAiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBjb21tYW5kIG5hbWVzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCwgZXhwbGFpbmluZworIy4gdGhlbSBhcyBhZGRpdGlvbmFsIGZpZWxkIGFmdGVyIGlkZW50aWZpZXIgaXMgZmluZSwgZm9yIGV4YW1wbGUKKyMuICoKKyMuIGxpc3QgICBbaWRlbnRpZmllcl0gICAobGlzdGEgW3Rhcmtlbm5lXSkKKyMuCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkyCittc2dpZCAiIGhlbHBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorIywgZnV6enkKK21zZ2lkICIgbGlzdCAgIFtpZGVudGlmaWVyXVxuIgorbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTUKKyMsIGZ1enp5Cittc2dpZCAiIGJsb2NrICAgaWRlbnRpZmllclxuIgorbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGdldHRpbWVvZmRheSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgInNlbcOgZm9ycyBhc3NpZ25hdHMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gdGFuY2FyIGVsIGZpdHhlclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJzZW3DoGZvcnMgYXNzaWduYXRzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGdldHRpbWVvZmRheSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICIgJXM6IG5vIHMnaGEgcG9ndXQgcmVjb27DqGl4ZXIgZWwgdGlwdXMgZGUgbGEgdGF1bGEgZGUgcGFydGljaW9uc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorIywgZnV6enkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVXNhbnQgJXMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIlVzYW50ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXM6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGxwLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJNaXNzYXRnZSBkZSAlc0AlcyBlbCAlcyBhIGxlcyAlcyAuLi4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJNaXNzYXRnZSBkZSAlc0AlcyBlbCAlcyBhIGxlcyAlcyAuLi4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICVzKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIHByb2dyYW1hIFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk4Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIgJXM6IG5vIHMnaGEgcG9ndXQgcmVjb27DqGl4ZXIgZWwgdGlwdXMgZGUgbGEgdGF1bGEgZGUgcGFydGljaW9uc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9idGVuaXIgZWwgdGVtcHMgZCdlc3BlcmEgcGVyIGEgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJNYXNzYSBhcmd1bWVudHMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzYwCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVjb27DqGl4ZXIgbCdlbnRyYWRhOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2OAorIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJNYXNzYSBhcmd1bWVudHMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiUydlc3TDoCBleGVjdXRhbnQgbCdvcmRyZSBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBwcm9ncmFtYSBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjYKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOAorIywgZnV6enkKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorIywgZnV6enkKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJOb21icmUgZGUgcGFydGljacOzIG5vIHbDoGxpZCBwZXIgYWwgdGlwdXMgYCVjJ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiQ2FwIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICJMw61uaWEgbWFzc2EgbGxhcmdhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJDYXAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW3Vuc3VwcG9ydGVkXSIKK21zZ3N0ciAiY2FwIG9yZHJlP1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIkxpbnV4IHRleHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGRpcmVjdG9yaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2MQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgImZvcm1hdCBubyByZWNvbmVndXQ7IHMnZXN0w6AgdXNhbnQgZWxzIHNlY3RvcnNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICLCqyVjwrsgbm8gZXN0w6AgcGVybcOocy5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCByZWNvbsOoaXhlciBsJ2VudHJhZGE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjA5Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTAKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk2Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTMKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MDcKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTE5Cittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTMyCittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2NQorIywgZnV6enkKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5ODUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIHByb2dyYW1hIFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FudmlhIGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgImJpZnVyY2FjacOzOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyBubyBleGlzdGVpeCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExNworIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXNjcml1cmUgbGEgcGFydGljacOzIGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICIlcyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJObyBzb3UgZWwgc3VwZXJ1c3VhcmkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzQKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICIgICBkICAgc3VwcmltZWl4IHVuYSBwYXJ0aWNpw7MiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworIywgZnV6enkKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGF0wrsgYWwgY2Ftw61cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciDCq3N0YXTCuyBhbCBjYW3DrVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJNYXJjYSdsIGVuIMO6cyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorIywgZnV6enkKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJzZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMQorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgInNlbnNlIGV0aXF1ZXRhLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiBTJ2VzdMOgIG9tZXRlbnQgZWwgZml0eGVyICVzIC0gc2VtYmxhIHF1ZSB0w6kgZm9yYXRzLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiJXMgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogb3BjacOzIGRlc2NvbmVndWRhIMKrLSVjwrtcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXNjcml1cmUgZWxzIG5vZGVzIGQnaWRlbnRpZmljYWNpw7MiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAtbCBbbyAtLWxpc3RdOiAgICAgICBNb3N0cmEgbGVzIHBhcnRpY2lvbnMgZGUgY2FkYSBkaXNwb3NpdGl1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGxhIHBhcnRpY2nDsyBhICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgZGlzcG9zaXRpdSBwZXIgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2OAorIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgImVsIG5vZGUgZCdpZGVudGlmaWNhY2nDsyBhcnJlbCBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgZGVzbXVudGFyICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm5hbWVpOiBubyBzJ2hhIHBvZ3V0IG9idGVuaXIgZWwgZGlyZWN0b3JpIGFjdHVhbCAtICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDkKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgZWwgZml0eGVyICclcyciCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMQorbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAyCittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAzCittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTMKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlczogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgbHAuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgImVycm9yIGRlIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAibCdlc3RhdCBkZSAlcyDDqXMgJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIG9jdXBhdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIGEgcHVudCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBmYWx0YSBwYXBlciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgZW4gbMOtbmlhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgZXJyb3IiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGZlciBmc3luYyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJlcnJvciBkZSBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgZXN0w6AgdXNhbnQgbGEgSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyBlc3TDoCB1c2FudCBlc2NydXRpbmlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICBsbGlzdGEgZWxzIHRpcHVzIGRlIHNpc3RlbWVzIGRlIGZpdHhlcnMgY29uZWd1dHMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyBlc3TDoCBtdW50YXQuXHQgIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjM0NgorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzEwIHN5cy11dGlscy91bW91bnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiUydlc3TDoCBmb3LDp2FudCBsYSBjb21wcm92YWNpw7MgZGVsIHNpc3RlbWEgZGUgZml0eGVycyBhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCByZWFub21lbmFyICVzIGEgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY2Cittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU0CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlczogTGVzIG9wY2lvbnMgLS1hZGp1c3QgaSAtLW5vYWRqZmlsZSBzJ2V4Y2xvdWVuIG3DunR1YW1lbnQuIExlcyBoZXUgZXNwZWNpZmljYXQgdG90ZXMgZHVlcy5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorIywgZnV6enkKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIlMnaGEgZXhjZWRpdCBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSBsJ2VudHJhZGEgYWwgY2FwIGRlICVkIHNlZ29ucy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJTJ2hhIGV4Y2VkaXQgZWwgdGVtcHMgZCdlc3BlcmEgcGVyIGEgbCdlbnRyYWRhIGFsIGNhcCBkZSAlZCBzZWdvbnMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdSBkZSBibG9jcyAiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiZXN0YXQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworIywgZnV6enkKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdSBkZXNjb25lZ3V0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCBkZXNjb25lZ3V0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAibG9vcDogbm8gcydoYSBwb2d1dCBvYnJpciBlbCBkaXNwb3NpdGl1ICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IHNlbnlhbCBkZXNjb25lZ3V0ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMCBzeXMtdXRpbHMvd2RjdGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzM0IHN5cy11dGlscy93ZGN0bC5jOjQwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCB0ZW1wcyBkJ2VzcGVyYSBwZXIgYSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIkhhbiB0cmFuc2NvcnJlZ3V0ICVkIHNlZ29ucyBkZXMgZGUgbCfDumx0aW0gYWp1c3RcbiIKK21zZ3N0clsxXSAiSGFuIHRyYW5zY29ycmVndXQgJWQgc2Vnb25zIGRlcyBkZSBsJ8O6bHRpbSBhanVzdFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciBhIHdyaXRlX3RhYmxlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1IHN5cy11dGlscy93ZGN0bC5jOjQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJXMgICUuNmYgc2Vnb25zXG4iCittc2dzdHJbMV0gIiVzICAlLjZmIHNlZ29uc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKKyMsIGZ1enp5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICJzJ2hhIGV4aGF1cml0IGVsIHRlbXBzIGQnZXNwZXJhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzIKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkRpc3Bvc2l0aXUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDgKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzacOzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXUgZGVzY29uZWd1dCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg1Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6IG1rZnMgWy1WXSBbLXQgdGlwdXNfc2lzLl9maXR4Ll0gW29wY2lvbnNfc2lzLl9maXR4Ll0gIGRpc3Bvc2l0aXUgW21pZGFdXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MQorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NHxsejRoY3xkZWZsYXRlfDg0MiAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1jYWRlbmFfb3BjaW9ucyBPcGNpb25zIGN1cnRlcyBhIHJlY29uw6hpeGVyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiICAgIC1TIyBbbyAtLXNlY3RvcnMgI106ICAgRXN0YWJsZWl4IGVsIG5vbWJyZSBkZSBzZWN0b3JzIHF1ZSBzJ3VzYXJhbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICIlczogTGVzIG9wY2lvbnMgLS1hZGp1c3QgaSAtLW5vYWRqZmlsZSBzJ2V4Y2xvdWVuIG3DunR1YW1lbnQuIExlcyBoZXUgZXNwZWNpZmljYXQgdG90ZXMgZHVlcy5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjEKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk0IHN5cy11dGlscy96cmFtY3RsLmM6NzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBleGVjdXRhciAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjYW52aWFyIGVsIG1vZGUgZGUgJXM6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCB0cm9iYXIgZWwgcHJvY8OpcyBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBleGVjdXRhciAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiVzIGRlICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoGxpZCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAidmVsb2NpdGF0IGluY29ycmVjdGE6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgIm1hc3NhIHZlbG9jaXRhdHMgYWx0ZXJuYXRpdmVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5vIGVzIHBvdCBvYnJpciBjb20gYSBlbnRyYWRhIGVzdMOgbmRhcmQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgY2Fyw6BjdGVyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIG5vIMOpcyB1biBkaXJlY3RvcmkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbm8gZXMgcG90IG9icmlyIGNvbSBhIGVudHJhZGEgZXN0w6BuZGFyZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IG5vIHMnaGEgb2JlcnQgcGVyIGEgbGVjdHVyYS9lc2NyaXB0dXJhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBwcm9jw6lzIFwiJXNcIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IHByb2JsZW1hIGRlIGR1cDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIm5vIGVzIHBvdCBvYnRlbmlyIGxhIG1pZGEgZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICJubyBlcyBwb3Qgb2J0ZW5pciBsYSBtaWRhIGRlICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgInRpcHVzOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogbGVjdHVyYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IGRlc2JvcmRhbWVudCBkZSBsJ2VudHJhZGEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAibm8gZXMgcG90IG9idGVuaXIgbGEgbWlkYSBkZSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMAorbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMworIywgZnV6enkKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9aW50w6hycHJldF9vcmRyZXMgRXN0YWJsZWl4IGVscyBtYXRlaXhvcyBjb252ZW5pcyBxdWFudCBhIGxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21ldGVzIHF1ZSBsJ2ludGVycHJldCBkJ29yZHJlcyBpbmRpY2F0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MAorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQzCittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NAorbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDUKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPW9wY19sbGFyZyAgIE9wY2lvbnMgbGxhcmd1ZXMgYSByZWNvbsOoaXhlclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGEgbGEgcGFudGFsbGEgbyBlbiB1biBmaXR4ZXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIE5vIGVzY3JpZ3VlcyByZWFsbWVudCBhbCBkaXNjIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgIC1UIFtvIC0tbGlzdC10eXBlc106IExsaXN0YSBlbHMgdGlwdXMgZGUgcGFydGljaW9ucyBjb25lZ3VkZXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gInVzdWFyaSIKK21zZ3N0clsxXSAidXN1YXJpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJubyBzJ2hhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU5Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorIywgZnV6enkKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjIEZJWE1FICd5JyB1bnRyYW5zbGF0ZWFibGU/CisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiw6lzIHlcbiIKKworIyBGSVhNRSAnbicgdW50cmFuc2xhdGVhYmxlPworIzogdGVybS11dGlscy9tZXNnLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImlzIG4iCittc2dzdHIgIsOpcyBuXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjQKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjcKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJBdsOtczogwqslc8K7IMOpcyB1biBlbmxsYcOnLlxuIgorIlVzZXUgwqslcyBbb3BjaW9uc10gJXPCuyBzaSByZWFsbWVudCBkZXNpdGdldSB1c2FyLWxvLlxuIgorIk5vIHMnaGEgZXhlY3V0YXQgc2NyaXB0LlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTJ2hhIGZldCBsYSBzZXHDvMOobmNpYSwgZWwgZml0eGVyIMOpcyAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBkaXNwb3NpdGl1IHBlciBhICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIlMnaGEgaW5pY2lhdCBsJ2V4ZWN1Y2nDsyBkZSBzY3JpcHQgYSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiUydoYSBmaW5hbGl0emF0IGwnZXhlY3VjacOzIGRlIHNjcmlwdCBhICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzOQorIywgZnV6enkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgb3BlbnB0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworIywgZnV6enkKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIk5vIHF1ZWRlbiBwdHlcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiUydoYSBpbmljaWF0IGwnZXhlY3VjacOzIGRlIHNjcmlwdCwgZWwgZml0eGVyIMOpcyAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDgKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUxCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXIgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAibcOgeC4gbm9tYnJlIGRlIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIiVzOiBObyBzJ2VzcGVyYXZhIEVPRiBlbiBlbCBmaXR4ZXIgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MgorbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NQorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorIywgZnV6enkKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKKyMsIGZ1enp5Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAgWyAtaGFsZi1icmlnaHQgW29ufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworIywgZnV6enkKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgbGEgdmVyc2nDsyBkZWwgZ2V0b3B0KDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBsYSB2ZXJzacOzIGRlbCBnZXRvcHQoMSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAgWyAtcG93ZXJzYXZlIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIFByaW1lciAgICAgIMOabHRpbVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhciIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NTEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIHBlciBhIGVzY3JpcHR1cmEgZWwgZGlzcG9zaXRpdSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiVzOiBsJ3VzdWFyaSBcIiVzXCIgbm8gZXhpc3RlaXguXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworIywgZnV6enkKK21zZ2lkICJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIgorbXNnc3RyICJTJ2hhIHJlZnVzYXQgbCdlbnRyYWRhIGRlICVzIGVuIGFxdWVzdCB0ZXJtaW5hbC5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGhhIGZhbGxhdCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAibm8gZXMgcG90IChkZXMpYWN0aXZhciBlbCBtb2RlIGQnZXN0YWx2aSBkJ2VuZXJnaWFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgYSBrbG9nY3RsOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTQ2CisjLCBmdXp6eQorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJXM6ICRURVJNIG5vIGVzdMOgIGRlZmluaXQuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTMKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IHNlbnlhbCBkZXNjb25lZ3V0ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgImVycm9yIGludGVybiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJsYSBsw61uaWEgZCdhcmd1bWVudHMgw6lzIG1hc3NhIGxsYXJnYSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBvcGVucHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiYmlmdXJjYWNpw7M6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBiaWZ1cmNhciIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm8gZXMgcG9zYXLDoCBsYSBzb3J0aWRhIGVudHJlIGNvbWV0ZXNcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlYzogb3JkcmUgZGVzY29uZWd1ZGFcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjEzCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgInZhbG9yIGQnZXhwaXJhY2nDsyBlcnJvbmk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhIGRlbCBkaXNjIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiTWlzc2F0Z2UgZGUgZGlmdXNpw7MgZGUgJXNAJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiBubyBlcyBsbGVnaXLDoCBkZSAlczsgcyd1dGlsaXR6YXLDoCBsJ2VudHJhZGEgZXN0w6BuZGFyZC5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICJmb3JtYSBkJ8O6czogbmFtZWkgWy1teF0gY2Ftw60gW2NhbcOtIC4uLl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICJ3cml0ZTogJXMgbm8gZXN0w6AgY29ubmVjdGF0XG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIndyaXRlOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBub20gZGUgbGEgdm9zdHJhIHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIndyaXRlOiAlcyB0w6kgZWxzIG1pc3NhdGdlcyBpbmhhYmlsaXRhdHNcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICJ3cml0ZTogJXMgZXN0w6AgY29ubmVjdGF0IG3DqXMgZCd1bmEgdmVnYWRhOyBzJ2VzdMOgIGVzY3JpdmludCBhICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJsJ2Fzc2lnbmFjacOzIGRlIG1lbcOycmlhIChtYWxsb2MpIGhhIGZhbGxhdCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWlzc2F0Z2UgZGUgJXNAJXMgKGNvbSBhICVzKSBlbCAlcyBhIGxlcyAlcyAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNaXNzYXRnZSBkZSAlc0AlcyBlbCAlcyBhIGxlcyAlcyAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKKyMsIGZ1enp5Cittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ3cml0ZTogdGVuaXUgZWwgcGVybcOtcyBkJ2VzY3JpcHR1cmEgZGVzYWN0aXZhdC5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIG5vIGhhIGVudHJhdCBhICVzLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIndyaXRlOiAlcyB0w6kgZWxzIG1pc3NhdGdlcyBpbmhhYmlsaXRhdHMgYSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBhcmd1bWVudCAtbCBpbmNvcnJlY3RlICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImNvbDogYXbDrXM6IG5vIHMnaGEgcG9ndXQgZmVyIGxhIGPDsnBpYSBkZSBzZWd1cmV0YXQgZGUgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJtw6lzIGVubGzDoCBkZSBsYSBwcmltZXJhIGzDrW5pYSIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0gbMOtbmlhIGphIGVzdMOgIGJ1aWRhIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjUKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IGFyZ3VtZW50IC1sIGluY29ycmVjdGUgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IGFyZ3VtZW50IC1sIGluY29ycmVjdGUgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IHRyb2JhciAlcyBhICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1vcmRlciBsaXN0IgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXRydW5jIGxpc3QiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1ub2V4dHJlbWUgbGlzdCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLWhpZGUgbGlzdCIKK21zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJXp1OiBmb3IgSlNPTiB0aGUgbmFtZSBvZiB0aGUgY29sdW1uICV6dSBpcyByZXF1aXJlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGRhdGEiCittc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAgLW4sIC0tbmFtZT1ub21fcHJvZ3JhbWEgICAgICBFbCBub20gYW1iIGVsIHF1ZSBzJ2luZm9ybWEgZGVscyBlcnJvcnNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBObyBoaSBoYSBzb3J0aWRhIG5vcm1hbFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworIywgZnV6enkKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBObyBlcyBwb3NhcsOgIGxhIHNvcnRpZGEgZW50cmUgY29tZXRlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MAorbXNnaWQgIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCBmb3IgdGFibGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS10cmVlIDxjb2x1bW4+ICAgICAgICAgICAgICBjb2x1bW4gdG8gdXNlIHRyZWUtbGlrZSBvdXRwdXQgZm9yIHRoZSB0YWJsZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTUKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW1uPiAgICAgICBwYXJlbnQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiICAgIC1IIyBbbyAtLWhlYWRzICNdOiAgICAgRXN0YWJsZWl4IGVsIG5vbWJyZSBkZSBjYXDDp2FscyBxdWUgcyd1c2FyYW4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vdXRwdXQtd2lkdGggPHdpZHRoPiAgICAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWNhZGVuYV9vcGNpb25zIE9wY2lvbnMgY3VydGVzIGEgcmVjb27DqGl4ZXJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjAKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJtw6B4LiBub21icmUgZGUgc2VnbWVudHMgPSAlbHVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogbm9tYnJlIHRvdGFsIGQnb2N0ZXRzIGluY29ycmVjdGUgcGVyIGFsIGNhcsOgY3RlciBkZSBjb252ZXJzacOzICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiaGV4ZHVtcDogJSVzIHJlcXVlcmVpeCB1biB2YWxvciBkZSBwcmVjaXNpw7MgbyB1biBub21icmUgdG90YWwgZCdvY3RldHMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImhleGR1bXA6IGZvcm1hdCBpbmNvcnJlY3RlIHslc31cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJoZXhkdW1wOiBjYXLDoGN0ZXIgZGUgY29udmVyc2nDsyAlJSVzIGluY29ycmVjdGUuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJoZXhkdW1wOiBub21icmUgdG90YWwgZCdvY3RldHMgYW1iIGRpdmVyc29zIGNhcsOgY3RlcnMgZGUgY29udmVyc2nDsy5cbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgTm8gZXNjcmlndWVzIHJlYWxtZW50IGFsIGRpc2MiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorIywgZnV6enkKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyBhIGxhIHBhbnRhbGxhIG8gZW4gdW4gZml0eGVyIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICJJbnRyb2R1w691IGVsIG5vbWJyZSBkZSBjaWxpbmRyZXM6ICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICIlczogb3BjacOzIGRlc2NvbmVndWRhIMKrLSVjwrtcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3JpICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiogJXM6IE5vIMOpcyB1biBmaXR4ZXIgZGUgdGV4dCAqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW1VzZXUgcSBvIFEgcGVyIGEgc29ydGlyXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLU3DqXMtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbUHJlbWV1IGxhIGJhcnJhIGVzcGFpYWRvcmEgcGVyIGNvbnRpbnVhcjsgwqtxwrsgcGVyIGEgc29ydGlyLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4ucmV0cm9jZWRlaXggJWQgcMOgZ2luZXMiCittc2dzdHJbMV0gIi4uLnJldHJvY2VkZWl4ICVkIHDDoGdpbmVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4ucydlc3TDoCBvbWV0ZW50ICVkIGzDrW5pZXMiCittc2dzdHJbMV0gIi4uLnMnZXN0w6Agb21ldGVudCAlZCBsw61uaWVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKkVuZGFycmVyYSoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjg0CisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsJ2V4cHJlc3Npw7MgcmVndWxhciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJMYSBtYWpvcmlhIGRlIGxlcyBvcmRyZXMgc8OzbiBwcmVjZWRpZGVzIG9wY2lvbmFsbWVudCBwZXIgdW4gYXJndW1lbnQgayBlbnRlci4gRWxzIHZhbG9ycyBwZXIgZGVmZWN0ZSBlc3RhbiBlbnRyZSBwYXLDqG50ZXNpLlxuIgorIkwnYXN0ZXJpc2MgKCopIGluZGljYSBxdWUgbCdhcmd1bWVudCBlc2RldsOpIGVsIG5vdSB2YWxvciBwZXIgZGVmZWN0ZS5cbiIKKworIyBhLmI6IEZhbHRhIGFycmFuamFyIGFpeMOyIGRlICJrdGgiCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPGVzcGFpPiAgICAgICAgICAgICAgICAgTW9zdHJhIGxlcyBzZWfDvGVudHMgayBsw61uaWVzIGRlIHRleHQgW2xhIG1pZGEgZGUgbGEgcGFudGFsbGFdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgTW9zdHJhIGxlcyBzZWfDvGVudHMgayBsw61uaWVzIGRlIHRleHQgW2xhIG1pZGEgZGUgbGEgcGFudGFsbGFdKlxuIgorIjxpbnRybz4gICAgICAgICAgICAgICAgIE1vc3RyYSBsZXMgc2Vnw7xlbnRzIGsgbMOtbmllcyBkZSB0ZXh0IFsxXSpcbiIKKyJkIG8gY3RybC1EICAgICAgICAgICAgICBEZXNwbGHDp2EgayBsw61uaWVzIFthY3R1YWxtZW50IHPDs24gMTFdKlxuIgorInEgbyBRIG8gPGludGVycnVwY2nDsz4gICBTdXJ0IGRlIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTYWx0YSBlbmRhdmFudCBrIGzDrW5pZXMgZGUgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTYWx0YSBlbmRhdmFudCBrIHBhbnRhbGxlcyBkZSB0ZXh0IFsxXVxuIgorImIgbyBjdHJsLUIgICAgICAgICAgICAgIFNhbHRhIGVuZGFycmVyYSBrIHBhbnRhbGxlcyBkZSB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIFZhIGEgb24gdmEgY29tZW7Dp2FyIGwnYW50ZXJpb3IgcmVjZXJjYVxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIE1vc3RyYSBlbCBuw7ptZXJvIGRlIGxhIGzDrW5pYSBhY3R1YWxcbiIKKyIvPGV4cHJlc3Npw7MgcmVndWxhcj4gICAgQ2VyY2EgbCdvY3VycsOobmNpYSBrLWVuw6hzc2ltYSBkZSBsJ2V4cC5yZWcuIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIENlcmNhIGwnb2N1cnLDqG5jaWEgay1lbsOoc3NpbWEgZGUgbCfDumx0aW1hIGV4cC5yZWcuIFsxXVxuIgorIiE8Y21kPiBvIDohPGNtZD4gICAgICAgIEV4ZWN1dGEgPGNtZD4gZW4gdW4gYWx0cmUgaW50w6hycHJldCBkJ29yZHJlc1xuIgorInYgICAgICAgICAgICAgICAgICAgICAgIEVuZ2VnYSAvdXNyL2Jpbi92aSBhIGxhIGzDrW5pYSBhY3R1YWxcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRpYnVpeGEgbGEgcGFudGFsbGFcbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBWw6lzIGFsIGstZW7DqHNzaW0gZml0eGVyIHNlZ8O8ZW50IFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIFbDqXMgYWwgay1lbsOoc3NpbSBmaXR4ZXIgYW50ZXJpb3IgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgTW9zdHJhIGVsIG5vbSBkZWwgZml0eGVyIGkgZWwgbsO6bWVybyBkZSBsw61uaWFcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBldGVpeCBsJ29yZHJlIGFudGVyaW9yXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1ByZW1ldSDCq2jCuyBwZXIgYSBsZXMgaW5zdHJ1Y2Npb25zLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIlwiJXNcIiBsw61uaWEgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltObyDDqXMgdW4gZml0eGVyXSBsw61uaWEgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgRGVzYm9yZGFtZW50XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5zJ2VzdMOgIG9tZXRlbnRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiTm8gcydoYSB0cm9iYXQgZWwgcGF0csOzXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiTm8gcydoYSB0cm9iYXQgZWwgcGF0csOzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciBleGVjXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NjYKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5TJ2VzdMOgIG9tZXRlbnQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4ucydlc3TDoCBzYWx0YW50IGFsIGZpdHhlciAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDYKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi5TJ2VzdMOgIHJldHJvY2VkaW50IGFsIGZpdHhlciAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJMw61uaWEgbWFzc2EgbGxhcmdhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIG9yZHJlIHByw6h2aWEgYSBzdWJzdGl0dWlyIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBObyBlc2NyaWd1ZXMgcmVhbG1lbnQgYWwgZGlzYyIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIiVzOiBsJ29wY2nDsyByZXF1ZXJlaXggdW4gYXJndW1lbnQgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiBvcGNpw7MgaWzCt2xlZ2FsIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLnMnZXN0w6Agc2FsdGFudCBlbmRhdmFudFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiLi4ucydlc3TDoCBzYWx0YW50IGVuZGFycmVyYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg1Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJObyBoaSBoYSBjYXAgZml0eGVyIHNlZ8O8ZW50IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiTm8gaGkgaGEgY2FwIGZpdHhlciBhbnRlcmlvciIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIiVzOiBTJ2hhIHByb2R1w690IHVuIGVycm9yIGRlIGxlY3R1cmEgZW4gZWwgZml0eGVyICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIiVzOiBObyBzJ2VzcGVyYXZhIEVPRiBlbiBlbCBmaXR4ZXIgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogUydoYSBwcm9kdcOvdCB1biBlcnJvciBkZXNjb25lZ3V0IGVuIGVsIGZpdHhlciAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBObyBlcyBwb3QgY2VyYXIgZWwgZml0eGVyIHRlbXBvcmFsXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTggdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJFcnJvciBSRToiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTA1Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihFT0YpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEzMCB0ZXh0LXV0aWxzL3BnLmM6MTE1NgorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiTm8gZXMgcmVjb3JkYSBsYSBjYWRlbmEgZGUgY2VyY2EiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICJzJ2hhIGRlc2F0IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiBubyBlcyBwZXJtZXQgIW9yZHJlIGVuIGVsIG1vZGUgcmZsYWcuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzg3Cittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGZvcmsoKSwgcHJvdmV1LWhvIG3DqXMgZW5kYXZhbnRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NzUKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihGaXR4ZXIgc2Vnw7xlbnQ6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU5NCB0ZXh0LXV0aWxzL3BnLmM6MTY2NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJoaSBoYSBoYWd1dCB1biBwcm9ibGVtYSBlbiBsbGVnaXIgdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIlNlccO8w6huY2lhIGQnZXNjYXBhbWVudCBkZXNjb25lZ3VkYSBlbiBsJ2VudHJhZGE6ICVvLCAlb1xuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJMw61uaWEgZCdlbnRyYWRhIG1hc3NhIGxsYXJnYS5cbiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAibm8gaGEgZXN0YXQgcG9zc2libGUgZXhlY3V0YXIgaW9jdGwoKSBwZXIgbGxlZ2lyIGwnaG9yYSBkZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIFwic3RhdFwiIGFsIGRpc3Bvc2l0aXUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGFyZ3VtZW50IGRlc2NvbmVndXQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRlc3QgbW9kZTogJXMgd2FzIG5vdCB1cGRhdGVkIHdpdGg6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIk5vIHMnaGFuIGFjdHVhbGl0emF0IGVscyBwYXLDoG1ldHJlcyBkJ2FqdXN0YW1lbnQgZGVsIGRlc2Zhc2FtZW50LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRlc3QgbW9kZTogZXBvY2ggd2FzIG5vdCBzZXQgdG8gJXMuXG4iCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgwqtzdGF0wrsgYWwgY2Ftw61cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCisjfiBtc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIgYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCisjfiBtc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5ICclcyAtaCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkVzY29sbGl1IGBnZXRvcHQgLS1oZWxwJyBwZXIgb2J0ZW5pciBtw6lzIGluZm9ybWFjacOzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyBrbm93biBzaGVsbHMuIgorI34gbXNnc3RyICJObyBlcyBjb25laXggY2FwIGludMOocnByZXQgZCdvcmRyZXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICJPcmRyZXMgZGlzcG9uaWJsZXM6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogbmFtZWkgWy1teF0gY2Ftw60gW2NhbcOtIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCisjfiBtc2dzdHIgIk9yZHJlcyBkaXNwb25pYmxlczpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkVzY29sbGl1IGBnZXRvcHQgLS1oZWxwJyBwZXIgb2J0ZW5pciBtw6lzIGluZm9ybWFjacOzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKKyN+IG1zZ3N0ciAiRWxzIHJlZ2lzdHJlcyBkZWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSBjb250ZW5lbiB2YWxvcmVzIGludsOgbGlkcyAocC5leC4gZGlhIDUwIGRlbCBtZXMpIG8gZXhjZWRlaXhlbiBlbCByYW5nIHF1ZSBwb2RlbiB1c2FyIChwLmUuIGwnYW55IDIwOTUpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCisjfiBtc2dzdHIgIkVsIHJlbGxvdGdlIGRlIG1hcXVpbmFyaSBubyBjb250w6kgdW5hIGhvcmEgdsOgbGlkYSwgcGVsIHF1ZSBubyBlcyBwb3QgZXN0YWJsaXIgbCdob3JhIGRlbCBzaXN0ZW1hIGEgcGFydGlyIGQnYXF1ZXN0IHZhbG9yLlxuIgorCisjfiBtc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKyN+IG1zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworI34gbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorI34gbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKKyN+IG1zZ3N0ciAiSGV1IGRlIHNlciBlbCBzdXBlcnVzdWFyaSBwZXIgY29uZmlndXJhciByZWxsb3RnZSBkZWwgc2lzdGVtYS5cbiIKKworI34gbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgYWp1c3RhdCBlbCBmYWN0b3IgZGUgZGVzZmFzYW1lbnQgcGVycXXDqCBlbCByZWxsb3RnZSBkZWwgbWFxdWluYXJpIGNvbnRlbmlhIHZhbG9ycyBkZXNwcmVjaWFibGVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCisjfiBtc2dzdHIgIkVsIHJlbGxvdGplIGRlIG1hcXVpbmFyaSBubyBjb250w6kgdW5hIGhvcmEgdsOgbGlkYSwgaSBubyBlcyBwb3QgYWp1c3Rhci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJObyBlcyBwb3Qgb2J0ZW5pciBlbCB2YWxvciBkJ8OocG9jYSBkZWwgbnVjbGkuXG4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIkVsIG51Y2xpIGFzc3VtZWl4IHVuIHZhbG9yIGQnw6hwb2NhIGRlICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIlBlciBlc3RhYmxpciBlbCB2YWxvciBkJ8OocG9jYSwgaGF1cmV1IGQndXNhciBsJ29wY2nDsyAnZXBvY2gnIHBlciBhIGluZGljYXIgYSBxdWluIHZhbG9yIHMnaGEgZCdlc3RhYmxpci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJObyBzJ2VzdGFibGlyw6AgZWwgdmFsb3IgZGUgbCfDqHBvY2EgYSAgJWQgLSBub23DqXMgcydlc3TDoCBwcm92YW50LlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKKyN+IG1zZ3N0ciAiTm8gZXMgcG90IGVzdGFibGlyIGVsIHZhbG9yIGQnw6hwb2NhIGVuIGVsIG51Y2xpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCisjfiBtc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyN+IG1zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKKyN+IG1zZ3N0ciAiJXMgbm8gdMOpIGZ1bmNpb25zIGQnaW50ZXJydXBjacOzLiAgIgorCisjfiBtc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCisjfiBtc2dzdHIgIiIKKyN+ICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsKCkgYSAlcyBwZXIgYWN0aXZhciBsZXMgaW50ZXJydXBjaW9uc1xuIgorI34gImQnYWN0dWFsaXR6YWNpw7MsIGhhIGZhbGxhdCBpbmVzcGVyYWRhbWVudCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorI34gbXNnc3RyICJQZXIgYSBtb2RpZmljYXIgZWwgdmFsb3IgZGUgbCfDqHBvY2EgZGVsIG51Y2xpLCBoZXUgZCdhY2NlZGlyIGFsIGNvbnRyb2xhZG9yIGRlbCBkaXNwb3NpdGl1IMKrcnRjwrsgZGUgTGludXggbWl0amFuw6dhbnQgZWwgZml0eGVyIGVzcGVjaWFsIGRlIGRpc3Bvc2l0aXUgJXMuIEFxdWVzdCBmaXR4ZXIgbm8gZXhpc3RlaXggZW4gYXF1ZXN0IHNpc3RlbWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisjfiBtc2dzdHIgInMnaGEgbGxlZ2l0IGVsIHZhbG9yIGRlIGwnw6hwb2NhICVsZCBkZSAlcyBhbWIgaW9jdGwgUlRDX0VQT0NIX1JFQUQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKKyN+IG1zZ3N0ciAiRWwgdmFsb3IgZCfDqHBvY2Egbm8gcG90IHNlciBpbmZlcmlvciBhIDE5MDAuIEhldSBpbmRpY2F0ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAicydlc3TDoCBlc3RhYmxpbnQgbCfDqHBvY2EgYSAlbGQgYW1iIGlvY3RsIFJUQ19FUE9DSF9TRVQgYSAlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorI34gbXNnc3RyICJFbCBjb250cm9sYWRvciBkZSBkaXNwb3NpdGl1IGRlbCBudWNsaSBwZXIgYSAlcyBubyB0w6kgZWwgaW9jdGwgUlRDX0VQT0NIX1NFVC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJFc2NvbGxpdSBgZ2V0b3B0IC0taGVscCcgcGVyIG9idGVuaXIgbcOpcyBpbmZvcm1hY2nDsy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJFc2NvbGxpdSBgZ2V0b3B0IC0taGVscCcgcGVyIG9idGVuaXIgbcOpcyBpbmZvcm1hY2nDsy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorI34gbXNnc3RyICJPcmRyZXMgZGlzcG9uaWJsZXM6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbGEgbWVtw7JyaWEgdGVtcG9yYWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCisjfiBtc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjfiBtc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIkVsIHJlbGxvdGdlIG5vIHMnaGEgbW9kaWZpY2F0IC0gbm9tw6lzIHMnaGEgcHJvdmF0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiTm8gcydoYSBlc3BlY2lmaWNhdCBsJ29wY2nDsyAtLWRhdGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICJhcmd1bWVudCAtLWRhdGUgbWFzc2EgbGxhcmdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisjfiAiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVsIHZhbG9yIGRlIGwnb3BjacOzIC0tZGF0ZSBubyDDqXMgdW5hIGRhdGEgdsOgbGlkYS5cbiIKKyN+ICJFbiBjb25jcmV0LCBjb250w6kgY29tZXRlcy5cbiIKKworI34gbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorI34gbXNnc3RyICJTJ2VzdMOgIGV4ZWN1dGFudCBsJ29yZHJlIGRhdGU6ICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGVsIHByb2dyYW1hIMKrZGF0ZcK7IGVuIGwnaW50ZXJwcmV0IGQnb3JkcmVzIC9iaW4vc2guIHBvcGVuKCkgaGEgZmFsbGF0IgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJyZXNwb3N0YSBkZSBsJ29yZHJlIGRhdGUgPSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJMJ29yZHJlIGRhdGUgZXhlY3V0YWRhIHBlciAlcyBoYSByZXRvcm5hdCByZXN1bHRhdHMgaW5lc3BlcmF0cy5cbiIKKyN+ICJMJ29yZHJlIGVyYTpcbiIKKyN+ICIgICVzXG4iCisjfiAiTGEgcmVzcG9zdGEgaGEgZXN0YXQ6XG4iCisjfiAiICAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMJ29yZHJlIGRhdGUgZXhlY3V0YWRhIHBlciAlcyBubyBoYSB0b3JuYXQgY2FwIHZhbG9yIGVudGVyIHRvdCBpIHF1ZSBzJ2VzcGVyYXZhIGVsIHZhbG9yIGRlIGwnaG9yYSBjb252ZXJ0aWRhLlxuIgorI34gIkwnb3JkcmUgZXJhOlxuIgorI34gIiAgJXNcbiIKKyN+ICJMYSByZXNwb3N0YSBoYSBlc3RhdDpcbiIKKyN+ICIgJXNcbiIKKworI34gbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKKyN+IG1zZ3N0ciAibGEgY2FkZW5hIGRlIGxhIGRhdGEgJXMgZXF1aXZhbCBhICVsZCBzZWdvbnMgZGVzIGRlIDE5NjkuXG4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiTm8gcydlc3TDoCBjb25maWd1cmFudCBlbCByZWxsb3RnZSBkZWwgc2lzdGVtYSBwZXJxdcOoIHMnZXN0w6AgZXhlY3V0YW50IGVuIG1vZGUgZGUgcHJvdmEuXG4iCisKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICJObyBzJ2FjdHVhbGl0emFyw6AgZWwgZml0eGVyIGFkanRpbWUgcGVycXXDqCBzJ2V4ZWN1dGEgZW4gbW9kZSBkZSBwcm92YS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlMnaGF1cmlhIGVzY3JpdCBlbCBzZWfDvGVudCBhICVzOlxuIgorI34gIiVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorI34gIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyN+ICIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVsIG51Y2xpIG5vbcOpcyB0w6kgdW4gdmFsb3IgZCfDqHBvY2EgcGVyIGFsIHJlbGxvdGdlIGRlbCBtYXF1aW5hcmkgZW4gbGVzIG3DoHF1aW5lcyBBbHBoYS5cbiIKKyN+ICJBcXVlc3RhIGPDsnBpYSBkZSBod2Nsb2NrIGVzIHZhIGNvbXBpbGFyIHBlciBhIHVuYSBtw6BxdWluYSBubyBBbHBoYSAocGVsIHF1ZVxuIgorI34gInBvc3NpYmxlbWVudCBhcmEgbm8gcydleGVjdXRpIGVuIGNhcCBtw6BxdWluYSBBbHBoYSkuIE5vIHMnaGEgZXhlY3V0YXQgY2FwIGFjY2nDsy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisjfiAiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLS1qZW5zZW4sIC0tYXJjLCAtLXNybSwgLS1mdW5reS10b3lcbiIKKyN+ICIgICAgICAgICAgICAgICAgSW5kaWNhIGFsIFJUQyBlbCB0aXB1cyBkJ0FscGhhIHF1ZSB0ZW5pdSAodmVnZXUgaHdjbG9jayg4KSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiB1c2UgdGhlIEhhcmR3YXJlIENsb2NrLiIKKyN+IG1zZ3N0ciAiTm9tw6lzIGVsIHN1cGVydXN1YXJpIHBvdCBjYW52aWFyIGVsIHJlbGxvdGdlIGRlbCBtYXF1aW5hcmkuXG4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgbm8gYWRtZXQgYXJndW1lbnRzIHF1ZSBubyBzaWd1aW4gb3BjaW9ucy4gSGV1IGVzcGVjaWZpY2F0ICVkLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICJMJ2hvcmEgaW5kaWNhZGEgcGVyIGVzdGFibGlyIG5vIMOpcyB1c2FibGUuIE5vIHMnaGEgdG9jYXQgZWwgcmVsbG90Z2UuXG4iCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgInMnaGEgYXJyZW5jYXQgZGVzIGRlIE1JTE9cbiIKKworI34gbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCisjfiBtc2dzdHIgIlJlbGxvdGdlIEJDRCBSdWZmaWFuXG4iCisKKyN+IG1zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorI34gbXNnc3RyICJzJ2hhIGFqdXN0YXQgZWwgcG9ydCBkZWwgcmVsbG90Z2UgYSAweCV4XG4iCisKKyMgRklYTUU6IHdoYXQgdGhlIGhlY2sgaXMgdGhpcyBzdXBwb3NlZCB0byB0ZWxsPworI34gbXNnaWQgImZ1bmt5IFRPWSFcbiIKKyN+IG1zZ3N0ciAiZnVua3kgVE9ZIVxuIgorCisjIEZJWE1FOiBhdG9taWMgd2hhdD8KKyMsIGZ1enp5CisjfiBtc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKKyN+IG1zZ3N0ciAiJXM6IGNvbXByb3ZhY2nDsyBkZSAlcyBhdMOybWljIGhhIGZhbGxhdCBwZXIgMTAwMCBpdGVyYWNpb25zISIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBlbCBwZXJtw61zIHBlcnF1w6ggbm8gcydoYSBpbnRlbnRhdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKKyN+IG1zZ3N0ciAiJXMgbm8gcG90IGFjb25zZWd1aXIgbCdhY2PDqXMgYWwgcG9ydCBkJ0UvUzogbGEgY3JpZGEgaW9wbCgzKSBoYSBmYWxsYXQuXG4iCisKKyN+IG1zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCisjfiBtc2dzdHIgIlByb2JhYmxlbWVudCBuZWNlc3NpdGV1IHByaXZpbGVnaXMgZGUgcm9vdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBlbCBnZXN0b3IgZGUgc2VueWFscyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGRldGVybWluYXIgZWwgZ2VzdG9yIGRlIHNlbnlhbHMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBtdW50YXIgJXMgYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGVzdMOgIHByb3RlZ2l0IGNvbnRyYSBlc2NyaXB0dXJhOyBlcyBtdW50YXLDoCBlbiBub23DqXMgbGVjdHVyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBlbCB0aXB1cyBkZSBzaXN0ZW1hIGRlIGZpdHhlcnMgaSBubyBuJ2hldSBlc3BlY2lmaWNhdCBjYXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogaGF1cmV1IGQnZXNwZWNpZmljYXIgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIG11bnRhciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBqYSBlc3TDoCBtdW50YXQgYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBlbmNhcmEgbm8gZXN0w6AgbXVudGF0IG8gdW5hIG9wY2nDsyDDqXMgaW5jb3JyZWN0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAgRW4gYWxndW5zIGNhc29zLCBlcyBwb3QgdHJvYmFyIGluZm9ybWFjacOzIMO6dGlsIGEgc3lzbG9nLFxuIgorI34gIiAgICAgICAgcHJvdmV1IGRtZXNnIHwgdGFpbCBvIGFpeMOtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlY29uw6hpeGVyIGwnZW50cmFkYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBubyBzJ2hhIHRyb2JhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgY2lsaW5kcmVzOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKKyN+IG1zZ3N0ciAiZWwgbm9kZSBkJ2lkZW50aWZpY2FjacOzIGFycmVsIG5vIMOpcyB1biBkaXJlY3RvcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc2VjY29tcCBjb250ZXh0IgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIkludHJvZHXDr3UgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVyczogIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IEFyZ3VtZW50IGVycm9uaSwgZm9ybWEgZCfDunNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTMOtbmlhIGQnZW50cmFkYSBtYXNzYSBsbGFyZ2EuXG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgInZhbG9yIGQnZXhwaXJhY2nDsyBlcnJvbmk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiTm9tIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBubyBlcyB1biBkaXNwb3NpdGl1IGRlIGJsb2MgZXNwZWNpYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl1IG9jdXBhdCIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJVbml0YXQgQzogb2N1bHRhIGQnT1MvMiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXUgZGVzY29uZWd1dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyAgLiUwNmQgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlcyAgJS42ZiBzZWdvbnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAibWlzc2F0Z2VzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiUydoYSB0cm9iYXQgdW4gbm9tIGRlIGZpdHhlciAnJTIkcycgbW9sdCBsbGFyZyAoJTEkdSBvY3RldHMpLlxuIgorI34gIiBJbmNyZW1lbnRldSBNQVhfSU5QVVRfTkFNRUxFTiBhIG1rY3JhbWZzLmMgaSByZWNvbXBpbGV1LWxvLiBTJ2VzdMOgIHNvcnRpbnQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbWVtw7JyaWEgaW50ZXJtw6hkaWEgcGVyIGFscyBtYXBlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbWVtw7JyaWEgaW50ZXJtw6hkaWEgcGVyIGFscyBtYXBlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOdW1iZXIgb2YgU2VtYXBob3JlIElEcyIKKyN+IG1zZ3N0ciAiTm9tYnJlIGRlIHNlY3RvcnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFstYyB8IC1sIG5vbV9maXR4ZXJdIFstblhYXSBbLWlYWF0gL2Rldi9ub20gW2Jsb2NzXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAibWlkYSBkZSBub2RlIGQnaWRlbnRpZmljYWNpw7MgaW5jb3JyZWN0ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidGlwdXM6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAiZGlzYzogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZsYWdzOiAlcyIKKyN+IG1zZ3N0ciAic2VueWFsYWRvcnM6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJvY3RldHMgcGVyIHNlY3RvcjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWN0b3JzIHBlciBwaXN0YTogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInBpc3RlcyBwZXIgY2lsaW5kcmU6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2VjdG9ycyBwZXIgY2lsaW5kcmU6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjaWxpbmRyZXM6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInIucC5tLjogJWRcbiIKKworIyBGSVhNRQorIywgZnV6enkKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZCIKKyN+IG1zZ3N0ciAiZW50cmVsbGHDp2F0OiAlZFxuIgorCisjIEZJWE1FCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgImRlY2FsYXRnZTogJWRcbiIKKworIyBGSVhNRQorIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJkZWNhbGF0Z2UgZGVsIGNpbGluZHJlOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiY2FudmkgZGUgY2Fww6dhbDogJWxkXHRcdCMgbWlswrdsaXNlZ29uc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAicmVjZXJjYSBwaXN0YSBhIHBpc3RhOiAlbGRcdCMgbWlsaXNlZ29uc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJWQgcGFydGljaW9uczpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICIiCisjfiAiTm8gcG9kZXUgY29udmVydGlyIHVuYSBwYXJ0aWNpw7MgYSBlc3Rlc2EsIG8gYWwgcmV2w6lzLCBwcmltZXJcbiIKKyN+ICJjYWwgcXVlIGwnZXNib3JyZXUuXG4iCisKKyMgRklYTUUKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2MgJXMgKGV0aXF1ZXRhIGRlIGRpc2MgU0dJKTogJWQgY2Fww6dhbHMsICVkIHNlY3RvcnNcbiIKKyN+ICIlZCBjaWxpbmRyZXMsICVkIGNpbGluZHJlcyBmw61zaWNzXG4iCisjfiAiJWQgc2VjdG9ycyBwZXIgY2lsaW5kcmUgYWRkaWNpb25hbHMsIGVudHJlbGxhw6dhdCAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJVbml0YXRzID0gJXMgZGUgJWQgKiAlZCBvY3RldHNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIkNhcCIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGdldHRpbWVvZmRheSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgZnN5bmMiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IGxhc3QgWy0jXSBbLWYgZml0eGVyXSBbLXQgdHR5XSBbLWggbm9tX29yZGluYWRvcl0gW3VzdWFyaSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICBlbmNhcmEgdGVuaXUgdW5hIHNlc3Npw7MgZW4gZWwgc2lzdGVtYSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgY29tZW7Dp2EgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImludGVycm9tcHV0ICUxMC4xMHMgJTUuNXMgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICJpZCBpbnbDoGxpZCA6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICJOb23DqXMgZWwgc3VwZXJ1c3VhcmkgcG9ydCBjYW52aWFyIGVsIHJlbGxvdGdlIGRlbCBzaXN0ZW1hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIk5vbcOpcyBlbCBzdXBlcnVzdWFyaSBwb3QgY2FudmlhciBlbCB2YWxvciBkZSBsJ8OocG9jYSBkZWwgcmVsbG90Z2UgZGVsIG1hcXVpbmFyaSBlbiBlbCBudWNsaS5cbiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciByZWFkKCkgYSAlcyBwZXIgZXNwZXJhciBlbCB0aWMgZGVsIHJlbGxvdGdlLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgQXF1ZXN0YSBwZXRpdGEgZ3VpYSBkJ8O6c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsYSBpbmZvcm1hY2nDsyBkZSBsYSB2ZXJzacOzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTm8gaGkgaGEgc29ydGlkYSBub3JtYWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGEgaW5mb3JtYWNpw7MgZGUgbGEgdmVyc2nDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiUGFudGFsbGEgZCdhanVkYSBwZXIgYSBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiZGlzYyBkdXIuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgwqtub8K7IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJObyBoaSBoYW4gcGFydGljaW9ucyBkZWZpbmlkZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQbGVhc2UsIHNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGRpc2sgbGFiZWwuIgorI34gbXNnc3RyICJEZXNpdGdldSBjcmVhciB1bmEgZXRpcXVldGEgZGUgZGlzYz8gKHkvbikgIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlR5cGUgb2YgdGhlIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGxhIHBhcnRpY2nDsyAlZCBwZXIgJXggKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJMYSBtaWRhIGRlIGxhIGNhcMOnYWxlcmEgZCdpbnRlcmNhbnZpIMOpcyBlcnLDsm5pYSwgbm8gcydoYSBlc2NyaXQgY2FwIGV0aXF1ZXRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2VyY2FyIGEgJXMgLSBubyBlcyBwb3QgY2VyY2FyIGEgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhcjogcydlc3BlcmF2YSAweCUwOHglMDh4LCBzJ2hhIG9idGluZ3V0IDB4JTA4eCUwOHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGVycm9yIG9uICVzIC0gY2Fubm90IHJlYWQgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZGUgbGVjdHVyYSBhICVzIC0gbm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgc2VjdG9yICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGQnZXNjcmlwdHVyYSBhICVzIC0gbm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBzZWN0b3IgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciBlbCBzZWN0b3IgZGUgbGEgcGFydGljacOzIGRlbCBmaXR4ZXIgZGVzYXQgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGQnZXNjcmlwdHVyYSBhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHN0YXQgYWwgZml0eGVyIGRlIHJlc3RhdXJhY2nDsyBkZSBsYSBwYXJ0aWNpw7MgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJlbCBmaXR4ZXIgZGUgcmVzdGF1cmFjacOzIGRlIGxhIHBhcnRpY2nDsyB0w6kgdW5hIG1pZGEgaW5jb3JyZWN0YSAtIG5vIGVzIHJlc3RhdXJhcsOgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgZWwgZml0eGVyIGRlIHJlc3RhdXJhY2nDsyBkZSBsYSBwYXJ0aWNpw7MgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IG9icmlyIHBlciBhIGVzY3JpcHR1cmEgZWwgZGlzcG9zaXRpdSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBlc2NyaXVyZSBlbCBzZWN0b3IgJWx1IGVuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzYyAlczogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGxhIGdlb21ldHJpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzYyAlcyA6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBpbmljaT0lbHUgLSBzZW1ibGEgdW5hIHBhcnRpY2nDsyBpIG5vIHVuIGRpc2Mgc2VuY2VyLlxuIgorI34gIk5vIHTDqSBzZW50aXQgcXVlIGhpIGV4ZWN1dGV1IGZkaXNrLltVc2V1IGwnb3BjacOzIC0tZm9yY2Ugc2kgcmVhbG1lbnQgaG8gZGVzaXRnZXUuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJBdsOtczogSERJT19HRVRHRU8gaW5kaWNhIHF1ZSBoaSBoYSAlbHUgY2Fww6dhbHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJBdsOtczogSERJT19HRVRHRU8gaW5kaWNhIHF1ZSBoaSBoYSAlbHUgc2VjdG9yc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJBdsOtczogSERJT19HRVRHRU8gaW5kaWNhIHF1ZSBoaSBoYSAlbHUgY2lsaW5kcmVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAiQXbDrXM6IGVsIG5vbWJyZSBkZSBzZWN0b3JzIMOpcyBpbXByb2JhYmxlICglbHUpOyBub3JtYWxtZW50IGNvbSBhIG1vbHQgNjNcbiIKKyN+ICJBaXjDsiBkb25hcsOgIHByb2JsZW1lcyBhbWIgZWwgcHJvZ3JhbWFyaSBxdWUgdXNpIGFkcmVjZXMgQy9IL1NcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzOiAlbHUgY2lsaW5kcmVzLCAlbHUgY2Fww6dhbHMsICVsdSBzZWN0b3JzL3Bpc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRlIHBhcnRpY2nDsyAlcyB0w6kgdW4gdmFsb3IgaW1wb3NzaWJsZSBwZXIgYWwgY2Fww6dhbDogJWx1IChoYXVyaWEgZCdlc3RhciBlbnRyZSAwIGkgJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRlIHBhcnRpY2nDsyAlcyB0w6kgdW4gdmFsb3IgaW1wb3NzaWJsZSBwZXIgYWwgc2VjdG9yOiAlbHUgKGhhdXJpYSBkJ2VzdGFyIGVudHJlIDEgaSAlbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGUgcGFydGljacOzICVzIHTDqSB1biB2YWxvciBpbXBvc3NpYmxlIHBlciBhbHMgY2lsaW5kcmVzOiAlbHUgKGhhdXJpYSBkJ2VzdGFyIGVudHJlIDAgaSAlbHUpXG4iCisKKyN+IG1zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgLi4uXG4iCisjfiBtc2dzdHIgIlMnZXN0w6AgcmVsbGVnaW50IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIkwnb3JkcmUgcGVyIGEgdG9ybmFyIGEgbGxlZ2lyIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgaGEgZmFsbGF0XG4iCisjfiAiVG9ybmV1IGEgaW5pY2lhciBlbCBzaXN0ZW1hIGFyYSwgYWJhbnMgZCd1c2FyIG1rZnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBhcXVlc3RhIHBhcnRpY2nDsyBubyBleGlzdGVpeFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJmb3JtYXQgbm8gcmVjb25lZ3V0OyBzJ2VzdMOgIHVzYW50IGVscyBzZWN0b3JzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAiZm9ybWF0IG5vIGltcGxlbWVudGF0OyBzJ2VzdMOgIHVzYW50ICVzXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWN0b3JzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaXRhdHMgPSBjaWxpbmRyZXMgZGUgJWx1IG9jdGV0cywgYmxvY3MgZGUgMTAyNCBvY3RldHMsIGNvbnRhbnQgZGVzIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcC4gQXJyLiAgSW5pY2kgICAgIEZpbmFsICNjaWwuICAgICNibG9jcyAgICBJZCAgU2lzdGVtYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaXRhdHMgPSBzZWN0b3JzIGRlIDUxMiBvY3RldHMsIGNvbnRhbnQgZGVzIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwLiBBcnIgICAgICBJbmljaSAgICAgICBGaW5hbCAjc2VjdG9ycyAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0YXRzID0gYmxvY3MgZGUgMTAyNCBvY3RldHMsIGNvbnRhbnQgZGVzIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwLiBBcnIuICAgIEluaWNpICAgICAgIEZpbmFsICAgI2Jsb2NzICAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0YXRzID0gbWViaWJ5dGVzIGRlIDEwNDg1NzYgb2N0ZXRzLCBibG9jcyBkZSAxMDI0IG9jdGV0cywgY29tcHRhbnQgZGVzIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcC4gQXJyLiAgSW5pY2kgICBGaW5hbCAgTWlCICAgICNibG9jcyAgICBJZC4gc2lzdGVtYVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0Y29tZW7Dp2E6IChjaWwuLGNhcMOnLixzZWN0LikgZXNwZXJhdCAoJWxkLCVsZCwlbGQpIHRyb2JhdCAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0ZmluYWw6IChjaWwuLGNhcMOnLixzZWN0LikgZXNwZXJhdCAoJWxkLCVsZCwlbGQpIHRyb2JhdCAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgImxhIHBhcnRpY2nDsyBhY2FiYSBlbiBlbCBjaWxpbmRyZSAlbGQsIG3DqXMgZW5sbMOgIGRlbCBmaW5hbCBkZWwgZGlzY1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogTGEgdGF1bGEgZGUgcGFydGljaW9ucyBzZW1ibGEgaGF2ZXItc2UgY3JlYXRcbiIKKyN+ICIgIHBlciBhIEMvSC9TPSovJWxkLyVsZCAoZW4gY29tcHRlcyBkZSAlbGQvJWxkLyVsZCkuXG4iCisjfiAiUGVyIGEgYXF1ZXN0IGxsaXN0YXQgcydhc3N1bWlyw6AgYXF1ZXN0YSBnZW9tZXRyaWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQuIgorI34gbXNnc3RyICJubyBoaSBoYSBjYXAgdGF1bGEgZGUgcGFydGljaW9ucy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgIsOpcyBlc3RyYW55LCBub23DqXMgaGkgaGEgZGVmaW5pZGVzICVkIHBhcnRpY2lvbnMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgdMOpIHVuYSBtaWRhIDAgcGVyw7Igbm8gZXN0w6AgbWFyY2FkYSBjb20gYSBidWlkYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlcyB0w6kgdW5hIG1pZGEgMCBpIMOpcyBhcnJlbmNhYmxlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgdMOpIHVuYSBtaWRhIDAgaSBubyBjb21lbsOnYSBlbiB6ZXJvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJubyBlc3TDoCBjb250aW5ndXQgYSBkaW5zIGRlIGxhIHBhcnRpY2nDsyAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJWQgZXN0w6AgYnVpZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogbGEgcGFydGljacOzICVzIGNvbnTDqSBwYXJ0IGRlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnNcbiIKKyN+ICIoc2VjdG9yICVsdSkgaSBsYSBkZXN0cnVpcsOgIHF1YW4gcydvbXBsaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgY29tZW7Dp2EgZW4gZWwgc2VjdG9yIDBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVzIHMnZXh0w6luIG3DqXMgZW5sbMOgIGRlbCBmaW5hbCBkZWwgZGlzY1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eCkiCisjfiBtc2dzdHIgIiIKKyN+ICJFbnRyZSBsZXMgcGFydGljaW9ucyBwcmltw6ByaWVzLCBhbG1lbnlzIHVuYSBwb3Qgc2VyIGVzdGVzYVxuIgorI34gIiAoZW5jYXJhIHF1ZSBhaXjDsiBubyDDqXMgdW4gcHJvYmxlbWEgZW4gTGludXgpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgbm8gY29tZW7Dp2EgYWwgbMOtbWl0IGQndW4gY2lsaW5kcmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkF2w61zOiBsYSBwYXJ0aWNpw7MgJXMgbm8gYWNhYmEgYWwgbMOtbWl0IGQndW4gY2lsaW5kcmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBoaSBoYSBtw6lzIGQndW5hIHBhcnRpY2nDsyBwcmltw6ByaWEgbWFyY2FkYSBjb20gZCdhcnJlbmNhZGEgKGFjdGl2YSlcbiIKKyN+ICJBaXjDsiBubyDDqXMgcHJvYmxlbWEgcGVyIGFsIExJTE8sIHBlcsOyIGwnTUJSIGRlbCBET1Mgbm8gYXJyZW5jYXLDoCBhcXVlc3QgZGlzYy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBub3JtYWxtZW50IG5vbcOpcyBlcyBwb3QgYXJyZW5jYXIgZGVzIGRlIHBhcnRpY2lvbnMgcHJpbcOgcmllcy5cbiIKKyN+ICJFbCBMSUxPIG5vIHRpbmRyw6AgZW4gY29tcHRlIGVsIHNlbnlhbGFkb3IgZCfCq2FycmVuY2FkYcK7LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBubyBoaSBoYSBjYXAgcGFydGljacOzIHByaW3DoHJpYSBtYXJjYWRhIGNvbSBkJ2FycmVuY2FkYSAoYWN0aXZhKS5cbiIKKyN+ICJBaXjDsiBubyDDqXMgcHJvYmxlbWEgcGVyIGFsIExJTE8sIHBlcsOyIGVsIE1CUiBkZSBET1Mgbm8gYXJyZW5jYXLDoCBhcXVlc3QgZGlzYy5cbiIKKworI34gbXNnaWQgInN0YXJ0IgorI34gbXNnc3RyICJpbmljaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAicGFydGljacOzICVzOiBpbmljaTogKGNpbC4sY2Fww6cuLHNlY3QuKSBzJ2VzcGVyYXZhICglbGQsJWxkLCVsZCkgcydoYSB0cm9iYXQgKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJmaW5hbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpY2nDsyAlczogZmluYWw6IChjaWwuLGNhcMOnLixzZWN0Likgcydlc3BlcmF2YSAoJWxkLCVsZCwlbGQpIHMnaGEgdHJvYmF0ICglbGQsJWxkLCVsZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJMYSBwYXJ0aWNpw7MgJXMgYWNhYmEgZW4gZWwgY2lsaW5kcmUgJWxkLCBtw6lzIGVubGzDoCBkZWwgZmluYWwgZGVsIGRpc2NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkF2w61zOiBzJ2hhIGRlc3BsYcOnYXQgbCdpbmljaSBkZSBsYSBwYXJ0aWNpw7MgZXN0ZXNhIGRlICVsZCBhICVsZFxuIgorI34gIihOb23DqXMgcGVyIGFsIGxsaXN0YXQsIG5vIGVuIGNhbnZpYSBlbCBjb250aW5ndXQuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogbGEgcGFydGljacOzIGVzdGVzYSBubyBjb21lbsOnYSBhbCBsw61taXQgZCd1biBjaWxpbmRyZS5cbiIKKyN+ICJFbCBET1MgaSBMaW51eCBpbnRlcnByZXRhcmFuIGVsIGNvbnRpbmd1dCBkZSBtYW5lcmEgZGlmZXJlbnQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJFUlJPUjogZWwgc2VjdG9yICVsdSBubyB0w6kgY2FwIHNpZ25hdHVyYSBtc2Rvc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICJoaSBoYSBtYXNzYSBwYXJ0aWNpb25zIC0gcydpZ25vcmFyYW4gbGVzIHBvc3RlcmlvcnMgYSBsYTogKCVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgImwnYXJicmUgZGUgcGFydGljaW9ucz9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXRlY3RlZCBEaXNrIE1hbmFnZXIgLSB1bmFibGUgdG8gaGFuZGxlIHRoYXQiCisjfiBtc2dzdHIgInMnaGEgZGV0ZWN0YXQgZWwgZ2VzdG9yIGRlIGRpc2MgLSBubyBzJ2hhIHBvZ3V0IGdlc3Rpb25hclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRNNiBzaWduYXR1cmUgZm91bmQgLSBnaXZpbmcgdXAiCisjfiBtc2dzdHIgInMnaGEgdHJvYmF0IHVuYSBzaWduYXR1cmEgRE02IC0gcydlc3TDoCBkZWl4YW50IGPDsnJyZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiZXN0cmFueS4uLiwgdW5hIHBhcnRpY2nDsyBlc3Rlc2EgZGUgbWlkYSAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJlc3RyYW55Li4uLCB1bmEgcGFydGljacOzIEJTRCBkZSBtaWRhIDA/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAicydoYSBlc3BlY2lmaWNhdCBlbCBzZW55YWxhZG9yIC1uOiBObyBzJ2hhIGNhbnZpYXQgcmVzXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZGVzYXIgZWxzIHNlY3RvciBhbnRpY3MgLSBzJ2VzdMOgIGF2b3J0YW50XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc2NyaXVyZSBsYSBwYXJ0aWNpw7MgYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmciCisjfiBtc2dzdHIgImzDrW5pYSBkJ2VudHJhZGEgbGxhcmdhIG8gaW5jb21wbGV0YSAtIHMnZXN0w6Agc29ydGludFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbCdlbnRyYWRhOiBzJ2VzcGVyYXZhIGA9JyBkZXNwcsOpcyBkZWwgY2FtcCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsJ2VudHJhZGE6IG5vIHMnZXNwZXJhdmEgZWwgY2Fyw6BjdGVyICVjIGRlc3Byw6lzIGRlbCBjYW1wICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZWNvbsOoaXhlciBsJ2VudHJhZGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgImVsIG5vbWJyZSDDqXMgbWFzc2EgZ3JhblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyIgorI34gbXNnc3RyICJkYWRlcyBlc3RyYW55ZXMgZGVzcHLDqXMgZGVsIG5vbWJyZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJubyBoaSBoYSBlc3BhaSBwZXIgYWwgZGVzY3JpcHRvciBkZSBwYXJ0aWNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGNyZWFyIHVuYSBwYXJ0aWNpw7MgZXN0ZXNhIGFkanVudGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgImhpIGhhIG1hc3NhIGNhbXBzIGEgbCdlbnRyYWRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiTm8gcXVlZGEgbcOpcyBlc3BhaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiVGlwdXMgbm8gcGVybcOoc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiQXbDrXM6IGxhIG1pZGEgaW5kaWNhZGEgKCVsdSkgZXhjZWRlaXggbGEgbcOgeGltYSBhY2NlcHRhYmxlICglbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJBdsOtczogcGFydGljacOzIGJ1aWRhXG4iCisKKyMgRFVCVEUKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIkF2w61zOiBsJ2luaWNpIGRlIGxhIHBhcnRpY2nDsyBubyDDqXMgY29ycmVjdGUgKG3DrW5pbSAlbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHJlY29uw6hpeGVyIGVsIHNlbnlhbGFkb3IgZCdhcnJlbmNhZGEgLSBlc2NvbGxpdSAtIG8gKlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgImVzcGVjaWZpY2FjacOzIHBhcmNpYWwgZGUgYyxoLHM/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzIGVzdGVzYSBubyDDqXMgb24gcydlc3BlcmF2YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAiZW50cmFkYSBkb2xlbnRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiaGkgaGEgbWFzc2EgcGFydGljaW9uc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVudHJhZGEgZW4gZWwgc2Vnw7xlbnQgZm9ybWF0OyBlbHMgY2FtcHMgYWJzZW50cyBvYnRlbmVuIHVuIHZhbG9yIHBlciBkZWZlY3RlLlxuIgorI34gIjxpbmljaT4gPG1pZGE+IDx0aXB1cyBbRSxTLEwsWCxoZXhdPiA8YXJyZW5jYWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiTm9ybWFsbWVudCBub23DqXMgY2FsIGVzcGVjaWZpY2FyIDxpbmljaT4gaSA8bWlkYT4gKGkgcG90c2VyIDx0aXB1cz4pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAib3BjaW9ucyBwZXJpbGxvc2VzOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAtRyBbbyAtLXNob3ctcHQtZ2VvbWV0cnldOiBJbXByaW1laXggbGEgZ2VvbWV0cmlhIHF1ZSBzJ2hhIGVuZGV2aW5hdFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aXIgZGUgbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCBbbyAtLXNob3ctZXh0ZW5kZWRdOiAgVGFtYsOpIGxsaXN0YSBsZXMgcGFydGljaW9ucyBlc3Rlc2VzIGEgbGEgc29ydGlkYVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyBlbHMgZGVzY3JpcHRvcnMgZXNwZXJhdHMgZW4gbCdlbnRyYWRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiJXMgZGlzcG9zaXRpdVx0XHQgZW51bWVyYSBsZXMgcGFydGljaW9ucyBhY3RpdmVzIGRlbCBkaXNwb3NpdGl1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgbjEgbjIgLi4uICBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIlcyBkaXNwb3NpdGl1IG4xIG4yIC4uLiBhY3RpdmEgcGFydGljaW9ucyBuMSAuLi4sIGRlc2FjdGl2YSBsYSByZXN0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIk5vbWJyZSBpbnbDoGxpZDogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IHNmZGlzayAtLXByaW50LWlkIGRpc3Bvc2l0aXUgbsO6bWVyb19wYXJ0aWNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogc2ZkaXNrIC0tY2hhbmdlLWlkIGRpc3Bvc2l0aXUgbsO6bWVyb19wYXJ0aWNpw7MgSWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IHNmZGlzayAtLWlkIGRpc3Bvc2l0aXUgcGFydGljacOzX27Dum1lcm8gW0lkXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJub23DqXMgcG9kZXUgZXNwZWNpZmljYXIgdW4gZGlzcG9zaXRpdSAoZXhjZXB0ZSBhbWIgLWwgbyAtcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgJXMgcGVyIGEgbGVjdHVyYS1lc2NyaXB0dXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBvYnJpciAlcyBwZXIgYSBsZWN0dXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IE9LIgorI34gbXNnc3RyICIlczogQ29ycmVjdGVcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzIDogJWxkIGNpbGluZHJlcywgJWxkIGNhcMOnYWxzLCAlbGQgc2VjdG9ycy9waXN0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgIm9jdGV0IGFjdGl1IGluY29ycmVjdGU6IDB4JXggZW4gY29tcHRlcyBkZSAweDgwXG4iCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJGZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiVGVuaXUgJWQgcGFydGljaW9ucyBwcmltw6ByaWVzIGFjdGl2ZXMuIEFpeMOyIG5vIMOpcyBpbXBvcnRhbnQgcGVyIGFsIExJTE8sXG4iCisjfiAicGVyw7IgbCdNQlIgZGVsIERPUyBub23DqXMgcG90IGFycmVuY2FyIGRpc2NzIGFtYiB1bmEgcGFydGljacOzIGFjdGl2YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJsYSBwYXJ0aWNpw7MgJXMgdMOpIGwnaWRlbnRpZmljYWRvciAleCBpIG5vIGVzdMOgIG9jdWx0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIklkZW50aWZpY2Fkb3IgZG9sZW50ICVseFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAiQXF1ZXN0IGRpc2MgZXN0w6AgYWN0dWFsbWVudCBlbiDDunMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGZhdGFsOiBubyBzJ2hhIHBvZ3V0IHRyb2JhciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiQXbDrXM6ICVzIG5vIMOpcyB1biBkaXNwb3NpdGl1IGRlIGJsb2NzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIkNvcnJlY3RlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICJMYSBwYXJ0aWNpw7MgJWQgbm8gZXhpc3RlaXg7IG5vIHMnaGEgcG9ndXQgY2FudmlhclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJIGRvbid0IGxpa2UgdGhlc2UgcGFydGl0aW9ucyAtIG5vdGhpbmcgY2hhbmdlZC5cbiIKKyN+ICIoSWYgeW91IHJlYWxseSB3YW50IHRoaXMsIHVzZSB0aGUgLS1mb3JjZSBvcHRpb24uKSIKKyN+IG1zZ3N0ciAiIgorI34gIkFxdWVzdGVzIHBhcnRpY2lvbnMgbm8gZW0gc2VtYmxlbiBiw6kgLSBubyBzJ2hhIGNhbnZpYXQgcmVzLlxuIgorI34gIihTaSByZWFsbWVudCBkZXNpdGdldSBmZXIgYWl4w7IsIHVzZXUgbCdvcGNpw7MgLS1mb3JjZSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiTm8gZW0gc2VtYmxhIGLDqSAtIHByb2JhYmxlbWVudCBoYWd1ZXUgZGUgcmVzcG9uZHJlIE5vXG4iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiRXN0ZXUgc2F0aXNmZXQgYW1iIGFpeMOyPyBbeW5xXSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIlMnZXN0w6Agc29ydGludCAtIG5vIHMnaGEgY2FudmlhdCByZXNcbiIKKworIyBGSVhNRTogJ3knLCAnbicsICdxJy4gQXJlIHRoZXkgdHJhbnNsYXRhYmxlPworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIlJlc3Bvbmd1ZXUgYW1iIHVuYTogeSxuLHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlMnaGEgZXNjcml0IGNvcnJlY3RhbWVudCBsYSBub3ZhIHRhdWxhIGRlIHBhcnRpY2lvbnNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IGNyZWF0ZWQgb3IgY2hhbmdlZCBhIERPUyBwYXJ0aXRpb24sIC9kZXYvZm9vNywgc2F5LCB0aGVuIHVzZSBkZCgxKVxuIgorI34gInRvIHplcm8gdGhlIGZpcnN0IDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2VlIGZkaXNrKDgpLikiCisjfiBtc2dzdHIgIiIKKyN+ICJTaSBoZXUgY3JlYXQgbyBtb2RpZmljYXQgdW5hIHBhcnRpY2nDsyBET1MsIGNvbSAvZGV2L2ZvbzcsIHVzZXUgZGQoMSlcbiIKKyN+ICJwZXIgYSBwb3NhciBhIHplcm8gZWxzIHByaW1lcnMgNTEyIG9jdGV0czpcbiIKKyN+ICJcdGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoTWlyZXUgZmRpc2soOCkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBVEVOQ0nDkzogU2kgaGV1IGNyZWF0IG8gbW9kaWZpY2F0IGFsZ3VuYSBwYXJ0aWNpw7NcbiIKKyN+ICJET1MgNi54LCBjb25zdWx0ZXUgbGEgcMOgZ2luYSBkZWwgbWFudWFsIGRlIGNmZGlza1xuIgorI34gInBlciBhIGluZm9ybWFjacOzIGFkZGljaW9uYWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgImVsIGNhbXAgw6lzIG1hc3NhIGxsYXJnLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogJyVjJyBubyBlc3TDoCBwZXJtw6hzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIsKrJWPCuyBubyBlc3TDoCBwZXJtw6hzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogRWxzIGNhcsOgY3RlcnMgZGUgY29udHJvbCBubyBlc3RhbiBwZXJtZXNvcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJFbHMgY2Fyw6BjdGVycyBkZSBjb250cm9sIG5vIGVzdGFuIHBlcm1lc29zLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IG5vbcOpcyBlcyBwb2RlbiBtb2RpZmljYXIgZW50cmFkZXMgbG9jYWxzOyB1c2V1IHlwJXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIFByaW1lciAgICAgIMOabHRpbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgImwnYXNzaWduYWNpw7MgZGUgbWVtw7JyaWEgKG1hbGxvYykgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk5vIHMnaGEgZXNwZWNpZmljYXQgbCdvcGNpw7MgLS1kYXRlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEFxdWVzdGEgcGV0aXRhIGd1aWEgZCfDunNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxhIGluZm9ybWFjacOzIGRlIGxhIHZlcnNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiBuYW1laSBbLW14XSBjYW3DrSBbY2Ftw60gLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgd2lwZWZzKDgpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIgZXh0cmHDr2JsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGwnb3BjacOzIC0tZGF0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHIgIlMnaGFuIGQnaW5zZXJpciAlZCBzZWdvbnMgaSByZWZlcmlyIGVsIHRlbXBzIGFudGVyaW9yIGEgZmEgJS42ZiBzZWdvbnNcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICJTJ2VzdMOgIGVzcGVyYW50IGVuIGJ1Y2xlIGEgcXVlIGNhbnZpw68gbCdob3JhIGRlIEtER0hXQ0xLXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEtER0hXQ0xLIHBlciBsbGVnaXIgbCdob3JhIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEtER0hXQ0xLIHBlciBsbGVnaXIgbCdob3JhIGVuIGVsIGJ1Y2xlIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgaW9jdGwgS0RHSFdDTEsiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgL2Rldi90dHkxIG8gL2Rldi92Yy8xIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEtER0hXQ0xLIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2NwdSgxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBwcm9ncmFtYSBbYXJnIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBwcm9ncmFtYSBbYXJnIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi5yZXRyb2NlZGVpeCAxIHDDoGdpbmEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4ucydlc3TDoCBvbWV0ZW50IHVuYSBsw61uaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZXYoMSkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICIlczogbCdvcGNpw7MgcmVxdWVyZWl4IHVuIGFyZ3VtZW50IC0tICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5vIGhpIGhhIHNvcnRpZGEgbm9ybWFsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBBcXVlc3RhIHBldGl0YSBndWlhIGQnw7pzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC0tdmVyc2lvblxuIgorI34gbXNnc3RyICJ2ZXJzacOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAiJXM6IGNvbXBpbGF0IHNlbnNlIGltcGxlbWVudGFyIC14XG4iCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IE5vIGhpIGhhIHByb3UgbWVtw7JyaWFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJJbnV0aWxpdHphYmxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICIoRml0eGVyIHNlZ8O8ZW50OiAlcykiCisKKyN+IG1zZ2lkICJEaXNrIGhhcyBiZWVuIGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIkVsIGRpc2MgcydoYSBtb2RpZmljYXQuXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAiQXJyZW5xdWV1IGRlIG5vdSBlbCBzaXN0ZW1hIHBlciBhIGFzc2VndXJhci12b3MgZGUgcXVlIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgcydoYSBhY3R1YWxpdHphdCBjb3JyZWN0YW1lbnQuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVRFTkNJw5M6IFNpIGhldSBjcmVhdCBvIG1vZGlmaWNhdCBhbGd1bmEgcGFydGljacOzXG4iCisjfiAiRE9TIDYueCwgY29uc3VsdGV1IGxhIHDDoGdpbmEgZGVsIG1hbnVhbCBkZSBjZmRpc2tcbiIKKyN+ICJwZXIgYSBpbmZvcm1hY2nDsyBhZGRpY2lvbmFsLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIkVSUk9SIEZBVEFMIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiUHJlbWV1IHVuYSB0ZWNsYSBwZXIgYSBzb3J0aXIgZGVsIGNmZGlzayIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgY2VyY2FyIGEgbGEgdW5pdGF0IGRlIGRpc2MiCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciBsYSB1bml0YXQgZGUgZGlzYyIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgbGEgdW5pdGF0IGRlIGRpc2MiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJIaSBoYSBtYXNzYSBwYXJ0aWNpb25zIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyBjb21lbsOnYSBhYmFucyBkZWwgc2VjdG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyBhY2FiYSBhYmFucyBkZWwgc2VjdG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJMYSBwYXJ0aWNpw7MgY29tZW7Dp2EgZGVzcHJlcyBkZSBsYSBmw60gZGVsIGRpc2MiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzIGFjYWJhIGRlc3ByZXMgZGUgbGEgZsOtIGRlbCBkaXNjIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJsZXMgcGFydGljaW9ucyBsw7JnaXF1ZXMgbm8gZXN0YW4gZW4gbCdvcmRyZSBkZWwgZGlzYyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJsZXMgcGFydGljaW9ucyBsw7JnaXF1ZXMgcydlbmNhdmFscXVlbiIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJsZXMgcGFydGljaW9ucyBsw7JnaXF1ZXMgYW1wbGlhZGVzIHMnZW5jYXZhbHF1ZW4iCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBFcnJvciBpbnRlcm4gZW4gY3JlYXIgdW5hIHVuaXRhdCBsw7JnaWNhIHNlbnNlIHBhcnRpY2nDsyBlc3Rlc2EgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBjcmVhciBjYXAgdW5pdGF0IGzDsmdpY2E7IGVzIGNyZWFyYW4gZHVlcyBwYXJ0aWNpb25zIGVzdGVzZXMiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiTCdlbGVtZW50IGRlbCBtZW7DuiDDqXMgbWFzc2EgbGxhcmc7IGwnYXNwZWN0ZSBkZWwgbWVuw7ogcG90IHNlciBlc3RyYW55LiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJUZWNsYSBubyBwZXJtZXNhIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJDcmVhIHVuYSBub3ZhIHBhcnRpY2nDsyBwcmltw6ByaWEiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkNyZWEgdW5hIG5vdmEgcGFydGljacOzIGzDsmdpY2EiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIkNhbmNlbMK3bGEiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vIGNyZcOvcyBjYXAgcGFydGljacOzIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIEVycm9yIGludGVybiAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiTWlkYSAoZW4gTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIlByaW5jaXBpIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiQWZlZ2VpeCBwYXJ0aWNpw7MgYWwgcHJpbmNpcGkgZGUgbCdlc3BhaSBsbGl1cmUiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJBZmVnZWl4IHBhcnRpY2nDsyBhbCBmaW5hbCBkZSBsJ2VzcGFpIGxsaXVyZSIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vIGhpIGhhIGVzcGFpIHBlciBjcmVhciBsYSBwYXJ0aWNpw7MgZXN0ZXNhIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJObyBoaSBoYSBjYXAgdGF1bGEgZGUgcGFydGljaW9ucy4gUydlc3TDoCBjb21lbsOnYW50IGFtYiB1bmEgdGF1bGEgYnVpZGEuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkxhIHNpZ25hdHVyYSBhIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgw6lzIGVycsOybmlhIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiRXMgZGVzY29uZWl4IGVsIHRpcHVzIGRlIHRhdWxhIGRlIHBhcnRpY2lvbnMiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJEZXNpdGdldSBjb21lbsOnYXIgYW1iIHVuYSB0YXVsYSBidWlkYSBbcy9OXT8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGxhIHVuaXRhdCBkZSBkaXNjIgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAiUydoYSBvYmVydCB1biBkaXNjIGRlIG5vbcOpcyBsZWN0dXJhOyBubyB0ZW5pdSBwZXJtw61zIHBlciBhIGVzY3JpdXJlLWhpIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsYSBtaWRhIGRlbCBkaXNjIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQYXJ0aWNpw7MgcHJpbcOgcmlhIGluY29ycmVjdGEiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJBdsOtczogQWl4w7IgcG90IGRlc3RydWlyIGxlcyBkYWRlcyBkZWwgZGlzYyEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiRXNjcml2aXUgwqtzw63CuyBvIMKrbm/CuyIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIlMnZXN0w6AgZXNjcml2aW50IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYWwgZGlzYy4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJTJ2hhIGVzY3JpdCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIGRlbCBkaXNjIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJTJ2hhIGVzY3JpdCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLCBwZXLDsiBubyBzJ2hhIHBvZ3V0IHJlbGxlZ2lyLiAgQXJyZW5xdWV1IGRlIG5vdSBwZXIgYWN0dWFsaXR6YXItbGEuIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIk5vIGhpIGhhIHBhcnRpY2lvbnMgcHJpbcOgcmllcyBtYXJjYWRlcyBjb20gYSBkJ2FycmVuY2FkYS4gTGEgTUJSIGRlbCBET1Mgbm8gcG9kcsOgIGFycmVuY2FyLiIKKworI34gbXNnaWQgIk1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICJIaSBoYSBtw6lzIGQndW5hIHBhcnRpY2nDsyBwcmltw6ByaWEgbWFyY2FkYSBjb20gYSBkJ2FycmVuY2FkYS4gTGEgTUJSIGRlbCBET1Mgbm8gcG9kcsOgIGFycmVuY2FyLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJFc2NyaXZpdSBlbCBub20gZGVsIGZpdHhlciBvIHByZW1ldSBsYSB0ZWNsYSBkZSByZXRvcm4gcGVyIHZpc3VhbGl0emFyLWhvIGVuIHBhbnRhbGxhOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICJTZWN0b3IgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VjdG9yICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAgQ2FwICAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgUHJpL0zDsmciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICBQcmltw6ByaWEiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgICBMw7JnaWNhIgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJDYXAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlRhdWxhIGRlIHBhcnRpY2lvbnMgcGVyIGEgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgUHJpbWVyICAgICAgw5psdGltXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFRpcHVzICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgRGVzcGwuICAgIExvbmdpdHVkICAoSUQpIFQuIGRlIHNpc3QuIGZpdHguICBTZW55YWwuXG4iCisKKyN+IG1zZ2lkICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLSAtLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tXG4iCisjfiAiXG4iCisjfiAiLS0gLS0tLS0gICAgICAtLS0tLS0gICAgICAtLS0tLS0gICAtLS0tLS0gICAgLS0tLS0tLS0gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gIC0tLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgIC0tLVN0YXJ0aW5nLS0tLSAgICAgIC0tLS1FbmRpbmctLS0tLSAgICBTdGFydCAgICAgTnVtYmVyIG9mXG4iCisjfiBtc2dzdHIgIiAgICAgICAgIC0tLUluaWNpLS0tICAgICAgICAtLS0tRmluYWwtLS0tICAgICAgSW5pY2kgICAgIE5vbWJyZSBkZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBTZW55YWwgQ2FwIFNlYyAgQ2lsICAgSUQgIENhcCAgU2VjICBDaWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tLSAtLS0gLS0tICAtLS0gICAtLSAgLS0tICAtLS0gIC0tLSAgICAgLS0tLS0tICAgIC0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJDcnVlcyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIkltcHJpbWVpeCBsYSB0YXVsYSB1dGlsaXR6YW50IGVsIGZvcm1hdCBkZSBkYWRlcyBjcnVlcyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIkltcHJpbWVpeCBsYSB0YXVsYSBvcmRlbmFkYSBwZXIgc2VjdG9ycyIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJUYXVsYSIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiSW1wcmltZWl4IG5vbcOpcyBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJObyBpbXByaW1laXhlcyBsYSB0YXVsYSIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gaSBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICBDYW52aWEgcGFyw6BtZXRyZXMgZGUgY2lsaW5kcmVzLCBjYXDDp2FscyBpIHNlY3RvcnMgcGVyIHBpc3RhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEF2w61zOiBBcXVlc3RhIG9wY2nDsyBub23DqXMgbCdoYXVyaWEgZCd1c2FyIGFxdWVsbHMgcXVpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBzYWJlbiBlbCBxdWUgZXMgZmFuLiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIE1heGltaXR6YSBsYSB1dGlsaXR6YWNpw7MgZGUgZGlzYyBkZSBsYSBwYXJ0aWNpw7MgYWN0dWFsIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE5vdGE6IEFxdWVzdGEgb3BjacOzIHBvdCBmZXIgbGEgcGFydGljacOzIGluY29tcGF0aWJsZSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGFtYiBET1MsIE9TLzIuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltZWl4IGxhIHRhdWxhIGRlIHBhcnRpY2lvbnMgYSBsYSBwYW50YWxsYSBvIGVuIHVuIGZpdHhlciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEhpIGhhIGRpdmVyc29zIGZvcm1hdHMgZGlmZXJlbnRzIHBlciBhIGxhIHBhcnRpY2nDsyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgZW50cmUgZWxzIHF1YWxzIHBvZGV1IGVzY29sbGlyOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIERhZGVzIGNydWVzIChleGFjdGFtZW50IGVsIHF1ZSBzJ2VzY3JpdXLDoCBhbCBkaXNjKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFRhdWxhIG9yZGVuYWRhIHBlciBzZWN0b3JzIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIENhbnZpYSBsZXMgdW5pdGF0cyBkZSBsYSBtaWRhIHZpc3VhbGl0emF2YSBkZSBsYSBwYXJ0aWNpw7MiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBBbHRlcm5hIGVudHJlIE1CLCBzZWN0b3JzIGkgY2lsaW5kcmVzIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ3RybC1MICAgICAgIFJlZGlidWl4YSBsYSBwYW50YWxsYSIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIEltcHJpbWVpeCBhcXVlc3RhIHBhbnRhbGxhIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJDYW52aWEgbGEgZ2VvbWV0cmlhIGRlbHMgY2lsaW5kcmVzIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkNhbnZpYSBsYSBnZW9tZXRyaWEgZGVscyBjYXDDp2FscyIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkNhbnZpYSBsYSBnZW9tZXRyaWEgZGVscyBzZWN0b3JzIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJTJ2hhIGZpbmFsaXR6YXQgZWwgY2FudmkgZGUgZ2VvbWV0cmlhIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBjeWxpbmRlcnM6ICIKKyN+IG1zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgY2lsaW5kcmVzOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGVscyBjaWxpbmRyZXMgbm8gcGVybcOocyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgY2Fww6dhbHM6ICIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlbHMgY2Fww6dhbHMgbm8gcGVybcOocyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAiSW50cm9kdcOvdSBlbCBub21icmUgZGUgc2VjdG9ycyBwZXIgcGlzdGE6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGVscyBzZWN0b3JzIG5vIHBlcm3DqHMiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiSW50cm9kdcOvdSBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIk5vIGVzIHBvdCBjYW52aWFyIGVsIHRpcHVzIGRlbCBzaXN0ZW1hIGRlIGZpdHhlcnMgYSBidWl0IgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJObyBlcyBwb3QgY2FudmlhciBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGEgZXN0w6hzIgorCisjfiBtc2dpZCAiVW5rKCUwMlgpIgorI34gbXNnc3RyICJEZXNjLiglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTMOyZyIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICJEZXNjb25lZ3V0ICglMDJYKSIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzIgorI34gbXNnc3RyICJVbml0YXQgZGUgZGlzYzogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJNaWRhOiAlbGxkIG9jdGV0cywgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiTWlkYTogJWxsZCBvY3RldHMsICVsbGQuJWxsZCBHQiIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAiQ2Fww6dhbHM6ICVkICAgU2VjdG9ycyBwZXIgcGlzdGE6ICVkICAgQ2lsaW5kcmVzOiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJUaXB1cyBwYXJ0LiIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIlRpcHVzIFNpcy5GaXR4LiIKKworI34gbXNnaWQgIltMYWJlbF0iCisjfiBtc2dzdHIgIltFdGlxdWV0YV0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgIFNlY3RvcnMiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRyZXMiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBNaWRhIChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBNaWRhIChHQikiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIk5vIGhpIGhhIG3DqXMgcGFydGljaW9ucyIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJDYW52aWEgbGEgZ2VvbWV0cmlhIGRlbCBkaXNjIChub23DqXMgdXN1YXJpcyBleHBlcnRzKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICJNYXhpbWl0emEiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiTWF4aW1pdHphIGxhIHV0aWxpdHphY2nDsyBkZWwgZGlzYyBlbiBsYSBwYXJ0aWNpw7MgYWN0dWFsIChub23DqXMgdXN1YXJpcyBleHBlcnRzKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJJbXByaW1laXgiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdGhlIGZpbGVzeXN0ZW0gdHlwZSAoRE9TLCBMaW51eCwgT1MvMiBhbmQgc28gb24pIgorI34gbXNnc3RyICJDYW52aWEgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyAoRE9TLCBMaW51eCwgT1MvMiwgZXRjLikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiVW5pdGF0cyIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIkNhbnZpYSBsZXMgdW5pdGF0cyBkZSBsYSBtaWRhIGRlIGxhIHBhcnRpY2nDsyAoTUIsIHNlY3RvcnMsIGNpbGluZHJlcykiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiQXF1ZXN0YSBwYXJ0aWNpw7Mgbm8gZXMgcG90IGZlciBhcnJlbmNhYmxlIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vIGVzIHBvdCBzdXByaW1pciB1bmEgcGFydGljacOzIGJ1aWRhIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJObyBlcyBwb3QgbWF4aW1pdHphciBhcXVlc3RhIHBhcnRpY2nDsyIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJBcXVlc3RhIHBhcnRpY2nDsyDDqXMgaW51dGlsaXR6YWJsZSIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICJBcXVlc3RhIHBhcnRpY2nDsyBqYSBlc3TDoCBlbiDDunMiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm8gZXMgcG90IGNhbnZpYXIgZWwgdGlwdXMgZCd1bmEgcGFydGljacOzIGJ1aWRhIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjb21tYW5kIgorI34gbXNnc3RyICJPcmRyZSBubyBwZXJtZXNhIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluIGkgYWViXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAgICAtSCMgW28gLS1oZWFkcyAjXTogICAgIEVzdGFibGVpeCBlbCBub21icmUgZGUgY2Fww6dhbHMgcXVlIHMndXNhcmFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vIGVzIHBvc2Fyw6AgbGEgc29ydGlkYSBlbnRyZSBjb21ldGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAgZCAgICAgICAgICBTdXByaW1laXggbCdhY3R1YWwgcGFydGljacOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICBjICAgY2FudmlhIGVsIG5vbWJyZSBkZSBjaWxpbmRyZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJzaXplIgorI34gbXNnc3RyICJNaWRhIG3DoHhpbWE9JWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICJlICAgZXN0ZXNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOQyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIkVzdGFibGVpeCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlLiBQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBaXjDsiBubyBzZW1ibGEgY2FwIHRhdWxhIGRlIHBhcnRpY2lvbnNcbiIKKyN+ICJQcm9iYWJsZW1lbnQgaGV1IHNlbGVjY2lvbmF0IHVuIGRpc3Bvc2l0aXUgaW5jb3JyZWN0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICIlbGQgYmxvY3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgIlNlY3RvcnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIkVzIHByb2R1aXLDoCB1biBlbmNhdmFsY2FtZW50IGRlIHBhcnRpY2lvbnMgYWwgZGlzYy4gQ29ycmVnaXUtaG8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAiU2VueWFsYWRvcnMiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAiYXbDrXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gbGxlZ2lyICVzOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJhdsOtczogbm8gcydoYSBwb2d1dCBvYnJpciAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IG9icmlyICVzOyBzJ3VzYXLDoCAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBjcmVhciBlbCBmaXR4ZXIgZGUgYmxvY2F0ICVzOiAlcyAodXNldSBlbCBzZW55YWxhZG9yIC1uIHBlciBhIG1vZGlmaWNhciBhcXVlc3QgdmFsb3IpIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZW5sbGHDp2FyIGVsIGZpdHhlciBkZSBibG9jYXQgJXM6ICVzICh1c2V1IGVsIHNlbnlhbGFkb3IgLW4gcGVyIGEgbW9kaWZpY2FyIGFxdWVzdCB2YWxvcikiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgZGUgYmxvY2F0ICVzOiAlcyAodXNldSBlbCBzZW55YWxhZG9yIC1uIHBlciBhIG1vZGlmaWNhciBhcXVlc3QgdmFsb3IpIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYmxvY2FyIGVsIGZpdHhlciBkZSBibG9jYXQgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmxvY2FyIGFsIGZpdHhlciBkZSBibG9jYXQgJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJObyBzJ2hhIHBvZ3V0IGNyZWFyIGwnZW5sbGHDpyAlc1xuIgorI34gIlBvdHNlciBoaSBoYSB1biBmaXR4ZXIgZGUgYmxvY2F0IG9ic29sZXQ/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciAlcyAoJXMpIC0gbm8gcydoYSBhY3R1YWxpdHphdCBtdGFiIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXNjcml1cmUgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBmZXIgc3RhdCBlbiAlczogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gY2FudmlhciBlbCBtb2RlIGRlICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNhbnZpYXIgZWwgbW9kZSBkZSAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCB0b3JuYXIgYSBub21lbmFyICVzIHBlciAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgdHJvYmFyICVzIGEgJXMgbyAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogc2Vnb25zIG10YWIsICVzIGphIGVzdMOgIG11bnRhdCBhICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogc2Vnb25zIG10YWIsICVzIGVzdMOgIG11bnRhdCBhICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCBvYnJpciAlcyBwZXIgYSBlc2NyaXB0dXJhOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gZXNjcml1cmUgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjYW52aWFyIGVsIG1vZGUgZGUgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSB2ZWxvY2l0YXQgZGU6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgYmlmdXJjYXI6ICVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIlMnZXN0w6AgcHJvdmFudCBhbWIgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgZGlkbid0IHNwZWNpZnkgYSBmaWxlc3lzdGVtIHR5cGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBubyBoZXUgZXNwZWNpZmljYXQgY2FwIHRpcHVzIGRlIHNpc3RlbWEgZGUgZml0eGVycyBwZXIgYSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgYWxsIHR5cGVzIG1lbnRpb25lZCBpbiAlcyBvciAlc1xuIgorI34gbXNnc3RyICIgICAgICAgRXMgcHJvdmFyw6AgYW1iIHRvdHMgZWxzIHRpcHVzIGluZGljYXRzIGEgJXMgbyAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICBpIHNlbWJsYSBxdWUgYWl4w7Igw6lzIGVzcGFpIGQnaW50ZXJjYW52aVxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICAgUHJvdmFyw6kgYW1iIGVsIHRpcHVzICVzXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyBzZW1ibGEgZXNwYWkgZCdpbnRlcmNhbnZpIC0gbm8gcydoYSBtdW50YXQiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBtdW50YXIgJXMgYSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBsb29wIGRldmljZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBlbCBkaXNwb3NpdGl1IGxvb3AgZXN0w6AgZXNwZWNpZmljYXQgZHVlcyB2ZWdhZGVzIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogZWwgdGlwdXMgZXN0w6AgZXNwZWNpZmljYXQgZHVlcyB2ZWdhZGVzIgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2VzdMOgIG9tZXRlbnQgbGEgY29uZmlndXJhY2nDsyBkJ3VuIGRpc3Bvc2l0aXUgbG9vcFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ3VzYXLDoCBlbCBkaXNwb3NpdGl1IGxvb3AgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBzZWdvbnMgbXRhYiwgJXMgamEgZXN0w6AgbXVudGF0IGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BkZXYgY29udGV4dCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIGNvbmZpZ3VyYXIgZWwgZGlzcG9zaXRpdSBsb29wXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogcyd1c2Fyw6AgZWwgZGlzcG9zaXRpdSBsb29wICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIGhhIGVzdGF0IHBvc3NpYmxlIGNvbmZpZ3VyYXIgZWwgZGlzcG9zaXRpdSBsb29wXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBjb25maWd1cmFyIGVsIGRpc3Bvc2l0aXUgbG9vcFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2hhIGNvbmZpZ3VyYXQgZWwgZGlzcG9zaXRpdSBsb29wIGFtYiDDqHhpdFxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSB0cm9iYXQgJXM7IHMnZXN0w6AgY3JlYW50Li4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW50OiBubyBzJ2hhIHBvZ3V0IG9icmlyICVzIHBlciBlc3RhYmxpci1uZSBsYSB2ZWxvY2l0YXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogc2Vnb25zIG10YWIsICVzIGphIGVzdMOgIG11bnRhdCBhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb2N1cGF0IC0gcydoYSB0b3JuYXQgYSBtdW50YXIgZGUgbm9tw6lzIGxlY3R1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb2N1cGF0IC0gcydoYSB0b3JuYXQgYSBtdW50YXIgZGUgbm9tw6lzIGxlY3R1cmFcbiIKKworI34gbXNnaWQgIm1vdW50OiBJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgZGV0ZXJtaW5hciBlbCB0aXB1cyBkZSBzaXN0ZW1hIGRlIGZpdHhlcnMgaSBubyBuJ2hldSBlc3BlY2lmaWNhdCBjYXAiCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogaGF1cmV1IGQnZXNwZWNpZmljYXIgZWwgdGlwdXMgZGVsIHNpc3RlbWEgZGUgZml0eGVycyIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyBubyDDqXMgdW4gZGlyZWN0b3JpIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogcydoYSBkZW5lZ2F0IGVsIHBlcm3DrXMiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogaGF1cmV1IGRlIHNlciB1biBzdXBlcnVzdWFyaSBwZXIgYSB1c2FyIG1vdW50IgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyBqYSBlc3TDoCBtdW50YXQiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBqYSBlc3TDoCBtdW50YXQgbyAlcyBlc3TDoCBvY3VwYXQiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiBlbCBwdW50IGRlIG11bnRhdGdlICVzIG5vIGV4aXN0ZWl4IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyDDqXMgdW4gZW5sbGHDpyBzaW1iw7JsaWMgc2Vuc2UgZGVzdMOtIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogZWwgZGlzcG9zaXRpdSBlc3BlY2lhbCAlcyBubyBleGlzdGVpeCIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3RcbiIKKyN+ICIgICAgICAgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KVxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGVsIGRpc3Bvc2l0aXUgZXNwZWNpYWwgJXMgbm8gZXhpc3RlaXhcbiIKKyN+ICIgICAgICAgKHVuIHByZWZpeCBkZSBjYW3DrSBubyDDqXMgdW4gZGlyZWN0b3JpKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJtb3VudDogd3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisjfiAiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGVsIHRpcHVzIGRlIHNpc3RlbWEgZGUgZml0eGVycyBvIMOpcyBjb3JyZWN0ZSwgbGEgb3BjacOzIG5vIMOpcyBjb3JyZWN0YSxcbiIKKyN+ICIgICAgICAgc3VwZXJibG9jIGluY29ycmVjdGUgYSAlcywgbWFuY2EgbGEgcMOgZ2luYSBkZSBjb2RpcyBvIGFsZ3VuIGFsdHJlIGVycm9yIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICAocG9kcmlhIHNlciBxdWUgYXF1ZXN0IGZvcyBlbCBkaXNwb3NpdGl1IElERSBvbiB1dGlsaXR6ZXUgaWRlLXNjc2lcbiIKKyN+ICIgICAgICAgIGRlIG1hbmVyYSBxdWUgc3IwIG8gc2RhIG8gc2lndWluIG5lY2Vzc2FyaXM/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICAobm8gZXN0ZXUgaW50ZW50YW50IG11bnRhciB1bmEgcGFydGljacOzIGVzdGVzYSxcbiIKKyN+ICIgICAgICAgIGVuIGNvbXB0ZXMgZCdhbGd1bmEgcGFydGljacOzIGzDsmdpY2EgZGUgZGlucz8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgIEVuIGFsZ3VucyBjYXNvcywgZXMgcG90IHRyb2JhciBpbmZvcm1hY2nDsyDDunRpbCBhIHN5c2xvZyxcbiIKKyN+ICIgICAgICAgIHByb3ZldSBkbWVzZyB8IHRhaWwgbyBhaXjDrVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczogbm8gcydoYSBwb2d1dCBsbGVnaXIgZWwgc3VwZXJibG9jIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdSBkZXNjb25lZ3V0IgorCisjfiBtc2dpZCAibW91bnQ6IHVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBubyBlcyByZWNvbmVpeCBlbCBzaXRlbWEgZGUgZml0eGVycyDCqyVzwrsiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogcHJvYmFibGVtZW50IHZvbMOtZXUgZGlyICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogcG90c2VyIHZvbMOtZXUgZGlyIMKraXNvOTY2MMK7PyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvdHNlciB2b2zDrWV1IGRpciDCq3ZmYXTCuz8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgdMOpIHVuIG7Dum1lcm8gZGUgZGlzcG9zaXRpdSBpbmNvcnJlY3RlIG8gZWwgdGlwdXMgZGUgc2lzdGVtYSBkZSBmaXR4ZXJzICVzIG5vIGVzdMOgIGltcGxlbWVudGF0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgbm8gw6lzIGNhcCBkaXNwb3NpdGl1IGRlIGJsb2NzLCBpIHN0YXQgZmFsbGE/IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogZWwgbnVjbGkgbm8gcmVjb25laXggJXMgY29tIGEgZGlzcG9zaXRpdSBkZSBibG9jc1xuIgorI34gIiAgICAgICAocG90c2VyIGZlbnQgwqtpbnNtb2QgY29udHJvbGFkb3LCuz8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgbm8gw6lzIHVuIGRpc3Bvc2l0aXUgZGUgYmxvY3MgKHByb3ZldSBhbWIgYC1vIGxvb3AnKSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jcyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBubyDDqXMgdW4gZGlzcG9zaXRpdSBkZSBibG9jcyB2w6BsaWQiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgbXVudGFyICVzJXMgY29tIGEgbm9tw6lzIGRlIGxlY3R1cmEiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQgOiAlcyVzIGVzdMOgIHByb3RlZ2l0IGNvbnRyYSBlc2NyaXB0dXJhIHBlcsOyIHNlIGxpIGhhIGRvbmF0IGVsIHNlbnlhbGFkb3IgZXhwbMOtY2l0IMKrLXfCuyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBtdW50YXIgJXMlcyBjb20gYSBub23DqXMgZGUgbGVjdHVyYSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyBlc3TDoCBwcm90ZWdpdCBjb250cmEgZXNjcmlwdHVyYTsgZXMgbXVudGFyw6AgZW4gbm9tw6lzIGxlY3R1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGphIGVzdMOgIG11bnRhdCBhICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgZXNwZWNpZmljYXQgY2FwIHRpcHVzOyBzJ2Fzc3VtaXLDoCBuZnMgcGVyIGFscyBkb3MgcHVudHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBlc3BlY2lmaWNhdCBjYXAgdGlwdXM7IHMnYXNzdW1pcsOgIHNtYiBhIGNhdXNhIGRlbCBwcmVmaXggLy9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiZm9ybWEgZCfDunM6IG1vdW50IC1WICAgICAgICAgICAgOiBtb3N0cmEgbGEgdmVyc2nDs1xuIgorI34gIiAgICAgICAgICAgIG1vdW50IC1oICAgICAgICAgICAgOiBtb3N0cmEgYXF1ZXN0YSBhanVkYVxuIgorI34gIiAgICAgICAgICAgIG1vdW50ICAgICAgICAgICAgICAgOiBsbGlzdGEgZWxzIHNpc3RlbWVzIGRlIGZpdHhlcnMgbXVudGF0c1xuIgorI34gIiAgICAgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgOiDDrWRlbSwgaW5jbG9lbiBsZXMgZXRpcXVldGVzIGRlIHZvbHVtXG4iCisjfiAiRmlucyBhcXXDrSBsYSBwYXJ0IGluZm9ybWF0aXZhLiBFcyBjb250aW51YSBhbWIgZWwgbXVudGF0Z2UuXG4iCisjfiAiTCdvcmRyZSDDqXMgwqttb3VudCBbLXQgdGlwdXNfc2ZdIGFsZ3VuYV9jb3NhIGxsb2PCuy5cbiIKKyN+ICJFbHMgZGV0YWxscyBpbmNsb3NvcyBlbiAvZXRjL2ZzdGFiIGVzIHBvZGVuIG9tZXRyZS5cbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAtYSBbLXR8LU9dICAgIDogbXVudGEgdG90IGVsIHF1ZSBzJ2hhIGluZGljYXRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICAgICAgIG1vdW50IGRpc3Bvc2l0aXUgICAgOiBtdW50YSBlbCBkaXNwb3NpdGl1IGVuIGVsIGxsb2MgY29uZWd1dFxuIgorI34gIiAgICAgICAgICAgIG1vdW50IGRpcmVjdG9yaSAgICAgOiBtdW50YSBlbCBkaXNwb3NpdGl1IGNvbmVndXQgYXF1w61cbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAtdCB0aXB1cyBkaXNwIGRpciA6IG9yZHJlIG1vdW50IG9yZGluYXJpYVxuIgorI34gIlRpbmd1ZXUgZW4gY29tcHRlIHF1ZSBubyBtdW50YXJldSByZWFsbWVudCB1biBkaXNwb3NpdGl1LCBzaW7DsyBtw6lzXG4iCisjfiAiYXZpYXQgZWwgc2V1IHNpc3RlbWEgZGUgZml0eGVycyAoZWwgdGlwdXMgZG9uYXQpLiBUYW1iw6kgZXMgcG90IG11bnRhclxuIgorI34gInVuIGFyYnJlIGRlIGRpcmVjdG9yaXMgamEgdmlzaWJsZSBlbiB1biBhbHRyZSBsbG9jXG4iCisjfiAiICAgICAgICAgICAgbW91bnQgLS1iaW5kIGRpcl9hbnRpYyBkaXJfbm91XG4iCisjfiAibyBtb3VyZSB1biBzdWJhcmJyZTpcbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAtLW1vdmUgZGlyX2FudGljIGRpcl9ub3VcbiIKKyN+ICJFcyBwb3QgZG9uYXIgdW4gZGlzcG9zaXRpdSBtaXRqYW7Dp2FudCBlbCBub20sIHBvc2VtLWhpIC9kZXYvaGRhMSBvXG4iCisjfiAiL2Rldi9jZHJvbSBvIG1pdGphbsOnYW50IGwnZXRpcXVldGEsIHVzYW50IC1MIGV0aXF1ZXRhIG8gbWl0amFuw6dhbnQgdXVpZCxcbiIKKyN+ICJ1c2FudCAtVSB1dWlkLlxuIgorI34gIkFsdHJlcyBvcGNpb25zOiBbLW5mRnJzdnddIFstbyBvcGNpb25zXSBbLXAgZGZjb250cmFzZW55YV0uXG4iCisjfiAiUGVyIGEgbcOpcyBkZXRhbGxzLCBjb25zdWx0ZXUgwqttYW4gOCBtb3VudMK7LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogbm9tw6lzIGwndXN1YXJpIHJvb3QgcG90IGZlciBhaXjDsiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgIm1vdW50OiBub23DqXMgbCd1c3Vhcmkgcm9vdCBwb3QgZmVyIGFpeMOyIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBtdW50YXQgcmVzIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSB0cm9iYXQgYXF1ZXN0YSBwYXJ0aWNpw7MiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgcG9ndXQgdHJvYmFyICVzIGEgJXMgbyAlcyIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IGF2w61zOiBubyBoaSBoYSBjYXAgbm92YSBsw61uaWEgYWwgZmluYWwgZGUgJXNcbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBsYSBsw61uaWEgJWQgZGUgJXMgbm8gw6lzIGNvcnJlY3RhJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgcydpZ25vcmFyw6AgbGEgcmVzdGEgZGVsIGZpdHhlciIKKworI34gbXNnaWQgIm5vdCBlbm91Z2ggbWVtb3J5IgorI34gbXNnc3RyICJubyBoaSBoYSBwcm91IG1lbcOycmlhIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudDogZXN0w6AgY29tcGlsYXQgc2Vuc2Ugc3Vwb3J0IHBlciBhIC1mXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudCA6IG5vIHMnaGEgcG9ndXQgZXN0YWJsaXIgbGEgdmVsb2NpdGF0IGRlOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCBiaWZ1cmNhcjogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdSBkZSBibG9jcyBubyB2w6BsaWQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbm8gZXN0w6AgbXVudGF0IgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbm8gcydoYSBwb2d1dCBlc2NyaXVyZSBlbCBzdXBlcmJsb2MiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5vIHMnaGEgdHJvYmF0IgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBoYXVyZXUgZGUgc2VyIHN1cGVydXN1YXJpIHBlciBwb2RlciB1c2FyIHVtb3VudCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdXMgZGUgYmxvY3Mgbm8gcGVybWVzb3MgZW4gZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAibmFtZWk6IG5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgY2hkaXIgYSAlcyAtICVzICglZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJuYW1laTogbm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGRpcmVjdG9yaSBhY3R1YWwgLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJtb3VudDogZWwgcHVudCBkZSBtdW50YXRnZSAlcyBubyBleGlzdGVpeCIKKworI34gbXNnaWQgIm5vIHVtb3VudDIsIHRyeWluZyB1bW91bnQuLi5cbiIKKyN+IG1zZ3N0ciAidW1vdW50MiBubyBleGlzdGVpeCwgcydlc3TDoCBwcm92YW50IGFtYiB1bW91bnQuLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBvY3VwYXQgLSBzJ2hhIHRvcm5hdCBhIG11bnRhciBkZSBub23DqXMgbGVjdHVyYVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb3VsZCBub3QgcmVtb3VudCAlcyByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBubyBzJ2hhIHBvZ3V0IHRvcm5hciBhIG11bnRhciAlcyBkZSBub23DqXMgbGVjdHVyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyBkZXNtdW50YXRcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IG5vIHMnaGEgcG9ndXQgdHJvYmFyIGxhIGxsaXN0YSBkZWxzIHNpc3RlbWVzIGRlIGZpdHhlcnMgYSBkZXNtdW50YXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZvcm1hIGQnw7pzOiB1bW91bnQgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICB1bW91bnQgLWEgWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgIHRpcHVzX3Npc3QuX2ZpdHguX3ZpcnR1YWxzXVxuIgorI34gIiAgICAgICAgICAgICAgICAgICBbLU8gb3BjaW9uc11cbiIKKyN+ICIgICAgICAgICAgICB1bW91bnQgWy1mXSBbLXJdIFstbl0gWy12XSBlc3BlY2lhbCB8IG5vZGUuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBkZXNtdW50YXIgwqvCu1xuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZpbmQgJXMgaW4gbXRhYlxuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciAlcyBhIG10YWJcbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IG1vdW50ZWQgKGFjY29yZGluZyB0byBtdGFiKSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBubyBlc3TDoCBtdW50YXQgKHNlZ29ucyBtdGFiKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBzZW1ibGEgcXVlICVzIHMnaGEgbXVudGF0IGRpdmVyc2VzIHZlZ2FkZXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBubyBlc3TDoCBhbCBmc3RhYiAoaSBubyBzb3UgZWwgcm9vdCkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiBlbCBtdW50YXRnZSBkZSAlcyBubyBjb25jb3JkYSBhbWIgZWwgZnN0YWIiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgJXMgY2FuIHVubW91bnQgJXMgZnJvbSAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBub23DqXMgJXMgcG90IGRlc211bnRhciAlcyBkZXMgZGUgJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAidW1vdW50OiBub23DqXMgZWwgcm9vdCBwb3QgZmVyIGFpeMOyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogJWxkIGVsIGxsaW5kYXIgaSAlbGQgZWwgdGVtcHMgZCdlc3BlcmEgcGVyIGRlZmVjdGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiRml0eGVyICVzLCBwZXIgYWwgdmFsb3IgZGVsIGxsaW5kYXIgJWx1LCBlbCBtw6B4aW0gZGUgY2Fyw6BjdGVycyBlbiBmaWZvIGZvdSBkZSAlZFxuIgorI34gImkgbGEgdmVsb2NpdGF0IGRlIHRyYW5zZmVyw6huY2lhIG3DoHhpbWEgZW4gY2FyYWN0ZXJlcyBwZXIgc2Vnb24gZm91IGRlICVmXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJGaXR4ZXIgJXMsIHBlciBhbCB2YWxvciBkZWwgbGxpbmRhciAlbHUgaSBlbCB2YWxvciBkZSB0ZW1wcyBlbiBlc3BlcmEgJWx1LCBlbCBtw6B4aW0gZGUgY2Fyw6BjdGVycyBlbiBmaWZvIGZvdSBkZSAlZFxuIgorI34gImkgbGEgdmVsb2NpdGF0IGRlIHRyYW5zZmVyw6huY2lhIG3DoHhpbWEgZW4gY2FyYWN0ZXJlcyBwZXIgc2Vnb24gZm91IGRlICVmXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVtZXRyZSBDWUdFVE1PTiBhICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIGxsaW5kYXIgcGVyIGEgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnRlbmlyIGVsIHRlbXBzIGQnZXNwZXJhIHBlciBhICVzOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBlbnRlcnMsICVsdS8lbHUgY2Fyw6BjdGVyczsgZmlmbzogJWx1IGxsaW5kYXIsICVsdSB0ZW1wc19lc3BlcmEsICVsdSBtw6B4aW0sICVsdSBhcmFcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGVudGVycy9zZWcuOyAlZiByZWJ1dCwgJWYgZW52aWF0IChjYXLDoGN0ZXJzL3NlZy4pXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgZW50ZXJzLCAlbHUgY2Fyw6BjdGVyczsgZmlmbzogJWx1IGxsaW5kYXIsICVsdSB0ZW1wc19lc3BlcmEsICVsdSBtw6B4aW0sICVsdSBhcmFcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGVudGVycy9zZWcuOyAlZiByZWJ1dCAoY2Fyw6BjdGVycy9zZWcuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGQnaW50ZXJ2YWwgaW52w6BsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbG9yIGQnaW50ZXJ2YWwgaW52w6BsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIHBlciBkZWZlY3RlIGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbG9yIHBlciBkZWZlY3RlIGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGwnaG9yYSBlc3RhYmxlcnRhIGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvciBkZSBsJ2hvcmEgZXN0YWJsZXJ0YSBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgbCdob3JhIHBlciBkZWZlY3RlIGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgbCdob3JhIHBlciBkZWZlY3RlIGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzdGFibGlyICVzIGFsIGxsaW5kYXIgJWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBlc3RhYmxpciAlcyBhbCBsbGluZGFyIGRlIGwnaG9yYSAlZDogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBlbCBsbGluZGFyIGkgJWxkIGVsIHRlbXBzIGQnZXNwZXJhIGFjdHVhbHNcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgZGVmYXVsdCB0aHJlc2hvbGQgYW5kICVsZCBkZWZhdWx0IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBlbCBsbGluZGFyIGkgJWxkIGVsIHRlbXBzIGQnZXNwZXJhIHBlciBkZWZlY3RlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRpbWUgZWxhcHNlZCBzaW5jZSByZWZlcmVuY2UgdGltZSBoYXMgYmVlbiAlLjZmIHNlY29uZHMuXG4iCisjfiAiRGVsYXlpbmcgZnVydGhlciB0byByZWFjaCB0aGUgbmV3IHRpbWUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbCB0ZW1wcyB0cmFuc2NvcnJlZ3V0IGRlcyBkZSBsJ2hvcmEgZGUgcmVmZXLDqG5jaWEgw6lzIGRlICUuNmYgc2Vnb25zLlxuIgorI34gIlMnaGEgZW5kYXJyZXJpdCBlbCBtb21lbnQgZW4gcXXDqCBzJ2FycmliYXLDoCBhbCBzZWfDvGVudCBzZWdvbiBjb21wbGV0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIG5vbV90ZXJtaW5hbCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXNldFxuIgorI34gbXNnc3RyICIgIFsgLXJlc2V0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiICBbIC1pbml0aWFsaXplIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWN1cnNvciBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXBlYXQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1saW5ld3JhcCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAgWyAtZGVmYXVsdCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtaW52ZXJzZXNjcmVlbiBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYm9sZCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJsaW5rIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXZlcnNlIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXVuZGVybGluZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgIFsgLXN0b3JlIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jbGVhciBbYWxsfHJlc3RdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLXRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLWNscnRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgIFsgLXJlZ3RhYnMgWzEtMTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gbXNnc3RyICIgIFsgLWJsYW5rIFswLTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgWyAtZHVtcCAgIFsxLU7Dmk1fQ09OU09MRVNdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBlbmQgWzEtTsOaTV9DT05TT0xFU10gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIG5vbV9maXR4ZXJfYm9sY2F0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1wb3dlcmRvd24gWzAtNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGVuZ3RoIFswLTIwMDBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiICBbIC1iZnJlcSBuw7ptZXJvX2ZyZXHDvMOobmNpYSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlIHVuIGJvbGNhdCBkZSBwYW50YWxsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgL2Rldi90dHkxIG8gL2Rldi92Yy8xIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAibMOtbmlhIG1hc3NhIGxsYXJnYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2V0dWlkKCkgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBqYSBlc3TDoCBkZWZpbmlkYS4gRXNib3JyZXUtbGEgYWJhbnMgZGUgdG9ybmFyLWxhIGEgYWZlZ2lyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBqYSBlc3TDoCBkZWZpbmlkYS4gRXNib3JyZXUtbGEgYWJhbnMgZGUgdG9ybmFyLWxhIGEgYWZlZ2lyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogbm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBCTEtHRVRTSVpFIGEgJXMuIFMnZXN0w6AgdXRpbGl0emFudCBlbCB2YWxvciBkZSBsYSBnZW9tZXRyaWEgZGVsIGNpbGluZHJlICVkLlxuIgorI34gIkFxdWVzdCB2YWxvciBlcyBwb3QgdHJ1bmNhciBwZXIgYSBkaXNwb3NpdGl1cyA+IDMzLjggR0IuXG4iCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJlc3RhYmxlaXggbGEgbWlkYSBkZWwgYmxvYyIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAidW4gYmxvYyBpbmNvcnJlY3RlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgIiMgdGF1bGEgZGUgcGFydGljaW9ucyBkZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZmFpbGVkICVzIgorI34gbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJsYSBjZXJjYSBoYSBmYWxsYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiTm8gaGkgaGFuIHBhcnRpY2lvbnMgZGVmaW5pZGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2PiBbLi4uXSAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSBkZXZpY2VcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czpcbiIKKyN+ICIgICVzIGRpc3Bvc2l0aXVfbG9vcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBkb25hIGluZm9ybWFjacOzXG4iCisjfiAiICAlcyAtZCBkaXNwb3NpdGl1X2xvb3AgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZWxpbWluYVxuIgorI34gIiAgJXMgLWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGNlcmNhIG5vIHVzYXRzXG4iCisjfiAiICAlcyBbIC1lIHhpZnJhdGdlIF0gWyAtbyBkZXNwbGHDp2FtZW50IF0gey1mfGRpc3BfbG9vcH0gZml0eGVyICMgY29uZmlndXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogYXJndW1lbnQgZGVzY29uZWd1dDogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiJXMgbm8gw6lzIGNhcCBkaXNwb3NpdGl1IGRlIGJsb2MgbyB1biBmaXR4ZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgIm3DoHguIG5vbWJyZSBkZSBzZWdtZW50cyA9ICVsdVxuIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGZlciBmc3luYyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRm9ybWEgZCfDunM6XG4iCisjfiAiSW1wcmltZWl4IGxhIHZlcnNpw7M6XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIkltcHJpbWVpeCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3BjaW9uc10gZGlzcG9zaXRpdVxuIgorI34gIsOacyBpbnRlcmFjdGl1OlxuIgorI34gIiAgICAgICAgJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXVcbiIKKyN+ICJcbiIKKyN+ICJPcGNpb25zOlxuIgorI34gIi1hOiAgVXRpbGl0emEgbGEgZmxldHhhIGVuIGNvbXB0ZXMgZGVsIHJlc3NhbHRhdC5cbiIKKyN+ICItejogIENvbWVuw6dhIGFtYiB1bmEgdGF1bGEgZGUgcGFydGljaW9ucyBkZXMgZGUgemVybyBlbiBjb21wdGVzIGRlIGxsZWdpci1cbiIKKyN+ICIgICAgIGxhIGRlbCBkaXNjLlxuIgorI34gIi1jIEMgLWggSCAtcyBTOiBNb2RpZmljYSBsYSBpZGVhIGRlbCBudWNsaSBzb2JyZSBlbCBub21icmUgZGUgY2lsaW5kcmVzLFxuIgorI34gIiAgICAgICAgICAgICAgICBlbCBub21icmUgZGUgY2Fww6dhbHMgaSBlbCBub21icmUgZGUgc2VjdG9ycyBwZXIgcGlzdGEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBlc2NyaXZpbnQgbCdldGlxdWV0YSBkZSBkaXNjIGEgJXMuXG4iCisKKyMgUGFybGEgZCdldGlxdWV0ZXMsIHNlZ3VyYW1lbnQgw6lzIGZlbWVuw60KKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIsOabHRpbWEgJXMgbyArbWlkYSBvICttaWRhTSBvICttaWRhSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBsbGVnaW50IGwnZXRpcXVldGEgZGUgZGlzYyBkZSAlcyBlbiBlbCBzZWN0b3IgJWQuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIk9yZHJlIGQnZXRpcXVldGEgZGUgZGlzYyBCU0QgKG0gcGVyIGEgbCdhanVkYSk6ICIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJkYWRlcyB1bml0YXQ6ICIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICJuw7ptICAgICBpbmljaSAgICAgICBmaW5hbCAgICBtaWRhICAgICBzaXN0LmZpdHguIFtmbWlkYSBibWlkYSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIkhhIGRlIHNlciA8PSBzZWN0b3JzL3Bpc3RhICogcGlzdGVzL2NpbGluZHJlICh2YWxvciBwZXIgZGVmZWN0ZSkuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gKGEtJWMpOiAiCisjfiBtc2dzdHIgIlBhcnRpY2nDsyAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiQXbDrXM6IGhpIGhhIG1hc3NhIHBhcnRpY2lvbnMgKCVkLCBlbCBtw6B4aW0gc8OzbiAlZCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU3luY2luZyBkaXNrcy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlMnZXN0YW4gc2luY3Jvbml0emFudCBlbHMgZGlzY3MuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgY2VyY2FyIGVuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmF0YWwgZXJyb3IiCisjfiBtc2dzdHIgIkVycm9yIGZhdGFsXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiQWNjacOzIGRlIGwnb3JkcmUiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIkhldSBkZSBkZWZpbmlyIGVscyIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJjYXDDp2FscyIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgaSAiCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIlMnZXN0w6AgdXRpbGl0emFudCBlbCB2YWxvciBwZXIgZGVmZWN0ZSAldVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzOiAlbGQgTUIsICVsbGQgb2N0ZXRzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzOiAlbGQuJWxkIEdCLCAlbGxkIG9jdGV0c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgdG90YWwgJWxsdSBzZWN0b3JzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGVzY3JpdXJlIGEgbGEgdW5pdGF0IGRlIGRpc2MiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIHRhbmNhciBlbCBmaXR4ZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIkF2w61zOiBzJ2VzdMOgIGVzdGFibGludCBlbCBkZXNwbGHDp2FtZW50IGRlbCBzZWN0b3IgcGVyIGEgbGEgY29tcGF0aWJpbGl0YXQgYW1iIERPU1xuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiRW4gZW50cmFyIGVsIG1vZGUgZCdldGlxdWV0YSwgcydoYSBkZXRlY3RhdCB1bmEgZXRpcXVldGEgZGUgZGlzYyBPU0YvMSBlbiAlcy5cbiIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiTm8gaGkgaGEgY2FwIHNlY3RvciBsbGl1cmUgZGlzcG9uaWJsZVxuIgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAgZsOtc2ljPSglZCwgJWQsICVkKSAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJsw7JnaWM9KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJBdsOtczogaW5pY2kgZGUgZGFkZXMgaW5jb3JyZWN0ZSBlbiBsYSBwYXJ0aWNpw7MgJWRcbiIKKworI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIlMnZXN0w6AgYWZlZ2ludCB1bmEgcGFydGljacOzIHByaW3DoHJpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkF2w61zOiBTaSBoZXUgY3JlYXQgbyBtb2RpZmljYXQgYWxndW5hIHBhcnRpY2nDs1xuIgorI34gIkRPUyA2LngsIG1pcmV1IGxhIHDDoGdpbmEgZGVsIG1hbnVhbCBkZSBmZGlza1xuIgorI34gInBlciBhIGluZm9ybWFjacOzIGFkZGljaW9uYWwuXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgQXJyZW5jLiAgIEluaWNpICAgICAgICAgRmluYWwgICAgQmxvY3MgICAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2MgJXM6ICVkIGNhcMOnYWxzLCAlZCBzZWN0b3JzLCAlZCBjaWxpbmRyZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJOLiBJQSBDYXAgU2VjdCBDaWwgQ2FwIFNlY3QgQ2lsICAgICBJbmljaSAgICAgIE1pZGEgSURcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RW4gYXF1ZXN0IGRpc2MgdGVuaXUgdW5hIGV0aXF1ZXRhIEFJWCB2w6BsaWRhLlxuIgorI34gIlx0QWN0dWFsbWVudCBMaW51eCBubyBwb3QgZ2VzdGlvbmFyIGFxdWVzdHMgZGlzY3MuXG4iCisjfiAiXHRUb3QgaSBhaXjDsiwgdGluZ3VldSBlbiBjb21wdGUgYWxndW5zIGNvbnNlbGxzOlxuIgorI34gIlx0MS4gZmRpc2sgZW4gZGVzdHJ1aXLDoCBlbCBjb250aW5ndXQgZW4gZXNjcml1cmUuXG4iCisjfiAiXHQyLiBDb21wcm92ZXUgcXVlIGFxdWVzdCBkaXNjIG5vIHNpZ3VpIHVuYSBwYXJ0IHZpdGFsXG4iCisjfiAiXHQgICBkJ3VuIGdydXAgZGUgdm9sdW1zLiAoRW4gY2FzIGNvbnRyYXJpIHBvZHLDrWV1XG4iCisjfiAiXHQgICBlc2JvcnJhciBlbHMgYWx0cmVzIGRpc2NzLCBzaSBubyBlc3RhbiBkdXBsaWNhdHMuKVxuIgorI34gIlx0My4gQWJhbnMgZCdlc2JvcnJhciBhcXVlc3Qgdm9sdW0gZsOtc2ljLCBlc2JvcnJldVxuIgorI34gIlx0ICAgZWwgZGlzYyBsw7JnaWNhbWVudCBkZSBsYSBtw6BxdWluYSBBSVguXG4iCisjfiAiXHQgICAoTyBjb252ZXJ0aXUtdm9zIGVuIHVuIEFJWHBlcnQpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0QXF1ZXN0IGZkaXNrIG5vIHBvdCBnZXN0aW9uYXIgZXRpcXVldGVzIGRlIGRpc2MgQUlYLlxuIgorI34gIlx0U2kgZGVzaXRnZXUgYWZlZ2lyIHBhcnRpY2lvbnMgRE9TLCBjcmVldSB1bmEgbm92YSB0YXVsYSBkZVxuIgorI34gIlx0IHBhcnRpY2lvbnMgRE9TIChVc2V1IG8pLlxuIgorI34gIlx0QXbDrXM6IEFpeMOyIGRlc3RydWlyw6AgZWwgY29udGluZ3V0IGFjdHVhbCBkZWwgZGlzYy5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIlNlZ29ucyBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYy4gbCdldGlxdWV0YSBubyBwb3QgY29udGVuaXIgbcOpcyBkZSA1MTIgb2N0ZXRzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzIChldGlxdWV0YSBkZSBkaXNjIFNHSSk6ICVkIGNhcMOnYWxzLCAlZCBzZWN0b3JzLCAlZCBjaWxpbmRyZXNcbiIKKyN+ICJVbml0YXRzID0gJXMgZGUgJWQgKiAlZCBvY3RldHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gcGFydGljaW9ucyAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIEluaWNpICAgICAgIEZpbmFsIFNlY3RvcnMgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gSW5mb3JtYWNpw7MgZCdhcnJlbmNhZGEgLS0tLS1cbiIKKyN+ICJGaXR4ZXIgZCdhcnJlbmNhZGE6ICVzXG4iCisjfiAiLS0tLS0gRW50cmFkZXMgZGUgZGlyZWN0b3JpcyAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VjdG9yJTV1IG1pZGElOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJObyBoaSBoYW4gcGFydGljaW9ucyBkZWZpbmlkZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIGlzIG9ubHkgJWQgZGlza2Jsb2NrIGxhcmdlLFxuIgorI34gImJ1dCB0aGUgZGlzayBpcyAlZCBkaXNrYmxvY2tzIGxvbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMYSBwYXJ0aWNpw7MgZGUgZGlzYyBzZW5jZXIgc29scyB0w6kgdW4gbWlkYSBkZSAlZCBibG9jcyxcbiIKKyN+ICJtZW50cmUgcXVlIGVsIGRpc2MgdMOpIHVuYSBsb25naXR1ZCBkZSAlZCBibG9jcy5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzICVkIG5vIGNvbWVuw6dhIGVuIHVuIGzDrW1pdCBkZSBjaWxpbmRyZS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyAlZCBubyBhY2FiYSBlbiB1biBsw61taXQgZGUgY2lsaW5kcmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzICVkIGphIGVzdMOgIGRlZmluaWRhLiBFc2JvcnJldS1sYSBhYmFucyBkZSB0b3JuYXItbGEgYSBhZmVnaXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGlvY3RsIEJMS0dFVFNJWkUgYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuICBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LlxuIgorI34gIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdsOtczogbm8gcydoYSBwb2d1dCBleGVjdXRhciBpb2N0bCBCTEtHRVRTSVpFIGEgJXMuIFMnZXN0w6AgdXRpbGl0emFudCBlbCB2YWxvciBkZSBsYSBnZW9tZXRyaWEgZGVsIGNpbGluZHJlICVkLlxuIgorI34gIkFxdWVzdCB2YWxvciBlcyBwb3QgdHJ1bmNhciBwZXIgYSBkaXNwb3NpdGl1cyA+IDMzLjggR0IuXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdElOSUNJPSVkXHRMT05HSVRVRD0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBpbnRlbnRhbnQgbWFudGVuaXIgZWxzIHBhcsOgbWV0cmVzIGRlIGxhIHBhcnRpY2nDsyAlZC5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJTw41cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTdW4gZGlza2xhYmVsLiIKKyN+IG1zZ3N0ciAiJXMgbm8gY29udMOpIGNhcCBldGlxdWV0YSBkZSBkaXNjLlxuIgorCisjIEZJWE1FCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVsbHUgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjICVzIChldGlxdWV0YSBkZSBkaXNjIFN1bik6ICVkIGNhcMOnYWxzLCAlZCBzZWN0b3JzLCAlZCByLnAubS5cbiIKKyN+ICIlZCBjaWxpbmRyZXMsICVkIGNpbGluZHJlcyBhbHRlcm5hdGl1cywgJWQgY2lsaW5kcmVzIGbDrXNpY3NcbiIKKyN+ICIlZCBzZWN0b3JzIHBlciBjaWxpbmRyZSBhZGRpY2lvbmFscywgZW50cmVsbGHDp2F0ICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIlVuaXRhdHMgPSAlcyBkZSAlZCAqIDUxMiBvY3RldHNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2MgJXMgKGV0aXF1ZXRhIGRlIGRpc2MgU3VuKTogJWQgY2Fww6dhbHMsICVkIHNlY3RvcnMsICVkIGNpbGluZHJlc1xuIgorI34gIlVuaXRhdHMgPSAlcyBkZSAlZCAqIDUxMiBvY3RldHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBTZW55YWwuICBJbmljaSAgICAgIEZpbmFsICAgQmxvY3MgICBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1VbiBwZXJpZsOocmljXHQgYWN0aXZhIGxhIHBhcnRpY2nDsyBuLCBkZXNhY3RpdmEgbGEgcmVzdGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGZXRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiUydoYSBzZWxlY2Npb25hdCBsYSBwYXJ0aWNpw7MgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIHByb2dyYW1hIFthcmcgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAiKEZpdHhlciBzZWfDvGVudDogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbiBub3QgZm9yazogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IE5vIHMnaGEgcG9ndXQgYmlmdXJjYXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZhbG9yIGluY29ycmVjdGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBtdW50YXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsYSBjcmlkYSB4c3RybmR1cCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb25uZWN0ICVzIgorI34gbXNnc3RyICJjb25uZXhpw7MgbmZzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiZXJyb3IgYSBzdHJ0b2w6IG5vIHMnaGFuIGVzcGVjaWZpY2F0IGVsIG5vbWJyZSBkZSBibG9jcyIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJ1bmEgcMOgZ2luYSBpbmNvcnJlY3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICBvbiB3aG9sZSBkaXNrLiAiCisjfiBtc2dzdHIgIiAgIHMgICBtb3N0cmEgdG90ZXMgbGVzIGV0aXF1ZXRlcyBkZWwgZGlzYyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yOiB2ZXJzacOzIGRlc2NvbmVndWRhICVkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIEFJWCBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IExpbnV4IGNhbm5vdCBoYW5kbGUgdGhlc2VcbiIKKyN+ICJcdGRpc2tzIGF0IHRoZSBtb21lbnQuICBOZXZlcnRoZWxlc3Mgc29tZVxuIgorI34gIlx0YWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gIlx0My4gQmVmb3JlIGRlbGV0aW5nIHRoaXMgcGh5c2ljYWwgdm9sdW1lIGJlIHN1cmVcbiIKKyN+ICJcdCAgIHRvIHJlbW92ZSB0aGUgZGlzayBsb2dpY2FsbHkgZnJvbSB5b3VyIEFJWFxuIgorI34gIlx0ICAgbWFjaGluZS4gIChPdGhlcndpc2UgeW91IGJlY29tZSBhbiBBSVhwZXJ0KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdEVuIGFxdWVzdCBkaXNjIHRlbml1IHVuYSBldGlxdWV0YSBBSVggdsOgbGlkYS5cbiIKKyN+ICJcdEFjdHVhbG1lbnQgTGludXggbm8gcG90IGdlc3Rpb25hciBhcXVlc3RzIGRpc2NzLlxuIgorI34gIlx0VG90IGkgYWl4w7IsIHRpbmd1ZXUgZW4gY29tcHRlIGFsZ3VucyBjb25zZWxsczpcbiIKKyN+ICJcdDEuIGZkaXNrIGVuIGRlc3RydWlyw6AgZWwgY29udGluZ3V0IGVuIGVzY3JpdXJlLlxuIgorI34gIlx0Mi4gQ29tcHJvdmV1IHF1ZSBhcXVlc3QgZGlzYyBubyBzaWd1aSB1bmEgcGFydCB2aXRhbFxuIgorI34gIlx0ICAgZCd1biBncnVwIGRlIHZvbHVtcy4gKEVuIGNhcyBjb250cmFyaSBwb2Ryw61ldVxuIgorI34gIlx0ICAgZXNib3JyYXIgZWxzIGFsdHJlcyBkaXNjcywgc2kgbm8gZXN0YW4gZHVwbGljYXRzLilcbiIKKyN+ICJcdDMuIEFiYW5zIGQnZXNib3JyYXIgYXF1ZXN0IHZvbHVtIGbDrXNpYywgZXNib3JyZXVcbiIKKyN+ICJcdCAgIGVsIGRpc2MgbMOyZ2ljYW1lbnQgZGUgbGEgbcOgcXVpbmEgQUlYLlxuIgorI34gIlx0ICAgKE8gY29udmVydGl1LXZvcyBlbiB1biBBSVhwZXJ0KS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBBSVggZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0QXF1ZXN0IGZkaXNrIG5vIHBvdCBnZXN0aW9uYXIgZXRpcXVldGVzIGRlIGRpc2MgQUlYLlxuIgorI34gIlx0U2kgZGVzaXRnZXUgYWZlZ2lyIHBhcnRpY2lvbnMgRE9TLCBjcmVldSB1bmEgbm92YSB0YXVsYSBkZVxuIgorI34gIlx0IHBhcnRpY2lvbnMgRE9TIChVc2V1IG8pLlxuIgorI34gIlx0QXbDrXM6IEFpeMOyIGRlc3RydWlyw6AgZWwgY29udGluZ3V0IGFjdHVhbCBkZWwgZGlzYy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkV0aXF1ZXRhIEJTRCBwZXIgYWwgZGlzcG9zaXRpdTogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJBdsOtczogbGEgcGFydGljacOzICVkIG5vIHTDqSB0aXB1c1xuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzICVpIG5vIGFjYWJhIGVuIHVuIGzDrW1pdCBkZSBjaWxpbmRyZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiTm90YTogbGEgbWlkYSBkZWwgc2VjdG9yIMOpcyAlZCAobm8gJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiVXNldSBlbCBzZW55YWxhZG9yIC0tZm9yY2UgcGVyIGEgb2J2aWFyIHRvdGVzIGxlcyBjb21wcm92YWNpb25zLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGV4ZWNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVElPQ1NDVFRZIGhhIGZhbGxhdDogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIFsrZm9ybWF0XSBbZGlhIG1lcyBhbnldXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJEaWEgZGUgU2FudCBUaWJiIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgWyAtcyBzZW55YWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzZW55YWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6BsaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGJsb2NhciBlbiBtZW3DsnJpYSwgcydlc3TDoCBzb3J0aW50LlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogbCdhcmd1bWVudCBhIC1wIG8gLS1wYXNzLWZkIGhhIGRlIHNlciB1biBub21icmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3V0aW5nICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciBleGVjXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAibW91bnQgOiBubyBzJ2hhIHBvZ3V0IGVzdGFibGlyIGxhIHZlbG9jaXRhdCBkZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWlkYSBtw6B4LiBkZWwgc2VnbWVudCAoa2J5dGVzKSA9ICVsdVxuIgorCisjfiBtc2dpZCAibWluIHNlZyBzaXplIChieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWlkYSBtw61uLiBzZWdtZW50IChvY3RldHMpID0gJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgZnN5bmMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBmZXIgZnN5bmMiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNvY3RldHM9JWxkXHRxb2N0ZXRzPSVsZFx0cW7DuW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBmYWlsZWQgdG8gdXNlIGRldmljZSIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCByZWJvYmluYXIgZWwgZGlzcG9zaXRpdSBkJ2ludGVyY2FudmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBibG9jYXIgZW4gbWVtw7JyaWEsIHMnZXN0w6Agc29ydGludC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgcmVib2JpbmFyIGVsIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGRlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWN1dGUgJXMiCisjfiBtc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIGlvY3RsKCkgcGVyIGxsZWdpciBsJ2hvcmEgZGUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3ZwIGZhaWxlZCIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBleGVjdXRhciBleGVjXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGV4ZWNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlcyB2ZXJzacOzICVzXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAidXN1YXJpcyIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAibWFzc2EgaW92IChtb2RpZmlxdWV1IGVsIGNvZGkgYSB3YWxsL3R0eW1zZy5jKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgImNvbDogZXJyb3IgZCdlc2NyaXB0dXJhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgY29sdW1uKDEpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZmlsZSAlcyIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGZpdHhlciAnJXMnIgorCisjIE5PIG5vbcOpcyBlcyB2YSBmZXIgdW5hIHRyYWR1Y2Npw7MgYSBwYXJ0aXIgZGUgbGEgdmVyc2nDsworIyBlc3BhbnlvbGEsIHNpbsOzIHF1ZSBhIG3DqXMgYSBtw6lzIGVzIHZhIGZlciBtYWxhbWVudC4KKyN+IG1zZ2lkICIiCisjfiAiVGhpcyBkaXNrIGhhcyBib3RoIERPUyBhbmQgQlNEIG1hZ2ljLlxuIgorI34gIkdpdmUgdGhlICdiJyBjb21tYW5kIHRvIGdvIHRvIEJTRCBtb2RlLlxuIgorI34gbXNnc3RyICIiCisjfiAiQXF1ZXN0IGRpc2MgdMOpIHRhbiBtw6BnaWEgRE9TIGNvbSBCU0QuXG4iCisjfiAiRW1wcmV1IGwnb3JkcmUgwqtiwrsgcGVyIGFuYXIgYWwgbW9kZSBCU0QuXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IG9icmlyICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW5ub3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBvYnJpciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIGZvciByZWFkaW5nLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBvYnJpciAlcyBwZXIgYSBsZWN0dXJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAvZGV2L3BvcnQiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgL2Rldi9wb3J0OiAlcyIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJTJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyICVzIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIk5vIGVzIHBvdCBvYnJpciAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBsYSBtZW3DsnJpYSB0ZW1wb3JhbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkgJXMiCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgc3RhdCBwZXIgYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiB0aW1pbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciBlbCBmaXR4ZXIgJyVzJyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBvYnJpciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHJlYWQiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgwqslc8K7IHBlciBhIGxlY3R1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBcIiVzXCIiCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBmZXIgXCJzdGF0XCIgYWwgZGlzcG9zaXRpdSAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gImZvcm1hIGQnw7pzOiAlcyBbLWh2XSBbLXggZGlyXSBmaXR4ZXJcbiIKKyN+ICIgLWggICAgICAgICBtb3N0cmEgYXF1ZXN0YSBhanVkYVxuIgorI34gIiAteCBkaXIgICAgIGV4dHJldSBkaW5zIGRlbCBkaXJlY3RvcmkgZGlyXG4iCisjfiAiIC12ICAgICAgICAgbW9zdHJhIG3DqXMgbWlzc2F0Z2VzXG4iCisjfiAiIGZpdHhlciAgICAgZml0eGVyIGEgY29tcHJvdmFyXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFstbGFydnNtZl0gL2Rldi9ub21cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYmxvY2tzaXplIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnIgorI34gbXNnc3RyICJObyBzJ2ludGVudGFyw6AgY3JlYXIgY2FwIGRpc3Bvc2l0aXUgZCdpbnRlcmNhbnZpIGEgJyVzJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IGZlciBcInN0YXRcIiBhbCBkaXNwb3NpdGl1ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGljacOzICVpIG5vIGNvbWVuw6dhIGVuIGVsIGzDrW1pdCBkZWwgY2lsaW5kcmU6XG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgMSlcbiIKKyN+IG1zZ3N0ciAiaGEgZGUgc2VyICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImhhIGRlIHNlciAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJBcXVlc3QgbnVjbGkgdHJvYmEgbGEgbWlkYSBkZWwgc2VjdG9yIGF1dG9tw6B0aWFtZW50OyBzJ2lnbm9yYXLDoCBsJ29wY2nDsyAtYlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAicydoYSBlc2dvdGF0IGxhIG1lbcOycmlhP1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBmaW5hbCBwcmVtYXR1ciBkZSBsJ2VudHJhZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBvYnJpciAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSBzcGVjaWZpZWQgbXVsdGlwbGUgZnVuY3Rpb25zLlxuIgorI34gIllvdSBjYW4gb25seSBwZXJmb3JtIG9uZSBmdW5jdGlvbiBhdCBhIHRpbWUuIgorI34gbXNnc3RyICIiCisjfiAiSGV1IGVzcGVjaWZpY2F0IG3Dumx0aXBsZXMgZnVuY2lvbnMuXG4iCisjfiAiTm9tw6lzIHBvZGV1IGZlci1uZSB1bmEgYSBsYSB2ZWdhZGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogTGVzIG9wY2lvbnMgLS11dGMgaSAtLWxvY2FsdGltZSBzJ2V4Y2xvdWVuIG3DunR1YW1lbnQuIExlcyBoZXUgZXNwZWNpZmljYXQgdG90ZXMgZHVlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGp1c3QgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBMZXMgb3BjaW9ucyAtLWFkanVzdCBpIC0tbm9hZGpmaWxlIHMnZXhjbG91ZW4gbcO6dHVhbWVudC4gTGVzIGhldSBlc3BlY2lmaWNhdCB0b3RlcyBkdWVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgIm1vdW50IDogbm8gcydoYSBwb2d1dCBlc3RhYmxpciBsYSB2ZWxvY2l0YXQgZGU6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpIgorI34gbXNnc3RyICIlczogZWwgZml0eGVyICVzIGVzdMOgIG9jdXBhdCAocHJlc2VudGEgJXMpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZmluZG1udCgxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpZ3ZhbCIKKyN+IG1zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yIGVzdGFibGVydCBpbnbDoGxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJubyBlcyBwb3QgZmVyIHN0YXQgcGVyIGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gb2JyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc3RyaW0oOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgImlkIGludsOgbGlkIDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZXN0YWJsZXJ0IGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZXN0YWJsZXJ0IGludsOgbGlkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnRwb2ludCgxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIFBJRCIKKyN+IG1zZ3N0ciAiJXMgbm8gZXMgcG90IG9icmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzZWNvbmRzIHZhbHVlIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZV90IHZhbHVlIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICJTJ2hhIGNhbnZpYXQgbGEgaW5mb3JtYWNpw7MgZGVsIGZpbmdlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICJhcmd1bWVudCAtLWRhdGUgbWFzc2EgbGxhcmdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0ZXJtaW5hbCBlbnZpcm9ubWVudCBDT0xVTU5TIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2Vtw6Bmb3JzIGFzc2lnbmF0cyA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdmFsb3IgZGUgbGEgbG9uZ2l0dWQgaW5jb3JyZWN0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgc2tpcCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdmFsb3IgZGVsIHNhbHQgaW5jb3JyZWN0ZS5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBGb3JtYSBkJ8O6czogJXMgWy1uw7ptZXJvXSBbLXAgY2FkZW5hXSBbLWNlZm5yc10gWytsw61uaWFdIFsrL3BhdHLDsy9dIFtmaXR4ZXJzXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAlZDogcGFyc2UgZXJyb3IgLS0gbGluZSBpZ25vcmVkLlxuIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGNlcmNhciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcGFyc2UgJXMiCisjfiBtc2dzdHIgIiVzOiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgYmlmdXJjYXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgImxhIGNlcmNhIGhhIGZhbGxhdCIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAgZXNib3JyYSB1bmEgcGFydGljacOzIEJTRCIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIGFmZWdlaXggdW5hIG5vdmEgcGFydGljacOzIEJTRCIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAgY2FudmlhIGwnaWRlbnRpZmljYWRvciBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIGQndW5hIHBhcnRpY2nDsyIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIGNhbnZpYSBsZXMgdW5pdGF0cyAoY2lsaW5kcmVzL3NlY3RvcnMpIgorCisjfiBtc2dpZCAiICAgcCAgIHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgIHAgICBpbXByaW1laXggbGEgdGF1bGEgZGUgcGFydGljaW9ucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTJ2VzdMOgIGNyZWFudCB1bmEgZXRpcXVldGEgZGUgZGlzYyBET1Mgbm92YS4gRWxzIGNhbnZpcyBub23DqXNcbiIKKyN+ICJyb21hbmRyYW4gYSBsYSBtZW3DsnJpYSBmaW5zIHF1ZSBkZWNpZGl1IGVzY3JpdXJlJ2xzLiBEZXNwcsOpc1xuIgorI34gImQnYXF1ZXN0YSBvcGVyYWNpw7MsIGwnYW50ZXJpb3IgY29udGluZ3V0IG5vIGVzIHBvZHLDoCByZWN1cGVyYXIuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIkVsIGRpc3Bvc2l0aXUgbm8gY29udMOpIG5pIHRhdWxhIGRlIHBhcnRpY2lvbnMgRE9TIHbDoGxpZGEsIG5pIGNhcCBldGlxdWV0YSBkZSBkaXNjIFN1biwgU0dJIG8gT1NGXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJFcnJvciBpbnRlcm5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0Tm8gaGkgaGEgbWVuw7ogZCd1c3VhcmkgZXhwZXJ0IHBlciBhIGxlcyB0YXVsZXMgZGUgcGFydGljaW9ucyBTR0kuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEbyBZb3Uga25vdywgWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrP1xuIgorI34gbXNnc3RyICJKYSBzYWJldSBxdWUgaGkgaGEgdW4gZW5jYXZhbGNhbWVudCBkZSBwYXJ0aWNpb25zIGFsIGRpc2M/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlMnZXN0w6AgY29uc3RydWludCB1bmEgbm92YSBldGlxdWV0YSBkZSBkaXNjIFNHSS4gRWxzIGNhbnZpcyBub23DqXMgcm9tYW5kcmFuXG4iCisjfiAiYSBsYSBtZW3DsnJpYSBmaW5zIHF1ZSBkZWNpZGl1IGVzY3JpdXJlJ2xzLiBEZXNwcsOpcyBkJ2FpeMOyLCBubyBlcyBwb2Ryw6BcbiIKKyN+ICJyZWN1cGVyYXIgbCdhbnRlcmlvciBjb250aW5ndXQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgInMnaGEgZXNnb3RhdCBsYSBtZW3DsnJpYSAtIHMnZXN0w6AgYWJhbmRvbmFudFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnQoOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjfiBtc2dpZCAibG9naW46IG1lbW9yeSBsb3csIGxvZ2luIG1heSBmYWlsXG4iCisjfiBtc2dzdHIgImxvZ2luOiBwb2NhIG1lbcOycmlhOyBsJ2FjY8OpcyBwb2RyaWEgZmFsbGFyXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJubyBlcyBwb3QgZXhlY3V0YXIgbWFsbG9jKCkgcGVyIGEgdHR5Y2xhc3MiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgIm5vIGVzIHBvdCBleGVjdXRhciBtYWxsb2MgcGVyIGEgZ3JwbGlzdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJTJ2hhIGRlbmVnYXQgbCdhY2PDqXMgYSAlcyBkZXMgZGUgJXMuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFsgLWYgbm9tX2NvbXBsZXQgXSBbIC1vIG9maWNpbmEgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gaGEgZmFsbGF0OyBzJ2VzdMOgIGF2b3J0YW50OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXMgc2hlbGxdIFt1c2VybmFtZV1cbiIKKyN+ICIgICBvcjogJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZvcm1hIGQnw7pzOiAlcyBbIC1zIGludMOocnByZXRfZCdvcmRyZXMgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICJcdFsgbm9tX3VzdWFyaSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IG5vbcOpcyBlcyBwb2RlbiBtb2RpZmljYXIgZW50cmFkZXMgbG9jYWxzOyB1c2V1IHlwJXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yIC9ldGMvcGFzc3dkIgorI34gbXNnc3RyICIlczogTm8gcydoYSBwb2d1dCBlc3RhYmxpciBlbCBjb250ZXh0IHBlciBkZWZlY3RlIHBlciBhIC9ldGMvcGFzc3dkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHB3bmFtIGZhaWxlZCIKKyN+IG1zZ3N0ciAibGEgY2VyY2EgaGEgZmFsbGF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogdXNldSBsJ29wY2nDsyAtbCBwZXIgdmV1cmUnbiBsYSBsbGlzdGFcbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dpbiBbLWZwXSBbdXNlcm5hbWVdXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiBsb2dpbiBbLWZwXSBbbm9tX3VzdWFyaV1cbiIKKworI34gbXNnaWQgIklsbGVnYWwgdXNlcm5hbWUiCisjfiBtc2dzdHIgIk5vbSBkJ3VzdWFyaSBpbMK3bGVnYWwiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJTJ0hBIFJFRlVTQVQgTCdFTlRSQURBIERFICVzIERFUyBERSAlcyBBIExBIFRUWSAlcyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICJTJ0hBIFJFRlVTQVQgTCdFTlRSQURBIERFICVzIEEgTEEgVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkVudHJhZGEgaW5jb3JyZWN0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNoYW5nZSB0ZXJtaW5hbCBvd25lciBmYWlsZWQiCisjfiBtc2dzdHIgInNlbcOgZm9ycyBhc3NpZ25hdHMgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWx1cmUgZm9ya2luZyIKKyN+IG1zZ3N0ciAibG9naW46IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYmlmdXJjYXI6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFbnRyYWRhIGEgJXM6ICIKKworI34gbXNnaWQgIk5BTUUgdG9vIGxvbmciCisjfiBtc2dzdHIgIk5PTSDDqXMgbWFzc2EgbGxhcmciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAiZWwgbm9tIGQnZW50cmFkYSDDqXMgbWFzc2EgbGxhcmcuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgImVscyBub21zIGQnZW50cmFkYSBubyBwb2RlbiBjb21lbsOnYXIgcGVyIMKrLcK7LlxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiTUFTU0Egc2FsdHMgZGUgcMOgZ2luYSIKKworIyBGSVhNRQorIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBiYXJlIGxpbmVmZWVkcy4iCisjfiBtc2dzdHIgIm1hc3NhIHNhbHRzIGRlIHDDoGdpbmEgc29saXRhcmlzLlxuIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiSEEgRkFMTEFUIEwnRU5UUkFEQSBERSAlcywgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiSEEgRkFMTEFUIEwnRU5UUkFEQSBBICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICJIQSBGQUxMQVQgJWQgVkVHQURFUyBMJ0VOVFJBREEgREVTIERFICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiSEEgRkFMTEFUICVkIFZFR0FERVMgTCdFTlRSQURBIEEgJXMsICVzIgorCisjfiBtc2dpZCAiJXM6IHRoZSBncm91cCBmaWxlIGlzIGJ1c3kuXG4iCisjfiBtc2dzdHIgIiVzOiBlbCBmaXR4ZXIgZ3JvdXAgZXN0w6Agb2N1cGF0LlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IGRlc2Jsb2NhciAlczogJXMgKGVscyBjYW52aXMgZW5jYXJhIGVzdGFuIGEgJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibCdhc3NpZ25hY2nDsyBkZSBtZW3DsnJpYSAobWFsbG9jKSBoYSBmYWxsYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiRWwgZGlzYyAlcyBubyBjb250w6kgdW5hIHRhdWxhIGRlIHBhcnRpY2lvbnMgdsOgbGlkYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQiCisjfiBtc2dzdHIgIm5vIGhhIGVzdGF0IHBvc3NpYmxlIGV4ZWN1dGFyIG9wZW5wdHlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlczogbCd1c3VhcmkgXCIlc1wiIG5vIGV4aXN0ZWl4LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBpbmZvcm1hY2nDsyBzb2JyZSBlbCBkaXNwb3NpdGl1ICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgb2Zmc2V0ICU8UFJJdTY0PiIKKyN+IG1zZ3N0ciAiLCBkZXNwbGHDp2FtZW50ICVkIgorCisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiLCB0aXB1cyBkZSB4aWZyYXRnZSAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBubyBzJ2hhIHBvZ3V0IG9idGVuaXIgaW5mb3JtYWNpw7Mgc29icmUgZWwgZGlzcG9zaXRpdSAlczogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBubyBzJ2hhIHBvZ3V0IG9icmlyIGVsIGRpc3Bvc2l0aXUgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IG5vIHRlbml1IHBlcm1pc29zIHBlciBsbGVnaXIgL2Rldi9sb29wIyIKKworI34gbXNnaWQgIiIKKyN+ICIlczogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZT8gKElmIHNvLCByZWNvbXBpbGUgb3IgYG1vZHByb2JlIGxvb3AnLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlczogTm8gcydoYSBwb2d1dCB0cm9iYXIgY2FwIGRpc3Bvc2l0aXUgbG9vcC4gw4lzIHBvc3NpYmxlIHF1ZSBhcXVlc3QgbnVjbGlcbiIKKyN+ICIgICAgICAgbm8gcmVjb25lZ3VpIGVscyBkaXNwb3NpdGl1cyBsb29wPyAoU2kgZXMgYWl4w60sIHJlY29tcGlsZXUtbG8gbyBmZXVcbiIKKyN+ICIgICAgICAgwqttb2Rwcm9iZSBsb29wwrsuKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiUydoYSBlc2dvdGF0IGxhIG1lbcOycmlhIGVuIGF1Z21lbnRhciBsYSBtaWRhIGRlIGxhIG1lbcOycmlhIGludGVybcOoZGlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIkVsIHNlY3RvciAlZCBqYSBlc3TDoCBhc3NpZ25hdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgZXN0w6AgcHJvdGVnaXQgY29udHJhIGVzY3JpcHR1cmE7IGVzIG11bnRhcsOgIGVuIG5vbcOpcyBsZWN0dXJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWxsdSk6IMOoeGl0XG4iCisKKyN+IG1zZ2lkICJkZWxfbG9vcCglcyk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAiZGVsX2xvb3AoJXMpOiDDqHhpdFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZGVsZXRlIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbm8gcydoYSBwb2d1dCBzdXByaW1pciBlbCBkaXNwb3NpdGl1ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiVGhpcyBtb3VudCB3YXMgY29tcGlsZWQgd2l0aG91dCBsb29wIHN1cHBvcnQuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIkFxdWVzdCBtb3VudCBzJ2hhIGNvbXBpbGF0IHNlbnNlIHN1cG9ydCBwZXIgYSBsb29wLiBSZWNvbXBpbGV1LWxvLlxuIgorCisjfiBtc2dpZCAiTm8gbG9vcCBzdXBwb3J0IHdhcyBhdmFpbGFibGUgYXQgY29tcGlsZSB0aW1lLiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJRdWFuIGVzIHZhIGNvbXBpbGFyIGVsIHN1cG9ydCBwZXIgYSBsb29wIG5vIGVzdGF2YSBkaXNwb25pYmxlLiBSZWNvbXBpbGV1LWxvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWxvcl18Wy1TIHZhbG9yXSkgKFstdCB2YWxvcl18Wy1UIHZhbG9yXSkgWy1nfC1HXSBmaXR4ZXIgW2ZpdHhlci4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB2YWxvciBpbmNvcnJlY3RlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBpcGNtaygxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiw7pzIGRlc2Fwcm92YXQ6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGtleSIKKyN+IG1zZ3N0ciAiZXJyb3IgZGVzY29uZWd1dCBlbiBsYSBjbGF1IgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBpZCIKKyN+IG1zZ3N0ciAiZXJyb3IgZGVzY29uZWd1dCBlbiBsJ2lkZW50aWZpY2Fkb3IiCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGUgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBGb3JtYSBkJ8O6czogXCIlcyBbb3BjaW9uc11cbiIKKyN+ICJcdCAtbSA8Zml0eGVyX21hcGE+ICh2YWxvcnMgcHJlZGV0ZXJtaW5hdHMgPSDCqyVzwrsgaVxuIgorI34gIlx0XHRcdFx0ICDCqyVzwrspXG4iCisjfiAiXHQgLXAgPGZpdHhlcj4gICh2YWxvciBwcmVkZXRlcm1pbmF0ID0gwqslc8K7KVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICBlc3RhYmxlaXggZWwgbXVsdGlwbGljYWRvciBkZWwgcGVyZmlsIGVuIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICBub23DqXMgbW9zdHJhIGxhIGluZm9ybWFjacOzIHNvYnJlIGVsIHBhcyBkZSBtb3N0cmVpZ1xuIgorI34gIlx0IC12ICAgICAgICAgICBtb3N0cmEgZGFkZXMgZGV0YWxsYWRlc1xuIgorI34gIlx0IC1hICAgICAgICAgICBtb3N0cmEgdG90cyBlbHMgc8OtbWJvbHMsIGZpbnMgaSB0b3Qgc2kgZWwgY29tcHRlIMOpcyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgIG1vc3RyYSBlbHMgaGlzdG9ncmFtZXMgaW5kaXZpZHVhbHMgZGVscyBjb21wdGFkb3JzXG4iCisjfiAiXHQgLXIgICAgICAgICAgIHJlc3RhYmxlaXggdG90cyBlbHMgY29tcHRhZG9ycyAobm9tw6lzIGVsIHJvb3QpXG4iCisjfiAiXHQgLW4gICAgICAgICAgIGluaGFiaWxpdGEgbGEgZGV0ZWNjacOzIGF1dG9tw6B0aWNhIGRlIGwnb3JkcmUgZGVscyBvY3RldHNcbiIKKyN+ICJcdCAtViAgICAgICAgICAgbW9zdHJhIGxhIHZlcnNpw7MgaSBzdXJ0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGVzY3JpdXJlICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJ0Y3dha2UoOCkuXG4iCisjfiBtc2dzdHIgIlMnaGEgY2FudmlhdCBsYSBpbmZvcm1hY2nDsyBkZWwgZmluZ2VyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkVzY29sbGl1IGBnZXRvcHQgLS1oZWxwJyBwZXIgb2J0ZW5pciBtw6lzIGluZm9ybWFjacOzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBwcm9ncmFtYSBbYXJnIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGb3JtYSBkJ8O6czogJXMgPGRpc3Bvc2l0aXU+IFsgLWkgPElSUT4gfCAtdCA8VEVNUFM+IHwgLWMgPENBUsOAQ1QuPiB8IC13IDxFU1BFUkE+IHxcbiIKKyN+ICIgICAgICAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogdmFsb3IgaW5jb3JyZWN0ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdW5zaGFyZSgxKS5cbiIKKyN+IG1zZ3N0ciAiUydoYSBjYW52aWF0IGxhIGluZm9ybWFjacOzIGRlbCBmaW5nZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2xvc2luZyBmaWxlICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiB0YW5jYXIgZWwgZml0eGVyXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJQb2RldSBjYW52aWFyIGwnZXRpcXVldGEgZGUgbGVzIHBhcnRpY2lvbnMgbm8gYnVpZGVzLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiQXbDrXM6IGxhIHBhcnRpY2nDsyAlcyAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiQXbDrXM6IGxlcyBwYXJ0aWNpb25zICVzICIKKworI34gbXNnaWQgImFuZCAlcyBvdmVybGFwXG4iCisjfiBtc2dzdHIgImkgJXMgZW5jYXZhbHF1ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyBbb3B0aW9uc10gZGV2aWNlIFsuLi5dXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEZXZpY2UgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGFcbiIKKyN+IG1zZ3N0ciAiZGlzcG9zaXRpdTogc2VtYmxhbnQgYSAvZGV2L2hkYSBvIC9kZXYvc2RhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFtvcGNpb25zXSBkaXNwb3NpdGl1IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAlcyAtVlxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzZW55YWwgXVxuIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBbZGlzcG9zaXRpdXNdXG4iCisKKyN+IG1zZ2lkICIgICVzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gbXNnc3RyICIgICVzIFstdnwtcV0gb3JkcmVzIGRpc3Bvc2l0aXVzXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5vIGVzIHBvdCBvYnJpciAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6ICVzIFsgLW4gXSBkaXNwb3NpdGl1XG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJsJ2Fzc2lnbmFjacOzIGRlIG1lbcOycmlhIChtYWxsb2MpIGhhIGZhbGxhdCIKKworI34gbXNnaWQgIiVzOiBvcHRpb24gcGFyc2UgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IHMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYW5hbGl0emFyIGwnb3BjacOzXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6ICVzIFsteF0gWy1kIDxuw7ptPl0gaW1hdGdlLWlzbzk2NjBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGb3JtYSBkJ8O6czogJXMgWy12XSBbLU4gbnJfZGVfbm9kZXNfZCdpZGVudGlmaWNhY2nDs10gWy1WIG5vbV92b2x1bV1cbiIKKyN+ICIgICAgICAgWy1GIG5vbV9zaXMuX2ZpdHguXSBkaXNwb3NpdGl1IFtxdWFudHNfYmxvY3NdXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc3RhdCAlcyIKKyN+IG1zZ3N0ciAibm8gZXMgcG90IGZlciBzdGF0IHBlciBhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJubyBlcyBwb3Qgb2J0ZW5pciBsYSBtaWRhIGRlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbLWNdIFstdjB8LXYxXSBbLXBNSURBUMOAR10gWy1MIGV0aXF1ZXRhXSAvZGV2L19ub21fIFtibG9jc11cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIlMnaGEgZXNnb3RhdCBsYSBtZW3DsnJpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIkVsIG1lbsO6IG5vIHTDqSBkaXJlY2Npw7M7IGwnb3BjacOzIHBlciBkZWZlY3RlIMOpcyBob3JpdHpvbnRhbC4iCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiQWNjacOzIGRlIGwnb3JkcmVcbiIKKyN+ICIlc1xuIgorI34gIiAgIHAgICBwYXJ0aWNpw7MgcHJpbcOgcmlhICgxLTQpXG4iCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgLXMgW28gLS1zaG93LXNpemVdOiAgTW9zdHJhIGxhIG1pZGEgZCd1bmEgcGFydGljacOzIgorCisjfiBtc2dpZCAiICAgIC1kIFtvciAtLWR1bXBdOiAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXQiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgLWQgW28gLS1kdW1wXTogICAgICAgRWwgbWF0ZWl4LCBwZXLDsiBhbWIgdW4gZm9ybWF0IGFkZXF1YXQgcGVyIGEgdW5hXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIGVudHJhZGEgcG9zdGVyaW9yIgorCisjfiBtc2dpZCAiICAgIC1pIFtvciAtLWluY3JlbWVudF06IG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDAiCisjfiBtc2dzdHIgIiAgICAtaSBbbyAtLWluY3JlbWVudF06ICBOb21icmUgZGUgY2lsaW5kcmVzLCBldGMuIGRlcyBkZSAxIGVuIGNvbXB0ZXMgZGUgMCIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIEFjY2VwdGEvcmVwb3J0YSBlbiB1bml0YXRzIGRlIHNlY3RvcnMvYmxvY3MvY2lsaW5kcmVzL01CIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbbyAtLURPU106ICAgICAgICBQZXIgY29tcGF0aWJpbGl0YXQgYW1iIERPUzogZXMgcGVyZCB1bmEgbWljYSBkJ2VzcGFpIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbbyAtLXJlLXJlYWRdOiAgICBGYSBxdWUgZWwgbnVjbGkgcmVsbGVnZWl4aSBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zIgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyBmaXR4ZXIgOiAgICAgICAgICBEZXNhIGVscyBzZWN0b3JzIHF1ZSBlcyBzb2JyZWVzY3JpdXJhbiBlbiB1biBmaXR4ZXIiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZml0eGVyOiAgICAgICAgICAgUmVzdGF1cmEgYXF1ZXN0cyBzZWN0b3JzIGFsdHJhIHZlZ2FkYSIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW28gLS12ZXJzaW9uXTogICAgSW1wcmltZWl4IGxhIHZlcnNpw7MiCisKKyN+IG1zZ2lkICIgICAgLT8gW29yIC0taGVscF06ICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlIgorI34gbXNnc3RyICIgICAgLT8gW28gLS1oZWxwXTogICAgICAgSW1wcmltZWl4IGFxdWVzdCBtaXNzYXRnZSIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW28gLS1zaG93LWdlb21ldHJ5XTogIEltcHJpbWVpeCBsYSBpZGVhIHF1ZSB0w6kgZWwgbnVjbGkgZGUgbGEgZ2VvbWV0cmlhIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAtTCAgW28gLS1MaW51eF06ICAgICAgIE5vIG1vc3RyYSBhdmlzb3Mgc29icmUgYXNwZWN0ZXMgaXJyZWxsZXZhbnRzIHBlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgTGludXgiCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAgUG9kZXUgbW9kaWZpY2FyIGxhIGdlb21ldHJpYSBkZXRlY3RhZGEgdXNhbnQ6IgorCisjfiBtc2dpZCAiICAgIC1mICBbb3IgLS1mb3JjZV06ICAgICAgZG8gd2hhdCBJIHNheSwgZXZlbiBpZiBpdCBpcyBzdHVwaWQiCisjfiBtc2dzdHIgIiAgICAtZiAgW28gLS1mb3JjZV06ICAgICAgIEZhcsOgIGVsIHF1ZSBsaSBkaWd1ZXUsIGVuY2FyYSBxdWUgc2lndWkgZXN0w7pwaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBoYXVyZXUgZCdlc3BlY2lmaWNhciBlbCB0aXB1cyBkZWwgc2lzdGVtYSBkZSBmaXR4ZXJzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogbWtmcyBbLVZdIFstdCB0aXB1c19zaXMuX2ZpdHguXSBbb3BjaW9uc19zaXMuX2ZpdHguXSAgZGlzcG9zaXRpdSBbbWlkYV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBkZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiTm8gZXMgcG90IGFzc2lnbmFyIG1lbcOycmlhIGludGVybcOoZGlhIHBlciBhbHMgbm9kZXMgZCdpZGVudGlmaWNhY2nDsyIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkVzY29sbGl1IGBnZXRvcHQgLS1oZWxwJyBwZXIgb2J0ZW5pciBtw6lzIGluZm9ybWFjacOzLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogZ2V0b3B0IGNhZGVuYV9vcGNpb25zIHBhcsOgbWV0cmVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW29wY2lvbnNdIFstLV0gY2FkZW5hX29wY2lvbnMgcGFyw6BtZXRyZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKG1pbGxvcmF0KSAxLjEuM1xuIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoUydlc3BlcmF2YTogYFVUQycsIGBMT0NBTCcgbyByZXMpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0gQ29uc3VsdGEgaSBjb25maWd1cmEgZWwgcmVsbG90Z2UgZGUgbWFxdWluYXJpIChSVEMpXG4iCisjfiAiXG4iCisjfiAiRm9ybWEgZCfDunM6IGh3Y2xvY2sgW2Z1bmNpw7NdIFtvcGNpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmNpb25zOlxuIgorI34gIiAgLS1oZWxwICAgICAgICBNb3N0cmEgYXF1ZXN0YSBhanVkYVxuIgorI34gIiAgLS1zaG93ICAgICAgICBMbGVnZWl4IGVsIFJUQyBpIG4naW1wcmltZWl4IGVsIHJlc3VsdGF0XG4iCisjfiAiICAtLXNldCAgICAgICAgIEVzdGFibGVpeCBlbCBSVEMgYSBsJ2hvcmEgcHJvcG9yY2lvbmFkYSBhbWIgLS1kYXRlXG4iCisjfiAiICAtLWhjdG9zeXMgICAgIEVzdGFibGVpeCBsJ2hvcmEgZGVsIHNpc3RlbWEgYSBwYXJ0aXIgZGVsIFJUQ1xuIgorI34gIiAgLS1zeXN0b2hjICAgICBFc3RhYmxlaXggZWwgUlRDIGEgbCdob3JhIGFjdHVhbCBkZWwgc2lzdGVtYVxuIgorI34gIiAgLS1hZGp1c3QgICAgICBBanVzdGEgZWwgUlRDIHBlciBhIGNvbXBlbnNhciBlbCBkZXNmYXNhbWVudCBzaXN0ZW3DoHRpYyBkZXMgZGUgXG4iCisjfiAiICAgICAgICAgICAgICAgIGxhIMO6bHRpbWEgdmVnYWRhIHF1ZSBlcyB2YSBlc3RhYmxpciBvIGFqdXN0YXIgZWwgcmVsbG90Z2VcbiIKKyN+ICIgIC0tZ2V0ZXBvY2ggICAgSW1wcmltZWl4IGVsIHZhbG9yIGRlIGwnw6hwb2NhIGRlbCBSVEMgZGVsIG51Y2xpXG4iCisjfiAiICAtLXNldGVwb2NoICAgIEVzdGFibGVpeCBlbCB2YWxvciBkZSBsJ8OocG9jYSBkZWwgUlRDIGRlbCBudWNsaSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgYWwgdmFsb3IgcHJvcG9yY2lvbmF0IGFtYiAtLWVwb2NoXG4iCisjfiAiICAtLXZlcnNpb24gICAgIEltcHJpbWVpeCBsYSB2ZXJzacOzIGRlIGh3Y2xvY2sgYSBsYSBzb3J0aWRhIGVzdMOgbmRhcmRcbiIKKyN+ICJcbiIKKyN+ICJPcGNpb25zOiBcbiIKKyN+ICIgIC0tdXRjICAgICAgICAgRWwgUlRDIGVzdMOgIGVuIHRlbXBzIHVuaXZlcnNhbCBjb29yZGluYXRcbiIKKyN+ICIgIC0tbG9jYWx0aW1lICAgRWwgUlRDIHTDqSBsJ2hvcmEgbG9jYWxcbiIKKyN+ICIgIC0tZGlyZWN0aXNhICAgQWNjZWRlaXggYWwgYnVzIElTQSBkaXJlY3RhbWVudCBlbiBjb21wdGVzIGRlICVzXG4iCisjfiAiICAtLWJhZHllYXIgICAgIElnbm9yYSBsJ2FueSBkZWwgUlRDIGphIHF1ZSBlbCBCSU9TIG5vIGZ1bmNpb25hXG4iCisjfiAiICAtLWRhdGUgICAgICAgIEVzcGVjaWZpY2EgZWwgdGVtcHMgZW4gcXXDqCBlcyBkZXNpdGphIGVzdGFibGlyIGVsIFJUQ1xuIgorI34gIiAgLS1lcG9jaD1hbnkgICBFc3BlY2lmaWNhIGwnYW55IHF1ZSBjb3JyZXNwb24gYWwgY29tZW7Dp2FtZW50IGRlbCB2YWxvciBkZVxuIgorI34gIiAgICAgICAgICAgICAgICBsJ8OocG9jYSBkZWwgUlRDXG4iCisjfiAiICAtLW5vYWRqZmlsZSAgIE5vIGFjY2VkZWl4aXMgYSAvZXRjL2FkanRpbWUuIFJlcXVlcmVpeCBsJ8O6cyBkZSAtLXV0YyBvIGLDqVxuIgorI34gIiAgICAgICAgICAgICAgICAtLWxvY2FsdGltZVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgbWFsbG9jKCkgcGVyIGEgbGEgY2FkZW5hIGQnaW5pY2lhbGl0emFjacOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbXNVd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiRm9ybWEgZCfDunM6ICVzIFstaGlMbXddIFstbCBwcm9ncmFtYV9hY2PDqXNdIFstdCB0ZW1wc19lc3BlcmFdIFstSSBjYWRlbmFfaW5pY2lhbGl0emFjacOzXSBbLUggb3JkaW5hZG9yX2FjY8Opc10gdmVsb2NpdGF0X2JhdWRzLC4uLiBsw61uaWEgW3RpcHVzX3Rlcm1pbmFsXVxuIgorI34gIm8gYsOpXG4iCisjfiAiXHRbLWhpTG13XSBbLWwgcHJvZ3JhbWFfYWNjw6lzXSBbLXQgdGVtcHNfZXNwZXJhXSBbLUkgY2FkZW5hX2luaWNpYWxpdHphY2nDs10gWy1IIG9yZGluYWRvcl9hY2PDqXNdIGzDrW5pYSB2ZWxvY2l0YXRfYmF1ZHMsLi4uIFt0aXB1c190ZXJtaW5hbF1cbiIKKworIyBGSVhNRSAneScsICduJyB1bnRyYW5zbGF0ZWFibGU/CisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbeSB8IG5dIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogRVJST1IgRE9MRU5UIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLW5dIFtmaWxlXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogJXMgW2ZpdHhlcl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4ndCByZWFkOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzLlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czogbG9nZ2VyIFstaXNdIFstZiBmaXR4ZXJdIFstcCBwcmldIFstdCBldGlxdWV0YV0gWy11IHPDsmNvbF1cbiIKKyN+ICJcdFsgbWlzc2F0Z2UgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogbG9vayBbLWRmYV0gWy10IGNhcsOgY3Rlcl0gY2FkZW5hIFtmaXR4ZXJdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgInMnaGEgZXNnb3RhdCBsYSBtZW3DsnJpYT9cbiIKKworIyBGSVhNRSAiZnJvbSB0byI/Pz8/CisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJjcmlkYTogJXMgZGVzIGRlbHMgZml0eGVycy4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogc2NyaXB0IFstYV0gWy1mXSBbLXFdIFstdF0gW2ZpdHhlcl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3IgJWQ6ICVzXG4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZCdlc2NyaXB0dXJhIGEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZCdlc2NyaXB0dXJhIGEgJXNcbiIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJmb3JtYSBkJ8O6czogbGFzdCBbLSNdIFstZiBmaXR4ZXJdIFstdCB0dHldIFstaCBub21fb3JkaW5hZG9yXSBbdXN1YXJpIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2VueWFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiAlcyBbb3BjaW9uc10gZGlzcG9zaXRpdSAuLi5cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyZWN0b3JpIC4uLiAtZiBdIG5vbS4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IHdyaXRlIHVzdWFyaSBbdHR5XVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogbm8gcydoYSBwb2d1dCBvYnJpciAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJkZXNjb25lZ3V0IgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIkZvcm1hIGQnw7pzOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW51dHNdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIlMnaGEgYXZvcnRhdCBlbCBwcm9jw6lzIGQnYXR1cmFkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi4iCisjfiBtc2dzdHIgIiVzOiBOb23DqXMgbCd1c3Vhcmkgcm9vdCBwb3QgYXR1cmFyIHVuIHNpc3RlbWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/IgorI34gbXNnc3RyICJBaXjDsiBoYSBkZSBzZXIgZGVtw6AsIG5vIHVzIHBvZGV1IGVzcGVyYXIgZmlucyBsbGF2b3JzP1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAicGVyIGFsIG1hbnRlbmltZW50OyBzYWx0YW50LCBzYWx0YW50IgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiRWwgc2lzdGVtYSBzJ2F0dXJhcsOgIGQnYXF1w60gYSA1IG1pbnV0cyIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiUGVyIHRhbnQgbm8gZXMgcGVybWV0IGwnZW50cmFkYS4iCisKKyN+IG1zZ2lkICJyZWJvb3RlZCBieSAlczogJXMiCisjfiBtc2dzdHIgIiVzIGhhIGFycmVuY2F0IGRlIG5vdTogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICIlcyBoYSBhdHVyYXQ6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb20gw6lzIHF1ZSBlbmNhcmEgZXN0aWMgYWN0aXUgZGVzcHLDqXMgZCdhcnJlbmNhciBkZSBub3U/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkFyYSBwb2RldSBkZXNjb25uZWN0YXIgbGEgZm9udCBkJ2FsaW1lbnRhY2nDsy4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJTJ2VzdMOgIGNyaWRhbnQgZWwgc2lzdGVtYSBkJ2FwYWdhZGEgZGVsIG51Y2xpLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIlMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYXBhZ2FyXHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBleGVjdXRhbnQgZWwgcHJvZ3JhbWEgXCIlc1wiIC4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiVVJHRU5UOiBtaXNzYXRnZSBkZSBkaWZ1c2nDsyBkZSAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJFbCBzaXN0ZW1hIHMnYXR1cmFyw6AgZCdhcXXDrSBhICVkIGhvcmVzIGkgJWQgbWludXRzIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkVsIHNpc3RlbWEgcydhdHVyYXJhIGQnYXF1w60gYSAxIGhvcmEgaSAlZCBtaW51dHMiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIkVsIHNpc3RlbWEgcydhdHVyYXLDoCBkJ2FxdcOtIGEgJWQgbWludXRzXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJFbCBzaXN0ZW1hIHMnYXR1cmFyw6AgZCdhcXXDrSBhIDEgbWludXRcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIElNTUVESUFURUxZIVxuIgorI34gbXNnc3RyICJFbCBzaXN0ZW1hIHMnYXR1cmFyw6AgSU1NRURJQVRBTUVOVC5cbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYmlmdXJjYXIgc3dhcG9mZi4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBleGVjdXRhciBzd2Fwb2ZmLCBlc3BlcmVtIHF1ZSB1bW91bnQgaG8gZmFjaS4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGJ1ZnVyY2FyIHVtb3VudCwgcydlc3TDoCBwcm92YW50IG1hbnVhbG1lbnQuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgJXMsIHMnZXN0w6AgcHJvdmFudCB1bW91bnQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHVtb3VudCwgcydlc3TDoCBhYmFuZG9uYW50IGwnb3BlcmFjacOzIHVtb3VudC4iCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIlMnZXN0w6AgZGVzbXVudGFudCBlbHMgc2lzdGVtZXMgZGUgZml0eGVycyByZXN0YW50cy4uLiIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiBObyBzJ2hhIHBvZ3V0IGRlc211bnRhciAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBhcnJlbmNhbnQgZW4gZWwgbW9kZSBkJ3VuIHNvbCB1c3VhcmkuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJsJ2V4ZWN1Y2nDsyBkZSBsJ2ludMOocnByZXQgZCdvcmRyZXMgZW4gbW9kZSBkJ3VuIHNvbCB1c3VhcmkgaGEgZmFsbGF0XG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyIGwnaW50w6hycHJldCBkJ29yZHJlcyBkJ3VuIHNvbCB1c3VhcmlcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIG9icmlyIGZpZm9cbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gaW5pY2lhbGl0emFyIGNsb3NlLW9uLWV4ZWMgYSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4ZWN1dGFyIGZpbmFscHJvZ1xuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBiaWZ1cmNhciBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbnRyYXNlbnlhIGluY29ycmVjdGEuXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGJpZnVyY2FyXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgb2JyaXIgaW5pdHRhYlxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAibm8gaGkgaGEgVEVSTSBvIG5vIHMnaGEgcG9ndXQgZXhlY3V0YXIgc3RhdCBhIGxhIHR0eVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgInMnaGEgcHJvZHXDr3QgdW4gZXJyb3IgZW4gYXR1cmFyIGVsIHNlcnZlaTogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhdHVyYXIgZWwgc2VydmVpOiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBhdHVyYXIgZWwgc2VydmVpOiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogJXMgWy1jXSBbLW4gbml2ZWxsXSBbLXMgbWlkYV9tZW3DsnJpYV90ZW1wb3JhbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiUydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpciAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibCdhc3NpZ25hY2nDsyBkZSBtZW3DsnJpYSAobWFsbG9jKSBoYSBmYWxsYXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IGNvbCBbLWJmcHhdIFstbCBubGluZV1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBbIC0gXSBbIC0yIF0gWyBmaXR4ZXIgLi4uIF1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmaXR4ZXJfZm10XSBbLW4gbG9uZ2l0dWRdIFstcyBvbWV0XSBbZml0eGVyIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBbLWRmbHBjc3VdIFsrbsO6bV9sw61uaWVzIHwgKy9wYXRyw7NdIG5vbTEgbm9tMiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaW5lIGJ1ZmZlclxuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogbm8gcydoYSBwb2d1dCBsbGVnaXIgJXMuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBsw61uaWEgbWFzc2EgbGxhcmdhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJsJ2Fzc2lnbmFjacOzIGRlIG1lbcOycmlhIChtYWxsb2MpIGhhIGZhbGxhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAiRm9ybWEgZCfDunM6IHRhaWxmIGZpdHhlcl9yZWdpc3RyZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyBbIC1pIF0gWyAtdFRlcm1pbmFsIF0gZml0eGVyLi4uXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlc1xuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IG9icmlyICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYW55IG1vcmUgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk5vIHMnaGEgcG9ndXQgYXNzaWduYXIgbcOpcyBtZW3DsnJpYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzJ2hhIG9idGluZ3V0IEVPRiB0cmVzIHZlZ2FkZXMgLSBzJ2VzdMOgIHNvcnRpbnQuLi5cbiIKKworI34gbXNnaWQgImxhc3Q6IG1hbGxvYyBmYWlsdXJlLlxuIgorI34gbXNnc3RyICJsYXN0OiBubyBoYSBlc3RhdCBwb3NzaWJsZSBleGVjdXRhciBtYWxsb2MuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogTm8gaGkgaGEgcHJvdSBtZW3DsnJpYVxuIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IG5vIGhpIGhhIGwnaW50w6hycHJldCBkJ29yZHJlczogJXMuXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IFMnaGEgZGVuZWdhdCBlbCBwZXJtw61zIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBObyBzJ2hhIHBvZ3V0IGJpZnVyY2FyXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgbGxlZ2lyICVzLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHN0YXQgYWwgZml0eGVyIHRlbXBvcmFsLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBubyBzJ2hhcG9ndXQgbGxlZ2lyIGVsIGZpdHhlciB0ZW1wb3JhbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6ICVzIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGQnZXNjcmlwdHVyYSBhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBjZXJjYXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBpICIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiB1c3VhcmkgZGVzY29uZWd1dFxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IHZhbG9yIGluY29ycmVjdGVcbiIKKworI34gbXNnaWQgIm9kOiBvZCgxKSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBoZXhkdW1wKDEpLlxuIgorI34gbXNnc3RyICJvZDogb2QoMSkgaGEgcXVlZGF0IG9ic29sZXQgcGVyIGEgaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGxhIGNvbXBhdGliaWxpdGF0IGFtYiBoZXhkdW1wKDEpIG5vIHBlcm1ldCBsJ29wY2nDsyAtJWMgJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IHZlZ2V1IHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDsyBhY2FiYSBlbiBsJ8O6bHRpbSBjaWxpbmRyZSBwYXJjaWFsIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IG5vIGhpIGhhIHByb3UgbWVtw7JyaWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBjbGF1IGlswrdsZWdhbCAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiBvcGNpw7MgaWzCt2xlZ2FsIC0tICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IHRvcm5hciBhIG5vbWVuYXIgJXMgcGVyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJ0YyByZWFkIgorI34gbXNnc3RyICIsIGEgcHVudCIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAiZXJyb3IgZW4gbCdhc3NpZ25hY2nDsyBkZSBtZW3DsnJpYSIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IGNvbHVtbiBbLXR4XSBbLWMgY29sdW1uZXNdIFtmaXR4ZXIgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiUydoYSBlc2dvdGF0IGxhIG1lbcOycmlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiTm8gcydoYSBwb2d1dCBhc3NpZ25hciBlc3BhaSBkZSBtZW3DsnJpYSBpbnRlcm3DqGRpYVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiByZXYgW2ZpdHhlciAuLi5dXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGFzc2lnbmFyIGxhIG1lbcOycmlhIHRlbXBvcmFsLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJTJ2hhIGVzZ290YXQgbGEgbWVtw7JyaWEgZW4gYXVnbWVudGFyIGxhIG1pZGEgZGUgbGEgbWVtw7JyaWEgaW50ZXJtw6hkaWEuXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKKyN+IG1zZ3N0ciAiJXM6IG9wY2nDsyBpbMK3bGVnYWwgLS0gJWNcbiIKKworI34gbXNnaWQgInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorI34gbXNnc3RyICJzZWdtZW50cyBhc3NpZ25hdHMgJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAicMOgZ2luZXMgYXNzaWduYWRlcyAlbGRcbiIKKworI34gbXNnaWQgInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyN+IG1zZ3N0ciAicMOgZ2luZXMgcmVzaWRlbnRzICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJSZW5kaW1lbnQgZGUgbCdpbnRlcmNhbnZpOiAlbGQgaW50ZW50c1x0ICVsZCBlbmNlcnRzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBwcm9ncmFtbWU6IFwiJXNcIlxuIgorI34gbXNnc3RyICJzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGV4ZWN1dGFyIGZpbmFscHJvZ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0ICclcycgdmFsdWUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJWYWxvciBlc3RhYmxlcnQgaW52w6BsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAibmNvdW50IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5ldyIKKyN+IG1zZ3N0ciAiTm92YSIKKworI34gbXNnaWQgIkxpbnV4IGV4dDIiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDIiCisKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQzIgorCisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IEpGUyIKKworI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBSZWlzZXJGUyIKKworI34gbXNnaWQgIk9TLzIgSFBGUyIKKyN+IG1zZ3N0ciAiT1MvMiBIUEZTIgorCisjfiBtc2dpZCAiT1MvMiBJRlMiCisjfiBtc2dzdHIgIk9TLzIgSUZTIgorCisjfiBtc2dpZCAiTlRGUyIKKyN+IG1zZ3N0ciAiTlRGUyIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBDaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgTGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBHaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIiAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgIEdpdmUgZmRpc2sgdmVyc2lvblxuIgorI34gIkhlcmUgRElTSyBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYiBvciAvZGV2L3NkYVxuIgorI34gImFuZCBQQVJUSVRJT04gaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGdpdmUgU3RhcnQgYW5kIEVuZCBpbiBzZWN0b3IgKGluc3RlYWQgb2YgY3lsaW5kZXIpIHVuaXRzXG4iCisjfiAiLWIgMjA0ODogKGZvciBjZXJ0YWluIE1PIGRpc2tzKSB1c2UgMjA0OC1ieXRlIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZvcm1hIGQnw7pzOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0MgQ2FudmlhIGxhIHRhdWxhIGRlIHBhcnRpY2lvbnNcbiIKKyN+ICIgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0MgICAgTGxpc3RhIGxlcyB0YXVsZXMgZGUgcGFydGljaW9uc1xuIgorI34gIiAgICAgIGZkaXNrIC1zIFBBUlRJQ0nDkyAgICAgICAgICAgICAgTW9zdHJhIGxhIG1pZGEgZGUgbGEgcGFyY2ljacOzIGVuIGJsb2NzXG4iCisjfiAiICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICAgIE1vc3RyYSBsYSB2ZXJzacOzIGRlIGZkaXNrXG4iCisjfiAiRElTQyDDqXMgZGVsIHRpcHVzIC9kZXYvaGRiIG8gL2Rldi9zZGEgaSBQQVJUSUNJw5Mgw6lzIGRlbCB0aXB1cyAvZGV2L2hkYTdcbiIKKyN+ICItdTogTW9zdHJhIGwnaW5pY2kgaSBlbCBmaW5hbCBkZSBsYSB1bml0YXQgZW4gc2VjdG9ycyAobm8gZW4gY2lsaW5kcmVzKVxuIgorI34gIi1iIDIwNDg6IChwZXIgYWxzIGRpc2NzIE1PKSB1c2EgMjA0OCBvY3RldHMgcGVyIHNlY3RvclxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gZGV2aWNlXG4iCisjfiAiRS5nLjogZmRpc2sgL2Rldi9oZGEgIChmb3IgdGhlIGZpcnN0IElERSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvc2RjICAoZm9yIHRoZSB0aGlyZCBTQ1NJIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9lZGEgIChmb3IgdGhlIGZpcnN0IFBTLzIgRVNESSBkcml2ZSlcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3JkL2MwZDAgIG9yOiBmZGlzayAvZGV2L2lkYS9jMGQwICAoZm9yIFJBSUQgZGV2aWNlcylcbiIKKyN+ICIgIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiRm9ybWEgZCfDunM6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkaXNwb3NpdGl1XG4iCisjfiAiUC5leC46IGZkaXNrIC9kZXYvaGRhICAocGVyIGFsIHByaW1lciBkaXNjIElERSlcbiIKKyN+ICIgICAgbzogZmRpc2sgL2Rldi9zZGMgIChwZXIgYWwgdGVyY2VyIGRpc2MgU0NTSSlcbiIKKyN+ICIgICAgbzogZmRpc2sgL2Rldi9lZGEgIChwZXIgYSBsYSBwcmltZXJhIHVuaXRhdCBQUy8yIEVTREkpXG4iCisjfiAiICAgIG86IGZkaXNrIC9kZXYvcmQvYzBkMCBvOiBmZGlzayAvZGV2L2lkYS9jMGQwICAocGVyIGFscyBkaXNwb3NpdGl1cyBSQUlEKVxuIgorI34gIiAgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVsIG5vbWJyZSBkZSBjaWxpbmRyZXMgcGVyIGEgYXF1ZXN0IGRpc2MgZXN0w6AgZXN0YWJsZXJ0IGVuICVkLlxuIgorI34gIkFpeMOyIG5vIMOpcyBpbmNvcnJlY3RlLCBwZXLDsiDDqXMgbcOpcyBncmFuIHF1ZSAxMDI0IGkgcG9kcsOtZXVcbiIKKyN+ICJ0ZW5pciBwcm9ibGVtZXMgYW1iIGNlcnRlcyBjb25maWd1cmFjaW9ucyBkZTpcbiIKKyN+ICIxKSBQcm9ncmFtYXJpIHF1ZSBzJ2V4ZWN1dGEgZHVyYW50IGQnYXJyZW5jYWRhIChwLmV4LiwgdmVyc2lvbnNcbiIKKyN+ICIgICBhbnRpZ3VlcyBkZWwgTElMTylcbiIKKyN+ICIyKSBFbiBhcnJlbmNhciBpIHBhcnRpY2lvbmFyIGRlcyBkJ3VuIGFsdHJlIFNPXG4iCisjfiAiICAgKHAuZXguLCBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5vIHMnaGEgdHJvYmF0ICVzOyBzJ2VzdMOgIGNyZWFudC4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisKKyN+IG1zZ2lkICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKyN+IG1zZ3N0ciAiICAgICAgJXMgWy1zIC1tIC1xXSAtaSBpZGVudGlmaWNhZG9yXG4iCisKKyN+IG1zZ2lkICJcdCVzIC1oIGZvciBoZWxwLlxuIgorI34gbXNnc3RyICIgICAgICAlcyAtaCBwZXIgYSBhanVkYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBTcGVjaWZpY2F0aW9uOlxuIgorI34gIlx0LW0gOiBzaGFyZWRfbWVtXG4iCisjfiAiXHQtcSA6IG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFc3BlY2lmaWNhY2nDsyBkZWxzIHJlY3Vyc29zOlxuIgorI34gIlx0LW0gOiBtZW3DsnJpYSBjb21wYXJ0aWRhXG4iCisjfiAiXHQtcSA6IG1pc3NhdGdlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LXMgOiBzZW1hcGhvcmVzXG4iCisjfiAiXHQtYSA6IGFsbCAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LXMgOiBzZW3DoGZvcnNcbiIKKyN+ICJcdC1hIDogdG90IChwZXIgZGVmZWN0ZSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgRm9ybWF0OlxuIgorI34gIlx0LXQgOiB0aW1lXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBjcmVhdG9yXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGb3JtYXQgZGUgbCdlaXhpZGE6XG4iCisjfiAiXHQtdCA6IHRlbXBzXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBjcmVhZG9yXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtbCA6IGxpbWl0c1xuIgorI34gIlx0LXUgOiBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1sIDogbMOtbWl0c1xuIgorI34gIlx0LXUgOiByZXN1bVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHBhcnNlOiAlcyIKKyN+IG1zZ3N0ciAicydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBsbGVnaXIgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNQUdFIFsgVkFMVUUgWyBPRkZTRVQgXSBdIF0iCisjfiBtc2dzdHIgImZvcm1hIGQnw7pzOiByZGV2IFsgLXJ2IF0gWyAtbyBERVNQTEHDh0FNRU5UIF0gWyBJTUFUR0UgWyBWQUxPUiBbIERFU1BMQcOHQU1FTlQgXSBdIF0iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgIChvciByZGV2IC9saW51eCwgZXRjLikgZGlzcGxheXMgdGhlIGN1cnJlbnQgUk9PVCBkZXZpY2UiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAgKG8gcmRldiAvbGludXgsIGV0Yy4pIG1vc3RyYSBlbCBkaXNwb3NpdGl1IFJPT1QgYWN0dWFsIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBlc3RhYmxlaXggZWwgUk9PVCBhIC9kZXYvaGRhMiIKKworI34gbXNnaWQgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIFJPT1RGTEFHUyAocmVhZG9ubHkgc3RhdHVzKSIKKyN+IG1zZ3N0ciAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIGVzdGFibGVpeCBlbHMgUk9PVEZMQUdTIChlc3RhdCBkZSBub23DqXMgbGVjdHVyYSkiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBlc3RhYmxlaXggbGEgbWlkYSBkZWwgUkFNRElTSyIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBlc3RhYmxlaXggZWwgVklERU9NT0RFIGRlIGwnYXJyZW5jYWRhIgorCisjfiBtc2dpZCAiICByZGV2IC1vIE4gLi4uICAgICAgICAgICAgICAgICAgIHVzZSB0aGUgYnl0ZSBvZmZzZXQgTiIKKyN+IG1zZ3N0ciAiICByZGV2IC1vIE4gLi4uICAgICAgICAgICAgICAgICAgIHVzYXIgZWwgZGVzcGxhw6dhbWVudCBkJ29jdGV0cyBOIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIGVsIG1hdGVpeCBxdWUgcmRldiAtUiIKKworI34gbXNnaWQgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXIiCisjfiBtc2dzdHIgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBlbCBtYXRlaXggcXVlIHJkZXYgLXIiCisKKyN+IG1zZ2lkICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC12IgorI34gbXNnc3RyICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgZWwgbWF0ZWl4IHF1ZSByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIk5vdGE6IGVscyBtb2RlcyBkZSB2w61kZW8gc8OzbjogLTM9UHJlZ3VudGEsIC0yPUVzdMOocywgLTE9Tm9ybWFsVmdhLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE9dGVjbGExLCAyPXRlY2xhMiwgLi4uICIKKworI34gbXNnaWQgIiAgICAgIHVzZSAtUiAxIHRvIG1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgZm9yIHJlYWQvd3JpdGUuIgorI34gbXNnc3RyICIgICAgICB1c2V1IC1SIDEgcGVyIG11bnRhciBsJ2FycmVsIGRlIG5vbcOpcyBsZWN0dXJhOyAtUiAwIHBlciBhIGxlY3R1cmEvZXNjcmlwdHVyYS4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJmYWx0YSB1bmEgY29tYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgaWYgbWVtb3J5IgorI34gbXNnc3RyICJubyBoaSBoYSBwcm91IG1lbcOycmlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJ1bml0OiBzZWN0b3JzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiVsbGQgc2VjdG9ycyBubyBhc3NpZ25hdHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgc3RhcnQ9JTlsdSIKKyN+IG1zZ3N0ciAiaW5pY2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCBib290YWJsZSIKKyN+IG1zZ3N0ciAiQUlYIGFycmVuY2FibGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2xvY2sgaW4gVVRDLCBub3QgY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiTm8gcydoYSBjYW52aWF0IGwnaW50w6hycHJldCBkJ29yZHJlcy5cbiIKKworI34gbXNnaWQgIiVzOiBlcnJvcjogbGFiZWwgb25seSB3aXRoIHYxIHN3YXAgYXJlYVxuIgorI34gbXNnc3RyICIlczogZXJyb3I6IGV0aXF1ZXRhIG5vbcOpcyBhbWIgZXNwYWkgZCdpbnRlcmNhbnZpIHYxXG4iCisKKyN+IG1zZ2lkICJmYXRhbDogZmlyc3QgcGFnZSB1bnJlYWRhYmxlIgorI34gbXNnc3RyICJmYXRhbDogbm8gZXMgcG90IGxsZWdpciBsYSBwcmltZXJhIHDDoGdpbmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiVzOiBEZXZpY2UgJyVzJyBjb250YWlucyBhIHZhbGlkIFN1biBkaXNrbGFiZWwuXG4iCisjfiAiVGhpcyBwcm9iYWJseSBtZWFucyBjcmVhdGluZyB2MCBzd2FwIHdvdWxkIGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiTm8gc3dhcCB3YXMgY3JlYXRlZC4gSWYgeW91IHJlYWxseSB3YW50IHRvIGNyZWF0ZSB2MCBzd2FwIG9uIHRoYXQgZGV2aWNlLFxuIgorI34gInVzZSB0aGUgLWYgb3B0aW9uIHRvIGZvcmNlIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IGVsIGRpc3Bvc2l0aXUgJyVzJyBjb250w6kgdW5hIGV0aXF1ZXRhIGRlIGRpc2MgU3VuIHbDoGxpZGEuXG4iCisjfiAiQWl4w7IgcHJvYmFibGVtZW50IHNpZ25pZmljYSBxdWUgc2kgZXMgY3JlYSB1biBlc3BhaSBkJ2ludGVyY2FudmkgdjAsIGVzXG4iCisjfiAiZGVzdHJ1aXLDoCBsYSB0YXVsYSBkZSBwYXJ0aWNpb25zLlxuIgorI34gIk5vIHMnaGEgY3JlYXQgbCdlc3BhaSBkJ2ludGVyY2FudmkuIFNpIGRlIHJlYWxtZW50IHZvbGV1IGNyZWFyIHVuIGVzcGFpXG4iCisjfiAiZCdpbnRlcmNhbnZpIHYwIGVuIGFxdWVzdCBkaXNwb3NpdGl1LCB1c2V1IGwnb3BjacOzIC1mIHBlciBhIGZvcsOnYXItaG8uXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IGNoZGlyIHRvIHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIGNoZGlyIGFsIGRpcmVjdG9yaSBhcnJlbFxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBzdGF0IHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHN0YXQgYWwgZGlyZWN0b3JpIGFycmVsXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gbm8gcydoYSBwb2d1dCBleGVjdXRhciBjaGRpciBhICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiID8gcHJvYmxlbXMgcmVhZGluZyBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIgPyBoaSBoYSBoYWd1dCBwcm9ibGVtZXMgZW4gbGxlZ2lyIGwnZW5sbGHDpyBzaW1iw7JsaWMgJXMgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgICoqKiBFWENFRURFRCBVTklYIExJTUlUIE9GIFNZTUxJTktTICoqKlxuIgorI34gbXNnc3RyICIgICoqKiBTJ0hBIEVYQ0VESVQgRUwgTMONTUlUIEQnRU5MTEHDh09TIFNJTULDkkxJQ1MgREUgVU5JWCAqKipcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmtub3duIGZpbGUgdHlwZSAwJTA2byBvbiBmaWxlICVzXG4iCisjfiBtc2dzdHIgIm5hbWVpOiB0aXB1cyBkZSBmaXR4ZXIgZGVzY29uZWd1dCAwJTA2byBlbiBlbCBmaXR4ZXIgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVzIG11bnRhcsOgICVzIHBlciBVVUlEXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVzIG11bnRhcsOgICVzIHBlciBldGlxdWV0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3YWl0cGlkOiAlc1xuIgorI34gbXNnc3RyICIlczogcydoYSBwcm9kdcOvdCB1biBlcnJvciBlbiBvYnJpcjogJXNcbiIKKworI34gbXNnaWQgImNvdWxkIG5vdCB1bW91bnQgJXMgLSB0cnlpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHVtb3VudCBlbiAlcyAtIGVzIHByb3ZhcsOgIGFtYiAlc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2hmbjogUEFNIEZhaWx1cmUsIGFib3J0aW5nOiAlc1xuIgorI34gbXNnc3RyICJsb2dpbjogUEFNIGhhIGZhbGxhdDsgcydlc3TDoCBhdm9ydGFudDogJXNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IGxsZWdpciAlczsgcydlc3TDoCBzb3J0aW50LiIKKworI34gbXNnaWQgImxvZ2luOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gaGEgZmFsbGF0OyBzJ2VzdMOgIGF2b3J0YW50OiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2VzdMOgIGV4ZWN1dGFudCDCqyVzwrsgZW4gc2Vnb24gcGzDoFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHMnZXN0w6AgYWJhbmRvbmFudCDCqyVzwrtcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorI34gbXNnc3RyICLCqyVzwrs6IGRpcmVjdG9yaSBpbmNvcnJlY3RlOiDCqy7CuyBubyDDqXMgZWwgcHJpbWVyXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICLCqyVzwrs6IGRpcmVjdG9yaSBpbmNvcnJlY3RlOiDCqy4uwrsgbm8gw6lzIGVsIHNlZ29uXG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIG9wZW5fdHR5XG4iCisjfiBtc2dzdHIgInMnZXN0w6AgY3JpZGFudCBvcGVuX3R0eVxuIgorCisjfiBtc2dpZCAiY2FsbGluZyB0ZXJtaW9faW5pdFxuIgorI34gbXNnc3RyICJzJ2VzdMOgIGNyaWRhbnQgdGVybWlvX2luaXRcbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAicydlc3TDoCBlc2NyaXZpbnQgbGEgY2FkZW5hIGluaWNpYWxcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJhYmFucyBkZWwgbW9kZSBhdXRvYmF1ZFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAicydlc3TDoCBlc3BlcmFudCBjci1sZlxuIgorCisjfiBtc2dpZCAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisjfiBtc2dzdHIgInMnZXN0w6AgbGxlZ2ludCBlbCBub20gZCdlbnRyYWRhXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJkZXNwcsOpcyBkZWwgYnVjbGUgZ2V0b3B0XG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlYXJnc1xuIgorI34gbXNnc3RyICJzJ2VzdMOgIHRyYWllbnQgcGFyc2VhcmdzXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJzJ2hhIGVudHJhdCBwYXJzZV9zcGVlZHNcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIKKyN+IG1zZ3N0ciAicydlc3TDoCB0cmFpZW50IHBhcnNlc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdXAoKSBlbiBjdXJzXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAvZXRjL3NoZWxsc1xuIgorI34gbXNnc3RyICJBdsOtczogXCIlc1wiIG5vIGVzdMOgIGxsaXN0YXQgYSAvZXRjL3NoZWxsc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgJXMsIGkgbm8gcydoYSBwb2d1dCBlZmVjdHVhciB1biBib2xjYXQgZCdpb2N0bFxuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBkZXNwbGHDp2FtZW50ICVsbGQiCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IGZpbmQgYW55IGRldmljZSAvZGV2L2xvb3AjIgorI34gbXNnc3RyICIlczogbm8gcydoYSB0cm9iYXQgY2FwIGRpc3Bvc2l0aXUgL2Rldi9sb29wIyIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gWy1wIHByaW9yaXR5XSBzcGVjaWFsfExBQkVMPXZvbHVtZV9uYW1lIC4uLlxuIgorI34gIiAgICAgICAlcyBbLXNdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0YXRdIGVzcGVjaWFsfEVUSVFVRVRBPW5vbV92b2x1bS4uLlxuIgorI34gIiAgICAgICAgICAgICVzIFstc11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJmb3JtYSBkJ8O6czogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICAgICAgJXMgWy12XSBlc3BlY2lhbCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGNhbm9uaWNhbGl6ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5vIHMnaGEgcG9ndXQgb2JyaXIgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHVzZXJzIF1cbiIKKyN+IG1zZ3N0ciAiZm9ybWEgZCfDunM6IHJlbmljZSBwcmlvcml0YXQgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXN1YXJpcyBdXG4iCisKKyN+IG1zZ2lkICJFeGNlZWRlZCBNQVhFTlRSSUVTLiAgUmFpc2UgdGhpcyB2YWx1ZSBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLlxuIgorI34gbXNnc3RyICIiCisjfiAiUydoYSBleGNlZGl0IE1BWEVOVFJJRVMuIEluY3JlbWVudGV1IGFxdWVzdCB2YWxvciBhIG1rY3JhbWZzLmMgaVxuIgorI34gInJlY29tcGlsZXUuIFMnZXN0w6Agc29ydGludC5cbiIKKworI34gbXNnaWQgIkFzc3VtaW5nIHBhZ2VzIG9mIHNpemUgJWQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBhc3N1bWludCBxdWUgbGEgbWlkYSBkZSBsZXMgcMOgZ2luZXMgw6lzIGRlICVkIChpIG5vICVkKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJMYSBjb25maWd1cmFjacOzIGF1dG9tw6B0aWNhIGhhIHRyb2JhdCB1biAlcyVzJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJUaXB1cyBkJ3VuaXRhdFxuIgorI34gIiAgID8gICBBbWIgY29uZmlndXJhY2nDsyBhdXRvbcOgdGljYVxuIgorI34gIiAgIDAgICBQZXJzb25hbGl0emFkYSAoYW1iIHZhbG9ycyBwZXIgZGVmZWN0ZSBxdWUgZGV0ZWN0aSBlbCBtYXF1aW5hcmkpIgorCisjfiBtc2dpZCAiU2VsZWN0IHR5cGUgKD8gZm9yIGF1dG8sIDAgZm9yIGN1c3RvbSk6ICIKKyN+IG1zZ3N0ciAiU2VsZWNjaW9uZXUgZWwgdGlwdXMgKD8gYXV0b23DoHRpY2EsIDAgcGVyc29uYWxpdHphZGEpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiUG9kZXUgY2FudmlhciB0b3RzIGVscyBwYXLDoG1ldHJlcyBkZWwgZGlzYyBkZXMgZGVsIG1lbsO6IHgiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIkRpc3F1ZXQgZGUgMyw1IHBvbHphZGVzIgorCisjfiBtc2dpZCAiJXMgZnJvbSB1dGlsLWxpbnV4LSVzXG4iCisjfiBtc2dzdHIgIiVzIGQndXRpbC1saW51eC0lc1xuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzXG4iCisjfiBtc2dzdHIgIiVzOiBlcnJvcjogbCdldGlxdWV0YSAlcyBhcGFyZWl4IGEgJXMgaSAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBvcGVuICVzLCBzbyBVVUlEIGFuZCBMQUJFTCBjb252ZXJzaW9uIGNhbm5vdCBiZSBkb25lLlxuIgorI34gbXNnc3RyICIlczogbm8gcydoYSBwb2d1dCBvYnJpciAlcywgamEgcXVlIG5vIGVzIHBvdCBmZXIgbGEgY29udmVyc2nDsyBVVUlEIGkgTEFCRUwuXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIiVzOiBVVUlEIGVycm9uaSIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgd2l0aCBuZnMgbW91bnQgdmVyc2lvbiA0LCB0cnlpbmcgMy4uXG4iCisjfiBtc2dzdHIgIm1vdW50IDogbm8gaGEgZXN0YXQgcG9zc2libGUgbXVudGFyIGxhIHZlcnNpw7MgNCBkZSBuZnMsIHMnZXN0w6AgaW50ZW50YW50IDMuLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudGluZyAlc1xuIgorI34gbXNnc3RyICJtb3VudDogcydlc3TDoCBtdW50YW50ICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd2hpbGUgZ3Vlc3NpbmcgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzJ2hhIHByb2R1w690IHVuIGVycm9yIGVuIGludGVudGFyIGVuZGV2aW5hciBlbCB0aXB1cyBkZSBzaXN0ZW1hIGRlIGZpdHhlcnNcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIGhvc3Q6ZGlyIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBhcmd1bWVudCBleGNlc3NpdmFtZW50IGxsYXJnIGhvc3Q6ZGlyXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogbXVsdGlwbGUgaG9zdG5hbWVzIG5vdCBzdXBwb3J0ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGF2w61zOiBtw7psdGlwbGVzIG5vbXMgZCdvcmRpbmFkb3Igbm8gZXN0w6AgaW1wbGVtZW50YXRcbiIKKworI34gbXNnaWQgIm1vdW50OiBkaXJlY3RvcnkgdG8gbW91bnQgbm90IGluIGhvc3Q6ZGlyIGZvcm1hdFxuIgorI34gbXNnc3RyICJtb3VudDogZWwgZGlyZWN0b3JpIGEgbXVudGFyIG5vIHTDqSBlbCBmb3JtYXQgb3JkaW5hZG9yOmRpclxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiB2YWxvciBpbmNvcnJlY3RlIHBlciBhIGhwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgb3B0aW9uIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBsJ2FyZ3VtZW50IGRlIGwnb3BjacOzIMOpcyBleGNlc3NpdmFtZW50IGxsYXJnXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBVbnJlY29nbml6ZWQgcHJvdG89IG9wdGlvbi5cbiIKKyN+IG1zZ3N0ciAiQXbDrXM6IE9wY2nDsyBkZXNjb25lZ3VkYSBwcm90bz1cbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IHBhcmFtZXRlcjogJXM9JWRcbiIKKyN+IG1zZ3N0ciAibm8gZXMgcmVjb25laXggZWwgcGFyw6BtZXRyZSBkZSBtdW50YXRnZSBkZSBuZnM6ICVzPSVkXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBvcHRpb246ICVzJXNcbiIKKyN+IG1zZ3N0ciAibm8gZXMgY3JlY29uZWl4IGwnb3BjacOzIGRlIG11bnRhdGdlIGRlIG5mczogJXMlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoP1xuIgorI34gbXNnc3RyICJtb3VudDogdmFsb3IgaW5jb3JyZWN0ZSBwZXIgYSBocC0+aF9sZW5ndGg/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMgYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAibmZzIHNlcnZlciByZXBvcnRlZCBzZXJ2aWNlIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJlbCBzZXJ2aWRvciBuZnMgaW5mb3JtYSBxdWUgZWwgc2VydmVpIG5vIGVzdMOgIGRpc3BvbmlibGUiCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJzJ2hhIHVzYXQgbCdhc3NpZ25hZG9yIGRlIHBvcnRzIHBlciB0cm9iYXIgZWwgcG9ydCBORlNcbiIKKworI34gbXNnaWQgInVzaW5nIHBvcnQgJWQgZm9yIG5mcyBkZWFtb25cbiIKKyN+IG1zZ3N0ciAicydlc3TDoCB1c2FudCBlbCBwb3J0ICVkIHBlciBhbCBkaW1vbmkgZGUgbmZzXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAibm8gZXMgcmVjb25laXggZWwgdmFsb3IgZGUgcmV0b3JuIGRlIGwnZXN0YXQgZGUgbmZzOiAlZCIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgImhvc3Q6ICVzLCBkaXJlY3Rvcmk6ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6IG5vIHMnaGEgcG9ndXQgb2J0ZW5pciBsJ2FkcmXDp2EgcGVyIGEgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogZ290IGJhZCBob3N0cC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiB2YWxvciBpbmNvcnJlY3RlIHBlciBhIGhvc3RwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgcGF0aCBsZW5ndGhcbiIKKyN+IG1zZ3N0ciAiJXM6IGVsIGNyYW1mcyDDqXMgaW52w6BsaWQsIGxhIGxvbmdpdHVkIGRlbCBjYW3DrSDDqXMgZXJyw7JuaWFcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0td3JvbmcgbWFnaWNcbiIKKyN+IG1zZ3N0ciAiJXM6IGVsIGNyYW1mcyDDqXMgaW52w6BsaWQsIGxhIG3DoGdpYSDDqXMgZXJyw7JuaWFcbiIKKworI34gbXNnaWQgIiVzOiB3YXJuaW5nLS1maWxlIGxlbmd0aCB0b28gbG9uZywgcGFkZGVkIGltYWdlP1xuIgorI34gbXNnc3RyICIlczogYXbDrXM7IGxhIGxvbmdpdHVkIGRlbCBmaXR4ZXIgw6lzIG1hc3NhIGxsYXJnYSwgcG90c2VyIMOpcyB1bmEgaW1hdGdlIGFtYiBmYXJjaW1lbnQ/XG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWNyYyBlcnJvclxuIgorI34gbXNnc3RyICIlczogZWwgY3JhbWZzIMOpcyBpbnbDoGxpZCwgZXJyb3IgZGUgY3JjXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBzdXBlcmJsb2NrXG4iCisjfiBtc2dzdHIgIiVzOiBlbCBjcmFtZnMgw6lzIGludsOgbGlkLCBlbCBzdXBlcmJsb2Mgw6lzIGVycm9uaVxuIgorCisjfiBtc2dpZCAiZmxvY2s6IHVua25vd24gb3B0aW9uLCBhYm9ydGluZy5cbiIKKyN+IG1zZ3N0ciAiZmxvY2s6IGVzIGRlc2NvbmVpeCBsJ29wY2nDsywgcydlc3TDoCBhdm9ydGFudC5cbiIKKworI34gbXNnaWQgIlVzYWdlIGZsb2NrIFstLXNoYXJlZF0gWy0tdGltZW91dD1zZWNvbmRzXSBmaWxlbmFtZSBjb21tYW5kIHthcmcgYXJnLi4ufVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogZmxvY2sgWy0tc2hhcmVkIHwgLS10aW1lb3V0PXNlZ29uc10gZml0eGVyIG9yZHJlIHthcmcgYXJnLi4ufVxuIgorCisjfiBtc2dpZCAiU3ludGF4IGVycm9yOiAnJXMnXG4iCisjfiBtc2dzdHIgIkVycm9yIGRlIHNpbnRheGk6ICclcydcbiIKKworI34gbXNnaWQgIk5vIHN1Y2ggcGFyYW1ldGVyIHNldDogJyVzJ1xuIgorI34gbXNnc3RyICJObyBzJ2hhIGVzcGVjaWZpY2F0IGFxdWV0IHBhcsOgbWV0cmU6ICclcydcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLXAgXSBkZXYgbmFtZVxuIgorI34gbXNnc3RyICIgICAlcyBbIC1wIF0gbm9tIGRlbCBkaXNwb3NpdGl1XG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IHNpemUgc2VjdCBoZWFkcyB0cmFja3Mgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBkaXNwb3NpdGl1IG1pZGEgc2VjdG9ycyBjYXDDp2FscyBwaXN0ZXMgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkaXNwb3NpdGl1XG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRpc3Bvc2l0aXVcbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJubyBlcyBwb3Qgb2JyaXIgL2Rldi91cmFuZG9tIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCByYW5kb20gZGF0YSBmcm9tIC9kZXYvdXJhbmRvbSIKKyN+IG1zZ3N0ciAibm8gcydoYSBwb2d1dCBsbGVnaXIgbGVzIGRhZGVzIGFsZWF0w7JyaWVzIGRlIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJubyBzJ2hhIHBvZ3V0IGV4ZWN1dGFyIHN0YXQoJXMpIgorCisjfiBtc2dpZCAiJXMgZG9lc24ndCBoYXZlIHRoZSBjb3JyZWN0IGZpbGVtb2RlcyIKKyN+IG1zZ3N0ciAiJXMgbm8gdMOpIGVscyBtb2RlcyBkZSBmaXR4ZXIgY29ycmVjdGVzIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVhZCBkYXRhIGZyb20gJXMiCisjfiBtc2dzdHIgIm5vIHMnaGEgcG9ndXQgbGxlZ2lyIGRhZGVzIGRlICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRvbyBtYW55IHVzZXJzIGxvZ2dlZCBvbiBhbHJlYWR5LlxuIgorI34gIlRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhpIGhhIG1hc3NhIHVzdWFyaXMgZW4gYWN0aXUgZW4gZWwgc2lzdGVtYS5cbiIKKyN+ICJQcm92ZXUtaG8gbcOpcyBlbmRhdmFudC5cbiIKKworI34gbXNnaWQgIllvdSBoYXZlIHRvbyBtYW55IHByb2Nlc3NlcyBydW5uaW5nLlxuIgorI34gbXNnc3RyICJFc3RldSBleGVjdXRhbnQgbWFzc2EgcHJvY2Vzc29zLlxuIgorCisjfiBtc2dpZCAiVGhlIHBhc3N3b3JkIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMsIHRyeSBhZ2Fpbi5cbiIKKyN+IG1zZ3N0ciAiTGEgY29udHJhc2VueWEgaGEgZGUgdGVuaXIgY29tIGEgbcOtbmltIDYgY2Fyw6BjdGVycywgaW50ZW50ZXUtaG8gZGUgbm91LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBwYXNzd29yZCBtdXN0IGNvbnRhaW4gY2hhcmFjdGVycyBvdXQgb2YgdHdvIG9mIHRoZSBmb2xsb3dpbmdcbiIKKyN+ICJjbGFzc2VzOiAgdXBwZXIgYW5kIGxvd2VyIGNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBub24gYWxwaGFudW1lcmljXG4iCisjfiAiY2hhcmFjdGVycy4gU2VlIHBhc3N3ZCgxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxhIGNvbnRyYXNlbnlhIGhhIGRlIGNvbnRlbmlyIGNhcsOgY3RlcnMgZCdhbGd1bmEgZGUgbGVzIHNlZ8O8ZW50cyBjbGFzZXM6XG4iCisjfiAibGxldHJlcyBtYWrDunNjdWxlcyBpIG1pbsO6c2N1bGVzLCBkw61naXRzIGkgY2Fyw6BjdGVycyBubyBhbGZhbnVtw6hyaWNzLlxuIgorI34gIlBlciBhIG3DqXMgaW5mb3JtYWNpw7MgY29uc3VsdGV1IHBhc3N3ZCgxKS5cbiIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgcmV1c2UgdGhlIG9sZCBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiTm8gcG9kZXUgdG9ybmFyIGEgdXNhciB1bmEgY29udHJhc2VueWEgYW50aWdhLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHVzZXJuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICJObyB1c2V1IHJlcyBzaW1pbGFyIGFsIHZvc3RyZSBub20gZCd1c3VhcmkgcGVyIGNvbnRyYXNlbnlhLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHJlYWxuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICJObyB1c2V1IHJlcyBzaW1pbGFyIGFsIHZvc3RyZSBub20gcmVhbCBwZXIgY29udHJhc2VueWEuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFt1c2VybmFtZSBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogcGFzc3dkIFtub21fdXN1YXJpIFtjb250cmFzZW55YV1dXG4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgbWF5IHVzZSB0aGUgb25lIGFuZCB0d28gYXJndW1lbnQgZm9ybXMuXG4iCisjfiBtc2dzdHIgIk5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCB1c2FyIGxlcyBmb3JtZXMgZCd1biBpIGRvcyBhcmd1bWVudHMuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFstZm9xc3ZWXSBbdXNlciBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJGb3JtYSBkJ8O6czogcGFzc3dkIFstZm9xc3ZWXSBbdXN1YXJpIFtjb250cmFzZW55YV1dXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZmluZCBsb2dpbiBuYW1lIgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBlbCBub20gZCdlbnRyYWRhIgorCisjfiBtc2dpZCAiT25seSByb290IGNhbiBjaGFuZ2UgdGhlIHBhc3N3b3JkIGZvciBvdGhlcnMuXG4iCisjfiBtc2dzdHIgIk5vbcOpcyBsJ3VzdWFyaSByb290IHBvdCBjYW52aWFyIGxhIGNvbnRyYXNlbnlhIGQnYWx0cmVzIHVzdWFyaXMuXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBmaW5kIHVzZXJuYW1lIGFueXdoZXJlLiBJcyBgJXMnIHJlYWxseSBhIHVzZXI/IgorI34gbXNnc3RyICJObyBzJ2hhIHBvZ3V0IHRyb2JhciBlbmxsb2MgZWwgbm9tIGQndXN1YXJpLiBgJXMnIMOpcyByZWFsbWVudCB1biB1c3Vhcmk/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICJOb23DqXMgZXMgcG9kZW4gY2FudmlhciBsZXMgY29udHJhc2VueWVzIGxvY2Fscy4gVXNldSB5cHBhc3N3ZC4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIkVsIFVJRCBpIGVsIG5vbSBkJ3VzdWFyaSBubyBjb2luY2lkZWl4ZW4sIHNvdSB1biBpbXBvc3Rvci4iCisKKyN+IG1zZ2lkICJDaGFuZ2luZyBwYXNzd29yZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiUydlc3TDoCBjYW52aWFudCBsYSBjb250cmFzZW55YSBwZXIgYSAlc1xuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJDb250cmFzZW55YSBpbMK3bGVnYWwsIGltcG9zdG9yLiIKKworI34gbXNnaWQgIkVudGVyIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJFbnRyZXUgbGEgbm92YSBjb250cmFzZW55YTogIgorCisjfiBtc2dpZCAiUmUtdHlwZSBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiUmVlc2NyaXZpdSBsYSBub3ZhIGNvbnRyYXNlbnlhOiAiCisKKyN+IG1zZ2lkICJZb3UgbWlzc3BlbGxlZCBpdC4gUGFzc3dvcmQgbm90IGNoYW5nZWQuIgorI34gbXNnc3RyICJMJ2hldSBlc2NyaXQgbWFsYW1lbnQuIE5vIHMnaGEgY2FudmlhdC4iCisKKyN+IG1zZ2lkICJST09UIFBBU1NXT1JEIENIQU5HRUQiCisjfiBtc2dzdHIgIlMnSEEgQ0FOVklBVCBMQSBDT05UUkFTRU5ZQSBERUwgU1VQRVJVU1VBUkkgKFJPT1QpIgorCisjfiBtc2dpZCAicGFzc3dvcmQgY2hhbmdlZCBieSByb290LCB1c2VyICVzIgorI34gbXNnc3RyICJlbCBzdXBlcnVzdWFyaSAocm9vdCkgaGEgY2FudmlhdCBsYSBjb250cmFzZW55YTsgdXN1YXJpICVzIgorCisjfiBtc2dpZCAiY2FsbGluZyBzZXRwd25hbSB0byBzZXQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgInMnZXN0w6AgY3JpZGFudCBzZXRwd25hbSBwZXIgZXN0YWJsaXIgbGEgY29udHJhc2VueWEuXG4iCisKKyN+IG1zZ2lkICJQYXNzd29yZCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICIqTk8qIHMnaGEgY2FudmlhdCBsYSBjb250cmFzZW55YS4gSW50ZW50ZXUtaG8gbcOpcyBlbmRhdmFudC5cbiIKKworI34gbXNnaWQgIm1vdW50OiB0aGlzIHZlcnNpb24gd2FzIGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgdGhlIHR5cGUgYG5mcyciCisjfiBtc2dzdHIgIm1vdW50OiBhcXVlc3RhIHZlcnNpw7MgaGEgZXN0YXQgY29tcGlsYWRhIHNlbnNlIHN1cG9ydCBwZXIgYWwgdGlwdXMgYG5mcyciCisKKyN+IG1zZ2lkICIlczogbm90IGNvbXBpbGVkIHdpdGggbWluaXggdjIgc3VwcG9ydFxuIgorI34gbXNnc3RyICIlczogbm8gcydoYSBjb21waWxhdCBhbWIgc3Vwb3J0IHBlciBhIG1pbml4IHYyXG4iCisKKyN+IG1zZ2lkICJCb290ICglMDJYKSIKKyN+IG1zZ3N0ciAiQXJyZW4uKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSAoJTAyWCkiCisjfiBtc2dzdHIgIkNhcCAoJTAyWCkiCisKKyN+IG1zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiRmFsbGEgZGVsIGlvY3RsIEJMS0dFVFNJWkUgcGVyIGEgJXNcbiIKKworI34gbXNnaWQgIiVzOiBbJTA0eF06JWxkICglcykgb2Zmc2V0ICVkLCAlcyBlbmNyeXB0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBbJTA0eF06JWxkICglcykgZGVzcGxhw6dhbWVudCAlZCwgJXMgZW5jcmlwdGFjacOzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS5cbiIKKyN+ICIgICAgICAgTWF5YmUgL2Rldi9sb29wIyBoYXMgYSB3cm9uZyBtYWpvciBudW1iZXI/IgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IE5vIGVzIHBvdCB0cm9iYXIgY2FwIGRpc3Bvc2l0aXUgbG9vcC5cbiIKKyN+ICIgICAgICAgUG9kcmlhIHNlciBxdWUgL2Rldi9sb29wIyB0aW5ndWkgdW4gbsO6bWVybyBtYWpvciBpbmNvcnJlY3RlPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZSAodGhlbiByZWNvbXBpbGUgb3IgYGluc21vZCBsb29wLm8nKSwgb3JcbiIKKyN+ICIgICAgICAgbWF5YmUgL2Rldi9sb29wIyBoYXMgdGhlIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogTm8gZXMgcG90IHRyb2JhciBjYXAgZGlzcG9zaXRpdSBsb29wLiBQb3RzZXIgYXF1ZXN0IG51Y2xpIG5vXG4iCisjfiAiICAgICAgIGVsIHJlY29uZWd1aSAoc2kgZXMgYWl4w7IsIHJlY29tcGlsZXUgbyBmZXUgYGluc21vZCBsb29wLm8nKVxuIgorI34gIiAgICAgICBvIHRhbWLDqSBwb2RyaWEgc2VyIHF1ZSAvZGV2L2xvb3AjIHRpbmd1aSB1biBuw7ptZXJvIG1ham9yIGluY29ycmVjdGUuIgorCisjfiBtc2dpZCAiSW5pdCAodXAgdG8gMTYgaGV4IGRpZ2l0cyk6ICIKKyN+IG1zZ3N0ciAiSW5pY2lhbGl0emFjacOzIChmaW5zIGEgMTYgZMOtZ2l0cyBoZXhhZGVjaW1hbHMpOiAiCisKKyN+IG1zZ2lkICJOb24taGV4IGRpZ2l0ICclYycuXG4iCisjfiBtc2dzdHIgIkTDrWdpdCBubyBoZXhhZGVjaW1hbCAnJWMnLlxuIgorCisjfiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZ2V0IGtleSBmb3IgZW5jcnlwdGlvbiBzeXN0ZW0gJWRcbiIKKyN+IG1zZ3N0ciAiTm8gY29uZWMgY29tIG9idGluZHJlIGxhIGNsYXUgcGVyIGFsIHNpc3RlbWEgZCdlbmNyaXB0YWNpw7MgJWRcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBkdXBsaWNhdGUgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGR1cGxpY2FkYTsgbm8gZXMgbXVudGFyw6AiCisKKyN+IG1zZ2lkICJtb3VudDogdGhlIGxhYmVsICVzIG9jY3VycyBvbiBib3RoICVzIGFuZCAlcyAtIG5vdCBtb3VudGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsJ2V0aXF1ZXRhICVzIGFwYXJlaXggZW4gJXMgaSAlczsgbm8gcydoYSBtdW50YXRcbiIKZGlmZiAtLWdpdCBhL3BvL2NzLnBvIGIvcG8vY3MucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjI1MGZhZAotLS0gL2Rldi9udWxsCisrKyBiL3BvL2NzLnBvCkBAIC0wLDAgKzEsMjY5MTQgQEAKKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMKKyMgQ3plY2ggdHJhbnNsYXRpb24gb2YgdXRpbC1saW51eC4gCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjCisjIEppxZnDrSBQYXZsb3Zza8O9IDxwYXZsb3Zza0BmZi5jdW5pLmN6PiwgMTk5OSAtIDIwMDEuCisjIFBldHIgUMOtc2HFmSA8cGV0ci5waXNhckBhdGxhcy5jej4sIDIwMDYuCisjIFZsYWRpbcOtciBNaWNobCA8dmxhZGltaXIubWljaGxAc2V6bmFtLmN6PiwgMjAwNworIyBQZXRyIFDDrXNhxZkgPHBldHIucGlzYXJAYXRsYXMuY3o+LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEwLCAyMDExLCAyMDEyLCAyMDEzLgorIyBQZXRyIFDDrXNhxZkgPHBldHIucGlzYXJAYXRsYXMuY3o+LCAyMDE0LCAyMDE1LCAyMDE2LCAyMDE3LCAyMDE4LgorIworIyBlamVjdCB0b29sIG1lc3NhZ2VzIG1lcmdlZCBmcm9tIGVqZWN0LTIuMS41OgorIyBKZWZmIFRyYW50ZXIgPHRyYW50ZXJAcG9ib3guY29tPiwgMjAwNS4KKyMgTWFyZWsgxIxlcm5vY2vDvSA8bWFyZWtAbWFuZXQuY3o+LCAyMDA2LgorIworIyBiaW5kIChtb3VudCkg4oaSIHbDoXphbsOpIHDFmWlwb2plbsOtCisjIGJvb3Qg4oaSIHNwdcWhdMSbbsOtIHN5c3TDqW11CisjIGJvb3RhYmxlwqDihpIgemF2ZWRpdGVsbsO9L3N0YXJ0b3ZhY8OtCisjIGJvb3RmaWxlIChTR0kpIOKGkiBzdGFyb3ZhY8OtIHNvdWJvcgorIyBkZWNvbmZpZ3VyZWQg4oaSIG9kbmFzdGF2ZW7DvQorIyBkaXNjYXJkIChibG9jaykg4oaSIHphaG9kaXQKKyMgZGlzcGF0Y2hpbmcgbW9kZSDihpIgcmXFvmltIHJvemhvZG92w6Fuw60KKyMgKGRpc2MpIGRyaXZlIOKGkiAoZGlza292w6EpIG1lY2hhbmlrYQorIyBkdW1wIChwYXJ0aXRpb24gdGFibGUgYXMgYSBzY3JpcHQpIOKGkiBleHBvcnRvdmF0CisjIGZhdGFsIGVycm9yIOKGkiBuZXDFmWVrb25hdGVsbsOhIGNoeWJhCisjIGh1c2ggbG9naW4g4oaSIHRpY2jDqSBwxZlpaGzDocWhZW7DrSwgIChsb2dpbig4KSkKKyMgaW5vZGUg4oaSIGktdXplbCAoc2Ugc3Bvam92bsOta2VtKSBYWFg6IGUyZnNwcm9ncyBzcG9qb3Zuw61rIG5lcMOtxaFlCisjIGRpc2sgbGFiZWwg4oaSIHBvcGlzIGRpc2t1CisjIChmaWxlIHN5c3RlbSkgbGFiZWwg4oaSIGptZW5vdmthCisjIChTRUxpbnV4KSBsYWJlbCDihpIgem5hxI1rYQorIyBwYXJ0aXRpb24g4oaSIG9kZMOtbAorIyAoR1BUKSBwYXJ0aXRpb24gbGFiZWwg4oaSIG7DoXpldiBvZGTDrWx1CisjIHBlcnNvbmFsaXR5IOKGksKgY2hhcmFrdGVyaXN0aWthIGFyY2hpdGVrdHVyeQorIyBwcmltYXJ5IGdyb3VwIOKGkiBobGF2bsOtIHNrdXBpbmEKKyMgcmVzb3VyY2Ug4oaSIHByb3N0xZllZGVrCisjIChmaWxlIHN5c3RlbSkgc2lnbmF0dXJlIOKGkiB2em9yZWMKKyMgc3dhcCDihpIgb2RrbMOhZGFjw60gKHByb3N0b3IpCisjIHRyaW0gKGZpbGUgc3lzdGVtKSDihpIgdWtsaWRpdCwgemFob2RpdCB2b2xuw6kgYmxva3kKKyMgem9uZSBtb2RlbCDihpIgbW9kZWwgesOzbnkKKyMKKyMgVE9ETzogVnl2b2rDocWZaSBwb3R2cmRpbGksIMW+ZSBub3bDoSBzeW50YXhlIHByb23Em25uw71jaCBob2Rub3QgamUgbWFsw71taSBww61zbWVueQorIyAoSE9ETk9UQSDihpIgPGhvZG5vdGE+KS4gUMWZZWtsYWQgYnVkZSBwxZlpenDFr3NvYmVuLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjMyLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE4LTAzLTAyIDE5OjQzKzAxOjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBQZXRyIFDDrXNhxZkgPHBldHIucGlzYXJAYXRsYXMuY3o+XG4iCisiTGFuZ3VhZ2UtVGVhbTogQ3plY2ggPHRyYW5zbGF0aW9uLXRlYW0tY3NAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiBjc1xuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MzsgcGx1cmFsPShuPT0xKSA/IDAgOiAobj49MiAmJiBuPD00KSA/IDEgOiAyO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPHphxZnDrXplbsOtIGRpc2t1PiA8xI3DrXNsbyBvZGTDrWx1PiA8emHEjcOhdGVrPiA8ZMOpbGthPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAixZhla25lIGrDoWRydSBvwqBleGlzdGVuY2kgemFkYW7DqWhvIG9kZMOtbHUuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjUzIGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNDQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTMKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxMzMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTUgbWlzYy11dGlscy9raWxsLmM6MjY5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTEgbWlzYy11dGlscy9yZW5hbWUuYzoxOTkgbWlzYy11dGlscy93aGVyZWlzLmM6NTE4CisjOiBzeXMtdXRpbHMvZmxvY2suYzoxNzUgc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHN5cy11dGlscy9sZGF0dGFjaC5jOjM2OAorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE0NiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDEgc3lzLXV0aWxzL3R1bmVscC5jOjE1MgorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NTkgdGVybS11dGlscy9hZ2V0dHkuYzo4NjAgdGVybS11dGlscy9hZ2V0dHkuYzo4NjgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODY5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIm3DoWxvIGFyZ3VtZW50xa8iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiJXMgbmVsemUgb3RldsWZw610IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDAKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCDEjcOtc2xhIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHphxI3DoXRrdSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEwCittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBkw6lsa3kiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjY0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIm9kZMOtbCBzZSBuZXBvZGHFmWlsbyBwxZlpZGF0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJuYXN0YXbDrSBwb3V6ZSBwcm8gxI10ZW7DrSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgIm5hc3RhdsOtIHBybyDEjXRlbsOtL3rDoXBpcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAiemppc3TDrSB6ZGEgamUgemFrw6F6w6FuIHrDoXBpcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJ6amlzdMOtIHBvZHBvcnUgemFoYXpvdsOhbsOtIG51bCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiemppc3TDrSB2ZWxpa29zdCBsb2dpY2vDqWhvIGJsb2t1IChzZWt0b3J1KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgInpqaXN0w60gdmVsaWtvc3QgZnl6aWNrw6lobyBibG9rdSAoc2VrdG9ydSkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiemppc3TDrSBtaW5pbcOhbG7DrSB2ZWxpa29zdCBJL08iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiemppc3TDrSBvcHRpbcOhbG7DrSB2ZWxpa29zdCBJL08iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiemppc3TDrSBwb3N1biBwcm8gemFyb3Zuw6Fuw60gdsKgYmFqdGVjaCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiemppc3TDrSBtYXhpbcOhbG7DrSBwb8SNZXQgc2VrdG9yxa8gdsKgcG/FvmFkYXZrdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgInpqaXN0w60gdmVsaWtvc3QgYmxva3UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIm5hc3RhdsOtIHZlbGlrb3N0IGJsb2t1IG5hIGRlc2tyaXB0b3J1IHNvdWJvcnUgb3RldsOtcmFqw61jw61obyBibG9rb3bDqSB6YcWZw616ZW7DrSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgInpqaXN0w60gcG/EjWV0IHNla3RvcsWvIGpha28gMzJiaXRvdsOpIMSNw61zbG8gKHphc3RhcmFsw6ksIHBvdcW+aWp0ZSAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJ6amlzdMOtIHZlbGlrb3N0IHbCoGJhanRlY2giCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJuYXN0YXbDrSBkb3DFmWVkbsOpIMSNdGVuw60gc2VrdG9yxa8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJ6amlzdMOtIG5hc3RhdmVuw60gZG9wxZllZG7DqWhvIMSNdGVuw60gc2VrdG9yxa8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIm5hc3RhdsOtIGRvcMWZZWRuw6kgbmHEjcOtdMOhbsOtIHBybyBzb3Vib3JvdsO9IHN5c3TDqW0iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInpqaXN0w60gbmFzdGF2ZW7DrSBkb3DFmWVkbsOpaG8gbmHEjcOtdMOhbsOtIHBybyBzb3Vib3JvdsO9IHN5c3TDqW0iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJ2eXByw6F6ZG5pdCBidWZmZXJ5IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibmHEjXRlIHpub3Z1IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXZ8LXFdIHDFmcOta2F6eSB6YcWZw616ZW7DrVxuIgorIiAlMSRzIC0tcmVwb3J0IFt6YcWZw616ZW7DrV1cbiIKKyIgJTEkcyAtaHwtVlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIlphdm9sw6EgesKgcMWZw61rYXpvdsOpIMWZw6Fka3kgSU9DVEwgYmxva292w6lobyB6YcWZw616ZW7DrS4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC1xICAgICAgICAgICAgIHRpY2jDvSByZcW+aW0iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKK21zZ2lkICIgLXYgICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorbXNnc3RyICIgLXYgICAgICAgICAgICAgdXBvdsOtZGFuw70gcmXFvmltIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiAgICAgLS1yZXBvcnQgICB2eXDDrcWhZSBobMOhxaFlbsOtIHBybyB6YWRhbsOpIChuZWJvIHbFoWVjaG5hKSB6YcWZw616ZW7DrSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworbXNnaWQgIkF2YWlsYWJsZSBjb21tYW5kczoiCittc2dzdHIgIkRvc3R1cG7DqSBwxZnDrWthenk6IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiAlLTI1cyB2csOhdMOtIHZlbGlrb3N0IHZ5asOhZMWZZW5vdSB2wqA1MTJiYWp0b3bDvWNoIHNla3RvcmVjaFxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIsW+w6FkbsOpIHphxZnDrXplbsOtIG5lYnlsbyB6YWTDoW5vIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAidmVsaWtvc3QgemHFmcOtemVuw60gbmVieWxvIG1vxb5uw6kgemppc3RpdCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJOZXpuw6Ftw70gcMWZw61rYXo6ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJwxZllcMOtbmHEjSAlcyB2ecW+YWR1amUgYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiY2h5YmEgSU9DVEwgbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICJQxZnDrWtheiDigJ4lc+KAnCBzZWxoYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyB1c3DEm2wuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IGRlc2tyaXB0b3Igc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogemHEjcOhdGVrIG9kZMOtbHUgc2UgbmVwb2RhxZlpbG8gemUgc3lzZnMgbmHEjcOtc3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogUHJ2bsOtU2VrdC4gICAgICAgIFZlbGlrb3N0IFphxZnDrXplbsOtXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIlphdmVkaXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiUMWZZXBuZSBwxZnDrXpuYWsgemF2ZWRpdGVsbm9zdGkgYWt0dcOhbG7DrW11IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJTbWF6YXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU21hxb5lIGFrdHXDoWxuw60gb2Rkw61sIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAiWm3Em25pdCB2ZWxpa29zdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZWR1Y2Ugb3IgZW5sYXJnZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlptZW7FocOtIG5lYm8genbEm3TFocOtIGFrdHXDoWxuw60gb2Rkw61sIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm92w70iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJWeXR2b8WZw60gbm92w70gb2Rkw61sIHZlIHZvbG7DqW0gcHJvc3RvcnUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiS29uZWMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJVa29uxI3DrSBwcm9ncmFtIGJleiB1bG/FvmVuw60gem3Em24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzggbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMxIGxpYmZkaXNrL3NyYy9ncHQuYzozMTMyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIkRydWgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiWm3Em27DrSBkcnVoIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAiTsOhcG92xJtkYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiVnlww63FoWUgbsOhcG92xJtkdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJTb3J0IgorbXNnc3RyICJTZcWZYWRpdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiT3ByYXbDrSDFmWF6ZW7DrSBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiVWxvxb5pdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJVbG/FvsOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbmEgZGlzayAobcWvxb5lIHpuacSNaXQgZGF0YSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiRXhwb3J0b3ZhdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiRXhwb3J0dWplIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgamFrbyBza3JpcHQgcHJvIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgInZuaXTFmW7DrSBjaHliYTogbmVwb2Rwb3JvdmFuw70gZHJ1aCBkaWFsb2d1ICVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAocMWZaXBvamVuKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJOw6F6ZXYgb2Rkw61sdToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiVVVJRCBvZGTDrWx1OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJUeXAgb2Rkw61sdToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyMworbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICJBdHJpYnV0eToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIlVVSUQgc291Ym9yb3bDqWhvIHN5c3TDqW11OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkptZW5vdmthIHNvdWJvcm92w6lobyBzeXN0w6ltdToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJTb3Vib3JvdsO9IHN5c3TDqW06IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjUKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiQm9kIHDFmWlwb2plbsOtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIkRpc2s6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIlZlbGlrb3N0OiAlcywgJSdqdSBiYWp0xa8sICUnanUgc2VrdG9yxa8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJQb3BpczogJXMsIGlkZW50aWZpa8OhdG9yOuKAryVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJQb3BpczogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiU23DrSBiw710IG7DoXNsZWRvdsOhbm8gTSBwcm8gTWlCLCBHIHBybyBHaUIsIFQgcHJvIFRpQiBuZWJvIFMgcHJvIHNla3RvcnkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIlByb3PDrW0sIHphZGVqdGUgdmVsaWtvc3QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk5lam1lbsWhw60gdmVsaWtvc3QgamUgJWp1IGJhanTFry4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiTmVqdsSbdMWhw60gdmVsaWtvc3QgamUgJWp1IGJhanTFry4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiVmVsaWtvc3Qgc2UgbmV6ZGHFmWlsbyByb3plYnJhdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk2OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVnlicmF0IGRydWggb2Rkw61sdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiWmFkZWp0ZSBuw6F6ZXYgc291Ym9ydSBwcm8gc2tyaXB0OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlNrcmlwdCBzZSBwb3XFvmlqZSBuYSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IHbCoHBhbcSbdGkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJOZWx6ZSBvdGV2xZnDrXQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJSb3pib3Igc291Ym9ydSBzZSBza3JpcHRlbSAlcyBzZWxoYWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiU2tyaXB0ICVzIHNlIG5lcG9kYcWZaWxvIHBvdcW+w610IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDkKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiU291xI1hc27DoSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IHbCoHBhbcSbdGkgYnVkZSBleHBvcnRvdsOhbmEgZG8gc291Ym9ydS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIkFsb2thY2Ugb2JzbHVoeSBza3JpcHR1IHNlbGhhbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA2MworbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiTmHEjXRlbsOtIHJvenZyxb5lbsOtIGRpc2t1IGRvIHNrcmlwdHUgc2VsaGFsby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJSb3p2csW+ZW7DrSBkaXNrdSBieWxvIMO6c3DEm8WhbsSbIHZ5ZXhwb3J0b3bDoW5vLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJaw6FwaXMgc2tyaXB0dSAlcyBzZWxoYWwuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiVnlicmF0IGRydWggcG9waXN1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTkgZGlzay11dGlscy9mZGlzay5jOjEwNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg4Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlphxZnDrXplbsOtIG5lb2JzYWh1amUgem7DoW1vdSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICJWeWJlcnRlIGRydWggcG9waXN1LCBrdGVyw70gY2hjZXRlIHZ5dHZvxZlpdCwgbmVibyBzdGlza27Em3RlIOKAnkzigJwsIGFieXN0ZSB6YXZlZGxpIHNrcmlwdCB6ZSBzb3Vib3J1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJUb3RvIGplIGNmZGlzaywgcHJvZ3JhbSBwcm8gdnl0dsOhxZllbsOtIG9kZMOtbMWvIHBvc3RhdmVuw70gbmEga25paG92bsSbIGN1cnNlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJVbW/FvsWIdWplIHZ5dHbDocWZZW7DrSwgbWF6w6Fuw60gYSDDunByYXZ1IG9kZMOtbMWvIG5hIGJsb2tvdsOpbSB6YcWZw616ZW7DrS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJQxZnDrWtheiAgICAgIFbDvXpuYW0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFDFmWVwbmUgYWt0dcOhbG7DrW11IG9kZMOtbHUgcMWZw616bmFrIHphdmVkaXRlbG5vc3RpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFNtYcW+ZSBha3R1w6FsbsOtIG9kZMOtbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgVnlww63FoWUgdHV0byBuw6Fwb3bEm2R1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgVnl0dm/FmWl0IG5hIHZvbG7DqW0gbcOtc3TEmyBub3bDvSBvZGTDrWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIFVrb27EjcOtIHByb2dyYW0gYmV6IHVsb8W+ZW7DrSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICBPcHJhdsOtIHBvxZlhZMOtIG9kZMOtbMWvIChwb3V6ZSBwxZlpIG5lcG/FmcOhZGt1KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBabcSbbsOtIGRydWggb2Rkw61sdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICBFeHBvcnR1amUgcm96dnLFvmVuw60gZGlza3UgamFrbyBza3JpcHQga29tcGF0aWJpbG7DrSBzZSBzZmRpc2tlbSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgVWxvxb7DrSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IG5hIGRpc2sgKG11c8OtdGUgemFkYXQgdmVsa8OpIFcpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIEplbGlrb8W+IHTDrW10byBtxa/FvmUgem5pxI1pdCBkYXRhIG5hIGRpc2t1LCBtdXPDrXRlIHRvIHBvdHZyZGl0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICBuZWJvIG9kbcOtdG5vdXQgbmFwc8OhbsOtbSDigJ55ZXPigJwgKGFubykgbmVibyDigJ5ub+KAnCAobmUpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIHggICAgICAgICAgWm9icmF6w60vc2tyeWplIGRhbMWhw60gw7pkYWplIG/CoG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJOYWhvcnUgICAgICAgUMWZZXN1bmUga3Vyem9yIG5hIHDFmWVkY2jDoXplasOtY8OtIG9kZMOtbC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIkRvbMWvICAgICAgICAgUMWZZXN1bmUga3Vyem9yIG5hIGRhbMWhw60gb2Rkw61sLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIlZsZXZvICAgICAgICBQxZllc3VuZSBrdXJ6b3IgbmEgcMWZZWRjaMOhemVqw61jw60gcG9sb8W+a3UgbmFiw61ka3kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIlZwcmF2byAgICAgICBQxZllc3VuZSBrdXJ6b3IgbmEgZGFsxaHDrSBwb2xvxb5rdSBuYWLDrWRreSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiUG96bsOhbWthOiBWxaFlY2hueSBwxZnDrWthenkgbW9ob3UgYsO9dCB6YWTDoW55IG1hbMO9bWkgaSB2ZWxrw71taSBww61zbWVueSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgIihzwqB2w71qaW1rb3UgesOhcGlzdSAtIFcpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIkRhbMWhw60gcG9kcm9ibm9zdGkgb8KgemHFmcOtemVuw60gbHplIHrDrXNrYXQgbsOhc3Ryb2ppIGxzYmxrKDgpIGEgcGFydHgoOCkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJTdGlza27Em3RlIGtsw6F2ZXN1IHBybyBwb2tyYcSNb3bDoW7DrS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJQxZnDrXpuYWsgbmVieWxvIG1vxb5uw6kgcMWZZXBub3V0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIk9kZMOtbCAlenUgbmVieWxvIG1vxb5uw6kgc21hemF0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA5IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJPZGTDrWwgJXp1IGplIHNtYXphbsO9LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiVmVsaWtvc3Qgb2Rkw61sdTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJEcnVoIG9kZMOtbHUgJXp1IGJ5bCB6bcSbbsSbbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlR5cCBvZGTDrWx1ICV6dSBqZSBuZXptxJtuxJtuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0Cittc2dpZCAiTmV3IHNpemU6ICIKK21zZ3N0ciAiTm92w6EgdmVsaWtvc3Q6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIk9kZMOtbCDEjS7igK8lenUgem3Em25pbCB2ZWxpa29zdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQyNyBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDMgZGlzay11dGlscy9mZGlzay5jOjEwNjMKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5MQorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiWmHFmcOtemVuw60gb3RldsWZZW5vIGplbiBwcm8gxI10ZW7DrS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiSnN0ZSBzaSBqaXN0aSwgxb5lIGNoY2V0ZSB1bG/Fvml0IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbmEgZGlzaz8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJOYXBpxaF0ZSDigJ5hbm/igJwgbmVibyDigJ5uZeKAnCBuZWJvIHN0aXNrbsSbdGUgRXNjIHBybyBvcHXFoXTEm27DrSBkaWFsb2d1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJhbm8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0MAorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJUYWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IG5lYnlsYSBuYSBkaXNrIHphcHPDoW5hLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIlrDoXBpcyBwb3Bpc3UgZGlza3Ugc2VsaGFsLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIlRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgYnlsYSB6bcSbbsSbbmEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICJWZXptxJt0ZSBuYSB2xJtkb23DrSwgxb5lIHrDoXpuYW15IHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UgbmVqc291IG55bsOtIHNlxZlhemVueS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIlphxZnDrXplbsOtIGppxb4gb2JzYWh1amUgdnpvcmVjICVzLiBQxZnDrWthemVtIGvCoHrDoXBpc3UgYnVkZSBvZHN0cmFuxJtuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgInZ5dHZvxZllbsOtIG5vdsOpaG8gcG9waXN1IGRpc2t1IHNlbGhhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAib2Rkw61seSBzZSBuZXBvZGHFmWlsbyBuYcSNw61zdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW3DFmWVww61uYcSNZV0gPGRpc2s+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJab2JyYXrDrSBuZWJvIHByYWN1amUgc8KgdGFidWxrb3Ugcm96ZMSbbGVuw60gZGlza3UuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PGtkeT5dICAgICAgb2JhcnbDrSB2w71zdHVwIChhdXRvLCBhbHdheXMgW3bFvmR5XSwgbmV2ZXIgW25pa2R5XSlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM4Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8gICAgICAgICAgICAgICB6YcSNbmUgc8KgdnludWxvdmFub3UgdGFidWxrb3Ugcm96ZMSbbGVuw60gZGlza3VcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjc2IGRpc2stdXRpbHMvZmRpc2suYzo5NTAgZGlzay11dGlscy9zZmRpc2suYzoyMTIwCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDEwIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IHJlxb5pbSBiYXJldiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiYWxva2FjZSBrb250ZXh0dSBsaWJmZGlza3Ugc2VsaGFsYSIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiVzIDx6YcWZw616ZW7DrSBkaXNrdT4gPMSNw61zbG8gb2Rkw61sdT5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAixZhla25lIGrDoWRydSwgYWJ5IHphcG9tbsSbbG8gemFkYW7DvSBvZGTDrWwuXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgIm9kZMOtbCBzZSBuZXBvZGHFmWlsbyBvZHN0cmFuaXQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm3DoXR1amUgc2XigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgImhvdG92b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIk92xJvFmXVqZSBzZeKApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkNoeWJhIHDFmWkgxI10ZW7DrTogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJQb3TDrcW+ZSBwxZlpIMSNdGVuw60gY3lsaW5kcnUvaGxhdnkgJXUvJXUsIHDFmWVkcG9rbGFkICVkLCBwxZllxI10ZW5vICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJjaHlibsOhIGRhdGEgdiBjeWxpbmRydS9obGF2xJsgJXUvJXVcbiIKKyJQb2tyYcSNdWplIHNl4oCmIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDx6YcWZw616ZW7DrT5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OQorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiRm9ybcOhdHVqZSBkaXNrZXR1IG5hIG7DrXprw6kgw7pyb3ZuaS5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAgemHEjW5lIG5hIHN0b3DEmyBOICh2w71jaG96w60gamUgMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtdCwgLS10byA8Tj4gICAgICBwxZllc3RhbmUgbmEgc3RvcMSbIE5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NAorbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgcG9rdXPDrSBzZSBvcHJhdml0IHN0b3B5LCBrdGVyw6kgbmV1c3DEm2x5IHDFmWlcbiIKKyIgICAgICAgICAgICAgICAgICAgb3bEm8WZb3bDoW7DrSAobmVqdsO9xaFlIE4gcG9rdXPFrylcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NgorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAgdnlwbmUgb3bEm8WZb3bDoW7DrSBwbyBmb3Jtw6F0b3bDoW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudMKg4oCTIGZyb20iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudMKg4oCTIHRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50wqDigJMgcmVwYWlyIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc3RhdCBuYWQgJXMgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBuZW7DrSBibG9rb3bDqSB6YcWZw616ZW7DrSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAic291xI1hc27DvSB0eXAgZm9ybcOhdHUgbmVieWxvIG1vxb5uw6kgdXLEjWl0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgInN0cmFuOiAlcywgc3RvcDogJWQsIHNla3Qvc3RvcHUgJWQuIENlbGtvdsOhIGthcGFjaXRhICUnZMKga0IuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIjIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIjEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgInBvxI3DoXRlxI1uw60gc3RvcGEgemFkYW7DoSB1xb5pdmF0ZWxlbSBwxZllc2FodWplIGhyYW5pY2kgbcOpZGlhIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAia29uY292w6Egc3RvcGEgemFkYW7DoSB1xb5pdmF0ZWxlbSBwxZllc2FodWplIGhyYW5pY2kgbcOpZGlhIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQ1Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgInBvxI3DoXRlxI1uw60gc3RvcGEgemFkYW7DoSB1xb5pdmF0ZWxlbSBwxZllc2FodWplIHXFvml2YXRlbGVtIHphZGFub3Uga29uY292b3Ugc3RvcHUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJ1emF2xZllbsOtIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICJWeWJlcnRlICh2w71jaG96w60gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIlBvdcW+aWplIHNlIHbDvWNob3rDrSBvZHBvdsSbxI8gJWMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIyIGRpc2stdXRpbHMvZmRpc2suYzoyOTYgZGlzay11dGlscy9mZGlzay5jOjM3MQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyNDEgbGliZmRpc2svc3JjL2dwdC5jOjI0NjkKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJIb2Rub3RhIGplIG1pbW8gbWV6ZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIHbDvWNob3rDrSBqZSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgdsO9Y2hvesOtIGplICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgdsO9Y2hvesOtIGplICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgdsO9Y2hvesOtIGplICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2OSBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbQV1uby9bTl1lOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICLFoGVzdG7DoWN0a292w70ga8OzZCAoTCB2eXDDrcWhZSB2xaFlY2hueSBrw7NkeSk6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiVHlwIG9kZMOtbHUgKEwgdnlww63FoWUgdsWhZWNobnkgdHlweSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIlDFmcOtem5hayBrb21wYXRpYmlsaXR5IHPCoERPU2VtIGplIG5hc3RhdmVuIChaQVNUQVJBTMOJISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIlDFmcOtem5hayBrb21wYXRpYmlsaXR5IHPCoERPU2VtIG5lbsOtIG5hc3RhdmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA0IGRpc2stdXRpbHMvZmRpc2suYzo2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJEaXNrb3bDvSBvZGTDrWwgJXp1IHphdMOtbSBuZWV4aXN0dWplISIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE4IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAzCittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiTmV6bsOhbcO9IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiVHlwIG9kZMOtbHUg4oCeJXPigJwgYnlsIHptxJtuxJtuIG5hIOKAniVz4oCcLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlR5cCBvZGTDrWx1ICV6dSBqZSBuZXptxJtuxJtuOiAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBwb3N1biA9ICUnPFBSSXU2ND4sIHZlbGlrb3N0ID0gJSd6deKAr0IuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgInZvbMOhbsOtIHNlZWsgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyOAorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJuZWx6ZSDEjcOtc3QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEgbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5OAorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiUHJ2bsOtIHNla3RvciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAidm9sw6Fuw60gaW9jdGwgQkxLR0VUU0laRSBuYWQgJXMgc2VsaGFsbyIKKworIyBUaGUgJXMgaXMgYSBmaWxlIHN5c3RlbSB0eXBlCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiU3RhcsO9IHZ6b3JlYyAlcyBidWRlIG9kc3RyYW7Em24gcMWZw61rYXplbSBrwqB6w6FwaXN1LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJTdGFyw70gdnpvcmVjICVzIG1vxb5uw6EgesWvc3RhbCBuYSB6YcWZw616ZW7DrS4gRG9wb3J1xI11amUgc2UgdnnEjWlzdGl0IHphxZnDrXplbsOtIHDFmcOta2F6ZW0gd2lwZWZzKDgpIG5lYm8gZmRpc2sgLS13aXBlLCBhYnkgc2UgcMWZZWRlxaFsbyBtb8W+bsO9bSBrb2xpesOtbS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSA8ZGlzaz4gICAgIHptxJtuw60gdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdVxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIC1sIDxkaXNrPiAgdnlww63FoWUgdGFidWxrdSh5KSByb3pkxJtsZW7DrSBkaXNrdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8dmVsaWtvc3Q+ICB2ZWxpa29zdCBmeXppY2vDqWhvIGEgbG9naWNrw6lobyBzZWt0b3J1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTIKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIG5lbWHFvmUgYml0eSB6YXZhZMSbxI1lLCBrZHnFviBzZSB2eXR2w6HFmcOtIG5vdsO9XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvcGlzIGRpc2t1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTMKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxyZcW+aW0+XSByZcW+aW0g4oCeZG9z4oCcIG5lYm8g4oCebm9uZG9z4oCcICh2w71jaG96w60pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tY29sb3JbPTxrZHk+XSAgICAgICAgICAgb2JhcnbDrSB2w71zdHVwIChhdXRvLCBhbHdheXMgW3bFvmR5XSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV2ZXIgW25pa2R5XSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIHpvYnJhesOtIG9kZMOtbHkgYSBza29uxI3DrVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPHNlem5hbT4gICAgICAgICB6b2JyYXrDrSBzbG91cGNlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0eXA+ICAgICAgICAgICAgICByb3pwb3puw6EgamVuIHphZGFuw70gdHlwIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3VcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdW5pdHNbPTxqZWRub3RrYT5dICAgICAgem9icmF6dWplIHbCoGplZG5vdGvDoWNoOiDigJ5jeWxpbmRlcnPigJwgKGN5bGluZHJ5KVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWJvIOKAnnNlY3RvcnPigJwgKHNla3RvcnksIHbDvWNob3rDrSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgem9icmF6w60gdmVsaWtvc3QgemHFmcOtemVuw60gdsKgNTEyYmFqdG92w71jaFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWt0b3JlY2ggKFpBU1RBUkFMw4kpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjIKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICB2ZWxpa29zdGkgdnlwaXN1amUgdsKgYmFqdGVjaCBuYW3DrXN0byB2wqBwb2RvYsSbXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZob2Ruw6kgcHJvIMSNbG92xJtrYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC13LCAtLXdpcGUgPHJlxb5pbT4gICAgICAgICAgICB2eW1hxb5lIHZ6b3JjZSAoYXV0bywgYWx3YXlzIFt2xb5keV0gbmVib1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZXZlciBbbmlrZHldKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8a2R5PiAgIHZ5bWHFvmUgdnpvcmNlIHrCoG5vdsO9Y2ggb2Rkw61sxa8gKGF1dG8sXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyBbdsW+ZHldLCBuZXZlciBbbmlrZHldKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI3Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA8cG/EjWV0PiAgICAgICB1csSNdWplIHBvxI1ldCBjeWxpbmRyxa9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDxwb8SNZXQ+ICAgICAgICAgICB1csSNdWplIHBvxI1ldCBobGF2XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3JzIDxwb8SNZXQ+ICAgICAgICAgdXLEjXVqZSBwb8SNZXQgc2VrdG9yxa8gbmEgc3RvcHVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTAwIGRpc2stdXRpbHMvcGFydHguYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgdmVsaWtvc3RpIHNla3RvcnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IGN5bGluZHLFryIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyMgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICJvdmxhZGHEjSBwb3Bpc3UgZGlza3UgRE9TIG5lbmFsZXplbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJuZXpuw6Ftw70gcmXFvmltIGtvbXBhdGliaWxpdHkg4oCeJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgaGxhdiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHNla3RvcsWvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IHBvcGlzIGRpc2t1OiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsOhIGplZG5vdGthIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IHJlxb5pbSB2w71tYXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJWbGFzdG5vc3RpIHphxZnDrXplbsOtICh2ZWxpa29zdCBzZWt0b3J1IGEgZ2VvbWV0cmllKSBieSBtxJtseSBiw710IHBvdcW+aXR5IGplbiBzwqBqZWRuw61tIHphZGFuw71tIHphxZnDrXplbsOtbS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworbXNnaWQgImJhZCB1c2FnZSIKK21zZ3N0ciAiY2h5Ym7DvSB6cMWvc29iIHBvdcW+aXTDrSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiVsOtdGVqdGUgdsKgZmRpc2t1ICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTYKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiWm3Em255IHrFr3N0YW5vdSBwb3V6ZSB2wqBwYW3Em3RpLCBkb2t1ZCBzZSBuZXJvemhvZG5ldGUgamUgdWxvxb5pdCBuYSBkaXNrLlxuIgorIlDFmWkgcG91xb5pdMOtIHDFmcOta2F6dSB6w6FwaXN1IGJ1xI90ZSBvYmV6xZlldG7DrS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiQnlsYSBuYWxlemVuYSBoeWJyaWRuw60gR1BULiBIeWJyaWRuw60gTUJSIGJ1ZGV0ZSBtdXNldCBzeW5jaHJvbml6b3ZhdCBydcSNbsSbIChleHBlcnRuw60gcMWZw61rYXog4oCeTeKAnCkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlR5cCBwb3Bpc3UgZGlza3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJJZGVudGlmaWvDoXRvciBkaXNrdTrigK8lcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkRpc2sgJXM6ICVzLCAlJ2p1IGJhanTFrywgJSdqdSBzZWt0b3LFryIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICJHZW9tZXRyaWU6IGhsYXY6ICUnZCwgc2VrdG9yxa8gbmEgc3RvcHU6ICUnbGx1LCBjeWxpbmRyxa86ICUnbGx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJKZWRub3RreTogJXMgcG/CoCVkICogJWxkID0gJSdsZCBiYWp0ZWNoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlZlbGlrb3N0IHNla3RvcnUgKGxvZ2lja8OpaG8vZnl6aWNrw6lobyk6ICVsdSBiYWp0xa8gLyAlbHUgYmFqdMWvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICJWZWxpa29zdCBJL08gKG1pbmltw6FsbsOtL29wdGltw6FsbsOtKTogJWx1IGJhanTFryAvICVsdSBiYWp0xa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiWmFyb3Zuw6F2YWPDrSBwb3N1bjogJWx1IGJhanTFryIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIzNgorIzogZGlzay11dGlscy9mc2NrLmM6MTI1NQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAiYWxva2FjZSBpdGVyw6F0b3J1IHNlbGhhbGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAidsO9c3R1cG7DrSB0YWJ1bGt1IHNlIG5lcG9kYcWZaWxvIGFsb2tvdmF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAidsO9c3R1cG7DrSDFmcOhZGVrIHNlIG5lcG9kYcWZaWxvIGFsb2tvdmF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgInDFmWlkw6Fuw60gdsO9c3R1cG7DrWNoIGRhdGEgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiT2Rkw61sICV6dSBuZXphxI3DrW7DoSBuYSBocmFuaWNpIGZ5emlja8OpaG8gc2VrdG9ydS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtL1JBSUQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiAlenUgd2lsbCBiZSB3aXBlZC4iCittc2dzdHIgIlZ6b3JlYyBzb3Vib3JvdsOpaG8gc3lzdMOpbXUgLyBkaXNrb3bDqWhvIHBvbGUgYnVkZSBuYSBvZGTDrWx1ICV6dSB2eW1hesOhbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwOQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIkRpc2tvdsOpIG9kZMOtbHkganNvdSBjaHlibsSbIHNlxZlhemVueS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiWmHEjcOhdGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjI0MjYKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI5IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIxCittc2dpZCAiRW5kIgorbXNnc3RyICJLb25lYyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcnkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICJWZWxpa29zdCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJOZXJvemTEm2xlbsOpIG3DrXN0byAlczogJXMsICUnanUgYmFqdMWvLCAlJ2p1IHNla3RvcsWvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJuZXpuw6Ftw70gc2xvdXBlYyAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiT2JlY27DqSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgInNtYcW+ZSBvZGTDrWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgInZ5cMOtxaFlIHZvbG7DqSBuZXJvemTEm2xlbsOpIG3DrXN0byIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwCittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgInZ5cMOtxaFlIHpuw6Ftw6kgdHlweSBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAicMWZaWTDoSBub3bDvSBvZGTDrWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInpvYnJhesOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJ6bcSbbsOtIHR5cCBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAib3bEm8WZw60gdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgInZ5cMOtxaFlIMO6ZGFqZSBvwqBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgInZ5cMOtxaFlIHN1cm92w6EgZGF0YSB6wqBwcnZuw61obyBzZWt0b3J1IHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDgKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgInZ5cMOtxaFlIHN1cm92w6EgZGF0YSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IG5hIHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAib3ByYXbDrSDFmWF6ZW7DrSBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiT3N0YXRuw60iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAidnlww63FoWUgdHV0byBuYWLDrWRrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgInptxJtuw60gamVkbm90a3kgdiBuaWNoxb4ganNvdSB2eXBpc292w6FueSBpbmZvcm1hY2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgInJvesWhacWZdWrDrWPDrSBmdW5rY2UgKHBvdXplIHBybyBvZGJvcm7DrWt5KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICJTa3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgInphdmVkZSByb3p2csW+ZW7DrSBkaXNrdSB6ZSBzb3Vib3J1IHNlIHNmZGlza292w71tIHNrcmlwdGVtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiZXhwb3J0dWplIHJvenZyxb5lbsOtIGRpc2t1IGRvIHNvdWJvcnUgc2Ugc2ZkaXNrb3bDvW0gc2tyaXB0ZW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICJVbG/FvmVuw60gYSBrb25lYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAidWxvxb7DrSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IGEgdWtvbsSNw60gcHJvZ3JhbSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAidWxvxb7DrSB0YWJ1bGt1IG5hIGRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMworbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAidWtvbsSNw60gcHJvZ3JhbSBiZXogdWxvxb5lbsOtIHptxJtuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICJuw6F2cmF0IGRvIGhsYXZuw60gbmFiw61ka3kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgIm7DoXZyYXQgesKgQlNEIGZvIERPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJWeXR2b8WZZW7DrSBub3bDqWhvIHBvcGlzdSBkaXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZ5dHZvxZnDrSBwcsOhemRub3UgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrxa8gdHlwdSBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidnl0dm/FmcOtIHByw6F6ZG5vdSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2vFryB0eXB1IFNHSSAoSVJJWCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2eXR2b8WZw60gcHLDoXpkbm91IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza8WvIHR5cHUgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidnl0dm/FmcOtIHByw6F6ZG5vdSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2vFryB0eXB1IFN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2eXR2b8WZw60gdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSB0eXB1IElSSVggKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICJHZW9tZXRyaWUgKHBybyBzb3XEjWFzbsO9IHBvcGlzIGRpc2t1KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgInptxJtuw60gbW5vxb5zdHbDrSBjeWxpbmRyxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgInptxJtuw60gbW5vxb5zdHbDrSBobGF2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTcKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgInptxJtuw60gcG/EjWV0IHNla3RvcsWvIG5hIHN0b3B1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAiem3Em27DrSBHVUlEIGRpc2t1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInptxJtuw60gbsOhemV2IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiem3Em27DrSBVVUlEIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgInptxJtuw60gZMOpbGt1IHRhYnVsa3kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAidmxvxb7DrSBvY2hyYW5ub3UvaHlicmlkbsOtIE1CUiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0Cittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICJwxZllcG5lIHphc3RhcmFsw70gcMWZw616bmFrIEJJT1N1IOKAnnN0YXJ0b3ZhY8Ot4oCcIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgInDFmWVwbmUgcMWZw616bmFrIOKAnsW+w6FkbsO9IGJsb2tvdsO9IEkvTyBwcm90b2tvbOKAnCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc2Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAicMWZZXBuZSB2ecW+YWRvdmFuw70gcMWZw616bmFrIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJwxZllcG5lIGJpdHkgc3BlY2lmaWNrw6kgcHJvIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJwxZllcG5lIHDFmcOtem5hayDigJ5wb3V6ZSBwcm8gxI10ZW7DreKAnCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAicMWZZXBuZSBwxZnDrXpuYWsg4oCecMWZaXBvaml0ZWxuw73igJwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiem3Em27DrSBtbm/FvnN0dsOtIGFsdGVybmF0aXZuw61jaCBjeWxpbmRyxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgInptxJtuw60gbW5vxb5zdHbDrSBleHRyYSBzZWt0b3LFryBuYSBzdG9wdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJ6bcSbbsOtIHByb2tsw6FkYWPDrSBmYWt0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiem3Em27DrSByeWNobG9zdCBvdMOhxI1lbsOtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiem3Em27DrSBwb8SNZXQgZnl6aWNrw71jaCBjeWxpbmRyxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJuYXN0YXbDrSBzdGFydG92YWPDrSBvZGTDrWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIsO6cHJhdmEgcG9sb8W+a3kgc3RhcnRvdmFjw61obyBzb3Vib3J1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDcKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJuYXN0YXbDrSBTR0kgb2RrbMOhZGFjw60gb2Rkw61sIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDgKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgInZ5dHZvxZnDrSDDumRhamUgU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAicMWZZXBuZSBwxZnDrXpuYWsg4oCec3RhcnRvdmFjw63igJwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgInVwcmF2w60gdm5vxZllbsO9IEJTRCBwb3Bpc3UgZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAicMWZZXBuZSBwxZnDrXpuYWsga29tcGF0aWJpbGl0eSBzwqBET1NlbSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAicG9zdW5lIHBvxI3DoXRlayBkYXQgdsKgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgInptxJtuw60gaWRlbnRpZmlrw6F0b3IgZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyNQorbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIm7DoXZyYXQgesKgb2NocmFubsOpL2h5YnJpZG7DrSBNQlIgZG8gR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICJ1cHJhdsOtIGRhdGEgbmEgZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICJuYWluc3RhbHVqZSB6YXZhZMSbxI0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICJ6b2JyYXrDrSDDunBsbsO9IHBvcGlzIGRpc2t1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgInDFmWlwb2rDrSBCU0Qgb2Rkw61sIG5hIG5lLUJTRCBvZGTDrWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk7DoXBvdsSbZGEgKHDFmcOta2F6eSBwcm8gb2Rib3Juw61reSk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MyBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOw6Fwb3bEm2RhOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiVXByYXZ1amV0ZSB2bm/FmWVub3UgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSDigJ4lc+KAnCwgcHJ2b3Ruw60gdGFidWxrYSBqZSDigJ4lc+KAnC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJQxZnDrWtheiBwcm8gb2Rib3Juw61reSAobSBwcm8gbsOhcG92xJtkdSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDI1Cittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiUMWZw61rYXogKG0gcHJvIG7DoXBvdsSbZHUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzNQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisiXG4iCisiQ2hjZXRlIG9wcmF2ZHUgc2tvbsSNaXQ/ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBwxZnDrWtheiBuZW7DrSB6bsOhbSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIlphZGVqdGUgbsOhemV2IHNvdWJvcnUgc2Ugc2tyaXB0ZW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIlJlc2V0dGluZyBmZGlzayEiCittc2dzdHIgIlByb2dyYW0gZmRpc2sgc2UgcmVzZXR1amUhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICJTa3JpcHQgYnlsIMO6c3DEm8WhbsSbIHBvdcW+aXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJQxZlldm9kIHJvenZyxb5lbsOtIGRpc2t1IGRvIHNrcmlwdHUgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIlNrcmlwdCDDunNwxJvFoW7EmyB1bG/FvmVuLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIk9kZMOtbCAlenUgb2JzYWh1amUgdnpvcmVjICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiQ2hjZXRlIHZ6b3JlYyBvZHN0cmFuaXQ/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiVnpvcmVjIGJ1ZGUgb2RzdHJhbsSbbiBwxZnDrWthemVtIGvCoHrDoXBpc3UuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJ6w6FwaXMgcG9waXN1IGRpc2t1IHNlbGhhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiT3ByYXZhIMWZYXplbsOtIG9kZMOtbMWvIHNlbGhhbGEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAixZhhemVuw60gb2Rkw61sxa8gb3ByYXZlbm8uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJPZGTDrWwgJXp1IG5lYnlsbyBtb8W+bsOpIHNtYXphdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIkplZG5vdGt5IHBybyB6b2JyYXplbsOtL3ZzdHVwIHptxJtuxJtueSBuYSBjeWxpbmRyeSAoWkFTVEFSQUzDiSEpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg3Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiSmVkbm90a3kgcHJvIHpvYnJhemVuw60vdnN0dXAgem3Em27Em255IG5hIHNla3RvcnkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2OTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODY4Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiVm5vxZllbsO9IEJTRCBwb3BpcyBkaXNrdSBwb25lY2jDoW4uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICJOb3bDqSBtYXhpbXVtIHBvbG/FvmVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiVnN0dXB1amUgc2UgZG8gY2hyw6FuxJtuw6loby9oeWJyaWRuw61obyBwb3Bpc3UgZGlza3UgTUJSLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiTm92w6kgVVVJRCAoZm9ybcOhdCA4LTQtNC00LTEyKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Nzc2Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk5vdsO9IG7DoXpldiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJWc3R1cHVqZSBzZSBkbyB2bm/FmWVuw6lobyBCU0QgcG9waXN1IGRpc2t1LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIlBvxI1ldCBjeWxpbmRyxa8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIlBvxI1ldCBobGF2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIlBvxI1ldCBzZWt0b3LFryIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgamUgcMWZaXBvamVub1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgbmVuw60gcMWZaXBvamVub1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMjkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk4IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDUKKyM6IGxpYi9wYXRoLmM6MTQwIGxpYi9wYXRoLmM6MTYxIGxpYi9wYXRoLmM6MTgyIGxpYi9wYXRoLmM6MjMwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY1NQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxNCBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MjMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICJ6wqAlcyBuZWx6ZSDEjcOtc3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgImNoeWJhIHJvemViw61yw6Fuw606ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImFkcmVzw6HFmSAlcyBuZWx6ZSB2eXR2b8WZaXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiWmFteWvDoSBzZSBkaXNrIHBvbW9jw60gJXPigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKMSNZWvDoSBzZSkiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJ1c3DEm2xvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgInNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIk9kZW15a8OhIHNlICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAibmFzdGF2ZW7DrSBwb3Bpc3UgdcKgJXMgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDcyIG1pc2MtdXRpbHMvZmluZG1udC5jOjc4NCBtaXNjLXV0aWxzL2xzYmxrLmM6NDQ2CisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDEgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGNoeWJhIHJvemJvcnUgbmEgxZnDoWRrdSAlZMKg4oCTIGlnbm9yb3bDoW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBmc3RhYiBzZSBuZXBvZGHFmWlsbyByb3plYnJhdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gZm9yayBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczogc3B1xaF0xJtuw60gc2Ugc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NzgyCittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICJ3YWl0OiDFvcOhZG7DrSBkYWzFocOtIHBvdG9tY2k/ISIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzg1IHN5cy11dGlscy9mbG9jay5jOjM2NCBzeXMtdXRpbHMvc3dhcG9uLmM6MzUyCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0MAorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSB3YWl0cGlkIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiVmFyb3bDoW7DreKApiAlcyBuYWQgemHFmcOtemVuw61tICVzIHNrb27EjWlsIHNpZ27DoWxlbSAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiJXMgJXM6IHN0YXR1cyBqZSAleCwgdG8gYnkgbmlrZHkgbmVtxJtsbyBwxZlpaG9kaXQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIiVzIGRva29uxI1lbm8gKG7DoXZyYXRvdsO9IGvDs2QgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiY2h5YmEgJWQgKCVtKSBwxZlpIHByb3bDoWTEm27DrSBmc2NrLiVzIG5hZCAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorIkJ1xI90byB2xaFlY2hueSwgbmVibyDFvsOhZG7DvSB6wqB0eXDFryBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIHDFmWVkYW7DvWNoIHbCoC10IG11c8OtXG4iCisiYsO9dCB1dmVkZW55IHPCoHBvxI3DoXRlxI1uw61tIOKAnm5v4oCcIG5lYm8g4oCeIeKAnC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKyIlczogcMWZZXNrYWt1amUgc2UgY2h5Ym7DvSDFmcOhZGVrIHbCoC9ldGMvZnN0YWI6IHDFmcOtcG9qbsO9IGJvZCB0eXB1IGJpbmRcbiIKKyJzwqBuZW51bG92w71tIHBvxZlhZMOtbSBrb250cm9seSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBwxZllc2tha3VqZSBzZSBuZWV4aXN0dWrDrWPDrSB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiBuZWV4aXN0dWrDrWPDrSB6YcWZw616ZW7DrSAoemHFmcOtemVuw60gbHplIHZ5bmVjaGF0IHV2ZWRlbsOtbSB2b2xieSDigJ5ub2ZhaWzigJwgZG8gZnN0YWJ1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogbmV6bsOhbcO9IHR5cCBzeXN0w6ltdSBzb3Vib3LFryBidWRlIHDFmWVza2/EjWVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXMgbmVsemUgemtvbnRyb2xvdmF0OiBmc2NrLiVzIG5lbmFsZXplbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI3MAorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIktvbnRyb2x1amkgdsWhZWNobnkgc3lzdMOpbXUgc291Ym9yxa8uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIuKAk8KgxI1la8OhIHNlwqDigJMgKHByxa9jaG9kICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIlcyBbcMWZZXDDrW5hxI1lXSAtLSBbcMWZZXDDrW5hxI1lX3NzXSBbPHNvdWJvcm92w71fc3lzdMOpbT7igKZdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiWmtvbnRyb2x1amUgYSBvcHJhdsOtIGxpbnV4b3bDvSBzb3Vib3JvdsO9IHN5c3TDqW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTQKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BICAgICAgICAgemtvbnRyb2x1amUgdsWhZWNobnkgc291Ym9yb3bDqSBzeXN0w6lteVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxmZD5dICB6b2JyYXrDrSB1a2F6YXRlbCBwb3N0dXB1OyBkZXNrcmlwdG9yIHNvdWJvcnUgamUgcHJvIEdVSVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHphbWtuZSB6YcWZw616ZW7DrSwgYWJ5IGJ5bCB6YXJ1xI1lbiB2w71sdcSNbsO9IHDFmcOtc3R1cFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk3Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAgbmVrb250cm9sdWplIHDFmWlwb2plbsOpIHNvdWJvcm92w6kgc3lzdMOpbXlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgIG5pYyBuZXZ5a29uw6EsIHBvdXplIHpvYnJhesOtLCBjbyBieSBzZSB1ZMSbbGFsb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiAtUCAgICAgICAgIHNvdWJvcm92w6kgc3lzdMOpbXkga29udHJvbHVqZSBwYXJhbGVsbsSbLCB2xI1ldG7EmyBrb8WZZW5vdsOpaG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAgdnluZWNow6Ega2/FmWVub3bDvSBzb3Vib3JvdsO9IHN5c3TDqW07IHXFvml0ZcSNbsOpIGplIHPCoOKAni1B4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDEKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICBobMOhc8OtIHN0YXRpc3RpY2vDqSDDumRhamUgcHJvwqBrYcW+ZMOpIGtvbnRyb2xvdmFuw6kgemHFmcOtemVuw607XG4iCisiICAgICAgICAgICAgZGVza3JpcHRvciBzb3Vib3J1IGplIHBybyBncmFmaWNrw6Egcm96aHJhbsOtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDMKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAga29udHJvbG7DrSBvcGVyYWNlIHZ5a29uw6F2w6EgcG9zdHVwbsSbXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICBwxZlpIHNwdcWhdMSbbsOtIG5lem9icmF6w60gbmFkcGlzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0eXA+ICAgdXLEjXVqZSBkcnVoeSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvLCBrdGVyw6kgc2UgbWFqw60gemtvbnRyb2xvdmF0O1xuIgorIiAgICAgICAgICAgIHR5cCBzbcOtIGLDvXQgxI3DoXJrb3Ugb2RkxJtsZW7DvSBzZXpuYW1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIHZ5c3bEm3Rsw60sIGNvIHNlIGTEm2plXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MTMKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICJQxZllcMOtbmHEjWUgc291Ym9yb3bDvWNoIHN5c3TDqW3FryBuYWxlem5ldGUgdsKgZG9rdW1lbnRhY2kgamVkbm90bGl2w71jaCBwxZnDrWthesWvIGZzY2suKi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gemHFmcOtemVuw60iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiSmUgL3Byb2MgcMWZaXBvamVubz8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiamVuIHJvb3QgbcWvxb5lIGhsZWRhdCBvZHBvdsOtZGFqw61jw60gc291Ym9yb3bDqSBzeXN0w6lteTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAibmVieWxvIG1vxb5uw6kgbmFsw6l6dCBvZHBvdsOtZGFqw61jw60gc3lzdMOpbSBzb3Vib3LFrzrCoCVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgInDFmcOtbGnFoSBtbm9obyBhcmd1bWVudMWvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTQ3IGRpc2stdXRpbHMvZnNjay5jOjE1NTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnTCoHDFmWVww61uYcSNZSDigJNyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICJwxZllcMOtbmHEjSDigJ4lc+KAnCBsemUgemFkYXQgamVuIGplZG5vdSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2OSBtaXNjLXV0aWxzL2tpbGwuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgInDFmWVww61uYcSNIOKAniVz4oCcIHZ5xb5hZHVqZSBhcmd1bWVudCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHDFmWVww61uYcSNZSAtcjogJWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLWwgbHplIHBvdcW+w610IHBvdXplIHPCoGplZG7DrW0gemHFmcOtemVuw61twqDigJMgaWdub3J1amUgc2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxzb3Vib3I+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiWmtvbnRyb2x1amUgYSBvcHJhdsOtIGtvbXByaW1vdmFuw70gc291Ym9yb3bDvSBzeXN0w6ltIFJPTS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGplbiB6wqBkxa92b2TFryBrb21wYXRpYmlsaXR5LCBpZ25vcnVqZSBzZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgdnlwaXN1amUgcG9kcm9ibsOpIGhsw6HFoWt5XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICBqZW4gesKgZMWvdm9kxa8ga29tcGF0aWJpbGl0eSwgaWdub3J1amUgc2VcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ibG9ja3NpemUgPHZlbGlrb3N0PlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcG91xb5pamUgdHV0byB2ZWxpa29zdCBibG9rdSwgdsO9Y2hvesOtIGplXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB2ZWxpa29zdCBzdHLDoW5reVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKyIgICAgIC0tZXh0cmFjdFs9PGFkcmVzw6HFmT5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB2eXprb3XFocOtIGRla29tcHJlc2ksIHZvbGl0ZWxuxJsgcm96YmFsZW7DrSBkb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgPGFkcmVzw6HFmWU+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiSU9DVEwgc2VsaGFsbzogdmVsaWtvc3QgemHFmcOtemVuw60gbmVuw60gbW/Fvm7DqSB1csSNaXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAibmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSBhbmkgc291Ym9yZW06ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDMKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImTDqWxrYSBzb3Vib3J1IGplIHDFmcOtbGnFoSBrcsOhdGvDoSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgImNoeWJhIHDFmWkgem3Em27EmyBwb3ppY2UgdsKgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJtYWdpY2vDoSB6bmHEjWthIHN1cGVyYmxva3UgbmVuYWxlemVuYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJlbmRpYW5pdGEgY3JhbWZzIGplICVzXG4iCisKKyMgZW5kaWFuaXR5IGlzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJ2ZWxrw6EiCisKKyMgZW5kaWFuaXR5IGlzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICJtYWzDoSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsOpIHZsYXN0bm9zdGkgc3lzdMOpbXUgc291Ym9yxa8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJ2ZWxpa29zdCBzdXBlcmJsb2t1ICglZCkgamUgcMWZw61sacWhIG1hbMOhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJudWxvdsO9IHBvxI1ldCBzb3Vib3LFryIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJzb3Vib3IgcMWZZXNhaHVqZSB6YSBrb25lYyBzb3Vib3JvdsOpaG8gc3lzdMOpbXUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAic3RhcsO9IGZvcm3DoXQgY3JhbWZzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE2Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiQ1JDIG5lbsOtIG1vxb5uw6kgemtvbnRyb2xvdmF0OiBzdGFyw70gZm9ybcOhdCBjcmFtZnMiCisKKyMgVE9ETzogUGx1cmFsaXplCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgIm5hxI10ZW7DrSAlPFBSSXUzMj4gYmFqdMWvIHplIHNvdWJvcnUgJXMgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3NAorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY2h5YmEgQ1JDIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJjaHliYSBwxZlpIHBvc3VudSB1a2F6b3bDoXRrYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICLEjXRlbsOtIHJvbWZzIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImtvxZllbm92w70gaS11emVsIG5lbsOtIGFkcmVzw6HFmWVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiY2h5Ym7DqSB1bcOtc3TEm27DrSBrb8WZZW5lICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgInDFmcOtbGnFoSB2ZWxrw70gZGF0b3bDvSBibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJjaHliYSBkZWtvbXByZXNlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgZMOtcmEgbmEgJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIHJvemJhbHVqZSBzZSBibG9rIG9kICVsdSBkbyAlbHUgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIm5lLWJsb2tvdsOpICglbGQpIGJhanR5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAibmUtdmVsaWtvc3Ruw60gKCVsZCBtw61zdG8gJWxkKSBiYWp0eSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidm9sw6Fuw60gd3JpdGUgc2VsaGFsbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgInZvbMOhbsOtIGxjaG93biBzZWxoYWxvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJ2b2zDoW7DrSBjaG93biBzZWxoYWxvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ2b2zDoW7DrSB1dGltZSBzZWxoYWxvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiaS11emVsIGFkcmVzw6HFmWUgbcOhIG51bG92b3UgcG96aWNpIGEgbmVudWxvdm91IHZlbGlrb3N0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJ2b2zDoW7DrSBta2RpciBzZWxoYWxvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJkw6lsa2Egam3DqW5hIHNvdWJvcnUgamUgbnVsb3bDoSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgImNoeWJuw6EgZMOpbGthIGptw6luYSBzb3Vib3J1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAiY2h5Ym7DqSB1bcOtc3TEm27DrSBpLXV6bHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDEKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiaS11emVsIHNvdWJvcnUgbcOhIG51bG92b3UgcG96aWNpIGEgbmVudWxvdm91IHZlbGlrb3N0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImktdXplbCBzb3Vib3J1IG3DoSBudWxvdm91IHZlbGlrb3N0IGEgbmVudWxvdm91IHBvemljaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJzeW1ib2xpY2vDvSBvZGtheiBtw6EgbnVsb3ZvdSBwb3ppY2kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzUKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgInN5bWJvbGlja8O9IG9ka2F6IG3DoSBudWxvdm91IHZlbGlrb3N0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgImNoeWJhIHbCoHN5bWJvbGlja8OpbSBvZGthenU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAidm9sw6Fuw60gc3ltbGluayBzZWxoYWxvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgInp2bMOhxaF0bsOtIHNvdWJvciBtw6EgbmVudWxvdm91IHBvemljaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIkZJRk8gbcOhIG5lbnVsb3ZvdSB2ZWxpa29zdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAic29ja2V0IG3DoSBuZW51bG92b3UgdmVsaWtvc3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgInBvZGl2bsO9IG3Ds2QvcHLDoXZhOiAlcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgInZvbMOhbsOtIG1rbm9kIHNlbGhhbG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgInBvxI3DoXRlayBkYXQgYWRyZXPDocWZZSAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHBvxI3DoXRlayAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJrb25lYyBkYXQgYWRyZXPDocWZZSAoJWx1KSAhPSBwb8SNw6F0ZWsgZGF0IHNvdWJvcnUgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgImNoeWJuw6kgdW3DrXN0xJtuw60gZGF0IHNvdWJvcnUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgdmVsaWtvc3RpIGJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiWmtvbnRyb2x1amUgc291Ym9yb3bDvSBzeXN0w6ltIE1pbml4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgdnlww63FoWUgdsWhZWNobnkgbsOhenZ5IHNvdWJvcsWvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGlja8OhIG9wcmF2YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgICAgb3ByYXZhIHPCoMO6xI1hc3TDrSB1xb5pdmF0ZWxlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgcG9kcm9ibsO9IHJlxb5pbVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zLCAtLXN1cGVyICAgICAgdnlww63FoWUgw7pkYWplIHplIHN1cGVyYmxva3VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIgLW0sIC0tdW5jbGVhcmVkICB1cG96b3LFiHVqZSBuYSBuZXZ5bWF6YW7DoSBwxZnDrXN0dXBvdsOhIHByw6F2YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICB2eW51dMOtIGtvbnRyb2x1XG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiJXMgKGEvbik/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiVzIChuL2EpPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgImFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIGplIGppxb4gcMWZaXBvamVuby5cdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJDaGNldGUgb3ByYXZkdSBwb2tyYcSNb3ZhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgInByb2hsw61ka2EgdWtvbsSNZW5hLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAixIzDrXNsbyB6w7NueSA8IFBSVk7DjV9aw5NOQSB2wqBzb3Vib3J1IOKAniVz4oCcLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIsSMw61zbG8gesOzbnkgPj0gcG/EjWV0IFrDk04gdsKgc291Ym9ydSDigJ4lc+KAnC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIk9kc3RyYW5pdCBibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkNoeWJhIHDFmWkgxI10ZW7DrTogbmVsemUgc2UgcG9zdW5vdXQgbmEgYmxvayB2wqBzb3Vib3J1IOKAniVz4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkNoeWJhIHDFmWkgxI10ZW7DrTogY2h5Ym7DvSBibG9rIHbCoHNvdWJvcnUg4oCeJXPigJxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiVm5pdMWZbsOtIGNoeWJhOiBwb2t1cyBvIHrDoXBpcyBjaHlibsOpaG8gYmxva3UuXG4iCisixb3DoWRvc3Qgb8KgesOhcGlzIGlnbm9yb3bDoW5hLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiY2h5YmEgcMWZaSBwb3N1bnUgdWthem92w6F0a2EgdmUgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJDaHliYSBwxZlpIHrDoXBpc3U6IGNoeWJuw70gYmxvayB2wqBzb3Vib3J1IOKAniVz4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiUG96b3I6IGJsb2sgamUgbWltbyByb3pzYWhcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgImNoeWJhIHDFmWkgcG9zdW51IHVrYXpvdsOhdGthIHZlIHdyaXRlX3N1cGVyX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxvayBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIm1hcHUgaS11emzFryBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAibWFwdSB6w7NuIG5lbHplIHphcHNhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiaS11emx5IG5lbHplIHphcHNhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY0Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAiYnVmZmVyIHBybyBzdXBlcmJsb2sgbmVsemUgYWxva292YXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2sgbmVsemUgxI3DrXN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2sgb2JzYWh1amUgY2h5Ym7DqSBtYWdpY2vDqSDEjcOtc2xvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIlBvZHBvcm92w6FueSBqc291IHBvdXplIDFraWxvYmFqdG92w6kgYmxva3kvesOzbnkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxvayBvYnNhaHVqZSBjaHlibm91IHBvbG/Fvmt1IHNfbmlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxvayBvYnNhaHVqZSBjaHlibm91IHBvbG/Fvmt1IHNfaW1hcF9ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NworbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxvayBvYnNhaHVqZSBjaHlibm91IHBvbG/Fvmt1IHNfZmlyc3RkYXRhem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxvayBvYnNhaHVqZSBjaHlibm91IHBvbG/Fvmt1IHNfem1hcF9ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiQnVmZmVyIHBybyBtYXB1IGktdXpsxa8gbmVsemUgYWxva292YXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJCdWZmZXIgcHJvIG1hcHUgesOzbiBuZWx6ZSBhbG9rb3ZhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJCdWZmZXIgcHJvIGktdXpseSBuZWx6ZSBhbG9rb3ZhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIkJ1ZmZlciBwcm8gcG/EjcOtdGFkbG8gaS11emzFryBuZWx6ZSBhbG9rb3ZhdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiQnVmZmVyIHBybyBwb8SNw610YWRsbyB6w7NuIG5lbHplIGFsb2tvdmF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIk1hcHUgaS11emzFryBuZWx6ZSDEjcOtc3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJNYXB1IHrDs24gbmVsemUgxI3DrXN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIkktdXpseSBuZWx6ZSDEjcOtc3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiVmFyb3bDoW7DrTogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgImktdXpsxa86ICVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICJibG9rxa86ICVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlBydm7DrV96w7NuYV9kYXQ9JWpkICglamQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICJWZWxpa29zdF96w7NueT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiTWF4dmVsaWtvc3Q9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIlN0YXYgc3lzdMOpbXUgc291Ym9yxa89JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIkktdXplbCAlZCBqZSBvem5hxI1lbiBqYWtvIG5lcG91xb7DrXZhbsO9LCBhbGUgamUgcG91xb5pdCBwcm8gc291Ym9yIOKAniVz4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiT3puYcSNZW4gamFrbyBwb3XFvsOtdmFuw70iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIlR5cCBzb3Vib3J1IOKAniVz4oCcIGplICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJWYXJvdsOhbsOtOiBwb8SNZXQgaS11emzFryBqZSBwxZnDrWxpxaEgdmVsaWvDvS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgInJvb3QgaS11emVsIG5lbsOtIGFkcmVzw6HFmWVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvayBieWwgcG91xb5pdCBqacW+IHDFmWVkdMOtbS4gTnluw60gdsKgc291Ym9ydSDigJ4lc+KAnC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIlNtYXphdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJCbG9rICVkIHbCoHNvdWJvcnUg4oCeJXPigJwgamUgb3puYcSNZW4gamFrbyBuZXBvdcW+w612YW7DvS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJPcHJhdml0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkFkcmVzw6HFmSDigJ4lc+KAnCBvYnNhaHVqZSBwcm8gc291Ym9yIOKAniUuKnPigJwgY2h5Ym7DqSDEjcOtc2xvIGktdXpsdS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDQxCittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIE9kc3RyYW5pdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogY2h5Ym7DvSBhZHJlc8OhxZk6IOKAni7igJwgbmVuw60gcHJ2bsOtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk5MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogY2h5Ym7DvSBhZHJlc8OhxZk6IOKAni4u4oCcIG5lbsOtIGRydWjDvVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAidm5pdMWZbsOtIGNoeWJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGNoeWJuw70gYWRyZXPDocWZOiB2ZWxpa29zdCA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogY2h5Ym7DvSBhZHJlc8OhxZk6IGNoeWJuw6EgaV96b25lLCBuYSBvcHJhdnUgcG91xb5panRlIC0tcmVwYWlyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzgKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiY2h5YmEgcMWZaSBwb3N1bnUgdWthem92w6F0a2EgdiBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiTcOzZCBpLXV6bHUgJWx1IG5lbsOtIHNtYXrDoW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSS11emVsICVsdSBuZW7DrSBwb3XFvsOtdsOhbiBhIHYgYml0bWFwxJsgb3puYcSNZW4gamFrbyBwb3XFvsOtdmFuw70uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkktdXplbCAlbHUgamUgcG91xb7DrXbDoW4gYSB2IGJpdG1hcMSbIG96bmHEjWVuIGpha28gbmVwb3XFvsOtdmFuw70uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjAKK21zZ2lkICJTZXQiCittc2dzdHIgIk5hc3Rhdml0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiSS11emVsICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgbmFwb8SNw610w6Fubz0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiTmFzdGF2aXQgaV9ubGlua3MgbmEgcG/EjWV0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlrDs25hICVsdTogamUgb3puYcSNZW5hIGpha28gcG91xb7DrXZhbsOhIGEgxb7DoWRuw70gc291Ym9yIGppIG5lcG91xb7DrXbDoS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiT2R6bmHEjWl0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJaw7NuYSAlbHU6IGplIHBvdcW+w612YW7DoSwgbmFwb8SNw610w6Fubz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWsOzbmEgJWx1OiBuZW7DrSBwb3XFvsOtdmFuw6EsIG5hcG/EjcOtdMOhbm89JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJjaHlibsOhIHZlbGlrb3N0IGktdXpsdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMwMQorbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJjaHlibsOhIHZlbGlrb3N0IHYyIGktdXpsdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgIm9wcmF2eSBzIMO6xI1hc3TDrSB1xb5pdmF0ZWxlIHZ5xb5hZHVqw60gdGVybWluw6FsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiJXMgbmVsemUgb3RldsWZw610OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIGplIMSNaXN0w6ksIG92xJvFmW92w6Fuw60gdnluZWNow6Fuby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIktvbnRyb2xhIHN5c3TDqW11IHNvdWJvcsWvIG5hICVzIHZ5bnVjZW5hLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJTeXN0w6ltIHNvdWJvcsWvIG5hICVzIGplIMWhcGluYXbDvSwgamUgdMWZZWJhIGplaiB6a29udHJvbG92YXQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisicG91xb7DrXZhbsO9Y2ggaS11emzFrzogJTZsZCAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAicG91xb7DrXZhbsO9Y2ggesOzbjogJTZsZCAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIgb2J5xI1lam7DvWNoIHNvdWJvcsWvOiAgJTZkXG4iCisiIGFkcmVzw6HFmcWvOiAgICAgICAgICAgICU2ZFxuIgorIiB6bmFrb3bDvWNoIHphxZnDrXplbsOtOiAgJTZkXG4iCisiIGJsb2tvdsO9Y2ggemHFmcOtemVuw606ICAlNmRcbiIKKyIgb2RrYXrFrzogICAgICAgICAgICAgICU2ZFxuIgorIiBzeW1ib2xpY2vDvWNoIG9ka2F6xa86ICU2ZFxuIgorIi0tLS0tLVxuIgorInNvdWJvcsWvOiAgICAgICAgICAgICAgJTZkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIlNZU1TDiU0gU09VQk9Sxa4gQllMIFpNxJpOxJpOXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDMyIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzOAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1NDEgZGlzay11dGlscy9wYXJ0eC5jOjEwNTggZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTE0CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDAwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MSBzeXMtdXRpbHMvZG1lc2cuYzo2NjEgc3lzLXV0aWxzL3dkY3RsLmM6MzQ3CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTIgdGVybS11dGlscy9zY3JpcHQuYzoyOTggdGVybS11dGlscy9zY3JpcHQuYzozNzUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4NyB0ZXh0LXV0aWxzL3BnLmM6MTI1NgorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiesOhcGlzIHNlbGhhbCIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVzOiBtb8W+bsOhIHNlIG5lamVkbsOhIG/CoHNvdWJvcm92w70gc3lzdMOpbSBJU085NjYwIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgImNoeWJhIMSNdGVuw60gesKgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAicG/EjWV0IHNla3RvcsWvOiAlZCwgdmVsaWtvc3Qgc2VrdG9ydTogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8b2JyYXpfaXNvOTY2MD7igKZcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlpvYnJhesOtIGTDqWxrdSBzb3Vib3JvdsOpaG8gc3lzdMOpbXUgSVNPLTk2NjAuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj08xI3DrXNsbz4gICBwb2TEm2zDrSBtbm/FvnN0dsOtIGJhanTFryA8xI3DrXNsZW0+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgem9icmF6w60gcG/EjWV0IGEgdmVsaWtvc3Qgc2VrdG9yxa9cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgZMSbbGl0ZWxlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJQb3XFvml0w606ICVzIFtQxZhFUMONTkHEjEVdIFpBxZjDjVpFTsONIFtQT8SMRVRfQkxPS8WuXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVnl0dm/FmcOtIHNvdWJvcm92w70gc3lzdMOpbWUgU0NPIGJmcy5cbiIKKworIyBGSVhNRTogbWtmcy5iZnMgZG9lcyBub3QgY2FsbCBzZXRsb2NhbGUoKS4KKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQxZllcMOtbmHEjWU6XG4iCisiIC1OLCAtLWlub2Rlcz1QT8SMRVQgIHVyxI11amUgcG/FvmFkb3ZhbsO9IHBvxI1ldCBpLXV6bMWvXG4iCisiIC1WLCAtLXZuYW1lPU7DgVpFViAgIHVyxI11amUgbsOhemV2IHN2YXprdVxuIgorIiAtRiwgLS1mbmFtZT1Ow4FaRVYgICB1csSNdWplIG7DoXpldiBzb3Vib3JvdsOpaG8gc3lzdMOpbXVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICB2eXN2xJt0bHVqZSwgY28gc2UgcHJvdsOhZMOtXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGVudG8gcMWZZXDDrW5hxI0gamUgdGnFoWUgaWdub3JvdsOhblxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRlbnRvIHDFmWVww61uYcSNIGplIHRpxaFlIGlnbm9yb3bDoW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibmVwbGF0bsO9IHBvxI1ldCBpLXV6bMWvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm7DoXpldiBzdmF6a3UgamUgcMWZw61sacWhIGRsb3Vow70iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibsOhemV2IHNzIGplIHDFmcOtbGnFoSBkbG91aMO9IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAibmVwbGF0bsO9IHBvxI1ldCBibG9rxa8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJuZWx6ZSB6amlzdGl0IHZlbGlrb3N0ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJhcmd1bWVudCBwb8SNZXQgYmxva8WvIGplIHDFmcOtbGnFoSB2ZWxpa8O9LCBtYXhpbXVtIGplICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gaS11emzFr8Kg4oCTIG1heGltdW0gamUgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIm5lZG9zdGF0ZWsgbcOtc3RhLCBqZSB0xZllYmEgYWxlc3BvxYggJWxsdSBibG9rxa8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJaYcWZw616ZW7DrTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJTdmF6ZWs6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIk7DoXpldlNTOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIlZlbGlrb3N0Qmxva3U6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIkktdXpsxa86ICVsZCAodiAxIGJsb2t1KVxuIgorCisjIFRPRE86IFBsdXJhbGl6ZQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIkktdXpsxa86ICVsZCAodsKgJWxsdSBibG9jw61jaClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxva8WvOiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIktvbmVjIGktdXpsxa86ICVkLCBLb25lYyBkYXQ6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImNoeWJhIHDFmWkgesOhcGlzdSBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICJjaHliYSBwxZlpIHrDoXBpc3Uga2/FmWVub3bDqWhvIGktdXpsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4OAorbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgImNoeWJhIHDFmWkgesOhcGlzdSBpLXV6bHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJ2b2zDoW7DrSBzZWVrIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImNoeWJhIHDFmWkgesOhcGlzdSAuIHBvbG/Fvmt5IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiY2h5YmEgcMWZaSB6w6FwaXN1IC4uIHBvbG/Fvmt5IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgIkNoeWJhIHDFmWkgemF2w61yw6Fuw60gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbLXQgPHR5cD5dIFtwxZllcMOtbmHEjWVfc3NdIDx6YcWZw616ZW7DrT4gWzx2ZWxpa29zdD5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlZ5dHZvxZnDrSBsaW51eG92w70gc291Ym9yb3bDvSBzeXN0w6ltLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTx0eXA+ICAgZHJ1aCBzb3Vib3JvdsOpaG8gc3lzdMOpbXU7IHbDvWNob3rDrSBqZSBleHQyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgcMWZZXDDrW5hxI1lX3NzICAgcGFyYW1ldHJ5IHBybyB2bGFzdG7DrWhvIHR2xa9yY2Ugc291Ym9yb3bDqWhvIHN5c3TDqW11XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8emHFmcOtemVuw60+ICAgICBjZXN0YSBrwqB6YcWZw616ZW7DrSwga3RlcsOpIHNlIG3DoSBwb3XFvsOtdFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgPHZlbGlrb3N0PiAgICAgcG/EjWV0IGJsb2vFrywga3RlcsOpIHNlIG1hasOtIHplIHphxZnDrXplbsOtIHBvdcW+w610XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIHZ5c3bEm3Rsw60gcHJvdsOhZMSbbsOpIMO6a29ueVxuIgorIiAgICAgICAgICAgICAgICAgICAgbsOhc29ibsOpIHBvdcW+aXTDrSAtViB6cMWvc29iw60gYmV6esOhcGlzb3bDvSBixJtoXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBpbmNsdWRlL2MuaDoyMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQzNQorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MSBsb2dpbi11dGlscy9zdWxvZ2luLmM6Nzk1IHN5cy11dGlscy9mbG9jay5jOjEyMQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTUgdGVybS11dGlscy9zY3JpcHQuYzo2MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgInNwdcWhdMSbbsOtICVzIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXNcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiUG91xb5pdMOtOiAlcyBbLWhdIFstdl0gWy1iIHZlbGlrb3N0X2Jsb2t1XSBbLWUgdmVyemVdIFstTiBlbmRpYW5pdGFdXG4iCisiICAgICAgICAgICAgWy1pIHNvdWJvcl0gWy1uIG7DoXpldl0gbsOhemV2X2FkcmVzw6HFmWUgdsO9c3R1cG7DrV9zb3Vib3JcbiIKKyIgLXYgICAgICAgICB1cG92w61kYW7DvSByZcW+aW1cbiIKKyIgLUUgICAgICAgICB2YXJvdsOhbsOtICBidWRvdSBwb3Zhxb5vdsOhbmEgemEgY2h5YnkgKG5lbnVsb3bDvSBuw6F2cmF0b3bDvSBrw7NkKVxuIgorIiAtYiB2ZWxpa29zdF9ibG9rdVxuIgorIiAgICAgICAgICAgIHBvdcW+aWplIHR1dG8gdmVsaWtvc3RfYmxva3UsIG11c8OtIGLDvXQgcm92bmEgdmVsaWtvc3RpIHN0csOhbmt5XG4iCisiIC1lIHZlcnplICAgbmFzdGF2w60gxI3DrXNsbyB2ZXJ6ZSBbZWRpY2VdIChzb3XEjcOhc3QgZnNpZClcbiIKKyIgLU4gZW5kaWFuaXRhXG4iCisiICAgICAgICAgICAgdnliZXJlIGVuZGlhbml0dSBjcmFtZnMgKOKAnmJpZ+KAnCBbdmVsa8OhXSB8IOKAnmxpdHRsZeKAnCBbbWFsw6FdIHxcbiIKKyIgICAgICAgICAgICDigJ5ob3N04oCcIFtqYWtvIHRlbnRvIHN0cm9qXSksIGltcGxpY2l0bsSbIGhvc3RcbiIKKyIgLWkgc291Ym9yICB2bG/FvsOtIG9icmF6IHplIHNvdWJvcnUgZG8gc291Ym9yb3bDqWhvIHN5c3TDqW11XG4iCisiIC1uIG7DoXpldiAgIG5hc3RhdsOtIG7DoXpldiBzb3Vib3JvdsOpaG8gc3lzdMOpbXUgY3JhbWZzXG4iCisiIC1wICAgICAgICAgb2RzYWTDrSBvwqAlZCBieXTFryBrdsWvbGkga8OzZHUgemF2YWTEm8SNZVxuIgorIiAtcyAgICAgICAgIHNlxZlhZMOtIHBvbG/Fvmt5IHbCoGFkcmVzw6HFmcOtY2ggKHN0YXLDoSB2b2xiYSwgaWdub3JvdsOhbm8pXG4iCisiIC16ICAgICAgICAgdnl0dm/FmcOtIGV4cGxpY2l0bsOtIGTDrXJ5XG4iCisiIG7DoXpldl9hZHJlc8OhxZllXG4iCisiICAgICAgICAgICAga2/FmWVuIHNvdWJvcm92w6lobyBzeXN0w6ltdSwga3RlcsO9IG3DoSBiw710IHprb21wcmltb3bDoW5cbiIKKyIgdsO9c3R1cG7DrV9zb3Vib3JcbiIKKyIgICAgICAgICAgICB2w71zdHVwbsOtIHNvdWJvclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInZvbMOhbsOtIHJlYWRsaW5rIHNlbGhhbG86ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiesKgYWRyZXPDocWZZSAlcyBuZWx6ZSDEjcOtc3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDIKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiU291Ym9yb3bDvSBzeXN0w6ltIGplIHDFmcOtbGnFoSB2ZWxrw70uIEtvbsSNw60gc2UuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQUpBSjogYmxvayDigJ56a29tcHJpbW92w6Fub+KAnCA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXTFrylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgInNvdWJvciAlcyBuZWx6ZSB6YXbFmcOtdCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCDEjcOtc2xhIGVkaWNlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJ6YWTDoW5hIG5lcGxhdG7DoSBlbmRpYW5pdGE7IG11c8OtIGLDvXQg4oCeYmln4oCcLCDigJ5saXR0bGXigJwgbmVibyDigJ5ob3N04oCcIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAidmFyb3bDoW7DrTogcG/FvmFkb3ZhbsOhIHZlbGlrb3N0IChob3Juw60gaHJhbmljZSkgamUgb2RoYWRvdsOhbmEgbmEgJWxsZMKgTUIsIGplbsW+ZSBuZWp2xJt0xaHDrSB2ZWxpa29zdCBvYnJhenUgamUgJXXCoE1CLiBNxa/FvmVtZSB6ZW3FmcOtdCBwxZllZMSNYXNuxJsuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiTWFwYSBvYnJhenUgUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiWmFocm51amk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJBZHJlc8OhxZlvdsOhIGRhdGE6ICV6ZMKgYmFqdMWvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJDZWxrZW06ICV6ZMKga2lsb2JhanTFr1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9rOiAlemTCoGJhanTFr1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgInBybyBvYnJheiBST00gbmVwxZlpZMSbbGVuIGRvc3RhdGVrIHByb3N0b3J1ICglbGxkIHDFmWlkxJtsZW5vLCAlenUgcG91xb5pdG8pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJaw6FwaXMgb2JyYXp1IFJPTSBzZWxoYWwgKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk0Cittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJPYnJheiBST00iCisKKyMgVE9ETzogUGx1cmFsaXplCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJ2YXJvdsOhbsOtOiBqbcOpbmEgc291Ym9yxa8gemtyw6FjZW5hIG5hICV1IGJhanTFry4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgInZhcm92w6Fuw606IHNvdWJvcnkgYnlseSBwxZllc2tvxI1lbnkga3bFr2xpIGNoeWLDoW0uIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAidmFyb3bDoW7DrTogdmVsaWtvc3RpIHNvdWJvcnUgemtyw6FjZW55IG5hICUnbHXCoE1CIChtw61udXMgMcKgYmFqdCkuIgorCisjIFRPRE86IFBsdXJhbGl6ZQorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ2YXJvdsOhbsOtOiBVSUQgemtyw6FjZW5hIG5hICV1IGJpdMWvLiAoTcWvxb5lIG3DrXQgZG9wYWQgbmEgYmV6cGXEjW5vc3QuKSIKKworIyBUT0RPOiBQbHVyYWxpemUKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAidmFyb3bDoW7DrTogR0lEIHprcsOhY2VuYSBuYSAldSBiaXTFry4gKE3Fr8W+ZSBtw610IGRvcGFkIG5hIGJlenBlxI1ub3N0LikiCisKKyMgVE9ETzogUGx1cmFsaXplCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyJWQVJPVsOBTsONOiDEjcOtc2xhIHphxZnDrXplbsOtIHprcsOhY2VuYSBuYSAldSBiaXTFry4gVG90byBqaXN0xJsgem5hbWVuw6EsIMW+ZSBuxJtrdGVyw6lcbiIKKyJzb3Vib3J5IHphxZnDrXplbsOtIGJ1ZG91IMWhcGF0bsOpLiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiVzIFtwxZllcMOtbmHEjWVdIC9kZXYvbsOhemV2IFtibG9reV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgIHBvdcW+aWplIHZlcnppIE1pbml4dSAxXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAtMiwgLXYgICAgICAgICAgICAgICAgICBwb3XFvmlqZSB2ZXJ6aSBNaW5peHUgMlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLTMgICAgICAgICAgICAgICAgICAgICAgcG91xb5pamUgdmVyemkgTWluaXh1IDNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIiCisiIC1uLCAtLW5hbWVsZW5ndGggPMSNw61zbG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIG1heGltw6FsbsOtIGTDqWxrYSBuw6F6dsWvIHNvdWJvcsWvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDxwb8SNZXQ+ICAgIHBvxI1ldCBpLXV6bMWvIHbCoHNvdWJvcm92w6ltIHN5c3TDqW11XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtYywgLS1jaGVjayAgICAgICAgICAgICB6a29udHJvbHVqZSB6YcWZw616ZW7DrSBuYSB2YWRuw6kgYmxva3lcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1iYWRibG9ja3MgPHNvdWJvcj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgc291Ym9yIHNlIHNlem5hbWUgdmFkbsO9Y2ggYmxva8WvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogY2h5YmEgcMWZaSBwxZllc3VudSBuYSBzdGFydG92YWPDrSBibG9rIHZlIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiBzdGFydG92YWPDrSBibG9rIG5lbHplIHNtYXphdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIHptxJtuxJsgcG96aWNlIHZlIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBzdXBlcmJsb2sgbmVsemUgemFwc2F0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBtYXB1IGktdXpsxa8gbmVsemUgemFwc2F0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IG1hcHUgesOzbiBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6IGktdXpseSBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIHptxJtuxJsgcG96aWNlIHZlIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgesOhcGlzdSB2ZSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogcMWZw61sacWhIG1ub2hvIGNoeWJuw71jaCBibG9rxa8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IG5lZG9zdGF0ZWsgZG9icsO9Y2ggYmxva8WvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisiUHJ2bsOtIGRhdG92w70gYmxvayBuYSAlamQsIGNvxb4gamUgcMWZw61sacWhIGRhbGVrbyAobWF4aW11bSAlZCkuXG4iCisiWmt1c3RlIHphZGF0IG3DqW7EmyBpLXV6bMWvIHBvbW9jw60gLS1pbm9kZXMgPHBvxI1ldD4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgaS11emVsXG4iCittc2dzdHJbMV0gIiVsdSBpLXV6bHlcbiIKK21zZ3N0clsyXSAiJWx1IGktdXpsxa9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsdSBibG9rXG4iCittc2dzdHJbMV0gIiVsdSBibG9reVxuIgorbXNnc3RyWzJdICIlbHUgYmxva8WvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiVmVsaWtvc3RfesOzbnk9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1heGltw6FsbsOtX3ZlbGlrb3N0PSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgem3Em27EmyBwb3ppY2UgdsKgcHLFr2LEm2h1IGtvbnRyb2x5IGJsb2vFryIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJOZXNwcsOhdm7DqSBob2Rub3R5IHYgZG9fY2hlY2s6IHByYXZkxJtwb2RvYm7EmyBjaHlieVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgem3Em27EmyBwb3ppY2UgdsKgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgIiVzOiBjaHlibsOpIGJsb2t5IHDFmWVkIGRhdG92b3Ugb2JsYXN0w606IHN5c3TDqW0gc291Ym9yxa8gbmVsemUgdnl0dm/FmWl0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGNoeWJuw70gYmxva1xuIgorbXNnc3RyWzFdICIlZCBjaHlibsOpIGJsb2t5XG4iCittc2dzdHJbMl0gIiVkIGNoeWJuw71jaCBibG9rxa9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHNvdWJvciBjaHlibsO9Y2ggYmxva8WvIG5lbHplIG90ZXbFmcOtdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgImNoeWJhIHZzdHVwdSB1wqDEjcOtc2xhIMWhcGF0bsOpaG8gYmxva3UgbmEgxZnDoWRrdSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczogc291Ym9yIGNoeWJuw71jaCBibG9rxa8gbmVsemUgcMWZZcSNw61zdCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICJ2ZWxpa29zdCBibG9rdSBqZSBtZW7FocOtIG5lxb4gdmVsaWtvc3QgZnl6aWNrw6lobyBzZWt0b3J1ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJuZWx6ZSB6amlzdGl0IHZlbGlrb3N0ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXM6IHBvxb5hZG92YW7DqSBibG9reSAoJSdsbHUpIHDFmWV2ecWhdWrDrSBkb3N0dXBuw6kgYmxva3kgKCUnbGx1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICIlczogcG/EjWV0IGJsb2vFryBqZSBwxZnDrWxpxaEgbWFsw70iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuZXBvZHBvcm92YW7DoSBkw6lsa2EgbsOhenZ1OiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJuZXBvZHBvcm92YW7DoSB2ZXJ6ZSBtaW5peG92w6lobyBzb3Vib3JvdsOpaG8gc3lzdMOpbXU6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgInDFmWVww61uYcSNIC12IG5lbsOtIGplZG5vem5hxI1uw70sIG5hbcOtc3RvIG7Em2ogcG91xb5panRlIOKAni0y4oCcIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IG1heGltw6FsbsOtIGTDqWxrdSBuw6F6dsWvIHNvdWJvcsWvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBwb8SNZXQgaS11emzFryIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgcG/EjWV0IGJsb2vFryIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyBqZSBwxZlpcG9qZW5vOyBzeXN0w6ltIHNvdWJvcsWvIHpkZSB2eXR2w6HFmWV0IG5lYnVkdSEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiVcW+aXZhdGVsZW0gemFkYW7DoSB2ZWxpa29zdCBzdHLDoW5reSAldSBqZSBjaHlibsOhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJQb3XFvmlqZSBzZSB6YWRhbsOhIHZlbGlrb3N0IHN0csOhbmt5ICVkIG3DrXN0byBzeXN0w6ltb3bDqSBob2Rub3R5ICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJKbWVub3ZrYSBieWxhIHprcsOhY2VuYS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgIsW+w6FkbsOhIGptZW5vdmthLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAixb7DoWRuw6kgVVVJRFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb3XFvml0w606XG4iCisiICVzIFtwxZllcMOtbmHEjWVdIHphxZnDrXplbsOtIFt2ZWxpa29zdF1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTMKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIlZ5dHZvxZnDrSBsaW51eG92b3Ugb2RrbMOhZGFjw60gb2JsYXN0LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIlDFmWVww61uYcSNZTpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBwxZllZCB2eXR2b8WZZW7DrW0gb2RrbMOhZGFjw60gb2JsYXN0aSB6a29udHJvbHVqZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoeWJuw6kgc2VrdG9yeVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRvdm9sw60sIGFieSBvZGtsw6FkYWPDrSBvYmxhc3QgYnlsYSB2xJt0xaHDrSBuZcW+IHphxZnDrXplbsOtXG4iCisiIC1wLCAtLXBhZ2VzaXplIFZFTElLT1NUICAgdXLEjcOtIHZlbGlrb3N0IHN0csOhbmt5IHbCoGJhanRlY2hcbiIKKyIgLUwsIC0tbGFiZWwgSk1FTk9WS0EgICAgICB1csSNw60gam1lbm92a3VcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gxIzDjVNMTyAgIHVyxI3DrSDEjcOtc2xvIHZlcnplIG9ka2zDoWRhY8OtIG9ibGFzdGlcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICB1csSNw60sIGpha8OpIFVVSUQgc2UgbcOhIHBvdcW+w610XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gY2h5Ym7DvWNoIHN0csOhbmVrOiAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJjaHliYSBwxZlpIHBvc3VudSB1a2F6b3bDoXRrYSB2IGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IGNoeWJuw6Egc3Ryw6Fua2FcbiIKK21zZ3N0clsxXSAiJWx1IGNoeWJuw6kgc3Ryw6Fua3lcbiIKK21zZ3N0clsyXSAiJWx1IGNoeWJuw71jaCBzdHLDoW5la1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5lbHplIGFsb2tvdmF0IG5vdsO9IHRlc3QgbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgInphxZnDrXplbsOtIG5lbHplIHDFmWlkYXQgZG8gdGVzdHUgbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgInBvem9yOiBrb250cm9sYSBjaHlibsO9Y2ggYmxva8WvIHbCoG9ka2zDoWRhY8OtbSBzb3Vib3J1IG5lbsOtIHBvZHBvcm92w6FuYTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYzIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg5IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM2Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAib2RrbMOhZGFjw60gcHJvc3RvciBuZWx6ZSBwxZlldmlub3V0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MgorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJ6YXbDoWTEm2PDrSBibG9reSBuZWx6ZSBzbWF6YXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBwb3pvcjogb2RzdHJhxYh1amUgc2Ugc3RhcsO9IHZ6b3JlYyAlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczogdmFyb3bDoW7DrTogbmVtYcW+dGUgemF2w6FkxJtjw60gc2VrdG9yeSIKKworIyBDb250aW51YXRpb24gb2YgcHJldmlvdXMgbWVzc2FnZQorIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgIChuYWxlemVuYSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IHR5cHUgJXMpLiAiCisKKyMgQWx0ZXJuYXRlIGNvbnRpbnVhdGlvbiBvZiBwcmV2aW91cyBtZXNzYWdlCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChwxZllbG/FvmVubyBiZXogbGliYmxraWQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiUG91xb5panRlIC1mIGvCoHZ5bnVjZW7DrS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6IHN0csOhbmt1IHNlIHZ6b3JjZW0gbmVsemUgemFwc2F0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugcm96ZWJyYXQgdmVsaWtvc3Qgc3Ryw6Fua3kiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHJvemVicmF0IMSNw61zbG8gdmVyemUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIm9ka2zDoWRhY8OtIHByb3N0b3IgdmVyemUgJWQgbmVuw60gbmVwb2Rwb3JvdsOhbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgInBvem9yOiAtVSBzZSBpZ25vcnVqZSAoJXMgbmVwb2Rwb3J1amUgVVVJRCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgInbCoHNvdcSNYXNub3N0aSBqZSBwb2Rwb3JvdsOhbiBwb3V6ZSBqZWRlbiBhcmd1bWVudCBzZSB6YcWZw616ZW7DrW0iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImNoeWJhOiByb3pib3IgVVVJRCBzZWxoYWwiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMyCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJjaHliYTogS2RlIHNlIG3DoSB2eXR2b8WZaXQgb2RrbMOhZGFjw60gcHJvc3Rvcj8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHBvxI10dSBibG9rxa8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgImNoeWJhOiB2ZWxpa29zdCAlbGx14oCvS2lCIGplIHbEm3TFocOtIG5lxb4gdmVsaWtvc3QgemHFmcOtemVuw60gJTxQUkl1NjQ+4oCvS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgImNoeWJhOiBvZGtsw6FkYWPDrSBwcm9zdG9yIHBvdMWZZWJ1amUgYWxlc3BvxYggJWxk4oCvS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAidmFyb3bDoW7DrTogb2RrbMOhZGFjw60gcHJvc3RvciB6a3LDoWNlbiBuYSAlbGx14oCvS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgImNoeWJhOiAlcyBqZSBwxZlpcG9qZW5vOyBvZGtsw6FkYWPDrSBwcm9zdG9yIG5lYnVkZSB2eXR2b8WZZW4uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBwxZnDrXN0dXBvdsOhIHByw6F2YSAlMDRvIG5lanNvdSBiZXpwZcSNbsOhLCAlMDRvIGJ5IGJ5bGEgbGVwxaHDrS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiB2bGFzdG7DrWsgc291Ym9ydSAlZCBuZW7DrSBiZXpwZcSNbsO9LCAwIChyb290KSBieSBieWwgbGVwxaHDrS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJPZGtsw6FkYWPDrSBwcm9zdG9yIG5lbHplIG5hc3Rhdml0OiBuZcSNaXRlbG7DqSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIlZ5dHbDocWZw60gc2Ugb2RrbMOhZGFjw60gcHJvc3RvciB2ZXJ6ZSAlZCwgdmVsaWtvc3QgPSAlcyAoJTxQUkl1NjQ+IGJhanTFrylcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczogbmVsemUgesOtc2thdCBzZWxpbnV4b3ZvdSB6bmHEjWt1IHNvdWJvcnUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJtYXRjaHBhdGhjb24oKSBuZWx6ZSBwcm92w6lzdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5vdsO9IGtvbnRleHQgc2VsaW51eHUgbmVsemUgdnl0dm/FmWl0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMgorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJuZWRva8Ohxb5pIHZ5cG/EjcOtc3Qga29udGV4dCBzZWxpbnV4dSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIm5lbHplIHptxJtuaXQgam1lbm92a3UgesKgJXMgbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIsSNw61zbG8gb2Rkw61sdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJ6YcSNw6F0ZWsgb2Rkw61sdSB2wqBzZWt0b3JlY2giCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImtvbmVjIG9kZMOtbHUgdsKgc2VrdG9yZWNoIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAicG/EjWV0IHNla3RvcsWvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJwxZllaGxlZG7DoSB2ZWxpa29zdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm7DoXpldiBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiVVVJRCBvZGTDrWx1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgImRydWggdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdSAoRE9TLCBHUFQsIOKApikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJwxZnDrXpuYWt5IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICJkcnVoIG9kZMOtbHUgKMWZZXTEm3plYywgVVVJRCBuZWJvIMWhZXN0bsOhY3Rrb3bDqSDEjcOtc2xvKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImxvb3BjdHggc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogxb7DoWRuw6kgbmVwb3XFvml0w6kgbG9vcCB6YcWZw616ZW7DrSBuZWJ5bG8gbW/Fvm7DqSBuYWrDrXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiUHJvIHphxZnDrXplbsOtIGxvb3Agc2Ugemt1c8OtIHBvdcW+w610IOKAniVz4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogbmFzdGF2ZW7DrSBwb2RrbGFkb3bDqWhvIHNvdWJvcnUgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IHphxZnDrXplbsOtIGxvb3Agc2UgbmVwb2RhxZlpbG8gbmFzdGF2aXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIm5lem7DoW3DvSBzbG91cGVjOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczogesOtc2vDoW7DrSDEjcOtc2xhIG9kZMOtbHUgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiemFkYW7DvSByb3pzYWggPCVkOiVkPiBuZWTDoXbDoSBzbXlzbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAicMWZZXBvxI1ldCByb3pzYWh1OiBtYXhpbcOhbG7DrSDEjcOtc2xvIG9kZMOtbHU9JWQsIGRvbG7DrT0lZCwgaG9ybsOtPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgbWF6w6Fuw60gb2Rkw61sdSAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgbWF6w6Fuw60gb2Rkw61sxa8gJWTigJMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiBvZGTDrWwgxI0u4oCvJWQgb2RzdHJhbsSbblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6IG9kZMOtbCDEjS7igK8lZCBuZWV4aXN0dWplXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogb2RzdHJhbsSbbsOtIG9kZMOtbHUgxI0u4oCvJWQgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgcMWZaWTDoXbDoW7DrSBvZGTDrWx1ICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGNoeWIgcMWZaSBwxZlpZMOhdsOhbsOtIG9kZMOtbMWvICVk4oCTJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlczogcMWZaWTDoW4gb2Rkw61sIMSNLuKAryVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHDFmWlkw6Fuw60gb2Rkw61sdSDEjS7igK8lZCBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIGFrdHVhbGl6YWNpIG9kZMOtbHUgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIGFrdHVhbGl6YWNpIG9kZMOtbMWvICVk4oCTJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiDFvsOhZG7DvSBvZGTDrWwgxI0u4oCvJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczogb2Rkw61sIMSNLuKAryVkIHptxJtuaWwgdmVsaWtvc3RcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBha3R1YWxpemFjZSBvZGTDrWx1IMSNLuKAryVkIHNlbGhhbGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIsSNLuKAryUyZDogJTlqdeKAkyU5anUgKCU5anUgc2VrdG9yLCAlNmp14oCvTUIpXG4iCittc2dzdHJbMV0gIsSNLuKAryUyZDogJTlqdeKAkyU5anUgKCU5anUgc2VrdG9yeSwgJTZqdeKAr01CKVxuIgorbXNnc3RyWzJdICLEjS7igK8lMmQ6ICU5anXigJMlOWp1ICglOWp1IHNla3RvcsWvLCAlNmp14oCvTUIpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5jb3JlLmM6MzczIG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MjIKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMzMworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYxOCBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNiBzeXMtdXRpbHMvcmZraWxsLmM6NDY3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjkzIHN5cy11dGlscy93ZGN0bC5jOjI3MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJ2w71zdHVwbsOtIHNsb3VwZWMgc2UgbmVwb2RhxZlpbG8gYWxva292YXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJmaWx0ciBibGtpZCBwcm8g4oCeJXPigJwgc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSBzZSBuZXBvZGHFmWlsbyBuYcSNw61zdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczogbmFsZXplbmEgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSB0eXB1IOKAniVz4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IGJleiBvZGTDrWzFryIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8b2Rkw61sPl0gPGRpc2s+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTcKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAixZhla25lIGrDoWRydSBvwqBleGlzdGVuY2kgYSDEjcOtc2xvdsOhbsOtIG9kZMOtbMWvLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAgcMWZaWTDoSB6YWRhbsOpIG5lYm8gdsWhZWNobnkgb2Rkw61seVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICAgc21hxb5lIHphZGFuw6kgbmVibyB2xaFlY2hueSBvZGTDrWx5XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtdSwgLS11cGRhdGUgICAgICAgICBha3R1YWxpenVqZSB6YWRhbsOpIG5lYm8gdsWhZWNobnkgb2Rkw61seVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICB2eXDDrcWhZSBvZGTDrWx5XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgLWIsIC0tYnl0ZXMgICAgICAgICAgdmVsaWtvc3RpIHZ5cGlzdWplIHbCoGJhanRlY2ggbmFtw61zdG8gcG9kb2LEmyB2aG9kbsOpXG4iCisiICAgICAgICAgICAgICAgICAgICAgIHBybyDEjWxvdsSba2FcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAtZywgLS1ub2hlYWRpbmdzICAgICBuZXpvYnJhenVqZSB6w6FobGF2w60gdmUgdsO9cGlzdSAtLXNob3dcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG06bj4gICAgICAgdXLEjXVqZSByb3pzYWggb2Rkw61sxa8gKG5hcMWZLiAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHVyxI11amUsIGt0ZXLDqSB2w71zdHVwbsOtIHNsb3VwY2Ugc2UgcG91xb5pasOtXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIHbDvXN0dXAgdmUgZm9ybcOhdHUga2zDrcSNPVwiaG9kbm90YVwiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXBcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3Itc2l6ZSA8dmVsaWtvc3Q+ICBwxZllYmlqZSB2ZWxpa29zdCBzZWt0b3J1XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPGRydWg+ICAgIHVyxI11amUgZHJ1aCBvZGTDrWx1XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0LXR5cGVzICAgICB2eXDDrcWhZSB6bsOhbcOpIHR5cHkgb2Rkw61sxa8gYSBza29uxI3DrVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzczIHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMDEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBwb2Ryb2Juw70gcmXFvmltXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAicm96c2FoIC0tbnIgPE3igJNOPiBzZSBuZXBvZGHFmWlsbyByb3plYnJhdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAidGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBhIG7DoXpldiBkaXNrdSBzaSBuZW9kcG92w61kYWrDrSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImFyZ3VtZW50eSAtLW5yIGEgT0REw41MIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAib2Rkw61sOiAlcywgZGlzayAlcywgZG9sbsOtOiAlZDogaG9ybsOtOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogb2Rkw61seSBuZWx6ZSBzbWF6YXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiB6YcWZw616ZW7DrSBsb29wIHJvemTEm2xlbsOhIG5hIG9kZMOtbHkgbmVqc291IHBvZHBvcm92w6FuYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIGluaWNpYWxpem92YXQgc29uZHUgYmxraWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA8aGxhdm7DrT4gPHZlZGxlasWhw60+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88Ymxva292w6lfemHFmcOtemVuw60+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1NworbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiTmFwb2rDrSBzeXJvdsOpIHpuYWtvdsOpIHphxZnDrXplbsOtIGvCoGJsb2tvdsOpbXUgemHFmcOtemVuw60uXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIG5hc3RhdsOtIGRvdGF6b3ZhY8OtIHJlxb5pbVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgZG90w6HFvmUgc2UgdsWhZWNoIHN5cm92w71jaCB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIlphxZnDrXplbsOtIOKAniVz4oCcIGplIMWZw61kaWPDrSBzeXJvdsOpIHphxZnDrXplbsOtIChwb3XFvmlqdGUgcmF3PE4+LCBrZGUgPE4+IGplIHbEm3TFocOtIG5lxb4gbnVsYSkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIkJsb2tvdsOpIHphxZnDrXplbsOtIOKAniVz4oCcIG5lbHplIG5hbMOpenQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiWmHFmcOtemVuw60g4oCeJXPigJwgbmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTYgZGlzay11dGlscy9yYXcuYzoxOTkgc3lzLXV0aWxzL2lwY3JtLmM6MzUyCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjYgc3lzLXV0aWxzL2lwY3JtLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBzZSBuZXBvZGHFmWlsbyByb3plYnJhdCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiSGxhdm7DrSBzeXJvdsOpIHphxZnDrXplbsOtIOKAniVz4oCcIG5lbHplIG90ZXbFmcOtdCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIlN5cm92w6kgemHFmcOtemVuw60g4oCeJXPigJwgbmVsemUgbmFsw6l6dCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIlN5cm92w6kgemHFmcOtemVuw60g4oCeJXPigJwgbmVuw60gem5ha292w71tIHphxZnDrXplbsOtbSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiWmHFmcOtemVuw60g4oCeJXPigJwgbmVuw60gc3lyb3bDvW0gemHFmcOtemVuw61tIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkNoeWJhIHDFmWkgZG90YXpvdsOhbsOtIHNlIG5hIHN5cm92w6kgemHFmcOtemVuw6kiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU4IGRpc2stdXRpbHMvcmF3LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZDogbmFwb2plbm8gbmEgxI3DrXNsYSBobGF2bsOtICVkLCB2ZWRsZWrFocOtICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJDaHliYSBwxZlpIG5hc3Rhdm92w6Fuw60gc3lyb3bDqWhvIHphxZnDrXplbsOtIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNrb3bDqV96YcWZw616ZW7DrT4gPMSNw61zbG9fb2Rkw61sdT4gPGTDqWxrYT5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLFmGVrbmUgasOhZHJ1IG/CoG5vdsOpIHZlbGlrb3N0aSBvZGTDrWzFry5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczogesOtc2vDoW7DrSB6YcSNw6F0a3Ugb2Rkw61sdSDEjcOtc2xvICVzIHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJ6bcSbbml0IHZlbGlrb3N0IG9kZMOtbHUgc2UgbmVwb2RhxZlpbG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJhbG9rYWNlIHZub8WZZW7DqWhvIGtvbnRleHR1IGxpYmZkaXNrdSBzZWxoYWxhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAicG9oeWIgdsKgJXMgc2VsaGFsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICIlcyBuZWx6ZSB6YXBzYXQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAocG9zdW4gJTVqdSwgdmVsaWtvc3QgJTVqdSk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6IHrDoWxvaHUgc2UgbmVwb2RhxZlpbG8gdnl0dm/FmWl0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJ6w6Fsb8W+bsOtIHNvdWJvciBzZSBuZXBvZGHFmWlsbyB2eXR2b8WZaXQsICRIT01FIG5lbsOtIGRlZmlub3bDoW5hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NQorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIlrDoWxvxb5uw60gc291Ym9yeToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5hxI10ZW7DrSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IHplIHphxZnDrXplbsOtIHNlbGhhbG8sIC0tbW92ZS1kYXRhIHNlIGlnbm9ydWplIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInrDrXNrw6Fuw60gdmVsaWtvc3RpIG5vdsOpaG8gb2Rkw61sdSBzZWxoYWxvLCAtLW1vdmUtZGF0YSBzZSBpZ25vcnVqZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiesOtc2vDoW7DrSB6YcSNw6F0a3Ugbm92w6lobyBvZGTDrWx1IHNlbGhhbG8sIC0tbW92ZS1kYXRhIHNlIGlnbm9ydWplIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInrDrXNrw6Fuw60gdmVsaWtvc3RpIHN0YXLDqWhvIG9kZMOtbHUgc2VsaGFsbywgLS1tb3ZlLWRhdGEgc2UgaWdub3JpbmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInrDrXNrw6Fuw60gemHEjcOhdGt1IHN0YXLDqWhvIG9kZMOtbHUgc2VsaGFsbywgLS1tb3ZlLWRhdGEgc2UgaWdub3JpbmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ6YcSNw6F0ZWsgb2Rkw61sdSBuZWJ5bCBwxZllc3VudXQsIC0tbW92ZS1kYXRlIHNlIGlnbm9ydWplIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibm92w70gb2Rkw61sIGplIG1lbsWhw60gbmXFviBwxa92b2Ruw60sIC0tbW92ZS1kYXRhIHNlIGlnbm9ydWplIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIlDFmWVzdW4gZGF0YToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICIgc291Ym9yIHNlIHrDoXpuYW1lbTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiBzdGFyw70gemHEjcOhdGVrOiAlanUsIG5vdsO9IHphxI3DoXRlazogJWp1IChwxZllc3VuZSBzZSAlanUgc2VrdG9yxa8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUyCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkNoY2V0ZSBwxZllc3Vub3V0IGRhdGEgb2Rkw61sdT8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDU0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICJPcG91xaF0w60gc2UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IHDFmWVzdW4gZGF0IHNlbGhhbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDIKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiVGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBqZSBuZXptxJtuxJtuYSAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDgKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorIlRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgYnlsYSB6bcSbbsSbbmEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBwb3BpcyDigJ4lc+KAnCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzQKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklkICBOw6F6ZXZcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NjQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIm5lcm96cG96bmFuw70gdHlwIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiTmVsemUgemppc3RpdCB2ZWxpa29zdCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAiY2Vsa292w70gcG/EjWV0IGJsb2vFrzogJSdqdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIsW+w6FkbsOpIGRpc2tvdsOpIHphxZnDrXplbsOtIG5lYnlsbyB6YWTDoW5vIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMAorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAibmVsemUgcMWZZXBub3V0IGRvIFBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICJwxZllcMOtbsOhbsOtIHDFmcOtem5ha3UgemF2ZWRpdGVsbm9zdGkgamUgcG9kcG9yb3bDoW5vIGplbiBuYSBNQlIgYSBQTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg2NyBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTYgZGlzay11dGlscy9zZmRpc2suYzoxMjEyCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTkgZGlzay11dGlscy9zZmRpc2suYzoyMDU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInJvemJvciDEjcOtc2xhIG9kZMOtbHUgc2VsaGFsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiVzOiBvZGTDrWwgJWQ6IHDFmWVwbnV0w60gcMWZw616bmFrdSB6YXZlZGl0ZWxub3N0aSBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlenU6IG9kc3RyYcWIb3bDoW7DrSBzZWxoYWxvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogbmVvYnNhaHVqZSB6bsOhbW91IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJhbG9rYWNlIGV4cG9ydG7DrSBzdHJ1a3R1cnkgc2VsaGFsYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3Ugc2UgbmVwb2RhxZlpbG8gdnlleHBvcnRvdmF0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6IG5hbGV6ZW5hIMW+w6FkbsOhIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UiCisKKyMgVE9ETzogUGx1cmFsaXplCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBvYnNhaHVqZSBqZW4gJXp1IG9kZMOtbMWvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBvZGTDrWwgJXp1OiBvZGTDrWwgbmVuw60gbmV2eXXFvml0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIsW+w6FkbsOpIMSNw61zbG8gb2Rkw61sdSBuZWJ5bG8gemFkw6FubyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJuZW/EjWVrw6F2YW7DqSBhcmd1bWVudHkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlenU6IHrDrXNrw6Fuw60gdHlwdSBvZGTDrWx1IHNlbGhhbG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCB0eXAgb2Rkw61sdSAlcyDigJ4lc+KAnCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogbmFzdGF2ZW7DrSB0eXB1IG9kZMOtbHUgc2VsaGFsbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogbmVwb2RhxZlpbG8gc2UgesOtc2thdCBVVUlEIG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgImFsb2thY2Ugb2JqZWt0dSBvZGTDrWx1IHNlbGhhbGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlenU6IG5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IFVVSUQgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogbmVwb2RhxZlpbG8gc2UgesOtc2thdCBuw6F6ZXYgb2Rkw61sdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogb2Rkw61sICV6dTogbmVwb2RhxZlpbG8gc2UgbmFzdGF2aXQgbsOhemV2IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IG9kZMOtbCAlenU6IG5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IGF0cmlidXR5IG9kZMOtbHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIFDFmcOta2F6eTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICB1bG/FvsOtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgYSBza29uxI3DrVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAgem9icmF6w60gbm92b3Ugc2l0dWFjaSBhIHDFmWVkIHrDoXBpc2VtIHBvxI1rw6EgbmEgcG90dnJ6ZW7DrSB1xb5pdmF0ZWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiAgIGFib3J0ICAgIHVrb27EjcOtIHDFmcOta2F6b3bDqSBwcm9zdMWZZWTDrSBzZmRpc2t1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICB6b2JyYXrDrSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBDdHJsLUQgICBzdGVqbsOpIGpha28gcMWZw61rYXog4oCecXVpdOKAnFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTkKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIgRm9ybcOhdCB2c3R1cHU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDx6YcSNw6F0ZWs+LCA8dmVsaWtvc3Q+LCA8dHlwPiwgPHphdmVkaXRlbG7DvT5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA0Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDx6YcSNw6F0ZWs+ICAgICAgWmHEjcOhdGVrIG9kZMOtbHUgdsKgc2VrdG9yZWNoLiBKZS1saSB6YWTDoW4gdmUgdHZhcnVcbiIKKyIgICAgICAgICAgICAgICAgICA8xI3DrXNsbz57SyxNLEcsVCxQLEUsWixZfSwgcGFrIHNlIGplZG7DoSBvwqBiYWp0eS4gVsO9Y2hvesOtXG4iCisiICAgICAgICAgICAgICAgICAgamUgcHJ2bsOtIHZvbG7DqSBtw61zdG8uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8dmVsaWtvc3Q+ICAgICBWZWxpa29zdCBvZGTDrWx1IHbCoHNla3RvcmVjaC4gSmUtbGkgemFkw6FuYSB2ZSB0dmFydVxuIgorIiAgICAgICAgICAgICAgICAgIDzEjcOtc2xvPntLLE0sRyxULFAsRSxaLFl9LCBwYWsgc2UgamVkbsOhIG/CoGJhanR5LiBWw71jaG96w61cbiIKKyIgICAgICAgICAgICAgICAgICBqZSB2ZcWha2Vyw6kgZG9zdHVwbsOpIG3DrXN0by5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA8dHlwPiAgICBEcnVoIG9kZMOtbHUuIFbDvWNob3rDrSBqZSBsaW51eG92w70gZGF0b3bDvSBvZGTDrWwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IMWhZXN0bsOhY3Rrb3bDqSBuZWJvIHprcmF0a3kgTCwgUywgRSwgWCwgVSwgUiwgVi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxILFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BUOiBVVUlEIG5lYm8gemtyYXRreSBMLCBTLCBILCBVLCBSLCBWLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPHphdmVkaXRlbG7DvT4gIE96bmHEjXRlIHBvbW9jw60g4oCeKuKAnCBNQlLigK9vZGTDrWwgamFrbyB6YXZlZGl0ZWxuw70uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyMworbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIgUMWZw61rbGFkOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjUKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgICwgNEcgICAgIFZ5dHZvxZnDrSA0R2lCIG9kZMOtbCBuYSB2w71jaG96w60gcG/EjcOhdGXEjW7DrSBwb3ppY2kuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gcMWZw61rYXoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLFmcOhZGVrICVkOiBuZXBvZHBvcm92YW7DvSBwxZnDrWtheiIKKworIyBUaGUgJXMgaXMgYSBmaWxlIHN5c3RlbSB0eXBlCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3Igc2ZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIlN0YXLDvSB2em9yZWMgJXMgbW/Fvm7DoSB6xa9zdGFuZSBuYSB6YcWZw616ZW7DrS4gRG9wb3J1xI11amUgdnnEjWlzdGl0IHphxZnDrXplbsOtIHDFmcOta2F6ZW0gd2lwZWZzKDgpIG5lYm8gc2ZkaXNrIC0td2lwZSwgYWJ5IHNlIHDFmWVkZcWhbG8gbW/Fvm7DvW0ga29saXrDrW0uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm7DoXpldiBvZGTDrWx1IHNlIG5lcG9kYcWZaWxvIGFsb2tvdmF0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImFsb2thY2Ugb2JzbHVoeSBza3JpcHR1IHNlbGhhbGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBvZGTDrWwgJWQgbmVsemUgem3Em25pdDogxb7DoWRuw6EgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBuZWJ5bCBuYWxlemVuYSIKKworIyBUT09EOiBwbHVyYWxpemUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogb2Rkw61sICVkIG5lbHplIHptxJtuaXQ6IHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3Ugb2JzYWh1amUgcG91emUgJXp1IG9kZMOtbMWvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgInBvem9yOiAlczogb2Rkw61sICVkIG5lbsOtIGplxaF0xJsgZGVmaW5vdsOhbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorIlxuIgorIlbDrXRlanRlIHbCoHNmZGlza3UgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJPdsSbxZl1amUgc2UsIHpkYSB0ZW50byBkaXNrIG5lbsOtIHByw6F2xJsgcG91xb7DrXbDoW7igKYiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgU0VMSEFMT1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIlRlbnRvIGRpc2sgamUgcHLDoXbEmyBwb3XFvsOtdsOhbiAtIHZ5dHbDocWZZW7DrSBvZGTDrWzFryBuZW7DrSBkb2Jyw71tXG4iCisibsOhcGFkZW0uIE9kcG9qdGUgdsWhZWNobnkgc3lzdMOpbXkgc291Ym9yxa8gYSBwb21vY8OtIHN3YXBvZmYgZGVha3RpdnVqdGVcbiIKKyJ2xaFlY2hueSBvZGtsw6FkYWPDrSBwcm9zdG9yeSBuYSB0b210byBkaXNrdS4gSyBwb3RsYcSNZW7DrSB0w6l0byBrb250cm9seSBtxa/FvmV0ZVxuIgorInBvdcW+w610IHDFmWVww61uYcSNIC0tbm8tcmVyZWFkLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzMKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiUG91xb5panRlIHDFmWVww61uYcSNIC0tZm9yY2UgayBwb3RsYcSNZW7DrSB2ZcWha2Vyw71jaCBrb250cm9sLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiIE9LXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIlN0YXLDoSBzaXR1YWNlOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIGhvZGzDoSB2eXR2b8WZaXQgbm92w70g4oCeJXPigJwgcG9waXMgZGlza3UuXG4iCisiRMWZw612ZSBuZcW+IHZ5dHZvxZnDrXRlIHBydm7DrSBvZGTDrWwsIG3Fr8W+ZXRlIHbDvWNob3rDrSBob2Rub3R1IHptxJtuaXQgcG9tb2PDrVxuIgorIuKAnmxhYmVsOiA8bsOhemV2PuKAnC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlbDrWNlIGluZm9ybWFjw60gesOtc2vDoXRlIG5hcHPDoW7DrW0g4oCeaGVscOKAnC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjg2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIlbFoWVjaG55IG9kZMOtbHkganNvdSBwb3XFvml0eS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNAorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIkhvdG92by5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiT2Rkw61sIHNlIGlnbm9ydWplLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzM1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5NQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgIkhsYXZpxI1reSBza3JpcHR1IG5lIG5lcG9kYcWZaWxvIHBvdcW+w610LiBQb3BpcyBkaXNrdSBuZWJ5bCBuZXZ5dHZvxZllbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIk9kZMOtbCDEjS7igK8lZCBzZSBuZXBvZGHFmWlsbyBwxZlpZGF0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiSGxhdmnEjWthIHNrcmlwdHUgcMWZaWphdGEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJOb3bDoSBzaXR1YWNlOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiVWxvxb5pdCB0b3RvIG5hIGRpc2s/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJPcG91xaF0w60gc2UuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSA8emHFmcOtemVuw60+IFtbLU5dIDxvZGTDrWw+XG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gPHDFmcOta2F6PlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIChQKU1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWN0aXZhdGUgPHphxZnDrXplbsOtPiBbPG9kZMOtbD4g4oCmXVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbmVibyBuYXN0YXbDrSB6YXZlZGl0ZWxuw6kgb2Rkw61seSAoUClNQlJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIgorIiAtZCwgLS1kdW1wIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgZXhwb3J0dWplIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwb3XFvml0ZWxuw6kgcG96ZMSbamkgamFrbyB2c3R1cClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiA8emHFmcOtemVuw60+ICAgICAgICAgICAgIGV4cG9ydHVqZSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IHbCoEpTT051XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8emHFmcOtemVuw60+IOKApl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIGdlb21ldHJpaSB2xaFlY2ggbmVibyB6YWRhbsO9Y2ggemHFmcOtemVuw61cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzx6YcWZw616ZW7DrT4g4oCmXSAgICAgICAgIHZ5cMOtxaFlIG9kZMOtbHkgbmEga2HFvmTDqW0gemHFmcOtemVuw61cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLUYsIC0tbGlzdC1mcmVlIFs8emHFmcOtemVuw60+IOKApl0gICAgdnlww63FoWUgdm9sbsOpIG9ibGFzdGkgbmEga2HFvmTDqW0gemHFmcOtemVuw61cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLXIsIC0tcmVvcmRlciA8emHFmcOtemVuw60+ICAgICAgICAgIG9wcmF2w60gxZlhemVuw60gb2Rkw61sxa8gKHBvZGxlIHBvemljZSB6YcSNw6F0a3UpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93LXNpemUgWzx6YcWZw616ZW7DrT4g4oCmXSAgICB2eXDDrcWhZSB2ZWxpa29zdGkgdsWhZWNoIG5lYm8gemFkYW7DvWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgdnlww63FoWUgem7DoW3DqSB0eXB5ICh2aXp0ZSAtWClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSBbPHphxZnDrXplbsOtPiDigKZdICAgICAgIHprb250cm9sdWplLCB6ZGEgb2Rkw61seSB2eXBhZGFqw60gdsKgcG/FmcOhZGt1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisiICAgICAtLWRlbGV0ZSA8emHFmcOtemVuw60+IFs8b2Rkw61sPiDigKZdXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbWHFvmUgdsWhZWNobnkgbmVibyB1dmVkZW7DqSBvZGTDrWx5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisiIC0tcGFydC1sYWJlbCA8emHFmcOtemVuw60+IDxvZGTDrWw+IFs8xZlldMSbemVjPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbmVibyB6bcSbbsOtIG7DoXpldiBvZGTDrWx1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKyIgLS1wYXJ0LXR5cGUgPHphxZnDrXplbsOtPiA8b2Rkw61sPiBbPHR5cD5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIG5lYm8gem3Em27DrSB0eXAgb2Rkw61sdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIiCisiIC0tcGFydC11dWlkIDx6YcWZw616ZW7DrT4gPG9kZMOtbD4gWzxVVUlEPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbmVibyB6bcSbbsOtIFVVSUQgb2Rkw61sdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisiIC0tcGFydC1hdHRycyA8emHFmcOtemVuw60+IDxvZGTDrWw+IFs8xZlldMSbemVjPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbmVibyB6bcSbbsOtIGF0cmlidXR5IG9kZMOtbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgICAgY2VzdGEga8KgemHFmcOtemVuw60gKG9idnlrbGUga8KgZGlza3UpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxvZGTDrWw+ICAgICAgICAgICAgICAgICAgIMSNw61zbG8gb2Rkw61sdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisiIDx0eXBvPiAgICAgICAgICAgICAgICAgICAgdHlwIG9kZMOtbHUsIEdVSUQgcHJvIEdQVCwgxaFlc3Ruw6FjdGtvdsOpIMSNw61zbG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm8gTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBwxZlpcG9qw60gb2Rkw61seSBrwqBleGlzdHVqw61jw60gdGFidWxjZSByb3pkxJtsZW7DrSBkaXNrdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgc2VrdG9yeSB6w6Fsb8W+bsOtIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UgKHZpemUgLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICB2ZWxpa29zdGkgdnlwaXN1amUgdsKgYmFqdGVjaCBuYW3DrXN0byBwb2RvYsSbIHZob2Ruw6lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm8gxI1sb3bEm2thXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1tb3ZlLWRhdGFbPTxzb3Vib3Igc2UgesOhem5hbWVtPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvIHJlYWxva2FjaSBwxZllc3VuZSBkYXRhIG9kZMOtbHUgKHZ5xb5hZHVqZSAtTilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgdnlwbmUgdmXFoWtlcsOpIGtvbnRyb2x5IHNvdWRyxb5ub3N0aVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzUKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAtLWNvbG9yWz08a2R5Pl0gICAgICAgb2JhcnbDrSB2w71zdHVwIChhdXRvLCBhbHdheXMgW3bFvmR5XSwgbmV2ZXIgW25pa2R5XSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPMSNw61zbG8+ICAgICAgdXLEjXVqZSDEjcOtc2xvIG9kZMOtbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIHVkxJtsw6EgdsWhZSBrcm9txJsgesOhcGlzdSBkbyB6YcWZw616ZW7DrVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBuZWtvbnRyb2x1amUsIHpkYS1saSBzZSB6YcWZw616ZW7DrSBwb3XFvsOtdsOhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAtLW5vLXRlbGwta2VybmVsICAgICAgIG5lxZlla25lIGrDoWRydSBvwqB6bcSbbsOhY2hcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiAtTywgLS1iYWNrdXAtZmlsZSA8Y2VzdGE+IHDFmWViaWplIHbDvWNob3rDrSBuw6F6ZXYgesOhbG/Fvm7DrWhvIHNvdWJvcnVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8c2V6bmFtPiAgICAgem9icmF6w60gemFkYW7DqSBzbG91cGNlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgcG90bGHEjcOtIGluZm9ybWHEjW7DrSBobMOhxaFreVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPGtkeT4gICAgICAgICAgdnltYcW+ZSB2em9yY2UgKGF1dG8sIGFsd2F5cyBbdsW+ZHldLCBuZXZlciBbbmlrZHldKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA8bsOhemV2PiAgICAgICB1csSNdWplIG7DoXpldiB0eXB1IChkb3MsIGdwdCwg4oCmKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODgKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG7DoXpldj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICB1csSNdWplIHR5cCB2bm/FmWVuw6lobyBwb3Bpc3UgKGRvcywgYnNkKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgemFzdGFyYWzDqSwgc3Rlam7DqSBqYWtvIC0tc2hvdy1nZW9tZXRyeVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIHphc3RhcmFsw6ksIHBvdXplIHBybyB6cMSbdG5vdSBrb21wYXRpYmlsaXR1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIHphc3RhcmFsw6ksIHBvZHBvcm92YW7DqSBqZWRub3RreSBqc291IHBvdXplIHNla3RvcnlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyBieWwgbmFocmF6ZW4gcMWZZXDDrW5hxI1lbSAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDE1Cittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCBieWwgbmFocmF6ZW4gcMWZZXDDrW5hxI1lbSAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIi0tc2hvdy1wdC1nZW9tZXRyeSBqacW+IG5lbsOtIGltcGxlbWVudG92w6Fuby4gUG91xb5panRlIC0tc2hvdy1nZW9tZXRyeS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MworbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLUxpbnV4IGplIHphc3RhcmFsw70gYSBqacW+IG5lbsOtIHTFmWViYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw6EgamVkbm90a2Eg4oCeJWPigJwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NSBpbmNsdWRlL2MuaDozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyB6wqAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxNTIKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLW1vdmVkYXRhIHZ5xb5hZHVqZSBwxZllcMOtbmHEjSAtTiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIlVVSUQgc2UgbmV6ZGHFmWlsbyByb3plYnJhdDogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IHDFmWVzdW4gbmEgVVVJRCBvZGtsw6FkYWPDrWhvIHByb3N0b3J1IHNlbGhhbCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiB6w6FwaXMgVVVJRCBzZSBuZXpkYcWZaWwiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogcMWZZXN1biBuYSBqbWVub3ZrdSBvZGtsw6FkYWPDrWhvIHByb3N0b3J1IHNlbGhhbCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiam1lbm92a2EgamUgcMWZw61sacWhIGRsb3Vow6EuIFprcsOhY2VuYSBuYSDigJ4lc+KAnCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiJXM6IGNoeWJhIHDFmWkgesOhcGlzdSBqbWVub3ZreSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiWm9icmF6w60gbmVibyB6bcSbbsOtIGptZW5vdmt1IG5lYm8gVVVJRCBvZGtsw6FkYWPDrSBvYmxhc3RpLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPGptZW5vdmthPiB1csSNdWplIG5vdm91IGptZW5vdmt1XG4iCisiIC1VLCAtLXV1aWQgPFVVSUQ+ICAgICAgdXLEjXVqZSBub3bDqSBVVUlEXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICJpZ25vcnVqZSBzZSAtVSAoVVVJRCBuZW7DrSBwb2Rwb3JvdsOhbm8pIgorCisjOiBpbmNsdWRlL2MuaDoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJWw61jZSBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBwxZnDrWthemVtIOKAniVzIC0taGVscOKAnC5cbiIKKworIzogaW5jbHVkZS9jLmg6MzE4Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisiUG91xb5pdMOtOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlDFmWVww61uYcSNZTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIwCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZ1bmtjZTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiUMWZw61rYXp5OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjIKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRG9zdHVwbsOpIHNsb3VwY2UgcHJvIHbDvXN0dXA6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNQorbXNnaWQgImRpc3BsYXkgdGhpcyBoZWxwIgorbXNnc3RyICJ6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUiCisKKyM6IGluY2x1ZGUvYy5oOjMyNgorbXNnaWQgImRpc3BsYXkgdmVyc2lvbiIKK21zZ3N0ciAiem9icmF6w60gdmVyemkiCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb2Ryb2Jub3N0aSBuYWxlem5ldGUgdsKgJXMuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5NSBzeXMtdXRpbHMvcnRjd2FrZS5jOjI5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTEKKyM6IHRleHQtdXRpbHMvY29sLmM6MTYwCittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgImNoeWJhIHDFmWkgesOhcGlzdSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJiYXJ2eSBqc291IHZlIHbDvWNob3rDrW0gbmFzdGF2ZW7DrSB6YXBudXR5IgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJiYXJ2eSBqc291IHZlIHbDvWNob3rDrW0gbmFzdGF2ZW7DrSB2eXBudXR5IgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IHByb23Em25ub3UgcHJvc3TFmWVkw60gJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIiVzOiB2esOhamVtbsSbIHNlIHZ5bHXEjXVqw61jw60gYXJndW1lbnR5OiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJQcsOhemRuw70gcHJvc3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiUm96xaHDrcWZZW7DvSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggc3RhcnRvdmFjw60iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgemF2YWTEm8SNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IFJvesWhLiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiU2tyeXTDoSBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiU2tyeXTDoSBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiU2tyeXTDoSBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJTa3J5dMOhIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiU2tyeXTDoSBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiU2tyeXTDoSBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiU2tyeXTDoSBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiU2tyeXTDoSBOVEZTIFdpblJFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyLiDEjcOhc3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMy4gxI3DoXN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIMSNaSBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldFdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldFdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIlN0YXLDvSBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBzdGFyw70gTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IHN3YXAvU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIlNrcnl0w70gT1MvMiBuZWJvIGhpYmVybmFjZSBJbnRlbHUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IHJvesWhw63FmWVuw70iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIHN2YXplayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuYWNlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIHphdmVkaXRlbG7DvSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMvSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIFNTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiU2tyeXTDvSBCb290IFdpemFyZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiQWNyb25pcyBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIyOQorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiWmF2YWTEm8SNIFNvbGFyaXN1IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgImRhdGEgbWltbyBTUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyDigKYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgcHJvIMSNdGVuw60iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJaYXJvdm7DoW7DrSBSdWZ1cyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIFNTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiemF2YWTEm8SNIExpbnV4L1BBLVJJU0N1IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2VrdW5kw6FybsOtIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCBSQUlEIHNhbW9yb3pwb3puYXRlbG7DvSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAicG96b3I6ICVzIG5lbsOtIHNwcsOhdm7EmyB6YXJvdm7DoW5vIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDgwIGxpYmZkaXNrL3NyYy9hc2suYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiVnlicsOhbiBvZGTDrWwgJWp1IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDgzCittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiSmXFoXTEmyBuZWpzb3UgZGVmaW5vdsOhbnkgxb7DoWRuw6kgb2Rkw61seSEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJOZWpzb3Ugxb7DoWRuw6kgdm9sbsOpIHNla3RvcnkhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NTA1Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAixIzDrXNsbyBvZGTDrWx1IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJWeXR2b8WZZW4gbm92w70gb2Rkw61sICVkIHR5cHUg4oCeJXPigJwgbyB2ZWxpa29zdGkgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiRGlza292w70gb2Rkw61sICV6ZCBtw6EgY2h5Ym7DvSBwb8SNw6F0ZcSNbsOtIHNla3RvciAwLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIk5hICVzIHNlIG5lbmFjaMOhesOtIMW+w6FkbsO9ICpCU0Qgb2Rkw61sLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIlBydm7DrSBjeWxpbmRyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkxIGxpYmZkaXNrL3NyYy9kb3MuYzoxMjEzCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJQb3NsZWRuw60gc2VrdG9yLCArY3lsaW5kcsWvIG5lYm8gK3ZlbGlrb3N0e0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTYgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTggbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiUG9zbGVkbsOtIHNla3RvciwgK3Nla3RvcsWvIG5lYm8gK3ZlbGlrb3N0e0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJaYcWZw616ZW7DrSAlcyBuZW9ic2FodWplIMW+w6FkbsO9IEJTRCBwb3BpcyBkaXNrdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiQ2hjZXRlIHZ5dHZvxZlpdCBCU0QgcG9waXMgZGlza3U/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiRGlzayIKKworIyBwYWNrbmFtZSBpcyBic2RkaXNrbmFtZQorIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NQorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICJOw6F6ZXYgc3Zhemt1IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYyIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIlDFmcOtem5ha3kiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgdsO9bcSbbm7DvSIKKworIyA/Pz8KKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBjaHlibsO9c2VrdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiQmFqdMWvL3Nla3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiU3RvcC9jeWxpbmRyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiU2VrdG9yxa8vY3lsaW5kciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTUgbGliZmRpc2svc3JjL3N1bi5jOjc3MworbXNnaWQgIlJwbSIKK21zZ3N0ciAiby9tIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTAwIGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTEgbGliZmRpc2svc3JjL3N1bi5jOjc5MworbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgIlByb2tsw6Fkw6Fuw60iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDUKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgIlpha8WZaXZlbsOtIHN0b3B5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJaYWvFmWl2ZW7DrSBjeWxpbmRydSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIlDFmWVzdW4gaGxhdnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJQb3N1biBzdG9wYS1zdG9wYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMAorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiYmFqdMWvL3Nla3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNla3RvcsWvL3N0b3B1IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJzdG9wL2N5bGluZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgImN5bGluZHJ5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yxa8vY3lsaW5kciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMgorbXNnaWQgInJwbSIKK21zZ3N0ciAiby9tIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAicHJva2zDoWTDoW7DrSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAiemFrxZlpdmVuw60gc3RvcHkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgInpha8WZaXZlbsOtIGN5bGluZHJ1IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAicMWZZXN1biBobGF2eSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInBvc3VuIHN0b3BhLXN0b3BhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiU291Ym9yIHNlIHphdmFkxJvEjWVtICVzIGJ5bCDDunNwxJvFoW7EmyBuYcSNdGVuLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJaYXZhZMSbxI06ICUxJHNzdGFydCAtPiBzdGFydCUxJHMgKHbDvWNob3rDrSAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwMworbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIlphdmFkxJvEjSBwxZllc2FodWplIGRvIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJaYXZhZMSbxI0gaW5zdGFsb3bDoW4gbmEgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICJQb3BpcyBkaXNrdSB6YXBzOG4gZG8gJXMuIChOZXphcG9tZcWIdGUgemFwc2F0IHRha8OpIHBvcGlzIGRpc2t1ICVzLikiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJQb3BpcyBkaXNrdSB6YXBzw6FuIGRvICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTeW5jaHJvbml6dWrDrSBzZSBkaXNreS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiQlNEIHBvcGlzIGRpc2t1IG5lbsOtIHphbm/FmWVuIGRvIGRvc292w6lobyBvZGTDrWx1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiQlNEIG9kZMOtbCDigJ4lY+KAnCBwcm9wb2plbiBuYSBkb3NvdsO9IG9kZMOtbCAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJTbGljZSIKKworIyBodHRwOi8vcGVvcGxlLmZyZWVic2Qub3JnL35tZWdhbm0vZGF0YS9GQVEvRkFRNDAuaHRtbCNmc2l6ZQorIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRnJhZ21lbnQiCisKKyMgaHR0cDovL3Blb3BsZS5mcmVlYnNkLm9yZy9+bWVnYW5tL2RhdGEvRkFRL0ZBUTQwLmh0bWwjYnNpemUKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgIkJsb2siCisKKyMgQ3lsaW5kZXJzIHBlciBncm91cAorIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIkMvUyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiB1emF2xZllbsOtIHphxZnDrXplbsOtIHNlbGhhbG8iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2Cittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiVm9sw6FtIGlvY3RsKCkgcHJvIHpub3Z1bmHEjXRlbsOtIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3UuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJPcMSbdG92bsOpIG5hxI10ZW7DrSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IHNlbGhhbG8uIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiSsOhZHJvIHN0w6FsZSBwb3XFvsOtdsOhIHN0YXJvdSB0YWJ1bGt1LiBOb3bDoSB0YWJ1bGthIHNlIHBvdcW+aWplIGHFviBwbyBwxZnDrcWhdMOtbSByZXN0YXJ0dSBuZWJvIHBvIHTDqSwgY28gc3B1c3TDrXRlIHBhcnRwcm9iZSg4KSBuZWJvIGtwYXJ0eCg4KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAiWmUgc3lzdMOpbXUgc2UgbmVwb2RhxZlpbG8gb2RzdHJhbml0IG9kZMOtbCAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlN5c3TDqW1vdsOpIMO6ZGFqZSBvwqBvZGTDrWx1ICV6dSBzZSBuZXBvZGHFmWlsbyB6YWt0dWFsaXpvdmF0IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiAlenUgdG8gc3lzdGVtIgorbXNnc3RyICJEbyBzeXN0w6ltdSBzZSBuZXBvZGHFmWlsbyBwxZlpZGF0IG9kZMOtbCAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290LiAiCittc2dzdHIgIkrDoWRybyBzdMOhbGUgcG91xb7DrXbDoSBzdGFyw6kgb2Rkw61seS4gTm92w6EgdGFidWxrYSBzZSBwb3XFvmlqZSBhxb4gcG8gcMWZw63FoXTDrW0gcmVzdGFydHUuICIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY3lsaW5kciIKK21zZ3N0clsxXSAiY3lsaW5kcnkiCittc2dzdHJbMl0gImN5bGluZHLFryIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3IiCittc2dzdHJbMV0gInNla3RvcnkiCittc2dzdHJbMl0gInNla3RvcsWvIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJOZcO6cGxuw6kgbmFzdGF2ZW7DrSBnZW9tZXRyaWUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiSmnFviBqc291IGRlZmlub3bDoW55IHbFoWVjaG55IHByaW3DoXJuw60gb2Rkw61seS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKK21zZ2lkICJQcmltYXJ5IHBhcnRpdGlvbiBub3QgYXZhaWxhYmxlLiIKK21zZ3N0ciAixb3DoWRuw70gcHJpbcOhcm7DrSBvZGTDrWwgbmVuw60gZG9zdHVwbsO9LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJSb3rFocOtxZllbm91IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3Ugc2UgbmVwb2RhxZlpbG8gbmHEjcOtc3QgKHBvemljZT0lanUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICJHZW9tZXRyaWkgbcWvxb5ldGUgbmFzdGF2aXQgesKgbmFiw61ka3kgcm96xaFpxZl1asOtY8OtY2ggZnVua2PDrS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJSZcW+aW0ga29tcGF0aWJpbGl0eSBzwqBET1NlbSBqZSB6YXN0YXJhbMO9LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICJaYcWZw616ZW7DrSB1dsOhZMOtLCDFvmUgdmVsaWtvc3QgbG9naWNrw6lobyBzZWt0b3J1IGplIG1lbsWhw60gbmXFviB2ZWxpa29zdCBzZWt0b3J1IGZ5emlja8OpaG8uIERvcG9ydcSNdWplIHNlIGRvZHLFvmV0IHphcm92bsOhbsOtIG5hIGhyYW5pY2UgZnl6aWNrw71jaCBzZWt0b3LFryAobmVibyBibG9rxa8gb3B0aW3DoWxuw61jaCBwcm8gSS9PKS4gVsKgb3BhxI1uw6ltIHDFmcOtcGFkxJsgbcWvxb5lIHV0cnDEm3QgdsO9a29uLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiWm9icmF6b3bDoW7DrSBob2Rub3QgdsKgY3lsaW5kcmVjaCB2ecWhbG8gesKgbcOzZHkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIlZlbGlrb3N0IHRvaG90byBkaXNrdSBqZSAlcyAoJSdqdSBiYWp0xa8pLiBUYWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IHR5cHUgRE9TIG5lbcWvxb5lIGLDvXQgcG91xb5pdGEgbmEgamVkbm90a8OhY2ggc3ZhemvFryB2xJt0xaHDrWNoIG5lxb4gJSdsdSBiYWp0xa8gcMWZaSAlbHViYWp0b3bDvWNoIHNla3RvcmVjaC4gUG91xb5panRlIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgdHlwdSBHVUlEIChHUFQpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUzNAorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJDaHlibsO9IHBvc3VuIHYgcHJpbcOhcm7DrW0gcm96xaHDrcWZZW7DqW0gb2Rkw61sdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk9kZMOtbHkgcG8gxI3DrXNsZSAlenUgYnVkb3UgdnluZWNow6FueS4gUG9rdWQgdHV0byB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IHVsb8W+w610ZSwgYnVkb3UgenRyYWNlbnkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiTmFkYnl0ZcSNbsO9IHVrYXphdGVsIG5hIG9ka2F6IHbCoHRhYnVsY2Ugcm96ZMSbbGVuw60gZGlza3UgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJOYWRieXRlxI1uw6EgZGF0YSB2wqB0YWJ1bGNlIHJvemTEm2xlbsOtIGRpc2t1ICV6dSBpZ25vcm92w6FuYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJ2eW5lY2jDoXbDoW0gcHLDoXpkbsO9IG9kZMOtbCAoJXp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiVnl0dm/FmWVuYSBub3bDoSBkb3NvdsOhIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3Ugc8KgaWRlbnRpZmlrw6F0b3JlbSAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIlphZGVqdGUgbm92w70gaWRlbnRpZmlrw6F0b3IgZGlza3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MzMKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICJOZXNwcsOhdm7DoSBob2Rub3RhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJJZGVudGlmaWvDoXRvciBkaXNrdSB6bcSbbsSbbiB6wqAweCUwOHggbmEgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJOYWRieXRlxI1uw70gcm96xaHDrcWZZW7DvSBvZGTDrWwgJXp1IGlnbm9yb3bDoW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkNoeWJuw70gcMWZw616bmFrIDB4JTAyeCUwMnggRUJSIChwcm8gb2Rkw61sICV6dSkgYnVkZSBvcHJhdmVuIHrDoXBpc2VtKHcpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIlphxI3DoXRlxI1uw60gc2VrdG9ydSVqdSBqZSBtaW1vIG1lemUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJPZGTDrWwgJXp1IGplIGppxb4gZGVmaW5vdsOhbi4gUMWZZWQgb3DEm3Rvdm7DvW0gdnl0dm/FmWVuw61tIGplaiBtdXPDrXRlIG5lanBydmUgc21hemF0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3IgJWxsdSBqZSBqacW+IGFsb2tvdsOhbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIk5lanNvdSDFvsOhZG7DqSB2b2xuw6kgc2VrdG9yeS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlDFmWlkw6F2w6Egc2UgbG9naWNrw70gb2Rkw61sICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIk9kZMOtbCAlenU6IG9ic2FodWplIHNla3RvciAwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJPZGTDrWwgJXp1OiBobGF2YSAlZCBtw6EgdsSbdMWhw60gxI3DrXNsbyBuZcW+IGplIG1heGltdW0gJWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJPZGTDrWwgJXp1OiBzZWt0b3IgJWQgbcOhIHbEm3TFocOtIMSNw61zbG8gbmXFviBqZSBtYXhpbXVtICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIk9kZMOtbCAlenU6IGN5bGluZHIgJWQgbcOhIHbEm3TFocOtIMSNw61zbG8gbmXFviBqZSBtYXhpbXVtICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIk9kZMOtbCAlenU6IHDFmWVkY2hvesOtIHNla3RvcnkgJXUgbmVzb3VobGFzw60gcyDDumhybmVtICV1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJPZGTDrWwgJXp1OiByb3pkw61sbsO9IGZ5emlja8O9IGEgbG9naWNrw70gemHEjcOhdGVrIChuZWxpbnV4b3bDvT8pOiBmeXppY2vDvT0oJWQsICVkLCAlZCksIGxvZ2lja8O9PSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJPZGTDrWwgJXp1OiByb3pkw61sbsO9IGZ5emlja8O9IGEgbG9naWNrw70ga29uZWM6IGZ5emlja8O9PSglZCwgJWQsICVkKSwgbG9naWNrw709KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJPZGTDrWwgJXp1OiBuZWtvbsSNw60gbmEgaHJhbmljaSBjeWxpbmRydS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiT2Rkw61sICV6dTogY2h5Ym7DvSBwb8SNw6F0ZWsgZGF0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIk9kZMOtbCAlenU6IHDFmWVzYWh1amUgZG8gb2Rkw61sdSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIk9kZMOtbCAlenU6IGplIHByw6F6ZG7DvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMb2dpY2vDvSBvZGTDrWwgJXp1OiB6YXNhaHVqZSBtaW1vIG9kZMOtbCAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiQ2Vsa292w70gcG/EjWV0IGFsb2tvdmFuw71jaCBzZWt0b3LFryAlJ2xsdSBqZSB2xJt0xaHDrSBuZcW+IG1heGltdW0gJSdsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiWmLDvXbDoSAlJ2xsZCBuZWFsb2tvdmFuw71jaCAlbGRiYWp0b3bDvWNoIHNla3RvcsWvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJSb3rFocOtxZllbsO9IG9kZMOtbCBqacW+IGV4aXN0dWplLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzEKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3RzLiBGYWlsZWQgdG8gYWRkIGxvZ2ljYWwgcGFydGl0aW9uLiIKK21zZ3N0ciAiUm96xaHDrcWZZW7DvSBvZGTDrWwgbmVleGlzdHVqZS4gUMWZaWTDoW7DrSBsb2dpY2vDqWhvIG9kZMOtbHUgc2VsaGFsby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIkppxb4gamUgdnl0dm/FmWVubyBtYXhpbcOhbG7DrSBtbm/FvnN0dsOtIG9kZMOtbMWvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJWxaFlY2hueSBwcmltw6FybsOtIG9kZMOtbHkganNvdSBvYnNhemVueS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgzIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk0Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiVmXFoWtlcsO9IHByb3N0b3IgZm9yIHByaW3DoXJuw60gb2Rkw61seSBqZSBqacW+IHBvdcW+aXQuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJDaGNldGUtbGkgdsOtY2Ugb2Rkw61sxa8sIG5lanBydmUgbmFocmHEj3RlIHByaW3DoXJuw60gb2Rkw61sIG9kZMOtbGVtIHJvesWhw63FmWVuw71tLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiVsWhZWNobnkgbG9naWNrw6kgb2Rkw61seSBqc291IG9ic2F6ZW55LiBQxZlpZMOhIHNlIG9kZMOtbCBwcmltw6FybsOtLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVHlwIG9kZMOtbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSBwcmltw6FybsOtLCAlZCByb3rFocOtxZllbsO9LCAlenUgdm9sbsO9IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworbXNnaWQgInByaW1hcnkiCittc2dzdHIgInByaW3DoXJuw60iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgInJvesWhw63FmWVuw70iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgImtvbnRlam5lciBwcm8gbG9naWNrw6kgb2Rkw61seSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJsb2dpY2vDvSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIsSNw61zbG92w6FubyBvZCA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJDaHlibsO9IHR5cCBvZGTDrWx1IOKAniVj4oCcLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJTZWt0b3IgJWpkIG5lbHplIHphcHNhdDogem3Em25hIHBvemljZSBzZWxoYWxhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiSWRlbnRpZmlrw6F0b3IgZGlza3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiTmEgbW5vaGEgc3lzdMOpbWVjaCB0eXAgMCBvem5hxI11amUgdm9sbsO9IHByb3N0b3IuIE3DrXQgb2Rkw61seSB0eXB1IDAgbmVuw60gbW91ZHLDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIlR5cCByb3rFocOtxZllbsOpaG8gb2Rkw61sdSwga3RlcsO9IHNlIGppxb4gcG91xb7DrXbDoSBsb2dpY2vDvW0gb2Rkw61sZW0sIG5lbHplIHptxJtuaXQuIE5lanBydmUgc21hxb50ZSBsb2dpY2vDvSBvZGTDrWwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI1OSBsaWJmZGlzay9zcmMvZ3B0LmM6MzAzNworbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIkRpc2tvdsOpIG9kZMOtbHkganNvdSBqacW+IHNlxZlhemVueS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIk9kZMOtbCAlenU6IG5lb2JzYWh1amUgZGF0b3ZvdSBvYmxhc3QuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjM0NworbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiTm92w70gemHEjcOhdGVrIGRhdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiT2Rkw61sICV6dTogamUgcm96xaHDrcWZZW7DvW0gb2Rkw61sZW0uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiUMWZw616bmFrIHphdmVkaXRlbG5vc3RpIG9kZMOtbHUgJXp1IGplIG55bsOtIHphcG51dC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiUMWZw616bmFrIHphdmVkaXRlbG5vc3RpIG9kZMOtbHUgJXp1IGplIG55bsOtIHZ5cG51dC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiWmHFmcOtemVuw60iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIlphdmVkaXRlbG7DvSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIlphxI3DoXRlay1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIktvbmVjLUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorbXNnaWQgIkF0dHJzIgorbXNnc3RyICJBdHIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJTeXN0w6ltIEVGSSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJTY2jDqW1hIG9kZMOtbMWvIE1CUiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIlJ5Y2hsw6EgZmxhc2ggSW50ZWx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY1Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJTdGFydG92YWPDrSBvZGTDrWwgQklPU3UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjgKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJTdGFydG92YWPDrSBvZGTDrWwgU29ueSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiU3RhcnRvdmFjw60gb2Rkw61sIExlbm92YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiU3RhcnRvdmFjw60gb2Rkw61sIE9OSUUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiS29uZmlndXJhxI1uw60gb2Rkw61sIE9OSUUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzkKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIlZ5aHJhemVubyBwcm8gTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIlrDoWtsYWRuw60gZGF0YSBNaWNyb3NvZnR1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTERNIG1ldGFkYXRhIE1pY3Jvc29mdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIkxETSBkYXRhIE1pY3Jvc29mdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICJQcm9zdMWZZWTDrSBvYm5vdnkgV2luZG93cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICJPYmVjbsO9IHBhcmFsZWxuw60gc3lzdMOpbSBJQk0iCisKKyMgUHJvcGVyIG5hbWUgb2YgTFZNLWxpa2UgdGVjaG5vbG9neQorIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiU3RvcmFnZSBTcGFjZXMgTWljcm9zb2Z0dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkRhdGEgc3lzdMOpbXUgSFAtVVgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJTbHXFvmJhIHN5c3TDqW11IEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MCBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiU291Ym9yb3bDvSBzeXN0w6ltIExpbnV4dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTZXJ2ZXJvdsOhIGRhdGEgTGludXh1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiS2/FmWVuIExpbnV4dSAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIktvxZllbiBMaW51eHUgKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJLb8WZZW4gTGludXh1ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiS2/FmWVuIExpbnV4dSAoQVJNLTY0KSIKKworIyA/Pz8gVHlwbz8KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJLb8WZZW4gTGludXh1IChJQS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiVnlocmF6ZW5vIExpbnV4dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkRvbW92c2vDqSBhZHJlc8OhxZllIExpbnV4dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMiBsaWJmZGlzay9zcmMvc2dpLmM6NjMKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzCittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiTGludXggcm96xaHDrcWZZW7DvSB6YXZlZGl0ZWxuw70iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkRhdGEgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiU3RhcnRvdmFjw60gb2Rkw61sIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIk9ka2zDoWRhY8OtIG9kZMOtbCBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIlVGUyBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIlpGUyBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiVmludW0gRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJIRlMvSEZTKyBBcHBsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiVUZTIEFwcGx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiUkFJRCBBcHBsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiT2Rwb2plbsO9IFJBSUQgQXBwbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICJTdGFydG92YWPDrSBvZGTDrWwgQXBwbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiUG9waXMgQXBwbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiT2Jub3ZhIHRlbGV2aXplIEFwcGx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICLDmmxvxb5pxaF0xJsgasOhZHJhIEFwcGx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJLb8WZZW5vdsO9IHN5c3TDqW0gU29sYXJpc3UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIi91c3IgU29sYXJpc3UgYSBaRlMgQXBwbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIk9ka2zDoWRhY8OtIG9kZMOtbCBTb2xhcmlzdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJaw6Fsb2hhIFNvbGFyaXN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICIvdmFyIFNvbGFyaXN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiL2hvbWUgU29sYXJpc3UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIk7DoWhyYWRuw60gc2VrdG9yIFNvbGFyaXN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJWeWhyYXplbm8gcHJvIFNvbGFyaXMgKDEpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJWeWhyYXplbm8gcHJvIFNvbGFyaXMgKDIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJWeWhyYXplbm8gcHJvIFNvbGFyaXMgKDMpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJWeWhyYXplbm8gcHJvIFNvbGFyaXMgKDQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJWeWhyYXplbm8gcHJvIFNvbGFyaXMgKDUpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIk9ka2zDoWRhY8OtIG9kZMOtbCBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJGRlMgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTEZTIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIlrFmWV0xJt6ZW7DqSBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICLFoGlmcm92YW7DqSBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiUkFJRCBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTMKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIkrDoWRybyBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIktvxZllbm92w70gc3lzdMOpbSBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJWeWhyYXplbm8gcHJvIENocm9tZU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiRGF0YSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIlN0YXJ0b3ZhY8OtIG9kZMOtbCBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIk9ka2zDoWRhY8OtIG9kZMOtbCBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiVUZTIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJaRlMgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiVmludW0gTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIsW9dXJuw6FsIENlcGh1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAixaBpZnJvdmFuw70gxb51cm7DoWwgQ2VwaHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiT1NEIENlcGh1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIsWgaWZyb3ZhbsO9IE9TRCBDZXBodSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiVnl0dsOhxZnDrSBzZSBjZXBob3bDvSBkaXNrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJWeXR2w6HFmcOtIHNlIMWhaWZyb3ZhbsO9IGNlcGhvdsO9IGRpc2siCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKK21zZ2lkICJWTXdhcmUgRGlhZ25vc3RpYyIKK21zZ3N0ciAiRGlhZ25vc3Rpa2EgVk13YXJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICJWaXJ0dcOhbG7DrSBTQU4gVk13YXJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiVk13YXJlIFZpcnN0byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBWTXdhcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIkRhdGEgT3BlbkJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIlNvdWJvcm92w70gc3lzdMOpbSBRTlg2IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiT2Rkw61sIFBsYW4gOSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJhbG9rYWNlIGhsYXZpxI1reSBHUFQgc2VsaGFsYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlBydm7DrSBhZHJlc2EgTEJBIHV2ZWRlbsOhIHNrcmlwdGVtIGplIG1pbW8gcm96c2FoLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc1NgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiUG9zbGVkbsOtIGFkcmVzYSBMQkEgdXZlZGVuw6Egc2tyaXB0ZW0gamUgbWltbyByb3pzYWguIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiVmVsaWtvc3QgR1BUIFBNQlIgbmVzb3VobGFzw60gKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pLCBidWRlIG9wcmF2ZW5hIHDFmWkgesOhcGlzdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MTcKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIkdQVDogdm9sw6Fuw60gc3RhdCgpIHNlbGhhbG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiR1BUOiBzb3Vib3J5IHPCoG3Ds2RlbSAlbyBuZWx6ZSB6cHJhY292YXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiSGxhdmnEjWthIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiWsOhem5hbXkgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiUHJ2bsOtIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiUG9zbGVkbsOtIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIkxCQSBuw6FocmFkeSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiTEJBIHrDoXpuYW3FryBvZGTDrWzFryIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNTAKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIkFsb2tvdmFuw6kgesOhem5hbXkgb2Rkw61sxa8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiWsOhbG/Fvm7DrSB0YWJ1bGthIEdQVCBqZSBwb8Wha296ZW7DoSwgYXbFoWFrIGhsYXZuw60gc2UgemTDoSBiw710IHbCoHBvxZnDoWRrdSwgdGFrxb5lIHRhIGJ1ZGUgcG91xb5pdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkhsYXZuw60gdGFidWxrYSBHUFTigK9qZSBwb8Wha296ZW7DoSwgYXbFoWFrIHrDoWxvxb5uw60gc2UgemTDoSBiw710IHbCoHBvxZnDoWRrdSwgdGFrxb5lIHRhIGJ1ZGUgcG91xb5pdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxOAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIG5vdCBvbiB0aGUgZW5kIG9mIHRoZSBkZXZpY2UuIFRoaXMgcHJvYmxlbSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIlrDoWxvxb5uw60gdGFidWxrYSBHUFQgbmVuw60gbmEga29uY2kgemHFmcOtemVuw60uIFByb2Jsw6ltIGJ1ZGUgb3ByYXZlbiBwxZlpIHrDoXBpc3UuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBiaXQg4oCeJXPigJwgYXRyaWJ1dHUgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCDFmWV0xJt6ZWMgYXRyaWJ1dMWvIEdQVCDigJ4lc+KAnCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiVVVJRCBvZGTDrWx1IHptxJtuxJtubyB6wqAlcyBuYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgIk7DoXpldiBvZGTDrWx1IHNlIG5lcG9kYcWZaWxvIHDFmWVsb8W+aXQsIG7DoXpldiBuZXptxJtuxJtuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiTsOhemV2IG9kZMOtbHUgem3Em27Em24gesKg4oCeJXPigJwgbmEg4oCeJS4qc+KAnC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQ1Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIlphxI3DoXRlayBvZGTDrWx1IG5lZG9zYWh1amUgRmlyc3RVc2FibGVMQkEgKHBydm7DrSBwb3XFvml0ZWxuw6kgTEJBKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiS29uZWMgb2Rkw61sdSBwxZlla3JhxI11amUgTGFzdFVzYWJsZUxCQSAocG9zbGVkbsOtIHBvdcW+aXRlbG7DqSBMQkEpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiWmHFmcOtemVuw60gb2JzYWh1amUgaHlicmlkbsOtIE1CUsKg4oCTIHphcGlzdWplIHNlIHBvdXplIEdQVC4gTUJSIG11c8OtdGUgc3luY2hyb25pem92YXQgcnXEjW7Emy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIkRpc2sgbmVvYnNhaHVqZSBrb3Jla3Ruw60gesOhbG/Fvm7DrSBobGF2acSNa3UuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiQ2h5Ym7DvSBrb250cm9sbsOtIHNvdcSNZXQgcHJpbcOhcm7DrSBobGF2acSNa3kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJDaHlibsO9IGtvbnRyb2xuw60gc291xI1ldCB6w6Fsb8W+bsOtIGhsYXZpxI1reS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJDaHlibsO9IGtvbnRyb2xuw60gc291xI1ldCB6w6F6bmFtdSBvZGTDrWx1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiS29udHJvbGEgc3Byw6F2bm9zdGkgcHJpbcOhcm7DrSBobGF2acSNa3kgTEJBIG5lcHJvxaFsYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiS29udHJvbGEgc3Byw6F2bm9zdGkgesOhbG/Fvm7DrSBobGF2acSNa3kgTEJBIG5lcHJvxaFsYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgc2UgbmVzaG9kdWplIHNlIHNrdXRlxI1ub3UgcG96aWPDrSB2wqBwcmltw6FybsOtIGhsYXZpxI1jZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSBzZSBuZXNob2R1amUgc2Ugc2t1dGXEjW5vdSBwb3ppY8OtIHbCoHrDoWxvxb5uw60gaGxhdmnEjWNlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiRGlzayBqZSBwxZnDrWxpxaEgbWFsw70sIGFieSB1ZHLFvmVsIHbFoWVjaG5hIGRhdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICJQcmltw6FybsOtIGEgesOhbG/Fvm7DrSBobGF2acSNa2Egc2UgbmVzaG9kdWrDrS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIk9kZMOtbCAldSBwxZllc2FodWplIGRvIG9kZMOtbHUgJXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJPZGTDrWwgJXUgamUgcHJvIGRpc2sgcMWZw61sacWhIHZlbGvDvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJPZGTDrWwgJXUga29uxI3DrSBwxZllZCBzdsO9bSB6YcSNw6F0a2VtLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICLFvcOhZG7DqSBjaHlieSBuZW9iamV2ZW55LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJWZXJ6ZSBobGF2acSNa3k6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiUG91xb7DrXbDoSBzZSAlenUgesKgJXp1IG9kZMOtbMWvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiQ2Vsa2VtICVqdSB2b2xuw71jaCBzZWt0b3LFryBqZSBkb3N0dXBuw71jaCB2wqAldSBvYmxhc3RpLiIKK21zZ3N0clsxXSAiQ2Vsa2VtICVqdSB2b2xuw71jaCBzZWt0b3LFryBqZSBkb3N0dXBuw71jaCB2wqAldSBvYmxhc3RlY2ggKG5lanbEm3TFocOtIGplICVzKS4iCittc2dzdHJbMl0gIkNlbGtlbSAlanUgdm9sbsO9Y2ggc2VrdG9yxa8gamUgZG9zdHVwbsO9Y2ggdsKgJXUgb2JsYXN0ZWNoIChuZWp2xJt0xaHDrSBqZSAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIk9iamV2ZW5hICVkIGNoeWJhLiIKK21zZ3N0clsxXSAiT2JqZXZlbnkgJWQgY2h5YnkuIgorbXNnc3RyWzJdICJPYmpldmVubyAlZCBjaHliLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJWxaFlY2hueSBvZGTDrWx5IHNlIGppxb4gcG91xb7DrXZhasOtLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJTZWt0b3IgJWp1IGplIGppxb4gYWxva292w6FuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJPZGTDrWwgJXp1IG5lYnlsbyBtb8W+bsOpIHZ5dHZvxZlpdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIlBvc2xlZG7DrSBwb3XFvml0ZWxuw70gc2VrdG9yIEdQVOKAr2plICVqdSwgYWxlIHBvxb5hZG92w6FubyBieWxvICVqdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiUHJ2bsOtIHBvdcW+aXRlbG7DvSBzZWt0b3IgR1BUIGplICVqdSwgYWxlIHBvxb5hZG92w6FubyBieWxvICVqdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICJWeXR2b8WZZW5hIG5vdsO9IHBvcGlzIGRpc2t1IEdQVCAoR1VJRDogJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NDYKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIlphZGVqdGUgbm92w6kgVVVJRCBkaXNrdSAoZm9ybcOhdCA4LTQtNC00LTEyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiVmHFoWUgVVVJRCBzZSBuZXBvZGHFmWlsbyByb3plYnJhdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJJZGVudGlmaWvDoXRvciBkaXNrdSB6bcSbbsSbbiB6wqAlcyBuYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjg3Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIk5lZG9zdGF0ZWsgbcOtc3RhIHBybyBub3ZvdSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1ISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiT2Rkw61sIMSNLuKAryV6dSBqZSBtaW1vIHJvenNhaCAobmVqbWVuxaHDrSBwb8SNw6F0ZWsgamUgJTxQUkl1NjQ+IHNla3RvcsWvKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIk9kZMOtbCDEjS7igK8lenUgamUgbWltbyByb3pzYWggKG5lanphesWhw60ga29uZWMgamUgJTxQUkl1NjQ+IHNla3RvcsWvKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAixIzDrXNsbyBvZGTDrWx1IG11c8OtIGLDvXQgbWVuxaHDrSBuZcW+ICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIlBhbcSbxaUgbmVsemUgYWxva292YXQhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiRMOpbGthIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3Ugem3Em27Em25hIHrCoCU8UFJJdTMyPiBuYSAlPFBSSXU2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJBdHJpYnV0eSBvZGTDrWx1ICV6dSBzZSB6bcSbbmlseSBuYSAweCUwMTY8UFJJeDY0Pi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIlphZGVqdGUgYml0IHNwZWNpZmlja8O9IHBybyBHVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IGJpdCAlbHUgc2UgbmVwb2RhxZlpbG8gcMWZZXBub3V0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkJpdCBzcGVjaWZpY2vDvSBwcm8gR1VJRCAlZCBuYSBvZGTDrWx1ICV6dSBqZSBueW7DrSBuYXN0YXZlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkJpdCBzcGVjaWZpY2vDvSBwcm8gR1VJRCAlZCBuYSBvZGTDrWx1ICV6dSBqZSBueW7DrSB2eXBudXQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiUMWZw616bmFrICVzIG9kZMOtbHUgJXp1IGplIG55bsOtIHphcG51dC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiUMWZw616bmFrICVzIG9kZMOtbHUgJXp1IGplIG55bsOtIHZ5cG51dC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM0Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJEcnVoLVVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTsOhemV2IgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiVm9sbsO9IHByb3N0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJabcSbbml0IHZlbGlrb3N0IG9kZMOtbHUgxI0u4oCvJXp1IHNlIG5lcG9kYcWZaWxvLiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAibmV6bsOhbcO9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJIbGF2acSNa2EgU0dJIHN2YXprdSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHN2YXplayIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIFhGUyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZuw60iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICLDmmRhamUgU0dJIHZ5dHZvxZllbnkgbmEgZHJ1aMOpbSBzZWt0b3J1LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OAorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIk5hbGV6ZW4gU0dJIHBvcGlzIGRpc2t1IHMgY2h5Ym7DvW0ga29udHJvbG7DrW0gc291xI10ZW0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkZ5emlja8OpIGN5bGluZHJ5IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIkV4dHJhIHNla3RvcnkvY3lsaW5kciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJTdGFydG92YWPDrSBzb3Vib3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiQ2h5Ym7DvSBzdGFydG92YWPDrSBzb3Vib3IhIFN0YXJ0b3ZhY8OtIHNvdWJvciBtdXPDrSBiw710IGFic29sdXRuw60gbmVwcsOhemRuw6EgY2VzdGEsIG5hcMWZLiDigJ4vdW5peOKAnCDEjWkg4oCcL3VuaXguc2F2ZeKAnC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiTsOhemV2IHN0YXJ0b3ZhY8OtaG8gc291Ym9ydSBqZSBwxZnDrWxpxaEgZGxvdWjDvTogbWF4aW11bSBqZSAlenUgYmFqdC4iCittc2dzdHJbMV0gIk7DoXpldiBzdGFydG92YWPDrWhvIHNvdWJvcnUgamUgcMWZw61sacWhIGRsb3Vow706IG1heGltdW0ganNvdSAlenUgYmFqdHkuIgorbXNnc3RyWzJdICJOw6F6ZXYgc3RhcnRvdmFjw61obyBzb3Vib3J1IGplIHDFmcOtbGnFoSBkbG91aMO9OiBtYXhpbXVtIGplICV6dSBiYWp0xa8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA3Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiU3RhcnRvdmFjw60gc291Ym9yIG11c8OtIGLDvXQgemFkw6FuIHPCoGNlbG91IGNlc3RvdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTMKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiVXbEm2RvbXRlIHNpLCDFvmUgZXhpc3RlbmNlIHN0YXJ0b3ZhY8OtaG8gc291Ym9ydSBuZW7DrSBvdsSbxZlvdsOhbmEuIFbDvWNob3rDrSBuYXN0YXZlbsOtIFNHSeKAr2plIOKAni91bml44oCcIGEgamFrbyB6w6Fsb2hhIOKAni91bml4LnNhdmXigJwuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIlNvdcSNYXNuw70gc3RhcnRvdmFjw60gc291Ym9yIGplOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MAorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJaYWRlanRlIG5vdsO9IHN0YXJ0b3ZhY8OtIHNvdWJvciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJTdGFydG92YWPDrSBzb3Vib3IgbmVieWwgem3Em27Em24uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiU3RhcnRvdmFjw60gc291Ym9yIGJ5bCB6bcSbbsSbbiBuYSDigJ4lc+KAnC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJFeGlzdHVqZSB2w61jZSBuZcW+IGplZGVuIHrDoXpuYW0gcMWZZXMgY2Vsw70gZGlzay4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIk5lanNvdSBkZWZpbm92w6FueSDFvsOhZG7DqSBvZGTDrWx5LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVggbcOhIHLDoWQsIGtkecW+IG9kZMOtbCAxMSB6YXVqw61tw6EgY2Vsw70gZGlzay4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiRGlza292w70gb2Rkw61sIHphdWrDrW1hasOtY8OtIGNlbMO9IGRpc2sgYnkgbcSbbCB6YcSNw61uYXQgYmxva2VtIDAsIG5pa29saXYgYmxva2VtICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiT2Rkw61sIDExIGJ5IG3Em2wgemF1asOtbWF0IGNlbMO9IGRpc2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiRGlza292w6kgb2Rkw61seSAlZCBhICVkIHNlIG5hdnrDoWplbSBwxZlla3LDvXZhasOtICVkIHNla3RvcmVtLiIKK21zZ3N0clsxXSAiRGlza292w6kgb2Rkw61seSAlZCBhICVkIHNlIG5hdnrDoWplbSBwxZlla3LDvXZhasOtICVkIHNla3RvcnkuIgorbXNnc3RyWzJdICJEaXNrb3bDqSBvZGTDrWx5ICVkIGEgJWQgc2UgbmF2esOhamVtIHDFmWVrcsO9dmFqw60gJWQgc2VrdG9yeS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJOZXZ5dcW+w612YW7DvSBwcm9zdG9yIG/CoHZlbGlrb3N0aSAlJzh1IHNla3RvcnU6IHNla3RvciAlOHUiCittc2dzdHJbMV0gIk5ldnl1xb7DrXZhbsO9IHByb3N0b3Igb8KgdmVsaWtvc3RpICUnOHUgc2VrdG9yxa86IHNla3RvcnkgJTh1LSV1IgorbXNnc3RyWzJdICJOZXZ5dcW+w612YW7DvSBwcm9zdG9yIG/CoHZlbGlrb3N0aSAlJzh1IHNla3RvcsWvOiBzZWt0b3J5ICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIlN0YXJ0b3ZhY8OtIG9kZMOtbCBuZWV4aXN0dWplLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkRpc2tvdsO9IG9kZMOtbCBwcm8gb2RrbMOhZGFjw60gcHJvc3RvciBuZWV4aXN0dWplLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiRGlza292w70gb2Rkw61sIHBybyBvZGtsw6FkYWPDrSBwcm9zdG9yIG5lbcOhIHphZMOhbiB0eXAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlZ5YnJhbGkganN0ZSBzaSBuZW9idnlrbMO9IG7DoXpldiBwcm8gc3RhcnRvdmFjw60gc291Ym9yLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OAorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiUMWZZWtyeXYgb2Rkw61sxa8gbmEgZGlza3UuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiUG9rb3XFocOtbSBzZSBhdXRvbWF0aWNreSB2eXR2b8WZaXQgcG9sb8W+a3UgcHJvIGNlbMO9IGRpc2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ4Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJEaXNrb3bDqSBvZGTDrWx5IGppxb4gemFiw61yYWrDrSBjZWzDvSBwcm9zdG9yIGRpc2t5LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiRGlza292w6kgb2Rkw61seSBzZSBwxZlla3LDvXZhasOtLiBOZWpwcnZlIHRvIG9wcmF2dGUhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc0IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlBydm7DrSAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OCBsaWJmZGlzay9zcmMvc2dpLmM6OTQ4Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIkRvcG9ydcSNdWplIHNlLCBhYnkgamVkZW7DoWN0w70gb2Rkw61sIHphdWrDrW1hbCBjZWzDvSBwcm9zdG9yIGRpc2t1IGEgYnlsIHR5cHUg4oCeU0dJIHN2YXpla+KAnCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxMyBsaWJmZGlzay9zcmMvc3VuLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlBvc2xlZG7DrSAlcywgKyVzIG5lYm8gK3ZlbGlrb3N0e0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgImlvY3RsIEJMS0dFVFNJWkUgc2VsaGFsbyBuYSAlcy4gUHJvIGdlb21ldHJpaSBzZSBwb3XFvmlqZSAlbGx1IGN5bGluZHLFry4gVGF0byBob2Rub3RhIG3Fr8W+ZSBiw710IHprcsOhY2VuYSBwcm8gemHFmcOtemVuw60gPiAzMyw44oCvR0IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIlZ5dHZvxZllbiBub3bDvSBTdW4gcG9waXMgZGlza3UuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiSmUgbsOhbSBsw610bywgem5hxI1rdSBsemUgem3Em25pdCBqZW4gdcKgbmVwcsOhemRuw71jaCBvZGTDrWzFry4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiWnZhxb50ZSwgemRhIGJ5IG5lYnlsbyB2aG9kbsOpIHBvbmVjaGF0IG9kZMOtbCA5IGpha28gaGxhdmnEjWt1IHN2YXprdSAoMCkgYSBvZGTDrWwgMTEgamFrbyBjZWzDvSBzdmF6ZWsgKDYpLCBuZWJvxaUgSVJJWCB0byBvxI1la8OhdsOhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIkRvcG9ydcSNdWplIHNlLCBhYnkgb2Rkw61sIHphxI3DrW5hasOtY8OtIG5hIHBvemljaSAwIGJ5bCB0eXB1IOKAnlNHSSB2b2xoZHLigJwuICBJUklYIGplaiBwb3XFvsOtdsOhIGvCoHDFmcOtc3R1cHUgayBuw6FzdHJvasWvbSBqYWtvIGplIHNhc2ggYSBmeC4gVsO9amlta291IGplIHBvdXplIOKAnlNHSSBzdmF6ZWvigJwgemF1asOtbWFqw61jw60gY2Vsw70gZGlzay4gSnN0ZSBzaSBqaXN0aSwgxb5lIHRlbnRvIG9kZMOtbCBjaGNldGUgb3puYcSNaXQgamluYWs/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJOZXDFmWnFmWF6ZW5vIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiQ2Vsw70gZGlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIk7DoWhyLiBzZWt0b3J5IFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiVnlocmF6ZW5vIHBybyBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzMAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIk5hbGV6ZW4gU3VuIHBvcGlzIGRpc2t1IHPCoGNoeWJuw71jaCBrb250cm9sbsOtbSBzb3XEjXRlbS4gUHJhdmTEm3BvZG9ibsSbIGJ1ZGV0ZSBtdXNldCBuYXN0YXZpdCB2xaFlY2hueSBob2Rub3R5IGpha28gaGxhdnksIHNla3RvcnksIGN5bGluZHJ5IGEgb2Rkw61seSwgbmVibyB2eXR2b8WZaXQgbm92b3UgdGFidWxrdSAocMWZw61rYXog4oCec+KAnCB2IGhsYXZuw60gbmFiw61kY2UpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJOYWxlemVuIHN1bm92c2vDvSBwb3BpcyBkaXNrdSBzwqBjaHlibm91IHZlcnrDrSBbJWRdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJOYWxlemVuIHN1bm92c2vDvSBwb3BpcyBkaXNrdSBzIGNoeWJuw71tIOKAnnZ0b2Muc2FuaXR54oCcIFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIk5hbGV6ZW4gc3Vub3Zza8O9IHBvcGlzIGRpc2t1IHPCoGNoeWJuw71tIHZ0b2MubnBhcnRzIFsldV0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIlBvem9yOiBDaHlibsOpIGhvZG5vdHkgbXVzw60gYsO9dCBvcHJhdmVueSBhIGJ1ZGUgdGFrIHXEjWluxJtubyBwxZlpIHrDoXBpc3UgKHcpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTg3Cittc2dpZCAiSGVhZHMiCittc2dzdHIgIkhsYXZ5IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VrdG9yxa8vc3RvcHUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJWeXR2b8WZZW4gbm92w70gU3VuIHBvcGlzIGRpc2t1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJPZGTDrWwgJXUgbmVrb27EjcOtIG5hIGhyYW5pY2kgY3lsaW5kcnUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiT2Rkw61sICV1IHDFmWVzYWh1amUgZG8gamluw71jaCB2IHNla3RvcmVjaCAldeKAkyV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiTmV2eXXFvsOtdmFuw70gcHJvc3RvciAtIHNla3RvcnkgMC0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIk5ldnl1xb7DrXZhbsO9IHByb3N0b3IgLSBzZWt0b3J5ICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiSmluw6kgb2Rkw61seSBqacW+IHphdWrDrW1hasOtIGNlbMO9IGRpc2suIFNtYcW+dGUvem1lbsWhZXRlIG7Em2pha8OpIGEgemt1c3RlIHRvIHpub3Z1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiVmVsbWkgc2UgZG9wb3J1xI11amUsIGFieSB0xZlldMOtIG9kZMOtbCB6YXVqw61tYWwgY2Vsw70gcHJvc3RvciBkaXNrdSBhIGJ5bCB0eXB1IOKAnkNlbMO9IGRpc2vigJwiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiWmFyb3Zuw6F2w6Egc2UgcHJ2bsOtIHNla3RvciB6wqAldSBuYSAldSwgYWJ5IHNlIG5hY2jDoXplbCBuYSBocmFuaWNpIGN5bGluZHJ1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlNla3RvciAlZCBqZSBqacW+IGFsb2tvdsOhbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIlTFmWV0w60gb2Rkw61sIG5lemFiw61yw6EgY2Vsw70gZGlzaywgYWxlIHZhxaFlIGhvZG5vdGEgJWx1ICVzXG4iCisiemFzYWh1amUgamluw6kgb2Rkw61seS4gVmHFoWUgw7pkYWplIGJ5bHkgem3Em27Em255IG5hICVsdSAlcyIKKworIyBUT0RPOiBQbHVyYWxpemUKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIlBva3VkIGNoY2V0ZSB6YWNob3ZhdCBrb21wYXRpYmlsaXR1IHNlIFN1bk9TL1NvbGFyaXNlbSwgenZhxb50ZSBwb25lY2jDoW7DrSB0b2hvdG8gb2Rkw61sdSBqYWtvIENlbMOpaG8gZGlza3UgKDUpLCB6YcSNw61uYWrDrWPDrWhvIG5hIDAsIG8gZMOpbGNlICV1IHNla3RvcsWvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIklEIHBvcGlzdSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiSUQgc3Zhemt1IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWx0ZXJuYXRpdm7DrSBjeWxpbmRyeSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg4NAorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJQb8SNZXQgYWx0ZXJuYXRpdm7DrWNoIGN5bGluZHLFryIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFeHRyYSBzZWt0b3J5IG5hIGN5bGluZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiSW50ZXJsZWF2ZSBmYWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NTcKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiUnljaGxvc3Qgb3TDocSNZW7DrSAob3RtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIlBvxI1ldCBmeXppY2vDvWNoIGN5bGluZHLFryIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJadmHFvnRlIHpkYSBieSBuZWJ5bG8gdmhvZG7DqSBwb25lY2hhdCBvZGTDrWwgMyBqYWtvIENlbMO9IGRpc2sgKDUpLFxuIgorIm5lYm/FpSBTdW5PUy9Tb2xhcmlzIHRvIG/EjWVrw6F2w6EgYSBpIExpbnV4IHRvbXUgZMOhdsOhIHDFmWVkbm9zdC5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJEb3BvcnXEjXVqZSBzZSwgYWJ5IG9kZMOtbCB6YcSNw61uYWrDrWPDrSBuYSBwb3N1bnUgMCBieWwgdHlwdVxuIgorIlVGUywgRVhUMkZTIMSNaSBTdW5PUyBzd2FwLiBWeXR2b8WZZW7DrSBvZGtsw6FkYWPDrWhvIHByb3N0b3J1IHBybyBMaW51eFxuIgorIm5hIHRvbXRvIG3DrXN0xJsgYnkgbW9obG8gem5pxI1pdCB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IGEgc3RhcnRvdmFjw60gYmxvay5cbiIKKyJKc3RlIHNpIGppc3RpLCDFvmUgY2hjZXRlIHRlbnRvIG9kZMOtbCBvem5hxI1pdCBqYWtvIG9ka2zDoWRhY8OtIHByb3N0b3IgcHJvXG4iCisiTGludXg/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIm9wZXJhY2Ugc2VsaGFsYTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIlBPWk9SOiBwxZnDrXpuYWt5IHByb3BhZ2FjZSBzZSBuZXBvZGHFmWlsbyBuYXN0YXZpdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICJQT1pPUjogemHFmcOtemVuw60gamUgY2hyw6FuxJtubyBwcm90aSB6w6FwaXN1LCBwxZlpcG9qZW5vIHBvdXplIHBybyDEjXRlbsOtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICJvcGVyYWNlIGplIGRvdm9sZW5hIHBvdXplIHN1cGVydcW+aXZhdGVsaSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgamUgamnFviBwxZlpcG9qZW5vIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAidsKgJXMgbmVsemUgbmFsw6l6dCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiCittc2dzdHIgImJvZCBwxZlpcG9qZW7DrSBuZWx6ZSB2wqAlcyBuYWzDqXp0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgInpkcm9qIHDFmWlwb2plbsOtICVzIG5lbHplIHbCoCVzIG5hbMOpenQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkIG9uICVzOyB1c2UgLXQgPHR5cGU+IG9yIHdpcGVmcyg4KSIKK21zZ3N0ciAibmEgJXMgb2JqZXZlbm8gdsOtY2Ugc291Ym9yb3bDvWNoIHN5c3TDqW3FrywgcG91xb5panRlIC10IDxkcnVoPiBuZWJvIHdpcGVmcyg4KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB1csSNaXQgZHJ1aCBzb3Vib3JvdsOpaG8gc3lzdMOpbXUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBmaWxlc3lzdGVtIHR5cGUgc3BlY2lmaWVkIgorbXNnc3RyICJuZXphZMOhbiBkcnVoIHNvdWJvcm92w6lobyBzeXN0w6ltdSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzIG5lbHplIG5hbMOpenQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJuZXphZMOhbiDFvsOhZG7DvSB6ZHJvaiBwxZlpcG9qZW7DrSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCB2b2xieSBwxZlpcG9qZW7DrTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCB2b2xieSBwxZlpcG9qZW7DrSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSBmb3IgJXMiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IGxvb3AgemHFmcOtemVuw60gcHJvICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAicHJvICVzIGV4aXN0dWplIHDFmWVrcsO9dmFqw61jw60gc2UgbG9vcCB6YcWZw616ZW7DrSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE0IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgInV6YW3EjWVuw60gc2VsaGFsbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgInDFmWlwb2plbsOtIHNlbGhhbG86ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJzb3Vib3JvdsO9IHN5c3TDqW0gYnlsIHDFmWlwb2plbiwgYWxlIGFrdHVhbGl6YWNlIHRhYnVsa3kgcMWZaXBvamVuw60gdsKgdcW+aXZhdGVsc2vDqW0gcHJvc3RvcnUgc2VsaGFsYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAic291Ym9yb3bDvSBzeXN0w6ltIGJ5bCBwxZlpcG9qZW4sIGFsZSBqYWvDoWtvbGl2IG7DoXNsZWR1asOtY8OtIG9wZXJhY2Ugc2VsaGFsYTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJwxZnDrXBvam7DvSBib2QgbmVuw60gYWRyZXPDocWZZW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgInBvdm9sZW7DrSB6YW3DrXRudXRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJtb3VudCBtxa/FvmUgcG91xb7DrXZhdCBwb3V6ZSBzdXBlcnXFvml2YXRlbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgImJvZCBwxZlpcG9qZW7DrSBzZSBwb3XFvsOtdsOhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlcyBqZSBqacW+IHDFmWlwb2plbm8gbmEgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAiJXMgamUgamnFviBwxZlpcG9qZW5vIMSNaSBib2QgcMWZaXBvamVuw60gamUgemFuZXByw6F6ZG7Em24iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAicMWZw61wb2puw70gYm9kIG5lZXhpc3R1amUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAicMWZw61wb2puw70gYm9kIGplIHN5bWJvbGlja8O9bSBvZGthemVtLCBqZW7FviBuaWthbSBuZXZlZGUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAienZsw6HFoXRuw60gemHFmcOtemVuw60gJXMgbmVleGlzdHVqZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICJ2b2zDoW7DrSBtb3VudCgyKSBzZWxoYWxvOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgInp2bMOhxaF0bsOtIHphxZnDrXplbsOtICVzIG5lZXhpc3R1amUgKG7DoXpldiBjZXN0eSBuZXphxI3DrW7DoSBhZHJlc8OhxZllbSkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJwxZnDrXBvam7DvSBib2QgbmVuw60gcMWZaXBvamVuIMSNaSBjaHlibsO9IHDFmWVww61uYcSNIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm5lbsOtIGJvZGVtIHDFmWlwb2plbsOtIMSNaSBjaHlibsO9IHDFmWVww61uYcSNIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIsWhcGF0bsO9IHDFmWVww61uYcSNLCBwxZllc3VuIHDFmcOtcG9qbsOpaG8gYm9kdSB6cG9kIHNkw61sZW7DqWhvIGJvZHUgbmVuw60gcG9kcG9yb3bDoW5vIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHQgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSIKK21zZ3N0ciAixaFwYXRuw70gcMWZZXDDrW5hxI0sIHBybyB2xJt0xaFpbm91IHNvdWJvcm92w71jaCBzeXN0w6ltdSAobmFwxZkuIG5mcywgY2lmcykgYnVkZXRlIHBvdMWZZWJvdmF0IHBvbW9jbsO9IHByb2dyYW0gL3NiaW4vbW91bnQuPFRZUD4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcywgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgImNoeWJuw70gdHlwIHNvdWJvcm92w6lobyBzeXN0w6ltdSwgY2h5Ym7DvSBwxZllcMOtbmHEjSwgY2h5Ym7DvSBzdXBlcmJsb2sgbmEgJXMsIGNoeWLDrSBrw7Nkb3bDoSBzdHLDoW5rYSBuZWJvIHBvbW9jbsO9IHByb2dyYW0gbmVibyBqaW7DoSBjaHliYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgInRhYnVsa2EgcMWZaXBvamVuw60gamUgcGxuw6EiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkIHN1cGVyYmxvY2sgb24gJXMiCittc2dzdHIgInN1cGVyYmxvayBuYSAlcyBuZWx6ZSBwxZllxI3DrXN0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibmV6bsOhbcO9IHR5cCBzeXN0w6ltdSBzb3Vib3LFryDigJ4lc+KAnCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJuZXpuw6Ftw70gdHlwIHN5c3TDqW11IHNvdWJvcsWvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIG5lbsOtIGJsb2tvdsO9bSB6YcWZw616ZW7DrW0gYSB2b2zDoW7DrSBzdGF0KDItKSBzZWxoYWxvPyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlOyBtYXliZSBcIm1vZHByb2JlIGRyaXZlclwiIGlzIG5lY2Vzc2FyeSIKK21zZ3N0ciAiasOhZHJvIG5lem7DoSAlcyBqYWtvIGJsb2tvdsOpIHphxZnDrXplbsOtLCBtb8W+bsOhIGplIHTFmWViYSDigJ5tb2Rwcm9iZSBvdmxhZGHEjeKAnCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZTsgdHJ5IFwiLW8gbG9vcFwiIgorbXNnc3RyICIlcyBuZW7DrSBibG9rb3bDvW0gemHFmcOtemVuw61tLCB6a3VzdGUg4oCeLW8gbG9vcOKAnCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgbmVuw60gYmxva292w71tIHphxZnDrXplbsOtbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgbmVuw60gcGxhdG7DvW0gYmxva292w71tIHphxZnDrXplbsOtbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIiVzIG5lbHplIHDFmWlwb2ppdCB2IHJlxb5pbXUgcG91emUgcHJvIMSNdGVuw60iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiVzIGplIGNocsOhbsSbbm8gcHJvdGkgesOhcGlzdSwgdMWZZWJhxb5lIGJ5bCBwb8W+YWRvdsOhbiByZcW+aW0gacKgcHJvIHrDoXBpcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAiJXMgbmVsemUgem5vdnUgcMWZaXBvaml0IHBybyDEjXRlbsOtIGnCoHrDoXBpcywgcHJvdG/FvmUgamUgY2hyw6FuxJtubyBwcm90aSB6w6FwaXN1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgInbDoXphbsOpIHDFmWlwb2plbsOtICVzIHNlbGhhbG8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgInbCoCVzIG5lbmFsZXplbm8gxb7DoWRuw6kgbcOpZGl1bSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudDsgcHJvYmFibHkgY29ycnVwdGVkIGZpbGVzeXN0ZW0gb24gJXMiCittc2dzdHIgIm5lbHplIHDFmWlwb2ppdDsgYXNpIHBvxaFrb3plbsO9IHN5c3TDqW0gc291Ym9yxa8gdsKg4oCeJXPigJwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnRlZCIKK21zZ3N0ciAibmVwxZlpcG9qZW5vIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICJvZHBvamVuw60gc2VsaGFsbzogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgInNvdWJvcm92w70gc3lzdMOpbSBieWwgb2Rwb2plbiwgYWxlIGFrdHVhbGl6YWNlIHRhYnVsa3kgcMWZaXBvamVuw60gdsKgdcW+aXZhdGVsc2vDqW0gcHJvc3RvcnUgc2VsaGFsYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAic291Ym9yb3bDvSBzeXN0w6ltIGJ5bCBvZHBvamVuLCBhbGUgamFrw6Frb2xpdiBuw6FzbGVkdWrDrWPDrSBvcGVyYWNlIHNlbGhhbGE6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJuZXBsYXRuw6kgYmxva292w6kgemHFmcOtemVuw60iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAic3VwZXJibG9rIG5lbHplIHphcHNhdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAiY8OtbCBzZSBwb3XFvsOtdsOhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW4gxb7DoWRuw70gYm9kIHDFmWlwb2plbsOtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIm11c8OtdGUgYsO9dCBzdXBlcnXFvml2YXRlbGVtLCBhYnlzdGUgbW9obGkgb2Rwb2pvdmF0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiYmxva292w6EgemHFmcOtemVuw60gbmVqc291IG5hIHN5c3TDqW11IHNvdWJvcsWvIHBvdm9sZW5hIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICJ2b2zDoW7DrSB1bW91bnQoMikgc2VsaGFsbzogJW0iCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ2b2zDoW7DrSB3YWl0cGlkIHNlbGhhbG8gKCVzKSIKKworIzogbGliL3BhdGguYzoyMzkgc3lzLXV0aWxzL2xzY3B1LmM6MTc2MAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAibW5vxb5pbnUgQ1BVIG5lbHplIGFsb2tvdmF0IgorCisjOiBsaWIvcGF0aC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgInNlem5hbSBDUFUgJXMgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJtYXNrdSBDUFUgJXMgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJuZWx6ZSBvdGV2xZnDrXQgdW5peG92w70gc29ja2V0IgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5Cittc2dpZCAiY2Fubm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJ1bml4b3bDqW11IHNvY2tldHUgbmVsemUgem3Em25pdCBuYXN0YXZlbsOtIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImvCoHVuaXhvdsOpbXUgc29rZXR1IHNlIG5lbHplIHDFmWlwb2ppdCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJwb8W+YWRhdmVrIFBseW1vdXRodSAlYyBuZW7DrSBpbXBsZW1lbnRvdsOhbiIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICJmdW5rY2UgZ2V0cmFuZG9tKCkiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICJwc2V1ZG9uw6Fob2Ruw6kgZnVua2NlIGxpYmMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiJXM6IHphxZnDrXplbsOtIG5lbHplIHZ5emtvdcWhZXQiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IG5lamVkbm96bmHEjW7DvSB2w71zbGVkZWsgemtvdcWha3ksIHBvdcW+aWp0ZSB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogbmVuw60gbmVwbGF0bsO9bSBvZGtsw6FkYWPDrW0gb2Rkw61sZW0iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogbmVwb2Rwb3JvdmFuw6EgdmVyemUgb2RrbMOhZGFjw61obyBwcm9zdG9ydSDigJ4lc+KAnCIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAiZm9ybWF0X2lzb190aW1lOiBwxZlldGXEjWVuw60gdnlyb3Zuw6F2YWPDrSBwYW3Em3RpLiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIsSNYXMgJWxkIGplIG1pbW8gcm96c2FoLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWzx1xb5pdmF0ZWw+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlptxJtuw60gZmluZ2VyIGluZm9ybWFjZSBvIHXFvml2YXRlbGkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIC1mLCAtLWZ1bGwtbmFtZSA8Y2Vsw6lfam3DqW5vPiAgc2t1dGXEjW7DqSBqbcOpbm9cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZmljZSA8a2FuY2Vsw6HFmT4gICAgICAgxI3DrXNsbyBrYW5jZWzDocWZZVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDx0ZWxlZm9uPiAgdGVsZWZvbm7DrSDEjcOtc2xvIGRvIGthbmNlbMOhxZllXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA8dGVsZWZvbj4gICAgdGVsZWZvbm7DrSDEjcOtc2xvIGRvbcWvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgInBvbG/FvmthICVzIGplIHDFmcOtbGnFoSBkbG91aMOhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVzOiBtw6EgemFrw6F6YW7DqSB6bmFreSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgemFrYXp1amUgbmFzdGF2b3bDoW7DrSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIkthbmNlbMOhxZkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICJUZWxlZm9uIGRvIHByw6FjZSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJUZWxlZm9uIGRvbcWvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAidsOtY2UgdcW+aXZhdGVsc2vDvWNoIGptZW4gbmVsemUgenByYWNvdmF0IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIlVrb27EjWVuLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIG3DoSBuZW/EjWVrw6F2YW5vdSBob2Rub3R1OiAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgbmVkb3ZvbHVqZSDFvsOhZG7DqSB6bcSbbnkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkZpbmdlciBpbmZvcm1hY2UgKk5FQllMWSogem3Em27Em255LiBaa3VzdGUgdG8gb3DEm3QgcG96ZMSbamkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlciBpbmZvcm1hY2UgYnlseSB6bcSbbsSbbnkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAidnkgKHXFvml2YXRlbCAlZCkgbmVleGlzdHVqZXRlLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMSBsb2dpbi11dGlscy9jaHNoLmM6Mjc4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgInXFvml2YXRlbCDigJ4lc+KAnCBuZWV4aXN0dWplLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNyBsb2dpbi11dGlscy9jaHNoLmM6Mjg0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIm3Em25pdCBsemUgcG91emUgbcOtc3Ruw60gesOhem5hbXkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMgbmVtw6EgZG92b2xlbm8gbcSbbml0IGZpbmdlciBpbmZvcm1hY2Ugb8KgdcW+aXZhdGVsaSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIk5lem7DoW3DvSBrb250ZXh0IHXFvml2YXRlbGUiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTggbG9naW4tdXRpbHMvY2hzaC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAidsO9Y2hvesOtIGtvbnRleHQgcHJvICVzIG5lbHplIG5hc3Rhdml0IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDY5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiYWt0dcOhbG7DrSBVSUQgc2UgbmVzaG9kdWplIHPCoFVJRCB1xb5pdmF0ZWxlLCBrdGVyw6lobyBtw6FtZSB6bcSbbml0LCB6bcSbbmEgemFtw610bnV0YSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJNxJtuw61tIGZpbmdlciBpbmZvcm1hY2UgbyB1xb5pdmF0ZWxpICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyIGluZm9ybWFjZSBuZWJ5bHkgem3Em27Em255LlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzcKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiWm3Em27DrSB2w6HFoSBwxZlpaGxhxaFvdmFjw60gc2hlbGwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBuYXN0YXbDrSBwxZlpaGxhxaFvdmFjw60gc2hlbGxcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICB2eXDDrcWhZSBzZXpuYW0gc2hlbGzFryBhIHNrb27EjcOtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInNoZWxsIG11c8OtIGLDvXQgemFkw6FuIMO6cGxuw71tIGptw6luZW0gY2VzdHkiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLigJ4lc+KAnCBuZWV4aXN0dWplIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAi4oCeJXPigJwgbmVuw60gc3B1c3RpdGVsbsO9bSBzb3Vib3JlbSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIlBvem9yOiDigJ4lc+KAnCBuZW7DrSB1dmVkZW4gdsKgJXMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKyLigJ4lc+KAnCBuZW7DrSB1dmVkZW4gdsKgJXMuXG4iCisiU2V6bmFtIGx6ZSB6b2JyYXppdCBwb21vY8OtIOKAniVzIC1s4oCcLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlcyBuZW7DrSBvcHLDoXZuxJtuIG3Em25pdCBzaGVsbCB1xb5pdmF0ZWxlICVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiYWt0dcOhbG7DrSBVSUQgc2UgbmVzaG9kdWplIHPCoFVJRCB1xb5pdmF0ZWxlLCBrdGVyw6lobyBjaGNlbWUgem3Em25pdCwgem3Em25hIHNoZWxsdSB6YW3DrXRudXRhIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJ2w6HFoSBzaGVsbCBuZW7DrSB2wqAlcywgem3Em25hIHNoZWxsdSB6YW3DrXRudXRhIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiTcSbbsOtbSBzaGVsbCBwcm8gJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNDIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIk5vdsO9IHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJTaGVsbCBuZWJ5bCB6bcSbbsSbbi4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2hlbGwgKk5FQllMKiB6bcSbbsSbbi4gWmt1c3RlIHRvIHBvemTEm2ppIHpub3Z1LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIHNlbGhhbFxuIgorIlNoZWxsICpORUJZTCogem3Em27Em24uIFprdXN0ZSB0byBwb3pkxJtqaSB6bm92dS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2hlbGwgYnlsIHptxJtuxJtuLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiUG91xb5pdMOtOiAlcyA8c291Ym9yX3NfaGVzbGVtPiA8dcW+aXZhdGVsPuKAplxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTY5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIxNyBzeXMtdXRpbHMvZG1lc2cuYzoxMjY5CisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIm5lem7DoW3DvSBmb3Jtw6F0IMSNYXN1OiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI3NiBsb2dpbi11dGlscy9sYXN0LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICJQxZllcnXFoWVubyAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgInDFmWVkYWxva292YW7DoSB2ZWxpa29zdCBwxZlla3JvxI1lbmEiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWzx1xb5pdmF0ZWw+4oCmXSBbPHR0eT7igKZdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiVWvDocW+ZSB2w71waXMgbmFwb3NsZWR5IHDFmWlobMOhxaFlbsO9Y2ggdcW+aXZhdGVsxa8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzgKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTxwb8SNZXQ+ICAgICAgICAgICAgIGtvbGlrIMWZw6Fka8WvIHVrw6HFvmVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIHbCoHBvc2xlZG7DrW0gc2xvdXBjaSB6b2JyYXrDrSBuw6F6ZXYgc3Ryb2plXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgIHDFmWVrbMOhZMOhIElQIGFkcmVzeSB6cMSbdCBuYSBuw6F6ZXYgc3Ryb2plXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8c291Ym9yPiAgcG91xb5pamUgemFkYW7DvSBzb3Vib3IgbcOtc3RvICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgdnlww63FoWUgY2Vsw6kgxI1hc3kgYSBkYXRhIHDFmWlobMOhxaFlbsOtIGEgb2RobMOhxaFlbsOtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlwICAgICAgICAgICAgIHZ5cMOtxaFlIElQIGFkcmVzeSB2wqB0ZcSNa292w6ltIGZvcm3DoXR1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLW4sIC0tbGltaXQgPMSNw61zbG8+ICBrb2xpayDFmcOhZGvFryB1a8OhemF0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIG5lem9icmF6w60gcG9sb8W+a3Ugc8KgbsOhenZlbSBzdHJvamVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpbmNlIDzEjWFzPiAgICB6b2JyYXrDrSDFmcOhZGt5IG9kIHphZGFuw6lobyDEjWFzdVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPMSNYXM+ICAgIHpvYnJhesOtIMWZw6Fka3kgZG8gemFkYW7DqWhvIMSNYXN1IHZ5am1hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXAsIC0tcHJlc2VudCA8xI1hcz4gIHpvYnJhesOtLCBrZG8gYnlsIHbCoHphZGFuw70gxI1hcyBwxZnDrXRvbWVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAgem9icmF6w60gY2Vsw6EgdcW+aXZhdGVsc2vDoSBqbcOpbmEgYSBuw6F6dnkgZG9tw6luXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIC14LCAtLXN5c3RlbSAgICAgICAgIHpvYnJhesOtIHrDoXpuYW15IHPCoHZ5cG51dMOtbSBzeXN0w6ltdSBhIHptxJtuIGLEm2hvdsOpIMO6cm92bsSbXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTIKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm3DoXQ+ICB6b2JyYXrDrSDEjWFzb3bDqSDDumRhamUgdsKgZGFuw6ltIGZvcm3DoXR1OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lLCBzaG9ydCwgZnVsbCwgaXNvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoxb7DoWRuw70sIGtyw6F0a8O9LCBjZWzDvSwgSVNPKVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVzIHphxI3DrW7DoSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTcyIHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICLEjcOtc2xvIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAiY2h5Ym7DoSBob2Rub3RhIMSNYXN1IOKAniVz4oCcIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJOZWJ5bG8gbW/Fvm7DqSBzZSB6YmF2aXQgc2t1cGlub3bDvWNoIG9wcsOhdm7Em27DrSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImluaWNpYWxpemFjZSBsaWJ1c2VyIHNlIG5lemRhxZlpbGE6ICVzIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgInptxJtuYSB2bGFzdG5vc3RpIHXFvml2YXRlbGUgc2UgbmV6ZGHFmWlsYSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAidmxhc3Rub3N0IHXFvml2YXRlbGUgbmV6bcSbbsSbbmE6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIkZBVMOBTE7DjTogVFRZIG5lbHplIHpub3Z1IG90ZXbFmcOtdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiRkFUw4FMTsONOiAlcyBuZW7DrSB0ZXJtaW7DoWxlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAidm9sw6Fuw60gY2hvd24oJXMsICVsdSwgJWx1KSBzZWxoYWxvOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAidm9sw6Fuw60gY2hkaXIoJXMsICV1KSBzZWxoYWxvOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiRkFUw4FMTsONOiDFoXBhdG7DqSBUVFkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIkZBVMOBTE7DjTogJXM6IHptxJtuYSBwxZnDrXN0dXBvdsO9Y2ggcHLDoXYgc2VsaGFsYTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJQb3NsZWRuw60gcMWZaWhsw6HFoWVuw606ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAieiAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAiJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJ6w6FwaXMgZG8gcHJvdG9rb2x1IHDFmWlobMOhxaFlbsOtIChsYXN0bG9nKSBzZSBuZXpkYcWZaWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiUMWYw41TVFVQIFXFvUlWQVRFTEUgJTIkcyBWWVTDgcSMRU5PVSBMSU5LT1UgTkEgVFRZICUxJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUMWYSUhMw4HFoEVOw40gVcW9SVZBVEVMRSBST09UIFogJTIkcyBOQSBUVFkgJTEkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiUMWYSUhMw4HFoEVOw40gVcW9SVZBVEVMRSBST09UIE5BIFRUWSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiUMWYSUhMw4HFoEVOw40gVcW9SVZBVEVMRSAlMiRzIFogJTMkcyBOQSBUVFkgJTEkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIlDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgJTIkcyBOQSBUVFkgJTEkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICJQxZlpaGxhxaFvdmFjw60gam3DqW5vOiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiY2h5YmEgUEFNLCBrb27EjcOtIHNlOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJQQU0gbmVsemUgaW5pY2lhbGl6b3ZhdDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiUxJHUuIENIWUJOw4kgUMWYSUhMw4HFoEVOw40gVcW9SVZBVEVMRSAlMyRzIFogJTIkcywgJTQkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiQ2h5Ym7DqSBwxZlpaGzDocWhZW7DrVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiUMWYw41MScWgIE1OT0hPICglMSR1KSBQT0tVU8WuIFXFvUlWQVRFTEUgJTMkcyBPIFDFmElITMOBxaBFTsONIFogJTIkcywgJTQkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJORcOaU1DEmsWgTsOJIFDFmElITMOBxaBFTsONIFXFvUlWQVRFTEUgJTIkcyBaICUxJHMsICUzJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNoeWJuw6kgcMWZaWhsw6HFoWVuw61cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2Jsw6ltIHPCoG5hc3Rhdm92w6Fuw61tIHJlbGFjZS4gxIxpbm5vc3QgYnVkZSB1a29uxI1lbmEuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJOVUxMT1bDiSBqbcOpbm8gdcW+aXZhdGVsZSB2wqAlczolZC4gUMWZZXJ1xaF1amkgxI1pbm5vc3QuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiU2VsaGFsbyBUSU9DU0NUVFk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIlcyBbLXBdIFstaCA8cG/EjcOtdGHEjT5dIFstSF0gWy1mXSBbPHXFvml2YXRlbD5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJaYWjDoWrDrSByZWxhY2kgdsKgc3lzdMOpbXUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAtcCAgICAgICAgICAgICBuZXpuacSNw60gcHJvc3TFmWVkw60iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNAorbXNnaWQgIiAtZiAgICAgICAgICAgICBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uIgorbXNnc3RyICIgLWYgICAgICAgICAgICAgcMWZZXNrb8SNw60gZHJ1aG91IGF1dGVudGl6YWNpIGxvZ2ludSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIC1oIDxzdHJvaj4gICAgIHphcMOtxaFlIHRlbnRvIG7DoXpldiBzdHJvamUgZG8gcHJvdG9rb2x1IHV0bXAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNgorbXNnaWQgIiAtSCAgICAgICAgICAgICBzdXBwcmVzcyBob3N0bmFtZSBpbiB0aGUgbG9naW4gcHJvbXB0IgorbXNnc3RyICIgLUggICAgICAgICAgICAgcG90bGHEjcOtIG7DoXpldiBzdHJvamUgdmUgdsO9enbEmyBrwqBwxZlpaGzDocWhZW7DrSIKKworIyBUT0RPOiBwbHVyYWxpemUKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIiVzOuKAr3Z5cHLFoWVsIMSNYXNvdsO9IGxpbWl0ICV1IHNla3VuZCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IHDFmWVww61uYcSNIC1oIG3Fr8W+ZSBwb3XFvsOtdCBwb3V6ZSBzdXBlcnXFvml2YXRlbFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIk5lcGxhdG7DqSBqbcOpbm8gdcW+aXZhdGVsZSDigJ4lc+KAnCB2wqAlczolZC4gUMWZZXJ1xaF1amkgxI1pbm5vc3QuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImluaWNpYWxpemFjZSBza3VwaW4gc2UgbmV6ZGHFmWlsYTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0Z2lkKCkgc2VsaGFsbyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICJNw6F0ZSBub3ZvdSBwb8WhdHUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJNw6F0ZSBzdGFyb3UgcG/FoXR1LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzQKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHNldHVpZCgpIHNlbGhhbG8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIHNlIHptxJtuaXQgYWRyZXPDocWZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJQxZlpaGxhxaF1amkgcyBkb23DoWPDrW0gYWRyZXPDocWZZW0gbmFzdGF2ZW7DvW0gbmEg4oCeL+KAnC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgInNoZWxsb3bDvSBza3JpcHQgbmVsemUgc3B1c3RpdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIsW9w6FkbsO9IHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6ICVzIG9ic2FodWplIG5lcGxhdG5vdSDEjcOtc2Vsbm91IGhvZG5vdHU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICJzdGF2IHRpY2jDqWhvIHDFmWlobMOhxaFlbsOtOiBvYm5vdmVuw60gcMWvdm9kbsOtY2ggSUQgc2VsaGFsbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTQzNiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2CisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJubyIKK21zZ3N0ciAibmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgInXFvml2YXRlbHNrw6kgam3DqW5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJVxb5pdmF0ZWxza8OpIGptw6lubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiSUQgdcW+aXZhdGVsZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgImhlc2xvIG5lbsOtIHZ5xb5hZG92w6FubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIkhlc2xvIG5lbsOtIHZ5xb5hZG92w6FubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAicMWZaWhsw6HFoWVuw60gaGVzbGVtIGplIHpha8OhesOhbm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIlDFmWlobMOhxaFlbsOtIGhlc2xlbSBqZSB6YWvDoXrDoW5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgImhlc2xvIGplIGRlZmlub3bDoW5vLCBhbGUgemFta251dG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJIZXNsbyBqZSB6YW1rbnV0byIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAicMWZaWhsw6HFoWVuw60gemFrw6F6w6FubyBwb21vY8OtIG5vbG9naW4oOCkgbmVibyBwYW1fbm9sb2dpbig4KSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiTmVwxZlpaGxhxaFvdmF0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAibsOhemV2IGhsYXZuw60gc2t1cGlueSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJIbGF2bsOtIHNrdXBpbmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiSUQgaGxhdm7DrSBza3VwaW55IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIm7DoXp2eSBkb3BsxYhrb3bDvWNoIHNrdXBpbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiRG9wbMWIa292w6kgc2t1cGlueSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSUQgZG9wbMWIa292w71jaCBza3VwaW55IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJJRCBkb3BsxYhrb3bDvWNoIHNrdXBpbnkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImRvbW92c2vDvSBhZHJlc8OhxZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIkRvbW92c2vDvSBhZHJlc8OhxZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgInDFmWlobGHFoW92YWPDrSBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiU2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgImNlbMOpIGptw6lubyB1xb5pdmF0ZWxlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICJQb2xvxb5rYSBnZWNvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImRhdHVtIHBvc2xlZG7DrWhvIHDFmWlobMOhxaFlbsOtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIlBvc2xlZG7DrSBwxZlpaGzDocWhZW7DrSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJuYXBvc2xlZHkgcG91xb5pdMOpIFRUWSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICJQb3NsZWRuw60gdGVybWluw6FsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICJuw6F6ZXYgc3Ryb2plIGLEm2hlbSBwb3NsZWRuw60gcmVsYWNlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIlBvc2xlZG7DrSBuw6F6ZXYgc3Ryb2plIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImRhdHVtIHBvc2xlZG7DrWhvIGNoeWJuw6lobyBwxZlpaGzDocWhZW7DrSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkNoeWJuw6kgcMWZaWhsw6HFoWVuw60iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAia2RlIHDFmWlobMOhxaFlbsOtIHNlbGhhbG8/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiVGVybWluw6FsIGNoeWJuw6lobyBwxZlpaGzDocWhZW7DrSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAidcW+aXZhdGVsc2vDqSBuYXN0YXZlbsOtIHp0acWhZW7DrSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIlp0acWhZW5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAicG/EjWV0IGRuxa8sIHBvIGt0ZXLDvSB1cG96b3LFiG92YXQgdcW+aXZhdGVsZSBuYSB2eXByxaFlbsOtIGhlc2xhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiSW50ZXJ2YWwgdXBvem9ybsSbbsOtIG5hIHZ5cHLFoWVuw60gaGVzbGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJkYXR1bSB2eXByxaFlbsOtIGhlc2xhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIlZ5cHLFoWVuw60gaGVzbGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiZGF0dW0gcG9zbGVkbsOtIHptxJtueSBoZXNsYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJIZXNsbyB6bcSbbsSbbm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJwb8SNZXQgZG7FryBwb8W+YWRvdmFuw71jaCBtZXppIHptxJtuYW1pIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1pbmltw6FsbsOtIG9kc3R1cCB6bcSbbnkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCBkbsWvLCBwbyBrdGVyw6kgaGVzbG8gc23DrSB6xa9zdGF0IG5lem3Em27Em27DqSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNYXhpbcOhbG7DrSBvZHN0dXAgem3Em255IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiYmV6cGXEjW5vc3Ruw60ga29udGV4dCB1xb5pdmF0ZWxlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiU2VsaW51eG92w70ga29udGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAicG/EjWV0IHByb2Nlc8WvIHNwdcWhdMSbbsO9Y2ggdcW+aXZhdGVsZW0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIlNwdcWhdMSbbsOpIHByb2Nlc3kiCisKKyMgVE9ETzogUGx1cmFsCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICJ6YWTDoW5vIHDFmcOtbGnFoSBtbm9obyBzbG91cGPFrywgb21lemVuw60gamUgJXp1IHNsb3VwY8WvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IHR5cCDEjWFzdSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZXN0YXZpdCDFmWV0xJt6ZWMgc8KgxI1hc2VtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgInrDrXNrw6Fuw60gZG9wbMWIa292w71jaCBza3VwaW4gc2VsaGFsbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJ2bml0xZluw60gY2h5YmE6IG5lem7DoW3DvSBzbG91cGVjIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvc2xlZG7DrSBwcm90b2tvbHk6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyNiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5NSBtaXNjLXV0aWxzL21jb29raWUuYzo4MyBtaXNjLXV0aWxzL3V1aWRkLmM6NjIKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI2IHN5cy11dGlscy9kbWVzZy5jOjI2NiBzeXMtdXRpbHMvaXBjbWsuYzo2NworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMCBzeXMtdXRpbHMvbHNpcGMuYzoyNzggc3lzLXV0aWxzL2xzbWVtLmM6NDk2CisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzkKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjV1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI5Cittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJab2JyYXrDrSDDumRhamUgbyB6bsOhbcO9Y2ggdcW+aXZhdGVsw61jaCB2wqBzeXN0w6ltdS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICB6b2JyYXrDrSDDumRhamUgb8KgcGxhdG5vc3RpIGhlc2xhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMworbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICB6b2JyYXrDrSDDumRhamUgdmUgdHZhcnUgcG9kb2Juw6ltIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIHpvYnJhesOtIHbDvXN0dXAgdsKgZXhwb3J0b3ZhdGVsbsOpbSB0dmFydVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqBwb3NsZWRuw61tIGNoeWJuw6ltIHDFmWlobMOhxaFlbsOtIHXFvml2YXRlbMWvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICB6b2JyYXrDrSDDumRhamUgb8Kgc2t1cGluw6FjaFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz08c2t1cGlueT4gICB6b2JyYXrDrSB1xb5pdmF0ZWxlIG7DoWxlxb7DrWPDrSBkbyBuxJtqYWvDqSB6ZSA8c2t1cGluPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICB6b2JyYXrDrSBwb3NsZWRuw60gcMWZaWhsYcWhb3ZhY8OtIHJlbGFjZSB1xb5pdmF0ZWzFr1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PGptw6luYT4gICAgIHpvYnJhesOtIHBvdXplIHXFvml2YXRlbGUgc8KgcMWZaWhsYcWhb3ZhY8OtbWkgPGptw6lueT5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwIHN5cy11dGlscy9sc2lwYy5jOjI5OQorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICB6b2JyYXrDrSBrYcW+ZMO9IMO6ZGFqIG5hIHNhbW9zdGF0bsOpbSDFmcOhZGt1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgbmV2eXBpc3VqZSB6w6FobGF2w61cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAtLW5vdHJ1bmNhdGUgICAgICAgICAgbmV6a3JhY3VqZSB2w71zdHVwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PHNlem5hbT5dICB1csSNdWplLCBrdGVyw6kgdsO9c3R1cG7DrSBzbG91cGNlIHNlIHBvdcW+aWrDrVxuIgorCisjIEZJWE1FOiBSZW1vdmUgdHJhaWxpbmcgcGVyaW9kCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICB6b2JyYXrDrSDDumRhamUgc291dmlzZWrDrWPDrSBzIHDFmWlobMOhxaFlbsOtbSBoZXNsZW1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIHpvYnJhesOtIHbCoG5lb3ByYWNvdmFuw6kgcG9kb2LEm1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgem9icmF6w60gc3lzdMOpbW92w6kgw7rEjXR5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0PTxmb3Jtw6F0PiAgem9icmF6w60gxI1hc292w6kgw7pkYWplIHBvZGxlIGRhbsOpaG8gZm9ybcOhdHU6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaG9ydCAoa3LDoXRrw70pLCBmdWxsIChjZWzDvSksIGlzbyAoSVNPKVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIHpvYnJhesOtIHXFvml2YXRlbHNrw6kgw7rEjXR5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgem9icmF6w60gc2VsaW51eG92w6kga29udGV4dHlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIG9kZMSbbMOtIHrDoXpuYW15IHPCoHXFvml2YXRlbGkgbnVsb3bDvW0gem5ha2VtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiAgICAgLS13dG1wLWZpbGUgPGNlc3RhPiAgbmFzdGF2w60gamlub3UgY2VzdHUga8Kgd3RtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIgICAgIC0tYnRtcC1maWxlIDxjZXN0YT4gIG5hc3RhdsOtIGppbm91IGNlc3R1IGvCoGJ0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDM0Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgdnnFvsOhZGF0IHN0YXYgU0VMaW51eHUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJMemUgemFkYXQgcG91emUgamVkbm9obyB1xb5pdmF0ZWxlLiBQcm8gdsOtY2UgdcW+aXZhdGVsxa8gcG91xb5panRlIC1sLiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIm5lYnlsbyBtb8W+bsOpIG5hc3Rhdml0IHZsYXN0bm9zdGkgdGVybWluw6FsdSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJmdW5rY2UgZ2V0bGluZSgpIHNlbGhhbGEiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIkhlc2xvOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBjcnlwdCBzZWxoYWxvIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDxza3VwaW5hPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIlDFmWlobMOhc8OtIGRvIG5vdsOpIHNrdXBpbnkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAiS2RvIGpzdGU/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0Z2lkIHNlbGhhbG8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjQKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICLFvsOhZG7DoSB0YWtvdsOhIHNrdXBpbmEgbmVleGlzdHVqZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0dWlkIHNlbGhhbG8iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICJaZHZvxZlpbGUgb2Rtw610bmUgcMWZaWhsw6HFoWVuw60uXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIlRlbnRvIMO6xI1ldCBuZW7DrSBueW7DrSBkb3N0dXBuw70uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjIyNAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIgKHbDvXBpcyBwYW3Em3RpIHVsb8W+ZW4pIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIm5lbHplIHpqaXN0aXQgdmxhc3Rub3N0aSB0ZXJtaW7DoWx1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAidnl0dm/FmWVuw60gcHNldWRvdGVybWluw6FsdSBzZWxoYWxvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgInNpZ27DoWx5IG5lbHplIHphYmxva292YXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyNCBtaXNjLXV0aWxzL3V1aWRkLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDk0Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHBvbGwoKSBzZWxoYWxvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6bcSbbml0IHByb3N0xZllZMOtIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIm5lbHplIHBvdcW+w610IG5lc3VwZXJ1xb5pdmF0ZWxlbSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzMwCittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJjaHlibsOpIGhlc2xvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgInJlbGFjaSBuZWx6ZSBvdGV2xZnDrXQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NzkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAibmVsemUgaW5pY2lhbGl6b3ZhdCBtYXNrdSBzaWduw6Fsxa8gcHJvIHJlbGFjaSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siCittc2dzdHIgIm5lbHplIGluaWNpYWxpem92YXQgbWFza3Ugc2lnbsOhbMWvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3OTcKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIGZvciBzZXNzaW9uIgorbXNnc3RyICJvYnNsdWh1IHNpZ27DoWx1IHBybyByZWxhY2kgbmVsemUgbmFzdGF2aXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJvYnNsdWh1IHNpZ27DoWx1IG5lbHplIG5hc3Rhdml0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MTMKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBtYXNrIgorbXNnc3RyICJtYXNrdSBzaWduw6Fsxa8gbmVsemUgbmFzdGF2aXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAibmVsemUgdnl0dm/FmWl0IHByb2NlcyBwcm8gcG90b21rYSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuZWx6ZSBwxZllasOtdCBkbyBhZHJlc8OhxZllICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIlJlbGFjZSB1a29uxI1lbmEsIHNoZWxsIGJ1ZGUgemFiaXTigKYiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIg4oCmemFiaXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IHByb23Em25ub3UgcHJvc3TFmWVkw60gUEFUSCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJza3VwaW55IG5lbHplIG5hc3Rhdml0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1c2VyIGNyZWRlbnRpYWxzOiAlcyIKK21zZ3N0ciAibmV6ZGHFmWlsYSBzZSB1xb5pdmF0ZWxza8OhIG9wcsOhdm7Em27DrTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjIgc3lzLXV0aWxzL2VqZWN0LmM6NjYwCittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAixI3DrXNsbyBza3VwaW55IChHSUQpIG5lbHplIG5hc3Rhdml0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAixI3DrXNsbyB1xb5pdmF0ZWxlIChVSUQpIG5lbHplIG5hc3Rhdml0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBuZXJlc2V0dWplIHByb23Em25uw6kgcHJvc3TFmWVkw61cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MworbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxza3VwaW5hPiAgICAgICAgICAgdXLEjXVqZSBobGF2bsOtIHNrdXBpbnVcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXAgPHNrdXBpbmE+ICAgICAgdXLEjXVqZSBkb3BsxYhrb3ZvdSBza3VwaW51XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIHXEjWluw60gc2hlbGwgcMWZaWhsYcWhb3ZhY8OtbSBzaGVsbGVtXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jICAtLWNvbW1hbmQgPHDFmcOta2F6PiAgICAgICAgICBwxZllZMOhIGplZGluw70gcMWZw61rYXogc2hlbGx1IHDFmWVzIC1jXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPHDFmcOta2F6PiAgICAgIHDFmWVkw6EgamVkaW7DvSBwxZnDrWtheiBzaGVsbHUgcMWZZXMgLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIG5ldnl0dm/FmcOtIG5vdm91IHJlbGFjaVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAxCittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcMWZZWTDoSBzaGVsbHUgLWYgKHBybyBjc2ggbmVibyB0Y3NoKVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAyCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHNwdXN0w60gPHNoZWxsPiwgcG9rdWQgamVqIC9ldGMvc2hlbGxzIGRvdm9sdWplXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIHZ5dHZvxZnDrSBub3bDvSBwc2V1ZG90ZXJtaW7DoWxcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisiICUxJHMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIC11IDx1xb5pdmF0ZWw+IFtbLS1dIDxwxZnDrWthej5dXG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gWy1dIFs8dcW+aXZhdGVsPiBbPGFyZ3VtZW50PuKApl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiU3B1c3TDrSA8cMWZw61rYXo+IHPCoGVmZWt0aXZuw61tIElEIDx1xb5pdmF0ZWxlPiBhIGplaG8gc2t1cGlueS4gTmVuw60tbGkgemFkw6FubyAtdSxcbiIKKyJwxZllamRlIHNlIGRvIHJlxb5pbXUga29tcGF0aWJpbG7DrWhvIHPCoHN1KDEpIGEgc3B1c3TDrSBzdGFuZGFyZG7DrSBzaGVsbC5cbiIKKyJQxZllcMOtbmHEjWUgLWMsIC1mLCAtbCBhIC1zIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSBzwqBwxZllcMOtbmHEjWVtIC11LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPHXFvml2YXRlbD4gICAgICAgICAgIGptw6lubyB1xb5pdmF0ZWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbLV0gWzx1xb5pdmF0ZWw+IFthcmd1bWVudOKApl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlptxJtuw60gZWZla3Rpdm7DrSBJRCB1xb5pdmF0ZWxlIGEgc2t1cGlueSBuYSBJRCBkYW7DqWhvIDx1xb5pdmF0ZWxlPi5cbiIKKyJTYW1vdG7DqSDigJ4t4oCcIHpuYW1lbsOhIHTDqcW+IOKAni1s4oCcLiBOZW7DrS1saSA8dcW+aXZhdGVsPiB6YWTDoW4sIHDFmWVkcG9rbMOhZMOhIHNlIHJvb3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIm5lbHplIHphZGF0IHbDrWNlIGphayAlZCBkb3BsxYhrb3ZvdSBza3VwaW51IgorbXNnc3RyWzFdICJuZWx6ZSB6YWRhdCB2w61jZSBqYWsgJWQgZG9wbMWIa292w6kgc2t1cGlueSIKK21zZ3N0clsyXSAibmVsemUgemFkYXQgdsOtY2UgamFrICVkIGRvcGzFiGtvdsO9Y2ggc2t1cGluIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJza3VwaW5hICVzIG5lZXhpc3R1amUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1wdHkgbmVuw60gbmEgdmHFoWVtIHN5c3TDqW11IHBvZHBvcm92w6FuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICJpZ25vcnVqZSBzZSAtLXByZXNlcnZlLWVudmlyb25tZW50LCB2esOhamVtbsSbIHNlIHZ5bHXEjXVqZSBzwqBwxZllcMOtbmHEjWVtIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAicMWZZXDDrW5hxI1lIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGEgLS11c2VyIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MworbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW4gxb7DoWRuw70gcMWZw61rYXoiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJwb3V6ZSBzdXBlcnXFvml2YXRlbCBtxa/FvmUgdXLEjWl0IG7DoWhyYWRuw60gc2t1cGlueSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJ1xb5pdmF0ZWwgJXMgbmVleGlzdHVqZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJwb3XFvmlqZSBzZSBvbWV6ZW7DvSBzaGVsbCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAicG96b3I6IG5lbHplIHDFmWVqw610IGRvIGFkcmVzw6HFmWUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJmdW5rY2UgdGNnZXRhdHRyIHNlbGhhbGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJmdW5rY2UgdGNzZXRhdHRyIHNlbGhhbGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiByb290IG5lbcOhIMW+w6FkbsO9IHrDoXpuYW1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiByb290IG5lbcOhIMW+w6FkbsO9IHrDoXpuYW0iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6IGhlc2xvIHXFvml2YXRlbGUgcm9vdCBqZSBwb8Wha296ZW5vIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlDFmcOtc3R1cCBrZSBrb256b2xlIG5lbHplIHrDrXNrYXQsIMO6xI1ldCByb290YSBqZSB1emFtxI1lbi5cbiIKKyJQb2Ryb2Jub3N0aSBuYWxlem5ldGUgdsKgbWFudcOhbG92w6kgc3Ryw6FuY2Ugc3Vsb2dpbig4KS5cbiIKKyJcbiIKKyJQcm8gcG9rcmHEjW92w6Fuw60gc3Rpc2tuxJt0ZSBFbnRlci5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIlBybyBwxZlpaGzDocWhZW7DrSBqZSB0xZllYmEgemFkYXQgaGVzbG8gdcW+aXZhdGVsZSByb290OiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIlBybyBwxZlpaGzDocWhZW7DrSBzdGlza27Em3RlIEVudGVyOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJQcm8gemFow6FqZW7DrSDDumRyxb5ieSBqZSB0xZllYmEgemFkYXQgaGVzbG8gdcW+aXZhdGVsZSByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIlBybyB6YWjDoWplbsOtIMO6ZHLFvmJ5IHN0aXNrbsSbdGUgRW50ZXJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIobmVibyBzdGlza27Em3RlIENvbnRyb2wtRCwgYWJ5c3RlIHBva3JhxI1vdmFsaSk6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBwxZllasOtdCBkbyBrb8WZZW5vdsOpaG8gYWRyZXPDocWZZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc4MgorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJmdW5rY2Ugc2V0ZXhlY2NvbiBzZWxoYWxhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8emHFmcOtemVuw60gVFRZPlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIlDFmWlobMOhxaFlbsOtIHbCoHJlxb5pbXUgamVkaW7DqWhvIHXFvml2YXRlbGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3B1c3TDrSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWt1bmR5PiAgbWF4aW3DoWxuw60gZG9iYSDEjWVrw6Fuw60gbmEgaGVzbG8gKHbDvWNob3rDrTogxb7DoWRuw70gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBzZWzFvmUtbGkgZ2V0cHduYW0oMyksIHByb3prb3Vtw6Egc291Ym9yeSBzwqBoZXNseSBwxZnDrW1vXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHDFmWVww61uYcSNZSAtLXRpbWVvdXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4ODQKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAidGVudG8gcHJvZ3JhbSBtxa/FvmUgc3BvdcWhdMSbdCBqZW4gc3VwZXJ1xb5pdmF0ZWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICJuZWx6ZSBvdGV2xZnDrXQga29uem9sdSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJkYXRhYsOhemkgc8KgaGVzbHkgbmVsemUgb3RldsWZw610IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorInNoZWxsIHN1cGVydcW+aXZhdGVsZSBuZWx6ZSBzcHVzdGl0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisixIxhcyB2eXByxaFlbFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA0OQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisibmVsemUgxI1la2F0IG5hIGRva29uxI1lbsOtIHNoZWxsdSBzdXBlcnXFvml2YXRlbGVcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzOiBuZWx6ZSBwxZlpZGF0IHNsZWRvdsOhbsOtIHBvbW9jw60gaW5vdGlmeS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IHVkw6Fsb3N0aSBpbm90aWZ5IG5lbHplIHDFmWXEjcOtc3QiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ5Cittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICJWwqBzb3Vib3J1IGplIHDFmWVieXRlxI1uw70gbm92w70gxZnDoWRlay4gS29uxI3DrSBzZS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gW27DoXpldl9zb3Vib3J1XVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwNgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICJWeXDDrcWhZSBzb3Vib3J5IFVUTVAgYSBXVE1QIHbCoG5lenByYWNvdmFuw6ltIGZvcm3DoXR1LlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgLWYsIC0tZm9sbG93ICAgICAgICAgdnlwaXN1amUgZGF0YSBwxZlpZMOhdmFuw6EgdG8gc291Ym9ydVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiAtciwgLS1yZXZlcnNlICAgICAgICB6YXDDrcWhZSB2w71waXMgenDEm3QgZG8gdXRtcCBzb3Vib3J1XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzExCittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8c291Ym9yPiAgICAgICAgICAgICAgICAgICAgICB6YXDDrcWhZSBkbyBzb3Vib3J1IG3DrXN0byBuYSBzdGFuZGFyZG7DrSB2w71zdHVwXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJzbGVkb3bDoW7DrSBzdGFuZGFyZG7DrWhvIHZzdHVwdSBuZW7DrSBwb2Rwb3JvdsOhbm8iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIlpwxJt0bsO9IHrDoXBpcyB1dG1wIHbDvXBpc3UgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIlV0bXAgdsO9cGlzICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDUKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJkb8SNYXNuw70gc291Ym9yIG5lbHplIG90ZXbFmcOtdCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBuZWx6ZSB2eXR2b8WZaXQgb2RrYXogbmEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJOZWx6ZSB6amlzdGl0IGtvbnRleHQgcHJvICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiTmVsemUgbmFzdGF2aXQga29udGV4dCBwcm8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlcyBuZXptxJtuxJtubyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NworbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAiesOhbWVrIG5lbHplIHrDrXNrYXQiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODQKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgIm5lcHJvdmVkZW55IMW+w6FkbsOpIHptxJtueSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJzb3Vib3J1IG5lbHplIHptxJtuaXQgcHLDoXZhIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiRWRpdHVqZSBzb3Vib3Igc8KgaGVzbHkgbmVibyBza3VwaW5hbWkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlRlbnRvIHN5c3TDqW0gcG91xb7DrXbDoSBzdMOtbm92w6kgc2t1cGlueS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVGVudG8gc3lzdMOpbSBwb3XFvsOtdsOhIHN0w61ub3bDoSBoZXNsYS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIkNoY2V0ZSB0ZcSPIGVkaXRvdmF0IHNvdWJvciAlcyBbYS9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiJXMgesKgJXMgKGxpYmJsa2lkICVzLCAlcylcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisiICVzIC0tbGFiZWwgPGptZW5vdmthPiB8IC0tdXVpZCA8VVVJRD5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAlcyBbLS1jYWNoZS1maWxlIDxzb3Vib3I+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm3DoXQ+XSBbLS1tYXRjaC10YWcgPHpuYcSNa2E+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzx6YcWZw616ZW7DrT4g4oCmXVxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8em5hxI1rYT5dIFstLW9mZnNldCA8cG9zdW4+XSBbLS1zaXplIDx2ZWxpa29zdD5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm3DoXQ+XSA8emHFmcOtemVuw60+IOKAplxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiICVzIC1pIFstLW1hdGNoLXRhZyA8em5hxI1rYT5dIFstLW91dHB1dCA8Zm9ybcOhdD5dIDx6YcWZw616ZW7DrT4g4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxzb3Vib3I+ICDEjXRlIHplIDxzb3Vib3J1PiBtw61zdG8gesKgdsO9Y2hvesOtaG8gc291Ym9ydSBzwqBrZcWhw61cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC1jIC9kZXYvbnVsbCB6bmFtZW7DoSDFvsOhZG5vdSBrZcWhKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBuZWvDs2R1amUgbmV0aXNrbnV0ZWxuw6kgem5ha3lcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIHVrbGlkw60ga2XFoSBpZGVudGlmaWvDoXRvcsWvIGJsb2tvdsO9Y2ggemHFmcOtemVuw61cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm3DoXQ+ICAgICAgdsO9c3R1cG7DrSBmb3Jtw6F0LCBqZWRlbiB6OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSAoaG9kbm90YSksIGRldmljZSAoemHFmcOtemVuw60pLCBleHBvcnQgbmVib1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdWxsIChwbG7DvSk7ICh2w71jaG96w60gamUgZnVsbClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5Cittc2dpZCAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3QgYWxsIGtub3duIGZpbGVzeXN0ZW1zL1JBSURzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgdnlww63FoWUgdsWhZWNobnkgem7DoW3DqSBzb3Vib3JvdsOpIHN5c3TDqW15IGEgZGlza292w6FcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9sZSBhIHNrb27EjcOtXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MAorbXNnaWQgIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIC1zLCAtLW1hdGNoLXRhZyA8em5hxI1rYT4gICB1a8Ohxb5lIHphZGFuw6kgem5hxI1reSAodsO9Y2hvesOtIGplIHbFoWVjaG55IHpuYcSNa3kpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBuYWpkZSB6YcWZw616ZW7DrSBzZSB6YWRhbsO9bSB0b2tlbmVtIChkdm9qaWNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIE7DgVpFVj1ob2Rub3RhKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgdnlobGVkw6EgcG91emUgcHJ2bsOtIHphxZnDrXplbsOtIHPCoHRva2VuZW0gdXZlZGVuw71tIHbCoC10XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworbXNnaWQgIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICAgICBjb252ZXJ0IExBQkVMIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAtTCwgLS1sYWJlbCA8am1lbm92a2E+ICAgICBwxZlldmVkZSBqbWVub3ZrdSBuYSBuw6F6ZXYgemHFmcOtemVuw61cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk0Cittc2dpZCAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGNvbnZlcnQgVVVJRCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLVUsIC0tdXVpZCA8VVVJRD4gICAgICAgICAgcMWZZXZlZGUgVVVJRCBuYSBuw6F6ZXYgemHFmcOtemVuw61cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgZGV2aWNlKHMpIHRvIHByb2JlIChkZWZhdWx0OiBhbGwgZGV2aWNlcylcbiIKK21zZ3N0ciAiIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgICAgIHVyxI11amUgemtvdcWhZW7DqSB6YcWZw616ZW7DrSAodsO9Y2hvesOtOiB2xaFlY2huYSB6YcWZw616ZW7DrSlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3Cittc2dpZCAiTG93LWxldmVsIHByb2Jpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiUMWZZXDDrW5hxI1lIG7DrXprb8O6cm92xYhvdsO9Y2ggemtvdcWhZWs6XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorbXNnaWQgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbsOtemtvw7pyb3bFiG92w6kgdGVzdHkgc3VwZXJibG9rxa8gKG9iZWpkZSBrZcWhKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IEkvTyBsaW1pdHNcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIHBvc2LDrXLDoSDDumRhamUgb8Kgb21lemVuw61jaCBJL09cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHZlbGlrb3N0PiAgICAgIHDFmWVww63FoWUgdmVsaWtvc3QgemHFmcOtemVuw61cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAtTywgLS1vZmZzZXQgPHBvc3VuPiAgICAgICB6a291xaHDrSBuYSB6YWRhbsOpIHBvemljaVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgLXUsIC0tdXNhZ2VzIDxzZXpuYW0+ICAgICAgb21lesOtIHBvZGxlIOKAnnBvdcW+aXTDreKAnCAobmFwxZkuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1tYXRjaC10eXBlcyA8c2V6bmFtPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvbWV6w60gZHJ1aHUgc291Ym9yb3bDqWhvIHN5c3TDqW11IChuYXDFmS4gLW4gdmZhdCxleHQzKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM1Cittc2dpZCAiKG1vdW50ZWQsIG10cHQgdW5rbm93bikiCittc2dzdHIgIihwxZlpcG9qZW5vLCBib2QgcMWZaXBvamVuw60gbmV6bsOhbSkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiKHBvdcW+w612w6Egc2UpIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiKG5lcMWZaXBvamVubykiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIgorbXNnc3RyICJjaHliYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiVzOiByb3pwb3J1cGxuw6kgdsO9c2xlZGt5IChzbmFkIHbDrWNlIHNvdWJvcm92w71jaCBzeXN0w6ltdSBuYSB6YcWZw616ZW7DrSwgcHJvIHBvZHJvYm5vc3RpIHBvdcW+aWp0ZSB3aXBlZnMoOCkpIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24ga2V5d29yZCBpbiAtdSA8bGlzdD4gYXJndW1lbnQ6ICclcyciCittc2dzdHIgIm5lem7DoW3DqSBrbMOtxI1vdsOpIHNsb3ZvIHbCoGFyZ3VtZW50IC11IDxzZXpuYW0+OiDigJ4lc+KAnCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgImNoeWJhOiBhcmd1bWVudCAtdSA8c2V6bmFtPiBqZSBwcsOhemRuw70iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gZm9ybcOhdCB2w71zdHVwdSAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1OSBtaXNjLXV0aWxzL3dpcGVmcy5jOjY5NworbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tb2Zmc2V0IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIlphZMOhbm8gcMWZw61sacWhIG1ub2hvIHpuYcSNZWsiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCB2ZWxpa29zdGkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIkhsZWRhdCBsemUgcG91emUgamVkbnUgZHZvamljaSBOw4FaRVY9aG9kbm90YSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLXQgcG90xZllYnVqZSBkdm9qaWNpIE7DgVpFVj1ob2Rub3RhIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiTsOtemtvw7pyb3bFiG92w70gemt1xaFlYm7DrSByZcW+aW0gbmVwb2Rwb3J1amUgdsO9c3R1cG7DrSBmb3Jtw6F0IOKAnmxpc3TigJwiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiTsOtemtvw7pyb3bFiG92w70gemt1xaFlYm7DrSByZcW+aW0gdnnFvmFkdWplIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIlZvbGJhIHZ5aGxlZMOhbsOtIHZ5xb5hZHVqZSBkcnVoIGsgaGxlZMOhbsOtIHphZGFuw70gcG9tb2PDrSBwxZllcMOtbmHEjWUgLXQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IG3Em3PDrWNlIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxOQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHTDvWRuZSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ6YWvDoXphbsOhIGhvZG5vdGEgcHJvIHTDvWRlbjogcG91xb5panRlIDHigJM1NCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IMSNYXNvdsO9IMO6ZGFqIG5lYm8gbmV6bsOhbcO9IG7DoXpldiBtxJtzw61jZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgInpha8OhemFuw6EgaG9kbm90YSBwcm8gZGVuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgInpha8OhemFuw6EgaG9kbm90YSBwcm8gZGVuOiBwb3XFvmlqdGUgMeKAkyVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJ6YWvDoXphbsOhIGhvZG5vdGEgcHJvIG3Em3PDrWM6IHBvdcW+aWp0ZSAx4oCTMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIm5lem7DoW3DvSBuw6F6ZXYgbcSbc8OtY2U6ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NgorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyByb2siCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyByb2s6IHBvdcW+aWp0ZSBrbGFkbsOpIGNlbMOpIMSNw61zbG8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NTMwIG1pc2MtdXRpbHMvY2FsLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiemFrw6F6YW7DoSBob2Rub3RhIHBybyB0w71kZW46IHJvayAlZCBuZW3DoSB0w71kZW4gJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFtbW2Rlbl0gbcSbc8OtY10gcm9rXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDzEjWFzb3bDvV/DumRhanxuw6F6ZXZfbcSbc8OtY2U+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJab2JyYXrDrSBrYWxlbmTDocWZIG5lYm8gamVobyDEjcOhc3QuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiQmV6IGFyZ3VtZW50xa8gem9icmF6w60gc291xI1hc27DvSBtxJtzw61jLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICB6b2JyYXrDrSBwb3V6ZSBqZWRlbiBtxJtzw61jICh2w71jaG96w60pXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICB6b2JyYXrDrSB0xZlpIG3Em3PDrWNlXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAtbiwgLS1tb250aCA8cG/EjWV0PiAgIHpvYnJhesOtIHBvxI1ldCBtxJtzw61jxa8gcG/EjcOtbmFqZSB6YWRhbsO9bSBkYXRlbVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHDFmWkgdsOtY2UgbcSbc8OtY8OtY2ggem9icmF6w60gb2tvbMOtXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgbmVkxJtsZSBqYWtvIHBydm7DrSBkZW4gdMO9ZG5lXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgcG9uZMSbbMOtIGpha28gcHJ2bsOtIGRlbiB0w71kbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB2eXDDrcWhZSBkZW4gdsKgcm9jZSB2ZSB2xaFlY2gga2FsZW5kw6HFmcOtY2hcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmVmb3JtIDxob2Rub3RhPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICBEYXR1bSBncmVnb3Jpw6Fuc2vDqSByZWZvcm15ICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKK21zZ2lkICIgICAgIC0taXNvICAgICAgICAgICAgIGFsaWFzIGZvciAtLXJlZm9ybT1pc29cbiIKK21zZ3N0ciAiICAgICAtLWlzbyAgICAgICAgICAgICBzdGVqbsOpIGpha28gLS1yZWZvcm09aXNvXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIHpvYnJhesOtIGNlbMO9IHJva1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTIKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLVQsIC0tdHdlbHZlICAgICAgICAgIHpvYnJhesOtIGRhbMWhw61jaCBkdmFuw6FjdCBtxJtzw61jxa9cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9PMSNw61zbG8+XSAgem9icmF6w60gYW1lcmlja8OhIG5lYm8gSVNPLTg2MDEgxI3DrXNsYSB0w71kbsWvXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExNAorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAtLWNvbG9yWz08a2R5Pl0gICBvYmFydsOtIHpwcsOhdnkgKGF1dG8sIGFsd2F5cyBbdsW+ZHldIG5lYm8gbmV2ZXIgW25pa2R5XSlcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjEKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIHBhZ2VzIgorbXNnc3RyICJkYXRhIHNvdWJvcsWvIG5hY2jDoXplasOtY8OtIHNlIHbCoHBhbcSbdGkgdmUgc3Ryw6Fua8OhY2giCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiZGF0YSBzb3Vib3LFryBuYWNow6F6ZWrDrWPDrSBzZSB2wqBwYW3Em3RpIHbCoGJhanRlY2giCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAidmVsaWtvc3Qgc291Ym9ydSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKK21zZ2lkICJmaWxlIG5hbWUiCittc2dzdHIgIm7DoXpldiBzb3Vib3J1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJ2b2zDoW7DrSBtaW5jb3JlIHNlbGhhbG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICJ2b2zDoW7DrSBtbWFwIHNlbGhhbG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW46ICVzIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBvdGV2xZnDrXQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAidm9sw6Fuw60gZnN0YXQgc2VsaGFsbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFtzb3Vib3LigKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgIHbDvXN0dXAgZm9ybcOhdHVqZSBkb8KgSlNPTnVcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgdmVsaWtvc3RpIHZ5cGlzdWplIHbCoGJhanRlY2ggbmFtw61zdG8gdsKgcG9kb2LEm1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgdmhvZG7DqSBwcm8gxI1sb3bEm2thXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBuZXZ5cMOtxaFlIHrDoWhsYXbDrVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSB6YWRhbsOpIHNsb3VwY2VcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjczCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICBuZWZvcm3DoXRvdmFuw70gdsO9c3R1cFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW4gxb7DoWRuw70gc291Ym9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTxob2Rub3RhPlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiTmFqZGUgc3lzdMOpbXUgc291Ym9yxa8gcG9kbGUgbsOhenZ1IG5lYm8gVVVJRC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICLigJ4lc+KAnCBuZWx6ZSBwxZllbG/Fvml0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgInpkcm9qb3bDqSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiYm9kIHDFmWlwb2plbsOtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiZHJ1aCBzeXN0w6ltdSBzb3Vib3LFryIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgInbFoWVjaG55IHZvbGJ5IHDFmWlwb2plbsOtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAidm9sYnkgcMWZaXBvamVuw60gdXLEjWVuw6kgcHJvIHZpcnR1w6FsbsOtIHNvdWJvcm92w70gc3lzdMOpbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAidm9sYnkgcMWZaXBvamVuw60gdXLEjWVuw6kgcHJvIHNvdWJvcm92w70gc3lzdMOpbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiam1lbm92a2Egc291Ym9yb3bDqWhvIHN5c3TDqW11IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCBzb3Vib3JvdsOpaG8gc3lzdMOpbXUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiam1lbm92a2Egb2Rkw61sdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJobGF2bsOtOnZlZGxlasWhw60gxI3DrXNsbyB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYWtjZSB6YWNoeWNlbsOpIHBvbW9jw60gLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgInN0YXLDqSB2b2xieSBwxZlpcG9qZW7DrSB1bG/FvmVuw6kgcG9tb2PDrSAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAic3RhcsO9IGJvZCBwxZlpcG9qZW7DrSB1bG/FvmVuw70gcG9tb2PDrSAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAidmVsaWtvc3Qgc3lzdMOpbXUgc291Ym9yxa8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgInZlbGlrb3N0IHNvdWJvcm92w6lobyBzeXN0w6ltdSBqZSB6bsOhbWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJwb3XFvml0byB6wqB2ZWxpa29zdGkgc291Ym9yb3bDqWhvIHN5c3TDqW11IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJ2eXXFvml0w60gc291Ym9yb3bDqWhvIHN5c3TDqW11IHbCoHByb2NlbnRlY2giCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAia2/FmWVuIHNvdWJvcm92w6lobyBzeXN0w6ltdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiSUQgw7psb2h5IgorCisjIE7DoXpldiBha2NlCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAiSUQgcMWZaXBvamVuw60iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAidm9saXRlbG7DqSBwb2xvxb5reSBwxZlpcG9qZW7DrSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJwxZnDrXpuYWt5IHByb3BhZ2FjZSBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJwZXJpb2RhIHZvbMOhbsOtIGR1bXAoOCkgdmUgZG5lY2ggW3BvdXplIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIsSNw61zbG8gcHLFr2Nob2R1IHDFmWkgcGFyYWxlbG7DrW0gZnNjayg4KSBbcG91emUgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICJuZXpuw6Ftw6EgYWtjZTogJXMiCisKKyMgTsOhemV2IGFrY2UKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJwxZlpcG9qZW7DrSIKKworIyBOw6F6ZXYgYWtjZQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJvZHBvamVuw60iCisKKyMgTsOhemV2IGFrY2UKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInDFmWVwb2plbsOtIgorCisjIE7DoXpldiBha2NlCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJwxZllc3VuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJ0YWJ1bGt1IGxpYm1vdW50dSBzZSBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4NDEgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiesKgJXMgbmVsemUgxI3DrXN0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiaXRlcsOhdG9yIGxpYm1vdW50dSBzZSBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAidGFiZGlmZiBsaWJtb3VudHUgc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHBvbGwoKSBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt2b2xieV1cbiIKKyIgJTEkcyBbdm9sYnldIDx6YcWZw616ZW7DrT4gfCA8Ym9kX3DFmWlwb2plbsOtPlxuIgorIiAlMSRzIFt2b2xieV0gPHphxZnDrXplbsOtPiA8Ym9kX3DFmWlwb2plbsOtPlxuIgorIiAlMSRzIFt2b2xieV0gWy0tc291cmNlIDx6YcWZw616ZW7DrT5dIFstLXRhcmdldCA8Y2VzdGE+IHwgLS1tb3VudHBvaW50IDxhZHJlc8OhxZk+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJOYWpkZSAocMWZaXBvamVuw70pIHNvdWJvcm92w70gc3lzdMOpbS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgaGxlZMOhIHZlIHN0YXRpY2vDqSB0YWJ1bGNlIHNvdWJvcm92w71jaCBzeXN0w6ltxa9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMworbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIGhsZWTDoSB2wqB0YWJ1bGNlIHDFmWlwb2plbsO9Y2ggc291Ym9yb3bDvWNoIHN5c3TDqW3Fr1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICh6YWhybnVqZSB2b2xieSBwxZlpcG9qZW7DrSB6IHXFvml2YXRlbHNrw6lobyBwcm9zdG9ydSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgaGxlZMOhIHbCoGphZGVybsOpIHRhYnVsY2UgcMWZaXBvamVuw71jaCBzb3Vib3JvdsO9Y2hcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBzeXN0w6ltxa8gKHbDvWNob3rDrSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcCwgLS1wb2xsWz08c2V6bmFtPl0gIHNsZWR1amUgem3Em255IHbCoHRhYnVsY2UgcMWZaXBvamVuw71jaCBzeXN0w6ltxa9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKyIgLXcsIC0tdGltZW91dCA8cG/EjWV0PiAgaG9ybsOtIGhyYW5pY2UgdsKgbWlsaXNla3VuZMOhY2gsIHBvIGt0ZXJvdSBidWRlIC0tcG9sbFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGJsb2tvdmF0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwgICAgICAgICAgICAgIHpha8Ohxb5lIHbFoWVjaG55IHZlc3RhdsSbbsOpIGZpbHRyeSwgdnlww63FoWUgdsWhZWNobnlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBzb3Vib3JvdsOpIHN5c3TDqW15XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgLWEsIC0tYXNjaWkgICAgICAgICAgICBzdHJvbSB2eWtyZXNsw60gemUgem5ha8WvIEFTQ0lJXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHZlbGlrb3N0aSB2eXBpc3VqZSB2wqBiYWp0ZWNoIG5hbcOtc3RvIHbCoHBvZG9ixJtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB2aG9kbsOpIHBybyDEjWxvdsSba2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBuZW5vcm1hbGl6dWplIGNlc3R5LCBrZHnFviBqZSBwb3Jvdm7DoXbDoVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgbm9ybWFsaXp1amUgdnlwaXNvdmFuw6kgY2VzdHlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgLUQsIC0tZGYgICAgICAgICAgICAgICBuYXBvZG9iw60gdsO9c3R1cCBkZigxKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorIiAtZCwgLS1kaXJlY3Rpb24gPHNtxJtyPiBzbcSbciB2eWhsZWTDoXbDoW7DrSwg4oCeZm9yd2FyZOKAnCAodnDFmWVkKSBuZWJvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg4oCeYmFja3dhcmTigJwgKHpwxJt0KVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBwxZlldmVkZSB6bmHEjWt5IChMQUJFTCwgVVVJRCwgUEFSVFVVSUQsIFBBUlRMQUJFTClcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBuYSBuw6F6dnkgemHFmcOtemVuw61cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtRiwgLS10YWItZmlsZSA8Y2VzdGE+IGppbsO9IHNvdWJvciBwcm8gcMWZZXDDrW5hxI1lIC1zLCAtbSBhIC1rXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHZ5cMOtxaFlIHBvdXplIHBydm7DrSBuYWxlemVuw70gc291Ym9yb3bDvSBzeXN0w6ltXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIG9icsOhdMOtIHbDvXpuYW0gaGxlZMOhbsOtIHNob2R5XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQgbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIHN5cy11dGlscy9sc25zLmM6OTAxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTcyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICB2w71zdHVwIGZvcm3DoXR1amUgZG/CoEpTT051XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUgc3lzLXV0aWxzL2xzbnMuYzo5MDIKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHbDvXN0dXAgZm9ybcOhdHVqZSBqYWtvIHNlem5hbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKyIgLU4sIC0tdGFzayA8VElEPiAgICAgICBwb3XFvmlqZSBqaW7DvSBqbWVubsO9IHByb3N0b3IgKHNvdWJvclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jLzxUSUQ+L21vdW50aW5mbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuZXZ5cMOtxaFlIHrDoWhsYXbDrSBzbG91cGPFr1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiAtTywgLS1vcHRpb25zIDxzZXpuYW0+IG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIHBvZGxlIHZvbGViIHDFmWlwb2plbsOtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8c2V6bmFtPiAgem9icmF6w60gZGFuw6kgc2xvdXBjZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB2w71zdHVwIHZlIGZvcm3DoXR1IGtsw63EjT1cImhvZG5vdGFcIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLVIsIC0tc3VibW91bnRzICAgICAgICB2eXDDrcWhZSB2xaFlY2huYSBwb2TFmcOtemVuw6EgcMWZaXBvamVuw61cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB2wqBvZHBvdsOtZGFqw61jw61jaCBzb3Vib3JvdsO9Y2ggc3lzdMOpbWVjaFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIG5lZm9ybcOhdG92YW7DvSB2w71zdHVwXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc291cmNlIDzFmWV0xJt6ZWM+IHphxZnDrXplbsOtIGvCoHDFmWlwb2plbsOtIChwb2RsZSBuw6F6dnUsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgaGxhdm7DrWhvX8SNw61zbGE6dmVkbGVqxaHDrWhvX8SNw61zbGEsIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDxjZXN0YT4gICBwb3XFvmlqZSBzb3Vib3JvdsO9IHN5c3TDqW0gbmHCoHV2ZWRlbsOpIGNlc3TEm1xuIgorCisjIEZJWE1FOiB0eXBvICJpcyBwb3NzaWJsZSIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAgICAgLS10cmVlICAgICAgICAgICAgIHbDvXN0dXAgZm9ybcOhdHVqZSBqYWtvIHN0cm9tLCBqZS1saSBtb8W+bm9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisiIC1NLCAtLW1vdW50cG9pbnQgPGFkcmVzw6HFmT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBhZHJlc8OhxZkgYm9kdSBwxZlpcG9qZW7DrVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM4Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPHNlem5hbT4gICBvbWV6w60gbW5vxb5pbnUgc291Ym9yb3bDvWNoIHN5c3TDqW3FryBwb2RsZSBqZWppY2ggZHJ1aHVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3J1amUgc291Ym9yb3bDqSBzeXN0w6lteSBzwqBvcGFrdWrDrWPDrW0gc2UgY8OtbGVtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIHZlIHNsb3VwY8OtY2ggbmV6a3JhY3VqZSB0ZXh0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIHXCoHbDoXphbsO9Y2ggYSBidHJmcyBwxZlpcG9qZW7DrSBuZXZ5cGlzdWplIFsvYWRyXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIG92xJvFmcOtIG9ic2FoIHRhYnVsa3kgcMWZaXBvamVuw60gKHbDvWNob3rDrSBqZSBmc3RhYilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2eXDDrcWhZSB2w61jZSBwb2Ryb2Jub3N0w61cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJuZXpuw6Ftw70gc23Em3Ig4oCeJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHDFmWVww61uYcSNZSAtLXRhc2siCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTYKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1wb2xsIHDFmWlqw61tw6EgcG91emUgamVkZW4gc291Ym9yLCBhbGUgYnlsbyBqaWNoIHphZMOhbm8gdsOtY2Ugc2tyemUgcMWZZXDDrW5hxI0gLS10YWItZmlsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgInZvbGJ5IC0tdGFyZ2V0IGEgLS1zb3VyY2UgbmVtb2hvdSBiw710IHBvdcW+aXR5IHNwb2xlxI1uxJsgc8KgcHJ2a2VtIHDFmcOta2F6b3bDqWhvIMWZw6Fka3UsIGt0ZXLDvSBuZW7DrSB2b2xib3UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAicG9tb2Nub3UgcGFtxJvFpSBsaWJtb3VudHUgc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICJQb8W+YWRvdsOhbiBqZSBzbG91cGNlICVzLCBhbGUgLS1wb2xsIG5lbsOtIHphcG51dG8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJjw61sIHphZMOhbiB2w61jZSBuZcW+IGplZG5vdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiY2h5Ym7DqSBwb8WZYWTDrTogJXMgemFkw6FubyBwxZllZCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICJuZWRlZmlub3ZhbsO9IGPDrWwgKGZzX2ZpbGUpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAibmVrYW5vbmlja8OhIGNlc3RhIGvCoGPDrWxpIChza3V0ZcSNbsOhOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICJuZWRvc3R1cG7DvSBjw61sIHBvdMWZZWJuw70gcHJvIHNwdcWhdMSbbsOtIHN5c3TDqW11OiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJuZWRvc3R1cG7DvSBjw61sOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImPDrWwgbmVuw60gYWRyZXPDocWZZW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICJjw61sIGV4aXN0dWplIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAibmVkb3N0dXBuw70gemRyb2ogcG90xZllYm7DvSBwcm8gc3B1xaF0xJtuw60gc3lzdMOpbXU64oCvJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJuZWRvc3R1cG7DqTogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXM9JXMgcMWZZWxvxb5lbm8gbmEgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAibmVkZWZpbm92YW7DvSB6ZHJvaiAoZnNfc3BlYykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsOhIHpuYcSNa2EgY8OtbGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICJuZWtvbnRyb2x1amUgemRyb2ogJXMgKHBzZXVkby9zw63FpSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIm5lZG9zdHVwbsO9IHpkcm9qOiAlczogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiemRyb2ogbmV2w6F6YW7DqWhvIHDFmWlwb2plbsOtICVzIGplIGFkcmVzw6HFmSBuZWJvIGLEm8W+bsO9IHNvdWJvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ6ZHJvaiAlcyBuZW7DrSBibG9rb3bDvW0gemHFmcOtemVuw61tIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgInpkcm9qICVzIGV4aXN0dWplIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAicMWZZXDDrW5hxI1lIFZGUzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgInDFmWVww61uYcSNZSBGUzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJwxZllcMOtbmHEjWUgdcW+aXZhdGVsc2vDqWhvIHByb3N0b3J1OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsOhIHBvbGl0aWthIHphaGF6b3bDoW7DrSBwcm8gb2RrbMOhZGFjw60gb2JsYXN0OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgInZvbGJ1IHByaW9yaXR5IG9ka2zDoWRhY8OtIG9ibGFzdGkgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIm5la29udHJvbHVqZSBkcnVoIHN5c3TDqW0gc291Ym9yxa8gJXMgKHBzZXVkby9zw63FpSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgImRydWggc291Ym9yb3bDqWhvIHN5c3Q9bXUg4oCebm9uZeKAnCBqZSBkb3BvcnXEjWVuIGplbiBwcm8gb3BlcmFjZSB2w6F6w6Fuw60gYSBwxZllc3VudSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgInpkw6Egc2UsIMW+ZSBzb3XEjWFzbsOpIGrDoWRybyBuZXBvZHBvcnVqZSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibmVsemUgdXLEjWl0IHR5cCBzeXN0w6ltdSBzb3Vib3LFryBuYSBkaXNrdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiVzIHNlIG5lc2hvZHVqZSBzwqAlcyBuYSBkaXNrdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiemTDoSBzZSwgxb5lIHNvdcSNYXNuw6kgasOhZHJvIG5lcG9kcG9ydWplICVzIG5hIGRpc2t1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgIkRydWggc291Ym9yb3bDqWhvIHN5c3TDqW11IGplICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICJkb3BvcnXEjWVuw6kgcG/FmWFkw60ga29udHJvbHkgc291Ym9yb3bDqWhvIHN5c3TDqW11IGplIDEgKHNvdcSNYXNuw6kgamUgJWQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIiVkIGNoeWJhIHJvemViw61yw6Fuw60iCittc2dzdHJbMV0gIiVkIGNoeWJ5IHJvemViw61yw6Fuw60iCittc2dzdHJbMl0gIiVkIGNoeWIgcm96ZWLDrXLDoW7DrSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCAlZCBjaHliYSIKK21zZ3N0clsxXSAiLCAlZCBjaHlieSIKK21zZ3N0clsyXSAiLCAlZCBjaHliIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiLCAlZCB2YXJvdsOhbsOtIgorbXNnc3RyWzFdICIsICVkIHZhcm92w6Fuw60iCittc2dzdHJbMl0gIiwgJWQgdmFyb3bDoW7DrSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiw5pzcMSbY2gsIG5lbmFsZXplbnkgxb7DoWRuw6kgY2h5YnkgbmVibyB2YXJvdsOhbsOtXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICJwcsOhemRuw6EgZGxvdWjDoSB2b2xiYSBwbyBwxZllcMOtbmHEjWkgLWwgxI1pIC0tbG9uZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjMKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgIm5lem7DoW3DvSBzaGVsbCBwbyBwxZllcMOtbmHEjWkgLXMgxI1pIC0tc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMgPMWZZXTEm3plY19zX3ZvbGJhbWk+IDxwYXJhbWV0cnk+XG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gWy0tXSA8xZlldMSbemVjX3Nfdm9sYmFtaT4gPHBhcmFtZXRyeT5cbiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSAtb3wtLW9wdGlvbnMgPMWZZXTEm3plY19zX3ZvbGJhbWk+IFtwxZllcMOtbmHEjWVdIFstLV0gPHBhcmFtZXRyeT5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIlJvemViZXJlIHZvbGJ5IHDFmcOta2F6dS5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIHDFmWlqw61tw6EgZGxvdWjDqSB2b2xieSB6YcSNw61uYWrDrWPDrSBqZWRuw61tIC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbG9uZ29wdGlvbnMgPGRsb3Vow6lfdm9sYnk+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvenBvem7DoXZhbsOpIGRsb3Vow6kgdm9sYnlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA8bsOhemV2X3Byb2dyYW11PiAgIG7DoXpldiwgcG9kIGt0ZXLDvW0ganNvdSBvem5hbW92w6FueSBjaHlieVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxrcsOhdGvDqV92b2xieT4gIHJvenBvem7DoXZhbsOpIGtyw6F0a8OpIHZvbGJ5XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgdnlwbmUgb3puYW1vdsOhbsOtIGNoeWIgcG9tb2PDrSBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgxb7DoWRuw70gbm9ybcOhbG7DrSB2w71zdHVwXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBuYXN0YXbDrSBrb252ZW5jZSB1emF2w61yYW7DrSBkbyB1dm96b3Zla1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RsZSA8c2hlbGx1PlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdHVqZSB2ZXJ6aSBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucW90ZWQgICAgICAgICAgICAgICAgIG5ldXphdsWZZSB2w71zdHVwIGRvIHV2b3pvdmVrXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImNoeWLDrSDFmWV0xJt6ZWMtcy12b2xiYW1pIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJWbml0xZluw60gY2h5YmEsIG96bmFtdGUgamkgYXV0b3JvdmkuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJuZXpuw6Ftw70gc2lnbsOhbCAlczsgcGxhdG7DqSBzaWduw6FseToiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPFBJRD58PG7DoXpldj7igKZcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTsOhc2lsbsSbIHVrb27EjcOtIHByb2Nlcy5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTgyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIG5lb21lenVqZSBwxZlldm9kIHrCoG7DoXp2dSBuYSBQSUQgamVuIG5hIHByb2Nlc3kgc8KgVUlEXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgc2hvZG7DvW0gc2Ugc291xI1hc27DvW0gcHJvY2VzZW1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg0Cittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIgLXMsIC0tc2lnbmFsIDxzaWduw6FsPiAgemHFoWxlIHRlbnRvIDxzaWduw6FsPiBtw61zdG8gc2lnbsOhbHUgU0lHVEVSTVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWV1ZSA8aG9kbm90YT4gIHBvdcW+aWplIHNpZ3F1ZXVlKDIpIG3DrXN0byBraWxsKDIpIGEgamFrbyBkYXRhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgcMWZZWTDoSA8aG9kbm90dT5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHZ5cMOtxaFlIMSNw61zbGEgcHJvY2Vzxa8sIGFuacW+IGJ5IGppbSB6YXNsYWwgc2lnbsOhbFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbGlzdFs9PHNpZ27DoWw+XSAgdnlww63FoWUgc2V6bmFtIG7DoXp2xa8gc2lnbsOhbMWvLCBuZWJvIHDFmWV2ZWRlIMSNw61zbG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBzaWduw6FsdSBuYSBuw6F6ZXZcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkwCittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgdnlww63FoWUgc2V6bmFtIG7DoXp2xa8gYSDEjcOtc2VsIHNpZ27DoWzFr1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2eXDDrcWhZSDEjcOtc2xhIFBJRCwga3RlcsO9bSBidWRlIHphc2zDoW4gc2lnbsOhbFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNDAgbWlzYy11dGlscy9raWxsLmM6MjQ5IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAibmV6bsOhbcO9IHNpZ27DoWwgJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI2MCBtaXNjLXV0aWxzL2tpbGwuYzoyNjMgbWlzYy11dGlscy9raWxsLmM6MjcyCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODQgbWlzYy11dGlscy9raWxsLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlcyBhICVzIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJjaHliYSBhcmd1bWVudHUiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIm5lcGxhdG7DvSBuw6F6ZXYgbmVibyDEjcOtc2xvIHNpZ27DoWx1OiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICJ6YXPDrWzDoSBzZSBzaWduw6FsICVkIHByb2Nlc3UgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiemFzbMOhbsOtIHNpZ27DoWx1IHByb2Nlc3UgJXMgc2VsaGFsbyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJwcm9jZXMg4oCeJXPigJwgbmVsemUgbmFsw6l6dCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAibmV6bsOhbcO9IG7DoXpldiBvYm9ydSAoZmFjaWxpdHkpOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibmV6bsOhbcO9IG7DoXpldiBwcmlvcml0eTogJXMiCisKKyMgb3BlbmxvZyBpcyBmdW5jdGlvbiBuYW1lCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3BlbmxvZyAlczogY2VzdGEgamUgcMWZw61sacWhIGRsb3Vow6EiCisKKyMgc29ja2V0IGlzIGZ1bmN0aW9uIG5hbWUKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAic29ja2V0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHDFmWVsb8W+aXQgbsOhemV2ICVzIHBvcnQgJXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHDFmWlwb2ppdCBrwqAlcyBwb3J0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm1heGltw6FsbsOtIHZzdHVwbsOtIMWZw6Fka3kgKCVkKSBwxZlla3JvxI1lbnkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAib2Rlc2zDoW7DrSB6cHLDoXZ5IHNlbGhhbG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgInN0cnVrdHVyb3ZhbsOpIElEIGRhdCDigJ4lc+KAnCBuZW7DrSBqZWRpbmXEjW7DqSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1zZC1pZCBuZWJ5bCB6YWTDoW4gc3BvbHUgc8KgLS1zZC1wYXJhbSAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjgKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSBsb2NhbHRpbWUoKSBzZWxoYWxhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJuw6F6ZXYgc3Ryb2plIOKAniVz4oCcIGplIHDFmcOtbGnFoSBkbG91aMO9IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiem5hxI1rYSDigJ4lc+KAnCBqZSBwxZnDrWxpxaEgZGxvdWjDoSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCBuZXpuw6Ftw6lobyBwxZllcMOtbmHEjWUgc2UgaWdub3J1amU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50OiAlczogcG91xb7DrXZhasOtIHNlIGF1dG9tYXRpY2vDqSBjaHlieSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFs8enByw6F2YT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIlZrbMOhZMOhIHpwcsOhdnkgZG8gc3lzdMOpbW92w6lobyBwcm90b2tvbHUuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgIHphem5hbWVuw6EgUElEIHByb3Rva29sdWrDrWPDrWhvIHDFmcOta2F6dVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzcKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiICAgICAtLWlkWz08SUQ+XSAgICAgICAgICB6YXpuYW1lbsOhIDxJRD4sIGppbmFrIFBJRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxzb3Vib3I+ICAgICAgemF6bmFtZW7DoSBvYnNhaCB0b2hvdG8gc291Ym9ydVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgcMWZaSB6cHJhY292w6Fuw60gc291Ym9yxa8gbmV6YXpuYW1lbsOhdsOhIHByw6F6ZG7DqSDFmcOhZGt1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICB1ZMSbbMOhIHbFoWUga3JvbcSbIHrDoXBpc3UgcHJvdG9rb2x1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisiIC1wLCAtLXByaW9yaXR5IDxwcmlvcml0YT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG96bmHEjcOtIHphZGFub3UgenByw6F2dSB0b3V0byBwcmlvcml0b3VcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHBvxI3DrXTDoSBva3RldHkgcG9kbGUgUkZD4oCvNjU4N1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGhsZWTDoSBwxZllZHBvbnUgbmEga2HFvmTDqW0gxZnDoWRrdSBwxZllxI10ZW7DqW0gemVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YW5kYXJkbsOtaG8gdnN0dXB1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIHpwcsOhdnUgdnlww63FoWUgcm92bsSbxb4gbmEgc3RhbmRhcmRuw60gY2h5Ym92w70gdsO9c3R1cFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8dmVsaWtvc3Q+ICAgIG1heGltw6FsbsOtIHZlbGlrb3N0IGplZG7DqSB6cHLDoXZ5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIC10LCAtLXRhZyA8em5hxI1rYT4gICAgICAga2HFvmTDqW11IMWZw6Fka3UgcMWZaWTDoSB0dXRvIHpuYcSNa3VcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ3Cittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiAtbiwgLS1zZXJ2ZXIgPG7DoXpldj4gICAgIHphcMOtxaFlIGRvIHRvaG90byB2emTDoWxlbsOpaG8gc3lzbG9nb3bDqWhvIHNlcnZlcnVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ4Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICBwb3XFvmlqZSB0ZW50byBwb3J0IHBybyBVRFAgbmVibyBzcG9qZW7DrSBUQ1BcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICBwb3XFvmlqZSBwb3V6ZSBUQ1BcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUwCittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICBwb3XFvmlqZSBwb3V6ZSBVRFBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUxCittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICBwb3XFvmlqZSB6YXN0YXJhbMO9IHByb3Rva29sIEJTRCBzeXNsb2d1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08w7p0csW+ZWs+XSBwb3XFvmlqZSBwcm90b2tvbCBzeXNsb2d1ICh2w71jaG96w60gcHJvIHZ6ZMOhbGVuw70gY8OtbCksXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICA8w7p0csW+ZWs+IG3Fr8W+ZSBiw710IOKAnm5vdGltZeKAnCBuZWJvIOKAnm5vdHHigJwgYS9uZWJvIOKAnm5vaG9zdOKAnFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAgICAgLS1zZC1pZCA8SUQ+ICAgICAgICAgSUQgZGF0IHN0cnVrdHVyb3ZhbsO9Y2ggcG9kbGUgUkZD4oCvNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICBzdHJ1a3R1cm92YW7DoSBkYXRhIG7DoXpldj1ob2Rub3RhIHBvZGxlIFJGQ+KArzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8SUQ+ICAgICAgICAgbmFzdGF2w60gcG9sb8W+a3UgSUQgenByw6F2eSBwb2RsZSBSRkPigK81NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NworbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHphcMOtxaFlIGRvIHRvaG90byB1bml4b3bDqWhvIHNvY2tldHVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdnlwaXN1amUgY2h5Ynkgc3BvamVuw60sIHBvdcW+w612YWrDrS1saSBzZSB1bml4b3bDqVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgc29ja2V0eVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKyIgICAgIC0tam91cm5hbGRbPTxzb3Vib3I+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgemFww63FoWUgesOhem5hbSBqb3VybmFsZFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAic291Ym9yICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIklEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgInZlbGlrb3N0IHpwcsOhdnkgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiLS1tc2dpZCBuZW3Fr8W+ZSBvYnNhaG92YXQgbWV6ZXJ1IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIm5lcGxhdG7DqSBJRCBzdHJ1a3R1cm92YW7DvWNoIGRhdGE6IOKAniVz4oCcIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJjaHlibsO9IHBhcmFtZXRyIHN0cnVrdHVyb3ZhbsO9Y2ggZGF0OiDigJ4lc+KAnCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxzb3Vib3I+IGEgPHpwcsOhdmE+IHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSwgenByw6F2YSBzZSBpZ25vcnVqZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgInrDoXpuYW0gam91cm5hbGQgbmVieWxvIG1vxb5uw6kgemFwc2F0IgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPMWZZXTEm3plYz4gWzxzb3Vib3I+4oCmXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiWm9icmF6w60gxZnDoWRreSB6YcSNw61uYWrDrWPDrSB6YWRhbsO9bSDFmWV0xJt6Y2VtLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHBvdcW+aWplIG7DoWhyYWRuw60gc2xvdm7DrWtcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY3Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIHBvcm92bsOhdsOhIHBvdXplIGLDrWzDqSBhIGFsZmFudW1lcmlja8OpIHpuYWt5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OAorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBwxZlpIHBvcm92bsOhdsOhbsOtIGlnbm9ydWplIHZlbGlrb3N0IHDDrXNtZW5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY5Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC10LCAtLXRlcm1pbmF0ZSA8em5haz4gICB1csSNdWplIHpuYWssIGt0ZXLDvSB1a29uxI11amUgxZlldMSbemVjXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAibsOhemV2IHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJ2bml0xZluw60gamFkZXJuw70gbsOhemV2IHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidm5pdMWZbsOtIGphZGVybsO9IG7DoXpldiBuYWTFmWF6ZW7DqWhvIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3IHN5cy11dGlscy96cmFtY3RsLmM6ODYKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgImthbSBqZSB6YcWZw616ZW7DrSBwxZlpcG9qZW5vIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiam1lbm92a2Egc291Ym9yb3bDqWhvIHN5c3TDqW11IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiVVVJRCBkcnVodSBvZGTDrWx1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJqbWVub3ZrYSBvZGTDrWx1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJwxZllZG5hxI3DrXTDoW7DrSB6ZSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiemHFmcOtemVuw60gcG91emUgcHJvIMSNdGVuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJ2w71txJtubsOpIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAidnltxJtuaXRlbG7DqSBuZWJvIHphIGLEm2h1IG9kcG9qaXRlbG7DqSB6YcWZw616ZW7DrSAoVVNCLCBQQ01DSUEsIOKApikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAib3TDocSNaXbDqSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAicMWZaWTDoXbDoSBuw6Fob2Rub3N0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgImlkZW50aWZpa8OhdG9yIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJzw6lyaW92w6kgxI3DrXNsbyBkaXNrdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidmVsaWtvc3QgemHFmcOtemVuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJzdGF2IHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAibsOhemV2IHNrdXBpbnkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAicMWZw61zdHVwb3bDoSBwcsOhdmEga8KgdXpsdSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInBvc3VuIHBybyB6YXJvdm7DoW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm1pbmltw6FsbsOtIHZlbGlrb3N0IEkvTyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9wdGltw6FsbsOtIHZlbGlrb3N0IEkvTyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ2ZWxpa29zdCBmeXppY2vDqWhvIHNla3RvcnUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ2ZWxpa29zdCBsb2dpY2vDqWhvIHNla3RvcnUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIm7DoXpldiBwbMOhbm92YcSNZSBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgInZlbGlrb3N0IGZyb250eSBwb8W+YWRhdmvFryIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJkcnVoIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJwb3N1biBwcm8gemFoYXpvdmFuw60gKGRpc2NhcmQpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAic3R1cGXFiCB6YWhhem92w6Fuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAibWF4aW3DoWxuw60gcG/EjWV0IHphaG9kaXRlbG7DvWNoIGJhanTFryIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgInphaG96ZW7DrSBudWx1amUgZGF0YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICJtYXhpbcOhbG7DrSBwb8SNZXQgYmFqdMWvIHBybyB6w6FwaXMga29wacOtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiamVkaW5lxI1uw70gaWRlbnRpZmlrw6F0b3Igw7psb8W+acWhdMSbIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAzCittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgInN0cm9qOmthbsOhbDpjw61sOmplZG5vdGthIHBybyBTQ1NJIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICJkcnVoIHRyYW5zcG9ydHUgemHFmcOtemVuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgImRlZHVwbGlrb3ZhbsO9IMWZZXTEm3ogcG9kc3lzdMOpbcWvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJyZXZpemUgemHFmcOtemVuw60iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDcKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICJwcm9kZWpjZSB6YcWZw616ZW7DrSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIm1vZGVsIHrDs255IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgImFkcmVzw6HFmSB6YcWZw616ZW7DrSB2wqBzeXNmcyBzZSBuZXBvZGHFmWlsbyBvdGV2xZnDrXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2Ugc2VzdGF2aXQgY2VzdHUgdsKgc3lzZnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2UgcMWZZcSNw61zdCBvZGtheiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIHNlIHrDrXNrYXQgbsOhemV2IHbCoHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiB6amnFoXTEm27DrSDEjcOtc2xhIHphxZnDrXplbsOtIGNlbMOpaG8gZGlza3Ugc2VsaGFsbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NjcgbWlzYy11dGlscy9sc2Jsay5jOjE1NjkgbWlzYy11dGlscy9sc2Jsay5jOjE1OTQKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgc2V6bmFtIOKAniVz4oCcIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgInNlem5hbSB2eW5lY2hhbsO9Y2ggemHFmcOtemVuw60gamUgcMWZw61sacWhIGRsb3Vow70gKGhyYW5pY2UgamUgJWQgemHFmcOtemVuw60pIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgInNlem5hbSB6YWhybnV0w71jaCB6YcWZw616ZW7DrSBqZSBwxZnDrWxpxaEgZGxvdWjDvSAoaHJhbmljZSBqZSAlZCB6YcWZw616ZW7DrSkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzIHN5cy11dGlscy93ZGN0bC5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbPHphxZnDrXplbsOtPuKApl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIlZ5cMOtxaFlIMO6ZGFqZSBvwqBibG9rb3bDqW0gemHFmcOtemVuw60uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICB2eXDDrcWhZSB2xaFlY2huYSB6YcWZw616ZW7DrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAgbmV2eXDDrcWhZSBwb2TFmcOtemVuw6EgKHNsYXZlKSBhIG5hZMWZw616ZW7DoSAoaG9sZGVyKSB6YcWZw616ZW7DrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcG9ww63FoWUgc2Nob3Bub3N0IHphaGF6b3ZhdCBkYXRhIChkaXNjYXJkKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MworbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAteiwgLS16b25lZCAgICAgICAgICB2eXDDrcWhZSBtb2RlbCB6w7NueVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NAorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXhjbHVkZSA8c2V6bmFtPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICB2eW5lY2jDoSB6YcWZw616ZW7DrSBwb2RsZSBobGF2bsOtaG8gxI3DrXNsYSAodsO9Y2hvesOtOiBSQU0gZGlza3kpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICB2eXDDrcWhZSDDumRhamUgb8Kgc291Ym9yb3bDqW0gc3lzdMOpbXVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgLWksIC0tYXNjaWkgICAgICAgICAgcG91xb5pamUgcG91emUgQVNDSUkgem5ha3lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisiIC1JLCAtLWluY2x1ZGUgPHNlem5hbT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgem9icmF6w60gcG91emUgemHFmcOtemVuw60gc2UgemFkYW7DvW1pIGhsYXZuw61taSDEjcOtc2x5XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICB2w71zdHVwIGZvcm3DoXR1amUgZG8gSlNPTnVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgdsO9c3R1cCBmb3Jtw6F0dWplIGpha28gc2V6bmFtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ULCAtLXRyZWUgICAgICAgICAgIHbDvXN0dXAgZm9ybcOhdHVqZSBqYWtvIHN0cm9tXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgcMWZw61zdHVwb3bDvWNoIHByw6F2ZWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUyIHN5cy11dGlscy9sc21lbS5jOjUwNgorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgbmV2eXDDrcWhZSB6w6FobGF2w61cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHpvYnJhesOtIHphZGFuw6kgc2xvdXBjZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dC1hbGwgICAgIHZ5cMOtxaFlIHbFoWVjaG55IHNsb3VwY2VcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgIHZ5cMOtxaFlIGNlbG91IGNlc3R1IGvCoHphxZnDrXplbsOtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU4Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICBvYnLDoXTDrSB6w6F2aXNsb3N0aVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgIHZ5cMOtxaFlIMO6ZGFqZSBvwqBTQ1NJIHphxZnDrXplbsOtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgdG9wb2xvZ2lpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYxCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAteCwgLS1zb3J0IDxzbG91cGVjPiB2w71zdHVwIHNlxZlhZMOtIHBvZGxlIDxzbG91cGNlPlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIm5lemRhxZlpbG8gc2UgcMWZaXN0b3VwaXQga8KgYWRyZXPDocWZaSB2wqBzeXNmczogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJwxZnDrWtheiBwcm9jZXN1LCBrdGVyw70gZHLFvsOtIHrDoW1layIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiSUQgcHJvY2VzdSwga3RlcsO9IGRyxb7DrSB6w6FtZWsiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICJkcnVoIHrDoW1rdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJ2ZWxpa29zdCB6w6Fta3UiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAicMWZw61zdHVwb3bDvSByZcW+aW0ga8KgesOhbWt1IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgInrDoXZhem5vc3QgesOhbWt1OiAwIChuZSksIDEgKG5hc3RhdmVubykiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInJlbGF0aXZuw60gcG9sb2hhIHrDoW1rdSB2wqBiYWp0ZWNoIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInBvbG9oYSBrb25jZSB6w6Fta3UiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgImNlc3RhIGsgemFta251dMOpbXUgc291Ym9ydSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIklEIHByb2Nlc3UsIGt0ZXLDvSBibG9rdWplIHrDoW1layIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJJRCBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyNjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJQSUQgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIyBVbmtub3duIGNvbW1hbmQKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKG5lem7DoW3DvSkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiemHEjcOhdGVrIHNlIG5lcG9kYcWZaWxvIHJvemVicmF0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJrb25lYyBzZSBuZXBvZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIlZ5cMOtxaFlIHrDoW1reSBuYSBtw61zdG7DrW0gc3lzdMOpbXUuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMgorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3J1amUgesOhbWt5IGJleiBwcsOhdiBhIGtlIMSNdGVuw61cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuZXZ5cMOtxaFlIHrDoWhsYXbDrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQgPHNlem5hbT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1csSNdWplLCBrdGVyw6kgdsO9c3R1cG7DrSBzbG91cGNlIHNlIHBvdcW+aWrDrVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8UElEPiAgICAgICAgem9icmF6w60gcG91emUgesOhbWt5IGRyxb5lbsOpIHTDrW10byBwcm9jZXNlbVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXBcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwxZllcMOtbmHEjWUgLS1waWQiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIlZ5cm9iw60gbWFnaWNrw70gY29va2llIHBybyBwcm9ncmFtIHhhdXRoLlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8c291Ym9yPiAgIHBvdcW+aWplIHNvdWJvciBqYWtvIGluaWNpYWxpemHEjW7DrSB2ZWt0b3IgcHJvIGNvb2tpZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIiAtbSwgLS1tYXgtc2l6ZSA8xI3DrXNsbz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIG9tZXrDrSwga29saWsgcMWZZcSNw61zdCB6wqBpbmljaWFsaXphxI1uw61jaCBzb3Vib3LFr1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICB2eXN2xJt0bMOtLCBjbyBzZSBwcm92w6Fkw61cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJPYmRyxb5lbiAlenUgYmFqdCB6wqAlc1xuIgorbXNnc3RyWzFdICJPYmRyxb5lbnkgJXp1IGJhaHR5IHrCoCVzXG4iCittc2dzdHJbMl0gIk9iZHLFvmVubyAlenUgYmFqdMWvIHrCoCVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAidXphdsWZZW7DrSAlcyBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBkw6lsa3UiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIi0tbWF4LXNpemUgc2UgaWdub3J1amUsIGtkecW+IG5lbsOtIHBvdcW+aXQgc8KgLS1maWxlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJPYmRyxb5lbiAlZCBiYWp0IHrCoCVzXG4iCittc2dzdHJbMV0gIk9iZHLFvmVueSAlZCBiYWp0eSB6wqAlc1xuIgorbXNnc3RyWzJdICJPYmRyxb5lbm8gJWQgYmFqdMWvIHrCoCVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAixI10ZW7DrSBzeW1ib2xpY2vDqWhvIG9ka2F6dSBzZWxoYWxvOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXPCoOKAkyBUYWtvdsO9IHNvdWJvciBuZWJvIGFkcmVzw6HFmSBuZWV4aXN0dWplXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8Y2VzdGE+4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJOw6FzbGVkdWplIGNlc3R1IGRva3VkIG5lbsOtIG5hbGV6ZW4ga29uZcSNbsO9IGJvZC5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC14LCAtLW1vdW50cG9pbnRzICAgdnl6bmHEjcOtIGFkcmVzw6HFmWUgYm9kxa8gcMWZaXBvamVuw60gcG9tb2PDrcKg4oCeROKAnFxuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHpvYnJhesOtIHXCoGthxb5kw6lobyBzb3Vib3J1IGJpdHkgcHLDoXZcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICB6b2JyYXrDrSB1wqBrYcW+ZMOpaG8gc291Ym9ydSBqbcOpbm8gdmxhc3Ruw61rYSBhIHNrdXBpbnlcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICBwb3XFvmlqZSBkbG91aMO9IHR2YXIgdsO9cGlzdSAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIG5lbsOhc2xlZHVqZSBzeW1ib2xpY2vDqSBvZGthenlcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBzdmlzbMOpIHphcm92bsOhbsOtIHByw6F2IGEgdmxhc3Ruw61rxa9cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgImFyZ3VtZW50IHMgbsOhenZlbSBjZXN0eSBjaHliw60iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzoxMDU3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiYWxva2FjZSBrZcWhIFVJRCBzZWxoYWxhIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiYWxva2FjZSBrZcWhIEdQVCBzZWxoYWxhIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IG9tZXplbsOtIHN5bWJvbGlja8O9Y2ggb2RrYXrFryBwxZlla3JvxI1lbm8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBuZW7DrSBzeW1ib2xpY2vDvW0gb2RrYXplbSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogdm9sw6Fuw60gcmVhZGxpbmsgc2VsaGFsbyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIlDFmWVza2FrdWplIHNlIGV4aXN0dWrDrWPDrSBvZGthejog4oCeJXPigJxcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHZvbMOhbsOtIHVubGluayBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5lYnlsbyBtb8W+bsOpIHZ5dHZvxZlpdCBzeW1ib2xpY2vDvSBvZGtheiBuYSAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICJWeW5lY2jDoXbDoSBzZSBleGlzdHVqw61jw60gc291Ym9yOiDigJ4lc+KAnFxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHDFmWVqbWVub3bDoW7DrSBuYSAlcyBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPHbDvXJhej4gPG7DoWhyYWRhPiA8c291Ym9yPuKAplxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiUMWZZWptZW51amUgc291Ym9yeS5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICB2eXN2xJt0bMOtLCBjbyBzZSBwcm92w6Fkw61cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICAgICBwcmFjdWplIHPCoGPDrWxlbSBzeW1ib2xpY2vDvWNoIG9ka2F6xa9cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICBuZXByb3ZlZGUgxb7DoWRuw6kgem3Em255XG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQ0Cittc2dpZCAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgZG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzXG4iCittc2dzdHIgIiAtbywgLS1uby1vdmVyd3JpdGUgIG5lcMWZZXBpc3VqZSBleGlzdHVqw61jw60gc291Ym9yeVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiRMOpbW9uIHBybyB2eXR2w6HFmWVuw60gaWRlbnRpZmlrw6F0b3LFryBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxjZXN0YT4gICAgICAgY2VzdGEga8Kgc291Ym9ydSBzwqBQSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAtcywgLS1zb2NrZXQgPGNlc3RhPiAgICBjZXN0YSBrwqBzb2NrZXR1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OAorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLVQsIC0tdGltZW91dCA8c2VrdW5keT4gxI1hc292w70gbGltaXQgbmXEjWlubm9zdGlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIHphYmlqZSBixJvFvsOtY8OtaG8gZMOpbW9uYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgb3Rlc3R1amUgZ2VuZXJvdsOhbsOtIHphbG/FvmVuw6kgbmEgbsOhaG9kxJtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICBvdGVzdHVqZSBnZW5lcm92w6Fuw60gemFsb8W+ZW7DqSBuYSDEjWFzZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiIC1uLCAtLXV1aWRzIDxwb8SNZXQ+ICAgICBwb8W+YWR1amUgcG/EjWV0IFVVSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjczCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIG5ldnl0dm/FmcOtIHNvdWJvciBzwqBQSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIG5lZMOpbW9uaXp1amUgc2UgcG9tb2PDrSBkdm9qaXTDqWhvIHZvbMOhbsOtIGZvcmtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1Cittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gbmV2eXR2b8WZw60gbmFzbG91Y2hhY8OtIHNvY2tldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBzcHVzdMOtIHNlIHbCoGxhZGljw61tIHJlxb5pbXVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgemFwbmUgdGljaMO9IHJlxb5pbVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTA5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiY2h5Ym7DqSBhcmd1bWVudHkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgInDFmWlwb2pvdsOhbsOtIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTQ3Cittc2dpZCAid3JpdGUiCittc2dzdHIgInrDoXBpcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIm5hxI10ZW7DrSBwb8SNdHUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICJjaHlibsOhIGTDqWxrYSBvZHBvdsSbZGkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIiVzIG5lbHplIHphbWtub3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAibmVieWxvIG1vxb5uw6kgdnl0dm/FmWl0IHVuaXhvdsO9IHByb3Vkb3bDvSBzb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibmVieWxvIG1vxb5uw6kgcMWZaWxlcGl0IHVuaXhvdsO9IHNvY2tldCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICJwxZnDrWplbSBzaWduw6FsdSBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJ2eXByxaFlbCDEjWFzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIsSNYXNvdmHEjSBuZWx6ZSBuYXN0YXZpdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiZMOpbW9uIHV1aWRkIGppxb4gYsSbxb7DrSBzwqBQSUQgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJuZWJ5bG8gbW/Fvm7DqSB6YWjDoWppdCBuYXNsb3VjaMOhbsOtIG5hIHVuaXhvdsOpbSBzb2NrZXR1ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAic291Ym9yIG5lYnlsbyBtb8W+bsOpIHprcsOhdGl0OiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHNkX2xpc3Rlbl9mZHMoKSBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgwCittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIsW+w6FkbsO9IGRlc2tyaXB0b3Igc291Ym9ydSBuZWJ5bCBwxZlpamF0LCB6a29udHJvbHVqdGUgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODMKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgInDFmWlqYXRvIHDFmcOtbGnFoSBtbm9obyBkZXNrcmlwdG9yxa8gc291Ym9yxa8sIHprb250cm9sdWp0ZSB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICLEjWFzb3bDvSBsaW1pdCBbJWQgc2VrdW5kXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gcmVhZCBzZWxoYWxvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICJjaHliYSBwxZlpIMSNdGVuw60gesKga2xpZW50YSwgZMOpbGthID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJvcGVyYWNlICVkLCBwxZnDrWNob3rDrSBwb8SNZXQgPSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJvcGVyYWNlICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiVnlnZW5lcm92YW7DqSDEjWFzb3bDqSBVVUlEOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiVnlnZW5lcm92YW7DqSBuw6Fob2Ruw6kgVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIlZ5Z2VuZXJvdmFuw6kgxI1hc292w6kgVVVJRCAlcyBhICVkIG7DoXNsZWR1asOtY8OtXG4iCittc2dzdHJbMV0gIlZ5Z2VuZXJvdmFuw6kgxI1hc292w6kgVVVJRCAlcyBhICVkIG7DoXNsZWR1asOtY8OtXG4iCittc2dzdHJbMl0gIlZ5Z2VuZXJvdmFuw6kgxI1hc292w6kgVVVJRCAlcyBhICVkIG7DoXNsZWR1asOtY8OtY2hcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICJWeWdlbmVyb3bDoW5vICVkIFVVSUQ6XG4iCittc2dzdHJbMV0gIlZ5Z2VuZXJvdsOhbmEgJWQgVVVJRDpcbiIKK21zZ3N0clsyXSAiVnlnZW5lcm92w6FubyAlZCBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk5lcGxhdG7DoSBvcGVyYWNlICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIk5lb8SNZWvDoXZhbsOhIGTDqWxrYSBvZHBvdsSbZGkgb2Qgc2VydmVydSAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjU5MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICJob2Rub3R1IC0tdXVpZHMgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgInV1aWRkIGJ5bCBzZXN0YXZlbiBiZXogcG9kcG9yeSBha3RpdmFjZSBzb2NrZXRlbSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgaG9kbm90dSAtLXRpbWVvdXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBuYW1lIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAibsOhemV2IHN2YXprdSBqZSBwxZnDrWxpxaEgZGxvdWjDvSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIlphZMOhbnkgcMWZZXDDrW5hxI1lIC0tc29ja2V0LWFjdGl2YXRpb24gacKgLS1zb2NrZXQuIElnbm9ydWplIHNlIC0tc29ja2V0LiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImNoeWJhIHDFmWkgdm9sw6Fuw60gZMOpbW9uYSB1dWlkZCAoJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU1IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODMKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJuZW/EjWVrw6F2YW7DoSBjaHliYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiVzIGEgJWQgbsOhc2xlZHVqw61jw60gVVVJRFxuIgorbXNnc3RyWzFdICIlcyBhICVkIG7DoXNsZWR1asOtY8OtIFVVSURcbiIKK21zZ3N0clsyXSAiJXMgYSAlZCBuw6FzbGVkdWrDrWPDrWNoIFVVSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJTZXpuYW0gVVVJRDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJ6YWLDrXQgdXVpZGQgYsSbxb7DrWPDrWhvIHBvZMKgUElEICVkIG5lYnlsbyBtb8W+bsOpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiRMOpbW9uIHV1aWRkIGLEm8W+w61jw60gcG9kIFBJRCAlZCBieWwgemFiaXQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIlZ5dHZvxZnDrSBub3ZvdSBob2Rub3R1IFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMyCittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhbmRvbSAgICAgICAgdnl0dm/FmcOtIFVVSUQgemFsb8W+ZW7DqSBuYSBuw6Fob2TEm1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMworbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICB2eXR2b8WZw60gVVVJROKAr3phbG/FvmVuw6kgbmEgxI1hc2VcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVzcGFjZSBqcCAgdnl0dm/FmcOtIFVVSUQgemFsb8W+ZW7DqSBuYSBvdGlza3UgdsKgdG9tdG8gam1lbm7DqW0gcHJvc3RvcnVcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzUKK21zZ2lkICIgLU4sIC0tbmFtZSBuYW1lICAgICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgZnJvbSB0aGlzIG5hbWVcbiIKK21zZ3N0ciAiIC1OLCAtLW5hbWUgbsOhemV2ICAgIHZ5dHZvxZnDrSBVVUlEIHphbG/FvmVuw6kgbmEgb3Rpc2t1IHRvaG90byBuw6F6dnVcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICIgLW0sIC0tbWQ1ICAgICAgICAgICB2eXR2b8WZw60gb3Rpc2sgTUQ1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAtcywgLS1zaGExICAgICAgICAgIHZ5dHZvxZnDrSBvdGlzayBTSEExXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgaW50ZXJwcmV0IG5hbWUgYXMgaGV4IHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXR1amUgbsOhemV2IGpha28gxaFlc3Ruw6FjdGtvdsO9IMWZZXTEm3plY1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc2Cittc2dpZCAidW5pcXVlIGlkZW50aWZpZXIiCittc2dzdHIgImplZGluZcSNbsO9IGlkZW50aWZpa8OhdG9yIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3Cittc2dpZCAidmFyaWFudCBuYW1lIgorbXNnc3RyICJuw6F6ZXYgdmFyaWFudHkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzgKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgIm7DoXpldiB0eXB1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICLEjWFzb3bDvSDDumRhaiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxVVUlE4oCmPlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHbDvXN0dXAgZm9ybcOhdHVqZSBkb8KgSlNPTnUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG5ldnlww63FoWUgesOhaGxhdsOtIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8c2V6bmFtPiAgem9icmF6w60gZGFuw6kgc2xvdXBjZSAodml6dGUgbsOtxb5lKSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBuZWZvcm3DoXRvdmFuw70gdsO9c3R1cCIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCittc2dpZCAiaW52YWxpZCIKK21zZ3N0ciAibmVwbGF0bsOpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICJqaW7DqSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTcKK21zZ2lkICJuaWwiCittc2dzdHIgInByw6F6ZG7DqSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDIKK21zZ2lkICJ0aW1lLWJhc2VkIgorbXNnc3RyICJ6YWxvxb5lbsOpIG5hIMSNYXNlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgInphbG/FvmVuw6kgbmEgbsOhenZ1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxMQorbXNnaWQgInJhbmRvbSIKK21zZ3N0ciAibsOhaG9kbsOpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNAorbXNnaWQgInNoYTEtYmFzZWQiCittc2dzdHIgInphbG/FvmVuw6kgbmEgU0hBMSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNjcgbWlzYy11dGlscy93aXBlZnMuYzoxNzAgc3lzLXV0aWxzL2xzY3B1LmM6MTcyMgorIzogc3lzLXV0aWxzL2xzbnMuYzo4MDYgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJ2w71zdHVwbsOtIHNsb3VwZWMgc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWy1CTVMgPGFkcmVzw6HFmT7igKYgLWZdIDxzb3Vib3I+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJOYWpkZSB1bcOtc3TEm27DrSBiaW7DoXJuw61obywgemRyb2pvdsOpIGEgbWFudcOhbG92w6lobyBzb3Vib3J1IGvCoHDFmcOta2F6dS5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIGhsZWTDoSBwb3V6ZSBiaW7DoXJuw60gc291Ym9yeVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorIiAtQiA8YWRyZXPDocWZZT5cbiIKKyIgICAgICAgICAgICB1csSNdWplIHZ5aGxlZMOhdsOhY8OtIGNlc3R1IHBybyBiaW7DoXJuw60gc291Ym9yeVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAgaGxlZMOhIHBvdXplIG1hbnXDoWx5IGEgaW5mbyBzdHLDoW5reVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKyIgLU0gPGFkcmVzw6HFmWU+XG4iCisiICAgICAgICAgICAgdXLEjXVqZSB2eWhsZWTDoXZhY8OtIGNlc3R1IHBybyBtYW51w6Fsb3bDqSBhIGluZm8gc3Ryw6Fua3lcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgaGxlZMOhIHBvdXplIHpkcm9qb3bDqSBrw7NkeVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisiIC1TIDxhZHJlc8OhxZllPlxuIgorIiAgICAgICAgICAgIHVyxI11amUgY2VzdHUgcHJvIGhsZWTDoW7DrSB6ZHJvasWvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgLWYgICAgICAgICB1a29uxI11amUgc2V6bmFtIDxhZHJlc8OhxZnFrz5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgaGxlZMOhIG5lb2J2eWtsw6kgZW50aXR5XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHZ5cMOtxaFlIHbDvXNsZWRuw6kgdnlobGVkw6F2w6Fjw60gY2VzdHlcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgImNoeWLDrSBwxZllcMOtbmHEjSAtZiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEIG9kZMOtbHUgLyBzb3Vib3JvdsOpaG8gc3lzdMOpbXUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA1Cittc2dpZCAibWFnaWMgc3RyaW5nIGxlbmd0aCIKK21zZ3N0ciAiZMOpbGthIG1hZ2lja8OpaG8gxZlldMSbemNlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNgorbXNnaWQgInN1cGVyYmxvayB0eXBlIgorbXNnc3RyICJkcnVoIHN1cGVyYmxva3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA3Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAidW3DrXN0xJtuw60gbWFnaWNrw6lobyDFmWV0xJt6Y2UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicG9waXMgZHJ1aHUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5Cittc2dpZCAiYmxvY2sgZGV2aWNlIG5hbWUiCittc2dzdHIgIm7DoXpldiBibG9rb3bDqWhvIHphxZnDrXplbsOtIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorbXNnaWQgInBhcnRpdGlvbi10YWJsZSIKK21zZ3N0ciAidGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiY2h5YmE6ICVzOiBpbmljaWFsaXphY2UgdGVzdG92w6Fuw60gc2UgbmV6ZGHFmWlsYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiB2w71tYXogbWFnaWNrw6lobyDFmWV0xJt6Y2UgJXMgbmEgcG96aWNpIDB4JTA4anggc2VsaGFsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogdnltYXrDoW4gJXpkIGJhanQgbmEgcG96aWNpIDB4JTA4anggKCVzKTogIgorbXNnc3RyWzFdICIlczogdnltYXrDoW55ICV6ZCBiYWp0eSBuYSBwb3ppY2kgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMl0gIiVzOiB2eW1hesOhbm8gJXpkIGJhanTFryBuYSBwb3ppY2kgMHglMDhqeCAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IHrDoWxvaHUgdnpvcmNlIHNlIG5lcG9kYcWZaWxvIHZ5dHZvxZlpdCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiB2b2zDoSBzZSBpb2N0bCgpIHBybyB6bm92dW5hxI10ZW7DrSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1OiAlbVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgInrDoWxvaHUgdnpvcmNlIHNlIG5lcG9kYcWZaWxvIHZ5dHZvxZlpdCwgJEhPTUUgbmVuw60gZGVmaW5vdsOhbmEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiB2bm/FmWVuw6EgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSDigJ4lc+KAnCBuYSBuZWNlbG9kaXNrb3bDqW0gemHFmcOtemVuw60gc2UgaWdub3J1amUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlczogcG96aWNlIDB4JWp4IG5lbmFsZXplbmEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTgwCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIlBvdcW+aWp0ZSBwxZllcMOtbmHEjSAtLWZvcmNlIGvCoHZ5bnVjZW7DrSB2w71tYXp1LiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDUKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIlZ5bWHFvmUgdnpvcmNlIHplIHphxZnDrXplbsOtLiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgIG9kc3RyYW7DrSB2xaFlY2hueSBtYWdpY2vDqSDFmWV0xJt6Y2UgKEJVxI5URSBPUEFUUk7DjSEpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgIHZ5dHZvxZnDrSB6w6Fsb2h1IHZ6b3JjZSB2wqAkSE9NRSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICB2eW51dMOtIHZ5bWF6w6Fuw60iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCittc2dpZCAiIC1pLCAtLW5vaGVhZGluZ3MgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAtaSwgLS1ub2hlYWRpbmdzICAgIG5ldnlww63FoWUgesOhaGxhdsOtIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgIHbDvXN0dXAgZm9ybcOhdHVqZSBkbyBKU09OdSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbCIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgdWTEm2zDoSB2xaFlIGtyb23EmyB2bGFzdG7DrWhvIHZvbMOhbsOtIHdyaXRlKCkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8xI3DrXNsbz4gIHBvemljZSBwcm8gdnltYXrDoW7DrSwgdsKgYmFqdGVjaCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTUKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxsaXN0PiBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPHNlem5hbT4gIHpvYnJhesOtIFNMT1VQQ0UgKHZpenRlIG7DrcW+ZSkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2Cittc2dpZCAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlYmxlICAgICAgdsO9cGlzIHZlIHN0cm9qb3bEmyB6cHJhY292YXRlbG7DqSBwb2RvYsSbIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlcyIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgcG90bGHEjcOtIHbDvXN0dXBuw60genByw6F2eSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXMiCittc2dzdHIgIiAtdCwgLS10eXBlcyA8c2V6bmFtPiAgb21lesOtIG1ub8W+aW51IHNvdWJvcm92w71jaCBzeXN0w6ltxa8sIGRpc2tvdsO9Y2ggcG9sw60gYSB0YWJ1bGVrIHJvemTEm2xlbsOtIGRpc2t1IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJWwqB0b210byBrb250ZXh0dSBuZW3DoSBwxZllcMOtbmHEjSAtLWJhY2t1cCBzbXlzbC4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVWvDocW+ZSBuZWJvIHptxJtuw60gYXRyaWJ1dHkgcHJvY2VzdSB0w71rYWrDrWPDrSBwbMOhbm92w6Fuw60gdsKgcmXDoWxuw6ltIMSNYXNlLlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJOYXN0YXbDrSBwb2xpdGlrdTpcbiIKKyIgIGNocnQgW3DFmWVww61uYcSNZV0gPHByaW9yaXRhPiA8cMWZw61rYXo+IFs8YXJndW1lbnQ+4oCmXVxuIgorIiAgY2hydCBbcMWZZXDDrW5hxI1lXSAtLXBpZCA8cHJpb3JpdGE+IDxQSUQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisiWmppc3TDrSBwb2xpdGlrdTpcbiIKKyIgIGNocnQgW3DFmWVww61uYcSNZV0gLXAgPFBJRD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIlDFmWVww61uYcSNZSBwb2xpdGlrOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfQkFUQ0hcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYWRsaW5lICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfSURMRVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIgLW8sIC0tb3RoZXIgICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBuYXN0YXbDrSBwb2xpdGlreSBuYSBTQ0hFRF9SUiAodsO9Y2hvesOtKVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIlDFmWVww61uYcSNZSBwbMOhbm92w6Fuw606XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHXCoEZJRk8gbmVibyBSUiBuYXN0YXbDrSBTQ0hFRF9SRVNFVF9PTl9GT1JLXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBwYXJhbWV0ciBkw6lsa2EgYsSbaHUgcHJvIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBhcmFtZXRyIHBlcmlvZGEgcHJvIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gcGFyYW1ldHIgaHJhbmljZSBwcm8gREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiRGFsxaHDrSBwxZllcMOtbmHEjWU6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsLXRhc2tzICAgICAgcHJhY3VqZSBuYWQgdsWhZW1pIMO6bG9oYW1pICh2bMOha255KSB6YWRhbsOpaG8gUElEXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heCAgICAgICAgICAgIHVrw6HFvmUgbWluaW3DoWxuw60gYSBtYXhpbcOhbG7DrSBwbGF0bsOpIHByaW9yaXR5XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgcHJhY3VqZSBuYWQgZXhpc3R1asOtY8OtbSB6YWRhbsOpbSBQSURcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICB6b2JyYXrDrSDDumRhamUgb8Kgc3RhdnVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMxIHNjaGVkdXRpbHMvY2hydC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgesOtc2thdCBwb2xpdGlrdSBwcm9jZXN1ICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6w61za2F0IHZsYXN0bm9zdGkgcHJvY2VzdSAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIm5vdsOhIHBsw6Fub3ZhY8OtIHBvbGl0aWthIHByb2Nlc3UgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInN0w6F2YWrDrWPDrSBwbMOhbm92YWPDrSBwb2xpdGlrYSBwcm9jZXN1ICVkOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJub3bDoSBwbMOhbm92YWPDrSBwcmlvcml0YSBwcm9jZXN1ICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJzdMOhdmFqw61jw60gcGzDoW5vdmFjw60gcHJpb3JpdGEgcHJvY2VzdSAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJub3bDqSBwYXJhbWV0cnkgZMOpbGthIGLEm2h1L2hyYW5pY2UvcGVyaW9kYSBwcm8gcHJvY2VzICVkOiAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJzb3XEjWFzbsOpIHBhcmFtZXRyeSBkw6lsa2EgYsSbaHUvaHJhbmljZS9wZXJpb2RhIHBybyBwcm9jZXMgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICJuZWx6ZSB6w61za2F0IHNlem5hbSDDumxvaCIKKworIyBGaXJzdCBhcmd1bWVudCBqdXN0IGNvbXBsZXRlcyBsaXRlcmFsIHBvbGljeSBuYW1lCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJtaW4uL21heC4gcHJpb3JpdGEgJXNcdDogJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIiVzIG5lbsOtIHBvZHBvcm92w6FuYT9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJwb2xpdGlrdSB2bMOha25hIHPCoFRJRCAlZCBzZSBuZXBvZGHFmWlsbyBuYXN0YXZpdCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJwb2xpdGlrdSBwcm9jZXN1ICVkIHNlIG5lcG9kYcWZaWxvIG5hc3Rhdml0IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODQKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBkw6lsa3kgYsSbaHUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcGVyaW9keSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IGhyYW5pY2UiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwcmlvcml0eSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIlDFmWVww61uYcSNIC0tcmVzZXQtb24tZm9yayBqZSBwb2Rwb3JvdsOhbiBqZW4gdcKgcG9saXRpayBTQ0hFRF9GSUZPIGEgU0NIRURfUlIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIlDFmWVww61uYcSNZSAtLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0ganNvdSBwb2Rwb3JvdsOhbnkgamVuIHXCoHBvbGl0aWt5IFNDSEVEX0RFQURMSU5FIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiU0NIRURfREVBRExJTkUgbmVuw60gcG9kcG9yb3bDoW5hIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICJuZXBvZHBvcm92YW7DoSBob2Rub3RhIHByaW9yaXR5IHBybyBwb2xpdGlrdTogJWQ6IHBybyBwbGF0bsO9IHJvenNhaCB2aXp0ZSAtLW1heCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBpb3ByaW9fZ2V0IHNlbGhhbG8iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzOiBwcmlvcml0YSAlbHVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBpb3ByaW9fc2V0IHNlbGhhbG8iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3DFmWVww61uYcSNZV0gLXAgPFBJRD7igKZcbiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSAtUCA8UEdJRD7igKZcbiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSAtdSA8VUlEPuKAplxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDxwxZnDrWthej5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVWvDocW+ZSBuZWJvIHptxJtuw60gcGzDoW5vdmFjw60gSS9PIHTFmcOtZHUgYSBwcmlvcml0dSBwcm9jZXN1LlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNAorbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgIC1jLCAtLWNsYXNzIDx0xZnDrWRhPiAgIG7DoXpldiBuZWJvIMSNw61zbG8gcGzDoW5vdmFjw60gdMWZw61keVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUgW8W+w6FkbsOhXSwgMTogcmVhbHRpbWUgW3Jlw6FsbsO9IMSNYXNdLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlIFt6YWjDoWxlbsOtXVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNgorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKyIgIC1uLCAtLWNsYXNzZGF0YSA8xI3DrXNsbz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBwcmlvcml0YSAoMOKIkjcpIHbCoHphZGFuw6kgcGzDoW5vdmFjw60gdMWZw61kxJssXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgcG91emUgcHJvIHTFmcOtZHkgcmXDoWxuw6lobyDEjWFzdSBhIGJlc3QtZWZmb3J0XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8UElEPuKApiAgICAgICBwcmFjdWplIG5hZCB0xJttaXRvIGppxb4gYsSbxb7DrWPDrW1pIHByb2Nlc3lcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIC1QLCAtLXBnaWQgPFBHUlA+4oCmICAgICBwcmFjdWplIG5hZCBqacW+IGJlxb7DrWPDrW1pIHByb2Nlc3kgdsKgdMSbY2h0byBza3VwaW7DoWNoXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9ydWplIHNlbGjDoW7DrVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdWlkIDxVSUQ+4oCmICAgICAgIHByYWN1amUgbmFkIGppxb4gYmXFvsOtY8OtbWkgcHJvY2VzeSB2bGFzdG7Em27DvW1pIHTEm21pdG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1xb5pdmF0ZWxpXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgZGF0IHBsw6Fub3ZhY8OtIHTFmcOtZHkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHBsw6Fub3ZhY8OtIHTFmcOtZHkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAibmV6bsOhbcOhIHBsw6Fub3ZhY8OtIHTFmcOtZGE6IOKAniVz4oCcIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJsemUgenByYWNvdmF0IHBvdXplIGplZG5vIFBJRCwgUEdJRCBuZWJvIFVJRCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBQR0lEIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgVUlEIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgInXCoHTFmcOtZHkgxb7DoWRuw6Egc2UgaWdub3J1asOtIHphZGFuw6EgZGF0YSB0xZnDrWR5IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgInXCoHTFmcOtZHkgemFow6FsZW7DrSBbaWRsZV0gc2UgaWdub3J1asOtIHphZGFuw6EgZGF0YSB0xZnDrWR5IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgIm5lem7DoW3DoSBwcmlvcml0bsOtIHTFmcOtZGEgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlBvdcW+aXTDrTogJXMgW3DFmWVww61uYcSNZV0gW21hc2thIHwgc2V6bmFtX2NwdV0gW1BJRCB8IHDFmcOta2F6IFthcmd1bWVudOKApl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlpvYnJhesOtIG5lYm8gem3Em27DrSBhZmluaXR1IHByb2Nlc3Uga8KgQ1BVLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCittc2dzdHIgIiIKKyJQxZllcMOtbmHEjWU6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIHByYWN1amUgbmFkIHbFoWVtaSDDumxvaGFtaSAodmzDoWtueSkgemFkYW7DqWhvIFBJRFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBwcmFjdWplIG5hZCBleGlzdHVqw61jw61tIHphZGFuw71tIFBJRFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICB6b2JyYXrDrSBhIHVyxI3DrSBDUFUgamFrbyBzZXpuYW1cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJJbXBsaWNpdG7DrSBjaG92w6Fuw60gamUgc3B1xaF0xJtuw60gbm92w6lobyBwxZnDrWthenU6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiTWFza3UgZXhpc3R1asOtY8OtIMO6bG9oeSBsemUgemppc3RpdCB0YWt0bzpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJOZWJvIGppIGx6ZSBuYXN0YXZpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJaw6FwaXMgdmUgdHZhcnUgc2V6bmFtdSAobcOtc3RvIG1hc2t5KSBwb3XFvsOtdsOhIGpha28gb2RkxJtsb3ZhxI0gxI3DoXJrdTpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUm96c2FoeSB2wqBzZXpuYW11IG1vaG91IG3DrXQgamFrbyBhcmd1bWVudCBrcm9rOlxuIgorIiAgICBuYXDFmS4gMC0zMToyIGplIHNob2Ruw6kgc8KgbWFza291IDB4NTU1NTU1NTVcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgInNlem5hbSBub3bDqSBhZmluaXR5IHByb2Nlc3UgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAic2V6bmFtIHNvdcSNYXNuw6kgYWZpbml0eSBwcm9jZXN1ICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAibWFza2Egbm92w6kgYWZpbml0eSBwcm9jZXN1ICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIm1hc2thIHNvdcSNYXNuw6kgYWZpbml0eSBwcm9jZXN1ICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJ2bml0xZluw60gY2h5YmE6IHDFmWV2b2QgesKgY3B1c2V0IG5hIMWZZXTEm3plYyBzZWxoYWwiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJhZmluaXR1IHByb2Nlc3UgJWQgc2UgbmVwb2RhxZlpbG8gbmFzdGF2aXQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6w61za2F0IGFmaW5pdHUgcHJvY2VzdSBzwqBQSUQgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzeXMtdXRpbHMvY2hjcHUuYzoyOTIKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJuZWx6ZSB6amlzdGl0IHBvxI1ldCBDUFUsIMSNaW5ub3N0IHVrb27EjWVuYSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJhbG9rYWNlIGNwdXNldF9hbGxvYyBzZWxoYWxhIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgInNlem5hbSBDUFUgc2UgbmV6ZGHFmWlsbyByb3plYnJhdDogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJtYXNrdSBDUFUgc2UgbmV6ZGHFmWlsbyByb3plYnJhdDogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiAlPFBSSXU2ND4gYmFqdMWvIG9kIHBvemljZSAlPFBSSXU2ND4gemFwbG7Em25vIG51bGFtaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6ICU8UFJJdTY0PiBiYWp0xa8gb2QgcG96aWNlICU8UFJJdTY0PiB6YWhvemVub1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICJaYWhvZMOtIG9ic2FoIHNla3RvcsWvIG5hIHphxZnDrXplbsOtLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIiCisiIC1vLCAtLW9mZnNldCA8xI3DrXNsbz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICBwb3ppY2UgdsKgYmFqdGVjaCwgb2Qga3RlcsOpIHphaMOhaml0IHphaGF6b3bDoW7DrVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbGVuZ3RoIDzEjcOtc2xvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgIHBvxI1ldCBiYWp0xa8gbmEgemFob3plbsOtIG9kIGRhbsOpIHBvemljZVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtcCwgLS1zdGVwIDzEjcOtc2xvPiAgdmVsaWtvc3Qgb3BlcmFjw60gemFob3plbsOtIHV2bml0xZkgcG96aWNlXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtcywgLS1zZWN1cmUgICAgICAgIHByb3ZlZGUgYmV6cGXEjW7DqSB6YWhvemVuw60gZGF0XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLXosIC0temVyb291dCAgICAgICBuYW3DrXN0byB6YWhvemVuw60gdnlwbG7DrSBudWxhbWlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgdnlww63FoWUgemFyb3ZuYW5vdSBkw6lsa3UgYSBwb3ppY2lcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5MQorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCB6YcSNw6F0ZWsgb2JsYXN0aSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAia3JvayBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAibmVvxI1la8OhdmFuw70gcG/EjWV0IGFyZ3VtZW50xa8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gQkxLR0VUU0laRTY0IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gQkxLU1NaR0VUIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogemHEjcOhdGVrICU8UFJJdTY0PiBuZW7DrSB6YXJvdm7DoW4gbmEgdmVsaWtvc3Qgc2VrdG9ydSAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzOiB6YcSNw6F0ZWsgamUgdsSbdMWhw60gbmXFviB2ZWxpa29zdCB6YcWZw616ZW7DrSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBkw6lsa2EgJTxQUkl1NjQ+IG5lbsOtIHphcm92bsOhbmEgbmEgdmVsaWtvc3Qgc2VrdG9ydSAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gQkxLWkVST09VVCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBJT0NUTCB2b2zDoW7DrSBCTEtTRUNESVNDQVJEIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IElPQ1RMIHZvbMOhbsOtIEJMS0RJU0NBUkQgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIlZ5cMOtxaFlIHrDs25vdsOpIMO6ZGFqZSBvwqB6YWRhbsOpbSB6YcWZw616ZW7DrSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3NAorbXNnaWQgIlJlc2V0IGEgcmFuZ2Ugb2Ygem9uZXMuIgorbXNnc3RyICJSZXNldHVqZSByb3pzYWggesOzbi4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gYmxrZGV2X2dldF9zZWN0b3JzIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTc3IHN5cy11dGlscy9ibGt6b25lLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZGV0ZXJtaW5lIHpvbmUgc2l6ZSIKK21zZ3N0ciAiJXM6IHZlbGlrb3N0IHrDs255IG5lbHplIHVyxI1pdCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFUE9SVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gQkxLUkVQT1JUWk9ORSBzZWxoYWxvIgorCisjIMKgVE9ETzogUGx1cmFsaXplCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIk5lbmFsZXplbm8gJWQgesOzbiBvZCAweCU8UFJJeDY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZW4gMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKK21zZ3N0ciAiICB6YcSNw6F0ZWs6IDB4JTA5PFBSSXg2ND4sIGTDqWxrYSAweCUwNjxQUkl4NjQ+LCB1a2F6YXRlbCB6w6FwaXN1OiAweCUwNjxQUkl4NjQ+LCByZXNldDogJXUgbmVzZWt2LjogJXUsIHN0YXY6ICUydSAoJXMpIFtkcnVoOiAldSAoJXMpXVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIlczogemHEjcOhdGVrICU8UFJJdTY0PiBuZW7DrSB6YXJvdm7DoW4gbmEgdmVsaWtvc3QgesOzbnkgJWx1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBwb8SNZXQgc2VrdG9yxa8gJTxQUkl1NjQ+IG5lbsOtIHphcm92bsOhbiBuYSB2ZWxpa29zdCB6w7NueSAlbHUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gQkxLUkVTRVRaT05FIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWNjZXNzZnVsbHkgcmVzZXQgaW4gcmFuZ2UgZnJvbSAlPFBSSXU2ND4sIHRvICU8UFJJdTY0PiIKK21zZ3N0ciAiJXM6IMO6c3DEm8WhbsSbIHJlc2V0b3bDoW5vIHbCoHJvenNhaHUgb2QgJTxQUkl1NjQ+IGRvICU8UFJJdTY0PiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIDxwxZnDrWthej4gW3DFmWVww61uYcSNZV0gPHphxZnDrXplbsOtPlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwMgorbXNnaWQgIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiU3B1c3TDrSB6w7Nub3bDvSBwxZnDrWtheiBuYSB6YWRhbsOpbSBibG9rb3bDqW0gemHFmcOtemVuw60uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxzZWt0b3I+ICBwcmFjdWplIG9kIHRvaG90byBzZWt0b3J1IHrDs255ICh2wqA1MTJiYWp0ZWNoIHNla3RvcmVjaClcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxzZWt0b3J5PiB6cHJhY3VqZSBtYXhpbXVtIHNla3RvcsWvICh2wqA1MTJiYWp0b3bDvWNoIHNla3RvcmVjaClcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgLWMsIC0tY291bnQgPHBvxI1ldD4gICAgbWF4aW3DoWxuw60gcG/EjWV0IHrDs25cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTIKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2eXBpc3VqZSB2w61jZSBwb2Ryb2Jub3N0w61cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IHZhbGlkIGNvbW1hbmQgbmFtZSIKK21zZ3N0ciAiJXMgbmVuw60gcGxhdG7DvW0gbsOhenZlbSBwxZnDrWthenUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiB6b25lcyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBwb8SNZXQgesOzbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgcG/EjWV0IHNla3RvcsWvIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCB6YcSNw6F0ZWsgesOzbnkiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzkxIHN5cy11dGlscy9zZXRzaWQuYzo5MgorbXNnaWQgIm5vIGNvbW1hbmQgc3BlY2lmaWVkIgorbXNnc3RyICJuZXphZMOhbiDFvsOhZG7DvSBwxZnDrWtheiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQ1BVICV1IG5lZXhpc3R1amUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiQ1BVICV1IG5lbsOtIHZ5bcSbbml0ZWxuw6kgemEgYsSbaHUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGppxb4gamUgemFwbnV0b1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGplIGppxb4gdnlwbnV0b1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJaYXBudXTDrSBDUFUgJXUgc2VsaGFsbyAoQ1BVIGplIG9kbmFzdGF2ZW5vKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJaYXBudXTDrSBDUFUgJXUgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSB6YXBudXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJWeXBudXTDrSBDUFUgJXUgc2VsaGFsbyAocG9zbGVkbsOtIHphcG51dMOpIENQVSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIlZ5cG51dMOtIENQVSAldSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSB2eXBudXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICJUZW50byBzeXN0w6ltIG5lcG9kcG9ydWplIG9wYWtvdmFuw6kgaGxlZMOhbsOtIENQVSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIlNwdcWhdMSbbsOtIGhsZWTDoW7DrSBDUFUgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICJIbGVkw6Fuw60gQ1BVIHNwdcWhdMSbbm9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIlRlbnRvIHN5c3TDqW0gbmVwb2Rwb3J1amUgbmFzdGF2b3bDoW7DrSByZcW+aW11IHJvemhvZG92w6Fuw60gQ1BVIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiU2VsaGFsbyBuYXN0YXZlbsOtIHZvZG9yb3Zuw6lobyByZcW+aW11IHJvemhvZG92w6Fuw60iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJWb2Rvcm92bsO9IHJlxb5pbSByb3pob2RvdsOhbsOtIMO6c3DEm8WhbsSbIG5hc3RhdmVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiU2VsaGFsbyBuYXN0YXZlbsOtIHN2aXNsw6lobyByZcW+aW11IHJvemhvZG92w6Fuw60iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiU3Zpc2zDvSByZcW+aW0gcm96aG9kb3bDoW7DrSDDunNwxJvFoW7EmyBuYXN0YXZlblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkNQVSAldSBuZW7DrSBuYXN0YXZpdGVsbsOpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgamUgamnFviBuYXN0YXZlbm9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgamUgamnFviBvZG5hc3RhdmVub1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICJPZG5hc3RhdmVuw60gQ1BVICV1IHNlbGhhbG8gKENQVSBqZSB6YXBudXRvKSIKKworIyBGSVg6IGNvbmZpZ3VyZSBpcyBhIHZlcmIsIHVzZSBjb25maWd1cmF0aW9uCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIk5hc3RhdmVuw60gQ1BVICV1IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgbmFzdGF2ZW5vXG4iCisKKyMgRklYOiBkZWNvbmZpZ3VyZSBpcyBhIHZlcmIsIHVzZSBkZWNvbmZpZ3VyYXRpb24KKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJPZG5hc3RhdmVuw60gQ1BVICV1IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBvZG5hc3RhdmVub1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAibmVwbGF0bsOpIMSNw61zbG8gQ1BVIHbCoHNlem5hbXUgQ1BVOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb3XFvml0w606XG4iCisiICVzIFtwxZllcMOtbmHEjWVdXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiTmFzdGF2w60gamVkbm90a3kgQ1BVIHZlIHbDrWNlcHJvY2Vzb3JvdsOpbSBzeXN0w6ltdS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ3Cittc2dpZCAiIgorIiAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZW5hYmxlIDxzZXpuYW1fQ1BVPiAgICAgICB6YXBuZSBDUFVcbiIKKyIgLWQsIC0tZGlzYWJsZSA8c2V6bmFtX0NQVT4gICAgICB2eXBuZSBDUFVcbiIKKyIgLWMsIC0tY29uZmlndXJlIDxzZXpuYW1fQ1BVPiAgICBuYXN0YXbDrSBDUFVcbiIKKyIgLWcsIC0tZGVjb25maWd1cmUgPHNlem5hbV9jcHU+ICBvZG5hc3RhdsOtIENQVVxuIgorIiAtcCwgLS1kaXNwYXRjaCA8cmXFvmltPiAgICAgICAgICBuYXN0YXbDrSByZcW+aW0gcm96aG9kb3bDoW7DrVxuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICAgIHNwdXN0w60gaGxlZMOhbsOtIENQVVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBhcmd1bWVudDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIkJsb2sgcGFtxJt0aSAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+4oCTMHglMDE2PFBSSXg2ND4pIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICJJbmRleCBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICJaYXBudXTDrSAlcyBzZWxoYWxvXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICJWeXBudXTDrSAlcyBzZWxoYWxvXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1NiBzeXMtdXRpbHMvY2htZW0uYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlZFxuIgorbXNnc3RyICIlcyB6YXBudXRvXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZWRcbiIKK21zZ3N0ciAiJXMgdnlwbnV0b1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICJCeWxvIG1vxb5uw6kgemFwbm91dCBqZW4gJXMgcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIkJ5bG8gbW/Fvm7DqSB2eXBub3V0IGplbiAlcyBwYW3Em3RpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIiVzIGplIGppxb4gemFwbnV0b1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICIlcyBqZSBqacW+IHZ5cG51dG9cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIlphcG51dMOtICVzIHNlbGhhbG86IG5lb2Rwb3bDrWTDoSB6w7NuYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJWeXBudXTDrSAlcyBzZWxoYWxvOiBuZW9kcG92w61kw6EgesOzbmEiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJaYXBudXTDrSAlcyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIlZ5cG51dMOtICVzIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI2NiBzeXMtdXRpbHMvbHNtZW0uYzo0NzYgc3lzLXV0aWxzL2xzbWVtLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICIlcyBuZWJ5bG8gbW/Fvm7DqSBwxZllxI3DrXN0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICLEjMOtc2xvIGJsb2t1IHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJWZWxpa29zdCBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiVmVsaWtvc3QgbXVzw60gYsO9dCB6YXJvdm7DoW5hIG5hIHZlbGlrb3N0IHBhbcSbxaVvdsO9Y2ggYmxva8WvICglcykiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiWmHEjcOhdGVrIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIktvbmVjIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAiTmVwbGF0bsO9IGZvcm3DoXQgcG/EjcOhdGXEjW7DrSBhZHJlc3k6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBlbmQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJOZXBsYXRuw70gZm9ybcOhdCBrb25jb3bDqSBhZHJlc3k6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAiUG/EjcOhdGXEjW7DrSBhZHJlc3Ugc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCBhZGRyZXNzIgorbXNnc3RyICJLb25jb3ZvdSBhZHJlc3Ugc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IGFkZHJlc3MgYW5kIChlbmQgYWRkcmVzcyArIDEpIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICJQb8SNw6F0ZcSNbsOtIGFkcmVzYSBhIChrb25jb3bDoSAr4oCvMSkgbXVzw60gYsO9dCB6YXJvdm7DoW5hIG5hIHZlbGlrb3N0IHBhbcSbxaVvdsOpaG8gYmxva3UgKCVzKSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiTmVwbGF0bsO9IHBhcmFtZXRyOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICJOZXBsYXRuw70gcm96c2FoOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1NJWkV8UkFOR0V8QkxPQ0tSQU5HRV1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFtWRUxJS09TVHxST1pTQUh8Uk9aU0FIX0JMT0vFrl1cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM3Cittc2dpZCAiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIKK21zZ3N0ciAiT3puYcSNw60gdXLEjWl0b3UgdmVsaWtvc3QgbmVibyByb3pzYWggcGFtxJt0aSBqYWtvIHDFmWlwb2plbsO9IG5lYm8gb2Rwb2plbsO9LlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC1lLCAtLWVuYWJsZSAgICAgICB6YXBuZSBwYW3Em8WlXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorbXNnaWQgIiAtZCwgLS1kaXNhYmxlICAgICAgZGlzYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC1kLCAtLWRpc2FibGUgICAgICB2eXBuZSBwYW3Em8WlXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorbXNnaWQgIiAtYiwgLS1ibG9ja3MgICAgICAgdXNlIG1lbW9yeSBibG9ja3NcbiIKK21zZ3N0ciAiIC1iLCAtLWJsb2NrcyAgICAgICBwb3XFvmlqZSBibG9reSBwYW3Em3RpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MworbXNnaWQgIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iCittc2dzdHIgIiAteiwgLS16b25lIDxuw6F6ZXY+IHZ5YmVyZSB6w7NudSBwYW3Em3RpICh2aXp0ZSBuw63FvmUpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICBwb2Ryb2Juw70gdsO9c3R1cFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDcKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIHpvbmVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9kcG9yb3ZhbsOpIHrDs255OlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICJ6w7NuYSBpZ25vcm92w6FuYSwgY2h5YsOtIHN5c2ZzIGF0cmlidXQgdmFsaWRfem9uZXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIKK21zZ3N0ciAibmV6bsOhbcOhIHrDs25hIHBhbcSbdGk6ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiTmFzdGF2w60gZnVua2NpIGtvbWJpbmFjZSBrbMOhdmVzIEN0cmwtQWx0LURlbC5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICJ2w71jaG96w60iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJuZW/EjWVrw6F2YW7DoSBob2Rub3RhIHbCoCVzOiAlanUiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJNdXPDrXRlIGLDvXQgcm9vdCwgYWJ5c3RlIG1vaGxpIG5hc3Rhdml0IGNob3bDoW7DrSBDdHJsLUFsdC1EZWwiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAibmV6bsOhbcO9IGFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJzeXN0w6ltIGplIG5lcG91xb5pdGVsbsO9IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiamUgdMWZZWJhIG9rYW3Fvml0w6kgcmVha2NlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICJrcml0aWNrw70gc3RhdiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiY2h5Ym92w70gc3RhdiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJzdGF2IHN0b2rDrWPDrSB6YSBwb3pvcm5vc3QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJixJvFvm7DoSwgYWxlIHbDvXpuYW1uw6EgdWTDoWxvc3QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgImluZm9ybWHEjW7DrSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgImxhZGljw60genByw6F2eSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMwCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJqYWRlcm7DqSB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAibsOhaG9kbsOpIHXFvml2YXRlbHNrw6kgenByw6F2eSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgInBvxaF0b3Zuw60gc3lzdMOpbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgInN5c3TDqW1vdsOtIGTDqW1vbmkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgImJlenBlxI1ub3N0bsOtL2F1dG9yaXphxI1uw60genByw6F2eSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAienByw6F2eSB2bml0xZluxJsgdnl0dm/FmWVuw6kgZMOpbW9uZW0gc3lzbG9nZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAidGlza292w70gcG9kc3lzdMOpbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAicG9kc3lzdMOpbSB1c2VuZXR1IChuZXdzKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgInBvZHN5c3TDqW0gVVVDUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICLEjWFzb3bDvSBkw6ltb24iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICJiZXpwZcSNbm9zdG7DrS9hdXRvcml6YcSNbsOtIHpwcsOhdnkgKHNvdWtyb23DqSkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgImTDqW1vbiBGVFAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICJab2JyYXrDrSBuZWJvIG92bMOhZMOhIGtydWhvdsO9IGphZGVybsO9IGJ1ZmZlci5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgdnlwcsOhemRuw60ga3J1aG92w70gYnVmZmVyIHbCoGrDoWTFmWVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBwxZllxI10ZSBhIHZ5cHLDoXpkbsOtIHpwcsOhdnlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICB2eXBuZSB2eXBpc292w6Fuw60genByw6F2IGRvIGtvbnpvbHlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIHphcG5lIHZ5cGlzb3bDoW7DrSB6cHLDoXYgZG8ga29uem9seVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8c291Ym9yPiAgICAgICAgIHBvdcW+aWplIHphZGFuw70gc291Ym9yIG3DrXN0byBqYWRlcm7DqWhvIGJ1ZmZlcnVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8c2V6bmFtPiAgICAgdsO9c3R1cCBvbWV6w60gbmEgemFkYW7DqSBvYm9yeVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIHbDvXN0dXAgxI1pdGVsbsO9IHBybyBsaWRpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICB6b2JyYXrDrSBqYWRlcm7DqSB6cHLDoXZ5XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08a2R5Pl0gICAgICAgICBvYmFydsOtIHpwcsOhdnkgKGF1dG8sIGFsd2F5cyBbdsW+ZHldLCBuZXZlciBbbmlrZHldXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8c2V6bmFtPiAgICAgICAgdsO9c3R1cCBvbWV6w60gbmEgemFkYW7DqSDDunJvdm7Em1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPMO6cm92ZcWIPiBuYXN0YXbDrSDDunJvdmXFiCB6cHLDoXYgdnlwaXNvdmFuw71jaCBkbyBrb256b2x5XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIHbDvXN0dXAgbmVvZGXFoWxlIHJvdXJvdSBkbyBzdHLDoW5rb3ZhxI1lXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICB2eXDDrcWhZSDEjWFzb3bDvSDDumRhaiBuYSBrYcW+ZMOpbSDFmcOhZGt1IHbDrWNlxZnDoWRrb3bDqVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgenByw6F2eVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSBidWZmZXIgenByw6F2IHbCoG5lb3ByYWNvdmFuw6kgcG9kb2LEm1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgdnludXTDrSBwb3XFvml0w60gc3lzbG9nKDIpIG3DrXN0byAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tYnVmZmVyLXNpemUgPHZlbGlrb3N0PiB2ZWxpa29zdCBidWZmZXJ1LCBuYSBrdGVyw70gc2UgemVwdGF0IGphZGVybsOpaG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrcnVob3bDqSBidWZmZXJ1XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICB2eXDDrcWhZSB6cHLDoXZ5IHrCoHXFvml2YXRlbHNrw6lobyBwcm9zdG9ydVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIMSNZWvDoSBuYSBub3bDqSB6cHLDoXZ5XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBvYm9yeSBhIMO6cm92bsSbIHDFmWV2ZWRlIG5hIMSNaXRlbG7DqSDFmWV0xJt6Y2VcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgdWvDocW+ZSDEjWFzb3bDqSByb3pkw61seSBtZXppIGhsw6HFoWthbWlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgdWvDocW+ZSBtw61zdG7DrSDEjWFzIGEgxI1hc292w70gcm96ZMOtbCB2wqDEjWl0ZWxuw6kgcG9kb2LEm1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTUKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiIKKyIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHVrw6HFvmUgxI1hc292w6kgw7pkYWplIHbCoMSNaXRlbG7DqSBwb2RvYsSbIChtxa/FvmUgYsO9dFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVwxZllc27DqSEpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBuZXVrYXp1amUgdcKgenByw6F2IMW+w6FkbsOtIMSNYXNvdsOpIMO6ZGFqZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTcKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybcOhdD4gIHpvYnJhenVqZSDEjWFzb3bDqSDDumRhamUgdsKgZGFuw6ltIGZvcm3DoXR1OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChyb3pkw61sLCByZWxhdGl2bsOtLCDEjWl0ZWxuw70sIMW+w6FkbsO9LCBJU08pXG4iCisiVXNww6Fuw60vcHJvYnV6ZW7DrSB6cMWvc29idWplIG5lcMWZZXNub3N0aSBwxZlpIGZvcm3DoXR1IGN0aW1lIGEgaXNvLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9kcG9yb3ZhbsOpIG9ib3J5IHByb3Rva29sdTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA4Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvZHBvcm92YW7DqSDDunJvdm7EmyAocHJpb3JpdHkpIHByb3Rva29sdTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IMO6cm92ZcWIIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICJuZXpuw6Ftw6Egw7pyb3ZlxYgg4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBvYm9yIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJuZXpuw6Ftw70gb2JvciDigJ4lcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAibmVsemUgbmFtYXBvdmF0IGRvIHBhbcSbdGk6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHZlbGlrb3N0aSBidWZmZXJ1IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDg4Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1zaG93LWRlbHRhIHNlIGlnbm9ydWplLCBqZS1saSBwb3XFvml0IGZvcm3DoXQgxI1hc3UgSVNPIDg2MDEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiLS1yYXcgbHplIHBvdcW+w610IHNwb2x1IHPCoC0tbGV2ZWwgbmVibyAtLWZhY2lsaXR5IHBvdXplIHDFmWkgxI10ZW7DrSB6cHLDoXYgesKgL2Rldi9rbXNnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAixI10ZW7DrSB6wqBqYWRlcm7DqWhvIGJ1ZmZlcnUgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBrbG9nY3RsIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbPHphxZnDrXplbsOtPnw8Ym9kX3DFmWlwb2plbsOtPl1cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM4Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICJWeXN1bmUgdsO9bcSbbm7DqSBtw6lkaXVtLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDEKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHphcG5lIChvbikgLyB2eXBuZSAob2ZmKSBhdXRvbWF0aWNrw6kgdnlzb3V2w6Fuw61cbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHBvemljZT4gIHZ5bcSbbsOtIGRpc2sgdiBDRC1ST00gbcSbbmnEjWlcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIHpvYnJhesOtIHbDvWNob3rDrSB6YcWZw616ZW7DrVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgdnlzdW5lIGRpc2tldHVcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIG5lc3RhcsOhIHNlIG/CoHR5cCB6YcWZw616ZW7DrVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgemFwbmUgKG9uKSAvIHZ5cG5lIChvZmYpIG9jaHJudSBwcm90aSBydcSNbsOtbXVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5c3VudXTDrVxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgbmVvZHBvasOtIHphxZnDrXplbsOtLCBpwqBrZHnFviBqZSBwxZlpcG9qZW5vXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBuZW9kcG9qw60gZGFsxaHDrSBvZGTDrWx5XG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBuZXZ5c3VudWplLCBqZW4gdWvDocW+ZSwgamVzdGxpIHphxZnDrXplbsOtIGV4aXN0dWplXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICBwb3XFvmlqZSAvcHJvYy9tb3VudHMgbcOtc3RvIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgdnlzdW5lIHDDoXNrdVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgdnlzdW5lIENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgdnlzdW5lIFNDU0kgemHFmcOtemVuw61cbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIHphdsWZZSBkdsOtxZlrYVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgem3Em27DrSBwb2xvaHUgZHbDrcWZZWtcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIHBvdm9sw60gcG9kcm9ibsOhIGhsw6HFoWVuw61cbiIKKyIgLXgsIC0tY2RzcGVlZCA8cnljaGxvc3QgICAgIG5hc3RhdsOtIG5lanZ5xaHFocOtIHJ5Y2hsb3N0IENELVJPTVxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgdnlww63FoWUgZG9zdHVwbsOpIHJ5Y2hsb3N0aSBDRC1ST01cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJKYWtvIHbDvWNob3rDrSBzZSB6a291xaHDrSAtciwgLXMsIC1mIGEgLXEgdsKgdG9tdG8gcG/FmWFkw60sIGRva3VkIG5ldXNwxJtqZS5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHDFmWVww61uYcSNZSAtLWNoYW5nZXJzbG90Ly1jIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwxZllcMOtbmHEjWUgLS1jZHNwZWVkLy14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicMWZw61rYXogcHJvIGF1dG9tYXRpY2vDqSB2eXN1bnV0w60gQ0QtUk9NIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJaYW15a8OhbsOtIGR2w63FmWVrIENELVJPTSBuZW7DrSBwb2Rwb3JvdsOhbm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJvc3RhdG7DrSB1xb5pdmF0ZWzDqSBtYWrDrSBqZWRub3RrdSBvdGV2xZllbm91IGEgbmUgQ0FQX1NZU19BRE1JTiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicMWZw61rYXogcHJvIHphbWtudXTDrSBkdsOtxZllayBDRC1ST00gc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJKZWRub3RrYSBDRCBORVNNw40gYsO9dCB6YSBwb21vY2kgdGxhxI3DrXRrYSB2eXN1bm92w6FuYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUwCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJKZWRub3RrYSBDRCBzbcOtIGLDvXQgemEgcG9tb2NpIHRsYcSNw610a2EgdnlzdW5vdsOhbmEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicMWZw61rYXogcHJvIHZvbGJ1IGRpc2t1IENELVJPTSBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicMWZw61rYXogcHJvIG5hxI10ZW7DrSBDRC1ST00gemUgesOhc29ibsOta3UgbcSbbmnEjWUgc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjcKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJ0b3RvIGrDoWRybyBuZXBvZHBvcnVqZSBJREUvQVRBUEkgQ0QtUk9NIG3Em25pxI1cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg1Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInDFmcOta2F6IHBybyB6YXbFmWVuw60gZHbDrcWZZWsgQ0QtUk9NIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg3Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgInRvdG8gasOhZHJvIG5lcG9kcG9ydWplIHDFmcOta2F6IHBybyB6YXbFmWVuw60gZHbDrcWZZWsgQ0QtUk9NXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAidnlzdW5vdsOhbsOtIENELVJPTSBuZW7DrSBwb2Rwb3JvdsOhbm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMiBzeXMtdXRpbHMvZWplY3QuYzo0NTUgc3lzLXV0aWxzL2VqZWN0LmM6MTAwNgorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicMWZw61rYXogcHJvIHZ5c3VudXTDrSBDRC1ST00gc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzUKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICLDumRhamUgb8KgQ0QtUk9NIG5lanNvdSBkb3N0dXBuw6kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIkplZG5vdGthIENELVJPTSBuZW7DrSBwxZlpcHJhdmVuYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicMWZw61rYXogcHJvIHZvbGJ1IHJ5Y2hsb3N0aSBDRC1ST00gc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAidG90byBqw6Fkcm8gbmVwb2Rwb3J1amUgcMWZw61rYXogcHJvIHZvbGJ1IHJ5Y2hsb3N0aSBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBjaHliYSBwxZlpIHZ5aGxlZMOhdsOhbsOtIG7DoXp2dSBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBzZSBwxZllxI3DrXN0IHJ5Y2hsb3N0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgcMWZZcSNw61zdCByeWNobG9zdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTgzCittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAibmVuw60gU0cgemHFmcOtemVuw61tLCBuZWJvIHNlIGplZG7DoSBvwqBzdGFyw70gU0cgb3ZsYWRhxI0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6IG9kcG9qdWplIHNlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAibmVsemUgcm96dsSbdHZpdCBwcm9jZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJvZHBvamVuw60g4oCeJXPigJwgbmVza29uxI1pbG8gbm9ybcOhbG7EmyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAib2Rwb2plbsOtIOKAniVz4oCcIHNlbGhhbG9cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJ0YWJ1bGt1IHDFmWlwb2plbsOtIHNlIG5lcG9kYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3ODYgc3lzLXV0aWxzL2VqZWN0LmM6ODg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlczogcMWZaXBvamVubyBkbyAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODI4Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAicnljaGxvc3QgQ0QtUk9NIHNlIG5hc3RhdnVqZSBuYSBhdXRvbWF0aWNrb3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJyeWNobG9zdCBDRC1ST00gc2UgbmFzdGF2dWplIG5hICVsZMOXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgInbDvWNob3rDrSB6YcWZw616ZW7DrTog4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJwb3XFvsOtdsOhIHNlIHbDvWNob3rDrSB6YcWZw616ZW7DrSDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzOiB6YcWZw616ZW7DrSBuZWx6ZSBuYWzDqXp0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAibsOhemV2IHphxZnDrXplbsOtIGplIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODkgc3lzLXV0aWxzL3Vtb3VudC5jOjMwOSBzeXMtdXRpbHMvdW1vdW50LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IG5lcMWZaXBvamVubyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogemHFmcOtemVuw60gZGlza3U6ICVzICh6YcWZw616ZW7DrSBkaXNrdSBzZSBwb3XFvmlqZSBwcm8gdnlzdW51dMOtKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXM6IG5lYnlsIG5hbGV6ZW4gYm9kIHDFmWlwb2plbsOtIG5lYm8gemHFmcOtemVuw60gc2UgemFkYW7DvW0gam3DqW5lbSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGplZG7DoSBzZSBvwqB6YcWZw616ZW7DrSBwxZllcyBjZWzDvSBkaXNrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5lbsOtIHphxZnDrXplbsOtbSwga3RlcsOpIGx6ZSB6YSBixJtodSB6YXBvaml0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgInphxZnDrXplbsOtIGplIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICJrb27EjcOtIHNlIG5hIHrDoWtsYWTEmyB2b2xieSAtbi8tLW5vb3AiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogcG92b2x1amUgcmXFvmltIGF1dG9tYXRpY2vDqWhvIHZ5c3VudXTDrSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogemFrYXp1amUgc2UgcmXFvmltIGF1dG9tYXRpY2vDqWhvIHZ5c3VudXTDrSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiB6YXbDrXJhasOtIHNlIGR2w63FmWthIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiBkdsOtxZlrYSBzZSBwxZllc3VudWrDrSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IHZ5cGlzdWrDrSBzZSByeWNobG9zdGkgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJjaHliYTogJXM6IHphxZnDrXplbsOtIHNlIHByw6F2xJsgcG91xb7DrXbDoSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXM6IHZvbMOtIHNlIENELVJPTSBkaXNrIMSNLuKAryVsZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogemtvdcWhw60gc2UgdnlzdW5vdXQgc8KgcG91xb5pdMOtbSBwxZnDrWthenUgcHJvIHZ5c3VudXTDrSBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgInDFmcOta2F6IHBybyB2eXN1bnV0w60gQ0QtUk9NIHVzcMSbbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiB6a291xaHDrSBzZSB2eXN1bm91dCBzIHBvdcW+aXTDrW0gcMWZw61rYXrFryBTQ1NJIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEyCittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgInDFmcOta2F6IFNDU0kgcHJvIHZ5c3VudXTDrSB1c3DEm2wiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAicMWZw61rYXogU0NTSSBwcm8gdnlzdW51dMOtIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogemtvdcWhw60gc2UgdnlzdW5vdXQgc8KgcG91xb5pdMOtbSBwxZnDrWthenUgcHJvIHZ5c3VudXTDrSBkaXNrZXR5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJwxZnDrWtheiBwcm8gdnlzdW51dMOtIGRpc2tldHkgdXNwxJtsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIwCittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwxZnDrWtheiBwcm8gdnlzdW51dMOtIGRpc2tldHkgc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiB6a291xaHDrSBzZSB2eXN1bm91dCBzwqBwb3XFvml0w61tIHDFmcOta2F6dSBwcm8gb2Rwb2plbsOtIHDDoXNreSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAicMWZw61rYXogcHJvIG9kcG9qZW7DrSBww6Fza3kgdXNwxJtsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI3Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwxZnDrWtheiBwcm8gb2Rwb2plbsOtIHDDoXNreSBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIm5lbHplIHZ5c3Vub3V0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8bsOhemV2X3NvdWJvcnU+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJSZXplcnZ1amUgbmVibyBydcWhw60gcmV6ZXJ2YWNpIG3DrXN0YSB2wqBzb3Vib3J1LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgLWMsIC0tY29sbGFwc2UtcmFuZ2Ugb2RzdHJhbsOtIHJvenNhaCB6ZSBzb3Vib3J1XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIG5hbGV6bmUgbnVseSBhIG5haHJhZMOtIGplIGTDrXJhbWlcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkyCittc2dpZCAiIC1pLCAtLWluc2VydC1yYW5nZSAgIGluc2VydCBhIGhvbGUgYXQgcmFuZ2UsIHNoaWZ0aW5nIGV4aXN0aW5nIGRhdGFcbiIKK21zZ3N0ciAiIC1pLCAtLWluc2VydC1yYW5nZSAgIHZsb8W+w60gZMOtcnUgZG8gcm96c2FodSwgZXhpc3R1asOtY8OtIGRhdGEgcG9zdW5lXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPMSNw61zbG8+IGTDqWxrYSByb3pzYWhvdsO9Y2ggb3BlcmFjw60gdsKgYmFqdGVjaFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIHVkcsW+dWplIHpkw6FubGl2b3UgdmVsaWtvc3Qgc291Ym9ydVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDzEjcOtc2xvPiBwb3ppY2UgcHJvIHJvenNhaG92w6kgb3BlcmFjZSB2wqBiYWp0ZWNoXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NgorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiAtcCwgLS1wdW5jaC1ob2xlICAgICBuYWhyYWTDrSByb3pzYWggZMOtcm91ICh6bmFtZW7DoSAtbilcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHZ5bnVsdWplIGEgemFqaXN0w60gYWxva2FjaSByb3pzYWh1XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiAteCwgLS1wb3NpeCAgICAgICAgICBwb3XFvmlqZSBwb3NpeF9mYWxsb2NhdGUoMykgbmFtw61zdG8gZmFsbG9jYXRlKDIpXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAidm9sw6Fuw60gZmFsbG9jYXRlIHNlbGhhbG86IHJlxb5pbSBuZW3Em25uw6kgdmVsaWtvc3RpIG5lbsOtIHBvZHBvcm92w6FuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxNDUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBmYWxsb2NhdGUgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiB2b2zDoW7DrSByZWFkIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJhanTFrykgcMWZZXZlZGVubyBuYSDFmcOtZGvDqSBkw61yeS5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1NAorbXNnaWQgInBvc2l4X2ZhbGxvY2F0ZSBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCIKK21zZ3N0ciAicG9kcG9yYSBwcm8gcG9zaXhfZmFsbG9jYXRlIG5lbsOtIHpha29tcGlsb3bDoW5hIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW4gbsOhemV2IHNvdWJvcnUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NgorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiemFkw6FuYSBuZXBsYXRuw6EgaG9kbm90YSBkw6lsa3kiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuZXphZMOhbiBhcmd1bWVudCBzwqBkw6lsa291IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJ6YWTDoW5hIG5lcGxhdG7DoSBob2Rub3RhIHBvemljZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3DFmWVww61uYcSNZV0gPHNvdWJvcj58PGFkcmVzw6HFmT4gPHDFmcOta2F6PiBbPGFyZ3VtZW50PuKApl1cbiIKKyIgJTEkcyBbcMWZZXDDrW5hxI1lXSA8c291Ym9yPnw8YWRyZXPDocWZPiAtYyA8cMWZw61rYXo+XG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gPMSNw61zbG8gZGVza3JpcHRvcnUgc291Ym9ydT5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIlNwcmF2dWplIHrDoW1reSBzb3Vib3LFryB6wqBzaGVsbG92w71jaCBza3JpcHTFry5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgesOtc2vDoSBzZMOtbGVuw70gesOhbWVrXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgesOtc2vDoSB2w71sdcSNbsO9IHrDoW1layAodsO9Y2hvesOtKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIG9kc3RyYW7DrSB6w6FtZWtcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIG3DrXN0byDEjWVrw6Fuw60gc2Vsxb5lXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPHNla3VuZHk+ICDEjWVrw6EgbmVqdsO9xaFlIHphZGFub3UgZG9idVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKyIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDzEjcOtc2xvPiAgIG7DoXZyYXRvdsO9IGvDs2QgcMWZaSBrb25mbGlrdHUgbmVib1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5cHLFoWVuw60gxI1hc292w6lobyBsaW1pdHVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIHDFmWVkIHNwdcWhdMSbbsOtbSBwxZnDrWthenUgdXphdsWZZSBkZXNrcmlwdG9yXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBzb3Vib3J1XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPHDFmcOta2F6PiAgIHNwdXN0w60gxZlldMSbemVjIGpha28gamVkaW7DvSBwxZnDrWtheiBzaGVsbHVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICB2eWtvbsOhIHDFmcOta2F6IGJleiB2b2zDoW7DrSBmb3JrXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICB6dsO9xaHDrSBwb2Ryb2Jub3N0IGhsw6HFoWVrXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgInNvdWJvciB6w6Fta3UgJXMgbmVsemUgb3RldsWZw610IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgImNoeWJuw6EgaG9kbm90YSDEjWFzb3bDqWhvIGxpbWl0dSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIm5lcGxhdG7DqSBuw6F2cmF0b3bDvSBrw7NkIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAicMWZZXDDrW5hxI1lIC0tbm8tZm9yayBhIC0tY2xvc2Ugc2UgdnlsdcSNdWrDrSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgInDFmWVww61uYcSNICVzIHZ5xb5hZHVqZSBwxZllc27EmyBqZWRlbiBwxZnDrWthem92w70gYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIsWhcGF0bsO9IGRlc2tyaXB0b3Igc291Ym9ydSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU4Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAidnnFvmFkdWplIGRlc2tyaXB0b3Igc291Ym9ydSwgc291Ym9yIG5lYm8gYWRyZXPDocWZIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgInrDoW1layBzZSBuZXBvZGHFmWlsbyB6w61za2F0IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgImLEm2hlbSDEjWVrw6Fuw60gbmEgesOhbWVrIHZ5cHLFoWVsIMSNYXNvdsO9IGxpbWl0IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzOiB6w61za8OhbsOtIHrDoW1rdSB0cnZhbG8gJWxkLCUwNmxkIHNla3VuZHlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6IHNwdcWhdMSbbsOtICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8Ym9kX3DFmWlwb2plbsOtPlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUG96YXN0YXbDrSBwxZnDrXN0dXAgbmEgc291Ym9yb3bDvSBzeXN0w6ltLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgIHptcmF6w60gc3lzdMOpbSBzb3Vib3LFr1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgcm96bXJhesOtIHN5c3TDqW0gc291Ym9yxa9cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA1Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAibmV6YWTDoW5vIGFuaSAtLWZyZWV6ZSBhbmkgLS11bmZyZWV6ZSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBuZW7DrSBhZHJlc8OhxZllbSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogem1yYXplbsOtIHNlIG5lemRhxZlpbG8iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogcm96bXJhemVuw60gc2UgbmV6ZGHFmWlsbyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBuZW7DrSBhZHJlc8OhxZllbSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogSU9DVEwgdm9sw6Fuw60gRklUUklNIHNlbGhhbG8iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIlczogJXMgKCU8UFJJdTY0PiBiYWp0xa8pIGJ5bCB6YWhvemVuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICIlcyBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPGJvZF9wxZlpcG9qZW7DrT5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiWmFob2TDrSBuZXBvdcW+w612YW7DqSBibG9reSBwxZlpcG9qZW7DqWhvIHNvdWJvcm92w6lobyBzeXN0w6ltdS5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICB1a2xpZMOtIHbFoWVjaG55IHDFmWlwb2plbsOpIHNvdWJvcm92w6kgc3lzdMOpbXksIGt0ZXLDqVxuIgorIiAgICAgICAgICAgICAgICAgICAgIHBvZHBvcnVqw60g4oCedHJpbeKAnFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vZmZzZXQgPMSNw61zbG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgcG96aWNlIHbCoGJhanRlY2gsIG9kIGt0ZXLDqSB6YWjDoWppdCB6YWhhem92w6Fuw61cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxlbmd0aCA8xI3DrXNsbz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICBwb8SNZXQgYmFqdMWvIG5hIHphaG96ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKyIgLW0sIC0tbWluaW11bSA8xI3DrXNsbz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICBuZWptZW7FocOtIGTDqWxrYSByb3pzYWh1IG5hIHphaG96ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICB2eXDDrcWhZSBwb8SNZXQgemFob3plbsO9Y2ggYmFqdMWvXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IGTDqWxrdSBuZWptZW7FocOtaG8gcm96c2FodSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuZXphZMOhbiDFvsOhZG7DvSBib2QgcMWZaXBvamVuw60iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlczogb3BlcmFjZSB6YWhvemVuw60gKGRpc2NhcmQpIG5lbsOtIHBvZHBvcm92w6FuYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJQxZllZHBva2zDoWTDoW0sIMW+ZSBob2RpbnkgcmXDoWxuw6lobyDEjWFzdSBqc291IG5hc3RhdmVueSBuYSAlcyDEjWFzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJtw61zdG7DrSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIlZhcm92w6Fuw606IG5lem7DoW3DvSBmb3Jtw6F0IHTFmWV0w61obyDFmcOhZGt1IHbCoHNvdWJvcnUgYWRqdGltZVxuIgorIihPxI1la8OhdsOhbm86IOKAnlVUQ+KAnCBuZWJvIOKAnkxPQ0FM4oCcIG5lYm8gbmljLikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiUG9zbGVkbsOtIG9wcmF2YSBwb3N1bnUgcHJvYsSbaGxhICVsZCBzZWt1bmQgb2Qgcm9rdSAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJQb3NsZWRuw60ga2FsaWJyYWNlIHByb2LEm2hsYSAlbGQgc2VrdW5kIG9kIHJva3UgMTk2OS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJIb2RpbnkgcmXDoWxuw6lobyDEjWFzdSBqc291IG5hc3RhdmVueSBuYSAlcyDEjWFzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIsSNZWvDoW0gbmEgdGlrIGhvZGlu4oCmXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAi4oCmc3luY2hyb25pemFjZSBzZSBuZXpkYcWZaWxhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIuKApmhvZGlueSB0aWtseVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICJIb2RpbnkgcmXDoWxuw6lobyDEjWFzdSBvYnNhaHVqw60gY2h5Ym7DqSBob2Rub3R5OiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJIb2RpbnkgcmXDoWxuw6lobyDEjWFzdTogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmQgb2Qgcm9rdSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkhvZGlueSByZcOhbG7DqWhvIMSNYXN1IHVrYXp1asOtICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiTmFzdGF2dWppIGhvZGlueSByZcOhbG7DqWhvIMSNYXN1IG5hICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VuZCBvZCByb2t1IDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIsSNYXMgc2tvxI1pbCB6cMSbdCBvwqAlLjZmIHNla3VuZCBuYSAlbGQsJTA2bGTCoOKAkyB6bm92dSBzZSB6YW3Em8WZdWplXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAidmVkbGUg4oCTICVsZC4lMDZsZCBqZSBwxZnDrWxpxaEgZGFsZWtvIHphICVsZCwlMDZsZCAoJS42ZiA+ICUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisiJWxkLCUwNmxkIGplIGRvc3QgYmzDrXprbyBrwqAlbGQsJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIk5hc3Rhdml0IFJUQyBuYSAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLCUwNmxkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgdG8gc2V0IHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCittc2dzdHIgIlZvbMOhIHNlIHNldHRpbWVvZmRheShOVUxMLCAlZCksIGFieSBzZSBuZXN0YXZpbG8gcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjgKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAwKSB0byBsb2NrIHRoZSB3YXJwIGZ1bmN0aW9uLiIKK21zZ3N0ciAiVm9sw6Egc2Ugc2V0dGltZW9mZGF5KE5VTEwsIDApLCBhYnkgc2UgemFta2xhIHVyeWNobHVqw61jw60gZnVua2NlICh3YXJwKS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIlZvbMOhIHNlIHNldHRpbWVvZmRheSglbGQuJTA2bGQsICVkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICJWb2zDoSBzZSBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpLCAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICJhYnkgc2UgbmFzdGF2aWxhIMSNYXNvdsOhIHrDs25hLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKK21zZ2lkICJ0byB3YXJwIFN5c3RlbSB0aW1lLiIKK21zZ3N0ciAiYWJ5IHNlIHVyeWNobGlsIHN5c3TDqW1vdsO9IMSNYXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY1NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0dGltZW9mZGF5KCkgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiTcOtcmEgcG9zdW51IHNlIG5lb3ByYXbDrSwgcHJvdG/FvmUgcMWZZXDDrW5hxI0gLS11cGRhdGUtZHJpZnQgbmVieWwgcG91xb5pdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJNw61yYSBwb3N1bnUgc2UgbmVvcHJhdsOtLCBwcm90b8W+ZSDEjWFzIHBvc2xlZG7DrSBrYWxpYnJhY2UgamUgbnVsYSwgdGFrxb5lXG4iCisiaGlzdG9yaWUgamUgbmVwb3XFvml0ZWxuw6EgYSBqZSBudXRuw6kgcHJvdsOpenQga2FsaWJyYWNpIHpub3Z1LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJNw61yYSBwb3N1bnUgc2UgbmVvcHJhdsOtLCBwcm90b8W+ZSBvZCBwb3NsZWRuw60ga2FsaWJyYWNlIGplxaF0xJsgbmV1cGx5bnVseSDEjXR5xZlpIGhvZGlueS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiU3lzdGVtYXRpY2vDvSBwb3N1biBob2RpbiBieWwgdnlwb8SNdGVuIG5hICVmIHNla3VuZC9kZW4uXG4iCisiVG8gamUgcMWZw61sacWhIG1ub2hvLiBOYXN0YXZ1amUgbmEgbnVsdS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiSG9kaW55IHNlIHphIHBvc2xlZG7DrWNoICUyJGYgc2VrdW5kIHJvemXFoWx5IG8gJTEkZiBzZWt1bmQsXG4iCisicMWZZXN0b8W+ZSBtw61yYSBwb3N1bnUgamUgbmFzdGF2ZW5hIG5hICUzJGYgc2VrdW5kL2Rlbi5cbiIKKyJNw61yYSBwb3N1bnUgc2Ugb3ByYXZ1amUgbmEgJTQkZiBzZWt1bmQvZGVuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIkRvYmEgb2QgcG9zbGVkbsOtIG9wcmF2eSBqZSAlbGQgc2VrdW5kYVxuIgorbXNnc3RyWzFdICJEb2JhIG9kIHBvc2xlZG7DrSBvcHJhdnkgamUgJWxkIHNla3VuZHlcbiIKK21zZ3N0clsyXSAiRG9iYSBvZCBwb3NsZWRuw60gb3ByYXZ5IGplICVsZCBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICJWeXBvxI10ZW7DvSBzeXN0ZW1hdGlja8O9IHBvc3VuIGhhcmR3YXJvdsO9Y2ggaG9kaW4gamUgJWxkLCUwNmxkIHNla3VuZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKyJOb3bDoSBkYXRhICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXBkYXRlICVzIgorbXNnc3RyICIlcyBuZWx6ZSBha3R1YWxpem92YXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIkhvZGlueSBuZWJ1ZG91IG5hc3RhdmVueSwgcHJvdG/FvmUgxI1hcyBwb3NsZWRuw61obyBwb3N1bnUgamUgbnVsYSwgdGFrxb5lIGhpc3RvcmllIGplIG5lcG91xb5pdGVsbsOhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIkhvZGlueSBuZWJ1ZG91IG5hc3RhdmVueSwgcHJvdG/FvmUgxI1pbml0ZWwgcm96Y2hvZHUgJWYgamUgcMWZw61sacWhIHZ5c29rw70uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIk5lYnlsbyBuYWxlemVubyDFvsOhZG7DqSBwb3XFvml0ZWxuw6kgcm96aHJhbsOtIGsgaG9kaW7DoW0uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg2Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICLFvcOhZG7DvW0gemUgem7DoW3DvWNoIHpwxa9zb2LFryBuZWx6ZSBwxZlpc3RvdXBpdCBrwqBob2RpbsOhbSByZcOhbG7DqWhvIMSNYXN1LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKK21zZ2lkICJVc2UgdGhlIC0tdmVyYm9zZSBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJQcm8gemppxaF0xJtuw60gcG9kcm9ibm9zdMOtIG/CoHDFmcOtc3R1cG92w71jaCBtZXRvZMOhY2ggcG91xb5panRlIHDFmWVww61uYcSNIC0tdmVyYm9zZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICJDw61sb3bDqSBkYXR1bTogICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAiUMWZZWRwb2tsw6FkYW7DvSDEjWFzIHbCoFJUQzogJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIsSMdGVuw60gUlRDIHZyw6F0aWxvIG5lcGxhdG5vdSBob2Rub3R1LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJQb3TFmWVibsOhIG9wcmF2YSBqZSBtZW7FocOtIG5lxb4gMSBzZWt1bmRhLCBwcm90byBob2RpbnkgbmVuYXN0YXZ1amkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorbXNnaWQgInVuYWJsZSB0byByZWFkIHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJuZWx6ZSBwxZllxI3DrXN0IGVwb2NodSBob2RpbiBSVEMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICJFcG9jaGEgaG9kaW4gUlRDIGplIG5hc3RhdmVuYSBuYSAlbHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICJwcm8gcMWZZXDDrW5hxI0gLS1zZXRlcG9jaCBqZSB2ecW+YWRvdsOhbiAtLWVwb2NoLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQzCittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiZXBvY2h1IGhvZGluIFJUQyBuZWx6ZSBuYXN0YXZpdC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgJXMgW2Z1bmtjZV0gW3DFmWVww61uYcSN4oCmXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiTsOhc3Ryb2ogcHJvIGhvZGlueSBhIMSNYXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjMKK21zZ2lkICIgLXIsIC0tc2hvdyAgICAgICAgICAgZGlzcGxheSB0aGUgUlRDIHRpbWUiCittc2dzdHIgIiAtciwgLS1zaG93ICAgICAgICAgICB6b2JyYXrDrSDEjWFzIHbCoFJUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY0Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICIgICAgIC0tZ2V0ICAgICAgICAgICAgem9icmF6w60gxI1hcyB2wqBSVEMgb3ByYXZlbsO9IG/CoHN5c3RlbWF0aWNrw70gcG9zdW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgICAgIC0tc2V0ICAgICAgICAgICAgbmFzdGF2w60gUlRDIHBvZGxlIC0tZGF0ZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY2Cittc2dpZCAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgUlRDIgorbXNnc3RyICIgLXMsIC0taGN0b3N5cyAgICAgICAgbmFzdGF2w60gc3lzdMOpbW92w70gxI1hcyBwb2RsZSBob2RpbiBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NworbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiIC13LCAtLXN5c3RvaGMgICAgICAgIG5hc3RhdsOtIGhvZGlueSBSVEMgcG9kbGUgc3lzdMOpbW92w6lobyDEjWFzdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY4Cittc2dpZCAiICAgICAtLXN5c3R6ICAgICAgICAgIHNlbmQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb25zIHRvIHRoZSBrZXJuZWwiCittc2dzdHIgIiAgICAgLS1zeXN0eiAgICAgICAgICBvZGXFoWxlIGRvIGrDoWRyYSBrb25maWd1cmFjaSDEjWFzb3bDqSB6w7NueSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY5Cittc2dpZCAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQiCittc2dzdHIgIiAtYSwgLS1hZGp1c3QgICAgICAgICBvcHJhdsOtIFJUQyBvwqBzeXN0ZW1hdGlja8O9IHBvc3VuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKK21zZ2lkICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZGlzcGxheSB0aGUgUlRDIGVwb2NoIgorbXNnc3RyICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgem9icmF6w60gZXBvY2h1IGhvZGluIFJUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIgICAgIC0tc2V0ZXBvY2ggICAgICAgbmFzdGF2w60gZXBvY2h1IGhvZGluIFJUQ+KAr3BvZGxlIC0tZXBvY2giCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwxZllZHBvdsOtIHBvc3VudXTDvSDEjWFzIHbCoFJUQyBwb2RsZSAtLWRhdGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICBob2RpbnkgUlRDIGLEm8W+w60gdsKgVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiAtbCwgLS1sb2NhbHRpbWUgICAgICBob2RpbnkgUlRDIGLEm8W+w60gdsKgbcOtc3Ruw60gxI1hc292w6kgesOzbsSbIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAtZiwgLS1ydGMgPHNvdWJvcj4gICBwb3XFvmlqZSB6YWRhbsO9IHNvdWJvciBtw61zdG8gJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzZSB0aGUgSVNBIGJ1cyBpbnN0ZWFkIG9mICUxJHMgYWNjZXNzXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3Rpc2EgICAgICBwb3XFvmlqZSBzYsSbcm5pY2kgSVNBIG5hbcOtc3RvIHDFmcOtc3R1cHUgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIgICAgIC0tZGF0ZSA8xI1hcz4gICAgIHZzdHVwIMSNYXN1L2RhdGEgcHJvIC0tc2V0IGEgLS1wcmVkaWN0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKK21zZ2lkICIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giCittc2dzdHIgIiAgICAgLS1lcG9jaCA8cm9rPiAgICB1csSNdWplIGVwb2NodSBwcm8gLS1zZXRlcG9jaCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIGFrdHVhbGl6dWplIMSNaW5pdGVsIHN5c3RlbWF0aWNrw6lobyBwb3N1bnUgaG9kaW4gUlRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgIC0tbm9hZGpmaWxlICAgICAgbmVwb3XFvmlqZSAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1hZGpmaWxlIDxzb3Vib3I+XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHBvdcW+aWplIHphZGFuw70gc291Ym9yIG3DrXN0byAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworbXNnaWQgIiAgICAgLS10ZXN0ICAgICAgICAgICBkcnkgcnVuOyBpbXBsaWVzIC0tdmVyYm9zZSIKK21zZ3N0ciAiICAgICAtLXRlc3QgICAgICAgICAgIG5pYyBuZW5hc3RhdsOtLCB6YXBuZSAtLXZlcmJvc2UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZ5cGlzdWplIHbDrWNlIHBvZHJvYm5vc3TDrSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICJOZWx6ZSBzZSBwxZlpcG9qaXQga2Uga29udHJvbG7DrW11IHN5c3TDqW11IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJwb3XFvmlqZSAtLXZlcmJvc2UsIHDFmWVww61uYcSNIC0tZGVidWcgamUgemFzdGFyYWzDvS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgIiVkIHDFmcOtbGnFoSBtbm9obyBhcmd1bWVudMWvIHphZMOhbm8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS11cGRhdGUtZHJpZnQgdnnFvmFkdWplIC0tc2V0IG5lYm8gLS1zeXN0b2hjIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiU291xI1hc27EmyBzwqAtLW5vYWRqZmlsZSBtdXPDrXRlIHBvdcW+w610IGJ1xI8gLS11dGMsIG5lYm8gLS1sb2NhbHRpbWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICJwcm8gcMWZZXDDrW5hxI1lIC0tc2V0IG5lYm8gLS1wcmVkaWN0IGplIHZ5xb5hZG92w6FuIC0tZGF0ZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJuZXBsYXRuw6kgZGF0dW0g4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gVGltZTogJWxkLiUwNmxkXG4iCittc2dzdHIgIlN5c3TDqW1vdsO9IMSNYXM6ICVsZCwlMDZsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICJaa3XFoWVibsOtIHJlxb5pbTogbmljZSBuZWJ5bG8gbmV6bcSbbsSbbm8uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAicMWZw61zdHVwIGvCoHBvcnR1IElTQSBuZW7DrSBpbXBsZW1lbnRvdsOhbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5MQorbXNnaWQgImlvcGwoKSBwb3J0IGFjY2VzcyBmYWlsZWQiCittc2dzdHIgInDFmcOtc3R1cCBrwqBwb3J0dSBwb21vY8OtIGlvcGwoKSBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTcKK21zZ2lkICJVc2luZyBkaXJlY3QgSVNBIGFjY2VzcyB0byB0aGUgY2xvY2siCittc2dzdHIgIkvCoGhvZGluw6FtIHNlIHDFmWlzdG91cMOtIHDFmcOtbW8gcMWZZXMgc2LEm3JuaWNpIElTQSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICJaa291xaHDrSBzZSBvdGV2xZnDrXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKK21zZ2lkICJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIgorbXNnc3RyICJ6YcWZw616ZW7DrSBSVEPigK9uZWx6ZSBvdGV2xZnDrXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgIsSNYXMgc2UgcG9tb2PDrSB2b2zDoW7DrSBpb2N0bCglcykgbmFkICVzIG5lcG9kYcWZaWxvIHpqaXN0aXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAixIxla8OhbSB2ZSBzbXnEjWNlIG5hIHptxJtudSDEjWFzdSB6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIlbCoMSNYXNvdsOpbSBsaW1pdHUgc2UgbmVwb2RhxZlpbG8gem3Em25pdCDEjWFzLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJwb21vY8OtIHZvbMOhbsOtIHNlbGVjdCgpIG5hZCAlcyBzZSBuZWJ5bG8gbW/Fvm7DqSB0aWt1IGhvZGluIGRvxI1rYXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAixIxla8OhbsOtIG5hIHRpayBob2RpbiBwb21vY8OtIHNlbGVjdCgpIG5hZCAlcyBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiT2Jub3ZvdmFjw60gcMWZZXJ1xaFlbsOtIG5lbHplIHZ5cG5vdXQgLSB2b2zDoW7DrSBpb2N0bCgpIHBybyAlcyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIG5hZCAlcyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgIk5hc3RhdmVuw60gxI1hc3UgcG9tb2PDrSB2b2zDoW7DrSBpb2N0bCglcykgbmFkICVzIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgIlZvbMOhbsOtIGlvY3RsKCVzKSBieWxvIMO6c3DEm8WhbsOpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKK21zZ2lkICJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICJVwqBob2RpbiBzZSBwb3XFvmlqZSByb3pocmFuw60gUlRDLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJ2b2zDoW7DrSBpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIG5hZCAlcyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIlZvbMOhbsOtIGlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgbmFkICVzIHVzcMSbbG8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGVwb2NoICclcycuIgorbXNnc3RyICJuZXBsYXRuw6EgZXBvY2hhIOKAniVz4oCcLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgbmFkICVzIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIlZvbMOhbsOtIGlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIG5hZCAlcyB1c3DEm2xvLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIlZ5dHZvxZnDrSByb3psacSNbsOpIHpkcm9qZSBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8dmVsaWtvc3Q+ICAgdnl0dm/FmcOtIHNkw61sZW7DvSBwYW3Em8Wlb3bDvSBzZWdtZW50IG/CoGRhbsOpIDx2ZWxpa29zdGk+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8cG/EjWV0PiAgdnl0dm/FmcOtIHBvbGUgc2VtYWZvcnUgc8KgPHBvxI10ZW0+IHBydmvFr1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICB2eXR2b8WZw60gZnJvbnR1IHpwcsOhdlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiAtcCwgLS1tb2RlIDxtw7NkPiAgICAgICAgIHByw6F2YSBwcm8gemRyb2ogKHbDvWNob3rDrSBqc291IDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJ2ZWxpa29zdCBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImVsZW1lbnR5IHNlIG5lcG9kYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugdnl0dm/FmWl0IHNkw61sZW5vdSBwYW3Em8WlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiSUQgc2TDrWxlbsOpIHBhbcSbdGk6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugdnl0dm/FmWl0IGZyb250dSB6cHLDoXYiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJJRCBmcm9udHkgenByw6F2OiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2Ugdnl0dm/FmWl0IHNlbWFmb3IiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIklEIHNlbWFmb3J1OiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW3DFmWVww61uYcSNZV1cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8SUQ+4oCmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiT2RzdHJhbsOtIHVyxI1pdMOpIElQQ+KAr3pkcm9qZS5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPElEPiAgICAgICAgb2RzdHJhbsOtIHNkw61sZW7DvSBwYW3Em8Wlb3bDvSBzZWdtZW50IHBvZGxlwqBJRFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxrbMOtxI0+ICAgICBvZHN0cmFuw60gc2TDrWxlbsO9IHBhbcSbxaVvdsO9IHNlZ21lbnQgcG9kbGUga2zDrcSNZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPElEPiAgICAgICAgb2RzdHJhbsOtIGZyb250dSB6cHLDoXYgcG9kbGUgSURcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPGtsw63EjT4gICAgIG9kc3RyYW7DrSBmcm9udHUgenByw6F2IHBvZGxlIGtsw63EjWVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDxJRD4gICAgb2RzdHJhbsOtIHNlbWFmb3IgcG9kbGUgSURcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtsw63EjT4gb2RzdHJhbsOtIHNlbWFmb3IgcG9kbGUga2zDrcSNZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz08c2htfG1zZ3xzZW0+XSAgb2RzdHJhbsOtIHbFoWUgKHNlZ21lbnQsIGZyb250dSB6cHLDoXYsIHNlbWFmb3IpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICB2eXN2xJt0bMOtLCBjbyBzZSBkxJtqZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJvZHN0cmHFiHVqZSBzZSBzZWdtZW50dSBzZMOtbGVuw6kgcGFtxJt0aSBzwqBJRCDigJ4lZOKAnFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAib2RzdHJhxYh1amUgc2UgZnJvbnRhIHpwcsOhdiBzwqBJRCDigJ4lZOKAnFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJvZHN0cmHFiHVqZSBzZSBzZW1hZm9yIHPCoElEIOKAniVk4oCcXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJwcm8gZGFuw70ga2zDrcSNIHDFmcOtc3R1cCBvZG3DrXRudXQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAicHJvIGRhbsOpIGlkIHDFmcOtc3R1cCBvZG3DrXRudXQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAibmVwbGF0bsO9IGtsw63EjSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAibmVwbGF0bsOpIGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiamnFviBvZHN0cmFuxJtuw70ga2zDrcSNIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImppxb4gb2RzdHJhbsSbbsOpIElEIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAia2zDrcSNIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJJRCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIm5lcGxhdG7DqSBJRDogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgInByb3N0xZllZGt5IHNtYXrDoW55XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJuZWRvdm9sZW7DvSBrbMOtxI0gKCVzKSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJqw6Fkcm8gbmVwb2Rwb3J1amUgc2TDrWxlbm91IHBhbcSbxaUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAiasOhZHJvIG5lcG9kcG9ydWplIHNlbWFmb3J5IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJqw6Fkcm8gbmVwb2Rwb3J1amUgZnJvbnR5IHpwcsOhdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3DFmWVww61uYcSNX3Byb3N0xZllZGt14oCmXSBbcMWZZXDDrW5hxI1fdsO9c3R1cHVdXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPElEPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3IHN5cy11dGlscy9sc2lwYy5jOjI4MQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIlBvc2t5dHVqZSBpbmZvcm1hY2Ugb8KgcHJvc3TFmWVkY8OtY2ggSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8SUQ+ICB6b2JyYXrDrSBwb2Ryb2Jub3N0aSBvIHByb3N0xZllZGt1IHVyxI1lbsOpbSBkbGUgSURcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJQxZllcMOtbmHEjWUgcHJvc3TFmWVka8WvOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICBzZMOtbGVuw6kgc2VnbWVudHkgcGFtxJt0aVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAgZnJvbnR5IHpwcsOhdlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hZm9yeVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIHbFoWUgKHbDvWNob3rDrSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICJQxZllcMOtbmHEjWUgdsO9c3R1cHU6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICB6b2JyYXrDrSDEjWFzeSBwxZlpcG9qZW7DrSwgb2Rwb2plbsOtIGEgem3Em255XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIHpvYnJhesOtIFBJRCB0dsWvcmNlIGEgcG9zbGVkbsOtIG9wZXLDoXRvcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICB6b2JyYXrDrSB0dsWvcmNlIGEgdmxhc3Ruw61rYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICB6b2JyYXrDrSBvbWV6ZW7DrSB6ZHJvasWvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAgem9icmF6w60gc291aHJuIHN0YXbFr1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICB2ZWxpa29zdGkgem9icmF6w60gdsKgcG9kb2LEmyDEjWl0ZWxuw6kgcHJvIMSNbG92xJtrYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIHZlbGlrb3N0aSB6b2JyYXrDrSB2wqBiYWp0ZWNoXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgImplLWxpIHBvdcW+aXRvIElELCBtdXPDrSBiw710IHVyxI1lbiBqZWRpbsO9IHByb3N0xZllZGVrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAib21lemVuw60gcHJvIHNkw61sZW5vdSBwYW3Em8WlIG5lbHplIHrDrXNrYXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBPbWV6ZW7DrSBwcm8gc2TDrWxlbm91IHBhbcSbxaUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJtYXhpbcOhbG7DrSBwb8SNZXQgc2VnbWVudMWvID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjEwCittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJtYXhpbcOhbG7DrSB2ZWxpa29zdCBzZWdtZW50dSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiY2Vsa292w6kgbWF4aW11bSBwcm8gc2TDrWxlbm91IHBhbcSbxaUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjIwCittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJtaW5pbcOhbG7DrSB2ZWxpa29zdCBzZWdtZW50dSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImrDoWRybyBuZXBvZHBvcnVqZSBzZMOtbGVub3UgcGFtxJvFpVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFN0YXYgc2TDrWxlbsOpIHBhbcSbdGkgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisiYWxva292w6FubyBzZWdtZW50xa8gICAlZFxuIgorImFsb2tvdsOhbm8gc3Ryw6FuZWsgICAgJWxkXG4iCisicmV6aWRlbnRuw61jaCBzdHLDoW5layAlbGRcbiIKKyJvZGxvxb5lbsO9Y2ggc3Ryw6FuZWsgICAlbGRcbiIKKyLDusSNaW5ub3N0IG9ka2zDoWTDoW7DrTogICVsZCBwb2t1c8WvXHQgJWxkIMO6c3DEm8WhbsO9Y2hcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFR2xa9yY2kvdmxhc3Ruw61jaSBzZWdtZW50xa8gc2TDrWxlbsOpIHBhbcSbdGkgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgInByw6F2YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDEjGFzeSBwxZlpcG9qZW7DrS9vZHBvamVuw60vem3Em255IHBybyBzZMOtbGVub3UgcGFtxJvFpSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjI4NgorIzogc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAib3duZXIiCittc2dzdHIgInZsYXN0bsOtayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAicMWZaXBvamVuw60iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIm9kcG9qZW7DrSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJ6bcSbbmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUdsWvcmNlIHNkw61sZW7DqSBwYW3Em3RpL1BJRCBwb3NsZWRuw60gb3BlcmFjZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlZ21lbnR5IHNkw61sZW7DqSBwYW3Em3RpIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAia2V5IgorbXNnc3RyICJrbMOtxI0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAidmVsaWtvc3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJhanR5IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAic3RhdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiTmVuYXN0YXZlbm8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICJjw61sIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAiemFtxI1lbm8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgIm9tZXplbsOtIHBybyBzZW1hZm9yeSBzZSBuZXBvZGHFmWlsbyB6w61za2F0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLU9tZXplbsOtIHBybyBzZW1hZm9yeSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCBwb2zDrSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCBzZW1hZm9yxa8gdiBwb2xpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJjZWxrb3bDvSBtYXhpbcOhbG7DrSBwb8SNZXQgc2VtYWZvcsWvID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCBvcGVyYWPDrSBuYSBqZWRubyBzZW1vcCB2b2zDoW7DrSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJtYXhpbcOhbG7DrSBob2Rub3RhIHNlbWFmb3J1ID0gJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgImrDoWRybyBuZXBvZHBvcnVqZSBzZW1hZm9yeVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU3RhdiBzZW1hZm9ydSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgInBvdcW+aXTDoSBwb2xlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJhbG9rb3ZhbsOpIHNlbWFmb3J5ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUdsWvcmNpL3ZsYXN0bsOtY2kgcG9sw60gc2VtYWZvcsWvIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMSMYXN5IG9wZXJhY2Uvem3Em255IHNlbWFmb3J1IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAicG9zbGVkbsOtIG9wZXJhY2UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJwb3NsZWRuw60gem3Em25hIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUG9sZSBzZW1hZm9yxa8gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJvbWV6ZW7DrSB6cHLDoXYgc2UgbmVwb2RhxZlpbG8gesOtc2thdFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBPbWV6ZW7DrSB6cHLDoXYgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgImNlbGtvdsO9IG1heGltw6FsbsOtIHBvxI1ldCBmcm9udCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAibWF4aW3DoWxuw60gdmVsaWtvc3QgenByw6F2eSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJ2w71jaG96w60gbWF4aW3DoWxuw60gdmVsaWtvc3QgZnJvbnR5IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgImrDoWRybyBuZXBvZHBvcnVqZSBmcm9udHkgenByw6F2XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFN0YXYgenByw6F2IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJhbG9rb3ZhbsOpIGZyb250eSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgInBvdcW+aXTDqSBobGF2acSNa3kgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OAorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgInBvdcW+aXTDvSBwcm9zdG9yIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIgQlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUdsWvcmNpL3ZsYXN0bsOtY2kgZnJvbnQgenByw6F2IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMSMYXN5IG9kZXNsw6Fuw60ucMWZw61jaG9kdS96bcSbbnkgcHJvIGZyb250eSB6cHLDoXYgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICJvZGVzbMOhbsOtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgInDFmcOtamVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiem3Em25hIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUElEIHBybyBmcm9udHkgenByw6F2IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBGcm9udHkgenByw6F2IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAidcW+aXTDqSBiYWp0eSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAienByw6F2eSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiaWRlbnRpZmlrw6F0b3IgJWQgbmVuYWxlemVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJzaG1pZCBzZWdtZW50dSBzZMOtbGVuw6kgcGFtxJt0aSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm3Ds2Q9JSNvXHRwxZnDrXN0dXBvdsOhIHByw6F2YT0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAidmVsaWtvc3Q9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYmFqdHk9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAicMWZaXBval/EjWFzPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIm9kcG9qX8SNYXM9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAixI1hc196bcSbbnk9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIm1zZ2lkIGZyb250eSB6cHLDoXY9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtw7NkPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3NpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJxc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIsSNYXMgb2Rlc2zDoW7DrT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLEjWFzIHDFmcOtam11PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorInNlbWlkIHBvbGUgc2VtYWZvcsWvID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibcOzZD0lI28sIHDFmcOtc3R1cG92w6EgcHLDoXZhPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIsSNYXMgcG9zbGVkbsOtIG9wZXJhY2UgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIsSNYXMgem3Em255ID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAiaG9kbm90YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJuY291bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgInpjb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgInBpZCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIlDFmcOta2F6ICVzIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChiYWp0eSkgPSAiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGtpbG9iYWp0eSkgPSAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgIm5lcGxhdG7DvSBpZmxhZyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPGRpc2NpcGzDrW5hX2xpbmt5PiA8emHFmcOtemVuw60+XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICJQxZlpcG9qw60gbGlua292b3UgZGlzY2lwbMOtbnUga8Kgc8OpcmlvdsOpIGxpbmNlLlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHZ5cGlzdWplIHBvZHJvYm7DqSB6cHLDoXZ5IG5hIGNoeWJvdsO9IHbDvXN0dXBcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPGhvZG5vdGE+ICAgbmFzdGF2w60gcnljaGxvc3Qgc8OpcmlvdsOpIGxpbmt5XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKyIgLWMsIC0taW50cm8tY29tbWFuZCA8xZlldMSbemVjPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBvZGXFoWxlIMO6dm9kbsOtIMWZZXTEm3plYyBwxZllZCBwxZlpcG9qZW7DrW0gbGlua3lcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8c2VrdW5keT4gICBwYXV6YSBtZXppIMO6dm9kbsOtbSDFmWV0xJt6Y2VtIGEgcMWZaXBvamVuw61tXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBuYXN0YXbDrSB2ZWxpa29zdCB6bmFrdSBuYSA3IGJpdMWvXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBuYXN0YXbDrSB2ZWxpa29zdCB6bmFrdSBuYSA4IGJpdMWvXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIG5hc3RhdsOtIHBhcml0dSBuYSDFvsOhZG5vdVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBuYXN0YXbDrSBwYXJpdHUgbmEgc3Vkb3VcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE0Cittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBuYXN0YXbDrSBwYXJpdHUgbmEgbGljaG91XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgbmFzdGF2w60gc3RvcC1iaXR5IG5hIGplZGVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgbmFzdGF2w60gc3RvcC1iaXR5IG5hIGR2YVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTcKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgbmFzdGF2w60gcMWZw616bmFrIHJlxb5pbXUgdnN0dXB1XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiWm7DoW3DoSBqbcOpbmEgPGxpbmtvdsOpX2Rpc2NpcGzDrW55PjpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJabsOhbcOhIGptw6luYSA8aWZsYWc+OlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDQKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcnljaGxvc3RpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcGF1enkiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3NAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgZGlzY2lwbMOtbnkgbGlua3kiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgbmVuw60gc8Opcmlvdm91IGxpbmtvdSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm5lbHplIHpqaXN0aXQgdmxhc3Rub3N0aSB0ZXJtaW7DoWx1ICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgInJ5Y2hsb3N0ICVkIG5lcG9kcG9yb3bDoW5hIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAidmxhc3Rub3N0aSB0ZXJtaW7DoWx1ICVzIG5lbHplIG5hc3Rhdml0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgImRvICVzIG5lbHplIHphcHNhdCDDunZvZG7DrSBwxZnDrWtheiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgImRpc2NpcGzDrW51IGxpbmt5IG5lbHplIG5hc3Rhdml0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJuZWx6ZSBzZSBkw6ltb25pem92YXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgInDFmcOtem5hayBhdXRvbWF0aWNrw6lobyDDumtsaWR1IG5hc3RhdmVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAic291Ym9yIHBvZCB6YcWZw616ZW7DrW0iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICLEjcOtc2xvIGktdXpsdSBzb3Vib3J1IHBvZCB6YcWZw616ZW7DrW0iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiaGxhdm7DrTp2ZWRsZWrFocOtIMSNw61zbG8gemHFmcOtemVuw60sIGtkZSBqZSBwb2RrbGFkb3bDvSBzb3Vib3IiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJuw6F6ZXYgbG9vcCB6YcWZw616ZW7DrSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgInBvemljZSBvZMKgemHEjcOhdGt1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgInDFmcOtem5hayBobGVkw6Fuw60gb2Rkw61sxa8gbmFzdGF2ZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJvbWV6ZW7DrSB2ZWxpa29zdGkgc291Ym9ydSB2wqBiYWp0ZWNoIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICJobGF2bsOtOnZlZGxlasWhw60gxI3DrXNsbyBsb29wIHphxZnDrXplbsOtIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAicMWZaXN0dXBvdmF0IGvCoHNvdWJvcnUgcG9kIHphxZnDrXplbsOtbSBwxZnDrW3DvW0gSS9PIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAidmVsaWtvc3QgbG9naWNrw6lobyBzZWt0b3J1IHbCoGJhanRlY2giCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBvZHNhemVuw60gJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgdmVsaWtvc3Ruw60gbGltaXQgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIMWhaWZyb3bDoW7DrSAlcyAodHlwICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBvZHBvamVuw60gc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIFs8bG9vcF96YcWZw616ZW7DrT5dXG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gLWYgfCA8bG9vcF96YcWZw616ZW7DrT4gPHNvdWJvcj5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICJOYXN0YXbDrSBhIG92bMOhZMOhIGxvb3AgemHFmcOtemVuw60uXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgdsWhZWNobmEgcG91xb7DrXZhbsOhIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZGV0YWNoIDxsb29wX3phxZnDrXplbsOtPuKAplxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZHBvasOtIGplZG5vIG5lYm8gdsOtY2UgemHFmcOtemVuw61cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIG9kcG9qw60gdsWhZWNobmEgcG91xb7DrXZhbsOhIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgbmFqZGUgcHJ2bsOtIG5lcG91xb5pdMOpIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA2Cittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wX3phxZnDrXplbsOtPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6bcSbbsOtIHZlbGlrb3N0IHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgLWosIC0tYXNzb2NpYXRlZCA8c291Ym9yPiAgICAgdnlww63FoWUgdsWhZWNobmEgemHFmcOtemVuw60gc3BvamVuw6Egc2UgPHNvdWJvcmVtPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIHphYnLDoW7DrSBtb8W+bsO9bSBzcG9yxa9tIG1lemkgemHFmcOtemVuw61taVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPMSNw61zbG8+ICAgICAgICAgIHbCoHNvdWJvcnUgemHEjW5lIG5hIHBvemljaSA8xI3DrXNsbz5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAtLXNpemVsaW1pdCA8cG/EjWV0PiAgICAgICBvbWV6w60gemHFmcOtemVuw60gbmEgPHBvxI1ldD4gYmFqdMWvIHNvdWJvcnVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8xI3DrXNsbz4gICAgIG5hc3RhdsOtIHZlbGlrb3N0IGxvZ2lja8OpaG8gc2VrdG9ydSBuYSA8xI3DrXNsbz5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIHZ5dHZvxZnDrSBsb29wIHphxZnDrXplbsOtIHJvemTEm2xlbsOpIG5hIG9kZMOtbHlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBuYXN0YXbDrSBsb29wIHphxZnDrXplbsOtIGplbiBwcm8gxI10ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvdGV2xZllIHNvdWJvciBwb2QgemHFmcOtemVuw61tIHPCoE9fRElSRUNUXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbsOhemV2IHphxZnDrXplbsOtIHBvIG5hc3RhdmVuw60gKHNwb2x1IHPCoC1mKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHVwb3bDrWRhbsO9IHJlxb5pbVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgZm9ybcOhdHVqZSB2w71zdHVwIGRvIEpTT051XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgw7pkYWplIG/CoHbFoWVjaCBuZWJvIHphZGFuw71jaCAodsO9Y2hvesOtKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgbmV6b2JyYXp1amUgesOhaGxhdsOtIHZlIHbDvXBpc3UgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxzbG91cGNlPiAgICAgICAgdXLEjXVqZSBzbG91cGNlIHZlIHbDvXN0dXB1IHDFmWVww61uYcSNZSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjcKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXAgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVzOiBQb3pvcjogc291Ym9yIGplIG1lbsWhw60gbmXFviA1MTIgYmFqdMWvLCBsb29wIHphxZnDrXplbsOtIG1vxb5uw6EgYnVkZSBuZXBvdcW+aXRlbG7DqSBuZWJvIG5ldmlkaXRlbG7DqSBwcm8gc3lzdMOpbW92w6kgbsOhc3Ryb2plLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiJXM6IFBvem9yOiBzb3Vib3IgbmVuw60gemFyb3Zuw6FuIG5hIDUxMmJhanRvdsOpIHNla3RvcnksIGtvbmVjIHNvdWJvcnUgYnVkZSBpZ25vcm92w6FuLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGV4aXN0dWplIHDFmWVrcsO9dmFqw61jw60gc2UgbG9vcCB6YcWZw616ZW7DrSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiBleGlzdHVqZSBwxZlla3LDvXZhasOtY8OtIHNlIGxvb3AgemHFmcOtemVuw60gamVuIHBybyDEjXRlbsOtIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGV4aXN0dWplIMWhaWZyb3ZhbsOpIGxvb3AgemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbG9vcCB6YcWZw616ZW7DrSBzZSBuZXBvZGHFmWlsbyB6bm92dSBwb3XFvsOtdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImxvb3AgemHFmcOtemVuw60gc2UgbmVwb2RhxZlpbG8gcHJvemtvdW1hdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlczogbmVwb2RhxZlpbG8gemtvbnRyb2xvdmF0LCBqZXN0bGkgbG9vcCB6YcWZw616ZW7DrSBuZWpzb3UgdmUgc3BvcnUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTQyIHN5cy11dGlscy9sb3NldHVwLmM6ODQ3Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICJuZWx6ZSBuYWzDqXp0IG5lcG91xb5pdMOpIGxvb3AgemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IHBvZGtsYWRvdsO9IHNvdWJvciBzZSBuZXBvZGHFmWlsbyBwb3XFvsOtdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICJ2ZWxpa29zdCBsb2dpY2vDqWhvIGJsb2t1IHNlIG5lcG9kYcWZaWxvIHJvemVicmF0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0OSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY1OSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3NAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODggc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICIlczogemHFmcOtemVuw60gbmVieWxvIG1vxb5uw6kgcG91xb7DrXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg1Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLFvsOhZG7DqSBsb29wIHphxZnDrXplbsOtIG5lYnlsbyB6YWTDoW5vIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAicMWZZXDDrW5hxI1lICVzIGpzb3UgZG92b2xlbnkgamVuIHDFmWkgbmFzdGF2b3bDoW7DrSBsb29wIHphxZnDrXplbsOtIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJ2wqB0b210byBrb250ZXh0dSBuZW7DrSBwxZllcMOtbmHEjSAtLW9mZnNldCBkb3ZvbGVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIHNlIG5hc3Rhdml0IGthcGFjaXR1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCBwxZnDrW3DqSBJTyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBsb2dpY2FsIGJsb2NrIHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2UgbmFzdGF2aXQgdmVsaWtvc3QgbG9naWNrw6kgYmxva3UiCisKKyMgdmlydHVhbGl6YXRpb24gdHlwZQorIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKK21zZ2lkICJub25lIgorbXNnc3RyICLFvsOhZG7DoSIKKworIyB2aXJ0dWFsaXphdGlvbiB0eXBlCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NgorbXNnaWQgInBhcmEiCittc2dzdHIgInBhcmF2aXJ0dWFsaXphY2UiCisKKyMgdmlydHVhbGl6YXRpb24gdHlwZQorIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKK21zZ2lkICJmdWxsIgorbXNnc3RyICJwbG7DoSIKKworIyB2aXJ0dWFsaXphdGlvbiB0eXBlCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAia29udGVqbmVyb3bDoSIKKworIyBkaXNwYXRjaGluZyBtb2RlCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICJ2b2Rvcm92bsO9IgorCisjIGRpc3BhdGNoaW5nIG1vZGUKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICJzdmlzbMO9IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIsSNw61zbG8gbG9naWNrw6lobyBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgIsSNw61zbG8gbG9naWNrw6lobyBqw6FkcmEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NgorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAixI3DrXNsbyBsb2dpY2vDqSB6w6FzdXZreSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICLEjcOtc2xvIGxvZ2lja8OpIHV6bHUgTlVNQSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAixI3DrXNsbyBsb2dpY2vDqSBrbmloeSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICLEjcOtc2xvIGxvZ2lja8OpIHrDoXN1dmt5IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICJ1a8Ohxb5lIHNkw61sZW7DrSBrZcWhZSBtZXppIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAicmXFvmltIHJvemhvZG92w6Fuw60gQ1BVIG5hIHZpcnR1w6FsbsOtbSBoYXJkd2FydSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiZnl6aWNrw6EgYWRyZXNhIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJ1a8Ohxb5lLCB6ZGEtbGkgaHlwZXJ2aXpvciBhbG9rb3ZhbCBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNAorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAidWvDocW+ZSwgemRhLWxpIG55bsOtIExpbnV4IG51dMOtIHBvdcW+w612YXQgdG90byBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNQorbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJ1a8Ohxb5lIG1heGltw6FsbsOtIGZyZWt2ZW5jaSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNgorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJ1a8Ohxb5lIG1pbmltw6FsbsOtIGZyZWt2ZW5jaSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgImNoeWJhOiB2b2zDoW7DrSB1bmFtZSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgIm5lemRhxZlpbG8gc2UgdXLEjWl0IHBvxI1ldCBDUFU6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo3NDgKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAib2JzbHVodSBzaWduw6FsdSBuZWx6ZSBvYm5vdml0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJaw61za8OhbsOtIMSNw61zbGEgdXpsdSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICJBIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgTsOhc2xlZHVqZSBzbmFkbm8gcm96ZWJyYXRlbG7DvSBmb3Jtw6F0LCBrdGVyw70gbHplIHBvc2xhdCBkbyBqaW7DvWNoXG4iCisiIyBwcm9ncmFtxa8uIEthxb5kw6EgcsWvem7DoSBwb2xvxb5rYSB2wqBrYcW+ZMOpbSBzbG91cGNpIG3DoSBqZWRpbmXEjW7DqSBJRCxcbiIKKyIjIGt0ZXLDqSBzZSBwb8SNw610w6Egb2QgbnVseS5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIkFyY2hpdGVrdHVyYToiCisKKyMgRklYTUU6IHZhbHVlIGFsaWdubWVudCBjb3VudHMgYnl0ZXMgaW5zdGVhZCBvZiBjb2x1bW5zCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJPcGVyYcSNbsOtIHJlxb5pbSh5KSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiUG/FmWFkw60gYmFqdMWvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIlBvxI1ldCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ3Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIk1hc2thIHphcG51dMO9Y2ggQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJTZXpuYW0gemFwbnV0w71jaCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNYXNrYSB2eXBudXTDvWNoIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjgKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIlNlem5hbSB2eXBudXTDvWNoIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJWbMOha2VuIG5hIGrDoWRybzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJKYWRlciBuYSBwYXRpY2k6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiUGF0aWMgbmEga25paHU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiS25paCBuYSB6w6FzdXZrdToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTMKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICJaw6FzdXZreToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiS25paHk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiUGF0aWM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiVXpseSBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIklEIHbDvXJvYmNlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIlR5cCBzdHJvamU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI4Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIlJvZGluYSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJNb2RlbDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTsOhemV2IG1vZGVsdToiCisKKyMgPz8/OiBFeGlzdHVqZSDEjWVza8O9IHDFmWVrbGFkPworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNAorbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiU3RlcHBpbmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIGR5bmFtaWNrw6kgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MAorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIHN0YXRpY2vDqSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQyCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUgbWF4LiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ0Cittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICJDUFUgbWluLiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGl6YWNlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIeXBlcnZpem9yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiVsO9cm9iY2UgaHlwZXJ2aXpvcnU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIkRydWggdmlydHVhbGl6YWNlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MAorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICJSZcW+aW0gcm96aG9kb3bDoW7DrToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiVzIGtlxaE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIkNQVSBOVU1BIHV6bHUgJWQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIkZ5emlja8OpIHNvY2tldHk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJGeXppY2vDqSDEjWlweToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiRnl6aWNrw6EgasOhZHJhL8SNaXA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJQxZnDrXpuYWt5OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIlpvYnJhesOtIMO6ZGFqZSBvwqBhcmNoaXRla3R1xZllIENQVS5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHZ5cMOtxaFlIHphcG51dMOhIGnCoHZ5cG51dMOhIENQVSAodsO9Y2hvesOtIHBybyAtZSlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHZ5cMOtxaFlIGplbiB6YXBudXTDoSBDUFVzICh2w71jaG96w60gcHJvIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICB2eXDDrcWhZSBqZW4gdnlwbnV0w6EgQ1BVXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICB2w71jaG96w60gbmVibyByb3rFocOtxZllbsO9IHbDvXN0dXAgZm9ybcOhdHVqZSBkb8KgSlNPTnVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHRlbmRlZFs9PHNlem5hbT5dICB2w71waXMgdsKgcm96xaHDrcWZZW7DqW0gxI1pdGVsbsOpbSBmb3Jtw6F0dVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTExCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTxzZXpuYW0+XSAgdsO9cGlzIHbCoHJvemVicmF0ZWxuw6ltIGZvcm3DoXR1XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTIKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPGFkcmVzw6HFmT4gIGpha28ga2/FmWVuIHN5c3TDqW11IHBvdcW+aWplIDxhZHJlc8OhxZk+XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgdnlww63FoWUgxaFlc3Ruw6FjdGtvdsOpIG1hc2t5IG5hbcOtc3RvIHNlem5hbcWvIENQVVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE0Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHZ5cMOtxaFlIGZ5emlja8OpIGlkZW50aWZpa8OhdG9yeSBuYW3DrXN0byBsb2dpY2vDvWNoXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OTkgc3lzLXV0aWxzL2xzbWVtLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCB6YcKgJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisiJXM6IHDFmWVww61uYcSNZSAtLWFsbCwgLS1vbmxpbmUgYSAtLW9mZmxpbmUgbHplIHBvdcW+w610IGplblxuIgorInPCoHDFmWVww61uYcSNaSAtLWV4dGVuZGVkIG5lYm8gLS1wYXJzZS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJOw6F6ZXYgemRyb2plIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJLZXkiCittc2dzdHIgIktsw63EjSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIklEIHpkcm9qZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIklEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiSm3DqW5vIG5lYm8gVUlEIHZsYXN0bsOta2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJWbGFzdG7DrWsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJQcsOhdmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICJVSUQgcMWvdm9kY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiSm3DqW5vIHDFr3ZvZGNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiR0lEIHDFr3ZvZGNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJTa3VwaW5hIHDFr3ZvZGNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJJRCB1xb5pdmF0ZWxlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIlVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJVxb5pdmF0ZWxza8OpIGptw6lubyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIklEIHNrdXBpbnkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJOw6F6ZXYgc2t1cGlueSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIsSMYXMgcG9zbGVkbsOtIHptxJtueSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIlBvc2xlZG7DrSB6bcSbbmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIlBvdcW+aXRvIGJhanTFryIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJQb8SNZXQgenByw6F2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiWnByw6F2eSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICLEjGFzIG9kZXNsw6Fuw60gcG9zbGVkbsOtIHpwcsOhdnkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICJacHLDoXYgb2Rlc2zDoW5vIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICLEjGFzIHDFmWlqZXTDrSBwb3NsZWRuw60genByw6F2eSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICJacHLDoXYgcMWZaWphdG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICJQSUQgb2Rlc8OtbGF0ZWxlIHBvc2xlZG7DrSB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICJPZGVzw61sYXRlbCB6cHLDoXZ5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICJQSUQgcMWZw61qZW1jZSBwb3NsZWRuw60genByw6F2eSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICJQxZnDrWplbWNlIHpwcsOhdnkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAiVmVsaWtvc3QgYmxva3UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIlBvxI1ldCBwxZlpcG9qZW7DvWNoIHByb2Nlc8WvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIlDFmWlwb2plbsOpIHByb2Nlc3kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiU3RhdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIsSMYXMgcMWZaXBvamVuw60iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICLEjGFzIG9kcG9qZW7DrSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIlDFmcOta2F6b3bDvSDFmcOhZGVrIHDFr3ZvZGNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIlDFmcOta2F6IHDFr3ZvZGNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIlBJROKAr3DFr3ZvZGNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiUElEIHDFr3ZvZGNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJQSUQgcG9zbGVkbsOtaG8gdcW+aXZhdGVsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiUElEIHBvc2xlZG7DrWhvIHXFvml2YXRlbGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJQb8SNZXQgc2VtYWZvcsWvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW1hZm9yeSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIsSMYXMgcG9zbGVkbsOtIG9wZXJhY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJQb3NsZWRuw60gb3BlcmFjZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiTsOhemV2IHpkcm9qZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIlpkcm9qIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiUG9waXMgemRyb2plIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiUG9waXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJQcsOhdsSbIHZ5dcW+aXRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICJWeXXFvml0byIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJWeXXFvml0w60gdsKgcHJvY2VudGVjaCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVxb5pdG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICJPbWV6ZW7DrSBzeXN0w6ltdSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIk9tZXplbsOtIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICJzbG91cGVjICVzIHNlIG5ldnp0YWh1amUgbmEgdXZlZGVuw6kgSVBDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIgLWcsIC0tZ2xvYmFsICAgICAgw7pkYWplIG/CoHZ5dcW+aXTDrSBzeXN0w6ltdSAobHplIHBvdcW+w610IHPCoC1tLCAtcSBhIC1zKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxJRD4gICAgIHpvYnJhesOtIHBvZHJvYm5vc3RpIG8gcHJvc3TFmWVka3UgdXLEjWVuw6ltIGRsZSA8SUQ+XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgdmVsaWtvc3RpIHZ5cGlzdWplIHbCoGJhanRlY2ggbmFtw61zdG8gcG9kb2LEmyB2aG9kbsOpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcm8gxI1sb3bEm2thXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHpvYnJhesOtIHR2xa9yY2UgYSB2bGFzdG7DrWthXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICBmb3Jtw6F0dWplIHbDvXN0dXAgZG8gSlNPTnVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICB2eW51dMOtIHbDvXN0dXAgamFrbyBzZXpuYW0gKG5hcMWZw61rbGFkIHPCoC0taWQpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHZ5cGlzdWplIMSNw61zZWxuw6EgcHLDoXZhIChzbG91cGVjIFBFUk1TKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHpvYnJhesOtIMSNYXN5IHDFmWlwb2plbsOtLCBvZHBvamVuw60gYSB6bcSbbnlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPYmVjbsOpIHNsdXBjZTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNsb3VwY2Ugc2TDrWxlbsOpIHBhbcSbdGkgKC0tc2htZW1zKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNsdXBjZSBmcm9udHkgenByw6F2ICgtLXF1ZXVlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTbHVwY2Ugc2VtYWZvcsWvICgtLXNlbWFwaG9yZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2xvdXBjZSBzb3Vocm51ICgtLWdsb2JhbCk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJQcnZreTpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJkYXRhIHNlIG5lcG9kYcWZaWxvIG5hc3Rhdml0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJQb8SNZXQgaWRlbnRpZmlrw6F0b3LFryBzZW1hZm9yxa8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJDZWxrb3bDvSBwb8SNZXQgc2VtYWZvcsWvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIk1heGltdW0gc2VtYWZvcsWvIG5hIG1ub8W+aW51IHNlbWFmb3LFry4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIk1heGltw6FsbsOtIHBvxI1ldCBvcGVyYWPDrSBuYSBzZW1vcCgyKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiTWF4aW3DoWxuw60gaG9kbm90YSBzZW1hZm9ydSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJQb8SNZXQgZnJvbnQgenByw6F2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIk1heGltw6FsbsOtIHZlbGlrb3N0IHpwcsOhdnkgKGJhanR5KSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc1Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJWw71jaG96w60gbWF4aW3DoWxuw60gdmVsaWtvc3QgZnJvbnR5IChiYWp0eSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk4OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA4Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiaHVnZXRsYiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTkwIHN5cy11dGlscy9sc2lwYy5jOjEwMTUKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIm5lcmV6ZXJ2b3bDoW5vIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDcyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiU2VnbWVudHkgc2TDrWxlbsOpIHBhbcSbdGkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJTdHLDoW5reSBzZMOtbGVuw6kgcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJNYXhpbcOhbG7DrSB2ZWxpa29zdCBzZWdtZW50dSBzZMOtbGVuw6kgcGFtxJt0aSAoYmFqdHkpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIk1pbmltw6FsbsOtIHZlbGlrb3N0IHNlZ21lbnR1IHNkw61sZW7DqSBwYW3Em3RpIChiYWp0eSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIm5lemRhxZlpbG8gcm96ZWJyYXQgaWRlbnRpZmlrw6F0b3IgSVBDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tZ2xvYmFsIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWplIHPCoC0tY3JlYXRvciwgLS1pZCBhIC0tdGltZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInBvxI3DoXRlxI1uw60gYSBrb25jb3bDoSBhZHJlc2Egcm96c2FodSBwYW3Em3RpIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInZlbGlrb3N0IHJvenNhaHUgcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJzdGF2IHphcG9qZW7DrSByb3pzYWh1IHBhbcSbdGkiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMQorbXNnaWQgIm1lbW9yeSBpcyByZW1vdmFibGUiCittc2dzdHIgInBhbcSbxaUgamUgb2RlYsOtcmF0ZWxuw6EiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICLEjcOtc2xvIGJsb2t1IHBhbcSbdGkgbmVibyByb3pzYWggYmxva8WvIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzMKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICJ1emVsIE5VTUEgcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTM0Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInBsYXRuw6kgesOzbnkgcHJvIHJvenNhaHUgcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYxCittc2dpZCAib25saW5lIgorbXNnc3RyICJwxZlpcG9qZW5vIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjIKK21zZ2lkICJvZmZsaW5lIgorbXNnc3RyICJvZHBvamVubyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAicMWZaXBvamVubyDihpIgb2Rwb2plbm8iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgIlZlbGlrb3N0IHBhbcSbxaVvdsOpaG8gYmxva3U6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjMgc3lzLXV0aWxzL2xzbWVtLmM6MzMzCittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgIkNlbGtlbSBwxZlpcG9qZW7DqSBwYW3Em3RpIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICJDZWxrZW0gb2Rwb2plbsOpIHBhbcSbdGk6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIiVzIHNlIG5lcG9kYcWZaWxvIG90ZXbFmcOtdCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDcyCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICJUZW50byBzeXN0w6ltIG5lcG9kcG9ydWplIHBhbcSbxaVvdsOpIGJsb2t5IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIlZ5cMOtxaFlIHJvenNhaHkgZG9zdHVwbsOpIHBhbcSbdGkgc3BvbHUgcyBqZWppY2ggc3RhdmVtIHDFmWlwb2plbsOtLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgbGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICB2eXDDrcWhZSBrYcW+ZMO9IGplZG5vdGxpdsO9IHBhbcSbxaVvdsO9IGJsb2tcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgLVMsIC0tc3BsaXQgPHNlem5hbT4gcm96c2FoeSByb3pkxJtsw60gemFkYW7DvW1pIHNsb3VwY2lcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisiIC1zLCAtLXN5c3Jvb3QgPGFkcmVzw6HFmT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgamFrbyBrb8WZZW4gc3lzdMOpbXUgcG91xb5pamUgemFkYW7DvSA8YWRyZXPDocWZPlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTEKK21zZ2lkICIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc3VtbWFyeVs9a2R5XSAgdnlww63FoWUgc291aHJubsOpIMO6ZGFqZSAobmV2ZXIgW25pa2R5XSwgYWx3YXlzIFt2xb5keV1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgbmVibyBvbmx5IFtwb3V6ZV1cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSBhcmd1bWVudCAtLXN1bW1hcnkiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJwxZllcMOtbmHEjWUgLS17cmF3LGpzb24scGFpcnN9IGEgLS1zdW1tYXJ5PW9ubHkgc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgInbDvXN0dXBuw60gdGFidWxrdSBzZSBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJWw71zdHVwbsOtIHNsb3VwZWMgc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5OQorbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICJpZGVudGlmaWvDoXRvciBqbWVubsOpaG8gcHJvc3RvcnUgKMSNw61zbG8gaS11emx1KSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiZHJ1aCBqbWVubsOpaG8gcHJvc3RvcnUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJjZXN0YSBrZSBqbWVubsOpbXUgcHJvc3RvcnUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJwb8SNZXQgcHJvY2Vzxa8gdmUgam1lbm7DqW0gcHJvc3RvcnUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJuZWpuacW+xaHDrSBQSUQgdmUgam1lbm7DqW0gcHJvc3RvcnUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElE4oCvcHJvY2VzdSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDUKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAicMWZw61rYXpvdsOhIMWZw6Fka2EgcHJvY2VzdSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDYKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiVUlE4oCvcHJvY2VzdSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICJqbcOpbm8gdcW+aXZhdGVsZSBwcm9jZXN1IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICJJRCBqbWVubsOpaG8gcHJvc3RvcnUsIGphayBqZWogcG91xb7DrXbDoSBzw63FpW92w70gcG9kc3lzdMOpbSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDkKK21zZ2lkICJuc2ZzIG1vdW50cG9pbnQgKHVzdWFsbHkgdXNlZCBuZXR3b3JrIHN1YnN5c3RlbSkiCittc2dzdHIgImJvZCBwxZlpcG9qZW7DrSBqbWVubsOpaG8gcHJvc3RvcnUgc291Ym9yb3bDqWhvIHN5c3TDqW11IChvYnZ5a2xlIHBvdcW+aXTDvSBzw63FpW92w70gcG9kc3lzdMOpbSkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAicMWZaWTDoW7DrSDFmcOhZGt1IG5hIHbDvXN0dXAgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbPGptZW5uw70gcHJvc3Rvcj5dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk4Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiVnlww63FoWUgam1lbm7DqSBwcm9zdG9yeSBuYSBzeXN0w6ltdS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXRhc2sgPFBJRD4gICAgICAgdnlww63FoWUgam1lbm7DvSBwcm9zdG9yIHByb2Nlc3VcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKK21zZ2lkICIgLVcsIC0tbm93cmFwICAgICAgICAgICBkb24ndCB1c2UgbXVsdGktbGluZSByZXByZXNlbnRhdGlvblxuIgorbXNnc3RyICIgLVcsIC0tbm93cmFwICAgICAgICAgICBuZXBvdcW+aWplIHbDrWNlxZnDoWRrb3bDvSBmb3Jtw6F0XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdHlwZSA8bsOhemV2PiAgICAgZHJ1aCBqbWVubsOpaG8gcHJvc3RvcnUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGNncm91cClcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJkcnVoIGptZW5uw6lobyBwcm9zdG9ydSBuZW7DrSB6bsOhbTogJXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNAorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS10YXNrIGEgPGptZW5uw70gcHJvc3Rvcj4gc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjUKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHNlIGptZW5uw71tIHByb3N0b3JlbSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiam1lbm7DvSBwcm9zdG9yIG5lbmFsZXplbjogJWp1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgInDFmWVww61uYcSNIOKAni0tJXPigJwgbcWvxb5lIHBvdcW+w610IHBvdXplIHN1cGVydcW+aXZhdGVsIChlZmVrdGl2bsOtIFVJRCBqZSAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAidG90byBtxa/FvmUgcHJvdsOpc3QgcG91emUgc3VwZXJ1xb5pdmF0ZWwgKGVmZWt0aXZuw60gVUlEIGplICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgInBvdXplIHN1cGVydcW+aXZhdGVsIG3Fr8W+ZSBwb3XFvsOtdCBwxZllcMOtbmHEjSDigJ4tLSVz4oCcIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJ0b3RvIG3Fr8W+ZSBwcm92w6lzdCBwb3V6ZSBzdXBlcnXFvml2YXRlbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODQgc3lzLXV0aWxzL3Vtb3VudC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyB6wqAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIsSNdGVuw60gbXRhYiBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czogaWdub3J1amUgc2VcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiJS0yNXM6IGppxb4gcMWZaXBvamVub1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMgcMWZZXN1bnV0byBkbyAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIHDFmWlwb2plbm8genDFr3NvYmVtIGJpbmQgZG8gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MyBzeXMtdXRpbHMvbW91bnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBwxZlpcG9qZW5vIGRvICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiBQxZnDrXpuYWt5IHByb3BhZ2FjZSAlcyB6bcSbbsSbbnkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBuZW9ic2FodWplIHpuYcSNa3kgU0VMaW51eHUuXG4iCisiICAgICAgIFByw6F2xJsganN0ZSBwxZlpcG9qaWxpIHNvdWJvcm92w70gc3lzdMOpbSwga3RlcsO9IHpuYcSNa3kgcG9kcG9ydWplLCBhbGVcbiIKKyIgICAgICAgbmVvYnNhaHVqZSBhbmkgamVkbnUsIGRvIHN0cm9qZSBzwqBwb2Rwb3JvdSBTRUxpbnV4dS4gSmUgcHJhdmTEm3BvZG9ibsOpLFxuIgorIiAgICAgICDFvmUgb21lemVuw6kgYXBsaWthY2UgYnVkb3UgZ2VuZXJvdmF0IHpwcsOhdnkgQVZDIGEgbmVidWRlIGppbSBkb3ZvbGVub1xuIgorIiAgICAgICBwxZlpc3RvdXBpdCBuYSB0ZW50byBzeXN0w6ltIHNvdWJvcsWvLiBEYWzFocOtIHJhZHkgbHplIG5hbMOpenRcbiIKKyIgICAgICAgdsKgcmVzdG9yZWNvbig4KSBhIG1vdW50KDgpLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICIlczogJXMuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IHJvemJvciBzZSBuZXpkYcWZaWwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gZm9ybcOhdCBwYXJhbWV0cnU6ICVzIgorCisjIFhYWDogTmVwxZlla2zDoWRhdCDigJ5hcHBlbmTigJwgamFrbyDigJ5wxZlpcG9qaXTigJwsIGhyb3rDrSB6w6FtxJtuYSBzwqDigJ5tb3VudOKAnAorIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHDFmWnFmWV0xJt6aXQgdm9sYnkg4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtwxZllcMOtbmHEjWVdXG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gWy0tc291cmNlXSA8emRyb2o+IHwgWy0tdGFyZ2V0XSA8YWRyZXPDocWZPlxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDx6ZHJvaj4gPGFkcmVzw6HFmT5cbiIKKyIgJTEkcyA8b3BlcmFjZT4gPGJvZF9wxZlpcG9qZW7DrT4gWzxjw61sPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQxZlpcG9qw60gc291Ym9yb3bDvSBzeXN0w6ltLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHDFmWlwb2rDrSB2ZcWha2Vyw6kgc291Ym9yb3bDqSBzeXN0w6lteSB1dmVkZW7DqSB2ZSBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBuZW5vcm1hbGl6dWplIGNlc3R5XG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIHprdcWhZWJuw60gcmXFvmltLCBwxZllc2tvxI3DrSBzeXN0w6ltb3bDqSB2b2zDoW7DrSBtb3VudCgyKVxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBwcm8ga2HFvmTDqSB6YcWZw616ZW7DrSB2eXR2b8WZw60gcG90b21rYSAocG91xb5panRlIHPCoC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8Y2VzdGE+ICAgICBuw6FocmFkYSB6YSAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG5ldm9sw6EgcG9tb2Nuw6kgcHJvZ3JhbXkgbW91bnQuPHR5cD5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHVrw6HFvmUgcm92bsSbxb4gam1lbm92a3kgc291Ym9yb3bDvWNoIHN5c3TDqW3Fr1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG5lemFww63FoWUgZG8gL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8c2V6bmFtPiAgxI3DoXJrb3Ugb2RkxJtsZW7DvSBzZXpuYW0gcGFyYW1ldHLFryBwxZlpcG9qZW7DrVxuIgorIiAtTywgLS10ZXN0LW9wdHMgPHNlem5hbT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgb21lesOtIG1ub8W+aW51IHNvdWJvcm92w71jaCBzeXN0w6ltxa8gKHBvdcW+aWp0ZSBzwqAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgc291Ym9yb3bDvSBzeXN0w6ltIHDFmWlwb2rDrSBqZW4gcHJvIMSNdGVuw61cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgKHN0ZWpuw6kgamFrbyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPHNlem5hbT4gICAgb21lesOtIG1ub8W+aW51IHR5cMWvIHNvdWJvcm92w71jaCBzeXN0w6ltxa9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA8emRyb2o+ICAgIHbDvXNsb3ZuxJsgdXLEjcOtIHpkcm9qIChjZXN0YSwgam1lbm92a2EsIFVVSUQpXG4iCisiICAgICAtLXRhcmdldCA8Y8OtbD4gICAgICB2w71zbG92bsSbIHVyxI3DrSBib2QgcMWZaXBvamVuw61cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI0IHN5cy11dGlscy91bW91bnQuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHZ5c3bEm3Rsw60sIGNvIHNlIGTEm2plXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIHDFmWlwb2rDrSBzb3Vib3JvdsO9IHN5c3TDqW0gcHJvIMSNdGVuw60gacKgesOhcGlzICh2w71jaG96w60pXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyJaZHJvajpcbiIKKyIgLUwsIC0tbGFiZWwgPGptZW5vdmthPiAgc3lub255bXVtIHBybyBMQUJFTD08am1lbm92a2E+XG4iCisiIC1VLCAtLXV1aWQgPFVVSUQ+ICAgICAgIHN5bm9ueW11bSBwcm8gVVVJRD08VVVJRD5cbiIKKyIgTEFCRUw9PGptZW5vdmthPiAgICAgICAgdXLEjcOtIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5IHNvdWJvcm92w6lobyBzeXN0w6ltdVxuIgorIiBVVUlEPTxVVUlEPiAgICAgICAgICAgICB1csSNw60gemHFmcOtemVuw60gcG9kbGUgVVVJRCBzb3Vib3JvdsOpaG8gc3lzdMOpbXVcbiIKKyIgUEFSVExBQkVMPTxqbWVub3ZrYT4gICAgdXLEjcOtIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5IG9kZMOtbHVcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgdXLEjcOtIHphxZnDrXplbsOtIHBvZGxlIFVVSUQgb2Rkw61sdVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgIHVyxI3DrSB6YcWZw616ZW7DrSBwb2RsZSBjZXN0eVxuIgorIiA8YWRyZXPDocWZPiAgICAgICAgICAgICAgIGJvZCBwxZlpcG9qZW7DrSBwcm8gdsOhemFuw6EgcMWZaXBvamVuw61cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgKHZpenRlIC0tYmluZC9yYmluZClcbiIKKyIgPHNvdWJvcj4gICAgICAgICAgICAgICAgYsSbxb5uw70gc291Ym9yIHBybyBzZXN0YXZlbsOtIGxvb3AgemHFmcOtemVuw61cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wZXJhY2U6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIHDFmWlwb2rDrSBwb2RzdHJvbSBuxJtrYW0gamluYW0gKHN0ZWpuw6kgamFrbyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBwxZllc3VuZSBwb2RzdHJvbSBuYSBqaW7DqSBtw61zdG9cbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgcMWZaXBvasOtIHBvZHN0cm9tIGEgdsWhZWNobmEgcG9kxZnDrXplbsOhIHDFmWlwb2plbsOtIGppbmFtXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBvem5hxI3DrSBwb2RzdHJvbSB6YSBzZMOtbGVuw71cbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgb3puYcSNw60gcG9kc3Ryb20gemEgcG9kxZnDrXplbsO9XG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG96bmHEjcOtIHBvZHN0cm9tIHphIHNvdWtyb23DvVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBvem5hxI3DrSBwb2RzdHJvbSB6YSBuZXbDoXphdGVsbsO9XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWt1cnppdm7EmyBvem5hxI3DrSBjZWzDvSBwb2RzdHJvbSB6YSBzZMOtbGVuw71cbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVrdXJ6aXZuxJsgb3puYcSNw60gY2Vsw70gcG9kc3Ryb20gemEgcG9kxZnDrXplbsO9XG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJla3Vyeml2bsSbIG96bmHEjcOtIGNlbMO9IHBvZHN0cm9tIHphIHNvdWtyb23DvVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWt1cnppdm7EmyBvem5hxI3DrSBjZWzDvSBwb2RzdHJvbSB6YSBuZXbDoXphdGVsbsO9XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiYWxva2FjZSBrb250ZXh0dSBsaWJtb3VudCBzZSBuZXpkYcWZaWxhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCB2em9yZWsgdm9sZWIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgInpkcm9qIHphZMOhbiB2w61jZSBuZcW+IGplZG5vdSIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXFkXSAvQ0VTVEEvSy9BRFJFU8OBxZhJXG4iCisiICUxJHMgLXggL2Rldi9aQcWYw41aRU7DjVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMworbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIlpqaXN0w60sIGplc3RsaSBhZHJlc8OhxZkgbmVibyBzb3Vib3IgamUgYm9kZW0gcMWZaXBvamVuw60uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHRpY2jDvSByZcW+aW3CoOKAkyBuaWMgbmV2eXDDrcWhZVxuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgdnlww63FoWUgaGxhdm7DrTp2ZWRsZWrFocOtIMSNw61zbG8gemHFmcOtemVuw60gc3lzdMOpbXUgc291Ym9yxa9cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHZ5cMOtxaFlIGhsYXZuw606dmVkbGVqxaHDrSDEjcOtc2xvIGJsb2tvdsOpaG8gemHFmcOtemVuw61cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBuZW7DrSBwxZnDrXBvam7DvW0gYm9kZW1cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGplIHDFmcOtcG9qbsO9bSBib2RlbVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxwcm9ncmFtPiBbPGFyZ3VtZW50PuKApl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiU3B1c3TDrSBwcm9ncmFtIHNlIGptZW5uw71taSBwcm9zdG9yeSBqaW7DvWNoIHByb2Nlc8WvLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZW50ZXIgYWxsIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgdnN0b3Vww60gZG8gdsWhZWNoIGptZW5uw71jaCBwcm9zdG9yxa9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8UElEPiAgICAgcHJvY2VzLCB6ZSBrdGVyw6lobyBzZSBtw6Egam1lbm7DvSBwcm9zdG9yIHrDrXNrYXRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTxzb3Vib3I+XSB2c3RvdXDDrSBkbyBqbWVubsOpaG8gcHJvc3RvcnUgcMWZw61wb2puw71jaCBib2TFr1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIiCisiIC11LCAtLXV0c1s9PHNvdWJvcj5dICAgdnN0b3Vww60gZG8gam1lbm7DqWhvIHByb3N0b3J1IFVUUyAobsOhemV2XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2plIGF0ZC4pXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxzb3Vib3I+XSAgIHZzdG91cMOtIGRvIGptZW5uw6lobyBwcm9zdG9ydSBTeXN0ZW0gViBJUENcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxzb3Vib3I+XSAgIHZzdG91cMOtIGRvIGptZW5uw6lobyBwcm9zdG9ydSBzw610w61cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PHNvdWJvcj5dICAgdnN0b3Vww60gZG8gam1lbm7DqWhvIHByb3N0b3J1IMSNw61zZWwgcHJvY2Vzxa9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQywgLS1jZ3JvdXBbPTxzb3Vib3I+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHZzdG91cMOtIGRvIGptZW5uw6lobyBwcm9zdG9ydSBrb250cm9sbsOtY2ggc2t1cGluXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PHNvdWJvcj5dICB2c3RvdXDDrSBkbyBqbWVubsOpaG8gcHJvc3RvcnUgdcW+aXZhdGVsxa9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgbmFzdGF2w60gVUlEIHZlIHZzdG91cGVuw6ltIGptZW5uw6ltIHByb3N0b3J1XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIG5hc3RhdsOtIEdJRCB2ZSB2c3RvdXBlbsOpbSBqbWVubsOpbSBwcm9zdG9ydVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIG5lc2Fow6EgbmEgxI3DrXNsYSBVSUQgYSBHSURcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTxhZHJlc8OhxZk+XSBuYXN0YXbDrSBrb8WZZW5vdsO9IGFkcmVzw6HFmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXcsIC0td2RbPTxhZHJlc8OhxZk+XSAgIG5hc3RhdsOtIHByYWNvdm7DrSBhZHJlc8OhxZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgcMWZZWQgc3B1xaF0xJtuw61tIDxwcm9ncmFtdT4gbmV2eXR2b8WZw60gcG90b21rYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk2Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIG5hc3RhdsOtIHNlbGludXhvdsO9IGtvbnRleHQgcG9kbGUgLS10YXJnZXQgUElEXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICJhbmkgbsOhemV2IHNvdWJvcnUgYW5pIFBJRCBjw61sZSBuZWJ5bHkgcHJvICVzIHphZMOhbnkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiVUlEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiR0lEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIm5ldXZlZGVuIMW+w6FkbsO9IGPDrWxvdsO9IFBJRCBwcm8gLS1mb2xsb3ctY29udGV4dCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgInrDrXNrYXQgc2VsaW51eG92w70ga29udGV4dCAlZCBzZSBuZXBvZGHFmWlsbyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAic2VsaGFsbyBuYXN0YXZlbsOtIGtvbnRleHR1IHNwb3XFoXTEm27DrSBuYSDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNjEKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1hbGwiCittc2dzdHIgIm5ldXZlZGVuIMW+w6FkbsO9IGPDrWxvdsO9IFBJRCBwcm8gLS1hbGwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAib3Bha292YW7DqSBwxZlpZHJ1xb5lbsOtIGtlIGptZW5uw6ltdSBwcm9zdG9ydSDigJ4lc+KAnCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgInNvdcSNYXNuw70gcHJhY292bsOtIGFkcmVzw6HFmSBuZWx6ZSBvdGV2xZnDrXQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQ4Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIm5lcG9kYcWZaWxvIHNlIHptxJtuaXQgYWRyZXPDocWZIHBvbW9jw60gZGVza3JpcHRvcnUga2/FmWVub3bDqWhvIHNvdWJvcnUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gY2hyb290IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDYxCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6bcSbbml0IGFkcmVzw6HFmSBwb21vY8OtIGRlc2tyaXB0b3J1IHByYWNvdm7DrWhvIGFkcmVzw6HFmWUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDcyIHN5cy11dGlscy9zZXRwcml2LmM6OTYyIHN5cy11dGlscy9zZXRwcml2LmM6OTY5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0Z3JvdXBzIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8bm92w71fa2/FmWVuPiA8b2Rsb8W+aXRfc3RhcsO9PlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM4Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlptxJtuw60ga2/FmWVub3bDvSBzb3Vib3JvdsO9IHN5c3TDqW0uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJ2w71txJtuYSBrb8WZZW51IHog4oCeJXPigJwgbmEg4oCeJXPigJwgc2VsaGFsYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIm9tZXplbsOtIGFkcmVzbsOtaG8gcHJvc3RvcnUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIm1heGltw6FsbsOtIHZlbGlrb3N0IHNvdWJvcnUgc8KgdsO9cGlzZW0gcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJwcm9jZXNvcm92w70gxI1hcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgInNlY29uZHMiCittc2dzdHIgInNla3VuZHkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJtYXhpbcOhbG7DrSB2ZWxpa29zdCBkYXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJtYXhpbcOhbG7DrSB2ZWxpa29zdCBzb3Vib3J1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCB6w6Fta8WvIG5hIHNvdWJvcmVjaCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICJ6w6Fta3kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICJtYXhpbcOhbG7DrSBtbm/FvnN0dsOtIHV6YW3EjWVuw6kgcGFtxJt0aSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJtYXhpbcOhbG7DrSBwb8SNZXQgYmFqdMWvIHbCoHBvc2l4b3bDvWNoIGZyb250w6FjaCB6cHLDoXYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIm1heGltw6FsbsOtIHByaW9yaXRhIG5pY2UsIGt0ZXJvdSBsemUgenbDvcWhaXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm1heGltw6FsbsOtIHBvxI1ldCBvdGV2xZllbsO9Y2ggc291Ym9yxa8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAic291Ym9yeSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJtYXhpbcOhbG7DrSBwb8SNZXQgcHJvY2Vzxa8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgInByb2Nlc3kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIm1heGltw6FsbsOtIHZlbGlrb3N0IHJlemlkZW50bsOtIHBhbcSbdGkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJtYXhpbcOhbG7DrSBwcmlvcml0YSByZcOhbG7DqWhvIMSNYXN1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICLEjWFzb3bDvSBsaW1pdCBwcm8gw7psb2h5IHJlw6FsbsOpaG8gxI1hc3UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pa3Jvc2VrdW5keSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJtYXhpbcOhbG7DrSBwb8SNZXQgxI1la2Fqw61jw61jaCBzaWduw6Fsxa8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICJzaWduw6FseSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJtYXhpbcOhbG7DrSB2ZWxpa29zdCB6w6Fzb2Juw61rdSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJuw6F6ZXYgemRyb2plIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJwb3BpcyB6ZHJvamUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAibcSba2vDqSBvbWV6ZW7DrSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAidHZyZMOpIG9tZXplbsOtICh6YXN0cm9wb3bDoW7DrSkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgImplZG5vdGt5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFDFmMONS0FaXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY3Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlVrw6HFvmUgbmVibyB6bcSbbsOtIG9tZXplbsOtIHpkcm9qxa8gcHJvY2VzdS5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT2JlY27DqSBwxZllcMOtbmHEjWU6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPFBJRD4gICAgICAgIElEIHByb2Nlc3VcbiIKKyIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+ICB1csSNdWplIHNsb3VwY2UgbmEgdsO9c3R1cHVcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBuZXZ5cMOtxaFlIHrDoWhsYXbDrVxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHbDvXBpcyB2wqBzeXJvdsOpbSBmb3Jtw6F0dVxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHBvZHJvYm7DvSB2w71zdHVwXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiUMWZZXDDrW5hxI1lIHpkcm9qxa86XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbcOhbG7DrSB2ZWxpa29zdCB2eXR2w6HFmWVuw71jaCBzb3Vib3LFryBzIHbDvXBpc2VtIHBhbcSbdGlcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbcOhbG7DrSB2ZWxpa29zdCBkYXRvdsOpaG8gc2VnbWVudHUgcHJvY2VzdVxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltw6FsbsOtIHByaW9yaXRhIG5pY2UsIGt0ZXJvdSBqZSBkb3ZvbGVubyB6dsO9xaFpdFxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltw6FsbsOtIHZlbGlrb3N0IHNvdWJvcsWvIHphcHNhdGVsbsO9Y2ggcHJvY2VzZW1cbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbcOhbG7DrSBwb8SNZXQgxI1la2Fqw61jw61jaCBzaWduw6Fsxa9cbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbcOhbG7DrSB2ZWxpa29zdCBwYW3Em3RpLCBrdGVyb3UgbcWvxb5lIHByb2NlcyB6YW1rbm91dFxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltw6FsbsOtIHZlbGlrb3N0IHJlemlkZW50bsOtIHBhbcSbdGlcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbcOhbG7DrSBwb8SNZXQgb3RldsWZZW7DvWNoIHNvdWJvcsWvXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW3DoWxuw60gcG/EjWV0IGJhanTFryB2wqBwb3NpeG92w71jaCBmcm9udMOhY2ggenByw6F2XG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW3DoWxuw60gcGzDoW5vdmFjw60gcHJpb3JpdGEgcmXDoWxuw6lobyDEjWFzdVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltw6FsbsOtIHZlbGlrb3N0IHrDoXNvYm7DrWt1XG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW3DoWxuw60gbW5vxb5zdHbDrSBwcm9jZXNvcm92w6lobyDEjWFzdSB2wqBzZWt1bmTDoWNoXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW3DoWxuw60gcG/EjWV0IHByb2Nlc8WvIHXFvml2YXRlbGVcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICB2ZWxpa29zdCB2aXJ0dcOhbG7DrSBwYW3Em3RpXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW3DoWxuw60gcG/EjWV0IHNvdWJvcm92w71jaCB6w6Fta8WvXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgcHJvY2Vzb3JvdsO9IMSNYXMgdsKgbWlrcm9zZWt1bmTDoWNoIHByb2Nlc3UgcGzDoW5vdmFuw6lob1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHBsw6Fub3ZhxI1lbSByZcOhbG7DqWhvIMSNYXN1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAibmVvbWV6ZW5vIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgesOtc2thdCBzdGFyw6kgb21lemVuw60gbmEgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIm3Em2trw6kgb21lemVuw60gJXMgbmVtxa/FvmUgcMWZZWtyb8SNaXQgdHZyZMOpIG9tZXplbsOtIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOb3bDqSBvbWV6ZW7DrSAlcyBwcm8gUElEICVkOiAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCBvbWV6ZW7DrSB6ZHJvamUgbmEgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6amlzdGl0IG9tZXplbsOtIHpkcm9qZSBuYSAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IG9tZXplbsOtIG5hICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1waWQgbHplIHphZGF0IGplbiBqZWRub3UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLXBpZCBhIFDFmMONS0FaIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJab2JyYXrDrSDDumRhamUgesKgcHJvZmlsb3bDoW7DrSBqw6FkcmEuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPG1hcG92w71fc291Ym9yPiAgKHbDvWNob3rDrTog4oCeJXPigJwgYVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg4oCeJXPigJwpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIC1wLCAtLXByb2ZpbGUgPHNvdWJvcl9wcm9maWx1PiAgKHbDvWNob3rDrTog4oCeJXPigJwpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiAtTSwgLS1tdWx0aXBsaWVyIDzEjWluaXRlbD4gIG5hc3RhdsOtIDzEjWluaXRlbD4gcHJvZmlsb3bDoW7DrVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgdnlww63FoWUgw7pkYWplIHBvdXplIG/CoHZ6b3JrdWrDrWPDrW0ga3Jva3VcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHZ5cMOtxaFlIHBvZHJvYm7DqSDDumRhamVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgdnlww63FoWUgdsWhZWNobnkgc3ltYm9seSwgacKga2R5xb4gamVqaWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgcG/EjcOtdGFkbG8gamUgMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHZ5cMOtxaFlIGplZG5vdGxpdsOhIHBvxI3DrXRhZGxhIGhpc3RvZ3JhbXUgcHJvZ3JhbXVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHZ5cMOtxaFlIGplZG5vdGxpdsOhIHBvxI3DrXRhZGxhIHV2bml0xZkgZnVua2PDrVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHpyZXNldHVqZSB2xaFlY2hueSBwb8SNw610YWRsYSAocG91emUgc3VwZXJ1xb5pdmF0ZWwpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICB2eXBuZSBhdXRvbWF0aWNrw6kgcm96cG96bsOhdsOhbsOtIHBvxZlhZMOtIGJhanTFr1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiY2h5YmEgcMWZaSB6w6FwaXN1ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICJQxZllZHBva2zDoWTDoSBzZSBvcGHEjW7DqSBwb8WZYWTDrSBiYWp0xa8uIFN5c3TDqW1vdsOpIHBvxZlhZMOtIGx6ZSB2eW51dGl0IHBvbW9jw60gLW4uIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiUHJvZmlsb3ZhY8OtX2tyb2s6ICV1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiBjaHlibsO9IMWZw6FkZWsgdsKgbWFwxJsiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIuKAnl9zdGV4dOKAnCBuZWx6ZSB2ICVzIG5hbMOpenQiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiYWRyZXNhIHByb2ZpbHUgamUgbWltbyByb3pzYWguIENoeWJuw70gbWFwb3ZhY8OtIHNvdWJvcj8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJjZWxrZW0iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIklEIHByb2Nlc3UiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIklEIHNrdXBpbnkgcHJvY2Vzxa8iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gcHJpb3JpdGEgWy1wfC0tcGlkXSA8UElEPuKAplxuIgorIiAlMSRzIFstbl0gcHJpb3JpdGEgIC1nfC0tcGdpZCA8UEdJRD7igKZcbiIKKyIgJTEkcyBbLW5dIHByaW9yaXRhICAtdXwtLXVzZXIgPHXFvml2YXRlbD7igKZcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJabcSbbsOtIHByaW9yaXR1IGLEm8W+w61jw61jaCBwcm9jZXPFry5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIC1uLCAtLXByaW9yaXR5IDzEjcOtc2xvPiB1csSNdWplIHDFmcOtcsWvc3RlayBob2Rub3R5IG5pY2VcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPElEPiAgICAgICAgIGludGVycHJldHVqZSBhcmd1bWVudCBqYWtvIElEIHByb2Nlc3UgKHbDvWNob3rDrSlcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPElEPiAgICAgICAgaW50ZXJwcmV0dWplIGFyZ3VtZW50IGpha28gSUQgc2t1cGlueSBwcm9jZXPFr1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisiIC11LCAtLXVzZXIgPGptw6lubz58PElEPiBpbnRlcnByZXR1amUgYXJndW1lbnQgamFrbyB1xb5pdmF0ZWxza8OpIGptw6lubyBuZWJvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIElEIHXFvml2YXRlbGVcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgInNlbGhhbG8gemppxaF0xJtuw60gcHJpb3JpdHkgJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgInNlbGhhbG8gbmFzdGF2ZW7DrSBwcmlvcml0eSAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKTogcMWvdm9kbsOtIHByaW9yaXRhICVkLCBub3bDoSBwcmlvcml0YSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAibmVwbGF0bsOhIHByaW9yaXRhIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAibmV6bsOhbcO9IHXFvml2YXRlbDogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJjaHlibsOhIGhvZG5vdGEgJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJqYWRlcm7DvSBuw6F6ZXYgemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAiaG9kbm90YSBpZGVudGlmaWvDoXRvcnUgemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzEKK21zZ2lkICJkZXZpY2UgdHlwZSBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgYXMgaWRlbnRpZmllciIKK21zZ3N0ciAibsOhemV2IGRydWh1IHphxZnDrXplbsOtLCBrdGVyw70gbHplIHBvdcW+w610IGpha28gaWRlbnRpZmlrw6F0b3IiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicG9waXMgZHJ1aHUgemHFmcOtemVuw60iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKK21zZ2lkICJzdGF0dXMgb2Ygc29mdHdhcmUgYmxvY2siCittc2dzdHIgInN0YXYgc29mdHdhcm92w6lobyB2eXDDrW5hxI1lIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJzdGF2IGhhcmR3YXJvdsOpaG8gdnlww61uYcSNZSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IG5vbi1ibG9ja2luZyAlcyIKK21zZ3N0ciAiJXMgbmVsemUgcMWZZXBub3V0IGRvIG5lYmxva3Vqw61jw60gcG9sb2h5IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiY2h5Ym7DoSB2ZWxpa29zdCB1ZMOhbG9zdGkgcmZraWxsOiAlenUgPCAlZCIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiZG90YXpvdsOhbsOtICVzIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgIm5lcGxhdG7DvSBpZGVudGlmaWvDoXRvciIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAiemFrw6F6w6FubyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICJwb3ZvbGVubyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAibmVwbGF0bsO9IGlkZW50aWZpa8OhdG9yOuKAryVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gY29tbWFuZCBbaWRlbnRpZmllciAuLi5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBwxZnDrWtheiBbaWRlbnRpZmlrw6F0b3LigKZdXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjkKK21zZ2lkICJUb29sIGZvciBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHdpcmVsZXNzIGRldmljZXMuXG4iCittc2dzdHIgIk7DoXN0cm9qIHBybyBwb3ZvbGVuw60gYSB6YWvDoXrDoW7DrSBiZXpkcsOhdG92w6lobyB6YcWZw616ZW7DrS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIgaGVscCAobsOhcG92xJtkYSlcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIgZXZlbnQgKHVkw6Fsb3N0KVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk0Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAiIGxpc3QgW2lkZW50aWZpa8OhdG9yXSAoc2V6bmFtKVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1Cittc2dpZCAiIGJsb2NrICAgaWRlbnRpZmllclxuIgorbXNnc3RyICIgYmxvY2sgICBpZGVudGlmaWvDoXRvciAoemFrw6F6YXQpXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKK21zZ2lkICIgdW5ibG9jayBpZGVudGlmaWVyXG4iCittc2dzdHIgIiB1bmJsb2NrIGlkZW50aWZpa8OhdG9yIChwb3ZvbGl0KVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJQxZlldmVkZSBzeXN0w6ltIGRvIHNww6Fua3UgYSBwcm9idWTDrSBzZSB2wqB1csSNZW7DvSDEjWFzLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgesOtc2vDoSByZcW+aW0gaG9kaW4gemUgc291Ym9ydSBzZSBzeXN0ZW1hdGlja8O9bVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zdW5lbSAodsO9Y2hvesOtKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8c291Ym9yPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdXLEjXVqZSBjZXN0dSBrwqBzb3Vib3J1IHNlIHN5c3RlbWF0aWNrw71tIHBvc3VuZW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICh2w71jaG96w60gamUgJXMpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPMSNYXM+ICAgICAgICAgxI1hcyBwcm9idXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIC1kLCAtLWRldmljZSA8emHFmcOtemVuw60+ICB2eWJlcmUgUlRDIHphxZnDrXplbsOtIChydGMwfHJ0YzF84oCmKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIHByb3ZlZGUgdsWhZSBhxb4gbmEgdXNww6Fuw61cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHBvdcW+w612w6EgbcOtc3Ruw60gxI1hc292b3UgesOzbnVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgdnlww63FoWUgZG9zdHVwbsOpIHJlxb5pbXlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiAtbSwgLS1tb2RlIDxyZcW+aW0+ICAgICAgIHJlxb5pbSBzcMOhbmt1IChzdGFuZGJ5fG1lbXzigKYpIFtwb2hvdG92b3N0fHBhbcSbxaV84oCmXVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgLXMsIC0tc2Vjb25kcyA8c2VrdW5keT4gIGtvbGlrIHNla3VuZCBidWRlIHNww6F0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE1Cittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICDEjWFzIHByb2J1emVuw61cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBixJvFvsOtIHbCoFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHBvZHJvYm7DqSB6cHLDoXZ5XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInDFmWXEjXRlbsOtIGhvZGluIFJUQyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICJwxZllxI10ZW7DrSBzeXN0w6ltb3bDvWNoIGhvZGluIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInDFmWV2b2QgxI1hc3UgUlRDIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJuYXN0YXZlbsOtIGJ1ZMOta3UgUlRDIHBybyBwcm9idXplbsOtIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAiemFoYXp1amUgc2Ugc3RhbmRhcmRuw60gdnN0dXAiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJuZW/EjWVrw6F2YW7DvSB0xZlldMOtIMWZw6FkZWsgdsKgJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAicMWZZcSNdGVuw60gYnVkw61rdSBSVEMgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICJidWTDrWs6IHZ5cG51dFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgInDFmWV2b2QgxI1hc3Ugc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJidWTDrWs6IHphcG51dCAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAibmVieWxvIG1vxb5uw6kgcMWZZcSNw61zdDogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIm5lcm96cG96bmFuw70gcmXFvmltIHNww6Fua3Ug4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDkzCittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgc2VrdW5kIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5NworbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IMSNYXN1IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlczogcMWZZWRwb2tsw6Fkw6FtLCDFvmUgaG9kaW55IHJlw6FsbsOpaG8gxI1hc3UgYsSbxb7DrSB2wqBVVEPigKZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiUG91xb7DrXbDoW0gVVRDIMSNYXMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiUG91xb7DrXbDoW0gbcOtc3Ruw60gxI1hcy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzMKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiamUgbmV6Ynl0bsOpIHV2w6lzdCDEjWFzIHByb2J1emVuw60gKHZpenRlIHDFmWVww61uYcSNZSAtLXNlY29uZHMsIC0tdGltZSBhIC0tZGF0ZSkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyBuZW3DoSBkb3ZvbGVubyByZWFnb3ZhdCBuYSBwcm9ib3V6ZWPDrSB1ZMOhbG9zdGkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiYnVkw61rICVsZCwgc3lzdMOpbW92w71fxI1hcyAlbGQsIHJlw6FsbsO9X8SNYXMgJWxkLCBzZWt1bmQgJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJob2RpbnkgbmVkb2pkb3UgcG96cMOhdGt1IGvCoCVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogcHJvYnV6ZW7DrSB6YSBwb21vY2kgJXMgdsKgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBwcm9idXplbsOtIHplIHN0YXZ1IOKAniVz4oCcIHphIHBvbW9jaSAlcyB2wqAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJyZcW+aW0gc3DDoW5rdTogbm8gKMW+w6FkbsO9KTsga29uxI3DrSBzZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgInJlxb5pbSBzcMOhbmt1OiBvZmYgKHZ5cG51dG8pOyBzcG91xaF0w60gc2UgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAicmXFvmltIHNww6Fua3k6IG9uICh6YXBudXRvKTsgxI10ZSBzZSBSVENcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTAKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIsSNdGVuw60gaG9kaW4gcmXDoWxuw6lobyDEjWFzdSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICJyZcW+aW0gc3DDoW5rdTogZGlzYWJsZSAoemFrw6F6w6Fubyk7IGJ1ZMOtayBzZSB2eXDDrW7DoVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAicmXFvmltIHNww6Fua3U6IHNob3c7IHpvYnJhesOtIHNlIMO6ZGFqZSBvwqBidWTDrWt1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgInJlxb5pIHNww6Fua3U6ICVzOyBzeXN0w6ltIGJ1ZGUgdXNww6FuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiemFrw6F6w6Fuw60gcMWZZXJ1xaFlbsOtIGJ1ZMOta3UgaG9kaW4gcmXDoWxuw6lobyDEjWFzdSBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiWmFww61uw6Egc2UgJXMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyA8YXJjaGl0ZWt0dXJhPiBbcMWZZXDDrW5hxI1lXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD7igKZdXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICJabcSbbsOtIGhsw6HFoWVub3UgYXJjaGl0ZWt0dXJ1IGEgbmFzdGF2w60gamVqw60gY2hhcmFrdGVyaXN0aWt1LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk4Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgemFwbmUgQUREUl9MSU1JVF8zMkJJVFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIHXEjWluw60gdWthemF0ZWxlIGZ1bmtjw60gdWthenVqw61jw60gbmEgZGVza3JpcHRvcnlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgemFwbmUgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCB6bcSbbsOtIHpwxa9zb2IsIGpha8O9bSBqZSB2aXJ0dcOhbG7DrSBwYW3Em8WlIHDFmWlkxJtsb3bDoW5hXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICB2eXBuZSB6bsOhaG9kbsSbbsOtIHByb3N0b3J1IHZpcnR1w6FsbsOtY2ggYWRyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB6YXBuZSBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB6YXBuZSBTVElDS1lfVElNRU9VVFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgemFwbmUgUkVBRF9JTVBMSUVTX0VYRUNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgemFwbmUgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgb21lesOtIHBvdcW+aXTDvSBhZHJlc27DrSBwcm9zdG9yIGhyYW5pY8OtIDPigK9HQlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcm92w6FubyAoamVuIHBybyB6cMSbdG5vdSBrb21wYXRpYmlsaXR1KVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHphcG5lIFVOQU1FMjZcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdnlwaXN1amUsIGt0ZXLDqSB2b2xieSBqc291IHphcMOtbsOhbnlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICB2eXDDrcWhZSBzZXpuYW0gbW/Fvm7DvWNoIGFyY2hpdGVrdHVyIGEgc2tvbsSNw61cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczogTmVyb3pwb3puYW7DoSBhcmNoaXRla3R1cmEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiSsOhZHJvIG5lbcWvxb5lIG5hc3Rhdml0IGFyY2hpdGVrdHVydSBuYSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiTcOhbG8gYXJndW1lbnTFryIKKworIyBwZXJzb25hbGl0eSDigJPCoGNoYXJha3RlcmlzdGlrYSBhcmNoaXRla3R1cnkKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIlNlbGhhbG8gbmFzdGF2ZW7DrSBjaGFyYWt0ZXJpc3Rpa3kgYXJjaGl0ZWt0dXJ5IG5hICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIm5lcm96cG96bmFuw70gcMWZZXDDrW5hxI0g4oCeLS1saXN04oCcIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2OAorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIm5lemFkw6FuIGFyZ3VtZW50IHPCoGFyY2hpdGVrdHVyb3UiCisKKyMgcGVyc29uYWxpdHkg4oCTwqBjaGFyYWt0ZXJpc3Rpa2EgYXJjaGl0ZWt0dXJ5CisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJzZWxoYWxvIG5hc3RhdmVuw60gY2hhcmFrdGVyaXN0aWt5IGFyY2hpdGVrdHVyeSBuYSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIlNwb3XFoXTDrSBzZSBwxZnDrWtheiDigJ4lc+KAnC5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8cHJvZ3JhbT4gWzxhcmd1bWVudOKApuKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiU3B1c3TDrSBwcm9ncmFtIHPCoGppbsO9bSBuYXN0YXZlbsOtbSBvcHLDoXZuxJtuw60uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSBzb3XEjWFzbsO9IHN0YXYgKGEgbmljIG5lc3B1c3TDrSlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgemFrw6HFvmUgcMWZaWTDoXbDoW7DrSBvcHLDoXZuxJtuw61cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisiIC0tYW1iaWVudC1jYXBzIDxrdmFsaWZpa2FjZSzigKY+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXN0YXbDrSBva29sbsOtIGt2YWxpZmlrYWNlXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDxrdmFsaWZpa2FjZSzigKY+ICBuYXN0YXbDrSBkxJtkaXRlbG7DqSBrdmFsaWZpa2FjZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNgorbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKyIgLS1ib3VuZGluZy1zZXQgPGt2YWxpZmlrYWNlPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFzdGF2w60gb2hyYW5pxI11asOtY8OtIG1ub8W+aW51XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC0tcnVpZCA8VUlEPiAgICAgICAgICAgICAgICBuYXN0YXbDrSByZcOhbG7DqSBVSURcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLWV1aWQgPFVJRD4gICAgICAgICAgICAgICAgbmFzdGF2w60gZWZla3Rpdm7DrSBVSURcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjkKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxHSUQ+ICAgICAgICAgICAgICAgIG5hc3RhdsOtIHJlw6FsbsOpIEdJRFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMAorbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tZWdpZCA8R0lEPiAgICAgICAgICAgICAgICBuYXN0YXbDrSBlZmVrdGl2bsOtIEdJRFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tcmV1aWQgPFVJRD4gICAgICAgICAgICAgICBuYXN0YXbDrSByZcOhbG7DqSBhIGVmZWt0aXZuw60gVUlEXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8R0lEPiAgICAgICAgICAgICAgIG5hc3RhdsOtIHJlw6FsbsOpIGEgZWZla3Rpdm7DrSBHSURcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgb2RzdHJhbsOtIGRvcGzFiGtvdsOpIHNrdXBpbnlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBwb25lY2jDoSBkb3BsxYhrb3bDqSBza3VwaW55XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM1Cittc2dpZCAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbml0aWFsaXplIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pY2lhbGl6dWplIGRvcGzFiGtvdsOpIHNrdXBpbnlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPHNrdXBpbmEs4oCmPiAgICAgICAgbmFzdGF2w60gZG9wbMWIa292w6kgc2t1cGlueVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA8Yml0eT4gICAgICAgICBuYXN0YXbDrSBiZXpwZcSNbm9zdG7DrSBiaXR5XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDx6bmHEjWthPiAgICBuYXN0YXbDrSBzZWxpbnV4b3ZvdSB6bmHEjWt1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHJvZmlsPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFzdGF2w60gcHJvZmlsIEFwcEFybW9ydVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisiVGVudG8gbsOhc3Ryb2ogbcWvxb5lIGLDvXQgbmViZXpwZcSNbsO9LiBQxZllxI10xJt0ZSBzaSBtYW51w6Fsb3ZvdSBzdHLDoW5rdSBhXG4iCisiYnXEj3RlIG9wYXRybsOtLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE4NworbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICLFoXBhdG7DvSBkcnVowqBrdmFsaWZpa2FjZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6w61za2F0IGJlenBlxI1ub3N0w60gYml0eSBwcm9jZXN1IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIkJlenBlxI1ub3N0bsOtIGJpdHk6ICIKKworIyBzZWN1cmUgYml0cworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIlvFvsOhZG7DqV1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogcMWZw61sacWhIGRsb3Vow6kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIkRvcGzFiGtvdsOpIHNrdXBpbnk6ICIKKworIyBzdXBwbGVtZW50YXJ5IGdyb3VwcywgY2FwYWJpbGl0aWVzLCBib3VuZGluZyBzZXQuIFVzZSBuZXV0cmFsIGBuaWMnCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJbbmljXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIkVVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIlNVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ1IHN5cy11dGlscy9zZXRwcml2LmM6NDQ1Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gZ2V0cmVzdWlkIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU0IHN5cy11dGlscy9zZXRwcml2LmM6NDYwCittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gZ2V0cmVzZ2lkIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiRWZla3Rpdm7DrSBrdmFsaWZpa2FjZTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIlBvdm9sZW7DqSBrdmFsaWZpa2FjZTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiRMSbZGl0ZWxuw6kga3ZhbGlmaWthY2U6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiT2tvbG7DrSBrdmFsaWZpa2FjZTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICJbbmVwb2Rwb3JvdsOhbm9dIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICJNbm/FvmluYSBvaHJhbmnEjXVqw61jw60ga3ZhbGlmaWthY2U6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTcKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJabmHEjWthIFNFTGludXh1IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIlByb2ZpbCBBcHBBcm1vcnUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAia3ZhbGlmaWthY2UgJWQ6IGtuaWhvdm5hIGxpYmNhcC1uZyBqZSByb3piaXTDoSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIkNoeWJuw6kgxI3DrXNsbyBkb3BsxYhrb3bDqSBza3VwaW55IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MworbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHNldHJlc3VpZCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHNldHJlc2dpZCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorbXNnaWQgInVuc3VwcG9ydGVkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gZHJ1aCBrdmFsaWZpa2FjZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgIsWhcGF0bsO9IMWZZXTEm3plYyBzwqBrdmFsaWZpa2FjZW1pIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgImtuaWhvdm5hIGxpYmNhcC1uZyBqZSBwcm8ga3ZhbGlmaWthY2kg4oCeYWxs4oCcIHDFmcOtbGnFoSBzdGFyw6EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIm5lem7DoW3DoSBrdmFsaWZpa2FjZSDigJ4lcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIm5lem7DoW3DoSBtbm/FvmluYSBiZXpwZcSNbm9zdG7DrWNoIGJpdMWvIC0gem3Em25hIG9kbcOtdG51dGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTY1Cittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICLFoXBhdG7DvSDFmWV0xJt6ZWMgc8KgYmV6cGXEjW5vc3Ruw61taSBiaXR5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiYmV6cGXEjW5vc3TDrSBiaXR5IOKAnithbGzigJwgbmVqc291IHBvdm9sZW55IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiem3Em25hIGtlZXBfY2FwcyBuZWTDoXbDoSBzbXlzbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJuZXJvenBvem5hbsO9IGJlenBlxI1ub3N0bsOtIGJpdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4IG5lYsSbxb7DrSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXphdsWZZW7DrSBzZWxoYWxvOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3IgbmVixJvFvsOtIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NQorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIm7DoXNvYm7DvSBwxZllcMOtbmHEjSAtLW5vLW5ldy1wcml2cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAibsOhc29ibsOpIGVmZWt0aXZuw60gVUlEIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJyZcOhbG7DrSBVSUQgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTAKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAibsOhc29ibsOpIGVmZWt0aXZuw60gVUlEIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICJlZmVrdGl2bsOtIFVJRCBzZSBuZXBvZGHFmWlsbyByb3plYnJhdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJuw6Fzb2Juw6kgcmXDoWxuw6kgbmVibyBlZmVrdGl2bsOtIFVJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgImhvZG5vdHUgcmV1aWQgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAibsOhc29ibsOpIHJlw6FsbsOpIEdJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAicmXDoWxuw6kgR0lEIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIm7DoXNvYm7DqSBlZmVrdGl2bsOtIEdJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiZWZla3Rpdm7DrSBHSUQgc2UgbmVwb2RhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAibsOhc29ibsOpIHJlw6FsbsOpIG5lYm8gZWZla3Rpdm7DrSBHSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJob2Rub3R1IHJlZ2lkIHNlIG5lemRhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI2Cittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAibsOhc29ibsO9IHDFmWVww61uYcSNIC0tY2xlYXItZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAibsOhc29ibsO9IHDFmWVww61uYcSNZSAtLWtlZXAtZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAibsOhc29ibsO9IHDFmWVww61uYcSNIC0taW5pdC1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAibsOhc29ibsO9IHDFmWVww61uYcSNIC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAibsOhc29ibsO9IHDFmWVww61uYcSNIC0taW5oLWNhcHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAibsOhc29ibsO9IHDFmWVww61uYcSNIC0tYW1iaWVudC1jYXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIm7DoXNvYm7DvSBwxZllcMOtbmHEjWUgLS1ib3VuZGluZy1zZXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIm7DoXNvYm7DvSBwxZllcMOtbmHEjSAtLXNlY3VyZWJpdHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIm7DoXNvYm7DvSBwxZllcMOtbmHEjSAtLXNlbGludXgtbGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIm7DoXNvYm7DvSBwxZllcMOtbmHEjSAtLWFwcGFybW9yLXByb2ZpbGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODk5Cittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLWR1bXAgbmVuw60gc2x1xI1pdGVsbsO9IGpha8O9bWtvbGl2IGppbsO9bSBwxZllcMOtbmHEjWVtIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkwNworbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLWxpc3QtY2FwcyBtdXPDrSBiw710IHphZMOhbiBzYW1vc3RhdG7EmyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiTmV6YWTDoW4gxb7DoWRuw70gcHJvZ3JhbSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLVtyZV1naWQgdnnFvmFkdWplIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzIG5lYm8gLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1pbml0LWdyb3VwcyB2ecW+YWR1amUgLS1ydWlkIG5lYm8gLS1yZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICJVSUQgJWxkIG5lbmFsZXplbm8sIC0taW5pdC1ncm91cHMgdnnFvmFkdWplIHXFvml2YXRlbGUsIGt0ZXLDqWhvIGx6ZSB2wqBzeXN0w6ltdSBuYWrDrXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTMyCittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJ6YWvDoXrDoW7DrSBwxZlpZMSbbG92w6Fuw60gbm92w71jaCBvcHLDoXZuxJtuw60gc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAicG9uZWNow6Fuw60ga3ZhbGlmaWthY8OtIHByb2Nlc3Ugc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFrdGl2b3ZhdCBrdmFsaWZpa2FjZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAicmVha3Rpdm92YXQga3ZhbGlmaWthY2UiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSBpbml0Z3JvdXBzIHNlbGhhbGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgIm5hc3RhdmVuw60gYmV6cGXEjW5vc3Ruw61jaCBiaXTFryBwcm9jZXN1IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJhcGxpa292YXQgb2hyYW5pxI11asOtY8OtIG1ub8W+aW51IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiYXBsaWtvdmF0IGt2YWxpZmlrYWNlIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8cHJvZ3JhbT4gW2FyZ3VtZW504oCmXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIlNwdXN0w60gcHJvZ3JhbSB2wqBub3bDqSByZWxhY2kuXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIgLWMsIC0tY3R0eSAgICAgbmFzdGF2w60gxZnDrWRpY8OtIHRlcm1pbsOhbCBuYSBzb3XEjWFzbsO9XG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgdsW+ZHkgdnl0dm/FmcOtIG5vdsO9IHByb2Nlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIi13LCAtLXdhaXQgICAgICBwb8SNa8OhIG5hIHVrb27EjWVuw60gcHJvZ3JhbXUgYSB2csOhdMOtIGplaG8gbsOhdnJhdG92b3UgaG9kbm90dVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAiZm9yayIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgInBvdG9tZWsgJWQgbmVza29uxI1pbCBub3Jtw6FsbsSbIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTE3Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2V0c2lkIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMjAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgbmFzdGF2aXQgxZnDrWRpY8OtIHRlcm1pbsOhbCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInZ5cMOtbsOhIHNlIG9ka2zDoWTDoW7DrSBkbyAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNAorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJOZWpzdGUgc3VwZXJ1xb5pdmF0ZWwuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb2ZmIHNlbGhhbCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbPHNwZWNpZmlrYWNlPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJWeXBuZSBzdHLDoW5rb3bDoW7DrSBhIG9ka2zDoWTDoW7DrSBkbyB6YcWZw616ZW7DrSBhIHNvdWJvcsWvLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICB2eXBuZSB2xaFlY2hueSBvZGtsw6FkYWPDrSBvYmxhc3RpIHV2ZWRlbsOpIHbCoC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdXBvdsOtZGFuw70gcmXFvmltXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM0Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGFyYW1ldHIgPHNwZWNpZmlrYWNlPjpcbiIKKyIgLUwgSk1FTk9WS0EgICAgICAgICAgICB2eWJlcmUgemHFmcOtemVuw60gcG9kbGUgam1lbm92a3lcbiIKKyIgLVUgVVVJRCAgICAgICAgICAgICAgICB2eWJlcmUgemHFmcOtemVuw60gcG9kbGUgVVVJRFxuIgorIiBMQUJFTD08am1lbm92a2E+ICAgICAgIHZ5YmVyZSB6YcWZw616ZW7DrSBwb2RsZSBqbWVub3ZreVxuIgorIiBVVUlEPTxVVUlEPiAgICAgICAgICAgIHZ5YmVyZSB6YcWZw616ZW7DrSBwb2RsZSBVVUlEXG4iCisiIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgdnliZXJlIHphxZnDrXplbsOtXG4iCisiIDxzb3Vib3I+ICAgICAgICAgICAgICAgdnliZXJlIHNvdWJvclxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAic291Ym9yIHphxZnDrXplbsOtIG5lYm8gY2VzdGEga8Kgb2Rkw61sdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJkcnVoIHphxZnDrXplbsOtIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgInZlbGlrb3N0IG9ka2zDoWRhY8OtIG9ibGFzdGkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAicG91xb5pdG8gYmFqdMWvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAicHJpb3JpdGEgb2RrbMOhZGFjw60gb2JsYXN0aSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMQorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAiVVVJRCBvZGtsw6FkYWPDrSBvYmxhc3RpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAyCittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAiam1lbm92a2Egb2RrbMOhZGFjw60gb2JsYXN0aSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx0RHJ1aFx0XHRWZWxpa29zdFx0UG91xb5pdG9cdFByaW9yaXRhXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiTsOhemV2IHNvdWJvcnUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IG9ka2zDoWRhY8OtIG9ibGFzdCBzZSB6bm92dSBpbmljaWFsaXp1amUuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiVzOiB2b2zDoW7DrSBsc2VlayBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlczogesOhcGlzIHZ6b3JjZSBzZWxoYWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IHZ5bmVjaMOhdsOhbcKg4oCTIHpkw6Egc2UsIMW+ZSBvYnNhaHVqZSBkw61yeS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5lcG9kYcWZaWxvIHNlIHpqaXN0aXQgdmVsaWtvc3QiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2UgbmHEjcOtc3QgaGxhdmnEjWt1IG9ka2zDoWRhY8OtIG9ibGFzdGkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVzOiBuYWxlemVuIHZ6b3JlYyBbdmVsaWtvc3Qgc3Ryw6Fua3kgJWQsIHZ6b3JlYyAlc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiB2ZWxpa29zdF9zdHLDoW5reT0lZCwgdmVsaWtvc3Rfw7psb8W+acWhdMSbPSVsbHUsIHZlbGlrb3N0X3phxZnDrXplbsOtPSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggamUgdsSbdMWhw60gbmXFviBzb3XEjWFzbsOtIHZlbGlrb3N0IG9ka2zDoWRhY8OtaG8gcHJvc3RvcnUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6IGZvcm3DoXQgb2RrbMOhZGFjw61obyBwcm9zdG9ydSBzZSBuZXNob2R1amUgdmUgdmVsaWtvc3RpIHN0csOhbmt5LiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlczogZm9ybcOhdCBvZGtsw6FkYWPDrWhvIHByb3N0b3J1IHNlIG5lc2hvZHVqZSB2ZSB2ZWxpa29zdGkgc3Ryw6Fua3kuIChMemUgamkgem5vdnUgaW5pY2lhbGl6b3ZhdCBwb21vY8OtIC0tZml4cGdzei4pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogbmFsZXplbmEgZGF0YSB6ZSBzb2Z0d2Fyb3bDqWhvIHVzcMOhbsOtLiBQxZllcGlzdWplIHNlIHZ6b3JlYyBvZGtsw6FkYWPDrSBvYmxhc3RpLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiemFww61uw6Egc2Ugb2RrbMOhZMOhbsOtIGRvICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gc2VsaGFsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiB2b2xiYSBub2F1dG8g4oCTIGlnbm9ydWplIHNlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogamnFviBha3Rpdm7DrcKg4oCTIGlnbm9ydWplIHNlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IG5lcMWZw61zdHVwbsO9wqDigJMgaWdub3J1amUgc2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIlVtb8W+bsOtIHN0csOhbmtvdsOhbsOtIGEgb2RrbMOhZGFuw60gZG8gemHFmcOtemVuw60gYSBzb3Vib3LFry5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICB6YXBuZSB2xaFlY2hueSBvZGtsw6FkYWPDrSBvYmxhc3RpIHV2ZWRlbsOpIHbCoC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtZCwgLS1kaXNjYXJkWz08cG9saXRpa2E+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgemFwbmUgemFoYXpvdsOhbsOtIHN0csOhbmVrLCBqZS1saSBwb2Rwb3JvdsOhbm8gemHFmcOtemVuw61tXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHbCoHRpY2hvc3RpIHDFmWVza2/EjcOtIG5lZXhpc3R1asOtY8OtIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICB6bm92dSBpbmljaWFsaXp1amUgb2RrbMOhZGFjw60gb2JsYXN0LCBqZS1saSB0byBudXRuw6lcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxzZXpuYW0+ICAgxI3DoXJrb3Ugb2RkxJtsZW7DvSBzZXpuYW0gdm9sZWIgcHJvIG9ka2zDoWRhY8OtIG9ibGFzdFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1wcmlvcml0eSA8cHJpb3JpdGE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB1csSNdWplIHByaW9yaXR1IG9ka2zDoWRhY8OtaG8gemHFmcOtemVuw61cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIiCisiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICB6b2JyYXrDrSBwxZllaGxlZCBwb3XFvml0w71jaCBvZGtsw6FkYWPDrWNoIHphxZnDrXplbsOtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoWkFTVEFSQUzDiSlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNworbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIgICAgIC0tc2hvd1s9PHNsb3VwY2U+XSAgem9icmF6w60gcMWZZWhsZWQgdsKgZGVmaW5vdmF0ZWxuw6kgdGFidWxjZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA4Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBuZXpvYnJhesOtIHrDoWhsYXbDrSB0YWJ1bGt5IChwxZlpwqAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIG5lZm9ybcOhdG92YW7DvSB2w71zdHVwIChwxZlpwqAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICB6b2JyYXrDrSB2ZWxpa29zdGkgdsKgYmFqdGVjaCB2ZSB2w71zdHVwdSAtLXNob3dcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdXBvdsOtZGFuw70gcmXFvmltXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTYKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJhbWV0ciA8c3BlY2lmaWthY2U+OlxuIgorIiAtTCA8am1lbm92a2E+ICAgICAgICAgIHN0ZWpuw6kgamFrbyBMQUJFTD08am1lbm92a2E+XG4iCisiIC1VIDxVVUlEPiAgICAgICAgICAgICAgc3Rlam7DqSBqYWtvIFVVSUQ9PFVVSUQ+XG4iCisiIExBQkVMPTxqbWVub3ZrYT4gICAgICAgdnliZXJlIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5IG9ka2zDoWRhY8OtIG9ibGFzdGlcbiIKKyIgVVVJRD08VVVJRD4gICAgICAgICAgICB2eWJlcmUgemHFmcOtemVuw60gcG9kbGUgVVVJRCBvZGtsw6FkYWPDrSBvYmxhc3RpXG4iCisiIFBBUlRMQUJFTD08am1lbm92a2E+ICAgdnliZXJlIHphxZnDrXplbsOtIHBvZGxlIGptZW5vdmt5IG9kZMOtbHVcbiIKKyIgUEFSVFVVSUQ9PFVVSUQ+ICAgICAgICB2eWJlcmUgemHFmcOtemVuw60gcG9kbGUgVVVJRCBvZGTDrWx1XG4iCisiIDx6YcWZw616ZW7DrT4gICAgICAgICAgICAgdnliZXJlIHphxZnDrXplbsOtXG4iCisiIDxzb3Vib3I+ICAgICAgICAgICAgICAgdnliZXJlIHNvdWJvclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiRG9zdHVwbsOpIHBvbGl0aWt5IHphaGF6b3bDoW7DrSAocHJvIHDFmWVww61uYcSNIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgIHBvdXplIHphaG9kw60gYmxva3kgY2Vsw6kgb2RrbMOhZGFjw60gb2JsYXN0aSBwxZlpIHphcG51dMOtIChzd2Fwb24pLlxuIgorIiBwYWdlcyAgICB6YWhhenVqZSBibG9reSB1dm9sbsSbbsO9Y2ggc3Ryw6FuZWsgcMWZZWQgamVqaWNoIG9wxJt0b3Zuw71tIHBvdcW+aXTDrW0uXG4iCisiIE5lbsOtLWxpIHZ5YnLDoW5hIMW+w6FkbsOhIHBvbGl0aWthLCBvYmEgdHlweSB6YWhhem92w6Fuw60gYnVkb3UgemFwbnV0eSAodsO9Y2hvesOtKS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAicHJpb3JpdHUgc2UgbmV6ZGHFmWlsbyByb3plYnJhdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIm5lcG9kcG9yb3ZhbsOhIHBvbGl0aWthIHphaGF6b3bDoW7DrTogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIm5lbHplIG5hbMOpenQgemHFmcOtemVuw60gcHJvICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAiYWRyZXPDocWZIHNlIG5lcG9kYcWZaWxvIG90ZXbFmcOtdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc3RhdCBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAiYWRyZXPDocWZZSBuZWx6ZSBwxZllxI3DrXN0IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiJXMgc2UgbmVwb2RhxZlpbG8gc21hemF0IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAicMWZZXN1biBwxZnDrXBvam7DqWhvIGJvZHUgJXMgZG8gJXMgc2UgbmV6ZGHFmWlsIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJ2eW51Y3VqZSBzZSBvZHBvamVuw60gJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgcMWZZWrDrXQgZG8gYWRyZXPDocWZZSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAicMWZZXN1biBwxZnDrXBvam7DqWhvIGJvZHUgJXMgZG8gLyBzZSBuZXpkYcWZaWwiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiem3Em25hIGtvxZllbnUgc2UgbmV6ZGHFmWlsYSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJzdGFyw70ga2/FmWVub3bDvSBzb3Vib3JvdsO9IHN5c3TDqW0gbmVuw60gaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8bm92w71fa2/FmWVub3bDvV9hZHJlc8OhxZk+IDxpbml0PiA8YXJndW1lbnR1X2luaXR1PlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDkKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICJQxZllcG5lIGtvxZllbiBzdHJvbXUgcMWZaXBvamVuw60gZG8gamluw6lobyBzb3Vib3JvdsOpaG8gc3lzdMOpbXUuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1NQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJuZcO6c3DEm2NoLiBKZSBuw6FtIGzDrXRvLiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgImvCoCVzIG5lbHplIHDFmWlzdG91cGl0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICJOYXN0YXbDrSByb3psacSNbsOpIHBhcmFtZXRyeSDFmcOhZGtvdsOpIHRpc2vDoXJueS5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMQorbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8xI3DrXNsbz4gICAgICAgICAgICB1csSNdWplIElSUSBwYXJhbGVsbsOtIHBvcnR1XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICDEjWVrw6Fuw60gbmEgb3ZsYWRhxI0gdsKgbWlsaXNla3VuZMOhY2hcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDzEjcOtc2xvPiAgICAgICAgICBwb8SNZXQgdsO9c3R1cG7DrWNoIHpuYWvFryBwxZllZCB1c251dMOtbVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8wrVzPiAgICAgICAgICAgICAgxI1la8OhbsOtIG5hIHNpZ27DoWwgc3Ryb2JlIHbCoG1pa3Jvc2VrdW5kw6FjaFxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICB1a29uxI3DrSDEjWlubm9zdCBwxZlpIGNoeWLEmyAoYW5vfG5lKVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIHDFmWVkIHbDvXBpc2VtIHprb250cm9sdWplIHN0YXYgdGlza8Ohcm55IChhbm98bmUpXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZG9wbMWIdWrDrWPDrSBrb250cm9seSBzdGF2dSAoYW5vfG5lKVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgZG90w6HFvmUgc2UgbmEgc3RhdiB0aXNrw6FybnlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0dWplIHBvcnRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICB6b2JyYXrDrSBzb3XEjWFzbsOpIG5hc3RhdmVuw60gSVJRXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgbmVuw60gbHAgemHFmcOtemVuw61tIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjc4Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgImNoeWJhIExQR0VUU1RBVFVTIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAic3RhdHVzICVzIGplICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCB6YW5lcHLDoXpkbsSbbmEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCBwxZlpcHJhdmVuYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBkb8WhZWwgcGFww61yIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCB6YXBudXRhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgY2h5YmEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIGlvY3RsIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiY2h5YmEgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIHBvdcW+w612w6EgSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyBwb3XFvsOtdsOhIHBvbGxcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtwxZllcMOtbmHEjWVdXG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gPHpkcm9qPiB8IDxhZHJlc8OhxZk+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIk9kcG9qw60gc291Ym9yb3bDqSBzeXN0w6lteS5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBvZHBvasOtIHbFoWVjaG55IHNvdWJvcm92w6kgc3lzdMOpbXlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIG9kcG9qw60gdsWhZWNobnkgYm9keSBwxZnDrXBvamVuw60gcHJvIHphZGFuw6kgemHFmcOtemVuw61cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgdsKgYWt0dcOhbG7DrW0gam1lbm7DqW0gcHJvc3RvcnVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgbmVub3JtYWxpenVqZSBjZXN0eVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTIKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGplLWxpIHDFmWlwb2plbm8gbG9vcCB6YcWZw616ZW7DrSwgcm92bsSbxb4gamVqIHV2b2xuw61cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICB6a3XFoWVibsOtIHJlxb5pbSwgcMWZZXNrb8SNw60gc3lzdMOpbW92w6kgdm9sw6Fuw60gdW1vdW50KDIpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICB2eW51dMOtIG9kcG9qZW7DrSAocHJvIHDFmcOtcGFkIG5lZG9zdHVwbsOpaG8gTkZTKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBuZXZvbMOhIHBvbW9jbsOpIHByb2dyYW15IHVtb3VudC48dHlwPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBzb3Vib3JvdsO9IHN5c3TDqW0gb2Rwb2rDrSB0ZcSPLCB1a2xpZMOtIHBvemTEm2ppXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIgorIiAtTywgLS10ZXN0LW9wdHMgPHNlem5hbT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgb21lesOtIG1ub8W+aW51IHNvdWJvcm92w71jaCBzeXN0w6ltxa8gKHBvdcW+aWp0ZSBzwqAtYSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWt1cnppdm7EmyBvZHBvasOtIGPDrWwgdsSNZXRuxJsgdsWhZWNoIGplaG8gcG90b21rxa9cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIHNlbMW+ZS1saSBvZHBvamVuw60sIHprdXPDrSBzb3Vib3JvdsO9IHN5c3TDqW0gcMWZZXBvaml0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGplbiBwcm8gxI10ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPHNlem5hbT4gICAgb21lesOtIG1ub8W+aW51IHR5cMWvIHNvdWJvcm92w71jaCBzeXN0w6ltxa9cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgKCVzKSBvZHBvamVuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgb2Rwb2plbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSBuYXN0YXZpdCBjw61sIG9kcG9qZW7DrSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJhbG9rYWNlIHRhYnVsa3kgbGlibW91bnR1IHNlIG5lemRhxZlpbGEiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjM0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJhbG9rYWNlIGl0ZXLDoXRvcnUgbGlibW91bnR1IHNlIG5lemRhxZlpbGEiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAibmVwb2RhxZlpbG8gc2UgesOtc2thdCBzb3Vib3JvdsO9IHN5c3TDqW0gcG90b21rYSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuZW5hbGV6ZW5vIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiJXM6IHVyxI1lbsOtIHpkcm9qZSBzZWxoYWxvICgtLWFsbC10YXJnZXRzIG5lbsOtIHBvZHBvcm92w6FubyBuYSBzeXN0w6ltZWNoIHPCoGLEm8W+bsO9bSBzb3Vib3JlbSBtdGFiKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAibmVwb2Rwb3JvdmFuw70gYXJndW1lbnQgLS1zZXRncm91cHM6IOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgInrDoXBpcyBkbyAlcyBzZWxoYWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICJuZXBvZHBvcm92YW7DvSByZcW+aW0gcHJvcGFnYWNlOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAicHJvcGFnYWNpIGtvxZllbm92w6lobyBzb3Vib3JvdsOpaG8gc3lzdMOpbXUgbmVsemUgem3Em25pdCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICJwxZlpcG9qZW7DrSAlcyBkbyAlcyBzZWxoYWxvIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAib8KgJXMgbmVsemUgesOtc2thdCBwb2Ryb2Jub3N0aSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAidnl0dm/FmWVuw60gcm91cnkgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICLEjXRlbsOtIHrCoHJvdXJ5IHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIlNwdXN0w60gcHJvZ3JhbSBzwqBuxJtrdGVyw71taSBqbWVubsO9bWkgcHJvc3Rvcnkgb2RkxJtsZW7DvW1pIG9kIHJvZGnEjWUuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PHNvdWJvcj5dICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBwxZnDrXBvam7DvWNoIGJvZMWvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxzb3Vib3I+XSAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvcnUgVVRTIChuw6F6ZXYgc3Ryb2plIGF0ZC4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxzb3Vib3I+XSAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBTeXN0ZW0gViBJUENcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxzb3Vib3I+XSAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvcnUgc8OtdMOtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxzb3Vib3I+XSAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvcnUgxI3DrXNlbCBwcm9jZXPFr1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxzb3Vib3I+XSAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIHXFvml2YXRlbMWvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxzb3Vib3I+XSAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBrb250cm9sbsOtY2ggc2t1cGluXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBwxZllZCBzcHXFoXTEm27DrW0gPHByb2dyYW11PiB2eXR2b8WZw60gcG90b21rYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisiICAgICAtLWtpbGwtY2hpbGRbPTxuw6F6ZXZfc2lnbsOhbHU+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwxZlpIHVrb27EjWVuw60gemFiaWplIHBvdG9ta3kgKHphcG5lIC0tZm9yayk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHbDvWNob3rDrSBqZSBTSUdLSUxMXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKyIgICAgIC0tbW91bnQtcHJvY1s9PGFkcmVzw6HFmT5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbmVqcHJ2ZSBwxZlpcG9qw60gc291Ym9yb3bDvSBzeXN0w6ltIHByb2NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAoem5hbWVuw6EgLS1tb3VudClcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbmFtYXB1amUgc291xI1hc27DqWhvIHXFvml2YXRlbGUgbmEgdcW+aXZhdGVsZSByb290XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHpuYW1lbsOhIC0tdXNlcilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICB6bcSbbsOtIHByb3BhZ2FjaSBwxZlpcG9qZW7DrSB2ZSBqbWVubsOpbSBwcm9zdG9ydVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHDFmcOtcG9qbsO9Y2ggYm9kxa8gKOKAnnNsYXZl4oCcIHBvZMWZw616ZW7DoSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDigJ5zaGFyZWTigJwgc2TDrWxlbsOhLCDigJ5wcml2YXRl4oCcIHNvdWtyb23DoSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDigJ51bmNoYW5nZWTigJwgbmV6bcSbbsSbbsOhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgxZnDrWTDrSB2b2zDoW7DrSBzZXRncm91cHMgdmUgam1lbm7DvWNoIHByb3N0b3JlY2hcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHXFvml2YXRlbGUgKOKAnmFsbG934oCcIHBvdm9sw60sIOKAnmRlbnnigJwgemFrw6HFvmUpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIHVuc2hhcmUgc2VsaGFsbyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAidWtvbsSNZW7DrSBwb3RvbWthIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU0Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgInDFmWVww61uYcSNZSAtLXNldGdyb3Vwcz1hbGxvdyBhIC0tbWFwLXJvb3QtdXNlciBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAicMWZaXBvamVuw60gJXMgc2UgbmV6ZGHFmWlsbyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiS2FydGEgbmFwb3NsZWR5IHJlc2V0b3ZhbGEgQ1BVIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIlZuxJtqxaHDrSByZWzDqSAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIlZuxJtqxaHDrSByZWzDqSAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIlNlbGhhbCB2xJt0csOhayIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIk9kcG92xJvEjyBuYSBrZWVwLWFsaXZlIHBpbmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiUG9kcG9ydWplIG1hZ2lja8O9IHpuYWsgdXphdsWZZW7DrSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICJSZXNldCBrdsWvbGkgcMWZZWjFmcOhdMOtIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIlDFmWVwxJt0w60iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJQb2RwxJt0w63CoC8gdsO9cGFkZWsgbmFww6FqZW7DrSIKKworIyA/Pz8KKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIlBydm90bsOtIMSNYXNvdsO9IGxpbWl0ICh2wqBzZWt1bmTDoWNoKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIk5hc3RhdmVuw60gxI1hc292w6lobyBsaW1pdHUgKHbCoHNla3VuZMOhY2gpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiTmV6cMWvc29iw60gcmVib290IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIm7DoXpldiBwxZnDrXpuYWt1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJwb3BpcyBwxZnDrXpuYWt1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAic3RhdiBwxZnDrXpuYWt1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJzdGF2IHDFmcOtem5ha3Ugc3RhcnR1IHN5c3TDqW11IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibsOhemV2IGhsw61kYWPDrWhvIHphxZnDrXplbsOtIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAibmV6bsOhbcO9IHDFmcOtem5hazogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIlVrw6HFvmUgc3RhdiBoYXJkd2Fyb3bDqWhvIGhsw61kYWPDrWhvIHphxZnDrXplbsOtLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODEKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmxhZ3MgPHNlem5hbT4gICB2eXDDrcWhZSBwb3V6ZSB2eWJyYW7DqSBwxZnDrXpuYWt5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgbmV2eXBpc3VqZSDDumRhamUgb8KgcMWZw616bmFjw61jaFxuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIG5ldnlwaXN1amUgaWRlbnRpZmlrYcSNbsOtIMO6ZGFqZSBzbGVkb3ZhY8OtaG8gemHFmcOtemVuw61cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuZXZ5cGlzdWplIHrDoWhsYXbDrSB0YWJ1bGt5IHDFmcOtem5ha8WvXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgdnlww63FoWUgdsWhZWNobnkgw7pkYWplIG5hIGplZGVuIMWZw6FkZWtcbiIKKyIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+ICB2eXDDrcWhZSBzbG91cGNlIHDFmcOtem5ha8WvXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdGFidWxrdSBwxZnDrXpuYWvFryBuZWZvcm3DoXR1amVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBuZXZ5cGlzdWplIMSNYXNvdsOpIGxpbWl0eSBobMOtZGFjw61obyB6YcWZw616ZW7DrVxuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWt1bmR5PlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG5hc3RhdsOtIMSNYXNvdsO9IGxpbWl0IGhsw61kYWPDrWhvIHphxZnDrXplbsOtXG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgdnlww63FoWUgamVuIHRhYnVsa3UgcMWZw616bmFrxa8gKHN0ZWpuw6kgamFrbyAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiVsO9Y2hvesOtIHphxZnDrXplbsOtIGplICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogbmV6bsOhbcO9IHDFmcOtem5hayAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMCBzeXMtdXRpbHMvd2RjdGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiBobMOtZGFjw60gemHFmcOtemVuw60gc2UgamnFviBwb3XFvsOtdsOhLCBrb27EjcOtIHNlLiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzM0IHN5cy11dGlscy93ZGN0bC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IGhsw61kYWPDrSB6YcWZw616ZW7DrSBzZSBuZXBvZGHFmWlsbyB2eXBub3V0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAixI1hc292w70gbGltaXQgcHJvICVzIG5lbHplIG5hc3Rhdml0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICLEjGFzb3bDvSBsaW1pdCBqZSBuYXN0YXZlbiBuYSAlZCBzZWt1bmR1LlxuIgorbXNnc3RyWzFdICLEjGFzb3bDvSBsaW1pdCBqZSBuYXN0YXZlbiBuYSAlZCBzZWt1bmR5LlxuIgorbXNnc3RyWzJdICLEjGFzb3bDvSBsaW1pdCBqZSBuYXN0YXZlbiBuYSAlZCBzZWt1bmQuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IHrDrXNrw6Fuw60gw7pkYWrFryBvwqBobMOtZGFjw61tIHphxZnDrXplbsOtIHNlbGhhbG8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIHNla3VuZGFcbiIKK21zZ3N0clsxXSAiJS0xNHMgJTJpIHNla3VuZHlcbiIKK21zZ3N0clsyXSAiJS0xNHMgJTJpIHNla3VuZFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAixIxhc292w70gbGltaXQ6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlBydm90bsOtIMSNYXNvdsO9IGxpbWl0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzIKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIlpiw712w6EgxI1hc3U6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJaYcWZw616ZW7DrToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdGE6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDgKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJ6ZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIm7DoXpldiB6YcWZw616ZW7DrSB6cmFtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAib21lemVuw60gbmEgbW5vxb5zdHbDrSBuZWtvbXByaW1vdmFuw71jaCBkYXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAibmVrb21wcmltb3ZhbsOhIHZlbGlrb3N0IHVsb8W+ZW7DvWNoIGRhdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAia29tcHJpbW92YW7DoSB2ZWxpa29zdCB1bG/FvmVuw71jaCBkYXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJ2eWJyYW7DvSBrb21wcmVzbsOtIGFsZ29yaXRtdXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJwb8SNZXQgc291YsSbxb5uw71jaCBrb21wcmVzbsOtY2ggb3BlcmFjw60iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInByw6F6ZG7DqSBzdHLDoW5reSBiZXogYWxva292YW7DqSBwYW3Em3RpIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJ2ZcWha2Vyw6EgcGFtxJvFpSB2xI1ldG7EmyBmcmFnbWVudGFjZSBhbG9rw6F0b3J1IGEgcmXFvmllIG1ldGFkYXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIm9tZXplbsOtIHBhbcSbdGkgcG91xb5pdG8gbmEgdWxvxb5lbsOtIGtvbXByaW1vdmFuw71jaCBkYXQiCisKKyMgPz8/IFRoaXMgaXMgbm90IEVuZ2xpc2gKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJ6cmFtIHBhbcSbxaUgdnlwb3TFmWVib3bDoW5hIG5hIHVsb8W+ZW7DrSBrb21wcmltb3ZhbsO9Y2ggZGF0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg1Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAicG/EjWV0IG9iamVrdMWvIHDFmWVzdMSbaG92YW7DvWNoIHDFmWkgc2x1xI1vdsOhbsOtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJOZXBvZGHFmWlsbyBzZSByb3plYnJhdCBtbV9zdGF0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDx6YcWZw616ZW7DrT5cbiIKKyIgJTEkcyAtciA8emHFmcOtemVuw60+IFvigKZdXG4iCisiICUxJHMgW3DFmWVww61uYcSNZV0gLWYgfCA8emHFmcOtemVuw60+IC1zIDx2ZWxpa29zdD5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJOYXN0YXbDrSBhIG92bMOhZMOhIHpyYW0gemHFmcOtemVuw60uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgcG91xb5pamUgdnlicmFuw70ga29tcHJlc27DrVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsZ29yaXRtdXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDIKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHZlbGlrb3N0aSB2eXBpc3VqZSB2wqBiYWp0ZWNoIG5hbcOtc3RvIHbCoHBvZG9ixJtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICB2aG9kbsOpIHBybyDEjWxvdsSba2FcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgbmFqZGUgdm9sbsOpIHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgbmV2eXDDrcWhZSB6w6FobGF2w61cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+ICAgICB1csSNdWplLCBrdGVyw6kgdsO9c3R1cG7DrSBzbG91cGNlIHNlIHBvdcW+aWrDrVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXAgc3RhdnVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDcKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXR1amUgdsWhZWNobmEgemFkYW7DoSB6YcWZw616ZW7DrVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OAorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtcywgLS1zaXplIDx2ZWxpa29zdD4gICAgIHZlbGlrb3N0IHphxZnDrXplbsOtXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPHBvxI1ldD4gICAgIHBvxI1ldCBrb21wcmVzbsOtY2ggcHJvdWTFr1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJwcm91ZHkgc2UgbmVwb2RhxZlpbG8gcm96ZWJyYXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS1maW5kIGEgPHphxZnDrXplbsOtPiBzZSB2esOhamVtbsSbIHZ5bHXEjXVqw60iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgInNvdcSNYXNuxJsgbHplIHphZGF0IHBvdXplIGplZG5vIDx6YcWZw616ZW7DrT4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgInDFmWVww61uYcSNZSAtLWFsZ29yaXRobSBhIC0tc3RyZWFtcyBtdXPDrSBiw710IHBvdcW+aXR5IHNlIC0tc2l6ZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IHJlc2V0IHNlIG5lemRhxZlpbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICJuZW5hbGV6ZW5vIMW+w6FkbsOpIHZvbG7DqSB6cmFtIHphxZnDrXplbsOtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IG5lemRhxZlpbG8gc2UgbmFzdGF2aXQgcG/EjWV0IHByb3Vkxa8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IG5lemRhxZlpbG8gc2UgbmFzdGF2aXQgYWxnb3JpdG11cyIKKworIyBUT0RPOiBwbHVyYWxpemUKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogbmV6ZGHFmWlsbyBzZSBuYXN0YXZpdCB2ZWxpa29zdCBkaXNrdSAoJSdqdSBiYWp0xa8pIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKGF1dG9tYXRpY2vDqSBwxZlpaGzDocWhZW7DrSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBuZWx6ZSB6bcSbbml0IGtvxZllbm92w70gYWRyZXPDocWZICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBuZWx6ZSB6bcSbbml0IHByYWNvdm7DrWhvIGFkcmVzw6HFmWUgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogbmVsemUgem3Em25pdCBwcmlvcml0dSBwcm9jZXN1OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogJXMgbmVsemUgc3B1c3RpdDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJwYW3Em8WlIG5lbHplIGFsb2tvdmF0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMgesKgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHpwb8W+ZMSbbsOtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tbG9jYWwtbGluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MDUKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwxZllcMOtbmHEjWUgLS1uaWNlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJjaHlibsOhIHJ5Y2hsb3N0ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInDFmcOtbGnFoSBtbm9obyBhbHRlcm5hdGl2bsOtY2ggcnljaGxvc3TDrSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzIG5lbHplIG90ZXbFmcOtdCBqYWtvIHN0YW5kYXJkbsOtIHZzdHVwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXMgbmVuw60gem5ha292w71tIHphxZnDrXplbsOtbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogbmVuw60gVFRZIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmVsemUgesOtc2thdCDFmcOtZGljw60gVFRZOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2b2zDoW7DrSB2aGFuZ3VwKCkgc2VsaGFsbzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBuZW7DrSBvdGV2xZllbm8gcHJvIMSNdGVuw60vesOhcGlzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmVsemUgbmFzdGF2aXQgc2t1cGludSBwcm9jZXN1OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiB2b2zDoW7DrSBkdXAgc2VsaGFsbzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IG5lbHplIHpqaXN0aXQgdmxhc3Rub3N0aSB0ZXJtaW7DoWx1OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAidmxhc3Rub3N0aSB0ZXJtaW7DoWx1IG5lbHplIG5hc3Rhdml0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY0Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJzb3Vib3Igb3MtcmVsZWFzZSBuZWx6ZSBvdGV2xZnDrXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgInZ5dHZvxZllbsOtIHNvdWJvcnUgcHJvIG9wxJt0b3Zuw6kgemF2ZWRlbsOtIHNlbGhhbG86ICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW3BybyBwxZlpaGzDocWhZW7DrSBzdGlza27Em3RlIEVOVEVSXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayB2eXBudXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0gTG9jayB6YXBudXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2NQorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQ2FwcyBMb2NrIHphcG51dCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY4Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIlNjcm9sbCBMb2NrIHphcG51dCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiTsOhcG92xJtkYTogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IHDFmWXEjXRlbm86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBwxZlldGXEjWVuw60gdnN0dXB1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogY2h5YmEgcMWZaSBwxZlldm9kdSB6bmFrdSB2wqBwxZlpaGxhxaFvdmFjw61tIGptw6luxJsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogbmVwbGF0bsO9IHpuYWsgMHgleCB2wqBwxZlpaGxhxaFvdmFjw61tIGptw6luxJsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IHZsYXN0bm9zdGkgdGVybWluw6FsdSBuZWx6ZSBuYXN0YXZpdDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDxsaW5rYT4gWzxiYXVkX3JhdGU+LOKApl0gWzxkcnVoX3Rlcm1pbsOhbHU+XVxuIgorIiAlMSRzIFtwxZllcMOtbmHEjWVdIDxiYXVkX3JhdGU+LOKApiA8bGlua2E+IFs8ZHJ1aF90ZXJtaW7DoWx1Pl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIk90ZXbFmWUgdGVybWluw6FsIGEgbmFzdGF2w60gamVobyByZcW+aW0uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMworbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBwxZllZHBva2zDoWTDoSA4Yml0b3bDqSBUVFlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPHXFvml2YXRlbD4gYXV0b21hdGlja3kgcMWZaWhsw6Fzw60gemFkYW7DqWhvIHXFvml2YXRlbGVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM1Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG5lcmVzZXR1amUgxZnDrWRpY8OtIHJlxb5pbVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICBwcm9ncmFtdSBsb2dpbigxKSBwxZllZMOhIC1yIDxuw6F6ZXZfc3Ryb2plPlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1pc3N1ZS1maWxlIDxzb3Vib3I+ICB6b2JyYXrDrSBzb3Vib3Igc8Kgdnlkw6Fuw61tXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBwb3ZvbMOtIGhhcmR3YXJvdsOpIMWZw616ZW7DrSB0b2t1XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPG7DoXpldl9zdHJvamU+ICB1csSNw60gbsOhemV2IHN0cm9qZSBwxZlpIHDFmWlobMOhxaFlbsOtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MAorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBuZXpvYnJhesOtIHNvdWJvciBzwqB2eWTDoW7DrW1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisiIC1JLCAtLWluaXQtc3RyaW5nIDzFmWV0xJt6ZWM+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hc3RhdsOtIGluaWNpYWxpemHEjW7DrSDFmWV0xJt6ZWNcbiIKKworIyBGSVhNRTogTWlzc2luZyBjb21tYQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KLCAtLW5vY2xlYXIgICAgICAgICAgICAgIHDFmWVkIHbDvXp2b3UgbmVzbWHFvmUgb2JyYXpvdmt1XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxzb3Vib3I+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVyxI3DrSBwcm9ncmFtIGxvZ2luXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NAorbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxyZcW+aW0+XSDFmcOtZMOtIHDFmcOtem5hayBtw61zdG7DrSBsaW5reVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDUKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIHrDrXNrw6EgYmF1ZCByYXRlIHrCoHDFmWlwb2p1asOtY8OtIHNlIGbDoXplXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgbmVwdMOhIHNlIG5hIHDFmWlobGHFoW92YWPDrSBqbcOpbm9cbiIKKworIyBGSVhNRTogTWlzc2luZyBjb21tYQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiwgLS1ub25ld2xpbmUgICAgICAgICAgICBuZW9kxZnDoWRrdWplIHDFmWVkIHbDvXBpc2VtIHZ5ZMOhbsOtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIiCisiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPGFyZ3VtZW50eT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXJndW1lbnR5LCBrdGVyw6kgYnVkb3UgcMWZZWTDoW55IHByb2dyYW11IGxvZ2luXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHDFmWVkIHbDvXp2b3Uga8KgcMWZaWhsw6HFoWVuw60gcG/EjWvDoSBuYSBzdGlzayBrbMOhdmVzeVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTAKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDxhZHJlc8OhxZk+ICAgICB6bcSbbsOtIGtvxZllbm92w70gYWRyZXPDocWZIG5hIHphZGFuw71cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgcHJvdmVkZSB2aXJ0dcOhbG7DrSB6YXbEm8WhZW7DrSBsaW5reSBuYSBUVFlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgcG9rdXPDrSBzZSB1ZHLFvmV0IGJhdWQgcmF0ZSBpwqBwbyB6bmFrdSBicmVha1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDzEjcOtc2xvPiAgICAgIMSNYXNvdsO9IGxpbWl0IHBybyBwxZlpaGzDocWhZW7DrVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgcm96cG96bsOhIHRlcm1pbsOhbCBwb2Rwb3J1asOtY8OtIGplbsKgdmVsa8OhIHDDrXNtZW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgxI1la8OhIG5hIGNhcnJpYWdlLXJldHVyblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBuZXpvYnJhesOtIHVwb3pvcm7Em27DrVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5lem9icmF6w60gbsOhemV2IHN0cm9qZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTgKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgem9icmF6w60gcGxuxJsga3ZhbGlmaWtvdmFuw6kgam3DqW5vIHN0cm9qZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTkKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1lcmFzZS1jaGFycyA8xZlldMSbemVjPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYWzFocOtIHpuYWt5IGZ1bmd1asOtY8OtIGpha28gYmFja3NwYWNlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hhcnMgPMWZZXTEm3plYz4gZGFsxaHDrSB6bmFreSwga3RlcsOpIG1hxb5vdSBjZWzDvSDFmcOhZGVrXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAgLS1jaGRpciA8YWRyZXPDocWZPiAgICAgIHDFmWVkIHNwdcWhdMSbbsOtbSBsb2dpbnUgem3Em27DrSBwcmFjb3Zuw60gYWRyZXPDocWZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MgorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAtLWRlbGF5IDxwb8SNZXQ+ICAgICAgICBwxZllZCB2w716dm91IHBvxI1rw6EgcG/EjWV0IHNla3VuZFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjMKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA8xI3DrXNsbz4gICAgICAgICBzcHVzdMOtIGxvZ2luIHPCoHRvdXRvIHByaW9yaXRvdVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjQKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICBixJvFvsOtY8OtIGluc3RhbmNlIGFnZXR0eSB6bm92dSBuYcSNdG91IHbDvXp2eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgdnlww63FoWUgcG9kcG9yb3ZhbsOpIHJ5Y2hsb3N0aSBiYXVkIHJhdGVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIlZCB1xb5pdmF0ZWwiCittc2dzdHJbMV0gIiVkIHXFvml2YXRlbMOpIgorbXNnc3RyWzJdICIlZCB1xb5pdmF0ZWzFryIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJrb250cm9sYSBqbcOpbmEgbmV1c3DEm2xhOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJzb3Vib3J1ICVzIG5lbHplIHptxJtuaXQgxI1hc292w6kgcmF6w610a28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICJwxZllcMOtbmHEjSAtLXJlbG9hZCBuZW7DrSBuYSB2YcWhZW0gc3lzdMOpbXUgcG9kcG9yb3bDoW4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OQorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIsWYw61kw60gcMWZw61zdHVwIHBybyB6w6FwaXMgZG8gdmHFoWVobyB0ZXJtaW7DoWx1IG9zdGF0bsOtbSB1xb5pdmF0ZWzFr20uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICB2eXN2xJt0bMOtLCBjbyBzZSBkxJtqZVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAiZnVua2NlIHR0eW5hbWUgc2VsaGFsYSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiUMWZw61qZW0genByw6F2IGplIHphcG51dCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAiUMWZw61qZW0genByw6F2IGplIHZ5cG51dCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgInptxJtuaXQgcmXFvmltICVzIHNlIG5lcG9kYcWZaWxvIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICJwxZnDrXN0dXAgcHJvIHrDoXBpcyBkbyB2YcWhZWhvIHRlcm1pbsOhbHUgamUgcG92b2xlbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICJwxZnDrXN0dXAgcHJvIHrDoXBpcyBkbyB2YcWhZWhvIHRlcm1pbsOhbHUgamUgemFrw6F6w6FuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudDogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbc291Ym9yXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiWmF6bmFtZW7DoSwgY28gc2UgZMSbbG8gdsKgcmVsYWNpIHPCoHRlcm1pbsOhbGVtLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBwxZlpcG9qw60gdsO9c3R1cFxuIgorIiAtYywgLS1jb21tYW5kIDxwxZnDrWthej4gICAgICAgIHNwdXN0w60gcMWZw61rYXogbcOtc3RvIGludGVyYWt0aXZuw61obyBzaGVsbHVcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgdnLDoXTDrSBuw6F2cmF0b3bDvSBrw7NkIHBvdG9ta2FcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcG8ga2HFvmTDqW0gesOhcGlzdSB2eXByw6F6ZG7DrSBidWZmZXJcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgcG91xb5pamUgdsO9c3R1cG7DrSBzb3Vib3IsIGnCoGtkecW+IHNlIGplZG7DoSBvwqBvZGthelxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBidWRlIHp0aWNoYVxuIgorIiAtdFs8c291Ym9yPl0sIC0tdGltaW5nWz08c291Ym9yPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgxI1hc292YWPDrSDDumRhamUgdnlww63FoWUgbmEgY2h5Ym92w70gdsO9c3R1cCBuZWJvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRvIFNPVUJPUlVcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorInbDvXN0dXBuw60gc291Ym9yIOKAniVz4oCcIGplIG9ka2F6LlxuIgorIlBva3VkIGplaiBvcHJhdmR1IGNoY2V0ZSBwb3XFvsOtdCwgdGFrIHBvdcW+aWplIC0tZm9yY2UuXG4iCisiUHJvZ3JhbSBuZWJ5bCBzcHXFoXTEm24uIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgdXRpbHMuIFNvdWJvciBqZSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAic2tyaXB0IHNvdWJvciBuZWx6ZSB6YXBzYXQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJSZWxhY2UgdWtvbsSNZW5hLlxuIgorCisjIFRoZSBhcmd1bWVudCBpcyBhIGZ1bGwgZGF0ZS10aW1lCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlc1xuIgorbXNnc3RyICJTY3JpcHQgc3B1xaF0xJtuIHbCoCVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiU2NyaXB0IHVrb27EjWVuIHbCoCVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgInZvbMOhbsOtIG9wZW5wdHkgc2VsaGFsbyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NzcKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIm5lZG9zdGF0ZWsgUFRZIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgc3B1xaF0xJtuLiBTb3Vib3IgamUgJXMuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiVzIFstdF0gxI1hc292w71fc291Ym9yIFt6w6F6bmFtX3ZzdHVwdV0gW2TEm2xpdGVsXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlDFmWVocmFqZSB6w6F6bmFtIGTEm27DrSBuYSB0ZXJtaW7DoWx1IHBvbW9jw60gw7pkYWrFryBvwqDEjWFzb3bDoW7DrS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPHNvdWJvcj4gICAgICB2w71zdHVwbsOtIHNvdWJvciBzwqDEjWFzb3bDoW7DrW0gesKgbsOhc3Ryb2plIHNjcmlwdFxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxzb3Vib3I+ICB2w71zdHVwbsOtIHNvdWJvciB0ZXJtaW7DoWxvdsOpIHJlbGFjZSB6wqBuw6FzdHJvamUgc2NyaXB0XG4iCisiIC1kLCAtLWRpdmlzb3IgPMSNw61zbG8+ICAgICAgenJ5Y2hsw60gbmVibyB6cG9tYWzDrSB2eWtvbsOhdsOhbsOtIHBvZGxlIGTEm2xpdGVsZSDEjWFzdVxuIgorIiAtbSwgLS1tYXhkZWxheSA8cG/EjWV0PiAgICAgbWV6aSBha3R1YWxpemFjZW1pIHBvxI1rw6EgbmVqdsO9xaFlIHRlbnRvIHBvxI1ldCBzZWt1bmRcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJ6w6FwaXMgbmEgc3RhbmRhcmRuw60gdsO9c3R1cCBzZWxoYWwiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIm5lb8SNZWvDoXZhbsO9IGtvbmVjIHNvdWJvcnUgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAibmHEjXRlbsOtIHNvdWJvcnUgc2UgesOhem5hbWVtIHZzdHVwdSAlcyBzZWxoYWxvIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImNoeWJuw70gcG/EjWV0IGFyZ3VtZW50xa8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICLEjXRlbsOtIHrCoMSNYXNvdsOpaG8gc291Ym9ydSAlcyBzZWxoYWxvIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICLEjWFzb3bDvSBzb3Vib3IgJXM6IMWZw6FkZWsgJWx1OiBuZW/EjWVrw6F2YW7DvSBmb3Jtw6F0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJjaHliYSBhcmd1bWVudHU6IHN2xJt0bG9zdCAlcyBuZW7DrSBuZXBvZHBvcm92w6FuYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAicMWZw61sacWhIG1ub2hvIHRhYnVsw6F0b3LFryIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIk5hc3RhdsOtIHZsYXN0bm9zdGkgdGVybWluw6FsdS5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtLXRlcm0gICAgICAgICAgPG7DoXpldiB0ZXJtaW7DoWx1PiAgcMWZZWJpamUgcHJvbcSbbm5vdSBwcm9zdMWZZWTDrSBURVJNXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldHVqZSB0ZXJtaW7DoWwgZG8gdsO9Y2hvesOtaG8gc3RhdnVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXR1amUgxZnDoWRreSBhIHNsb3VwY2UgdGVybWluw6FsdVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIiCisiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSBpbmljaWFsaXphxI1uw60gxZlldMSbemVjIGEgcG91xb5pamVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHbDvWNob3rDrSBuYXN0YXZlbsOtXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICBwb3XFvmlqZSB2w71jaG96w60gbmFzdGF2ZW7DrSB0ZXJtaW7DoWx1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIgorIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgdWxvxb7DrSBzb3XEjWFzbsOpIG5hc3RhdmVuw60gdGVybWluw6FsdSBqYWtvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2w71jaG96w61cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHphcG5lIChvbikgLyB2eXBuZSAob2ZmKSB6b2JyYXplbsOtIGt1cnpvcnVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgICBvcGFrb3bDoW7DrSBrbMOhdmVzbmljZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIHJlxb5pbSBhcGxpa2FjZSBrdXJ6b3JvdsO9Y2gga2zDoXZlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIiCisiLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgICBwb2tyYcSNdWplIG5hIGRhbMWhw61tIMWZw6Fka3UsIGtkecW+IMWZw6FkZWsgamVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBsbsO9XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBwcm9ob2TDrSBiYXJ2eSBuYSBjZWzDqSBvYnJhem92Y2VcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGJhcnZhPiAgIG5hc3RhdsOtIGJhcnZ1IHBvcMWZZWTDrSAo4oCeZGVmYXVsdOKAnCBqZSB2w71jaG96w60pXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxiYXJ2YT4gICBuYXN0YXbDrSBiYXJ2dSBwb3phZMOtXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFtqYXNdIDxiYXJ2YT4gICAgIG5hc3RhdsOtIGJhcnZ1IHBvZHRyxb5lbsOpaG8gdGV4dHVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGJhcnZhPiAgbmFzdGF2w60gYmFydnUgdHXEjW7DqWhvIHRleHR1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiIKKyIgICAgICAgICAgICAgICAgIDxiYXJ2YT46IGJsYWNrICjEjWVybsOhKSwgYmx1ZSAobW9kcsOhKSwgY3lhbiAoYXp1cm92w6EpLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZ3JlZW4gKHplbGVuw6EpLCBncmV5ICjFoWVkaXbDoSksIG1hZ2VudGEgKHB1cnB1cm92w6EpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICByZWQgKMSNZXJ2ZW7DoSksIHdoaXRlIChiw61sw6EpLCB5ZWxsb3cgKMW+bHV0w6EpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHR1xI1ub3N0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgdGVtbm9zdFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpa8OhbsOtXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgcG9kdHLFvmVuw61cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgcHJvaG9kw60gYmFydnkgcG9wxZllZMOtIGEgcG96YWTDrVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIiCisiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBzbWHFvmUgb2JyYXpvdmt1IGEgbmFzdGF2w60gcG9sb2h1IGt1cnpvcnU6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGwgKHbFoWUpLCByZXN0ICh6Ynl0ZWspXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiIKKyIgLS10YWJzICAgICAgICAgIFs8xI3DrXNsbz7igKZdICAgICAgICBuYXN0YXbDrSB0eXRvIHRhYnVsw6F0b3JvdsOpIHphcsOhxb5reSBuZWJvIGplXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b2JyYXrDrVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKyIgLS1jbHJ0YWJzICAgICAgIFs8xI3DrXNsbz7igKZdICAgICAgICBvZHN0cmFuw60gdHl0byBuZWJvIHbFoWVjaG55IHRhYnVsw6F0b3JvdsOpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB6YXLDocW+a3lcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKyIgLS1yZWd0YWJzICAgICAgIFsx4oCTMTYwXSAgICAgICAgICAgbmFzdGF2w60gcHJhdmlkZWxuw70gcm96ZXN0dXAgdGFidWzDoXRvcm92w71jaFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemFyw6HFvmVrXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisiIC0tYmxhbmsgICAgICAgICBbMOKAkzYwfGZvcmNlfHBva2VdIG5hc3RhdsOtIGRvYnUgbmXEjWlubm9zdGkgbnV0bm91IHByb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG90ZW1uxJtuw60gb2JyYXpvdmt5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWR1bXAgICAgICAgICAgWzzEjcOtc2xvPl0gICAgICAgICB6YXDDrcWhZSBvYnNhaCBrb256b2x5IHZjc2E8xI3DrXNsbz4gZG8gc291Ym9ydVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwZW5kICAgICAgICBbPMSNw61zbG8+XSAgICAgICAgIHDFmWlwb2rDrSBvYnNhaCBrb256b2x5IHZjc2E8xI3DrXNsbz4gZG8gc291Ym9ydVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxzb3Vib3I+ICAgICAgICAgIG7DoXpldiB2w71zdHVwbsOtaG8gc291Ym9ydVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICBobMOhxaFlbsOtIGrDoWRyYSBvZGVzw61sw6EgbmEga29uem9sdVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDDigJM4ICAgICAgICAgICAgICAgw7pyb3ZlxYggcHJvdG9rb2x1IGphZGVybsOpIGtvbnpvbGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hc3RhdmVuw60gxaFldMWZZW7DrSBlbmVyZ2nDrSBWRVNBXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorIiAtLXBvd2VyZG93biAgICAgWzDigJM2MF0gICAgICAgICAgICBuYXN0YXbDrSBpbnRlcnZhbCB2wqBtaW51dMOhY2ggcHJvIFZFU0EgcmXFvmltXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3dlcmRvd25cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMOKAkzIwMDBdICAgICAgICAgIGTDqWxrYSB6dm9ua3UgdsKgbWlsaXNla3VuZMOhY2hcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDzEjcOtc2xvPiAgICAgICAgICAgZnJla3ZlbmNlIHp2b25rdSB2wqBoZXJ0esOtY2hcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgInbDrWNla3LDoXQgcG91xb5pdMO9IHDFmWVww61uYcSNIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDAKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgInJlxb5pbSBibGFuayBuZWx6ZSB2eW51dGl0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAicmXFvmltIHVuYmxhbmsgbmVsemUgdnludXRpdCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzUxCittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgInN0YXYgcmXFvmltdSBibGFuayBuZWx6ZSB6amlzdGl0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgInNvdWJvciBzwqBvYnNhaGVtIG9icmF6b3ZreSAlcyBuZWx6ZSBvdGV2xZnDrXQgcHJvIHrDoXBpcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRlcm1pbsOhbCAlcyBuZXBvZHBvcnVqZSAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAidm9sw6Fuw60gc2VsZWN0IHNlbGhhbG8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgInN0YW5kYXJkbsOtIHZzdHVwIG5lb2RrYXp1amUgbmEgdGVybWluw6FsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjdXJzb3IgcG9zaXRpb246ICVzIgorbXNnc3RyICJuZXBsYXRuw6EgcG9sb2hhIGt1cnpvcnU6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MzMKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInJlc2V0IHNlbGhhbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICLFoWV0xZlpY8OtIHJlxb5pbSBuZWx6ZSB2eXBub3V0L3phcG5vdXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMTYgdGVybS11dGlscy9zZXR0ZXJtLmM6MTEyNQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImNoeWJhIGtsb2djdGwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIlByb23Em25uw6EgVEVSTSBuZW7DrSBuYXN0YXZlbmEuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTUzCittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICJkYXRhYsOhemkgdGVybWluZm8gbmVsemUgbmFqw610IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiBuZXpuw6Ftw70gZHJ1aCB0ZXJtaW7DoWx1IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU3Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgInRlcm1pbsOhbCBqZSDEjWlzdMSbIHbDvXN0dXBuw60gKGhhcmRjb3B5KSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgInZuaXTFmW7DrSBjaHliYTogcMWZw61sacWhIG1ub2hvIHZla3RvcsWvIEkvTyIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJwxZnDrWxpxaEgZGxvdWjDvSDFmcOhZGVrIHMgYXJndW1lbnR5IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3RldsWZZW7DrSBzZWxoYWxvIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJ2b2zDoW7DrSBmb3JrIHNlbGhhbG8iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogT8WgS0xJVsOBIENIWUJBLCB6cHLDoXZhIGplIG9wcmF2ZHUgbW9jIGRsb3Vow6EiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFs8c291Ym9yPiB8IDx6cHLDoXZhPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJOYXDDrcWhZSB6cHLDoXZ1IHbFoWVtIHXFvml2YXRlbMWvbS5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxza3VwaW5hPiAgIHBvxaFsZSB6cHLDoXZ1IHBvdXplIHNrdXBpbsSbXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkzCittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIG5ldnlww63FoWUgdGl0dWxlaywgZnVuZ3VqZSBqZW4gcHJvIHN1cGVydcW+aXZhdGVsZVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5NAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPGxpbWl0PiAgIMSNYXNvdsOpIG9tZXplbsOtIG5hIHrDoXBpcyB2wqBzZWt1bmTDoWNoXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBza3VwaW55IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlczogbmV6bsOhbcO9IEdJRCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgImZ1bmtjZSBnZXRncm91cGxpc3QgbmFsZXpsYSB2w61jZSBza3VwaW4gbmXFviBkb3ZvbHVqZSBzeXNjb25mIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyIGplIGRvc3R1cG7DvSBqZW4gc3VwZXJ1xb5pdmF0ZWxpIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiY2h5Ym7DvSBhcmd1bWVudCBzwqDEjWFzb3bDvW0gbGltaXRlbTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAicHJvIFVJRCBuZWx6ZSB6w61za2F0IHrDoXpuYW0gesKgZGF0YWLDoXplIHXFvml2YXRlbMWvIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNjIKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJuw6F6ZXYgVFRZIG5lbHplIHpqaXN0aXQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIlbFoWVvYmVjbsOhIHpwcsOhdmEgb2QgJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJuZWJ1ZGUgc2UgxI3DrXN0IHrCoCVzwqDigJMgcG91xb5panRlIHN0YW5kYXJkbsOtIHZzdHVwLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8dcW+aXZhdGVsPiBbPG7DoXpldl9UVFk+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIlBvxaFsZSB6cHLDoXZ1IGppbsOpbXUgdcW+aXZhdGVsaS5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICJlZmVrdGl2bsOtIEdJRCBuZW9kcG92w61kw6Egc2t1cGluxJsgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAidcW+aXZhdGVsICVzIG5lbsOtIHDFmWlobMOhxaFlbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNgorbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJuw6F6ZXYgdmHFoWVobyBUVFkgbmVsemUgemppc3RpdCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgInXFvml2YXRlbCAlcyBtw6EgdnlwbnV0IHDFmcOtamVtIHpwcsOhdiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgInXFvml2YXRlbCAlcyBqZSBwxZlpaGzDocWhZW4gdsOtY2VrcsOhdDsgemFww63FoWUgc2UgbmEgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImZ1bmtjZSBjYXJlZnVscHV0YyBzZWxoYWxhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlpwcsOhdmEgb2QgJXNAJXMgKGpha28gJXMpIG5hICVzIHbCoCUwMmQuJTAyZOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiWnByw6F2YSBvZCAlc0AlcyBuYSAlcyB2wqAlMDJkLiUwMmTigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIm3DoXRlIHZ5cG51dCBwxZnDrWplbSB6cHLDoXYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAidcW+aXZhdGVsICVzIG5lbsOtIG5hICVzIHDFmWlobMOhxaFlbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgInXFvml2YXRlbCAlcyBtw6EgbmEgJXMgdnlwbnV0IHDFmcOtamVtIHpwcsOhdiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzUKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiT2RzdHJhbsOtIHpuYWt5IHBybyB6cMSbdG7DvSBwb3N1bi5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQxZllcMOtbmHEjWU6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgbmV2eXBpc3VqZSB6bmFreSBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcG92b2zDrSBkb3DFmWVkbsOpIHDFr2zFmcOhZGtvdsOpIHBvc3VueVxuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHByb3B1c3TDrSBuZXpuw6Ftw6kgxZnDrWRpY8OtIHpuYWt5XG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgbWV6ZXJ5IHDFmWV2ZWRlIG5hIHRhYnVsw6F0b3J5XG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgdGFidWzDoXRvcnkgcMWZZXZlZGUgbmEgbWV6ZXJ5XG4iCisiIC1sLCAtLWxpbmVzIFBPxIxFVCAgICAgIGJ1ZmZlcnVqZSBhbGVzcG/FiCBQT8SMRVQgxZnDoWRrxa9cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiVzIMSNdGUgemUgc3RhbmRhcmRuw61obyB2c3R1cHUgYSB6YXBpc3VqZSBuYSBzdGFuZGFyZG7DrSB2w71zdHVwXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJjaHlibsO9IGFyZ3VtZW50IHDFmWVww61uYcSNZSAtbCIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgInBvem9yOiAlcyBuZWx6ZSB6YXrDoWxvaG92YXQuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAianNlbSB6YSBwcnZuw61tIMWZw6Fka2VtIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSDFmcOhZGVrIGppxb4gbmVuw60gdiBidWZydSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbPHNvdWJvcuKApj5dXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODUKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiRmlsdHJ1amUgdsO9c3R1cCBucm9mZnUgcHJvIG7DoWhsZWQgbmEgQ1JULlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgLS1uby11bmRlcmxpbmluZyAgICAgcG90bGHEjcOtIHBvZHRyaMOhdsOhbsOtXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC3EmywgLS1oYWxmLWxpbmVzICAgICAgICB2eXDDrcWhZSB2xaFlY2hueSBwxa9sxZnDoWRreVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb3XFvml0w606XG4iCisiICVzIFtwb8SNw6F0ZcSNbsOtX3Nsb3VwZWMgW2tvbmNvdsO9X3Nsb3VwZWNdXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjUKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiT2RzdHJhbsOtIHphZGFuw6kgc2xvdXBjZS5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJwcnZuw60gYXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgImRydWjDvSBhcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyMzUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIgorbXNnc3RyICJuZXpkYcWZaWxvIHJvemVicmF0IHNsb3VwZWMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICJuw6F6ZXYgc2xvdXBjZSDigJ4lc+KAnCBuZW7DrSBkZWZpbm92w6FuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgc2V6bmFtIC0tdGFibGUtb3JkZXIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBzZXpuYW0gLS10YWJsZS1yaWdodCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IHNlem5hbSAtLXRhYmxlLXRydW5jIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IHNlem5hbSAtLXRhYmxlLW5vZXh0cmVtZSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgc2V6bmFtIC0tdGFibGUtd3JhcCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgc2V6bmFtIC0tdGFibGUtaGlkZSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICLFmcOhZGVrICV6dTogSlNPTiB2ecW+YWR1amUgbsOhemV2IHNsb3VwY2UgJXp1IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAidsO9c3R1cG7DrSBkYXRhIHNlIG5lcG9kYcWZaWxvIGFsb2tvdmF0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNworbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiVnlzw6F6w60gc2V6bmFteSBkbyBzbG91cGPFry5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIHZ5dHZvxZnDrSB0YWJ1bGt1XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS10YWJsZS1uYW1lIDxuw6F6ZXY+ICAgICAgICAgbsOhemV2IHRhYnVsa3kgcHJvIHbDvXN0dXAgdsKgSlNPTnVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tdGFibGUtb3JkZXIgPHNsb3VwZWM+ICAgICAgdXLEjXVqZSBwb8WZYWTDrSB2w71zdHVwbsOtY2ggc2xvdXBjxa9cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG7DoXp2eT4gICAgICDEjcOhcmtvdSBvZGTEm2xlbsO9IHNlem5hbSBuw6F6dsWvIHNsb3VwY8WvXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ0Cittc2dpZCAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIgorbXNnc3RyICIiCisiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8c2xvdXBjZT4gIG5lcG/EjcOtdMOhIGRsb3Vow70gdGV4dCB6ZSBzbG91cGPFryBkbyDFocOtxZlreVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzbG91cGPFr1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIG5ldnlww63FoWUgesOhaGxhdsOtXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIgLWUsIC0tdGFibGUtaGVhZGVyLXJlcGVhdCAgICAgICAgem9wYWt1amUgesOhaGxhdsOtIG5hIGthxb5kw6kgc3Ryw6FuY2VcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1ILCAtLXRhYmxlLWhpZGUgPHNsb3VwY2U+ICAgICAgIG5ldnlwaXN1amUgemFkYW7DqSBzbG91cGNlXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIgLVIsIC0tdGFibGUtcmlnaHQgPHNsb3VwY2U+ICAgICAgdsKgdMSbY2h0byBzbG91cGPDrWNoIHphcm92bsOhIHRleHQgZG9wcmF2YVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8c2xvdXBjZT4gICB2wqB0xJtjaHRvIHNsb3VwY8OtY2ggemtyw6F0w60gdGV4dCwgYnVkZS1saSB0xZllYmFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtVywgLS10YWJsZS13cmFwIDxzbG91cGNlPiAgICAgICB2wqB0xJtjaHRvIHNsb3VwY8OtY2ggemFsb23DrSB0ZXh0LCBidWRlLWxpIHTFmWViYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgZm9ybcOhdHVqZSB2w71zdHVwIHRhYnVsZWsgZG8gSlNPTnVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIgorIiAtciwgLS10cmVlIDxzbG91cGVjPiAgICAgICAgICAgICBzbG91cGVjLCBrZGUgc2UgcG91xb5pamUgdsO9c3R1cCB0YWJ1bGt5IGRvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9tdVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiIKKyIgLWksIC0tdHJlZS1pZCA8c2xvdXBlYz4gICAgICAgICAgaWRlbnRpZmlrw6F0b3IgxZnDoWRrdSwga3RlcsO9IHVyxI11amUgdnp0YWhcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcG90b21lay1yb2RpxI1cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtcCwgLS10cmVlLXBhcmVudCA8c2xvdXBlYz4gICAgICByb2RpxI0sIGt0ZXLDvSB1csSNdWplIHZ6dGFoIHBvdG9tZWstcm9kacSNXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tb3V0cHV0LXdpZHRoIDzFocOtxZlrYT4gICAgICAgxaHDrcWZa2EgdsO9c3R1cHUgdsKgcG/EjXR1IHpuYWvFr1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MAorbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+ICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0IChkZWZhdWx0IGlzIHR3byBzcGFjZXMpXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8xZlldMSbemVjPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZGTEm2xvdmHEjSBzbG91cGPFryB2ZSB2w71zdHVwbsOtIHRhYnVsY2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHbDvWNob3rDrSBqc291IGR2xJsgbWV6ZXJ5KVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPMWZZXTEm3plYz4gICAgICAgIG1vxb5uw6kgb2RkxJtsb3ZhxI1lIHRhYnVsa3lcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjIKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBwxZllZCBzbG91cGNpIHZ5cGxuw60gxZnDoWRreVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IHNsb3VwY8WvIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgIm5lemRhxZlpbG8gcm96ZWJyYXQgbsOhenZ5IHNsb3VwY8WvIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICJwcm8gdsO9c3R1cCBkbyBzdHJvbXUganNvdSB0xZllYmEgcMWZZXDDrW5hxI1lIC0tdHJlZS1pZCBhIC0tdHJlZS1wYXJlbnQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgInbFoWVjaG55IHDFmWVww61uYcSNZSAtLXRhYmxlLSogdnnFvmFkdWrDrSBwxZllcMOtbmHEjSAtLXRhYmxlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAicMWZZXDDrW5hxI0gLS10YWJsZS1jb2x1bW5zIGplIHZ5xb5hZG92w6FuIHDFmWVww61uYcSNZW0gLS1qc29uIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSA8c291Ym9y4oCmPlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiWm9icmF6w60gb2JzYWggc291Ym9ydSB2wqDFoWVzdG7DoWN0a292w6ksIGRlc8OtdGtvdsOpLCBvc21pxI1rb3bDqSBuZWJvIEFTQ0lJIHBvZG9ixJsuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgdsO9cGlzIHBvIGJhanRlY2ggb3NtacSNa292xJtcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgdsO9cGlzIHBvIGJhanRlY2ggamFrbyB6bmFreVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgbm9ybW92YW7DvSB2w71waXMgxaFlc3Ruw6FjdGtvdsSbIGEgdsKgQVNDSUlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHbDvXBpcyBwbyBkdm91IGJhanRlY2ggZGVzw610a292xJtcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB2w71waXMgcG8gZHZvdSBiYWp0ZWNoIG9zbWnEjWtvdsSbXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdsO9cGlzIHBvIGR2b3UgYmFqdGVjaCDFoWVzdG7DoWN0a292xJtcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxyZcW+aW0+XSAgICAgaW50ZXJwcmV0dWplIGZvcm3DoXRvdmFjw60gc2VrdmVuY2UgYmFyZXZcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIC1lLCAtLWZvcm1hdCA8Zm9ybcOhdD4gICAgIGZvcm3DoXRvdmFjw60gxZlldMSbemVjIHBvdcW+aXTDvSBwxZlpIHbDvXBpc3UgZGF0XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisiIC1mLCAtLWZvcm1hdC1maWxlIDxzb3Vib3I+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgc291Ym9yIG9ic2FodWrDrWPDrSBmb3Jtw6F0b3ZhY8OtIMWZZXTEm3pjZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA8ZMOpbGthPiAgICAgIGludGVycHJldHVqZSBwb3V6ZSBkw6lsa3UgYmFqdMWvIHplIHZzdHVwdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPHBvemljZT4gICAgICAgcMWZZXNrb8SNw60gemFkYW7DvSBwb8SNZXQgYmFqdMWvIG5hIHphxI3DoXRrdSB2c3R1cHVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICB2ZSB2w71waXN1IG5ldnluZWNow6Egc2hvZG7DqSDFmcOhZGt5XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAidsWhZWNobnkgYXJndW1lbnR5IHZzdHVwbsOtaG8gc291Ym9ydSBzZWxoYWx5IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgImNoeWJuw70gcG/EjWV0IGJhanTFryBwcm8ga29udmVyem7DrSB6bmFrICVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICIlJXMgdnnFvmFkdWplIHV2ZWRlbsOtIHDFmWVzbm9zdGkgxI1pIHBvxI10dSBiYWp0xa8iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiY2h5Ym7DvSBmb3Jtw6F0IHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJjaHlibsO9IHpuYWsgdiBrb252ZXJ6aSAlJSVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJwb8SNZXQgYmFqdMWvIHMgdsOtY2UgbmXFviBqZWRuw61tIGtvbnZlcnpuw61tIHpuYWtlbSIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICJOYcSNdGUgamVkZW4gxZnDoWRlay5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiRmlsdGVyIHBybyBwcm9obMOtxb5lbsOtIHNvdWJvcsWvIG5hIENSVC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAgem9icmF6w60gbsOhcG92xJtkdSBtw61zdG8gemF6dm9uxJtuw61cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICBwb8SNw610w6EgbG9naWNrw6kgxZnDoWRreSBuYW3DrXN0byDFmcOhZGvFryBvYnJhem92a3lcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgcG90bGHEjcOtIHphc3RhdmVuw60gcG8gb2TFmcOhZGtvdsOhbsOtIGZvcm11bMOhxZllXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgbmVyb2x1amUsIHpvYnJhesOtIHRleHQgYSB2ecSNaXN0w60ga29uY2UgxZnDoWRrxa9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQyCittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAtcCAgICAgICAgICBuZXJvbHVqZSwgc21hxb5lIG9icmF6b3ZrdSBhIHpvYnJhesOtIHRleHRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQzCittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgIHNyYXrDrSBuw6FzbGVkdWrDrWPDrSBwcsOhemRuw6kgxZnDoWRreSBkbyBqZWRpbsOpaG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICBwb3RsYcSNw60gcG9kdHJow6F2w6Fuw61cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTzEjcOtc2xvPiAgICBwb8SNZXQgxZnDoWRrdSBuYSBvYnNhaCBvYnJhem92a3lcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzzEjcOtc2xvPiAgICB6b2JyYXrDrSBzb3Vib3IgcG/EjcOtbmFqZSDEjcOtc2xlbSDFmcOhZGt1XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88xZlldMSbemVjPiB6b2JyYXrDrSBzb3Vib3IgcG/EjcOtbmFqZSBzaG9kb3UgdnlobGVkw6F2YWPDrWhvIMWZZXTEm3pjZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICJuZXpuw6Ftw70gcMWZZXDDrW5hxI0gLSVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzIGplIGFkcmVzw6HFmSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKiAlcyBuZW7DrSB0ZXh0b3bDvW0gc291Ym9yZW0gKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbU3Rpc2tuxJt0ZSBxIMSNaSBRIHBybyB1a29uxI1lbsOtXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLVBva3JhxI1vdsOhbsOtLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihEYWzFocOtIHNvdWJvcjogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbU3Rpc2tuxJt0ZSBtZXplcm7DrWsgcHJvIHBva3JhxI1vdsOhbsOtLCAncScgcHJvIHVrb27EjWVuw60uXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE4MworIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIuKApnpwxJt0IG/CoCVkIHN0cmFudSIKK21zZ3N0clsxXSAi4oCmenDEm3Qgb8KgJWQgc3RyYW55IgorbXNnc3RyWzJdICLigKZ6cMSbdCBvwqAlZCBzdHJhbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAi4oCmcMWZZXNrYWt1amUgc2UgJWQgxZnDoWRlayIKK21zZ3N0clsxXSAi4oCmcMWZZXNrYWt1asOtIHNlICVkIMWZw6Fka3kiCittc2dzdHJbMl0gIuKApnDFmWVza2FrdWplIHNlICVkIMWZw6Fka8WvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKlpwxJt0KioqXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIsW9w6FkbsO9IHDFmWVkY2hvesOtIHJlZ3Vsw6FybsOtIHbDvXJheiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJWxJt0xaFpbsSbIHDFmcOta2F6xa8gbcWvxb5lIGpha28gYXJndW1lbnQgcMWZZWRjaMOhemV0IGNlbMOpIMSNw61zbG8gay4gSW1wbGljaXRuw60gaG9kbm90eVxuIgorImpzb3UgdiBocmFuYXTDvWNoIHrDoXZvcmvDoWNoLiBIdsSbemRpxI1rYSAoKikgem5hbWVuw6EsIMW+ZSBob2Rub3RhIGFyZ3VtZW50dSBzZVxuIgorInN0YW5lIGltcGxpY2l0bsOtLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPG1lemVybsOtaz4gICAgICAgICAgICAgIFpvYnJhesOtIGRhbMWhw61jaCBrIMWZw6Fka8WvIHRleHR1LiBbYWt0dcOhbG7DrSB2ZWxpa29zdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG9icmF6b3ZreV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBab2JyYXrDrSBkYWzFocOtY2ggayDFmcOhZGvFryB0ZXh0dS4gW2FrdHXDoWxuw60gdmVsaWtvc3RcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBvYnJhem92a3ldKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIFpvYnJhesOtIGRhbMWhw61jaCBrIMWZw6Fka8WvIHRleHR1LiBbMV0qXG4iCisiZCDEjWkgY3RybC1EICAgICAgICAgICAgIFBvc3VuIG8gayDFmcOhZGvFryBbYWt0dcOhbG7DrSB2ZWxpa29zdCBwb3N1bnUsIHBvIHNwdcWhdMSbbsOtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgMTFdKlxuIgorInEgxI1pIFEgxI1pIDxpbnRlcnJ1cHQ+ICAgVWtvbsSNZW7DrSBwcm9ncmFtdVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFBvc3VuIHZwxZllZCBvIGsgxZnDoWRrxa8gWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgUG9zdW4gdnDFmWVkIG8gayBzdHJhbiBbMV1cbiIKKyJiIMSNaSBjdHJsLUIgICAgICAgICAgICAgUG9zdW4gdnphZCBvIGsgc3RyYW4gWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgUMWZZXNrb8SNw60gbmEgbcOtc3RvLCBrZGUgYnlsbyB6YWjDoWplbm8gcMWZZWRjaG96w60gaGxlZMOhbsOtXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgWm9icmF6w60gxI3DrXNsbyBha3R1w6FsbsOtaG8gxZnDoWRrdVxuIgorIi88cmVndWzDoXJuw60gdsO9cmF6PiAgICAgIEhsZWTDoSBrLiB2w71za3l0IHJlZ3Vsw6FybsOtaG8gdsO9cmF6dSBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBIbGVkw6Egay4gdsO9cmF6dSBwb3NsZWRuw61obyByZWd1bMOhcm7DrWhvIHbDvXJhenUgWzFdXG4iCisiITxwxZnDrWthej4gxI1pIDohPHDFmcOta2F6PiBTcHVzdMOtIDxwxZnDrWthej4gdiBwb2RzaGVsbHVcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTcHVzdMOtIC91c3IvYmluL3ZpIG5hIGFrdHXDoWxuw61tIMWZw6Fka3VcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBQxZlla3Jlc2zDrSBvYnJhem92a3VcbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBQxZllc2tvxI3DrSBuYSBrLiBuw6FzbGVkdWrDrWPDrSBzb3Vib3IgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgUMWZZXNrb8SNw60gbmEgay4gcMWZZWRjaMOhemVqw61jw60gc291Ym9yIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIFZ5cMOtxaFlIGptw6lubyBha3R1w6FsbsOtaG8gc291Ym9ydSBhIMSNw61zbG8gYWt0dcOhbG7DrWhvIMWZw6Fka3VcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBab3Bha3VqZSBwxZllZGNow6F6ZWrDrWPDrSBwxZnDrWthelxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltTdGlza27Em3RlIOKAnmjigJwgcHJvIG7DoXBvdsSbZHUuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAi4oCeJXPigJwgxZnDoWRlayAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW05lamVkbsOhIHNlIG8gc291Ym9yXSDFmcOhZGVrICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIFDFmWV0ZcSNZW7DrVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTY0Cittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAi4oCmdnluZWNow6F2w6FtXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1OTgKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlZ6b3JlayBuZWJ5bCBuYWxlemVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiVnpvcmVrIG5lYnlsIG5hbGV6ZW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NTIKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJ2b2zDoW7DrSBleGVjIHNlbGhhbG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAidm9sw6Fuw60gZm9yayBzZWxoYWxvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisi4oCmVnluZWNow6F2w6FtICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICLigKZQxZllY2jDoXrDrW0gbmEgc291Ym9yICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNgorbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIuKAplZyYWPDrW0gc2UgbmEgc291Ym9yICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIsWYw6FkZWsgamUgcMWZw61sacWhIGRsb3Vow70iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMzIKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJOZWV4aXN0dWplIMW+w6FkbsO9IHDFmcOta2F6LCBqZW7FviBieSBieWxvIG1vxb5ubyBuYWhyYWRpdCIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0YXRvIG9icmF6b3ZrYVxuIgorIiAgcSBuZWJvIFEgICAgICAgICAgICAgICAgdWtvbsSNaXQgcHJvZ3JhbVxuIgorIiAgPG5vdsO9IMWZw6FkZWs+ICAgICAgICAgICAgZGFsxaHDrSBzdHLDoW5rYVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgcG9zdW5vdXQgc2Ugb8Kgc3Ryw6Fua3UgdnDFmWVkXG4iCisiICBkIG5lYm8gXkQgICAgICAgICAgICAgICBkYWzFocOtIHDFr2xzdHLDoW5rYVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgZGFsxaHDrSDFmcOhZGVrXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBwb3NsZWRuw60gc3Ryw6Fua2FcbiIKKyIgIC9yZWd2w71yLyAgICAgICAgICAgICAgICBobGVkYXQgcmVndWzDoXJuw61tIHbDvXJhemVtIHNtxJtyZW0gZG9wxZllZHVcbiIKKyIgID9yZWd2w71yPyBuZWJvIF5yZWd2w71yXiAgaGxlZGF0IHJlZ3Vsw6FybsOtbSB2w71yYXplbSBzbcSbcmVtIGRvemFkdVxuIgorIiAgLiBuZWJvIF5MICAgICAgICAgICAgICAgcMWZZWtyZXNsaXQgb2JyYXpvdmt1XG4iCisiICB3IG5lYm8geiAgICAgICAgICAgICAgICBuYXN0YXZpdCB2ZWxpa29zdCBzdHLDoW5reSBhIHDFmWVqw610IG5hIGRhbMWhw60gc3Ryw6Fua3VcbiIKKyIgIHMgbsOhemV2X3NvdWJvcnUgICAgICAgICB1bG/Fvml0IHNvdcSNYXNuw70gc291Ym9yIHBvZCBqbcOpbmVtXG4iCisiICAhcMWZw61rYXogICAgICAgICAgICAgICAgIHV0w6ljdCBkbyBzaGVsbHVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIHDFmWVqw610IG5hIHDFmWVkY2hvesOtIHNvdWJvclxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgcMWZZWrDrXQgbmEgZGFsxaHDrSBzb3Vib3JcbiIKKyJcbiIKKyJNbm9obyBwxZnDrWthesWvIHDFmWlqw61tw6EgcMWZZWRjaMOhemVqw61jw60gxI3DrXNsYSwgbmEgcMWZw61rbGFkOiArMTxub3bDvSDFmcOhZGVrPiAoZGFsxaHDrVxuIgorInN0csOhbmthKTsgLTE8bm92w70gxZnDoWRlaz4gKHDFmWVkY2hvesOtIHN0csOhbmthKTsgMTxub3bDvSDFmcOhZGVrPiAocHJ2bsOtIHN0csOhbmthKS5cbiIKKyJcbiIKKyJQb2Ryb2Jub3N0aSBzZSBsemUgZG96dsSbZMSbdCB6wqBwZygxKS5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBbK8WZw6FkZWtdIFsrL3Z6b3IvXSBbc291Ym9yXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiUHJvY2jDoXrDrSB0ZXh0b3bDvSBzb3Vib3J1IHBvIHN0csOhbmvDoWNoLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIgLW51bWJlciAgICAgIMWZw6Fka8WvIG5hIHN0csOhbmt1XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgIHDFmWVkIHpvYnJhemVuw61tIHNtYXphdCBvYnJhem92a3VcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MAorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICBuZXphc3Rhdml0IHNlIG5hIGtvbmNpIHNvdWJvcnVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICBuZWTEm2xpdCBkbG91aMOpIMWZw6Fka3lcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIHVrb27EjWl0IHDFmcOta2F6IG5vdsO9bSDFmcOhZGtlbVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIgLXAgPHbDvXp2YT4gICBkZWZpbnVqZSB2w716dnVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAgemFrw6HFvmUgw7p0xJtrIGRvIHNoZWxsdVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ1Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICB6cHLDoXZ5IHZ5cGlzdWplIG5hIHN0YW5kYXJkbsOtIHbDvXN0dXBcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICvEjcOtc2xvICAgICAgIHphxI1uZSBuYSB6YWRhbsOpbSDFmcOhZGt1XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy92em9yLyAgICAgIHphxI1uZSBuYSDFmcOhZGt1IG9ic2FodWrDrWPDrW0gdnpvclxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAicMWZZXDDrW5hxI0gdnnFvmFkdWplIGFyZ3VtZW50IOKAkyAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAibmVwbGF0bsO9IHDFmWVww61uYcSNwqDigJMgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIuKApnNrb2sgdnDFmWVkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjkKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICLigKZza29rIHZ6YWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAixb3DoWRuw70gbsOhc2xlZHVqw61jw60gc291Ym9yIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAixb3DoWRuw70gcMWZZWRjaG96w60gc291Ym9yIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICJDaHliYSDEjXRlbsOtIHplIHNvdWJvcnUgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiTmVvxI1la8OhdmFuw6Egem5hxI1rYSBrb25jZSBzb3Vib3J1IHbCoCVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiTmV6bsOhbcOhIGNoeWJhIHbCoHNvdWJvcnUgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJOZWx6ZSB2eXR2b8WZaXQgZG/EjWFzbsO9IHNvdWJvciIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkNoeWJhIHJlZ3Vsw6FybsOtaG8gdsO9cmF6dTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIoS09ORUMgU09VQk9SVSkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICLFvcOhZG7DvSB6YXBhbWF0b3ZhbsO9IMWZZXTEm3plYyBwcm8gdnlobGVkw6Fuw60iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJuZWx6ZSBvdGV2xZnDrXQgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICJ1bG/FvmVubyIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIXDFmcOta2F6IG5lbsOtIGRvdm9sZW4gdsKgcmXFvmltdSByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIHNlbGhhbCwgemt1c3RlIHRvIHBvemTEm2ppXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoRGFsxaHDrSBzb3Vib3I6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgQ29weXJpZ2h0IMKpIDIwMDDigJMyMDAxIEd1bm5hciBSaXR0ZXIuIFbFoWVjaG5hIHByw6F2YSB2eWhyYXplbmEuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTk0IHRleHQtdXRpbHMvcGcuYzoxNjY3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBwb8SNZXQgxZnDoWRrxa8gbmEgc3Ryw6Fua3UiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIlBvdcW+aXTDrTogJXMgW3DFmWVww61uYcSNZV0gW3NvdWJvcuKApl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiT2Jyw6F0w60gcG/FmWFkw60gem5ha8WvIG5hIMWZw6FkY8OtY2guXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIFs8c291Ym9y4oCmPl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJQb2R0cmjDoXbDoS5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OAorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOw4FMICBwxZllYmlqZSBwcm9txJtubm91IHByb3N0xZllZMOtIFRFUk1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHBvZHRyxb5lbsOtIGplIHZ5em5hxI1lbm8gc2Ftb3N0YXRuw71tIMWZw6Fka2VtXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgImNoeWJhIHDFmWkgxI10ZW7DrSB0ZXJtaW5mbyBkYXRhYsOhemUiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJ0ZXJtaW7DoWwg4oCeJXPigJwgbmVuw60gem7DoW0sIHBvdcW+aWplIHNlIOKAnmR1bXDigJwiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAibmV6bsOhbcOhIHBvc2xvdXBub3N0IMWZw61kaWPDrWNoIHpuYWvFryBuYSB2c3R1cHU6ICVvLCAlbyIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJWc3R1cG7DrSDFmcOhZGVrIGplIHDFmcOtbGnFoSBkbG91aMO9LiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaWUiCisKKyN+IG1zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKKyN+IG1zZ3N0ciAiZHJ1aCB6w6Fta3U6IEZMX0ZMT0NLIG5lYm8gRkxfUE9TSVguIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAibmVsemUgc3B1c3RpdCAvYmluL3Vtb3VudCBuYWQg4oCeJXPigJwiCisKKyN+IG1zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorI34gbXNnc3RyICLEjWVrw6Egc2UgYXNpICVkIMK1c1xuIgorCisjfiBtc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorI34gbXNnc3RyICIlbGQsJTA2bGQgPCAlbGQsJTA2bGQgKCUuNmYpXG4iCisKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICB2eXBpc3VqZSB2w61jZSBwb2Ryb2Jub3N0w60iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKKyN+IG1zZ3N0ciAic2VsaGFsbyDEjXRlbsOtIHo6ICVzIgorCisjfiBtc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorI34gbXNnc3RyICJuZWx6ZSBzcHVzdGl0OiAlcyIKKworI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IGFsZ29yaXRtdXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiAiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW1pBxZjDjVpFTsON4oCmXVxuIgorI34gIiAlMSRzIFstdnwtcV0gUMWYw41LQVpZIFpBxZjDjVpFTsON4oCmXG4iCisjfiAiXG4iCisjfiAiRG9zdHVwbsOpIHDFmcOta2F6eTpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRvc3R1cG7DqSBzbG91cGNlIChwcm8gLW8pOlxuIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSBwb2h5YnUgdsKgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrS5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgIFDFmWVww61uYcSNZSAtViBhIC0tdmVyc2lvbiBtdXPDrSBiw710IGplZGluw71taSBwxZllcMOtbmHEjWkuXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRvc3R1cG7DqSBzbG91cGNlIChwcm8gcMWZZXDDrW5hxI1lIC0tc2hvdywgLS1yYXcgbmVibyAtLXBhaXJzKTpcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgdnlww63FoWUgw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJWw61jZSBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBwxZnDrWthemVtIOKAniVzIC0taGVscOKAnC5cbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgdnlww63FoWUgw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXUsIC0taGVscCAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCisjfiBtc2dzdHIgIk5lbsOtIHpuw6FtIMW+w6FkbsO9IHNoZWxsLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRvc3R1cG7DqSBzbG91cGNlOlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gLXUgPHXFvml2YXRlbD4gW1stLV0gPHDFmcOta2F6Pl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRvc3R1cG7DqSBzbG91cGNlIChwcm8gLS1vdXRwdXQpOlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJWw61jZSBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBwxZnDrWthemVtIOKAniVzIC0taGVscOKAnC5cbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIHZ5c3bEm3Rsw60sIGNvIHNlIGTEm2plXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICB2eXR2b8WZw60gVVVJRCB6YWxvxb5lbsOpIG5hIG7DoWhvZMSbXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgdnl0dm/FmcOtIFVVSUQgemFsb8W+ZW7DqSBuYSDEjWFzZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyN+ICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgem5pxI3DrSB2xaFlY2hueSBtYWdpY2vDqSDFmWV0xJt6Y2UgKEJVxI5URSBPUEFUUk7DjSEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgICB2eXR2b8WZw60gesOhbG9odSBzaWduYXR1cnkgdsKgJEhPTUVcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgIHZ5bnV0w60gdsO9bWF6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICAgIHByb3ZlZGUgdsWhZSBhxb4gbmEgc2Ftb3Ruw6kgdm9sw6Fuw60gd3JpdGUoKVxuIgorI34gIiAtbywgLS1vZmZzZXQgPMSNw61zbG8+ICBwb3ppY2UgdsKgYmFqdGVjaCwgbmEga3RlcsOpIHNlIGJ1ZGUgbWF6YXRcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICAgIHZ5cGlzdWplIHbCoHN0cm9qb3bEmyB6cHJhY292YXRlbG7DqW0gZm9ybcOhdHUgbmFtw61zdG9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgIHbCoHDFmWVobGVkbsOpIHBvZG9ixJtcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgIHBvdGxhxI3DrSB6cHLDoXZ5XG4iCisjfiAiIC10LCAtLXR5cGVzIDxzZXpuYW0+ICBvbWV6w60gbW5vxb5pbnUgc291Ym9yb3bDvWNoIHN5c3TDqW3FrywgZGlza292w71jaCBwb2zDrVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgbmVibyB0YWJ1bGVrIHJvemTEm2xlbsOtIGRpc2t1XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorI34gbXNnc3RyICJSZWdpc3RyeSBob2RpbiByZcOhbG7DqWhvIMSNYXN1IG9ic2FodWrDrSBob2Rub3R5LCBrdGVyw6kganNvdSBidcSPIGNoeWJuw6kgKG5hcMWZLiA1MC4gZGVuIHbCoG3Em3PDrWNpKSwgxI1pIG1pbW8gcm96c2FoLCBrdGVyw70gbHplIHpwcmFjb3ZhdCAobmFwxZkuIHJvayAyMDk1KS4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICJTeXN0w6ltb3bDvSDEjWFzIG5lbHplIHBvZGxlIGhvZGluIHJlw6FsbsOpaG8gxI1hc3UgbmFzdGF2aXQsIHByb3Rvxb5lIG5ldWthenVqw60gcGxhdG7DvSDEjWFzLiIKKworI34gbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisjfiBtc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyN+IG1zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKKyN+IG1zZ3N0ciAiTmFzdGF2aXQgc3lzdMOpbW92w70gxI1hcyBtxa/FvmUgcG91emUgc3VwZXJ1xb5pdmF0ZWwuIgorCisjfiBtc2dpZCAiXHRVVEM6ICVzXG4iCisjfiBtc2dzdHIgIlx0VVRDOiAlc1xuIgorCisjfiBtc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk3DrXJhIHBvc3VudSBzZSBuZW9wcmF2w60sIHByb3Rvxb5lIGhvZGlueSByZcOhbG7DqWhvIMSNYXN1IHBvc2xlZG7EmyBvYnNhaG92YWx5XG4iCisjfiAibmVwbGF0bsOpIGhvZG5vdHkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGVzdCBtb2RlOiAlcyB3YXMgbm90IHVwZGF0ZWQgd2l0aDpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlprdcWhZWJuw60gcmXFvmltOiAlcyBuZWJ5bG8gYWt0dWFsaXpvdsOhbm8gcG9tb2PDrTpcbiIKKyN+ICIlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgIlNvdWJvciBzwqBwYXJhbWV0cnkgcG9zdW51IGhvZGluICglcykgc2UgbmVwb2RhxZlpbG8gb3RldsWZw610IHBybyB6w6FwaXMiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCisjfiBtc2dzdHIgIlNvdWJvciBzwqBwYXJhbWV0cnkgcG9zdW51IGhvZGluICglcykgc2UgbmVwb2RhxZlpbG8gYWt0dWFsaXpvdmF0IgorCisjfiBtc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKKyN+IG1zZ3N0ciAiUGFyYW1ldHJ5IG9wcmF2eSBwb3N1bnUgbmV6bcSbbsSbbnkuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAiSG9kaW55IHJlw6FsbsOpaG8gxI1hc3Ugb2JzYWh1asOtIG5lcGxhdG7DvSDEjWFzLCB0dWTDrcW+IGplaiBuZWx6ZSBvcHJhdml0LiIKKworI34gbXNnaWQgIkF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjksIFJUQyBpcyBwcmVkaWN0ZWQgdG8gcmVhZCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LlxuIgorI34gbXNnc3RyICIiCisjfiAiSmUgcMWZZWRwb3bEm3plbm8sIMW+ZSB2wqDEjWFzZSAlJ2xkIHNla3VuZCBwbyByb2NlIDE5NjkgcmXDoWxuw6kgaG9kaW55XG4iCisjfiAiYnVkb3UgdWthem92YXQgJSdsZCBzZWt1bmQgb2Qga29uY2Ugcm9rdSAxOTY5LlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiUG/EjcOhdGVrIGVwb2NoeSBuZWx6ZSB6wqBqw6FkcmEgemppc3RpdC4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIkrDoWRybyBwb2tsw6Fkw6EgemEgcG/EjcOhdGVrIGVwb2NoeSAlbHUuXG4iCisKKyN+IG1zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorI34gbXNnc3RyICJQb8SNw6F0ZWsgZXBvY2h5IG5hc3RhdsOtdGUgcG9tb2PDrSBwxZllcMOtbmHEjWUg4oCeZXBvY2jigJwuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiVGVzdG92YWPDrSByZcW+aW0gLSBwb8SNw6F0ZWsgZXBvY2h5IG5hICVsdSBuZWJ1ZGUgbmFzdGF2ZW4uXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorI34gbXNnc3RyICJIb2Rub3R1IHBvxI3DoXRrdSBlcG9jaHkgdiBqw6FkxZllIG5lbHplIG5hc3Rhdml0LlxuIgorCisjfiBtc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKKyN+IG1zZ3N0ciAiRG90w6HFvmUgc2UgbmEgbmVibyBuYXN0YXbDrSBoYXJkd2Fyb3bDqSBob2RpbnkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICB1a8Ohxb5lIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiIC1yLCAtLXNob3cgICAgICAgICAgIHpqaXN0w60gYSB2eXDDrcWhZSBha3R1w6FsbsOtIHN0YXYgaG9kaW4gcmXDoWxuw6lobyDEjWFzdVxuIgorI34gIiAgICAgLS1nZXQgICAgICAgICAgICB6amlzdMOtIHN0YXYgaG9kaW4gcmXDoWxuw6lobyDEjWFzdSBhIHZ5cMOtxaFlIGhvZG5vdHVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgb3ByYXZlbm91IG/CoHN5c3RlbWF0aWNrw70gcG9zdW5cbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAgbmFzdGF2w60gUlRDIG5hIGhvZG5vdHUgemFkYW5vdSBwxZllcMOtbmHEjWVtIC0tZGF0ZVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0taGN0b3N5cyAgICAgICAgbmFzdGF2w60gc3lzdMOpbW92w70gxI1hcyBwb2RsZSBob2RpbiByZcOhbG7DqWhvIMSNYXN1XG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIG5hc3RhdsOtIGhvZGlueSByZcOhbG7DqWhvIMSNYXN1IHBvZGxlIGFrdHXDoWxuw61obyBzeXN0w6ltb3bDqWhvXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIG5hc3RhdsOtIHN5c3TDqW1vdsO9IMSNYXMgbmEgesOha2xhZMSbIHNvdcSNYXNuw6kgxI1hc292w6kgesOzbnlcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgb3ByYXbDrSBSVEMgb8Kgc3lzdGVtYXRpY2vDvSBwb3N1biwga3RlcsO9IG5hc3RhbCBvZCBwb3NsZWRuw61cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgb3ByYXZ5IMSNaSBuYXN0YXZlbsOtIGhvZGluXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgdnlww63FoWUgcG/EjcOhdGVrIGVwb2NoeSBob2RpbiByZcOhbG7DqWhvIMSNYXN1IHBvZGxlIGrDoWRyYVxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBuYXN0YXbDrSBqw6FkcnUgcG/EjcOhdGVrIGVwb2NoeSBob2RpbiByZcOhbG7DqWhvIMSNYXN1IG5hXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhvZG5vdHUgemFkYW5vdSBwxZllcMOtbmHEjWVtIC0tZXBvY2hcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIHDFmWVkcG92w60gaG9kbm90dSBSVEMgdsKgZG9ixJsgemFkYW7DqSBwb21vY8OtIC0tZGF0ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIGhvZGlueSByZcOhbG7DqWhvIMSNYXN1IGpkb3UgdsKgVVRDXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIGhvZGlueSByZcOhbG7DqWhvIMSNYXN1IGpkb3UgdsKgbcOtc3Ruw61tIMSNYXNlXG4iCisKKyN+IG1zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiIC1mLCAtLXJ0YyA8c291Ym9yPiAgIG5hbcOtc3RvIHbDvWNob3rDrWhvIHphxZnDrXplbsOtIHBvdcW+aWplIHogL2Rldi/igKYgamluw6lcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICBtw61zdG8gJXMgcMWZaXN0b3Vww60gcMWZw61tbyBrZSBzYsSbcm5pY2kgSVNBXG4iCisjfiAiICAgICAtLWRhdGUgPMSNYXM+ICAgICDEjWFzLCBuYSBrdGVyw70gYnVkb3UgbmFzdGF2ZW55IGhvZGlueSByZcOhbG7DqWhvIMSNYXN1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSBkcmlmdCBmYWN0b3IgaW4gJTEkcyAocmVxdWlyZXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAtLWFkamZpbGUgPGZpbGU+IHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGU7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIGFrdHVhbGl6dWplIG3DrXJ1IHBvc3VudSB2wqAlMSRzICh2ecW+YWR1amVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBuZWJvIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgbmVwb3XFvmlqZSAlMSRzLiBWecW+YWR1amUgcG91xb5pdMOtXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGJ1xI8gLS11dGMsIG5lYm8gLS1sb2NhbHRpbWUuXG4iCisjfiAiICAgICAtLWFkamZpbGUgPHNvdWJvcj5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdXLEjXVqZSBjZXN0dSBrwqBzb3Vib3J1IHNlIHN5c3RlbWF0aWNrw71tIHBvc3VuZW1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgKHbDvWNob3rDrSBqZSAlMSRzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyN+ICIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBuaWMgbmVuYXN0YXbDrSwgcG91emUgdWvDocW+ZSwgY28gYnkgc2Ugc3RhbG9cbiIKKyN+ICIgLUQsIC0tZGVidWcgICAgICAgICAgbGFkaWPDrSByZcW+aW1cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCisjfiBtc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBlcG9jaHkiCisKKyN+IG1zZ2lkICJyb290IHByaXZpbGVnZXMgbWF5IGJlIHJlcXVpcmVkIgorI34gbXNnc3RyICJtb8W+bsOhIGpzb3UgemFwb3TFmWViw60gcHLDoXZhIHN1cGVydcW+aXZhdGVsZSIKKworI34gbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorI34gbXNnc3RyICIlcyBuZW3DoSBwxZllcnXFoW92YWPDrSBmdW5rY2UuICIKKworI34gbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorI34gbXNnc3RyICJPYm5vdm92YWPDrSBwxZllcnXFoWVuw60gbmVsemUgemFwbm91dCAtIHZvbMOhbsOtIGlvY3RsKCkgcHJvICVzIHNlbGhhbG8iCisKKyN+IG1zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorI34gbXNnc3RyICJQcm8gem3Em251IGhvZG5vdHkgcG/EjcOhdGt1IGVwb2NoeSB2IGrDoWTFmWUgamUgbnV0bsOpIHDFmWlzdG91cGl0IGvCoGxpbnV4b3bDqW11IG92bGFkYcSNaSB6YcWZw616ZW7DrSDigJ5ydGPigJwgcG9tb2PDrSB6dmzDocWhdG7DrWhvIHNvdWJvcnUgemHFmcOtemVuw60uIFRlbnRvIHNvdWJvciBuYSB0b210byBzeXN0w6ltdSBuZWV4aXN0dWplLiIKKworI34gbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorI34gbXNnc3RyICJaICUyJHMgYnlsIHBvbW9jw60gUlRDX0VQT0NIX1JFQUQgaW9jdGwgemppxaF0xJtuIHBvxI3DoXRlayBlcG9jaHkgKCUxJGx1KS5cbiIKKworI34gbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCisjfiBtc2dzdHIgIkhvZG5vdGEgcG/EjcOhdGt1IGVwb2NoeSBuZXNtw60gYsO9dCBtZW7FocOtIG5lxb4gMTkwMC4gUG/FvmFkb3ZhbGkganN0ZSAlbGQuIgorCisjfiBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnc3RyICJuYXN0YXZlbsOtIHBvbW9jw60gUlRDX0VQT0NIX1NFVCBpb2N0bCBwcm8gJTIkcyBwb8SNw6F0ZWsgZXBvY2h5IG5hICUxJGx1LlxuIgorCisjfiBtc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKKyN+IG1zZ3N0ciAiSmFkZXJuw70gb3ZsYWRhxI0gcHJvIHphxZnDrXplbsOtICVzIG5lcG9kcG9ydWplIElPQ1RMIFJUQ19FUE9DSF9TRVQuIgorCisjfiBtc2dpZCAiIgorI34gIiVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSB6w61za8OhdGUgcMWZw61rYXplbSDigJ4lcyAtLWhlbHDigJwuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiVsOtY2UgaW5mb3JtYWPDrSB6w61za8OhdGUgcMWZw61rYXplbSDigJ4lcyAtLWhlbHDigJwuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRvc3R1cG7DqSBzbG91cGNlIChwcm8gLS1zaG93KTpcbiIKKworI34gbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorI34gbXNnc3RyICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBwxZlpbnV0w60gb3ZsYWRhxI0gdsSbxZlpdCBJUlEgKGFub3xuZSlcbiIKKworI34gbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJKbWVub3ZrYSBzb3Vib3JvdsOpaG8gc3lzdMOpbXU6IgorCisjfiBtc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorI34gbXNnc3RyICJaYcWZw616ZW7DrSAlcyBqacW+IG9ic2FodWplIHZ6b3JlYyAlcy4iCisKKyN+IG1zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKKyN+IG1zZ3N0ciAiJXM6IHR5dG8gcMWZZXDDrW5hxI1lIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrToiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgInByb23Em25ub3UgUEFUSCBzZSBuZXBvZGHFmWlsbyBuYXN0YXZpdCIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworI34gbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIGhsZWTDoSB2wqB0YWJ1bGNlIHDFmWlwb2plbsO9Y2ggc291Ym9yb3bDvWNoIHN5c3TDqW3Fr1xuIgorCisjfiBtc2dpZCAidXNlIG9mICdraWxsIC0tcGlkJyBvcHRpb24gYXMgY29tbWFuZCBuYW1lIGlzIGRlcHJlY2F0ZWQiCisjfiBtc2dzdHIgInBvdcW+aXTDrSBwxZllcMOtbmHEjWUg4oCea2lsbCAtLXBpZOKAnCBqYWtvIG7DoXp2dSBwxZnDrWthenUgamUgemFzdGFyYWzDqSIKKworI34gbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorI34gbXNnc3RyICJQb3pkcsW+w60gcMWZw61zdHVwIG5hIHNvdWJvcm92w70gc3lzdMOpbSAoZXh0My80LCBSZXNvdXJjZSwgSkZTLCBYRlMpLlxuIgorCisjfiBtc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIlRlc3RvdmFjw60gcmXFvmltIC0gxIxhcyBuZXptxJtuxJtuLlxuIgorCisjIFRoaXMgbG9va3MgbGlrZSBhbiBJU08gZm9ybWF0IHdpdGhvdXQgdGhlICJUIiBzZXBhcmF0b3IuIERvbid0IGxvY2FsaXplIGl0LgorI34gbXNnaWQgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisjfiBtc2dzdHIgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisKKyN+IG1zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIlDFmWVww61uYcSNIC0tZGF0ZSB2ecW+YWR1amUgYXJndW1lbnQuIgorCisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICJhcmd1bWVudCAtLWRhdGUgamUgcMWZw61sacWhIGRsb3Vow70iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisjfiAiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKKyN+IG1zZ3N0ciAiIgorI34gIkFyZ3VtZW50IHDFmWVww61uYcSNZSAtLWRhdGUgbmVuw60gcGxhdG7DvW0gZGF0ZW0uXG4iCisjfiAiS29ua3LDqXRuxJsgb2JzYWh1amUgdXZvem92a3kuIgorCisjfiBtc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCisjfiBtc2dzdHIgIlNwb3XFoXTDrSBzZSBwxZnDrWtheiDigJ5kYXRl4oCeOiAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiUMWZw61rYXog4oCeZGF0ZeKAnCBuZWx6ZSB2wqBzaGVsbHUgL2Jpbi9zaCBzcHVzdGl0LiBWb2zDoW7DrSBwb3BlbigpIHNlbGhhbG8uIgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJvZHBvdsSbxI8gcMWZw61rYXp1IOKAnmRhdGXigJwgPSAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIk9kIHDFmcOta2F6dSDigJ5kYXRl4oCcIHNwdcWhdMSbbsOpaG8gcHJvZ3JhbWVtICVzIHDFmWnFoWxhIG5lxI1la2Fuw6Egb2Rwb3bEm8SPLlxuIgorI34gIlDFmcOta2F6IGJ5bDpcbiIKKyN+ICIgICVzXG4iCisjfiAiT2Rwb3bEm8SPIGJ5bGE6XG4iCisjfiAiICAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiUMWZw61rYXog4oCeZGF0ZeKAnCBzcHXFoXTEm27DvSBwcm9ncmFtZW0gJXMgbcOtc3RvIHDFmWV2ZWRlbsOpaG8gxI1hc3UgdnLDoXRpbCBuxJtjbyxcbiIKKyN+ICJjbyBuZW7DrSBjZWzDvW0gxI3DrXNsZW0uXG4iCisjfiAiUMWZw61rYXo6XG4iCisjfiAiICAlc1xuIgorI34gIk9kcG92xJvEjzpcbiIKKyN+ICIgICVzXG4iCisKKyN+IG1zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCisjfiBtc2dzdHIgIkRhdHVtICVzIG9kcG92w61kw6EgJWxkIHNla3VuZMOhbSBvZCByb2t1IDE5NjkuXG4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiVGVzdG92YWPDrSByZcW+aW0gLSBzeXN0w6ltb3bDvSDEjWFzIG5lem3Em27Em24uXG4iCisKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICJUZXN0b3ZhY8OtIHJlxb5pbSAtIHNvdWJvciBhZGp0aW1lIG5lem3Em27Em24uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJEbyAlcyBieSBieWxvIHVsb8W+ZW5vIG7DoXNsZWR1asOtY8OtOlxuIgorI34gIiVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisjfiAiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorI34gIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorI34gbXNnc3RyICIiCisjfiAiSsOhZHJvIHVkcsW+dWplIGhvZG5vdHUgcG/EjcOhdGt1IGVwb2NoeSBwcm8gaG9kaW55IHJlw6FsbsOpaG8gxI1hc3UgcG91emUgbmFcbiIKKyN+ICJzeXN0w6ltZWNoIEFscGhhLlxuIgorI34gIlRlbnRvIHByb2dyYW0gbmVieWwgcMWZZWxvxb5lbiBwcm8gc3lzdMOpbSBBbHBoYSAoYSB0dWTDrcW+IHByYXZkxJtwb2RvYm7EmyBueW7DrVxuIgorI34gIm5lYsSbxb7DrSBuYSBBbHBoxJspLiDFvcOhZG7DoSBha2NlIG5lYnVkZSBwcm92ZWRlbmEuIgorCisjfiBtc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorI34gbXNnc3RyICIgLWMsIC0tY29tcGFyZSAgICAgICAgb3Bha292YW7EmyBwb3Jvdm7DoXbDoSBzeXN0w6ltb3bDvSDEjWFzIHPCoGhvZGluYW1pIHZlIENNT1NcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyN+ICIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIG3DrXN0byAlcyBwb3XFvmlqZSBwxZnDrW1vIElTQSBzYsSbcm5pY2lcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3J1amUgcm9rIHrCoFJUQywgcHJvdG/FvmUgQklPUyBqZSByb3piaXTDvVxuIgorI34gIiAgICAgLS1kYXRlIMSMQVMgICAgICAgxI1hcywgbmEga3RlcsO9IGJ1ZG91IG5hc3RhdmVueSBob2RpbnkgcmXDoWxuw6lobyDEjWFzdVxuIgorI34gIiAgICAgLS1lcG9jaCBST0sgICAgICB1csSNdWplIHJvaywga2R5IHphxI3DrW7DoSBlcG9jaGEgaG9kaW4gcmXDoWxuw6lobyDEjWFzdVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdXLEjcOtIHR5cCB2YcWhZWhvIHN5c3TDqW11IEFscGhhICh2aXp0ZSBod2Nsb2NrKDgpKVxuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIkhvZGlueSByZcOhbG7DqWhvIMSNYXN1IG3Fr8W+ZSBwb3XFvsOtdCBwb3V6ZSBzdXBlcnXFvml2YXRlbC4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgYWtjZXB0dWplIHBvdXplIHDFmWVww61uYcSNZS4gWmFkw6FubyBhcmd1bWVudMWvLCBrdGVyw6kgbmVqc291IHDFmWVww61uYcSNaTogJWRcbiIKKworI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICJOZWJ5bCB6YWTDoW4gcGxhdG7DvSDEjWFzLCBrdGVyw70gc2UgbcOhIG5hc3Rhdml0LiBIb2RpbnkgbmVsemUgbmFzdGF2aXQuIgorCisjfiBtc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorI34gbXNnc3RyICJzcHXFoXTEm24gcG9tb2PDrSBNSUxPXG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICJob2Rub3R5IHVsb8W+ZW55IHYgQkNEIHR2YXJ1XG4iCisKKyN+IG1zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorI34gbXNnc3RyICJ2c3R1cG7Emy92w71zdHVwbsOtIHBvcnQgcHJvIHDFmcOtc3R1cCBrIGhvZGluw6FtIG5hc3RhdmVuIG5hIDB4JXhcbiIKKworI34gbXNnaWQgImZ1bmt5IFRPWSFcbiIKKyN+IG1zZ3N0ciAiZnVua3kgVE9ZIVxuIgorCisjfiBtc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKKyN+IG1zZ3N0ciAiMTAwMCBuZcO6c3DEm8WhbsO9Y2ggcG9rdXPFryBvIGF0b21pY2vDqSBwcm92ZWRlbsOtICVzISIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKTogesOhcGlzIG5hIMWZw61kw61jw60gYWRyZXN1ICVYIHNlbGhhbCIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCk6IMSNdGVuw60gesKgZGF0b3bDqSBhZHJlc3kgJVggc2VsaGFsbyIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc193cml0ZSgpOiB6w6FwaXMgbmEgxZnDrWTDrWPDrSBhZHJlc3UgJVggc2VsaGFsIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3dyaXRlKCk6IHrDoXBpcyBuYSBkYXRvdm91IGFkcmVzdSAlWCBzZWxoYWwiCisKKyN+IG1zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCisjfiBtc2dzdHIgIkplbGlrb8W+IG5lYnlsYSBzbmFoYSwgbmVwb2RhxZlpbG8gc2UgesOtc2thdCBwcsOhdmEgcHJvIHDFmcOtc3R1cC4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKKyN+IG1zZ3N0ciAicMWZw61zdHVwIGvCoEkvTyBwb3J0dSBuZWx6ZSB6w61za2F0OiB2b2zDoW7DrSBpb3BsKDMpIHNlbGhhbG8uIgorCisjfiBtc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorI34gbXNnc3RyICJQcmF2ZMSbcG9kb2JuxJsgamUgdMWZZWJhIG3DrXQgcHLDoXZhIHN1cGVydcW+aXZhdGVsZS5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorI34gbXNnc3RyICJ2w71zdHVwbsOtIMWZw6FkZWsgc2UgbmVwb2RhxZlpbG8gaW5pY2lhbGl6b3ZhdCIKKworI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAiY2h5YmE6IG9ic2x1aHUgc2lnbsOhbHUgbmVsemUgbmFzdGF2aXQiCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJjaHliYTogb2JzbHVodSBzaWduw6FsdSBuZWx6ZSBvYm5vdml0IgorCisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAicG91emUgc3VwZXJ1xb5pdmF0ZWwgbcWvxb5lIHDFmWlwb2ppdCAlcyBkbyAlcyIKKworI34gbXNnaWQgIiIKKyN+ICIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyN+ICIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorI34gIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IG5hbGV6ZW5vIHbDrWNlIHNvdWJvcm92w71jaCBzeXN0w6ltxa8uIFRvIGJ5IHNlIG5lbcSbbG8gc3TDoXQuXG4iCisjfiAiICAgICAgIEV4cGxpY2l0bsSbIHV2ZcSPdGUgZHJ1aCBzb3Vib3JvdsOpaG8gc3lzdMOpbXUgcG9tb2PDrSDigJ4tdCBEUlVI4oCcIG5lYm9cbiIKKyN+ICIgICAgICAgdnnEjWlzdMSbdGUgemHFmcOtemVuw60gcG9tb2PDrSB3aXBlZnMoOCkuIgorCisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInR5cCBzeXN0w6ltdSBzb3Vib3LFryBuZWJ5bCB6YWTDoW4gYSBhbmkgamVqIG5lbHplIHpqaXN0aXQiCisKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm11c8OtdGUgemFkYXQgdHlwIHN5c3TDqW11IHNvdWJvcsWvIgorCisjfiBtc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorI34gbXNnc3RyICJ6ZHJvaiBwxZlpcG9qZW7DrSBuZW7DrSBkZWZpbm92w6FuIgorCisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHDFmWlwb2plbsOtIHNlIG5lemRhxZlpbG8iCisKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICIlczogc291Ym9yb3bDvSBzeXN0w6ltIGJ5bCBwxZlpcG9qZW4sIGFsZSBwxZnDrWtheiBtb3VudCg4KSBzZWxoYWwiCisKKyN+IG1zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBqZSBqacW+IHDFmWlwb2plbm8gZG8gJXNcbiIKKworI34gbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIiVzIG5lbsOtIHDFmWlwb2plbm8gxI1pIGNoeWJuw70gcMWZZXDDrW5hxI0iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorI34gIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChwcm8gxZlhZHUgc291Ym9yb3bDvWNoIHN5c3TDqW3FryAobmFwxZkuIG5mcywgY2lmcykgamVcbiIKKyN+ICIgICAgICAgdMWZZWJhIHBvbW9jbsO9IHByb2dyYW0gL3NiaW4vbW91bnQuPHR5cD4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiAgICAgICBWwqBqaXN0w71jaCBwxZnDrXBhZGVjaCBsemUgbmFqw610IHXFvml0ZcSNbsOpIGluZm9ybWFjZSB2wqBzeXN0w6ltb3bDqW1cbiIKKyN+ICIgICAgICAgcHJvdG9rb2x1wqDigJMgemt1c3RlIG5hcMWZw61rbGFkIOKAnmRtZXNnIHwgdGFpbOKAnFxuIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorI34gbXNnc3RyICJuZXJvenBvem5hbsO9IHDFmWVww61uYcSNIOKAniVj4oCcIgorCisjfiBtc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBvZHBvamVuw60gc2UgbmV6ZGHFmWlsbyIKKworI34gbXNnaWQgIiIKKyN+ICIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisjfiAiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IHphxZnDrXplbsOtIGplIHBvdcW+w612w6Fuby5cbiIKKyN+ICIgICAgICAgIChWwqBuxJtrdGVyw71jaCBwxZnDrXBhZGVjaCBsemUgesOtc2thdCB1xb5pdGXEjW7DqSBpbmZvcm1hY2Ugb8KgcHJvY2VzZWNoLFxuIgorI34gIiAgICAgICAga3RlcsOpIHNlIHphxZnDrXplbsOtbSBwcmFjdWrDrSwgcG9tb2PDrSBuw6FzdHJvasWvIGxzb2YoOCkgYSBmdXNlcigxKS4pIgorCisjfiBtc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorI34gbXNnc3RyICIlczogYm9kIHDFmWlwb2plbsOtIG5lbmFsZXplbiIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAiY2h5Ym7DvSDEjWFzb3bDvSBsaW1pdDogJXMiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICJvxI1la8OhdsOhbm8gxI3DrXNsbywgYWxlIG9iZHLFvmVubyDigJ4lc+KAnCIKKworI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAiZMSbbGl0ZWwg4oCeJXPigJwiCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgImNoeWJhIGFyZ3VtZW50dTogJXMiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiY2VzdGEga8KgVFRZICVzIGplIHDFmcOtbGnFoSBkbG91aMOhIgorCisjfiBtc2dpZCAibGluZSAlZCBpcyB0b28gbG9uZywgb3V0cHV0IHdpbGwgYmUgdHJ1bmNhdGVkIgorI34gbXNnc3RyICLFmcOhZGVrICVkIGplIHDFmcOtbGnFoSBkbG91aMO9LCB2w71zdHVwIGJ1ZGUgemtyw6FjZW4iCisKKyN+IG1zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKKyN+IG1zZ3N0ciAibmXDunBsbsO9IHrDoXBpcyBkbyDigJ4lc+KAnCAoemFwc8Ohbm8gJXpkLCBvxI1la8OhdsOhbm8gJXpkKVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCisjfiBtc2dzdHIgIiVzOiBuZWx6ZSBwxZlpZGF0IHNsZWRvdsOhbsOtIHBvbW9jw60gaW5vdGlmeSAocG/EjWV0IHNsZWRvdsOhbsOtIGlub3RpZnkgdnnEjWVycMOhbikuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPHNvdWJvcj5cbiIKKworI34gbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCisjfiBtc2dzdHIgIlNsZWR1amUgcsWvc3Qgc291Ym9ydSBzwqBwcm90b2tvbGVtLlxuIgorCisjfiBtc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1saW5lcyA8cG/EjWV0PiAgICB2eXDDrcWhZSBwb3NsZWRuw61jaCA8cG/EjWV0PiDFmcOhZGvFr1xuIgorCisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIiAtPHBvxI1ldD4gICAgICAgICAgICAgICBzdGVqbsOpIGpha28g4oCeLW4gPHBvxI1ldD7igJxcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKKyN+IG1zZ3N0ciAiUG96b3I6IHBvdcW+aXTDrSBuw6FzdHJvamUg4oCedGFpbGbigJwgamUgemFzdGFyYWzDqSwgcG91xb7DrXZlanRlIOKAnnRhaWwgLWbigJwuXG4iCisKKyN+IG1zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibmV6YWTDoW4gxb7DoWRuw70gdnN0dXBuw60gc291Ym9yIgorCisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgIiVzOiBuZW7DrSBzb3Vib3JlbSIKKworI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAia8Kgc291Ym9ydSAlcyBuZWx6ZSBwxZlpc3RvdXBpdCIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBuZW7DrSBibG9rb3bDvW0gemHFmcOtemVuw61tIgorCisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlczogemHFmcOtemVuw60gbmVuw60gc3Byw6F2bsSbIHphcm92bsOhbm8iCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiT1MvMiBza3J5dMO9IEM6IGRpc2siCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiJXM6IGNoeWJhIHJvemJvcnUgbmEgxZnDoWRrdSAlZCIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICIlczogbmVwb2RhxZlpbG8gc2UgesOtc2thdCBjZXN0dSBrwqB6YcWZw616ZW7DrSIKKworI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICIlczogbmV6bsOhbcO9IG7DoXpldiB6YcWZw616ZW7DrSIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBuZXBvZGHFmWlsbyBzZSB6w61za2F0IG7DoXpldiBkZXZpY2UgbWFwcGVydSIKKworI34gbXNnaWQgInRoZSBzb3J0IGNvbHVtbiBoYXMgdG8gYmUgYW1vbmcgdGhlIG91dHB1dCBjb2x1bW5zIgorI34gbXNnc3RyICLFmWFkaWPDrSBzbG91cGVjIHNlIG11c8OtIG5hY2jDoXpldCBtZXppIHNsb3VwY2kgdsO9c3R1cHUiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8Y2VzdGE+ICAgICAgICBjZXN0YSBrwqBzb3Vib3J1IHPCoFBJRFxuIgorI34gIiAtcywgLS1zb2NrZXQgPGNlc3RhPiAgICAgY2VzdGEga8Kgc29ja2V0dVxuIgorI34gIiAtVCwgLS10aW1lb3V0IDxzZWt1bmR5PiAgdXLEjcOtIMSNYXNvdsO9IGxpbWl0IG5lxI1pbm5vc3RpXG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgICB6YWJpamUgYsSbxb7DrWPDrWhvIGTDqW1vbmFcbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgIHZ5emtvdcWhw60gZ2VuZXLDoXRvciB6YWxvxb5lbsO9IG5hIG7DoWhvZMSbXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICB2eXprb3XFocOtIGdlbmVyw6F0b3IgemFsb8W+ZW7DvSBuYSDEjWFzZVxuIgorI34gIiAtbiwgLS11dWlkcyA8cG/EjWV0PiAgICAgIHBvxb5hZHVqZSBwb8SNZXQgVVVJRFxuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICAgbmV2eXR2w6HFmcOtIHNvdWJvciBQSURcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIG5lZMOpbW9uaXp1amUgc2UgcG9tb2PDrSBkdm9qaXTDqWhvIGZvcmt1XG4iCisjfiAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uICBuZXZ5dHbDocWZw60gc29ja2V0LCBuYSBrdGVyw6ltIGJ5IHBvc2xvdWNoYWxcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgIGLEm8W+w60gdsKgbGFkaWPDrW0gcmXFvmltdVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgemFwbmUgdGljaMO9IHJlxb5pbVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgcG9saWN5IgorI34gbXNnc3RyICJub3bDoSBwb2xpdGlrYSBwbMOhbm92w6Fuw60iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDzEjcOtc2xvPiAgIHphxI3DoXRlayBvYmxhc3RpIGvCoHphaG96ZW7DrSB2wqBiYWp0ZWNoXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8xI3DrXNsbz4gICBkw6lsa2Egb2JsYXN0aSBrwqB6YWhvemVuw60gdsKgYmFqdGVjaFxuIgorI34gIiAtcCwgLS1zdGVwIDzEjcOtc2xvPiAgICAgdmVsaWtvc3QgemFoYXpvdmFjw60gaXRlcmFjZSB1dm5pdMWZIHphZGFuw6kgb2JsYXN0aVxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgICAgIHByb3ZlZGUgYmV6cGXEjW7DqSB6YWhvemVuw61cbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2eXDDrcWhZSB6YXJvdm5hbm91IGTDqWxrdSBhIHphxI3DoXRla1xuIgorCisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgIDAsJTA2ZCBzZWt1bmR5XG4iCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiJXM6IGNoeWJhIHJvemJvcnU6IHrDoXpuYW0gbmEgxZnDoWRrdSAlZCBidWRlIGlnbm9yb3bDoW4uIgorCisjfiBtc2dpZCAicGFnZXMiCisjfiBtc2dzdHIgInN0csOhbmt5IgorCisjIExhc3QgYXJndW1lbnQgb2YgInBhZ2Utc2l6ZSAlZCwgJXMgYnl0ZSBvcmRlciIKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgIm9kbGnFoW7DqSIKKworIyBMYXN0IGFyZ3VtZW50IG9mICJwYWdlLXNpemUgJWQsICVzIGJ5dGUgb3JkZXIiCisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAic3Rlam7DqSIKKworI34gbXNnaWQgIkRldmljZSBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKKyN+IG1zZ3N0ciAiWmHFmcOtemVuw60gb3RldsWZZW5vIGplbiBwcm/EjXRlbsOtLiIKKworI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIgLXYgIHBvZHJvYm7DqSBobMOhxaFreVxuIgorCisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJCeWwgbmFsZXplbiB2ZWxtaSBkbG91aMO9ICglenUgYmFqdMWvKSBuw6F6ZXYgc291Ym9ydSDigJ4lc+KAnC5cbiIKKyN+ICJQcm9zw61tLCB6dnnFoXRlIE1BWF9JTlBVVF9OQU1FTEVOIHbCoG1rY3JhbWZzLmMgYSB6bm92dSBwxZllbG/FvnRlLiBLb27EjcOtIHNlLiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1jIHwgLWwgU09VQk9SXSBbLW5YWF0gWy1pWFhdIC9kZXYvTsOBWkVWIFtCTE9LWV0iCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiJXM6IGJ1ZmZlciBwcm8gc3VwZXJibG9rIG5lbHplIGFsb2tvdmF0IgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlczogYnVmZmVyeSBwcm8gbWFweSBuZWx6ZSBhbG9rb3ZhdCIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiBidWZmZXIgcHJvIGktdXpseSBuZWx6ZSBhbG9rb3ZhdCIKKworI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IGNoeWJuw6EgdmVsaWtvc3QgaS11emx1IgorCisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInR5cDogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJkaXNrOiAlLipzIgorCisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgInBvcGlzOiAlLipzIgorCisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJwxZnDrXpuYWt5OiAlcyIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJiYWp0xa8vc2VrdG9yOiAlbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcsWvL3N0b3B1OiAlbGQiCisKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic3RvcC9jeWxpbmRyOiAlbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcsWvL2N5bGluZHI6ICVsZCIKKworI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjeWxpbmRyxa86ICVsZCIKKworI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgIm90w6HEjWt5OiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJwcm9rbMOhZMOhbsOtOiAlZCIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInpwb8W+ZMSbbsOtIHN0b3B5OiAlZCIKKworI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgInpwb8W+ZMSbbsOtIGN5bGluZHJ1OiAlZCIKKworI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAicMWZZXN1biBobGF2eTogJWxkIChtaWxpc2VrdW5keSkiCisKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInpwb8W+ZMSbbsOtIG1lemkgc3RvcGFtaTogJWxkIChtaWxpc2VrdW5keSkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAib2Rkw61sxa86ICVkIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiTmVtxa/FvmV0ZSBtxJtuaXQgYsSbxb5uw70gb2Rkw61sIG5hIHJvesWhw63FmWVuw70gYSB6cMSbdC4gTmVqZMWZw612ZSBqZWogc21hxb50ZS4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VvbWV0cmllIHBvcGlzdTogaGxhdjogJSdkLCBzZWt0b3LFrzogJSdsbHUsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgY3lsaW5kcsWvOiAlJ2xsdSwgZnl6aWNrw71jaCBjeWxpbmRyxa86ICUnZCAgICAgICAgICAgICAgICAgIGV4dHJhIHNla3RvcsWvL2N5bGluZHI6ICVkLCBwcm9rbMOhZMOhbsOtOiAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAiR2VvbWV0cmllIHBvcGlzdTogb3TDocSNZWs6ICUnZCwgbsOhaHJhZG7DrWNoIGN5bGluZHLFrzogJSdkLFxuIgorI34gIiAgICAgICAgICAgICAgICAgIGZ5emlja8O9Y2ggY3lsaW5kcsWvOiAlJ2QsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgZXh0cmEgc2VrdG9yxa8vY3lsaW5kcjogJSdkLCBwcm9rbMOhZMOhbsOtOiAlZDoxIgorCisjIFZvbHVtZSBJRAorI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiPMW+w6FkbsOpPiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIGdldHRpbWVvZmRheSBzZWxoYWxvIgorCisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIHN5c2luZm8gc2VsaGFsbyIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606IGxhc3QgWy0jXSBbLWYgc291Ym9yXSBbLXQgdHR5XSBbLWggbsOhemV2X3BvxI3DrXRhxI1lXSBbdcW+aXZhdGVs4oCmXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogdm9sw6Fuw60gbW1hcCBzZWxoYWxvIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgc3TDoWxlIHDFmWlobMOhxaFlbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgemHEjcOtbsOhICVzIgorCisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSBnZXRob3N0bmFtZSBzZWxoYWxvIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJwxZllcnXFoWVuICUxMC4xMHMgJTUuNXMgXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxQSUQ+ICAgICAgICBJRCBwcm9jZXN1XG4iCisjfiAiIC1vLCAtLW91dHB1dCA8c2V6bmFtPiAgdXLEjXVqZSBzbG91cGNlIG5hIHbDvXN0dXB1XG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmV2eXDDrcWhZSB6w6FobGF2w61cbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB2w71waXMgdsKgc3lyb3bDqW0gZm9ybcOhdHVcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBuZXprcmFjdWplIHRleHQgdmUgc2xvdXBjw61jaFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb2xpdGlreSBwbMOhbm92w6Fuw606XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBuYXN0YXbDrSBwb2xpdGlrdSBuYSBTQ0hFRF9CQVRDSCAoZMOhdmthKVxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfRklGTyAoZnJvbnRhKVxuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfSURMRSAoemFow6FsZW7DrSlcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX09USEVSIChqaW7DoSlcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX1JSIChpbXBsaWNpdG7DrSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWEgfCAtLWFsbC10YXNrcyAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIHByYWN1amUgbmFkIHbFoWVtaSDDumxvaGFtaSAodmzDoWtueSkgc8KgUElEXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIHpvYnJhesOtIG1pbmltw6FsbsOtIGEgbWF4aW3DoWxuw60gcGxhdG7DqSBwcmlvcml0eVxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgcHJhY3VqZSBuYWQgZXhpc3R1asOtY8OtbSBwcm9jZXNlbSBzwqBQSURcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIHpvYnJhesOtIHN0YXZvdsOpIGluZm9ybWFjZVxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgdnlww63FoWUgw7pkYWplIG/CoHZlcnppXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tbWFudWFsZWplY3QvLWkgb3B0aW9uIgorI34gbXNnc3RyICJuZXBsYXRuw70gYXJndW1lbnQgcMWZZXDDrW5hxI1lIC0tbWFudWFsZWplY3QvLWkiCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIlN5c3TDqW1vdsOpIGhvZGlueSBtxa/FvmUgbmFzdGF2aXQgcG91emUgc3VwZXJ1xb5pdmF0ZWwuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiSG9kbm90dSBwb8SNw6F0a3UgZXBvY2h5IGhvZGluIHJlw6FsbsOpaG8gxI1hc3UgbcWvxb5lIGrDoWRydSBuYXN0YXZpdCBwb3V6ZSBzdXBlcnXFvml2YXRlbC4iCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgInRpa8OhbsOtIGhvZGluIG5lbHplIHogJXMgxI3DrXN0IC0gdm9sw6Fuw60gcmVhZCgpIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbGlzdHMgYWxsIG1vdW50cyB3aXRoIExBQkVMc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBuZXZvbMOhIHBvZHDFr3Juw6kgcHJvZ3JhbXkgbW91bnQuPHR5cD5cbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgem9icmF6w60gdsWhZWNobmEgcMWZaXBvamVuw60gc8KgSk1FTk9WS0FNSVxuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuZXphcMOtxaFlIGRvIC9ldGMvbXRhYlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHZ5c3bEm3Rsw60sIGNvIHByb3bDoWTEm27DqSDDumtvbnlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgc291Ym9yb3bDqSBzeXN0w6lteSBwxZlpcG9qw60gacKgcHJvIHrDoXBpcyAodsO9Y2hvesOtKVxuIgorCisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgIm5hc3RhdmVuw60gYnVkw61rdSBSVEMgc2VsZ2FsbyIKKworI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJ6YXBudXTDrSBidWTDrWt1IFJUQyBzZWxoYWxvIgorCisjfiBtc2dpZCAic3VzcGVuZCB0byBcIiVzXCIgdW5hdmFpbGFibGUiCisjfiBtc2dzdHIgInVzcMOhbsOtIGRvIHJlxb5pbXUg4oCeJXPigJwgbmVuw60gZG9zdHVwbsOpIgorCisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBwxZnDrXBvam7DvWNoIGJvZMWvXG4iCisKKyN+IG1zZ2lkICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+IG1zZ3N0ciAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIFVUUyAobsOhemV2IHN0cm9qZSBhdGQuKVxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBTeXN0ZW0gViBJUENcbiIKKworI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgb2RkxJtsw60gc8OtxaVvdsO9IGptZW5uw70gcHJvc3RvclxuIgorCisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICBvZGTEm2zDrSBqbWVubsO9IHByb3N0b3IgdcW+aXZhdGVsxa9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAibmVsemUgb3RldsWZw610ICVzOiAlbSIKKworI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnVua2NlIGZyZWFkIHNlbGhhbGEiCisKKyN+IG1zZ2lkICJNaW5pbWFsIHNpemUgaXMgJWp1IgorI34gbXNnc3RyICJOZWptZW7FocOtIHZlbGlrb3N0IGplICVqdSIKKworI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIlByb3PDrW0sIHZ5YmVydGUgZHJ1aCwgYWJ5IHNlIHZ5dHZvxZlpbCBub3bDvSBwb3Bpc3UgZGlza3UuIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiTsOhcG92xJtkYSBwcm8gY2ZkaXNrIgorCisjfiBtc2dpZCAiZGlzayBkcml2ZS4iCisjfiBtc2dzdHIgIm5hIHZhxaFlbSBwZXZuw6ltIGRpc2t1LiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorI34gbXNnc3RyICJDb3B5cmlnaHQgwqkgMjAxNCBLYXJlbCDFvcOhayA8a3pha0ByZWRoYXQuY29tPiAiCisKKyN+IG1zZ2lkICJCYXNlZCBvbiB0aGUgb3JpZ2luYWwgY2ZkaXNrIGZyb20gS2V2aW4gRS4gTWFydGluICYgYWViLiIKKyN+IG1zZ3N0ciAiWmFsb8W+ZW5vIG5hIHDFr3ZvZG7DrW0gY2ZkaXNrdSBvZCBLZXZpbmEgRS7igK9NYXJ0aW5hICYgYWViLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAg4oCebm/igJwiCisKKyN+IG1zZ2lkICJEZXZpY2Ugb3BlbiBpbiByZWFkLW9ubHkgbW9kZSIKKyN+IG1zZ3N0ciAiWmHFmcOtemVubyBqZSBvdGV2xZllbm8gamVuIHBybyDEjXRlbsOtIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbUMWYRVDDjU5BxIxFXSBaQcWYw41aRU7DjVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgemFrw6HFvmUgb3bEm8WZb3bDoW7DrSBwbyBmb3Jtw6F0b3bDoW7DrVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIHZ5cMOtxaFlIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJ2b2zDoW7DrSBzdGF0IHNlbGhhbG8gJXMiCisKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG9kcm9ibm9zdGkgbmFsZXpuZXRlIHbCoG1rZnMoOCkuXG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAoJXMpXG4iCisKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIkNoeWJuw6EgdmVsaWtvc3QgaGxhdmnEjWt5IG9ka2zDoWRhY8OtaG8gc291Ym9ydSwgam1lbm92a2EgbmV6YXBzw6FuYS4iCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICJjaHliYSBwb3N1bnUgdWthem92w6F0a2EgbmEgJXMgLSB1a2F6b3bDoXRrbyBuZWx6ZSBwb3N1bm91dCBuYSAlbHUiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgcG9zdW51IHVrYXpvdsOhdGthOiBwb8W+YWRhdmVrIDB4JTA4eCUwOHgsIHbDvXNsZWRlayAweCUwOHglMDh4IgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJjaHliYSDEjXRlbsOtIHrCoCVzIC0gc2VrdG9yICVsbHUgbmVsemUgcMWZZcSNw61zdCIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJjaHliYSB6w6FwaXN1IG5hICVzIC0gc2VrdG9yICVsbHUgbmVsemUgemFwc2F0IgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAic291Ym9yIHBybyB1bG/FvmVuw60gc2VrdG9yxa8gKCVzKSBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiY2h5YmEgesOhcGlzdSBuYSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gc3RhdCBwcm8gc291Ym9yIHMgdWxvxb5lbsO9bWkgc2VrdG9yeSAoJXMpIHNlbGhhbG8iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZyIKKyN+IG1zZ3N0ciAic291Ym9yIHMgdWxvxb5lbsO9bWkgc2VrdG9yeSBtw6EgY2h5Ym5vdSB2ZWxpa29zdCAtIG5lYnVkZSBvYm5vdmVubyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAic291Ym9yIHMgdWxvxb5lbsO9bWkgc2VrdG9yeSAoJXMpIG5lbHplIG90ZXbFmcOtdCIKKworI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgxI10ZW7DrSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiemHFmcOtemVuw60gJXMgbmVsemUgb3RldsWZw610IHBybyB6w6FwaXMiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgesOhcGlzdSBzZWt0b3J1ICVsdSBuYSAlcyIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkRpc2sgJXM6IGdlb21ldHJpaSBuZWx6ZSB6amlzdGl0IgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJEaXNrICVzOiB2ZWxpa29zdCBuZWx6ZSB6amlzdGl0IgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHN0YXJ0PSVsdSAtIHRoaXMgbG9va3MgbGlrZSBhIHBhcnRpdGlvbiByYXRoZXIgdGhhblxuIgorI34gInRoZSBlbnRpcmUgZGlzay4gVXNpbmcgZmRpc2sgb24gaXQgaXMgcHJvYmFibHkgbWVhbmluZ2xlc3MuXG4iCisjfiAiW1VzZSB0aGUgLS1mb3JjZSBvcHRpb24gaWYgeW91IHJlYWxseSB3YW50IHRoaXNdIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IHphxI3DoXRlaz0lbHUgLSB0byB2eXBhZMOhIHNww63FoWUgamFrbyBvZGTDrWwgbmXFvmxpXG4iCisjfiAiY2Vsw70gZGlzay4gUG91xb5pdMOtIGZkaXNrdSBqZSB2IHRvbSBwxZnDrXBhZMSbIHByYXZkxJtwb2RvYm7EmyB6Ynl0ZcSNbsOpLlxuIgorI34gIltQb3XFvmlqdGUgcMWZZXDDrW5hxI0gLS1mb3JjZSBwb2t1ZCB0byBvcHJhdmR1IGNoY2V0ZS5dIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIlBvem9yOiBkbGUgSERJT19HRVRHRU8gamUgcG/EjWV0IGhsYXYgJWx1IgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiUG96b3I6IGRsZSBIRElPX0dFVEdFTyBqZSBwb8SNZXQgc2VrdG9yxa8gJWx1IgorCisjfiBtc2dpZCAiV2FybmluZzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIlBvem9yOiBkbGUgQkxLR0VUU0laRS9IRElPX0dFVEdFTyBqZSBwb8SNZXQgY3lsaW5kcsWvICVsdSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvem9yOiBuZW9idnlrbMO9IHBvxI1ldCBzZWt0b3LFryAoJWx1KSAtIG9idnlrbGUgbmViw712w6EgdsOtY2UgbmXFviA2My5cbiIKKyN+ICJUbyB6cMWvc29iw60gcHJvYmzDqW15IHbFoWVtIHByb2dyYW3Fr20sIGt0ZXLDqSBwb3XFvsOtdmFqw60gYWRyZXNvdsOhbsOtIEMvSC9TLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiBjeWxpbmRyxa86ICVsdSwgaGxhdjogJWx1LCBzZWt0b3LFry9zdG9wdTogJWx1XG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgb2Rkw61sdSAlcyBtw6EgY2h5Ym7DvSBwb8SNZXQgaGxhdjogJWx1IChtxJtsbyBieSBiw710IDAtJWx1KSIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiVzIG9kZMOtbHUgJXMgbcOhIGNoeWJuw70gcG/EjWV0IHNla3RvcsWvOiAlbHUgKG3Em2xvIGJ5IGLDvXQgMS0lbHUpIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgb2Rkw61sdSAlcyBtw6EgY2h5Ym7DvSBwb8SNZXQgY3lsaW5kcsWvOiAlbHUgKG3Em2xvIGJ5IGLDvXQgMC0lbHUpIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJOYcSNw610w6FtIHpub3Z1IHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3XigKZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgY29tbWFuZCB0byByZS1yZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLlxuIgorI34gIlJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgeW91ciBzeXN0ZW0gbm93LFxuIgorI34gImJlZm9yZSB1c2luZyBta2ZzIgorI34gbXNnc3RyICIiCisjfiAiTmVwb2RhxZlpbG8gc2Ugem5vdnUgbmHEjcOtc3QgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdS5cbiIKKyN+ICJExZnDrXZlIG5lxb4gcG91xb5pamV0ZSBta2ZzLCBzcHVzxaV0ZSBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBuZWJvIHJlc3RhcnR1anRlXG4iCisjfiAic3lzdMOpbSIKKworI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXMiCisjfiBtc2dzdHIgIkNoeWJhIHDFmWkgemF2w61yw6Fuw60gJXMiCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IG9kZMOtbCBuZWV4aXN0dWplXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9ycyIKKyN+IG1zZ3N0ciAibmV6bsOhbcO9IGZvcm3DoXQgLSBwb3XFvmlqw60gc2Ugc2VrdG9yeSIKKworI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgIm5laW1wbGVtZW50b3ZhbsO9IGZvcm3DoXQgLSBwb3XFvmlqw60gc2UgJXMiCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWt0b3J5IgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiSmVkbm90a3k6IGN5bGluZHJ5IHBvICVsdSBiYWp0ZWNoLCBibG9reSBwbyAxMDI0IGJhanRlY2gsIHBvxI3DrXTDoW5vIG9kICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiWmHFmcOtemVuw60gIEJvb3QgWmHEjcOhdGVrICAgS29uZWMgQ3lsZHLFryAgIEJsb2vFryAgICAgSWQgIFN5c3TDqW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkplZG5vdGt5OiBzZWt0b3J5IHBvIDUxMiBiYWp0ZWNoLCBwb8SNw610w6FubyBvZCAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiWmHFmcOtemVuw60gIEJvb3QgICAgWmHEjcOhdGVrICAgICBLb25lYyBTZWt0b3LFryAgIElkICBTeXN0w6ltXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJKZWRub3RreTogYmxva3kgcG8gMTAyNCBiYWp0ZWNoLCBwb8SNw610w6FubyBvZCAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiWmHFmcOtemVuw60gIEJvb3QgICBaYcSNw6F0ZWsgICAgIEtvbmVjICBCbG9rxa8gICAgIElkICBTeXN0w6ltXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJKZWRub3RreTogMeKAr01pQiA9IDEwMjQqMTAyNCBiYWp0xa8sIGJsb2t5IHBvIDEwMjQgYmFqdGVjaCwgcG/EjcOtdMOhbm8gb2QgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICJaYcWZw616ZW7DrSAgQm9vdCBaYcSNw6F0ZWsgS29uZWMgIE1pQiAgICBCbG9rxa8gICAgIElkICBTeXN0w6ltXG4iCisKKyN+IG1zZ2lkICJcdFx0c3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHR6YcSNw6F0ZWs6IChjLGgscykgcMWZZWRwb2tsYWQgKCVsZCwlbGQsJWxkKSBuYWxlemVubyAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0a29uZWM6IChjLGgscykgcMWZZWRwb2tsYWQgKCVsZCwlbGQsJWxkKSBuYWxlemVubyAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgIm9kZMOtbCBrb27EjcOtIG5hIGN5bGluZHJ1ICVsZCwgdC5qLiB6YSBrb25jZW0gZGlza3VcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJvdsOhbsOtOiBaZMOhIHNlLCDFvmUgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBieWxhIHZ5dHZvxZllbmFcbiIKKyN+ICJwcm8gQy9IL1M9Ki8lbGQvJWxkIChtw61zdG8gJWxkLyVsZC8lbGQpLlxuIgorI34gIlpvYnJhenVqaSB6YSBwb3XFvml0w60gdMOpdG8gZ2VvbWV0cmllLiIKKworI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50IgorI34gbXNnc3RyICJuZW7DrSBwxZnDrXRvbW5hIMW+w6FkbsOhIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UiCisKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbiBkZWZpbmVkIgorI34gbXNnaWRfcGx1cmFsICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0clswXSAienZsw6HFoXRuw60gLSBwb3V6ZSAlZCBvZGTDrWwgZGVmaW5vdsOhbiIKKyN+IG1zZ3N0clsxXSAienZsw6HFoXRuw60gLSBwb3V6ZSAlZCBvZGTDrWx5IGRlZmlub3bDoW55IgorI34gbXNnc3RyWzJdICJ6dmzDocWhdG7DrSAtIHBvdXplICVkIG9kZMOtbMWvIGRlZmlub3bDoW5vIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIlBvem9yOiBvZGTDrWwgJXMgbcOhIHZlbGlrb3N0IDAgYSBuZW7DrSBvem5hxI1lbiBqYWtvIHByw6F6ZG7DvSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiUG96b3I6IG9kZMOtbCAlcyBtw6EgdmVsaWtvc3QgMCBhIGplIHN0YXJ0b3ZhY8OtIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIlBvem9yOiBvZGTDrWwgJXMgbcOhIHZlbGlrb3N0IDAgYSBuZW51bG92w70gemHEjcOhdGVrIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiUG96b3I6IG9kZMOtbHkgJXMgYSAlcyBzZSBwxZlla3LDvXZhasOtIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IG9kZMOtbCAlcyBvYnNhaHVqZSDEjcOhc3QgdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdSAoc2VrdG9yICVsbHUpXG4iCisjfiAiYSB2IHDFmcOtcGFkxJsgemFwbG7Em27DrSBqaSB6bmnEjcOtIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUG96b3I6IG9kZMOtbCAlcyB6YcSNw61uw6EgbmEgc2VrdG9ydSAwIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiUG96b3I6IG9kZMOtbCAlcyBwxZllc2FodWplIHphIGtvbmVjIGRpc2t1IgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAlZC4lZCBUQiAoJWxsdSBieXRlcyksXG4iCisjfiAid2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlICVsbHUgYnl0ZXMgbGltaXQgaW1wb3NlZFxuIgorI34gImJ5IHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGZvciAlZC1ieXRlIHNlY3RvcnMiCisjfiBtc2dzdHIgIiIKKyN+ICJQb3pvcjogb2Rkw61sICVzIG3DoSB2ZWxpa29zdCAlZCwlZOKAr1RCICglJ2xsdSBiYWp0xa8pLFxuIgorI34gImNvxb4gamUgdsOtY2UsIG5lxb4gb21lemVuw60gJSdsbHUgYmFqdMWvIGRhbsOpIGRvc292b3UgdGFidWxrb3VcbiIKKyN+ICJyb3pkxJtsZW7DrSBkaXNrdSBwxZlpICVkYmFqdG92w71jaCBzZWt0b3JlY2giCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgJWxsdSAoJWQuJWQgVEIgZm9yICVkLWJ5dGUgc2VjdG9ycyksXG4iCisjfiAid2hpY2ggZXhjZWVkcyB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBsaW1pdCBvZiAlbGx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIiIKKyN+ICJQb3pvcjogb2Rkw61sICVzIHphxI3DrW7DoSBuYSBzZWt0b3J1ICUnbGx1ICglZCwlZOKAr1RCXG4iCisjfiAicMWZaSAlZGJhanRvdsO9Y2ggc2VrdG9yZWNoKSwgY2/FviBwxZllc2FodWplIG9tZXplbsOtIGRvc292w6kgdGFidWxreVxuIgorI34gInJvemTEm2xlbsOtIGRpc2t1ICUnbGx1IHNla3RvcsWvIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIlBvdXplIGplZGVuIHogcHJpbcOhcm7DrWNoIG9kZMOtbMWvIG3Fr8W+ZSBiw710IHJvesWhw63FmWVuw71tXG4iCisjfiAiKGHEjWtvbGl2IHbCoExpbnV4dSB0byBuZW7DrSBwcm9ibMOpbSkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiUG96b3I6IG9kZMOtbCAlcyBuZXphxI3DrW7DoSBuYSBocmFuaWNpIGN5bGluZHJ1IgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJQb3pvcjogb2Rkw61sICVzIG5la29uxI3DrSBuYSBocmFuaWNpIGN5bGluZHJ1IgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3pvcjogdsOtY2UgbmXFviBqZWRlbiBwcmltw6FybsOtIG9kZMOtbCBqZSBvem5hxI1lbiBqYWtvIHN0YXJ0b3ZhY8OtLlxuIgorI34gIkxJTFUgdG8gbmXEjWluw60gcHJvYmzDqW15LCBhbGUgRE9TIE1CUiB6IHRvaG90byBkaXNrdSBuZW5hc3RhcnR1amUuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3pvcjogb2J5xI1lam7EmyBqZSBtb8W+bsOpIHN0YXJ0b3ZhdCBwb3V6ZSB6IHByaW3DoXJuw61jaCBvZGTDrWx8xa8uXG4iCisjfiAiTElMTyBuZWJ1ZGUgYnLDoXQgb2hsZWQgbmEgcMWZw616bmFrIOKAnnN0YXJ0b3ZhY8Ot4oCcLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvem9yOiDFvsOhZG7DvSBwcmltw6FybsOtIG9kZMOtbCBuZW7DrSBvem5hxI1lbiBqYWtvIHN0YXJ0b3ZhY8OtLlxuIgorI34gIkxJTFUgdG8gbmXEjWluw60gcHJvYmzDqW15LCBhbGUgRE9TIHogdG9ob3RvIGRpc2t1IG5lbmFzdGFydHVqZS4iCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAiemHEjcOhdGVrIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIm9kZMOtbCAlczogemHEjcOhdGVrOiAoYyxoLHMpIHDFmWVkcG9rbGFkICglbGQsJWxkLCVsZCksIG5hbGV6ZW5vICglbGQsJWxkLCVsZCkiCisKKyN+IG1zZ2lkICJlbmQiCisjfiBtc2dzdHIgImtvbmVjIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJvZGTDrWwgJXM6IGtvbmVjOiAoYyxoLHMpIHDFmWVkcG9rbGFkICglbGQsJWxkLCVsZCksIG5hbGV6ZW5vICglbGQsJWxkLCVsZCkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJvZGTDrWwgJXMga29uxI3DrSBuYSBjeWxpbmRydSAlbGQsIHRvIGplc3QgemEga29uY2VtIGRpc2t1IgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHNoaWZ0ZWQgc3RhcnQgb2YgdGhlIGV4dGQgcGFydGl0aW9uIGZyb20gJWxsZCB0byAlbGxkXG4iCisjfiAiKEZvciBsaXN0aW5nIHB1cnBvc2VzIG9ubHkuIERvIG5vdCBjaGFuZ2UgaXRzIGNvbnRlbnRzLikiCisjfiBtc2dzdHIgIiIKKyN+ICJQb3pvcjogemHEjcOhdGVrIHJvesWhw63FmWVuw6lobyBvZGTDrWx1IHBvc3VudXQgeiAlbGxkIG5hICVsbGQuXG4iCisjfiAiKFBvdXplIHBybyDDusSNZWx5IHbDvXBpc3UuIE5lbcSbxYh0ZSBqZWhvIG9ic2FoLikiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiVmFyb3bDoW7DrTogcm96xaHDrcWZZW7DvSBvZGTDrWwgbmV6YcSNw61uw6EgbmEgaHJhbmljaSBjeWxpbmRydS5cbiIKKyN+ICJET1MgYSBMaW51eCBidWRvdSBqZWhvIG9ic2FoIGludGVycHJldG92YXQgcm96ZMOtbG7Emy4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIkNIWUJBOiBzZWt0b3IgJWxsdSBuZW5lc2Ugc3RvcHkgTVMtRE9TdSIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICJwxZnDrWxpxaEgbW5vaG8gb2Rkw61sxa8gLSB0eSB6YSDEjcOtc2xlbSAlenUgYnVkb3UgaWdub3JvdsOhbnkiCisKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJzdHJvbSBvZGTDrWzFrz8iCisKKyN+IG1zZ2lkICJkZXRlY3RlZCBEaXNrIE1hbmFnZXIgLSB1bmFibGUgdG8gaGFuZGxlIHRoYXQiCisjfiBtc2dzdHIgIm5hbGV6ZW4gRGlzayBNYW5hZ2VyIC0gcyB0w61tIG5ldW3DrW0gcHJhY292YXQiCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJuYWxlemVuIERNNiBwb2RwaXMgLSBrb27EjcOtIHNlIgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgInp2bMOhxaF0bsOt4oCmLCByb3rFocOtxZllbsO9IG9kZMOtbCBvwqB2ZWxpa29zdGkgMD8iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAienZsw6HFoXRuw63igKYsIEJTRCBvZGTDrWwgb8KgdmVsaWtvc3RpIDA/IgorCisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiYnlsIHphZMOhbiBwxZllcMOtbmHEjSAtbjogTmljIG5lYnlsbyB6bcSbbsSbbm8iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIkNoeWJhIHDFmWkgdWtsw6Fkw6Fuw60gc3RhcsO9Y2ggc2VrdG9yxa8gLSBrb27EjcOtbVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiQ2h5YmEgcMWZaSB6w6FwaXN1IG9kZMOtbHUgbmEgJXMiCisKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJwxZnDrWxpxaEgZGxvdWjDvSDEjWkgbmXDunBsbsO9IMWZw6FkZWsgLSBrb27EjcOtbSIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImNoeWJhIHZzdHVwdTogcG8gcG9sb8W+Y2UgJXMgamUgb8SNZWvDoXbDoW4gem5hayDigJ494oCcIgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJjaHliYSB2c3R1cHU6IG5lb8SNZWvDoXZhbsO9IHpuYWsgJWMgcG8gcG9sb8W+Y2UgJXMiCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQ6ICVzIgorI34gbXNnc3RyICJuZXJvenBvem5hbsO9IHZzdHVwOiAlcyIKKworI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICLEjcOtc2xvIGplIHDFmcOtbGnFoSB2ZWxpa8OpIgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgIm5lc215c2x5IHphIMSNw61zbGVtIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIm5lbsOtIG3DrXN0byBwcm8gcG9waXMgb2Rkw61sdSIKKworI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIm9rb2xuw60gcm96xaFpxZl1asOtY8OtIG9kZMOtbCBuZWx6ZSB2eXR2b8WZaXQiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgInDFmcOtbGnFoSBtbm9obyB2c3R1cG7DrWNoIHBvbG/FvmVrIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiSmnFviBuZWpzb3Ugdm9sbsOpIGJsb2t5IgorCisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJDaHlibsO9IHR5cCIKKworI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiUG96b3I6IHphZGFuw6EgdmVsaWtvc3QgKCVsbHUpIHDFmWVrcmHEjXVqZSBtYXhpbcOhbG7DrSBwb3ZvbGVub3UgdmVsaWtvc3QgKCVsbHUpIgorCisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQb3pvcjogcHLDoXpkbsO9IG9kZMOtbCIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJQb3pvcjogY2h5Ym7DvSB6YcSNw6F0ZWsgb2Rkw61sdSAoZMWZw612xJtqxaHDrSAlbGx1KSIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBib290YWJsZSBmbGFnIC0gY2hvb3NlIC0gb3IgKiIKKyN+IG1zZ3N0ciAibmVyb3pwb3puYW7DvSBwxZnDrXpuYWsg4oCec3RhcnRvdmFjw63igJwgLSB6dm9sdGUgLSDEjWkgKiIKKworI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgIm5lw7pwbG7DoSBjLGgscyBzcGVjaWZpa2FjZT8iCisKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkIgorI34gbXNnc3RyICJSb3rFocOtxZllbsO9IG9kZMOtbCBuYSBuZW/EjWVrw6F2YW7DqW0gbcOtc3TEmyIKKworI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAiY2h5Ym7DvSB2c3R1cCIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgInDFmcOtbGnFoSBtbm9obyBvZGTDrWzFryIKKworI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIlZzdHVwIHYgbsOhc2xlZHVqw61jw61tIGZvcm3DoXR1OyBjaHlixJtqw61jw60gcG9sb8W+a3kgYnVkb3UgbmFocmF6ZW55IGltcGxpY2l0bsOtbWlcbiIKKyN+ICJob2Rub3RhbWkuXG4iCisjfiAiPHphxI3DoXRlaz4gPHZlbGlrb3N0PiA8dHlwIFtFLFMsTCxYLGhleF0+IDxzdGFydG92YWPDrSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiT2J2eWtsZSBqZSB0xZllYmEgemFkYXQgcG91emUgPHphxI3DoXRlaz4gYSA8dmVsaWtvc3Q+IChhIG1vxb5uw6EgPHR5cD4pLiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDx6YcWZw616ZW7DrT7igKZcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb25cbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICBjaGFuZ2Ugb3IgcHJpbnQgcGFydGl0aW9uIElkXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgY2hhbmdlIElkXG4iCisjfiAiICAgICAtLXByaW50LWlkICAgICAgICAgICAgcHJpbnQgSWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIHZ5cMOtxaFlIHZlbGlrb3N0IG9kZMOtbHVcbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICB2eXDDrcWhZSDEjWkgem3Em27DrSBJRCBvZGTDrWx1XG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgem3Em27DrSBJRFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIHZ5cMOtxaFlIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dFxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dGVyPiAgICAgICB1bml0cyB0byBiZSB1c2VkOyA8bGV0dGVyPiBjYW4gYmUgb25lIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTIChzZWN0b3JzKSwgQyAoY3lsaW5kZXJzKSwgQiAoYmxvY2tzKSwgb3IgTSAoTUIpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBrZSBrYcW+ZMOpbXUgemHFmcOtemVuw60gdnlww63FoWUgb2Rkw61seVxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIHRha3TDqcW+LCBhbGUgdmUgZm9ybcOhdHUgdmhvZG7DqW0ga8KgZGFsxaHDrW11IHpwcmFjb3bDoW7DrVxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIMSNw61zbHVqZSBjeWxpbmRyeSBhdGQuIG9kIDEgbcOtc3RvIG9kIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8cMOtc21lbm8+ICAgICAgamFrbyBqZWRub3RreSBwb3XFvmlqZTsgPHDDrXNtZW5vPiBtxa/FvmUgYsO9dCBqZWRubyB6XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTIChzZWt0b3J5KSwgQyAoY3lsaW5kcnkpLCBCIChibG9reSkgbmVibyBNIChNQilcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgdnlocmF6ZW7DvSBwxZllcMOtbmHEjSwga3RlcsO9IG55bsOtIG5pYyBuZWTEm2zDoVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIHZ5cMOtxaFlIHpuw6Ftw6kgdHlweSBvZGTDrWzFr1xuIgorI34gIiAtRCwgLS1ET1MgICAgICAgICAgICAgICAgIHBybyBrb21wYXRpYmlsaXR1IHMgRE9TZW06IHViZXJlIHRyb2NodSBtw61zdGFcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICBrb21wYXRpYmlsaXRhIHPCoGRvc292w71taSByb3rFocOtxZllbsO9bWkgb2Rkw61seVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIHBvxb7DoWTDoSBqw6Fkcm8gb8Kgbm92w6kgbmHEjXRlbsOtIHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3VcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgcGFydGl0aW9uIHdpdGggdGhpcyA8bnVtYmVyPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiIC1PIDxmaWxlPiAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gPGZpbGU+XG4iCisjfiAiIC1JIDxmaWxlPiAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU4gPMSNw61zbG8+ICAgICAgICAgICAgICAgIHptxJtuw60gcG91emUgb2Rkw61sIHPCoHTDrW10byA8xI3DrXNsZW0+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgbmEgZGlzayBuZWJ1ZG91IHVsb8W+ZW55IMW+w6FkbsOpIHptxJtueVxuIgorI34gIiAtTyA8c291Ym9yPiAgICAgICAgICAgICAgIHVsb8W+w60gem3Em27Em27DqSBzZWt0b3J5IGRvIDxzb3Vib3J1PlxuIgorI34gIiAtSSA8c291Ym9yPiAgICAgICAgICAgICAgIG9ibm92w60gc2VrdG9yeSB6ZSA8c291Ym9ydT5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICBjaGVjayB0aGF0IHRoZSBsaXN0ZWQgcGFydGl0aW9ucyBhcmUgcmVhc29uYWJsZVxuIgorI34gIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIG92xJvFmcOtLCDFvmUgdnlqbWVub3ZhbsOpIG9kZMOtbHkgZMOhdmFqw60gc215c2xcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGFuZ2Vyb3VzIG9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJOZWJlenBlxI1uw6kgcMWZZXDDrW5hxI1lOlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCisjfiAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIHBhcnRpdGlvbiBpcyBpbiB1c2VcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyB3YXJuaW5nIG1lc3NhZ2VzXG4iCisjfiAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgdnlwbmUgdsWhZWNobnkga29udHJvbHkga29uemlzdGVuY2VcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBuZW92xJvFmXVqZSwgemRhLWxpIHNlIG9kZMOtbCBwcsOhdsSbIHBvdcW+w612w6FcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBuZWJ1ZGUgdnlwaXNvdmF0IHZhcm92bsOpIGhsw6HFoWt5XG4iCisjfiAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgbmVidWRlIHNpIHN0xJvFvm92YXQgbmEgdsSbY2kgbmVwb2RzdGF0bsOpIHBybyBMaW51eFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICB2eXDDrcWhZSBnZW9tZXRyaWksIGphayBqaSB2aWTDrSBqw6Fkcm9cbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICB2eXDDrcWhZSBnZW9tZXRyaWksIGt0ZXLDoSBieWxhIG9kaGFkbnV0YVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHrCoHRhYnVsa3kgcm96ZMSbbGVuw60gZGlza3VcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08emHFmcOtemVuw60+XVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHphcG5lIHDFmcOtem5hayB6YXZlZGl0ZWxub3N0aVxuIgorI34gIiAtVSwgLS11bmhpZGVbPTx6YcWZw616ZW7DrT5dIHp2aWRpdGVsbsOtIG9kZMOtbFxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIHJvdm7Em8W+IHZ5cMOtxaFlIHJvesWhw63FmWVuw6kgb2Rkw61seSBuZWJvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgbmEgdnN0dXB1IG/EjWVrw6F2w6EgamVqaWNoIHBvcGlzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgZG8gbm90IGFsbG9jYXRlIHRoZSBsYXN0IGN5bGluZGVyXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLWxlYXZlLWxhc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIG5lYWxva3VqZSBwb3NsZWRuw60gY3lsaW5kclxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIHN0ZWpuw6kgamFrbyAtLWxlYXZlLWxhc3RcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0taW4tb3JkZXIgICAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBpbiBvcmRlclxuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIHBhcnRpdGlvbnMgYXJlIG5vdCBpbiBvcmRlclxuIgorI34gIiAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICAgIGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAgbm90IGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0taW4tb3JkZXIgICAgICAgICAgICBvZGTDrWx5IGpzb3Ugc2XFmWF6ZW55XG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgb2Rkw61seSBuZWpzb3Ugc2XFmWF6ZW55XG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgdsWhZWNobnkgbG9naWNrw6kgb2Rkw61seSBqc291IHV2bml0xZkgbmVqdm7Em2rFoWVqxaHDrWNoXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgcm96xaHDrcWZZW7DvWNoIG9kZMOtbMWvXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAgbmUgdsWhZWNobnkgbG9naWNrw6kgb2Rkw61seSBqc291IHV2bml0xZkgbmVqdm7Em2rFoWVqxaHDrWNoXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgcm96xaHDrcWZZW7DvWNoIG9kZMOtbMWvXG4iCisKKyMgSSBkbyBub3QgdW5kZXJzdGFuZCBkaWZmZXJlbmNlIGJldHdlZW4gLS1uZXN0ZWQgYW5kIC0tb25lc2VjdG9yLgorI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBrYcW+ZMO9IG9kZMOtbCBzZSBuZXDFmWVrcsO9dsOhIHNlIHbFoWVtaSB6YsO9dmFqw61jw61taVxuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGpha28gLS1uZXN0ZWQsIGFsZSByb3rFocOtxZllbsOpIG9kZMOtbHkgbW9ob3UgbGXFvmV0IG1pbW9cbiIKKyN+ICIgICAgIC0tb25lc2VjdG9yICAgICAgICAgICBvZGTDrWx5IHNlIHZ6w6FqZW1uxJsgbmVwxZlla3LDvXZhasOtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gIHNldCB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyB0byB1c2VcbiIKKyN+ICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICBzZXQgdGhlIG51bWJlciBvZiBzZWN0b3JzIHRvIHVzZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZWJpamUgemppxaF0xJtub3UgZ2VvbWV0cmlpIHRha3RvOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPMSNw61zbG8+ICAgbmFzdGF2w60gcG/EjWV0IGN5bGluZHLFr1xuIgorI34gIiAtSCwgLS1oZWFkcyA8xI3DrXNsbz4gICAgICAgbmFzdGF2w60gcG/EjWV0IGhsYXZcbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA8xI3DrXNsbz4gICAgIG5hc3RhdsOtIHBvxI1ldCBzZWt0b3LFr1xuIgorCisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICIgJXMlc3phxZnDrXplbsOtICAgICAgICAgIHZ5cMOtxaFlIGFrdGl2bsOtIG9kZMOtbHkgbmEgZGFuw6ltIHphxZnDrXplbsOtXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiAlcyVzemHFmcOtemVuw60gbjEgbjIg4oCmICBha3RpdnVqZSBvZGTDrWx5IG4xLCDigKYsIGRlYWt0aXZ1amUgb3N0YXRuw61cbiIKKworI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIm5lcGxhdG7DvSBhcmd1bWVudCBwb8SNdHUgb2Rkw61sxa8iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlcyBuZWx6ZSBvdGV2xZnDrXQuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogc2ZkaXNrIC0tcHJpbnQtaWQgemHFmcOtemVuw60gxI3DrXNsb19vZGTDrWx1IgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiBzZmRpc2sgLS1jaGFuZ2UtaWQgemHFmcOtemVuw60gxI3DrXNsb19vZGTDrWx1IElEIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIFtJZF0iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogc2ZkaXNrIC0taWQgemHFmcOtemVuw60gxI3DrXNsb19vZGTDrWx1IFtJRF0iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAibcWvxb5ldGUgemFkYXQgcG91emUgamVkbm8gemHFmcOtemVuw60gKHbDvWppbWtvdSBqc291IHDFmWVww61uYcSNZSAtbCBhIC1zKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgIiVzIG5lbHplIG90ZXbFmcOtdCBwcm8gxI10ZW7DrSBpwqB6w6FwaXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiJXMgbmVsemUgb3RldsWZw610IHBybyDEjXRlbsOtIgorCisjfiBtc2dpZCAiJXM6IE9LIgorI34gbXNnc3RyICIlczogT0siCisKKyN+IG1zZ2lkICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIlczogJWxkIGN5bGluZHLFrywgJWxkIGhsYXYsICVsZCBzZWt0b3LFry9zdG9wdVxuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAiY2h5Ym7DvSBha3Rpdm7DrSBiYWp0OiAweCV4IG3DrXN0byAweDgwIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiSG90b3ZvIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiUG/EjWV0IGFrdGl2bsOtY2ggb2Rkw61sxa8gamUgJWQuIExJTFUgdG8gbmXEjWluw60gcHJvYmzDqW15LCBhbGUgRE9TIE1CUlxuIgorI34gIm5hc3RhcnR1amUgcG91emUgeiBkaXNrdSBzIGplZG7DrW0gYWt0aXZuw61tIG9kZMOtbGVtLiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgIm9kZMOtbCAlcyBtw6EgaWQgJXggYSBuZW7DrSBza3J5dMO9IgorCisjfiBtc2dpZCAiQmFkIElkICVseCIKKyN+IG1zZ3N0ciAiSUQgJWx4IGplIGNoeWJuw6kiCisKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIlRlbnRvIGRpc2sgamUgcHLDoXbEmyBwb3XFvsOtdsOhbi4iCisKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIkZhdMOhbG7DrSBjaHliYTogJXMgbmVsemUgbmFsw6l6dCIKKworI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiUG96b3I6ICVzIG5lbsOtIGJsb2tvdsO9bSB6YcWZw616ZW7DrW0iCisKKyN+IG1zZ2lkICJPSyIKKyN+IG1zZ3N0ciAiT0siCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIkRpc2tvdsO9IG9kZMOtbCAlZCBuZWV4aXN0dWplLiBOZWx6ZSBqZWogem3Em25pdCIKKworI34gbXNnaWQgIiIKKyN+ICJJIGRvbid0IGxpa2UgdGhlc2UgcGFydGl0aW9ucyAtIG5vdGhpbmcgY2hhbmdlZC5cbiIKKyN+ICIoSWYgeW91IHJlYWxseSB3YW50IHRoaXMsIHVzZSB0aGUgLS1mb3JjZSBvcHRpb24uKSIKKyN+IG1zZ3N0ciAiIgorI34gIlRvdG8gcm96bG/FvmVuw60gb2Rkw61sxa8gc2UgbWkgbmVsw61iw60gLSBuaWMgbmVidWRlIHptxJtuxJtuby5cbiIKKyN+ICIoUG9rdWQgamVqIG9wcmF2ZHUgY2hjZXRlIHBvdcW+w610LCBwYWsgemFkZWp0ZSBwxZllcMOtbmHEjSAtLWZvcmNlLikiCisKKyN+IG1zZ2lkICJJIGRvbid0IGxpa2UgdGhpcyAtIHByb2JhYmx5IHlvdSBzaG91bGQgYW5zd2VyIE5vIgorI34gbXNnc3RyICJUb3RvIHNlIG1pIG5lbMOtYsOtIC0gbcSbbGkgYnlzdGUgb2Rwb3bEm2TEm3QgTmUiCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiVnlob3Z1amUgdsOhbSB0bz8gW2FucV0gIgorCisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIktvbsSNw60gc2XCoOKAkyBuZWJ5bHkgdcSNaW7Em255IMW+w6FkbsOpIHptxJtueSIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIk9kcG92xJt6dGUgcHJvc8OtbSBhLCBuIMSNaSBxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJOb3bDoSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IGJ5bGEgw7pzcMSbxaFuxJsgdWxvxb5lbmEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IGNyZWF0ZWQgb3IgY2hhbmdlZCBhIERPUyBwYXJ0aXRpb24sIC9kZXYvZm9vNywgc2F5LCB0aGVuIHVzZSBkZCgxKVxuIgorI34gInRvIHplcm8gdGhlIGZpcnN0IDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2VlIGZkaXNrKDgpLikiCisjfiBtc2dzdHIgIiIKKyN+ICJQb2t1ZCBqc3RlIHZ5dHZvxZlpbGkgxI1pIHptxJtuaWxpIG7Em2pha8OpIERPU09Ww4kgb2Rkw61seSAtIG5hcMWZLiAvZGV2L2JsYTcsXG4iCisjfiAicG91xb5panRlIGRkKDEpIGsgdnludWxvdsOhbsOtIHBydm7DrWNoIDUxMiBiYWp0xa86ICdkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9ibGE3XG4iCisjfiAiYnM9NTEyIGNvdW50PTEnICh2aXogZmRpc2soOCkpLiIKKworI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIlBva3VkIGpzdGUgdnl0dm/FmWlsaSDEjWkgem3Em25pbGkgbsSbamFrw6kgRE9TIDYueCBvZGTDrWx5LCBwxZllxI10xJt0ZSBzaSBwcm9zw61tIG7DoXZvZCBrwqBwcm9ncmFtdSBmZGlzaywgYWJ5c3RlIHrDrXNrYWxpIGRhbMWhw60gaW5mb3JtYWNlLiIKKworI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJwb2xvxb5rYSBqZSBwxZnDrWxpxaEgZGxvdWjDoSIKKworI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczog4oCeJWPigJwgbmVuw60gcG92b2xlbm8iCisKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICLigJ4lY+KAnCBuZW7DrSBwb3ZvbGVubyIKKworI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogxZnDrWRpY8OtIHpuYWt5IG5lanNvdSBwb3ZvbGVueSIKKworI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgImtvbnRyb2xuw60gem5ha3kgbmVqc291IHBvdm9sZW55IgorCisjfiBtc2dpZCAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICB6b2JyYXrDrSByb3ZuxJvFviBkb3BsxYhrb3bDqSBza3VwaW55XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb2Ryb2Jub3N0aSBuYWxlem5ldGUgdsKgbHNsb2dpbnMoMSkuXG4iCisKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gY3J5cHQoKSBzZWxoYWxvIgorCisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogdm9sw6Fuw60gc3RhdCBzZWxoYWxvIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVGhpcyBzbWFsbCB1c2FnZSBndWlkZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUYXRvIG1hbMO9IHByxa92b2RjZSBwb3XFvml0w61tXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBWeXDDrcWhZSDDumRhamUgb8KgdmVyemlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1c2UgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIGNvbXBhcmUgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gZGVmaW5lIHN0cmluZyB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICBwb3XFvmlqZSBuw6FocmFkbsOtIHNsb3Zuw61rXG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgcG9yb3Zuw6F2w6EgcG91emUgcMOtc21lbmEgYSDEjcOtc2xpY2VcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICBpZ25vcnVqZSB2ZWxpa29zdCB6bmFrxa8gcMWZaSBwb3Jvdm7DoXbDoW7DrVxuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPHpuYWs+IHVyxI11amUgem5hayB6YWtvbsSNdWrDrWPDrSDFmcOhZGVrXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoG5hbWVpKDEpLlxuIgorCisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHZvbMOhbsOtIGxzdGF0IHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHZlIHdpcGVmcyg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoHRhc2tzZXQoMSkuXG4iCisKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiJXM6IGplZG7DoSBzZSBvwqB2w71txJtubsOpIHphxZnDrXplbsOtIgorCisjfiBtc2dpZCAiJXM6IGNvbm5lY3RlZCBieSBob3RwbHVnIHN1YnN5c3RlbTogJXMiCisjfiBtc2dzdHIgIiVzOiBwxZlpcG9qZW5vIHBvZHN5c3TDqW1lbSBob3RwbHVnOiAlcyIKKworI34gbXNnaWQgInRpbWVvdXQgY2Fubm90IGJlIHplcm8iCisjfiBtc2dzdHIgIsSNYXNvdsO9IGxpbWl0IG5lbcWvxb5lIGLDvXQgbnVsYSIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZCBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ2lkX3BsdXJhbCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0clswXSAiSmUgdMWZZWJhIHZsb8W+aXQgJWQgc2VrdW5kdSBhIMSNYXMgdnLDoXRpdCB6cMSbdCBvwqAlLjZmIHNla3VuZFxuIgorI34gbXNnc3RyWzFdICJKZSB0xZllYmEgdmxvxb5pdCAlZCBzZWt1bmR5IGEgxI1hcyB2csOhdGl0IHpwxJt0IG/CoCUuNmYgc2VrdW5kXG4iCisjfiBtc2dzdHJbMl0gIkplIHTFmWViYSB2bG/Fvml0ICVkIHNla3VuZCBhIMSNYXMgdnLDoXRpdCB6cMSbdCBvwqAlLjZmIHNla3VuZFxuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIlZlIHNtecSNY2Ugc2UgcG9rb3XFocOtbSB6amlzdGl0IMSNYXMgcG9tb2PDrSBLREdIV0NMSy5cbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIEtER0hXQ0xLIGlvY3RsIHNlbGhhbG8uIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJ2b2zDoW7DrSBLREdIV0NMSyBpb2N0bCB2ZSBzbXnEjWNlIHNlbGhhbG8uIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgIsSNYXMgc2UgcG9tb2PDrSB2b2zDoW7DrSBpb2N0bCgpIHBybyAlcyBuZXBvZGHFmWlsbyB6amlzdGl0IgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSBpb2N0bCBLRFNIV0NMSyBzZWxoYWxvIgorCisjfiBtc2dpZCAiVXNpbmcgdGhlIEtER0hXQ0xLIGludGVyZmFjZSB0byBtNjhrIGNsb2NrLiIKKyN+IG1zZ3N0ciAiUHJvIGhvZGlueSBtNjhrIHNlIHBvdcW+aWplIHJvemhyYW7DrSBLREdIV0NMSy4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIi9kZXYvdHR5MSBhbmkgL2Rldi92Yy8xIG5lbHplIG90ZXbFmcOtdCIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gaW9jdGwgS0RHSFdDTEsgc2VsaGFsbyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2NwdSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvZHJvYm5vc3RpIG5hbGV6bmV0ZSB2wqBsc2NwdSgxKS5cbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gPHByb2dyYW0+IFthcmd1bWVudOKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorI34gIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCisjfiAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCisjfiAiIC11LCAtLXVzZXIgPG5hbWV8aWQ+ICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXBncnAgPElEPiAgICAgICAgaW50ZXJwcmV0dWplIGFyZ3VtZW50IGpha28gSUQgc2t1cGlueSBwcm9jZXPFr1xuIgorI34gIiAtbiwgLS1wcmlvcml0eSA8xI3DrXNsbz4gbmFzdGF2w60gcMWZw61yxa9zdGVrIGhvZG5vdHkgbmljZVxuIgorI34gIiAtcCwgLS1waWQgPElEPiAgICAgICAgIGludGVycHJldHVqZSBhcmd1bWVudCBqYWtvIElEIHByb2Nlc3UgKHbDvWNob3rDrSlcbiIKKyN+ICIgLXUsIC0tdXNlciA8am3DqW5vfElEPiAgaW50ZXJwcmV0dWplIGFyZ3VtZW50IGpha28gdcW+aXZhdGVsc2vDqSBqbcOpbm8gbmVibyBJRFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIHpvYnJhesOtIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIiAtdiwgLS12ZXJzaW9uICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoHJlaW5jZSgxKS5cbiIKKworI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIlcyVzIFtwxZllcMOtbmHEjWVdIFtwcm9ncmFtIFthcmd1bWVudHlfcHJvZ3JhbXVdXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB6YXBuZSB2xaFlY2hueSBvZGtsw6FkYWPDrSBvYmxhc3RpIHV2ZWRlbsOpIHbCoC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PHBvbGl0aWthPl1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgemFwbmUgemFoYXpvdsOhbsOtIHN0csOhbmVrLCBqZS1saSBwb2Rwb3JvdsOhbm8gemHFmcOtemVuw61tXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgIHbCoHRpY2hvc3RpIHDFmWVza2/EjcOtIG5lZXhpc3R1asOtY8OtIHphxZnDrXplbsOtXG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgIHpub3Z1IGluaWNpYWxpenVqZSBvZGtsw6FkYWPDrSBvYmxhc3QsIGplLWxpIHRvIG51dG7DqVxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpb3JpdGE+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIHVyxI3DrSBwcmlvcml0dSBvZGtsw6FkYWPDrWhvIHphxZnDrXplbsOtXG4iCisjfiAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgIHpvYnJhesOtIHDFmWVobGVkIG/CoHBvdcW+aXTDvWNoIG9ka2zDoWRhY8OtY2ggemHFmcOtemVuw61jaFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAoWkFTVEFSQUzDiSlcbiIKKyN+ICIgICAgIC0tc2hvd1s9PHNsb3VwY2U+XSAgem9icmF6w60gcMWZZWhsZWQgcG9kbGUgZGVmaW5pY2VcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgbmV6b2JyYXrDrSB6w6FobGF2w60sIHBvdcW+aWp0ZSBzwqAtLXNob3dcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXAsIHBvdcW+aWp0ZSBzwqAtLXNob3dcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgem9icmF6w60gdmVsaWtvc3RpIHbCoGJhanRlY2ggdmUgdsO9c3R1cHUgLS1zaG93XG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHVwb3bDrWRhbsO9IHJlxb5pbVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvdcW+aXTDrTpcbiIKKyN+ICIgJXMgW1DFmEVQw41OQcSMRV0gW1NPVUJPUuKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBwb3RsYcSNw60gdsWhZWNobmEgcG9kdHLFvmVuw61cbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIHpvYnJhesOtIHbFoWVjaG55IHDFr2zFmcOhZGt5XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbGxpbmcgaGV4ZHVtcCBhcyBvZCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mIEdOVSBjb3JldXRpbHMgb2QiCisjfiBtc2dzdHIgIlZvbMOhbsOtIGhleGR1bXAgdmUgc3R5bHUgb2QgYnlsbyBwcm9obMOhxaFlbm8gemEgemFzdGFyYWzDqSB2ZSBwcm9zcMSbY2gg4oCeb2TigJwgesKgR05VIGNvcmV1dGlscyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSBuYWxlem5ldGUgdsKgcmV2KDEpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICVzIFtQxZhFUMONTkHEjF0gU09VQk9SXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNOlxuIgorI34gIiAtbiwgLS1saW5lcyBQT8SMRVQgICB2eXDDrcWhZSBwb3NsZWRuw61jaCBQT8SMRVQgxZnDoWRrxa9cbiIKKyN+ICIgLcSMw41TTE8gICAgICAgICAgICAgIHN0ZWpuw6kgamFrbyDigJ4tbiDEjMONU0xP4oCcXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIiAlcyBbcMWZZXDDrW5hxI1lXSBzb3Vib3JcbiIKKworI34gbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAibcSbbml0IGx6ZSBwb3V6ZSBtw61zdG7DrSB6w6F6bmFteS4iCisKKyN+IG1zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZSBzdGFtcCB1c2luZyBmb3JtYXQ6XG4iCisjfiBtc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybcOhdD4gIHpvYnJhenVqZSDEjWFzb3bDqSDDumRhamUgcG9kbGUgZGFuw6lobyBmb3Jtw6F0dTpcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiZXogxI1hc3UsIHprcsOhY2Vuw70sIGNlbMO9LCBJU08pXG4iCisKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJuZXphZMOhbiDFvsOhZG7DvSBQxZjDjUtBWi4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbUMWYRVDDjU5BxIxFXSBOw4FaRVZfQ0VTVFkgW07DgVpFVl9DRVNUWeKApl1cbiIKKworI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIm5lemFkw6FuIG7DoXpldiBzb3Vib3J1LiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICLigKZwxZllc2tha3VqaSB6cMSbdCBvIDEgc3RyYW51IgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIuKApXDFmWVza2FrdWppIG/CoGplZGVuIMWZw6FkZWsiCisKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gd2FpdHBpZCBzZWxoYWxvIgorCisjfiBtc2dpZCAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICBleHRyYWN0IGludG8gZGlyZWN0b3J5XG4iCisjfiBtc2dzdHIgIiAteCwgLS1kZXN0aW5hdGlvbiA8YWRyZXPDocWZPiAgdnliYWzDrSBkbyBhZHJlc8OhxZllXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgInDFmWVsb8W+ZW5vIGJleiBwb2Rwb3J5IHBybyAteCIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogTmVkb3N0YXRlayBwYW3Em3RpIVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIk5lcG91xb5pdGVsbsOpIgorCisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgInrDoXBpcyBzZWxoYWxcbiIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiTmEgZGlza3UgYnlseSBwcm92ZWRlbnkgem3Em255LlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJSZXN0YXJ0dWp0ZSBzeXN0w6ltLCBhYnkgYnlsYSBqaXN0b3RhLCDFvmUgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBieWxhXG4iCisjfiAia29yZWt0bsSbIHptxJtuxJtuYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJPVsOBTsONOiBQb2t1ZCBqc3RlIHZ5dHZvxZlpbGkgxI1pIHptxJtuaWxpIG7Em2pha8OpXG4iCisjfiAiRE9TIDYueCBvZGTDrWx5LCBwxZllxI10xJt0ZSBzaSBwcm9zw61tIG7DoXZvZCBrwqBwcm9ncmFtdVxuIgorI34gImNmZGlzaywgYWJ5c3RlIHrDrXNrYWxpIGRhbMWhw60gaW5mb3JtYWNlLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIk5FUMWYRUtPTkFURUxOw4EgQ0hZQkEiCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICJTdGlza27Em3RlIGpha291a29saXYga2zDoXZlc3UgcHJvIHVrb27EjWVuw60gcHJvZ3JhbXUgY2ZkaXNrIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiUG8gZGlza292w6kgbWVjaGFuaWNlIHNlIG5lbHplIHBvaHlib3ZhdCIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIlrCoGRpc2tvdsOpIG1lY2hhbmlreSBuZWx6ZSDEjcOtc3QiCisKKyN+IG1zZ2lkICJDYW5ub3Qgd3JpdGUgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRG8gZGlza292w6kgbWVjaGFuaWt5IG5lbHplIHphcGlzb3ZhdCIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlDFmcOtbGnFoSBtbm9obyBvZGTDrWzFryIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJPZGTDrWwgemHEjcOtbsOhIHDFmWVkIHNla3RvcmVtIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIk9kZMOtbCBrb27EjcOtIHDFmWVkIHNla3RvcmVtIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJPZGTDrWwgemHEjcOtbsOhIHphIGtvbmNlbSBkaXNrdSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJPZGTDrWwga29uxI3DrSB6YSBrb25jZW0gZGlza3UiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgImxvZ2lja8OpIG9kZMOtbHkgbmVvZHBvdsOtZGFqw60gcG/FmWFkw60gbmEgZGlza3UiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibG9naWNrw6kgb2Rkw61seSBzZSBwxZlla3LDvXZhasOtIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgInp2xJt0xaFlbsOpIGxvZ2lja8OpIG9kZMOtbHkgc2UgcMWZZWtyw712YWrDrSIKKworI34gbXNnaWQgIiEhISEgSW50ZXJuYWwgZXJyb3IgY3JlYXRpbmcgbG9naWNhbCBkcml2ZSB3aXRoIG5vIGV4dGVuZGVkIHBhcnRpdGlvbiAhISEhIgorI34gbXNnc3RyICIhISEhIFZuaXTFmW7DrSBjaHliYSBwxZlpIHZ5dHbDocWZZW7DrSBsb2dpY2vDqWhvIGRpc2t1IGJleiByb3rFocOtxZllbsO9Y2ggb2Rkw61sxa8gISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiWmRlIG5lbHplIHZ5dHZvxZlpdCBsb2dpY2vDvSBkaXNrwqDigJMgdnpuaWtseSBieSBkdmEgcm96xaHDrcWZZW7DqSBvZGTDrWx5IgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIlBvbG/FvmthIG5hYsOtZGt5IGplIHDFmcOtbGnFoSBkbG91aMOhLiBOYWLDrWRrYSBtxa/FvmUgdnlwYWRhdCBwb2Rpdm7Emy4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DoSBrbMOhdmVzYSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVnl0dm/FmWl0IG5vdsO9IHByaW3DoXJuw60gb2Rkw61sIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJWeXR2b8WZaXQgbm92w70gbG9naWNrw70gb2Rkw61sIgorCisjfiBtc2dpZCAiQ2FuY2VsIgorI34gbXNnc3RyICJacnXFoWl0IgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICJOZXZ5dHbDocWZZXQgb2Rkw61sIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIFZuaXTFmW7DrSBjaHliYSAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiVmVsaWtvc3QgKHYgTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIlphxI3DoXRlayIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlDFmWlkYXQgb2Rkw61sIG5hIHphxI3DoXRlayB2b2xuw6lobyBwcm9zdG9ydSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlDFmWlkYXQgb2Rkw61sIG5hIGtvbmVjIHZvbG7DqWhvIHByb3N0b3J1IgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUHJvIHJvesWhw63FmWVuw70gb2Rkw61sIG5lbsOtIGRvc3RhdGVrIG3DrXN0YSIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiQ2h5YsOtIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UuIFphxI3DrW7DoW0gc8KgcHLDoXpkbm91IHRhYnVsa291LiIKKworI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJDaHlibsOhIHNpZ25hdHVyYSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiTmV6bsOhbcO9IHR5cCB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiUMWZZWpldGUgc2kgemHEjcOtdCBzwqBwcsOhemRub3UgdGFidWxrb3UgW2EvTl0/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRGlzayBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJEaXNrIGJ5bCBvdGV2xZllbiBwb3V6ZSBwcm8gxI10ZW7DrSAtIG5lbcOhdGUgcHLDoXZhIHBybyB6w6FwaXMiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiVmVsaWtvc3QgZGlza3UgbmVsemUgemppc3RpdCIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSBwcmltw6FybsOtIG9kZMOtbCIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIlZhcm92w6Fuw60hISBUb3RvIG3Fr8W+ZSB2w6lzdCBrZSB6bmnEjWVuw60gZGF0IG5hIFZhxaFlbSBkaXNrdSEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiWmFkZWp0ZSDigJ5hbm/igJwgxI1pIOKAnm5l4oCcIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiVWtsw6Fkw6FtIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbmEgZGlza+KApiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJUYWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IGJ5bGEgdWxvxb5lbmEgbmEgZGlzayIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICIiCisjfiAiVGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSBieWxhIHVsb8W+ZW5hLCBhbGUgbmVwb2RhxZlpbG8gc2Ugamkgem5vdnUgbmHEjcOtc3QuXG4iCisjfiAiQWJ5IHNlIHRhYnVsa2EgYWt0dWFsaXpvdmFsYSwgc3B1c8WldGUgcGFydHByb2JlKDgpLCBrcGFydHgoOCkgbmVib1xuIgorI34gInJlc3RhcnR1anRlIHN5c3TDqW0uIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIsW9w6FkbsO9IHByaW3DoXJuw60gb2Rkw61sIG5lbsOtIHN0YXJ0b3ZhY8OtLiBET1MgTUJSIHRha3RvIG5lbmFzdGFydHVqZS4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiVsOtY2UgbmXFviBqZWRlbiBwcmltw6FybsOtIG9kZMOtbCBqZSBzdGFydG92YWPDrS4gRE9TIE1CUiB0YWt0byBuZW5hc3RhcnR1amUuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIlphZGVqdGUgbsOhemV2IHNvdWJvcnUgxI1pIHN0aXNrbsSbdGUgUkVUVVJOIHBybyB6b2JyYXplbsOtOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJEaXNrOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3RvciAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJTZWt0b3IgJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgIMW9w6FkbsO9ICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgIFByaS9Mb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgIFByaW3DoXJuw60iCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgIExvZ2lja8O9IgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJOaWMiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UgcHJvICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBQcnZuw60gICAgICAgUG9zbGVkbsOtXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFR5cCAgICAgICBzZWt0b3IgICAgICBzZWt0b3IgICAgUG9zdW4gICAgIETDqWxrYSAgICBJRCBzeXN0w6ltdSBzb3Vib3LFryAgIFDFmcOtelxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAtLS0tUG/EjcOhdGVrLS0tLSAgICAgIC0tLS0tS29uZWMtLS0tLSAgUG/EjcOhdGXEjW7DrSAgICBQb8SNZXRcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBQxZnDrXouIEhsYXYgU2VrdCBDeWwuICAgSUQgIEhsYXYgU2VrdCBDeWwuICAgICBTZWt0b3IgICAgU2VrdG9yxa9cbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiUMWZw61tw70iCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICJWeXRpc2tub3V0IHRhYnVsa3UgdiBwxZnDrW3DqW0gZGF0b3bDqW0gZm9ybcOhdHUiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJWeXRpc2tub3V0IHRhYnVsa3Ugc2XFmWF6ZW5vdSBkbGUgc2VrdG9yxa8iCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiVGFidWxrYSIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiVnl0aXNrbm91dCBwb3V6ZSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJOZXRpc2tub3V0IHRhYnVsa3UiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAxOTk04oCTMTk5OSBLZXZpbiBFLuKAr01hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIFptxJtuw60gZ2VvbWV0cmlpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFZBUk9Ww4FOw406IFRhdG8gdm9sYmEgYnkgbcSbbGEgYsO9dCBwb3XFvsOtdsOhbmEgcG91emUgbGlkbWksIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBrdGXFmcOtIHbEm2TDrSwgY28gxI1pbsOtLiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIE1heGltw6FsbsSbIHp2xJt0xaHDrSBha3R1w6FsbsOtIG9kZMOtbCAiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgTm90ZTogVGhpcyBtYXkgbWFrZSB0aGUgcGFydGl0aW9uIGluY29tcGF0aWJsZSB3aXRoIgorI34gbXNnc3RyICIgICAgICAgICAgICAgUG96bsOhbWthOiBUb3RvIG3Fr8W+ZSB1xI1pbml0IG9kZMOtbCBuZWtvbXBhdGliaWxuw60iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBzwqBET1MsIE9TLzIsIOKApiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBWeXDDrcWhZSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IG5hIG9icmF6b3ZrdSDEjWkgZG8gc291Ym9ydSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFDFmWkgdsO9cGlzdSB0YWJ1bGt5IHJvemTEm2xlbsOtIGRpc2t1IHNpIG3Fr8W+ZXRlIHp2b2xpdCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgeiBuxJtrb2xpa2EgZm9ybcOhdMWvOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIFDFmcOtbcO9IChwxZllc27EmyB0bywgY28gYnkgYnlsbyB6YXBzw6FubyBuYSBkaXNrKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFRhYnVsa2Egc2XFmWF6ZW7DoSBkbGUgc2VrdG9yxa8iCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgIHUgICAgICAgICAgWm3Em27DrSBqZWRub3RreSBwcm8gem9icmF6ZW7DrSB2ZWxpa29zdGkgb2Rkw61sdSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEN5a2x1amUgbWV6aSBNQiwgc2VrdG9yeSBhIGN5bGluZHJ5IgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIFDFmWVrcmVzbMOtIG9icmF6b3ZrdSIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIFZ5cMOtxaFlIHR1dG8gbsOhcG92xJtkdSIKKworI34gbXNnaWQgIkNoYW5nZSBjeWxpbmRlciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiWm3Em27DrSBnZW9tZXRyaWkgY3lsaW5kcsWvIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlptxJtuw60gZ2VvbWV0cmlpIGhsYXYiCisKKyN+IG1zZ2lkICJDaGFuZ2Ugc2VjdG9yIGdlb21ldHJ5IgorI34gbXNnc3RyICJabcSbbsOtIGdlb21ldHJpaSBzZWt0b3LFryIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiR2VvbWV0cmllIHptxJtuxJtuYSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIlphZGVqdGUgcG/EjWV0IGN5bGluZHLFrzogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIkNoeWJuw70gcG/EjWV0IGN5bGluZHLFryIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiWmFkZWp0ZSBwb8SNZXQgaGxhdjogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSBwb8SNZXQgaGxhdiIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAiWmFkZWp0ZSBwb8SNZXQgc2VrdG9yxa8gbmEgc3RvcHU6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSBwb8SNZXQgc2VrdG9yxa8iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiWmFkZWp0ZSB0eXAgc3lzdMOpbXUgc291Ym9yxa86ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiTmVsemUgbmFzdGF2aXQgdHlwIFNTIG5hIHByw6F6ZG7DvSIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiTmVsemUgbmFzdGF2aXQgdHlwIFNTIG5hIHJvesWhw63FmWVuw70iCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIk5leiglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTG9nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIk5lem7DoW3DvSAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiRGlzazogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJWZWxpa29zdCAlJ2xsZMKgYmFqdMWvLCAlJ2xsZMKgTUIiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIlZlbGlrb3N0ICUnbGxkwqBiYWp0xa8sICUnbGxkLCVsbGTCoEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJIbGF2OiAlZCAgIFNla3RvcsWvIG5hIHN0b3B1OiAlZCAgICBDeWxpbmRyxa86ICUnbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJUeXAgb2Rkw61sdSIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIlR5cCBTUyIKKworI34gbXNnaWQgIltMYWJlbF0iCisjfiBtc2dzdHIgIltQb3Bpc10iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgIFNla3RvcsWvIgorCisjfiBtc2dpZCAiICBDeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgQ3lsaW5kcsWvIgorCisjfiBtc2dpZCAiICBTaXplIChNQikiCisjfiBtc2dzdHIgIlZlbGlrLiAoTUIpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIlZlbGlrLiAoR0IpIgorCisjfiBtc2dpZCAiTm8gbW9yZSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICLFvcOhZG7DqSBkYWzFocOtIG9kZMOtbHkiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiWm3Em27DrSBnZW9tZXRyaWkgZGlza3UgKHBvdXplIHBybyBvZGJvcm7DrWt5KSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICJadsSbdMWhaXQiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiWnbEm3TFocOtIHZlbGlrb3N0IGFrdHXDoWxuw61obyBvZGTDrWx1IG5hIG1heGltdW0gKHBvdXplIHBybyBvZGJvcm7DrWt5KSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJUaXNrIgorCisjfiBtc2dpZCAiQ2hhbmdlIHRoZSBmaWxlc3lzdGVtIHR5cGUgKERPUywgTGludXgsIE9TLzIgYW5kIHNvIG9uKSIKKyN+IG1zZ3N0ciAiWm3Em27DrSB0eXAgc3lzdMOpbXUgc291Ym9yxa8gKERPUywgTGludXgsIE9TLzIgYXRkLikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiSmVkbm90a3kiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJabcSbbsOtIGplZG5vdGt5LCB2ZSBrdGVyw71jaCBqZSB1ZMOhdsOhbmEgdmVsaWtvc3Qgb2Rkw61sdSAoTUIsIHNla3QuLCBjeWwuKSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICJUZW50byBvZGTDrWwgbmVsemUgbmFzdGF2aXQgamFrbyB6YXZlZGl0ZWxuw70uIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlByw6F6ZG7DvSBvZGTDrWwgbmVsemUgc21hemF0LiIKKworI34gbXNnaWQgIkNhbm5vdCBtYXhpbWl6ZSB0aGlzIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVGVudG8gb2Rkw61sIG5lbHplIHp2xJt0xaFpdC4iCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiVGVudG8gb2Rkw61sIGplIG5lcG91xb5pdGVsbsO9LiIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICJUZW50byBvZGTDrWwgamUgamnFviBwb3XFvsOtdsOhbi4iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVHlwIHByw6F6ZG7DqWhvIG9kZMOtbHUgbmVsemUgem3Em25pdC4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIkNoeWJuw70gcMWZw61rYXoiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDE5OTTigJMyMDAyIEtldmluIEUuwqBNYXJ0aW4gJiBhZWJcbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVhZHMgPHBvxI1ldD4gICAgICAgbmFzdGF2w60gcG/EjWV0IGhsYXZcbiIKKworI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgb2RoYWRuZSBnZW9tZXRyaWkgesKgdGFidWxreSByb3pkxJtsZW7DrSBkaXNrdVxuIgorCisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgdnlww63FoWUgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSB2wqB1csSNZW7DqSBwb2RvYsSbXG4iCisKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgc291xI1hc27DvSBvZGTDrWwgenbDvXJhem7DrSDFoWlwa291XG4iCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAicG/EjWV0IGN5bGluZHLFryBuZWx6ZSByb3plYnJhdCIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgInBvxI1ldCBobGF2IG5lbHplIHJvemVicmF0IgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICJwb8SNZXQgc2VrdG9yxa8gbmVsemUgcm96ZWJyYXQiCisKKyN+IG1zZ2lkICI6ICIKKyN+IG1zZ3N0ciAiOiAiCisKKyN+IG1zZ2lkICIgLWIgPHNpemU+ICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gbXNnc3RyICIgLWIgPHZlbGlrb3N0PiAgICAgdmVsaWtvc3Qgc2VrdG9ydSAoNTEyLCAxMDI0LCAyMDQ4IG5lYm8gNDA5NilcbiIKKworI34gbXNnaWQgIiAtaCAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gbXNnc3RyICIgLWggICAgICAgICAgICAgICAgdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1XG4iCisKKyN+IG1zZ2lkICJcbiIKKyN+IG1zZ3N0ciAiXG4iCisKKyN+IG1zZ2lkICIjIgorI34gbXNnc3RyICLEjS4iCisKKyN+IG1zZ2lkICJmc2l6ZSIKKyN+IG1zZ3N0ciAiZnJhZ21lbnQiCisKKyN+IG1zZ2lkICJic2l6ZSIKKyN+IG1zZ3N0ciAiYmxvayIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIk9kZMOtbCAlZCBqZSBqacW+IGRlZmlub3bDoW4uIFDFmWVkIG9wxJt0b3Zuw71tIHZ5dHZvxZllbsOtbSBqZWogbXVzw610ZSBuZWpwcnZlIHNtYXphdC4iCisKKyN+IG1zZ2lkICIiCisjfiAiUGFydGl0aW9uIHR5cGU6XG4iCisjfiAiICAgcCAgIHByaW1hcnkgKCV6ZCBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXpkIGZyZWUpXG4iCisjfiAiJXNcbiIKKyN+ICJTZWxlY3QgKGRlZmF1bHQgJWMpIgorI34gbXNnc3RyICIiCisjfiAiRHJ1aCBvZGTDrWx1OlxuIgorI34gIiAgIHAgICBwcmltw6FybsOtIChwcmltw6FybsOtY2g6ICV6ZCwgcm96xaHDrcWZZW7DvWNoOiAlZCwgdm9sbsO9Y2g6ICV6ZClcbiIKKyN+ICIlc1xuIgorI34gIlZ5YmVydGUgKHbDvWNob3rDrSAlYyk6IgorCisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICIgICBlICAgcm96xaHDrcWZZW7DvSIKKworI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICLEjC4iCisKKyN+IG1zZ2lkICJBRiIKKyN+IG1zZ3N0ciAiQUYiCisKKyN+IG1zZ2lkICJIZCIKKyN+IG1zZ3N0ciAiSGwiCisKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIlNlayIKKworI34gbXNnaWQgIkN5bCIKKyN+IG1zZ3N0ciAiQ3lsIgorCisjfiBtc2dpZCAiVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBhIHBhcnRpdGlvbiB0YWJsZS4gUHJvYmFibHkgeW91IHNlbGVjdGVkIHRoZSB3cm9uZyBkZXZpY2UuIgorI34gbXNnc3RyICJUb3RvIG5ldnlwYWTDoSBqYWtvIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UuIFByYXZkxJtwb2RvYm7EmyBqc3RlIHp2b2xpbGkgxaFwYXRuw6kgemHFmcOtemVuw60uIgorCisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAiQmxva3kgIgorCisjfiBtc2dpZCAiU3lzdGVtIgorI34gbXNnc3RyICJTeXN0w6ltIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiT2Rkw61sICV6ZCBqZSBqacW+IGRlZmlub3bDoW4uIFDFmWVkIG9wxJt0b3Zuw71tIHZ5dHZvxZllbsOtbSBqZWogbXVzw610ZSBuZWpwcnZlIHNtYXphdC4iCisKKyN+IG1zZ2lkICJQdCMiCisjfiBtc2dzdHIgIsSMTyIKKworI34gbXNnaWQgIkluZm8iCisjfiBtc2dzdHIgIsOaZGFqZSIKKworI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiU2VrdG9yIgorCisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIlRha3RvIHNlIG9kZMOtbHkgYnVkb3UgbmF2esOhamVtIHDFmWVrcsO9dmF0LiBOZWpwcnZlIHRvIG9wcmF2dGUhIgorCisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiUG96b3I6IElvY3RsIEJMS0dFVFNJWkUgc2VsaGFsbyBuYSAlcy4gUHJvIGdlb21ldHJpaSBzZSBwb3XFvmlqZSAlbGx1IGN5bGluZHLFry4gVGF0byBob2Rub3RhIG3Fr8W+ZSBiw710IHprcsOhY2VuYSBwcm8gemHFmcOtemVuw60gPiAzMyw44oCvR0IuIgorCisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAiUMWZw616bmFrIgorCisjfiBtc2dpZCAiIgorI34gIiAlMSRzIFtvcHRpb25zXSBMQUJFTD08bGFiZWw+XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIFVVSUQ9PHV1aWQ+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgJTEkcyBbcMWZZXDDrW5hxI1lXSBMQUJFTD08am1lbm92a2E+XG4iCisjfiAiICUxJHMgW3DFmWVww61uYcSNZV0gVVVJRD08VVVJRD5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorI34gIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC0tZnN0YWIsIC0tbXRhYiBvciAtLWtlcm5lbCBvcHRpb25zXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgdnlwbmUgdsWhZWNobnkgdmVzdGF2xJtuw6kgZmlsdHJ5LCB2eXDDrcWhZSB2xaFlY2hueVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHNvdWJvcm92w6kgc3lzdMOpbXlcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICBwcm8gdnlrcmVzbGVuw60gc3Ryb211IHBvdcW+aWplIHpuYWt5IEFTQ0lJXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2VzdHkgdnlwaXN1amUgdsKga2Fub25pY2vDqW0gdHZhcnVcbiIKKyN+ICIgLUQsIC0tZGYgICAgICAgICAgICAgICBuYXBvZG9iw60gdsO9c3R1cCBkZigxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHNtxJtyPiBzbcSbciBobGVkw6Fuw606IOKAnmZvcndhcmTigJwgKGRvcMWZZWRuw6kpIG5lYm9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICDigJ5iYWNrd2FyZOKAnCAoenDEm3Ruw6kpXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgcMWZZXZlZGUgem5hxI1reSAoam1lbm92a3ksIFVVSUQsIFVVSUQgb2Rkw61sxa8sXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgam1lbm92a3kgb2Rkw61sxa8pIG5hIG7DoXp2eSB6YcWZw616ZW7DrVxuIgorI34gIiAtRiwgLS10YWItZmlsZSA8Y2VzdGE+IGppbsO9IHNvdWJvciBwcm8gcMWZZXDDrW5hxI1lIC0tZnN0YWIsIC0tbXRhYiBuZWJvIC0ta2VybmVsXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgdnlww63FoWUgcG91emUgcHJ2bsOtIG5hbGV6ZW7DvSBzb3Vib3JvdsO9IHN5c3TDqW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorI34gIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgb2Jyw6F0w60gc215c2wgdnlobGVkw6F2YWPDrWNoIHByYXZpZGVsXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdsO9c3R1cCB2ZSBmb3Jtw6F0dSBzZXpuYW11XG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgcG91xb5pamUgamluw70gam1lbm7DvSBwcm9zdG9yICgvcHJvYy88dGlkPi9tb3VudGluZm8pXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmV6b2JyYXrDrSB6w6FobGF2w60gc2xvdXBjxa9cbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBuZXprcmFjdWplIHRleHQgdmUgc2xvdXBjw61jaFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICB0aGUgbW91bnRwb2ludCB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIHXCoHbDoXphbsO9Y2ggbmVibyBidHJmcyBwxZlpcG9qZW7DrSBuZXZ5cGlzdWplIFsvYWRyZXPDocWZXVxuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHXCoG9kcG92w61kYWrDrWPDrWNoIHNvdWJvcm92w71jaCBzeXN0w6ltxa8gdnlwaXN1amUgdsWhZWNobnlcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBwb2TFmcOtemVuw6kgYm9keSBwxZnDrXBvamVuw61cbiIKKyN+ICIgLVMsIC0tc291cmNlIDzFmWV0xJt6ZWM+IHDFmWlwb2plbsOpIHphxZnDrXplbsOtIChuw6F6ZXYsIGhsYXZuw606dmVkbGVqxaHDrSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0gKGptZW5vdmthKSwgVVVJRD0sIFBBUlRVVUlEPSAoVVVJRCBvZGTDrWx1KSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBQQVJUTEFCRUw9IChqbWVub3ZrYSBvZGTDrWx1KSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDzFmWV0xJt6ZWM+IGJvZCBwxZlpcG9qZW7DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZmlsZSBTT1VCT1IgIHBvdcW+aWplIHNvdWJvciBqYWtvIGluaWNpYWxpesOhdG9yIChzZWVkKSBjb29raWVcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgIHZ5c3bEm3Rsw60sIGNvIHNlIHByw6F2xJsgcHJvdsOhZMOtXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkJvdGggLS1waWQgYW5kIC0tbm8tcGlkIHNwZWNpZmllZC4gSWdub3JpbmcgLS1uby1waWQuIgorI34gbXNnc3RyICJaYWTDoW55IHDFmWVww61uYcSNZSAtLXBpZCBpwqAtLW5vLXBpZC4gSWdub3J1amUgc2UgLS1uby1waWQuIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgInZhcm92w6Fuw606IGNoeWJhIHDFmWkgxI10ZW7DrSAlczogJXMiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAicG96b3I6ICVzIG5lbHplIG90ZXbFmcOtdDogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuZWx6ZSBvdGV2xZnDrXTCoOKAkyBwb3XFvmlqZSBzZSAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAiIgorI34gInphbXlrYWPDrSBzb3Vib3IgJXMgbmVsemUgdnl0dm/FmWl0OiAlc1xuIgorI34gIihwb3XFvmlqdGUgcMWZZXDDrW5hxI0gLW4gcHJvIHZ5bmVjaMOhbsOtIHrDoXBpc3UgZG8gbXRhYikiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAiIgorI34gInZvbMOhbsOtIGxpbmsgcHJvIHphbXlrYWPDrSBzb3Vib3IgJXMgc2VsaGFsbzogJXNcbiIKKyN+ICIocG91xb5panRlIHDFmWVww61uYcSNIC1uIHBybyB2eW5lY2jDoW7DrSB6w6FwaXN1IGRvIG10YWIpIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ6YW15a2Fjw60gc291Ym9yICVzIG5lbHplIG90ZXbFmcOtdDogJXNcbiIKKyN+ICIocG91xb5panRlIHDFmWVww61uYcSNIC1uIHBybyB2eW5lY2jDoW7DrSB6w6FwaXN1IGRvIG10YWIpIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIlphbXlrYWPDrSBzb3Vib3IgJXMgbmVsemUgemFta25vdXQ6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIlphbXlrYWPDrSBzb3Vib3IgJXMgbmVsemUgemFta25vdXQ6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPZGtheiAlcyBuZWx6ZSB2eXR2b8WZaXQuXG4iCisjfiAiTmVuw60gbsSba2RlIHphc3RhcmFsw70gemFteWthY8OtIHNvdWJvcj9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICJuZWx6ZSBvdGV2xZnDrXQgJXMgKCVzKSAtIG10YWIgbmVieWwgYWt0dWFsaXpvdsOhbiIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJjaHliYSBwxZlpIHrDoXBpc3UgJXM6ICVzIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiB6bcSbbnkgbmVsemUgemFwc2F0IHBvbW9jw60gZmZsdXNoOiAlcyIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgem3Em27EmyBtw7NkdSAlczogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJjaHliYSBwxZlpIHptxJtuxJsgdmxhc3Ruw61rYSAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmVsemUgcMWZZWptZW5vdmF0IG5hICVzOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnQ6IHBvem9yOiBEbyAvZXRjL210YWIgbmVsemUgemFwc2F0IChuYXDFmcOta2xhZCBzeXN0w6ltIHNvdWJvcsWvIGplIHBvdXplXG4iCisjfiAiICAgICAgIHBybyDEjXRlbsOtKS4gSmUgbW/Fvm7DqSwgxb5lIMO6ZGFqZSBobMOhxaFlbsOpIG7DoXN0cm9qZW0gbW91bnQoOCkgbmVidWRvdVxuIgorI34gIiAgICAgICBha3R1w6FsbsOtLiBBa3R1w6FsbsOtIGluZm9ybWFjZSBvwqBwxZnDrXBvam7DvWNoIGJvZGVjaCBsemUgemppc3RpdFxuIgorI34gIiAgICAgICB2wqBzb3Vib3J1IC9wcm9jL21vdW50cy5cbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW50OuKAr8WZZXTEm3plYyBwxZllcMOtbmHEjcWvIOKAniVz4oCcIGplIG5lc3Byw6F2bsSbIHV6YXbFmWVuIGRvIHV2b3pvdmVrIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBwxZllbG/FvmVubyB6wqDigJ4lc+KAnCBuYSDigJ4lc+KAnFxuIgorCisjfiBtc2dpZCAibW91bnQ6IFNFTGludXggKmNvbnRleHQ9IG9wdGlvbnMgYXJlIGlnbm9yZSBvbiByZW1vdW50LlxuIgorI34gbXNnc3RyICJtb3VudDogUMWZaSBwxZllcG9qZW7DrSBzZSB2b2xieSBTRUxpbnV4dSAqY29udGV4dD0gaWdub3J1asOtLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBwb2RsZSBtdGFiIGplICVzIGppxb4gcMWZaXBvamVubyBuYSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvZGxlIG10YWIgamUgJXMgcMWZaXBvamVubyBuYSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5lbHplIG90ZXbFmcOtdCBwcm8gesOhcGlzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGNoeWJhIHDFmWkgesOhcGlzdSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBjaHliYSBwxZlpIHptxJtuxJsgbcOzZHUgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogxI3DrXNsbyBza3VwaW55IChHSUQpIG5lbHplIG5hc3Rhdml0OiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogxI3DrXNsbyB1xb5pdmF0ZWxlIChVSUQpIG5lbHplIG5hc3Rhdml0OiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiB2b2zDoW7DrSBmb3JrIHNlbGhhbG86ICVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIlBvdcW+w612w6FtICVzLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lemFkYWwganN0ZSB0eXAgc3lzdMOpbXUgc291Ym9yxa8gcHJvICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBWeXprb3XFocOtbSB2xaFlY2hueSB0eXB5IHYgJXMgxI1pICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGEgdnlwYWTDoSB0bywgxb5lIHNlIGplZG7DoSBvIG9ka2zDoWRhY8OtIHByb3N0b3JcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IHR5cGUgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIFZ5emtvdcWhw61tIHR5cCAlc1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMgdnlwYWTDoSBqYWtvIG9ka2zDoWRhY8OtIHByb3N0b3IgLSBuZXDFmWlwb2plbm8iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6ICVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorI34gIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisjfiAiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiAlczogbmFsZXplbm8gdsOtY2Ugc291Ym9yb3bDvWNoIHN5c3TDqW3Fry4gVG8gYnkgc2UgbmVtxJtsbyBzdMOhdC5cbiIKKyN+ICIgICAgICAgRXhwbGljaXRuxJsgdXZlxI90ZSBkcnVoIHNvdWJvcm92w6lobyBzeXN0w6ltdSBwb21vY8OtIOKAni10IERSVUjigJwgbmVib1xuIgorI34gIiAgICAgICB2ecSNaXN0xJt0ZSB6YcWZw616ZW7DrSBwb21vY8OtIHdpcGVmcyg4KS5cbiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogcG91emUgc3VwZXJ1xb5pdmF0ZWwgbcWvxb5lIHDFmWlwb2ppdCAlcyBuYSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBsb29wIGRldmljZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW50OiB6YcWZw616ZW7DrSBsb29wIGJ5bG8gemFkw6FubyBkdmFrcsOhdCIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHR5cCBieWwgemFkw6FuIGR2YWtyw6F0IgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwxZllc2tha3VqaSBuYXN0YXZlbsOtIGxvb3AgemHFmcOtemVuw61cbiIKKworI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW50OiB6YXDDrW7DoSBzZSBhdXRvbWF0aWNrw6kgb2RzdHJhbsSbbsOtIHDFmcOtem5ha3UgbG9vcGRldlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgb2Zmc2V0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogemFkw6FuIG5lcGxhdG7DoSBwb3ppY2Ug4oCeJXPigJwiCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiB6YWTDoW5vIG5lcGxhdG7DqSBvbWV6ZW7DrSBkw6lsa3kg4oCeJXPigJwiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBwb2RsZSBtdGFiIGplICVzIGppxb4gcMWZaXBvamVubyBuYSAlcyBqYWtvIGxvb3AiCisKKyN+IG1zZ2lkICJlbmNyeXB0aW9uIG5vdCBzdXBwb3J0ZWQsIHVzZSBjcnlwdHNldHVwKDgpIGluc3RlYWQiCisjfiBtc2dzdHIgIsWhaWZyb3bDoW7DrSBuZW7DrSBwb2Rwb3JvdsOhbm8sIHBvdcW+aWp0ZSBjcnlwdHNldHVwKDgpIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BkZXYgY29udGV4dCIKKyN+IG1zZ3N0ciAibW91bnQ6IGtvbnRleHQgemHFmcOtemVuw60gbG9vcCBzZSBuZXBvZGHFmWlsbyBpbmljaWFsaXpvdmF0IgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogemHFmcOtemVuw60gJXMgbmVieWxvIG1vxb5uw6kgcG91xb7DrXQiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGZvdW5kIGZyZWUgbG9vcCBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBuZXBvZGHFmWlsbyBzZSBuYWrDrXQgdm9sbsOpIHphxZnDrXplbsOtIGxvb3AiCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogY2h5c3TDoW0gc2UgcG91xb7DrXQgemHFmcOtemVuw60gbG9vcCAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCB2bGFzdG5vc3RpIHphxZnDrXplbsOtIGxvb3AiCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCBzZXR0aW5nIHVwIGxvb3AgZGV2aWNlOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBuZXBvZGHFmWlsbyBzZSBuYXN0YXZpdCB6YcWZw616ZW7DrSBsb29wOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHVrcmFkZW7DvSBsb29wPSVzIOKApsKgemt1c8OtIHNlIHpub3Z1XG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgInVtb3VudDogdWtyYWRlbsO9IGxvb3A9JXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiB6YcWZw616ZW7DrSBsb29wIGJ5bG8ga29yZWt0bsSbIG5hc3RhdmVub1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogJXMgbmVieWxvIG5hbGV6ZW5vIC0gdnl0dsOhxZnDrW0gamVqLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgb3BlbiAlcyBmb3Igc2V0dGluZyBzcGVlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5lbHplIG90ZXbFmcOtdCB6YSDDusSNZWxlbSBuYXN0YXZlbsOtIHJ5Y2hsb3N0aSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IHJ5Y2hsb3N0IG5lbHplIG5hc3Rhdml0OiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwb2RsZSBtdGFiIGplICVzIGppxb4gcMWZaXBvamVubyBkbyAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvem9yOiAlcyBzZSB6ZMOhIGLDvXQgcMWZaXBvamVuIHBybyDEjXRlbsOtIGnCoHrDoXBpcy5cbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvem9yOiAlcyBzZSB6ZMOhIGLDvXQgcMWZaXBvamVuIGplbiBwcm8gxI10ZW7DrS5cbiIKKworI34gbXNnaWQgIm1vdW50OiBJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHR5cCBzeXN0w6ltdSBzb3Vib3LFryBuZWJ5bCB6YWTDoW4gYSBhbmkgamVqIG5lbHplIHpqaXN0aXQiCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogbXVzw610ZSB6YWRhdCB0eXAgc3lzdMOpbXUgc291Ym9yxa8iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogcMWZaXBvamVuw60gc2UgbmV6ZGHFmWlsbyIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIm1vdW50OiBwxZnDrXBvam7DvSBib2QgJXMgbmVuw60gYWRyZXPDocWZZW0iCisKKyN+IG1zZ2lkICJtb3VudDogcGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwxZnDrXN0dXAgb2Rtw610bnV0IgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vdW50IG3Fr8W+ZSBwb3XFvsOtdmF0IHBvdXplIHN1cGVydcW+aXZhdGVsIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyBqZSBqacW+IHDFmWlwb2plbm8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBqZSBqacW+IHDFmWlwb2plbm8sIMSNaSBqZSAlcyBqacW+IHBvdcW+w612w6FubyIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHDFmcOtcG9qbsO9IGJvZCAlcyBuZWV4aXN0dWplIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogcMWZw61wb2puw70gYm9kICVzIGplIHN5bWJvbGlja8O9bSBvZGthemVtLCBqZW7FviBuaWthbSBuZXVrYXp1amUiCisKKyN+IG1zZ2lkICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiBzcGVjacOhbG7DrSB6YcWZw616ZW7DrSAlcyBuZWV4aXN0dWplIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogc3BlY2nDoWxuw60gemHFmcOtemVuw60gJXMgbmVleGlzdHVqZVxuIgorI34gIiAgICAgICAgICAgICAgKG7DoXpldiBjZXN0eSBuZXphxI3DrW7DoSBhZHJlc8OhxZllbSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogd3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisjfiAiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGNoeWJuw70gdHlwIFNTLCBjaHlibsO9IHDFmWVww61uYcSNLCBjaHlibsO9IHN1cGVyYmxvayBuYSAlcyxcbiIKKyN+ICIgICAgICAgY2h5YsOtIGvDs2RvdsOhIHN0csOhbmthIG5lYm8gcG9tb2Nuw70gcHJvZ3JhbSBuZWJvIGppbsOhIGNoeWJhIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChtb2hsbyBieSBzZSBqZWRuYXQgb8KgSURFIHphxZnDrXplbsOtLCBrZGUgdmUgc2t1dGXEjW5vc3RpIHBvdcW+w612w6F0ZVxuIgorI34gIiAgICAgICBpZGUtc2NzaSwgdGFrxb5lIGplIHBvdMWZZWJhIHNyMCBuZWJvIHNkYSBuZWJvIG7Em2NvIG5hIHRlbiB6cMWvc29iPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiICAgICAgIChuZXBva291xaHDrXRlIHNlIHDFmWlwb2ppdCByb3rFocOtxZllbsO9IG9kZMOtbCBuYW3DrXN0byBsb2dpY2vDqWhvPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBWwqBqaXN0w71jaCBwxZnDrXBhZGVjaCBsemUgbmFqw610IHBvdMWZZWJuw6kgaW5mb3JtYWNlIHbCoHN5c3TDqW1vdsOpbVxuIgorI34gIiAgICAgICBwcm90b2tvbHXCoOKAkyB6a3VzdGUgbmFwxZnDrWtsYWQg4oCeZG1lc2cgfCB0YWls4oCcIFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczogc3VwZXJibG9rIG5lbHplIHDFmWXEjcOtc3QiCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IHVua25vd24gZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnQ6IGJsb2tvdsOpIHphxZnDrXplbsOtICVzIGplIG5lem7DoW3DqSIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudDogbmV6bsOhbcO9IHN5c3TDqW0gc291Ym9yxa8g4oCeJXPigJwiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogcHJhdmTEm3BvZG9ibsSbIGpzdGUgbXlzbGVsICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogbW/Fvm7DoSBqc3RlIG15c2xlbCDigJ5pc285NjYw4oCcPyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vxb5uw6EganN0ZSBteXNsZWwg4oCedmZhdOKAnD8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgbcOhIGNoeWJuw6kgxI3DrXNsbyB6YcWZw616ZW7DrSwgxI1pIHNzIHR5cCAlcyBuZW7DrSBwb2Rwb3JvdsOhbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0IGZhaWxzPyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5lbsOtIGJsb2tvdsO9bSB6YcWZw616ZW7DrW0gYSB2b2zDoW7DrSBzdGF0IHNlbGhhbG8/IgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorI34gIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBqw6Fkcm8gbmVyb3pwb3puYWxvICVzIGpha28gYmxva292w6kgemHFmcOtemVuw61cbiIKKyN+ICIgICAgICAgKG1vxb5uw6Eg4oCebW9kcHJvYmUgb3ZsYWRhxI3igJw/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5lbsOtIGJsb2tvdsO9bSB6YcWZw616ZW7DrW0gKG1vxb5uw6EgcG9txa/FvmUg4oCeLW8gbG9vcOKAnD8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5lbsOtIGJsb2tvdsO9bSB6YcWZw616ZW7DrW0iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgbmVuw60gcGxhdG7DvW0gYmxva292w71tIHphxZnDrXplbsOtbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgInVtb3VudDogJXMlcyBuZWx6ZSBwxZlpcG9qaXQgdiByZcW+aW11IHBvdXplIHBybyDEjXRlbsOtIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGplIGNocsOhbsSbbm8gcHJvdGkgesOhcGlzdSwgcMWZaXBvanVqaSBwb3V6ZSBwcm8gxI10ZW7DrSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyVzIG5lbHplIHpub3Z1IHDFmWlwb2ppdCBwcm8gxI10ZW7DrSBpwqB6w6FwaXMsIHByb3Rvxb5lIGplIGNocsOhbsSbbiBwcm90aSB6w6FwaXN1IgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGplIGNocsOhbsSbbm8gcHJvdGkgesOhcGlzdSwgcMWZaXBvanVqaSBwb3V6ZSBwcm8gxI10ZW7DrSIKKworI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiB2wqAlcyBuZW5hbGV6ZW5vIMW+w6FkbsOpIG3DqWRpdW0iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lYnlsIHphZMOhbiB0eXAgLSBidWR1IHBvdcW+w612YXQgbmZzIGt2xa9saSBkdm9qdGXEjWNlXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogbmVieWwgemFkw6FuIHR5cMKgLSBidWR1IHDFmWVkcG9rbMOhZGF0IGNpZnMga3bFr2xpIHDFmWVkcG9uxJsgLy9cbiIKKworI34gbXNnaWQgIm1vdW50OiBpZ25vcmUgJXMgKHVucGFyc2FibGUgb2Zmc2V0PSBvcHRpb24pXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBzZSBpZ25vcnVqZSAobmVyb3plYnJhdGVsbsOhIHZvbGJhIG9mZnNldD0pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiBtb3VudCAtViAgICAgICAgICAgICAgIDogdnlww63FoWUgaW5mb3JtYWNlIG8gdmVyemlcbiIKKyN+ICIgICAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgIDogdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1XG4iCisjfiAiICAgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICA6IHpvYnJhesOtIHNlem5hbSBwxZlpcG9qZW7DvWNoIHN5c3TDqW3FryBzb3Vib3LFr1xuIgorI34gIiAgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgOiB0b3TDqcW+IHBsdXMgam1lbm92a3kgc3ZhemvFr1xuIgorI34gIlRvdG8gYnlseSBwxZllcMOtbmHEjWUgc2xvdcW+w61jw60ga8KgesOtc2vDoW7DrSBpbmZvcm1hY8OtLiBOeW7DrSBrwqBwxZllcMOtbmHEjcWvbSBzbG91xb7DrWPDrW1cbiIKKyN+ICJrwqBwxZlpcG9qb3bDoW7DrSBzeXN0w6ltxa8gc291Ym9yxa8uXG4iCisjfiAiU3ludGF4ZSBqZSDigJ5tb3VudCBbLXQgU1NUWVBdIE7EmkNPIE7EmktBTeKAnC5cbiIKKyN+ICLDmmRhamUgb2JzYcW+ZW7DqSB2IC9ldGMvZnN0YWIgbW9ob3UgYsO9dCB2eW5lY2jDoW55LlxuIgorI34gIiAgICAgICAgIG1vdW50IC1hIFstdHwtT10g4oCmICAgICA6IHDFmWlwb2rDrSB2ZcWha2Vyw6kgcG9sb8W+a3kgesKgL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICAgIG1vdW50IFpBxZjDjVpFTsONICAgICAgICAgOiBwxZlpcG9qw60gWkHFmMONWkVOw40gbmEgem7DoW3DqSBtw61zdG9cbiIKKyN+ICIgICAgICAgICBtb3VudCBBRFJFU8OBxZggICAgICAgICAgOiBwxZlpcG9qw60gem7DoW3DqSB6YcWZw616ZW7DrSBrwqBBRFJFU8OBxZhJXG4iCisjfiAiICAgICAgICAgbW91bnQgLXQgVFlQIFpBxZggQURSICAgOiBixJvFvm7DoSBwb2RvYmEgcMWZw61rYXp1IHBybyBwxZlpcG9qZW7DrVxuIgorI34gIlV2xJtkb210ZSBzaSwgxb5lIHTDrW0sIGNvIHNlIHDFmWlwb2p1amUsIHZlIHNrdXRlxI1ub3N0aSBuZW7DrSB6YcWZw616ZW7DrSwgYWxlIHN5c3TDqW1cbiIKKyN+ICJzb3Vib3LFryAoZGFuw6lobyB0eXB1KSwga3RlcsO9IHNlIG5hIHRvbXRvIHphxZnDrXplbsOtIG5hY2jDoXrDrS5cbiIKKyN+ICJNxa/FvmV0ZSB0YWvDqSBwxZlpcG9qaXQgamnFviBwxZnDrXN0dXBuw70gYWRyZXPDocWZb3bDvSBzdHJvbSBuYSBqaW7DqSBtw61zdG86XG4iCisjfiAiICAgICAgICAgbW91bnQgLS1iaW5kIFNUQVLDnV9BRFJFU8OBxZggTk9Ww51fQURSRVPDgcWYXG4iCisjfiAibmVibyBwxZllc3Vub3V0IHBvZHN0cm9tOlxuIgorI34gIiAgICAgICAgIG1vdW50IC0tbW92ZSBTVEFSw51fQURSRVPDgcWYIE5PVsOdX0FEUkVTw4HFmFxuIgorI34gIk3Fr8W+ZXRlIHptxJtuaXQgdHlwIHDFmWlwb2plbsOtIG9ic2FodWrDrWPDrSBhZHJlc8OhxZkgQURSOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIEFEUlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgQURSXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIEFEUlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBBRFJcbiIKKyN+ICJNxa/FvmV0ZSB6bcSbbml0IHR5cCB2xaFlY2ggcMWZaXBvamVuw60gdiBwb2RzdHJvbXUgcMWZaXBvamVuw61cbiIKKyN+ICJvYnNhaHVqw61jw60gYWRyZXPDocWZIEFEUjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgQURSXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgQURSXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBBRFJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIEFEUlxuIgorI34gIlphxZnDrXplbsOtIG3Fr8W+ZSBiw710IHVkw6FubyBqbcOpbmVtIChuYXDFmS4gL2Rldi9oZGExIMSNaSAvZGV2L2Nkcm9tKSwgam1lbm92a291XG4iCisjfiAiKHBvbW9jw60gcMWZZXDDrW5hxI1lIC1MIEpNRU5PVktBKSBuZWJvIFVVSUQgKHBvbW9jw60gcMWZZXDDrW5hxI1lIC1VIFVVSUQpLlxuIgorI34gIkRhbMWhw60gcMWZZXDDrW5hxI1lOiBbLW5mRnJzdnddIFstbyBWT0xCWV0gWy1wIERFU0tSSVBUT1JfU19IRVNMRU1dLlxuIgorI34gIk1ub2hvIGRhbMWhw61jaCBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBwxZnDrWthemVtIOKAnm1hbiA4IG1vdW504oCcLlxuIgorCisjfiBtc2dpZCAiLS1wYXNzLWZkIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgInDFmWVww61uYcSNIC0tcGFzcy1mZCBqacW+IG5lbsOtIHBvZHBvcm92w6FuIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiB0b3RvIG3Fr8W+ZSBwcm92w6lzdCBwb3V6ZSBzdXBlcnXFvml2YXRlbCAoZWZla3Rpdm7DrSBVSUQgamUgJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHRvdG8gbcWvxb5lIHByb3bDqXN0IHBvdXplIHN1cGVydcW+aXZhdGVsIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAibmVieWwgcMWZaXBvamVuIMW+w6FkbsO9IG9kZMOtbCIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IMW+w6FkbsO9IG9kcG92w61kYWrDrWPDrSBvZGTDrWwgbmVieWwgbmFsZXplbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDogJXMgbmVsemUgbmFsw6l6dCB2ICVzIGFuaSAlcyIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IHZhcm92w6Fuw606ICVzIG5lbsOtIHVrb27EjWVubyBub3ZvdSDFmcOhZGtvdVxuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IMWZw6FkZWsgJWQgdiAlcyBqZSBjaHlibsO9JXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgaWdub3J1amkgemJ5dGVrIHNvdWJvcnUiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAiTmVkb3N0YXRlayBwYW3Em3RpIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudCBieWwgcMWZZWxvxb5lbiBiZXogcG9kcG9yeSBwcm8gLWZcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDogxI3DrXNsbyBza3VwaW55IChHSUQpIG5lbHplIG5hc3Rhdml0OiAlbSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiDEjcOtc2xvIHXFvml2YXRlbGUgKFVJRCkgbmVsemUgbmFzdGF2aXQ6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudDogdm9sw6Fuw60gZm9yayBzZWxoYWxvOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnQ6IGJsb2tvdsOpIHphxZnDrXplbsOtICVzIGplIGNoeWJuw6kiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBuZW7DrSBwxZlpcG9qZW5vIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiBzdXBlcmJsb2sgbmVsemUgbmEgJXMgemFwc2F0IgorCisjfiBtc2dpZCAiIgorI34gInVtb3VudDogJXM6IGRldmljZSBpcyBidXN5LlxuIgorI34gIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXQgdXNlXG4iCisjfiAiICAgICAgICAgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpKSIKKyN+IG1zZ3N0ciAiIgorI34gInVtb3VudDogJXM6IHphxZnDrXplbsOtIGplIHBvdcW+w612w6Fuby5cbiIKKyN+ICIgICAgICAgIChWwqBuxJtrdGVyw71jaCBwxZnDrXBhZGVjaCBsemUgesOtc2thdCB1xb5pdGXEjW7DqSBpbmZvcm1hY2Ugb8KgcHJvY2VzZWNoLFxuIgorI34gIiAgICAgICAga3RlcsOpIHNlIHphxZnDrXplbsOtbSBwcmFjdWrDrSwgcG9tb2PDrSBuw6FzdHJvasWvIGxzb2YoOCkgYSBmdXNlcigxKS4pIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5lbHplIG5hasOtdCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiBtdXPDrXRlIGLDvXQgc3VwZXJ1xb5pdmF0ZWxlbSwgYWJ5c3RlIG1vaGwgb2Rwb2ppdCAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogYmxva292w6EgemHFmcOtemVuw60gbmVqc291IG5hIHN5c3TDqW11IHNvdWJvcsWvIHBvdm9sZW5hIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgInVtb3VudDogdm5pdMWZbsOtIGNoeWJhOiBuZXBhdG7DrSBhYnNvbHV0bsOtIGNlc3RhOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBkbyBhZHJlc8OhxZllICVzIG5lbHplIHDFmWVqw610OiAlbSIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgInVtb3VudDogYWt0dcOhbG7DrSBhZHJlc8OhxZkgbmVsemUgemppc3RpdDogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAidW1vdW50OiBwxZnDrXBvam7DvSBib2QgcMWZZW3DrXN0xJtuICglcyDihpIgJXMpIgorCisjfiBtc2dpZCAiY3VycmVudCBkaXJlY3RvcnkgbW92ZWQgdG8gJXNcbiIKKyN+IG1zZ3N0ciAiYWt0dcOhbG7DrSBhZHJlc8OhxZkgcMWZZW3DrXN0xJtuIGRvICVzXG4iCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgIm5lbmFsZXpsIGpzZW0gdW1vdW50MiwgemtvdcWhw61tIHVtb3VudOKAplxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBidXN5IC0gcmVtb3VudGVkIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGplIHByw6F2xJsgcG91xb7DrXbDoW5vIC0gem5vdnUgcMWZaXBvamVubyB2IHJlxb5pbXUgcHJvIHBvdXplIMSNdGVuw61cbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgbmVsemUgem5vdnUgcMWZaXBvaml0IHYgcmXFvmltdSBwb3V6ZSBwcm8gxI10ZW7DrVxuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIGJ5bG8gb2Rwb2plbm9cbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IHNlem5hbSBzeXN0w6ltxa8gc291Ym9yxa8gbmEgb2Rwb2plbsOtIG5lbHplIG5hbMOpenQiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IFRZUFlfVkZTXSBbLU8gVk9MQlldXG4iCisjfiAiICAgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBTUEVDScOBTE7DjV9TT1VCT1IgfCBVWkVM4oCmXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICJuZXpkYcWZaWxvIHJvemVicmF0IHZvbGJ5IOKAnm9mZnNldD0lc+KAnFxuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJ6YcWZw616ZW7DrSAlcyBqZSBzcG9qZW5vIHPCoCVzXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIuKAnuKAnCBuZWx6ZSBvZHBvaml0XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbmZ1c2VkIHdoZW4gYW5hbHl6aW5nIG10YWIiCisjfiBtc2dzdHIgInVtb3VudDogYW5hbMO9emEgbXRhYiBkw6F2w6EgbWF0b3Vjw60gdsO9c2xlZGt5IgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgdW5tb3VudCAlcyAtLSAlcyBpcyBtb3VudGVkIG92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbmVsemUgb2Rwb2ppdMKg4oCTIG5hIHN0ZWpuw6kgbcOtc3RvIGplIHDFmWVzIG7Em2ogcMWZaXBvamVubyAlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiJXMgbmVsemUgdiBtdGFiIG5hasOtdFxuIgorCisjfiBtc2dpZCAidW1vdW50OiB3YXJuaW5nOiAlcyBpcyBhc3NvY2lhdGVkIHdpdGggbW9yZSB0aGFuIG9uZSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJ1bW91bnQ6IHBvem9yOiAlcyBqZSBzcG9qZW5vIHPCoHbDrWNlIGphayBqZWRuw61tIGxvb3AgemHFmcOtemVuw61tXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogcG9kbGUgbXRhYiBuZW7DrSAlcyBwxZlpcG9qZW5vIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHpkw6Egc2UsIMW+ZSAlcyBqZSBwxZlpcG9qZW5vIHbDrWNlIG5lxb4gamVkbm91IgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbmVuw60gdmUgZnN0YWIgKGEgdnkgbmVqc3RlIHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogcMWZaXBvamVuw60gJXMgbmVvZHBvdsOtZMOhIGZzdGFiIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVubW91bnQ6IHBvdXplIHXFvml2YXRlbCAlcyBtxa/FvmUgb2Rwb2ppdCAlcyB6ZSAlcyIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnQ6IHRvdG8gbcWvxb5lIHByb3bDqXN0IHBvdXplIHXFvml2YXRlbCByb290IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiUxJHMgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICUxJHMgW09QVElPTl0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFtPUFRJT05dIENPTU1BTkRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHNjaGVkdWxpbmcgY2xhc3MgbmFtZSBvciBudW1iZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiBzY2hlZHVsaW5nIGNsYXNzIGRhdGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgZm9yIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgdmlldyBvciBtb2RpZnkgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlMSRzwqDigJMgemppc3TDrSBuZWJvIG5hc3RhdsOtIHBsw6Fub3ZhY8OtIHTFmcOtZHUgbmVibyBwcmlvcml0dSBJL08uXG4iCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIiAgJTEkcyBbUMWYRVDDjU5BxIxdIC1wIFBJRCBbUElE4oCmXVxuIgorI34gIiAgJTEkcyBbUMWYRVDDjU5BxIxdIFDFmMONS0FaXG4iCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgVMWYw41EQSAgICAgIG7DoXpldiBuZWJvIMSNw61zbG8gcGzDoW5vdmFjw60gdMWZw61keVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lIFvFvsOhZG7DoV0sIDE6IHJlYWx0aW1lIFtyZcOhbG7DvSDEjWFzXSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGUgW3phaMOhbGVuw61dXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgxIzDjVNMTyAgZGF0YSBwbMOhbm92YWPDrSB0xZnDrWR5XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIDAtNyBwxZlvIHTFmcOtZHkgcmXDoWxuw6lobyDEjWFzdSBhIGJlc3QtZWZmb3J0XG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgIHpvYnJhesOtIG5lYm8gem3Em27DrSBqacW+IGLEm8W+w61jw60gcHJvY2VzXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9ydWplIHNlbGjDoW7DrVxuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtwxZllcMOtbmHEjWVdIDxUVFk+IFvigKZdXG4iCisKKyN+IG1zZ2lkICIgLXMsIC0tc2V0LXRocmVzaG9sZCA8bnVtPiAgICAgICAgICBzZXQgaW50ZXJydXB0aW9uIHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXMsIC0tc2V0LXRocmVzaG9sZCA8xI3DrXNsbz4gICAgICAgIG5hc3RhdsOtIHByYWhvdm91IGhvZG5vdHUgcMWZZXJ1xaFlbsOtXG4iCisKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8xI3DrXNsbz4gbmFzdGF2w60gdsO9Y2hvesOtIHByYWhvdm91IGhvZG5vdHVcbiIKKworI34gbXNnaWQgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIHNldCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtdCwgLS1zZXQtZmx1c2ggPMSNw61zbG8+ICAgICAgICAgICAgbmFzdGF2w60gxI1hc292w70gbGltaXQgcHJvIHZ5cHLDoXpkbsSbbsOtXG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLXNldC1kZWZhdWx0LWZsdXNoIDzEjcOtc2xvPiAgICBuYXN0YXbDrSB2w71jaG96w60gdsO9Y2hvesOtIMSNYXNvdsO9IGxpbWl0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvIHZ5cHLDoXpkbsSbbsOtXG4iCisKKyN+IG1zZ2lkICIgLWksIC0taW50ZXJ2YWwgPHNlY29uZHM+ICAgICAgICAgICBnYXRoZXIgc3RhdGlzdGljcyBldmVyeSA8c2Vjb25kcz4gaW50ZXJ2YWxcbiIKKyN+IG1zZ3N0ciAiIC1pLCAtLWludGVydmFsIDxzZWt1bmR5PiAgICAgICAgICAgc2ViZXJlIHN0YXRpc3RpY2vDqSDDumRhamUga2HFvmTDvWNoIDxzZWt1bmQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiU291Ym9yICVzLCBwcm8gcHJhaG92b3UgaG9kbm90dSAlbHUsIG1heGltw6FsbsOtIHBvxI1ldCB6bmFrxa8gdmUgZnJvbnTEm1xuIgorI34gImJ5bCAlZCBhIG1heGltw6FsbsOtIHDFmWVub3NvdsOhIHJ5Y2hsb3N0IHZlIHpuYWPDrWNoIHphIHNla3VuZHUgYnlsYSAlZiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiU291Ym9yICVzLCBwcm8gcHJhaG92b3UgaG9kbm90dSAlbHUgYSDEjWFzb3bDvSBsaW1pdCAlbHUsIG1heGltw6FsbsOtIHBvxI1ldCB6bmFrxa9cbiIKKyN+ICJ2ZSBmcm9udMSbIGJ5bCAlZCBhIG1heGltw6FsbsOtIHDFmWVub3NvdsOhIHJ5Y2hsb3N0IHZlIHpuYWPDrWNoIHphIHNla3VuZHVcbiIKKyN+ICJieWxhICVmIgorCisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICJDWUdFVE1PTiBuZWx6ZSBuYSAlcyBwcm92w6lzdCIKKworI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAicHJhaG92b3UgaG9kbm90dSBwcm8gJXMgbmVsemUgemppc3RpdCIKKworI34gbXNnaWQgImNhbm5vdCBnZXQgdGltZW91dCBmb3IgJXMiCisjfiBtc2dzdHIgIsSNYXNvdsO9IGxpbWl0IHBybyAlcyBuZWx6ZSB6amlzdGl0IgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBwxZllcnXFoWVuw60sICVsdS8lbHUgem5ha8WvOyBmaWZvOiAlbHUgcHLDoWgsICVsdSDEjWFzb3bDvSBsaW1pdCwgJWx1IG1heCwgJWx1IG55bsOtXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBwxZllci4vczsgJWYgcMWZw61qLiwgJWYgb2Rlc2wuICh6bmFrL3MpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgcMWZZXJ1xaFlbsOtLCAlbHUgem5ha8WvOyBmaWZvOiAlbHUgcHLDoWgsICVsdSDEjWFzb3bDvSBsaW1pdCwgJWx1IG1heCwgJWx1IG55bsOtXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBwxZllci4vczsgJWYgcMWZw61qLiAoem5hay9zKVxuIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiQ2h5Ym7DoSBob2Rub3RhIHJvenDEm3TDrSIKKworI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJDaHlibsOhIGhvZG5vdGEgcm96cMSbdMOtOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICJDaHlibsOhIGhvZG5vdGEga8KgbmFzdGF2ZW7DrSIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DoSBob2Rub3RhIGvCoG5hc3RhdmVuw606ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJDaHlibsOhIHbDvWNob3rDrSBob2Rub3RhIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DoSB2w71jaG96w60gaG9kbm90YTogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJDaHlibsO9IMSNYXNvdsO9IMO6ZGFqIGvCoG5hc3RhdmVuw60iCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSDEjWFzb3bDvSDDumRhaiBrwqBuYXN0YXZlbsOtOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJDaHlibsO9IHbDvWNob3rDrSDEjWFzb3bDvSDDumRhaiIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiQ2h5Ym7DvSB2w71jaG96w60gxI1hc292w70gw7pkYWo6ICVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIiVzIG5lbHplIG5hc3Rhdml0IG5hIHByYWhvdm91IGhvZG5vdHUgJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICIlcyBuZWx6ZSBuYXN0YXZpdCBuYSDEjWFzb3bDvSBsaW1pdCAlZCIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzb3XEjWFzbsOhIHByYWhvdsOhIGhvZG5vdGEgYSAlbGQgc291xI1hc27DvSDEjWFzb3bDvSBsaW1pdFxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIHbDvWNob3rDrSBwcmFob3bDoSBob2Rub3RhIGEgJWxkIHbDvWNob3rDrSDEjWFzb3bDvSBsaW1pdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGRvbid0IG1vZGlmeSB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAgcHVuY2ggaG9sZXMgaW4gdGhlIGZpbGVcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgICBuZW3Em27DrSBkw6lsa3Ugc291Ym9ydVxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgICAgdnlyYXrDrSBkbyBzb3Vib3J1IGTDrXJ5XG4iCisjfiAiIC1vLCAtLW9mZnNldCA8xI3DrXNsbz4gIHBvemljZSBhbG9rYWNlIHbCoGJhanRlY2hcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDzEjcOtc2xvPiAgZMOpbGthIGFsb2thY2UgdsKgYmFqdGVjaFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8bnVtPiBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPMSNw61zbG8+ICAgemHEjcOhdGVrIHphaG9kaXRlbG7DqSBvYmxhc3RpIHbCoGJhanRlY2hcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDzEjcOtc2xvPiAgIGTDqWxrYSB6YWhvZGl0ZWxuw6kgb2JsYXN0aSB2wqBiYWp0ZWNoXG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPMSNw61zbG8+ICBkw6lsa2EgbmVqbWVuxaHDrWhvIHphaG9kaXRlbG7DqWhvIHJvenNhaHVcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2eXDDrcWhZSBwb8SNZXQgemFob3plbsO9Y2ggYmFqdMWvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvxI1ldCBzZWt1bmQgdXBseW51bMO9Y2ggb2QgcmVmZXJlbsSNbsOtaG8gxI1hc3U6ICUuNmYuXG4iCisjfiAixIxla8OhbSwgZG9rdWQgbmVidWRlIGRvc2HFvmVuIG5vdsO9IMSNYXMuXG4iCisKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAtdGVybSA8bsOhemV2X3Rlcm1pbsOhbHU+XG4iCisKKyN+IG1zZ2lkICIgLXJlc2V0XG4iCisjfiBtc2dzdHIgIiAtcmVzZXRcbiIKKworI34gbXNnaWQgIiAtaW5pdGlhbGl6ZVxuIgorI34gbXNnc3RyICIgLWluaXRpYWxpemVcbiIKKworI34gbXNnaWQgIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXJlcGVhdCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiIC1kZWZhdWx0XG4iCisKKyN+IG1zZ2lkICIgLWZvcmVncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1mb3JlZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisKKyN+IG1zZ2lkICIgLWJhY2tncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1iYWNrZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisKKyN+IG1zZ2lkICIgLWhiY29sb3IgPGJsYWNrfGJsdWV8YnJpZ2h0fGN5YW58Z3JlZW58Z3JleXxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAtaGJjb2xvciA8YmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJvbGQgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1ibGluayA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiIC1zdG9yZVxuIgorCisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC10YWJzIDx0YWIxIHRhYjIgdGFiM+KApj4gICAgICAoaW5kZXggdGFidWzDoXRvcnUgPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAtY2xydGFicyA8dGFiMSB0YWIyIHRhYjPigKY+ICAgICAgKGluZGV4IHRhYnVsw6F0b3J1ID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gbXNnc3RyICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisKKyN+IG1zZ2lkICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiIC1kdW1wICAgPDEtUE/EjEVUX0tPTlpPTMONXT5cbiIKKworI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWFwcGVuZCA8MS1QT8SMRVRfS09OWk9Mw40+XG4iCisKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIiAtZmlsZSB2w71zdHVwbsOtX3NvdWJvclxuIgorCisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1tc2cgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiIC1tc2dsZXZlbCA8MC04PlxuIgorCisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorCisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAtYmZyZXEgZnJla3ZlbmNlXG4iCisKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIkNoeWJhIHDFmWkgdWtsw6Fkw6Fuw60gb2JzYWh1IG9icmF6b3ZreSIKKworI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIkFuaSAvZGV2L3ZjczAgYW5pIC9kZXYvdmNzYSBuZWJ5bG8gbW/Fvm7DqSBwxZllxI3DrXN0IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlcyBbcMWZZXDDrW5hxI1lXSBzb3Vib3LigKZcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWQgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmcgYmVsbFxuIgorI34gIiAgLWYgICAgICAgIGNvdW50IGxvZ2ljYWwsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorI34gIiAgLWwgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorI34gIiAgLXAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCisjfiAiICAtYyAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKKyN+ICIgIC11ICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorI34gIiAgLXMgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKKyN+ICIgIC1OVU0gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorI34gIiAgK05VTSAgICAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlciBOVU1cbiIKKyN+ICIgICsvU1RSSU5HICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorI34gIiAgLVYgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiICAtZCAgICAgICAgem9icmF6w60gbsOhcG92xJtkdSBuYW3DrXN0byB6dm9ua3VcbiIKKyN+ICIgIC1mICAgICAgICBwb8SNw610w6EgbG9naWNreSBuYW3DrXN0byDFmcOhZGvFryBvYnJhem92a3lcbiIKKyN+ICIgIC1sICAgICAgICBwb3RsYcSNw60gcGF1enUgcG8gcG9zdW51IChwbyBmb3JtIGZlZWQpXG4iCisjfiAiICAtcCAgICAgICAgbmVwb3N1bnVqZSBvYnJhem92a3UsIHNtYcW+ZSBvYnJhem92a3UgYSB6b2JyYXrDrSB0ZXh0XG4iCisjfiAiICAtYyAgICAgICAgbmVwb3N1bnVqZSBvYnJhem92a3UsIHpvYnJhesOtIHRleHQgYSBvZHN0cmFuw60ga29uY2UgxZnDoWRrxa9cbiIKKyN+ICIgIC11ICAgICAgICBwb3RsYcSNw60gcG9kdHLFvmVuw61cbiIKKyN+ICIgIC1zICAgICAgICBvcGFrdWrDrWPDrSBzZSBwcsOhemRuw6kgxZnDoWRreSBzcmF6w60gZG8gamVkbm9ob1xuIgorI34gIiAgLcSMw41TTE8gICAgdXLEjXVqZSBwb8SNZXQgxZnDoWRrxa8gbmEgb2JyYXpvdmt1XG4iCisjfiAiICArxIzDjVNMTyAgICB6b2JyYXrDrSBzb3Vib3IgcG/EjcOtbmFqZSDFmcOhZGtlbSDEjMONU0xPXG4iCisjfiAiICArL8WYRVTEmlpFQyB6b2JyYXrDrSBzb3Vib3IgcG/EjcOtbmFqZSDFmcOhZGtlbSBzaG9kdWrDrWPDrW0gc2Ugc8KgxZjDgURLRU1cbiIKKyN+ICIgIC1WICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAixZnDoWRlayBqZSBwxZnDrWxpxaEgZGxvdWjDvSIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgIm5hc3RhdsOtIHZlbGlrb3N0IGJsb2t1IgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJjaHlibsO9Y2ggYmxva8WvOiAxXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gdHlwZSBoZXggb3IgdXVpZCIKKyN+IG1zZ3N0ciAiZHJ1aCBvZGTDrWx1IMWhZXN0bsOhY3Rrb3bEmyBuZWJvIFVVSUQiCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gemHFmcOtemVuw61cbiIKKworI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICLEjXRlbsOtIHrCoCVzIHNlbGhhbG8iCisKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSBwb2h5YnUgdsKgc291Ym9ydSAlcyIKKworI34gbXNnaWQgInNlZWsgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSBwb2h5YnUgdsKgc291Ym9ydTogJWQiCisKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSB3cml0ZSBzZWxoYWxvOiAlZCIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiTmVqc291IGRlZmlub3bDoW55IMW+w6FkbsOpIG9kZMOtbHkiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIGRldmljZVxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSB2xaFlY2huYSBwb3XFvml0w6EgemHFmcOtemVuw61cbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wX3phxZnDrXplbsOtPiBb4oCmXVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZHBvasOtIGplZG5vIG5lYm8gdsOtY2UgemHFmcOtemVuw61cbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgb2Rwb2rDrSB2xaFlY2huYSBwb3XFvsOtdmFuw6EgemHFmcOtemVuw61cbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgbmFqZGUgcHJ2bsOtIG5lcG91xb5pdMOpIHphxZnDrXplbsOtXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcF96YcWZw616ZW7DrT5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgem3Em27DrSB2ZWxpa29zdFxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxzb3Vib3I+ICAgICB2eXDDrcWhZSB2xaFlY2huYSB6YcWZw616ZW7DrSBzcG9qZW7DoSBzZSA8c291Ym9yZW0+XG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSwgb2Zmc2V0IGlzIG5vdCA1MTItYnl0ZSBhbGlnbmVkLiIKKyN+IG1zZ3N0ciAiJXM6IHphxZnDrXplbsOtIGxvb3Agc2UgbmVwb2RhxZlpbG8gbmFzdGF2aXQsIHBvemljZSBuZW7DrSB6YXJvdm7DoW5hIG5hIDUxMiBiYWp0xa8uIgorCisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIm5lcG9kcG9yb3ZhbsO9IGFyZ3VtZW50IHPCoHJlxb5pbWVtIC0tbG9jYWwtbGluZSIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJQb3XFvml0w606XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIlx0UE9aTsOBTUtBOiBlbHZ0dW5lIGZ1bmd1amUgamVuIHPCoGrDoWRyeSDFmWFkeSAyLjRcbiIKKworI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICJjaHliw60gYmxva292w6kgemHFmcOtemVuw60sIG7DoXBvdsSbZHUgesOtc2vDoXRlIHBvbW9jw60gLWhcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJlbHZ0dW5lIGlzIG9ubHkgdXNlZnVsIG9uIG9sZGVyIGtlcm5lbHM7XG4iCisjfiAiZm9yIDIuNiB1c2UgSU8gc2NoZWR1bGVyIHN5c2ZzIHR1bmFibGVzIGluc3RlYWQuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBzZSBob2TDrSBqZW4gcHJvIHN0YXLFocOtIGrDoWRyYTtcbiIKKyN+ICJwcm8gxZlhZHUgMi42IHBvdcW+aWp0ZSBzeXNmcyByb3pocmFuw60gcHJvIGxhZMSbbsOtIHBsw6Fub3ZhxI1lIEkvTy5cbiIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gZnN5bmMgc2VsaGFsbyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIlZ5cMOtxaFlIGluZm9ybWFjZSBvIHZlcnppOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJWeXDDrcWhZSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1OlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbcMWZZXDDrW5hxI1lXSB6YcWZw616ZW7DrVxuIgorI34gIkludGVyYWt0aXZuw60gcmXFvmltOlxuIgorI34gIiAgICAgICAgJXMgW3DFmWVww61uYcSNZV0gemHFmcOtemVuw61cbiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiLWE6IE5hbcOtc3RvIHp2w71yYXrFiG92w6Fuw60gcG91xb5pamUgxaFpcGt1O1xuIgorI34gIi16OiBaYcSNbmUgcyBudWxvdm91IHRhYnVsa291IHJvemTEm2xlbsOtIGRpc2t1IG3DrXN0bywgYWJ5IGppIMSNZXRsIHogZGlza3U7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IFphZMOhbsOtIGdlb21ldHJpZSBkaXNrdSAobcOhIHDFmWVkbm9zdCBwxZllZCDDumRhamksIGt0ZXLDqSB1ZHLFvnVqZVxuIgorI34gIiAgICAgICAgICAgICAgICBqw6Fkcm8uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiVWtsw6Fkw6FtIHBvcGlzIGRpc2t1IG5hICVzLlxuIgorCisjfiBtc2dpZCAiTGFzdCAlcyBvciArc2l6ZSBvciArc2l6ZU0gb3IgK3NpemVLIgorI34gbXNnc3RyICJQb3NsZWRuw60gJXMgxI1pICt2ZWxpa29zdCDEjWkgK3ZlbGlrb3N0TSDEjWkgK3ZlbGlrb3N0SyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAixIx0dSBwb3BpcyBkaXNrdSAlcyB2IHNla3RvcnUgJWQuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIlDFmcOta2F6IHBybyBCU0QgcG9waXMgZGlza3UgKG0gcHJvIG7DoXBvdsSbZHUpOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZGlza2RhdGE6ICIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICAgIHZlbGlrICAgICAgIGtvbmVjICAgIHZlbGlrb3N0IHNzdHlwICAgIFtmdmVsaSBidmVsaSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIk11c8OtIGLDvXQgPD0gc2VrdG9yxa8vc3RvcHUgKiBzdG9wL2N5bGluZHIgKGltcGxpY2l0bsOtKS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiRGlza292w70gb2Rkw61sIChhLSVjKTogIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJWYXJvdsOhbsOtOiBwxZnDrWxpxaEgbW5vaG8gb2Rkw61sxa8gKCVkLCBtYXhpbXVtICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU3luY2hyb25penVqw60gc2UgZGlza3kuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICUxJHMgW29wdGlvbnNdIC1sIDxkaXNrPiBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAlMSRzIC1zIDxwYXJ0aXRpb24+ICAgICAgZ2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtYiA8c2l6ZT4gICAgICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gIiAtY1s9PG1vZGU+XSAgICAgICAgICAgY29tcGF0aWJsZSBtb2RlOiAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKKyN+ICIgLWggICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC11Wz08dW5pdD5dICAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBwcmludCBwcm9ncmFtIHZlcnNpb25cbiIKKyN+ICIgLUMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKKyN+ICIgLUggPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorI34gIiAtUyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICUxJHMgW1DFmEVQw41OQcSMRV0gPERJU0s+ICAgIHptxJtuw60gdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdVxuIgorI34gIiAlMSRzIFtQxZhFUMONTkHEjEVdIC1sIDxESVNLPiB2eXDDrcWhZSB0YWJ1bGt1KHkpIHJvemTEm2xlbsOtIGRpc2t1XG4iCisjfiAiICUxJHMgLXMgPE9ERMONTD4gICAgICAgICAgICB2eXDDrcWhZSB2ZWxpa29zdChpKSBvZGTDrWx1IHbCoGJsb2PDrWNoXG4iCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtYiA8VkVMSUtPU1Q+ICAgICAgICAgICAgICAgdmVsaWtvc3Qgc2VrdG9ydSAoNTEyLCAxMDI0LCAyMDQ4IG5lYm8gNDA5NilcbiIKKyN+ICIgLWNbPTxSRcW9SU0+XSAgICAgICAgICAgICAgICByZcW+aW0ga29tcGF0aWJpbGl0eTog4oCeZG9z4oCcIG5lYm8g4oCebm9uZG9z4oCcIChpbXBsaWMuKVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1XG4iCisjfiAiIC11PVs8SkVETk9US0E+XSAgICAgICAgICAgICB6b2JyYXp1amUgdsKgamVkbm90a8OhY2g6IOKAnmN5bGluZGVyc+KAnCAoY3lsaW5kcnkpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZWJvIOKAnnNlY3RvcnPigJwgKHNla3RvcnkpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSB2ZXJ6aSBwcm9ncmFtdVxuIgorI34gIiAtQyA8UE/EjEVUPiAgICAgICAgICAgICAgICAgIHVyxI11amUgcG/EjWV0IGN5bGluZHLFr1xuIgorI34gIiAtSCA8UE/EjEVUPiAgICAgICAgICAgICAgICAgIHVyxI11amUgcG/EjWV0IGhsYXZcbiIKKyN+ICIgLVMgPFBPxIxFVD4gICAgICAgICAgICAgICAgICB1csSNdWplIHBvxI1ldCBzZWt0b3LFryBuYSBzdG9wdVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIm5lbHplIHNlIHBvc3Vub3V0IG5hICVzIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICIlcyBuZWx6ZSB6YXBzYXQiCisKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiZmF0w6FsbsOtIGNoeWJhIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIlDFmcOta2F6eSIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiTXVzw610ZSBuYXN0YXZpdCIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJobGF2eSIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgYSAiCisKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgIk5lcG9kcG9yb3ZhbsOhIHDFmcOtcG9uYTog4oCeJXPigJwuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb2Rwb3JvdmFuw6k6IDEwXk46IEtCIChraWxvYmFqdCksIE1CIChtZWdhYmFqdCksIEdCIChnaWdhYmFqdClcbiIKKyN+ICIgICAgICAgICAgICAgIDJeTjogSyAgKGtpYmliYWp0KSwgTSAgKG1lYmliYWp0KSwgRyAgKGdpYmliYWp0KVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJQb3XFvsOtdsOhbSBpbXBsaWNpdG7DrSBob2Rub3R1ICV1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJSdsZOKAr01CLCAlJ2xsZCBiYWp0xa8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICUnbGQsJWxk4oCvR0IsICUnbGx1IGJhanTFryIKKworI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgJSdsbHUgc2VrdG9yxa9cbiIKKworI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJwb3BpcyBkaXNrdSBuZWx6ZSB6YXBzYXQiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDaHliYSBwxZlpIHphdsOtcsOhbsOtIHNvdWJvcnVcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHNldHRpbmcgc2VjdG9yIG9mZnNldCBmb3IgRE9TIGNvbXBhdGliaWxpdHlcbiIKKyN+IG1zZ3N0ciAiUG96b3I6IG5hc3RhdmVuIHBvc3VuIHNla3RvcnUga3bFr2xpIGtvbXBhdGliaWxpdMSbIHPCoERPU2VtXG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICJOYSAlcyBuYWxlemVuIE9TRi8xIHBvcGlzIGRpc2t1LiBTcG91xaF0w61tIHJlxb5pbSBwb3Bpc3UgZGlza3UuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvXG4iCisjfiAiICAgICAgICAgc3dpdGNoIG9mZiB0aGUgbW9kZSAod2l0aCBjb21tYW5kICdjJykuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUE9aT1I6IFJlxb5pbSBrb21wYXRpYmlsaXR5IHPCoERPU2VtIGplIHphc3RhcmFsw70uIETFr3Jhem7EmyBzZSBkb3BvcnXEjXVqZSB0ZW50b1xuIgorI34gIiAgICAgICByZcW+aW0gdnlwbm91dCAocMWZw61rYXog4oCeY+KAnCkuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IGN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiBVc2UgY29tbWFuZCAndScgdG9cbiIKKyN+ICIgICAgICAgICBjaGFuZ2UgdW5pdHMgdG8gc2VjdG9ycy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBPWk9SOiBjeWxpbmRyeSBqYWtvxb50byBqZWRub3RreSB2w71waXPFryBqc291IHphc3RhcmFsw6kuIEplZG5vdGt5IGx6ZSB6bcSbbml0XG4iCisjfiAiICAgICAgICAgbmEgc2VrdG9yeSBwb21vY8OtIHDFmcOta2F6dSDigJ514oCcLlxuIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIk5vdsO9IGlkZW50aWZpa8OhdG9yIGRpc2t1IChzb3XEjWFzbsO9IDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiTmVqc291IMW+w6FkbsOpIHZvbG7DqSBzZWt0b3J5LlxuIgorCisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIlBvc2xlZG7DrSAlMSRzLCArJTIkcyBuZWJvICt2ZWxpa29zdHtLLE0sR30iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgICBmeXo9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2lja8O9PSglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJQb3pvcjogY2h5Ym7DvSBwb8SNw6F0ZWsgZGF0IHbCoG9kZMOtbGUgJXpkXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJQxZlpZMOhdsOhIHNlIHByaW3DoXJuw60gb2Rkw61sXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgWmF2w6FkxJt0ICAgWmHEjcOhdGVrICAgICAgIEtvbmVjICAgIEJsb2t5ICAgIElkICBTeXN0w6ltXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6IGhsYXY6ICUnZCwgc2VrdG9yxa86ICUnbGx1LCBjeWxpbmRyxa86ICUnbGx1XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAixIwuIEFGICBIZCBTZWsgIEN5bCAgSGQgU2VrICBDeWwgICAgWmHEjcOhdGVrICAgICBWZWwuIElkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0TmEgdG9tdG8gZGlza3UgamUgbWFjb3Zza8OhIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UuXG4iCisjfiAiXHROYW5lxaF0xJtzdMOtIGZkaXNrKDEpIHMgdMSbbWl0byBkaXNreSBuZXVtw60gcHJhY292YXQuXG4iCisjfiAiXHRUdXRvIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UgbcWvxb5ldGUgdXByYXZpdCBwcm9ncmFtZW1cbiIKKyN+ICLigJ5wZGlza+KAnCBuZWJvIOKAnnBhcnRlZOKAnC5cbiIKKyN+ICJcdE5pY23DqW7EmyBuxJtrb2xpayByYWQgcHJvIFbDoXM6XG4iCisjfiAiXHQxLiBQxZlpIHrDoXBpc3UgZmRpc2sgem5pxI3DrSBqZWhvIG9ic2FoXG4iCisjfiAiXHQyLiBVamlzdMSbdGUgc2UsIMW+ZSB0ZW50byBkaXNrIE5FTsONIGTFr2xlxb5pdG91IHNvdcSNw6FzdMOtXG4iCisjfiAiXHQgICBza3VwaW55IHN2YXprxa8uIChKaW5hayBtxa/FvmV0ZSBzbWF6YXQsIHBva3VkIG5lanNvdVxuIgorI34gIlx0ICAgenJjYWRsZW55LCBpwqBvc3RhdG7DrSBkaXNreS4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0UHJvbWnFiHRlLCBhbGUgdGVudG8gZmRpc2sgbmV1bcOtIHphY2jDoXpldCBzwqBtYWNvdnNrw71taSBkaXNrb3bDvW1pXG4iCisjfiAiXHRqbWVub3ZrYW1pLiBDaGNldGUtbGkgcMWZaWRhdCBvZGTDrWwgdHlwdSBET1MsIG5lanBydmUgdnl0dm/FmXRlXG4iCisjfiAiXHQgbm92dSBwcsOhemRub3UgRE9TT1ZPVSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IChwxZnDrWtheiDigJ5v4oCcKS5cbiIKKyN+ICJcdFZBUk9Ww4FOw406IFTDrW10byBwxZlpamRldGUgb8Kgc291xI1hc27DvSBvYnNhaCBkaXNrdS5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIlBvcGlzIG5lc23DrSBwb2RsZSBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyBvYnNhaG92YXQgdsOtY2UgbmXFviA1MTIgYmFqdMWvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1KTogaGxhdjogJSdkLCBzZWt0b3LFrzogJSdsbHUsXG4iCisjfiAiY3lsaW5kcsWvOiAlJ2xsdVxuIgorI34gIkplZG5vdGt5ID0gJXMgcG8gJWQgKiAlbGQgYmFqdGVjaFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBvZGTDrWx5IC0tLS0tXG4iCisjfiAiT2QjICUqcyAgSW5mbyAgICAgIFphxI3DoXRlayAgICAgS29uZWMgU2VrdG9yeSAgSWQgIFN5c3TDqW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBib290aW5mbyAtLS0tLVxuIgorI34gIlN0YXJ0b3ZhY8OtIHNvdWJvcjogJXNcbiIKKyN+ICItLS0tLSBhZHJlc8OhxZlvdsOpIHBvbG/Fvmt5IC0tLS0tXG4iCisKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMnpkOiAlLTEwcyBzZWt0b3IlNXUgdmVsaWtvc3QlOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJOZWpzb3UgZGVmaW5vdsOhbnkgxb7DoWRuw6kgb2Rkw61seVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpc2tvdsO9IG9kZMOtbCB6YXVqw61tYWrDrWPDrSBjZWzDvSBkaXNrIG3DoSB2ZWxpa29zdCAgdiBibG9jw61jaCBwb3V6ZSAlZCxcbiIKKyN+ICJhbGUgdmVsaWtvc3QgZGlza3UgdiBibG9jw61jaCBqZSAlZC5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiRGlza292w70gb2Rkw61sICVkIG5lemHEjcOtbsOhIG5hIGhyYW5pY2kgY3lsaW5kcnUuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJEaXNrb3bDvSBvZGTDrWwgJWQgbmVrb27EjcOtIG5hIGhyYW5pY2kgY3lsaW5kcnUuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiT2Rkw61sICV6ZCBqZSBqacW+IGRlZmlub3bDoW4uIFDFmWVkIG9wxJt0b3Zuw71tIHZ5dHZvxZllbsOtbSBqZWogbXVzw610ZVxuIgorI34gIm5lanBydmUgc21hemF0LlxuIgorCisjfiBtc2dpZCAiIExhc3QgJXMiCisjfiBtc2dzdHIgIiBQb3NsZWRuw60gJXMiCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLlxuIgorI34gbXNnc3RyICJTZXN0YXZ1amUgc2Ugbm92w6EgdGFidWxrYSByb3pkxJtsZW7DrSBkaXNrdSB0eXB1IFNHSS5cbiIKKworI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiVm9sw6Fuw60gaW9jdGwgSERJT19HRVRHRU8gbmFkICVzIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAgVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS5cbiIKKyN+ICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLlxuIgorI34gbXNnc3RyICIiCisjfiAiUG96b3I6IGlvY3RsIEJMS0dFVFNJWkUgc2VsaGFsbyBuYSAlcy4gUHJvIGdlb21ldHJpaSBzZSBwb3XFvmlqZSAlbGx1XG4iCisjfiAiY3lsaW5kcsWvLlxuIgorI34gIlRhdG8gaG9kbm90YSBtxa/FvmUgYsO9dCB6a3LDoWNlbmEgcHJvIHphxZnDrXplbsOtID4gMzMsOOKAr0dCLlxuIgorCisjfiBtc2dpZCAiSUQ9JTAyeFx0U1RBUlQ9JWRcdExFTkdUSD0lZFxuIgorI34gbXNnc3RyICJJRD0lMDJ4XHRaQcSMw4FURUs9JWRcdETDiUxLQT0lZFxuIgorCisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb25zIGFscmVhZHkgc2V0LlxuIgorI34gbXNnc3RyICJQb2tvdcWhw61tIHNlIHphY2hvdmF0IHBhcmFtZXRyeSBqacW+IG5hc3RhdmVuw71jaCBvZGTDrWzFry5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJBTk9cbiIKKworI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICJWeXR2w6HFmcOtIHNlIG5vdsO9IHN1bm92w70gcG9waXMgZGlza3UuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKHN1bm92c2vDoSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1KTogaGxhdjogJSd1LCBzZWt0b3LFrzogJSdsbHUsXG4iCisjfiAiby9tOiAlJ2QsIGN5bGluZHLFrzogJSdsbHUsIG7DoWhyYWRuw61jaCBjeWxpbmRyxa86ICUnZCxcbiIKKyN+ICJmeXppY2vDvWNoIGN5bGluZHLFrzogJSdkLCBleHRyYSBzZWt0b3LFry9jeWxpbmRyOiAlJ2QsIHByb2tsw6Fkw6Fuw606ICVkOjFcbiIKKyN+ICJJRCBqbWVub3ZreTogJXNcbiIKKyN+ICJJRCBzdmF6a3U6ICVzXG4iCisjfiAiSmVkbm90a3kgPSAlcyBwbyAlZCAqIDUxMiBiYWp0ZWNoXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKHN1bm92c2vDoSB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1KTogaGxhdjogJSd1LCBzZWt0b3LFrzogJSdsbHUsXG4iCisjfiAiY3lsaW5kcsWvOiAlJ2xsdVxuIgorI34gIkplZG5vdGt5ID0gJXMgcG8gJWQgKiA1MTIgYmFqdGVjaFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIFDFmcOtem5hayBaYcSNw6F0ZWsgICAgIEtvbmVjICBCbG9reSAgICBJZCAgU3lzdMOpbVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1BbiB6YcWZw616ZW7DrVx0IGFrdGl2dWplIG9kZMOtbCBuLCBkZWFrdGl2dWplIG9zdGF0bsOtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiSG90b3ZvXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBmZGlzayBHUFQgc3VwcG9ydCBpcyBjdXJyZW50bHkgbmV3LCBhbmQgdGhlcmVmb3JlIGluIGFuIGV4cGVyaW1lbnRhbCBwaGFzZS4gVXNlIGF0IHlvdXIgb3duIGRpc2NyZXRpb24uIgorI34gbXNnc3RyICJQT1pPUjogUG9kcG9yYSBHUFQgdsKgZmRpc2t1IGplIG5vdsOhLCBhIHR1ZMOtxb4gdmUgc3TDoWRpdSBwb2t1c3UuIFBvdcW+aXTDrSBqZSBuYSB2bGFzdG7DrSBuZWJlenBlxI3DrS4iCisKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiVnl0dm/FmWVuIG9kZMOtbCAlemRcbiIKKworI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWClcbiIKKyN+IG1zZ3N0ciAiU2VzdGF2dWplIHNlIG5vdsO9IHBvcGlzIEdQVCAoR1VJRDogJTA4WC0lMDRYLSUwNFgtJTAyWCUwMlgtJTAyWCUwMlglMDJYJTAyWCUwMlglMDJYKVxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8VVNFUj4gQ09NTUFORFxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gLXUgPFXFvUlWQVRFTD4gUMWYw41LQVpcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW3DFmWVww61uYcSNZV0gWy1dIFtVxb1JVkFURUwgW2FyZ3VtZW504oCmXVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIG5ldnl0dm/FmcOtIG5vdm91IHJlbGFjaVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtMSwgLS1vbmUgICAgICAgIHNob3cgb25seSBjdXJyZW50IG1vbnRoIChkZWZhdWx0KVxuIgorI34gIiAtMywgLS10aHJlZSAgICAgIHNob3cgcHJldmlvdXMsIGN1cnJlbnQgYW5kIG5leHQgbW9udGhcbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKKyN+ICIgLWosIC0tanVsaWFuICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCisjfiAiIC15LCAtLXllYXIgICAgICAgc2hvdyB3aG9sZSBjdXJyZW50IHllYXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICB6b2JyYXrDrSBwb3V6ZSBzb3XEjWFzbsO9IG3Em3PDrWMgKHbDvWNob3rDrSlcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICB6b2JyYXrDrSBwxZllZGNob3rDrSwgc291xI1hc27DvSBhIG7DoXNsZWR1asOtY8OtIG3Em3PDrWNcbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBuZWTEm2xlIGpha28gcHJ2bsOtIGRlbiB0w71kbmVcbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICBwb25kxJtsw60gamFrbyBwcnZuw60gZGVuIHTDvWRuZVxuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIHZ5cMOtxaFlIGp1bGnDoW5za8OhIGRhdGFcbiIKKyN+ICIgLXksIC0teWVhciAgICAgICB6b2JyYXrDrSBjZWzDvSBzb3XEjWFzbsO9IHJva1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIHZ5cMOtxaFlIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImdldGFkZHJpbmZvICVzOiVzOiAlcyIKKyN+IG1zZ3N0ciAiZ2V0YWRkcmluZm8gJXM6JXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICBsb2cgdGhlIHByb2Nlc3MgSUQgdG9vXG4iCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1kLCAtLXVkcCAgICAgICAgICAgICBwb3XFvmlqZSBwb3V6ZSBVRFBcbiIKKyN+ICIgLWksIC0taWQgICAgICAgICAgICAgIHphem5hbWVuw6Egcm92bsSbxb4gSUQgcHJvY2VzdVxuIgorI34gIiAtZiwgLS1maWxlIDxzb3Vib3I+ICAgemF6bmFtZW7DoSBvYnNhaCBTT1VCT1JVXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorI34gIiAtUCwgLS1wb3J0IDxudW1iZXI+ICAgdXNlIHRoaXMgVURQIHBvcnRcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+IG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKKyN+ICIgLXMsIC0tc3RkZXJyICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG7DoXpldj4gIHphcMOtxaFlIGRvIHRvaG90byB2emTDoWxlbsOpaG8gc3lzbG9nb3bDqWhvIHNlcnZlcnVcbiIKKyN+ICIgLVAsIC0tcG9ydCA8xI3DrXNsbz4gICAgcG91xb5pamUgdGVudG8gVURQIHBvcnRcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW9yaXRhPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgb3puYcSNw60gemFkYW5vdSB6cHLDoXZ1IHRvdXRvIHByaW9yaXRvdVxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAgenByw6F2dSB2eXDDrcWhZSByb3ZuxJvFviBuYSBzdGFuZGFyZG7DrSBjaHlib3bDvSB2w71zdHVwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC10LCAtLXRhZyA8dGFnPiAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorI34gIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdCwgLS10YWcgPHpuYcSNa2E+ICAgIGthxb5kw6ltdSDFmcOhZGt1IHDFmWlkw6EgdHV0byB6bmHEjWt1XG4iCisjfiAiIC11LCAtLXNvY2tldCA8c29ja2V0PiB6YXDDrcWhZSBkbyB0b2hvdG8gdW5peG92w6lobyBzb2NrZXR1XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4vY3JlYXRlICVzOiAlbVxuIgorI34gbXNnc3RyICJOZXpkYcWZaWxvIHNlIG90ZXbFmcOtdC92eXR2b8WZaXQgJXM6ICVtXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJW1cbiIKKyN+IG1zZ3N0ciAiTmV6ZGHFmWlsbyBzZSB6YW1rbm91dCAlczogJW1cbiIKKworI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIkNoeWJuw6kgxI3DrXNsbzogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wIChjb3VsZCBiZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICB1a8Ohxb5lIMSNYXNvdsOpIMO6ZGFqZSB2wqBwb2RvYm7EmyB2aG9kbsOpIHBybyDEjWxvdsSba2FcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChtxa/FvmUgYsO9dCBuZXDFmWVzbsOpLCBwb2t1ZCBqc3RlIHBvdcW+aWxpIHVzcMOhbsOtXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHByb2J1emVuw60pXG4iCisKKyN+IG1zZ2lkICItLW5vdGltZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1jdGltZSBvciAtLXJlbHRpbWUiCisjfiBtc2dzdHIgInDFmWVww61uYcSNIC0tbm9hdGltZSBuZWx6ZSBwb3XFvsOtdCBzcG9sdSBzwqAtLWN0aW1lIG5lYm8gLS1yZWx0aW1lIgorCisjfiBtc2dpZCAiZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UgZmFpbGVkIgorI34gbXNnc3RyICJobGVkw6Fuw60gbmVwb3XFvml0w6lobyBsb29wIHphxZnDrXplbsOtIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgIG91dHB1dCBoZWxwIHNjcmVlbiBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICB2eXN2xJt0bMOtLCBjbyBzZSBwcsOhdsSbIHByb3bDoWTDrVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgIHpvYnJhesOtIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIG5ldnlww63FoWUgaGxhdmnEjWt1LCBmdW5ndWplIGplIHBybyBzdXBlcnXFvml2YXRlbGVcbiIKKyN+ICIgLXQsIC0tdGltZW91dCBMSU1JVCAgICAgxI1hc292w70gbGltaXQgbmEgesOhcGlzIHbCoHNla3VuZMOhY2hcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisjfiBtc2dzdHIgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDzFmWV0xJt6ZWM+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICVzIFtQxZhFUMONTkHEjEVdIFNPVUJPUuKAplxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iICAgICAgICAgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCisjfiAiIC1jICAgICAgICAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorI34gIiAtQyAgICAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCisjfiAiIC1kICAgICAgICAgICAgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLWUgZm9ybWF0ICAgICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCisjfiAiIC1mIGZvcm1hdF9maWxlICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKKyN+ICIgLW4gbGVuZ3RoICAgICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorI34gIiAtcyBvZmZzZXQgICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCisjfiAiIC12ICAgICAgICAgICAgICBkaXNwbGF5IHdpdGhvdXQgc3F1ZWV6aW5nIHNpbWlsYXIgbGluZXNcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiIC1iICAgICAgICAgICAgICB2w71waXMgcG8gYmFqdGVjaCBvc21pxI1rb3bEm1xuIgorI34gIiAtYyAgICAgICAgICAgICAgdsO9cGlzIHBvIGJhanRlY2ggamFrbyB6bmFreVxuIgorI34gIiAtQyAgICAgICAgICAgICAgbm9ybW92YW7DvSB2w71waXMgxaFlc3Ruw6FjdGtvdsSbIGEgdsKgQVNDSUlcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHbDvXBpcyBwbyBkdm91IGJhanRlY2ggZGVzw610a292xJtcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHbDvXBpcyBwbyBkdm91IGJhanRlY2ggb3NtacSNa292xJtcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHbDvXBpcyBwbyBkdm91IGJhanRlY2ggxaFlc3Ruw6FjdGtvdsSbXG4iCisjfiAiIC1lIEZPUk3DgVQgICAgICAgZm9ybcOhdG92YWPDrSDFmWV0xJt6ZWMgcG91xb5pdMO9IHDFmWkgdsO9cGlzdSBkYXRcbiIKKyN+ICIgLWYgRk9STcOBVE9WQUPDjV9TT1VCT1JcbiIKKyN+ICIgICAgICAgICAgICAgICAgIHNvdWJvciBvYnNhaHVqw61jw60gZm9ybcOhdG92YWPDrSDFmWV0xJt6Y2VcbiIKKyN+ICIgLW4gRMOJTEtBICAgICAgICBpbnRlcnByZXR1amUgcG91emUgRMOJTEtVIGJhanTFryB6ZSB2c3R1cHVcbiIKKyN+ICIgLXMgUE9aSUNFICAgICAgIHDFmWVza2/EjcOtIHphZGFuw70gcG/EjWV0IGJhanTFryBuYSB6YcSNw6F0a3UgdnN0dXB1XG4iCisjfiAiIC12ICAgICAgICAgICAgICB2ZSB2w71waXN1IG5ldnluZWNow6EgcG9kb2Juw6kgxZnDoWRreVxuIgorI34gIiAtViAgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gY3J5cHQgc2VsaGFsbzogJW1cbiIKKworI34gbXNnaWQgIkNhbiBub3QgZm9yazogJW1cbiIKKyN+IG1zZ3N0ciAiVnl0dm/FmWVuw60gcG90b21rYSB2b2zDoW7DrW0gZm9yayBzZWxoYWxvOiAlbVxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgImNoeWJhIHZlIHZvbMOhbsOtIHhzdHJuZHVwIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggYC1BJ1xuIgorI34gIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisjfiAiICAgICAgICAgICAgICB0eXBlIGlzIGFsbG93ZWQgdG8gYmUgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKKyN+ICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKKyN+ICIgLXIgICAgICAgICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgZnNja1xuIgorI34gIiAtcyAgICAgICAgIHNlcmlhbGl6ZSBmc2NrIG9wZXJhdGlvbnNcbiIKKyN+ICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdXNpbmcgZmxvY2soKVxuIgorI34gIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCisjfiAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKKyN+ICIgLUMgPGZkPiAgICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCisjfiAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gIlNlZSBmc2NrLiogY29tbWFuZHMgZm9yIGZzLW9wdGlvbnMuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtQSAgICAgICAgIHprb250cm9sdWplIHbFoWVjaG55IHNvdWJvcm92w6kgc3lzdMOpbXlcbiIKKyN+ICIgLVIgICAgICAgICB2eW5lY2jDoSBrb8WZZW5vdsO9IHNvdWJvcm92w70gc3lzdMOpbTsgdcW+aXRlxI1uw6kgamUgc8Kg4oCeLUHigJxcbiIKKyN+ICIgLU0gICAgICAgICBuZWtvbnRyb2x1amUgcMWZaXBvamVuw6kgc291Ym9yb3bDqSBzeXN0w6lteVxuIgorI34gIiAtdCA8dHlwPiAgIHVyxI11amUgZHJ1aHkgc291Ym9yb3bDvWNoIHN5c3TDqW3Frywga3RlcsOpIHNlIG1hasOtIHprb250cm9sb3ZhdDtcbiIKKyN+ICIgICAgICAgICAgICB0eXAgc23DrSBiw710IMSNw6Fya291IG9kZMSbbGVuw70gc2V6bmFtXG4iCisjfiAiIC1QICAgICAgICAgc291Ym9yb3bDqSBzeXN0w6lteSBrb250cm9sdWplIHBhcmFsZWxuxJssIHbEjWV0bsSbIGtvxZllbm92w6lob1xuIgorI34gIiAtciAgICAgICAgIGhsw6Fzw60gc3RhdGlzdGlja8OpIMO6ZGFqZSBwcm/CoGthxb5kw6kga29udHJvbG92YW7DqSB6YcWZw616ZW7DrVxuIgorI34gIiAtcyAgICAgICAgIHNlcmlhbGl6dWplIG9wZXJhY2UgZnNja1xuIgorI34gIiAtbCAgICAgICAgIHphbWtuZSB6YcWZw616ZW7DrSBwb21vY8OtIGZsb2NrKClcbiIKKyN+ICIgLU4gICAgICAgICBuaWMgbmV2eWtvbsOhLCBwb3V6ZSB6b2JyYXrDrSwgY28gYnkgc2UgdWTEm2xhbG9cbiIKKyN+ICIgLVQgICAgICAgICBwxZlpIHNwdcWhdMSbbsOtIG5lem9icmF6w60gbmFkcGlzXG4iCisjfiAiIC1DIDxmZD4gICAgem9icmF6w60gaW5kaWvDoXRvciBwb3N0dXB1OyBkZXNrcmlwdG9yIHNvdWJvcnUgamUgcHJvIEdVSVxuIgorI34gIiAtViAgICAgICAgIHZ5c3bEm3Rsw60sIGNvIHNlIHByb3bDoWTDrVxuIgorI34gIiAtPyAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiXG4iCisjfiAicMWZZXDDrW5hxI1lX3NzIGpzb3UgcG9wc8OhbnkgdcKgamVkbm90bGl2w71jaCBwxZnDrWthesWvIGZzY2suKi4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWQsIC0tZGl2aXNvcj1OVU0gICAgICBkaXZpZGUgYnl0ZXMgTlVNXG4iCisjfiAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiIC1kLCAtLWRpdmlzb3I9xIzDjVNMTyAgICB2eWTEm2zDrSBiYWp0eSDEjMONU0xFTVxuIgorI34gIiAteCwgLS1zZWN0b3JzICAgICAgICAgIHpvYnJhesOtIHBvxI1ldCBhIHZlbGlrb3N0IHNla3RvcsWvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLUgsIC0taGVscCAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC10LCAtLXR5cGU9VFlQRSAgZmlsZSBzeXN0ZW0gdHlwZSwgd2hlbiB1bmRlZmluZWQgZXh0MiBpcyB1c2VkXG4iCisjfiAiICAgICBmcy1vcHRpb25zICAgcGFyYW1ldGVycyB0byByZWFsIGZpbGUgc3lzdGVtIGJ1aWxkZXJcbiIKKyN+ICIgICAgIGRldmljZSAgICAgICBwYXRoIHRvIGEgZGV2aWNlXG4iCisjfiAiICAgICBzaXplICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyBvbiB0aGUgZGV2aWNlXG4iCisjfiAiIC1WLCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGRvbmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICBkZWZpbmluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgLVYgYXMgdmVyc2lvbiBtdXN0IGJlIG9ubHkgb3B0aW9uXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKyN+ICIgLXQsIC0tdHlwZT1UWVAgICBkcnVoIHN5c3TDqW11IHNvdWJvcsWvLCBuZW7DrS1saSB6YWTDoW5vLCBwb3XFvmlqZSBzZSBleHQyXG4iCisjfiAiICAgICBWT0xCWV9TUyAgICAgcGFyYW1ldHJ5IHBybyB0dm/FmcOtdGtvIGtvbmtyw6l0bsOtaG8gc291Ym9yb3bDqWhvIHN5c3TDqW11XG4iCisjfiAiICAgICBaQcWYw41aRU7DjSAgICAgY2VzdGEga8KgemHFmcOtemVuw61cbiIKKyN+ICIgICAgIFZFTElLT1NUICAgICBwb8SNZXQgYmxva8WvIG5hIHphxZnDrXplbsOtXG4iCisjfiAiIC1WLCAtLXZlcmJvc2UgICAgdnlzdsSbdGzDrSBwcm92w6FkxJtuw6kgw7prb255XG4iCisjfiAiICAgICAgICAgICAgICAgICAgbsOhc29ibsOpIHBvdcW+aXTDrSAtViB6cMWvc29iw60gYmV6esOhcGlzb3bDvSBixJtoXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgdnlww63FoWUgw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAtViBqYWtvIHZlcnplIG11c8OtIGLDvXQgamVkaW7DvW0gcMWZZXDDrW5hxI1lbVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiY2h5YmEgc3RydG9sOiBwb8SNZXQgYmxva8WvIG5lYnlsIHphZMOhbiIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJjaHlibsO9Y2ggc3Ryw6FuZWs6IDFcbiIKKworIyBBbHRlcm5hdGUgY29udGludWF0aW9uIG9mIHByZXZpb3VzIG1lc3NhZ2UKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgICAgICBuYSBjZWzDqW0gZGlza3UuICIKKworI34gbXNnaWQgImRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuIgorI34gbXNnc3RyICJuZXBvZHBvcnVqZSBvZGtsw6FkYWPDrSBwcm9zdG9yIHZlcnplICVkLiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCisjfiAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgKERFUFJFQ0FURUQpXG4iCisjfiAiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorI34gIlxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCisjfiAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8dHlwZT4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGUgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hZGQgICAgICAgICAgICBwxZlpZMOhIHphZGFuw6kgb2Rkw61seSBuZWJvIHbFoWVjaG55IG9kZMOtbHlcbiIKKyN+ICIgLWQsIC0tZGVsZXRlICAgICAgICAgc21hxb5lIHphZGFuw6kgb2Rkw61seSBuZWJvIHbFoWVjaG55IG9kZMOtbHlcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgdnlww63FoWUgc2V6bmFtIG9kZMOtbMWvIChaQVNUQVJBTMOJKVxuIgorI34gIiAtcywgLS1zaG93ICAgICAgICAgICB2eXDDrcWhZSBzZXpuYW0gb2Rkw61sxa9cbiIKKyN+ICJcbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAgdmVsaWtvc3RpIHZ5cGlzdWplIHbCoGJhanRlY2ggbmFtw61zdG8gcG9kb2LEmyB2aG9kbsOpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHBybyDEjWxvdsSba2FcbiIKKyN+ICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgbmV6b2JyYXp1amUgesOhaGxhdsOtIHZlIHbDvXBpc3UgLS1zaG93XG4iCisjfiAiIC1uLCAtLW5yIDxtOm4+ICAgICAgIHVyxI11amUgcm96c2FoIG9kZMOtbMWvICgtLW5yIDI6NClcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxkcnVoPiAgem9icmF6w60gdnlicmFuw6kgc2xvdXBjZVxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICB2w71zdHVwIHZlIGZvcm3DoXR1IGtsw63EjT1cImhvZG5vdGFcIlxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICBuZWZvcm3DoXRvdmFuw70gdsO9c3R1cFxuIgorI34gIiAtdCwgLS10eXBlIDxkcnVoPiAgICB1csSNdWplIGRydWggb2Rkw61sdSAoZG9zLCBic2QsIHNvbGFyaXMsIGF0ZC4pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgIHBvZHJvYm7DvSByZcW+aW1cbiIKKworI34gbXNnaWQgIldhcm5pbmchISAgVW5zdXBwb3J0ZWQgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQuIFVzZSBHTlUgUGFydGVkLiIKKyN+IG1zZ3N0ciAiVmFyb3bDoW7DrSEhIERldGVrb3bDoW5hIG5lcG9kcG9yb3ZhbsOhIEdQVOKAryhHVUlEIHRhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UpLiBQb3XFvmlqdGUgR05VIFBhcnRlZC4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIEFJWCBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IExpbnV4IGNhbm5vdCBoYW5kbGUgdGhlc2VcbiIKKyN+ICJcdGRpc2tzIGF0IHRoZSBtb21lbnQuICBOZXZlcnRoZWxlc3Mgc29tZVxuIgorI34gIlx0YWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gIlx0My4gQmVmb3JlIGRlbGV0aW5nIHRoaXMgcGh5c2ljYWwgdm9sdW1lIGJlIHN1cmVcbiIKKyN+ICJcdCAgIHRvIHJlbW92ZSB0aGUgZGlzayBsb2dpY2FsbHkgZnJvbSB5b3VyIEFJWFxuIgorI34gIlx0ICAgbWFjaGluZS4gIChPdGhlcndpc2UgeW91IGJlY29tZSBhbiBBSVhwZXJ0KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdE5hIHRvbXRvIGRpc2t1IGplIEFJWCB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1LlxuIgorI34gIlx0TGludXggcyB0xJttaXRvIGRpc2t5IHYgc291xI1hc27DqSBkb2LEmyBuZXVtw60gcHJhY292YXQuXG4iCisjfiAiXHROaWNtw6luxJsgbsSba29saWsgcmFkIHBybyBWw6FzOlxuIgorI34gIlx0MS4gcMWZaSB6w6FwaXN1IGZkaXNrIHpuacSNw60gamVqaWNoIG9ic2FoXG4iCisjfiAiXHQyLiBVamlzdMSbdGUgc2UsIMW+ZSB0ZW50byBkaXNrIE5FTsONIGTFr2xlxb5pdG91IHNvdcSNw6FzdMOtXG4iCisjfiAiXHQgICBza3VwaW55IHN2YXprxa8uIChKaW5hayBtxa/FvmV0ZSBzbWF6YXQsIHBva3VkIG5lanNvdVxuIgorI34gIlx0ICAgenJjYWRsZW55LCBpIG9zdGF0bsOtIGRpc2t5LilcbiIKKyN+ICJcdDMuIFDFmWVkdMOtbSwgbmXFviBzbWHFvmV0ZSBmeXppY2vDvSBzdmF6ZWssIHNlIHVqaXN0xJt0ZSwgxb5lXG4iCisjfiAiXHQgICBqacW+IG5lbsOtIGxvZ2lja291IHNvdcSNw6FzdMOtIFZhxaFlaG8gQUlYIHN5c3TDqW11LiAoSmluYWtcbiIKKyN+ICJcdCAgIHNlIHogVsOhcyBzdMOhdsOhIEFJWHBlcnQpLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRQcm9tacWIdGUsIGFsZSB0ZW50byBwcm9ncmFtIG5ldW3DrSB6YWNow6F6ZXQgcyBBSVhvdsO9bWkgZGlza292w71taVxuIgorI34gIlx0am1lbm92a2FtaS4gQ2hjZXRlLWxpIHDFmWlkYXQgb2Rkw61sIHR5cHUgRE9TLCBuZWpwcnZlIHZ5dHZvxZl0ZVxuIgorI34gIlx0IG5vdnUgcHLDoXpkbm91IERPU09WT1UgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdSAocMWZw61rYXog4oCeb+KAnCkuXG4iCisjfiAiXHRWQVJPVsOBTsONOiBUw61tdG8gcMWZaWpkZXRlIG8gc291xI1hc27DvSBvYnNhaCBkaXNrdS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRCB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IHBybyB6YcWZw616ZW7DrTogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJWYXJvdsOhbsOtOiBvZGTDrWwgJWQgbmVtw6EgdXLEjWVuIHR5cFxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiRGlza292w70gb2Rkw61sICVpIG5la29uxI3DrSBuYSBocmFuaWNpIGN5bGluZHJ1LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFST1bDgU7DjTogTmEg4oCeJXPigJwgbmFsZXplbmEgR1BU4oCvKEdVSUTigK90YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1KSEgTsOhc3Ryb2ogZmRpc2sgbmVwb2Rwb3J1amUgR1BULiBQb3XFvmlqdGUgR05V4oCvUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIlBvem9yOiB2ZWxpa29zdCBzZWt0b3J1IGplICVsZCAobmlrb2xpdiAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBzZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJPVsOBTsONOiBOYSDigJ4lc+KAnCBuYWxlemVuYSBHUFTigK8oR1VJROKAr3RhYnVsa2Egcm96ZMSbbGVuw60gZGlza3UpISBOw6FzdHJvaiBzZmRpc2sgbmVwb2Rwb3J1amUgR1BULiBQb3XFvmlqdGUgR05V4oCvUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiS8KgcG90bGHEjWVuw60gdMOpdG8ga29udHJvbHkgcG91xb5panRlIHDFmWVww61uYcSNIC0tZm9yY2UuXG4iCisKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3B1xaF0xJtuw60gJXMgc2VsaGFsbyIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCisjfiAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCisjfiAiIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgLW1cbiIKKyN+ICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICBydW4gc2hlbGwgaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICBuYXN0YXbDrSBzaGVsbCBqYWtvIHDFmWlobGHFoW92YWPDrVxuIgorI34gIiAtYywgLS1jb21tYW5kIDxwxZnDrWthej4gICAgICAgdnl2b2xhbsOpbXUgc2hlbGx1IHDFmWVkw6EgamVkZW4gcMWZw61rYXogcG9tb2PDrcKgLWNcbiIKKyN+ICIgLS1zZXNzaW9uLWNvbW1hbmQgPHDFmcOta2F6PiAgIHZ5dm9sYW7DqW11IHNoZWxsdSBwxZllZMOhIGplZGVuIHDFmcOta2F6IHBvbW9jw63CoC1jXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBuZXZ5dHZvxZnDrSBub3ZvdSByZWxhY2lcbiIKKyN+ICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICBzaGVsbHUgcMWZZWTDoSAtZiAocHJvIGNzaCBuZWJvIHRjc2gpXG4iCisjfiAiIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAgemFjaG92w6EgcHJvbcSbbm7DqSBwcm9zdMWZZWTDrVxuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0ZWpuw6kgamFrbyAtbVxuIgorI34gIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgIHNwdXN0w60gc2hlbGwsIHBva3VkIHRvIC9ldGMvc2hlbGxzIGRvdm9sw61cbiIKKworI34gbXNnaWQgIiVzOiBleGVjIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHZvbMOhbsOtIGV4ZWMgc2VsaGFsbyIKKworI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJUSU9DU0NUVFk6IHZvbMOhbsOtIGlvY3RsIHNlbGhhbG8iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbK0ZPUk3DgVRdIFtERU4gTcSaU8ONQyBST0tdXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJEZW4gc3ZhdMOpaG8gVGliYSIKKworI34gbXNnaWQgIiIKKyN+ICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1PLCAtLW9wdGlvbnMgPHNlem5hbT4gb21lesOtIG1ub8W+aW51IHNvdWJvcm92w71jaCBzeXN0w6ltxa8gcG9kbGUgdm9sZWIgcMWZaXBvamVuw61cbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+ICB6b2JyYXrDrSBkYW7DqSBzbG91cGNlXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdsO9c3R1cCB2ZSBmb3Jtw6F0dSBrbMOtxI09XCJob2Rub3RhXCJcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBuZWZvcm3DoXRvdmFuw70gdsO9c3R1cFxuIgorI34gIiAtdCwgLS10eXBlcyA8c2V6bmFtPiAgIG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIHBvZGxlIGplamljaCBkcnVodVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFsgLXMgc2lnbsOhbCB8IC1wIF0gWyAtYSBdIFBJROKAplxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgJXMgLWwgWyBzaWduw6FsIF1cbiIKKworIyBjb25uZWN0IGlzIGZ1bmN0aW9uIG5hbWUKKyN+IG1zZ2lkICJjb25uZWN0ICVzIgorI34gbXNnc3RyICJjb25uZWN0ICVzIgorCisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAibmVwbGF0bsO9IGFyZ3VtZW50IMSNw61zbGEgcG9ydHUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIiAlcyBbcMWZZXDDrW5hxI1lXSBbemHFmcOtemVuw63igKZdXG4iCisKKyMgPz8/OiBXVEYgaXMgaG9sZGVyPworIyA/Pz86IFDFmWVrbMOhZGF0IGpha28g4oCeb2LDoWxrYeKAnD8KKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKKyN+ICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKKyN+ICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorI34gIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCisjfiAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHVzYWdlIGluZm9ybWF0aW9uICh0aGlzKVxuIgorI34gIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCisjfiAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXB1dFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorI34gIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICB2eXDDrcWhZSB2xaFlY2huYSB6YcWZw616ZW7DrVxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICB2ZWxpa29zdGkgdnlww63FoWUgdsKgYmFqdGVjaCBuYW3DrXN0byB2wqBwb2RvYsSbIHZob2Ruw6lcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgcHJvIMSNbG92xJtrYVxuIgorI34gIiAtZCwgLS1ub2RlcHMgICAgICAgICBuZXZ5cMOtxaFlIHBvZMWZw616ZW7DoSAoc2xhdmUpIGEgbmFkxZnDrXplbsOhIChob2xkZXIpIHphxZnDrXplbsOtXG4iCisjfiAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHBvcMOtxaFlIHNjaG9wbm9zdCB6YWhhem92YXQgZGF0YSAoZGlzY2FyZClcbiIKKyN+ICIgLWUsIC0tZXhjbHVkZSA8c2V6bmFtPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2eW5lY2jDoSB6YcWZw616ZW7DrSBwb2RsZSBobGF2bsOtaG8gxI3DrXNsYSAodsO9Y2hvesOtOiBSQU0gZGlza3kpXG4iCisjfiAiIC1JLCAtLWluY2x1ZGUgPHNlem5hbT5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgem9icmF6w60gcG91emUgemHFmcOtemVuw60gc2UgemFkYW7DvW1pIGhsYXZuw61taSDEjcOtc2x5XG4iCisjfiAiIC1mLCAtLWZzICAgICAgICAgICAgIHZ5cMOtxaFlIMO6ZGFqZSBvwqBzb3Vib3JvdsOpbSBzeXN0w6ltdVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBuw6F2b2Qga8KgcG91xb5pdMOtICh0ZW50bylcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAgcG91xb5pamUgcG91emUgQVNDSUkgem5ha3lcbiIKKyN+ICIgLW0sIC0tcGVybXMgICAgICAgICAgdnlww63FoWUgw7pkYWplIG/CoHDFmcOtc3R1cG92w71jaCBwcsOhdmVjaFxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICB2w71zdHVwIGZvcm3DoXR1amUgamFrbyBzZXpuYW1cbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgbmV2eXDDrcWhZSB6w6FobGF2w61cbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxzZXpuYW0+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHpvYnJhesOtIGRhbsOpIHNsb3VwY2VcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdsO9c3R1cCB2ZSBmb3Jtw6F0dSBrbMOtxI09XCJob2Rub3RhXCJcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXBcbiIKKyN+ICIgLXMsIC0taW52ZXJzZSAgICAgICAgb2Jyw6F0w60gesOhdmlzbG9zdGlcbiIKKyN+ICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgdnlww63FoWUgw7pkYWplIG/CoHRvcG9sb2dpaVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICB2eXDDrcWhZSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgdnlzdsSbdGzDrSwgY28gc2UgcHLDoXbEmyB2eWtvbsOhdsOhXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiA8ZmlsZT4gIGRlZmluZSBzZWFyY2ggc2NvcGVcbiIKKyN+ICIgLWIgICAgICAgICBzZWFyY2ggb25seSBiaW5hcmllc1xuIgorI34gIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorI34gIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IG1hbnVhbCBwYXRoc1xuIgorI34gIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gbG9va3VwIHBhdGhcbiIKKyN+ICIgLXMgICAgICAgICBzZWFyY2ggb25seSBzb3VyY2VzIHBhdGhcbiIKKyN+ICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorI34gIiAtdSAgICAgICAgIHNlYXJjaCBmcm9tIHVudXN1YWwgZW50aXRpZXNcbiIKKyN+ICIgLVYgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYgPHNvdWJvcj4gICAgdXLEjXVqZSByb3pzYWggaGxlZMOhbsOtXG4iCisjfiAiIC1iICAgICAgICAgICAgIHByb2hsZWTDoXbDoSBwb3V6ZSBiaW7DoXJuw60gc291Ym9yeVxuIgorI34gIiAtQiA8YWRyZXPDocWZZT4gIHVyxI11amUgY2VzdHUgcHJvIGhsZWTDoW7DrSBiaW7DoXJuw61jaCBzb3Vib3LFr1xuIgorI34gIiAtbSAgICAgICAgICAgICBwcm9obGVkw6F2w6EgcG91emUgY2VzdHkgbWFudcOhbG92w71jaCBzdHLDoW5la1xuIgorI34gIiAtTSA8YWRyZXPDocWZZT4gIHVyxI11amUgY2VzdHUgcHJvIGhsZWTDoW7DrSBtYW51w6Fsb3bDvWNoIHN0csOhbmVrXG4iCisjfiAiIC1zICAgICAgICAgICAgIHByb2hsZWTDoXbDoSBwb3V6ZSBjZXN0eSBzZSB6ZHJvamlcbiIKKyN+ICIgLVMgPGFkcmVzw6HFmWU+ICB1csSNdWplIGNlc3R1IHBybyBobGVkw6Fuw60gemRyb2rFr1xuIgorI34gIiAtdSAgICAgICAgICAgICBobGVkw6EgbmVvYnZ5a2zDqSBlbnRpdHlcbiIKKyN+ICIgLVYgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWggICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNlZSBob3cgdG8gdXNlIGZpbGUgYW5kIGRpcnMgYXJndW1lbnRzIGZyb20gd2hlcmVpcygxKSBtYW51YWwuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJKYWsgc2UgcG91xb7DrXZhasOtIGFyZ3VtZW50eSBzb3Vib3LFryBhIGFkcmVzw6HFmcWvIHNlIGx6ZSBkb3p2xJtkxJt0IHbCoG1hbnXDoWx1XG4iCisjfiAid2hlcmVpcygxKS5cbiIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJtb3VudDogbmVieWxvIG1vxb5uw6kgemFta25vdXQgdiBwYW3Em3RpIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYXJndW1lbnQgcMWZZXDDrW5hxI3FryAtcCBhIC0tcGFzcy1mZCBtdXPDrSBiw710IMSNw61zbG8iCisKKyN+IG1zZ2lkICJleGVjdXRpbmcgJXMgZmFpbGVkIgorI34gbXNnc3RyICJzcHXFoXTEm27DrSAlcyBzZWxoYWxvIgorCisjfiBtc2dpZCAiIgorI34gIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorI34gIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKKyN+ICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCisjfiAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKKyN+ICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorI34gIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCisjfiAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCisjfiAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorI34gIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorI34gIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbiByZWFkYWJsZSB0aW1lc3RhbXAgKGNvdWxkIGJlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgbWVzc2FnZXMgdGltZXN0YW1wXG4iCisjfiAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorI34gIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgIHZ5cHLDoXpkbsOtIGtydWhvdsO9IGJ1ZmZlciB2wqBqw6FkxZllXG4iCisjfiAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICAgcMWZZcSNdGUgYSB2eXByw6F6ZG7DrSB6cHLDoXZ5XG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICAgdnlwbmUgdnlwaXNvdsOhbsOtIHpwcsOhdiBkbyBrb256b2x5XG4iCisjfiAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICAgdWvDocW+ZSDEjWFzb3bDqSByb3pkw61seSBtZXppIGhsw6HFoWthbWlcbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgICB1a8Ohxb5lIG3DrXN0bsOtIMSNYXMgYSDEjWFzb3bDvSByb3pkw61sIHbCoMSNaXRlbG7DqSBwb2RvYsSbXG4iCisjfiAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICAgemFwbmUgdnlwaXNvdsOhbsOtIHpwcsOhdiBkbyBrb256b2x5XG4iCisjfiAiIC1GLCAtLWZpbGUgPHNvdWJvcj4gICAgICAgICAgcG91xb5pamUgemFkYW7DvSBzb3Vib3IgbcOtc3RvIGphZGVybsOpaG8gYnVmZmVydVxuIgorI34gIiAtZiwgLS1mYWNpbGl0eSA8c2V6bmFtPiAgICAgIHbDvXN0dXAgb21lesOtIG5hIHphZGFuw6kgb2JvcnlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHUgYSBza29uxI3DrVxuIgorI34gIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgIHpvYnJhesOtIGphZGVybsOpIHpwcsOhdnlcbiIKKyN+ICIgLWwsIC0tbGV2ZWwgPHNlem5hbT4gICAgICAgICB2w71zdHVwIG9tZXrDrSBuYSB6YWRhbsOpIMO6cm92bsSbXG4iCisjfiAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPMO6cm92ZcWIPiBuYXN0YXbDrSDDunJvdmXFiCB6cHLDoXYgdnlwaXNvdmFuw71jaCBkbyBrb256b2x5XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgYnVmZmVyIHpwcsOhdiB2wqBuZW9wcmFjb3ZhbsOpIHBvZG9ixJtcbiIKKyN+ICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgICB2eW51dMOtIHBvdcW+aXTDrSBzeXNsb2coMikgbcOtc3RvIC9kZXYva21zZ1xuIgorI34gIiAtcywgLS1idWZmZXItc2l6ZSA8dmVsaWtvc3Q+IHZlbGlrb3N0IGJ1ZmZlcnUsIG5hIGt0ZXLDvSBzZSB6ZXB0YXQgamFkZXJuw6lob1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtydWhvdsOpIGJ1ZmZlcnVcbiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgICB1a8Ohxb5lIMSNYXNvdsOpIMO6ZGFqZSB2wqBwb2RvYm7EmyB2aG9kbsOpIHBybyDEjWxvdsSba2FcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAobcWvxb5lIGLDvXQgbmVwxZllc27DqSwgcG91xb5pbGktbGkganN0ZSB1c3DDoW7DrS9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9idXplbsOtKVxuIgorI34gIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgIG5ldnlwaXN1amUgxI1hc3kgenByw6F2XG4iCisjfiAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICAgdnlww63FoWUgenByw6F2eSB6wqB1xb5pdmF0ZWxza8OpaG8gcHJvc3RvcnVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICB6b2JyYXrDrSDDumRhamUgb8KgdmVyemkgYSBza29uxI3DrVxuIgorI34gIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgIMSNZWvDoSBuYSBub3bDqSB6cHLDoXZ5XG4iCisjfiAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICAgb2JvcnkgYSDDunJvdm7EmyBwxZlldmVkZSBuYSDEjWl0ZWxuw6kgxZlldMSbemNlXG4iCisKKyN+IG1zZ2lkICJlamVjdDogY2Fubm90IHNldCB1c2VyIGlkIgorI34gbXNnc3RyICJlamVjdDogxI3DrXNsbyB1xb5pdmF0ZWxlIChVSUQpIG5lbHplIG5hc3Rhdml0IgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICB0aGlzIGhlbHBcbiIKKyN+ICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCisjfiAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgdGF0byBuw6Fwb3bEm2RhXG4iCisjfiAiIC1mLCAtLWZyZWV6ZSAgICAgIHptcmF6w60gc3lzdMOpbSBzb3Vib3LFr1xuIgorI34gIiAtdSwgLS11bmZyZWV6ZSAgICByb3ptcmF6w60gc3lzdMOpbSBzb3Vib3LFr1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHZlIGZzZnJlZXplKDgpLlxuIgorCisjfiBtc2dpZCAibWluIHNlZyBzaXplIChieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWluaW3DoWxuw60gdmVsaWtvc3Qgc2VnbWVudHUgKHbCoGJhanRlY2gpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJ2b2zDoW7DrSBzaG1jdGwgc2VsaGFsbyIKKworI34gbXNnaWQgIm1zZ2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgInZvbMOhbsOtIG1zZ2N0bCBzZWxoYWxvIgorCisjfiBtc2dpZCAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorI34gbXNnc3RyICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1lLCAtLWVuY3J5cHRpb24gPHR5cGU+ICAgICAgIGVuYWJsZSBlbmNyeXB0aW9uIHdpdGggc3BlY2lmaWVkIDxuYW1lL251bT5cbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorI34gIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wYXNzLWZkIDxudW0+ICAgICAgICAgICByZWFkIHBhc3NwaHJhc2UgZnJvbSBmaWxlIGRlc2NyaXB0b3IgPG51bT5cbiIKKyN+ICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldHVwIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWUsIC0tZW5jcnlwdGlvbiA8dHlwPiAgICAgICAgemFwbmUgxaFpZnJvdsOhbsOtIHBvbW9jw60gemFkYW7DqWhvIDxuw6F6dnU+LzzEjcOtc2xhPlxuIgorI34gIiAtbywgLS1vZmZzZXQgPMSNw61zbG8+ICAgICAgICAgIHbCoHNvdWJvcnUgemHEjW5lIG5hIHBvemljaSA8xI3DrXNsbz5cbiIKKyN+ICIgICAgIC0tc2l6ZWxpbWl0IDxwb8SNZXQ+ICAgICAgIG9tZXrDrSBkw6lsa3UgbG9vcHUgbmEgPHBvxI1ldD4gYmFqdMWvIHNvdWJvcnVcbiIKKyN+ICIgLXAsIC0tcGFzcy1mZCA8xI3DrXNsbz4gICAgICAgICBuYcSNdGUgaGVzbG8gesKgZGVza3JpcHRvcnUgc291Ym9ydSA8xI3DrXNsbz5cbiIKKyN+ICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgdnl0dm/FmcOtIGxvb3AgemHFmcOtemVuw60gcm96ZMSbbGVuw6kgbmEgb2Rkw61seVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBuYXN0YXbDrSBsb29wIHphxZnDrXplbsOtIGplbiBwcm8gxI10ZW7DrVxuIgorI34gIiAtcywgLS1zaG93ICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSBuw6F6ZXYgemHFmcOtemVuw60gcG8gbmFzdGF2ZW7DrSAoc3BvbHUgc8KgLWYpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHVwb3bDrWRhbsO9IHJlxb5pbVxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBwYXNzcGhyYXNlIGZpbGUgZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAibmVwbGF0bsO9IGRlc2tyaXB0b3Igc291Ym9ydSBzwqBoZXNsZW0iCisKKyN+IG1zZ2lkICIlcyBmYWlsZWQgdG8gdXNlIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgbmVtb2hsbyBwb3XFvsOtdCB6YcWZw616ZW7DrSIKKworI34gbXNnaWQgImNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIm5lYnlsbyBtb8W+bsOpIHphbWtub3V0IHYgcGFtxJt0aSIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorI34gIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKKyN+ICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKKyN+ICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCisjfiAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBkaXJlY3RvcnkgRElSIGFzIHN5c3RlbSByb290XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHByaW50IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIHphcG51dMOhIGEgdnlwbnV0w6EgQ1BVICh2w71jaG96w60gcHJvIC1lKVxuIgorI34gIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICAgICB2eXDDrcWhZSBqZW4gemFwbnV0w6EgQ1BVcyAodsO9Y2hvesOtIHBybyAtcClcbiIKKyN+ICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgICAgdnlww63FoWUgamVuIHZ5cG51dMOhIENQVVxuIgorI34gIiAtZSwgLS1leHRlbmRlZFs9PHNlem5hbT5dICB2w71waXMgdsKgcm96xaHDrcWZZW7DqW0gxI1pdGVsbsOpbSBmb3Jtw6F0dVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICIgLXAsIC0tcGFyc2VbPTxzZXpuYW0+XSAgICAgdsO9cGlzIHbCoHJvemVicmF0ZWxuw6ltIGZvcm3DoXR1XG4iCisjfiAiIC1zLCAtLXN5c3Jvb3QgPGFkcmVzw6HFmT4gICAgamFrbyBrb8WZZW4gc3lzdMOpbXUgcG91xb5pamUgPGFkcmVzw6HFmT5cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgdnlww63FoWUgw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgICAgdnlww63FoWUgxaFlc3Ruw6FjdGtvdsOpIG1hc2t5IG5hbcOtc3RvIHNlem5hbcWvIENQVVxuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSAocHJvYmFibHkgdW5rbm93biBlbmNyeXB0aW9uIHR5cGUpIgorI34gbXNnc3RyICIlczogemHFmcOtemVuw60gbG9vcCBzZSBuZXBvZGHFmWlsbyBuYXN0YXZpdCAoesWZZWptxJsgbmV6bsOhbcO9IGRydWggxaFpZnJvdsOhbsOtKSIKKworI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgInJlbmljZSB6wqAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCisjfiAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorI34gIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKKyN+ICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKKyN+ICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWQsIC0tZGV2aWNlIDx6YcWZw616ZW7DrT4gIHZ5YmVyZSBSVEMgemHFmcOtemVuw60gKHJ0YzB8cnRjMXzigKYpXG4iCisjfiAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBwcm92ZWRlIHbFoWUgYcW+IG5hIHVzcMOhbsOtXG4iCisjfiAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgcG91xb7DrXbDoSBtw61zdG7DrSDEjWFzb3ZvdSB6w7NudVxuIgorI34gIiAtbSwgLS1tb2RlIDxyZcW+aW0+ICAgICAgIHJlxb5pbSBzcMOhbmt1IChzdGFuZGJ5fG1lbXzigKYpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBbcG9ob3Rvdm9zdHxwYW3Em8WlfOKApl1cbiIKKyN+ICIgLXMsIC0tc2Vjb25kcyA8c2VrdW5keT4gIGtvbGlrIHNla3VuZCBidWRlIHNww6F0XG4iCisjfiAiIC10LCAtLXRpbWUgdGltZV90ICAgICAgICDEjWFzIHByb2J1emVuw61cbiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBixJvFvsOtIHbCoFVUQ1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgcG9kcm9ibsOpIHpwcsOhdnlcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICIlcyBuZWx6ZSBzcHVzdGl0IgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5cyB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCisjfiAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKKyN+ICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCisjfiAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorI34gIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorI34gIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKKyN+ICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKKyN+ICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCisjfiAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCisjfiAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKKyN+ICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCisjfiAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorI34gIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2eXBpc3VqZSwga3RlcsOpIHZvbGJ5IGpzb3UgemFww61uw6FueVxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgdnlwbmUgem7DoWhvZG7Em27DrSBwcm9zdG9ydSB2aXJ0dcOhbG7DrWNoIGFkcmVzXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICB1xI1pbsOtIHVrYXphdGVsZSBmdW5rY8OtIHVrYXp1asOtY8OtIG5hIGRlc2tyaXB0b3J5XG4iCisjfiAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB6YXBuZSBNTUFQX1BBR0VfWkVST1xuIgorI34gIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgem3Em27DrSB6cMWvc29iLCBqYWvDvW0gamUgdmlydHXDoWxuw60gcGFtxJvFpSBwxZlpZMSbbG92w6FuYVxuIgorI34gIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgemFwbmUgUkVBRF9JTVBMSUVTX0VYRUNcbiIKKyN+ICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHphcG5lIEFERFJfTElNSVRfMzJCSVRcbiIKKyN+ICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHphcG5lIFNIT1JUX0lOT0RFXG4iCisjfiAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB6YXBuZSBXSE9MRV9TRUNPTkRTXG4iCisjfiAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB6YXBuZSBTVElDS1lfVElNRU9VVFNcbiIKKyN+ICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIG9tZXrDrSBwb3XFvml0w70gYWRyZXNuw60gcHJvc3RvciBocmFuaWPDrSAz4oCvR0JcbiIKKyN+ICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yb3bDoW5vIChqZW4gcHJvIHpwxJt0bm91IGtvbXBhdGliaWxpdHUpXG4iCisjfiAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB6YXBuZSBVTkFNRTI2XG4iCisKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJmdW5rY2UgZXhlY3ZwIHNlbGhhbGEiCisKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImZ1bmtjZSBleGVjdiBzZWxoYWxhIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorI34gIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgb2Rwb2rDrSB2ZcWha2Vyw6kgc291Ym9yb3bDqSBzeXN0w6lteVxuIgorI34gIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBuZW5vcm1hbGl6dWplIGNlc3R5XG4iCisjfiAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGplLWxpIHDFmWlwb2plbm8gbG9vcCB6YcWZw616ZW7DrSwgcm92bsSbxb4gamVqIHV2b2xuw61cbiIKKyN+ICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgemt1xaFlYm7DrSByZcW+aW0sIHDFmWVza2/EjcOtIHN5c3TDqW1vdsOpIHZvbMOhbsOtIHVtb3VudCgyKVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICB2eW51dMOtIG9kcG9qZW7DrSAocHJvIHDFmcOtcGFkIG5lZG9zdHVwbsOpaG8gTkZTKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGFuZCBjbGVhbnVwIGFsbCBsYXRlclxuIgorI34gbXNnc3RyICIiCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG5ldm9sw6EgcG9tb2Nuw6kgcHJvZ3JhbXkgdW1vdW50Ljx0eXA+XG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG5lemFww63FoWUgZG8gL2V0Yy9tdGFiXG4iCisjfiAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIHNvdWJvcm92w70gc3lzdMOpbSBvZHBvasOtIHRlxI8sIHpieXRlayB1a2xpZMOtIHBvemTEm2ppXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBJbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1PLCAtLXRlc3Qtb3B0cyA8c2V6bmFtPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBvbWV6w60gbW5vxb5pbnUgc291Ym9yb3bDvWNoIHN5c3TDqW3FryAocG91xb5pamUgc8KgLWEpXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIHNlbMW+ZS1saSBvZHBvamVuw60sIHprdXPDrSBzb3Vib3JvdsO9IHN5c3TDqW0gcMWZZXBvaml0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIGplbiBwcm8gxI10ZW7DrVxuIgorI34gIiAtdCwgLS10eXBlcyA8c2V6bmFtPiAgICBvbWV6w60gbW5vxb5pbnUgdHlwxa8gc291Ym9yb3bDvWNoIHN5c3TDqW3Fr1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBwb3Bpc3VqZSwgY28gc2UgZMSbamVcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW0sIC0tbW91bnQgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiAiIC11LCAtLXV0cyAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gIiAtaSwgLS1pcGMgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+ICIgLW4sIC0tbmV0ICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1tLCAtLW1vdW50ICAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBwxZnDrXBvam7DvWNoIGJvZMWvXG4iCisjfiAiIC11LCAtLXV0cyAgICAgICAgIG9kZMSbbMOtIGptZW5uw70gcHJvc3RvciBVVFMgKG7DoXpldiBzdHJvamUgYXRkLilcbiIKKyN+ICIgLWksIC0taXBjICAgICAgICAgb2RkxJtsw60gam1lbm7DvSBwcm9zdG9yIFN5c3RlbSBWIElQQ1xuIgorI34gIiAtbiwgLS1uZXQgICAgICAgICBvZGTEm2zDrSBzw63FpW92w70gam1lbm7DvSBwcm9zdG9yXG4iCisKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlLTE1cyVzIFt2ZXJ6ZSAleF1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCisjfiAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCisjfiAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKKyN+ICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCisjfiAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKKyN+ICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCisjfiAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKKyN+ICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCisjfiAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorI34gIiAtTCwgLS1sb2NhbC1saW5lICAgICAgICAgICBmb3JjZSBsb2NhbCBsaW5lXG4iCisjfiAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCisjfiAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCisjfiAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCisjfiAiIC1wLCAtLWxvZ2lucGF1c2UgICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorI34gIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKKyN+ICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorI34gIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCisjfiAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCisjfiAiICAgICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKKyN+ICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCisjfiAiICAgICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCisjfiAiICAgICAtLW5vLWhvc3RuYW1lICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCisjfiAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKKyN+ICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlDFmWVww61uYcSNZTpcbiIKKyN+ICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgcMWZZWRwb2tsw6FkYXQgOGJpdG92w6kgVFRZXG4iCisjfiAiIC1hLCAtLWF1dG9sb2dpbiA8dcW+aXZhdGVsPiBhdXRvbWF0aWNreSBwxZlpaGzDoXPDrSB6YWRhbsOpaG8gdcW+aXZhdGVsZVxuIgorI34gIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBuZXJlc2V0dWplIMWZw61kaWPDrSByZcW+aW1cbiIKKyN+ICIgLWYsIC0taXNzdWUtZmlsZSA8c291Ym9yPiAgem9icmF6w60gc291Ym9yIHPCoHZ5ZMOhbsOtbVxuIgorI34gIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBwb3ZvbMOtIGhhcmR3YXJvdsOpIMWZw616ZW7DrSB0b2t1XG4iCisjfiAiIC1ILCAtLWhvc3QgPG7DoXpldl9zdHJvamU+ICB1csSNw60gbsOhemV2IHN0cm9qZSBwxZlpIHDFmWlobMOhxaFlbsOtXG4iCisjfiAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIG5lem9icmF6w60gc291Ym9yIHPCoHZ5ZMOhbsOtbVxuIgorI34gIiAtSSwgLS1pbml0LXN0cmluZyA8xZlldMSbemVjPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBuYXN0YXbDrSBpbmljaWFsaXphxI1uw60gxZlldMSbemVjXG4iCisjfiAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPHNvdWJvcj5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXLEjcOtIHByb2dyYW0gbG9naW5cbiIKKyN+ICIgLUwsIC0tbG9jYWwtbGluZSAgICAgICAgICAgdnludXTDrSBtw61zdG7DrSBsaW5rdVxuIgorI34gIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICB6w61za8OhIGJhdWQgcmF0ZSB6wqBwxZlpcG9qdWrDrWPDrSBzZSBmw6F6ZVxuIgorI34gIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBuZXB0w6Egc2UgbmEgcMWZaWhsYcWhb3ZhY8OtIGptw6lub1xuIgorI34gIiAtbywgLS1sb2dpbi1vcHRpb25zIDxhcmd1bWVudHk+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFyZ3VtZW50eSwga3RlcsOpIGJ1ZG91IHDFmWVkw6FueSBwcm9ncmFtdSBsb2dpblxuIgorI34gIiAtcCwgLS1sb2dpbnBhdXNlICAgICAgICAgICBwxZllZCB2w716dm91IGvCoHDFmWlobMOhxaFlbsOtIHBvxI1rw6EgbmEgc3Rpc2sga2zDoXZlc3lcbiIKKyN+ICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgcHJvdmVkZSB2aXJ0dcOhbG7DrSB6YXbEm8WhZW7DrSBsaW5reSBuYSBUVFlcbiIKKyN+ICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgcG9rdXPDrSBzZSB1ZHLFvmV0IGJhdWQgcmF0ZSBpwqBwbyB6bmFrdSBicmVha1xuIgorI34gIiAtdCwgLS10aW1lb3V0IDzEjcOtc2xvPiAgICAgIMSNYXNvdsO9IGxpbWl0IHBybyBwxZlpaGzDocWhZW7DrVxuIgorI34gIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICByb3pwb3puw6EgdGVybWluw6FsIHBvZHBvcnVqw61jw60gamVuwqB2ZWxrw6EgcMOtc21lbmFcbiIKKyN+ICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgxI1la8OhIG5hIGNhcnJpYWdlLXJldHVyblxuIgorI34gIiAgICAgLS1ub2NsZWFyICAgICAgICAgICAgICBwxZllZCB2w716dm91IG5lc21hxb5lIG9icmF6b3ZrdVxuIgorI34gIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBuZXpvYnJhesOtIHVwb3pvcm7Em27DrVxuIgorI34gIiAgICAgLS1ub25ld2xpbmUgICAgICAgICAgICBuZW9kxZnDoWRrdWplIHDFmWVkIHbDvXBpc2VtIHZ5ZMOhbsOtXG4iCisjfiAiICAgICAtLW5vLWhvc3RuYW1lICAgICAgICAgIG5lem9icmF6w60gbsOhemV2IHN0cm9qZVxuIgorI34gIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICB6b2JyYXrDrSBwbG7EmyBrdmFsaWZpa292YW7DqSBqbcOpbm8gc3Ryb2plXG4iCisjfiAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIHpvYnJhesOtIHR1dG8gbsOhcG92xJtkdSBhIHNrb27EjcOtXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAidcW+aXZhdGVsw6kiCisKKyN+IG1zZ2lkICIiCisjfiAiIC10ZXJtIDx0ZXJtaW5hbF9uYW1lPlxuIgorI34gIiAtcmVzZXRcbiIKKyN+ICIgLWluaXRpYWxpemVcbiIKKyN+ICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gIiAtZGVmYXVsdFxuIgorI34gIiAtZm9yZWdyb3VuZCA8YmxhY2t8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0PlxuIgorI34gIiAtYmFja2dyb3VuZCA8YmxhY2t8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0PlxuIgorI34gIiAtdWxjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtdWxjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxicmlnaHQgYmx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+ICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+ICIgLWhhbGYtYnJpZ2h0IDxvbnxvZmY+XG4iCisjfiAiIC1ibGluayA8b258b2ZmPlxuIgorI34gIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiAiIC1zdG9yZSA+XG4iCisjfiAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiAiIC10YWJzIDwgdGFiMSB0YWIyIHRhYjMgLi4uID4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gIiAtY2xydGFicyA8IHRhYjEgdGFiMiB0YWIzIC4uLiA+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+ICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+ICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+ICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiAiIC1wb3dlcnNhdmUgPG9ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmY+XG4iCisjfiAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiAiIC12ZXJzaW9uXG4iCisjfiAiIC1oZWxwXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXRlcm0gTsOBWkVWX1RFUk1JTsOBTFVcbiIKKyN+ICIgLXJlc2V0XG4iCisjfiAiIC1pbml0aWFsaXplXG4iCisjfiAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+ICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+ICIgLWRlZmF1bHRcbiIKKyN+ICIgLWZvcmVncm91bmQgPGJsYWNrfGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdD5cbiIKKyN+ICIgLWJhY2tncm91bmQgPGJsYWNrfGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdD5cbiIKKyN+ICIgLXVsY29sb3IgPGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLXVsY29sb3IgPGJyaWdodCBibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaGJjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaGJjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiAiIC1oYWxmLWJyaWdodCA8b258b2ZmPlxuIgorI34gIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+ICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+ICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gIiAtc3RvcmUgPlxuIgorI34gIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorI34gIiAtdGFicyA8dGFiMSB0YWIyIHRhYjPigKY+ICAgICAgKGluZGV4IHRhYnVsw6F0b3J1ID0gMeKAkzE2MClcbiIKKyN+ICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIz4oCmPiAgIChpbmRleCB0YWJ1bMOhdG9ydSA9IDHigJMxNjApXG4iCisjfiAiIC1yZWd0YWJzIDwx4oCTMTYwPlxuIgorI34gIiAtYmxhbmsgPDDigJM2MHxmb3JjZXxwb2tlPlxuIgorI34gIiAtZHVtcCAgIDwx4oCTUE/EjEVUX0tPTlpPTD5cbiIKKyN+ICIgLWFwcGVuZCA8MeKAk1BPxIxFVF9LT05aT0w+XG4iCisjfiAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorI34gIiAtbXNnIDxvbnxvZmY+XG4iCisjfiAiIC1tc2dsZXZlbCA8MOKAkzg+XG4iCisjfiAiIC1wb3dlcnNhdmUgPG9ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmY+XG4iCisjfiAiIC1wb3dlcmRvd24gPDDigJM2MD5cbiIKKyN+ICIgLWJsZW5ndGggPDDigJMyMDAwPlxuIgorI34gIiAtYmZyZXEgxIzDjVNMT19GUkVLVkVOQ0VcbiIKKyN+ICIgLXZlcnNpb25cbiIKKyN+ICIgLWhlbHBcbiIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAicMWZw61sacWhIG1ub2hvIGlvdiAoem3Em8WIdGUga8OzZCB2ZSB3YWxsL3R0eW1zZy5jKSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yLiIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSB6w6FwaXN1LiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvdcW+aXTDrTogJXMgW1DFmEVQw41OQcSMRV0gW1NPVUJPUuKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCisjfiAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorI34gIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gdGFibGUgZGVsaW1ldGVyXG4iCisjfiAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgem9icmF6w60gdGVudG8gbsOhcG92xJtkbsO9IHRleHRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIHpvYnJhesOtIMO6ZGFqZSBvwqB2ZXJ6aSBhIHNrb27EjcOtXG4iCisjfiAiIC1jLCAtLWNvbHVtbnMgxaDDjcWYS0EgICAgICDFocOtxZlrYSB2w71zdHVwdSB2ZSB6bmFjw61jaFxuIgorI34gIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgdnl0dm/FmcOtIHRhYnVsa3VcbiIKKyN+ICIgLXMsIC0tc2VwYXJhdG9yIMWYRVTEmlpFQyAgb2RkxJtsb3ZhxI0gdGFidWxreVxuIgorI34gIiAteCwgLS1maWxscm93cyAgICAgICAgICAgcMWZZWQgc2xvdXBjaSB2eXBsbsOtIMWZw6Fka3lcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgY29sdW1uKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSBuYWxlem5ldGUgdsKgY29sdW1uKDEpLlxuIgorCisjIG1vcmUgaXMgbGl0ZXJhbCBuYW1lIG9mIHRoZSB0b29sCisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1vcmUgKCVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICVzIFtQxZhFUMONTkHEjEVdIFtTT1VCT1LigKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXQsIC0tdGVybWluYWwgVEVSTUlOQUwgICAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKKyN+ICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC10LCAtLXRlcm1pbmFsIFRFUk1JTsOBTCAgICBwxZllYmlqZSBwcm9txJtubm91IHByb3N0xZllZMOtIFRFUk1cbiIKKyN+ICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgcG9kdHLFvmVuw60gamUgdnl6bmHEjWVubyBzYW1vc3RhdG7DvW0gxZnDoWRrZW1cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgem9icmF6w60gw7pkYWplIG/CoHZlcnppIGEgc2tvbsSNw61cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1IGEgc2tvbsSNw61cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgInZvbMOhbsOtIHN0YXQgbmEgc291Ym9ydSAlcyBzZWxoYWxvIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBpbnRvIGRpclxuIgorI34gIiAtdiAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorI34gIiBmaWxlICAgICAgIGZpbGUgdG8gdGVzdFxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlcyBbLWh2XSBbLXggQURSRVPDgcWYXSBTT1VCT1JcbiIKKyN+ICIgLWggICAgICAgICAgdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1XG4iCisjfiAiIC14IEFEUkVTw4HFmCAgZXh0cmFodWplIGRvIEFEUkVTw4HFmEVcbiIKKyN+ICIgLXYgICAgICAgICAgcG9kcm9ibsSbasWhw60gaGzDocWha3lcbiIKKyN+ICIgU09VQk9SICAgICAga29udHJvbG92YW7DvSBzb3Vib3JcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFstbGFydnNtZl0gTsOBWkVWX1pBxZjDjVpFTsONXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgInZvbMOhbsOtIHN0YXQgcHJvIHphxZnDrXplbsOtICVzIHNlbGhhbG8iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYmxvY2tzaXplIGFyZ3VtZW50IgorI34gbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IGFyZ3VtZW50IHZlbGlrb3N0aSBibG9rdSIKKworI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgImNoeWJhOiBuZWJ1ZGUgc2UgemtvdcWhZXQgdnl0dm/FmWl0IG9ka2zDoWRhY8OtIHphxZnDrXplbsOtIG5hIOKAniVz4oCcIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgIsWYw61kaWPDrSBzeXJvdsOpIHphxZnDrXplbsOtIOKAniVz4oCcIG5lbHplIG90ZXbFmcOtdCAoJXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIFtQxZhFUMONTkHEjEVdIDxaQcWYw41aRU7DjT5cbiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHN3YXBsYWJlbCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHZlIHN3YXBsYWJlbCg4KS5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiU291Ym9yIOKAniVz4oCcIG5lbHplIG90ZXbFmcOtdCIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUZW50byBkaXNrIG3DoSBtYWdpY2vDqSBzaWduYXR1cnkgRE9TVSBpIEJTRC5cbiIKKyN+ICJQcm8gdnN0dXAgZG8gQlNEIHJlxb5pbXUgcG91xb5panRlIHDFmcOta2F6IOKAnmLigJwuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIkRpc2tvdsO9IG9kZMOtbCAlaSBuZXphxI3DrW7DoSBuYSBocmFuaWNpIGN5bGluZHJ1OlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgIm3Em2xvIGJ5IGLDvXQgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibcSbbG8gYnkgYsO9dCAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJUb3RvIGrDoWRybyBkZXRla3VqZSB2ZWxpa29zdCBzZWt0b3J1IGF1dG9tYXRpY2t5IC0gcMWZZXDDrW5hxI0gLWIgaWdub3JvdsOhblxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAibmVkb3N0YXRlayBwYW3Em3RpP1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwxZllZMSNYXNuw70ga29uZWMgdnN0dXB1XG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJWQVJPVsOBTsONOiAlcyBzZSBuZXBvZGHFmWlsbyBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBiYWQgZm9ybWF0IG9uIGxpbmUgJWQgb2YgJXMiCisjfiBtc2dzdHIgIlZBUk9Ww4FOw406IGNoeWJuw70gZm9ybcOhdCBuYSDFmcOhZGt1ICVkIHNvdWJvcnUgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogWW91ciAvZXRjL2ZzdGFiIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZzY2sgcGFzc25vXG4iCisjfiAiXHRmaWVsZC4gIEkgd2lsbCBrbHVkZ2UgYXJvdW5kIHRoaW5ncyBmb3IgeW91LCBidXQgeW91XG4iCisjfiAiXHRzaG91bGQgZml4IHlvdXIgL2V0Yy9mc3RhYiBmaWxlIGFzIHNvb24gYXMgeW91IGNhbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZBUk9Ww4FOw406IFbDocWhIC9ldGMvZnN0YWIgbmVvYnNhaHVqZSBwb2xvxb5rdSBzwqBwb8WZYWTDrW0ga29udHJvbHkgW3Bhc3Nub10uXG4iCisjfiAiXHROxJtqYWsgc2Ugc8KgdMOtbSBwb3BlcnUsIGFsZSB2eSBieXN0ZSBtxJtsaSAvZXRjL2ZzdGFiIG9wcmF2aXRcbiIKKyN+ICJcdGNvIG5lamTFmcOtdmUuXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICIlcyBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAvZGV2L3BvcnQiCisjfiBtc2dzdHIgIi9kZXYvcG9ydCBuZWx6ZSBvdGV2xZnDrXQiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgImVwb2NodSBzZSBuZXpkYcWZaWxvIHJvemVicmF0IgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlIHNwZWNpZmllZCBtdWx0aXBsZSBmdW5jdGlvbnMuXG4iCisjfiAiWW91IGNhbiBvbmx5IHBlcmZvcm0gb25lIGZ1bmN0aW9uIGF0IGEgdGltZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJaYWRhbCBqc3RlIHbDrWNlcm8gZnVua8SNbsOtY2ggcMWZZXDDrW5hxI3Fry5cbiIKKyN+ICJQcm9ncmFtIG3Fr8W+ZSBwcm92w6lzdCB2wqBqZWRlbiBva2Ftxb5payBwcsOhdsSbIGplZG51IGZ1bmtjaS4iCisKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIlDFmWVww61uYcSNZSAtLXV0YyBhIC0tbG9jYWx0aW1lIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrS4gWmFkYWxpIGpzdGUgb2JhLiIKKworI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiUMWZZXDDrW5hxI1lIC0tYWRqdXN0IGEgLS1ub2FkamZpbGUgc2UgdnrDoWplbW7EmyB2eWx1xI11asOtLiBaYWRhbGkganN0ZSBvYmEuIgorCisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiUMWZZXDDrW5hxI1lIC0tYWRqZmlsZSBhIC0tbm9hZGpmaWxlIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrS4gWmFkYWxpIGpzdGUgb2JhLiIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICIlcyBuZWJ5bG8gbW/Fvm7DqSBvdGV2xZnDrXQuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzIG5lbHplIG90ZXbFmcOtdCIKKworI34gbXNnaWQgImVycm9yOiBjYW5ub3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiY2h5YmE6IG5lbHplIG90ZXbFmcOtdCAlcyIKKworI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIGZvciByZWFkaW5nLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAiJXMgbmVsemUgb3RldsWZw610IHBybyDEjXRlbsOtLCBrb27EjcOtbS4iCisKKyN+IG1zZ2lkICJjYW5ub3QgbG9jayBncm91cCBmaWxlIgorI34gbXNnc3RyICJzb3Vib3Igc2Ugc2t1cGluYW1pIG5lbHplIHphbWtub3V0IgorCisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgIiVzIHNvdWJvciBzZSBwcsOhdsSbIHBvdcW+w612w6EgKG5hbGV6ZW4gJXMpIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIExBQkVMPTxsYWJlbD58VVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBMQUJFTD08Sk1FTk9WS0E+fFVVSUQ9PFVVSUQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2ZSBmaW5kbW50KDEpLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpZ3ZhbCIKKyN+IG1zZ3N0ciAibmV6ZGHFmWlsbyByb3plYnJhdCBob2Rub3R1IHNpZ27DoWx1IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoGxzYmxrKDgpLlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInphZMOhbmEgbmVwbGF0bsOhIGhvZG5vdGEgcG96aWNlIOKAniVz4oCcIgorCisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAicG96b3I6IG10YWIgc2UgbmVwb2RhxZlpbG8gbmHEjcOtc3QiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MgZGF0YSIKKyN+IG1zZ3N0ciAibmV6ZGHFmWlsbyByb3plYnJhdCBkYXRhIHTFmcOtZHkiCisKKyN+IG1zZ2lkICJjb25maWd1cmUsIGRlY29uZmlndXJlLCBkaXNhYmxlLCBkaXNwYXRjaCwgZW5hYmxlIGFuZCByZXNjYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAibmFzdGF2ZW7DrSwgb2RuYXN0YXZlbsOtLCB2eXBudXTDrSwgcmXFvmltIHJvemhvZG92w6Fuw60sIHphcG51dMOtIGEgemFow6FqZW7DrSBobGVkw6Fuw60gc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjfiBtc2dpZCAiY2xlYXIsIHJlYWQtY2xlYXIsIGNvbnNvbGUtbGV2ZWwsIGNvbnNvbGUtb24sIGFuZCBjb25zb2xlLW9mZiBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgInDFmWVww61uYcSNZSBjbGVhciwgcmVhZC1jbGVhciwgY29uc29sZS1sZXZlbCwgY29uc29sZS1vbiBhbmQgY29uc29sZS1vZmYgc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICJuZXpkYcWZaWxvIHNlIHJvemVicmF0IHZlbGlrb3N0IGJ1ZmZlcnUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZhbGxvY2F0ZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHZlIGZhbGxvY2F0ZSgxKS5cbiIKKworI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiB2b2zDoW7DrSBmc3RhdCBzZWxoYWxvIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc3RyaW0oOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2wqBmc3RyaW0oOCkuXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICJuZXBsYXRuw6EgcnljaGxvc3QiCisKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiemFkw6FuYSBuZXBsYXRuw6EgcG96aWNlIOKAniVz4oCcIgorCisjfiBtc2dpZCAiaW52YWxpZCBzaXplICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJ6YWTDoW5hIG5lcGxhdG7DoSB2ZWxpa29zdCDigJ4lc+KAnCIKKworI34gbXNnaWQgImV4dGVuZGVkIGFuZCBwYXJzYWJsZSBmb3JtYXRzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgInJvesWhw63FmWVuw70gYSByb3plYnJhdGVsbsO9IGZvcm3DoXQgc2UgdnrDoWplbW7EmyB2eWx1xI11asOtIgorCisjfiBtc2dpZCAiLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorI34gbXNnc3RyICJhcmd1bWVudHkgLS1hbGwsIC0tb25saW5lIGEgLS1vZmZsaW5lIHNlIHZ6w6FqZW1uxJsgdnlsdcSNdWrDrSIKKworI34gbXNnaWQgIm9ubHkgb25lIDxzb3VyY2U+IG1heSBiZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInBvdXplIGplZGVuIDx6ZHJvaj4gc23DrSBiw710IHphZMOhbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzb3VyY2UgYnVmZmVyIgorI34gbXNnc3RyICJwYW3Em8WlIHBybyB6ZHJvaiBuZWx6ZSBhbG9rb3ZhdCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnRwb2ludCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvZHJvYm5vc3RpIG5hbGV6bmV0ZSB2wqBtb3VudHBvaW50KDEpLlxuIgorCisjfiBtc2dpZCAib25seSB1c2Ugb25lIFBJRCBhdCBhIHRpbWUiCisjfiBtc2dzdHIgIm5hamVkbm91IGx6ZSBwb3XFvsOtdCBwb3V6ZSBqZWRlbiBQSUQiCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJQSUQgbmVsemUgcm96ZWJyYXQiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2Vjb25kcyB2YWx1ZSIKKyN+IG1zZ3N0ciAibmV6ZGHFmWlsbyBzZSByb3plYnJhdCBob2Rub3R1IHNla3VuZCIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgIm5lemRhxZlpbG8gc2Ugcm96ZWJyYXQgaG9kbm90dSB0aW1lX3QiCisKKyN+IG1zZ2lkICInJXMnIGlzIHVuc3VwcG9ydGVkIHByb2dyYW0gbmFtZSAobXVzdCBiZSAnc3dhcG9uJyBvciAnc3dhcG9mZicpLiIKKyN+IG1zZ3N0ciAi4oCeJXPigJwgbmVuw60gbsOhemV2IHBvZHBvcm92YW7DqWhvIHByb2dyYW11IChtdXPDrSBiw710IOKAnnN3YXBvbuKAnCBuZWJvIOKAnnN3YXBvZmbigJwpLiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gc3RhdCBuYWQgYWRyZXPDocWZZW0gc2VsaGFsbyIKKworI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gc3RhdCBuYWQgYWRyZXPDocWZZW0gJXMgc2VsaGFsbyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICLEjWFzb3bDvSBzb3Vib3IgJXMgbmVsemUgb3RldsWZw610IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2JsaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvZHJvYm5vc3RpIG5hbGV6bmV0ZSB2wqBsc2JsaygxKS5cbiIKKworI34gbXNnaWQgImFyZ3VtZW50ICVsdSBpcyB0b28gbGFyZ2UiCisjfiBtc2dzdHIgImFyZ3VtZW50ICVsdSBqZSBwxZnDrWxpxaEgdmVsa8O9IgorCisjfiBtc2dpZCAiYmFkIGNvbHVtbnMgd2lkdGggdmFsdWUiCisjfiBtc2dzdHIgImNoeWJuw6EgaG9kbm90YSBwb8SNdHUgc2xvdXBjxa8iCisKKyN+IG1zZ2lkICItJWMgcG9zaXRpdmUgaW50ZWdlciBleHBlY3RlZCBhcyBhbiBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiLSVjOiBqYWtvIGFyZ3VtZW50IHNlIG/EjWVrw6F2w6Ega2xhZG7DqSBjZWzDqSDEjcOtc2xvIgorCisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiY2h5Ym7DoSBob2Rub3RhIGTDqWxreSIKKworI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJjaHlibsOhIGhvZG5vdGEgcMWZZXNrb8SNZW7DrSB6YcSNw6F0a3UiCisKKyN+IG1zZ2lkICIlczogVXNhZ2U6ICVzIFstbnVtYmVyXSBbLXAgc3RyaW5nXSBbLWNlZm5yc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorI34gbXNnc3RyICIlczogUG91xb5pdMOtOiAlcyBbLcSMw41TTE9dIFstcCDFmEVUxJpaRUNdIFstY2VmbnJzXSBbK8WYw4FERUtdIFsrL1ZaT1JFSy9dIFtTT1VCT1LigKZdXG4iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAiCisjfiBtc2dzdHIgIk5lbHplIG90ZXbFmcOtdCAiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHJlYWQiCisjfiBtc2dzdHIgIuKAniVz4oCcICBuZWx6ZSBvdGV2xZnDrXQgcHJvIMSNdGVuw60iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBcIiVzXCIiCisjfiBtc2dzdHIgIm/CoOKAniVz4oCcIG5lbHplIHrDrXNrYXQgcG9kcm9ibm9zdGkiCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIHNtYXphdCBCU0Qgb2Rkw61sIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgdnl0dm/FmWl0IG5vdsO9IEJTRCBvZGTDrWwiCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgIHptxJtuw60gSUQgc3lzdMOpbXUgc291Ym9yxa8gZGFuw6lobyBvZGTDrWx1IgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgem3Em27DrSBqZWRub3RreSAoY3lsaW5kcnkvc2VrdG9yeSkiCisKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgcCAgIHZ5cMOtxaFlIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3UiCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWeXR2w6HFmcOtbSBub3ZvdSBET1NPVk9VIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3Ugc8KgaWRlbnRpZmlrw6F0b3JlbSAweCUwOHguXG4iCisjfiAiWm3Em255IGJ1ZG91IHVsb8W+ZW55IHBvdXplIHbCoHBhbcSbdGksIGRva3VkIHNlIG5lcm96aG9kbmV0ZSBqZSB1bG/Fvml0IG5hIGRpc2suXG4iCisjfiAiUG90w6kgamnFviBuZWJ1ZG91IHN0YXLDoSBkYXRhIHBvY2hvcGl0ZWxuxJsgZG9zdHVwbsOhLlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICIiCisjfiAiWmHFmcOtemVuw60gbmVvYnNhaHVqZSBhbmkgRE9TT1ZPVSB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1LCBhbmkgU1VOIMSNaSBTR0kgcG9waXNcbiIKKyN+ICJkaXNrdVxuIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiVm5pdMWZbsOtIGNoeWJhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRTb3JyeSwgbm8gZXhwZXJ0cyBtZW51IGZvciBTR0kgcGFydGl0aW9uIHRhYmxlcyBhdmFpbGFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdFBybyBTR0kgb2Rkw61seSBuZWpzb3UgayBkaXNwb3ppY2kgxb7DoWRuw6kgcm96xaFpxZl1asOtY8OtIGZ1bmtjZS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkRvIFlvdSBrbm93LCBZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2s/XG4iCisjfiBtc2dzdHIgIlbDrXRlLCDFvmUgbmEgdmHFoWVtIGRpc2t1IHNlIG9kZMOtbHkgcMWZZWtyw712YWrDrT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLiBDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LFxuIgorI34gInVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4gQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXNcbiIKKyN+ICJjb250ZW50IHdpbGwgYmUgdW5yZWNvdmVyYWJseSBsb3N0LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVnl0dsOhxZnDrW0gbm92w70gU0dJIHBvcGlzIGRpc2t1LiBabcSbbnkgYnVkb3UgdWxvxb5lbnkgcG91emUgZG8gcGFtxJt0aSxcbiIKKyN+ICJkb2t1ZCBzZSBuZXJvemhvZG5ldGUgamUgdWxvxb5pdCBuYSBkaXNrLiBQb3TDqSBqacW+IG5lYnVkb3Ugc3RhcsOhIGRhdGFcbiIKKyN+ICJwb2Nob3BpdGVsbsSbIGRvc3R1cG7DoS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAibmVkb3N0YXRlayBwYW3Em3RpIC0ga29uxI3DrW1cbiIKKworI34gbXNnaWQgIiUtMjBzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiUtMjBzOiBuZcO6c3DEm2NoOiAlc1xuIgorCisjfiBtc2dpZCAiJS0yMHM6IGZhaWxlZFxuIgorI34gbXNnc3RyICIlLTIwczogbmXDunNwxJtjaFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoG1vdW50KDgpLlxuIgorCisjfiBtc2dpZCAibG9naW46IG1lbW9yeSBsb3csIGxvZ2luIG1heSBmYWlsXG4iCisjfiBtc2dzdHIgImxvZ2luOiBuZWRvc3RhdGVrIHBhbcSbdGksIHDFmWlobMOhxaFlbsOtIHNlIG5lbXVzw60gemRhxZlpdFxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciB0dHljbGFzcyIKKyN+IG1zZ3N0ciAicGFtxJvFpSBwcm8gdHR5Y2xhc3MgbmVsemUgYWxva292YXQiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgInBhbcSbxaUgcHJvIGdycGxpc3QgbmVsemUgYWxva292YXQiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAiUMWZaWhsw6HFoWVuw60geiAkMiVzIG5hICQxJXMgb2Rtw610bnV0by5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1mIGZ1bGwtbmFtZSBdIFsgLW8gb2ZmaWNlIF0gIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFsgLWYgcGxuw6ktam3DqW5vIF0gWyAtbyBrYW5jZWzDocWZIF0gIgorCisjfiBtc2dpZCAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLSB2ZXJzaW9uIF1cbiIKKworI34gbXNnaWQgIiVzOiBQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorI34gbXNnc3RyICIlczogY2h5YmEgUEFNLCBrb27EjcOtIHNlOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXMgc2hlbGxdIFt1c2VybmFtZV1cbiIKKyN+ICIgICBvcjogJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvdcW+aXTDrTogJTEkcyBbLXMgU0hFTExdIFtVxb1JVkFURUxTS8OJX0pNw4lOT11cbiIKKyN+ICIgICBuZWJvOiAlMSRzICgtLWxpc3Qtc2hlbGxzIHwgLS1oZWxwIHwgLS12ZXJzaW9uKVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IG3Em25pdCBsemUgcG91emUgbcOtc3Ruw60gesOhem5hbXkuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yIC9ldGMvcGFzc3dkIgorI34gbXNnc3RyICIlczogbmVsemUgbmFzdGF2aXQgdsO9Y2hvesOtIGtvbnRleHQgcHJvIC9ldGMvcGFzc3dkIgorCisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJmdW5rY2Ugc2V0cHduYW0gc2VsaGFsYSIKKworI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogU2V6bmFtIHZ5cMOtxaFldGUgcMWZZXDDrW5hxI1lbSAtbC5cbiIKKworI34gbXNnaWQgIlVzZSAlcyAtbCB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiUG91xb5panRlICVzIC1sIHBybyB2eXBzw6Fuw60gc2V6bmFtdVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2luIFstZnBdIFt1c2VybmFtZV1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiBsb2dpbiBbZnBdIFt1xb5pdmF0ZWxza8OpIGptw6lub11cbiIKKworI34gbXNnaWQgIklsbGVnYWwgdXNlcm5hbWUiCisjfiBtc2dzdHIgIkNoeWJuw6kgdcW+aXZhdGVsc2vDqSBqbcOpbm8iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJQxZhJSEzDgcWgRU7DjSBVxb1JVkFURUxFICVzIFogJXMgTkEgVFRZICVzIE9ETcONVE5VVE8iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiUMWYSUhMw4HFoEVOw40gVcW9SVZBVEVMRSAlcyBOQSBUVFkgJXMgT0RNw41UTlVUTyIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJDaHlibsOpIHDFmWlobMOhxaFlbsOtXG4iCisKKyN+IG1zZ2lkICJjaGFuZ2UgdGVybWluYWwgb3duZXIgZmFpbGVkIgorI34gbXNnc3RyICJuZXBvZGHFmWlsbyBzZSB6bcSbbml0IHZsYXN0bsOta2EgdGVybWluw6FsdSIKKworI34gbXNnaWQgImZhaWx1cmUgZm9ya2luZyIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gZm9yayBzZWxoYWxvIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQxZlpaGxhxaFvdmFjw60gam3DqW5vIG5hICVzOiAiCisKKyN+IG1zZ2lkICJOQU1FIHRvbyBsb25nIgorI34gbXNnc3RyICJKTcOJTk8gamUgcMWZw61sacWhIGRsb3Vow6kiCisKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuIgorI34gbXNnc3RyICJwxZlpaGxhxaFvdmFjw60gam3DqW5vIGplIHDFmcOtbGnFoSBkbG91aMOpLiIKKworI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuIgorI34gbXNnc3RyICJwxZlpaGxhxaFvdmFjw60gam3DqW5hIG5lc23DrSB6YcSNw61uYXQgbmEg4oCeLeKAnC4iCisKKyN+IG1zZ2lkICJFWENFU1NJVkUgbGluZWZlZWRzIgorI34gbXNnc3RyICJQxZjDjUxJxaAgbW5vaG8gem5ha8WvIG9kxZnDoWRrb3bDoW7DrSIKKworI34gbXNnaWQgInRvbyBtYW55IGJhcmUgbGluZWZlZWRzLiIKKyN+IG1zZ3N0ciAicMWZw61sacWhIG1ub2hvIHpuYWvFryBvZMWZw6Fka292w6Fuw60uIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiQ0hZQk7DiSBQxZhJSEzDgcWgRU7DjSBVxb1JVkFURUxFICUyJHMgWiAlMSRzIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIkNIWUJOw4kgUMWYSUhMw4HFoEVOw40gVcW9SVZBVEVMRSAlMiRzIE5BIFRUWSAlMSRzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIlBPxIxFVCBDSFlCTsOdQ0ggUMWYSUhMw4HFoEVOw40gVcW9SVZBVEVMRSAlMyRzIFogJTIkczogJTEkZCIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiUE/EjEVUIENIWUJOw51DSCBQxZhJSEzDgcWgRU7DjSBVxb1JVkFURUxFICUzJHMgTkEgVFRZICUyJHM6ICUxJGQiCisKKyN+IG1zZ2lkICIlczogdGhlIGdyb3VwIGZpbGUgaXMgYnVzeS5cbiIKKyN+IG1zZ3N0ciAiJXM6IHNvdWJvciBzZSBza3VwaW5hbWkgc2UgcHLDoXbEmyBwb3XFvsOtdsOhLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBuZWx6ZSBvZGVta25vdXQ6ICVzIChWYcWhZSB6bcSbbnkganNvdSBzdMOhbGUgdiAlcylcbiIKKworI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImZ1bmtjZSBjYWxsb2Mgc2VsaGFsYSIKKworI34gbXNnaWQgIldBUk5JTkc6ICVzOiBhcHBlYXJzIHRvIGNvbnRhaW4gJyVzJyBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIlBPWk9SOiAlczogemTDoSBzZSwgxb5lIG9ic2FodWplIHRhYnVsa3Ugcm96ZMSbbGVuw60gZGlza3Ug4oCeJXPigJwiCisKKyN+IG1zZ2lkICJubyBtYWdpYyBzdHJpbmcgZm91bmQgYXQgb2Zmc2V0IDB4JWp4IC0tIGlnbm9yZWQiCisjfiBtc2dzdHIgIm5hIHBvemljaSAweCVqeCBuZWJ5bCBuYWxlemVuIMW+w6FkbsO9IG1hZ2lja8O9IMWZZXTEm3plY8Kg4oCTIGlnbm9ydWplIHNlIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHrDoXBpcyBzZSBuZXpkYcWZaWwiCisKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlczogYWRyZXPDocWZIC9kZXYgbmVleGlzdHVqZS4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiB6YcWZw616ZW7DrSAlcyBuZWx6ZSBuYXN0YXZpdCBrYXBhY2l0dTogJXNcbiIKKworI34gbXNnaWQgIiwgb2Zmc2V0ICU8UFJJdTY0PiIKKyN+IG1zZ3N0ciAiLCBvZHNhemVuw60gJTxQUkl1NjQ+IgorCisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiLCDFoWlmcm92YWPDrSB0eXAgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogaW5mb3JtYWNlIG8gemHFmcOtemVuw60gJXMgbmVsemUgesOtc2thdDogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiB6YcWZw616ZW7DrSAlcyBuZWx6ZSBvdGV2xZnDrXQ6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogbm8gcGVybWlzc2lvbiB0byBsb29rIGF0IC9kZXYvbG9vcCVzPE4+IgorI34gbXNnc3RyICIlczogY2h5YsOtIG9wcsOhdm7Em27DrSBuYSBwcm9obMOpZG51dMOtIC9kZXYvbG9vcCVzPE4+IgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiDFvcOhZG7DqSBsb29wIHphxZnDrXplbsOtIG5lbHplIG5hbMOpenQgVG90byBqw6Fkcm8gbW/Fvm7DoVxuIgorI34gIiAgICAgICBuZXpuw6EgbG9vcCB6YcWZw616ZW7DrT8gKFBva3VkIGplIHRvbXUgdGFrLCBwYWsgamVqIHpub3Z1IHDFmWVsb8W+dGUsXG4iCisjfiAiICAgICAgIMSNaSB6a3VzdGUg4oCebW9kcHJvYmUgbG9vcOKAnC4pIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIkLEm2hlbSDEjXRlbsOtIGhlc2xhIGRvxaFsYSBwYW3Em8WlIgorCisjfiBtc2dpZCAid2FybmluZzogJXMgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAidmFyb3bDoW7DrTogJXMgamUgamnFviBzcG9qZW5vIHPCoCVzXG4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgInZhcm92w6Fuw606ICVzOiBqZSBjaHLDoW7Em25vIHByb3RpIHrDoXBpc3UsIHDFmWlwb2p1amkgcG91emUgcHJvIMSNdGVuw60uXG4iCisKKyN+IG1zZ2lkICJpb2N0bCBMT09QX1NFVF9GRCBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgInNlbGhhbG8gaW9jdGwgTE9PUF9TRVRfRkQ64oCvJXNcbiIKKworI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogw7pzcMSbY2hcbiIKKworI34gbXNnaWQgImRlbF9sb29wKCVzKTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJkZWxfbG9vcCglcyk6IMO6c3DEm2NoXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiB6YcWZw616ZW7DrSAlcyBuZWx6ZSBzbWF6YXQ6ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiVGVudG8gcHJvZ3JhbSBieWwgcMWZZWxvxb5lbiBiZXogcG9kcG9yeSBwcm8gbG9vcC4gUMWZZWxvxb50ZSBqZWogem5vdnUuXG4iCisKKyN+IG1zZ2lkICJzdG9sZW4gbG9vcD0lcy4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJ1a3JhZGVuw70gbG9vcD0lc+KApsKgemtvdcWhw61tIHpub3Z1XG4iCisKKyN+IG1zZ2lkICJObyBsb29wIHN1cHBvcnQgd2FzIGF2YWlsYWJsZSBhdCBjb21waWxlIHRpbWUuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIlBvZHBvcmEgcHJvIGxvb3AgbmVieWxhIHDFmWkgcMWZZWtsYWR1IHphZMOhbmEuIFDFmWVsb8W+dGUgcHJvZ3JhbSB6bm92dS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWw61jZSBpbmZvcm1hY8OtIG5hbGV6bmV0ZSB2wqBwYXJ0eCg4KS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIGhvZG5vdGFdfFstUyBob2Rub3RhXSkgKFstdCBob2Rub3RhXXxbLVQgaG9kbm90YV0pIFstZ3wtR10gc291Ym9yIFtzb3Vib3LigKZdXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBuZWx6ZSBvdGV2xZnDrXQ6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zICAtLXNoYXJlZCAgICAgR2V0IGEgc2hhcmVkIGxvY2tcbiIKKyN+ICIgLXggIC0tZXhjbHVzaXZlICBHZXQgYW4gZXhjbHVzaXZlIGxvY2tcbiIKKyN+ICIgLXUgIC0tdW5sb2NrICAgICBSZW1vdmUgYSBsb2NrXG4iCisjfiAiIC1uICAtLW5vbmJsb2NrICAgRmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCisjfiAiIC13ICAtLXRpbWVvdXQgICAgV2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCisjfiAiIC1vICAtLWNsb3NlICAgICAgQ2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKKyN+ICIgLWMgIC0tY29tbWFuZCAgICBSdW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKKyN+ICIgLWggIC0taGVscCAgICAgICBEaXNwbGF5IHRoaXMgdGV4dFxuIgorI34gIiAtViAgLS12ZXJzaW9uICAgIERpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtcyAgLS1zaGFyZWQgICAgIFrDrXNrw6Egc2TDrWxlbsO9IHrDoW1la1xuIgorI34gIiAgLXggIC0tZXhjbHVzaXZlICBaw61za8OhIHbDvWx1xI1uw70gesOhbWVrXG4iCisjfiAiICAtdSAgLS11bmxvY2sgICAgIE9kc3RyYW7DrSB6w6FtZWtcbiIKKyN+ICIgIC1uICAtLW5vbmJsb2NrICAgTcOtc3RvIMSNZWvDoW7DrSBzZWzFvmVcbiIKKyN+ICIgIC13ICAtLXRpbWVvdXQgICAgxIxla8OhIG5lanbDvcWhZSB6YWRhbm91IGRvYnVcbiIKKyN+ICIgIC1vICAtLWNsb3NlICAgICAgUMWZZWQgc3B1xaF0xJtuw61tIHDFmcOta2F6dSB1emF2xZllIGRlc2tyaXB0b3Igc291Ym9ydVxuIgorI34gIiAgLWMgIC0tY29tbWFuZCAgICBTcHVzdMOtIMWZZXTEm3plYyBqYWtvIGplZGluw70gcMWZw61rYXogc2hlbGx1XG4iCisjfiAiICAtaCAgLS1oZWxwICAgICAgIFpvYnJhesOtIHRlbnRvIHRleHRcbiIKKyN+ICIgIC1WICAtLXZlcnNpb24gICAgWm9icmF6w60gdmVyemlcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBzb3Vib3IgesOhbWt1ICVzIG5lbHplIG90ZXbFmcOtdDogJXNcbiIKKworI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogY2h5Ym7DqSDEjcOtc2xvOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICIlczogdm9sw6Fuw60gZm9yayBzZWxoYWxvOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTSA8c2l6ZT4gICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKKyN+ICIgLVMgPG5zZW1zPiAgICBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG5zZW1zPiBlbGVtZW50c1xuIgorI34gIiAtUSAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCisjfiAiIC1wIDxtb2RlPiAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU0gVkVMSUtPU1QgICB2eXR2b8WZw60gc2TDrWxlbsO9IHBhbcSbxaVvdsO9IHNlZ21lbnQgb8KgdmVsaWtvc3QgVkVMSUtPU1RcbiIKKyN+ICIgLVMgUE/EjEVUICAgICAgdnl0dm/FmcOtIHBvbGUgc2VtYWZvcnUgc8KgUE/EjFRFTSBwcnZrxa9cbiIKKyN+ICIgLVEgICAgICAgICAgICB2eXR2b8WZw60gZnJvbnR1IHpwcsOhdlxuIgorI34gIiAtcCBNw5NEICAgICAgICBwcsOhdmEgcHJvIHpkcm9qICh2w71jaG96w60ganNvdSAwNjQ0KVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBpcGNtaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvZHJvYm5vc3RpIG5hbGV6bmV0ZSB2wqBpcGNtaygxKS5cbiIKKworI34gbXNnaWQgImNhbm5vdCByZW1vdmUgaWQgJXMgKCVzKVxuIgorI34gbXNnc3RyICJpZCAlcyBuZWx6ZSBvZHN0cmFuaXQgKCVzKVxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgIlphdnJob3ZhbsO9IHpwxa9zb2IgcG91xb5pdMOtOiAlcyBbc2htIHwgbXNnIHwgc2VtXSBpZOKAplxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIFsgWy1xIElEX1pQUsOBVlldIFstbSBJRF9TRMONTEVOw4lfUEFNxJpUSV0gWy1zIElEX1NFTUFGT1JVXVxuIgorI34gIiAgICAgICAgICAgIFstUSBLTMONxIxfWlBSw4FWWV0gWy1NIEtMw43EjF9TRMONTEVOw4lfUEFNxJpUSV0gWy1TIEtMw43EjF9TRU1BRk9SVV0g4oCmIF1cbiIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4ga2V5IgorI34gbXNnc3RyICJuZXpuw6Ftw6EgY2h5YmEgdiBrbMOtxI1pIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBpZCIKKyN+IG1zZ3N0ciAibmV6bsOhbcOhIGNoeWJhIHbCoGlkIgorCisjfiBtc2dpZCAiJXM6ICVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLWFzbXFdIFstdHwtY3wtbHwtdXwtcF1cbiIKKyN+ICIgICAgICAgJTEkcyBbLXN8LW18LXFdIC1pIGlkXG4iCisjfiAiICAgICAgICUxJHMgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBvdcW+aXTDrTogJTEkcyBbLWFzbXFdIFstdHwtY3wtbHwtdXwtcF1cbiIKKyN+ICIgICAgICAgICAlMSRzIFstc3wtbXwtcV0gLWkgaWRcbiIKKyN+ICIgICAgICAgICAlMSRzIC1oIHBybyBuw6Fwb3bEm2R1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKKyN+ICIgICAgLW0gICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCisjfiAiICAgIC1xICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKKyN+ICIgICAgLXMgICAgICBzZW1hcGhvcmVzXG4iCisjfiAiICAgIC1hICAgICAgYWxsIChkZWZhdWx0KVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVm9sYnkgcHJvc3TFmWVka8WvOlxuIgorI34gIiAgICAtbSAgICAgIHNkw61sZW7DqSBzZWdtZW50eSBwYW3Em3RpXG4iCisjfiAiICAgIC1xICAgICAgZnJvbnR5IHpwcsOhdlxuIgorI34gIiAgICAtcyAgICAgIHNlbWFmb3J5XG4iCisjfiAiICAgIC1hICAgICAgdsWhZSAoaW1wbGljaXRuw60pXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IGZvcm1hdDpcbiIKKyN+ICIgICAgLXQgICAgICB0aW1lXG4iCisjfiAiICAgIC1wICAgICAgcGlkXG4iCisjfiAiICAgIC1jICAgICAgY3JlYXRvclxuIgorI34gIiAgICAtbCAgICAgIGxpbWl0c1xuIgorI34gIiAgICAtdSAgICAgIHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlbDvXN0dXBuw60gZm9ybcOhdDpcbiIKKyN+ICIgICAgLXQgICAgICDEjWFzXG4iCisjfiAiICAgIC1wICAgICAgUElEXG4iCisjfiAiICAgIC1jICAgICAgdHbFr3JjZVxuIgorI34gIiAgICAtbCAgICAgIG9tZXplbsOtXG4iCisjfiAiICAgIC11ICAgICAgc291aHJuXG4iCisKKyN+IG1zZ2lkICIgJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPHNwZWVkPiBdIFsgLWkgWy1dPGlmbGFnPiBdIDxsZGlzYz4gPGRldmljZT5cbiIKKyN+IG1zZ3N0ciAiICVzIFstZGhWNzhuZW8xMl0gWy1zIFJZQ0hMT1NUXSBbLWkgWy1dSUZMQUddIExESVNDIFpBxZjDjVpFTsONXG4iCisKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgImxkYXR0YWNoIHrCoCVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IFVzYWdlOiBcIiVzIFtvcHRpb25zXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+IChkZWZhdWx0OiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBwcmludCB2ZXJzaW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogUG91xb5pdMOtOiBcIiVzIFtWT0xCWV1cbiIKKyN+ICJcdCAtbSA8TUFQU09VQk9SPiAgKGltcGxpY2l0bsOtOiDigJ4lc+KAnCBhXG4iCisjfiAiXHRcdFx0XHQgIOKAniVz4oCcKVxuIgorI34gIlx0IC1wIDxQUk8tU09VQk9SPiAoaW1wbGljaXRuw606IOKAniVz4oCcKVxuIgorI34gIlx0IC1NIDxIT0ROT1RBPiAgbmFzdGF2w60gSE9ETk9UVSBwcm9maWxvdmFjw61obyBtdWx0aXBsaWvDoXRvcnVcbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHZ5cMOtxaFlIHBvdXplIGluZm9ybWFjZSBvwqBwcm9maWxvdmFjw61tIGtyb2t1XG4iCisjfiAiXHQgLXYgICAgICAgICAgICB2eXDDrcWhZSBwb2Ryb2Juw6kgaW5mb3JtYWNlXG4iCisjfiAiXHQgLWEgICAgICAgICAgICB2eXDDrcWhZSB2ZcWha2Vyw6kgc3ltYm9seSBpIHBva3VkIGplIGhvZG5vdGEgxI3DrXRhxI1lIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHZ5cMOtxaFlIGplZG5vdGxpdsOpIGhpc3RvZ3JhbS1iaW4gxI3DrXRhxI1lXG4iCisjfiAiXHQgLXMgICAgICAgICAgICB2eXDDrcWhZSBqZWRub3RsaXbDqSDEjcOtdGHEjWUgdXZuaXTFmSBmdW5rY8OtXG4iCisjfiAiXHQgLXIgICAgICAgICAgICB2eW51bHVqZSB2ZcWha2Vyw6kgxI3DrXRhxI1lIChwb3V6ZSByb290KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgemFrw6HFvmUgYXV0b2RldGVrY2kgcG/FmWFkw60gYnl0xa9cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHZ5cMOtxaFlIGluZm9ybWFjZSBvIHZlcnppIGEgc2tvbsSNw61cbiIKKworI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJyZWFkcHJvZmlsZTogY2h5YmEgcMWZaSB6w6FwaXN1ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBydGN3YWtlKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSBuYWxlem5ldGUgdsKgcnRjd2FrZSg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc2V0YXJjaCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlbDrWNlIGluZm9ybWFjw60gbmFsZXpuZXRlIHbCoHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSB6w61za8OhdGUgcMWZw61rYXplbSDigJ4lcyAtLWhlbHDigJwuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBQUk9HUkFNIFtBUkdVTUVOVOKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIDx6YcWZw616ZW7DrT4gWyAtaSA8SVJRPiB8IC10IDzEjEFTPiB8IC1jIDxaTkFLWT4gfCAtdyA8xIxFS8OBTsONPiB8IFxuIgorI34gIiAgICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfFxuIgorI34gIiAgICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IGNoeWJuw6EgaG9kbm90YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB1bnNoYXJlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVsOtY2UgaW5mb3JtYWPDrSBuYWxlem5ldGUgdsKgdW5zaGFyZSgxKS5cbiIKKworI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAlcyAtVlxuIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBbWkHFmMONWkVOw43igKZdXG4iCisKKyN+IG1zZ2lkICIgICVzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gbXNnc3RyICIgICVzICBbLXZ8LXFdIFDFmMONS0Fa4oCmIFpBxZjDjVpFTsON4oCmXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5lbHplIG90ZXbFmcOtdDogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1uXSBaQcWYw41aRU7DjVxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gbWFsbG9jIHNlbGhhbG8iCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBjaHliYSBwxZlpIGFuYWzDvXplIHDFmWVww61uYcSNxa9cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJQb3XFvml0w606ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLW9icmF6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlcyBbLXZdIFstTiBwb8SNZXQgaS11emzFr10gWy1WIG7DoXpldiBzdmF6a3VdXG4iCisjfiAiICAgICAgIFstRiBuw6F6ZXYgc3NdIHphxZnDrXplbsOtIFtwb8SNZXQgYmxva8WvXVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgIm8gJXMgbmVsemUgesOtc2thdCBpbmZvcm1hY2UiCisKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAibmVsemUgemppc3RpdCB2ZWxpa29zdCBzZWt0b3J1ICVzIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbLWNdIFstcFZFTElLT1NUX1NUUsOBTktZXSBbLUwgSk1FTk9WS0FdIFstVSBVVUlEXSBaQcWYw41aRU7DjSBbQkxPS1ldXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJOZWRvc3RhdGVrIHBhbcSbdGkiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICAlcyAiCisKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJOYWLDrWRrYSBiZXplIHNtxJtydS4gUG91xb7DrXbDoW0gdm9kb3Jvdm7DvS4iCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBkZWxldGUgc29tZSBwYXJ0aXRpb24gYW5kIGFkZCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gZmlyc3RcbiIKKyN+IG1zZ3N0ciAiTXVzw610ZSBuZWpwcnZlIG7Em2t0ZXLDqSBvZGTDrWx5IHNtYXphdCBhIHDFmWlkYXQgcm96xaHDrcWZZW7DvSBvZGTDrWwuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiUMWZw61rYXpcbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltw6FybsOtIG9kZMOtbCAoMS00KVxuIgorCisjfiBtc2dpZCAiU29ycnkgWW91IG1heSBjaGFuZ2UgdGhlIFRhZyBvZiBub24tZW1wdHkgcGFydGl0aW9ucy5cbiIKKyN+IG1zZ3N0ciAiTGl0dWppLCBtxa/FvmV0ZSBtxJtuaXQgem5hxI1rdSBuZXByw6F6ZG7DvWNoIG9kZMOtbMWvLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyAiCisjfiBtc2dzdHIgIlZhcm92w6Fuw606IG9kZMOtbHkgJXMgIgorCisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAiYSAlcyBzZSBuYXZ6w6FqZW0gcMWZZWtyw712YWrDrS5cbiIKKworI34gbXNnaWQgImRldmljZTogc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGEiCisjfiBtc2dzdHIgIlphxZnDrXplbsOtOiBuxJtjbyBqYWtvIC9kZXYvaGRhIMSNaSAvZGV2L3NkYSIKKworI34gbXNnaWQgIiAgICAtcyBbb3IgLS1zaG93LXNpemVdOiBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAtcyBbxI1pIC0tc2hvdy1zaXplXTogdnlww63FoWUgdmVsaWtvc3Qgb2Rkw61sdSIKKworI34gbXNnaWQgIiAgICAtZCBbb3IgLS1kdW1wXTogICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0IgorI34gbXNnc3RyICIgICAgLWQgW8SNaSAtLWR1bXBdOiAgICAgIHRha3TDqcW+LCBhbGUgdmUgZm9ybcOhdHUgdmhvZG7DqW0gayBkYWzFocOtbXUgenByYWNvdsOhbsOtIgorCisjfiBtc2dpZCAiICAgIC1pIFtvciAtLWluY3JlbWVudF06IG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDAiCisjfiBtc2dzdHIgIiAgICAtaSBbxI1pIC0taW5jcmVtZW50XTogxI3DrXNsdWplIGN5bGluZHJ5IGV0Yy4gb2QgMSBtw61zdG8gb2QgMCIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGpha28gamVkbm90a3kgcG91xb5pamUgU2VrdG9yeS9CbG9reS9DeWxpbmRyeSDEjWkgTUIiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EIFvEjWkgLS1ET1NdOiAgICAgICBwcm8ga29tcGF0aWJpbGl0dSBzIERPU0VNOiB1YsOtcsOhIHRyb2NodSBtw61zdGEiCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SIFvEjWkgLS1yZS1yZWFkXTogICBkb251dMOtIGrDoWRybyB6bm92dSBuYcSNw61zdCB0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1IgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyBTT1VCT1IgOiAgICAgICAgICB1bG/FvsOtIHptxJtuxJtuw6kgc2VrdG9yeSBkbyBTT1VCT1JVIgorCisjfiBtc2dpZCAiICAgIC1JIGZpbGUgOiAgICAgICAgICAgIHJlc3RvcmUgdGhlc2Ugc2VjdG9ycyBhZ2FpbiIKKyN+IG1zZ3N0ciAiICAgIC1JIFNPVUJPUiA6ICAgICAgICAgIG9ibm92w60gdHl0byBzZWt0b3J5IHplIFNPVUJPUlUiCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12IFvEjWkgLS12ZXJzaW9uXTogICB2eXDDrcWhZSBpbmZvcm1hY2UgbyB2ZXJ6aSIKKworI34gbXNnaWQgIiAgICAtPyBbb3IgLS1oZWxwXTogICAgICBwcmludCB0aGlzIG1lc3NhZ2UiCisjfiBtc2dzdHIgIiAgICAtPyBbxI1pIC0taGVscF06ICAgICAgdnlww63FoWUgdHV0byBuw6Fwb3bEm2R1IgorCisjfiBtc2dpZCAiICAgIC1nIFtvciAtLXNob3ctZ2VvbWV0cnldOiBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgLWcgW8SNaSAtLXNob3ctZ2VvbWV0cnldOlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSBpbmZvcm1hY2UgbyBnZW9tZXRyaWksIGt0ZXLDqSB1ZHLFvnVqZSBqw6Fkcm8iCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFvEjWkgLS1MaW51eF06ICAgIHByb2Jsw6lteSBuZXBvZHN0YXRuw6kgcHJvIExpbnV4IGJ1ZG91IGlnbm9yb3bDoW55IgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiICAgIE5hbGV6ZW5vdSBnZW9tZXRyaWkgbcWvxb5ldGUgcMWZZXBzYXQgcG9tb2PDrToiCisKKyN+IG1zZ2lkICIgICAgLWYgIFtvciAtLWZvcmNlXTogICAgICBkbyB3aGF0IEkgc2F5LCBldmVuIGlmIGl0IGlzIHN0dXBpZCIKKyN+IG1zZ3N0ciAiICAgIC1mICBbxI1pIC0tZm9yY2VdOiAgICBha2NlcHR1amUgdmXFoWtlcsOpIC0gaSBuZXNteXNsbsOpIC0gcG/FvmFkYXZreSIKKworI34gbXNnaWQgInN1Y2Nlc3MiCisjfiBtc2dzdHIgIsO6c3DEm2NoIgorCisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIlBybyB0eXB5IHNvdWJvcm92w71jaCBzeXN0w6ltxa8gbmVieWxvIG1vxb5uw6kgYWxva292YXQgcGFtxJvFpVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogZnNjayBbLUFNTlBSVFZdIFstQyBbZmRdXVstdCB0eXBfc3NdIFt2b2xieV9zc10gW3N5c3TDqW1fc291Ym9yxa/igKZdXG4iCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBuZWJ5bG8gbW/Fvm7DqSBvdGV2xZnDrXQ6ICVzXG4iCisKKyN+IG1zZ2lkICJmc2NrIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiZnNjayB6wqAlc1xuIgorCisjfiBtc2dpZCAiJXM6IFVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZzY2tfcGF0aFxuIgorI34gbXNnc3RyICIlczogUGFtxJvFpSBwcm8gZnNja19wYXRoIG5lbHplIGFsb2tvdmF0XG4iCisKKyN+IG1zZ2lkICJUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJWw61jZSBpbmZvcm1hY8OtIHrDrXNrw6F0ZSBwxZnDrWthemVtID9nZXRvcHQgLS1oZWxw4oCcLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJQb3XFvml0w606IGdldG9wdCDFmWV0xJt6ZWMtcy12b2xiYW1pIHDFmWVww61uYcSNZVxuIgorCisjfiBtc2dpZCAiICAgICAgIGdldG9wdCBbb3B0aW9uc10gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgZ2V0b3B0IFt2b2xieV0gWy0tXSDFmWV0xJt6ZWMtcy12b2xiYW1pIHDFmWVww61uYcSNZVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgYXJndW1lbnR5XG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKHJvesWhw63FmWVuw6kpIDEuMS40XG4iCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihPxI1la8OhdsOhbm8g4oCeVVRD4oCcLCDigJ5MT0NBTOKAnCDEjWkgbmljLilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrwqDigJMgemppxaHFpXVqZSBhIG5hc3RhdnVqZSDEjWFzIGhhcmR3YXJvdsO9Y2ggaG9kaW4gKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJQb3XFvml0w606IGh3Y2xvY2sgW0ZVTktDRV0gW1ZPTEJZ4oCmXVxuIgorI34gIlxuIgorI34gIkZ1bmtjZTpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgdWvDocW+ZSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgemppc3TDrSBhIHZ5cMOtxaFlIGFrdHXDoWxuw60gc3RhdiBob2RpbiByZcOhbG7DqWhvIMSNYXN1XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIG5hc3RhdsOtIFJUQyBuYSBob2Rub3R1IHphZGFub3Ugdm9sYm91IC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBuYXN0YXbDrSBzeXN0w6ltb3bDvSDEjWFzIHBvZGxlIGhvZGluIHJlw6FsbsOpaG8gxI1hc3VcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgbmFzdGF2w60gUlRDIHBvZGxlIGFrdHXDoWxuw61obyBzeXN0w6ltb3bDqWhvIMSNYXN1XG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIG5hc3RhdsOtIHN5c3TDqW1vdsO9IMSNYXMgbmEgesOha2xhZMSbIHNvdcSNYXNuw6kgxI1hc292w6kgesOzbnlcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgb3ByYXbDrSBSVEMgb8Kgc3lzdGVtYXRpY2vDvSBwb3N1biwga3RlcsO9IG5hc3RhbCBvZCBwb3NsZWRuw61cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgb3ByYXZ5IMSNaSBuYXN0YXZlbsOtIFJUQ1xuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICB2eXDDrcWhZSBwb8SNw6F0ZWsgZXBvY2h5IGhvZGluIHJlw6FsbsOpaG8gxI1hc3UgcG9kbGUgasOhZHJhXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIG5hc3RhdsOtIGrDoWRydSBwb8SNw6F0ZWsgZXBvY2h5IGhvZGluIHJlw6FsbsOpaG8gxI1hc3UgbmFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaG9kbm90dSB6YWRhbm91IHZvbGJvdSAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHDFmWVkcG92w60gaG9kbm90dSBSVEMgdsKgZG9ixJsgemFkYW7DqSBwb21vY8OtIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICB2eXDDrcWhZSB2ZXJ6aSBod2Nsb2NrdSBuYSBzdGFuZGFyZG7DrSB2w71zdHVwXG4iCisjfiAiXG4iCisjfiAiVm9sYnk6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICBob2RpbnkgcmXDoWxuw6lobyDEjWFzdSBqZG91IHbCoFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICBob2RpbnkgcmXDoWxuw6lobyDEjWFzdSBqZG91IHbCoG3DrXN0bsOtbSDEjWFzZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1DRVNUQSAgICBuYW3DrXN0byB2w71jaG96w61obyB6YcWZw616ZW7DrSBwb3XFvmlqZSB6IC9kZXYv4oCmIGppbsOpXG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIG3DrXN0byAlcyBwb3XFvmlqZSBwxZnDrW1vIElTQSBzYsSbcm5pY2lcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3J1amUgcm9rIHrCoFJUQywgcHJvdG/FvmUgQklPUyBqZSByb3piaXTDvVxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICDEjWFzLCBuYSBrdGVyw70gYnVkb3UgbmFzdGF2ZW55IGhvZGlueSByZcOhbG7DqWhvIMSNYXN1XG4iCisjfiAiICAgICAgIC0tZXBvY2g9Uk9LICAgIHVyxI11amUgcm9rLCBrZHkgemHEjcOtbsOhIGVwb2NoYSBob2RpbiByZcOhbG7DqWhvIMSNYXN1XG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIG5lcG91xb5pamUgL2V0Yy9hZGp0aW1lLiBWecW+YWR1amUgcG91xb5pdMOtIGJ1xI8gLS11dGMsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIG5lYm8gLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPUNFU1RBXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHVyxI11amUgY2VzdHUga8Kgc291Ym9ydSBzZSBzeXN0ZW1hdGlja8O9bSBwb3N1bmVtXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIChpbXBsaWNpdG7DrSBqZSAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIHByb3ZlZGUgdsWhZSBrcm9txJsgdmxhc3Ruw61obyBuYXN0YXZlbsOtIGhvZGluIHJlw6FsbsOpaG9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgxI1hc3UgbmVibyDEjWVob2tvbGl2IGppbsOpaG9cbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgbGFkaWPDrSByZcW+aW1cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJwYW3Em8WlIHBybyBpbmljaWFsaXphxI1uw60gxZlldMSbemVjIG5lbHplIGFsb2tvdmF0IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtc1V3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIFstOGhpTG1zVXddIFstbCBMT0dJTl9QUk9HUkFNXSBbLXQgxIxBU09Ww51fTElNSVRdIFstSSBJTklDSUFMSVpBxIxOw41fxZhFVMSaWkVDXSBbLUggUE/EjMONVEHEjF0gQkFVRF9SQVRFLOKApiBMSU5LQSBbVFlQX1RFUk1JTsOBTFVdXG4iCisjfiAixI1pXHRbLWhpTG13XSBbLWwgTE9HSU5fUFJPR1JBTV0gWy10IMSMQVNPVsOdX0xJTUlUXSBbLUkgSU5JQ0lBTElaQcSMTsONX8WYRVTEmlpFQ10gWy1IIFBPxIzDjVRBxIxdIExJTktBIEJBVURfUkFURSzigKYgW1RZUF9URVJNSU7DgUxVXVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgW3kgfCBuXSIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBaw4FWQcW9TsOBIENIWUJBIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1uXSBbU09VQk9SXVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVhZDogJXMiCisjfiBtc2dzdHIgIm5lbHplIHDFmWXEjcOtc3Q6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorI34gIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorI34gIlxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gc2VhcmNoIGRpcmVjdGlvbiAtICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgcHJpbnQgYWxsIFRBR3MgKExBQkVML1VVSUQpIGV2YWx1YXRlZFxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1uc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgZm9ybWF0IG91dHB1dFxuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBhc2NpaSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIGJ5IEZTIHR5cGVzXG4iCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudCBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgZGV2aWNlLCBMQUJFTD0gb3IgVVVJRD1kZXZpY2VcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICBtb3VudHBvaW50XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWb2xieTpcbiIKKyN+ICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBobGVkw6EgdmUgc3RhdGlja8OpIHRhYnVsY2Ugc291Ym9yb3bDvWNoIHN5c3TDqW3Fr1xuIgorI34gIiAtbSwgLS1tdGFiICAgICAgICAgICAgIGhsZWTDoSB2wqB0YWJ1bGNlIHDFmWlwb2plbsO9Y2ggc291Ym9yb3bDvWNoIHN5c3TDqW3Fr1xuIgorI34gIiAtaywgLS1rZXJuZWwgICAgICAgICAgIGhsZWTDoSB2wqBqYWRlcm7DqSB0YWJ1bGNlIHDFmWlwb2plbsO9Y2ggc291Ym9yb3bDvWNoXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgc3lzdMOpbcWvIChpbXBsaWNpdG7DrSlcbiIKKyN+ICJcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjZXN0eSB2eXBpc3VqZSB2wqBrYW5vbmlja8OpbSB0dmFydVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPFNNxJpSPiBzbcSbciBobGVkw6Fuw63CoOKAkyDigJ5mb3J3YXJk4oCcIChkb3DFmWVkbsOpKSBuZWJvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAg4oCeYmFja3dhcmTigJwgKHpwxJt0bsOpKVxuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIHbFoWVjaG55IHpuYcSNa3kgKGptZW5vdmt5L1VVSUQpIHDFmWVkIHpvYnJhemVuw61tXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdnlob2Rub3TDrVxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHZ5cMOtxaFlIHBvdXplIHBydm7DrSBuYWxlemVuw70gc291Ym9yb3bDvSBzeXN0w6ltXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgem9icmF6w60gdHV0byBuw6Fwb3bEm2R1XG4iCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgb2Jyw6F0w60gc215c2wgdnlobGVkw6F2YWPDrWNoIHByYXZpZGVsXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdsO9c3R1cCB2ZSBmb3Jtw6F0dSBzZXpuYW11XG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbmV6b2JyYXrDrSB6w6FobGF2w61cbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBuZXprcmFjdWplIHRleHQgdmUgc2xvdXBjw61jaFxuIgorI34gIiAtTywgLS1vcHRpb25zIDxTRVpOQU0+IG9tZXrDrSBtbm/FvmludSBzb3Vib3JvdsO9Y2ggc3lzdMOpbcWvIHBvZGxlIHZvbGViXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgcMWZaXBvamVuw61cbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxTRVpOQU0+ICB6b2JyYXrDrSBkYW7DqSBzbG91cGNlXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgbmVmb3Jtw6F0b3ZhbsO9IHbDvXN0dXBcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICBwcm8gdnlrcmVzbGVuw60gc3Ryb211IHBvdcW+aWplIHpuYWt5IEFTQ0lJXG4iCisjfiAiIC10LCAtLXR5cGVzIDxTRVpOQU0+ICAgb21lesOtIG1ub8W+aW51IHNvdWJvcm92w71jaCBzeXN0w6ltxa8gcG9kbGUgamVqaWNoIGRydWh1XG4iCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgdcKgdsOhemFuw71jaCBuZWJvIGJ0cmZzIHDFmWlwb2plbsOtIG5ldnlwaXN1amUgWy9hZHJlc8OhxZldXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgdcKgb2Rwb3bDrWRhasOtY8OtY2ggc291Ym9yb3bDvWNoIHN5c3TDqW3FryB2eXBpc3VqZSB2xaFlY2hueVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHBvZMWZw616ZW7DqSBib2R5IHDFmcOtcG9qZW7DrVxuIgorI34gIiAtUywgLS1zb3VyY2UgPMWYRVTEmlpFQz4gemHFmcOtemVuw60sIExBQkVMPSAoam1lbm92a2EpIG5lYm8gVVVJRD1cbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDzFmEVUxJpaRUM+IGJvZCBwxZlpcG9qZW7DrVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogbG9nZ2VyIFstaXNdIFstZiBzb3Vib3JdIFstcCBwcmldIFstdCB6bmHEjWthXSBbLXUgc29rZXRdIFt6cHLDoXZh4oCmXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvb2sgWy1kZmFdIFstdCBjaGFyXSBzdHJpbmcgW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogbG9vayBbLWRmYV0gWy10IHpuYWtdIMWZZXTEm3plYyBbc291Ym9yXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgIm5lZG9zdGF0ZWsgcGFtxJt0aT8iCisKKyN+IG1zZ2lkICJjYWxsOiAlcyBmcm9tIHRvIGZpbGVzLi4uXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWiBOQSBTT1VCT1LigKZcbiIKKworI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJwb3XFvml0w606IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtTT1VCT1JdXG4iCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3IgJWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBjaHliYSB6w6FwaXN1ICVkOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yOiAlc1xuIgorI34gbXNnc3RyICIlczogY2h5YmEgesOhcGlzdTogJXNcbiIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXRyaWJ1dCBdIF1cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1kXSBbLXAgUElEX1NPVUJPUl0gWy1zIENFU1RBX0tfU09DS0VUVV0gWy10IExJTUlUXVxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIFstcnx0XSBbLW4gbnVtXSBbLXMgc29ja2V0cGF0aF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIFstcnx0XSBbLW4gUE/EjF0gWy1zIENFU1RBX0tfU09DS0VUVV1cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAta1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWtcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbLXJdIFstdF1cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gYWRyZXPDocWZIC4uLiAtZiBdIG7DoXpldi4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiB3cml0ZSB1xb5pdmF0ZWwgW3R0eV1cbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5lbHplIG90ZXbFmcOtdDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdHldIFstZF0gWy12XSBbLWZdIDxzcGVjaWFsPiAgZW5hYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgdXNhZ2Ugc3VtbWFyeVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG91xb5pdMOtOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgIHphcG5lIHbFoWVjaG55IG9ka2zDoWRhY8OtIG9ibGFzdGlcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dmVkZW7DqSB2wqAvZXRjL2ZzdGFiXG4iCisjfiAiICUxJHMgWy1wIFBSSU9SSVRBXSBbLWRdIFstdl0gWy1mXSBaVkzDgcWgVE7DjVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHphcG5lIHZ5YnJhbm91IG9ka2zDoWRhY8OtIG9ibGFzdFxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIHNvdWhybm7DqSBpbmZvcm1hY2Ugb8Kgdnl1xb5pdMOtXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2RrbMOhZGFjw61jaCBvYmxhc3TDrVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZ5cMOtxaFlIG7DoXBvdsSbZHVcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgICB2eXDDrcWhZSB2ZXJ6aVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHNcbiIKKyN+ICIgJTEkcyBbLXZdIDxzcGVjaWFsPiAgICAgICAgICAgICAgIGRpc2FibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvdcW+aXTDrTpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIHZ5cG5lIHbFoWVjaG55IG9ka2zDoWRhY8OtIG9ibGFzdGlcbiIKKyN+ICIgJTEkcyBbLXZdIFpWTMOBxaBUTsONICAgICAgICAgICAgICAgIHZ5cG5lIHZ5YnJhbm91IG9ka2zDoWRhY8OtIG9ibGFzdFxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgbsOhcG92xJtkdVxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgdnlww63FoWUgdmVyemlcbiIKKyN+ICJcbiIKKworIyB1bmtub3duIHBvbGljeQorI34gbXNnaWQgInVua25vd25cbiIKKyN+IG1zZ3N0ciAibmV6bsOhbcOhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW9uaWNlIC0gc2V0cyBvciBnZXRzIHByb2Nlc3MgaW8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkuXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICBpb25pY2UgWyBvcHRpb25zIF0gLXAgPHBpZD4gWzxwaWQ+IC4uLl1cbiIKKyN+ICIgIGlvbmljZSBbIG9wdGlvbnMgXSA8Y29tbWFuZD4gWzxhcmc+IC4uLl1cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLW4gPGNsYXNzZGF0YT4gICAgICBjbGFzcyBkYXRhICgwLTcsIGxvd2VyIGJlaW5nIGhpZ2hlciBwcmlvKVxuIgorI34gIiAgLWMgPGNsYXNzPiAgICAgICAgICBzY2hlZHVsaW5nIGNsYXNzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorI34gIiAgLXQgICAgICAgICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1oICAgICAgICAgICAgICAgICAgdGhpcyBoZWxwXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJpb25pY2XCoOKAkyB6amlzdMOtIG5lYm8gbmFzdGF2w60gcGzDoW5vdmFjw60gdMWZw61kdSBuZWJvIHByaW9yaXR1IEkvTy5cbiIKKyN+ICJcbiIKKyN+ICJQb3XFvml0w606XG4iCisjfiAiICBpb25pY2UgW1DFmEVQw41OQcSMRV0gLXAgPFBJRD4gWzxQSUQ+4oCmXVxuIgorI34gIiAgaW9uaWNlIFtQxZhFUMONTkHEjEVdIDxQxZjDjUtBWj4gWzxBUkdVTUVOVD7igKZdXG4iCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAgLW4gPERBVEFfVMWYw41EWT4gICAgIGRhdGEgdMWZw61keSAoMOKAkzcsIG1lbsWhw60gxI3DrXNsbyB6bmFtZW7DoSB2ecWhxaHDrSBwcmlvcml0dSlcbiIKKyN+ICIgIC1jIDxUxZjDjURBPiAgICAgICAgICBwbMOhbm92YWPDrSB0xZnDrWRhOiAwwqDigJMgxb7DoWRuw6EsIDHCoOKAkyByZcOhbG7DvSDEjWFzLCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgMsKg4oCTIGJlc3QtZWZmb3J0LCAzwqDigJMgemFow6FsZW7DrSBbaWRsZV1cbiIKKyN+ICIgIC10ICAgICAgICAgICAgICAgICAgaWdub3JvdmF0IHNlbGjDoW7DrVxuIgorI34gIiAgLWggICAgICAgICAgICAgICAgICB0YXRvIG7DoXBvdsSbZGFcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkNQVSBtYXNrIgorI34gbXNnc3RyICJtYXNrdSBDUFUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorI34gIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuLCBza2lwIG1vdW50KDIpIHN5c2NhbGxcbiIKKyN+ICIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgdGhpcyBoZWxwXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBwcmludCB2ZXJzaW9uIHN0cmluZ1xuIgorI34gIiAtdywgLS1yZWFkLXdyaXRlICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorI34gIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYSBzZXBhcmF0ZWQgc3RyaW5nIG9mIG1vdW50IG9wdGlvbnNcbiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGluZGljYXRlIHRoZSBmaWxlc3lzdGVtIHR5cGVcbiIKKyN+ICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxpc3RzIGFsbCBtb3VudHMgd2l0aCBMQUJFTHNcbiIKKyN+ICJcbiIKKyN+ICJTb3VyY2U6XG4iCisjfiAiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyN+ICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyN+ICIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisjfiAiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisjfiAiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorI34gIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyN+ICIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCisjfiAiXG4iCisjfiAiT3BlcmF0aW9uczpcbiIKKyN+ICIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisjfiAiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyN+ICIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCisjfiAiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorI34gIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorI34gIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisjfiAiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKKyN+ICIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisjfiAiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisjfiAiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyN+ICIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwxZlpcG9qw60gdmXFoWtlcsOpIHNvdWJvcm92w6kgc3lzdMOpbXkgdXZlZGVuw6kgdmUgZnN0YWJcbiIKKyN+ICIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgemt1xaFlYm7DrSByZcW+aW0sIHZ5bmVjaMOhIHZvbMOhbsOtIHN5c3TDqW11IG1vdW50KDIpXG4iCisjfiAiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIHBybyBrYcW+ZMOpIHphxZnDrXplbsOtIHZ5dHZvxZnDrSBwb3RvbWthIChwb3XFvsOtdCBzIC1hKVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICB0YXRvIG7DoXBvdsSbZGFcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgbmV6YXDDrcWhZSBkbyAvZXRjL210YWJcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgc291Ym9yb3bDvSBzeXN0w6ltIHDFmWlwb2rDrSBqZW4gcHJvIMSNdGVuw60gKHN0ZWpuw6kgamFrb1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAtbyBybylcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2TDrWxuw70gcmXFvmltXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHZ5cMOtxaFlIHZlcnppIHByb2dyYW11XG4iCisjfiAiIC13LCAtLXJlYWQtd3JpdGUgICAgICAgIHNvdWJvcm92w70gc3lzdMOpbSBwxZlpcG9qw60gcHJvIMSNdGVuw60gacKgesOhcGlzICh2w71jaG96w60pXG4iCisjfiAiIC1vLCAtLW9wdGlvbnMgU0VaTkFNICAgIHZvbGJ5IHDFmWlwb2plbsOtIG9kZMSbbGVuw6kgxI3DoXJrb3VcbiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIFNFWk5BTSAgb21lesOtIG1ub8W+aW51IHNvdWJvcm92w71jaCBzeXN0w6ltxa8gKHBvdcW+w610IHMgLWEpXG4iCisjfiAiIC10LCAtLXR5cGVzIFNFWk5BTSAgICAgIHVyxI3DrSBkcnVoIHNvdWJvcm92w6lobyBzeXN0w6ltdVxuIgorI34gIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBjZXN0eSBuZXDFmWV2ZWRlIG5hIGthbm9uaWNrw70gdHZhclxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBuZXphdm9sw6EgcG9tb2Nuw70gcHJvZ3JhbSBtb3VudC5EUlVIXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHZ5cMOtxaFlIHbFoWVjaG55IHDFmWlwb2plbsOpIHN5c3TDqW15IGEgamVqaWNoIGptZW5vdmt5XG4iCisjfiAiXG4iCisjfiAiWmRyb2o6XG4iCisjfiAiIC1MLCAtLWxhYmVsIEpNRU5PVktBICAgIHN5bm9ueW11bSBwcm8gTEFCRUw9Sk1FTk9WS0FcbiIKKyN+ICIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgc3lub255bXVtIHBybyBVVUlEPVVVSURcbiIKKyN+ICIgTEFCRUw9Sk1FTk9WS0EgICAgICAgICAgdXLEjcOtIHphxZnDrXplbsOpIHBvZGxlIGptZW5vdmt5IHN5c3TDqW11IHNvdWJvcsWvXG4iCisjfiAiIFVVSUQ9VVVJRCAgICAgICAgICAgICAgIHVyxI3DrSB6YcWZw616ZW7DrSBwb2RsZSBVVUlEIHN5c3TDqW11IHNvdWJvcsWvXG4iCisjfiAiIFpBxZjDjVpFTsONICAgICAgICAgICAgICAgIHVyxI3DrSB6YcWZw616ZW7DrSBwb2RsZSBjZXN0eVxuIgorI34gIiBBRFJFU8OBxZggICAgICAgICAgICAgICAgIGJvZCBwxZlpcG9qZW7DrSBwcm8gdsOhemFuw6EgcMWZaXBvamVuw60gKHZpenRlIC0tYmluZC9yYmluZClcbiIKKyN+ICIgU09VQk9SICAgICAgICAgICAgICAgICAgb2J5xI1lam7DvSBzb3Vib3IgcHJvIHDFmWlwb2plbsOtIHDFmWVzIGxvb3AgemHFmcOtemVuw61cbiIKKyN+ICJcbiIKKyN+ICJPcGVyYWNlOlxuIgorI34gIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBwxZlpcG9qw60gcG9kc3Ryb20gbsSba2FtIGppbmFtIChzdGVqbsOpIGpha28gLW8gYmluZClcbiIKKyN+ICIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgcMWZZXN1bmUgcG9kc3Ryb20gbmEgamluw6kgbcOtc3RvXG4iCisjfiAiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIHDFmWlwb2rDrSBwb2RzdHJvbSBhIHbFoWVjaG55IHBvZMWZw616ZW7DqSBzeXN0w6lteSBqaW5hbVxuIgorI34gIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBvem5hxI3DrSBwb2RzdHJvbSBqYWtvIHNkw61sZW7DvVxuIgorI34gIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBvem5hxI3DrSBwb2RzdHJvbSBqYWtvIHBvZMWZw616ZW7DvVxuIgorI34gIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBvem5hxI3DrSBwb2RzdHJvbSBqYWtvIHNvdWtyb23DvVxuIgorI34gIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBvem5hxI3DrSBwb2RzdHJvbSBqYWtvIHbDoXphbsSbIG5lcMWZaXBvaml0ZWxuw71cbiIKKyN+ICIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVrdXJ6aXZuxJsgb3puYcSNw60gY2Vsw70gcG9kc3Ryb20gamFrbyBzZMOtbGVuw71cbiIKKyN+ICIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVrdXJ6aXZuxJsgb3puYcSNw60gY2Vsw70gcG9kc3Ryb20gamFrbyBwb2TFmcOtemVuw71cbiIKKyN+ICIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVrdXJ6aXZuxJsgb3puYcSNw60gY2Vsw70gcG9kc3Ryb20gamFrbyBzb3Vrcm9tw71cbiIKKyN+ICIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVrdXJ6aXZuxJsgb3puYcSNw60gY2Vsw70gcG9kc3Ryb20gamFrbyB2w6F6YW7Em1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBuZXDFmWlwb2ppdGVsbsO9XG4iCisKKyN+IG1zZ2lkICJVc2FnZTogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW51dHldXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIlByb2NlcyBzaHV0ZG93biB1a29uxI1lbiIKKworI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLiIKKyN+IG1zZ3N0ciAicG91emUgcm9vdCBtxa/FvmUgdnlwbm91dCBzeXN0w6ltLiIKKworI34gbXNnaWQgInRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuPyIKKyN+IG1zZ3N0ciAiVG8gbXVzw60gYsO9dCB6w610cmEuIFRvIGRvIHTDqSBkb2J5IG5lbcWvxb5ldGUgcG/EjWthdD8iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJrdsWvbGkgw7pkcsW+YsSbIgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiU3lzdMOpbSBidWRlIHphIDUgbWludXQgdnlwbnV0IgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJQxZlpaGxhxaFvdsOhbsOtIGplIHR1ZMOtxb4gemFrw6F6w6Fuby4iCisKKyN+IG1zZ2lkICJyZWJvb3RlZCBieSAlczogJXMiCisjfiBtc2dzdHIgInJlc3RhcnRvdsOhbm8gdcW+aXZhdGVsZW0gJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiemFzdGF2ZW5vIHXFvml2YXRlbGVtICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUHJvxI0ganNlbSBwbyByZXN0YXJ0dSBzdMOhbGUgbmHFvml2dT8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiTm93IHlvdSBjYW4gdHVybiBvZmYgdGhlIHBvd2VyLi4uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTnluw60gbcWvxb5ldGUgdnlwbm91dCBwcm91ZOKApiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJWb2zDoW0gemHFmcOtemVuw60gasOhZHJhIHBybyB2eXDDrW7DoW7DrSBwcm91ZHXigKZcbiIKKworI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAiQ2h5YmEgcMWZaSB2eXDDrW7DoW7DrSBwcm91ZHVcdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJTcG91xaF0w61tIHByb2dyYW0g4oCeJXPigJzigKZcbiIKKworI34gbXNnaWQgIlVSR0VOVDogYnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlczoiCisjfiBtc2dzdHIgIk5BTMOJSEFWw4k6IHpwcsOhdmEgcHJvIHbFoWVjaG55IG9kICVzOiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIGhvdXJzICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIlN5c3TDqW0gYnVkZSB2eXBudXQgemEgJWRoICVkbWluIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIlN5c3TDqW0gYnVkZSB2eXBudXQgemEgMWggJWRtaW4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIlN5c3TDqW0gYnVkZSB2eXBudXQgemEgJWRtaW5cbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIlN5c3TDqW0gYnVkZSB2eXBudXQgemEgMW1pblxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIlN5c3TDqW0gYnVkZSBPS0FNxb1JVMSaIHZ5cG51dCFcbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgIlN3YXBvZmYgbmVsemUgc3B1c3RpdCAtIHZvbMOhbsOtIGZvcmsgc2VsaGFsby4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAiU3dhcG9mZiBuZWx6ZSBzcHVzdGl0IC0gdm9sw6Fuw60gZXhlYyBzZWxoYWxvLiBTbmFkIHBvbcWvxb5lIHVtb3VudC4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJVbW91bnQgbmVsemUgc3B1c3RpdCAtIHZvbMOhbsOtIGZvcmsgc2VsaGFsbywgemtvdcWhw61tIHRvIHJ1xI1uxJsuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIiVzIG5lbHplIHNwdXN0aXQgLSB2b2zDoW7DrSBleGVjIHNlbGhhbG8sIHprb3XFocOtbSB1bW91bnQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJVbW91bnQgbmVsemUgc3B1c3RpdCAtIHZvbMOhbsOtIGV4ZWMgc2VsaGFsbywgdnpkw6F2w6FtIHNuYWh1IG8gc3B1xaF0xJtuw60gdW1vdW50LiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAiT2Rwb2p1amkgdsWhZWNobnkgemLDvXZhasOtY8OtIHN5c3TDqW15IHNvdWJvcsWv4oCmIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246ICVzIG5lbHplIG9kcG9qaXQ6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIlN0YXJ0dWppIGRvIHJlxb5pbXUgcHJvIGplZG5vaG8gdcW+aXZhdGVsZS5cbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgIlNwdcWhdMSbbsOtIHNoZWxsdSBwcm8gamVkbm9obyB1xb5pdmF0ZWxlIHNlIG5lemRhxZlpbG8gLSB2b2zDoW7DrSBleGVjIHNlbGhhbG8uXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJTcHXFoXTEm27DrSBzaGVsbHUgcHJvIGplZG5vaG8gdcW+aXZhdGVsZSBzZSBuZXpkYcWZaWxvIC0gdm9sw6Fuw60gZm9yayBzZWxoYWxvLlxuIgorCisjfiBtc2dpZCAiZXJyb3Igb3BlbmluZyBmaWZvXG4iCisjfiBtc2dzdHIgIkNoeWJhIHDFmWkgb3RldsOtcsOhbsOtIHBvam1lbm92YW7DqSByb3VyeVxuIgorCisjfiBtc2dpZCAiZXJyb3Igc2V0dGluZyBjbG9zZS1vbi1leGVjIG9uIC9kZXYvaW5pdGN0bCIKKyN+IG1zZ3N0ciAiY2h5YmEgYsSbaGVtIG5hc3Rhdm92w6Fuw60gemF2xZnDrXQtcMWZaS1zcHXFoXTEm27DrSBwxZnDrXpuYWt1IG5hIC9kZXYvaW5pdGN0bCIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgYsSbaHUgesOhdsSbcmXEjW7DqWhvIHByb2dyYW11XG4iCisKKyN+IG1zZ2lkICJlcnJvciBmb3JraW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJ2b2zDoW7DrSBmb3JrIHBybyB6w6F2xJtyZcSNbsO9IHByb2dyYW0gc2VsaGFsb1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldyb25nIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ2h5Ym7DqSBoZXNsby5cbiIKKworI34gbXNnaWQgImxzdGF0IG9mIHBhdGggZmFpbGVkXG4iCisjfiBtc2dzdHIgInZvbMOhbsOtIGxzdGF0IHBybyBjZXN0dSBzZWxoYWxvXG4iCisKKyN+IG1zZ2lkICJyZXNwYXduaW5nOiBcIiVzXCIgdG9vIGZhc3Q6IHF1ZW5jaGluZyBlbnRyeVxuIgorI34gbXNnc3RyICJvYm5vdm92w6Fuw606IOKAniVz4oCcIHDFmcOtbGnFoSByeWNobGU6IHRsdW3DrW0gesOhem5hbVxuIgorCisjfiBtc2dpZCAiZm9yayBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gZm9yayBzZWxoYWxvXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgImluaXR0YWIgbmVsemUgb3RldsWZw610XG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICLFvsOhZG7DvSBURVJNIG5lYm8gc2VsaGFsbyB2b2zDoW7DrSBzdGF0IHBybyB0dHlcbiIKKworI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgemFzdGF2b3bDoW7DrSBzbHXFvmJ5IOKAniVz4oCcXG4iCisKKyN+IG1zZ2lkICJTdG9wcGVkIHNlcnZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIlphc3RhdmVuw6Egc2x1xb5ieTogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImNoeWJhIHDFmWkgc3BvdcWhdMSbbsOtIHNsdcW+Ynkg4oCeJXPigJxcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbLWNdIFstbiDDunJvdmXFiF0gWy1yXSBbLXMgdmVsaWtvc3RfYnVmZmVydV1cbiIKKworI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICJjaHliYTogZnVua2NlIHN0cmR1cCBzZWxoYWxhIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImNoeWJhOiBmdW5rY2UgY2FsbG9jIHNlbGhhbGEiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIFtQxZhFUMONTkHEjEVdXG4iCisjfiAiXG4iCisjfiAiUMWZZXDDrW5hxI1lOlxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbLWJmcHhdIFstbCBQT8SMRVRfxZjDgURLxa5dIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiAlcyBbLV0gWy0yXSBbU09VQk9S4oCmXVxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgZm10X2ZpbGVdIFstbiBsZW5ndGhdIFstcyBza2lwXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIEZNVF0gWy1mIEZNVF9TT1VCT1JdIFstbiBEw4lMS0FdIFstcyBWWkTDgUxFTk9TVF0gW1NPVUJPUuKApl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1kZmxwY3N1XSBbK8SMw41TTE9fxZjDgURLVSB8ICsvVlpPUkVLXSBOw4FaRVYxIE7DgVpFVjLigKZcbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpbmUgYnVmZmVyXG4iCisjfiBtc2dzdHIgIsWZw6Fka292w70gYnVmZmVyIHNlIG5lcG9kYcWZaWxvIGluaWNpYWxpem92YXRcbiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6ICVzIG5lbHplIMSNw61zdC5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IMWZw6FkZWsgamUgcMWZw61sacWhIGRsb3Vow70uXG4iCisKKyN+IG1zZ2lkICJyZWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAidm9sw6Fuw60gcmVhbGxvYyBzZWxoYWxvIgorCisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogdGFpbGYgWy1uIE4gfCAtTl0gU09VQk9SX1NfUFJPVE9LT0xFTSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgWy1pXSBbLXRURVJNSU7DgUxdIFNPVUJPUuKAplxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIkRpc2tvdsO9IG9kZMOtbCBrb27EjcOtIHbCoHBvc2xlZG7DrW0gxI3DoXN0ZcSNbsOpbSBjeWxpbmRydSIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzIG5lbHplIG90ZXbFmcOtdFxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICJOZWx6ZSBhbG9rb3ZhdCB2w61jZSBwYW3Em3RpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZ290IEVPRiB0aHJpY2UgLSBleGl0aW5nLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInTFmWlrcsOhdCBqc2VtIG5hbGV6bCBFT0YgLSBrb27EjcOtbS4uXG4iCisKKyN+IG1zZ2lkICJsYXN0OiBtYWxsb2MgZmFpbHVyZS5cbiIKKyN+IG1zZ3N0ciAibGFzdDogdm9sw6Fuw60gbWFsbG9jIHNlbGhhbG8uXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogTmVkb3N0YXRlayBwYW3Em3RpXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjogxb7DoWRuw70gc2hlbGw6ICVzLlxuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBQxZnDrXN0dXAgb2Rtw610bnV0IgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiB2b2zDoW7DrSBmb3JrIHNlbGhhbG9cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICIlczogJXMgbmVsemUgxI3DrXN0LlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiB2b2zDoW7DrSBzdGF0IHBybyBkb8SNYXNuw70gc291Ym9yIHNlbGhhbG8uXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGRvxI1hc27DvSBzb3Vib3IgbmVsemUgxI3DrXN0LlxuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGNoeWJhIHJvemJvcnU6ICVzIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IG5lZG9zdGF0ZWsgcGFtxJt0aVxuIgorCisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAiY2h5YmEgcm96Ym9ydSBuYSDFmcOhZGvDoWNoOiAiCisKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIGEgJWQuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiBuZXBvdm9sZW7DoSB2b2xiYcKg4oCTICVjXG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAiYWxva292YW7DqSBzZWdtZW50eSAlZFxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICJhbG9rb3ZhbsOpIHN0csOhbmt5ICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICJyZXppZGVudG7DrSBzdHLDoW5reSAlbGRcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiU3RhdGlzdGlrYSBwcm8gb2RrbMOhZMOhbsOtOiBwb2t1c8WvOiAlbGRcdCwgeiB0b2hvIMO6c3DEm8WhbsO9Y2g6ICVsZFxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IG5lem7DoW3DvSB1xb5pdmF0ZWxcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBjaHlibsOhIGhvZG5vdGFcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5lcG92b2xlbsO9IGludGVydmFsICVzIHNla3VuZFxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBuZW7DrSBwb3ZvbGVuw6EgaG9kbm90YSB0aW1lX3RcbiIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5lbHplIHNwdXN0aXQ6ICVzXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAib2RlxI10ZW7DrSBob2RpbiByZcOhbG7DqWhvIMSNYXN1IgorCisjfiBtc2dpZCAibWFsbG9jIGVycm9yIgorI34gbXNnc3RyICJjaHliYSBtYWxsb2MiCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogY29sdW1uIFstdHhdIFstYyBTTE9VUENFXSBbU09VQk9S4oCmXVxuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBwcm9ncmFtIG9kKDEpIGplIHphc3RhcmFsw70sIG3DrXN0byBuxJtqIHBvdcW+aWp0ZSBoZXhkdW1wKDEpLlxuIgorCisjfiBtc2dpZCAib2Q6IGhleGR1bXAoMSkgY29tcGF0aWJpbGl0eSBkb2Vzbid0IHN1cHBvcnQgdGhlIC0lYyBvcHRpb24lc1xuIgorI34gbXNnc3RyICJvZDogcmXFvmltIGtvbXBhdGliaWxpdHkgcyBoZXhkdW1wKDEpIG5lcG9kcG9ydWplIC0lYyB2b2xidSVzXG4iCisKKyN+IG1zZ2lkICI7IHNlZSBzdHJpbmdzKDEpLiIKKyN+IG1zZ3N0ciAiOyB2aXogc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk5lZG9zdGF0ZWsgcGFtxJt0aVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnNwYWNlIgorI34gbXNnc3RyICJtw61zdG8gcHJvIGJ1ZmZlciBuZWx6ZSBwxZlpZMSbbGl0IgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogcmV2IFtTT1VCT1LigKZdXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJCdWZmZXIgbmVsemUgbmFhbG9rb3ZhdC5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiTmVkb3N0YXRlayBwYW3Em3RpIHBybyByb3N0b3Vjw60gYnVmZmVyLlxuIgorCisjIERvZHLFvmV0IHphcm92bsOhbsOtIHNlIHpwcsOhdm91IOKAnlBPWk9SOiBSZcW+aW0ga29tcGF0aWJpbGl0eeKApuKAnAorI34gbXNnaWQgIiIKKyN+ICIgYW5kIGNoYW5nZSBkaXNwbGF5IHVuaXRzIHRvXG4iCisjfiAiICAgICAgICAgc2VjdG9ycyAoY29tbWFuZCAndScpLlxuIgorI34gbXNnc3RyICIiCisjfiAiIGEgem3Em25pdCBqZWRub3RreSB2w71waXPFryBuYSBzZWt0b3J5XG4iCisjfiAiICAgICAgIChwxZnDrWtheiDigJ514oCcKS5cbiIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiY2h5YmEgcMWZaSBzcG91xaF0xJtuw60gcHJvZ3JhbXU6IOKAniVz4oCcXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHZhbHVlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiemFkw6FuYSBuZXBsYXRuw6EgaG9kbm90YSBwb3ppY2Ug4oCeJXPigJwiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiY2hydCAtIG1hbmlwdWxhdGUgcmVhbC10aW1lIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorI34gIlxuIgorI34gIlNldCBwb2xpY3k6XG4iCisjfiAiICBjaHJ0IFtvcHRpb25zXSA8cG9saWN5PiA8cHJpb3JpdHk+IHs8cGlkPiB8IDxjb21tYW5kPiBbPGFyZz4gLi4uXX1cbiIKKyN+ICJcbiIKKyN+ICJHZXQgcG9saWN5OlxuIgorI34gIiAgY2hydCBbb3B0aW9uc10gezxwaWQ+IHwgPGNvbW1hbmQ+IFs8YXJnPiAuLi5dfVxuIgorI34gIlxuIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIGZsYWdzOlxuIgorI34gIiAgLVIgfCAtLXJlc2V0LW9uLWZvcmsgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHBcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiY2hydMKg4oCTIHphY2jDoXrDrSBzwqB2bGFzdG5vc3RtaSBwcm9jZXN1IHTDvWthasOtY8OtbWkgc2UgcGzDoW5vdsOhbsOtIHbCoHJlw6FsbsOpbSDEjWFzZS5cbiIKKyN+ICJcbiIKKyN+ICJOYXN0YXbDrSBwb2xpdGlrdTpcbiIKKyN+ICIgIGNocnQgW1DFmEVQw41OQcSMRV0gPFBPTElUSUtBPiA8UFJJT1JJVEE+IHs8UElEPiB8IDxQxZjDjUtBWj4gWzxBUkdVTUVOVD7igKZdfVxuIgorI34gIlxuIgorI34gIlrDrXNrw6EgcG9saXRpa3U6XG4iCisjfiAiICBjaHJ0IFtQxZhFUMONTkHEjEVdIHs8UElEPiB8IDxQxZjDjUtBWj4gWzxBUkdVTUVOVD7igKZdfVxuIgorI34gIlxuIgorI34gIlxuIgorI34gIlBvbGl0aWt5IHBsw6Fub3bDoW7DrTpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIG5hc3RhdsOtIHBvbGl0aWt1IG5hIFNDSEVEX0JBVENIIChkw6F2a2EpXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBuYXN0YXbDrSBwb2xpdGlrdSBuYSBTQ0hFRF9GSUZPIChmcm9udGEpXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBuYXN0YXbDrSBwb2xpdGlrdSBuYSBTQ0hFRF9JRExFICh6YWjDoWxlbsOtKVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfT1RIRVIgKGppbsOhKVxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgbmFzdGF2w60gcG9saXRpa3UgbmEgU0NIRURfUlIgKGltcGxpY2l0bsOtKVxuIgorI34gIlxuIgorI34gIlDFmcOtem5ha3kgcGzDoW5vdsOhbsOtOlxuIgorI34gIiAgLVIgfCAtLXJlc2V0LW9uLWZvcmsgdcKgRklGTyBuZWJvIFJSIG5hc3RhdsOtIFNDSEVEX1JFU0VUX09OX0ZPUktcbiIKKyN+ICJcbiIKKyN+ICJQxZllcMOtbmHEjWU6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICB6b2JyYXrDrSB0dXRvIG7DoXBvdsSbZHVcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIHByYWN1amUgbmFkIGV4aXN0dWrDrWPDrW0gcHJvY2VzZW0gc8KgUElEXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICB6b2JyYXrDrSBtaW5pbcOhbG7DrSBhIG1heGltw6FsbsOtIHBsYXRuw6kgcHJpb3JpdHlcbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgIHpvYnJhesOtIHN0YXZvdsOpIGluZm9ybWFjZVxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgdnlww63FoWUgaW5mb3JtYWNlIG/CoHZlcnppXG4iCisjfiAiXG4iCisKKyMgY3VycmVudCBwb2xpY3kvcHJpb3JpdHkKKyN+IG1zZ2lkICJjdXJyZW50IgorI34gbXNnc3RyICJzb3XEjWFzbsOhIgorCisjIHBpZCAlZCdzIF9uZXdfIHNjaGVkdWxpbmcgcG9saWN5IAorI34gbXNnaWQgIm5ldyIKKyN+IG1zZ3N0ciAibm92w6EiCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBKRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIEhQRlMiCisjfiBtc2dzdHIgIk9TLzIgSFBGUyIKKworI34gbXNnaWQgIk9TLzIgSUZTIgorI34gbXNnc3RyICJPUy8yIElGUyIKKworI34gbXNnaWQgIk5URlMiCisjfiBtc2dzdHIgIk5URlMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDrigK92wqAlcyBuZW5hbGV6ZW5vIMW+w6FkbsOpIG3DqWRpdW3igKbCoHprb3XFocOtbSB6bm92dVxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgIlBvdcW+aXTDrTogJXMgLWFzbXEgLXRjbHVwIFxuIgorCisjfiBtc2dpZCAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisjfiBtc2dzdHIgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorCisjfiBtc2dpZCAiXHQlcyAtaCBmb3IgaGVscC5cbiIKKyN+IG1zZ3N0ciAiXHQlcyAtaCBwcm8gbsOhcG92xJtkdS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBTcGVjaWZpY2F0aW9uOlxuIgorI34gIlx0LW0gOiBzaGFyZWRfbWVtXG4iCisjfiAiXHQtcSA6IG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJaYWTDoW7DrSBwcm9zdMWZZWRrdTpcbiIKKyN+ICJcdC1tIDogc2TDrWxlbsOhIHBhbcSbxaVcbiIKKyN+ICJcdC1xIDogenByw6F2eVxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LXMgOiBzZW1hcGhvcmVzXG4iCisjfiAiXHQtYSA6IGFsbCAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LXMgOiBzZW1hZm9yeVxuIgorI34gIlx0LWEgOiB2xaFlIChpbXBsaWNpdG7DrSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgRm9ybWF0OlxuIgorI34gIlx0LXQgOiB0aW1lXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBjcmVhdG9yXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWw71zdHVwbsOtIGZvcm3DoXQ6XG4iCisjfiAiXHQtdCA6IMSNYXNcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IHR2xa9yY2VcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1sIDogbGltaXRzXG4iCisjfiAiXHQtdSA6IHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LWwgOiBvbWV6ZW7DrVxuIgorI34gIlx0LXUgOiBzaHJudXTDrVxuIgorCisjfiBtc2dpZCAiZXJyb3IgcGFyc2U6ICVzIgorI34gbXNnc3RyICJjaHliYSBwxZlpIHJvemViw61yw6Fuw606ICVzIgorCisjfiBtc2dpZCAiZXJyb3I6IC9zeXMgZmlsZXN5c3RlbSBpcyBub3QgYWNjZXNzYWJsZS4iCisjfiBtc2dzdHIgImNoeWJhOiBzb3Vib3JvdsO9IHN5c3TDqW0gL3N5cyBuZW7DrSBwxZnDrXN0dXBuw70uIgorCisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiByZGV2IFsgLXJ2IF0gWyAtbyBQT1NVTiBdIFsgT0JSQVogWyBIT0ROT1RBIFsgUE9TVU4gXSBdIF0iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgIChvciByZGV2IC9saW51eCwgZXRjLikgZGlzcGxheXMgdGhlIGN1cnJlbnQgUk9PVCBkZXZpY2UiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAgKMSNaSByZGV2IC9saW51eCwgZXRjLikgdnlww63FoWUgYWt0dcOhbG7DrSBST09UIHphxZnDrXplbsOtIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBuYXN0YXbDrSBST09UIG5hIC9kZXYvaGRhMiIKKworI34gbXNnaWQgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIFJPT1RGTEFHUyAocmVhZG9ubHkgc3RhdHVzKSIKKyN+IG1zZ3N0ciAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIG5hc3RhdsOtIFDFmMONWk5BS1kgUk9PVCAocG91emUgcHJvIMSNdGVuw60pIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgbmFzdGF2w60gdmVsaWtvc3QgUkFNRElTS1UiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBib290dXAgVklERU9NT0RFIgorI34gbXNnc3RyICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgbmFzdGF2w60gc3RhcnRvdmFjw60gVklERU9Nw5NEIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290IHDFmcOtem5ha3kgLi4uICAgICAgICAgICAgICAgc3Rlam7DqSBqYWtvIHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgIHZlbGlrb3N0IHJhbSAuLi4gICAgICAgICAgICAgICAgc3Rlam7DqSBqYWtvIHJkZXYgLXIiCisKKyN+IG1zZ2lkICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC12IgorI34gbXNnc3RyICIgIHZpZG3Ds2QgLi4uICAgICAgICAgICAgICAgICAgICAgIHN0ZWpuw6kgamFrbyByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiUG96bsOhbWthOiB2aWRlbyBtw7NkeTogLTM9QXNrLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWtsw6F2MSwgMj1rbMOhdjIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgICAgICBQb21vY8OtIC1SIDEgcMWZaXBvasOtdGUgcG91emUgcHJvIMSNdGVuw60sIC1SIDAgdW1vxb5uw60gesOhcGlzLiIKKworI34gbXNnaWQgIm1pc3NpbmcgY29tbWEiCisjfiBtc2dzdHIgImNoeWLDrSDEjcOhcmthIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIFptxJtuw60gdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdVxuIgorI34gIiAgICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgVnlww63FoWUgdGFidWxrdSByb3pkxJtsZW7DrSBkaXNrdVxuIgorI34gIiAgICAgICAgIGZkaXNrIC1zIE9ERMONTCAgICAgICAgICAgICAgIFZ5cMOtxaFlIHZlbGlrb3N0IG9kZMOtbHVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHbCoGJsb2PDrWNoXG4iCisjfiAiICAgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBWeXDDrcWhZSBpbmZvcm1hY2UgbyB2ZXJ6aVxuIgorI34gIkRJU0sgamUgbsSbY28gamFrbyAvZGV2L2hkYiDEjWkgL2Rldi9zZGEgYSBPRETDjUwgamUgbsSbY28gamFrbyAvZGV2L2hkYTdcbiIKKyN+ICItdTogdnJhY8OtIFphxI3DoXRlayBhIEtvbmVjIHbCoHNla3RvcmVjaCAobcOtc3RvIGN5bGluZHJlY2gpXG4iCisjfiAiLWIgMjA0ODogKHBybyBuxJtrdGVyw6kgTU8gamVkbm90a3kpIHBvdcW+aWplIDIwNDhiYWp0b3bDqSBzZWt0b3J5XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSB6YcWZw616ZW7DrVxuIgorI34gIk5hcMWZOiBmZGlzayAvZGV2L2hkYSAgKHBybyBwcnZuw60gSURFIGRpc2spXG4iCisjfiAiICDEjWk6IGZkaXNrIC9kZXYvc2RjICAocHJvIHTFmWV0w60gU0NTSSBkaXNrKVxuIgorI34gIiAgxI1pOiBmZGlzayAvZGV2L2VkYSAgKHBybyBwcnZuw60gUFMvMiBFU0RJIGRpc2spXG4iCisjfiAiICDEjWk6IGZkaXNrIC9kZXYvcmQvYzBkMCAgxI1pOiBmZGlzayAvZGV2L2lkYS9jMGQwICAocHJvIFJBSUQgemHFmcOtemVuw60pXG4iCisjfiAiICDigKZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJUaGUgbnVtYmVyIG9mIGN5bGluZGVycyBmb3IgdGhpcyBkaXNrIGlzIHNldCB0byAlZC5cbiIKKyN+ICJUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhhdCwgYnV0IHRoaXMgaXMgbGFyZ2VyIHRoYW4gMTAyNCxcbiIKKyN+ICJhbmQgY291bGQgaW4gY2VydGFpbiBzZXR1cHMgY2F1c2UgcHJvYmxlbXMgd2l0aDpcbiIKKyN+ICIxKSBzb2Z0d2FyZSB0aGF0IHJ1bnMgYXQgYm9vdCB0aW1lIChlLmcuLCBvbGQgdmVyc2lvbnMgb2YgTElMTylcbiIKKyN+ICIyKSBib290aW5nIGFuZCBwYXJ0aXRpb25pbmcgc29mdHdhcmUgZnJvbSBvdGhlciBPU3NcbiIKKyN+ICIgICAoZS5nLiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG/EjWV0IGN5bGluZHLFryB0b2hvdG8gZGlza3UgamUgbmFzdGF2ZW4gbmEgJWQuXG4iCisjfiAiTmEgdG9tIG5lbsOtIG5pYyDFoXBhdG7DqWhvLCBhbGUgamVsaWtvxb4gamUgdG8gdsOtY2UgbmXFviAxMDI0LFxuIgorI34gIm3Fr8W+ZSB6YSB1csSNaXTDvWNoIG9rb2xub3N0w60gZG9qw610IGsgcHJvYmzDqW3Fr206XG4iCisjfiAiMSkgcyBwcm9ncmFteSBzcG91xaF0xJtuw71taSBwxZlpIHN0YXJ0dSAobmFwxZkuIHN0YXLDqSB2ZXJ6ZSBMSUxBKVxuIgorI34gIjIpIHMgcHJvZ3JhbXkgcHJvIHNwcsOhdnUgZGlza292w71jaCBvZGTDrWzFryB6IGppbsO9Y2ggT1NcbiIKKyN+ICIgICAobmFwxZkuIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXQVJOSU5HOiBUaGUgZGV2aWNlIGRvZXMgbm90IHByb3ZpZGUgY29tcGVuc2F0aW9uIChhbGlnbm1lbnRfb2Zmc2V0KVxuIgorI34gImZvciBET1MtY29tcGF0aWJsZSBwYXJ0aXRpb25pbmcsIGJ1dCBET1MtY29tcGF0aWJsZSBtb2RlIGlzIGVuYWJsZWQuXG4iCisjfiAiVXNlIGNvbW1hbmQgJ2MnIHRvIHN3aXRjaC1vZmYgRE9TIG1vZGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQT1pPUjogWmHFmcOtemVuw60gbmVwb3NreXR1amUgdnlyb3Zuw6Fuw60gKGFsaWdubWVudF9vZmZzZXQpIHDFmWkgZMSbbGVuw60gZGlza3VcbiIKKyN+ICJwb2RsZSBET1N1LCBhdsWhYWsgcmXFvmltIGtvbXBhdGliaWxpdHkgc8KgRE9TZW0gamUgemFwbnV0LlxuIgorI34gIlBvdcW+aWp0ZSBwxZnDrWtheiDigJ5j4oCcIG5hIHZ5cG51dMOtIHJlxb5pbXUgRE9TdS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiB0aGUgZGV2aWNlIHByb3ZpZGVzIGFsaWdubWVudF9vZmZzZXQsIGJ1dCB0aGUgb2Zmc2V0IGRvZXMgbm90XG4iCisjfiAibWF0Y2ggd2l0aCBkZXZpY2UgZ2VvbWV0cnkuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQT1pPUjogWmHFmcOtemVuw60gcG9za3l0dWplIGFsaWdubWVudF9vZmZzZXQgKHphcm92bsOhdmFjw60gcG9zdW4pLCBhbGUgcG9zdW5cbiIKKyN+ICJuZW9kcG92w61kw6EgZ2VvbWV0cmlpIHphxZnDrXplbsOtLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIyBwYXJ0aXRpb24gdGFibGUgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiIyB0YWJ1bGthIHJvemTEm2xlbsOtIGRpc2t1IHBybyAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gInVuaXQ6IHNlY3RvcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImplZG5vdGthOiBzZWt0b3J5XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgc3RhcnQ9JTlsdSIKKyN+IG1zZ3N0ciAiIHphxI3DoXRlaz0lOWx1IgorCisjfiBtc2dpZCAiLCBib290YWJsZSIKKyN+IG1zZ3N0ciAiLCBzdGFydG92YWPDrSIKKworI34gbXNnaWQgIkNsb2NrIGluIFVUQywgbm90IGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIkhvZGlueSB2wqBVVEMsIG5lem3Em27Em25vLlxuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiBsYWJlbCBvbmx5IHdpdGggdjEgc3dhcCBhcmVhXG4iCisjfiBtc2dzdHIgIiVzOiBjaHliYTogam1lbm92a3UgbHplIHBvdcW+w610IHBvdXplIHXCoHZlcnplIDFcbiIKKworI34gbXNnaWQgImZhdGFsOiBmaXJzdCBwYWdlIHVucmVhZGFibGUiCisjfiBtc2dzdHIgIm5lcMWZZWtvbmF0ZWxuw6EgY2h5YmE6IHBydm7DrSBzdHLDoW5rYSBqZSBuZcSNaXRlbG7DoSIKKworI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBaYcWZw616ZW7DrSDigJ4lc+KAnCBvYnNhaHVqZSBrb3Jla3Ruw60gU3VuIHBvcGlzIGRpc2t1LlxuIgorI34gIlRvIHpuYW1lbsOhLCDFvmUgdnl0dm/FmWVuw60gb2RrbMOhZGFjw61obyBwcm9zdG9ydSB2MCBieSBwcmF2ZMSbcG9kb2JuxJsgem5pxI1pbG9cbiIKKyN+ICJ0YWJ1bGt1IHJvemTEm2xlbsOtIGRpc2t1LiBPZGtsw6FkYWPDrSBwcm9zdG9yIG5lYnlsIHZ5dHZvxZllbi4gUG9rdWQgb3ByYXZkdVxuIgorI34gImNoY2V0ZSBuYSB0b210byB6YcWZw616ZW7DrSB2eXR2b8WZaXQgb2RrbMOhZGFjw60gcHJvc3RvciB2MCwgdnludcWldGUgc2kgdG9cbiIKKyN+ICJwxZllcMOtbmHEjWVtIC1mLlxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laTogZG8gYWRyZXPDocWZZSByb290IG5lbHplIHDFmWVqw610IVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBzdGF0IHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiB2b2zDoW7DrSBzdGF0IHBybyBhZHJlc8OhxZkgcm9vdCBzZWxoYWxvIVxuIgorCisjfiBtc2dpZCAiID8gY291bGQgbm90IGNoZGlyIGludG8gJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/IGRvIGFkcmVzw6HFmWUgJXMgbmVsemUgcMWZZWrDrXQgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgPyBwcm9ibGVtcyByZWFkaW5nIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/IHByb2Jsw6lteSBwxZlpIMSNdGVuw60gc3ltYm9saWNrw6lobyBvZGthenUgJXMgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgICoqKiBFWENFRURFRCBVTklYIExJTUlUIE9GIFNZTUxJTktTICoqKlxuIgorI34gbXNnc3RyICIgICoqKiBQxZhFS1JPxIxFTiBVTklYT1bDnSBMSU1JVCBQUk8gU1lNQk9MSUNLw4kgT0RLQVpZICoqKlxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVua25vd24gZmlsZSB0eXBlIDAlMDZvIG9uIGZpbGUgJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHR5cCAwJTA2byBzb3Vib3J1ICVzIGplIG5lem7DoW3DvVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIG1vdW50ICVzIGJ5ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBjaHlzdMOhbSBzZSBwxZlpcG9qaXQgJXMgcG9kbGUgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBnb2luZyB0byBtb3VudCAlcyBieSBwYXRoXG4iCisjfiBtc2dzdHIgIm1vdW50OiDFvsOhZG7DvSBMQUJFTD0sIMW+w6FkbsO9IFVVSUQ9LCBjaHlzdMOhbSBzZSBwxZlpcG9qaXQgJXMgcG9kbGUgY2VzdHlcbiIKKworI34gbXNnaWQgIiVzOiB3YWl0cGlkOiAlc1xuIgorI34gbXNnc3RyICIlczogd2FpdHBpZDogJXNcbiIKKworI34gbXNnaWQgImNvdWxkIG5vdCB1bW91bnQgJXMgLSB0cnlpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICIlcyBuZWx6ZSBvZHBvaml0IC0gemtvdcWhw61tICVzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorCisjfiBtc2dpZCAiY2FsbGluZyBvcGVuX3R0eVxuIgorI34gbXNnc3RyICJ2b2zDoW0gb3Blbl90dHlcbiIKKworI34gbXNnaWQgImNhbGxpbmcgdGVybWlvX2luaXRcbiIKKyN+IG1zZ3N0ciAidm9sw6FtIHRlcm1pb19pbml0XG4iCisKKyN+IG1zZ2lkICJ3cml0aW5nIGluaXQgc3RyaW5nXG4iCisjfiBtc2dzdHIgInphcGlzdWppIGluaWNpYWxpemHEjW7DrSDFmWV0xJt6ZWNcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJwxZllZCBhdXRvYmF1ZFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAixI1la8OhbSBuYSBjci1sZlxuIgorCisjfiBtc2dpZCAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisjfiBtc2dzdHIgIsSNdHUgcMWZaWhsYcWhb3ZhY8OtIGptw6lub1xuIgorCisjfiBtc2dpZCAiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIKKyN+IG1zZ3N0ciAicG8genByYWNvdsOhbsOtIGFyZ3VtZW50xa8gcMWZw61rYXpvdsOpIMWZw6Fka3lcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VhcmdzXG4iCisjfiBtc2dzdHIgIm9wb3XFoXTDrW0gZnVua2NpIHBhcnNlYXJnc1xuIgorCisjfiBtc2dpZCAiZW50ZXJlZCBwYXJzZV9zcGVlZHNcbiIKKyN+IG1zZ3N0ciAidnN0dXB1amkgZG8gZnVua2NlIHBhcnNlX3NwZWVkc1xuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZXNwZWVkc1xuIgorI34gbXNnc3RyICJvcG91xaF0w61tIGZ1bmtjaSBwYXJzZXNwZWVkc1xuIgorCisjfiBtc2dpZCAib3BlbigyKVxuIgorI34gbXNnc3RyICJvcGVuKDIpXG4iCisKKyN+IG1zZ2lkICJkdXBpbmdcbiIKKyN+IG1zZ3N0ciAidm9sw6FtIGR1cFxuIgorCisjfiBtc2dpZCAidGVybV9pbyAyXG4iCisjfiBtc2dzdHIgInRlcm1faW8gMlxuIgorCisjfiBtc2dpZCAiY2hmbjogUEFNIEZhaWx1cmUsIGFib3J0aW5nOiAlc1xuIgorI34gbXNnc3RyICJjaGZuOiBjaHliYSBQQU0sIGtvbsSNw61tOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gL2V0Yy9zaGVsbHNcbiIKKyN+IG1zZ3N0ciAiVmFyb3bDoW7DrTog4oCeJXPigJwgbmVuw60gdiAvZXRjL3NoZWxsc1xuIgorCisjfiBtc2dpZCAiQ2FuJ3QgcmVhZCAlcywgZXhpdGluZy4iCisjfiBtc2dzdHIgIiVzIG5lbHplIMSNw61zdCwga29uxI3DrW0uIgorCisjfiBtc2dpZCAibG9naW46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAibG9naW46IGNoeWJhIFBBTSwga29uxI3DrW06ICVzXG4iCisKKyN+IG1zZ2lkICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisjfiBtc2dzdHIgIsSNYXNvdsO9IGxpbWl0ID0gJWQsIGtsaWQgPSAlZCwgcmVzdGFydCA9ICVkXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAibmVsemUgxI3DrXN0ICVzIGEgbmVsemUgcHJvdsOpc3QgZHVtcCBwb21vY8OtIHZvbMOhbsOtIGlvY3RsXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlbGxkIgorI34gbXNnc3RyICIsIG9kc2F6ZW7DrSAlJ2xsZCIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIiVzOiDFvsOhZG7DqSB6YcWZw616ZW7DrSAvZGV2L2xvb3AjIG5lbHplIG5hbMOpenQiCisKKyN+IG1zZ2lkICJtb3VudDogYmFja2dyb3VuZGluZyBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHByYWN1amkgbmEgcG96YWTDrSDigJ4lc+KAnFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGtvbsSNw61tIOKAniVz4oCcXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0eV0gc3BlY2lhbHxMQUJFTD12b2x1bWVfbmFtZSAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorI34gbXNnc3RyICIiCisjfiAiUG91xb5pdMOtOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgICAgICVzIFstdl0gWy1wIFBSSU9SSVRBXSBaVkzDgcWgVE7DjV9TT1VCT1J8TEFCRUw9TsOBWkVWX1NWQVpLVeKAplxuIgorI34gIiAgICAgICAgICVzIFstc11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3XFvml0w606ICVzIFstaFZdXG4iCisjfiAiICAgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAgICVzIFstdl0gWlZMw4HFoFROw41fU09VQk9S4oCmXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGNhbm9uaWNhbGl6ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5lbHplIHDFmWV2w6lzdCBuYSBrYW5vbmlja8O9IHR2YXI6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHVzZXJzIF1cbiIKKyN+IG1zZ3N0ciAiUG91xb5pdMOtOiByZW5pY2UgcHJpb3JpdGEgWyBbIC1wIF0gcGlkIF0gW1sgLWcgXSBwZ3JwIF0gWyBbIC11IF0gdcW+aXZhdGVsIF1cbiIKKworI34gbXNnaWQgIlx0LSVjXHRFbmFibGUgJXNcbiIKKyN+IG1zZ3N0ciAiXHQtJWNcdFBvdm9sw60gJXNcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorI34gbXNnc3RyICLigJ4lc+KAnDogY2h5Ym7DvSBhZHJlc8OhxZk6IOKAni7igJwgbmVuw60gcHJ2bsOtXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICLigJ4lc+KAnDogY2h5Ym7DvSBhZHJlc8OhxZk6IOKAni4u4oCcIG5lbsOtIGRydWjDvVxuIgorCisjfiBtc2dpZCAiRXhjZWVkZWQgTUFYRU5UUklFUy4gIFJhaXNlIHRoaXMgdmFsdWUgaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlDFmWVrcm/EjWVubyBNQVhFTlRSSUVTLiBadsSbdMWhZXRlIHR1dG8gaG9kbm90dSB2wqBta2NyYW1mcy5jIGEgem5vdnUgcMWZZWxvxb50ZS5cbiIKKyN+ICJLb27EjcOtbS5cbiIKKworI34gbXNnaWQgIkFzc3VtaW5nIHBhZ2VzIG9mIHNpemUgJWQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiUMWZZWRwb2tsw6Fkw6FtIHZlbGlrb3N0IHN0csOhbmVrICVkIChuaWtvbGl2ICVkKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJBdXRvbWF0aWNrw6Ega29uZmlndXJhY2UgbmFsZXpsYSAlcyVzJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJUeXAgZGlza3VcbiIKKyN+ICIgICA/ICAgYXV0b21hdGlja8OhIGtvbmZpZ3VyYWNlXG4iCisjfiAiICAgMCAgIHXFvml2YXRlbHNrw6Ega29uZmlndXJhY2UgKHMgZGV0ZWtvdmFuw71tIGltcGxpY2l0bsOtbSBuYXN0YXZlbsOtbSkiCisKKyN+IG1zZ2lkICJTZWxlY3QgdHlwZSAoPyBmb3IgYXV0bywgMCBmb3IgY3VzdG9tKTogIgorI34gbXNnc3RyICJaYWRlanRlIHR5cCAoPyBwcm8gYXV0bywgMCBwcm8gdcW+aXZhdGVsc2vDvSk6ICIKKworI34gbXNnaWQgIllvdSBtYXkgY2hhbmdlIGFsbCB0aGUgZGlzayBwYXJhbXMgZnJvbSB0aGUgeCBtZW51IgorI34gbXNnc3RyICJWxaFlY2hueSBwYXJhbWV0cnkgZGlza3UgbcWvxb5ldGUgem3Em25pdCB6IG5hYsOtZGt5IHgiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIjMsNVwiIHBydcW+bsO9IGRpc2siCisKKyN+IG1zZ2lkICIlcyBmcm9tIHV0aWwtbGludXgtJXNcbiIKKyN+IG1zZ3N0ciAiJXMgeiB1dGlsLWxpbnV4LSVzXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IHRoZSBsYWJlbCAlcyBvY2N1cnMgb24gYm90aCAlcyBhbmQgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGNoeWJhOiBqbWVub3ZrYSAlcyBzZSBuYWNow6F6w60gamFrIG5hICVzIHRhayBpwqBuYSAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBvcGVuICVzLCBzbyBVVUlEIGFuZCBMQUJFTCBjb252ZXJzaW9uIGNhbm5vdCBiZSBkb25lLlxuIgorI34gbXNnc3RyICIlczogbmVsemUgb3RldsWZw610ICVzLCB0YWvFvmUga29udmVyemUgVVVJRCBhIEpNRU5PVkVLIG5lYnVkZSBwcm92ZWRlbmEuXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIiVzOiBjaHlibsOpIFVVSUQiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHdpdGggbmZzIG1vdW50IHZlcnNpb24gNCwgdHJ5aW5nIDMuLlxuIgorI34gbXNnc3RyICJtb3VudDogY2h5YmEgc8KgcMWZaXBvam92w6Fuw61tIE5GUyB2ZXJ6ZSA0LCB6a291xaHDrW0gdmVyemkgM+KAplxuIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50aW5nICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwxZlpcG9qdWppICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd2hpbGUgZ3Vlc3NpbmcgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBixJtoZW0gaMOhZMOhbsOtIHR5cHUgc3lzdMOpbXUgc291Ym9yxa8gZG/FoWxvIGvCoGNoeWLEm1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHDFmcOtbGnFoSBkbG91aMO9IGFyZ3VtZW50IHBybyBwb8SNw610YcSNOmFkcmVzw6HFmVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6IG11bHRpcGxlIGhvc3RuYW1lcyBub3Qgc3VwcG9ydGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiB2YXJvdsOhbsOtOiB2w61jZW7DoXNvYm7DqSBuw6F6dnkgcG/EjcOtdGHEjcWvIG5lanNvdSBwb2Rwb3JvdsOhbnlcbiIKKworI34gbXNnaWQgIm1vdW50OiBkaXJlY3RvcnkgdG8gbW91bnQgbm90IGluIGhvc3Q6ZGlyIGZvcm1hdFxuIgorI34gbXNnc3RyICJtb3VudDogYWRyZXPDocWZIHBybyBwxZlpcG9qZW7DrSBuZW7DrSB2ZSB0dmFydSBwb8SNw610YcSNOmFkcmVzw6HFmVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiDFoXBhdG7DqSBocC0+aF9sZW5ndGhcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIG9wdGlvbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJtb3VudDogcMWZw61sacWhIGRsb3Vow70gYXJndW1lbnQgcHJvIHZvbGJ1XG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBVbnJlY29nbml6ZWQgcHJvdG89IG9wdGlvbi5cbiIKKyN+IG1zZ3N0ciAiVmFyb3bDoW7DrTogbmV6bsOhbcOhIHZvbGJhIHBybyBwcm90bz0uXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBPcHRpb24gbmFtbGVuIGlzIG5vdCBzdXBwb3J0ZWQuXG4iCisjfiBtc2dzdHIgIlZhcm92w6Fuw606IHZvbGJhIG5hbWxlbiBuZW7DrSBwb2Rwb3JvdsOhbmEuXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBwYXJhbWV0ZXI6ICVzPSVkXG4iCisjfiBtc2dzdHIgInBhcmFtZXRyICVzPSVkIHBybyBwxZlpcG9qZW7DrSBuZnMgbmVuw60gem7DoW1cbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IG9wdGlvbjogJXMlc1xuIgorI34gbXNnc3RyICJ2b2xiYSAlcyVzIHBybyBwxZlpcG9qZW7DrSBuZnMgamUgbmV6bsOhbcOhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGg/XG4iCisjfiBtc2dzdHIgIm1vdW50OiDFoXBhdG7DqSBocC0+aF9sZW5ndGg/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMgYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAibmZzIHNlcnZlciByZXBvcnRlZCBzZXJ2aWNlIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJ0YXRvIHNsdcW+YmEgamUgbmEgdG9tdG8gbmZzIHNlcnZlcnUgbmVkb3N0dXBuw6EiCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJwcm8gbmFsZXplbsOtIE5GUyBwb3J0dSBqc2VtIHBvdcW+aWwgcG9ydG1hcHBlclxuIgorCisjfiBtc2dpZCAidXNpbmcgcG9ydCAlZCBmb3IgbmZzIGRlYW1vblxuIgorI34gbXNnc3RyICJwb3XFvsOtdsOhbSBwb3J0ICVkIHBybyBuZnMgc2VydmVyXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAibsOhdnJhdG92w6EgaG9kbm90YSBuZnMgc3RhdHVzICVkIGplIG5lem7DoW3DoSIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgInBvxI3DrXRhxI06ICVzLCBhZHJlc8OhxZk6ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6IGFkcmVzdSAlcyBuZWx6ZSB6amlzdGl0XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGdvdCBiYWQgaG9zdHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgInVtb3VudDogY2h5Ym7DoSBob2Rub3RhIGhvc3RwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzIG5lbHplIG90ZXbFmcOtdCIKKworI34gbXNnaWQgIkxvb3AgZGV2aWNlIGlzICVzXG4iCisjfiBtc2dzdHIgIkxvb3AgemHFmcOtemVuw60gamUgJXNcbiIKKworI34gbXNnaWQgIm9wZW4gb2YgZGlyZWN0b3J5IGZhaWxlZFxuIgorI34gbXNnc3RyICJhZHJlc8OhxZkgbmVsemUgb3RldsWZw610XG4iCisKKyN+IG1zZ2lkICJUb28gc21hbGwgcGFydGl0aW9uIHNpemUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiWmFkw6FuYSBwxZnDrWxpxaEgbWFsw6EgdmVsaWtvc3Qgb2Rkw61sdS4iCisKKyN+IG1zZ2lkICJmYWlsZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKKyN+IG1zZ3N0ciAiYWxva2FjZSBpdGVyw6F0b3J1IHNlbGhhbGEiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgIm5lbHplIG90ZXbFmcOtdDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgPHN0YXJ0PiAgYmVnaW4gb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLiBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3RcbiIKKyN+ICIgICAgICAgICAgICBmcmVlIHNwYWNlLlxuIgorI34gbXNnc3RyICIgICA8emHEjcOhdGVrPiAgICAgIHphxI3DoXRlayBvZGTDrWx1IHbCoHNla3RvcmVjaC4gVsO9Y2hvesOtIGplIHBydm7DrSB2b2xuw6kgbcOtc3RvLlxuIgorCisjfiBtc2dpZCAiICAgICAtLXJmYzU0MjRbPTxub3RpbWUsbm90cSxub2hvc3Q+XVxuIgorI34gbXNnc3RyICIgICAgIC0tcmZjNTQyNFs9PG5vdGltZSxub3RxLG5vaG9zdD5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU2V0cyBvciBnZXRzIHRoZSBJTyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBwcm9jZXNzZXMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJOYXN0YXbDrSBuZWJvIHpqaXN0w60gcGzDoW5vdmFjw60gSS9PIHTFmcOtZHUgYSBwcmlvcml0dSBwcm9jZXN1LlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJQb3pvcjogb2Rkw61sICVzIG5lbsOtIG9ic2HFvmVuIHbCoG9kZMOtbHUgJXMiCisKKyN+IG1zZ2lkICJUeXBlIG9mIHRoZSBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCisjfiBtc2dzdHIgIkRydWggb2Rkw61sdSAlenUgamUgbmV6bcSbbsSbbi4iCmRpZmYgLS1naXQgYS9wby9kYS5wbyBiL3BvL2RhLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkwYWIzZTIKLS0tIC9kZXYvbnVsbAorKysgYi9wby9kYS5wbwpAQCAtMCwwICsxLDIwMjA1IEBACisjIERhbmlzaCB0cmFuc2xhdGlvbiB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgKEMpIDIwMTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuIG9nIG5lZGVuc3TDpWVuZGUgb3ZlcnPDpnR0ZXJlLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBDbGF1cyBTw7hyZW5zZW4gPGNzQGtsaWQuZGs+LCAyMDAwLgorIyBLZWxkIErDuHJuIFNpbW9uc2VuIDxrZWxkQGRrdXVnLmRrPiwgMjAwMC4KKyMgQ2xhdXMgSGluZHNnYXVsIDxjbGF1c19oQGltYWdlLmRrPiwgMjAwMS0yMDAyLCAyMDA0LCAyMDA1LgorIyBKb2UgSGFuc2VuIDxqb2VkYWx0b24yQHlhaG9vLmRrPiwgMjAxMCwgMjAxMSwgMjAxMiwgMjAxMywgMjAxNCwgMjAxNSwgMjAxNiwgMjAxNy4KKyMKKyMgPGxpc3Q+IC0+IDxsaXN0ZT4KKyMgYWRyZXNzZSBzcGFjZSAtPiBhZHJlc3NlcnVtIChldnQuIGFkcmVzc2VwbGFkcykKKyMgYWxsb2MgLT4gYWxsb2tlcmUgKHRpbGRlbGUpCisjIGFyZ3VtZW50IC0+IHBhcmFtZXRlcgorIyBiYWNraW5nIGZpbGUgLT4gcmVzZXJ2ZWZpbAorIyBibGFuayAtPiB0b20gKG1lbiBtZWdldCB1c2lra2VyIGhlcikKKyMgYm9ndXMgLT4gYm9ndXMgKGt1bm5lIG3DpXNrZSBnb2R0IHbDpnJlIHZyw7h2bGUpCisjIGJvdW5kaW5nIC0+IG9tZ2l2ZW5kZQorIyBidWZmZXIgLT4gbWVsbGVtbGFnZXIKKyMgY2FwYWJpbGl0eSAtPiBldm5lIChub2dsZSBiZWRyZSBmb3JzbGFnPykKKyMgZGVjb21wcmVzc2lvbiAtPiBkZWtvbXByaW1lcmluZworIyBkZXByZWNhdGVkIC0+IGZvcsOmbGRldAorIyBkZXNjcmlwdG9yIC0+IGJlc2tyaXZlbHNlCisjIGRldGFjaCAtPiBhZmtvYmwKKyMgZGlyZWN0b3J5IC0+IG1hcHBlCisjIGRpdmlzb3IgLT4gbsOmdm5lcgorIyBkcmlmdCBmYWN0b3IgLT4gaGFzdGlnaGVkc2Zha3RvcgorIyBlcG9jaCAtPiBlcG9rZQorIyBmYWlsZWQgLT4gbWlzbHlra2VkZXMKKyMgZmxhZyAtPiBmbGFnCisjIGdldCAtPiBpbmRoZW50ZSAoYWx0ZXJuYXRpdmVyOiBmaW5kZSwgZsOlKQorIyBIYXJkd2FyZSBDbG9jayAtPiBtYXNraW51cmV0ICh1ZHN0eXJzdXJldCkKKyMgaGliZXJuYXRpb24gLT4gZHZhbGUKKyMgaG90LXBsdWdnYWJsZSAtPiA/IChiZW3DpnJrIGVuZ2Vsc2sgaGFyIGhlbGxlciBpa2tlIGhlbHQgc3R5ciBww6UgZGVuLCBlciBiw6VkZSBtZWQgb2cgdWRlbiBiaW5kZXN0cmVnKQorIyBJRCAtPiBpZAorIyBpbXBsaWVzIC0+IG1lZGbDuHJlcgorIyBpbml0cmFtZnMgLT4gZXQgaW5pdHJhbWZzIChkYSBldCBmaWxzeXN0ZW0pCisjIGlub2RlIC0+IGlub2RlIChlbiBpbm9kZSBlciBub2dldCBzb20gYWxsZSBmaWxlciBww6UgZXh0MyBvZyBsaWduZW5kZSAKKyMgICAgICAgICAgICAgICAgIGZpbHN5c3RlbWVyIGhhci4gRGV0IGFuZ2l2ZXIgdmlzdCBldCBsb2dpc2sgc3RlZCBww6UgCisjICAgICAgICAgICAgICAgICBkaXNrZW4gaHZvciBkZW4gbGlnZ2VyKSBGbGVydGFsIGlub2RlcgorIyBsYWJlbCAtPiBldGlrZXQgKG3DpnJrZSAoYnJ1Z2VzIGZvciB0YWcpLCBtw6Zya2F0KQorIyBsaW5rIC0+IGhlbnZpc25pbmcgKGzDpm5rZSkKKyMgbG9vcCAtPiBsb29wIChrdW5uZSBvZ3PDpSB2w6ZyZSBsw7hra2UpCisjIGxvb3BkZXYgLT4gbMO4a2tlZW5oZWQgKGVyIGVuIGZvcmtvcnRlbHNlIGZvciBsw7hra2VlbmhlZCkKKyMgbWF4IC0+IG1ha3MuIChodXNrIHB1bmt0dW1tZXQpCisjIG1hcGZpbGUsIG1hcCBmaWxlIC0+IGFmYmlsZG5pbmdzZmlsCisjIHBhcnNlIC0+IGZvcnRvbGtlCisjIHBvbGljeSAtPiBwb2xpdGlrIChyZXRuaW5nc2xpbmplKQorIyBwcm9iZXIgLT4gdGVzdHByb2dyYW0KKyMgcmVhZC13cml0ZSAtPiBsw6ZzL3Nrcml2ICAobcOlc2tlIGzDpnNiYXIvc2tyaXZiYXIpCisjIHJlc2lkZW50IC0+IGhqZW1tZWjDuHJlbmRlCisjIHNhdmUgZmlsZSAtPiByZWRuaW5nc2ZpbCAoa3VubmUgb2dzw6UgdsOmcmUgZ2VtbWVmaWwpCisjIHNlbWFwaG9yZSAtPiBzZW1hZm9yIChzaWduYWxtYXN0KQorIyBzZXQgLT4gYW5naXYKKyMgc2xlZXAgLT4gZHZhbGUgKG3DpXNrZSBwcm9ibGVtIHNlIGhpYmVybmF0aW9uKQorIyBTR0kgdm9saGRyIC0+IFNHSSB2b2xoZHIgKHZhciB0aWRsaWdlcmUgU0dJIGJuZGh2ZCwga3VubmUgb2dzw6UgdsOmcmUgZHNraGRyKQorIyBzdGF0IC0+IHN0YXQgKHN0YXQgKFVuaXgpLCBhIHN5c3RlbSBjYWxsIG9uIFBPU0lYIGFuZCBVbml4LWxpa2Ugc3lzdGVtcykKKyMgc3VtbWFyeSAtPiByZWZlcmF0CisjIHN1c3BlbmQgLT4gaHZpbGUKKyMgdGFnIC0+IG3DpnJrZQorIyB0cmF5IC0+IHNrdWZmZSAodmVkIGNkLXJvbSkKKyMgdW5jb21wcmVzc2luZyAtPiB1ZHBha2tlciAoc2UgZGVjb21wcmVzc2lvbikKKyMgVVRDIC0+IEdNVCAKKyMgICAgICAgKFVUQyAob2dzw6Uga2FsZGV0IHp1bHV0aWQpIGVyIGRlbiBpbnRlcm5hdGlvbmFsZSB0aWRzem9uZSwgc29tIChuw6ZzdGVuKSAKKyMgICAgICAgIGVyIGRldCBzYW1tZSBzb20gR3JlZW53aWNoIE1lYW4gVGltZS4gVGlkc2ZvcnNrZWxsZW4gbWVsbGVtIGRhbnNrIHRpZCAKKyMgICAgICAgIG9nIFVUQyBlciBwbHVzIMOpbiB0aW1lIHZlZCBub3JtYWx0aWQgb2cgcGx1cyB0byB0aW1lciB2ZWQgc29tbWVydGlkLgorIyAgICAgICAgQnJ1Z2VzIG9mdGUgc29tIHN5bm9ueW1lci4gRGV0dGUgdGlsIHRyb2RzIGZvciwgYXQgVVRDIG9nIEdNVCBrYW4gYWZ2aWdlCisjICAgICAgICBmw6UgdGllbmRlZGVsZSBhZiBldCBzZWt1bmQgZnJhIGhpbmFuZGVuIHDDpSBncnVuZCBhZiBKb3JkZW5zIHVyZWdlbG3DpnNzaWdlCisjICAgICAgICByb3RhdGlvbnNoYXN0aWdoZWQuCisjIHZlcmJvc2Ugb3V0cHV0IC0+IHVkZHliZW5kZSB0aWxzdGFuZAorIyB2b2x1bWUgLT4gZGlza2VuaGVkIChiaW5kLCBhcmtpdiwgZGlza29tcsOlZGUpCisjIHdha2V1cCAtPiBvcHbDpWduaW5nCisjIHdob2xlIGRpc2sgLT4gaGVsZSBkaXNrZW4KKyMgIiIsICcnIC0+IMK7wqsKKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXgtMi4zMC1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNy0wNi0wNSAxNDozMCswMTowMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogSm9lIEhhbnNlbiA8am9lZGFsdG9uMkB5YWhvby5kaz5cbiIKKyJMYW5ndWFnZS1UZWFtOiBEYW5pc2ggPGRhbnNrQGRhbnNrLWdydXBwZW4uZGs+XG4iCisiTGFuZ3VhZ2U6IGRhXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuXG4iCisiUGx1cmFsLUZvcm1zOiAgbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc2tlbmhlZD4gPHBhcnRpdGlvbnNudW1tZXI+IDxzdGFydD4gPGzDpm5nZGU+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJGb3J0w6ZsIGtlcm5lbiBvbSBla3Npc3RlbnNlbiBhZiBlbiBzcGVjaWZpY2VyZXQgcGFydGl0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJpa2tlIG5vayBwYXJhbWV0cmUiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSDDpWJuZSAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgcGFydGl0aW9uc251bW1lciIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHN0YXJ0cGFyYW1ldGVyIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTAKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBsw6ZuZ2RlcGFyYW1ldGVyIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJrdW5uZSBpa2tlIHRpbGbDuGplIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiYW5naXYgc2tyaXZlYmVza3l0dGV0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAiYW5naXYgbMOmcy9za3JpdiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAiZmluZCBza3JpdmViZXNreXR0ZXQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAiZmluZCB1bmRlcnN0w7h0dGVsc2Vzc3RhdHVzIGZvciBmamVybiBudWxsZXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImZpbmQgbG9naXNrIGJsb2tzdMO4cnJlbHNlIChzZWt0b3JzdMO4cnJlbHNlKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImZpbmQgZnlzaXNrIGJsb2tzdMO4cnJlbHNlIChzZWt0b3JzdMO4cnJlbHNlKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJmaW5kIG1pbmltYWwgSS9PLXN0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiZmluZCBvcHRpbWFsIEkvTy1zdMO4cnJlbHNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgImZpbmQganVzdGVyaW5nc2ZvcnNreWRuaW5nIGkgYnl0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiZmluZCBtYWtzLiBzZWt0b3JlciBwZXIgZm9yZXNww7hyZ3NlbCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImZpbmQgYmxva3N0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgImFuZ2l2IGJsb2tzdMO4cnJlbHNlIHDDpSBmaWxiZXNrcml2ZXIgZGVyIMOlYm5lciBibG9rZW5oZWRlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgImZpbmQgMzItYml0IHNla3RvcmFudGFsIChmb3LDpmxkZXQsIGJydWcgLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiZmluZCBzdMO4cnJlbHNlIGkgYnl0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgImFuZ2l2IGZyZW1sw6ZzbmluZyAowrtyZWFkYWhlYWTCqykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJmaW5kIGZyZW1sw6ZzbmluZyAowrtyZWFkYWhlYWTCqykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImFuZ2l2IGZyZW1sw6ZzbmluZyBmb3IgZmlsc3lzdGVtICjCu3JlYWRhaGVhZMKrKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiZmluZCBmcmVtbMOmc25pbmcgZm9yIGZpbHN5c3RlbSAowrtyZWFkYWhlYWTCqykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJ0w7htIG1lbGxlbWxhZ3JlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZ2VubMOmcyBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0w6ZuZCBmb3IgcXVpZXQtdGlsc3RhbmRcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworIywgZnV6enkKK21zZ2lkICIgLXYgICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHVkZHliZW5kZSB0aWxzdGFuZFxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICJUaWxnw6ZuZ2VsaWdlIGtvbG9ubmVyOlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiAlLTI1cyBmaW5kIHN0w7hycmVsc2UgaSA1MTItYnl0ZSBzZWt0b3JlclxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGVuaGVkIGFuZ2l2ZXQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzAKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJrdW5uZSBpa2tlIGZpbmRlIGVuaGVkc3N0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiVWtlbmR0IGtvbW1hbmRvOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMga3LDpnZlciBlbiBwYXJhbWV0ZXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiaW9jdGwtZmVqbCBww6UgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBtaXNseWtrZWRlcy5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIGx5a2tlZGVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBpbml0aWFsaXNlcmUgc3lzZnMtaMOlbmR0ZXJpbmciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBsw6ZzZSBwYXJ0aXRpb25zc3RhcnQgZnJhIHN5c2ZzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NUICAgQlNUICAgU3RhcnRTZWt0ICAgICAgICAgICBTdMO4cnIuICBFbmhlZFxuIgorCisjICJPcHN0YXJ0YmFyIgorIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiT3BzdGFydHNmbGFnIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU2tpZnQgb3BzdGFydHNmbGFnZXQgZm9yIGRlbiBha3R1ZWxsZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJTbGV0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlNsZXQgZGVuIGFrdHVlbGxlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVzaXplIgorbXNnc3RyICJzdMO4cnJlbHNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJSZWR1Y2Ugb3IgZW5sYXJnZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlNsZXQgZGVuIGFrdHVlbGxlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIk55IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiT3ByZXQgbnkgcGFydGl0aW9uIGkgZnJpdCBvbXLDpWRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIkFmc2x1dCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIkFmc2x1dCBwcm9ncmFtIHVkZW4gYXQgc2tyaXZlIMOmbmRyaW5nZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzggbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMxIGxpYmZkaXNrL3NyYy9ncHQuYzozMTMyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIlR5cGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiw4ZuZHIgcGFydGl0aW9uc3R5cGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIkhqw6ZscCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiVmlzIGhqw6ZscGVza8Omcm0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiU29ydGVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJPcmRuIHBhcnRpdGlvbnNyw6Zra2Vmw7hsZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICJTa3JpdiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJTa3JpdiBwYXJ0aXRpb25zdGFiZWxsZW4gdGlsIGRpc2sgKGRldHRlIGthbiDDuGRlbMOmZ2dlIGRhdGEpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAiCittc2dzdHIgIkR1bXAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIkR1bXAgcGFydGl0aW9uc3RhYmVsbGVuIHRpbCBzZmRpc2sta29tcGF0aWJlbCBza3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjQyIGRpc2stdXRpbHMvZmRpc2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICJpbnRlcm4gZmVqbDogZWogdW5kZXJzdMO4dHRldCBkaWFsb2d0eXBlICVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAobW9udGVyZXQpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTcKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIlBhcnRpdGlvbnNuYXZuOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJQYXJ0aXRpb24tVVVJRDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMxNgorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cGU6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiQXR0cmlidXR0ZXI6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJGaWxzeXN0ZW0tVVVJRDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJGaWxzeXN0ZW0tRVRJS0VUOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIkZpbHN5c3RlbToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJNb250ZXJpbmdzcHVua3Q6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIkRpc2s6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIlN0w7hycmVsc2U6ICVzLCAlanUgYnl0ZSwgJWp1IHNla3RvcmVyIgorCisjIEV2dC4ga2FuIHZpIG9tZ8OlIGRldCBsaWR0IG15c3Rpc2tlICJpZGVudGlmaWthdGlvbiIgdmVkIGJhcmUgYXQgYnJ1Z2UKKyMgZm9ya29ydGVsc2VuIGlkOgorIyBEaXNrLWlkOiAuLi4KKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJFdGlrZWw6ICVzLCBpZGVudGlmaWthdGlvbjogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIkV0aWtldDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiS2FuIGVmdGVyZsO4bGdlcyBhZiBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCIGVsbGVyIFMgZm9yIHNla3RvcmVyLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICJBbmdpdiB2ZW5saWdzdCBzdMO4cnJlbHNlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJNaW5pbXVtc3TDuHJyZWxzZSBlciAlanUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiTWFrc21pbXVtc3TDuHJyZWxzZSBlciAlanUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiS3VubmUgaWtrZSBmb3J0b2xrZSBzdMO4cnJlbHNlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJWw6ZsZyBwYXJ0aXRpb25zdHlwZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiSW5kdGFzdCBza3JpcHRmaWxuYXZuOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlNrcmlwdGZpbGVuIHZpbCBibGl2ZSBhbnZlbmR0IGkgaS1odWtvbW1lbHNlIHBhcnRpdGlvbnN0YWJlbC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzAKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkthbiBpa2tlIMOlYm5lICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiS3VubmUgaWtrZSBmb3J0b2xrZSBza3JpcHRmaWxlbiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJLdW5uZSBpa2tlIGFudmVuZGUgc2tyaXB0ZXQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICJEZW4gbnV2w6ZyZW5kZSBpLWh1a29tbWVsc2UgcGFydGl0aW9uc3RhYmVsIHZpbCBibGl2ZSBkdW1wZXQgdGlsIGZpbGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBza3JpcHRow6VuZHRlcmluZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJLdW5uZSBpa2tlIGzDpnNlIGRpc2tsYXlvdXQgaW5kIGkgc2tyaXB0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDc3Cittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIkRpc2tsYXlvdXQgYmxldiBkdW1wZXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIkt1bm5lIGlra2Ugc2tyaXZlIHNrcmlwdGV0ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiVsOmbGcgZXRpa2V0dHlwZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJFbmhlZGVuIGluZGVob2xkZXIgaWtrZSBlbiBnZW5rZW5kdCBwYXJ0aXRpb25zdGFiZWwuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMjcKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIlbDpmxnIGVuIHR5cGUgdGlsIGF0IG9wcmV0dGUgZW4gbnkgZXRpa2V0IGVsbGVyIHRyeWsgwrtMwqsgZm9yIGF0IGluZGzDpnNlIHNrcmlwdGZpbC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiRGV0dGUgZXIgY2ZkaXNrLCBldCBjdXJzZXMtYmFzZXJldCBkaXNrcGFydGl0aW9uZXJpbmdzcHJvZ3JhbS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJEZXQgbGFkZXIgZGlnIG9wcmV0dGUsIHNsZXR0ZSBlbGxlciBtb2RpZmljZXJlIHBhcnRpdGlvbmVyIHDDpSBlbiBibG9rZW5oZWQuIgorCisjIHNlIG5lZGVuZm9yCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiS29tbWFuZG8gICAgIEJldHlkbmluZyIKKworIyBUcm9yIHVuZGVyc3RyZWdlcm5lIGhlciBza2FsIHBhc3NlIHRpbCBmb3JyaWdlIHN0cmVuZworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0tICAgICAtLS0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBTa2lmdCBvcHN0YXJ0c2ZsYWdldCBmb3IgZGVuIGFrdHVlbGxlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBTbGV0IGRlbiBha3R1ZWxsZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIFZpcyBkZW5uZSBza8Omcm0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBPcHJldCBueSBwYXJ0aXRpb24gaSBmcml0IG9tcsOlZGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIEFmc2x1dCBwcm9ncmFtIHVkZW4gYXQgc2tyaXZlIHBhcnRpdGlvbnN0YWJlbGxlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIHMgICAgICAgICAgUmV0IHBhcnRpdGlvbnNyw6Zra2Vmw7hsZ2UgKGt1biBuw6VyIGkgdW9yZGVuKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBTa2lmdCBwYXJ0aXRpb25zdHlwZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICBEdW1wIGRpc2tsYXlvdXQgdGlsIHNmZGlzay1rb21wYXRpYmVsIHNrcmlwdGZpbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgU2tyaXYgcGFydGl0aW9uc3RhYmVsbGVuIHRpbCBkaXNrIChza2FsIHbDpnJlIHN0b3J0IFcpOyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgICAgc2lkZW4gZGV0dGUga2FuIMO4ZGVsw6ZnZ2UgZGF0YSBww6UgZGlza2VuLCBza2FsIGR1IGVudGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICAgIGJla3LDpmZ0ZSBlbGxlciBhZnZpc2UgdmVkIGF0IHNrcml2ZSBoZW5ob2xkc3ZpcyDCu2phwqsgZWxsZXIgwrtuZWrCqyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgIFZpcy9za2p1bCBla3N0cmEgaW5mb3JtYXRpb24gb20gZW4gcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiUGlsIG9wICAgICAgIEZseXQgbWFya8O4cmVuIHRpbCBmb3JyaWdlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGlsIG5lZCAgICAgIEZseXQgbWFya8O4cmVuIHRpbCBuw6ZzdGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiVmVuc3RyZSBwaWwgIEZseXQgbWFya8O4cmVuIHRpbCBmb3JyaWdlIG1lbnVwdW5rdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiSMO4anJlIHBpbCAgICBGbHl0IG1hcmvDuHJlbiB0aWwgbsOmc3RlIG1lbnVwdW5rdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiQmVtw6ZyazogQWxsZSBrb21tYW5kb2VybmUga2FuIGFuZ2l2ZXMgbWVkIGVudGVuIHN0b3JlIGVsbGVyIHNtw6UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJzdG9yZSBib2dzdGF2ZXIgKHVuZHRhZ2VuIFdyaXRlKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJCcnVnIGxzYmxrKDgpIGVsbGVyIHBhcnR4KDgpIGZvciBhdCBzZSBmbGVyZSBkZXRhbGplciBvbSBlbmhlZGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiVHJ5ayBlbiB0YXN0IGZvciBhdCBmb3J0c8OmdHRlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIkt1bm5lIGlra2Ugc2tpZnRlIGZsYWdldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJLdW5uZSBpa2tlIHNsZXR0ZSBwYXJ0aXRpb24gJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA5IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGVyIGJsZXZldCBzbGV0dGV0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiUGFydGl0aW9uc3N0w7hycmVsc2U6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiw4ZuZHJlZGUgc3lzdGVtdHlwZW4gZm9yIHBhcnRpdGlvbiAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJTeXN0ZW10eXBlbiBmb3IgcGFydGl0aW9uICV6dSBlciB1w6ZuZHJldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorIywgZnV6enkKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICJOeSBza2FsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIGhhciBmw6VldCDDpm5kcmV0IHN0w7hycmVsc2VcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICJFbmhlZCBlciDDpWJlbiBpIHNrcml2ZWJlc2t5dHRldCB0aWxzdGFuZC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiRXIgZHUgc2lra2VyIHDDpSwgYXQgZHUgdmlsIHNrcml2ZSBwYXJ0aXRpb25zdGFiZWxsZW4gdGlsIGRpc2tlbj8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJUYXN0IMK7amHCqyBlbGxlciDCu25lasKrLCBlbGxlciB0cnlrIEVTQyBmb3IgYXQgZm9ybGFkZSBkZW5uZSBkaWFsb2cuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgImphIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiU2tyZXYgaWtrZSBwYXJ0aXRpb25zdGFiZWxsZW4gdGlsIGRpc2tlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJLdW5uZSBpa2tlIHNrcml2ZSBkaXNrZXRpa2V0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbiBlciDDpm5kcmV0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiQmVtw6ZyayBhdCBwYXJ0aXRpb25zdGFiZWxsZW5zIGluZGdhbmdlIGlra2UgZXIgaSBkaXNrcsOma2tlZsO4bGdlIG51LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTExCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiRW5oZWQgaW5kZWhvbGRlciBhbGxlcmVkZSBlbiAlcy1zaWduYXR1cjsgZGVuIHZpbCBibGl2ZSBmamVybmV0IG1lZCBlbiB3cml0ZS1rb21tYW5kby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUyMgorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJrdW5uZSBpa2tlIG9wcmV0dGUgZW4gbnkgZGlza2V0aWtldCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW3RpbHZhbGddIDxkaXNrPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiVmlzIGVsbGVyIG1hbmlwdWxlciBlbiBkaXNrcGFydGl0aW9uc3RhYmVsLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzUKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxodm9ybsOlcj5dICBmYXJ2ZWzDpmcgdWRkYXRhIChhdXRvLCBhbHRpZCBlbGxlciBhbGRyaWcpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzOAorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgbWVkIG51bHN0aWxsZXQgcGFydGl0aW9uc3RhYmVsXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgZmFydmV0aWxzdGFuZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBsaWJmZGlzay1rb250ZWtzdCIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8ZGlza2VuaGVkPiA8cGFydGl0aW9uc251bW1lcj5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiRm9ydMOmbCBrZXJuZW4gYXQgZGVuIHNrYWwgZ2xlbW1lIGVuIHNwZWNpZmljZXJldCBwYXJ0aXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgImt1bm5lIGlra2UgZmplcm5lIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiRm9ybWF0ZXJlciAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgImbDpnJkaWdcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJWZXJpZmljZXJlciAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJMw6ZzOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZW0gdmVkIGzDpnNuaW5nIGFmIHNwb3IvaG92ZWQgJXUvJXUsIHZlbnRlZGUgJWQsIGzDpnN0ZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisidWd5bGRpZ2UgZGF0YSBpIHNwb3IvaG92ZWQgJXUvJXVcbiIKKyJGb3J0c8OmdHRlciAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8ZW5oZWQ+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIlVkZsO4ciBlbiBmb3JtYXRlcmluZyBww6UgbGF2dCBuaXZlYXUgZm9yIGVuIGRpc2tldHRlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBww6Ugc3BvciBOIChzdGFuZGFyZCAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgdmVkIHNwb3IgTlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICBmb3Jzw7hnIGF0IHJlcGFyZXJlIHNwb3IgZGVyIG1pc2x5a2tlZGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgdW5kZXIgdmVyaWZpa2F0aW9uZW4gKG1ha3MuIE4tZm9yc8O4ZylcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NgorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGVha3RpdmVyIHZlcmlmaWthdGlvbmVuIGVmdGVyIGZvcm1hdGVyaW5nZW5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciAtIGZyb20gKGZyYSkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIC0gdG8gKHRpbCkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciAtIHJlcGFpciAocmVwYXJlcikiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE0OAorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM3CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzU4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3OTcKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyMSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MyBkaXNrLXV0aWxzL3BhcnR4LmM6OTUxCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg4IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM3IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODUgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5OQorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTcgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIwCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6Nzkgc3lzLXV0aWxzL25zZW50ZXIuYzoxNjQgc3lzLXV0aWxzL25zZW50ZXIuYzoxNjgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MjMgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzNyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICJzdGF0IGZvciAlcyBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBlciBpa2tlIGVuIGJsb2tlbmhlZCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAia3VubmUgaWtrZSBiZXN0ZW1tZSBkZW4gZWtzaXN0ZXJlbmRlIGZvcm1hdHR5cGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMtc2lkZXQsICVkIHNwb3IsICVkIHNla3Qvc3Bvci4gU2FtbGV0IGthcGFjaXRldCAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRG9iYmVsdCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiRW5rZWx0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJicnVnZXJkZWZpbmVyZXQgc3RhcnRzcG9yIGVyIGjDuGplcmUgZW5kIGRldCBtZWRpdW1zcGVjaWZpY2VyZXQgbWFrc2ltdW0iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJicnVnZXJkZWZpbmVyZXQgc2x1dHNwb3IgZXIgaMO4amVyZSBlbmQgZGV0IG1lZGl1bXNwZWNpZmljZXJldCBtYWtzaW11bSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICJicnVnZXJkZWZpbmVyZXQgc3RhcnRzcG9yIGVyIGjDuGplcmUgZW5kIGRldCBicnVnZXJkZWZpbmVyZXQgc2x1dHNwb3IiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJjbG9zZSAobHVrKSBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIlbDpmxnIChzdGFuZGFyZCAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiQnJ1Z2VyIHN0YW5kYXJkc3ZhciAlYy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjIgZGlzay11dGlscy9mZGlzay5jOjI5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzcxCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI0MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlbDpnJkaSB1ZGVuIGZvciBvbXLDpWRldC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIHN0YW5kYXJkICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCBzdGFuZGFyZCAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsIHN0YW5kYXJkICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Piwgc3RhbmRhcmQgJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY5IGRpc2stdXRpbHMvZmRpc2suYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIFtKXWEvW05dZWo6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIkhleC1rb2RlICh0cnlrIEwgZm9yIGVuIGxpc3RlIG92ZXIga29kZXJuZSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ4MAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIlBhcnRpdGlvbnN0eXBlICh0cnlrIEwgZm9yIGVuIGxpc3RlIG92ZXIgYWxsZSB0eXBlcik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkRPUy1rb21wYXRpbGl0ZXRzZmxhZyBlciBzYXQgKEZPUsOGTERFVCEpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1Mta29tcGF0aWxpdGV0c2ZsYWcgZXIgaWtrZSBzYXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIlBhcnRpdGlvbiAlenUgZmluZGVzIGlra2UgZW5kbnUhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA5IGRpc2stdXRpbHMvZmRpc2suYzo2MTggbGliZmRpc2svc3JjL2Fzay5jOjEwMDMKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJVa2VuZHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLDhm5kcmVkZSBzeXN0ZW10eXBlbiBmb3IgcGFydGl0aW9uIMK7JXPCqyB0aWwgwrslc8KrLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlN5c3RlbXR5cGVuIGZvciBwYXJ0aXRpb24gJXp1IGVyIHXDpm5kcmV0OiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisiXG4iCisiJXM6IGZvcnNreWRuaW5nID0gJTxQUkl1NjQ+LCBzdMO4cnJlbHNlID0gJXp1IGJ5dGUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgImt1bm5lIGlra2Ugc8O4Z2UgKHNlZWspIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEgbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5OAorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiRsO4cnN0ZSBzZWt0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgbWlzbHlra2VkZXMgcMOlICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiRGVuIGdhbWxlIHNpZ25hdHVyICVzdmlsIGJsaXZlIGZqZXJuZXQgYWYgZW4gZW4gd3JpdGUta29tbWFuZG8uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIGZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIkRlbiBnYW1sZSBzaWduYXR1ciAlcyBrYW4gYmxpdmUgcMOlIGVuaGVkZW4uIERldCBhbmJlZmFsZXMgcMOlIGRldCBzdMOmcmtlc3RlIGF0IHJ5ZGRlIGVuaGVkZW4gbWVkIHdpcGVmcyg4KSBlbGxlciBmaXNrIC0td2lwZSwgZm9yIGF0IHVuZGfDpSBtdWxpZ2Uga29sbGlzaW9uZXIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICUxJHMgW3RpbHZhbGddIDxkaXNrPiAgICAgIMOmbmRyIHBhcnRpdGlvbnN0YWJlbFxuIgorIiAlMSRzIFt0aWx2YWxnXSAtbCBbPGRpc2s+XSB2aXMgcGFydGl0aW9uc3RhYmVsbGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDxzdHI+ICAgICAgIGZ5c2lzayBvZyBsb2dpc2sgc2VrdG9yc3TDuHJyZWxzZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIHNsZXQgaWtrZSBib290Yml0IG7DpXIgZW4gbnkgZXRpa2V0IG9wcmV0dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTMKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTx0aWxzdGFuZD5dIHRpbHN0YW5kIGVyIMK7ZG9zwqsgZWxsZXIgwrtub25kb3PCqyAoc3RhbmRhcmQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTFssIC0tY29sb3JbPTxodm9ybsOlcj5dICAgICAgZmFydmVsw6ZnIHVkZGF0YSAoYXV0bywgYWx0aWQgZWxsZXIgYWxkcmlnKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgdmlzIHBhcnRpdGlvbmVyIG9nIGFmc2x1dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICAgICAgICByZXN1bHRhdGtvbG9ubmVyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICBnZW5rZW5kIGt1biBzcGVjaWZpY2VyZXQgcGFydGl0aW9uc3RhYmVsdHlwZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIwCittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXRzWz08ZW5oZWQ+XSAgICAgICAgIHZpcyBlbmhlZGVyOiDCu2N5bGluZGVyZcKrIGVsbGVyIMK7c2VrdG9yZXLCqyAoc3RhbmRhcmQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjEKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgdmlzIGVuaGVkc3N0w7hycmVsc2UgaSA1MTItYnl0ZSBzZWt0b3JlciBbRk9Sw4ZMREVUXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICB1ZHNrcml2IFNUw5hSUkVMU0UgaSBieXRlIGZyZW0gZm9yIGkgZXQgbMOmc2V2ZW5saWd0IGZvcm1hdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8dGlsc3RhbmQ+ICAgICAgICAgZmplcm4gc2lnbmF0dXJlciAoYXV0bywgYWx3YXlzIGVsbGVyIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDx0aWxzdGFuZD4gZmplcm4gc2lnbmF0dXJlciBmcmEgbnllIHBhcnRpdGlvbmVyIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxhbnRhbD4gICAgICAgYW5naXYgYW50YWxsZXQgYWYgY3lsaW5kcmVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDxhbnRhbD4gICAgICAgICAgIGFuZ2l2IGhvdmVkYW50YWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPGFudGFsPiAgICAgICAgIGFuZ2l2IGFudGFsbGV0IGFmIHNla3RvcmVyIHBlciBzcG9yXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTggZGlzay11dGlscy9mZGlzay5jOjkwMCBkaXNrLXV0aWxzL3BhcnR4LmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIHNla3RvcnN0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIGN5bGluZHJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgImt1bm5lIGlra2UgZmluZGUgZHJpdmVyIGZvciBET1MtZXRpa2V0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgInVrZW5kdCBrb21wYXRpYmlsaXRldHN0aWxzdGFuZCDCuyVzwqsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgaG92ZWRlciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCBkaXNrZXRpa2V0OiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgZW5oZWQgwrslY8KrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCByeWQtdGlsc3RhbmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIkVuaGVkc2VnZW5za2FiZXJuZSAoc2VrdG9yc3TDuHJyZWxzZSBvZyBnZW9tZXRyaSkga3LDpnZlciBhdCBrdW4gZW4gZW5oZWQgYW5naXZlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIiVsdSB1Z3lsZGlnIHNpZGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiVmVsa29tbWVuIHRpbCBmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTYgZGlzay11dGlscy9zZmRpc2suYzoxNjE2Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorIsOGbmRyaW5nZXIgdmlsIGhvbGRlcyBpIGh1a29tbWVsc2VuLCBpbmR0aWwgZHUgYmVzbHV0dGVyIGF0IGdlbW1lIGRlbS5cbiIKKyJWw6ZyIGZvcnNpZ3RpZyBmw7hyIGR1IGJydWdlciBrb21tYW5kZW4gd3JpdGUgKHNrcml2KS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiRW4gaHlicmlkIEdQVCBibGV2IGRldGVrdGVyZXQuIER1IHNrYWwgc3lua3JvbmlzZXJlIGRlbiBoeWJyaWRlIE1CUiBtYW51ZWx0IChla3NwZXJ0a29tbWFuZG8gwrtNwqspLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJEaXNrZXRpa2V0dHlwZTogJXMiCisKKyMgRXZ0LiBrYW4gdmkgb21nw6UgZGV0IGxpZHQgbXlzdGlza2UgImlkZW50aWZpa2F0aW9uIiB2ZWQgYmFyZSBhdCBicnVnZQorIyBmb3Jrb3J0ZWxzZW4gaWQ6CisjIERpc2staWQ6IC4uLgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRGlza2lkZW50aWZpa2F0aW9uOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZSwgJWp1IHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIkdlb21ldHJpOiAlZCBob3ZlZGVyLCAlbGx1IHNla3RvcmVyL3Nwb3IsICVsbHUgY3lsaW5kcmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIkVuaGVkZXI6ICVzIGFmICVkICogJWxkID0gJWxkIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiU2VrdG9yc3TDuHJyZWxzZSAobG9naXNrL2Z5c2lzayk6ICVsdSBieXRlIC8gJWx1IGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkkvTy1zdMO4cnJlbHNlIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZSAvICVsdSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIkp1c3RlcmluZ3Nmb3Jza3lkbmluZzogJWx1IGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSB1ZGRhdGF0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgdWRkYXRhbGluamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAia3VubmUgaWtrZSB0aWxmw7hqZSBkYXRhIHRpbCB1ZGRhdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenUgc3RhcnRlciBpa2tlIHDDpSBlbiBmeXNpc2sgc2VrdG9yZ3LDpm5zZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtL1JBSUQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiAlenUgd2lsbCBiZSB3aXBlZC4iCittc2dzdHIgIkZpbHN5c3RlbS9SQUlELXNpZ25hdHVyIHDDpSBwYXJ0aXRpb24gJXp1IHZpbCBibGl2ZSByeWRkZXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJQYXJ0aXRpb25zdGFiZWxsZW5zIGluZGdhbmdlIGVyIGlra2UgaSBkaXNrcsOma2tlZsO4bGdlLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJTdGFydCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiU2x1dCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiU3TDuHJyZWxzZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJJa2tlIHBhcnRpdGlvbmVyZXQgcGxhZHMgJXM6ICVzLCAlanUgYnl0ZSwgJWp1IHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlcyB1a2VuZHQga29sb25uZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiR2VuZXJpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICJzbGV0IGVuIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAidmlzIGZyaSBpa2tlIHBhcnRpdGlvbmVyZXQgcGxhZHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJ2aXMgbGlzdGUgb3ZlciBrZW5kdGUgcGFydGl0aW9uc3R5cGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICJ0aWxmw7hqIGVuIG55IHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidmlzIHBhcnRpdGlvbnN0YWJlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgInNraWZ0IGVuIHBhcnRpdGlvbnN0eXBlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidmVyaWZpY2VyIHBhcnRpdGlvbnN0YWJlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgInZpcyBpbmZvcm1hdGlvbiBvbSBlbiBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAidmlzIHLDpWRhdGFlbmUgZnJhIGRlbiBmw7hyc3RlIHNla3RvciBww6UgZW5oZWRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJ2aXMgcsOlZGF0YWVuZSBmcmEgZGlza2V0aWtldHRlbiBww6UgZW5oZWRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIm9yZG4gcGFydGl0aW9uc3LDpmtrZWbDuGxnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgIk1pc2MiCittc2dzdHIgIkRpdi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAidmlzIGRlbm5lIG1lbnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICJza2lmdCBlbmhlZGVyIGZvciB2aXNuaW5nL2luZHRhc3RuaW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJla3N0cmEgZnVua3Rpb25hbGl0ZXQgKGt1biBmb3IgZWtzcGVydGVyKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICJTa3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgImluZGzDpnMgZGlza2xheW91dCBmcmEgc2ZkaXNrLXNrcmlwdGZpbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgImR1bXAgZGlza2xheW91dCB0aWwgc2ZkaXNrLXNrcmlwdGZpbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIkdlbSBvZyBhZnNsdXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgInNrcml2IHBhcnRpdGlvbnN0YWJlbCB0aWwgZGlzayBvZyBhZnNsdXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgInNrcml2IHRhYmVsIHRpbCBkaXNrZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMworbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiYWZzbHV0IHVkZW4gYXQgZ2VtbWUgw6ZuZHJpbmdlcm5lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICJyZXR1cm5lciB0aWwgaG92ZWRtZW51ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgInJldHVybmVyIGZyYSBCU0QgdGlsIERPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJPcHJldCBlbiBueSBldGlrZXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJvcHJldCBlbiBueSwgdG9tIEdQVC1wYXJ0aXRpb25zdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAib3ByZXQgZW4gbnksIHRvbSBTR0kgKElSSVgpLXBhcnRpdGlvbnN0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm9wcmV0IGVuIG55LCB0b20gRE9TLXBhcnRpdGlvbnN0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm9wcmV0IGVuIG55LCB0b20gU3VuLXBhcnRpdGlvbnN0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJvcHJldCBlbiBJUklYLXBhcnRpdGlvbnN0YWJlbCAoU0dJKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIsOmbmRyIGFudGFsbGV0IGFmIGN5bGluZHJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTYKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICLDpm5kciBhbnRhbGxldCBhZiBob3ZlZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTcKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIsOmbmRyIGFudGFsbGV0IGFmIHNla3RvcmVyL3Nwb3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICLDpm5kciBkaXNrLUdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiw6ZuZHIgcGFydGl0aW9uc25hdm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiw6ZuZHIgcGFydGl0aW9uLVVVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgIsOmbmRyIHRhYmVsbMOmbmdkZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICJnw6UgdGlsIGJlc2t5dHRlZGUvaHlicmlkZSBNQlIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAic2tpZnQgZGV0IGZvcsOmbGRlZGUgQklPUy1vcHN0YXJ0c2ZsYWciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAic2tpZnQgcHJvdG9rb2xmbGFnZXQgbm8gYmxvY2sgSU8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgInNraWZ0IGRldCBrcsOmdmVkZSBwYXJ0aXRpb25zZmxhZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgInNraWZ0IGRlIEdVSUQtc3BlY2lmaWtrZSBkZWxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAic2tpZnQgc2tyaXZlYmVza3l0dGVsc2VzZmxhZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAic2tpZnQgZGV0IG1vbnRlcmJhcmUgZmxhZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLDpm5kciBhbnRhbGxldCBhZiBhbHRlcm5hdGl2ZSBjeWxpbmRyZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiw6ZuZHIgYW50YWxsZXQgYWYgZWtzdHJhIHNla3RvcmVyIHBlciBjeWxpbmRlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICLDpm5kciBpbnRlcmxlYXZlZmFrdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIsOmbmRyIHJvdGF0aW9uc2hhc3RpZ2hlZCAob21kci4gcGVyIG1pbnV0KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIsOmbmRyIGFudGFsbGV0IGFmIGZ5c2lza2UgY3lsaW5kcmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJ2w6ZsZyBlbiBvcHN0YXJ0c3BhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAicmVkaWdlciBpbmRnYW5nIGkgb3BzdGFydHNmaWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgInbDpmxnIHNnaSBzd2FwLXBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA4Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJvcHJldCBTR0ktaW5mb3JtYXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJza2lmdCBldCBvcHN0YXJ0c2ZsYWcgKGJvb3RhYmxlKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAicmVkaWdlciBpbmRsZWpyZXQgQlNELWRpc2tldGlrZXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAic2tpZnQgRE9TLWtvbXBhdGlsaXRldHNmbGFnZXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgImZseXQgc3RhcnRlbiBww6UgZGF0YSBpIGVuIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgInNraWZ0IGRpc2tpZGVudGlmaWthdGlvbmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICJyZXR1cm5lciBmcmEgYmVza3l0dGV0L2h5YnJpZCBNQlIgdGlsIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAicmVkaWdlciBkcmV2ZGF0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgImluc3RhbGxlciBvcHN0YXJ0c2lnYW5nc8OmdHRlciAowrtib290c3RyYXDCqykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICJ2aXMgaGVsZSBkaXNrZXRpa2V0dGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgImzDpm5rIGVuIEJTRC1wYXJ0aXRpb24gdGlsIGVuIGlra2UtQlNELXBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiSGrDpmxwIChla3NwZXJ0a29tbWFuZG9lcik6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MyBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIasOmbHA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJEdSByZWRpZ2VyZXIgZW4gaW5kbGVqcmV0IMK7JXPCqy1wYXJ0aXRpb25zdGFiZWwsIHByaW3DpnIgcGFydGl0aW9uc3RhYmVsIGVyIMK7JXPCqy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJFa3NwZXJ0a29tbWFuZG8gKG0gZm9yIGhqw6ZscCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDI1Cittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiS29tbWFuZG8gKG0gZm9yIGhqw6ZscCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyJWaWwgZHUgdmlya2VsaWcgYWZzbHV0dGU/ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiB1a2VuZHQga29tbWFuZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJJbmR0YXN0IHNrcmlwdGZpbG5hdm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIlJlc2V0dGluZyBmZGlzayEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiU2tyaXB0IGFudmVuZHQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJLdW5uZSBpa2tlIHRyYW5zZm9ybWVyZSBkaXNrbGF5b3V0IHRpbCBza3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICJTa3JpcHQgZ2VtdC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICJQYXJ0aXRpb24gIyV6dTogaW5kZWhvbGRlciBlbiAlcy1zaWduYXR1ci4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1OCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDcKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIsOYbnNrZXIgZHUgYXQgZmplcm5lIHNpZ25hdHVyZW4/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiU2lnbmF0dXJlbiB2aWwgYmxpdmUgZmplcm5ldCBhZiBlbiBlbiB3cml0ZS1rb21tYW5kby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgImt1bm5lIGlra2Ugc2tyaXZlIGRpc2tldGlrZXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzOAorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIkt1bm5lIGlra2UgcmV0dGUgcGFydGl0aW9uc3LDpmtrZWbDuGxnZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiUGFydGl0aW9uc3LDpmtrZWbDuGxnZSByZXR0ZXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJLdW5uZSBpa2tlIHNsZXR0ZSBwYXJ0aXRpb24gJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiU2tpZnRlciBlbmhlZGVyIGZvciB2aXNuaW5nL2luZHRhc3RuaW5nIHRpbCBjeWxpbmRyZSAoRk9Sw4ZMREVUISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJTa2lmdGVyIGVuaGVkZXIgZm9yIHZpc25pbmcvaW5kdGFzdG5pbmcgdGlsIHNla3RvcmVyLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIkVmdGVybGFkZXIgaW5kbGVqcmV0IGRpc2tldGlrZXQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICJOeXQgbWFrc2ltdW0gZm9yIHBvc3RlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIkfDpXIgaSBiZXNreXR0ZXQvaHlicmlkIE1CUi1kaXNrZXRpa2V0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiTnkgVVVJRCAoaSA4LTQtNC00LTEyLWZvcm1hdCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJOeXQgbmF2biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJJbmR0YXN0ZXIgaW5kbGVqcmV0IEJTRC1kaXNrZXRpa2V0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIkFudGFsIGN5bGluZHJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJBbnRhbCBob3ZlZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIkFudGFsIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBlciBtb250ZXJldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgZXIgaWtrZSBtb250ZXJldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMjkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk4IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDUKKyM6IGxpYi9wYXRoLmM6MTQwIGxpYi9wYXRoLmM6MTYxIGxpYi9wYXRoLmM6MTgyIGxpYi9wYXRoLmM6MjMwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY1NQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxNCBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MjMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICJrYW4gaWtrZSBsw6ZzZSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGxpYi9wYXRoLmM6MTYzIGxpYi9wYXRoLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiZm9ydG9sa25pbmdzZmVqbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAia2FuIGlra2Ugb3ByZXR0ZSBtYXBwZSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJMw6VzZXIgZGlzayBlZnRlciAlcyAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKHZlbnRlcikgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAibHlra2VkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAibWlzbHlra2VkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIkzDpXNlciAlcyBvcC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgImt1bm5lIGlra2Ugb3Bzw6Z0dGUgYmVza3JpdmVsc2UgZm9yICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogZm9ydG9sayBmZWpsIGkgbGluamUgJWQgLSBpZ25vcmVyZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNCBkaXNrLXV0aWxzL2ZzY2suYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgZm9ydG9sa2UgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImZvcmdyZW5pbmcgbWlzbHlra2VkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBrw7hyIG1pc2x5a2tlZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODIKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgInZlbnQ6IElra2UgZmxlcmUgdW5kZXJwcm9jZXNzZXI/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICJBZHZhcnNlbC4uLiAlcyBmb3IgZW5oZWQgJXMgYWZzbHV0dGVkZSBtZWQgc2lnbmFsICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlczogc3RhdHVzIGVyICV4LCBiw7hyIGFsZHJpZyBza2UuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIkFmc2x1dHRlZGUgbWVkICVzIChhZnNsdXRuaW5nc3N0YXR1cyAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJmZWpsICVkICglbSkgdW5kZXIga8O4cnNlbCBhZiBmc2NrLiVzIGZvciAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorIkVudGVuIGFsbGUgZWxsZXIgaW5nZW4gYWYgZmlsc3lzdGVtdHlwZXJuZSB2aWRlcmVzZW5kdCB0aWwgLXQgc2thbCB2w6ZyZVxuIgorImZvcmFuc3RpbGxldCBtZWQgwrtuZWrCqyBlbGxlciDCuyHCqy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiVzOiBzcHJpbmdlciB1Z3lsZGlnIGxpbmplIGkgL2V0Yy9mc3RhYiBvdmVyOiBiaW5kIG1vbnRlcmluZyBtZWQgZmNzay1wYXNzLXRhbCBkZXIgZXIgZm9yc2tlbGxpZ3QgZnJhIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBzcHJpbmdlciBlbmhlZCBkZXIgaWtrZSBmaW5kZXMgb3ZlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiBpa2tlZWtzaXN0ZXJlbmRlIGVuaGVkIChmc3RhYi10aWx2YWxnZXQgwrtub2ZhaWzCqyBrYW4gYnJ1Z2VzIHRpbCBhdCBzcHJpbmdlIGRlbm5lIGVuaGVkIG92ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiBzcHJpbmdlciB1a2VuZHQgZmlsc3lzdGVtdHlwZSBvdmVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAia2FuIGlra2UgdGpla2tlICVzOiBmc2NrLiVzIGJsZXYgaWtrZSBmdW5kZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJLb250cm9sbGVyZXIgYWxsZSBmaWxzeXN0ZW1lci5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS12ZW50ZXItLSAoZ2VubmVtZ2FuZyAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSAtLSBbZnMtdGlsdmFsZ10gWzxmaWxzeXN0ZW0+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJLb250cm9sbGVyIG9nIHJlcGFyZXIgZXQgTGludXgtZmlsc3lzdGVtLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIEtvbnRyb2xsZXIgYWxsZSBmaWxzeXN0ZW1lclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxmZD5dICB2aXMgc3RhdHVzYmrDpmxrZTsgZmlsYmVza3JpdmVyIGVyIGZvciBncmFmaXNrZSBicnVnZXJmbGFkZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBsw6VzIGVuaGVkZW4gZm9yIGF0IGdhcmFudGVyZSBla3NrbHVzaXYgYWRnYW5nXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBrb250cm9sbGVyIGlra2UgbW9udGVyZWRlIGZpbHN5c3RlbWVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTgKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICBrw7hyIGlra2UsIGJhcmUgdmlzIGh2YWQgZGVyIHNrYWwgZ8O4cmVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAga29udHJvbGxlciBmaWxzeXN0ZW1lciBwYXJhbGxlbHQsIGlua2x1c2l2IHJvb3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAgdWRlbGFkIHJvb3QtZmlsc3lzdGVtOyBueXR0aWcga3VuIG1lZCDCuy1BwqtcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorIiAtciBbPGZkPl0gIHJhcHBvcnRlciBzdGF0aXN0aWsgZm9yIGh2ZXIga29udHJvbGxlcmV0IGVuaGVkO1xuIgorIiAgICAgICAgICAgIGZpbGJlc2tyaXZlbHNlIGVyIGZvciBncmFmaXNrZSBicnVnZXJmbGFkZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICBzZXJpYWxpc2VyIGRlIGtvbnRyb2xsZXJlbmRlIG9wZXJhdGlvbmVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICB2aXMgaWtrZSB0aXRsZW4gdmVkIG9wc3RhcnRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZpY2VyIGZpbHN5c3RlbXR5cGVyIGZvciBrb250cm9sO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBrYW4gdsOmcmUgZW4ga29tbWFhZHNraWx0IGxpc3RlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBmb3JrbGFyIGh2YWQgZGVyIHNrZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQxMworbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIlNlIGRlIHNwZWNpZmlra2UgZnNjay4qLWtvbW1hbmRvZXIgZm9yIHRpbGfDpm5nZWxpZ2UgZnMtdGlsdmFsZy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICJmb3IgbWFuZ2UgZW5oZWRlciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICJFciAvcHJvYyBtb250ZXJldD8iCisKKyMgdHJvciBtYXRjaGluZyBlciAncGFzc2VuZGUnIHRpbCBldCBlbGxlciBhbmRldCBrcml0ZXJpdW0sIGlra2UKKyMgbsO4ZHZlbmRpZ3ZpcyBlbnMKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAic2thbCB2w6ZyZSByb290IChyb2QpIGZvciBhdCBza2FubmUgZm9yIHBhc3NlbmRlIGZpbHN5c3RlbWVyOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZpbmRlIGZpbHN5c3RlbSBkZXIgc3RlbW1lciBvdmVyZW5zOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ5MiBkaXNrLXV0aWxzL2ZzY2suYzoxNTg5IG1pc2MtdXRpbHMva2lsbC5jOjIzNgorIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc4Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJmb3IgbWFuZ2UgcGFyYW1ldHJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTQ3IGRpc2stdXRpbHMvZnNjay5jOjE1NTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgLXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICJ0aWx2YWxnZXQgLS1waWQga2FuIGt1biBhbmdpdmVzIGVuIGdhbmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJ0aWx2YWxnIMK7JXPCqyBrcsOmdmVyIGVuIHBhcmFtZXRlciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXIgZm9yIC1yOiAlZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTY0MworbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICJ0aWx2YWxnZXQgLWwga2FuIGt1biBicnVnZXMgbWVkIGVuIGVuaGVkIC0gaWdub3JlciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxmaWw+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS29udHJvbGxlciBvZyByZXBhcmVyIGV0IGtvbXByaW1lcmV0IFJPTS1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICAga3VuIGZvciBrb21wYXRpYmlsaXRldCwgaWdub3JlcmV0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHbDpnIgbWVyZSB1ZGR5YmVuZGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGt1biBmb3Iga29tcGF0aWJpbGl0ZXQsIGlnbm9yZXJldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDxzdHI+ICAgIGJydWcgZGVubmUgYmxva3N0w7hycmVsc2UsIHN0YW5kYXJkIGVyIHNpZGVzdMO4cnJlbHNlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiICAgICAtLWV4dHJhY3RbPTxtYXBwZT5dICB0ZXN0IHVkcGFrbmluZywgdWR0csOmayB2YWxnZnJpIHRpbCA8bWFwcGU+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiaW9jdGwgbWlzbHlra2VkZXM6IEt1bm5lIGlra2UgYmVzdGVtbWUgZmlsc3lzdGVtZXRzIHN0w7hycmVsc2U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiaHZlcmtlbiBlbiBibG9rZW5oZWQgZWxsZXIgZmlsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJmaWxsw6ZuZ2RlIGZvciBrb3J0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc2IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTEgbGliZmRpc2svc3JjL2JzZC5jOjcxNyBsaWJmZGlzay9zcmMvYnNkLmM6ODkyCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjAzIGxvZ2luLXV0aWxzL2xhc3QuYzoyMzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAic8O4Z25pbmcgcMOlICVzIG1pc2x5a2tlZGVzIgorCisjIGhlciBrYW4gdmlzdCBnb2R0IGJydWdlcyBzdXBlcmJsb2ttYWdpLCBlbGxlciBsaWR0IHDDpm5lcmU6CisjICBtYWdpc2sgc3VwZXJibG9rLXRhbCBibGV2IC4uLgorIyAoJ21hZ2lza2UgdGFsJyBlciBub2dldCBzb20gbWFuIGJydWdlciB0aWwgYXQgdGpla2tlIGF0IGZpbHN5c3RlbWV0CisjIGhhciBkZXQgZ29kdCwgbWVuZXIgamVnLikKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJtYWdpc2sgc3VwZXJibG9rdGFsIGJsZXYgaWtrZSBmdW5kZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiY3JhbWZzIGVuZGlhbm5lc3MgZXIgJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImJpZyIKK21zZ3N0ciAic3RvciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAibGlsbGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJmaWxzeXN0ZW1mdW5rdGlvbmVyIGVyIGlra2UgdW5kZXJzdMO4dHRldCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgInN1cGVyYmxva3N0w7hycmVsc2UgKCVkKSBlciBmb3IgbGlsbGUiCisKKyMgInplcm8gKG51bCkgb3B0w6ZsbGluZyBhZiBmaWwiCisjIEFzazogamVnIGzDpnNlciBkZXQgc29tOiBmaWx0YWxsZXQgZXIgbnVsCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJmaWx0YWxsZXQgZXIgbnVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA1Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgImZpbCBuw6VyIHVkIG92ZXIgZmlsc3lzdGVtZXRzIHNsdXRuaW5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA3Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImdhbW1lbHQgY3JhbWZzLWZvcm1hdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImthbiBpa2tlIHRlc3RlIENSQzogR2FtbWVsdCBjcmFtZnMtZm9ybWF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIHR5cGVza3JpcHRmaWwgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImNyYy1mZWpsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJzw7hnbmluZyBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJsw6ZzbmluZyBhZiByb21mcyBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAicm9kLWlub2RlIGVyIGlra2UgZW4gbWFwcGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICJ1Z3lsZGlnIHJvZGZvcnNreWRuaW5nICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgImRhdGFibG9rIGVyIGZvciBzdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJkZWtvbXByaW1lcmluZ3NmZWpsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgaHVsIHZlZCAlbHUgKCV6dSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgdWRwYWtrZXIgYmxvayBmcmEgJWx1IHRpbCAlbHUgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgImlra2UtYmxvayAoJWxkKSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiaWtrZS1zdMO4cnJlbHNlICglbGQgbW9kICVsZCkgYnl0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAic2tyaXZuaW5nIG1pc2x5a2tlZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIG1pc2x5a2tlZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biBtaXNseWtrZWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgbWlzbHlra2VkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJtYXBwZW4gaW5vZGUgaGFyIG51bGZvcnNreWRuaW5nIG9nIHN0w7hycmVsc2UgZm9yc2tlbGxpZyBmcmEgbnVsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2RpciBtaXNseWtrZWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAibMOmbmdkZW4gcMOlIGZpbG5hdm5ldCBlciBudWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODAKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICJ1Z3lsZGlnIGzDpm5nZGUgcMOlIGZpbG5hdm4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODYKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJ1Z3lsZGlnIGlub2RlLWZvcnNreWRuaW5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImZpbGVuIGlub2RlIGhhciBudWxmb3Jza3lkbmluZyBvZyBzdMO4cnJlbHNlIGZvcnNrZWxsaWcgZnJhIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwNAorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJmaWxlbiBpbm9kZSBoYXIgbnVsc3TDuHJyZWxzZSBvZyBmb3Jza3lkbmluZyBmb3Jza2VsbGlnIGZyYSBudWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAic3ltYm9sc2sgaGVudmlzbmluZyBoYXIgbnVsZm9yc2t5ZG5pbmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzUKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgInN5bWJvbHNrIGhlbnZpc25pbmcgaGFyIG51bHN0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAic3TDuHJyZWxzZXNmZWpsIGkgc3ltYm9sc2sgaGVudmlzbmluZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJzeW1ib2xzayBoZW52aXNuaW5nIG1pc2x5a2tlZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgInNwZWNpZWwgZmlsIGhhciBmb3Jza3lkbmluZyBmb3Jza2VsbGlnIGZyYSBudWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJmaWZvIGhhciBzdMO4cnJlbHNlIGZvcnNrZWxsaWcgZnJhIG51bDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAic29ra2VsIGhhciBzdMO4cnJlbHNlIGZvcnNrZWxsaWcgZnJhIG51bDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAiYm9ndXN0aWxzdGFuZDogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vZCBtaXNseWtrZWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAibWFwcGVkYXRhc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJtYXBwZWRhdGFzbHV0bmluZyAoJWx1KSAhPSBzdGFydCBww6UgZmlsZGF0YSAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAidWd5bGRpZyBmaWxkYXRhZm9yc2t5ZG5pbmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIGJsb2tzdMO4cnJlbHNlc3BhcmFtZXRlciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IE8uay5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS29udHJvbGxlciBrb25zaXN0ZW5zZW4gZm9yIGV0IE1pbml4LWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgIHZpcyBhbGxlIGZpbG5hdm5lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGlzayByZXBhcmF0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFrdGl2IHJlcGFyYXRpb25cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgdsOmciB1ZGR5YmVuZGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zdXBlciAgICAgIHZpcyBzdXBlcmJsb2tpbmZvcm1hdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgIGFrdGl2ZXIgdGlsc3RhbmQgZm9yIGlra2UgcnlkZGVkZSBhZHZhcnNsZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkzCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgZnJlbXR2aW5nIGtvbnRyb2xcbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAoai9uKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4vaik/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAialxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgZXIgbW9udGVyZXQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIlZpbCBkdSB2aXJrZWxpZyBmb3J0c8OmdHRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAidGplayBhZmJydWR0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9uZS1uciA8IEZJUlNUWk9ORSBpIGZpbGVuIMK7JXPCqy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25lIG5yID49IFpPTkVTIGkgZmlsZW4gwrslc8KrLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiRmplcm4gYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJMw6ZzZWZlamw6IGt1bm5lIGlra2Ugc8O4Z2UgdGlsIGJsb2sgaSBmaWxlbiDCuyVzwqtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiTMOmc2VmZWpsOiB1Z3lsZGlnIGJsb2sgaSBmaWxlbiDCuyVzwqtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiSW50ZXJuIGZlamw6IGZvcnPDuGdlciBhdCBza3JpdmUgdWd5bGRpZyBibG9rXG4iCisiU2tyaXZlZm9yc8O4ZyBpZ25vcmVyZXRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInPDuGduaW5nIG1pc2x5a2tlZGVzIGkgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJTa3JpdmVmZWpsOiB1Z3lsZGlnIGJsb2sgaSBmaWwgwrslc8KrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiQWR2YXJzZWw6IGJsb2sgZXIgdWRlbiBmb3IgaW50ZXJ2YWxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgInPDuGduaW5nIG1pc2x5a2tlZGVzIGkgd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAia3VubmUgaWtrZSBza3JpdmUgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiS3VubmUgaWtrZSBza3JpdmUgaW5vZGUtb3ZlcnNpZ3RlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJLdW5uZSBpa2tlIHNrcml2ZSB6b25lLW92ZXJzaWd0ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIkt1bm5lIGlra2Ugc2tyaXZlIGlub2RlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY0Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdyZSBmb3Igc3VwZXJibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjcKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSBzdXBlci1ibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ1Z3lsZGlndCBtYWdpc2sgbnVtbWVyIGkgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJLdW4gMWsgYmxva2tlL3pvbmVyIHVuZGVyc3TDuHR0ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInVneWxkaWd0IHNfbmlub2Rlcy1mZWx0IGkgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInVneWxkaWd0IHNfaW1hcF9ibG9ja3MtZmVsdCBpIHN1cGVyLWJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NworbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInVneWxkaWd0IHNfZmlyc3RkYXRhem9uZS1mZWx0IGkgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInVneWxkaWd0IHNfem1hcF9ibG9ja3MtZmVsdCBpIHN1cGVyLWJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdlciB0aWwgaW5vZGUtb3ZlcnNpZ3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJLdW5uZSBpa2tlIGFsbG9rZXJlIG1lbGxlbWxhZ2VyIHRpbCB6b25lb3ZlcnNpZ3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdlciB0aWwgaW5vZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdlciB0aWwgaW5vZGUtb3B0w6ZsbGluZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbGxva2VyZSBtZWxsZW1sYWdlciB0aWwgem9uZW9wdMOmbGxpbmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiS3VubmUgaWtrZSBsw6ZzZSBpbm9kZS1vdmVyc2lndCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkt1bm5lIGlra2UgbMOmc2Ugem9uZW92ZXJzaWd0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIkt1bm5lIGlra2UgbMOmc2UgaW5vZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIkFkdmFyc2VsOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2RlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgYmxva2tlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRsO4cnN0ZWRhdGF6b25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZXN0w7hycmVsc2U9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1ha3NzdMO4cnJlbHNlPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJGaWxzeXN0ZW0tdGlsc3RhbmQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibmF2bmVsw6ZuZ2RlPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQgZXIgbWFya2VyZXQgc29tIHVicnVndCwgbWVuIGJydWdlcyBhZiBmaWxlbiDCuyVzwqtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJNYXJrZXIgaSBicnVnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJGaWxlbiDCuyVzwqsgaGFyIHRpbHN0YW5kICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBZHZhcnNlbDogQW50YWwgaW5vZGVyIGVyIGZvciBzdG9ydC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgInJvZC1pbm9kZSBlciBpa2tlIGVuIG1hcHBlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvayBibGV2IGJydWd0IHRpZGxpZ2VyZS4gTnUgaSBmaWxlbiDCuyVzwqsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJTbGV0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkJsb2sgJWQgaSBmaWxlbiDCuyVzwqsgZXIgbWFya2VyZXQgc29tIHVicnVndC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJLb3JyaWdlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJNYXBwZW4gwrslc8KrIGluZGVob2xkZXIgZm9ya2VydCBpbm9kZS1hbnRhbCBmb3IgZmlsZW4gwrslLipzwqsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBGamVybiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogdWd5bGRpZyBtYXBwZTogwrsuwqsgZXIgaWtrZSBmw7hyc3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiB1Z3lsZGlnIG1hcHBlOiDCuy4uwqsgZXIgaWtrZSBudW1tZXIgdG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIzCittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImludGVybiBmZWpsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IHVneWxkaWcgbWFwcGU6IHN0w7hycmVsc2UgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IHVneWxkaWcgbWFwcGU6IHVneWxkaWcgaV96b25lLCBicnVnIC0tcmVwYWlyIHRpbCBhdCByZXR0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgIm1pc2x5a2tldCBzw7hnbmluZyBpIGJhZF96b25lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJJbm9kZSAlbHUtdGlsc3RhbmQgaWtrZSBzbGV0dGV0LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSBpa2tlIGJydWd0LCBtYXJrZXJldCBzb20gYnJ1Z3QgaSBiaXRvdmVyc2lndGVuLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUgaSBicnVnLCBtYXJrZXJldCBzb20gdWJydWd0IGkgYml0b3ZlcnNpZ3Rlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiU8OmdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVsdSAodGlsc3RhbmQgPSAlMDdvKSwgaV9ubGlua3M9JWQsIG9wdGFsdD0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiU8OmdCBpX25saW5rcyB0aWwgZGV0IG9wdGFsdGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiWm9uZSAlbHU6IG1hcmtlcmV0IHNvbSBicnVndCwgaW5nZW4gZmlsZXIgYnJ1Z2VyIGRlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiQWZtYXJrZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmUgJWx1OiBpIGJydWcsIG9wdGFsdD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlbHU6IGlra2UgaSBicnVnLCBvcHRhbHQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJ1Z3lsZGlnIGlub2RlLXN0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidWd5bGRpZyB2MiBpbm9kZS1zdMO4cnJlbHNlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAia3LDpnZlciB0ZXJtaW5hbCB0aWwgaW50ZXJha3RpdmUgcmVwYXJhdGlvbmVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSDDpWJuZSAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBlciBpIG9yZGVuLCB0amVra2VzIGlra2UuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJHZW5uZW10dmluZ2VyIHRqZWsgYWYgZmlsc3lzdGVtIHDDpSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiRmlsc3lzdGVtIHDDpSAlcyBlciBtw6Vza2UgaWtrZSBpIG9yZGVuLCBrcsOmdmVyIGV0IHRqZWsuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpbm9kZXIgYnJ1Z3QgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uZXIgYnJ1Z3QgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHJlZ3Vsw6ZyZSBmaWxlclxuIgorIiU2ZCBtYXBwZXJcbiIKKyIlNmQgdGVnbi1lbmhlZHNmaWxlclxuIgorIiU2ZCBibG9rLWVuaGVkc2ZpbGVyXG4iCisiJTZkIGhlbnZpc25pbmdlclxuIgorIiU2ZCBzeW1ib2xza2UgaGVudmlzbmluZ2VyXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIi1GSUxTWVNURU0gQkxFViBNT0RJRklDRVJFVC1cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICJza3Jpdm5pbmcgbWlzbHlra2VkZXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogbcOlIGlra2UgdsOmcmUgZXQgSVNPLWZpbHN5c3RlbSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICJsw6ZzZWZlamwgcMOlICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgInNla3RvcmFudGFsOiAlZCwgc2VrdG9yc3TDuHJyZWxzZTogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+IC4uLlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxpc285NjYwX2JpbGxlZF9maWw+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWaXMgbMOmbmdkZW4gZm9yIGV0IElTTy05NjYwLWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTx0YWw+ICBkaXZpZGVyIGFudGFsbGV0IGFmIGJ5dGUgbWVkIDx0YWw+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgdmlzIHNla3RvcmFudGFsIG9nIHN0w7hycmVsc2VcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgbsOmdm5lciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiQnJ1ZzogJXMgW3RpbHZhbGddIGVuaGVkIFtibG9rYW50YWxdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJMYXYgZXQgU0NPIGJmcy1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsdmFsZzpcbiIKKyIgLU4sIC0taW5vZGVzPUFOVCAgICBhbmdpdiDDuG5za2V0IGFudGFsIGlub2RlclxuIgorIiAtViwgLS12bmFtZT1OQVZOICAgIGFuZ2l2IG5hdm4gZm9yIGRpc2tlbmhlZFxuIgorIiAtRiwgLS1mbmFtZT1OQVZOICAgIGFuZ2l2IG5hdm4gZm9yIGZpbHN5c3RlbVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGZvcmtsYXIgaHZhZCBkZXIgc2tlclxuIgorIiAtYyAgICAgICAgICAgICAgICAgIGRlbm5lIGluZHN0aWxsaW5nIGlnbm9yZXJlcyBpIHN0aWxoZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICBkZW5uZSBpbmRzdGlsbGluZyBpZ25vcmVyZXMgaSBzdGlsaGVkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisiICAgICAgICAgICAgICAgICAgICAgLVYgc29tIHZlcnNpb24gc2thbCB2w6ZyZSBlbmVzdGUgdGlsdmFsZ1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDUKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgInVneWxkaWd0IGFudGFsIGlub2RlciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJuYXZuIHDDpSBkaXNrZW5oZWQgZXIgZm9yIGxhbmd0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImZpbHN5c3RlbW5hdm4gZXIgZm9yIGxhbmd0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAidWd5bGRpZ3QgYmxva2FudGFsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAia2FuIGlra2UgaW5kaGVudGUgc3TDuHJyZWxzZW4gYWYgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImJsb2twYXJhbWV0ZXIgZXIgZm9yIHN0b3IsIG1ha3MuIGVyICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJmb3IgbWFuZ2UgaW5vZGVyIC0gw7h2cmUgZ3LDpm5zZSBlciA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAiaWtrZSBwbGFkcyBub2ssIGtyw6Z2ZXIgbWluZHN0ICVsbHUgYmxva2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiRW5oZWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiRGlza2VuaGVkOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJGU25hdm46IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiQmxva3N0w7hycmVsc2U6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlcjogJWxkIChpIGVuIGJsb2spXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbm9kZXI6ICVsZCAoaSAlbGx1IGJsb2trZSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxva2tlOiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIklub2RlLXNsdXQ6ICVkLCBkYXRhLXNsdXQ6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImZlamwgdW5kZXIgc2tyaXZuaW5nIGFmIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZmVqbCB1bmRlciBza3Jpdm5pbmcgYWYgcm9kLWlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZmVqbCB1bmRlciBza3Jpdm5pbmcgYWYgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJzw7hnZWZlamwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImZlamwgdW5kZXIgc2tyaXZuaW5nIGFmIC4taW5kZ2FuZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwMQorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgImZlamwgdW5kZXIgc2tyaXZuaW5nIGFmIC4uLWluZGdhbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZmVqbCB1bmRlciBsdWtuaW5nIGFmICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFstdCA8dHlwZT5dIFtmcy10aWx2YWxnXSA8ZW5oZWQ+IFs8c3TDuHJyZWxzZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkxhdiBldCBMaW51eC1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxzeXN0ZW10eXBlOyBuw6VyIHVzcGVjaWZpY2VyZXQgYnJ1Z2VzIGV4dDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0cmUgZm9yIGRlbiByZWVsbGUgZmlsc3lzdGVtYnlnZ2VyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8ZW5oZWQ+ICAgICAgICBzdGkgdGlsIGVuaGVkZW4gc29tIHNrYWwgYnJ1Z2VzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8c3TDuHJyZWxzZT4gICAgYW50YWwgYmxva2tlIGRlciBza2FsIGJydWdlcyBww6UgZW5oZWRlblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBmb3JrbGFyIGh2YWQgZGVyIHNrZXI7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmljZXJpbmcgYWYgLVYgbWVyZSBlbmQgZW4gZ2FuZyB2aWwgbWVkZsO4cmUgZXQgdMO4cmzDuGJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBrw7hyZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXNcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiYnJ1ZzogJXMgWy1oXSBbLXZdIFstYiBibG9rc3RyXSBbLWUgdWRnYXZlXSBbLU4gZW5kaWFuXSBbLWkgZmlsXSBbLW4gbmF2bl0gbWFwcGVuYXZuIHVkZmlsXG4iCisiIC1oICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdFxuIgorIiAtdiAgICAgICAgIHbDpnIgbWVyZSBmb3JrbGFyZW5kZVxuIgorIiAtRSAgICAgICAgIGfDuHIgYWxsZSBhZHZhcnNsZXIgdGlsIGZlamwgKGFmc2x1dG5pbmdzc3RhdHVzIG92ZXIgbnVsKVxuIgorIiAtYiBibG9rc3RyIGJlbnl0IGRlbm5lIGJsb2tzdMO4cnJlbHNlLCBza2FsIHN2YXJlIHRpbCBzaWRlc3TDuHJyZWxzZW5cbiIKKyIgLWUgdWRnYXZlICBhbmdpdiB1ZGdhdmVudW1tZXIgKGVuIGRlbCBhZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHPDpnQgZW5kaWFubmVzcyBmb3IgY3JhbWZzIChiaWd8bGl0dGxlfGhvc3QpLCBzdGFuZGFyZHbDpnJ0XG4iCisiIC1pIGZpbCAgICAgaW5kc8OmdCBmaWxhZnRyeWsgaSBmaWxzeXN0ZW1ldCAoa3LDpnZlciA+PSAyLjQuMClcbiIKKyIgLW4gbmF2biAgICBhbmdpdiBuYXZuZXQgcMOlIGNyYW1mcy1maWxzeXN0ZW1ldFxuIgorIiAtcCAgICAgICAgIGluZHPDpnQgJWQgYnl0ZSBmb3JhbiBvcHN0YXJ0c2tvZGVuXG4iCisiIC1zICAgICAgICAgc29ydMOpciBtYXBwZWluZGdhbmdlIChnYW1tZWx0IHRpbHZhbGcsIGlnbm9yZXJlcylcbiIKKyIgLXogICAgICAgICBsYXYgZWtzcGxpY2l0dGUgaHVsbGVyIChrcsOmdmVyID49IDIuMy4zOSlcbiIKKyIgbWFwcGVuYXZuICByb2RlbiBhZiBkZXQgZmlsc3lzdGVtLCBkZXIgc2thbCBrb21wcmltZXJlc1xuIgorIiB1ZGZpbCAgICAgIHVkZGF0YWZpbFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rIG1pc2x5a2tlZGVzOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgbWFwcGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDIKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiZm9yIHN0b3J0IGZpbHN5c3RlbS4gIEFmc2x1dHRlci4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBQUFSR0g6IGJsb2sgYmxldiDCu2tvbXByaW1lcmV0wqsgdGlsID4gMipibG9rbMOmbmdkZW4gKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBsdWtrZSBmaWxlbiDCuyVzwqsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgZWRpdGlvbnNudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgInVneWxkaWcgZW5kaWFubmVzcyBhbmdpdmV0LiBTa2FsIHbDpnJlIMK7YmlnwqssIMK7bGl0dGxlwqsgZWxsZXIgwrtob3N0wqsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJhZHZhcnNlbDogZXQgZ8OmdCBww6UgZGVuIG7DuGR2ZW5kaWdlIHN0w7hycmVsc2UgKMO4dnJlIGdyw6Zuc2UpIGVyICVsbGRNQiwgbWVuIGRlbiBtYWtzaW1hbGUgYWZ0cnlrc3N0w7hycmVsc2UgZXIgJXVNQi4gIFZpIGJsaXZlciBtdWxpZ3ZpcyBpa2tlIGbDpnJkaWdlLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIlJPTS1hZnRyeWtza29ydCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIk1lZHRhZ2VyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiTWFwcGVkYXRhOiAlemQgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiQWx0OiAlemQga2lsb2J5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyYmxvazogJXpkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICJkZXIgZXIgdGlsZGVsdCBmb3IgbGlkdCBwbGFkcyB0aWwgUk9NLWFmdHJ5a2tldCAoJWxsZCB0aWxkZWx0LCAlenUgYnJ1Z3QpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJTa3Jpdm5pbmcgYWYgUk9NLWFmdHJ5ayBtaXNseWtrZWRlcyAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIlJPTS1hZnRyeWsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgImFkdmFyc2VsOiBmaWxuYXZuZSBhZmtvcnRldCB0aWwgJXUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgImFkdmFyc2VsOiBmaWxlciBvdmVyc3BydW5nZXQgcGdhLiBmZWpsLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgImFkdmFyc2VsOiBmaWxzdMO4cnJlbHNlciBhZmtvcnRldCB0aWwgJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorCisjIHNww7hyZ3Ntw6VsZXQgZXIgb20gZGV0ICpnaXZlciogc2lra2VyaGVkc3Byb2JsZW1lciwgZWxsZXIgbcOlc2tlIGJhcmUKKyMgZXIgZXQgc3ltcHRvbSBww6UgYXQgZGVyIGthbiB2w6ZyZSBzaWtrZXJoZWRzcHJvYmxlbWVyIDopCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTExCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImFkdmFyc2VsOiB1aWRzIGZvcmtvcnRldCB0aWwgJXUgYml0LiAoRGV0dGUga2FuIHbDpnJlIGV0IHNpa2tlcmhlZHNwcm9ibGVtLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiYWR2YXJzZWw6IGdpZHMgZm9ya29ydGV0IHRpbCAldSBiaXQuIChEZXR0ZSBrYW4gdsOmcmUgZXQgc2lra2VyaGVkc3Byb2JsZW0uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiQURWQVJTRUw6IGVuaGVkc251bXJlIGVyIGFma29ydGV0IHRpbCAldSBiaXQuIERldCBiZXR5ZGVyIG7DpnN0ZW4gbWVkXG4iCisic2lra2VyaGVkLCBhdCBub2dsZSBhZiBlbmhlZHNmaWxlcm5lIHZpbCB2w6ZyZSBmZWpsYmVow6ZmdGVkZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIC9kZXYvbmFtZSBbYmxva2tlXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgLTEgICAgICAgICAgICAgICAgICAgICAgYnJ1ZyBNaW5peC12ZXJzaW9uIDFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIGJydWcgTWluaXgtdmVyc2lvbiAyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICBicnVnIE1pbml4LXZlcnNpb24gM1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lbGVuZ3RoIDxhbnRhbD4gbWFrc2ltYWwgbMOmbmdkZSBmb3IgZmlsbmF2bmVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ0Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtaSwgLS1pbm9kZXMgPGFudGFsPiAgICBhbnRhbGxldCBhZiBpbm9kZXIgZm9yIGZpbHN5c3RlbWV0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBrb250cm9sbGVyIGVuaGVkZW4gZm9yIHVneWxkaWdlIGJsb2trZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDYKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIgLWwsIC0tYmFkYmxvY2tzIDxmaWw+ICAgbGlzdGUgbWVkIHVneWxkaWdlIGJsb2trZSBmcmEgZmlsXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogbWlzbHlra2V0IHPDuGduaW5nIHRpbCBvcHN0YXJ0c2Jsb2sgaSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBzbGV0dGUgb3BzdGFydHNzZWt0b3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogc8O4Z25pbmcgbWlzbHlra2VkZXMgaSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBza3JpdmUgc3VwZXItYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBza3JpdmUgaW5vZGUtb3ZlcnNpZ3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBza3JpdmUgem9uZW92ZXJzaWd0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIHNrcml2ZSBpbm9kZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBzw7hnbmluZyBtaXNseWtrZWRlcyBpIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IG1pc2x5a2tldCBza3Jpdm5pbmcgaSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogZm9yIG1hbmdlIHVneWxkaWdlIGJsb2trZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlczogaWtrZSBub2sgZ3lsZGlnZSBibG9ra2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyJGw7hyc3RlIGRhdGFibG9rIHZlZCAlamQsIGh2aWxrZXQgZXIgZm9yIGxhbmd0IHbDpmsgKG1ha3MuICVkKS5cbiIKKyJQcsO4diBhdCBhbmdpdmUgZsOmcnJlIGlub2RlciB2ZWQgYXQgc2VuZGUgLS1pbm9kZXMgPGFudGFsPiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpbm9kZVxuIgorbXNnc3RyWzFdICIlbHUgaW5vZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUgYmxva1xuIgorbXNnc3RyWzFdICIlbHUgYmxva2tlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiWm9uZXN0w7hycmVsc2U9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1ha3NzdMO4cnJlbHNlPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHPDuGduaW5nIG1pc2x5a2tlZGVzIHVuZGVyIHRlc3QgYWYgYmxva2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgIk15c3Rpc2tlIHbDpnJkaWVyIGkgZG9fY2hlY2s6IHNhbmRzeW5saWd2aXMgcHJvZ3JhbWZlamxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiBzw7hnbmluZyBtaXNseWtrZWRlcyBpIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczogdWd5bGRpZ2UgYmxva2tlIGbDuHIgZGF0YW9tcsOlZGU6IGthbiBpa2tlIG9wcmV0dGUgZmlsc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIHVneWxkaWdlIGJsb2tcbiIKK21zZ3N0clsxXSAiJWQgdWd5bGRpZ2UgYmxva2tlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBrYW4gaWtrZSDDpWJuZSBmaWwgbWVkIHVneWxkaWdlIGJsb2trZSIKKworIyBkZW4gaGVyIGthbiBqZWcgaWtrZSBmb3J0b2xrZS4gIE3DpXNrZToKKyMgYmFkYmxvY2stdGFsaW5kZGF0YWZlamwgcMOlLi4uCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAidGFsaW5kZGF0YWZlamwgYWYgdHlwZW4gYmFkYmxvY2sgcMOlIGxpbmplICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiBrYW4gaWtrZSBsw6ZzZSBiYWRibG9ja3MtZmlsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgImJsb2tzdMO4cnJlbHNlIG1pbmRyZSBlbmQgZnlzaXNrIHNla3RvcnN0w7hycmVsc2UgcMOlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJrYW4gaWtrZSBiZXN0ZW1tZSBzdMO4cnJlbHNlIHDDpSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiBhbm1vZHRlIGJsb2trZSAoJWxsdSkgb3ZlcnN0aWdlciB0aWxnw6ZuZ2VsaWdlICglbGx1KSBibG9ra2VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGZvciBsaWxsZSBhbnRhbCBibG9ra2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgbmF2bmVsw6ZuZ2RlOiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgbWluaXgtZmlsc3lzdGVtdmVyc2lvbjogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3MQorbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiLXYgZXIgdHZldHlkaWcsIGJydWcgwrstMsKrIGkgc3RlZGV0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIG1ha3NpbWFsIGzDpm5nZGUgZm9yIGZpbG5hdm5lIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBhbnRhbCBpbm9kZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGFudGFsbGV0IGFmIGJsb2trZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyBlciBtb250ZXJldDsgdmlsIGlra2Ugb3ByZXR0ZSBldCBmaWxzeXN0ZW0gaGVyISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJVZ3lsZGlnIHNpZGVzdMO4cnJlbHNlICV1IGFuZ2l2ZXQgYWYgYnJ1Z2VyIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJCZW55dHRlciBicnVnZXJiZXN0ZW10IHNpZGVzdMO4cnJlbHNlICVkIGkgc3RlZGV0IGZvciBzeXN0ZW12w6ZyZGllbiAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiRXRpa2V0IGJsZXYgYWZrb3J0ZXQuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJpbmdlbiBldGlrZXQsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJpbmdlbiB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkJydWc6XG4iCisiICVzIFt0aWx2YWxnXSBlbmhlZCBbc3TDuHJyZWxzZV1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTMKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIk9wc8OmdCBldCBMaW51eC1zd2Fwb21yw6VkZS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsdmFsZzpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICB0amVrIGZvciB1Z3lsZGlnZSBibG9ra2UgZsO4ciBvcHJldHRlbHNlIGFmIHN3YXBvbXLDpWRlXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgdGlsbGFkIGF0IHN0w7hycmVsc2VuIHDDpSBzd2Fwb21yw6VkZXQgZXIgc3TDuHJyZSBlbmQgZW5oZWRlblxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTVMOYUlJFTFNFICBhbmdpdiBzaWRlc3TDuHJyZWxzZSBpIGJ5dGVcbiIKKyIgLUwsIC0tbGFiZWwgRVRJS0VUICAgICAgICBhbmdpdiBldGlrZXRcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBhbmdpdiB2ZXJzaW9uc251bW1lciBmb3Igc3dhcG9tcsOlZGVcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBhbmdpdiB1dWlkJ2VuIGRlciBza2FsIGJydWdlc1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJmb3IgbWFuZ2UgdWd5bGRpZ2Ugc2lkZXI6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInPDuGduaW5nIG1pc2x5a2tlZGVzIGkgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgdWd5bGRpZyBzaWRlXG4iCittc2dzdHJbMV0gIiVsdSB1Z3lsZGlnZSBzaWRlclxuIgorCisjIG3DpXNrZSBsaWJibGtpZC1wcm9iZSwgaWtrZSBzaWtrZXIgKGFsbG9rZXJlIG55IHVuZGVyc8O4Z2Vsc2UgYWYgbGliYmxraWQKKyMgSmVnIHRyb3IgaWtrZSBkZXQgZXIgZW4gdW5kZXJzw7hnZWxzZSBhZiwgbWVuIHNuYXJlcmUgbm9nZXQgc29tCisjIHVuZGVyc8O4Z2VyIG5vZ2V0IGFuZGV0LiBEZXQga2FuIG9nc8OlIHNhZ3RlbnMgdsOmcmUgZW4gcHJvYmUgcMOlIGRhbnNrLgorIyBTw6UgamVnIHZpbCBmb3Jlc2zDpToKKyMgImt1bm5lIGlra2UgdGlsZGVsZSBlbmhlZGUgdGlsIGxpYmJsa2lkLXByb2JlCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgbnkgbGliYmxraWQtcHJvYmUiCisKKyMgbcOlc2tlIGxpYmJsa2lkLXByb2JlLCBpa2tlIHNpa2tlcgorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAia3VubmUgaWtrZSB0aWxkZWxlIGVuaGVkIHRpbCBsaWJibGtpZC1wcm9iZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiYWR2YXJzZWw6IGtvbnRyb2wgYWYgw7hkZWxhZ3RlIGJsb2trZSBmcmEgc3dhcGZpbCBlciBpa2tlIHVuZGVyc3TDuHR0ZXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgImt1bm5lIGlra2Ugc3BvbGUgdGlsYmFnZSBww6Ugc3dhcC1lbmhlZGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MgorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJrdW5uZSBpa2tlIHNsZXR0ZSBvcHN0YXJ0c2JpdC1zZWt0b3JlciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IGFkdmFyc2VsOiBmamVybmVyIGdhbW1lbCAlcy1zaWduYXR1ci4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczogYWR2YXJzZWw6IHNsZXQgaWtrZSBvcHN0YXJ0c2JpdC1zZWt0b3JlciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgICglcy1wYXJ0aXRpb25zdGFiZWwgZGV0ZWt0ZXJldCkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAoa29tcGlsZXJldCB1ZGVuIGxpYmJsa2lkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIkJydWcgLWYgZm9yIGF0IGZyZW10dmluZ2Uga29udHJvbFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBza3JpdmUgc2lnbmF0dXJzaWRlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBzaWRlc3TDuHJyZWxzZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSB2ZXJzaW9uc251bW1lciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAic3dhcG9tcsOlZGV2ZXJzaW9uICVkIGVyIGlra2UgdW5kZXJzdMO4dHRldCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgImFkdmFyc2VsOiBpZ25vcmVyIC1VIChVVUlEJ2VyIGVyIGlra2UgdW5kZXJzdMO4dHRldCBhZiAlcykiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgImt1biBlbiBlbmhlZHNwYXJhbWV0ZXIgZXIgdW5kZXJzdMO4dHRldCBpIMO4amVibGlra2V0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMworbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJmZWpsOiBVVUlELWZvcnRvbGtuaW5nIG1pc2x5a2tlZGVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiZmVqbDogSW5nZW4gc3RlZGVyIGF0IG9wc8OmdHRlIHN3YXA/IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzOAorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciBibG9rYW50YWwiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgImZlamw6IHN0w7hycmVsc2VuICVsbHUgS2lCIGVyIHN0w7hycmUgZW5kIGVuaGVkc3N0w7hycmVsc2VuICU8UFJJdTY0PiBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiZmVqbDogc3dhcC1vbXLDpWRlIHNrYWwgbWluZHN0IHbDpnJlIHDDpSAlbGQgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiZmVqbDogYWZrb3J0ZXIgc3dhcC1vbXLDpWRldCB0aWwgJWxsdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiZmVqbDogJXMgZXIgbW9udGVyZXQ7IHZpbCBpa2tlIG9wcmV0dGUgc3dhcG9tcsOlZGUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHVzaWtyZSB0aWxsYWRlbHNlciAlMDRvLCAlMDRvIGFuYmVmYWxlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiB1c2lra2VyIGZpbGVqZXIgJWQsIDAgKHJvb3QpIGFuYmVmYWxlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJLdW5uZSBpa2tlIGtsYXJnw7hyZSBzd2FwLW9tcsOlZGU6IHVsw6ZzZWxpZ3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJLbGFyZ8O4ciBzd2FwLW9tcsOlZGUgdmVyc2lvbiAlZCwgc3TDuHJyZWxzZSA9ICVzICglPFBSSXU2ND4gYnl0ZSlcbiIKKworIyBzZWxpbnV4LWZpbGV0aWtldAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBpbmRoZW50ZSBzZWxpbnV4JyBmaWxldGlrZXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJrdW5uZSBpa2tlIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAia3VubmUgaWtrZSBvcHJldHRlIG55IHNlbGludXhrb250ZWtzdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAia3VubmUgaWtrZSBiZXJlZ25lIHNlbGludXhrb250ZWtzdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgImt1bm5lIGlra2Ugb21kw7hiZSAlcyB0aWwgJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAic3RhcnQgcMOlIHBhcnRpdGlvbmVuIGkgc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgInNsdXRuaW5nIHDDpSBwYXJ0aXRpb25lbiBpIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiYW50YWwgc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgImzDpnNldmVubGlnIHN0w7hycmVsc2UiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJwYXJ0aXRpb25zbmF2biIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgInBhcnRpdGlvbi1VVUlEIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgInBhcnRpdGlvbnN0YWJlbHR5cGUgKGRvcywgZ3B0IC4uLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJwYXJ0aXRpb25zZmxhZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgInBhcnRpdGlvbnN0eXBlIChlbiBzdHJlbmcsIGVuIFVVSUQgZWxsZXIgaGV4KSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImt1bm5lIGlra2UgaW5pdGlhbGlzZXJlIGxvb3BjeHQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgZmluZGUgbGVkaWcgbMO4a2tlZW5oZWQgKGxvb3AgZGV2aWNlKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJGb3Jzw7hnZXIgYXQgYnJ1Z2Ugwrslc8KrIGZvciBsw7hra2VlbmhlZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogS3VubmUgaWtrZSBhbmdpdmUgcmVzZXJ2ZWZpbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGtsYXJnw7hyaW5nIGFmIGzDuGtrZWVuaGVkIG1pc2x5a2tlZGVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJ1a2VuZHQga29sb25uZTogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgaW5kaGVudGUgcGFydGl0aW9uc251bW1lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiZGV0IGFuZ2l2ZXQgaW50ZXJ2YWwgPCVkOiVkPiBnaXZlciBpa2tlIG1lbmluZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAibnkgdMOmbGxpbmcgYWYgaW50ZXJ2YWw6IG1ha3MuIHBhcnRubz0lZCwgbmVkcmU9JWQsIMO4dnJlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGZlamwgdW5kZXIgc2xldG5pbmcgYWYgcGFydGl0aW9uICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZmVqbCB1bmRlciBzbGV0bmluZyBhZiBwYXJ0aXRpb25lcm5lICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAjJWQgZmplcm5ldFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAjJWQgZmluZGVzIGlra2VcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBzbGV0bmluZyBhZiBwYXJ0aXRpb24gIyVkIG1pc2x5a2tlZGVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogZmVqbCB1bmRlciB0aWxmw7hqZWxzZSBhZiBwYXJ0aXRpb24gJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZmVqbCB1bmRlciB0aWxmw7hqZWxzZSBhZiBwYXJ0aXRpb25lciAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIHRpbGbDuGpldFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiB0aWxmw7hqZWxzZSBhZiBwYXJ0aXRpb24gIyVkIG1pc2x5a2tlZGVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBmZWpsIHVuZGVyIG9wZGF0ZXJpbmcgYWYgcGFydGl0aW9uICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZmVqbCB1bmRlciBvcGRhdGVyaW5nIGFmIHBhcnRpdGlvbmVybmUgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiBpbmdlbiBwYXJ0aXRpb24gIyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAjJWQgaGFyIGbDpWV0IMOmbmRyZXQgc3TDuHJyZWxzZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG9wZGF0ZXJpbmcgYWYgcGFydGl0aW9uICMlZCBtaXNseWtrZWRlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvcmVyLCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSB1ZGRhdGFrb2xvbm5lIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAia3VubmUgaWtrZSBpbml0aWFsaXNlcmUgYmxraWQtZmlsdGVyIGZvciDCuyVzwqsiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgbMOmc2UgcGFydGl0aW9uc3RhYmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb25zdGFiZWx0eXBlIMK7JXPCqyBkZXRla3RlcmV0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBwYXJ0aXRpb25zdGFiZWwgdWRlbiBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTcKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiRm9ydMOmbCBrZXJuZW4gb20gdGlsc3RlZGV2w6ZyZWxzZW4gb2cgYW50YWxsZXQgYWYgcGFydGl0aW9uZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICB0aWxmw7hqIHNwZWNpZmljZXJlZGUgcGFydGl0aW9uZXIgZWxsZXIgZGVtIGFsbGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1kIC0tZGVsZXRlICAgICAgICAgIHNsZXQgc3BlY2lmaWNlcmVkZSBwYXJ0aXRpb25lciBlbGxlciBkZW0gYWxsZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAgb3BkYXRlciBzcGVjaWZpY2VyZWRlIHBhcnRpdGlvbmVyIGVsbGVyIGRlbSBhbGxlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIHZpcyBwYXJ0aXRpb25lclxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwIHN5cy11dGlscy9sc21lbS5jOjUwNQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgdWRza3JpdiBTVMOYUlJFTFNFIGkgYnl0ZSBmcmVtIGZvciBpIGV0IGzDpnNldmVubGlndCBmb3JtYXRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAtZywgLS1ub2hlYWRpbmdzICAgICB1ZHNrcml2IGlra2Ugb3ZlcnNrcmlmdGVyIGZvciAtLXNob3dcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bT4gICAgICAgYW5naXYgaW50ZXJ2YWwgZm9yIHBhcnRpdGlvbmVybmUgKGYuZWtzLiAtLW5yIDI6NFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+IGRlZmluZXIgaHZpbGtlbiByZXN1bHRhdGtvbG9ubmUsIGRlciBza2FsIGJydWdlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU2IHN5cy11dGlscy9sc21lbS5jOjUwMworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICBicnVnIHVkZGF0YWZvcm1hdCBmb3IgbsO4Z2xlPcK7dsOmcmRpwqtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICBicnVnIHLDpSB1ZGRhdGFmb3JtYXRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3Itc2l6ZSA8YW50YWw+IG92ZXJrc2l2IHNla3RvcnN0w7hycmVsc2VcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgYW5naXYgcGFydGl0aW9uc3R5cGVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0LXR5cGVzICAgICB2aXMgdW5kZXJzdMO4dHRlZGUgcGFydGl0aW9uc3R5cGVyIG9nIGFmc2x1dFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzczIHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMDEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICB1ZGR5YmVuZGUgdGlsc3RhbmRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIC0tbnIgPE0tTj4taW50ZXJ2YWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgInBhcnRpdGlvbiBvZyBkaXNrbmF2biBtYXRjaGVyIGlra2UiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5yIG9nIDxwYXJ0aXRpb24+IHVkZWx1a2tlciBoaW5hbmRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIG5lZHJlOiAlZCwgw7h2cmU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBrYW4gaWtrZSBzbGV0dGUgcGFydGl0aW9uZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb25lcmVkZSBsw7hra2VuaGVkZXIgZXIgaWtrZSB1bmRlcnN0w7h0dGV0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBpbml0aWFsaXNlcmUgYmxraWQtdGVzdHByb2dyYW0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA8aG92ZWRudW1tZXI+IDx1bmRlcm51bW1lcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9rZW5oZWQ+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1NworbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiQmluZCBlbiByw6UgdGVnbmVuaGVkIHRpbCBlbiBibG9rZW5oZWQuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIGFuZ2l2IGZvcmVzcMO4cmdzZWxzdGlsc3RhbmRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIGZvcmVzcMO4cmcgYWxsZSByw6UgZW5oZWRlclxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIkVuaGVkIMK7JXPCqyBlciBjb250cm9sIHJhdyBkZXYgKGJydWcgcmF3PE4+IGh2b3IgPE4+IGVyIHN0w7hycmUgZW5kIG51bCkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIkt1bm5lIGlra2UgZmluZGUgYmxva2VuaGVkIMK7JXPCqyIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJFbmhlZCDCuyVzwqsgZXIgaWtrZSBlbiBibG9rZW5oZWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBwYXJhbWV0ZXIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgIkthbiBpa2tlIMOlYm5lIG1hc3RlciByYXctZW5oZWQgwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiS2FuIGlra2UgbG9rYWxpc2VyZSByYXctZW5oZWQgwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiUmF3LWVuaGVkIMK7JXPCqyBlciBpa2tlIGVuIHRlZ25lbmhlZCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiRW5oZWQgwrslc8KrIGVyIGlra2UgZW4gcmF3LWVuaGVkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkZlamwgdW5kZXIgZm9yZXNww7hyZ3NlbCB0aWwgcmF3LWVuaGVkICglcykiCisKKyMgaG92ZWRudW1tZXIgJWQsIHVuZGVybnVtbWVyICVkCisjIChmaW5kZXMgdW5kZXIgbWFqb3IvbWlub3IgcMOlIG9yZGxpc3RlbikKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU4IGRpc2stdXRpbHMvcmF3LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZDogYnVuZGV0IHRpbCBob3ZlZG51bW1lciAlZCwgdW5kZXJudW1tZXIgJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkZlamwgdW5kZXIgaW5kc3RpbGxpbmcgYWYgcmF3LWVuaGVkIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNrZW5oZWQ+IDxwYXJ0aXRpb25zbnVtbWVyPiA8bMOmbmdkZT5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICJGb3J0w6ZsIGtlcm5lbiBvbSBkZW4gbnllIHN0w7hycmVsc2UgZm9yIGVuIHBhcnRpdGlvbi5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBpbmRoZW50ZSBiZWd5bmRlbHNlIHDDpSBwYXJ0aXRpb25zbnVtbWVyICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTEKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAia3VubmUgaWtrZSDDpm5kcmUgc3TDuHJyZWxzZSBww6UgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBpbmRsZWpyZXQgbGliZmRpc2sta29udGVrc3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJrYW4gaWtrZSBzw7hnZSAoc2VlaykgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgImthbiBpa2tlIHNrcml2ZSAod3JpdGUpICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiUxMnMgKGZvcnNreWRuaW5nICU1anUsIHN0w7hycmVsc2UgJTVqdSk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugb3ByZXR0ZSBlbiBzaWtrZXJoZWRza29waSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAia3VubmUgaWtrZSBvcHJldHRlIGVuIHNpa2tlcmhlZHNrb3BpZmlsLCAkSE9NRSBlciBpa2tlIGRlZmluZXJldCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTUKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJMYXYgc2lra2VyaGVkc2tvcGkgYWYgZmlsZXI6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIG55IHBhcnRpdGlvbiBmcmEgZW5oZWQ7IGlnbm9yZXJlciAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJrdW5uZSBpa2tlIGluZGhlbnRlIHN0w7hycmVsc2VuIHDDpSBkZW4gbnllIHBhcnRpdGlvbjsgaWdub3JlcmVyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJrdW5uZSBpa2tlIGluZGhlbnRlIGJlZ3luZGVsc2UgcMOlIGRlbiBueWUgcGFydGl0aW9uOyBpZ25vcmVyZXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAia3VubmUgaWtrZSBpbmRoZW50ZSBzdMO4cnJlbHNlIHDDpSBkZW4gZ2FtbGUgcGFydGl0aW9uOyBpZ25vcmVyZXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImt1bm5lIGlra2UgaW5kaGVudGUgYmVneW5kZWxzZSBww6UgZGVuIGdhbWxlIHBhcnRpdGlvbjsgaWdub3JlcmVyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MAorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYmVneW5kZWxzZW4gYWYgcGFydGl0aW9uZW4gZXIgYmxldmV0IGZseXR0ZXQ7IGlnbm9yZXJlciAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm55IHBhcnRpdGlvbiBlciBtaW5kcmUgZW5kIG9yaWdpbmFsZW47IGlnbm9yZXJlciAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICJEYXRhZmx5dDoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICIgdHlwZXNjcmlwdC1maWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIgZ2FtbWVsIGJlZ3luZGVsc2U6ICVqdSwgbnkgYmVneW5kZWxzZTogJWp1IChmbHl0ICVqdSBzZWt0b3JlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiVmlsIGR1IGZseXR0ZSBwYXJ0aXRpb25zZGF0YT8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDU0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICJGb3JsYWRlci4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBmbHl0dGUgZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDIKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiUGFydGl0aW9uc3RhYmVsbGVuIGVyIHXDpm5kcmV0ICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiUGFydGl0aW9uc3RhYmVsbGVuIGVyIMOmbmRyZXQuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgZXRpa2V0IMK7JXPCqyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzQKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklkICBOYXZuXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJ1a2VuZHQgcGFydGl0aW9uc3RhYmVsdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJLYW4gaWtrZSBmw6Ugc3TDuHJyZWxzZW4gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgImkgYWx0OiAlanUgYmxva2tlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk0IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzIgZGlzay11dGlscy9zZmRpc2suYzoxMDk2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTEgZGlzay11dGlscy9zZmRpc2suYzoxMjA3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gZGlza2VuaGVkIGFuZ2l2ZXQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAia2FuIGlra2Uga8O4cmUgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9yIFBNQlIgb25seSIKK21zZ3N0ciAic2tpZnQgYWYgb3BzdGFydHNmbGFnIGVyIGt1biB1bmRlcnN0w7h0dGV0IGZvciBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBwYXJ0aXRpb25zbnVtbWVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJWQ6IGt1bm5lIGlra2Ugc2tpZnRlIG9wc3RhcnRzYmFydCBmbGFnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAlenU6IGt1bm5lIGlra2Ugc2xldHRlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogaW5kZWhvbGRlciBpa2tlIGVuIGdlbmtlbmR0IHBhcnRpdGlvbnN0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzYKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgZHVtcCBzdHJ1Y3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGR1bXBlIHBhcnRpdGlvbnN0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gdGFibGUgZm91bmQiCittc2dzdHIgIiVzOiBkZXIgYmxldiBpa2tlIGZ1bmRldCBlbiBwYXJ0aXRpb25zdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb25zdGFiZWwgaW5kZWhvbGRlciBrdW4gJXp1IHBhcnRpdGlvbmVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gZXIgdWJydWd0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgImludGV0IHBhcnRpdGlvbnNudW1tZXIgYW5naXZldCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJ1dmVudGVkZSBhcmd1bWVudGVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBrdW5uZSBpa2tlIGluZGhlbnRlIHBhcnRpdGlvbnN0eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgJXMgcGFydGl0aW9uc3R5cGUgwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBrdW5uZSBpa2tlIGFuZ2l2ZSBwYXJ0aXRpb25zdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dToga3VubmUgaWtrZSBpbmRoZW50ZSBwYXJ0aXRpb24tVVVJRCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBwYXJ0aXRpb25zb2JqZWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBrdW5uZSBpa2tlIGFuZ2l2ZSBwYXJ0aXRpb24tVVVJRCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dToga3VubmUgaWtrZSBpbmRoZW50ZSBwYXJ0aXRpb25zbmF2biIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dToga3VubmUgaWtrZSBhbmdpdmUgcGFydGl0aW9uc25hdm4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAlenU6IGt1bm5lIGlra2UgYW5naXZlIHBhcnRpdGlvbnNhdHRyaWJ1dHRlciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg3Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIgS29tbWFuZG9lcjpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICBza3JpdiAgICBza3JpdiB0YWJlbCB0aWwgZGlzayBvZyBhZnNsdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiAgIHF1aXQgICAgIHZpcyBueSBzaXR1YXRpb24gb2cgdmVudCBww6UgYnJ1Z2VycyB0aWxiYWdlbWVsZGluZyBmw7hyIHNrcml2bmluZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICBhZnNsdXQgc2ZkaXNrLXNrYWxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkyCittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHByaW50ICAgIHZpcyBwYXJ0aXRpb25zdGFiZWxsZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkzCittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBDdHJsLUQgICBkZXQgc2FtbWUgc29tIGtvbW1hbmRvZW4gwrtxdWl0wqtcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIEluZGRhdGFmb3JtYXQ6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8c3RhcnQ+ICBCZWd5bmRlbHNlbiBmb3IgcGFydGl0aW9uZW4gaSBzZWt0b3JlciBlbGxlciBieXRlIGh2aXMgYW5naXZldFxuIgorIiAgICAgICAgICAgIGkgZm9ybWF0ZXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS4gU3RhbmRhcmRlbiBlclxuIgorIiAgICAgICAgICAgIGRlbiBmw7hyc3RlIGxlZGlnZSBwbGFkcy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxzaXplPiAgIFN0w7hycmVsc2UgZm9yIHBhcnRpdGlvbmVuIGkgc2VrdG9yZXIsIGVsbGVyIGJ5dGUgaHZpc1xuIgorIiAgICAgICAgICAgIGFuZ2l2ZXQgaSBmb3JtYXRldCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFN0YW5kYXJkZW4gZXIgYWwgdGlsZ8OmbmdlbGlnIHBsYWRzLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTQKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiAgIDx0eXBlPiAgIFBhcnRpdGlvbnN0eXBlbi4gU3RhbmRhcmRlbiBlciBMaW51eC1kYXRhcGFydGl0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIE1CUjogaGV4IGVsbGVyIEwsUyxFLFggZ2VudmVqZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCBlbGxlciBMLFMsSCBnZW52ZWplLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPGJvb3RhYmxlPiAgQnJ1ZyDCuyrCqyBmb3IgYXQgbWFya2VyZSBlbiBNQlItcGFydGl0aW9uIHNvbSBvcHN0YXJ0c2Jhci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiBFa3NlbXBlbDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICBPcHJldHRlciA0IEdpQiBwYXJ0aXRpb24gcMOlIHN0YW5kYXJkZW5zIHN0YXJ0Zm9yc2t5ZG5pbmcuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IGtvbW1hbmRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibGluamUgJWQ6IGlra2UgdW5kZXJzdMO4dHRldCBrb21tYW5kbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJEZW4gZ2FtbGUgc2lnbmF0dXIgJXMga2FuIGJsaXZlIHDDpSBlbmhlZGVuLiBEZXQgYW5iZWZhbGVzIHDDpSBkZXQgc3TDpnJrZXN0ZSBhdCByeWRkZSBlbmhlZGVuIG1lZCB3aXBlZnMoOCkgZWxsZXIgc2ZkaXNrIC0td2lwZSwgZm9yIGF0IHVuZGfDpSBtdWxpZ2Uga29sbGlzaW9uZXIuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgcGFydGl0aW9uc25hdm4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBza3JpcHRow6VuZHRlcmluZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIMOmbmRyZSBwYXJ0aXRpb24gJWQ6IGluZ2VuIHBhcnRpdGlvbnRhYmVsIGJsZXYgZnVuZGV0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIMOmbmRyZSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbnRhYmVsIGluZGVob2xkZXIga3VuICV6dSBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJhZHZhcnNlbDogJXM6IHBhcnRpdGlvbmVuICVkIGVyIGVuZG51IGlra2UgZGVmaW5lcmV0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisiVmVsa29tbWVuIHRpbCBzZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJLb250cm9sbGVyIGF0IGluZ2VuIGJlbnl0dGVyIGRlbm5lIGRpc2sgZm9yIMO4amVibGlra2V0IC4uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBNSVNMWUtLRURFU1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIkRlbm5lIGRpc2sgZXIgZm9yIMO4amVibGlra2V0IGkgYnJ1ZyAtIGdlbnBhcnRpdGlvbmVyaW5nIGVyIG5vayBlbiBkw6VybGlnIGlkZS5cbiIKKyJBZm1vbnRlciBhbGxlIGZpbHN5c3RlbWVyIG9nIHN3YXBvZmYgYWxsZSBzd2FwcGFydGl0aW9uZXIgcMOlIGRlbm5lIGRpc2suXG4iCisiQnJ1ZyBmbGFnZXQgLS1uby1yZXJlYWQgZm9yIGF0IHVuZGVydHJ5a2tlIGRldHRlIHRqZWsuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJCcnVnIGZsYWdldCAtLWZvcmNlIGZvciBhdCB1bmRlcnRyeWtrZSBhbGxlIHRqZWsuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIgTy5rLlxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NDcKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJHYW1tZWwgc2l0dWF0aW9uOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIGVyIHZlZCBhdCBvcHJldHRlIGVuIG55IMK7JXPCqy1kaXNrZXRpa2V0LlxuIgorIkJydWcgwrtldGlrZXQ6IDxuYXZuPsKrIGbDuHIgZHUgZGVmaW5lcmVyIGVuIGbDuHJzdGUgcGFydGl0aW9uXG4iCisiZm9yIGF0IG92ZXJza3JpdmUgc3RhbmRhcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkJydWcgwrtoZWxwwqsgZm9yIHlkZXJsaWdlcmUgaW5mb3JtYXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJBbGxlIHBhcnRpdGlvbmVyIGJydWd0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiRsOmcmRpZy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiSWdub3JlcmVyIHBhcnRpdGlvbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJLdW5uZSBpa2tlIGFudmVuZGUgc2tyaXB0dGVrc3Rob3ZlZCwgZGlza2V0aWtlbCBibGV2IGlra2Ugb3ByZXR0ZXQuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJLdW5uZSBpa2tlIHRpbGbDuGplICMlZC1wYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJTa3JpcHR0ZWtzdGhvdmVkIGFjY2VwdGVyZXQuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJOeSBzaXR1YXRpb246IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJWaWwgZHUgdmlya2VsaWcgc2tyaXZlIGRldHRlIHRpbCBkaXNrZW4/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJGb3JsYWRlci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0aWx2YWxnXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW3RpbHZhbGddIDxrb21tYW5kbz5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSB2aXMgZWxsZXIgYW5naXYgb3BzdGFydGJhcmUgTUJSLXBhcnRpdGlvbmVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb25zdGFiZWwgKG55dHRpZyBmb3Igc2VuZXJlIGluZGRhdGEpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbnN0YWJlbCBpIEpTT04tZm9ybWF0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICB2aXMgZ2VvbWV0cmkgZm9yIGFsbGUgZWxsZXIgc3BlY2lmaWNlcmVkZSBlbmhlZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgdmlzIHBhcnRpdGlvbmVyIGZvciBodmVyIGVuaGVkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICB2aXMgdXBhcnRpdGlvbmVyZWRlIGxlZGlnZSBvbXLDpWRlciBmb3IgaHZlciBlbmhlZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgcmV0IHBhcnRpdGlvbnNyw6Zra2Vmw7hsZ2VuICh2ZWQgc3RhcnRmb3Jza3lkbmluZylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUzCittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIHZpcyBzdMO4cnJlbHNlciBmb3IgYWxsZSBlbGxlciBzcGVjaWZpY2VyZWRlIGVuaGVkZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHZpcyBkZSBnZW5rZW5kdGUgdHlwZXIgKHNlIC1YKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgb20gcGFydGl0aW9uZXIgc2VyIGtvcnJla3RlIHVkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgICAgIC0tZGVsdGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gIHNsZXQgYWxsZSBlbGxlciBzcGVjaWZpY2VyZWRlIHBhcnRpdGlvbmVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dICB2aXMgZWxsZXIgw6ZuZHIgcGFydGl0aW9uc2V0aWtldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dICB2aXMgZWxsZXIgw6ZuZHIgcGFydGl0aW9uc3R5cGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSB2aXMgZWxsZXIgw6ZuZHIgcGFydGl0aW9ucy11dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MgorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gdmlzIGVsbGVyIMOmbmRyIHBhcnRpdGlvbnNhdHRyaWJ1dHRlclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjUKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBlbmhlZHNzdGkgKG5vcm1hbHQgZGlzaylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb25zbnVtbWVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NworbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbnN0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICB0aWxmw7hqIHBhcnRpdGlvbmVyIHRpbCBla3Npc3RlcmVuZGUgcGFydGl0aW9uc3RhYmVsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBsYXYgc2lra2VyaGVkc2tvcGkgYWYgcGFydGl0aW9uc3RhYmVscyBzZWt0b3JlciAoc2UgLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHVkc2tyaXYgU1TDmFJSRUxTRSBpIGJ5dGUgZnJlbSBmb3IgaSBldCBsw6ZzZXZlbmxpZ3QgZm9ybWF0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBmbHl0IHBhcnRpdGlvbnNkYXRhIGVmdGVyIG55IHBsYWNlcmluZyAoa3LDpnZlciAtTilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGVha3RpdmVyIGFsIGtvbnNpc3RlbnNrb250cm9sXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxodm9ybsOlcj5dICAgZmFydmVsw6ZnIHVkZGF0YSAoYXV0bywgYWx0aWQgZWxsZXIgYWxkcmlnKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzgKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8YW50YWw+ICAgICAgYW5naXYgcGFydGl0aW9uc251bW1lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZ8O4ciBhbHQgdW5kdGFnZW4gYXQgc2tyaXZlIHRpbCBlbmhlZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBrb250cm9sbGVyIGlra2Ugb20gZW5oZWRlbiBlciBpIGJydWdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZm9ydMOmbCBpa2tlIGtlcm5lbiBvbSDDpm5kcmluZ2VyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MgorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIgLU8sIC0tYmFja3VwLWZpbGUgPHN0aT4gICBvdmVyc2tyaXYgc3RhbmRhcmRuYXZuIGZvciBzaWtrZXJoZWRza29waWZpbGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICAgIHJlc3VsdGF0a29sb25uZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg0Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICB1bmRlcnRyeWsgZWtzdHJhIGluZm9ybWF0aW9uc2Jlc2tlZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8dGlsc3RhbmQ+XSAgICByeWQgc2lnbmF0dXJlciAoYXV0bywgYWx0aWQgZWxsZSBhbGRyaWcpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDxuYXZuPiAgICAgICAgYW5naXYgZXRpa2V0dHlwZSAoZG9zLCBncHQsIC4uLilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg4Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hdm4+IGFuZ2l2IGluZGxlanJldCBldGlrZXR0eXBlIChkb3MsIGJzZClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkwCittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGZvcsOmbGRldCwgc3ZhcmVyIHRpbCAtLXNob3ctZ2VvbWV0cnlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkxCittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBmb3LDpmxkZXQsIGt1biBmb3IgYmFnbMOmbnMga29tcGF0aWJpbGl0ZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkyCittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZm9yw6ZsZGV0LCBrdW4gc2VrdG9yZW5oZWQgZXIgdW5kZXJzdMO4dHRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzIGVyIGZvcsOmbGRldCB0aWwgZm9yZGVsIGZvciAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDE1Cittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCBlciBmb3LDpmxkZXQgdGlsIGZvcmRlbCBmb3IgLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICItLXNob3ctcHQtZ2VvbWV0cnkgZXIgaWtrZSBsw6ZuZ2VyZSBpbXBsZW1lbnRlcmV0LiBCcnVnZXIgLS1zaG93LWdlb21ldHJ5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIi0tTGludXggdGlsdmFsZyBlciB1bsO4ZHZlbmRpZ3Qgb2cgZm9yw6ZsZGV0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgZW5oZWQgwrslY8KrIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgZnJhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjE1MgorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIi0tbW92ZWRhdGEga3LDpnZlciAtTiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgVVVJRDogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IEt1bm5lIGlra2Ugc8O4Z2UgKHNlZWspIFVVSUQgZm9yIHN3YXAiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogS3VubmUgaWtrZSBza3JpdmUgVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBLdW5uZSBpa2tlIHPDuGdlIChzZWVrKSB0aWwgc3dhcC1ldGlrZXQiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgImV0aWtldCBlciBmb3IgbGFuZy4gRm9ya29ydGVyIGRlbiB0aWwgwrslc8KrIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBza3JpdmUgZXRpa2V0IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNworbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICJWaXMgZWxsZXIgw6ZuZHIgZXRpa2V0dGVuIGVsbGVyIFVVSUQgZm9yIGV0IHN3YXBvbXLDpWRlLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPGV0aWtldD4gYW5naXYgZW4gbnkgZXRpa2V0XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgIGFuZ2l2IGVuIG55IHV1aWRcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgImlnbm9yZXIgLVUgKFVVSUQnZXIgZXIgaWtrZSB1bmRlcnN0w7h0dGV0KSIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiQnJ1ZyDCuyVzIC0taGVscMKrIGZvciB5ZGVybGlnZXJlIGRldGFsamVyLlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTgKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCcnVnOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbHZhbGc6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGdW5rdGlvbmVyOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb21tYW5kb2VyOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBvdXRwdXQgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbGfDpm5nZWxpZ2UgLS1vdXRwdXQga29sb25uZXI6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNQorIywgZnV6enkKK21zZ2lkICJkaXNwbGF5IHRoaXMgaGVscCIKK21zZ3N0ciAiIC0/ICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKworIzogaW5jbHVkZS9jLmg6MzI2CisjLCBmdXp6eQorbXNnaWQgImRpc3BsYXkgdmVyc2lvbiIKK21zZ3N0ciAidmVyc2lvbiIKKworIzogaW5jbHVkZS9jLmg6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkZvciB5ZGVybGlnZXJlIGRldGFsamVyIHNlICVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJza3JpdmVmZWpsIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgImZhcnZlciBlciBha3RpdmVyZXQgc29tIHN0YW5kYXJkIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJmYXJ2ZXIgZXIgZGVha3RpdmVyZXQgc29tIHN0YW5kYXJkIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIG1pbGrDuHZhcmlhYmxlbiAlcyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXR1YWxseSBleGNsdXNpdmUgYXJndW1lbnRzOiIKK21zZ3N0ciAiJXM6IHBhcmFtZXRyZSB1ZGVsdWtrZXIgaGluYW5kZW46IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIlRvbSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiVWR2aWRldCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggb3BzdGFydGJhciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMi1vcHN0YXJ0c2jDpW5kdGVyaW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IHVkdmlkZXQgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIlNranVsdCBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljZXJpbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIlNranVsdCBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiU2tqdWx0IEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIlNranVsdCBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlNranVsdCBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiU2tqdWx0IFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJTa2p1bHQgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIlNranVsdCBOVEZTIFdpblJFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyByZWRuaW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBPcHN0YXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDIuIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMy4gcGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyZXYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIGVsbGVyIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiR2FtbWVsIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIGdhbW1lbCBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggc3dhcCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICJPUy8yLXNranVsdCBlbGxlciBJbnRlbCBoaWJlcm5hdGlvbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggdWR2aWRldCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMgZGlza2VuaGVkc3PDpnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCByw6V0ZWtzdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgZHZhbGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gb3BzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJCb290IFdpemFyZCBza2p1bHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgTEJBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5Cittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIG9wc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiSWtrZS1maWxzeXN0ZW1kYXRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwtdsOmcmt0w7hqIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBhY2Nlc3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgIlJ1ZnVzLWp1c3RlcmluZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBvcHN0YXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2VrdW5kw6ZyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjIEF1dG9kZXRla3RlcmV0IExpbnV4LXJhaWQKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IHJhaWQgYXV0b2RldGVrdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiYWR2YXJzZWw6ICVzIGVyIGlra2Uga29ycmVrdCBqdXN0ZXJldCIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MCBsaWJmZGlzay9zcmMvYXNrLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIlZhbGd0IHBhcnRpdGlvbiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJJbmdlbiBwYXJ0aXRpb25lciBkZWZpbmVyZXQhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk1Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiSW5nZW4gdGlsZ8OmbmdlbGlnZSBmcmllIHNla3RvcmVyISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIlBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIlBhcnRpdGlvbiAlZCBhZiB0eXBlICVzIG9nIHN0w7hycmVsc2UgJXMgZXIgb3ByZXR0ZXQuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6ZCBoYXIgZW4gdWd5bGRpZyBzdGFydHNla3RvciAwLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIkRlciBlciBpbmdlbiAqQlNELXBhcnRpdGlvbmVyIHDDpSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJGw7hyc3RlIGN5bGluZGVyIgorCisjIChsaWR0IHNwZWNpZWx0IG1lbiBtYW4gc2tyaXZlciB2aXN0ICsxMDI0LCArMTAyNEssICsyMDQ4TSBlbGxlcgorIyB0aWxzdmFyZW5kZSBrb25zdHJ1a3Rpb24pCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkxIGxpYmZkaXNrL3NyYy9kb3MuYzoxMjEzCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJTZW5lc3RlIGN5bGluZGVyLCArY3lsaW5kZXJlIGVsbGVyICtzdMO4cnJlbHNle0ssTSxHLFQsUH0iCisKKyMgKGxpZHQgc3BlY2llbHQgbWVuIG1hbiBza3JpdmVyIHZpc3QgKzEwMjQsICsxMDI0SywgKzIwNDhNIGVsbGVyCisjIHRpbHN2YXJlbmRlIGtvbnN0cnVrdGlvbikKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTYgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTggbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU2VuZXN0ZSBzZWt0b3IsICtzZWt0b3JlciBlbGxlciArc3TDuHJyZWxzZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiRW5oZWRlbiAlcyBoYXIgaW5nZW4gQlNELWRpc2tldGlrZXQuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIlZpbCBkdSBvcHJldHRlIGVuIEJTRC1kaXNrZXRpa2V0PyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OAorbXNnaWQgIkRpc2siCittc2dzdHIgIkRpc2siCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTUKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiUGFja25hbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjIgbGliZmRpc2svc3JjL3N1bi5jOjExMjcKK21zZ2lkICJGbGFncyIKK21zZ3N0ciAiRmxhZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBmbHl0YmFyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgZmVqbHNla3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgIkJ5dGUvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgwCittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJTcG9yL2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiU2VrdG9yZXIvY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTAgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjgKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkN5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKK21zZ2lkICJScG0iCittc2dzdHIgIk9tZHIuIHBlciBtaW51dCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICJJbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA1Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJTcG9yYWZ2aWdlbHNlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJDeWxpbmRlcmFmdmlnZWxzZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIkhvdmVkc2tpZnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJTcG9yLXRpbC1zcG9yIHPDuGduaW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlL3Nla3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNla3RvcmVyL3Nwb3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInNwb3IvY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgImN5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yZXIvY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgIm9tZHIuIHBlciBtaW51dCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInNwb3JhZnZpZ2Vsc2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyYWZ2aWdlbHNlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaG92ZWRza2lmdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInNwb3ItdGlsLXNwb3Igc8O4Z25pbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJCb290c3RyYXBmaWxlbiAlcyBpbmRsw6ZzdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiT3BzdGFydHNpZ2FuZ3PDpnR0ZXI6ICUxJHNvcHN0YXJ0IC0+IG9wc3RhcnQlMSRzIChzdGFuZGFyZCAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwMworbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIk9wc3RhcnRzaWdhbmdzw6Z0dGVyIG92ZXJsYXBwZXIgbWVkIGRpc2tldGlrZXQhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJPcHN0YXJ0c2lnYW5nc8OmdHRlciBpbnN0YWxsZXJldCBww6UgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICJEaXNrZXRpa2V0IHNrcmV2ZXQgdGlsICVzLiAoR2xlbSBpa2tlIG9nc8OlIGF0IHNrcml2ZSBkaXNrZXRpa2V0dGVuICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJEaXNrZXRpa2V0IHNrcmV2ZXQgdGlsICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTeW5rcm9uaXNlcmVyIGRpc2tlLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MgorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICJCU0QtZXRpa2V0IGVyIGlra2UgaW5kbGVqcmV0IGkgZW4gRE9TLXBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkJTRC1wYXJ0aXRpb24gwrslY8KrIGVyIGzDpm5rZXQgdGlsIERPUy1wYXJ0aXRpb24gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTYKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiU2tpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgIkZzdMO4cnJlbHNlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNAorbXNnaWQgIkJzaXplIgorbXNnc3RyICJCc3TDuHJyZWxzZSIKKworIyBzdMOlciBkZXQgZm9yOiBDbG9zZWQgUHJvY2VzcyBHcm91cD8KKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICJDcGciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogbHVrIGVuaGVkIG1pc2x5a2tlZGVzIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkthbGRlciBpb2N0bCgpIGZvciBhdCBnZW5pbmRsw6ZzZSBwYXJ0aXRpb25zdGFiZWxsZW4uIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJHZW5pbmRsw6ZzbmluZyBhZiBwYXJ0aXRpb25zdGFiZWxsZW4gbWlzbHlra2VkZXMuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiRGVubmUga2VybmUgYnJ1Z2VyIHN0YWRpZyBkZW4gZ2FtbGUgdGFiZWwuIERlbiBueWUgdGFiZWwgdmlsIGJsaXZlIGJydWd0IGZyYSBuw6ZzdGUgZ2Vuc3RhcnQsIGVsbGVyIGVmdGVyIGR1IGvDuHJlciBwYXJ0cHJvYmUoOCkgZWxsZXIga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAia3VubmUgaWtrZSBmamVybmUgcGFydGl0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBzeXN0ZW0gaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAidmlzIGluZm9ybWF0aW9uIG9tIGVuIHBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgImt1bm5lIGlra2UgdGlsZsO4amUgcGFydGl0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAiRGVubmUga2VybmUgYnJ1Z2VyIHN0YWRpZyBkZW4gZ2FtbGUgdGFiZWwuIERlbiBueWUgdGFiZWwgdmlsIGJsaXZlIGJydWd0IGZyYSBuw6ZzdGUgZ2Vuc3RhcnQsIGVsbGVyIGVmdGVyIGR1IGvDuHJlciBwYXJ0cHJvYmUoOCkgZWxsZXIga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY3lsaW5kZXIiCittc2dzdHJbMV0gImN5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNla3RvciIKK21zZ3N0clsxXSAic2VrdG9yZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTM4OAorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIlVmdWxkc3TDpm5kaWcgZ2VvbWV0cmlpbmRzdGlsbGluZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJBbGxlIHByaW3DpnJlIHBhcnRpdGlvbmVyIGVyIGFsbGVyZWRlIGRlZmluZXJlZGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICJJbmdlbiB0aWxnw6ZuZ2VsaWdlIGZyaWUgc2VrdG9yZXIhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIkt1bm5lIGlra2UgbMOmc2UgdWR2aWRldCBwYXJ0aXRpb25zdGFiZWwgKGZvcnNreWRuaW5nPSVqdSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDAKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIkR1IGthbiBzw6Z0dGUgZ2VvbWV0cmkgZnJhIG1lbnVlbiBtZWQgZWtzdHJhIGZ1bmt0aW9uZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQzCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiRE9TLWtvbXBhdGliZWwgdGlsc3RhbmQgZXIgZm9yw6ZsZGV0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICJFbmhlZGVuIHZpc2VyIGVuIGxvZ2lzayBzZWt0b3JzdMO4cnJlbHNlLCBzb20gZXIgbWluZHJlIGVuZCBkZW4gZnlzaXNrZSBzZWt0b3JzdMO4cnJlbHNlLiBKdXN0ZXJpbmcgdGlsIGVuIHN0w7hycmVsc2VzZ3LDpm5zZSBmb3IgZW4gZnlzaXNrIHNla3RvciAoZWxsZXIgdmFsZ2ZyaSBJL08pIGFuYmVmYWxlcywgZWxsZXJzIGthbiB5ZGVsc2VuIGJsaXZlIHDDpXZpcmtldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkN5bGluZGVyZSBzb20gdmlzbmluZ3NlbmhlZCBlciBmb3LDpmxkZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIlN0w7hycmVsc2VuIHDDpSBkaXNrZW4gZXIgJXMgKCVqdSBieXRlKS4gRE9TLXBhcnRpdGlvbnN0YWJlbGZvcm1hdGV0IGthbiBpa2tlIGJydWdlcyBww6UgZHJldiBmb3IgZGlza2VuaGVkZXIgc3TDuHJyZSBlbmQgJWx1IGJ5dGUgZm9yICVsdS1ieXRlIHNla3RvcmVyLiBCcnVnIEdVSUQncyBwYXJ0aXRpb25zdGFiZWxmb3JtYXQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlVneWxkaWcgZm9yc2t5ZG5pbmcgaSBwcmltw6ZyIHVkdmlkZXQgcGFydGl0aW9uLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiVWRlbGFkZXIgcGFydGl0aW9uZXIgZWZ0ZXIgIyV6dS4gRGUgdmlsIGJsaXZlIHNsZXR0ZXQsIGh2aXMgZHUgZ2VtbWVyIGRlbm5lIHBhcnRpdGlvbnN0YWJlbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJFa3N0cmEgaGVudmlzbmluZ3NwZWdlciAobGluayBwb2ludGVyKSBpIHBhcnRpdGlvbnN0YWJlbCAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIklnbm9yZXJlciBla3N0cmEgZGF0YSBpIHBhcnRpdGlvbnN0YWJlbCAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAidWRlbGFkZXIgdG9tIHBhcnRpdGlvbiAoJXp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiT3ByZXR0ZWRlIGVuIG55IERPUy1kaXNrZXRpa2V0IG1lZCBkaXNraWRlbnRpZmlrYXRpb24gMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcyNgorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJbmR0YXN0IGRlbiBueWUgZGlza2lkZW50aWZpa2F0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiVWd5bGRpZyB2w6ZyZGkuIgorCisjIEV2dC4ga2FuIHZpIG9tZ8OlIGRldCBsaWR0IG15c3Rpc2tlICJpZGVudGlmaWthdGlvbiIgdmVkIGJhcmUgYXQgYnJ1Z2UKKyMgZm9ya29ydGVsc2VuIGlkOgorIyBEaXNrLWlkOiAuLi4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiRGlza2lkZW50aWZpa2F0aW9uIMOmbmRyZXQgZnJhIDB4JTA4eCB0aWwgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJJZ25vcmVyZXIgZWtzdHJhIHVkdmlkZXQgcGFydGl0aW9uICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiVWd5bGRpZ3QgZmxhZyAweCUwMnglMDJ4IGZvciBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB2aWwgYmxpdmUgcmV0dGV0IG1lZCDCu3fCqyAoZm9ya29ydGVsc2UgZm9yIHdyaXRlOyBkYW5zaz1za3JpdikiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJTdGFydHNla3RvciAlanUgdWRlbiBmb3Igb21yw6VkZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGVyIGFsbGVyZWRlIGRlZmluZXJldC4gU2xldCBkZW4gZsO4ciBkdSB0aWxmw7hqZXIgZGVuIGlnZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIlNla3RvciAlbGx1IGVyIGFsbGVyZWRlIGFsbG9rZXJldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIkluZ2VuIHRpbGfDpm5nZWxpZ2UgZnJpZSBzZWt0b3Jlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlRpbGbDuGplciBsb2dpc2sgcGFydGl0aW9uICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGluZGVob2xkZXIgc2VrdG9yIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGhvdmVkZXQgJWQgZXIgc3TDuHJyZSBlbmQgZGUgbWFrc2ltYWxlICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogc2VrdG9yICVkIGVyIHN0w7hycmUgZW5kIGRlIG1ha3NpbWFsZSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRpb25lcm5lICV6dTogY3lsaW5kZXIgJWQgc3TDuHJyZSBlbmQgZGUgbWFrc2ltYWxlICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGZvcnJpZ2Ugc2VrdG9yZXIgJXUgc3RlbW1lciBpa2tlIG1lZCB0b3RhbGVuICV1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGhhciBmb3Jza2VsbGlnIGZ5c2lzay9sb2dpc2sgYmVneW5kZWxzZSAoaWtrZS1MaW51eD8pOiBmeXNpaz0oJWQsICVkLCAlZCksIGxvZ2lrPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGhhciBmb3Jza2VsbGlnIGZ5c2lzay9sb2dpc2sgZW5kZWxzZTogZnlzaWs9KCVkLCAlZCwgJWQpLCBsb2dpaz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenUgc2x1dHRlciBpa2tlIHDDpSBlbiBjeWxpbmRlcmdyw6Zuc2UuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenUgdWd5bGRpZyBzdGFydCBww6UgZGF0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcGVyIG1lZCBwYXJ0aXRpb24gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiB0b20uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTG9naXNrIHBhcnRpdGlvbiAlenU6IGlra2UgZnVsZHN0w6ZuZGlndCBpbmRlbiBmb3IgcGFydGl0aW9uICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJEZXQgdG90YWxlIGFudGFsIGFsbG9rZXJlZGUgc2VrdG9yZXIgJWxsdSBlciBzdMO4cnJlIGVuZCBkZSBtYWtzaW1hbGUgJWxsdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICJUaWxiYWdldsOmcmVuZGUgJWxsZCBpa2tlLWFsbG9rZXJlZGUgJWxkLWJ5dGUgc2VrdG9yZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMSBsaWJmZGlzay9zcmMvZG9zLmM6MTYxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2MworbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIlVkdmlkZXQgcGFydGl0aW9uIGZpbmRlcyBhbGxlcmVkZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiRGV0IG1ha3NpbWFsZSBhbnRhbCBwYXJ0aXRpb25lciBlciBibGV2ZXQgb3ByZXR0ZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIlNhbXRsaWdlIHByaW3DpnJlIHBhcnRpdGlvbmVyIGVyIGkgYnJ1Zy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgzIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk0Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiQWwgcGxhZHMgZm9yIHByaW3DpnJlIHBhcnRpdGlvbmVyIGVyIGkgYnJ1Zy4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkZvciBhdCBvcHJldHRlIGZsZXJlIHBhcnQuLCBzw6Ugc2thbCBkdSBmw7hyc3QgZXJzdGF0dGUgZW4gcHJpbcOmciBtZWQgZW4gdWR2aWQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJTYW10bGlnZSBsb2dpc2tlIHBhcnRpdGlvbmVyIGVyIGkgYnJ1Zy4gVGlsZsO4amVyIGVuIHByaW3DpnIgcGFydGl0aW9uLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSBwcmltw6ZyLCAlZCB1ZHZpZGV0LCAlenUgZnJpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworbXNnaWQgInByaW1hcnkiCittc2dzdHIgInByaW3DpnIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgInVkdmlkZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgImNvbnRhaW5lciBmb3IgbG9naXNrZSBwYXJ0aXRpb25lciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJsb2dpc2siCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJudW1tZXJlcmV0IGZyYSA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJVZ3lsZGlnIHBhcnRpdGlvbnN0eXBlIMK7JWPCqy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiS2FuIGlra2Ugc2tyaXZlIHNla3RvciAlamQ6IHPDuGduaW5nIG1pc2x5a2tlZGVzIgorCisjIEV2dC4ga2FuIHZpIG9tZ8OlIGRldCBsaWR0IG15c3Rpc2tlICJpZGVudGlmaWthdGlvbiIgdmVkIGJhcmUgYXQgYnJ1Z2UKKyMgZm9ya29ydGVsc2VuIGlkOgorIyBEaXNrLWlkOiAuLi4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJEaXNraWRlbnRpZmlrYXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiVHlwZSAwIGJldHlkZXIgZnJpIHBsYWRzIGZvciBtYW5nZSBzeXN0ZW1lci4gQXQgaGF2ZSBwYXJ0aXRpb25lciBtZWQgdHlwZSAwIGVyIHNhbmRzeW5saWd2aXMgdWtsb2d0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiS2FuIGlra2Ugw6ZuZHJlIHR5cGVuIGZvciBkZW4gdWR2aWRlZGUgcGFydGl0aW9uLCBzb20gYWxsZXJlZGUgZXIgYnJ1Z3QgYWYgbG9naXNrZSBwYXJ0aXRpb25lci4gU2xldCBsb2dpc2tlIHBhcnRpdGlvbmVyIGbDuHJzdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiSW50ZXQgYXQgZ8O4cmUuIFLDpmtrZWbDuGxnZW4gZXIgYWxsZXJlZGUga29ycmVrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGludGV0IGRhdGFvbXLDpWRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk55IGJlZ3luZGVsc2UgcMOlIGRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGVyIGVuIHVkdmlkZXQgcGFydGl0aW9uLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIk9wc3RhcnRzZmxhZ2V0IHDDpSBwYXJ0aXRpb24gJXp1IGVyIG51IGFrdGl2ZXJldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiT3BzdGFydHNmbGFnZXQgcMOlIHBhcnRpdGlvbiAlenUgZXIgbnUgZGVha3RpdmVyZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkVuaGVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJPcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNQorbXNnaWQgIklkIgorbXNnc3RyICJJZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzQKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiU3RhcnQtQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICJTbHV0LUMvSC9TIgorCisjIGVyIGRldCBhdHRyaWJ1dHM/CisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorbXNnaWQgIkF0dHJzIgorbXNnc3RyICJBdHRycyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OQorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIkVGSS1zeXN0ZW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiTUJSLXBhcnRpdGlvbnNza2VtYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIEZhc3QgRmxhc2giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkJJT1Mtb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlNvbnktb3BzdGFydHNwYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkxlbm92by1vcHN0YXJ0c3BhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAtb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiT05JRS1vcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIk9OSUUta29uZmlnLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiTWljcm9zb2Z0IHJlc2VydmVyZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IGJhc2lzZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0tbWV0YWRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0tZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIldpbmRvd3MtZ2VuZGFubmVsc2VzbWlsasO4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIklCTSBnZW5lcmVsdCBwYXJhbGxlbHQgZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYLWRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJIUC1VWC10amVuZXN0ZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MworbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkxpbnV4LWZpbHN5c3RlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eC1zZXJ2ZXJkYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3RcdChJQS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiTGludXgtcmVzZXJ2ZXJlZGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCB1ZHZpZGV0IG9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QtZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRC1vcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNELXN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRC1VRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRC1aRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlELWZyYWtvYmxldCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlLW9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiQXBwbGUtZXRpa2V0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIkFwcGxlIFRWLWdlbmRhbm5lbHNlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlLWxhZ2VyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJTb2xhcmlzIHJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcy1zd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMtc2lra2VyaGVkc2tvcGkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMnIGFsdGVybmF0aXYgc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTb2xhcmlzLXJlc2VydmVyZWRlIDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlNvbGFyaXMtcmVzZXJ2ZXJlZGUgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU29sYXJpcy1yZXNlcnZlcmVkZSAzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzLXJlc2VydmVyZWRlIDQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlNvbGFyaXMtcmVzZXJ2ZXJlZGUgNSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qtc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCBGRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QgTEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiTmV0QlNELXNhbW1lbmvDpmRldCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIk5ldEJTRC1rcnlwdGVyZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTMKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIkNocm9tZU9TLWtlcm5lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiQ2hyb21lT1Mgcm9vdCBmcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJDaHJvbWVPUy1yZXNlcnZlcmVkZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIk1pZG5pZ2h0QlNELWRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJNaWRuaWdodEJTRC1vcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiTWlkbmlnaHRCU0Qtc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkNlcGgtam91cm5hbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIkNlcGgta3J5cHRlcmV0IGpvdXJuYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaC1PU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaC1rcnlwdGVyZXQgT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJDZXBoLWRpc2sgdW5kZXIgb3ByZXR0ZWxzZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiQ2VwaCBjcnlwdC1kaXNrIHVuZGVyIG9wcmV0dGVsc2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIERpYWdub3N0aWMiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljZXJpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NworIywgZnV6enkKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TLXJlc2VydmVyZWRlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJPcGVuQlNELWRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODQKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJRTlg2LWZpbHN5c3RlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBsYW4gOS1wYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NjEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBHUFQtdGVrc3Rob3ZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkbDuHJzdGUgTEJBIHNwZWNpZmljZXJldCBhZiBza3JpcHQgZXIgdWRlbiBmb3IgaW50ZXJ2YWwuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJTaWRzdGUgTEJBIHNwZWNpZmljZXJldCBhZiBza3JpcHQgZXIgdWRlbiBmb3IgaW50ZXJ2YWwuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIkdQVCBQTUJSLXN0w7hycmVsc2VzZm9yc2tlbCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0PikgdmlsIGJsaXZlIHJldHRldCBhZiB3KHJpdGUpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B0OiBzdGF0KCkgbWlzbHlra2VkZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiBrYW4gaWtrZSBow6VuZHRlcmUgZmlsZXIgbWVkIHRpbHN0YW5kICVvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIkdQVC1ob3ZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiR1BULXB1bmt0ZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJGw7hyc3RlIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiU2lkc3RlIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIkFsdGVybmF0aXYgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJQYXJ0aXRpb25zcHVua3RlciBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJBbGxva2VyZWRlIHBhcnRpdGlvbnNwdW5rdGVyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5NQorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIlNpa2tlcmhlZHN0YWJlbGxlbiBmb3IgR1BUIGVyIMO4ZGVsYWd0LCBtZW4gZGVuIHByaW3DpnJlIHNlciB1ZCB0aWwgYXQgdsOmcmUgby5rLiwgc8OlIGRlbiBibGl2ZXIgYnJ1Z3QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkRlbiBwcmltw6ZyZSBHUFQtdGFiZWwgZXIgw7hkZWxhZ3QsIG1lbiBzaWtrZXJoZWRza29waWVuIHNlciBvLmsuIHVkLCBzw6UgZGVuIHZpbCBibGl2ZSBicnVndC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgR1BULWF0dHJpYnV0Yml0IMK7JXPCqyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgR1BULWF0dHJpYnV0c3RyZW5nIMK7JXPCqyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiUGFydGl0aW9uIFVVSUQgw6ZuZHJldCBmcmEgJXMgdGlsICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgcGFydGl0aW9uc25hdm4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIlBhcnRpdGlvbnNuYXZuIMOmbmRyZXQgZnJhIMK7JXPCqyB0aWwgwrslLipzwqsuIgorCisjIGZpbmRlcyB1bmRlcnN0ZXBzIHNvbSBkYW5zayBiZXRlZ25lbHNlLCBzZWx2IGVuZ2Vsc2sgZ2l2ZXIgbWVnZXQgZsOlIHJlc3VsdGF0ZXIgcMOlIGdvb2dsZQorIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiQmVneW5kZWxzZW4gcMOlIHBhcnRpdGlvbmVuIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1MgorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIlNsdXRuaW5nZW4gcMOlIHBhcnRpdGlvbmVuIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiRW5oZWRlbiBpbmRlaG9sZGVyIGh5YnJpZCBNQlIgLSBza3JpdmVyIGt1biBHUFQuIER1IHNrYWwgc3lua3JvbmlzZXJlIE1CUidlbiBtYW51ZWx0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiRGlzayBpbmRlaG9sZGVyIGlra2UgZXQgZ3lsZGlndCBzaWtrZXJoZWRza29waWhvdmVkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIlVneWxkaWcgcHJpbcOmciB0ZWtzdGhvdmVkLUNSQy1rb250cm9sc3VtLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiVWd5bGRpZyB0ZWtzdGhvdmVkLUNSQy1rb250cm9sc3VtIGZvciBzaWtrZXJoZWRza29waS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJVZ3lsZGlnIGtvbnRyb2xzdW0gZm9yIHBhcnRpdGlvbnNwdW5rdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIlVneWxkaWdlIExCQS1zYW5pdGV0c2tvbnRyb2xsZXIgZm9yIHByaW3DpnIgdGVrc3Rob3ZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJVZ3lsZGlnZSBMQkEtc2FuaXRldHNrb250cm9sbGVyIGZvciBzaWtrZXJoZWRzdGVrc3Rob3ZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICJNeUxCQS1mb3Jza2VsIHRpbCByZWVsIHBvc2l0aW9uIHDDpSBwcmltw6ZydCB0ZWtzdGhvdmVkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIk15TEJBLWZvcnNrZWwgdGlsIHJlZWwgcG9zaXRpb24gcMOlIHNpa2tlcmhlZHN0ZWtzdGhvdmVkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiRGlza2VuIGVyIGZvciBsaWxsZSB0aWwgYWxsZSBkaXNzZSBkYXRhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiRm9yc2tlbCBww6UgcHJpbcOmci0gb2cgc2lra2VyaGVkc3Rla3N0aG92ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIlBhcnRpdGlvbiAldSBvdmVybGFwcGVyIG1lZCBwYXJ0aXRpb24gJXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgZXIgZm9yIHN0b3IgZm9yIGRpc2tlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgc2x1dHRlciBmw7hyIGRlbiBzdGFydGVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICJJbmdlbiBmZWpsIGRldGVrdGVyZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIlRla3N0aG92ZWR2ZXJzaW9uOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgIkJydWdlciAlenUgdWQgYWYgJXp1IHBhcnRpdGlvbmVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiRXQgYW50YWwgYWYgJWp1IGZyaWUgc2VrdG9yZXIgZXIgdGlsZ8OmbmdlbGlnZSBpICV1IHNlZ21lbnQuIgorbXNnc3RyWzFdICJFdCBhbnRhbCBhZiAlanUgZnJpZSBzZWt0b3JlciBlciB0aWxnw6ZuZ2VsaWdlIGkgJXUgc2VnbWVudGVyIChkZW4gc3TDuHJzdGUgZXIgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICJJbmdlbiBmZWpsIGRldGVrdGVyZXQiCittc2dzdHJbMV0gIiVkIGZlamwgZGV0ZWt0ZXJldCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJBbGxlIHBhcnRpdGlvbmVyIGVyIGFsbGVyZWRlIGkgYnJ1Zy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgzIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdG9yICVqdSBlciBhbGxlcmVkZSBicnVndC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiS3VubmUgaWtrZSBvcHJldHRlIHBhcnRpdGlvbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJEZW4gc2lkc3RlIGJydWdiYXJlIEdQVC1zZWt0b3IgZXIgJWp1LCBtZW4gJWp1IGtyw6Z2ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIkRlbiBmw7hyc3RlIGJydWdiYXJlIEdQVC1zZWt0b3IgZXIgJWp1LCBtZW4gJWp1IGVyIGtyw6Z2ZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIk9wcmV0dGVkZSBlbiBueSBHUFQtZGlza2V0aWtldCAoR1VJRDogJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NDYKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIkluZHRhc3QgbnkgZGlzay1VVUlEIChpIDgtNC00LTQtMTItZm9ybWF0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiS3VubmUgaWtrZSBmb3J0b2xrZSBkaW4gVVVJRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJEaXNraWRlbnRpZmlrYXRpb24gw6ZuZHJldCBmcmEgJXMgdGlsICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiSWtrZSBub2sgcGxhZHMgdGlsIG55IHBhcnRpdGlvbnN0YWJlbCEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpdGlvbmVuICMlenUgZXIgdWRlbiBmb3IgaW50ZXJ2YWwgKG1pbmRzdGUgc3RhcnQgZXIgJTxQUkl1NjQ+IHNla3RvcmVyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpdGlvbmVuICMlenUgZXIgdWRlbiBmb3IgaW50ZXJ2YWwgKHN0w7hyc3RlIHNsdXRuaW5nIGVyICU8UFJJdTY0PiBzZWt0b3JlcikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICJOdW1tZXJldCBww6UgcGFydGl0aW9uZW4gc2thbCB2w6ZyZSBtaW5kcmUgZW5kICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIkthbiBpa2tlIGFsbG9rZXJlIGh1a29tbWVsc2UhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiUGFydGl0aW9uc3RhYmVsbGVucyBsw6ZuZ2RlIGJsZXYgw6ZuZHJldCBmcmEgJTxQUkl1MzI+IHRpbCAlPFBSSXU2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJBdHRyaWJ1dHRlcm5lIHDDpSBwYXJ0aXRpb25lbiAlenUgYmxldiDDpm5kcmVkZXQgdGlsIDB4JTAxNjxQUkl4NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NTgKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiSW5kdGFzdCBHVUlELXNwZWNpZmlrIGJpdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJrdW5uZSBpa2tlIHNraWZ0ZSBlaiB1bmRlcnN0w7h0dGV0IGJpdCAlbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiR1VJRHMgc3BlY2lmaWthdGlvbnNiaXQgJWQgcMOlIHBhcnRpdGlvbiAlenUgZXIgYWt0aXZlcmV0IG51LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiR1VJRHMgc3BlY2lmaWthdGlvbnNiaXQgJWQgcMOlIHBhcnRpdGlvbiAlenUgZXIgZGVha3RpdmVyZXQgbnUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiJXMtZmxhZ2V0IHDDpSBwYXJ0aXRpb24gJXp1IGVyIGFrdGl2ZXJldCBudS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiJXMtZmxhZ2V0IHDDpSBwYXJ0aXRpb24gJXp1IGVyIGRlYWt0aXZlcmV0IG51LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlR5cGUtVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOYXZuIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiRnJpdCBvbXLDpWRlIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiS3VubmUgaWtrZSDDpm5kcmUgc3TDuHJyZWxzZSBww6UgcGFydGl0aW9uZW4gIyV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgInVrZW5kdCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSBzcHJyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNla3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHZvbHVtZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXgnIGVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICJTR0ktaW5mb3JtYXRpb24gb3ByZXR0ZXQgcMOlIDIuIHNla3Rvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTgKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJEZXRla3RlcmVkZSBTR0ktZGlza2V0aWtldCBtZWQgZm9ya2VydCB0amVrc3VtLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MSBsaWJmZGlzay9zcmMvc3VuLmM6NzgzCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJGeXNpc2tlIGN5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIkVrc3RyYSBzZWt0b3Jlci9jeWwuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIk9wc3RhcnRzZmlsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk0Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIlVneWxkaWcgb3BzdGFydHNmaWwhIE9wc3RhcnRzZmlsZW4gc2thbCB2w6ZyZSBldCBhYnNvbHV0LCBpa2tlLXRvbXQgc3RpbmF2biwgZi5la3MuIMK7L3VuaXjCqyBlbGxlciDCuy91bml4LnNhdmXCqy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiRm9yIGxhbmd0IG5hdm4gcMOlIG9wc3RhcnRzZmlsOiBow7hqc3QgJXp1IGJ5dGUuIgorbXNnc3RyWzFdICJGb3IgbGFuZ3QgbmF2biBww6Ugb3BzdGFydHNmaWw6IGjDuGpzdCAlenUgYnl0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJPcHN0YXJ0c2ZpbCBza2FsIGhhdmUgZXQga29tcGxldCBzdGluYXZuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJCZW3DpnJrLCBhdCBkZXIgaWtrZSB0amVra2VzIGZvciBvcHN0YXJ0c2ZpbGVucyBla3Npc3RlbnMuIFNHSXMgc3RhbmRhcmQgZXIgwrsvdW5peMKrIG9nIHNvbSBzaWtrZXJoZWRza29waSDCuy91bml4LnNhdmXCqy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiRGVuIG51dsOmcmVuZGUgb3BzdGFydHNmaWwgZXI6ICVzIgorCisjIHZpcmtlciBzb20gZW5nZWxzayBmZWpsPworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MAorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJBbmdpdiB2ZW5saWd0IG5hdm5ldCBww6UgZGVuIG55ZSBvcHN0YXJ0c2ZpbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJPcHN0YXJ0c2ZpbGVuIGVyIHXDpm5kcmV0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIk9wc3RhcnRzZmlsZW4gZXIgw6ZuZHJldCB0aWwgwrslc8KrLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIkRlciBlciBtZXJlIGVuZCDDqW4gZnVsZHN0w6ZuZGlnIGRpc2tpbmRnYW5nLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMiBsaWJmZGlzay9zcmMvc3VuLmM6NDU5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiSW5nZW4gcGFydGl0aW9uZXIgZGVmaW5lcmV0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVgga2FuIGxpZGUsIG7DpXIgcGFydGl0aW9uIDExIGZ5bGRlciBoZWxlIGRpc2tlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiSGVsZSBkaXNrcGFydGl0aW9uZW4gYsO4ciBzdGFydGUgdmVkIGJsb2sgMCwgaWtrZSB2ZWQgZGlza2Jsb2sgJWQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI3Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJQYXJ0aXRpb24gMTEgYsO4ciBmeWxkZSBoZWxlIGRpc2tlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJQYXJ0aXRpb25lcm5lICVkIG9nICVkIG92ZXJsYXBwZXIgaGluYW5kZW4gaSAlZCBzZWt0b3IuIgorbXNnc3RyWzFdICJQYXJ0aXRpb25lcm5lICVkIG9nICVkIG92ZXJsYXBwZXIgaGluYW5kZW4gaSAlZCBzZWt0b3Jlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJVYmVueXR0ZXQgaHVsIHDDpSAlOHUgc2VrdG9yIC0gc2VrdG9yICU4dSIKK21zZ3N0clsxXSAiVWJlbnl0dGV0IGh1bCBww6UgJTh1IHNla3RvcmVyOiBzZWt0b3Jlcm5lICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIk9wc3RhcnRzcGFydGl0aW9uZW4gZmluZGVzIGlra2UuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiU3dhcHBhcnRpdGlvbmVuIGZpbmRlcyBpa2tlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiU3dhcHBhcnRpdGlvbmVuIGhhciBpa2tlIG5vZ2VuIHN3YXB0eXBlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOAorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJEdSBoYXIgdmFsZ3QgZXQgdXPDpmR2YW5saWd0IG5hdm4gcMOlIG9wc3RhcnRzZmlsZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU4Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJQYXJ0aXRpb25zb3ZlcmxhcCBww6UgZGlza2VuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0MworbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIkZvcnPDuGdlciBhdCBnZW5lcmVyZSBoZWxlLWRpc2tpbmRnYW5nIGF1dG9tYXRpc2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ4Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJIZWxlIGRpc2tlbiBlciBhbGxlcmVkZSBmeWxkdCBtZWQgcGFydGl0aW9uZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJEdSBoYXIgb3ZlcmxhcHBlbmRlIHBhcnRpdGlvbmVyIHDDpSBkaXNrZW4uIFJldCBkZXQgZsO4cnN0ISIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJGw7hyc3RlICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiRGV0IGFuYmVmYWxlcyBrcmFmdGlndCwgYXQgZGVuIGVsbGV2dGUgcGFydGl0aW9uIGZ5bGRlciBoZWxlIGRpc2tlbiBvZyBlciBhZiB0eXBlbiDCu1NHSSB2b2x1bWXCqy4iCisKKyMgKGxpZHQgc3BlY2llbHQgbWVuIG1hbiBza3JpdmVyIHZpc3QgKzEwMjQsICsxMDI0SywgKzIwNDhNIGVsbGVyCisjIHRpbHN2YXJlbmRlIGtvbnN0cnVrdGlvbikKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJTZW5lc3RlICVzIGVsbGVyICVzIGVsbGVyICtzdMO4cnJlbHNle0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgbWlzbHlra2VkZXMgcMOlICVzLiBCZW55dHRlciBnZW9tZXRyaWN5bGluZGVydsOmcmRpZW4gJWxsdS4gRGVubmUgdsOmcmRpIGthbiBibGl2ZSBhZmtvcnRldCBww6UgZW5oZWRlciwgZGVyIGVyIHN0w7hycmUgZW5kIDMzLDggR0IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIk9wcmV0dGVkZSBlbiBueSBTR0ktZGlza2V0aWtldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDY5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICJCZWtsYWdlciwgZHUga2FuIGt1biDDpm5kcmUgbcOmcmtldCBmb3IgdG9tbWUgcGFydGl0aW9uZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIk92ZXJ2ZWogYXQgbGFkZSBwYXJ0aXRpb24gOSB2w6ZyZSBkaXNrLWhvdmVkICh2b2x1bWUgaGVhZGVyKSAoMCksIG9nIHBhcnRpdGlvbiAxMSBzb20gwrtlbnRpcmUgdm9sdW1lwqsgKDYpLCBkYSBJUklYIGZvcnZlbnRlciBkZXQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiRGV0IGFuYmVmYWxlcyBrcmFmdGlndCwgYXQgcGFydGl0aW9uZW4gcMOlIGZvcnNreWRuaW5nIDAgZXIgYWYgdHlwZW4gwrtTR0kgdm9saGRywqsuIElSSVgtc3lzdGVtZXQgdmlsIGJydWdlIGRlbiB0aWwgYXQgaGVudGUgZnJhIGRldHMgbWFwcGV2w6Zya3TDuGplciBzb20gc2FzaCBvZyBmeC4gS3VuIMK7U0dJIHZvbHVtZcKrIGhlbGUtZGlza3Nla3Rpb25lbiBrYW4gYnJ5ZGUgZGV0dGUuIEVyIGR1IHNpa2tlciBww6UsIGF0IGR1IHZpbCBtw6Zya2UgcGFydGl0aW9uZW4gYW5kZXJsZWRlcz8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzozOQorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIklra2UgdGlsZGVsdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mgcm9vdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mgc3dhcCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIkhlbGUgZGlza2VuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0LXNla3RvcmVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjIG3DpXNrZSBTdW5PUyByZXNlcnZlcmV0CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MtcmVzZXJ2ZXJlZGUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzAKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICJPcGRhZ2VkZSBTVU4tZGlza2V0aWtldCBtZWQgZm9ya2VydCB0amVrc3VtLiBEdSBlciBub2sgbsO4ZHQgdGlsIGF0IGFuZ2l2ZSBhbGxlIHbDpnJkaWVybmUgZi5la3MuIGhvdmVkZXIsIHNla3RvcmVyLCBjeWxpbmRyZSBvZyBwYXJ0aXRpb25lciBlbGxlciBnZW5uZW10dmluZ2UgZW4gaGVsdCBueXQgZXRpa2V0IChrb21tYW5kb2VuIHMgaSBob3ZlZG1lbnVlbikiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIkRldGVrdGVyZWRlIHN1bi1kaXNrZXRpa2V0IG1lZCBmb3JrZXJ0IHZlcnNpb24gWyVkXS4iCisKKyMgbcOlc2tlICJzYW5pdHkiIGkgZ8Olc2XDuGpuZS4gIERldCBlciBub2sgZW4gc3BlY2llbCB2YXJpYWJlbCwgZGVyIAorIyAoaHZpcyBkZW4gZXIgZm9ya2VydCkgYW5naXZlciBhdCBkZXIgZXIgbm9nZXQgJ3NpbmRzc3lndCcgZ2FsdAorIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJEZXRla3RlcmVkZSBzdW4tZGlza2V0aWtldCBtZWQgZm9ya2VydCB2dG9jLnNhbml0eSBbMHglMDh4XS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJEZXRla3RlcmVkZSBzdW4tZGlza2V0aWtldCBtZWQgZm9ya2VydCB2dG9jLm5wYXJ0cyBbJXVdIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIkFkdmFyc2VsOiBGb3JrZXJ0ZSB2w6ZyZGllciBrcsOmdmVyIGF0IGJsaXZlIHJldHRldCBvZyB2aWwgYmxpdmUgcmV0dGV0IGFmIHcocml0ZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiSG92ZWRlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNla3RvcmVyL3Nwb3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJPcHJldHRlZGUgZW4gbnkgU3VuLWRpc2tldGlrZXQuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGlvbiAldSBzbHV0dGVyIGlra2UgcMOlIGVuIGN5bGluZGVyZ3LDpm5zZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHBlciBtZWQgYW5kcmUgaSBzZWt0b3Jlcm5lICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiVWJlbnl0dGV0IGh1bCAtIHNla3RvcmVybmUgMMKtLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiVWJlbnl0dGV0IGh1bCAtIHNla3RvcmVybmUgJXXCrS0ldS4iCisKKyMgJ25vZ2xlJyB0cm9yIGplZyBlciBiZWRyZSBoZXIsIGRldCBlciBtdWxpZ3QgYXQgJ25vZ2VuJyBvZ3PDpSBlciByaWd0aWd0CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICJEaXNrZW4gZXIgYWxsZXJlZGUgaGVsdCB1ZGZ5bGR0IG1lZCBhbmRyZSBwYXJ0aXRpb25lci4gU2xldCBlbGxlciBmb3JtaW5kc2sgbm9nbGUgYWYgZGVtLCBmw7hyIGR1IHByw7h2ZXIgaWdlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIkRldCBhbmJlZmFsZXMga3JhZnRpZ3QsIGF0IGRlbiB0cmVkamUgcGFydGl0aW9uIGTDpmtrZXIgaGVsZSBkaXNrZW4gb2cgZXIgYWYgdHlwZW4gwrtIZWxlIGRpc2tlbsKrIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkp1c3RlcmVyIGRlbiBmw7hyc3RlIHNla3RvciBmcmEgJXUgdGlsICV1IHRpbCBhdCB2w6ZyZSBww6UgY3lsaW5kZXJncsOmbnNlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJTZWt0b3IgJWQgZXIgYWxsZXJlZGUgYWxsb2tlcmV0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiRHUgaGFyIGlra2UgdWRmeWxkdCBoZWxlIGRpc2tlbiBtZWQgdHJlZGplIHBhcnRpdGlvbiwgbWVuIGRpbiB2w6ZyZGlcbiIKKyIlbHUgJXMgZMOma2tlciBlbiBhbmRlbiBwYXJ0aXRpb24uIERpbiBpbmRnYW5nIGVyIGJsZXZldCDDpm5kcmV0IHRpbFxuIgorIiVsdSAlcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiSHZpcyBkdSB2aWwgYmVob2xkZSBTdW5PUy9Tb2xhcmlzLWtvbXBhdGlsaXRldCwgYsO4ciBkdSBiZWhvbGRlIGRlbm5lIHBhcnRpdGlvbiBzb20gwrtIZWxlIGRpc2tlbsKrICg1KSwgZGVyIGJlZ3luZGVyIHDDpSAwLCBtZWQgJXUgc2VrdG9yZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjMKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiRXRpa2V0LWlkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJEaXNrZW5oZWQtaWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzgKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbHRlcm5hdGl2ZSBjeWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg4NAorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbnRhbCBhbHRlcm5hdGl2ZSBjeWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFa3N0cmEgc2VrdG9yZXIgcGVyIGN5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkludGVybGVhdmVmYWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NTcKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiUm90YXRpb25zaGFzdGlnaGVkIChvbWRyLiBwZXIgbWludXQpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTgxCittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQW50YWwgZnlzaXNrZSBjeWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJPdmVydmVqIGF0IGxhZGUgcGFydGl0aW9uIDMgdsOmcmUgwrtIZWxlIGRpc2tlbsKrICg1KSwgZGFcbiIKKyJTdW5PUy9Tb2xhcmlzIGZvcnZlbnRlciBkZXQgb2cgc2VsdiBMaW51eCBmb3JldHLDpmtrZXIgZGV0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIkRldCBhbmJlZmFsZXMga3JhZnRpZ3QsIGF0IHBhcnRpdGlvbmVuIG1lZCBmb3Jza3lkbmluZ2VuIDBcbiIKKyJlciBldCBVRlMtLCBFWFQyRlMtZmlsc3lzdGVtIGVsbGVyIGVuIFN1bk9TLXN3YXAuIFZlZCBhdFxuIgorImzDpmdnZSBlbiBMaW51eC1zd2FwIGRlciwga2FuIGR1IMO4ZGVsw6ZnZ2UgZGluIHBhcnRpdGlvbnN0YWJlbFxuIgorIm9nIG9wc3RhcnRzYmxvay4gRXIgZHUgZXIgaGVsdCBzaWtrZXIgcMOlLCBhdCBkdSB2aWxcbiIKKyJtYXJrZXJlIGRlbiBwYXJ0aXRpb24gc29tIExpbnV4LXN3YXA/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIm9wZXJhdGlvbiBtaXNseWtrZWRlczogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIkFEVkFSU0VMOiBrdW5uZSBpa2tlIGFudmVuZGUgcHJvcGFnYXRpb25zZmxhZyIKKworIyBodmFkIGVyIGZvcnNrZWwgcMOlIGVuZ2Vsc2sgd3JpdGUtcHJvdGVjdGVkIG9nIHJlYWQtb25seQorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICJBRFZBUlNFTDogZW5oZWRlbiBlciBza3JpdmViZXNreXR0ZXQsIG1vbnRlcmVyIHNrcml2ZWJlc2t5dHRldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAib3BlcmF0aW9uIHRpbGxhZHQga3VuIGZvciByb290IChhZG1pbmlzdHJhdG9yKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgZXIgYWxsZXJlZGUgbW9udGVyZXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIGluICVzIgorbXNnc3RyICJrYW4gaWtrZSBmaW5kZSBpICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgbW9udGVyaW5nc3B1bmt0IGkgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgbW9udGVyaW5nc2tpbGRlICVzIGkgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkIG9uICVzOyB1c2UgLXQgPHR5cGU+IG9yIHdpcGVmcyg4KSIKK21zZ3N0ciAiZmxlcmUgZmlsc3lzdGVtZXIgcmVnaXN0cmVyZXQgcMOlICVzOyBicnVnIC10IDx0eXBlPiBlbGxlciB3aXBlZnMoOCkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAia2FuIGlra2UgYmVzdGVtbWUgZmlsc3lzdGVtdHlwZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGZpbGVzeXN0ZW0gdHlwZSBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGZpbHN5c3RlbXR5cGUgYW5naXZldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgImthbiBpa2tlIGZpbmRlICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgc291cmNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gbW9udGVyaW5nc2tpbGRlIGFuZ2l2ZXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9uczogJW0iCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgbW9udGVyaW5nc2luZHN0aWxsaW5nZXI6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgbW9udGVyaW5nc2luZHN0aWxsaW5nZXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIG9wc8OmdHRlIGzDuGtrZWVuaGVkIGZvciAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgJXMiCittc2dzdHIgImRlciBlciBvdmVybGFwcGVuZGUgbMO4a2tlbmhlZGVyIGZvciAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE0IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvY2tpbmcgZmFpbGVkIgorbXNnc3RyICJsdWtuaW5nIGFmICVzIG1pc2x5a2tlZGVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW9udGVyaW5nIG1pc2x5a2tlZGVzOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgImZpbHN5c3RlbSBibGV2IG1vbnRlcmV0LCBtZW4gZWZ0ZXJmw7hsZ2VuZGUgb3BlcmF0aW9uZXIgbWlzbHlra2VkZXM6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJmaWxzeXN0ZW0gYmxldiBtb250ZXJldCwgbWVuIGVmdGVyZsO4bGdlbmRlIG9wZXJhdGlvbmVyIG1pc2x5a2tlZGVzOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCBlciBpa2tlIGVuIG1hcHBlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJhZGdhbmcgbsOmZ3RldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAic2thbCB2w6ZyZSBzdXBlcmJydWdlciBmb3IgYXQgYnJ1Z2UgbW91bnQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJtb250ZXJpbmdzcHVua3QgZXIgb3B0YWdldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMgZXIgYWxsZXJlZGUgbW9udGVyZXQgcMOlICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgIiVzIGVyIGFsbGVyZWRlIG1vbnRlcmV0IGVsbGVyIG1vbnRlcmluZ3NwdW5rdCBlciBvcHRhZ2V0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCBmaW5kZXMgaWtrZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJtb250ZXJpbmdzcHVua3QgZXIgZW4gc3ltYm9sc2sgaGVudmlzbmluZyB1ZCBpIGluZ2VudGluZyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJzcGVjaWVsZW5oZWQgJXMgZmluZGVzIGlra2UiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTYKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQoMiktc3lzdGVta2FsZCBtaXNseWtrZWRlczogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJzcGVjaWVsZW5oZWQgJXMgZmluZGVzIGlra2UgKGV0IHN0aXByw6ZmaWtzIGVyIGlra2UgZW4gbWFwcGUpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW9udGVyaW5nc3B1bmt0IGVyIGlra2UgbW9udGVyZXQsIGVsbGVyIGZvcmtlcnQgdGlsdmFsZyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJpa2tlIGV0IG1vbnRlcmluZ3NwdW5rdCwgZWxsZXIgZm9ya2VydCB0aWx2YWxnIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKyJmb3JrZXJ0IHRpbHZhbGcuIEJlbcOmcmsgYXQgZmx5dG5pbmcgYWYgZW4gbW9udGVyaW5nIHVuZGVyIGVuIGRlbHQgbW9udGVyaW5nXG4iCisiaWtrZSBlciB1bmRlcnN0w7h0dGV0LiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0iCittc2dzdHIgIiIKKyJmb3JrZXJ0IHRpbHZhbGcuIEZvciBmbGVyZSBmaWxzeXN0ZW1lciAoZi5la3MuIG5mcywgY2lmcykgc2thbCBkdSBtw6Vza2UgYnJ1Z2UgZXRcbiIKKyIvc2Jpbi9tb3VudC48dHlwZT4taGrDpmxwZXByb2dyYW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcywgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJmb3JrZXJ0IGZpbHN5c3RlbXR5cGUsIGZvcmtlcnQgdGlsdmFsZywgdWd5bGRpZyBzdXBlcmJsb2sgcMOlICVzLCBtYW5nbGVuZGUgdGVnbnPDpnQsXG4iCisiaGrDpmxwZXByb2dyYW0gZWxsZXIgYW5kZW4gZmVqbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIm1vbnRlcmluZ3N0YWJlbGxlbiBlciBmdWxkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICJrYW4gaWtrZSBsw6ZzZSBzdXBlcmJsb2trZW4gcMOlICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAidWtlbmR0IGZpbHN5c3RlbXR5cGUgwrslc8KrIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInVrZW5kdCBmaWxzeXN0ZW10eXBlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIGVyIGlra2UgZW4gYmxva2VuaGVkLCBvZyBzdGF0KDIpIGZlamxlcj8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgImtlcm5lbiBnZW5rZW5kZXIgaWtrZSAlcyBzb20gZW4gYmxva2VuaGVkOyAgbcOlc2tlIGVyIMK7bW9kcHJvYmUgZHJpdmVywqsgbsO4ZHZlbmRpZyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZTsgdHJ5IFwiLW8gbG9vcFwiIgorbXNnc3RyICIlcyBlciBpa2tlIGVuIGJsb2tlbmhlZDsgcHLDuHYgwrstbyBsb29wwqsiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGVyIGlra2UgZW4gYmxva2VuaGVkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBlciBpa2tlIGVuIGd5bGRpZyBibG9rZW5oZWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJrYW4gaWtrZSBtb250ZXJlICVzIHNrcml2ZWJlc2t5dHRldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgcmVhZC13cml0ZSBtb2RlIHJlcXVlc3RlZCIKK21zZ3N0ciAiJXMgZXIgc2tyaXZlYmVza3l0dGV0LCBtZW4gZWtzcGxpY2l0IHNrcml2L2zDpnMtdGlsc3RhbmQgZXIgYW5naXZldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAia2FuIGlra2UgbW9udGVyZSAlcyBsw6ZzL3Nrcml2IGlnZW4sIGVyIHNrcml2ZWJlc2t5dHRldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmQgJXMgZmFpbGVkIgorbXNnc3RyICJiaW5kICVzIG1pc2x5a2tlZGVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJpbnRldCBtZWRpZSBmdW5kZXQgcMOlICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudDsgcHJvYmFibHkgY29ycnVwdGVkIGZpbGVzeXN0ZW0gb24gJXMiCittc2dzdHIgImthbiBpa2tlIMOmbmRyZSByb2RmaWxzeXN0ZW1ldHMgZm9ybWVyaW5nIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDcyIGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgImlra2UgbW9udGVyZXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgInVtb3VudCBtaXNseWtrZWRlczogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJmaWxzeXN0ZW0gYmxldiBhZm1vbnRlcmV0LCBtZW4gZWZ0ZXJmw7hsZ2VuZGUgb3BlcmF0aW9uZXIgbWlzbHlra2VkZXM6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJmaWxzeXN0ZW0gYmxldiBhZm1vbnRlcmV0LCBtZW4gZWZ0ZXJmw7hsZ2VuZGUgb3BlcmF0aW9uZXIgbWlzbHlra2VkZXM6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1Z3lsZGlnIGJsb2tlbmhlZCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJrYW4gaWtrZSBza3JpdmUgc3VwZXJibG9rIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICJtw6VsIGVyIG9wdGFnZXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJpbnRldCBtb250ZXJpbmdzcHVua3QgYW5naXZldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICJza2FsIHbDpnJlIHN1cGVyYnJ1Z2VyIGZvciBhdCBhZm1vbnRlcmUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJibG9rZW5oZWRlciB0aWxsYWRlcyBpa2tlIHDDpSBkZXR0ZSBmaWxzeXN0ZW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50KDIpLXN5c3RlbWthbGQgbWlzbHlra2VkZXM6ICVtIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCBtaXNseWtrZWRlcyAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICJrdW5uZSBpa2tlIHVkZsO4cmUgY2FsbG9jIGZvciBjcHUtc8OmdCIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIENQVS1saXN0ZSAlcyIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIENQVS1tYXNrZSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJrYW4gaWtrZSDDpWJuZSBVTklYLXNva2tlbCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAia2FuIGlra2UgYW5naXZlIHRpbHZhbGcgZm9yIFVOSVgtc29ra2VsIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImthbiBpa2tlIGZvcmJpbmRlIHDDpSBVTklYLXNva2tlbCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJwbHltb3V0aC1mb3Jlc3DDuHJnc2xlbiAlYyBlciBpa2tlIGltcGxlbWVudGVyZXQiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxODYKK21zZ2lkICJnZXRyYW5kb20oKSBmdW5jdGlvbiIKK21zZ3N0ciAiZ2V0cmFuZG9tKCktZnVua3Rpb24iCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICJsaWJjIHBzZXVkby12aWxrw6VybGlnZSBmdW5rdGlvbmVyIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzOiBLYW4gaWtrZSB0ZXN0ZSBlbmhlZCIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIlczogQW1iaXZhbGVudCB1bmRlcnPDuGdlbHNlc3Jlc3VsdGF0OyBicnVnIHdpcGVmcyg4KSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBJa2tlIGVuIGd5bGRpZyBzd2FwLXBhcnRpdGlvbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiVzOiBVbmRlcnN0w7h0dGVyIGlra2Ugc3dhcC12ZXJzaW9uIMK7JXPCqyIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAiIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlbDpnJkaSB1ZGVuIGZvciBvbXLDpWRldC4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPGJydWdlcm5hdm4+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIsOGbmRyIGRpbiBmaW5nZXJpbmZvcm1hdGlvbi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxkZS1uYXZuPiAgbmF2blxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxrb250b3I+ICAgICAgICBrb250b3ItbnIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHRlbGVmb24+IGtvbnRvcnRlbGVmb25cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDx0ZWxlZm9uPiAgIHRlbGVmb25udW1tZXJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZmVsdCAlcyBlciBmb3IgbGFuZ3QiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjcgbG9naW4tdXRpbHMvY2hzaC5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiJXM6IGhhciBpbGxlZ2FsZSB0ZWduIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAibG9naW4uZGVmcyBmb3JieWRlciBpbmRzdGlsbGluZyAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIktvbnRvciIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIktvbnRvcnRlbGVmb24iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiVGVsZWZvbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE5NCBsb2dpbi11dGlscy9jaHNoLmM6MTg3Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtdWx0aXBsZSB1c2VybmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI0OAorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICJBZmJydWR0LiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIGhhciBlbiB1dmVudGV0IHbDpnJkaTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIHRpbGxhZGVyIGlra2Ugbm9nZW4gw6ZuZHJpbmdlciIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiRmluZ2VyaW5mb3JtYXRpb25lciAqSUtLRSogw6ZuZHJldC4gUHLDuHYgaWdlbiBzZW5lcmUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlcmluZm9ybWF0aW9uZXIgw6ZuZHJldC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICJkdSAoYnJ1Z2VyICVkKSBmaW5kZXMgaWtrZS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJicnVnZXIgwrslc8KrIGZpbmRlcyBpa2tlLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNyBsb2dpbi11dGlscy9jaHNoLmM6Mjg0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgImthbiBrdW4gw6ZuZHJlIGxva2FsZSBpbmRnYW5nZSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyBlciBpa2tlIGF1dG9yaXNlcmV0IHRpbCBhdCDDpm5kcmUgZmluZ2Vyb3BseXNuaW5nZXIgZm9yICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiVWtlbmR0IGZlamwgaSBicnVnZXJrb250ZWtzdCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJrYW4gaWtrZSBzw6Z0dGUgc3RhbmRhcmRrb250ZWtzdCBmb3IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NjkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJkZW4ga8O4cmVuZGUgVUlEIHN2YXJlciBpa2tlIHRpbCBkZW4gVUlELCB2aSB1ZGbDuHJlciDDpm5kcmluZ2VyIGZvcjsgw6ZuZHJpbmcgbsOmZ3RlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICLDhm5kcmVyIGZpbmdlcmluZm9ybWF0aW9uIGZvciAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlcmluZm9ybWF0aW9uZXIgaWtrZSDDpm5kcmV0LlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzcKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiVWRza2lmdCBkaW4gbG9naW5kc2thbC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgwCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxza2FsPiAgYW5naXYgbG9naW5kc2thbFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODEKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHVkc2tyaXYgc2thbGxpc3RlIG9nIGFmc2x1dFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICJza2FsbGVuIHNrYWwgYW5naXZlcyBtZWQgaGVsIHN0aSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIsK7JXPCqyBmaW5kZXMgaWtrZSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIsK7JXPCqyBlciBpa2tlIGvDuHJiYXIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJBZHZhcnNlbDogwrslc8KrIGVyIGlra2UgbWVkIGkgJXMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKyLCuyVzwqsgZXIgaWtrZSBtZWQgaSAlcy5cbiIKKyJCcnVnICVzIC1sIGZvciBhdCBzZSBsaXN0ZW4uIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIGVyIGlra2UgYXV0b3Jpc2VyZXQgdGlsIGF0IMOmbmRyZSBza2FsbGVuIGZvciAlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgImRlbiBrw7hyZW5kZSBVSUQgc3ZhcmVyIGlra2UgdGlsIGRlbiBVSUQsIHZpIHVkZsO4cmVyIMOmbmRyaW5nZXIgZm9yOyBza2Fsw6ZuZHJpbmcgbsOmZ3RlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiZGluIHNrYWwgZXIgaWtrZSBpICVzLCB1ZHNraWZ0bmluZyBhZiBza2FsIGFmdmlzdCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIlVkc2tpZnRlciBza2FsIGZvciAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAiTnkgc2thbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiU2thbCBpa2tlIHVkc2tpZnRldC4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2thbCAqSUtLRSogdWRza2lmdGV0LiBQcsO4diBpZ2VuIHNlbmVyZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSBtaXNseWtrZWRlc1xuIgorIlNrYWwgKklLS0UqIHVkc2tpZnRldC4gUHLDuHYgaWdlbiBzZW5lcmUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIlNrYWwgdWRza2lmdGV0LlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiQnJ1ZzogJXMgPGFkZ2FuZ3NvcmRmaWw+IDxicnVnZXJuYXZuPiAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJ1a2VuZHQgdGlkc2Zvcm1hdDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiQWZicnVkdCAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgInN0w7hycmVsc2UgZm9yIHByw6ZhbGxva2VyaW5nIGVyIG92ZXJza3JlZGV0IgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8YnJ1Z2VyPiAuLi5dIFs8dHR5PiAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiVmlzIGVuIG9wbGlzdG5pbmcgYWYgc2lkc3RlIGluZGxvZ2dlZGUgYnJ1Z2VyZS5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPGFudGFsPiAgICAgICAgICAgICBodm9yIG1hbmdlIGxpbmplciBza2FsIHZpc2VzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICB2aXMgdsOmcnRzbmF2bmUgaSBkZW4gc2lkc3RlIGtvbG9ubmVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgb3ZlcnPDpnQgSVAtbnVtbWVyZXQgdGlsYmFnZSB0aWwgZXQgdsOmcnRzbmF2blxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbD4gICAgIGJydWcgZW4gc3BlY2lmaWsgZmlsIGkgc3RlZGV0IGZvciAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHVkc2tyaXYgZnVsZGUgbG9naW5kLSBvZyBsb2d1ZC10aWRzcHVua3RlciBvZyBkYXRvZXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXAgICAgICAgICAgICAgdmlzIElQLXRhbCBpIHRhbCBvZyBwdW5rdHVtLW5vdGF0aW9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLW4sIC0tbGltaXQgPGFudGFsPiAgaHZvciBtYW5nZSBsaW5qZXIgc2thbCB2aXNlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICB2aXMgaWtrZSB2w6ZydHNuYXZuZmVsdGV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8dGlkPiAgICB2aXMgbGluamVybmUgc2lkZW4gZGV0IGFuZ2l2bmUgdGlkc3B1bmt0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8dGlkPiAgICB2aXMgbGluamVybmUgaW5kdGlsIGRlbiBhbmdpdm5lIHRpZHNwdW5rdFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPHRpZD4gIHZpcyBodmVtIHNvbSB2YXIgdGlsIHN0ZWRlIHDDpSBkZXQgYW5naXZuZSB0aWRzcHVua3RcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MAorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAtdywgLS1mdWxsbmFtZXMgICAgICB2aXMgZnVsZGUgYnJ1Z2VyLSBvZyBkb23Dpm5lbmF2bmVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MQorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIgLXgsIC0tc3lzdGVtICAgICAgICAgdmlzIHN5c3RlbWV0cyBuZWRsdWtuaW5nc3B1bmt0ZXIgb2cgw6ZuZHJpbmcgZm9yIGvDuHJzZWxzbml2ZWF1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTIKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHZpcyB0aWRzc3RlbXBsZXIgaSBkZXQgc3BlY2lmaWNlcmVkZSA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJXMgc3RhcnRlciAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTcyIHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGFudGFsIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgInVneWxkaWcgdGlkc3bDpnJkaSDCuyVzwqsiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIkt1bm5lIGlra2UgZHJvcHBlIGdydXBwZXByaXZpbGVnaWVyIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAibGlidXNlci1pbml0aWFsaXNlcmluZyBtaXNseWtrZWRlczogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIsOmbmRyaW5nIGFmIGJydWdlcmF0dHJpYnV0IG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJicnVnZXJhdHRyaWJ1dCBibGV2IGlra2Ugw6ZuZHJldDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiRkFUQUxUOiBrdW5uZSBpa2tlIGdlbsOlYm5lIHR0eTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiRkFUQUxUOiAlcyBlciBpa2tlIGVuIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXMsICVsdSwgJWx1KSBtaXNseWtrZWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIG1pc2x5a2tlZGVzOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiRkFUQUxUOiB1Z3lsZGlnIHR0eSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiRkFUQUxUOiAlczogw6ZuZHJpbmcgYWYgcmV0dGlnaGVkZXIgbWlzbHlra2VkZXM6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiU2lkc3RlIGxvZ2luZDogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJmcmEgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgInDDpSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgInNrcml2bmluZyB0aWwgbGFzdGxvZyBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJPUFJJTkdOSU5HIEtMT0tLRU4gJXMgQUYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVC1MT0dJTkQgUMOFICVzIEZSQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiUk9PVC1MT0dJTkQgUMOFICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTkQgUMOFICVzIEFGICVzIEZSQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIkxPR0lORCBQw4UgJXMgQUYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAibG9naW5kOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIlBBTS1mZWpsLCBhZmJyeWRlcjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiS3VubmUgaWtrZSBrbGFyZ8O4cmUgUEFNOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiTUlTTFlLS0VUIExPR0lORCAldSBGUkEgJXMgRk9SICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiTG9naW5kIHVneWxkaWd0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGT1IgTUFOR0UgTE9HSU5ERk9SU8OYRyAoJXUpIEZSQSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIk1JU0xZS0tFVCBMT0dJTkRTRVNTSU9OIEZSQSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJMb2dpbmQgdWd5bGRpZ3RcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2JsZW0gbWVkIHNlc3Npb25zb3Bzw6Z0bmluZywgYWZicnlkZXIuIgorCisjICVzOiVkIGpmLiBkZW4gbmVkZW5mb3IKKyMgKGRldCBhbmdpdmVyIG5vayBmaWxuYXZuOmxpbmplKQorIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiVE9NVCBicnVnZXJuYXZuIGkgJXM6JWQuIEFmYnJ5ZGVyLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBtaXNseWtrZWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJCcnVnOiBsb2dpbiBbLXBdIFstaCA8dsOmcnQ+XSBbLUhdIFstZl0gPGJydWdlcm5hdm4+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJCZWd5bmQgZW4gc2Vzc2lvbiBww6Ugc3lzdGVtZXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgLWYgICAgICAgICAgIG9wZGVsIGlra2UgbGFuZ2UgbGluamVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNAorbXNnaWQgIiAtZiAgICAgICAgICAgICBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNQorbXNnaWQgIiAtaCA8aG9zdD4gICAgICBob3N0bmFtZSB0byBiZSB1c2VkIGZvciB1dG1wIGxvZ2dpbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA2CisjLCBmdXp6eQorbXNnaWQgIiAtSCAgICAgICAgICAgICBzdXBwcmVzcyBob3N0bmFtZSBpbiB0aGUgbG9naW4gcHJvbXB0IgorbXNnc3RyICIgLXUgICAgICAgICAgdW5kdHJ5ayB1bmRlcnN0cmVnbmluZ1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAidWRsw7hiIGVmdGVyICV1IHNla3VuZGVyIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggZXIga3VuIGZvciBzdXBlcmJydWdlcmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiVWd5bGRpZ3QgYnJ1Z2VybmF2biDCuyVzwqsgaSAlczolZC4gQWZicnlkZXIuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImdydXBwZWluaXRpYWxpc2VyaW5nIG1pc2x5a2tlZGVzOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjg4Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICJEdSBoYXIgbnkgcG9zdC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIkR1IGhhciBwb3N0LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzQKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiBLdW5uZSBpa2tlIMOmbmRyZSBtYXBwZSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiTG9nZ2VyIGluZCBtZWQgaGplbW1lbWFwcGUgPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImt1bm5lIGlra2Uga8O4cmUgc2thbC1za3JpcHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3OAorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJpbmdlbiBza2FsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6ICVzIGluZGVob2xkZXIgdWd5bGRpZyBudW1lcmlzayB2w6ZyZGk6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICJodXNoLWxvZ2luZHN0YXR1czogZ2VuZGFuIGFmIG9wcmluZGVsaWdlIGlkJ2VyIG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2IHN5cy11dGlscy9sc2NwdS5jOjE0NDYKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgIm5vIgorbXNnc3RyICJuZWoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgImJydWdlcm5hdm4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIkJydWdlcm5hdm4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgImJydWdlci1pZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgImFkZ2FuZ3Nrb2RlIGlra2Uga3LDpnZldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIkFkZ2FuZ3Nrb2RlIGlra2Uga3LDpnZldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAibG9naW5kIG1lZCBhZGdhbmdza29kZSBkZWFrdGl2ZXJldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiTG9naW5kIG1lZCBhZGdhbmdza29kZSBkZWFrdGl2ZXJldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJhZGdhbmdza29kZSBkZWZpbmVyZXQsIG1lbiBsw6VzdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIkFkZ2FuZ3Nrb2RlbiBlciBsw6VzdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAibG9naW5kIGVyIGRlYWt0aXZlcmV0IGFmIG5vbG9naW4oOCkgZWxsZXIgcGFtX25vbG9naW4oOCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIkludGV0IGxvZ2luZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgInByaW3DpnIgZ3J1cHBlbmF2biIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltw6ZyIGdydXBwZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJwcmltw6ZyIGdydXBwZS1pZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICJzdXBwbGVtZW50w6ZyZSBncnVwcGVuYXZuZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiU3VwcGxlbWVudMOmcmUgZ3J1cHBlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAic3VwcGxlbWVudMOmcmUgZ3J1cHBlLWlkJ2VyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJTdXBwbGVtZW50w6ZyZSBncnVwcGUtaWQnZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImhqZW1tZW1hcHBlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJIamVtbWVtYXBwZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAibG9naW5kc2thbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiU2thbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiZnVsZCBicnVnZXJuYXZuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICJHZWNvcy1mZWx0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZGF0byBmb3IgZsO4cnN0ZSBsb2dpbmQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiU2lkc3RlIGxvZ2luZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJzaWRzdGUgdHR5IGJydWd0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIlNpZHN0ZSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAidsOmcnRzbmF2biB1bmRlciBkZW4gc2lkc3RlIHNlc3Npb24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiU2lkc3RlIHbDpnJ0c25hdm4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiZGF0byBmb3IgZGV0IHNpZHN0IG1pc2x5a2tlZGVzIGxvZ2luZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIk1pc2x5a2tldCBsb2dpbmQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiaHZvciBtaXNseWtrZWRlcyBsb2dpbmRldD8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJNaXNseWtrZXQgbG9naW5kIHZpYSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiYnJ1Z2VycyBodXNoLWluZHN0aWxsaW5nZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICJIdXNoJ2V0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiZGFnZSBicnVnZXIgYWR2YXJlcyBvbSB1ZGzDuGIgZm9yIGFkZ2FuZ3Nrb2RlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIkFkdmFyc2Vsc2ludGVydmFsIGZvciB1ZGzDuGIgYWYgYWRnYW5nc2tvZGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJhZGdhbmdza29kZW5zIHVkbMO4YnNkYXRvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIkFkZ2FuZ3Nrb2RlbnMgdWRsw7hiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgImRhdG8gZm9yIHNpZHN0ZSDDpm5kcmluZyBhZiBhZGdhbmdza29kZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJBZGdhbmdza29kZSDDpm5kcmV0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiYW50YWxsZXQgYWYgZGFnZSBrcsOmdmV0IG1lbGxlbSDDpm5kcmluZ2VyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1pbmltdW1zw6ZuZHJpbmdzdGlkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJtYWtzIGFudGFsIGRhZ2UgZW4gYWRnYW5nc2tvZGUga2FuIHbDpnJlIHXDpm5kcmV0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1ha3NpbXVtc8OmbmRyaW5nc3RpZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgImJydWdlcmVucyBzaWtrZXJoZWRza29udGVrc3QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJTZWxpbnV4LWtvbnRla3N0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJhbnRhbCBwcm9jZXNzZXIga8O4cnQgYWYgYnJ1Z2VyZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIkvDuHJlbmRlIHByb2Nlc3NlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiZm9yIG1hbmdlIGtvbG9ubmVyIHNwZWNpZmljZXJldCwgYmVncsOmbnNuaW5nZW4gZXIgJXp1IGtvbG9ubmVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCB0aWRzdHlwZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAia3VubmUgaWtrZSBvcHJldHRlIHRpZHNzdHJlbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAia3VubmUgaWtrZSBoZW50ZSBzdXBwbGVtZW50w6ZyZSBncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgImludGVybiBmZWpsOiB1a2VuZHQga29sb25uZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTaWRzdGUgbG9nZ2U6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyNiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5NSBtaXNjLXV0aWxzL21jb29raWUuYzo4MyBtaXNjLXV0aWxzL3V1aWRkLmM6NjIKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI2IHN5cy11dGlscy9kbWVzZy5jOjI2NiBzeXMtdXRpbHMvaXBjbWsuYzo2NworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMCBzeXMtdXRpbHMvbHNpcGMuYzoyNzggc3lzLXV0aWxzL2xzbWVtLmM6NDk2CisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzkKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIlZpcyBpbmZvcm1hdGlvbiBvbSBrZW5kdGUgYnJ1Z2VyZSBpIHN5c3RlbWV0LlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzIKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIHZpcyBpbmZvcm1hdGlvbiBvbSBhZGdhbmdza29kZXJuZXMgdWRsw7hiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMworbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICB2aXMgZGF0YSBpIGV0IGZvcm1hdCBkZXIgc3ZhcmVyIHRpbCAvZXRjL3Bhc3N3ZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQgc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICB2aXMgaSBldCB1ZGRhdGFmb3JtYXQgZWduZXQgZm9yIGVrc3BvcnRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICB2aXMgZGF0YSBvbSBicnVnZXJlbnMgc2lkc3RlIG1pc2x5a2tlZGUgZm9yc8O4ZyBww6UgbG9naW5kXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICB2aXMgaW5mb3JtYXRpb24gb20gZ3J1cHBlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz08Z3J1cHBlcj4gICB2aXMgYnJ1Z2VyZSB0aWxow7hyZW5kZSBlbiBncnVwcGUgaSA8Z3J1cHBlPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICB2aXMgaW5mb3JtYXRpb24gb20gYnJ1Z2VyZW5zIHNpZHN0ZSBsb2dpbmRzZXNzaW9uZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgLWwsIC0tbG9naW5zPTxsb2dpbmQ+ICAgIHZpcyBrdW4gYnJ1Z2VyZSBmcmEgPGxvZ2luZD5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwIHN5cy11dGlscy9sc2lwYy5jOjI5OQorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICB2aXMgaHZlciBzdHlra2UgaW5mb3JtYXRpb24gcMOlIGVuIG55IGxpbmplXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgdmlzIGlra2UgdGVrc3Rob3ZlZGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGFma29ydCBpa2tlIHVkZGF0YVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXRbPTxsaXN0ZT5dICAgZGVmaW5lciBrb2xvbm5lcm5lIGkgdWRkYXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NAorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIHZpcyBpbmZvcm1hdGlvbiByZWxhdGVyZXQgdGlsIGxvZ2luZCBlZnRlciBhZGdhbmdza29kZS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIHZpcyBpIHLDpSB0aWxzdGFuZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgdmlzIHN5c3RlbWtvbnRpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IHZpcyBkYXRvZXIgaSBrb3J0LCBmdWxkIGVsbGVyIGlzby1mb3JtYXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICB2aXMgYnJ1Z2Vya29udGlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICB2aXMgU0VMaW51eC1rb250ZWt0c1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgYWZncsOmbnMgYnJ1Z2VycG9zdGVyIG1lZCBldCBudWwtdGVnblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDxzdGk+ICAgIGFuZ2l2IGVuIGFsdGVybmF0aXYgc3RpIGZvciB3dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiAgICAgLS1idG1wLWZpbGUgPHN0aT4gICAgYW5naXYgZW4gYWx0ZXJuYXRpdiBzdGkgZm9yIGJ0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDM0Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAia3VubmUgaWtrZSBhbm1vZGUgb20gc2VsaW51eC10aWxzdGFuZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIkt1biBlbiBicnVnZXIga2FuIHNwZWNpZmljZXJlcy4gQnJ1ZyAtbCBmb3IgZmxlcmUgYnJ1Z2VyZS4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSB0ZXJtaW5hbGF0dHJpYnV0dGVyIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiQWRnYW5nc2tvZGU6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTYwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5OTUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDxncnVwcGU+XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3NgorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiTG9nIGluZCB0aWwgZW4gbnkgZ3J1cHBlLlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgImh2ZW0gZXIgZHU/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAiaW5nZW4gc8OlZGFuIGdydXBwZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiTsOmZ3QgdmVubGlndCBldCBsb2dpbmQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIkRlbm5lIGtvbnRvIGVyIGkgYnJ1ZyBmb3Igw7hqZWJsaWtrZXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjIyNAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIgKGtlcm5lIGR1bXBldCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBpbmRoZW50ZSB0ZXJtaW5hbGF0dHJpYnV0dGVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgImt1bm5lIGlra2Ugb3ByZXR0ZSBlbiBueSBkaXNrZXRpa2V0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgYmxva3NpZ25hbGVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsIG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAia3VubmUgaWtrZSDDpWJuZSBtYXBwZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICJtw6UgaWtrZSBicnVnZXMgYWYgYnJ1Z2VyZSBkZXIgaWtrZSBlciByb2QgKHJvb3QpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgInVneWxkaWcgYWRnYW5nc2tvZGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSDDpWJuZSBzZXNzaW9uOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIGJsb2tzaWduYWxlciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgImt1bm5lIGlra2Ugc8OmdHRlIHNpZ25hbGjDpW5kdGVyaW5nZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJrdW5uZSBpa2tlIHPDpnR0ZSBzaWduYWxow6VuZHRlcmluZ2VuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAia3VubmUgaWtrZSBzw6Z0dGUgc2lnbmFsaMOlbmR0ZXJpbmdlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJrdW5uZSBpa2tlIG9wcmV0dGUgdW5kZXJwcm9jZXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSDDpm5kcmUgbWFwcGUgdGlsICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3Npb24gYWZzbHV0dGV0LCBkcsOmYmVyIHNrYWwgLi4uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIC4uLmRyw6ZidC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIG1pbGrDuHZhcmlhYmxlbiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJrYW4gaWtrZSBhbmdpdmUgZ3J1cHBlciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIG5pdmVhdSDCuyVzwqsiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjIgc3lzLXV0aWxzL2VqZWN0LmM6NjYwCittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAia2FuIGlra2UgYW5naXZlIGdydXBwZS1pZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgImthbiBpa2tlIGFuZ2l2ZSBicnVnZXItaWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIG51bHN0aWxsIGlra2UgbWlsasO4dmFyaWFibGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3J1cHBlPiAgICAgICAgICAgIHNwZWNpZmljZXIgZGVuIHByaW3DpnJlIGdydXBwZVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncnVwcGU+ICAgICAgICBzcGVjaWZpY2VyIGVuIHN1cHBsZW1lbnTDpnIgZ3J1cHBlXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIGfDuHIgc2thbGxlbiB0aWwgZW4gbG9naW5kc2thbFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk4Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxrb21tYW5kbz4gICAgICAgIHNlbmQgZW4gZW5rZWx0IGtvbW1hbmRvIHRpbCBza2FsbGVuIG1lZCAtY1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxrb21tYW5kbz4gICAgc2VuZCBlbiBlbmtlbHQga29tbWFuZG8gdGlsIHNrYWxsZW4gbWVkIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZyBvcHJldCBpa2tlIGVuIG55IHNlc3Npb25cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHNlbmQgLWYgdGlsIHNrYWxsZW4gKGZvciBjc2ggZWxsZXIgdGNzaClcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNrYWw+ICAgICAgICAgICAgICBrw7hyIDxza2FsPiBodmlzIC9ldGMvc2hlbGxzIHRpbGxhZGVyIGRldFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIG5ldyBwc2V1ZG8tdGVybWluYWxcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIG9wcmV0IGVuIHRhYmVsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICUxJHMgW3RpbHZhbGddIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbdGlsdmFsZ10gPGtvbW1hbmRvPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLw7hyIDxjb21tYW5kPiBtZWQgZGVuIGVmZmVrdGl2ZSBicnVnZXItaWQgb2cgZ3J1cHBlLWlkIGZvciA8YnJ1Z2VyPi4gSHZpcyAtdVxuIgorImlra2UgZXIgYW5naXZldCwgc8OlIGZhbGQgdGlsYmFnZSB0aWwgc3UoMSkta29tcGF0aWJlbCBzZW1hbnRpayBvZyBrw7hyXG4iCisic3RhbmRhcmRza2FsLiBUaWx2YWxnZW5lIC1jLCAtZiwgLWwgb2cgLXMgdWRlbHVra2VyIGhpbmFuZGVuIG1lZCAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEyMworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8YnJ1Z2VyPiAgICAgICAgICAgYnJ1Z2VybmF2blxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFstXSBbPGJydWdlcj4gWzxwYXJhbWV0cmU+IC4uLl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLDhm5kciBkZXQgZWZmZWt0aXZlIGJydWdlci1pZCBvZyBncnVwcGUtaWQgdGlsIGRldCBmb3IgPGJydWdlcj4uXG4iCisiTWVkIGV0IC0gdW5kZXJmb3JzdMOlcyAtbC4gSHZpcyA8YnJ1Z2VyPiBpa2tlIGFuZ2l2ZXMsIGFudGFnZXMgcm9vdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiYW5naXZlbHNlIGFmIG1lcmUgZW5kICVkIHN1cHBsZW1lbnTDpnIgZ3J1cHBlIGVyIGlra2UgbXVsaWd0IgorbXNnc3RyWzFdICJhbmdpdmVsc2UgYWYgbWVyZSBlbmQgJWQgc3VwcGxlbWVudMOmcmUgZ3J1cHBlciBlciBpa2tlIG11bGlndCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZ3J1cHBlICVzIGZpbmRlcyBpa2tlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCisjLCBmdXp6eQorbXNnaWQgIi0tcHR5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBlciBpa2tlIHVuZGVyc3TDuHR0ZXQgcMOlIGRpdCBzeXN0ZW0iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzMjYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgImlnbm9yZXJlciAtLXByZXNlcnZlLWVudmlyb25tZW50LCBzb20gaWtrZSBrYW4gYnJ1Z2VzIHNhbW1lbiBtZWQgLS1sb2dpbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MAorbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJ0aWx2YWxnIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IG9nIC0tdXNlciB1ZGVsdWtrZXIgaGluYW5kZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGtvbW1hbmRvIGJsZXYgYW5naXZldCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgImt1biByb290IChhZG1pbmlzdHJhdG9yKSBrYW4gYW5naXZlIGFsdGVybmF0aXZlIGdydXBwZXIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiYnJ1Z2VyIMK7JXPCqyBmaW5kZXMgaWtrZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJicnVnZXIgYmVncsOmbnNldCBza2FsICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJhZHZhcnNlbDoga2FuIGlra2Ugw6ZuZHJlIG1hcHBlIHRpbCAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjZ2V0YXR0ciBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjc2V0YXR0ciBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IGluZ2VuIGluZGdhbmcgZm9yIHJvb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBpbmdlbiBpbmRnYW5nIGZvciByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiByb2RhZGdhbmdza29kZSB1bMOmc2VsaWciCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisiXG4iCisiS2FuIGlra2Ugw6VibmUgYWRnYW5nIHRpbCBrb25zb2wsIHJvb3Qta29udG9lbiBlciBsw6VzdC5cbiIKKyJTZSBtYW51YWxzaWRlbiBmb3Igc3Vsb2dpbig4KSBmb3IgeWRlcmxpZ2VyZSBkZXRhbGplci5cbiIKKyJcbiIKKyJUcnlrIFJldHVyIGZvciBhdCBmb3J0c8OmdHRlLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiR2l2IGFkbWluaXN0cmF0b3JhZGdhbmdza29kZSAocm9vdCkgZm9yIGxvZ2luZDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICJUcnlrIFJldHVyIGZvciBhdCBsb2dnZSBpbmQ6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkdpdiByb2RhZGdhbmdza29kZSBmb3IgdmVkbGlnZWhvbGRlbHNlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIlRyeWsgUmV0dXIgZm9yIHZlZGxpZ2Vob2xkZWxzZVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIihlbGxlciB0YXN0IEtvbnRyb2wtRCBmb3IgYXQgZm9ydHPDpnR0ZSk6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICLDpm5kcmluZyBhZiBtYXBwZSB0aWwgc3lzdGVtcm9kIG1pc2x5a2tlZGVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gbWlzbHlra2VkZXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSB7dHR5LWVuaGVkXVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIkVua2VsYnJ1Z2VyLWxvZ2luZC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBlbiBsb2dpbmRza2FsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNla3VuZGVyPiAgbWFrcy4gdmVudGV0aWQgZm9yIGVuIGFkZ2FuZ3Nrb2RlIChzdGFuZGFyZDogaW5nZW4gYmVncsOmbnNuaW5nKVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgdW5kZXJzw7hnIGFkZ2FuZ3Nrb2RlZmlsZXIgZGlyZWt0ZSBodmlzIGdldHB3bmFtKDMpIG1pc2x5a2tlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODYzIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0Njggc3lzLXV0aWxzL3dkY3RsLmM6NTI0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgxNyB0ZXJtLXV0aWxzL3dhbGwuYzoyMTYKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciB0aWRzdWRsw7hiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0Cittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgImt1biBlbiBzdXBlcmJydWdlciBrYW4ga8O4cmUgZGV0dGUgcHJvZ3JhbSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImthbiBpa2tlIMOlYm5lIGtvbnNvbCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJrYW4gaWtrZSDDpWJuZSBhZGdhbmdza29kZWRhdGFiYXNlIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorImthbiBpa2tlIGvDuHJlIHN1IHNoZWxsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisiVGlkc3VkbMO4YlxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA0OQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisia2FuIGlra2UgdmVudGUgcMOlIHN1IHNoZWxsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczoga2FuIGlra2UgdGlsZsO4amUgaW5vdGlmeS1vdmVydsOlZ25pbmcuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBrYW4gaWtrZSBsw6ZzZSBpbm90aWZ5aMOmbmRlbHNlciIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIlV2ZWRrb21tZW5kZSBueSBsaW5qZSBpIGZpbC4gQWZzbHV0dGVyLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gW2ZpbG5hdm5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIkR1bXAgVVRNUC0gb2cgV1RNUC1maWxlciBpIHLDpSBmb3JtYXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICB2aXMgdGlsZsO4amV0IGRhdGEgZWZ0ZXJow6VuZGVuIHNvbSBmaWxlbiB2b2tzZXJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTAKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgc2tyaXYgZHVtcGVkZSBkYXRhIHRpbGJhZ2UgdGlsIHV0bXAtZmlsXG4iCisKKyMgc3RhbmRhcmR1ZGRhdGEiIGpmLiBlZnRlcmbDuGxnZW5kZSwgZWxsZXJzIGZvcmVzbMOlciBqZWcgZGV0IG1lcmUgbMOmc2V2ZW5saWdlICJzdGFuZGFyZC11ZAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxmaWw+ICAgc2tyaXYgdGlsIGZpbCBpIHN0ZWRldCBmb3IgdGlsIHN0YW5kYXJkdWRkYXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJhdCBmw7hsZ2Ugc3RhbmRhcmRpbmRkYXRhIHVuZGVyc3TDuHR0ZXMgaWtrZSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcCB1bmR1bXAgYWYgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIlV0bXAgZHVtcCBhZiAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAia3VubmUgaWtrZSDDpWJuZSBtaWRsZXJ0aWRpZyBmaWwiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogb3ByZXR0ZWxzZSBhZiBlbiBoZW52aXNuaW5nIHRpbCAlcyBtaXNseWtrZWRlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIkthbiBpa2tlIGbDpSBrb250ZWtzdCBmb3IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJLYW4gaWtrZSBzw6Z0dGUga29udGVrc3QgZm9yICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXM6IHXDpm5kcmV0IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJrYW4gaWtrZSBpbmRoZW50ZSBsw6VzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICJpbnRldCDDpm5kcmV0IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkzCittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgImthbiBpa2tlIGNobW9kIGZpbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIlJlZGlnZXIgYWRnYW5nc2tvZGVuIGVsbGVyIGdydXBwZWZpbGVuLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJEdSBicnVnZXIgc2t5Z2dlZ3J1cHBlciAoc2hhZG93IGdyb3VwcykgcMOlIGRldHRlIHN5c3RlbS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiRHUgYnJ1Z2VyIHNreWdnZWFkZ2FuZ3Nrb2RlciAoc2hhZG93IHBhc3N3b3JkcykgcMOlIGRldHRlIHN5c3RlbS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIlZpbCBkdSByZWRpZ2VyZSAlcyBudSBbeS9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiJXMgZnJhICVzIChsaWJibGtpZCAlcywgJXMpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC0tbGFiZWwgPGxhYmVsPiB8IC0tdXVpZCA8dXVpZD5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAlcyAtLWxhYmVsIDxldGlrZXQ+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyBbLS1jYWNoZS1maWxlIDxmaWxlPl0gWy1naGxMdl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSBbLS1tYXRjaC10YWcgPHRhZz5dIFxuIgorIiAgICAgICBbLS1tYXRjaC10b2tlbiA8dG9rZW4+XSBbPGRldj4gLi4uXVxuIgorIlxuIgorbXNnc3RyICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbD5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDxtw6Zya2U+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHN5bWJvbD5dIFs8ZW5oZWQ+IC4uLl1cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPG3DpnJrZT5dIFstLW9mZnNldCA8Zm9yc2t5ZG5pbmc+XSBbLS1zaXplIDxzdHI+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZW5oZWQ+IC4uLlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiICVzIC1pIFstLW1hdGNoLXRhZyA8bcOmcmtlPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZW5oZWQ+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsPiAgICAgbMOmc3QgZnJhIDxmaWw+IGkgc3RlZGV0IGZvciBhdCBsw6ZzZSBmcmEgbWVsbGVtbGFnZXJldHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFyZGZpbCAoLWMgL2Rldi9udWxsIGJldHlkZXIgaW50ZXQgbWVsbGVtbGFnZXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NQorbXNnaWQgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBkb24ndCBlbmNvZGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGtvZCBpa2tlIGlra2UtdWRza3JpdmVuZGUgdGVnblxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODYKK21zZ2lkICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgZ2FyYmFnZSBjb2xsZWN0IHRoZSBibGtpZCBjYWNoZVxuIgorbXNnc3RyICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgYWZmYWxkc2luZHNhbWwgYmxraWQtbWVsbGVtbGFnZXJldFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIHVkZGF0YWZvcm1hdDsga2FuIHbDpnJlIGVuIGFmOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBlbGxlciBmdWxsOyAoc3RhbmRhcmQ6IGZ1bGwpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorbXNnaWQgIiAtaywgLS1saXN0LWZpbGVzeXN0ZW1zICAgICBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgdmlzIGFsbGUga2VuZHRlIGZpbHN5c3RlbWVyL1JBSUQnZXIgb2cgYWZzbHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MAorbXNnaWQgIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIC1zLCAtLW1hdGNoLXRhZyA8bcOmcmtlPiAgICB2aXMgc3BlY2lmaWNlcmVkZSBtw6Zya2VyIChzb20gc3RhbmRhcmQgdmlzZXMgYWxsZSBtw6Zya2VyKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTEKK21zZ2lkICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRva2VuPiAgZmluZCBkZXZpY2Ugd2l0aCBhIHNwZWNpZmljIHRva2VuIChOQU1FPXZhbHVlIHBhaXIpXG4iCittc2dzdHIgIiAtdCwgLS1tYXRjaC10b2tlbiA8c3ltYm9sPiBmaW5kIGVuaGVkIG1lZCBldCBzcGVjaWZpa3Qgc3ltYm9sIChOQVZOPXbDpnJkaXBhcilcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkyCittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgICBzbMOlIGt1biBmw7hyc3RlIGVuaGVkIG9wIG1lZCBzeW1ib2wgYW5naXZldCBhZiAtdFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTMKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLUwsIC0tbGFiZWwgPGV0aWtldD4gICAgICAga29udmVydGVyIEVUSUtFVCB0aWwgZW5oZWRzbmF2blxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTQKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBrb252ZXJ0ZXIgVVVJRCB0aWwgZW5oZWRzbmF2blxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBkZXZpY2UocykgdG8gcHJvYmUgKGRlZmF1bHQ6IGFsbCBkZXZpY2VzKVxuIgorbXNnc3RyICIgPGRldj4gICAgICAgICAgICAgICAgICAgICAgYW5naXYgZW5oZWRlciBhdCB0ZXN0ZSAoc3RhbmRhcmQ6IGFsbGUgZW5oZWRlcilcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3Cittc2dpZCAiTG93LWxldmVsIHByb2Jpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiSW5kc3RpbGxpbmdlciBmb3IgdGVzdCBww6UgbGF2dCBuaXZlYXU6XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorbXNnaWQgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgdGVzdCBww6UgbGF2dCBuaXZlYXUgZm9yIHN1cGVyYmxva2tlIChvbWfDpSBtZWxsZW1sYWdlcilcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBpbmRzYW1sIGluZm9ybWF0aW9uIG9tIEkvTy1ncsOmbnNlclxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAwCittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8c3TDuHJyZWxzZT4gICAgIG92ZXJza3JpdiBlbmhlZHN0w7hycmVsc2VcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAtTywgLS1vZmZzZXQgPGZvcnNreWRuaW5nPiB0ZXN0IGRlbiBnaXZuZSBmb3Jza3lkbmluZ1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgLXUsIC0tdXNhZ2VzIDxsaXN0ZT4gICAgICAgZmlsdHJlciBlZnRlciDCu3VzYWdlwqsgKGYuZWtzLiAtdSBmaWxlc3lzdGVtLHJhaWQpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKK21zZ2lkICIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiAtbiwgLS1tYXRjaC10eXBlcnMgPGxpc3RlPiBiZWdyw6ZucyBlZnRlciBmaWxzeXN0ZW10eXBlIChmLmVrcy4gLW4gdmZhdCxleHQpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiKG1vbnRlcmV0LCBtdHB0IHVrZW5kdCkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiKGkgYnJ1ZykiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzkKK21zZ2lkICIobm90IG1vdW50ZWQpIgorbXNnc3RyICIoaWtrZSBtb250ZXJldCkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIgorbXNnc3RyICJmZWpsOiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiJXM6IHR2ZXR5ZGlndCByZXN1bHRhdCAoc2FuZHN5bmxpZ3ZpcyBmbGVyZSBmaWxzeXN0ZW1lciBww6UgZW5oZWRlbiwgYnJ1ZyB3aXBlZnMoOCkgZm9yIGZsZXJlIGRldGFsamVyKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICJ1a2VuZHQgbsO4Z2xlb3JkIGkgLXUgPGxpc3RlPiBwYXJhbWV0ZXI6IMK7JXPCqyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgImZlamw6IC11IDxsaXN0ZT4gcGFyYW1ldGVyIGVyIHRvbSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0ICVzIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgdWRkYXRhZm9ybWF0ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgZm9yc2t5ZG5pbmdzcGFyYW1ldGVyIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIkZvciBtYW5nZSBtw6Zya2VyIGFuZ2l2ZXQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgc3TDuHJyZWxzZXNwYXJhbWV0ZXIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIkthbiBrdW4gc8O4Z2UgZWZ0ZXIgZXQgTkFWTj12w6ZyZGlwYXIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3ODMKK21zZ2lkICItdCBuZWVkcyBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIi10IGtyw6Z2ZXIgTkFWTj12w6ZyZGlwYXIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICJUZXN0dGlsc3RhbmRlbiBww6UgbGF2dCBuaXZlYXUgdW5kZXJzdMO4dHRlciBpa2tlIHVkZGF0YWZvcm1hdGV0IMK7bGlzdMKrIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIlRlc3R0aWxzdGFuZGVuIHDDpSBsYXZ0IG5pdmVhdSBrcsOmdmVyIGVuIGVuaGVkIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIk9wc2xhZ3N0aWx2YWxnZXQga3LDpnZlciBlbiBzw7hnZXR5cGUgYW5naXZldCBtZWQgLXQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBtb250ZXJpbmdzcGFyYW10ZXIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHVnZXBhcmFtZXRlciIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ1Z3lsZGlnIHVnZXbDpnJkaTogYnJ1ZyAxLTU0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgdGlkc3N0ZW1wZWwgZWxsZXIgdWtlbmR0IG3DpW5lZHNuYXZuOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAidWd5bGRpZyBkYWdzdsOmcmRpIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgInVneWxkaWcgZGFnc3bDpnJkaTogYnJ1ZyAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJ1Z3lsZGlnIG3DpW5lZHN2w6ZyZGk6IGJydWcgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAidWtlbmR0IG3DpW5lZHNuYXZuOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgInVneWxkaWcgw6Vyc3bDpnJkaSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJ1Z3lsZGlnIMOlcnN2w6ZyZGk6IGJydWcgcG9zaXRpdmUgaGVsdGFsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgInVneWxkaWcgdWdldsOmcmRpOiDDpXIgJWQgaGFyIGlra2UgdWdlICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gW1tbZGFnXSBtw6VuZWRdIMOlcl1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPHRpZHNzdGVtcGVsfG3DpW5lZHNuYXZuPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTgKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiVmlzIGVuIGthbGVuZGVyLCBlbGxlciBub2dldCBhZiBkZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiVWRlbiBub2dlbiBwYXJhbWV0cmUsIHZpcyBkZW4gYWt0dWVsbGUgbcOlbmVkLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICB2aXMga3VuIGVuIGVua2VsdCBtw6VuZWQgKHN0YW5kYXJkKVxuIgorCisjIHNwYW5uaW5nID0gb21rcmluZworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHZpcyB0cmUgbcOlbmVkZXIgb21rcmluZyBkYXRvZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8YW50YWw+ICB2aXMgYW50YWwgbcOlbmVkZXIgc3RhcnRlbmRlIG1lZCBkYXRvZW5zIG3DpW5lZFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgLVMsIC0tc3BhbiAgICAgICAgICAgIG9tc3DDpm5kIGRhdG9lbiBuw6VyIGZsZXJlIG3DpW5lZGVyIHZpc2VzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU8O4bmRhZyBzb20gZsO4cnN0ZSBkYWcgaSB1Z2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTWFuZGFnIHNvbSBmw7hyc3RlIGRhZyBpIHVnZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdmlzIGRhdG9lciBtZWQganVsaWFuc2sga2FsZW5kZXJmb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgdmlzIGlra2UgZmlmXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIHZpcyBoZWxlIMOlcmV0XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAgdmlzIGRlIG7DpnN0ZSB0b2x2IG3DpW5lZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTxudW0+XSAgICB2aXMgVVMgZWxsZXIgSVNPLTg2MDEgdWdlbnVtcmVcbiIKKworIyBkZXQgdmlsbGUgbm9rIHbDpnJlIGxvZ2lzayBhdCBoYXZlIGRlIGRhbnNrZSBpIHBhcmVudGVzLCBtZW5zIG7DuGdsZW9yZGVuZSBzdMOlciB1ZGVuZm9yCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTQKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PG7DpXI+XSAgIGZhcnZlbMOmZyBiZXNrZWRlciAoYXV0bywgYWx3YXlzIChhbHRpZCkgZWxsZXIgbmV2ZXIgKGFsZHJpZykpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gcGFnZXMiCittc2dzdHIgImZpbGRhdGEgdGlsIHN0ZWRlIGkgaHVrb21tZWxzZXNzaWRlciIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiZmlsZGRhdGEgdGlsIHN0ZWRlIGkgaHVrb21tZWxzZW4gaSBieXRlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MworbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgInN0w7hycmVsc2UgcMOlIGZpbGVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiZmlsbmF2biIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtaW5jb3JlOiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSB1ZGbDuHJlIG1pbmNvcmU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIHVkZsO4cmUgbW1hcDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgImt1bm5lIGlra2Ugw6VibmU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSB1ZGbDuHJlIGZzdGF0OiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIGZpbCAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgYnJ1ZyBKU09OLXVkZGF0YWZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgIHZpcyBzdMO4cnJlbHNlciBpIGJ5dGUgZnJlbSBmb3IgaSBldCBsw6ZzZXZlbmxpZ3QgZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICB1ZHNrcml2IGlra2UgdGVrc3Rob3ZlZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgIHZpcyBrb2xvbm5lclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzMKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgIGJydWcgcsOlIHVkZGF0YWZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gZmlsIGFuZ2l2ZXQiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2w6ZyZGk+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJGaW5kIGV0IGZpbHN5c3RlbSBlZnRlciBldGlrZXQgZWxsZXIgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJrdW5uZSBpa2tlIHNsw6Ugwrslc8KrIG9wIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgImtpbGRlZW5oZWQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImZpbHN5c3RlbXR5cGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICJhbGxlIG1vbnRlcmluZ3N0aWx2YWxnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiVkZTLXNwZWNpZmlra2UgbW9udGVyaW5nc3RpbHZhbGciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIkZTLXNwZWNpZmlra2UgbW9udGVyaW5nc3RpbHZhbGciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgImV0aWtldCBmb3IgZmlsc3lzdGVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiZmlsc3lzdGVtLVVVSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAicGFydGl0aW9uc2V0aWtldCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJtYWpvcjptaW5vci1lbmhlZHNudW1tZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgImhhbmRsaW5nIGRldGVrdGVyZXQgYWYgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgImdhbWxlIG1vbnRlcmluZ3N0aWx2YWxnIGdlbXQgYWYgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgImdhbW1lbHQgbW9udGVyaW5nc3B1bmt0IGdlbXQgYWYgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgInN0w7hycmVsc2UgcMOlIGZpbHN5c3RlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAidGlsZ8OmbmdlbGlnIHN0w7hycmVsc2UgZm9yIGZpbHN5c3RlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgImJydWd0IHN0w7hycmVsc2UgZm9yIGZpbHN5c3RlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiYnJ1Z3QgcHJvY2VudCBmb3IgZmlsc3lzdGVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgInJvb3QgZm9yIGZpbHN5c3RlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAib3BnYXZlLWlkIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibW9udGVyaW5ncy1pZCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJ2YWxnZnJpZSBtb250ZXJpbmdzZmVsdGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIlZGUy1wcm9wYWdhdGlvbnNmbGFnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZHVtcCg4KS1wZXJpb2RlIGkgZGFnZSBba3VuIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgImFudGFsIGdlbm5lbWzDuGIgcMOlIHBhcmFsbGVsIGZzY2soOCkgW2t1biBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgInVrZW5kdCBoYW5kbGluZzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJtb250ZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiYWZtb250ZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgImdlbm1vbnRlciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAiZmx5dCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODE0IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzcgc3lzLXV0aWxzL2VqZWN0LmM6NzE0CisjOiBzeXMtdXRpbHMvbW91bnQuYzozMjQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAia3VubmUgaWtrZSBpbml0aWFsaXNlcmUgbGlibW91bnQtdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJrYW4gaWtrZSBsw6ZzZSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgImt1bm5lIGlra2UgaW5pdGlhbGlzZXJlIGxpYm1vdW50LWl0ZXJhdG9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAia3VubmUgaWtrZSBpbml0aWFsaXNlcmUgbGlibW91bnQtdGFiZWxmb3Jza2VsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE3Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIG1pc2x5a2tlZGVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0aWx2YWxnXVxuIgorIiAlMSRzIFt0aWx2YWxnXSA8ZW5oZWQ+IHwgPG1vbnRlcmluZ3NwdW5rdD5cbiIKKyIgJTEkcyBbdGlsdmFsZ10gPGVuaGVkPiA8bW9udGVyaW5nc3B1bmt0PlxuIgorIiAlMSRzIFt0aWx2YWxnXSBbLS1zb3VyY2UgPGVuaGVkPl0gWy0tdGFyZ2V0IDxzdGk+IHwgLS1tb3VudHBvaW50IDxtYXBwZT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkZpbmQgZXQgKG1vbnRlcmV0KSBmaWxzeXN0ZW0uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHPDuGcgaSBzdGF0aXNrIHRhYmVsIGZvciBmaWxzeXN0ZW1lcm5lXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzw7hnIGkgdGFiZWxsZW4gbWVkIG1vbnRlcmVkZSBmaWxzeXN0ZW1lclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGlua2x1ZGVyZXIgbW9udGVyaW5nc2luZHN0aWwuIGZvciBicnVnZXJ1bSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc8O4ZyBpIGtlcm5ldGFiZWxsZW4gZm9yIG1vbnRlcmVkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsc3lzdGVtZXIgKHN0YW5kYXJkKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBvbGxbPTxsaXN0ZT5dICAgb3ZlcnbDpWcgw6ZuZHJpbmdlciBpIHRhYmVsbGVuIGZvciBtb250ZXJlZGUgZmlsc3lzdGVtZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxhbnRhbD4gIMO4dnJlIGJlZ3LDpm5pbmcgaSBtaWxsaXNla3VuZGVyIHNvbSAtLXBvbGwgdmlsIGJsb2tlcmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkZWFrdGl2ZXIgYWxsZSBpbmRieWdnZWRlIGZpbHRyZSwgdWRza3JpdiBhbGxlIGZpbHN5c3RlbWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgLWEsIC0tYXNjaWkgICAgICAgICAgICBicnVnIEFTQ0lJLXRlZ24gZm9yIHRyw6ZpbmZvcm1hdGlvblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgdmlzIHN0w7hycmVsc2VyIGkgYnl0ZSBmcmVtIGZvciBpIGV0IGzDpnNldmVubGlndCBmb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBrYW5vbmlzZXIgaWtrZSBuw6VyIHN0aWVyIHNhbW1lbmxpZ25lc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAga2Fub25pc2VyIHZpc3RlIHN0aWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGVyIHJlc3VsdGF0ZXQgYWYgZGYoMSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPG9yZD4gIHJldG5pbmcgZm9yIHPDuGcsIMK7ZnJlbWFkwqsgZWxsZXIgwrtiYWdsw6Zuc8KrXG4iCisKKyMgc2thbCBMQUJFTCBldGMuIG92ZXJzw6Z0dGVzIGhlcj8KKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGtvbnZlcnRlciBtw6Zya2VyIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0aWwgZW5oZWRzbmF2bmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtRiAtLXRhYi1maWxlIDxzdGk+ICAgIGFsdGVybmF0aXYgZmlsIGZvciB0aWx2YWxnZW5lIC1zLCAtbSBlbGxlciAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICB2aXMga3VuIGRldCBmw7hyc3QgZnVuZGV0IGZpbHN5c3RlbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICB2ZW5kIGZvcm5lbW1lbHNlbiBmb3IgbWF0Y2ggb21cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgIGJydWcgSlNPTi11ZGRhdGFmb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNSBzeXMtdXRpbHMvbHNucy5jOjkwMgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgYnJ1ZyBsaXN0ZWZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIGJydWcgYWx0ZXJuYXRpdnQgbmF2bmVydW0gKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIHVkc2tyaXYgaWtrZSBrb2xvbm5lb3ZlcnNrcmlmdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGxpc3RlPiAgYmVncsOmbnMgc8OmdHRldCBmb3IgZmlsc3lzdGVtZXIgbWVkIG1vbnRlcmluZ3NpbmRzdGlsbGluZ2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgICByZXN1bHRhdGtvbG9ubmUsIGRlciBza2FsIHZpc2VzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzAKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIGJydWcga2V5XCJ2YWx1ZVwiIHJlc3VsdGF0Zm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgdmlzIGFsbGUgdW5kZXJtb250ZXJpbmdlciBmb3IgZGUgbWF0Y2hlbmRlIGZpbHN5c3RlbWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgYnJ1ZyByw6UgdWRkYXRhZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJlbmc+ICBlbmhlZGVuIGF0IG1vbnRlcmUgKGVmdGVyIG5hdm4sIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAtVCwgLS10YXJnZXQgPHN0aT4gICAgIHN0aWVuIHRpbCBmaWxzeXN0ZW1ldCBkZXIgc2thbCBhbnZlbmRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiICAgICAtLXRyZWUgICAgICAgICAgICAgZW5hYmxlIHRyZWUgZm9ybWF0IG91dHB1dCBpcyBwb3NzaWJsZVxuIgorbXNnc3RyICIgICAgIC0tdHJlZSAgICAgICAgICAgICBha3RpdmVyIHRyw6Zmb3JtYXR1ZGRhdGEgZXIgbXVsaWd0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPG1hcHBlPiBtb250ZXJpbmdzcHVua3RtYXBwZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOAorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0ZT4gICAgICBiZWdyw6ZucyBzw6Z0dGV0IGFmIGZpbHN5c3RlbWVyIGVmdGVyIEZTLXR5cGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZXIgZmlsc3lzdGVtZXIgbWVkIGR1cGxpa2F0ZSBtw6VsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGZvcmtvcnQgaWtrZSB0ZWtzdCBpIGtvbG9ubmVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIHZpcyBpa2tlIFsvZGlyXSBmb3IgYmluZC0gZWxsZXIgYnRyZnMtbW9udGVyaW5nZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NAorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZmljZXIgbW9udGVyaW5nc3RhYmVsaW5kaG9sZCAoc3RhbmRhcmQgZXIgZnN0YWIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmlzIGZsZXJlIGRldGFsamVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAidWtlbmR0IHJldG5pbmcgwrslc8KrIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQ1Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgVElELXBhcmFtZXRlciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwgYWNjZXB0ZXJlciBrdW4gZW4gZmlsLCBtZW4geWRlcmxpZ2VyZSBzcGVjaWZpY2VyZXQgYWYgLS10YWItZmlsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgInRpbHZhbGdlbmUgLS10YXJnZXQgb2cgLS1zb3VyY2Uga2FuIGlra2UgYnJ1Z2VzIHNhbW1lbiBtZWQga29tbWFuZG9saW5qZWVsZW1lbnQgc29tIGlra2UgZXIgZXQgdGlsdmFsZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJrdW5uZSBpa2tlIGluaXRpYWxpc2VyZSBsaWJtb3VudC1tZWxsZW1sYWdlciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIlcy1rb2xvbm5lIGVyIGFubW9kdCwgbWVuIC1wb2xsIGVyIGlra2UgYWt0aXZlcmV0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAibcOlbCBzcGVjaWZpY2VyZXQgbWVyZSBlbmQgZW4gZ2FuZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiZm9ya2VydCByw6Zra2Vmw7hsZ2U6ICVzIHNwZWNpZmljZXJldCBmw7hyICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMyCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgImlra2UgZGVmaW5lcmV0IG3DpWwgKGZzX2ZpbCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICJpa2tlLWthbm9uaXNrIG3DpWxzdGkgKHJlYWw6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIm3DpWwgZGVyIGlra2Uga2FuIG7DpXMgdmVkIG9wc3RhcnQgZXIga3LDpnZldDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAibcOlbCBrYW4gaWtrZSBuw6VzOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm3DpWwgZXIgaWtrZSBlbiBtYXBwZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIm3DpWwgZmluZGVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAia2lsZGUgZGVyIGlra2Uga2FuIG7DpXMgdmVkIG9wc3RhcnQ6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAia2FuIGlra2UgbsOlczogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXM9JXMgb3ZlcnNhdCB0aWwgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiaWtrZSBkZWZpbmVyZXQga2lsZGUgKGZzX3NwZWMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQga2lsZGVtw6Zya2U6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICJrb250cm9sbGVyIGlra2Uga2lsZGVuICVzIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAia2lsZGUga2FuIGlra2UgbsOlczogJXM6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIm5vbi1iaW5kLW1vbnRlcmluZ3NraWxkZW4gJXMgZXIgZW4gbWFwcGUgZWxsZXIgZW4gbm9ybWFsIGZpbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJraWxkZW4gJXMgZXIgaWtrZSBlbiBibG9rZW5oZWQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAia2lsZGVuICVzIGZpbmRlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlZGUy10aWx2YWxnOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiRlMtcGFydGl0aW9uZXI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiYnJ1Z2VycnVtc3RpbHZhbGc6ICVzIgorCisjIGV2dC4gZmplcm5lbHNlc3BvbGl0aWsuIEVsbGVycyBtaXNmb3JzdMOlcyBkZXQgbm9rIChmamVybi1wb2xpdGlrIHZhciBkZW4gZsO4cikKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgc3dhcG9tcsOlZGUtZmplcm5lbHNlc3BvbGl0aWs6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBzd2Fwb21yw6VkZXMgcHJpb3JpdGV0c3RpbHZhbGciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICJrb250cm9sbGVyIGlra2UgRlMtdHlwZW4gJXMgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA1Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICJGUy10eXBlbiDCu25vbmXCqyBhbmJlZmFsZXMga3VuIGZvciBiaW5kIGVsbGVyIGZseXQgb3BlcmF0aW9uZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIlcyBzZXIgaWtrZSB1ZCB0aWwgYXQgdsOmcmUgdW5kZXJzdMO4dHRldCBhZiBudXbDpnJlbmRlIGtlcm5lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE5IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJrYW4gaWtrZSBkZXRla3RlcmUgb24tZGlzayBmaWxzeXN0ZW10eXBlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiJXMgbWF0Y2hlciBpa2tlIG1lZCBvbi1kaXNrICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJvbi1kaXNrICVzIHNlciBpa2tlIHVkIHRpbCBhdCB2w6ZyZSB1bmRlcnN0w7h0dGV0IGFmIG51dsOmcmVuZGUga2VybmUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAiRlMtdHlwZW4gZXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgImFuYmVmYWxldCByb290IEZTIHBhc3NubyBlciAxIChudXbDpnJlbmRlIGVyICVkKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICIlZCBmb3J0b2xrbmluZ3NmZWpsIgorbXNnc3RyWzFdICIlZCBmb3J0b2xrbmluZ3NmZWpsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsICVkIGZlamwiCittc2dzdHJbMV0gIiwgJWQgZmVqbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiwgJWQgYWR2YXJzZWwiCittc2dzdHJbMV0gIiwgJWQgYWR2YXJzbGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICJTdWNjZXMsIGluZ2VuIGZlamwgZWxsZXIgYWR2YXJzbGVyIHJlZ2lzdHJlcmV0XG4iCisKKyMgSmVnIGtpZ2dlZGUgcMOlIGhqw6ZscGV1ZHNrcmlmdGVuIGZvciBwcm9ncmFtbWV0IGdldG9wdCwgb2cgZGV0IGdhdiBpCisjIGh2ZXJ0ZmFsZCBtZW5pbmcgcMOlIGRlbiBtw6VkZS4gIERldCBlciBldCBwcm9ncmFtIHRpbCBhdCBmb3J0b2xrZQorIyBrb21tYW5kb2xpbmplcGFyYW1ldHJlLCBzw6UgZGVyZm9yIGVyIGRldCBtw6Vza2UgZm9ydmlycmVuZGUgYWYgZGVuCisjIGdydW5kLiAgTWFuIGdpdmVyIHRpbHZhbGdldCAtLWxvbmcgdGlsIGdldG9wdCwgb2cgZGV0IGFyZ3VtZW50IG1hbgorIyBhbmdpdmVyIHRpbCAtLWxvbmcsIGZvcnRvbGtlciBkZW4gc8OlIHNvbSBldCBsYW5ndCB0aWx2YWxnIHRpbCBkZXQKKyMgcHJvZ3JhbSwgaHZpcyBrb21tYW5kb2xpbmplIG1hbiBicnVnZXIgZ2V0b3B0IHRpbCBhdCBmb3J0b2xrZS4KKyMgRm9ydmlycmV0PyA6KQorIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgInRvbXQgbGFuZ3Qgwq10aWx2YWxnIGVmdGVyIC1sIGVsbGVyIHBhcmFtZXRlcmVuIC0tbG9uZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjMKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgInVrZW5kdCBza2FsIGVmdGVyIC1zIGVsbGVyIHBhcmFtZXRlcmVuIC0tc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMgb3B0c3RyaW5nLXBhcmFtZXRyZVxuIgorIiAlMSRzIFt0aWx2YWxnXSBbLS1dIDx0aWx2YWxnc3N0cmVuZz4gPHBhcmFtZXRyZT5cbiIKKyIgJTEkcyBbdGlsdmFsZ10gLW98LS1vcHRpb25zIDx0aWx2YWxnc3N0cmVuZz4gW3RpbHZhbGddIFstLV0gPHBhcmFtZXRyZT5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIkZvcnRvbGsga29tbWFuZG90aWx2YWxnLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgdGlsbGFkIGxhbmdlIHRpbHZhbGcgbWVkIGVua2VsdCAtXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQwCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxhbmd0aWx2YWxnPiBkZSBsYW5nZSB0aWx2YWxnLCBkZXIgc2thbCBnZW5rZW5kZXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA8cHJvZ25hdm4+ICAgICAgICAgbmF2bmV0IHNvbSBmZWpsIHNrYWwgcmFwcG9ydGVyZXMgdW5kZXJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8dGlsdmFsZ3NzdHJlbmc+IGRlIGtvcnRlIHRpbHZhbGcsIGRlciBza2FsIGdlbmtlbmRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRlYWt0aXZlciBmZWpscmFwcG9ydGVyaW5nIGZyYSBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgaW5nZW4gbm9ybWFsZSB1ZGRhdGFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNrYWw+ICAgICAgICAgICAgYW5naXYgYW5mw7hyc2Vsc3RlZ25za29udmVudGlvbmVyIGZvciA8c2thbD5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIGtvbnRyb2xsZXIgdmVyc2lvbmVuIGFmIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgaW5kc2t5ZCBpa2tlIGFuZsO4cnNlbHN0ZWduIGkgdWRkYXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgIm1hbmdsZXIgdGlsdmFsZ3NzdHJlbmdwYXJhbWV0ZXIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgImludGVybiBmZWpsLCBrb250YWt0IHByb2dyYW1tw7hyZW4uIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJ1a2VuZHQgc2lnbmFsICVzOyBneWxkaWdlIHNpZ25hbGVyOiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPHBpZHxuYXZuPiAuLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVGVybWluZXIgbWVkIHR2YW5nIGVuIHByb2Nlcy5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTgyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGJlZ3LDpm5zIGlra2UgbmF2biB0aWwgcGlkLWtvbnZlcnRlcmluZ2VuIHRpbCBwcm9jZXNzZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZCBkZW4gc2FtbWUgdWlkIHNvbSBkZW4gbnV2w6ZyZW5kZSBwcm9jZXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg0Cittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIGRldHRlIDxzaWduYWw+IGkgc3RlZGV0IGZvciBTSUdURVJNXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUgPHbDpnJkaT4gICAgYnJ1ZyBzaWdxdWV1ZSgyKSwgaWtrZSBraWxsKDIpLCBvZyB0cnlrIHDDpSA8dsOmcmRpPiBzb20gZGF0YVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODgKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgdmlzIHBpZCdlciB1ZGVuIGF0IHNpZ25hbGVyZSB0aWwgZGVtXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgdmlzIHNpZ25hbG5hdm5lIGVsbGVyIGtvbnZlcnRlciBldCBzaWduYWxudW1tZXIgdGlsIGV0IG5hdm5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkwCittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgdmlzIHNpZ25hbG5hdm5lIG9nIG51bXJlXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZpcyBwaWQnZXIgc29tIGJsaXZlciBzaWduYWxlcmV0XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJ1a2VuZHQgc2lnbmFsOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjYwIG1pc2MtdXRpbHMva2lsbC5jOjI2MyBtaXNjLXV0aWxzL2tpbGwuYzoyNzIKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NCBtaXNjLXV0aWxzL2tpbGwuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzIG9nICVzIHVkZWx1a2tlciBoaW5hbmRlbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJwYXJhbWV0ZXJmZWpsIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJ1Z3lsZGlndCBzaWduYWxuYXZuIGVsbGVyIG51bW1lcjogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAic2VuZGVyIHNpZ25hbCAlZCB0aWwgcGlkICVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgImt1bm5lIGlra2Ugc2VuZGUgc2lnbmFsIHRpbCAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJrYW4gaWtrZSBmaW5kZSBwcm9jZXMgwrslc8KrIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJ1a2VuZHQgZmFjaWxpdGV0c25hdm46ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICJ1a2VuZHQgcHJpb3JpdGV0c25hdm46ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3BlbmxvZyAlczogc3RpbmF2biBmb3IgbGFuZ3QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAic29ra2VsOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBzbMOlIG5hdm5ldCAlcyBmb3IgcG9ydCAlcyBvcDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9yYmluZGUgdGlsICVzIHBvcnQgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAibWFrc2ltdW0gZm9yIGluZGRhdGFsaW5qZXIgKCVkKSBvdmVyc2tyZWRldCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJhZnNlbmRlbHNlIGFmIGJlc2tlZCBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAic3RydWt0dXJlcmV0IGRhdGEtaWQgwrslc8KrIGVyIGlra2UgdW5payIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiLS1zZC1pZCBibGV2IGlra2Ugc3BlY2lmaWNlcmV0IGZvciAtLXNkLXBhcmFtICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2OAorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAibG9jYWx0aW1lKCkgbWlzbHlra2VkZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInbDpnJ0c25hdm4gwrslc8KrIGVyIGZvciBsYW5ndCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIm3DpnJrZSDCuyVzwqsgZXIgZm9yIGxhbmd0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgImlnbm9yZXJlciB1a2VuZHQgdGlsdmFsZ3NwYXJhbWV0ZXI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAidWd5bGRpZyBwYXJhbWV0ZXI6ICVzOiBicnVnZXIgYXV0b21hdGlza2UgZmVqbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPGJlc2tlZD5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIkluZHRhc3QgYmVza2VkZXIgaSBzeXN0ZW1sb2dnZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgICBsb2cgbG9nZ2Vya29tbWFuZG9lbnMgUElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgICAgIC0taWRbPTxpZD59ICAgICAgICAgIGxvZyBkZW4gZ2l2bmUgPGlkPiwgZWxsZXJzIFBJRCdlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxmaWw+ICAgICAgICAgbG9nIGluZGhvbGRldCBhZiBkZW5uZSBmaWxcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM5Cittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGxvZyBpa2tlIHRvbW1lIGxpbmplciwgbsOlciBmaWxlciBiZWhhbmRsZXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQwCittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGfDuHIgYWx0IHVuZHRhZ2VuIGF0IHNrcml2ZSBsb2dnZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQxCittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFya2VyIGFuZ2l2bmUgYmVza2VkIG1lZCBkZW5uZSBwcmlvcml0ZXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIGJydWcgcmZjNjU4Ny1va3RldCBvcHTDpmxsaW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBraWcgZWZ0ZXIgZXQgcHLDpmZpa3MgcMOlIGh2ZXIgbMOmc3QgbGluamUgZnJhIHN0YW5kYXJkaW5kXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIHZpcyBvZ3PDpSBiZXNrZWQgcMOlIHN0YW5kYXJkZmVqbFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8c3TDuHJyZWxzZT4gICBtYWtzaW1hbCBzdMO4cnJlbHNlIGZvciBlbiBlbmtlbCBiZXNrZWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDxtw6Zya2U+ICAgICAgICBtYXJrZXIgaHZlciBsaW5qZSBtZWQgZGV0dGUgbcOmcmtlXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxuYXZuPiAgICAgIHNrcml2IHRpbCBkZW5uZSBla3N0ZXJuZSBzeXNsb2ctc2VydmVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgYnJ1ZyBkZW5uZSBwb3J0IGZvciBVRFAtIGVsbGVyIFRDUC1mb3JiaW5kZWxzZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIGJydWcga3VuIFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTAKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIGJydWcga3VuIFVEUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIGJydWcgZGVuIGZvcsOmbGRlZGUgQlNELXN5c2xvZ3Byb3Rva29sXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgYnJ1ZyBzeXNsb2dwcm90b2tvbGxlbiAoc3RhbmRhcmRlbiBmb3IgZWtzdGVybik7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBrYW4gdsOmcmUgbm90aW1lLCBlbGxlciBub3RxLCBvZy9lbGxlciBub2hvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQtc3RydWt0dXJlcmV0IGRhdGEtaWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNC1zdHJ1a3R1cmVyZXQgZGF0YW5hdm49dsOmcmRpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NgorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIGFuZ2l2IHJmYzU0MjQtYmVza2VkLWlkLWZlbHRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPHNva2tlbD4gICAgc2tyaXYgdGlsIGRlbm5lIFVuaXgtc29ra2VsXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHVkc2tyaXYgZm9yYmluZGVsc2VzZmVqbCBuw6VyIGRlciBicnVnZXMgVW5peC1zb2tsZXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgIC0tam91cm5hbGRbPTxmaWw+XSAgIHNrcml2IGpvdXJuYWxkLXBvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgImZpbCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTYyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGJlc2tlZHN0w7hycmVsc2UiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxNQorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIi0tbXNnaWQga2FuIGlra2UgaW5kZWhvbGRlIG1lbGxlbXJ1bSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICJ1Z3lsZGlnIHN0cnVrdHVyZXJldCBkYXRhLWlkOiDCuyVzwqsiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgInVneWxkaWd0IHN0cnVrdHVyZXJldCBkYXRhYXJndW1lbnQ6IMK7JXPCqyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxmaWw+IG9nIDxiZXNrZWQ+IHVkZWx1a2tlciBoaW5hbmRlbiwgYmVza2VkZW4gYmxpdmVyIGlnbm9yZXJldCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgImpvdXJuYWxkLXBvc3Qga3VubmUgaWtrZSBza3JpdmVzIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxzdHJlbmc+IFs8ZmlsPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJWaXMgbGluamVyIGRlciBiZWd5bmRlciBtZWQgZW4gc3BlY2lmaWNlcmV0IHN0cmVuZy5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICBicnVnIGRlbiBhbHRlcm5hdGl2ZSBvcmRib2dcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY3Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIHNhbW1lbmxpZ24ga3VuIGJsYW5rZSBvZyBhbGZhbnVtZXJpc2tlIHRlZ25cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZXIgZm9yc2tlbCBww6Ugc3RvcmUvc23DpSBib2dzdGF2ZXIgbsOlciBkZXIgc2FtbWVubGlnbmVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPHRlZ24+ICAgZGVmaW5lciBzdHJlbmctdGVybWluZXJpbmdzdGVnblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyCittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgImVuaGVkc25hdm4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybiBlbmhlZHNuYXZuIGZvciBrZXJuZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybiBlbmhlZHNuYXZuIGZvciBvdmVya2VybmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiaHZvciBlbmhlZGVuIGVyIG1vbnRlcmV0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiZmlsc3lzdGVtLUVUSUtFVCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgInBhcnRpdGlvbnN0eXBlLVVVSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgInBhcnRpdGlvbnMtRVRJS0VUIgorCisjIERldCBlciBub2sgaHZvciBsYW5ndCBkZW4gbMOmc2VyIGZvcnVkLCBkdnMuIGVuIHNsYWdzIGJ1ZmZlcnN0w7hycmVsc2UKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInJlYWQtYWhlYWQgKGZyZW1hZGzDpnNuaW5nKSBmb3IgZW5oZWRlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAic2tyaXZlYmVza3l0dGV0IGVuaGVkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiZmx5dGJhciBlbmhlZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgImVrc3Rlcm4gZW5oZWQgZWxsZXIgaG90cGx1Z2VuaGVkICh1c2IsIHBjbWNpYSAuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInJvdGF0aW9uc2VuaGVkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJ0aWxmw7hqZXIgdmlsa8OlcmxpZ2hlZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICJlbmhlZHNpZGVudGlmaWthdGlvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiZGlza2VucyBzZXJpZWxudW1tZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInN0w7hycmVsc2UgcMOlIGVuaGVkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAic3RhdHVzIGZvciBlbmhlZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgImdydXBwZW5hdm4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAicmV0dGlnaGVkZXIgZm9yIGVuaGVkc2tudWRlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAianVzdGVyaW5nc2ZvcnNreWRuaW5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibWluaW1hbCBJL08tc3TDuHJyZWxzZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9wdGltYWwgSS9PLXN0w7hycmVsc2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAiZnlzaXNrIGJsb2tzdMO4cnJlbHNlIChzZWt0b3JzdMO4cnJlbHNlKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImxvZ2lzayBibG9rc3TDuHJyZWxzZSAoc2VrdG9yc3TDuHJyZWxzZSkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIkkvTy1wbGFubMOmZ25pbmdzbmF2biIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiYW5tb2Qgb20ga8O4c3TDuHJyZWxzZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJlbmhlZHN0eXBlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJmamVybiBqdXN0ZXJpbmdzZm9yc2t5ZG5pbmciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICJmamVybiBrb3JuZXRoZWQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiZmplcm4gbWFrcy4gYnl0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgImZqZXJuIG51bGRhdGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAic2tyaXYgc2FtbWUgbWFrcy4gYnl0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgInVuaWsgbGFnZXJpZGVudGlmaWthdGlvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiZW5oZWRzdHJhbnNwb3J0dHlwZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNQorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiZGUtZHVwbGlrZXJldCBrw6ZkZSBhZiB1bmRlcnN5c3RlbWVyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJlbmhlZHNyZXZpc2lvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgImVuaGVkc2xldmVyYW5kw7hyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAiem9uZW1vZGVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgImt1bm5lIGlra2Ugw6VibmUgZW5oZWRzbWFwcGUgaSBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIHNhbW1lbnPDpnR0ZSBzeXNmcy1zdGkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBsw6ZzZSBoZW52aXNuaW5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBpbmRoZW50ZSBzeXNmcy1uYXZuIgorCisjIEVuaGVkZXIgbGlnZ2VyIGkgL2Rldi4gIEYuZWtzLiAvZGV2L3NkYSwgL2Rldi9zZGExLCAvZGV2L3NkYTIsIC4uLgorIyBIZXIgcmVwcsOmc2VudGVyZXIgc2RhIGhlbGUgZGlza2VuIG1lbnMgc2RhMSBvZyBzZGEyIHJlcHLDpnNlbnRlcmVyCisjIHBhcnRpdGlvbmVyIGFmIGRlbi4gIEVuaGVkZXIgaGFyIG9nc8OlIG51bXJlLiAgTnVtbWVyZXQgcMOlIHNkYSBtw6UgdsOmcmUKKyMgaHZhZCBkZSBtZW5lciBtZWQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyLgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBmaW5kZSBlbmhlZHNudW1tZXIgZm9yIGhlbGUgZGlza2VuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBsaXN0ZSDCuyVzwqsiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAibGlzdGVuIGZvciB1ZGVsdWtrZWRlIGVuaGVkZXIgZXIgZm9yIHN0b3IgKGJlZ3LDpm5zbmluZ2VuIGVyIHDDpSAlZCBlbmhlZGVyKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJsaXN0ZW4gZm9yIGlua2x1ZGVyZWRlIGVuaGVkZXIgZXIgZm9yIHN0b3IgKGJlZ3LDpm5zbmluZ2VuIGVyIHDDpSAlZCBlbmhlZGVyKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPGVuaGVkPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJWaXMgaW5mb3JtYXRpb24gb20gYmxva2VuaGVkZXIuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICB2aXMgYWxsZSBlbmhlZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiAtZCwgLS1ub2RlcHMgICAgICAgICB1ZHNrcml2IGlra2Ugc2xhdmVyIGVsbGVyIGhvbGRlcmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHZpcyBmdW5rdGlvbmVyIGZvciBmamVyblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MworbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAteiwgLS16b25lZCAgICAgICAgICB2aXMgem9uZW1vZGVsXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ0Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3RlPiAgZWtza2x1ZGVyIGVuaGVkZXIgZWZ0ZXIgbWFqb3ItbnVtbWVyIChzdGFuZGFyZDogUkFNLWRpc2tlKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAgdmlzIGluZm9ybWF0aW9uIG9tIGZpbHN5c3RlbWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIGJydWcga3VuIGFzY2lpLXRlZ25cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA8bGlzdGU+ICB2aXMga3VuIGVuaGVkZXIgbWVkIGFuZ2l2bmUgbWFqb3ItbnVtcmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgIGJydWcgSlNPTi11ZGRhdGFmb3JtYXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBicnVnIGxpc3RlZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10cmVlICAgICAgICAgICB1c2UgdHJlZSBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBicnVnIGxpc3RlZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICB2aXMgaW5mb3JtYXRpb24gb20gdGlsbGFkZWxzZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICB1ZHNrcml2IGlra2UgdGVrc3Rob3ZlZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUzIHN5cy11dGlscy9sc21lbS5jOjUwNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gICB2aXMga29sb25uZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICB2aXMgYWxsZSBrb2xvbm5lclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXAsIC0tcGF0aHMgICAgICAgICAgdmlzIGZ1bGRzdMOmbmRpZyBlbmhlZHN0aVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAgb212ZW5kdGUgYWZow6ZuZ2lnaGVkZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTkKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtUywgLS1zY3NpICAgICAgICAgICB2aXMgaW5mb3JtYXRpb24gb20gU0NTSS1lbmhlZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICB2aXMgaW5mb3JtYXRpb24gb20gdG9wb2xvZ2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPGtvbG9ubmU+IHNvcnRlciB1ZGRhdGEgZWZ0ZXIgPGtvbG9ubmU+XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSB0aWxnw6Ugc3lzZnMtbWFwcGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAia29tbWFuZG8gZm9yIHByb2Nlc3NlbiBzb20gaG9sZGVyIGzDpXNlbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIGZvciBwcm9jZXNzZW4gc29tIGhvbGRlciBsw6VzZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAic3TDuHJyZWxzZSBww6UgbMOlc2VuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgInN0w7hycmVsc2UgcMOlIGzDpXNlbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJhZGdhbmdzdGlsc3RhbmQgZm9yIGzDpXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAidHZ1bmdlbiB0aWxzdGFuZCBmb3IgbMOlc2VuOiAwIChpbmdlbiksIDEgKHNhdCkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInJlbGF0aXYgYnl0ZWZvcnNreWRuaW5nIGZvciBsw6VzZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAic2x1dGZvcnNreWRuaW5nIGZvciBsw6VzZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgInN0aSBmb3IgZGVuIGzDpXN0ZSBmaWwiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgZm9yIHByb2Nlc3NlbiBzb20gaG9sZGVyIGzDpXNlbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGlkIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyNjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIodWtlbmR0KSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHN0YXJ0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHNsdXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJWaXMgbG9rYWxlIHN5c3RlbWzDpXNlLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZXIgbMOlc2UgdWRlbiBsw6ZzZXJldHRpZ2hlZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMyBzeXMtdXRpbHMvbHNucy5jOjkwMyBzeXMtdXRpbHMvcmZraWxsLmM6NTczCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgdWRza3JpdiBpa2tlIHRla3N0aG92ZWRlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgICBkZWZpbmVyIGh2aWxrZW4gcmVzdWx0YXRrb2xvbm5lLCBkZXIgc2thbCBicnVnZXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIHZpcyBrdW4gbMOlc2UgaG9sZHQgYWYgZGVubmUgcHJvY2VzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNiBzeXMtdXRpbHMvbHNucy5jOjkwNiBzeXMtdXRpbHMvcmZraWxsLmM6NTc1Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBicnVnIGRldCByw6UgdWRkYXRhZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU2MyBzY2hlZHV0aWxzL2NocnQuYzo0NzUgc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE3MSBzeXMtdXRpbHMvbHNucy5jOjk4MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIFBJRC1wYXJhbWV0ZXIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIk9wcmV0IG1hZ2lza2UgY29va2llciBmb3IgeGF1dGguXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxmaWw+ICAgICAgYnJ1ZyBmaWwgc29tIGVuIGNvb2tpZSBzZWVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPGFudGFsPiBiZWdyw6ZucyBodm9yIG1lZ2V0IGRlciBsw6ZzZXMgZnJhIHNlZWRmaWxlclxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICBmb3JrbGFyIGh2YWQgZGVyIHNrZXJcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJGaWsgJXp1IGJ5dGUgZnJhICVzXG4iCittc2dzdHJbMV0gIkZpayAlenUgYnl0ZSBmcmEgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJsdWtuaW5nIGFmICVzIG1pc2x5a2tlZGVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBsw6ZuZ2RlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICItLW1heC1zaXplIGlnb25yZXJldCBuw6VyIGJydWcgdWRlbiAtLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIkZpayAlZCBieXRlIGZyYSAlc1xuIgorbXNnc3RyWzFdICJGaWsgJWQgYnl0ZSBmcmEgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIHN5bWJvbHNrIGhlbnZpc25pbmc6ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIlcyAtIEluZ2VuIHPDpWRhbiBmaWwgZWxsZXIgbWFwcGVcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8c3RpbmF2bj4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJGw7hsZyBldCBzdGluYXZuIGluZHRpbCBldCB0ZXJtaW5hbHB1bmt0IGZpbmRlcy5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIiCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3RcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICB2aXMgbW9udGVyaW5nc3B1bmt0c21hcHBlciBtZWQgZXQgwrtEwqtcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICB2aXMgdGlsc3RhbmRzYml0dGVuZSBmb3IgaHZlciBmaWxcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICB2aXMgZWplci0gb2cgZ3J1cHBlbmF2biBmb3IgaHZlciBmaWxcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICBicnVnIGV0IGxhbmd0IHZpc25pbmdzZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZsO4bGcgaWtrZSBzeW1ib2xza2UgaGVudmlzbmluZ2VyXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgbG9kcmV0IGp1c3RlcmluZyBhZiB0aWxzdGFuZGUgb2cgZWplcmVcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgInBhcmFtZXRyZXQgdGlsIHN0aW5hdm4gbWFuZ2xlciIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJrdW5uZSBpa2tlIGFsbG9rZXJlIFVJRC1tZWxsZW1sYWdlciIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgImt1bm5lIGlra2UgYWxsb2tlcmUgR0lELW1lbGxlbWxhZ2VyIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IE92ZXJzdGVnIGJlZ3LDpm5zbmluZyBww6Ugc3ltYm9sc2tlIGhlbnZpc25pbmdlciIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IGVyIGlra2UgZW4gc3ltYm9sc2sgaGVudmlzbmluZyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogcmVhZGxpbmsgbWlzbHlra2VkZXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiB1bmxpbmsgbWlzbHlra2VkZXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogc3ltYm9sc2sgaGVudmlzbmluZyB0aWwgJXMgbWlzbHlra2VkZXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBmaWxlOiBgJXMnXG4iCittc2dzdHIgIi4uLlNwcmluZ2VyIHRpbCBmaWxlbiAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogb21kw7hiZWxzZSB0aWwgJXMgbWlzbHlra2VkZXMiCisKKyMgamVnIHZpbCBzdMOmcmt0IHRybyBhdCBtYW4gc2tyaXZlciBldCByZWd1bMOmcnQgdWR0cnlrIHNhbXQgbm9nZXQgZGV0CisjIHNrYWwgZXJzdGF0dGVzIG1lZCBvZyBzw6UgZW4gZWxsZXIgZmxlcmUgZmlsZXIKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPHVkdHJ5az4gPGVyc3RhdG5pbmc+IDxmaWw+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiT21kw7hiIGZpbGVyLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGZvcmtsYXIgaHZhZCBkZXIgc2tlclxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICByZWFnZXIgcMOlIG3DpWxldCBmb3Igc3ltYm9sc2tlIGhlbnZpc25pbmdlclxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICBsYXYgaW5nZW4gw6ZuZHJpbmdlclxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJFbiBkw6Ztb24gZm9yIG9wcmV0dGVsc2UgYWYgVVVJRCdlci5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8c3RpPiAgICAgICAgIHN0aSB0aWwgcGlkLWZpbFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNvY2tldCA8c3RpPiAgICAgIHN0aSB0aWwgc29ra2VsXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OAorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLVQsIC0tdGltZW91dCA8c2VrPiAgICAgYW5naXYgdGlkc3VkbMO4YiBmb3IgaW5ha3Rpdml0ZXRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGRyw6ZiIGvDuHJlbmRlIGTDpm1vblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCB2aWxrw6VybGlnIGJhc2VyZXQgb3ByZXR0ZWxzZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGlkc2Jhc2VyZXQgb3ByZXR0ZWxzZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiIC1uLCAtLXV1aWRzIDxhbnRhbD4gICAgIGZvcmVzcMO4cmdlbHNlc2FudGFsIGZvciB1dWlkc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgb3ByZXQgaWtrZSBwaWQtZmlsXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkw6Ztb25pc2VyIGlra2UgdmlhIGRvYmJlbHQtZm9yZ3JlbmluZ1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBvcHJldCBpa2tlIGx5dHRlc29ra2VsXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGvDuHIgaSBmZWpsc8O4Z25pbmdzdGlsc3RhbmRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdMOmbmQgZm9yIHF1aWV0LXRpbHN0YW5kXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJ1Z3lsZGlnZSBwYXJhbWV0cmUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNva2tlbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImZvcmJpbmQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAic2tyaXYiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJsw6ZzIGFudGFsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAidWd5bGRpZyBzdmFybMOmbmdkZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6VzZSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgImt1bm5lIGlra2Ugb3ByZXR0ZSB1bml4c3Ryw7htc29ra2VsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgImt1bm5lIGlra2UgYmluZGUgdW5peHNva2tlbCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICJtb2R0YWdlbmRlIHNpZ25hbCBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAidGlkc3VkbMO4YiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMzNiBzeXMtdXRpbHMvZmxvY2suYzoyNzIKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJrYW4gaWtrZSBvcHPDpnR0ZSBzdG9wdXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgInV1aWRkLWTDpm1vbmVuIGvDuHJlciBhbGxlcmVkZSBww6UgcGlkICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBseXR0ZSBww6UgdW5peHNva2tlbCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ya29ydGUgZmlsOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNkX2xpc3Rlbl9mZHMoKSBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICJpbmdlbiBmaWxkYmVza3JpdmVsc2VyIGJsZXYgbW9kdGFnZXQsIGtvbnRyb2wgc3lzdGVtY3RsLXN0YXR1cyBmb3IgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJmb3IgbWFuZ2UgZmlsYmVza3JpdmVsc2VyIG1vZHRhZ2V0LCBrb250cm9sbGVyIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgInRpZHN1ZGzDuGIgWyVkIHNlay5dXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICJsw6ZzbmluZyAocmVhZCkgbWlzbHlra2VkZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImZlamwgdmVkIGzDpnNuaW5nIGZyYSBrbGllbnQsIGxlbiA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiaGFuZGxpbmcgJWQsIGluZGfDpWVuZGUgbnVtID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiaGFuZGxpbmcgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICJHZW5lcmVyZWRlIHRpZCBVVUlEOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiR2VuZXJlcmVkZSB2aWxrw6VybGlnIFVVSUQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICJHZW5lcmVyZWRlIHRpZCBVVUlEICVzIG9nICVkIGbDuGxnZXJcbiIKK21zZ3N0clsxXSAiR2VuZXJlcmVkZSB0aWQgVVVJRCAlcyBvZyAlZCBmw7hsZ2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiR2VuZXJlcmVkZSAlZCBVVUlEOlxuIgorbXNnc3RyWzFdICJHZW5lcmVyZWRlICVkIFVVSUQnZXI6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiVWd5bGRpZyBoYW5kbGluZyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJVdmVudGV0IHN2YXJsw6ZuZ2RlIGZyYSBzZXJ2ZXIgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAtLXV1aWRzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjA4Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAidXVpZGQgZXIgYmxldmV0IGJ5Z2dldCB1ZGVuIHVuZGVyc3TDuHR0ZWxzZSBmb3Igc29ra2VsYWt0aXZlcmluZyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIm5hdm4gcMOlIGRpc2tlbmhlZCBlciBmb3IgbGFuZ3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDcKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICJCw6VkZSAtLXNvY2tldC1hY3RpdmF0aW9uIG9nIC0tc29ja2V0IGFuZ2l2ZXQuIElnbm9yZXJlciAtLXNvY2tldC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJmZWpsIHZlZCBrYWxkIGFmIGTDpm1vbmVuIHV1aWRkICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgInV2ZW50ZXQgZmVqbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiVzIG9nICVkIGVmdGVyZsO4bGdlbmRlIFVVSURcbiIKK21zZ3N0clsxXSAiJXMgb2cgJWQgZWZ0ZXJmw7hsZ2VuZGUgVVVJRCdlclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIkxpc3RlIGFmIFVVSUQnZXI6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAia3VubmUgaWtrZSBkcsOmYmUgdXVpZGQgZGVyIGvDuHJlciB2ZWQgcGlkICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiRHLDpmJ0ZSB1dWlkZCBkZXIga8O4cmVyIHZlZCBwaWQgJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIk9wcmV0IGVuIG55IFVVSUQtdsOmcmRpLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCB2aWxrw6VybGlnIGJhc2VyZXQgb3ByZXR0ZWxzZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGlkc2Jhc2VyZXQgb3ByZXR0ZWxzZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNAorbXNnaWQgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgaW5kdGFzdCBhbGxlIG5hdm5lcnVtXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYXRlIHNoYTEgaGFzaFxuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGhlbnQgZW4gZGVsdCBsw6VzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1pLCAtLWludmVydCAgICAgICAgICAgdmVuZCBmb3JuZW1tZWxzZW4gZm9yIG1hdGNoIG9tXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIGlkZW50aWZpZXIiCittc2dzdHIgInVuaWsgbGFnZXJpZGVudGlmaWthdGlvbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NworIywgZnV6enkKK21zZ2lkICJ2YXJpYW50IG5hbWUiCittc2dzdHIgInBhcnRpdGlvbnNuYXZuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAiTnl0IG5hdm4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzkKK21zZ2lkICJ0aW1lc3RhbXAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxmaWw+XSAuLi5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgYnJ1ZyBKU09OLXVkZGF0YWZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgdWRza3JpdiBpa2tlIHRla3N0aG92ZWRlclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICAgcmVzdWx0YXRrb2xvbm5lLCBkZXIgc2thbCB2aXNlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBicnVnIGRldCByw6UgdWRkYXRhZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICJ1Z3lsZGlndCBpZCIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxODYKK21zZ2lkICJvdGhlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5NworbXNnaWQgIm5pbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwMgorbXNnaWQgInRpbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDgKK21zZ2lkICJuYW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjExCittc2dpZCAicmFuZG9tIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE0Cittc2dpZCAic2hhMS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI2NyBtaXNjLXV0aWxzL3dpcGVmcy5jOjE3MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzIyCisjOiBzeXMtdXRpbHMvbHNucy5jOjgwNiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5NgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgImt1bm5lIGlra2UgaW5pdGlhbGlzZXJlIHVkZGF0YWtvbG9ubmUiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbLUJNUyA8bWFwcGU+Li4uIC1mXSA8bmF2bj5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIkxva2FsaXNlciBkZW4gYmluw6ZyZSBmaWwsIGtpbGRlIG9nIG1hbnVhbHNpZGUgZm9yIGVuIGtvbW1hbmRvLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1iICAgICAgICAgc8O4ZyBrdW4gZWZ0ZXIgYmluw6ZyZSBmaWxlclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1CIDxtYXBwZXI+IGRlZmluZXIgYmluw6ZyZSBmaWxlcnMgb3BzbGFnc3N0aVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAgc8O4ZyBrdW4gZWZ0ZXIgbWFudWFsZXIgb2cgaW5mb3JtYXRpb25lclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtTSA8bWFwcGVyPiBkZWZpbmVyIG9wc2xhZ3NzdGllciBmb3IgbWFudWFsc2lkZXIgb2cgaW5mb3JtYXRpb25cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgc8O4ZyBrdW4gZWZ0ZXIga2lsZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtUyA8bWFwcGVyPiBkZWZpbmVyIG9wc2xhZ3NzdGllciBmb3Iga2lsZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgLWYgICAgICAgICB0ZXJtaW5lciA8bWFwcGVyPiBwYXJhbWV0ZXJsaXN0ZVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgLXUgICAgICAgICBzw7hnIGVmdGVyIHV2ZW50ZWRlIHBvc3RlclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICB2aXMgZWZmZWt0aXZlIG9wc2xhZ3NzdGllclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAidGlsdmFsZ2V0IC1mIG1hbmdsZXIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi9maWxlc3lzdGVtIFVVSUQiCittc2dzdHIgImZpbHN5c3RlbS1VVUlEIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICJ1Z3lsZGlnIGlub2RlLWZvcnNreWRuaW5nIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOAorIywgZnV6enkKK21zZ2lkICJ0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJmbGFnYmVza3JpdmVsc2UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICJsb29wLWVuaGVkc25hdm4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi10YWJsZSIKK21zZ3N0ciAicGFydGl0aW9uc3RhYmVsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJmZWpsOiAlczogdW5kZXJzw7hnZWxzZXNpbml0aWFsaXNlcmluZyBtaXNseWtrZWRlcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIHNsZXR0ZSAlcyBtYWdpc2sgc3RyZW5nIHZlZCBmb3Jza3lkbmluZyAweCUwOGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogJXpkIGJ5dGUgYmxldiBzbGV0dGV0IHZlZCBmb3Jza3lkbmluZyAweCUwOGp4ICglcyk6ICIKK21zZ3N0clsxXSAiJXM6ICV6ZCBieXRlIGJsZXYgc2xldHRldCB2ZWQgZm9yc2t5ZG5pbmcgMHglMDhqeCAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Ugb3ByZXR0ZSBlbiBzaWduYXR1cnNpa2tlcmhlZHNrb3BpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiJXM6IGthbGRlciBpb2N0bCgpIGZvciBhdCBnZW5pbmRsw6ZzZSBwYXJ0aXRpb25zdGFiZWxsZW46ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAia3VubmUgaWtrZSBvcHJldHRlIGVuIHNpZ25hdHVyc2lra2VyaGVkc2tvcGksICRIT01FIGVyIGlra2UgZGVmaW5lcmV0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogaWdub3JlcmVyIGluZGxlanJldCDCuyVzwqstcGFydGl0aW9uc3RhYmVsIHDDpSBpa2tlLWhlbCBkaXNrZW5oZWQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlczogZm9yc2t5ZG5pbmcgMHglanggYmxldiBpa2tlIGZ1bmRldCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1ODAKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiQnJ1ZyB0aWx2YWxnZXQgLS1mb3JjZSB0aWwgYXQgZnJlbXR2aW5nZSBzbGV0bmluZy4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAiRmplcm4gc2lnbmF0dXJlciBmcmEgZW4gZW5oZWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKSIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIHZpcyBhbGxlIGVuaGVkZXJcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAia3VubmUgaWtrZSBvcHJldHRlIGVuIHNpZ25hdHVyc2lra2VyaGVkc2tvcGksICRIT01FIGVyIGlra2UgZGVmaW5lcmV0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBmcmVtdHZpbmcga29udHJvbFxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIHVkc2tyaXYgaWtrZSB0ZWtzdGhvdmVkZXJcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgIGJydWcgSlNPTi11ZGRhdGFmb3JtYXRldFxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbCIKK21zZ3N0ciAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBnw7hyIGFsdCB1bmR0YWdlbiBhdCBza3JpdmUgbG9nZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXMiCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gICBmb3Jza3lkbmluZyBmb3IgaW50ZXJ2YWxvcGVyYXRpb25lciwgaSBieXRlXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9PGxpc3RlPl0gICB2aXMga3VuIGV0IGZvcm1hdCBkZXIga2FuIGZvcnRvbGtlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHVuZGVydHJ5ayBla3N0cmEgaW5mb3JtYXRpb25zYmVza2VkZXJcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgIGJlZ3LDpm5zIHPDpnR0ZXQgYWYgZmlsc3lzdGVtZXIgZWZ0ZXIgRlMtdHlwZXJcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo3MjQKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiVGlsdmFsZ2V0IC0tYmFja3VwIGVyIG1lbmluZ3Nsw7hzdCBpIGRlbm5lIGtvbnRla3N0IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlZpcyBlbGxlciDDpm5kciByZWFsdGlkZW5zIHBsYW5sw6ZnbmluZ3NhdHRyaWJ1dHRlciBmb3IgZW4gcHJvY2VzLlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJBbmdpdiBwb2xpdGlrOlxuIgorIiAgY2hydCBbdGlsdmFsZ10gPHByaW9yaXRldD4gPGtvbW1hbmRvPiBbPGFyZz4gLi4uXX1cbiIKKyIgIGNocnQgW3RpbHZhbGddIC0tcCA8cHJpb3JpdGV0PiA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIkhlbnQgcG9saXRpazpcbiIKKyIgY2hydCBbdGlsdmFsZ10gLXAgPHBpZD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIlBvbGl0aWt0aWx2YWxnOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAgYW5naXYgcG9saXRpayB0aWwgU0NIRURfQkFUQ0hcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYWRsaW5lICAgICAgIGFuZ2l2IHBvbGl0aWsgdGlsIFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIGFuZ2l2IHBvbGl0aWsgdGlsIFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAgYW5naXYgcG9saXRpayB0aWwgU0NIRURfSURMRVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIgLW8sIC0tb3RoZXIgICAgICAgICAgYW5naXYgcG9saXRpayB0aWwgU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBhbmdpdiBwb2xpdGlrIHRpbCBTQ0hFRF9SUiAoc3RhbmRhcmQpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiUGxhbmzDpmduaW5nc3RpbHZhbGc6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAtUiB8IC0tcmVzZXQtb24tZm9yayAgICAgIGFuZ2l2IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gZWxsZXIgUlJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIGvDuHJzZWxzdGlkc3BhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kZXBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZXBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiQW5kcmUgaW5kc3RpbGxpbmdlcjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyZXIgcMOlIGFsbGUgb3BnYXZlciAodHLDpWRlKSBmb3IgZW4gZ2l2ZW4gcGlkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heCAgICAgICAgICAgIHZpcyBtaW4uIG9nIG1ha3MuIGd5bGRpZ2UgcHJpb3JpdGV0ZXJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyZXIgcMOlIGVrc2lzdGVyZW5kZSBnaXZlbiBwaWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICB2aXMgc3RhdHVzaW5mb3JtYXRpb25cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMxIHNjaGVkdXRpbHMvY2hydC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAia3VubmUgaWtrZSBpbmRoZW50ZSBwaWQgJWQncyBwb2xpdGlrIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGluZGhlbnRlIHBpZCAlZCdzIGF0dHJpYnV0dGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkICVkJ3MgbnllIHBsYW5sw6ZnbmluZ3Nwb2xpdGlrOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJwaWQgJWQncyBha3R1ZWxsZSBwbGFubMOmZ25pbmdzcG9saXRpazogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkJ3MgbnllIHBsYW5sw6ZnbmluZ3Nwcmlvcml0ZXQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgInBpZCAlZCdzIGFrdHVlbGxlIHBsYW5sw6ZnbmluZ3Nwcmlvcml0ZXQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAicGlkICVkJ3MgbnllIGvDuHJzZWxzdGlkcy0vZGVhZGxpbmUtL3BlcmlvZGUtcGFyYW1ldHJlOiAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJwaWQgJWQncyBha3R1ZWxsZSBrw7hyc2Vsc3RpZHMtL2RlYWRsaW5lLS9wZXJpb2RlcGFyYW1ldHJlOiAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyOTkgc2NoZWR1dGlscy9jaHJ0LmM6Mzk1Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgb3BnYXZlbGlzdGVuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIlcyBtaW4uL21ha3MuIHByaW9yaXRldFx0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiJXMgZXIgaWtrZSB1bmRlcnN0w7h0dGV0P1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIHRpZCAlZCdzIHBvbGl0aWsiCisKKyMgQWxsZSBwcm9jZXNzZXIgcMOlIHVuaXgtYWd0aWdlIHN5c3RlbWVyIGhhciBlbiBwcm9jZXMtaWQgKHBpZCksIHNvbSBlcgorIyBldCB0YWwuICAlZCBlciBlbiBwaWQuICBIdmlzIGR1IHNrcml2ZXIgJ3RvcCcsIGthbiBkdSBzZSBhbGxlCisjIHByb2Nlc3NlciBvZyBkZXJlcyBwaWQnZXIuCisjIEkgw7h2cmlndCBlciBzdWJzdGl0dXRpb25za29kZW4gJWQgYWx0aWQgZXQgaGVsdGFsLgorIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSBwaWQgJWQncyBwb2xpdGlrIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODQKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcga8O4cnNlbHN0aWRzcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwZXJpb2RlcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIGRlYWRsaW5lcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlndCBwcmlvcml0ZXRzcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTkKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiVGlsdmFsZ2V0IC0tcmVzZXQtb24tZm9yayBlciBrdW4gdW5kZXJzdMO4dHRldCBmb3IgU0NIRURfRklGTy0gb2cgU0NIRURfUlItcG9saXRpa2tlciIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiVGlsdmFnZW5lIC0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBlciBrdW4gdW5kZXJzdMO4dHRldCBmb3IgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUzOQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF9ERUFETElORSBlciBpa2tlIHVuZGVyc3TDuHR0ZXQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCBwcmlvcml0ZXRzdsOmcmRpIGZvciBwb2xpdGlra2VuOiAlZDogc2UgLS1tYXggZm9yIGd5bGRpZ3QgaW50ZXJ2YWwiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCBtaXNseWtrZWRlcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXM6IHByaW8gJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCBtaXNseWtrZWRlcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbdGlsdmFsZ10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbdGlsdmFsZ10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW3RpbHZhbGddIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW3RpbHZhbGddIDxrb21tYW5kbz5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVmlzIGVsbGVyIMOmbmRyIEkvTy1wbGFubMOmZ25pbmdza2xhc3NlbiBvZyBwcmlvcml0ZXQgZm9yIGVuIHByb2Nlcy5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNsYXNzIDxrbGFzc2U+ICAgIG5hdm4gZWxsZXIgYW50YWwgYWYgcGxhbmzDpmduaW5nc2tsYXNzZSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IGluZ2VuLCAxOiByZWFsdGlkLCAyOiBiZWRzdGUtaW5kc2F0cywgMzogbGVkaWdcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTYKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8YW50YWw+IHByaW9yaXRldCAoMC4uNykgaSBkZW4gc3BlY2lmaWNlcmVkZSBwbGFubMOmZ25pbmdza2xhc3NlLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAga3VuIGZvciByZWFsdGlkc2tsYXNzZXIgb2cgYmVkc3RlLWluZHNhdHMga2xhc3NlclxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIHJlYWdlciBww6UgZGlzc2UgYWxsZXJlZGUga8O4cmVuZGUgcHJvY2Vzc2VyXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIHJlYWdlciBww6UgYWxsZXJlZGUga8O4cmVuZGUgcHJvY2Vzc2VyIGkgZGlzc2UgZ3J1cHBlclxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmVyIGZlamxcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjEKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICByZWFnZXIgcMOlIGFsbGVyZWRlIGvDuHJlbmRlIHByb2Nlc3NlciBlamV0IGFmIGRpc3NlIGJydWdlcmVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWd0IGtsYXNzZWRhdGFwYXJhbWV0ZXIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZ3Qga2xhc3NlcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgInVrZW5kdCBwbGFubMOmZ25pbmdza2xhc3NlOiDCuyVzwqsiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgImthbiBrdW4gaMOlbmR0ZXJlIGVuIGFmIHBpZCwgcGdpZCBlbGxlciB1aWQgYWQgZ2FuZ2VuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBQR0lELXBhcmFtZXRlciIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBVSUQtcGFyYW1ldGVyIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgImlnbm9yZXJlciBhbmdpdmV0IGtsYXNzZWRhdGEgZm9yIGtsYXNzZW4gaW5nZW4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiaWdub3JlcmVyIGFuZ2l2ZXQga2xhc3NlZGF0YSBmb3Iga2xhc3NlbiBsZWRpZyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJ1a2VuZHQgcHJpby1rbGFzc2UgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIkJydWc6ICVzIFt0aWx2YWxnXSBbbWFza2UgfCBjcHUtbGlzdF0gW3BpZHxrbWQgW3BhcmFtZXRyZS4uLl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIlZpcyBlbGxlciDDpm5kciBjcHUtYWZmaW5pdGV0IGZvciBlbiBwcm9jZXMuXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCittc2dzdHIgIiIKKyJUaWx2YWxnOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBmdW5nZXJlciBww6UgYWxsZSBvcGdhdmVyICh0csOlZGUpIGZvciBlbiBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgYXJiZWpkIHDDpSBla3Npc3RlcmVuZGUgcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIHZpcyBvZyBhbmdpdiBjcHUnZXIgaSBsaXN0ZWZvcm1hdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisiU3RhbmRhcmRvcGbDuHJlbHNlbiBlciBhdCBrw7hyZSBlbiBueSBrb21tYW5kbzpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJEdSBrYW4gaW5kaGVudGUgbWFza2VuIHDDpSBlbiBla3Npc3RlcmVuZGUgb3BnYXZlOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIkVsbGVyIHPDpnR0ZSBkZW46XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdGVmb3JtYXQgYnJ1Z2VyIGVuIGtvbW1hYWRza2lsdCBsaXN0ZSBpIHN0ZWRlbiBmb3IgZW4gbWFza2U6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIkludGVydmFsbGVyIGkgbGlzdGVmb3JtYXQga2FuIGluZGVob2xkZSBldCBzdHJpZGUtYXJndW1lbnQ6XG4iCisiICAgIGYuZWtzLiBzdmFyZXIgMC0zMToyIHRpbCBtYXNrZW4gMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkJ3MgbnllIGFmZmluaXRldHNsaXN0ZTogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJwaWQgJWQncyBha3R1ZWxsZSBhZmZpbml0ZXRzbGlzdGU6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJwaWQgJWQncyBueWUgYWZmaW5pdGV0c21hc2tlOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgInBpZCAlZCdzIGFrdHVlbGxlIGFmZmluaXRldHNtYXNrZTogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiaW50ZXJuIGZlamw6IGtvbnZlcnRlcmluZyBmcmEgY3B1c2V0IHRpbCBzdHJlbmcgbWlzbHlra2VkZXMiCisKKyMgQWxsZSBwcm9jZXNzZXIgcMOlIHVuaXgtYWd0aWdlIHN5c3RlbWVyIGhhciBlbiBwcm9jZXMtaWQgKHBpZCksIHNvbSBlcgorIyBldCB0YWwuICAlZCBlciBlbiBwaWQuICBIdmlzIGR1IHNrcml2ZXIgJ3RvcCcsIGthbiBkdSBzZSBhbGxlCisjIHByb2Nlc3NlciBvZyBkZXJlcyBwaWQnZXIuCisjIEkgw7h2cmlndCBlciBzdWJzdGl0dXRpb25za29kZW4gJWQgYWx0aWQgZXQgaGVsdGFsLgorIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIHBpZCAlZCdzIGFmZmluaXRldCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImt1bm5lIGlra2UgaW5kaGVudGUgcGlkICVkJ3MgYWZmaW5pdGV0IgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAia2FuIGlra2UgYmVzdGVtbWUgTlJfQ1BVUzsgYWZicnlkZXIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY3B1c2V0X2FsbG9jIG1pc2x5a2tlZGVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgQ1BVLWxpc3RlOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgQ1BVLW1hc2tlOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6IE51bC11ZGZ5bGR0ZSAlPFBSSXU2ND4gYnl0ZSBmcmEgZm9yc2t5ZG5pbmdlbiAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBGamVybmVkZSAlPFBSSXU2ND4gYnl0ZSBmcmEgZm9yc2t5ZG5pbmdlbiAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4OAorbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiRmplcm4gaW5kaG9sZGV0IGZvciBzZWt0b3JlciBww6UgZW4gZW5oZWQuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPGFudGFsPiBmb3Jza3lkbmluZyBpIGJ5dGUgc29tIGRlciBza2FsIGZqZXJuZXMgZnJhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8YW50YWw+IGzDpm5nZGVuIGFmIGJ5dGUgZGVyIHNrYWwgZmplcm5lcyBmcmEgZm9yc2t5ZG5pbmdlblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtcCwgLS1zdGVwIDxhbnRhbD4gIHN0w7hycmVsc2UgcMOlIGZqZXJuLWdlbm5lbWzDuGIgaSBmb3Jza3lkbmluZ2VuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtcywgLS1zZWN1cmUgICAgICAgIHVkZsO4ciBzaWtrZXIgZmplcm5lbHNlXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLXosIC0temVyb291dCAgICAgICBudWwtdWRmeWxkIGZyZW0gZm9yIGF0IGZqZXJuZVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICB1ZHNrcml2IGp1c3RlcmV0IGzDpm5nZGUgb2cgZm9yc2t5ZG5pbmdcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5MQorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBmb3Jza3lkbmluZyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSB0cmluIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAidXZlbnRldCBhbnRhbCBhcmd1bWVudGVyIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTIgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogZm9yc2t5ZG5pbmcgJTxQUkl1NjQ+IGVyIGlra2UganVzdGVyZXQgdGlsIHNla3RvcnN0w7hycmVsc2UgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczogZm9yc2t5ZG5pbmcgZXIgc3TDuHJyZSBlbmQgZW5oZWRzc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBsw6ZuZ2RlICU8UFJJdTY0PiBlciBpa2tlIGp1c3RlcmV0IHRpbCBzZWt0b3JzdMO4cnJlbHNlICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtESVNDQVJEIGlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCittc2dpZCAiUmVwb3J0IHpvbmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdpdmVuIGRldmljZSIKK21zZ3N0ciAiUmFwcG9ydGVyIHpvbmVpbmZvcm1hdGlvbiBvbSBkZW4gZ2l2bmUgZW5oZWQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiTnVsc3RpbCBldCBpbnRlcnZhbCBhZiB6b25lci4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogYmxrZGV2X2dldF9zZWN0b3JzIGlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGJlc3RlbW1lIHpvbmVzdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIkZhbmR0ICVkIHpvbmVyIGZyYSAweCU8UFJJeDY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZW4gMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKK21zZ3N0ciAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBmb3Jza3lkbmluZyAlPFBSSXU2ND4gZXIgaWtrZSBqdXN0ZXJldCB0aWwgem9uZXN0w7hycmVsc2UgJWx1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBhbnRhbGxldCBhZiBzZWt0b3JlciAlPFBSSXU2ND4gZXIgaWtrZSBqdXN0ZXJldCB0aWwgem9uZXN0w7hycmVsc2UgJWx1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1JFU0VUWk9ORSBpb2N0bCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICIlczogc3VjY2VzZnVsZCBudWxzdGlsbGluZyBpIGludGVydmFsIGZyYSAlPFBSSXU2ND4gdGlsICU8UFJJdTY0Pi4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyA8a29tbWFuZG8+IFt0aWx2YWxnXSA8ZW5oZWQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJLw7hyIHpvbmVrb21tYW5kbyBww6UgZW4gZ2l2ZW4gYmxva2VuaGVkLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPHNlY3Rvcj4gIHN0YXJ0IHNlY3RvciBvZiB6b25lIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c2VrdG9yPiAgc3RhcnQgem9uZXNla3RvciBhdCBhZ2VyZSAoaSA1MTItYnl0ZSBzZWt0b3JlcilcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxzZWt0b3Jlcj4gbWFrcy4gc2VrdG9yZXIgYXQgYWdlcmUgKGkgNTEyLWJ5dGUgc2VrdG9yZXIpXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCittc2dpZCAiIC1jLCAtLWNvdW50IDxudW1iZXI+ICAgbWF4aW11bSBudW1iZXIgb2Ygem9uZXNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvdW50IDxhbnRhbD4gICAgbWFrc2ltYWx0IGFudGFsIHpvbmVyXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmlzIGZsZXJlIGRldGFsamVyXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIiVzIGVyIGlra2UgZXQgZ3lsZGlndCBrb21tYW5kb25hdm4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiB6b25lcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBhbnRhbGxldCBhZiB6b25lciIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgYW50YWxsZXQgYWYgc2VrdG9yZXIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mzc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHpvbmVmb3Jza3lkbmluZyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGtvbW1hbmRvIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSBmaW5kZXMgaWtrZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJXUgZXIgaWtrZSDCu2hvdCBwbHVnZ2FibGXCqyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgZXIgYWxsZXJlZGUgYWt0aXZlcmV0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgZXIgYWxsZXJlZGUgZGVha3RpdmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiQ1BVICV1IGFrdGl2ZXJpbmcgbWlzbHlra2VkZXMgKENQVSBlciBhZmtvbmZpZ3VyZXJldCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IGFrdGl2ZXJpbmcgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgYWt0aXZlcmV0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJDUFUgJXUgZGVha3RpdmVyaW5nIG1pc2x5a2tlZGVzIChzaWRzdCBha3RpdmVyZXQgQ1BVKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IGRlYWt0aXZlcmluZyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgZGVha3RpdmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIkRldHRlIHN5c3RlbSB1bmRlcnN0w7h0dGVyIGlra2Ugbnkgc2thbm5pbmcgYWYgQ1BVJ2VyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiS3VubmUgaWtrZSB1ZGzDuHNlIG55IHNrYW5uaW5nIGFmIENQVSdlciIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICJVZGzDuHN0IG55IHNrYW5uaW5nIGFmIENQVSdlclxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiRGV0dGUgc3lzdGVtIHVuZGVyc3TDuHR0ZXIgaWtrZSBpbmRzdGlsbGluZyBhZiBkaXNwYXRjaGluZy10aWxzdGFuZCBmb3IgQ1BVJ2VyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbmdpdmUgdmFuZHJldCBkaXNwYXRjaC10aWxzdGFuZCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlZhbmRyZXQgZGlzcGF0Y2hpbmctdGlsc3RhbmQgYW5naXZldFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIkt1bm5lIGlra2UgYW5naXZlIGxvZHJldCBkaXNwYXRjaC10aWxzdGFuZCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJMb2RyZXQgZGlzcGF0Y2hpbmctdGlsc3RhbmQgYW5naXZldFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkNQVSAldSBrYW4gaWtrZSBrb25maWd1cmVyZXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBlciBhbGxlcmVkZSBrb25maWd1cmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgZXIgYWxsZXJlZGUgYWZrb25maWd1cmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICV1IGFma29uZmlndXJlcmluZyBtaXNseWtrZWRlcyAoQ1BVIGVyIGFrdGl2ZXJldCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IGtvbmZpZ3VyZXJpbmcgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUga29uZmlndXJlcmV0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUgYWZrb25maWd1cmVyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgYWZrb25maWd1cmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgInVneWxkaWd0IENQVS1hbnRhbCBpIENQVS1saXN0ZTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOSB0ZXh0LXV0aWxzL2NvbC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiQnJ1ZzpcbiIKKyIgJXMgW3RpbHZhbGddXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiS29uZmlndXJlciBDUFUnZXIgaSBldCBzeXN0ZW0gbWVkIGZsZXJlIHByb2Nlc3NvcmVyLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWx2YWxnOlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGViZXNrZWRcbiIKKyIgIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGFrdGl2ZXIgY3B1J2VyXG4iCisiICAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkZWFrdGl2ZXIgY3B1J2VyXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBrb25maWd1cmVyIGNwdSdlclxuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgYWZrb25maWd1cmVyIGNwdSdlclxuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPHRpbHN0YW5kPiAgICAgYW5naXYgYWZzZW5kZWxzZXN0aWxzdGFuZFxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdWRsw7hzIG55IHNrYW5uaW5nIGFmIGNwdSdlclxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCBwYXJhbWV0ZXI6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVtb3J5IEJsb2NrICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorbXNnc3RyICJIdWtvbW1lbHNlc2Jsb2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEyNCBzeXMtdXRpbHMvY2htZW0uYzoxOTcKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgIkt1bm5lIGlra2UgZm9ydG9sa2UgaW5kZWtzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICIlcyBha3RpdmVyaW5nIG1pc2x5a2tlZGVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICIlcyBkZWFrdGl2ZXJpbmcgbWlzbHlra2VkZXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgIiVzIGFrdGl2ZXJldFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIiVzIGRlYWt0aXZlcmV0XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIkt1bm5lIGt1biBha3RpdmVyZSAlcyBodWtvbW1lbHNlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBkaXNhYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiS3VubmUga3VuIGRlYWt0aXZlcmUgJXMgaHVrb21tZWxzZSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICIlcyBlciBhbGxlcmVkZSBha3RpdmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiJXMgZXIgYWxsZXJlZGUgZGVha3RpdmVyZXRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICIlcyBha3RpdmVyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICIlcyBkZWFrdGl2ZXJpbmcgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICIlcyBha3RpdmVyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIiVzIGRlYWt0aXZlcmluZyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjY2IHN5cy11dGlscy9sc21lbS5jOjQ3NiBzeXMtdXRpbHMvbHNtZW0uYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgIkt1bm5lIGlra2UgbMOmc2UgJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBibG9jayBudW1iZXIiCittc2dzdHIgIkt1bm5lIGlra2UgZm9ydG9sa2UgYmxva2FudGFsIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiS3VubmUgaWtrZSBmb3J0b2xrZSBzdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiU3TDuHJyZWxzZSBza2FsIHbDpnJlIGp1c3RlcmV0IHRpbCBodWtvbW1lbHNlc2Jsb2tzdMO4cnJlbHNlICglcykiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiS3VubmUgaWtrZSBmb3J0b2xrZSBzdGFydCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiS3VubmUgaWtrZSBmb3J0b2xrZSBzbHV0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIlVneWxkaWd0IHN0YXJ0YWRyZXNzZWZvcm1hdDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIlVneWxkaWd0IHNsdXRhZHJlc3NlZm9ybWF0OiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgIkt1bm5lIGlra2UgZm9ydG9sa2Ugc3RhcnRhZHJlc3NlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDEKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIGFkZHJlc3MiCittc2dzdHIgIkt1bm5lIGlra2UgZm9ydG9sa2Ugc2x1dGFkcmVzc2UiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBhZGRyZXNzIGFuZCAoZW5kIGFkZHJlc3MgKyAxKSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiU3RhcnRhZHJlc3NlIG9nIChzbHV0YWRyZXNzZSArIDEpIHNrYWwgdsOmcmUganVzdGVyZXQgdGlsIGh1a29tbWVsc2VzYmxva3N0w7hycmVsc2UgKCVzKSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiVWd5bGRpZyBwYXJhbWV0ZXI6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIlVneWxkaWd0IGludGVydmFsOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1NJWkV8UkFOR0V8QkxPQ0tSQU5HRV1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICJBbmdpdiBlbiBiZXN0ZW10IHN0w7hycmVsc2UgZWxsZXIgaW50ZXJ2YWwgYWYgaHVrb21tZWxzZSB0aWwtIG9nIGZyYWtvYmxldC5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1lbmFibGUgICAgICAgZW5hYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgLWUsIC0tZW5hYmxlICAgYWt0aXZlciBodWtvbW1lbHNlXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtZCwgLS1kaXNhYmxlICBkZWFrdGl2ZXIgaHVrb21tZWxzZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzICAgYnJ1ZyBodWtvbW1lbHNlc2Jsb2trZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICB2w6ZyIHVkZHliZW5kZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlVuZGVyc3TDuHR0ZWRlIGxvZ2ZhY2lsaXRldGVyOlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgInVrZW5kdCBtw6VuZWRzbmF2bjogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIgJXMgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICJBbmdpdiBmdW5rdGlvbmVuIGZvciBDdHJsLUFsdC1EZWwta29tYmluYXRpb25lbi5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICJ1bmRlcmZvcnN0w6VldCIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgInV2ZW50ZXQgdsOmcmRpIGkgJXM6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIkR1IHNrYWwgdsOmcmUgcm9vdCBmb3IgYXQgc8OmdHRlIEN0cmwtQWx0LURlbC1vcGbDuHJzbGVuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgInVrZW5kdCBwYXJhbWV0ZXI6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgInN5c3RlbSBlciB1YnJ1Z2VsaWciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJkZXIgbcOlIGfDuHJlcyBub2dldCDDuGplYmxpa2tlbGlndCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAia3JpdGlza2UgYmV0aW5nZWxzZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgImZlamxiZXRpbmdlbHNlciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJhZHZhcnNlbHNiZXRpbmdlbHNlciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIm5vcm1hbCBtZW4gc2lnbmlmaWthbnQgYmV0aW5nZWxzZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiaW5mb3JtYXRpb25lbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgImZlamxzw7hnbmluZ3NuaXZlYXViZXNrZWRlciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMwCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJrZXJuZWJlc2tlZGVyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAidmlsa8OlcmxpZ2UgYnJ1Z2Vybml2ZWF1YmVza2VkZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJwb3N0c3lzdGVtIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAic3lzdGVtZMOmbW9uZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgInNpa2tlcmhlZHMtIG9nIGdvZGtlbmRlbHNlc2Jlc2tlZGVyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJiZXNrZWRlciBvcHJldHRldCBpbnRlcm50IGFmIHN5c2xvZ2QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgImxpbmUgcHJpbnRlci11bmRlcnN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAibmV0dsOmcmtzbnloZWRzdW5kZXJzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJVVUNQLXVuZGVyc3lzdGVtIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgInVyZMOmbW9uIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAic2lra2VyaGVkcy0gb2cgZ29ka2VuZGVsc2VzYmVza2VkZXIgKHByaXZhdGUpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJGVFAtZMOmbW9uIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjkKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiVmlzIGVsbGVyIGtvbnRyb2xsZXIga2VybmVucyByaW5nbWVsbGVtbGFnZXIuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIHJ5ZCBrZXJuZW5zIHJpbmdidWZmZXJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBsw6ZzIG9nIHJ5ZCBhbGxlIGJlc2tlZGVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGVha3RpdmVyIHVkc2tyaXZuaW5nIGFmIGJlc2tlZGVyIHRpbCBrb25zb2xsZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGFrdGl2ZXIgdWRza3Jpdm5pbmcgYWYgYmVza2VkZXIgdGlsIGtvbnNvbGxlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8ZmlsPiAgICAgICAgICAgIGJydWcgZmlsZW4gaSBzdGVkZXQgZm9yIGxvZ21lbGxlbWxhZ2VyZXQgdGlsIGtlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0ZT4gICAgICAgIGJlZ3LDpm5zIHVkZGF0YSB0aWwgZGVmaW5lcmVkZSBmYWNpbGl0ZXRlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGzDpnNiYXJlIHVkZGF0YVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgdmlzIGtlcm5lYmVza2VkZXJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxodm9ybsOlcj5dICAgICBmYXJ2ZWzDpmcgYmVza2VkZXIgKGF1dG8sIGFsd2F5cyBlbGxlciBuZXZlcilcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxldmVsIDxsaXN0ZT4gICAgICAgICAgIGJlZ3LDpm5zIHVkZGF0YSB0aWwgZGVmaW5lcmVkZSBuaXZlYXVlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPG5pdi4+ICBzw6Z0IG5pdmVhdSBmb3IgYmVza2VkZXIgdmlzdCBpIGtvbnNvbGxlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBJbmRza3lkIGlra2UgdWRkYXRhIGkgZW4gdGVrc3Rzw7hnZXJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgdWRza3JpdiBkZXQgcsOlIGJlc2tlZG1lbGxlbWxhZ2VyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmcmVtdHZpbmcgYnJ1Z2VuIGFmIHN5c2xvZygyKSBmcmVtIGZvciAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA8c3RyLj4gICAgbWVsbGVtbGFnZXJzdMO4cnJlbHNlIHRpbCBhdCBmb3Jlc3DDuHJnZSByaW5nLW1lbGxlbWxhZ2VyZXQgZm9yIGtlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgdmlzIGJydWdlcnJ1bXNiZXNrZWRlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHZlbnQgcMOlIG55ZSBiZXNrZWRlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgYWZrb2QgZmFjaWxpdGV0IG9nIG5pdmVhdSB0aWwgbMOmc2JhciBzdHJlbmdcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgdmlzIHRpZHNkZWx0YSBtZWxsZW0gdWRza3Jldm5lIGJlc2tlZGVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHZpcyBsb2thbCB0aWQgb2cgdGlkc2ZvcnNrZWwgaSBsw6ZzYmFydCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHZpcyBldCBsw6ZzZXZlbmxpZ3QgdGlkc3N0ZW1wZWwgKGthbiB2w6ZyZSB1cHLDpmNpc3QhKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTYKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgdmlzIGlra2UgdGlkc3RlbXBsZXIgbWVkIGJlc2tlZGVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICB2aXMgdGlkc3N0ZW1wZWwgbWVkIGRldCBnaXZuZSBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuc2lvbi9nZW5vcHRhZyB2aWwgZ8O4cmUgY3RpbWUtIG9nIGlzby10aWRzc3RlbXBsZXIgdXByw6ZjaXNlLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiVW5kZXJzdMO4dHRlZGUgbG9nZmFjaWxpdGV0ZXI6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJVbmRlcnN0w7h0dGVkZSBsb2duaXZlYXVlciAocHJpb3JpdGV0ZXIpOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2Ugbml2ZWF1IMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAidWtlbmR0IG5pdmVhdSDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBmYWNpbGl0ZXQgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJ1a2VuZHQgZmFjaWxpdGV0IMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBtbWFwOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzNgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciBtZWxsZW1sYWdlcnN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXNob3ctZGVsdGEgaWdub3JlcmV0IG7DpXIgZGVuIGJydWdlcyBzYW1tZW4gbWVkIGlzbzg2MDEtdGlkc2Zvcm1hdGV0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3IGthbiBrdW4gYnJ1Z2VzIHNhbW1lbiBtZWQgLS1sZXZlbCBlbGxlciAtLWZhY2lsaXR5IG7DpXIgZGVyIGVyIGzDpnN0IGJlc2tlZGVyIGZyYSAvZGV2L2ttc2ciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MjYKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJsw6ZzdCBrZXJuZW1lbGxlbWxhZ2VyIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxlbmhlZD58PG1vbnRlcmluZ3NwdW5rdD5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzOAorbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiU2t1YiBmbHl0YmFydCBtZWRpZSB1ZC5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0w6ZuZCBvZyBzbHVrIGZvciBhdXRvbWF0aXNrIHNrdWIgdWRcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHNraWZ0IGRpc2tlIHDDpSBlbiBjZC1yb20tw6ZuZHJlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgdmlzIHN0YW5kYXJkZW5oZWRcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIHNrdWIgZGlza2V0dGUgdWRcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIHRhZyBpa2tlIGhlbnN5biB0aWwgZW5oZWRzdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdMOmbmsgb2cgc2x1ayBmb3IgbWFudWVsIGJlc2t5dHRlbHNlIGFmIHNrdWIgdWRcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGFmbW9udGVyIGlra2UgZW5oZWQgc2VsdiBvbSBlbmhlZGVuIGVyIG1vbnRlcmV0XG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBhZm1vbnRlciBpa2tlIGFuZHJlIHBhcnRpdGlvbmVyXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBza3ViIGlra2UgdWQsIHZpcyBhbGVuZSBmdW5kZXQgZW5oZWRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIGJydWcgL3Byb2MvbW91bnRzIGkgc3RlZGV0IGZvciAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIHNrdWIgYsOlbmQgdWRcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIHNrdWIgY2Qtcm9tIHVkXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBza3ViIFNDU0ktZW5oZWQgdWRcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGx1ayBiYWtrZVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdMOmbmsgb2cgc2x1ayBmb3IgYmFra2VcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGFrdGl2ZXIgdWRkeWJlbmRlIHVkZGF0YVxuIgorIiAteCwgLS1jZHNwZWVkIDxoYXN0aWdoZWQ+ICAgYW5naXYgbWFrc2ltYWwgaGFzdGlnaGVkIGZvciBjZC1yb21cbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIHZpcyB0aWxnw6ZuZ2VsaWdlIGhhc3RpZ2hlZGVyIGZvciBjZC1yb21cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTb20gc3RhbmRhcmQgZm9yc8O4Z2VzIG1lZCAtciwgLXMsIC1mIG9nIC1xIGkgcsOma2tlZsO4bGdlIGluZHRpbCBzdWNjZXMuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciB0aWx2YWxnZXQgLS1jaGFuZ2Vyc2xvdC8tYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJ1Z3lsZGlnIHBhcmFtZXRlciBmb3IgdGlsdmFsZ2V0IC0tY2RzcGVlZC8teCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNkLXJvbS1rb21tYW5kbyBmb3IgYXV0b21hdGlzayB1ZHNrdWJuaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMzkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIkNkLXJvbS1kw7hybMOlcyBlciBpa2tlIHVuZGVyc3TDuHR0ZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJhbmRyZSBicnVnZXJlIGhhciBkcmV2ZXQgw6ViZW4gb2cgaWtrZSBDQVBfU1lTX0FETUlOIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDZC1yb20ta29tbWFuZG8gZm9yIGzDpXMgZMO4ciBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ4Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ2QtZHJldiBtw6UgSUtLRSBza3ViYmVzIHVkIG1lZCBlbmhlZHNrbmFwcGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNkLWRyZXYgbcOlIHNrdWJiZXMgdWQgbWVkIGVuaGVkc2tuYXBwZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiVmFsZyBhZiBjZC1yb20tZGlza2tvbW1hbmRvZW4gbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ2Qtcm9tLWluZGzDpnNuaW5nIGZyYSBzbG90LWtvbW1hbmRvIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjcKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJJREUvQVRBUEkgY2Qtcm9tLcOmbmRyaW5nIGVyIGlra2UgdW5kZXJzdMO4dHRldCBhZiBkZW5uZSBrZXJuZVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ2Qtcm9tLWtvbW1hbmRvZW4gbHVrIHNrdWZmZW4gbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJDZC1yb20ta29tbWFuZG9lbiBsdWsgc2t1ZmZlbiBlciBpa2tlIHVuZGVyc3TDuHR0ZXQgYWYgZGVubmUga2VybmVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA0Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICJDZC1yb20ta29tbWFuZG9lbiBza3ViIHVkIGVyIGlra2UgdW5kZXJzdMO4dHRldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMyIHN5cy11dGlscy9lamVjdC5jOjQ1NSBzeXMtdXRpbHMvZWplY3QuYzoxMDA2Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDZC1yb20ta29tbWFuZGVuIHNrdWIgdWQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgImluZ2VuIGNkLXJvbS1pbmZvcm1hdGlvbiBlciB0aWxnw6ZuZ2VsaWciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIkNkLXJvbS1kcmV2IGVyIGlra2Uga2xhciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ2Qtcm9tLWtvbW1hbmRvZW4gdsOmbGcgaGFzdGlnaGVkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiQ2Qtcm9tLWtvbW1hbmRvZW4gdsOmbGcgaGFzdGlnaGVkIGVyIGlra2UgdW5kZXJzdMO4dHRldCBhZiBkZW5uZSBrZXJuZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgZmluZGUgY2Qtcm9tLW5hdm5lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlczogS3VubmUgaWtrZSBsw6ZzZSBoYXN0aWdoZWRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgaGFzdGlnaGVkZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgImh2ZXJrZW4gZW4gc2ctZW5oZWQgZWxsZXIgZ2FtbWVsIHNnLWRyaXZlciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczogYWZtb250ZXJlciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjczCittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgImt1bm5lIGlra2UgZm9yZ3JlbmUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJhZm1vbnRlcmluZyBhZiDCuyVzwqsgYmxldiBpa2tlIGFmc2x1dHRldCBub3JtYWx0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJhZm1vbnRlcmluZyBhZiDCuyVzwqsgbWlzbHlra2VkZXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIG1vbnRlcmluZ3N0YWJlbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6IG1vbnRlcmV0IHDDpSAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODI4Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAic8OmdHRlciBjZC1yb20taGFzdGlnaGVkIHRpbCBhdXRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAic8OmdHRlciBjZC1yb20taGFzdGlnaGVkIHRpbCAlbGRYIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgInN0YW5kYXJkZW5oZWQ6IMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgImJydWdlciBzdGFuZGFyZGVuaGVkIMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGZpbmRlIGVuaGVkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAiZW5oZWRzbmF2biBlciDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczogaWtrZSBtb250ZXJldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogZGlza2VuaGVkOiAlcyAoZGlza2VuaGVkIHZpbCBibGl2ZSBicnVndCBmb3Igc2t1YiB1ZCkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiBmYW5kdCBpa2tlIG1vbnRlcmluZ3NwdW5rdCBlbGxlciBlbmhlZCBtZWQgZGV0IGFuZ2l2bmUgbmF2biIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGVyIGhlbGUgZGlza2VuaGVkZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogZXIgaWtrZSBlbiBob3QtcGx1Z2dhYmxlLWVuaGVkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgImVuaGVkIGVyIMK7JXPCqyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiYWZzbHV0dGVyIHDDpSBncnVuZCBhZiAtbi8tLW5vb3AgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBha3RpdmVyZXIgdGlsc3RhbmQgZm9yIGF1dG9tYXRpc2sgc2t1YiB1ZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogZGVha3RpdmVyZXIgdGlsc3RhbmQgZm9yIGF1dG9tYXRpc2sgc2t1YiB1ZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiBsdWtrZXIgc2t1ZmZlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiBza2lmdGVyIHNrdWZmZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IHZpc2VyIGNkLXJvbS1oYXN0aWdoZWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgImZlamw6ICVzOiBlbmhlZCBlciBvcHRhZ2V0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczogdsOmbGdlciBjZC1yb20tZGlzayAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBmb3Jzw7hnZXIgYXQgc2t1YmJlIHVkIG1lZCBjZC1yb20ta29tbWFuZG9lbiBlamVjdCAoc2t1YiB1ZCkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNkLXJvbS1rb21tYW5kb2VuIGVqZWN0IChza3ViIHVkKSBseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiBmb3Jzw7hnZXIgYXQgc2t1YmJlIHVkIG1lZCBicnVnIGFmIFNDU0kta29tbWFuZG9lciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJTQ1NJLXNrdWIgdWQgbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiU0NTSS1za3ViIHVkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBmb3Jzw7hnZXIgYXQgc2t1YmJlIHVkIG1lZCBicnVnIGFmIGRpc2trZWRyZXZrb21tYW5kb2VuIGVqZWN0IChza3ViIHVkKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiZGlza2V0dGVkcmV2a29tbWFuZG9lbiBlamVjdCAoc2t1YiB1ZCkgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImRpc2tldHRlZHJldmtvbW1hbmRvZW4gZWplY3QgKHNrdWIgdWQpIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiBmb3Jzw7hnZXIgYXQgc2t1YmJlIHVkIG1lZCBicnVnIGFmIGtvbW1hbmRvZW4gdGFwZSBvZmZsaW5lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJrb21tYW5kb2VuIHRhcGUgb2ZmbGluZSBseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG9lbiB0YXBlIG9mZmxpbmUgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImt1bm5lIGlra2Ugc2t1YmJlIHVkIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPGZpbG5hdm4+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJGb3Jow6VuZHNhbGxva2VyIHBsYWRzIHRpbCwgZWxsZXIgZmplcm4gcGxhZHMgZnJhIGVuIGZpbC5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIGZqZXJuIGV0IGludGVydmFsIGZyYSBmaWxlblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRla3RlciBudWxsZXIgb2cgZXJzdGF0IG1lZCBodWxsZXJcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkyCittc2dpZCAiIC1pLCAtLWluc2VydC1yYW5nZSAgIGluc2VydCBhIGhvbGUgYXQgcmFuZ2UsIHNoaWZ0aW5nIGV4aXN0aW5nIGRhdGFcbiIKK21zZ3N0ciAiIC1pLCAtLWluc2VydC1yYW5nZSAgIGluZHPDpnQgZXQgaHVsIGkgaW50ZXJ2YWwsIGZseXQgZWtzaXN0ZXJlbmRlIGRhdGFcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGzDpm5nZGUgZm9yIGludGVydmFsb3BlcmF0aW9uZXIsIGkgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIGJldmFyIGRlbiB0aWxzeW5lbGFkZW5kZSBmaWxzdMO4cnJlbHNlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gICBmb3Jza3lkbmluZyBmb3IgaW50ZXJ2YWxvcGVyYXRpb25lciwgaSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NgorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiAtcCwgLS1wdW5jaC1ob2xlICAgICBlcnN0YXQgZXQgaW50ZXJ2YWwgbWVkIGV0IGh1bCAoaW5kZWLDpnJlciAtbilcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8tcmFuZ2UgICAgIG51bCBvZyBzaWtrZXIgYWxsb2tlcmluZyBhZiBldCBpbnRlcnZhbFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKK21zZ2lkICIgLXgsIC0tcG9zaXggICAgICAgICAgdXNlIHBvc2l4X2ZhbGxvY2F0ZSgzKSBpbnN0ZWFkIG9mIGZhbGxvY2F0ZSgyKVxuIgorbXNnc3RyICIgLXgsIC0tcG9zaXggICAgICAgICAgYnJ1ZyBwb3NpeF9mYWxsb2NhdGUoMykgaSBzdGVkZXQgZm9yIGZhbGxvY2F0ZSgyKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImZhbGxvY2F0ZSBtaXNseWtrZWRlczogYmVob2xkIHN0w7hycmVsc2VzdGlsc3RhbmQgZXIgaWtrZSB1bmRlcnN0w7h0dGV0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxNDUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogcmVhZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiJXM6ICVzICglanUgYnl0ZSkga29udmVydGVyZXQgdGlsIHNwYXJzb21tZSBodWxsZXIuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgInBvc2l4X2ZhbGxvY2F0ZS11bmRlcnN0w7h0dGVsc2UgZXIgaWtrZSBrb21waWxlcmV0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiaW50ZXQgZmlsbmF2biBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInVneWxkaWcgbMOmbmdkZXbDpnJkaSBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg0Cittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gbMOmbmdkZXBhcmFtZXRlciBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJ1Z3lsZGlnIGZvcnNreWRuaW5nc3bDpnJkaSBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbdGlsdmFsZ10gPGZpbD58PG1hcHBlPiA8a29tbWFuZG8+IFs8cGFyYW1ldHJlPiAuLi5dXG4iCisiICUxJHMgW3RpbHZhbGddIDxmaWw+fDxtYXBwZT4gLWMgPGtvbW1hbmRvPlxuIgorIiAlMSRzIFt0aWx2YWxnXSA8ZmlsYmVza3JpdmVsc2VzbnVtbWVyPlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAiSMOlbmR0ZXIgZmlsbMOlc2UgZnJhIHNrYWxza3JpcHRlci5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgaGVudCBlbiBkZWx0IGzDpXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBoZW50IGVuIGVrc2tsdXNpdiBsw6VzIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICBmamVybiBlbiBsw6VzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmZWpsIGZyZW0gZm9yIGF0IHZlbnRlXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPHNlay4+ICAgICB2ZW50IGVuIGJlZ3LDpm5zZXQgdGlkXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtbWVyPiAgYWZzbHV0bmluZ3Nrb2RlIGVmdGVyIGtvbmZsaWt0IGVsbGVyIHRpZHN1ZGzDuGJcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgbHVrIGZpbGJlc2tyaXZlbHNlIGbDuHIga8O4cnNlbCBhZiBrb21tYW5kb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxrb21tYW5kbz4ga8O4ciBlbiBlbmtlbCBrb21tYW5kb3N0cmVuZyB2aWEgc2thbGxlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGvDuHIga29tbWFuZG8gdWRlbiBmb3JncmVuaW5nXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICB2w6ZyIG1lcmUgdWRkeWJlbmRlXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgImthbiBpa2tlIMOlYm5lIGzDpXNlZmlsICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInVneWxkaWcgdsOmcmRpIGZvciB0aWRzdWRsw7hiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAidWd5bGRpZyBhZnNsdXRuaW5nc2tvZGUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICJ0aWx2YWxnZW5lIC0tbm8tZm9yayBvZyAtLWNsb3NlIGVyIGlra2Uga29tcGF0aWJsZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzOiBrcsOmdmVyIHByw6ZjaXMgZXQga29tbWFuZG9wYXJhbWV0ZXIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInVneWxkaWcgZmlsYmVza3JpdmVsc2UiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgImtyw6Z2ZXIgZmlsYmVza3JpdmVsc2UsIGZpbCBlbGxlciBtYXBwZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICJrdW5uZSBpa2tlIGhlbnRlIGzDpXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OQorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAidGlkc3VkbMO4YiBtZW5zIGRlciBibGV2IHZlbnRldCBww6UgbMOlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlczogaGVudG5pbmcgYWYgbMOlcyB0b2cgJWxkLiUwNmxkIHNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiBrw7hyZXIgJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8bW9udGVyaW5nc3B1bmt0PlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiU3VzcGVuZGVyIGFkZ2FuZyB0aWwgZXQgZmlsc3lzdGVtLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyeXMgZmlsc3lzdGVtZXRcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIGZqZXJuIGZyeXNuaW5nIGFmIGZpbHN5c3RlbWV0XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgImh2ZXJrZW4gLS1mcmVlemUgZWxsZXIgLS11bmZyZWV6ZSBlciBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGVyIGlra2UgZW4gbWFwcGUiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZyeXNuaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZqZXJuZWxzZSBhZiBmcnlzbmluZyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBlciBpa2tlIGVuIG1hcHBlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBGSVRSSU0gaW9jdGwgbWlzbHlra2VkZXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIlczogJXMgKCU8UFJJdTY0PiBieXRlKSB0cmltbWV0XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxtb250ZXJpbmdzcHVua3Q+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkZqZXJuIHVicnVndGUgYmxva2tlIHDDpSBldCBtb250ZXJldCBmaWxzeXN0ZW0uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbGUgbW9udGVyZWRlIGZpbHN5c3RlbWVyIHNvbSBlciB1bmRlcnN0w7h0dGV0XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxhbnRhbD4gZm9yc2t5ZG5pbmdlbiBpIGJ5dGUgc29tIGRlciBza2FsIGZqZXJuZXMgZnJhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjIKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8YW50YWw+IGFudGFsbGV0IGFmIGJ5dGUgZGVyIHNrYWwgZmplcm5lc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbSwgLS1taW5pbXVtIDxhbnRhbD4gbWluaW11bXNsw6ZuZ2RlbiBmb3IgdWRzdHLDpmtuaW5nZW4gZGVyIHNrYWwgZmplcm5lc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICB2aXMgYW50YWxsZXQgYWYgZmplcm5lZGUgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBtaW5pbWFsIHVkc3Ryw6ZrbmluZ3Nsw6ZuZ2RlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzMxCittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgImludGV0IG1vbnRlcmluZ3NwdW5rdCBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IG9wZXJhdGlvbmVuIGZqZXJuIGVyIGlra2UgdW5kZXJzdMO4dHRldCIKKworIyAoa2FuIG5vayB2w6ZyZSBHTVQgZWxsZXIgbG9rYWwsIG1lbiBsb2thbC10aWQgZ2l2ZXIgc3RhZGlnIG1lbmluZykKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiQW50YWdlciBhdCBtYXNraW51cmV0IGhvbGRlcyBpICVzLXRpZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIkdNVCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAibG9rYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjU0Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKyJBZHZhcnNlbDogVWtlbmR0IHRyZWRqZSBsaW5qZSBpIGFkanRpbWUtZmlsXG4iCisiKEZvcnZlbnRlZGU6IMK7VVRDwqsgZWxsZXIgwrtMT0NBTMKrIGVsbGVyIG5vZ2V0IGxpZ25lbmRlKS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiU2lkc3RlIGhhc3RpZ2hlZHNqdXN0ZXJpbmcgYmxldiBnam9ydCAlbGQgc2VrdW5kZXIgZWZ0ZXIgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJTaWRzdGUga2FsaWJyZXJpbmcgYmxldiBmb3JldGFnZXQgJWxkIHNla3VuZGVyIGVmdGVyIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJNYXNraW51cmV0IGVyIGkgJXMtdGlkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiVmVudGVyIHDDpSBldCB1ci10aWsuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIuLi5zeW5rcm9uaXNlcmluZyBtaXNseWtrZWRlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi5mYW5nZWRlIHVyLXRpa1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICJVZ3lsZGlnZSB2w6ZyZGllciBpIG1hc2tpbnVyOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJNYXNraW51ci10aWQ6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VrdW5kZXIgc2lkZW4gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJUaWQgbMOmc3QgZnJhIG1hc2tpbnVyZXQ6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiU8OmdHRlciBtYXNraW51cmV0IHRpbCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmRlciBzaWRlbiAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICJ0aWQgaG9wcGV0IGJhZ2zDpm5zICUuNmYgc2VrdW5kZXIgdGlsICVsZC4lMDZsZCAtIGxhdmVyIG55dCBtw6VsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAibWlzc2VkZSBkZXQgLSAlbGQuJTA2bGQgZXIgZm9yIGxhbmd0IGVmdGVyICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisiJWxkLiUwNmxkIGVyIHTDpnQgbm9rIHDDpSAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlPDpnQgUlRDIHRpbCAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgdG8gc2V0IHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjgKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAwKSB0byBsb2NrIHRoZSB3YXJwIGZ1bmN0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoJWxkLiUwNmxkLCAlZClcbiIKK21zZ3N0ciAiS2FsZGVyIHNldHRpbWVvZmRheTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCittc2dzdHIgIkthbGRlciBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICJKdXN0ZXJlZGUgaWtrZSBoYXN0aWdoZWRzZmFrdG9yZW4sIGRhIHRpbHZhbGdldCAtLXVwZGF0ZS1kcmlmdCBpa2tlIGJsZXYgYW52ZW5kdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJKdXN0ZXJlciBpa2tlIGhhc3RpZ2hlZHNmYWt0b3JlbiBkYSBzaWRzdGUga2FsaWJyZXJpbmdzdGlkIGVyIG51bCBcbiIKKyJvZyBrYW4gZGVyZm9yIGlra2UgYnJ1Z2VzLiBEZXQgZXIgbsO4ZHZlbmRpZ3QgYXQgc3RhcnRlIFxuIgorImthbGlicmVyaW5nZW4gZm9yZnJhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJKdXN0ZXJlZGUgaWtrZSBoYXN0aWdoZWRzZmFrdG9yZW4sIGRhIGRldCBlciBtaW5kcmUgZW5kIGZpcmUgdGltZXIgc2lkZW4gc2lkc3RlIGthbGlicmVyaW5nLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKyJVcmV0cyBoYXN0aWdoZWRzZmFrdG9yIGJsZXYgYmVyZWduZXQgc29tICVmIHNla3VuZGVyL2TDuGduLlxuIgorIkRldCBlciBhbHQgZm9yIG1lZ2V0LiBOdWxzdGlsbGVyIHRpbCBudWwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIlVyZXQgZHJldiAlZiBzZWt1bmRlciBpIGzDuGJldCBhZiBkZSBzaWRzdGUgJWYgc2VrdW5kZXJcbiIKKyJww6UgdHJvZHMgYWYgZW4gaGFzdGlnaGVkc2Zha3RvciBww6UgJWYgc2VrdW5kZXIvZMO4Z24uXG4iCisiSnVzdGVyZXIgaGFzdGlnaGVkc2Zha3RvcmVuIG1lZCAlZiBzZWt1bmRlci9kw7hnblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIlRpZCBzaWRlbiBzaWRzdGUganVzdGVyaW5nIGVyICVsZCBzZWt1bmRcbiIKK21zZ3N0clsxXSAiVGlkIHNpZGVuIHNpZHN0ZSBqdXN0ZXJpbmcgZXIgJWxkIHNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiQmVyZWduZXQgbWFza2ludXJkcmlmdCBlciAlbGQuJTA2bGQgc2VrdW5kZXJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5ldyAlcyBkYXRhOlxuIgorIiVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXBkYXRlICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIMOlYm5lICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJJbmRzdGlsbGVyIGlra2UgdXJldCBkYSBzaWRzdGUganVzdGVyaW5nc3RpZHNwdW5rdCBlciBudWwsIHPDpSBoaXN0b3Jpa2tlbiBlciB1Z3lsZGlnLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIkluZHN0aWxsZXIgaWtrZSB1cmV0IGRhIHNpZHN0ZSBoYXN0aWdoZWRzZmFrdG9yICVmIGVyIG1lZ2V0IGZvciBow7hqLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJGYW5kdCBpbmdlbiBicnVnYmFyZSB1ci1ncsOmbnNlZmxhZGVyLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiS2FuIGlra2UgdGlsZ8OlIG1hc2tpbnVyZXQgbWVkIG5vZ2VuIGtlbmR0IG1ldG9kZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIkJlbnl0IHRpbHZhbGdldCAtLWRlYnVnIGZvciBhdCBzZSBkZXRhbGplcm5lIGZyYSB2b3JlcyBzw7hnbmluZyBlZnRlciBlbiB0aWxnYW5nc21ldG9kZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJEZW4ga3LDpnZlZGUganVzdGVyaW5nIGVyIG1pbmRyZSBlbmQgw6l0IHNla3VuZCwgc8OlIHZpIHPDpnR0ZXIgaWtrZSB1cmV0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2Ugc3VwZXItYmxvayIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiLS1lcG9jaCBpcyByZXF1aXJlZCBmb3IgLS1zZXRlcG9jaC4iCittc2dzdHIgIi0tZGF0ZSBlciBrcsOmdmV0IC0tc2V0IGVsbGVyIC0tcHJlZGljdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQzCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIkt1bm5lIGlra2Ugc8OmdHRlIHN5c3RlbXVyZXQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIGh3Y2xvY2sgW2Z1bmt0aW9uXSBbdGlsdmFsZy4uLl1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICB2aXMgaSByw6UgdGlsc3RhbmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICB2aXMgU0VMaW51eC1rb250ZWt0c1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIG51bHN0aWwgcG9ydGVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjcKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgYmVncsOmbnMgc8OmdHRldCBhZiBmaWxzeXN0ZW10eXBlclxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBicnVnZXIgVVRDXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIGJydWdlciBsb2thbCB0aWRzem9uZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmlsPiAgICAgYnJ1ZyBlbiBzcGVjaWZpayBmaWwgaSBzdGVkZXQgZm9yICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGRhdGUvdGltZSBpbnB1dCBmb3IgLS1zZXQgYW5kIC0tcHJlZGljdCIKK21zZ3N0ciAiLS1kYXRlIGVyIGtyw6Z2ZXQgLS1zZXQgZWxsZXIgLS1wcmVkaWN0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIGVwb2NoIGlucHV0IGZvciAtLXNldGVwb2NoIgorbXNnc3RyICIgICAgIC0tZXBvY2ggPMOlcj4gICAgIGFuZ2l2ZXIgbWFza2ludXJldHMgZXBva2V2w6ZyZGlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgdXNlICUxJHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICB2aXMgaWtrZSB0ZWtzdGhvdmVkZXJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbD4gICAgIGJydWcgZW4gc3BlY2lmaWsgZmlsIGkgc3RlZGV0IGZvciAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgdMO4ci1rw7hyc2VsOyB1ZGVsYWQgc3lzdGVta2FsZGV0IHVtb3VudCgyKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2aXMgZmxlcmUgZGV0YWxqZXJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICJLdW5uZSBpa2tlIGZvcmJpbmRlIHRpbCByZXZpc2lvbnNzeXN0ZW1ldCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEwCittc2dpZCAidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBoYXMgYmVlbiBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICIlZCBmb3IgbWFuZ2UgcGFyYW1ldHJlIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworIywgZnV6enkKK21zZ2lkICItLXVwZGF0ZS1kcmlmdCByZXF1aXJlcyAtLXNldCBvciAtLXN5c3RvaGMiCittc2dzdHIgIi0tZGF0ZSBlciBrcsOmdmV0IC0tc2V0IGVsbGVyIC0tcHJlZGljdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIk1lZCAtLW5vYWRqZmlsZSBza2FsIGR1IGFuZ2l2ZSBlbnRlbiAtLXV0YyBvciAtLWxvY2FsdGltZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIi0tZGF0ZSBlciBrcsOmdmV0IC0tc2V0IGVsbGVyIC0tcHJlZGljdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJ1Z3lsZGlnIGRhdG8gwrslc8KrIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAiQWt0dWVsIHN5c3RlbXRpZDogJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIlRlc3QgbW9kZTogbm90aGluZyB3YXMgY2hhbmdlZC4iCittc2dzdHIgIlRlc3R0aWxzdGFuZDogdXJldCBibGV2IGlra2Ugw6ZuZHJldFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiSVNBLXBvcnRhZGdhbmcgZXIgaWtrZSBpbXBsZW1lbnRlcmV0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzkxCittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAiaW9wbCgpLXBvcnRhZGdhbmcgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTcKK21zZ2lkICJVc2luZyBkaXJlY3QgSVNBIGFjY2VzcyB0byB0aGUgY2xvY2siCittc2dzdHIgIkJydWdlciBkaXJla3RlIElTQS1hZGdhbmcgdGlsIHVyZXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiUHLDuHZlciBhdCDDpWJuZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTUwIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1MworbXNnaWQgImNhbm5vdCBvcGVuIHJ0YyBkZXZpY2UiCittc2dzdHIgImthbiBpa2tlIMOlYm5lIHJ0Yy1lbmhlZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIHRpbCAlcyBmb3IgYXQgYWZsw6ZzZSB0aWRlbiBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJWZW50ZXIgaSBsw7hra2UgKGxvb3ApIHDDpSBhdCB0aWRlbiBmcmEgJXMgw6ZuZHJlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzMKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJUaWRzdWRsw7hiIG1lbnMgZGVyIHZlbnRlZGVzIHDDpSB0aWRzw6ZuZHJpbmcuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgInNlbGVjdCgpIGFmICVzIGZvciBhdCBhZnZlbnRlIHDDpSBldCB1ci10aWsgdWRsw7hiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgInNlbGVjdCgpIHRpbCAlcyBmb3IgYXQgYWZ2ZW50ZSBldCB1ci10aWsgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSB0aWwgJXMgZm9yIGF0IGFmYnJ5ZGUgb3BkYXRlcmluZ3NpbnRlcnJ1cHRzIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHRpbCAlcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglcykgdGlsICVzIGZvciBhdCBzw6Z0dGUgdGlkZW4gbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBseWtrZWRlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiQnJ1Z2VyIHJ0Yy1ncsOmbnNlZmxhZGVuIHRpbCB1cmV0LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRpbCAlcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIHRpbCAlcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGVwb2NoICclcycuIgorbXNnc3RyICJ1Z3lsZGlnIGRhdG8gwrslc8KrIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdGlsICVzIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdGlsICVzIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIk9wcmV0IGRpdmVyc2UgSVBDLXJlc3NvdXJjZXIuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8c3TDuHJyZWxzZT4gIG9wcmV0IGRlbHQgaHVrb21tZWxzZXNzZWdtZW50IGZvciBzdMO4cnJlbHNlIDxzdMO4cnJlbHNlPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPGFudGFsPiAgb3ByZXQgc2VtYWZvcmVhcnJheSBtZWQgPGFudGFsPiBlbGVtZW50ZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgb3ByZXQgYmVza2Vka8O4XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc2Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPHRpbHN0YW5kPiAgICB0aWxsYWRlbHNlIGZvciByZXNzb3VyY2VuIChzdGFuZGFyZCBlciAwNjQ0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo3MTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBzdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgZWxlbWVudGVyIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAib3ByZXR0ZWxzZSBhZiBkZWx0IGh1a29tbWVsc2UgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJEZWx0IGh1a29tbWVsc2VzLWlkOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgIm9wcmV0dGVsc2UgYWYgYmVza2Vka8O4IG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiQmVza2Vka8O4LWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJvcHJldHRlbHNlIGFmIHNlbWFmb3IgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIlNlbWFmb3ItaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbdGlsdmFsZ11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIkZqZXJuIGJlc3RlbXRlIElQQy1yZXNzb3VyY2VyLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICBmamVybiBkZWx0IGh1a29tbWVsc2Vzc2VnbWVudCBlZnRlciBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxuw7hnbGU+ICAgIGZqZXJuIGRlbHQgaHVrb21tZWxzZXNzZWdtZW50IGVmdGVyIG7DuGdsZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgZmplcm4gYmVza2VkIGVmdGVyIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxuw7hnbGU+ICAgIGZqZXJuIGJlc2tlZGvDuCBlZnRlciBuw7hnbGVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgZmplcm4gc2VtYWZvciBlZnRlciBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlLWtleSA8bsO4Z2xlPiBmamVybiBzZW1hZm9yZSBlZnRlciBuw7hnbGVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIGZqZXJuIGFsbGUgKGkgZGVuIHNwZWNpZmljZXJlZGUga2F0ZWdvcmkpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICB2aXMgaHZhZCBkZXIgc2tlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJmamVybmVyIGRlbHQgaHVrb21tZWxzZXNzZWdtZW50LWlkIMK7JWTCq1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiZmplcm5lciBiZXNrZWRrw7gtaWQgwrslZMKrXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgImZqZXJuZXIgc2VtYWZvci1pZCDCuyVkwqtcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgImFkZ2FuZyB0aWwgbsO4Z2xlIG7Dpmd0ZXQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAiYWRnYW5nIHRpbCBpZCBuw6ZndGV0IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgInVneWxkaWcgbsO4Z2xlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJ1Z3lsZGlndCBpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgImhhciBhbGxlcmVkZSBmamVybmV0IG7DuGdsZSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJpZCBhbGxlcmVkZSBmamVybmV0IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAibsO4Z2xlIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgImlkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgInVneWxkaWd0IGlkOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAicmVzc291cmNlciBzbGV0dGV0XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJ1Z3lsZGlnIG7DuGdsZSAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImtlcm5lbiBlciBpa2tlIGtvbmZpZ3VyZXJldCB0aWwgYnJ1ZyBhZiBkZWx0IGh1a29tbWVsc2UiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAia2VybmVuIGVyIGlra2Uga29uZmlndXJlcmV0IHRpbCBzZW1hZm9yZXIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgImtlcm5lbiBlciBpa2tlIGtvbmZpZ3VyZXJldCB0aWwgYmVza2Vka8O4ZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICJWaXMgaW5mb3JtYXRpb24gb20gSVBDLWZhY2lsaXRldGVyLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICB2aXMgZGV0YWxqZXIgb20gcmVzc291cmNlbiBtZWQgZGV0IGFuZ2l2ZXQgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgIlJlc3NvdXJjZXRpbHZhbGc6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIGRlbHRlIGh1a29tbWVsc2Vzc2VnbWVudGVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZXMgICAgICBiZXNrZWRrw7hlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hZm9yZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICBhbGxlIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICJWaXNuaW5nc2luZHN0aWxsaW5nZXI6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICB2aXMgdGlsLSwgYWZrb2JsaW5ncy0gb2cgw6ZuZHJpbmdzdGlkZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgdmlzIFBJRCdlciBmb3Igb3ByZXR0ZXIgb2cgc2VuZXN0ZSBvcGVyYXTDuHJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICB2aXMgb3ByZXR0ZXIgb2cgZWplclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICB2aXMgcmVzc291cmNlYmVncsOmbnNuaW5nZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICB2aXMgc3RhdHVzcmVmZXJhdFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICB2aXMgc3TDuHJyZWxzZXIgaSBldCBsw6ZzZXZlbmxpZ3QgZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgdmlzIHN0w7hycmVsc2VyIGkgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICJuw6VyIGRlciBicnVnZXMgaWQsIHNrYWwgZW4gZW5rZWx0IHJlc3NvdXJjZSB2w6ZyZSBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAia2FuIGlra2UgaGVudGUgbWFrcy4gYmVncsOmc25pbmdlciBmb3IgZGVsdCBodWtvbW1lbHNlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIEdyw6Zuc2VyIGZvciBkZWx0IGh1a29tbWVsc2UgLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAibWFrcy4gYW50YWwgc2VnbWVudGVyID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjEwCittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJtYWtzLiBzZWctc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAibWFrcy4gc2FtbGV0IGRlbHQgaHVrb21tZWxzZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIm1pbi4gc2VnLXN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJrZXJuZW4gZXIgaWtrZSBrb25maWd1cmVyZXQgdGlsIGJydWcgYWYgZGVsdCBodWtvbW1lbHNlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFN0YXR1cyBmb3IgZGVsdCBodWtvbW1lbHNlIC0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisic2VnbWVudGVyIGFsbG9rZXJldCAlZFxuIgorInNpZGVyIGFsbG9rZXJldCAlbGRcbiIKKyJzaWRlciBoamVtbWVow7hyZW5kZSAgJWxkXG4iCisic2lkZXQgc3dhcHBldCAgICVsZFxuIgorIlN3YXB5ZGVsc2U6ICVsZCBmb3Jzw7hnXHQgJWxkIHN1Y2Nlc3NlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIERlbHRlIGh1a29tbWVsc2Vzc2VnbWVudGVycyBza2FiZXJlL2VqZXJlIC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODYKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAiZHRoaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6MzkyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgInBlcm1zIgorbXNnc3RyICJhZGduZyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLSBEZWx0IGh1a29tbWVsc2UgdGlsLS9hZmtvYmxpbmdzLS/Dpm5kcmluZ3N0aWRlciAtLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjI4NgorIzogc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAib3duZXIiCittc2dzdHIgImVqZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgInRpbGtvYmxldCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiYWZrb2JsZXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiw6ZuZHJldCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gRGVsdCBodWtvbW1lbHNlIHNrYWJlci9TaWRzdGUtb3AgUElEJ2VyIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIERlbHRlIGh1a29tbWVsc2Vzc2VnbWVudGVyIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAia2V5IgorbXNnc3RyICJuw7hnbGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAic3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYnl0ZSIKKworIyBtw6Vza2UgbnRpbHNsCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAiYXRsa2JsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAic3RhdHVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICJJa2tlIHNhdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6OTg3IHN5cy11dGlscy9sc2lwYy5jOjk5MworbXNnaWQgImRlc3QiCittc2dzdHIgIm3DpWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjk4OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDAxCittc2dpZCAibG9ja2VkIgorbXNnc3RyICJsw6VzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAia3VubmUgaWtrZSBoZW50ZSBzZW1hZm9yZ3LDpm5zZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0gU2VtYWZvcmdyw6Zuc2VyICAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibWFrcy4gYW50YWwgdGFiZWxsZXIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtYWtzLiBzZW1hZm9yZXIgcGVyIHRhYmVsID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYWtzLiBzZW1hZm9yZXIgaSBoZWxlIHN5c3RlbWV0ID0gJWRcbiIKKworIyBvcCBlciBvcGVyYXRpb25lcjsgamVnIHN5bmVzIGdvZHQgdmkga2FuIGJydWdlIGRlbiBww6UgZGFuc2sgdWRlbiBmbGVydGFscy1zIChlbGxlciAtcikKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJtYWtzLiBvcCBwZXIgc2Vtb3Ata2FsZCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJtYWtzdsOmcmRpIGZvciBzZW1hZm9yID0gJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgImtlcm5lbiBpa2tlIGtvbmZpZ3VyZXJldCB0aWwgc2VtYWZvcmVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIFNlbWFmb3JzdGF0dXMgIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiYnJ1Z3RlIHRhYmVsbGVyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJhbGxva2VyZWRlIHNlbWFmb3JlciA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIFNlbWFmb3J0YWJlbGxlcnMgc2thYmVyZS9lamVyZSAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcmhhbmRsaW5nL8OmbmRyaW5nc3RpZGVyIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAic2lkc3RvcCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgInNpZHN0LcOmbmRyZXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIFNlbWFmb3J0YWJlbGxlciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtZiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIkt1bm5lIGlra2UgaGVudGUgYmVza2VkZ3LDpm5zZXIuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJlc2tlZGVyIEdyw6Zuc2VyIC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm1ha3MuIGvDuGVyIHDDpSBzeXN0ZW1ldCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAibWFrcy4gYmVza2Vkc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJzdGFuZGFyZCBmb3IgbWFrcy4ga8O4c3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJrZXJuZW4gZXIgaWtrZSBrb25maWd1cmVyZXQgdGlsIGJlc2tlZGvDuGVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJlc2tlZGVyIFN0YXR1cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiYWxsb2tlcmVkZSBrw7hlcj0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiYnJ1Z3RlIGhvdmVkZXIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OAorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgImJydWd0IHBsYWRzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLSBCZXNrZWRrw7hlciBTa2FiZXJlL2VqZXJlICAtLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJia8O4aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBCZXNrZWRrw7hlciBzZW5kL21vZHRhZy/Dpm5kcmluZ3N0aWRlciAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICJzZW5kIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgIm1vZHQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAiY2hhbmdlIgorbXNnc3RyICLDpm5kcm5nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQmVza2Vka8O4ZXJzIFBJRCdlciAgLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tIEJlc2tlZGvDuGVyIC0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJicnVndGUtYnl0ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiYmVza2VkZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgwIHN5cy11dGlscy9pcGNzLmM6NjEwIHN5cy11dGlscy9pcGNzLmM6NjQzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1Mzcgc3lzLXV0aWxzL2xzaXBjLmM6NzI5IHN5cy11dGlscy9sc2lwYy5jOjg4OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImlkICVkIGlra2UgZnVuZGV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZWx0IGh1a29tbWVsc2Vzc2VnbWVudCBkaHNpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJ0aWxzdGFuZD0lI29cdGFkZ2FuZ3NyZXR0PSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgInNpemU9IgorbXNnc3RyICJzdMO4cnJlbHNlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImxwaWQ9JXVcdGNwaWQ9JXVcdGF0dGNoPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJ0aWxrX3RpZD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJmcmFrX3RpZD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLDpm5kcmluZ3NfdGlkPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJNc3FpZCBmb3IgYmVza2Vka8O4PSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0dGlsc3RhbmQ9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc3TDuHJyZWxzZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAicXN0w7hycmVsc2U9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgInFieXRlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInNlbmRfdGlkPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIm1vZHRfdGlkPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFmb3J0YWJlbCBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJ0aWxzdGFuZD0lI28sIGFkZ2FuZ3NyZXR0PSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aWQgID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICLDpnRpZCA9ICUtMjYuMjRzXG4iCisKKyMgc2lnYW50IChzaWduYWxhbnRhbCkgdGlkbGlnZXJlCisjIFNpZ25hbCBwbGVqZXIgYXQgYmxpdmUgZm9ya29ydGV0IHNpZywgZi5la3MuIHNpZ3NlZ3Y6CisjIGh0dHA6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvU0lHU0VHViAuIERldCBlciB0eXBpc2sgZGUgaGVyIHNpZ25hbGVyCisjIGVsbGVyICJpbnRlcnJ1cHRzIiBzb20gcHJvZ3JhbW1lciBrYW4gc2VuZGUgdGlsIGhpbmFuZGVuIChkZXIgZXIKKyMgZ2l2ZXR2aXMgZm9yc2tlbCBww6Ugc2lnbmFsZXIgb2cgaW50ZXJydXB0cywgbWVuIGplZyBrZW5kZXIgaWtrZSBzw6UKKyMgbWVnZXQgdGlsIGRldCkuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtdGFsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInZhbHVlIgorbXNnc3RyICJ2w6ZyZGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuYW50YWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6YW50YWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChieXRlKSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoa2J5dGUpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJ1Z3lsZGlndCBpZmxhZyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIDxsZGlzaz4gPGVuaGVkPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiVmVkaMOmZnQgZW4gbGluamVkaXNjaXBsaW4gdGlsIGVuIHNlcmllbCBsaW5qZS5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICB2aXMgdWRkeWJlbmRlIGJlc2tlZGVyIHRpbCBzdGFuZGFyZGZlamxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHbDpnJkaT4gICAgIGFuZ2l2IHNlcmllbCBsaW5qZWhhc3RpZ2hlZFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyZW5nPiBpbnRybyBzZW5kdCBmw7hyIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIgLXAsIC0tcGF1c2UgPHNla3VuZGVyPiAgcGF1c2UgbWVsbGVtIGludHJvIG9nIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBhbmdpdiB0ZWduc3TDuHJyZWxzZSB0aWwgNyBiaXRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIGFuZ2l2IHRlZ25zdMO4cnJlbHNlIHRpbCA4IGJpdFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBhbmdpdiBwYXJpdGV0IHRpbCBpbmdlblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBhbmdpdiBwYXJpdGV0IHRpbCBsaWdlXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgYW5naXYgcGFyaXRldCB0aWwgdWxpZ2VcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBhbmdpdiBzdG9wLWJpdCB0aWwgZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE2Cittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBhbmdpdiBzdG9wLWJpdCB0aWwgdG9cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE3Cittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIGFuZ2l2IGluZGRhdGF0aWxzdGFuZHNmbGFnXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiS2VuZHRlIDxsZGlzYz4tbmF2bmU6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyNgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiS2VuZHRlIDxpZmxhZz4tbmF2bmU6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgaGFzdGlnaGVkc3BhcmFtZXRlciIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBwYXVzZXBhcmFtZXRlciIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgbGluamVkaXNjaXBsaW5wYXJhbWV0ZXIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgZXIgaWtrZSBlbiBzZXJpZWwgbGluamUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJrYW4gaWtrZSBpbmRoZW50ZSB0ZXJtaW5hbGF0dHJpYnV0dGVyIGZvciAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJoYXN0aWdoZWQgJWQgZXIgaWtrZSB1bmRlcnN0w7h0dGV0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAia2FuIGlra2UgYW5naXZlIHRlcm1pbmFsYXR0cmlidXR0ZXIgZm9yICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgImthbiBpa2tlIHNrcml2ZSBpbnRyb2tvbW1hbmRvIHRpbCAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgImthbiBpa2tlIGFuZ2l2ZSBsaW5qZWRpc2NpcGxpbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAia2FuIGlra2UgZMOmbW9uaXNlcmUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgImZsYWcgZm9yIGF1dG9tYXRpc2sgcnlkbmluZyBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiZW5oZWRzcmVzZXJ2ZWZpbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgImlub2RlLW51bW1lciBmb3IgcmVzZXJ2ZWZpbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJyZXNlcnZlZmlsLW1ham9yOm1pbm9yLWVuaGVkc251bW1lciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgImxvb3AtZW5oZWRzbmF2biIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgImZvcnNreWRuaW5nIGZyYSBiZWd5bmRlbHNlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICJwYXJ0c2Nhbi1mbGFnIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJzdMO4cnJlbHNlc2JlZ3LDpnNuaW5nIGZvciBmaWxlbiBpIGJ5dGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgImxvb3BlbmhlZC1tYWpvcjptaW5vci1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICJ0aWxnw6UgcmVzZXJ2ZWZpbCBtZWQgZGlyZWN0LWlvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImxvZ2lzayBibG9rc3TDuHJyZWxzZSAoc2VrdG9yc3TDuHJyZWxzZSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBmb3Jza3lkbmluZyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBzdMO4cnJlbHNlc2dyw6Zuc2UgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIGtyeXB0ZXJpbmcgJXMgKHR5cGUgJXU+KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBhZmtvYmwgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbdGlsdmFsZ10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbdGlsdmFsZ10gLWYgfCA8bG9vcGRldj4gPGZpbD5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICJPcHPDpnQgb2cga29udHJvbGxlciBsb29wZW5oZWRlci5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICB2aXMgYWxsZSBhbnZlbmR0ZSBlbmhlZGVyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBhZmtvYmwgZW4gZWxsZXIgZmxlcmUgZW5oZWRlclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgYWZrb2JsIGFsbGUgYnJ1Z3RlIGVuaGVkZXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGbDuHJzdGUgdWJydWd0ZSBlbmhlZFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgw6ZuZHIgc3TDuHJyZWxzZSBww6UgZW5oZWRlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbD4gICAgICAgIHZpcyBhbGxlIGVuaGVkZXIgYXNzb2NpZXJldCBtZWQgPGZpbD5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDgKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICB1bmRnw6UgbXVsaWcga29uZmxpa3QgbWVsbGVtIGVuaGVkZXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgdmVkIGZvcnNreWRuaW5nIDxudW0+IGluZGUgaSBmaWxlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZW5oZWQgZXIgYmVncsOmbnNldCB0aWwgPG51bT4gYnl0ZSBhZiBmaWxlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c3RyPiAgICAgICBmeXNpc2sgb2cgbG9naXNrIHNla3RvcnN0w7hycmVsc2VcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIG9wcmV0IGVuIHBhcnRpb25zb3BkZWx0IGxvb3AtZW5oZWRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBvcHPDpnQgZW4gc2tyaXZlYmVza3l0dGV0IGxvb3AtZW5oZWRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgw6VibiByZXNlcnZlZmlsIG1lZCBPX0RJUkVDVFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHZpcyBlbmhlZHNuYXZuIGVmdGVyIG9wc8OmdG5pbmcgKG1lZCAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB1ZGR5YmVuZGUgdGlsc3RhbmRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIGJydWcgSlNPTiAtLWxpc3QgdWRkYXRhZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgdmlzIGluZm9ybWF0aW9uIG9tIGFsbGUgZWxsZXIgc3BlY2lmaWNlcmVkZSAoc3RhbmRhcmQpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI1Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICB2aXMgaWtrZSB0ZWtzdGhvdmVkZXIgZm9yIC0tbGlzdCBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjYKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGtvbG9ubmVyPiAgICAgICBzcGVjaWZpY2VyIGtvbG9ubmVyIGF0IHZpc2UgZm9yIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICBicnVnIHLDpSAtLWxpc3QgdWRkYXRhZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVzOiBBZHZhcnNlbDogZmlsIGVyIG1pbmRyZSBlbmQgNTEyIGJ5dGU7IGxvb3AtZW5oZWRlbiBrYW4gdsOmcmUgdWJydWdlbGlnIGVsbGVyIHVzeW5saWcgZm9yIHN5c3RlbXbDpnJrdMO4amVyLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiJXM6IEFkdmFyc2VsOiBmaWwgcGFzc2VyIGlra2UgcMOlIGVuIDUxMi1ieXRlIHNla3Rvcjsgc2x1dG5pbmdlbiBhZiBmaWxlbiB2aWwgYmxpdmUgaWdub3JlcmV0LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGRlciBlciBvdmVybGFwcGVuZGUgbMO4a2tlbmhlZGVyIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGRlciBlciBvdmVybGFwcGVuZGUgc2tyaXZlYmVza3l0dGVkZSBsw7hra2VuaGVkZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogZGVyIGVyIG92ZXJsYXBwZW5kZSBrcnlwdGVyZWRlIGzDuGtrZWVuaGVkZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBnZW5icnVnZSBsw7hra2VlbmhlZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImt1bm5lIGlra2UgaW5zcGljZXJlIGzDuGtrZWVuaGVkZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2Uga29udHJvbGxlcmUgZm9yIGzDuGtrZWVuaGVkZXIgbWVkIGtvbmZsaWt0ZXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTQyIHN5cy11dGlscy9sb3NldHVwLmM6ODQ3Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICJrYW4gaWtrZSBmaW5kZSB1YnJ1Z3QgbG9vcC1lbmhlZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczoga3VubmUgaWtrZSBicnVnZSByZXNlcnZlZmlsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGJydWdlIGVuaGVkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gbG9vcC1lbmhlZCBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAidGlsdmFsZ2VuZSAlcyBlciBrdW4gdGlsbGFkdCB1bmRlciBvcHPDpnRuaW5nIGFmIGxvb3AtZW5oZWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgInRpbHZhbGdldCAtLW9mZnNldCBlciBpa2tlIHRpbGxhZHQgaSBkZW5uZSBrb250ZWtzdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiBzw6Z0IGZ1bmt0aW9uIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzOiBhbmdpdiBkaXJla3RlIGlvIG1pc2x5a2tlZGVzIgorCisjIEhlbnQgc3TDuHJyZWxzZSBtaXNseWtrZWRlcworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEt1bm5lIGlra2UgZmluZGUgc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKK21zZ2lkICJub25lIgorbXNnc3RyICJpbmdlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICJwYXJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgImZ1bGQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk4Cittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICJjb250YWluZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgInZhbmRyZXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICJsb2RyZXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAibG9naXNrIENQVS1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgImxvZ2lzayBrZXJuZW51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJsb2dpc2sgc29ra2VsbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgImxvZ2lzayBOVU1BLWtudWRlbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTgKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJsb2dpc2sgYm9nbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgImxvZ2lzayBza3VmZmVudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgInZpc2VyIGh2b3JkYW4gbWVsbGVtbGFncmUgZGVsZXMgbWVsbGVtIENQVSdlciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiQ1BVLWFmc2VuZGVsc2VzdGlsc3RhbmQgcMOlIHZpcnR1ZWx0IHVkc3R5ciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiZnlzaXNrIGFkcmVzc2UgZm9yIGVuIGNwdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJ2aXNlciBvbSBoeXBlcnZpc29yZW4gaGFyIGFsbG9rZXJlcmV0IGNwdSdlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJ2aXNlciBvbSBMaW51eCBpIMO4amVibGlra2V0IGfDuHIgYnJ1ZyBhZiBDUFUnZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNQorbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJ2aXNlciBtYWtzaW11bS1NSFogZm9yIGNwdSdlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgInZpc2VyIG1pbmltdW0tTUhaIGZvciBjcHUnZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgImZlamw6IHVuYW1lIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgImt1bm5lIGlra2UgYmVzdGVtbWUgYW50YWxsZXQgYWYgQ1BVJ2VyOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImthbiBpa2tlIGdlbnNrYWJlIHNpZ25hbGjDpW5kdGVyaW5nZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEzMDcKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIkt1bm5lIGlra2UgdWR0csOma2tlIGtudWRlbnVtbWVyZXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIlkiCittc2dzdHIgIkoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyBEZXQgZsO4bGdlbmRlIGVyIGZvcnRvbGtuaW5nc2Zvcm1hdGV0LCBzb20ga2FuIHNlbmRlcyB0aWwgYW5kcmVcbiIKKyIjIHByb2dyYW1tZXIuIEh2ZXJ0IGVsZW1lbnQgaSBrb2xvbm5lcm5lIGhhciBlbiB1bmlrIGlkIGRlclxuIgorIiMgc3RhcnRlciBmcmEgbnVsLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJraXRla3R1cjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIk9wLXRpbHN0YW5kZSBmb3IgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzQyCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIkJ5dGVyw6Zra2Vmw7hsZ2U6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVJ2VyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJUaWxrb2JsZXQgY3B1KGVyKSBtYXNrZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDgKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiVGlsa29ibGV0IGNwdShlcikgbGlzdGU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJGcmFrb2JsZXQgY3B1KGVyKSBtYXNrZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjgKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkZyYWtvYmxldCBjcHUoZXIpIGxpc3RlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMworbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIlRyw6VkZSBwZXIga2VybmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiS2VybmVyIHBlciBzb2trZWw6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiU29rbGVyIHBlciBib2c6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiQsO4Z2VyIHBlciBza3VmZmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiU2t1ZmZlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiQsO4Z2VyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIlNva2xlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOVU1BLWtudWRlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJMZXZlcmFuZMO4ci1pZDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJNYXNraW50eXBlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJDUFUtZmFtaWxpZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZGVsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJNb2RlbG5hdm46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICJNb2RlbHNlcmllOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzOAorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIkNQVSBkeW5hbWlzayBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJDUFUgc3RhdGlzayBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQyCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUgbWFrcy4gTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIG1pbi4gTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NgorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ5IHN5cy11dGlscy9sc2NwdS5jOjE4NTEKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIlZpcnR1YWxpc2F0aW9uOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIeXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiSHlwZXJ2aXNvcmxldmVyYW5kw7hyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NworbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJWaXJ0dWFsaXNhdGlvbnN0eXBlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MAorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICJBZnNlbmRlbHNlc3RpbHN0YW5kOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NCBzeXMtdXRpbHMvbHNjcHUuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiJXMgbWVsbGVtbGFnZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIk5VTUEta251ZGVyJWQgQ1BVJ2VyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJGeXNpc2tlIHNva2xlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkZ5c2lza2UgY2hpcDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiRnlzaXNrZSBrZXJuZXIvY2hpcDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODgKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkZsYWc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiVmlzIGluZm9ybWF0aW9uIG9tIENQVS1hcmtpdGVrdHVyZW4uXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB2aXMgYsOlZGUgdGlsa29ibGVkZSBvZyBmcmFrb2JsZWRlIGNwdSdlciAoc3RhbmRhcmQgZm9yIC1lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAgdmlzIGt1biB0aWxrb2JsZWRlIGNwdSdlciAoc3RhbmRhcmQgZm9yIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICB2aXMga3VuIGZyYWtvYmxlZGUgY3B1J2VyXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICBicnVnIEpTT04gZm9yIHN0YW5kYXJkZm9ybWF0ZXQgZWxsZXIgZGV0IHVkdmlkZWRlIGZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdGU+XSB2aXMga3VuIGV0IHVkdmlkZXQgbMOmc2JhcnQgZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9PGxpc3RlPl0gICB2aXMga3VuIGV0IGZvcm1hdCBkZXIga2FuIGZvcnRvbGtlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxtYXBwZT4gICBicnVnIHNwZWNpZmljZXJldCBtYXBwZSBzb20gc3lzdGVtLXJvb3RcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAteCwgLS1oZXggICAgICAgICAgICAgICB2aXMgaGV4YWRlY2ltYWwgbWFza2VyIGZyZW0gZm9yIGxpc3RlciBtZWQgY3B1J2VyXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgdWRza3JpdiBmeXNpc2sgaSBzdGVkZXQgZm9yIGxvZ2lza2UgSUQnZXJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiVzOiB0aWx2YWxnIC1hbGwsIC0tb25saW5lIG9nIC0tb2ZmbGluZSBrYW4ga3VuIGJydWdlcyBtZWQgdGlsdmFsZ2VuZSAtLWV4dGVuZGVkIGVsbGVyIC0tcGFyc2UuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiUmVzc291cmNlbsO4Z2xlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJLZXkiCittc2dzdHIgIk7DuGdsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIlJlc3NvdXJjZS1pZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIklEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiRWplcnMgYnJ1Z2VybmF2biBlbGxlciBVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJFamVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAiVGlsbGFkZWxzZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICJPcHJldHRlci1VSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiT3ByZXR0ZXJicnVnZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICJPcHJldHRlci1HSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIk9wcmV0dGVyZ3J1cHBlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJCcnVnZXItaWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIkJydWdlcm5hdm4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICJHcnVwcGUtaWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJHcnVwcGVuYXZuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiVGlkc3B1bmt0IGZvciBzaWRzdGUgw6ZuZHJpbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJTaWRzdGUgw6ZuZHJpbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIkJ5dGUgaSBicnVnIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIkFudGFsbGV0IGFmIGJlc2tlZGVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiQmVza2VkZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiVGlkc3B1bmt0IGZvciBzaWRzdGUgc2VuZHQgYmVza2VkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiQmVza2VkIHNlbmR0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJUaWRzcHVua3QgZm9yIHNpZHN0IG1vZHRhZ2V0IGJlc2tlZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICJCZXNrZWQgbW9kdGFnZXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICJQSUQgZm9yIHNpZHN0ZSBiZXNrZWRhZnNlbmRlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiQmVza2VkYWZzZW5kZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIlBJRCBmb3IgZGVuIHNpZHN0ZSBiZXNrZWRtb2R0YWdlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICJCZXNrZWRtb2R0YWdlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJTZWdtZW50c3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiQW50YWxsZXQgYWYgdmVkaMOmZnRlZGUgcHJvY2Vzc2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIlZlZGjDpmZ0ZWRlIHByb2Nlc3NlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICJTdGF0dXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJWZWRow6ZmdC10aWRzcHVua3QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJBZmtvYmwtdGlkc3B1bmt0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiT3ByZXR0ZXIta29tbWFuZG9saW5qZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJPcHJldHRlci1rb21tYW5kbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgZm9yIG9wcmV0dGVyZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICJPcHJldHRlci1QSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIlBJRCBmb3IgZGVuIHNpZHN0ZSBicnVnZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgIlNpZHN0ZSBicnVnZXItUElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiQW50YWxsZXQgYWYgc2VtYWZvcmVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW1hZm9yZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJUaWRzcHVua3QgZm9yIGRlbiBzaWRzdGUgb3BlcmF0aW9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiU2lkc3RlIG9wZXJhdGlvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiUmVzc291cmNlbmF2biIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIlJlc3NvdXJjZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIlJlc3NvdXJjZWJlc2tyaXZlbHNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiQmVza3JpdmVsc2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJCcnVndCBsaWdlIG51IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICJCcnVndCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJCcnVnc3Byb2NlbnQgbGlnZSBudSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJCcnVnIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiQmVncsOmbnNuaW5nIGZvciBoZWxlIHN5c3RlbWV0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiQmVncsOmbnNuaW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICJrb2xvbm5lbiAlcyBnw6ZsZGVyIGlra2UgZm9yIGRlbiBzcGVjaWZpY2VyZWRlIElQQyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gb20gYnJ1ZyBww6UgaGVsZSBzeXN0ZW1lciAoa2FuIGJydWdlcyBtZWQgLW0sIC1xIG9nIC1zKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gICAgIHZpcyBkZXRhbGplciBvbSByZXNzb3VyY2VuIG1lZCBkZXQgYW5naXZldCA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICB1ZHNrcml2IFNUw5hSUkVMU0UgaSBieXRlIGZyZW0gZm9yIGkgZXQgbMOmc2V2ZW5saWd0IGZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICB2aXMgb3ByZXR0ZXIgb2cgZWplclxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgYnJ1ZyBKU09OLXVkZGF0YWZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZyZW10dmluZyBsaXN0ZWZvcm1hdCAoZm9yIGVrc2VtcGVsIG1lZCAtLWlkKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICB2aXMgbnVtZXJpc2tlIHRpbGxhZGVsc2VyIChQRVJNUy1rb2xvbm5lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHZpcyB0aWwtLCBhZmtvYmxpbmdzLSBvZyDDpm5kcmluZ3N0aWRlclxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkdlbmVyaXNrZSBrb2xvbm5lcjpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlbHRlIGh1a29tbWVsc2Vza29sb25uZXIgKC0tc2htZW1zKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIktvbG9ubmVyIGZvciBiZXNrZWRrw7ggKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFmb3Jrb2xvbm5lciAoLS1zZW1hcGhvcmVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk92ZXJzaWd0c2tvbG9ubmVyICgtLWdsb2JhbCk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJFbGVtZW50ZXI6XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgZGF0YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiQW50YWxsZXQgYWYgc2VtYWZvcmlkZW50aWZpa2F0aW9uZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJTYW1sZXQgYW50YWwgc2VtYWZvcmVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIk1ha3MuIHNlbWFmb3JlciBwZXIgc2VtYWZvcnPDpnQuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJNYWtzLiBhbnRhbCBvcGVyYXRpb25lciBwZXIgc2Vtb3AoMikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNgorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIlNlbWFmb3IgbWFrcy4gdsOmcmRpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIkFudGFsbGV0IGFmIGJlc2tlZGvDuGVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIk1ha3MuIGJlc2tlZHN0w7hycmVsc2UgKGJ5dGUpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIlN0YW5kYXJkIGZvciBtYWtzLiBrw7hzdMO4cnJlbHNlIChieXRlKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAibm9yZXNlcnZlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDcyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiRGVsdGUgaHVrb21tZWxzZXNzZWdtZW50ZXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJEZWx0ZSBodWtvbW1lbHNlc3NpZGVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc0Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIk1ha3MuIHN0w7hycmVsc2UgcMOlIGRlbHQgaHVrb21tZWxzZXNzZWdtZW50IChieXRlKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJNaW4uIHN0w7hycmVsc2UgcMOlIGRlbHQgaHVrb21tZWxzZXNzZWdtZW50IChieXRlKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTE0NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBJUEMtaWRlbnRpZmlrYXRpb24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiLS1nbG9iYWwgZXIgZ2Vuc2lkaWcgdWRlbHVra2VuZGUgbWVkIC0tY3JlYXRvciwgLS1pZCBvZyAtLXRpbWUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJzdGFydC0gb2cgc2x1dGFkcmVzc2UgZm9yIGh1a29tbWVsc2VzaW50ZXJ2YWxsZXQiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAic3TDuHJyZWxzZSBww6UgaHVrb21tZWxzZXNpbnRlcnZhbCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJuZXRhZGdhbmdzc3RhdHVzIGZvciBodWtvbW1lbHNlc2ludGVydmFsIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICJodWtvbW1lbHNlIGthbiBmamVybmVzIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAiaHVrb21tZWxzZXNibG9rbnVtbWVyIGVsbGVyIGJsb2tpbnRlcnZhbCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMzCittc2dpZCAibnVtYSBub2RlIG9mIG1lbW9yeSIKK21zZ3N0ciAibnVtYS1rbnVkZSBmb3IgaHVrb21tZWxzZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInZhbGlkIHpvbmVzIGZvciB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJzdMO4cnJlbHNlIHDDpSBodWtvbW1lbHNlc2ludGVydmFsIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgIm5ldGFkZ2FuZyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCittc2dpZCAib2ZmbGluZSIKK21zZ3N0ciAidWRlbiBuZXRhZGdhbmciCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIm9uLT5vZmYiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgIkh1a29tbWVsc2VzYmxva3N0w7hycmVsc2U6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjMgc3lzLXV0aWxzL2xzbWVtLmM6MzMzCittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgIlNhbWxldCBodWtvbW1lbHNlIHZpYSBuZXR0ZXQ6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICJTYW1sZXQgaHVrb21tZWxzZSB1ZGVuIG5ldHRldDoiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyIKK21zZ3N0ciAiS3VubmUgaWtrZSDDpWJuZSAlcyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDcyCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICJEZXR0ZSBzeXN0ZW0gdW5kZXJzdMO4dHRlciBpa2tlIGh1a29tbWVsc2VzYmxva2tlIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIlZpcyBpbnRlcnZhbGxlcm5lIG92ZXIgdGlsZ8OmbmdlbGlnIGh1a29tbWVsc2UgbWVkIGRlcmVzIG5ldHN0YXR1cy5cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIHZpcyBodmVyIGluZGl2aWR1ZWwgaHVrb21tZWxzZXNibG9rXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICAgIHJlc3VsdGF0a29sb25uZXJcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8bWFwcGU+IGJydWcgc3BlY2lmaWNlcmV0IG1hcHBlIHNvbSBzeXN0ZW0tcm9vdFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTEKK21zZ2lkICIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSB2aXMgb3ZlcnNpZ3RzaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBlbGxlciBvbmx5KVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXN1bW1hcnkgYXJndW1lbnQiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCAtLXN1bW1hcnktcGFyYW1ldGVyIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKK21zZ2lkICJvcHRpb25zIC0te3Jhdyxqc29uLHBhaXJzfSBhbmQgLS1zdW1tYXJ5PW9ubHkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAidGlsdmFsZyAtLXtyYXcsanNvbixwYWlyc30gb2cgLS1zdW1tYXJ5PW9ubHkgdWRlbHVra2VyIGhpbmFuZGVuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImt1bm5lIGlra2UgaW5pdGlhbGlzZXJlIHVkZGF0YXRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJLdW5uZSBpa2tlIGluaXRpYWxpc2VyZSB1ZGRhdGFrb2xvbm5lIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjk5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIm5hdm5lcnVtc2lkZW50aWZpa2F0aW9uIChpbm9kZS1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwCittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgInR5cGVuIHDDpSBuYXZuZXJ1bW1ldCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDEKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgInN0aSB0aWwgbmF2bmVydW1tZXQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJhbnRhbCBwcm9jZXNzZXIga8O4cnQgaSBuYXZuZXJ1bW1ldCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDMKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgImxhdmVzdGUgUElEIGkgbmF2bmVydW1tZXQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElEIGZvciBQSUQnZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgImtvbW1hbmRvbGluamVuIGZvciBQSUQnZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIlVJRCBmb3IgUElEJ2VuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNworbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgImJydWdlcm5hdm4gZm9yIFBJRCdlbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDgKK21zZ2lkICJuYW1lc3BhY2UgSUQgYXMgdXNlZCBieSBuZXR3b3JrIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAiIgorCisjIG3DpXNrZSB1ZHNrcmlmdAorIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJrdW5uZSBpa2tlIHRpbGbDuGplIGxpbmplIHRpbCB1ZGRhdGEiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFs8bmF2bmVydW0+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIlZpcyBzeXN0ZW1uYXZuZXJ1bS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgdmlzIHByb2Nlc25hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBza3JpdiBpa2tlIHRpbCAvZXRjL210YWJcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPG5hdm4+ICAgICAgbmF2bmVydW1zdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91b3ApXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAidWtlbmR0IG5hdm5lcnVtc3R5cGUgJXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNAorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAidGlsdmFsZ2V0IC0tdGFzayBvZyA8bmF2bmVydW0+IHVkZWx1a2tlciBoaW5hbmRlbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgbmF2bmVydW1zcGFyYW1ldGVyIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICJpa2tlIGZ1bmRldCBuYXZuZXJ1bTogJWp1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgImt1biByb290IGthbiBicnVnZSB0aWx2YWxnZXQgwrstLSVzwqsgKGVmZmVrdGl2IFVJRCBlciAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiZGV0dGUga2FuIGt1biByb290IGfDuHJlIChlZmZla3RpdiBVSUQgZXIgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAia3VuIHJvb3Qga2FuIGJydWdlIHRpbHZhbGdldCDCuy0tJXPCqyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiZGV0dGUga2FuIGt1biByb290IGfDuHJlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIGZyYSAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgbXRhYiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkxIHN5cy11dGlscy91bW91bnQuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiJS0yNXM6IGlnbm9yZXJldFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czogYWxsZXJlZGUgbW9udGVyZXRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIGZseXR0ZXQgdGlsICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgYnVuZGV0IHDDpSAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIG1vbnRlcmV0IHDDpSAlcy5cbiIKKworIyBobW0uICBVbXVsaWd0IGF0IHZpZGUgb20gZGV0IGVyICVzLXByb3BhLi4uLgorIzogc3lzLXV0aWxzL21vdW50LmM6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlczogJXMtcHJvcGFnYXRpb25zZmxhZyDDpm5kcmVkZSBzaWcuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBpbmRlaG9sZGVyIGlra2UgU0VMaW51eC1ldGlrZXR0ZXIuXG4iCisiICAgICAgIER1IGhhciBuZXRvcCBtb250ZXJldCBldCBmaWxzeXN0ZW0sIHNvbSB1bmRlcnN0w7h0dGVyIGV0aWtldHRlciwgc29tXG4iCisiICAgICAgIGlra2UgaW5kZWhvbGRlciBldGlrZXR0ZXIsIHDDpSBlbiBTRUxpbnV4LWJva3MuIERldCBlciBzYW5kc3lubGlndCwgYXRcbiIKKyIgICAgICAgaW5kc2tyw6Zua2VkZSBwcm9ncmFtbWVyIHZpbCBvcHJldHRlIEFWQy1iZXNrZWRlciBvZyBpa2tlIHZpbCBmw6UgYWRnYW5nXG4iCisiICAgICAgIHRpbCBkZXR0ZSBmaWxzeXN0ZW0uIEZvciB5ZGVybGlnZXJlIGRldGFsamVyIHNlIHJlc3RvcmVjb24oOCkgb2dcbiIKKyIgICAgICAgbW91bnQoOCkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMwNyBzeXMtdXRpbHMvdW1vdW50LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgIiVzOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBLdW5uZSBpa2tlIGZvcnRvbGtlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCB0aWx2YWxnc2Zvcm1hdDogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJrdW5uZSBpa2tlIHRpbGbDuGplIHRpbHZhbGcgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbdGlsdmFsZ11cbiIKKyIgJTEkcyBbdGlsdmFsZ10gWy0tc291cmNlXSA8a2lsZGU+IHwgWy0tdGFyZ2V0XSA8bWFwcGU+XG4iCisiICUxJHMgW3RpbHZhbGddIDxraWxkZT4gPG1hcHBlPlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb250ZXJpbmdzcHVua3Q+IFs8bcOlbD5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTW9udGVyIGV0IGZpbHN5c3RlbS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb250ZXIgYWxsZSBmaWxzeXN0ZW1lciBuw6Z2bnQgaSBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBrYW5vbmlzZXIgaWtrZSBzdGllclxuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICB0w7hyIGvDuHJzZWw7IHVkZWxhZCBtb3VudCgyKS1zeXN0ZW1rYWxkZXRcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yZ3JlbiBodmVyIGVuaGVkIChicnVnIG1lZCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHN0aT4gICAgICAgYWx0ZXJuYXRpdiBmaWwgdGlsIC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAga2FsZCBpa2tlIG1vdW50Ljx0eXBlPi1oasOmbHBlcHJvZ3JhbW1lcm5lXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICB2aXMgb2dzw6UgZmlsc3lzdGVtZXRpa2V0dGVyXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgc2tyaXYgaWtrZSB0aWwgL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdGU+ICAga29tbWFhZHNraWx0IGxpc3RlIG1lZCBtb250ZXJpbmdzdGlsdmFsZ1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RlPiBiZWdyw6ZucyBzw6Z0dGV0IGFmIGZpbHN5c3RlbWVyIChicnVnIG1lZCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW9udGVyIGZpbHN5c3RlbWV0IHNrcml2ZWJlc2t5dHRldCAoZGV0IHNhbW1lIHNvbSAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgYmVncsOmbnMgc8OmdHRldCBhZiBmaWxzeXN0ZW10eXBlclxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgc3BlY2lmaWNlcmVyIGVrc3BsaWNpdCBraWxkZSAoc3RpLCBldGlrZXQsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8bcOlbD4gICAgICBzcGVjaWZpY2VyZXIgZWtzcGxpY2l0IG1vbnRlcmluZ3NwdW5rdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgdmlzIGh2YWQgZGVyIHNrZXJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW9udGVyIGZpbHN5c3RlbWV0IGzDpnMvc2tyaXYgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisiS2lsZGU6XG4iCisiIC1MLCAtLWxhYmVsIDxldGlrZXQ+ICAgIHN5bm9ueW0gZm9yIExBQkVMPTxldGlrZXQ+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxldGlrZXQ+ICAgICAgICAgIHNwZWNpZmljZXJlciBlbmhlZCBlZnRlciBmaWxzeXN0ZW1ldGlrZXRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWNlcmVyIGVuaGVkIGVmdGVyIGZpbHN5c3RlbS1VVUlEXG4iCisiIFBBUlRMQUJFTD08ZXRpa2V0PiAgICAgIHNwZWNpZmljZXJlciBlbmhlZCBlZnRlciBwYXJ0aXRpb25zZXRpa2VsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmljZXJlciBlbmhlZCBlZnRlciBwYXJ0aXRpb25zLVVVSURcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorIiA8ZW5oZWQ+ICAgICAgICAgICAgICAgICBzcGVjaWZpY2VyZXIgZW5oZWQgZWZ0ZXIgc3RpXG4iCisiIDxtYXBwZT4gICAgICAgICAgICAgICAgIG1vbnRlcmluZ3NwdW5rdCBmb3IgYmluZC1tb250ZXJpbmdlciAoc2UgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsPiAgICAgICAgICAgICAgICAgICBub3JtYWwgZmlsIGZvciBsb29wZGV2LW9wc8OmdG5pbmdcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wZXJhdGlvbmVyOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb250ZXIgZXQgdW5kZXJ0csOmIGV0IGFuZGV0IHN0ZWQgKHN2YXJlciB0aWwgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgZmx5dCB0aWwgZXQgdW5kZXJ0csOmIGV0IGFuZGV0IHN0ZWRcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW9udGVyIGV0IHVuZGVydHLDpiBvZyBhbGxlIHVuZGVybW9udGVyaW5nZXIgZXQgYW5kZXQgc3RlZFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFya2VyIGV0IHVuZGVydHLDpiBzb20gZGVsdFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrZXIgZXQgdW5kZXJ0csOmIHNvbSBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrZXIgZXQgdW5kZXJ0csOmIHNvbSBwcml2YXRcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFya2VyIGV0IHVuZGVydHLDpiBzb20gb20gZGV0IGlra2Uga2FuIGJpbmRlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVrdXJzaXZ0IG1hcmtlciBldCBoZWx0IHVuZGVydHLDpiBzb20gZGVsdFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWt1cnNpdnQgbWFya2VyIGV0IGhlbHQgdW5kZXJ0csOmIHNvbSBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWt1cnNpdnQgbWFya2VyIGV0IGhlbHQgdW5kZXJ0csOmIHNvbSBwcml2YXRcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVrdXJzaXZ0IG1hcmtlciBldCBoZWx0IHVuZGVydHLDpiBzb20gb20gZGV0IGlra2Uga2FuIGJpbmRlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImtvbnRla3N0YWxsb2tlcmluZyBmb3IgbGlibW91bnQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIHRpbHZhbGdzbcO4bnN0ZXIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImtpbGRlIHNwZWNpZmljZXJldCBtZXJlIGVuZCBlbiBnYW5nIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC9zdGkvdGlsL21hcHBlXG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICJLb250cm9sbGVyIG9tIGVuIG1hcHBlIGVsbGVyIGZpbCBlciBldCBtb250ZXJpbmdzcHVua3QuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHN0aWxsZSB0aWxzdGFuZCAtIHZpcyBpa2tlIG5vZ2V0XG4iCisiIC1kLCAtLWZzLWRldm5vICAgICB2aXMgbWFqOm1pbi1lbmhlZHNudW1tZXIgZm9yIGZpbHN5c3RlbWV0XG4iCisiIC14LCAtLWRldm5vICAgICAgICB2aXMgbWFqOm1pbi1lbmhlZHNudW1tZXIgZm9yIGJsb2tlbmhlZGVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXM6IGVyIGlra2UgZXQgbW9udGVyaW5nc3B1bmt0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBlciBldCBtb250ZXJpbmdzcHVua3RcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MyBzeXMtdXRpbHMvc2V0YXJjaC5jOjkyIHN5cy11dGlscy91bnNoYXJlLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWzxwcm9ncmFtPiBbPHBhcmFtZXRyZT4gLi4uXV1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiS8O4ciBldCBwcm9ncmFtIG1lZCBuYXZuZXJ1bSBmb3IgYW5kcmUgcHJvY2Vzc2VyLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZW50ZXIgYWxsIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgaW5kdGFzdCBhbGxlIG5hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIG3DpWxwcm9jZXMgYXQgaGVudGUgbmF2bmVydW0gZnJhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50IFs9PGZpbD5dICAgZ8OlIGkgbW9udGVyaW5nc25hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxmaWw+XSAgICAgIGfDpSBpIFVUUy1uYXZuZXJ1bSAodsOmcnRzbmF2biBldGMpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxmaWw+XSAgICAgIGfDpSBpIFN5c3RlbSBWIElQQy1uYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PGZpbD5dICAgICAgZ8OlIGkgbmV0dsOmcmtzbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGZpbD5dICAgICAgZ8OlIGkgcGlkLW5hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxmaWw+XSAgIGfDpSBpIGNncm91cC1uYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxmaWw+XSAgICAgZ8OlIGkgYnJ1Z2VybmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgYW5naXYgdWlkIGkgaW5kdGFzdGV0IG5hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIGFuZ2l2IGdpZCBpIGluZHRhc3RldCBuYXZuZXJ1bVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIHLDuHJlciBpa2tlIHVpZCdlciBlbGxlciBnaWQnZXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTxtYXBwZT5dICAgYW5naXYgcm9kbWFwcGVuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PG1hcHBlPl0gICAgIGFuZ2l2IGFyYmVqZHNtYXBwZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZm9yZ3JlbiBpa2tlIGbDuHIga8O4cnNlbCBhZiA8cHJvZ3JhbT5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBhbmdpdiBTRUxpbnV4LWtvbnRla3N0IGrDpnZuZsO4ciAtLXRhcmdldCBQSURcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgImh2ZXJrZW4gZmlsbmF2biBlbGxlciBtw6VsLXBpZCBhbmdpdmV0IGZvciAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHVpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGdpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiaW5nZW4gbcOlbC1QSUQgYW5naXZldCBmb3IgLS1mb2xsb3ctY29udGV4dCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgImt1bm5lIGlra2UgaGVudGUgJWQgU0VMaW51eC1rb250ZWtzdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgZXhlYy1rb250ZWtzdCB0aWwgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM2MQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAiaW5nZW4gbcOlbC1QSUQgYW5naXZldCBmb3IgLS1hbGwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiZ2VuYXNzb2NpZXJpbmcgdGlsIG5hdm5lcnVtIMK7JXPCqyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJrYW4gaWtrZSDDpWJuZSBudXbDpnJlbmRlIGFyYmVqZHNtYXBwZSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiw6ZuZHJpbmcgYWYgbWFwcGUgbWVkIHJvZGZpbGJlc2tyaXZlciBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NTEKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaHJvb3QgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDYxCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLDpm5kcmluZyBhZiBtYXBwZSBtZWQgYXJiZWpkc21hcHBlZmlsYmVza3JpdmVyIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBuZXdfcm9vdCBwdXRfb2xkXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiw4ZuZHIgcm9kZmlsc3lzdGVtZXQuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJrdW5uZSBpa2tlIMOmbmRyZSByb290IGZyYSDCuyVzwqsgdGlsIMK7JXPCqyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImJlZ3LDpm5zbmluZyBmb3IgYWRyZXNzZXJ1bSIKKworIyBtb24gaWtrZSBkZXQgZXIgbWFrcy4gc3TDuHJyZWxzZSBhZiBrZXJuZWZpbD8KKyMgYnJ1ZyBldnQuICJtYWtzLiBrZXJuZWZpbHN0w7hycmVsc2UiIGRhIGRldCBrYW4gYmV0eWRlIGJlZ2dlIGRlbGUKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIm1ha3MuIGtlcm5lZmlsc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJDUFUtdGlkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2VrdW5kZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJtYWtzLiBkYXRhc3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIm1ha3MuIGZpbHN0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAibWFrcy4gYW50YWwgZmlsbMOlc2UgaG9sZHQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAibMOlc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICJtYWtzLiBhZHJlc3NlcnVtIGzDpXN0IGkgaHVrb21tZWxzZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAibWFrcy4gYnl0ZSBpIFBPU0lYIG1xdWV1ZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIm1ha3MuIG5pY2UgcHJpbyB0aWxsYWR0IGF0IMO4Z2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm1ha3MuIGFudGFsIMOlYm5lIGZpbGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAiZmlsZXMiCittc2dzdHIgImZpbGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm1ha3MuIGFudGFsIGFmIHByb2Nlc3NlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAicHJvY2Vzc2VyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICJtYWtzLiBoamVtbWVow7hyZW5kZSBzw6Z0c3TDuHJyZWxzZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIm1ha3MuIHJlYWx0aWRzcHJpb3JpdGV0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICJ0aWRzdWRsw7hiIGZvciByZWFsdGlkc29wZ2F2ZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pa3Jvc2VrLiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJtYWtzLiBhbnRhbCBhZiBpZ2FuZ3bDpnJlbmRlIHNpZ25hbGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAic2lnbmFsZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAibWFrcy4gc3Rha3N0w7hycmVsc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAicmVzc291cmNlbmF2biIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicmVzc291cmNlYmVza3JpdmVsc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiYmzDuGQgYmVncsOmbnNuaW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJow6VyZCBiZWdyw6Zuc25pbmcgKGxvZnQpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICJlbmhlZGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gS09NTUFORE9cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVmlzIGVsbGVyIMOmbmRyIHJlc3NvdXJjZWJlZ3LDpm5zbmluZ2VyIGZvciBlbiBwcm9jZXMuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkdlbmVyZWxsZSB0aWx2YWxnOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3MAorIywgZnV6enkKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzLWlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgZGVmaW5lciBodmlsa2UgcmVzdWx0YXRrb2xvbm5lciBkZXIgc2thbCBicnVnZXNcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICB2aXMgaWtrZSBvdmVyc2tyaWZ0ZXJcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICBicnVnIGRldCByw6UgcmVzdWx0YXRmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB1ZGR5YmVuZGUgdGlsc3RhbmRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0IG9nIGFmc2x1dFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlJlc3NvdXJjZXRpbHZhbGc6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYWtzaW1hbCBzdMO4cnJlbHNlIGZvciBiYXNpc2ZpbGVyIG9wcmV0dGV0XG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWFrc2ltYWwgc3TDuHJyZWxzZSBmb3IgZW4gcHJvY2VzJyBkYXRhc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1ha3NpbWFsIG5pY2UtcHJpb3JpdGV0IHRpbGxhZHQgYXQgw7hnZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1ha3NpbWFsIHN0w7hycmVsc2UgZm9yIGZpbGVyIHNrcmV2ZXQgYWYgcHJvY2Vzc2VuXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWFrc2ltYWwgYW50YWwgaWdhbmd2w6ZyZW5kZSBzaWduYWxlclxuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1ha3NpbWFsIHN0w7hycmVsc2UgZW4gcHJvY2VzIG3DpSBsw6VzZSBpIGh1a29tbWVsc2VuXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWFrc2ltYWwgaGplbW1laMO4cmVuZGUgc8OmdHN0w7hycmVsc2VcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYWtzaW1hbCBhbnRhbCDDpWJuZSBmaWxlclxuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1ha3NpbWFsIGJ5dGUgaSBQT1NJWC1iZXNrZWRrw7hlclxuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1ha3NpbWFsIHJlYWx0aWRzIHBsYW5sw6ZnbmluZ3Nwcmlvcml0ZXRcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYWtzaW1hbCBzdGFrc3TDuHJyZWxzZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1ha3NpbWFsIG3Dpm5nZGUgYWYgY3B1LXRpZCBpIHNla3VuZGVyXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWFrc2ltYWwgYW50YWwgYWYgYnJ1Z2VycHJvY2Vzc2VyXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc3TDuHJyZWxzZSBww6UgdmlydHVlbCBodWtvbW1lbHNlXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWFrc2ltYWwgYW50YWwgZmlsbMOlc2VcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUtdGlkIGkgbWlrcm9zZWt1bmRlciBlbiBwcm9jZXMgZXIgcGxhbmxhZ3RcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsdGlkcyBwbGFubMOmZ25pbmdcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjUKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcwCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICJ1YmVncsOmbnNldCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgImt1bm5lIGlra2UgaW5kaGVudGUgZ2FtbWVsICVzLWJlZ3LDpm5zbmluZyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiZGVuIGJsw7hkZSBiZWdyw6ZzbmluZyAlcyBrYW4gaWtrZSBvdmVyc2tyaWRlIGRlbiBow6VyZGUgYmVncsOmbnNuaW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOeSAlcyBiZWdyw6Zuc25pbmcgZm9yIHBpZCAlZDogIgorCisjIGplZyB0cm9yICVzIGVyIGVuIHByb2NlcyBlbGxlciBzw6VkYW4gbm9nZXQKKyMgZXZ0LiAicmVzc291cmNlYmVncsOmbnNuaW5nZW4gZm9yICVzIgorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImt1bm5lIGlra2UgYW5naXZlIHJlc3NvdXJjZWJlZ3LDpm5zbmluZ2VuIGZvciAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImt1bm5lIGlra2UgaW5kaGVudGUgcmVzc291cmNlYmVncsOmbnNuaW5nZW4gZm9yICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgYmVncsOmbnNuaW5nZW4gZm9yICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAidGlsdmFsZ2V0IC0tcGlkIGthbiBrdW4gYW5naXZlcyBlbiBnYW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAidGlsdmFsZ2VuZSAtLXBpZCBvZyBLT01NQU5ETyB1ZGVsdWtrZXIgaGluYW5kZW4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiVmlzIHByb2ZpbGVyaW5nc2luZm9ybWF0aW9uIGZvciBrZXJuZW4uXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPGFmYmlsZG5pbmdzZmlsPiAoc3RhbmRhcmQ6IMK7JXPCqyBvZ1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgwrslc8KrKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsPiAgIChzdGFuZGFyZDogIMK7JXPCqylcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgYW5naXYgcHJvZmlsZXJpbmdzbXVsdGlwbGlrYXRvcmVuIHRpbCA8bXVsdD5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHZpcyBrdW4gaW5mb3JtYXRpb24gb20gc2FtcGxpbmdzdHJpbmV0XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICB2aXMgdWRkeWJlbmRlIGRhdGFcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICB2aXMgYWxsZSBzeW1ib2xlciwgc2VsdiBodmlzIGFudGFsbGV0IGVyIDBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICB2aXMgaW5kaXZpZHVlbGxlIGhpc3RvZ3JhbS1iaW4tYW50YWxcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHZpcyBpbmRpdmlkdWVsbGUgdMOmbGxlcmUgaW5kZW4gaSBmdW5rdGlvbmVyXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgbnVsc3RpbCBhbGxlIHTDpmxsZXJlIChrdW4gcm9vdClcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRlYWt0aXZlciBhdXRvbWF0aXNrIHJlZ2lzdHJlcmluZyBhZiBieXRlLXLDpmtrZWbDuGxnZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiZmVqbCB2ZWQgc2tyaXZuaW5nIGFmICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICJBbnRhZ2VyIG9tdmVuZHQgYnl0ZXLDpmtrZWbDuGxnZS4gQnJ1ZyAtbiBmb3IgYXQgZnJlbXR2aW5nZSBwbGF0Zm9ybXNzcGVjaWZpayBieXRlcsOma2tlZsO4bGdlLiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIk3DpWxldHJpbjogJXVcbiIKKworIyBBc2s6IGhtbW0uICBKZWcgZXIgaWtrZSBrbGFyIG92ZXIgc2FtbWVuaMOmbmdlbi4gIEVyIG1hcCBoZXIgZW4gc2xhZ3MgYWZiaWxkbmluZz8KKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiBmb3JrZXJ0IG92ZXJzaWd0c2xpbmplIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICJrYW4gaWtrZSBmaW5kZSDCu19zdGV4dMKrIGkgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAicHJvZmlsYWRyZXNzZSB1ZGVuIGZvciBvbXLDpWRldC4gRm9ya2VydCBhZmJpbGRuaW5nc2ZpbD8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAicHJvY2VzLWlkIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJwcm9jZXNncnVwcGUtaWQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPHByaW9yaXRldD4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXRldD4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0ZXQ+ICAtdXwtLXVzZXIgPGJydWdlcj4uLi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICLDhm5kciBwcmlvcml0ZXRlbiBmb3Iga8O4cmVuZGUgcHJvY2Vzc2VyLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPGFudGFsPiBhbmdpdiBkZW4gcMOmbmUgdHJpbnZpc2UgdsOmcmRpXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBmb3J0b2xrIHBhcmFtZXRlciBzb20gcHJvY2VzLWlkIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgZm9ydG9sayBwYXJhbWV0ZXIgc29tIHByb2Nlc2dydXBwZS1pZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8bmF2bj58PGlkPiBmb3J0b2xrIHBhcmFtZXRlciBzb20gYnJ1Z2VybmF2biBlbGxlciBicnVnZXItaWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgImt1bm5lIGlra2UgaW5kaGVudGUgcHJpb3JpdGV0IGZvciAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgcHJpb3JpdGV0IGZvciAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKSBnYW1tZWwgcHJpb3JpdGV0ICVkLCBueSBwcmlvcml0ZXQgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSAnJXMnIgorbXNnc3RyICJ1Z3lsZGlnIGRhdG8gwrslc8KrIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAidWtlbmR0IGJydWdlciAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgInVneWxkaWcgJXMgdsOmcmRpOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybiBlbmhlZHNuYXZuIGZvciBrZXJuZSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAiZW5oZWRzaWRlbnRpZmlrYXRpb24iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzEKK21zZ2lkICJkZXZpY2UgdHlwZSBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgYXMgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSB0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJmbGFnYmVza3JpdmVsc2UiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIHNvZnR3YXJlIGJsb2NrIgorbXNnc3RyICJzdMO4cnJlbHNlIHDDpSBsw6VzZW4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJWaXMgc3RhdHVzIGZvciB2YWd0aHVuZGVucyB1ZHN0eXIuXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpXNlICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjMxMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgImVuaGVkc2lkZW50aWZpa2F0aW9uIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAibMOlc3QiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgImzDpXN0IgorCisjIEV2dC4ga2FuIHZpIG9tZ8OlIGRldCBsaWR0IG15c3Rpc2tlICJpZGVudGlmaWthdGlvbiIgdmVkIGJhcmUgYXQgYnJ1Z2UKKyMgZm9ya29ydGVsc2VuIGlkOgorIyBEaXNrLWlkOiAuLi4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJEaXNraWRlbnRpZmlrYXRpb246ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFs8ZW5oZWQ+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorbXNnaWQgIiBoZWxwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyMgRXZ0LiBrYW4gdmkgb21nw6UgZGV0IGxpZHQgbXlzdGlza2UgImlkZW50aWZpa2F0aW9uIiB2ZWQgYmFyZSBhdCBicnVnZQorIyBmb3Jrb3J0ZWxzZW4gaWQ6CisjIERpc2staWQ6IC4uLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorIywgZnV6enkKK21zZ2lkICIgbGlzdCAgIFtpZGVudGlmaWVyXVxuIgorbXNnc3RyICJEaXNraWRlbnRpZmlrYXRpb24iCisKKyMgRXZ0LiBrYW4gdmkgb21nw6UgZGV0IGxpZHQgbXlzdGlza2UgImlkZW50aWZpa2F0aW9uIiB2ZWQgYmFyZSBhdCBicnVnZQorIyBmb3Jrb3J0ZWxzZW4gaWQ6CisjIERpc2staWQ6IC4uLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorIywgZnV6enkKK21zZ2lkICIgYmxvY2sgICBpZGVudGlmaWVyXG4iCittc2dzdHIgIkRpc2tpZGVudGlmaWthdGlvbiIKKworIyBFdnQuIGthbiB2aSBvbWfDpSBkZXQgbGlkdCBteXN0aXNrZSAiaWRlbnRpZmlrYXRpb24iIHZlZCBiYXJlIGF0IGJydWdlCisjIGZvcmtvcnRlbHNlbiBpZDoKKyMgRGlzay1pZDogLi4uCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiRGlza2lkZW50aWZpa2F0aW9uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJHw6UgaSBlbiBzb3ZldGlsc3RhbmQgZm9yIHN5c3RlbWV0IGluZHRpbCBlbiBhbmdpdmV0IG9wdsOlZ25pbmdzdGlkLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICBsw6ZzZXIgdXItdGlsc3RhbmRlbiBmcmEganVzdGVyaW5nc2ZpbGVuIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbD4gICAgICBzcGVjaWZpY2VyZXIgc3RpZW4gdGlsIGp1c3RlcmluZ3NmaWxlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFyZGVuIGVyICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPHRpZHNzdGVtcGVsPiBkYXRvdGlkc3B1bmt0IGh2b3IgdGlkc3N0ZW1wZWwgc2thbCB2w6VnbmVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDxlbmhlZD4gICAgIHbDpmxnIHJ0Yy1lbmhlZCAocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICB1ZGbDuHJlciBhbHQsIHVuZHRhZ2VuIGh2aWxldGlsc3RhbmRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIGJydWdlciBsb2thbCB0aWRzem9uZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICB2aXMgdGlsZ8OmbmVsaWdlIHRpbHN0YW5kZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPHRpbHN0YW5kPiAgICBzdGFuZGJ5fG1lbXwuLi4gZHZhbGV0aWxzdGFuZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgLXMsIC0tc2Vjb25kcyA8c2VrdW5kZXI+IHNla3VuZGVyIHRpbCBkdmFsZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aWRfdD4gICAgICAgdGlkIGF0IHbDpWduZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNgorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIGJydWdlciBVVENcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTcKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB1ZGR5YmVuZGUgYmVza2VkZXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibMOmc25pbmcgYWYgcnRjLXRpZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibMOmc25pbmcgYWYgc3lzdGVtdGlkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJrb252ZXJ0ZXJpbmcgYWYgcnRjLXRpZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJhbmdpdmVsc2UgYWYgcnRjIHdha2UtYWxhcm0gbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgImZqZXJuIGp1c3RlcmluZ3Nmb3Jza3lkbmluZyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgInV2ZW50ZXQgdHJlZGplIGxpbmplIGk6ICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgImzDpnNuaW5nIGFmIHJ0Yy1hbGFybSBtaXNseWtrZWRlcyIKKworIyAoamVnIHRyb3IgbWVsbGVtcnVtbWVuZSBza2FsIHBhc3NlIHPDpSAlcyBrb21tZXIgcMOlIHNhbW1lIHBsYWRzIGVmdGVyCisjIG9uIG9nIG9mZi4gIER2cy4gaSB2b3JlcyB0aWxmw6ZsZGUgc2x1a2tldC90w6ZuZHQsIGfDpnR0ZXIgamVnIHDDpSkgVUFGS0xBUkVUCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgImFsYXJtOiBzbHVra2V0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAia29udmVydGVyIHRpZCBtaXNseWtrZWRlcyIKKworIyAoamVnIHRyb3IgbWVsbGVtcnVtbWVuZSBza2FsIHBhc3NlIHPDpSAlcyBrb21tZXIgcMOlIHNhbW1lIHBsYWRzIGVmdGVyCisjIG9uIG9nIG9mZi4gIER2cy4gaSB2b3JlcyB0aWxmw6ZsZGUgc2x1a2tldC90w6ZuZHQsIGfDpnR0ZXIgamVnIHDDpSkgVUFGS0xBUkVUCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJhbGFybTogdMOmbmR0ICAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAidWtlbmR0IGh2aWxldGlsc3RhbmQgwrslc8KrIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBzZWt1bmRwYXJhbWV0ZXIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIHRpZHNwYXJhbWV0ZXIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVzOiBhbnRhZ2VyIGF0IFJUQyBicnVnZXIgVVRDIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJCcnVnZXIgVVRDLXRpZC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzAKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJCcnVnZXIgbG9rYWwgdGlkLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJvcHbDpWduaW5nc3RpZCBza2FsIHbDpnJlIGFuZ2l2ZXQgKHNlIHRpbHZhbGdlbmUgLS1zZWNvbmRzLCAtLXRpbWUgb2cgLS1kYXRlKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIGVyIGlra2UgYWt0aXZlcmV0IGZvciBvcHbDpWduaW5nc2jDpm5kZWxzZXIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2VrdW5kZXIgJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJ0aWRlbiBnw6VyIGlra2UgYmFnbMOmbnMgdGlsICVzIgorCisjIGplZyB0cm9yIGRldCBzdmFyZXIgdGlsICJvcHbDpWduaW5nIHZlZCBoasOmbHAgYWYgZnVua3Rpb25lbiAlcyBrbG9ra2VuICVzIGVsbGVyIG5vZ2V0IGxpZ25lbmRlCisjIGplZyBmb3Jlc2zDpXI6IG9wdsOlZ25pbmcgbWVkICVzICVzCisjIChkZXQgc2lkc3RlICVzIHZpbCBzw6UgdsOmcmUgby5rLiBodmFkZW50ZW4gZGV0IGVyIGRhdG8gZWxsZXIgdGlkc3B1bmt0KQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IG9wdsOlZ25pbmcgbWVkICVzICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogb3B2w6VnbmluZyBmcmEgwrslc8KrIG1lZCAlcyAlcyIKKworIyBldnQuICJuZWoiIC0+ICJpbmdlbiIKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiaHZpbGV0aWxzdGFuZDogbmVqOyBmb3JsYWRlclxuIgorCisjIGV2dC4gInNsdWtrZXQiIC0+ICJzbMOlZXQgZnJhIgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJodmlsZXRpbHN0YW5kOiBzbHVra2V0OyBrw7hyZXIgJXNcbiIKKworIyAic2zDpWV0IHRpbCIKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgImh2aWxldGlsc3RhbmQ6IHTDpm5kdDsgbMOmc2VyIHJ0Y1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAibMOmc25pbmcgYWYgcnRjIG1pc2x5a2tlZGVzIgorCisjIGV2dC4gImRlYWt0aXZlcmV0IgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiaHZpbGV0aWxzdGFuZDogZGVha3RpdmVyOyBkZWFrdGl2ZXJlciBhbGFybVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiaHZpbGV0aWxzdGFuZDogdmlzOyB2aXNlciBhbGFybWluZm9ybWF0aW9uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgImh2aWxldGlsc3RhbmQ6ICVzOyBzw6Z0dGVyIHN5c3RlbSBpIGh2aWxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiZGVha3RpdmVyaW5nIGFmIHJ0Yy1hbGFybWFmYnJ5ZGVsc2UgbWlzbHlra2VkZXMiCisKKyMgc2zDpXIgdGlsCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiVMOmbmRlciAlcy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIDxhcms+IFt0aWx2YWxnXSBbPHByb2dyYW0+IFs8cGFyYW1ldHJlPiAuLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiw4ZuZHIgZGVuIHJhcHBvcnRlcmVkZSBhcmtpdGVrdHVyIG9nIGFuZ2l2IHBlcnNvbmxpZ2hlZHNmbGFnLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk4Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdMOmbmRlciBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbGF2ZXIgZnVua3Rpb25zcGVnZXJwdW5rdCB0aWwgYmVza3JpdmVsc2VyXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHTDpm5kZXIgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCDDpm5kcmVyIG3DpWRlbiB2aXJ0dWVsIGh1a29tbWVsc2UgYWxsb2tlcmVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkZWFrdGl2ZXJlciB2aWxrw6VybGlnaGVkIGZvciB2aXJ0dWVsIGFkcmVzc2VydW1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0w6ZuZGVyIFdIT0xFX1NFQ09ORFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHTDpm5kZXIgU1RJQ0tZX1RJTUVPVVRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHTDpm5kZXIgUkVBRF9JTVBMSUVTX0VYRUNcbiIKKworIyAoYWxsZSBkZSBoZXIga3VubmUgb2dzw6UgdsOmcmUgInNsw6VyIC4uLiB0aWwiLCBtZW4gZGV0IGVyIHNpa2tlcnQgZmludCBzb20gZGV0IGVyKQorIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdMOmbmRlciBNTUFQX1BBR0VfWkVST1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBiZWdyw6Zuc2VyIGRldCBicnVndGUgYWRyZXNzZXJ1bSB0aWwgbWFrc2ltYWx0IDMgR0JcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlcmV0IChrdW4gZm9yIGJhZ2zDpm5zIGtvbXBhdGliaWxpdGV0KVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHTDpm5kZXIgVU5BTUUyNlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2aXNlciBodmlsa2UgdGlsdmFsZyBkZXIgZXIgZ2l2ZXRcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICB2aXMgYXJraXRla3R1cmVyIGRlciBrYW4gYW5naXZlcyBvZyBhZnNsdXRcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiBVa2VuZHQgYXJraXRla3R1ciIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJLZXJuZW4ga2FuIGlra2Ugc8OmdHRlIGFya2l0ZWt0dXJlbiB0aWwgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIklra2Ugbm9rIHBhcmFtZXRyZSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiS3VubmUgaWtrZSBhbmdpdmUgcGVyc29ubGlnaGVkIHNvbSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJ1a2VuZHQgdGlsdmFsZyDCuy0tbGlzdMKrIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2OAorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGFya2l0ZWt0dXJwYXJhbXRlciBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSBwZXJzb25saWdoZWQgc29tICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiVWRmw7hyZXIga29tbWFuZG9lbiDCuyVzwqtcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPHByb2dyYW0+IFs8cGFyYW1ldHJlPiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIkvDuHIgZXQgcHJvZ3JhbSBtZWQgZm9yc2tlbGxpZ2UgcHJpdmlsZWdpZWluZHN0aWxsaW5nZXIuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgdmlzIG51dsOmcmVuZGUgdGlsc3RhbmQgKG9nIGvDuHIgaW50ZXQpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBkZWFrdGl2ZXIgdGlsZGVsaW5nIGFmIG55ZSBwcml2aWxlZ2llclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNAorIywgZnV6enkKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgIGFuZ2l2IGFydmVsaWdlIGZ1bmt0aW9uZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgYW5naXYgYXJ2ZWxpZ2UgZnVua3Rpb25lclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNgorIywgZnV6enkKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIGFuZ2l2IG9tZ2l2ZW5kZSBzw6Z0IGZvciBldm5lclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgIGFuZ2l2IHJlZWwgdWlkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBhbmdpdiBlZmZla3RpdiB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICBhbmdpdiByZWVsIGdpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMAorIywgZnV6enkKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgYW5naXYgZWZmZWt0aXYgZ2lkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBhbmdpdiByZWVsIG9nIGVmZmVrdGl2IHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMgorIywgZnV6enkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgYW5naXYgcmVlbCBvZyBlZmZla3RpdiBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIHJ5ZCBzdXBwbGVtZW50w6ZyZSBncnVwcGVyXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM0CisjLCBmdXp6eQorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGJldmFyIHN1cHBsZW1lbnTDpnJlIGdydXBwZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbml0aWFsaXplIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgYmV2YXIgc3VwcGxlbWVudMOmcmUgZ3J1cHBlclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPGdydXBwZSwuLi4+ICAgIGFuZ2l2IHN1cHBsZW1lbnTDpnJlIGdydXBwZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDxiaXQ+ICAgICAgIGFuZ2l2IHNlY3VyZWJpdHNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDxldGlrZXQ+IGFuZ2l2IFNFTGludXgtZXRpa2V0XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBhbmdpdiBBcHBBcm1vci1wcm9maWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxNDQKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIERldHRlIHbDpnJrdMO4aiBrYW4gdsOmcmUgZmFybGlndC4gTMOmcyBtYW51YWxzaWRlbiwgb2cgdsOmciBmb3JzaWd0aWcuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJ1Z3lsZGlnIGZ1bmt0aW9uc3N0cmVuZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICJrdW5uZSBpa2tlIGhlbnRlIHByb2NlcyBzZWN1cmUgYml0cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICJTZWN1cmViaXRzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJbaW5nZW5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IGZvciBsYW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJTdXBwbGVtZW50w6ZyZSBncnVwcGVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltpbmdlbl0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXNnaWQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiRWZmZWt0aXZlIGZ1bmt0aW9uZXI6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJUaWxsYWR0ZSBmdW5rdGlvbmVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJBcnZlZGUgZnVua3Rpb25lcjogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiVGlsbGFkdGUgZnVua3Rpb25lcjogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW3Vuc3VwcG9ydGVkXSIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IGtvbW1hbmRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICJPbWdpdmVuZGUgc8OmdCBmb3IgZnVua3Rpb25lcjogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIlNFTGludXgtZXRpa2V0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIkFwcEFybW9yLXByb2ZpbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICJjYXAgJWQ6IGxpYmNhcC1uZyBlciDDuGRlbGFndCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIlVneWxkaWd0IHN1cHBsZW1lbnTDpnJ0IGdydXBwZS1pZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXN1aWQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDY4Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCB0aWRzdHlwZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgInVneWxkaWcgZnVua3Rpb25zc3RyZW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgImxpYmNhcC1uZyBlciBmb3IgZ2FtbWVsIGZvciDCu2FsbGXCqyBjYXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICJ1a2VuZHQgZXZuZSDCuyVzwqsiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJzZWN1cmViaXQtc8OmdCBibGV2IGlra2UgZ2Vua2VuZHQgLSBuw6ZndGVyIGF0IGp1c3RlcmUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTY1Cittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICJ1Z3lsZGlnIHNlY3VyZWJpdHMtc3RyZW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiK2FsbCBzZWN1cmViaXRzIGVyIGlra2UgdGlsbGFkdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImp1c3RlcmluZyBhZiBrZWVwX2NhcHMgZ2l2ZXIgaWtrZSBtZW5pbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAic2VjdXJlYml0IGJsZXYgaWtrZSBnZW5rZW5kdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4IGvDuHJlciBpa2tlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJjbG9zZSAobHVrKSBtaXNseWtrZWRlczogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjMyCittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIGvDuHJlciBpa2tlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NQorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgImR1cGxpa2F0IC1uby1uZXctcHJpdnMgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiZHVwbGlrYXQgcnVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBydWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJkdXBsaWthdCBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk2Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiZHVwbGlrYXQgcnVpZCBlbGxlciBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSByZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiZHVwbGlrYXQgcmdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSByZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxMworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICJkdXBsaWthdCBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAiZHVwbGlrYXQgcmdpZCBlbGxlciBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSByZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkdXBsaWthdCAtLWNsZWFyLWdyb3VwcyB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiZHVwbGlrYXQgLS1rZWVwLWdyb3VwcyB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgImR1cGxpa2F0IC0tZ3JvdXBzIHRpbHZhbGciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiZHVwbGlrYXQgLS1ncm91cHMgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTMKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgImR1cGxpa2F0IC0taW5oLWNhcHMgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTkKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiZHVwbGlrYXQgLS1pbmgtY2FwcyB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgImR1cGxpa2F0IC0tYm91bmRpbmctc2V0IHRpbHZhbGciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgImR1cGxpa2F0IC0tc2VjdXJlYml0cyB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICJkdXBsaWthdCAtLXNlbGludXgtbGFiZWwgdGlsdmFsZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4ODMKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiZHVwbGlrYXQgLS1hcHBhcm1vci1wcm9maWxlIHRpbHZhbGciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODk5Cittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICItLWR1bXAgZXIgaWtrZSBrb21wYXRpYmVsIG1lZCBhbmRyZSB0aWx2YWxnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkwNworbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICItLWxpc3QtY2FwcyBza2FsIHbDpnJlIGFuZ2l2ZXQgYWxlbmUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTEzCittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIkludGV0IHByb2dyYW0gYW5naXZldCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKKyMsIGZ1enp5Cittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiLS1bcmVdZ2lkIGtyw6Z2ZXIgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMgZWxsZXIgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgImt1bm5lIGlra2UgZGVha3RpdmVyZSB0aWxkZWxpbmcgYWYgbnllIHByaXZpbGVnaWVyIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0MAorbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICJrdW5uZSBpa2tlIGJldmFyZSBwcm9jZXNmdW5rdGlvbmVyIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiYWt0aXZlciBmYWNpbGl0ZXRlciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiZ2VuYWt0aXZlciBmYWNpbGl0ZXRlciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKKyMsIGZ1enp5Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAiYW5naXZlbHNlIGFmIHByb2NlcyBzZWN1cmViaXRzIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiYW52ZW5kIG9tZ2l2ZW5kZSBzw6Z0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiYW52ZW5kIGZ1bmt0aW9uZXIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSA8cHJvZ3JhbT4gW3BhcmFtZXRyZSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNworbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiS8O4ciBldCBwcm9ncmFtIGkgZW4gbnkgc2Vzc2lvbi5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICBzw6Z0IGRlbiBrb250cm9sbGVyZW5kZSB0ZXJtaW5hbCB0aWwgZGVuIG51dsOmcmVuZGVcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBmcmVtdHZpbmcga29udHJvbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0ICAgICB2ZW50IHByb2dyYW0gZm9yIGF0IGFmc2x1dHRlLCBvZyBicnVnIGRlbiBzYW1tZSByZXR1cm5lcmluZ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAiZm9yZ3JlbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgInVuZGVycHJvY2VzICVkIGFmc2x1dHRlZGVzIGlra2Ugbm9ybWFsdCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExNworbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHNpZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJrdW5uZSBpa2tlIGFuZ2l2ZSBkZW4ga29udHJvbGxlcmVuZGUgdGVybWluYWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICJzd2Fwb2ZmICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIklra2Ugc3VwZXJicnVnZXIuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb2ZmIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPHNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkRlYWt0aXZlciBlbmhlZGVyIG9nIGZpbGVyIGZvciBwYWdpbmcgb2cgc3dhcHBpbmcuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRlYWt0aXZlciBhbGxlIHN3YXAgZnJhIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdWRkeWJlbmRlIHRpbHN0YW5kXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM0Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGFyYW1ldGVyZW4gPHNwZWNpZmlrYXRpb24+OlxuIgorIiAtTCA8ZXRpa2V0PiAgICAgICAgICAgIEVUSUtFVCBww6UgZW5oZWQgZGVyIHNrYWwgYnJ1Z2VzXG4iCisiIC1VIHV1aWQgICAgICAgICAgICAgICAgVVVJRCBww6UgZW5oZWQgZGVyIHNrYWwgYnJ1Z2VzXG4iCisiIExBQkVMPTxldGlrZXQ+ICAgICAgICAgRVRJS0VUIHDDpSBlbmhlZCBkZXIgc2thbCBicnVnZXNcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIHDDpSBlbmhlZCBkZXIgc2thbCBicnVnZXNcbiIKKyIgPGVuaGVkPiAgICAgICAgICAgICAgICBuYXZuIHDDpSBlbmhlZCBkZXIgc2thbCBicnVnZXNcbiIKKyIgPGZpbD4gICAgICAgICAgICAgICAgICBuYXZuIHDDpSBmaWwgZGVyIHNrYWwgYnJ1Z2VzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICJlbmhlZHNmaWwgZWxsZXIgcGFydGl0aW9uc3N0aSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJlbmhlZGVucyB0eXBlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgInN0w7hycmVsc2UgcMOlIHN3YXBvbXLDpWRldCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJieXRlIGkgYnJ1ZyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInN3YXBwcmlvcml0ZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgInN3YXAtdXVpZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMgorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgInN3YXBldGlrZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdFR5cGVcdFx0U3RyLlx0QnJ1Z3RcdFByaW9yaXRldFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIkZpbG5hdm4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IEdlbmluaXRpYWxpc2VyZXIgc3dhcHBlbi4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlczogc2tyaXZuaW5nc3NpZ25hdHVyIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiBzcHJpbmdlciBvdmVyIC0gZGVuIGxhZGVyIHRpbCBhdCB2w6ZyZSBmcmFnbWVudGVyZXQuIgorCisjIEhlbnQgc3TDuHJyZWxzZSBtaXNseWtrZWRlcworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogS3VubmUgaWtrZSBmaW5kZSBzdMO4cnJlbHNlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEzDpnNuaW5nIGFmIHN3YXBob3ZlZCBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6IGZhbmR0IHNpZ25hdHVyIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKKworIyB1aGggZm9yc2lndGlnIGhlciwgZGV0IGRlciBrdW5uZSBnb2R0IHbDpnJlIG5vZ2V0IHNvbSBlciBlbiBkZWwgYWYgZW4KKyMgc3ludGFrcy4gSmVnIHRyb3IgZGV0IGRvZyBpa2tlLCBtZW4gZGV0IHZpbGxlIHbDpnJlIG1lZ2V0IHJhcnQgYXQgdsOmcmUKKyMgc2lra2VyLgorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6IHNpZGVzdMO4cnJlbHNlPSVkLCBzd2Fwc3TDuHJyZWxzZT0lbGx1LCBlbmhlZHNzdMO4cnJlbHNlPSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBzaWRzdGVfc2lkZSAweCUwOGxseCBlciBzdMO4cnJlIGVuZCBha3R1ZWwgc3TDuHJyZWxzZSBww6Ugc3dhcHBsYWRzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzOiBzd2FwZm9ybWF0ZXRzIHNpZGVzdMO4cnJlbHNlIGVyIGlra2UgZW5zLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlczogc3dhcGZvcm1hdGV0cyBzaWRlc3TDuHJyZWxzZSBlciBpa2tlIGVucy4gKEJydWcgLS1maXhwZ3N6IHRpbCBhdCBnZW5pbml0aWFsaXNlcmUgZGVuLikiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBIdmlsZWRhdGEgZm9yIHNvZnR3YXJlIGRldGVrdGVyZXQuIEdlbnNrcml2ZXIgc3dhcHNpZ25hdHVyZW4uIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbiBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogbm9hdXRvLXRpbHZhbGcgLSBpZ25vcmVyZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBhbGxlcmVkZSBha3RpdiAtIGlnbm9lcmV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IHV0aWxnw6ZuZ2VsaWcgLSBpZ25vcmVyZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkFrdGl2ZXIgZW5oZWRlciBvZyBmaWxlciBmb3IgdGVrc3R2aXNuaW5nIG9nIHN3YXBwaW5nLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGFrdGl2ZXIgYWxsZSBzd2FwIGZyYSAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kaXNjYXJkWz08cG9saXRpaz5dIGFrdGl2ZXIgc3dhcC1mamVybmVsc2VyLCBodmlzIHVuZGVyc3TDuHR0ZXQgYWYgZW5oZWRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgdWRlbGFkIGkgc3RpbGhlZCBlbmhlZGVyIHNvbSBpa2tlIGZpbmRlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgZ2VuaW5pdGlhbGlzZXIgc3dhcG9tcsOlZGV0IG9tIG7DuGR2ZW5kaWd0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8bGlzdGU+ICAgIGtvbW1hYWRza2lsdCBsaXN0ZSBvdmVyIHN3YXBpbmRzdGlsbGluZ2VyXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZmljZXIgcHJpb3JpdGV0ZW4gZm9yIHN3YXBlbmhlZGVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICB2aXMgcmVmZXJhdCBvbSBhbnZlbmR0ZSBzd2FwZW5oZWRlciAoRk9Sw4ZMREVUKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiAgICAgLS1zaG93Wz08a29sb25uZXI+XSAgdmlzIHJlZmVyZWF0IGkgZGVmaW5lcmJhciB0YWJlbFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA4Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICB2aXMgaWtrZSB0YWJlbG92ZXJza3JpZnRlciAobWVkIC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgYnJ1ZyByw6UgdWRkYXRhZm9ybWF0IChtZWQgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODEwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgdmlzIHN3YXBzdMO4cnJlbHNlIGkgYnl0ZSBpIC0tc2hvdy11ZGRhdGFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdWRkeWJlbmRlIHRpbHN0YW5kXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTYKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJhbWV0ZXJlbiA8c3BlY2lmaWthdGlvbj46XG4iCisiIC1MIDxldGlrZXQ+ICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGV0aWtldD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08ZXRpa2V0PiAgICAgICAgIHNwZWNpZmljZXJlciBlbmhlZCBlZnRlciBzd2Fwb21yw6VkZXRpa2V0XG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWNlcmVyIGVuaGVkIGVmdGVyIHN3YXBvbXLDpWRlLVVVSURcbiIKKyIgUEFSVExBQkVMPTxldGlrZWw+ICAgICBzcGVjaWZpY2VyZXIgZW5oZWQgZWZ0ZXIgcGFydGl0aW9uc2V0aWtldFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmljZXJlciBlbmhlZCBlZnRlciBwYXJ0aXRpb24tVVVJRFxuIgorIiA8ZW5oZWQ+ICAgICAgICAgICAgICAgIG5hdm4gcMOlIGVuaGVkIGRlciBza2FsIGJydWdlc1xuIgorIiA8ZmlsPiAgICAgICAgICAgICAgICAgIG5hdm4gcMOlIGZpbCBkZXIgc2thbCBicnVnZXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpbGfDpm5nZWxpZ2UgcG9saXRpa3R5cGVyIGZvciBrYXNzZXJpbmcgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDoga3VuIGVuZ2FuZ3Mgb21yw6VkZWthc2VyaW5nZXIgdWRzdGVkZXNcbiIKKyIgcGFnZXMgICA6IGZyZWVkLXNpZGVyIGthc3NlcmV0IGbDuHIgZGUgZ2VuYnJ1Z2VzXG4iCisiSHZpcyBpbmdlbiBwb2xpdGlrIGVyIHZhbGd0LCBlciBiZWdnZSBrYXNzZXJpbmdzdHlwZXIgYWt0aXZlcmV0IChzdGFuZGFyZCkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgcHJpb3JpdGV0IgorCisjIGV2dC4gZmplcm5lbHNlc3BvbGl0aWsuIEVsbGVycyBtaXNmb3JzdMOlcyBkZXQgbm9rIChmamVybi1wb2xpdGlrIHZhciBkZW4gZsO4cikKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJpa2tlIHVuZGVyc3TDuHR0ZXQgZmplcm5lbHNlc3BvbGl0aWs6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJrYW4gaWtrZSBmaW5kZSBlbmhlZGVuIGZvciAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgImt1bm5lIGlra2Ugw6VibmUgbWFwcGUiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY4Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInN0YXQgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJrdW5uZSBpa2tlIGzDpnNlIG1hcHBlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBmamVybmUgaGVudmlzbmluZyAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgImt1bm5lIGlra2UgbW9udGVyZSBmbHl0bmluZyBhZiAlcyB0aWwgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgImZyZW10dmluZ2VyIGFmbW9udGVyaW5nIGFmICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImt1bm5lIGlra2Ugw6ZuZHJlIG1hcHBlIHRpbCAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAia3VubmUgaWtrZSBtb250ZXJlIGZseXRuaW5nIGFmICVzIHRpbCAvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgImt1bm5lIGlra2Ugw6ZuZHJlIGFkbWluaXN0cmF0b3IgKHJvb3QpIgorCisjIGVUIGluaXRyYW1mcyAoZmlsc3lzdGVtKQorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJnYW1tZWx0IHJvb3QtZmlsc3lzdGVtIGVyIGlra2UgZXQgaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPG55cm9kbWFwcGU+IDxpbml0PiA8YXJndW1lbnRlciB0aWwgaW5pdD5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA5Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiU2tpZnQgdGlsIGV0IGFuZGV0IGZpbHN5c3RlbSBzb20gcm9kZW4gZm9yIG1vbnRlcmluZ3N0csOmZXQuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1NQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJtaXNseWtrZWRlcy4gQmVrbGFnZXIuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSB0aWxnw6UgJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIkFuZ2l2IGRpdmVyc2UgcGFyYW1ldGVyZSBmb3IgbGluamVwcmludGVyZW4uXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIGFuZ2l2IGlycSBmb3IgcGFyYWxsZWxwb3J0XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICB2ZW50ZXRpZCBmb3IgZHJpdmVyIGkgbWlsbGlzZWt1bmRlclxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAzCittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBhbnRhbGxldCBhZiB1ZGRhdGF0ZWduIGbDuHIgZHZhbGVcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlLXZlbnRldGlkIGkgbWlrcm9zZWt1bmRlclxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhZmJyeWQgdmVkIGZlamxcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBrb250cm9sbGVyIHByaW50ZXJzdGF0dXMgZsO4ciB1ZHNrcml2bmluZ1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGVrc3RyYSBrb250cm9sIHRpbCBzdGF0dXNrb250cm9sXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTEKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBmb3Jlc3DDuHJnIHByaW50ZXJzdGF0dXNcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIG51bHN0aWwgcG9ydGVuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTMKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgdmlzIG51dsOmcmVuZGUgaXJxLWluZHN0aWxsaW5nXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgZXIgaWtrZSBlbiBscC1lbmhlZCIKKworIyBodmlzIGR1IHZlbmRlciBkZSBsaWdlc29tIHDDpSBlbmdlbHNrLCBiZWjDuHZlciB2aSBpa2tlIGF0IGJla3ltcmUgb3Mgb20KKyMgc3RyZW5nZSBiw7hyIHN0YXJ0ZSBtZWQgc3RvcnQgZWxsZXIgZWoKKyMgIkxQR0VUU1RBVFVTLWZlamwiCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjc4Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkZlamwgaSBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIlN0YXR1cyBmb3IgJXMgZXIgJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIG9wdGFnZXQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCBrbGFyIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGlra2UgbWVyZSBwYXBpciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwga2xhciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGZlamwiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzA4Cittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIkZlamwgaSBMUEdFVElSUSIKKworIyBLaWdnZWRlIGkga2lsZGVrb2RlbiBvZyBzw6UgYXQgJXMgZXIgZXQgZmlsbmF2bi4gICclcyBicnVnZXIgSVJRICVkJworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgYnJ1Z2VyIElSUSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgYnJ1Z2VyIG92ZXJ2w6VnbmluZyAocG9sbGluZylcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFt0aWx2YWxnXVxuIgorIiAlMSRzIFt0aWx2YWxnXSA8a2lsZGU+IHwgPG1hcHBlPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJBZm1vbnRlciBmaWxzeXN0ZW1lci5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBhZm1vbnRlciBhbGxlIGZpbHN5c3RlbWVyXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICBhZm1vbnRlciBhbGxlIG1vbnRlcmluZ3NwdW5rdGVyIGZvciBkZW4gYW5naXZuZSBlbmhlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGkgZGV0IG51dsOmcmVuZGUgbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAga2Fub25pc2VyIGlra2Ugc3RpZXJcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBodmlzIG1vbnRlcmV0IGxvb3BlbmhlZCwgc8OlIGJlZnJpIG9nc8OlIGRlbm5lIGxvb3BlbmhlZFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiICAgICAtLWZha2UgICAgICAgICAgICAgIHTDuHIta8O4cnNlbDsgdWRlbGFkIHN5c3RlbWthbGRldCB1bW91bnQoMilcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZyZW10dmluZyBhZm1vbnRlcmluZyAoaSB0aWxmw6ZsZGUgYWYgZXQgTkZULXN5c3RlbSwgZGVyIGlra2Uga2FuIG7DpXMpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGthbGQgaWtrZSB1bW91bnQuPHR5cGU+LWhqw6ZscGVwcm9ncmFtbWVybmVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgYWZrb2JsIGZpbHN5c3RlbWV0IG51LCByeWQgb3Agc2VuZXJlXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdGU+IGJlZ3LDpm5zIHPDpnR0ZXQgYWYgZmlsc3lzdGVtZXIgKGJydWcgbWVkIC1hKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIGFmbW9udGVyIHJla3Vyc2l2dCBldCBtw6VsIG1lZCBhbGxlIHVuZGVybcOlbFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpIHRpbGbDpmxkZSBhZiBhdCBhZm1vbnRlcmluZyBtaXNseWtrZWRlcywgZm9yc8O4ZyBzw6UgYXQgZ2VubW9udGVyZSBza3JpdmViZXNreXR0ZXRcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0ZT4gICAgIGJlZ3LDpm5zIHPDpnR0ZXQgYWYgZmlsc3lzdGVtdHlwZXJcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgKCVzKSBhZm1vbnRlcmV0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgYWZtb250ZXJldCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAia3VubmUgaWtrZSBhbmdpdmUgdW1vdW50LW3DpWwiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQtdGFiZWxhbGxva2VyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQtaXRlcmF0b3JhbGxva2VyaW5nIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgImt1bm5lIGlra2UgaW5kaGVudGUgdW5kZXJmaWxzeXN0ZW0gZm9yICVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzEwIHN5cy11dGlscy91bW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IGlra2UgZnVuZGV0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgYmVzdGVtbWUga2lsZGUgKC0tYWxsLXRhcmdldHMgZXIgaWtrZSB1bmRlcnN0w7h0dGV0IHDDpSBzeXN0ZW1lciBtZWQgbm9ybWFsIG10YWItZmlsKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IC0tc2V0Z3JvdXBzLXBhcmFtZXRlciDCuyVzwqsiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAic2tyaXZuaW5nIG1pc2x5a2tlZGVzICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAiaWtrZSB1bmRlcnN0w7h0dGV0IGZvcm1lcmluZ3N0aWxzdGFuZDogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgImthbiBpa2tlIMOmbmRyZSByb2RmaWxzeXN0ZW1ldHMgZm9ybWVyaW5nIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIm1vbnRlcmluZyAlcyBww6UgJXMgbWlzbHlra2VkZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICJrYW4gaWtrZSBrw7hyZSAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAiZGF0YWthbmFsIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgImt1bm5lIGlra2UgbMOmc2UgZGF0YWthbmFsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICJLw7hyIGV0IHByb2dyYW0gbWVkIG5vZ2xlIG5hdm5lcnVtIHVkZWx0IGZyYSBvdmVyZGVsZW4uXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudCBbPTxmaWw+XSAgICAgIGZqZXJuIGRlbGluZyBmb3IgbW9udGVyaW5nZW5zIG5hdm5lcnVtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxmaWw+XSAgICAgICAgIGZqZXJuIGRlbGluZyBmb3IgVVRTLW5hdm5lcnVtICh2w6ZydHNuYXZuIGV0YylcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PGZpbD5dICAgICAgICAgZmplcm4gZGVsaW5nIGZvciBTeXN0ZW0gViBJUEMtbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxmaWw+XSAgICAgICAgIGZqZXJuIGRlbGluZyBmb3IgbmV0dsOmcmtzbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGZpbD5dICAgICAgICAgZmplcm4gZGVsaW5nIGZvciBwaWQtbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08ZmlsPl0gICAgICAgIGZqZXJuIGRlbGluZyBmb3IgYnJ1Z2VybmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PGZpbD5dICAgICAgZmplcm4gZGVsaW5nIGZvciBjZ3JvdXAtbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmdyZW4gZsO4ciA8cHJvZ3JhbT4gc3RhcnRlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vbnRlciBwcm9jLWZpbHN5c3RlbSBmw7hyc3QgKG1lZGbDuHJlciAtLW1vdW50KVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG92ZXJzw6Z0IG51dsOmcmVuZGUgYnJ1Z2VyIHRpbCByb290IChtZWRmw7hyZXIgLS11c2VyKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIMOmbmRyIG1vbnRlcmluZ3Nmb3JtZXJpbmcgaSBtb250ZXJpbmdzbmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjgKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGtvbnRyb2xsZXIgc3lzdGVta2FsZCBmb3Igc2V0Z3JvdXBzIGkgYnJ1Z2VybmF2bmVydW1cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDEKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAidW5zaGFyZSBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAiYWZzbHV0bmluZyBhZiB1bmRlcnByb2NlcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAidGlsdmFsZyAtLXNldGdyb3Vwcz1hbGxvdyBvZyAtLW1hcC1yb290LXVzZXIgdWRlbHVra2VyIGhpbmFuZGVuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm1vbnRlcmluZyAlcyBtaXNseWtrZWRlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiS29ydCBudWxzdGlsbGVkZSB0aWRsaWdlcmUgY3B1J2VuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIkVrc3Rlcm50IHJlbMOmIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiRWtzdGVybnQgcmVsw6YgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICJCbMOmc2VyIG1pc2x5a2tlZGVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiSG9sZCBpIGxpdmUgcGluZy1zdmFyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIlVuZGVyc3TDuHR0ZXIgbWFnaXNrIGx1ay10ZWduIgorCisjIFJlc2V0IGthbiBiw6VkZSB2w6ZyZSBzdWJzdGFudGl2LCBpbmZpbml0aXYsIHBhcnRpY2lwaXVtIG9zdi4KKyMgSmVnIGZvcmVzbMOlciAiTnVsc3RpbGxpbmciLCBhbHRzw6Ugc3Vic3RhbnRpdiwgZGEgamVnIHRyb3IgZGV0IGTDpmtrZXIgZmxlc3QgdGlsZsOmbGRlIGJlZHN0CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIk51bHN0aWxsaW5nIHDDpSBncnVuZCBhZiBDUFUtdmFybWUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICJTdHLDuG0gb3ZlciBzcMOmbmRpbmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJTdHLDuG0gdWd5bGRpZy9zdHLDuG1mZWpsIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcsOmdGlkc3VkbMO4YiAoaSBzZWt1bmRlcikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJBbmdpdiB0aWRzdWRsw7hiIChpIHNla3VuZGVyKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIlVkbMO4cyBpa2tlIGdlbnN0YXJ0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgImZsYWduYXZuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJmbGFnYmVza3JpdmVsc2UiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJmbGFnc3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJvcHN0YXJ0c3N0YXR1cyBmb3IgZmxhZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgInZhZ3RodW5kcyBlbmhlZHNuYXZuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAidWtlbmR0IGZsYWc6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJWaXMgc3RhdHVzIGZvciB2YWd0aHVuZGVucyB1ZHN0eXIuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdGU+ICAgIHZpcyBrdW4gdmFsZ3RlIGZsYWdcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICB2aXMgaWtrZSBpbmZvcm1hdGlvbiBvbSBmbGFnXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgdmlzIGlra2UgdmFndGh1bmRlbnMgaWRlbnRpdGV0c2luZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgdmlzIGlra2Ugb3ZlcnNrcmlmdGVyIGZvciBmbGFncyB0YWJlbFxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHZpcyBhbCBpbmZvcm1hdGlvbiBww6UgZW4gbGluamVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gICB2aXMga29sb25uZXIgZm9yIGZsYWdlbmVcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICBicnVnIHLDpSB1ZGRhdGFmb3JtYXQgZm9yIGZsYWdzIHRhYmVsXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgdmlzIGlra2UgdmFndGh1bmRlbnMgdGlkc3VkbMO4YlxuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWs+IGFuZ2l2IHZhZ3RodW5kZW5zIHRpZHN1ZGzDuGJcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICB2aXMga3VuIGZsYWdzIHRhYmVsIChzYW1tZSBzb20gLUkgLVQpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIlN0YW5kYXJkZW5oZWRlbiBlciAlcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IHVrZW5kdGUgZmxhZyAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMCBzeXMtdXRpbHMvd2RjdGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiB2YWd0aHVuZCBhbGxlcmVkZSBpIGJydWcsIGFmYnJ5ZGVyLiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzM0IHN5cy11dGlscy93ZGN0bC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgZGVha3RpdmVyZSB2YWd0aHVuZCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgImthbiBpa2tlIGFuZ2l2ZSB0aWRzdWRsw7hiIGZvciAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiVGlkc3VkbMO4YiBlciBibGV2ZXQgc2F0IHRpbCAlZCBzZWt1bmQuXG4iCittc2dzdHJbMV0gIlRpZHN1ZGzDuGIgZXIgYmxldmV0IHNhdCB0aWwgJWQgc2VrdW5kZXIuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgaW5kaGVudGUgaW5mb3JtYXRpb24gb20gd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIHNla3VuZFxuIgorbXNnc3RyWzFdICIlLTE0cyAlMmkgc2VrdW5kZXJcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY2Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIlRpZHN1ZGzDuGI6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlByw6Z0aWRzdWRsw7hiOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICJUaWQgdGlsYmFnZToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNAorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkVuaGVkOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA2Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICJJZGVudGl0ZXQ6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDgKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzaW9uIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAienJhbS1lbmhlZHNuYXZuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiYmVncsOmbnNuaW5nIHDDpSBkZW4gdWtvbXByaW1lcmVkZSBkYXRhbcOmbmdkZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJ1a29tcHJpbWVyZXQgc3TDuHJyZWxzZSBmb3IgbGFncmVkZSBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJrb21wcmltZXJldCBzdMO4cnJlbHNlIGZvciBsYWdyZWRlIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJkZW4gdmFsZ3RlIGtvbXByaW1lcmluZ3NhbGdvcml0bWUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJhbnRhbGxldCBhZiBzYW10aWRpZ2Uga29tcHJpbWVyaW5nc29wZXJhdGlvbmVyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJ0b21tZSBzaWRlciB1ZGVuIGFsbG9rZXJldCBodWtvbW1lbHNlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJhbCBodWtvbW1lbHNlIGlua2x1c2l2ZSBhbGxvY2F0b3ItZnJhZ21lbnRhdGlvbiBvZyBtZXRhZGF0YS1vdmVyaGVhZCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiaHVrb21tZWxzZXNiZWdyw6Zuc25pbmcgYnJ1Z3QgdGlsIGF0IGxhZ3JlIGtvbXByaW1lcmVkZSBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiaHVrb21tZWxzZXMtenJhbSBlciBibGV2ZXQgYnJ1Z3QgdGlsIGF0IGxhZ3JlIGtvbXByaW1lcmVkZSBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg1Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiYW50YWxsZXQgYWYgb2JqZWt0ZXIgbWlncmVyZXJldCBtZWQga29tcHJpbWVyaW5nIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJLdW5uZSBpa2tlIGZvcnRvbGtlIG1tX3N0YXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3RpbHZhbGddIFs8ZW5oZWQ+XVxuIgorIiAlMSRzIC1yIDxlbmhlZD4gWy4uLl1cbiIKKyIgJTEkcyBbdGlsdmFsZ10gLWYgfCA8ZW5oZWQ+IC1zIDxzdMO4cnJlbHNlPlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIk9wc8OmdCBvZyBrb250cm9sbGVyIHpyYW0tZW5oZWRlci5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICBrb21wcmltZXJpbmdzYWxnb3JpdG1lXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHZpcyBzdMO4cnJlbHNlciBpIGJ5dGUgZnJlbSBmb3IgaSBldCBsw6ZzZXZlbmxpZ3QgZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgZW4gZnJpIGVuaGVkXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgdmlzIGlra2UgdGVrc3Rob3ZlZGVyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgICAga29sb25uZXIgaSBzdGF0dXN1ZGRhdGFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDYKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIGJydWcgcsOlIHN0YXR1c3VkZGF0YWZvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICBudWxzdGlsIGFsbGUgc3BlY2lmaWNlcmVkZSBlbmhlZGVyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPHN0w7hycmVsc2U+ICAgIGVuaGVkc3TDuHJyZWxzZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDxhbnRhbD4gICAgIGFudGFsIGtvbXByaW1lcmluZ3NzdHLDuG1tZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIHN0csO4bW1lIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgInRpbHZhbGdldCAtLWZpbmQgb2cgPGVuaGVkPiB1ZGVsdWtrZXIgaGluYW5kZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgImt1biBlbiA8ZW5oZWQ+IGFkIGdhbmdlbiBlciB0aWxsYWR0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICJ0aWx2YWxnZW5lIC0tYWxnb3JpdGhtIG9nIC0tc3RyZWFtcyBza2FsIGtvbWJpbmVyZXMgbWVkIC0tc2l6ZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgbnVsc3RpbGxlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgImluZ2VuIGZyaSB6cmFtLWVuaGVkIGJsZXYgZnVuZGV0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgYW5naXZlIGFudGFsbGV0IGFmIHN0csO4bW1lIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGFuZ2l2ZSBhbGdvcml0bWUiCisKKyMgRW5oZWRlciBsaWdnZXIgaSAvZGV2LiAgRi5la3MuIC9kZXYvc2RhLCAvZGV2L3NkYTEsIC9kZXYvc2RhMiwgLi4uCisjIEhlciByZXByw6ZzZW50ZXJlciBzZGEgaGVsZSBkaXNrZW4gbWVucyBzZGExIG9nIHNkYTIgcmVwcsOmc2VudGVyZXIKKyMgcGFydGl0aW9uZXIgYWYgZGVuLiAgRW5oZWRlciBoYXIgb2dzw6UgbnVtcmUuICBOdW1tZXJldCBww6Ugc2RhIG3DpSB2w6ZyZQorIyBodmFkIGRlIG1lbmVyIG1lZCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IGt1bm5lIGlra2UgYW5naXZlIGRpc2tzdMO4cnJlbHNlICglanUgYnl0ZSkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoYXV0b21hdGlzayBsb2dpbmQpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczoga2FuIGlra2Ugw6ZuZHJlIHJvb3QtbWFwcGUgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIMOmbmRyZSBhcmJlamRzbWFwcGUgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczoga2FuIGlra2Ugw6ZuZHJlIHByb2Nlc3ByaW9yaXRldDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpa2tlIHVkZsO4cmUgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzNyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxNDg0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MjYgdGVybS11dGlscy9hZ2V0dHkuYzoyMDkzIHRlcm0tdXRpbHMvYWdldHR5LmM6MjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAia3VubmUgaWtrZSBhbGxva2VyZSBodWtvbW1lbHNlOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiVzIGZyYSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc0OAorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWcgZm9yc2luay1wYXJhbWV0ZXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg2Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciAtLWxvY2FsLWxpbmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJ1Z3lsZGlnIG5pY2UtcGFyYW1ldGVyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJ1Z3lsZGlnIGhhc3RpZ2hlZDogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA4Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiZm9yIG1hbmdlIGZvcnNrZWxsaWdlIGhhc3RpZ2hlZGVyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGthbiBpa2tlIMOlYm5lIHNvbSBzdGFuZGFyZC1pbmQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogaWtrZSBlbiB0ZWduZW5oZWQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IGlra2UgZW4gdHR5IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIGlra2UgaW5kaGVudGUga29udHJvbGxlcmVuZGUgdHR5OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2aGFuZ3VwKCkgbWlzbHlra2VkZXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogaWtrZSDDpWJlbiBmb3IgbMOmc25pbmcvc2tyaXZuaW5nIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIGlra2UgYW5naXZlIHByb2Nlc2dydXBwZTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlczogZHVwLXByb2JsZW06ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBrYW4gaWtrZSBpbmRoZW50ZSB0ZXJtaW5hbGF0dHJpYnV0dGVyOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiYW5naXZlbHNlIGFmIHRlcm1pbmFsYXR0cmlidXR0ZXIgbWlzbHlra2VkZXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgImthbiBpa2tlIMOlYm5lIG9zLXJlbGVhc2UtZmlsICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICJrdW5uZSBpa2tlIG9wcmV0dGUgcmVsb2FkLWZpbDogJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4MzUKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJbdHJ5ayBSRVRVUiBmb3IgbG9naW5kXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayBkZWFrdGl2ZXJldCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIk51bSBMb2NrIGFrdGl2ZXJldCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzIExvY2sgYWt0aXZlcmV0IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sgYWt0aXZlcmV0IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJGaWY6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBsw6ZzdDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IGluZGRhdGFvdmVybMO4YiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IHVneWxkaWcgdGVnbmtvbnZlcnRlcmluZyBmb3IgbG9naW5kbmF2biIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiB1Z3lsZGlndCB0ZWduIDB4JXggaSBsb2dpbmRuYXZuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBrdW5uZSBpa2tlIGFuZ2l2ZSB0ZXJtaW5hbGF0dHJpYnV0dGVyOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW3RpbHZhbGddIDxsaW5qZT4gWzxiYXVkX2hhc3RpZ2hlZD4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbdGlsdmFsZ10gPGJhdWRfaGFzdGlnaGVkPiwuLi4gPGxpbmplPiBbPHRlcm10eXBlPl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIsOFYm4gZW4gdGVybWluYWwgb2cgYW5naXYgZGV0cyB0aWxzdGFuZC5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFudGFnIDgtYml0IHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG9sb2dpbiA8YnJ1Z2VyPiAgIGxvZyBkZW4gYW5naXZuZSBicnVnZXIgaW5kIGF1dG9tYXRpc2tcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM1Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIG51bHN0aWwgaWtrZSBrb250cm9sdGlsc3RhbmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICBicnVnIC1yIDx2w6ZydHNuYXZuPiBmb3IgbG9naW4oMSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsPiAgICAgdmlzIGZpbCBpbmRlaG9sZGVuZGUgcHJvYmxlbWVyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBha3RpdmVyIGZvcmzDuGJza29udHJvbCBmb3IgdWRzdHlyZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgLUgsIC0taG9zdCA8dsOmcnRzbmF2bj4gICAgIGFuZ2l2IGxvZ2luZHbDpnJ0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MAorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICB2aXMgaWtrZSBwcm9ibGVtc3RpbGxpbmdzZmlsXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MQorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJlbmc+IGFuZ2l2IGluaXQtc3RyZW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICByeWQgaWtrZSBza8Omcm1lbiBmw7hyIHByb21wdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWw+ICBhbmdpdiBsb2dpbmRwcm9ncmFtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NAorbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTx0aWxzdD5dIGtvbnRyb2xsZXIgZGV0IGxva2FsZSBsaW5qZWZsYWdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICB1ZHRyw6ZrIGJhdWQtaGFzdGlnaGVkIHVuZGVyIGZvcmJpbmRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBzcMO4cmcgaWtrZSBvbSBsb2dpbmRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICB2aXMgaWtrZSBlbiBueSBsaW5qZSBmw7hyIHNhZ1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDgKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIC1vLCAtLWxvbmdpbi1vcHRpb25zIDx0aWx2PiB0aWx2YWxnIHNvbSBzZW5kZXMgdGlsIGxvZ2luZFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB2ZW50IHDDpSB0YXN0YXR1cnRyeWsgZsO4ciBsb2dpbmRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLWNocm9vdCA8bWFwcGU+ICAgICAgIMOmbmRyIHJvb3QgdGlsIG1hcHBlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICB1ZGbDuHIgdmlydHVlbCBsdWtuaW5nIHDDpSB0dHknZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgZm9yc8O4ZyBhdCBiZXZhcmUgYmF1ZGhhc3RpZ2hlZCBlZnRlciBza2lmdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxudW1tZXI+ICAgICBwcm9jZXN0aWRzdWRsw7hiIGZvciBsb2dpbmRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVrdGVyIHRlcm1pbmFsIG1lZCBzdG9yZSBib2dzdGF2ZXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU1Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB2ZW50IHDDpSBsaW5qZXNraWZ0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIHZpcyBpa2tlIGZpZlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIGludGV0IHbDpnJ0c25hdm4gdmlsIGJsaXZlIHZpc3RcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU4Cittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHZpcyBmdWxkdCBrdmFsaWZpY2VyZXQgdsOmcnRzbmF2blxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTkKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJlbmc+IHlkZXJsaWdlcmUgc2xldCB0aWxiYWdlLXRlZ25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA8c3RyZW5nPiAgeWRlcmxpZ2VyZSBkcsOmYi10ZWduXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAgLS1jaGRpciA8bWFwcGU+ICAgICAgICBjaGRpciBmw7hyIGxvZ2luZCdldFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjIKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8YW50YWw+ICAgICAgICBzb3Zlc2VrdW5kZXIgZsO4ciBwcm9tcHRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPG51bW1lcj4gICAgICAgIGvDuHIgbG9naW5kIG1lZCBkZW5uZSBwcmlvcml0ZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgZ2VuaW5kbMOmcyBwcm9tcHQnZXIgdmVkIGvDuHJzZWwgYWYgYWdldHR5LWluc3RhbnNlclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtdHlwZXMgICAgIHZpcyB1bmRlcnN0w7h0dGVkZSBwYXJ0aXRpb25zdHlwZXIgb2cgYWZzbHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQgYnJ1Z2VyIgorbXNnc3RyWzFdICIlZCBicnVnZXJlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZWNrbmFtZSBtaXNseWtrZWRlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAia2FuIGlra2UgcsO4cmUgZmlsZW4gJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBlciBpa2tlIHVuZGVyc3TDuHR0ZXQgcMOlIGRpdCBzeXN0ZW0iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIlcyBbdGlsdmFsZ10gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OQorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIktvbnRyb2xsZXIgc2tyaXZlYWRnYW5nIGZvciBhbmRyZSBicnVnZXJlIHRpbCBkaW4gdGVybWluYWwuXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICBmb3JrbGFyIGh2YWQgZGVyIHNrZXJcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInR0eW5hbWUgbWlzbHlra2VkZXMiCisKKyMgU8OlIHZpZHQgamVnIGthbiBzZSBpIGtvZGVuLCB1bmRlcnN0w7h0dGVyIGRlbiBrdW4geSBvZyBuCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICJlciB5IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICJlciBuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiw6ZuZHJpbmcgYWYgJXMtdGlsc3RhbmQgbWlzbHlra2VkZXMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgInNrcml2ZWFkZ2FuZyB0aWwgZGluIHRlcm1pbmFsIGVyIHRpbGxhZHQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAic2tyaXZlYWRnYW5nIHRpbCBkaW4gdGVybWluYWwgZXIgaWtrZSB0aWxsYWR0IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbZmlsXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiTGF2IGV0IHR5cGVza3JpcHQgZm9yIGVuIHRlcm1pbmFsc2Vzc2lvbi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10WzxmaWxlPl0sIC0tdGltaW5nWz08ZmlsZT5dIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgb3IgdG8gRklMRVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICB0aWxmw7hqIHVkZGF0YWVuZVxuIgorIiAtYywgLS1jb21tYW5kIDxrb21tYW5kbz4ga8O4ciBrb21tYW5kbyBmcmVtIGZvciBpbnRlcmFrdGl2IHNrYWxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgIHJldHVybmVyIGFmc2x1dGtvZGUgZm9yIHVuZGVycHJvY2VzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgICBrw7hyIHTDuG0gKGZsdXNoKSBlZnRlciBodmVyIHNrcml2bmluZ1xuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgYnJ1ZyB1ZGRhdGFmaWwgc2VsdiBuw6VyIGRldCBlciBlbiBoZW52aXNuaW5nXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICB2w6ZyIHN0aWxsZVxuIgorIiAtdCwgLS10aW1pbmdbPTxmaWw+XSAgICAgdmlzIHRpbWluZ2RhdGEgdGlsIHN0YW5kYXJkZmVqbCAoZWxsZXIgdGlsIEZJTClcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorIlVkZGF0YWZpbCDCuyVzwqsgZXIgZW4gaGVudmlzbmluZy5cbiIKKyJCcnVnIC0tZm9yY2UgaHZpcyBkdSB2aXJrZWxpZyB2aWwgYnJ1Z2UgZGVuLlxuIgorIlByb2dyYW0gYmxldiBpa2tlIHN0YXJ0ZXQuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTa3JpcHQgZsOmcmRpZ3QsIGZpbGVuIGVyICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjg4Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJrYW4gaWtrZSBza3JpdmUgc2tyaXB0ZmlsIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiU2Vzc2lvbiBhZnNsdXR0ZXQuXG4iCisKKyMgJXMgZXIgbm9rIGV0IHRpZHNwdW5rdC4gIEplZyB2aWxsZSBmamVybmUgInDDpSIgc8OlIGRldCBibGl2ZXIKKyMgInDDpWJlZ3luZHQgMTc6MzciIGVsbGVyICJww6ViZWd5bmR0IDE3LTEyLTIwMTAiCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlc1xuIgorbXNnc3RyICJTa3JpcHQgcMOlYmVneW5kdCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNrcmlwdCBrw7hydCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzOQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG1pc2x5a2tlZGVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAibMO4YmV0IHTDuHIgZm9yIHB0eS1lciIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyaXB0IHDDpWJlZ3luZHQsIGZpbGVuIGVyICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiAlcyBbLXRdIHRpbWluZ2ZpbCBbdHlwZXNrcmlwdF0gW27DpnZuZXJdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDgKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiQWZzcGlsIHRlcm1pbmFsdHlwZXNrcmlwdGVyLCB2aWEgYnJ1ZyBhZiB0aW1pbmdpbmZvcm1hdGlvbi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorIywgZnV6enkKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWw+ICAgICAgc2tyaXB0IHVkZGF0YWZpbCBmb3IgdGltaW5nXG4iCisiIC1zLCAtLXR5cGVzY2lycHQgPGZpbD4gIHNrcmlwdCB1ZGRhdGFmaWwgZm9yIHRlcm1pbmFsc2Vzc2lvblxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICDDuGdlIGVsbGVyIHPDpm5rIGvDuHJzZWxzdGlkIG1lZCB0aWRzZGVsZXJcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgdmVudCBow7hqc3QgZGV0dGUgYW50YWwgc2VrdW5kZXIgbWVsbGVtIG9wZGF0ZXJpbmdlclxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJza3Jpdm5pbmcgdGlsIHN0YW5kYXJkLXVkIG1pc2x5a2tlZGVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICJ1dmVudGV0IGxpbmplYWZzbHV0bmluZyBww6UgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSB0eXBlc2tyaXB0ZmlsICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImZvcmtlcnQgYW50YWwgcGFyYW1ldHJlIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSB0aW1pbmdmaWwgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgInRpbWluZ2ZpbCAlczogbGluamUgJWx1OiB1dmVudGV0IGZvcm1hdCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAicGFyYW1ldGVyZmVqbDogbHlzICVzIGVyIGlra2UgdW5kZXJzdMO4dHRldCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiZm9yIG1hbmdlIGluZHJ5ayIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIkFuZ2l2IGF0dHJpYnV0dGVybmUgZm9yIGVuIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxuYXZuPiAgICBvdmVyc2tyaXYgVEVSTS1taWxqw7h2YXJpYWJlbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsc3RpbCB0ZXJtaW5hbCB0aWwgcG93ZXItb24tdGlsc3RhbmRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgbnVsc3RpbCB0ZXJtaW5hbHLDpmtrZXIgb2cga29sb25uZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICB2aXMgaW5pdC1zdHJlbmcsIG9nIGJydWcgc3RhbmRhcmRpbnN0aWxsaW5nZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIGJydWcgc3RhbmRhcmRpbmRzdGlsbGluZ2VyIGZvciB0ZXJtaW5hbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VtIG51dsOmcmVuZGUgdGVybWluYWxpbmRzdGlsbGluZ2VyIHNvbSBzdGFuZGFyZFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgdmlzIG1hcmvDuHJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICB0YXN0YXR1cmdlbnRhZ2Vsc2VcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBwcm9ncmFtdGlsc3RhbmQgZm9yIG1hcmvDuHJ0YXN0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgZm9ydHPDpnQgcMOlIGVuIG55IGxpbmplIG7DpXIgbGluamVuIGVyIGZ1bGRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIGJ5dCBmYXJ2ZXJuZSBvbSBmb3IgaGVsZSBza8Omcm1lblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8ZmFydmU+ICAgYW5naXYgZm9yZ3J1bmRzZmFydmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGZhcnZlPiAgIGFuZ2l2IGJhZ2dydW5kc2ZhcnZlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxmYXJ2ZT4gIGFuZ2l2IGZhcnZlIGZvciB1bmRlcnN0cmVnZXQgdGVrc3RcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGZhcnZlPiAgYW5naXYgZmFydmUgZm9yIGZlZCB0ZWtzdFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgIDxmYXJ2ZT46IHNvcnQgYmzDpSBjeWFuIGdyw7huIGdyw6UgbWFnZW50YSByw7hkIGh2aWQgZ3VsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGZlZFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgLS1oYWxmLWJyaWdodCAgW29ufG9mZl0gICAgICAgICAgIGTDpm1wXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVyc3RyZWdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgYnl0IG9tIHDDpSBmb3JncnVuZHMtIG9nIGJhZ2dydW5kc2ZhcnZlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIHJ5ZCBza8Omcm0gb2cgYW5naXZlIG1hcmvDuHJwb3NpdGlvblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgLS10YWJzICAgICAgICAgIFs8YW50YWw+IC4uLl0gICAgYW5naXYgZGlzc2UgdGFidWxhdG9yLXN0b3Bwb3NpdGlvbmVyLCBlbGxlciB2aXMgZGVtXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIC0tY2xydGFicyAgICAgICBbPGFudGFsPiAuLi5dICAgICByeWQgZGlzc2UgdGFidWxhdG9yLXN0b3Bwb3NpdGlvbmVyLCBlbGxlciBhbGxlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIGFuZ2l2IGV0IHJlZ3Vsw6ZydCB0YWJ1bGF0b3Itc3RvcGludGVydmFsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHPDpnQgdGlkIGZvciBpbmFrdGl2aXRldCBmw7hyIHRvbW1lIHNrw6ZybWVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tZHVtcCAgICAgICAgICBbPG51bW1lcj5dICAgICAgICBza3JpdiB2Y3NhPG51bW1lcj4ta29uc29sZHVtcCB0aWwgZmlsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs8bnVtbWVyPl0gICAgICAgIHRpbGbDuGogdmNzYTxudW1tZXI+LWtvbnNvbGR1bXAgdGlsIGZpbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxmaWxuYXZuPiAgICAgICAgIG5hdm4gcMOlIGR1bXBmaWxlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lYmVza2VkZXIgdGlsIGtvbnNvbGxlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGxvZ25pdmVhdSBmb3Iga2VybmVrb25zb2xcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2l2IHN0csO4bWJlc3BhcmVsc2VzZnVua3Rpb25lciBmb3IgdmVzYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgYW5naXYgbmVkbHVrbmluZ3NpbnRlcnZhbCBmb3IgdmVzYSBpIG1pbnV0dGVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAga2xva2tlbnMgbMOmbmdkZSBpIG1pbGxpc2VrdW5kZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxudW1tZXI+ICAgICAgICAgIGtsb2trZWZyZWt2ZW5zIGkgaGVydHpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgImR1cGxpa2VyIGJydWcgYWYgZXQgdGlsdmFsZyIKKworIyBpZsO4bGdlIG1hbi1maWxlbiBnw7hyIGRlbiAidGhlIHNjcmVlbiIgYmxhbmssIGRldCBsYWRlciB0aWwgYXQgZGVuCisjIHN0eXJlciBzdHLDuG1zcGFyZXRpbHN0YW5kIHPDpSAnYmxhbmsgc2vDpnJtJyB2aWwgbm9rIHbDpnJlIHJpZ3RpZ3QgaSAKKyMgZGVuIGhlciBvZyBkZSBvbWtyaW5nc3TDpWVuZGUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAia2FuIGlra2UgZnJlbXR2aW5nZSBibGFuayBza8Omcm0iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJrYW4gaWtrZSB0dmluZ2UgdWQgYWYgYmxhbmsgc2vDpnJtdGlsc3RhbmQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJrYW4gaWtrZSBpbmRoZW50ZSBzdGF0dXMgZm9yIGJsYW5rIHNrw6ZybSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJrYW4gaWtrZSDDpWJuZSBkdW1wZmlsZW4gJXMgdGlsIHNrcml2bmluZyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRlcm1pbmFsICVzIHVuZGVyc3TDuHR0ZXIgaWtrZSAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAidsOmbGcgKHNlbGVjdCkgbWlzbHlra2VkZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgInN0YW5kYXJkaW5kIHJlZmVyZXIgaWtrZSB0aWwgZW4gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgInVneWxkaWcgbWFya8O4cnBvc2l0aW9uOiAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCittc2dpZCAicmVzZXQgZmFpbGVkIgorbXNnc3RyICJudWxzdGlsbGluZyAocmVzZXQpIG1pc2x5a2tlZGVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDk3Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgImthbiBpa2tlIMOmbmRyZSBzdHLDuG1zcGFyZXRpbHN0YW5kIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJrbG9nY3RsLWZlamwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIGVyIGlra2UgZGVmaW5lcmV0LiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAidGVybWluZm8tZGF0YWJhc2VuIGJsZXYgaWtrZSBmdW5kZXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IHVrZW5kdCB0ZXJtaW5hbHR5cGUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAidGVybWluYWwgZXIgZW4gcGFwaXJ1ZGdhdmUgKGhhcmRjb3B5KSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgImludGVybiBmZWpsOiBmb3IgbWFuZ2UgaW92J2VyIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgInV0cm9saWd0IGxhbmcgbGluamVwYXJhbWV0ZXIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJvcGVuIG1pc2x5a2tlZGVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcmdyZW5lIChmb3JrKSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiVzOiBVR1lMRElHIEZFSkwsIGJlc2tlZCBlciBhbHQgZm9yIGxhbmciCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPGZpbD4gfCA8YmVza2VkPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJTa3JpdiBlbiBiZXNrZWQgdGlsIGFsbGUgYnJ1Z2VyZS5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncnVwcGU+ICAgICBzZW5kIGt1biBiZXNrZWQgdGlsIGdydXBwZVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MworbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICB2aXMgaWtrZSBiYW5uZXIsIHZpcmtlciBrdW4gZm9yIHJvb3RcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDx0aWRzdWQuPiBza3JpdiB0aWRzdWRsw7hiIGkgc2VrdW5kZXJcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTIyCittc2dpZCAiaW52YWxpZCBncm91cCBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBncnVwcGVwYXJhbWV0ZXIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBnaWQiCittc2dzdHIgIiVzOiB1a2VuZHQgZ2lkIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxNjcKK21zZ2lkICJnZXRncm91cGxpc3QgZm91bmQgbW9yZSBncm91cHMgdGhhbiBzeXNjb25mIGFsbG93cyIKK21zZ3N0ciAiZ2V0Z3JvdXBsaXN0IGZhbmR0IGZsZXJlIGdydXBwZXIgZW5kIHN5c2NvbmYgdGlsbGFkZXIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIgZXIga3VuIHRpbGfDpm5nZWxpZyBmb3Igcm9vdCIKKworIzogdGVybS11dGlscy93YWxsLmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgInVneWxkaWcgcGFyYW1ldGVyIGZvciB0aWRzdWRsw7hiOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJrYW4gaWtrZSBpbmRoZW50ZSBhZGdhbmdza29kZS11aWQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgImthbiBpa2tlIGluZGhlbnRlIHR0eS1uYXZuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJSdW5kc2VuZHQgbWVkZGVsZWxzZSBmcmEgJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJrYW4gaWtrZSBsw6ZzZSAlcyAtIGJydWcgc3RhbmRhcmQtaW5kLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gPGJydWdlcj4gWzx0dHluYXZuPl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICJTZW5kIGVuIGJlc2tlZCB0aWwgZW4gYW5kZW4gYnJ1Z2VyLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgImVmZmVrdGl2IGdpZCBtYXRjaGVyIGlra2UgZ3J1cHBlbiAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyBlciBpa2tlIGxvZ2dldCBww6UiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAia2FuIGlra2UgZmluZGUgZGluIHR0eSdzIG5hdm4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyBoYXIgZGVha3RpdmVyZXQgYmVza2VkZXIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyBlciBsb2dnZXQgcMOlIGZsZXJlIGdhbmdlOyBza3JpdmVyIHRpbCAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMgbWlzbHlra2VkZXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiQmVza2VkIGZyYSAlc0AlcyAoc29tICVzKSBww6UgJXMga2xva2tlbiAlMDJkOiUwMmQgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJCZXNrZWQgZnJhICVzQCVzIHDDpSAlcyBrbG9ra2VuICUwMmQ6JTAyZCAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgImR1IGhhciBzbMOlZXQgc2tyaXZlYWRnYW5nIGZyYSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyBlciBpa2tlIGxvZ2dldCBpbmQgcMOlICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgaGFyIGRlYWt0aXZlcmV0IGJlc2tlZGVyIHDDpSAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzUKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiRmlsdHJlciBvbXZlbmR0ZSBsaW5qZWluZGdhbmdlLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWx2YWxnOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIHZpcyBpa2tlIHNsZXQgdGlsYmFnZSAoYmFja3NwYWNlcylcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICB0aWxsYWQgZnJlbWFkIGhhbHZsaW5qZWluZGdhbmdlXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgdmlkZXJlc2VuZCB1a2VuZHRlIGtvbnRyb2xzZWt2ZW5zZXJcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBrb252ZXJ0ZXIgbWVsbGVtcnVtIHRpbCB0YWJ1bGF0b3JlclxuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGtvbnZlcnRlciB0YWJ1bGF0b3JlciB0aWwgbWVsbGVtcnVtXG4iCisiIC1sLCAtLWxpbmVzIEFOVEFMICAgICAgbWVsbGVtbGFnciBtaW5kc3QgQU5UQUwgbGluamVyXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisiIC1ILCAtLWhlbHAgICAgICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKyIlcyBsw6ZzZXIgZnJhIHN0YW5kYXJkaW5kIG9nIHNrcml2ZXIgdGlsIHN0YW5kYXJkdWRcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTUKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgInVneWxkaWd0IC1sIHBhcmFtZXRlciIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImFkdmFyc2VsOiBrYW4gaWtrZSBzaWtrZXJoZWRza29waWVyZSAlcy4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJmb3JiaSBmw7hyc3RlIGxpbmplIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBsaW5qZSBhbGxlcmVkZSBza3JldmV0IHVkIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFt0aWx2YWxnXSBbPGZpbD5dIC4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0cmVyIG5yb2ZmLXZpc25pbmcgZm9yIENSVC1mb3Jow6VuZHN2aXNuaW5nLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgdW5kZXJ0cnlrIGFsIHVuZGVyc3RyZWduaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHZpcyBhbGxlIGhhbHZlIGxpbmplclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJCcnVnOlxuIgorIiAlcyBbc3RhcnRrb2wgW3NsdXRrb2xdXVxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjUKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiRmlsdHJlciBkZSBzcGVjaWZpY2VyZWRlIGtvbG9ubmVyIHVkLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImbDuHJzdGUgcGFyYW1ldGVyIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJhbmRlbiBwYXJhbWV0ZXIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSBrb2xvbm5lIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgY29sdW1uIG5hbWUgJyVzJyIKK21zZ3N0ciAidWRlZmluZXJldCBrb2xvbm5lbmF2biDCuyVzwqsiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAtLXRhYmxlLW9yZGVyIGxpc3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtdHJ1bmMgbGlzdCIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3J0b2xrZSAtLXRhYmxlLXRydW5jIGxpc3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtbm9leHRyZW1lIGxpc3QiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgLS10YWJsZS1ub2V4dHJlbWUgbGlzdCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2UgLS10YWJsZS13cmFwIGxpc3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtaGlkZSBsaXN0IgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIC0tdGFibGUtaGlkZSBsaXN0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgImxpbmplbiAlenU6IGZvciBKU09OIGVyIG5hdm5ldCBww6Uga29sb25uZW4gJXp1IGtyw6Z2ZXQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICJrdW5uZSBpa2tlIGFsbG9rZXJlIHVkZGF0YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIk9wc8OmdCBsaXN0ZXIgaSBrb2xvbm5lci5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIG9wcmV0IGVuIHRhYmVsXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS10YWJsZS1uYW1lIDxuYXZuPiAgICAgICAgICB0YWJlbG5hdm4gZm9yIEpTT04tdWRkYXRhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQyCittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1PLCAtLXRhYmxlLW9yZGVyIDxrb2xvbm5lcj4gICAgIGFuZ2l2IHLDpmtrZWbDuGxnZSBww6UgdWRkYXRha29sb25uZXJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hdm5lPiAgICAgIGtvbW1hYWRza2lsdCBsaXN0ZSBvdmVyIGtvbG9ubmVyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ0Cittc2dpZCAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIgorbXNnc3RyICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxrb2xvbm5lcj4gdMOmbCBpa2tlIGxhbmcgdGVrc3QgZnJhIGtvbG9ubmVybmUgbWVkIHRpbCBrb2xvbm5lYnJlZGRlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGVyXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIHZpcyBpa2tlIHRla3N0aG92ZWRlclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgLUgsIC0tdGFibGUtaGlkZSA8a29sb25uZXI+ICAgICAgdWRza3JpdiBpa2tlIGtvbG9ubmVybmVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDgKK21zZ2lkICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVtbnM+ICAgICAgcmlnaHQgYWxpZ24gdGV4dCBpbiB0aGVzZSBjb2x1bW5zXG4iCittc2dzdHIgIiAtUiwgLS10YWJsZS1yaWdodCA8a29sb25uZXI+ICAgICBow7hqcmVqdXN0ZXIgdGVrc3QgaSBkaXNzZSBrb2xvbm5lclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8a29sb25uZXI+ICBmb3Jrb3J0IHRla3N0IGkga29sb25uZXIgbsOlciBuw7hkdmVuZGlndFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MAorbXNnaWQgIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC1XLCAtLXRhYmxlLXdyYXAgPGtvbG9ubmVyPiAgICAgIG9tc2x1dCB0ZWtzdCBpIGtvbG9ubmVybmUgbsOlciBuw7hkdmVuZGlndFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgYnJ1ZyBKU09OLXVkZGF0YWZvcm1hdCBmb3IgdGFiZWxcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIC1yLCAtLXRyZWUgPGtvbG9ubmU+ICAgICAgICAgICAgIGtvbG9ubmVyIGhhciBldCB0csOmbGlnbmVuZGUgdWRzZWVuZGUgaSB0YWJlbGxlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS10cmVlLWlkIDxrb2xvbm5lPiAgICAgICAgICBsaW5qZS1pZCB0aWwgYXQgYW5naXZlIHVuZGVyL292ZXItcmVsYXRpb25cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtcCwgLS10cmVlLXBhcmVudCA8a29sb25uZT4gICAgICBvdmVya29sb25uZSBzb20gYW5naXZlciB1bmRlci9vdmVyLXJlbGF0aW9uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tb3V0cHV0LXdpZHRoIDxicmVkZGU+ICAgICAgYnJlZGRlIHDDpSB1ZGRhdGEgaSBhbnRhbCB0ZWduXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGtvbG9ubmVhZHNraWxsZXIgZm9yIHRhYmVsbGVyIChzdGFuZGFyZCBlciB0byBtZWxsZW1ydW0pXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlcGFyYXRvciA8c3RyZW5nPiAgICAgICAgIG11bGlnZSB0YWJlbGFmZ3LDpm5zZXJlXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgdWRmeWxkIHLDpmtrZXIgZsO4ciBrb2xvbm5lclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAidWd5bGRpZyBrb2xvbm5lcGFyYW1ldGVyIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgImt1bm5lIGlra2UgZm9ydG9sa2Uga29sb25uZW5hdm5lIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICJ0aWx2YWxnZW5lIC0tdHJlZS1pZCBvZyAtLXRyZWUtcGFyZW50IGVyIGtyw6Z2ZXQgZm9yIHRyw6Zmb3JtYXRlcmluZyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAidGlsdmFsZ2V0IC0tdGFibGUgZXIga3LDpnZldCBmb3IgYWxsZSAtLXRhYmxlLSoiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODIyCittc2dpZCAib3B0aW9uIC0tdGFibGUtY29sdW1ucyByZXF1aXJlZCBmb3IgLS1qc29uIgorbXNnc3RyICJ0aWx2YWxnZXQgLS10YWJsZS1jb2x1bW5zIGVyIGtyw6Z2ZXQgZm9yIC0tanNvbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFs8ZmlsPl0gLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OQorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJWaXMgZmlsaW5kaG9sZCBpIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCBlbGxlciBhc2NpaS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBlbi1ieXRlIG9rdGFsIHZpc25pbmdcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgZW4tYnl0ZSB0ZWdudmlzbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAga2Fub25pc2sgaGV4K0FTQ0lJIHZpc25pbmdcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHRvLWJ5dGUgZGVjaW1hbCB2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdG8tYnl0ZSBva3RhbCB2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdG8tYnl0ZSBoZXhhZGVjaW1hbCB2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08dGlsc3RhbmQ+XSAgZm9ydG9sayBhbnZpc25pbmdlciBmb3IgZmFydmVmb3JtYXRlcmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXRlciBzdHJlbmdlIHNvbSBza2FsIGJydWdlcyB0aWwgdmlzbmluZyBhZiBkYXRhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbD4gICBmaWwgc29tIGluZGVob2xkZXIgZm9ybWF0c3RyZW5nZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA8bMOmbmdkZT4gICAgIGZvcnRvbGsga3VuIGzDpm5nZGVieXRlIGZyYSBpbmRkYXRhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIgLXMsIC0tc2tpcCA8Zm9yc2t5ZG5pbmc+ICB1ZGVsYWQgZm9yc2t5ZG5pbmdzYnl0ZSBmcmEgYmVneW5kZWxzZW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICB2aXMgaWRlbnRpc2tlIGxpbmplclxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgImFsbGUgaW5kZGF0YWZpbHBhcmFtZXRyZSBmZWpsZWRlIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgInVneWxkaWd0IGJ5dGVhbnRhbCB0aWwga29udmVydGVyaW5nc3RlZ24gJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiUlcyBrcsOmdmVyIGVuIHByw6ZjaXNpb24gZWxsZXIgZXQgYnl0ZWFudGFsIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgInVneWxkaWd0IGZvcm1hdCB7JXN9IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAidWd5bGRpZyBrb252ZXJ0ZXJpbmdzdGVnbiAlJSVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJieXRlYW50YWwgbWVkIGZsZXJlIGtvbnZlcnRlcmluZ3N0ZWduIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIkzDpnMgZW4gbGluamUuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIkV0IGZpbGdlbm5lbWzDpnNuaW5nc2ZpbHRlciBmb3IgQ1JULXZpc25pbmcuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3QgaSBzdGVkZXQgZm9yIHJpbmdlbmRlIGtsb2trZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICB0w6ZsIGxvZ2lzayBpIHN0ZWRldCBmb3Igc2vDpnJtbGluamVyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgIHVuZGVydHJ5ayBwYXVzZSBlZnRlciBzaWRlc2tpZnRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICBydWwgaWtrZSwgdmlzIHRla3N0IG9nIHJ5ZCBsaW5qZWVuZGVsc2VyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAgcnVsIGlra2UsIHJ5ZCBza8Omcm0gb2cgdmlzIHRla3N0XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MworbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAtcyAgICAgICAgICBrbGVtIGZsZXJlIHRvbW1lIGxpbmplciBzYW1tZW4gdGlsIGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NAorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgdW5kdHJ5ayB1bmRlcnN0cmVnbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDUKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIiAtPGFudGFsPiAgICAgYW50YWxsZXQgYWYgbGluamVyIHBlciBmdWxkIHNrw6ZybVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDYKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiArPG51bW1lcj4gICB2aXMgZmlsIGJlZ3luZGVuZGUgZnJhIGxpbmplbnVtbWVyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88c3RyZW5nPiAgdmlzIGZpbCBiZWd5bmRlbmRlIGZyYSBzw7hnZXN0cmVuZ3NtYXRjaFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICJ1a2VuZHQgdGlsdmFsZyAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IG1hcHBlICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiBJa2tlIGVuIHRla3N0ZmlsICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW0JydWcgcSBlbGxlciBRIGZvciBhdCBhZnNsdXR0ZV0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1NZXJlLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihOw6ZzdGUgZmlsOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltUcnlrIG1lbGxlbXJ1bSBmb3IgYXQgZm9ydHPDpnR0ZSwgwrtxwqsgZm9yIGF0IGFmc2x1dHRlLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi5iYWsgJWQgc2lkZSIKK21zZ3N0clsxXSAiLi4uYmFrICVkIHNpZGVyIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5zcHJpbmdlciAlZCBsaW5qZSBvdmVyIgorbXNnc3RyWzFdICIuLi5zcHJpbmdlciAlZCBsaW5qZXIgb3ZlciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipUaWxiYWdlKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIkludGV0IHRpZGxpZ2VyZSByZWd1bMOmcnQgdWR0cnlrIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzE0Cittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlIGZsZXN0ZSBrb21tYW5kb2VyIGthbiBlZnRlcmbDuGxnZXMgYWYgZXQgaGVsdGFsIGsuIFN0YW5kYXJkdsOmcmRpZXIgaSBrbGFtbWVyLlxuIgorIlN0amVybmUgKCopIGJldHlkZXIgYXQgcGFyYW1ldGVyZW4gYmxpdmVyIGRlbiBueWUgc3RhbmRhcmR2w6ZyZGkuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMjEKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8bWVsbGVtcnVtPiAgICAgICAgICAgICBWaXMgZGUgbsOmc3RlIGsgbGluamVyIHRla3N0IFtha3R1ZWxsZSBza8Omcm1zdMO4cnJlbHNlXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIFZpcyBkZSBuw6ZzdGUgayBsaW5qZXIgdGVrc3QgW2FrdHVlbGxlIHNrw6ZybXN0w7hycmVsc2VdKlxuIgorIjxyZXR1cj4gICAgICAgICAgICAgICAgIFZpcyBkZSBuw6ZzdGUgayBsaW5qZXIgdGVrc3QgWzFdKlxuIgorImQgZWxsZXIgY3RybC1EICAgICAgICAgIFJ1bCBrIGxpbmplciBbYWt0dWVsbGUgcnVsbGVzdMO4cnJlbHNlLCBzdGFuZGFyZCAxMV0qXG4iCisicSBlbGxlciBRIGVsbGVyIDxpbnRlcnJ1cHQ+ICAgQWZzbHV0IG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBIb3AgayBsaW5qZXIgZnJlbSBpIHRla3N0ZW4gWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgSG9wIGsgc2vDpnJtZnVsZGUgZnJlbSBpIHRla3N0ZW4gWzFdXG4iCisiYiBlbGxlciBjdHJsLUIgICAgICAgICAgSG9wIGsgc2vDpnJtZnVsZGUgdGlsYmFnZSBpIHRla3N0ZW4gWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR8OlIHRpbCBkZXQgc3RlZCwgaHZvciBzaWRzdGUgc8O4Z25pbmcgc3RhcnRlZGVcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBWaXMgYWt0dWVsbGUgbGluamVudW1tZXJcbiIKKyIvPHJlZ3Vsw6ZydCB1ZHRyeWs+ICAgICAgU8O4ZyBlZnRlciBrJ3RlIHRpbGbDpmxkZSBhZiByYWd1bMOmcnQgdWR0cnlrIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFPDuGcgZWZ0ZXIgayd0ZSB0aWxmw6ZsZGUgYWYgc2VuZXN0ZSByZWd1bMOmcmUgdWR0cnlrIFsxXVxuIgorIiE8a21kPiBlbGxlciA6ITxrbWQ+ICAgIFVkZsO4ciA8a21kPiBpIGVuIHVuZGVyc2thbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IC91c3IvYmluL3ZpIHDDpSBha3R1ZWxsZSBsaW5qZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIEdlbm9wdGVnbiBza8Omcm1cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHw6UgdGlsIGsndGUgbsOmc3RlIGZpbCBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHw6UgdGlsIGsndGUgZm9ycmlnZSBmaWwgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgVmlzIGFrdHVlbGxlIGZpbG5hdm4gb2cgbGluamVudW1tZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBHZW50YWcgc2VuZXN0ZSBrb21tYW5kb1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltUcnlrIMK7aMKrIGZvciBpbnN0cnVrdGlvbmVyLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIsK7JXPCqyBsaW5qZSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW0lra2UgZW4gZmlsXSBsaW5qZSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTUxNQorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBPdmVybMO4YlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTY0Cittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4uc3ByaW5nZXIgb3ZlclxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJNw7huc3RlciBpa2tlIGZ1bmRldFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIk3DuG5zdGVyIGlra2UgZnVuZGV0IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAicHJvZ3JhbWvDuHJzZWwgbWlzbHlra2VkZXNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAia3VubmUgaWtrZSBmb3JncmVuZSAoZm9yaylcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5TcHJpbmdlciBvdmVyICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5TcHJpbmdlciB0aWwgZmlsZW4gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uU3ByaW5nZXIgdGlsYmFnZSB0aWwgZmlsZW4gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiRm9yIGxhbmcgbGluamUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMzIKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJJbmdlbiB0aWRsaWdlcmUga29tbWFuZG8gYXQgZXJzdGF0dGUgbWVkIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIGRlbm5lIHNrw6ZybVxuIgorIiAgcSBlbGxlciBRICAgICAgICAgICAgICAgYWZzbHV0IHByb2dyYW1cbiIKKyIgIDxueSBsaW5qZT4gICAgICAgICAgICAgIG7DpnN0ZSBzaWRlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBzcHJpbmcgZW4gc2lkZSBmcmVtXG4iCisiICBkIGVsbGVyIF5EICAgICAgICAgICAgICBuw6ZzdGUgaGFsdmUgc2lkZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbsOmc3RlIGxpbmplXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBmb3JyaWdlIHNpZGVcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHPDuGcgZnJlbWFkIGVmdGVyIHJlZ3Vsw6ZyZSB1ZHRyeWtcbiIKKyIgID9yZWdleD8gZWxsZXIgXnJlZ2V4XiAgIHPDuGcgYmFnbMOmbnMgZWZ0ZXIgcmVndWzDpnJlIHVkdHJ5a1xuIgorIiAgLiBlbGxlciBeTCAgICAgICAgICAgICAgZ2VudGVnbiBza8Omcm1cbiIKKyIgIHcgZWxsZXIgeiAgICAgICAgICAgICAgIGFuZ2l2IHNpZGVzdMO4cnJlbHNlIG9nIGfDpSB0aWwgbsOmc3RlIHNpZGVcbiIKKyIgIHMgZmlsbmF2biAgICAgICAgICAgICAgIGdlbSBha3R1ZWwgZmlsIHRpbCBmaWxuYXZuXG4iCisiICAha29tbWFuZG8gICAgICAgICAgICAgICBza2FsLXVuZHZpZ2V0ZWduXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnw6UgdGlsIGZvcnJpZ2UgZmlsXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnw6UgdGlsIG7DpnN0ZSBmaWxcbiIKKyJcbiIKKyJNYW5nZSBrb21tYW5kb2VyIGFjY2VwdGVyZXIgZm9yZWfDpWVuZGUgdGFsLCBmb3IgZWtzZW1wZWw6XG4iCisiKzE8bnkgbGluamU+IChuw6ZzdGUgc2lkZSk7IC0xPG55IGxpbmplPiAoZm9ycmlnZSBzaWRlKTsgMTxueSBsaW5qZT5cbiIKKyIoZsO4cnN0ZSBzaWRlKS5cbiIKKyJcbiIKKyJTZSBwZygxKSBmb3IgeWRlcmxpZ2VyZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBbdGlsdmFsZ10gWytsaW5qZV0gWysvbcO4bnN0ZXIvXSBbZmlsZXJdXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICJHZW5uZW1zZSBzaWRldmlzIGlnZW5uZW0gdGVrc3RmaWxlci5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1udW1iZXIgICAgICBsaW5qZXIgcGVyIHNpZGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOQorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgcnlkIHNrcsOmbSBmw7hyIHZpc25pbmdcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MAorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICBsYXYgaWtrZSBlbiBwYXVzZSBpIHNsdXRuaW5nZW4gYWYgZW4gZmlsXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDEKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAgb3BkZWwgaWtrZSBsYW5nZSBsaW5qZXJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIHRlcm1pbmVyIGtvbW1hbmRvIG1lZCBueSBsaW5qZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIgLXAgPHByb21wdD4gIGFuZ2l2IHByb21wdFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ0Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIC1yICAgICAgICAgICBkZWFrdGl2ZXIgc2hlbGwgZXNjYXBlIChza2FsdW5kdmlnZWxzZSlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgdWRza3JpdiBiZXNrZWRlciB0aWwgc3RhbmRhcmR1ZFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK251bWJlciAgICAgIHN0YXJ0IHDDpSBkZW4gYW5naXZuZSBsaW5qZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiICsvcGF0dGVybi8gICBzdGFydCBww6UgbGluamVuIGRlciBpbmRlaG9sZGVyIG3DuG5zdGVyZXRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgInRpbHZhbGdldCBrcsOmdmVyIGVuIHBhcmFtZXRlciAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAidWd5bGRpZ3QgdGlsdmFsZyAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM2NworbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4uaG9wcGVyIGZyZW1hZFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiLi4uaG9wcGVyIGJhZ3VkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODUKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIkluZ2VuIG7DpnN0ZSBmaWwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJJbmdlbiBmb3JyaWdlIGZpbCIKKworIyBrYW4gZmlsZW4gJXMgYnJ1Z2VzIGhlcj8KKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIkzDpnNlZmVqbCBmcmEgJXMtZmlsIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIlV2ZW50ZXQgZmlsYWZzbHV0bmluZyBpIGZpbGVuICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiVWtlbmR0IGZlamwgaSBmaWxlbiAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0OQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIkthbiBpa2tlIG9wcmV0dGUgbWlkbGVydGlkaWcgZmlsIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiUkUgZmVqbDogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRmlsYWZzbHV0bmluZykiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJJbmdlbiBnYW1tZWwgc8O4Z2VzdHJlbmciCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJrdW5uZSBpa2tlIMOlYm5lICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAiZ2VtdGUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzUzCittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICFrb21tYW5kbyBpa2tlIHRpbGxhZHQgaSByZmxhZy10aWxzdGFuZC5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIG1pc2x5a2tlZGVzLCBwcsO4diBzZW5lcmVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NzUKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihOw6ZzdGUgZmlsOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIE9waGF2c3JldCAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsZSByZXR0aWdoZWRlciBmb3JiZWhvbGRlcy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICJrdW5uZSBpa2tlIGZvcnRvbGtlIGFudGFsbGV0IGFmIGxpbmplciBwZXIgc2lkZSIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiQnJ1ZzogJXMgW3RpbHZhbGddIFtmaWwgLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgxCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICJWZW5kIGxpbmplciBwZXIgdGVnbi5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW3RpbHZhbGddIFs8ZmlsPiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiVWRmw7hyIHVuZGVyc3RyZWduaW5nLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnNrcml2IFRFUk0tbWlsasO4dmFyaWFibGVuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcnN0cmVnbmluZyBpbmRpa2VyZXMgbWVkIGVuIHNlcGFyYXQgbGluamVcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAicHJvYmxlbWVyIHZlZCBsw6ZzbmluZyBhZiB0ZXJtaW5mbyIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgInRlcm1pbmFsIMK7JXPCqyBlciBpa2tlIGtlbmR0LCBicnVnZXIgc3RhbmRhcmQgwrtkdW1iwqsiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAidWtlbmR0IHVuZHZpZ2Vsc2Vzc2VrdmVucyBpIGluZGRhdGE6ICVvLCAlbyIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJGb3IgbGFuZyBpbmRkYXRhbGluamUuIgorCisjfiBtc2dpZCAiR2VvbWV0cnkiCisjfiBtc2dzdHIgIkdlb21ldHJpIgorCisjfiBtc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCisjfiBtc2dzdHIgImh2aWxrZW4gc2xhZ3MgbMOlczogRkxfRkxPQ0sgZWxsZXIgRkxfUE9TSVguIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAia3VubmUgaWtrZSBrw7hyZSAvYmluL3Vtb3VudCBmb3Igwrslc8KrIgorCisjfiBtc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKKyN+IG1zZ3N0ciAic292ZXIgfiVkIHVzZWtcbiIKKworI34gbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKKyN+IG1zZ3N0ciAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKKyN+IG1zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmlzIGZsZXJlIGRldGFsamVyXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKKyN+IG1zZ3N0ciAia3VubmUgaWtrZSBsw6ZzZSBmcmE6ICVzIgorCisjfiBtc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorI34gbXNnc3RyICJrdW5uZSBpa2tlIGvDuHJlOiAlcyIKKworI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgImlra2UgdW5kZXJzdMO4dHRldCBhbGdvcml0bWU6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRlc3QgbW9kZTogJXMgd2FzIG5vdCB1cGRhdGVkIHdpdGg6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJUZXN0dGlsc3RhbmQ6ICVzIGJsZXYgaWtrZSBvcGRhdGVyZXQgbWVkOlxuIgorI34gIiVzIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiS3VubmUgaWtrZSDDpWJuZSBmaWxlbiBtZWQgdXJqdXN0ZXJpbmdzcGFyYW1ldHJlbmUgKCVzKSB0aWwgc2tyaXZuaW5nIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorI34gbXNnc3RyICJLdW5uZSBpa2tlIG9wZGF0ZXJlIGZpbGVuIG1lZCB1cmp1c3RlcmluZ3NwYXJhbWV0cmVuZSAoJXMpIgorCisjfiBtc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKKyN+IG1zZ3N0ciAiSGFzdGlnaGVkc2p1c3RlcmluZyBibGV2IGlra2Ugb3BkYXRlcmV0LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUZXN0IG1vZGU6IGVwb2NoIHdhcyBub3Qgc2V0IHRvICVzLlxuIgorI34gbXNnc3RyICJUZXN0dGlsc3RhbmQ6IHVyZXQgYmxldiBpa2tlIMOmbmRyZXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtVlxuIgorI34gIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb21tYW5kczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJydWc6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBbZW5oZWRlcl1cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGtvbW1hbmRlcmVyIGVuaGVkZXJcbiIKKyN+ICJcbiIKKyN+ICJUaWxnw6ZuZ2VsaWdlIGtvbW1hbmRvZXI6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUaWxnw6ZuZ2VsaWdlIGtvbG9ubmVyIChmb3IgLW8pOlxuIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAic8O4Z2VmZWpsIHDDpSAlcyIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dDtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgLVYgc29tIC0tdmVyc2lvbiBza2FsIHbDpnJlIGRldCBlbmVzdGUgdGlsdmFsZ1xuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgdmlzIGRlbm5lIGhqw6ZscGV0ZWtzdCBvZyBhZnNsdXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUaWxnw6ZuZ2VsaWdlIGtvbG9ubmVyIChmb3IgLS1zaG93LCAtLXJhdyBlbGxlciAtLXBhaXJzKTpcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisKKyN+IG1zZ2lkICJUcnkgJyVzIC1oJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiQnJ1ZyDCuyVzIC1owqsgZm9yIHlkZXJsaWdlcmUgZGV0YWxqZXIuXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjfiBtc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtdSwgLS1oZWxwICAgICB2aXMgZGVubmUgaGrDpmxwZXRla3N0IG9nIGFmc2x1dFxuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiSW5nZW4ga2VuZHRlIHNrYWxsZXIuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVGlsZ8OmbmdlbGlnZSBrb2xvbm5lcjpcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiICVzIFt0aWx2YWxnXSAtdSA8YnJ1Z2VyPiBbWy0tXTxrb21tYW5kbz5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUaWxnw6ZuZ2VsaWdlIGtvbG9ubmVyIChmb3IgLS1vdXRwdXQpOlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJCcnVnIMK7JXMgLS1oZWxwwqsgZm9yIHlkZXJsaWdlcmUgZGV0YWxqZXIuXG4iCisKKyN+IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBmb3JrbGFyIGh2YWQgZGVyIHNrZXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorI34gIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIG9wcmV0IHV1aWQgYmFzZXJldCBww6UgdGlsZsOmbGRpZ2UgdGFsXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgb3ByZXQgdXVpZCBiYWVyZXQgcMOlIHRpZHNwdW5rdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisjfiAiXG4iCisKKyMgZGVuIHNpZHN0ZSBtw6UgdsOmcmUgbm9nZXQgbWVkIG9tIHVkc2tyaWZ0ZW4ga2FuIGZvcnRvbGtlcyBhZiBldAorIyBtZW5uZXNrZSAocHJpbnRhYmxlIGZvcm1hdCkgZWxsZXIgZW4gbWFza2luZSAocGFyc2FibGUpLgorIyBlbGxlciBtw6Vza2UgdWRza3JpdiBpIGZvcnRvbGtuaW5ncy0gZnJlbSBmb3IgbMOmc2Vmb3JtYXQKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICBmamVybiBhbGxlIG1hZ2lza2Ugc3RyZW5nZSAoVsOGUiBGT1JTSUdUSUchKVxuIgorI34gIiAtYiwgLS1iYWNrdXAgICAgICAgIG9wcmV0IGVuIHNpZ25hdHVyc2lra2VyaGVkc2tvcGkgaSAkSE9NRVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIGZyZW10dmluZyBzbGV0bmluZ1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIGRlbm5lIGhqw6ZscGV0ZWtzdFxuIgorI34gIiAtbiwgLS1uby1hY3QgICAgICAgIGFsdCBza2FsIHVkZsO4cmVzIHVuZHRhZ2VuIGthbGRldCB3cml0ZSgpXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgZm9yc2t5ZG5pbmcgYXQgc2xldHRlLCBpIGJ5dGVcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICB1ZHNrcml2IGkgZm9ydG9sa25pbmdzLSBmcmVtIGZvciBsw6ZzZWZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHVuZGVydHJ5ayB2aXNuaW5nc2Jlc2tlZGVyXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0ZT4gICBiZWdyw6ZucyBzw6Z0dGV0IGFmIGZpbGVzeXN0ZW1lciwgUkFJRCdlciBlbGxlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbnN0YWJlbGxlclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorI34gbXNnc3RyICJNYXNraW51cmV0cyByZWdpc3RyZSBpbmRlaG9sZGVyIHbDpnJkaWVyLCBkZXIgZW50ZW4gZXIgdWd5bGRpZ2UgKGYuZWtzLiA1MC4gZGFnIGkgbcOlbmVkZW4pIGVsbGVyIHVkZW4gZm9yIGRldCBvbXLDpWRlLCB2aSBrYW4gaMOlbmR0ZXJlIChmLmVrcy4gw6VyIDIwOTUpLiIKKworI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCisjfiBtc2dzdHIgIk1hc2tpbnVyZXQgaW5kZWhvbGRlciBpa2tlIGVuIGd5bGRpZyB0aWQsIHPDpSB2aSBrYW4gaWtrZSBzw6Z0dGUgc3lzdGVtdXJldCBtZWQgZGV0LiIKKworI34gbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisjfiBtc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyN+IG1zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKKyN+IG1zZ3N0ciAiU2thbCB2w6ZyZSBzdXBlcmJydWdlciBmb3IgYXQgc8OmdHRlIHN5c3RlbXVyZXQuIgorCisjfiBtc2dpZCAiXHRVVEM6ICVzXG4iCisjfiBtc2dzdHIgIlx0VVRDIChHTVQpOiAlc1xuIgorCisjfiBtc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKKyN+IG1zZ3N0ciAiSnVzdGVyZWRlIGlra2UgaGFzdGlnaGVkc2Zha3RvcmVuLCBkYSBtYXNraW51cmV0IHRpZGxpZ2VyZSBoYXZkZSBlbiB1Z3lsZGlnIHbDpnJkaS5cbiIKKworI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCisjfiBtc2dzdHIgIk1hc2tpbnVyZXQgaW5kZWhvbGRlciBpa2tlIGVuIGd5bGRpZyB0aWQsIHPDpSB2aSBrYW4gaWtrZSBqdXN0ZXJlIGRldC4iCisKKyN+IG1zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiJWxkIHNla3VuZGVyIGVmdGVyIDE5NjkgZXIgUlRDIGZvcnVkc2V0IHRpbCBhdCBsw6ZzZSAlbGQgc2VrdW5kZXIgZWZ0ZXIgMTk2OS5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIkt1bm5lIGlra2UgaGVudGUgZW4gZXBva2V2w6ZyZGkgZnJhIGtlcm5lbi4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIktlcm5lbiBnw6VyIHVkIGZyYSBlbiBlcG9rZXbDpnJkaSBww6UgJWx1XG4iCisKKyN+IG1zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorI34gbXNnc3RyICJGb3IgYXQgc8OmdHRlIGVwb2tldsOmcmRpZW4sIHNrYWwgZHUgYnJ1Z2UgdGlsdmFsZ2V0IGVwb2NoIGZvciBhdCBhbmdpdmUgaHZpbGtlbiB2w6ZyZGksIGRlbiBza2FsIHPDpnR0ZXMgdGlsLiIKKworI34gbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIlPDpnR0ZXIgSUtLRSBlcG9rZXbDpnJkaWVuIHRpbCAlbHUgLSB0ZXN0ZXIgYmFyZS5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgIkt1bm5lIGlra2Ugc8OmdHRlIGVwb2tldsOmcmRpZW4gaSBrZXJuZW4uXG4iCisKKyN+IG1zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorI34gbXNnc3RyICJGb3Jlc3DDuHJnIGVsbGVyIGluZHN0aWwgbWFza2ludXJldC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisjfiAiIC1yLCAtLXNob3cgICAgICAgICAgIGzDpnMgbWFza2ludXIgb2cgdmlzIHJlc3VsdGF0ZXRcbiIKKyN+ICIgICAgIC0tZ2V0ICAgICAgICAgICAgbMOmcyBtYXNraW51ciBvZyB2aXMgZGV0IGRyaWZ0a29ycmlnZXJlZGUgcmVzdWx0YXRcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAgc8OmdCBSVEMnZW4gdGlsIHRpZGVuIGFuZ2l2ZXQgbWVkIC0tZGF0ZVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0taGN0b3N5cyAgICAgICAgYW5naXYgc3lzdGVtdGlkZW4gZnJhIG1hc2tpbnVyZXRcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgYW5naXYgbWFza2ludXJldCBmcmEgZGVuIG51dsOmcmVuZGUgc3lzdGVtdGlkXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIGFuZ2l2IHN5c3RlbXRpZGVuIGJhc2VyZXQgcMOlIGRlbiBudXbDpnJlbmRlIHRpZHN6b25lXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgICAgIGp1c3RlciBSVEMnZW4gZm9yIGF0IHRhZ2UgaMO4amRlIGZvciBzeXN0ZW1hdGlzayBqdXN0ZXJpbmcgc2lkZW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB1cmV0IHNpZHN0IGJsZXYgaW5kc3RpbGxldCBlbGxlciBqdXN0ZXJldFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIHVkc2tyaXYga2VybmVtYXNraW51cmV0cyBlcG9rZXbDpnJkaVxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBzw6Z0IGtlcm5lbWFza2ludXJldHMgZXBva2V2w6ZyZGkgdGlsIHbDpnJkaWVuXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgYW5naXZldCBtZWQgLS1lcG9jaFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tcHJlZGljdCAgICAgICAgZm9ydWRzaWcgUlRDLWzDpnNuaW5nIHDDpSB0aWQgYW5naXZldCBtZWQgLS1kYXRlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIG1hc2tpbnVyZXQgdXIgaG9sZGVzIGkgVVRDXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIG1hc2tpbnVyZXQgaG9sZGVzIGkgbG9rYWwgdGlkXG4iCisKKyN+IG1zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiIC1mLCAtLXJ0YyA8ZmlsPiAgICAgIHNwZWNpZWwgL2Rldi8uLi4tZmlsIGF0IGJydWdlIGkgc3RlZGV0IGZvciBzdGFuZGFyZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIHRpbGfDpSBJU0EtYnVzc2VuIGRpcmVrdGUgaSBzdGVkZXQgZm9yICVzXG4iCisjfiAiICAgICAtLWRhdGUgPHRpZGU+ICAgIGFuZ2l2ZXIgdGlkc3B1bmt0ZXQgc29tIHVyZXQgc2thbCBpbmRzdGlsbGVzIG1lZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorI34gIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS11cGRhdGUtZHJpZnQgICBvcGRhdGVyIGRyaWZ0ZmFrdG9yIGkgJTEkcyAoa3LDpnZlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IGVsbGVyIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgdGlsZ8OlIGlra2UgJTEkczsgZGV0dGUga3LDpnZlciBicnVnZW4gYWZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBlbnRlbiAtLXV0YyBlbGxlciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgLS1hZGpmaWxlIDxmaWw+ICBzcGVjaWZpY2VyZXIgc3RpZW4gdGlsIGp1c3RlcmluZ3NmaWxlbjtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFyZGVuIGVyICUxJHNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgb3BkYXRlciBpa2tlIG5vZ2V0LCBiYXJlIGh2aXMgaHZhZCBkZXIgdmlsbGUgc2tlXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGZlamxzw7hnbmluZ3N0aWxzdGFuZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKKyN+IG1zZ3N0ciAidWd5bGRpZ3QgZXBva2VwYXJhbWV0ZXIiCisKKyN+IG1zZ2lkICJyb290IHByaXZpbGVnZXMgbWF5IGJlIHJlcXVpcmVkIgorI34gbXNnc3RyICJyb290LXByaXZpbGVnaWVyIGthbiB2w6ZyZSBrcsOmdmV0IgorCisjfiBtc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCisjfiBtc2dzdHIgIiVzIGhhciBpbmdlbiBpbnRlcnJ1cHRmdW5rdGlvbmVyLiAiCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAiaW9jdGwoKSB0aWwgJXMgZm9yIGF0IGFmYnJ5ZGUgb3BkYXRlcmluZ3NpbnRlcnJ1cHRzIG1pc2x5a2tlZGVzIHV2ZW50ZXQiCisKKyN+IG1zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorI34gbXNnc3RyICJGb3IgYXQgbWFuaXB1bGVyZSBlcG9rZXbDpnJkaWVuIGkga2VybmVuLCBza2FsIHZpIGhhdmUgYWRnYW5nIHRpbCBMaW51eCDCu3J0Y8KrLWVuaGVkc2RyaXZlcmVuIHZpYSBlbmhlZHNzcGVjaWVsZmlsZW4uIERlbm5lIGZpbCBmaW5kZXMgaWtrZSBww6UgZGV0dGUgc3lzdGVtLiIKKworI34gbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorI34gbXNnc3RyICJ2aSBoYXIgYWZsw6ZzdCBlcG9rZXbDpnJkaSAlbHUgZnJhICVzIG1lZCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKworI34gbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCisjfiBtc2dzdHIgIkVwb2tldsOmcmRpZW4gbcOlIGlra2UgdsOmcmUgbWluZHJlIGVuZCAxOTAwLiBEdSBiYWQgb20gJWxkIgorCisjfiBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnc3RyICJzw6Z0dGVyIGVwb2tldsOmcmRpZW4gdGlsICVsdSBtZWQgZW4gUlRDX0VQT0NIX1NFVCBpb2N0bCB0aWwgJXMuXG4iCisKKyN+IG1zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorI34gbXNnc3RyICJLZXJuZW5zIGVuaGVkc2RyaXZlciBmb3IgJXMgaGFyIGlra2UgZW4gUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiJXNcbiIKKyN+ICJCcnVnIMK7JXMgLS1oZWxwwqsgZm9yIHlkZXJsaWdlcmUgaW5mb3JtYXRpb24uIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiQnJ1ZyDCuyVzIC0taGVscMKrIGZvciB5ZGVybGlnZXJlIGluZm9ybWF0aW9uLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUaWxnw6ZuZ2VsaWdlIGtvbG9ubmVyIChmb3IgLS1zaG93KTpcbiIKKworI34gbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorI34gbXNnc3RyICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBmw6UgZHJpdmVyZW4gdGlsIGF0IHN0b2xlIHDDpSBpcnFcbiIKKworI34gbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgdmlzIHZlcnNpb25zaW5mb3JtYXRpb24gb2cgYWZzbHV0XG4iCisKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHZpcyB2ZXJzaW9uc2luZm9ybWF0aW9uIG9nIGFmc2x1dFxuIgorCisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZpcyBkZW5uZSBoasOmbHBldGVrc3Qgb2cgYWZzbHV0XG4iCisKKyN+IG1zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtViAgICAgICAgICB2aXMgdmVyc2lvbnNpbmZvcm1hdGlvbiBvZyBhZnNsdXRcbiIKZGlmZiAtLWdpdCBhL3BvL2RlLnBvIGIvcG8vZGUucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzgzYzcyOQotLS0gL2Rldi9udWxsCisrKyBiL3BvL2RlLnBvCkBAIC0wLDAgKzEsMjA4MzkgQEAKKyMgR2VybWFuIHRyYW5zbGF0aW9uIGZvciB1dGlsLWxpbnV4CisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjCisjIENvcHlyaWdodCDCqSAxOTk5LCAyMDAwLCAyMDAxLCAyMDE0IEVscm9uZCA8RWxyb25kQFd1bmRlci1OZXR0Lm9yZz4KKyMgQ29weXJpZ2h0IMKpIDIwMDEsIDIwMDIgS2FybCBFaWNod2FsZGVyLgorIyBDb3B5cmlnaHQgwqkgTWljaGFlbCBQaWVmZWwgPHBpZWZlbEBpbmZvcm1hdGlrLmh1LWJlcmxpbi5kZT4sIDIwMDIsIDIwMDQsIDIwMDUsIDIwMDcsIDIwMDguCisjIENvcHlyaWdodCDCqSAyMDExLDIwMTUsMjAxNiBQaGlsaXBwIFRob21hcyA8cHRoQHN1c2UuZGU+CisjIENvcHlyaWdodCDCqSAyMDEyIEFydW4gUGVyc2F1ZCA8YXJ1bkBudWJhdGkubmV0PgorIyBDb3B5cmlnaHQgwqkgMjAxNCBCZW5qYW1pbiBXZWlzIDxiZW5qYW1pbi53ZWlzQGdteC5jb20+CisjIE1hcmlvIEJsw6R0dGVybWFubiA8bWFyaW8uYmxhZXR0ZXJtYW5uQGdtYWlsLmNvbT4sIDIwMTQsIDIwMTUuCisjIFBoaWxpcHAgVGhvbWFzIDxwdGhAc3VzZS5kZT4sIDIwMTQsIDIwMTUsIDIwMTcuCisjCisjIE5vdGU6CisjID09PT09CisjIENoYW5nZXMgZG9uZSBieSBLYXJsIEVpY2h3YWxkZXIgYXJlIHB1dCBpbnRvIHRoZSBQdWJsaWMgRG9tYWluLgorIyBNaW5lIHRvby4gTVBpCisjIEFuZCBtaW5lIGFsc28gcHRoCisjIFNhbWUgaGVyZSBBUAorIworIyBBcyByZXF1ZXN0ZWQgaGVyZSBpcyB0aGUgdW5tb2RpZmllZCBoZWFkZXI6CisjCisjIC09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LSBjdXQgaGVyZSAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0KKyMgR2VybWFuIHRyYW5zbGF0aW9uIGZvciB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgKEMpIDE5OTksIDIwMDAsIDIwMDEgRWxyb25kIDxFbHJvbmRAV3VuZGVyLU5ldHQub3JnPi4KKyMKKyMgJFJldmlzaW9uOiAxLjQyICQKKyMKKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkLCB0aGF0IHRoaXMKKyMgaGVhZGVyIGlzIG5vdCByZW1vdmVkIGFuZCBtb2RpZmllZCB2ZXJzaW9ucyBhcmUgbWFya2VkCisjIGFzIHN1Y2guCisjCisjIElmIHlvdSBoYXZlIGFkZGl0aW9ucy9jaGFuZ2VzL290aGVyIHJlcXVlc3RzLCBwbGVhc2UKKyMgc2VuZCB0aGVtIHRvIG1lIChFbHJvbmQgPEVscm9uZEBXdW5kZXItTmV0dC5vcmc+KSEKKyMKKyMgUGVvcGxlIHdobyBoZWxwZWQgb3IgY29udHJpYnV0ZWQgKGluIGhpc3RvcmljYWwgb3JkZXIpOgorIyAgIE1hcnRpbiBTY2h1bHplIDxqb2V5QGluZm9kcm9tLm5vcnRoLmRlPgorIyAgIERhbmllbCBFZ2dlciA8RGFuaWVsLkVnZ2VyQHN1c2UuZGU+CisjICAgZGVsaUEgPGRlbGlBQFd1bmRlci1OZXR0Lm9yZz4KKyMKKyMgU3VibWl0dGVkIHRvIHRoZSBUUCAyMDAxLTA3LTE4IDE0OjMyOjQ3IENFU1QgLWtlLQorIworIyAtPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS0gY3V0IGhlcmUgLT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCisjCisjIEhpbndlaXNlIHp1ciDDnGJlcnNldHp1bmc6CisjID09PT09PT09PT09PT09PT09PT09PT09PT0KKyMgY29tbWFuZCDigJMgQmVmZWhsCisjIGJhZCAgICAg4oCTIGJlc2Now6RkaWd0ICh6LiBCLiDigJ5iZXNjaMOkZGlndGUgQmzDtmNrZeKAnCkKKyMgICAgICAgICAgIGJ6dy4gdW5nw7xsdGlnICh6LiBCLiDigJ51bmfDvGx0aWdlIOKAmm1hZ2ljIG51bWJlcuKAmCBpbSBTdXBlcmJsb2Nr4oCcKQorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjMwLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTA1LTMxIDEyOjU3KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFBoaWxpcHAgVGhvbWFzIDxwdGhAc3VzZS5kZT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBHZXJtYW4gPHRyYW5zbGF0aW9uLXRlYW0tZGVAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiBkZVxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorIlgtR2VuZXJhdG9yOiBQb2VkaXQgMS43LjNcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxEYXRlbnRyw6RnZXJnZXLDpHQ+IDxQYXJ0aXRpb25zbnVtbWVyPiA8U3RhcnQ+IDxMw6RuZ2U+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJEZW4gS2VybmVsIMO8YmVyIGRpZSBFeGlzdGVueiBlaW5lciBhbmdlZ2ViZW5lbiBQYXJ0aXRpb24gaW5mb3JtaWVyZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjUzIGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNDQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTMKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxMzMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTUgbWlzYy11dGlscy9raWxsLmM6MjY5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTEgbWlzYy11dGlscy9yZW5hbWUuYzoxOTkgbWlzYy11dGlscy93aGVyZWlzLmM6NTE4CisjOiBzeXMtdXRpbHMvZmxvY2suYzoxNzUgc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHN5cy11dGlscy9sZGF0dGFjaC5jOjM2OAorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE0NiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDEgc3lzLXV0aWxzL3R1bmVscC5jOjE1MgorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NTkgdGVybS11dGlscy9hZ2V0dHkuYzo4NjAgdGVybS11dGlscy9hZ2V0dHkuYzo4NjgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODY5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIk5pY2h0IGdlbnVnIEFyZ3VtZW50ZSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTggZGlzay11dGlscy9ibG9ja2Rldi5jOjI5NSBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDM5CisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDY1IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjcxOCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1OQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY0IGRpc2stdXRpbHMvZmRpc2suYzoxMDY2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMjEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozODAgZGlzay11dGlscy9mc2NrLmM6MTQ3MAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEyCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDIgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MgorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYwCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODAwIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyNAorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTcgZGlzay11dGlscy9ta3N3YXAuYzoyNDYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTMKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMyBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjcxMQorIzogZGlzay11dGlscy9zZmRpc2suYzo3NjUgZGlzay11dGlscy9zZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzo4OTgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAwNgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY1IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjUgbGliZmRpc2svc3JjL2JzZC5jOjY0MAorIzogbGliL3BhdGguYzo5NSBsaWIvcGF0aC5jOjExMyBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3NAorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0MyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1MgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzQgbG9naW4tdXRpbHMvdmlwdy5jOjI2MSBsb2dpbi11dGlscy92aXB3LmM6Mjc5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk5IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyMyBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxOTggc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODIgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5NgorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI0IHN5cy11dGlscy9lamVjdC5jOjQ5OSBzeXMtdXRpbHMvZWplY3QuYzo2OTUKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozOTYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE3IHN5cy11dGlscy9mc3RyaW0uYzo3NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMjcgc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTQgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAwCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkyIHN5cy11dGlscy9uc2VudGVyLmM6MTI5CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTkzIHN5cy11dGlscy9yZmtpbGwuYzo1NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjg2IHN5cy11dGlscy9zZXRwcml2LmM6Mjc2IHN5cy11dGlscy9zZXRwcml2LmM6NjE0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzNyBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc1IHN5cy11dGlscy9zd2Fwb24uYzo1MTgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2NyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwOCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIyIHN5cy11dGlscy93ZGN0bC5jOjM3OCBzeXMtdXRpbHMvenJhbWN0bC5jOjUwOAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzUyIHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2MAorIzogdGVybS11dGlscy9zY3JpcHQuYzo0NjggdGVybS11dGlscy9zY3JpcHQuYzo1NTkKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk4IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAxCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTkgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTM0CisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3VsLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgUGFydGl0aW9uc251bW1lcm5hcmd1bWVudCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBTdGFydGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTAKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgTMOkbmdlbmFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJIaW56dWbDvGdlbiBkZXIgUGFydGl0aW9uIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJhdWYgTnVyLUxlc2VuIGZlc3RsZWdlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgImF1ZiBMZXNlbi1TY2hyZWliZW4gZmVzdGxlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJOdXItTGVzZW4tU3RhdHVzIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJkaWUgVW50ZXJzdMO8dHp1bmcgdm9tIFZlcndlcmZlbiB2b24gTnVsbGVuIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAibG9naXNjaGUgQmxvY2stIGJ6dy4gU2VrdG9yZ3LDtsOfZSBlcm1pdHRlbG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJwaHlzaXNjaGUgQmxvY2stIGJ6dy4gU2VrdG9yZ3LDtsOfZSBlcm1pdHRlbG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibWluaW1hbGUgRS9BLUdyw7bDn2UgZXJtaXR0ZWxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9wdGltYWxlIEUvQS1HcsO2w59lIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJWZXJzYXR6IGRlciBBdXNyaWNodHVuZyBpbiBCeXRlIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiTWF4aW1hbGUgQW56YWhsIGFuIFNla3RvcmVuIHBybyBBbmZvcmRlcnVuZyBlcm1pdHRlbG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJCbG9ja2dyw7bDn2UgZXJtaXR0ZWxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJCbG9ja2dyw7bDn2UgaW0gRGF0ZWlkZXNrcmlwdG9yIHp1bSDDlmZmbmVuIGRlcyBibG9ja29yaWVudGllcnRlbiBHZXLDpHRzIGZlc3RsZWdlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIjMyLUJpdC1TZWt0b3ItWsOkaGxlciBlcm1pdHRlbG4gKHZlcmFsdGV0LCBiaXR0ZSAtLWdldHN6IHZlcndlbmRlbikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiR3LDtsOfZSBpbiBCeXRlIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgIlJlYWRhaGVhZCAodm9yYXVzc2NoYXVlbmRlcyBMZXNlbikgZmVzdGxlZ2VuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiUmVhZGFoZWFkIGVybWl0dGVsbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiUmVhZGFoZWFkICh2b3JhdXNzY2hhdWVuZGVzIExlc2VuKSBmw7xyIERhdGVpc3lzdGVtIGZlc3RsZWdlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiUmVhZGFoZWFkIGbDvHIgRGF0ZWlzeXN0ZW0gZXJtaXR0ZWxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAiUHVmZmVyIGxlZXJlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlIGVybmV1dCBlaW5sZXNlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NgorIywgZnV6enkKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgenVzw6R0emxpY2hlIEluZm9tZWxkdW5nZW4gdW50ZXJkcsO8Y2tlblxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYXVzZsO8aHJsaWNoZXIgTW9kdXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiVmVyZsO8Z2JhcmUgU3BhbHRlbjpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMgR3LDtsOfZSBpbiBBbnphaGwgdm9uIDUxMi1CeXRlIFNla3RvcmVuIGVybWl0dGVsblxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImtlaW4gR2Vyw6R0IGFuZ2VnZWJlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIkRpZSBHcsO2w59lIGRlcyBHZXLDpHRlcyBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJVbmJla2FubnRlciBCZWZlaGw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBiZW7DtnRpZ3QgZWluIEFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIklPQ1RMLUZlaGxlciBiZWkgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBpc3QgZmVobGdlc2NobGFnZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyB3dXJkZSBlcmZvbGdyZWljaCBiZWVuZGV0LlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczogc3lzZnMtSGFuZGxlciBrYW5uIG5pY2h0IGluaXRpYWxpc2llcnQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXM6IERlciBCZWdpbm4gZGVyIFBhcnRpdGlvbiBrb25udGUgbmljaHQgdm9tIFN5c2ZzIGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIk51ckwgIFJBICAgU0dyICAgQkdyICAgU3RhcnRzZWsgICAgICAgICAgICBHcsO2w59lICBHZXLDpHRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiIEJvb3Rmw6RoaWciCisKKyMgIkJvb3Rmw6RoaWdrZWl0IGRlciBha3R1ZWxsZW4gUGFydGl0aW9uIMOkbmRlcm4iIChqb2V5KQorIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIihEZSlBa3RpdmllcmVuIGRlciBCb290ZsOkaGlnLU1hcmtpZXJ1bmcgZGVyIGFrdHVlbGxlbiBQYXJ0aXRpb24iCisKKyMgIkzDtnNjaGVuIgorIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIkzDtnNjaGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkRpZSBha3R1ZWxsZSBQYXJ0aXRpb24gbMO2c2NoZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAiR3LDtsOfZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJEaWUgYWt0dWVsbGUgUGFydGl0aW9uIGzDtnNjaGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTmV1ZSIKKworIyAiRXJ6ZXVnZSBhdXMgZGVtIGZyZWllbiBCZXJlaWNoIGVpbmUgbmV1ZSBQYXJ0aXRpb24iCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiTmV1ZSBQYXJ0aXRpb24gaW0gZnJlaWVuIEJlcmVpY2ggYW5sZWdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IgorbXNnc3RyICJFbmRlIgorCisjICJCZWVuZGUgZGFzIFByb2dyYW1tIG9obmUgZGllIFBhcnRpdGlvbnN0YWJlbGxlIHp1IHNjaHJlaWJlbiIKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJCZWVuZGUgZGFzIFByb2dyYW1tIG9obmUgZGllIFBhcnRpdGlvbnN0YWJlbGxlIHp1IHNjaHJlaWJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVHlwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIkRlbiBQYXJ0aXRpb25zdHlwIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAiSGlsZmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIkRpZSBIaWxmZSBhbnplaWdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJTb3J0IgorbXNnc3RyICJTb3J0aWVyZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIlBhcnRpdGlvbnNyZWloZW5mb2xnZSBrb3JyaWdpZXJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiU2NocmVpYi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiRGllIFBhcnRpdGlvbnN0YWJlbGxlIHNjaHJlaWJlbiAoZGllcyBrYW5uIERhdGVuIHplcnN0w7ZyZW4pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAiCittc2dzdHIgIlNwZWljaGVybiIKKworIyAiR2liIGRpZSBQYXJ0aXRpb25zdGFiZWxsZSBhdWYgZGVtIEJpbGRzY2hpcm0gb2RlciBpbiBlaW5lIERhdGVpIGF1cyIKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlIGluIGVpbmUgc2ZkaXNrLWtvbXBhdGlibGUgU2tyaXB0ZGF0ZWkgYXVzZ2ViZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjQyIGRpc2stdXRpbHMvZmRpc2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICJpbnRlcm5lciBGZWhsZXI6IG5pY2h0IHVudGVyc3TDvHR6dGVyIERpYWxvZ3R5cCAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKGVpbmdlaMOkbmd0KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJQYXJ0aXRpb25zbmFtZToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiUGFydGl0aW9ucy1VVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJQYXJ0aXRpb25zdHlwOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzIzCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIkF0dHJpYnV0ZToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIkRhdGVpc3lzdGVtLVVVSUQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNTQKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiRGF0ZWlzeXN0ZW0tQkVaRUlDSE5VTkciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJEYXRlaXN5c3RlbToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJFaW5ow6RuZ2VwdW5rdDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiRmVzdHBsYXR0ZTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiR3LDtsOfZTogJXMsICVqdSBCeXRlcywgJWp1IFNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiQmV6ZWljaG5lcjogJXMsIElkZW50aWZpa2F0b3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJCZXplaWNobnVuZzogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiS2FubiB2b24gTSBmw7xyIE1pQiwgRyBmw7xyIEdpQiwgVCBmw7xyIFRpQiBvZGVyIHMgZsO8ciBTZWt0b3JlbiBnZWZvbGd0IHdlcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiQml0dGUgZ2ViZW4gU2llIGRpZSBHcsO2w59lIGFuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJNaW5pbWFsZSBHcsO2w59lIGlzdCAlanUgQnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk1heGltYWxlIEdyw7bDn2UgaXN0ICVqdSBCeXRlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiR3LDtsOfZSBrYW5uIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJQYXJ0aXRpb25zdHlwIHfDpGhsZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDgKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIkdlYmVuIFNpZSBkZW4gTmFtZW4gZGVyIFNrcmlwdGRhdGVpIGVpbjogIgorCisjIFhYWAorIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRGFzIFNrcmlwdCB3aXJkIGF1ZiBkaWUgaW0gU3BlaWNoZXIgdm9yZ2VoYWx0ZW5lIFBhcnRpdGlvbnN0YWJlbGxlIGFuZ2V3ZW5kZXQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLDlmZmbmVuIG5pY2h0IG3DtmdsaWNoOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIkxlc2VuIGRlciBTa3JpcHRkYXRlaSAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiU2tyaXB0ICVzIGtvbm50ZSBuaWNodCBhbmdld2VuZGV0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIkRpZSBnZWdlbnfDpHJ0aWcgaW0gU3BlaWNoZXIgdm9yZ2VoYWx0ZW5lIFBhcnRpdGlvbnN0YWJlbGxlIHdpcmQgaW4gZWluZSBEYXRlaSBhdXNnZWdlYmVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiU2tyaXB0LUhhbmRsZXIga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIkRhcyBQbGF0dGVubGF5b3V0IGtvbm50ZSBuaWNodCBpbiBkYXMgU2tyaXB0IGdlc2NocmllYmVuIHdlcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJQbGF0dGVubGF5b3V0IHd1cmRlIGVyZm9sZ3JlaWNoIGdlc3BlaWNoZXJ0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJTY2hyZWliZW4gZGVzIFNrcmlwdHMgJXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiQmV6ZWljaG51bmdzdHlwIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiR2Vyw6R0IGVudGjDpGx0IGtlaW5lIGVya2VubmJhcmUgUGFydGl0aW9uc3RhYmVsbGUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMjcKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIlfDpGhsZW4gU2llIGVpbmVuIFR5cCwgdW0gZWluZSBuZXVlIEJlemVpY2hudW5nIHp1IGVyc3RlbGxlbiwgb2RlciBkcsO8Y2tlbiBTaWUg4oCeTOKAnCwgdW0gZWluZSBTa3JpcHRkYXRlaSB6dSBsYWRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiRGllcyBpc3QgY2ZkaXNrLCBlaW4gUHJvZ3JhbW0sIGRhcyBjdXJzZXMgYmVudXR6dCB1bmQgZXMgSWhuZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICIiCisiZXJsYXVidCwgYXVmIElocmVuIEZlc3RwbGF0dGVuIFBhcnRpdGlvbmVuIGFuenVsZWdlbiwgenUgbMO2c2NoZW4gb2RlciB6dVxuIgorIm1vZGlmaXppZXJlbiIKKworIyAiQmVmZWhsIgorIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIkJlZmVobCAgICAgIEJlZGV1dHVuZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0tICAgICAtLS0tLS0tLS0iCisKKyMgIiAgYiAgICAgICAgICBXZWNoc2VsdCB6d2lzY2hlbiBib290ZsOkaGlnIHVuZCBuaWNodCBib290ZsOkaGlnLiIKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICAoRGUpQWt0aXZpZXJlbiBkZXIgQm9vdGbDpGhpZy1NYXJraWVydW5nIGRlciBha3R1ZWxsZW4gUGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgIERpZSBha3R1ZWxsZSBQYXJ0aXRpb24gbMO2c2NoZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIERpZXNlIEhpbGZlIGFuemVpZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgQXVzIGRlbSBmcmVpZW4gQmVyZWljaCBlaW5lIG5ldWUgUGFydGl0aW9uIGVyemV1Z2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBkYXMgUHJvZ3JhbW0gYmVlbmRlbiwgb2huZSBkaWUgUGFydGl0aW9uc3RhYmVsbGUgenUgc2NocmVpYmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICBSZWloZW5mb2xnZSBkZXIgUGFydGl0aW9uZW4ga29ycmlnaWVyZW4gKG51ciB3ZW5uIGZhbHNjaCBhbmdlb3JkbmV0KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBQYXJ0aXRpb25zdHlwIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisiICB1ICAgICAgICAgIFBsYXR0ZW5sYXlvdXQgaW4gZWluZSBzZmRpc2sta29tcGF0aWJsZVxuIgorIiAgICAgICAgICAgICAgIFNrcmlwdGRhdGVpIGF1c2dlYmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICBEaWUgUGFydGl0aW9uc3RhYmVsbGUgYXVmIGRpZSBGZXN0cGxhdHRlIHNjaHJlaWJlbiAoZ3Jvw59lcyBXKSIKKworIyBvciAiRGEgZGllc2VzIOKApiIgPworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIERhIGRpZXMgRGF0ZW4gYXVmIGRlciBGZXN0cGxhdHRlIHplcnN0w7ZyZW4ga2FubiwgbcO8c3NlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgU2llIGRhcyBTY2hyZWliZW4gbWl0IOKAnmph4oCcIG9kZXIg4oCebmVpbuKAnCBiZXN0w6R0aWdlbiBvZGVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIHggICAgICAgICAgWnVzw6R0emxpY2hlIEluZm9ybWF0aW9uIMO8YmVyIGVpbmUgUGFydGl0aW9uIGFuemVpZ2VuL3ZlcnN0ZWNrZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJQZmVpbC1ob2NoICAgZGVuIEN1cnNvciB6dXIgdm9yaGVyaWdlbiBQYXJ0aXRpb24gYmV3ZWdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGZlaWwtcnVudGVyIGRlbiBDdXJzb3IgenVyIG7DpGNoc3RlbiBQYXJ0aXRpb24gYmV3ZWdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIlBmZWlsLWxpbmtzICAgZGVuIEN1cnNvciB6dW0gdm9yaGVyaWdlbiBNZW7DvGVpbnRyYWcgYmV3ZWdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiUGZlaWwtcmVjaHRzIGRlbiBDdXJzb3IgenVtIG7DpGNoc3RlbiBNZW7DvGVpbnRyYWcgYmV3ZWdlbiIKKworIyAiSGlud2VpcyIKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIkhpbndlaXM6IEFsbGUgQmVmZWhsZSBrw7ZubmVuIG1pdCBLbGVpbi0gb2RlciBHcm/Dn2J1Y2hzdGFiZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJlaW5nZWdlYmVuIHdlcmRlbiAoYXVzZ2Vub21tZW4g4oCeV3JpdGXigJwpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIlZlcndlbmRlbiBTaWUgbHNibGsoOCkgb2RlciBwYXJ0eCg4KSwgdW0gd2VpdGVyZSBEZXRhaWxzIHp1bSBHZXLDpHQgYW56dXplaWdlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIkRyw7xja2VuIFNpZSBlaW5lIFRhc3RlIHVtIGZvcnR6dWZhaHJlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJNYXJraWVydW5nIGtvbm50ZSBuaWNodCB1bWdlc2NoYWx0ZXQgd2VyZGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenUga29ubnRlIG5pY2h0IGdlbMO2c2NodCB3ZXJkZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIlBhcnRpdGlvbiAlenUgd3VyZGUgZ2Vsw7ZzY2h0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiUGFydGl0aW9uc2dyw7bDn2U6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiVHlwIGRlciBQYXJ0aXRpb24gJXp1IHd1cmRlIGdlw6RuZGVydC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlR5cCBkZXIgUGFydGl0aW9uICV6dSB3dXJkZSBuaWNodCB2ZXLDpG5kZXJ0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0CisjLCBmdXp6eQorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgIk5ldWUgU2hlbGwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAiJXM6IEdyw7bDn2UgZGVyIFBhcnRpdGlvbiAjJWQgZ2XDpG5kZXJ0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQyNyBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDMgZGlzay11dGlscy9mZGlzay5jOjEwNjMKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5MQorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiR2Vyw6R0IGlzdCBpbSBzY2hyZWliZ2VzY2jDvHR6dGVuIE1vZHVzIGdlw7ZmZm5ldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiU2luZCBTaWUgc2ljaGVyLCBkYXNzIFNpZSBkaWUgUGFydGl0aW9uc3RhYmVsbGUgc2NocmVpYmVuIHdvbGxlbj8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIkdlYmVuIFNpZSDigJ55ZXPigJwgb2RlciDigJ5ub+KAnCBlaW4sIG9kZXIgZHLDvGNrZW4gU2llIEVTQywgdW0gZGVuIERpYWxvZyB6dSB2ZXJsYXNzZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgImphIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiRGllIFBhcnRpdGlvbnN0YWJlbGxlIHd1cmRlIG5pY2h0IGF1ZiBkaWUgRmVzdHBsYXR0ZSBnZXNjaHJpZWJlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJTY2hyZWliZW4gZGVyIEZlc3RwbGF0dGVuYmV6ZWljaG51bmcgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiRGllIFBhcnRpdGlvbnN0YWJlbGxlIHd1cmRlIHZlcsOkbmRlcnQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICJCZWFjaHRlbiBzaWUsIGRhc3MgZGllIFBhcnRpdGlvbnN0YWJlbGxlbmVpbnRyw6RnZSBudW4gbmljaHQgaW4gRmVzdHBsYXR0ZW4tUmVpaGVuZm9sZ2Ugc2luZC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkRhcyBHZXLDpHQgZW50aMOkbHQgYmVyZWl0cyBlaW5lICVzLVNpZ25hdHVyLiBTaWUgd2lyZCBkdXJjaCBlaW5lbiBTY2hyZWliYmVmZWhsIGVudGZlcm50LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgIlNjaHJlaWJlbiBkZXIgRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUzMAorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIlBhcnRpdGlvbmVuIGtvbm50ZW4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFtPcHRpb25lbl0gPEdlcsOkdD5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjMyIGRpc2stdXRpbHMvZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzoxODQzCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIkVpbmUgUGxhdHRlbnBhcnRpdGlvbnN0YWJlbGxlIGFuemVpZ2VuIG9kZXIgdmVyw6RuZGVybi5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08V2Fubj5dICAgICBBdXNnYWJlIGVpbmbDpHJiZW4gKOKAnmF1dG/igJwsIOKAnmFsd2F5c+KAnCBvZGVyIOKAnm5ldmVy4oCcKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAgbWl0IGVpbmVyIGF1c2dlbnVsbHRlbiBQYXJ0aXRpb25zdGFiZWxsZSBiZWdpbm5lblxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2NzYgZGlzay11dGlscy9mZGlzay5jOjk1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMjAKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDI5IHN5cy11dGlscy9kbWVzZy5jOjE0MTAgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZXIgRmFyYm1vZHVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJadXdlaXNlbiBkZXMgbGliZmRpc2stS29udGV4dGVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8RGF0ZW50csOkZ2VyZ2Vyw6R0ID4gPFBhcnRpdGlvbnNudW1tZXI+XG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkRlbiBLZXJuZWwgYW53ZWlzZW4sIGVpbmUgYW5nZWdlYmVuZSBQYXJ0aXRpb24genUgZW50ZmVybmVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICJFbnRmZXJuZW4gZGVyIFBhcnRpdGlvbiBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm1hdGllcmVuIOKApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAiRmVydGlnXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiw5xiZXJwcsO8ZmVuIOKApiAiCisKKyMgVGhpcyBpcyBmcm9tIGEgcGVycm9yKCkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkxlc2VuOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZW0gYmVpbSBMZXNlbiB2b24gU3B1ci9Lb3BmICV1LyV1LCBlcyB3dXJkZSAlZCBlcndhcnRldCwgYWJlciAlZCBnZWxlc2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJCZXNjaMOkZGlndGUgRGF0ZW4gYmVpIFNwdXIvS29wZiAldS8ldVxuIgorIk9wZXJhdGlvbiB3aXJkIGZvcnRnZXNldHp0IOKApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMyBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwMiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8R2Vyw6R0PlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ5Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICJFaW5lIExvdy1MZXZlbC1Gb3JtYXRpZXJ1bmcgZWluZXIgRmxvcHB5LURpc2tldHRlIGF1c2bDvGhyZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0ZW4gYmVpIFNwdXIgTiAoVm9yZ2FiZSAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3BwZW4gYmVpIFNwdXIgTlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB2ZXJzdWNodCBTcHVyZW4genUgcmVwYXJpZXJlbiwgZGllIHfDpGhyZW5kXG4iCisiICAgICAgICAgICAgICAgICAgICAgZGVyIMOcYmVycHLDvGZ1bmcgYWxzIGZlaGxlcmhhZnQgZXJrYW5udFxuIgorIiAgICAgICAgICAgICAgICAgICAgIHd1cmRlbiAobWF4aW1hbCBOIFZlcnN1Y2hlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICBrZWluZSDDnGJlcnByw7xmdW5nIG5hY2ggZGVyIEZvcm1hdGllcnVuZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgIlVuZ8O8bHRpZ2VzIEFyZ3VtZW50IC0gZnJvbSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgQXJndW1lbnQgLSB0byIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgIlVuZ8O8bHRpZ2VzIEFyZ3VtZW50IC0gcmVwYWlyIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCBmw7xyICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBrZWluIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAiQWt0dWVsbGVyIEZvcm1hdHR5cCBrb25udGUgbmljaHQgZmVzdGdlc3RlbGx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlc3NlaXRpZywgJWQgU3B1cmVuLCAlZCBTZWt0b3Jlbi9TcHVyLCBHZXNhbXRrYXBheml0w6R0OiAlZGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJEb3BwZWx0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJFaW5mYWNoIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJiZW51dHplcmRlZmluaWVydGUgU3RhcnRzcHVyIMO8YmVyc3RlaWd0IGRhcyBtZWRpZW5zcGV6aWZpc2NoZSBNYXhpbXVtIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiYmVudXR6ZXJkZWZpbmllcnRlIEVuZHNwdXIgw7xiZXJzdGVpZ3QgZGFzIG1lZGllbnNwZXppZmlzY2hlIE1heGltdW0iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiYmVudXR6ZXJkZWZpbmllcnRlIFN0YXJ0c3B1ciDDvGJlcnN0ZWlndCBkaWUgYmVudXR6ZXJkZWZpbmllcnRlIEVuZHNwdXIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJTY2hsaWXDn2VuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiV8OkaGxlbiAoVm9yZ2FiZSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiU3RhbmRhcmRhbnR3b3J0ICVjIHdpcmQgdmVyd2VuZGV0LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiV2VydCBhdcOfZXJoYWxiIGRlcyBCZXJlaWNocy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIFN0YW5kYXJkICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCBWb3JnYWJlICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgU3RhbmRhcmQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBWb3JnYWJlICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2OSBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbSl1hL1tOXWVpbjogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDc5Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiSGV4YWRlemltYWxjb2RlIChnZWJlbiBTaWUgTCBlaW4sIHVtIGFsbGUgQ29kZXMgYXVmenVsaXN0ZW4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJQYXJ0aXRpb25zdHlwIChnZWJlbiBTaWUgTCBlaW4sIHVtIGFsbGUgVHlwZW4gYXVmenVsaXN0ZW4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1MtS29tcGF0aWJpbGl0w6R0c21hcmtpZXJ1bmcgaXN0IGdlc2V0enQgKFZFUkFMVEVUISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkRPUy1Lb21wYXRpYmlsaXTDpHRzbWFya2llcnVuZyBpc3QgbmljaHQgZ2VzZXR6dCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBleGlzdGllcnQgbm9jaCBuaWNodCEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIlVuYmVrYW5udCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIlBhcnRpdGlvbnN0eXAgdm9uIOKAniVz4oCcIG5hY2gg4oCeJXPigJwgZ2XDpG5kZXJ0LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlBhcnRpdGlvbnN0eXAgJXp1IHVudmVyw6RuZGVydDogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczogUG9zaXRpb24gPSAlPFBSSXU2ND4sIEdyw7bDn2UgPSAlenUgQnl0ZXMuIgorCisjIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gc3RyZXJyb3IoZXJybm8pIGlzIG11Y2ggdG9vIGxvbmcKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAiU3VjaGVuIG5pY2h0IG3DtmdsaWNoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIkxlc2VuIG5pY2h0IG3DtmdsaWNoIgorCisjICVzIGNhbiBiZSAiU2VrdG9yIiBvciAiWnlsaW5kZXIiLgorIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJFcnN0ZXIgU2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFLUlPQ1RMIGZlaGxnZXNjaGxhZ2VuIGJlaSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkRpZSBhbHRlICVzLVNpZ25hdHVyIHdpcmQgZHVyY2ggZWluZW4gU2NocmVpYmJlZmVobCBlbnRmZXJudC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiRGllIGFsdGUgJXMtU2lnbmF0dXIga2FubiBldmVudHVlbGwgYXVmIGRlbSBHZXLDpHQgdmVyYmxlaWJlbi4gRXMgd2lyZCBkcmluZ2VuZCBlbXBmb2hsZW4sIGRhcyBHZXLDpHQgbWl0IHdpcGVmcyg4KSBvZGVyIOKAnmZkZGlzayAtLXdpcGXigJ0genUgbGVlcmVuLCB1bSBtw7ZnbGljaGUgS29sbGlzaW9uZW4genUgdmVybWVpZGVuLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtPcHRpb25lbl0gPEZlc3RwbGF0dGU+ICAgIFBhcnRpdGlvbnN0YWJlbGxlIMOkbmRlcm5cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIC1sIDxGZXN0cGxhdHRlPiBQYXJ0aXRpb25zdGFiZWxsZShuKSBhdWZsaXN0ZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2lzY2hlIHVuZCBsb2dpc2NoZSBTZWt0b3JncsO2w59lXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTIKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIEJvb3RiaXRzIG5pY2h0IGzDtnNjaGVuLCB3ZW5uIGVpbmUgbmV1ZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZW5udW5nIGVyemV1Z3Qgd2lyZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08TW9kdXM+XSBLb21wYXRpYmlsaXTDpHRzbW9kdXM6IOKAnmRvc+KAnCBvZGVyIOKAnm5vbmRvc+KAnCAoU3RhbmRhcmQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PFdhbm4+XSAgICAgICAgICBBdXNnYWJlIGVpbmbDpHJiZW4gKOKAnmF1dG/igJwsIOKAnmFsd2F5c+KAnCBvZGVyIOKAnm5ldmVy4oCcKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgUGFydGl0aW9uZW4gYW56ZWlnZW4gdW5kIFByb2dyYW1tIGJlZW5kZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICAgICAgICAgU3BhbHRlbiBkZXIgQXVzZ2FiZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIiCisiIC10IDxUeXA+ICAgICAgICAgICAgICAgICAgICAgIGRpZSBFcmtlbm51bmcgbnVyIHZvbiBiZXN0aW1tdGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGFydGl0aW9uc3RhYmVsbGVudHlwZW4gZXJ6d2luZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5pdHNbPTxFaW5oZWl0Pl0gICAgICAgQW56ZWlnZWVpbmhlaXRlbjog4oCeY3lsaW5kZXJz4oCcIG9kZXIg4oCec2VjdG9yc+KAnCAoU3RhbmRhcmQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjEKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgR2Vyw6R0ZWdyw7bDn2UgaW4gNTEyLUJ5dGUtU2VrdG9yZW4gYW56ZWlnZW4gW1ZFUkFMVEVUXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgR1LDllNTRSBpbiBCeXRlcyBhbnN0YXR0IGltIG1lbnNjaGVubGVzYmFyZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9ybWF0IGF1c2dlYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjMKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDxNb2R1cz4gICAgICAgICAgICBTaWduYXR1cmVuIGVudGZlcm5lbiAoYXV0bywgYWx3YXlzIG9kZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPE1vZHVzPiAgU2lnbmF0dXJlbiB2b24gbmV1ZW4gUEFydGl0aW9uZW4gZW50ZmVybmVuIChhdXRvLCBhbHdheXMgb2RlciBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNworbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgPEFuemFobD4gICAgICBkaWUgQW56YWhsIGRlciBaeWxpbmRlciBhbmdlYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA8QW56YWhsPiAgICAgICAgICBkaWUgQW56YWhsIGRlciBLw7ZwZmUgYW5nZWJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI5Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA8QW56YWhsPiAgICAgICAgZGllIEFuemFobCBkZXIgU2VrdG9yZW4gcHJvIFNwdXIgYW5nZWJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFNla3Rvcmdyw7bDn2VuYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgWnlsaW5kZXJhcmd1bWVudCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyMgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICJUcmVpYmVyIGbDvHIgRE9TLUJlemVpY2hudW5nIG5pY2h0IGdlZnVuZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgInVuYmVrYW5udGVyIEtvbXBhdGliaWxpdMOkdHNtb2R1cyDigJ4lc+KAnCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIEvDtnBmZWFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTQxCittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBTZWt0b3Jhcmd1bWVudCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlIEZlc3RwbGF0dGVuYmV6ZWljaG51bmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTc1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGUgRWluaGVpdCDigJ4lY+KAnCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDg5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlciBXaXBlLU1vZHVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJEaWUgR2Vyw6R0ZWVpZ2Vuc2NoYWZ0ZW4gKFNla3Rvcmdyw7bDn2UgdW5kIEdlb21ldHJpZSkgc29sbHRlbiBudXIgbWl0IGVpbmVtIGJlc3RpbW10ZW4gR2Vyw6R0IHZlcndlbmRldCB3ZXJkZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAzMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA0OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njk1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODcKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NjcgZGlzay11dGlscy9yYXcuYzoxMzcgZGlzay11dGlscy9yYXcuYzoxNTAKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTYyIGRpc2stdXRpbHMvcmF3LmM6MjAzIG1pc2MtdXRpbHMvY2FsLmM6NTIwCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjU4IG1pc2MtdXRpbHMvbG9vay5jOjE1MCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1NzMKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU4NCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1OTUgbWlzYy11dGlscy93aGVyZWlzLmM6NjM3CisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MDQgc2NoZWR1dGlscy9pb25pY2UuYzoyNjIgc2NoZWR1dGlscy90YXNrc2V0LmM6MTg5CisjOiBzeXMtdXRpbHMvY2hjcHUuYzozNDQgc3lzLXV0aWxzL2NobWVtLmM6NDE5IHN5cy11dGlscy9kbWVzZy5jOjE0NjkKKyM6IHN5cy11dGlscy9pcGNtay5jOjEzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozMjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMjUgc3lzLXV0aWxzL2xzbWVtLmM6NjI4IHN5cy11dGlscy9tb3VudC5jOjY5OAorIzogc3lzLXV0aWxzL21vdW50LmM6NzExIHN5cy11dGlscy9tb3VudC5jOjc4MCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE4MQorIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3MiBzeXMtdXRpbHMvc3dhcG9mZi5jOjIzMCBzeXMtdXRpbHMvc3dhcG9uLmM6OTg4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTAgc3lzLXV0aWxzL3Vtb3VudC5jOjUyOCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTc2CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIzMyB0ZXh0LXV0aWxzL21vcmUuYzozMzcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHVzYWdlIgorbXNnc3RyICIlbHUgYmVzY2jDpGRpZ3RlIFNlaXRlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIldpbGxrb21tZW4gYmVpIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTYKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiw4RuZGVydW5nZW4gd2VyZGVuIHZvcmVyc3QgbnVyIGltIFNwZWljaGVyIHZvcmdlbm9tbWVuLCBiaXMgU2llIHNpY2hcbiIKKyJlbnRzY2hlaWRlbiwgc2llIHp1IHNjaHJlaWJlbi5cbiIKKyJTZWllbiBTaWUgdm9yc2ljaHRpZywgYmV2b3IgU2llIGRlbiBTY2hyZWliYmVmZWhsIGFud2VuZGVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICJIeWJyaWQtR1BUIHd1cmRlIGVya2FubnQuIFNpZSBtw7xzc2VuIGRlbiBIeWJyaWQtTUJSIG1hbnVlbGwgYWJnbGVpY2hlbiAoRXhwZXJ0ZW5iZWZlaGwg4oCeTeKAnCkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG51bmdzdHlwOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRmVzdHBsYXR0ZW5iZXplaWNobmVyOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkZlc3RwbGF0dGUgJXM6ICVzLCAlanUgQnl0ZXMsICVqdSBTZWt0b3JlbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICJHZW9tZXRyaWU6ICVkIEvDtnBmZSwgJWxsdSBTZWt0b3Jlbi9TcHVyLCAlbGx1IFp5bGluZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJFaW5oZWl0ZW46ICVzIHZvbiAlZCAqICVsZCA9ICVsZCBCeXRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzggZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICJTZWt0b3JncsO2w59lIChsb2dpc2NoL3BoeXNpa2FsaXNjaCk6ICVsdSBCeXRlcyAvICVsdSBCeXRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiRS9BLUdyw7bDn2UgKG1pbmltYWwvb3B0aW1hbCk6ICVsdSBCeXRlcyAvICVsdSBCeXRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJBdXNyaWNodHVuZ3MtUG9zaXRpb246ICVsdSBCeXRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjM2CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJadXdlaXNlbiBkZXMgSXRlcmF0b3JzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIkVzIGtvbm50ZSBrZWluIFBMYXR6IGbDvHIgZGllIEF1c2dhYmV0YWJlbGxlIHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAiUExhdHogZsO8ciBkaWUgQXVzZ2FiZXplaWxlIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKK21zZ2lkICJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIgorbXNnc3RyICJIaW56dWbDvGdlbiB2b24gRGF0ZW4genVyIEF1c2dhYmV0YWJlbGxlIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBiZWdpbm50IG5pY2h0IGFuIGVpbmVyIHBoeXNpa2FsaXNjaGVuIFNla3RvcmdyZW56ZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtL1JBSUQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiAlenUgd2lsbCBiZSB3aXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjA5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiUGFydGl0aW9uc3RhYmVsbGVuZWludHLDpGdlIHNpbmQgbmljaHQgaW4gRmVzdHBsYXR0ZW4tUmVpaGVuZm9sZ2UuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjUKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI4IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIkFuZmFuZyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiRW5kZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiR3LDtsOfZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJVbnBhcnRpdGlvbmllcnRlciBCZXJlaWNoICVzOiAlcywgJWp1IEJ5dGVzLCAlanUgU2VrdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzIHVuYmVrYW5udGUgU3BhbHRlOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICJBbGxnZW1laW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICJFaW5lIFBhcnRpdGlvbiBsw7ZzY2hlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiR3LDtsOfZSBkZXMgdW5wYXJ0aXRpb25pZXJ0ZW4gQmVyZWljaHMgYW56ZWlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJEaWUgYmVrYW5udGVuIERhdGVpc3lzdGVtdHlwZW4gYW56ZWlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIkVpbmUgbmV1ZSBQYXJ0aXRpb24gYW5sZWdlbiIKKworIyAiTnVyIGRpZSBQYXJ0aXRpb25zdGFiZWxsZSBhdXNnZWJlbiIgKGpvZXkpCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJEaWUgUGFydGl0aW9uc3RhYmVsbGUgYXVzZ2ViZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJFaW5lbiBQYXJ0aXRpb25zdHlwIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJEaWUgUGFydGl0aW9uc3RhYmVsbGUgw7xiZXJwcsO8ZmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiSW5mb3JtYXRpb25lbiDDvGJlciBlaW5lIFBhcnRpdGlvbiBhdXNnZWJlbiIKKworIyBYWFgKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiUm9oZGF0ZW4gdm9tIGVyc3RlbiBTZWt0b3IgZGVzIEdlcsOkdHMgYXVzZ2ViZW4iCisKKyMgWFhYCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDgKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIlJvaGRhdGVuIHZvbiBkZXIgRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBkZXMgR2Vyw6R0cyBhdXNnZWJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIlBhcnRpdGlvbnNyZWloZW5mb2xnZSBrb3JyaWdpZXJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiU29uc3RpZ2VzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIkRpZXNlcyBNZW7DvCBhbnplaWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIkRpZSBFaW5oZWl0IGbDvHIgZGllIEFuemVpZ2UvRWluZ2FiZSDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJadXPDpHR6bGljaGUgRnVua3Rpb25lbiAobnVyIGbDvHIgRXhwZXJ0ZW4pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIlNrcmlwdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE3Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiUGxhdHRlbmxheW91dCBhdXMgZWluZXIgc2ZkaXNrLVNrcmlwdGRhdGVpIGxhZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiUGxhdHRlbmxheW91dCBpbiBlaW5lIHNmZGlzay1Ta3JpcHRkYXRlaSBzY2hyZWliZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICJTcGVpY2hlcm4gdW5kIEJlZW5kZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgIkRpZSBUYWJlbGxlIGF1ZiBkaWUgRmVzdHBsYXR0ZSBzY2hyZWliZW4gdW5kIGRhcyBQcm9ncmFtbSBiZWVuZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICJUYWJlbGxlIGF1ZiBGZXN0cGxhdHRlIHNjaHJlaWJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICJCZWVuZGVuIG9obmUgU3BlaWNoZXJuIGRlciDDhG5kZXJ1bmdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiWnVyw7xjayB6dW0gSGF1cHRtZW7DvCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI2Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAidm9uIEJTRCB6dSBET1MgenVyw7xja2tlaHJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJFaW5lIG5ldWUgQmV6ZWljaG51bmcgZXJzdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiRWluZSBuZXVlIGxlZXJlIEdQVC1QYXJ0aXRpb25zdGFiZWxsZSBlcnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiRWluZSBuZXVlIGxlZXJlIFNHSSAoSVJJWCktUGFydGl0aW9uc3RhYmVsbGUgZXJzdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDAKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiRWluZSBuZXVlIGxlZXJlIERPUy1QYXJ0aXRpb25zdGFiZWxsZSBlcnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJFaW5lIG5ldWUgbGVlcmUgU3VuLVBhcnRpdGlvbnN0YWJlbGxlIGVyc3RlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJFaW5lIElSSVggKFNHSSktUGFydGl0aW9uc3RhYmVsbGUgZXJzdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJHZW9tZXRyeSAoZm9yIHRoZSBjdXJyZW50IGxhYmVsKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiRGllIEFuemFobCBkZXIgWnlsaW5kZXIgw6RuZGVybiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU2Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiRGllIEFuemFobCBkZXIgS8O2cGZlIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NworbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiRGllIEFuemFobCBkZXIgU2VrdG9yZW4vU3B1ciDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAiRmVzdHBsYXR0ZW4tR1VJRCDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIlBhcnRpdGlvbnNuYW1lbiDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIlBhcnRpdGlvbnMtVVVJRCDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICJEaWUgVGFiZWxsZW5sw6RuZ2Uga29ubnRlIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiR2VzY2jDvHR6dGVuL0h5YnJpZC1NQlIgZWluZ2ViZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiKERlKUFrdGl2aWVyZW4gZGVyIHZlcmFsdGV0ZW4gQklPUy1Cb290ZsOkaGlnLU1hcmtpZXJ1bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiKERlKUFrdGl2aWVydW5nIGRlciBLZWluLUJsb2NrLUVBLVByb3Rva29sbC1NYXJraWVydW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICIoRGUpQWt0aXZpZXJlbiBkZXIgYmVuw7Z0aWd0ZW4gUGFydGl0aW9uc21hcmtpZXJ1bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJHVUlELXNwZXppZmlzY2hlIEJpdHMgYWt0aXZpZXJlbi9kZWFrdGl2aWVyZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICIoRGUpQWt0aXZpZXJlbiBkZXIgTnVyLUxlc2VuLU1hcmtpZXJ1bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIihEZSlBa3RpdmllcmVuIGRlciBFaW5ow6RuZ2Jhci1NYXJraWVydW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkRpZSBBbnphaGwgZGVyIGFsdGVybmllcmVuZGVuIFp5bGluZGVyIMOkbmRlcm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIkRpZSBBbnphaGwgZGVyIEV4dHJhLVNla3RvcmVuIHBybyBaeWxpbmRlciDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkRlbiBJbnRlcmxlYXZlLUZha3RvciDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlVtZHJlaHVuZ3NnZXNjaHdpbmRpZ2tlaXQgw6RuZGVybiAoVS9taW4pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRGllIEFuemFobCBkZXIgcGh5c2lzY2hlbiBaeWxpbmRlciDDpG5kZXJuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiV8OkaGxlbiBkZXIgYm9vdGbDpGhpZ2VuIFBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiQmVhcmJlaXRlbiBkZXMg4oCeYm9vdGZpbGXigJwtRWludHJhZ3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIkRpZSBzZ2ktc3dhcC1QYXJ0aXRpb24gYXVzd8OkaGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA4Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJTR0ktSW5mbyBlcnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIoRGUpQWt0aXZpZXJlbiBkZXIgYm9vdGbDpGhpZy1NYXJraWVydW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICJ2ZXJzY2hhY2h0ZWx0ZSBCU0QtRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBiZWFyYmVpdGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIihEZSlBa3RpdmllcmVuIGRlciBET1MtS29tcGF0aWJpbGl0w6R0c21hcmtpZXJ1bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIkRlbiBEYXRlbmFuZmFuZyBlaW5lciBQYXJ0aXRpb24gdmVyc2NoaWViZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJGZXN0cGxhdHRlbmJlemVpY2huZXIgw6RuZGVybiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAidm9uIGdlc2Now7x0enRlbS9IeWJyaWQtTUJSIHp1IEdQVCB6dXLDvGNra2VocmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICJMYXVmd2Vya3NkYXRlbiBiZWFyYmVpdGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiQm9vdHN0cmFwIGluc3RhbGxpZXJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM4Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIktvbXBsZXR0ZSBGZXN0cGxhdHRlbmJlemVpY2hudW5nIGFuemVpZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIkJTRC1QYXJ0aXRpb24gbWl0IE5pY2h0LUJTRC1QYXJ0aXRpb24gdmVya27DvHBmZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkhpbGZlIChFeHBlcnRlbmJlZmVobGUpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisiSGlsZmU6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJTaWUgYmVhcmJlaXRlbiBlaW5lIHZlcnNjaGFjaHRlbHRlIOKAniVz4oCcLVBhcnRpdGlvbnN0YWJlbGxlLCBkaWUgcHJpbcOkcmUgUGFydGl0aW9uc3RhYmVsbGUgaXN0IOKAniVz4oCcLiIKKworIyBUaGF0IHNvdW5kcyBwcmV0dHkgdW1tbeKApgorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkV4cGVydGVuYmVmZWhsIChtIGbDvHIgSGlsZmUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyNQorbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkJlZmVobCAobSBmw7xyIEhpbGZlKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIk3DtmNodGVuIFNpZSB3aXJrbGljaCBiZWVuZGVuPyAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogdW5iZWthbm50ZXIgQmVmZWhsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA2Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAiR2ViZW4gU2llIGRlbiBOYW1lbiBkZXIgU2tyaXB0ZGF0ZWkgZWluIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIkRhcyBTa3JpcHQgd3VyZGUgZXJmb2xncmVpY2ggYW5nZXdlbmRldC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIkRhcyBQbGF0dGVubGF5b3V0IGtvbm50ZSBuaWNodCBhbHMgU2tyaXB0IGZvcm11bGllcnQgd2VyZGVuLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIkRhcyBTa3JpcHQgd3VyZGUgZXJmb2xncmVpY2ggZ2VzcGVpY2hlcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTUgZGlzay11dGlscy9zZmRpc2suYzoxNTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydGl0aW9uICMlenUgZW50aMOkbHQgZWluZSAlcy1TaWduYXR1ci4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1OCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDcKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIldvbGxlbiBTaWUgZGllIFNpZ25hdHVyIGVudGZlcm5lbj8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJEaWUgU2lnbmF0dXIgd2lyZCBkdXJjaCBlaW5lbiBTY2hyZWliYmVmZWhsIGVudGZlcm50LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiU2NocmVpYmVuIGRlciBGZXN0cGxhdHRlbmJlemVpY2hudW5nIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiUGFydGl0aW9uc3JlaWhlbmZvbGdlIGtvbm50ZSBuaWNodCBrb3JyaWdpZXJ0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjQwCittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIlBhcnRpdGlvbnNyZWloZW5mb2xnZSBrb3JyaWdpZXJ0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBrb25udGUgbmljaHQgZ2Vsw7ZzY2h0IHdlcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJEaWUgRWluaGVpdCBmw7xyIGRpZSBBbnplaWdlL0VpbmdhYmUgaW4gWnlsaW5kZXIgd2lyZCBnZcOkbmRlcnQgKFZFUkFMVEVUISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJEaWUgRWluaGVpdCBmw7xyIGRpZSBBbnplaWdlL0VpbmdhYmUgaW4gU2VrdG9yZW4gd2lyZCBnZcOkbmRlcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2OTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODY4Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiVmVyc2NoYWNodGVsdGUgRmVzdHBsYXR0ZW5iZXplaWNobnVuZyB3aXJkIHZlcmxhc3Nlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIkdlc2Now7x0enRlci9IeWJyaWQtTUJSIHdpcmQgZWluZ2VnZWJlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc2MQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIk5ldWUgVVVJRCAoaW0gOC00LTQtNC0xMi1Gb3JtYXQpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiTmV1ZXIgTmFtZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJWZXJzY2hhY2h0ZWx0ZSBCU0QtRmVzdHBsYXR0ZW5iZXplaWNobnVuZyB3aXJkIGVpbmdlZ2ViZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiQW56YWhsIGRlciBaeWxpbmRlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0NAorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiQW56YWhsIGRlciBLw7ZwZmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiQW56YWhsIGRlciBTZWt0b3JlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgaXN0IGVpbmdlaMOkbmd0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIlcyBpc3QgbmljaHQgZWluZ2Vow6RuZ3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiJXMga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgbGliL3BhdGguYzoxNjMgbGliL3BhdGguYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJFaW5sZXNlZmVobGVyOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJWZXJ6ZWljaG5pcyAlcyBrYW5uIG5pY2h0IGFuZ2VsZWd0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJEYXRlbnRyw6RnZXIgd2lyZCB2b24gJXMgZ2VzcGVycnQg4oCmIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKHdhcnRlbikgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiZXJmb2xncmVpY2ggYmVlbmRldCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiJXMgd2lyZCBlbnRzcGVycnQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJFaW5yaWNodHVuZyBlaW5lciBCZXNjaHJlaWJ1bmcgZsO8ciAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBFaW5sZXNlZmVobGVyIGluIFplaWxlICVkIC0tIGlnbm9yaWVydCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA0IGRpc2stdXRpbHMvZnNjay5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogRWlubGVzZW4gZGVyIGZzdGFiIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAi4oCeZm9ya+KAnCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEF1c2bDvGhydW5nIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODIKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIk1vbWVudDogS2VpbmUgd2VpdGVyZW4gS2luZHByb3plc3NlPyE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIldhcm51bmcg4oCmICVzIGbDvHIgR2Vyw6R0ICVzIGJyYWNoIG1pdCBTaWduYWwgJWQgYWIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBTdGF0dXMgaXN0ICV4LCBzb2xsdGUgbmllIHBhc3NpZXJlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiQWJnZXNjaGxvc3NlbiBtaXQgJXMgKEJlZW5kaWd1bmdzc3RhdHVzICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgIkZlaGxlciAlZCAoJW0pIHfDpGhyZW5kIGRlciBBdXNmw7xocnVuZyB2b24gZnNjay4lcyBmw7xyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiRW50d2VkZXIgYWxsZW4gb2RlciBrZWluZW0gZGVyIG1pdCAtdCDDvGJlcmdlYmVuZW4gRGF0ZWlzeXN0ZW10eXBlblxuIgorIm11c3MgZWluIOKAnm5v4oCcIG9kZXIg4oCeIeKAnCB2b3Jhbmdlc3RlbGx0IHdlcmRlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiVzOiB1bmfDvGx0aWdlIFplaWxlIGluIC9ldGMvZnN0YWIgd2lyZCDDvGJlcnNwcnVuZ2VuOiBFaW5ow6RuZ2VuIG1pdCBlaW5lciBEdXJjaGxhdWZudW1tZXIgdW5nbGVpY2ggTnVsbCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBuaWNodCBleGlzdGllcmVuZGVzIEdlcsOkdCB3aXJkIMO8YmVyc3BydW5nZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczogbmljaHQgdm9yaGFuZGVuZXMgR2Vyw6R0ICjigJ5ub2ZhaWzigJwtZnN0YWItT3B0aW9uIGthbm4gdmVyd2VuZGV0IHdlcmRlbiwgdW0gZGllc2VzIEdlcsOkdCB6dSDDvGJlcnNwcmluZ2VuKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogdW5iZWthbm50ZXIgRGF0ZWlzeXN0ZW10eXAgd2lyZCDDvGJlcnNwcnVuZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXMga2FubiBuaWNodCDDvGJlcnByw7xmdCB3ZXJkZW46IGZzY2suJXMgbmljaHQgZ2VmdW5kZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICLDnGJlcnByw7xmdW5nIGFsbGVyIERhdGVpc3lzdGVtZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS13YXJ0ZW4tLSAoRHVyY2hnYW5nICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSAtLSBbZnMtT3B0aW9uZW5dIFs8RGF0ZWlzeXN0ZW0+IOKApl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFaW4gTGludXgtRGF0ZWlzeXN0ZW0gw7xiZXJwcsO8ZmVuIHVuZCByZXBhcmllcmVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIGFsbGUgRGF0ZWlzeXN0ZW1lIMO8YmVycHLDvGZlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxmZD5dICBGb3J0c2Nocml0dHNiYWxrZW4gYW56ZWlnZW47IERhdGVpZGVza3JpcHRvciBpc3QgZsO8ciBHVUlzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgR2Vyw6R0IHNwZXJyZW4sIHVtIGV4a2x1c2l2ZW4gWnVncmlmZiB6dSBnYXJhbnRpZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk3Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAgZWluZ2Vow6RuZ3RlIERhdGVpc3lzdGVtZSBuaWNodCDDvGJlcnByw7xmZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgICBuaWNodCBhdXNmw7xocmVuLCBudXIgYW56ZWlnZW4sIHdhcyBnZXRhbiB3ZXJkZW4gd2lyZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiIKKyIgLVAgICAgICAgICBEYXRlaXN5c3RlbWUgbmViZW5laW5hbmRlcmxhdWZlbmQgw7xiZXJwcsO8ZmVuLFxuIgorIiAgICAgICAgICAgICAgZWluc2NobGllw59saWNoIFd1cnplbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAwCittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICBXdXJ6ZWxkYXRlaXN5c3RlbSDDvGJlcnNwcmluZ2VuOyBudXIgbsO8dHpsaWNoIG1pdCDigJ4tQeKAnFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAxCittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisiIC1yIFs8ZmQ+XSAgU3RhdGlzdGlrIGbDvHIgamVkZXMgw7xiZXJwcsO8ZnRlIEdlcsOkdCBhbnplaWdlbjtcbiIKKyIgICAgICAgICAgICBEZXIgRGF0ZWlkZXNrcmlwdG9yIGlzdCBmw7xyIEdVSXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDDnGJlcnByw7xmdW5nc3ZvcmfDpG5nZSBzZXJpYWxpc2llcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICBkZW4gVGl0ZWwgYmVpbSBTdGFydCBuaWNodCBhbnplaWdlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA1Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAtdCA8VHlwPiAgenUgw7xiZXJwcsO8ZmVuZGUgRGF0ZWlzeXN0ZW10eXBlbiBhbmdlYmVuO1xuIgorIiAgICAgICAgICAgICA8VHlwPiBrYW5uIGVpbmUgZHVyY2ggS29tbWF0YSBnZXRyZW5udGUgTGlzdGUgc2VpbjtcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIGVya2zDpHJlbiwgd2FzIGdlbWFjaHQgd2lyZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiU2llaGUgZGllIHNwZXppZmlzY2hlbiBmc2NrLiotQmVmZWhsZSBmw7xyIHZlcmbDvGdiYXJlIGZzLU9wdGlvbmVuLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgInp1IHZpZWxlIEdlcsOkdGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiSXN0IC9wcm9jIGVpbmdlaMOkbmd0PyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJudXIgZGVyIEFkbWluaXN0cmF0b3Iga2FubiBuYWNoIHBhc3NlbmRlbiBEYXRlaXN5c3RlbWVuIHN1Y2hlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAia2VpbiBwYXNzZW5kZXMgRGF0ZWlzeXN0ZW0gZ2VmdW5kZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgInp1IHZpZWxlIEFyZ3VtZW50ZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgQXJndW1lbnQgZsO8ciAtciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIk9wdGlvbiAtLXBpZCBkYXJmIG51ciBlaW5tYWwgYW5nZWdlYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2OSBtaXNjLXV0aWxzL2tpbGwuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIk9wdGlvbiDigJ4lc+KAnCBiZW7DtnRpZ3QgZWluIEFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJ1bmfDvGx0aWdlcyBBcmd1bWVudCBmw7xyIC1yOiAlZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTY0MworbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICJkaWUgLWwgT3B0aW9uIGthbm4gbnVyIG1pdCBlaW5lbSBHZXLDpHQgdmVyd2VuZGV0IHdlcmRlbiAtLSBpZ25vcmllcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxEYXRlaT5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNAorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFaW4ga29tcHJpbWllcnRlcyBST00tRGF0ZWlzeXN0ZW0gw7xiZXJwcsO8ZmVuIHVuZCByZXBhcmllcmVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE3Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgbnVyIGbDvHIgZGllIEtvbXBhdGliaWxpdMOkdCwgaWdub3JpZXJ0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGF1c2bDvGhybGljaGVyIHNlaW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIG51ciBmw7xyIGRpZSBLb21wYXRpYmlsaXTDpHQsIGlnbm9yaWVydFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDxHcsO2w59lPiAgRGllc2UgQmxvY2tncsO2w59lIHZlcndlbmRlbiwgVm9yZ2FiZSBpc3QgU2VpdGVuZ3LDtsOfZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz08VmVyej5dICAgRW50cGFja2VuIHRlc3Rlbiwgb3B0aW9uYWwgaW4gPFZlcno+IGVudHBhY2tlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsIGZlaGxnZXNjaGxhZ2VuOiBkaWUgR3LDtsOfZSBkZXMgR2Vyw6R0ZXMga2FubiBuaWNodCBiZXN0aW1tdCB3ZXJkZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAia2VpbiBibG9ja29yaWVudGllcnRlcyBHZXLDpHQgb2RlciBEYXRlaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiRGF0ZWlsw6RuZ2UgaXN0IHp1IGt1cnoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzYgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MSBsaWJmZGlzay9zcmMvYnNkLmM6NzE3IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTIKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDMgbG9naW4tdXRpbHMvbGFzdC5jOjIzNyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICLigJ5zZWVr4oCcIGF1ZiAlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg0Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIlN1cGVyYmxvY2stS2VubnVuZyB3dXJkZSBuaWNodCBnZWZ1bmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJEaWUgQnl0ZS1SZWloZW5mb2xnZSBkZXMgQ3JhbWZzIGlzdCAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJncm/DnyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAia2xlaW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlIERhdGVpc3lzdGVtLUVpZ2Vuc2NoYWZ0ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJEaWUgR3LDtsOfZSBkZXMgU3VwZXJibG9ja3MgKCVkKSBpc3QgenUgZ2VyaW5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJEYXRlaXrDpGhsZXIgaXN0IE51bGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAiRGF0ZWkgcmVpY2h0IMO8YmVyIGRhcyBFbmRlIGRlcyBEYXRlaXN5c3RlbXMgaGluYXVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA3Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImFsdGVzIENyYW1mcy1Gb3JtYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTYKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJDUkMga2FubiBuaWNodCBnZXRlc3RldCB3ZXJkZW46IGFsdGVzIENyYW1mcy1Gb3JtYXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgIkxlc2VuIGRlciBNaXRzY2huaXR0ZGF0ZWkgJXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJDUkMtRmVobGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICLigJ5zZWVr4oCcIGZlaGxnZXNjaGxhZ2VuLiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJMZXNlbiB2b24gcm9tZnMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQwCittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICJXdXJ6ZWwtSS1Ob2RlIGlzdCBrZWluIFZlcnplaWNobmlzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiVW5nw7xsdGlnZSBSb290LVBvc2l0aW9uICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIkRhdGVuYmxvY2sgaXN0IHp1IGdyb8OfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJEZWtvbXByaW1pZXJ1bmdzZmVobGVyOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgTG9jaCBiZWkgJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIEJsb2NrIGJlaSAlbHUgd2lyZCBuYWNoICVsdSBlbnRwYWNrdCAoJWx1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAiTmljaHQtQmxvY2sgKCVsZCkgQnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJOaWNodC1HcsO2w59lICglbGQgc3RhdHQgJWxkKSBCeXRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiU2NocmVpYmVuIGZlaGxnZXNjaGxhZ2VuOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIGZlaGxnZXNjaGxhZ2VuOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgZmVobGdlc2NobGFnZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJWZXJ6ZWljaG5pcy1JLU5vZGUgaGF0IGVpbmUgUG9zaXRpb24gTnVsbCB1bmQgZWluZSBHcsO2w59lIHVuZ2xlaWNoIE51bGw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIm1rZGlyIGZlaGxnZXNjaGxhZ2VuOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJkaWUgTMOkbmdlIGRlcyBEYXRlaW5hbWVucyBpc3QgTnVsbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIkRpZSBMw6RuZ2UgZGVzIERhdGVpbmFtZW5zIGlzdCB1bnp1bMOkc3NpZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgInVuZ8O8bHRpZ2UgSW5vZGUtUG9zaXRpb24iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDEKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiRGF0ZWktSW5vZGUgaGF0IGtlaW5lIFBvc2l0aW9uIHVuZCBlaW5lIEzDpG5nZSB1bmdsZWljaCBOdWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgIkRhdGVpLUlub2RlIGhhdCBlaW5lIEdyw7bDn2Ugdm9uIE51bGwgdW5kIGVpbmUgUG9zaXRpb24gdW5nbGVpY2ggTnVsbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJkaWUgc3ltYm9saXNjaGUgVmVya27DvHBmdW5nIGhhdCBlaW5lIFBvc2l0aW9uIHZvbiBOdWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJkaWUgc3ltYm9saXNjaGUgVmVya27DvHBmdW5nIGhhdCBlaW5lIEdyw7bDn2Ugdm9uIE51bGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiR3LDtsOfZW5mZWhsZXIgaW4gc3ltYm9saXNjaGVyIFZlcmtuw7xwZnVuZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJBbmxlZ2VuIGRlciBzeW1ib2xpc2NoZW4gVmVya27DvHBmdW5nIHNjaGVpdGVydGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAiZGllIFNwZXppYWxkYXRlaSBoYXQgZWluZSBQb3NpdGlvbiB1bmdsZWljaCBOdWxsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiRklGTyBoYXQgR3LDtsOfZSB1bmdsZWljaCBOdWxsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJTb2NrZXQgaGF0IEdyw7bDn2UgdW5nbGVpY2ggTnVsbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAidW5zaW5uaWdlciBNb2R1czogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vZCBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiVmVyemVpY2huaXNkYXRlbmFuZmFuZyAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIkVuZGUgZGVyIFZlcnplaWNobmlzZGF0ZW4gKCVsdSkgIT0gU3RhcnQgZGVyIERhdGVpLURhdGVuICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJ1bmfDvGx0aWdlIFBvc2l0aW9uIGRlciBEYXRlaWRhdGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQmxvY2tncsO2w59lbmFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRGllIEtvbnNpc3RlbnogZWluZXMgTWluaXgtRGF0ZWlzeXN0ZW1zIMO8YmVycHLDvGZlbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgIGFsbGUgRGF0ZWluYW1lbiBhdWZsaXN0ZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEgIC0tYXV0byAgICAgICBhdXRvbWF0aXNjaGUgUmVwYXJhdHVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFrdGl2ZSBSZXBhcmF0dXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBhdXNmw7xocmxpY2hlIEF1c2dhYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXMsIC0tc3VwZXIgICAgICBTdXBlcmJsb2NraW5mb3JtYXRpb24gYXVzZ2ViZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIgLW0sIC0tdW5jbGVhcmVkICDigJ5Nb2R1cyBuaWNodCB6dXLDvGNrZ2VzZXR6dOKAnC1XYXJudW5nZW4gYWt0aXZpZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICDDnGJlcnByw7xmdW5nIGVyendpbmdlblxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChqL24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi9qKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJqXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBpc3QgZWluZ2Vow6RuZ3QuXHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiTcO2Y2h0ZW4gU2llIHdpcmtsaWNoIGZvcnRmYWhyZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICLDnGJlcnByw7xmdW5nIGFiZ2Vicm9jaGVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9uZW5udW1tZXIgPCBGSVJTVFpPTkUgaW4gRGF0ZWkg4oCeJXPigJwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9uZW5udW1tZXIgPj0gWk9ORVMgaW4gRGF0ZWkg4oCeJXPigJwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJCbG9jayBlbnRmZXJuZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiTGVzZWZlaGxlcjogU3ByaW5nZW4genUgQmxvY2sgaW4gRGF0ZWkg4oCeJXPigJwgaXN0IG5pY2h0IG3DtmdsaWNoXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkZlaGxlciBiZWltIExlc2VuOiBiZXNjaMOkZGlndGVyIEJsb2NrIGluIERhdGVpIOKAniVz4oCcXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkludGVybmVyIEZlaGxlcjogVmVyc3VjaCwgZWluZW4gYmVzY2jDpGRpZ3RlbiBCbG9jayB6dSBzY2hyZWliZW5cbiIKKyJTY2hyZWliYW53ZWlzdW5nIGlnbm9yaWVydFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAi4oCec2Vla+KAnCBmZWhsZ2VzY2hsYWdlbiBpbiB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbjogYmVzY2jDpGRpZ3RlciBCbG9jayBpbiBEYXRlaSDigJ4lc+KAnFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIldhcm51bmc6IERlciBCbG9jayBpc3QgYXXDn2VyaGFsYiBkZXMgenVsw6Rzc2lnZW4gQmVyZWljaHNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIuKAnnNlZWvigJwgZmVobGdlc2NobGFnZW4gaW4gd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiU3VwZXJibG9jayBrb25udGUgbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICLigJ5pbm9kZSBtYXDigJwga29ubnRlIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICLigJ56b25lIG1hcOKAnCBrb25udGUgbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MzIKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICLigJ5pbm9kZXPigJwga29ubnRlbiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIlB1ZmZlciBmw7xyIFN1cGVyYmxvY2sga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjcKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAiU3VwZXJibG9jayBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIlVuZ8O8bHRpZ2UgbWFnaXNjaGUgWmFobCBpbSBTdXBlcmJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIkVzIHdlcmRlbiBudXIgQmzDtmNrZS9ab25lbiB2b24gMWsgR3LDtsOfZSB1bnRlcnN0w7x0enQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIlVuZ8O8bHRpZ2VzIHNfbmlub2Rlcy1GZWxkIGltIFN1cGVyYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJVbnp1bMOkc3NpZ2VyIFdlcnQgaW0gRmVsZCDigJ5zX2ltYXBfYmxvY2vigJwgaW0gU3VwZXJibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgc19maXJzdGRhdGF6b25lLUZlbGQgaW0gU3VwZXJibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIlVuZ8O8bHRpZ2VzIHNfem1hcF9ibG9ja3MtRmVsZCBpbSBTdXBlcmJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIlB1ZmZlciBmw7xyIOKAnmlub2RlX21hcOKAnCBrb25udGUgbmljaHQgenVnZXdpZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJQdWZmZXIgZsO8ciDigJ56b25lIG1hcOKAnCBrb25udGUgbmljaHQgenVnZXdpZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiUHVmZmVyIGbDvHIg4oCeaW5vZGVz4oCcIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIlB1ZmZlciBmw7xyIOKAnmlub2RlIGNvdW504oCcIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiUHVmZmVyIGbDvHIg4oCeem9uZSBjb3VudOKAnCBrb25udGUgbmljaHQgenVnZXdpZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAi4oCeaW5vZGUgbWFw4oCcIGthbm4gbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICLigJ56b25lIG1hcOKAnCBrYW5uIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIuKAnmlub2Rlc+KAnCBrw7ZubmVuIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIldhcm51bmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaW5vZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBCbMO2Y2tlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRXJzdGUgRGF0ZW56b25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZW5ncsO2w59lPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJNYXhpbWFsZ3LDtsOfZT0lenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiRGF0ZWlzeXN0ZW1zdGF0dXM9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiTmFtZW5zbMOkbmdlPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQgaXN0IGFscyB1bmJlbnV0enQgZ2VrZW5uemVpY2huZXQsIGFiZXIgRGF0ZWkg4oCeJXPigJwgYmVudXR6dCBzaWVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJJbm9kZSBhbHMgYmVudXR6dCBrZW5uemVpY2huZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIkRpZSBEYXRlaSDigJ4lc+KAnCBoYXQgZGVuIE1vZHVzICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJXYXJudW5nOiDigJ5pbm9kZSBjb3VudOKAnCBpc3QgenUgZ3Jvw58uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICLigJ5yb290IGlub2Rl4oCcIGlzdCBrZWluIFZlcnplaWNobmlzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvY2sgd3VyZGUgenV2b3IgYmVudXR6dCwgbnVuIGluIERhdGVpIOKAniVz4oCcLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxNAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiWnVyw7xja3NldHplbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJCbG9jayAlZCBpbiBEYXRlaSDigJ4lc+KAnCBpc3QgYWxzIHVuYmVudXR6dCBtYXJraWVydC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJLb3JyaWdpZXJlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJEYXMgVmVyemVpY2huaXMg4oCeJXPigJwgZW50aMOkbHQgZWluZSB1bmfDvGx0aWdlIElub2RlLU51bW1lciBmw7xyIERhdGVpIOKAniUuKnPigJwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBFbnRmZXJuZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2VzIFZlcnplaWNobmlzOiDigJ4u4oCcIGtvbW10IG5pY2h0IHp1ZXJzdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2VzIFZlcnplaWNobmlzOiDigJ4uLuKAnCBrb21tdCBuaWNodCBhbHMgendlaXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiaW50ZXJuZXIgRmVobGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2VzIFZlcnplaWNobmlzOiBHcsO2w59lIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiB1bmfDvGx0aWdlcyBWZXJ6ZWljaG5pczogdW5nw7xsdGlnZSBpX3pvbmUsIHZlcndlbmRlbiBTaWUgenVtIHJlcGFyaWVyZW4gLS1yZXBhaXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJTdWNoZW4gaW4gYmFkX3pvbmUgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIk1vZHVzIHZvbiBJbm9kZSAlbHUgbmljaHQgenVyw7xja2dlc2V0enQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWx1IHdpcmQgbmljaHQgYmVudXR6dCwgYWJlciBpbiBkZXIgQml0bWFwIGFscyBiZW51dHp0IG1hcmtpZXJ0LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUgd2lyZCBiZW51dHp0LCBpc3QgYWJlciBpbiBkZXIgQml0bWFwIGFscyB1bmJlbnV0enQgbWFya2llcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjAKK21zZ2lkICJTZXQiCittc2dzdHIgIkZlc3RsZWdlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVsdSAoTW9kdXMgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGdlesOkaGx0PSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI3Cittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJpX25saW5rcyBhdWYgWsOkaGxlciBzZXR6ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiWm9uZSAlbHU6IGFscyBiZW51dHp0IG1hcmtpZXJ0LCBhYmVyIGtlaW5lIERhdGVpIGJlbnV0enQgc2llLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJNYXJrLiBlbnRmLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlbHU6IGluIEJlbnV0enVuZywgZ2V6w6RobHQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmUgJWx1OiBuaWNodCBpbiBCZW51dHp1bmcsIGdlesOkaGx0PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTkKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidW5nw7xsdGlnZSBJbm9kZS1HcsO2w59lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzAxCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInVuZ8O8bHRpZ2UgVjItSW5vZGUtR3LDtsOfZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgImbDvHIgaW50ZXJha3RpdmUgUmVwYXJhdHVyZW4gd2lyZCBlaW4gVGVybWluYWwgZ2VicmF1Y2h0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiJXMga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIGlzdCBpbiBPcmRudW5nLCBrZWluZSDDnGJlcnByw7xmdW5nLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiw5xiZXJwcsO8ZnVuZyBkZXMgRGF0ZWlzeXN0ZW0gYXVmICVzIHdpcmQgZXJ6d3VuZ2VuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJEYXRlaXN5c3RlbSBhdWYgJXMgaXN0IGdlc3TDtnJ0IChkaXJ0eSksIMOcYmVycHLDvGZ1bmcgZXJmb3JkZXJsaWNoLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgSU5vZGVzIGJlbnV0enRlbiAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25lcyBiZW51dHp0ZW4gKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHJlZ3Vsw6RyZSBEYXRlaWVuXG4iCisiJTZkIFZlcnplaWNobmlzc2VcbiIKKyIlNmQgemVpY2hlbm9yaWVudGllcnRlIEdlcsOkdGVcbiIKKyIlNmQgYmxvY2tvcmllbnRpZXJ0ZSBHZXLDpHRlXG4iCisiJTZkIFZlcmtuw7xwZnVuZ2VuXG4iCisiJTZkIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZ2VuXG4iCisiLS0tLS0tXG4iCisiJTZkIERhdGVpZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkRBVEVJU1lTVEVNIFdVUkRFIEdFw4ROREVSVFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICJTY2hyZWliZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczoga8O2bm50ZSBrZWluIElTTy1EYXRlaXN5c3RlbSBzZWluIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgIkZlaGxlciBiZWltIExlc2VuIGF1ZiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJTZWt0b3JhbnphaGw6ICVkLCBTZWt0b3JncsO2w59lOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxpc285NjYwLUFiYmlsZGRhdGVpPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTIKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRGllIEzDpG5nZSBlaW5lcyBJU08tOTY2MC1EYXRlaXN5c3RlbXMgYW56ZWlnZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj08WmFobD4gIGRpZSBTdW1tZSBkZXIgQnl0ZXMgZHVyY2ggPFphaGw+IHRlaWxlblxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTYKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIFNla3RvcmFuemFobCB1bmQgLWdyw7bDn2UgYW56ZWlnZW5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBUZWlsZXJhcmd1bWVudCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiQXVmcnVmOiAlcyBbT3B0aW9uZW5dIEdlcsOkdCBbQmxvY2thbnphaGxdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFaW4gU0NPIGJmcy1EYXRlaXN5c3RlbSBlcnN0ZWxsZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aW9uZW46XG4iCisiIC1OLCAtLWlub2Rlcz1aQUhMICAgR2V3w7xuc2NodGUgQW56YWhsIGRlciBJbm9kZXMgYW5nZWJlblxuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIERhdGVudHLDpGdlcm5hbWVuIGFuZ2ViZW5cbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBOYW1lbiBkZXMgRGF0ZWlzeXN0ZW1zIGFuZ2ViZW5cbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBBdXNmw7xocmxpY2hlIEFuZ2FiZW4genVyIEFyYmVpdCBtYW5jaGVuXG4iCisiIC1jICAgICAgICAgICAgICAgICAgRGllc2UgT3B0aW9uIHdpcmQgc3RpbGxzY2h3ZWlnZW5kIGlnbm9yaWVydFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIERpZXNlIE9wdGlvbiB3aXJkIHN0aWxsc2Nod2VpZ2VuZCBpZ25vcmllcnRcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBWZXJzaW9uc2luZm9ybWF0aW9uZW4gYXVzZ2ViZW4gdW5kIGJlZW5kZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICBBdcOfZXIgLVYgZGFyZiBrZWluZSBhbmRlcmVyIE9wdGlvbiBhbmdlZ2ViZW4gd2VyZGVuXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZSBBbnphaGwgdm9uIElub2RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJEYXRlbnRyw6RnZXJuYW1lIGlzdCB6dSBsYW5nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIkRhdGVpc3lzdGVtbmFtZSBpc3QgenUgbGFuZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5NgorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgInVuZ8O8bHRpZ2UgQW56YWhsIHZvbiBCbMO2Y2tlbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImVzIGlzdCBuaWNodCBtw7ZnbGljaCwgZGllIEdyw7bDn2Ugdm9uICVzIGZlc3R6dXN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgIuKAnmJsb2Nrc+KAnC1Bcmd1bWVudCB6dSBncm/DnywgTWF4aW11bSBpc3QgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgInp1IHZpZWxlIElub2RlcyDigJMgTWF4aW11bSBpc3QgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIm5pY2h0IGdlbsO8Z2VuZCBQbGF0eiwgZXMgd2VyZGVuIHdlbmlnc3RlbnMgJWxsdSBCbMO2Y2tlIGJlbsO2dGlndCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkdlcsOkdDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJEYXRlbnRyw6RnZXI6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIkRTTmFtZTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9ja2dyw7bDn2U6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlczogJWxkIChpbiAxIEJsb2NrKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGVzOiAlbGQgKGluICVsbHUgQmzDtmNrZW4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsw7Zja2U6ICVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUtRW5kZTogJWQsIERhdGVuZW5kZTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlcyBTdXBlcmJsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBSb290LUlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIGRlciBJbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MQorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgIlN1Y2hmZWhsZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBkZXMg4oCeLuKAnC1FaW50cmFncyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwMQorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgIkZlaGxlciBiZWltIFNjaHJlaWJlbiBkZXMg4oCeLi7igJwtRWludHJhZ3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NobGllw59lbiB2b24gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFstdCA8VHlwPl0gW0RhdGVpc3lzdGVtb3B0aW9uZW5dIDxHZXLDpHQ+IFs8R3LDtsOfZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkVpbiBMaW51eC1EYXRlaXN5c3RlbSBlcnN0ZWxsZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PFR5cD4gIERhdGVpc3lzdGVtdHlwOyB3ZW5uIG5pY2h0cyBhbmdlZ2ViZW4sIHdpcmQgZXh0MiB2ZXJ3ZW5kZXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBmcy1vcHRpb25zICAgICBQYXJhbWV0ZXIgZsO8ciBkZW4gdGF0c8OkY2hsaWNoZW4gRGF0ZWlzeXN0ZW1lcnN0ZWxsZXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIgICAgIDxHZXLDpHQ+ICAgICAgICBQZmFkIHp1IGRlbSBHZXLDpHQsIGRhcyB2ZXJ3ZW5kZXQgd2VyZGVuIHNvbGxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDxHcsO2w59lPiAgICAgICAgQW56YWhsIGRlciBhdWYgZGVtIEdlcsOkdCB6dSB2ZXJ3ZW5kZW5kZW4gQmzDtmNrZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBlcmtsw6RyZW4gd2FzIGdlbWFjaHQgd2lyZDtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgd2lyZCBtZWhyIGFscyBlaW4gLVYgYW5nZWdlYmVuLCB3aXJkIGVpbiBQcm9iZWxhdWYgYXVzZ2Vsw7ZzdFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICIlcyBrb25udGUgbmljaHQgYXVzZ2Vmw7xocnQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJBdWZydWY6ICVzIFstaF0gWy12XSBbLWIgQmxvY2tncsO2w59lXSBbLWUgQXVzZ2FiZV0gWy1OIEJ5dGUtUmVpaGVuZm9sZ2VdIFstaSBEYXRlaV0gWy1uIE5hbWVdIFZlcnplaWNobmlzbmFtZSBmw7xyIEF1c2dhYmVkYXRlaVxuIgorIiAtaCAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhdXNnZWJlblxuIgorIiAtdiAgICAgICAgICAgICBhdXNmw7xocmxpY2hlIE1lbGR1bmdlblxuIgorIiAtRSAgICAgICAgICAgICBhbGxlIFdhcm51bmdlbiB6dSBGZWhsZXJuIG1hY2hlbiAoQmVlbmRpZ3VuZ3NzdGF0dXMgdW5nbGVpY2ggTnVsbClcbiIKKyIgLWIgQmxvY2tncsO2w59lICBEaWVzZSBCbG9ja2dyw7bDn2UgdmVyd2VuZGVuLCBtdXNzIGdsZWljaCBkZXIgU2VpdGVuZ3LDtsOfZSBzZWluXG4iCisiIC1lIEF1c2dhYmUgICAgIEF1c2dhYmVudW1tZXIgZmVzdGxlZ2VuIChUZWlsIGRlciBmc2lkKVxuIgorIiAtaSBEYXRlaSAgICAgICBlaW4gRGF0ZWlhYmJpbGQgaW4gZGFzIERhdGVpc3lzdGVtIGVpbmbDvGdlblxuIgorIiAgICAgICAgICAgICAgICAoYmVuw7Z0aWd0IEtlcm5lbCA+PSAyLjQuMClcbiIKKyIgLW4gTmFtZSAgICAgICAgTmFtZSBkZXMgQ3JhbWZzLURhdGVpc3lzdGVtcyBmZXN0bGVnZW5cbiIKKyIgLXAgICAgICAgICAgICAgTWl0ICVkIEJ5dGVzIGbDvHIgQm9vdC1Db2RlIGF1ZmbDvGxsZW5cbiIKKyIgLXMgICAgICAgICAgICAgVmVyemVpY2huaXNlaW50csOkZ2Ugc29ydGllcmVuIChhbHRlIE9wdGlvbiwgaWdub3JpZXJ0KVxuIgorIiAteiAgICAgICAgICAgICBFeHBsaXppdGUgTMO2Y2hlciBlcnpldWdlbiAoYmVuw7Z0aWd0IEtlcm5lbCA+PSAyLjMuMzkpXG4iCisiIGRpcm5hbWUgICAgICAgIFd1cnplbCBkZXMgenUga29tcHJpbWllcmVuZGVuIERhdGVpc3lzdGVtc1xuIgorIiBvdXRmaWxlICAgICAgICBBdXNnYWJlZGF0ZWlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkbGluayBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJEYXMgVmVyemVpY2huaXMg4oCeJXPigJwga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgIkRzIERhdGVpc3lzdGVtIGlzdCB6dSBncm/Dny4gQWJicnVjaC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRTogQmxvY2sgYXVmID4gMsOXQmxvY2tsw6RuZ2UgKCVsZCkg4oCea29tcHJpbWllcnTigJxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBCeXRlcylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIkRhdGVpIOKAniVz4oCcIGtvbm50ZSBuaWNodCBnZXNjaGxvc3NlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBBdXNnYWJlbnVtbWVybmFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJ1bmfDvGx0aWdlIEJ5dGUtUmVpaGVuZm9sZ2UgYW5nZWdlYmVuOyAgbXVzcyDigJ5iaWfigJwsIOKAnmxpdHRsZeKAnCBvZGVyIOKAnmhvc3TigJwgc2VpbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIldhcm51bmc6IEdyb2JzY2jDpHR6dW5nIGRlciBiZW7DtnRpZ3RlbiBHcsO2w59lIChvYmVyZSBTY2hyYW5rZSkgaXN0ICVsbGRNQiwgYWJlciBtYXhpbWFsZSBBYmJpbGQtR3LDtsOfZSBpc3QgJXVNQi4gRGFzIFByb2dyYW1tIGvDtm5udGUgZnLDvGh6ZWl0aWcgYWJicmVjaGVuLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIlJPTS1BYmJpbGRkYXRlaSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIkVpbnNjaGxpZcOfbGljaDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlZlcnplaWNobmlzZGF0ZW46ICV6ZCBCeXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiQWxsZXM6ICV6ZCBLaWxvYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyYmxvY2s6ICV6ZCBCeXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIm5pY2h0IGdlbnVnIFJhdW0gZsO8ciBST00tQWJiaWxkIHp1Z2V3aWVzZW4gKCVsbGQgYmVyZWl0Z2VzdGVsbHQsICV6dSBiZW51dHp0KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiU2NocmVpYmVuIGRlcyBST00tQWJiaWxkcyBmZWhsZ2VzY2hsYWdlbiAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIlJPTS1BYmJpbGQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIldhcm51bmc6IERhdGVpbmFtZW4gYXVmICV1IEJ5dGVzIHZlcmvDvHJ6dC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgIldhcm51bmc6IERhdGVpZW4gd3VyZGVuIHdlZ2VuIEZlaGxlcm4gw7xiZXJzcHJ1bmdlbi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJXYXJudW5nOiBEYXRlaWdyw7bDn2VuIGFiZ2VzY2huaXR0ZW4gYXVmICVsdU1CIChtaW51cyAxIEJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJXYXJudW5nOiBVSURzIGFiZ2VzY2huaXR0ZW4gYXVmICV1IEJpdHMuIChEaWVzIGvDtm5udGUgZWluIFNpY2hlcmhlaXRzcmlzaWtvIHNlaW4uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJXYXJudW5nOiBHSURzIGFiZ2VzY2huaXR0ZW4gYXVmICV1IEJpdHMuIChEaWVzIGvDtm5udGUgZWluIFNpY2hlcmhlaXRzcmlzaWtvIHNlaW4uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiV0FSTlVORzogR2Vyw6R0ZW51bW1lcm4gYWJnZXNjaG5pdHRlbiBhdWYgJXUgQml0cy4gRGFoZXIgd2VyZGVuIG1pdCBhblxuIgorIlNpY2hlcmhlaXQgZ3JlbnplbmRlciBXYWhyc2NoZWlubGljaGtlaXQgZWluaWdlIEdlcsOkdGVkYXRlaWVuIGZhbHNjaCBzZWluLiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIC9kZXYvTmFtZSBbQmxvY2thbnphaGxdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICBNaW5peC1WZXJzaW9uIDEgdmVyd2VuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAtMiwgLXYgICAgICAgICAgICAgICAgICBNaW5peC1WZXJzaW9uIDIgdmVyd2VuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICBNaW5peC1WZXJzaW9uIDMgdmVyd2VuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVsZW5ndGggPFphaGw+IG1heGltYWxlIEzDpG5nZSBlaW5lcyBEYXRlaW5hbWVuc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDQKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWlub2RlcyA8WmFobD4gICAgIGRpZSBBbnphaGwgZGVyIElub2RlcyBkZXMgRGF0ZWlzeXN0ZW1zIGFuZ2ViZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jICAtLWNoZWNrICAgICAgICAgICAgIGRhcyBHZXLDpHQgYXVmIGRlZmVrdGUgQmzDtmNrZSDDvGJlcnByw7xmZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA8RGF0ZWk+ICBMaXN0ZSBkZXIgZGVmZWt0ZW4gQmzDtmNrZSBhdXMgRGF0ZWkgbGVzZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBTcHJpbmdlbiB6dSBCb290YmxvY2sgZmVobGdlc2NobGFnZW4gaW4gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6IGRlciBCb290c2VrdG9yIGthbm4gbmljaHQgZ2Vsw7ZzY2h0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBzZWVrIGluIHdyaXRlX3RhYmxlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBkZXIgU3VwZXJibG9jayBrYW5uIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczogZGllIElub2RlLVRhYmVsbGUga2FubiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczogZGllIFpvbmVudGFiZWxsZSBrYW5uIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczogZGllIElub2RlcyBrw7ZubmVuIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IFN1Y2hlIGluIHdyaXRlX2Jsb2NrIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IFNjaHJlaWJlbiBpc3QgZmVobGdlc2NobGFnZW4gaW4gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHp1IHZpZWxlIGJlc2Now6RkaWd0ZSBCbMO2Y2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzOiBuaWNodCBnZW7DvGdlbmQgZ3V0ZSBCbMO2Y2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisiRXJzdGVyIERhdGVuYmxvY2sgaXN0IGJlaSAlamQsIHdhcyB6dSB3ZWl0IGlzdCAobWF4aW1hbCAlZCkuXG4iCisiVmVyc3VjaGVuIFNpZSBlcyBtaXQgd2VuaWdlciBJbm9kZXMgZHVyY2ggQW5nYWJlIHZvbiAtLWlub2RlcyA8QW56YWhsPiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBJbm9kZVxuIgorbXNnc3RyWzFdICIlbHUgSW5vZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUgQmxvY2tcbiIKK21zZ3N0clsxXSAiJWx1IEJsw7Zja2VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJab25lbmdyw7bDn2U9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1heGltYWxncsO2w59lPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IFNlZWsgZmVobGdlc2NobGFnZW4gd8OkaHJlbmQgZGVyIEJsb2Nrw7xiZXJwcsO8ZnVuZyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJNZXJrd8O8cmRpZ2UgV2VydGUgaW4gZG9fY2hlY2s6IHdhaHJzY2hlaW5saWNoIEZlaGxlclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IFN1Y2hlIGZlaGxnZXNjaGxhZ2VuIGluIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczogYmVzY2jDpGRpZ3RlIEJsw7Zja2Ugdm9yIGRlbSBEYXRlbmJlcmVpY2g6IERhdGVpc3lzdGVtIGthbm4gbmljaHQgZXJzdGVsbHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGJlc2Now6RkaWd0ZXIgQmxvY2tcbiIKK21zZ3N0clsxXSAiJWQgYmVzY2jDpGRpZ3RlIEJsw7Zja2VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGRpZSBEYXRlaSBtaXQgYmVzY2jDpGRpZ3RlbiBCbMO2Y2tlbiBrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5sZXNlbiBkZXMgV2VydGVzIGbDvHIgZGllIEFuemFobCBzY2hsZWNodGVyIELDtmNrZSBpbiBaZWlsZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczogRGllIERhdGVpIG1pdCBkZW4gYmVzY2jDpGRpZ3RlbiBCbMO2Y2tlbiBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAiZGllIEJsb2NrZ3LDtsOfZSBpc3QgZ2VyaW5nZXIgYWxzIGRpZSBwaHlzaXNjaGUgU2VrdG9yZ3LDtsOfZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiZXMgaXN0IG5pY2h0IG3DtmdsaWNoLCBkaWUgR3LDtsOfZSB2b24gJXMgZmVzdHp1c3RlbGxlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiBkaWUgWmFobCBkZXIgYW5nZWZvcmRlcnRlbiBCbMO2Y2tlICglbGx1KSDDvGJlcnNjaHJlaXRldCBkaWUgWmFobCBkZXIgdmVyZsO8Z2JhcmVuICglbGx1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICIlczogZGllIEFuemFobCBkZXIgQmzDtmNrZSBpc3QgenUga2xlaW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlIE5hbWVuc2zDpG5nZTogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZSBNaW5peCBEYXRlaXN5c3RlbXZlcnNpb246ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IGlzdCBtZWhyZGV1dGlnLCB2ZXJ3ZW5kZW4gU2llIHN0YXR0IGRlc3NlbiDigJ4tMuKAnCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiRWlubGVzZW4gZGVyIG1heGltYWxlbiBEYXRlaW5hbWVuc2zDpG5nZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzg2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIkVpbmxlc2VuIHZvbiBlaW5pZ2VuIElub2RlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIkVpbmxlc2VuIHZvbiBlaW5pZ2VuIEJsw7Zja2VuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGlzdCBlaW5nZWjDpG5ndDsgZGFoZXIgd2lyZCBoaWVyIGtlaW4gRGF0ZWlzeXN0ZW0gYW5nZWxlZ3QhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIlVuZ8O8bHRpZ2UgYmVudXR6ZXJkZWZpbmllcnRlIFNlaXRlbmdyw7bDn2UgJXUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIkJlbnV0emVyZGVmaW5pZXJ0ZSBTZWl0ZW5ncsO2w59lICVkIHdpcmQgYW5zdGVsbGUgZGVzIFN5c3RlbXdlcnRzICVkIHZlcndlbmRldCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiQmV6ZWljaG51bmcgd3VyZGUgYWJnZXNjaG5pdHRlbi4iCisKKyMgZGl0bworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAia2VpbmUgQmV6ZWljaG51bmcsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJrZWluZSBVVUlEXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkF1ZnJ1ZjogXG4iCisiJXMgW09wdGlvbmVuXSBHZXLDpHQgW0dyw7bDn2VdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUzCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJFaW5lbiBMaW51eC1BdXNsYWdlcnVuZ3NiZXJlaWNoIGVpbnJpY2h0ZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbmVuOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIHZvciBkZW0gRXJ6ZXVnZW4gZGVzIEF1c2xhZ2VydW5nc2JlcmVpY2hzIHdpcmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhdWYgYmVzY2jDpGRpZ3RlIEJsw7Zja2UgZ2VwcsO8ZnRcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBBdXNsYWdlcnVuZ3NiZXJlaWNoIGRhcmYgZ3LDtsOfZXIgYWxzIGRhcyBHZXLDpHQgc2VpblxuIgorIiAtcCwgLS1wYWdlc2l6ZSBHUsOWU1NFICAgICBHcsO2w59lIGRlciBTcGVpY2hlcnNlaXRlbiBpbiBCeXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHp1IHZlcndlbmRlbmRlIEJlemVpY2hudW5nIGFuZ2ViZW5cbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gWkFITCAgICBWZXJzaW9uIGRlcyBBdXNsYWdlcnVuZ3NiZXJlaWNocyBhbmdlYmVuXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgenUgdmVyd2VuZGVuZGUgVVVJRCBhbmdlYmVuXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbmVuIGF1c2dlYmVuIHVuZCBiZWVuZGVuXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgInp1IHZpZWxlIGJlc2Now6RkaWd0ZSDigJ5TZWl0ZW7igJw6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIlN1Y2hlIGZlaGxnZXNjaGxhZ2VuIGluIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IGJlc2Now6RkaWd0ZSBTZWl0ZVxuIgorbXNnc3RyWzFdICIlbHUgYmVzY2jDpGRpZ3RlIFNlaXRlblxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgImtlaW4gU3BlaWNoZXJwbGF0eiBmw7xyIG5ldWUgbGliYmxraWQtUHJvYmUgdmVyZsO8Z2JhciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiWnV3ZWlzdW5nIGVpbmVzIEdlcsOkdGVzIHp1ciBsaWJibGtpZC1Qcm9iZSBuaWNodCBtw7ZnbGljaCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiV2FybnVuZzogRGllIMOcYmVycHLDvGZ1bmcgZmVobGVyaGFmdGVyIEJsw7Zja2UgZWluZXIgQXVzbGFnZXJ1bmdzZGF0ZWkgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIkF1c2xhZ2VydW5nc2dlcsOkdCBrYW5uIG5pY2h0IHp1csO8Y2tnZXNwdWx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiQm9vdHNla3RvciBrYW5uIG5pY2h0IGdlbMO2c2NodCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBXYXJudW5nOiBBbHRlICVzLVNpZ25hdHVyIHdpcmQgZ2Vsw7ZzY2h0LiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiBXYXJudW5nOiBMw7ZzY2hlbiBTaWUga2VpbmUgQm9vdHNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzLVBhcnRpdGlvbnN0YWJlbGxlIGdlZnVuZGVuKS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKG9obmUgbGliYmxraWQga29tcGlsaWVydCkuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIlZlcndlbmRlbiBTaWUgLWYgenVtIEVyendpbmdlbi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6IFNpZ25hdHVyc2VpdGUga2FubiBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgyCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJFaW5sZXNlbiBkZXIgU2VpdGVuZ3LDtsOfZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAiRWlubGVzZW4gZGVyIFZlcnNpb25zbnVtbWVyIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJBdXNsYWdlcnVuZ3NiZXJlaWNoIGRlciBWZXJzaW9uICVkIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiV2FybnVuZzogLVUgd2lyZCBpZ25vcmllcnQgKFVVSURzIHdlcmRlbiB2b24gJXMgbmljaHQgdW50ZXJzdMO8dHp0KSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTYKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiaW0gTW9tZW50IHdpcmQgbnVyIGVpbiBHZXLDpHRlYXJndW1lbnQgdW50ZXJzdMO8dHp0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMworbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJGZWhsZXI6IEVpbmxlc2VuIGRlciBVVUlEIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiRmVobGVyOiBXbyBzb2xsIGRlciBBdXNsYWdlcnVuZ3NiZXJlaWNoIGFuZ2VsZWd0IHdlcmRlbj8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQmxvY2thbnphaGxhcmd1bWVudCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiRmVobGVyOiBHcsO2w59lICVsbHUgS2lCIMO8YmVyc3RlaWd0IGRpZSBHZXLDpHRlZ3LDtsOfZSAlPFBSSXU2ND4gS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIkZlaGxlcjogZGVyIEF1c2xhZ2VydW5nc2JlcmVpY2ggbXVzcyBtaW5kZXN0ZW5zICVsZCBLaUIgZ3Jvw58gc2VpbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIldhcm51bmc6IERlciBBdXNsYWdlcnVuZ3NiZXJlaWNoIHdpcmQgbnVyIG1pdCBkZXIgR3LDtsOfZSAlbGx1IEtpQiBhbmdlbGVndCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICJGZWhsZXI6ICVzIGlzdCBlaW5nZWjDpG5ndDsgZXMgd2lyZCBrZWluIEF1c2xhZ2VydW5nc2JlcmVpY2ggYW5nZWxlZ3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHVuc2ljaGVyZSBadWdyaWZmc3JlY2h0ZSAlMDRvLCAlMDRvIHdpcmQgZW1wZm9obGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogdW5zaWNoZXJlciBEYXRlaWVpZ2VudMO8bWVyICVkLCAwIChyb290KSB3aXJkIGVtcGZvaGxlbi4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJFcyBpc3QgbmljaHQgbcO2Z2xpY2gsIGVpbmVuIEF1c2xhZ2VydW5nc2JlcmVpY2ggZWluenVyaWNodGVuOiBuaWNodCBsZXNiYXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJBdXNsYWdlcnVuZ3NiZXJlaWNoIFZlcnNpb24gJWQgd2lyZCBhbmdlbGVndCwgR3LDtsOfZSA9ICVzICglPFBSSXU2ND4gQnl0ZXMpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IFNFTGludXgtRGF0ZWlrZW5uc2F0eiBrYW5uIG5pY2h0IGFiZ2VydWZlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJtYXRjaHBhdGhjb24oKSBrYW5uIG5pY2h0IGR1cmNoZ2Vmw7xocnQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibmV1ZXIgU0VMaW51eC1Lb250ZXh0IGthbm4gbmljaHQgYW5nZWxlZ3Qgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMgorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJTRUxpbnV4LUtvbnRleHQga29ubnRlIG5pY2h0IGJlcmVjaG5ldCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICIlcyBrb25udGUgbmljaHQgaW4gJXMgdW1iZW5hbm50IHdlcmRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiUGFydGl0aW9uc251bW1lciIKKworIyAiTnVyIGRpZSBQYXJ0aXRpb25zdGFiZWxsZSBhdXNnZWJlbiIgKGpvZXkpCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIkFuZmFuZyBkZXIgUGFydGl0aW9uIGluIFNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJFbmRlIGRlciBQYXJ0aXRpb24gaW4gU2VrdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJBbnphaGwgZGVyIFNla3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJtZW5zY2hlbmxlc2JhcmUgR3LDtsOfZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIlBhcnRpdGlvbnNuYW1lIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiUGFydGl0aW9ucy1VVUlEIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbnR5cCAoRE9TLCBHUFQsIC4uLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJQYXJ0aXRpb25zbWFya2llcnVuZ2VuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cCAoZWluZSBaZWljaGVua2V0dGUsIGVpbmUgVVVJRCBvZGVyIGhleGFkZXppbWFsKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImxvb3BjeHQga29ubnRlIG5pY2h0IGluaXRpYWxpc2llcnQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBlcyBrb25udGUga2VpbiBmcmVpZXMgTG9vcC1HZXLDpHQgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIkVzIHdpcmQgdmVyc3VjaHQsIOKAniVz4oCcIGFscyBMb29wLUdlcsOkdCB6dSB2ZXJ3ZW5kZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBCYWNraW5nLURhdGVpIGtvbm50ZSBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IExvb3AtR2Vyw6R0IGtvbm50ZSBuaWNodCBlaW5nZXJpY2h0ZXQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJ1bmJla2FubnRlIFNwYWx0ZTogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IEFicnVmZW4gZGVyIFBhcnRpdGlvbnNudW1tZXIgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJhbmdlZ2ViZW5lciBCZXJlaWNoIDwlZDolZD4gZXJnaWJ0IGtlaW5lbiBTaW5uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICJCZXJlaWNoc25hY2h6w6RobHVuZzogbWF4LiBQYXJOci49JWQsIHVudGVyZSBHcmVuemU9JWQsIG9iZXJlIEdyZW56ZT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBGZWhsZXIgYmVpbSBMw7ZzY2hlbiBkZXIgUGFydGl0aW9uICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogRmVobGVyIGJlaW0gTMO2c2NoZW4gZGVyIFBhcnRpdGlvbmVuICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAjJWQgZW50ZmVybnRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBQYXJ0aXRpb24gIyVkIGlzdCBuaWNodCB2b3JoYW5kZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBMw7ZzY2hlbiBkZXIgUGFydGl0aW9uICMlZCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IEZlaGxlciBiZWltIEhpbnp1ZsO8Z2VuIGRlciBQYXJ0aXRpb24gJWQiCisKKyMgWFhYIOKAkyBNZXJnZSB3aXRoIG5leHQgc3RyaW5ncy4KKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogRmVobGVyIGJlaW0gSGluenVmw7xnZW4gZGVyIFBhcnRpdGlvbmVuICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAjJWQgaGluenVnZWbDvGd0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEhpbnp1ZsO8Z2VuIGRlciBQYXJ0aXRpb24gIyVkIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBGZWhsZXIgYmVpbSBBa3R1YWxpc2llcmVuIGRlciBQYXJ0aXRpb24gJWQiCisKKyMgWFhYIOKAkyBNZXJnZSB3aXRoIG5leHQgc3RyaW5ncy4KKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBGZWhsZXIgYmVpbSBBa3R1YWxpc2llcmVuIGRlciBQYXJ0aXRpb25lbiAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiJXM6IGtlaW5lIFBhcnRpdGlvbiAjJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczogR3LDtsOfZSBkZXIgUGFydGl0aW9uICMlZCBnZcOkbmRlcnRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBBa3R1YWxpc2llcnVuZyBkZXIgUGFydGl0aW9uICMlZCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBTZWt0b3IsICU2anUgTUIpXG4iCittc2dzdHJbMV0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBTZWt0b3JlbiwgJTZqdSBNQilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIlNwZWljaGVycExhdHogZsO8ciBkaWUgQXVzZ2FiZXNwYWx0ZSBrb25udGUgbmljaHQgenVnZXdpZXNlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJibGtpZC1GaWx0ZXIgZsO8ciDigJ4lc+KAnCBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbnN0YWJlbGxlIGtvbm50ZSBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczogUGFydGl0aW9uc3RhYmVsbGUgZGVzIFR5cHMg4oCeJXPigJwgd3VyZGUgZXJrYW5udFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogUGFydGl0aW9uc3RhYmVsbGUgb2huZSBQYXJ0aXRpb25lbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8UGFydGl0aW9uPl0gPEZlc3RwbGF0dGU+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTcKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiRGVuIEtlcm5lbCDDvGJlciBkaWUgVmVyZsO8Z2JhcmtlaXQgdW5kIE51bW1lcmllcnVuZyBkZXIgUGFydGl0aW9uZW4gaW5mb3JtaWVyZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICBiZXN0aW1tdGUgUGFydGl0aW9uZW4gb2RlciBhbGxlIGhpbnp1ZsO8Z2VuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICBiZXN0aW1tdGUgUGFydGl0aW9uZW4gb2RlciBhbGxlIGzDtnNjaGVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtdSwgLS11cGRhdGUgICAgICAgICBiZXN0aW1tdGUgUGFydGl0aW9uZW4gb2RlciBhbGxlIGFrdHVhbGlzaWVyZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MworbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgUGFydGl0aW9uZW4gYXVmbGlzdGVuXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICBHUsOWU1NFIGluIEJ5dGVzIGF1c2dlYmVuLCBhbnN0YXR0IGltIG1lbnNjaGVubGVzYmFyZW4gRm9ybWF0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIgLWcsIC0tbm9oZWFkaW5ncyAgICAga2VpbmUgw5xiZXJzY2hyaWZ0ZW4gYXVzZ2ViZW4gZsO8ciAtLXNob3dcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bT4gICAgICAgZGVuIFBhcnRpdGlvbnNiZXJlaWNoIGFuZ2ViZW4gKHouQi4gLS1uciAyOjQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gZGllIHp1IHZlcndlbmRlbmRlbiBBdXNnYWJlc3BhbHRlbiBmZXN0bGVnZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgQXVzZ2FiZWZvcm1hdCBTY2hsw7xzc2VsPVwiV2VydFwiIHZlcndlbmRlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIFJvaGF1c2dhYmVmb3JtYXQgdmVyd2VuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9yLXNpemUgPFdlcnQ+IFNla3Rvcmdyw7bDn2Ugw7xiZXJzY2hyZWliZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8VHlwPiAgICBkZW4gUGFydGl0aW9uc3R5cCBhbmdlYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0LXR5cGVzICAgICB6dWzDpHNzaWdlIFBhcnRpdGlvbnN0eXBlbiBhdWZsaXN0ZW4gdW5kIFByb2dyYW1tIGJlZW5kZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgYXVzZsO8aHJsaWNoZXIgTW9kdXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICJFaW5sZXNlbiBkZXMgLS1uciA8TS1OPiBCZXJlaWNocyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIkRlciBOYW1lIGRlciBQYXJ0aXRpb24gc3RpbW10IG5pY2h0IG1pdCBkZW0gZGVyIFBsYXR0ZSAgw7xiZXJlaW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5yIHVuZCA8UGFydGl0aW9uPiBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICJQYXJ0aXRpb246ICVzLCBGZXN0cGxhdHRlOiAlcywgdW50ZXJlOiAlZCwgb2JlcmU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBQYXJ0aXRpb25lbiBrw7ZubmVuIG5pY2h0IGdlbMO2c2NodCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBhdWZnZXRlaWx0ZSBMb29wLUdlcsOkdGUgd2VyZGVuIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IEluaXRpYWxpc2llcnVuZyBkZXMgYmxraWQtVW50ZXJzdWNoZXJzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAlMSRzICUyJHNyYXdOIDxIYXVwdHZlcnNpb24+IDxOZWJlbnZlcnNpb24+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0PlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIkVpbiB6ZWljaGVub3JpZW50aWVydGVzIFJvaC1HZXLDpHQgYW4gZWluIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCBiaW5kZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIEFiZnJhZ2Vtb2R1cyBmZXN0bGVnZW5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIGFsbGUgUm9oZ2Vyw6R0ZSBhYmZyYWdlblxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIkdlcsOkdCDigJ4lc+KAnCBpc3QgZGFzIHN0ZXVlcm5kZSBSb2hnZXLDpHQgKHZlcndlbmRlbiBTaWUgcmF3PE4+LCB3b2JlaSA8Tj4gZ3LDtsOfZXIgYWxzIE51bGwgaXN0KSIKKworIyBUaGlzIG9uZSBzaG91bGQgYmUgbWVyZ2VkIHdpdGggdGhlIG5leHQgb25lIGJ5IHVzaW5nCisjIGVycm9yKCkgaW5zdGVhZCBvZiBwcmludGYoKQorIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiQmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IOKAniVz4oCcIGthbm4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJHZXLDpHQg4oCeJXPigJwgaXN0IGtlaW4gYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIlZlcmFyYmVpdGVuIGRlcyBBcmd1bWVudHMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJNYXN0ZXItUm9oZ2Vyw6R0IOKAniVz4oCcIGthbm4gbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIlJvaGdlcsOkdCDigJ4lc+KAnCBrYW5uIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJSb2hnZXLDpHQg4oCeJXPigJwgaXN0IGtlaW4gemVpY2hlbm9yaWVudGllcnRlcyBHZXLDpHQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIkdlcsOkdCDigJ4lc+KAnCBpc3Qga2VpbiBibG9ja29yaWVudGllcnRlcyBHZXLDpHQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRmVobGVyIGJlaW0gQWJydWZlbiBkZXMgUm9oZ2Vyw6R0cyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAgZ2VidW5kZW4gYW4gSGF1cHR2ZXJzaW9uICVkLCBOZWJlbnZlcnNpb24gJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkZlaGxlciBiZWltIEZlc3RsZWdlbiBkZXMgUm9oZ2Vyw6R0cyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8RGF0ZW50csOkZ2VyZ2Vyw6R0PiA8UGFydGl0aW9uc251bW1lcj4gPEzDpG5nZT5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICJEZW4gS2VybmVsIMO8YmVyIGRpZSBuZXVlIEdyw7bDn2UgZWluZXIgUGFydGl0aW9uIGluZm9ybWllcmVuLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzOiBBYnJ1ZmVuIGRlcyBBbmZhbmdzIGRlciBQYXJ0aXRpb24gTnVtbWVyICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTExCittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIkdyw7bDn2Vuw6RuZGVydW5nIGRlciBQYXJ0aXRpb24gaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiWnV3ZWlzZW4gZGVzIHZlcnNjaGFjaHRlbHRlbiBsaWJmZGlzay1Lb250ZXh0ZXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gc3RyZXJyb3IoZXJybm8pIGlzIG11Y2ggdG9vIGxvbmcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IGR1cmNoc3VjaHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzIChQb3NpdGlvbiAlNWp1LCBHcsO2w59lICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiBTaWNoZXJ1bmcga29ubnRlIG5pY2h0IGVyc3RlbGx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiRGllIFNpY2hlcnVuZ3NkYXRlaSBrb25udGUgbmljaHQgZXJzdGVsbHQgd2VyZGVuLCBkYSAkSE9NRSBpc3QgbmljaHQgZGVmaW5pZXJ0IGlzdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTUKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJTaWNoZXJ1bmdzZGF0ZWllbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImRhcyBMZXNlbiBkZXIgbmV1ZW4gUGFydGlvbiB2b20gR2Vyw6R0IHdhciBuaWNodCBtw7ZnbGljaDsgLS1tb3ZlLWRhdGUgd2lyZCBpZ25vcmllcnQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorImRpZSBHcsO2w59lIGRlciBuZXVlbiBQYXJ0aXRpb24ga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4sXG4iCisiZGFoZXIgd2lyZCDigJ4tLW1vdmUtZGF0YeKAnSBpZ25vcmllcnQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKyJEZXIgU3RhcnQgZGVyIG5ldWVuIFBhcnRpdGlvbiBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbixcbiIKKyJkYWhlciB3aXJkIOKAni0tbW92ZS1kYXRh4oCdIGlnbm9yaWVydCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODYKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisiZGllIEdyw7bDn2UgZGVyIGFsdGVuIFBhcnRpdGlvbiBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbixcbiIKKyJkYWhlciB3aXJkIOKAni0tbW92ZS1kYXRh4oCdIGlnbm9yaWVydCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorIkRlciBTdGFydCBkZXIgYWx0ZW4gUGFydGl0aW9uIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuLFxuIgorImRhaGVyIHdpcmQg4oCeLS1tb3ZlLWRhdGHigJ0gaWdub3JpZXJ0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MAorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJURlciBBbmZhbmcgZGVyIFBhcnRpdGlvbiB3dXJkZSBuaWNodCB2ZXJzY2hvYmVuOyAtLW1vdmUtZGF0YSB3aXJkIGlnbm9yaWVydCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIkRpZSBuZXVlIFBhcnRpdGlvbiBpc3Qga2xlaW5lciBhbHMgdm9yaGVyLCBkYWhlciB3aXJkIC0tbW92ZS1kYXRhIGlnbm9yaWVydCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICJEYXRlbiB2ZXJzY2hpZWJlbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICJTa3JpcHRkYXRlaTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiBhbHRlciBTdGFydDogJWp1LCBuZXVlciBTdGFydDogJWp1ICglanUgU2VrdG9yZW4gdmVyc2Nob2JlbilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiV29sbGVuIFNpZSBkaWUgUGFydGl0aW9uc2RhdGVuIHZlcnNjaGllYmVuPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIldpcmQgdmVybGFzc2VuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBEaWUgRGF0ZW4ga29ubnRlbiBuaWNodCB2ZXJzY2hvYmVuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDIKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiRGllIFBhcnRpdGlvbnN0YWJlbGxlIHd1cmRlIG5pY2h0IHZlcsOkbmRlcnQgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJEaWUgUGFydGl0aW9uc3RhYmVsbGUgd3VyZGUgdmVyw6RuZGVydC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIk5pY2h0IHVudGVyc3TDvHR6dGUgQmV6ZWljaG51bmcg4oCeJXPigJwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjM0Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiTmljaHQgZXJrYW5udGVyIFBhcnRpdGlvbnN0YWJlbGxlbnR5cCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJHcsO2w59lIHZvbiAlcyBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAiZ2VzYW10OiAlanUgQmzDtmNrZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImtlaW4gR2Vyw6R0IGFuZ2VnZWJlbiIKKworIyBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHN0cmVycm9yKGVycm5vKSBpcyBtdWNoIHRvbyBsb25nCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgIlN0YXR1cyB2b24gJXMga2FubiBuaWNodCBlcm1pdHRlbHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvciBQTUJSIG9ubHkiCittc2dzdHIgIlVtc2NoYWx0ZW4gZGVyIEJvb3Rmw6RoaWctTWFya2llcnVuZyB3aXJkIG51ciBmw7xyIE1CUiB1bnRlcnN0w7x0enQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiQWJydWZlbiBkZXIgUGFydGl0aW9uc251bW1lciBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlZDogQm9vdGbDpGhpZy1NYXJraWVydW5nIGtvbm50ZSBuaWNodCB1bWdlc2NoYWx0ZXQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlenU6IEzDtnNjaGVuIHdhciBuaWNodCBtw7ZnbGljaCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IGVudGjDpGx0IGtlaW5lIGVya2FubnRlIFBhcnRpdGlvbnN0YWJlbGxlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiRGllIFNwZWljaGVyYW5mb3JkZXJ1bmcgZsO8ciBkaWUgU3BlaWNoZXJhdXN6dWdzc3RydWt0dXIgc2NoZWl0ZXJ0ZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IERpZSBQYXJ0aXRpb25zdGFiZWxsZSBrb25udGUgbmljaHQgYXVzZ2VnZWJlbiB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczoga2VpbmUgUGFydGl0aW9uc3RhYmVsbGUgZ2VmdW5kZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBQYXJ0aXRpb24gJXp1OiBQYXJ0aXRpb25zdGFiZWxsZSBlbnRow6RsdCBudXIgJXp1IFBhcnRpdGlvbmVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBQYXJ0aXRpb24gJXp1OiBQYXJ0aXRpb24gaXN0IHVuYmVudXR6dCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMQorbXNnaWQgIm5vIHBhcnRpdGlvbiBudW1iZXIgc3BlY2lmaWVkIgorbXNnc3RyICJLZWluZSBQYXJ0aXRpb25zbnVtbWVyIGFuZ2VnZWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJ1bmVyd2FydGV0ZSBBcmd1bWVudGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlenU6IFBhcnRpdGlvbnN0eXAga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiJXMtUGFydGl0aW9uc3R5cCDigJ4lc+KAnCBrb25udGUgbmljaHQgYXVzZ2V3ZXJ0ZXQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBQYXJ0aXRpb24gJXp1OiBQYXJ0aXRpb25zdHlwIGtvbm50ZSBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogUGFydGl0aW9uICV6dTogUGFydGl0aW9ucy1VVUlEIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJadXdlaXNlbiBkZXMgUGFydGl0aW9uc29iamVrdHMgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlenU6IFBhcnRpdGlvbnMtVVVJRCBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlenU6IFBhcnRpdGlvbnNuYW1lIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBQYXJ0aXRpb24gJXp1OiBQYXJ0aXRpb25zbmFtZSBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlenU6IFBhcnRpdGlvbnNhdHRyaWJ1dGUga29ubnRlbiBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg3Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIgQmVmZWhsZTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisiICAgd3JpdGUgICAgZGllIFRhYmVsbGUgYXVmIGRpZSBGZXN0cGxhdHRlIHNjaHJlaWJlblxuIgorIiAgICAgICAgICAgIHVuZCBkYXMgUHJvZ3JhbW0gYmVlbmRlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorIiAgIHF1aXQgICAgIGRpZSBuZXVlIEF1ZnRlaWx1bmcgemVpZ2VuIHVuZCB2b3IgZGVtIFNjaHJlaWJlbiBhdWYgZGllXG4iCisiICAgICAgICAgICAgICBSw7xja21lbGR1bmcgZGVzIEJlbnV0emVycyB3YXJ0ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAgZGllIHNmZGlzay1TaGVsbCBiZWVuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICBQYXJ0aXRpb25zdGFiZWxsZSBhbnplaWdlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuIHVuZCBiZWVuZGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBTdHJnLUQgICBnbGVpY2hiZWRldXRlbmQgbWl0IGRlbSBCZWZlaGwg4oCecXVpdOKAnFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTkKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIgRWluZ2FiZWZvcm1hdDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiICAgPFN0YXJ0PiwgPEdyw7bDn2U+LCA8VHlwPiwgPGJvb3Rmw6RoaWc+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8U3RhcnQ+ICBCZWdpbm4gZGVyIFBhcnRpdGlvbiBpbiBTZWt0b3JlbjsgZmFsbHMgaW0gRm9ybWF0XG4iCisiICAgICAgICAgICAgPFphaGw+e0ssTSxHLFQsUCxFLFosWX0gYW5nZWdlYmVuLCB3aXJkIGRpZXMgYWxzIEdyw7bDn2VcbiIKKyIgICAgICAgICAgICBpbiBCeXRlIGludGVycHJldGllcnQuIFZvcmdhYmUgaXN0IGRlciBlcnN0ZSBmcmVpZSBCZXJlaWNoXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8R3LDtsOfZT4gIEdyw7bDn2UgZGVyIFBhcnRpdGlvbiBpbiBTZWt0b3JlbjsgZmFsbHMgaW0gRm9ybWF0XG4iCisiICAgICAgICAgICAgPFphaGw+e0ssTSxHLFQsUCxFLFosWX0gYW5nZWdlYmVuLCB3aXJkIGRpZXMgYWxzIEdyw7bDn2VcbiIKKyIgICAgICAgICAgICBpbiBCeXRlIGludGVycHJldGllcnQuIFZvcmdhYmUgaXN0IGRlciBnZXNhbXRlIHZlcmbDvGdiYXJlXG4iCisiICAgICAgICAgICAgUGxhdHouXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPFR5cD4gICAgUGFydGl0aW9uc3R5cCwgVm9yZ2FiZSBpc3QgZWluZSBMaW51eC1EYXRlbnBhcnRpdGlvbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IGhleGFkZXppbWFsIG9kZXIgZGllIEvDvHJ6ZWwgTCxTLEUsWC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCBvZGVyIGRpZSBLw7xyemVsIEwsUyxIXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA8Ym9vdGbDpGhpZz4gdmVyd2VuZGVuIFNpZSDigJ4q4oCcIHVtIGRpZSBNQlItUGFydGl0aW9uIGFscyBib290ZsOkaGlnIHp1IG1hcmtpZXJlbixcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiBCZWlzcGllbDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIiCisiICAgLCA0RyAgICAgZXJ6ZXVndCBlaW5lIDRHaUItUGFydGl0aW9uIGJlZ2lubmVuZCBiZWkgZGVyXG4iCisiICAgICAgICAgICAgdm9yZ2VnZWJlbmVuIFN0YXJ0cG9zaXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZXIgQmVmZWhsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiWmVpbGUgJWQ6IG5pY2h0IHVudGVyc3TDvHR6dGVyIEJlZmVobCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJEaWUgYWx0ZSAlcy1TaWduYXR1ciBrw7ZubnRlIGF1ZiBkZW0gR2Vyw6R0IHZlcmJsZWliZW4uIEVzIHdpcmQgZHJpbmdlbmQgZW1wZm9obGVuLCBkYXMgR2Vyw6R0IG1pdCB3aXBlZnMoOCkgb2RlciDigJ5zZmRpc2sgLS13aXBl4oCdIHp1IGxlZXJlbiwgdW0gbcO2Z2xpY2hlIEtvbGxpc2lvbmVuIHp1IHZlcm1laWRlbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiUGFydGl0aW9uc25hbWUga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIlNrcmlwdC1IYW5kbGVyIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiJXM6IFBhcnRpdGlvbiAlZCBrb25udGUgbmljaHQgdmVyw6RuZGVydCB3ZXJkZW46IFBhcnRpdGlvbnN0YWJlbGxlIG5pY2h0IGdlZnVuZGVuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBQYXJ0aXRpb24gJWQga2FubiBuaWNodCB2ZXLDpG5kZXJ0IHdlcmRlbjogZGllIFBhcnRpdGlvbnN0YWJlbGxlIGVudGjDpGx0IG51ciAlenUgUGFydGl0aW9uZW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIldhcm51bmc6ICVzOiBQYXJ0aXRpb24gJWQgd3VyZGUgbm9jaCBuaWNodCBkZWZpbmllcnQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJXaWxsa29tbWVuIGJlaSBmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIkVzIHdpcmQgw7xiZXJwcsO8ZnQsIG9iIGRpZXNlIEZlc3RwbGF0dGUgenVyIFplaXQgYmVudXR6dCB3aXJkIOKApiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBGRUhMR0VTQ0hMQUdFTlxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIkRpZXNlIEZlc3RwbGF0dGUgaXN0IHp1ciBaZWl0IGluIEJlbnV0enVuZyAtIE5ldXBhcnRpdGlvbmllcnVuZyBpc3RcbiIKKyJ3YWhyc2NoZWlubGljaCBlaW5lIHNjaGxlY2h0ZSBJZGVlLiBIw6RuZ2VuIFNpZSBhdWYgZGllc2VyIEZlc3RwbGF0dGVcbiIKKyJhbGxlIERhdGVpc3lzdGVtZSBhdXMgdW5kIGRlYWt0aXZpZXJlbiBTaWUgc8OkbXRsaWNoZSBkYXJhdWYgYmVmaW5kbGljaGVuXG4iCisiQXVzbGFnZXJ1bmdzcGFydGl0aW9uZW4uXG4iCisiQmVudXR6ZW4gU2llIC0tbm8tcmVyZWFkLCB1bSBkaWVzZSDDnGJlcnByw7xmdW5nIHp1IHVudGVyZHLDvGNrZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJCZW51dHplbiBTaWUgZGllIE9wdGlvbiAtLWZvcmNlLCB1bSBhbGxlIMOcYmVycHLDvGZ1bmdlbiBhdcOfZXIgS3JhZnQgenUgc2V0emVuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiIE9LXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIkFsdGUgQXVmdGVpbHVuZzoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorIlxuIgorIlNmZGlzayB3aXJkIGVpbmUgbmV1ZSBGZXN0cGxhdHRlbmJlemVpY2hudW5nIHZvbSBUeXAg4oCeJXPigJwgZXJ6ZXVnZW4uXG4iCisiVmVyd2VuZGVuIFNpZSDigJ5sYWJlbDogPE5hbWU+4oCcLCBiZXZvciBTaWUgZGllIGVyc3RlIFBhcnRpdGlvbiBkZWZpbmllcmVuLFxuIgorInVtIGRpZSBWb3JiZWxlZ3VuZyB6dSDDvGJlcnNjaHJlaWJlbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIk1pdCDigJ4tLWhlbHDigJwgZXJoYWx0ZW4gU2llIHdlaXRlcmUgSW5mb3JtYXRpb25lbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjg2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIkFsbGUgUGFydGl0aW9uZW4gc2luZCBpbiBCZW51dHp1bmcuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJGZXJ0aWcuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcnRpdGlvbiB3aXJkIGlnbm9yaWVydC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICIiCisiU2tyaXB0LUhlYWRlciBrb25udGVuIG5pY2h0IGFuZ2V3ZW5kZXQgd2VyZGVuLFxuIgorIkZlc3RwbGF0dGVuYmV6ZWljaG51bmcgd3VyZGUgbmljaHQgZ2VzY2hyaWViZW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJIaW56dWbDvGdlbiBkZXIgUGFydGl0aW9uICMlZCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJTa3JpcHQtSGVhZGVyIHd1cmRlIGFremVwdGllcnQuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJOZXVlIEF1ZnRlaWx1bmc6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJXb2xsZW4gU2llIGRhcyBhdWYgZGllIEZlc3RwbGF0dGUgc2NocmVpYmVuPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiV2lyZCB2ZXJsYXNzZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxHZXLDpHQ+IFtbLU5dIDxQYXJ0aXRpb24+XVxuIgorIiAlMSRzIFtPcHRpb25lbl0gPEJlZmVobD5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hY3RpdmF0ZSA8R2Vyw6R0PiBbPFBhcnRpdGlvbj4g4oCmXVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdGV0IGJvb3Rmw6RoaWdlIE1CUi1QYXJ0aXRpb25lbiBhdWZcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2RlciBtYXJraWVydCBkaWVzZSBhbHMgYm9vdGbDpGhpZy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIgorIiAtZCwgLS1kdW1wIDxHZXLDpHQ+ICAgICAgICAgICAgICAgIGdpYnQgZGllIFBhcnRpdGlvbnN0YWJlbGxlIGF1cyAobsO8dHpsaWNoIGbDvHJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgV2VpdGVybGVpdHVuZylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiA8R2Vyw6R0PiAgICAgICAgICAgICAgICBnaWJ0IGRpZSBQYXJ0aXRpb25zdGFiZWxsZSBpbSBKU09OLUZvcm1hdCBhdXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxHZXLDpHQ+IOKApl0gICB6ZWlndCBkaWUgR2VvbWV0cmllIGFsbGVyIG9kZXIgZGVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2VnZWJlbmVuIEdlcsOkdGUgYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzxHZXLDpHQ+IOKApl0gICAgICAgICAgICB6ZWlndCBkaWUgUGFydGl0aW9uZW4gamVkZXMgR2Vyw6R0ZXMgYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLUYsIC0tbGlzdC1mcmVlIFs8R2Vyw6R0PiDigKZdICAgICAgIHplaWd0IGRpZSBuaWNodCBwYXJ0aXRpb25pZXJ0ZW4gQmVyZWljaGUgamVkZXMgR2Vyw6R0ZXMgYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLXIsIC0tcmVvcmRlciA8R2Vyw6R0PiAgICAgICAgICAgICBSZWloZW5mb2xnZSBkZXIgUGFydGl0aW9uZW4gKG5hY2ggU3RhcnRwb3NpdGlvbikga29ycmlnaWVyZW4gXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93LXNpemUgWzxHZXLDpHQ+IOKApl0gICAgICAgemVpZ3QgZGllIEdyw7bDn2VuIGFsbGVyIG9kZXIgZGVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2VnZWJlbmVuIEdlcsOkdGUgYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIiCisiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICB6ZWlndCBkaWUgdmVyYXJiZWl0YmFyZW4gVHlwZW4gYW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHNpZWhlIC1YKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmlmeSBbPEdlcsOkdD4g4oCmXSAgICAgICAgICAgICAgICAgw7xiZXJwcsO8ZnQsIG9iIGRpZSBQYXJ0aXRpb25lblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtvcnJla3QgenUgc2VpbiBzY2hlaW5lblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1kZWxldGUgPEdlcsOkdD4gWzxQYXJ0aXRpb24+IOKApl0gbMO2c2NodCBhbGxlIGJ5dy4gZGllIGFuZ2VnZWJlbmVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXJ0aXRpb25lblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIgorIiAtLXBhcnQtbGFiZWwgPEdlcsOkdD4gPFBhcnRpdGlvbj4gWzxaZWljaGVua2V0dGU+XSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHplaWd0IGVpbmUgUGFydGl0aW9uc2JlemVpY2hudW5nIGFuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9kZXIgw6RuZGVydCBkaWVzZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIiCisiIC0tcGFydC10eXBlIDxHZXLDpHQ+IDxQYXJ0aXRpb24+IFs8VHlwPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHplaWd0IGRlbiBQYXJ0aXRpb25zdHlwIGFuIG9kZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgw6RuZGVydCBkaWVzZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtLXBhcnQtdXVpZCA8R2Vyw6R0PiA8UGFydGl0aW9uPiBbPFVVSUQ+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemVpZ3QgZGllIFBhcnRpdGlvbnMtVVVJRCBhbiBvZGVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMOkbmRlcnQgZGllc2VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorIiAtLXBhcnQtYXR0ciA8R2Vyw6R0PiA8UGFydGl0aW9uPiBbPFplaWNoZW5rZXR0ZT5dIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgemVpZ3QgZWluIFBhcnRpdGlvbnNhdHRyaWJ1dCBhblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZGVyIMOkbmRlcnQgZGllc2VzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA8R2Vyw6R0PiAgICAgICAgICAgICAgICAgICBHZXLDpHRlcGZhZCAow7xibGljaGVyd2Vpc2UgZWluZSBQbGF0dGUpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxQYXJ0aXRpb24+ICAgICAgICAgICAgICAgUGFydGl0aW9uc251bW1lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIgPFR5cD4gICAgICAgICAgICAgICAgICAgICBQYXJ0aXRpb25zdHlwLCBHVUlEIGbDvHIgR1BULCBoZXhhZGV6aW1hbCBmw7xyIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzAKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hcHBlbmQgICAgICAgICAgICAgIFBhcnRpdGlvbmVuIGFuIGVpbmUgdm9yaGFuZGVuZSBQYXJ0aXRpb25zLVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmVsbGUgYW5ow6RuZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBQYXJ0aXRpb25zdGFiZWxsZW5zZWt0b3JlbiBzaWNoZXJuIChzaWVoZSAtTylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIEdSw5ZTU0UgaW4gQnl0ZXMgc3RhdHQgaW0gbWVuc2NoZW5sZXNiYXJlbiBGb3JtYXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhdXNnZWJlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzMKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiAgICAgLS1tb3ZlLWRhdGFbPTxUeXBzY3JpcHQ+XSAgbmFjaCBkZW0gVmVyc2NoaWVidW5nIGRlciBQYXJ0aXRpb24gYXVjaCBkaWUgRGF0ZW4gdmVyc2NoaWViZW4gKGVyZm9yZGVydCAtTilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgamVnbGljaGUgS29uc2lzdGVuenByw7xmdW5nZW4gYWJzY2hhbHRlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzUKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgIC0tY29sb3JbPTxXYW5uPl0gICAgICAgQXVzZ2FiZSBlaW5mw6RyYmVuICjigJ5hdXRv4oCcLCDigJ5hbHdheXPigJwgb2RlciDigJ5uZXZlcuKAnClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPE51bW1lcj4gICAgIEFuZ2FiZSBkZXIgUGFydGl0aW9uc251bW1lclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGFsbGVzIGF1c2bDvGhyZW4gYmlzIGF1ZiBkZW4gdGF0c8OkY2hsaWNoZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNjaHJlaWJ2b3JnYW5nXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIG5pY2h0IMO8YmVycHLDvGZlbiwgb2IgZGFzIEdlcsOkdCBiZW51dHp0IHdpcmRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZGVuIEtlcm5lbCBuaWNodCDDvGJlciBkaWUgw4RuZGVydW5nZW4gaW5mb3JtaWVyZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKyIgLU8sIC0tYmFja3VwLWZpbGUgPFBmYWQ+ICBQZmFkIHp1ciBTaWNoZXJ1bmdzZGF0ZWksIMO8YmVyc2NocmVpYnRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZSBWb3JlaW5zdGVsbHVuZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICAgICBTcGFsdGVuIGRlciBBdXNnYWJlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgenVzw6R0emxpY2hlIEluZm9tZWxkdW5nZW4gdW50ZXJkcsO8Y2tlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPE1vZHVzPiAgICAgICAgU2lnbmF0dXJlbiBlbnRmZXJuZW4gKGF1dG8sIGFsd2F5cyBvZGVyIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA8TmFtZT4gICAgICAgIEFuZ2FiZSBkZXMgVHlwcyAoZG9zLCBncHQsIOKApilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg4Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPE5hbWU+IHZlcnNjaGFjaHRlbHRlbiBUeXAgYW5nZWJlbiAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgaWdub3JpZXJ0IChudXIgZsO8ciBBYnfDpHJ0c2tvbXBhdGliaWxpw6R0KVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBpZ25vcmllcnQsIG51ciBTZWt0b3JhbmdhYmVuIHdlcmRlbiB1bnRlcnN0w7x0enRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyBpc3QgdmVyYWx0ZXQsIHZlcndlbmRlbiBTaWUgLS0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICItLWlkIGlzdCB2ZXJhbHRldCwgdmVyd2VuZGVuIFNpZSAtLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MworbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICJEaWUgT3B0aW9uIC0tTGludXggaXN0IHVubsO2dGlnIHVuZCB2ZXJhbHRldCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZSBFaW5oZWl0IOKAniVj4oCcIgorCisjICJta2ZzIGF1cyB1dGlsLWxpbnV4LTIuMTBkIgorIyAibWtmcyB2b24gdXRpbC1saW51eC0yLjEwZCIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NSBpbmNsdWRlL2MuaDozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyB2b24gJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSBlcmZvcmRlcnQgLU4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5sZXNlbiBkZXIgVVVJRDogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IFN1Y2hlIG5hY2ggZGVyIEF1c2xhZ2VydW5ncy1VVUlEIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBGZWhsZXIgYmVpbSBTY2hyZWliZW4gZGVyIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogU3VjaGUgbmFjaCBkZXIgQXVzbGFnZXJ1bmdzLUJlemVpY2hudW5nIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiQmV6ZWljaG51bmcgaXN0IHp1IGxhbmcuIFNpZSB3aXJkIGFiZ2VzY2huaXR0ZW4gYXVmIOKAniVz4oCcIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlczogU2NocmVpYmVuIGRlciBCZXplaWNobnVuZyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIkRpZSBCZXplaWNobnVuZyBvZGVyIFVVSUQgZWluZXMgQXVzbGFnZXJ1bmdzYmVyZWljaGVzIGFuemVpZ2VuIG9kZXIgw6RuZGVybi5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiIC1MLCAtLWxhYmVsIDxCZXplaWNobnVuZz4gRWluZSBuZXVlIEJlemVpY2hudW5nIGFuZ2ViZW5cbiIKKyIgLVUsIC0tdXVpZCA8VVVJRD4gICAgICAgICBFaW5lIG5ldWUgVVVJRCBhbmdlYmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICItVSBpZ25vcmllcmVuIChVVUlEcyB3ZXJkZW4gbmljaHQgdW50ZXJzdMO8dHp0KSIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiUnVmZW4gU2llIOKAniVzIC0taGVscOKAnCBhdWYsIHVtIHdlaXRlcmUgSW5mb3JtYXRpb25lbiB6dSBlcmhhbHRlbi5cbiIKKworIzogaW5jbHVkZS9jLmg6MzE4Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisiQXVmcnVmOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbmVuOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjAKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRnVua3Rpb25lbjpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiQmVmZWhsZTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJWZXJmw7xnYmFyZSBTcGFsdGVuIGbDvHIgLS1saXN0OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiAtPyAgICAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuIHVuZCBiZWVuZGVuXG4iCisKKyMgYy1mb3JtYXQKKyM6IGluY2x1ZGUvYy5oOjMyNgorIywgZnV6enkKK21zZ2lkICJkaXNwbGF5IHZlcnNpb24iCittc2dzdHIgIlZlcnNpb24iCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJGw7xyIHdlaXRlcmUgRWluemVsaGVpdGVuIHNpZWhlICVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJTY2hyZWliZmVobGVyIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkZhcmJlbiBzdGFuZGFyZG3DpMOfaWcgYWt0aXZpZXJ0IgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJGYXJiZW4gc3RhbmRhcmRtw6TDn2lnIGRlYWt0aXZpZXJ0IgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIkRpZSBVbWdlYnVuZ3N2YXJpYWJsZSAlcyBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIiVzOiBzaWNoIGdlZ2Vuc2VpdGlnIGF1c3NjaGxpZcOfZW5kZSBBcmd1bWVudGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiTGVlciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiRXJ3ZWl0ZXJ0ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyMgImJvb3Rmw6RoaWciCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGJvb3Rmw6RoaWciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzItQm9vdG1hbmFnZXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgRXJ3LiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiVmVyc3QuIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIERpYWdub3N0aWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIlZlcnN0LiBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiVmVyc3QuIEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIlZlcnN0LiBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlZlcnN0LiBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVmVyc3QuIFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJWZXJzdC4gVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIlZlcnN0LiBOVEZTIFdpblJFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyBXaWVkZXJoZXJzdGVsbHVuZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyLiBUZWlsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDMuIFRlaWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgb2RlciBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIkFsdGVzIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIGFsdGVzIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBTd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgInZlcnN0ZWNrdGUgT1MvMi0gb2RlciBJbnRlbCBSdWhlcGFydGl0aW9uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBlcndlaXRlcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIERhdGVudHLDpGdlcnNhdHoiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBLbGFydGV4dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgUnVoZXp1c3RhbmQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTRGkgRGF0ZWlzeXN0ZW0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIFN3YXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJCb290LUFzc2lzdGVudCB2ZXJzdGVja3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgTEJBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5Cittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiS2VpbmUgRGF0ZWlzeXN0ZW1kYXRlbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIERpZW5zdHByb2dyYW1tIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUy1adWdyaWZmIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJSdWZ1cy1BdXNyaWNodHVuZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIERhdGVpc3lzdGVtIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBCb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2VrdW5kw6RyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIldhcm51bmc6ICVzIGlzdCBuaWNodCBrb3JyZWt0IGF1c2dlcmljaHRldCIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MCBsaWJmZGlzay9zcmMvYXNrLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIlBhcnRpdGlvbiAlanUgYXVzZ2V3w6RobHQiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJOb2NoIGtlaW5lIFBhcnRpdGlvbiBmZXN0Z2VsZWd0ISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIktlaW5lIGZyZWllIFBhcnRpdGlvbiB2ZXJmw7xnYmFyISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIlBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIkVpbmUgbmV1ZSBQYXJ0aXRpb24gJWQgZGVzIFR5cHMg4oCeJXPigJwgdW5kIGRlciBHcsO2w59lICVzIHd1cmRlIGVyc3RlbGx0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIlBhcnRpdGlvbiAlemQ6IGhhdCBlaW5lbiB1bmfDvGx0aWdlbiBTdGFydHNla3RvciAwLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIkVzIGdpYnQga2VpbmUgKkJTRC1QYXJ0aXRpb24gYXVmICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIkVyc3RlciBaeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiTGV0enRlciBaeWxpbmRlciwgK1p5bGluZGVyIG9kZXIgK0dyw7bDn2V7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NiBsaWJmZGlzay9zcmMvZG9zLmM6MTIxOCBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJMZXR6dGVyIFNla3RvciwgK1Nla3RvcmVuIG9kZXIgK0dyw7bDn2V7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkRhcyBHZXLDpHQgJXMgZW50aMOkbHQga2VpbmUgQlNELUZlc3RwbGF0dGVuYmV6ZWljaG51bmcuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIk3DtmNodGVuIFNpZSBlaW5lIEJTRC1GZXN0cGxhdHRlbmJlemVpY2hudW5nIGVyc3RlbGxlbj8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDgKK21zZ2lkICJEaXNrIgorbXNnc3RyICJGZXN0cGxhdHRlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIlBha2V0bmFtZSIKKworIyBJIGN1cnJlbnRseSBkb24ndCBrbm93IGEgYmV0dGVyIHRyYW5zbGF0aW9uCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYyIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIk1hcmtpZXJ1bmdlbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBlbnRmZXJuYmFyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYmFkc2VjdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiQnl0ZXMvU2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgwCittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJTcHVyZW4vWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODUKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJTZWt0b3Jlbi9aeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTUgbGliZmRpc2svc3JjL3N1bi5jOjc3MworbXNnaWQgIlJwbSIKK21zZ3N0ciAiUnBtIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTAwIGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTEgbGliZmRpc2svc3JjL3N1bi5jOjc5MworbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgIlZlcnNhdHoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDUKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgIlNwdXJhYndlaWNodW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJaeWxpbmRlcmFid2VpY2h1bmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJLb3Bmd2VjaHNlbCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIlNwdXLigJB6deKAkFNwdXLigJBXZWNoc2VsIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJCeXRlcy9TZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTMKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWt0b3Jlbi9TcHVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJTcHVyZW4vWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgIlp5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAiU2VrdG9yZW4vWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgIlUvbWluIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAiSW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAiU3B1cmFid2VpY2h1bmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgIlp5bGluZGVyYWJ3ZWljaHVuZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNworbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgIktvcGZ3ZWNoc2VsIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiU3B1cuKAkHp14oCQU3B1cuKAkFdlY2hzZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJEaWUgQm9vdHN0cmFwLURhdGVpICVzIHd1cmRlIGVyZm9sZ3JlaWNoIGdlbGFkZW4uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKFN0YW5kYXJkICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiQm9vdHN0cmFwIMO8YmVybGFwcHQgbWl0IGRlciBGZXN0cGxhdHRlbmJlemVpY2hudW5nISIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiQm9vdHN0cmFwIGF1ZiAlcyBpbnN0YWxsaWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIkRpZSBQbGF0dGVua2VubnVuZyB3dXJkZSBhdWYgJXMgZ2VzY2hyaWViZW4gKHZlcmdlc3NlbiBTaWUgbmljaHQsIGRpZSAlcy1LZW5udW5nIHp1IHNjaHJlaWJlbikuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBnZXNjaHJpZWJlbiBuYWNoICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJGZXN0cGxhdHRlbiB3ZXJkZW4gc3luY2hyb25pc2llcnQuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkJTRC1CZXplaWNobnVuZyBpc3QgbmljaHQgaW4gZWluZXIgRE9TLVBhcnRpdGlvbiB2ZXJzY2hhY2h0ZWx0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiQlNELVBhcnRpdGlvbiDigJ4lY+KAnCBpc3QgbWl0IERPUy1QYXJ0aXRpb24gJXp1IHZlcmtuw7xwZnQuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJTbGljZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRGdyw7bDn2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgIkJsLmdyw7bDn2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICJDcGciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogR2Vyw6R0IHNjaGxpZcOfZW4gaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgImlvY3RsKCkgd2lyZCBhdWZnZXJ1ZmVuLCB1bSBkaWUgUGFydGl0aW9uc3RhYmVsbGUgbmV1IGVpbnp1bGVzZW4uIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJEYXMgZXJuZXV0ZSBFaW5sZXNlbiBkZXIgUGFydGl0aW9uc3RhYmVsbGUgaXN0IGZlaGxnZXNjaGxhZ2VuLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIkRlciBLZXJuZWwgYmVudXR6dCBub2NoIGRpZSBhbHRlIFRhYmVsbGUuIERpZSBuZXVlIFRhYmVsbGUgd2lyZCBiZWltIG7DpGNoc3RlbiBOZXVzdGFydCB2ZXJ3ZW5kZXQgd2VyZGVuIG9kZXIgbmFjaGRlbSBTaWUgcGFydHByb2JlKDgpIG9kZXIga3BhcnR4KDgpIGF1c2dlZsO8aHJ0IGhhYmVuLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAiRW50ZmVybmVuIGRlciBQYXJ0aXRpb24gaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBzeXN0ZW0gaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSW5mb3JtYXRpb25lbiDDvGJlciBlaW5lIFBhcnRpdGlvbiBhdXNnZWJlbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgIkhpbnp1ZsO8Z2VuIGRlciBQYXJ0aXRpb24gZmVobGdlc2NobGFnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICJEZXIgS2VybmVsIGJlbnV0enQgbm9jaCBkaWUgYWx0ZSBUYWJlbGxlLiBEaWUgbmV1ZSBUYWJlbGxlIHdpcmQgYmVpbSBuw6RjaHN0ZW4gTmV1c3RhcnQgdmVyd2VuZGV0IHdlcmRlbiBvZGVyIG5hY2hkZW0gU2llIHBhcnRwcm9iZSg4KSBvZGVyIGtwYXJ0eCg4KSBhdXNnZWbDvGhydCBoYWJlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTA4NAorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gIlp5bGluZGVyIgorbXNnc3RyWzFdICJaeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJTZWt0b3IiCittc2dzdHJbMV0gIlNla3RvcmVuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJVbnZvbGxzdMOkbmRpZ2UgR2VvbWV0cmllZWluc3RlbGx1bmcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiQWxsZSBwcmltw6RyZW4gUGFydGl0aW9uZW4gd3VyZGVuIGJlcmVpdHMgZmVzdGdlbGVndC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIktlaW5lIGZyZWllIFBhcnRpdGlvbiB2ZXJmw7xnYmFyISIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJMZXNlbiBkZXIgZXJ3ZWl0ZXJ0ZW4gUGFydGl0aW9uc3RhYmVsbGUgaXN0IGZlaGxnZXNjaGxhZ2VuIChQb3NpdGlvbj0lanUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICJTaWUga8O2bm5lbiBkaWUgR2VvbWV0cmllIGltIFp1c2F0emZ1bmt0aW9uc21lbsO8IGZlc3RsZWdlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJEZXIgRE9TLWtvbXBhdGlibGUgTW9kdXMgaXN0IHZlcmFsdGV0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICJEYXMgR2Vyw6R0IG1lbGRldCBlaW5lIGxvZ2lzY2hlIFNla3Rvcmdyw7bDn2UsIGRpZSBnZXJpbmdlciBhbHMgZGllIHBoeXNpc2NoZSBTZWt0b3JncsO2w59lIGlzdC4gRGllIEF1c3JpY2h0dW5nIGFuIGVpbmVyIHBoeXNpc2NoZW4gU2VrdG9yLSAob2RlciBvcHRpbWFsZXIgRS9BLSkgR3LDtsOfZW5ncmVuemUgaXN0IGVtcGZlaGxlbnN3ZXJ0LCBkYSBzb25zdCBkaWUgUGVyZm9ybWFuY2UgZWluZ2VzY2hyw6Rua3Qgc2VpbiBrYW5uLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiWnlsaW5kZXIgYWxzIEFuemVpZ2VlaW5oZWl0ZW4gc2luZCB2ZXJhbHRldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiRGllIEdyw7bDn2UgZGllc2VyIEZlc3RwbGF0dGUgaXN0ICVzICglanUgQnl0ZXMpLiBET1MtUGFydGl0aW9uZW4ga8O2bm5lbiBuaWNodCBhdWYgTGF1ZndlcmtlbiBmw7xyIERhdGVudHLDpGdlciBncsO2w59lciBhbHMgJWx1IEJ5dGVzIGbDvHIgJWx1LUJ5dGUtU2VrdG9yZW4gdmVyd2VuZGV0IHdlcmRlbi4gVmVyd2VuZGVuIFNpZSBlaW5lIEdVSUQtUGFydGl0aW9uc3RhYmVsbGUgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlVuZ8O8bHRpZ2UgUG9zaXRpb24gaW4gcHJpbcOkcmVyIGVyd2VpdGVydGVyIFBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlBhcnRpdGlvbmVuIGhpbnRlciAjJXp1IHdlcmRlbiBhdXNnZWxhc3Nlbi4gU2llIHdlcmRlbiBnZWzDtnNjaHQsIHdlbm4gU2llIGRpZXNlIFBhcnRpdGlvbnN0YWJlbGxlIHNwZWljaGVybi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJadXPDpHR6bGljaGVyIExpbmstUG9pbnRlciBpbiBQYXJ0aXRpb25zdGFiZWxsZSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlp1c8OkdHpsaWNoZSBEYXRlbiBpbiBkZXIgUGFydGl0aW9uc3RhYmVsbGUgJXp1IHdlcmRlbiBpZ25vcmllcnQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAiTGVlcmUgUGFydGl0aW9uICglenUpIHdpcmQgw7xiZXJzcHJ1bmdlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiRWluZSBuZXVlIERPUy1GZXN0cGxhdHRlbmJlemVpY2hudW5nIDB4JTA4eCB3dXJkZSBlcnN0ZWxsdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MjYKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiRWluZW4gbmV1ZW4gRmVzdHBsYXR0ZW5iZXplaWNobmVyIGVpbmdlYmVuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgV2VydCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJGZXN0cGxhdHRlbmJlemVpY2huZXIgaXN0IHZvbiAweCUwOHggbmFjaCAweCUwOHggZ2XDpG5kZXJ0IHdvcmRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiWnVzw6R0emxpY2hlIGVyd2VpdGVydGUgUGFydGl0aW9uICV6dSB3aXJkIGlnbm9yaWVydCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiVW5nw7xsdGlnZSBNYXJraWVydW5nIDB4JTAyeCUwMnggZGVyIEVCUiAoZsO8ciBQYXJ0aXRpb25zdGFiZWxsZSAlenUpIHdpcmQgZHVyY2ggdyhyaXRlKSBrb3JyaWdpZXJ0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIlN0YXJ0c2VrdG9yICVqdSBpc3QgYXXDn2VyaGFsYiBkZXMgQmVyZWljaHMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGlzdCBiZXJlaXRzIGZlc3RnZWxlZ3QuIEJpdHRlIGzDtnNjaGVuIFNpZSBzaWUgdm9yIGRlbSBXaWVkZXJhbmxlZ2VuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3IgJWxsdSBpc3QgYmVyZWl0cyB6dWdldGVpbHQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4NSBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzMAorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJFcyBzaW5kIGtlaW5lIGZyZWllbiBTZWt0b3JlbiB2ZXJmw7xnYmFyLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTG9naXNjaGUgUGFydGl0aW9uICV6dSB3aXJkIGhpbnp1Z2Vmw7xndCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGVudGjDpGx0IFNla3RvciAwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBLb3BmICVkIGlzdCBncsO2w59lciBhbHMgZGFzIE1heGltdW0gJWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBTZWt0b3IgJWQgaXN0IGdyw7bDn2VyIGFscyBkYXMgTWF4aW11bSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBaeWxpbmRlciAlZCBpc3QgZ3LDtsOfZXIgYWxzIGRhcyBNYXhpbXVtICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IHZvcmhlcmlnZXIgU2VrdG9yICV1IHdpZGVyc3ByaWNodCBzaWNoIG1pdCBnZXNhbXQgJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IHVudGVyc2NoaWVkbGljaGUgcGh5c2lzY2hlL2xvZ2lzY2hlIEFuZsOkbmdlIChuaWNodC1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naXNjaD0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogaGF0IHVudGVyc2NoaWVkbGljaGUgcGh5c2lzY2hlL2xvZ2lzY2hlIEVuZHVuZ2VuOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naXNjaD0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGVuZGV0IG5pY2h0IGFuIGVpbmVyIFp5bGluZGVyZ3JlbnplLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBmYWxzY2hlIFN0YXJ0cG9zaXRpb24gZGVyIERhdGVuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IMO8YmVybGFwcHQgUGFydGl0aW9uICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogbGVlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMb2dpc2NoZSBQYXJ0aXRpb24gJXp1OiBpc3QgbmljaHQgdm9sbHN0w6RuZGlnIGluIFBhcnRpdGlvbiAlenUgZW50aGFsdGVuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIkdlc2FtdGFuemFobCBiZWxlZ3RlciBTZWt0b3JlbiAlbGx1IGdyw7bDn2VyIGFscyBNYXhpbXVtICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiVmVyYmxlaWJlbmRlICVsbGQgdW5iZWxlZ3RlICVsZC1CeXRlLVNla3RvcmVuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJEaWUgZXJ3ZWl0ZXJ0ZSBQYXJ0aXRpb24gZXhpc3RpZXJ0IGJlcmVpdHMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIkRpZSBtYXhpbWFsZSBBbnphaGwgYW4gUGFydGl0aW9uZW4gd3VyZGUgZXJzdGVsbHQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIkFsbGUgcHJpbcOkcmVuIFBhcnRpdGlvbmVuIHNpbmQgaW4gQmVudXR6dW5nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJKZWdsaWNoZXIgUGxhdHogZsO8ciBwcmltw6RyZSBQYXJ0aXRpb25lbiBpc3QgaW4gQmVudXR6dW5nLiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NworbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiRXMgaXN0IG5pY2h0IG3DtmdsaWNoLCBlaW5lIHdlaXRlcmUgcHJpbcOkcmUgUGFydGl0aW9uIGFuenVsZWdlbi4gV2VubiBTaWUgd2VpdGVyZSBQYXJ0aXRpb25lbiBlcnN0ZWxsZW4gbcO2Y2h0ZW4sIG3DvHNzZW4gU2llIHp1ZXJzdCBlaW5lIHByaW3DpHJlIFBhcnRpdGlvbiBkdXJjaCBlaW5lIGVyd2VpdGVydGUgUGFydGl0aW9uIGVyc2V0emVuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiQWxsZSBsb2dpc2NoZW4gUGFydGl0aW9uZW4gc2luZCBpbiBCZW51dHp1bmcuIEVpbmUgcHJpbcOkcmUgUGFydGl0aW9uIHdpcmQgaGluenVnZWbDvGd0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1IHByaW3DpHIsICVkIGVyd2VpdGVydCwgJXp1IGZyZWkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzMzCittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiUHJpbcOkciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiRXJ3ZWl0ZXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJDb250YWluZXIgZsO8ciBsb2dpc2NoZSBQYXJ0aXRpb25lbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMb2dpc2NoIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAibnVtbWVyaWVydCBhYiA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJVbmfDvGx0aWdlciBQYXJ0aXRpb25zdHlwIOKAniVj4oCcLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJTZWt0b3IgJWpkIGthbm4gbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuOiBTdWNoZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQgbGliZmRpc2svc3JjL2dwdC5jOjEyMjEKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG5lciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJUeXAgMCBiZWRldXRldCBmw7xyIHZpZWxlIFN5c3RlbWUgZnJlaWVyIFBsYXR6LiBQYXJ0aXRpb25lbiBtaXQgVHlwIDAgenUgaGFiZW4gaXN0IHdhaHJzY2hlaW5saWNoIHVua2x1Zy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIkRlciBUeXAgZGVyIGVyd2VpdGVydGVuIFBhcnRpdGlvbiBrYW5uIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW4sIHNvbGFuZ2Ugc2llIHZvbiBsb2dpc2NoZW4gUGFydGl0aW9uZW4gdmVyd2VuZGV0IHdpcmQuIEzDtnNjaGVuIFNpZSB6dWVyc3QgZGllIGxvZ2lzY2hlbiBQYXJ0aXRpb25lbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiS2VpbmUgw4RuZGVydW5nZW4gbm90d2VuZGlnLiBEaWUgQW5vcmRudW5nIGlzdCBiZXJlaXRzIGtvcnJla3QuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBrZWluIERhdGVuYmVyZWljaC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJOZXVlciBEYXRlbmFuZmFuZyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogaXN0IGVpbmUgZXJ3ZWl0ZXJ0ZSBQYXJ0aXRpb24uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRGllIEJvb3Rmw6RoaWctTWFya2llcnVuZyBhdWYgUGFydGl0aW9uICV6dSBpc3QgbnVuIGFrdGl2aWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRGllIEJvb3Rmw6RoaWctTWFya2llcnVuZyBhdWYgUGFydGl0aW9uICV6dSBpc3QgbnVuIGRlYWt0aXZpZXJ0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJHZXLDpHQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIkJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI1Cittc2dpZCAiSWQiCittc2dzdHIgIktuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICJTdGFydC1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIkVuZGUtQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgIkF0dHIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiRUZJLVN5c3RlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJNQlItUGFydGl0aW9uc3NjaGVtYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIEZhc3QgRmxhc2giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkJJT1MgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlNvbnkgQm9vdHBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiTGVub3ZvIEJvb3RwYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzIKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUG93ZXJQQyBQUmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIk9OSUUgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICJPTklFIEtvbmZpZ3VyYXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzkKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIk1pY3Jvc29mdCByZXNlcnZpZXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBCYXNpc2RhdGVuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETS1NZXRhZGF0ZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0tRGF0ZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICJXaW5kb3dzLVdpZWRlcmhlcnN0ZWxsdW5nc3VtZ2VidW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJIUC1VWCBEYXRlbnBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYIERpZW5zdHBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggU3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MworbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkxpbnV4LURhdGVpc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIkxpbnV4IFNlcnZlciBEYXRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4NikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICJMaW51eCByb290IChBUk0pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJMaW51eCByb290XHQoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIkxpbnV4IHJlc2VydmllcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBIb21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBlcndlaXRlcnQgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCBEYXRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCBCb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNEIFN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIG9mZmxpbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICJBcHBsZSBCb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkFwcGxlLUJlemVpY2hudW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIkFwcGxlIFRWIFdpZWRlcmhlcnN0ZWxsdW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlIFNwZWljaGVyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJTb2xhcmlzIFJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyBTd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMgRGF0ZW5zaWNoZXJ1bmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMgYWx0ZXJuYXRpdmVyIFNla3RvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZpZXJ0IDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2aWVydCAyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmllcnQgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZpZXJ0IDQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2aWVydCA1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIk5ldEJTRCBTd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0QgdmVya2V0dGV0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIHZlcnNjaGzDvHNzZWx0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJDaHJvbWVPUy1LZXJuZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICJDaHJvbWVPUyBXdXJ6ZWxkYXRlaXN5c3RlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJDaHJvbWVPUyByZXNlcnZpZXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgRGF0ZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJNaWRuaWdodEJTRCBCb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgU3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkNlcGggSm91cm5hbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIkNlcGggdmVyc2NobMO8c3NlbHRlcyBKb3VybmFsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIkNlcGggT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIkNlcGggdmVyc2NobMO8c3NlbHRlIE9TRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiR2VyYWRlIGVuc3RlaGVuZGUgQ2VwaC1QbGF0dGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkdlcmFkZSBlbnN0ZWhlbmRlIHZlcnNjaGzDvHNzZWx0ZSBDZXBoLVBsYXR0ZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgRGlhZ25vc3RpYyIKK21zZ3N0ciAiQ29tcGFxIERpYWdub3N0aWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NworIywgZnV6enkKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIHJlc2VydmllcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIk9wZW5CU0QtRGF0ZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODQKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJRTlg2LURhdGVpc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGxhbiA5LVBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJHUFQtSGVhZGVyIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkRpZSBlcnN0ZSB2b20gU2tyaXB0IGFuZ2VnZWJlbmUgTEJBIGlzdCBhdcOfZXJoYWxiIGRlcyBnw7xsdGlnZW4gQmVyZWljaHMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJEaWUgbGV0emUgaW0gU2tyaXB0IGFuZ2VnZWJlbmUgTEJBIGlzdCBhdcOfZXJoYWxiIGRlcyBnw7xsdGlnZW4gQmVyZWljaHMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIkdQVC1QTUJSLUdyw7bDn2VudW50ZXJzY2hpZWQgKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpcmQgZHVyY2ggdyhyaXRlKSBrb3JyaWdpZXJ0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B0OiBzdGF0KCkgZmVobGdlc2NobGFnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiBEYXRlaWVuIG1pdCAlby1Nb2R1cyBrw7ZubmVuIG5pY2h0IGJlYXJiZWl0ZXQgd2VyZGVuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIkdQVC1Lb3BmZGF0ZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTk2Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIkdQVC1FaW50csOkZ2UiCisKKyMgJXMgY2FuIGJlICJTZWt0b3IiIG9yICJaeWxpbmRlciIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiRXJzdGVyIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiTGV0enRlciBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICJBbHRlcm5hdGl2ZSBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNDUKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIkxCQSBtaXQgUGFydGl0aW9uc2VpbnRyw6RnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJadWdlb3JkbmV0ZSBQYXJ0aXRpb25zZWludHLDpGdlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5NQorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkRpZSBnZXNpY2hlcnRlIEdQVC1UYWJlbGxlIGlzdCBiZXNjaMOkZGlndCwgYWJlciBkaWUgcHJpbcOkcmUgVGFiZWxsZSBzY2hlaW50IGluIE9yZG51bmcgenUgc2Vpbiwgc28gZGFzcyBkaWVzZSBudW4gYmVudXR6dCB3aXJkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJEaWUgcHJpbcOkcmUgR1BULVRhYmVsbGUgaXN0IGJlc2Now6RkaWd0LCBhYmVyIGRpZSBTaWNoZXJ1bmcgc2NoZWludCBpbiBPcmRudW5nIHp1IHNlaW4sIHNvIGRhc3MgZGllc2UgbnVuIGJlbnV0enQgd2lyZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlcyBHUFQtQXR0cmlidXQtQml0IOKAniVz4oCcIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiRGllIFplaWNoZW5rZXR0ZSDigJ4lc+KAnSBtaXQgZGVuIEdQVC1BdHRyaWJ1dGVuIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiUGFydGl0aW9ucy1VVUlEIGlzdCB2b24gJXMgbmFjaCAlcyBnZcOkbmRlcnQgd29yZGVuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgIlBhcnRpdGlvbnNuYW1lIGtvbm50ZSBuaWNodCB6dWdld2llc2VuIHdlcmRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiUGFydGl0aW9uc25hbWUgaXN0IHZvbiDigJ4lc+KAnCBuYWNoIOKAniUuKnPigJwgZ2XDpG5kZXJ0IHdvcmRlbi4iCisKKyMgIk51ciBkaWUgUGFydGl0aW9uc3RhYmVsbGUgYXVzZ2ViZW4iIChqb2V5KQorIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRGVyIEFuZmFuZyBkZXIgUGFydGl0aW9uIGxpZWd0IHZvciBGaXJzdFVzYWJsZUxCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRGFzIEVuZGUgZGVyIFBhcnRpdGlvbiBsaWVndCBoaW50ZXIgTGFzdFVzYWJsZUxCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTE0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIkRhcyBHZXLDpHQgZW50aMOkbHQgZWluZW4gSHlicmlkLU1CUiDigJMgbnVyIEdQVCB3aXJkIGdlc2NocmllYmVuLiBTaWUgbcO8c3NlbiBkZW4gTUJSIG1hbnVlbGwgYWJnbGVpY2hlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIkZlc3RwbGF0dGUgZW50aMOkbHQga2VpbmUgZ8O8bHRpZ2UgRGF0ZW5zaWNoZXJ1bmdza29wZmRhdGVpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIlByaW3DpHJlIEtvcGZkYXRlaSBtaXQgdW5nw7xsdGlnZXIgQ1JDLVByw7xmc3VtbWUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJEYXRlbnNpY2hlcnVuZ3Nrb3BmZGF0ZWkgbWl0IHVuZ8O8bHRpZ2VyIENSQy1QcsO8ZnN1bW1lLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIlBhcnRpdGlvbnNlaW50cmFnIG1pdCB1bmfDvGx0aWdlciBQcsO8ZnN1bW1lLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiVW56dWzDpHNzaWdlcyBFcmdlYm5pcyBkZXIgTEJBLVBsYXVzaWJpbGl0w6R0c3Byw7xmdW5nZW4gZGVzIHByaW3DpHJlbiBIZWFkZXJzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJVbnp1bMOkc3NpZ2VzIEVyZ2VibmlzIGRlciBMQkEtUGxhdXNpYmlsaXTDpHRzcHLDvGZ1bmdlbiBkZXMgZ2VzaWNoZXJ0ZW4gSGVhZGVycy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgc3RpbW10IG5pY2h0IG1pdCBkZXIgcmVhbGVuIFBvc2l0aW9uIGltIHByaW3DpHJlbiBIZWFkZXIgw7xiZXJlaW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgc3RpbW10IG5pY2h0IG1pdCBkZXIgcmVhbGVuIFBvc2l0aW9uIGltIGdlc2ljaGVydGVuIEhlYWRlciDDvGJlcmVpbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIkZlc3RwbGF0dGUgaXN0IHp1IGtsZWluLCB1bSBhbGxlIERhdGVuIGJlcmVpdHp1aGFsdGVuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiS29wZmRhdGVuIGRlciBwcmltw6RyZW4gVGFiZWxsZSB1bmQgZGVyZW4gU2ljaGVydW5nIHBhc3NlbiBuaWNodCB6dWVpbmFuZGVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IMO8YmVybGFwcHQgbWl0IFBhcnRpdGlvbiAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIlBhcnRpdGlvbiAldSBpc3QgenUgZ3Jvw58gZsO8ciBkaWUgRmVzdHBsYXR0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgZW5kZXQsIGJldm9yIHNpZSBiZWdpbm50LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICJLZWluZSBGZWhsZXIgZmVzdGdlc3RlbGx0LiIKKworIyBjLWZvcm1hdAorIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJLb3BmZGF0ZW52ZXJzaW9uOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgIiV6dSB2b24gJXp1IFBhcnRpdGlvbmVuIHdlcmRlbiBiZW51dHp0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiSW5zZ2VzYW10IGlzdCAlanUgZnJlaWVyIFNla3RvciBpbiAldSBTZWdtZW50IHZlcmbDvGdiYXIuIgorbXNnc3RyWzFdICJJbnNnZXNhbXQgc2luZCAlanUgZnJlaWUgU2VrdG9yZW4gaW4gJXUgU2VnbWVudGVuIHZlcmbDvGdiYXIgKGRhcyBncsO2w590ZSBpc3QgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIlZCBGZWhsZXIgZmVzdGdlc3RlbGx0LiIKK21zZ3N0clsxXSAiJWQgRmVobGVyIGZlc3RnZXN0ZWxsdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzI2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiQWxsZSBQYXJ0aXRpb25lbiB3ZXJkZW4gYmVyZWl0cyBiZW51dHp0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJTZWt0b3IgJWp1IHdpcmQgYmVyZWl0cyBiZW51dHp0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGtvbm50ZSBuaWNodCBlcnN0ZWxsdCB3ZXJkZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJEZXIgbGV0enRlIHZlcndlbmRiYXJlIEdQVC1TZWt0b3IgaXN0ICVqdSwgYWJlciAlanUgd2lyZCBhbmdlZm9yZGVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiRGVyIGVyc3RlIHZlcndlbmRiYXJlIEdQVC1TZWt0b3IgaXN0ICVqdSwgYWJlciAlanUgd2lyZCBhbmdlZm9yZGVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiRWluZSBuZXVlIEdQVC1GZXN0cGxhdHRlbmJlemVpY2hudW5nIHd1cmRlIGVyc3RlbGx0IChHVUlEOiAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0NgorbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiR2ViZW4gU2llIGRpZSBuZXVlIEZlc3RwbGF0dGVuLVVVSUQgZWluIChpbSA4LTQtNC00LTEyLUZvcm1hdCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIkRhcyBFaW5sZXNlbiBJaHJlciBVVUlEIGlzdCBmZWhsZ2VzY2hsYWdlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJGZXN0cGxhdHRlbmJlemVpY2huZXIgaXN0IHZvbiAlcyBuYWNoICVzIGdlw6RuZGVydCB3b3JkZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJOaWNodCBnZW51ZyBQbGF0eiBmw7xyIGRpZSBuZXVlIFBhcnRpdGlvbiB2ZXJmw7xnYmFyISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGl0aW9uICMlenUgaXN0IGF1c3NlcmhhbGIgZGVzIGfDvGx0aWdlbiBCZXJlaWNocyAoa2xlaW5zdGVyIHp1bMOkc3NpZ2VyIFN0YXJ0c2VrdG9yIGlzdCAlPFBSSXU2ND4pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGl0aW9uICMlenUgaXN0IGF1c3NlcmhhbGIgZGVzIGfDvGx0aWdlbiBCZXJlaWNocyAoZ3LDtsOfdGVyIHp1bMOkc3NpZ2VyIFNla3RvciBpc3QgJTxQUkl1NjQ+KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgdG8gYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIkRpZSBBbnphaGwgYW4gUGFydGl0aW9uZW4gbXXDnyBrbGVpbmVyIGFscyAlenUgc2Vpbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIkVzIGtvbm50ZSBrZWluIFNwZWljaGVyIG1laHIgcmVzZXJ2aWVydCB3ZXJkZW4hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiRGllIEzDpG5nZSBkZXIgUGFydGl0aW9uc3RhYmVsbGUgd3VyZGUgdm9uICU8UFJJdTMyPiBhdWYgJTxQUkl1NjQ+IGdlw6RuZGVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIkRpZSBBdHRyaWJ1dGUgdm9uIFBhcnRpdGlvbiAlenUgd3VyZGVuIGF1ZiAweCUwMTY8UFJJeDY0PiBnZcOkbmRlcnQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJHVUlELXNwZXppZmlzY2hlcyBCaXQgZWluZ2ViZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiTmljaHQgdW50ZXJzdMO8dHp0ZXMgQml0ICVsdSBrb25udGUgbmljaHQgdW1nZXNjaGFsdGV0IHdlcmRlbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJEYXMgR1VJRC1zcGV6aWZpc2NoZSBCaXQgJWQgYXVmIFBhcnRpdGlvbiAlenUgaXN0IG51biBha3RpdmllcnQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJEYXMgR1VJRC1zcGV6aWZpc2NoZSBCaXQgJWQgYXVmIFBhcnRpdGlvbiAlenUgaXN0IG51biBkZWFrdGl2aWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJEaWUgJXMtTWFya2llcnVuZyBhdWYgUGFydGl0aW9uICV6dSBpc3QgbnVuIGFrdGl2aWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRGllICVzLU1hcmtpZXJ1bmcgYXVmIFBhcnRpdGlvbiAlenUgaXN0IG51biBkZWFrdGl2aWVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM0Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUeXAtVVVJRCIKKworIyBJIHRoaW5rIHRoaXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMyNAorbXNnaWQgIk5hbWUiCittc2dzdHIgIk5hbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICJGcmVpZXIgQmVyZWljaCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIkdyw7bDn2Vuw6RuZGVydW5nIGRlciBQYXJ0aXRpb24gIyV6dSBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgInVuYmVrYW5udCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJLURhdGVudHLDpGdlciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZlIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiU0dJLUluZm8gYXVmIHp3ZWl0ZW0gU2VrdG9yIGVyc3RlbGx0IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiU0dJLUZlc3RwbGF0dGVuYmV6ZWljaG51bmcgbWl0IGZhbHNjaGVyIFByw7xmc3VtbWUgZW50ZGVja3QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkFuemFobCBkZXIgcGh5c2lzY2hlbiBaeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJFeHRyYS1TZWt0b3JlbiBwcm8gWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTYKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiQm9vdGRhdGVpOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJVbmfDvGx0aWdlIEJvb3RkYXRlaSEgRGllIEJvb3RkYXRlaSBtdXNzIGVpbiBhYnNvbHV0ZXIsIG5pY2h0LWxlZXJlciBQZmFkbmFtZSBzZWluLCB6LiBCLiDigJ4vdW5peOKAnCBvZGVyIOKAni91bml4LnNhdmXigJwuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIk5hbWUgZGVyIEJvb3RkYXRlaSBpc3QgenUgbGFuZzogbWF4aW1hbCAlenUgQnl0ZS4iCittc2dzdHJbMV0gIk5hbWUgZGVyIEJvb3RkYXRlaSBpc3QgenUgbGFuZzogbWF4aW1hbCAlenUgQnl0ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA3Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiQm9vdGRhdGVpIG11c3MgZWluZW4gdm9sbHN0w6RuZGlnZW4gUGZhZG5hbWVuIGhhYmVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJWb3JzaWNodCwgZGllIEV4aXN0ZW56IGRlciBCb290ZGF0ZWkgd2lyZCBuaWNodCBnZXByw7xmdC4gU0dJcyBWb3JlaW5zdGVsbHVuZyBpc3Qg4oCeL3VuaXjigJwgdW5kIHp1ciBEYXRlbnNpY2hlcnVuZyDigJ4vdW5peC5zYXZl4oCcLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICJEaWUgbW9tZW50YW5lIEJvb3RkYXRlaSBpc3Q6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIkdlYmVuIFNpZSBkaWUgbmV1ZSBCb290ZGF0ZWkgZWluIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ1Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIkJvb3RkYXRlaSB3dXJkZSBuaWNodCB2ZXLDpG5kZXJ0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIkJvb3RkYXRlaSB3dXJkZSBnZcOkbmRlcnQgYXVmIOKAniVz4oCcLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIk1laHIgYWxzIGVpbiBFaW50cmFnIGbDvHIgZGllIGdlc2FtdGUgRmVzdHBsYXR0ZSB2b3JoYW5kZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJLZWluZSBQYXJ0aXRpb25lbiBmZXN0Z2VsZWd0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVggbWFnIGVzLCB3ZW5uIFBhcnRpdGlvbiAxMSBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIHVtZmFzc3QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIkRpZSBQYXJ0aXRpb24gZsO8ciBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIHNvbGx0ZSBiZWkgQmxvY2sgMCBiZWdpbm5lbiwgbmljaHQgYmVpIEJsb2NrICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aW9uIDExIHNvbGx0ZSBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIHVtZmFzc2VuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIlBhcnRpdGlvbmVuICVkIHVuZCAlZCDDvGJlcmxhcHBlbiBzaWNoIG1pdCAlZCBTZWt0b3IuIgorbXNnc3RyWzFdICJQYXJ0aXRpb25lbiAlZCB1bmQgJWQgw7xiZXJsYXBwZW4gc2ljaCBtaXQgJWQgU2VrdG9yZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiVW5iZW51dHp0ZSBMw7xja2Ugdm9uICU4dSBTZWt0b3I6IFNla3RvciAlOHUiCittc2dzdHJbMV0gIlVuYmVudXR6dGUgTMO8Y2tlIHZvbiAlOHUgU2VrdG9yZW46IFNla3RvcmVuICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkRpZSBCb290cGFydGl0aW9uIGlzdCBuaWNodCB2b3JoYW5kZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiRGllIEF1c2xhZ2VydW5nc3BhcnRpdGlvbiBpc3QgbmljaHQgdm9yaGFuZGVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiRGllIEF1c2xhZ2VydW5nc3BhcnRpdGlvbiBoYXQga2VpbmVuIFN3YXAtVHlwLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOAorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJTaWUgaGFiZW4gZWluZW4gdW7DvGJsaWNoZW4gQm9vdGRhdGVpbmFtZW4gZ2V3w6RobHQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU4Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJQYXJ0aXRpb25lbsO8YmVybGFwcHVuZyBhdWYgZGVyIEZlc3RwbGF0dGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiRXMgd2lyZCB2ZXJzdWNodCwgZGVuIEVpbnRyYWcgZsO8ciBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIGF1dG9tYXRpc2NoIHp1IGVyemV1Z2VuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiRGllIGdlc2FtdGUgRmVzdHBsYXR0ZSB3aXJkIGJlcmVpdHMgdm9uIFBhcnRpdGlvbmVuIGJlbGVndC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTIKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIlNpZSBoYWJlbiBlaW5lIFBhcnRpdGlvbmVuw7xiZXJsYXBwdW5nIGF1ZiBkZXIgRmVzdHBsYXR0ZS4gQml0dGUgYmVzZWl0aWdlbiBTaWUgZGllc2UgenVlcnN0ISIKKworIyAlcyBjYW4gYmUgIlNla3RvciIgb3IgIlp5bGluZGVyIi4KKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiRXJzdGVyICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiRXMgaXN0IGjDtmNoc3QgZW1wZmVobGVuc3dlcnQsIGRpZSBlbGZ0ZSBQYXJ0aXRpb24gZGllIGdlc2FtdGUgRmVzdHBsYXR0ZSBhYmRlY2tlbiB6dSBsYXNzZW4gdW5kIHZvbSBUeXAg4oCeU0dJLURhdGVudHLDpGdlcuKAnCB6dSBzZWluLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxMyBsaWJmZGlzay9zcmMvc3VuLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkxldHp0ZXIgJXMgb2RlciArJXMgb2RlciArR3LDtsOfZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg0IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIGZlaGxnZXNjaGxhZ2VuIGF1ZiAlcy4gR2VvbWV0cmllenlsaW5kZXJ3ZXJ0IHZvbiAlbGx1IHdpcmQgYmVudXR6dC4gRGllc2VyIFdlcnQga2FubiBmw7xyIEdlcsOkdGUgPiAzMyw4IEdCIGFiZ2VzY2huaXR0ZW4gc2Vpbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiRWluZSBuZXVlIFNHSS1GZXN0cGxhdHRlbmJlemVpY2hudW5nIHd1cmRlIGVyc3RlbGx0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNjkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIkVudHNjaHVsZGlndW5nLCBTaWUga8O2bm5lbiBudXIgTWFya2llcnVuZ2VuIG5pY2h0LWxlZXJlciBQYXJ0aXRpb25lbiDDpG5kZXJuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICJaaWVoZW4gU2llIGluIEJldHJhY2h0LCBQYXJ0aXRpb24gOSBhbHMgRGF0ZW50csOkZ2VyaGVhZGVyICgwKSB1bmQgUGFydGl0aW9uIDExIGFscyBnZXNhbXRlIEZlc3RwbGF0dGUgc28genUgYmVsYXNzZW4sIHdpZSBJUklYIGVzIGVyd2FydGV0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIkVzIGlzdCBow7ZjaHN0IGVtcGZlaGxlbnN3ZXJ0LCBkYXNzIGRpZSBQYXJ0aXRpb24gYmVpIFBvc2l0aW9uIDAgdm9tIFR5cCDigJ5TR0kgdm9saGRy4oCcIGlzdCwgd2VpbCBlaW4gSVJJWC1TeXN0ZW0gZGFyYXVmIHZlcnRyYXV0LCB1bSBzZWluZSB1bmFiaMOkbmdpZ2VuIFdlcmt6ZXVnZSB3aWUgc2FzaCB1bmQgZnggdm9uIHNlaW5lbSBWZXJ6ZWljaG5pcyBhYnp1cnVmZW4uIE51ciBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIGFscyDigJ5TR0kgVm9sdW1l4oCcIGRhcmYgZGllcyBtaXNzYWNodGVuLiBTaW5kIFNpZSBzaWNoZXIsIGRpZXNlIFBhcnRpdGlvbiBhbmRlcnMga2VubnplaWNobmVuIHp1IHdvbGxlbj8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzozOQorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIk5pY2h0IHp1Z2VvcmRuZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIFJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIFN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJHZXNhbXRlIEZlc3RwbGF0dGUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTdW5PUyBhbHQgU2VrdG9yZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGNhY2hlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZpZXJ0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiU3VuLUZlc3RwbGF0dGVuYmV6ZWljaG51bmcgbWl0IGZhbHNjaGVyIFByw7xmc3VtbWUgZW50ZGVja3QuIFNpZSB3ZXJkZW4gd2FocnNjaGVpbmxpY2ggYWxsZSBXZXJ0ZSwgYWxzbyBLw7ZwZmUsIFNla3RvcmVuLCBaeWxpbmRlciB1bmQgUGFydGl0aW9uZW4gZmVzdGxlZ2VuIG3DvHNzZW4gb2RlciBtaXQgZWluZXIgbmV1ZW4gQmV6ZWljaG51bmcgYmVnaW5uZW4gKHMtQmVmZWhsIGltIEhhdXB0bWVuw7wpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJTdW4tRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBtaXQgZmFsc2NoZXIgVmVyc2lvbiBbJWRdIGVudGRlY2t0LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJTdW4tRmVzdHBsYXR0ZW5iZXplaWNobnVuZyBtaXQgZmFsc2NoZXIgdnRvYy5zYW5pdHkgWzB4JTA4eF0gZW50ZGVja3QuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiU3VuLUZlc3RwbGF0dGVuYmV6ZWljaG51bmcgbWl0IGZhbHNjaGVyIHZ0b2MubnBhcnRzIFsldV0gZW50ZGVja3QuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIldhcm51bmc6IEZhbHNjaGUgV2VydGUgbcO8c3NlbiBpbiBPcmRudW5nIGdlYnJhY2h0IHdlcmRlbiB1bmQgd2VyZGVuIGR1cmNoIHcocml0ZSkga29ycmlnaWVydCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE4NworbXNnaWQgIkhlYWRzIgorbXNnc3RyICJLw7ZwZmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWt0b3Jlbi9TcHVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiRWluZSBuZXVlIFN1bi1GZXN0cGxhdHRlbmJlemVpY2hudW5nIHd1cmRlIGVyc3RlbGx0LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgZW5kZXQgbmljaHQgYW4gZWluZXIgWnlsaW5kZXJncmVuemUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IMO8YmVybGFwcHQgbWl0IGFuZGVyZW4gaW4gU2VrdG9yZW4gJXXigJMldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIlVuYmVudXR6dGUgTMO8Y2tlIC0gU2VrdG9yZW4gMC0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIlVuYmVudXR6dGUgTMO8Y2tlIC0gU2VrdG9yZW4gJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICJBbmRlcmUgUGFydGl0aW9uZW4gYmVsZWdlbiBiZXJlaXRzIGRpZSBnZXNhbXRlIEZlc3RwbGF0dGUuIEzDtnNjaGVuL3ZlcmtsZWluZXJuIFNpZSBzaWUgdm9yIGVpbmVtIGVybmV1dGVuIFZlcnN1Y2guIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTUxCittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICJFcyBpc3QgaMO2Y2hzdCBlbXBmZWhsZW5zd2VydCwgZGllIGVsZnRlIFBhcnRpdGlvbiBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIGJlbGVnZW4genUgbGFzc2VuIHVuZCB2b20gVHlwIOKAnkdlc2FtdGUgRmVzdHBsYXR0ZeKAnCB6dSBzZWluLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJEZXIgZXJzdGUgU2VrdG9yIHZvbiAldSB3aXJkIGFuICV1IGF1c2dlcmljaHRldCwgdW0gbWl0IGRlciBaeWxpbmRlcmdyZW56ZSDDvGJlcmVpbnp1c3RpbW1lbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJTZWt0b3IgJWQgaXN0IGJlcmVpdHMgenVnZXdpZXNlbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIlNpZSBoYWJlbiBuaWNodCBkaWUgZ2VzYW10ZSBGZXN0cGxhdHRlIG1pdCBkZXIgZHJpdHRlbiBQYXJ0aXRpb24gYmVsZWd0LFxuIgorImFiZXIgSWhyIFdlcnQgJWx1ICVzIMO8YmVyZGVja3QgZWluaWdlIGFuZGVyZSBQYXJ0aXRpb25lbi4gSWhyIEVpbnRyYWcgd3VyZGUgYXVmXG4iCisiJWx1ICVzIGdlw6RuZGVydC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIldlbm4gU2llIFN1bk9TL1NvbGFyaXMtS29tcGF0aWJpbGl0w6R0IGJlaWJlaGFsdGVuIHdvbGxlbiwgc29sbHRlbiBTaWUgaW4gQmV0cmFjaHQgemllaGVuLCBkaWVzZSBQYXJ0aXRpb24gYWxzIGdlc2FtdGUgRmVzdHBsYXR0ZSAoNSkgYmVpenViZWhhbHRlbiwgbWl0IGRlbSBCZWdpbm4gYmVpIDAgdW5kICV1IFNla3RvcmVuLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJCZXplaWNobnVuZ3NrZW5udW5nIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJEYXRlbnRyw6RnZXJrZW5udW5nIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWx0ZXJuYXRpdmUgWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQW56YWhsIGRlciBhbHRlcm5hdGl2ZW4gWnlsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiRXh0cmEtU2VrdG9yZW4gcHJvIFp5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkludGVybGVhdmUtRmFrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlVtZHJlaHVuZ3NnZXNjaHdpbmRpZ2tlaXQgKFUvbWluKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkFuemFobCBkZXIgcGh5c2lzY2hlbiBaeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJaaWVoZW4gU2llIGluIEJldHJhY2h0LCBQYXJ0aXRpb24gMyBhbHMgZ2VzYW10ZSBGZXN0cGxhdHRlICg1KSBzb1xuIgorInp1IGJlbGFzc2VuLCB3aWUgU3VuT1MvU29sYXJpcyBlcyBlcndhcnRldCB1bmQgc29nYXIgTGludXggZXMgbWFnLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIkVzIHdpcmQgZHJpbmdlbmQgZW1wZm9obGVuLCBkYXNzIGRpZSBQYXJ0aXRpb24gYmVpIFBvc2l0aW9uIDAgZW50d2VkZXJcbiIKKyJVRlMsIEV4dDJGUyBvZGVyIFN1bk9TIFN3YXAgaXN0LiBEb3J0IOKAnkxpbnV4IFN3YXDigJwgenUgZXJzdGVsbGVuIGthbm5cbiIKKyJJaHJlIFBhcnRpdGlvbnN0YWJlbGxlIHVuZCBJaHJlbiBCb290YmxvY2sgemVyc3TDtnJlbi5cbiIKKyJTaW5kIFNpZSBzaWNoZXIsIGRhc3MgU2llIGRpZXNlIFBhcnRpdGlvbiBhbHMgTGludXggU3dhcFxuIgorIm1hcmtpZXJlbiB3b2xsZW4/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIk9wZXJhdGlvbiBmZWhsZ2VzY2hsYWdlbjogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIldBUk5VTkc6IFByb3BhZ2llcnVuZ3MtRmxhZ3Mga29ubnRlbiBuaWNodCBhbmdld2VuZGV0IHdlcmRlbiIKKworIyBUaGF0IHNvdW5kcyBzb21laG93IGR1bWIuCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgIldBUk5VTkc6IGRhcyBHZXLDpHQgaXN0IHNjaHJlaWJnZXNjaMO8dHp0IHVuZCB3aXJkIGRhaGVyIGltIE51ci1MZXNlLU1vZHVzIGVpbmdlaMOkbmd0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICJkaWUgT3BlcmF0aW9uIGthbm4gbnVyIHZvbSBCZW51dHplciByb290IGF1c2dlZsO8aHJ0IHdlcmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgaXN0IGJlcmVpdHMgZWluZ2Vow6RuZ3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIGluICVzIgorbXNnc3RyICJrb25udGUgbmljaHQgaW4gJXMgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAiRWluaMOkbmdlcHVua3Qga29ubnRlIGluICVzIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJFaW5ow6RuZ2VxdWVsbGUgJXMga29ubnRlIG5pY2h0IGluICVzIGdlZnVuZGVuIHdlcmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICJlcyB3dXJkZW5iIHdlaXRlcmUgRGF0ZWlzeXN0ZW1lIGF1ZiAlcyBnZWZ1bmRlbjsgdmVyd2VuZGVuIFNpZSAtdCA8VHlwPiBvZGVyIHdpcGVmcyg4KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJEZXIgVHlwIGRlcyBEYXRlaXN5c3RlbXMga29ubnRlIG5pY2h0IGJlc3RpbW10IHdlcmRlbiIKKworIyBmdXp6eSwgYy1mb3JtYXQKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBmaWxlc3lzdGVtIHR5cGUgc3BlY2lmaWVkIgorbXNnc3RyICJlcyB3dXJkZSBrZWluIERhdGVpc3lzdGVtdHlwIGFuZ2VnZWJlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzIGthbm4gbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgc291cmNlIHNwZWNpZmllZCIKK21zZ3N0ciAiZXMgd3VyZGUga2VpbiBFaW5ow6RuZ2VwdW5rdCBhbmdlZ2ViZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9uczogJW0iCittc2dzdHIgIkVpbmjDpG5nZW9wdGlvbmVuIGtvbm50ZW4gbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW46ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIkVpbmjDpG5nZW9wdGlvbmVuIGtvbm50ZW4gbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJkYXMgTG9vcC1HZXLDpHQgZsO8ciAlcyBrb25udGUgbmljaHQgZWluZ2VyaWNodGV0IHdlcmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgJXMiCittc2dzdHIgImbDvHIgJXMgZXhpc3RpZXJlbiBzaWNoIMO8YmVyc2NobmVpZGVuZGUgTG9vcC1HZXLDpHRlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgIlNjaGxpZcOfZW4gdm9uICVzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAiZGFzIEVpbmjDpG5nZW4gaXN0IGZlaGxnZXNjaGxhZ2VuOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgImRhcyBEYXRlaXN5c3RlbSB3dXJkZSBlaW5nZWjDpG5ndCwgYWJlciBhbGxlIGZvbGdlbmRlbiBPcGVyYXRpb25lbiBzaW5kIGZlaGxnZXNjaGxhZ2VuOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiZGFzIERhdGVpc3lzdGVtIHd1cmRlIGVpbmdlaMOkbmd0LCBhYmVyIGFsbGUgZm9sZ2VuZGVuIE9wZXJhdGlvbmVuIHNpbmQgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZGVyIEVpbmjDpG5nZXB1bmt0IGlzdCBrZWluIFZlcnplaWNobmlzIgorCisjICJtb3VudDogWnVncmlmZiB2ZXJ3ZWlnZXJ0IgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiWnVncmlmZiB2ZXJ3ZWlnZXJ0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICLigJ5tb3VudOKAnCBkYXJmIG51ciBkZXIgQWRtaW5pc3RyYXRvciB2ZXJ3ZW5kZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJFaW5ow6RuZ2VwdW5rdCB3aXJkIGJlbnV0enQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzIGlzdCBiZXJlaXRzIGF1ZiAlcyBlaW5nZWjDpG5ndCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICIlcyBpc3QgYmVyZWl0cyBlaW5nZWjDpG5ndCBvZGVyIHdpcmQgZ2VyYWRlIGJlbnV0enQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZGVyIEVpbmjDpG5nZXB1bmt0IGlzdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAiZGVyIEVpbmjDpG5nZXB1bmt0IGlzdCBlaW5lIGVpbmUgaW5zIExlZXJlIHplaWdlbmRlIHN5bWJvbGlzY2hlIFZlcmtuw7xwZnVuZyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJTcGV6aWFsZ2Vyw6R0ICVzIGlzdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTYKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQoMikgU3lzdGVtYXVmcnVmIGlzdCBmZWhsZ2VzY2hsYWdlbjogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJTcGV6aWFsZ2Vyw6R0ICVzIGlzdCBuaWNodCB2b3JoYW5kZW4gKGVpbiBQZmFkcHLDpGZpeCBpc3Qga2VpbiBWZXJ6ZWljaG5pcykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJFaW5ow6RuZ2VwdW5rdCBpc3Qgbm9jaCBuaWNodCBlaW5nZWjDpG5ndCBvZGVyIGVzIHd1cmRlbiB1bmfDvGx0aWdlIE9wdGlvbmVuIGFuZ2VnZWJlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJrZWluIEVpbmjDpG5nZXB1bmt0IG9kZXIgdW5nw7xsdGlnZSBPcHRpb25lbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkIG1vdW50IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisiVW5nw7xsdGlnZSBPcHRpb24uIEJlYWNodGVuIFNpZSwgZGFzcyBkYXMgVmVyc2NoaWViZW4gZWluZXMgRWluaMOkbmdlcHVua3RlcyxcbiIKKyIgICAgICAgZGVyIHVudGVyaGFsYiBlaW5lcyBnZXRlaWx0ZW4gRWluaMOkbmdlcHVua3RlcyBsaWVndCwgbmljaHRcbiIKKyIgICAgICAgdW50ZXJzdMO8dHp0IHdpcmQuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHQgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSIKK21zZ3N0ciAiIgorIlVuZ8O8bHRpZ2UgT3B0aW9uOyBmw7xyIGVpbmlnZSBEYXRlaXN5c3RlbWUgKHouQi4gbmZzLCBjaWZzKSB3ZXJkZW4gU2llXG4iCisiICAgICAgIGV2ZW50dWVsbCBlaW4gL3NiaW4vbW91bnQuPFR5cD4gSGlsZnNwcm9ncmFtbSBiZW7DtnRpZ2VuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICJGYWxzY2hlciBEYXRlaXN5c3RlbXR5cCwgdW5nw7xsdGlnZSBPcHRpb25lbiwgZGVyIFN1cGVyYmxvY2sgdm9uICVzIGlzdCBiZXNjaMOkZGlndCwgZmVobGVuZGUgS29kaWVydW5nc3NlaXRlIG9kZXIgZWluIGFuZGVyZXIgRmVobGVyIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAiRWluaMOkbmdldGFiZWxsZSBpc3Qgdm9sbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAiRGVyIFN1cGVyYmxvY2sgdm9uICVzIGtvbm50ZSBuaWNodCBnZWxlc2VuIHdlcmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgInVuYmVrYW5udGVyIERhdGVpc3lzdGVtdHlwIOKAniVz4oCcIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInVuYmVrYW5udGVyIERhdGVpc3lzdGVtdHlwIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIGlzdCBrZWluIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCB1bmQgc3RhdCgyKSBzY2hsw6RndCBmZWhsPyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlOyBtYXliZSBcIm1vZHByb2JlIGRyaXZlclwiIGlzIG5lY2Vzc2FyeSIKK21zZ3N0ciAiRGFzIEtlcm5lbCBlcmtlbm50ICVzIG5pY2h0IGFscyBibG9ja29yaWVudGllcnRlcyBHZXLDpHQgKFZpZWxsZWljaHQgaGlsZnQg4oCebW9kcHJvYmUgVHJlaWJlcuKAnD8pIgorCisjICJ2ZXJzdWNoZW4iCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIiVzIGlzdCBrZWluIGJsb2Nrb3JpZW50aWVydGVzIEdlcsOkdCwgcHJvYmllcmVuIFNpZSBlcyBtaXQg4oCeLW8gbG9vcOKAnCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgaXN0IGtlaW4gYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBpc3Qga2VpbiBnw7xsdGlnZXMgYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAiJXMga29ubnRlIG5pY2h0IGltIE51ci1MZXNlLU1vZHVzIGVpbmdlaMOkbmd0IHdlcmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgcmVhZC13cml0ZSBtb2RlIHJlcXVlc3RlZCIKK21zZ3N0ciAiJXMgaXN0IHNjaHJlaWJnZXNjaMO8dHp0LCBlcyB3dXJkZSBhYmVyIGF1c2Ryw7xja2xpY2ggTGVzZS1TY2hyZWliLU1vZHVzIGFuZ2Vmb3JkZXJ0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICIlcyBrb25udGUgbmljaHQgaW0gTnVyLUxlc2UtTW9kdXMgZWluZ2Vow6RuZ3Qgd2VyZGVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgImJpbmQgJXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJrZWluIE1lZGl1bSBpbiAlcyBnZWZ1bmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICJkaWUgV2VpdGVyZ2FiZSBkZXMgV3VyemVsZGF0ZWlzeXN0ZW1zIGthbm4gbmljaHQgZ2XDpG5kZXJ0IHdlcmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudGVkIgorbXNnc3RyICJuaWNodCBlaW5nZWjDpG5ndCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAidW1vdW50IGlzdCBmZWhsZ2VzY2hsYWdlbjogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJkYXMgRGF0ZWlzeXN0ZW0gd3VyZGUgYXVzZ2Vow6RuZ3QsIGFiZXIgYWxsZSBmb2xnZW5kZW4gT3BlcmF0aW9uZW4gc2luZCBmZWhsZ2VzY2hsYWdlbjogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImRhcyBEYXRlaXN5c3RlbSB3dXJkZSBhdXNnZWjDpG5ndCwgYWJlciBhbGxlIGZvbGdlbmRlbiBPcGVyYXRpb25lbiBzaW5kIGZlaGxnZXNjaGxhZ2VuOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAidW5nw7xsdGlnZXMgYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgImRlciBTdXBlcmJsb2NrIGthbm4gbmljaHQgZ2VzY2hyaWViZW4gd2VyZGVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICJkYXMgWmllbCB3aXJkIGdlcmFkZSBiZW51dHp0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAia2VpbiBFaW5ow6RuZ2VwdW5rdCBhbmdlZ2ViZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAibnVyIGRlciBBZG1pbmlzdHJhdG9yIGthbm4gdW1vdW50IGF1c2bDvGhyZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJibG9ja29yaWVudGllcnRlIEdlcsOkdGUgc2luZCBhdWYgZGVtIERhdGVpc3lzdGVtIG5pY2h0IGVybGF1YnQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50KDIpIFN5c3RlbWF1ZnJ1ZiBpc3QgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCBmZWhsZ2VzY2hsYWdlbiAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICJjYWxsb2NhdGUgZsO8ciBDUFUtU2F0eiBmZWhsZ2VzY2hsYWdlbiIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJDUFUtTGlzdGUgJXMga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBsaWIvcGF0aC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIkNQVS1NYXNrZSAlcyBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzMKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiZGVyIFVOSVgtU29ja2V0IGthbm4gbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiZGllIE9wdGlvbiBmw7xyIGRlbiBVTklYLVNvY2tldCBrYW5uIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIktlaW5lIFZlcmJpbmR1bmcgw7xiZXIgVU5JWC1Tb2NrZXQgbcO2Z2xpY2guIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgImRpZSBBbmZvcmRlcnVuZyAlYyBhbiBQbHltb3V0aCBpc3QgbmljaHQgaW1wbGVtZW50aWVydCIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICJQc2V1ZG96dWZhbGxzLUZ1bmt0aW9uZW4gZGVyIGxpYmMiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICJQc2V1ZG96dWZhbGxzLUZ1bmt0aW9uZW4gZGVyIGxpYmMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiJXM6IEdlcsOkdCBrb25udGUgbmljaHQgdW50ZXJzdWNodCB3ZXJkZW4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IG1laHJkZXV0aWdlcyBVbnRlcnN1Y2h1bmdzZXJnZWJuaXMsIHZlcndlbmRlbiBTaWUgd2lwZWZzKDgpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IGtlaW5lIHp1bMOkc3NpZ2UgQXVzbGFnZXJ1bmdzcGFydGl0aW9uIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IEF1c2xhZ2VydW5nc3ZlcnNpb24g4oCeJXPigJwgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NTkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgIiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lICVsZCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJXZXJ0IGF1w59lcmhhbGIgZGVzIEJlcmVpY2hzLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbPEJlbnV0emVybmFtZT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiSWhyZSBGaW5nZXItSW5mb3JtYXRpb24gw6RuZGVybi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDx2b2xsZXIgTmFtZT4gUmVhbG5hbWVcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZmljZSA8QsO8cm8+ICAgICAgICAgICBCw7xyb251bW1lclxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDxUZWxlZm9uPiAgQsO8cm90ZWxlZm9ubnVtbWVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA8VGVsZWZvbj4gICAgSGF1c3RlbGVmb25udW1tZXJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiRmVsZCAlcyBpc3QgenUgbGFuZy4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjcgbG9naW4tdXRpbHMvY2hzaC5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiJXM6IGVudGjDpGx0IHVuZ8O8bHRpZ2UgWmVpY2hlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgdmVyYmlldGV0IGRpZSBFaW5zdGVsbHVuZyAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIkLDvHJvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMyOAorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiQsO8cm90ZWxlZm9uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzYgbG9naW4tdXRpbHMvY2hmbi5jOjMzMAorbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIkhhdXN0ZWxlZm9uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIkFiZ2Vicm9jaGVuLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIGhhdCBlaW5lbiB1bmVyd2FydGV0ZW4gV2VydDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIGVybGF1YnQga2VpbmUgw4RuZGVydW5nZW4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkZpbmdlci1JbmZvcm1hdGlvbiAqTklDSFQqIGdlw6RuZGVydC4gVmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyLUluZm9ybWF0aW9uIGdlw6RuZGVydC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICJTaWUgKEJlbnV0emVyICVkKSBzaW5kIG5pY2h0IHZvcmhhbmRlbi4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJCZW51dHplciDigJ4lc+KAnCBpc3QgbmljaHQgdm9yaGFuZGVuLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNyBsb2dpbi11dGlscy9jaHNoLmM6Mjg0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIm51ciBsb2thbGUgRWludHLDpGdlIGvDtm5uZW4gZ2XDpG5kZXJ0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyBpc3QgbmljaHQgYXV0b3Jpc2llcnQsIGRpZSBGaW5nZXItSW5mb3JtYXRpb25lbiB2b24gJXMgenUgw6RuZGVybiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgInVuYmVrYW5udGVyIEJlbnV0emVya29udGV4dCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJlaW4gU3RhbmRhcmRrb250ZXh0IGbDvHIgJXMga2FubiBuaWNodCBmZXN0Z2VsZWd0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIkxhdWZlbmRlIFVJRCBzdGltbXQgbmljaHQgbWl0IGRlciBVSUQgZGVzIHp1IMOkbmRlcm5kZW4gQmVudXR6ZXJzIMO8YmVyZWluLCDDhG5kZXJ1bmcgdmVyd2VpZ2VydCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJGaW5nZXItSW5mb3JtYXRpb24gZsO8ciAlcyB3aXJkIGdlw6RuZGVydFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyLUluZm9ybWF0aW9uIG5pY2h0IHZlcsOkbmRlcnRcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3Cittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIklocmUgQW5tZWxkZXNoZWxsIMOkbmRlcm4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8U2hlbGw+ICBBbm1lbGRlc2hlbGwgZmVzdGxlZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MQorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgTGlzdGUgdm9uIFNoZWxscyBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICJTaGVsbCBtdXNzIGVpbiB2b2xsZXIgUGZhZG5hbWUgc2VpbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuKAniVz4oCcIGlzdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICLigJ4lc+KAnCBpc3QgbmljaHQgYXVzZsO8aHJiYXIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJXYXJudW5nOiDigJ4lc+KAnCBpc3QgbmljaHQgaW4gJXMgYXVmZ2VsaXN0ZXQuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKyLigJ4lc+KAnCBpc3QgbmljaHQgaW4gJXMgYXVmZ2VsaXN0ZXQuXG4iCisiVmVyd2VuZGVuIFNpZSDigJ4lcyAtbOKAnCwgdW0gZGllIExpc3RlIHp1IGFuenV6ZWlnZW4uIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIGlzdCBuaWNodCBhdXRvcmlzaWVydCwgZGllIFNoZWxsIHZvbiAlcyB6dSDDpG5kZXJuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiTGF1ZmVuZGUgVUlEIHN0aW1tdCBuaWNodCBtaXQgZGVyIFVJRCBkZXMgenUgw6RuZGVybmRlbiBCZW51dHplcnMgw7xiZXJlaW4sIFNoZWxsLcOEbmRlcnVuZyB2ZXJ3ZWlnZXJ0IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJJaHJlIFNoZWxsIGZlaGx0IGluICVzLCBTaGVsbC3DhG5kZXJ1bmcgdmVyd2VpZ2VydCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIlNoZWxsIGbDvHIgJXMgw6RuZGVybi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAiTmV1ZSBTaGVsbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiU2hlbGwgbmljaHQgZ2XDpG5kZXJ0LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTaGVsbCAqTklDSFQqIGdlw6RuZGVydC4gVmVyc3VjaGVuIFNpZSBlcyBzcMOkdGVyIGVybmV1dC4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSBmZWhsZ2VzY2hsYWdlblxuIgorIlNoZWxsICpOSUNIVCogZ2XDpG5kZXJ0LiBWZXJzdWNoZW4gU2llIGVzIHNww6R0ZXIgZXJuZXV0LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJTaGVsbCBnZcOkbmRlcnQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJBdWZydWY6ICVzIDxQYXNzd29ydGRhdGVpPiA8QmVudXR6ZXJuYW1lPiDigKZcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJVbmJla2FubnRlcyBaZWl0Zm9ybWF0OiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI3NiBsb2dpbi11dGlscy9sYXN0LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIlcyB1bnRlcmJyb2NoZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzUgbG9naW4tdXRpbHMvbGFzdC5jOjQ0NiBsb2dpbi11dGlscy9sYXN0LmM6ODkyCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJHcsO2w59lIGbDvHIgVm9yenV3ZWlzdW5nIMO8YmVyc2Nocml0dGVuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxCZW51dHplcm5hbWU+IOKApl0gWzx0dHk+IOKApl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICJFaW5lIExpc3RlIGRlciB6dWxldHp0IGFuZ2VtZWxkZXRlbiBCZW51dHplciBhbnplaWdlbi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPEFuemFobD4gICAgICAgICAgICBBbnphaGwgYW56dXplaWdlbmRlciBaZWlsZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIFJlY2huZXJuYW1lbiBpbiBkZXIgbGV0enRlbiBTcGFsdGUgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgSVAtTnVtbWVyIGluIGVpbmVuIFJlY2huZXJuYW1lbiB6dXLDvGNrw7xiZXJzZXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxEYXRlaT4gICBlaW5lIGJlc3RpbW10ZSBEYXRlaSBhbnN0ZWxsZSB2b24gJXMgdmVyd2VuZGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgdm9sbHN0w6RuZGlnZSBBbm1lbGRlLSB1bmQgQWJtZWxkZXplaXRlbiB1bmQgLWRhdGVuIGF1c2dlYmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlwICAgICAgICAgICAgIElQLU51bW1lcm4gaW4gTnVtbWVybi0gdW5kIFB1bmt0bm90YXRpb24gYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtbiwgLS1saW1pdCA8QW56YWhsPiBBbnphaGwgYW56dXplaWdlbmRlciBaZWlsZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZGFzIFJlY2huZXJuYW1lbnNmZWxkIG5pY2h0IGFuemVpZ2VuIFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXMsIC0tc2luY2UgPFplaXQ+ICAgZGllIFplaWxlbiBzZWl0IGRlciBhbmdlZ2ViZW5lbiBaZWl0IGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8WmVpdD4gICBkaWUgWmVpbGVuIGJpcyB6dXIgYW5nZWdlYmVuZW4gWmVpdCBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPFplaXQ+ICBkaWUgQW53ZXNlbmRlbiB6dXIgYW5nZWdlYmVuZW4gWmVpdCBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIHZvbGxlIEJlbnV0emVyLSB1bmQgRG9tYWlubmFtZW4gYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MQorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisiIC14LCAtLXN5c3RlbSAgICAgICAgIEVpbnRyw6RnZSB6dW0gSGVydW50ZXJmYWhyZW4gZGVzIFN5c3RlbXMgdW5kIMOEbmRlcnVuZ2VuXG4iCisiICAgICAgICAgICAgICAgICAgICAgIGRlciBSdW4gTGV2ZWwgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Rm9ybWF0PiAgWmVpdHN0ZW1wZWwgaW0gYW5nZWdlYmVuZW4gPEZvcm1hdD4gYW56ZWlnZW46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVzIGJlZ2lubnQgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiRWlubGVzZW4gZGVyIE51bW1lciBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk5MyBsb2dpbi11dGlscy9sYXN0LmM6OTk4IGxvZ2luLXV0aWxzL2xhc3QuYzoxMDAzCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJ1bmfDvGx0aWdlciBaZWl0d2VydCDigJ4lc+KAnCIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiR3J1cHBlbnByaXZpbGVnaWVuIGvDtm5uZW4gbmljaHQgYWJnZWdlYmVuIHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImxpYnVzZXItSW5pdGlhbGlzaWVydW5nIGZlaGxnZXNjaGxhZ2VuOiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAiw4RuZGVybiBkZXMgQmVudXR6ZXJhdHRyaWJ1dHMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJCZW51dHplcmF0dHJpYnV0IHd1cmRlIG5pY2h0IGdlw6RuZGVydDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiRkFUQUw6IHR0eSBrYW5uIG5pY2h0IGVybmV1dCBnZcO2ZmZuZXQgd2VyZGVuOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJGQVRBTDogJXMgaXN0IGtlaW4gVGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duICglcywgJWx1LCAlbHUpIGZlaGxnZXNjaGxhZ2VuOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2htb2QgKCVzLCAldSkgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM4MAorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJGQVRBTDogdW5nw7xsdGlnZXMgVFRZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICJGQVRBTDogJXM6IMOEbmRlcm4gdm9uIEJlcmVjaHRpZ3VuZ2VuIGZlaGxnZXNjaGxhZ2VuOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIkxldHp0ZSBBbm1lbGR1bmc6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAidm9uICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJhdWYgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJTY2hyZWliZW4gdm9uIGxhc3Rsb2cgZmVobGdlc2NobGFnZW4iCisKKyMgRGFzIGdlaHQgaW5zIFN5c2xvZyDigJMgaWNoIMO8YmVyc2V0emUgZXMgbmljaHQuIChNUGkpCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIlZFUkJJTkRVTkdTQVVGQkFVIEJFSSAlcyBEVVJDSCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJST09ULUFOTUVMRFVORyBBVUYgJXMgVk9OICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09ULUFOTUVMRFVORyBBVUYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIkFOTUVMRFVORyBBTiAlcyBEVVJDSCAlcyBWT04gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJBTk1FTERVTkcgQU4gJXMgRFVSQ0ggJXMiCisKKyMgdW50ZW4gbm9jaG1hbCBtaXQgTkwKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiQW5tZWxkdW5nOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIlBBTS1GZWhsZnVua3Rpb24sIHdpcmQgYWJnZWJyb2NoZW46ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIlBBTSBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW46ICVzIgorCisjIERhcyBnZWh0IGlucyBTeXNsb2cg4oCTIGljaCDDvGJlcnNldHplIGVzIG5pY2h0LiAoTVBpKQorIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiQU5NRUxEVU5HICV1IFZPTiAlcyBGw5xSICVzLCAlcyBGRUhMR0VTQ0hMQUdFTiIKKworIyB1bnRlbiBub2NoIHp3ZWkgbWFsIG1pdCBhbmRlcmVuIE5MCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJBbm1lbGR1bmcgZmFsc2NoXG4iCisiXG4iCisKKyMgRGFzIGdlaHQgaW5zIFN5c2xvZyDigJMgaWNoIMO8YmVyc2V0emUgZXMgbmljaHQuIChNUGkpCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiWlUgVklFTEUgQU5NRUxERVZFUlNVQ0hFICgldSkgVk9OICVzIEbDnFIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkFOTUVMREVTSVRaVU5HIFZPTiAlcyBGw5xSICVzLCAlcyBGRUhMR0VTQ0hMQUdFTiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisiQW5tZWxkdW5nIGZhbHNjaFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiU2l0enVuZ3NlaW5yaWNodHVuZ3Nwcm9ibGVtLCBBYmJydWNoLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTEVFUkVSIEJlbnV0emVybmFtZSBpbiAlczolZC4gQWJicnVjaC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiQXVmcnVmOiBsb2dpbiBbLXBdIFstaCA8UmVjaG5lcj5dIFstSF0gW1stZl0gPEJlbnV0emVybmFtZT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJFaW5lIFNpdHp1bmcgYXVmIGRlbSBTeXN0ZW0gc3RhcnRlbi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAtZiAgICAgICAgICAgbGFuZ2UgWmVpbGVuIG5pY2h0IHVtYnJlY2hlblxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDUKK21zZ2lkICIgLWggPGhvc3Q+ICAgICAgaG9zdG5hbWUgdG8gYmUgdXNlZCBmb3IgdXRtcCBsb2dnaW5nIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNgorIywgZnV6enkKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiIC11ICAgICAgICAgIFVudGVyc3RyZWljaHVuZyB1bnRlcmRyw7xja2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJaZWl0IMO8YmVyc2Nocml0dGVuIG5hY2ggJXUgU2VrdW5kZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgIkFubWVsZHVuZzogLWggaXN0IG51ciBmw7xyIGRlbiBBZG1pbmlzdHJhdG9yIHp1bMOkc3NpZy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJVbmfDvGx0aWdlciBCZW51dHplcm5hbWUg4oCeJXPigJwgaW4gJXM6JWQuIEFiYnJ1Y2guIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIkdydXBwZW5pbml0aWFsaXNpZXJ1bmcgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIlNpZSBoYWJlbiBuZXVlIEUtTWFpbC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIlNpZSBoYWJlbiBFLU1haWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IFZlcnplaWNobmlzd2VjaHNlbCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiV2lyZCBhbmdlbWVsZGV0IG1pdCBIZWltYXR2ZXJ6ZWljaG5pcyA9IOKAni/igJwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3NgorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJTaGVsbHNraXB0IGtvbm50ZSBuaWNodCBhdXNnZWbDvGhydCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3OAorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJrZWluZSBTaGVsbCIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyBlbnRow6RsdCB1bmfDvGx0aWdlbiBaYWhsZW53ZXJ0OiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MzgzCittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAiU3RhdHVzIHN0aWxsZSBBbm1lbGR1bmc6IFdpZWRlcmhlcnN0ZWxsdW5nIGRlciB1cnNwcsO8bmdsaWNoZW4gSURzIGdlc2NoZWl0ZXJ0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2IHN5cy11dGlscy9sc2NwdS5jOjE0NDYKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgIm5vIgorbXNnc3RyICJuZWluIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJCZW51dHplcm5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIkJlbnV0emVybmFtZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiQmVudXR6ZXJrZW5udW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzc3dvcnQgbmljaHQgZXJmb3JkZXJsaWNoIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzc3dvcnQgbmljaHQgZXJmb3JkZXJsaWNoIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICJBbm1lbGR1bmcgbWl0IFBhc3N3b3J0IGlzdCBkZWFrdGl2aWVydCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiQW5tZWxkdW5nIG1pdCBQYXNzd29ydCBpc3QgZGVha3RpdmllcnQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiUGFzc3dvcnQgZGVmaW5pZXJ0LCBhYmVyIGdlc3BlcnJ0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiUGFzc3dvcnQgaXN0IGdlc3BlcnJ0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICJBbm1lbGR1bmcgZHVyY2ggbm9sb2dpbig4KSBvZGVyIHBhbV9ub2xvZ2luKDgpIGRlYWt0aXZpZXJ0IgorCisjIHVudGVuIG5vY2htYWwgbWl0IE5MCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJLZWluZSBBbm1lbGR1bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICJQcmltw6RyZXIgR3J1cHBlbm5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiUHJpbcOkcmUgR3J1cHBlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNAorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIlByaW3DpHJlIEdydXBwZW4tSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiWnVzw6R0emxpY2hlIEdydXBwZW5uYW1lbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiWnVzw6R0emxpY2hlIEdydXBwZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIlp1c8OkdHpsaWNoZSBHcnVwcGVuLUlEcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiWnVzw6R0emxpY2hlIEdydXBwZW4tSURzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJIb21lLVZlcnplaWNobmlzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJIb21lLVZlcnplaWNobmlzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJBbm1lbGRlc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIlNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJWb2xsc3TDpG5kaWdlciBCZW51dHplcm5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkdlY29zLUZlbGQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJEYXR1bSBkZXIgbGV0enRlbiBBbm1lbGR1bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiTGV0enRlIEFubWVsZHVuZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJ6dWxldHp0IHZlcndlbmRldGVzIHR0eSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICJMZXR6dGVzIFRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICJSZWNobmVybmFtZSB3w6RocmVuZCBkZXIgbGV0enRlbiBTaXR6dW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIkxldHp0ZXIgUmVjaG5lcm5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiRGF0dW0gZGVyIGxldHp0ZW4gZmVobGdlc2NobGFnZW5lbiBBbm1lbGR1bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICJGZWhsZ2VzY2hsYWdlbmUgQW5tZWxkdW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIldhcnVtIHNjaGx1ZyBkaWUgQW5tZWxkdW5nIGZlaGw/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiVGVybWluYWwgZGVyIGZlaGxnZXNjaGxhZ2VuZW4gQW5tZWxkdW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJCZW51dHplcmVpbnN0ZWxsdW5nZW4gZsO8ciBzdGlsbGUgQW5tZWxkdW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiU3RpbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJUYWdlIGRlciBXYXJudW5nIGRlcyBCZW51dHplcnMsIGJldm9yIGRhcyBQYXNzd29ydCBhYmzDpHVmdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIldhcm5pbnRlcnZhbGwgdm9yIFBhc3N3b3J0YWJsYXVmIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiUGFzc3dvcnQtQWJsYXVmZGF0dW0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiUGFzc3dvcnRhYmxhdWYiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiRGF0dW0gZGVyIGxldHp0ZW4gUGFzc3dvcnTDpG5kZXJ1bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiUGFzc3dvcnQgZ2XDpG5kZXJ0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiQW56YWhsIGRlciBUYWdlIHp3aXNjaGVuIMOEbmRlcnVuZ2VuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1pbmltYWxlIMOEbmRlcnVuZ3N6ZWl0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJNYXhpbWFsZSBBbnphaGwgZGVyIFRhZ2UsIGRpZSBlaW4gUGFzc3dvcnQgdW52ZXLDpG5kZXJ0IGJsZWliZW4gZGFyZiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNYXhpbWFsZSDDhG5kZXJ1bmdzemVpdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIlNpY2hlcmhlaXRza29udGV4dCBkZXMgQmVudXR6ZXJzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiU2VsaW51eC1Lb250ZXh0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJBbnphaGwgZGVyIHZvbSBCZW51dHplciBhdXNnZWbDvGhydGVuIFByb3plc3NlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICJMYXVmZW5kZSBQcm96ZXNzZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiWnUgdmllbGUgU3BhbHRlbiBhbmdlZ2ViZW4sIExpbWl0IHNpbmQgJXp1IFNwYWx0ZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZXIgWmVpdHR5cCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gS29uc3RydWllcmVuIGRlciBaZWl0LVplaWNoZW5rZXR0ZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDMKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJadXPDpHR6bGljaGUgR3J1cHBlbiBrb25udGVuIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA2OAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiaW50ZXJuZXIgRmVobGVyOiB1bmJla2FubnRlIFNwYWx0ZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJMZXR6dGUgUHJvdG9rb2xsZTpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkluZm9ybWF0aW9uZW4gw7xiZXIgZGllIGJla2FubnRlbiBCZW51dHplciBpbSBTeXN0ZW0gYW56ZWlnZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMgorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgSW5mbyB6dW0gQWJsYXVmZW4gZGVzIFBhc3N3b3J0cyBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgRGF0ZW4gaW4gZWluZW0gRm9ybWF0IHdpZSBpbiAvZXRjL3Bhc3N3ZCBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQgc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBpbiBlaW5lbSBleHBvcnRpZXJiYXJlbiBBdXNnYWJlZm9ybWF0IGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIERhdGVuIHp1IGRlbiBsZXR6dGVuIGZlaGxnZXNjaGxhZ2VuZW4gQW5tZWxkdW5nZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzIEJlbnV0emVycyBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgSW5mb3JtYXRpb25lbiB6dSBHcnVwcGVuIGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTxHcnVwcGVuPiAgIEJlbnV0emVyIGFuemVpZ2VuLCBkaWUgenUgZWluZXIgZGVyIDxHcnVwcGVuPiBnZWjDtnJlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgSW5mb3JtYXRpb24genUgZGVuIGxldHp0ZW4gQW5tZWxkZXNpdHp1bmdlbiBkZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVudXR6ZXJzIGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1sb2dpbnM9PEFubWVsZHVuZ2VuPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTnVyIEJlbnV0emVyIGF1cyA8QW5tZWxkdW5nZW4+IGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgamVkZSBJbmZvcm1hdGlvbiBpbiBlaW5lciBuZXVlbiBaZWlsZSBhbnplaWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGtlaW5lIMOcYmVyc2NocmlmdGVuIGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIEF1c2dhYmUgbmljaHQga8O8cnplblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPExpc3RlPiAgICAgZGllIHp1IHZlcndlbmRlbmRlbiBBdXNnYWJlc3BhbHRlbiBmZXN0bGVnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgQW5tZWxkZWluZm9ybWF0aW9uZW4gbmFjaCBQYXNzd29ydCBhbnplaWdlbi5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIEFuemVpZ2UgaW0gUm9obW9kdXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIFN5c3RlbWJlbnV0emVya29udGVuIGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0PTxUeXA+ICBEYXR1bS9aZWl0IGluIGt1cnplbSwgdm9sbHN0w6RuZGlnZW0gb2RlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJU08tRm9ybWF0IGFuemVpZ2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgQmVudXR6ZXJrb250ZW4gYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBTRUxpbnV4LUtvbnRleHQgYW56ZWlnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIEJlbnV0emVyZWludHLDpGdlIG1pdCBlaW5lbSBudWwtWmVpY2hlbiB0cmVubmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiAgICAgLS13dG1wLWZpbGUgPFBmYWQ+ICAgYWx0ZXJuYXRpdmVuIFBmYWQgZsO8ciB3dG1wIGZlc3RsZWdlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIgICAgIC0tYnRtcC1maWxlIDxQZmFkPiAgIGFsdGVybmF0aXZlbiBQZmFkIGbDvHIgYnRtcCBmZXN0bGVnZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDM0Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiRXJtaXR0ZWxuIGRlcyBTRUxpbnV4LVN0YXR1cyBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIkVzIGthbm4gbnVyIGVpbiBCZW51dHplciBhbmdlZ2ViZW4gd2VyZGVuLiBWZXJ3ZW5kZW4gU2llIC1sIGbDvHIgbWVocmVyZSBCZW51dHplci4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJUZXJtaW5hbC1BdHRyaWJ1dGUga29ubnRlbiBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJnZXRsaW5lKCkgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIlBhc3N3b3J0OiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJjcnlwdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAlcyA8R3J1cHBlPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIkluIGVpbmVyIG5ldWVuIEdydXBwZSBhbm1lbGRlbi5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjEzCittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICJXZXIgc2luZCBTaWU/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAia2VpbmUgc29sY2hlIEdydXBwZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiRWluZW4gQW5tZWxkZXZlcnN1Y2ggaMO2ZmxpY2ggYWJsZWhuZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIkRpZXNlcyBLb250byBpc3QgbW9tZW50YW4gbmljaHQgdmVyZsO8Z2Jhci5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAoU3BlaWNoZXJhYnp1ZyBnZXNjaHJpZWJlbikiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiVGVybWluYWwtQXR0cmlidXRlIGtvbm50ZW4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcHNldWRvLXRlcm1pbmFsIgorbXNnc3RyICJTY2hyZWliZW4gZGVyIEZlc3RwbGF0dGVuYmV6ZWljaG51bmcgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIlNpZ25hbGUga8O2bm5lbiBuaWNodCBibG9ja2llcnQgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY3MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICJWZXJ6ZWljaG5pcyBrb25udGUgbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICJkYXJmIHZvbiBCZW51dHplcm4gb2huZSBBZG1pbmlzdHJhdG9ycmVjaHRlIG5pY2h0IHZlcndlbmRldCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAiZmFsc2NoZXMgUGFzc3dvcnQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiU2l0enVuZyBrb25udGUgbmljaHQgZ2XDtmZmbmV0IHdlcmRlbjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc4NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayIKK21zZ3N0ciAiU2lnbmFsZSBrw7ZubmVuIG5pY2h0IGJsb2NraWVydCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc5NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIGZvciBzZXNzaW9uIgorbXNnc3RyICJTaWduYWxoYW5kbGVyIGthbm4gbmljaHQgZmVzdGdlbGVndCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJTaWduYWxoYW5kbGVyIGthbm4gbmljaHQgZmVzdGdlbGVndCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgxMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBtYXNrIgorbXNnc3RyICJTaWduYWxoYW5kbGVyIGthbm4gbmljaHQgZmVzdGdlbGVndCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAiS2luZHByb3plc3Mga29ubnRlIG5pY2h0IGVyemV1Z3Qgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIlZlcnplaWNobmlzIGthbm4gbmljaHQgbmFjaCAlcyBnZXdlY2hzZWx0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyJTaXR6dW5nIGJlZW5kZXQsIFNoZWxsIHdpcmQgYWJnZXfDvHJndCDigKYiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIg4oCmIGFiZ2V3w7xyZ3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJEaWUgVW1nZWJ1bmdzdmFyaWFibGUgJXMga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIkdydXBwZW4ga29ubnRlbiBuaWNodCBmZXN0Z2VsZWd0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJFYmVuZSDigJ4lc+KAnCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjIgc3lzLXV0aWxzL2VqZWN0LmM6NjYwCittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAiR3J1cHBlbmtlbm51bmcga29ubnRlIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAiQmVudXR6ZXJrZW5udW5nIGtvbm50ZSBuaWNodCBmZXN0Z2VsZWd0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MgorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZGllIFVtZ2VidW5nc3ZhcmlhYmxlbiBuaWNodCB6dXLDvGNrc2V0emVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8R3J1cHBlPiAgICAgICAgICAgZGllIHByaW3DpHJlIEdydXBwZSBhbmdlYmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPEdydXBwZT4gICAgICBlaW5lIHp1c8OkdHpsaWNoZSBHcnVwcGUgYW5nZWJlblxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgIGRpZSBTaGVsbCB6dXIgQW5tZWxkZXNoZWxsIG1hY2hlblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk4Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29tbWFuZCA8QmVmZWhsPiAgICAgICAgIGVpbmVuIGVpbnplbG5lbiBCZWZlaGwgYW4gZGllIFNoZWxsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXQgLWMgw7xiZXJnZWJlblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxCZWZlaGw+ICAgICBlaW5lbiBlaW56ZWxuZW4gQmVmZWhsIGFuIGRpZSBTaGVsbCBtaXQgLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMO8YmVyZ2ViZW4gdW5kIGtlaW5lIG5ldWUgU2l0enVuZyDDtmZmbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICAtZiBhbiBkaWUgU2hlbGwgw7xiZXJnZWJlbiAoZsO8ciBjc2ggb2RlciB0Y3NoKVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAyCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8U2hlbGw+ICAgICAgICAgICAgIDxTaGVsbD4gYXVzZsO8aHJlbiwgZmFsbHMgL2V0Yy9zaGVsbHMgZXMgZXJsYXVidFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIG5ldyBwc2V1ZG8tdGVybWluYWxcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBlaW5lIFRhYmVsbGUgZXJzdGVsbGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXSA8R2Vyw6R0PiBbWy1OXSA8UGFydGl0aW9uPl1cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxCZWZlaGw+XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIjxCZWZlaGw+IG1pdCBkZW4gZWZmZWt0aXZlbiBCZW51dHplci0gdW5kIEdydXBwZW4tSURzIHZvbiA8QmVudXR6ZXI+IGF1c2bDvGhyZW4uXG4iCisiV2VubiAtdSBuaWNodCBhbmdlZ2ViZW4gaXN0LCB3aXJkIGF1ZiBkaWUgc3UoMSkta29tcGF0aWJsZSBTZW1hbnRpayBhdXNnZXdpY2hlblxuIgorInVuZCBlaW5lIFN0YW5kYXJkLVNoZWxsIGF1c2dlZsO8aHJ0LiBEaWUgT3B0aW9uZW4gLWMsIC1mLCAtbCwgdW5kIC1zIHdlcmRlblxuIgorImR1cmNoIC11IGF1c2dlc2NobG9zc2VuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDxCZW51dHplcj4gICAgICAgICBCZW51dHplcm5hbWVcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWy1dIFs8QmVudXR6ZXI+IFs8QXJndW1lbnQ+IOKApl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEaWUgZWZmZWt0aXZlIEJlbnV0emVyLSB1bmQgR3J1cHBlbi1JRCBhdWYgamVuZSB2b24gPEJlbnV0emVyPlxuIgorIsOkbmRlcm4uIEVpbiByZWluZXMgLSBiZWRldXRldCAtbC4gRmFsbHMga2VpbiA8QmVudXR6ZXI+IGFuZ2VnZWJlbiBpc3QsXG4iCisid2lyZCDigJ5yb2904oCcIGFuZ2Vub21tZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gImRpZSBBbmdhYmUgdm9uIG1laHIgYWxzICVkIHp1c8OkdHpsaWNoZW4gR3J1cHBlIGlzdCBuaWNodCBtw7ZnbGljaCIKK21zZ3N0clsxXSAiZGllIEFuZ2FiZSB2b24gbWVociBhbHMgJWQgenVzw6R0emxpY2hlbiBHcnVwcGVuIGlzdCBuaWNodCBtw7ZnbGljaCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiR3J1cHBlICVzIGlzdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKKyMsIGZ1enp5Cittc2dpZCAiLS1wdHkgaXMgbm90IHN1cHBvcnRlZCBmb3IgeW91ciBzeXN0ZW0iCittc2dzdHIgIi0tcmVsb2FkIHdpcmQgYXVmIElocmVtIFN5c3RlbSBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzMjYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgIi0tcHJlc2VydmUtZW52aXJvbm1lbnQgd2lyZCBpZ25vcmllcnQsIHdpcmQgZHVyY2ggLS1sb2dpbiBhdXNnZXNjaGxvc3Nlbi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiRGllIE9wdGlvbmVuIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IHVuZCAtLXVzZXIgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cy4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIkVzIHd1cmRlIGtlaW4gQmVmZWhsIGFuZ2VnZWJlbi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJudXIgZGVyIFN5c3RlbWFkbWluaXN0cmF0b3Iga2FubiBhbHRlcm5hdGl2ZSBHcnVwcGVuIGFuZ2ViZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQmVudXR6ZXIgJXMgaXN0IG5pY2h0IHZvcmhhbmRlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJFaW5nZXNjaHLDpG5rdGUgU2hlbGwgJXMgd2lyZCB2ZXJ3ZW5kZXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIldhcm51bmc6IFdlY2hzZWwgaW4gVmVyemVpY2huaXMgJXMgaXN0IG5pY2h0IG3DtmdsaWNoIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNnZXRhdHRyIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNzZXRhdHRyIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczoga2VpbiBFaW50cmFnIGbDvHIgcm9vdFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXM6IGtlaW4gRWludHJhZyBmw7xyIHJvb3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6IFJvb3QtUGFzc3dvcnQgdmVyc3TDvG1tZWx0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIktlaW4gWnVncmlmZiBhdWYgZGllIEtvbnNvbGUgbcO2Z2xpY2gsIGRhIGRhcyBSb290LUtvbnRvIGdlc3BlcnJ0IGlzdC5cbiIKKyJJbiBkZXIgSGFuZGJ1Y2hzZWl0ZSB2b24gc3Vsb2dpbig4KSBmaW5kZW4gU2llIHdlaXRlcmUgRWluemVsaGVpdGVuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiUm9vdC1QYXNzd29ydCB6dXIgQW5tZWxkdW5nIGVpbmdlYmVuOiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiRWluZ2FiZXRhc3RlIGbDvHIgQW5tZWxkdW5nIGRyw7xja2VuOiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkFkbWluaXN0cmF0b3JwYXNzd29ydCBmw7xyIFdhcnR1bmdzendlY2tlIGVpbmdlYmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkRyw7xja2VuIFNpZSBkaWUgRWluZ2FiZXRhc3RlIGbDvHIgV2FydHVuZ3NhcmJlaXRlblxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIihvZGVyIGRyw7xja2VuIFNpZSBTdHJnK0QsIHVtIGZvcnR6dWZhaHJlbik6IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIsOEbmRlcm4gZGVzIFZlcnplaWNobmlzc2VzIHp1ciBTeXN0ZW13dXJ6ZWwgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gW1RUWS1HZXLDpHRdXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDYKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiQW5tZWxkdW5nIGbDvHIgZWluemVsbmVuIEJlbnV0emVyLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA5Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIGVpbmUgQW5tZWxkZXNoZWxsIHN0YXJ0ZW5cbiIKKyIgLXQsIC0tdGltZW91dCA8U2VrdW5kZW4+IG1heGltYWxlIFdhcnRlemVpdCBhdWYgZWluIFBhc3N3b3J0IChWb3JnYWJlOiB1bmJlZ3Jlbnp0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgUGFzc3dvcnQgZGlyZWt0IHVudGVyc3VjaGVuLCBmYWxscyBnZXRwd25hbSgzKSBmZWhsc2NobMOkZ3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBaZWl0w7xiZXJzY2hyZWl0dW5nc2FyZ3VtZW50IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0Cittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgIk51ciBkZXIgU3lzdGVtYWRtaW5pc3RyYXRvciBrYW5uIGRpZXNlcyBQcm9ncmFtbSBhdXNmw7xocmVuLiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgIktvbnNvbGUga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuLiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJQYXNzd29ydGRhdGVuYmFuayBrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4uIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorImRpZSBTdS1TaGVsbCBrYW5uIG5pY2h0IGF1c2dlZsO8aHJ0IHdlcmRlblxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlplaXQgw7xiZXJzY2hyaXR0ZW5cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkF1ZiBkaWUgc3Utc2hlbGwga2FubiBuaWNodCBnZXdhcnRldCB3ZXJkZW5cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzOiBpbm90aWZ5LcOcYmVyd2FjaHVuZyBrYW5uIG5pY2h0IGhpbnp1Z2Vmw7xndCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IGlub3RpZnktRXJlaWduaXNzZSBrw7ZubmVuIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0OQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiVW56dWzDpHNzaWdlIG5ldWUgWmVpbGUgaW4gZGVyIERhdGVpLiBBYmJydWNoLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFtEYXRlaW5hbWVdXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIlVUTVAtIHVuZCBXVE1QLURhdGVpZW4gaW0gUm9oZm9ybWF0IGF1c2dlYmVuLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgLWYsIC0tZm9sbG93ICAgICAgICAgYW5nZWjDpG5ndGUgRGF0ZW4gYXVzZ2ViZW4sIHdlbm4gZGllIERhdGVpIHfDpGNoc3RcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTAKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgYXVzZ2VnZWJlbmUgRGF0ZW4gaW4gdXRtcC1EYXRlaSB6dXLDvGNrc2NocmVpYmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzExCittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8RGF0ZWk+IGluIERhdGVpIGFuc3RhdHQgZGVyIFN0YW5kYXJkYXVzZ2FiZSBzY2hyZWliZW5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIkZvbGdlbiBkZXIgU3RhbmRhcmRhdXNnYWJlIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wLVVuZHVtcCB2b24gJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIlV0bXAtQXVzZ2FiZSB2b24gJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgImVpbmUgdGVtcG9yw6RyZSBEYXRlaSBrb25udGUgbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBFcnN0ZWxsZW4gZWluZXIgVmVya27DvHBmdW5nIG5hY2ggJXMgZmVobGdlc2NobGFnZW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJLb250ZXh0IGbDvHIgJXMga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJLb250ZXh0IGbDvHIgJXMga29ubnRlIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjICJuaWNodCBnZcOkbmRlcnQiCisjICJ3dXJkZSBuaWNodCBnZcOkbmRlcnQiCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMgdW52ZXLDpG5kZXJ0IgorCisjIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gc3RyZXJyb3IoZXJybm8pIGlzIG11Y2ggdG9vIGxvbmcKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTcKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgIlNwZXJyZSBrYW5uIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICJrZWluZSDDhG5kZXJ1bmdlbiBkdXJjaGdlZsO8aHJ0IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkzCittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIkRhdGVpbW9kdXMga2FubiBuaWNodCBnZcOkbmRlcnQgd2VyZGVuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiRGllIFBhc3N3b3J0LSBvZGVyIEdydXBwZW5kYXRlaSBiZWFyYmVpdGVuLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJTaWUgYmVudXR6ZW4gU2hhZG93LUdydXBwZW4gYXVmIGRpZXNlbSBTeXN0ZW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlNpZSBiZW51dHplbiBTaGFkb3ctUGFzc3fDtnJ0ZXIgYXVmIGRpZXNlbSBTeXN0ZW0uXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICJXw7xyZGVuIFNpZSBqZXR6dCBnZXJuICVzIGJlYXJiZWl0ZW4gW2ovbl0/ICIKKworIyAibWtmcyBhdXMgdXRpbC1saW51eC0yLjEwZCIKKyMgIm1rZnMgdm9uIHV0aWwtbGludXgtMi4xMGQiCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiJXMgYXVzICVzIChsaWJibGtpZCAlcywgJXMpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC0tbGFiZWwgPGxhYmVsPiB8IC0tdXVpZCA8dXVpZD5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAlcyAtLWxhYmVsIDxCZXplaWNobmVyPiB8IC0tdXVpZCA8dXVpZD5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAlcyBbLS1jYWNoZS1maWxlIDxEYXRlaT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Rm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDxLZW5udW5nPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDxUb2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8S2VubnVuZz5dIFstLW9mZnNldCA8T2Zmc2V0Pl0gWy0tc2l6ZSA8R3LDtsOfZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPEZvcm1hdD5dIDxHZXLDpHQ+IC4uLlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiICVzIC1pIFstLW1hdGNoLXRhZyA8S2VubnVuZz5dIFstLW91dHB1dCA8Rm9ybWF0Pl0gPEdlcsOkdD4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxEYXRlaT4gICAgYXVzIDxEYXRlaT4gYW4gU3RlbGxlIGRlciBub3JtYWxlbiBDYWNoZS1EYXRlaSBsZXNlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgtYyAvZGV2L251bGwgYmVkZXV0ZXQga2VpbiBDYWNoZSlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg1Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9lbmNvZGluZyAgICAgICAgICAgbmljaHQgZGFyc3RlbGxiYXJlIFplaWNoZW4gbmljaHQga29kaWVyZW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIEdhcmJhZ2UgY29sbGVjdGlvbiBmw7xyIGRhcyBCbGtpZC1DYWNoZSBhdXNmw7xocmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NworbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0IDxmb3JtYXQ+ICAgICAgb3V0cHV0IGZvcm1hdDsgY2FuIGJlIG9uZSBvZjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3IgZnVsbDsgKGRlZmF1bHQ6IGZ1bGwpXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0IDxGb3JtYXQ+ICAgICAgQXVzZ2FiZWZvcm1hdDsga2FubiBlaW5lcyBkZXIgZm9sZ2VuZGVuIHNlaW46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChWb3JnYWJlOiBmdWxsKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIEFsbGUgYmVrYW5udGVuIERhdGVpc3lzdGVtZS9SQUlEcyBhdWZsaXN0ZW4gdW5kIFByb2dyYW1tIGJlZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIgLXMsIC0tbWF0Y2gtdGFnIDxLZW5udW5nPiAgZGllIGFuZ2VnZWJlbmUobikgS2VubnVuZyhlbikgYW56ZWlnZW4gKFZvcmdhYmUgaXN0LCBhbGxlIEtlbm51bmdlbiBhbnp1emVpZ2VuKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTEKK21zZ2lkICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRva2VuPiAgZmluZCBkZXZpY2Ugd2l0aCBhIHNwZWNpZmljIHRva2VuIChOQU1FPXZhbHVlIHBhaXIpXG4iCittc2dzdHIgIiAtdCwgLS1tYXRjaC10b2tlbiA8VG9rZW4+ICBmaW5kZSBlaW4gR2Vyw6R0IG1pdCBkZW0gYW5nZWdlYmVuZW4gVG9rZW4gKE5BTUU9V2VydGVwYWFyKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbnVyIG5hY2ggZGVtIGVyc3RlbiBHZXLDpHQgbWl0IGRlbSBtaXR0ZWxzIOKAni104oCdIGFuZ2VnZWJlbmVuIFRva2VuIHN1Y2hlblxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTMKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLUwsIC0tbGFiZWwgPEtlbm51bmc+ICAgICAgS2VubnVuZyBpbiBHZXLDpHRlbmFtZW4gdW13YW5kZWxuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC1VLCAtLXV1aWQgPFVVSUQ+ICAgICAgICAgIFVVSUQgaW4gR2Vyw6R0ZW5hbWVuIHVtd2FuZGVsblxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBkZXZpY2UocykgdG8gcHJvYmUgKGRlZmF1bHQ6IGFsbCBkZXZpY2VzKVxuIgorbXNnc3RyICIgPEdlcsOkdD4gICAgICAgICAgICAgICAgICAgZGFzIEdlcsOkdCBiencuIGRpZSBHZXLDpHRlLCBkaWUgZ2VwcsO8ZnQgd2VyZGVuIHNvbGwgKFZvcmdhYmU6ICBhbGxlIEdlcsOkdGUpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIkxvd2xldmVsLVByw7xmb3B0aW9uZW46XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorbXNnaWQgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93bGV2ZWwgU3VwZXJibG9jay1QcsO8ZnVuZyAoQ2FjaGUgdW1nZWhlbilcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBJbmZvcm1hdGlvbmVuIMO8YmVyIEVpbi9BdXNnYWJlLUJlc2NocsOkbmt1bmdlbiBlcmZhc3NlblxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAwCittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8R3LDtsOfZT4gICAgICAgIEdlcsOkdGVncsO2w59lIMO8YmVyc2NocmVpYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPFJlY2huZXJuYW1lPiAgIEFubWVsZGVyZWNobmVyIGZlc3RsZWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxMaXN0ZT4gICAgIERhdGVpc3lzdGVtdHlwZW4gbmFjaCBMaXN0ZSBlaW5zY2hyw6Rua2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPExpc3RlPiAgICAgRGF0ZWlzeXN0ZW10eXBlbiBuYWNoIExpc3RlIGVpbnNjaHLDpG5rZW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiKGluIHVzZSkiCittc2dzdHIgIklub2RlIGFscyBiZW51dHp0IGtlbm56ZWljaG5lbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzOQorIywgZnV6enkKK21zZ2lkICIobm90IG1vdW50ZWQpIgorbXNnc3RyICIlczogbmljaHQgZWluZ2Vow6RuZ3QiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyIKK21zZ3N0ciAiRWlubGVzZWZlaGxlcjogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAidW5iZWthbm50ZXMgQXJndW1lbnQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjExCittc2dpZCAiZXJyb3I6IC11IDxsaXN0PiBhcmd1bWVudCBpcyBlbXB0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0ICVzIgorbXNnc3RyICJOaWNodCB1bnRlcnN0w7x0enRlcyBPcHRpb25zZm9ybWF0OiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1OSBtaXNjLXV0aWxzL3dpcGVmcy5jOjY5NworbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBQb3NpdGlvbnMtQXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIkVzIHd1cmRlIGtlaW4gQmVmZWhsIGFuZ2VnZWJlbi4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBaZWl0YXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXIgTW9uYXQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBXb2NoZW4tQXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIxCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAidW5nw7xsdGlnZXIgV2VydCBmw7xyIGRpZSBXb2NoZTogYmVudXR6ZW4gU2llIDEtNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIkVpbmxlc2VuIGRlciBtYXhpbWFsZW4gRGF0ZWluYW1lbnNsw6RuZ2UgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgImZhbHNjaGVyIFdlcnQgZsO8ciBkZW4gVGFnIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgImZhbHNjaGVyIFdlcnQgZsO8ciBkZW4gVGFnOiBiZW51dHplbiBTaWUgMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODEgbWlzYy11dGlscy9jYWwuYzo0ODkKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAiZmFsc2NoZXIgV2VydCBmw7xyIGRlbiBNb25hdDogYmVudXR6ZW4gU2llIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJVbmJla2FubnRlciBQcmlvcml0w6R0c25hbWU6ICVzLiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgImZhbHNjaGVyIFdlcnQgZsO8ciBkYXMgSmFociIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJmYWxzY2hlciBXZXJ0IGbDvHIgZGFzIEphaHI6IGJlbnV0emVuIFNpZSBlaW5lIHBvc2l0aXZlIEdhbnp6YWhsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgImZhbHNjaGVyIFdlcnQgZsO8ciBkaWUgV29jaGU6IGRhcyBKYWhyICVkIGhhdCBrZWluZSBXb2NoZSAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gW1tbVGFnXSBNb25hdF0gSmFocl1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8RGF0ZWluYW1lPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTgKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiRWluZW4gS2FsZW5kZXIgb2RlciBlaW5lbiBUZWlsIGRhdm9uIGFuemVpZ2VuLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTkKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIk9obmUgQXJndW1lbnRlIHdpcmQgZGVyIGFrdHVlbGxlIE1vbmF0IGFuZ2V6ZWlndC5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAyCittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgbnVyIGVpbmVuIE1vbmF0IGF1c2dlYmVuIChWb3JnYWJlKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDMKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiIKKyIgLTMsIC0tdGhyZWUgICAgICAgICAgIGVpbmVuIEJlcmVpY2ggdm9uIGRyZWkgTW9uYXRlbiBpbSBCZXJlaWNoXG4iCisiICAgICAgICAgICAgICAgICAgICAgICBkZXMgRGF0dW1zIGFuemVpZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAtbiwgLS1tb250aHMgPFpBSEw+ICAgemVpZ3QgWkFITCBNb25hdGUsIGJlZ2lubmVuZCBtaXQgZGVtIE1vbmF0IGRlcyBEYXR1bXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA1Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNwYW4gICAgICAgICAgICBiZWkgQXVzZ2FiZSBtZWhyZXJlciBNb25hdGUgQmVyZWljaGUgYW5nZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDYKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFNvbm50YWcgYWxzIGVyc3RlciBUYWcgZGVyIFdvY2hlXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9udGFnIGFscyBlcnN0ZXIgVGFnIGRlciBXb2NoZVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBKdWxpYW5pc2NoZSBEYXRlbiBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBIaW53ZWlzZSBuaWNodCBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTEKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiIC15LCAtLXllYXIgICAgICAgICAgICBlaW4gZ2FuemVzIEphaHIgYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEyCittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBkaWUgbsOkY2hzdGVuIHp3w7ZsZiBNb25hdGUgYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9PFphaGw+XSAgIFVTLSBvZGVyIElTTy04NjAxLVdvY2hlbm51bW1lcm4gYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxXYW5uPl0gIE5hY2hyaWNodGVuIGVpbmbDpHJiZW4gKOKAnmF1dG/igJwsIOKAnmFsd2F5c+KAnCBvZGVyIOKAnm5ldmVy4oCcKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MQorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIHBhZ2VzIgorbXNnc3RyICJTZWl0ZW4gZ2V0ZWlsdGVuIFNwZWljaGVycyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiU2VpdGVuIGdldGVpbHRlbiBTcGVpY2hlcnMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgIkdyw7bDn2UgZGVzIEdlcsOkdHMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjY0CisjLCBmdXp6eQorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiRGF0ZWluYW1lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtaW5jb3JlOiAlcyIKK21zZ3N0ciAiTGVzZW4gZGVyIFZlcmtuw7xwZnVuZyBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICJBdXMgJXMga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAiJXMga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgIkF1cyAlcyBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxEYXRlaT4g4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgRGF0ZW4gaW0gSlNPTi1Gb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIEdyw7bDn2VuIGluIEJ5dGVzIGF1c2dlYmVuLCBhbnN0YXR0IGltIG1lbnNjaGVubGVzYmFyZW4gRm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGtlaW5lIMOcYmVyc2NocmlmdGVuIGFuemVpZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPExpc3RlPiBTcGFsdGVuIGRlciBBdXNnYWJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBSb2hhdXNnYWJlZm9ybWF0IHZlcndlbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAia2VpbmUgRGF0ZWkgYW5nZWdlYmVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PFdlcnQ+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJFaW4gRGF0ZWlzeXN0ZW0gbmFjaCBCZXplaWNobnVuZyBvZGVyIFVVSUQgc3VjaGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIuKAniVz4oCcIGtvbm50ZSBuaWNodCBhdWZnZWzDtnN0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJRdWVsbGdlcsOkdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiRWluaMOkbmdlcHVua3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJEYXRlaXN5c3RlbXR5cCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIkFsbGUgRWluaMOkbmdlb3B0aW9uZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJWRlMtc3BlemlmaXNjaGUgRWluaMOkbmdlb3B0aW9uZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIkZTLXNwZXppZmlzY2hlIEVpbmjDpG5nZW9wdGlvbmVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJEYXRlaXN5c3RlbWJlemVpY2hudW5nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiRGF0ZWlzeXN0ZW0tVVVJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJQYXJ0aXRpb25zYmV6ZWljaG51bmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1Cittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiSGF1cHR2ZXJzaW9uOk5lYmVuZ2Vyw6R0ZW51bW1lciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiQWt0aW9uIGVya2FubnQgdm9uIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJhbHRlIEVpbmjDpG5nZW9wdGlvbmVuIHZvbiAtLXBvbGwgZ2VzcGVpY2hlcnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYWx0ZXIgRWluaMOkbmdlcHVua3Qgdm9uIC0tcG9sbCBnZXNwZWljaGVydCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJEYXRlaXN5c3RlbWdyw7bDn2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgInZlcmbDvGdiYXJlIERhdGVpc3lzdGVtZ3LDtsOfZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgImJlbGVndGUgRGF0ZWlzeXN0ZW1ncsO2w59lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJwcm96ZW50dWFsZSBEYXRlaXN5c3RlbWJlbGVndW5nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIkRhdGVpc3lzdGVtLVJvb3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIkF1ZmdhYmVua2VubnVuZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIkVpbmjDpG5nZWtlbm51bmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAib3B0aW9uYWxlIEVpbmjDpG5nZmVsZGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIlZGUyBQcm9wYWdpZXJ1bmdza2VubnVuZ2VuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZHVtcCg4KS1QZXJpb2RlIGluIFRhZ2VuIFtudXIgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiWmFobCBhbiBwYXJhbGxlbGVzIGZzY2soOCkgw7xiZXJnZWJlbiBbbnVyIGbDvHIgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICJ1bmJla2FubnRlIEZ1bmt0aW9uOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCittc2dpZCAibW91bnQiCittc2dzdHIgIm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgInVtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAicmVtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAibW92ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODE0IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzcgc3lzLXV0aWxzL2VqZWN0LmM6NzE0CisjOiBzeXMtdXRpbHMvbW91bnQuYzozMjQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAibGlibW91bnQtVGFiZWxsZSBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICIlcyBrYW5uIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAibGlibW91bnQtSXRlcmF0b3Iga29ubnRlIG5pY2h0IGluaXRpYWxpc2llcnQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAibGlibW91bnQgdGFiZGlmZiBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXVxuIgorIiAlMSRzIFtPcHRpb25lbl0gPEdlcsOkdD4gfCA8RWluaMOkbmdlcHVua3Q+XG4iCisiICUxJHMgW09wdGlvbmVuXSBbPEdlcsOkdD4gPEVpbmjDpG5nZXB1bmt0Pl1cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIFstLXNvdXJjZSA8R2Vyw6R0Pl0gWy0tdGFyZ2V0IDxQZmFkPiB8IC0tbW91bnRwb2ludCA8VmVyemVpY2huaXM+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFaW4gKGVpbmdlaMOkbmd0ZXMpIERhdGVpc3lzdGVtIHN1Y2hlbi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgaW4gZGVyIHN0YXRpc2NoZW4gRGF0ZWlzeXN0ZW10YWJlbGxlIHN1Y2hlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIGluIGRlciBLZXJuZWwtVGFiZWxsZSBkZXIgZWluZ2Vow6RuZ3RlbiBEYXRlaXN5c3RlbWVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2hlbiAoVm9yZ2FiZSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgaW4gZGVyIEtlcm5lbC1UYWJlbGxlIGRlciBlaW5nZWjDpG5ndGVuIERhdGVpc3lzdGVtZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgc3VjaGVuIChWb3JnYWJlKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1wb2xsWz08TGlzdGU+XSAgIMOEbmRlcnVuZ2VuIGluIGRlciBUYWJlbGxlIGRlciBlaW5nZWjDpG5ndGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlaXN5c3RlbWUgw7xiZXJ3YWNoZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKyIgLXcsIC0tdGltZW91dCA8WmFobD4gICBvYmVyZSBHcmVuemUgaW4gTWlsbGlzZWt1bmRlbiwgYmVpIGRlciAtLXBvbGxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGJsb2NraWVydFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGFsbGUgZWluZ2ViYXV0ZW4gRmlsdGVyIGRlYWt0aXZpZXJlbiwgYWxsZSBEYXRlaXN5c3RlbWUgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIEFTQ0lJLVplaWNoZW4gZsO8ciBkaWUgRm9ybWF0aWVydW5nIGRlcyBCYXVtcyB2ZXJ3ZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBHcsO2w59lbiBpbiBCeXRlcyBhdXNnZWJlbiwgYW5zdGF0dCBpbSBtZW5zY2hlbmxlc2JhcmVuIEZvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1uby1jYW5vbmljYWxpemUgICBQZmFkZSBiZWltIFZlcmdsZWljaGVuIG5pY2h0IGthbm9uaXNpZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgUGZhZGUga2Fub25pc2llcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgZGllIEF1c2dhYmUgdm9uIGRmKDEpIGltaXRpZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIC1kLCAtLWRpcmVjdGlvbiA8V29ydD4gU3VjaHJpY2h0dW5nLCDigJ5mb3J3YXJk4oCcIG9kZXIg4oCeYmFja3dhcmTigJxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgTWFya2llcnVuZ2VuIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBHZXLDpHRlbmFtZW4gdW13YW5kZWxuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgLUYsIC0tdGFiLWZpbGUgPFBmYWQ+ICBhbHRlcm5hdGl2ZSBEYXRlaSBmw7xyIGRpZSBPcHRpb25lbiAtcywgLW0gb2RlciAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBudXIgZGFzIGVyc3RlIGdlZnVuZGVuZSBEYXRlaXN5c3RlbSBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJ0ICAgICAgICAgICBTdWNoa3JpdGVyaWVuIHVta2VocmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQgbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIHN5cy11dGlscy9sc25zLmM6OTAxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTcyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICBEYXRlbiBpbSBKU09OLUZvcm1hdCBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICBpbSBMaXN0ZW5mb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICBhbHRlcm5hdGl2ZW4gTmFtZW5zcmF1bSB2ZXJ3ZW5kZW4gKERhdGVpIC9wcm9jLzx0aWQ+L21vdW50aW5mbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBrZWluZSDDnGJlcnNjaHJpZnRlbiBhbnplaWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiAtTywgLS1vcHRpb25zIDxMaXN0ZT4gIERhdGVpc3lzdGVtZSBuYWNoIEVpbmjDpG5nZW9wdGlvbmVuIGJlZ3JlbnplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPExpc3RlPiAgICBpbiBkZXIgQXVzZ2FiZSBhbnp1emVpZ2VuZGUgU3BhbHRlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICBBdXNnYWJlZm9ybWF0IFNjaGzDvHNzZWw9XCJXZXJ0XCIgdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIEFsbGUgVW50ZXJlaW5ow6RuZ3VuZ2VuIGbDvHIgcGFzc2VuZGUgRGF0ZWlzeXN0ZW1lXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIFJvaGF1c2dhYmVmb3JtYXQgdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc291cmNlIDxaZWljaGVua2V0dGU+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgZWluenVow6RuZ2VuZGVzIEdlcsOkdCAobmFjaCBOYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDxQZmFkPiAgICBkZXIgUGZhZCB6dW0genUgdmVyd2VuZGVuZGVuIERhdGVpc3lzdGVtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRyZWUgICAgICAgICAgICAgZW5hYmxlIHRyZWUgZm9ybWF0IG91dHB1dCBpcyBwb3NzaWJsZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICBpbSBMaXN0ZW5mb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLU0sIC0tbW91bnRwb2ludCA8VmVyej4gZGFzIFd1cnplbHZlcnplaWNobmlzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8TGlzdGU+ICAgIERhdGVpc3lzdGVtZSBuYWNoIFR5cCBiZWdyZW56ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgRGF0ZWlzeXN0ZW1lIG1pdCBkb3BwZWx0ZW0gWmllbCBpZ25vcmllcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIFRleHQgaW4gU3BhbHRlbiBuaWNodCBrw7xyemVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIFsvZGlyXSBmw7xyIGJpbmQtIG9kZXIgYnRyZnMtRWluaMOkbmd1bmdlbiBuaWNodCBhbnplaWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIG51ciBlaW5lbiBNb25hdCBhdXNnZWJlbiAoVm9yZ2FiZSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgYXVzZsO8aHJsaWNoZSBEYXRlbiBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzczCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgInVuYmVrYW5udGVzIFZlcnplaWNobmlzIOKAniVz4oCcIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQ1Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFRJRC1Bcmd1bWVudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwgYWt6ZXB0aWVydCBudXIgZWluZSBEYXRlaSwgYWJlciBtaXQgLS10YWItZmlsZSB3dXJkZW4gbWVociBhbmdlZ2ViZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJEaWUgT3B0aW9uZW4gLS10YXJnZXQgdW5kIC0tc291cmNlIGvDtm5uZW4gbmljaHQgenVzYW1tZW4gbWl0IGVpbmVtIEJlZmVobHN6ZWlsZW5lbGVtZW50IHZlcndlbmRldCB3ZXJkZW4sIGRhcyBrZWluZSBPcHRpb24gaXN0LiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJsaWJtb3VudC1DYWNoZSBrb25udGUgbmljaHQgaW5pdGlhbGlzaWVydCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiU3BhbHRlICVzIHd1cmRlIGFuZ2Vmb3JkZXJ0LCBhYmVyIC0tcG9sbCBpc3QgbmljaHQgYWt0aXZpZXJ0ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJRdWVsbGUgd3VyZGUgbWVocmZhY2ggYW5nZWdlYmVuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogaXN0IGtlaW4gVmVyemVpY2huaXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzOiAlcyBpc3QgYXVmICVzIGVpbmdlaMOkbmd0LlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGVzIEFyZ3VtZW50OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBpc3Qga2VpbiBibG9ja29yaWVudGllcnRlcyBHZXLDpHQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIlF1ZWxsZ2Vyw6R0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlZGUyBQcm9wYWdpZXJ1bmdza2VubnVuZ2VuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVkZTIFByb3BhZ2llcnVuZ3NrZW5udW5nZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiUmVzc291cmNlbm9wdGlvbmVuOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGUgVmVyd2VyZnVuZ3NyZWdlbDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiUHJpb3JpdMOkdCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJkZXIgQmVmZWhsIHp1bSDDhG5kZXJuIGRlciBDRC1ST00tR2VzY2h3aW5kaWdrZWl0IHdpcmQgdm9uIGRpZXNlbSBLZXJuZWwgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE5IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAidW5iZWthbm50ZXIgRGF0ZWlzeXN0ZW10eXAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJkZXIgQmVmZWhsIHp1bSDDhG5kZXJuIGRlciBDRC1ST00tR2VzY2h3aW5kaWdrZWl0IHdpcmQgdm9uIGRpZXNlbSBLZXJuZWwgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJTa3JpcHRkYXRlaTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiRWlubGVzZWZlaGxlcjogJXMiCittc2dzdHJbMV0gIkVpbmxlc2VmZWhsZXI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBGZWhsZXIiCittc2dzdHJbMV0gIiwgRmVobGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgImxlZXJlIGxhbmdlIE9wdGlvbiBuYWNoIC1sIG9kZXIgLS1sb25nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyMworbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiVW5iZWthbm50ZSBTaGVsbCBhbHMgQXJndW1lbnQgdm9uIC1zIG9kZXIgLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyA8T3B0aW9uc3plaWNoZW5rZXR0ZT4gPFBhcmFtZXRlcj5cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIFstLV0gPE9wdGlvbnN6ZWljaGVua2V0dGU+IDxQYXJhbWV0ZXI+XG4iCisiXG4iCisiICUxJHMgW09wdGlvbmVuXSAtb3wtLW9wdGlvbnMgPE9wdGlvbnN6ZWljaGVua2V0dGU+IFtPcHRpb25lbl0gWy0tXSBQYXJhbWV0ZXJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIkJlZmVobHNvcHRpb25lbiBhdXN3ZXJ0ZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgbGFuZ2UgT3B0aW9uZW4gZMO8cmZlbiBhdWNoIG1pdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVpbmZhY2hlbSAtIGJlZ2lubmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQwCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxhbmdlb3B0PiAgenUgZXJrZW5uZW5kZSBsYW5nZSBPcHRpb25lblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDxQcm9nbmFtZT4gICAgICAgICBEZXIgTmFtZSwgZGVyIGluIEZlaGxlcm1lbGR1bmdlbiBiZW51dHp0IHdpcmRcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgenUgZXJrZW5uZW5kZSBrdXJ6ZSBPcHRpb25lblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgIEZlaGxlcm1lbGR1bmdlbiB2b24gZ2V0b3B0KDMpIHVudGVyZHLDvGNrZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgS2VpbmUgbm9ybWFsZSBBdXNnYWJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxTaGVsbD4gICAgICAgICAgIEtvbnZlbnRpb25lbiBmw7xyIFNoZWxsLVF1b3Rpbmcgc2V0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICBBdWYgZ2V0b3B0KDEpLVZlcnNpb24gdGVzdGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBkaWUgQXVzZ2FiZSBuaWNodCBxdW90ZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAiZmVobGVuZGVzIE9wdGlvbnN6ZWljaGVua2V0dGVuYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgIkludGVybmVyIEZlaGxlciwga29udGFrdGllcmVuIFNpZSBkZW4gQXV0b3IuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJVbmJla2FubnRlcyBTaWduYWwgJXM7IGfDvGx0aWdlIFNpZ25hbGU6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gPFByb3plc3MtSUQ+fE5hbWU+IOKAplxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJEaWUgQmVlbmRpZ3VuZyBlaW5lcyBQcm96ZXNzZXMgZXJ6d2luZ2VuLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGllIE5hbWUtenUtUElELVVtd2FuZGx1bmcgbmljaHQgYXVmIFByb3plc3NlIG1pdCBkZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGdsZWljaGVuIFVJRCBiZXNjaHLDpG5rZW4gd2llIGRlciBha3R1ZWxsZSBQcm96ZXNzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA8U2lnbmFsPiAgYW5nZWdlYmVuZXMgPFNpZ25hbD4gYW5zdGF0dCBTSUdURVJNIHNlbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWV1ZSA8V2VydD4gICAgIHNpZ3F1ZXVlKDIpIGFuc3RhdHQga2lsbCgyKSB2ZXJ3ZW5kZW4gdW5kIDxXZXJ0PlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgYWxzIERhdGVuIMO8YmVyZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIFBJRHMgYXVzZ2ViZW4sIG9obmUgenUgc2lnbmFsaXNpZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbGlzdCBbPTxTaWduYWw+XSBTaWduYWxuYW1lbiBhdWZsaXN0ZW4gb2RlciBlaW5lIFNpZ25hbG51bW1lclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gZWluZW4gTmFtZW4gdW13YW5kZWxuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIFNpZ25hbG5hbWVuIHVuZCAtbnVtbWVybiBhdWZsaXN0ZW5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgUHJvemVzcy1JRHMgYW56ZWlnZW4sIGRlbmVuIGVpbiBTaWduYWwgZ2VzZW5kZXQgd2lyZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNDAgbWlzYy11dGlscy9raWxsLmM6MjQ5IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAidW5iZWthbm50ZXMgU2lnbmFsOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjYwIG1pc2MtdXRpbHMva2lsbC5jOjI2MyBtaXNjLXV0aWxzL2tpbGwuYzoyNzIKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NCBtaXNjLXV0aWxzL2tpbGwuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzIHVuZCAlcyBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJGZWhsZXIgaW4gZGVuIEFyZ3VtZW50ZW4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIlVuZ8O8bHRpZ2VyIFNpZ25hbG5hbWUgb2RlciAtbnVtbWVyOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICJTaWduYWwgJWQgd2lyZCBhbiBQcm96ZXNzLUlEICVkIGdlc2VuZGV0XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIlNlbmRlbiBkZXMgU2lnbmFscyBhbiAlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAiRGVyIFByb3plc3Mg4oCeJXPigJwga29ubnRlIG5pY2h0IGdlZnVuZGVuIHdlcmRlbi4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIlVuYmVrYW5udGVyIEVpbnJpY2h0dW5nc25hbWU6ICVzLiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAiVW5iZWthbm50ZXIgUHJpb3JpdMOkdHNuYW1lOiAlcy4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvcGVubG9nICVzOiBQZmFkbmFtZSB6dSBsYW5nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIlNvY2tldCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiUmVjaG5lcm5hbWUgJXMsIFBvcnQgJXMga29ubnRlIG5pY2h0IGF1ZmdlbMO2c3Qgd2VyZGVuOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiVmVyYmluZHVuZyB6dSAlcyBQb3J0ICVzIGtvbm50ZSBuaWNodCBhdWZnZWJhdXQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIk1heGltYWxlIEVpbmdhYmV6ZWlsZW4gKCVkKSDDvGJlcnNjaHJpdHRlbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJEYXMgU2VuZGVuIGRlciBOYWNocmljaHQgd2FyIG5pY2h0IG3DtmdsaWNoIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICJkaWUgSUQgZsO8ciBzdHJ1a3R1cmllcnRlIERhdGVuIOKAniVz4oCcIGlzdCBuaWNodCBlaW5kZXV0aWciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgImVzIHd1cmRlIGbDvHIgLS1zZC1wYXJhbSAlcyBrZWluIC0tc2QtaWQgYW5nZWdlYmVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2OAorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAibG9jYWx0aW1lKCkgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIlJlY2huZXJuYW1lIOKAniVz4oCcIGlzdCB6dSBsYW5nLiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIlRhZyDigJ4lc+KAnCBpc3QgenUgbGFuZyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJVbmJla2FubnRlcyBPcHRpb25zYXJndW1lbnQgd2lyZCBpZ25vcmllcnQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAidW56dWzDpHNzaWdlcyBBcmd1bWVudDogJXM6IGF1dG9tYXRpc2NoZSBGZWhsZXIgd2VyZGVuIHZlcndlbmRldCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxNZWxkdW5nPl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMzCittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiTWVsZHVuZ2VuIGluIGRhcyBTeXN0ZW1wcm90b2tvbGwgZWluZ2ViZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGRpZSBQSUQgZGVzIExvZ2dlcnMgaW0gUHJvdG9rb2xsIGZlc3RoYWx0ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3Cittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAgICAgLS1pZFs9PElEPl0gICAgICAgPElEPiBwcm90b2tvbGxpZXJlbiAoVm9yZ2FiZSBpc3QgUHJvemVzcy1JRClcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8RGF0ZWk+ICAgICAgIGRlbiBJbmhhbHQgZGllc2VyIERhdGVpIHByb3Rva29sbGllcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBiZWltIFZlcmFyYmVpdGVuIGRlciBEYXRlaWVuIGxlZXJlIFplaWxlbiBuaWNodCBwcm90b2tvbGxpZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgYWxsZXMgYXXDn2VyIGRlbSBTY2hyZWliZW4gZGVzIFByb3Rva29sbHMgYXVzZsO8aHJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDEKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxQcmlvPiAgICBhbmdlZ2ViZW5lIE5hY2hyaWNodCBtaXQgZGllc2VyIFByaW9yaXTDpHQgbWFya2llcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgIE9rdGV0ZSBuYWNoIFJGQzY1ODcgesOkaGxlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJpby1wcmVmaXggICAgIG5hY2ggZWluZW0gUHLDpGZpeCBpbiBqZWRlciBkZXIgYXVzIGRlciBTdGFuZGFyZGVpbmdhYmVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIGdlbGVzZW5lbiBaZWlsZW4gc3VjaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIE5hY2hyaWNodCBhdWNoIGluIGRpZSBTdGFuZGFyZC1GZWhsZXJhdXNnYWJlIGxlaXRlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8R3LDtsOfZT4gICAgICAgbWF4aW1hbGUgR3LDtsOfZSBlaW5lcyBlaW56ZWxuZW4gRWludHJhZ3NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDxNYXJrZXI+ICAgICAgIGplZGUgWmVpbGUgbWl0IGRpZXNlciBNYXJraWVydW5nIHZlcnNlaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxOYW1lPiAgICAgIGF1ZiBkaWVzZW4gZW50ZmVybnRlbiBTeXNsb2ctU2VydmVyIHNjaHJlaWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPE51bW1lcj4gICAgICBkaWVzZW4gVURQLVBvcnQgdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgbnVyIFRDUCB2ZXJ3ZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUwCittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICBudXIgVURQIHZlcndlbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIGRhcyB2ZXJhbHRldGUgQlNELVN5c3RlbXByb3Rva29sbCB2ZXJ3ZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUyCittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisiICAgICAtLXJmYzU0MjRbPTxNb2R1cz5dICAgZGFzIFN5c2xvZ3Byb3Rva29sbCB2ZXJ3ZW5kZW4gKFZvcmdhYmUgZsO8ciBlbnRmZXJudGVzIFByb3Rva29sbGllcmVuKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPE1vZHVzPiBrYW5uIG5vdGltZSwgbm90cSB1bmQvb2RlciBub2hvc3Qgc2VpblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgZGllIFJGQzU0MjQgTG9nLUlEIHNldHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxEYXRlbj4gICBOYW1lIGRlciBzdHJ1a3RndXJpZXJ0ZW4gRGF0ZW4gbmFjaCByZmM1NDI0PVdlcnRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgZGllIFJGQzU0MjQgTG9nLUlEIHNldHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTcKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA8U29ja2V0PiBhdWYgZGllc2VuIFVuaXgtU29ja2V0IHNjaHJlaWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTgKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJiaW5kdW5nc2ZlaGxlciBiZWkgZGVyIEJlbnV0enVuZyB2b24gVW5peC1Tb2NrZXRzIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA2MQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiICAgICAtLWpvdXJuYWxkWz08RGF0ZWk+XSBqb3VybmFsZC1FaW50cmFnIHNjaHJlaWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiRGF0ZWkgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE2MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiSUQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJEaWUgR3LDtsOfZSBlaW5lcyBFaW50cmFncyBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxNQorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIi0tbXNnaWQgZGFyZiBrZWluZSBMZWVyemVpY2hlbiBlbnRoYWx0ZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAidW5nw7xsdGlnZSBMb2ctSUQ6IOKAniVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJ1bmfDvGx0aWdlciBMb2ctUGFyYW1ldGVyOiDigJ4lc+KAnSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxEYXRlaT4gdW5kIDxNZWxkdW5nPiBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzLCBkaWUgTWVsZHVuZyB3aXJkIGlnbm9yaWVydCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgImRlciBqb3VybmFsZC1FaW50cmFnIGtvbm50ZSBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFplaWNoZW5rZXR0ZSBbPERhdGVpPiDigKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJaZWlsZW4gYW56ZWlnZW4sIGRpZSBtaXQgZGVyIGFuZ2VnZWJlbmVuIFplaWNoZW5rZXR0ZSBiZWdpbm5lbi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICBkYXMgYWx0ZXJuYXRpdmUgV8O2cnRlcmJ1Y2ggdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBudXIgYWxwaGFudW1lcmlzY2hlIFplaWNoZW4gdW5kIExlZXJ6ZWljaGVuIHZlcmdsZWljaGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OAorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBHcm/Dny0vS2xlaW5zY2hyZWlidW5nIGJlaW0gVmVyZ2xlaWNoIGlnbm9yaWVyZW5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY5Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC10LCAtLXRlcm1pbmF0ZSA8WmVpY2guPiBsZWd0IGRhcyBBYnNjaGx1c3N6ZWljaGVuIGVpbmVyIFplaWNoZW5rZXR0ZSBmZXN0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiR2Vyw6R0ZW5hbWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybmVyIEtlcm5lbC1HZXLDpHRlbmFtZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybmVyIEtlcm5lbC1HZXLDpHRlbmFtZSBkZXMgw7xiZXJnZW9yZG5ldGVuIEdlcsOkdHMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiRWluaMOkbmdlb3J0IGRlcyBHZXLDpHRlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2OCBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNAorbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgIkRhdGVpc3lzdGVtLUJFWkVJQ0hOVU5HIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cC1VVUlEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJQYXJ0aXRpb25zLUJFWkVJQ0hOVU5HIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJSZWFkLWFoZWFkLUNhY2hlIGRlcyBHZXLDpHRzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3IHN5cy11dGlscy9sb3NldHVwLmM6NzcKK21zZ2lkICJyZWFkLW9ubHkgZGV2aWNlIgorbXNnc3RyICJOdXItTGVzZS1HZXLDpHQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJlbnRmZXJuYmFyZXMgR2Vyw6R0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiV2VjaHNlbGRhdGVudHLDpGdlciBvZGVyIEhvdHBsdWctR2Vyw6R0IChVU0IsIFBDTUNJQSDigKYpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIlJvdGF0aW9uc2dlcsOkdCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAidmVyZ3LDtsOfZXJ0IGRpZSBadWbDpGxsaWdrZWl0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIkdlcsOkdGViZXplaWNobmVyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJGZXN0cGxhdHRlbi1TZXJpZW5udW1tZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIkdyw7bDn2UgZGVzIEdlcsOkdHMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJTdGF0dXMgZGVzIEdlcsOkdHMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJHcnVwcGVubmFtZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICJHZXLDpHRla25vdGVuLUJlcmVjaHRpZ3VuZ2VuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiQXVzcmljaHR1bmdzLVBvc2l0aW9uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiTWluaW1hbGUgRS9BLUdyw7bDn2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJPcHRpbWFsZSBFL0EtR3LDtsOfZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJwaHlzaXNjaGUgU2VrdG9yZ3LDtsOfZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImxvZ2lzY2hlIFNla3Rvcmdyw7bDn2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIk5hbWUgZGVzIEUvQS1TY2hlZHVsZXJzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICJHcsO2w59lIGRlciBXYXJ0ZXNjaGxhbmdlIGbDvHIgQW5mb3JkZXJ1bmdlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJHZXLDpHRldHlwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJkZW4gQXVzcmljaHR1bmdzb2Zmc2V0IHZlcndlcmZlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgImRpZSBHcmFudWxhcml0w6R0IHZlcndlcmZlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICJkaWUgbWF4aW1hbGVuIEJ5dGVzIHZlcndlcmZlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIkRhdHRlbiBmw7xyIE51bGxlbiB2ZXJ3ZXJmZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiZGllIHNlbGJlbiBtYXhpbWFsZW4gQnl0ZXMgd2VyZGVuIGdlc2NocmllYmVuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiZWluZGV1dGlnZXIgU3BlaWNoZXJiZXplaWNobmVyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAzCittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIkhvc3Q6S2FuYWw6WmllbDpMVU4gZsO8ciBTQ1NJIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICJUcmFuc3BvcnR0eXAgZGVzIEdlcsOkdGVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICJkZWR1cGxpemllcnRlIEtldHRlIHZvbiBTdWJzeXN0ZW1lbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiR2Vyw6R0ZXJldmlzaW9uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiR2Vyw6R0ZWhlcnN0ZWxsZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDgKK21zZ2lkICJ6b25lIG1vZGVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjkyCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiR2Vyw6R0ZXZlcnplaWNobmlzIGluIHN5c2ZzIGtvbm50ZSBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IHN5c2ZzLVBmYWQga29ubnRlIG5pY2h0IGVyc3RlbGx0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBMZXNlbiBlaW5lciBWZXJrbsO8cGZ1bmcgZmVobHNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogc3lzZnMtTmFtZSBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogR2Vyw6R0ZW51bW1lciBmw7xyIGRhcyBHZXNhbXRsYXVmd2VyayBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NjcgbWlzYy11dGlscy9sc2Jsay5jOjE1NjkgbWlzYy11dGlscy9sc2Jsay5jOjE1OTQKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIkxpc3RlIOKAniVz4oCcIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJEaWUgTGlzdGUgYXVzZ2VzY2hsb3NzZW5lciBHZXLDpHRlIGlzdCB6dSBsYW5nIChNYXhpbXVtIGlzdCAlZCBHZXLDpHRlKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJEaWUgTGlzdGUgZWluYmV6b2dlbmVyIEdlcsOkdGUgaXN0IHp1IGxhbmcgKE1heGltdW0gaXN0ICVkIEdlcsOkdGUpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMyBzeXMtdXRpbHMvd2RjdGwuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbPEdlcsOkdD4g4oCmXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dSBibG9ja29yaWVudGllcnRlbiBHZXLDpHRlbiBhdXNnZWJlbi5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGFsbGUgR2Vyw6R0ZSBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIiCisiIC1kLCAtLW5vZGVwcyAgICAgICAgIGtlaW5lIHVudGVyLSBvZGVyIMO8YmVyZ2VvcmRuZXRlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIEdlcsOkdGUgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIFZlcndlcmZ1bmdzZsOkaGlna2VpdGVuIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBudXIgT2ZmbGluZS1DUFVzIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ0Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIC1lLCAtLWV4Y2x1ZGUgPExpc3RlPiAgIEdlcsOkdGUgbmFjaCBNYWpvci1OdW1tZXIgYXVzY2hsaWXDn2VuIChWb3JnYWJlOiBSQU0tRGlza3MpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICBJbmZvcyDDvGJlciBEYXRlaXN5c3RlbWUgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgLWksIC0tYXNjaWkgICAgICAgICAgbnVyIEFTQ0lJLVplaWNoZW4gdmVyd2VuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1JLCAtLWluY2x1ZGUgPExpc3RlPiAgIG51ciBHZXLDpHRlIG1pdCBhbmdlZ2ViZW5lbiBNYWpvci1OdW1tZXJuIGFuemVpZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgaW0gSlNPTi1Gb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgaW0gTGlzdGVuZm9ybWF0IGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10cmVlICAgICAgICAgICB1c2UgdHJlZSBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBpbSBMaXN0ZW5mb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTEKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgIEluZm9ybWF0aW9uIHp1IFp1Z3JpZmZzcmVjaHRlbiBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MiBzeXMtdXRpbHMvbHNtZW0uYzo1MDYKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGtlaW5lIMOcYmVyc2NocmlmdGVuIGFuemVpZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUzIHN5cy11dGlscy9sc21lbS5jOjUwNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gU3BhbHRlbiBkZXIgQXVzZ2FiZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dC1hbGwgICAgIGFsbGUgU3BhbHRlbiBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXAsIC0tcGF0aHMgICAgICAgICAgdm9sbHN0w6RuZGlnZW4gR2Vyw6R0ZXBmYWQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTgKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIEFiaMOkbmdpZ2tlaXRlbiB1bWtlaHJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgIEluZm9ybWF0aW9uIHp1IFNDU0ktR2Vyw6R0ZW4gYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIC10LCAtLXRvcG9sb2d5ICAgICAgIEluZm9ybWF0aW9uIHp1ciBUb3BvbG9naWUgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPFNwYWx0ZT4gIEF1c2dhYmUgbmFjaCA8U3BhbHRlPiBzb3J0aWVyZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJBdWYgc3lzZnMtVmVyemVpY2huaXMga29ubnRlIG5pY2h0IHp1Z2VncmlmZmVuIHdlcmRlbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJCZWZlaGwgZGVzIFByb3plc3NlcywgZGVyIGRpZSBTcGVycmUgaMOkbHQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBkZXMgUHJvemVzc2VzLCBkZXIgZGllIFNwZXJyZSBow6RsdCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICJHcsO2w59lIGRlciBTcGVycmUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAiR3LDtsOfZSBkZXIgU3BlcnJlIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIlp1Z3JpZmZzbW9kdXMgZsO8ciBkaWUgU3BlcnJlIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIlp3aW5nZW5kIGVyZm9yZGVybGljaGVyIFN0YXR1cyBkZXIgU3BlcnJlOiAwIChrZWluZXIpLCAxIChmZXN0Z2VsZWd0KSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAicmVsYXRpdmUgQnl0ZS1Qb3NpdGlvbiBkZXIgU3BlcnJ1bmciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiRW5kLVBvc2l0aW9uIGRlciBTcGVycmUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIlBmYWQgZGVyIGdlc3BlcnJ0ZW4gRGF0ZWkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgZGVzIFByb3plc3NlcywgZGVyIGRpZSBTcGVycmUgaMOkbHQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiSUQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyNjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJQSUQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIih1bmJla2FubnQpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIkVpbmxlc2VuIGRlcyBBbmZhbmdzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJFaW5sZXNlbiBkZXMgRW5kZXMgZmVobGdlc2NobGFnZW4iCisKKyMgInN0ZWxsZW4iCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTgKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiTG9rYWxlIFN5c3RlbXNwZXJyZW4gYXVmbGlzdGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBrZWluZSDDnGJlcnNjaHJpZnRlbiBhbnplaWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8TGlzdGU+ICAgZGllIHp1IHZlcndlbmRlbmRlbiBBdXNnYWJlc3BhbHRlbiBmZXN0bGVnZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPFBJRD4gICAgICAgIG51ciBkaWUgdm9uIGRpZXNlbSBQcm96ZXNzIGdlaGFsdGVuZW4gU3BlcnJlbiBhbnplaWdlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgUm9oYXVzZ2FiZWZvcm1hdCB2ZXJ3ZW5kZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFBJRC1Bcmd1bWVudCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiTWFnaXNjaGUgQ29va2llcyBmw7xyIHhhdXRoIGVyemV1Z2VuLlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8RGF0ZWk+ICAgIERhdGVpIGFscyBDb29raWUtUXVlbGxlIHZlcndlbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDxaYWhsPiAgYmVncmVuenQsIHdpZSB2aWVsIGF1cyBRdWVsbGRhdGVpZW4gZ2VsZXNlbiB3aXJkXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGVya2zDpHJlbiB3YXMgZ2VtYWNodCB3aXJkXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJXp1IEJ5dGUgYXVzICVzIGdlbGVzZW5cbiIKK21zZ3N0clsxXSAiJXp1IEJ5dGVzIGF1cyAlcyBnZWxlc2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiU2NobGllw59lbiB2b24gJXMgZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzEwCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJMw6RuZ2Uga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICItLW1heC1zaXplIHdpcmQgaWdub3JpZXJ0LCB3ZW5uIGVzIG9obmUgLS1maWxlIHZlcndlbmRldCB3aXJkLiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJWQgQnl0ZSBhdXMgJXMgZ2VsZXNlblxuIgorbXNnc3RyWzFdICIlZCBCeXRlcyBhdXMgJXMgZ2VsZXNlblxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIkxlc2VuIGRlciBWZXJrbsO8cGZ1bmcgZmVobGdlc2NobGFnZW46ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIlcyAtIEtlaW5lIGRlcmFydGlnZSBEYXRlaSBvZGVyIFZlcnplaWNobmlzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxQZmFkbmFtZT4g4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJFaW5lbSBQZmFkbmFtZW4gYmlzIHp1IGVpbmVtIEVuZHB1bmt0IGZvbGdlbi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIiCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGRpZXNlbiBIaWxmZXRleHQgYW56ZWlnZW5cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBWZXJzaW9uaW5mb3JtYXRpb24gYXVzZ2ViZW4gdW5kIGJlZW5kZW5cbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBWZXJ6ZWljaG5pc3NlIGRlciBFaW5ow6RuZ2VwdW5rdGUgbWl0IOKAnkTigJwgYW56ZWlnZW5cbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBNb2R1cy1CaXRzIGplZGVyIERhdGVpIGFuemVpZ2VuXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgRWlnZW50w7xtZXIgdW5kIEdydXBwZSBqZWRlciBEYXRlaSBhbnplaWdlblxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIGxhbmdlcyBMaXN0ZW5mb3JtYXQgdmVyd2VuZGVuKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBzeW1ib2xpc2NoZW4gTGlua3MgbmljaHQgZm9sZ2VuXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGlrYWxlIEFub3JkbnVuZyBkZXIgTW9kaSB1bmQgRWlnZW50w7xtZXJcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgIlBmYWRuYW1lLUFyZ3VtZW50IGZlaGx0IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgIlNwZWljaGVyIGbDvHIgZGFzIFVJRC1DYWNoZSBrb25udGUgbmljaHQgcmVzZXJ2aWVydCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJTcGVpY2hlciBmw7xyIGRhcyBHSUQtQ2FjaGUga29ubnRlIG5pY2h0IHJlc2VydmllcnQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IEFuemFobCBkZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZ2VuIMO8YmVyc2Nocml0dGVuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczoga2VpbmUgc3ltYm9saXNjaGUgVmVya27DvHBmdW5nIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkbGluayBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IFRyZW5uZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogVmVya27DvHBmdW5nIHp1ICVzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICLigKYgU3BydW5nIHp1IERhdGVpIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IFVtYmVuZW5udW5nIGluICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gPEF1c2RydWNrPiA8RXJzZXR6dW5nPiA8RGF0ZWk+IOKAplxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiRGF0ZWllbiB1bWJlbmVubmVuLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGVya2zDpHJlbiB3YXMgZ2VtYWNodCB3aXJkXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAtcywgLS1zeW1saW5rICAgIG1pdCBkZW0gWmllbCBkZXIgc3ltYm9saXNjaGVuIFZlcmtuw7xwZnVuZyBhcmJlaXRlblxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAga2VpbmUgw5xiZXJzY2hyaWZ0ZW4gYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDQKK21zZ2lkICIgLW8sIC0tbm8tb3ZlcndyaXRlICBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiRWluIERhZW1vbiB6dW0gRXJ6ZXVnZW4gdm9uIFVVSURzLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxQZmFkPiAgICAgICAgZGVyIFBmYWQgenVyIFBJRC1EYXRlaVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNvY2tldCA8UGZhZD4gICAgIFBmYWQgenVtIFVuaXgtU29ja2V0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OAorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLVQsIC0tdGltZW91dCA8U2VrPiAgICAgV2FydGV6ZWl0IGJpcyB6dW0gQWJicnVjaCB3ZWdlbiBVbnTDpHRpZ2tlaXRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGRlbiBsYXVmZW5kZW4gRMOkbW9uIGFic2NoaWXDn2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgICAgICBkaWUgenVmYWxsc2Jhc2llcnRlIEVyemV1Z3VuZyB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICBkaWUgemVpdGJhc2llcnRlIEVyemV1Z3VuZyB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtbiwgLS11dWlkcyA8QW56YWhsPiAgICBBbnphaGwgZGVyIGdld8O8bnNjaHRlbiBVVUlEcyBhbmdlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBrZWluZSBQSUQtRGF0ZSBhbmxlZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIHZvciBkZXIgQXVzZsO8aHJ1bmcgZGVzIDxQcm9ncmFtbXM+IG5pY2h0IGZvcmtlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBrZWluZW4gQWt0aXZpZXJ1bmdkcy1Tb2NrZXQgZXJ6ZXVnZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgYXVzZsO8aHJsaWNoZSBNZWxkdW5nZW4gYW4gZGllIEZlaGxlcmF1c2dhYmUgbGVpdGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgenVzw6R0emxpY2hlIEluZm9tZWxkdW5nZW4gdW50ZXJkcsO8Y2tlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTA5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgIlNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgInZlcmJpbmRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworbXNnaWQgIndyaXRlIgorbXNnc3RyICJzY2hyZWliZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJMZXNlesOkaGx3ZXJ0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiZmFsc2NoZSBBbnR3b3J0bMOkbmdlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICIlcyBrb25udGUgbmljaHQgZ2VzcGVycnQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAiVW5peC1EYXRlbnN0cm9tLVNvY2tldCBrb25udGUgbmljaHQgZXJ6ZXVndCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiVW5peC1Tb2NrZXQgJXMga29ubnRlIG5pY2h0IGdlYnVuZGVuIHdlcmRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICJlbXBmYW5nZW4gZGVzIFNpZ25hbHMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJaZWl0IMO8YmVyc2Nocml0dGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgImRlciBUaW1lciBrYW5uIG5pY2h0IGtvbmZpZ3VyaWVydCB3ZXJkZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgIlVVSURELURpZW5zdCBsw6R1ZnQgYmVyZWl0cyBtaXQgUElEICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiYW4gVU5JWC1Tb2NrZXQgJXMga2FubiBuaWNodCBnZWxhdXNjaHQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAiRGF0ZWkga29ubnRlIG5pY2h0IGdla8O8cnp0IHdlcmRlbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzcKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZF9saXN0ZW5fZmRzKCkgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgwCittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgImtlaW4gRGF0ZWlkZXNrcmlwdG9yIGVtcGZhbmdlbiwgYml0dGUgYmVycHLDvGZlbiBTaWUgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJrZWluZSBvZGVyIHp1IHZpZWxlIERhdGVpZGVza3JpcHRvcmVuIGVtcGZhbmdlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIlplaXTDvGJlcnNjaHJlaXR1bmcgWyVkIFNla3VuZGVuXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAiTGVzZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIkZlaGxlciBiZWltIExlc2VuIHZvbSBDbGllbnQsIGxlbiA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiVm9yZ2FuZyAlZCwgZWludHJlZmZlbmRlIEFuemFobCA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk9wZXJhdGlvbiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIlplaXRiYXNpZXJ0ZSBVVUlEIHd1cmRlIGVyemV1Z3Q6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICJadWbDpGxsaWdlIFVVSUQgd3VyZGUgZXJ6ZXVndDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIlplaXRiYXNpZXJ0ZSBVVUlEICVzIHVuZCAlZCBmb2xnZW5kZSBlcnpldWd0XG4iCittc2dzdHJbMV0gIlplaXRiYXNpZXJ0ZSBVVUlEICVzIHVuZCAlZCBmb2xnZW5kZSBlcnpldWd0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiJWQgVVVJRCBlcnpldWd0OlxuIgorbXNnc3RyWzFdICIlZCBVVUlEcyBlcnpldWd0OlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIlVuZ8O8bHRpZ2UgT3BlcmF0aW9uICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgInVuZXJ3YXJ0ZXRlIEFudHdvcnRsw6RuZ2Ugdm9tIFNlcnZlciAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjU5MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICItLXV1aWRzIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIlVVSUREIHd1cmRlIG9obmUgVW50ZXJzdMO8dHp1bmcgZsO8ciBTb2NrZXQtQWt0aXZpZXJ1bmcgZXJzdGVsbHQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5sZXNlbiB2b24gLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIkRhdGVudHLDpGdlcm5hbWUgaXN0IHp1IGxhbmciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDcKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICItLXNvY2tldC1hY3RpdmF0aW9uIHVuZCAtLXNvY2tldCB3dXJkZW4genVnbGVpY2ggYW5nZWdlYmVuLCAtLXNvY2tldCB3aXJkIGlnbm9yaWVydC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJGZWhsZXIgYmVpbSBBdWZydWYgZGVzIHV1aWRkLURpZW5zdGVzICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgInVuZXJ3YXJ0ZXRlciBGZWhsZXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyB1bmQgJWQgbmFjaGZvbGdlbmRlIFVVSURcbiIKK21zZ3N0clsxXSAiJXMgdW5kICVkIG5hY2hmb2xnZW5kZSBVVUlEc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIkxpc3RlIGRlciBVVUlEczpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJ1dWlkZCBsYXVmZW5kIG1pdCBwaWQgJWQga29ubnRlIG5pY2h0IGFiZ2V3w7xyZ3Qgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAidXVpZGQgbGF1ZmVuZCBtaXQgcGlkICVkIGFiZ2V3w7xyZ3QuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIkVpbmVuIG5ldWVuIFVVSUQtV2VydCBlcnN0ZWxsZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgICAgICBkaWUgenVmYWxsc2Jhc2llcnRlIEVyemV1Z3VuZyB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICBkaWUgemVpdGJhc2llcnRlIEVyemV1Z3VuZyB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBhbGxlIEdlcsOkdGUgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAtcyAgLS1zaGFyZWQgICAgICAgICAgICAgcmljaHRldCBlaW5lIGdlbWVpbnNhbWUgU3BlcnJlIGVpblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnQgICAgICAgICAgIFN1Y2hrcml0ZXJpZW4gdW1rZWhyZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAiZWluZGV1dGlnZXIgU3BlaWNoZXJiZXplaWNobmVyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAiUGFydGl0aW9uc25hbWUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBuYW1lIgorbXNnc3RyICJOZXVlciBOYW1lIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8RGF0ZWk+IOKAplxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICBEYXRlbiBpbSBKU09OLUZvcm1hdCBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAga2VpbmUgw5xiZXJzY2hyaWZ0ZW4gYW56ZWlnZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICAgaW4gZGVyIEF1c2dhYmUgYW56dXplaWdlbmRlIFNwYWx0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgUm9oYXVzZ2FiZWZvcm1hdCB2ZXJ3ZW5kZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQiCittc2dzdHIgInVuZ8O8bHRpZ2UgS2VubnVuZyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxODYKK21zZ2lkICJvdGhlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5NworbXNnaWQgIm5pbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwMgorbXNnaWQgInRpbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDgKK21zZ2lkICJuYW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjExCittc2dpZCAicmFuZG9tIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE0Cittc2dpZCAic2hhMS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI2NyBtaXNjLXV0aWxzL3dpcGVmcy5jOjE3MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzIyCisjOiBzeXMtdXRpbHMvbHNucy5jOjgwNiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5NgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIkF1c2dhYmVzcGFsdGUga29ubnRlIG5pY2h0IGluaXRpYWxpc2llcnQgd2VyZGVuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFstQk1TIDxWZXJ6ZWljaG5pcz7igKYgLWZdIDxOYW1lPlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiTmFjaCBkZXIgIEJpbsOkcmRhdGVpLCBkZW4gUXVlbGx0ZXh0ZW4gdW5kIEhhbmRidWNoc2VpdGVuIGVpbmVzIEJlZmVobHMgc3VjaGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1iICAgICAgICAgbnVyIG5hY2ggQmluw6RyZGF0ZWllbiBzdWNoZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtQiA8VmVyej4gIFN1Y2hwZmFkIGbDvHIgQmluw6RyZGF0ZWllbiBmZXN0bGVnZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgIG51ciBuYWNoIEhhbmRiw7xjaGVybiB1bmQgSU5mb3JtYXRpb25lbiBzdWNoZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPFZlcno+ICBTdWNocGZhZCBmw7xyIEhhbmRidWNoc2VpdGVuIGZlc3RsZWdlblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIgLXMgICAgICAgICBudXIgbmFjaCBRdWVsbGVuIHN1Y2hlblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLVMgPFZlcno+ICBTdWNocGZhZCBmw7xyIFF1ZWxsZGF0ZWllbiBmZXN0bGVnZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjExCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAtZiAgICAgICAgIDxWZXJ6PiBBcmd1bWVudGxpc3RlIGJlZW5kZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgbmFjaCB1bsO8YmxpY2hlbiBFaW50csOkZ2VuIHN1Y2hlblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBlZmZla3RpdmUgU3VjaHBmYWRlIGF1c2dlYmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjY0OAorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJEaWUgT3B0aW9uIOKAni1m4oCcIGZlaGx0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJEYXRlaXN5c3RlbS1VVUlEIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICJ1bmfDvGx0aWdlIElub2RlLVBvc2l0aW9uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOAorIywgZnV6enkKK21zZ2lkICJ0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJNYXJraWVydW5nc2Jlc2NocmVpYnVuZyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2sgZGV2aWNlIG5hbWUiCittc2dzdHIgIk5hbWUgZGVzIExvb3AtR2Vyw6R0cyAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi10YWJsZSIKK21zZ3N0ciAiUGFydGl0aW9uc3RhYmVsbGUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgIkZlaGxlcjogJXM6IEluaXRpYWxpc2llcnVuZyBkZXIgU3VjaGUgaXN0IGdlc2NoZWl0ZXJ0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IEzDtnNjaGVuIGRlcyBtYWdpc2NoZW4gJXMtU3RyaW5ncyBhbiBQb3NpdGlvbiAweCUwOGp4IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogJXpkIEJ5dGUgd3VyZGUgYW4gUG9zaXRpb24gMHglMDhqeCBnZWzDtnNjaHQgKCVzKTogIgorbXNnc3RyWzFdICIlczogJXpkIEJ5dGVzIHd1cmRlbiBhbiBQb3NpdGlvbiAweCUwOGp4IGdlbMO2c2NodCAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IFNpY2hlcnVuZyBkZXIgU2lnbmF0dXIga29ubnRlIG5pY2h0IGVyc3RlbGx0IHdlcmRlbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiBpb2N0bCB3aXJkIGF1ZmdlcnVmZW4sIHVtIGRpZSBQYXJ0aXRpb25zdGFiZWxsZSBuZXUgZWluenVsZXNlbjogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJTaWNoZXJ1bmcgZGVyIFNpZ25hdHVyIGtvbm50ZSBuaWNodCBlcnN0ZWxsdCB3ZXJkZW4sICRIT01FIGlzdCBuaWNodCBkZWZpbmllcnQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiB2ZXJzY2hhY2h0ZWx0ZSDigJ4lc+KAnC1QYXJ0aXRpb25zdGFiZWxsZSBhdWYgbmljaHQtZ2FuemVyIFBsYXR0ZSB3aXJkIGlnbm9yaWVydCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBQb3NpdGlvbiAweCVqeCBuaWNodCBnZWZ1bmRlbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1ODAKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiQmVudXR6ZW4gU2llIGRpZSBPcHRpb24gLS1mb3JjZSwgdW0gZGFzIEzDtnNjaGVuIHp1IGVyendpbmdlbi4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAiU2lnbmF0dXJlbiB2b24gZWluZW0gR2Vyw6R0IGzDtnNjaGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBhbGxlIEdlcsOkdGUgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAiU2ljaGVydW5nIGRlciBTaWduYXR1ciBrb25udGUgbmljaHQgZXJzdGVsbHQgd2VyZGVuLCAkSE9NRSBpc3QgbmljaHQgZGVmaW5pZXJ0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICDDnGJlcnByw7xmdW5nIGVyendpbmdlblxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGtlaW5lIMOcYmVyc2NocmlmdGVuIGFuemVpZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgaW0gSlNPTi1Gb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgYWxsZXMgYXXDn2VyIGRlbSBTY2hyZWliZW4gZGVzIFByb3Rva29sbHMgYXVzZsO8aHJlblxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxaYWhsPiAgUG9zaXRpb24gZsO8ciBCZXJlaWNoc29wZXJhdGlvbmVuLCBpbiBCeXRlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNQorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGxpc3Q+IENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTxMaXN0ZT5dICAgaW4gYXVzd2VydGJhcmVtIEZvcm1hdCBhdXNnZWJlblxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHp1c8OkdHpsaWNoZSBJbmZvbWVsZHVuZ2VuIHVudGVyZHLDvGNrZW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPExpc3RlPiAgICBEYXRlaXN5c3RlbWUgbmFjaCBUeXAgYmVncmVuemVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgImRpZSBPcHRpb24gLS1iYWNrdXAgaXN0IGluIGRpZXNlbSBLb250ZXh0IHdpcmt1bmdzbG9zIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkRpZSBFL0EtU2NoZWR1bGluZy1LbGFzc2UgdW5kIFByaW9yaXTDpHQgdm9uIFByb3plc3NlbiBzZXR6ZW4gb2RlciBlcm1pdHRlbG4uXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIlJlZ2VsbiBzZXR6ZW46XG4iCisiICBjaHJ0IFtPcHRpb25lbl0gPFByaW9yaXTDpHQ+IDxCZWZlaGw+IFs8QXJnPiDigKZdXVxuIgorIiAgY2hydCBbT3B0aW9uZW5dIC1wIDxQcmlvcml0w6R0PiA8UElEPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIlJlZ2VsbiBlcm1pdHRlbG46XG4iCisiIGNocnQgW09wdGlvbmVuXSAtcCA8UElEPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiUmVnZWwtT3B0aW9uZW46XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiAtbiwgLS1iYXRjaCAgICAgICAgICBSaWNodGxpbmllIGF1ZiBTQ0hFRF9CQVRDSCBzZXR6ZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYWRsaW5lICAgICAgIFJpY2h0bGluaWUgYXVmIFNDSEVEX0RFQURMSU5FIHNldHplblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtZiwgLS1maWZvICAgICAgICAgICBSaWNodGxpbmllIGF1ZiBTQ0hFRF9GSUZPIHNldHplblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtaSwgLS1pZGxlICAgICAgICAgICBSaWNodGxpbmllIGF1ZiBTQ0hFRF9JRExFIHNldHplblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIgLW8sIC0tb3RoZXIgICAgICAgICAgUmljaHRsaW5pZSBhdWYgU0NIRURfT1RIRVIgc2V0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXIsIC0tcnIgICAgICAgICAgICAgUmljaHRsaW5pZSBhdWYgU0NIRURfUlIgc2V0emVuIChWb3JnYWJlfVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIlNjaGVkdWxpbmctT3B0aW9uZW46XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIFNDSEVEX1JFU0VUX09OX0ZPUksgZsO8ciBGSUZPIG9kZXIgUlIgc2V0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBMYXVmemVpdC1QYXJhbWV0ZXIgZsO8ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBQZXJpb2Rlbi1QYXJhbWV0ZXIgZsO8ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IERlYWRsbmUtUGFyYW1ldGVyIGbDvHIgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiQW5kZXJlIE9wdGlvbmVuOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbC10YXNrcyAgICAgIEFsbGUgVGFza3MgKFRocmVhZHMpIGVpbmVyIGdlZ2ViZW5lbiBQSUQgYmVhcmJlaXRlblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXggICAgICAgICAgICBkaWUgbWluaW1hbCB1bmQgbWF4aW1hbCBnw7xsdGlnZW4gUHJpb3JpdMOkdGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgYXVmIGdlZ2ViZW5lIGV4aXN0aWVyZW5kZSBQSUQgZWlud2lya2VuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZXJrbMOkcmVuLCB3YXMgZ2VzY2hpZWh0XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIlJpY2h0bGluaWVuIGbDvHIgUElEICVkIGvDtm5uZW4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiQXR0cmlidXRlIGbDvHIgUElEICVkIGvDtm5uZW4gbmljaHQgZXJoYWx0ZW4gd2VyZGVuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiTmV1ZSBTY2hlZHVsaW5nLVJpY2h0bGluaWUgZsO8ciBQSUQgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIkRlcnplaXRpZ2UgU2NoZWR1bGluZy1Wb3JzY2hyaWZ0IGbDvHIgUElEICVkOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJuZXVlIFNjaGVkdWxpbmctUHJpb3JpdMOkdCBmw7xyIFBJRCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiRGVyemVpdGlnZSBTY2hlZHVsaW5nLVByaW9yaXTDpHQgZsO8ciBQSUQgJWQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiZGVyIG5ldWUgTGF1ZnplaXQvRGVhZGxpbmUvUGVyaW9kZS1QYXJhbWV0ZXIgZsO8ciBQSUQgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIkRlcnplaXRpZ2UgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgUGFyYW1ldGVyIHZvbiBQSUQgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICJQcm96ZXNzbGlzdGUga29ubnRlIG5pY2h0IGdlaG9sdCB3ZXJkZW4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJTQ0hFRF8lcyBtaW4uL21heC4gUHJpb3JpdMOkdFx0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIlNDSEVEXyVzIG5pY2h0IHVudGVyc3TDvHR6dD9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJGZXN0bGVnZW4gZGVyIFJpY2h0bGluaWUgZsO8ciBUSUQgJWQgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIkZlc3RsZWdlbiBkZXIgUmljaHRsaW5pZSBmw7xyIFBJRCAlZCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQXJndW1lbnQgZsO8ciBydW50aW1lIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZSBBbmdhYmUgZsO8ciBwZXJpb2QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2UgQW5nYWJlIGbDvHIgZGVhZGxpbmUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFByaW9yaXTDpHRlbmFyZ3VtZW50ICIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIkRpZSBPcHRpb24gLS1yZXNldC1vbi1mb3JrIHdpcmQgbnVyIGbDvHIgZGllIFJpY2h0bGluaWVuIFNDSEVEX0ZJRk8gdW5kIFNDSEVEX1JSIHVudGVyc3TDvHR6dC4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBPcHRpb25lbiB3ZXJkZW4gbnVyIGbDvHIgU0NIRURfREVBRExJTkUgdW50ZXJzdMO8dHp0IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiU0NIRURfREVBRExJTkUgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczogcHJpbyAlbHVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fc2V0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtPcHRpb25lbl0gLXAgPFByb3plc3MtSUQ+IOKAplxuIgorIiAlMSRzIFtPcHRpb25lbl0gLVAgPFByb3plc3NncnVwcGVuLUlEPiDigKZcbiIKKyIgJTEkcyBbT3B0aW9uZW5dIC11IDxCZW51dHplci1JRD4g4oCmXG4iCisiICUxJHMgW09wdGlvbmVuXSA8QmVmZWhsPlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJEaWUgRS9BLVNjaGVkdWxpbmctS2xhc3NlIHVuZCBQcmlvcml0w6R0IHZvbiBQcm96ZXNzZW4gc2V0emVuIHVuZCBlcm1pdHRlbG4uXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jbGFzcyA8S2xhc3NlPiAgIE5hbWUgb2RlciBOdW1tZXIgZGVyIFNjaGVkdWxpbmctS2xhc3NlLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPFphaGw+IFByaW9yaXTDpHQgKDAuLjcpIGluIGRlbiBhbmdlZ2ViZW5lbiBTY2hlZHVsaW5nLUtsYXNzZW4sXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBudXIgZsO8ciBSZWFsdGltZS0gdW5kIEJlc3QtRWZmb3J0LUtsYXNzZW5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxQSUQ+IOKApiAgICAgIG51ciBkaWVzZSBiZXJlaXRzIGxhdWZlbmRlbiBQcm96ZXNzZSBlaW5iZXppZWhlblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisiIC1QLCAtLXBnaWQgPFBHUlA+IOKApiAgICBudXIgZGllc2UgYmVyZWl0cyBsYXVmZW5kZW4gUHJvemVzc2UgaW4gZGllc2VuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgR3J1cHBlbiBlaW5iZXppZWhlblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXQsIC0taWdub3JlICAgICAgICAgICBGZWhsc2NobMOkZ2UgaWdub3JpZXJlblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPFVJRD4g4oCmICAgICAgbnVyIGRpZXNlIGJlcmVpdHMgbGF1ZmVuZGVuIFByb3plc3NlIGRpZXNlciBCZW51dHplciBlaW5iZXppZWhlblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgS2xhc3NlbmRhdGVuYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgS2xhc3NlbmFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgInVuYmVrYW5udGUgU2NoZWR1bGluZy1LbGFzc2U6IOKAniVz4oCcIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJQcm96ZXNzLUlELCBQcm96ZXNzZ3J1cHBlbi1JRCBvZGVyIEJlbnV0emVyLUlEIGvDtm5uZW4gbmljaHQgZ2xlaWNoemVpdGlnIHZlcmFyYmVpdGV0IHdlcmRlbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFBHSUQtQXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFVJRC1Bcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICJBbmdlZ2ViZW5lIEtsYXNzZW5kYXRlbiBmw7xyIG5vbmUtS2xhc3NlIHdlcmRlbiBpZ25vcmllcnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiQW5nZWdlYmVuZSBLbGFzc2VuZGF0ZW4gZsO8ciBpZGxlLUtsYXNzZSB3ZXJkZW4gaWdub3JpZXJ0IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgInVuYmVrYW5udGUgUHJpb3JpdMOkdHNrbGFzc2UgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIkF1ZnJ1ZjogJXMgW09wdGlvbmVuXSBbTWFza2UgfCBDUFUtTGlzdGVdIFtwaWR8Y21kIFtBcmd1bWVudGUg4oCmXV1cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiRGVuIENQVS1CZXp1ZyBlaW5lcyBQcm96ZXNzZXMgZXJtaXR0ZWxuIG9kZXIgZmVzdGxlZ2VuLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisiT3B0aW9uZW46XG4iCisiICAtYSwgIC0tYWxsLXRhc2tzICAgICAgIGFsbGUgUHJvemVzc2UgKFRocmVhZHMpIGVpbmVyIGFuZ2VnZWJlbmVuIFBJRFxuIgorIiAgLXAsICAtLXBpZCAgICAgICAgICAgICBleGlzdGllcmVuZGUgYW5nZWdlYmVuZSBQSURcbiIKKyIgIC1jLCAtLWNwdS1saXN0ICAgICAgICAgQ1BVcyBpbSBMaXN0ZW5mb3JtYXQgYW56ZWlnZW4gdW5kIGFuZ2ViZW5cbiIKKyIgIC1oLCAgLS1oZWxwICAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW5cbiIKKyIgIC1WLCAgLS12ZXJzaW9uICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbiBhdXNnZWJlblxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorIkRhcyBWb3JnYWJldmVyaGFsdGVuIGlzdCBkaWUgQXVzZsO8aHJ1bmcgZWluZXMgbmV1ZW4gQmVmZWhsczpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJTaWUga8O2bm5lbiBkaWUgTWFza2UgZWluZXMgZXhpc3RpZXJlbmRlbiBQcm96ZXNzZXMgZXJtaXR0ZWxuOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9kZXIgc2llIHNldHplbjpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJEYXMgTGlzdGVuZm9ybWF0IHZlcndlbmRldCBlaW5lIGR1cmNoIEtvbW1hdGEgZ2V0cmVubnRlIExpc3RlXG4iCisiYW5zdGVsbGUgZWluZXIgTWFza2U6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIkJlcmVpY2hlIGltIExpc3RlbmZvcm1hdCBha3plcHRpZXJlbiBlaW4gU2Nocml0dHdlaXRlbmFyZ3VtZW50OlxuIgorIiAgICB6LkIuIGVudHNwcmljaHQgMC0zMToyIGRlciBNYXNrZSAweDU1NTU1NTU1XG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJuZXVlIEJlenVnc2xpc3RlIGbDvHIgUElEICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgImFrdHVlbGxlIEJlenVnc2xpc3RlIGbDvHIgUElEICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAibmV1ZSBCZXp1Z3NtYXNrZSBmw7xyIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJha3R1ZWxsZSBCZXp1Z3NtYXNrZSBmw7xyIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiaW50ZXJuZXIgRmVobGVyOiBVbXdhbmRsdW5nIHZvbiBDUFUtR3J1cHBlIGluIFN0cmluZyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJGZXN0bGVnZW4gZGVyIEJlenVnc21hc2tlIGbDvHIgUElEICVkIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIkVybWl0dGVsbiBkZXIgQmV6dWdzbWFza2UgZsO8ciBQSUQgJWQgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAiTlJfQ1BVUyBrb25udGUgbmljaHQgYmVzdGltbXQgd2VyZGVuOyBBYmJydWNoIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDQgc2NoZWR1dGlscy90YXNrc2V0LmM6MjE3IHN5cy11dGlscy9jaGNwdS5jOjI5OAorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNwdXNldF9hbGxvYyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI0IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJDUFUtTGlzdGUga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIkNQVS1NYXNrZSBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW46ICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogJTxQUkl1NjQ+IEJ5dGVzIGFiIFBvc2l0aW9uICU8UFJJdTY0PiBtaXQgTnVsbGVuIGdlZsO8bGx0XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogJTxQUkl1NjQ+IEJ5dGVzIHZlcndvcmZlbiBhYiBQb3NpdGlvbiAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4OAorbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiRGVuIEluaGFsdCB2b24gU2VrdG9yZW4gYXVmIGVpbmVtIEdlcsOkdCB2ZXJ3ZXJmZW4uXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb2Zmc2V0IDxaYWhsPiBnaWJ0IGRpZSBCeXRlLVBvc2l0aW9uIGltIERhdGVpc3lzdGVtIGFuLCBhYiBkZXIgbmFjaFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgenUgdmVyd2VyZmVuZGVuIGZyZWllbiBCbMO2Y2tlbiBnZXN1Y2h0IHdlcmRlbiBzb2xsXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8WmFobD4gIEFuemFobCBkZXIgenUgdmVyd2VyZmVuZGVuIEJ5dGVzIGZlc3RsZWdlblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtcCwgLS1zdGVwIDxaYWhsPiAgIEdyw7bDn2UgZGVyIFZlcnd1cmYtSXRlcmF0aW9uZW4gaW5uZXJoYWxiIGRlcyBPZmZzZXRzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtcywgLS1zZWN1cmUgICAgICAgIHNpY2hlcmVzIFZlcndlcmZlbiB2ZXJ3ZW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAteiAgLS16ZXJvb3V0ICAgICAgIHN0YXQgVmVyd2VyZmVuIG1pdCBOdWxsZW4gZsO8bGxlblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGVya2zDpHJlbiB3YXMgZ2VtYWNodCB3aXJkXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTEKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgIlBvc2l0aW9uIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiRHVyY2hsw6R1ZmUga29ubnRlbiBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzYgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3MworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTExIHN5cy11dGlscy9mc3RyaW0uYzozMzYKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgInVuZXJ3YXJ0ZXRlIEFuemFobCBhbiBBcmd1bWVudGVuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTIgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogUG9zaXRpb24gJTxQUkl1NjQ+IGlzdCBuaWNodCBhbiBTZWt0b3JncsO2w59lICVpIGF1c2dlcmljaHRldCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzOiBQb3NpdGlvbiDDvGJlcnN0ZWlndCBkaWUgR2Vyw6R0ZWdyw7bDn2UiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogTMOkbmdlICU8UFJJdTY0PiBpc3QgbmljaHQgYW4gU2VrdG9yZ3LDtsOfZSAlaSBhdXNnZXJpY2h0ZXQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCisjLCBmdXp6eQorbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIkluZm9ybWF0aW9uZW4genUgYmxvY2tvcmllbnRpZXJ0ZW4gR2Vyw6R0ZW4gYXVzZ2ViZW4uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBkYXMgU2V0emVuIGRpcmVrdGVyIEUvQSBpc3QgIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICIlczogZGllIFpvbmVudGFiZWxsZSBrYW5uIG5pY2h0IGdlc2NocmllYmVuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm91bmQgJWQgem9uZXMgZnJvbSAweCU8UFJJeDY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIlczogUG9zaXRpb24gJTxQUkl1NjQ+IGlzdCBuaWNodCBhbiBTZWt0b3JncsO2w59lICVpIGF1c2dlcmljaHRldCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2Ygc2VjdG9ycyAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiJXM6IFBvc2l0aW9uICU8UFJJdTY0PiBpc3QgbmljaHQgYW4gU2VrdG9yZ3LDtsOfZSAlaSBhdXNnZXJpY2h0ZXQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8R2Vyw6R0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwMgorbXNnaWQgIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPFphaGw+ICBQb3NpdGlvbiBmw7xyIEJlcmVpY2hzb3BlcmF0aW9uZW4sIGluIEJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgLXQsIC0tc3RyZWFtcyA8WmFobD4gICAgICBBbnphaGwgZGVyIEtvbXByZXNzaW9ucy1EYXRlbnN0csO2bWVcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTIKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBhdXNmw7xocmxpY2hlciBzZWluXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICIlcyBpc3Qga2VpbiBnw7xsdGlnZXMgYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICJFaW5sZXNlbiBkZXIgWmVpbGVuYW56YWhsIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJFaW5sZXNlbiBkZXIgWmVpbGVuYW56YWhsIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICJQb3NpdGlvbiBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzkxIHN5cy11dGlscy9zZXRzaWQuYzo5MgorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHNwZWNpZmllZCIKK21zZ3N0ciAiRXMgd3VyZGUga2VpbiBCZWZlaGwgYW5nZWdlYmVuLiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQ1BVICV1IGlzdCBuaWNodCB2b3JoYW5kZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiQ1BVICV1IGlzdCBuaWNodCBpbSBsYXVmZW5kZW4gQmV0cmllYiBoaW56dWbDvGdiYXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzdCBiZXJlaXRzIGFrdGl2aWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzdCBiZXJlaXRzIGRlYWt0aXZpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIkFrdGl2aWVyZW4gZGVyIENQVSAldSBmZWhsZ2VzY2hsYWdlbiAoQ1BVIGlzdCBuaWNodCBrb25maWd1cmllcnQpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAldSBrb25udGUgbmljaHQgYWt0aXZpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBha3RpdmllcnRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkRlYWt0aXZpZXJ1bmcgdm9uIENQVSAldSBpc3QgZmVobGdlc2NobGFnZW4gKGxldHp0ZSBha3RpdmllcnRlIENQVSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAldSBrb25udGUgbmljaHQgZGVha3RpdmllcnQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSB3dXJkZSBkZWFrdGl2aWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiRGllc2VzIFN5c3RlbSB1bnRlcnN0w7x0enQgZGFzIE5ldWVpbmxlc2VuIGRlciBDUFVzIG5pY2h0LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIk5ldWVpbmxlc2VuIGRlciBDUFVzIGtvbm50ZSBuaWNodCBhdXNnZWzDtnN0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICJOZXVlaW5sZXNlbiBkZXIgQ1BVcyB3dXJkZSBhdXNnZWzDtnN0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICJEaWVzZXMgU3lzdGVtIHVudGVyc3TDvHR6dCBkYXMgU2V0emVuIGRlcyBEaXNwYXRjaGluZy1Nb2R1cyBmw7xyIENQVXMgbmljaHQuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiSG9yaXpvbnRhbGVyIERpc3BhdGNoaW5nLU1vZHVzIGtvbm50ZSBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIkhvcml6b250YWxlciBEaXNwYXRjaGluZy1Nb2R1cyB3dXJkZSBlcmZvbGdyZWljaCBnZXNldHp0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiVmVydGlrYWxlciBEaXNwYXRjaGluZy1Nb2R1cyBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiVmVydGlrYWxlciBEaXNwYXRjaGluZy1Nb2R1cyB3dXJkZSBlcmZvbGdyZWljaCBnZXNldHp0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiQ1BVICV1IGlzdCBuaWNodCBrb25maWd1cmllcmJhciIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzdCBiZXJlaXRzIGtvbmZpZ3VyaWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBpc3QgYmVyZWl0cyBkZWtvbmZpZ3VyaWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICJEZWtvbmZpZ3VyaWVyZW4gZGVyIENQVSAldSBpc3QgZmVobGdlc2NobGFnZW4gKENQVSBpc3QgYWt0aXZpZXJ0KSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUga29ubnRlIG5pY2h0IGtvbmZpZ3VyaWVydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgd3VyZGUga29uZmlndXJpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUga29ubnRlIG5pY2h0IGRla29uZmlndXJpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IHd1cmRlIGRla29uZmlndXJpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJ1bmfDvGx0aWdlIENQVS1OdW1tZXIgaW4gZGVyIENQVS1MaXN0ZTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOSB0ZXh0LXV0aWxzL2NvbC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiQXVmcnVmOlxuIgorIiAlcyBbT3B0aW9uZW5dXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiQ1BVcyBpbiBlaW5lbSBNZWhycHJvemVzc29yc3lzdGVtIGtvbmZpZ3VyaWVyZW4uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworIywgZnV6enkKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhdXNnZWJlblxuIgorIiAgLWUsIC0tZW5hYmxlIDxDUFUtTGlzdGU+ICAgICAgQ1BVcyBha3RpdmllcmVuXG4iCisiICAtZCwgLS1kaXNhYmxlIDxDUFUtTGlzdGU+ICAgICBDUFVzIGRlYWt0aXZpZXJlblxuIgorIiAgLWMsIC0tY29uZmlndXJlIDxDUFUtTGlzdGU+ICAgQ1BVcyBrb25maWd1cmllcmVuXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Q1BVLUxpc3RlPiBDUFVzIGRla29uZmlndXJpZXJlblxuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPE1vZHVzPiAgICAgICAgRGlzcGF0Y2hpbmctTW9kdXMgc2V0emVuXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICBDUFVzIG5ldSBlaW5sZXNlblxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlcyBBcmd1bWVudDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgIklEIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgIkNQVSAldSBrb25udGUgbmljaHQgYWt0aXZpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICJDUFUgJXUga29ubnRlIG5pY2h0IGRlYWt0aXZpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgYWt0aXZpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSB3dXJkZSBkZWFrdGl2aWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBpc3QgYmVyZWl0cyBha3RpdmllcnRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBpc3QgYmVyZWl0cyBkZWFrdGl2aWVydFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkNQVSAldSBrb25udGUgbmljaHQgYWt0aXZpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiQ1BVICV1IGtvbm50ZSBuaWNodCBkZWFrdGl2aWVydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IGtvbm50ZSBuaWNodCBha3RpdmllcnQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUga29ubnRlIG5pY2h0IGRlYWt0aXZpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjY2IHN5cy11dGlscy9sc21lbS5jOjQ3NiBzeXMtdXRpbHMvbHNtZW0uYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICJHZXNjaHdpbmRpZ2tlaXQga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICJFaW5sZXNlbiBkZXIgTnVtbWVyIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIkdyw7bDn2Uga2FubiBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbi4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIkVpbmxlc2VuIGRlcyBBbmZhbmdzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiRWlubGVzZW4gZGVzIEVuZGVzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgc3RhcnQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJ1bmfDvGx0aWdlcyBTdGFydGFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAiVW5nw7xsdGlnZXIgU2lnbmFsbmFtZSBvZGVyIC1udW1tZXI6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgIkVpbmxlc2VuIGRlcyBBbmZhbmdzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCBhZGRyZXNzIgorbXNnc3RyICJFaW5sZXNlbiBkZXMgRW5kZXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBhZGRyZXNzIGFuZCAoZW5kIGFkZHJlc3MgKyAxKSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQXJndW1lbnQ6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICJ1bmfDvGx0aWdlcyBBcmd1bWVudDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbeSB8IG5dXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNworbXNnaWQgIlNldCBhIHBhcnRpY3VsYXIgc2l6ZSBvciByYW5nZSBvZiBtZW1vcnkgb25saW5lIG9yIG9mZmxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1lbmFibGUgICAgICAgZW5hYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBhdXNmw7xocmxpY2hlIEF1c2dhYmVuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGF1c2bDvGhybGljaGUgQXVzZ2FiZW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQyCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ibG9ja3MgICAgICAgdXNlIG1lbW9yeSBibG9ja3NcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgYXVzZsO8aHJsaWNoZSBBdXNnYWJlblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGF1c2bDvGhybGljaGUgQXVzZ2FiZW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJVbnRlcnN0w7x0enRlIFByb3Rva29sbGxlaXN0dW5nZW46XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIKK21zZ3N0ciAiVW5iZWthbm50ZXIgUHJpb3JpdMOkdHNuYW1lOiAlcy4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIgJXMgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICJEaWUgRnVua3Rpb24gZGVyIFRhc3RlbmtvbWJpbmF0aW9uIFN0cmctQWx0LUVudGYgZmVzdGxlZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgImltcGxpeml0IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAiVW5lcndhcnRldGVyIFdlcnQgaW4gJXM6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIk51ciDigJ5yb2904oCcIGthbm4gZGFzIFZlcmhhbHRlbiB2b24gU3RyZy1BbHQtRW50ZiDDpG5kZXJuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgInVuYmVrYW5udGVzIEFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJTeXN0ZW0gaXN0IHVuYmVudXR6YmFyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiRXMgbXVzcyBzb2ZvcnQgZ2VoYW5kZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAia3JpdGlzY2hlIFp1c3TDpG5kZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiQmVkaW5ndW5nZW4gZsO8ciBGZWhsZXJtZWxkdW5nZW4iCisKKyMgWFhYIOKAkyBNZXJnZSB3aXRoIG5leHQgc3RyaW5ncy4KKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiQmVkaW5ndW5nZW4gZsO8ciBXYXJudW5nZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJub3JtYWxlLCBhYmVyIGJlZGV1dGVuZGUgQmVkaW5ndW5nIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICJpbmZvcm1hdG9yaXNjaCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIkRlYnVnLUxldmVsLU1lbGR1bmdlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMwCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJLZXJuZWwtTWVsZHVuZ2VuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAienVmw6RsbGlnZSBOYWNocmljaHRlbiBhdWYgQW53ZW5kZXJlYmVuZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIk1haWxzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICJTeXN0ZW1kaWVuc3RlIChEYWVtb25zKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiU2ljaGVyaGVpdHMtL0F1dG9yaXNhdGlvbnMtTmFjaHJpY2h0ZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIk5hY2hyaWNodGVuLCBkaWUgaW50ZXJuIHZvbSBzeXNsb2dkIGVyemV1Z3Qgd3VyZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICJaZWlsZW5kcnVja2VyLVN1YnN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiTmV0endlcmtuYWNocmljaHRlbi1TdWJzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJVVUNQLVN1YnN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJVaHItRGFlbW9uIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiU2ljaGVyaGVpdHMtL0F1dG9yaXNhdGlvbnMtTmFjaHJpY2h0ZW4gKHByaXZhdCkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIkZUUC1EYWVtb24iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICJEZW4gS2VybmVsLVJpbmdwdWZmZXIgYW56ZWlnZW4gdW5kIHN0ZXVlcm4uXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGRlbiBLZXJuZWwtUmluZ3B1ZmZlciBsZWVyZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBhbGxlIE1lbGR1bmdlbiBsZXNlbiB1bmQgbMO2c2NoZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBBdXNnYWJlIHZvbiBOYWNocmljaHRlbiBhdWYgZGllIEtvbnNvbGUgZGVha3RpdmllcmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBBdXNnYWJlIHZvbiBOYWNocmljaHRlbiBhdWYgZGllIEtvbnNvbGUgYWt0aXZpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8RGF0ZWk+ICAgICAgICAgIERhdGVpIGFuc3RlbGxlIGRlcyBLZXJuZWwtUHJvdG9rb2xscHVmZmVycyB2ZXJ3ZW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8TGlzdGU+ICAgICAgQXVzZ2FiZSBhdWYgZGllIGRlZmluaWVydGVuIExlaXN0dW5nZW4gYmVzY2hyw6Rua2VuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgbWVuc2NoZW5sZXNiYXJlIEF1c2dhYmVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIEtlcm5lbC1NZWxkdW5nZW4gYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxXYW5uPl0gICAgICAgIE5hY2hyaWNodGVuIGVpbmbDpHJiZW4gKOKAnmF1dG/igJwsIOKAnmFsd2F5c+KAnCBvZGVyIOKAnm5ldmVy4oCcKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIgLWwsIC0tbGV2ZWwgPExpc3RlPiAgICAgICAgIEF1c2dhYmUgYXVmIGRlZmluaWVydGUgRWJlbmVuIGJlc2NocsOkbmtlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jb25zb2xlLWxldmVsIDxFYmVuZT4gU3R1ZmUgZGVyIGFuIGRpZSBLb25zb2xlIGF1c2dlZ2ViZW5lblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbGR1bmdlbiBmZXN0bGVnZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgQXVzZ2FiZSBuaWNodCBpbiBlaW5lbiBQYWdlciB3ZWl0ZXJsZWl0ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgZGVuIHVudmVyYXJiZWl0ZXRlbiBNZWxkdW5nc3B1ZmZlciBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgc3lzbG9nKDIpIGFuc3RlbGxlIHZvbiAvZGV2L2ttc2cgZXJ6d2luZ2VuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLXMsIC0tYnVmZmVyLXNpemUgPEdyw7bDn2U+ICAgUHVmZmVyZ3LDtsOfZSB6dXIgQWJmcmFnZSBkZXMgS2VybmVsLVJpbmdwdWZmZXJzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBOYWNocmljaHRlbiBpbSBCZW51dHplcmJlcmVpY2ggYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICBhdWYgbmV1ZSBOYWNocmljaHRlbiB3YXJ0ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIExlaXN0dW5nZW4gdW5kIEViZW5lbiBpbiBsZXNiYXJlbiBTdHJpbmcgZGVrb2RpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBaZWl0c3Bhbm5lIHp3aXNjaGVuIGF1c2dlZ2ViZW5lbiBNZWxkdW5nZW4gYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgbG9rYWxlIFplaXQgdW5kIFplaXRzcGFubmUgaW4gbGVzYmFyZW0gRm9ybWF0IGF1c2dlYmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBtZW5zY2hlbmxlc2JhcmVuIFplaXRzdGVtcGVsIGFuemVpZ2VuIChrYW5uIHVuZ2VuYXUgc2VpbiEpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBrZWluZSBaZWl0c3RlbXBlbCBkZXIgTWVsZHVuZ2VuIGF1c2dlYmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxGb3JtYXQ+ICBnaWJ0IFplaXRzdGVtcGVsIGltIGFuZ2VnZWJlbmVuIEk8Rm9ybWF0PiBhdXM6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiRWluc2NobGFmZW4vQXVmd2FjaGVuIHdpbGwgdmVydXJzYWNodCBpbmtvcnJla3RlIGN0aW1lLSB1bmQgaXNvLVplaXRzdGVtcGVsLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiVW50ZXJzdMO8dHp0ZSBQcm90b2tvbGxsZWlzdHVuZ2VuOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiVW50ZXJzdMO8dHp0ZSBQcm90b2tvbGxpZXJzdHVmZW4gKFByaW9yaXTDpHRlbik6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAiRWJlbmUg4oCeJXPigJwga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICJ1bmJla2FubnRlcyBMZXZlbCDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJMZWlzdHVuZyDigJ4lc+KAnCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgInVuYmVrYW5udGUgRWlucmljaHR1bmcg4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIm1tYXAgZmVobGdlc2NobGFnZW46ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgUHVmZmVyZ3LDtsOfZW5hcmd1bWVudCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ4OAorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIi0tc2hvdy1kZWx0YSB3aXJkIGlnbm9yaWVydCwgd2VubiBlcyB6dXNhbW1lbiBtaXQgZGVtIGlzbzg2MDEtWmVpdGZvcm1hdCB2ZXJ3ZW5kZXQgd2lyZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUxMQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICItLXJhdyBrYW5uIG51ciBkYW5uIHp1c2FtbWVuIG1pdCAtLWxldmVsIG9kZXIgLS1mYWNpbGl0eSB2ZXJ3ZW5kZXQgd2VyZGVuLCB3ZW5uIE1lbGR1bmdlbiBhdXMgL2Rldi9rbXNnIGdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiTGVzZW4gZGVzIEtlcm5lbHB1ZmZlcnMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgIuKAnmtsb2djdGzigJwgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFs8R2Vyw6R0Pnw8RWluaMOkbmdlcHVua3Q+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIldlY2hzZWxkYXRlbnRyw6RnZXIgYXVzd2VyZmVuLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDEKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHNjaGFsdGV0IGF1dG9tYXRpc2NoZXMgQXVzd2VyZmVuIGVpbiBvZGVyIGF1c1xuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8U2xvdD4gICAgd2VjaHNlbHQgZGllIERpc2NzIGluIGVpbmVtIENELVdlY2hzbGVyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICB6ZWlndCBkYXMgU3RhbmRhcmRnZXLDpHQgYW5cbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIHdpcmZ0IGRpZSBGbG9wcHktRGlza2V0dGUgYXVzXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBiZXLDvGNrc2ljaHRpZ3QgZGVuIEdlcsOkdGV0eXAgbmljaHRcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHNjaGFsdGV0IGRlbiBTY2h1dHogdm9yIG1hbnVlbGxlbSBBdXN3ZXJmZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWluIG9kZXIgYXVzXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBow6RuZ3QgZGFzIEdlcsOkdCBuaWNodCBhdXMsIHNlbGJzdCB3ZW5uIGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVpbmdlaMOkbmd0IGlzdFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgaMOkbmd0IGtlaW5lIGFuZGVyZW4gUGFydGl0aW9uZW4gYXVzXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICB3aXJmdCBuaWNodHMgYXVzLCBzb25kZXJuIHplaWd0IG51ciBkYXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2VmdW5kZW5lIEdlcsOkdCAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdmVyd2VuZGV0IC9wcm9jL21vdW50cyBhbnN0YXR0IC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgd2lyZnQgZGFzIEJhbmRsYXVmd2VyayBhdXNcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIHdpcmQgZGllIENELVJPTSBhdXNcbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIHdpcmZ0IGRhcyBTQ1NJLUdlcsOkdCBhdXNcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIHNjaGxpZcOfdCBkaWUgS2xhcHBlXG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICDDtmZmbmV0IG9kZXIgc2NobGllw590IGRpZSBLbGFwcGVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGFrdGl2aWVydCBkaWUgYXVzZsO8aHJsaWNoZSBBdXNnYWJlXG4iCisiIC14LCAtLWNkc3BlZWQgPEdlc2Nody4+ICAgICBsZWd0IGRpZSBtYXhpbWFsZSBDRC1ST00tR2VzY2h3aW5kaWdrZWl0IGZlc3RcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIHplaWd0IGRpZSB2ZXJmw7xnYmFyZW4gQ0QtUk9NLUdlc2Nod2luZGlnLVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZWl0ZW4gYW5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZXIgVm9yZ2FiZSB3ZXJkZW4gLXIsIC1zLCAtZiB1bmQgLXEgaW4gZGllc2VyIFJlaWhlbmZvbGdlIHZlcnN1Y2h0LFxuIgorImJpcyB6dW0gRXJmb2xnLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICJ1bnp1bMOkc3NpZ2VzIEFyZ3VtZW50IHp1ciBPcHRpb24gLS1jaGFuZ2Vyc2xvdC8tYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJ1bnp1bMOkc3NpZ2VzIEFyZ3VtZW50IHp1ciBPcHRpb24gLS1jZHNwZWVkLy14IG9wdGlvbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1CZWZlaGwgenVtIGF1dG9tYXRpc2NoZW4gQXVzd2VyZmVuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMzkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIlNwZXJyZW4gZGVzIENELVJPTS1MYXVmd2Vya3Mgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJhbmRlcmUgQmVudXR6ZXIgaGFiZW4gZGFzIExhdWZ3ZXJrIGdlw7ZmZm5ldCB1bmQgdmVyZsO8Z2VuIG5pY2h0IMO8YmVyIENBUF9TWVNfQURNSU4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MworbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1CZWZlaGwgenVtIFNjaGxpZcOfZW4gZGVyIExhZGUgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OAorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNELUxhdWZ3ZXJrIGRhcmYgTklDSFQgbWl0IGRlbSBLbm9wZiBhbSBHZXLDpHQgYXVzZ2V3b3JmZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNELUxhdWZ3ZXJrIGRhcmYgbWl0IGRlbSBLbm9wZiBhbSBHZXLDpHQgYXVzZ2V3b3JmZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjEKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1CZWZlaGwgenVtIEF1c3dhaGwgZGVzIE1lZGl1bXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiZGVyIEJlZmVobCB6dW0gRWluemllaGVuIGRlciBDRC1ST00gaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjcKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJJREUvQVRBUEktQ0QtUk9NLVdlY2hzbGVyIHdpcmQgdm9uIGRpZXNlbSBLZXJuZWwgbmljaHQgdW50ZXJzdMO8dHp0XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00tQmVmZWhsIHp1bSBTY2hsaWXDn2VuIGRlciBMYWRlIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiZGVyIEJlZmVobCB6dW0gU2NobGllw59lbiBkZXIgQ0QtTGFkZSB3aXJkIHZvbiBkaWVzZW0gS2VybmVsIG5pY2h0IHVudGVyc3TDvHR6dFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIkNELVJPTS1BdXN3dXJmIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1BdXN3dXJmYmVmZWhsIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzUKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICJLZWluZSBDRC1ST00tSW5mb3JtYXRpb24gdmVyZsO8Z2JhciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM4Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAiQ0QtUk9NLUxhdWZ3ZXJrIGlzdCBuaWNodCBiZXJlaXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTS1CZWZlaGwgenVtIFfDpGhsZW4gZGVyIEdlc2Nod2luZGlna2VpdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgzCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgImRlciBCZWZlaGwgenVtIMOEbmRlcm4gZGVyIENELVJPTS1HZXNjaHdpbmRpZ2tlaXQgd2lyZCB2b24gZGllc2VtIEtlcm5lbCBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBDRC1ST00tTmFtZSBrYW5uIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IEdlc2Nod2luZGlna2VpdCBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIkdlc2Nod2luZGlna2VpdCBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTgzCittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAia2VpbiBzZy1HZXLDpHQgb2RlciBlaW4gYWx0ZXIgc2ctVHJlaWJlciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczogd2lyZCBhdXNnZWjDpG5ndCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjczCittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIlByb3plc3Mga2FubiBuaWNodCBnZWZvcmt0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIkF1c2jDpG5nZW4gdm9uIOKAniVz4oCcIHd1cmRlIG5pY2h0IG5vcm1hbCBiZWVuZGV0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJBdXNow6RuZ2VuIHZvbiDigJ4lc+KAnCBmZWhsZ2VzY2hsYWdlblxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MjUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIkVpbmxlc2VuIGRlciBFaW5ow6RuZ2V0YWJlbGxlIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3ODYgc3lzLXV0aWxzL2VqZWN0LmM6ODg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlczogZWluZ2Vow6RuZ3QgYmVpICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICJDRC1ST00tR2VzY2h3aW5kaWdrZWl0IHdpcmQgYXVmIOKAnmF1dG9tYXRpc2No4oCcIGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJDRC1ST00tR2VzY2h3aW5kaWdrZWl0IHdpcmQgYXVmIGF1ZiAlbGRYIGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiU3RhbmRhcmRnZXLDpHQ6IOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAiU3RhbmRhcmRnZXLDpHQg4oCeJXPigJwgd2lyZCBiZW51dHp0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXM6IEdlcsOkdCBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAiR2Vyw6R0ZW5hbWUgaXN0IOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODkgc3lzLXV0aWxzL3Vtb3VudC5jOjMwOSBzeXMtdXRpbHMvdW1vdW50LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IG5pY2h0IGVpbmdlaMOkbmd0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVzOiBEaXNrLUdlcsOkdDogJXMgKERpc2stR2Vyw6R0IHdpcmQgenVtIEF1c3dlcmZlbiB2ZXJ3ZW5kZXQpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIlczogRWluaMOkbmdlcHVua3Qgb2RlciBHZXLDpHQgZGllc2VzIE5hbWVucyB3dXJkZSBuaWNodCBnZWZ1bmRlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGlzdCBlaW4gZ2VzYW10ZXMgTGF1ZndlcmsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogaXN0IGtlaW4gaW0gbGF1ZmVuZGVuIEJldHJpZWIgaGluenVmw7xnYmFyZXMgR2Vyw6R0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgIkdlcsOkdCBpc3Qg4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIkFiYnJ1Y2ggd2VnZW4gZGVyIE9wdGlvbiAtbi8tLW5vb3AiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogTW9kdXMgenVtIGF1dG9tYXRpc2NoZW4gQXVzd2VyZmVuIHdpcmQgYWt0aXZpZXJ0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBNb2R1cyB6dW0gYXV0b21hdGlzY2hlbiBBdXN3ZXJmZW4gd2lyZCBkZWFrdGl2aWVydCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiBMYWRlIHdpcmQgZ2VzY2hsb3NzZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiJXM6IExhZGUgd2lyZCBnZcO2ZmZuZXQvZ2VzY2hsb3NzZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVzOiBDRC1ST00tR2VzY2h3aW5kaWdrZWl0IGF1Zmxpc3RlbiIKKworIyBYWFggLSBJIGRpZCBoYXZlIGEgYmV0dGVyIG9uZSBmb3IgYnVzeQorIyBsaWJjLnBvOgorIyAiRGV2aWNlIG9yIHJlc291cmNlIGJ1c3kiCisjICJEYXMgR2Vyw6R0IG9kZXIgZGllIFJlc3NvdXJjZSBpc3QgYmVsZWd0IgorIzogc3lzLXV0aWxzL2VqZWN0LmM6OTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAiRmVobGVyOiAlczogRGFzIEdlcsOkdCB3aXJkIG1vbWVudGFuIG5vY2ggYmVudXR6dCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXM6IENELVJPTS1EaXNrICMlbGQgd2lyZCBhdXNnZXfDpGhsdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogQXVzd2VyZmVuIHdpcmQgbWl0dGVscyBBdXN3dXJmYmVmZWhsIGbDvHIgQ0QtUk9NIHZlcnN1Y2h0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJDRC1ST00tQXVzd3VyZmJlZmVobCBlcmZvbGdyZWljaCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiBBdXN3ZXJmZW4gd2lyZCBtaXR0ZWxzIFNDU0ktQmVmZWhsZW4gdmVyc3VjaHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiU0NTSS1BdXN3dXJmIGVyZm9sZ3JlaWNoIGJlZW5kZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiU0NTSS1BdXN3dXJmIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBBdXN3ZXJmZW4gd2lyZCBtaXR0ZWxzIEF1c3d1cmZiZWZlaGwgZsO8ciBEaXNrZXR0ZSB2ZXJzdWNodCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiRmxvcHB5LUF1c3d1cmZiZWZlaGwgZXJmb2xncmVpY2giCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkZsb3BweS1BdXN3dXJmYmVmZWhsIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiBBdXN3ZXJmZW4gd2lyZCBtaXR0ZWxzIE9mZmxpbmUtQmVmZWhsIGbDvHIgQmFuZGxhdWZ3ZXJrIHZlcnN1Y2h0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJPZmZsaW5lLUJlZmVobCBmw7xyIEJhbmRsYXVmd2VyayBlcmZvbGdyZWljaCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiT2ZmbGluZS1CZWZlaGwgZsO8ciBCYW5kbGF1ZndlcmsgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIkF1c3dlcmZlbiBuaWNodCBtw7ZnbGljaCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8RGF0ZWluYW1lPlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiRWluZXIgRGF0ZWkgUGxhdHogaW0gRGF0ZWlzeXN0ZW0genV3ZWlzZW4gb2RlciBkaWUgWnV3ZWlzdW5nIGzDtnNlbi5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIGVpbmVuIEJlcmVpY2ggYXVzIGRlciBEYXRlaSBlbnRmZXJuZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgLWQsIC0tZGlnLWhvbGVzICAgICAgTnVsbGVuIGVya2VubmVuIHVuZCBkdXJjaCBMw7xja2VuIGVyc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MgorbXNnaWQgIiAtaSwgLS1pbnNlcnQtcmFuZ2UgICBpbnNlcnQgYSBob2xlIGF0IHJhbmdlLCBzaGlmdGluZyBleGlzdGluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8WmFobD4gIEzDpG5nZSBmw7xyIEJlcmVpY2hzb3BlcmF0aW9uZW4sIGluIEJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NAorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAgZGllIG9mZmVuc2ljaHRsaWNoZSBEYXRlaWdyw7bDn2UgZXJoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8WmFobD4gIFBvc2l0aW9uIGbDvHIgQmVyZWljaHNvcGVyYXRpb25lbiwgaW4gQnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk2Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIGVpbmVuIEJlcmVpY2ggZHVyY2ggZWluZSBMw7xja2UgZXJzZXR6ZW4gKGJlemllaHQgLW4gZWluKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTcKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgbnVsbGVuIHVuZCBkaWUgQW5mb3JkZXVuZyBlaW5lcyBCZXJlaWNocyBzaWNoZXJzdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJmYWxsb2NhdGUgaXN0IGdlc2NoZWl0ZXJ0OiBNb2R1cyDigJ5HcsO2w59lIGJlaWJlaGFsdGVu4oCdIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxNDUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogTGVzZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IEJ5dGVzKSBpbiBTcGFyc2UtTMO8Y2tlbiB1bWdld2FuZGVsdC5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1NAorbXNnaWQgInBvc2l4X2ZhbGxvY2F0ZSBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAia2VpbiBEYXRlaW5hbWUgYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInVuZ8O8bHRpZ2VyIEzDpG5nZW53ZXJ0IGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJrZWluIEzDpG5nZW53ZXJ0IGZlc3RnZWxlZ3QiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInVuZ8O8bHRpZ2VyIFBvc2l0aW9uc3dlcnQgZmVzdGdlbGVndCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXSA8RGF0ZWl8VmVyemVpY2huaXM+IDxCZWZlaGw+IFs8QXJndW1lbnQ+IOKApl1cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxEYXRlaXxWZXJ6ZWljaG5pcz4gLWMgPEJlZmVobD5cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxEYXRlaWRlc2tyaXB0b3IgWmFobD5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIkRhdGVpc3BlcnJlbiBtaXR0ZWxzIFNoZWxsc2tyaXB0ZW4gdmVyd2FsdGVuLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zICAtLXNoYXJlZCAgICAgICAgICAgICByaWNodGV0IGVpbmUgZ2VtZWluc2FtZSBTcGVycmUgZWluXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCAgLS1leGNsdXNpdmUgICAgICAgICAgcmljaHRldCBlaW5lIGV4a2x1c2l2ZSBTcGVycmUgZWluIChWb3JnYWJlKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUgIC0tdW5sb2NrICAgICAgICAgICAgIGVpbmUgU3BlcnJ1bmcgZW50ZmVybmVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uICAtLW5vbmJsb2NrICAgICAgICAgICBzY2hsw6RndCBmZWhsLCBhbnN0YXR0IHp1IHdhcnRlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdyAgLS10aW1lb3V0IDxTZWs+ICAgICAgd2FydGV0IGVpbmUgYmVncmVuenRlIFplaXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisiIC1FICAtLWNvbmZsaWN0LWV4aXQtY29kZSA8TnVtbWVyPiAgRXhpdC1Db2RlIG5hY2ggZWluZW0gS29uZmxpa3Qgb2RlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZWluZXIgWmVpdMO8YmVyc2NocmVpdHVuZ1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiIC1vICAtLWNsb3NlICAgICAgICAgICAgICBEYXRlaWRlc2tyaXB0b3Igdm9yIEF1c2bDvGhydW5nIGRlcyBCZWZlaGxzIHNjaGxpZcOfZW5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIgLWMgIC0tY29tbWFuZCA8QmVmZWhsPiAgIGVpbmVuIGVpbnplbG5lbiBCZWZlaGwgaW4gZGVyIFNoZWxsIGF1c2bDvGhyZW5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIHZvciBkZXIgQXVzZsO8aHJ1bmcgZGVzIDxQcm9ncmFtbXM+IG5pY2h0IGZvcmtlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgYXVzZsO8aHJsaWNoZXJlIE1lbGR1bmdlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJTcGVycmRhdGVpIOKAniVz4oCcIGtvbm50ZSBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInVuZ8O8bHRpZ2VyIFplaXTDvGJlcnNjaHJlaXR1bmdzd2VydCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgInVuZ8O8bHRpZ2VyIEV4aXQtQ29kZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI5Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIGJlbsO2dGlndCBnZW5hdSBlaW4gQXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgImZhbHNjaGVyIERhdGVpZGVza3JpcHRvciIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU4Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAiYmVuw7Z0aWd0IERhdGVpZGVza3JpcHRvciwgRGF0ZWkgb2RlciBWZXJ6ZWljaG5pcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICJkaWUgU3BlcnJlIGtvbm50ZSBuaWNodCBpbiBCZXNpdHogZ2Vub21tZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIlplaXTDvGJlcnNjaHJlaXR1bmcgYmVpbSBXYXJ0ZW4gYXVmIGRpZSBTcGVycmUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6IGVzIGRhdWVydGUgJWxkLiUwNmxkIFNla3VuZGVuLCB1bSBkaWUgU3BlcnJlIHp1IGJla29tbWVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiAlcyB3aXJkIGF1c2dlZsO8aHJ0XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxFaW5ow6RuZ2VwdW5rdD5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKKyMsIGZ1enp5Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFaW4gRGF0ZWlzeXN0ZW0gZWluaMOkbmdlbi5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtZiwgLS1mcmVlemUgICAgICBkYXMgRGF0ZWlzeXN0ZW0gZWluZnJpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgZGFzIERhdGVpc3lzdGVtIOKAnmF1ZnRhdWVu4oCcXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIndlZGVyIC0tZnJlZXplIG5vY2ggLS11bmZyZWV6ZSBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogaXN0IGtlaW4gVmVyemVpY2huaXMiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEVpbmZyaWVyZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczog4oCeQXVmdGF1ZW7igJwgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGtlaW4gVmVyemVpY2huaXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZJVFJJTSBpb2N0bCBmZWhsZ2VzY2hsYWdlbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzOiAlcyAoJTxQUkl1NjQ+IEJ5dGVzKSBnZXRyaW1tdFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkzIHN5cy11dGlscy9sc25zLmM6MTA2NiBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiJXMga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8RWluaMOkbmdlcHVua3Q+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlVuZ2VudXR6dGUgQmzDtmNrZSBlaW5lcyBlaW5nZWjDpG5ndGVuIERhdGVpc3lzdGVtcyB2ZXJ3ZXJmZW4uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICBhbGxlIHVudGVyc3TDvHR6dGVuIERhdGVpc3lzdGVtZSB0cmltbWVuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisiIC1vLCAtLW9mZnNldCA8WmFobD4gZ2lidCBkaWUgQnl0ZS1Qb3NpdGlvbiBpbSBEYXRlaXN5c3RlbSBhbiwgYW4gZGVyIG5hY2hcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIHp1IHZlcndlcmZlbmRlbiBmcmVpZW4gQmzDtmNrZW4gZ2VzdWNodCB3ZXJkZW4gc29sbFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPFphaGw+ICBBbnphaGwgZGVyIHp1IHZlcndlcmZlbmRlbiBCeXRlcyBmZXN0bGVnZW5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLW0sIC0tbWluaW11bSA8WmFobD4gZ2lidCBkZW4gbWluaW1hbGVuIGZyZWllbiB6dSB2ZXJ3ZXJmZW5kZW4gQmVyZWljaCBhblxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICBBbnphaGwgZGVyIHZlcndvcmZlbmVuIEJ5dGVzIGF1c2dlYmVuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJMw6RuZ2UgZGVzIG1pbmltYWxlbiBmcmVpZW4gQmVyZWljaHMga29ubnRlIG5pY2h0IGF1c2dld2VydGV0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJrZWluIEVpbmjDpG5nZXB1bmt0IGFuZ2VnZWJlbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBWZXJ3ZXJmdW5nc3Zvcmdhbmcgd2lyZCBuaWNodCB1bnRlcnN0w7x0enQuIgorCisjIGRlYnVnCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIkRpZSBIYXJkd2FyZXVociBsw6R1ZnQgdmVybXV0bGljaCBpbiAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAibG9rYWxlIFplaXQiCisKKyMgbWVyZ2Ugd2l0aCBuZXh0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisiJXM6IFdhcm51bmc6IHVuYmVrYW5udGUgZHJpdHRlIFplaWxlIGluIGRlciBhZGp0aW1lLURhdGVpXG4iCisiKEVyd2FydGV0IHd1cmRlIOKAnlVUQ+KAnCwg4oCeTE9DQUzigJwgb2RlciBuaWNodHMuKSIKKworIyBYWFgKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiTGV0enRlIEFid2VpY2h1bmdza29ycmVrdHVyIHZvcmdlbm9tbWVuIGJlaSAlbGQgU2VrdW5kZW4gbmFjaCAxOTY5XG4iCisKKyMgWFhYCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJMZXR6dGUgS2FsaWJyaWVydW5nIHZvcmdlbm9tbWVuIGJlaSAlbGQgU2VrdW5kZW4gbmFjaCAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiSGFyZHdhcmV1aHIgZ2VodCBuYWNoICVzIFplaXRcbiIKKworIyBkZWJ1ZworIyBtbWjigKYuIHNlaHIgZ2VlaHJ0ZXIgdXNlcuKApiBkaWVzZXMgaXN0IGtlaW5lIHdlcmJldW50ZXJicmVjaHVuZyB1bmQKKyMgICBrZWluIHNlbmRlYXVzZmFsbOKApiBpY2ggd2FydCBudXIgYXVmIGRhcyBhbmJyZWNoZW4gZGVyIG7DpGNoc3RlbiBmw7xyIG1pY2gKKyMgICByZWxldmFudGVuIHplaXRlaW5oZWl0LgorIyBFZ2dlcgorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJBdWYgVWhydGljayB3aXJkIGdld2FydGV0IOKAplxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIuKApiBTeW5jaHJvbmlzaWVydW5nIGZlaGxnZXNjaGxhZ2VuXG4iCisKKyMgRWdnZXIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIuKApiBVaHJ0aWNrIHd1cmRlIGVtcGZhbmdlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICJVbmfDvGx0aWdlIFdlcnRlIGluIEhhcmR3YXJldWhyOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJaZWl0IGRlciBIYXJkd2FyZXVocjogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBTZWt1bmRlbiBzZWl0IDE5NjlcbiIKKworIyBFZ2dlcgorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiWmVpdCBnZWxlc2VuIGF1cyBIYXJkd2FyZXVocjogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJIYXJkd2FyZXVociB3aXJkIGF1ZiAlLjJkOiUuMmQ6JS4yZCBnZXN0ZWxsdCA9ICVsZCBTZWt1bmRlbiBzZWl0IDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgImRpZSBaZWl0IGlzdCB1bSAlLjZmIFNla3VuZGVuIHp1csO8Y2sgZ2VzcHJ1bmdlbiBhdWYgJWxkLiUwNmxkIC0gTmV1anVzdGllcnVuZ1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgInZlcnBhc3N0IC0gJWxkLiUwNmxkIGlzdCB6dSB3ZWl0IHZvbiAlbGQuJTA2bGQgZW50ZmVybnQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZsZCBpc3QgbmFoZSBnZW51ZyBhbiAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlJUQyB3aXJkIGF1ZiAlbGQgZ2VzZXR6dCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyOAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsIDApIHRvIGxvY2sgdGhlIHdhcnAgZnVuY3Rpb24uIgorbXNnc3RyICIiCisKKyMgZGVidWcKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheSglbGQuJTA2bGQsICVkKVxuIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSB3aXJkIGF1ZmdlcnVmZW46XG4iCisKKyMgZGVidWcKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSB3aXJkIGF1ZmdlcnVmZW46XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICIiCisiRGVyIEFid2VpY2h1bmdzZmFrdG9yIHdpcmQgbmljaHQgdmVyw6RuZGVydCwgZGEgZGllIE9wdGlvbiAtLXVwZGF0ZS1kcmlmdFxuIgorIm5pY2h0IHZlcndlbmRldCB3dXJkZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJEZXIgQWJ3ZWljaHVuZ3NmYWt0b3Igd2lyZCBuaWNodCB2ZXLDpG5kZXJ0LCBkYSBkaWUgWmVpdCBkZXIgbGV0enRlbiBLYWxpYnJpZXJ1bmdcbiIKKyJOdWxsIGlzdCwgYWxzbyBkaWUgQXVmemVpY2hudW5nZW4gYmVzY2jDpGRpZ3Qgc2luZCB1bmQgZGllIEthbGlicmllcnVuZyB2b24gbmV1ZW1cbiIKKyJzdGFydGVuIG11c3MuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIiIKKyJEZXIgQWJ3ZWljaHVuZ3NmYWt0b3Igd2lyZCBuaWNodCB2ZXLDpG5kZXJ0LCBkYSB3ZW5pZ2VyIGFscyB2aWVyIFN0dW5kZW4gc2VpdFxuIgorImRlciBsZXR6dGVuIEthbGlicmllcnVuZyB2ZXJnYW5nZW4gc2luZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiRGVyIEFid2VpY2h1bmdzZmFrdG9yIGRlciBVaHIgd3VyZGUgYWxzICVmIFNla3VuZGVuIHBybyBUYWdlIGVycmVjaG5ldC5cbiIKKyJEYXMgaXN0IHZpZWwgenUgdmllbCwgd2lyZCBhdWYgTnVsbCB6dXLDvGNrZ2VzZXR6dC5cbiIKKworIyBFZ2dlcgorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiRGllIFVociB3aWNoIHVtICVmIFNla3VuZGVuIGluIGRlbiB2ZXJnYW5nZW5lblxuIgorIiVmIFNla3VuZGVuIGFiLCB0cm90eiBlaW5lcyBBYndlaWNodW5nc2Zha3RvcnNcbiIKKyJ2b24gJWYgU2VrdW5kZW4gcHJvIFRhZy5cbiIKKyJEZXIgRmFrdG9yIHdpcmQgdW0gJWYgU2VrdW5kZW4gcHJvIFRhZyBnZcOkbmRlcnQuXG4iCisKKyMgRWdnZXIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIkVzIHZlcmdpbmcgJWQgU2VrdW5kZSBzZWl0IGRlciBsZXR6dGVuIEFucGFzc3VuZy5cbiIKK21zZ3N0clsxXSAiRXMgdmVyZ2luZ2VuICVkIFNla3VuZGVuIHNlaXQgZGVyIGxldHp0ZW4gQW5wYXNzdW5nLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4MgorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIkRpZSBlcnJlY2huZXRlIEFid2VpY2h1bmcgZGVyIEhhcmR3YXJlLVVociBiZXRyw6RndCAlbGQuJTA2bGQgU2VrdW5kZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAiJXMga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJEaWUgVWhyIHdpcmQgbmljaHQgZ2VzdGVsbHQsIGRhIGRpZSBaZWl0IGRlciBsZXR6dGVuIEthbGlicmllcnVuZyBOdWxsIGlzdCwgYWxzbyBkaWUgQXVmemVpY2hudW5nZW4gYmVzY2jDpGRpZ3Qgc2luZC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICJEaWUgVWhyIHdpcmQgbmljaHQgZ2VzdGVsbHQsIGRhIGRlciBBYndlaWNodW5nc2Zha3RvciAlZiB2aWVsIHp1IGdyb8OfIGlzdC5cbiIKKworIyAiU2Nobml0dHN0ZWxsZSIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIktlaW5lIGJyYXVjaGJhcmUgVWhyc2Nobml0dHN0ZWxsZSBnZWZ1bmRlbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIkVzIHd1cmRlIGtlaW5lIFp1Z3JpZmZzYXJ0IGdlZnVuZGVuLCBtaXQgZGVyIGF1ZiBkaWUgSGFyZHdhcmV1aHIgenVnZWdyaWZmZW4gd2VyZGVuIGtvbm50ZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIkJlbnV0emVuIFNpZSBkaWUg4oCeLS1kZWJ1Z+KAnC1PcHRpb24sIHVtIGRpZSB2ZXJzdWNodGVuIFp1Z3JpZmZzYXJ0ZW4gYW56dXplaWdlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIyAiSnVzdGllcnVuZyIKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiRGEgZGllIEFucGFzc3VuZyB3ZW5pZ2VyIGFscyBlaW5lIFNla3VuZGUgYmV0cmFnZW4gaMOkdHRlLCB3aXJkIHNpZSBuaWNodCBkdXJjaGdlZsO8aHJ0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIlN1cGVyYmxvY2sga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICIiCisKKyMgInN0ZWxsZW4iCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiRGllIFN5c3RlbXVociBrb25udGUgbmljaHQgZ2VzdGVsbHQgd2VyZGVuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiBod2Nsb2NrIFtGdW5rdGlvbl0gW09wdGlvbiDigKZdXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MAorbXNnaWQgIlRpbWUgY2xvY2tzIHV0aWxpdHkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tc2hvdyAgICAgICAgICAgZGlzcGxheSB0aGUgUlRDIHRpbWUiCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgQW56ZWlnZSBpbSBSb2htb2R1c1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIFNFTGludXgtS29udGV4dCBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIGRlbiBQb3J0IHp1csO8Y2tzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY2Cittc2dpZCAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgUlRDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBSVEMgZnJvbSB0aGUgc3lzdGVtIHRpbWUiCittc2dzdHIgIiAtdCwgLS10eXBlcyA8TGlzdGU+ICAgICBEYXRlaXN5c3RlbXR5cGVuIG5hY2ggTGlzdGUgZWluc2NocsOkbmtlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuIHVuZCBiZWVuZGVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB2ZXJ3ZW5kZXQgVVRDXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHZlcndlbmRldCBsb2thbGUgWmVpdHpvbmVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPERhdGVpPiAgIGVpbmUgYmVzdGltbXRlIERhdGVpIGFuc3RlbGxlIHZvbiAlcyB2ZXJ3ZW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIgICAgIC0tZGF0ZSA8WmVpdHN0ZW1wZWw+IERhdHVtIGRlciBBdWZ3YWNoemVpdFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKK21zZ2lkICIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgdXNlICUxJHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBrZWluZSDDnGJlcnNjaHJpZnRlbiBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8RGF0ZWk+ICAgZWluZSBiZXN0aW1tdGUgRGF0ZWkgYW5zdGVsbGUgdm9uICVzIHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgVHJvY2tlbmxhdWY7IGRlbiB1bW91bnQoMiktU3lzdGVtYXVmcnVmIMO8YmVyc3ByaW5nZW5sXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYXVzZsO8aHJsaWNoZXIgc2VpblxuIgorCisjICJzdGVsbGVuIgorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICJWZXJiaW5kdW5nIHp1bSBBdWRpdC1TeXN0ZW0ga29ubnRlIG5pY2h0IGF1ZmdlYmF1dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgInp1IHZpZWxlIEFyZ3VtZW50ZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzE3Cittc2dpZCAiLS11cGRhdGUtZHJpZnQgcmVxdWlyZXMgLS1zZXQgb3IgLS1zeXN0b2hjIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyMgorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICJtaXQgLS1ub2FkamZpbGUgbcO8c3NlbiBTaWUgZW50d2VkZXIgLS11dGMgb2RlciAtLWxvY2FsdGltZSBhbmdlYmVuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjkKK21zZ2lkICItLWRhdGUgaXMgcmVxdWlyZWQgZm9yIC0tc2V0IG9yIC0tcHJlZGljdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJ1bmfDvGx0aWdlIEtlbm51bmc6ICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAiQWt0dWVsbGUgU3lzdGVtemVpdDogJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIlRlc3QgbW9kZTogbm90aGluZyB3YXMgY2hhbmdlZC4iCittc2dzdHIgIlplaXRwdW5rdCBkZXIgbGV0enRlbiDDhG5kZXJ1bmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAiRGF0ZWkgJXMga29ubnRlIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICJEaXJla3RlIEUvQS1BbndlaXN1bmdlbiBkZXIgSVNBLVVociB3ZXJkZW4gdmVyd2VuZGV0LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiJXMga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHJ0YyBkZXZpY2UiCittc2dzdHIgImthbm4gbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIGF1ZiAlcywgdW0gZGllIFplaXQgenUgbGVzZW4sIGZlaGxnZXNjaGxhZ2VuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJXYXJ0ZW4gaW4gU2NobGVpZmUgYXVmIMOEbmRlcnVuZyBkZXIgWmVpdCBhdXMgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjMzCittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiWmVpdMO8YmVyc2NocmVpdHVuZyBiZWltIFdhcnRlbiBhdWYgWmVpdMOkbmRlcnVuZy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAic2VsZWN0KCkgYXVmICVzLCB1bSBhdWYgWmVpdHRpY2sgenUgd2FydGVuLCBaZWl0IGFiZ2VsYXVmZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAic2VsZWN0KCkgYXVmICVzLCB1bSBhdWYgWmVpdHRpY2sgenUgd2FydGVuLCBmZWhsZ2VzY2hsYWdlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBhdWYgJXMsIHVtIFVwZGF0ZS1JbnRlcnJ1cHRzIGFienVzY2hhbHRlbiwgZmVobGdlc2NobGFnZW4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGF1ZiAlcyBmZWhsdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIGF1ZiAlcywgdW0gZGllIFplaXQgenUgc2V0emVuLCBmZWhsZ2VzY2hsYWdlbiIKKworIyBkZWJ1ZworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAi4oCeaW9jdGwoJXMp4oCcIHdhciBlcmZvbGdyZWljaC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIHRoZSBydGMgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIkRpZSAvZGV2LVNjaG5pdHRzdGVsbGUgenVyIFVociB3aXJkIHZlcndlbmRldC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBhdWYgJXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBhdWYgJXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAidW5nw7xsdGlnZSBLZW5udW5nOiAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGF1ZiAlcyBmZWhsdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGF1ZiAlcyBmZWhsdCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJWZXJzY2hpZWRlbmUgSVBDLVJlc3NvdXJjZW4gZXJ6ZXVnZW4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8R3LDtsOfZT4gICAgICBnZW1laW5zYW0gZ2VudXR6dGVzIFNwZWljaGVyc2VnbWVudCBkaWVzZXIgPEdyw7bDn2U+IGVyemV1Z2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8WmFobD4gICBlaW4gU2VtYXBob3ItRmVsZCBtaXQgPFphaGw+IEVsZW1lbnRlbiBlcnpldWdlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBOYWNocmljaHRlbndhcnRlc2NobGFuZ2UgZXJ6ZXVnZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIFp1Z3JpZmZzcmVjaHRlIGbDvHIgZGllIFJlc3NvdXJjZSAoVm9yZ2FiZSBpc3QgMDY0NClcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6NzE1IHN5cy11dGlscy96cmFtY3RsLmM6NjI5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIkdyw7bDn2Uga2FubiBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICJFbGVtZW50ZSBrw7ZubmVuIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAiRXJzdGVsbGVuIGdlbWVpbnNhbSBnZW51dHp0ZW4gU3BlaWNoZXJzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIklEIGRlcyBnZW1laW5zYW0gZ2VudXR6dGVuIFNwZWljaGVyczogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICJFcnpldWdlbiBkZXIgTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIk5hY2hyaWNodGVud2FydGVzY2hsYW5nZW5rZW5udW5nOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAiU2VtYXBob3ItRXJzdGVsbHVuZyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIlNlbWFwaG9yLUlEOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxJRD4g4oCmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiQmVzdGltbXRlIElQQy1SZXNzb3VyY2VuIGVudGZlcm5lbi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPElEPiAgICAgICAgZ2VtZWluc2FtIGdlbnV0enRlcyBTcGVpY2hlcnNlZ21lbnQgbmFjaCBJRCBlbmZlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxTY2hsw7xzc2VsPiAgICAgICAgICAgICAgICAgICAgICAgICAgIGdlbWVpbnNhbSBnZW51dHp0ZXMgU3BlaWNoZXJzZWdtZW50IG5hY2ggPFNjaGzDvHNzZWw+IGVudGZlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPElEPiAgICAgICAgTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlIG5hY2ggSUQgZW50ZmVybmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxTY2hsw7xzc2VsPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBOYWNocmljaHRlbndhcnRlc2NobGFuZ2UgbmFjaCBTY2hsw7xzc2VsIGVudGZlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPElEPiAgICBTZW1hcGhvciBuYWNoIElEIGVudGZlcm5lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlLWtleSA8U2NobC4+IFNlbWFwaG9yIG5hY2ggU2NobMO8c3NlbCBlbnRmZXJuZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIGFsbGUgZW50ZmVybmVuIChpbiBkZXIgYW5nZWdlYmVuZW4gS2F0ZWdvcmllKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXJrbMOkcmVuIHdhcyBnZW1hY2h0IHdpcmRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiZ2VtZWluc2FtIGdlbnV0enRlcyBTcGVpY2hlcnNlZ21lbnQgSUQg4oCeJWTigJwgd2lyZCBlbnRmZXJudFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlbmtlbm51bmcg4oCeJWTigJwgd2lyZCBlbnRmZXJudFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJTZW1hcGhvciBJRCDigJ4lZOKAnCB3aXJkIGVudGZlcm50XG4iCisKKyMgbGliYy5wbzogIktlaW5lIEJlcmVjaHRpZ3VuZyIKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJLZWluZSBCZXJlY2h0aWd1bmcgZsO8ciBTY2hsw7xzc2VsIgorCisjIGxpYmMucG86ICJLZWluZSBCZXJlY2h0aWd1bmciCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIktlaW5lIEJlcmVjaHRpZ3VuZyBmw7xyIEtlbm51bmciCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAidW5nw7xsdGlnZXIgU2NobMO8c3NlbCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAidW5nw7xsdGlnZSBLZW5udW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiU2NobMO8c3NlbCBzY2hvbiBlbnRmZXJudCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJJRCBzY2hvbiBlbnRmZXJudCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorbXNnaWQgImtleSBmYWlsZWQiCittc2dzdHIgIlNjaGzDvHNzZWwgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiSUQgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZSBLZW5udW5nOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAiUmVzc291cmNlKG4pIGdlbMO2c2NodFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAidW56dWzDpHNzaWdlciBTY2hsw7xzc2VsICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiRGVyIEtlcm5lbCBpc3QgbmljaHQga29uZmlndXJpZXJ0LCBnZW1laW5zYW1lbiBTcGVpY2hlciB6dSB1bnRlcnN0w7x0emVuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIktlcm5lbCBuaWNodCBmw7xyIFNlbWFwaG9yZW4ga29uZmlndXJpZXJ0IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJLZXJuZWwgbmljaHQgZsO8ciBOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuIGtvbmZpZ3VyaWVydCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW1Jlc3NvdXJjZW5vcHRpb24g4oCmXSBbQXVzZ2FiZW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTcgc3lzLXV0aWxzL2xzaXBjLmM6MjgxCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiIgorIkluZm9ybWF0aW9uZW4gw7xiZXIgRWlucmljaHR1bmdlbiB2b24gSVBDXG4iCisiKEludGVyIFByb2Nlc3MgQ29tbXVuaWNhdGlvbikgYW56ZWlnZW4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxJRD4gIERldGFpbHMgenUgUmVzc291cmNlbiBtaXQgZGVyIDxJRD4gYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJSZXNzb3VyY2Vub3B0aW9uZW46XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIGdlbWVpbnNhbSBnZW51dHp0ZSBTcGVpY2hlcnNlZ21lbnRlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZXMgICAgICBOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIFNlbWFwaG9yZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICBhbGxlIChWb3JnYWJlKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIkF1c2dhYmVvcHRpb25lbjpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIEFuaMOkbmdlLSwgQWJow6RuZ2UtIHVuZCDDhG5kZXJ1bmdzemVpdGVuIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIFByb3plc3MtSURzIGRlcyBFcnpldWdlcnMgdW5kIGxldHp0ZW4gVm9yZ2FuZ3MgYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICBFcnpldWdlciB1bmQgRWlnZW50w7xtZXIgYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAgUmVzc291cmNlbmdyZW56ZW4gYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICBTdGF0dXN6dXNhbW1lbmZhc3N1bmcgYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAgR3LDtsOfZW4gaW4gbWVuc2NoZW5sZXNiYXJlbSBGb3JtYXQgYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICBHcsO2w59lbiBpbiBCeXRlIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIkJlaSBBbmdhYmUgZWluZXIgSUQgbXVzcyBlaW5lIGVpbnplbG5lIFJlc3NvdXJjZSBhbmdlZ2ViZW4gd2VyZGVuLiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgIkRpZSBHcmVuemVuIGbDvHIgZ2V0ZWlsdGVuIFNwZWljaGVyIGvDtm5uZW4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlbWVpbnNhbWVyIFNwZWljaGVyOiBHcmVuemVuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAiTWF4aW1hbGUgQW56YWhsIGFuIFNlZ21lbnRlbiA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAiTWF4aW1hbGUgU2VnbWVudGdyw7bDn2UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE4Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIk1heGltYWxlciBnZXNhbXRlciBnZW1laW5zYW1lciBTcGVpY2hlciIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIm1pbmltYWxlIFNlZ21lbnRncsO2w59lIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiRGVyIEtlcm5lbCBpc3QgbmljaHQga29uZmlndXJpZXJ0LCBnZW1laW5zYW1lbiBTcGVpY2hlciB6dSB1bnRlcnN0w7x0emVuLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlbWVpbnNhbWVyIFNwZWljaGVyOiBTdGF0dXMgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisiU2VnbWVudGUgenVnZXdpZXNlbjogJWRcbiIKKyJTZWl0ZW4genVnZXdpZXNlbjogICVsZFxuIgorIlNlaXRlbiB2b3JoYW5kZW46ICAgJWxkXG4iCisiU2VpdGVuIGF1c2dlbGFnZXJ0OiAlbGRcbiIKKyJBdXNsYWdlcnVuZ3MtUGVyZm9ybWFuY2U6ICVsZCBWZXJzdWNoZVx0ICVsZC1tYWwgZXJmb2xncmVpY2hcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlbWVpbnNhbWVyIFNwZWljaGVyOiBFcnpldWdlci9CZXNpdHplciBkZXIgU2VnbWVudGUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAiUmVjaHRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlbWVpbnNhbWVyIFNwZWljaGVyOiBBdHRhY2gvRGV0YWNoL0NoYW5nZS1aZWl0ZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICJCZXNpdHplciIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAidmVyYnVuZGVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJnZXRyZW5udCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJnZcOkbmRlcnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBFcnpldWdlciBnZW1laW5zYW1lbiBTcGVpY2hlcnMvUElEcyBkZXIgbGV0enRlbiBPcGVyYXRpb25lbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlbWVpbnNhbWVyIFNwZWljaGVyOiBTZWdtZW50ZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAiU2NobMO8c3NlbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJzaXplIgorbXNnc3RyICJHcsO2w59lIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJCeXRlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIlN0YXR1cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiTmljaHQgZmVzdGdlbGVndCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6OTg3IHN5cy11dGlscy9sc2lwYy5jOjk5MworbXNnaWQgImRlc3QiCittc2dzdHIgInplcnN0w7ZydCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgImdlc3BlcnJ0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJkaWUgbWF4aW1hbGUgQW56YWhsIFNlbWFwaG9yZW4ga2FubiBuaWNodCBlcm1pdHRlbHQgd2VyZGVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcmVuZ3JlbnplbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm1heGltYWxlIEFuemFobCB2b24gRmVsZGVybiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm1heGltYWxlIFNlbWFwaG9yZW4gcHJvIEZlbGQgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm1heGltYWxlIHN5c3RlbXdlaXRlIFNlbWFwaG9yZW4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibWF4aW1hbGUgT3BlcmF0aW9uZW4gcHJvIFNlbWFwaG9yZW5hdWZydWYgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAibWF4aW1hbGVyIFNlbWFwaG9yZW53ZXJ0ID0gJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIktlcm5lbCBuaWNodCBmw7xyIFNlbWFwaG9yZW4ga29uZmlndXJpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcmVuc3RhdHVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiYmVudXR6dGUgRmVsZGVyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJ6dWdld2llc2VuZSBTZW1hcGhvcmVuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcmVuZmVsZGVyOiBFcnpldWdlci9CZXNpdHplciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgInNlbWlkIgorbXNnc3RyICJTZW1JRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcm9wZXJhdGlvbi/DhG5kZXJ1bmdzemVpdGVuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAibGFzdC1vcCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgImxhc3QtY2hhbmdlZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFwaG9yZW5mZWxkZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJkaWUgbWF4aW1hbGUgQW56YWhsIE5hY2hyaWNodGVuIGthbm4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBOYWNocmljaHRlbmJlc2NocsOkbmt1bmdlbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibWF4aW1hbGUgc3lzdGVtd2VpdGUgV2FydGVzY2hsYW5nZW4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIm1heGltYWxlIEdyw7bDn2UgZGVyIE5hY2hyaWNodCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJub3JtYWxlIG1heGltYWxlIEdyw7bDn2UgZGVyIFdhcnRlc2NobGFuZ2UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiS2VybmVsIGlzdCBuaWNodCBmw7xyIE5hY2hyaWNodGVud2FydGVzY2hsYW5nZW4ga29uZmlndXJpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE5hY2hyaWNodGVuc3RhdHVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJ6dWdld2llc2VuZSBXYXJ0ZXNjaGxhbmdlbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImJlbnV0enRlIEvDtnBmZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiYmVsZWd0ZXIgUGxhdHoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIkJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlbjogRXJ6ZXVnZXIvRWlnZW50w7xtZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKKyM6IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlbjogVmVyc2FuZC9FbXBmYW5nL8OEbmRlcnVuZy1aZWl0ZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICJWZXJzYW5kIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgIkVtcGZhbmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAiY2hhbmdlIgorbXNnc3RyICLDhG5kZXJ1bmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuOiBQSURzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiQmVudXR6dC1CeXRlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiTmFjaHJpY2h0ZW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgwIHN5cy11dGlscy9pcGNzLmM6NjEwIHN5cy11dGlscy9pcGNzLmM6NjQzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1Mzcgc3lzLXV0aWxzL2xzaXBjLmM6NzI5IHN5cy11dGlscy9sc2lwYy5jOjg4OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImlkICVkIG5pY2h0IGdlZnVuZGVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJHZW1laW5zYW1lciBTcGVpY2hlciBTZWdtZW50IHNobWlkPSVkXG4iCisKKyMgc2ltaWxpYXIgbWVzc2FnZSBiZWxvdy4KKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyMgc2ltaWxpYXIgbWVzc2FnZSBiZWxvdy4KKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgIkdyw7bDn2U9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiQnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXRfdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk5IHN5cy11dGlscy9pcGNzLmM6NjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIsOEbmRlcnVuZ3N6ZWl0ID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5hY2hyaWNodGVud2FydGVzY2hsYW5nZSBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiU2VuZGV6ZWl0ID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiRW1wZmFuZ3N6ZWl0ID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiU2VtYXBob3JlbmZlbGQgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAiU2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInZhbHVlIgorbXNnc3RyICJXZXJ0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInBpZCIKK21zZ3N0ciAiUGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoQnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzIChLQnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJ1bmfDvGx0aWdlIGlNYXJraWVydW5nIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxsZGlzYz4gPEdlcsOkdD5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIkVpbiBTY2huaXR0c3RlbGxlbnByb3Rva29sbCBlaW5lciBzZXJpZWxsZW4gVmVyYmluZHVuZyB6dXdlaXNlbi5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBhdXNmw7xocmxpY2hlIE1lbGR1bmdlbiBhbiBkaWUgRmVobGVyYXVzZ2FiZSBsZWl0ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPFdlcnQ+ICAgICAgR2VzY2h3aW5kaWdrZWl0IGRlciBzZXJpZWxsZW4gTGVpdHVuZyBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1pbnRyby1jb21tYW5kIDxaZWljaGVua2V0dGU+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgRWlubGVpdHVuZyBkaWUgdm9yIGxkYXR0YWNoIGdlc2VuZGV0IHdpcmRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8U2VrdW5kZW4+ICBQYXVzZSB6d2lzY2hlbiBFaW5sZWl0dW5nIHVuZCBsZGF0dGFjaFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgWmVpY2hlbmdyw7bDn2UgYXVmIDcgQml0cyBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgICBaZWljaGVuZ3LDtsOfZSBhdWYgOCBCaXRzIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBQYXJpdMOkdCBhdWYga2VpbmUgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIFBhcml0w6R0IGF1ZiBnZXJhZGUgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgUGFyaXTDpHQgYXVmIHVuZ2VyYWRlIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTUKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIFN0b3AtQml0cyBhdWYgZWluZXMgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgU3RvcC1CaXRzIGF1ZiB6d2VpIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTcKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgS2VubnVuZyBmw7xyIEVpbmdhYmVtb2R1cyBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCZWthbm50ZSA8bGRpc2M+LU5hbWVuOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjYKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJla2FubnRlIDxpTWFya2llcnVuZz4tTmFtZW46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIEdlc2Nod2luZGlna2VpdHNhcmd1bWVudCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgUGF1c2VuLUFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzQKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiVW5nw7xsdGlnZXMgQXJndW1lbnQgZsO8ciBkaWUgTGluZS1EaXNjaXBsaW5lIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIGlzdCBrZWluZSBzZXJpZWxsZSBMZWl0dW5nIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiVGVybWluYWxhdHRyaWJ1dGUgZsO8ciAlcyBrb25udGVuIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiR2VzY2h3aW5kaWdrZWl0ICVkIHdpcmQgbmljaHQgdW50ZXJzdMO8dHp0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiVGVybWluYWxhdHRyaWJ1dGUgZsO8ciAlcyBrb25udGVuIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIkRpZSBlaW5sZWl0ZW5kZW4gQmVmZWhsZSBrw7ZubmVuIG5pY2h0IGFuICVzIGdlc2VuZGV0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIkRpZSBMaW5lLURpc2NpcGxpbiBrYW5uIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJkYXMgUHJvZ3JhbW0ga2FubiBuaWNodCB6dW0gSGludGVyZ3J1bmRwcm96ZXNzIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiYXV0b2NsZWFyLU1hcmtpZXJ1bmcgaXN0IGdlc2V0enQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJEYXRlaSBoaW50ZXIgZGVtIEdlcsOkdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIklub2RlLU51bW1lciBkZXIgRGF0ZWkgaGludGVyIGRlbSBHZXLDpHQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiRGllIE1ham9yLSB1bmQgTWlub3ItR2Vyw6R0ZW51bW1lciBkZXIgZGFydW50ZXJsaWVnZW5kZW4gRGF0ZWkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJOYW1lIGRlcyBMb29wLUdlcsOkdHMgIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiUG9zaXRpb24gYXVzZ2VoZW5kIHZvbSBBbmZhbmciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiRGllIEtlbm51bmcgZsO8ciBwYXJ0aWVsbGUgw5xiZXJwcsO8ZnVuZyB3dXJkZSBnZXNldHp0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAiR3JlbnplIGRlciBEYXRlaSBpbiBCeXRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiTG9vcC1HZXLDpHQgbWFqb3I6bWlub3ItTnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiWnVncmlmZiBhdWYgZGllIHp1Z3J1bmRlIGxpZWdlbmRlIERhdGVpIG1pdHRlbHMgZGlyZWt0ZXIgRS9BIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImxvZ2lzY2hlIFNla3Rvcmdyw7bDn2UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBQb3NpdGlvbiAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBHcsO2w59lbmJlc2NocsOkbmt1bmcgJWp1IgorCisjIFZlcnNjaGzDvHNzZWx1bmdzdHlwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIFZlcnNjaGzDvHNzZWx1bmcgJXMgKFR5cCAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczogVHJlbm5lbiBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtPcHRpb25lbl0gWzxMb29wLUdlcsOkdD5dXG4iCisiICUxJHMgW09wdGlvbmVuXSAtZiB8IDxsb29wLUdlcsOkdD4gPERhdGVpPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIkxvb3AtR2Vyw6R0ZSBlaW5yaWNodGVuIHVuZCBzdGV1ZXJuLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGFsbGUgYmVudXR6dGVuIEdlcsOkdGUgYXVmbGlzdGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPExvb3BnZXLDpHQ+IOKApiAgICBlaW4gb2RlciBtZWhyZXJlIEdlcsOkdGUgdHJlbm5lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgYWxsZSBiZW51dHp0ZW4gR2Vyw6R0ZSB0cmVubmVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZXJzdGVzIHVuYmVudXR6dGVzIEdlcsOkdCBzdWNoZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8TG9vcGdlci4+IEdyw7bDn2UgZGVzIEdlcsOkdGVzIMOkbmRlcm5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDcKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgLWosIC0tYXNzb2NpYXRlZCA8RGF0ZWk+ICAgICAgQWxsZSBHZXLDpHRlIGF1Zmxpc3RlbiwgZGllIG1pdCA8RGF0ZWk+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHp1IHR1biBoYWJlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGVpbiBmcmVpZXMgR2Vyw6R0IHN1Y2hlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPFphaGw+ICAgICAgICAgIEJlZ2lubiBiZWkgT2Zmc2V0IDxaYWhsPiB2b20gRGF0ZWlhbmZhbmdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAtLXNpemVsaW1pdCA8WmFobD4gICAgICAgZGFzIEdlcsOkdCBpc3QgYXVmIDxaYWhsPiBCeXRlcyBkZXIgRGF0ZWkgYmVzY2hyw6Rua3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2lzY2hlIHVuZCBsb2dpc2NoZSBTZWt0b3JncsO2w59lXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBwYXJ0aXRpb25pZXJ0ZXMgTG9vcC1HZXLDpHQgZXJzdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2NocmVpYmdlc2Now7x0enRlcyBMb29wLUdlcsOkdCBlaW5yaWNodGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE3Cittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIGRpZSB6dWdydW5kZSBsaWVnZW5kZSBEYXRlaSBtaXQgT19ESVJFQ1Qgw7ZmZm5lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIEdlcsOkdGVuYW1lIG5hY2ggZGVyIEVpbnJpY2h0dW5nIGF1c2dlYmVuIChtaXQgLWYpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgQXVzZsO8aHJsaWNoZXIgTW9kdXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIGRhcyBKU09OLUF1c2dhYmVmb3JtYXQgZsO8ciAtLWxpc3QgdmVyd2VuZGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgSW5mbyB6dSBhbGxlbiBvZGVyIGFuZ2VnZWJlbmVuIGF1Zmxpc3RlbiAoVm9yZ2FiZSlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBrZWluZSDDnGJlcnNjaHJpZnRlbiBmw7xyIEF1c2dhYmVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtaXQgLS1saXN0IGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxTcGFsdGVuPiAgICAgICAgU3BhbHRlbiBmw7xyIGRpZSBBdXNnYWJlIG1pdCAtLWxpc3QgYW5nZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICBSb2gtQXVzZ2FiZWZvcm1hdCBmw7xyIC0tbGlzdCB2ZXJ3ZW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiJXM6IFdhcm51bmc6IERhdGVpIGlzdCBrbGVpbmVyIGFscyA1MTIgQnl0ZXMsIGRhcyBMb29wLUdlcsOkdCBrw7ZubnRlIHVuYmVudXR6YmFyIG9kZXIgZsO8ciBTeXN0ZW13ZXJremV1Z2UgbmljaHQgc2ljaHRiYXIgc2Vpbi4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBXYXJudW5nOiBEYXRlaSBwYXNzdCBuaWNodCBpbiBlaW5lbiA1MTIgQnl0ZXMgZ3Jvw59lbiBTZWt0b3IsIEVuZGUgZGVyIERhdGVpIHdpcmQgaWdub3JpZXJ0LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIGlzdCBrZWluIGxwLUdlcsOkdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogTG9vcC1HZXLDpHQga29ubnRlIG5pY2h0IGVpbmdlcmljaHRldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IExvb3AtR2Vyw6R0IGtvbm50ZSBuaWNodCBlaW5nZXJpY2h0ZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlczogTG9vcC1HZXLDpHQga29ubnRlIG5pY2h0IGVpbmdlcmljaHRldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTQyIHN5cy11dGlscy9sb3NldHVwLmM6ODQ3Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICJ1bmJlbnV0enRlcyBMb29wLUdlcsOkdCBrb25udGUgbmljaHQgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBkaWUgZGFydW50ZXJsaWVnZW5kZSBEYXRlaSBrb25udGUgbmljaHQgYmVudXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsb2dpY2FsIGJsb2NrIHNpemUiCittc2dzdHIgIkdyw7bDn2Uga2FubiBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6IEJlbnV0enVuZyBkZXMgR2Vyw6R0ZXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAia2VpbiBMb29wLUdlcsOkdCBhbmdlZ2ViZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICJkaWUgT3B0aW9uZW4gJXMgc2luZCBudXIgd8OkaHJlbmQgZGVyIEVpbnJpY2h0dW5nIGRlcyBMb29wLUdlcsOkdHMgenVsw6Rzc2lnIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJkaWUgT3B0aW9uIC0tb2Zmc2V0IGlzdCBpbiBkaWVzZW0gS29udGV4dCBuaWNodCBlcmxhdWJ0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZlc3RsZWdlbiBkZXIgS2FwYXppdMOkdCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGRhcyBTZXR6ZW4gZGlyZWt0ZXIgRS9BIGlzdCAgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBHcsO2w59lbmVybWl0dGx1bmcgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1Cittc2dpZCAibm9uZSIKK21zZ3N0ciAia2VpbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICJuZWJlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKK21zZ2lkICJmdWxsIgorbXNnc3RyICJ2b2xsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiQ29udGFpbmVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICJob3Jpem9udGFsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAidmVydGlrYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAibG9naXNjaGUgQ1BVLU51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAibG9naXNjaGUgS2Vybm51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJsb2dpc2NoZSBTb2NrZXRudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAibG9naXNjaGUgTlVNQS1Lbm90ZW5udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIk51bW1lciBkZXMgbG9naXNjaGVuIEJ1Y2hzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJsb2dpc2NoZSBLZXJubnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICJ6ZWlndCwgd2llIFp3aXNjaGVuc3BlaWNoZXIgdm9uIENQVXMgZ2VtZWluc2FtIGdlbnV0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDEKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICJDUFUtRGlzcGF0Y2hpbmctTW9kdXMgYXVmIHZpcnR1ZWxsZXIgSGFyZHdhcmUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMgorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgInBoeXNpa2FsaXNjaGUgQWRyZXNzZSBlaW5lciBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiemVpZ3QsIG9iIGRlciBIeXBlcnZpc29yIGRpZXNlIENQVSBnZXJhZGUgbnV0enQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNAorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiemVpZ3QsIG9iIExpbnV4IGRpZXNlIENQVSBnZXJhZGUgbnV0enQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNQorbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJ6ZWlndCBkaWUgbWF4aW1hbGUgRnJlcXVlbnogZGVyIENQVSBpbiBNSHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNgorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJ6ZWlndCBkaWUgbWluaW1hbGUgRnJlcXVlbnogZGVyIENQVSBpbiBNSHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgIkZlaGxlcjogdW5hbWUgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiQW56YWhsIGRlciBDUFVzIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJTaWduYWxoYW5kbGVyIGthbm4gbmljaHQgZmVzdGdlbGVndCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEzMDcKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIk5vZGUtTnVtbWVyIGthbm4gbmljaHQgZW50cGFja3Qgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICJZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgTmFjaGZvbGdlbmQgZmluZGVuIFNpZSBkaWUgSW5mb3JtYXRpb25lbiBpbSBhdXN3ZXJ0YmFyZW4gRm9ybWF0LFxuIgorIiMgd2VsY2hlcyB2b24gYW5kZXJlbiBQcm9ncmFtbWVuIHdlaXRlcnZlcmFyYmVpdGV0IHdlcmRlbiBrYW5uLlxuIgorIiMgSmVkZXIgRWludHJhZyBpbiBqZWRlciBTcGFsdGUgaGF0IGVpbmUgZWluZGV1dGlnZSBJRCwgYmVnaW5uZW5kXG4iCisiIyBtaXQgMC5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIkFyY2hpdGVrdHVyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczNworbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiQ1BVIE9wZXJhdGlvbnNtb2R1czoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTc0MgorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJCeXRlLVJlaWhlbmZvbGdlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVShzKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTWFza2UgZGVyIE9ubGluZS1DUFUocyk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkxpc3RlIGRlciBPbmxpbmUtQ1BVKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTWFza2UgZGVyIE9mZmxpbmUtQ1BVKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiTGlzdGUgZGVyIE9mZmxpbmUtQ1BVKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMworbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIlRocmVhZChzKSBwcm8gS2VybjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJLZXJuKGUpIHBybyBTb2NrZXQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiU29ja2VsIHBybyBCdWNoOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMworbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxNQorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICJCdWNoL0LDvGNoZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiU29ja2VsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyMgorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk5VTUEtS25vdGVuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIkFuYmlldGVya2VubnVuZzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiUGFydGl0aW9uc3R5cDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiUHJvemVzc29yZmFtaWxpZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZGVsbDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTW9kZWxsbmFtZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzQKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIlN0ZXBwaW5nOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzOAorIywgZnV6enkKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJNaW5pbWFsZSBUYWt0ZnJlcXVlbnogZGVyIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJNYXhpbWFsZSBUYWt0ZnJlcXVlbnogZGVyIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIk1heGltYWxlIFRha3RmcmVxdWVueiBkZXIgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiTWluaW1hbGUgVGFrdGZyZXF1ZW56IGRlciBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGlzaWVydW5nOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIeXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiSHlwZXJ2aXNvci1BbmJpZXRlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiVmlydHVhbGlzaWVydW5nc3R5cDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiRGlzcGF0Y2hpbmctTW9kdXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIlcyBDYWNoZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiTlVNQS1Lbm90ZW4lZCBDUFUocyk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIkFuemFobCBkZXIgcGh5c2lzY2hlbiBTb2NrZXRzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiQW56YWhsIHBoeXNpc2NoZXIgQ2hpcHM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg0Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIkFuemFobCBwaHlzaXNjaGVyIEtlcm5lL0NoaXBzOiIKKworIyBJIGN1cnJlbnRseSBkb24ndCBrbm93IGEgYmV0dGVyIHRyYW5zbGF0aW9uCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJNYXJraWVydW5nZW46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiSW5mb3JtYXRpb25lbiB6dXIgQ1BVLUFyY2hpdGVrdHVyIGFuemVpZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgc293b2hsIE9ubGluZS0gYWxzIGF1Y2ggT2ZmbGluZS1DUFVzIGF1c2dlYmVuIChWb3JnYWJlIGbDvHIgLWUpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDcKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBudXIgT25saW5lLUNQVXMgYXVzZ2ViZW4gKFZvcmdhYmUgZsO8ciAtcClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgbnVyIE9mZmxpbmUtQ1BVcyBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICB1c2UgSlNPTiBmb3IgZGVmYXVsdCBvciBleHRlbmRlZCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgRGF0ZW4gaW0gSlNPTi1Gb3JtYXQgYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHRlbmRlZFs9PExpc3RlPl0gZWluIGVyd2VpdGVydGVzIGxlc2JhcmVzIEZvcm1hdCBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTExCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTxMaXN0ZT5dICAgaW4gYXVzd2VydGJhcmVtIEZvcm1hdCBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxWZXJ6PiAgICBhbmdlZ2ViZW5lcyBWZXJ6ZWljaG5pcyBhbHMgU3lzdGVtd3VyemVsIHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIEhleGFkZXppbWFsbWFza2VuIGFuc3RlbGxlIHZvbiBDUFUtTGlzdGVuIGF1c2dlYmVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGFsbGUgR2Vyw6R0ZSBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQXJndW1lbnQ6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IGRpZSBPcHRpb25lbiAtLWFsbCwgLS1vbmxpbmUgdW5kIC0tb2ZmbGluZSBrw7ZubmVuIG51ciB6dXNhbW1lbiBtaXQgZGVuIE9wdGlvbmVuIC0tZXh0ZW5kZWQgb2RlciAtLXBhcnNlIHZlcndlbmRldCB3ZXJkZW4uXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiUmVzc291cmNlbnNjaGzDvHNzZWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiU2NobMO8c3NlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIlJlc3NvdXJjZW4tSUQiCisKKyMgSSB0aGluayB0aGlzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZAorIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIklEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiQmVudXR6ZXJuYW1lIG9kZXIgVUlEIGRlcyBFaWdlbnTDvG1lcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJCZXNpdHplciIKKworIyBjLWZvcm1hdAorIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlJlY2h0ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIlVJRCBkZXMgRXJ6ZXVnZXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgImVyemV1Z2VuZGVyIEJlbnV0emVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiR0lEIGRlcyBFcnpldWdlcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIkdydXBwZSBkZXMgRXJ6ZXVnZXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJCZW51dHplcmtlbm51bmciCisKKyMgSSB0aGluayB0aGlzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZAorIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiQmVudXR6ZXJuYW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiR3J1cHBlbi1JRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIkdydXBwZW5uYW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiWmVpdHB1bmt0IGRlciBsZXR6dGVuIMOEbmRlcnVuZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgImxldHp0ZSDDhG5kZXJ1bmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgInZlcndlbmRldGUgQnl0ZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiQW56YWhsIGRlciBOYWNocmljaHRlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIk5hY2hyaWNodGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIkRhdHVtIGRlciBsZXR6dGVuIGdlc2VuZGV0ZW4gTmFjaHJpY2h0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiTmFjaHJpY2h0IGdlc2VuZGV0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJaZWl0IGRlciBsZXR6dGVuIGdlc2VuZGV0ZW4gTmFjaHJpY2h0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIk5hY2hyaWNodCBlbXBmYW5nZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICJQSUQgZGVzIGxldHp0ZW4gTmFjaHJpY2h0ZW5zZW5kZXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICJOYWNocmljaHRlbnNlbmRlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiUElEIGRlcyBsZXR6dGVuIE5hY2hyaWNodGVuZW1wZsOkbmdlcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiTmFjaHJpY2h0ZW5lbXBmw6RuZ2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlNlZ21lbnRncsO2w59lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJBbnphaGwgZGVyIHZlcmJ1bmRlbmVuIFByb3plc3NlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIlZlcmJ1bmRlbmUgUHJvemVzc2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiU3RhdHVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiWmVpdHB1bmt0IGRlcyBWZXJiaW5kZW5zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiWmVpdHB1bmt0IGRlciBUcmVubnVuZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIkJlZmVobHN6ZWlsZSBkZXMgZXJ6ZXVnZW5kZW4gUHJvemVzc2VzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIkVyemV1Z2VuZGVyIEJlZmVobCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgZGVzIGVyemV1Z2VuZGVuIFByb3plc3NlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIkVyemV1Z2VyLVBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiUElEIGRlcyBsZXR6dGVuIEJlbnV0emVycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiUElEIGxldHp0ZXIgQmVudXR6ZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJBbnphaGwgZGVyIFNlbWFwaG9yZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbWFwaG9yZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJaZWl0cHVua3QgZGVyIGxldHp0ZW4gT3BlcmF0aW9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiTGV0enRlIE9wZXJhdGlvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiUmVzc291cmNlbm5hbWUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICJSZXNzb3VyY2UiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJSZXNzb3VyY2VuYmVzY2hyZWlidW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiTWFya2llcnVuZ3NiZXNjaHJlaWJ1bmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJEZXJ6ZWl0IHZlcndlbmRldCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiVmVyd2VuZGV0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkRlcnplaXRpZ2UgcHJvemVudHVhbGUgTnV0enVuZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJOdXR6dW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiU3lzdGVtd2VpdGUgQmVncmVuenVuZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIkdyZW56ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiU3BhbHRlICVzIGthbm4gbmljaHQgZsO8ciBkaWUgYW5nZWdlYmVuIElQQyB2ZXJ3ZW5kZXQgd2VkZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiAtZywgLS1nbG9iYWwgICAgICBJbmZvcm1hdGlvbiDDvGJlciBzeXN0ZW13ZWl0ZSBOdXR6dW5nIChrYW5uIG1pdCAtbSwgLXEgdW5kIC1zIHZlcndlbmRldCB3ZXJkZW4pXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPElEPiAgICAgRGV0YWlscyB6dSBSZXNzb3VyY2VuIG1pdCBkZXIgSUQgPElEPiBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgR1LDllNTRSBpbiBCeXRlcyBhdXNnZWJlbiwgc3RhdHQgaW0gbWVuc2NoZW5sZXNiYXJlbiBGb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk2Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgRXJ6ZXVnZXIgdW5kIEVpZ2VudMO8bWVyIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICBkYXMgSlNPTi1BdXNnYWJlZm9ybWF0IHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGltIExpc3RlbmZvcm1hdCBhdXNnZWJlbiAoei5CLiB6dXNhbW1lbiBtaXQgLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgWnVncmlmZnNyZWNodGUgbnVtZXJpc2NoIGF1c2dlYmVuIChTcGFsdGUgUkVDSFRFKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIEFuaMOkbmdlLSwgVHJlbm51bmdzLSB1bmQgw4RuZGVydW5nc3plaXRlbiBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFsbGdlbWVpbmUgU3BhbHRlbjpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNwYWx0ZW4gZ2VtZWluc2FtZW4gU3BlaWNoZXJzICgtLXNobWVtcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuICgtLXF1ZXVlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZW1hcGhvcmVuLVNwYWx0ZW4gKC0tc2VtYXBob3Jlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTdW1tZW5zcGFsdGVuICgtLWdsb2JhbCk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJFbGVtZW50ZTpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJEYXRlbiBrw7ZubmVuIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJBbnphaGwgZWluZGV1dGlnZXIgU2VtYXBob3JlbmJlemVpY2huZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJHZXNhbXR6YWhsIGRlciBTZW1hcGhvcmVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIk1heGltYWxlIEFuemFobCBTZW1hcGhvcmVuIHBybyBTZW1hcGhvcmVuLVNhdHouIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJtYXhpbWFsZSBBbnphaGwgYW4gT3BlcmF0aW9uZW4gcHJvIHNlbW9wKDIpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJtYXhpbWFsZXIgU2VtYXBob3JlbndlcnQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3MworbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiQW56YWhsIGRlciBOYWNocmljaHRlbndhcnRlc2NobGFuZ2VuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIm1heGltYWxlIEdyw7bDn2UgZGVyIE5hY2hyaWNodGVuIChCeXRlcykiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiVm9yZ2FiZSBmw7xyIG1heGltYWxlIEdyw7bDn2UgZGVyIFdhcnRlc2NobGFuZ2UgKEJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAibmljaHQgcmVzZXJ2aWVyZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJTZWdtZW50ZSBnZW1laW5zYW1lbiBTcGVpY2hlcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJTZWl0ZW4gZ2V0ZWlsdGVuIFNwZWljaGVycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJNYXhpbWFsZSBHcsO2w59lIGRlcyBnZW1laW5zYW0gZ2VudXR6dGVuIFNwZWljaGVyc2VnbWVudHMgKEJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJNaW5pbWFsZSBHcsO2w59lIGRlcyBnZW1laW5zYW0gZ2VudXR6dGVuIFNwZWljaGVyc2VnbWVudHMgKEJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTE0NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiZGllIElQQy1JRCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiLS1nbG9iYWwga2FubiBuaWNodCB6dXNhbW1lbiBtaXQgLS1jcmVhdG9yLCAtLWlkIG9kZXIgLS10aW1lIHZlcndlbmRldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIkdyw7bDn2UgZGVzIEdlcsOkdHMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMAorbXNnaWQgIm9ubGluZSBzdGF0dXMgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAibWVtb3J5IGlzIHJlbW92YWJsZSIKK21zZ3N0ciAiIGVudGZlcm5iYXIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICJBbnphaGwgZGVyIFNla3RvcmVuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIkdyw7bDn2UgZGVzIEdlcsOkdHMiCisKKyMgdGw6ICJiZXRyaWVic2JlcmVpdCIKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MQorIywgZnV6enkKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIyB0bDogImJldHJpZWJzYmVyZWl0IgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAiQmxvY2tncsO2w59lIGVybWl0dGVsbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiTWF4aW1hbGVyIGdlc2FtdGVyIGdlbWVpbnNhbWVyIFNwZWljaGVyIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIiVzIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDcyCisjLCBmdXp6eQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgbWVtb3J5IGJsb2NrcyIKK21zZ3N0ciAiRGllc2VzIFN5c3RlbSB1bnRlcnN0w7x0enQgZGFzIE5ldWVpbmxlc2VuIGRlciBDUFVzIG5pY2h0LiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgbGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBhbGxlIEdlcsOkdGUgYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGxpdCA8bGlzdD4gICBzcGxpdCByYW5nZXMgYnkgc3BlY2lmaWVkIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8TGlzdGU+ICAgICAgU3BhbHRlbiBkZXIgQXVzZ2FiZVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8VmVyej4gICAgYW5nZWdlYmVuZXMgVmVyemVpY2huaXMgYWxzIFN5c3RlbXd1cnplbCB2ZXJ3ZW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTExCittc2dpZCAiICAgICAtLXN1bW1hcnlbPXdoZW5dIHByaW50IHN1bW1hcnkgaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBvciBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYxOAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXN1bW1hcnkgYXJndW1lbnQiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGVzIC0tc2V0Z3JvdXBzLUFyZ3VtZW50IOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIkRpZSBPcHRpb25lbiAtLXNldGdyb3Vwcz1hbGxvdyB1bmQgLS1tYXAtcm9vdC11c2VyIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIkF1c2dhYmV0YWJlbGxlIGtvbm50ZSBuaWNodCBpbml0aWFsaXNpZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6Njc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIkF1c2dhYmVzcGFsdGUga29ubnRlIG5pY2h0IGluaXRpYWxpc2llcnQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjk5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIk5hbWVuc3JhdW0tS2VubnVuZyAoSW5vZGUtTnVtbWVyKSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiQXJ0IGRlcyBOYW1lbnNyYXVtZXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJQZmFkIHp1bSBOYW1lbnNyYXVtIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiQW56YWhsIGRlciBQcm96ZXNzZSBpbSBOYW1lbnNyYXVtIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAia2xlaW5zdGUgUElEIGltIE5hbWVuc3JhdW0iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElEIGRlciBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIktvbW1hbmRvemVpbGUgZGVyIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDYKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiVUlEIGRlciBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3Cittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiQmVudXR6ZXJuYW1lIGRlciBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA4Cittc2dpZCAibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDkKK21zZ2lkICJuc2ZzIG1vdW50cG9pbnQgKHVzdWFsbHkgdXNlZCBuZXR3b3JrIHN1YnN5c3RlbSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJkYXMgSGluenVmw7xnZW4gZWluZXIgWmVpbGUgenVyIEF1c2dhYmUgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxOYW1lbnNyYXVtPl1cbiIKKworIyAic3RlbGxlbiIKKyM6IHN5cy11dGlscy9sc25zLmM6ODk4Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiTmFtZW5zcsOkdW1lIGRlcyBTeXN0ZW1zIGF1Zmxpc3Rlbi5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXRhc2sgPFBJRD4gICAgICAgUHJvemVzcy1OYW1lbnNyw6R1bWUgYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG5pY2h0IGluIC9ldGMvbXRhYiBzY2hyZWliZW5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxOYW1lPiAgICAgIFR5cCBkZXMgTmFtZW5zcmF1bWVzIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cylcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJ1bmJla2FubnRlciBOYW1lbnNyYXVtdHlwOiAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICJPcHRpb24gLS10YXNrIHVuZCA8TmFtZW5zcmF1bT4gc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VyIE5hbWVuc3JhdW0gYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICJuaWNodCBnZWZ1bmRlbmVyIE5hbWVuc3JhdW06ICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJudXIgZGVyIFN5c3RlbWFkbWluaXN0cmF0b3IgZGFyZiBkaWUgT3B0aW9uIC0tJXMgdmVyd2VuZGVuIChlZmZla3RpdmUgVUlEIGlzdCAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibnVyIGRlciBTeXN0ZW1hZG1pbmlzdHJhdG9yIGRhcmYgZGllcyB0dW4gKGVmZmVrdGl2ZSBVSUQgaXN0ICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIm51ciDigJ5yb2904oCcIGthbm4gZGllIE9wdGlvbiDigJ4tLSVz4oCcIHZlcndlbmRlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibnVyIOKAnnJvb3TigJwga2FubiBkaWVzIHR1biIKKworIyAibWtmcyBhdXMgdXRpbC1saW51eC0yLjEwZCIKKyMgIm1rZnMgdm9uIHV0aWwtbGludXgtMi4xMGQiCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIGF1cyAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIm10YWIga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czogaWdub3JpZXJ0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVzOiBiZXJlaXRzIGVpbmdlaMOkbmd0XG4iCisKKyMgYy1mb3JtYXQKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcyB3dXJkZSB2ZXJzY2hvYmVuIG5hY2ggJXMuXG4iCisKKyMgYy1mb3JtYXQKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyB3dXJkZSBhdWYgJXMgZWluZ2Vow6RuZ3QuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MyBzeXMtdXRpbHMvbW91bnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBpc3QgYXVmICVzIGVpbmdlaMOkbmd0LlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiBkaWUgV2VpdGVyZ2FiZW1vZGkgdm9uICVzIHd1cmRlbiBnZcOkbmRlcnQuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBlbnRow6RsdCBrZWluZSBTRUxpbnV4LUxhYmVscy5cbiIKKyIgICAgICAgU2llIGhhYmVuIGdlcmFkZSBhdWYgZWluZW0gU0VMaW51eC1SZWNobmVyIGVpbiBEYXRlaXN5c3RlbSBlaW5nZWjDpG5ndCxcbiIKKyIgICAgICAgZGFzIExhYmVscyB1bnRlcnN0w7x0enQsIGFiZXIga2VpbmUgZW50aMOkbHQuIEVzIGlzdCB3YWhyc2NoZWlubGljaCwgZGFzc1xuIgorIiAgICAgICBBbndlbmR1bmdlbiBtaXQgZW50c3ByZWNoZW5kZW4gRWluc2NocsOkbmt1bmdlbiBBVkMtTWVsZHVuZ2VuIGVyemV1Z2VuIHVuZFxuIgorIiAgICAgICBkZW4gWnVncmlmZiBhdWYgZGllc2VzIERhdGVpc3lzdGVtIHZlcndlaWdlcm4uIFdlaXRlcmUgRGV0YWlscyBoaWVyenVcbiIKKyIgICAgICAgZmluZGVuIFNpZSBpbiByZXN0b3JlY29uKDgpIHVuZCBtb3VudCg4KS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IEVpbmxlc2VuIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIk5pY2h0IHVudGVyc3TDvHR6dGVzIE9wdGlvbnNmb3JtYXQ6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiT3B0aW9uIOKAniVz4oCcIGtvbm50ZSBuaWNodCBhbmdlaMOkbmd0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW09wdGlvbmVuXVxuIgorIiAlMSRzIFtPcHRpb25lbl0gWy0tc291cmNlXSA8UXVlbGxlPiB8IFstLXRhcmdldF0gPFZlcnplaWNobmlzPlxuIgorIiAlMSRzIFtPcHRpb25lbl0gPFF1ZWxsZT4gPFZlcnplaWNobmlzPlxuIgorIiAlMSRzIDxPcGVyYXRpb24+IDxFaW5ow6RuZ2VwdW5rdD4gWzxaaWVsPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFaW4gRGF0ZWlzeXN0ZW0gZWluaMOkbmdlbi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBhbGxlIGluIGZzdGFiIGF1ZmdlZsO8aHJ0ZW4gRGF0ZWlzeXN0ZW1lIGVpbmjDpG5nZW5cbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgUGZhZGUgbmljaHQgdmVyZWluaGVpdGxpY2hlblxuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBQcm9iZWxhdWY7IGRlbiBtb3VudCgyKS1TeXN0ZW1hdWZydWYgYXVzbGFzc2VuXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGbDvHIgamVkZXMgR2Vyw6R0IGVpbmVuIEtpbmRwcm96ZXNzIHN0YXJ0ZW4gKHZlcndlbmRlbiBtaXQgLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxQZmFkPiAgICAgIGFsdGVybmF0aXZlIERhdGVpIGbDvHIgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkaWUgdW1vdW50LjxUeXA+LUhpbGZzcHJvZ3JhbW1lIG5pY2h0IGF1ZnJ1ZmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBhdWNoIGRpZSBEYXRlaXN5c3RlbS1LZW5udW5nZW4gYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE0IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuaWNodCBpbiAvZXRjL210YWIgc2NocmVpYmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8TGlzdGU+ICAgZHVyY2ggS29tbWF0YSBnZXRyZW5udGUgTGlzdGUgdm9uIEVpbmjDpG5nb3B0aW9uZW5cbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxMaXN0ZT4gZGllIE1lbmdlIGRlciBEYXRlaXN5c3RlbWUgZWluZ3JlbnplbiAoenVzYW1tZW4gbWl0IC1hIHZlcndlbmRlbilcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgZGFzIERhdGVpc3lzdGVtIHNjaHJlaWJnZXNjaMO8dHp0IGVpbmjDpG5nZW4gKGlkZW50aXNjaCBtaXQgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxMaXN0ZT4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxRdWVsbGU+ICAgUXVlbGxlIGV4cGxpeml0IGFuZ2ViZW4gKFBmYWQsIEtlbm51bmcsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8WmllbD4gICAgIEVpbmjDpG5ncHVua3QgZXhwbGl6aXQgYW5nZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZXJrbMOkcmVuLCB3YXMgZ2VzY2hpZWh0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIGRhcyBEYXRlaXN5c3RlbSBsZXNlbmQgdW5kIHNjaHJlaWJlbmQgZWluaMOkbmdlbiAoVm9yZ2FiZSlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorIlxuIgorIlF1ZWxsZTpcbiIKKyIgLUwsIC0tbGFiZWwgPEtlbm51bmc+ICAgU3lub255bSBmw7xyIExBQkVMPTxLZW5udW5nPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBTeW5vbnltIGbDvHIgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PEtlbm51bmc+ICAgICAgICAgQW5nYWJlIGRlcyBHZXLDpHRlcyBtaXR0ZWxzIERhdGVpc3lzdGVta2VubnVuZ1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBBbmdhYmUgZGVzIEdlcsOkdGVzIG1pdHRlbHMgRGF0ZWlzeXN0ZW0tVVVJRFxuIgorIiBQQVJUTEFCRUw9PEtlbm51bmc+ICAgICBBbmdhYmUgZGVzIEdlcsOkdGVzIG1pdHRlbHMgUGFydGl0aW9uc2tlbm51bmdcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgQW5nYWJlIGRlcyBHZXLDpHRlcyBtaXR0ZWxzIFBhcnRpdGlvbnMtVVVJRFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIEdlcsOkdCBtaXR0ZWxzIFBmYWQgYW5nZWJlblxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBFaW5ow6RuZ3B1bmt0IGbDvHIgQmluZG1vdW50cyAoc2llaGUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bMOkcmUgRGF0ZWkgZsO8ciBkYXMgQXVmc2V0emVuIHZvbiBMb29wZGV2aWNlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisiXG4iCisiT3BlcmF0aW9uZW46XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIGVpbmVuIFVudGVydmVyemVpY2huaXNiYXVtIGFuIGFuZGVyZXIgU3RlbGxlIGVpbmjDpG5nZW4gKGlkZW50aXNjaCBtaXQgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gdmVyc2NoaWViZW5cbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gdW5kIGFsbGUgdGllZmVyIGxpZWdlbmRlbiBFaW5ow6RuZ3VuZ2VuIHZlcnNjaGllYmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSBhbHMgZ2V0ZWlsdCBtYXJraWVyZW5cbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gYWxzIFNrbGF2ZSBtYXJraWVyZW5cbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gYWxzIHByaXZhdCBtYXJraWVyZW5cbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gYWxzIG5pY2h0IGVpbmJpbmRiYXIgbWFya2llcmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICBlaW5lbiBVbnRlcnZlcnplaWNobmlzYmF1bSByZWt1cnNpdiBhbHMgZ2V0ZWlsdCBtYXJraWVyZW5cbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gcmVrdXJzaXYgYWxzIFNrbGF2ZSBtYXJraWVyZW5cbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gcmVrdXJzaXYgYWxzIHByaXZhdCBtYXJraWVyZW5cbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgZWluZW4gVW50ZXJ2ZXJ6ZWljaG5pc2JhdW0gcmVrdXJzaXYgYWxzIG5pY2h0IGVpbmJpbmRiYXIgbWFya2llcmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQtS29udGV4dHp1d2Vpc3VuZyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIk9wdGlvbnNtdXN0ZXIga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJRdWVsbGUgd3VyZGUgbWVocmZhY2ggYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC9QZmFkL3p1bS9WZXJ6ZWljaG5pc1xuIgorIiAlMSRzIC14IC9kZXYvR2Vyw6R0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIzCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiw5xiZXJwcsO8ZmVuLCBvYiBlaW4gVmVyemVpY2huaXMgZWluIEVpbmjDpG5nZXB1bmt0IGlzdC5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgU3RpbGxlciBNb2R1cyAtIG5pY2h0cyBhdXNnZWJlblxuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgR2Vyw6R0ZW51bW1lciAobWFqOm1pbikgZGVzIERhdGVpc3lzdGVtcyBhdXNnZWJlblxuIgorIiAteCwgLS1kZXZubyAgICAgICAgR2Vyw6R0ZW51bW1lciAobWFqOm1pbikgZGVzIGJsb2Nrb3JpZW50aWVydGVuXG4iCisiICAgICAgICAgICAgICAgICAgICBHZXLDpHRlcyBhdXNnZWJlblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGlzdCBrZWluIEVpbmjDpG5nZXB1bmt0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBpc3QgZWluIEVpbmjDpG5nZXB1bmt0XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSA8UHJvZ3JhbW0+IFs8QXJndW1lbnQ+IOKApl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiUHJvZ3JhbW1lIGltIE5hbWVuc3JhdW0gYW5kZXJlciBQcm96ZXNzZSBhdXNmw7xocmVuLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBhbGxlIEdlcsOkdGUgYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8UElEPiAgICAgWmllbHByb3plc3MsIGF1cyBkZW0gTmFtZW5zcsOkdW1lIGVybWl0dGVsdCB3ZXJkZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTxEYXRlaT5dICBpbiBkZW4gRWluaMOkbmdlLU5hbWVuc3JhdW0gd2VjaHNlbG5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PERhdGVpPl0gICAgaW4gZGVuIFVUUy1OYW1lbnNyYXVtIHdlY2hzZWxuIChob3N0bmFtZSB1c3cuKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08RGF0ZWk+XSAgICBpbiBkZW4gU3lzdGVtVi1JUEMtTmFtZW5zcmF1bSB3ZWNoc2VsblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PERhdGVpPl0gICAgaW4gZGVuIE5ldHp3ZXJrLU5hbWVuc3JhdW0gd2VjaHNlbG5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PERhdGVpPl0gICAgaW4gZGVuIFByb3plc3MtSUQtTmFtZW5zcmF1bSB3ZWNoc2VsblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUMsIC0tY2dyb3VwWz08RGF0ZWk+XSAgaW4gZGVuIENncm91cC1OYW1lbnNyYXVtIHdlY2hzZWxuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PERhdGVpPl0gICAgaW4gZGVuIEJlbnV0emVyLU5hbWVuc3JhdW0gd2VjaHNlbG5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZFsgPFVJRD5dIFVJRCBpbSBhbmdlZ2ViZW5lbiBOYW1lbnNyYXVtIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUcsIC0tc2V0Z2lkIDxHSUQ+IEdJRCBpbSBhbmdlZ2ViZW5lbiBOYW1lbnNyYXVtIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBCZW51dHplci1JRHMgb2RlciBHcnVwcGVuLUlEc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5pY2h0IGFudGFzdGVuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz08VmVyej5dICAgIGRhcyBXdXJ6ZWx2ZXJ6ZWljaG5pcyBmZXN0bGVnZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MworbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC13LCAtLXdkWz08VmVyej5dICAgICAgQXJiZWl0c3ZlcnplaWNobmlzIGZlc3RsZWdlblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICB2b3IgZGVyIEF1c2bDvGhydW5nIGRlcyA8UHJvZ3JhbW1zPiBuaWNodCBmb3JrZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBTRUxpbnV4LUtvbnRleHQgbmFjaCBNYcOfZ2FiZSB2b24gLS10YXJnZXQgUElEIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiV2VkZXIgRGF0ZWluYW1lIG5vY2ggWmllbC1QSUQgd3VyZGVuIGbDvHIgJXMgYW5nZWdlYmVuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgInVpZCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiZ2lkIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAia2VpbmUgWmllbC1QSUQgZsO8ciAtLWZvbGxvdy1jb250ZXh0IGFuZ2VnZWJlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgIlNFTGludXgtS29udGV4dCAlZCBrb25udGUgbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiS29udGV4dCBmw7xyIEF1c2bDvGhydW5nIGtvbm50ZSBuaWNodCBhdWYg4oCeJXPigJwgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAia2VpbmUgWmllbC1QSUQgZsO8ciAtLWZvbGxvdy1jb250ZXh0IGFuZ2VnZWJlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJOZXV6dXdlaXN1bmcgenUgTmFtZW5zcmF1bSDigJ4lc+KAnCBpc3QgZmVobGdlc2NobGFnZW4gIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgImFrdHVlbGxlcyBBcmJlaXRzdmVyemVpY2huaXMga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0OAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJXZWNoc2VsIGRlcyBWZXJ6ZWljaG5pc3NlcyBkdXJjaCBkZW4gRGF0ZWlkZXNrcmlwdG9yIGRlcyBXdXJ6ZWx2ZXJ6ZWljaG5pc3NlcyBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAiY2hyb290IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ2MQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiV2VjaHNlbCBkZXMgVmVyemVpY2huaXNzZXMgZHVyY2ggZGVuIERhdGVpZGVza3JpcHRvciBkZXMgQXJiZWl0c3ZlcnplaWNobmlzc2VzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIG5ldWVfV3VyemVsIGFsdGVfV3VyemVsXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRGFzIFJvb3QtRGF0ZWlzeXN0ZW0gd2VjaHNlbG4uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJTeXN0ZW13dXJ6ZWwga29ubnRlIG5pY2h0IHZvbiDigJ4lc+KAnCBpbiDigJ4lc+KAnCBnZcOkbmRlcnQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiQWRyZXNzcmF1bWJlZ3Jlbnp1bmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIm1heGltYWxlIEdyw7bDn2UgZWluZXIgQ29yZS1EYXRlaSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJQcm96ZXNzb3J6ZWl0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAiU2VrdW5kZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJtYXhpbWFsZSBEYXRlbmdyw7bDn2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJtYXhpbWFsZSBEYXRlaWdyw7bDn2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAibWF4aW1hbGUgQW56YWhsIGFuIGVpbmdlcmljaHRldGVuIERhdGVpc3BlcnJlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICJTcGVycmVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAibWF4aW1hbGVyIGltIFNwZWljaGVyIGdlc3BlcnJ0ZXIgQWRyZXNzcmF1bSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJtYXhpbWFsZSBBbnphaGwgQnl0ZXMgaW4gUE9TSVgtTWVsZHVuZ3N3YXJ0ZXNjaGxhbmdlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAibWF4aW1hbCB6dWzDpHNzaWdlIEVyaMO2aHVuZyBkZXIgTmljZS1Qcmlvcml0w6R0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJtYXhpbWFsZSBBbnphaGwgYW4gZ2XDtmZmbmV0ZW4gRGF0ZWllbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICJEYXRlaWVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm1heGltYWxlIEFuemFobCBhbiBQcm96ZXNzZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIlByb3plc3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIm1heGltYWwgZGF1ZXJoYWZ0IGJlbGVndGVyIFNwZWljaGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAibWF4aW1hbGUgRWNodHplaXRwcmlvcml0w6R0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICJaZWl0w7xiZXJzY2hyZWl0dW5nIGbDvHIgRWNodHplaXQtVGFza3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIk1pa3Jvc2VrdW5kZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibWF4aW1hbGUgQW56YWhsIGF1c3N0ZWhlbmRlciBTaWduYWxlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiU2lnbmFsZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJtYXhpbWFsZSBTdGFja2dyw7bDn2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiUmVzc291cmNlbm5hbWUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIlJlc3NvdXJjZW5iZXNjaHJlaWJ1bmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAid2VpY2hlIEdyZW56ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiaGFydGUgR3JlbnplIChPYmVyZ3JlbnplKSIKKworIyBNYXliZSB3aXRob3V0IHRoZSBkb3QuCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICJFaW5oZWl0ZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIEJFRkVITFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NworbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJCZWdyZW56dW5nZW4gZsO8ciBQcm96ZXNzcmVzc291cmNlbiBlcm1pdHRlbG4gdW5kIGZlc3RsZWdlbi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWxsZ2VtZWluZSBPcHRpb25lbjpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPFBJRD4gICAgICAgIFByb3plc3MtSURcbiIKKyIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICBsZWd0IGRpZSB6dSB2ZXJ3ZW5kZW5kZW4gQXVzZ2FiZXNwYWx0ZW4gZmVzdFxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGdpYnQga2VpbmUgS29wZnplaWxlbiBhdXNcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB2ZXJ3ZW5kZXQgZGFzIFJvaGZvcm1hdCBmw7xyIGRpZSBBdXNnYWJlXG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgYWt0aXZpZXJ0IGRpZSBhdXNmw7xocmxpY2hlIEF1c2dhYmVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICB6ZWlndCBkaWVzZSBIaWxmZSBhbiB1bmQgYmVlbmRldCBkYXMgUHJvZ3JhbW1cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICB6ZWlndCBWZXJzaW9uc2luZm9ybWF0aW9uZW4gYW4gdW5kIGJlZW5kZXRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcyBQcm9ncmFtbVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlJlc3NvdXJjZW5vcHRpb25lbjpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltYWxlIEdyw7bDn2Ugdm9uIFNwZWljaGVyYXVzesO8Z2VuXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW1hbGUgR3LDtsOfZSBkZXMgRGF0ZW5zZWdtZW50ZXMgZWluZXMgUHJvemVzc2VzXG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW1hbGUgcGVyIE5pY2UgYW5oZWJiYXJlIFByaW9yaXTDpHRcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbWFsZSBHcsO2w59lIHZvbiBEYXRlaWVuLCBkaWUgdm9tIFByb3plc3MgZXJ6ZXVndCB3ZXJkZW5cbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbWFsZSBBbnphaGwgYXVzc3RlaGVuZGVyIFNpZ25hbGVcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbWFsZSBHcsO2w59lIGRlcyBCZXJlaWNocywgZGVuIGVpbiBQcm96ZXNzIGltIFNwZWljaGVyIHNwZXJyZW4gZGFyZlxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbWFsZSBBbnphaGwgb2ZmZW5lciBEYXRlaWVuXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW1hbGUgWmFobCB2b24gQnl0ZXMgaW4gUE9TSVgtTmFjaHJpY2h0ZW53YXJ0ZXNjaGxhbmdlblxuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltYWxlIEVjaHR6ZWl0LVNjaGVkdWxpbmdwcmlvcml0w6R0XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW1hbGUgR3LDtsOfZSBkZXMgS2VsbGVyc3BlaWNoZXJzXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW1hbGUgQ1BVLVplaXQgaW4gU2VrdW5kZW5cbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbWFsZSBBbnphaGwgYW4gQmVudXR6ZXJwcm96ZXNzZW5cbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBHcsO2w59lIGRlcyB2aXJ0dWVsbGVuIFNwZWljaGVyc1xuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltYWxlIEFuemFobCBhbiBEYXRlaXNwZXJyZW5cbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUtWmVpdCBpbiBNaWtyb3Nla3VuZGVuIGVpbmVzIFByb3plc3NlcywgZGVyIGRlbVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIEVjaHR6ZWl0LVNjaGVkdWxpbmcgdW50ZXJsaWVndFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgInVuYmVncmVuenQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJhbHRlICVzLUJlZ3Jlbnp1bmcga29ubnRlIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgImRpZSB3ZWljaGUgR3JlbnplICVzIGRhcmYgZGllIE9iZXJncmVuemUgbmljaHQgw7xiZXJzdGVpZ2VuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOZXVlICVzLUdyZW56ZSBmw7xyIFBJRCAlZDogIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiJXMtUmVzc291cmNlbmJlZ3Jlbnp1bmcga2FubiBuaWNodCBnZXNldHp0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzLVJlc3NvdXJjZW5iZWdyZW56dW5nIGthbm4gbmljaHQgZXJoYWx0ZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIiVzLUdyZW56ZSBrYW5uIG5pY2h0IHZlcmFyYmVpdGV0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODQKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIk9wdGlvbiAtLXBpZCBkYXJmIG51ciBlaW5tYWwgYW5nZWdlYmVuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTQKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIk9wdGlvbmVuIC0tcGlkIHVuZCBCRUZFSEwgc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1cyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJQcm9maWxiaWxkdW5ncy1JbmZvcm1hdGlvbmVuIGRlcyBLZXJuZWxzIGxlc2VuLlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDxtYXAtRGF0ZWk+IChWb3JnYWJlbjog4oCeJXPigJwgdW5kXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDigJ4lc+KAnClcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA8cHJvLURhdGVpPiAoVm9yZ2FiZTogIOKAniVz4oCcKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8TXVsdC4+ICBQcm9maWxiaWxkdW5ncy1NdWx0aXBsaWthdG9yIGF1ZiA8TXVsdC4+IHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIgorIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIGdpYnQgbnVyIGRpZSB2b20gS2VybmVsIHZlcndlbmRldGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2ZpbGJpbGR1bmdzLVNjaHJpdHR3ZWl0ZSBhdXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGF1c2bDvGhybGljaGUgRGF0ZW4gYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBhbGxlIFN5bWJvbGUgYXVzZ2ViZW4sIGF1Y2ggd2VubiBBbnphaGwgMCBpc3RcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBpbmRpdmlkdWVsbGUgQW56YWhsZW4gZsO8ciBkaWUgSGlzdG9ncmFtbXNrYWxpZXJ1bmdcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIGluZGl2aWR1ZWxsZSBaw6RobGVyIGluIEZ1bmt0aW9uZW4gYXVzZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICBhbGxlIFrDpGhsZXIgenVyw7xja3NldHplbiAobnVyIGbDvHIgQWRtaW5pc3RyYXRvcilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiIKKyIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBhdXRvbWF0aXNjaGUgRXJrZW5udW5nIGRlciBCeXRlcmVpaGVuZm9sZ2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlYWt0aXZpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiRmVobGVyIGJlaW0gU2NocmVpYmVuIHZvbiAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcwCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiVW1nZWtlaHJ0ZSBCeXRlcmVpaGVuZm9sZ2Ugd2lyZCBhbmdlbm9tbWVuLiBWZXJ3ZW5kZW4gU2llIC1uLCB1bSBkaWUgbmF0aXZlIEJ5dGVyZWloZW5mb2xnZSB6dSBlcnp3aW5nZW4uIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiUHJvYmVuZXJmYXNzdW5nc3NjaHJpdHQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpIGZhbHNjaGUgS2FydGVuemVpbGUiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIuKAnl9zdGV4dOKAnCBrb25udGUgbmljaHQgaW4gJXMgZ2VmdW5kZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIlByb2ZpbC1BZHJlc3NlIGF1w59lcmhhbGIgZGVzIEJlcmVpY2hzLiBGYWxzY2hlIE1hcC1EYXRlaT8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJnZXNhbXQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIlByb3plc3NrZW5udW5nIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJQcm96ZXNzZ3J1cHBlbmtlbm51bmciCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPFByaW9yaXTDpHQ+IFstcHwtLXBpZF0gPFBJRD4g4oCmXG4iCisiICUxJHMgWy1uXSA8UHJpb3JpdMOkdD4gIC1nfC0tcGdycCA8UEdJRD4g4oCmXG4iCisiICUxJHMgWy1uXSA8UHJpb3JpdMOkdD4gIC11fC0tdXNlciA8QmVudXR6ZXI+IOKAplxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIkRpZSBQcmlvcml0w6R0IGVpbmVzIGxhdWZlbmRlbiBQcm96ZXNzZXMgw6RuZGVybi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgZGVuIEJldHJhZyBhbmdlYmVuLCB1bSBkZW4gZGVyIE5pY2UtV2VydCBlcmjDtmh0IHdpcmRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPElEPiAgICAgICAgIGRhcyBBcmd1bWVudCBhbHMgUHJvemVzcy1JRCBpbnRlcnByZXRpZXJlbiAoVm9yZ2FiZSlcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1wLCAtLXBncnAgPElEPiAgICAgICAgZGFzIEFyZ3VtZW50IGFscyBQcm96ZXNzZ3J1cHBlbi1JRCBpbnRlcnByZXRpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisiIC11LCAtLXVzZXIgPE5hbWU+fDxJRD4gaW50ZXJwcmV0aWVydCBkYXMgQXJndW1lbnQgYWxzIEJlbnV0emVybmFtZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb2RlciBCZW51dHplci1JRFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiUHJpb3JpdMOkdCBmw7xyICVkIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJQcmlvcml0w6R0IGbDvHIgJWQga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpIGFsdGUgUHJpb3JpdMOkdCAlZCwgbmV1ZSBQcmlvcml0w6R0ICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAidW5nw7xsdGlnZSBLZW5udW5nOiAlcyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgInVuYmVrYW5udGVyIEJlbnV0emVyICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAiZmFsc2NoZXIgJXMtV2VydDogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJpbnRlcm5lciBLZXJuZWwtR2Vyw6R0ZW5hbWUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgIkdlcsOkdGViZXplaWNobmVyIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiTWFya2llcnVuZ3NiZXNjaHJlaWJ1bmciCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIHNvZnR3YXJlIGJsb2NrIgorbXNnc3RyICJHcsO2w59lIGRlciBTcGVycmUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJEZW4gV2F0Y2hkb2ctU3RhdHVzIGRlciBIYXJkd2FyZSBhbnplaWdlbi5cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgIiVzIGtvbm50ZSBuaWNodCBnZXNwZXJydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgc2l6ZSBvZiByZmtpbGwgZXZlbnQ6ICV6dSA8ICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwb2xsICVzIgorbXNnc3RyICIlcyBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICJHZXLDpHRlYmV6ZWljaG5lciIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgImdlc3BlcnJ0IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICJnZXNwZXJydCIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG5lcjogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gY29tbWFuZCBbaWRlbnRpZmllciAuLi5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFs8R2Vyw6R0PiDigKZdXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjkKK21zZ2lkICJUb29sIGZvciBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHdpcmVsZXNzIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTMKK21zZ2lkICIgZXZlbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk0CisjLCBmdXp6eQorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG5lciIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorIywgZnV6enkKK21zZ2lkICIgYmxvY2sgICBpZGVudGlmaWVyXG4iCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG5lciIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NgorIywgZnV6enkKK21zZ2lkICIgdW5ibG9jayBpZGVudGlmaWVyXG4iCittc2dzdHIgIkZlc3RwbGF0dGVuYmV6ZWljaG5lciIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiQmlzIHp1IGVpbmVyIGFuZ2VnZWJlbmVuIFdlY2t6ZWl0IGluIGVpbmVuIFN5c3RlbS1TY2hsYWZ6dXN0YW5kIGdlaGVuLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICBsaWVzdCBkZW4gVWhyLU1vZHVzIGF1cyBkZXIgYWRqdXN0LURhdGVpIChWb3JnYWJlKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8RGF0ZWk+ICAgIGdpYnQgZGVuIFBmYWQgenVyIGFkanVzdC1EYXRlaSBhbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZSBWb3JnYWJlIGlzdCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiAgICAgLS1kYXRlIDxaZWl0c3RlbXBlbD4gRGF0dW0gZGVyIEF1ZndhY2h6ZWl0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIC1kLCAtLWRldmljZSA8R2Vyw6R0PiAgICAgd8OkaGx0IGRhcyBSVEMtR2Vyw6R0IChydGMwfHJ0YzF8Li4uKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBmw7xocnQgYWxsZXMgYXVzIGJpcyBhdWYgZGVuIGVpZ2VudGxpY2hlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBXZWNoc2VsIGluIGRlbiBFbmVyZ2llc3Bhcm1vZHVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB2ZXJ3ZW5kZXQgbG9rYWxlIFplaXR6b25lXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIHZlcmbDvGdiYXJlIE1vZGkgYXVmbGlzdGVuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnlbbWVtXeKApiBTY2hsYWZ6dXN0YW5kXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgenUgc2NobGFmZW5kZSBTZWt1bmRlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxaZWl0X3Q+ICAgICAgQXVmd2FjaHplaXRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB2ZXJ3ZW5kZXQgVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYXVzZsO8aHJsaWNoZSBNZWxkdW5nZW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiTGVzZW4gZGVyIFJUQy1aZWl0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICJMZXNlbiBkZXIgU3lzdGVtemVpdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiS29udmVydGllcmVuIGRlciBSVEMtWmVpdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJGZXN0bGVnZW4gZGVzIFJUQy1XZWNrYWxhcm1zIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkaW5nIHN0ZGluIgorbXNnc3RyICJkZW4gQXVzcmljaHR1bmdzb2Zmc2V0IHZlcndlcmZlbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIlVuZXJ3YXJ0ZXRlIGRyaXR0ZSBaZWlsZSBpbjogJXPigJw6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiTGVzZW4gZGVzIFJUQy1BbGFybXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiQWxhcm06IGF1c1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgIlplaXRrb252ZXJ0aWVydW5nIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJBbGFybTogZWluICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgImtvbm50ZSBuaWNodCBnZWxlc2VuIHdlcmRlbjogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgInVuYmVrYW5udGVyIFJ1aGV6dXN0YW5kIOKAniVz4oCcIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgU2VrdW5kZW5hcmd1bWVudCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIFplaXRhcmd1bWVudCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IFJUQyB3aXJkIGFscyBVVEMgaW50ZXJwcmV0aWVydCDigKZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVVRDIHdpcmQgdmVyd2VuZGV0LlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIkxva2FsZSBaZWl0IHdpcmQgdmVyd2VuZGV0LlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJBdWZ3YWNoemVpdCBtdXNzIGFuZ2VnZWJlbiB3ZXJkZW4gKHNpZWhlIGRpZSBPcHRpb25lbiAtLXNlY29uZHMsIC0tdGltZSB1bmQgLS1kYXRlKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIG5pY2h0IGbDvHIgV2Vja2VyZWlnbmlzc2UgZ2VlaWduZXQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiQWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgU2VrdW5kZW4gJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJaZWl0IGdlaHQgbmljaHQgcsO8Y2t3w6RydHMgenUgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBBdWZ3YWNoZW4gZHVyY2ggJXMgYmVpICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogYXVmd2FjaGVuIHZvbiDigJ4lc+KAnCBkdXJjaCAlcyBiZWkgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiU3VzcGVuZC1Nb2R1czogbmVpbjsgd2lyZCB2ZXJsYXNzZW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJTdXNwZW5kLU1vZHVzOiBhdXM7ICVzIHdpcmQgYXVzZ2Vmw7xocnRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiU3VzcGVuZC1Nb2R1czogZWluOyBSVEMgd2lyZCBnZWxlc2VuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJMZXNlbiBkZXIgUlRDLVplaXQgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIlN1c3BlbmQtTW9kdXM6IGRlYWt0aXZpZXJlbjsgQWxhcm0gd2lyZCBkZWFrdGl2aWVydFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiU3VzcGVuZC1Nb2R1czogYW56ZWlnZW47IEFsYXJtaW5mbyB3aXJkIGF1c2dlZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiU3VzcGVuZC1Nb2R1czogJXM7IFN5c3RlbSB3aXJkIGluIFJ1aGV6dXN0YW5kIHZlcnNldHp0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiRGVha3RpdmllcmVuIGRlcyBSVEMtV2Vja2FsYXJtcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIkF1ZiAlcyB3aXJkIGdlc2NoYWx0ZXQuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyA8QXJjaGl0ZWt0dXI+IFtPcHRpb25lbl0gPFByb2dyYW1tPiBbPEFyZ3VtZW50PiDigKZdXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICJEaWUgdm9tIFN5c3RlbSBnZW1lbGRldGUgQXJjaGl0ZWt0dXIgw6RuZGVybiB1bmQgbmV1ZSBQZXJzb25hbGlzaWVydW5ncy1TY2hhbHRlciBzZXR6ZW4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICBBRERSX0xJTUlUXzMyQklUIGVpbnNjaGFsdGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgRnVua3Rpb25zemVpZ2VyIGF1ZiBEZXNrcmlwdG9yZW4gd2Vpc2VuIGxhc3NlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICBTSE9SVF9JTk9ERSBlaW5zY2hhbHRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IEFydCBkZXIgWnV3ZWlzdW5nIHZpcnR1ZWxsZW4gU3BlaWNoZXJzIMOkbmRlcm5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBadWZhbGxzYXVzd2FobCBkZXIgQWRyZXNzZSBhdXMgZGVtIHZpcnR1ZWxsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgQWRyZXNzcmF1bSBkZWFrdGl2aWVyZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICBXSE9MRV9TRUNPTkRTIGVpbnNjaGFsdGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBTVElDS1lfVElNRU9VVFMgZWluc2NoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgUkVBRF9JTVBMSUVTX0VYRUMgZWluc2NoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgTU1BUF9QQUdFX1pFUk8gZWluc2NoYWx0ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgYmVncmVuenQgZGVuIHZlcndlbmRldGVuIEFkcmVzc3JhdW0gYXVmIG1heGltYWwgMyBHQlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmllcnQgKG51ciBmw7xyIEFid8OkcnRza29tcGF0aWJpbGnDpHQpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgVU5BTUUyNiBlaW5zY2hhbHRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB6dSBha3RpdmllcmVuZGUgT3B0aW9uZW4gYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBtw7ZnbGljaGUgQXJjaGl0ZWt0dXJlbiBhdWZsaXN0ZW4gdW5kIGJlZW5kZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiBuaWNodCBlcmthbm50ZSBBcmNoaXRla3R1ciIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJLZXJuZWwga2FubiBkaWUgQXJjaGl0ZWt0dXIgbmljaHQgYXVmICVzIHNldHplbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiTmljaHQgZ2VudWcgQXJndW1lbnRlIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJQZXJzw7ZubGljaGtlaXQga29ubnRlIG5pY2h0IGF1ZiAlcyBnZXNldHp0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJ1bmJla2FubnRlIE9wdGlvbiDigJ4tLWxpc3TigJwiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAia2VpbiBBcmNoaXRla3R1ci1Bcmd1bWVudCBmZXN0Z2VsZWd0IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJQZXJzw7ZubGljaGtlaXQga29ubnRlIG5pY2h0IGF1ZiAlcyBnZXNldHp0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIkRlciBCZWZlaGwg4oCeJXPigJ0gd2lyZCBhdXNnZWbDvGhydC5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxQcm9ncmFtbT4gW0FyZ3VtZW50IOKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiRWluIFByb2dyYW1tIG1pdCBhbmRlcmVuIFp1Z3JpZmZzcmVjaHRlbiBhdXNmw7xocmVuLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjKVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIGFrdHVlbGxlbiBTdGF0dXMgYW56ZWlnZW4gKHVuZCBuaWNodHMgYXVzZsO8aHJlbilcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgIFp1d2Vpc3VuZyBuZXVlciBQcml2aWxlZ2llbiBuaWNodCBlcmxhdWJlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNAorIywgZnV6enkKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA8RsOkaGlnay4g4oCmPiAgIHZlcmVyYmJhcmUgRsOkaGlna2VpdGVuIGZlc3RsZWdlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorIywgZnV6enkKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPEbDpGhpZ2suIOKApj4gICB2ZXJlcmJiYXJlIEbDpGhpZ2tlaXRlbiBmZXN0bGVnZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjYKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIC0tYm91bmRpbmctc2V0IDxDYXA+ICAgIERpZSBFaW5zY2hyw6Rua3VuZ2VuIGRlciBFaWdlbnNjaGFmdFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLS1ydWlkIDxVSUQ+ICAgICAgICAgICAgIHJlYWxlIFVJRCBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1ldWlkIDxVSUQ+ICAgICAgICAgICAgIGVmZmVrdGl2ZSBVSUQgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPEdJRD4gICAgICAgICAgICAgcmVhbGUgR0lEIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMAorIywgZnV6enkKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPEdJRD4gICAgICAgICAgICAgZWZmZWt0aXZlIEdJRCBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8VUlEPiAgICAgICAgICAgIHJlYWxlIHVuZCBlZmZla3RpdmUgVUlEIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMgorIywgZnV6enkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLXJlZ2lkIDxHSUQ+ICAgICAgICAgICAgcmVhbGUgdW5kIGVmZmVrdGl2ZSBHSUQgc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICB6dXPDpHR6bGljaGUgR3J1cHBlbiBsw7ZzY2hlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorIywgZnV6enkKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICB6dXPDpHR6bGljaGUgR3J1cHBlbiBiZWhhbHRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorIywgZnV6enkKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICB6dXPDpHR6bGljaGUgR3J1cHBlbiBiZWhhbHRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPEdydXBwZSwg4oCmPiAgICAgenVzw6R0emxpY2hlIEdydXBwZW4gc2V0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA8Qml0cz4gICAgICBTZWN1cmViaXRzIHNldHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtLXNlbGludXgtbGFiZWwgPExhYmVsPiAgU0VMaW51eC1MYWJlbCBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gIEFwcEFybW9yLVByb2ZpbCBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxNDQKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIgorIiBEaWVzZXMgV2Vya3pldWcga2FubiBnZWbDpGhybGljaCBzZWluLiBMZXNlbiBTaWUgZGllIEhhbmRidWNoc2VpdGVcbiIKKyIgdW5kIHNlaWVuIFNpZSB2b3JzaWNodGlnLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAidW5nw7xsdGlnZSBFaWdlbnNjaGFmdHMtWmVpY2hlbmtldHRlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIkVybWl0dGVsbiBkZXIgU2VjdXJlYml0cyBkZXMgUHJvemVzc2VzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICJTZWN1cmViaXRzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJba2Vpbl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogenUgbGFuZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiWnVzw6R0emxpY2hlIEdydXBwZW46IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJba2Vpbl0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXNnaWQgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiRWZmZWt0aXZlIEbDpGhpZ2tlaXRlbjoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiVW56dWzDpHNzaWdlIEbDpGhpZ2tlaXRlbjoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJWZXJlcmJiYXJlIEbDpGhpZ2tlaXRlbjoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICJVbnp1bMOkc3NpZ2UgRsOkaGlna2VpdGVuOiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGVyIEJlZmVobCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiRWluc2NocsOkbmt1bmdlbiBkZXIgRsOkaGlna2VpdDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIlNFTGludXgtQmV6ZWljaG51bmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiQXBwQXJtb3ItUHJvZmlsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIGlzdCBiZXNjaMOkZGlndCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIlVuZ8O8bHRpZ2UgenVzw6R0emxpY2hlIEdydXBwZW4tSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzdWlkIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc2dpZCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJuaWNodCB1bnRlcnN0w7x0enRlciBaZWl0dHlwIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAidW5nw7xsdGlnZSBFaWdlbnNjaGFmdHMtWmVpY2hlbmtldHRlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgImxpYmNhcC1uZyBpc3QgenUgYWx0IGbDvHIgZGllIOKAnmFsbOKAnC1Gw6RoaWdrZWl0ZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgInVuYmVrYW5udGUgRsOkaGlna2VpdCDigJ4lc+KAnCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgInVuYmVrYW5udGVzIFNpY2hlcmhlaXRzYml0IGdlc2V0enQgLS0gw4RuZGVydW5nIHdpcmQgdmVyd2VpZ2VydCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgInVuZ8O8bHRpZ2UgWmVpY2hlbmtldHRlIG1pdCBTaWNoZXJoZWl0c2JpdHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTcyCittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICIrYWxsIFNpY2hlcmhlaXRzYml0cyBpc3QgbmljaHQgenVsw6Rzc2lnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiYW5wYXNzZW4gdm9uIGtlZXBfY2FwcyBoYXQga2VpbmVuIFNpbm4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAibmljaHQgZXJrYW5udGVzIFNlY3VyZWJpdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4IGzDpHVmdCBuaWNodCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiU2NobGllw59lbiBmZWhsZ2VzY2hsYWdlbjogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjMyCittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIGzDpHVmdCBuaWNodCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1uby1uZXctcHJpdnMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgwCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgImRvcHBlbHRlIHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgInJ1aWQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJkb3BwZWx0ZSBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICJldWlkIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJkb3BwZWx0ZSBydWlkIG9kZXIgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgInJldWlkIGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiZG9wcGVsdGUgcmdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAicmdpZCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgImRvcHBlbHRlIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImVnaWQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgImRvcHBlbHRlIHJnaWQgb2RlciBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAicmVnaWQga29ubnRlIG5pY2h0IGVpbmdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImRvcHBlbHRlIE9wdGlvbiAtLWNsZWFyLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImRvcHBlbHRlIE9wdGlvbiAtLWtlZXAtZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgImRvcHBlbHRlIE9wdGlvbiAtLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSBPcHRpb24gLS1pbmgtY2FwcyBvcHRpb24iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgImRvcHBlbHRlIE9wdGlvbiAtLWluaC1jYXBzIG9wdGlvbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NjUKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJkb3BwZWx0ZSAtLWJvdW5kaW5nLXNldCBPcHRpb24iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgImRvcHBlbHRlIE9wdGlvbiAtLXNlY3VyZWJpdHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgImRvcHBlbHRlIE9wdGlvbiAtLXNlbGludXgtbGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgImRvcHBlbHRlIE9wdGlvbiAtLWFwcGFybW9yLXByb2ZpbGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODk5Cittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICItLWR1bXAgaXN0IGlua29tcGF0aWJlbCB6dSBhbGxlbiBhbmRlcmVuIE9wdGlvbmVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkwNworbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICItLWxpc3QtY2FwcyBtdXNzIGFsbGVpbiBhbmdlZ2ViZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJLZWluIFByb2dyYW1tIGFuZ2VnZWJlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKKyMsIGZ1enp5Cittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiLS1bcmVdZ2lkIGJlbsO2dGlndCAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcyBvZGVyIC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTMyCittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJBYndlaHIgZGVyIFp1d2Vpc3VuZyBuZXVlciBQcml2aWxlZ2llbiBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgIkJlaGFsdGVuIGRlciBGw6RoaWdrZWl0ZW4gZGVzIFByb3plc3NlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIkbDpGhpZ2tlaXRlbiBha3RpdmllcmVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJGw6RoaWdrZWl0ZW4gcmVha3RpdmllcmVuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2NQorIywgZnV6enkKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic2V0Z3JvdXBzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJTZXR6ZW4gZGVyIFNlY3VyZWJpdHMgZGVzIFByb3plc3NlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgIkVpbnNjaHLDpG5rdW5nZW4gYW53ZW5kZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJGw6RoaWdrZWl0ZW4gYW53ZW5kZW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gPFByb2dyYW1tPiBbQXJndW1lbnRlIOKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICJFaW4gUHJvZ3JhbW0gaW4gZWluZXIgbmV1ZW4gU2l0enVuZyBhdXNmw7xocmVuLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIGRhcyBzdGV1ZXJuZGUgVGVybWluYWwgYXVmIGRhcyBha3R1ZWxsZSBzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICDDnGJlcnByw7xmdW5nIGVyendpbmdlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKyIgLXcsIC0td2FpdCAgICAgd2FydGV0IHZvciBkZXIgQXVzZsO8aHJ1bmcgYXVmIGRhcyBFbmRlIGRlcyBQcm9ncmFtbXMgdW5kXG4iCisiICAgICAgICAgICAgICAgICAgdmVyd2VuZGV0IGRlbiBnbGVpY2hlbiBSw7xja2dhYmV3ZXJ0XG4iCisKKyMgVGhpcyBpcyB1c2VkIG5vcm1hbHkKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDAKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiS2luZHByb3plc3MgJWQgd3VyZGUgbmljaHQgbm9ybWFsIGJlZW5kZXQiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICLigJ5zZXRzaWTigJwgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMjAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiU3RldWVybmRlcyBUZXJtaW5hbCBrYW5uIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjIFRoZSBmaXJzdCAlcyBpcyBzd2Fwb24vc3dhcG9mZgorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInN3YXBvZmYgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiS2VpbiBBZG1pbmlzdHJhdG9yLiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9mZiBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFs8U3BlemlmaWthdGlvbj5dXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiQmVudXR6dW5nIHZvbiBHZXLDpHRlbiB1bmQgRGF0ZWllbiBmw7xyIGRpZSBBdXNsYWdlcnVuZyBzcGVycmVuLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBhbGxlIEF1c2xhZ2VydW5nc2JlcmVpY2hlIGF1cyAvcHJvYy9zd2Fwc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBkZWFrdGl2aWVyZW5cbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBhdXNmw7xocmxpY2hlciBNb2R1c1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8TGFiZWw+ICAgICAgICAgICAgIExBQkVMIGRlcyB6dSB2ZXJ3ZW5kZW5kZW4gR2Vyw6R0c1xuIgorIiAtVSA8VVVJRD4gICAgICAgICAgICAgIFVVSUQgZGVzIHp1IHZlcndlbmRlbmRlbiBHZXLDpHRzXG4iCisiIExBQkVMPTxMYWJlbD4gICAgICAgICAgTEFCRUwgZGVzIHp1IHZlcndlbmRlbmRlbiBHZXLDpHRzXG4iCisiIFVVSUQ9PFVVSUQ+ICAgICAgICAgICAgVVVJRCBkZXMgenUgdmVyd2VuZGVuZGVuIEdlcsOkdHNcbiIKKyIgPEdlcsOkdD4gICAgICAgICAgICAgICAgTmFtZSBkZXMgenUgdmVyd2VuZGVuZGVuIEdlcsOkdHNcbiIKKyIgPERhdGVpPiAgICAgICAgICAgICAgICBOYW1lIGRlciB6dSB2ZXJ3ZW5kZW5kZW4gRGF0ZWlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgIkdlcsOkdGVkYXRlaSBvZGVyIFBhcnRpdGlvbnNwZmFkIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIkdlcsOkdGV0eXAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAiR3LDtsOfZSBkZXMgQXVzbGFnZXJ1bmdzYmVyZWljaGVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgInZlcndlbmRldGUgQnl0ZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJTd2FwLVByaW9yaXTDpHQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIlN3YXAtVVVJRCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMgorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgIlN3YXAtQmV6ZWljaG51bmciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdFR5cFx0XHRHcsO2w59lXHRCZW51dHp0XHRQcmlvcml0w6R0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiRGF0ZWluYW1lIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzOiBBdXNsYWdlcnVuZ3NiZXJlaWNoIHdpcmQgZXJuZXV0IGluaXRpYWxpc2llcnQuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiVzOiBsc2VlayBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IFNjaHJlaWJlbiBkZXIgU2lnbmF0dXIgZmVobGdlc2NobGFnZW4iCisKKyMgaG9sZXMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IHdpcmQgw7xiZXJzcHJ1bmdlbiDigJMgIHNjaGVpbnQgTMO2Y2hlciB6dSBlbnRoYWx0ZW4uIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBHcsO2w59lbmVybWl0dGx1bmcgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIlczogU3dhcC1IZWFkZXIga29ubnRlIG5pY2h0IGdlbGVzZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogU2lnbmF0dXIgZ2VmdW5kZW4gW1NlaXRlbmdyw7bDn2U9JWQsIFNpZ25hdHVyPSVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6IFNlaXRlbmdyw7bDn2U9JWQsIFN3YXBncsO2w59lPSVsbHUsIEdlcsOkdGVncsO2w59lPSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXN0IGdyw7bDn2VyIGFscyBkaWUgdGF0c8OkY2hsaWNoZXMgR3LDtsOfZSBkZXMgQXVzbGFnZXJ1bmdzYmVyZWljaHMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6IFNlaXRlbmdyw7bDn2UgZsO8ciBBdXNsYWdlcnVuZyBwYXNzdCBuaWNodC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXM6IFNlaXRlbmdyw7bDn2UgZsO8ciBBdXNsYWdlcnVuZyBwYXNzdCBuaWNodC4gKFZlcndlbmRlbiBTaWUgLS1maXhwZ3N6IHVtIHNpZSB6dSByZWluaXRpYWxpc2llcmVuLikiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiBTb2Z0d2FyZS1SdWhlenVzdGFuZHNkYXRlbiBlbnRkZWNrdC4gRGllIEF1c2xhZ2VydW5nc3NpZ25hdHVyIHdpcmQgbmV1IGdlc2NocmllYmVuLiIKKworIyBUaGUgZmlyc3QgJXMgaXMgc3dhcG9uL3N3YXBvZmYKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgInN3YXBvbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBPcHRpb24gbm9hdXRvIC0tIHdpcmQgaWdub3JpZXJ0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogYmVyZWl0cyBha3RpdiAtLSB3aXJkIGlnbm9yaWVydCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogdW5lcnJlaWNoYmFyIC0tIHdpcmQgaWdub3JpZXJ0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJHZXLDpHRlIHVuZCBEYXRlaWVuIGbDvHIgZGllIEF1c2xhZ2VydW5nIHZlcndlbmRlbi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgYWxsZSBBdXNsYWdlcnVuZ3NzcGVpY2hlciBhdXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9mc3RhYiBha3RpdmllcmVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kaXNjYXJkWz08UmljaHRsaW5pZT5dIHZlcndlcmZlbiB2b24gQXVzbGFnZXJ1bmdlbiBha3RpdmllcmVuLCB3ZW5uIHNpZSB2b20gR2Vyw6R0IHVudGVyc3TDvHR6dCB3ZXJkZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKyIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIEdlcsOkdGUgc3RpbGxzY2h3ZWlnZW5kIMO8YmVyc3ByaW5nZW4sXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZSBuaWNodCBleGlzdGllcmVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgZmFsbHMgbsO2dGlnLCBkZW4gQXVzbGFnZXJ1bmdzYmVyZWljaFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcm5ldXQgaW5pdGlhbGlzaWVyZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxMaXN0ZT4gICAga29tbWFnZXRyZW5udGUgTGlzdGUgZGVyIEF1c2xhZ2VydW5nc29wdGlvbmVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1wLCAtLXByaW9yaXR5IDxQcmlvPiAgIGFuZ2VnZWJlbmVzIEF1c2xhZ2VydW5nc2dlcsOkdCBtaXQgZGllc2VyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJpb3JpdMOkdCBtYXJraWVyZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIiCisiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgIFp1c2FtbWVuZmFzc3VuZyB6dSB2ZXJ3ZW5kZXRlbiBBdXNsYWdlcnVuZ3MtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2Vyw6R0ZW4gYW56ZWlnZW4gW1ZFUkFMVEVUXVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiAgICAgLS1zaG93Wz08U3BhbHRlbj5dICAgWnVzYW1tZW5mYXNzdW5nIGluIGRlZmluaWVyYmFyZXIgVGFiZWxsZSBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA4Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAga2VpbmUgVGFiZWxsZW7DvGJlcnNjaHJpZnRlbiBhbnplaWdlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAobWl0IC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgUm9oYXVzZ2FiZWZvcm1hdCB2ZXJ3ZW5kZW4gKG1pdCAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgQXVzbGFnZXJ1bmdzZ3LDtsOfZSBpbiBCeXRlIGluIGRlciBBdXNnYWJlIHZvblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAtLXNob3cgYW56ZWlnZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYXVzZsO8aHJsaWNoZXIgTW9kdXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlciA8U3Blej4gUGFyYW1ldGVyOlxuIgorIiAtTCA8QmV6ZWljaG51bmc+ICAgICAgICBTeW5vbnltIGbDvHIgTEFCRUw9PEJlaWNobnVuZz5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICAgU3lub255bSBmw7xyIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxCZXplaWNobnVuZz4gICAgIHNwZXppZmllcnQgZGFzIEdlcsOkdCBtaXR0ZWxzIGRlciBCZXplaWNobnVuZyBkZXMgQXVzbGFnZXJ1bmdzYmVyZWljaHNcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlemlmaXppZXJ0IGRhcyBHZXLDpHQgbWl0dGVscyBkZXIgVVVJRCBkZXMgQXVzbGFnZXJ1bmdzYmVyZWljaHNcbiIKKyIgUEFSVExBQkVMPTxCZXplaWNobnVuZz4gc3BlemlmaWVydCBkYXMgR2Vyw6R0IG1pdHRlbHMgZGVyIFBhcnRpdGlvbnNiZXplaWNobnVuZ1xuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGV6aWZpemllcnQgZGFzIEdlcsOkdCBtaXR0ZWxzIGRlciBVVUlEIGRlciBBdXNsYWdlcnVuZ3NwYXJ0aXRpb25cbiIKKyIgPEdlcsOkdD4gICAgICAgICAgICAgICAgIE5hbWUgZGVzIHp1IHZlcndlbmRlbmRlbiBHZXLDpHRlc1xuIgorIiA8RGF0ZWk+ICAgICAgICAgICAgICAgICBOYW1lIGRlciB6dSB2ZXJ3ZW5kZW5kZW4gRGF0ZWlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlZlcmbDvGdiYXJlIFJpY2h0bGluaWVudHlwZSBmw7xyIGRhcyBWZXJ3ZXJmZW4gKGbDvHIgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG51ciBlaW5tYWxpZ2VzIFZlcndlcmZlbiB2b24gQmVyZWljaGVuIHdpcmQgdmVyd2VuZGV0XG4iCisiIHBhZ2VzICAgOiBmcmVpZ2VnZWJlbmUgU2VpdGVuIHdlcmRlbiB2ZXJ3b3JmZW4gYmV2b3Igc2llIHdpZWRlcnZlcndlbmRldCB3ZXJkZW5cbiIKKyJXaXJkIGtlaW5lIFJpY2h0bGluaWUgYXVzZ2V3w6RobHQsIHNpbmQgYmVpZGUgVHlwZW4gYWt0aXZpZXJ0IChWb3JnYWJlKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJQcmlvcml0w6R0IGtvbm50ZSBuaWNodCBlaW5nZWxlc2VuIHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGUgVmVyd2VyZnVuZ3NyZWdlbDogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIkdlcsOkdCBmw7xyICVzIGtvbm50ZSBuaWNodCBnZWZ1bmRlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjYwCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICJWZXJ6ZWljaG5pcyBrb25udGUgbmljaHQgZ2XDtmZmbmV0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic3RhdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIkxlc2VuIGRlcyBWZXJ6ZWljaG5pc3NlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIlRyZW5uZW4gdm9uICVzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiVmVyc2Nob2JlbmVzICVzIGtvbm50ZSBuaWNodCBpbiAlcyBlaW5nZWjDpG5ndCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIkF1c2jDpG5nZW4gdm9uICVzIHdpcmQgZXJ6d3VuZ2VuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIlZlcnplaWNobmlzIGthbm4gbmljaHQgbmFjaCAlcyBnZXdlY2hzZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiVmVyc2Nob2JlbmVzICVzIGtvbm50ZSBuaWNodCBpbiAvIGVpbmdlaMOkbmd0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc5Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJTeXN0ZW13dXJ6ZWwga29ubnRlIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE5MgorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiQWx0ZXMgV3VyemVsZGF0ZWlzeXN0ZW0gaXN0IGtlaW4gaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiVzIFtPcHRpb25lbl0gPG5ldWVzX3d1cnplbHZlcnplaWNobmlzPiA8SW5pdGlhbGlzaWVydW5nPiA8YXJndW1lbnRlIGbDvHIgSW5pdGlhbGlzaWVydW5nPlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDkKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICJadSBlaW5lbSBhbmRlcmVuIERhdGVpc3lzdGVtIGFscyBXdXJ6ZWwgZGVzIEVpbmjDpG5nZWJhdW1zIHdlY2hzZWxuLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiZmVobGdlc2NobGFnZW4uIEVudHNjaHVsZGlndW5nLiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIkF1ZiDigJ4lc+KAnCBrb25udGUgbmljaHQgenVnZWdyaWZmZW4gd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICJEaXZlcnNlIFBhcmFtZXRlciBmw7xyIGRlbiBaZWlsZW5kcnVja2VyIHNldHplbi5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMQorbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8WmFobD4gICAgICAgICAgICAgSVJRIGRlcyBQYXJhbGxlbHBvcnRzIGFuZ2ViZW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIFRyZWliZXItV2FydGV6ZWl0IGluIE1pbGxpc2VrdW5kZW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jaGFycyA8WmFobD4gICAgICAgICAgIEFuemFobCBkZXIgVmVyc3VjaGUgenVyIEF1c2dhYmUgZWluZXMgWmVpY2hlbnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1ZiBkZW0gRHJ1Y2tlclxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgV2FydGV6ZWl0IGluIMK1cywgZGllIGJlaW0gSGVydW1wcm9iaWVyZW4gYW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0cm9iZS1TaWduYWwgamV3ZWlscyBhYmdld2FydGV0IHdpcmRcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgQWJicnVjaCBiZWkgRmVobGVyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgRHJ1Y2tlcnN0YXR1cyB2b3IgZGVtIERydWNrZW4gcHLDvGZlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGJlc29uZGVycyBzb3JnZsOkbHRpZ2UgRmVobGVycHLDvGZ1bmdcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIERydWNrZXJzdGF0dXMgYWJmcmFnZW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIGRlbiBQb3J0IHp1csO8Y2tzZXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBha3R1ZWxsZSBJUlEtRWluc3RlbGx1bmdlbiBhbnplaWdlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIGlzdCBrZWluIGxwLUdlcsOkdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJMUEdFVFNUQVRVUy1GZWhsZXIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICJEZXIgU3RhdHVzIHZvbiAlcyBpc3QgJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIGJlbGVndCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIGJlcmVpdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBrZWluIFBhcGllciIKKworIyB0bDogImJldHJpZWJzYmVyZWl0IgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIEZlaGxlciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQXVmcnVmIHZvbiDigJ5pb2N0bOKAnCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICLigJ5MUEdFVElSUeKAnCBGZWhsZXIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIGJlbnV0enQgSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyBiZW51dHp0IFBvbGxpbmdcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtPcHRpb25lbl1cbiIKKyIgJTEkcyBbT3B0aW9uZW5dIDxRdWVsbGU+IHwgPFZlcnplaWNobmlzPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJEYXRlaXN5c3RlbWUgYXVzaMOkbmdlbi5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBhbGxlIERhdGVpc3lzdGVtZSBhdXNow6RuZ2VuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICBhbGxlIEVpbmjDpG5nZXB1bmt0ZSBkZXMgYW5nZWdlYmVuZW4gR2Vyw6R0ZXMgaW0gYWt0dWVsbGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZW5zcmF1bSBhdXNow6RuZ2VuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIFBmYWRlIG5pY2h0IGthbm9uaXNpZXJlblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTIKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGZhbGxzIExvb3AtR2Vyw6R0IGVpbmdlaMOkbmd0IGlzdCwgYXVjaCBkaWVzZXMgdHJlbm5lblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiICAgICAtLWZha2UgICAgICAgICAgICAgIFRyb2NrZW5sYXVmOyBkZW4gdW1vdW50KDIpLVN5c3RlbWF1ZnJ1ZiDDvGJlcnNwcmluZ2VubFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgQXVzaMOkbmdlbiBlcnp3aW5nZW4gKHdlbm4gTkZTLVN5c3RlbSB1bmxlc2JhciBpc3QpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRpZSB1bW91bnQuPFR5cD4tSGlsZnNwcm9ncmFtbWUgbmljaHQgYXVmcnVmZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgRGF0ZWlzeXN0ZW0gamV0enQgdHJlbm5lbiwgc3DDpHRlciBhdWZyw6R1bWVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIC1PLCAtLXRlc3Qtb3B0cyA8TGlzdGU+IGRpZSBaYWhsIGRlciB2ZXJ3ZW5kYmFyZW4gRGF0ZWlzeXN0ZW1lIGVpbmdyZW56ZW4gKHp1ciBWZXJ3ZW5kdW5nIG1pdCAtYSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICBlaW4gWmllbCBtaXQgYWxsIHNlaW5lbiBBYmxlZ2VybiByZWt1cnNpdiBhdXNow6RuZ2VuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDAKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBmYWxscyBBdXNow6RuZ2VuIHNjaGVpdGVydCwgdmVyc3VjaGVuLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaHJlaWJnZXNjaMO8dHp0IG5ldSBlaW56dWjDpG5nZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxMaXN0ZT4gICAgIERhdGVpc3lzdGVtdHlwZW4gbmFjaCBMaXN0ZSBlaW5zY2hyw6Rua2VuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgYXVzZ2Vow6RuZ3QiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBhdXNnZWjDpG5ndCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAidW1vdW50LVppZWwga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImxpYm1vdW50LVRhYmVsbGVuenV3ZWlzdW5nIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImxpYm1vdW50LUl0ZXJhdG9yenV3ZWlzdW5nIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICJkZXIgRGF0ZWlkZXNrcmlwdG9yIGRlcyBBYmxlZ2VycyB2b24gJXMga29ubnRlIG5pY2h0IGVpbmdlaG9sdCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMTAgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczogbmljaHQgZ2VmdW5kZW4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlczogUXVlbGxlIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuICgtLWFsbC10YXJnZXRzIHdpcmQgYXVmIFN5c3RlbWVuIG1pdCByZWd1bMOkcmVyIG10YWItRGF0ZWkgbmljaHQgdW50ZXJzdMO8dHp0KS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAibmljaHQgdW50ZXJzdMO8dHp0ZXMgLS1zZXRncm91cHMtQXJndW1lbnQg4oCeJXPigJwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAiU2NocmVpYmVuIGZlaGxnZXNjaGxhZ2VuICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAiTmljaHQgdW50ZXJzdMO8dHp0ZXIgV2VpdGVyZ2FiZW1vZHVzOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiZGllIFdlaXRlcmdhYmUgZGVzIFd1cnplbGRhdGVpc3lzdGVtcyBrYW5uIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiRWluaMOkbmdlbiB2b24gJXMgYXVmICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIyBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHN0cmVycm9yKGVycm5vKSBpcyBtdWNoIHRvbyBsb25nCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAiU3RhdHVzIHZvbiAlcyBrYW5uIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIlBpcGUgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgImF1cyBkZXIgUGlwZSBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIkRhcyBQcm9ncmFtbSBtaXQgZWluaWdlbiB2b20gRWx0ZXJudGVpbCBnZXRyZW5udGVuIE5hbWVuc3LDpHVtZW4gc3RhcnRlbi5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08RGF0ZWk+XSAgICAgdW5zaGFyZSBow6RuZ3QgZGVuIE5hbWVuc3JhdW0gZWluXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxEYXRlaT5dICAgICAgIGRlbiBVVFMtTmFtZW5zcmF1bSBhYmtvcHBlbG4gKGhvc3RuYW1lIHVzdy4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxEYXRlaT5dICAgICAgIGRlbiBTeXN0ZW1WLUlQQy1OYW1lbnNyYXVtIGFia29wcGVsblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PERhdGVpPl0gICAgICAgZGVuIE5ldHp3ZXJrLU5hbWVuc3JhdW0gYWJrb3BwZWxuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxEYXRlaT5dICAgICAgIGRlbiBQcm96ZXNzLUlELU5hbWVuc3JhdW0gYWJrb3BwZWxuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PERhdGVpPl0gICAgICBkZW4gQmVudXR6ZXItTmFtZW5zcmF1bSBhYmtvcHBlbG5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PERhdGVpPl0gICAgZGVuIENncm91cC1OYW1lbnNyYXVtIG5pY2h0IG1laHIgdGVpbGVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBQcm96ZXNzIGF1ZnNwYWx0ZW4sIGJldm9yIDxQcm9ncmFtbT4gYXVzZ2Vmw7xocnQgd2lyZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz08VmVyej5dIGRhcyBwcm9jLURhdGVpc3lzdGVtIHp1ZXJzdCBlaW5ow6RuZ2VuIChiZWluaGFsdGV0IC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgYWt0dWVsbGVuIEJlbnV0emVyIHp1IHJvb3QgbWFjaGVuIChiZWluaGFsdGV0IC0tdXNlcilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBkaWUgV2VpdGVyZ2FiZSBkZXIgRWluaMOkbmd1bmcgaW0gRWluaMOkbmduYW1lbnNyYXVtIHZlcsOkbmRlcm5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjgKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIiCisiIC1zLCAtLXNldGdyb3VwcyA8YWxsb3d8ZGVueT4gIHNldGdyb3Vwcy1TeXN0ZW1hdWZydWYgaW0gQmVudXR6ZXItXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZW5zcmF1bSBzdGV1ZXJuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmUgZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1Cittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgIkJlZW5kZW4gZGVzIEtpbmRlcyBpc3QgZ2VzY2hlaXRlcnQiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU0Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIkRpZSBPcHRpb25lbiAtLXNldGdyb3Vwcz1hbGxvdyB1bmQgLS1tYXAtcm9vdC11c2VyIHNjaGxpZcOfZW4gc2ljaCBnZWdlbnNlaXRpZyBhdXMuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgImVpbmjDpG5nZW4gdm9uICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiRGVyIENvbnRyb2xsZXIgaGF0IHNjaG9uIGVpbm1hbCBlaW5lbiBSZXNldCBkZXIgQ1BVIGJld2lya3QiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiRXh0ZXJuZXMgUmVsYWlzIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiRXh0ZXJuZXMgUmVsYWlzIDIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiTMO8ZnRlciBhdXNnZWZhbGxlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIkFudHdvcnQgYXVmIGRlbiBha3RpdiBoYWx0ZW5kZW4gUGluZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICJVbnRlcnN0w7x0enQgZWluIG1hZ2lzY2hlcyBTY2hsaWXDn2VuLVplaWNoZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiWnVyw7xja3NldHplbiB3ZWdlbiBDUFUtw5xiZXJoaXR6dW5nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiTGVpc3R1bmcgw7xiZXIgU3Bhbm51bmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJTY2hsZWNodGUgTGVpc3R1bmcgLyBTdHJvbWF1c2ZhbGwiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIlZvcmhlcmlnZSBaZWl0w7xiZXJzY2hyZWl0dW5nIChpbiBTZWt1bmRlbikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJaZWl0w7xiZXJzY2hyZWl0dW5nIGZlc3RsZWdlbiAoaW4gU2VrdW5kZW4pIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiTmV1c3RhcnQgbmljaHQgYXVzbMO2c2VuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIk1hcmtpZXJ1bmdzbmFtZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiTWFya2llcnVuZ3NiZXNjaHJlaWJ1bmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJNYXJraWVydW5nc3N0YXR1cyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiQm9vdC1TdGF0dXMgbWFya2llcmVuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiV2F0Y2hkb2ctR2Vyw6R0ZW5hbWUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICJVbmJla2FubnRlIE1hcmtpZXJ1bmc6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJEZW4gV2F0Y2hkb2ctU3RhdHVzIGRlciBIYXJkd2FyZSBhbnplaWdlbi5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZsYWdzIDxMaXN0ZT4gICAgZ2lidCBudXIgZGllIGFuZ2VnZWJlbmVuIEZsYWdzIGF1c1xuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGdpYnQga2VpbmUgSW5mb3JtYXRpb25lbiB6dSBGbGFncyBhdXNcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBnaWJ0IGtlaW5lIFdhdGNoZG9nLUlkZW50aXTDpHRzaW5mb3JtYXRpb25lbiBhdXNcbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBnaWJ0IGtlaW5lIEtvcGZ6ZWlsZSBmw7xyIGRpZSBGbGFncy1UYWJlbGxlIGF1c1xuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIGdpYnQgYWxsZSBnZXfDvG5zY2h0ZW4gSW5mb3JtYXRpb25lbiBpbiBlaW5lciBaZWlsZSBhdXNcbiIKKyIgLW8sIC0tb3V0cHV0IDxMaXN0ZT4gICBkZWZpbmllcnQgZGllIFNwYWx0ZW4gZGVyIEF1c2dhYmVcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB2ZXJ3ZW5kZXQgZGFzIFJvaGZvcm1hdCBmw7xyIGRpZSBGbGFncy1UYWJlbGxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZ2lidCBrZWluZSBXYXRjaGRvZy1aZWl0w7xiZXJzY2hyZWl0dW5nZW4gYXVzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPFNlaz4gbGVndCBkaWUgV2F0Y2hkb2ctWmVpdMO8YmVyc2NocmVpdHVuZyBmZXN0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgZ2lidCBudXIgZGllIEZsYWdzLVRhYmVsbGUgYXVzICh3aWUgbWl0IC1JIC1UKVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICJEYXMgU3RhbmRhcmRnZXLDpHQgaXN0ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogdW5iZWthbm50ZSBNYXJraWVydW5nZW4gMHgleFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIlczogV2F0Y2hkb2cgd2lyZCBiZXJlaXRzIHZlcndlbmRldCwgd2lyZCBhYmdlYnJvY2hlbi4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBXYXRjaGRvZyBrb25udGUgbmljaHQgZW50d2FmZm5ldCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJaZWl0w7xiZXJzY2hyZWl0dW5nIGbDvHIgJXMga29ubnRlIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICJXYXJ0ZXplaXQgd3VyZGUgYXVmICVkIFNla3VuZGUgZ2VzZXR6dC5cbiIKK21zZ3N0clsxXSAiV2FydGV6ZWl0IHd1cmRlIGF1ZiAlZCBTZWt1bmRlbiBnZXNldHp0LlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBXYXRjaGRvZy1JbmZvcm1hdGlvbmVuIGtvbm50ZW4gbmljaHQgZXJtaXR0ZWx0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1IHN5cy11dGlscy93ZGN0bC5jOjQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlLTE0cyAlMmkgU2VrdW5kZVxuIgorbXNnc3RyWzFdICIlLTE0cyAlMmkgU2VrdW5kZW5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY2Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIlplaXTDvGJlcnNjaHJlaXR1bmc6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlZvcmhlcmlnZSBaZWl0w7xiZXJzY2hyZWl0dW5nOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICJaZWl0IMO8YnJpZzoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNAorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkdlcsOkdDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdMOkdDoiCisKKyMgYy1mb3JtYXQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOAorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIlZlcnNpb24iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJ6cmFtLUdlcsOkdGVuYW1lIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiQmVncmVuenVuZyBkZXIgdW5rb21wcmltaWVydGVuIERhdGVubWVuZ2UiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAidW5rb21wcmltaWVydGUgR3LDtsOfZSBkZXIgZ2VzcGVpY2hlcnRlbiBEYXRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAia29tcHJpbWllcnRlIEdyw7bDn2UgZGVyIGdlc3BlaWNoZXJ0ZW4gRGF0ZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJnZXfDpGhsdGVyIEtvbXByZXNzaW9uc2FsZ29yaXRobXVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAiQW56YWhsIGRlciBrb25rdXJyaWVyZW5kZW4gS29tcHJpbWllcnVuZ3N2b3Jnw6RuZ2UiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIkxlZXJlIFNlaXRlbiBvaG5lIHp1Z2V3aWVzZW5lbiBTcGVpY2hlciIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiYWxsZXIgU3BlaWNoZXIgaW5rbHVzaXZlIEZyYWdtZW50aWVydW5nIHVuZCBNZXRhZGF0ZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIkJlZ3Jlbnp1bmcgZGVzIFNwZWljaGVycGxhdHplcyBmw7xyIGtvbXByaW1pZXJ0ZSBEYXRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIlNwZWljaGVyLCBkZW4gWnJhbSBmw7xyIGRpZSBTcGVpY2hlcnVuZyBrb21wcmltaWVydGVyIERhdGVuIHZlcndlbmRldCBoYXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICJBbnphaGwgZGVyIE9iamVrdGUsIGRpZSBkdXJjaCBLb21wcmltaWVydW5nIG1pZ3JpZXJ0IHd1cmRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNzYKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAibW1fc3RhdCBrb25udGUgbmljaHQgZWluZ2VsZXNlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXSA8R2Vyw6R0PlxuIgorIiAlMSRzIC1yIDxHZXLDpHQ+IFvigKZdXG4iCisiICUxJHMgW09wdGlvbmVuXSAtZiB8IDxHZXLDpHQ+IC1zIDxHcsO2w59lPlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgInpyYW0tR2Vyw6R0ZSBlaW5yaWNodGVuIHVuZCBzdGV1ZXJuLlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIHp1IHZlcndlbmRlbmRlciBLb21wcmVzc2lvbnNhbGdvcml0aG11c1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MgorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgR3LDtsOfZW4gaW4gQnl0ZXMgYXVzZ2ViZW4sIGFuc3RhdHQgaW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbnNjaGVubGVzYmFyZW4gRm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGVpbiBmcmVpZXMgR2Vyw6R0IHN1Y2hlblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGtlaW5lIMOcYmVyc2NocmlmdGVuIGFuemVpZ2VuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQgPExpc3RlPiAgICAgIGRpZSBmw7xyIGRpZSBTdGF0dXNhdXNnYWJlIHp1IHZlcndlbmRlbmRlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3BhbHRlbiBmZXN0bGVnZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDYKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIFJvaGZvcm1hdCBmw7xyIGRpZSBTdGF0dXNhdXNnYWJlIHZlcndlbmRlblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICBhbGxlIGFuZ2VnZWJlbmVuIEdlcsOkdGUgenVyw7xja3NldHplblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OAorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtcywgLS1zaXplIDxHcsO2w59lPiAgICAgICAgR2Vyw6R0ZWdyw7bDn2VcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgLXQsIC0tc3RyZWFtcyA8WmFobD4gICAgICBBbnphaGwgZGVyIEtvbXByZXNzaW9ucy1EYXRlbnN0csO2bWVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiRWlubGVzZW4gZGVyIERhdGVuc3Ryw7ZtZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTUKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICJPcHRpb24gLS1maW5kIHVuZCA8R2Vyw6R0PiBzY2hsaWXDn2VuIHNpY2ggZ2VnZW5zZWl0aWcgYXVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICI8R2Vyw6R0PiBrYW5uIG5pY2h0IG1laHJmYWNoIGFuZ2VnZWJlbiB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIkRpZSBPcHRpb25lbiAtLWFsZ29yaXRobSB1bmQgLS1zdHJlYW1zIG3DvHNzZW4gbWl0IC0tc2l6ZSBrb21iaW5pZXJ0IHdlcmRlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IFp1csO8Y2tzZXR6ZW4gZmVobGdlc2NobGFnZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzA1IHN5cy11dGlscy96cmFtY3RsLmM6NzEzCittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAia2VpbiBmcmVpZXMgenJhbS1HZXLDpHQgZ2VmdW5kZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczogQW56YWhsIGRlciBEYXRlbnN0csO2bWUga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBBbGdvcml0aG11cyBrb25udGUgbmljaHQgZ2VzZXR6dCB3ZXJkZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogUGxhdHRlbmdyw7bDn2Uga29ubnRlIG5pY2h0IGdlc2V0enQgd2VyZGVuICglanUgQnl0ZSkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoYXV0b21hdGlzY2hlIEFubWVsZHVuZylcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBXdXJ6ZWx2ZXJ6ZWljaG5pcyAlcyBrYW5uIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IEFyYmVpdHN2ZXJ6ZWljaG5pcyAlcyBrYW5uIG5pY2h0IGdlw6RuZGVydCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogUHJpb3JpdMOkdCBkZXMgUHJvemVzc2VzIGtvbm50ZSBuaWNodCBnZcOkbmRlcnQgd2VyZGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogRmVobGVyIGJlaW0gQXVzZsO8aHJlbiB2b24gJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzNyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxNDg0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MjYgdGVybS11dGlscy9hZ2V0dHkuYzoyMDkzIHRlcm0tdXRpbHMvYWdldHR5LmM6MjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiU3BlaWNoZXIga29ubnRlIG5pY2h0IHp1Z2V3aWVzZW4gd2VyZGVuOiAlbSIKKworIyAibWtmcyBhdXMgdXRpbC1saW51eC0yLjEwZCIKKyMgIm1rZnMgdm9uIHV0aWwtbGludXgtMi4xMGQiCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMgdm9uICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIEvDtnBmZWFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICJ1bmfDvGx0aWdlcyBBcmd1bWVudCBmw7xyIC0tbG9jYWwtbGluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlcyBaZWl0YXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgImZhbHNjaGUgR2VzY2h3aW5kaWdrZWl0OiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDgKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ6dSB2aWVsZSBhbHRlcm5hdGl2ZSBHZXNjaHdpbmRpZ2tlaXRlbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzIGtvbm50ZSBuaWNodCBhbHMgU3RhbmRhcmRlaW5nYWJlIGdlw7ZmZm5ldCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lcyBpc3Qga2VpbiB6ZWljaGVub3JpZW50aWVydGVzIEdlcsOkdCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczoga2VpbiB0dHkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBzdGV1ZXJuZGVzIFRlcm1pbmFsIGthbm4gbmljaHQgZXJoYWx0ZW4gd2VyZGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogbmljaHQgb2ZmZW4gZsO8ciBMZXNlbi9TY2hyZWliZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBQcm96ZXNzZ3J1cHBlIGthbm4gbmljaHQgZ2VzZXR6dCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IGR1cOKAkFByb2JsZW06ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBUZXJtaW5hbC1BdHRyaWJ1dGUga29ubnRlbiBuaWNodCBlcm1pdHRlbHQgd2VyZGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVGVybWluYWwtQXR0cmlidXRlIGtvbm50ZW4gbmljaHQgZmVzdGdlbGVndCB3ZXJkZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgImRpZSBEYXRlaSBtaXQgZGVyIEJTLVZlcnNpb24ga2FubiBuaWNodCBnZcO2ZmZuZXQgd2VyZGVuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICJkaWUgRGF0ZWkgZsO8ciBkZW4gZXJuZXV0ZW4gU3RhcnQga29ubnRlIG5pY2h0IGVyemV1Z3Qgd2VyZGVuOiAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIltkcsO8Y2tlbiBTaWUgZGllIEVpbmdhYmV0YXN0ZSB6dW0gQW5tZWxkZW5dIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIk51bS1UYXN0ZSBhdXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0tVGFzdGUgZWluIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkZlc3RzdGVsbHRhc3RlIGVpbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY4Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIlJvbGxlbi1UYXN0ZSBlaW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkhpbndlaXM6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBnZWxlc2VuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogRWluZ2FiZeKAkMOcYmVybGF1ZiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IHVuZ8O8bHRpZ2UgWmVpY2hlbmtvbnZlcnRpZXJ1bmcgZsO8ciBBbm1lbGRlbmFtZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiB1bnp1bMOkc3NpZ2VzIFplaWNoZW4gMHgleCBpbSBBbm1lbGRlbmFtZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IFRlcm1pbmFsLUF0dHJpYnV0ZSBrb25udGVuIG5pY2h0IGZlc3RnZWxlZ3Qgd2VyZGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW09wdGlvbmVuXSA8TGVpdHVuZz4gWzxCYXVkcmF0ZT4sIOKApl0gWzxUZXJtaW5hbHR5cD5dXG4iCisiICUxJHMgW09wdGlvbmVuXSA8QmF1ZHJhdGU+LCDigKYgPExlaXR1bmc+IFs8VGVybWluYWx0eXA+XVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzAKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiRWluIFRlcm1pbmFsIMO2ZmZuZW4gdW5kIGRlc3NlbiBNb2R1cyBzZXR6ZW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMworbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICA4LUJpdC1UVFkgYW5uZWhtZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPEJlbnV0ei4+ICBkZW4gYW5nZWdlYmVuZW4gQmVudXR6ZXIgYXV0b21hdGlzY2ggYW5tZWxkZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM1Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIEtvbnRyb2xsbW9kdXMgbmljaHQgenVyw7xja3NldHplblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICAtciA8UmVjaG5lcm5hbWU+IGbDvHIgbG9naW4oMSkgdmVyd2VuZGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNworbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWlzc3VlLWZpbGUgPERhdGVpPiAgIERpZSBJc3N1ZS1EYXRlaSBhbnplaWdlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzgKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgSGFyZHdhcmUtRmx1c3Nrb250cm9sbGUgYWt0aXZpZXJlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDxSZWNobmVybmFtZT4gICBBbm1lbGRlcmVjaG5lciBmZXN0bGVnZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRpZSBJc3N1ZS1EYXRlaSBuaWNodCBhbnplaWdlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA8U3RyaW5nPiAgaW5pdC1aZWljaGVua2V0dGUgZmVzdGxlZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBCaWxkc2NoaXJtIHZvciBkZXIgRWluZ2FiZWF1ZmZvcmRlcnVuZyBuaWNodCBsZWVyZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQzCittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8RGF0ZWk+IEFubWVsZGVwcm9ncmFtbSBhbmdlYmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NAorbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxNb2R1cz5dIGRlbiBNb2R1cyBkZXIgbG9rYWxlbiBMZWl0dW5nIGtvbnRyb2xsaWVyZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBCYXVkcmF0ZSB3w6RocmVuZCBkZXIgVmVyYmluZHVuZyBleHRyYWhpZXJlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDYKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGtlaW5lbiBBbm1lbGRlcHJvbXB0IGFuemVpZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NworbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAga2VpbmVuIFplaWxlbnVtYnJ1Y2ggdm9yIGRlciBBdXNnYWJlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8T3B0Lj4gYmVpIEFubWVsZHVuZyB6dSDDvGJlcmdlYmVuZGUgT3B0aW9uZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ5Cittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgYXVmIFRhc3RlbmRydWNrIHZvciBkZXIgQW5tZWxkdW5nIHdhcnRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTAKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDxWZXJ6PiAgICAgICAgaW4gZGllc2UgU3lzdGVtd3VyemVsIHdlY2hzZWxuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgICBUVFkgdmlydHVlbGwg4oCeYXVmbGVnZW7igJxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdmVyc3VjaGVuLCBCYXVkcmF0ZSBuYWNoIEFiYnJ1Y2ggenUgZXJoYWx0ZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8WmFobD4gICAgIFplaXTDvGJlcnNjaHJlaXR1bmcgYmVpbSBBbm1lbGRlcHJvemVzc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgVGVybWluYWwgbWl0IEdyb8OfYnVjaHN0YWJlbiBlcmtlbm5lblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIFdhZ2VucsO8Y2tsYXVmIChDUikgYWJ3YXJ0ZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU2Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgSGlud2Vpc2UgbmljaHQgYXVzZ2ViZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU3Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBlcyB3aXJkIGtlaW4gUmVjaG5lcm5hbWUgYW5nZXplaWd0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICB2b2xsIGF1c2dlc2NocmllYmVuZW4gUmVjaG5lcm5hbWVuIGFuemVpZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0tZXJhc2UtY2hhcnMgPFN0cmluZz4genVzw6R0emxpY2hlIEJhY2tzcGFjZS1aZWljaGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIFp1c8OkdHpsaWNoZSBLaWxsemVpY2hlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgIC0tY2hkaXIgPFZlcnplaWNobmlzPiAgIFZlcnplaWNobmlzIHZvciBkZXIgQW5tZWxkdW5nIHdlY2hzZWxuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MgorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAtLWRlbGF5IDxaYWhsPiAgICAgICAgIFdhcnRlemVpdCBpbiBTZWt1bmRlbiB2b3IgZGVyIEVpbmdhYmVhdWZmb3JkZXJ1bmdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPFphaGw+ICAgICAgICAgIEFubWVsZHVuZyBtaXQgZGllc2VyIFByaW9yaXTDpHQgYXVzZsO8aHJlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjQKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICBQcm9tcHRzIGluIGxhdWZlbmRlbiBBZ2V0dHktSW5zdGFuemVuIG5ldSBlaW5sZXNlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtdHlwZXMgICAgIHp1bMOkc3NpZ2UgUGFydGl0aW9uc3R5cGVuIGF1Zmxpc3RlbiB1bmQgUHJvZ3JhbW0gYmVlbmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIEJlbnV0emVyIgorbXNnc3RyWzFdICIlZCBCZW51dHplciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaGVja25hbWUgZmVobGdlc2NobGFnZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIkRpZSBEYXRlaSAlcyBrYW5uIG5pY2h0IGFuZ2VsZWd0IHdlcmRlbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU5Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIi0tcmVsb2FkIHdpcmQgYXVmIElocmVtIFN5c3RlbSBuaWNodCB1bnRlcnN0w7x0enQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbeSB8IG5dXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiU2NocmVpYnp1Z3JpZmYgYW5kZXJlciBCZW51dHplciBhdWYgSWhyIFRlcm1pbmFsIHN0ZXVlcm4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICBlcmtsw6RyZW4gd2FzIGdlc2NoaWVodFxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiaXN0IHkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgImlzdCBuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiw4RuZGVybiBkZXMgJXMgTW9kdXMgZmVobGdlc2NobGFnZW4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIlNjaHJlaWJ6dWdyaWZmIGF1ZiBJaHIgVGVybWluYWwgaXN0IGVybGF1YnQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiU2NocmVpYnp1Z3JpZmYgYXVmIElociBUZXJtaW5hbCB3aXJkIHZlcndlaWdlcnQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZXMgQXJndW1lbnQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgJXMgW09wdGlvbmVuXSBbRGF0ZWldXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICJFaW5nYWJlc2tyaXB0IGVpbmVyIFRlcm1pbmFsc2l0enVuZyBhbmxlZ2VuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworIywgZnV6enkKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgQXVzZ2FiZSBhbmjDpG5nZW5cbiIKKyIgLWMsIC0tY29tbWFuZCA8QmVmZWhsPiAgQmVmZWhsIHN0YXR0IGludGVyYWt0aXZlciBTaGVsbCBhdXNmw7xocmVuXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIEV4aXQtQ29kZSBkZXMgVW50ZXJwcm96ZXNzZXMgYXVzZ2ViZW5cbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAg4oCeZmx1c2jigJwgbmFjaCBqZWRlbSBTY2hyZWliZW4gYXVzZsO8aHJlblxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICBBdXNnYWJlZGF0ZWkgdmVyd2VuZGVuLCBzZWxic3Qgd2VubiBlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBlaW5lIFZlcmtuw7xwZnVuZyBpc3RcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgc3RpbGwgYXVzZsO8aHJlblxuIgorIiAtdCwgLS10aW1pbmdbPTxEYXRlaT5dICBUaW1pbmctRGF0ZW4gaW4gU3RhbmRhcmRmZWhsZXJhdXNnYWJlIHNjaHJlaWJlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAob2RlciBpbiBEQVRFSSlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisiQXVzZ2FiZWRhdGVpIOKAniVz4oCcIGlzdCBlaW5lIFZlcmtuw7xwZnVuZy5cbiIKKyJCZW51dHplbiBTaWUg4oCeLS1mb3JjZeKAnCwgd2VubiBTaWUgZXMgdGF0c8OkY2hsaWNoIHZlcndlbmRlbiB3b2xsZW4uXG4iCisiUHJvZ3JhbW0gbmljaHQgZ2VzdGFydGV0LiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyaXB0IHd1cmRlIGJlZW5kZXQsIGRpZSBEYXRlaSBpc3QgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIlNrcmlwdGRhdGVpIGtvbm50ZSBuaWNodCBnZXNjaHJpZWJlbiB3ZXJkZW4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTaXR6dW5nIHRlcm1pbmllcnQuXG4iCisKKyMgVGhlICVzIG11c3QgYmUgYXQgdGhlIGVuZCwgJ2NhdXNlIGl0IGNvbnRhaW5zIHRoZSBcbgorIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIlNrcmlwdCBnZXN0YXJ0ZXQgYXVmICVzIgorCisjIFRoZSAlcyBtdXN0IGJlIGF0IHRoZSBlbmQsICdjYXVzZSBpdCBjb250YWlucyB0aGUgXG4KKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNrcmlwdCBiZWVuZGV0OiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAi4oCeb3BlbnB0eeKAnCBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJrZWluZSBwdHlzIG1laHIiCisKKyMgTm90IHJlYWxseSBuaWNl4oCmCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTa3JpcHQgZ2VzdGFydGV0LCBkaWUgRGF0ZWkgaXN0ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiAlcyBbLXRdIFRpbWluZ2RhdGVpIFtFaW5nYWJlc2tyaXB0XSBbVGVpbGVyXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkVpbiBFaW5nYWJlc2tyaXB0IHVudGVyIFZlcndlbmR1bmcgdm9uIFRpbWluZ2luZm9ybWF0aW9uZW4gYWJsYXVmZW4gbGFzc2VuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPERhdGVpPiAgICAgQXVzZ2FiZWRhdGVpIGbDvHIgZGllIFRpbWluZ2RhdGVuXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPERhdGVpPiBBdXNnYWJlZGF0ZWkgZsO8ciBkYXMgRWluZ2FiZXNrcmlwdCBkZXIgVGVybWluYWxzaXR6dW5nXG4iCisiIC1kLCAtLWRpdmlzb3IgPFphaGw+ICAgICBBdXNmw7xocnVuZyBtaXQgZGVtIGFuZ2VnZWJlbmVuIFRlaWxlciBiZXNjaGxldW5pZ2VuIG9kZXIgYnJlbXNlblxuIgorIiAtbSwgLS1tYXhkZWxheSA8WmFobD4gICAgbWF4aW1hbCBzbyB2aWVsZSBTZWt1bmRlbiB6d2lzY2hlbiBBa3R1YWxpc2llcnVuZ2VuIHdhcnRlblxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbmVuIGF1c2dlYmVuIHVuZCBQcm9ncmFtbSB2ZXJsYXNzZW5cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgIGRpZXNlIEhpbGZlIGF1c2dlYmVuIHVuZCBkYXMgUHJvZ3JhbW0gdmVybGFzc2VuXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEzCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiU2NocmVpYmVuIGF1ZiBkaWUgU3RhbmRhcmRhdXNnYWJlIGZlaGxnZXNjaGxhZ2VuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICJVbmVyd2FydGV0ZXMgRGF0ZWllbmRlIGluIOKAniVz4oCcIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIkxlc2VuIGRlciBNaXRzY2huaXR0ZGF0ZWkgJXMgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImZhbHNjaGUgQW56YWhsIGFuIEFyZ3VtZW50ZW4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJMZXNlbiBkZXIgVGltaW5nLURhdGVpICVzIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIlRpbWluZ3MtRGF0ZWkgJXM6ICVsdTogdW5lcndhcnRldGVzIEZvcm1hdCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiQXJndW1lbnRmZWhsZXI6IEhlbGxpZ2tlaXRzd2VydCAlcyB3aXJkIG5pY2h0IHVudGVyc3TDvHR6dCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAienUgdmllbGUgVGFicyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIlRlcm1pbmFsYXR0cmlidXRlIGZlc3RsZWdlbi5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtLXRlcm0gICAgICAgICAgPFRlcm1pbmFsbmFtZT4gICAgw7xiZXJzY2hyZWlidCBkaWUgVW1nZWJ1bmdzdmFyaWFibGUgVEVSTVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiIKKyIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcyBUZXJtaW5hbCBhdWYgZGVuIEVpbnNjaGFsdHp1c3RhbmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgenVyw7xja3NldHplblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKyIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhcyBUZXJtaW5hbCBhdWYgZGVuIEVpbnNjaGFsdHp1c3RhbmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgenVyw7xja3NldHplblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIiCisiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBpbml0LVplaWNoZW5rZXR0ZSBhbnplaWdlbiB1bmQgU3RhbmRhcmRlaW5zdGVsbHVuZ2VuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZlcndlbmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdm9yZ2VnZWJlbmUgVGVybWluYWwtRWluc3RlbGx1bmdlbiB2ZXJ3ZW5kZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBha3R1ZWxsZSBUZXJtaW5hbC1FaW5zdGVsbHVuZ2VuIGFscyBWb3JnYWJlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWljaGVyblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgQ3Vyc29yIGFuemVpZ2VuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAgVGFzdGF0dXJ3aWVkZXJob2x1bmdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgc2NoYWx0ZXQgZGVuIEN1cnNvcnRhc3Rlbi1Nb2R1c1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlaW4gb2RlciBhdXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIgorIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgaW4gZWluZXIgbmV1ZW4gWmVpbGUgYmVnaW5uZW4sIGZhbGxzIGVpbmUgWmVpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2b2xsIGlzdFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKyIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHRhdXNjaHQgIGRpZSBWb3JkZXJncnVuZC0gdW5kIEhpbnRlcmdydW5kLVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYXJiZW4gZsO8ciBkZW4gZ2VzYW10ZW4gQmlsZHNjaGlybVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8RmFyYmU+ICAgVm9yZGVyZ3J1bmRmYXJiZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8RmFyYmU+ICAgSGludGVyZ3J1bmRmYXJiZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8RmFyYmU+ICBGYXJiZSBmw7xyIHVudGVyc3RyaWNoZW5lbiBUZXh0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxGYXJiZT4gIEZhcmJlIGbDvHIgZmV0dGVuIFRleHRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICA8RmFyYmU+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgZmV0dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGFiZHVua2VsblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVudGVyc3RyZWljaGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIFZvcmRlcmdydW5kLSB1bmQgSGludGVyZ3J1bmRmYXJiZSB2ZXJ0YXVzY2hlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIEJpbGRzY2hpcm0gbGVlcmVuIHVuZCBDdXJzb3Jwb3NpdGlvbiBzZXR6ZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIgorIiAtLXRhYnMgICAgICAgICAgWzxaYWhsPiDigKZdICAgICAgICBzZXR6dCBkaWUgVGFidWxhdG9yZW4gYW4gZGllIGFuZ2VnZWJlbmVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvc2l0aW9uZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIgLS1jbHJ0YWJzICAgICAgIFs8WmFobD4g4oCmXSAgICAgbMO2c2NodCBkaWVzZSBUYWJzdG9wcC1Qb3NpdGlvbmVuLCBvZGVyIGFsbGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgbGVndCBlaW5lbiByZWd1bMOkcmVuIFRhYnN0b3BwLUludGVydmFsIGZlc3RcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKyIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIFplaXQgZGVyIEluYWt0aXZpdMOkdCBiaXMgenVtIExlZXJlbiBkZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJpbGRzY2hpcm1zIGZlc3RsZWdlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisiIC0tZHVtcCAgICAgICAgICBbPFphaGw+XSAgICAgICAgICBzY2hyZWlidCAgZWluZW4gIFNjaG5hcHBzY2h1c3MgZGVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2VnZWJlbmVuIHZpcnR1ZWxsZW4gS29uc29sZSBpblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlaW5lIERhdGVpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisiIC0tYXBwZW5kICAgICAgICBbPFphaGw+XSAgICAgICAgICBow6RuZ3QgZGVuIFNjaG5hcHBzY2h1c3MgZGVyIHZpcnR1ZWxsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgS29uc29sZSBhbiBlaW5lIERhdGVpIGFuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiAtLWZpbGUgICAgICAgICAgPERhdGVpbmFtZT4gICAgICAgTmFtZSBkZXIgYXVzenVnZWJlbmRlbiBEYXRlaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBLZXJuZWwtTWVsZHVuZ2VuIGFuIGRpZSBLb25zb2xlIHNlbmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIFByb3Rva29sbGllcnN0dWZlIGRlciBLZXJuZWwtS29uc29sZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVndCBWRVNBLUVuZXJnaWVzcGFyZnVua3Rpb25lbiBmZXN0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgbGVndCBkYXMgSW50ZXJ2YWxsIGbDvHIgZGFzIFZlcnNldHplbiBpblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZW4gVkVTQS1Qb3dlcmRvd24tTW9kdXMgaW4gTWludXRlbiBmZXN0LlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIERhdWVyIGRlciBTeXN0ZW1nbG9ja2UgaW4gTWlsbGlzZWt1bmRlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPFphaGw+ICAgICAgICAgICAgRnJlcXVlbnogZGVyIFN5c3RlbWdsb2NrZSBpbiBIZXJ0elxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzEKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiZG9wcGVsdGUgT3B0aW9uIgorCisjIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gc3RyZXJyb3IoZXJybm8pIGlzIG11Y2ggdG9vIGxvbmcKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiTGVlcmVuIGthbm4gbmljaHQgZXJ6d3VuZ2VuIHdlcmRlbiIKKworIyBUaGlzIGlzIG9ubHkgdXNlZCB3aGVuIHN0cmVycm9yKGVycm5vKSBpcyBtdWNoIHRvbyBsb25nCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiTGVlcmVuIGthbm4gbmljaHQgZXJ6d3VuZ2VuIHdlcmRlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzUxCittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIkxlZXJlbi1TdGF0dXMga2FubiBuaWNodCBlcmhhbHRlbiB3ZXJkZW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIlNwZWljaGVyYXVzenVnc2RhdGVpICVzIGbDvHIgZGllIEF1c2dhYmUga29ubnRlIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICJUZXJtaW5hbCAlcyB1bnRlcnN0w7x0enQgJXMgbmljaHQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICLigJ5zZWVr4oCcIGZlaGxnZXNjaGxhZ2VuLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY3Vyc29yIHBvc2l0aW9uOiAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZSBPcHRpb24iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInNldGdpZCBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJTdHJvbXNwYXJtb2R1cyBrYW5uIG5pY2h0ICh6dXLDvGNrKWdlc2V0enQgd2VyZGVuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJrbG9nY3RsLUZlaGxlciIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE0NgorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJFRFUk0gaXN0IG5pY2h0IGZlc3RnZWxlZ3QuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTUzCittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICJ0ZXJtaW5mby1EYXRlbmJhbmsga29ubnRlIG5pY2h0IGdlZnVuZGVuIHdlcmRlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogdW5iZWthbm50ZXIgVGVybWluYWx0eXAiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiSGFyZGNvcHktVGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJpbnRlcm5lciBGZWhsZXI6IHp1IHZpZWxlIGlvdidzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgIsO8YmVybcOkw59pZyBsYW5nZXMgWmVpbGVuYXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICLDlmZmbmVuIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworIyBUaGlzIGlzIHVzZWQgbm9ybWFseQorIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVtIgorCisjIFRoaXMgaXMgb25seSB1c2VkIHdoZW4gc3RyZXJyb3IoZXJybm8pIGlzIG11Y2ggdG9vIGxvbmcKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJFcyBrYW5uIGtlaW4gbmV1ZXIgUHJvemVzcyBlcnpldWd0IHdlcmRlbiAoZm9yaykiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogU0NIV0VSV0lFR0VOREVSIEZFSExFUiwgTmFjaHJpY2h0IGlzdCB2aWVsIHp1IGxhbmciCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtPcHRpb25lbl0gWzxEYXRlaT4gfCA8TmFjaHJpY2h0ZW4+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIkVpbmUgTmFjaHJpY2h0IGFuIGFsbGUgQmVudXR6ZXIgc2VuZGVuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxHcnVwcGU+ICAgICAgICAgICBkaWUgcHJpbcOkcmUgR3J1cHBlIGFuZ2ViZW5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAga2VpbiBCYW5uZXIsIGZ1bmt0aW9uaWVydCBudXIgZsO8ciBSb290XG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8WmVpdMO8YmVyc2NocmVpdHVuZz4gWmVpdMO8YmVyc2NocmVpdHVuZyBpbiBTZWt1bmRlbiBhbmdlYmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJ1bmfDvGx0aWdlIEFuZ2FiZSBmw7xyIHBlcmlvZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBnaWQiCittc2dzdHIgIiVjOiB1bmJla2FubnRlciBCZWZlaGwiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIgaXN0IG51ciBmw7xyIGRlbiBTeXN0ZW1hZG1pbmlzdHJhdG9yIGVybGF1YnQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJ1bmfDvGx0aWdlcyBaZWl0w7xiZXJzY2hyZWl0dW5nc2FyZ3VtZW50OiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJQYXNzd29ydC1VSUQga2FubiBuaWNodCBlcmhhbHRlbiB3ZXJkZW4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIlRUWS1OYW1lIGthbm4gbmljaHQgZXJzdGVsbHQgd2VyZGVuIgorCisjIFhYWCDigJMgSGF2ZSB0byBsb29rIGF0IG90aGVyIE9TcyB0cmFuc2xhdGlvbiBmb3IgQnJvYWRjYXN0CisjIE1lc3NhZ2UKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIlJ1bmRzZW5kZW5hY2hyaWNodCB2b24gJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJhdXMgJXMgd2lyZCBuaWNodCBnZWxlc2VuIOKAkyBTdGFuZGFyZGVpbmdhYmUgd2lyZCBiZW51dHp0LiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxCZW51dHplcj4gWzxUVFktTmFtZT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MQorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiRWluZSBOYWNocmljaHQgYW4gZWluZW4gYW5kZXJlbiBCZW51dHplciBzZW5kZW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIGlzdCBuaWNodCBhbmdlbWVsZWRldCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNgorbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJOYW1lIElocmVzIFRUWXMga2FubiBuaWNodCBmZXN0Z2VzdGVsbHQgd2VyZGVuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiJXMgaGF0IEJlbmFjaHJpY2h0aWd1bmdlbiBkZWFrdGl2aWVydCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiVzIGlzdCBtZWhyIGFscyBlaW5tYWwgYW5nZW1lbGRldDsgYXVmICVzIHdpcmQgZ2VzY2hyaWViZW4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhcmVmdWxwdXRjIGZlaGxnZXNjaGxhZ2VuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJOYWNocmljaHQgdm9uICVzQCVzIChhbHMgJXMpIGF1ZiAlcyB1bSAlcyDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJOYWNocmljaHQgdm9uICVzQCVzIGF1ZiAlcyB1bSAlcyDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIklociBTY2hyZWlienVncmlmZiBpc3QgYWJnZXNjaGFsdGV0IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIGlzdCBuaWNodCBhdWYgJXMgYW5nZW1lbGRldCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiVzIGhhdCBCZW5hY2hyaWNodGlndW5nZW4gYXVmICVzIGRlYWt0aXZpZXJ0IgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICJ1bWdla2VocnRlIFplaWxlbnZvcnNjaMO8YmUgaGVyYXVzIGZpbHRlcm4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbmVuOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGtlaW5lIFLDvGtzY2hyaXR0ZSBhdXNnZWJlblxuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIGhhbGJlIFZvcnfDpHJ0c3plaWxlbnZvcnNjaMO8YmUgenVsYXNzZW5cbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICB1bmJla2FubnRlIEtvbnRyb2xsc2VxdWVuemVuIGR1cmNocmVpY2hlblxuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIExlZXJ6ZWljaGVuIGluIFRhYnVsYXRvcmVuIHVtd2FuZGVsblxuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIFRhYnVsYXRvcmVuIGluIExlZXJ6ZWljaGVuIHVtd2FuZGVsblxuIgorIiAtbCwgLS1saW5lcyBaQUhMICAgICAgIG1pbmRlc3RlbnMgWkFITCBaZWlsZW4gendpc2NoZW5zcGVpY2hlcm5cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBWZXJzaW9uc2luZm8gYXVzZ2ViZW4gdW5kIFByb2dyYW1tIGJlZW5kZW5cbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhdXNnZWJlbiB1bmQgUHJvZ3JhbW0gYmVlbmRlblxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1MSB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiJXMgbGllc3QgYXVzIGRlciBTdGFuZGFyZGVpbmdhYmUgdW5kIHNjaHJlaWJ0IGluIGRpZSBTdGFuZGFyZGF1c2dhYmVcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTUKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgInVuZ8O8bHRpZ2VzIC1sIEFyZ3VtZW50IgorCisjICVzIGNhbiBiZSBvbmUgb2YgdGhlIHR3byBmb2xsb3dpbmcgdGV4dHMuCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiV2FybnVuZzogJXMga2FubiBuaWNodCBnZXNpY2hlcnQgd2VyZGVuLiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgIsO8YmVyIGVyc3RlIFplaWxlIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBaZWlsZSBzY2hvbiBnZXNjaHJpZWJlbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFs8RGF0ZWk+IOKApl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJucm9mZi1BdXNnYWJlIGbDvHIgZGllIEJpbGRzY2hpcm12b3JzY2hhdSBmaWx0ZXJuLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUsICAtLW5vLXVuZGVybGluaW5nICAgVW50ZXJzdHJlaWNodW5nIHVudGVyZHLDvGNrZW5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgYWxsZSBIYWxiemVpbGVuIGF1c2dlYmVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkF1ZnJ1ZjpcbiIKKyIgJXMgW1N0YXJ0c3BhbHRlIFtFbmRzcGFsdGVdXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjUKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiRGllIGFuZ2VnZWJlbmVuIFNwYWx0ZW4gZmlsdGVybi5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJlcnN0ZXMgQXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgInp3ZWl0ZXMgQXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgIkVpbmxlc2VuIGRlcyBFbmRlcyBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICJ1bmJlc3RpbW10ZXIgRWluaMOkbmdlcHVua3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIkZlaGxlciBiZWltIEVpbmxlc2VuIHZvbiAtLXRpbWVvdXQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCittc2dzdHIgIkVpbmxlc2VuIGRlcyBBbmZhbmdzIGZlaGxnZXNjaGxhZ2VuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5sZXNlbiB2b24gLS10aW1lb3V0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1ub2V4dHJlbWUgbGlzdCIKK21zZ3N0ciAiRmVobGVyIGJlaW0gRWlubGVzZW4gdm9uIC0tdGltZW91dCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtd3JhcCBsaXN0IgorbXNnc3RyICJFaW5sZXNlbiBkZXMgQW5mYW5ncyBmZWhsZ2VzY2hsYWdlbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtaGlkZSBsaXN0IgorbXNnc3RyICJGZWhsZXIgYmVpbSBFaW5sZXNlbiB2b24gLS10aW1lb3V0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICJFcyBrb25udGUga2VpbiBQTGF0eiBmw7xyIGRpZSBBdXNnYWJldGFiZWxsZSB6dWdld2llc2VuIHdlcmRlbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIkxpc3RlbiBzcGFsdGVud2Vpc2UgZm9ybWF0aWVyZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGVpbmUgVGFiZWxsZSBlcnN0ZWxsZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDxQcm9nbmFtZT4gICAgICAgICBEZXIgTmFtZSwgZGVyIGluIEZlaGxlcm1lbGR1bmdlbiBiZW51dHp0IHdpcmRcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPFNwYWx0ZT4gIEF1c2dhYmUgbmFjaCA8U3BhbHRlPiBzb3J0aWVyZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxMaXN0ZT4gICAga29tbWFnZXRyZW5udGUgTGlzdGUgZGVyIEF1c2xhZ2VydW5nc29wdGlvbmVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ0Cittc2dpZCAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAga2VpbmUgw5xiZXJzY2hyaWZ0ZW4gYW56ZWlnZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDYKK21zZ2lkICIgLWUsIC0tdGFibGUtaGVhZGVyLXJlcGVhdCAgICAgICAgcmVwZWF0IGhlYWRlciBmb3IgZWFjaCBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLXRhYmxlLWhpZGUgPGNvbHVtbnM+ICAgICAgIGRvbid0IHByaW50IHRoZSBjb2x1bW5zXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGtlaW5lIMOcYmVyc2NocmlmdGVuIGFuemVpZ2VuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIFRleHQgaW4gU3BhbHRlbiBuaWNodCBrw7xyemVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgZGFzIEpTT04tQXVzZ2FiZWZvcm1hdCBmw7xyIC0tbGlzdCB2ZXJ3ZW5kZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXRyZWUgPGNvbHVtbj4gICAgICAgICAgICAgIGNvbHVtbiB0byB1c2UgdHJlZS1saWtlIG91dHB1dCBmb3IgdGhlIHRhYmxlXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPFNwYWx0ZW4+ICAgICAgICBTcGFsdGVuIGbDvHIgZGllIEF1c2dhYmUgbWl0IC0tbGlzdCBhbmdlYmVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPFphaGw+ICAgICAgICAgICAgIElSUSBkZXMgUGFyYWxsZWxwb3J0cyBhbmdlYmVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW1uPiAgICAgICBwYXJlbnQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8TnVtbWVyPiAgICAgQW5nYWJlIGRlciBQYXJ0aXRpb25zbnVtbWVyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vdXRwdXQtd2lkdGggPHdpZHRoPiAgICAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbHVtbnMgPEJyZWl0ZT4gICBCcmVpdGUgZGVyIEF1c2dhYmUgYWxzIEFuemFobCBkZXIgWmVpY2hlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIFNwYWx0ZW50cmVubmVyIGbDvHIgVGFiZWxsZW5hdXNnYWJlO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgVm9yZ2FiZSBzaW5kIHp3ZWkgTGVlcnplaWNoZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlcGFyYXRvciA8U3RyaW5nPiBtw7ZnbGljaGUgVGFiZWxsZW50cmVubmVyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBaZWlsZW4gdm9yIFNwYWx0ZW4gZsO8bGxlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAidW5nw7xsdGlnZXMgU3BhbHRlbi1Bcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAiRWlubGVzZW4gZGVyIEVpbmjDpG5nZXRhYmVsbGUgZmVobGdlc2NobGFnZW4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIDxEYXRlaT4g4oCmXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OQorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJEYXRlaWluaGFsdGUgaGV4YWRlemltYWwsIGRlemltYWwsIG9rdGFsIG9kZXIgaW4gQVNDSUkgZGFyc3RlbGxlbi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBva3RhbGUgRWluLUJ5dGUtQW56ZWlnZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBBdXNnYWJlIHZvbiBFaW4tQnl0ZS1aZWljaGVuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBrYW5vbmlzY2hlIEhleCtBU0NJSS1BbnplaWdlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICBkZXppbWFsZSBad2VpLUJ5dGVzLUFuemVpZ2VcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICBva3RhbGUgWndlaS1CeXRlcy1BbnplaWdlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgaGV4YWRlemltYWxlIFp3ZWktQnl0ZXMtQW56ZWlnZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PE1vZHVzPl0gICAgIGludGVycHJldGllcnQgRm9ybWF0YW5nYWJlbiB6dXIgRmFyYmRhcnN0ZWxsdW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAtZSwgLS1mb3JtYXQgPEZvcm1hdD4gICAgIEZvcm1hdHplaWNoZW5rZXR0ZSBmw7xyIGFuenV6ZWlnZW5kZSBEYXRlblxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDxEYXRlaT4gRGF0ZWkgbWl0IEZvcm1hdHplaWNoZW5rZXR0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA8TMOkbmdlPiAgICAgIG51ciBkaWUgTMOkbmdlbi1CeXRlcyBkZXIgRWluZ2FiZSBpbnRlcnByZXRpZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPFBvc2l0aW9uPiAgICAgQnl0ZXMgdm9tIEFuZmFuZyBiaXMgPFBvc2l0aW9uPiDDvGJlcnNwcmluZ2VuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgaWRlbnRpc2NoZSBaZWlsZW4gYXVzZ2ViZW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJhbGxlIEVpbmdhYmVkYXRlaS1Bcmd1bWVudGUgZmVobGdlc2NobGFnZW4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAidW5nw7xsdGlnZXIgQnl0ZXrDpGhsZXIgZsO8ciBVbXdhbmRsdW5nc3plaWNoZW4gJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiUlcyBiZW7DtnRpZ3QgZWluZW4gUHLDpHppc2lvbnMtIG9kZXIgQnl0ZXrDpGhsZXIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiZmFsc2NoZXMgRm9ybWF0IHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJ1bmfDvGx0aWdlcyBVbXdhbmRsdW5nc3plaWNoZW4gJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiQnl0ZXrDpGhsZXIgbWl0IG1laHJlcmVuIFVtd2FuZGx1bmdzemVpY2hlbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICJFaW5lIFplaWxlIGxlc2VuLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJEYXRlaWFuc2ljaHRzZmlsdGVyIGbDvHIgZGllIEJpbGRzY2hpcm1hbnplaWdlLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAtZCAgICAgICAgICBkaWVzZSBIaWxmZSBhbnplaWdlbiwgYW5zdGF0dCBkaWUgU3lzdGVtZ2xvY2tlIGtsaW5nZW4genUgbGFzc2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgbG9naXNjaGUgYW5zdGF0dCBCaWxkc2NoaXJtemVpbGVuIHrDpGhsZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICItbCAgICAgICAgICAgUGF1c2UgbmFjaCBaZWlsZW52b3JzY2h1YiB1bnRlcmRyw7xja2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgbmljaHQgcm9sbGVuLCBUZXh0IHVuZCBzYXViZXJlIFplaWxlbmVuZGVuIGFuemVpZ2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAgbmljaHQgcm9sbGVuLCBCaWxkc2NoaXJtIGxlZXJlbiB1bmQgVGV4dCBhbnplaWdlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgbWVocmVyZSBMZWVyemVpbGVuIHp1IGVpbmVyIHZlcnNjaG1lbHplblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgIFVudGVyc3RyZWljaHVuZyB1bnRlcmRyw7xja2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08QW56YWhsPiAgIGRpZSBBbnphaGwgZGVyIFplaWxlbiBwcm8gQmlsZHNjaGlybWluaGFsdFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDYKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiArPFphaGw+ICAgICBEYXRlaSBiZWdpbm5lbmQgYmVpIFplaWxlbm51bW1lciBhbnplaWdlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorIiArLzxaZWljaGVua2V0dGU+XG4iCisiICAgICAgICAgICAgIERhdGVpIGJlZ2lubmVuZCBiZWkgZGVyIGdlZnVuZGVuZW4gWmVpY2hlbmtldHRlXG4iCisiICAgICAgICAgICAgICAgYW56ZWlnZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAidW5iZWthbm50ZSBPcHRpb24gLSVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBWZXJ6ZWljaG5pcyAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogS2VpbmUgVGV4dGRhdGVpICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW0JlbnV0emVuIFNpZSBxIG9kZXIgUSB6dW0gQmVlbmRlbl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1NZWhyLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihOw6RjaHN0ZSBEYXRlaTogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbTGVlcnRhc3RlIHp1bSBGb3J0ZmFocmVuLCDigJ5x4oCcIHp1bSBCZWVuZGVuLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICLigKYgJWQgU2VpdGUgenVyw7xjayIKK21zZ3N0clsxXSAi4oCmICVkIFNlaXRlbiB6dXLDvGNrIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICLigKYgJWQgWmVpbGUgd2lyZCDDvGJlcnNwcnVuZ2VuIgorbXNnc3RyWzFdICLigKYgJWQgWmVpbGVuIHdlcmRlbiDDvGJlcnNwcnVuZ2VuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKlp1csO8Y2sqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI4NAorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiS2VpbiB2b3JoZXJpZ2VyIHJlZ3Vsw6RyZXIgQXVzZHJ1Y2siCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiRGVuIG1laXN0ZW4gQmVmZWhsZW4ga2FubiBvcHRpb25hbCBlaW4gR2FuenphaGxhcmd1bWVudCBrIHZvcmF1c2dlaGVuOyBkaWVcbiIKKyJWb3JlaW5zdGVsbHVuZyBpbiBLbGFtbWVybi4gU3Rlcm5jaGVuICgqKSBiZWRldXRldCwgZGFzcyBkYXMgQXJndW1lbnQgZGllIG5ldWVcbiIKKyJWb3JlaW5zdGVsbHVuZyB3aXJkLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPExlZXJ0YXN0ZT4gICAgICAgICAgICAgZGllIG7DpGNoc3RlbiBrIFplaWxlbiBUZXh0IHplaWdlbiBbQmlsZHNjaGlybWdyw7bDn2VdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgZGllIG7DpGNoc3RlbiBrIFplaWxlbiBUZXh0IHplaWdlbiBbQmlsZHNjaGlybWdyw7bDn2VdKlxuIgorIjxFaW5nYWJlPiAgICAgICAgICAgICAgIGRpZSBuw6RjaHN0ZW4gayBaZWlsZW4gVGV4dCB6ZWlnZW4gWzFdKlxuIgorImQgb2RlciBTdHJnLUQgICAgICAgICAgIGsgWmVpbGVuIHJvbGxlbiBbbW9tZW50YW5lIFJvbGxncsO2w59lLCBhbmZhbmdzIDExXSpcbiIKKyJxIG9kZXIgUSBvZGVyIDxVbnRicj4gICBtb3JlIGJlZW5kZW5cbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBrIFplaWxlbiBUZXh0IHZvcnfDpHJ0cyBzcHJpbmdlbiBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBrIEJpbGRzY2hpcm1lIFRleHQgdm9yd8OkcnRzIHNwcmluZ2VuIFsxXVxuIgorImIgb2RlciBTdHJnLUIgICAgICAgICAgIGsgQmlsZHNjaGlybWUgVGV4dCByw7xja3fDpHJ0cyBzcHJpbmdlbiBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICB6dW0gQW5mYW5nIGRlciBsZXR6dGVuIFN1Y2hlIGdlaGVuXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgbW9tZW50YW5lIFplaWxlbm51bW1lciB6ZWlnZW5cbiIKKyIvPHJlZ3Vsw6RyZXIgQXVzZHJ1Y2s+ICAgbmFjaCBrLXRlbSBBdWZ0cmV0ZW4gZGVzIHJlZ3Vsw6RyZW4gQXVzZHJ1Y2tzIHN1Y2hlbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBuYWNoIGstdGVtIEF1ZnRyZXRlbiBkZXMgbGV0enRlbiByZWcuIEF1c2RyLiBzdWNoZW4gWzFdXG4iCisiITxiZWY+IG9kZXIgOiE8YmVmPiAgICAgPGJlZj4gaW4gZWluZXIgU3Vic2hlbGwgYXVzZsO8aHJlblxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIC91c3IvYmluL3ZpIGFuIG1vbWVudGFuZXIgWmVpbGUgc3RhcnRlblxuIgorIlN0cmctTCAgICAgICAgICAgICAgICAgIFNjaGlybSBuZXUgemVpY2huZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICB6dXIgay10ZW4gbsOkY2hzdGVuIERhdGVpIGdlaGVuIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIHp1ciBrLXRlbiB2b3JpZ2VuIERhdGVpIGdlaGVuIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIG1vbWVudGFuZW4gRGF0ZWluYW1lbiB1bmQgWmVpbGVubnVtbWVyIHplaWdlblxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIGxldHp0ZW4gQmVmZWhsIHdpZWRlcmhvbGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW0Ryw7xja2VuIFNpZSDigJ5o4oCcIGbDvHIgSGlsZmUuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAi4oCeJXPigJwgWmVpbGUgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltLZWluZSBEYXRlaV0gWmVpbGUgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgw5xiZXJsYXVmXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICLigKYgd2lyZCDDvGJlcnNwcnVuZ2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1OTgKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk11c3RlciB3dXJkZSBuaWNodCBnZWZ1bmRlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIk11c3RlciB3dXJkZSBuaWNodCBnZWZ1bmRlbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIuKAnmV4ZWPigJwgZmVobGdlc2NobGFnZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAibmV1ZXIgUHJvemVzcyBrYW5uIG5pY2h0IGVyemV1Z3Qgd2VyZGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisi4oCmIHdpcmQgw7xiZXJzcHJ1bmdlbiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAi4oCmIFNwcnVuZyB6dSBEYXRlaSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNgorbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIuKApiBTcHJ1bmcgenVyw7xjayB6dSBEYXRlaSAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJaZWlsZSBpc3QgenUgbGFuZyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIktlaW4gdm9yaGVyaWdlciBCZWZlaGwsIGRlciBlaW5nZWbDvGd0IHdlcmRlbiBrw7ZubnRlIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIGRpZXNlciBCaWxkc2NoaXJtXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBQcm9ncmFtbSBiZWVuZGVuXG4iCisiICA8WmVpbGVudW1icnVjaD4gICAgICAgICBuw6RjaHN0ZSBTZWl0ZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgZWluIFNlaXRlIHZvcnfDpHJ0cyBzcHJpbmdlblxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbsOkY2hzdGUgaGFsYmUgU2VpdGVcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG7DpGNoc3RlIFplaWxlXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsZXR6dGUgU2VpdGVcbiIKKyIgIC9SZWdleC8gICAgICAgICAgICAgICAgIHZvcnfDpHJ0cyBuYWNoIGRlbSByZWd1bMOkcmVuIEF1c2RydWNrIHN1Y2hlblxuIgorIiAgP1JlZ2V4PyBvZGVyIF5yZWdleF4gICAgcsO8Y2t3w6RydHMgbmFjaCBkZW0gcmVndWzDpHJlbiBBdXNkcnVjayBzdWNoZW5cbiIKKyIgIC4gb2RlciBeTCAgICAgICAgICAgICAgIEJpbGRzY2hpcm0gZXJuZXV0IGF1c2dlYmVuXG4iCisiICB3IG9kZXIgeiAgICAgICAgICAgICAgICBTZWl0ZW5ncsO2w59lIHNldHplbiB1bmQgenVyIG7DpGNoc3RlbiBTZWl0ZSBnZWhlblxuIgorIiAgcyBEYXRlaW5hbWUgICAgICAgICAgICAgYWt0dWVsbGUgRGF0ZWkgaW4gRGF0ZWluYW1lIHNwZWljaGVyblxuIgorIiAgIUJlZmVobCAgICAgICAgICAgICAgICAgQmVmZWhsIG1pdCBTaGVsbCBhdXNnZWJlblxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgenVyIHZvcmhlcmlnZW4gRGF0ZWkgc3ByaW5nZW5cbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIHp1ciBuw6RjaHN0ZW4gRGF0ZWkgc3ByaW5nZW5cbiIKKyJcbiIKKyJWaWVsZSBCZWZlaGxlIGFremVwdGllcmVuIHZvcmFuIGdlaGVuZGUgWmFobGVuLCB6dW0gQmVpc3BpZWw6XG4iCisiKzE8RWluZ2FiZT4gKG7DpGNoc3RlIFNlaXRlKTsgLTE8RWluZ2FiZT4gKHZvcmhlcmlnZSBTZWl0ZSk7IDE8RWluZ2FiZT4gKGVyc3RlIFNlaXRlKS5cbiIKKyJcbiIKKyJJbiBwZygxKSBmaW5kZW4gU2llIHdlaXRlcmUgSW5mb3JtYXRpb25lbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFsrWmVpbGVdIFsrL011c3Rlci9dIFtEYXRlaWVuXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiVGV4dGRhdGVpZW4gc2VpdGVud2Vpc2UgZHVyY2hzdWNoZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAgWmVpbGVuIHBybyBTZWl0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICBCaWxkc2NoaXJtIHZvciBkZXIgQW56ZWlnZSBsZWVyZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MAorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICBhbSBFbmRlIGRlciBEYXRlaSBuaWNodCBwYXVzaWVyZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICBsYW5nZSBaZWlsZW4gbmljaHQgdW1icmVjaGVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDIKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uICAgICAgICAgICBCZWZlaGwgbWl0IG5ldWVyIFplaWxlIGJlZW5kZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MworbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxwcm9tcHQ+ICBQcm9tcHQgYW5nZWJlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ0Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIC1yICAgICAgICAgICBTaGVsbC1Fc2NhcGUgbmljaHQgZXJsYXViZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgTmFjaHJpY2h0ZW4gYXVmIFN0YW5kYXJkYXVzZ2FiZSBhdXNnZWJlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK251bWJlciAgICAgIGluIGRlciBhbmdlZ2ViZW5lbiBaZWlsZSBzdGFydGVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy9wYXR0ZXJuLyAgICBpbiBkZXIgZGFzIE11c3RlciBlbnRoYWx0ZW5kZW4gWmVpbGUgc3RhcnRlblxuIgorCisjIGxpYmM6ICJEaWUgT3B0aW9uIOKAniVz4oCcIGVyZm9yZGVydCBlaW4gQXJndW1lbnRcbiIKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJPcHRpb24gZXJmb3JkZXJ0IGVpbiBBcmd1bWVudCAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAidW56dWzDpHNzaWdlIE9wdGlvbiAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjM2NworbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAi4oCmIFNwcnVuZyB2b3J3w6RydHNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIuKApiBTcHJ1bmcgcsO8Y2t3w6RydHNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiS2VpbmUgbsOkY2hzdGUgRGF0ZWkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJLZWluIHZvcmhlcmdlaGVuZGUgRGF0ZWkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIkZlaGxlciBiZWltIExlc2VuIGF1cyAlcy1EYXRlaSIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJVbmVyd2FydGV0ZXMgRGF0ZWllbmRlIGluICVzLURhdGVpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiVW5iZWthbm50ZXIgRmVobGVyIGluICVzLURhdGVpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIlRlbXBvcsOkcmUgRGF0ZWkga29ubnRlIG5pY2h0IGFuZ2VsZWd0IHdlcmRlbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkZlaGxlciBpbiByZWd1bMOkcmVtIEF1c2RydWNrOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTA1Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihEYXRlaWVuZGUpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEzMCB0ZXh0LXV0aWxzL3BnLmM6MTE1NgorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiS2VpbiBnZW1lcmt0ZXIgU3VjaHRleHQiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJrYW5uIG5pY2h0IGdlw7ZmZm5ldCB3ZXJkZW4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjYzCittc2dpZCAic2F2ZWQiCittc2dzdHIgImdlc3BlaWNoZXJ0IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiAhYmVmZWhsIGltIHJmbGFnLU1vZHVzIG5pY2h0IGVybGF1YnQuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzg3Cittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSBmZWhsZ2VzY2hsYWdlbiwgc3DDpHRlciB2ZXJzdWNoZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NzUKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihOw6RjaHN0ZSBEYXRlaTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGxlIFJlY2h0ZSB2b3JiZWhhbHRlbi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICJFaW5sZXNlbiBkZXIgWmVpbGVuYW56YWhsIHBybyBTZWl0ZSBpc3QgZmVobGdlc2NobGFnZW4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIkF1ZnJ1ZjogJXMgW09wdGlvbmVuXSBbRGF0ZWkg4oCmXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgxCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICJaZWlsZW4gemVpY2hlbndlaXNlIHVta2VocmVuLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbT3B0aW9uZW5dIFs8RGF0ZWk+IOKApl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJVbnRlcnN0cmVpY2h1bmcuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICDDvGJlcnNjaHJlaWJ0IGRpZSBVbWdlYnVuZ3N2YXJpYWJsZSBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBVbnRlcnN0cmVpY2h1bmcgZHVyY2ggZWluZSB6dXPDpHR6bGljaGUgWmVpbGUgaW5kaXppZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJQcm9ibGVtZSBiZWltIExlc2VuIGRlciB0ZXJtaW5mby1EYXRlbmJhbmsiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJUZXJtaW5hbCDigJ4lc+KAnCBpc3QgbmljaHQgYmVrYW5udCwgVm9yZ2FiZSDigJ5kdW1i4oCcIHdpcmQgYmVudXR6dCIKKworIzogdGV4dC11dGlscy91bC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJVbmJla2FubnRlIEVzY2FwZS1TZXF1ZW56IGluIGRlciBFaW5nYWJlOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiRWluZ2FiZXplaWxlIGlzdCB6dSBsYW5nLiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaWUiCisKKyN+IG1zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKKyN+IG1zZ3N0ciAiQXJ0IGRlciBTcGVycmU6IEZMX0ZMT0NLIG9kZXIgRkxfUE9TSVguIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAiL2Jpbi91bW91bnQga29ubnRlIGbDvHIg4oCeJXPigJwgbmljaHQgYXVzZ2Vmw7xocnQgd2VyZGVuIgorCisjfiBtc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKKyN+IG1zZ3N0ciAiZXMgd2lyZCBmw7xyIH4lZCDCtVNlayBnZXNjaGxhZmVuXG4iCisKKyN+IG1zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCisjfiBtc2dzdHIgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYXVzZsO8aHJsaWNoZXIgc2VpblxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgIkF1cyAlcyBrb25udGUgbmljaHQgZ2VsZXNlbiB3ZXJkZW4iCisKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgIkF1c2bDvGhydW5nIG5pY2h0IG3DtmdsaWNoOiAlcyIKKworI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgIm5pY2h0IHVudGVyc3TDvHR6dGVyIEFsZ29yaXRobXVzOiAlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgIkRhdGVpIG1pdCBkZW4gUGFyYW1ldGVybiB6dXIgVWhyZWluc3RlbGx1bmcgKCVzKSBrb25udGUgbmljaHQgenVtIFNjaHJlaWJlbiBnZcO2ZmZuZXQgd2VyZGVuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorI34gbXNnc3RyICJEYXRlaSBtaXQgZGVuIFBhcmFtZXRlcm4genVyIFVocmVpbnN0ZWxsdW5nICglcykga29ubnRlIG5pY2h0IGFrdHVhbGlzaWVydCB3ZXJkZW4iCisKKyMgIkFid2VpY2h1bmdzcGFyYW1ldGVyIgorI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIkRpZSBBYndlaWNodW5nc3BhcmFtZXRlciB3dXJkZW4gbmljaHQgYWt0dWFsaXNpZXJ0LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUZXN0IG1vZGU6IGVwb2NoIHdhcyBub3Qgc2V0IHRvICVzLlxuIgorI34gbXNnc3RyICJaZWl0cHVua3QgZGVyIGxldHp0ZW4gw4RuZGVydW5nIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiAiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQXVmcnVmOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW0dlcsOkdGVdXG4iCisjfiAiICUxJHMgWy12fC1xXSBCZWZlaGxlIEdlcsOkdGVcbiIKKyN+ICJcbiIKKyN+ICJWZXJmw7xnYmFyZSBCZWZlaGxlOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVmVyZsO8Z2JhcmUgU3BhbHRlbiAoZsO8ciAtLW8pOlxuIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiU3VjaGZlaGxlciBhdWYgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBWZXJzaW9uc2luZm9ybWF0aW9uIGFuemVpZ2VuIHVuZCBiZWVuZGVuO1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtViB3aWUgLS12ZXJzaW9uIG11c3MgZGllIGVpbnppZ2UgT3B0aW9uIHNlaW5cbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIGRpZXNlbiBIaWxmZXRleHQgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWZXJmw7xnYmFyZSBTcGFsdGVuIChmw7xyIC0tc2hvdywgLS1yYXcgb2RlciAtLXBhaXJzKTpcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorCisjfiBtc2dpZCAiVHJ5ICclcyAtaCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlJ1ZmVuIFNpZSDigJ4lcyAtLWhlbHDigJwgYXVmLCB1bSB3ZWl0ZXJlIEluZm9ybWF0aW9uZW4genUgZXJoYWx0ZW4uXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuIHVuZCBiZWVuZGVuXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gIFZlcnNpb25zaW5mb3JtYXRpb25lbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorCisjfiBtc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtdSwgLS1oZWxwICAgICAgICAgICAgICAgICAgICBkaWVzZSBIaWxmZSBhbnplaWdlbiB1bmQgYmVlbmRlblxuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiS2VpbmUgYmVrYW5udGVuIFNoZWxscy4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWZXJmw7xnYmFyZSBTcGFsdGVuOlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorI34gbXNnc3RyICIgJXMgW09wdGlvbmVuXSAtdSA8QmVudXR6ZXI+IFtbLS1dIDxCZWZlaGw+XVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVmVyZsO8Z2JhcmUgU3BhbHRlbiAoZsO8ciAtLW91dHB1dCk6XG4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlByb2JpZXJlbiBTaWUg4oCeJXMgLS1oZWxw4oCcIGbDvHIgd2VpdGVyZSBJbmZvcm1hdGlvbmVuLlxuIgorCisjfiBtc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgZXJrbMOkcmVuLCB3YXMgZ2VtYWNodCB3aXJkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICBVVUlEIHp1ZmFsbHNiYXNpZXJ0IGVyemV1Z2VuXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgVVVJRCB6ZWl0YmFzaWVydCBlcnpldWdlblxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIFZlcnNpb25zaW5mb3JtYXRpb25lbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuIHVuZCBiZWVuZGVuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICBsw7ZzY2h0IGFsbGUgU2lnbmF0dXJlbiAoVk9SU0lDSFQhKVxuIgorI34gIiAtYiwgLS1iYWNrdXAgICAgICAgIGVyc3RlbGx0IGVpbmUgU2ljaGVydW5nIGRlciBTaWduYXR1ciBpbiBkZXIgRGF0ZWkgJEhPTUVcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICBlcnp3aW5ndCBkYXMgTMO2c2NoZW5cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICB6ZWlndCBkaWVzZSBIaWxmZSBhblxuIgorI34gIiAtbiwgLS1uby1hY3QgICAgICAgIHNvcmd0IGRhZsO8ciwgZGFzcyBhbGxlcyBlcmxlZGlndCB3aXJkLCBiaXMgYXVmIGRlblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgZW5kZ8O8bHRpZ2VuIEF1ZnJ1ZiB2b24gd3JpdGUoKVxuIgorI34gIiAtbywgLS1vZmZzZXQgPFphaGw+IE9ydCBkZXIgU2lnbmF0dXIsIGluIEJ5dGVzXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgQXVzZ2FiZSBpbiBlaW5lbSBhdXN3ZXJ0YmFyZW4gYW5zdGF0dCBtZW5zY2hlbmxlc2JhcmVuIEZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHVudGVyZHLDvGNrdCBkaWUgQXVzZ2FiZSB2b20gTWVsZHVuZ2VuXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgZ3Jlbnp0IGRpZSBEYXRlaXN5c3RlbWUsIFJBSURzIG9kZXIgUGFydGl0aW9uc3RhYmVsbGVuIGVpblxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIHplaWd0IFZlcnNpb25zaW5mb3JtYXRpb25lbiBhbiB1bmQgYmVlbmRldCBkYXMgUHJvZ3JhbW1cbiIKKworIyBEaWUgUmVnaXN0ZXJlaW50csOkZ2UgZGVyIEhhcmR3YXJldWhyIGVudGhhbHRlbiBXZXJ0ZSwgZGllIHVuZ8O8bHRpZworIyAgIHNpbmQgKHouQi4gZGVyIDUwLiBUYWcgZGVzIE1vbmF0cykgb2RlciBhdcOfZXJoYWxiIGRlcyB1bnRlcnN0w7x0emVuCisjICAgQmVyZWljaGVzICh6LkIuIGRhcyBKYWhyIDIwOTUpIGxpZWdlbi4KKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCisjfiBtc2dzdHIgIkRpZSBIYXJkd2FyZXVociBlbnRow6RsdCBlbnR3ZWRlciB1bmfDvGx0aWdlIFdlcnRlICh6LkIuIGRlbiA1MC4gVGFnIGRlcyBNb25hdHMpLCBvZGVyIGRpZSBXZXJ0ZSBsaWVnZW4gYXXDn2VyaGFsYiBkZXMgQmVyZWljaGVzLCBkZXIgdW50ZXJzdMO8dHp0IHdpcmQgKHouQi4gZGFzIEphaHIgMjA5NSkuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKKyN+IG1zZ3N0ciAiRGllIEhhcmR3YXJldWhyIGVudGjDpGx0IGVpbmUgdW5nw7xsdGlnZSBaZWl0YW5nYWJlOyBhdXMgZGllc2VtIEdydW5kIGlzdCBlcyBuaWNodCBtw7ZnbGljaCwgZGllIFN5c3RlbXplaXQgenUgc2V0emVuLiIKKworIyBub3QgbXVjaCB0byB0cmFuc2xhdGUKKyMgZGVidWcKKyN+IG1zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorI34gbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjIG5vdCBtdWNoIHRvIHRyYW5zbGF0ZQorIyBkZWJ1ZworI34gbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorI34gbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJTaWUgbcO8c3NlbiBBZG1pbmlzdHJhdG9yIHNlaW4sIHVtIGRpZSBTeXN0ZW11aHIgenUgZWluenVzdGVsbGVuLiIKKworI34gbXNnaWQgIlx0VVRDOiAlc1xuIgorI34gbXNnc3RyICJcdFVUQzogJXNcbiIKKworI34gbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEZXIgQWJ3ZWljaHVuZ3NmYWt0b3Igd2lyZCBuaWNodCB2ZXLDpG5kZXJ0LCBkYSBkaWUgSGFyZHdhcmV1aHIgdm9yaGVyXG4iCisjfiAia2VpbmVuIHNpbm52b2xsZW4gV2VydCBlbnRoaWVsdC5cbiIKKworIyAiYW5wYXNzZW4iCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAiRGllIEhhcmR3YXJldWhyIGVudGjDpGx0IGtlaW5lIGfDvGx0aWdlIFplaXQsIGRlc2hhbGIga2FubiBzaWUgbmljaHQgYW5nZXBhc3N0IHdlcmRlbi4iCisKKyN+IG1zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiQmVpICVsZCBTZWt1bmRlbiBuYWNoIDE5Njkgd2lyZCBkaWUgRWNodHplaXR1aHIgJWxkIFNla3VuZGVuIG5hY2ggMTk2OSBhbnplaWdlbi5cbiIKKworIyBFZ2dlcgorI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIkRlciBFcG9jaGVud2VydCBrYW5uIG5pY2h0IHZvbSBLZXJuZWwgYmVrb21tZW4gd2VyZGVuLiIKKworIyBFZ2dlcgorIyAiRXBvY2hlbndlcnQiCisjfiBtc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorI34gbXNnc3RyICJLZXJuZWwgZ2VodCB2b24gZWluZW0gRXBvY2hlbndlcnQgdm9uICVsdSBhdXMuXG4iCisKKyN+IG1zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorI34gbXNnc3RyICJVbSBkZW4gRXBvY2hlbndlcnQgenUgw6RuZGVybiwgbcO8c3NlbiBzaWUgZGllIOKAnmVwb2No4oCcLU9wdGlvbiBiZW51dHplbiwgdW0gYW56dWdlYmVuLCBhdWYgd2VsY2hlbiBXZXJ0IGVyIGdlc2V0enQgd2VyZGVuIHNvbGwuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiRGVyIEVwb2NoZW53ZXJ0IHdpcmQgbmljaHQgYXVmICVsdSBnZXNldHp0IOKAkyBUZXN0bW9kdXMuXG4iCisKKyMgRWdnZXIKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorI34gbXNnc3RyICJEZXIgRXBvY2hlbndlcnQgaW0gS2VybmVsIGthbm4gbmljaHQgZ2XDpG5kZXJ0IHdlcmRlbi5cbiIKKworI34gbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCisjfiBtc2dzdHIgIkRpZSBIYXJkd2FyZS1VaHIgYWJmcmFnZW4gb2RlciBzdGVsbGVuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgLS1nZXQgICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCBkcmlmdCBjb3JyZWN0ZWQgcmVzdWx0XG4iCisjfiAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgSGFyZHdhcmUtVWhyIGF1c2xlc2VuIHVuZCBFcmdlYm5pcyBhdXNnZWJlblxuIgorI34gIiAgICAgLS1nZXQgICAgICAgICAgICBIYXJkd2FyZS1VaHIgYXVzbGVzZW4gdW5kIGRhcyBtaXR0ZWxzIEFid2VpY2h1bmdzLVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGZha3RvciBrb3JyaWdpZXJ0ZSBFcmdlYm5pcyBhbnplaWdlblxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICAgICBFY2h0emVpdHVociBhdWYgZGllIG1pdCAtLWRhdGUgYW5nZWdlYmVuZSBaZWl0IHNldHplblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0enQgZGllIFN5c3RlbXplaXQgYXVzIGRlciBIYXJkd2FyZS1VaHJcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0enQgZGllIEhhcmR3YXJlLVVociBhdXMgZGVyIGFrdHVlbGxlbiBTeXN0ZW16ZWl0XG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHNldHp0IGRpZSBTeXN0ZW16ZWl0IGJhc2llcmVuZCBhdWYgZGVyIGFrdHVlbGxlbiBaZWl0em9uZVxuIgorI34gIiAgICAgLS1hZGp1c3QgICAgICAgICBrb3JyaWdpZXJ0IGRpZSBFY2h0emVpdHVociwgdW0gZGllIHN5c3RlbWF0aXNjaGUgQWJ3ZWljaHVuZ1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHNlaXQgZGVtIGxldHp0ZW4gU3RlbGxlbiBvZGVyIEtvcnJpZ2llcmVuIGRlciBIYXJkd2FyZS1VaHJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBhdXN6dWdsZWljaGVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZ2lidCBkZW4gRXBvY2gtV2VydCBkZXIgSGFyZHdhcmUtVWhyIGRlcyBLZXJuZWxzIGF1c1xuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXR6dCBkZW4gRXBvY2gtV2VydCBkZXIgSGFyZHdhcmUtVWhyIGRlcyBLZXJuZWxzIGF1ZiBkZW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBtaXQgLS1lcG9jaCBhbmdlZ2ViZW5lbiBXZXJ0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBzYWd0IGRpZSBBbnplaWdlIGRlciBFY2h0emVpdHVociB6dW0gbWl0IC0tZGF0ZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGFuZ2VnZWJlbmVuIFplaXRwdW5rdCB2b3JhdXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgemVpZ3QgVmVyc2lvbnNpbmZvcm1hdGlvbmVuIGFuIHVuZCBiZWVuZGV0IGRhcyBQcm9ncmFtbVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIGRpZSBIYXJkd2FyZXVociBpc3QgYXVmIFVUQyBnZXN0ZWxsdFxuIgorI34gIiAgICAgLS1sb2NhbHRpbWUgICAgICBkaWUgSGFyZHdhcmV1aHIgaXN0IGF1ZiBsb2thbGUgWmVpdCBnZXN0ZWxsdFxuIgorCisjfiBtc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZiwgLS1ydGMgPERhdGVpPiAgICBzcGV6aWVsbGUgL2Rldi/igKYtRGF0ZWkgYW5zdGF0dCBkZXIgVm9yZ2FiZSB2ZXJ3ZW5kZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgICBha3R1YWxpc2llcnQgZGVuIEFid2VpY2h1bmdzZmFrdG9yIGluICUxJHNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIChiZW7DtnRpZ3QgLS1zZXQgb2RlciAtLXN5c3RvaGMpXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgICAgZ3JlaWZ0IG5pY2h0IGF1ZiAlMSRzIHp1OyBkYWbDvHIgd2lyZCBlbnR3ZWRlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgLS11dGMgb2RlciAtLWxvY2FsdGltZSBiZW7DtnRpZ3RcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8RGF0ZWk+ICBnaWJ0IGRlbiBQZmFkIHp1ciBhZGp1c3QtRGF0ZWkgYW47XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBWb3JnYWJlIGlzdCAlMSRzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXRlc3QgICAgICAgICAgIGRvIG5vdCB1cGRhdGUgYW55dGhpbmcsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGhhcHBlblxuIgorI34gIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkZWJ1Z2dpbmcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLXRlc3QgICAgICAgICAgIGFrdHVhbGlzaWVydCBuaWNodHMsIHplaWd0IG51ciBhbiwgd2FzIHBhc3NpZXJlbiB3w7xyZGVcbiIKKyN+ICIgLUQsIC0tZGVidWcgICAgICAgICAgRGVidWctTW9kdXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCisjfiBtc2dzdHIgInVuZ8O8bHRpZ2VzIEVwb2NoZS1Bcmd1bWVudCIKKworI34gbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorI34gbXNnc3RyICIlcyBoYXQga2VpbmUgSW50ZXJydXB0LUZ1bmt0aW9uZW4uICIKKworI34gbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorI34gbXNnc3RyICJpb2N0bCgpIGF1ZiAlcywgdW0gVXBkYXRlLUludGVycnVwdHMgZWluenVzY2hhbHRlbiwgZmVobGdlc2NobGFnZW4uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZS4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCisjfiBtc2dzdHIgIlp1bSBNYW5pcHVsaWVyZW4gZGVzIEVwb2NoLVdlcnRlcyBpbSBLZXJuZWwgbXVzcyBkZXIgTGludXgtR2Vyw6R0ZXRyZWliZXIg4oCecnRj4oCcIG1pdHRlbHMgZGVyIEdlcsOkdGVkYXRlaSAlcyBhbmdlc3Byb2NoZW4gd2VyZGVuLiBEaWVzZSBEYXRlaSBleGlzdGllcnQgYXVmIGRpZXNlbSBTeXN0ZW0gbmljaHQuIgorCisjfiBtc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisjfiBtc2dzdHIgIkVwb2NoZSAlbHUgd3VyZGUgYXVzICVzIG1pdHRlbHMgZGVzIFJUQ19FUE9DSF9SRUFELUlvY3RscyBnZWxlc2VuLlxuIgorCisjfiBtc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKKyN+IG1zZ3N0ciAiRGVyIEVwb2NoZW53ZXJ0IGRhcmYgbmljaHQga2xlaW5lciBhbHMgMTkwMCBzZWluLiBTaWUgZm9yZGVydGVuICVsZCBhbi4iCisKKyN+IG1zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCisjfiBtc2dzdHIgImRpZSBFcG9jaGUgd2lyZCBhdWYgJWx1IHVuZCBkZXIgUlRDX0VQT0NIX1NFVC1Jb2N0bCB3aXJkIGF1ZiAlcyBnZXNldHp0LlxuIgorCisjfiBtc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKKyN+IG1zZ3N0ciAiRGVyIEtlcm5lbC1HZXLDpHRldHJlaWJlciBmw7xyICVzIGhhdCBrZWluZW4gUlRDX0VQT0NIX1NFVC1Jb2N0bC4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiJXNcbiIKKyN+ICJQcm9iaWVyZW4gU2llIOKAniVzIC0taGVscOKAnCBmw7xyIHdlaXRlcmUgSW5mb3JtYXRpb25lbi4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJQcm9iaWVyZW4gU2llIOKAniVzIC0taGVscOKAnCBmw7xyIHdlaXRlcmUgSW5mb3JtYXRpb25lbi4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVmVyZsO8Z2JhcmUgU3BhbHRlbiAoZsO8ciAtLXNob3cpOlxuIgorCisjfiBtc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCisjfiBtc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIFRyZWliZXIgYW53ZWlzZW4sIGRlbSBJUlEgenUgdmVydHJhdWVuXG4iCisKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIFZlcnNpb25zaW5mb3JtYXRpb24gYXVzZ2ViZW4gdW5kIGJlZW5kZW5cbiIKKworI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbnNpbmZvcm1hdGlvbiBhdXNnZWJlbiB1bmQgYmVlbmRlblxuIgorCisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpZXNlIEhpbGZlIGFuemVpZ2VuIHVuZCBiZWVuZGVuXG4iCisKKyN+IG1zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtViAgICAgICAgICBWZXJzaW9uc2luZm9ybWF0aW9uIGF1c2dlYmVuIHVuZCBiZWVuZGVuXG4iCisKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiRGF0ZWlzeXN0ZW1iZXplaWNobnVuZzoiCisKKyN+IG1zZ2lkICJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCisjfiBtc2dzdHIgIkRhcyBHZXLDpHQgJXMgZW50aMOkbHQgYmVyZWl0cyBlaW5lICVzLVNpZ25hdHVyLiIKKworI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogRGllc2UgT3B0aW9uZW4gc2NobGllw59lbiBzaWNoIGdlZ2Vuc2VpdGlnIGF1czoiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgIkZlc3RsZWdlbiB2b24gUEFUSCBmZWhsZ2VzY2hsYWdlbiIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworI34gbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIGluIGRlciBUYWJlbGxlIGRlciBlaW5nZWjDpG5ndGVuIERhdGVpc3lzdGVtZSBzdWNoZW5cbiIKKworI34gbXNnaWQgInVzZSBvZiAna2lsbCAtLXBpZCcgb3B0aW9uIGFzIGNvbW1hbmQgbmFtZSBpcyBkZXByZWNhdGVkIgorI34gbXNnc3RyICJWZXJ3ZW5kdW5nIGRlciBPcHRpb24g4oCea2lsbCAtLXBpZOKAnCBhbHMgQmVmZWhsc25hbWUgaXN0IHZlcmFsdGV0IgorCisjfiBtc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCisjfiBtc2dzdHIgIkRlbiBadWdyaWZmIGF1ZiBlaW4gRGF0ZWlzeXN0ZW0gdW50ZXJicmVjaGVuIChFeHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCisKKyN+IG1zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiRGllIFVocnplaXQgZGVyIEhhcmR3YXJldWhyIHd1cmRlIG5pY2h0IHZlcnN0ZWxsdCDigJMgVGVzdG1vZHVzLlxuIgorCisjfiBtc2dpZCAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKyN+IG1zZ3N0ciAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKworI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiRXMgd3VyZGUga2VpbmUg4oCeLS1kYXRl4oCcLU9wdGlvbiBhbmdlZ2ViZW4uIgorCisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICItLWRhdGUtQXJndW1lbnQgenUgbGFuZyIKKworIyBUaGUgZW5nbGlzaCB2ZXJzaW9uIGlzIGFscmVhZHkgYSBsaXR0bGUgbWlzbGVhZGluZy4KKyN+IG1zZ2lkICIiCisjfiAiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisjfiAiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKKyN+IG1zZ3N0ciAiIgorI34gIkRlciBXZXJ0IGRlciDigJ4tLWRhdGXigJwtT3B0aW9uIGlzdCBrZWluIGfDvGx0aWdlcyBEYXR1bS5cbiIKKyN+ICJFcyBkYXJmIGtlaW4gQW5mw7xocnVuZ3N6ZWljaGVuIGVudGhhbHRlbi4iCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAiRGVyIOKAnmRhdGXigJwtQmVmZWhsIHdpcmQgYXVmZ2VydWZlbjogJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCisjfiBtc2dzdHIgIuKAnmRhdGXigJwga29ubnRlIG5pY2h0IGluIGRlciAvYmluL3NoLVNoZWxsIGdlc3RhcnRldCB3ZXJkZW4uIHBvcGVuKCkgZmVobGdlc2NobGFnZW4iCisKKyN+IG1zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCisjfiBtc2dzdHIgIkF1c2dhYmUgZGVzIOKAnmRhdGXigJwtQmVmZWhscyA9ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAiRGVyIOKAnmRhdGXigJwtQmVmZWhsLCBkZXIgdm9uICVzIGF1ZmdlcnVmZW4gd3VyZGUsIGxpZWZlcnRlXG4iCisjfiAidW5lcndhcnRldGUgRXJnZWJuaXNzZS5cbiIKKyN+ICJEZXIgQmVmZWhsIHdhcjpcbiIKKyN+ICIgICVzXG4iCisjfiAiRGllIEF1c2dhYmUgd2FyOlxuIgorI34gIiAgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRlciDigJ5kYXRl4oCcLUJlZmVobCwgZGVyIHZvbiAlcyBhdWZnZXJ1ZmVuIHd1cmRlLCBsaWVmZXJ0ZSBrZWluZSBnYW56ZSBaYWhsLCB3byBkaWUgdW1nZXdhbmRlbHRlIFplaXQgZXJ3YXJ0ZXQgd3VyZGUuXG4iCisjfiAiRGVyIEJlZmVobCB3YXI6XG4iCisjfiAiICAlc1xuIgorI34gIkRpZSBBdXNnYWJlIHdhcjpcbiIKKyN+ICIgICVzXG4iCisKKyMgRWdnZXIsIGZpeGVkICVzLT4lZAorI34gbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiRGllIFplaWNoZW5rZXR0ZSAlcyBlbnRzcHJpY2h0ICVsZCBTZWt1bmRlbiBzZWl0IDE5NjkuXG4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiS2VpbmUgw4RuZGVydW5nIGFuIGRlciBTeXN0ZW11aHIgdm9yZ2Vub21tZW4g4oCTIFRlc3Rtb2R1cy5cbiIKKworIyBtZXJnZSB3aXRoIG5leHQKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICJEaWUgYWRqdGltZS1EYXRlaSB3aXJkIG5pY2h0IGFrdHVhbGlzaWVydCDigJMgVGVzdG1vZHVzIFxuIgorCisjICJIw6R0dGUgZGFzIGZvbGdlbmRlIGluIGRpZSBEYXRlaSAlcyBnZXNjaHJpZWJlbjpcbiIKKyMgcGFzc2l2LCBLb25qdW5rdGl2IGluIGRlciBVbXNjaHJlaWJ1bmdzZm9ybQorI34gbXNnaWQgIiIKKyN+ICJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAiIgorI34gIkZvbGdlbmRlcyB3w6RyZSBpbiBkaWUgRGF0ZWkgJXMgZ2VzY2hyaWViZW4gd29yZGVuOlxuIgorI34gIiVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisjfiAiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorI34gIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorI34gbXNnc3RyICJEZXIgS2VybmVsIGJld2FocnQgbnVyIGF1ZiBBbHBoYS1NYXNjaGluZW4gZWluZW4gRXBvY2hlbi1XZXJ0IGbDvHIgZGllIEhhcmR3YXJlLVVociBhdWYuIERpZXNlcyBod2Nsb2NrIHd1cmRlIGbDvHIgZWluZSBhbmRlcmUgTWFzY2hpbmUgYWxzIEFscGhhIGVyc3RlbGx0ICh1bmQgbMOkdWZ0IGRhaGVyIHZlcm11dGxpY2ggZ2VyYWRlIG5pY2h0IGF1ZiBlaW5lciBBbHBoYSkuIEVzIHdpcmQgbmljaHRzIGF1c2dlZsO8aHJ0LiIKKworI34gbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGlzY2ggZGllIFN5c3RlbXVociBtaXQgZGVyIENNT1MtVWhyIHZlcmdsZWljaGVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisjfiAiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICBncmVpZnQgZGlyZWt0IGF1ZiBkZW4gSVNBLUJ1cyB6dSwgYW5zdGVsbGUgdm9uICVzXG4iCisjfiAiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yaWVydCBkYXMgSmFociBkZXIgRWNodHplaXR1aHIgd2VnZW4gQklPUy1GZWhsZXJuXG4iCisjfiAiICAgICAtLWRhdGUgPFplaXQ+ICAgIGdpYnQgZGllIFplaXQgYW4sIGF1ZiB3ZWxjaGUgZGllIEhhcmR3YXJlLVVociBnZXNldHp0IHdpcmRcbiIKKyN+ICIgICAgIC0tZXBvY2ggPEphaHI+ICAgZ2lidCBkYXMgSmFociBhbiwgbWl0IGRlbSBkZXIgRXBvY2gtV2VydCBkZXIgSGFyZHdhcmUtVWhyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgYmVnaW5udFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICAgICAgICAgICAgaHdjbG9jayBtaXR0ZWlsZW4sIHVtIHdlbGNoZW4gQWxwaGEtVHlwIGVzIHNpY2ggaGFuZGVsdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIChzaWVoZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIk51ciBkZXIgU3lzdGVtYWRtaW5pc3RyYXRvciBkYXJmIGRpZSBIYXJkd2FyZXVociBiZW51dHplbi4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgbmltbXQga2VpbmUgTmljaHQtT3B0aW9ucy1Bcmd1bWVudGUgYW4uIFNpZSBnYWJlbiAlZCBhbi5cbiIKKworI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICJLZWluZSBicmF1Y2hiYXJlIFplaXRhbmdhYmUuIFVociBrYW5uIG5pY2h0IGdlc3RlbGx0IHdlcmRlbi4iCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgInZvbiBNSUxPIGdlYm9vdGV0XG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICJCw7ZzYXJ0aWdlIEJDRC1VaHJcbiIKKworIyBFZ2dlcgorI34gbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCisjfiBtc2dzdHIgIlVocnBvcnQgYXVmIDB4JXggZ2VzdGVsbHRcbiIKKworIyBkZWJ1ZworI34gbXNnaWQgImZ1bmt5IFRPWSFcbiIKKyN+IG1zZ3N0ciAi4oCeZnVua3kgVE9Z4oCcIVxuIgorCisjIFRoZSBzZWNvbmQgJXMgY2FuIGJlOgorIyAiY2xvY2sgcmVhZCIKKyMgInNldCB0aW1lIgorI34gbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCisjfiBtc2dzdHIgImF0b21hcmVzIOKAniVz4oCcIHNjaGx1ZyBiZWkgMTAwMCBJdGVyYXRpb25lbiBmZWhsISIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKTogU2NocmVpYmVuIGFuIFN0ZXVlcmFkcmVzc2UgJVggZmVobGdlc2NobGFnZW4iCisKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NfcmVhZCgpOiBMZXNlbiBkZXIgRGF0ZW5hZHJlc3NlICVYIGZlaGxnZXNjaGxhZ2VuIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3dyaXRlKCk6IFNjaHJlaWJlbiBhbiBTdGV1ZXJhZHJlc3NlICVYIGZlaGxnZXNjaGxhZ2VuIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3dyaXRlKCk6IFNjaHJlaWJlbiBhbiBEYXRlbmFkcmVzc2UgJVggZmVobGdlc2NobGFnZW4iCisKKyMgRWdnZXIsIG5vdCByZWFsbHkgbmljZQorI34gbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKKyN+IG1zZ3N0ciAiRXJsYXVibmlzIHd1cmRlIG5pY2h0IGVyaGFsdGVuLCB3ZWlsIGtlaW4gVmVyc3VjaCB1bnRlcm5vbW1lbiB3dXJkZS4iCisKKyMgRWdnZXIKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKKyN+IG1zZ3N0ciAiWnVncmlmZiBhdWYgRS9BLVBvcnQgbmljaHQgbcO2Z2xpY2g6IGRlciBpb3BsKDMpLUF1ZnJ1ZiBpc3QgZmVobGdlc2NobGFnZW4uIgorCisjIFRoaXMgaXMgbm90IHRoZSBjb3JyZWN0IHRyYW5zbGF0aW9uLCBidXQgaXQKKyMgZXhwbGFpbnMgdGhlIHNpdHVhdGlvbiBiZXR0ZXIuCisjfiBtc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorI34gbXNnc3RyICJTaWUgYmVuw7Z0aWdlbiByb290LVJlY2h0ZS5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorI34gbXNnc3RyICJBdXNnYWJlemVpbGUga29ubnRlIG5pY2h0IGluaXRpYWxpc2llcnQgd2VyZGVuIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJGZWhsZXI6IFNpZ25hbGhhbmRsZXIga2FubiBuaWNodCBmZXN0Z2VsZWd0IHdlcmRlbiIKKworI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgIkZlaGxlcjogU2lnbmFsaGFuZGxlciBrYW5uIG5pY2h0IHdpZWRlcmhlcmdlc3RlbGx0IHdlcmRlbiIKKworI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm51ciDigJ5yb2904oCcIGRhcmYgJXMgYXVmICVzIGVpbmjDpG5nZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBXZWl0ZXJlIERhdGVpc3lzdGVtZSBlcmthbm50LiBEaWVzIHNvbGx0ZSBuaWNodCBwYXNzaWVyZW4sXG4iCisjfiAiICAgICAgIHZlcndlbmRlbiBTaWUgLXQgPFR5cD4sIHVtIGRlbiBEYXRlaXN5c3RlbXR5cCBleHBsaXppdCBhbnp1Z2ViZW4sXG4iCisjfiAiICAgICAgIG9kZXIgd2lwZWZzKDgpLCB1bSBkYXMgR2Vyw6R0IHp1IGxlZXJlbi4iCisKKyN+IG1zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiRGF0ZWlzeXN0ZW10eXAga29ubnRlIG5pY2h0IGZlc3RnZXN0ZWxsdCB3ZXJkZW4sIHVuZCBlcyB3dXJkZSBrZWluZXIgYW5nZWdlYmVuIgorCisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJTaWUgbcO8c3NlbiBkZW4gRGF0ZWlzeXN0ZW10eXAgYW5nZWJlbiIKKworI34gbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiRWluaMOkbmdlcXVlbGxlIGlzdCBuaWNodCBkZWZpbmllcnQiCisKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW91bnQgaXN0IGZlaGxnZXNjaGxhZ2VuIgorCisjfiBtc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IERhdGVpc3lzdGVtIHd1cmRlIGVpbmdlaMOkbmd0LCBhYmVyIG1vdW50KDgpIGlzdCBmZWhsZ2VzY2hsYWdlbiIKKworI34gbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIGlzdCBiZXJlaXRzIGF1ZiAlcyBlaW5nZWjDpG5ndFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgTWFuY2htYWwgbGllZmVydCBkYXMgU3lzdGVtcHJvdG9rb2xsIHdlcnR2b2xsZSBJbmZvcm1hdGlvbmVuIOKAk1xuIgorI34gIiAgICAgICB2ZXJzdWNoZW4gU2llICBkbWVzZyB8IHRhaWwgIG9kZXIgw6RobmxpY2hcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKKyN+IG1zZ3N0ciAidW5iZWthbm50ZSBPcHRpb24g4oCeJWPigJwiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IHRhcmdldCBpcyBidXN5XG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorI34gIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBaaWVsIGlzdCBpbiBCZW51dHp1bmcuXG4iCisjfiAiICAgICAgICAoSW4gZWluaWdlbiBGw6RsbGVuIGZpbmRlbiBTaWUgdmVyd2VydGJhcmUgSW5mb3JtYXRpb25lblxuIgorI34gIiAgICAgICAgIMO8YmVyIGRpZSBQcm96ZXNzZSwgZGllIGRpZXNlcyBHZXLDpHQgbnV0emVuLCBtaXQgbHNvZig4KVxuIgorI34gIiAgICAgICAgIG9kZXIgZnVzZXIoMSkpLiIKKworI34gbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAiJXM6IEVpbmjDpG5nZXB1bmt0IG5pY2h0IGdlZnVuZGVuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJ1bmfDvGx0aWdlciBBdXN6ZWl0LVdlcnQ6ICVzIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAiRWluZSBaYWhsIHd1cmRlIGVyd2FydGV0LCBhYmVyIOKAniVz4oCcIGVyaGFsdGVuIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJEaXZpc29yIOKAniVz4oCcIgorCisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICJGZWhsZXIgaW4gZGVuIEFyZ3VtZW50ZW46ICVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIlRUWS1QZmFkICVzIGlzdCB6dSBsYW5nLiIKKworI34gbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKKyN+IG1zZ3N0ciAiWmVpbGUgJWQgaXN0IHp1IGxhbmcsIEF1c2dhYmUgd2lyZCBhYmdlc2Nobml0dGVuIgorCisjfiBtc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCisjfiBtc2dzdHIgInVudm9sbHN0w6RuZGlnZXIgU2NocmVpYnZvcmdhbmcgbmFjaCDigJ4lc+KAnCAoJXpkIGdlc2NocmllYmVuLCAlemQgZXJ3YXJ0ZXQpXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKKyN+IG1zZ3N0ciAiJXM6IGlub3RpZnktw5xiZXJ3YWNodW5nIGthbm4gbmljaHQgaGluenVnZWbDvGd0IHdlcmRlbiwgZGllIEJlZ3Jlbnp1bmcgZGVyIGlub3RpZnktw5xiZXJ3YWNodW5nZW4gd3VyZGUgZXJyZWljaHQuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICIgJXMgW09wdGlvbl0gPERhdGVpPlxuIgorCisjfiBtc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiRGVuIEhpbnp1ZsO8Z3VuZ2VuIHp1IGVpbmVyIFByb3Rva29sbGRhdGVpIGZvbGdlbi5cbiIKKworI34gbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorI34gbXNnc3RyICIgLW4sIC0tbGluZXMgPEFuemFobD4gICBkaWUgbGV0enRlbiA8QW56YWhsPiBaZWlsZW4gYXVzZ2ViZW5cbiIKKworI34gbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorI34gbXNnc3RyICIgLTxBbnphaGw+ICAgICAgICAgICAgICBnbGVpY2hiZWRldXRlbmQgbWl0IOKAni1uIDxBbnphaGw+4oCcXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCisjfiBtc2dzdHIgIldhcm51bmc6IOKAnnRhaWxm4oCcIHNvbGx0ZSBuaWNodCBtZWhyIHZlcndlbmRldCB3ZXJkZW4uIEJlbnV0emVuIFNpZSBzdGF0dCBkZXNzZW4g4oCedGFpbCAtZuKAnC5cbiIKKworI34gbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJrZWluZSBFaW5nYWJlZGF0ZWkgYW5nZWdlYmVuIgorCisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgIiVzOiBpc3Qga2VpbmUgRGF0ZWkiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgaXN0IGtlaW4gYmxvY2tvcmllbnRpZXJ0ZXMgR2Vyw6R0IgorCisjIFhYWCAtIEkgZGlkIGhhdmUgYSBiZXR0ZXIgb25lIGZvciBidXN5CisjIGxpYmMucG86CisjICJEZXZpY2Ugb3IgcmVzb3VyY2UgYnVzeSIKKyMgIkRhcyBHZXLDpHQgb2RlciBkaWUgUmVzc291cmNlIGlzdCBiZWxlZ3QiCisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlczogRGFzIEdlcsOkdCBpc3QgbmljaHQga29ycmVrdCBhdXNnZXJpY2h0ZXQiCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiT1MvMiB2ZXJzdC4gQzotTHcuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgIiVzOiBFaW5sZXNlZmVobGVyIGluIFplaWxlICVkIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIiVzOiBHZXLDpHRlcGZhZCBrYW5uIG5pY2h0IGVybWl0dGVsdCB3ZXJkZW4iCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IHVuYmVrYW5udGVyIEdlcsOkdGVuYW1lIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZG0gbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IGRlciBkbS1OYW1lIGtvbm50ZSBuaWNodCBlcm1pdHRlbHQgd2VyZGVuIgorCisjfiBtc2dpZCAidGhlIHNvcnQgY29sdW1uIGhhcyB0byBiZSBhbW9uZyB0aGUgb3V0cHV0IGNvbHVtbnMiCisjfiBtc2dzdHIgIkRpZSBTb3J0aWVyc3BhbHRlIG11c3Mgendpc2NoZW4gZGVuIEF1c2dhYmVzcGFsdGVuIGxpZWdlbi4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8UGZhZD4gICAgICAgIFBmYWQgenVyIFByb3plc3MtSUQtRGF0ZWlcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxQZmFkPiAgICAgUGZhZCB6dW0gU29ja2V0XG4iCisjfiAiIC1ULCAtLXRpbWVvdXQgPFNlaz4gICAgIEluYWt0aXZpdMOkdHMtWmVpdHNjaHdlbGxlXG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGxhdWZlbmRlbiBEYWVtb24gYWJ3w7xyZ2VuXG4iCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHp1ZmFsbHNiYXNpZXJ0ZSBFcnpldWd1bmcgdGVzdGVuXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHplaXRiYXNpZXJ0ZSBFcnpldWd1bmcgdGVzdGVuXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxaYWhsPiAgICAgIEFuemFobCBkZXIgVVVJRHMgYW5mb3JkZXJuXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGtlaW5lIFByb3plc3MtSUQtRGF0ZWkgYW5sZWdlblxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBuaWNodCBtaXQgZG91YmxlLWZvcmsgZMOkbW9uaXNpZXJlblxuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBsYXVzY2hlbmRlbiBTb2NrZXQgbmljaHQgZXJ6ZXVnZW5cbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgaW0gRGVidWctTW9kdXMgYXVzZsO8aHJlblxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBzdGlsbGVuIE1vZHVzIGVpbnNjaGFsdGVuXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIFZlcnNpb25zaW5mb3JtYXRpb24gYXVzZ2ViZW4gdW5kIGJlZW5kZW5cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGllc2UgSGlsZmUgYW56ZWlnZW4gdW5kIGJlZW5kZW5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBwb2xpY3kiCisjfiBtc2dzdHIgInVuYmVrYW5udGUgU2NoZWR1bGluZy1Wb3JzY2hyaWZ0IgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8WmFobD4gUG9zaXRpb24gaW4gQnl0ZXMsIHdvIG1pdCBkZXIgVmVyd2VyZnVuZyBiZWdvbm5lblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgd2VyZGVuIHNvbGxcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxaYWhsPiB6dSB2ZXJ3ZXJmZW5kZSBEYXRlbiBpbiBCeXRlcyBhYiBkZXIgU3RhcnRwb3NpdGlvblxuIgorI34gIiAtcCwgLS1zdGVwIDxaYWhsPiAgIEdyw7bDn2UgZGVyIFZlcndlcmZ1bmdzLUR1cmNobMOkdWZlIGlubmVyaGFsYiBkZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgIFBvc2l0aW9uc2FuZ2FiZVxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIGbDvGhydCBlaW4gc2ljaGVyZXMgVmVyd2VyZmVuIGF1c1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHplaWd0IGRpZSBhdXNnZXJpY2h0ZXRlbiBXZXJ0ZSBmw7xyIFBvc2l0aW9uIHVuZCBMw6RuZ2UgYW5cbiIKKworI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAuJTA2ZCBTZWt1bmRlblxuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgIiVzOiBFaW5sZXNlZmVobGVyOiBFaW50cmFnIGluIFplaWxlICVkIHdpcmQgaWdub3JpZXJ0LiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICJTZWl0ZW4iCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgInZlcnNjaGllZGVuIgorCisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiZ2xlaWNoIgpkaWZmIC0tZ2l0IGEvcG8vZXMucG8gYi9wby9lcy5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTE0YmQxCi0tLSAvZGV2L251bGwKKysrIGIvcG8vZXMucG8KQEAgLTAsMCArMSwyMTQ1NCBAQAorIyBNZW5zYWplcyBlbiBlc3Bhw7FvbCBwYXJhIHV0aWwtbGludXguCisjIENvcHlyaWdodCAoQykgMjAwMCBCZXRoIFBvd2VsbCA8YnBvd2VsbEB0dXJib2xpbnV4LmNvbT4uCisjIENvcHlyaWdodCAoQykgMjAwMSwgMjAwMiwgMjAwMyBTYW50aWFnbyBWaWxhIERvbmNlbCA8c2FudmlsYUB1bmV4LmVzPi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMKKyMgQmV0aCBQb3dlbGwgPGJwb3dlbGxAdHVyYm9saW51eC5jb20+LCAyMDAwLgorIyBTYW50aWFnbyBWaWxhIERvbmNlbCA8c2FudmlsYUB1bmV4LmVzPiwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNCwgMjAxMCwgMjAxNC4KKyMgQW50b25pbyBDZWJhbGxvcyBSb2EgPGFjZWJhbGxvc0BnbWFpbC5jb20+LCAyMDE0LCAyMDE1LCAyMDE2LCAyMDE3LCAyMDE4LgorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQgdGhhdCB0aGlzCisjIGhlYWRlciBpcyBub3QgcmVtb3ZlZCBhbmQgbW9kaWZpZWQgdmVyc2lvbnMgYXJlIG1hcmtlZAorIyBhcyBzdWNoLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjMyLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE4LTAzLTAyIDE2OjQ2KzAxMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEFudG9uaW8gQ2ViYWxsb3MgUm9hIDxhY2ViYWxsb3NAZ21haWwuY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IFNwYW5pc2ggPGVzQHRwLm9yZy5lcz5cbiIKKyJMYW5ndWFnZTogZXNcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNwb3NpdGl2bz4gPG7Dum1lcm8tZGUtcGFydGljacOzbj4gPGNvbWllbnpvPiA8bG9uZ2l0dWQ+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJJbmZvcm1hIGFsIG7DumNsZW8gZGUgbGEgZXhpc3RlbmNpYSBkZSB1bmEgcGFydGljacOzbiBlc3BlY2lmaWNhZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjUzIGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNDQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTMKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxMzMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTUgbWlzYy11dGlscy9raWxsLmM6MjY5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTEgbWlzYy11dGlscy9yZW5hbWUuYzoxOTkgbWlzYy11dGlscy93aGVyZWlzLmM6NTE4CisjOiBzeXMtdXRpbHMvZmxvY2suYzoxNzUgc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHN5cy11dGlscy9sZGF0dGFjaC5jOjM2OAorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE0NiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDEgc3lzLXV0aWxzL3R1bmVscC5jOjE1MgorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NTkgdGVybS11dGlscy9hZ2V0dHkuYzo4NjAgdGVybS11dGlscy9hZ2V0dHkuYzo4NjgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODY5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIm5vIGhheSBzdWZpY2llbnRlcyBhcmd1bWVudG9zIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDAKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm7Dum1lcm8gZGUgcGFydGljacOzbiBubyB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBjb21pZW56byBubyB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTAKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIGxvbmdpdHVkIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjY0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgImZhbGxvIGFsIGHDsWFkaXIgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiZXN0YWJsZWNlIHPDs2xvIGxlY3R1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJlc3RhYmxlY2UgbGVjdHVyYS9lc2NyaXR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIm9idGllbmUgc8OzbG8gbGVjdHVyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJvYnRpZW5lIGVsIGVzdGFkbyBkZWwgc29wb3J0ZSBkZSBkZXNjYXJ0ZSBkZSBjZXJvcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAib2J0aWVuZSBlbCB0YW1hw7FvIGRlbCBibG9xdWUgbMOzZ2ljbyAoc2VjdG9yKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIm9idGllbmUgZWwgdGFtYcOxbyBkZWwgYmxvcXVlIGbDrXNpY28gKHNlY3RvcikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAib2J0aWVuZSBlbCB0YW1hw7FvIG3DrW5pbW8gZGUgRS9TIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9idGllbmUgZWwgdGFtYcOxbyDDs3B0aW1vIGRlIEUvUyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJvYnRpZW5lIGVsIGRlc3BsYXphbWllbnRvIGRlIGFsaW5lYWNpw7NuIGVuIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJvYnRpZW5lIGVsIG7Dum1lcm8gbcOheGltbyBkZSBzZWN0b3JlcyBwb3IgcGV0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAib2J0aWVuZSBlbCB0YW1hw7FvIGRlbCBibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgImVzdGFibGVjZSBlbCB0YW1hw7FvIGRlIGJsb3F1ZSBkZWwgZGVzY3JpcHRvciBkZSBmaWNoZXJvIHF1ZSBlc3TDoSBhYnJpZW5kbyBlbCBkaXNwb3NpdGl2byBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAib2J0aWVuZSBlbCBjb250YWRvciBkZSBzZWN0b3JlcyBkZSAzMiBiaXRzIChvYnNvbGV0bywgdXRpbGljZSAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJvYnRpZW5lIGVsIHRhbWHDsW8gZW4gYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmxlY2UgYHJlYWRhaGVhZCciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJvYnRpZW5lIGByZWFkYWhlYWQnIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJlc3RhYmxlY2UgZWwgYHJlYWRhaGVhZCcgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIm9idGllbmUgZWwgYHJlYWRhaGVhZCcgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJ2YWPDrWEgbG9zIGLDumZlcmVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidnVlbHZlIGEgbGVlciBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstdnwtcV0gw7NyZGVuZXMgcGFyYSBkaXNwb3NpdGl2b3NcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGlzcG9zaXRpdm9zXVxuIgorIiAlMSRzIC1ofC1WXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTMKK21zZ2lkICJDYWxsIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAiTGxhbWEgYSBpb2N0bHMgZGVsIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZSBkZXNkZSBsYSBsw61uZWEgZGUgw7NyZGVuZXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC1xLCAgICAgICAgICAgIG1vZG8gc2lsZW5jaW9zbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAtdiAgICAgICAgICAgICBtb2RvIGV4cHJlc2l2byIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIgICAgIC0tcmVwb3J0ICAgaW1wcmltZSB1biBpbmZvcm1lIHNvYnJlIGxvcyBkaXNwb3NpdGl2b3MgZXNwZWNpZmljYWRvcyAobyB0b2RvcykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICLDk3JkZW5lcyBkaXNwb25pYmxlczoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIG9idGllbmUgZWwgdGFtYcOxbyBlbiBzZWN0b3JlcyBkZSA1MTIgYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ8O6biBkaXNwb3NpdGl2byIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIm5vIHNlIHB1ZG8gb2J0ZW5lciBlbCB0YW1hw7FvIGRlbCBkaXNwb3NpdGl2byIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJPcmRlbiBkZXNjb25vY2lkYTogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50byIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4NyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICJlcnJvciBkZSBpb2N0bCBlbiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIGZhbGzDsy5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIGhhIHRlbmlkbyDDqXhpdG8uXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBpbmljaWFsaXphciBlbCBtYW5lamFkb3IgZGUgc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIGxlZXIgZWwgY29taWVuem8gZGUgbGEgcGFydGljacOzbiBkZXNkZSBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFByaW1lclNlYyAgICAgICAgICAgVGFtLiAgIERpc3BvLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJJbmljaWFibGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJDb25tdXRhIGVsIGluZGljYWRvciBkZSBpbmljaWFibGUgZGUgbGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJTdXByaW1pciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJTdXByaW1lIGxhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAiQ2FtYmlhciB0YW1hw7FvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlZHVjZSBvciBlbmxhcmdlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiUmVkdWNlIG8gYWdyYW5kYSBsYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIk51ZXZhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiQ3JlYSB1bmEgbnVldmEgcGFydGljacOzbiBhIHBhcnRpciBkZWwgZXNwYWNpbyBsaWJyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IgorbXNnc3RyICJTYWxpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIlNhbGUgZGVsIHByb2dyYW1hIHNpbiBlc2NyaWJpciBsb3MgY2FtYmlvcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVGlwbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJDYW1iaWEgZWwgdGlwbyBkZSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIkF5dWRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJJbXByaW1lIGVzdGEgcGFudGFsbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiT3JkZW5hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJDb3JyaWdlIGVsIG9yZGVuIGRlIGxhcyBwYXJ0aWNpb25lcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiRXNjcmliaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiRXNjcmliZSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBlbiBlbCBkaXNjbyAocHVlZGUgZGVzdHJ1aXJzZSBpbmZvcm1hY2nDs24pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAiCittc2dzdHIgIlZ1ZWxjYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiVnVlbGNhIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGEgdW4gZmljaGVybyBkZSBzY3JpcHQgY29tcGF0aWJsZSBjb24gc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjY0MiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAiZXJyb3IgaW50ZXJubzogdGlwbyBkZSBkacOhbG9nbyBubyBzb3BvcnRhZG8gJWQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzIChtb250YWRvKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJOb21icmUgZGUgbGEgcGFydGljacOzbjoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiVVVJRCBkZSBsYSBwYXJ0aWNpw7NuOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJUaXBvIGRlIHBhcnRpY2nDs246IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiQXRyaWJ1dG9zOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQ3Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiVVVJRCBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvczoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJFVElRVUVUQSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvczoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJTaXN0ZW1hIGRlIGZpY2hlcm9zOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIlB1bnRvIGRlIG1vbnRhamU6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIkRpc2NvOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJUYW1hw7FvOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJFdGlxdWV0YTogJXMsIGlkZW50aWZpY2Fkb3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJFdGlxdWV0YTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiUHVlZGUgZXN0YXIgc2VndWlkbyBkZSBNIChNaUIpLCBHIChHaUIpLCBUIChUaUIpIG8gUyAoc2VjdG9yZXMpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICJQb3IgZmF2b3IsIGVzcGVjaWZpcXVlIGVsIHRhbWHDsW8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIkVsIHRhbWHDsW8gbcOtbmltbyBlcyAlanUgYnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIkVsIHRhbWHDsW8gbcOheGltbyBlcyAlanUgYnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIk5vIHNlIGVudGllbmRlIGVsIHRhbWHDsW8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NjgKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlNlbGVjY2lvbmUgZWwgdGlwbyBkZSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJJbnRyb2R1emNhIGVsIG5vbWJyZSBkZWwgZmljaGVybzogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTkKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJFbCBmaWNoZXJvIGRlIHNjcmlwdCBzZSBhcGxpY2Fyw6EgYSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBxdWUgZXN0w6EgZW4gbWVtb3JpYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzAKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGxlZXIgZWwgZmljaGVybyBkZSB0cmFuc2NyaXBjacOzbiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gbGVlciBlbCBmaWNoZXJvIGRlIHRyYW5zY3JpcGNpw7NuICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDkKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiTGEgdGFibGEgZGUgcGFydGljaW9uZXMgcXVlIGVzdMOhIGVuIG1lbW9yaWEgYWhvcmEgbWlzbW8gdmEgYSB2b2xjYXJzZSBhbCBmaWNoZXJvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiRmFsbG8gYWwgYXNpZ25hciBlbCBtYW5lamFkb3IgZGVsIHNjcmlwdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA2MworbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGxlZXIgbGEgZXN0cnVjdHVyYSBkZWwgZGlzY28gZW4gZWwgc2NyaXB0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDc3Cittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIkxhIGVzdHJ1Y3R1cmEgZGVsIGRpc2NvIHNlIGhhIHZvbGNhZG8gYmllbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGxlZXIgZWwgZmljaGVybyBkZSB0cmFuc2NyaXBjacOzbiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE2Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlNlbGVjY2lvbmEgZWwgdGlwbyBkZSBldGlxdWV0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJFbCBkaXNwb3NpdGl2byBubyBjb250aWVuZSB1bmEgdGFibGEgZGUgcGFydGljaW9uZXMgcmVjb25vY2lkYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiU2VsZWNjaW9uZSB1biB0aXBvIHBhcmEgY3JlYXIgdW5hIGV0aXF1ZXRhIG8gcHVsc2UgJ0wnIHBhcmEgY2FyZ2FyIGVsIGZpY2hlcm8gZGUgc2NyaXB0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJjZmRpc2sgZXMgdW4gcHJvZ3JhbWEgZGUgcGFydGljaW9uZXMgZGUgZGlzY28gYmFzYWRvIGVuIGN1cnNlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJQZXJtaXRlIGNyZWFyLCBzdXByaW1pciB5IG1vZGlmaWNhciBwYXJ0aWNpb25lcyBlbiBkaXNwb3NpdGl2byBkZSBibG9xdWVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIk9yZGVuICAgICAgICBTaWduaWZpY2FkbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tICAgICAgICAtLS0tLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIENvbm11dGEgZWwgaW5kaWNhZG9yIGRlIGluaWNpYWJsZSBkZSBsYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBTdXByaW1lIGxhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBJbXByaW1lIGVzdGEgcGFudGFsbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBDcmVhIHVuYSBudWV2YSBwYXJ0aWNpw7NuIGEgcGFydGlyIGRlbCBlc3BhY2lvIGxpYnJlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBTYWxlIGRlbCBwcm9ncmFtYSBzaW4gZXNjcmliaXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIENvcnJpZ2UgZWwgb3JkZW4gZGUgbGFzIHBhcnRpY2lvbmVzIChzb2xvIGN1YW5kbyBoYXkgZGVzYWp1c3RlKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWEgZWwgdGlwbyBkZSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIFZ1ZWxjYSBsYSBlc3RydWN0dXJhIGRlbCBkaXNjbyBhIHVuIGZpY2hlcm8gZGUgc2NyaXB0IGNvbXBhdGlibGUgY29uIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgRXNjcmliZSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBlbiBlbCBkaXNjbyAoVyBkZWJlIHRlY2xlYXJzZSBlbiBtYXnDunNjdWxhcykuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgICBlc3RhIG9wZXJhY2nDs24gZGUgZXNjcml0dXJhIHB1ZWRlIGNhdXNhciBsYSBkZXN0cnVjY2nDs24gZGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiIgorIiAgICAgICAgICAgICAgIGRhdG9zIGRlbCBkaXNjbywgcG9yIGxvIHF1ZSBkZWJlIGNvbmZpcm1hcmxhIG8gcmVjaGF6YXJsYVxuIgorImVzY3JpYmllbmRvICdzw60nIG8gJ25vJyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgIE11ZXN0cmEvb2N1bHRhIGluZm9ybWFjacOzbiBhZGljaW9uYWwgc29icmUgdW5hIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJGbGVjaGEgYXJyaWJhICAgICBEZXNwbGF6YSBlbCBjdXJzb3IgYSBsYSBwYXJ0aWNpw7NuIGFudGVyaW9yIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJGbGVjaGEgYWJham8gICAgICBEZXNwbGF6YSBlbCBjdXJzb3IgYSBsYSBwYXJ0aWNpw7NuIHNpZ3VpZW50ZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIkZsZWNoYSBpenF1aWVyZGEgIERlc3BsYXphIGVsIGN1cnNvciBhIGxhIG9wY2nDs24gZGUgbWVuw7ogYW50ZXJpb3IiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIkZsZWNoYSBkZXJlY2hhICAgIERlc3BsYXphIGVsIGN1cnNvciBhIGxhIG9wY2nDs24gZGUgbWVuw7ogc2lndWllbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJOb3RhOiB0b2RhcyBsYXMgw7NyZGVuZXMgcHVlZGVuIGVzY3JpYmlyc2UgZW4gbWF5w7pzY3VsYXMgbyBtaW7DunNjdWxhcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgIihzYWx2byBXIHBhcmEgb3BlcmFjaW9uZXMgZGUgZXNjcml0dXJhKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJVdGlsaWNlIGxzYmxrKDgpIG8gcGFydHgoOCkgcGFyYSB2ZXIgbcOhcyBkZXRhbGxlcyBkZWwgZGlzcG9zaXRpdm8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJQdWxzZSB1bmEgdGVjbGEgcGFyYSBjb250aW51YXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTcKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiTm9vIHNlIGhhIHBvZGlkbyBjYW1iaWFyIGxhIGJhbmRlcmEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTm8gc2UgcHVkbyBib3JyYXIgbGEgcGFydGljacOzbiAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIlNlIGhhIGJvcnJhZG8gbGEgcGFydGljacOzbiAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzAKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICJUYW1hw7FvIGRlIGxhIHBhcnRpY2nDs246ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiU2UgaGEgY2FtYmlhZG8gZWwgdGlwbyBkZSBwYXJ0aWNpw7NuICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIkVsIHRpcG8gZGUgcGFydGljacOzbiAlenUgbm8gc2UgY2FtYmlhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0Cittc2dpZCAiTmV3IHNpemU6ICIKK21zZ3N0ciAiTnVldm8gdGFtYcOxbzoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IHJlc2l6ZWQuIgorbXNnc3RyICJTZSBoYSBjYW1iaWFkbyBlbCB0YW1hw7FvIGRlIGxhIHBhcnRpY2nDs24gbsK6ICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQyNyBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDMgZGlzay11dGlscy9mZGlzay5jOjEwNjMKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5MQorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gZXN0w6EgYWJpZXJ0byBlbiBtb2RvIGRlIHPDs2xvIGxlY3R1cmEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzIKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrPyAiCittc2dzdHIgIiIKKyLCv0VzdMOhIHNlZ3VybyBkZSBxdWUgZGVzZWEgZXNjcmliaXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgZW4gZWwgZGlzY28/XG4iCisiICAgICAoc2kgbyBubyk6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0Cittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAiVGVjbGVlIFwieWVzXCIgKHPDrSkgbyBcIm5vXCIgbyBwdWxzZSBFU0MgcGFyYSBhYmFuZG9uYXIgZWwgZGnDoWxvZ28uIgorCisjIFRSQU5TTEFUT1JTOiBDb21wcm9iYXIgc2kgZXN0w6EgY29ycmVnaWRvIGVsIHByb2JsZW1hIHF1ZSBpbXBlZMOtYQorIyAgICAgICAgICAgICAgaW50cm9kdWNpciBlbCAnc8OtJyBjb24gdGlsZGUuCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgInNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiTm8gc2UgaGEgZXNjcml0byBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBlbiBlbCBkaXNjby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJFcnJvciBhbCBlc2NyaWJpciBsYSBldGlxdWV0YSBkZSBkaXNjby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJTZSBoYSBtb2RpZmljYWRvIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiT2Jzw6lydmVzZSBxdWUgbGFzIGVudHJhZGFzIGRlIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGFob3JhIG5vIGVzdMOhbiBlbiBlbCBvcmRlbiBkZWwgZGlzY28uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJFbCBkaXNwb3NpdGl2byB5YSBjb250aWVuZSB1bmEgZmlybWEgJXM7IHNlIGJvcnJhcsOhIG1lZGlhbnRlIHVuYSBvcmRlbiBkZSBlc2NyaXR1cmEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MjIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiZXJyb3IgYWwgY3JlYXIgdW5hIG51ZXZhIGV0aXF1ZXRhIGRlIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJmYWxsbyBhbCBsZWVyIGxhcyBwYXJ0aWNpb25lcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW29wY2lvbmVzXSA8ZGlzY28+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJNdWVzdHJhIG8gbWFuaXB1bGEgdW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGRlIGRpc2NvLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzUKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxjdcOhbmRvPl0gICBjb2xvcmVhIGxhIHNhbGlkYSAowqthdXRvwrssIMKrYWx3YXlzwrsgKHNpZW1wcmUpIG8gwqtuZXZlcsK7IChudW5jYSkpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzOAorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgaW5pY2lhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGNvbiBjZXJvc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2NzYgZGlzay11dGlscy9mZGlzay5jOjk1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMjAKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDI5IHN5cy11dGlscy9kbWVzZy5jOjE0MTAgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAibW9kbyBkZSBjb2xvciBubyBpbXBsZW1lbnRhZG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImZhbGxvIGFsIHJlc2VydmFyIGNvbnRleHRvIGRlIGxpYmZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDxkaXNwb3NpdGl2byBkZSBkaXNjbz4gPG7Dum1lcm8gZGUgcGFydGljacOzbj5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiT3JkZW5hIGFsIG7DumNsZW8gcXVlIHNlIG9sdmlkZSBkZSB1bmEgcGFydGljacOzbiBlc3BlY2lmaWNhZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgImZhbGxvIGFsIGJvcnJhciBsYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRlYW5kby4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAiZmluYWxpemFkb1xuIgorCisjIE5vdGE6IEFsIHBhcmVjZXIsIGVuIGVzcGHDsW9sIG5vIHNlIHBvbmUgZXNwYWNpbyBhbnRlcyBkZSAuLi4KKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiVmVyaWZpY2FuZG8uLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJMZWVyOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZW1hIGRlIGxlY3R1cmEgZW4gcGlzdGEvY2FiZXphICV1LyV1LCBzZSBlc3BlcmFiYSAlZCwgc2UgbGV5w7MgJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorIkRhdG9zIGluY29ycmVjdG9zIGVuIHBpc3RhL2NhYmV6YSAldS8ldVxuIgorIkNvbnRpbnVhbmRvLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxkaXNwb3NpdGl2bz5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OQorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiQXBsaWNhIGZvcm1hdG8gYSBiYWpvIG5pdmVsIGEgdW4gZGlzY28gZmxleGlibGUuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1mLCAtLWZyb20gPE4+ICAgIGNvbWllbnphIGVuIGxhIHBpc3RhIE4gKDAgcHJlZGV0ZXJtaW5hZGEpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIgLXQsIC0tdG8gPE4+ICAgICAgc2UgZGV0aWVuZSBlbiBsYSBwaXN0YSBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIGludGVudGEgcmVwYXJhciBsYXMgcGlzdGFzIHF1ZSBoYW4gZmFsbGFkbyBkdXJhbnRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgbGEgdmVyaWZpY2FjacOzbiAobcOheC4gTiBpbnRlbnRvcylcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NgorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGVzYWN0aXZhIGxhIHZlcmlmaWNhY2nDs24gcG9zdGVyaW9yIGFsIGZvcm1hdG9cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJhcmd1bWVudG8gbm8gdsOhbGlkbyAtIGZyb20iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvIC0gdG8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJhcmd1bWVudG8gbm8gdsOhbGlkbyAtIHJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTQ4CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzcKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc5NworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODIxIGRpc2stdXRpbHMvbWtzd2FwLmM6MjQzIGRpc2stdXRpbHMvcGFydHguYzo5NTEKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODggbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzcgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NSBzeXMtdXRpbHMvYmxrem9uZS5jOjk5CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5NyBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjAKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo3OSBzeXMtdXRpbHMvbnNlbnRlci5jOjE2NCBzeXMtdXRpbHMvbnNlbnRlci5jOjE2OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUyMyBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5NAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTM3IHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQgZGUgJXMgaGEgZmFsbGFkbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBubyBlcyB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJubyBzZSBwdWVkZSBkZXRlcm1pbmFyIGVsIHRpcG8gZGUgZm9ybWF0byBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMgY2FyYXMsICVkIHBpc3RhcywgJWQgc2VjdG9yZXMvcGlzdGEuIENhcGFjaWRhZCB0b3RhbCAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRG9ibGUgZGVuc2lkYWQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIlNpbXBsZSBkZW5zaWRhZCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAibGEgcGlzdGEgZGUgY29taWVuem8gZGVmaW5pZGEgcG9yIGVsIHVzdWFyaW8gc29icmVwYXNhIGVsIG3DoXhpbW8gZXNwZWPDrWZpY28gZGVsIG1lZGlvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAibGEgcGlzdGEgZGUgZmluIGRlZmluaWRhIHBvciBlbCB1c3VhcmlvIHNvYnJlcGFzYSBlbCBtw6F4aW1vIGVzcGVjw61maWNvIGRlbCBtZWRpbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICJsYSBwaXN0YSBkZSBjb21pZW56byBkZWZpbmlkYSBwb3IgZWwgdXN1YXJpbyBzb2JyZXBhc2EgbGEgcGlzdGEgZGUgZmluIGRlZmluaWRhIHBvciBlbCB1c3VhcmlvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUzIG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgY2VycmFyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiU2VsZWNjaW9uYXIgKHZhbG9yIHByZWRldGVybWluYWRvICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJTZSBlc3TDoSB1dGlsaXphbmRvIGxhIHJlc3B1ZXN0YSBwcmVkZXRlcm1pbmFkYSAlYy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjIgZGlzay11dGlscy9mZGlzay5jOjI5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzcxCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI0MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkVsIHZhbG9yIGVzdMOhIGZ1ZXJhIGRlbCByYW5nby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIHZhbG9yIHByZWRldGVybWluYWRvICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCB2YWxvciBwcmVkZXRlcm1pbmFkbyAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsIHZhbG9yIHByZWRldGVybWluYWRvICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgdmFsb3IgcHJlZGV0ZXJtaW5hZG8gJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY5IGRpc2stdXRpbHMvZmRpc2suYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIFtTXcOtL1tOXW86ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIkPDs2RpZ28gaGV4YWRlY2ltYWwgKGVzY3JpYmEgTCBwYXJhIHZlciB0b2RvcyBsb3MgY8OzZGlnb3MpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJUaXBvIGRlIHBhcnRpY2nDs24gKHRlY2xlZSBMIHBhcmEgdmVyIHRvZG9zIGxvcyB0aXBvcyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkVsIGluZGljYWRvciBkZSBjb21wYXRpYmlsaWRhZCBjb24gRE9TIGVzdMOhIGVzdGFibGVjaWRvICjCoU9CU09MRVRPISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkVsIGluZGljYWRvciBkZSBjb21wYXRpYmlsaWRhZCBjb24gRE9TIG5vIGVzdMOhIGVzdGFibGVjaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA0IGRpc2stdXRpbHMvZmRpc2suYzo2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICLCoUxhIHBhcnRpY2nDs24gJXp1IHRvZGF2w61hIG5vIGV4aXN0ZSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIkRlc2Nvbm9jaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiU2UgaGEgY2FtYmlhZG8gZWwgdGlwbyBkZSBsYSBwYXJ0aWNpw7NuICclcycgYSAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIkVsIHRpcG8gZGUgbGEgcGFydGljacOzbiAlenUgbm8gc2UgY2FtYmlhOiAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBkZXNwbGF6YW1pZW50byA9ICU8UFJJdTY0PiwgdGFtYcOxbyA9ICV6dSBieXRlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZWZlY3R1YXIgYHNlZWsnIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEgbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5OAorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiUHJpbWVyIHNlY3RvciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiRWwgaW9jdGwgQkxLR0VUU0laRSBoYSBmYWxsYWRvIGVuICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiTGEgZmlybWEgYW50aWd1YSAlcyBzZSBib3JyYXLDoSBtZWRpYW50ZSB1bmEgb3JkZW4gZGUgZXNjcml0dXJhLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJMYSBmaXJtYSBhbnRpZ3VhICVzIHBvZHLDrWEgZXN0YXIgYcO6biBlbiBlbCBkaXNwb3NpdGl2by4gU2UgcmVjb21pZW5kYSBlbmNhcmVjaWRhbWVudGUgbGltcGlhciBlbCBkaXNwb3NpdGl2byBtZWRpYW50ZSBlbCBjb21hbmRvIHdpcGVmcyg4KSBvIGZkaXNrIC0td2lwZSwgYSBmaW4gZGUgZXZpdGFyIHBvc2libGVzIGNvbGlzaW9uZXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2lvbmVzXSA8ZGlzY28+ICAgICAgY2FtYmlhIHRhYmxhIGRlIHBhcnRpY2lvbmVzXG4iCisiICUxJHMgW29wY2lvbmVzXSAtbCBbPGRpc2NvPl0gbXVlc3RyYSB0YWJsYShzKSBkZSBwYXJ0aWNpb25lc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8dGFtYcOxbz4gICAgdGFtYcOxbyBkZSBzZWN0b3IgZsOtc2ljbyB5IGzDs2dpY29cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBubyBib3JyYSBsb3MgYml0cyBkZSBhcnJhbnF1ZSBhbCBjcmVhciB1bmEgbnVldmEgZXRpcXVldGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMworbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZG8+XSAgbW9kbyAnZG9zJyBvICdub25kb3MnIChwcmVkZXRlcm1pbmFkbylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08Y3XDoW5kbz5dICAgICAgICBjb2xvcmVhIGxhIHNhbGlkYSAowqthdXRvwrssIMKrYWx3YXlzwrsgKHNpZW1wcmUpIG8gwqtuZXZlcsK7IChudW5jYSkpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBtdWVzdHJhIGxhcyBwYXJ0aWNpb25lcyB5IHNhbGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICAgICAgICAgY29sdW1uYXMgcXVlIG1vc3RyYXJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHRpcG8+ICAgICAgICAgICAgIHJlY29ub2NlIHNvbGFtZW50ZSBlbCB0aXBvIGRlIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGVzcGVjaWZpY2Fkb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIwCittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXRzWz08dW5pZGFkPl0gICAgICAgIG11ZXN0cmEgbGFzIHVuaWRhZGVzOiAnY3lsaW5kZXJzJyAoY2lsaW5kcm9zKSBvICdzZWN0b3JzJyAoc2VjdG9yZXMpIChwcmVkZXRlcm1pbmFkYSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBtdWVzdHJhIGVsIHRhbWHDsW8gZGVsIGRpc3Bvc2l0aXZvIGVuIHNlY3RvcmVzIGRlIDUxMiBieXRlcyBbRU4gREVTVVNPXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnR5ZXMgICAgICAgICAgICAgICAgICAgbXVlc3RyYSBlbCBUQU1Bw5FPIGVuIGJ5dGVzIGVuIGx1Z2FyIGRlIGhhY2VybG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gZm9ybWF0byBsZWdpYmxlIHBhcmEgaHVtYW5vc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8bW9kbz4gICAgICAgICAgICAgYm9ycmEgbGFzIGZpcm1hcyAoYXV0bywgc2llbXByZSBvIG51bmNhKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RvPiAgYm9ycmEgbGFzIGZpcm1hcyBkZSBsYXMgcGFydGljaW9uZXMgbnVldmFzIChhdXRvLCBzaWVtcHJlIG8gbnVuY2EpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxuw7ptZXJvPiAgICAgIGVzdGFibGVjZSBlbCBuw7ptZXJvIGRlIGNpbGluZHJvc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPG7Dum1lcm8+ICAgICAgICAgIGVzdGFibGVjZSBlbCBuw7ptZXJvIGRlIGNhYmV6YXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPG7Dum1lcm8+ICAgICAgICBlc3RhYmxlY2UgZWwgbsO6bWVybyBkZSBzZWN0b3JlcyBwb3IgcGlzdGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTAwIGRpc2stdXRpbHMvcGFydHguYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJBcmd1bWVudG8gZGVsIHRhbWHDsW8gZGUgc2VjdG9yIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgY2lsaW5kcm9zIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAibm8gc2UgaGEgZW5jb250cmFkbyBjb250cm9sYWRvciBjb24gZXRpcXVldGEgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIm1vZG8gZGUgY29tcGF0aWJpbGlkYWQgZGVzY29ub2NpZG8gJyVzJyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgInZhbG9yIGRlIGNhYmV6YXMgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAidmFsb3IgZGUgc2VjdG9yZXMgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJldGlxdWV0YSBkZSBkaXNjbyBubyBzb3BvcnRhZGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTc1Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCIKK21zZ3N0ciAidW5pZGFkIG5vIGFkbWl0aWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIm1vZG8gZGUgYm9ycmFkbyBubyBpbXBsZW1lbnRhZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIkxhcyBwcm9waWVkYWRlcyBkZWwgZGlzcG9zaXRpdm8gKHRhbWHDsW8gZGUgc2VjdG9yIHkgZ2VvbWV0csOtYSkgZGViZW4gdXRpbGl6YXJzZSBjb24gdW4gc29sbyBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAzMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA0OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njk1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODcKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NjcgZGlzay11dGlscy9yYXcuYzoxMzcgZGlzay11dGlscy9yYXcuYzoxNTAKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTYyIGRpc2stdXRpbHMvcmF3LmM6MjAzIG1pc2MtdXRpbHMvY2FsLmM6NTIwCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjU4IG1pc2MtdXRpbHMvbG9vay5jOjE1MCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1NzMKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU4NCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1OTUgbWlzYy11dGlscy93aGVyZWlzLmM6NjM3CisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MDQgc2NoZWR1dGlscy9pb25pY2UuYzoyNjIgc2NoZWR1dGlscy90YXNrc2V0LmM6MTg5CisjOiBzeXMtdXRpbHMvY2hjcHUuYzozNDQgc3lzLXV0aWxzL2NobWVtLmM6NDE5IHN5cy11dGlscy9kbWVzZy5jOjE0NjkKKyM6IHN5cy11dGlscy9pcGNtay5jOjEzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozMjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMjUgc3lzLXV0aWxzL2xzbWVtLmM6NjI4IHN5cy11dGlscy9tb3VudC5jOjY5OAorIzogc3lzLXV0aWxzL21vdW50LmM6NzExIHN5cy11dGlscy9tb3VudC5jOjc4MCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE4MQorIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3MiBzeXMtdXRpbHMvc3dhcG9mZi5jOjIzMCBzeXMtdXRpbHMvc3dhcG9uLmM6OTg4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTAgc3lzLXV0aWxzL3Vtb3VudC5jOjUyOCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTc2CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIzMyB0ZXh0LXV0aWxzL21vcmUuYzozMzcKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgInVzbyBpbmNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICJCaWVudmVuaWRvIGEgZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJMb3MgY2FtYmlvcyBzb2xvIHBlcm1hbmVjZXLDoW4gZW4gbGEgbWVtb3JpYSwgaGFzdGEgcXVlIGRlY2lkYSBlc2NyaWJpcmxvcy5cbiIKKyJUZW5nYSBjdWlkYWRvIGFudGVzIGRlIHV0aWxpemFyIGxhIG9yZGVuIGRlIGVzY3JpdHVyYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiU2UgaGEgZGV0ZWN0YWRvIHVuYSBHUFQgaMOtYnJpZGEuIERlYmUgc2luY3Jvbml6YXIgZWwgTUJSIGjDrWJyaWRvIG1hbnVhbG1lbnRlIChvcmRlbiBkZSBleHBlcnRvICdNJykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlRpcG8gZGUgZXRpcXVldGEgZGUgZGlzY286ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJJZGVudGlmaWNhZG9yIGRlbCBkaXNjbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJEaXNjbyAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIkdlb21ldHLDrWE6ICVkIGNhYmV6YXMsICVsbHUgc2VjdG9yZXMvcGlzdGEsICVsbHUgY2lsaW5kcm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJVbmlkYWRlczogJXMgZGUgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiVGFtYcOxbyBkZSBzZWN0b3IgKGzDs2dpY28vZsOtc2ljbyk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiVGFtYcOxbyBkZSBFL1MgKG3DrW5pbW8vw7NwdGltbyk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJEZXNwbGF6YW1pZW50byBkZSBhbGluZWFjacOzbjogJWx1IGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjM2CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJmYWxsbyBhbCByZXNlcnZhciBpdGVyYWRvciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTIyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0MgorIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkxNiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNjEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1OTYgbWlzYy11dGlscy9sc2Jsay5jOjE5MDggbWlzYy11dGlscy9sc2xvY2tzLmM6NDQ5CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI1MiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzEyIHN5cy11dGlscy9sc2lwYy5jOjMzOAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3Jma2lsbC5jOjQ1NyBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg0CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyNjAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODcgdGV4dC11dGlscy9jb2x1bW4uYzoyMDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gcmVzZXJ2YXIgbGEgdGFibGEgZGUgc2FsaWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIHJlc2VydmFyIGxhIGzDrW5lYSBkZSBzYWxpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBhw7FhZGlyIGxvcyBkYXRvcyBkZSBzYWxpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXp1IG5vIGVtcGllemEgZW4gZWwgbMOtbWl0ZSBkZWwgc2VjdG9yIGbDrXNpY28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICJTZSB2YSBhIGJvcnJhciBsYSBmaXJtYSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcy9SQUlEIGVuIGxhIHBhcnRpY2nDs24gJXp1LiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjA5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiTGFzIGVudHJhZGFzIGRlIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIG5vIGVzdMOhbiBlbiBlbCBvcmRlbiBkZWwgZGlzY28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjUKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI4IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIkNvbWllbnpvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjI0MjYKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI5IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIxCittc2dpZCAiRW5kIgorbXNnc3RyICJGaW5hbCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiVGFtYcOxbyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJFc3BhY2lvIG5vIHBhcnRpY2lvbmFkbyAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlcyBjb2x1bW5hIGRlc2Nvbm9jaWRhOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICJHZW5lcmFsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiYm9ycmEgdW5hIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgImxpc3RhIGVsIGVzcGFjaW8gbGlicmUgbm8gcGFydGljaW9uYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAibGlzdGEgbG9zIHRpcG9zIGRlIHBhcnRpY2lvbmVzIGNvbm9jaWRvcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiYcOxYWRlIHVuYSBudWV2YSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJtdWVzdHJhIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiY2FtYmlhIGVsIHRpcG8gZGUgdW5hIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2ZXJpZmljYSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgImltcHJpbWUgaW5mb3JtYWNpw7NuIHNvYnJlIHVuYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIm11ZXN0cmEgbG9zIGRhdG9zIGVuIGJydXRvIGRlbCBwcmltZXIgc2VjdG9yIGRlbCBkaXNwb3NpdGl2byIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJpbXByaW1lIGxvcyBkYXRvcyBlbiBicnV0byBkZSBsYSBldGlxdWV0YSBkZSBkaXNjbyBkZWwgZGlzcG9zaXRpdm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJjb3JyaWdlIGVsIG9yZGVuIGRlIGxhcyBwYXJ0aWNpb25lcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiTWlzY2Vsw6FuZWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAibXVlc3RyYSBlc3RlIG1lbsO6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTMKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiY2FtYmlhIGxhcyB1bmlkYWRlcyBkZSB2aXN1YWxpemFjacOzbi9lbnRyYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJmdW5jaW9uZXMgYWRpY2lvbmFsZXMgKHPDs2xvIHBhcmEgdXN1YXJpb3MgYXZhbnphZG9zKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICJTY3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgImNhcmdhIGxhIGVzdHJ1Y3R1cmEgZGVsIGRpc2NvIGRlIHVuIGZpY2hlcm8gZGUgc2NyaXB0IHNmZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgInZ1ZWxjYSBsYSBlc3RydWN0dXJhIGRlbCBkaXNjbyBhIHVuIGZpY2hlcm8gZGUgc2NyaXB0IHNmZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIkd1YXJkYXIgeSBTYWxpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiZXNjcmliZSBsYSB0YWJsYSBlbiBlbCBkaXNjbyB5IHNhbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgInNlIGhhIGVzY3JpdG8gbGEgdGFibGEgZW4gZWwgZGlzY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMworbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAic2FsZSBzaW4gZ3VhcmRhciBsb3MgY2FtYmlvcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAidnVlbHZlIGFsIG1lbsO6IHByaW5jaXBhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI2Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAidnVlbHZlIGRlIEJTRCBhIERPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJDcmVhIHVuYSBudWV2YSBldGlxdWV0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyZWEgdW5hIG51ZXZhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIEdQVCB2YWPDrWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3JlYSB1bmEgbnVldmEgdGFibGEgZGUgcGFydGljaW9uZXMgU0dJIChJUklYKSB2YWPDrWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcmVhIHVuYSBudWV2YSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBET1MgdmFjw61hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3JlYSB1bmEgbnVldmEgdGFibGEgZGUgcGFydGljaW9uZXMgU3VuIHZhY8OtYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcmVhIHVuYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBJUklYIChTR0kpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJHZW9tZXRyeSAoZm9yIHRoZSBjdXJyZW50IGxhYmVsKSIKK21zZ3N0ciAiR2VvbWV0csOtYSAocGFyYSBsYSBldGlxdWV0YSBhY3R1YWwpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiY2FtYmlhIGVsIG7Dum1lcm8gZGUgY2lsaW5kcm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTYKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJjYW1iaWEgZWwgbsO6bWVybyBkZSBjYWJlemFzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTcKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgImNhbWJpYSBlbCBuw7ptZXJvIGRlIHNlY3RvcmVzIHBvciBwaXN0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgImNhbWJpYSBlbCBHVUlEIGRlbCBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJjYW1iaWEgZWwgbm9tYnJlIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiY2FtYmlhIGVsIFVVSUQgZGUgbGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcwCittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiY2FtYmlhIGxhIGxvbmdpdHVkIGRlIGxhIHRhYmxhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzEKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgImVudHJhIGVuIGVsIHNlY3RvciBkZSBhcnJhbmNhIHByaW5jaXBhbCAoTUJSKSBkZSBwcm90ZWNjacOzbiBvIGjDrWJyaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgImNvbm11dGEgZWwgaW5kaWNhZG9yIGRlIGluaWNpYWJsZSBkZSBsZWdhY3kgQklPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBwcm90b2NvbG8gZGUgRS9TIHNpbiBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBwYXJ0aWNpw7NuIG5lY2VzYXJpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgImNvbm11dGEgbG9zIGJpdHMgZXNwZWPDrWZpY29zIGRlIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBzw7NsbyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBtb250YWJsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJjYW1iaWEgZWwgbsO6bWVybyBkZSBjaWxpbmRyb3MgYWx0ZXJuYXRpdm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJjYW1iaWEgZWwgbsO6bWVybyBkZSBzZWN0b3JlcyBhZGljaW9uYWxlcyBwb3IgY2lsaW5kcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiY2FtYmlhIGVsIGZhY3RvciBkZSBpbnRlcmxlYXZlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgImNhbWJpYSBsYSB2ZWxvY2lkYWQgZGUgcm90YWNpw7NuIChyLnAubS4pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiY2FtYmlhIGVsIG7Dum1lcm8gZGUgY2lsaW5kcm9zIGbDrXNpY29zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAic2VsZWNjaW9uYSBwYXJ0aWNpw7NuIGluaWNpYWJsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAibW9kaWZpY2EgZW50cmFkYSBkZSBmaWNoZXJvIGRlIGluaWNpbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAic2VsZWNjaW9uYSBwYXJ0aWNpw7NuIGRlIGludGVyY2FtYmlvIHNnaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA4Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJjcmVhIGluZm9ybWFjacOzbiBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJjb25tdXRhIGVsIGluZGljYWRvciBkZSBpbmljaWFibGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIm1vZGlmaWNhIGxhIGV0aXF1ZXRhIGRlIGRpc2NvIEJTRCBhbmlkYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgImNvbm11dGEgZWwgaW5kaWNhZG9yIGRlIGNvbXBhdGliaWxpZGFkIGNvbiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIm11ZXZlIGVsIHByaW5jaXBpbyBkZSBsb3MgZGF0b3MgZGUgdW5hIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJjYW1iaWEgZWwgaWRlbnRpZmljYWRvciBkZSBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAicmVncmVzYSBkZWwgc2VjdG9yIGRlIGFycmFucXVlIHByaW5jaXBhbCAoTUJSKSBkZSBwcm90ZWNjacOzbiBvIGjDrWJyaWRvIGEgR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICJtb2RpZmljYSBsb3MgZGF0b3MgZGUgbGEgdW5pZGFkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiaW5zdGFsYSBzZWN1ZW5jaWEgZGUgaW5pY2lvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAibXVlc3RyYSBsYSBldGlxdWV0YSBkZWwgZGlzY28gY29tcGxldGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiZW5sYXphIGxhIHBhcnRpY2nDs24gQlNEIGNvbiB1bmEgcGFydGljacOzbiBubyBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkF5dWRhIChvcGVyYWNpb25lcyBkZSBleHBlcnRvKTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkF5dWRhOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiRXN0w6EgZWRpdGFuZG8gbGEgdGFibGEgZGUgcGFydGljaW9uZXMgJyVzJyBhbmlkYWRhczsgbGEgdGFibGEgZGUgbGEgcGFydGljacOzbiBwcmltYXJpYSBlcyAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIk9yZGVuIGF2YW56YWRhIChtIHBhcmEgb2J0ZW5lciBheXVkYSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDI1Cittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiT3JkZW4gKG0gcGFyYSBvYnRlbmVyIGF5dWRhKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIsK/RXN0w6Egc2VndXJvIGRlIHF1ZSBkZXNlYSBzYWxpcj8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IG9yZGVuIGRlc2Nvbm9jaWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA2Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAiSW50cm9kdXpjYSBlbCBub21icmUgZGVsIGZpY2hlcm8gZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICLCoVJlaW5pY2lhbmRvIGZkaXNrISIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiU2NyaXB0IGFwbGljYWRvIGNvcnJlY3RhbWVudGUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gdHJhbnNmb3JtYXIgbGEgZXN0cnVjdHVyYSBkZWwgZGlzY28gZW4gZWwgc2NyaXB0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIlNjcmlwdCBndWFyZGFkbyBjb3JyZWN0YW1lbnRlLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIlBhcnRpY2nDs24gIyV6dTogY29udGllbmUgdW4gJXMgZW4gbGEgZmlybWEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICLCv0Rlc2VhIGVsaW1pbmFyIGxhIGZpcm1hPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTYzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUxMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkxhIGZpcm1hIHNlIGJvcnJhcsOhIG1lZGlhbnRlIHVuYSBvcmRlbiBkZSBlc2NyaXR1cmEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJmYWxsbyBhbCBlc2NyaWJpciBsYSBldGlxdWV0YSBkZSBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiRmFsbG8gYWwgY29ycmVnaXIgZWwgb3JkZW4gZGUgbGFzIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiU2UgaGEgY29ycmVnaWRvIGVsIG9yZGVuIGRlIGxhcyBwYXJ0aWNpb25lcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk5vIHNlIHB1ZG8gYm9ycmFyIGxhIHBhcnRpY2nDs24gJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiU2UgY2FtYmlhbiBsYXMgdW5pZGFkZXMgZGUgdmlzdWFsaXphY2nDs24vZW50cmFkYSBhIGNpbGluZHJvcyAowqFPQlNPTEVUTyEpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg3Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiU2UgY2FtYmlhbiBsYXMgdW5pZGFkZXMgZGUgdmlzdWFsaXphY2nDs24vZW50cmFkYSBhIHNlY3RvcmVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIkRlamFuZG8gbGEgZXRpcXVldGEgZGUgZGlzY28gYW5pZGFkYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIk51ZXZvIHZhbG9yIGRlIGVudHJhZGFzIG3DoXhpbWFzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiRW50cmFuZG8gZWwgbGEgZXRpcXVldGEgZGUgZGlzY28gZGVsIHNlY3RvciBkZSBhcnJhbnF1ZSBwcmluY2lwYWwgKE1CUikgZGUgcHJvdGVjY2nDs24gbyBow61icmlkby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc2MQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIk51ZXZvIFVVSUQgKGVuIGZvcm1hdG8gOC00LTQtNC0xMikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJOb21icmUgbnVldm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgzOQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiRW50cmFuZG8gZW4gbGEgZXRpcXVldGEgQlNEIGFuaWRhZGEgZGUgZGlzY28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiTsO6bWVybyBkZSBjaWxpbmRyb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIk7Dum1lcm8gZGUgY2FiZXphcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJOw7ptZXJvIGRlIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgbm8gZXN0w6EgbW9udGFkby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgbGVlciAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGxpYi9wYXRoLmM6MTYzIGxpYi9wYXRoLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJyb3IgZGUgc2ludGF4aXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNyZWFyIGVsIGRpcmVjdG9yaW8gJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiQmxvcXVlYW5kbyBkaXNjbyBwb3IgJXMgLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKGVzcGVyYW5kbykiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJmaW5hbGl6YWRvIGNvbiDDqXhpdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiZmFsbMOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJEZXNibG9xdWVhbmRvICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgY29uZmlndXJhciBsYSBkZXNjcmlwY2nDs24gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBlcnJvciBkZSBhbsOhbGlzaXMgZW4gbGEgbMOtbmVhICVkIC0tIGlnbm9yYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBhbmFsaXphciBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiTGEgYmlmdXJjYWNpw7NuIChmb3JrKSBoYSBmYWxsYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczogbGEgZWplY3VjacOzbiBmYWxsw7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAid2FpdDogwr/CocK/bm8gcXVlZGEgbmluZ8O6biBwcm9jZXNvIGhpam8/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCgpIGhhIGZhbGxhZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiQXRlbmNpw7NuLi4uICVzIHBhcmEgZWwgZGlzcG9zaXRpdm8gJXMgaGEgdGVybWluYWRvIGNvbiBsYSBzZcOxYWwgJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBlbCBlc3RhZG8gZXMgJXgsIGxvIGN1YWwgbnVuY2EgZGViZXLDrWEgc3VjZWRlci4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiSGEgZmluYWxpemFkbyBjb24gJXMgKGVzdGFkbyBkZSBmaW5hbGl6YWNpw7NuICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImVycm9yICVkICglbSkgYWwgZWplY3V0YXIgZnNjay4lcyBwYXJhICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiVG9kb3MgbyBhbGd1bm8gZGUgbG9zIHRpcG9zIGRlIHNpc3RlbWEgZGUgZmljaGVyb3MgcGFzYWRvcyBhIC10IGRlYmVuIHRlbmVyIGVsIHByZWZpam9cbiIKKyInbm8nIG8gJyEnLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorIiVzOiBzZSBkZXNjYXJ0YSBsw61uZWEgaW5jb3JyZWN0YSBlbiAvZXRjL2ZzdGFiOiByZW1vbnRhamUgY29uIG7Dum1lcm8gZGVcbiIKKyJwYXNvIGRlIGZzY2sgZGlzdGludG8gZGUgY2VybyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBzZSBkZXNjYXJ0YSBlbCBkaXNwb3NpdGl2byBxdWUgbm8gZXhpc3RlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiJXM6IGRpc3Bvc2l0aXZvIGluZXhpc3RlbnRlIChwdWVkZSB1dGlsaXphcnNlIGxhIG9wY2nDs24gXCJub2ZhaWxcIiBwYXJhIGRlc2NhcnRhciBlc3RlIGRpc3Bvc2l0aXZvKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogc2UgZGVzY2FydGEgdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zIGRlc2Nvbm9jaWRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY29tcHJvYmFyICVzOiBmc2NrLiVzIG5vIGVuY29udHJhZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJDb21wcm9iYW5kbyB0b2RvcyBsb3Mgc2lzdGVtYXMgZGUgZmljaGVyb3MuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0tZXNwZXJhbmRvLS0gKHBhc28gJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIC0tIFtvcGNpb25lcy1zaXNmXSBbPHNpc3RlbWEgZGUgZmljaGVyb3M+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJDb21wcnVlYmEgeSByZXBhcmEgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBkZSBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NAorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICBjb21wcnVlYmEgdG9kb3MgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtQyBbPGZkPl0gIG11ZXN0cmEgbGEgYmFycmEgZGUgcHJvZ3Jlc287IGVsIGRlc2NyaXB0b3IgZGUgZmljaGVybyBlcyBwYXJhIEdVSXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBibG9xdWVhIGVsIGRpc3Bvc2l0aXZvIHBhcmEgZ2FyYW50aXphciBhY2Nlc28gZW4gZXhjbHVzaXZpZGFkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBubyBjb21wcnVlYmEgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zIG1vbnRhZG9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTgKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICBubyBlamVjdXRhLCBzaW1wbGVtZW50ZSBtdWVzdHJhIGxvIHF1ZSBoYXLDrWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgLVAgICAgICAgICBjb21wcnVlYmEgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zIGVuIHBhcmFsZWxvLCBpbmNsdXllbmRvIGVsIHJhw616XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAtUiAgICAgICAgIHNlIHNhbHRhIGVsIHNpc3RlbWEgZGUgZmljaGVyb3MgcmHDrXo7IMO6dGlsIHNvbGFtZW50ZSBjb24gJy1BJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAxCittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisiIC1yIFs8ZmQ+XSAgbXVlc3RyYSBlc3RhZMOtc3RpY2FzIHBhcmEgY2FkYSBkaXNwb3NpdGl2byBjb21wcm9iYWRvO1xuIgorIiAgICAgICAgICAgIGVsIGRlc2NyaXB0b3IgZGUgZmljaGVybyBlcyBwYXJhIEdVSXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICBzZXJpYWxpemEgbGFzIG9wZXJhY2lvbmVzIGRlIGNvbXByb2JhY2nDs25cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIG5vIG11ZXN0cmEgZWwgdMOtdHVsbyBkdXJhbnRlIGVsIGFycmFucXVlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0aXBvPiAgZXNwZWNpZmljYSB0aXBvcyBkZSBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBxdWUgc2UgdmFuIGEgY29tcHJvYmFyO1xuIgorIiAgICAgICAgICAgIDx0aXBvPiBwdWVkZSBzZXIgdW5hIGxpc3RhIGRlIGVsZW1lbnRvcyBzZXBhcmFkb3MgcG9yIGNvbWFzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBleHBsaWNhIGxvIHF1ZSB2YSBoYWNpZW5kb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiVsOpYW5zZSBsYXMgw7NyZGVuZXMgZnNjay4qIGVzcGVjw61maWNhcyBwYXJhIGNvbm9jZXIgbGFzIG9wY2lvbmVzLXNpc2YgZGlzcG9uaWJlcy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICJkZW1hc2lhZG9zIGRpc3Bvc2l0aXZvcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICLCv0VzdMOhIG1vbnRhZG8gL3Byb2M/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgImRlYmUgc2VyIHJvb3QgcGFyYSBleHBsb3JhciBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBjb2luY2lkZW50ZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlbmNvbnRyYXIgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBjb2luY2lkZW50ZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiZGVtYXNpYWRvcyBhcmd1bWVudG9zIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTQ3IGRpc2stdXRpbHMvZnNjay5jOjE1NTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJhcmd1bWVudG8gZGUgLXIgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAibGEgb3BjacOzbiAnJXMnIHNvbG8gcHVlZGUgZXNwZWNpZmljYXJzZSB1bmEgdmV6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAibGEgb3BjacOzbiAnJXMnIG5lY2VzaXRhIHVuIGFyZ3VtZW50byIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIC1yIG5vIHbDoWxpZG86ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgImxhIG9wY2nDs24gLWwgcHVlZGUgdXRpbGl6YXJzZSBjb24gdW4gc29sbyBkaXNwb3NpdGl2byAtLSBpZ25vcmFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxmaWNoZXJvPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE0Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNvbXBydWViYSB5IHJlcGFyYSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIFJPTSBjb21wcmltaWRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE3Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc29sYW1lbnRlIHBhcmEgY29tcGF0aWJpbGlkYWQsIG5vIGhhY2UgbmFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBtw6FzIGV4cHJlc2l2b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAgc29sYW1lbnRlIHBhcmEgY29tcGF0aWJpbGlkYWQsIG5vIGhhY2UgbmFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDx0YW1hw7FvPiB1dGlsaXphIGVzdGUgdGFtYcOxbyBkZSBibG9xdWUsIHByZWRldGVybWluYWRvIGFsIHRhbWHDsW8gZGUgcMOhZ2luYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgY29tcHJ1ZWJhIGRlc2NvbXByZXNpw7NuLCBvcGNpb25hbG1lbnRlIGV4dHJheWVuZG8gZW4gPGRpcj5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJmYWxsbyBkZSBpb2N0ZWw6IG5vIHNlIHB1ZWRlIGRldGVybWluYXIgZWwgdGFtYcOxbyBkZWwgZGlzcG9zaXRpdm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAibm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyBvIHVuIGZpY2hlcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDMKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImxhIGxvbmdpdHVkIGRlbCBmaWNoZXJvIGVzIGRlbWFzaWFkbyBjb3J0YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgIkVycm9yIGRlIGLDunNxdWVkYSBlbiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg0Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIm5vIHNlIGhhIGVuY29udHJhZG8gZWwgbsO6bWVybyBtw6FnaWNvIGRlbCBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJsYSBlbmRpYW5uZXNzIGRlIGNyYW1mcyBlcyAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJiaWciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgImxpdHRsZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgImVsIHNpc3RlbWEgZGUgZmljaGVyb3MgdGllbmUgY2FyYWN0ZXLDrXN0aWNhcyBubyBzb3BvcnRhZGFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAiZWwgdGFtYcOxbyBkZWwgc3VwZXJibG9xdWUgKCVkKSBlcyBkZW1hc2lhZG8gcGVxdWXDsW8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDEKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgImNlcm8gZmljaGVyb3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAiZWwgZmljaGVybyBmaW5hbGl6YSBtw6FzIGFsbMOhIGRlbCBmaW5hbCBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJmb3JtYXRvIGNyYW1mcyBhbnRpZ3VvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE2Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY29tcHJvYmFyIENSQzogZm9ybWF0byBjcmFtZnMgYW50aWd1byIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvICU8UFJJdTMyPiBieXRlcyBlbiBlbCBmaWNoZXJvICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJlcnJvciBkZSBjcmMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYwCittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgImVycm9yIGRlIGLDunNxdWVkYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJlcnJvciBkZSBsZWN0dXJhIGRlIHJvbWZzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQwCittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICJlbCBub2RvLWkgcmHDrXogbm8gZXMgdW4gZGlyZWN0b3JpbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgImRlc3BsYXphbWllbnRvIGRlIGxhIHJhw616IGluY29ycmVjdG8gKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiYmxvcXVlIGRlIGRhdG9zIGRlbWFzaWFkbyBncmFuZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImVycm9yIGRlIGRlc2NvbXByZXNpw7NuICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICBodWVjbyBlbiAlbHUgKCV6dSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgZGVzY29tcHJpbWllbmRvIGJsb3F1ZSBlbiAlbHUgYSAlbHUgKCVsdSlcbiIKKworIyBObyBtZSBndXN0YS4gU2UgYWRtaXRlbiBzdWdlcmVuY2lhcy4KKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJubyBibG9xdWUgKCVsZCkgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJubyB0YW1hw7FvICglbGQgdnMgJWxkKSBieXRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZmFsbMOzIGxhIGVzY3JpdHVyYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biBmYWxsw7M6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIGZhbGzDszogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgaGEgZmFsbGFkbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImVsIG5vZG8taSBkZWwgZGlyZWN0b3JpbyB0aWVuZSBkZXNwbGF6YW1pZW50byBjZXJvIHkgdW4gdGFtYcOxbyBkaXN0aW50byBkZSBjZXJvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2RpciBmYWxsw7M6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgImxhIGxvbmdpdHVkIGRlbCBub21icmUgZGVsIGZpY2hlcm8gZXMgY2VybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgImxvbmdpdHVkIGVycsOzbmVhIGRlbCBub21icmUgZGVsIGZpY2hlcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODYKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJkZXNwbGF6YW1pZW50byBkZSBub2RvLWkgaW5jb3JyZWN0byIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJlbCBub2RvLWkgZGVsIGZpY2hlcm8gdGllbmUgZGVzcGxhemFtaWVudG8gY2VybyB5IHVuIHRhbWHDsW8gZGlzdGludG8gZGUgY2VybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwNAorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJlbCBub2RvLWkgZGVsIGZpY2hlcm8gdGllbmUgdGFtYcOxbyBjZXJvIHkgdW4gZGVzcGxhemFtaWVudG8gZGlzdGludG8gZGUgY2VybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJlbCBlbmxhY2Ugc2ltYsOzbGljbyB0aWVuZSBkZXNwbGF6YW1pZW50byBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJlbCBlbmxhY2Ugc2ltYsOzbGljbyB0aWVuZSB0YW1hw7FvIGNlcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZXJyb3IgZGUgdGFtYcOxbyBlbiBlbCBlbmxhY2Ugc2ltYsOzbGljbyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgImVsIGVubGFjZSBzaW1iw7NsaWNvIGZhbGzDszogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICJlbCBmaWNoZXJvIGVzcGVjaWFsIHRpZW5lIHVuIGRlc3BsYXphbWllbnRvIGRpc3RpbnRvIGRlIGNlcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJlbCBmaWZvIHRpZW5lIHVuIHRhbWHDsW8gZGlzdGludG8gZGUgY2VybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZWwgwqtzb2NrZXTCuyB0aWVuZSB0YW1hw7FvIGRpc3RpbnRvIGRlIGNlcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIm1vZG8gZmFsc286ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgZmFsbMOzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJjb21pZW56byBkZSBsb3MgZGF0b3MgZGVsIGRpcmVjdG9yaW8gKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBpbmljaW8gKCV6dSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAiZmluYWwgZGUgbG9zIGRhdG9zIGRlIGRpcmVjdG9yaW9zICglbHUpICE9IGNvbWllbnpvIGRlIGxvcyBkYXRvcyBkZSBmaWNoZXJvcyAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiZGVzcGxhemFtaWVudG8gZGUgbG9zIGRhdG9zIGRlIGZpY2hlcm8gbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZWwgdGFtYcOxbyBkZSBibG9xdWUgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IENvcnJlY3RvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNvbXBydWViYSBsYSBjb2hlcmVuY2lhIGRlIHVuIHNpc3RlbWEgZGUgZmljaGVyb3MgZGUgTWluaXguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICBlbnVtZXJhIHRvZG9zIGxvcyBub21icmVzIGRlIGZpY2hlcm9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICByZXBhcmFjacOzbiBhdXRvbcOhdGljYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgICAgcmVwYXJhY2nDs24gaW50ZXJhY3RpdmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBkYSBtw6FzIGluZm9ybWFjacOzblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zLCAtLXN1cGVyICAgICAgc2FjYSBpbmZvcm1hY2nDs24gZGUgc3VwZXJibG9xdWVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmEgbW9kbyBkZSBhdmlzb3Mgbm8gYm9ycmFkb3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkzCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgZnVlcnphIGNvbXByb2JhY2nDs25cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAocy9uKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4vcyk/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAic1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiwr9Fc3TDoSBzZWd1cm8gZGUgcXVlIGRlc2VhIGNvbnRpbnVhcj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJjb21wcm9iYWNpw7NuIGFudWxhZGEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJOw7ptZXJvIGRlIHpvbmEgPCBGSVJTVFpPTkUgZW4gZWwgZmljaGVybyBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIk7Dum1lcm8gZGUgem9uYSA+PSBaT05FUyBlbiBlbCBmaWNoZXJvIGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJFbGltaW5hciBibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJyb3IgZGUgbGVjdHVyYTogbm8gc2UgcHVlZGUgYnVzY2FyIGVuIHVuIGJsb3F1ZSBlbiBlbCBmaWNoZXJvICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJyb3IgZGUgbGVjdHVyYTogYmxvcXVlIGluY29ycmVjdG8gZW4gZWwgZmljaGVybyAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkVycm9yIGludGVybm86IHNlIGVzdMOhIGludGVudGFuZG8gZXNjcmliaXIgdW4gYmxvcXVlIGluY29ycmVjdG9cbiIKKyJMYSBwZXRpY2nDs24gZGUgZXNjcml0dXJhIG5vIHNlIHRpZW5lIGVuIGN1ZW50YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiRXJyb3IgZGUgYsO6c3F1ZWRhIGVuIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJyb3IgZGUgZXNjcml0dXJhOiBibG9xdWUgaW5jb3JyZWN0byBlbiBlbCBmaWNoZXJvICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGJsb2NrIG91dCBvZiByYW5nZVxuIgorbXNnc3RyICJBdGVuY2nDs246IGJsb3F1ZSBmdWVyYSBkZSByYW5nby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIkVycm9yIGRlIGLDunNxdWVkYSBlbiB3cml0ZV9zdXBlcl9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJObyBzZSBwdWVkZSBlc2NyaWJpciBlbCBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgZXNjcmliaXIgbGEgdGFibGEgZGUgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJObyBzZSBwdWVkZSBlc2NyaWJpciBsYSB0YWJsYSBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiTm8gc2UgcHVlZGVuIGVzY3JpYmlyIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIk5vIHNlIHB1ZWRlIGFzaWduYXIgYsO6ZmVyZXMgcGFyYSBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY3Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgIk5vIHNlIHB1ZWRlIGxlZXIgZWwgc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIk7Dum1lcm8gbcOhZ2ljbyBpbmNvcnJlY3RvIGVuIGVsIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIlPDs2xvIHNlIGRhIHNvcG9ydGUgYSBibG9xdWVzIG8gem9uYXMgZGUgMWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIkNhbXBvIHNfbmlub2RlcyBpbmNvcnJlY3RvIGVuIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiQ2FtcG8gc19pbWFwX2Jsb2NrcyBpbmNvcnJlY3RvIGVuIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJDYW1wbyBzX2ZpcnN0ZGF0YXpvbmUgaW5jb3JyZWN0byBlbiBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIkNhbXBvIHNfem1hcF9ibG9ja3MgaW5jb3JyZWN0byBlbiBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJObyBzZSBwdWVkZSBhc2lnbmFyIGLDumZlciBwYXJhIGxhIHRhYmxhIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJObyBzZSBwdWVkZSBhc2lnbmFyIGLDumZlciBwYXJhIGxhIHRhYmxhIGRlIHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgYXNpZ25hciBiw7pmZXIgcGFyYSBsb3Mgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIk5vIHNlIHB1ZWRlIGFzaWduYXIgYsO6ZmVyIHBhcmEgZWwgbsO6bWVybyBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjgKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJObyBzZSBwdWVkZSBhc2lnbmFyIGLDumZlciBwYXJhIGVsIG7Dum1lcm8gZGUgem9uYXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgbGVlciBsYSB0YWJsYSBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgbGVlciBsYSB0YWJsYSBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJObyBzZSBwdWVkZW4gbGVlciBsb3Mgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJBdGVuY2nDs246IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgbm9kb3MtaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlByaW1lcmEgem9uYSBkZSBkYXRvcz0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlRhbWHDsW8gZGUgem9uYT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiVGFtYcOxbyBtw6F4aW1vPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJFc3RhZG8gZGVsIHNpc3RlbWEgZGUgZmljaGVyb3M9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiTG9uZ2l0dWQgZGUgbm9tYnJlPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiIgorIkVsIG5vZG8taSAlZCBzZSBoYSBtYXJjYWRvIGNvbW8gbm8gdXRpbGl6YWRvLCBwZXJvIHNlIHV0aWxpemEgcGFyYVxuIgorImVsIGZpY2hlcm8gJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIzCittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk1hcmNhciBlbiB1c28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIkVsIGZpY2hlcm8gYCVzJyB0aWVuZSBlbCBtb2RvICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBdGVuY2nDs246IG7Dum1lcm8gZGUgbm9kb3MtaSBkZW1hc2lhZG8gZWxldmFkby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIkVsIG5vZG8taSByYcOteiBubyBlcyB1biBkaXJlY3RvcmlvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiIgorIkVsIGJsb3F1ZSB5YSBzZSBoYSB1dGlsaXphZG8gYW50ZXJpb3JtZW50ZS5cbiIKKyJBaG9yYSBlc3TDoSBlbiBlbCBmaWNoZXJvIGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJCb3JyYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiRWwgYmxvcXVlICVkIGVuIGVsIGZpY2hlcm8gYCVzJyBlc3TDoSBtYXJjYWRvIGNvbW8gbm8gdXRpbGl6YWRvLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNgorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIkNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIiIKKyJFbCBkaXJlY3RvcmlvIGAlcycgY29udGllbmUgdW4gbsO6bWVybyBkZSBub2RvLWkgaW5jb3JyZWN0b1xuIgorInBhcmEgZWwgZmljaGVybyAnJS4qcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBFbGltaW5hciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogZGlyZWN0b3JpbyBpbmNvcnJlY3RvOiAnLicgbm8gZXMgZWwgcHJpbWVyb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yaW8gaW5jb3JyZWN0bzogJy4uJyBubyBlcyBlbCBzZWd1bmRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJFcnJvciBpbnRlcm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yaW8gaW5jb3JyZWN0bzogdGFtYcOxbyA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogZGlyZWN0b3JpbyBpbmNvcnJlY3RvOiBpX3pvbmUgaW52w6FsaWRhOyB1dGlsaWNlIC0tcmVwYWlyIHBhcmEgYXJyZWdsYXJsb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgIkVycm9yIGRlIGLDunNxdWVkYSBlbiBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiTm8gc2UgaGEgYm9ycmFkbyBlbCBtb2RvIGRlbCBub2RvLWkgJWx1LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkVsIG5vZG8taSAlbHUgbm8gZXN0w6EgZW4gdXNvOyBtYXJjYWRvIGNvbW8gZW4gdXNvIGVuIGVsIG1hcGEgZGUgYml0cy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiRWwgbm9kby1pICVsdSBlc3TDoSBlbiB1c287IG1hcmNhZG8gY29tbyBubyBlbiB1c28gZW4gZWwgbWFwYSBkZSBiaXRzLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIwCittc2dpZCAiU2V0IgorbXNnc3RyICJFc3RhYmxlY2VyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiTm9kby1pICVsdSAobW9kbyA9ICUwN28pLCBpX25saW5rcz0lZCwgY29udGFkb3M9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIkVzdGFibGVjZSBpX25saW5rcyBlbiBuw7ptZXJvIGNvbnRhZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiWm9uYSAlbHU6IG1hcmNhZGEgY29tbyBlbiB1c287IG5pbmfDum4gZmljaGVybyBsYSB1dGlsaXphLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJFbGltaW5hciBtYXJjYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlbHU6IGVuIHVzbywgY29udGFkb3M9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmEgJWx1OiBubyBlbiB1c28sIGNvbnRhZG9zPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTkKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBkZSBub2RvLWkgaW5jb3JyZWN0byIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMwMQorbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIG5vZG8taSB2MiBpbmNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiU2UgbmVjZXNpdGEgdGVybWluYWwgcGFyYSByZXBhcmFjaW9uZXMgaW50ZXJhY3RpdmFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgZXN0w6EgbGltcGlvOyBubyBzZSBjb21wcnVlYmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJGb3J6YW5kbyBjb21wcm9iYWNpw7NuIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIGVuICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJFbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIGVuICVzIGNvbnRpZW5lIGVsZW1lbnRvcyBleHRyYcOxb3M7IGRlYmUgY29tcHJvYmFyc2UuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBub2Rvcy1pIHV0aWxpemFkb3MgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uYXMgdXRpbGl6YWRhcyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQgZmljaGVyb3Mgbm9ybWFsZXNcbiIKKyIlNmQgZGlyZWN0b3Jpb3NcbiIKKyIlNmQgZmljaGVyb3MgZGUgZGlzcG9zaXRpdm9zIGRlIGNhcmFjdGVyZXNcbiIKKyIlNmQgZmljaGVyb3MgZGUgZGlzcG9zaXRpdm9zIGRlIGJsb3F1ZXNcbiIKKyIlNmQgZW5sYWNlc1xuIgorIiU2ZCBlbmxhY2VzIHNpbWLDs2xpY29zXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpY2hlcm9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkVMIFNJU1RFTUEgREUgRklDSEVST1MgSEEgQ0FNQklBRE9cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsw7MgbGEgZXNjcml0dXJhIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IHBvZHLDrWEgbm8gc2VyIHVuIHNpc3RlbWEgZGUgZmljaGVyb3MgSVNPIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgImVycm9yIGRlIGxlY3R1cmEgZW4gJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAibsO6bWVybyBkZSBzZWN0b3JlczogJWQsIHRhbWHDsW8gZGVsIHNlY3RvcjogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPGZpY2hlcm9fZGVfaW1hZ2VuX2lzbzk2NjA+IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTIKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTXVlc3RyYSBsYSBsb25naXR1ZCBkZSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIElTTy05NjYwLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTUKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIC1kLCAtLWRpdmlzb3I9PG7Dum1lcm8+ICBkaXZpZGUgbGEgY2FudGlkYWQgZGUgYnl0ZXMgZW50cmUgPG7Dum1lcm8+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgbXVlc3RyYSBuw7ptZXJvIHkgdGFtYcOxbyBkZSBzZWN0b3Jlc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBkaXZpc29yIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIk1vZG8gZGUgZW1wbGVvOiAlcyBbb3BjaW9uZXNdIGRpc3Bvc2l0aXZvIFtjb250YWRvci1kZS1ibG9xdWVzXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ3JlYSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIGJmcyBkZSBTQ08uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNpb25lczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBlc3BlY2lmaWNhIGVsIG7Dum1lcm8gZGVzZWFkbyBkZSBub2Rvcy1pXG4iCisiIC1WLCAtLXZuYW1lPU5PTUJSRSAgZXNwZWNpZmljYSBlbCBub21icmUgZGVsIHZvbHVtZW5cbiIKKyIgLUYsIC0tZm5hbWU9Tk9NQlJFICBlc3BlY2lmaWNhIGVsIG5vbWJyZSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxpY2EgbG8gcXVlIHNlIGVzdMOhIGhhY2llbmRvXG4iCisiIC1jICAgICAgICAgICAgICAgICAgZXN0YSBvcGNpw7NuIHNlIGlnbm9yYSBlbiBzaWxlbmNpb1xuIgorIiAtbCAgICAgICAgICAgICAgICAgIGVzdGEgb3BjacOzbiBzZSBpZ25vcmEgZW4gc2lsZW5jaW9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibsO6bWVybyBubyB2w6FsaWRvIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibm9tYnJlIGRlIHZvbHVtZW4gZGVtYXNpYWRvIGxhcmdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbWJyZSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBkZW1hc2lhZG8gbGFyZ28iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJuw7ptZXJvIGRlIGJsb3F1ZXMgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgdGFtYcOxbyBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiZWwgYXJndW1lbnRvIGRlIGJsb3F1ZXMgZXMgZGVtYXNpYWRvIGdyYW5kZSwgZWwgbcOheGltbyBlcyAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAiZGVtYXNpYWRvcyBub2Rvcy1pOyBlbCBtw6F4aW1vIGVzIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJubyBoYXkgc3VmaWNpZW50ZSBlc3BhY2lvLCBzZSBuZWNlc2l0YW4gYWwgbWVub3MgJWxsdSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiRGlzcG9zaXRpdm86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiVm9sdW1lbjogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiTm9tYnJlRGVsU0Y6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiVGFtYcOxb0RlbEJsb3F1ZTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiTm9kb3MtaTogJWxkIChlbiAxIGJsb3F1ZSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIk5vZG9zLWk6ICVsZCAoZW4gJWxsdSBibG9xdWVzKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9xdWVzOiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIkZpbiBkZSBsb3Mgbm9kb3MtaTogJWQsIGZpbiBkZSBsb3MgZGF0b3M6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImVycm9yIGFsIGVzY3JpYmlyIGVsIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICJlcnJvciBhbCBlc2NyaWJpciBlbCBub2RvLWkgcmHDrXoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJlcnJvciBhbCBlc2NyaWJpciB1biBub2RvLWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJlcnJvciBkZSBiw7pzcXVlZGEiCisKKyMgTG8gcG9uZ28gZW50cmUgYGNvbWl0YXMnIHBvcnF1ZSBlc3TDoSBhbCBmaW5hbC4KKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImVycm9yIGFsIGVzY3JpYmlyIGxhIGVudHJhZGEgYC4nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiZXJyb3IgYWwgZXNjcmliaXIgbGEgZW50cmFkYSBgLi4nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgImVycm9yIGFsIGNlcnJhciAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWy10IDx0aXBvPl0gW29wY2lvbmVzLXNpc2ZdIDxkaXNwb3NpdGl2bz4gWzx0YW1hw7FvPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ29uc3RydXllIHVuIHNpc3RlbWEgZGUgZmljaGVyb3MgZGUgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PHRpcG8+ICB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVyb3M7IHNpIG5vIHNlIGVzcGVjaWZpY2EsIHNlIHVzYSBleHQyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgb3BjaW9uZXMtc2lzZiAgcGFyw6FtZXRyb3MgcGFyYSBlbCBjb25zdHJ1Y3RvciByZWFsIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8ZGlzcG9zaXRpdm8+ICBydXRhIGFsIGRpc3Bvc2l0aXZvIHF1ZSBzZSB2YSBhIHVzYXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDx0YW1hw7FvPiAgICAgICBuw7ptZXJvIGRlIGJsb3F1ZXMgcXVlIHNlIHZhbiBhIHVzYXIgZW4gZWwgZGlzcG9zaXRpdm9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGljYSBsbyBxdWUgc2UgZXN0w6EgaGFjaWVuZG87XG4iCisiICAgICAgICAgICAgICAgICAgICAgIGVzcGVjaWZpY2FyIC1WIG3DoXMgZGUgdW5hIHZleiBwcm92b2NhcsOhIHVuIMKrZHJ5LXJ1bsK7XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBpbmNsdWRlL2MuaDoyMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQzNQorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MSBsb2dpbi11dGlscy9zdWxvZ2luLmM6Nzk1IHN5cy11dGlscy9mbG9jay5jOjEyMQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTUgdGVybS11dGlscy9zY3JpcHQuYzo2MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgImZhbGxvIGFsIGVqZWN1dGFyICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorInVzbzogJXMgWy1oXSBbLXZdIFstYiB0YW1ibG9xXSBbLWUgZWRpY2nDs25dIFstTiBlbmRpYW5dIFstaSBmaWNoXSBbLW4gbm9tYnJlXSBub21icmVkaXIgZnNhbGlkYVxuIgorIiAtdiAgICAgICAgIHPDqSBleHBsaWNhdGl2b1xuIgorIiAtRSAgICAgICAgIGNvbnZpZXJ0ZSBlbiBlcnJvcmVzIHRvZG9zIGxvcyBhdmlzb3MgKGVzdGFkbyBkZSBzYWxpZGEgbm8gY2VybylcbiIKKyIgLWIgdGFtYmxvcSB1dGlsaXphIGVzdGUgdGFtYcOxbyBkZSBibG9xdWUsIGRlYmUgc2VyIGVsIHRhbWHDsW8gZGUgcMOhZ2luYVxuIgorIiAtTiBlbmRpYW4gIGVzdGFibGVjZSBlbCDCq2VuZGlhbm5lc8K7IGRlIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgaG9zdCBwb3Igb21pc2nDs25cbiIKKyIgLWUgZWRpY2nDs24gZXN0YWJsZWNlIGVsIG7Dum1lcm8gZGUgZWRpY2nDs24gKHBhcnRlIGRlIGZzaWQpXG4iCisiIC1pIGZpY2ggICAgaW5zZXJ0YSBsYSBpbWFnZW4gZGUgdW4gZmljaGVybyBkZW50cm8gZGVsIHNpc3RlbWEgZGUgZmljaGVyb3NcbiIKKyIgLW4gbm9tYnJlICBlc3RhYmxlY2UgZWwgbm9tYnJlIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIGNyYW1mc1xuIgorIiAtcCAgICAgICAgIGRlc3BsYXphICVkIGJ5dGVzIHBhcmEgZWwgY8OzZGlnbyBkZSBhcnJhbnF1ZVxuIgorIiAtcyAgICAgICAgIG9yZGVuYSBsYXMgZW50cmFkYXMgZGUgZGlyZWN0b3JpbyAob3BjacOzbiBhbnRpZ3VhLCBzaW4gZWZlY3RvKVxuIgorIiAteiAgICAgICAgIGNyZWEgaHVlY29zIGV4cGzDrWNpdG9zXG4iCisiIG5vbWJyZWRpciAgcmHDrXogZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MgcXVlIHNlIHZhIGEgY29tcHJpbWlyXG4iCisiIGZzYWxpZGEgICAgZmljaGVybyBkZSBzYWxpZGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkbGluayBmYWxsw7M6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAibm8gc2UgcHVkbyBsZWVyIGVsIGRpcmVjdG9yaW8gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDIKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAic2lzdGVtYSBkZSBmaWNoZXJvcyBkZW1hc2lhZG8gZ3JhbmRlLiBTYWxpZW5kby4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJZRVBBOiBibG9xdWUgXCJjb21wcmltaWRvXCIgYSA+IDIqbG9uZ2l0dWRkZWxibG9xdWUgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNlcnJhciBlbCBmaWNoZXJvICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiQXJndW1lbnRvIGRlbCBuw7ptZXJvIGRlIGVkaWNpw7NuIG5vIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIlNlIGhhIGRhZG8gdW5hIGVuZGlhbm5lc3Mgbm8gdsOhbGlkYTsgZGViZSBzZXIgJ2JpZycsICdsaXR0bGUnLCBvICdob3N0JyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgImF0ZW5jacOzbjogbGEgZXN0aW1hY2nDs24gZGVsIHRhbWHDsW8gcmVxdWVyaWRvIChjb3RhIHN1cGVyaW9yKSBlcyAlbGxkTUIsIHBlcm8gZWwgdGFtYcOxbyBtw6F4aW1vIGRlIGxhIGltYWdlbiBlcyAldU1CLiBQb2Ryw61hIGFib3J0YXJzZSBwcmVtYXR1cmFtZW50ZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJtYXBhIGRlIGltYWdlbiBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJJbmNsdXllbmRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiRGF0b3MgZGUgZGlyZWN0b3Jpb3M6ICV6ZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiVG9kbzogJXpkIGtpbG9ieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9xdWU6ICV6ZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIm5vIGhheSBzdWZpY2llbnRlIGVzcGFjaW8gcGFyYSBsYSBpbWFnZW4gUk9NIChhc2lnbmFkbyAlbGxkLCB1c2FkbyAlenUpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJmYWxsw7MgbGEgZXNjcml0dXJhIGRlIGxhIGltYWdlbiBST00gKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk0Cittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJpbWFnZW4gUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJhdGVuY2nDs246IGxvcyBub21icmVzIGRlIGZpY2hlcm9zIHNlIHRydW5jYW4gYSAldSBieXRlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgImF0ZW5jacOzbjogc2Ugc2FsdGFyb24gZmljaGVyb3MgZGViaWRvIGEgZXJyb3Jlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJhdGVuY2nDs246IGxvcyB0YW1hw7FvcyBkZSBsb3MgZmljaGVyb3Mgc2UgdHJ1bmNhbiBhICVsdU1CIChtZW5vcyAxIGJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisiYXRlbmNpw7NuOiBsb3MgdWlkcyBzZSB0cnVuY2FuIGEgJXUgYml0cy4gIChFc3RvIHBvZHLDrWEgc2VyIHVuIHByb2JsZW1hXG4iCisiZGUgc2VndXJpZGFkLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorImF0ZW5jacOzbjogbG9zIGdpZHMgc2UgdHJ1bmNhbiBhICV1IGJpdHMuIChFc3RvIHBvZHLDrWEgc2VyIHVuIHByb2JsZW1hXG4iCisiZGUgc2VndXJpZGFkKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIkFURU5DScOTTjogbG9zIG7Dum1lcm9zIGRlIGRpc3Bvc2l0aXZvIHNlIHRydW5jYW4gYSAldSBiaXRzLiBFc3RvXG4iCisic2lnbmlmaWNhIGNhc2kgY29uIGNlcnRlemEgcXVlIGFsZ3Vub3MgZmljaGVyb3MgZGUgZGlzcG9zaXRpdm9zIHNlcsOhbiBlcnLDs25lb3MuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gL2Rldi9ub21icmUgW2Jsb3F1ZXNdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1dGlsaXphIGxhIHZlcnNpw7NuIDEgZGUgTWluaXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHV0aWxpemEgbGEgdmVyc2nDs24gMiBkZSBNaW5peFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLTMgICAgICAgICAgICAgICAgICAgICAgIHV0aWxpemEgbGEgdmVyc2nDs24gMyBkZSBNaW5peFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lbGVuZ3RoIDxuw7ptLj4gbG9uZ2l0dWQgbcOheGltYSBkZSBsb3Mgbm9tYnJlcyBkZSBmaWNoZXJvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDxuw7ptZXJvPiAgIG7Dum1lcm8gZGUgbm9kb3MtaSBwYXJhIGVsIHNpc3RlbWEgZGUgZmljaGVyb3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNvbXBydWViYSBzaSBlbCBkaXNwb3NpdGl2byB0aWVuZSBibG9xdWVzIGluY29ycmVjdG9zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAtbCwgLS1iYWRibG9ja3MgPGZpY2guPiBlbnVtYXJhIGxvcyBibG9jcXVlcyBpbmNvcnJlY3RvcyBkZWwgZmljaGVyb1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHJycm9yIGRlIGLDunNxdWVkYSBkZSBibG9xdWUgZGUgaW5pY2lvIGVuIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBib3JyYXIgZWwgc2VjdG9yIGRlIGluaWNpbyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBlcnJvciBkZSBiw7pzcXVlZGEgZW4gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVzY3JpYmlyIGVsIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlc2NyaWJpciBsYSB0YWJsYSBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGVzY3JpYmlyIGxhIHRhYmxhIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZW4gZXNjcmliaXIgbG9zIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBlcnJvciBkZSBiw7pzcXVlZGEgZW4gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogZXJyb3IgZGUgZXNjcml0dXJhIGVuIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk4CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBoYXkgZGVtYXNpYWRvcyBibG9xdWVzIGluY29ycmVjdG9zIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzOiBubyBoYXkgc3VmaWNpZW50ZXMgYmxvcXVlcyBjb3JyZWN0b3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyJFbCBwcmltZXIgYmxvcXVlIGRlIGRhdG9zIGVzdMOhIGVuICVqZCwgZGVtYXNpYWRvIGxlam9zIChtw6F4LiAlZCkuXG4iCisiVHJhdGUgZGUgZXNwZWNpZmljYXIgbWVub3Mgbm9kb3MtaSBtZWRpYW50ZSAnLS1pbm9kZXMgPG7Dum1lcm8+Jy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgbm9kby1pXG4iCittc2dzdHJbMV0gIiVsdSBub2Rvcy1pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUgYmxvcXVlXG4iCittc2dzdHJbMV0gIiVsdSBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiVGFtYcOxbyBkZSB6b25hPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyJUYW1hw7FvIG3DoXhpbW89JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczogZXJyb3IgZGUgYsO6c3F1ZWRhIGR1cmFudGUgY29tcHJvYmFjacOzbiBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgIlZhbG9yZXMgZXh0cmHDsW9zIGVuIGRvX2NoZWNrOiBwcm9iYWJsZW1lbnRlIGV4aXN0YW4gZXJyb3Jlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IGVycm9yIGRlIGLDunNxdWVkYSBlbiBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiIgorIiVzOiBibG9xdWVzIGluY29ycmVjdG9zIGFudGVzIGRlbCDDoXJlYSBkZSBkYXRvczogbm8gc2UgcHVlZGUgY3JlYXJcbiIKKyJlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGJsb3F1ZSBpbmNvcnJlY3RvXG4iCittc2dzdHJbMV0gIiVkIGJsb3F1ZXMgaW5jb3JyZWN0b3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGFicmlyIGVsIGZpY2hlcm8gZGUgYmxvcXVlcyBpbmNvcnJlY3RvcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgImVycm9yIGRlIGVudHJhZGEgZW4gZWwgbsO6bWVybyBkZSBibG9xdWVzIGRlZmVjdHVvc29zIGVuIGxhIGzDrW5lYSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczogTm8gc2UgcHVlZGUgbGVlciBlbCBmaWNoZXJvIGRlIGJsb3F1ZXMgaW5jb3JyZWN0b3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAidGFtYcOxbyBkZSBibG9xdWUgbWVub3IgcXVlIGVsIHRhbWHDsW8gZGUgc2VjdG9yIGbDrXNpY28gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGRldGVybWluYXIgZWwgdGFtYcOxbyBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiBsb3MgYmxvcXVlcyBzb2xpY2l0YWRvcyAoJWxsdSkgc3VwZXJhbiBsb3MgYmxvcXVlcyBkaXNwb25pYmxlcyAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGVsIG7Dum1lcm8gZGUgYmxvcXVlcyBlcyBkZW1hc2lhZG8gcGVxdWXDsW8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJsb25naXR1ZCBkZSBub21icmUgbm8gc29wb3J0YWRhOiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJsYSB2ZXJzacOzbiBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBtaW5peCBubyBlc3TDoSBzb3BvcnRhZGE6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IGVzIGFtYmlndW87IG1lam9yIHV0aWxpY2UgJy0yJyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgbG9uZ2l0dWQgbcOheGltYSBkZSBsb3Mgbm9tYnJlcyBkZSBmaWNoZXJvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZWwgbsO6bWVybyBkZSBub2Rvcy1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZWwgbsO6bWVybyBkZSBibG9xdWVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG87IG5vIHNlIGNyZWFyw6EgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBhcXXDrSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJFbCB0YW1hw7FvIGRlIHDDoWdpbmEgJXUgZXNwZWNpZmljYWRvIHBvciBlbCB1c3VhcmlvIGVzIGluY29ycmVjdG8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIlNlIHV0aWxpemEgZWwgdGFtYcOxbyBkZSBww6FnaW5hICVkIGVzcGVjaWZpY2FkbyBwb3IgZWwgdXN1YXJpbywgZW4gbHVnYXIgZGVsIHZhbG9yIGRlbCBzaXN0ZW1hICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJMYSBldGlxdWV0YSBzZSBoYSB0cnVuY2Fkby4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgInNpbiBldGlxdWV0YSwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgInNpbiB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIk1vZG8gZGUgZW1wbGVvOlxuIgorIiAlcyBbb3BjaW9uZXNdIGRpc3Bvc2l0aXZvIFt0YW1hw7FvXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIHVuYSB6b25hIGRlIGludGVyY2FtYmlvIGRlIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lvbmVzOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNvbXBydWViYSBsb3MgYmxvcXVlcyBlcnLDs25lb3MgYW50ZXMgZGUgY3JlYXIgZWwgw6FyZWEgZGUgaW50ZXJjYW1iaW9cbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBwZXJtaXRlIHVuIHRhbWHDsW8gZGUgw6FyZWEgZGUgaW50ZXJjYW1iaW8gbWF5b3IgcXVlIGVsIGRpc3Bvc2l0aXZvXG4iCisiIC1wLCAtLXBhZ2VzaXplIFRBTUHDkU8gICAgIGVzcGVjaWZpY2EgZWwgdGFtYcOxbyBkZSBww6FnaW5hIGVuIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIEVUSVFVRVRBICAgICAgZXNwZWNpZmljYSBsYSBldGlxdWV0YVxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIGVzcGVjaWZpY2EgZWwgbsO6bWVybyBkZSB2ZXJzacOzbiBkZWwgZXNwYWNpbyBkZSBpbnRlcmNhbWJpb1xuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIGVzcGVjaWZpY2EgZWwgdXVpZCBxdWUgc2UgdmEgYSB1dGlsaXphclxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAiSGF5IGRlbWFzaWFkYXMgcMOhZ2luYXMgaW5jb3JyZWN0YXM6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIkVycm9yIGRlIGLDunNxdWVkYSBlbiBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSBww6FnaW5hIGluY29ycmVjdGFcbiIKK21zZ3N0clsxXSAiJWx1IHDDoWdpbmFzIGluY29ycmVjdGFzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYXNpZ25hciB1biBudWV2byBzb25kZW8gbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGFzaWduYXIgZGlzcG9zaXRpdm8gYWwgc29uZGVvIGxpYmJsa2lkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJhdGVuY2nDs246IG5vIHNlIGRpc3BvbmUgZGUgbGEgb3BjacOzbiBkZSBjb21wcm9iYXIgYmxvcXVlcyBpbmNvcnJlY3RvcyBlbiBlbCBmaWNoZXJvIGRlIGludGVyY2FtYmlvOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJibyBzZSBwdWVkZSByZWJvYmluYXIgZWwgZGlzcG9zaXRpdm8gZGUgaW50ZXJjYW1iaW8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkyCittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIm5vIHNlIHB1ZWRlbiBib3JyYXIgbG9zIHNlY3RvcmVzIGRlIGxvcyBiaXRzIGRlIGFycmFucXVlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlczogYXRlbmNpw7NuOiBzZSBkZXN0cnV5ZSBsYSBmaXJtYSBhbnRpZ3VhICVzLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiBhdGVuY2nDs246IG5vIGJvcnJlIGxvcyBzZWN0b3JlcyBkZSBsb3MgYml0cyBkZSBhcnJhbnF1ZSBpbmljaW8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAodGFibGEgZGUgcGFydGljaW9uZXMgJXMgZGV0ZWN0YWRhKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChjb21waWxhZG8gc2luIGxpYmJsa2lkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIlV0aWxpY2UgLWYgcGFyYSBmb3J6YXIuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlc2NyaWJpciBsYSBww6FnaW5hIGRlIGZpcm1hIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZWwgdGFtYcOxbyBkZSBww6FnaW5hIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OAorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICJlcnJvciBhbmFsaXphbmRvIGVsIG7Dum1lcm8gZGUgdmVyc2nDs24iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIm5vIGZ1bmNpb25hIGxhIHZlcnNpw7NuICVkIGRlIGVzcGFjaW8gZGUgaW50ZXJjYW1iaW8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICJhdGVuY2nDs246IHNlIGlnbm9yYSAtVSAoJXMgbm8gcGVybWl0ZSBlc3BlY2lmaWNhciBVVUlEcykiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgImFjdHVhbG1lbnRlIHNvbG8gc2UgYWRtaXRlIHVuIGFyZ3VtZW50byBwYXJhIGVsIGRpc3Bvc2l0aXZvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMworbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJlcnJvcjogZmFsbG8gYWwgYW5hbGl6YXIgVVVJRCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgImVycm9yOiDCv05vIHNlIGhhIGVzcGVjaWZpY2FkbyBkw7NuZGUgY29uZmlndXJhciBlbCBlc3BhY2lvIGRlIGludGVyY2FtYmlvPyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gZGUgY3VlbnRhIGRlIGJsb3F1ZXMgbm8gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiZXJyb3I6IGVsIHRhbWHDsW8gJWxsdSBLaUIgZXMgbWF5b3IgcXVlIGVsIHRhbWHDsW8gZGVsIGRpc3Bvc2l0aXZvICU8UFJJdTY0PiBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiZXJyb3I6IGVsIMOhcmVhIGRlIGludGVyY2FtYmlvIGRlYmUgdGVuZXIgY29tbyBtw61uaW1vICVsZCBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICJhdGVuY2nDs246IGVsIMOhcmVhIGRlIGludGVyY2FtYmlvIHNlIHRydW5jYSBhICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgImVycm9yOiAlcyBlc3TDoSBtb250YWRvOyBubyBzZSBjcmVhcsOhIGVsIGVzcGFjaW8gZGUgaW50ZXJjYW1iaW8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHBlcm1pc29zICUwNG8gbm8gc2VndXJvczsgc2Ugc3VnaWVyZSAlMDRvLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGVsIHByb3BpZXRhcmlvICVkIGRlbCBmaWNoZXJvIG5vIGVzIHNlZ3Vybzsgc2Ugc3VnaWVybyAwIChyb290KS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJObyBzZSBwdWVkZSBjb25maWd1cmFyIGVsIGVzcGFjaW8gZGUgaW50ZXJjYW1iaW86IG5vIHNlIHB1ZWRlIGxlZXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJDb25maWd1cmFuZG8gZXNwYWNpbyBkZSBpbnRlcmNhbWJpbyB2ZXJzacOzbiAlZCwgdGFtYcOxbyA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIG9idGVuZXIgbGEgZXRpcXVldGEgZGVsIGZpY2hlcm8gU0VMaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVqZWN1dGFyIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY3JlYXIgdW4gbnVldm8gY29udGV4dG8gU0VMaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibm8gc2UgcHVkbyBjYWxjdWxhciBlbCBjb250ZXh0byBTRUxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY2FtYmlhciBsYSBldGlxdWV0YSAlcyBwb3IgJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJjb21pZW56byBkZSBsYSBwYXJ0aWNpw7NuIGVuIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJmaW4gZGUgbGEgcGFydGljacOzbiBlbiBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIm7Dum1lcm8gZGUgc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgInRhbWHDsW8gbGVnaWJsZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm5vbWJyZSBkZSBsYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiVVVJRCBkZSBsYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgInRpcG8gZGUgdGFibGEgZGUgcGFydGljaW9uZXMgKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAib3BjaW9uZXMgZGUgbGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgInRpcG8gZGUgcGFydGljacOzbiAoY2FkZW5hLCBVVUlEIG8gaGV4YWRlY2ltYWwpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTIxIHN5cy11dGlscy9sb3NldHVwLmM6NjMwCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGxvb3BjeHQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIGVuY29udHJhZG8gbmluZ8O6biBkaXNwb3NpdGl2byBkZSBidWNsZSBzaW4gdXRpbGl6YXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiU2UgaW50ZW50YXLDoSB1dGlsaXphciAnJXMnIGNvbW8gZGlzcG9zaXRpdm8gZGUgYnVjbGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBjb25maWd1cmFyIGVsIGZpY2hlcm8gc3VieWFjZW50ZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIGNvbmZpZ3VyYXIgZGlzcG9zaXRpdm8gZGUgYnVjbGUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgImNvbHVtbmEgZGVzY29ub2NpZGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBvYnRlbmVyIGVsIG7Dum1lcm8gZGUgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiZWwgcmFuZ28gZXNwZWNpZmljYWRvIDwlZDolZD4gbm8gdGllbmUgc2VudGlkbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAicmVjdWVudGEgZGUgcmFuZ286IG3DoXggbnVtcGFydD0lZCwgaW5mZXJpb3I9JWQsIHN1cGVyaW9yPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIGJvcnJhciBsYSBwYXJ0aWNpw7NuICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZXJyb3IgYWwgYm9ycmFyIGxhcyBwYXJ0aWNpb25lcyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiBzZSBoYSBib3JyYWRvIGxhIHBhcnRpY2nDs24gbsK6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICIlczogbGEgcGFydGljacOzbiBuwrogJWQgbm8gZXhpc3RlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogZWwgYm9ycmFkbyBkZSBsYSBwYXJ0aWNpw7NuIG7CuiAlZCBoYSBmYWxsYWRvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogZXJyb3IgYWwgYcOxYWRpciBsYSBwYXJ0aWNpw7NuICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIGHDsWFkaXIgbGFzIHBhcnRpY2lvbmVzICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IHNlIGhhIGHDsWFkaWRvIGxhIHBhcnRpY2nDs24gbsK6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGHDsWFkaXIgbGEgcGFydGljacOzbiBuwrogJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIGFjdHVhbGl6YXIgbGEgIHBhcnRpY2nDs24gJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBlcnJvciBhbCBhY3R1YWxpemFyIGxhcyBwYXJ0aWNpb25lcyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiJXM6IG5vIGV4aXN0ZSBsYSBwYXJ0aWNpw7NuIG7CuiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiBzZSBoYSBjYW1iaWFkbyBlbCB0YW1hw7FvIGRlIGxhIHBhcnRpY2nDs24gbsK6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG8gYWwgYWN0dWFsaXphciBsYSBwYXJ0aWNpw7NuIG7CuiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAibsK6ICUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAibsK6ICUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcmVzLCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIHJlc2VydmFyIGxhIGNvbHVtbmEgZGUgc2FsaWRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGVsIGZpbHRybyBibGtpZCBwYXJhICclcyciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBsZWVyIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiBzZSBoYSBkZXRlY3RhZG8gdW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIGRlIHRpcG8gJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogdGFibGEgZGUgcGFydGljaW9uZXMgc2luIG5pbmd1bmEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGljacOzbj5dIDxkaXNjbz5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICJJbmZvcm1hIGFsIG7DumNsZW8gZGUgbGEgcHJlc2VuY2lhIGRlIHBhcnRpY2lvbmVzIHkgZGUgc3UgbnVtZXJhY2nDs24uXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICBhw7FhZGUgbGFzIHBhcnRpY2lvbmVzIGVzcGVjaWZpY2FkYXMgbyB0b2RhcyBlbGxhc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICBib3JyYSBsYXMgcGFydGljaW9uZXMgZXNwZWNpZmljYWRhcyBvIHRvZGFzIGVsbGFzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtdSwgLS11cGRhdGUgICAgICAgICBhY3R1YWxpemEgbGFzIHBhcnRpY2lvbmVzIGVzcGVjaWZpY2FkYXMgbyB0b2RhcyBlbGxhc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBtdWVzdHJhIGxhIGxpc3RhIGRlIHBhcnRpY2lvbmVzXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1idHllcyAgICAgICAgICBtdWVzdHJhIGVsIFRBTUHDkU8gZW4gYnl0ZXMgZW4gbHVnYXIgZGUgaGFjZXJsbyBlbiBmb3JtYXRvIGxlZ2libGUgcGFyYSBodW1hbm9zXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgbm8gaW1wcmltZSBsYXMgY2FiZWNlcmFzIGNvcnJlc3BvbmRpZW50ZXMgYSAtLXNob3dcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bj4gICAgICAgZXNwZWNpZmljYSB1biByYW5nbyBkZSBwYXJ0aWNpb25lcyAoZS5nLiAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiBkZWZpbmUgcXVlIGNvbHVtbmFzIGRlIHNhbGlkYSB1dGlsaXphclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU2IHN5cy11dGlscy9sc21lbS5jOjUwMworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYXJpcyAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIGNsYXZlPVwidmFsb3JcIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIHV0aWxpemEgZWwgZm9ybWF0byBkZSBzYWxpZGEgZW4gYnJ1dG9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgc29icmVlc2NyaWJlIGVsIHRhbWHDsW8gZGUgc2VjdG9yXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHRpcG8+ICAgIGVzcGVjaWZpY2EgZWwgdGlwbyBkZSBwYXJ0aWNpw7NuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0LXR5cGVzICAgICBlbnVtZXJhIGxvcyB0aXBvcyBkZSBwYXJ0aWNpw7NuIHBlcm1pdGlkb3MgeSB0ZXJtaW5hXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzMgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEwMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIG1vZG8gZXhwcmVzaXZvXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyIGVsIHJhbmdvIC0tbnIgPG46bj4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgImxvcyBub21icmVzIGRlIGxhIHBhcnRpY2nDs24geSBkZWwgZGlzY28gbm8gY29uY3VlcmRhbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIgeSA8cGFydGljacOzbj4gc29uIG11dHVhbWVudGUgZXhjbHV5ZW50ZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpY2nDs246ICVzLCBkaXNjbzogJXMsIGluZmVyaW9yOiAlZCwgc3VwZXJpb3I6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZW4gYm9ycmFyIGxhcyBwYXJ0aWNpb25lcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IGxvcyBkaXNwb3NpdGl2b3MgZGUgYnVjbGUgcGFydGljaW9uYWRvcyBubyBzZSBhZG1pdGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIGluaWNpYWxpemFyIGVsIHNvbmRlbyBibGtpZCIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAlMSRzICUyJHNyYXdOIDxtYXlvcj4gPG1lbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGRpc3BvYmxvcXVlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIlZpbmN1bGEgdW4gZGlzcG9zaXRpdm8gZGUgY2FyYWN0ZXJlcyBlbiBicnV0byBhIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIGVzdGFibGVjZSBtb2RvIGRlIGNvbnN1bHRhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICBjb25zdWx0YSB0b2RvcyBsb3MgZGlzcG9zaXRpdm9zIGVuIGJydXRvXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gJyVzJyBlcyBlbCBkaXNwb3NpdGl2byBkZSBjb250cm9sIGVuIGJydXRvICh1dGlsaWNlIHJhdzxOPiBjb24gPE4+IG1heW9yIHF1ZSBjZXJvKSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgbG9jYWxpemFyIGVsIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMgJyVzJyIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJFbCBkaXNwb3NpdGl2byAnJXMnIG5vIGVzIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyIGVsIGFyZ3VtZW50byIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgYWJyaXIgZWwgZGlzcG9zaXRpdm8gZW4gYnJ1dG8gbWFlc3RybyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgbG9jYWxpemFyIGVsIGRpc3Bvc2l0aXZvIGVuIGJydXRvICclcyciCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJFbCBkaXNwb3NpdGl2byAnJXMnIG5vIGVzIHVuIGRpc3Bvc2l0aXZvIGRlIGNhcmFjdGVyZXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIkVsIGRpc3Bvc2l0aXZvICclcycgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZW4gYnJ1dG8iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRXJyb3IgZGUgY29uc3VsdGEgZGVsIGRpc3Bvc2l0aXZvIGVuIGJydXRvIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiVzcmF3JWQ6ICB2aW5jdWxhZG8gYWwgbsO6bS4gbWF5b3IgJWQsIG7Dum0uIG1lbm9yICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJFcnJvciBhbCBjb25maWd1cmFyIGVsIGRpc3Bvc2l0aXZvIGVuIGJydXRvIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNwb3NpdGl2byBkZSB0aXBvIGRpc2NvPiA8bsO6bWVybyBkZSBwYXJ0aWNpw7NuPiA8bG9uZ2l0dWQ+XG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjI0Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiSW5mb3JtYSBhbCBuw7pjbGVvIGRlbCBudWV2byB0YW1hw7FvIGRlIHVuYSBwYXJ0aWNpw7NuLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gb2J0ZW5lciBlbCBjb21pZW56byBkZWwgbsO6bWVybyBkZSBwYXJ0aWNpw7NuICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTEKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGNhbWJhaXIgZWwgdGFtYcOxbyBkZSBsYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZmFsbG8gYWwgcmVzZXJ2YXIgY29udGV4dG8gYW5pZGFkbyBkZSBsaWJmZGlzayIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVmZWN0dWFyIGBzZWVrJyAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDMgbGliZmRpc2svc3JjL2JzZC5jOjcyMiBsaWJmZGlzay9zcmMvYnNkLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXNjcmliaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAoZGVzcGxhemFtaWVudG8gJTVqdSwgdGFtYcOxbyAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogbm8gc2UgaGEgcG9kaWRvIGNyZWFyIHJlc3BhbGRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gY3JlYXIgdW4gZmljaGVybyBkZSByZXNwYWxkbzsgJEhPTUUgcXVlZGEgc2luIGRlZmluaXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiRmljaGVyb3MgZGUgcmVzcGFsZG86IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbGVlciBsYSBudWV2YSBwYXJ0aWNpw7NuIGRlbCBkaXNwb3NpdGl2bzsgc2UgaWdub3JhIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBvYnRlbmVyIGVsIHRhbWHDsW8gZGUgbGEgbnVldmEgcGFydGljacOzbjsgc2UgaWdub3JhIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gb2J0ZW5lciBlbCBjb21pZW56byBkZSBsYSBudWV2YSBwYXJ0aWNpw7NuOyBzZSBpZ25vcmEgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIG9idGVuZXIgZWwgdGFtYcOxbyBkZSBsYSBhbnRpZ3VhIHBhcnRpY2nDs247IHNlIGlnbm9yYSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIG9idGVuZXIgZWwgY29taWVuem8gZGUgbGEgYW50aWd1YSBwYXJ0aWNpw7NuOyBzZSBpZ25vcmEgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJubyBzZSBoYSBtb3ZpZG8gZWwgY29taWVuem8gZGUgbGEgcGFydGljacOzbjsgc2UgaWdub3JhIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibGEgbnVldmEgcGFydGljacOzbiBlcyBtw6FzIHBlcXVlw7FhIHF1ZSBsYSBvcmlnaW5hbDsgc2UgaWdub3JhIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIk1vdmltaWVudG8gZGUgZGF0b3M6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiIGZpY2hlcm8gZGUgdHJhbnNjcmlwY2nDs246ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIgYW50aWd1byBjb21pZW56bzogJWp1LCBudWV2byBjb21pZW56bzogJWp1IChtb3ZlciAlanUgc2VjdG9yZXMpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUyCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIsK/RGVzZWEgbW92ZXIgbG9zIGRhdG9zIGRlIGxhIHBhcnRpY2nDs24/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiU2FsaWVuZG8uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhbiBwb2RpZG8gcG9uZXIgbG9zIGRhdG9zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICJMYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBwZXJtYW5lY2Ugc2luIGNhbWJpb3MgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJTZSBoYSBtb2RpZmljYWRvIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiZXRpcXVldGEgZGUgZGlzY28gbm8gc29wb3J0YWRhICclcyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjM0Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCAgTm9tYnJlXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIHRhYmxhIGRlIHBhcnRpY2lvbmVzIG5vIHJlY29ub2NpZG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgb2J0ZW5lciBlbCB0YW1hw7FvIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJ0b3RhbDogJWp1IGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4OTQgZGlzay11dGlscy9zZmRpc2suYzo5MzUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzMiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwOTYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMDcgZGlzay11dGlscy9zZmRpc2suYzoxNTYxCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ8O6biBkaXNwb3NpdGl2byBkZSBkaXNjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNhbWJpYXIgYSBQTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMgorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9yIFBNQlIgb25seSIKK21zZ3N0ciAiY2FtYmlhciBsb3MgaW5kaWNhZG9yZXMgZGUgYXJyYW5xdWUgc29sbyBwdWVkZSBoYWNlcnNlIHBhcmEgTUJSIG8gUE1CUiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NjcgZGlzay11dGlscy9zZmRpc2suYzo5MTQgZGlzay11dGlscy9zZmRpc2suYzoxMDM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDEgZGlzay11dGlscy9zZmRpc2suYzoxMTU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCBuw7ptZXJvIGRlIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJWQ6IG5vIHNlIGhhIHBvZGlkbyBjYW1iaWFyIGVsIGluZGljYWRvciBkZSBhcnJhbmNhYmxlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBubyBzZSBoYSBwb2RpZG8gYm9ycmFyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogbm8gY29udGllbmUgdW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHJlY29ub2NpZGEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIHJlc2VydmFyIGxhIGVzdHJ1Y3R1cmEgZGUgdm9sY2FkbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyB2b2xjYXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogbm8gc2UgaGEgZW5jb250cmFkbyBuaW5ndW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogcGFydGljacOzbiAlenU6IGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHNvbG8gY29udGllbmUgJXp1IHBhcnRpY2lvbmVzLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczogcGFydGljacOzbiAlenU6IGxhIHBhcnRpY2nDs24gbm8gc2UgZXN0w6EgdXNhbmRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIm7Dum1lcm8gZGUgcGFydGljacOzbiBubyBlc3BlY2lmaWNhZG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDYgZGlzay11dGlscy9zZmRpc2suYzoxMTYxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTcKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXJndW1lbnRvcyBpbmVzcGVyYWRvcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydGljacOzbiAlenU6IGZhbGxvIGFsIG9idGVuZXIgZWwgdGlwbyBkZSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGVsIHRpcG8gZGUgbGEgcGFydGljacOzbiAlcyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0aWNpw7NuICV6dTogZmFsbG8gYWwgY29uZmlndXJhciBlbCB0aXBvIGRlIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBmYWxsbyBhbCBvYnRlbmVyIGVsIFVVSUQgZGUgbGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAiZmFsbG8gYWwgcmVzZXJ2YXIgZWwgb2JqZXRvIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBmYWxsbyBhbCBjb25maWd1cmFyIGVsIFVVSUQgZGUgbGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGljacOzbiAlenU6IGZhbGxvIGFsIG9idGVuZXIgZWwgbm9tYnJlIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IHBhcnRpY2nDs24gJXp1OiBmYWxsbyBhbCBjb25maWd1cmFyIGVsIG5vbWJyZSBkZSBsYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBwYXJ0aWNpw7NuICV6dTogZmFsbG8gYWwgY29uZmlndXJhciBsb3MgYXRyaWJ1dG9zIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIMOTcmRlbmVzOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIGVzY3JpYmUgbGEgdGFibGEgZW4gZWwgZGlzY28geSBzYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MAorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisiICAgcXVpdCAgICAgbXVlc3RyYSBsYSBudWV2YSBzaXR1YWNpw7NuIHkgZXNwZXJhIGxhIHJlc3B1ZXN0YSBkZWwgdXN1YXJpb1xuIgorIiAgICAgICAgICAgIGFudGVzIGRlIGVzY3JpYmlyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiAgIGFib3J0ICAgIHNhbGUgZGUgbGEgwqtzaGVsbMK7IGRlIHNmZGlza1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcHJpbnQgICAgbXVlc3RyYSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgIG11ZXN0cmEgZXN0ZSB0ZXh0byBkZSBheXVkYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTUKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ3RybC1EICAgaWd1YWwgcXVlICdxdWl0J1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTkKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIgRm9ybWF0byBkZSBlbnRyYWRhOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8Y29taWVuem8+LCA8dGFtYcOxbz4sIDx0aXBvPiwgPGFycmFuY2FibGU+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8Y29taWVuem8+IENvbWllbnpvIGRlIGxhIHBhcnRpY2nDs24gZW4gc2VjdG9yZXMsIG8gZW4gYnl0ZXMgc2lcbiIKKyIgICAgICAgICAgICBzZSBlc3BlY2lmaWNhIGVuIGVsIGZvcm1hdG8gPG7Dum1lcm8+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgTG8gcHJlZGV0ZXJtaW5hZG8gZXMgZWwgcHJpbWVyIGVzcGFjaW8gZGlzcG9uaWJsZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDx0YW1hw7FvPiBUYW1hw7FvIGRlIGxhIHBhcnRpY2nDs24gZW4gc2VjdG9yZXMsIG8gZW4gYnl0ZXMgc2lcbiIKKyIgICAgICAgICAgICBzZSBlc3BlY2lmaWNhIGVuIGVsIGZvcm1hdG8gPG7Dum1lcm8+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgTG8gcHJlZGV0ZXJtaW5hZG8gZXMgdG9kbyBlbCBlc3BhY2lvIGRpc3BvbmlibGUuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPHRpcG8+ICAgRWwgdGlwbyBkZSBwYXJ0aWNpw7NuLiAgRWwgcHJlZGV0ZXJtaW5hZG8gZXMgcGFydGljacOzbiBkZSBkYXRvcyBkZSBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIE1CUjogaGV4YSBvIG3DqXRvZG9zIGFicmV2aWFkb3MgTCxTLEUsWCxVLFIsVi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxILFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BUOiBVVUlEIG8gbcOpdG9kb3MgYWJyZXZpYWRvcyBMLFMsSCxVLFIsVi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiAgIDxhcnJhbmNhYmxlPiBVdGlsw61jZXNlICcqJyBwYXJhIGluZGljYXIgcXVlIGxhIHBhcnRpY2nDs24gZGVsIE1CUiBlcyBhcnJhbmNhYmxlLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjMKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIEVqZW1wbG86XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyNQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICAgLCA0RyAgICAgQ3JlYSB1bmEgcGFydGljacOzbiA0R2lCIGEgcGFydGlyIGRlIGxhIHBvc2ljacOzbiBwcmVkZXRlcm1pbmFkYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJvcmRlbiBubyBhZG1pdGlkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImzDrW5lYSAlZDogb3JkZW4gbm8gYWRtaXRpZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBzZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiTGEgZmlybWEgYW50aWd1YSAlcyBwb2Ryw61hIGVzdGFyIGHDum4gZW4gZWwgZGlzcG9zaXRpdm8uIFNlIHJlY29taWVuZGEgZW5jYXJlY2lkYW1lbnRlIGxpbXBpYXIgZWwgZGlzcG9zaXRpdm8gbWVkaWFudGUgZWwgY29tYW5kbyB3aXBlZnMoOCkgbyBzZmRpc2sgLS13aXBlLCBhIGZpbiBkZSBldml0YXIgcG9zaWJsZXMgY29saXNpb25lcy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiZmFsbG8gYWwgcmVzZXJ2YXIgZWwgbm9tYnJlIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiZmFsbG8gYWwgYXNpZ25hciBlbCBtYW5lamFkb3IgZGVsIHNjcmlwdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBtb2RpZmljYXIgbGEgcGFydGljacOzbiAlZDogbm8gc2UgaGEgZW5jb250cmFkbyB1bmEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgbW9kaWZpY2FyIGxhIHBhcnRpY2nDs24gJWQ6IGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHNvbG8gY29udGllbmUgJXp1IHBhcnRpY2lvbmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgImF0ZW5jacOzbjogJXM6IGxhIHBhcnRpY2nDs24gJWQgbm8gc2UgaGEgZGVmaW5pZG8gdG9kYXbDrWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJCaWVudmVuaWRvIGEgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiQ29tcHJvYmFuZG8gcXVlIG5hZGllIGVzdMOpIHV0aWxpemFuZG8gZXN0ZSBkaXNjbyBlbiBlc3RlIG1vbWVudG8uLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgRkFMTE9cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJFc3RlIGRpc2NvIGVzdMOhIGFjdHVhbG1lbnRlIGVuIHVzbyAtIG5vIHNlIGFjb25zZWphIHZvbHZlciBhIGNyZWFyIHBhcnRpY2lvbmVzLlxuIgorIkRlc21vbnRlIHRvZG9zIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvcyB5IGRlc2hhZ2EgdG9kYXMgbGFzIHBhcnRpY2lvbmVzIGRlXG4iCisiaW50ZXJjYW1iaW8gZGUgZXN0ZSBkaXNjby4gVXRpbGljZSBlbCBpbmRpY2Fkb3IgLS1uby1yZXJlYWQgcGFyYSBlbGltaW5hciBlc3RhIGNvbXByb2JhY2nDs24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJVdGlsaWNlIGVsIGluZGljYWRvciAtLWZvcmNlIHBhcmEgZWx1ZGlyIHRvZGFzIGxhcyBjb21wcm9iYWNpb25lcy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBDb3JyZWN0b1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NDcKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJTaXR1YWNpw7NuIGFudGVyaW9yOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIHZhIGEgY3JlYXIgdW5hIGV0aXF1ZXRhIGRlIGRpc2NvIG51ZXZhICclcycuXG4iCisiVXRpbGljZSAnbGFiZWw6IDxub21icmU+JyBhbnRlcyBkZSBkZWZpbmlyIHVuYSBwcmltZXJhXG4iCisicGFydGljacOzbiBwYXJhIGFudWxhciBsYSBwcmVkZXRlcm1pbmFkYS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRlY2xlZSAnaGVscCcgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiVG9kYXMgbGFzIHBhcnRpY2lvbmVzIHV0aWxpemFkYXMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJIZWNoby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiU2UgZGVzZXN0aW1hIGxhIHBhcnRpY2nDs24uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MzUgZGlzay11dGlscy9zZmRpc2suYzoxNzk1Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiTm8gc2UgaGFuIHBvZGlkbyBhcGxpY2FyIGxhcyBjYWJlY2VyYXMgZGVsIHNjcmlwdDsgbm8gc2UgaGEgY3JlYWRvIGxhIGV0aXF1ZXRhIGRlbCBkaXNjby4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIkZhbGxvIGFsIGHDsWFkaXIgbGEgcGFydGljacOzbiAjJWQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJDYWJlY2VyYSBkZWwgc2NyaXB0IGFjZXB0YWRhLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiU2l0dWFjacOzbiBudWV2YToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIsK/RGVzZWEgZXNjcmliaXIgZXN0YSBpbmZvcm1hY2nDs24gZW4gZWwgZGlzY28/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJTYWxpZW5kby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNpb25lc10gPGRpc3BvPiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wY2lvbmVzXSA8b3JkZW4+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1BLCAtLWFjdGl2YXRlIDxkaXNwbz4gWzxwYXJ0PiAuLi5dIHNhY2EgdW5hIGxpc3RhIG8gY29uZmlndXJhIGNvbW8gYXJyYW5jYWJsZXMgbGFzIHBhcnRpY2lvbmVzIGRlIChQKU1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA8ZGlzcG8+ICAgICAgICAgICAgICAgIHZ1ZWxjYSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyAocHVlZGUgdXRpbGl6YXJzZSBtw6FzIGFkZWxhbnRlIGNvbW8gZW50cmFkYSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiA8ZGlzcG8+ICAgICAgICAgICAgICAgIHZ1ZWxjYSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBlbiBmb3JtYXRvIEpTT05cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRpc3BvPiAuLi5dICBzYWNhIHVuYSBsaXN0YSBjb24gbGEgZ2VvbWV0csOtYSBkZSB0b2RvcyBsb3MgZGlzcG9zaXRpdm9zIG8gZGUgbG9zIHNlbGVjY2lvbmFkb3NcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzxkaXNwbz4gLi4uXSAgICAgICAgICBtdWVzdHJhIGxhcyBwYXJ0aWNpb25lcyBkZSBjYWRhIGRpc3Bvc2l0aXZvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1GLCAtLWxpc3QtZnJlZSBbPGRpc3BvPiAuLi5dICAgICBlbnVtZXJhIGxhcyB6b25hcyBubyBwYXJ0aWNpb25hZGFzIGRlIGNhZGEgZGlzcG9zaXRpdm9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLXIsIC0tcmVvcmRlciA8ZGlzcD4gICAgICAgICAgICAgIGNvcnJpZ2UgZWwgb3JkZW4gZGUgbGFzIHBhcnRpY2lvbmVzIChzZWfDum4gZGVzcGxhemFtaWVudG8gZGVsIGNvbWllbnpvKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtcywgLS1zaG93LXNpemUgWzxkaXNwbz4gLi4uXSAgICAgc2FjYSB1bmEgbGlzdGEgY29uIGxvcyB0YW1hw7FvcyBkZSB0b2RvcyBsb3MgZGlzcG9zaXRpdm9zIG8gZGUgbG9zIHNlbGVjY2lvbmFkb3NcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIGltcHJpbWUgbG9zIHRpcG9zIHJlY29ub2NpZG9zICh2w6lhc2UgLVgpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgWzxkaXNwbz4gLi4uXSAgICAgICAgY29tcHJ1ZWJhIHF1ZSBsYXMgcGFydGljaW9uZXMgcGFyZXpjYW4gY29ycmVjdGFzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgICAgIC0tZGVsZXRlIDxkaXNwPiBbPHBhcnQ+IC4uLl0gIGJvcnJhIHRvZGFzIGxhcyBwYXJ0aWNpb25lcyBvIGxhcyBxdWUgc2UgZXNwZWNpZmlxdWVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiAtLXBhcnQtbGFiZWwgPGRpc3BvPiA8cGFydD4gWzx0ZXh0bz5dIGltcHJpbWUgbyBtb2RpZmljYSBsYSBldGlxdWV0YSBkZSBsYSBwYXJ0aWNpw7NuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtLXBhcnQtdHlwZSA8ZGlzcG8+IDxwYXJ0PiBbPHRpcG8+XSBpbXByaW1lIG8gbW9kaWZpY2EgZWwgdGlwbyBkZSBsYSBwYXJ0aWNpw7NuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAtLXBhcnQtdXVpZCA8ZGlzcG8+IDxwYXJ0PiBbPHV1aWQ+XSBpbXByaW1lIG8gbW9kaWZpY2EgZWwgdXVpZCBkZSBsYSBwYXJ0aWNpw7NuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MgorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiAtLXBhcnQtYXR0cnMgPGRpc3BvPiA8cGFydD4gWzx0ZXh0bz5dIGltcHJpbWUgbyBtb2RpZmljYSBsb3MgYXRyaWJ1dG9zIGRlIGxhIHBhcnRpY2nDs25cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDxkaXNwbz4gICAgICAgICAgICAgICAgICAgcnV0YSBkZWwgZGlzcG9zaXRpdm8gKG5vcm1hbG1lbnRlIHVuIGRpc2NvKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjYKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIG7Dum1lcm8gZGUgbGEgcGFydGljacOzblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIgPHRpcG8+ICAgICAgICAgICAgICAgICAgICB0aXBvIGRlIGxhIHBhcnRpY2nDs24sIEdVSUQgbyBHUFQsIGhleGFkZWNpbWFsIHBhcmEgZWwgcmVnaXN0cm8gZGUgYXJyYW5xdWUgcHJpbmNpcGFsIChNQlIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhw7FhZGUgKGxhcykgcGFydGljaW9uZXMgYSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBleGlzdGVudGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcxCittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGhhY2UgY29waWEgZGUgcmVzcGFsZG8gZGUgbG9zIHNlY3RvcmVzIGRlIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzICh2w6lhc2UgLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1idHllcyAgICAgICAgICBtdWVzdHJhIGVsIFRBTUHDkU8gZW4gYnl0ZXMgZW4gbHVnYXIgZGUgaGFjZXJsbyBlbiBmb3JtYXRvIGxlZ2libGUgcGFyYSBodW1hbm9zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiICAgICAtLW1vdmUtZGF0YVs9PHRyYW5zY3JpcGM+XSBtdWV2ZSBsb3MgZGF0b3MgZGUgbGEgcGFydGljacOzbiBkZXNwdcOpcyBkZSBsYSByZWNvbG9jYWNpw7NuIChyZXF1aWVyZSAtTilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGVzYWN0aXZhIHRvZGFzIGxhcyBjb21wcm9iYWNpb25lcyBkZSBjb25zaXN0ZW5jaWFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PGN1w6FuZG8+XSAgICBjb2xvcmVhIGxhIHNhbGlkYSAowqthdXRvwrssIMKrYWx3YXlzwrsgKHNpZW1wcmUpIG8gwqtuZXZlcsK7IChudW5jYSkpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLU4sIC0tcGFydG5vIDxuw7ptZXJvPiAgICAgZXNwZWNpZmljYSBlbCBuw7ptZXJvIGRlIGxhIHBhcnRpY2nDs25cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGhhY2UgdG9kbyBleGNlcHRvIGVzY3JpYmlyIGVuIGVsIGRpc3Bvc2l0aXZvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIG5vIGNvbXBydWViYSBzaSBlbCBkaXNwb3NpdGl2byBlc3TDoSBlbiB1c29cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgbm8gaW5mb3JtYXIgZGUgY2FtYmlvcyBhbCBuw7pjbGVvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MgorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIgLU8sIC0tYmFja3VwLWZpbGUgPHJ1dGE+ICBhbnVsYSBlbCBub21icmUgZGVsIGZpY2hlcm8gZGUgcmVzcGFsZG8gcHJlZGV0ZXJtaW5hZG9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgY29sdW1uYXMgcXVlIG1vc3RyYXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg0Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXByaW1lIGxvcyBtZW5zYWplcyBkZSBpbmZvcm1hY2nDs24gc3VwbGVtZW50YXJpb3NcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg1Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDxtb2RvPiAgICAgICAgIGJvcnJhIGxhcyBmaXJtYXMgKGF1dG8sIHNpZW1wcmUgbyBudW5jYSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg3Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIgLVgsIC0tbGFiZWwgPG5vbWJyZT4gICAgICBlc3BlY2lmaWNhIGVsIHRpcG8gZGUgZXRpcXVldGEgKGRvcywgZ3B0LCAuLi4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIgLVksIC0tbGFiZWwtbmVzdGVkIDxub21icmU+IGVzcGVjaWZpY2EgZWwgdGlwbyBkZSBldGlxdWV0YSBhbmlkYWRhIChkb3MsIGJzZClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkwCittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiAtRyAgLS1zaG93LXB0LWdlb21ldHJ5ICAgIG9ic29sZXRhLCBhbGlhcyBkZSAtLXNob3ctZ2VvbWV0cnlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkxCittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBvYnNvbGV0YSwgc29sbyBwb3IgY29tcGF0aWJpbGlkYWQgaGFjaWEgYXRyw6FzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIG9ic29sZXRhLCBzb2xvIHNlIGFkbWl0ZSB1bmlkYWQgZW4gc2VjdG9yZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyBlc3TDoSBvYnNvbGV0YSBlbiBmYXZvciBkZSAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDE1Cittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCBlc3TDoSBvYnNvbGV0YSBlbiBmYXZvciBkZSAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIi0tc2hvdy1wdC1nZW9tZXRyeSB5YSBubyBlc3TDoSBpbXBsZW1lbnRhZGEuIFNlIHVzYSAtLXNob3ctZ2VvbWV0cnkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiTGEgb3BjacOzbiAtLUxpbnV4IGVzIGlubmVjZXNhcmlhIHkgb2Jzb2xldGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgInVuaWRhZCBubyBhZG1pdGlkYSAnJWMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgZGUgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSByZXF1aWVyZSAtTiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIFVVSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBidXNjYXIgZWwgVVVJRCBkZSBpbnRlcmNhbWJpbyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBlc2NyaWJpciBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGJ1c2NhciBsYSBldGlxdWV0YSBkZSBpbnRlcmNhbWJpbyAiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgImxhIGV0aXF1ZXRhIGVzIGRlbWFzaWFkbyBsYXJnYS4gU2UgdHJ1bmNhIGEgJyVzJyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGVzY3JpYmlyIGxhIGV0aXF1ZXRhIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNworbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICJNdWVzdHJhIG8gbW9kaWZpY2EgbGEgZXRpcXVldGEgbyBlbCBVVUlEIGRlIHVuYSB6b25hIGRlIGludGVyY2FtYmlvLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPGV0aXF1ZXRhPiBlc3BlY2lmaWNhIHVuYSBudWV2YSBldGlxdWV0YVxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgIGVzcGVjaWZpY2EgdW4gbnVldm8gdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE3MgorbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAiaWdub3JhIC1VIChsb3MgVVVJRHMgbm8gZnVuY2lvbmFuKSIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiRXNjcmliYSAnJXMgLS1oZWxwJyBwYXJhIG9idGVuZXIgbcOhcyBpbmZvcm1hY2nDs24uXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk1vZG8gZGUgZW1wbGVvOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lvbmVzOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjAKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRnVuY2lvbmVzOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLDk3JkZW5lczpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIyCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBvdXRwdXQgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVtbmFzIGRlIHNhbGlkYSBkaXNwb25pYmxlczpcbiIKKworIzogaW5jbHVkZS9jLmg6MzI1Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIm11ZXN0cmEgZXN0YSBheXVkYSIKKworIzogaW5jbHVkZS9jLmg6MzI2Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJtdWVzdHJhIGxhIHZlcnNpw7NuIgorCisjOiBpbmNsdWRlL2MuaDozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiUGFyYSBtw6FzIGRldGFsbGVzIHbDqWFzZSAlcy5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiZXJyb3IgZGUgZXNjcml0dXJhIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgImxvcyBjb2xvcmVzIGVzdMOhbiBhY3RpdmFkb3MgcG9yIG9taXNpw7NuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJsb3MgY29sb3JlcyBlc3TDoW4gZGVzYWN0aXZhZG9zIHBvciBvbWlzacOzbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDI2CisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMzAgdGVybS11dGlscy9hZ2V0dHkuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJlcnJvciBhbCBlc3RhYmxlY2VyIGxhIHZhcmlhYmxlIGRlIGVudG9ybm8gJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIiVzOiBhcmd1bWVudG9zIG11dHVhbWVudGUgZXhjbHV5ZW50ZXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiVmFjw61hIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJFeHRlbmRpZGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGFycmFuY2FibGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIkdlc3RvciBkZSBhcnJhbnF1ZSBkZSBPUy8yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IEV4dCdkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJGQVQxMiBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3RpY3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IG9jdWx0YSA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiRkFUMTYgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIkhQRlMvTlRGUyBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIlNtYXJ0U2xlZXAgZGUgQVNUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIkZBVDMyIGRlIFc5NSBvY3VsdGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiRkFUMzIgZGUgVzk1IChMQkEpIG9jdWx0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJGQVQxNiBkZSBXOTUgKExCQSkgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIkRPUyBkZSBORUMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIk5URlMgZGUgV2luUkUgb2N1bHRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCBzZWd1bmRhIHBhcnRlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IHRlcmNlcmEgcGFydGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgbyBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIk1pbml4IGFudGlndW8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gTGludXggYW50aWd1byIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggc3dhcCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICJPUy8yIG9jdWx0byBvIGhpYmVybmFjacOzbiBJbnRlbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggZXh0ZW5kaWRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiQ29uanVudG8gZGUgdm9sw7ptZW5lcyBOVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIkhpYmVybmFjacOzbiBkZSBJQk0gVGhpbmtwYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJVRlMgZGUgRGFyd2luIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJhcnJhbnF1ZSBkZSBEYXJ3aW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgaGlkZGVuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJBY3JvbmlzIEZBVDMyIExCQSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIyOQorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiYXJyYW5xdWUgZGUgU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJEYXRvcyBzaW4gU0YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiVXRpbGlkYWQgRGVsbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJhbGluZWFtaWVudG8gUnVmdXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgImluaWNpbyBMaW51eC9QQS1SSVNDIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2Vjb25kYXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTUZTIGRlIFZNd2FyZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNS0NPUkUgZGUgVk13YXJlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgImF0ZW5jacOzbjogJXMgbm8gZXN0w6EgYWxpbmVhZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJTZSBoYSBzZWxlY2Npb25hZG8gbGEgcGFydGljacOzbiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICLCoU5vIGhheSBuaW5ndW5hIHBhcnRpY2nDs24gZGVmaW5pZGEhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk1Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiwqFObyBoYXkgZGlzcG9uaWJsZSBuaW5ndW5hIHBhcnRpY2nDs24gbGlicmUhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NTA1Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiTsO6bWVybyBkZSBwYXJ0aWNpw7NuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJDcmVhIHVuYSBudWV2YSBwYXJ0aWNpw7NuICVkIGRlIHRpcG8gJyVzJyB5IGRlIHRhbWHDsW8gJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiAlemQ6IHRpZW5lIHVuIHNlY3RvciAwIGRlIGluaWNpbyBubyB2w6FsaWRvLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIk5vIGhheSBuaW5ndW5hIHBhcnRpY2nDs24gKkJTRCBlbiAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJQcmltZXIgY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIsOabHRpbW8gY2lsaW5kcm8sICtjaWxpbmRyb3MgbyArdGFtYcOxb3tLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIsOabHRpbW8gc2VjdG9yLCArc2VjdG9yZXMgbyArdGFtYcOxb3tLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gJXMgbm8gY29udGllbmUgbmluZ3VuYSBldGlxdWV0YSBkZSBkaXNjbyBCU0QuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIsK/RGVzZWEgY3JlYXIgdW5hIGV0aXF1ZXRhIGRlIGRpc2NvIEJTRD8gKHkvbikgIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiRGlzY28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTUKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiTm9tYnJlIGRlIHBhcXVldGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjIgbGliZmRpc2svc3JjL3N1bi5jOjExMjcKK21zZ2lkICJGbGFncyIKK21zZ3N0ciAiSW5kaWNhZG9yZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYmFkc2VjdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiQnl0ZXMvc2VjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgwCittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJQaXN0YXMvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODUKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJTZWN0b3Jlcy9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcm9zIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKK21zZ2lkICJScG0iCittc2dzdHIgIlIucC5tLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICJJbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA1Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJUcmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTAKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgIkN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIkhlYWRzd2l0Y2giCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJCw7pzcXVlZGEgcGlzdGEgYSBwaXN0YSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMAorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiYnl0ZXMvc2VjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEzCittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VjdG9yZXMvcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInBpc3Rhcy9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kcm9zIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VjdG9yZXMvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgInIucC5tLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImLDunNxdWVkYSBwaXN0YSBhIHBpc3RhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiRWwgZmljaGVybyBjb24gbGEgc2VjdWVuY2lhIGRlIGluaWNpbyAlcyBzZSBoYSBjYXJnYWRvIGNvcnJlY3RhbWVudGUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIlNlY3VlbmNpYSBkZSBpbmljaW86ICUxJHNib290IC0+IGJvb3QlMSRzIChwcmVkZWZpbmlkbyAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwMworbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIsKhTGEgc2VjdWVuY2lhIGRlIGluaWNpbyBzZSBzb2xhcGEgY29uIGxhIGV0aXF1ZXRhIGRlIGRpc2NvISIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiU2VjdWVuY2lhIGRlIGluaWNpbyBpbnN0YWxhZGEgZW4gJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICJFdGlxdWV0YSBkZSBkaXNjbyBlc2NyaXRhIGVuICVzLiAgIChObyBvbHZpZGUgZXNjcmliaXIgdGFtYmnDqW4gbGEgZXRpcXVldGEgZGUgZGlzY28gJXMuKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIlNlIGhhIGVzY3JpdG8gbGEgZXRpcXVldGEgZGUgZGlzY28gZW4gJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTExIGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6Njg4Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlNlIGVzdMOhbiBzaW5jcm9uaXphbmRvIGxvcyBkaXNjb3MuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkxhIGV0aXF1ZXRhIEJTRCBubyBlc3TDoSBhbmlkYWRhIGVuIHVuYSBwYXJ0aWNpw7NuIERPUy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gQlNEICclYycgZXN0w6EgbGlnYWRhIGEgbGEgcGFydGljacOzbiBET1MgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTYKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiUm9kYWphIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkZzaXplIgorbXNnc3RyICJUYW1hw7FvRiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiVGFtYcOxb0IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICJDcGciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogZXJyb3IgYWwgY2VycmFyIGVsIGRpc3Bvc2l0aXZvIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkxsYW1hbmRvIGEgaW9jdGwoKSBwYXJhIHZvbHZlciBhIGxlZXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJGYWxsbyBhbCBsZWVyIGRlIG51ZXZvIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIkVsIG7DumNsZW8gdG9kYXbDrWEgdXNhIGxhIHRhYmxhIGFudGlndWEuIExhIG51ZXZhIHRhYmxhIHNlIHVzYXLDoSBlbiBlbCBwcsOzeGltbyByZWluaWNpbyBvIGRlc3B1w6lzIGRlIHF1ZSB1c3RlZCBlamVjdXRlIHBhcnRwcm9iZSg4KSBvIGtwYXJ0eCg4KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAiRmFsbG8gYWwgZWxpbWluYXIgZGVsIHNpc3RlbWEgbGEgcGFydGljacOzbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkZhbGxvIGFsIGFjdHVhbGl6YXIgbGEgaW5mb3JtYWNpw7NuIGRlbCBzaXN0ZW1hIHNvYnJlIGxhIHBhcnRpY2nDs24gJXp1IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiAlenUgdG8gc3lzdGVtIgorbXNnc3RyICJGYWxsbyBhbCBhw7FhZGlyIGFsIHNpc3RlbWEgbGEgcGFydGljacOzbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290LiAiCittc2dzdHIgIkVsIG7DumNsZW8gdG9kYXbDrWEgdXNhIGxhcyBwYXJ0aWNpb25lcyBhbnRpZ3Vhcy4gTGEgbnVldmEgdGFibGEgc2UgdXNhcsOhIGVuIGVsIHByw7N4aW1vIHJlaW5pY2lvLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kcm8iCittc2dzdHJbMV0gImNpbGluZHJvcyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWN0b3IiCittc2dzdHJbMV0gInNlY3RvcmVzIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJDb25maWd1cmFjacOzbiBkZSBsYSBnZW9tZXRyw61hIGluY29tcGxldGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiWWEgc2UgaGFuIGRlZmluaWRvIHRvZGFzIGxhcyBwYXJ0aWNpb25lcyBwcmltYXJpYXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE2Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIk5vIGVzdMOhIGRpc3BvbmlibGUgbGEgcGFydGljacOzbiBwcmltYXJpYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGxlZXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgZXh0ZW5kaWRhcyAoZGVzcGxhemFtaWVudG89JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiU2UgcHVlZGUgZXN0YWJsZWNlciBsYSBnZW9tZXRyw61hIGRlc2RlIGVsIG1lbsO6IGRlIGZ1bmNpb25lcyBhZGljaW9uYWxlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJFbCBtb2RvIGRlIGNvbXBhdGliaWxpZGFkIGNvbiBET1MgZXN0w6Egb2Jzb2xldG8iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gcHJlc2VudGEgdW4gdGFtYcOxbyBkZSBzZWN0b3IgbMOzZ2ljbyBtZW5vciBxdWUgZWwgdGFtYcOxbyBkZSBzZWN0b3IgZsOtc2ljby4gU2UgcmVjb21pZW5kYSBhbGluZWFybG8gY29uIGVsIGzDrW1pdGUgZGVsIHRhbWHDsW8gZGVsIHNlY3RvciBmw61zaWNvIChvIEUvUyDDs3B0aW1hKSwgbyBlbCByZW5kaW1pZW50byBwdWVkZSB2ZXJzZSBhZmVjdGFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkxvcyBjaWxpbmRyb3MgY29tbyB1bmlkYWQgZGUgdmlzdWFsaXphY2nDs24gZXN0w6FuIG9ic29sZXRvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiRWwgdGFtYcOxbyBkZSBlc3RlIGRpc2NvIGVzICVzICglanUgYnl0ZXMpLiBFbCBmb3JtYXRvIGRlIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIERPUyBubyBzZSBwdWVkZSB1dGlsaXphciBjb24gY29udHJvbGFkb3JlcyBkZSB2b2zDum1lbmVzIG1heW9yZXMgcXVlICVsdSBieXRlcyBvYXJhIHNlY3RvcmVzIGRlICVsdSBieXRlcy4gVXRpbGljZSBlbCBmb3JtYXRvIGRlIHRhYmxhIGRlIHBhcnRpY2lvbmVzIEdVSUQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkRlc3BsYXphbWllbnRvIGluY29ycmVjdG8gZW4gcGFydGljaW9uZXMgZXh0ZW5kaWRhcyBwcmltYXJpYXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJTZSBvbWl0ZW4gbGFzIHBhcnRpY2lvbmVzIGRlc3B1w6lzIGRlIGxhIG7CuiAlenUuIFNlIGJvcnJhcsOhbiBzaSBndWFyZGEgZXN0YSB0YWJsYSBkZSBwYXJ0aWNpb25lcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJQdW50ZXJvIGRlIGVubGFjZSBhZGljaW9uYWwgZW4gdGFibGEgZGUgcGFydGljaW9uZXMgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJObyBzZSB0aWVuZW4gZW4gY3VlbnRhIGxvcyBkYXRvcyBhZGljaW9uYWxlcyBkZSBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAic2Ugb21pdGUgcGFydGljacOzbiB2YWPDrWEgKCV6dSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIlNlIGhhIGNyZWFkbyB1bmEgbnVldmEgZXRpcXVldGEgZGUgZGlzY28gRE9TIGNvbiBlbCBpZGVudGlmaWNhZG9yIGRlIGRpc2NvIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MjYKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiSW50cm9kdXpjYSBlbCBudWV2byBpZGVudGlmaWNhZG9yIGRlIGRpc2NvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiVmFsb3IgaW5jb3JyZWN0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiRWwgaWRlbnRpZmljYWRvciBkZWwgZGlzY28gaGEgY2FtYmlhZG8gZGUgMHglMDh4IGEgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJObyBzZSB0aWVuZSBlbiBjdWVudGEgbGEgcGFydGljacOzbiBleHRlbmRpZGEgYWRpY2lvbmFsICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiRWwgaW5kaWNhZG9yIDB4JTAyeCUwMnggbm8gdsOhbGlkbyBkZSBFQlIgKHBhcmEgbGEgcGFydGljacOzbiAlenUpIHNlIGNvcnJlZ2lyw6EgbWVkaWFudGUgdyhyaXRlKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJTZWN0b3IgaW5pY2lhbCAlanUgZnVlcmEgZGUgcmFuZ28uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7NuICV6dSB5YSBlc3TDoSBkZWZpbmlkYS4gU3VwcsOtbWFsYSBhbnRlcyBkZSB2b2x2ZXIgYSBhw7FhZGlybGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIkVsIHNlY3RvciAlbGx1IHlhIGVzdMOhIGFzaWduYWRvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODUgbGliZmRpc2svc3JjL2dwdC5jOjIzMzAKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiTm8gaGF5IGRpc3BvbmlibGUgbmluZ8O6biBzZWN0b3IgbGlicmUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJTZSBhw7FhZGUgbGEgcGFydGljacOzbiBsw7NnaWNhICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIlBhcnRpY2nDs24gJXp1OiBjb250aWVuZSBlbCBzZWN0b3IgMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGljacOzbiAlenU6IGxhIGNhYmV6YSAlZCBzdXBlcmEgZWwgbcOheGltbyAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpY2nDs24gJXp1OiBlbCBzZWN0b3IgJWQgc3VwZXJhIGVsIG3DoXhpbW8gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGljacOzbiAlenU6IGVsIGNpbGluZHJvICVkIHN1cGVyYSBlbCBtw6F4aW1vICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnRpY2nDs24gJXp1OiBsb3Mgc2VjdG9yZXMgcHJldmlvdXMgJXUgbm8gY29uY3VlcmRhbiBjb24gZWwgdG90YWwgJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnRpY2nDs24gJXp1OiB0aWVuZSBkaXN0aW50b3MgcHJpbmNpcGlvcyBmw61zaWNvcy9sw7NnaWNvcyAowr9ubyBMaW51eD8pOiBmw61zaWNvcz0oJWQsICVkLCAlZCksIGzDs2dpY29zPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aWNpw7NuICV6dTogdGllbmUgZGlzdGludG9zIGZpbmFsZXMgZsOtc2ljb3MvbMOzZ2ljb3M6IGbDrXNpY29zPSglZCwgJWQsICVkKSwgbMOzZ2ljb3M9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aWNpw7NuICV6dTogbm8gdGVybWluYSBlbiB1biBsw61taXRlIGRlIGNpbGluZHJvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJQYXJ0aWNpw7NuICV6dTogaW5pY2lvIGRlIGRhdG9zIGluY29ycmVjdG8gZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGljacOzbiAlenU6IHNlIHNvbGFwYSBjb24gbGEgcGFydGljacOzbiAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIlBhcnRpY2nDs24gJXp1OiB2YWPDrWEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGljacOzbiBsw7NnaWNhICV6dTogbm8gZXN0w6EgcG9yIGNvbXBsZXRvIGVuIGxhIHBhcnRpY2nDs24gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIkVsIHRvdGFsIGRlIHNlY3RvcmVzIGFzaWduYWRvcyAlbGx1IHN1cGVyYSBlbCBtw6F4aW1vICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiUXVlZGFuICVsbGQgc2VjdG9yZXMgbm8gYXNpZ25hZG9zIGRlICVsZCBieXRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAxIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDYzCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiBleHRlbmRpZGEgeWEgZXhpc3RlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzEKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3RzLiBGYWlsZWQgdG8gYWRkIGxvZ2ljYWwgcGFydGl0aW9uLiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiBleHRlbmRpZGEgbm8gZXhpc3RlLiBGYWxsbyBhbCBhw7FhZGlyIHBhcnRpY2nDs24gbMOzZ2ljYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIlNlIGhhIGNyZWFkbyBlbCBuw7ptZXJvIG3DoXhpbW8gZGUgcGFydGljaW9uZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIlNlIGVzdMOhbiB1c2FuZG8gdG9kYXMgbGFzIHBhcnRpY2lvbmVzIHByaW1hcmlhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgzIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk0Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiU2UgZXN0w6EgdXRpbGl6YW5kbyB0b2RvIGVsIGVzcGFjaW8gcGFyYSBwYXJ0aWNpb25lcyBwcmltYXJpYXMuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQYXJhIGNyZWFyIG3DoXMgcGFydGljaW9uZXMsIHByaW1lcm8gcmVlbXBsYWNlIHVuYSBwcmltYXJpYSBwb3IgdW5hIGV4dGVuZGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzAyCittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlNlIGVzdMOhbiB1c2FuZG8gdG9kYXMgbGFzIHBhcnRpY2lvbmVzIGzDs2dpY2FzLiBTZSBhw7FhZGUgdW5hIHBhcnRpY2nDs24gcHJpbWFyaWEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJUaXBvIGRlIHBhcnRpY2nDs24iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSBwcmltYXJpYShzKSwgJWQgZXh0ZW5kaWRhKHMpLCAlenUgbGlicmUocykiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzMzCittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAicHJpbWFyaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgImV4dGVuZGlkYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAiY29udGVuZWRvciBwYXJhIHBhcnRpY2lvbmVzIGzDs2dpY2FzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImzDs2dpY2EiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJsYSBudW1lcmFjacOzbiBlbXBpZXphIHBvciA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJUaXBvIGRlIHBhcnRpY2nDs24gbm8gdsOhbGlkbyBgJWMnLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJObyBzZSBwdWVkZSBlc2NyaWJpciBlbiBlbCBzZWN0b3IgJWpkOiBmYWxsbyBhbCBidXNjYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudGlmaWNhZG9yIGRlbCBkaXNjbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJFbiBtdWNob3Mgc2lzdGVtYXMgZWwgdGlwbyAwIHNpZ25pZmljYSBlc3BhY2lvIGxpYnJlLiBQcm9iYWJsZW1lbnRlIG5vIHNlYSBhY2VydGFkbyB0ZW5lciBwYXJ0aWNpb25lcyBkZSB0aXBvIDAuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA3MworbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICJObyBzZSBwdWVkZSBjYW1iaWFyIGVsIHRpcG8gZGUgbGEgcGFydGljacOzbiBleHRlbmRpZGEgcXVlIGVzdMOhIHNpZW5kbyB1dGlsaXphZGEgcG9yIHBhcnRpY2lvbmVzIGzDs2dpY2FzLiBQcmltZXJvIGJvcnJlIGxhcyBwYXJ0aWNpb25lcyBsw7NnaWNhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiTm8gaGF5IG5hZGEgcXVlIGhhY2VyLiBFbCBvcmRlbiB5YSBlcyBjb3JyZWN0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXp1OiBubyB0aWVuZSBuaW5ndW5hIMOhcmVhIGRlIGRhdG9zLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk51ZXZvIHByaW5jaXBpbyBkZSBkYXRvcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiTGEgcGFydGljacOzbiAlenU6IGVzIHVuYSBwYXJ0aWNpw7NuIGV4dGVuZGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJFbCBpbmRpY2Fkb3IgZGUgaW5pY2lhYmxlIGRlIGxhIHBhcnRpY2nDs24gJXp1IGFob3JhIGVzdMOhIGFjdGl2YWRvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJFbCBpbmRpY2Fkb3IgZGUgaW5pY2lhYmxlIGRlIGxhIHBhcnRpY2nDs24gJXp1IGFob3JhIGVzdMOhIGRlc2FjdGl2YWRvLiIKKworIyBOb3RhOiBzaSBzZSBwb25lIERpc3Bvc2l0aXZvIG5vIHF1ZWRhIGJpZW4gZWwgcmVzdG8gZGUgbGEgbMOtbmVhLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJEaXNwb3NpdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIkluaWNpbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIkluaWNpby1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIkZpbi1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXRyaWJ1dG9zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiU2lzdGVtYSBFRkkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiU2lzdGVtYSBkZSBwYXJ0aWNpb25lcyBNQlIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICLCq0ZsYXNowrsgcsOhcGlkYSBkZSBJbnRlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQXJyYW5xdWUgZGUgQklPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnRpY2nDs24gZGUgYXJyYW5xdWUgU29ueSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFydGljacOzbiBkZSBhcnJhbnF1ZSBMZW5vdm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzIKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUG93ZXJQQyBQUmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkFycmFucXVlIGRlIE9OSUUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiQ29uZmlndXJhY2nDs24gZGUgT05JRSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiUmVzZXJ2YWRvIHBhcmEgTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIkRhdG9zIGLDoXNpY29zIGRlIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIk1ldGFkYXRvcyBMRE0gZGUgTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICJEYXRvcyBMRE0gZGUgTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiRW50b3JubyBkZSByZWN1cGVyYWNpw7NuIGRlIFdpbmRvd3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiU2lzdGVtYSBkZSBmaWNoZXJvcyBnZW5lcmFsIHBhcmFsZWxvIGRlIElCTSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiRXNwYWNpb3MgZGUgYWxtYWNlbmFtaWVudG8gZGUgTWljcm9zb2Z0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg4Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiRGF0b3MgSFAtVVgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJTZXJ2aWNpbyBIUC1VWCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MworbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIlNpc3RlbWEgZGUgZmljaGVyb3MgZGUgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU2Vydmlkb3IgZGUgZGF0b3MgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJSYcOteiBkZSBMaW51eCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIlJhw616IGRlIExpbnV4IChBUk0pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiUmHDrXogZGUgTGludXggKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJSYcOteiBkZSBMaW51eCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIlJhw616IGRlIExpbnV4XHQoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlJlc2VydmFkbyBwYXJhIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiSW5pY2lvIGRlIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJBcnJhbnF1ZSBkZSBMaW51eCBleHRlbmRpZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkRhdG9zIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkFycmFucXVlIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIlN3YXAgZGUgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJVRlMgZGUgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJaRlMgZGUgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIlZpbnVtIGRlIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiSEZTL0hGUysgZGUgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIlVGUyBkZSBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIlJBSUQgZGUgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIlJBSUQgZGUgQXBwbGUgb2ZmbGluZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFycmFucXVlIGRlIEFwcGxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkV0aXF1ZXRhIGRlIEFwcGxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIlJlY3VwZXJhY2nDs24gZGUgQXBwbGUgVFYiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIkFsbWFjZW5hbWllbnRvIENvcmUgZGUgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlJhw616IGRlIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIi91c3IgZGUgU29sYXJpcyB5IFpGUyBkZSBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU3dhcCBkZSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlJlc3BhbGRvIGRlIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIi92YXIgZGUgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIi9ob21lIGRlIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNlY3RvciBhbHRlcm5hdGl2byBkZSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJSZXNlcnZhZG8gcGFyYSBTb2xhcmlzIDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlJlc2VydmFkbyBwYXJhIFNvbGFyaXMgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiUmVzZXJ2YWRvciBwYXJhIFNvbGFyaXMgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiUmVzZXJ2YWRvIHBhcmEgU29sYXJpcyA0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJSZXNlcnZhZG8gcGFyYSBTb2xhcmlzIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiU3dhcCBkZSBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJGRlMgZGUgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTEZTIGRlIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCBjb25jYXRlbmFkbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIk5ldEJTRCBjaWZyYWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIlJBSUQgZGUgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJOw7pjbGVvIGRlIENocm9tZU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiU2lzdGVtYSByYcOteiBkZSBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJSZXNlcnZhZG8gcGFyYSBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIkRhdG9zIGRlIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiQXJyYW5xdWUgZGUgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJTd2FwIGRlIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJVRlMgZGUgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIlpGUyBkZSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJWaW51bSBkZSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiSm91cm5hbCBkZSBDZXBoIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiSm91cm5hbCBjaWZyYWRvIGRlIENlcGgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiT1NEIGRlIENlcGgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiT1NEIGNpZnJhZG8gZGUgQ2VwaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiRGlzY28gZGUgQ2VwaCBjcmXDoW5kb3NlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJEaXNjbyBjaWZyYWRvIGRlIENlcGggY3Jlw6FuZG9zZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJEaWFnbsOzc3RpY29zIGRlIFZNd2FyZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiU0FOIHZpcnR1YWwgZGUgVk13YXJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiQWxtYWNlbmFtaWVudG8gdmlydHVhbCBkZSBWTXdhcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIlJlc2VydmFkbyBwYXJhIFZNd2FyZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRGF0b3MgT3BlbkJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIlNpc3RlbWEgZGUgZmljaGVyb3MgZGUgUU5YNiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnRpY2nDs24gZGVsIHBsYW4gOSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJmYWxsbyBhbCBhc2lnbmFyIGxhIGNhYmVjZXJhIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkxhIHByaW1lcmEgTEJBIGVzcGVjaWZpY2FkYSBlbiBlbCBzY3JpcHQgZXN0w6EgZnVlcmEgZGUgcmFuZ28uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJMYSDDumx0aW1hIExCQSBlc3BlY2lmaWNhZGEgZW4gZWwgc2NyaXB0IGVzdMOhIGZ1ZXJhIGRlIHJhbmdvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIkxhIGRpc2NvcmRhbmNpYSBkZSB0YW1hw7FvcyBkZWwgcmVnaXN0cm8gZGUgYXJyYW5xdWUgbWFlc3RybyBwcmltYXJpbyAoR1BUIFBNQlIpICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSBzZSBjb3JyZWdpcsOhIG1lZGlhbnRlIGVzY3JpdHVyYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MTcKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDogc3RhdCgpIGZhbGzDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICJncHQ6IG5vIHNlIHB1ZWRlbiBtYW5lamFyIGZpY2hlcm9zIGNvbiBtb2RvICVvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIkNhYmVjZXJhIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiRW50cmFkYXMgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiUHJpbWVyYSBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjMzCittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIsOabHRpbWEgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiTEJBIGFsdGVybmF0aXZhIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJMQkEgZGUgbGFzIHBhcnRpY2lvbmVzIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNTAKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIlBhcnRpY2lvbmVzIGFzaWduYWRhcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJMYSB0YWJsYSBHUFQgZGUgcmVzcGFsZG8gZXN0w6EgZGHDsWFkYSwgcGVybyBsYSBwcmltZXJhIHBhcmVjZSBxdWUgZXN0w6EgYmllbiwgYXPDrSBxdWUgZXNhIHNlcsOhIGxhIHF1ZSBzZSB1dGlsaWNlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJMYSB0YWJsYSBHUFQgcHJpbWFyaWEgZXN0w6EgZGHDsWFkYSwgcGVybyBsYSBkZSByZXNwYWxkbyBwYXJlY2UgcXVlIGVzdMOhIGJpZW4sIGFzw60gcXVlIGVzYSBzZXLDoSBsYSBxdWUgc2UgdXRpbGljZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiTGEgdGFibGEgR1BUIGRlIHJlc3BhbGRvIG5vIGVzdMOhIGFsIGZpbmFsIGRlbCBkaXNwb3NpdGl2by4gRXN0ZSBwcm9ibGVtYSBzZXIgY29ycmVnaXLDoSBhbCBlc2NyaWJpci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgImF0cmlidXRvIGRlIGJpdCBHUFQgbm8gc29wb3J0YWRvOiAnJXMnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgY2FkZW5hIGRlbCBhdHJpYnV0byBHUFQgJyVzJyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiRWwgVVVJRCBkZSBsYSBwYXJ0aWNpw7NuIGhhIGNhbWJpYWRvIGRlICVzIGEgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNAorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2xhdGUgcGFydGl0aW9uIG5hbWUsIG5hbWUgbm90IGNoYW5nZWQuIgorbXNnc3RyICJmYWxsbyBhbCB0cmFkdWNpciBlbCBub21icmUgZGUgbGEgcGFydGljacOzbjsgbm8gc2UgY2FtYmlhIGVsIG5vbWJyZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIkVsIG5vbWJyZSBkZSBsYSBwYXJ0aWNpw7NuIGhhIGNhbWJpYWRvIGRlICclcycgYSAnJS4qcycuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0NQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJFbCBjb21pZW56byBkZSBsYSBwYXJ0aWNpw7NuIG5vIGxsZWdhIGFsIMKrRmlyc3RVc2FibGVMQkHCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRWwgZmluYWwgZGUgbGEgcGFydGljacOzbiB2YSBtw6FzIGFsbMOhIGRlIMKrTGFzdFVzYWJsZUxCQcK7LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gY29udGllbmUgdW4gTUJSIGjDrWJyaWRvIC0tIHNvbGFtZW50ZSBzZSBlc2NyaWJlIGVuIEdQVC4gVGVuZHLDoSBxdWUgc2luY3Jvbml6YXIgZWwgTUJSIG1hbnVhbG1lbnRlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiRWwgZGlzY28gbm8gY29udGllbmUgdW5hIGNhYmVjZXJhIGRlIHJlc3BhbGRvIHbDoWxpZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiTGEgc3VtYSBkZSB2ZXJpZmljYWNpw7NuIENSQyBkZSBsYSBjYWJlY2VyYSBwcmltYXJpYSBubyBlcyB2w6FsaWRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJMYSBzdW1hIGRlIHZlcmlmaWNhY2nDs24gQ1JDIGRlIGxhIGNhYmVjZXJhIGRlIHJlc3BhbGRvIG5vIGVzIHbDoWxpZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJMYSBzdW1hIGRlIHZlcmlmaWNhY2nDs24gZGUgbGEgZW50cmFkYSBkZSBsYSBwYXJ0aWNpw7NuIG5vIGVzIHbDoWxpZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIkNvbXByb2JhY2lvbmVzIGRlIGludGVncmlkYWQgTEJBIGRlIGxhIGNhYmVjZXJhIHByaW1hcmlhIG5vIHbDoWxpZGFzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIkNvbXByb2JhY2lvbmVzIGRlIGludGVncmlkYWQgTEJBIGRlbCBjYWJlemFsIGRlIHJlc3BhbGRvIG5vIHbDoWxpZGFzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk15TEJBIG5vIGNvcnJlc3BvbmRlIGNvbiBsYSBwb3NpY2nDs24gcmVhbCBlbiBlbCBjYWJlemFsIHByaW1hcmlvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgbm8gY29ycmVzcG9uZGUgY29uIGxhIHBvc2ljacOzbiByZWFsIGVuIGVsIGNhYmV6YWwgZGUgcmVzcGFsZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIkVsIGRpc2NvIGVzIGRlbWFzaWFkbyBwZXF1ZcOxbyBwYXJhIGFsYmVyZ2FyIHRvZG9zIGxvcyBkYXRvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIkxhcyBjYWJlY2VyYXMgcHJpbWFyaWEgeSBkZSByZXNwYWxkbyBubyBjb2luY2lkZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7NuICV1IHNlIHNvbGFwYSBjb24gbGEgcGFydGljacOzbiAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXUgZXMgZGVtYXNpYWRvIGdyYW5kZSBwYXJhIGVsIGRpc2NvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXUgdGVybWluYSBhbnRlcyBkZSBzdSBjb21pZW56by4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiTm8gc2UgaGEgZGV0ZWN0YWRvIG5pbmfDum4gZXJyb3IuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIkNhYmVjZXJhIHZlcnNpw7NuICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiU2UgdXRpbGl6YW4gJXp1IGRlIHVuIHRvdGFsIGRlICV6dSBwYXJ0aWNpb25lcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIlVuIHRvdGFsIGRlICVqdSBzZWN0b3JlcyBsaWJyZXMgZXN0w6EgZGlzcG9uaWJsZSBlbiAldSBzZWdtZW50byIKK21zZ3N0clsxXSAiVW4gdG90YWwgZGUgJWp1IHNlY3RvcmVzIGxpYnJlcyBlc3TDoSBkaXNwb25pYmxlIGVuICV1IHNlZ21lbnRvcyAoZWwgbWF5b3IgZXMgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIlZCBlcnJvciBkZXRlY3RhZG8uIgorbXNnc3RyWzFdICIlZCBlcnJvcmVzIGRldGVjdGFkb3MuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIllhIHNlIGVzdMOhbiB1c2FuZG8gdG9kYXMgbGFzIHBhcnRpY2lvbmVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJFbCBzZWN0b3IgJWp1IHlhIGVzdMOhIGFzaWduYWRvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJObyBzZSBwdWRvIGNyZWFyIGxhIHBhcnRpY2nDs24gJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiRWwgw7psdGltbyBzZWN0b3IgR1BUIHV0aWxpemFibGUgZXMgJWp1LCBwZXJvIHNlIGhhIHNvbGljaXRhZG8gJWp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJFbCBwcmltZXIgc2VjdG9yIEdQVCB1dGlsaXphYmxlIGVzICVqdSwgcGVybyBzZSBoYSBzb2xpY2l0YWRvICVqdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiU2UgaGEgY3JlYWRvIHVuYSBudWV2YSBldGlxdWV0YSBkZSBkaXNjbyBHUFQgKEdVSUQ6ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJJbnRyb2R1Y3pjYSBlbCBudWV2byBVVUlEIGRlbCBkaXNjbyAoZW4gZm9ybWF0byA4LTQtNC00LTEyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiRXJyb3IgYWwgYW5hbGl6YXIgc3UgVVVJRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJFbCBpZGVudGlmaWNhZG9yIGRlbCBkaXNjbyBoYSBjYW1iaWFkbyBkZSAlcyBhICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiwqFObyBoYXkgZXNwYWNpbyBzdWZpY2llbnRlIHBhcmEgdW5hIHRhYmxhIGRlIHBhcnRpY2lvbmVzIG51ZXZhISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGljacOzbiAjJXp1IGZ1ZXJhIGRlIHJhbmdvIChlbCBjb21pZW56byBtw61uaW1vIGVzICU8UFJJdTY0PiBzZWN0b3JlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJQYXJ0aWNpw7NuICMlenUgZnVlcmEgZGUgcmFuZ28gKGVsIGZpbmFsIG3DoXhpbW8gZXMgJTxQUkl1NjQ+IHNlY3RvcmVzKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiRWwgbsO6bWVybyBkZSBsYSBwYXJ0aWNpw7NuIGhhIGRlIHNlciBtZW5vciBxdWUgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiwqFObyBzZSBwdWVkZSBhc2lnbmFyIG1lbW9yaWEhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiTGEgbG9uZ2l0dWQgZGUgbGEgdGFibGUgZGUgcGFydGljaW9uZXMgaGEgY2FtYmlhZG8gZGUgJTxQUkl1MzI+IGEgJTxQUkl1NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiTG9zIGF0cmlidXRvcyBkZSBsYSBwYXJ0aWNpw7NuICV6dSBzZSBjYW1iaWFuIGEgMHglMDE2PFBSSXg2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJJbnRyb2R1emNhIGVsIGJpdCBlc3BlY8OtZmljbyBkZSBHVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjYW1iaWFyIGVsIGJpdCBubyBzb3BvcnRhZG8gJWx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkVsIGJpdCBlc3BlY8OtZmljbyBkZSBHVUlEICVkIGRlIGxhIHBhcnRpY2nDs24gJXp1IGVzdMOhIGFob3JhIGFjdGl2YWRvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRWwgYml0IGVzcGVjw61maWNvIGRlIEdVSUQgJWQgZGUgbGEgcGFydGljacOzbiAlenUgZXN0w6EgYWhvcmEgZGVzYWN0aXZhZG8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRWwgaW5kaWNhZG9yICVzIGRlIGxhIHBhcnRpY2nDs24gJXp1IGFob3JhIGVzdMOhIGFjdGl2YWRvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJFbCBpbmRpY2Fkb3IgJXMgZGUgbGEgcGFydGljacOzbiAlenUgYWhvcmEgZXN0w6EgZGVzYWN0aXZhZG8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVGlwby1VVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMyNAorbXNnaWQgIk5hbWUiCittc2dzdHIgIk5vbWJyZSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0OAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIkVzcGFjaW8gbGlicmUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gY2FtYmlhciBlbCB0YW1hw7FvIGRlIGxhIHBhcnRpY2nDs24gbsK6ICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgImRlc2Nvbm9jaWRvIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0kgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICJJbmZvcm1hY2nDs24gU0dJIGNyZWFkYSBlbiBlbCBzZWd1bmRvIHNlY3Rvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTgKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJTZSBoYSBkZXRlY3RhZG8gdW5hIGV0aXF1ZXRhIGRlIGRpc2NvIFNHSSBjb24gc3VtYSBkZSBjb21wcm9iYWNpw7NuIGluY29ycmVjdGEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZHJvcyBmw61zaWNvcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJTZWN0b3JlcyBhZGljaW9uYWxlcyBwb3IgY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTYKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiRmljaGVybyBkZSBhcnJhbnF1ZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLCoUZpY2hlcm8gZGUgaW5pY2lvIG5vIHbDoWxpZG8hICBFbCBmaWNoZXJvIGRlIGluaWNpbyBkZWJlIHNlciB1biBub21icmUgZGUgcnV0YSBhYnNvbHV0byBkaXN0aW50byBkZSBjZXJvLCBjb21vIHBvciBlamVtcGxvIFwiL3VuaXhcIiBvIFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICJOb21icmUgZGVsIGZpY2hlcm8gZGUgaW5pY2lvIGRlbWFzaWFkbyBsYXJnbzogJXp1IGJ5dGUgY29tbyBtw6F4aW1vLiIKK21zZ3N0clsxXSAiTm9tYnJlIGRlbCBmaWNoZXJvIGRlIGluaWNpbyBkZW1hc2lhZG8gbGFyZ286ICV6dSBieXRlcyBjb21vIG3DoXhpbW8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA3Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiRWwgZmljaGVybyBkZSBpbmljaW8gZGViZSB0ZW5lciB1biBub21icmUgZGUgcnV0YSB0b3RhbG1lbnRlIGNhbGlmaWNhZG8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIlRlbmdhIGVuIGN1ZW50YSBxdWUgbm8gc2UgY29tcHJ1ZWJhIGxhIGV4aXN0ZW5jaWEgZGVsIGZpY2hlcm8gZGUgaW5pY2lvLiAgRWwgdmFsb3IgcHJlZGV0ZXJtaW5hZG8gZGUgU0dJIGVzIFwiL3VuaXhcIiB5IHBhcmEgbGEgY29waWEgZGUgc2VndXJpZGFkIFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICJFbCBmaWNoZXJvIGRlIGluaWNpbyBhY3R1YWwgZXM6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIkVzY3JpYmEgZWwgbm9tYnJlIGRlbCBudWV2byBmaWNoZXJvIGRlIGluaWNpbyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJObyBzZSBoYSBtb2RpZmljYWRvIGVsIGZpY2hlcm8gZGUgaW5pY2lvLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIkVsIGZpY2hlcm8gZGUgaW5pY2lvIHNlIGhhIGNhbWJpYWRvIHBvciBcIiVzXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk1Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiRXhpc3RlIG3DoXMgZGUgdW5hIGVudHJhZGEgZGUgZGlzY28gY29tcGxldG8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJObyBoYXkgbmluZ3VuYSBwYXJ0aWNpw7NuIGRlZmluaWRhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIlBhcmEgSVJJWCBzZSByZWNvbWllbmRhIHF1ZSBsYSBwYXJ0aWNpw7NuIDExIGFiYXJxdWUgZWwgZGlzY28gY29tcGxldG8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gZGUgZGlzY28gY29tcGxldG8gZGViZSBlbXBlemFyIGVuIGVsIGJsb3F1ZSAwLCBubyBlbiBlbCBibG9xdWUgJWQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI3Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJMYSBwYXJ0aWNpw7NuIDExIGRlYmUgYWJhcmNhciBlbCBkaXNjbyBjb21wbGV0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJMYXMgcGFydGljaW9uZXMgJWQgeSAlZCBzZSBzb2xhcGFuIGVuICVkIHNlY3Rvci4iCittc2dzdHJbMV0gIkxhcyBwYXJ0aWNpb25lcyAlZCB5ICVkIHNlIHNvbGFwYW4gZW4gJWQgc2VjdG9yZXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiRXNwYWNpbyBubyB1dGlsaXphZG8gZGUgJTh1IHNlY3RvciAtIHNlY3RvciAlOHUiCittc2dzdHJbMV0gIkVzcGFjaW8gbm8gdXRpbGl6YWRvIGRlICU4dSBzZWN0b3JlcyAtIHNlY3RvcmVzICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gZGUgaW5pY2lvIG5vIGV4aXN0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDEKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJMYSBwYXJ0aWNpw7NuIGRlIGludGVyY2FtYmlvIG5vIGV4aXN0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gZGUgaW50ZXJjYW1iaW8gbm8gdGllbmUgdW4gdGlwbyBkZSBpbnRlcmNhbWJpby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiSGEgZWxlZ2lkbyB1biBub21icmUgZGUgZmljaGVybyBkZSBpbmljaW8gcG9jbyBoYWJpdHVhbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlNvbGFwYW1pZW50byBkZSBwYXJ0aWNpb25lcyBlbiBlbCBkaXNjby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJTZSBlc3TDoSBpbnRlbnRhbmRvIGdlbmVyYXIgdW5hIGVudHJhZGEgZGUgZGlzY28gY29tcGxldG8gYXV0b23DoXRpY2FtZW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDgKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIllhIGV4aXN0ZW4gcGFydGljaW9uZXMgcXVlIGFiYXJjYW4gZWwgZGlzY28gY29tcGxldG8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJTZSBoYSBwcm9kdWNpZG8gdW4gc29sYXBhbWllbnRvIGRlIHBhcnRpY2lvbmVzIGVuIGVsIGRpc2NvLiBDb3Jyw61qYWxvIGFudGVzIGRlIGNvbnRpbnVhci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiUHJpbWVyICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiU2UgcmVjb21pZW5kYSBxdWUgbGEgcGFydGljacOzbiB1bmTDqWNpbWEgYWJhcnF1ZSBlbCBkaXNjbyBjb21wbGV0byB5IHNlYSBkZWwgdGlwbyBgU0dJIHZvbHVtZScuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltbyAlcyBvICslcyBvICt0YW1hw7Fve0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIkVsIGlvY3RsIGRlIEJMS0dFVFNJWkUgZmFsbMOzIGVuICVzLiBTZSB1c2Fyw6EgdW4gdmFsb3IgcGFyYSBsYSBnZW9tZXRyw61hIGRlbCBjaWxpbmRybyBkZSAlbGx1LiBFc3RlIHZhbG9yIHBvZHLDrWEgc2VyIHRydW5jYWRvIHBhcmEgZGlzcG9zaXRpdm9zID4gMzMuOCBHQi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiU2UgaGEgY3JlYWRvIHVuYSBudWV2YSBldGlxdWV0YSBkZSBkaXNjbyBTR0kuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiTGFtZW50YWJsZW1lbnRlIHNvbG8gc2UgcHVlZGUgY2FtYmlhciBsYSBldGlxdWV0YSBlbiBwYXJ0aWNpb25lcyBubyB2YWPDrWFzLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICJTZSByZWNvbWllbmRhIGRlamFyIGxhIHBhcnRpY2nDs24gOSBjb21vIGNhYmVjZXJhIGRlIHZvbHVtZW4gKDApIHkgbGEgcGFydGljacOzbiAxMSBjb21vIHZvbHVtZW4gY29tcGxldG8gKDYpIHlhIHF1ZSBJUklYIGFzw60gbG8gZXNwZXJhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIlNlIHJlY29taWVuZGEgcXVlIGxhIHBhcnRpY2nDs24gZW4gZWwgZGVzcGxhemFtaWVudG8gMCBzZWEgZGVsIHRpcG8gXCJTR0kgdm9saGRyXCI7IGVsIHNpc3RlbWEgSVJJWCBsYSB1dGlsaXphcsOhIHBhcmEgcmVjdXBlcmFyIGRlIHN1IGRpcmVjdG9yaW8gaGVycmFtaWVudGFzIGF1dMOzbm9tYXMgY29tbyBzYXNoIHkgZnguIFPDs2xvIGxhIHNlY2Npw7NuIGRlIGRpc2NvIGNvbXBsZXRvIFwiU0dJIHZvbHVtZVwiIHB1ZWRlIGluZnJpbmdpciBlc3RhIHJlZ2xhLiDCv0VzdMOhIHNlZ3VybyBkZSBxdWVyZXIgZGFyIHVuYSBldGlxdWV0YSBkaXN0aW50YSBhIGVzdGEgcGFydGljacOzbj8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzozOQorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIlNpbiBhc2lnbmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiRGlzY28gY29tcGxldG8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTZWN0b3JlcyBhbHQgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgImNhY2hlZnMgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJyZXNlcnZhZG8gU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzAKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICJTZSBoYSBkZXRlY3RhZG8gdW5hIGV0aXF1ZXRhIGRlIGRpc2NvIHN1biBjb24gc3VtYSBkZSBjb21wcm9iYWNpw7NuIGluY29ycmVjdGEuIFByb2JhYmxlbWVudGUgdGVuZHLDoSBxdWUgZXN0YWJsZWNlciB0b2RvcyBsb3MgdmFsb3JlcywgY29tbyBjYWJlemFzLCBzZWN0b3JlcywgY2lsaW5kcm9zIHkgcGFydGljaW9uZXMgbyBmb3J6YXIgdW5hIG51ZXZhIGV0aXF1ZXRhIChvcmRlbiBzIGVuIG1lbsO6IHByaW5jaXBhbCkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIlNlIGhhIGRldGVjdGFkbyB1bmEgZXRpcXVldGEgZGUgZGlzY28gc3VuIGNvbiB1bmEgdmVyc2nDs24gaW5jb3JyZWN0YVslZF0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiU2UgaGEgZGV0ZWN0YWRvIHVuYSBldGlxdWV0YSBkZSBkaXNjbyBzdW4gY29uIHVuYSB2dG9jLnNhbml0eSBpbmNvcnJlY3RhIFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIlNlIGhhIGRldGVjdGFkbyB1bmEgZXRpcXVldGEgZGUgZGlzY28gc3VuIGNvbiB1bmEgdnRvYy5ucGFydHMgaW5jb3JyZWN0YSBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJBdGVuY2nDs246IExvcyB2YWxvcmVzIGluY29ycmVjdG9zIGRlYmVuIHJlbWVuZGFyc2UgeSBzZSBjb3JyZWdpcsOhbiBtZWRpYW50ZSB3KHJpdGUpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTg3Cittc2dpZCAiSGVhZHMiCittc2dzdHIgIkNhYmV6YXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWN0b3Jlcy9waXN0YSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5MworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIlNlIGhhIGNyZWFkbyB1bmEgbnVldmEgZXRpcXVldGEgZGUgZGlzY28gU3VuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXUgbm8gdGVybWluYSBlbiB1biBsw61taXRlIGRlIGNpbGluZHJvLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkxhIHBhcnRpY2nDs24gJXUgc2Ugc29sYXBhIGNvbiBvdHJhcyBlbiBsb3Mgc2VjdG9yZXMgJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJFc3BhY2lvIG5vIHV0aWxpemFkbyAtIHNlY3RvcmVzIDAtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY2IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJFc3BhY2lvIG5vIHV0aWxpemFkbyAtIHNlY3RvcmVzICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiWWEgaGF5IG90cmFzIHBhcnRpY2lvbmVzIHF1ZSBhYmFyY2FuIGVsIGRpc2NvIGNvbXBsZXRvLiBTdXByaW1hIGFsZ3VuYXMgbyByZWR1emNhIHN1IHRhbWHDsW8gYW50ZXMgZGUgdm9sdmVyIGEgaW50ZW50YXJsby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIlNlIHJlY29taWVuZGEgZW5jYXJlY2lkYW1lbnRlIHF1ZSBsYSB0ZXJjZXJhIHBhcnRpY2nDs24gYWJhcnF1ZSBlbCBkaXNjbyBjb21wbGV0byB5IHNlYSBkZWwgdGlwbyBgV2hvbGUgZGlzayciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiU2UgcHJvY2VkZSBhIGFsaW5lYXIgZWwgcHJpbWVyIHNlY3RvciBkZXNkZSAldSBoYXN0YSAldSBwYXJhIGVzdGFyIGVuIGVsIGzDrW1pdGUgZGUgdW4gY2lsaW5kcm8uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiRWwgc2VjdG9yICVkIHlhIGVzdMOhIGFzaWduYWRvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiTm8gaGEgYWJhcmNhZG8gZWwgZGlzY28gY29tcGxldG8gY29uIGxhIHRlcmNlcmEgcGFydGljacOzbiwgcGVyb1xuIgorImVsIHZhbG9yICVsdSAlcyBxdWUgaGEgZXNwZWNpZmljYWRvIHNlIHNvbGFwYSBjb24gb3RyYSBwYXJ0aWNpw7NuLlxuIgorIkxhIGVudHJhZGEgcXVlIGhhIHJlYWxpemFkbyBzZSBoYSBjYW1iaWFkbyBwb3IgJWx1ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICJTaSBkZXNlYSBtYW50ZW5lciBsYSBjb21wYXRpYmlsaWRhZCBjb24gU3VuT1MvU29sYXJpcywgc2UgcmVjb21pZW5kYSBkZWphciBlc3RhIHBhcnRpY2nDs24gY29tbyBkaXNjbyBjb21wbGV0byAoNSksIGNvbiBwcmluY2lwaW8gZW4gMCwgY29uICV1IHNlY3RvcmVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIklEIGRlIGxhIGV0aXF1ZXRhIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJJRCBkZWwgdm9sdW1lbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc3OAorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZHJvcyBhbHRlcm5hdGl2b3MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiTsO6bWVybyBkZSBjaWxpbmRyb3MgYWx0ZXJuYXRpdm9zIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTA5Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIlNlY3RvcmVzIGFkaWNpb25hbGVzIHBvciBjaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkzMworbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJGYWN0b3IgZGUgaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJWZWxvY2lkYWQgZGUgcm90YWNpw7NuIChyLnAubS4pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTgxCittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiTsO6bWVybyBkZSBjaWxpbmRyb3MgZsOtc2ljb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ2Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiU2UgcmVjb21pZW5kYSBkZWphciBsYSBwYXJ0aWNpw7NuIDMgY29tbyBkaXNjbyBjb21wbGV0byAoNSksXG4iCisieWEgcXVlIGFzw60gbG8gcHJldsOpIFN1bk9TL1NvbGFyaXMgZSBpbmNsdXNvIGVzIGFkZWN1YWRvIHBhcmEgTGludXguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiU2UgcmVjb21pZW5kYSBxdWUgbGEgcGFydGljacOzbiBlbiBlbCBkZXNwbGF6YW1pZW50byAwXG4iCisic2VhIFVGUywgRVhUMkZTIG8gU3VuT1Mgc3dhcC4gVXRpbGl6YXIgTGludXggc3dhcFxuIgorInB1ZWRlIGRlc3RydWlyIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHkgZWwgYmxvcXVlIGRlIGluaWNpby5cbiIKKyLCv0VzdMOhIHNlZ3VybyBkZSBxdWUgZGVzZWEgcXVlIGxhIHBhcnRpY2nDs24gZXN0w6kgbWFyY2FkYSBjb21vIExpbnV4IHN3YXA/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImxhIG9wZXJhY2nDs24gZmFsbMOzOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiQVRFTkNJw5NOOiBsb3MgaW5kaWNhZG9yZXMgZGUgcHJvcGFnYWNpw7NuIG5vIHNlIGhhbiBwb2RpZG8gYXBsaWNhciIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICJBVEVOQ0nDk046IGVsIGRpc3Bvc2l0aXZvIGVzdMOhIHByb3RlZ2lkbyBjb250cmEgZXNjcml0dXJhOyBzZSBtb250YSBjb21vIHPDs2xvIGxlY3R1cmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gcGVybWl0dGVkIGZvciByb290IG9ubHkiCittc2dzdHIgIm9wZXJhY2nDs24gYXV0b3JpemFkYSBzb2xvIGEgcm9vdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgeWEgZXN0w6EgbW9udGFkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVuY29udHJhciBlbiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVuY29udHJhciBlbCBwdW50byBkZSBtb250YWplIGVuICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVuY29udHJhciBsYSBmdWVudGUgZGUgbW9udGFqZSAlcyBlbiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICJzZSBoYW4gZGV0ZWN0YWRvIG3DoXMgc2lzdGVtYXMgZGUgZmljaGVyb3MgZW4gJXM7IHV0aWxpY2UgLXQgPHRpcG8+IG8gd2lwZWZzKDgpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImVycm9yIGFsIGRldGVybWluYXIgZWwgdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIGVsIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVuY29udHJhciAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyBvcmlnZW4gZGUgbW9udGFqZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGFzIG9wY2lvbmVzIGRlIG1vbnRhamU6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxhcyBvcGNpb25lcyBkZSBtb250YWplIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiZXJyb3IgYWwgY29uZmlndXJhciBkaXNwb3NpdGl2byBkZSBidWNsZSBwYXJhICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAieWEgZXhpc3RlIHVuIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIHF1ZSBzb2xhcGEgY29uICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgYmxvcXVlYXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICJlbCBtb250YWplIGhhIGZhbGxhZG86ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJzZSBoYSBtb250YWRvICBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zLCBwZXJvIG5vIHNlIGhhIHBvZGlkbyBhY3R1YWxpemFyIGxhIHRhYmxhIGRlIG1vbnRhamUgZGVsIGVzcGFjaW8gZGUgdXN1YXJpbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAic2UgbW9udMOzIGVsIHNpc3RlbWEgZGUgZmljaGVyb3MsIHBlcm8gdG9kYSBvcGVyYWNpw7NuIHN1YnNpZ3VpZW50ZSBmYWxsw7M6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZWwgcHVudG8gZGUgbW9udGFqZSBubyBlcyB1biBkaXJlY3RvcmlvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJwZXJtaXNvIGRlbmVnYWRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJkZWJlIHNlciBzdXBlcnVzdWFyaW8gcGFyYSB1dGlsaXphciBtb3VudCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgInB1bnRvIGRlIG1vbnRhamUgb2N1cGFkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMgeWEgZXN0w6EgbW9udGFkbyBlbiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICIlcyB5YSBlc3TDoSBtb250YWRvIG8gZWwgcHVudG8gZGUgbW9udGFqZSBlc3TDoSBvY3VwYWRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImVsIHB1bnRvIGRlIG1vbnRhamUgbm8gZXhpc3RlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgImVsIHB1bnRvIGRlIG1vbnRhamUgZXMgdW4gZW5sYWNlIHNpbWLDs2xpY28gc2luIGRlc3Rpbm8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZWwgZGlzcG9zaXRpdm8gZXNwZWNpYWwgJXMgbm8gZXhpc3RlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgImxhIGxsYW1hZGEgYWwgc2lzdGVtYSBtb3VudCgyKSBoYSBmYWxsYWRvOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgImVsIGRpc3Bvc2l0aXZvIGVzcGVjaWFsICVzIG5vIGV4aXN0ZSAodW4gcHJlZmlqbyBkZSBydXRhIG5vIGVzIHVuIGRpcmVjdG9yaW8pIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiZWwgcHVudG8gZGUgbW9udGFqZSBubyBzZSBoYSBtb250YWRvIG8gdW5hIG9wY2nDs24gZXMgaW5jb3JyZWN0YSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJubyBlcyBwdW50byBkZSBtb250YWplIG8gbGEgb3BjacOzbiBlcyBpbmNvcnJlY3RhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIm9wY2nDs24gaW5jb3JyZWN0YTsgbm8gc2UgYWRtaXRlIG1vdmVyIHVuIG1vbnRhamUgYmFqbyB1biBtb250YWplIGNvbXBhcnRpZG8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICJvcGNpw7NuIGluY29ycmVjdGE7IHBhcmEgdmFyaW9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zICh2LmcuIG5mcywgY2lmcykgcG9kcsOtYSBzZXIgbmVjZXNhcmlvIHVuIHByb2dyYW1hIGF1eGlsaWFyIC9zYmluL21vdW50Ljx0aXBvPiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAidGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zIGluY29ycmVjdG8sIG9wY2nDs24gaW5jb3JyZWN0YSwgc3VwZXJibG9xdWUgaW5jb3JyZWN0byBlbiAlcywgZmFsdGEgbGEgcMOhZ2luYSBkZSBjw7NkaWdvcyBvIGVsIHByb2dyYW1hIGF1eGlsaWFyLCBvIGFsZ8O6biBvdHJvIGVycm9yIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAidGFibGEgZGUgZGlzcG9zaXRpdm9zIG1vbnRhZG9zIGNvbXBsZXRhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBsZWVyIGVsIHN1cGVyYmxvcXVlIGVuICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAidGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zICclcycgZGVzY29ub2NpZG8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAidGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zIGRlc2Nvbm9jaWRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIG5vIGVzIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMgeSDCv3N0YXQgZmFsbGE/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICJlbCBuw7pjbGVvIG5vIHJlY29ub2NlICVzIGNvbW8gZGlzcG9zaXRpdm8gZGUgYmxvcXVlczsgdGFsIHZleiBoYWdhIGZhbHRhIFwibW9kcHJvYmUgZHJpdmVyXCIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlczsgIHBydWViZSBcIi1vIGxvb3BcIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlcyB2w6FsaWRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgbW9udGFyICVzIHBhcmEgc29sbyBsZWN0dXJhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICIlcyBlc3TDoSBwcm90ZWdpZG8gY29udHJhIGVzY3JpdHVyYSBwZXJvIHNlIGhhIHNvbGljaXRhZG8gbW9kbyBkZSBsZWN0dXJhIHkgZXNjcml0dXJhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJubyBzZSBwdWVkZSB2b2x2ZXIgYSBtb250YXIgJXMgcGFyYSBsZWN0dXJhIHkgZXNjcml0dXJhOyBlc3TDoSBwcm90ZWdpZG8gY29udHJhIGVzY3JpdHVyYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmQgJXMgZmFpbGVkIgorbXNnc3RyICJlbCB2w61uY3VsbyAlcyBmYWxsw7MiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm5vIHNlIGhhIGVuY29udHJhZG8gbmluZ8O6biBtZWRpbyBlbiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudDsgcHJvYmFibHkgY29ycnVwdGVkIGZpbGVzeXN0ZW0gb24gJXMiCittc2dzdHIgIm5vIHNlIHBvZGlkbyBtb250YXI7IHByb2JhYmxlbWVudGUgZXN0w6kgY29ycnVwdG8gZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBlbiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudGVkIgorbXNnc3RyICJubyBtb250YWRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICJ1bW91bnQgaGEgZmFsbGFkbzogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgInNlIGhhIGRlc21vbnRhZG8gZWwgc2lzdGVtYSBkZSBmaWNoZXJvcywgcGVybyBubyBzZSBoYSBwb2RpZG8gYWN0dWFsaXphciBsYSB0YWJsYSBkZSBtb250YWplIGRlbCBlc3BhY2lvIGRlIHVzdWFyaW8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgInNlIGhhIGRlc21vbnRhZG8gZWwgc2lzdGVtYSBkZSBmaWNoZXJvcywgcGVybyBjdWFscXVpZXIgb3BlcmFjacOzbiBwb3N0ZXJpb3IgaGEgZmFsbGFkbzogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMgbm8gdsOhbGlkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJubyBzZSBwdWVkZSBlc2NyaWJpciBlbCBzdXBlcmJsb3F1ZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAiZWwgZGVzdGlubyBlc3TDoSBvY3VwYWRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIHB1bnRvIGRlIG1vbnRhamUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiZGViZSBzZXIgc3VwZXJ1c3VhcmlvIHBhcmEgZGVzbW9udGFyIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAibm8gc2UgcGVybWl0ZW4gZGlzcG9zaXRpdm9zIGRlIGJsb3F1ZSBlbiBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICJsYSBsbGFtYWRhIGFsIHNpc3RlbWEgdW1vdW50KDIpIGhhIGZhbGxhZG86ICVtIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCBoYSBmYWxsYWRvICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgImZhbGxvIGRlIGNhbGxvY2F0ZSBzb2JyZSBlbCBjb25qdW50byBkZSBDUFVzIgorCisjOiBsaWIvcGF0aC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxhIGxpc3RhIGRlIENQVXMgJXMiCisKKyM6IGxpYi9wYXRoLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgbcOhc2NhcmEgZGUgQ1BVcyAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBlbCDCq3NvY2tldMK7IGRlIFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzkKK21zZ2lkICJjYW5ub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGNvbmZpZ3VyYXIgbGEgb3BjacOzbiBwYXJhIMKrc29ja2V0wrsgZGUgVU5JWCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MAorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJubyBzZSBwdWVkZSBjb25lY3RhciBhbCDCq3NvY2tldMK7IGRlIFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAibGEgcGV0aWNpw7NuIMKrcGx5bW91dGjCuyAlYyBubyBlc3TDoSBpbXBsZW1lbnRhZGEiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxODYKK21zZ2lkICJnZXRyYW5kb20oKSBmdW5jdGlvbiIKK21zZ3N0ciAiZnVuY2nDs24gZ2V0cmFuZG9tKCkiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICJmdW5jaW9uZXMgcHNldWRvYWxlYXRvcmlhcyBkZSBsaWJjIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBzb25kZWFyIGVsIGRpc3Bvc2l0aXZvIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiVzOiByZXN1bHRhZG8gZGVsIHNvbmRlbyBhbWJpZ3VvOyB1dGlsaWNlIHdpcGVmcyg4KSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBubyBlcyB1bmEgcGFydGljacOzbiBkZSBpbnRlcmNhbWJpbyB2w6FsaWRhIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IHZlcnNpw7NuIGRlIGludGVyY2FtYmlvIGRlc2Nvbm9jaWRhICclcyciCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NTkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgImZvcm1hdF9pc29fdGltZTogZGVzYm9yZGFtaWVudG8gZGUgwqtidWZmZXLCuy4iCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NzcgbGliL3RpbWV1dGlscy5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lICVsZCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJlbCB0aWVtcG8gJWxkIGVzdMOhIGZ1ZXJhIGRlIHJhbmdvLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbPG5vbWJyZXVzdWFyaW8+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkNhbWJpYSBsYSBpbmZvcm1hY2nDs24gZGUgZmluZ2VyLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPG5vbWJyZS1jb21wbGV0bz4gIG5vbWJyZSByZWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPG9maWNpbmE+ICAgICAgIG7Dum1lcm8gZGUgb2ZpY2luYVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDx0ZWzDqWZvbm8+ICAgbsO6bWVybyBkZSB0ZWzDqWZvbm8gZGUgbGEgb2ZpY2luYVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA1Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1oLCAtLWhvbWUtcGhvbmUgPHRlbMOpZm9ubz4gIG7Dum1lcm8gZGUgdGVsw6lmb25vIGRlIGNhc2FcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiQ2FtcG8gJXMgZGVtYXNpYWRvIGxhcmdvLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczogdGllbmUgY2FyYWN0ZXJlcyBubyB2w6FsaWRvcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgcHJvaGliZSBjb25maWd1cmFyICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiT2ZpY2luYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIlRlbMOpZm9ubyBkZSBsYSBvZmljaW5hIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzYgbG9naW4tdXRpbHMvY2hmbi5jOjMzMAorbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIlRlbMOpZm9ubyBkZSBjYXNhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAibm8gc2UgcHVlZGVuIG1hbmVqYXIgbm9tYnJlcyBkZSB1c3VhcmlvIG3Dumx0aXBsZXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyNDgKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiSW50ZXJydW1waWRhLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIHRpZW5lIHVuIHZhbG9yIGluZXNwZXJhZG86ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBubyBwZXJtaXRlIG5pbmfDum4gY2FtYmlvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICIqTk8qIHNlIGhhIGNhbWJpYWRvIGxhIGluZm9ybWFjacOzbiBkZSBmaW5nZXIuIEludMOpbnRlbG8gZGUgbnVldm8gbcOhcyBhZGVsYW50ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2UgaGEgY2FtYmlhZG8gbGEgaW5mb3JtYWNpw7NuIGRlIGZpbmdlci5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICJ1c3RlZCAoZWwgdXN1YXJpbyAlZCkgbm8gZXhpc3RlLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMSBsb2dpbi11dGlscy9jaHNoLmM6Mjc4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgImVsIHVzdWFyaW8gXCIlc1wiIG5vIGV4aXN0ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICJzw7NsbyBzZSBwdWVkZW4gbW9kaWZpY2FyIGVudHJhZGFzIGxvY2FsZXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMgbm8gZXN0w6EgYXV0b3JpemFkbyBhIGNhbWJpYXIgbGEgaW5mb3JtYWNpw7NuIGRlIGZpbmdlciBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIkNvbnRleHRvIGRlIHVzdWFyaW8gZGVzY29ub2NpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTggbG9naW4tdXRpbHMvY2hzaC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBjb250ZXh0byBwcmVkZXRlcm1pbmFkbyBwYXJhICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDY5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiZWwgVUlEIGVuIGVqZWN1Y2nDs24gbm8gY29pbmNpZGUgY29uIGVsIFVJRCBkZWwgdXN1YXJpbyBxdWUgc2UgZXN0w6EgYWx0ZXJhbmRvOyBjYW1iaW8gZGVuZWdhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiQ2FtYmlhbmRvIGluZm9ybWFjacOzbiBkZSBmaW5nZXIgcGFyYSAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIk5vIHNlIGhhIGNhbWJpYWRvIGxhIGluZm9ybWFjacOzbiBkZSBmaW5nZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJDYW1iaWEgZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZGUgaW5pY2lvIGRlIHNlc2nDs24uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBlc3BlY2lmaWNhIGVsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIGRlIGxvZ2luXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MQorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgaW1wcmltZSBsYSBsaXN0YSBkZSBzaGVsbHMgeSBzYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgImVsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIGRlYmUgc2VyIHVuIG5vbWJyZSBkZSBydXRhIGNvbXBsZXRvLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIlwiJXNcIiBubyBleGlzdGUiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICJcIiVzXCIgbm8gZXMgZWplY3V0YWJsZSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkF0ZW5jacOzbjogXCIlc1wiIG5vIGZpZ3VyYSBlbiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIlwiJXNcIiBubyBmaWd1cmEgZW4gJXMuXG4iCisiVXRpbGljZSAlcyAtbCBwYXJhIHZlciBsYSBsaXN0YS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgbm8gZXN0w6EgYXV0b3JpemFkbyBhIGNhbWJpYXIgZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJlbCBVSUQgZW4gZWplY3VjacOzbiBubyBjb2luY2lkZSBjb24gZWwgVUlEIGRlbCB1c3VhcmlvIHF1ZSBzZSBlc3TDoSBhbHRlcmFuZG87IGNhbWJpbyBkZSBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBkZW5lZ2FkbyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgbm8gZXN0w6EgZW4gJXM7IGNhbWJpbyBkZSBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBkZW5lZ2FkbyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIkNhbWJpYW5kbyBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBwYXJhICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOdWV2byBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiTm8gc2UgaGEgY2FtYmlhZG8gZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIipOTyogc2UgaGEgY2FtYmlhZG8gZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMuIEludMOpbnRlbG8gZGUgbnVldm8gbcOhcyBhZGVsYW50ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSBoYSBmYWxsYWRvXG4iCisiKk5PKiBzZSBoYSBjYW1iaWFkbyBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcy4gSW50w6ludGVsbyBkZSBudWV2byBtw6FzIGFkZWxhbnRlLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJTZSBoYSBjYW1iaWFkbyBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcy5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIk1vZG8gZGUgZW1wbGVvOiAlcyA8ZmljaGVyb2NvbnRyYXNlw7FhPiA8bm9tYnJldXN1YXJpbz4uLi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJmb3JtYXRvIGRlIHRpZW1wbyBkZXNjb25vY2lkbzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiaW50ZXJydW1waWRvICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM1IGxvZ2luLXV0aWxzL2xhc3QuYzo0NDYgbG9naW4tdXRpbHMvbGFzdC5jOjg5MgorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAidGFtYcOxbyBkZSBwcmVycmVzZXJ2YSBleGNlZGlkbyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW5vZXNdIFs8bm9tYnJldXN1YXJpbz4uLi5dIFs8dHR5Pi4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICJNdWVzdHJhIHVuYSBsaXN0YSBkZSBsb3Mgw7psdGltb3MgdXN1YXJpb3MgcXVlIGhhbiB0ZW5pZG8gc2VzacOzbi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPG7Dum1lcm8+ICAgICAgICAgICAgY3XDoW50YXMgbMOtbmVhcyBtb3N0cmFyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBtdWVzdHJhIGxvcyBub21icmVzIGRlIG3DoXF1aW5hIGVuIGxhIMO6bHRpbWEgY29sdW1uYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFkdWNlIGVsIG7Dum1lcm8gSVAgZW4gdW4gbm9tYnJlIGRlIG3DoXF1aW5hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmljaGVybz4gdXRpbGl6YSB1biBmaWNoZXJvIGVzcGVjw61maWNvIGVuIGx1Z2FyIGRlICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgaW1wcmltZSBsYXMgaG9yYXMgeSBmZWNoYXMgYWJzb2x1dGFzIGRlIGluaWNpbyB5IGZpbiBkZSBzZXNpw7NuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlwICAgICAgICAgICAgIG11ZXN0cmEgbG9zIG7Dum1lcm9zIElQIGVuIG5vdGFjacOzbiBkZWNpbWFsIHB1bnRlYWRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLW4sIC0tbGltaXQgPG7Dum1lcm8+IGN1w6FudGFzIGzDrW5lYXMgbW9zdHJhclxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBubyBtb3N0cmFyIGVsIGNhbXBvIGRlIG5vbWJyZSBkZSBtw6FxdWluYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXMsIC0tc2luY2UgPGhvcmE+ICAgbXVlc3RyYSBsYXMgbMOtbmVhcyBxdWUgaGF5IGRlc2RlIGxhIGhvcmEgZXNwZWNpZmljYWRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8dGltZT4gIG11ZXN0cmEgbGFzIGzDrW5lYXMgcXVlIGhheSBoYXN0YSBsYSBob3JhIGVzcGVjaWZpY2FkYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IG11ZXN0cmEgcXVpw6luZXMgZXN0YWJhbiBwcmVzZW50ZXMgYSBsYSBob3JhIGVzcGVjaWZpY2FkYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIG11ZXN0cmEgbG9zIG5vbWJyZXMgZGUgdXN1YXJpbyB5IGRlIGRvbWluaW8gY29tcGxldG9zXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIC14LCAtLXN5c3RlbSAgICAgICAgIG11ZXN0cmEgbGFzIGVudHJhZGFzIGRlIHBhcmFkYXMgZGVsIHNpc3RlbWEgeSBsb3MgY2FtYmlvcyBkZSBuaXZlbCBkZSBlamVjdWNpw7NuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTIKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdG8+IG11ZXN0cmEgZWwgc2VsbG8gZGUgdGllbXBvIGVuIGVsIDxmb3JtYXRvPiBlc3BlY2lmaWNhZG86XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVzIGVtcGllemEgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbsO6bWVybyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk5MyBsb2dpbi11dGlscy9sYXN0LmM6OTk4IGxvZ2luLXV0aWxzL2xhc3QuYzoxMDAzCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJWYWxvciBkZSBob3JhIG5vIHbDoWxpZG86IFwiJXNcIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiTm8gc2UgaGFuIHBvZGlkbyByZXRpcmFyIGxvcyBwcml2aWxlZ2lvcyBkZSBncnVwbyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIkxhIGluaWNpYWxpemFjacOzbiBkZSBsaWJ1c2VyIGhhIGZhbGxhZG86ICVzLiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gY2FtYmlhciBlbCBhdHJpYnV0byBkZSB1c3VhcmlvIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJhdHJpYnV0byBkZSB1c3VhcmlvIG5vIG1vZGlmaWNhZG86ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIkVSUk9SIEZBVEFMOiBubyBzZSBwdWVkZSByZWFicmlyIGxhIHRlcm1pbmFsOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJFUlJPUiBGQVRBTDogJXMgbm8gZXMgdW5hIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXMsICVsdSwgJWx1KSBoYSBmYWxsYWRvOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2htb2QgKCVzLCAldSkgaGEgZmFsbGFkbzogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzgwCittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIkVSUk9SIEZBVEFMOiBUZXJtaW5hbCBlcnLDs25lYSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiRVJST1IgRkFUQUw6ICVzOiBubyBzZSBoYW4gcG9kaWRvIGNhbWJpYXIgbG9zIHBlcm1pc29zOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIsOabHRpbW8gaW5pY2lvIGRlIHNlc2nDs246ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAiZGVzZGUgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgImVuICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NDcKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gZGUgZXNjcml0dXJhIGRlIGxhc3Rsb2ciCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiQ29uZXhpw7NuIHRlbGVmw7NuaWNhIGVuICVzIHBvciAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJJbmljaW8gZGUgc2VzacOzbiBjb24gcm9vdCBlbiAlcyBkZXNkZSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiSW5pY2lvIGRlIHNlc2nDs24gY29uIHJvb3QgZW4gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIkluaWNpbyBkZSBzZXNpw7NuIGVuICVzIHBvciAlcyBkZXNkZSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIkluaWNpbyBkZSBzZXNpw7NuIGVuICVzIHBvciAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICJJbmljaW8gZGUgc2VzacOzbjogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJlcnJvciBkZSBQQU07IHNlIGludGVycnVtcGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBpbmljaWFsaXphciBQQU06ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJFcnJvciBkZSBpbmljaW8gZGUgc2VzacOzbiAldSBkZXNkZSAlcyBwYXJhICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiSW5pY2lvIGRlIHNlc2nDs24gaW5jb3JyZWN0b1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiRGVtYXNpYWRvcyBpbnRlbnRvcyBkZSBpbmljaW8gZGUgc2VzacOzbiAoJXUpIGRlc2RlICVzIHBhcmEgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkVycm9yIGRlIHNlc2nDs24gZGUgaW5pY2lvIGRlIHNlc2nDs24gZGVzZGUgJXMgcGFyYSAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkluaWNpbyBkZSBzZXNpw7NuIGluY29ycmVjdG9cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2JsZW1hIGFsIGluaWNpYXIgbGEgc2VzacOzbiwgYWJvcnRhZG8uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJub21icmUgZGUgdXN1YXJpbyBOVUxPIGVuICVzOiVkLiBBYm9ydGFkby4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJGYWxsbyBlbiBUSU9DU0NUVFk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIlcyBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPG5vbWJyZXVzdWFyaW8+XVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDAKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiSW5pY2lhIHVuYSBzZXNpw7NuIGVuIGVsIHNpc3RlbWEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAtcCAgICAgICAgICAgICBubyBkZXN0cnV5ZSBlbCBlbnRvcm5vIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICAgIHNhbHRhIHVuYSBzZWd1bmRhIGF1dGVudGljYWNpw7NuIGRlIHVzdWFyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNQorbXNnaWQgIiAtaCA8aG9zdD4gICAgICBob3N0bmFtZSB0byBiZSB1c2VkIGZvciB1dG1wIGxvZ2dpbmciCittc2dzdHIgIiAtaCA8aG9zdD4gICAgICBub21icmUgZGUgbcOhYXF1aW5hIHBhcmEgZWwgbG9nIGRlIHV0bXAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNgorbXNnaWQgIiAtSCAgICAgICAgICAgICBzdXBwcmVzcyBob3N0bmFtZSBpbiB0aGUgbG9naW4gcHJvbXB0IgorbXNnc3RyICIgLUggICAgICAgICAgICAgc3VwcmltZSBlbCBub21icmUgZGUgaG9zdCBlbiBlbCBpbmRpY2Fkb3IgZGUgaW5pY2lvIGRlIHNlc2nDs24iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIiVzOiBzdXBlcmFkbyBlbCB0aWVtcG8gZGUgZXNwZXJhIHRyYXMgJXUgc2VndW5kb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCBlcyBzb2xvIHBhcmEgc3VwZXJ1c3VhcmlvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTm9tYnJlIGRlIHVzdWFyaW8gbm8gdsOhbGlkbyBcIiVzXCIgZW4gJXM6JWQuIEFib3J0YWRvLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJoYSBmYWxsYWRvIGxhIGluaWNpYWxpemFjacOzbiBkZSBsb3MgZ3J1cG9zOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjg4Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIlRpZW5lIGNvcnJlbyBudWV2by5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIlRpZW5lIGNvcnJlby5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gY2FtYmlhciBkZSBkaXJlY3RvcmlvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJJbmljaWFuZG8gbGEgc2VzacOzbiBjb24gZGlyZWN0b3JpbyBkZSBpbmljaW8gPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlamVjdXRhciBlbCBzY3JpcHQgZGUgaW50w6lycHJldGUgZGUgw7NyZGVuZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3OAorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJubyBoYXkgbmluZ8O6biBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyBjb250aWVuZSB1biBWYWxvciBudW3DqXJpY28gbm8gdsOhbGlkbzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM4MworbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgImVzdGFkbyBkZSBpbmljaW8gZGUgc2VzacOzbiBzaWxlbmNpb3NvOiBmYWxsbyBhbCByZXN0YXVyYXIgbG9zIElEcyBvcmlnaW5hbGVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2IHN5cy11dGlscy9sc2NwdS5jOjE0NDYKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgIm5vIgorbXNnc3RyICJubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlbCB1c3VhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJOb21icmUgZGVsIHVzdWFyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIklEIGRlbCB1c3VhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAibm8gaGFjZSBmYWx0YSBjb250cmFzZcOxYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIk5vIGhhY2UgZmFsdGEgY29udHJhc2XDsWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgImluaWNpbyBkZSBzZXNpw7NuIHBvciBjb250cmFzZcOxYSBkZXNhY3RpdmFkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiSW5pY2lvIGRlIHNlc2nDs24gcG9yIGNvbnRyYXNlw7FhIGRlc2FjdGl2YWRvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgImNvbnRyYXNlw7FhIGRlZmluaWRhLCBwZXJvIGVzdMOhIGJsb3F1ZWFkYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIkxhIGNvbnRyYXNlw7FhIGVzdMOhIGJsb3F1ZWFkYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiaW5pY2lvIGRlIHNlc2nDs24gZGVzYWN0aXZhZG8gcG9yIG5vbG9naW4oOCkgbyBwYW1fbm9sb2dpbig4KSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiTm8gc2UgaW5pY2lhIHNlc2nDs24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICJub21icmUgZGUgZ3J1cG8gcHJpbWFyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiR3J1cG8gcHJpbWFyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiSUQgZGVsIGdydXBvIHByaW1hcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIm5vbWJyZXMgZGUgZ3J1cG8gc3VwbGVtZW50YXJpb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIkdydXBvcyBzdXBsZW1lbnRhcmlvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSURzIGRlIGdydXBvcyBzdXBsZW1lbnRhcmlvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSURzIGRlIGdydXBvcyBzdXBsZW1lbnRhcmlvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiZGlyZWN0b3JpbyBob21lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJEaXJlY3RvcmlvIGhvbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgImludMOpcnByZXRlIGRlIMOzcmRlbmVzIGRlIGluaWNpbyBkZSBzZXNpw7NuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJJbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlIHVzdWFyaW8gY29tcGxldG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkNhbXBvIGdlY29zIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZmVjaGEgZGVsIMO6bHRpbW8gaW5pY2lvIGRlIHNlc2nDs24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiw5psdGltbyBpbmljaW8gZGUgc2VzacOzbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICLDumx0aW1vIHRlcm1pbmFsIHV0aWxpemFkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICLDmmx0aW1vIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICJub21icmUgZGUgbcOhcXVpbmEgZHVyYW50ZSBsYSDDumx0aW1hIHNlc2nDs24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiw5psdGltbyBub21icmUgZGUgbcOhcXVpbmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiZmVjaGEgZGVsIMO6bHRpbW8gaW5pY2lvIGRlIHNlc2nDs24gZmFsbGlkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkluaWNpbyBkZSBzZXNpw7NuIGZhbGxpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiwr9kw7NuZGUgaGEgZmFsbGFkbyBlbCBpbmljaW8gZGUgc2VzacOzbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIlRlcm1pbmFsIGRlbCBpbmljaW8gZGUgc2VzacOzbiBmYWxsaWRvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJjb25maWd1cmFjacOzbiBkZSBzaWxlbmNpbyBkZWwgdXN1YXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIlNpbGVuY2lvc28iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJkw61hcyBxdWUgZWwgdXN1YXJpbyBlcyBhZHZlcnRpZG8gZGUgbGEgY2FkdWNpZGFkIGRlIGxhIGNvbnRyYXNlw7FhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiaW50ZXJ2YWxvIGRlIGF2aXNvIGRlIGNhZHVjaWRhZCBkZSBsYSBjb250cmFzZcOxYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgImZlY2hhIGRlIGNhZHVjaWRhZCBkZSBsYSBjb250cmFzZcOxYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJDYWR1Y2lkYWQgZGUgY29udHJhc2XDsWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiZmVjaGEgZGVsIMO6bHRpbW8gY2FtYmlvIGRlIGNvbnRyYXNlw7FhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIlNlIGhhIGNhbWJpYWRvIGxhIGNvbnRyYXNlw7FhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAibsO6bWVybyBkZSBkw61hcyByZXF1ZXJpZG9zIGVudHJlIGNhbWJpb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiRmVjaGEgbcOhcyB0ZW1wcmFuYSBwYXJhIGNhbWJpYXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIm3DoXhpbW8gbsO6bWVybyBkZSBkw61hcyBxdWUgdW5hIGNvbnRyYXNlw7FhIHB1ZWRlIHBlcm1hbmVjZXIgc2luIG1vZGlmaWNhcnNlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIkZlY2hhIGRlIG1vZGlmaWNhY2nDs24gbcOhcyB0YXJkw61hIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiY29udGV4dG8gZGUgc2VndXJpZGFkIGRlbCB1c3VhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiQ29udGV4dG8gU0VMaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAibsO6bWVybyBkZSBwcm9jZXNvcyBlamVjdXRhZG9zIHBvciBlbCB1c3VhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICJQcm9jZXNvcyBlbiBlamVjdWNpw7NuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICJzZSBoYW4gZXNwZWNpZmljYWRvIGRlbWFzaWFkYXMgY29sdW1uYXM7IGVsIGzDrW1pdGUgZXMgJXp1IGNvbHVtbmFzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgInRpcG8gZGUgaG9yYSBubyBhZG1pdGlkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiZmFsbG8gYWwgY29tcG9uZXIgbGEgY2FkZW5hIGRlIGxhIGhvcmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBvYnRlbmVyIGdydXBvcyBzdXBsZW1lbnRhcmlvcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJlcnJvciBpbnRlcm5vOiBjb2x1bW5hIGRlc2Nvbm9jaWRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIsOabHRpbWFzIGNvbmV4aW9uZXM6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyNiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5NSBtaXNjLXV0aWxzL21jb29raWUuYzo4MyBtaXNjLXV0aWxzL3V1aWRkLmM6NjIKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI2IHN5cy11dGlscy9kbWVzZy5jOjI2NiBzeXMtdXRpbHMvaXBjbWsuYzo2NworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMCBzeXMtdXRpbHMvbHNpcGMuYzoyNzggc3lzLXV0aWxzL2xzbWVtLmM6NDk2CisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzkKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc11cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI5Cittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJNdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBsb3MgdXN1YXJpb3MgY29ub2NpZG9zIGVuIGVsIHNpc3RlbWEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMgorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgbXVlc3RyYSBpbmZvcm1hY2nDs24gc29icmUgbGEgY2FkdWNpZGFkIGRlIGxhcyBjb250cmFzZcOxYXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMzCittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMgIC0tY29sdW4tc2VwYXJhdGUgICAgIG11ZXN0cmEgbG9zIGRhdG9zIGVuIHVuIGZvcm1hdG8gc2ltaWxhciBhIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIG11ZXN0cmEgZW4gdW4gZm9ybWF0byBkZSBzYWxpZGEgZXhwb3J0YWJsZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgIC1mLCAtLWZhaWxlZCAgICAgICAgICAgIG11ZXN0cmEgaW5mb3JtYWNpw7NuIHNvYnJlIGxvcyDDumx0aW1vcyBpbmljaW9zIGRlIHNlc2nDs24gZmFsbGlkb3MgZGUgbG9zIHVzdWFyaW9zXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBtdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBsb3MgZ3J1cG9zXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTxncnVwb3M+ICAgIG11ZXN0cmEgbG9zIHVzdWFyaW9zIHF1ZSBwZXJ0ZW5lY2VuIGEgdW5vIGRlIGxvcyBncnVwb3MgZW4gPGdydXBvcz5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAgLUwsIC0tbGFzdCAgICAgICAgICAgICAgbXVlc3RyYSBpbmZvcm1hY2nDs24gc29icmUgbGFzIMO6bHRpbWFzIHNlc2lvbmVzIGRlIGxvcyB1c3Vhcmlvc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgbXVlc3RyYSDDum5pY2FtZW50ZSBsb3MgdXN1YXJpb3MgcXVlIGVzdMOpbiBlbiA8bG9naW5zPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIG11ZXN0cmEgY2FkYSBibG9xdWUgZGUgaW5mb3JtYWNpw7NuIGVuIHVuYSBsw61uZWEgZGlzdGludGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBubyBpbXByaW1lIGxhcyBjYWJlY2VyYXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgbm8gdHJ1bmNhIGxhIHNhbGlkYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXRbPTxsaXN0YT5dICAgZGVmaW5lIGxhcyBjb2x1bW5hcyBkZSBsYSBzYWxpZGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgbXVlc3RyYSBpbmZvcm1hY2nDs24gcmVsYWNpb25hZGEgY29uIGluaWNpbyBkZSBzZXNpw7NuLCBwb3IgY29udHJhc2XDsWFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIG11ZXN0cmEgZW4gbW9kbyBicnV0b1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgbXVlc3RyYSBsYXMgY3VlbnRhcyBkZWwgc2lzdGVtYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0PTx0aXBvPiBtdWVzdHJhIGxhcyBmZWNoYXMgZW4gZm9ybWF0byBicmV2ZSwgY29tcGxldG8gbyBpc29cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBtdWVzdHJhIGxhcyBjdWVudGFzIGRlIGxvcyB1c3Vhcmlvc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIG11ZXN0cmFzIGxvcyBjb250ZXh0b3MgU0VMaW51eFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdGEgbGFzIGVudHJhZGFzIGRlIGxvcyB1c3VhcmlvcyBtZWRpYW50ZSB1biBjYXLDoWN0ZXIgbnVsb1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDxydXRhPiAgIGVzdGFibGVjZSB1bmEgcnV0YSBhbHRlcm5hdGl2YSBwYXJhIHd0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA8cnV0YT4gICBlc3RhYmxlY2UgdW5hIHJ1dGEgYWx0ZXJuYXRpdmEgcGFyYSBidG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQzNAorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjb25zdWx0YXIgZWwgZXN0YWRvIGRlIFNFTGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJTb2xvIHNlIHB1ZWRlIGVzcGVjaWZpY2FyIHVuIHVzdWFyaW8uIFV0aWxpY2UgLWwgcGFyYSBtw7psdGlwbGVzIHVzdWFyaW9zLiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIm5vIHNlIGhhbiBwb2RpZG8gY29uZmlndXJhciBsb3MgYXRyaWJ1dG9zIGRlbCB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJnZXRsaW5lKCkgaGEgZmFsbGFkbyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiQ29udHJhc2XDsWE6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTYwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5OTUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IGhhIGZhbGxhZG8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPGdydXBvPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIkluaWNpYSBzZXNpw7NuIGNvbiB1biBncnVwbyBkaXN0aW50by5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjEzCittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICLCv3F1acOpbiBlcyB1c3RlZD8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNyBsb2dpbi11dGlscy9uZXdncnAuYzoyMjkgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzQKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQgaGEgZmFsbGFkbyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIm5vIGhheSB0YWwgZ3J1cG8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiUmVjaGF6YSBjb3J0w6lzbWVudGUgdW4gaW5pY2lvIGRlIHNlc2nDs24uXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIkFjdHVhbG1lbnRlIGVzdGEgY3VlbnRhIG5vIGVzdMOhIGRpc3BvbmlibGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjIyNAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIgKG1lbW9yaWEgdm9sY2FkYSkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBvYnRlbmVyIGxvcyBhdHJpYnV0b3MgZGVsIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAiZXJyb3IgYWwgY3JlYXIgcHNldWRvIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIm5vIHNlIHB1ZWRlbiBibG9xdWVhciBsYXMgc2XDsWFsZXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyNCBtaXNjLXV0aWxzL3V1aWRkLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDk0Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgImVsIHNvbmRlbyBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbW9kaWZpY2FyIGVsIGVudG9ybm8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwNgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAibm8gcHVlZGVuIHV0aWxpemFybG8gdXN1YXJpb3MgZGlzdGludG9zIGRlIHJvb3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAiY29udHJhc2XDsWEgaW5jb3JyZWN0YSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBsYSBzZXNpw7NuOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIm5vIHNlIHB1ZWRlIGluaWNpYWxpemFyIGxhIG3DoXNjYXJhIGRlIHNlw7FhbGVzIHBhcmEgbGEgc2VzacOzbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siCittc2dzdHIgIm5vIHNlIHB1ZWRlIGluaWNpYWxpemFyIGxhIG3DoXNjYXJhIGRlIHNlw7FhbGVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3OTcKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIGZvciBzZXNzaW9uIgorbXNnc3RyICJubyBzZSBwdWVkZSBlc3RhYmxlY2VyIGVsIG1hbmVqYWRvciBkZSBzZcOxYWxlcyBwYXJhIGxhIHNlc2nDs24iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJubyBzZSBwdWVkZSBlc3RhYmxlY2VyIGVsIG1hbmVqYWRvciBkZSBzZcOxYWxlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXN0YWJsZWNlciBsYSBtw6FzY2FyYSBkZSBzZcOxYWxlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJubyBzZSBwdWVkZSBjcmVhciBlbCBwcm9jZXNvIGhpam8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY2FtYmlhciBlbCBkaXJlY3RvcmlvIGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisiU2VzacOzbiB0ZXJtaW5hZGEsIG1hdGFuZG8gZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4ubWF0YWRvLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJlcnJvciBhbCBlc3RhYmxlY2VyIGxhIHZhcmlhYmxlIGRlIGVudG9ybm8gUlVUQSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJubyBzZSBwdWVkZW4gZXN0YWJsZWNlciBsb3MgZ3J1cG9zIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1c2VyIGNyZWRlbnRpYWxzOiAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgdXNhciBsYXMgY3JlZGVuY2lhbGVzOiVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgZWwgaWQgZGVsIGdydXBvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBpZCBkZWwgdXN1YXJpbyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MgorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgbm8gcmVzdGFibGVjZSBsYXMgdmFyaWFibGVzIGRlIGVudG9ybm9cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MworbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncnVwbz4gICAgICAgICAgICAgZXNwZWNpZmljYSBlbCBncnVwbyBwcmltYXJpb1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cCA8Z3J1cG8+ICAgICAgICBlc3BlY2lmaWNhIHVuIGdydXBvIHN1cGxlbWVudGFyaW9cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NworbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgaGFjZSBkZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgdW4gaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZGUgaW5pY2lvIGRlIHNlc2nDs25cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIgLWMsIC0tY29tbWFuZCA8b3JkZW4+ICAgICAgICAgICBwYXNhIHVuYSBvcmRlbiBzZW5jaWxsYSBhbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBjb24gLWNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8b3JkZW4+ICAgICAgIHBhc2EgdW5hIG9yZGVuIHNlbmNpbGxhIGFsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIGNvbiAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgeSBubyBjcmVhIHVuYSBzZXNpw7NuIG51ZXZhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNhIC1mIGFsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIChwYXJhIGNzaCBvIHRjc2gpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDIKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD08aW50w6lycHIuw7NyZGVuZXM+ICBlamVjdXRhIDxpbnTDqXJwci7Ds3JkZW5lcz4gc2kgL2V0Yy9zaGVsbHMgbG8gcGVybWl0ZVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhIHVuIG51ZXZvIHBzZXVkbyB0ZXJtaW5hbFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2lvbmVzXSAtdSA8dXN1YXJpbz4gW1stLV0gPG9yZGVuPl1cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIFstXSBbPHVzdWFyaW8+IFs8YXJndW1lbnRvPi4uLl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiRWplY3V0ZSA8b3JkZW4+IGNvbiBsb3MgSUQgZGUgdXN1YXJpbyBlIElEIGRlIGdydXBvIGVmZWN0aXZvcyBkZSA8dXN1YXJpbz4uICBTaSBubyBzZSBlc3BlY2lmaWNhXG4iCisiLXUsIHJlY3VycmEgYSBsYSBzZW3DoW50aWNhIGNvbXBhdGlibGUgY29uIHN1KDEpIHkgZWplY3V0ZSBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBlc3TDoW5kYXIuXG4iCisiTGFzIG9wY2lvbmVzIC1jLCAtZiwgLWwgeSAtcyBzb24gbXV0dWFtZW50ZSBleGNsdXllbmV0ZXMgY29uIC11LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPHVzdWFyaW8+ICAgICAgICAgICAgbm9tYnJlIGRlIHVzdWFyaW9cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWy1dIFs8dXN1YXJpbz4gWzxhcmd1bWVudG8+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiQ2FtYmllIGxvcyBJRCBkZSB1c3VhcmlvIGUgSUQgZGUgZ3J1cG8gZWZlY3Rpdm9zIGEgbG9zIHByb3Bpb3MgZGUgPHVzdWFyaW8+LlxuIgorIlVuIG1lcm8gLSBpbXBsaWNhIC1sLiAgU2kgbm8gc2UgZXNwZWNpZmljYSA8dXN1YXJpbz4sIHNlIGFzdW1lIHJvb3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIm5vIGVzIHBvc2libGUgZXNwZWNpZmljYXIgbcOhcyBkZSAlZCBncnVwbyBzdW1wbGVudGFyaW8iCittc2dzdHJbMV0gIm5vIGVzIHBvc2libGUgZXNwZWNpZmljYXIgbcOhcyBkZSAlZCBncnVwb3Mgc3VtcGxlbnRhcmlzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJlbCBncnVwbyAlcyBubyBleGlzdGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiLS1wdHkgbm8gc2UgYWRtaXRlIGVuIHN1IHNpc3RlbWEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzMjYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgInNlIGlnbm9yYSAtLXByZXNlcnZlLWVudmlyb25tZW50OyBlcyBtdXR1YW1lbnRlIGV4Y2x1eWVudGUgY29uIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAibGFzIG9wY2lvbmVzIC0tW3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW5dIHkgLS11c2VyIHNvbiBtdXR1YW1lbnRlIGV4Y2x1eWVudGVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ3VuYSBvcmRlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgInJvb3QgZXMgZWwgw7puaWNvIHF1ZSBwdWVkZSBlc3BlY2lmaWNhciBncnVwb3MgYWx0ZXJuYXRpdm9zIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImVsIHVzdWFyaW8gJXMgbm8gZXhpc3RlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgInNlIHV0aWxpemEgZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgcmVzdHJpbmdpZG8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImF0ZW5jacOzbjogbm8gc2UgcHVlZGUgY2FtYmlhciBlbCBkaXJlY3RvcmlvIGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgaGEgZmFsbGFkbyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjc2V0YXR0ciBoYSBmYWxsYWRvIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogbm8gaGF5IGVudHJhZGEgcGFyYSByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogbm8gaGF5IGVudHJhZGEgcGFyYSByb290IgorCisjIEZJWE1FOiBFbCBmaWNoZXJvIHNlIGxsYW1hICJwYXNzd2QiLCBubyAicGFzc3dvcmQiCisjIENvbXVuaWNhciBhbCBhdXRvci4KKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6IGNvbnRyYXNlw7FhIGRlIHJvb3QgaWxlZ2libGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisiXG4iCisiTm8gc2UgcHVlZGUgZGFyIGFjY2VzbyBhIGxhIGNvbnNvbGE7IGxhIGN1ZW50YSByb290IGVzdMOhIGJsb3F1ZWFkYS5cbiIKKyJWw6lhc2UgbGEgcMOhZ2luYSBkZSBtYW51YWwgc3Vsb2dpbig4KSBwYXJhIG3DoXMgaW5mb3JtYWNpw7NuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiQ29udHJhc2XDsWEgZGUgcm9vdCBwYXJhIGluaWNpYXIgc2VzacOzbjogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICJQdWxzZSBFbnRlciBwYXJhIGluaWNpYXIgc2VzacOzbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkNvbnRyYXNlw7FhIGRlIHJvb3QgcGFyYSBtYW50ZW5pbWllbnRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIlB1bHNlIEVudGVyIHBhcmEgbWFudGVuaW1pZW50b1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIihvIHB1bHNlIENvbnRyb2wtRCBwYXJhIGNvbnRpbnVhcik6IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGNhbWJpYXIgYWwgZGlyZWN0b3JpbyBkZSBsYSByYcOteiBkZWwgc2lzdGVtYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc4MgorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJzZXRleGVjY29uIGhhIGZhbGxhZG8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gW2Rpc3Bvc2l0aXZvIHR0eV1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICJJbmljaW8gZGUgc2VzacOzbiBkZSB1c3VhcmlvIMO6bmljby5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBhcnJhbmNhIHVuIGludMOpcnByZXRlIGRlIMOzcmRlbmVzIGRlIGluaWNpbyBkZSBzZXNpw7NuXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICB0aWVtcG8gbcOheGltbyBwYXJhIGV4cGVyYXIgdW5hIGNvbnRyYXNlw7FhIChwcmVkZWZpbmlkbzogc2luIGzDrW1pdGUpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5hIGRpcmVjdGFtZW50ZSBsb3MgZmljaGVyb3MgZGUgY29udHJhc2XDsWFzIHNpIGZhbGxhIGdldHB3bmFtKDMpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIHRpZW1wbyBsw61taXRlIG3DoXhpbW8gbm8gdsOhbGlkbyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJzb2xvIGVsIHN1cGVydXN1YXJpbyBwdWVkZSBlamVjdXRhciBlc3RlIHByb2dyYW1hIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgbGEgY29uc29sYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBsYSBiYXNlIGRlIGRhdG9zIGRlIGNvbnRyYXNlw7FhcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJubyBzZSBwdWVkZSBlamVjdXRhciBlbCBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyBkZSBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlRpZW1wbyBkZSBlc3BlcmEgZXhjZWRpZG9cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm5vIHNlIHB1ZWRlIGVzcGVyYXIgZW4gZWwgaW50w6lycHJldGUgZGUgw7NyZGVuZXMgZGUgc3VcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhw7FhZGlyIHZpZ2lsYW5jaWEgaW5vdGlmeS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlbiBsZWVyIGxvcyBldmVudG9zIGlub3RpZnkiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ5Cittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICJOdWV2YSBsw61uZWEgZXh0cmHDsWEgZW4gZWwgZmljaGVyby4gU2FsaXIuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gW25vbWJyZSBkZSBmaWNoZXJvXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwNgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICJWdWVsY2EgbG9zIGZpY2hlcm9zIFVUTVAgeSBXVE1QIGVuIGZvcm1hdG8gZW4gYnJ1dG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICBzYWNhIGxvcyBkYXRvcyBhw7FhZGlkb3Mgc2Vnw7puIGNyZWNlIGVsIGZpY2hlcm9cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTAKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgZXNjcmliZSBkZSB2dWVsdGEgZW4gZWwgZmljaGVybyB1dG1wIGxvcyBkYXRvcyB2b2xjYWRvc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGZpY2hlcm8+IGVzY3JpYmUgZW4gZmljaGVybyBlbiBsdWdhciBkZSBsYSBzYWxpZGEgZXN0w6FuZGFyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJubyBlc3TDoSBhZG1pdGlkbyBzZWd1aXIgbGEgc2FsaWRhIGVzdMOhbmRhciIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiRGVzaGFjZSBlbCB2b2xjYWRvIHV0bXAgZGUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIlZvbGNhZG8gdXRtcCBkZSAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyB0ZW1wb3JhbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZm8gY3JlYXIgdW4gZW5sYWNlIGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJObyBzZSBwdWVkZSBvYnRlbmVyIGVsIGNvbnRleHRvIGRlICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBjb250ZXh0byBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIG5vIHNlIGhhIG1vZGlmaWNhZG8iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTcKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgYmxvcXVlbyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAibm8gc2UgaGEgZWZlY3R1YWRvIG5pbmfDum4gY2FtYmlvIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkzCittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIm5vIHNlIHB1ZWRlbiBtb2RpZmljYXIgbG9zIHBlcm1pc29zIGRlbCBmaWNoZXJvIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiRWRpdGEgZWwgZmljaGVybyBkZSBjb250cmFzZcOxYXMgbyBncnVwb3MuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkVzdMOhIHV0aWxpemFuZG8gZ3J1cG9zIG9jdWx0b3MgZW4gZXN0ZSBzaXN0ZW1hLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYyCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJFc3RhIHV0aWxpemFuZG8gY29uYnRyYXNlw7FhcyBvY3VsdGFzIGVuIGVzdGUgc2lzdGVtYS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIsK/UXVpZXJlIGVkaXRhciAlcyBhaG9yYT8gW3kvbl0gIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiJXMgZGUgJXMgKGxpYmJsa2lkICVzLCAlcylcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisiICVzIC0tbGFiZWwgPGV0aXF1ZXRhPiB8IC0tdXVpZCA8dXVpZD5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAlcyBbLS1jYWNoZS1maWxlIDxmaWNoZXJvPl0gWy1naGxMdl0gWy0tb3V0cHV0IDxmb3JtYXRvPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRhZyA8ZXRpcXVldGE+XSBbLS1tYXRjaC10b2tlbiA8dGVzdGlnbz5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb2Zmc2V0IDxvZmZzZXQ+XSBbLS1zaXplIDxzaXplPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDxldGlxdWV0YT5dIFstLW9mZnNldCA8ZGVzcGxhemFtaWVudG8+XSBbLS1zaXplIDx0YW1hw7FvPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0bz5dIDxkZXY+IC4uLlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiICVzIC1pIFstLW1hdGNoLXRhZyA8ZXRpcXVldGE+XSBbLS1vdXRwdXQgPGZvcm1hdG8+XSA8ZGV2PiAuLi5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgzCittc2dpZCAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxmaWxlPiAgICByZWFkIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBkZWZhdWx0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUgZmlsZSAoLWMgL2Rldi9udWxsIG1lYW5zIG5vIGNhY2hlKVxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpY2hlcm8+IGxlZSA8ZmljaGVybz4gZW4gbHVnYXIgZGUgbGVlciBlbCBmaWNoZXJvIGNhY2jDqSBwcmVkZWZpbmlkb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgtYyAvZGV2L251bGwgaW5kaWNhIHF1ZSBubyBoYXkgY2FjaMOpKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBubyBjb2RpZmljYSBsb3MgY2FyYWN0ZXJlcyBubyBpbXByaW1pYmxlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODYKK21zZ2lkICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgZ2FyYmFnZSBjb2xsZWN0IHRoZSBibGtpZCBjYWNoZVxuIgorbXNnc3RyICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgcmVjb2dlIGJhc3VyYSBkZSBjYWNow6kgYmxraWRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdG8+ICAgICBmb3JtYXRvIGRlIHNhbGlkYTsgcG9zaWJsZXMgZm9ybWF0b3M6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG8gZnVsbDsgKHByZWRlZmluaWRvOiBmdWxsKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3RhIHRvZG9zIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvcy9SQUlEcyBjb25vY2lkb3MgeSBzYWxlXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MAorbXNnaWQgIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1tYXRjaC10YWcgPGV0aXF1ZXRhPiBtdWVzdHJhIGxhKHMpIGV0aXF1ZXRhKHMpIGVzcGVjaWZpY2FkYShzKVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGxvIHByZWRlZmluaWRvIGVzIG1vc3RyYXIgdG9kYXMpXG4iCisKKyMgVE9ETworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRlc3RpZ28+IGJ1c2NhIGRpc3Bvc2l0aXZvcyBjb24gdW4gdGVzdGlnbyBlc3BlY8OtZmljbyAoTkFNRT12YWx1ZSBwYWlyKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgYnVzY2Egc29sbyBlbCBwcmltZXIgZGlzcG9zaXRpdm8gY29uIGVsIHRlc3RpZ25vIGVzcGVjaWZpY2FkbyBlbiAtdFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTMKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLUwsIC0tbGFiZWwgPGV0aXF1ZXRhPiAgICAgY29udmllcnRlIEVUSVFVRVRBIGVuIG5vbWJyZSBkZSBkaXNwb3NpdGl2b1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTQKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252aWVydGUgVVVJRCBhIG5vbWJyZSBkZSBkaXNwb3NpdGl2b1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBkZXZpY2UocykgdG8gcHJvYmUgKGRlZmF1bHQ6IGFsbCBkZXZpY2VzKVxuIgorbXNnc3RyICIgPGRpc3BvPiAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYSBkaXNwb3NpdGl2byhzKSBwYXJhIHNvbmRlYXIgKGxvIHByZWRlZmluaWRvOiB0b2RvcyBsb3MgZGlzcG9zaXRpdm9zKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTcKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICJPcGNpb25lcyBkZSBwcnVlYmEgZGUgYmFqbyBuaXZlbDpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBzb25kZW8gZGUgc3VwZXJibG9xdWVzIGRlIGJham8gbml2ZWwgKGNpcmN1bnZhbGFyIGNhY2jDqSlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICByZWNvZ2UgaW5mb3JtYWNpw7NuIHNvYnJlIGzDrW1pdGVzIGRlIEUvU1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAwCittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8dGFtYcOxbz4gICAgICAgIHNvYnJlZXNjcmliZSBlbCB0YW1hw7FvIGRlbCBkaXNwb3NpdGl2b1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIC1PLCAtLW9mZnNldCA8ZGVzcGxhemFtaWVudG8+IHNvbmRlYSBlbiBlbCBkZXNwbGF6YW1pZW50byBlc3BlY2lmaWNhZG9cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMgorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiIC11LCAtLXVzYWdlIDxsaXN0YT4gICAgICAgIGZpbHRyYSBwb3IgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0YT4gIGZpbHRyYSBwb3IgdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm8gKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM1Cittc2dpZCAiKG1vdW50ZWQsIG10cHQgdW5rbm93bikiCittc2dzdHIgIihtb250YWRvLCBtdHB0IGRlc2Nvbm9jaWRvKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNworbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICIoZW4gdXNvKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzOQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgIihubyBtb250YWRvKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImVycm9yOiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiJXM6IHJlc3VsdGFkbyBhbWJpdmFsZW50ZSAocHJvYmFibGVtZW50ZSBoYXlhIG3DoXMgc2lzdGVtYXMgZGUgZmljaGVyb3MgZW4gZWwgZGlzcG9zaXRpdm87IHV0aWxpY2Ugd2lwZWZzKDgpIHBhcmEgbcOhcyBpbmZvcm1hY2nDs24pIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTk0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24ga2V5d29yZCBpbiAtdSA8bGlzdD4gYXJndW1lbnQ6ICclcyciCittc2dzdHIgInBhbGFicmEgY2xhdmUgZGVzY29ub2NpZGEgZW4gZWwgYXJndW1lbnRvIGRlIC11IDxsaXN0YT46ICclcyciCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICJlcnJvcjogZWwgYXJndW1lbnRvIGRlIC11IDxsaXN0YT4gZXN0w6EgdmFjw61vIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgImZvcm1hdG8gZGUgc2FsaWRhIGRlc2Nvbm9jaWRvICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBkZXNwbGF6YW1pZW50byBubyB2w6FsaWRvIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIlNlIGhhbiBlc3BlY2lmaWNhZG8gZGVtYXNpYWRhcyBldGlxdWV0YXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgImVsIGFyZ3VtZW50byBkZWwgdGFtYcOxbyBubyBlcyB2w6FsaWRvIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6Nzc2Cittc2dpZCAiQ2FuIG9ubHkgc2VhcmNoIGZvciBvbmUgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICJTb2xvIHNlIHB1ZWRlIGJ1c2NhciBwb3IgdW5hIHBhcmVqYSBOT01CUkU9dmFsb3IiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3ODMKK21zZ2lkICItdCBuZWVkcyBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIi10IG5lY2VzaXRhIHVuYSBwYXJlamEgTk9NQlJFPXZhbG9yIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiRWwgbW9kbyBkZSBzb25kZW8gZGUgYmFqbyBuaXZlbCBubyBhZG1pdGUgZWwgZm9ybWF0byBkZSBzYWxpZGEgJ2xpc3QnIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIkVsIG1vZG8gZGUgc29uZGVvIGRlIGJham8gbml2ZWwgcmVxdWllcmUgdW4gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OTYKK21zZ2lkICJUaGUgbG9va3VwIG9wdGlvbiByZXF1aXJlcyBhIHNlYXJjaCB0eXBlIHNwZWNpZmllZCB1c2luZyAtdCIKK21zZ3N0ciAiTGEgb3BjacOzbiBkZSBiw7pzcXVlZGEgcmVxdWllcmUgdW4gdGlwbyBkZSBiw7pzcXVlZGEgZXNwZWNpZmljYWRvIG1lZGlhbnRlIC10IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxMQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBtZXMgbm8gdsOhbGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBzZW1hbmEgbm8gdsOhbGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ2YWxvciBkZSBzZW1hbmEgbm8gcGVybWl0aWRvOiB1dGlsaWNlIDEtNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgbWFyY2EgZGUgdGllbXBvIG8gbm9tYnJlIGRlIG1lcyBkZXNjb25vY2lkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgInZhbG9yIGRlIGTDrWEgbm8gcGVybWl0aWRvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIlZhbG9yIGRlIGTDrWEgbm8gcGVybWl0aWRvOiB1dGlsaWNlIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIlZhbG9yIGRlIG1lcyBubyBwZXJtaXRpZG86IHV0aWxpY2UgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibm9tYnJlIGRlIG1lcyBkZXNjb25vY2lkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJ2YWxvciBkZSBhw7FvIG5vIHBlcm1pdGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJ2YWxvciBkZSBhw7FvIG5vIHBlcm1pdGlkbzogdXRpbGljZSBlbnRlcm8gcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NTMwIG1pc2MtdXRpbHMvY2FsLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAidmFsb3IgZGUgc2VtYW5hIG5vIHBlcm1pdGlkbzogZWwgYcOxbyAlZCBubyB0aWVuZSBzZW1hbmEgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gW1tbZMOtYV0gbWVzXSBhw7FvXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gPG1hcmNhZGV0aWVtcG98bm9tYnJlZGVtZXM+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJNdWVzdHJhIHVuIGNhbGVuZGFyaW8gbyBwYXJ0ZSBkZSDDqWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiU2luIGFyZ3VtZW50b3MgbXVlc3RyYSBlbCBtZXMgYWN0dWFsLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICBtdWVzdHJhIHVuIHNvbG8gbWVzIChwcmVkZXRlcm1pbmFkbylcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIG11ZXN0cmEgdHJlcyBtZXNlcyBhbHJlZGVkb3IgZGUgbGEgZmVjaGFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8bsO6bT4gICAgbXVlc3RyYSBlbCBuw7ptZXJvIGRlIG1lc2VzIHF1ZSBjb21pZW56YW4gcG9yIGVsIG1lcyBkZSBsYSBmZWNoYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgLVMsIC0tc3BhbiAgICAgICAgICAgIGV4dGllbmRlIGxhIGZlY2hhIGN1YW5kbyBzZSBtdWVzdHJhbiB2YXJpb3MgbWVzZXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA2Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bmRheSAgICAgICAgICBkb21pbmdvIGNvbW8gcHJpbWVyIGTDrWEgZGUgbGEgc2VtYW5hXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgbHVuZXMgY29tbyBwcmltZXIgZMOtYSBkZSBsYSBzZW1hbmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1dGlsaXphIGTDrWEtZGVsLWHDsW8gZW4gdG9kb3MgbG9zIGNhbGVuZGFyaW9zXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOQorbXNnaWQgIiAgICAgLS1yZWZvcm0gPHZhbD4gICAgR3JlZ29yaWFuIHJlZm9ybSBkYXRlICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorbXNnc3RyICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIGZlY2hhIGRlIGxhIHJlZm9ybWEgZ3JlZ29yaWFuYSAoMTc1MnxncmVnb3JpYW58aXNvanVsaWFuKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKK21zZ2lkICIgICAgIC0taXNvICAgICAgICAgICAgIGFsaWFzIGZvciAtLXJlZm9ybT1pc29cbiIKK21zZ3N0ciAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBkZSAtLXJlZm9ybT1pc29cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAgbXVlc3RyYSBlbCBhw7FvIGVudGVyb1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTIKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLVksIC0tZG9jZSAgICAgICAgICAgIG11ZXN0cmEgbG9zIHNpZ3VpZW50ZXMgZG9jZSBtZXNlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTMKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgbXVlc3RyYSBsb3MgbsO6bWVyb3MgZGUgc2VtYW5hIFVTIG8gSVNPLTg2MDFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxjdcOhbmRvPl3CoGNvbG9yZWEgbG9zIG1lbnNhamVzIChhdXRvLCBzaWVtcHJlIG8gbnVuY2EpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiZGF0b3MgZGVsIGZpY2hlcm8gcmVzaWRlbnRlIGVuIG1lbW9yaWEgZW4gcMOhZ2luYXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiZGF0b3MgZGVsIGZpY2hlcm8gcmVzaWRlbnRlIGVuIG1lbW9yaWEgZW4gYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAidGFtYcOxbyBkZWwgZmljaGVybyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKK21zZ2lkICJmaWxlIG5hbWUiCittc2dzdHIgIm5vbWJyZSBkZWwgZmljaGVybyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtaW5jb3JlOiAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGhhY2VyIG1pbmNvcmU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaGFjZXIgbW1hcDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhYnJpcjogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gZnN0YXQ6ICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaGFjZXIgZnN0YXQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIGZpY2hlcm8uLi5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXRpbGl6YSBmb3JtYXRvIGRlIHNhbGlkYSBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlICAgICAgICAgICAgaW1wcmltZSBsb3MgdGFtYcOxb3MgZW4gYnl0ZXMgZW4gbHVnYXIgZGUgZm9ybWF0byBsZWdpYmxlIHBhcmEgaHVtYW5vc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgbm8gaW1wcmltZSBlbmNhYmV6YWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgY29sdW1uYXMgcXVlIG1vc3RyYXJcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjczCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIGVuIGJydXRvXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjM0MyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5MworbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ8O6biBmaWNoZXJvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbG9yPlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiRW5jdWVudHJhIHVuIHNpc3RlbWEgZGUgZmljaGVyb3MgcG9yIGV0aXF1ZXRhIG8gVVVJRC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJubyBzZSBwdWVkZSByZXNvbHZlciAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIGRlIG9yaWdlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAicHVudG8gZGUgbW9udGFqZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgInRvZGFzIGxhcyBvcGNpb25lcyBkZSBtb250YWplIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib3BjaW9uZXMgZGUgbW9udGFqZSBlc3BlY8OtZmljYXMgZGUgVkZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJvcGNpb25lcyBkZSBtb250YWplIGVzcGVjw61maWNhcyBkZSBGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiZXRpcXVldGEgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgImV0aXF1ZXRhIGRlIGxhIHBhcnRpY2nDs24iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1Cittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBtYXlvcjptZW5vciBkZWwgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgImFjY2nDs24gZGV0ZWN0YWRhIHBvciAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAib3BjaW9uZXMgZGUgbW9udGFqZSBhbnRpZ3VhcyBndWFyZGFkYXMgcG9yIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJhbnRpZ3VvIHB1bnRvIGRlIG1vbnRhamUgZ3VhcmRhZG8gcG9yIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIGRpc3BvbmlibGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIHV0aWxpemFkbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAicG9yY2VudGFqZSBkZSB1dGlsaXphY2nDs24gZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAicmHDrXogZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIklEIGRlIGxhIHRhcmVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAiSUQgZGVsIG1vbnRhamUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAiY2FtcG9zIGRlIG1vbnRhamUgb3BjaW9uYWxlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJpbmRpY2Fkb3JlcyBkZSBwcm9wYWdhY2nDs24gZGUgVkZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAicGVyaW9kbyBlbiBkw61hcyBkZSBkdW1wKDgpIFtzb2xvIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIm7Dum1lcm8gZGUgcGFzbyBlbiBmc2NrKDgpIHBhcmFsZWxvIFtzb2xvIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiYWNjacOzbiBkZXNjb25vY2lkYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJtb250YXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiZGVzbW9udGFyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJyZW1vbnRhciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAibW92ZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxNCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc3IHN5cy11dGlscy9lamVjdC5jOjcxNAorIzogc3lzLXV0aWxzL21vdW50LmM6MzI0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBpbmljaWFsaXphciBsYSB0YWJsYSBkZSBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGxlZXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaW5pY2lhbGl6YXIgZWwgaXRlcmFkb3IgZGUgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaW5pY2lhbGl6YXIgbGEgdGFiZGlmZiBkZSBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgInBvbGwoKSBoYSBmYWxsYWRvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNpb25lc11cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIDxkaXNwb3NpdGl2bz4gfCA8cHVudG9kZW1vbnRhamU+XG4iCisiICUxJHMgW29wY2lvbmVzXSA8ZGlzcG9zaXRpdm8+IDxwdW50b2RlbW9udGFqZT5cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIFstLXNvdXJjZSA8ZGlzcG9zaXRpdm8+XSBbLS10YXJnZXQgPHJ1dGE+XcKgW8KgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFbmN1ZW50cmEgdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyAobW9udGFkbykuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIGJ1c2NhIGVuIGxhIHRhYmxhIGVzdMOhdGljYSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgYnVzY2FyIGVuIGxhIHRhYmxhIGRlIHNpc3RlbWFzIGRlIGZpY2hlcm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBtb250YWRvcyAoaW5jbHV5ZSBvcGNpb25lcyBkZSBtb250YWplIGRlIGVzcGFjaW8gZGUgdXN1YXJpbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgYnVzY2FyIGVuIGxhIHRhYmxhIGRlIHNpc3RlbWFzIGRlIGZpY2hlcm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBtb250YWRvcyBkZWwgbsO6Y2xlbyAocHJlZGV0ZXJtaW5hZG8pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXAsIC0tcG9sbFs9PGxpc3RhPl0gIG1vbml0b3JpemEgbG9zIGNhbWJpb3MgZW4gbGEgdGFibGEgZGUgc2lzdGVtYXMgZGUgZmljaGVyb3MgbW9udGFkb3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIGzDrW1pdGUgc3VwZXJpb3IgZW4gbWlsaXNlZ3VuZG9zIHF1ZSAtLXBvbGwgYmxvcXVlYXLDoVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRlc2FjdGl2YSB0b2RvcyBsb3MgZmlsdHJvcyBkZSBmw6FicmljYSwgaW1wcmltZSB0b2RvcyBsb3Mgc2lzdGVtYXMgZGUgZmljaGVyb3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgLWEsIC0tYXNjaWkgICAgICAgICAgIHV0aWxpemEgY2FyYWN0ZXJlcyBBU0NJSSBwYXJhIGVsIGZvcm1hdG8gZGVsIMOhcmJvbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlICAgICAgICAgICAgIGltcHJpbWUgbG9zIHRhbWHDsW9zIGVuIGJ5dGVzIGVuIGx1Z2FyIGRlIGZvcm1hdG8gbGVnaWJsZSBwYXJhIGh1bWFub3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBubyBjYW5vbml6YSBhbCBjb21wYXJhciBydXRhc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pemEgbGFzIHJ1dGFzIGFsIGltcHJpbWlybGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGEgbGEgc2FsaWRhIGRlIGRmKDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIgLWQsIC0tZGlyZWN0aW9uIDxwYWxhYnJhPiBkaXJlY2Npw7NuIGRlIGLDunNxdWVkYSwgJ2ZvcndhcmQnIChoYWNpYSBhZGVsYW50ZSkgbyAnYmFja3dhcmQnIChoYWNpYSBhdHLDoXMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZpZXJ0ZSBsYXMgZXRpcXVldGFzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBlbiBub21icmVzIGRlIGRpc3Bvc2l0aXZvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxCittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1GLCAtLXRhYi1maWxlIDxydXRhPiAgZmljaGVybyBhbHRlcm5hdGl2byBwYXJhIGxhcyBvcGNpb25lcyAtcywgLW0gbyAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBpbXByaW1lIHNvbGFtZW50ZSBlbCBwcmltZXIgc2lzdGVtYSBkZSBmaWNoZXJvcyBlbmNvbnRyYWRvXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmllcnRlIGVsIHNlbnRpZG8gZGUgY29ycmVzcG9uZGVuY2lhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQgbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIHN5cy11dGlscy9sc25zLmM6OTAxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTcyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1KLCAtLWpzb24gICAgICAgICAgICB1dGlsaXphIGZvcm1hdG8gZGUgc2FsaWRhIEpTT05cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNSBzeXMtdXRpbHMvbHNucy5jOjkwMgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgdXRpbGl6YSBsYSBzYWxpZGEgY29uIGZvcm1hdG8gZGUgbGlzdGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1dGlsaXphIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBhbHRlcm5hdGl2byAoZmljaGVybyAvcHJvYy88dGlkPi9tb3VudGluZm8pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbm8gaW1wcmltZSBsb3MgdMOtdHVsb3MgZGUgbGFzIGNvbHVtbmFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW9wdGlvbnMgPGxpc3RhPiAgbGltaXRhIGVsIGNvbmp1bnRvIGRlIHNpc3RlbWFzIGRlIGZpY2hlcm9zIHBvciBsYXMgb3BjaW9uZXMgZGUgbW9udGFqZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXB1dCA8bGlzdGE+ICAgIGNvbHVtbmFzIHF1ZSBzZSBtb3N0cmFyw6FuIGVuIGxhIHNhbGlkYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIGNsYXZlPVwidmFsb3JcIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIGltcHJpbWUgdG9kb3MgbG9zIHN1Ym1vbnRhamVzIGRlIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBjb3JyZXNwb25kaWVudGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtciwgLS1yYXcgICAgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXRvIGRlIHNhbGlkYSBlbiBicnV0b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8Y2FkZW5hPiAgZGlzcG9zaXRpdm8gcXVlIHNlIHZhIGEgbW9udGFyIChwb3Igbm9tYnJlLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDxydXRhPiAgICBydXRhIGFsIHNpc3RlbWEgZGUgZmljaGVyb3MgcXVlIHNlIHVzYXLDoVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiICAgICAtLXRyZWUgICAgICAgICAgICAgZW5hYmxlIHRyZWUgZm9ybWF0IG91dHB1dCBpcyBwb3NzaWJsZVxuIgorbXNnc3RyICIgICAgIC0tdHJlZSAgICAgICAgICAgICBhY3RpdmFyIGxhIHNhbGlkYSBjb24gZm9ybWF0byBlcyBwb3NpYmxlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gZWwgZGlyZWN0b3JpbyBkZWwgcHVudG8gZGUgbW9udGFqZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM4Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RhPiAgICBsaW1pdGEgZWwgY29uanVudG8gZGUgc2lzdGVtYXMgZGUgZmljaGVyb3MgcG9yIHRpcG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGRlc2NhcnRhIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvcyBjb24gZGVzdGlubyBkdXBsaWNhZG9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo5MDcKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbm8gdHJ1bmNhIGVsIHRleHRvIGRlIGxhcyBjb2x1bW5hc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBubyBpbXByaW1lIFsvZGlyXcKgcGFyYSBsb3MgbW9udGFqZXMgYmluZCBvIGJ0cmZzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDQKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZpY2EgZWwgY29udGVuaWRvIGRlIGxhIHRhYmxhIGRlIG1vbnRhamVzIChsbyBwcmVkZXRlcm1pbmFkbyBlcyBmc3RhYilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBpbXByaW1lIG3DoXMgZGV0YWxsZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJkaXJlY2Npw7NuIGRlc2Nvbm9jaWRhICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIFRJRCBpbmNvcnJlY3RvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCBzb2xvIGFjZXB0YSB1biBmaWNoZXJvLCBwZXJvIHNlIGhhbiBlc3BlY2lmaWNhZG8gbcOhcyBjb24gLS10YWItZmlsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgImxhcyBvcGNpb25lcyAtLXRhcmdldCB5IC0tc291cmNlIG5vIHB1ZWRlbiB1c2Fyc2UganVudGFzIGNvbiB1biBlbGVtZW50byBkZSBsYSBsw61uZWEgZGUgw7NyZGVuZXMgcXVlIG5vIHNlYSB1bmEgb3BjacOzbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaW5pY2lhbGl6YXIgbGEgY2FjaMOpIGRlIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgInNlIGhhIHNvbGljaXRhZG8gbGEgY29sdW1uYSAlcywgcGVybyAtLXBvbGwgbm8gZXN0w6EgYWN0aXZhZG8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJzZSBoYSBlc3BlY2lmaWNhZG8gZWwgZGVzdGlubyBtw6FzIGRlIHVuYSB2ZXoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIm9yZGVuIGluY29ycmVjdG86ICVzIGVzcGVjaWZpY2FkbyBhbnRlcyBxdWUgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiZGVzdGlubyBpbmRlZmluaWRvIChmc19maWxlKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgInJ1dGEgZGUgZGVzdGlubyBubyBjYW7Ds25pY2EgKHJlYWw6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgImRlc3Rpbm8gaW5hbGNhbnphYmxlIG5lY2VzYXJpbyBkdXJhbnRlIGVsIGFycmFucXVlOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJkZXN0aW5vIGluYWxjYW56YWJsZTogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJlbCBkZXN0aW5vIG5vIGVzIHVuIGRpcmVjdG9yaW8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICJlbCBkZXN0aW5vIGV4aXN0ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIm9yaWdlbiBpbmFsY2FuemFibGUgbmVjZXNhcmlvIGR1cmFudGUgZWwgYXJyYW5xdWU6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiaW5hbGNhbnphYmxlOiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcz0lcyB0cmFkdWNpZG8gY29tbyAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE4OQorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICJvcmlnZW4gaW5kZWZpbmlkbyAoZnNfc3BlYykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgImV0aXF1ZXRhIGRlIG9yaWdlbiBubyBzb3BvcnRhZGE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICJubyBjb21wcm9iYXIgb3JpZ2VuICVzIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAib3JpZ2VuIGluYWxjYW56YWJsZTogJXM6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgImVsIG9yaWdlbiBkZSBtb250YWplIG5vIHZpbmN1bGFkbyAlcyBlcyB1biBkaXJlY3RvcmlvIG8gdW4gZmljaGVybyBub3JtYWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiZWwgb3JpZ2VuICVzIG5vIGVzIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAiZWwgb3JpZ2VuICVzIHlhIGV4aXN0ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIk9wY2lvbmVzIFZGUzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIk9wY2lvbmVzIEZTOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIm9wY2lvbmVzIGRlIGVzcGFjaW8gZGUgdXN1YXJpb3M6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAicG9sw610aWNhIGRlIGRlc2NhcnRlIGRlbCDDoXJlYSBkZSBpbnRlcmNhbWJpbyBubyBhZG1pdGlkYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gYW5hbGl6YXIgbGEgb3BjacOzbiBkZSBwcmlvcmlkYWQgZGVsIMOhcmVhIGRlIGludGVyY2FtYmlvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAibm8gY29tcHJvYmFyIGVsIHRpcG8gZGUgRlMgJXMgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA1Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICJsYSBvcGNpw7NuIGRlIEZTIFwibm9uZVwiIHNvbG8gZXN0w6EgcmVjb21lbmRhZGEgcGFyYSBvcGVyYWNpb25lcyBkZSB2aW5jdWxhciBvIG1vdmVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAicGFyZWNlIHF1ZSBlbCBuw7pjbGVvIGFjdHVhbCBubyBhZG1pdGUgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTkgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMAorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGRldGVjdGFyIGVsIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZXJvcyBlbiBkaXNjbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiVzIG5vIGNhc2EgY29uICVzIGVuIGRpc2NvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJwYXJlY2UgcXVlIGVsIG7DumNsZW8gYWN0dWFsIG5vIGFkbWl0ZSAlcyBlbiBkaXNjbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJlbCB0aXBvIGRlIEZTIGVzICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICJlbCBwYXNvIHJlY29tZW5kYWRvIHBhcmEgZWwgRlMgcmHDrXogZXMgMSAoZWwgYWN0dWFsIGVzICVkKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICIlZCBlcnJvciBkZSBzaW50YXhpcyIKK21zZ3N0clsxXSAiJWQgZXJyb3JlcyBkZSBzaW50YXhpcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCAlZCBlcnJvciIKK21zZ3N0clsxXSAiLCAlZCBlcnJvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiLCAlZCBhdmlzbyIKK21zZ3N0clsxXSAiLCAlZCBhdmlzb3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIkNvcnJlY3RvLCBubyBzZSBoYW4gZGV0ZWN0YWRvIGVycm9yZXMgbmkgYXZpc29zXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICJvcGNpw7NuIGxhcmdhIHZhY8OtYSB0cmFzIGFyZ3VtZW50byAtbCBvIC0tbG9uZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjMKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgInNoZWxsIGRlc2Nvbm9jaWRvIHRyYXMgYXJndW1lbnRvIC1zIG8gLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyA8Y2FkZW5hb3BjaW9uZXM+IDxwYXLDoW1ldHJvcz5cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIFstLV0gPGNhZGVuYW9wY2lvbmVzPiA8cGFyw6FtZXRyb3M+XG4iCisiICUxJHMgW29wY2lvbmVzXSAtb3wtLW9wdGlvbnMgPGNhZGVuYW9wY2lvbmVzPiBbb3BjaW9uZXNdIFstLV0gPHBhcsOhbWV0cm9zPlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzNgorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiQW5hbGl6YSBsYXMgb3BjaW9uZXMgZGUgbGEgb3JkZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBwZXJtaXRlIG9wY2lvbmVzIGxhcmdhcyBjb24gdW4gc29sbyAtIGluaWNpYWxcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA8b3BjbGFyZ2FzPiBvcGNpb25lcyBsYXJnYXMgcGFyYSByZWNvbm9jZXJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA8cHJvZ3JhbWE+ICAgICAgICAgbm9tYnJlIGNvbiBlbCBxdWUgc2UgaW5mb3JtYSBkZSBsb3MgZXJyb3Jlc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxjYWRlbmFvcGNpb25lcz4gb3BjaW9uZXMgY29ydGFzIHBhcmEgcmVjb25vY2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGVzYWN0aXZhIGluZm9ybWFjacOzbiBkZSBlcnJvcmVzIG1lZGlhbnRlIGdldG9wdCgzKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBzaW4gbGEgc2FsaWRhIG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8aW50w6lycHIuw7NyZGVuZXM+IGRlZmluZSBsYXMgY29udmVuY2lvbmVzIGRlIGNpdGEgZGVsIGludMOpcnByZXRlIGRlIMOzcmRlbmVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICBwcnVlYmEgcGFyYSBsYSB2ZXJzacOzbiBkZSBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIG5vIGVudHJlY29taWxsYSBlbCByZXN1bHRhZG9cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAiRmFsdGEgZWwgYXJndW1lbnRvIGNhZGVuYW9wY2lvbmVzIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJFcnJvciBpbnRlcm5vOyBjb250YWN0ZSBjb24gZWwgZGVzYXJyb2xsYWRvci4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgInNlw7FhbCBkZXNjb25vY2lkYSAlczsgc2XDsWFsZXMgdsOhbGlkYXM6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gPHBpZD58PG5vbWJyZT4uLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVGVybWluYSB1biBwcm9jZXNvIGEgbGEgZnVlcnphLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgbm8gcmVzdHJpbmdlIGxhIGNvbnZlcnNpw7NuIGRlIG5vbWJyZSBhIHVpZCBhIHByb2Nlc29zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjb24gZWwgbWlzbW8gdWlkIHF1ZSBlbCBwcm9jZXNvIHByZXNlbnRlXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA8c2XDsWFsPiAgIGVudsOtYSBlc3RhIDxzZcOxYWw+IGVuIGx1Z2FyIGRlIFNJR1RFUk1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZSA8dmFsb3I+ICAgIHV0aWxpemEgc2lncXVldWUoMiksIG5vIGtpbGwoMiksIHkgcGFzYSA8dmFsb3I+IGNvbW8gZGF0b1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODgKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgaW1wcmltZSBwaWRzIHNpbiBlbnZpYXJsZXMgc2XDsWFsXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3RbPTxzZcOxYWw+XSAgIGVudW1lcmEgbG9zIG5vbWJyZXMgZGUgbGFzIHNlw7FhbGVzIG8gY29udmllcnRlIHVuIG7Dum1lcm8gZGUgc2XDsWFsIGEgdW4gbm9tYnJlXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGVudW1lcmEgbG9zIG5vbWJyZXMgeSBsb3MgbsO6bWVyb3MgZGUgbGFzIHNlw7FhbGVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIGltcHJpbWUgbG9zIHBpZHMgYSBsb3MgcXVlIHZhIGEgZW52aWFyc2Ugc2XDsWFsXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJzZcOxYWwgZGVzY29ub2NpZGE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMgeSAlcyBzb24gbXV0dWFtZW50ZSBleGNsdXllbnRlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJlcnJvciBlbiBlbCBhcmd1bWVudG8iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIk7Dum1lcm8gbyBub21icmUgZGUgc2XDsWFsIG5vIHbDoWxpZG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgInNlIGVudsOtYSBzZcOxYWwgJWQgYWwgcGlkICVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlbnZpYXIgbGEgc2XDsWFsIGEgJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZW5jb250cmFyIGVsIHByb2Nlc28gXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJub21icmUgZGUgcmVjdXJzbyBkZXNjb25vY2lkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgIm5vbWJyZSBkZSBwcmlvcmlkYWQgZGVzY29ub2NpZG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiYWwgYWJyaXIgJXM6IG5vbWJyZSBkZSBydXRhIGRlbWFzaWFkbyBsYXJnbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICLCq3NvY2tldMK7ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gcmVzb2x2ZXIgZWwgbm9tYnJlICVzIHB1ZXJ0byAlczogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjb25lY3RhciBhICVzIHB1ZXJ0byAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICJtw6F4aW1hcyBsw61uZWFzIGRlIGVudHJhZGEgKCVkKSBzb2JyZXBhc2FkYXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgZW52aWFyIG1lbnNhamUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIkVsIElEIGRlIGRhdG9zIGVzdHJ1Y3R1cmFkb3MgJyVzJyBubyBlcyDDum5pY28iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyAtLXNkLWlkIHBhcmEgLS1zZC1wYXJhbSAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjgKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImxvY2FsdGltZSgpIGhhIGZhbGxhZG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIm5vbWJyZSBkZSBtw6FxdWluYSAnJXMnIGRlbWFzaWFkbyBsYXJnbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImV0aXF1ZXRhICclcycgZGVtYXNpYWRvIGxhcmdhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgInNlIGhhY2UgY2FzbyBvbWlzbyBkZWwgYXJndW1lbnRvIGRlc2Nvbm9jaWRvOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvOiAlczogc2UgdXRpbGl6YXLDoW4gZXJyb3JlcyBhdXRvbcOhdGljb3MiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIFs8bWVuc2FqZT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIkludHJvZHVjZSBtZW5zYWplcyBlbiBlbCByZWdpc3RybyBkZWwgc2lzdGVtYS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmEgZWwgUElEIGRlIGxhIG9yZGVuIGRlbCBsb2dnZXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3Cittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgcmVnaXN0cmEgZWwgPGlkPiBkYWRvIG8sIGVuIG90cm8gY2FzbywgZWwgUElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpY2hlcm8+ICAgICBhbm90YSBlbCBjb250ZW5pZG8gZGUgZXN0ZSBmaWNoZXJvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBubyByZWdpc3RyYSBsw61uZWFzIHZhY8OtYXMgYWwgcHJvY2VzYXIgZmljaGVyb3NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQwCittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGhhY2UgdG9kbyBleGNlcHRvIGVzY3JpYmlyIGVuIGVsIHJlZ2lzdHJvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmNhIGVsIG1lbnNhamUgZGFkbyBjb24gZXN0YSBwcmlvcmlkYWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHV0aWxpemEgZWwgbcOpdG9kbyBkZSBjb250YXIgb2N0ZXRvcyBkZSByZmM2NTg3XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBidXNjYSBwcmVmaWpvIGVuIHRvZGFzIGxhcyBsw61uZWFzIHF1ZSBzZSBsZWFuIGRlIHN0ZGluXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIHNhY2EgbWVuc2FqZXMgdGFtYmnDqW4gcG9yIGxhIHNhbGlkYSBkZSBlcnJvciBlc3TDoW5kYXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHRhbWHDsW8+ICAgICAgbcOheGltbyB0YW1hw7FvIGRlIHVuIG1lbnNhamVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDxldGlxdWV0YT4gICAgIG1hcmNhIHRvZGFzIGxhcyBsw61uZWFzIGNvbiBlc3RhIGV0aXF1ZXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxub21icmU+ICAgIGVzY3JpYmUgZW4gZXN0ZSBzZXJ2aWRvciByZW1vdG8gZGUgc3lzbG9nXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAtUCwgLS1wb3J0IDxwdWVydG8+ICAgICAgdXRpbGl6YSBlc3RlIHB1ZXJ0byBwYXJhIGNvbmV4aW9uZXMgVURQIG8gVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXRpbGl6YSBzb2xhbWVudGUgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXRpbGl6YSBzb2xhbWVudGUgVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXRpbGl6YSBlbCBwcm90b2NvbG8gc3lzbG9nIGRlIEJTRCBvYnNvbGV0b1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTIKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHV0aWxpemEgZWwgcHJvdG9jb2xvIHN5c2xvZyAob3BjacOzbiBwcmVkZXRlcm1pbmFkYSBwYXJhIHJlbW90byk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBwdWVkZSBzZXIgbm90aW1lLCBvIG5vdHEsIHkvbyBub2hvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIElEIGRlIGRhdG9zIGVzdHJ1Y3R1cmFkb3MgcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxkYXRvcz4gICBub21icmUgZGUgZGF0b3MgZXN0cnVjdHVyYWRvcyByZmM1NDI0PXZhbG9yXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NgorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIGVzdGFibGVjZSBlbCBjYW1wbyBpZCBkZWwgbWVuc2FqZSByZmM1NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NworbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+IGVzY3JpYmUgcG9yIGVzdGUgwqtzb2NrZXTCuyBkZSBVbml4XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGltcHJpbWUgbG9zIGVycm9yZXMgZGUgY29uZXhpw7NuIGN1YW5kbyBzZSB1dGlsaXphbiBzb2NrZXRzIGRlIFVuaXhcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgIC0tam91cm5hbGRbPTxmaWNoZXJvPl0gZXNjcmliZSBlbnRyYWRhIGRlIGpvdXJuYWxkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJmaWNoZXJvICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCB0YW1hw7FvIGRlbCBtZW5zYWplIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICItLW1zZ2lkIG5vIHB1ZWRlIGNvbnRlbmVyIGVzcGFjaW8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAiSUQgZGUgZGF0b3MgZXN0cnVjdHVyYWRvcyBubyB2w6FsaWRvOiAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJlbCBwYXLDoW1ldHJvIGRlIGRhdG9zIGVzdHJ1Y3R1cmFkb3Mgbm8gZXMgdsOhbGlkbzogJyVzJyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxmaWNoZXJvPiB5IDxtZW5zYWplPiBzb24gbXV0YW1lbnRlIGV4Y2x1eWVudGVzOyBzZSBoYXLDoSBjYXNvIG9taXNvIGRlIG1lbnNhamUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1OQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gZXNjcmliaXIgbGEgZW50cmFkYSBqb3VybmFsZCIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gPGNhZGVuYT4gWzxmaWNoZXJvPi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIk11ZXN0cmEgbGFzIGzDrW5lYXMgcXVlIGVtcGllemFuIGNvbiB1bmEgY2FkZW5hIGRlIHRleHRvIGVzcGVjaWZpY2FkYS5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1dGlsaXphIGVsIGRpY2Npb25hcmlvIGFsdGVybmF0aXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJhIHNvbGFtZW50ZSBlc3BhY2lvcyB5IGNhcmFjdGVyZXMgYWxmYW51bcOpcmljb3NcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIG5vIHRpZW5lIGVuIGN1ZW50YSBkaWZlcmVuY2lhcyBlbnRyZSBtYXnDunNjdWxhcyB5IG1pbsO6c2N1bGFzIGFsIGNvbXBhcmFyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPGNhcsOhY3Rlcj4gZGVmaW5lIGVsIGNhcsOhY3RlciBkZSBmaW5hbGl6YWNpw7NuIGRlIGNhZGVuYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyCittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbWJyZSBkZSBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGludGVybm8gZGVsIGRpc3Bvc2l0aXZvIGRlbCBuw7pjbGVvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGludGVybm8gZGVsIGRpc3Bvc2l0aXZvIHBhZHJlIGRlbCBuw7pjbGVvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3IHN5cy11dGlscy96cmFtY3RsLmM6ODYKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgImRvbmRlIGVzdMOhIG1vbnRhZG8gZWwgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJFVElRVUVUQSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIlVVSUQgZGVsIHRpcG8gZGUgcGFydGljacOzbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MgorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiRVRJUVVFVEEgZGUgbGEgcGFydGljacOzbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAibGVjdHVyYSBwb3IgZGVsYW50ZSBkZWwgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIGRlIHPDs2xvIGxlY3R1cmEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJkaXNwb3NpdGl2byBleHRyYWlibGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICJkaXNwb3NpdGl2byBjb25lY3RhYmxlIHkgZGVzY29uZWN0YWJsZSBlbiBjYWxpZW50ZSAodXNiLCBwY21jaWEsIC4uLikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gZ2lyYXRvcmlvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJhw7FhZGUgYWxlYXRvcmllZGFkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgZGUgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgc2VyaWUgZGVsIGRpc2NvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImVzdGFkbyBkZWwgZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJub21icmUgZGVsIGdydXBvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgInBlcm1pc29zIGRlbCBub2RvIGRlbCBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImRlc3BsYXphbWllbnRvIGRlIGFsaW5lYWNpw7NuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBtw61uaW1vIGRlIEUvUyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgInRhbWHDsW8gw7NwdGltbyBkZSBFL1MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBkZWwgc2VjdG9yIGbDrXNpY28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBzZWN0b3IgbMOzZ2ljbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlbCBwbGFuaWZpY2Fkb3IgZGUgRS9TIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIGxhIGNvbGEgZGUgcGV0aWNpb25lcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJzZSBkZXNjYXJ0YSBlbCBkZXNwbGF6YW1pZW50byBkZWwgYWxpbmVhbWllbnRvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAic2UgZGVzY2FydGEgbGEgZ3JhbnVsYXJpZGFkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgInNlIGRlc2NhcnRhIGVsIG3DoXhpbW8gZGUgYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJzZSBkZXNjYXJ0YW4gbG9zIGRhdG9zIGEgY2VybyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICJlc2NyaXR1cmEgZGVsIG1pc21vIG3DoXhpbW8gZGUgYnR5ZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGRlIGFsbWFjZW5hbWllbnRvIMO6bmljbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJNw6FxdWluYTpDYW5hbDpPYmpldGl2bzpVbG9nIHBhcmEgU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAidGlwbyBkZSB0cmFuc3BvcnRlIGRlbCBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNQorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiZGVzaGFjZSBkdXBsaWNhZG8gZGUgY2FkZW5hIGRlIHN1YnNpc3RlbWFzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJ2ZXJzacOzbiBkZSBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgInZlbmRlZG9yIGRlbCBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIm1vZGVsbyBkZSB6b25hIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhYnJpciBlbCBkaXJlY3RvcmlvIGRlbCBkaXNwb3NpdGl2byBlbiBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBjb21wb25lciBsYSBydXRhIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGxlZXIgZW5sYWNlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogZmFsbG8gYWwgb2J0ZW5lciBlbCBub21icmUgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIG9idGVuZXIgZWwgbsO6bWVybyBkZSBkaXNwb3NpdGl2byBkZWwgZGlzY28gY29tcGxldG8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk0CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsYSBsaXN0YSAnJXMnIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImxhIGxpc3RhIGRlIGRpc3Bvc2l0aXZvcyBleGNsdWlkb3MgZXMgZGVtYXNpYWRvIGdyYW5kZSAoZWwgbMOtbWl0ZSBlcyBkZSAlZCBkaXNwb3NpdGl2b3MpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImxhIGxpc3RhIGRlIGRpc3Bvc2l0aXZvcyBpbmNsdWlkb3MgZXMgZGVtYXNpYWRvIGdyYW5kZSAoZWwgbMOtbWl0ZSBlcyBkZSAlZCBkaXNwb3NpdGl2b3MpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMyBzeXMtdXRpbHMvd2RjdGwuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbPGRpc3Bvc2l0aXZvPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJNdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBkaXNwb3NpdGl2b3MgZGUgYmxvcXVlcy5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGltcHJpbWUgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAgbm9pbXByaW1lIGVzY2xhdm9zIG5pIHBvcnRhZG9yZXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIGltcHJpbWUgbGFzIGNhcGFjaWRhZGVzIGRlIGRlc2NhcnRlXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiIC16LCAtLXpvbmVkICAgICAgICAgIGltcHJpbWUgZWwgbW9kZWxvIGRlIHpvbmFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA8bGlzdGE+ZXhjbHV5ZSBkaXNwb3NpdGl2b3MgcG9yIG7Dum1lcm8gbWF5b3IgKHBvciBvbWlzacOzbjogZGlzY29zIFJBTSlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDUKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZzICAgICAgICAgICAgIHNhY2EgaW5mb3JtYWNpw7NuIHNvYnJlIGxvcyBzaXN0ZW1hcyBkZSBmaWNoZXJvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NgorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1dGlsaXphIGNhcmFjdGVyZXMgYXNjaWkgc29sYW1lbnRlXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1JLCAtLWluY2x1ZGUgPGxpc3RhPm11ZXN0cmEgw7puaWNhbWVudGUgZGlzcG9zaXRpdm9zIGNvbiBsb3MgbsO6bWVyb3MgbWF5b3JlcyBlc3BlY2lmaWNhZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICB1dGlsaXphIGZvcm1hdG8gZGUgc2FsaWRhIEpTT05cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXRpbGl6YSBzYWxpZGEgY29uIGZvcm1hdG8gZGUgbGlzdGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKK21zZ2lkICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNlIHRyZWUgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXRpbGl6YSBzYWxpZGEgY29uIGZvcm1hdG8gZGUgw6FyYm9sXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICBzYWNhIGluZm9ybWFjacOzbiBzb2JyZSBsb3MgcGVybWlzb3NcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBubyBpbXByaW1lIGVuY2FiZXphZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUzIHN5cy11dGlscy9sc21lbS5jOjUwNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gY29sdW1uYXMgcXVlIG1vc3RyYXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICBzYWNhIHRvZGFzIGxhcyBjb2x1bW5hc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXAsIC0tcGF0aHMgICAgICAgICAgaW1wcmltZSBsYSBydXRhIGNvbXBsZXRhIGRlbCBkaXNwb3NpdGl2b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAgZGVwZW5kZW5jaWFzIGludmVyc2FzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgLVMsIC0tc2NzaSAgICAgICAgICAgc2FjYSBpbmZvcm1hY2nDs24gc29icmUgbG9zIGRpc3Bvc2l0aXZvcyBTQ1NJXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICBzYWNhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB0b3BvbG9nw61hXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYxCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAteCwgLS1zb3J0IDxjb2x1bW5hPiBvcmRlbmEgbGEgc2FsaWRhIHBvciA8Y29sdW1uYT5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gYWNjZWRlciBhbCBkaXJlY3RvcmlvIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIm9yZGVuIGRlbCBwcm9jZXNvIHF1ZSBzb3N0aWVuZSBlbCBibG9xdWVvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgZGVsIHByb2Nlc28gcXVlIHNvc3RpZW5lIGVsIGJsb3F1ZW8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICJ0aXBvIGRlIGJsb3F1ZW8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAidGFtYcOxbyBkZWwgYmxvcXVlbyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJtb2RvIGRlIGFjY2VzbyBhbCBibG9xdWVvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgImVzdGFkbyBvYmxpZ2F0b3JpbyBkZWwgYmxvcXVlbzogMCAobm8gaGF5KSwgMSAoZGVmaW5pZG8pIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJwb3NpY2nDs24gcmVsYXRpdmEgZGVsIGJsb3F1ZW8gZW4gYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAicG9zaWNpw7NuIGRlbCBmaW5hbCBkZWwgYmxvcXVlbyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAicnV0YSBkZWwgZmljaGVybyBibG9xdWVhZG8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgZGVsIHByb2Nlc28gcXVlIGVzdMOhIGJsb3F1ZWFuZG8gZWwgYmxvcXVlbyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgcGlkIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihkZXNjb25vY2lkbykiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZWwgcHJpbmNpcGlvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCBmaW5hbCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIkVudW1lcmEgbG9zIGJsb3F1ZW9zIGRlbCBzaXN0ZW1hIGxvY2FsLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGhhY2VyIGNhc28gb21pc28gZGUgYmxvcXVlb3Mgc2luIHBlcm1pc29zIGRlIGxlY3R1cmFcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBubyBpbXByaW1lIGVuY2FiZXphZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNCBzeXMtdXRpbHMvbHNucy5jOjkwNCBzeXMtdXRpbHMvcmZraWxsLmM6NTc0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBkZWZpbmUgcXVlIGNvbHVtbmFzIGRlIHNhbGlkYSB1dGlsaXphclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgbXVlc3RyYSBzb2xvIGxvcyBibG9xdWVvcyBxdWUgbWFudGllbmUgZXN0ZSBwcm9jZXNvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNiBzeXMtdXRpbHMvbHNucy5jOjkwNiBzeXMtdXRpbHMvcmZraWxsLmM6NTc1Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIGVuIGJydXRvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU2MyBzY2hlZHV0aWxzL2NocnQuYzo0NzUgc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE3MSBzeXMtdXRpbHMvbHNucy5jOjk4MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gUElEIGluY29ycmVjdG8iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIkdlbmVyYSDCq2Nvb2tpZXPCuyBtw6FnaWNhcyBwYXJhIHhhdXRoLlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmljaGVybz4gIHV0aWxpemEgZmljaGVybyBjb21vIHNlbWlsbGEgZGUgwqtjb29raWXCu1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdGEgbGEgY2FudGlkYWQgcXVlIHNlIGxlZSBkZSBsb3MgZmljaGVyb3MgZGUgc2VtaWxsYVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsaWNhIGxvIHF1ZSBzZSBlc3TDoSBoYWNpZW5kb1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlNlIGhhIG9idGVuaWRvICV6dSBieXRlIGRlICVzXG4iCittc2dzdHJbMV0gIlNlIGhhbiBvYnRlbmlkbyAlenUgYnl0ZXMgZGUgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBjZXJyYXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzEwCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsYSBsb25naXR1ZCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiLS1tYXgtc2l6ZSBpZ25vcmFkbyBjdWFuZG8gc2UgdXRpbGl6YSBzaW4gLS1maWxlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJTZSBoYSBvYnRlbmlkbyAlZCBieXRlIGRlICVzXG4iCittc2dzdHJbMV0gIlNlIGhhbiBvYnRlbmlkbyAlZCBieXRlcyBkZSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgImZhbGxvIGFsIGxlZXIgZW5sYWNlIHNpbWLDs2xpY286ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIlcyAtIE5vIGV4aXN0ZSBlbCBmaWNoZXJvIG8gZWwgZGlyZWN0b3Jpb1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8bm9tYnJlIGRlIHJ1dGE+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiU2lndWUgdW5hIHJ1dGEgaGFzdGEgZW5jb250cmFyIHVuIHB1bnRvIHRlcm1pbmFsLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBtdWVzdHJhIGxvcyBkaXJlY3RvcmlvcyBkZSBwdW50b3MgZGUgbW9udGFqZSBjb24gdW5hICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIG11ZXN0cmEgbG9zIGJpdHMgZGUgbW9kbyBkZSBjYWRhIGZpY2hlcm9cbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBtdWVzdHJhIGVsIG5vbWJyZSBkZSBwcm9waWV0YXJpbyB5IGVsIGRlIGdydXBvIGRlIGNhZGEgZmljaGVyb1xuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHV0aWxpemEgZm9ybWF0byBkZSBsaXN0YWRvIGxhcmdvICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgbm8gc2lndWUgbG9zIGVubGFjZXMgc2ltYsOzbGljb3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBhbGluZWEgdmVydGljYWxtZW50ZSBsb3MgbW9kb3MgeSBsb3MgcHJvcGlldGFyaW9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJmYWx0YSBlbCBhcmd1bWVudG8gZGVsIG5vbWJyZSBkZSBydXRhIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgImZhbGxvIGFsIGFzaWduYXIgbGEgY2FjaMOpIFVJRCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgImZhbGxvIGFsIGFzaWduYXIgbGEgY2FjaMOpIEdJRCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiVzOiBzZSBoYSBzdXBlcmFkbyBlbCBsw61taXRlIGRlIGVubGFjZXMgc2ltYsOzbGljb3MiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBubyBlcyB1biBlbmxhY2Ugc2ltYsOzbGljbyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogcmVhZGxpbmsgaGEgZmFsbGFkbyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIiBTYWx0YSBlbCBlbmxhY2UgZXhpc3RlbnRlOiBgJXMnXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiB1bmxpbmsgaGEgZmFsbGFkbyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBlbCBlbmxhemFkbyBzaW1iw7NsaWNvIGEgJXMgaGEgZmFsbGFkbyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICJTYWx0YW5kbyBmaWNoZXJvIHF1ZSB5YSBleGlzdGU6IGAlcydcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBjYW1iaWFyIGVsIG5vbWJyZSBhICVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8ZXhwcmVzacOzbj4gPHN1c3RpdHV0bz4gPGZpY2hlcm8+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM4Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJDYW1iaWEgZWwgbm9tYnJlIGRlIHVuIGZpY2hlcm8uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGljYSBsbyBxdWUgc2UgZXN0w6EgaGFjaWVuZG9cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICAgICBhY3TDumEgc29icmUgZWwgb2JqZXRpdm8gZGUgbG9zIGVubGFjZXMgc2ltYsOzbGljb3NcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICBubyBoYWNlIG5pbmfDum4gY2FtYmlvXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQ0Cittc2dpZCAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgZG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzXG4iCittc2dzdHIgIiAtbywgLS1uby1vdmVyd3JpdGUgIG5vIHNvYnJlZXNjcmliaXIgZmljaGVyb3MgZXhpc3RlbnRlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiRGVtb25pbyBwYXJhIGdlbmVyYXIgVVVJRHMuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHJ1dGE+ICAgICAgICBydXRhIGRlbCBmaWNoZXJvIHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNvY2tldCA8cnV0YT4gICAgIHJ1dGEgZGVsIMKrc29ja2V0wrtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtVCwgLS10aW1lb3V0IDxzPiAgICAgICBlc3BlY2lmaWNhIGVsIHRpZW1wbyBsw61taXRlIGRlIGluYWN0aXZpZGFkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtaywgLS1raWxsICAgICAgICAgICAgICBtYXRhIGRlbW9uaW8gZW4gZWplY3VjacOzblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgcHJ1ZWJhIGxhIGdlbmVyYWNpw7NuIGJhc2FkYSBlbiBhbGVhdG9yaW9zXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgcHJ1ZWJhIGxhIGdlbmVyYWNpw7NuIGJhc2FkYSBlbiB0aWVtcG9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtbiwgLS11dWlkcyA8bsO6bWVybz4gICAgc29saWNpdGEgZWwgbsO6bWVybyBkZSB1dWlkc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgbm8gY3JlYSBmaWNoZXJvIHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgbm8gZGVtb25pemEgdXRpbGl6YW5kbyBkb2JsZSDCq2ZvcmvCu1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBubyBjcmVhIHNvY2tldCBkZSBlc2N1Y2hhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGVqZWN1dGEgZW4gbW9kbyBkZXB1cmFjacOzblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBhY3RpdmEgZWwgbW9kbyBzaWxlbmNpb3NvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJhcmd1bWVudG9zIGluY29ycmVjdG9zIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJzb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjcKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJjb25leGnDs24iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiZXNjcml0dXJhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU1Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAibsO6bWVybyBkZSBsZWN0dXJhcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2MQorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgImxvbmdpdHVkIGRlIHJlc3B1ZXN0YSBpbmNvcnJlY3RhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBibG9xdWVhciAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjcmVhciBlbCDCq3NvY2tldMK7IHVuaXggb3JpZW50YWRvIGEgbGEgY29uZXhpw7NuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhc29jaWFyIGVsIMKrc29ja2V0wrsgdW5peCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gcmVjaWJpciBsYSBzZcOxYWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMDIKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgInRpZW1wbyBkZSBlc3BlcmEgZXhjZWRpZG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY29uZmlndXJhciBlbCB0ZW1wb3JpemFkb3IiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgImVsIGRlbW9uaW8gdXVpZCB5YSBlc3TDoSBjb3JyaWVuZG8gY29uIGVsIHBpZCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBwb25lciBhIGxhIGVzY3VjaGEgZWwgwqtzb2NrZXTCuyB1bml4ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIHRydW5jYXIgZWwgZmljaGVybzogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzcKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZF9saXN0ZW5fZmRzKCkgaGEgZmFsbGFkbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICJubyBzZSBoYSByZWNpYmlkbyBuaW5nw7puIGRlc2NyaXB0b3IgZGUgZmljaGVybzsgY29tcHJvYmFyIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJzZSBoYW4gcmVjaWJpZG8gZGVtYXNpYWRvcyBkZWNyaXB0b3JlcyBkZSBmaWNoZXJvOyBjb21wcm9iYXIgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAidGllbXBvIGRlIGVzcGVyYSBbJWQgc11cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4OTkgdGV4dC11dGlscy9jb2x1bW4uYzo0OTYKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NTI5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGxlZXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImVycm9yIGRlIGxlY3R1cmEgZGVsIGNsaWVudGUsIGxvbmdpdHVkID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJvcGVyYWNpw7NuICVkLCBuw7ptZXJvIGVudHJhbnRlID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAib3BlcmFjacOzbiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIlVVSUQgZGUgdGllbXBvIGdlbmVyYWRvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCBhbGVhdG9yaW8gZ2VuZXJhZG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICJVVUlEIGRlIHRpZW1wbyBnZW5lcmFkbyAlcyB5ICVkIHNpZ3VpZW50ZVxuIgorbXNnc3RyWzFdICJVVUlEIGRlIHRpZW1wbyBnZW5lcmFkbyAlcyB5ICVkIHNpZ3VpZW50ZXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICIlZCBVVUlEIGdlbmVyYWRvOlxuIgorbXNnc3RyWzFdICIlZCBVVUlEcyBnZW5lcmFkb3M6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiT3BlcmFjacOzbiBubyB2w6FsaWRhICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIkxvbmdpdHVkIGluZXNwZXJhZGEgZGUgbGEgcmVzcHVlc3RhIGRlbCBzZXJ2aWRvciAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjU5MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciAtLXV1aWRzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjA4Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAic2UgaGEgY29uc3RydWlkbyBlbCB1dWlkZCBzaW4gc29wb3J0ZSBwYXJhIGxhIGFjdGl2YWNpw7NuIGRlIMKrc29ja2V0c8K7IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjI3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIm5vbWJyZSBkZSB2b2x1bWVuIGRlbWFzaWFkbyBsYXJnbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIlNlIGhhIGVzcGVjaWZpY2FkbyAtLXNvY2tldC1hY3RpdmF0aW9uIHkgLS1zb2NrZXQuIFNlIGlnbm9yYSAtLXNvY2tldC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJlcnJvciBhbCBsbGFtYXIgYWwgZGVtb25pbyB1dWlkZCAoJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU1IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODMKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJlcnJvciBpbmVzcGVyYWRvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJXMgeSAlZCBVVUlEIHNpZ3VpZW50ZVxuIgorbXNnc3RyWzFdICIlcyB5ICVkIFVVSURzIHNpZ3VpZW50ZXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJMaXN0YSBkZSBVVUlEczpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbWF0YXIgZWwgdXVpZGQgcXVlIGVzdMOhIGNvcnJpZW5kbyBjb24gZWwgcGlkICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiTWF0YWRvIGVsIHV1aWRkIHF1ZSBlc3RhYmEgY29ycmllbmRvIGNvbiBwaWQgJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIkNyZWEgdW4gdW4gdmFsb3IgbnVldm8gZGUgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmEgdXVpZCBiYXNhZG8gZW4gbsO6bWVyb3MgYWxlYXRvcmlvc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMworbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmEgdXVpZCBiYXNhZG8gZW4gdGllbXBvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYSB1dWlkIGJhc2FkbyBlbiDCq2hhc2jCuyBlbiBlc3RlIGVzcGFjaW8gZGUgbm9tYnJlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIgLU4sIC0tbmFtZSBub21icmUgICBnZW5lcmEgdXVpZCBiYXNhZG8gZW4gwqtoYXNowrsgYSBwYXJ0aXIgZGUgZXN0ZSBub21icmVcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmEgwqtoYXNowrsgbWQ1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYSDCq2hhc2jCuyBzaGExXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgaW50ZXJwcmV0IG5hbWUgYXMgaGV4IHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXRhIGVsIG5vbWJyZSBjb21vIHVuYSBjYWRlbmEgaGV4YWRlY2ltYWxcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIMO6bmljbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NworbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAibm9tYnJlIHZhcmlhbnRlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4Cittc2dpZCAidHlwZSBuYW1lIgorbXNnc3RyICJub21icmUgZGUgdGlwbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAibWFyY2EgZGUgdGllbXBvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8dXVpZD4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAwCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXRpbGl6YSBmb3JtYXRvIGRlIHNhbGlkYSBKU09OIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBubyBpbXByaW1lIGVuY2FiZXphZG9zIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIC1vLCAtLW91cHV0IDxsaXN0YT4gICAgQ09MVU1OQVMgcXVlIHNlIG1vc3RyYXLDoW4gKHZlciBhYmFqbykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXRvIGRlIHNhbGlkYSBlbiBicnV0byIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCittc2dpZCAiaW52YWxpZCIKK21zZ3N0ciAibm8gdsOhbGlkbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxODYKK21zZ2lkICJvdGhlciIKK21zZ3N0ciAib3RybyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTcKK21zZ2lkICJuaWwiCittc2dzdHIgIm51bG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiYmFzYWRvIGVuIHRpZW1wbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDgKK21zZ2lkICJuYW1lLWJhc2VkIgorbXNnc3RyICJiYXNhZG8gZW4gbm9tYnJlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxMQorbXNnaWQgInJhbmRvbSIKK21zZ3N0ciAiYWxlYXRvcmlvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNAorbXNnaWQgInNoYTEtYmFzZWQiCittc2dzdHIgImJhc2FkbyBlbiBzaGExIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI2NyBtaXNjLXV0aWxzL3dpcGVmcy5jOjE3MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzIyCisjOiBzeXMtdXRpbHMvbHNucy5jOjgwNiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5NgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBpbmljaWFsaXphciBsYSBjb2x1bW5hIGRlIHNhbGlkYSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5vbWJyZT5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIkxvY2FsaXphIGxvcyBmaWNoZXJvcyBiaW5hcmlvcywgZnVlbnRlcyB5IHDDoWdpbmFzIGRlbCBtYW51YWwgZGUgdW4gcHJvZ3JhbWEuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgLWIgICAgICAgICBidXNjYSBzb2xhbWVudGUgYmluYXJpb3NcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtQiA8ZGlycz4gIGRlZmluZSBsYSBydXRhIGRlIGLDunNxdWVkYSBwYXJhIGJpbmFyaW9zXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgLW0gICAgICAgICBidXNjYSBzb2xhbWVudGUgbWFudWFsZXMgZSBpbmZvc1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtTSA8ZGlycz4gIGRlZmluZSBsYSBydXRhIGRlIGLDunNxdWVkYSBkZSBtYW55IGRlIGluZm9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgYnVzY2Egc29sYW1lbnRlIGZ1ZW50ZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDxkaXJzPiAgZGVmaW5lIGxhIHJ1dGEgZGUgYsO6c3F1ZWRhIHBhcmEgZnVlbnRlc1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgbWFyY2EgZWwgZmluYWwgZGUgbGEgbGlzdGEgZGVsIGFyZ3VtZW50byA8ZGlycz5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgYnVzY2EgZW50cmFkYXMgcG9jbyBoYWJpdHVhbGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHNhY2EgbGFzIHJ1dGFzIGRlIGLDunNxdWVkYSBlZmVjdGl2YXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgImZhbHRhIGxhIG9wY2nDs24gLWYiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTAzCittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCBkZSBwYXJ0aWNpw7NuL3Npc3RlbWEgZGUgZmljaGVyb3MiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA1Cittc2dpZCAibWFnaWMgc3RyaW5nIGxlbmd0aCIKK21zZ3N0ciAibG9uZ2l0dWQgZGUgbGEgY2FkZW5hIG3DoWdpY2EiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA2Cittc2dpZCAic3VwZXJibG9rIHR5cGUiCittc2dzdHIgInRpcG8gZGUgc3VwZXJibG9xdWUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA3Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAiZGVzcGxhemFtaWVudG8gZGUgbGEgY2FkZW5hIG3DoWdpY2EiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGVzY3JpcGNpw7NuIGRlbCB0aXBvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICJub21icmUgZGVsIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgInRhYmxhIGRlIHBhcnRpY2lvbmVzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJlcnJvcjogJXM6IGxhIHBydWViYSBkZSBsYSBpbmljaWFsaXphY2nDs24gaGEgZmFsbGFkbyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBib3JyYXIgbGEgY2FkZW5hIG3DoWdpY2EgJXMgZW4gZWwgZGVzcGxhemFtaWVudG8gMHglMDhqeCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6IHNlIGhhIGJvcnJhZG8gJXpkIGJ5dGUgZW4gZWwgZGVzcGxhemFtaWVudG8gMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMV0gIiVzOiBzZSBoYW4gYm9ycmFkbyAlemQgYnl0ZXMgZW4gZWwgZGVzcGxhemFtaWVudG8gMHglMDhqeCAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBjcmVhciByZXNwYWxkbyBkZSBsYSBmaXJtYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiBsbGFtYW5kbyBhIGlvY3RsKCkgcGFyYSB2b2x2ZXIgYSBsZWVyIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzOiAlbVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjcmVhciByZXNwYWxkbyBkZSBsYSBmaXJtYTsgJEhPTUUgcXVlZGEgc2luIGRlZmluaXIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBzZSBoYWNlIGNhc28gb21pc28gZGUgbGEgdGFibGEgZGUgcGFydGljacOzbiBhbmlkYWRhIFwiJXNcIiBzb2JyZSBlbCBkaXNwb3NpdGl2byBkZSBkaXNjbyBubyBjb21wbGV0byIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBlbCBkZXNwbGF6YW1pZW50byAweCVqeCBubyBzZSBoYSBlbmNvbnRyYWRvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJVdGlsaWNlIGxhIG9wY2nDs24gLS1mb3JjZSBwYXJhIGZvcnphciBlbCBib3JyYWRvLiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDUKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIkxpbXBpYSBsYXMgZmlybWFzIGRlIHVuIGRpc3Bvc2l0aXZvLiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgIGxpbXBpYSB0b2RhcyBsYXMgY2FkZW5hcyBtw6FnaWNhcyAowqFDVUlEQURPISkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYSByZXNwYWxkbyBkZSBsYSBmaXJtYSBlbiAkSE9NRSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICBmdWVyemEgYm9ycmFkbyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTEKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1pLCAtLW5vaGVhZGluZ3MgICAgbm8gaW1wcmltZSBlbmNhYmV6YWRvcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICB1dGlsaXphIGZvcm1hdG8gZGUgc2FsaWRhIEpTT04iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgIGhhY2UgdG9kbyBleGNlcHRvIGxhIHByb3BpYSBsbGFtYWRhIGEgd3JpdGUoKSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBkZXNwbGF6YW1pZW50byBwYXJhIGJvcnJhciwgZW4gYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxsaXN0YT4gQ09MVU1OQVMgcXVlIHNlIG1vc3RyYXLDoW4gKHZlciBhYmFqbykiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2Cittc2dpZCAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiIC1wLCAtLXBhcnNhYmxlICAgICAgaW1wcmltZSBlbiBmb3JtYXRvIGFuYWxpemFibGUgZW4gbHVnYXIgZGUgaW1wcmltaWJsZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHJpbWUgbG9zIG1lbnNhamVzIGRlIHNhbGlkYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXMiCittc2dzdHIgIiIKKyIgLXQsIC0tdHlwZXMgPGxpc3RhPiBsaW1pdGEgZWwgY29uanVudG8gZGUgc2lzdGVtYXMgZGUgZmljaGVyb3MsIFJBSURzIG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICB0YWJsYXMgZGUgcGFydGljaW9uZXMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIkxhIG9wY2nDs24gLS1iYWNrdXAgY2FyZWNlIGRlIHNpZ25pZmljYWRvIGVuIGVzdGUgY29udGV4dG8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTXVlc3RyYSBvIG1vZGlmaWNhIGxvcyBhdHJpYnV0b3MgZGUgcGxhbmlmaWNhY2nDs24gZGUgdGllbXBvIHJlYWwgZGUgdW4gcHJvY2Vzby5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisiRXN0YWJsZWNlIGxhcyBwb2zDrXRpY2FzOlxuIgorIiBjaHJ0IFtvcGNpb25lc10gPHByaW9yaWRhZD4gPG9yZGVuPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wY2lvbmVzXSAtLXBpZCA8cHJpb3JpZGFkPiA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIk9idGllbmUgbGFzIHBvbMOtdGljYXM6XG4iCisiIGNocnQgW29wY2lvbmVzXSAtcCA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3BjaW9uZXMgZGUgbGFzIHBvbMOtdGljYXM6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiAtYiwgLS1iYXRjaCAgICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0JBVENIXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAtZCwgLS1kZWFkbGluZSAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIGVzdGFibGVjZSBsYSBwb2zDrXRpY2EgU0NIRURfRklGT1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtaSwgLS1pZGxlICAgICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0lETEVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW90aGVyICAgICAgICAgIGVzdGFibGVjZSBsYSBwb2zDrXRpY2EgU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX1JSIChwcmVkZXRlcm1pbmFkbylcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICJPcGNpb25lcyBkZSBwbGFuaWZpY2FjacOzbjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgcG9uZSBTQ0hFRF9SRVNFVF9PTl9GT1JLIHBhcmEgRklGTyBvIFJSXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBwYXLDoW1ldHJvIHRpZW1wbyBkZSBlamVjdWNpw7NuIHBhcmEgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZG8gPG5zPiAgcGFyw6FtZXRybyB0aWVtcG8gcGFyYSBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IHBhcsOhbWV0cm8gcGxhem8gZGUgdmVuY2ltaWVudG8gcGFyYSBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICJPdHJhcyBvcGNpb25lczpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwtdGFza3MgICAgICBhY3TDumEgc29icmUgdG9kYXMgbGFzIHRhcmVhcyAoaGlsb3MpIGRlIHVuIHBpZCBkZXRlcm1pbmFkb1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXggICAgICAgICAgICBtdWVzdHJhIGxhcyBwcmlvcmlkYWRlcyB2w6FsaWRhcyBtw61uaW1hIHkgbcOheGltYVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgIGFjdMO6YSBzb2JyZSBlbCBwaWQgZXhpc3RlbnRlIGRhZG9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBtdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBlbCBlc3RhZG9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMxIHNjaGVkdXRpbHMvY2hydC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiZmFsbG8gYWwgb2J0ZW5lciBsYSBwb2zDrXRpY2EgZGVsIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiZmFsbG8gYWwgb2J0ZW5lciBsb3MgYXRyaWJ1dG9zIGRlbCBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJudWV2YSBwb2zDrXRpY2EgZGUgcGxhbmlmaWNhY2nDs24gZGVsIHBpZCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicG9sw610aWNhIGFjdHVhbCBkZSBwbGFuaWZpY2FjacOzbiBkZWwgcGlkICVkOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJudWV2YSBwb2zDrXRpY2EgZGUgcGxhbmlmaWNhY2nDs24gZGVsIHBpZCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicG9sw610aWNhIGFjdHVhbCBkZSBwbGFuaWZpY2FjacOzbiBkZWwgcGlkICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIm51ZXZvcyBwYXLDoW1ldHJvcyBkZSB0aWVtcG8gZGUgZWplY3VjacOzbi9wbGF6byBkZSB2ZW5jaW1pZW50by9wZXJpb2RvIGRlbCBwaWQgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBhcsOhbWV0cm9zIGFjdHVhbGVzIGRlIHRpZW1wbyBkZSBlamVjdWNpw7NuL3BsYXpvIGRlIHZlbmNpbWllbnRvL3BlcmlvZG8gZGVsIHBpZCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgbGEgbGlzdGEgZGUgdGFyZWFzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJwcmlvZGlkYWQgbcOtbi9tw6F4IGRlICVzXHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICLCvyVzIG5vIGVzdMOhIHNvcG9ydGFkbz9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJmYWxsbyBhbCBjb25maWd1cmFyIGxhIHBvbMOtdGljYSBkZWwgdGlkICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgImZhbGxvIGFsIGNvbmZpZ3VyYXIgbGEgcG9sw610aWNhIGRlbCBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIHRpZW1wbyBkZSBlamVjdWNpw7NuIG5vIHbDoWxpZG8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gcGVyaW9kbyBubyB2w6FsaWRvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gcGxhem8gZGUgdmVuY2ltaWVudG8gbm8gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE1Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIHByaW9yaWRhZCBubyB2w6FsaWRvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTkKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAibGEgb3BjacOzbiAtLXJlc2V0LW9uLWZvcmsgZXN0w6Egc29wb3J0YWRhIHNvbGFtZW50ZSBwYXJhIGxhcyBwb2zDrXRpY2FzIFNDSEVEX0ZJRk8geSBTQ0hFRF9SUiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAibGFzIG9wY2lvbmVzIC0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBzb2xhbWVudGUgcHVlZGVuIHVzYXJzZSBjb24gU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUzOQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF9ERUFETElORSBubyBlc3TDoSBzb3BvcnRhZGEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgInZhbG9yIGRlIHByaW9yaWRhZCBubyBhZG1pdGlkbyBwYXJhIGxhIHBvbMOtdGljYTogJWQ6IHbDqWFzZSAtLW1heCBwYXJhIGVsIHJhbmdvIHbDoWxpZG8iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCBoYSBmYWxsYWRvIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczogcHJpb3JpZGFkICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQgaGEgZmFsbGFkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjaW9uZXNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wY2lvbmVzXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wY2lvbmVzXSA8b3JkZW4+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk11ZXN0cmEgbyBtb2RpZmljYSBsYSBjbGFzZSBkZSBwbGFuaWZpY2FjacOzbiBFL1MgeSBsYSBwcmlvcmlkYWQgZGUgdW4gcHJvY2Vzby5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzZT4gICAgbm9tYnJlIG8gbsO6bWVybyBkZSBsYSBjbGFzZSBkZSBwbGFuaWZpY2FjacOzbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5pbmd1bmEsIDE6IHRpZW1wbyByZWFsLCAyOiBtZWpvciBlc2Z1ZXJ6bywgMzogZGVzb2N1cGFkYVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNgorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcmlkYWQgKDAuLjcpIGVuIGxhIGNsYXNlIGRlIHBsYW5pZmljYWNpw7NuIGVzcGVjaWZpY2FkYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHNvbG8gcGFyYSBsYXMgY2xhc2VzIGRlIHRpZW1wbyByZWFsIHkgZGUgbWVqb3IgZXNmdWVyem9cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3TDumEgc29icmUgZXN0b3MgcHJvY2Vzb3MgZW4gZWplY3VjacOzblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3TDumEgc29icmUgcHJvY2Vzb3MgZW4gZWplY3VjacOzbiBwZXJ0ZW5lY2llbnRlcyBhICBlc3RvcyBncnVwb3NcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgbm8gdGllbmUgZW4gY3VlbnRhIGZhbGxvc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdMO6YSBzb2JyZSBwcm9jZXNvcyBlbiBlamVjdWNpw7NuIHBlcnRlbmVjaWVudGVzIGEgZXN0b3MgdXN1YXJpb3NcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBkYXRvcyBkZSBjbGFzZSBubyB2w6FsaWRvIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBjbGFzZSBubyB2w6FsaWRvIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIkNsYXNlIGRlIHBsYW5pZmljYWNpw7NuIGRlc2Nvbm9jaWRhOiAnJXMnIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJzb2xvIHNlIHB1ZWRlIG1hbmVqYXIgdW4gcGlkLCBwZ2lkIG8gdWlkIGEgbGEgdmV6IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIFBHSUQgbm8gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIFBHSUQgbm8gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICJzZSBoYWNlIGNhc28gb21pc28gZGUgbG9zIGRhdG9zIGRlIGxhIGNsYXNlIGVzcGVjaWZpY2FkYSBwYXJhIGxhIGNsYXNlIMKrbmluZ3VuYcK7IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgInNlIGhhY2UgY2FzbyBvbWlzbyBkZSBsb3MgZGF0b3MgZGUgbGEgY2xhc2UgZXNwZWNpZmljYWRhIHBhcmEgbGEgY2xhc2UgwqtkZXNvY3VwYWRhwrsiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiY2xhc2UgZGUgcHJpb3JpZGFkICVkIGRlc2Nvbm9jaWRhIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyJNb2RvIGRlIGVtcGxlbzogJXMgW29wY2lvbmVzXSBbbcOhc2NhcmEgfCBsaXN0YS1jcHVdIFtwaWR8b3JkZW4gW2FyZ3MuLi5dXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJNdWVzdHJhIG8gbWlkaWZjYSBsYSBhZmluaWRhZCBkZSB1biBwcm9jZXNvIGEgbGEocykgQ1BVKHMpLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCittc2dzdHIgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBhY3TDumEgc29icmUgdG9kYXMgbGFzIHRhcmVhcyAoaGlsb3MpIGRlIHVuIGRldGVybWluYWRvIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBhY3TDumEgc29icmUgdW4gZGV0ZXJtaW5hZG8gcGlkIHF1ZSBleGlzdGVcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgbXVlc3RyYSB5IGVzcGVjaWZpY2EgbGFzIGNwdXMgZW4gZm9ybWF0byBkZSBsaXN0YVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorIkVsIGNvbXBvcnRhbWllbnRvIHByZWRlZmluaWRvIGVzIGVqZWN1dGFyIHVuYSBvcmRlbiBudWV2YTpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJTZSBwdWVkZSByZWN1cGVyYXIgbGEgbcOhc2NhcmEgZGUgdW5hIHRhcmVhIGV4aXN0ZW50ZTpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPIGVzdGFibGVjZXJsYTpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJFbCBmb3JtYXRvIGRlIGxpc3RhIHV0aWxpemEgdW5hIGxpc3RhIGRlIGVsZW1lbnRvcyBzZXBhcmFkb3MgcG9yIGNvbWEgZW4gbHVnYXIgZGUgdW5hIG3DoXNjYXJhOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJMb3MgcmFuZ29zIGVuIGVsIGZvcm1hdG8gZGUgbGlzdGEgcHVlZGVuIHRvbWFyIHVuIGFyZ3VtZW50byBkZSB0cmFtbzpcbiIKKyIgICAgZS5nLiAwLTMxOjIgZXMgZXF1aXZhbGVudGUgYSBsYSBtw6FzY2FyYSAweDU1NTU1NTU1XG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJudWV2YSBsaXN0YSBkZSBhZmluaWRhZCBkZWwgcGlkICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgImxpc3RhIGRlIGFmaW5pZGFkIGFjdHVhbCBkZWwgcGlkICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAibnVldmEgbcOhc2NhcmEgZGUgYWZpbmlkYWQgZGVsIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJtw6FzY2FyYSBkZSBhZmluaWRhZCBhY3R1YWwgZGVsIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiZXJyb3IgaW50ZXJubzogZmFsbG8gZGUgY29udmVyc2nDs24gZGUgY3B1c2V0IGEgY2FkZW5hIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiZmFsbG8gYWwgZXN0YWJsZWNlciBsYSBhZmluaWRhZCBkZWwgcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiZmFsbG8gYWwgb2J0ZW5lciBsYSBhZmluaWRhZCBkZWwgcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZGV0ZXJtaW5hciBlbCBOUl9DUFVTOyBzZSBhYm9ydGEiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY3B1c2V0X2FsbG9jIGhhIGZhbGxhZG8iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNCBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgbGlzdGEgZGUgQ1BVczogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsYSBtw6FzY2FyYSBkZSBDUFVzICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogU2UgaGFuIHJlbGxlbmFkbyBjb24gY2Vyb3MgJTxQUkl1NjQ+IGJ5dGVzIGRlc2RlIGVsIGRlc3BsYXphbWllbnRvICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6IFNlIGhhbiBkZXNjYXJ0YWRvICU8UFJJdTY0PiBieXRlcyBkZXNkZSBlbCBkZXNwbGF6YW1pZW50byAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4OAorbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiRGVzY2FydGEgZWwgY29udGVuaWRvIGRlIGNpZXJ0b3Mgc2VjdG9yZXMgZGUgdW4gZGlzcG9zaXRpdm8uXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gIGRlc3BsYXphbWllbnRvIGVuIGJ5dGVzIHBhcmEgZGVzY2FydGFyIGEgcGFydGlyIGRlIGFow61cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsb25naXR1ZCBkZSBsb3MgYnl0ZXMgcXVlIGRlc2NhcnRhciBkZXNkZSBlbCBkZXNwbGF6YW1pZW50b1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHRhbWHDsW8gZGUgw7FhcyBpdGVyYWNpb25lcyBkZSBkZXNjYXJ0ZSBkZW50cm8gZGVsIGRlc3BsYXphbWllbnRvXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtcywgLS1zZWN1cmUgICAgICAgIHJlYWxpemEgZGVzY2FydGUgZGUgc2VndXJpZGFkXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLXosIC0temVyb291dCAgICAgICByZWxsZW5hIGNvbiBjZXJvcyBlbiBsdWdhciBkZSBkZXNjYXJ0YXJcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgaW1wcmltZSBsYSBsb25naXR1ZCB5IGVsIGRlc3BsYXphbWllbnRvIGFsaW5lYWRvc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCBkZXNwbGF6YW1pZW50byIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZWwgcGFzbyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzYgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3MworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTExIHN5cy11dGlscy9mc3RyaW0uYzozMzYKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm7Dum1lcm8gZGUgYXJndW1lbnRvcyBpbmVzcGVyYWRvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvdGNsIEJMS0dFVFNJWkU2NCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS1NTWkdFVCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IGVsIGRlc3BsYXphbWllbnRvICU8UFJJdTY0PiBubyBlc3TDoSBhbGluZWFkbyBjb24gZWwgdGFtYcOxbyBkZWwgc2VjdG9yICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMSBzeXMtdXRpbHMvYmxrem9uZS5jOjE3MyBzeXMtdXRpbHMvYmxrem9uZS5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IGVsIGRlc3BsYXphbWllbnRvIGVzIG1heW9yIHF1ZSBlbCB0YW1hw7FvIGRlbCBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBsYSBsb25naXR1ZCAlPFBSSXU2ND4gbm8gZXN0w6EgYWxpbmVhZGEgY29uIGVsIHRhbWHDsW8gZGVsIHNlY3RvciAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgQkxLWkVST09VVCBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBCTEtTRUNESVNDQVJEIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS0RJU0NBUkQgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIk11ZXN0cmEgaW5mb3JtYWNpw7NuIGRlIHpvbmEgc29icmUgbG9zIGRpc3Bvc2l0aXZvcyBpbmRpY2Fkb3MiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiUmVpbmljaWEgdW4gcmFuZ28gZGUgem9uYXMuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxrZGV2X2dldF9zZWN0b3JzIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIGJsa2Rldl9nZXRfc2VjdG9ycyBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlc2NyaWJpciBkZXRlcm1pbmFyIGVsIHRhbWHDsW8gZGUgem9uYSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFUE9SVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW90Y2wgQkxLUkVQT1JUWk9ORSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIlNlIGVuY29udHJhcm9uICVkIHpvbmFzIGRlc2RlIDB4JTxQUkl4NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIgIHByaW5jaXBpbzogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0aXBvOiAldSglcyldXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBlbCBkZXNwbGF6YW1pZW50byAlPFBSSXU2ND4gbm8gZXN0w6EgYWxpbmVhZG8gY29uIGVsIHRhbWHDsW8gZGUgbGEgem9uYSAlbHUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2Ygc2VjdG9ycyAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiJXM6IGVsIG7Dum1lcm8gZGUgc2VjdG9yZXMgJTxQUkl1NjQ+IG5vIGVzdMOhIGFsaW5lYWRvIGNvbiBlbCB0YW1hw7FvIGRlIGxhIHpvbmEgJWx1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS1JFU0VUWk9ORSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3VjY2Vzc2Z1bGx5IHJlc2V0IGluIHJhbmdlIGZyb20gJTxQUkl1NjQ+LCB0byAlPFBSSXU2ND4iCittc2dzdHIgIiVzOiBzZSByZWluaWNpw7Mgc2F0aXNmYWN0b3JpYW1lbnRlIGVuIGVsIHJhbmdvIGRlICU8UFJJdTY0PiBhICU8UFJJdTY0PiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIDxvcmRlbj4gW29wY2lvbmVzXSA8ZGlzcG9zaXRpdm8+XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJFamVjdXRhIG9yZGVuIGRlIHpvbmEgZW4gZWwgZGlzcG9zaXRpdm8gZGUgYmxvcXVlIGluZGljYWRvLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPHNlY3Rvcj4gIHN0YXJ0IHNlY3RvciBvZiB6b25lIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc2VjdG9yIGluaWNpYWwgZGUgbGEgem9uYSBlbiBxdWUgYWN0dWFyIChlbiBzZWN0b3JlcyBkZSA1MTIgYnl0ZXMpXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8c2VjdG9yZXM+IHNlY3RvcmVzIG3DoXhpbW9zIGVuIHF1ZSBhY3R1YXIgKGVuIHNlY3RvcmVzIGRlIDUxMiBieXRlcylcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgLWMsIC0tY291bnQgPG7Dum1lcm8+ICAgbsO6bWVybyBtw6F4aW1vIGRlIHpvbmFzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgaW1wcmltZSBtw6FzIGRldGFsbGVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIiVzIG5vIGVzIHVuIG5vbWJyZSBkZSBvcmRlbiB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhbmFsaXphciBlbCBuw7ptZXJvIGRlIHpvbmFzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyIGVsIG7Dum1lcm8gZGUgc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mzc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCBkZXNwbGF6YW1pZW50byBkZSBsYSB6b25hIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKK21zZ2lkICJubyBjb21tYW5kIHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIG5pbmd1bmEgb3JkZW4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkxhIENQVSAldSBubyBleGlzdGUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiTGEgQ1BVICV1IG5vIHNlIHB1ZWRlIGVuY2h1ZmFyIGVuIGNhbGllbnRlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkxhIENQVSAldSB5YSBlc3TDoSBhY3RpdmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiTGEgQ1BVICV1IHlhIGVzdMOhIGRlc2FjdGl2YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBhY3RpdmFyIGxhIENQVSAldSAobGEgQ1BVIGVzdMOhIGRlc2NvbmZpZ3VyYWRhKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gYWN0aXZhciBsYSBDUFUgJXUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgYWN0aXZhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBkZXNhY3RpdmFyIGxhIENQVSAldSAow7psdGltYSBDUFUgYWN0aXZhZGEpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gZGVzYWN0aXZhciBsYSBDUFUgJXUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGRlc2FjdGl2YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICJFc3RlIHNpc3RlbWEgbm8gdGllbmUgbGEgY2FwYWNpZGFkIGRlIHZvbHZlciBhIGV4cGxvcmFyIGxhcyBDUFVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiTm8gc2VhIGhhIHBvZGlkbyBkaXNwYXJhciBsYSByZXBldGljacOzbiBkZSBsYSBleHBsb3JhY2nDs24gZGUgbGFzIENQVXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiU2UgaGEgZGlzcGFyYWRvIGxhIHJlcGV0aWNpw7NuIGRlIGxhIGV4cGxvcmFjacOzbiBkZSBsYXMgQ1BVc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiRXN0ZSBzaXN0ZW1hIG5vIHBlcm1pdGUgY29uZmlndXJhciBlbCBtb2RvIGRlIGRpc3RyaWJ1Y2nDs24gZGUgbGFzIENQVXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gZXN0YWJsZWNlciBlbCBtb2RvIGRlIGRpc3RyaWJ1Y2nDs24gaG9yaXpvbnRhbCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlNlIGhhIGNvbnNlZ3VpZG8gZXN0YWJsZWNlciBlbCBtb2RvIGRlIGRpc3RyaWJ1Y2nDs24gaG9yaXpvbnRhbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBlc3RhYmxlY2VyIGVsIG1vZG8gZGUgZGlzdHJpYnVjacOzbiB2ZXJ0aWNhbCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJTZSBoYSBjb25zZWd1aWRvIGVzdGFibGVjZXIgZWwgbW9kbyBkZSBkaXN0cmlidWNpw7NuIHZlcnRpY2FsXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiTGEgQ1BVICV1IG5vIGVzIGNvbmZpZ3VyYWJsZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiTGEgQ1BVICV1IHlhIGVzdMOhIGNvbmZpZ3VyYWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiTGEgQ1BVICV1IHlhIGVzdMOhIGRlc2NvbmZpZ3VyYWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBkZXNjb25maWd1cmFyIGxhIENQVSAldSAobGEgQ1BVIGVzdMOhIGFjdGl2YWRhKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJGYWxsbyBhbCBjb25maWd1cmFyIGxhIENQVSAldSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBjb25maWd1cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiRmFsbG8gYWwgZGVzY29uZmlndXJhciBsYSBDUFUgJXUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBkZXNjb25maWd1cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAibsO6bWVybyBkZSBDUFUgbm8gdsOhbGlkbyBlbiBsYSBsaXN0YSBkZSBDUFVzOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJNb2RvIGRlIGVtcGxlbzpcbiIKKyIgJXMgW29wY2lvbmVzXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDMKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIkNvbmZpZ3VyYSBsYXMgQ1BVcyBkZSB1biBzaXN0ZW1hIG11bHRpcHJvY2VzYWRvci5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ3Cittc2dpZCAiIgorIiAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCittc2dzdHIgIiIKKyIgIC1lLCAtLWVuYWJsZSA8bGlzdGEtY3B1PiAgICAgIGFjdGl2YSBsYXMgY3B1c1xuIgorIiAgLWQsIC0tZGlzYWJsZSA8bGlzdGEtY3B1PiAgICAgZGVzYWN0aXZhIGxhcyBjcHVzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGxpc3RhLWNwdT4gICBjb25maWd1cmEgbGFzIGNwdXNcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxsaXN0YS1jcHU+IGRlc2NvbmZpZ3VyYSBsYXMgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPG1vZG8+ICAgICAgICAgZXN0YWJsZWNlIGVsIG1vZG8gZGUgZGlzdHJpYnVjacOzblxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgbGFuemEgb3RyYSBleHBsb3JhY2nDs24gZGUgbGFzIGNwdXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnRvIG5vIHNvcG9ydGFkbzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIkJsb3F1ZSBkZSBtZW1vcmlhICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCDDrW5kaWNlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gYWN0aXZhciAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGRlc2FjdGl2YXIgJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgIiVzIGFjdGl2YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZWRcbiIKK21zZ3N0ciAiJXMgZGVzYWN0aXZhZGFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZW5hYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiU29sbyBzZSBoYSBwb2RpZG8gYWN0aXZhciAlcyBkZSBtZW1vcmlhIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBkaXNhYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiU29sbyBzZSBoYSBwb2RpZG8gZGVzYWN0aXZhciAlcyBkZSBtZW1vcmlhIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIiVzIHlhIGVzdMOhIGFjdGl2YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIiVzIHlhIGVzdMOhIGRlc2FjdGl2YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gYWN0aXZhciAlczogbm8gY29ycmVzcG9uZGUgbGEgem9uYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gZGVzYWN0aXZhciAlczogbm8gY29ycmVzcG9uZGUgbGEgem9uYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBhY3RpdmFyICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBkZXNhY3RpdmFyICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGxlZXIgJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBibG9jayBudW1iZXIiCittc2dzdHIgIkZhbGxvIGFsIGFuYWxpemFyIGVsIG7Dum1lcm8gZGUgYmxvcXVlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiRmFsbG8gYWwgYW5hbGl6YXIgZWwgdGFtYcOxby4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICJFbCB0YW1hw7FvIGRlYmUgZXN0YXIgYWxpbmVhZG8gY29uIGVsIHRhbWHDsW8gZGUgYmxvcXVlIGRlIG1lbW9yaWEgKCVzKSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkyCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJGYWxsbyBhbCBhbmFsaXphciBlbCBwcmluY2lwaW8iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIkZhbGxvIGFsIGFuYWxpemFyIGVsIGZpbmFsIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIkZvcm1hdG8gZGUgbGEgZGlyZWNjacOzbiBkZSBjb21pZW56byBubyB2w6FsaWRvOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAiRm9ybWF0byBkZSBsYSBkaXJlY2Npw7NuIGRlIGZpbmFsIG5vIHbDoWxpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAiRmFsbG8gYWwgYW5hbGl6YXIgbGEgZGlyZWNjacOzbiBkZSBjb21pZW56byIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCBhZGRyZXNzIgorbXNnc3RyICJGYWxsbyBhbCBhbmFsaXphciBsYSBkaXJlY2Npw7NuIGRlIGZpbmFsIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIkRpcmVjY2nDs24gZGUgY29taWVuem8geSAoZGlyZWNjacOzbiBkZSBmaW5hbCArIDEpIGRlYmVuIGVzdGFyIGFsaW5lYWRhcyBjb24gZWwgdGFtYcOxbyBkZSBibG9xdWUgZGUgbWVtb3JpYSAoJXMpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJhbWV0ZXI6ICVzIgorbXNnc3RyICJQYXLDoW1ldHJvIG5vIHbDoWxpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIlJhbmdvIG5vIHbDoWxpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbVEFNQcORT3xSQU5HT3xSQU5HT0RFQkxPUVVFXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICJFc3RhYmxlY2UgdW4gdGFtYcOxbyBvIHJhbmdvIGNvbmNyZXRvIGRlIG1lbW9yaWEgZW4gbMOtbmVhIG8gZnVlcmEgZGUgbMOtbmVhLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC1lLCAtLWVuYWJsZSAgICAgICBhY3RpdmEgbGEgbWVtb3JpYVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtZCwgLS1kaXNhYmxlICAgICAgZGVzYWN0aXZhIGxhIG1lbW9yaWFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQyCittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzICAgICAgIHV0aWxpemEgYmxvcXVlcyBkZSBtZW1vcmlhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MworbXNnaWQgIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iCittc2dzdHIgIiAteiwgLS16b25lIDxub21icmU+c2VsZWNjaW9uYSBsYSB6b25hIGRlIG1lbW9yaWEgKHbDqWFzZSBhYmFqbylcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgIGRhIG3DoXMgaW5mb3JtYWNpw7NuIGVuIGxhIHNhbGlkYVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDcKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIHpvbmVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiWm9uYXMgZGlzcG9uaWJsZXM6XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgInpvbmEgbm8gY29uc2lkZXJhZGE7IG5vIGhheSBhdHJpYnV0byB2YWxpZF96b25lcyBkZSBzeXNmcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbWVtb3J5IHpvbmU6ICVzIgorbXNnc3RyICJ6b25hIGRlIG1lbW9yaWEgZGVzY29ub2NpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiRXN0YWJsZWNlIGxhIGZ1bmNpw7NuIGRlIGxhIGNvbWJpbmFjacOzbiBDdHJsLUFsdC1EZWwuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiaW1wbMOtY2l0YSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgInZhbG9yIG5vIGVzcGVyYWRvIGVuOiAlczogJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiRGViZSBzZXIgZWwgdXN1YXJpbyByb290IHBhcmEgZGVmaW5pciBlbCBjb21wb3J0YW1pZW50byBkZSBDdHJsLUFsdC1TdXByIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgImFyZ3VtZW50byBkZXNjb25vY2lkbzogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEwOQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiZWwgc2lzdGVtYSBzZSBlbmN1ZW50cmEgZW4gdW4gZXN0YWRvIGludXRpbGl6YWJsZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgInNlIGRlYmUgdG9tYXIgdW5hIGFjY2nDs24gaW5tZWRpYXRhbWVudGUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpY2lvbmVzIGNyw610aWNhcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiY29uZGljaW9uZXMgZGUgZXJyb3IiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiY29uZGljaW9uZXMgZGUgYXZpc28iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJjb25kaWNpw7NuIG5vcm1hbCBwZXJvIHNpZ25pZmljYXRpdmEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgImluZm9ybWFjaW9uYWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWplIGRlIG5pdmVsIGRlIGRlcHVyYWNpw7NuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzAKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIm1lbnNhamVzIGRlbCBuw7pjbGVvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAibWVuYWplcyBkZSBuaXZlbCBkZSB1c3VhcmlvIGFsZWF0b3Jpb3MiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJzaXN0ZW1hIGRlIGNvcnJlbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgImRlbW9uaW9zIGRlbCBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWplcyBkZSBzZWd1cmlkYWQvYXV0b3JpemFjacOzbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAibWVuc2FqZXMgZ2VuZXJhZG9zIGludGVybmFtZW50ZSBwb3Igc3lzbG9nZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAic3Vic2lzdGVtYSBkZSBpbXByZXNvcmEgZGUgbMOtbmVhcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAic3Vic2lzdGVtYSBkZSBub3RpY2lhcyBkZSByZWQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJzdWJzaXN0ZW1hIFVVQ1AiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAiZGVtb25pbyBkZWwgcmVsb2oiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICJtZW5zYWplcyBkZSBzZWd1cmlkYWQvYXV0b3JpemFjacOzbiAocHJpdmFkb3MpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJkZW1vbmlvIEZUUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIk11ZXN0cmEgbyBjb250cm9sYSBlbCDCq2J1ZmZlcsK7IGNpcmN1bGFyIGRlbCBuw7pjbGVvLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBib3JyYSBlbCDCq2J1ZmZlcsK7IGNpcmN1bGFyIGRlbCBuw7pjbGVvXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgbGVlIHkgYm9ycmEgdG9kb3MgbG9zIG1lbnNhamVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGVzYWN0aXZhIGxhIGltcHJlc2nDs24gZGUgbWVuc2FqZXMgcG9yIGNvbnNvbGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGFjdGl2YSBsYSBpbXByZXNpw7NuIGRlIG1lbnNhamVzIHBvciBjb25zb2xhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDxmaWNoZXJvPiAgICAgICAgdXRpbGl6YSBlbCBmaWNoZXJvIGVuIGx1Z2FyIGRlbCDCq2J1ZmZlcsK7IGRlIHJlZ2lzdHJvIGRlbCBuw7pjbGVvXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIgLWYsIC0tZmFjaWxpdHkgPGxpc3RhPiAgICAgIHJlc3RyaW5nZSBsYSBzYWxpZGEgYSBsb3MgcmVjdXJzb3MgZGVmaW5pZG9zXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgc2FsaWRhIGxlZ2libGUgcGFyYSBodW1hbm9zXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBtdWVzdHJhIGxvcyBtZW5zYWplcyBkZWwgbsO6Y2xlb1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODAKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PGN1w6FuZG8+XSAgICAgIGNvbG9yZWEgbG9zIG1lbnNhamVzIChhdXRvLCBzaWVtcHJlIG8gbnVuY2EpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8bGlzdGE+ICAgICAgICAgcmVzdHJpbmdlIGxhIHNhbGlkYSBhIGxvcyBuaXZlbGVzIGRlZmluaWRvc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPG5pdmVsPiBlc3RhYmxlY2UgZWwgbml2ZWwgZGUgbG9zIG1lbnNhamVzIGltcHJpbWlkb3MgcG9yIGxhIGNvbnNvbGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgbm8gcmVkaXJpZ2UgbGEgc2FsaWRhIGEgdW4gYnVzY2FcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZnVlcnphIHNhbGlkYSBkZSBzZWxsbyBkZSB0aWVtcG8gZW4gY2FkYSBsw61uZWEgZGUgbWVuc2FqZXMgbXVsdGlsw61uZWFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgaW1wcmltZSBlbCDCq2J1ZmZlcsK7IGRlIG1lbnNhamVzIGVuIGJydXRvXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmdWVyemEgYSB1dGlsaXphciBzeXNsb2coMikgZW4gbHVnYXIgZGUgL2Rldi9rbXNnXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLXMsIC0tYnVmZmVyLXNpemUgPHRhbWHDsW8+ICB0YW1hw7FvIGRlIMKrYnVmZmVywrsgcGFyYSBjb25zdWx0YXIgZWwgwqtidWZmZXLCuyBjaXJjdWxhciBkZWwgbsO6Y2xlb1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgbXVlc3RyYSBsb3MgbWVuc2FqZXMgZGVsIGVzcGFjaW8gZCB1c3VhcmlvXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgZXNwZXJhIHBvciBtZW5zYWplcyBudWV2b3NcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlc2NvZGlmaWNhIHJlY3Vyc28geSBuaXZlbCBlbiB1bmEgY2FkZW5hIGxlZ2libGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgbXVlc3RyYSBsYSBkaWZlcmVuY2lhIGRlIHRpZW1wb3MgZW50cmUgbG9zIG1lbnNhamVzIGltcHJpbWlkb3NcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgbXVlc3RyYSBsYSBob3JhIGxvY2FsIHkgbGEgZGlmZXJlbmNpYSBkZSB0aWVtcG8gZW4gZm9ybWF0byBsZWdpYmxlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBtdWVzdHJhIHVuYSBtYXJjYSBkZSB0aWVtcG8gbGVnaWJsZSBwYXJhIGh1bWFub3MgKHB1ZWRlIG5vIHNlciBleGFjdG8pXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBubyBtdWVzdHJhIG5pbmd1bmEgbWFyY2EgZGUgdGllbXBvIGNvbiBsb3MgbWVuc2FqZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdG8+IG11ZXN0cmEgbGEgbWFyY2EgZGUgdGllbXBvIGNvbiBlbCBmb3JtYXRvIGVzcGVjaWZpY2FkbzpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kZXIvcmVhbnVkYXIgdm9sdmVyw6EgaW5leGFjdGFzIGxhcyBtYXJjYXMgZGUgdGllbXBvIGRlIGN0aW1lIGUgaXNvLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2VydmljaW9zIGRlIMKrbG9nwrsgZGlzcG9uaWJsZXM6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOaXZlbGVzIGRlIMKrbG9nwrsgZGlzcG9uaWJsZXMgKHByaW9yaWRhZGVzKTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBuaXZlbCAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICJuaXZlbCBkZXNjb25vY2lkbyAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIHJlY3Vyc28gJyVzJyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAicmVjdXJzbyBkZXNjb25vY2lkbyAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJmYWxsbyBkZSBtbWFwOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzNgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSB0YW1hw7FvIGRlIMKrYnVmZmVywrsgbm8gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ4OAorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIi0tc2hvdy1kZWx0YSBubyBzZSB0aWVuZSBlbiBjdWVudGEgY3VhbmRvIHNlIHV0aWxpemEganVudG8gY29uIGVsIGZvcm1hdG8gZGUgdGllbXBvIGlzbzg2MDEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiLS1yYXcgcHVlZGUgdXRpbGl6YXJzZSBjb25qdW50YW1lbnRlIGNvbiAtLWxldmVsIG8gLS1mYWNpbGl0eSBzb2xhbWVudGUgY3VhbmRvIHNlIGxlZW4gbWVuc2FqZXMgZGUgL2Rldi9rbXNnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgbGVlciBlbCDCq2J1ZmZlcsK7IGRlbCBuw7pjbGVvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxkaXNwb3NpdGl2bz58PHB1bnRvIGRlIG1vbnRhamU+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIkV4cHVsc2FyIGRpc3Bvc2l0aXZvIGV4dHJhaWJsZS5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICBhY3RpdmEgbyBkZXNhY3RpdmEgbGEgZnVuY2nDs24gZGUgYXV0b2V4cHVsc2nDs25cbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHJhbnVyYT4gIGFjdGl2YSBkaXNjb3MgZW4gdW4gY2FyZ2Fkb3IgZGUgQ0QtUk9NXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBtdWVzdHJhIGVsIGRpc3Bvc2l0aXZvIHByZWRldGVybWluYWRvXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlc3B1bHNhIGVsIGRpc3F1ZXRlXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBubyB0aWVuZSBlbiBjdWVudGEgZWwgdGlwbyBkZSBkaXNwb3NpdGl2b1xuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgYWN0aXZhIG8gZGVzYWN0aXZhIGxhIHByb3RlY2Npw7NuIGRlIGxhIGV4cHVsc2nDs24gbWFudWFsXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBubyBkZXNtb250YSBlbCBkaXNwb3NpdGl2byBhdW5xdWUgZXN0w6kgbW9udGFkb1xuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgbm8gZGVzbW9udGEgb3RyYXMgcGFydGljaW9uZXNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIG5vIGV4cHVsc2E7IHNvbG8gbXVlc3RyYSBlbCBkaXNwb3NpdGl2byBlbmNvbnRyYWRvXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1dGlsaXphIC9wcm9jL21vdW50cyBlbiBsdWdhciBkZSAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGV4cHVsc2EgZWwgY2FzZXRlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBleHB1bHNhIGVsIENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZXhwdWxzYSBlbCBkaXNwb3NpdGl2byBTQ1NJXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjaWVycmEgbGEgYmFuZGVqYVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgYWx0ZXJuYSBsYSBiYW5kZWphXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBhY3RpdmEgbGFzIGV4cGxpY2FjaW9uZXMgZW4gbGEgc2FsaWRhXG4iCisiIC14LCAtLWNkc3BlZWQgPHZlbG9jaWRhZD4gICBlc3RhYmxlY2UgbGEgdmVsb2NpZGFkIG3DoXhpbWEgZGVsIENELVJPTVxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgZW51bWVyYSBsYXMgdmVsb2NpZGFkZXMgZGVsIENELVJPTSBkaXNwb25pYmxlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvciBvbWlzacOzbiwgcHJ1ZWJhIC1yLCAtcywgLWYgeSAtcSBlbiBvcmRlbiBoYXN0YSBxdWUgZnVuY2lvbmUuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvIHBhcmEgbGEgb3BjacOzbiAtLWNoYW5nZXJzbG90Ly1jIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvIHBhcmEgbGEgb3BjacOzbiAtLWNkc3BlZWQvLWEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJsYSBvcmRlbiBkZSBhdXRvZXhwdWxzacOzbiBkZWwgQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiRWwgYmxvcXVlbyBkZSBsYSBwdWVydGEgZGVsIENELVJPTSBubyBlc3TDoSBpbXBsZW1lbnRhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJvdHJvcyB1c3VhcmlvcyB0aWVuZW4gbGEgdW5pZGFkIGFiaWVydGEgeSBubyBDQVBfU1lTX0FETUlOIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJsYSBvcmRlbiBkZSBibG9xdWVvIGRlIGxhIHB1ZXJ0YSBkZWwgQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OAorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkxhIHVuaWRhZCBkZSBDRCBOTyBwdWVkZSBleHB1bHNhcnNlIGNvbiBlbCBib3TDs24gZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkxhIHVuaWRhZCBkZSBDRCBwdWVkZSBleHB1bHNhcnNlIGNvbiBlbCBib3TDs24gZGVsIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjEKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImxhIG9yZGVuIGRlIHNlbGVjY2nDs24gZGUgZGlzY28gQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAibGEgb3JkZW4gZGUgY2FyZ2EgZGUgQ0QtUk9NIGRlc2RlIHVuYSByYW51cmEgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY3Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiZWwgY2FyZ2Fkb3IgZGUgQ0QtUk9NIElEL0FUQVBJIG5vIGVzdMOhIGFkbWl0aWRvIGVuIGVzdGUgbsO6Y2xlb1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiZWwgY29tYW5kbyBkZSBjaWVycmUgZGUgbGEgYmFuZGVqYSBkZWwgQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJMYSBvcmRlbiBkZSBjaWVycmUgZGUgbGEgYmFuZGVqYSBkZWwgQ0QtUk9NIG5vIGVzdMOhIGFkbWl0aWRhIGVuIGVzdGUgbsO6Y2xlb1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIkV4cHVsc2nDs24gZGUgQ0QtUk9NIG5vIGFkbWl0aWRhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkxhIG9yZGVuIGRlIGV4cHVsc2nDs24gZGVsIENELVJPTSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzUKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICJubyBoYXkgaW5mb3JtYWNpw7NuIGRpc3BvbmlibGUgc29icmUgZWwgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzgKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJMYSB1bmlkYWQgZGUgQ0QtUk9NIG5vIGVzdMOhIGxpc3RhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJMYSBvcmRlbiBkZSBzZWxlY2Npw7NuIGRlIHZlbG9jaWRhZCBkZWwgQ0QtUk9NIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MworbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJMYSBvcmRlbiBkZSBzZWxlY2Npw7NuIGRlIHZlbG9jaWRhZCBkZWwgQ0QtUk9NIG5vIGVzdMOhIGFkbWl0aWRhIGVuIGVzdGUgbsO6Y2xlbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBlbmNvbnRyYXIgZWwgbm9tYnJlIGRlbCBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gbGVlciBsYSB2ZWxvY2lkYWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbGVlciBsYSB2ZWxvY2lkYWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIm5vIGVzIHVuIGRpc3Bvc2l0aXZvIHNnLCBvIGVzIHVuIGNvbnRyb2xhZG9yIHNnIGFudGlndW8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6IGRlc21vbnRhbmRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY3JlYXIgcHJvY2VzbyBoaWpvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiZWwgZGVzbW9udGFqZSBkZSBgJXNgIG5vIGhhIHNhbGlkbyBkZSBmb3JtYSBub3JtYWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgImVsIGRlc21vbnRhamUgZGUgYCVzJyBoYSBmYWxsYWRvXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjcyNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiTm8gc2UgcG9kaWRvIGFuYWxpemFyIGxhIHRhYmxhIGRlIG1vbnRhamUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiBtb250YWRvIGVuICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICJzZSBlc3RhYmxlY2UgdmVsb2NpZGFkIGRlIENELVJPTSBhdXRvbcOhdGljYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMwCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgInNlIGVzdGFibGVjZSBsYSB2ZWxvY2lkYWQgZGUgQ0QtUk9NIGEgJWxkWCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICJkaXNwb3NpdGl2byBwcmVkZXRlcm1pbmFkbzogYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgInNlIGVzdMOhIHV0aWxpemFuZG8gZWwgZGlzcG9zaXRpdm8gcHJlZGV0ZXJtaW5hZG8gYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlbmNvbnRyYXIgZWwgZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJlbCBub21icmUgZGVsIGRpc3Bvc2l0aXZvIGVzIGAlcyciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczogbm8gbW9udGFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogZGlzcG9pc2l0aXZvIGRlIGRpc2NvOiAlcyAoZWwgZGlzcG9zaXRpdm8gZGUgZGlzY28gc2UgdXRpbGl6YXLDoSBwYXJhIGV4cHVsc2FyKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIGVuY29udHJhZG8gdW4gcHVudG8gZGUgbW9udGFqZSBuaSB1biBkaXNwb3NpdGl2byBjb24gZWwgbm9tYnJlIGVzcGVjaWZpY2FkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGVzIHVuIGRpc3Bvc2l0aXZvIGRlIHVuIGRpc2NvIGVudGVybyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBubyBlcyB1biBkaXNwb3NpdGl2byBxdWUgc2UgcHVlZGEgY29uZWN0YXIgZW4gY2FsaWVudGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMgorIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiZWwgZGlzcG9zaXRpdm8gZXMgYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAic2Ugc2FsZSBhIGNhdXNhIGRlIGxhIG9wY2nDs24gLW4vLS1ub29wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IHNlIGFjdGl2YSBlbCBtb2RvIGRlIGF1dG8gZXhwdWxzacOzbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogc2UgZGVzYWN0aXZhIGVsIG1vZG8gZGUgYXV0byBleHB1bHNpw7NuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiJXM6IHNlIGNpZXJyYSBsYSBiYW5kZWphIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiBzZSBhbHRlcm5hIGxhIGJhbmRlamEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVzOiBzZSBlbnVtZXJhIGxhIHZlbG9jaWRhZCBkZWwgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJlcnJvcjogJXM6IGRpc3Bvc2l0aXZvIG9jdXBhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiVzOiBzZWxlY2Npw7NuIGRlbCBkaXNjbyBDRC1ST00gbsK6ICVsZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogc2UgZXN0w6EgaW50ZW50YW5kbyBleHB1bHNhciB1dGlsaXphbmRvIGxhIG9yZGVuIGRlIGV4cHVsc2nDs24gZGUgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJsYSBvcmRlbiBkZSBleHB1bHNpw7NuIGRlbCBDRC1ST00gaGEgZnVuY2lvbmFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiBzZSBlc3TDoSBpbnRlbnRhbmRvIGV4cHVsc2FyIHV0aWxpemFuZG8gbGFzIMOzcmRlbmVzIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAibGEgZXhwdWxzacOzbiBTQ1NJIGhhIGZ1bmNpb25hZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAibGEgZXhwdWxzacOzbiBTQ1NJIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IHNlIGVzdMOhIGludGVudGFkbyBleHB1bHNhciB1dGlsaXphbmRvIGxhIG9yZGVuIGRlIGV4cHVsc2nDs24gZGUgZGlzcXVldGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgImxhIG9yZGVuIGRlIGV4cHVsc2nDs24gZGUgZGlzcXVldGUgaGEgZnVuY2lvbmFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAibGEgb3JkZW4gZGUgZXhwdWxzacOzbiBkZSBkaXNxdWV0ZSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiBzZSBpbnRlbnRhIGV4cHVsc2FyIHV0aWxpemFuZG8gbGEgb3JkZW4gZGUgY2FzZXRlIGRlc2NvbmVjdGFkYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAibGEgb3JkZW4gZGUgY2FzZXRlIGRlc2NvbmVjdGFkYSBoYSBmdW5jaW9uYWRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI3Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJsYSBvcmRlbiBkZSBjYXNldGUgZGVzY29uZWN0YWRhIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGV4cHVsc2FyIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxub21icmUgZGUgZmljaGVybz5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIlByZWFzaWduYSBlc3BhY2lvIG8gZGVzYXNpZ25hIGVzcGFjaW8gZGUgdW4gZmljaGVyby5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIGVsaW1pbmEgdW4gcmFuZ28gZGVsIGZpY2hlcm9cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0YSBjZXJvcyB5IGxvcyByZWVtcGxhemEgcG9yIGh1ZWNvc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0YSB1biBodWVjbyBlbiBlbCByYW5nbywgZGVzcGxhemFuZG8gbG9zIGRhdG9zIGV4aXN0ZW50ZXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxvbmdpdHVkIHBhcmEgb3BlcmFjaW9uZXMgZGUgcmFuZ28sIGVuIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NAorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFudGllbmUgZWwgdGFtYcOxbyBhcGFyZW50ZSBkZWwgZmljaGVyb1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgZGVzcGxhemFtaWVudG8gcGFyYSBvcGVyYWNpb25lcyBkZSByYW5nbywgZW4gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk2Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlZW1wbGF6YSB1biByYW5nbyBjb24gdW4gaHVlY28gKGltcGxpY2EgLW4pXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NworbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvLXJhbmdlICAgICBwb25lIGEgY2VybyB5IGFzZWd1cmEgbGEgcmVzZXJ2YSBkZSB1biByYW5nb1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKK21zZ2lkICIgLXgsIC0tcG9zaXggICAgICAgICAgdXNlIHBvc2l4X2ZhbGxvY2F0ZSgzKSBpbnN0ZWFkIG9mIGZhbGxvY2F0ZSgyKVxuIgorbXNnc3RyICIgLXgsIC0tcG9zaXggICAgICAgICAgdXRpbGl6YSBwb3NpeF9mYWxsb2NhdGUoMykgZW4gdmV6IGRlIGZhbGxvY2F0ZSgyKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImZhbGxvY2F0ZSBoYSBmYWxsYWRvOiBlbCBtb2RvIGRlIGNvbnNlcnZhciB0YW1hw7FvIG5vIGVzdMOhIGRpc3BvbmlibGUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgImZhbGxvY2F0ZSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWQgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRpZG9zIGVuIGh1ZWNvcyBsaWJyZXMuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgImVsIHNvcG9ydGUgcGFyYSBwb3NpeF9mYWxsb2NhdGUgbm8gZXN0w6EgY29tcGlsYWRvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIHVuIG5vbWJyZSBkZSBmaWNoZXJvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInZhbG9yIGRlIGxvbmdpdHVkIGVzcGVjaWZpY2FkbyBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg0Cittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIGVsIGFyZ3VtZW50byBkZSBsb25naXR1ZCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4OQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAidmFsb3IgZGUgZGVzcGxhemFtaWVudG8gZXNwZWNpZmljYWRvIG5vIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNpb25lc10gPGZpY2hlcm8+fDxkaXJlY3RvcmlvPiA8b3JkZW4+IFs8YXJndW1lbnRvcz4uLi5dXG4iCisiICUxJHMgW29wY2lvbmVzXSA8ZmljaGVybz58PGRpcmVjdG9yaW8+IC1jIDxvcmRlbj5cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIDxuw7ptZXJvIGRlIGRlc2NyaXB0b3IgZGUgZmljaGVybz5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIkdlc3Rpb25hIGxvcyBibG9xdWVvcyBkZSBmaWNoZXJvcyBkZXNkZSBwcm9ncmFtYXMgZGUgwqtzaGVsbMK7LlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBvYnRpZW5lIHVuIGJsb3F1ZW8gY29tcGFydGlkb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIG9idGllbmUgdW4gYmxvcXVlbyBleGNsdXNpdm8gKGxvIHByZWRldGVybWluYWRvKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIGVsaW1pbmEgZWwgYmxvcXVlb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFsbGEgZW4gbHVnYXIgZGUgZXNwZXJhclxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWd1bmRvcz4gZXNwZXJhIHVuIHBlcmlvZG8gZGUgdGllbXBvIGxpbWl0YWRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bsO6bWVybz4gIGPDs2RpZ28gZGUgc2FsaWRhIHRyYXMgY29uZmxpY3RvIG8gdGllbXBvIHZlbmNpZG9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2llcnJhIGVsIGRlc2NyaXB0b3IgZGUgZmljaGVybyBhbnRlcyBkZSBlamVjdXRhciBsYSBvcmRlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxvcmRlbj4gICAgZWplY3V0YSB1bmEgw7puaWNhIG9yZGVuIGEgdHJhdsOpcyBkZSBsYSDCq3NoZWxswrtcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBlamVjdXRhIGxhIG9yZGVuIHNpbiBsYW56YXIgdW4gcHJvY2VzbyBudWV2b1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgYXVtZW50YSBsYSBjYW50aWRhZCBkZSBpbmZvcm1hY2nDs25cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyBjZXJyb2pvICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInZhbG9yIGRlIHRpZW1wbyBkZSB2ZW5jaW1pZW50byBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiY8OzZGlnbyBkZSBzYWxpZGEgbm8gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI5Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgImxhcyBvcGNpb25lcyAtLW5vLWZvcmsgeSAtLWNsb3NlIHNvbiBpbmNvbXBhdGlibGVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgZXhhY3RhbWVudGUgdW4gYXJndW1lbnRvIGRlIG9yZGVuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJkZXNjcmlwdG9yIGRlIGZpY2hlcm8gaW5jb3JyZWN0byIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU4Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAibmVjZXNpdGEgZGVzY3JpcHRvciBkZSBmaWNoZXJvLCBmaWNoZXJvIG8gZGlyZWN0b3JpbyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIG9idGVuZXIgZWwgYmxvcXVlbyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg5Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIgaGEgdmVuY2lkbyBlbCB0aWVtcG8gbcOheGltbyBkZSBlc3BlcmEgcGFyYSBvYnRlbmVyIGVsIGJsb3F1ZW8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6IG9idGVuZXIgZWwgYmxvcXVlbyBoYSBsbGV2YWRvICVsZCwlMDZsZCBzZWd1bmRvc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIlczogZWplY3V0YW5kbyAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8cHVudG8tZGUtbW9udGFqZT5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlN1c3BlbmRlIGVsIGFjY2VzbyBhbCBzaXN0ZW1hIGRlIGZpY2hlcm9zLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgIGNvbmdlbGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgZGVzY29uZ2VsYSBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyAtLWZyZWV6ZSBuaSAtLXVuZnJlZXplIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IG5vIGVzIHVuIGRpcmVjdG9yaW8iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGNvbmdlbGFyIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGRlc2NvbmdlbGFyIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IG5vIGVzIHVuIGRpcmVjdG9yaW8iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZJVFJJTSBpb2N0bCBoYSBmYWxsYWRvIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHJlY29ydGFkb1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkzIHN5cy11dGlscy9sc25zLmM6MTA2NiBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8cHVudG8tZGUtbW9udGFqZT5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRGVzY2FydGEgYmxvcXVlcyBubyB1dGlsaXphZG9zIGVuIHVuIHNpc3RlbWEgZGUgZmljaGVyb3MgbW9udGFkby5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgIHJlY29ydGEgdG9kb3MgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zIG5vIGFkbWl0aWRvc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgZGVzcGxhemFtaWVudG8gZW4gYnl0ZXMgcGFyYSBlbXBlemFyIGEgZGVzY2FydGFyXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjIKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbsO6bWVybyBkZSBieXRlcyBxdWUgZGVzY2FydGFyXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjMKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPG51bT4gbG9uZ2l0dWQgZGUgbGEgZXh0ZW5zacOzbiBtw61uaW1hIHF1ZSBkZXNjYXJ0YXJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgaW1wcmltZSBlbCBuw7ptZXJvIGRlIGJ5dGVzIGRlc2NhcnRhZG9zXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gYW5hbGl6YXIgbGEgbG9uZ2l0dWQgZGUgbGEgZXh0ZW5zacOzbiBtw61uaW1hIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzMxCittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyBwdW50byBkZSBtb250YWplIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IGxhIG9wZXJhY2nDs24gZGUgZGVzY2FydGUgbm8gZXN0w6EgYWRtaXRpZGEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiU2UgcHJlc3Vwb25lIHF1ZSBlbCByZWxvaiBkZSBoYXJkd2FyZSB0aWVuZSBsYSBob3JhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJsb2NhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIkF0ZW5jacOzbjogdGVyY2VyYSBsw61uZWEgbm8gcmVjb25vY2lkYSBlbiBlbCBmaWNoZXJvIGFkanRpbWVcbiIKKyIoU2UgZXNwZXJhYmE6IGBVVEMnIG8gYExPQ0FMJyBvIG5hZGEuKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICLDmmx0aW1vIGFqdXN0ZSBkZSBkZXNmYXNlIHJlYWxpemFkbyAlbGQgc2VndW5kb3MgZGVzcHXDqXMgZGUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICLDmmx0aW1hIGNhbGlicmFjacOzbiByZWFsaXphZGEgJWxkIHNlZ3VuZG9zIGRlc3B1w6lzIGRlIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJFbCByZWxvaiBkZSBoYXJkd2FyZSB0aWVuZSBsYSBob3JhICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiRXNwZXJhbmRvIHNlw7FhbCBkZSByZWxvai4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIi4uLmZhbGxvIGRlIHNpbmNyb25pemFjacOzblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi5yZWNpYmlkYSBzZcOxYWwgZGUgcmVsb2pcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiVmFsb3JlcyBubyB2w6FsaWRvcyBlbiByZWxvaiBkZSBoYXJkd2FyZTogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiSG9yYSBkZWwgcmVsb2ogZGUgaGFyZHdhcmU6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VndW5kb3MgZGVzZGUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJIb3JhIGxlw61kYSBkZWwgcmVsb2ogZGUgaGFyZHdhcmU6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiRXN0YWJsZWNpZW5kbyByZWxvaiBkZSBoYXJkd2FyZSBlbiAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWd1bmRvcyBkZXNkZSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICJlbCB0aWVtcG8gaGEgc2FsdGFkbyBoYWNpYSBhdHLDoXMgJS42ZiBzZWd1bmRvcyBhICVsZCwlMDZsZCAtIHNlIHJlaGFjZSBvYmpldGl2b1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgInBlcmRpZG8gLSAlbGQsJTA2bGQgZXMgZGVtYXNpYWRvIHBvc3RlcmlvciBhICVsZCwlMDZsZCAoJS42ZiA+ICUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisiJWxkLCUwNmxkIGVzdMOhIHN1ZmljaWVudGVtZW50ZSBjZXJjYSBkZSAlbGQsJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlBvbmVyIFJUQyBhICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQsJTA2bGQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiU2UgZXN0w6EgbGxhbWFuZG8gYSBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHBhcmEgZXN0YWJsZWNlciBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyOAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsIDApIHRvIGxvY2sgdGhlIHdhcnAgZnVuY3Rpb24uIgorbXNnc3RyICJTZSBlc3TDoSBsbGFtYW5kbyBhIHNldHRpbWVvZmRheShOVUxMLCAwKSBwYXJhIGJsb3F1ZWFyIGxhIGZ1bmNpw7NuIGRlIGRlZm9ybWFjacOzbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIlNlIGVzdMOhIGxsYW1hbmRvIGEgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCittc2dzdHIgIlNlIGVzdMOhIGxsYW1hbmRvIGEgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICJwYXJhIGVzdGFibGVjZXIgbGEgem9uYSBob3JhcmlhIGRlbCBuw7pjbGVvLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKK21zZ2lkICJ0byB3YXJwIFN5c3RlbSB0aW1lLiIKK21zZ3N0ciAicGFyYSBkZWZvcm1hciBsYSBob3JhIGRlbCBzaXN0ZW1hLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIk5vIHNlIGFqdXN0YSBlbCBmYWN0b3IgZGUgZGVzZmFzZSBwb3JxdWUgbm8gc2UgaGEgdXRpbGl6YWRvIGxhIG9wY2nDs24gLS11cGRhdGUtZHJpZnQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiTm8gc2UgYWp1c3RhIGVsIGZhY3RvciBkZSBkZXNmYXNlIGRlYmlkbyBhIHF1ZSBsYSBmZWNoYSBkZSDDumx0aW1hXG4iCisiY2FsaWJyYWNpw7NuIGVzIGNlcm8sIGFzw60gcXVlIGVsIGhpc3RvcmlhbCBlcyBlcnLDs25lbyB5IGVzIG5lY2VzYXJpYSB1bmFcbiIKKyJjYWxpYnJhY2nDs24gZGVzZGUgZWwgcHJpbmNpcGlvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJObyBzZSBhanVzdGEgZWwgZmFjdG9yIGRlIGRlc2Zhc2UgcG9ycXVlIGhhY2UgbWVub3MgZGUgY3VhdHJvIGhvcmFzIGRlIGxhIMO6bHRpbWEgY2FsaWJyYWNpw7NuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKyJTZSBoYSBjYWxjdWxhZG8gdW4gZmFjdG9yIGRlIGRlcml2YSBkZWwgcmVsb2ogZGUgJWYgc2VndW5kb3MvZMOtYS5cbiIKKyJFcyBkZW1hc2lhZG8uIFNlIHBvbmUgYSBjZXJvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJFbCByZWxvaiBzZSBoYSBkZXNmYXNhZG8gJWYgc2VndW5kb3MgZW4gbG9zIMO6bHRpbW9zICVmIHNlZ3VuZG9zXG4iCisicGVzZSBhbCBmYWN0b3IgZGUgZGVzZmFzZSBkZSAlZiBzZWd1bmRvcyBwb3IgZMOtYS5cbiIKKyJTZSBhanVzdGEgZWwgZmFjdG9yIGRlIGRlc2Zhc2UgZW4gJWYgc2VndW5kb3MgcG9yIGTDrWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiRWwgdGllbXBvIHRyYW5zY3VycmlkbyBkZXNkZSBlbCDDumx0aW1vIGFqdXN0ZSBlcyBkZSAlbGQgc2VndW5kb1xuIgorbXNnc3RyWzFdICJFbCB0aWVtcG8gdHJhbnNjdXJyaWRvIGRlc2RlIGVsIMO6bHRpbW8gYWp1c3RlIGVzIGRlICVsZCBzZWd1bmRvc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4MgorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIkVsIGRlc2Zhc2UgZGVsIHJlbG9qIGRlIGhhcmR3YXJlIGNhbGN1bGFkbyBlcyBkZSAlbGQsJTA2bGQgc2VndW5kb3NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5ldyAlcyBkYXRhOlxuIgorIiVzIgorbXNnc3RyICIiCisiTnVldm9zIGRhdG9zIGRlICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXBkYXRlICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBhY3R1YWxpemFyICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJObyBzZSBwb25lIGVuIGhvcmEgZWwgcmVsb2ogcG9ycXVlIGxhIGhvcmEgZGVsIMO6bHRpbW8gYWp1c3RvIGVzIGNlcm8sIHBvciBsbyBxdWUgbGEgaGlzdG9yaWEgbm8gZXMgYnVlbmEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiTm8gc2UgY2FtYmlhIGxhIGhvcmEgZGVsIHJlbG9qIHBvcnF1ZSBlbCBmYWN0b3IgZGUgZGVyaXZhICVmIGVzIGRlbWFzaWFkbyBhbHRvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJObyBzZSBoYSBlbmNvbnRyYWRvIG5pbmd1bmEgaW50ZXJmYXogZGUgcmVsb2ogdXRpbGl6YWJsZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIk5vIHNlIHB1ZWRlIGFjY2VkZXIgYWwgcmVsb2ogZGUgaGFyZHdhcmUgcG9yIG5pbmfDum4gbcOpdG9kbyBjb25vY2lkby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiVXRpbGljZSBsYSBvcGNpw7NuIC0tdmVyYm9zZSBwYXJhIHZlciBsb3MgZGV0YWxsZXMgZGUgbGEgYsO6c3F1ZWRhIHBhcmEgdW4gbcOpdG9kbyBkZSBhY2Nlc28uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAiRmVjaGEgb2JqZXRpdm86ICAgJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICJSVEMgcHJvbm9zdGljYWRvOiAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NzAKK21zZ2lkICJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIKK21zZ3N0ciAiTGEgbGVjdHVyYSBkZSBSVEMgaGEgZGV2dWVsdG8gdW4gdmFsb3Igbm8gdsOhbGlkby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiRWwgYWp1c3RlIG5lY2VzYXJpbyBlcyBpbmZlcmlvciBhIHVuIHNlZ3VuZG8sIHBvciBsbyBxdWUgbm8gc2UgZXN0YWJsZWNlIGVsIHJlbG9qLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAibm8gc2UgcHVlZGUgbGVlciBsYSDDqXBvY2EgZGVsIFJUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiTGEgw6lwb2NhIGRlbCBSVEMgc2UgaGEgcHVlc3RvIGEgJWx1LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiaGFjZSBmYWx0YSAtLWVwb2NoIHBhcmEgLS1zZXRlcG9jaC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MworbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgbGEgw6lwb2NhIGRlbCBSVEMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiICVzIFtmdW5jacOzbl0gW29wY2nDs24uLi5dXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MAorbXNnaWQgIlRpbWUgY2xvY2tzIHV0aWxpdHkuIgorbXNnc3RyICJVdGlsaWRhZCBkZSByZWxvamVzLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIgLXIsIC0tc2hvdyAgICAgICAgICAgbXVlc3RyYSBsYSBob3JhIGRlbCBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAgICAtLWdldCAgICAgICAgICAgIG11ZXN0cmEgbGEgaG9yYSBkZWwgUlRDIGNvbiBsYSBkZXJpdmEgY29ycmVnaWRhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiICAgICAtLXNldCAgICAgICAgICAgIGVzdGFibGVjZSBlbCBSVEMgY29uZm9ybWUgYSAtLWRhdGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIC1zLCAtLWhjdGRzeXMgICAgICAgIGVzdGFibGVjZSBsYSBob3JhIGRlbCBzaXN0ZW1hIGEgcGFydGlyIGRlbCBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NworbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiIC13LCAtLXN5c3RvaGMgICAgICAgIGVzdGFibGUgZWwgUlRDIGEgcGFydGlyIGRlIGxhIGhvcmEgZGVsIHNpc3RlbWEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorbXNnaWQgIiAgICAgLS1zeXN0eiAgICAgICAgICBzZW5kIHRpbWVzY2FsZSBjb25maWd1cmF0aW9ucyB0byB0aGUga2VybmVsIgorbXNnc3RyICIgICAgIC0tc3lzdHogICAgICAgICAgZW52w61hIGFsIG7DumNsZW8gbGFzIGNvbmZpZ3VyYWNpb25lcyBkZSBlc2NhbGEgZGUgdGllbXBvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFqdXN0YSBlbCBSVEMgcGFyYSBxdWUgdGVuZ2EgZW4gY3VlbnRhIGxhIGRlcml2YSBzaXN0ZW3DoXRpY2EiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorbXNnaWQgIiAgICAgLS1nZXRlcG9jaCAgICAgICBkaXNwbGF5IHRoZSBSVEMgZXBvY2giCittc2dzdHIgIiAgICAgLS1nZXRlcG9jaCAgICAgICBtdWVzdHJhIGxhIMOpcG9jYSBkZWwgUlRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzIKK21zZ2lkICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBSVEMgZXBvY2ggYWNjb3JkaW5nIHRvIC0tZXBvY2giCittc2dzdHIgIiAgICAgLS1zZXRlcG9jaCAgICAgICBlc3RhYmxlY2UgbGEgw6lwb2NhIGRlbCBSVEMgY29uZm9ybWUgYSAtLWVwb2NoIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljZSBsYSBkZXJpdmEgZGUgbGEgaG9yYSBkZWwgUlRDIGNvbmZvcm1lIGEgLS1kYXRlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgbGEgZXNjYWxhIGRlIHRpZW1wbyBkZSBSVEMgZXMgVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiAtbCwgLS1sb2NhbHRpbWUgICAgICBsYSBlc2NhbGEgZGUgdGllbXBvIGRlbCBSVEMgZXMgTG9jYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpY2hlcm8+IHV0aWxpemEgdW4gZmljaGVybyBhbHRlcm5hdGl2byBhICUxJHNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXRpbGl6YSBlbCBidXMgSVNBIGVuIGx1Z2FyIGRlbCBhY2Nlc28gJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIgICAgIC0tZGF0ZSA8aG9yYT4gICAgZmVjaGEvaG9yYSBkZSBlbnRyYWRhIHBhcmEgLS1zZXQgeSAtLXByZWRpY3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiICAgICAtLWVwb2NoIDxhw7FvPiAgICDDqXBvY2EgZGUgZW50cmFkYSBwYXJhIC0tc2V0ZXBvY2giCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4OAorbXNnaWQgIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgdGhlIFJUQyBkcmlmdCBmYWN0b3IiCittc2dzdHIgIiAgICAgLS11cGRhdGUtZHJpZnQgICBhY3R1YWxpemEgZWwgZmFjdG9yIGRlIGRlcml2YSBkZWwgUlRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgIC0tbm9hZGpmaWxlICAgICAgbm8gdXRpbGl6YSAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiICAgICAtLWFkamZpbGUgPGZpY2hlcm8+IHV0aWxpemEgdW4gZmljaGVybyBhbHRlcm5hdGl2byBhICUxJHNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkzCittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgIC0tdGVzdCAgICAgICAgICAgaGFjZSB1bmEgcHJ1ZWJhOyBpbXBsaWNhIC0tdmVyYm9zZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBpbXByaW1lIG3DoXMgZGV0YWxsZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgY29uZWN0YXIgY29uIGVsIHNpc3RlbWEgZGUgYXVkaXRvcsOtYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEwCittc2dpZCAidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBoYXMgYmVlbiBkZXByZWNhdGVkLiIKK21zZ3N0ciAiZWwgdXNvIGRlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBlc3TDoSBvYnNvbGV0by4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgIiVkIGRlbWFzaWFkb3MgYXJndW1lbnRvcyBwcm9wb3JjaW9uYWRvcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzE3Cittc2dpZCAiLS11cGRhdGUtZHJpZnQgcmVxdWlyZXMgLS1zZXQgb3IgLS1zeXN0b2hjIgorbXNnc3RyICJoYWNlIGZhbHRhIC0tdXBkYXRlLWRyaWZ0IHBhcmEgLS1zZXQgbyAtLXN5c3RvaGMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyMgorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICJDb24gLS1ub2FkamZpbGUsIGRlYmUgZXNwZWNpZmljYXJzZSBvIGJpZW4gLS11dGMgbyBiaWVuIC0tbG9jYWx0aW1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjkKK21zZ2lkICItLWRhdGUgaXMgcmVxdWlyZWQgZm9yIC0tc2V0IG9yIC0tcHJlZGljdCIKK21zZ3N0ciAiaGFjZSBmYWx0YSAtLWRhdGUgcGFyYSAtLXNldCBvIC0tcHJlZGljdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJmZWNoYSBubyB2w6FsaWRhOiAnJXMnIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICJIb3JhIGRlbCBzaXN0ZW1hOiAlbGQuJTA2bGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAiTW9kbyBkZSBwcnVlYmFzOiBubyBzZSBjYW1iacOzIG5hZGEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiZWwgYWNjZXNvIGEgcHVlcnRvcyBJU0Egbm8gZXN0w6EgaW1wbGVtZW50YWQwIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzkxCittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAiZWwgYWNjZXNvIGEgcHVlcnRvIGlvcGwoKSBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICJTZSB1dGlsaXphIGFjY2VzbyBJU0EgZGlyZWN0byBhbCByZWxvaiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICJJbnRlbnRhbmRvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZGlzcG9zaXRpdm8gcnRjIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJFcnJvciBkZSBpb2N0bCglcykgY29uICVzIGFsIGxlZXIgbGEgaG9yYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJFc3BlcmFuZG8gZW4gYnVjbGUgcXVlIGNhbWJpZSBsYSBob3JhIGRlICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIlNlIGhhIGV4Y2VkaWRvIGVsIHRpZW1wbyBkZSBlc3BlcmEgZGVsIGNhbWJpbyBkZSBob3JhLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJMYSBlamVjdWNpw7NuIGRlIHNlbGVjdCgpIGEgJXMgcGFyYSBlc3BlcmFyIHVuYSBzZcOxYWwgZGUgcmVsb2ogZXhwaXLDsyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICJMYSBlamVjdWNpw7NuIGRlIHNlbGVjdCgpIGEgJXMgcGFyYSBlc3BlcmFyIHVuYSBzZcOxYWwgZGUgcmVsb2ogZmFsbMOzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIkVycm9yIGRlIGlvY3RsKCkgY29uICVzIGFsIGRlc2FjdGl2YXIgaW50ZXJydXBjaW9uZXMgZGUgYWN0dWFsaXphY2nDs24iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJFcnJvciBkZSBpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgZGUgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiRXJyb3IgZGUgaW9jdGwoJXMpIGNvbiAlcyBhbCBlc3RhYmxlY2VyIGxhIGhvcmEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBoYSBmaW5hbGl6YWRvIGNvcnJlY3RhbWVudGUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MworbXNnaWQgIlVzaW5nIHRoZSBydGMgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIlNlIHV0aWxpemEgbGEgaW50ZXJmYXogcnRjIGFsIHJlbG9qLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJFcnJvciBkZSBpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIGNvbiAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDExCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHBhcmEgJXMgaGEgc2lkbyBjb3JyZWN0by5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZXBvY2ggJyVzJy4iCittc2dzdHIgIsOpcG9jYSBubyB2w6FsaWRhOiAnJXMnLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiRXJyb3IgZGUgaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgZGUgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHBhcmEgJXMgZnVlIGJpZW4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiQ3JlYSB2YXJpb3MgcmVjdXJzb3MgSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPHRhbWHDsW8+ICAgICBjcmVhIHVuIHNlZ21lbnRvIGRlIG1lbW9yaWEgY29tcGFydGlkYSBkZSB0YW1hw7FvIDx0YW1hw7FvPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPG7Dum1lcm8+IGNyZWEgdW5hIGxpc3RhIGRlIHNlbcOhZm9yb3MgZGUgPG7Dum1lcm8+IGVsZW1lbnRvc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhIHVuYSBjb2xhIGRlIG1lbnNhamVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc2Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPG1vZG8+ICAgICAgICBwZXJtaXNvcyBwYXJhIGVsIHJlY3Vyc28gKGxvcyBwcmVkZXRlcm1pbmFkb3Mgc29uIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlbCB0YW1hw7FvIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxvcyBlbGVtZW50b3MiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBjcmVhciBsYSBtZW1vcmlhIGNvbXBhcnRpZGEiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJJZCBkZSBsYSBtZW1vcmlhIGNvbXBhcnRpZGE6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgY3JlYXIgbGEgY29sYSBkZSBtZW5zYWplcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIklkIGRlIGxhIGNvbGEgZGUgbWVuc2FqZXM6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBjcmVhciBzZW3DoWZvcm8iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIklkIGRlbCBzZW3DoWZvcm86ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjaW9uZXNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIkVsaW1pbmEgY2llcnRvcyByZWN1cnNvcyBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIGVsaW1pbmEgdW4gc2VnbWVudG8gZGUgbWVtb3JpYSBjb21wYXJ0aWRhIGVzcGVjaWZpY2FkbyBwb3IgaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtLWtleSA8Y2xhdmU+ICAgIGVsaW1pbmEgdW4gc2VnbWVudG8gZGUgbWVtb3JpYSBjb21wYXJ0aWRhIGVzcGVjaWZpY2FkbyBwb3IgY2xhdmVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIGVsaW1pbmEgdW5hIGNvbGEgZGUgbWVuc2FqZXMgZXNwZWNpZmljYWRhIHBvciBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIGVsaW1pbmEgdW5hIGNvbGEgZGUgbWVuc2FqZXMgZXNwZWNpZmljYWRhIHBvciBjbGF2ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICBlbGltaW5hIHVuIHNlbcOhZm9ybyBlc3BlY2lmaWNhZG8gcG9yIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICBlbGltaW5hIHVuIHNlbcOhZm9ybyBlc3BlY2lmaWNhZG8gcG9yIGNsYXZlXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICBlbGltaW5hIHRvZG8gKHBhcmEgbGEgY2F0ZWdvcsOtYSBlc3BlY2lmaWNhZGEpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsaWNhIGxvIHF1ZSBzZSBlc3TDoSBoYWNpZW5kb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJzZSBlbGltaW5hIGVsIHNlZ21lbnRvIGRlIG1lbW9yaWEgY29tcGFydGlkYSBpZCBgJWQnXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJzZSBlbGltaW5hIGxhIGNvbGEgZGUgbWVuc2FqZXMgaWQgYCVkJ1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJzZSBlbGltaW5hIGVsIHNlbcOhZm9ybyBpZCBgJWQnXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJwZXJtaXNvIGRlbmVnYWRvIHBhcmEgbGEgY2xhdmUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAicGVybWlzbyBkZW5lZ2FkbyBwYXJhIGVsIGlkZW50aWZpY2Fkb3IiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAiY2xhdmUgbm8gdsOhbGlkYSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiY2xhdmUgeWEgZWxpbWluYWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgeWEgZWxpbWluYWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gZGUgY2xhdmUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gZGUgaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBubyB2w6FsaWRvOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAicmVjdXJzbyhzKSBlbGltaW5hZG9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgImNsYXZlIGlsZWdhbCAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImVsIG7DumNsZW8gbm8gZXN0w6EgY29uZmlndXJhZG8gcGFyYSBtZW1vcmlhIGNvbXBhcnRpZGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAiZWwgbsO6Y2xlbyBubyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIHNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgImVsIG7DumNsZW8gbm8gZXN0w6EgY29uZmlndXJhZG8gcGFyYSBjb2xhcyBkZSBtZW5zYWplcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2nDs24gZGUgcmVjdXJzby4uLl0gW29wY2nDs24gZGUgc2FsaWRhXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICJNdWVzdHJhIGluZm9ybWFjacOzbiBzb2JyZSBsb3Mgc2VydmljaW9zIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgaW1wcmltZSBpbmZvcm1hY2nDs24gZGV0YWxsYWRhIHNvYnJlIGxvcyByZWN1cnNvcyBpZGVudGlmaWNhZG9zIHBvciA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiT3BjaW9uZXMgZGUgcmVjdXJzb3M6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIHNlZ21lbnRvcyBkZSBtZW1vcmlhIGNvbXBhcnRpZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIGNvbGFzIGRlIG1lbnNhamVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbcOhZm9yb3NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICB0b2RvIChvcGNpw7NuIHByZWRldGVybWluYWRhKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIk9wY2lvbmVzIGRlIHNhbGlkYTpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIG11ZXN0cmEgbGFzIGhvcmFzIGRlIGFzb2NpYWNpw7NuLCBkaXNvY2lhY2nDs24geSBjYW1iaW9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgbXVlc3RyYSBsb3MgUElEcyBkZWwgY3JlYWRvciB5IGRlbCDDumx0aW1vIG9wZXJhZG9yXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgbXVlc3RyYSBlbCBjcmVhZG9yIHkgZWwgcHJvcGlldGFyaW9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAgbXVlc3RyYSBsb3MgbMOtbWl0ZXMgZGUgcmVjdXJzb3NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICBtdWVzdHJhIHVuIHJlc3VtZW4gZGVsIGVzdGFkb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICBtdWVzdHJhIGxvcyB0YW1hw7FvcyBlbiB1biBmb3JtYXRvIGNvbXByZW5zaWJsZSBwYXJhIGh1bWFub3NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICBtdWVzdHJhIGxvcyB0YW1hw7FvcyBlbiBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICJjdWFuZG8gc2UgdXRpbGl6YSB1biBJRCwgZGViZSBlc3BlY2lmaWNhcnNlIHVuIMO6bmljbyByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBvYnRlbmVyIGxvcyBsw61taXRlcyBkZSBsYSBtZW1vcmlhIGNvbXBhcnRpZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gTMOtbWl0ZXMgbWVtb3JpYSBjb21wYXJ0aWRhIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJuw7ptZXJvIG3DoXguIHNlZ21lbnRvcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBtw6F4LiBzZWcuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJtw6F4LiBtZW1vcmlhIGNvbXBhcnRpZGEgdG90YWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjIwCittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJ0YW1hw7FvIG3DrW4uIHNlZy4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJlbCBuw7pjbGVvIG5vIGVzdMOhIGNvbmZpZ3VyYWRvIHBhcmEgbWVtb3JpYSBjb21wYXJ0aWRhXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBFc3RhZG8gbWVtb3JpYSBjb21wYXJ0aWRhIC0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisic2VnbWVudG9zIGFzaWduYWRvcnMgJWRcbiIKKyJww6FnaW5hcyBhc2lnbmFkYXMgICAgICAlbGRcbiIKKyJww6FnaW5hcyByZXNpZGVudGVzICAgICAlbGRcbiIKKyJww6FnaW5hcyBpbnRlcmNhbWJpYWRhcyAlbGRcbiIKKyJyZW5kaW1pZW50byBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvOiAlbGQgaW50ZW50b3NcdCAlbGQgY29uIMOpeGl0b1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLSBDcmVhZG9yZXMvcHJvcGlldGFyaW9zIHNlZ21lbnRvIG1lbS4gY29tcGFydGlkYSAtLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODYKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAic2htaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6MzkyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgInBlcm1zIgorbXNnc3RyICJwZXJtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tIFRpZW1wb3MgY29uZXhpw7NuL2Rlc2NvbmV4acOzbi9tb2RpZmljYWMuIG1lbS4gY29tcC4gLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICJwcm9waWV0YXJpbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAiY29uZWN0YWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJkZXNjb25lY3RhZG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAibW9kaWZpY2FkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBQSURzIGNyZWFkb3Ivw7psdGltbyBvcC4gbWVtb3JpYSBjb21wYXJ0LiAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFNlZ21lbnRvcyBtZW1vcmlhIGNvbXBhcnRpZGEgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAia2V5IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgInRhbWHDsW8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJ5dGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAiZXN0YWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICJObyBlc3RhYmxlY2lkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6OTg3IHN5cy11dGlscy9sc2lwYy5jOjk5MworbXNnaWQgImRlc3QiCittc2dzdHIgImRlc3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjk4OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDAxCittc2dpZCAibG9ja2VkIgorbXNnc3RyICJibG9xdWVhZG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgIm5vIHNlIGhhbiBwb2RpZG8gb2J0ZW5lciBsb3MgbMOtbWl0ZXMgZGUgbG9zIHNlbcOhZm9yb3NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEzDrW1pdGVzIHNlbcOhZm9ybyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm7Dum1lcm8gbcOheGltbyBkZSBtYXRyaWNlcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm3DoXguIHNlbcOhZm9yb3MgcG9yIG1hdHJpeiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibcOheC4gc2Vtw6Fmb3JvcyBzaXN0ZW1hID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIm3DoXguIG9wZXIuIHBvciBsbGFtYWRhIHNlbW9wID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgInZhbG9yIG3DoXguIHNlbcOhZm9ybyA9ICV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJlbCBuw7pjbGVvIG5vIGVzdMOhIGNvbmZpZ3VyYWRvIHBhcmEgc2Vtw6Fmb3Jvc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gRXN0YWRvIHNlbcOhZm9ybyAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtYXRyaWNlcyB1dGlsaXphZGFzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJzZW3DoWZvcm9zIGFzaWduYWRvcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIENyZWFkb3Jlcy9wcm9waWV0YXJpb3MgbWF0cmljZXMgc2Vtw6FmLiAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIFRpZW1wb3Mgb3BlcmFjacOzbi9tb2RpZmljYWNpw7NuIHNlbcOhZm9yb3MgLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAiw7psdGltYSBvcGVyYWNpw7NuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAiw7psdGltYSBtb2RpZmljYWNpw7NuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWF0cmljZXMgc2Vtw6Fmb3JvIC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIG9idGVuZXIgbG9zIGzDrW1pdGVzIGRlbCBtZW5zYWplXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEzDrW1pdGVzIG1lbnNhamVzIC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm3DoXguIGNvbGFzIHNpc3RlbWEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgInRhbWHDsW8gbcOheC4gZGUgbWVuc2FqZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJ0YW1hw7FvIG3DoXguIHByZWRldGVybWluYWRvIGRlIGNvbGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiZWwgbsO6Y2xlbyBubyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIGNvbGFzIGRlIG1lbnNhamVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEVzdGFkbyBtZW5zYWplcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiY29sYXMgYXNpZ25hZGFzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiY2FiZWNlcmFzIHV0aWxpemFkYXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OAorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgImVzcGFjaW8gdXRpbGl6YWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIgYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLSBDb2xhcyBkZSBtZW5zYWplcyBjcmVhZG9yZXMvcHJvcGlldGFyaW9zIC0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIFRpZW1wb3MgZW52w61vL3JlY2VwLi9tb2RpZmljLiBjb2xhcyBtZW5zYWplcyAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAiZW52w61vIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgInJlY2VwY2nDs24iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJtb2RpZmljYWNpw7NuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBQSUQgZGUgY29sYXMgZGUgbWVuc2FqZXMgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQ29sYXMgZGUgbWVuc2FqZXMgLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJieXRlcyB1dGlsaXphZG9zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWplcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiaWQgJWQgbm8gZW5jb250cmFkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudG8gZGUgbWVtb3JpYSBjb21wYXJ0aWRhIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgInRhbWHDsW89IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbGEgZGUgbWVuc2FqZXMgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAidGFtYcOxb2M9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImJ5dGVzYz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJ0YW1hw7FvcT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiYnl0ZXNxPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJzZW1pZCBkZSBtYXRyaXogZGUgc2Vtw6Fmb3Jvcz0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJjdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICJzZW1udW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgInZhbHVlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmFsbMOzIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGJ5dGVzKSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoa2J5dGVzKSA9ICIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTg0Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiaW5kaWNhZG9yIGRlIG1vZG8gZGUgZW50cmFkYSBpbmNvcnJlY3RvIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxsZGlzYz4gPGRpc3Bvc2l0aXZvPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiQXNvY2lhIHVuYSBkaXNjaXBsaW5hIGRlIGzDrW5lYSBhIHVuYSBsw61uZWEgc2VyaWUuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgaW1wcmltZSBtZW5zYWplcyBkZXRhbGxhZG9zIGVuIHN0ZGVyclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsb3I+ICAgICBlc3RhYmxlY2UgbGEgdmVsb2NpZGFkIGRlIGxhIGzDrW5lYSBzZXJpZVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIgLWMsIC0taW50cm8tY29tbWFuZCA8Y2FkZW5hPiBpbnRybyBlbnZpYWRvIGFudGVzIHF1ZSBsZGF0dGFjaFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdXNlIDxzZWd1bmRvcz4gIHBhdXNhIGVudHJlIGludHJvIHkgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIGVzdGFibGVjZSB0YW1hw7FvIGRlIGNhcsOhY3RlciBkZSA3IGJpdHNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIGVzdGFibGVjZSB0YW1hw7FvIGRlIGNhcsOhY3RlciBkZSA4IGJpdHNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgZXN0YWJsZWNlIG5vIHBhcmlkYWRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgZXN0YWJsZWNlIHBhcmlkYWQgcGFyXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgZXN0YWJsZWNlIHBhcmlkYWQgaW1wYXJcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBlc3RhYmxlY2UgdW4gYml0IGRlIHBhcmFkYVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTYKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIGVzdGFibGVjZSBkaXMgYml0cyBkZSBwYXJhZGFcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE3Cittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIGVzdGFibGVjZSBlbCBpbmRpY2Fkb3IgZGVsIG1vZG8gZGUgZW50cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjIKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5vbWJyZXMgPGxkaXNjPiBjb25vY2lkb3M6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyNgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTm9tYnJlcyA8aWZsYWc+IGNvbm9jaWRvczpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIHZlbG9jaWRhZCBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gZGUgcGF1c2Egbm8gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBkaXNjaXBsaW5hIGRlIGzDrW5lYSBubyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIG5vIGVzIHVuYSBsw61uZWEgc2VyaWUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJubyBzZSBwdWVkZW4gb2J0ZW5lciBsb3MgYXRyaWJ1dG9zIGRlIHRlcm1pbmFsIGRlICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgInZlbG9jaWRhZCAlZCBubyBhZG1pdGlkYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlbiBlc3RhYmxlY2VyIGxvcyBhdHJpYnV0b3MgZGUgdGVybWluYWwgZGUgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZXNjcmliaXIgbGEgb3JkZW4gaW50cm8gZW4gJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJubyBzZSBwdWVkZSBlc3RhYmxlY2VyIGxhIGRpc2NpcGxpbmEgZGUgbMOtbmVhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJubyBzZSBwdWVkZSBoYWNlciBkZW1vbmlvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICJlc3RhYmxlY2VyIGluZGljYWRvciBkZSBhdXRvYm9ycmFkbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgImZpY2hlcm8gc3VieWFjZW50ZSBkZWwgZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIG5vZG8taSBkZWwgZmljaGVybyBzdWJ5YWNlbnRlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgZGlzcG9zaXRpdm8gbWF5b3I6bWVub3IgZGVsIGZpY2hlcm8gc3VieWFjZW50ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbWJyZSBkZWwgZGlzcG9zaXRpdm8gZGUgYnVjbGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzUKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICJkZXNwbGF6YW1pZW50byBkZXNkZSBlbCBjb21pZW56byIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICJpbmRpY2Fkb3IgZGUgcGFydHNjYW4gYWN0aXZhZG8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJsw61taXRlIGRlIHRhbWHDsW8gZGVsIGZpY2hlcm8gZW4gYnR5ZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gbWF5b3I6bWVub3IgZGVsIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiYWNjZWRlIGFsIGZpY2hlcm8gc3VieWFjZW50ZSBjb24gZS9zIGRpcmVjdGEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODEKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJ0YW1hw7FvIGRlbCBzZWN0b3IgbMOzZ2ljbyBlbiBieXRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIGRlc3BsYXphbWllbnRvICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDEgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIHRhbWHDsW8gbMOtbWl0ZSAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgY2lmcmFkbyAlcyAodGlwbyAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG8gYWwgZGVzdmluY3VsYXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjaW9uZXNdIFs8ZGlzcGJ1Y2xlPl1cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIC1mIHwgPGRpc3BidWNsZT4gPGZpY2hlcm8+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIHkgY29udHJvbGEgZGlzcG9zaXRpdm9zIGRlIGJ1Y2xlLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGVudW1lcmEgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyB1dGlsaXphZG9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPGRpc3BidWNsZT4uLi4gICBkZXN2aW5jdWxhIHVubyBvIHZhcmlvcyBkaXNwb3NpdGl2b3NcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRlc3ZpbmN1bGEgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyB1dGlsaXphZG9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZW5jdWVudHJhIGVsIHByaW1lciBkaXNwb3NpdGl2byBubyB1dGlsaXphZG9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8ZGlzcGJ1Y2xlPmNhbWJpYSBlbCB0YW1hw7FvIGRlbCBkaXNwb3NpdGl2b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpY2hlcm8+ICAgIGVudW1lcmEgdG9kb3MgbG9zIGRpc3Bvc2l0aXZvcyBhc29jaWFkb3MgY29uIDxmaWNoZXJvPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC1MLCAuLm5vb3ZlcmxhcCAgICAgICAgICAgICAgIGV2aXRhIHBvc2libGVzIGNvbmZsaWN0b3MgZW50cmUgZGlzcG9zaXRpdm9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bsO6bT4gICAgICAgICAgICBjb21pZW56YSBlbiBlbCBkZXNwbGF6YW1pZW50byA8bsO6bT4gZGVudHJvIGRlbCBmaWNoZXJvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPG7Dum0+ICAgICAgICAgZWwgZGlzcG9zaXRpdm8gZXN0w6EgbGltaXRhZG8gYSA8bsO6bT4gYnl0ZXMgZGVsIGZpY2hlcm9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8bsO6bT4gICAgICAgZXN0YWJsZWNlIGVsIHRhbWHDsW8gZGUgc2VjdG9yIGzDs2dpY28gZW4gPG7Dum0+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhIHVuIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIHBhcnRpY2lvbmFkb1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIGNvbmZpZ3VyYSB1biBkaXNwb3NpdGl2byBkZSBidWNsZSBkZSBzb2xvIGxlY3R1cmFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgYWJyZSBlbCBmaWNoZXJvIHN1YnlhY2VudGUgY29uIE9fRElSRUNUXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgaW1wcmltZSBlbCBub21icmUgZGVsIGRpc3Bvc2l0aXZvIGRlc3B1w6lzIGRlIGxhIGluc3RhbGFjacOzbiAoY29uIC1mKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgIG1vZG8gZXhwcmVzaXZvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDIzCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIC0tbGlzdCBKU09OXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgb2ZyZWNlIGluZm9ybWFjacOzbiBzb2JyZSB0b2RvIG8gc29icmUgbG8gZXNwZWNpZmljYWRvIChwcmVkZXRlcm1pbmFkbyBlc3RvIMO6bHRpbW8pXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI1Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBubyBpbXByaW1lIGxvcyBlbmNhYmV6YWRvcyBkZSBsYSBzYWxpZGEgZGUgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgZXNwZWNpZmljYSBsYXMgY29sdW1uYXMgcXVlIHNlIG1vc3RyYXLDoW4gY29uIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIC0tbGlzdCBicnV0b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogQXRlbmNpw7NuOiBlbCBmaWNoZXJvIGVzIG1lbm9yIGRlIDUxMiBieXRlczsgZWwgZGlzcG9zaXRpdm8gZGUgYnVjbGUgcG9kcsOtYSBzZXIgaW51dGlsaXphYmxlIG8gaW52aXNpYmxlIGEgbGFzIGhlcnJhbWllbnRhcyBkZWwgc2lzdGVtYS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBBdGVuY2nDs246IGVsIGZpY2hlcm8gbm8gY2FiZSBlbiB1biBzZWN0b3IgZGUgNTEyIGJ5dGVzOyBzZSBwYXNhcsOhIHBvciBhbHRvIGVsIGZpbmFsIGRlbCBmaWNoZXJvLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXMgeWEgZXhpc3RlIHVuIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIHF1ZSBzb2xhcGEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogeWEgZXhpc3RlIHVuIGRpc3Bvc2l0aXZvIGRlIGJ1Y2xlIGRlIHNvbG8gbGVjdHVyYSBxdWUgc29sYXBhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IHlhIGV4aXN0ZSB1biBkaXNwb3NpdGl2byBkZSBidWNsZSBjaWZyYWRvIHF1ZSBzb2xhcGEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogZXJyb3IgYWwgcmV1dGlsaXphciBkaXNwb3NpdGl2byBkZSBidWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImVycm9yIGFsIGluc3BlY2Npb25hciBkaXNwb3NpdGl2b3MgZGUgYnVjbGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGVycm9yIGFsIGNvbXByb2JhciBjb25mbGljdG9zIGVuIGRpc3Bvc2l0aXZvcyBkZSBidWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NDIgc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIm5vIHNlIGhhIGVuY29udHJhZG8gbmluZ8O6biBkaXNwb3NpdGl2byBkZSBidWNsZSBsaWJyZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogZmFsbG8gYWwgdXRpbGl6YXIgZWwgZmljaGVybyBzdWJ5YWNlbnRlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsb2dpY2FsIGJsb2NrIHNpemUiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGVsIHRhbWHDsW8gZGUgYmxvcXVlIGzDs2dpY28iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gdXRpbGl6YXIgZWwgZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg1Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ8O6biBkaXNwb3NpdGl2byBkZSBidWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgImxhcyBvcGNpb25lcyAlcyBzb2xvIHNlIHBlcm1pdGVuIGR1cmFudGUgbGEgaW5zdGFsYWNpw7NuIGRlbCBkaXNwb3NpdGl2byBkZSBidWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAibGEgb3BjacOzbiAtLW9mZnNldCBubyBzZSBwZXJtaXRlIGVuIGVzdGUgY29udGV4dG8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG8gYWwgZXN0YWJsZWNlciBsYSBjYXBhY2lkYWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBlc3RhYmxlY2VyIGUvcyBkaXJlY3RhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBlc3RhYmxlY2VyIGVsIHRhbWHDsW8gZGUgYmxvcXVlIGzDs2dpY28iCisKKyMgTWFzY3VsaW5vLCBwb3JxdWUgc2UgcmVmaWVyZSBhICJJbmRpY2Fkb3JlcyIKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1Cittc2dpZCAibm9uZSIKK21zZ3N0ciAibmluZ3VubyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICJwYXJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgImxsZW5vIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiY29udGVuZWRvciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiaG9yaXpvbnRhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCittc2dpZCAidmVydGljYWwiCittc2dzdHIgInZlcnRpY2FsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgQ1BVIGzDs2dpY2EiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgbsO6Y2xlbyBsw7NnaWNvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgwqtzb2NrZXTCuyBsw7NnaWNvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgbm9kbyBOVU1BIGzDs2dpY28iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgbGlicm8gbMOzZ2ljbyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIGNhasOzbiBsw7NnaWNvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICJtdWVzdHJhIGPDs21vIGVzdMOhbiBjb21wYXJ0aWRhcyBsYXMgY2FjaMOpcyBlbnRyZSBsYXMgQ1BVcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAibW9kbyBkZSBkaXN0cmlidWNpw7NuIGRlIENQVSBlbiBoYXJkd2FyZSB2aXJ0dWFsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDIKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICJkaXJlY2Npw7NuIGbDrXNpY2EgZGUgdW5hIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJtdWVzdHJhIHNpIGVsIGhpcGVydmlzb3IgaGEgcmVzZXJ2YWRvIGxhIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJtdWVzdHJhIHNpIExpbnV4IGVzdMOhIGhhY2llbmRvIHVzbyBkZSBsYSBDUFUgZW4gZXN0ZSBpbnN0YW50ZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIm11ZXN0cmEgbG9zIG3DoXhpbW9zIE1IeiBkZSBsYSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNgorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJtdWVzdHJhIGxvcyBtw61uaW1vcyBNSHogZGUgbGEgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJlcnJvcjogZmFsbG8gZGUgdW5hbWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiZmFsbG8gYWwgZGV0ZXJtaW5hciBlbCBuw7ptZXJvIGRlIENQVXM6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo3NDgKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAibm8gc2UgcHVlZGUgcmVzdGFibGVjZXIgZWwgbWFuZWphZG9yIGRlIHNlw7FhbGVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gZXh0cmFlciBlbCBuw7ptZXJvIGRlIG5vZG8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIlkiCittc2dzdHIgIlMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyBFc3RlIGVzIGVsIGZvcm1hdG8gYW5hbGl6YWJsZSwgZWwgY3VhbCBwdWVkZSBwYXNhcnNlIGEgb3Ryb3NcbiIKKyIjIHByb2dyYW1hcy4gQ2FkYSBlbGVtZW50byBkaWZlcmVudGUgZW4gY2FkYSB1bmEgZGUgbGFzIGNvbHVtbmFzXG4iCisiIyB0aWVuZSB1biBJRCDDum5pY28gcXVlIGNvbWllbnphIGVuIGNlcm8uXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MjQKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICJBcnF1aXRlY3R1cmE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJtb2RvKHMpIGRlIG9wZXJhY2nDs24gZGUgbGFzIENQVXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiT3JkZW4gZGUgbG9zIGJ5dGVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVShzKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTcOhc2NhcmEgZGUgbGEocykgQ1BVKHMpIGVuIGzDrW5lYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDgKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiTGlzdGEgZGUgbGEocykgQ1BVKHMpIGVuIGzDrW5lYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjcKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIk3DoXNjYXJhIGRlIGxhKHMpIENQVShzKSBmdWVyYSBkZSBsw61uZWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjgKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkxpc3RhIGRlIGxhKHMpIENQVShzKSBmdWVyYSBkZSBsw61uZWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJIaWxvKHMpIGRlIHByb2Nlc2FtaWVudG8gcG9yIG7DumNsZW86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiTsO6Y2xlbyhzKSBwb3Igwqtzb2NrZXTCuzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICLCq1NvY2tldChzKcK7IHBvciBsaWJybzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTEKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICJMaWJybyhzKSBwb3IgY2Fqw7NuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMworbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIkNhasOzbihlcyk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIkxpYnJvKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIsKrU29ja2V0KHMpwrsiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJNb2RvKHMpIE5VTUE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI0Cittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiSUQgZGUgZmFicmljYW50ZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJUaXBvIGRlIG3DoXF1aW5hOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJGYW1pbGlhIGRlIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZGVsbzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTm9tYnJlIGRlbCBtb2RlbG86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICJSZXZpc2nDs246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IeiBkaW7DoW1pY29zOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MAorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IeiBlc3TDoXRpY29zOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MgorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiQ1BVIE1IeiBtw6F4LjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDQKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIkNQVSBNSHogbcOtbi46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGl6YWNpw7NuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIaXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiRmFicmljYW50ZSBkZWwgaGlwZXJ2aXNvcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiVGlwbyBkZSB2aXJ0dWFsaXphY2nDs246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYwCittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIk1vZG8gZGUgZGlzdHJpYnVjacOzbjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIkNhY2jDqSAlczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVKHMpIGRlbCBub2RvIE5VTUEgJWQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIsKrU29ja2V0c8K7IGbDrXNpY29zOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiQ2hpcHMgZsOtc2ljb3M6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg0Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIk7DumNsZW9zL2NoaXBzIGbDrXNpY29zOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OAorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiSW5kaWNhZG9yZXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiTXVlc3RyYSBpbmZvcm1hY2nDs24gc29icmUgbGEgYXJxdWl0ZWN0dXJhIGRlIGxhIENQVS5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGltcHJpbWUgdGFudG8gbGFzIENQVXMgZW4gbMOtbmVhIGNvbW8gZnVlcmEgZGUgbMOtbmVhIChsbyBwcmVkZXRlcm1pbmFkbyBwYXJhIC1lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAgaW1wcmltZSBzb2xvIGxhcyBDUFVzIGVuIGzDrW5lYSAobG8gcHJlZGV0ZXJtaW5hZG8gcGFyYSAtcClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgaW1wcmltZSBzb2xvIGxhcyBDUFVzIGZ1ZXJhIGRlIGzDrW5lYVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXRpbGl6YSBKU09OIGNvbW8gZm9ybWF0byBwcmVkZXRlcm1pbmFkbyBvIGV4dGVuZGlkb1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdGE+XSBpbXByaW1lIGVuIGZvcm1hdG8gbGVnaWJsZSBleHRlbmRpZG9cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08bGlzdGE+XSAgIGltcHJpbWUgZW4gZm9ybWF0byBhbmFsaXphYmxlXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTIKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHV0aWxpemEgY29tbyByYcOteiBkZWwgc2lzdGVtYSBlbCBkaXJlY3RvcmlvIGVzcGVjaWZpY2Fkb1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIGltcHJpbWUgbcOhc2NhcmFzIGhleGFkZWNpbWFsZXMgZW4gbHVnYXIgZGUgbGlzdGFzIGRlIENQVXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNAorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBpbXByaW1lIElEcyBmw61zaWNvcyBlbiB2ZXogZGUgbMOzZ2ljb3NcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiYXJndW1lbnRvIG5vIHbDoWxpZG8gcGFyYSAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiVzOiBsYXMgb3BjaW9uZXMgLS1hbGwsIC0tb25saW5lIHkgLS1vZmZsaW5lIHNvbG8gcHVlZGVuIHV0aWxpemFyc2UgY29uIGxhcyBvcGNpb25lcyAtLWV4dGVuZGVkIG8gLS1wYXJzZS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJDbGF2ZSBkZWwgcmVjdXJzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICJDbGF2ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIklEIGRlbCByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICJOb21icmUgZGUgdXN1YXJpbyBvIFVJRCBkZWwgcHJvcGlldGFyaW8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJQcm9waWV0YXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlBlcm1pc29zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiVUlEIGRlbCBjcmVhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIlVzYXJpbyBkZWwgY3JlYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIkdJRCBkZWwgY3JlYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiR3J1cG8gZGVsIGNyZWFkb3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgIklEIGRlbCB1c3VhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIlVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJOb21icmUgZGVsIHVzdWFyaW8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICJJRCBkZWwgZ3J1cG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJOb21icmUgZGVsIGdydXBvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiSG9yYSBkZSBsYSDDumx0aW1hIG1vZGlmaWNhY2nDs24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICLDmmx0aW1hIG1vZGlmaWNhY2nDs24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIkJ5dGVzIGVuIHVzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJOw7ptZXJvIGRlIG1lbnNhamVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiTWVuc2FqZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiSG9yYSBkZWwgw7psdGltbyBtZW5zYWplIGVudmlhZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICJNZW5zYWplcyBlbnZpYWRvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiSG9yYSBkZWwgw7psdGltbyBtZW5zYWplIHJlY2liaWRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIk1lbnNhamVzIHJlY2liaWRvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIlBJRCBkZWwgZW1pc29yIGRlbCDDumx0aW1vIG1lbnNhamUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIkVtaXNvciBkZWwgbWVuc2FqZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiUElEIGRlbCByZWNlcHRvciBkZWwgw7psdGltbyBtZW5zYWplIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIlJlY2VwdG9yIGRlbCBtZW5zYWplIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlRhbWHDsW8gZGVsIHNlZ21lbnRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJOw7ptZXJvIGRlIHByb2Nlc29zIGNvbmVjdGFkb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiUHJvY2Vzb3MgY29uZWN0YWRvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICJFc3RhZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJIb3JhIGRlIGNvbmV4acOzbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIkhvcmEgZGUgZGVzY29uZXhpw7NuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiTMOtbmVhIGRlIMOzcmRlbmVzIGRlbCBjcmVhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIk9yZGVuIGRlbCBjcmVhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIlBJRCBkZWwgY3JlYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIlBJRCBkZWwgY3JlYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiUElEIGRlbCDDumx0aW1vIHVzdWFyaW8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgIlBJRCBkZWwgw7psdGltbyB1c3VhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiTsO6bWVybyBkZSBzZW3DoWZvcm9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW3DoWZvcm9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiSG9yYSBkZSBsYSDDumx0aW1hIG9wZXJhY2nDs24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICLDmmx0aW1hIG9wZXJhY2nDs24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIk5vbWJyZSBkZWwgcmVjdXJzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIlJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJEZXNjcmlwY2nDs24gZGVsIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJEZXNjcmlwY2nDs24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJVdGlsaXphZG8gYWN0dWFsbWVudGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIlV0aWxpemFkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJQb3JjZW50YWplIGRlIHVzbyBhY3R1YWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiVXNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiTMOtbWl0ZSBnbG9iYWwgZGVsIHNpc3RlbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICJMw61taXRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICJsYSBjb2x1bW5hICVzIG5vIGVzIGFwbGljYWJsZSBhbCBJUEMgZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIHVzbyBnbG9iYWwgZGVsIHNpc3RlbWEgKHB1ZWRlIGNvbWJpbmFyc2UgY29uIC1tLCAtcSB5IC1zKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gICAgIGltcHJpbWUgaW5mb3JtYWNpw7NuIGRldGFsbGFkYSBzb2JyZSBsb3MgcmVjdXJzb3MgaWRlbnRpZmljYWRvcyBwb3IgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1idHllcyAgICAgICAgICAgICAgbXVlc3RyYSBlbCBUQU1Bw5FPIGVuIGJ5dGVzIGVuIGx1Z2FyIGRlIGhhY2VybG8gZW4gZm9ybWF0byBsZWdpYmxlIHBhcmEgaHVtYW5vc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBtdWVzdHJhIGVsIGNyZWFkb3IgeSBlbCBwcm9waWV0YXJpb1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiAsIC0tanNvbiAgICAgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXRvIGRlIHNhbGlkYSBKU09OXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZnVlcnphIGxhIHNhbGlkYSBjb24gZm9ybWF0byBkZSBsaXN0YSAocG9yIGVqZW1wbG8sIGNvbiAtLWlkKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBpbXByaW1lIGxvcyBwZXJtaXNvcyBudW3DqXJpY29zIChjb2x1bW5hIFBFUk1TKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIG11ZXN0cmEgbGFzIGhvcmFzIGRlIGNvbmV4acOzbiwgZGVzY29uZXhpw7NuIHkgY2FtYmlvXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW1uYXMgZ2Vuw6lyaWNhczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVtbmFzIGRlIG1lbW9yaWEgY29tcGFydGlkYSAoLS1zaG1lbXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW1uYXMgZGUgY29sYXMgZGUgbWVuc2FqZXMgKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVtbmFzIGRlIHNlbcOhZm9yb3MgKC0tc2VtYXBob3Jlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2x1bW5hcyByZXN1bWVuICgtLWdsb2JhbCk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJFbGVtZW50b3M6XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyBwb25lciBsb3MgZGF0b3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIk7Dum1lcm8gZGUgaWRlbnRpZmljYWRvcmVzIGRlIHNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOw7ptZXJvIHRvdGFsIGRlIHNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAiTcOheC4gc2Vtw6Fmb3JvcyBlbiB1biBjb25qdW50byBkZSBzZW3DoWZvcm9zLiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE1Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAiTsO6bWVybyBtw6F4LiBkZSBvcGVyYWNpb25lcyBwb3Igc2Vtb3AoMikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNgorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIlZhbG9yIG3DoXguIHNlbcOhZm9ybyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJOw7ptZXJvIGRlIGNvbGFzIGRlIG1lbnNhamVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIlRhbWHDsW8gbcOheC4gZGUgbWVuc2FqZSAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIlRhbWHDsW8gbcOheC4gcHJlZGV0ZXJtaW5hZG8gZGUgY29sYSAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgInRhYmxhcyBkZSBww6FnaW5hcyBnaWdhbnRlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTkwIHN5cy11dGlscy9sc2lwYy5jOjEwMTUKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIm5vIHJlc2VydmFkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MgorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgIlNlZ21lbnRvcyBkZSBtZW1vcmlhIGNvbXBhcnRpZGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJQYWdpbmFzIGRlIG1lbW9yaWEgY29tcGFydGlkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJUYW1hw7FvIG3DoXguIGRlIHNlZ21lbnRvIGRlIG1lbW9yaWEgY29tcGFydGlkYSAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIlRhbWHDsW8gbcOtbi4gZGUgc2VnbWVudG8gZGUgbWVtb3JpYSBjb21wYXJ0aWRhIChieXRlcykiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGVsIGlkZW50aWZpY2Fkb3IgZGUgSVBDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tZ2xvYmFsIGVzIG11dHVhbWVudGUgZXhjbHV5ZW50ZSBjb24gLS1jcmVhdG9yLCAtLWlkIHkgLS10aW1lIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjgKK21zZ2lkICJzdGFydCBhbmQgZW5kIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiZGlyZWNjaW9uZXMgZGUgY29taWVuem8geSBkZSBmaW4gZGVsIHJhbmdvIGRlIG1lbW9yaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAidGFtYcOxbyBkZWwgcmFuZ28gZGUgbWVtb3JpYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJlc3RhZG8gZW4gbMOtbmVhIGRlbCByYW5nbyBkZSBtZW1vcmlhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICJsYSBtZW1vcmlhIGVzIGRlc21vbnRhYmxlIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAibsO6bWVybyBkZSBibG9xdWUgbyByYW5nbyBkZSBibG9xdWVzIGRlIG1lbW9yaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworbXNnaWQgIm51bWEgbm9kZSBvZiBtZW1vcnkiCittc2dzdHIgIm5vZG8gZGUgbWVtb3JpYSBudW1hIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiem9uYXMgdsOhbGlkYXMgZGVsIHJhbmdvIGRlIG1lbW9yaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MQorbXNnaWQgIm9ubGluZSIKK21zZ3N0ciAiZW4gbMOtbmVhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjIKK21zZ2lkICJvZmZsaW5lIgorbXNnc3RyICJmdWVyYSBkZSBsw61uZWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIm9uLT5vZmYiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgIlRhbWHDsW8gZGVsIGJsb3F1ZSBkZSBtZW1vcmlhOiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworbXNnaWQgIlRvdGFsIG9ubGluZSBtZW1vcnk6IgorbXNnc3RyICJNZW1vcmlhIHRvdGFsIGVuIGzDrW5lYToiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKK21zZ2lkICJUb3RhbCBvZmZsaW5lIG1lbW9yeToiCittc2dzdHIgIk1lbW9yaWEgdG90YWwgZnVlcmEgZGUgbMOtbmVhOiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgbWVtb3J5IGJsb2NrcyIKK21zZ3N0ciAiRXN0ZSBzaXN0ZW1hIG5vIGFkbWl0ZSBibG9xdWVzIGRlIG1lbW9yaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ5OQorbXNnaWQgIkxpc3QgdGhlIHJhbmdlcyBvZiBhdmFpbGFibGUgbWVtb3J5IHdpdGggdGhlaXIgb25saW5lIHN0YXR1cy5cbiIKK21zZ3N0ciAiRW51bWVyYSBsb3MgcmFuZ29zIGRlIG1lbW9yaWEgZGlzcG9uaWJsZSBjb24gc3UgZXN0YWRvIGVuIGzDrW5lYS5cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIGxpc3QgZWFjaCBpbmRpdmlkdWFsIG1lbW9yeSBibG9ja1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgZW51bWVyYSBjYWRhIGJsb3F1ZSBkZSBtZW1vcmlhIGluZGl2aWR1YWxcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgLVMsIC0tc3BsaXQgPGxpc3RhPiAgZGl2aWRlIGxvcyByYW5nb3MgcG9yIGNvbHVtbmFzIGVzcGVjaWZpY2FkYXNcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgdXRpbGl6YSBjb21vIHJhw616IGRlbCBzaXN0ZW1hIGVsIGRpcmVjdG9yaW8gZXNwZWNpZmljYWRvXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiICAgICAtLXN1bW1hcnkoPWN1w6FuZG8pIGltcHJpbWUgdW4gcmVzdW1lbiBpbmZvcm1hdGl2byAobmV2ZXIsIGFsd2F5cyBvIG9ubHkpXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYxOAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc3VtbWFyeSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIC0tc3VtbWFyeSBubyBhZG1pdGlkbyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjMzCittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxhcyBvcGNpb25lcyAtLXtyYXcsanNvbixwYWlyc30geSAtLXN1bW1hcnk9b25seSBzb24gbXV0dWFtZW50ZSBleGNsdXllbnRlcyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjY0IHN5cy11dGlscy9sc25zLmM6NzgxCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaW5pY2lhbGl6YXIgbGEgdGFibGEgZGUgc2FsaWRhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gaW5pY2lhbGl6YXIgbGEgY29sdW1uYSBkZSBzYWxpZGEiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBkZWwgZXNwYWNpbyBkZSBub21icmVzIChuw7ptZXJvIGRlIG5vZG8taSkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwCittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgImNsYXNlIGRlIGVzcGFjaW8gZGUgbm9tYnJlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDEKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgInJ1dGEgZGVsIGVzcGFjaW8gZGUgbm9tYnJlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIm7Dum1lcm8gZGUgcHJvY2Vzb3MgZW4gZWwgZXNwYWNpbyBkZSBub21icmVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiUElEIG3DoXMgYmFqbyBlbiBlbCBlc3BhY2lvIGRlIG5vbWJyZXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElEIGRlbCBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgImzDrW5lYSBkZSDDs3JkZW5lcyBkZWwgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICJVSUQgZGVsIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICJub21icmUgZGUgdXN1YXJpbyBkZWwgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICJJRCBkZWwgZXNwYWNpbyBkZSBub21icmVzIHRhbCB5IGNvbW8gc2UgdXNhIGVuIGVsIHN1YnNpc3RlbWEgZGUgcmVkIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAicHVudG8gZGUgbW9udGFqZSBkZSBuc2ZzIChub3JtYWxtZW50ZSB1dGlsaXphZG8gc3Vic2lzdGVtYSBkZSByZWQpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxOQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhw7FhZGlyIGxhIGzDrW5lYSBhIGxhIHNhbGlkYSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIFs8ZXNwYWNpbyBkZSBub21icmVzPl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICJFbnVtZXJhIGxvcyBub21icmVzIGRlIGVzcGFjaW8gZGVsIHNpc3RlbWEuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA1Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIGltcHJpbWUgbG9zIGVzcGFjaW9zIGRlIG5vbWJyZXMgZGVsIHByb2Nlc29cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKK21zZ2lkICIgLVcsIC0tbm93cmFwICAgICAgICAgICBkb24ndCB1c2UgbXVsdGktbGluZSByZXByZXNlbnRhdGlvblxuIgorbXNnc3RyICIgLVcsIC0tbm93cmFwICAgICAgICAgICBubyB1dGlsaXphIHJlcHJlc2VudGFjacOzbiBtdWx0aWzDrW5lYVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOQorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8bm9tYnJlPiAgICB0aXBvIGRlIGVzcGFjaW8gZGUgbm9tYnJlcyAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJ0aXBvIGRlIGVzcGFjaW8gZGUgbm9tYnJlcyBkZXNjb25vY2lkbzogJyVzJyAiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNAorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiLS10YXNrIGVzIG11dHVhbWVudGUgZXhjbHV5ZW50ZSBjb24gPGVzcGFjaW8gZGUgbm9tYnJlcz4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gZGUgZXNwYWNpbyBkZSBub21icmVzIG5vIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgImVzcGFjaW8gZGUgbm9tYnJlcyBubyBlbmNvbnRyYWRvOiAlanUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAic8OzbG8gZWwgdXN1YXJpbyByb290IHB1ZWRlIHV0aWxpemFyIGxhIG9wY2nDs24gXCItLSVzXCIgKGVsIFVJRCBlZmVjdGl2byBlcyAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAic8OzbG8gZWwgdXN1YXJpbyByb290IHB1ZWRlIGhhY2VyIGVzbyAoZWwgVUlEIGVmZWN0aXZvIGVzICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgInPDs2xvIGVsIHVzdWFyaW8gcm9vdCBwdWVkZSB1dGlsaXphciBsYSBvcGNpw7NuIFwiLS0lc1wiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJzw7NsbyBlbCB1c3VhcmlvIHJvb3QgcHVlZGUgZWZlY3R1YXIgZXNhIGFjY2nDs24iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgZGUgJXMgKGxpYm1vdW50ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMjkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gbGVlciBtdGFiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czogaWdub3JhZG9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiJS0yNXMgeWEgZXN0w6EgbW9udGFkb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMgbW92aWRvIGEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyB2aW5jdWxhZGEgYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIG1vbnRhZG8gZW4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiJXM6ICVzIGxvcyBpbmRpY2Fkb3JlcyBkZSBwcm9wYWdhY2nDs24gaGFuIGNhbWJpYWRvLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudDogJXMgbm8gY29udGllbmUgZXRpcXVldGFzIFNFTGludXguXG4iCisiICAgICAgIFVzdGVkIGhhIG1vbnRhZG8gdW4gc2lzdGVtYSBkZSBmaWNoZXJvcyBxdWUgYWRtaXRlIGV0aXF1ZXRhcyBxdWUgbm9cbiIKKyIgICAgICAgY29udGVuZ2FuIGV0aXF1ZXRhcywgc29icmUgdW5hIGNhamEgU0VMaW51eC4gRXMgcHJvYmFibGUgcXVlIGxhcyBhcGxpY2FjaW9uZXNcbiIKKyIgICAgICAgY29uZmluYWRhcyBlbiDDqWwgZ2VuZXJlbiBtZW5zYWplcyBBVkMgeSBubyB0ZW5nYW4gcGVybWlzbyBwYXJhIGFjY2VkZXIgYVxuIgorIiAgICAgICBlc3RlIHNpc3RlbWEgZGUgZmljaGVyb3MuIFBhcmEgbcOhcyBkZXRhbGxlcywgY29uc3VsdGUgcmVzdG9yZWNvbig4KSB5IG1vdW50KDgpLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICIlczogJXMuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIGFuYWxpemFyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgImZvcm1hdG8gZGUgb3BjacOzbiBkZXNjb25vY2lkbzogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJmYWxsbyBhbCBhw7FhZGlyIGxhIG9wY2nDs24gJyVzJyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wY2lvbmVzXVxuIgorIiAlMSRzIFtvcGNpb25lc10gWy0tc291cmNlXSA8ZnVlbnRlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yaW8+XG4iCisiICUxJHMgW29wY2lvbmVzXSA8ZnVlbnRlPiA8ZGlyZWN0b3Jpbz5cbiIKKyIgJTEkcyA8b3BlcmFjacOzbj4gPHB1bnRvZGVtb250YWplPiBbPGRlc3Rpbm8+XVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1vbnRhIHVuIHNpc3RlbWEgZGUgZmljaGVyb3MuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW9udGEgdG9kb3MgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zIG1lbmNpb25hZG9zIGVuIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIG5vIGNhbm9uaXphIGxhcyBydXRhc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBoYWNlIHVuYSBwcnVlYmE7IG5vIHJlYWxpemEgbGEgbGxhbWFkYSBhbCBzaXN0ZW1hIG1vdW50KDIpXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIHNlIGRlc2RvYmxhIHBhcmEgY2FkYSBkaXNwb3NpdGl2byAodXRpbMOtY2VzZSBjb24gLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGZpY2hlcm8gYWx0ZXJuYXRpdm8gYSAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG5vIGxsYW1hIGEgbG9zIGF1eGlsaWFyZXMgbW91bnQuPHRpcG8+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBtdWVzdHJhIHRhbWJpw6luIGxhcyBldGlxdWV0YXMgZGUgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgbm8gZXNjcmliZSBlbiAvZXRjL210YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0YT4gICBsaXN0YSBkZSBvcGNpb25lcyBkZSBtb250YWplIHNlcGFyYWRhcyBwb3IgY29tYVxuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBsaW1pdGEgZWwgY29uanVudG8gZGUgc2lzdGVtYXMgZGUgZmljaGVyb3MgKHV0aWzDrWNlc2UgY29uIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb250YSBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIHBhcmEgc29sbyBsZWN0dXJhIChpZ3VhbCBxdWUgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0YT4gICAgIGxpbWl0YSBlbCBjb25qdW50byBkZSB0aXBvcyBkZSBzaXN0ZW1hcyBkZSBmaWNoZXJvc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXNwZWNpZmljYSBleHBsw61jaXRhbWVudGUgbGEgZnVlbnRlIChydXRhLCBldGlxdWV0YSwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDxkc3Q+ICAgICAgZXNwZWNpZmljYSBleHBsw61jaXRhbWVudGUgZWwgcHVudG8gZGUgbW9udGFqZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZGljZSBsbyBxdWUgc2UgZXN0w6EgaGFjaWVuZG9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW9udGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBwYXJhIGxlY3R1cmEgeSBlc2NyaXR1cmEgKHByZWRldGVybWluYWRvKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisiRnVlbnRlOlxuIgorIiAtTCwgLS1sYWJlbCA8ZXRpcXVldGE+ICBzaW7Ds25pbW8gZGUgTEFCRUw9PGV0aXF1ZXRhPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzaW7Ds25pbW8gZGUgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGV0aXF1ZXRhPiAgICAgICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBtZWRpYW50ZSBsYSBldGlxdWV0YSBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvc1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBlc3BlY2lmaWNhIGVsIGRpc3Bvc2l0aXZvIG1lZGlhbnRlIGVsIFVVSUQgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3NcbiIKKyIgUEFSVExBQkVMPTxldGlxdWV0YT4gICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBtZWRpYW50ZSBsYSBldGlxdWV0YSBkZSBsYSBwYXJ0aWNpw7NuXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIGVzcGVjaWZpY2EgZWwgZGlzcG9zaXRpdm8gbWVkaWFudGUgZWwgVVVJRCBkZSBsYSBwYXJ0aWNpw7NuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGRpc3Bvc2l0aXZvPiAgICAgICAgICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBtZWRpYW50ZSBsYSBydXRhXG4iCisiIDxkaXJlY3RvcmlvPiAgICAgICAgICAgIHB1bnRvIGRlIG1vbnRhamUgcGFyYSBsb3MgbW9udGFqZXMgZGUgwqtiaW5kwrsgKHbDqWFzZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWNoZXJvPiAgICAgICAgICAgICAgIGZpY2hlcm8gb3JkaW5hcmlvIHBhcmEgY29uZmlndXJhciBkaXNwb3NpdGl2byBkZSBidWNsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisiXG4iCisiT3BlcmFjaW9uZXM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vbnRhIHVuIHN1YsOhcmJvbCBlbiBhbGfDum4gb3RybyBzaXRpbyAoaWd1YWwgcXVlIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG11ZXZlIHVuIHN1YsOhcmJvbCBhIGFsZ8O6biBvdHJvIHNpdGlvXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vbnRhIHVuIHN1YsOhcmJvbCB5IHRvZG9zIGxvcyBzdWJtb250YWplcyBlbiBhbGfDum4gb3RybyBzaXRpb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyY2EgdW4gc3Viw6FyYm9sIGNvbW8gY29tcGFydGlkb1xuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJjYSB1biBzdWLDoXJib2wgY29tbyBlc2NsYXZvXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmNhIHVuIHN1YsOhcmJvbCBjb21vIHByaXZhZG9cbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyY2EgdW4gc3Viw6FyYm9sIGNvbW8gbm8gdmluY3VsYWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgbWFyY2EgcmVjdXJzaXZhbWVudGUgdW4gc3Viw6FyYm9sIGNvbXBsZXRvIGNvbW8gY29tcGFydGlkb1xuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICBtYXJjYSByZWN1cnNpdmFtZW50ZSB1biBzdWLDoXJib2wgY29tcGxldG8gY29tbyBlc2NsYXZvXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIG1hcmNhIHJlY3Vyc2l2YW1lbnRlIHVuIHN1YsOhcmJvbCBjb21wbGV0byBjb21vIHByaXZhZG9cbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgbWFyY2EgcmVjdXJzaXZhbWVudGUgdW4gc3Viw6FyYm9sIGNvbXBsZXRvIGNvbW8gbm8gdmluY3VsYWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImZhbGxvIGVuIGxhIGFzaWduYWNpw7NuIGRlbCBjb250ZXh0byBkZSBsaWJtb3VudCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAxIHN5cy11dGlscy91bW91bnQuYzo1MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgZWwgcGF0csOzbiBkZSBsYXMgb3BjaW9uZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgInNlIGhhIGVzcGVjaWZpY2FkbyBlbCBvcmlnZW4gbcOhcyBkZSB1bmEgdmV6IgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC9ydXRhL2EvZGlyZWN0b3Jpb1xuIgorIiAlMSRzIC14IC9kZXYvZGlzcG9zaXRpdm9cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICJDb21wcnVlYmEgc2kgdW4gZGlyZWN0b3JpbyBvIHVuIGZpY2hlcm8gZXMgdW4gcHVudG8gZGUgbW9udGFqZS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgbW9kbyBzaWxlbmNpb3NvIC0gbm8gaW1wcmltZSBuYWRhXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBpbXByaW1lIG7Dum1lcm8gZGUgZGlzcG9zaXRpdm8gbWF5b3I6bWVub3IgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3NcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIGltcHJpbWUgbsO6bWVybyBkZSBkaXNwb3NpdGl2byBtYXlvcjptZW5vciBkZWwgZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIG5vIGVzIHVuIHB1bnRvIGRlIG1vbnRhamVcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGVzIHVuIHB1bnRvIGRlIG1vbnRhamVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MyBzeXMtdXRpbHMvc2V0YXJjaC5jOjkyIHN5cy11dGlscy91bnNoYXJlLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIFs8cHJvZ3JhbWE+IFs8YXJndW1lbnRvPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIkVqZWN1dGEgdW4gcHJvZ3JhbWEgY29uIGVzcGFjaW9zIGRlIG5vbWJyZXMgZGUgb3Ryb3MgcHJvY2Vzb3MuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICBpbnRyb2R1Y2UgdG9kb3MgbG9zIGVzcGFjaW9zIGRlIG5vbWJyZXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgcHJvY2VzbyBkZWwgcXVlIG9idGVuZXIgbG9zIGVzcGFjaW9zIGRlIG5vbWJyZXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTxmaWNoZXJvPl3CoGludHJvZHVjZSBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGVsIG1vbnRhamVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGZpY2hlcm8+XSAgaW50cm9kdWNlIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBVVFMgKG5vbWJyZSBkZSBtw6FxdWluYSwgZXRjLilcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PGZpY2hlcm8+XSAgaW50cm9kdWNlIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBkZWwgU3lzdGVtIFYgSVBDXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmljaGVybz5dICBpbnRyb2R1Y2UgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlIHJlZFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz08ZmljaGVybz5dICBpbnRyb2R1Y2UgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlIHBpZFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUMsIC0tY2dyb3VwWz08ZmljaGVybz5dwqBpbnRyb2R1Y2UgZWwgZXNwYWNpbyBkZSBub21icmVzIGRlbCBjZ3JvdXBcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08ZmljaGVybz5dIGludHJvZHVjZSBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgdXN1YXJpb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBlc3RhYmxlY2UgZWwgdWlkIGVuIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBpbnRyb2R1Y2lkb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBlc3RhYmxlY2UgZWwgZ2lkIGVuIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBpbnRyb2R1Y2lkb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIG5vIHRvY2EgdWlkcyBuaSBnaWRzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIGVzdGFibGVjZSBlbCBkaXJlY3RvcmlvIHJhw616XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PGRpcj5dICAgIMKgICBlc3RhYmxlY2UgZWwgZGlyZWN0b3JpbyBkZSB0cmFiYWpvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIG5vIGNyZWEgb3RybyBwcm9jZXNvIGFudGVzIGRlIGVqZWN1dGFyIDxwcm9ncmFtYT5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBlc3RhYmxlY2UgY29udGV4dG8gU0VMaW51eCBjb25mb3JtZSBhIC0tdGFyZ2V0IFBJRFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcHJvcG9yY2lvbmFkbyBuaSBub21icmUgZGUgZmljaGVybyBuaSBwaWQgcGFyYSAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gYW5hbGl6YXIgdWlkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBhbmFsaXphciBnaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIm5vIHNlIGhhIGVzcGVjaWZpY2FkbyBQSUQgb2JqZXRpdm8gcGFyYSAtLWZvbGxvdy1jb250ZXh0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIG9idGVuZXIgZWwgY29udGV4dG8gU0VMaW51eCBkZSAlZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgZWwgY29udGV4dG8gZGUgZWplY3VjacOzbiBhICclcyciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gUElEIG9iamV0aXZvIHBhcmEgLS1hbGwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgdm9sdmVyIGEgYXNvY2lhciBhbCBlc3BhY2lvIGRlIG5vbWJyZXMgJyVzJyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciBlbCBkaXJlY3RvcmlvIGRlIHRyYWJham8gYWN0dWFsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0OAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBjYW1iaWFyIGRlIGRpcmVjdG9yaW8gcG9yIGRlc2NyaXB0b3IgZGUgZmljaGVybyBkZSBsYSByYcOteiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NTEKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaHJvb3QgZmFsbMOzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ2MQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgY2FtYmlhciBkZSBkaXJlY3RvcmlvIG1lZGlhbnRlIGVsIGRlc2NyaXB0b3IgZGUgZmljaGVybyBkZWwgZGlyZWN0b3JpbyBkZSB0cmFiYWpvIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcygpIGZhbGzDsyIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gbnVldmFfcmHDrXogZW1wbGF6YW1pZW50b19hbnRpZ3VvXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ2FtYmlhIGVsIHNpc3RlbWEgZGUgZmljaGVyb3MgcmHDrXouXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJmYWxsbyBhbCBjYW1iaWFyIGxhIHJhw616IGRlIGAlcycgYSBgJXMnIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAibMOtbWl0ZSBkZWwgZXNwYWNpbyBkZSBkaXJlY2Npb25lcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBtw6F4aW1vIGRlbCBmaWNoZXJvIGRlbCBuw7pjbGVvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgInRpZW1wbyBkZSBDUFUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJzZWd1bmRvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgInRhbWHDsW8gZGUgZGF0b3MgbcOheGltbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgInRhbWHDsW8gZGUgZmljaGVybyBtw6F4aW1vIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm7Dum1lcm8gbcOheC4gZGUgYmxvcXVlb3MgZGUgZmljaGVybyBtYW50ZW5pZG9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibG9ja3MiCittc2dzdHIgImJsb3F1ZW9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAibcOheC4gZXNwYWNpbyBkZSBkaXJlY2Npb25lcyBibG9xdWVhZG8gZW4gbWVtb3JpYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJtw6F4LiBkZSBieXRlcyBlbiBjb2xhcyBkZSBtZW5zYWplcyBQT1NJWCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAibcOheC4gcHJpb3JpZGFkIMKrbmljZcK7IHBlcm1pdGlkYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibsO6bWVybyBtw6F4LiBkZSBmaWNoZXJvcyBhYmllcnRvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICJmaWNoZXJvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJuw7ptZXJvIG3DoXguIGRlIHByb2Nlc29zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICJwcm9jZXNvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBtw6F4aW1vIGRlIGNvbmp1bnRvIHJlc2lkZW50ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIm3DoXguIHByaW9yaWRhZCBkZSB0aWVtcG8gcmVhbCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAidGllbXBvIGzDrW1pdGUgcGFyYSB0YXJlYXMgZGUgdGllbXBvIHJlYWwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pY3Jvc2VndW5kb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibsO6bWVybyBtw6F4LiBkZSBzZcOxYWxlcyBwZW5kaWVudGVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAic2XDsWFsZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBtw6F4LiBkZSBwaWxhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIm5vbWJyZSBkZSByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkZXNjcmlwY2nDs24gZGVsIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAibMOtbWl0ZSBibGFuZG8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgImzDrW1pdGUgZHVybyAodGVjaG8pIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICJ1bmlkYWRlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gT1JERU5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTXVlc3RyYSBvIG1vZGlmaWNhIGxvcyBsw61taXRlcyBkZSByZWN1cnNvcyBkZSB1biBwcm9jZXNvLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNpb25lcyBnZW5lcmFsZXM6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGlkIGRlbCBwcm9jZXNvXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgZGVmaW5lIGxhcyBjb2x1bW5hcyBxdWUgc2UgdXNhcsOhbiBlbiBsYSBzYWxpZGFcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBubyBpbXByaW1lIGxhcyBjYWJlY2VyYXNcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdG8gZGUgc2FsaWRhIGVuIGJydXRvXG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgc2FsaWRhIGNvbiBleHBsaWNhY2lvbmVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaW9uZXMgZGUgbG9zIHJlY3Vyc29zOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OQorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgdGFtYcOxbyBtw6F4aW1vIGRlIGxvcyBmaWNoZXJvcyDCq2NvcmXCuyBxdWUgc2UgZ2VuZXJlblxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIHRhbWHDsW8gbcOheGltbyBkZWwgc2VnbWVudG8gZGUgZGF0b3MgZGUgbG9zIHByb2Nlc29zXG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbcOheGltYSBwcmlvcmlkYWQgwqtuaWNlwrsgcXVlIHNlIHBlcm1pdGUgZWxldmFyXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgdGFtYcOxbyBtw6F4aW1vIGRlIGxvcyBmaWNoZXJvcyBlc2NyaXRvcyBwb3IgZWwgcHJvY2Vzb1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG7Dum1lcm8gbcOheGltbyBkZSBzZcOxYWxlcyBwZW5kaWVudGVzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgdGFtYcOxbyBtw6F4aW1vIHF1ZSB1biBwcm9jZXNvIHB1ZWRlIGJsb3F1ZWFyIGVuIGxhIG1lbW9yaWFcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICB0YW1hw7FvIG3DoXhpbW8gZGUgY29uanVudG8gcmVzaWRlbnRlXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbsO6bWVybyBtw6F4aW1vIGRlIGZpY2hlcm9zIGFiaWVydG9zXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbsO6bWVybyBtw6F4aW1vIGRlIGJ5dGVzIGVuIGNvbGFzIGRlIG1lbnNhamVzIFBPU0lYXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbcOheGltYSBwcmlvcmlkYWQgZGUgcGxhbmlmaWNhY2nDs24gZW4gdGllbXBvIHJlYWxcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICB0YW1hw7FvIG3DoXhpbW8gZGUgcGlsYVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIGNhbnRpZGFkIGRlIHRpZW1wbyBkZSBDUFUgbcOheGltYSBlbiBzZWd1bmRvc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG7Dum1lcm8gbcOheGltbyBkZSBwcm9jZXNvcyBkZSB1c3VhcmlvXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgdGFtYcOxbyBkZSBsYSBtZW1vcmlhIHZpcnR1YWxcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBuw7ptZXJvIG3DoXhpbW8gZGUgYmxvcXVlb3MgZGUgZmljaGVyb1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIHRpZW1wbyBkZSBDUFUgZW4gbWljcm9zZWd1bmRvcyBwbGFuaWZpY2FkbyBwb3IgdW4gcHJvY2Vzb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGJham8gcGxhbmlmaWNhY2nDs24gZW4gdGllbXBvIHJlYWxcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjUKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcwCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICJpbGltaXRhZG8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJlcnJvciBhbCBvYnRlbmVyIGVsIGzDrW1pdGUgJXMgYW50aWd1byIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiZWwgbMOtbWl0ZSBibGFuZG8gJXMgbm8gcHVlZGUgc3VwZXJhciBhbCBsw61taXRlIGR1cm8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIk51ZXZvIGzDrW1pdGUgJXMgcGFyYSBlbCBwaWQgJWQ6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImVycm9yIGFsIGVzdGFibGVjZXIgZWwgbMOtbWl0ZSBkZWwgcmVjdXJzbyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImVycm9yIGFsIG9idGVuZXIgZWwgbMOtbWl0ZSBkZWwgcmVjdXJzbyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJlcnJvciBhbCBhbmFsaXphciBlbCBsw61taXRlIGRlICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAibGEgb3BjacOzbiAtLXBpZCBzb2xvIHB1ZWRlIGVzcGVjaWZpY2Fyc2UgdW5hIHZleiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTQKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxhcyBvcGNpb25lcyAtLXBpZCB5IE9SREVOIHNvbiBtdXR1YW1lbnRlIGV4Y2x1eWVudGVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIk11ZXN0cmEgaW5mb3JtYWNpw7NuIHNvYnJlIGVsIHBlcmZpbCBkZWwgbsO6Y2xlby5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIgLW0sIC0tbWFwZmlsZSA8ZmljaGVyb21hcGE+IChwcmVkZWZpbmlkbzogXCIlc1wiIHlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA8ZmljaGVyby1wZXJmaWw+IChwcmVkZWZpbmlkbzogXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBlc3RhYmxlY2UgZWwgbXVsdGlwbGljYWRvciBkZSBwZXJmaWwgYSA8bXVsdD5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIGltcHJpbWUgc29sYW1lbnRlIGluZm9ybWFjacOzbiBzb2JyZSBlbCBwYXNvIGRlIG11ZXN0cmVvXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBpbXByaW1lIGRhdG9zIGV4cGxpY2F0aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIGltcHJpbWUgdG9kb3MgbG9zIHPDrW1ib2xvcywgaW5jbHVzbyBzaSBsYSBjdWVudGEgZXMgMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIGltcHJpbWUgY3VlbnRhcyBpbmRpdmlkdWFsZXMgZGUgaGlzdG9ncmFtYS1iaW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIGltcHJpbWUgY29udGFkb3JlcyBpbmRpdmlkdWFsZXMgZGVudHJvIGRlIGxhcyBmdW5jaW9uZXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXN0YWJsZWNlIHRvZG9zIGxvcyBjb250YWRvcmVzIChzb2xvIHJvb3QpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkZXNhY3RpdmEgbGEgZGV0ZWNjacOzbiBhdXRvbcOhdGljYSBkZWwgb3JkZW4gZGUgbG9zIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJlcnJvciBhbCBlc2NyaWJpciAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcwCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiU2UgYXN1bWUgb3JkZW4gZGUgYnl0ZXMgaW52ZXJ0aWRvLiBVdGlsaWNlIC1uIHBhcmEgZm9yemFyIGVsIG9yZGVuIGRlIGJ5dGVzIG5hdGl2by4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICJQYXNvIGRlIHNvbmRlbzogJXVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSk6IGzDrW5lYSBkZSBtYXBhIGluY29ycmVjdGEiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVuY29udHJhciBcIl9zdGV4dFwiIGVuICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgImRpcmVjY2nDs24gZGVsIHBlcmZpbCBmdWVyYSBkZSByYW5nby4gwr9GaWNoZXJvIGBtYXAnIGluY29ycmVjdG8/IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDMKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAidG90YWwiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIklEIGRlbCBwcm9jZXNvIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJJRCBkZSBncnVwbyBkZWwgcHJvY2VzbyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA8cHJpb3JpZGFkPiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpZGFkPiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaWRhZD4gIC11fC0tdXNlciA8dXN1YXJpbz4uLi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJBbHRlcmEgbGEgcHJpb3JpZGFkIGRlIGxvcyBwcm9jZXNvcyBxdWUgZXN0w6FuIGVuIGVqZWN1Y2nDs24uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIGVzcGVjaWZpY2EgZWwgdmFsb3IgZGVsIGluY3JlbWVudG8gZGUgwqtuaWNlwrtcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldGEgZWwgYXJndW1lbnRvIGNvbW8gSUQgZGUgcHJvY2VzbyAobG8gcHJlZGV0ZXJtaW5hZG8pXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldGEgZWwgYXJndW1lbnRvIGNvbW8gSUQgZGUgZ3J1cG9cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjc0Cittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPG5vbWJyZT58PGlkPiBpbnRlcnByZXRhIGVsIGFyZ3VtZW50byBjb21vIG5vbWJyZSBvIElEIGRlIHVzdWFyaW9cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBvYnRlbmVyIGxhIHByaW9yaWRhZCBkZSAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgbGEgcHJpb3JpZGFkIGRlICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpIHByaW9yaWRhZCBhbnRlcmlvciAlZCwgbnVldmEgcHJpb3JpZGFkICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSAnJXMnIgorbXNnc3RyICJwcmlvcmlkYWQgbm8gdsOhbGlkYSAnJXMnIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAidXN1YXJpbyBkZXNjb25vY2lkbyAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgInZhbG9yIGluY29ycmVjdG8gZGUgJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJub21icmUgZGlzcG9zaXRpdm8gZGVsIG7DumNsZW8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAidmFsb3IgZGVsIGlkZW50aWZpY2Fkb3IgZGUgZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzEKK21zZ2lkICJkZXZpY2UgdHlwZSBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgYXMgaWRlbnRpZmllciIKK21zZ3N0ciAibm9tYnJlIGRlIHRpcG8gZGUgZGlzcG9zaXRpdm8gcXVlIHB1ZWRlIHV0aWxpemFyc2UgY29tbyBpZGVudGlmaWNhZG9yIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMyCittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgImRlc2NyaXBjacOzbiBkZWwgdGlwbyBkZSBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMworbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAiZXN0YWRvIGRlbCBibG9xdWUgZGUgc29mdHdhcmUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKK21zZ2lkICJzdGF0dXMgb2YgaGFyZHdhcmUgYmxvY2siCittc2dzdHIgImVzdGFkbyBkZWwgcmVsb2ogZGUgaGFyZHdhcmUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgJXMgbm8gYmxvcXVlYW50ZSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgInRhbWHDsW8gaW5jb3JyZWN0byBlIGV2ZW50byByZmtpbGw6ICV6dSA8ICVkIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwb2xsICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gY29uc3VsdGFyICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzEzCittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIG5vIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgImJsb3F1ZWFkbyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICJkZXNibG9xdWVhZG8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIklkZW50aWZpY2Fkb3Igbm8gdsOhbGlkbzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gb3JkZW4gW2lkZW50aWZpY2Fkb3IgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY5Cittc2dpZCAiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIgorbXNnc3RyICJIZXJyYW1pZW50YSBwYXJhIGFjdGl2YXIgeSBkZXNhY3RpdmFyIGRpc3Bvc2l0aXZvcyBpbmhhbMOhbWJyaWNvcy5cbiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIgaGVscFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiBldmVudFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk0Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAiIGxpc3QgICBbaWRlbnRpZmljYWRvcl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiIGJsb2NrICAgaWRlbnRpZmljYWRvclxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk2Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICIgdW5ibG9jayBpZGVudGlmaWNhZG9yXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIkVudHJhIGVuIGVzdGFkbyBkZSByZXBvc28gZGVsIHNpc3RlbWEgaGFzdGEgbGEgaG9yYSBkZSByZWFuaW1hY2nDs24gZXNwZWNpZmljYWRhLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICBsZWUgbGUgbW9kbyBkZWwgcmVsb2ogZW4gZWwgZmljaGVybyBkZSBhanVzdGUgKGNvbXBvcnRhbWllbnRvIHByZWRlZmluaWRvKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmljaGVybz4gIGVzcGVjaWZpY2EgbGEgcnV0YSBhbCBmaWNoZXJvIGRlIGFqdXN0ZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYSBwcmVkZWZpbmlkYSBlcyAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiAgICAgLS1kYXRlIDx0aWVtcG9fdD4gICAgZmVjaGEgeSBob3JhIGRlbCBlc3RhbXBhZG8gcGFyYSBkZXNwZXJ0YXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDxkaXNwb3NpdGl2bz4gc2VsZWNjaW9uYSB1biBkaXNwb3NpdGl2byBydGMgKHJ0YzB8cnRjMXwuLi4pXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgaGFjZSB0b2RvIGV4Y2VwdG8gc3VzcGVuZGVyXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1dGlsaXphIGh1c28gaG9yYXJpbyBsb2NhbFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBlbnVtZXJhIGxvcyBtb2RvcyBkaXNwb25pYmxlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPG1vZG8+ICAgICAgICBtb2RvIGRlIGRvcm1pciBzdGFuZGJ5fG1lbXwuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY29uZHMgPHNlZ3VuZG9zPiBzZWd1bmRvcyBwYXJhIGVtcGV6YXIgYSBkb3JtaXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTUKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8dGllbXBvX3Q+ICAgIHRpZW1wbyBxdWUgZmFsdGEgcGFyYSBkZXNwZXJ0YXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1dGlsaXphIFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG1lbnNhamVzIGV4cGxpY2F0aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBsZWVyIGVsIHRpZW1wbyBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGxlZXIgbGEgaG9yYSBkZWwgc2lzdGVtYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgY29udmVydGlyIHRpZW1wbyBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgcG9uZXIgbGEgYWxhcm1hIGRlIGRlc3BlcnRhciBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAic2UgZGVzY2FydGEgc3RkaW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJ0ZXJjZXJhIGzDrW5lYSBubyBlc3BlcmFkYSBlbjogJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgbGVlciBsYSBhbGFybWEgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgImFsYXJtYTogZGVzYWN0aXZhZGFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNTYKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBjb252ZXJ0aXIgbGEgaG9yYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiYWxhcm1hOiBhY3RpdmFkYSAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGxlZXI6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICJlc3RhZG8gZGUgc3VzcGVuc2nDs24gZGVzY29ub2NpZG8gJyVzJyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgImVsIGFyZ3VtZW50byBkZSBsb3Mgc2VndW5kb3Mgbm8gZXMgdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgImVsIGFyZ3VtZW50byBkZSBsYSBob3JhIG5vIGVzIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVzOiBzZSBhc3VtZSBxdWUgUlRDIHV0aWxpemEgVVRDIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVdGlsaXphbmRvIHRpZW1wbyBVVEMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiVXRpbGl6YW5kbyBob3JhcmlvIGxvY2FsLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJkZWJlIHByb3BvcmNpb25hciBsYSBob3JhIGRlIGRlc3BlcnRhciAodsOpYW5zZSBsYXMgb3BjaW9uZXMgLS1zZWNvbmRzLCAtLXRpbWUgeSAtLWRhdGUpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMgbm8gYWN0aXZhZG8gcGFyYSBldmVudG9zIGRlIGRlc3BlcnRhciAowqt3YWtldXDCuykiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiYWxhcm1hICVsZCwgaG9yYV9zaXN0ZW1hICVsZCwgaG9yYV9ydGMgJWxkLCBzZWd1bmRvcyAldVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1MworIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgImxhIGhvcmEgbm8gdmEgaGFjaWEgYXRyw6FzIGEgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBkZXNwaWVydGEgdXRpbGl6YW5kbyAlcyBhIGxhcyAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IGRlc3BpZXJ0YSBkZXNkZSBcIiVzXCIgdXRpbGl6YW5kbyAlcyBhIGxhcyAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnNpw7NuOiBubyBoYXk7IHNhbGlyXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAibW9kbyBkZSBzdXNwZW5zacOzbjogYXBhZ2FkbzsgZWplY3V0YW5kbyAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnNpw7NuOiBlbmNlbmRpZG87IGxleWVuZG8gcnRjXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBsZWVyIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAibW9kbyBkZSBzdXNwZW5zacOzbjogZGVzYWN0aXZhcjsgZGVzYWN0aXZhbmRvIGFsYXJtYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAibW9kbyBkZSBzdXNwZW5zacOzbjogbW9zdHJhcjsgaW1wcmltaWVuZG8gbGEgaW5mb3JtYWNpw7NuIGRlIGxhIGFsYXJtYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnNpw7NuOiAlczsgc3VzcGVuZGllbmRvIGVsIHNpc3RlbWFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBkZXNhY3RpdmFyIGxhIGludGVycnVwY2nDs24gZGUgbGEgYWxhcm1hIGRlbCBydGMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICJBY3RpdmFuZG8gJXMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyA8YXJjaD4gW29wY2lvbmVzXSBbPHByb2dyYW1hPiBbPGFyZ3VtZW50bz4uLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiTW9kaWZpY2EgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIGFycXVpdGVjdHVyYSB5IGVzdGFibGVjZSBsb3MgaW5kaWNhZG9yZXMgZGUgcGVyc29uYWxpZGFkLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk4Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgYWN0aXZhIEFERFJfTElNSVRfMzJCSVRcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBoYWNlIHF1ZSBsb3MgcHVudGVyb3MgYSBmdW5jaW9uZXMgYXB1bnRlbiBhIGRlc2NyaXB0b3Jlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICBhY3RpdmEgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjYW1iaWEgZWwgbW9kbyBkZSByZXNlcnZhciBsYSBtZW1vcmlhIHZpcnR1YWxcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRlc2FjdGl2YSBsYSBhbGVhdG9yaXphY2nDs24gZGVsIGVzcGFjaW8gZGUgZGlyZWNjaW9uZXMgdmlydHVhbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIGFjdGl2YSBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBhY3RpdmEgU1RJQ0tZX1RJTUVPVVRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIGFjdGl2YSBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBhY3RpdmEgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRhIGVsIGVzcGFjaW8gZGUgZGlyZWNjaW9uZXMgdXRpbGl6YWRvIGEgdW4gbcOheGltbyBkZSAzIEdCXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIG5vIHNlIHRpZW5lIGVuIGN1ZW50YSAoc29sbyBwb3IgY29tcGF0aWJpbGlkYWQgaGFjaWEgYXRyw6FzKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIGFjdGl2YSBVTkFNRTI2XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGRpY2UgcXXDqSBvcGNpb25lcyBzZSBlc3TDoW4gYWN0aXZhbmRvXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgZW51bWVyYSBsYXMgYXJxdWl0ZWN0dXJhcyBjb25maWd1cmFibGVzIHkgdGVybWluYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXM6IEFycXVpdGVjdHVyYSBubyByZWNvbm9jaWRhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIkVsIG7DumNsZW8gbm8gcHVlZGUgcG9uZXIgbGEgYXJxdWl0ZWN0dXJhIGEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIk5vIGhheSBzdWZpY2llbnRlcyBhcmd1bWVudG9zIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gZXN0YWJsZWNlciBsYSBwZXJzb25hbGlkYWQgYSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJvcGNpw7NuICctLWxpc3QnIG5vIHJlY29ub2NpZGEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAibm8gc2UgaGEgZXNwZWNpZmljYWRvIGVsIGFyZ3VtZW50byBkZSBhcnF1aXRlY3R1cmEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBlc3RhYmxlY2VyIGxhIHBlcnNvbmFsaWRhZCBhICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiRWplY3V0YSBvcmRlbjogYCVzJy5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxwcm9ncmFtYT4gWzxhcmd1bWVudG8+Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExOQorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICJFamVjdXRhIHVuIHByb2dyYW1hIGNvbiB1bmEgY29uZmlndXJhY2nDs24gZGUgcHJpdmlsZWdpbyBkaWZlcmVudGUuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBtdWVzdHJhIGVsIGVzdGFkbyBhY3R1YWwgKHkgbm8gZWplY3V0YSlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgaW1waWRlIG90b3JnYXIgbnVldm9zIHByaXZpbGVnaW9zXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBlc3RhYmxlY2UgY2FwYWNpZGFkZXMgZGUgYW1iaWVudGVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjUKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5uLWNhcHMgPGNhcHMsLi4uPiAgICAgICBlc3RhYmxlY2UgY2FwYWNpZGFkZXMgaGVyZWRhYmxlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNgorbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgICAgZXN0YWJsZWNlIGVsIGNvbmp1bnRvIGRlIGNhcGFjaWRhZGVzIHBvc2libGVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICAgICBlc3RhYmxlY2UgZWwgdWlkIHJlYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgZXN0YWJsZWNlIGVsIHVpZCBlZmVjdGl2b1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgZXN0YWJsZWNlIGVsIGdpZCByZWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIGVzdGFibGVjZSBlbCBnaWQgZWZlY3Rpdm9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzEKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgZXN0YWJsZWNlIGVsIHVpZCByZWFsIHkgZWZlY3Rpdm9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgZXN0YWJsZWNlIGVsIGdpZCByZWFsIHkgZWZlY3Rpdm9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgYm9ycmEgbG9zIGdydXBvcyBzdXBsZW1lbnRhcmlvc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIG1hbnRpZW5lIGxvcyBncnVwb3Mgc3VwbGVtZW50YXJpb3NcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbmljaWFsaXphIGxvcyBncnVwb3Mgc3VwbGVtZW50YXJpb3NcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPGdydXBvLC4uLj4gICAgICAgIGVzdGFibGVjZSBsb3MgZ3J1cG9zIHN1cGxlbWVudGFyaW9zXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3Cittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIGVzdGFibGVjZSBsb3MgYml0cyBkZSBzZWd1cmlkYWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzgKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtLXNlbGludXgtbGFiZWwgPGV0aXEuPiAgICAgZXN0YWJsZWNlIGxhIGV0aXF1ZXRhIFNFTGludXhcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzkKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gICAgIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgZXN0YWJsZWNlIGVsIHBlcmZpbCBkZSBBcHBBcm1vclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIgRXN0YSBoZXJyYW1pZW50YSBwdWVkZSBzZXIgcGVsaWdyb3NhLiBMZWEgbGEgcMOhZ2luYSBkZSBtYW51YWwsIHkgdGVuZ2EgY3VpZGFkby5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxODcKK21zZ2lkICJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAidGlwbyBkZSBjYXBhY2lkYWQgaW5jb3JyZWN0byIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBhbCBvYnRlbmVyIGxvcyBiaXRzIGRlIHNlZ3VyaWRhZCBkZWwgcHJvY2VzbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICJCaXRzIGRlIHNlZ3VyaWRhZDogIgorCisjIE1hc2N1bGlubywgcG9ycXVlIHNlIHJlZmllcmUgYSAiSW5kaWNhZG9yZXMiCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiW25pbmd1bm9dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IGRlbWFzaWFkbyBsYXJnbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiR3J1cG9zIHN1cGxlbWVudGFyaW9zOiAiCisKKyMgTWFzY3VsaW5vLCBwb3JxdWUgc2UgcmVmaWVyZSBhICJJbmRpY2Fkb3JlcyIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltuaW5ndW5vXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJ1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgImV1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgInN1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ1IHN5cy11dGlscy9zZXRwcml2LmM6NDQ1Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzdWlkIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU0IHN5cy11dGlscy9zZXRwcml2LmM6NDYwCittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzZ2lkIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpZGFkZXMgZWZlY3RpdmFzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpZGFkZXMgcGVybWl0aWRhczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpZGFkZXMgaGVyZWRhYmxlczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICJDYXBhY2lkYWRlcyBhbWJpZW50ZTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICJbbm8gYWRtaXRpZGFdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICJDb25qdW50byBkZSBjYXBhY2lkYWRlcyBwb3NpYmxlczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgImV0aXF1ZXRhIFNFTGludXgiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAicGVyZmlsIGRlIEFwcEFybW9yIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIGVzdMOhIHJvdG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICJJZCBkZSBncnVwbyBkdXBsZW1lbnRhcmlvIG5vIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzdWlkIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDY4Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIGNhcGFjaWRhZCBubyBhZG1pdGlkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgImNhZGVuYSBkZSBjYXBhY2lkYWQgaW5jb3JyZWN0YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjUKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICJsaWJjYXAtbmcgZXMgZGVtYXNpYWRvIGFudGlndW8gcGFyYSB0b2RhcyAoXCJhbGxcIikgbGFzIGNhcGFjaWRhZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICJjYXBhY2lkYWQgZGVzY29ub2NpZGEgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2MQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiY29uanVudG8gZGUgYml0cyBkZSBzZWd1cmlkYWQgZGVzY29ub2NpZG9zIC0tIHNlIHJlY2hhemEgZWwgYWp1c3RlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiY2FkZW5hIGRlIGJpdHMgZGUgc2VndXJpZGFkIGluY29ycmVjdGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTcyCittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICJiaXRzIGRlIHNlZ3VyaWRhZCArYWxsIG5vIHBlcm1pdGlkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIm5vIHRpZW5lIHNlbnRpZG8gYWp1c3RhciBrZWVwX2NhcHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAiYml0IGRlIHNlZ3VyaWRhZCBubyByZWNvbm9jaWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYwOQorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXggbm8gZXN0w6EgZnVuY2lvbmFuZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgImZhbGxvIGFsIGNlcnJhcjogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjMyCittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIG5vIGVzdMOhIGVqZWN1dMOhbmRvc2UiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAib3BjacOzbiAtLW5vLW5ldy1wcmludCBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgwCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgInJ1aWQgZHVwbGljYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBydWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJldWlkIGR1cGxpY2FkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJydWlkIG8gZXVpZCBkdXBsaWNhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciByZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAicmdpZCBkdXBsaWNhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgImVnaWQgZHVwbGljYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgInJnaWQgbyBlZ2lkIGR1cGxpY2FkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIHJlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm9wY2nDs24gLS1jbGVhci1ncm91cHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAib3BjacOzbiAtLWtlZXAtZ3JvdXBzIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm9wY2nDs24gLS1pbml0LWdyb3VwcyBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAib3BjacOzbiAtLWdyb3VwcyBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJvcGNpw7NuIC0taW5oLWNhcHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1OQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgIm9wY2nDs24gLS1hbWJpZW50LWNhcHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIm9wY2nDs24gLS1ib3VuZGluZy1zZXQgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3MQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJvcGNpw7NuIC0tc2VjdXJlYml0cyBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIm9wY2nDs24gLS1zZWxpbnV4LWxhYmVsIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4ODMKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAib3BjacOzbiAtLWFwcGFybW9yLXByb2ZpbGUgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg5OQorbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiLS1kdW1wIGVzIGluY29tcGF0aWJsZSBjb24gdG9kYXMgbGFzIGRlbcOhcyBvcGNpb25lcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MDcKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiLS1saXN0LWNhcHMgZGViZSBlc3BlY2lmaWNhcnNlIHNvbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTEzCittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIk5vIHNlIGhhIGVzcGVjaWZpY2FkbyBuaW5nw7puIHByb2dyYW1hIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCBuZWNlc2l0YSAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3VwcyBvIC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIi0taW5pdC1ncm91cHMgbmVjZXNpdGEgLS1ydWlkIG8gLS1yZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICJ1aWQgJWxkIG5vIGVuY29udHJhZG87IC0taW5pdC1ncm91cHMgbmVjZXNpdGEgdW5hIHVzdWFyaW8gcXVlIHB1ZWRhIGVuY29udHJhcnNlIGVuIGVsIHNpc3RlbWEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTMyCittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gaW1wZWRpciBlbCBvdG9yZ2FtaWVudG8gZGUgbnVldm9zIHByaXZpbGVnaW9zIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0MAorbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICJubyBzZSBoYW4gcG9kaWRvIG1hbnRlbmVyIGxhcyBjYXBhY2lkYWRlcyBkZWwgcHJvY2VzbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFjdGl2YSBsYXMgY2FwYWNpZGFkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTU0Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgInJlYWN0aXZhIGxhcyBjYXBhY2lkYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiaW5pdGdyb3VwcyBmYWxsw7MiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgIm5vIHNlIGhhbiBwb2RpZG8gZXN0YWJsZWNlciBsb3MgYml0cyBkZSBzZWd1cmlkYWQgZGVsIHByb2Nlc28iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJhcGxpY2EgZWwgY29uanVudG8gZGUgY2FwYWNpZGFkZXMgcG9zaWJsZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJhcGxpY2EgbGFzIGNhcGFjaWRhZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxwcm9ncmFtYT4gW2FyZ3VtZW50b3MgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIkVqZWN1dGEgdW4gcHJvZ3JhbWEgZW4gdW5hIG51ZXZhIHNlc2nDs24uXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIgLWMsIC0tY3R0eSAgICAgZXN0YWJsZWNlIGNvbW8gdGVybWluYWwgZGUgY29udHJvbCBlbCBhY3R1YWxcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICBzaWVtcHJlIGJpZnVyY2FcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQyCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAgZXNwZXJhIGEgcXVlIGVsIHByb2dyYW1hIHRlcm1pbmUsIHkgdXRpbGl6YSBlbCBtaXNtbyByZXRvcm5vXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDAKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiZWwgaGlqbyAlZCBubyBoYSB0ZXJtaW5hZG8gbm9ybWFsbWVudGUiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gZXN0YWJsZWNlciBlbCB0ZXJtaW5hbCBkZSBjb250cm9sIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNAorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJObyBlcyBlbCBzdXBlcnVzdWFyaW8uIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb2ZmIGZhbGzDsyIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIFs8ZXNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkRlc2FjdGl2YSBkaXNwb3NpdGl2b3MgeSBmaWNoZXJvcyBwYXJhIHBhZ2luYWNpw7NuIGUgaW50ZXJjYW1iaW8uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRlc2FjdGl2YSB0b2RvcyBsb3MgaW50ZXJjYW1iaW9zIGVuIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgbW9kbyBleHByZXNpdm9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzQKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJFbCBwYXLDoW1ldHJvIDxlc3BlYz46XG4iCisiIC1MIDxldGlxdWV0YT4gICAgICAgICAgZXRpcXVldGEgZGVsIGRpc3Bvc2l0aXZvIHF1ZSBzZSB2YSBhIHV0aWxpemFyXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgdXVpZCBkZWwgZGlzcG9zaXRpdm8gcXVlIHNlIHZhIGEgdXRpbGl6YXJcbiIKKyIgTEFCRUw9PGV0aXF1ZXRhPiAgICAgICBldGlxdWV0YSBkZWwgZGlzcG9zaXRpdm8gcXVlIHNlIHZhIGEgdXRpbGl6YXJcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICB1dWlkIGRlbCBkaXNwb3NpdGl2byBxdWUgc2UgdmEgYSB1dGlsaXphclxuIgorIiA8ZGlzcG9zaXRpdm8+ICAgICAgICAgIG5vbWJyZSBkZWwgZGlzcG9zaXRpdm8gcXVlIHNlIHZhIGEgdXRpbGl6YXJcbiIKKyIgPGZpY2hlcm8+ICAgICAgICAgICAgICBub21icmUgZGVsIGRpc3Bvc2l0aXZvIHF1ZSBzZSB2YSBhIHV0aWxpemFyXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICJmaWNoZXJvIGRlIGRpc3Bvc2l0aXZvIG8gcnV0YSBkZSBsYSBwYXJ0aWNpw7NuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInRpcG8gZGUgZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAidGFtYcOxbyBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgImJ5dGVzIGVuIHVzbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInByaW9yaWRhZCBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJ1dWlkIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJldGlxdWV0YSBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHRUaXBvXHRcdFRhbWHDsW9cdFV0aWxpemFkb1x0UHJpb3JpZGFkXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiTm9tYnJlIGRlbCBmaWNoZXJvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzOiByZWluaWNpYWxpemFjacOzbiBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiVzOiBsc2VlayBoYSBmYWxsYWRvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlczogbGEgZXNjcml0dXJhIGRlIGxhIGZpcm1hIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IG9taXRpZW5kbyAtIHBhcmVjZSBxdWUgaGF5IGh1ZWNvcy4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZhbGxvIGFsIG9idGVuZXIgdGFtYcOxbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBvYnRlbmVyIGxhIGNhYmVjZXJhIGRlIGludGVyY2FtYmlvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogZmlybWEgZW5jb250cmFkYSBbdGFtYcOxbyBkZSBww6FnaW5hPSVkLCBmaXJtYT0lc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiB0YW1hw7FvIGRlIHDDoWdpbmE9JWQsIHRhbWHDsW8gZGUgaW50ZXJjYW1iaW89JWxsdSwgdGFtYcOxbyBkZSBkaXNwb3NpdGl2bz0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogw7psdGltYV9ww6FnaW5hIDB4JTA4bGx4IG1heW9yIHF1ZSBlbCB0YW1hw7FvIHJlYWwgZGUgbGEgem9uYSBkZSBpbnRlcmNhbWJpbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlczogZWwgdGFtYcOxbyBkZSBww6FnaW5hIGRlbCBmb3JtYXRvIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW8gbm8gY29uY3VlcmRhLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlczogZWwgdGFtYcOxbyBkZSBww6FnaW5hIGRlbCBmb3JtYXRvIGRlIGxhIHpvbmEgZGUgaW50ZXJjYW1iaW8gbm8gY29uY3VlcmRhLiAoVXRpbGljZSAtLWZpeHBnc3ogcGFyYSByZWluaWNpYWxpemFybG8uKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IGRhdG9zIGRlIHN1c3BlbnNpw7NuIGRlbCBzb2Z0d2FyZSBkZXRlY3RhZG9zLiBTZSByZWVzY3JpYmUgbGEgZmlybWEgZGUgbGEgem9uYSBkZSBpbnRlcmNhbWJpby4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgInN3YXBvbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IG9wY2nDs24gbm9hdXRvIC0tIGlnbm9yYWRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogeWEgZXN0w6EgYWN0aXZvIC0tIGlnbm9yYWRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGluYWNjZXNpYmxlIC0tIGlnbm9yYWRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJBY3RpdmEgZGlzcG9zaXRpdm9zIHkgZmljaGVyb3MgcGFyYSBwYWdpbmFjacOzbiBlIGludGVyY2FtYmlvLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGFjdGl2YSB0b2RhcyBsYXMgem9uYXMgZGUgaW50ZXJjYW1iaW9zIGVuIC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRpc2NhcmRbPTxwb2zDrXRpY2E+XSBhY3RpdmEgbG9zIGRlc2NhcnRlcyBkZSBpbnRlcmNhbWJpbywgc2kgbG8gYWRtaXRlIGVsIGRpc3Bvc2l0aXZvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNlIHNhbHRhIGxvcyBkaXNwb3NpdGl2b3MgcXVlIG5vIGV4aXN0YW4gc2luIGRlY2lyIG5hZGFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pY2lhbGl6YSBlbCBlc3BhY2lvIGRlIGludGVyY2FtYmlvIHNpIGVzIG5lY2VzYXJpb1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGxpc3RhPiAgICBsaXN0YSBkZSBsYXMgb3BjaW9uZXMgZGUgaW50ZXJjYW1iaW8sIHNlcGFyYWRhcyBwb3IgY29tYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBlc3BlY2lmaWNhIGxhIHByaW9yaWRhZCBkZWwgZGlzcG9zaXRpdm8gZGUgaW50ZXJjYW1iaW9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIG11ZXN0cmEgdW4gcmVzdW1lbiBzb2JyZSBsb3MgZGlzcG9zaXRpdm9zIGRlIGludGVyY2FtYmlvIHV0aWxpemFkb3MgKEVOIERFU1VTTylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNworbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIgICAgIC0tc2hvd1s9PGNvbHVtbmFzPl0gIG11ZXN0cmEgdW4gcmVzdW1lbiBlbiB1bmEgdGFibGEgZGVmaW5pYmxlXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIG5vIGltcHJpbWUgbGFzIGNhYmVjZXJhcyBkZSBsYSB0YWJsYSAoY29uIC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXRvIGRlIHNhbGlkYSBlbiBicnV0byAoY29uIC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIG11ZXN0cmEgZWwgdGFtYcOxbyBkZSBpbnRlcmNhbWJpbyBlbiBieXRlcyBlbiBsYSBzYWxpZGEgZGUgLS1zaG93XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG1vZG8gZXhwcmVzaXZvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTYKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJFbCBwYXLDoW1ldHJvIDxlc3BlYz46XG4iCisiIC1MIDxldGlxdWV0YT4gICAgICAgICAgc2luw7NuaW1vIGRlIExBQkVMPTxlaXRxdWV0YT5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzaW7Ds25pbW8gZGUgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGV0aXF1ZXRhPiAgICAgICBlc3BlY2lmaWNhIGVsIGRpc3Bvc2l0aXZvIHBvciBsYSBldGlxdWV0YSBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBwb3IgZWwgVVVJRCBkZSBsYSB6b25hIGRlIGludGVyY2FtYmlvXG4iCisiIFBBUlRMQUJFTD08ZXRpcXVldGE+ICAgZXNwZWNpZmljYSBlbCBkaXNwb3NpdGl2byBwb3IgbGEgZXRpcXVldGEgZGUgbGEgcGFydGljacOzblxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIGVzcGVjaWZpY2EgZWwgZGlzcG9zaXRpdm8gcG9yIGVsIFVVSUQgZGUgbGEgcGFydGljacOzblxuIgorIiA8ZGlzcG9zaXRpdm8+ICAgICAgICAgIG5vbWJyZSBkZWwgZGlzcG9zaXRpdm8gcXVlIHNlIHZhIGEgdXRpbGl6YXJcbiIKKyIgPGZpY2hlcm8+ICAgICAgICAgICAgICBub21icmUgZGVsIGZpY2hlcm8gcXVlIHNlIHZhIGEgdXRpbGl6YXJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRpcG9zIGRlIHBvbMOtdGljYXMgZGUgZGVzY2FydGUgZGlzcG9uaWJsZXMgKHBhcmEgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IHNvbGFtZW50ZSBkZXNjYXJ0ZXMgZGUgem9uYSBkZSB1bmEgc29sYSB2ZXpcbiIKKyIgcGFnZXMgICA6IGxhcyBww6FnaW5hcyBsaWJlcmFkYXMgc2UgZGVzY2FydGFuIGFudGVzIGRlIHZvbHZlciBhIHV0aWxpemFyc2VcbiIKKyJTaSBubyBzZSBlbGlnZSAgbmluZ3VuYSBwb2zDrXRpY2EsIHNlIGFjdGl2YW4gbG9zIGRvcyB0aXBvcyBkZSBkZXNjYXJ0ZVxuIgorIihvcGNpw7NuIHByZWRldGVybWluYWRhKS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyIGxhIHByaW9yaWRhZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgInBvbMOtdGljYSBkZSBkZXNjYXJ0ZSBubyBhZG1pdGlkYTogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVuY29udHJhciBlbCBkaXNwb3NpdGl2byBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFicmlyIGVsIGRpcmVjdG9yaW8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY4Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInN0YXQgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBsZWVyIGVsIGRpcmVjdG9yaW8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gZGVzdmluY3VsYXIgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICJmYWxsbyBhbCBtb250YXIgbW92aWVuZG8gJXMgYSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAiZm9yemFuZG8gZWwgZGVzbW9udGFqZSBkZSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJmYWxsbyBhbCBjYW1iaWFyIGRlIGRpcmVjdG9yaW8gYSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiZmFsbG8gYWwgbW9udGFyIG1vdmllbmRvICVzIGEgLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc5Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gY2FtYmlhciBsYSByYcOteiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIHJhw616IGFudGlndW8gbm8gZXMgdW4gaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxudWV2b2RpcmVjdG9yaW9yYcOtej4gPGluaXQ+IDxhcmdzIGRlIGluaXQ+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIkVzdGFibGVjZSBvdHJvIHNpc3RlbWEgZGUgZmljaGVyb3MgY29tbyByYcOteiBkZWwgw6FyYm9sIGRlIG1vbnRhamUuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1NQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJoYSBmYWxsYWRvLiBQZXJkw7NuLiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGFjY2VkZXIgYSAlcyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIHBhcsOhbWV0cm9zIGRlIGxhIGltcHJlc29yYSBkZSBsw61uZWEuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIGVzcGVjaWZpY2EgbGEgaXJxIGRlbCBwdWVydG8gcGFyYWxlbG9cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIHRpZW1wbyBkZSBlc3BlcmEgZGVsIGNvbnRyb2xhZG9yIGVuIHNlZ3VuZG9zXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG7Dum1lcm8gZGUgY2FyYWN0ZXJlcyBxdWUgc2FjYXIgYW50ZXMgZGVsIHJlcG9zb1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICB0aWVtcG8gZGUgwqtzdHJvYmXCuyBlbiBtaWNyb3NlZ3VuZG9zXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0YXIgc2kgaGF5IGVycm9yXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY29tcHJvYmFyIGVsIGVzdGFkbyBkZSBsYSBpbXByZXNvcmEgYW50ZXMgZGUgaW1wcmltaXJcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBjb21wcm9iYWNpw7NuIGFkaWNpb25hbCBhIGxhIGNvbXByb2JhY2nDs24gZGVsIGVzdGFkb1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgY29uc3VsdGEgZWwgZXN0YWRvIGRlIGxhIGltcHJlc29yYVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzdGFibGVjZSBlbCBwdWVydG9cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBtdWVzdHJhIGxhIGNvbmZpZ3VyYWNpw7NuIGRlIGlycSBhY3R1YWxcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyBubyBlcyB1biBkaXNwb3NpdGl2byBscCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJlcnJvciBkZSBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIkVsIGVzdGFkbyBkZSAlcyBlcyAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwgb2N1cGFkbyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHByZXBhcmFkbyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBmYWx0YSBwYXBlbCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgZW4gbMOtbmVhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgZXJyb3IiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiZXJyb3IgZGUgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIHV0aWxpemFuZG8gSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyB1dGlsaXphbmRvIHNvbmRlb1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wY2lvbmVzXVxuIgorIiAlMSRzIFtvcGNpb25lc10gPG9yaWdlbj4gfCA8ZGlyZWN0b3Jpbz5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiRGVzbW9udGEgc2lzdGVtYXMgZGUgZmljaGVyb3MuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgZGVzbW9udGEgdG9kb3MgbG9zIHNpc3RlbWFzIGRlIGZpY2hlcm9zXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICBkZXNtb250YSB0b2RvcyBsb3MgcHVudG9zIGRlIG1vbnRhamUgcGFyYSBlbCBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBlbiBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgYWN0dWFsXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIG5vIGhhY2UgY2Fuw7NuaWNhcyBsYXMgcnV0YXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBzaSBlcyB1biBkaXNwb3NpdGl2byBkZSBidWNsZSwgdGFtYmnDqW4gbGliZXJhIGVzdGUgZGlzcG9zaXRpdm8gZGUgYnVjbGVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBoYWNlIHVuYSBwcnVlYmE7IG5vIHJlYWxpemEgbGEgbGxhbWFkYSBhbCBzaXN0ZW1hIHVtb3VudCgyKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZGVzbW9udGEgYSBsYSBmdWVyemEgKGVuIGNhc28gZGUgc2lzdGVtYSBORlMgbm8gYWxjYW56YWJsZSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbm8gbGxhbWEgYSBsb3MgYXV4aWxpYXJlcyB1bW91bnQuPHRpcG8+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRlc3ZpbmN1bGEgZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBhaG9yYSwgeSBsaW1waWEgbcOhcyB0YXJkZVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBsaW1pdGEgZWwgY29uanVudG8gZGUgc2lzdGVtYXMgZGUgZmljaGVyb3MgKHNlIHV0aWxpemEgY29uIC1hKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIGRlc21vbnRhIHJlY3Vyc2l2YW1lbnRlIHVuIG9iamV0aXZvIHkgdG9kb3Mgc3VzIGhpam9zXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDAKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGVuIGNhc28gZGUgZmFsbG8gYWwgZGVzbW9udGFyLCBpbnRlbnRhIHZvbHZlciBhIG1vbnRhciBlbiBtb2RvIGRlIHNvbG8gbGVjdHVyYVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RhPiAgICAgbGltaXRhIGVsIGNvbmp1bnRvIGRlIHRpcG9zIGRlIHNpc3RlbWFzIGRlIGZpY2hlcm9cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgKCVzKSBkZXNtb250YWRvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgZGVzbW9udGFkbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGVzdGFibGVjZXIgZWwgZGVzdGlubyBkZSB1bW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gZGUgcmVzZXJ2YSBkZSBsYSB0YWJsYSBkZSBsaWJtb3VudCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImZhbGxvIGRlIHJlc2VydmEgZGVsIHRlcmFkb3IgZGUgbGlibW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIG9idGVuZXIgZWwgc2YgaGlqbyBkZSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBubyBlbmNvbnRyYWRvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBkZXRlcm1pbmFyIGVsIG9yaWdlbiAoLS1hbGwtdGFyZ2V0cyBubyBzZSBhZG1pdGUgZW4gc2lzdGVtYXMgY29uIGZpY2hlcm8gbXRhYiBvcmRpbmFyaW8pLiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJhcmd1bWVudG8gZGUgLS1zZXRncm91cHMgbm8gc29wb3J0YWRvICclcyciCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAiZXJyb3IgZGUgZXNjcml0dXJhICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAibW9kbyBkZSBwcm9wYWdhY2nDs24gZGVzY29ub2NpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJubyBzZSBwdWVkZSBjYW1iaWFyIGxhIHByb3BhZ2FjacOzbiBkZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyByYcOteiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICJlbCBtb250YWplIGRlICVzIGVuICVzIGZhbGzDsyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGVmZWN0dWFyIGBzdGF0JyAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG8gYWwgcmVkaXJpZ2lyIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBsZWVyIGVsIHJlZGlyZWNjaW9uYW1pZW50byIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiRWplY3V0YSB1biBwcm9ncmFtYSBjb24gYWxndW5vcyBlc3BhY2lvcyBkZSBub21icmVzIG5vIGNvbXBhcnRpZG9zIGNvbiBlbCBwYWRyZS5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08ZmljaGVybz5dwqAgIGRlamEgZGUgY29tcGFydGlyIGVsIGVzcGFjaW8gZGUgbm9tYnJlIGRlIGxvcyBtb250YWplc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz08ZmljaGVybz5dICAgICBkZWphIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgVVRTIChub21icmUgZGUgbcOhcXVpbmEsIGV0Yy4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxmaWNoZXJvPl0gICAgIGRlamEgZGUgY29tcGFydGlyIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBkZWwgU3lzdGVtIFYgSVBDXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmljaGVybz5dICAgICBkZWphIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgcmVkXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxmaWNoZXJvPl0gICAgIGRlamEgZGUgY29tcGFydGlyIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBkZSBwaWRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08ZmljaGVybz5dICAgIGRlamEgZGUgY29tcGFydGlyIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBkZSB1c3VhcmlvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxmaWNoZXJvPl3CoCBkZWphIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgY2dyb3VwXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBjcmVhIHVuIHByb2Nlc28gaGlqbyBhbnRlcyBkZSBsYW56YXIgPHByb2dyYW1hPlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgYWwgbW9yaXIsIG1hdGEgYWwgaGlqbyBiaWZ1cmNhZG8gKGltcGxpY2EgLS1mb3JrKTsgcHJlZGVmaW5pZG8gYSBTSUdLSUxMXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vbnRhIHByaW1lcm8gZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBwcm9jIChpbXBsaWNhIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgYXNvY2lhIGVsIHVzdWFyaW8gYWN0dWFsIGEgcm9vdCAoaW1wbGljYSAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY2Cittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpY2EgbGEgcHJvcGFnYWNpw7NuIGRlbCBtb250YWplIGVuIGVsIGVzcGFjaW8gZGUgbm9tYnJlcyBkZWwgbW9udGFqZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2OAorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2xhIGxsYW1hZGFzIGFsIHNpc3RlbWEgZGUgc2V0Z3JvdXBzIGVuIGVsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgdXN1YXJpb1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJlcnJvciBhbCBkZWphciBkZSBjb21wYXJ0aXIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1Cittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgImxhIGZpbmFsaXphY2nDs24gZGVsIGhpam8gaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAibGFzIG9wY2lvbmVzIC0tc2V0Z3JvdXBzPWFsbG93IHkgLS1tYXAtcm9vdC11c2VyIHNvbiBtdXR1YW1lbnRlIGV4Y2x1eWVudGVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgImVsIG1vbnRhamUgZGUgJXMgaGEgZmFsbGFkbyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiTGEgdGFyamV0YSByZWluaWNpw7MgYW50ZXJpb3JtZW50ZSBsYSBDUFUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiUmVsw6kgZXh0ZXJubyAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIlJlbMOpIGV4dGVybm8gMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICJFbCB2ZW50aWxhZG9yIGhhIGZhbGxhZG8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICJSZXNwdWVzdGEgZGVsIMKrcGluZ8K7IGRlbCDCq2tlZXAgYWxpdmXCuyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICJBZG1pdGUgY2Fyw6FjdGVyIGRlIGNpZXJyZSBtw6FnaWNvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIlJlaW5pY2lvIGRlYmlkbyBhIHNvYnJlY2FsZW50YW1pZW50byBkZSBsYSBDUFUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICJTb2JyZSB0ZW5zacOzbiBkZSBhbGltZW50YWNpw7NuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiUG90ZW5jaWEgaW5jb3JyZWN0YS9mYWxsbyBkZSBwb3RlbmNpYSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiVGllbXBvIGzDrW1pdGUgcHJlbGltaW5hciAoZW4gc2VndW5kb3MpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiQ29uZmlndXJhIGVsIHRpZW1wbyBsw61taXRlIChlbiBzZWd1bmRvcykiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICJObyBkaXNwYXJhIGVsIHJlYXJyYW5xdWUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlbCBpbmRpY2Fkb3IiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgImRlc2NyaXBjacOzbiBkZWwgaW5kaWNhZG9yIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiZXN0YWRvIGRlbCBpbmRpY2Fkb3IiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgImVzdGFkbyBkZSBhcnJhbnF1ZSBkZWwgaW5kaWNhZG9yIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tYnJlIGRlbCBkaXNwb3NpdGl2byDCq3dhdGNoZG9nwrsiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICJpbmRpY2Fkb3IgZGVzY29ub2NpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJNdWVzdHJhIGVsIGVzdGFkbyBkZWwgwqt3YXRjaGRvZ8K7IGRlIGhhcmR3YXJlLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODEKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3RhPiAgICBpbXByaW1lIHNvbGFtZW50ZSBsb3MgaW5kaWNhZG9yZXMgc2VsZWNjaW9uYWRvc1xuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIG5vIGltcHJpbWUgaW5mb3JtYWNpw7NuIHNvYnJlIGxvcyBpbmRpY2Fkb3Jlc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIG5vIGltcHJpbWUgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIGlkZW50aWRhZCBkZWwgwqt3YXRjaGRvZ8K7XG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbm8gaW1wcmltZSBlbmNhYmFlemFkb3MgZW4gbGEgdGFibGEgZGUgaW5kaWNhZG9yZXNcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBpbXByaW1lIHRvZGEgbGEgaW5mb3JtYWNpw7NuIGVuIHVuYSBsw61uZWFcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBjb2x1bW5hcyBkZSBzYWxpZGEgZGUgbG9zIGluZGljYWRvcmVzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXRpbGl6YSBzYWxpZGEgZW4gYnJ1dG8gcGFyYSBsYSB0YWJsYSBkZSBpbmRpY2Fkb3Jlc1xuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIG5vIGltcHJpbWUgbG9zIHRpZW1wb3MgZGUgdmVuY2ltaWVudG8gZGVsIMKrd2F0Y2hkb2fCu1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzPiAgIGNvbmZpZ3VyZSBlbCB0aWVtcG8gZGUgdmVuY2ltaWVudG8gZGVsIMKrd2F0Y2hkb2fCu1xuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIGltcHJpbWUgc29sYW1lbnRlIGxhIHRhYmxhIGRlIGluZGljYWRvcmVzIChpZ3VhbCBxdWUgLUkgLVQpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIkVsIGRpc3Bvc2l0aXZvIHByZWRldGVybWluYWRvIGVzICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogaW5kaWNhZG9yZXMgZGVzY29ub2NpZG9zIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIwIHN5cy11dGlscy93ZGN0bC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiJXM6IGVsIMKrd2F0Y2hkb2fCuyB5YSBlc3TDoSBlbiB1c28sIHRlcm1pbmFuZG8uIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzQgc3lzLXV0aWxzL3dkY3RsLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlczogZmFsbG8gYWwgZGVzYXJtYXIgwqt3YXRjaGRvZ8K7IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAibm8gc2UgcHVlZGUgY29uZmlndXJhciBlbCB0aWVtcG8gZGUgZXNwZXJhIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIkVsIHRpZW1wbyBkZSBleHBpcmFjacOzbiBzZSBoYSBlc3RhYmxlY2lkbyBhICVkIHNlZ3VuZG8uXG4iCittc2dzdHJbMV0gIkVsIHRpZW1wbyBkZSBleHBpcmFjacOzbiBzZSBoYSBlc3RhYmxlY2lkbyBhICVkIHNlZ3VuZG9zLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBubyBzZSBoYSBwb2RpZG8gb2J0ZW5lciBpbmZvcm1hY2nDs24gc29icmUgZWwgwqt3YXRjaGRvZ8K7IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUgc3lzLXV0aWxzL3dkY3RsLmM6NDY4IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSBzZWd1bmRvXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSBzZWd1bmRvc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiVGllbXBvIGRlIGVzcGVyYToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiVGllbXBvIGRlIGVzcGVyYSBwcmVsaW1pbmFyOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICJUaWVtcG8gcmVzdGFudGU6IgorCisjIE5vdGE6IHNpIHNlIHBvbmUgRGlzcG9zaXRpdm8gbm8gcXVlZGEgYmllbiBlbCByZXN0byBkZSBsYSBsw61uZWEuCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJEaXNwb3NpdGl2bzoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpZGFkOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAidmVyc2nDs24iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJub21icmUgZGUgZGlzcG9zaXRpdm8genJhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgImzDrW1pdGUgZGUgbGEgY2FudGlkYWQgZGUgZGF0b3Mgbm8gY29tcHJpbWlkb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAidGFtYcOxbyBubyBjb21wcmltaWRvIGRlIGxvcyBkYXRvcyBhbG1hY2VuYWRvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAidGFtYcOxbyBjb21wcmltaWRvIGRlIGxvcyBkYXRvcyBhbG1hY2VuYWRvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgImVsIGFsZ29yaXRtbyBkZSBjb21wcmVzacOzbiBzZWxlY2Npb25hZG8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJuw7ptZXJvIGRlIG9wZXJhY2lvbmVzIGRlIGNvbXByZXNpw7NuIGNvbmN1cnJlbnRlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAicMOhZ2luYXMgdmFjw61hcyBzaW4gbWVtb3JpYSBhc2lnbmFkYSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAidG9kYSBsYSBtZW1vcmlhIGluY2x1aWRvcyBsYSBmcmFnbWVudGFjacOzbiBkZWwgYXNpZ25hZG9yIHkgbGEgc29icmVjYXJnYSBkZSBsb3MgbWV0YWRhdG9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJsw61taXRlIGRlIG1lbW9yaWEgdXRpbGl6YWRhIHBhcmEgYWxtYWNlbmFyIGRhdG9zIGNvbXByaW1pZG9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAic2UgaGEgY29uc3VtaWRvIGxhIG1lbW9yaWEgenJhbSBwYXJhIGFsbWFjZW5hciBkYXRvcyBjb21wcmltaWRvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NQorbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgIm7Dum1lcm8gZGUgb2JqZXRvcyBtaWdyYWRvcyBwb3IgY29tcGFjdGFjacOzbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNzYKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbW1fc3RhdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjaW9uZXNdIFs8ZGlzcG9zaXRpdm8+XVxuIgorIiAlMSRzIC1yIDxkaXNwb3NpdGl2bz4gWy4uLl1cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIC1mIHwgPGRpc3Bvc2l0aXZvPiAtcyA8dGFtYcOxbz5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJDb25maWd1cmEgeSBjb250cm9sYSBsb3MgZGlzcG9zaXRpdm9zIHpyYW0uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICBhbGdvcml0bW8gZGUgY29tcHJlc2nDs24gdXRpbGl6YWRvXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIGltcHJpbWUgbG9zIHRhbWHDsW9zIGVuIGJ5dGVzIGVuIGx1Z2FyIGRlIGZvcm1hdG8gbGVnaWJsZSBwYXJhIGh1bWFub3NcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZW5jdWVudHJhIHVuIGRpc3Bvc2l0aXZvIG5vIHV0aWxpemFkb1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIG5vIGltcHJpbWUgZW5jYWJlemFkb3NcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICAgICBkZWZpbmUgbGFzIGNvbHVtbmFzIGRlIGxhIHNhbGlkYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXRpbGl6YSBlbCBmb3JtYXRvIGRlIHNhbGlkYSBlbiBicnV0b1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZWluaWNpYSB0b2RvcyBsb3MgZGlzcG9zaXRpdm9zIGVzcGVjaWZpY2Fkb3NcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8dGFtYcOxbz4gICAgICAgdGFtYcOxbyBkZWwgZGlzcG9zaXRpdm9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgLXQsIC0tc3RyZWFtcyA8bsO6bWVybz4gICAgbsO6bWVybyBkZSBmbHVqb3MgZGUgY29tcHJlc2nDs25cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbG9zIGZsdWpvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTUKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICJsYSBvcGNpw7NuIC0tZmluZCBlcyBtdXR1YW1lbnRlIGV4Y2x1eWVudGUgY29uIDxkaXNwb3NpdGl2bz4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgInNvbG8gc2UgYWRtaXRlIHVuIDxkaXNwb3NpdGl2bz4gYSBsYSB2ZXoiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgImxhcyBvcGNpb25lcyAtLWFsZ29yaXRobSB5IC0tc3RyZWFtcyBoYW4gZGUgY29tYmluYXJzZSBjb24gLS1zaXplIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5NCBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogZmFsbG8gYWwgcmVpbmljaWFyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIm5vIHNlIGhhIGVuY29udHJhZG8gbmluZ8O6biBkaXNwb3NpdGl2byB6cmFtIGxpYnJlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhIHBvZGlkbyBlc3RhYmxlY2VyIGVsIG7Dum1lcm8gZGUgZmx1am9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBmYWxsbyBhbCBjb25maWd1cmFyIGFsZ29yaXRtbyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBmYWxsbyBhbCBjb25maWd1cmFyIGVsIHRhbWHDsW8gZGVsIGRpc2NvICglanUgYnl0ZXMpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKGluaWNpbyBkZSBzZXNpw7NuIGF1dG9tw6F0aWNvKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGNhbWJpYXIgZWwgZGlyZWN0b3JpbyByYcOteiAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgY2FtYmlhciBlbCBkaXJlY3RvcmlvIGRlIHRyYWJham8gJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogbm8gc2UgcHVlZGUgY2FtYmlhciBsYSBwcmlvcmlkYWQgZGVsIHByb2Nlc286ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBlamVjdXRhciAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJtbyBzZSBoYSBwb2RpZG8gYXNpZ25hciBtZW1vcmlhOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMgZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAidmFsb3IgZGUgcmV0YXJkbyBubyB2w6FsaWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICJhcmd1bWVudG8gZGUgLS1sb2NhbC1saW5lIG5vIHbDoWxpZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJlbCBhcmd1bWVudG8gwqtuaWNlwrsgbm8gZXMgdsOhbGlkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAidmVsb2NpZGFkIGluY29ycmVjdGE6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgImRlbWFzaWFkYXMgdmVsb2NpZGFkZXMgYWx0ZXJuYXRpdmFzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5vIHNlIHB1ZWRlIGFicmlyIGNvbW8gZW50cmFkYSBlc3TDoW5kYXI6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogbm8gZXMgdW4gZGlzcG9zaXRpdm8gZGUgY2FyYWN0ZXJlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogbm8gZXMgdW4gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBubyBzZSBwdWVkZSBvYnRlbmVyIGVsIHRlcm1pbmFsIGRlIGNvbnRyb2w6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6IHZoYW5ndXAoKSBoYSBmYWxsYWRvOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IG5vIGFiaWVydG8gcGFyYSBsZWN0dXJhL2VzY3JpdHVyYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgZWwgZ3J1cG8gZGVsIHByb2Nlc286ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IHByb2JsZW1hIGRlIGR1cDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IG5vIHNlIGhhbiBwb2RpZG8gb2J0ZW5lciBsb3MgYXRyaWJ1dG9zIGRlbCB0ZXJtaW5hbDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImZhbGxvIGFsIGVzdGFibGVjZXIgbG9zIGF0cmlidXRvcyBkZWwgdGVybWluYWw6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIm5vIHNlIHB1ZWRlIGFicmlyIGVsIGZpY2hlcm8gwqtvcy1yZWxlYXNlwrsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBjcmVhciBlbCBmaWNoZXJvIGRlIHJlY2FyZ2E6ICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW3ByZXNpb25lIEVOVEVSIHBhcmEgaW5pY2lhciBzZXNpw7NuXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJCbG9xdWVvIGRlbCB0ZWNsYWRvIG51bcOpcmljbyBkZXNhY3RpdmFkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIkJsb3F1ZW8gZGVsIHRlY2xhZG8gbnVtw6lyaWNvIGFjdGl2YWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkJsb3F1ZW8gZGUgbWF5w7pzY3VsYXMgYWN0aXZhZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICJCbG9xdWVvIGRlIGRlc3BsYXphbWllbnRvIGFjdGl2YWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJQaXN0YTogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGxlY3R1cmE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBkZXNib3JkYW1pZW50byBkZSBlbnRyYWRhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogY29udmVyc2nDs24gZGUgY2Fyw6FjdGVyIG5vIHbDoWxpZGEgcGFyYSBlbCBub21icmUgZGUgaW5pY2lvIGRlIHNlc2nDs24iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogY2Fyw6FjdGVyIG5vIHbDoWxkbyAweCV4IGVuIGVsIG5vbWJyZSBkZSBpbmljaW8gZGUgc2Vpc2nDs24iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IG5vIHNlIGloYW4gcG9kaWRvIGVzdGFibGVjZXIgbG9zIGF0cmlidXRvcyBkZWwgdGVybWluYWw6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjaW9uZXNdIDxsw61uZWE+IFs8dmVsb2NfYmF1ZGlvcz4sLi4uXSBbPHRpcG90ZXJtPl1cbiIKKyIgJTEkcyBbb3BjaW9uZXNdIDx2ZWxvY19iYXVkaW9zPiwuLi4gPGzDrW5lYT4gWzx0aXBvdGVybT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMAorbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICJBYnJlIHVuIHRlcm1pbmFsIHkgY29uZmlndXJhIHN1IG1vZG8uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMworbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3VtZSB0ZXJtaW5hbCBkZSA4IGJpdHNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPHVzdWFyaW8+ICBpbmNpYSBzZXNpw7NuIGF1dG9tw6F0aWNhbWVudGUgY29uIGVsIHVzdWFyaW8gZXNwZWNpZmljYWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBubyByZWljaWEgZWwgbW9kbyBkZSBjb250cm9sXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHV0aWxpemEgLXIgPG5vbWJyZW3DoXF1aW5hPiBwYXJhIGxvZ2luKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNworbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpY2hlcm8+IG11ZXN0cmEgZWwgZmljaGVybyBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzgKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgYWN0aXZhIGVsIGNvbnRyb2wgZGUgZmx1am8gcG9yIGhhcmR3YXJlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPG5vbWJyZW3DoXF1aW5hPiBlc3BlY2lmaWNhIG3DoXF1aW5hIHBhcmEgaW5pY2lvIGRlIHNlc2nDs25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIG5vIG11ZXN0cmEgZWwgZmljaGVybyBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA8Y2FkZW5hPiBlc3RhYmxlY2UgbGEgY2FkZW5hIGRlIGluaWNpb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDIKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgLUosIC0tbm9jbGVhciAgICAgICAgICAgICAgbm8gbGltcGlhIGxhIHBhbnRhbGxhIGFudGVzIGRlIHNhY2FyIGVsIGluZGljYWRvclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWNoPiBlc3BlY2lmaWNhIGVsIHByb2dyYW1hIGRlIGluaWNpbyBkZSBzZXNpw7NuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NAorbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RvPl0gIGNvbnRyb2xhIGVsIGluZGljYWRvciBkZSBsw61uZWEgbG9jYWxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWUgbGEgdmVsb2NpZGFkIGVuIGJhdWRpb3MgZHVyYW50ZSBsYSBjb25leGnDs25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBubyBwcmVndW50YSBwYXJhIGluaWNpYXIgc2VzacOzblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDcKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1OLCAtLW5vbmV3bGluZSAgICAgICAgICAgIG5vIGltcHJpbWUgdW4gc2FsdG8gZGUgbMOtbmVhIGFudGVzIGRlIGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3Bjcz4gb3BjaW9uZXMgcXVlIHNlIHBhc2FuIGFsIGluaWNpYXIgc2VzacOzblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICBlc3BlcmEgYSBxdWUgc2UgcHVsc2UgdW5hIHRlY2xhIGFudGVzIGRlIGluaWNpYXIgc2VzacOzblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTAKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIuIC0tY2hyb290IDxkaXI+ICAgICAgICAgZXN0YWJsZWNlIGNvbW8gcmHDrXogZWwgZGlyZWN0b3JpbyBlc3BlY2lmaWNhZG9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgY3VlbGdhIHZpcnR1YWxtZW50ZSBlbiBlbCB0ZXJtaW5hbFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTIKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0YXJ0YSBkZSBtYW50ZW5lciBsYSB2ZWxvY2lkYWQgZW4gYmF1ZGlvcyB0cmFzIGNvcnRhclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxuw7ptZXJvPiAgICAgdGllbXBvIGzDrW1pdGUgZGVsIHByb2Nlc28gZGUgaW5pY2lvIGRlIHNlc2nDs25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdGEgdGVybWluYWwgZGUgbWF5w7pzY3VsYXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU1Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICBlc3BlcmEgYWwgcmV0b3JubyBkZSBjYXJyb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBubyBpbXByaW1lIHBpc3Rhc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIHNlIG11ZXN0cmEgbmluZ8O6biBub21icmUgZGUgbcOhcXVpbmEgZW4gYWJzb2x1dG9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU4Cittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIG11ZXN0cmEgZWwgbm9tYnJlZGUgbcOhcXVpbmEgY29tcGxldGFtZW50ZSBjdWFsaWZpY2Fkb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTkKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDxjYWRlbmE+IGNhcmFjdGVyZXMgYWRpY2lvbmFsZXMgZGUgYm9ycmFkbyBoYWNpYSBhdHLDoXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA8Y2FkZW5hPiAgY2FyYWN0ZXJlcyBkZSB0ZXJtaW5hY2nDs24gYWRpY2lvbmFsZXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYxCittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDxkaXJlY3RvcmlvPiAgIGNhbWJpYSBkZSBkaXJlY3RvcmlvIGFudGVzIGRlIGluaWNpYXIgc2VzacOzblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjIKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8bsO6bWVybz4gICAgICAgcmVwb3NhIHVuIG7Dum1lcm8gZGUgc2VndW5kb3MgYW50ZXMgZGUgcHJlZ3VudGFyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAgICAgLS1uaWNlIDxuw7ptZXJvPiAgICAgICAgaW5pY2lhIHNlc2nDs24gY29uIGVzdGEgcHJpb3JpZGFkXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlY2FyZ2EgbG9zIGluZGljYWRvcmVzIGVuIGxhcyBpbnN0YW5jaWFzIGRlIGFnZXR0eSBlbiBlamVjdWNpw7NuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorbXNnaWQgIiAgICAgLS1saXN0LXNwZWVkcyAgICAgICAgICBkaXNwbGF5IHN1cHBvcnRlZCBiYXVkIHJhdGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LXNwZWVkcyAgICAgICAgICBtdWVzdHJhIGxhcyB0YXNhcyBkZSBiYXVkaW9zIGFkbWl0aWRhc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIHVzdWFyaW8iCittc2dzdHJbMV0gIiVkIHVzdWFyaW9zIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImVycm9yIGRlIGNvbXByb2JhY2nDs24gZGUgbm9tYnJlOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJubyBzZSBwdWVkZSB0b2NhciBlbCBmaWNoZXJvICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiLS1yZWxvYWQgbm8gc2UgYWRtaXRlIGVuIHN1IHNpc3RlbWEiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbeShzw60pIHwgbihubyldXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiQ29udHJvbGEgZWwgYWNjZXNvIGRlIGVzY3JpdHVyYSBkZSBvdHJvcyB1c3VhcmlvcyBhIHN1IHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgZXhwbGljYSBsbyBxdWUgc2UgZXN0w6EgaGFjaWVuZG9cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgImZhbGxvIGRlIHR0eW5hbWUiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgImVzIHkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgImVzIG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJmYWxsbyBlbiBlbCBjYW1iaW8gZGUgbW9kbyAlcyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiYSBzdSB0ZXJtaW5hbCBsZSBlc3TDoSBwZXJtaXRpZG8gZWwgYWNjZXNvIHBhcmEgZXNjcml0dXJhIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgImEgc3UgdGVybWluYWwgbGUgZXN0w6EgZGVuZWdhZG8gZWwgYWNjZXNvIHBhcmEgZXNjcml0dXJhIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImFyZ3VtZW50byBubyB2w6FsaWRvOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gW2ZpY2hlcm9dXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICJDcmVhIHVuYSB0cmFuc2NyaXBjacOzbiBkZSB1bmEgc2VzacOzbiBkZSB0ZXJtaW5hbC5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjcKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgYcOxYWRlIGxhIHNhbGlkYVxuIgorIiAtYywgLS1jb21tYW5kIDxvcmRlbj4gICBlamVjdXRhIG9yZGVuIGVuIHZleiBkZSDCq3NoZWxswrsgaW50ZXJhY3RpdmFcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgcmV0b3JuYSBlbCBjw7NkaWdvIGRlIHNhbGlkYSBkZWwgcHJvY2VzbyBoaWpvXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIHZhY8OtYSB0cmFzIGNhZGEgZXNjcml0dXJhXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHV0aWxpemEgZmljaGVybyBkZSBzYWxpZGEgYXVucXVlIHNlYSB1biBlbmxhY2VcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgcGVybWFuZWNlIGNhbGxhZG9cbiIKKyIgLXRbPGZpY2g+XSwgLS10aW1pbmdbPTxmaWNoPl0gbWFuZGEgZGF0b3MgZGUgdGllbXBvcyBhIHN0ZGVyciBvIGFsIGZpY2hlcm9cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorImVsIGZpY2hlcm8gZGUgc2FsaWRhICclcycgZXMgdW4gZW5sYWNlXG4iCisiVXRpbGljZSAtLWZvcmNlIHNpIHF1aWVyZSB1dGlsaXphcmxvIGRlIHZlcmRhZC5cbiIKKyJObyBzZSBpbmljaWEgZWwgcHJvZ3JhbWEuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgdGVybWluYWRvOyBlbCBmaWNoZXJvIGVzICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjg4Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJubyBzZSBwdWVkZSBlc2NyaXBiaXIgZWwgZmljaGVybyBkZSBzY3JpcHQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNpw7NuIHRlcm1pbmFkYS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGluaWNpYWRvIGVuICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiU2NyaXB0IHRlcm1pbmFkbyBlbiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzOQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGhhIGZhbGxhZG8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJubyBxdWVkYW4gcHR5IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgaW5pY2lhZG87IGVsIGZpY2hlcm8gZXMgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICVzIFstdF0gZmljaGVyb19kZV90aWVtcG9zIFtmaWNoZXJvX2RlX3RyYW5zY3JpcGNpw7NuXSBbZGl2aXNvcl1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJSZXByb2R1Y2UgbG9zIGZpY2hlcm9zIGRlIHRyYW5zY3JpcGNpw7NuIGRlbCB0ZXJtaW5hbCwgdXRpbGl6YW5kbyBsYSBpbmZvcm1hY2nDs24gdGVtcG9yYWxcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPGZpY2g+ICAgICBmaWNoZXJvIGRlIHNhbGlkYSBkZSB0aWVtcG9zIGRlIHNjcmlwdFxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWNoPiBmaWNoZXJvIGRlIHNhbGlkYSBkZSBsYSBzZXNpw7NuIGRlbCB0ZXJtaW5hbCBkZSBzY3JpcHRcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgYXVtZW50YSBvIGRpc21pbnV5ZSBsYSB2ZWxvY2lkYWQgZGUgZWplY3VjacOzbiBjb25mb3JtZSBhbCBkaXZpc29yIGRlIHRpZW1wb1xuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICBlc3BlcmEgYSBsbyBzdW1vIGVzdGEgY2FudGlkYWQgZGUgc2VndW5kb3MgZW50cmUgYWN0dWFsaXphY2lvbmVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEzCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiZmFsbMOzIGxhIGVzY3JpdHVyYSBhIHN0ZG91dCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAibm8gc2UgZXNwZXJhYmEgZmluIGRlIGZpY2hlcm8gZW4gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGxlZXIgZWwgZmljaGVybyBkZSB0cmFuc2NyaXBjacOzbiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJuw7ptZXJvIGRlIGFyZ3VtZW50b3MgaW5jb3JyZWN0byIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBsZWVyIGVsIGZpY2hlcm8gZGUgdGllbXBvcyAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiZmljaGVybyBkZSB0aWVtcG9zICVzOiBsw61uZWEgJWx1OiBmb3JtYXRvIGluZXNwZXJhZG8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImVycm9yIGVuIGVsIGFyZ3VtZW50bzogJXMgYnJpbGxhbnRlIG5vIGVzdMOhIGFkbWl0aWRvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJkZW1hc2lhZG9zIHRhYnVsYWRvcmVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODIKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIGxhcyBjYXJhY3RlcsOtc3RpY2FzIGRlIHVuIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA8bm9tYnJlX3Rlcm1pbmFsPiBhbnVsYSBsYSB2YXJpYWJsZSBkZSBlbnRvcm5vIFRFUk1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlaW5pY2lhIGVsIHRlcm1pbmFsIGVuIGVzdGFkbyBlbmNlbmRpZG9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzdGFibGVjZSBsYXMgZmlsYXMgeSBjb2x1bW5hcyBkZWwgdGVybWluYWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBtdWVzdHJhIGxhIGNhZGVuYSBkZSBpbmljaW8geSB1dGlsaXphIGxvcyBhanVzdGVzIHByZWRldGVybWluYWRvc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbGl6YSBsb3MgYWp1c3RlcyBkZWwgdGVybWluYWwgcHJlZGV0ZXJtaW5hZG9zXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBndWFyZGEgbG9zIGFqdXN0ZXMgYWN0dWFsZXMgZGVsIHRlcm1pbmFsIGNvbW8gcHJlZGV0ZXJtaW5hZG9zXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBtdWVzdHJhIGVsIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHJlcGV0aWNpw7NuIGRlbCB0ZWNsYWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgbW9kbyBkZSBhcGxpY2FjacOzbiBkZSBsYXMgdGVjbGFzIGRlIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbsO6YSBlbiB1bmEgbMOtbmVhIG51ZXZhIGN1YW5kbyB1bmEgbMOtbmVhIGVzdMOhIGxsZW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBpbnZpZXJ0ZSBsb3MgY29sb3JlcyBkZSBsYSBwYW50YWxsYSBlbnRlcmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHRbPGNvbG9yPl0gIGVzdGFibGVjZSBlbCBjb2xvciBkZWwgZnJlbnRlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0Wzxjb2xvcj5dICBlc3RhYmxlY2UgZWwgY29sb3IgZGVsIGZvbmRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIGVzdGFibGVjZSBlbCBjb2xvciBkZWwgdGV4dG8gc3VicmF5YWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIGVzdGFibGVjZSBlbCBjb2xvciBkZWwgdGV4dG8gZW4gbmVncml0YVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBuZWdyaXRhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgb3NjdXJlY2lkb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgcGFycGFkZW9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICBzdWJyYXlhZG9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgaW50ZXJjYW1iaWEgbG9zIGNvbG9yZXMgZGVsIGZyZW50ZSB5IGRlbCBmb25kb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGxpbXBpYSBsYSBwYW50YWxsYSB5IHBvc2ljaW9uYSBlbCBjdXJzb3JcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIC0tdGFicyAgICAgICAgICBbPG7Dum1lcm8+Li4uXSAgICAgZXN0YWJsZWNlIGVzdGFzIHBvc2ljaW9uZXMgZGUgdGFidWxhY2nDs24gbyBsYXMgbXVlc3RyYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAtLWNscnRhYnMgICAgICAgWzxuw7ptZXJvPi4uLl0gICAgIGJvcnJhIGVzdGFzIHBvc2ljaW9uZXMgZGUgdGFidWxhY2nDs24gbyB0b2RhcyBlbGxhc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBmaWphIHVuIGludGVydmFsbyBkZSB0YWJ1bGFjacOzblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBlc3RhYmxlY2UgZWwgdGllbXBvIGRlIGluYWN0aXZpZGFkIHF1ZSBwcmVjZWRlcsOhIGFsIG9zY3VyZWNpbWllbnRvIGRlIGxhIHBhbnRhbGxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWR1bXAgICAgICAgICAgWzxuw7ptZXJvPl0gICAgICAgIGVzY3JpYmUgZWwgdm9sY2FkbyBkZSBsYSBjb25zb2xhIHZjc2E8bsO6bWVybz4gZW4gdW4gZmljaGVyb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwZW5kICAgICAgICBbPG7Dum1lcm8+XSAgICAgICAgYcOxYWRlIGVsIHZvbGNhZG8gZGUgbGEgY29uc29sYSB2Y3NhPG7Dum1lcm8+IGEgdW4gZmljaGVyb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxub21maWNoPiAgICAgICAgIG5vbWJyZSBkZWwgZmljaGVybyBkZSB2b2xjYWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGVudsOtYSBsb3MgbWVuc2FqZXMgZGVsIG7DumNsZW8gYSBsYSBjb25zb2xhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAgbml2ZWwgZGUgwqtsb2fCuyBkZSBsYSBjb25zb2xhIGRlbCBuw7pjbGVvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3RhYmxlY2UgbGFzIGNhcmFjdGVyw61zdGljYXMgZGUgYWhvcnJvIGRlIHBvdGVuY2lhIGRlIHZlc2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIGVzdGFibGVjZSBlbCBpbnRlcnZhbG8gZGUgYXBhZ2FkbyBkZSB2ZXNhIGVuIG1pbnV0b3NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhY2nDs24gZGUgbGEgY2FtcGFuYSBlbiBtaWxpc2VndW5kb3NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxuw7ptZXJvPiAgICAgICAgICBmcmVjdWVuY2lhIGRlIGxhIGNhbXBhbmEgZW4gaGVyY2lvc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzEKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAidXNvIGR1cGxpY2FkbyBkZSB1bmEgb3BjacOzbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJubyBzZSBwdWVkZSBmb3J6YXIgZWwgcG9uZXJzZSBlbiBibGFuY28iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJubyBzZSBwdWVkZSBmb3J6YXIgZWwgbm8gcG9uZXJzZSBlbiBibGFuY28iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJubyBzZSBwdWVkZSBvYnRlbmVyIGVsIGVzdGFkbyBkZWwgcG9uZXJzZSBlbiBibGFuY28iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgYWJyaXIgZWwgZmljaGVybyBkZSB2b2xjYWRvICVzIHBhcmEgc2FsaWRhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiZWwgdGVybWluYWwgJXMgbm8gYWRtaXRlICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4NTcKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QgaGEgZmFsbGFkbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAic3RkaW4gbm8gaGFjZSByZWZlcmVuY2lhIGEgdW4gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgInBvc2ljacOzbiBkZWwgY3Vyc29yIG5vIHbDoWxpZGE6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MzMKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInJlc2V0IGhhIGZhbGxhZG8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgKGRlcylhY3RpdmFyIGVsIG1vZG8gZGUgYWhvcnJvIGRlIGFsaW1lbnRhY2nDs24iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMTYgdGVybS11dGlscy9zZXR0ZXJtLmM6MTEyNQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImVycm9yIGRlIGtsb2djdGwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIG5vIGVzdMOhIGRlZmluaWRvLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZW5jb250cmFyIGxhIGJhc2UgZGUgZGF0b3MgZGUgdGVybWluZm8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IHRpcG8gZGUgdGVybWluYWwgZGVzY29ub2NpZG8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiZWwgdGVybWluYWwgZXMgdW5hIGNvcGlhIGltcHJlc2EiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJlcnJvciBpbnRlcm5vOiBkZW1hc2lhZG9zIGlvdiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJhcmd1bWVudG8gZGUgbMOtbmVhIGRlbWFzaWFkbyBsYXJnbyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgImZhbGxvIGFsIGFicmlyIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJubyBzZSBwdWVkZSBiaWZ1cmNhciAoZm9yaykiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogRVJST1IgTUFMTzogZWwgbWVuc2FqZSBlcyBkZW1hc2lhZG8gbGFyZ28iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxmaWNoZXJvPiB8IDxtZW5zYWplPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJFc2NyaWJlIHVuIG1lbnNhamUgYSB0b2RvcyBsb3MgdXN1YXJpb3MuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3J1cG8+ICAgICBlbnbDrWEgbWVuc2FqZSBzb2xhbWVudGUgYWwgZ3J1cG9cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgbm8gaW1wcmltZSBtZW5zYWplIGluaWNpYWwsIHNvbG8gZnVuY2lvbmEgcGFyYSByb290XG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8dGllbXBvbGltaXRlPiBlc2NyaWJlIGVsIHRpZW1wbyBsw61taXRlIGVuIHNlZ3VuZG9zXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBkZSBncnVwbyBubyB2w6FsaWRvIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlczogZ2lkIGRlc2Nvbm9jaWRvIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxNjcKK21zZ2lkICJnZXRncm91cGxpc3QgZm91bmQgbW9yZSBncm91cHMgdGhhbiBzeXNjb25mIGFsbG93cyIKK21zZ3N0ciAiZ2V0Z3JvdXBsaXN0IGhhIGVuY29udHJhZG8gbcOhcyBncnVwb3MgZGUgbG9zIHF1ZSBwZXJtaXRlIHN5c2NvbmYiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIgc29sYW1lbnRlIGVzdMOhIGRpc3BvbmlibGUgcGFyYSByb290IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiZWwgYXJndW1lbnRvIGRlIHRpZW1wbyBsw61taXRlIG5vIGVzIHbDoWxpZG86ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNTcKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgZWwgdWlkIGRlIHBhc3N3ZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgb2J0ZW5lciBlbCBub21icmUgZGVsIHRlcm1pbmFsIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJNZW5zYWplIGRlIGRpZnVzacOzbiBnZW5lcmFsIChicm9hZGNhc3QpIGRlICVzQCVzICglcykgKCVzKToiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCByZWFkICVzIC0gdXNlIHN0ZGluLiIKK21zZ3N0ciAibm8gc2UgcHVlZGUgbGVlciAlcyAtIHVzZSBsYSBlbnRyYWRhIGVzdMOhbmRhci4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8dXN1YXJpbz4gWzx0ZXJtaW5hbD5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MQorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiRW52w61hIHVuIG1lbnNhamUgYSBvdHJvIHVzdWFyaW8uXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiZWwgZ2lkIGVmZWN0aXZvIG5vIGNvbmN1ZXJkYSBjb24gZWwgZ3J1cG8gZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiJXMgbm8gdGllbmUgaW5pY2lhZGEgdW5hIHNlc2nDs24iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAibm8gc2UgcHVlZGUgZW5jb250cmFyIGVsIG5vbWJyZSBkZSBzdSB0dHkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyB0aWVuZSBsb3MgbWVuc2FqZXMgZGVzYWN0aXZhZG9zIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMgdGllbmUgaW5pY2lhZGEgdW5hIHNlc2nDs24gbcOhcyBkZSB1bmEgdmV6OyBlc2NyaWJpZW5kbyBlbiAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMgaGEgZmFsbGFkbyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNZW5zYWplIGRlICVzQCVzIChjb21vICVzKSBlbiAlcyBhIGxhcyAlMDJkOiUwMmQgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNZW5zYWplIGRlICVzQCVzIGVsICVzIGEgbGFzICUwMmQ6JTAyZCAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgInVzdGVkIHRpZW5lIGVsIHBlcm1pc28gZGUgZXNjcml0dXJhIGRlc2FjdGl2YWRvIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIG5vIHRpZW5lIHVuYSBzZXNpw7NuIGluaWNpYWRhIGVuICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgdGllbmUgbG9zIG1lbnNhamVzIGRlc2FjdGl2YWRvcyBlbiAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzUKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiRGVqYSBmdWVyYSBhdmFuY2VzIGRlIGzDrW5lYSBpbnZlcnNvcy5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNpb25lczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBubyBzYWNhIHJldHJvY2Vzb3NcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXRlIGF2YW5jZXMgZGUgbWVkaWEgbMOtbmVhIGhhY2lhIGFkZWxhbnRlXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzYSBzZWN1ZW5jaWFzIGRlIGNvbnRyb2wgZGVzY29ub2NpZGFzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmllcnRlIGVzcGFjaW9zIGVuIHRhYnVsYWRvcmVzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmllcnRlIHRhYnVsYWRvcmVzIGVuIGVzcGFjaW9zXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgZ3VhcmRhIGFsIG1lbm9zIE5VTSBsw61uZWFzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMgbGVlIGRlIGxhIGVudHJhZGEgZXN0w6FuZGFyIHkgZXNjcmliZSBlbiBsYSBzYWxpZGEgZXN0w6FuZGFyXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gLWwgaW5jb3JyZWN0byIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImF0ZW5jacOzbjogbm8gc2UgcHVlZGUgaGFjZXIgY29waWEgZGUgc2VndXJpZGFkIGRlICVzLiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgIm3DoXMgYWxsw6EgZGUgcHJpbWVyYSBsw61uZWEiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIGzDrW5lYSB5YSB2YWNpYWRhIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpb25lc10gWzxmaWNoZXJvPi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0cmEgbGEgc2FsaWRhIGRlIG5yb2ZmIHBhcmEgcHJldmlzdWFsaXphY2nDs24gZW4gQ1JULlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcmltZSB0b2RvcyBsb3Mgc3VicmF5YWRvc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBpbXByaW1lIHRvZGFzIGxhcyBtZWRpYXMgbMOtbmVhc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJNb2RvIGRlIGVtcGxlbzogJXMgW2NvbHVtbmFpbmljaWFsXSBbY29sdW1uYWZpbmFsXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIkRlamEgZnVlcmEgbGFzIGNvbHVtbmFzIGVzcGVjaWZpY2FkYXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAicHJpbWVyIGFyZ3VtZW50byIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAic2VndW5kbyBhcmd1bWVudG8iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgY29sdW1uYSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIm5vbWJyZSBkZSBjb2x1bW5hIG5vIGRlZmluaWRvOiAnJXMnIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxhIGxpc3RhIGRlIC0tdGFibGUtb3JkZXIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiZmFsbG8gYWwgYW5hbGl6YXIgbGEgbGlzdGEgZGUgLS10YWJsZS1yaWdodCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsYSBsaXN0YSBkZSAtLXRhYmxlLXRydW5jIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICJmYWxsbyBhbCBhbmFsaXphciBsYSBsaXN0YSBkZSAtLXRhYmxlLW5vZXh0cmVtZSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxhIGxpc3RhIGRlIC0tdGFibGUtd3JhcCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgImZhbGxvIGFsIGFuYWxpemFyIGxhIGxpc3RhIGRlIC0tdGFibGUtaGlkZSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICJsw61uZWEgJXp1OiBwYXJhIEpTT04gc2UgcmVxdWllcmUgZWwgbm9tYnJlIGRlIGxhIGNvbHVtbmEgJXp1IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAibm8gc2UgaGFuIHBvZGlkbyByZXNlcnZhciBkYXRvcyBkZSBzYWxpZGEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICJMaXN0YXMgZW4gY29sdW1uYXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhIHVuYSB0YWJsYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tdGFibGUtbmFtZSA8bm9tYnJlPiAgICAgICAgbm9tYnJlIGRlIGxhIHRhYmxhIHBhcmEgbGEgc2FsaWRhIEpTT05cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbmFzPiAgICAgZXNwZWNpZmljYSBlbCBvcmRlbiBkZSBsYXMgY29sdW1uYXMgZGUgc2FsaWRhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiAtTiwgLS10YWJsZS1jb2x1bW5zIDxub21icmVzPiAgICBub21icmVzIGRlIGNvbHVtbmFzIHNlcGFyYWRvcyBwb3IgY29tYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1uYXM+IG5vIGN1ZW50YSB0ZXh0byBsYXJnbyBkZXNkZSBsYXMgY29sdW1uYXMgaGFzdGEgbGEgYW5jaHVyYSBkZSBjb2x1bW5hXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgbm8gaW1wcmltZSBjYWJlY2VyYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGl0ZSBsYSBjYWJlY2VyYSBlbiBjYWRhIHDDoWdpbmFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1ILCAtLXRhYmxlLWhpZGUgPGNvbHVtbmFzPiAgICAgIG5vIGltcHJpbWUgbGFzIGNvbHVtbmFzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVtbmFzPiAgICAgYWxpbmVhIGVsIHRleHRvIGEgbGEgZGVyZWNoYSBlbiBlc3RhcyBjb2x1bW5hc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1uYXM+ICB0cnVuY2EgZWwgdGV4dG8gZGUgbGFzIGNvbHVtbmFzIGN1YW5kbyBzZWEgbmVjZXNhcmlvXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICItVywgLS10YWJsZS13cmFwIDw8Y29sdW1uYXM+ICAgICAgYWp1c3RhIGVudm9sdmllbmRvICBlbCB0ZXh0byBlbiBsYXMgY29sdW1uYXMgY3VhbmRvIHNlYSBuZWNlc2FyaW9cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTEKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCBmb3IgdGFibGVcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHV0aWxpemEgZWwgZm9ybWF0byBkZSBzYWxpZGEgSlNPTiBwYXJhIGxhIHRhYmxhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU0Cittc2dpZCAiIC1yLCAtLXRyZWUgPGNvbHVtbj4gICAgICAgICAgICAgIGNvbHVtbiB0byB1c2UgdHJlZS1saWtlIG91dHB1dCBmb3IgdGhlIHRhYmxlXG4iCittc2dzdHIgIiAtciwgLS3DoXJib2wgPGNvbHVtbmE+ICAgICAgICAgICAgY29sdW1uYSBxdWUgc2UgdXRpbGl6YXLDoSBwYXJhIHNhY2FyIGxhIHRhYmxhIGNvbiBmb3JtYSBkZSDDoXJib2xcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTUKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uYT4gICAgICAgICAgSUQgZGUgbGEgbMOtbmVhIHF1ZSBlc3BlY2lmaWNhIGxhIHJlbGFjacOzbiBoaWpvLXBhZHJlXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbmE+ICAgICAgcGFkcmUgcXVlIGVzcGVjaWZpY2EgbGEgcmVsYWNpw7NuIGhpam8tcGFkcmVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYywgLS1vdXRwdXQtd2lkdGggPGFuY2hvPiAgICAgICBhbmNobyBkZSBsYSBzYWxpZGEgZW4gbsO6bWVybyBkZSBjYXJhY3RlcmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPGNhZGVuYT4gIHNlcGFyYWRvciBkZSBjb2x1bW5hcyBwYXJhIGxhIHNhbGlkYSBkZSBsYXMgdGFibGFzIChlbCBwcmVkZXRlcm1pbmFkbyBlcyBkb3MgZXNwYWNpb3MpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlcGFyYXRvciA8Y2FkZW5hPiAgICAgICAgIGRlbGltaXRhZG9yZXMgZGUgdGFibGEgcXVlIHNlIHB1ZWRlbiB1dGlsaXphclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGxsZW5hciBsYXMgZmlsYXMgYW50ZXMgcXVlIGxhcyBjb2x1bW5hc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGRlIGxhcyBjb2x1bW5hcyBubyB2w6FsaWRvIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgIk5vIHNlIGhhbiBwb2RpZG8gYW5hbGl6YXIgbG9zIG5vbWJyZXMgZGUgbGFzIGNvbHVtbmFzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICJoYWNlbiBmYWx0YSBsYXMgb3BjaW9uZXMgLS10cmVlLWlkIHkgLS10cmVlLXBhcmVudCBwYXJhIGRhciBmb3JtYXRvIGRlIMOhcmJvbCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAic2UgcmVxdWllcmUgbGEgb3BjacOzbiAtLXRhYmxlIHBhcmEgdG9kYXMgbGFzIC0tdGFibGUtKiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgInNlIHJlcXVpZXJlIGxhIG9wY2nDs24gLS10YWJsZS1jb2x1bW5zIHBhcmEgLS1qc29uIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIDxmaWNoZXJvPi4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiTXVlc3RyYSBlbCBjb250ZW5pZG8gZGUgdW4gZmljaGVybyBlbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwgbyBhc2NpaS5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBzYWxpZGEgZW4gb2N0YWxlcyBkZSB1biBieXRlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIHNhbGlkYSBlbiBjYXJhY3RlcmVzIGRlIHVuIGJ5dGVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIHNhbGlkYSBoZXhhK0FTQ0lJIGNhbsOzbmljYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgc2FsaWRhIGVuIGRlY2ltYWxlcyBkZSBkb3MgYnl0ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICBzYWxpZGEgZW4gb2N0YWxlcyBkZSBkb3MgYnl0ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICBzYWxpZGEgZW4gaGV4YWRlY2ltYWxlcyBkZSBkb3MgYnl0ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxtb2RvPl0gICAgICBpbnRlcnByZXRhIGxvcyBlc3BlY2lmaWNhZG9yZXMgZGUgZm9ybWF0byBkZSBjb2xvclxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXRvPiAgICBjYWRlbmEgZGUgZm9ybWF0byBxdWUgc2UgdXNhcsOhIHBhcmEgbW9zdHJhciBkYXRvc1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWNoPiAgZmljaGVybyBxdWUgY29udGllbmUgY2FkZW5hcyBkZSBmb3JtYXRvXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDxsYXJnbz4gICAgICBpbnRlcnByZXRhIHNvbGFtZW50ZSB0YW50b3MgYnl0ZXMgZGUgbGFyZ28gZGUgZW50cmFkYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2FsdGEgb2Zmc2V0IGJ5dGVzIGRlc2RlIGVsIHByaW5jaXBpb1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzUKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIHNhY2EgbMOtbmVhcyBpZMOpbnRpY2FzXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAiZXJyb3IgZW4gdG9kb3MgbG9zIGFyZ3VtZW50b3MgZGUgZmljaGVybyBkZSBlbnRyYWRhIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgIm7Dum1lcm8gdG90YWwgZGUgYnl0ZXMgaW5jb3JyZWN0byBwYXJhIGVsIGNhcsOhY3RlciBkZSBjb252ZXJzacOzbiAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIHJlcXVpZXJlIHVuIHZhbG9yIGRlIHByZWNpc2nDs24gbyB1biBuw7ptZXJvIHRvdGFsIGRlIGJ5dGVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImZvcm1hdG8gaW5jb3JyZWN0byB7JXN9IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiY2Fyw6FjdGVyIGRlIGNvbnZlcnNpw7NuICUlJXMgaW5jb3JyZWN0byIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAibsO6bWVybyB0b3RhbCBkZSBieXRlcyBjb24gdmFyaW9zIGNhcmFjdGVyZXMgZGUgY29udmVyc2nDs24iCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjM0Cittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiTGVlIHVuYSBsw61uZWEuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIkZpbHRybyBwYXJhIGxlY3R1cmEgZGV0ZW5pZGEgZGUgdW4gZmljaGVybyBwYXJhIHZpc3VhbGl6YWNpw7NuIENSVC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAgbXVlc3RyYSBheXVkYSBlbiBsdWdhciBkZSBoYWNlciBzb25hciBsYSBjYW1wYW5hXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgY3VlbnRhIGzDrW5lYXMgbMOzZ2ljYXMgZW4gdmV6IGRlIGzDrW5lYXMgZGUgcGFudGFsbGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgc3VwcmltZSBsYSBwYXVzYSBwb3N0ZXJpb3IgYWwgYXZhbmNlIGRlIHDDoWdpbmFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICBubyBkZXNwbGF6YSwgbXVlc3RyYSB0ZXh0byB5IGxpbXBpYSBsb3MgZmluYWxlcyBkZSBsw61uZWFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQyCittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAtcCAgICAgICAgICBubyBkZXNwbGF6YSwgbGltcGlhIGxhIHBhbnRhbGxhIHkgbXVlc3RyYSB0ZXh0b1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAganVudGEgdmFyaWFzIGzDrW5lYXMgZW4gYmxhbmNvIGVuIHVuYSBzb2xhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NAorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgc3VwcmltZSBzdWJyYXlhZG9zXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08bsO6bWVybz4gICBuw7ptZXJvIGRlIGzDrW5lYXMgcG9yIHBhbnRhbGxhIGNvbXBsZXRhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICs8bsO6bWVybz4gICBtdWVzdHJhIGVsIGNvbWllbnpvIGRlbCBmaWNoZXJvIGRlc2RlIGVsIG7Dum1lcm8gZGUgbMOtbmVhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88Y2FkZW5hPiAgbXVlc3RyYSBlbCBjb21pZW56byBkZWwgZmljaGVybyBkZXNkZSBsYSBjb2luY2lkZW5jaWEgZGUgbGEgY2FkZW5hIGRlIGLDunNxdWVkYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICJvcGNpw7NuIGRlc2Nvbm9jaWRhIC0lcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3JpbyAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IE5vIGVzIHVuIGZpY2hlcm8gZGUgdGV4dG8gKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW1V0aWxpemFyIHEgbyBRIHBhcmEgc2FsaXJdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tTcOhcy0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoU2lndWllbnRlIGZpY2hlcm86ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW1B1bHNlIGxhIGJhcnJhIGVzcGFjaWFkb3JhIHBhcmEgY29udGludWFyOyAncScgcGFyYSBzYWxpci5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4ucmV0cm9jZWRlciAlZCBww6FnaW5hIgorbXNnc3RyWzFdICIuLi5yZXRyb2NlZGVyICVkIHDDoWdpbmFzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5vbWl0aWVuZG8gJWQgbMOtbmVhIgorbXNnc3RyWzFdICIuLi5vbWl0aWVuZG8gJWQgbMOtbmVhcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipBdHLDoXMqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI4NAorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiTm8gaGF5IG5pbmd1bmEgZXhwcmVzacOzbiByZWd1bGFyIHByZXZpYSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJMYSBtYXlvcsOtYSBkZSBsYXMgw7NyZGVuZXMgcHVlZGVuIGVzdGFyIHByZWNlZGlkYXMgcG9yIHVuIGFyZ3VtZW50byBlbnRlcm8gay5cbiIKKyJMb3MgdmFsb3JlcyBwcmVkZXRlcm1pbmFkb3MgZXN0w6FuIGVudHJlIGNvcmNoZXRlcy5cbiIKKyJVbiBhc3RlcmlzY28gKCopIGluZGljYSBxdWUgZWwgYXJndW1lbnRvIHNlcsOhIGVsIG51ZXZvIHZhbG9yIHByZWRldGVybWluYWRvLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPGVzcGFjaW8+ICAgICAgICAgICAgICAgTXVlc3RyYSBsYXMgc2lndWllbnRlcyBrIGzDrW5lYXMgZGUgdGV4dG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBbcG9yIG9taXNpw7NuLCBlbCB0YW1hw7FvIGFjdHVhbCBkZSBsYSB2ZW50YW5hXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIE11ZXN0cmEgbGFzIHNpZ3VpZW50ZXMgayBsw61uZWFzIGRlIHRleHRvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgW3BvciBvbWlzacOzbiwgZWwgdGFtYcOxbyBhY3R1YWwgZGUgbGEgdmVudGFuYV0qXG4iCisiPGludHJvPiAgICAgICAgICAgICAgICAgTXVlc3RyYSBsYXMgc2lndWllbnRlcyBrIGzDrW5lYXMgZGUgdGV4dG8gWzFdKlxuIgorImQgbyBjdHJsLUQgICAgICAgICAgICAgIERlc3BsYXphIGsgbMOtbmVhcyBbdGFtYcOxbyBkZSBkZXNwbGF6byBhY3R1YWwsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBpbmljaWFsbWVudGUgMTFdKlxuIgorInEgbyBRIG8gPGludGVycj4gICAgICAgIFNhbGUgZGUgbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNhbHRhIGhhY2lhIGFkZWxhbnRlIGsgbMOtbmVhcyBkZSB0ZXh0byBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTYWx0YSBoYWNpYSBhZGVsYW50ZSBrIHBhbnRhbGxhcyBkZSB0ZXh0byBbMV1cbiIKKyJiIG8gY3RybC1CICAgICAgICAgICAgICBTYWx0YSBoYWNpYSBhdHLDoXMgayBwYW50YWxsYXMgZGUgdGV4dG8gWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgVmEgYWwgc2l0aW8gZG9uZGUgY29tZW56w7MgbGEgYsO6c3F1ZWRhIGFudGVyaW9yXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgTXVlc3RyYSBlbCBuw7ptZXJvIGRlIGxhIGzDrW5lYSBhY3R1YWxcbiIKKyIvPGV4cHJlc2nDs24gcmVndWxhcj4gICAgQnVzY2EgbGEgay3DqXNpbWEgYXBhcmljacOzbiBkZSBsYSBleHByZXNpw7NuIHJlZ3VsYXIgWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgQnVzY2EgbGEgay3DqXNpbWEgYXBhcmljacOzbiBkZSBsYSDDumx0aW1hIGUuci4gWzFdXG4iCisiITxvcmRlbj4gbyA6ITxvcmRlbj4gICAgRWplY3V0YSA8b3JkZW4+IGVuIHVuIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgSW5pY2lhIC91c3IvYmluL3ZpIGVuIGxhIGzDrW5lYSBhY3R1YWxcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRpYnVqYSBsYSBwYW50YWxsYVxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIFZhIGFsIGstw6lzaW1vIGZpY2hlcm8gc2lndWllbnRlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIFZhIGFsIGstw6lzaW1vIGZpY2hlcm8gYW50ZXJpb3IgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgTXVlc3RyYSBlbCBmaWNoZXJvIGFjdHVhbCB5IGVsIG7Dum1lcm8gZGUgbMOtbmVhXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwaXRlIGxhIG9yZGVuIGFudGVyaW9yXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1B1bHNlICdoJyBwYXJhIGNvbnN1bHRhciBsYXMgaW5zdHJ1Y2Npb25lcy5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgbMOtbmVhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbTm8gZXMgdW4gZmljaGVyb10gbMOtbmVhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIERlc2JvcmRhbWllbnRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5vbWl0aWVuZG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGF0csOzbiBubyBlbmNvbnRyYWRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiUGF0csOzbiBubyBlbmNvbnRyYWRvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAiTGEgZWplY3VjacOzbiAoZXhlYykgaGEgZmFsbGFkb1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjY2Cittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJubyBzZSBwdWVkZSBiaWZ1cmNhclxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzAwCittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLlNhbHRhbmRvICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5TYWx0YW5kbyBhbCBmaWNoZXJvICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNgorbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLlJldHJvY2VkaWVuZG8gYWwgZmljaGVybyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJMw61uZWEgZGVtYXNpYWRvIGxhcmdhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiTm8gaGF5IG5pbmfDum4gY29tYW5kbyBhbnRlcmlvciBwYXJhIHN1c3RpdHVpciIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICBlc3RhIHBhbnRhbGxhXG4iCisiICBxIG8gUSAgICAgICAgICAgICAgICAgICBzYWxlIGRlbCBwcm9ncmFtYVxuIgorIiAgPG51ZXZhbMOtbmVhPiAgICAgICAgICAgIHDDoWdpbmEgc2lndWllbnRlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBzYWx0YSB1bmEgcMOhZ2luYSBoYWNpYSBhZGVsYW50ZVxuIgorIiAgZCBvIF5EICAgICAgICAgICAgICAgICAgc2lndWllbnRlIG1lZGlhIHDDoWdpbmFcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIHNpZ3VpZW50ZSBsw61uZWFcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIMO6bHRpbWEgcMOhZ2luYVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgYnVzY2EgcmVnZXggaGFjaWEgYWRlbGFudGVcbiIKKyIgID9yZWdleD8gbyBecmVnZXheICAgICAgIGJ1c2NhIHJlZ2V4IGhhY2lhIGF0csOhc1xuIgorIiAgLiBvIF5MICAgICAgICAgICAgICAgICAgcmVkaWJ1amEgbGEgcGFudGFsbGFcbiIKKyIgIHcgbyB6ICAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyYSBlbCB0YW1hw7FvIGRlIHDDoWdpbmEgeSB2YSBhIGxhIHDDoWdpbmEgc2lndWllbnRlXG4iCisiICBzIG5vbWJyZWZpY2hlcm8gICAgICAgICBndWFyZGEgZWwgZmljaGVybyBhY3R1YWwgZW4gbm9tYnJlZmljaGVyb1xuIgorIiAgIW9yZGVuICAgICAgICAgICAgICAgICAgY2Fyw6FjdGVyIGRlIGVzY2FwZSBkZSBsYSBjb25zb2xhXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICB2YSBhbCBmaWNoZXJvIGFudGVyaW9yXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICB2YSBhbCBmaWNoZXJvIHNpZ3VpZW50ZVxuIgorIlxuIgorIk11Y2hhcyDDs3JkZW5lcyBhY2VwdGFuIG7Dum1lcm9zIGRlbGFudGUsIHBvciBlamVtcGxvOlxuIgorIisxPG51ZXZhbMOtbmVhPiAocMOhZ2luYSBzaWd1aWVudGUpOyAtMTxudWV2YWzDrW5lYT4gKHDDoWdpbmEgYW50ZXJpb3IpOyAxPG51ZXZhbMOtbmVhPiAocHJpbWVyYSBww6FnaW5hKS5cbiIKKyJcbiIKKyJWw6lhc2UgcGcoMSkgcGFyYSBtw6FzIGluZm9ybWFjacOzbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBbb3BjaW9uZXNdIFsrbMOtbmVhXSBbKy9wYXRyw7NuL10gW2ZpY2hlcm9zXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiTmF2ZWdhIHBvciBmaWNoZXJvcyBkZSB0ZXh0byBhIGJhc2UgZGUgcMOhZ2luYXMuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAgbMOtbmVhcyBwb3IgcMOhZ2luYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICBib3JyYSBsYSBwYW50YWxsYSBhbnRlcyBkZSB2aXN1YWxpemFyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAgbm8gc2UgZGV0aWVuZSBhbCBmaW5hbCBkZWwgZmljaGVyb1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIG5vIHBhcnRlIGxhcyBsw61uZWFzIGxhcmdhc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQyCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAgdGVybWluYSBlbCBjb21hbmRvIGNvbiBudWV2YSBsw61uZWFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MworbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxpbmRpYy4+ICBlc3BlY2lmaWNhIGVsIGluZGljYWRvclxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ0Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIC1yICAgICAgICAgICBpbXBpZGUgZWwgY2Fyw6FjdGVyIGRlIGVzY2FwZSBkZSBsYSBjb25zb2xhXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIGltcHJpbWUgbG9zIG1lbnNhamVzIHBvciBsYSBzYWxpZGEgZXN0w6FuZGFyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDYKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiArbsO6bWVybyAgICAgIGNvbWllbnphIGVuIGxhIGzDrW5lYSBlc3BlY2lmaWNhZGFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NworbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL3BhdHLDs24vICAgIGNvbWllbnphIGVuIGxhIGzDrW5lYSBxdWUgY29udGllbmUgZWwgcGF0csOzblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAibGEgb3BjacOzbiBuZWNlc2l0YSB1biBhcmd1bWVudG8gLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIm9wY2nDs24gaWxlZ2FsIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY3Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi5zYWx0YW5kbyBoYWNpYSBhZGVsYW50ZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiLi4uc2FsdGFuZG8gaGFjaWEgYXRyw6FzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODUKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIk5vIGhheSBuaW5nw7puIGZpY2hlcm8gc2lndWllbnRlIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiTm8gaGF5IG5pbmfDum4gZmljaGVybyBhbnRlcmlvciIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiRXJyb3IgZGUgbGVjdHVyYSBlbiBlbCBmaWNoZXJvICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIkVPRiBpbmVzcGVyYWRvIGVuIGVsIGZpY2hlcm8gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJFcnJvciBkZXNjb25vY2lkbyBlbiBlbCBmaWNoZXJvICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiTm8gc2UgcHVlZGUgY3JlYXIgdW4gZmljaGVybyB0ZW1wb3JhbCIKKworIyDCv1F1w6kgc2lnbmlmaWNhPworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIlJFIGVycm9yOiIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJObyBzZSByZWN1ZXJkYSBuaW5ndW5hIGNhZGVuYSBkZSBiw7pzcXVlZGEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjYzCittc2dpZCAic2F2ZWQiCittc2dzdHIgImd1YXJkYWRvIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiBubyBzZSBwZXJtaXRlICFvcmRlbiBlbiBlbCBtb2RvIHJmbGFnLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4NworbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmYWxsw7MgbGEgbGxhbWFkYSBhbCBzaXN0ZW1hIGZvcmsoKSwgaW50w6ludGVsbyBkZSBudWV2byBtw6FzIGFkZWxhbnRlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoU2lndWllbnRlIGZpY2hlcm86ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gVG9kb3MgbG9zIGRlcmVjaG9zIHJlc2VydmFkb3MuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTk0IHRleHQtdXRpbHMvcGcuYzoxNjY3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAibm8gc2UgaGEgcG9kaWRvIGFuYWxpemFyIGVsIG7Dum1lcm8gZGUgbMOtbmVhcyBwb3IgcMOhZ2luYSIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiTW9kbyBkZSBlbXBsZW86ICVzIFtvcGNpb25lc10gW2ZpY2hlcm8gLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgxCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICJJbnZpZXJ0ZSBsw61uZWFzIGNhcsOhY3RlciBhIGNhcsOhY3Rlci5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lvbmVzXSBbPGZpY2hlcm8+XSAuLi5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJTdWJyYXlhIHRleHRvLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgYW51bGEgbGEgdmFyaWFibGUgZGUgZW50b3JubyBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBlbCBzdWJyYXlhZG8gc2UgaW5kaWNhIG1lZGlhbnRlIHVuYSBsw61uZWEgZGlzdGludGFcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiUHJvYmxlbWFzIGFsIGxlZXIgdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJlbCB0ZXJtaW5hbCBgJXMnIGVzIGRlc2Nvbm9jaWRvLCBzZSBhZG9wdGEgYGR1bWInIGNvbW8gcHJlZGV0ZXJtaW5hZG8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAic2VjdWVuY2lhIGRlIGVzY2FwZSBkZXNjb25vY2lkYSBlbiBlbnRyYWRhOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiTMOtbmVhIGRlIGVudHJhZGEgZGVtYXNpYWRvIGxhcmdhLiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyw61hIgorCisjfiBtc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCisjfiBtc2dzdHIgInRpcG8gZGUgYmxvcXVlbzogRkxfRkxPQ0sgbyBGTF9QT1NJWC4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICJubyBzZSBwdWVkZSBlamVjdXRhciAvYmluL3Vtb3VudCBkZSBgJXMnIgorCisjfiBtc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKKyN+IG1zZ3N0ciAic2UgZHVlcm1lIH4lZCB1c2VjXG4iCisKKyN+IG1zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCisjfiBtc2dzdHIgIiVsZCwlMDZsZCA8ICVsZCwlMDZsZCAoJS42ZilcbiIKKworI34gbXNnaWQgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKKyN+IG1zZ3N0ciAiIC1ELCAtLWRlYnVnICAgICAgICAgIGltcHJpbWUgbcOhcyBkZXRhbGxlcyIKKworI34gbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorI34gbXNnc3RyICJmYWxsbyBhbCBsZWVyIGVuOiAlcyIKKworI34gbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKKyN+IG1zZ3N0ciAibm8gc2UgcHVlZGUgZWplY3V0YXI6ICVzIgorCisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAiYWxnb3JpdG1vIG5vIHNvcG9ydGFkbzogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29tbWFuZHM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJNb2RvIGRlIGVtcGxlbzpcbiIKKyN+ICIgJTEkcyAtVlxuIgorI34gIiAlMSRzIC0tcmVwb3J0IFtkaXNwb3NpdGl2b3NdXG4iCisjfiAiICUxJHMgWy12fC1xXSDDs3JkZW5lcyBkaXNwb3NpdGl2b3NcbiIKKyN+ICJcbiIKKyN+ICLDk3JkZW5lcyBkaXNwb25pYmxlczpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbHVtbmFzIGRpc3BvbmlibGVzIChwYXJhIC0tbyk6XG4iCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJlcnJvciBkZSBiw7pzcXVlZGEgZW4gJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBtdWVzdHJhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGU7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC1WIGNvbW8gLS12ZXJzaW9uIGRlYmUgc2VyIGxhIMO6bmljbyBvcGNpw7NuXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSBmaW5hbGl6YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbHVtbmFzIGRpc3BvbmlibGVzIChwYXJhIC0tc2hvdywgLS1yYXcgbyAtLXBhaXJzKTpcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgbXVlc3RyYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs24geSBzYWxlXG4iCisKKyN+IG1zZ2lkICJUcnkgJyVzIC1oJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiRXNjcmliYSAnJXMgLWgnIHBhcmEgb2J0ZW5lciBtw6FzIGluZm9ybWFjacOzbi5cbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgc2FsZVxuIgorCisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtViwgLS12ZXJzaW9uICBtdWVzdHJhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGVcbiIKKworI34gbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXUsIC0taGVscCAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgc2FsZVxuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiTm8gaGF5IG5pbmfDum4gaW50w6lycHJldGUgZGUgw7NyZGVuZXMgY29ub2NpZG8uIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29sdW1uYXMgZGlzcG9uaWJsZXM6XG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisjfiBtc2dzdHIgIiAlcyBbb3BjaW9uZXNdIC11IDx1c3VhcmlvPiBbWy0tXSA8b3JkZW4+XVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29sdW1uYXMgZGlzcG9uaWJsZXMgKHBhcmEgLS1vdXRwdXQpOlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJFc2NyaWJhIGAlcyAtLWhlbHAnIHBhcmEgb2J0ZW5lciBtw6FzIGluZm9ybWFjacOzbi5cbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxpY2EgbG8gcXVlIHNlIGVzdMOhIGhhY2llbmRvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmEgdXVpZCBkZSBmb3JtYSBhbGVhdG9yaWFcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICBnZW5lcmEgdXVpZCBiYXNhZG8gZW4gdGllbXBvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgdGVybWluYVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorI34gIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorI34gIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorI34gIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgYm9ycmEgdG9kYXMgbGFzIGNhZGVuYXMgbcOhZ2ljYXMgKMKhQ09OIENVSURBRE8hKVxuIgorI34gIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWEgY29waWEgZGUgc2VndXJpZGFkIGRlIGxhIGZpcm1hIGVuICRIT01FXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgZnVlcnphIGJvcnJhZG9cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBtdWVzdHJhIGVzdGUgdGV4dG8gZGUgYXl1ZGFcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICBoYWNlIHRvZG8gZXhjZXB0byBsYSBwcm9waWEgbGxhbWFkYSBhIHdyaXRlKClcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBkZXNwbGF6YW1pZW50byBwYXJhIGJvcnJhciwgZW4gYnl0ZXNcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICBpbXByaW1lIGVuIGZvcm1hdG8gaW50ZXJwcmV0YWJsZSBlbiBsdWdhciBkZSBpbXByaW1pYmxlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcmltZSBsb3MgbWVuc2FqZXMgZGUgc2FsaWRhXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0YT4gbGltaXRhIGVsIGNvbmp1bnRvIGRlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zLCBsb3MgUkFJRHMgbyBsYXMgdGFibGFzIGRlIHBhcnRpY2lvbmVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs24geSBzYWxlXG4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJMb3MgcmVnaXN0cm9zIGRlbCByZWxvaiBkZSBoYXJkd2FyZSBjb250aWVuZW4gdmFsb3JlcyBxdWUgbm8gc29uIHbDoWxpZG9zXG4iCisjfiAiKHBvciBlamVtcGxvLCBkw61hIDUwIGRlbCBtZXMpIG8gZXhjZWRlbiBlbCByYW5nbyBxdWUgcHVlZGUgdXRpbGl6YXJzZVxuIgorI34gIihwb3IgZWplbXBsbywgZWwgYcOxbyAyMDk1KS4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICJFbCByZWxvaiBkZSBoYXJkd2FyZSBubyBjb250aWVuZSB1bmEgaG9yYSB2w6FsaWRhLCBwb3IgbG8gcXVlIG5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgbGEgaG9yYSBkZWwgc2lzdGVtYSBhIHBhcnRpciBkZSBlc2UgdmFsb3IuIgorCisjfiBtc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKyN+IG1zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworI34gbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorI34gbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJEZWJlIHNlciBzdXBlcnVzdWFyaW8gcGFyYSBlc3RhYmxlY2VyIGVsIHJlbG9qIGRlbCBzaXN0ZW1hLiIKKworI34gbXNnaWQgIlx0VVRDOiAlc1xuIgorI34gbXNnc3RyICJcdFVUQzogJXNcbiIKKworI34gbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJObyBzZSBhanVzdGEgZWwgZmFjdG9yIGRlIGRlc2Zhc2UgZGViaWRvIGEgcXVlIGVsIHJlbG9qIGRlIGhhcmR3YXJlXG4iCisjfiAiY29udGVuw61hIGFudGVyaW9ybWVudGUgZGF0b3MgZXh0cmHDsW9zLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRlc3QgbW9kZTogJXMgd2FzIG5vdCB1cGRhdGVkIHdpdGg6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJNb2RvIGRlIHBydWViYXM6ICVzIG5vIHNlIGFjdHVhbGl6w7MgY29uOlxuIgorI34gIiVzIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiTm8gc2UgaGEgcG9kaWRvIGFicmlyIHBhcmEgZXNjcml0dXJhIGVsIGZpY2hlcm8gcXVlIGNvbnRpZW5lIGxvcyBwYXLDoW1ldHJvcyBkZSBhanVzdGUgZGVsIHJlbG9qICglcykiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCisjfiBtc2dzdHIgIk5vIHNlIGhhIHBvZGlkbyBhY3R1YWxpemFyIGVsIGZpY2hlcm8gcXVlIHRpZW5lIGxvcyBwYXLDoW1ldHJvcyBkZSBhanVzdGUgZGVsIHJlbG9qICglcykiCisKKyN+IG1zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorI34gbXNnc3RyICJQYXLDoW1ldHJvcyBkZSBhanVzdGUgZGVsIGRlc2Zhc2Ugbm8gYWN0dWFsaXphZG9zLiIKKworI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCisjfiBtc2dzdHIgIkVsIHJlbG9qIGRlIGhhcmR3YXJlIG5vIGNvbnRpZW5lIHVuYSBob3JhIHbDoWxpZGEsIHBvciBsbyBxdWUgbm8gc2UgcHVlZGUgYWp1c3Rhci4iCisKKyN+IG1zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiQSBsb3MgJWxkIHNlZ3VuZG9zIGRlc3B1w6lzIGRlIDE5NjksIGxhIHByZWRpY2Npw7NuIGRlIGxlY3R1cmEgcGFyYSBSVEMgZXMgZGUgJWxkIHNlZ3VuZG9zIGRlc3B1w6lzIGRlIDE5NjkuXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBvYnRlbmVyIGVsIHZhbG9yIGRlIMOpcG9jYSBkZWwgbsO6Y2xlby4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIkVsIG7DumNsZW8gcHJlc3Vwb25lIGVsIHZhbG9yIGRlIMOpcG9jYSAlbHVcbiIKKworI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIlBhcmEgZXN0YWJsZWNlciBlbCB2YWxvciBkZSDDqXBvY2EsIGRlYmUgdXRpbGl6YXIgbGEgb3BjacOzbiAnZXBvY2gnIHBhcmEgaW5kaWNhciBlbiBxdcOpIHZhbG9yIGRlYmUgZGVmaW5pcnNlLiIKKworI34gbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIk5vIHNlIGVzdMOhIGVzdGFibGVjaWVuZG8gZWwgdmFsb3IgZGUgw6lwb2NhIGVuICVsdTsgc8OzbG8gc2UgZXN0w6EgcHJvYmFuZG8uXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBlc3RhYmxlY2VyIGVsIHZhbG9yIGRlIMOpcG9jYSBlbiBlbCBuw7pjbGVvLlxuIgorCisjfiBtc2dpZCAiUXVlcnkgb3Igc2V0IHRoZSBoYXJkd2FyZSBjbG9jay5cbiIKKyN+IG1zZ3N0ciAiQ29uc3VsdGEgbyBjb25maWd1cmEgZWwgcmVsb2ogZsOtc2ljby5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIG11ZXN0cmEgZXN0ZSB0ZXh0byBkZSBheXVkYSB5IHRlcm1pbmFcbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgbGVlIGVsIHJlbG9qIGbDrXNpY28gZSBpbXByaW1lIGVsIHJlc3VsdGFkb1xuIgorI34gIiAgICAgLS1nZXQgICAgICAgICAgICBsZWUgZWwgcmVsb2ogZsOtc2ljbyBlIGltcHJpbWUgZWwgcmVzdWx0YWRvIGNvcnJpZ2llbmRvIGVsIGRlc2Zhc2VcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAgcG9uZSBlbCBSVEMgYSBsYSBob3JhIGVzcGVjaWZpY2FkYSBwb3IgLS1kYXRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICBwb25lIGxhIGhvcmEgZGVsIHNpc3RlbWEgaWd1YWwgcXVlIGxhIGRlbCByZWxvaiBmw61zaWNvXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIHBvbmUgZW4gZWwgcmVsb2ogZsOtc2ljbyBsYSBob3JhIGRlbCBzaXN0ZW1hXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHBvbmUgbGEgaG9yYSBkZWwgc2lzdGVtYSBlbiBmdW5jacOzbiBkZSBsYSB6b25hIGhvcmFyaWEgYWN0dWFsXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgICAgIGFqdXN0YSBlbCBSVEMgcGFyYSB0ZW5lciBlbiBjdWVudGEgbGEgZGVyaXZhIHNpc3RlbcOhdGljYSBkZXNkZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHF1ZSBzZSBwdXNvIG8gc2UgYWp1c3TDsyBlbCByZWxvaiBsYSDDumx0aW1hIHZlelxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIGltcHJpbWUgZWwgdmFsb3IgZGUgbGEgw6lwb2NhIGRlbCByZWxvaiBoYXJkd2FyZSBkZWwgbsO6Y2xlb1xuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBlc3RhYmxlY2UgY29tbyB2YWxvciBkZSBsYSDDqXBvY2EgZGVsIHJlbG9qIGhhcmR3YXJlIGRlbCBuw7pjbGVvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZWwgdmFsb3IgZXNwZWNpZmljYWRvIGNvbiAtLWVwb2NoXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWNlIGVsIFJUQyBsZXllbmRvIGxhIGhvcmEgZGFkYSBjb24gLS1kYXRlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIG11ZXN0cmEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIHZlcnNpw7NuIHkgdGVybWluYVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIG1hbnRpZW5lIGVsIHJlbG9qIGbDrXNpY28gZW4gVVRDXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIG1hbnRpZW5lIGVsIHJlbG9qIGbDrXNpY28gZW4gaG9yYSBsb2NhbFxuIgorCisjfiBtc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZiwgLS1ydGMgPGZpY2hlcm8+ICB1dGlsaXphIHVuIGZpY2hlcm8gL2Rldi8uLi4gZXNwZWNpYWwgZW4gbHVnYXIgZGVsIHByZWRldGVybWluYWRvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZWRlIGVsIGJ1cyBJU0EgZGlyZWN0YW1lbnRlIGVuIGx1Z2FyIGRlICVzXG4iCisjfiAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGVzcGVjaWZpY2EgbGEgaG9yYSBhIGxhIGN1YWwgcG9uZXIgZWwgcmVsb2ogZGUgaGFyZHdhcmVcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgYWN0dWFsaXphIGVsIGZhdnRvciBkZSBkZXNmYXNlIGVuICAlMSRzIChyZXF1aWVyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG8gLS1zeXN0b2hjKVxuIgorI34gIiAgICAgLS1ub2FkamZpbGUgICAgICBubyBhY2NlZGUgYSAlMSRzLCBsbyBjdWFsIHJlcXVpZXJlIHV0aWxpemFyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgLS11dGMgbyAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgLS1hZGpmaWxlIDxmaWNoZXJvPiBlc3BlY2lmaWNhIGxhIHJ1dGEgZGVsIGZpY2hlcm8gZGUgYWp1c3RlcztcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBwb3Igb21pc2nDs24sIGVzICUxJHNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgbm8gYWN0dWFsaXphIG5hZGE7IHNvbG8gbXVlc3RyYSBsbyBxdWUgdmEgYSBzdWNlZGVyXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIG1vZG8gZGUgZGVwdXJhY2nDs25cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCisjfiBtc2dzdHIgImFyZ3VtZW50byBkZSDDqXBvY2EgaW5jb3JyZWN0byIKKworI34gbXNnaWQgInJvb3QgcHJpdmlsZWdlcyBtYXkgYmUgcmVxdWlyZWQiCisjfiBtc2dzdHIgInB1ZWRlIHF1ZSBoYWdhbiBmYWx0YSBwcml2aWxlZ2lvcyBkZSByb290IgorCisjfiBtc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCisjfiBtc2dzdHIgIiVzIG5vIHRpZW5lIGZ1bmNpb25lcyBkZSBpbnRlcnJ1cGNpw7NuLiAiCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAiRXJyb3IgaW5lc3BlcmFkbyBkZSBpb2N0bCgpIGNvbiAlcyBhbCBhY3RpdmFyIGludGVycnVwY2lvbmVzIGRlIGFjdHVhbGl6YWNpw7NuIgorCisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBhcmEgbW9kaWZpY2FyIGVsIHZhbG9yIGRlIMOpcG9jYSBkZWwgbsO6Y2xlbywgc2UgZGViZSBhY2NlZGVyIGFsIGNvbnRyb2xhZG9yIGRlXG4iCisjfiAiZGlzcG9zaXRpdm8gJ3J0YycgZGUgTGludXggbWVkaWFudGUgZWwgZmljaGVybyBlc3BlY2lhbCBkZSBkaXNwb3NpdGl2by5cbiIKKyN+ICJFc3RlIGZpY2hlcm8gbm8gZXhpc3RlIGVuIGVzdGUgc2lzdGVtYS4iCisKKyN+IG1zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKyN+IG1zZ3N0ciAiU2UgaGEgbGXDrWRvIGVsIHZhbG9yIGRlIMOpcG9jYSAlbHUgZGUgJXMgY29uIGlvY3RsIFJUQ19FUE9DSF9SRUFELlxuIgorCisjfiBtc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKKyN+IG1zZ3N0ciAiRWwgdmFsb3IgZGUgw6lwb2NhIG5vIHB1ZWRlIHNlciBpbmZlcmlvciBhIDE5MDAuIEhhIHNvbGljaXRhZG8gJWxkIgorCisjfiBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnc3RyICJFc3RhYmxlY2llbmRvIMOpcG9jYSBlbiAlbHUgY29uIGlvY3RsIFJUQ19FUE9DSF9TRVQgZW4gJXMuXG4iCisKKyN+IG1zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorI34gbXNnc3RyICJFbCBjb250cm9sYWRvciBkZSBkaXNwb3NpdGl2byBkZWwgbsO6Y2xlbyBwYXJhICVzIG5vIHRpZW5lIGxhIGlvY3RsIFJUQ19FUE9DSF9TRVQuIgorCisjfiBtc2dpZCAiIgorI34gIiVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzXG4iCisjfiAiUHJ1ZWJlIGAlcyAtLWhlbHAnIHBhcmEgb2J0ZW5lciBtw6FzIGluZm9ybWFjacOzbi4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJQcnVlYmUgYCVzIC0taGVscCcgcGFyYSBvYnRlbmVyIG3DoXMgaW5mb3JtYWNpw7NuLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb2x1bW5hcyBkaXNwb25pYmxlcyAocGFyYSAtLXNob3cpOlxuIgorCisjfiBtc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCisjfiBtc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIGhhY2UgcXVlIGVsIGNvbnRyb2xhZG9yIGNvbmbDrWUgZW4gbGEgaXJxXG4iCisKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIHNhY2EgbGEgaW5mb3JtYWNpw7NuIGRlIHZlcnNpw7NuIHkgdGVybWluYVxuIgorCisjfiBtc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBtdWVzdHJhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKworI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisKKyN+IG1zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtViAgICAgICAgICBtdWVzdHJhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKworI34gbXNnaWQgIkRldmljZSAlcyBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKKyN+IG1zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gJXMgeWEgdGllbmUgdW5hIGZpcm1hICVzLiIKKworI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogZXN0YXMgb3BjaW9uZXMgc29uIG11dHVhbWVudGUgZXhjbHV5ZW50ZXM6IgorCisjfiBtc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW10YWIgICAgICAgICAgICAgYnVzY2EgZW4gbGEgdGFibGEgZGUgc2lzdGVtYXMgZGUgZmljaGVyb3MgbW9udGFkb3NcbiIKKworI34gbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorI34gbXNnc3RyICJTdXNwZW5kZSBlbCBhY2Nlc28gYSB1biBzaXN0ZW1hIGRlIGZpY2hlcm9zIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCisKKyN+IG1zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiRWwgcmVsb2ogbm8gc2UgaGEgbW9kaWZpY2Fkbzsgc8OzbG8gc2UgZXN0w6EgcHJvYmFuZG8uXG4iCisKKyN+IG1zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk5vIHNlIGhhIGVzcGVjaWZpY2FkbyBsYSBvcGNpw7NuIC0tZGF0ZS4iCisKKyN+IG1zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCisjfiBtc2dzdHIgImFyZ3VtZW50byAtLWRhdGUgZGVtYXNpYWRvIGxhcmdvIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorI34gIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbCB2YWxvciBkZSBsYSBvcGNpw7NuIC0tZGF0ZSBubyBlcyB1bmEgZmVjaGEgdsOhbGlkYS5cbiIKKyN+ICJFbiBjb25jcmV0bywgY29udGllbmUgY29taWxsYXMuIgorCisjfiBtc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCisjfiBtc2dzdHIgIkVqZWN1dGFuZG8gb3JkZW4gZGF0ZTogJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCisjfiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGVqZWN1dGFyIGVsIHByb2dyYW1hICdkYXRlJyBlbiBpbnTDqXJwcmV0ZSBkZSDDs3JkZW5lcyAvYmluL3NoLiBwb3BlbigpIGhhIGZhbGxhZG8iCisKKyN+IG1zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCisjfiBtc2dzdHIgInJlc3B1ZXN0YSBkZSBsYSBvcmRlbiBkYXRlID0gJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJMYSBvcmRlbiBkYXRlIGVqZWN1dGFkYSBwb3IgJXMgaGEgZGV2dWVsdG8gcmVzdWx0YWRvcyBpbmVzcGVyYWRvcy5cbiIKKyN+ICJMYSBvcmRlbiBmdWU6XG4iCisjfiAiICAlc1xuIgorI34gIkxhIHJlc3B1ZXN0YSBmdWU6XG4iCisjfiAiICAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiTGEgb3JkZW4gZGF0ZSBlbWl0aWRvIHBvciAlcyBoYSBkZXZ1ZWx0byB1biB2YWxvciBubyBlbnRlcm8gY3VhbmRvIHNlIGVzcGVyYWJhIGVsIHZhbG9yIGRlIGhvcmEgY29udmVydGlkYS5cbiIKKyN+ICJMYSBvcmRlbiBmdWU6XG4iCisjfiAiICAlc1xuIgorI34gIkxhIHJlc3B1ZXN0YSBmdWU6XG4iCisjfiAiICVzXG4iCisKKyN+IG1zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCisjfiBtc2dzdHIgIkxhIGNhZGVuYSBkZSBmZWNoYSAlcyBlcXVpdmFsZSBhICVsZCBzZWd1bmRvcyBkZXNkZSAxOTY5LlxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCisjfiBtc2dzdHIgIk5vIHNlIGVzdGFibGVjZSBlbCByZWxvaiBkZWwgc2lzdGVtYSB5YSBxdWUgbGEgZWplY3VjacOzbiBlcyBlbiBtb2RvIGRlIHBydWViYS5cbiIKKworI34gbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCisjfiBtc2dzdHIgIk5vIHNlIGVzdMOhIGFjdHVhbGl6YW5kbyBlbCBmaWNoZXJvIGFkanRpbWUgZGViaWRvIGFsIG1vZG8gZGUgcHJ1ZWJhLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorI34gIiVzIgorI34gbXNnc3RyICIiCisjfiAiU2UgaGFicsOtYSBlc2NyaXRvIGxvIHNpZ3VpZW50ZSBlbiAlczpcbiIKKyN+ICIlcyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorI34gIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyN+ICIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVsIG7DumNsZW8gdGllbmUgdW4gdmFsb3IgZGUgw6lwb2NhIHBhcmEgZWwgcmVsb2ogZGUgaGFyZHdhcmUgc8OzbG8gZW4gbGFzXG4iCisjfiAibcOhcXVpbmFzIEFscGhhLiBFc3RhIGNvcGlhIGRlIGh3Y2xvY2sgc2UgY29tcGlsw7MgcGFyYSB1bmEgbcOhcXVpbmEgcXVlIG5vIGVzXG4iCisjfiAiQWxwaGEgKHBvciBsbyBxdWUgcG9zaWJsZW1lbnRlIG5vIHNlIGVzdMOhIGVqZWN1dGFuZG8gZW4gdW5hIG3DoXF1aW5hIEFscGhhKS5cbiIKKyN+ICJObyBzZSBlZmVjdMO6YSBuaW5ndW5hIGFjY2nDs24uIgorCisjfiBtc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorI34gbXNnc3RyICIgLWMsIC0tY29tcGFyZSAgICAgICAgY29tcGFyYSBwZXJpw7NkaWNhbWVudGUgZWwgcmVsb2ogZGVsIHNpc3RlbWEgY29uIGVsIHJlbG9qIENNT1NcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyN+ICIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VkZSBhbCBidXMgSVNBIGRpcmVjdGFtZW50ZSBlbiBsdWdhciBkZSAlc1xuIgorI34gIiAgICAgLS1iYWR5ZWFyICAgICAgICBkZXNlc3RpbWEgZWwgYcOxbyBSVEMgcG9ycXVlIGxhIEJJT1MgZXN0w6Egcm90YVxuIgorI34gIiAgICAgLS1kYXRlIDxob3JhPiAgICBlc3BlY2lmaWNhIGxhIGhvcmEgcXVlIHNlIHBvbmRyw6EgZW4gZWwgcmVsb2ogZsOtc2ljb1xuIgorI34gIiAgICAgLS1lcG9jaCA8YcOxbz4gICAgZXNwZWNpZmljYSBlbCBhw7FvIHF1ZSBjb2luY2lkZSBjb24gZWwgY29taWVuem8gZGUgbGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICDDqXBvY2EgZGVsIHJlbG9qIGbDrXNpY29cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisjfiAiICAgICAgSW5kaWNhIGFsIHJlbG9qIGRlIGhhcmR3YXJlIGVsIHRpcG8gZGUgQWxwaGEgKHZlciBod2Nsb2NrKDgpKVxuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIsOabmljYW1lbnRlIGVsIHN1cGVydXN1YXJpbyBwdWVkZSB1dGlsaXphciBlbCByZWxvaiBkZSBoYXJkd2FyZS4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgbm8gYWRtaXRlIGFyZ3VtZW50b3MgcXVlIG5vIHNlYW4gb3BjaW9uZXMuIEhhIGVzcGVjaWZpY2FkbyAlZC5cbiIKKworI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICJIb3JhIG5vIHV0aWxpemFibGUuIE5vIHNlIHB1ZWRlIGVzdGFibGVjZXIgZWwgcmVsb2ouIgorCisjfiBtc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorI34gbXNnc3RyICJpbmljaWFkbyBkZXNkZSBNSUxPXG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICJSZWxvaiBCQ0QgUnVmZmlhblxuIgorCisjfiBtc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKKyN+IG1zZ3N0ciAicHVlcnRvIGRlIHJlbG9qIGFqdXN0YWRvIGEgMHgleFxuIgorCisjfiBtc2dpZCAiZnVua3kgVE9ZIVxuIgorI34gbXNnc3RyICJmdW5reSBUT1khXG4iCisKKyN+IG1zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorI34gbXNnc3RyICIlcyBhdMOzbWljbyBoYSBmYWxsYWRvIHBhcmEgMTAwMCBpdGVyYWNpb25lcy4iCisKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCk6IGhhIGZhbGxhZG8gbGEgZXNjcml0dXJhIGVuIGxhIGRpcmVjY2nDs24gZGUgY29udHJvbCAlWCIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCk6IGhhIGZhbGxhZG8gbGEgbGVjdHVyYSBlbiBsYSBkaXJlY2Npw7NuIGRlIGRhdG9zICVYIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3dyaXRlKCk6IGhhIGZhbGxhZG8gbGEgZXNjcml0dXJhIGVuIGxhIGRpcmVjY2nDs24gZGUgY29udHJvbCAlWCIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc193cml0ZSgpOiBoYSBmYWxsYWRvIGxhIGVzY3JpdHVyYSBlbiBsYSBkaXJlY2Npw7NuIGRlIGRhdG9zICVYIgorCisjfiBtc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorI34gbXNnc3RyICJObyBzZSBoYSBwb2RpZG8gb2J0ZW5lciBwZXJtaXNvIHBvcnF1ZSBubyBzZSBoYSBpbnRlbnRhZG8uIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCisjfiBtc2dzdHIgIm5vIHNlIHB1ZWRlIG9idGVuZXIgYWNjZXNvIGFsIHB1ZXJ0byBkZSBFL1M6IGxhIGxsYW1hZGEgaW9wbCgzKSBoYSBmYWxsYWRvLiIKKworI34gbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKKyN+IG1zZ3N0ciAiUHJvYmFibGVtZW50ZSBzb24gbmVjZXNhcmlvcyBsb3MgcHJpdmlsZWdpb3MgZGUgdXN1YXJpbyByb290LlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgIm5vIHNlIGhhIHBvZGlkbyBpbmljaWFsaXphciBsYSBsw61uZWEgZGUgc2FsaWRhIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJlcnJvcjogbm8gc2UgcHVlZGUgZXN0YWJsZWNlciBlbCBtYW5lamFkb3IgZGUgc2XDsWFsZXMiCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJlcnJvcjogbm8gc2UgcHVlZGUgcmVzdGFibGVjZXIgZWwgbWFuZWphZG9yIGRlIHNlw7FhbGVzIgorCisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAic8OzbG8gZWwgdXN1YXJpbyByb290IHB1ZWRlIG1vbnRhciAlcyBlbiAlcyIKKworI34gbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAiJXMgc2UgdXRpbGl6YSBzb2xvIHBhcmEgbGVjdHVyYTsgc2UgbW9udGEgY29tbyBkZSBzb2xvIGxlY3R1cmEiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBzZSBoYW4gZGV0ZWN0YWRvIG3DoXMgc2lzdGVtYXMgZGUgZmljaGVyb3MuIEVzdG8gbm8gZGViZXLDrWEgc3VjZWRlcjtcbiIKKyN+ICIgICAgICAgdXRpbGljZSAtdCA8dGlwbz4gcGFyYSBlc3BlY2lmaWNhciBleHBsw61jaXRhbWVudGUgZWwgdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlcm9zIG9cbiIKKyN+ICIgICAgICAgdXRpbGljZSB3aXBlZnMoOCkgcGFyYSBsaW1waWFyIGVsIGRpc3Bvc2l0aXZvLiIKKworI34gbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJObyBoZSBwb2RpZG8gZGV0ZXJtaW5hciBlbCB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVyb3MgeSBubyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ3VubyIKKworI34gbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAiZGViZSBlc3BlY2lmaWNhciBlbCB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVyb3MiCisKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgImZ1ZW50ZSBkZSBtb250YWplIG5vIGRlZmluaWRhIgorCisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IG1vbnRhamUgZXJyw7NuZW8iCisKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICIlczogZWwgc2lzdGVtYSBkZSBmaWNoZXJvcyBlc3TDoSBtb250YWRvLCBwZXJvIG1vdW50KDgpIGhhIGZhbGxhZG8iCisKKyN+IG1zZ2lkICIlcyBpcyBidXN5IgorI34gbXNnc3RyICIlcyBlc3TDoSBvY3VwYWRvIgorCisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgeWEgZXN0w6EgbW9udGFkbyBlbiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgRW4gYWxndW5vcyBjYXNvcyBzZSBlbmN1ZW50cmEgaW5mb3JtYWNpw7NuIGVuIHN5c2xvZyAtIHBydWViZVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgbyBhbGdvIHBhcmVjaWRvLlxuIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorI34gbXNnc3RyICJvcGNpw7NuICclYycgbm8gcmVjb25vY2lkYSIKKworI34gbXNnaWQgIiIKKyN+ICIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisjfiAiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IGVsIGRlc3Rpbm8gZXN0w6Egb2N1cGFkb1xuIgorI34gIiAgICAgICAgKEVuIGFsZ3Vub3MgY2Fzb3MgcHVlZGUgb2J0ZW5lcnNlIGluZm9ybWFjacOzbiDDunRpbCBzb2JyZSBsb3NcbiIKKyN+ICIgICAgICAgICBwcm9jZXNvcyBxdWUgdXRpbGl6YSBlbCBkaXNwb3NpdGl2byBtZWRpYW50ZSBsc29mKDgpIG8gZnVzZXIoMSkuKSIKKworI34gbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAiJXM6IG5vIHNlIGhhIGVuY29udHJhZG8gZWwgcHVudG8gZGUgbW9udGFqZSIKKworI34gbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKKyN+IG1zZ3N0ciAibGEgbMOtbmVhICVkIGVzIGRlbWFzaWFkbyBsYXJnYTsgc2UgdHJ1bmNhIGxhIHNhbGlkYSIKKworI34gbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorI34gbXNnc3RyICJlc2NyaXR1cmEgaW5jb21wbGV0YSBlbiBcIiVzXCIgKGVzY3JpdG9zICV6ZCwgc2UgZXNwZXJhYmFuICV6ZClcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IG5vIHNlIGhhIHBvZGlkbyBhw7FhZGlyIHZpc29yIGlub3RpZnkgKHNlIGhhIGFsY2FuemFkbyBlbCBsw61taXRlIGRlXG4iCisjfiAidmlzb3JlcyBkZSBpbm90aWZ5KS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiAlcyBbb3BjacOzbl0gPGZpY2hlcm8+XG4iCisKKyN+IG1zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorI34gbXNnc3RyICJTaWd1ZSBlbCBjcmVjaW1pZW50byBkZSB1biBmaWNoZXJvIGRlIMKrbG9nwrsuXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiIC1uLCAtLWxpbmVzIDxuw7ptZXJvPiAgIHNhY2EgbGFzIMO6bHRpbWFzIDxuw7ptZXJvPiBsw61uZWFzXG4iCisKKyN+IG1zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKKyN+IG1zZ3N0ciAiIC08bsO6bWVybz4gICAgICAgICAgICAgIGlndWFsIHF1ZSAnLW4gPG7Dum1lcm8+J1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorI34gbXNnc3RyICJBdGVuY2nDs246IGB0YWlsZicgZXN0w6EgZW4gZGVzdXNvOyB1dGlsw61jZXNlICd0YWlsIC1mJyBlbiBzdSBsdWdhci5cbiIKKworI34gbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJubyBzZSBoYSBlc3BlY2lmaWNhZG8gbmluZ8O6biBmaWNoZXJvIGRlIGVudHJhZGEiCisKKyN+IG1zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKKyN+IG1zZ3N0ciAiJXM6IG5vIGVzIHVuIGZpY2hlcm8iCisKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiRXRpcXVldGEgZGVsIHNpc3RlbWEgZGUgZmljaGVyb3M6IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJubyBzZSBoYSBwb2RpZG8gZXN0YWJsZWNlciBsYSBSVVRBIgorCisjfiBtc2dpZCAiJWQiCisjfiBtc2dzdHIgIiVkIgorCisjfiBtc2dpZCAidXNlIG9mICdraWxsIC0tcGlkJyBvcHRpb24gYXMgY29tbWFuZCBuYW1lIGlzIGRlcHJlY2F0ZWQiCisjfiBtc2dzdHIgImVsIHVzbyBkZSBsYSBvcGNpw7NuICdraWxsIC0tcGlkJyBjb21vIHVuIG5vbWJyZSBkZSBvcmRlbiBlc3TDoSBvYnNvbGV0byIKKworI34gbXNnaWQgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisjfiBtc2dzdHIgIiU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmQuJTA2bGQlKzAyZDolMDJkXG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgImhvcmEgZGUgZXhwaXJhY2nDs24gaW5jb3JyZWN0YTogJXMiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICJzZSBlc3BlcmFiYSB1biBuw7ptZXJvLCBwZXJvIHNlIG9idHV2byAnJXMnIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJkaXZpc29yICclcyciCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgImVycm9yIGVuIGVsIGFyZ3VtZW50bzogJXMiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAicnV0YSBkZWwgdGVybWluYWwgJXMgZGVtYXNpYWRvIGxhcmdhIgorCisjfiBtc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgc3BlY2lhbCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzIG5vIGVzIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMiCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiBlbCBkaXNwb3NpdGl2byBlc3TDoSBkZXNhbGluZWFkbyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJVbmlkYWQgQzogb2N1bHRhIGRlIE9TLzIiCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yIGRlIGFuw6FsaXNpcyBlbiBsYSBsw61uZWEgJWQiCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXM6IGZhbGxvIGFsIG9idGVuZXIgbGEgcnV0YSBkZWwgZGlzcG9zaXRpdm8iCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IG5vbWJyZSBkZSBkaXNwb3NpdGl2byBkZXNjb25vY2lkbyIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBmYWxsbyBhbCBvYnRlbmVyIGVsIG5vbWJyZSBkbSIKKworI34gbXNnaWQgInRoZSBzb3J0IGNvbHVtbiBoYXMgdG8gYmUgYW1vbmcgdGhlIG91dHB1dCBjb2x1bW5zIgorI34gbXNnc3RyICJsYSBjb2x1bW5hIHBhcmEgbGEgb3JkZW5hY2nDs24gdGllbmUgcXVlIHNlciB1bmEgZGUgbGFzIGNvbHVtbmFzIHF1ZSBzZSB2YW4gYSBtb3N0cmFyIGVuIGxhIHNhbGlkYSIKKworI34gbXNnaWQgIiIKKyN+ICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorI34gIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorI34gIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKKyN+ICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCisjfiAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxydXRhPiAgICAgICAgcnV0YSBhbCBmaWNoZXJvIGRlIHBpZFxuIgorI34gIiAtcywgLS1zb2NrZXQgPHJ1dGE+ICAgICBydXRhIGFsIMKrc29ja2V0wrtcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VnPiAgICAgZXNwZWNpZmljYSBlbCB0aWVtcG8gbcOheGltbyBkZSBpbmFjdGl2aWRhZFxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICBtYXRhIGVsIGRlbW9uaW8gZW4gZWplY3VjacOzblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICBwcnVlYmEgbGEgZ2VuZXJhY2nDs24gYWxlYXRvcmlhXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHBydWViYSBsYSBnZW5lcmFjacOzbiB0ZW1wb3JpemFkYVxuIgorI34gIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICBzb2xpY2l0YSBlbCBuw7ptZXJvIGRlIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIG5vIGNyZWEgZmljaGVybyBkZSBwaWRcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgbm8gY29udmllcnRlIGVuIGRlbW9uaW8gdXRpbGl6YW5kbyBkb2JsZSDCq2ZvcmvCu1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBubyBjcmVhIMKrc29ja2V0wrsgZGUgZXNjdWNoYVxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBjb3JyZSBlbiBtb2RvIGRlIGRlcHVyYWNpw7NuXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGNhbWJpYSBhIG1vZG8gc2lsZW5jaW9zb1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgc2FsZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAicG9sw610aWNhIGRlIHBsYW5pZmljYWNpw7NuIGRlc2Nvbm9jaWRhIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgZGVzcGxhemFtaWVudG8gZW4gYnl0ZXMgZGVzZGUgZWwgcXVlIGRlc2NhcnRhclxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxvbmdpdHVkIGVuIGJ5dGVzIHF1ZSBkZXNjYXJ0YXIgZGVzZGUgZWwgZGVzcGxhemFtaWVudG9cbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICB0YW1hw7FvIGRlIGxhcyBpdGVyYWNpb25lcyBkZSBkZXNjYXJ0ZSBkZW50cm8gZGVsIGRlc3BsYXphbWllbnRvXG4iCisjfiAiIC1zLCAtLXNlY3VyZSAgICAgICAgcmVhbGl6YXIgZGVzY2FydGUgc2VndXJvXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgaW1wcmltaXIgbG9uZ2l0dWQgeSBkZXNwbGF6YW1pZW50byBhbGluZWFkb3NcbiIKKworI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAwLCUwNmQgc2VndW5kb3NcbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICIlczogZXJyb3IgZGUgYW7DoWxpc2lzOiBzZSBkZXNlc3RpbWEgbGEgZW50cmFkYSBlbiBsYSBsw61uZWEgJWQuIgorCisjfiBtc2dpZCAicGFnZXMiCisjfiBtc2dzdHIgInDDoWdpbmFzIgorCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICJkaWZlcmVudGUiCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJpZ3VhbCIKKworI34gbXNnaWQgIkRldmljZSBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKKyN+IG1zZ3N0ciAiRWwgZGlzcG9zaXRpdm8gZXN0w6EgYWJpZXJ0byBlbiBtb2RvIGRlIHPDs2xvIGxlY3R1cmEuIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAgZXhwcmVzaXZvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIlNlIGVuY29udHLDsyB1biBub21icmUgZGUgZmljaGVybyBkZW1hc2lhZG8gbGFyZ28gKCV6dSBieXRlcykgYCVzJy5cbiIKKyN+ICIgUG9yIGZhdm9yLCBpbmNyZW1lbnRlIE1BWF9JTlBVVF9OQU1FTEVOIGVuIG1rY3JhbWZzLmMgeSByZWNvbXBpbGUuIFNhbGllbmRvLiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIk1vZG8gZGUgZW1wbGVvOiAlcyBbLWMgfCAtbCBub21icmVmaWNoZXJvXSBbLW5YWF0gWy1pWFhdIC9kZXYvbm9tYnJlIFtibG9xdWVzXSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlczogbm8gc2UgcHVlZGUgYXNpZ25hciB1biBiw7pmZXIgcGFyYSBlbCBzdXBlcmJsb3F1ZSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiJXM6IG5vIHNlIHB1ZWRlIGFzaWduYXIgYsO6ZmVyZXMgcGFyYSBtYXBhcyIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiBubyBzZSBwdWVkZSBhc2lnbmFyIGLDumZlciBwYXJhIGxvcyBub2Rvcy1pIgorCisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICIlczogdGFtYcOxbyBkZSBub2RvLWkgaW5jb3JyZWN0byIKKworI34gbXNnaWQgInR5cGU6ICVkIgorI34gbXNnc3RyICJ0aXBvOiAlZCIKKworI34gbXNnaWQgImRpc2s6ICUuKnMiCisjfiBtc2dzdHIgImRpc2NvOiAlLipzIgorCisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgImV0aXF1ZXRhOiAlLipzIgorCisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJpbmRpY2Fkb3JlczogJXMiCisKKyN+IG1zZ2lkICJieXRlcy9zZWN0b3I6ICVsZCIKKyN+IG1zZ3N0ciAiYnl0ZXMgcG9yIHNlY3RvcjogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWN0b3JlcyBwb3IgcGlzdGE6ICVsZCIKKworI34gbXNnaWQgInRyYWNrcy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJwaXN0YXMgcG9yIGNpbGluZHJvOiAlbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNlY3RvcmVzIHBvciBjaWxpbmRybzogJWxkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgImNpbGluZHJvczogJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAici5wLm0uOiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJpbnRlcmxlYXZlOiAlZCIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInRyYWNrc2tldzogJWQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJjeWxpbmRlcnNrZXc6ICVkIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJoZWFkc3dpdGNoOiAlbGQgKG1pbGlzZWd1bmRvcykiCisKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImLDunNxdWVkYSBwaXN0YSBhIHBpc3RhOiAlbGQgKG1pbGlzZWd1bmRvcykiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAicGFydGljaW9uZXM6ICVkIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiTm8gcHVlZGUgY29udmVydGlyIHVuYSBwYXJ0aWNpw7NuIGVuIGV4dGVuZGlkYSBuaSB2aWNldmVyc2EuIFByaW1lcm8gZGViZSBzdXByaW1pcmxhLiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZW9tZXRyw61hIGRlIGxhIGV0aXF1ZXRhOiAlZCBjYWJlemFzLCAlbGx1IHNlY3RvcmVzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY2lsaW5kcm9zLCAlZCBjaWxpbmRyb3MgZsOtc2ljb3NcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgc2VjdG9yZXMvY2lsLiBleHRyYSwgaW50ZXJjYWxhZG8gJWQ6MVxuIgorCisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBycG0sICVkIGFsdGVybmF0ZSBhbmQgJWQgcGh5c2ljYWwgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MSIKKyN+IG1zZ3N0ciAiIgorI34gIkdlb21ldHLDrWEgZGUgbGEgZXRpcXVldGE6ICVkIHJwbSwgJWQgY2lsaW5kcm9zIGFsdGVybmFkb3MgeSAlZCBmw61zaWNvcyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICVkIHNlY3RvcmVzL2NpbC4gYWRpY2lvbmFsZXMsIGVudHJlbGF6YWRvICVkOjEiCisKKyMgTWFzY3VsaW5vLCBwb3JxdWUgc2UgcmVmaWVyZSBhICJJbmRpY2Fkb3JlcyIKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIjxuaW5ndW5vPiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSBoYSBmYWxsYWRvIgorCisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgInN5c2luZm8gaGEgZmFsbGFkbyIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJtb2RvIGRlIGVtcGxlbzogbGFzdCBbLSNdIFstZiBmaWNoZXJvXSBbLXQgdHR5XSBbLWggbm9tYnJlaG9zdF0gW3VzdWFyaW8gLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW1hcCBoYSBmYWxsYWRvIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgdG9kYXbDrWEgdGllbmUgaW5pY2lhZGEgbGEgc2VzacOzbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgZW1waWV6YSAlcyIKKworI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0aG9zdG5hbWUgaGEgZmFsbGFkbyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiaW50ZXJydW1waWRvICUxMC4xMHMgJTUuNXMgXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBpZCBkZWwgcHJvY2Vzb1xuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIGRlZmluZSBsYXMgY29sdW1uYXMgcXVlIHNlIG1vc3RyYXLDoW4gZW4gbGEgc2FsaWRhXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbm8gaW1wcmltZSBsb3MgZW5jYWJlemFkb3NcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1dGlsaXphIGVsIGZvcm1hdCBkZSBzYWxpZGEgZW4gYnJ1dG9cbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBubyB0cnVuY2EgZWwgdGV4dG8gZW4gbGFzIGNvbHVtbmFzXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgc2FsZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHNhY2EgbGEgaW5mb3JtYWNpw7NuIGRlIHZlcnNpw7NuIHkgc2FsZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvbMOtdGljYXMgZGUgcGxhbmlmaWNhY2nDs246XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBlc3RhYmxlY2UgbGEgcG9sw610aWNhIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIGVzdGFibGVjZSBsYSBwb2zDrXRpY2EgU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgZXN0YWJsZWNlIGxhIHBvbMOtdGljYSBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgZXN0YWJsZWNlIGxhIHBvbMOtdGljYSBTQ0hFRF9SUiAocHJlZGV0ZXJtaW5hZGEpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcGNpb25lczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIGFjdMO6YSBzb2JyZSB0b2RhcyBsYXMgdGFyZWFzIChoaWxvcykgZGUgdW4gZGV0ZXJtaW5hZG8gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGFcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIG11ZXN0cmEgbGFzIHByaW9yaWRhZGVzIHbDoWxpZGFzIG3DrW5pbWEgeSBtw6F4aW1hXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBhY3TDumEgc29icmUgdW4gZGV0ZXJtaW5hZG8gcGlkIGV4aXN0ZW50ZVxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgbXVlc3RyYSBpbmZvcm1hY2nDs24gc29icmUgZWwgZXN0YWRvXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICBzYWNhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLW1hbnVhbGVqZWN0Ly1pIG9wdGlvbiIKKyN+IG1zZ3N0ciAiYXJndW1lbnRvIG5vIHbDoWxpZG8gcGFyYSBsYSBvcGNpw7NuIC0tbWFudWFsZWplY3QvLWkiCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIsOabmljYW1lbnRlIGVsIHN1cGVydXN1YXJpbyBwdWVkZSBjYW1iaWFyIGVsIHJlbG9qIGRlbCBzaXN0ZW1hLiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIlPDs2xvIGVsIHN1cGVydXN1YXJpbyBwdWVkZSBjYW1iaWFyIGVsIHZhbG9yIGRlIMOpcG9jYSBkZWwgcmVsb2ogZGUgaGFyZHdhcmUgZGVsIG7DumNsZW8uIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICJFcnJvciBkZSByZWFkKCkgZGUgJXMgYWwgZXNwZXJhciBzZcOxYWwgZGUgcmVsb2oiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbGlzdHMgYWxsIG1vdW50cyB3aXRoIExBQkVMc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBtdWVzdHJhIGVzdGUgdGV4dG8gZGUgYXl1ZGEgeSB0ZXJtaW5hXG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG5vIGxsYW1hIGEgbG9zIGF1eGlsaWFyZXMgbW91bnQuPHRpcG8+XG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGVudW1lcmEgdG9kb3MgbG9zIG1vbnRhamVzIGNvbiBFVElRVUVUQXNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgbm8gZXNjcmliZSBlbiAvZXRjL210YWJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBjdWVudGEgbG8gcXVlIHNlIGVzdMOhIGhhY2llbmRvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIG11ZXN0cmEgbGEgaW5mb3JtYWNpw7NuIGRlIHZlcnNpw7NuIHkgdGVybWluYVxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb250YSBlbCBzaXN0ZW1hIGRlIGZpY2hlcm9zIHBhcmEgbGVjdHVyYSB5IGVzY3JpdHVyYSAob3BjacOzbiBwcmVkZWZpbmlkYSlcbiIKKworI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJmYWxsbyBhbCBwb25lciBsYSBhbGFybWEgcnRjIgorCisjfiBtc2dpZCAiZW5hYmxlIHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImZhbGxvIGFsIGFjdGl2YXIgbGEgYWxhcm1hIHJ0YyIKKworI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJzdXNwZW5zacOzbiBhIFwiJXNcIiBubyBkaXNwb25pYmxlIgorCisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIGRlamFyIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgbW9udGFqZXNcbiIKKworI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICBkZWphciBkZSBjb21wYXJ0aXIgZWwgZXNwYWNpbyBkZSBub21icmVzIFVUUyAobm9tYnJlIGRlIG3DoXF1aW5hLCBldGMuKVxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIGRlamFyIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgSVBDIFN5c3RlbSBWXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIGRlamFyIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgcmVkXG4iCisKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIGRlamFyIGRlIGNvbXBhcnRpciBlbCBlc3BhY2lvIGRlIG5vbWJyZXMgZGUgdXN1YXJpb1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJubyBzZSBwdWVkZSBhYnJpciAlczogJW0iCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIGhhIGZhbGxhZG8iCisKKyN+IG1zZ2lkICJNaW5pbWFsIHNpemUgaXMgJWp1IgorI34gbXNnc3RyICJFbCB0YW1hw7FvIG3DrW5pbW8gZXMgJWp1IgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiUGFudGFsbGEgZGUgYXl1ZGEgcGFyYSBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiZGUgZGlzY28gZHVyby4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisKKyN+IG1zZ2lkICJCYXNlZCBvbiB0aGUgb3JpZ2luYWwgY2ZkaXNrIGZyb20gS2V2aW4gRS4gTWFydGluICYgYWViLiIKKyN+IG1zZ3N0ciAiQmFzYWRvIGVuIGVsIGNmZGlzayBvcmlnaW5hbCBkZSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBgbm8nIgorCisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkVsIHRhbWHDsW8gZXNwZWNpZmljYWRvIHBhcmEgbGEgcGFydGljacOzbiBlcyBkZW1hc2lhZG8gcGVxdWXDsW8uIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIkVsIGRpc3Bvc2l0aXZvIGVzdMOhIGFiaWVydG8gZW4gbW9kbyBkZSBzw7NsbyBsZWN0dXJhIgorCisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgImZhbGxvIGRlICdzdGF0JzogJXMpIgorCisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImZhbGxvIGFsIHJlc2VydmFyIGl0ZXJhZG9yIgorCisjfiBtc2dpZCAiIgorI34gIiAgIDxzdGFydD4gIGJlZ2luIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycy4gVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0XG4iCisjfiAiICAgICAgICAgICAgZnJlZSBzcGFjZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgIDxjb21pZW56bz4gY29taWVuem8gZGUgbGEgcGFydGljacOzbiBlbiBzZWN0b3Jlcy4gTG8gcHJlZGV0ZXJtaW5hZG8gZXMgZWxcbiIKKyN+ICIgICAgICAgICAgICBwcmltZXIgZXNwYWNpbyBsaWJyZS5cbiIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGZhbGxvIGFsIG9idGVuZXIgZWwgZXN0YWRvIgorCisjfiBtc2dpZCAiICAgICAtLXJmYzU0MjRbPTxub3RpbWUsbm90cSxub2hvc3Q+XVxuIgorI34gbXNnc3RyICIgICAgIC0tcmZjNTQyNFs9PG5vdGltZSxub3RxLG5vaG9zdD5dXG4iCisKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogbHN0YXQgaGEgZmFsbGFkbyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTZXRzIG9yIGdldHMgdGhlIElPIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIHByb2Nlc3Nlcy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVzdGFibGVjZSB1IG9idGllbmUgbGEgY2xhc2UgZGUgcGxhbmlmaWNhY2nDs24gRS9TIHkgbGEgcHJpb3JpZGFkIGRlIGxvcyBwcm9jZXNvcy5cbiIKKworI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIlBvciBmYXZvciwgc2VsZWNjaW9uZSB1biB0aXBvIHBhcmEgY3JlYXIgdW5hIG51ZXZhIGV0aXF1ZXRhIGRlIGRpc2NvLiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIk1vZG8gZGUgZW1wbGVvOiAlcyBbb3BjaW9uZXNdIGRpc3Bvc2l0aXZvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wY2lvbmVzOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIGRlc2FjdGl2YXIgbGEgdmVyaWZpY2FjacOzbiBkZXNwdcOpcyBkZWwgZm9ybWF0b1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG1vc3RyYXIgbGEgaW5mb3JtYWNpw7NuIGRlIHZlcnNpw7NuIHkgc2FsaXJcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBtb3N0cmFyIGVzdGEgYXl1ZGEgeSBzYWxpclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtw6FzIGluZm9ybWFjacOzbiB2w6lhc2UgbWtmcyg4KS5cbiIKKworI34gbXNnaWQgIiVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXMgKCVzKVxuIgorCisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJUYW1hw7FvIGRlIGNhYmVjZXJhIGRlIGludGVyY2FtYmlvIGluY29ycmVjdG87IG5vIHNlIGhhIGVzY3JpdG8gZXRpcXVldGEuIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgYsO6c3F1ZWRhIGVuICVzOyBubyBzZSBwdWVkZSBidXNjYXIgZW4gJWx1IgorCisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJFcnJvciBkZSBiw7pzcXVlZGE6IHNlIGVzcGVyYWJhIDB4JTA4eCUwOHgsIHNlIGhhIG9idGVuaWRvIDB4JTA4eCUwOHgiCisKKyN+IG1zZ2lkICJyZWFkIGVycm9yIG9uICVzIC0gY2Fubm90IHJlYWQgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIkVycm9yIGRlIGxlY3R1cmEgZW4gJXM7IG5vIHNlIHB1ZWRlIGxlZXIgZWwgc2VjdG9yICVsbHUiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgZXNjcml0dXJhIGVuICVzOyBubyBzZSBwdWVkZSBlc2NyaWJpciBlbCBzZWN0b3IgJWxsdSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGFicmlyIGVsIGZpY2hlcm8gZGUgZ3VhcmRhciBzZWN0b3IgZGUgcGFydGljacOzbiAoJXMpIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIkVycm9yIGRlIGVzY3JpdHVyYSBlbiAlcyIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgZWplY3V0YXIgc3RhdCBwYXJhIGZpY2hlcm8gZGUgcmVzdGF1cmFyIHBhcnRpY2nDs24gKCVzKSIKKworI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJUYW1hw7FvIGluY29ycmVjdG8gZGUgZmljaGVybyBkZSByZXN0YXVyYXIgcGFydGljacOzbjsgbm8gc2UgZWZlY3TDumEgcmVzdGF1cmFjacOzbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgYWJyaXIgZmljaGVybyBkZSByZXN0YXVyYXIgcGFydGljacOzbiAoJXMpIgorCisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAiRXJyb3IgYWwgbGVlciAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgYWJyaXIgZWwgZGlzcG9zaXRpdm8gJXMgcGFyYSBlc2NyaWJpciIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAiRXJyb3IgYWwgZXNjcmliaXIgZWwgc2VjdG9yICVsdSBlbiAlcyIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkRpc2NvICVzOiBubyBzZSBwdWVkZSBvYnRlbmVyIGxhIGdlb21ldHLDrWEiCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIkRpc2NvICVzOiBubyBzZSBwdWVkZSBvYnRlbmVyIGVsIHRhbWHDsW8iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IHByaW5jaXBpbz0lbHUgLSBwYXJlY2Ugc2VyIHVuYSBwYXJ0aWNpw7NuIHkgbm8gdW5cbiIKKyN+ICJkaXNjbyBlbnRlcm8uIFVzYXIgZmRpc2sgY29uIGVsbGEgcHJvYmFibGVtZW50ZSBubyB0aWVuZSBzZW50aWRvLlxuIgorI34gIltVc2UgbGEgb3BjacOzbiAtLWZvcmNlIHNpIHJlYWxtZW50ZSBkZXNlYSByZWFsaXphciBlc3RhIG9wZXJhY2nDs24uXSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJBdGVuY2nDs246IEhESU9fR0VUR0VPIGluZGljYSBxdWUgaGF5ICVsdSBjYWJlemFzIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBIRElPX0dFVEdFTyBpbmRpY2EgcXVlIGhheSAlbHUgc2VjdG9yZXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBIRElPX0dFVEdFTyBpbmRpY2EgcXVlIGhheSAlbHUgY2lsaW5kcm9zIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAiQXRlbmNpw7NuOiBuw7ptZXJvIGltcHJvYmFibGUgZGUgc2VjdG9yZXMgKCVsdSk7IG5vcm1hbG1lbnRlIDYzIGNvbW8gbcOheGltb1xuIgorI34gIkVzdG8gY2F1c2Fyw6EgcHJvYmxlbWFzIGNvbiBlbCBzb2Z0d2FyZSBxdWUgZGlyZWNjaW9uZSBjb24gQ2lsLi9DYWIuL1NlY3RvciIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlczogJWx1IGNpbGluZHJvcywgJWx1IGNhYmV6YXMsICVsdSBzZWN0b3Jlcy9waXN0YVxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiIKKyN+ICIlcyBkZSBwYXJ0aWNpw7NuICVzIHRpZW5lIHVuIHZhbG9yIGltcG9zaWJsZSBwYXJhIGNhYmV6YTogJWx1XG4iCisjfiAiKGRlYmUgZXN0YXIgZW50cmUgMCB5ICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIiCisjfiAiJXMgZGUgcGFydGljacOzbiAlcyB0aWVuZSB1biB2YWxvciBpbXBvc2libGUgcGFyYSBzZWN0b3I6ICVsdVxuIgorI34gIihkZWJlIGVzdGFyIGVudHJlIDEgeSAlbHUpIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzIGRlIHBhcnRpY2nDs24gJXMgdGllbmUgdW4gdmFsb3IgaW1wb3NpYmxlIHBhcmEgY2lsaW5kcm9zOiAlbHVcbiIKKyN+ICIoZGViZSBlc3RhciBlbnRyZSAwIHkgJWx1KSIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiVm9sdmllbmRvIGEgbGVlciBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcy4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJMYSBvcmRlbiBwYXJhIHZvbHZlciBhIGxlZXIgbGEgdGFibGEgZGUgcGFydGljaW9uZXMgaGEgZmFsbGFkby5cbiIKKyN+ICJFamVjdXRlIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG8gcmVpbmljaWUgZWwgc2lzdGVtYSBhaG9yYSxcbiIKKyN+ICJhbnRlcyBkZSB1dGlsaXphciBta2ZzIgorCisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiRXJyb3IgYWwgY2VycmFyICVzIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBlc3RhIHBhcnRpY2nDs24gbm8gZXhpc3RlXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiRm9ybWF0byBubyByZWNvbm9jaWRvOyB1dGlsaXphbmRvIHNlY3RvcmVzIgorCisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAiZm9ybWF0byBubyBpbXBsZW1lbnRhZG87IHV0aWxpemFuZG8gJXMiCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWN0b3JlcyIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaWRhZGVzOiBjaWxpbmRyb3MgZGUgJWx1IGJ5dGVzLCBibG9xdWVzIGRlIDEwMjQgYnl0ZXMsIGNvbnRhbmRvIGRlc2RlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcC4gIEluaWMuIFByaW5jLiAgIEZpbiAgIE7CumNpbCAgICBOwrpibG9xLiAgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbmlkYWRlczogc2VjdG9yZXMgZGUgNTEyIGJ5dGVzLCBjb250YW5kbyBkZXNkZSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcC4gIEluaWNpbyAgUHJpbmNpcGlvICAgRmluICAgTsK6IHNlY3QuICBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pZGFkZXM6IGJsb3F1ZXMgZGUgMTAyNCBieXRlcywgY29udGFuZG8gZGVzZGUgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIERpc3AuICBJbmljLiAgUHJpbmNpcGlvICAgRmluICAgIE7CumJsb3F1ZXMgSWQgIFNpc3RlbWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaWRhZGVzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9xdWVzIGRlIDEwMjQgYnl0ZXMsIGNvbnRhbmRvIGRlc2RlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcC4gIEluaWMgUHJpbmMuICBGaW4gICAgTWlCICAgIE7CumJsb3F1ZXMgSWQgIFNpc3RlbWFcbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdHByaW5jaXBpbzogKGNpbC4sY2FiLixzZWN0LikgZXNwZXJhZG8gKCVsZCwlbGQsJWxkKSBkZXRlY3RhZG8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGZpbjogKGNpbC4sY2FiLixzZWN0LikgZXNwZXJhZG8gKCVsZCwlbGQsJWxkKSBkZXRlY3RhZG8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICJMYSBwYXJ0aWNpw7NuIHRlcm1pbmEgZW4gZWwgY2lsaW5kcm8gJWxkLCBtw6FzIGFsbMOhIGRlbCBmaW5hbCBkZWwgZGlzY29cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IExhIHRhYmxhIGRlIHBhcnRpY2lvbmVzIHBhcmVjZSBoYWJlcnNlIGNyZWFkb1xuIgorI34gIiAgcGFyYSBDaWwuL0NhYi4vU2VjdC49Ki8lbGQvJWxkIChlbiBsdWdhciBkZSAlbGQvJWxkLyVsZCkuXG4iCisjfiAiUGFyYSBlc3RlIGxpc3RhZG8gc2UgcHJlc3Vwb25kcsOhIGVzdGEgZ2VvbWV0csOtYS4iCisKKyN+IG1zZ2lkICJubyBwYXJ0aXRpb24gdGFibGUgcHJlc2VudCIKKyN+IG1zZ3N0ciAibm8gZXhpc3RlIG5pbmd1bmEgdGFibGEgZGUgcGFydGljaW9uZXMiCisKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbiBkZWZpbmVkIgorI34gbXNnaWRfcGx1cmFsICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0clswXSAiRXh0cmHDsWFtZW50ZSBzw7NsbyBoYXkgJWQgcGFydGljacOzbiBkZWZpbmlkYSIKKyN+IG1zZ3N0clsxXSAiRXh0cmHDsWFtZW50ZSBzw7NsbyBoYXkgJWQgcGFydGljaW9uZXMgZGVmaW5pZGFzIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogbGEgcGFydGljacOzbiAlcyB0aWVuZSB0YW1hw7FvIDAgcGVybyBubyBlc3TDoSBtYXJjYWRhIGNvbW8gdmFjw61hIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICJBdGVuY2nDs246IGxhIHBhcnRpY2nDs24gJXMgdGllbmUgdGFtYcOxbyAwIHkgZXMgaW5pY2lhYmxlIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogbGEgcGFydGljacOzbiAlcyB0aWVuZSB0YW1hw7FvIDAgeSBwcmluY2lwaW8gZGlzdGludG8gZGUgY2VybyIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBpcyBub3QgY29udGFpbmVkIGluIHBhcnRpdGlvbiAlcyIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuICVzIG5vIGVzdMOhIGNvbnRlbmlkYSBlbiBsYSBwYXJ0aWNpw7NuICVzIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBsYXMgcGFydGljaW9uZXMgJXMgeSAlcyBzZSBzb2xhcGFuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuICVzIGNvbnRpZW5lIHBhcnRlIGRlIGxhIHRhYmxhIGRlIHBhcnRpY2lvbmVzXG4iCisjfiAiKHNlY3RvciAlbGx1KSwgeSBsYSBkZXN0cnVpcsOhIGN1YW5kbyBzZSBsbGVuZSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkF0ZW5jacOzbjogbGEgcGFydGljacOzbiAlcyBlbXBpZXphIGVuIGVsIHNlY3RvciAwIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuICVzIGZpbmFsaXphIG3DoXMgYWxsw6EgZGVsIGZpbmFsIGRlbCBkaXNjbyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gIndoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSAlbGx1IGJ5dGVzIGxpbWl0IGltcG9zZWRcbiIKKyN+ICJieSB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3IgJWQtYnl0ZSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuICVzIHRpZW5lIHVuIHRhbWHDsW8gZGUgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gImVsIGN1YWwgZXMgbWF5b3IgcXVlIGVsIGzDrW1pdGUgZGUgJWxsdSBieXRlcyBpbXB1ZXN0b1xuIgorI34gInBvciBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBET1MgcGFyYSBzZWN0b3JlcyBkZSAlZCBieXRlcyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAlbGx1ICglZC4lZCBUQiBmb3IgJWQtYnl0ZSBzZWN0b3JzKSxcbiIKKyN+ICJ3aGljaCBleGNlZWRzIHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGxpbWl0IG9mICVsbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIkF0ZW5jacOzbjogbGEgcGFydGljacOzbiAlcyBjb21pZW56YSBlbiBlbCBzZWN0b3IgJWxsdSAoJWQsJWQgVEIgcGFyYSBzZWN0b3JlcyBkZSAlZCBieXRlcyksXG4iCisjfiAibG8gY3VhbCBleGNlZGUgZWwgbMOtbWl0ZSBkZSAlbGx1IHNlY3RvcmVzIGRlIGxhcyB0YWJsYXMgZGUgcGFydGljaW9uZXMgRE9TIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIkNvbW8gbcOheGltbyB1bmEgZGUgbGFzIHBhcnRpY2lvbmVzIHByaW1hcmlhcyBwdWVkZSBzZXIgZXh0ZW5kaWRhXG4iCisjfiAiIChhdW5xdWUgZXN0byBubyBlcyB1biBwcm9ibGVtYSBiYWpvIExpbnV4KSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJBdGVuY2nDs246IGxhIHBhcnRpY2nDs24gJXMgbm8gZW1waWV6YSBlbiB1biBsw61taXRlIGRlIGNpbGluZHJvIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJBdGVuY2nDs246IGxhIHBhcnRpY2nDs24gJXMgbm8gdGVybWluYSBlbiB1biBsw61taXRlIGRlIGNpbGluZHJvIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdGVuY2nDs246IGhheSBtw6FzIGRlIHVuYSBwYXJ0aWNpw7NuIHByaW1hcmlhIG1hcmNhZGEgY29tbyBpbmljaWFibGUgKGFjdGl2YSlcbiIKKyN+ICJFc3RvIG5vIGVzIHBvYmxlbWEgcGFyYSBMSUxPLCBwZXJvIGVsIE1CUiBkZSBET1Mgbm8gc2UgaW5pY2lhcsOhIGNvbiBlc3RlIGRpc2NvLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAiQXRlbmNpw7NuOiBub3JtYWxtZW50ZSBzw7NsbyBlcyBwb3NpYmxlIGluaWNpYXIgZGVzZGUgcGFydGljaW9uZXMgcHJpbWFyaWFzLlxuIgorI34gIkxJTE8gbm8gdGllbmUgZW4gY3VlbnRhIGVsIGluZGljYWRvciBkZSBpbmljaWFibGUuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiQXRlbmNpw7NuOiBubyBoYXkgbmluZ3VuYSBwYXJ0aWNpw7NuIHByaW1hcmlhIG1hcmNhZGEgY29tbyBpbmljaWFibGUgKGFjdGl2YSkuXG4iCisjfiAiRXN0byBubyBlcyBwcm9ibGVtYSBwYXJhIExJTE8sIHBlcm8gZWwgTUJSIGRlIERPUyBubyBpbmljaWFyw6EgY29uIGVzdGUgZGlzY28uIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImNvbWllbnpvIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIlBhcnRpY2nDs24gJXM6IHByaW5jaXBpbzogKGNpbC4sY2FiLixzZWN0LikgZXNwZXJhZG8gKCVsZCwlbGQsJWxkKSBkZXRlY3RhZG8gKCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAiZmluYWwiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIlBhcnRpY2nDs24gJXM6IGZpbjogKGNpbC4sY2FiLixzZWN0LikgZXNwZXJhZG8gKCVsZCwlbGQsJWxkKSBkZXRlY3RhZG8gKCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDs24gJXMgdGVybWluYSBlbiBlbCBjaWxpbmRybyAlbGQsIG3DoXMgYWxsw6EgZGVsIGZpbmFsIGRlbCBkaXNjbyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAiQXRlbmNpw7NuOiBzZSBkZXNwbGF6YSBlbCBjb21pZW56byBkZSBsYSBwYXJ0aWNpw7NuIGV4dGQgZGUgJWxsZCBhICVsbGRcbiIKKyN+ICIoU29sYW1lbnRlIHBhcmEgdmlzdWFsaXphcmxvLiBObyBzZSBjYW1iaWEgc3UgY29udGVuaWRvLikiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiQXRlbmNpw7NuOiBsYSBwYXJ0aWNpw7NuIGV4dGVuZGlkYSBubyBlbXBpZXphIGVuIHVuIGzDrW1pdGUgZGUgY2lsaW5kcm8uXG4iCisjfiAiRE9TIHkgTGludXggaW50ZXJwcmV0YXLDoW4gZWwgY29udGVuaWRvIGRlIGZvcm1hIGRpZmVyZW50ZS4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIkVSUk9SOiBlbCBzZWN0b3IgJWxsdSBubyB0aWVuZSB1bmEgZmlybWEgbXNkb3MiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAiZGVtYXNpYWRhcyBwYXJ0aWNpb25lcyAtIHNlIGlnbm9yYW4gbGFzIHBvc3RlcmlvcmVzIGFsIG7CuiAoJXp1KSIKKworI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIsK/w6FyYm9sIGRlIHBhcnRpY2lvbmVzPyIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAiQWRtaW5pc3RyYWRvciBkZSBkaXNjbyBkZXRlY3RhZG87IG5vIHNlIHB1ZWRlIHRyYXRhciBlc3RvIgorCisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAiRGV0ZWN0YWRhIGZpcm1hIERNNiAtIGFiYW5kb25hbmRvIgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgIlNpdHVhY2nDs24gYW7Ds21hbGE6IMK/cGFydGljacOzbiBleHRlbmRpZGEgZGUgdGFtYcOxbyAwPyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJTaXR1YWNpw7NuIGFuw7NtYWxhOiDCv3BhcnRpY2nDs24gQlNEIGRlIHRhbWHDsW8gMD8iCisKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJTZSBoYSBlc3BlY2lmaWNhZG8gZWwgaW5kaWNhZG9yIC1uOiBubyBzZSBoYSBwcm9kdWNpZG8gbmluZ8O6biBjYW1iaW8iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIkVycm9yIGFsIGd1YXJkYXIgbG9zIHNlY3RvcmVzIGFudGlndW9zOyBhbnVsYW5kbyBsYSBvcGVyYWNpw7NuXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgd3JpdGluZyB0aGUgcGFydGl0aW9uIG9uICVzIgorI34gbXNnc3RyICJFcnJvciBhbCBlc2NyaWJpciBsYSBwYXJ0aWNpw7NuIGVuICVzIgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAiTMOtbmVhIGRlIGVudHJhZGEgbGFyZ2EgbyBpbmNvbXBsZXRhOyBzZSBhYmFuZG9uYSBsYSBvcGVyYWNpw7NuIgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgZW50cmFkYTogc2UgZXNwZXJhYmEgYD0nIGRlc3B1w6lzIGRlbCBjYW1wbyAlcyIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgZW50cmFkYTogY2Fyw6FjdGVyIGluZXNwZXJhZG8gJWMgdHJhcyBjYW1wbyAlcyIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgIkVudHJhZGEgbm8gcmVjb25vY2lkYTogJXMiCisKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAiTsO6bWVybyBkZW1hc2lhZG8gZWxldmFkbyIKKworI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyIgorI34gbXNnc3RyICJEYXRvcyBleHRyYcOxb3MgdHJhcyBlbCBuw7ptZXJvIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIk5vIGhheSBlc3BhY2lvIHBhcmEgZGVzY3JpcHRvciBkZSBwYXJ0aWNpw7NuIgorCisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgY3JlYXIgcGFydGljacOzbiBleHRlbmRpZGEgYWR5YWNlbnRlIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJEZW1hc2lhZG9zIGNhbXBvcyBkZSBlbnRyYWRhIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiTm8gcXVlZGEgbcOhcyBlc3BhY2lvIgorCisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJUaXBvIG5vIHBlcm1pdGlkbyIKKworI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBlbCB0YW1hw7FvIGRhZG8gKCVsbHUpIHN1cGVyYSBlbCB0YW1hw7FvIG3DoXhpbW8gcGVybWl0aWRvICglbGx1KSIKKworI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQXRlbmNpw7NuOiBwYXJ0aWNpw7NuIHZhY8OtYSIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJBdGVuY2nDs246IHByaW5jaXBpbyBkZSBwYXJ0aWNpw7NuIGluY29ycmVjdG8gKGFudGVzICVsbHUpIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJJbmRpY2Fkb3IgZGUgaW5pY2lhYmxlIG5vIHJlY29ub2NpZG87IGVsaWphIC0gbyAqIgorCisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAiwr9Fc3BlY2lmaWNhY2nDs24gcGFyY2lhbCBkZSBjaWwsY2FiLHNlY3Q/IgorCisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJFbnRyYWRhIGluY29ycmVjdGEiCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbnRyYWRhIGNvbiBlbCBmb3JtYXRvIHNpZ3VpZW50ZTsgbG9zIGNhbXBvcyBhdXNlbnRlcyB1dGlsaXphbiBlbCB2YWxvciBwcmVkZXRlcm1pbmFkby5cbiIKKyN+ICI8cHJpbmNpcGlvPiA8dGFtYcOxbz4gPHRpcG8gW0UsUyxMLFgsaGV4XT4gPGluaWNpYWJsZSBbLSwqXT4gPGNpbCxjYWIsc2VjPiA8Y2lsLGNhYixzZWM+XG4iCisjfiAiTm9ybWFsbWVudGUgc8OzbG8gZGViZSBlc3BlY2lmaWNhciA8cHJpbmNpcGlvPiB5IDx0YW1hw7FvPiAoeSBxdWl6w6FzIDx0aXBvPikuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICI6ICVzIFtvcGNpb25lc10gPGRpc3Bvc2l0aXZvPi4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvblxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGNoYW5nZSBvciBwcmludCBwYXJ0aXRpb24gSWRcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICBjaGFuZ2UgSWRcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBwcmludCBJZFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgbXVlc3RyYSBlbCB0YW1hw7FvIGRlIHVuYSBwYXJ0aWNpw7NuXG4iCisjfiAiIC1jLCAtLWlkICAgICAgICAgICAgICAgICAgY2FtYmlhIG8gaW1wcmltZSBlbCBJZCBkZSB1bmEgcGFydGljacOzblxuIgorI34gIiAgICAgLS1jaGFuZ2UtaWQgICAgICAgICAgIGNhbWJpYSBlbCBJZFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIGltcHJpbWUgZWwgSWRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0XG4iCisjfiAiIC1pLCAtLWluY3JlbWVudCAgICAgICAgICAgbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXR0ZXI+ICAgICAgIHVuaXRzIHRvIGJlIHVzZWQ7IDxsZXR0ZXI+IGNhbiBiZSBvbmUgb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgKHNlY3RvcnMpLCBDIChjeWxpbmRlcnMpLCBCIChibG9ja3MpLCBvciBNIChNQilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIG11ZXN0cmEgbGEgbGlzdGEgZGUgcGFydGljaW9uZXMgZGUgY2FkYSBkaXNwb3NpdGl2b1xuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIGlkZW0sIHBlcm8gZW4gZm9ybWF0byBhZGVjdWFkbyBwYXJhIHNlciB1dGlsaXphZG8gbcOhcyBhZGVsYW50ZSBjb21vIGVudHJhZGFcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICBuw7ptZXJvIGRlIGNpbGluZHJvcywgZXRjLiwgZGVzZGUgMSBlbiBsdWdhciBkZSBkZXNkZSAwXG4iCisjfiAiIC11LCAtLXVuaXQgPGxldHRlcj4gICAgICAgdW5pZGFkZXMgcXVlIHNlIHZhbiBhIHV0aWxpemFyOyA8bGV0cmE+IHB1ZWRlIHNlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VjdG9yZXMpLCBDIChjaWxpbmRyb3MpLCBCIChibG9xdWVzKSwgbyBNIChNQilcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgb3BjacOzbiByZXNlcnZhZGEgcXVlIGFjdHVhbG1ldG5lIG5vIGhhY2UgbmFkYVxuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIG11ZXN0cmEgbGEgbGlzdGEgZGUgdGlwb3MgZGUgcGFydGljaW9uZXMgY29ub2NpZG9zXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgcGFyYSBjb21wYXRpYmlsaWRhZCBjb24gRE9TOiBnYXN0YSB1bmEgcGVxdWXDsWEgY2FudGlkYWQgZGUgZXNwYWNpb1xuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIGNvbXBhdGliaWxpZGFkIGNvbiBwYXJ0aWNpb25lcyBleHRlbmRpZGFzIERPU1xuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIHByb3ZvY2EgcXVlIGVsIG7DumNsZW8gdnVlbHZhIGEgbGVlciBsYSB0YWJsYSBkZSBwYXJ0aWNpb25lc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTiA8bnVtYmVyPiAgICAgICAgICAgICAgIGNoYW5nZSBvbmx5IHRoZSBwYXJ0aXRpb24gd2l0aCB0aGlzIDxudW1iZXI+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IGFjdHVhbGx5IHdyaXRlIHRvIGRpc2tcbiIKKyN+ICIgLU8gPGZpbGU+ICAgICAgICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byA8ZmlsZT5cbiIKKyN+ICIgLUkgPGZpbGU+ICAgICAgICAgICAgICAgICByZXN0b3JlIHNlY3RvcnMgZnJvbSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTiA8bsO6bWVybz4gICAgICAgICAgICAgICBjYW1iaWEgc29sYW1lbnRlIGxhIHBhcnRpY2nDs24gcXVlIHRpZW5lIGVzdGUgPG7Dum1lcm8+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgbm8gZXNjcmliZSBlbiBlbCBkaXNjbyBkZSB2ZXJkYWRcbiIKKyN+ICIgLU8gPGZpY2hlcm8+ICAgICAgICAgICAgICBndWFyZGEgbG9zIHNlY3RvcmVzIHF1ZSBzZSB2YW4gYSBzb2JyZWVzY3JpYmlyIGVuIDxmaWNoZXJvPlxuIgorI34gIiAtSSA8ZmljaGVybz4gICAgICAgICAgICAgIHJlc3RhdXJhIGxvcyBzZWN0b3JlcyBkZXNkZSA8ZmljaGVybz5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICBjaGVjayB0aGF0IHRoZSBsaXN0ZWQgcGFydGl0aW9ucyBhcmUgcmVhc29uYWJsZVxuIgorI34gIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNvbXBydWViYSBxdWUgbGFzIHBhcnRpY2lvbmVzIGVudW1lcmFkYXMgc29uIHJhem9uYWJsZXNcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICBtdWVzdHJhIGxhIGluZm9ybWFjacOzbiBkZSB2ZXJzacOzbiB5IHNhbGVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBtdWVzdHJhIGVzdGUgdGV4dG8gZGUgYXl1ZGEgeSBzYWxlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGFuZ2Vyb3VzIG9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcGNpb25lcyBwZWxpZ3Jvc2FzOlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCisjfiAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIHBhcnRpdGlvbiBpcyBpbiB1c2VcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyB3YXJuaW5nIG1lc3NhZ2VzXG4iCisjfiAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGVzYWN0aXZhIGxhcyBjb21wcm9iYWNpb25lcyBkZSBjb25zaXN0ZW5jaWFcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBubyBjb21ycHVlYmEgc2kgbGEgcGFydGljacOzbiBlc3TDoSBlbiB1c29cbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXByaW1lIGxvcyBtZW5zYWplcyBkZSBhdmlzb1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIG5vIHNlIHF1ZWphIGRlIGNvc2FzIGlycmVsZXZhbnRlcyBwYXJhIExpbnV4XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZyAgLS1zaG93LWdlb21ldHJ5ICAgICAgIGltcHJpbWUgbGEgaWRlYSBkZWwgbsO6Y2xlbyBzb2JyZSBsYSBnZW9tZXRyw61hXG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgaW1wcmltZSBsYSBnZW9tZXRyw61hIHF1ZSBhcGFyZW50ZW1lbnRlIHNlIGluZmllcmUgZGUgbGEgdGFibGEgZGUgcGFydGljaW9uZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGlzcG8uPl0gYWN0aXZhIGVsIGluZGljYWRvciBkZSBhcnJhbmNhYmxlXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRpc3BvLj5dICAgY29uZmlndXJhIGxhIHBhcnRpY2nDs24gY29tbyBvY3VsdGFcbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBtdWVzdHJhIHRhbWJpw6luIGxhIGxpc3RhIGRlIHBhcnRpY2lvbmVzIGV4dGVuZGlkYXMgZW4gbGEgc2FsaWRhLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyBlc3BlcmEgc3VzIGRlc2NyaXB0b3JlcyByZXNwZWN0aXZvcyBlbiBsYSBlbnRyYWRhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgZG8gbm90IGFsbG9jYXRlIHRoZSBsYXN0IGN5bGluZGVyXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLWxlYXZlLWxhc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIG5vIGFzaWduYSBlbCDDumx0aW1vIGNpbGluZHJvXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgbG8gbWlzbW8gcXVlIC0tbGVhdmUtbGFzdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIGluIG9yZGVyXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgcGFydGl0aW9ucyBhcmUgbm90IGluIG9yZGVyXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICBub3QgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIGxhcyBwYXJ0aWNpb25lcyBlc3TDoW4gZW4gb3JkZW5cbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBsYXMgcGFydGljaW9uZXMgbm8gZXN0w6FuIGVuIG9yZGVuXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgdG9kb3MgbG9zIGzDs2dpY29zIGRlbnRybyBkZWwgZXh0ZW5kaWRvIG3DoXMgZXh0ZXJpb3JcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICBubyB0b2RvcyBsb3MgbMOzZ2ljb3MgZGVudHJvIGRlbCBleHRlbmRpZG8gbcOhcyBleHRlcmlvclxuIgorCisjIFRPRE8gQVNLIC0tbmVzdGVkIHkgLS1vbmVzZWN0b3IgcGFyZWNlbiBkZWZpbmlkYXMgZGVsIG1pc21vIG1vZG8uCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1uZXN0ZWQgICAgICAgICAgICAgIGV2ZXJ5IHBhcnRpdGlvbiBpcyBkaXNqb2ludCBmcm9tIGFsbCBvdGhlcnNcbiIKKyN+ICIgICAgIC0tY2hhaW5lZCAgICAgICAgICAgICBsaWtlIG5lc3RlZCwgYnV0IGV4dGVuZGVkIHBhcnRpdGlvbnMgbWF5IGxpZSBvdXRzaWRlXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgbXV0dWFsbHkgZGlzam9pbnRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1uZXN0ZWQgICAgICAgICAgICAgIGxhcyBwYXJ0aWNpb25lcyBzb24gZGlzanVudGFzIGRvcyBhIGRvc1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGNvbW8gLS1uZXN0ZWQsIHNhbHZvIHF1ZSBsYXMgcGFydGljaW9uZXMgZXh0ZW5kaWRhcyBwdWVkZW4gc2FsaXJzZSBmdWVyYVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIGxhcyBwYXJ0aWNpb25lcyBzb24gbXV0dWFtZW50ZSBkaXNqdW50YXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6XG4iCisjfiAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgc2V0IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzIHRvIHVzZVxuIgorI34gIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgIHNldCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJJZ25vcmEgbGEgZ2VvbWV0csOtYSBkZXRlY3RhZGEsIHV0aWxpemFuZG8gZW4gY2FtYmlvOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPG7Dum1lcm8+ICBlc3RhYmxlY2UgZWwgbsO6bWVybyBkZSBjaWxpbmRyb3MgcXVlIHNlIHZhbiBhIHV0aWxpemFyXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxuw7ptZXJvPiAgICAgIGVzdGFibGVjZSBlbCBuw7ptZXJvIGRlIGNhYmV6YXMgcXVlIHNlIHZhbiBhIHV0aWxpemFyXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG7Dum1lcm8+ICAgIGVzdGFibGVjZSBlbCBuw7ptZXJvIGRlIHNlY3RvcmVzIHF1ZSBzZSB2YW4gYSB1dGlsaXphclxuIgorCisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICIgJXMgJXNkaXNwb3NpdGl2byAgICAgZW51bWVyYSBsYXMgcGFydGljaW9uZXMgYWN0aXZhcyBkZWwgZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlIG4xIG4yIC4uLiAgYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiICVzJXNkaXNwb3NpdGl2byBuMSBuMiAuLi4gYWN0aXZhIGxhcyBwYXJ0aWNpb25lcyBuMSAuLi4sIGRlc2FjdGl2YSBlbCByZXN0b1xuIgorCisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAibsO6bWVybyBubyB2w6FsaWRvIGRlIHBhcnRpY2lvbmVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgYWJyaXIgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAidXNvOiBzZmRpc2sgLS1wcmludC1pZCBkaXNwb3NpdGl2byBuw7ptZXJvLXBhcnRpY2nDs24iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJ1c286IHNmZGlzayAtLWNoYW5nZS1pZCBkaXNwb3NpdGl2byBuw7ptZXJvLXBhcnRpY2nDs24gSWQiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAidXNvOiBzZmRpc2sgLS1pZCBkaXNwb3NpdGl2byBuw7ptZXJvLXBhcnRpY2nDs24gW0lkXSIKKworI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJwdWVkZSBlc3BlY2lmaWNhciBzw7NsbyB1biBkaXNwb3NpdGl2byAoc2Fsdm8gY29uIC1sIG8gLXMpIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAiTm8gc2UgcHVlZGUgYWJyaXIgJXMgcGFyYSBsZWN0dXJhLWVzY3JpdHVyYSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICJObyBzZSBwdWVkZSBhYnJpciAlcyBwYXJhIGxlY3R1cmEiCisKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBDb3JyZWN0byIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgY2lsaW5kcm9zLCAlbGQgY2FiZXphcywgJWxkIHNlY3RvcmVzIHBvciBwaXN0YVxuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAiYnl0ZSBhY3Rpdm8gaW5jb3JyZWN0bzogMHgleCBlbiBsdWdhciBkZSAweDgwIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiRmluIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiVGllbmUgJWQgcGFydGljaW9uZXMgcHJpbWFyaWFzIGFjdGl2YXMuIE5vIHRpZW5lIGltcG9ydGFuY2lhIHBhcmEgTElMTyxcbiIKKyN+ICJwZXJvIGVsIE1CUiBkZSBET1Mgc8OzbG8gcHVlZGUgaW5pY2lhciBkaXNjb3MgY29uIHVuYSBwYXJ0aWNpw7NuIGFjdGl2YS4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJsYSBwYXJ0aWNpw7NuICVzIHRpZW5lIGVsIGlkZW50aWZpY2Fkb3IgJXggeSBubyBlc3TDoSBvY3VsdGEiCisKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJJZGVudGlmaWNhZG9yICVseCBpbmNvcnJlY3RvIgorCisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJBY3R1YWxtZW50ZSBlc3RlIGRpc2NvIGVzdMOhIGVuIHVzby4iCisKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIkVycm9yIG11eSBncmF2ZTogbm8gc2UgcHVlZGUgZW5jb250cmFyICVzIgorCisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJBdGVuY2nDs246ICVzIG5vIGVzIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMiCisKKyN+IG1zZ2lkICJPSyIKKyN+IG1zZ3N0ciAiQ29ycmVjdG8iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIkxhIHBhcnRpY2nDs24gJWQgbm8gZXhpc3RlOyBubyBzZSBwdWVkZSBjYW1iaWFyIgorCisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiRWwgc2lzdGVtYSBubyBlbmN1ZW50cmEgYWRlY3VhZGFzIGVzdGFzIHBhcnRpY2lvbmVzOyBubyBzZSBoYSBjYW1iaWFkbyBuYWRhLlxuIgorI34gIihTaSByZWFsbWVudGUgZGVzZWEgcmVhbGl6YXIgZXN0YSBvcGVyYWNpw7NuLCB1c2UgbGEgb3BjacOzbiAtLWZvcmNlLikiCisKKyN+IG1zZ2lkICJJIGRvbid0IGxpa2UgdGhpcyAtIHByb2JhYmx5IHlvdSBzaG91bGQgYW5zd2VyIE5vIgorI34gbXNnc3RyICJFbCBzaXN0ZW1hIG5vIGVuY3VlbnRyYSBhZGVjdWFkYSBlc3RhIG9wZXJhY2nDs247IHByb2JhYmxlbWVudGUgZGViYSByZXNwb25kZXIgTm8iCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAiwr9Fc3TDoSBzYXRpc2ZlY2hvIGNvbiBlc3RhIG9wZXJhY2nDs24/IFt5bnFdICIKKworI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJTZSBlc3TDoSBzYWxpZW5kbzsgbm8gc2UgaGEgY2FtYmlhZG8gbmFkYSIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIlJlc3BvbmRhIGNvbiB1bmEgZGUgbGFzIGVudHJhZGFzIHNpZ3VpZW50ZXM6IHksbixxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMYSBudWV2YSB0YWJsYSBkZSBwYXJ0aWNpb25lcyBzZSBoYSBlc2NyaXRvIGNvcnJlY3RhbWVudGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIlNpIGhhIGNyZWFkbyBvIG1vZGlmaWNhZG8gdW5hIHBhcnRpY2nDs24gRE9TLCBjb21vIC9kZXYvZm9vNywgdXRpbGljZSBkZCgxKVxuIgorI34gInBhcmEgcG9uZXIgYSBjZXJvIGxvcyA1MTIgcHJpbWVyb3MgYnl0ZXM6IGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoVsOpYXNlIGZkaXNrKDgpLikiCisKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJTaSBoYSBjcmVhZG8gbyBtb2RpZmljYWRvIGFsZ3VuYSBwYXJ0aWNpw7NuIERPUyA2LngsIGNvbnN1bHRlIGxhIGRvY3VtZW50YWNpw7NuIGRlIGZkaXNrIHBhcmEgb2J0ZW5lciBtw6FzIGluZm9ybWFjacOzbi4iCisKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiY2FtcG8gZGVtYXNpYWRvIGxhcmdvIgorCisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiAnJWMnIG5vIGVzdMOhIHBlcm1pdGlkbyIKKworI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiclYycgbm8gZXN0w6EgcGVybWl0aWRvIgorCisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiBsb3MgY2FyYWN0ZXJlcyBkZSBjb250cm9sIG5vIGVzdMOhbiBwZXJtaXRpZG9zIgorCisjfiBtc2dpZCAiY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAibG9zIGNhcmFjdGVyZXMgZGUgY29udHJvbCBubyBlc3TDoW4gcGVybWl0aWRvcyIKKworI34gbXNnaWQgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBzdXBwbGVtZW50YXJ5IGdyb3VwcyBhcyB3ZWxsXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgbXVlc3RyYSB0YW1iacOpbiBsb3MgZ3J1cG9zIHN1cGxlbWVudGFyaW9zXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG3DoXMgaW5mb3JtYWNpw7NuLCB2w6lhc2UgbHNsb2dpbnMoMSkuXG4iCisKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY3J5cHQoKSBoYSBmYWxsYWRvIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVGhpcyBzbWFsbCB1c2FnZSBndWlkZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBFc3RhIHBlcXVlw7FhIGd1w61hIGRlIHVzb1xuIgorCisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTXVlc3RyYSBpbmZvcm1hY2nDs24gZGUgdmVyc2nDs25cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1c2UgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIGNvbXBhcmUgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gZGVmaW5lIHN0cmluZyB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1dGlsaXphIGRpY2Npb25hcmlvIGFsdGVybmF0aXZvXG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY29tcGFyYSBzb2xvIGNhcmFjdGVyZXMgYWxmYW51bcOpcmljb3NcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICBpZ25vcmEgbGFzIGRpZmVyZW5jaWFzIGVudHJlIG1hecO6c2N1bGFzIHkgbWluw7pzY3VsYXMgYWwgY29tcGFyYXJcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjYXIuPiBkZWZpbmUgZWwgY2Fyw6FjdGVyIGRlIGZpbmFsIGRlIGNhZGVuYVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHNhY2EgaW5mb3JtYWNpw7NuIGRlIHZlcnNpw7NuIHkgc2FsZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHNhbGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG3DoXMgaW5mb3JtYWNpw7NuIHbDqWFzZSBuYW1laSgyKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgd2lwZWZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtw6FzIGluZm9ybWFjacOzbiwgdsOpYXNlIHdpcGVmcyg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbcOhcyBpbmZvcm1hY2nDs24sIHbDqWFzZSB0YXNrc2V0KDEpLlxuIgorCisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiVzOiBlcyB1biBkaXNwb3NpdGl2byBkZXNtb250YWJsZSIKKworI34gbXNnaWQgIiVzOiBjb25uZWN0ZWQgYnkgaG90cGx1ZyBzdWJzeXN0ZW06ICVzIgorI34gbXNnc3RyICIlczogY29uZWN0YWRvIHBvciBlbCBzdWJzaXN0ZW1hIGRlIMKraG90cGx1Z8K7OiAlcyIKKworI34gbXNnaWQgInRpbWVvdXQgY2Fubm90IGJlIHplcm8iCisjfiBtc2dzdHIgImVsIHRpZW1wbyBkZSB2ZW5jaW1pZW50byBubyBwdWVkZSBlc3IgY2VybyIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZCBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ2lkX3BsdXJhbCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0clswXSAiRXMgcHJlY2lzbyBpbnNlcnRhciAlZCBzZWd1bmRvIHkgZXN0YWJsZWNlciBjb21vIHJlZmVyZW5jaWEgbGEgaG9yYSAlLjZmIHNlZ3VuZG9zIGhhY2lhIGF0csOhc1xuIgorI34gbXNnc3RyWzFdICJFcyBwcmVjaXNvIGluc2VydGFyICVkIHNlZ3VuZG9zIHkgZXN0YWJsZWNlciBjb21vIHJlZmVyZW5jaWEgbGEgaG9yYSAlLjZmIHNlZ3VuZG9zIGhhY2lhIGF0csOhc1xuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIkVzcGVyYW5kbyBlbiBidWNsZSBxdWUgY2FtYmllIGxhIGhvcmEgZGUgS0RHSFdDTEtcbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgIkVycm9yIGRlIGlvY3RsIEtER0hXQ0xLIGFsIGxlZXIgbGEgaG9yYSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAiRXJyb3IgZW4gYnVjbGUgZGUgaW9jdGwgS0RHSFdDTEsgYWwgbGVlciBsYSBob3JhIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgImlvY3RsKCkgbm8gaGEgcG9kaWRvIGxlZXIgbGEgaG9yYSBkZSAlcyIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgaW9jdGwgS0RHSFdDTEsiCisKKyN+IG1zZ2lkICJVc2luZyB0aGUgS0RHSFdDTEsgaW50ZXJmYWNlIHRvIG02OGsgY2xvY2suIgorI34gbXNnc3RyICJTZSB1dGlsaXphIGxhIGludGVyZmF6IEtER0hXQ0xLIGFsIHJlbG9qIG02OGsiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIk5vIHNlIHB1ZWRlIGFicmlyIC9kZXYvdHR5MSBvIC9kZXYvdmMvMSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiRXJyb3IgZGUgaW9jdGwgS0RHSFdDTEsiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG3DoXMgZGV0YWxsZXMsIHbDqWFzZSBsc2NwdSgxKS5cbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW29wY2lvbmVzXSA8cHJvZ3JhbWE+IFthcmdzLi4uXVxuIgorCisjIFRPRE8gcmV2aWV3IG5pY2UKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorI34gIiAtdSwgLS11c2VyIDxuYW1lfGlkPiAgIGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldGEgZWwgYXJndW1lbnRvIGNvbW8gZWwgSUQgZGUgZ3J1cG8gZGUgdW4gcHJvY2Vzb1xuIgorI34gIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIGVzcGVjaWZpY2EgZWwgdmFsb3IgZGUgaW5jcmVtZW50byBkZXNlYWJsZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldGEgZWwgYXJndW1lbnRvIGNvbW8gZWwgZGUgdW4gcHJvY2VzbyAob3BjacOzbiBwcmVkZWZpbmlkYSlcbiIKKyN+ICIgLXUsIC0tdXNlciA8bm9tYnJlfGlkPiBpbnRlcnByZXRhIGVsIGFyZ3VtZW50byBjb21vIG5vbWJyZSBvIElEIGRlIHVzdWFyaW9cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBtdWVzdHJhIGVsIHRleHRvIGRlIGF5dWRhIHkgdGVybWluYVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG11ZXN0cmEgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIHZlcnNpw7NuIHkgdGVybWluYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG3DoXMgaW5mb3JtYWNpw7NuIHbDqWFzZSByZW5pY2UoMSkuXG4iCisKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiICVzJXMgW29wY2lvbmVzXSBbcHJvZ3JhbWEgW3Byb2dyYW1hIGFyZ3VtZW50b3NdXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgIHNhY2EgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIHZlcnNpw7NuIHkgdGVybWluYVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHRlcm1pbmFcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk1vZG8gZGUgZW1wbGVvOlxuIgorI34gIiAlcyBbb3BjaW9uZXNdIFtmaWNoZXJvIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBzdXByaW1lIHRvZG9zIGxvcyBzdWJyYXlhZG9zXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICBpbXByaW1lIHRvZGFzIGxhcyBtZWRpYXMgbMOtbmVhc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3BjaW9uZXM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBzYWNhIGxhIGluZm9ybWFjacOzbiBzb2JyZSBsYSB2ZXJzacOzbiB5IHRlcm1pbmFcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIG11ZXN0cmEgZXN0YSBheXVkYSB5IHRlcm1pbmFcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbGxpbmcgaGV4ZHVtcCBhcyBvZCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mIEdOVSBjb3JldXRpbHMgb2QiCisjfiBtc2dzdHIgImxsYW1hciBhIGhleGR1bXAgY29tbyBhIG9kIGVzdMOhIG9ic29sZXRvIGVuIGZhdm9yIGRlbCBvZCBkZSBHTlUgY29yZXV0aWxzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wY2lvbmVzOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgc2FjYSBsYSBpbmZvcm1hY2nDs24gc29icmUgbGEgdmVyc2nDs24geSB0ZXJtaW5hXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBtdWVzdHJhIGVzdGEgYXl1ZGEgeSB0ZXJtaW5hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJldigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbcOhcyBpbmZvcm1hY2nDs24gdsOpYXNlIHJldigxKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTW9kbyBkZSBlbXBsZW86XG4iCisjfiAiICVzIFtvcGNpb25lc10gZmljaGVyb1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLWxpbmVzIE5VTUJFUiAgb3V0cHV0IHRoZSBsYXN0IE5VTUJFUiBsaW5lc1xuIgorI34gIiAtTlVNQkVSICAgICAgICAgICAgIHNhbWUgYXMgYC1uIE5VTUJFUidcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcGNpb25lczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTsOaTUVSTyAgc2FjYSBsYXMgw7psdGltYXMgTsOaTUVSTyBsw61uZWFzXG4iCisjfiAiIC1Ow5pNRVJPICAgICAgICAgICAgIGlndWFsIHF1ZSBgLW4gTsOaTUVSTydcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIHNhY2EgbGEgaW5mb3JtYWNpw7NuIHNvYnJlIGxhIHZlcnNpw7NuIHkgdGVybWluYVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgbXVlc3RyYSBlc3RhIGF5dWRhIHkgdGVybWluYVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVHlwZSBvZiB0aGUgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorI34gbXNnc3RyICJFbCB0aXBvIGRlIGxhIHBhcnRpY2nDs24gJXp1IHBlcm1hbmVjZSBzaW4gY2FtYmlvcy4iCisKKyN+fCBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzOyB1c2UgeXAlcyBpbnN0ZWFkLlxuIgorI34gbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IHPDs2xvIHNlIHB1ZWRlbiBtb2RpZmljYXIgZW50cmFkYXMgbG9jYWxlczsgdXRpbGljZSB5cCVzIGVuIHN1IGx1Z2FyLlxuIgorCisjfiBtc2dpZCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiTm8gc2UgaGEgZXNwZWNpZmljYWRvIGxhIG9wY2nDs24gLS1kYXRlLlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICJ1c286IG5hbWVpIFstbXhdIG5vbWJyZXJ1dGEgW25vbWJyZXJ1dGEgLi4uXVxuIgorCisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiTm8gc2UgaGEgZXNwZWNpZmljYWRvIGxhIG9wY2nDs24gLS1kYXRlLlxuIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIi4uLnJldHJvY2VkZXIgMSBww6FnaW5hIgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIi4uLm9taXRpZW5kbyB1bmEgbMOtbmVhIgpkaWZmIC0tZ2l0IGEvcG8vZXQucG8gYi9wby9ldC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDIyMDY3Ci0tLSAvZGV2L251bGwKKysrIGIvcG8vZXQucG8KQEAgLTAsMCArMSwyNDI0NCBAQAorIyBFc3RvbmlhbiB0cmFuc2xhdGlvbnMgZm9yIHV0aWwtbGludXgKKyMgQ29weXJpZ2h0IChDKSAyMDAyIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBDb3B5cmlnaHQgKEMpIDIwMDIgTWVlbGlzIFJvb3MgPG1yb29zQGxpbnV4LmVlPgorIyBNZWVsaXMgUm9vcyA8bXJvb3NAbGludXguZWU+LCAyMDAyCisjCisjIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBmcmVlbHkgY29weSBhbmQgZGlzdHJpYnV0ZQorIyB0aGlzIGZpbGUgYW5kIG1vZGlmaWVkIHZlcnNpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMKKyMgaGVhZGVyIGlzIG5vdCByZW1vdmVkIGFuZCBtb2RpZmllZCB2ZXJzaW9ucyBhcmUgbWFya2VkCisjIGFzIHN1Y2guCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMTFyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTgtMDMtMjEgMTM6MTIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDItMDUtMTkgMjA6MDRHTVQrMDMwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogTWVlbGlzIFJvb3MgPG1yb29zQGxpbnV4LmVlPlxuIgorIkxhbmd1YWdlLVRlYW06IEVzdG9uaWFuIDxldEBsaS5vcmc+XG4iCisiTGFuZ3VhZ2U6IGV0XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMTVcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKKyMsIGZ1enp5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIkxpaWdhIHBhbGp1IGFyZ3VtZW50ZVxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAidmlnYW5lIGkta2lyamUgc3V1cnVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4CisjLCBmdXp6eQorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiTGlzYXNla3RvcmVpZCBzaWxpbmRyaWwiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTMKK21zZ2lkICJDYWxsIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk2CisjLCBmdXp6eQorbXNnaWQgIiAtcSAgICAgICAgICAgICBxdWlldCBtb2RlIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworIywgZnV6enkKK21zZ2lkICIgLXYgICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJFaSBzdXVkYSBraW5kbGFrcyB0ZWhhIGtldHRhIG1haHR1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJ29XRpIGAlcycgdmFqYWIgYXJndW1lbnRpXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIktpcmp1dGFtaXNlIHZpZ2Egc2VhZG1lbCAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiQnV1dGl2IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiVmFoZXRhZGEgYnV1ZGl0YXZ1c2UgbGlwcHUgam9va3N2YWwgcGFydGl0c2lvb25pbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUiCittc2dzdHIgImt1c3R1dGFEYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJLdXN0dXRhZGEgam9va3NldiBwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZXNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJLdXN0dXRhZGEgam9va3NldiBwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgInV1cyAoTikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJMdXVhIHV1cyBwYXJ0aXRzaW9vbiB2YWJhIHJ1dW1pIHNpc3NlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIlbkbGphIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIlbkbGp1ZGEgcHJvZ3JhbW1pc3QgaWxhbSBtdXV0dXNpIHNhbHZlc3RhbWF0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVPz8cCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIG11dXRhIHBhcnRpdHNpb29uaSB0/PxwaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJIZWxwIgorbXNnc3RyICJIZWxwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJO5GlkYXRhIGFiaWluZm90IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBwYXJhbmRhZGEgcGFydGl0c2lvb25pZGUgauRyamVrb3JkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICJzYWx2ZXN0YSAoVykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiS2lyanV0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGtldHRhbGUgKHb1aWIgaOR2aXRhZGEgYW5kbWVkKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjQyIGRpc2stdXRpbHMvZmRpc2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5NworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMxNgorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyMworbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyBvbiBtb250ZWVyaXR1ZC4gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJrZXRhczogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiS2V0YXMgJXM6ICVsdSBzaWxpbmRyaXQsICVsdSBwZWFkLCAlbHUgc2VrdG9yaXQgcmFqYWxcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJLZXR0YXNlYWRlOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIm3kcmdlbmQ6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODY2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3MgorIywgZnV6enkKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorIywgZnV6enkKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJQYXJ0aXRzaW9vbml0YWJlbGl0IGVpIHNhYSBzYWx2ZXN0YWRhXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzAKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBzZWFkbWVmYWlsaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE2CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJWYWxlIGtsYWh2IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTkgZGlzay11dGlscy9mZGlzay5jOjEwNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg4CisjLCBmdXp6eQorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJTZWFkZSAlcyBlaSBzaXNhbGRhIORyYXR1bnRhdmF0IHBhcnRpdHNpb29uaXRhYmVsaXRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorIywgZnV6enkKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIlNlZSBvbiBjZmRpc2ssIGN1cnNlcydpbCBiYXNlZXJ1diBrZXR0YSBwYXJ0aXRzaW9uZWVyaW1pc2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworIywgZnV6enkKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAicHJvZ3JhbW0sIG1pcyBsdWJhYiBsdXVhLCBrdXN0dXRhZGEgamEgbXV1dGEgcGFydGl0c2lvb25lIFRlaWUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJL5HNrICAgICAgICBU5GhlbmR1cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgVmFoZXRhZGEgYnV1ZGl0YXZ1c2UgbGlwcHUgam9va3N2YWwgcGFydGl0c2lvb25pbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBLdXN0dXRhZGEgam9va3NldiBwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgTuRpZGF0YSBzZWRhc2FtYSBla3JhYW5pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgTHV1YSB1dXMgcGFydGl0c2lvb24gdmFiYSBydXVtaSBzaXNzZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAgVuRsanVkYSBwcm9ncmFtbWlzdCBpbGFtIG11dXR1c2kgc2FsdmVzdGFtYXRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKKyMsIGZ1enp5Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIGQgICAgICAgICAgS3VzdHV0YWRhIGpvb2tzZXYgcGFydGl0c2lvb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworIywgZnV6enkKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIE11dXRhIGpvb2tzdmEgcGFydGl0c2lvb25pIGZhaWxpc/xzdGVlbWkgdPz8cGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OQorIywgZnV6enkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICBLaXJqdXRhZGEgcGFydGl0c2lvb25pdGFiZWwga2V0dGFsZSAoamFoLCBzdXVydORodCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgS3VuYSBzZWUgdvVpYiBrZXR0YWx0IGFuZG1laWQgaOR2aXRhZGEsIGv8c2l0YWtzZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGVubmUga2lyanV0YW1pc3Qga2lubml0dXN0LiBWYXN0YXRhIHR1bGViIGVlc3Rpa2VlbHNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKKyMsIGZ1enp5Cittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiTm9vbCD8bGVzICAgIFZpaWEga3Vyc29yIGVlbG1pc2VsZSByZWFsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiTm9vbCBhbGxhICAgIFZpaWEga3Vyc29yIGrkcmdtaXNlbGUgcmVhbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorIywgZnV6enkKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiTm9vbCD8bGVzICAgIFZpaWEga3Vyc29yIGVlbG1pc2VsZSByZWFsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2CisjLCBmdXp6eQorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIk5vb2wgYWxsYSAgICBWaWlhIGt1cnNvciBq5HJnbWlzZWxlIHJlYWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJN5HJrdXM6IGv1aWtpIG5laWQga+Rza2Ugc2FhYiBzaXNlc3RhZGEgbmlpIHN1dXItIGt1aSB25GlrZXTkaHRlZGVuYSwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAiduRsamEgYXJ2YXR1ZCBzdXVyIFcuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMDEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0CisjLCBmdXp6eQorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiVmFqdXRhIG31bmRhIGtsYWh2aSBq5HRrYW1pc2VrcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3CisjLCBmdXp6eQorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJFaSBzdXV0bnVkIGF2YWRhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA5IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiUGFydGl0c2lvb25pbCAlZCBwb2xlIGFuZG1ldGVsZSBydXVtaSBlcmFsZGF0dWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlBhcnRpdHNpb29uaSAlZCB0/PxwIG9uIG78/GQgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTQKKyMsIGZ1enp5Cittc2dpZCAiTmV3IHNpemU6ICIKK21zZ3N0ciAiVXVzIHNoZWxsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorIywgZnV6enkKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrPyAiCittc2dzdHIgIk9sZXRlIGtpbmRlbCwgZXQgc29vdml0ZSBzYWx2ZXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsaXQ/IChqYWggdvVpIGVpKToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJqYWgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0MAorIywgZnV6enkKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiRWkga2lyanV0YW51ZCBwYXJ0aXRzaW9vbml0YWJlbGl0IGtldHRhbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiUGFydGl0c2lvb25pdGFiZWxpdCBvbiBtdXVkZXR1ZCFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorIywgZnV6enkKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJ0aXRzaW9vbml0YWJlbGkga2lyamVkIG9uIGb8/HNpbGlzZXN0IGVyaW5ldmFzIGrkcmpla29ycmFzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworIywgZnV6enkKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm1hYWRpbiAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgInZhbG1pc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIktvbnRyb2xsaW4gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAicmVhZDogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmxlZW0gc2lsaW5kcmlsdCAlZCBsdWdlbWlzZWwsIGxvb3RzaW4gJWQsIHNhaW4gJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJIYWx2YWQgYW5kbWVkIHNpbGluZHJpbCAlZFxuIgorIkrkdGthbiAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTAgbWlzYy11dGlscy9sc2Jsay5jOjE1MDEKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg3IHN5cy11dGlscy9ibGt6b25lLmM6MTAxCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJFaSBzdXVkYSBraW5kbGFrcyB0ZWhhIGZvcm1hYXRpbWlzZSBwYXJhbWVldHJlaWQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXNwb29sbmUsICVkIHJhZGEsICVkIHNla3Rvcml0IHJhamFsLiBLb2d1bWFodCAlZCBrQlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJLYWhlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICLcaGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglZC0lZCwgdmFpa2ltaXNpICVkKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiS2FzdXRhbiB2YWlraW1pc2kgduTkcnR1c3QgJWRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5CisjLCBmdXp6eQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlbk5HJ0dXMgb24gcGlpcmlkZXN0IHbkbGphc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglZC0lZCwgdmFpa2ltaXNpICVkKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglZC0lZCwgdmFpa2ltaXNpICVkKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglZC0lZCwgdmFpa2ltaXNpICVkKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVkLSVkLCB2YWlraW1pc2kgJWQpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2OSBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJLdXVldGVpc3Rr/G1uZW5kc/xzdGVlbWlzIGtvb2QgKEwgbuRpdGFiIGtvb2RpZGUgbmltZWtpcmphKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIkt1dWV0ZWlzdGv8bW5lbmRz/HN0ZWVtaXMga29vZCAoTCBu5Gl0YWIga29vZGlkZSBuaW1la2lyamEpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRE9TaWdhIPxoaWxkdXZ1c2UgbGlwcCBvbiBw/HN0aVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRE9TaWdhIPxoaWxkdXZ1c2UgbGlwcCBwb2xlIHD8c3RpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgcG9sZSB2ZWVsIG9sZW1hcyFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE4IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAzCittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiVHVuZG1hdHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICJrZXRhczogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiRXNpbWVuZSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgZWkg9W5uZXN0dW51ZCBzZWFkbWVsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3ODYgZGlzay11dGlscy9zZmRpc2suYzoxNDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIlNpc2VzdGFnZSBzaWxpbmRyaXRlIGFydjogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiU2lzZXRhZ2UgcGVhZGUgYXJ2OiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2VrdG9yaXRlIGFydiByYWphbDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyMgorIywgZnV6enkKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiS2F0YWxvb2dpICVzIHBvbGUhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NzUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJIb2lhdHVzOiAtYiB29XRpdCAoc2VrdG9yaSBzdXVydXNlIHNlYWRtaW5lKSB0dWxla3Mga2FzdXRhZGEgYWludWx0IPxoZSB05HBzZWx0IG3k5HJhdHVkIHNlYWRtZWdhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgInZpZ2FuZSB0YWltYWRpIHbk5HJ0dXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiS29vc3RhbiB1dWUgU3VuaSBwYXJ0aXRzaW9vbml0YWJlbGkuIE11dXR1c2VkIGrk5HZhZCBhaW51bHQgbeRsbHUsXG4iCisia3VuaSBUZSBpc2Ugb3RzdXN0YXRlIG5lZWQga2V0dGFsZSBraXJqdXRhZGEuIFDkcmFzdCBzZWRhIHBvbGUgdmFuYSBzaXN1XG4iCisibG9vbXVsaWt1bHQgZW5hbSB0YWFzdGF0YXYuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDc5Cittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiS2V0dGFzZWFkZTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIktldHRhc2VhZGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyJLZXRhcyAlczogJWx1IHNpbGluZHJpdCwgJWx1IHBlYWQsICVsdSBzZWt0b3JpdCByYWphbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICIiCisiXG4iCisiS2V0YXMgJXM6ICVkIHBlYWQsICVkIHNla3Rvcml0IHJhamFsLCAlZCBzaWxpbmRyaXRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIiIKKyJcbiIKKyJLZXRhcyAlczogJWQgcGVhZCwgJWQgc2VrdG9yaXQgcmFqYWwsICVkIHNpbGluZHJpdFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdHNpb29uICVpIGVpIGFsZ2Egc2lsaW5kcmkgcGlpcmlsdDpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcnRpdHNpb29uaXRhYmVsaSBraXJqZWQgb24gZvz8c2lsaXNlc3QgZXJpbmV2YXMgauRyamVrb3JyYXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNgorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjkgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMjEKK21zZ2lkICJFbmQiCittc2dzdHIgIkVuZCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcmlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiS2V0YXMgJXM6ICVsdSBzaWxpbmRyaXQsICVsdSBwZWFkLCAlbHUgc2VrdG9yaXQgcmFqYWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIGt1c3R1dGFkYSBwYXJ0aXRzaW9vbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIiAgIGUgICBu5GlkYXRhIGV4dGVuZGVkLXBhcnRpdHNpb29uaWRlIG5pbWVraXJqYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgcGFydGl0c2lvb25pdPz8cGlkZXN0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgbiAgIGxpc2FkYSB1dXMgcGFydGl0c2lvb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJUcvxra2lkYSBsaWh0c2FsdCB0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgbXV1dGEgcGFydGl0c2lvb25pIHT8/HBpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIHYgICBrb250cm9sbGlkYSBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIgICBkICAgbuRpZGF0YSBwYXJ0aXRzaW9vbml0YWJlbGl0IGJhaWRpa2F1cGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICBu5GlkYXRhIHBhcnRpdHNpb29uaXRhYmVsaXQgYmFpZGlrYXVwYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICIgICBmICAgcGFyYW5kYWRhIHBhcnRpdHNpb29uaWRlIGrkcmpla29yZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICIgICBtICAgbuRpZGF0YSBzZWRhc2FtYSBtZW78/GQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiICAgdSAgIG11dXRhIHNpc2VzdGFtaXNlIGphIHRhYmVsaSBu5Gl0YW1pc2Ug/Ghpa3VpZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0CisjLCBmdXp6eQorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgIiAgIHggICBsaXNhZnVua3RzaW9uYWFsc3VzIChhaW51bHQgZWtzcGVydGlkZWxlKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgIiAgIHcgICBraXJqdXRhZGEgdGFiZWwga2V0dGFsZSBqYSB25GxqdWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiICAgdyAgIGtpcmp1dGFkYSB0YWJlbCBrZXR0YWxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICIgICBxICAgduRsanVkYSBzYWx2ZXRzYW1hdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorIywgZnV6enkKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICIgICByICAgdGFnYXNpIHBlYW1lbvz8c3NlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIiAgIHMgICBsdXVhIHV1cyB0/GhpIFN1bidpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICBsdXVhIHV1cyB0/GhpIERPU2kgcGFydGl0c2lvb25pdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICBsdXVhIHV1cyB0/GhpIERPU2kgcGFydGl0c2lvb25pdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGx1dWEgdXVzIHT8aGkgRE9TaSBwYXJ0aXRzaW9vbml0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgbHV1YSB1dXMgdPxoaSBET1NpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBnICAgbHV1YSBJUklYaSAoU0dJKSBwYXJ0aXRzaW9vbml0YWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIgICBjICAgbXV1dGEgc2lsaW5kcml0ZSBhcnZ1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiICAgaCAgIG11dXRhIHBlYWRlIGFydnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIiAgIHMgICBtdXV0YSBzZWt0b3JpdGUgYXJ2dSByYWphbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1CisjLCBmdXp6eQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiRUZJIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgIGEgICBs/GxpdGFkYSBidXVkaXRhdnVzZSBsaXBwIHNpc3NlL3bkbGphIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICIgICBjICAgbPxsaXRhZGEgRE9TaWdhIPxoaWxkdXZ1c2UgcmV6aGlpbSBzaXNzZS925GxqYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc2CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIiAgIGEgICBs/GxpdGFkYSBraXJqdXR1c2thaXRzZSBsaXBwIHNpc3NlL3bkbGphIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzcKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgIiAgIGEgICBs/GxpdGFkYSBraXJqdXR1c2thaXRzZSBsaXBwIHNpc3NlL3bkbGphIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYyAgIGz8bGl0YWRhIG1vbnRlZXJpdGF2dXNlIGxpcHAgc2lzc2UvduRsamEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiAgIGEgICBtdXV0YSBhbHRlcm5hdGlpdnNldGUgc2lsaW5kcml0ZSBhcnZ1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiICAgZSAgIG11dXRhIGxpc2FzZWt0b3JpdGUgYXJ2dSBzaWxpbmRyaWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiAgIGkgICBtdXV0YSBpbnRlcmxlYXZlLXRlZ3VyaXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiAgIG8gICBtdXV0YSBw9vZybGVtaXNlIGtpaXJ1c3QgKHJwbSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiICAgeSAgIG11dXRhIGb8/HNpbGlzdGUgc2lsaW5kcml0ZSBhcnZ1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHZhbGlkYSBidXV0aXYgcGFydGl0c2lvb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorIywgZnV6enkKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICIgICBiICAgcmVkaWdlZXJpZGEgYnV1dGZhaWxpIGtpcmpldCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGMgICB2YWxpZGEgU0dJIHNhYWxpbWlzcGFydGl0c2lvb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgIGz8bGl0YWRhIGJ1dWRpdGF2dXNlIGxpcHAgc2lzc2UvduRsamEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICIgICBiIHJlZGlnZWVyaWRhIE5TRCBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICIgICBjICAgbPxsaXRhZGEgRE9TaWdhIPxoaWxkdXZ1c2UgcmV6aGlpbSBzaXNzZS925GxqYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGIgICBsaWlndXRhZGEgYW5kbWV0ZSBhbGd1c3QgcGFydGl0c2lvb25pcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgbXV1dGEgc2lzZXN0YW1pc2UgamEgdGFiZWxpIG7kaXRhbWlzZSD8aGlrdWlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiICAgZSAgIHJlZGlnZWVyaWRhIHNlZGFtZSBhbmRtZWlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiAgIGkgICBpbnN0YWxsZWVyaWRhIGJvb3RzdHJhcCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM4CisjLCBmdXp6eQorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICIgICBzICAgbuRpZGF0YSB05GllbGlra3UgcGFydGl0c2lvb25pdGFiZWxpdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgeCAgIHNpZHVkYSBCU0QgcGFydGl0c2lvb24gbWl0dGUtQlNEIHBhcnRpdHNpb29uaWdhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIkhlbHAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJFa3NwZXJkaSBr5HNrIChtIGFubmFiIGFiaWluZm90KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJL5HNrIChtIGFubmFiIGFiaWluZm90KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIkthcyBUZSBzb292aXRlIHT1ZXN0aSBq5HRrYXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiB0dW5kbWF0dSBr5HNrXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQgc2lzYWxkYWIgc2VrdG9yaXQgMFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiS2FzIHNvb3ZpdGUgbHV1YSBwYXJ0aXRzaW9vbml0YWJlbGl0PyAoeS9uKSAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiICAgZiAgIHBhcmFuZGFkYSBwYXJ0aXRzaW9vbmlkZSBq5HJqZWtvcmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY0MAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1CisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJTaXNlc3RhbWlzZWwgamEgbuRpdGFtaXNlbCBvbiBu/PxkIPxoaWt1dGVrcyAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiU2lzZXN0YW1pc2VsIGphIG7kaXRhbWlzZWwgb24gbvz8ZCD8aGlrdXRla3MgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiIHJlZGlnZWVyaWRhIE5TRCBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiByZWRpZ2VlcmlkYSBOU0QgcGFydGl0c2lvb25pdGFiZWxpdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgzOQorIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgcmVkaWdlZXJpZGEgTlNEIHBhcnRpdHNpb29uaXRhYmVsaXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMzcKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIlNpc2V0YWdlIHBlYWRlIGFydiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgb24gbW9udGVlcml0dWQuICIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMyOSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTUgZGlzay11dGlscy9zZmRpc2suYzoyOTggbGliZmRpc2svc3JjL2JzZC5jOjY0NQorIzogbGliL3BhdGguYzoxNDAgbGliL3BhdGguYzoxNjEgbGliL3BhdGguYzoxODIgbGliL3BhdGguYzoyMzAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0NSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjU1CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE0IHN5cy11dGlscy9zZXRwcml2LmM6Mjg1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcyMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIlczogZWkgc3V1ZGEgbHVnZWRhICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiS2lyanV0YW4gcHVodnJlaWQga2V0dGFsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJLYXN1dGFuICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODcgbG9naW4tdXRpbHMvbG9naW4uYzo5NDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDggc3lzLXV0aWxzL2Zsb2NrLmM6MzQ2IHN5cy11dGlscy9uc2VudGVyLmM6MTgwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzIwIHN5cy11dGlscy91bnNoYXJlLmM6MjIxIHN5cy11dGlscy91bnNoYXJlLmM6NDM1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjgwNQorIywgZnV6enkKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCisjLCBmdXp6eQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJWaWdhIHNla3RvcmkgJWx1IGtpcmp1dGFtaXNlbCBzZWFkbWVsZSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiUGVhbGVzdW5uaXR1ZCBrb250cm9sbCBmYWlsaXP8c3RlZW1pbCAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQZWFsZXN1bm5pdHVkIGtvbnRyb2xsIGZhaWxpc/xzdGVlbWlsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIlBlYWxlc3Vubml0dWQga29udHJvbGwgZmFpbGlz/HN0ZWVtaWwgJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworIywgZnV6enkKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgam9va3N2YSBwYXJ0aXRzaW9vbmkgZmFpbGlz/HN0ZWVtaSB0/PxwaSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgS3VzdHV0YWRhIGpvb2tzZXYgcGFydGl0c2lvb24iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQxMworbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorIywgZnV6enkKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiJXMgb24gbW9udGVlcml0dWQuICIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiTW9udGVlcmluIGxhaHRpIGv1aWsgYWxsZXNq5ORudWQgZmFpbGlz/HN0ZWVtaWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIk1vbnRlZXJpbiBsYWh0aSBr9WlrIGFsbGVzauTkbnVkIGZhaWxpc/xzdGVlbWlkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIlRlIGFuZGlzdGUgc3V1cmVtYSBzaWxpbmRyaXRlIGFydnUga3VpIGtldHRhbGUgbWFodWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAidvV0aSBgJXMnIHZhamFiIGFyZ3VtZW50aVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE0Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzYgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MSBsaWJmZGlzay9zcmMvYnNkLmM6NzE3IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTIKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDMgbG9naW4tdXRpbHMvbGFzdC5jOjIzNyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBz9WlkYWIg/GxlIGtldHRhIG90c2FcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTYKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA4CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorIywgZnV6enkKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImp1dXJrYXRhbG9vZ2kgaS1raXJqZSBlaSBraXJqZWxkYSBrYXRhbG9vZ2kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICJwZWFrcyBvbGVtYSAoJWQsICVkLCAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxvZ2luOiBWaWdhIGZvcmsnaW1pc2VsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hkaXIgKCkga2F0YWxvb2dpIC9kZXYgZWkg9W5uZXN0dW51ZDogJW0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInZpZ2FuZSB0YWltYWRpIHbk5HJ0dXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgImNoZGlyICgpIGthdGFsb29naSAvZGV2IGVpIPVubmVzdHVudWQ6ICVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorIywgZnV6enkKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDEKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzUKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZnN5bmMgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NQorIywgZnV6enkKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQZWFsZXN1bm5pdHVkIGtvbnRyb2xsIGZhaWxpc/xzdGVlbWlsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgImludGVyYWt0aWl2c2VrcyBwYXJhbmRhbWlzZWtzIG9uIHZhamEgdGVybWluYWxpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgam9va3N2YSBwYXJ0aXRzaW9vbmkgZmFpbGlz/HN0ZWVtaSB0/PxwaSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIG9uIG1vbnRlZXJpdHVkLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiS2FzIFRlIHNvb3ZpdGUgdPVlc3RpIGrkdGthdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJrYXRrZXN0YW4ga29udHJvbGxpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJUc29vbmkgbnIuIDwgRklSU1RaT05FIGZhaWxpcyBgJXMnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiVHNvb25pIG5yLiA+PSBaT05FUyBmYWlsaXMgYCVzJyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiS2FzIGVlbWFsZGFkYSBwbG9rayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJWaWdhIGx1Z2VtaXNlbDogZWkgc3V1ZGEgc2Vla2lkYSBwbG9raWxlIGZhaWxpcyBgJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIlZpZ2EgbHVnZW1pc2VsOiB2aWdhbmUgcGxva2sgZmFpbGlzIGAlcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiU2lzZW1pbmUgdmlnYToga2F0c2Uga2lyanV0YWRhIHZpZ2FzZXNzZSBwbG9ra2lcbiIKKyJLaXJqdXRhbWlzZSBrYXRzZXQgaWdub3JlZXJpdGlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCBwbG9raSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJWaWdhIGtpcmp1dGFtaXNlbDogdmlnYW5lIHBsb2trIGZhaWxpcyBgJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIkhvaWF0dXM6IGkta2lyamV0ZSBhcnYgb24gbGlpZ2Egc3V1clxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHN1cGVycGxva2kga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBzdXBlcnBsb2traSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIGkta2lyamV0ZSBrYWFydGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIHRzb29uaWRlIGthYXJ0aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIGkta2lyamVpZCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY0CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY3Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgImVpIHN1dWRhIGx1Z2VkYSBzdXBlcnBsb2traSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAidmlnYW5lIG1hYWdpbGluZSBudW1iZXIgc3VwZXJwbG9raXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiQWludWx0IDFrIHBsb2tpZCBqYSB0c29vbmlkIG9uIHRvZXRhdHVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTMKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAidmlnYW5lIHNfaW1hcF9ibG9ja3MgduRsaSBzdXBlcnBsb2tpcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInZpZ2FuZSBzX2ltYXBfYmxvY2tzIHbkbGkgc3VwZXJwbG9raXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NworIywgZnV6enkKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ2aWdhbmUgc19pbWFwX2Jsb2NrcyB25GxpIHN1cGVycGxva2lzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MDAKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAidmlnYW5lIHNfem1hcF9ibG9ja3MgduRsaSBzdXBlcnBsb2tpcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGkta2lyamV0ZSBrYWFyZGlsZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGkta2lyamV0ZSBrYWFyZGlsZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGkta2lyamV0ZSBwdWh2cmlsZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgImVpIGrkdGt1IG3kbHUgaS1raXJqZXRlIGxvZW5kdXJpbGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgImVpIGrkdGt1IG3kbHUgdHNvb25pZGUgbG9lbmR1cmlsZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMyCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJlaSBzdXVkYSBsdWdlZGEgaS1raXJqZXRlIGthYXJ0aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgImVpIHN1dWRhIGx1Z2VkYSB0c29vbmlkZSBrYWFydGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiZWkgc3V1ZGEgbHVnZWRhIGkta2lyamVpZCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJIb2lhdHVzOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGkta2lyamV0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBwbG9ra2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRXNpbWVuZSBhbmRtZXRlIHRzb29uPSVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiVHNvb25pIHN1dXJ1cz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1heC4gc3V1cnVzPSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJGYWlsaXP8c3RlZW1pIG9sZWs9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm5pbWUgcGlra3VzPSVkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJLWtpcmplICVkIG9uIG3kcmdpdHVkIG1pdHRla2FzdXRhdHVrcywgYWdhIGthc3V0YXR1ZCBmYWlsaXMgYCVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIzCittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk3kcmtpZGEga2FzdXRhdHVrcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiRmFpbCBgJXMnIG9uIG1vb2RpZ2EgJTA1b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIkhvaWF0dXM6IGkta2lyamV0ZSBhcnYgb24gbGlpZ2Egc3V1clxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzY5Cittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAianV1cmthdGFsb29naSBpLWtpcmplIGVpIGtpcmplbGRhIGthdGFsb29naSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlBsb2trIG9uIGp1YmEga2FzdXRhdHVkLCBrdWlkIGxlaWR1cyB1dWVzdGkgZmFpbGlzIGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJLYXMgcHVoYXN0YWRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIlBsb2trICVkIGZhaWxpcyBgJXMnIG9uIG3kcmdpdHVkIG1pdHRla2FzdXRhdHVrcy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJLYXMgcGFyYW5kYWRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkthdGFsb29nIGAlcycgc2lzYWxkYWIgdmlnYXN0IGkta2lyamUgbnVtYnJpdCBmYWlsaWxlIGAlLipzJyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNDEKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgS2FzIGVlbWFsZGFkYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICJgJXMnOiB2aWdhbmUga2F0YWxvb2c6IGAuJyBwb2xlIGVzaW1lbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgImAlcyc6IHZpZ2FuZSBrYXRhbG9vZzogYC4uJyBwb2xlIHRlaW5lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJzaXNlbWluZSB2aWdhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiYCVzJzogdmlnYW5lIGthdGFsb29nOiBzdXVydXMgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgImAlcyc6IHZpZ2FuZSBrYXRhbG9vZzogYC4nIHBvbGUgZXNpbWVuZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCBmdW5rdHNpb29uaXMgYmFkX3pvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJJLWtpcmplICVkIG1vb2RpIGVpIHB1aGFzdGF0dWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkkta2lyamUgJWQgcG9sZSBrYXN1dHVzZWwsIG3kcmdpdHVkIGthc3V0YXR1a3MgYml0bWFwaXMuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJLWtpcmplICVkIG9uIGthc3V0dXNlbCwgbeRyZ2l0dWQgbWl0dGVrYXN1dGF0dWtzIGJpdG1hcGlzLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIwCittc2dpZCAiU2V0IgorbXNnc3RyICJTZWFkYSBiaXR0IGJpdG1hcGlzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIkkta2lyamUgJWQgKG1vb2QgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGxvZW5kYXR1ZD0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiU2VhZGEgaV9ubGlua3MgbG9lbmRhdHVkIGFydnVrcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiVHNvb24gJWQ7IG3kcmdpdHVkIGthc3V0YXR1a3MsIGt1aWQg/Gtza2kgZmFpbCBlaSBrYXN1dGEgc2VkYS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiTeRya2lkYSBtaXR0ZWthc3V0YXR1a3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJUc29vbiAlZDoga2FzdXR1c2VsLCBsb2VuZGF0dWQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJUc29vbiAlZDoga2FzdXR1c2VsLCBsb2VuZGF0dWQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidmlnYW5lIHYyIGkta2lyamUgc3V1cnVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiaW50ZXJha3RpaXZzZWtzIHBhcmFuZGFtaXNla3Mgb24gdmFqYSB0ZXJtaW5hbGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgb24gcHVoYXMgZWdhIHZhamEga29udHJvbGxpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJQZWFsZXN1bm5pdHVkIGtvbnRyb2xsIGZhaWxpc/xzdGVlbWlsICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIkZhaWxpc/xzdGVlbSAlcyBvbiBcIm11c3RcIiBqYSB2YWphYiBrb250cm9sbGlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGkta2lyamV0IGthc3V0dXNlbCAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB0c29vbmkga2FzdXR1c2VsICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCB0YXZhbGlzdCBmYWlsaVxuIgorIiU2ZCBrYXRhbG9vZ2lcbiIKKyIlNmQgc/xtYm9sc2VhZGV0XG4iCisiJTZkIHBsb2trc2VhZGV0XG4iCisiJTZkIHZpaWRldFxuIgorIiU2ZCBuaW1ldmlpZGV0XG4iCisiLS0tLS0tXG4iCisiJTZkIGZhaWxpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGQUlMSVPcU1RFRU1JIFNBSSBNVVVERVRVRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiJXMgYXZhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogbHVnZW1pc2UgdmlnYSBmYWlsaXMgJXNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJzZWt0b3JpdGUgYXJ2OiAlZCwgc2VrdG9yaSBzdXVydXM6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPiAuLi5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJ2aWdhbmUgYXJ2OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImv2aXRlIG5pbWkgb24gbGlpZ2EgcGlrayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1OAorbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJmcy1uaW1pIG9uIGxpaWdhIHBpa2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJwbG9ra2lkZSBhcnZ1IGFyZ3VtZW50IG9uIGxpaWdhIHN1dXIsIG1ha3NpbXVtIG9uICVsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgImxpaWdhIHBhbGp1IGkta2lyamVpZCAtIG1ha3NpbXVtIG9uIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAicG9sZSBwaWlzYXZhbHQgdmFiYSBydXVtaSwgdmFqYSBvbGVrcyB25GhlbWFsdCAlbHUgcGxva2tpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiU2VhZGU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiS/ZpZGU6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIkZTbmltaTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJQbG9raSBzdXVydXM6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJLWtpcmplaWQ6ICVkICgxIHBsb2tpcylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJLWtpcmplaWQ6ICVkICglbGQgcGxva2lzKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiUGxva2tlOiAlbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSS1raXJqZXRlIGz1cHA6ICVkLCBhbmRtZXRlIGz1cHA6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgInZpZ2Egc3VwZXJwbG9raSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgInZpZ2EgdGlwbWlzZSBpLWtpcmplIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4OAorbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgInZpZ2EgaS1raXJqZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk3Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJ2aWdhIC4ga2lyamUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAidmlnYSAuLiBraXJqZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAidmlnYSAlcyBzdWxnZW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogbWtmcyBbLVZdIFstdCBmc3T8/HBdIFtmcy129XRtZWRdIHNlYWRlIFtzdXVydXNdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBpbmNsdWRlL2MuaDoyMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQzNQorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MSBsb2dpbi11dGlscy9zdWxvZ2luLmM6Nzk1IHN5cy11dGlscy9mbG9jay5jOjEyMQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTUgdGVybS11dGlscy9zY3JpcHQuYzo2MTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAianV1cmthdGFsb29naSBpLWtpcmplIGVpIGtpcmplbGRhIGthdGFsb29naSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiVmlnYW5lIGFydjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAiSG9pYXR1czogaS1raXJqZXRlIGFydiBvbiBsaWlnYSBzdXVyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJIb2lhdHVzOiBpLWtpcmpldGUgYXJ2IG9uIGxpaWdhIHN1dXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIlNpc2VzdGFnZSBzaWxpbmRyaXRlIGFydjogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJib290LXBsb2traSBzZWVraW1pbmUgdGFiZWxpdGUga2lyanV0YW1pc2VsIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiZWkgc3V1ZGEgcHVoYXN0YWRhIGJvb3Qtc2VrdG9yaXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgc3VwZXJwbG9ra2kiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBpLWtpcmpldGUga2FhcnRpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSB0c29vbmlkZSBrYWFydGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBpLWtpcmplaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgcGxva2kga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInBsb2tpIGtpcmp1dGFtaW5lIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgImxpaWdhIHBhbGp1IHZpZ2FzZWlkIHBsb2trZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAibGlpZ2EgduRoZSBrb3JyYXMgcGxva2tlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWxkIGkta2lyamV0XG4iCittc2dzdHJbMV0gIiVsZCBpLWtpcmpldFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsZCBwbG9ra2lcbiIKK21zZ3N0clsxXSAiJWxkIHBsb2traVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJUc29vbmkgc3V1cnVzPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyJNYXguIHN1dXJ1cz0lbGRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgcGxva2tpZGUgdGVzdGltaXNlbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJJbWVsaWt1ZCB25ORydHVzZWQgZnVua3RzaW9vbmlzIGRvX2NoZWNrIC0gaWxtc2VsdCBidWdpZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCBwbG9ra2lkZSBrb250cm9sbGltaXNlbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAidmlnYXNlZCBwbG9raWQgZW5uZSBhbmRtZXBpaXJrb25kYSAtIGVpIHN1dWRhIGZhaWxpc/xzdGVlbWkgdGVraXRhZGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0MSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIHZpZ2FzdCBwbG9ra2lcbiIKK21zZ3N0clsxXSAiJWQgdmlnYXN0IHBsb2traVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiZWkgc3V1ZGEgdmlnYXN0ZSBwbG9ra2lkZSBmYWlsaSBhdmFkYSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIkVpIHN1dWRhIGtldHRhbHQgbHVnZWRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI1IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIG9uIG1vbnRlZXJpdHVkIC0gc2lpYSBmYWlsaXP8c3RlZW1pIGVpIHRlZSEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYSBwb29sdCBt5ORyYXR1ZCBsZWhla/xsamUgc3V1cnVzICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJLYXN1dGFuIGV0dGVhbnR1ZCBsZWhla/xsamUgc3V1cnVzdCAlZCwgbWl0dGUgc/xzdGVlbXNlaWQgJWQvJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgImxpaWdhIHBhbGp1IHZpZ2FzZWlkIGxlaGVr/GxnaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCBwbG9ra2lkZSBrb250cm9sbGltaXNlbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVkIHZpZ2FzdCBsZWhla/xsZ2VcbiIKK21zZ3N0clsxXSAiJWQgdmlnYXN0IGxlaGVr/GxnZVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGkta2lyamV0ZSBwdWh2cmlsZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUgaS1raXJqZXRlIHB1aHZyaWxlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYzIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg5IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM2Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAiZWkgc3V1ZGEgdGFnYXNpIGtlcmlkYSBzYWFsaW1pc3NlYWRldCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImVpIHN1dWRhIHB1aGFzdGFkYSBib290LXNla3Rvcml0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiZWkgc3V1ZGEgcHVoYXN0YWRhIGJvb3Qtc2VrdG9yaXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgIHAgICBu5GlkYXRhIEJTRCBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgcyAgIG7kaWRhdGEgdORpZWxpa2t1IHBhcnRpdHNpb29uaXRhYmVsaXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIkthc3V0YWdlICVzIC1sIGx1YmF0dWQgc2hlbGxpZGUgbmltZWtpcmphIHZhYXRhbWlzZWtzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgc2lnbmF0dXVyaWdhIGxlaGVr/GxnZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODIKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICJWaWdhICVzIHN1bGdlbWlzZWxcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJWaWdhICVzIHN1bGdlbWlzZWxcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICIlczogVmlnYSAtIGVpIG9sZSD2ZWxkdWQsIGt1aHUgc2FhbGltaXNhbGEgdGVraXRhZGFcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiJXM6IFZpZ2EgLSBzdXVydXMgJWxkIG9uIHN1dXJlbSBrdWkgc2VhZG1lIG1haHQgJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiJXM6IFZpZ2EgLSBzYWFsaW1pc2FsYSBwZWFiIG9sZW1hIHbkaGVtYWx0ICVsZGtCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiJXM6IEhvaWF0dXMgLSBwaWlyYW4gc2FhbGltaXNhbGEgJWxkIGtCLWdhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIiVzIG9uIG1vbnRlZXJpdHVkIC0gc2lpYSBmYWlsaXP8c3RlZW1pIGVpIHRlZSEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJFaSBzdXVkYSBzYWFsaW1pc2FsYSB0ZWtpdGFkYTogc2VhZGUgcG9sZSBsb2V0YXYiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiVGVraXRhbiBzYWFsaW1pc2FsYSB2ZXJzaW9vbmlnYSAlZCwgc3V1cnVzID0gJWx1IEtpQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjIFhYWCBzdGF0J2lkYQorIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIGkta2lyamVpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJUcvxra2lkYSBsaWh0c2FsdCB0YWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4CisjLCBmdXp6eQorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIkVpIGtpcmp1dGFudWQgcGFydGl0c2lvb25pdGFiZWxpdCBrZXR0YWxlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIktpcmp1dGFuIHBhcnRpdHNpb29uaXRhYmVsaXQga2V0dGFsZS4uLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTIxIHN5cy11dGlscy9sb3NldHVwLmM6NjMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIkhvaWF0dXM6ICVzIHBvbGUgcGxva2tzZWFkZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiSG9pYXR1czoga3VzdHV0YW4gcGFydGl0c2lvb25pZCBw5HJhc3QgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIkhvaWF0dXM6IGt1c3R1dGFuIHBhcnRpdHNpb29uaWQgcORyYXN0ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIlNlZSBwYXJ0aXRzaW9vbiBvbiBqdWJhIG9sZW1hc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIklnbm9yZWVyaW4gbGlzYS1leHRlbmRlZCBwYXJ0aXN0c2lvb25pICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJlaSBzaXNhbGR1IHBhcnRpdHNpb29uaXMgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbmlkICVzICIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICLcaHRlZ2kgcGFydGl0c2lvb25pIHBvbGUgZGVmaW5lZXJpdHVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiSG9pYXR1czoga3VzdHV0YW4gcGFydGl0c2lvb25pZCBw5HJhc3QgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIkhvaWF0dXM6IGt1c3R1dGFuIHBhcnRpdHNpb29uaWQgcORyYXN0ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICLcaHRlZ2kgcGFydGl0c2lvb25pIHBvbGUgZGVmaW5lZXJpdHVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIklnbm9yZWVyaW4gbGlzYS1leHRlbmRlZCBwYXJ0aXN0c2lvb25pICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiAgIHAgICBu5GlkYXRhIEJTRCBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEt1c3R1dGFkYSBqb29rc2V2IHBhcnRpdHNpb29uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwIHN5cy11dGlscy9sc21lbS5jOjUwNQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU2IHN5cy11dGlscy9sc21lbS5jOjUwMworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3QtdHlwZXMgICAgIGxpc3Qgc3VwcG9ydGVkIHBhcnRpdGlvbiB0eXBlcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICIiCisiUGFydGl0c2lvb25pdGFiZWxpdCBvbiBtdXVkZXR1ZCFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiVPxoamEgcGFydGl0c2lvb25pIGVpIHNhYSBrdXN0dXRhZGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkhvaWF0dXM6ICVzIHBvbGUgcGxva2tzZWFkZVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIi9kZXYvJXMgcG9sZSBz/G1ib2xzZWFkZSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIiVzIHBvbGUgcGxva2tzZWFkZSIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDkKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAidmlnYSB0ZWVudXNlIHBlYXRhbWlzZWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJ2aWdhIHRlZW51c2UgcGVhdGFtaXNlbDogJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgc2lnbmF0dXVyaWdhIGxlaGVr/GxnZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBzaWduYXR1dXJpZ2EgbGVoZWv8bGdlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NQorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJLYXMgc29vdml0ZSBsdXVhIHBhcnRpdHNpb29uaXRhYmVsaXQ/ICh5L24pICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiIgorIlBhcnRpdHNpb29uaXRhYmVsaXQgb24gbXV1ZGV0dWQhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiUGFydGl0c2lvb25pdGFiZWxpdCBvbiBtdXVkZXR1ZCFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzQKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklEICBOaW1pXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiUGFydGl0c2lvb25pdGFiZWxpdCBlaSBvbGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJrb2trdTogJWQgcGxva2tpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk0IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzIgZGlzay11dGlscy9zZmRpc2suYzoxMDk2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTEgZGlzay11dGlscy9zZmRpc2suYzoxMjA3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MQorIywgZnV6enkKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvciBQTUJSIG9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NjcgZGlzay11dGlscy9zZmRpc2suYzo5MTQgZGlzay11dGlscy9zZmRpc2suYzoxMDM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDEgZGlzay11dGlscy9zZmRpc2suYzoxMTU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTA5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlNlYWRlICVzIGVpIHNpc2FsZGEg5HJhdHVudGF2YXQgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiUGFydGl0c2lvb25pdGFiZWxpdCBlaSBvbGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIlNlYWRlICVzIGVpIHNpc2FsZGEg5HJhdHVudGF2YXQgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlZCBrYXR0dWIgcGFydGl0c2lvb25pZ2EgJWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMQorIywgZnV6enkKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJTZWFkZSAlcyBlaSBzaXNhbGRhIORyYXR1bnRhdmF0IHBhcnRpdHNpb29uaXRhYmVsaXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIlNlYWRlICVzIGVpIHNpc2FsZGEg5HJhdHVudGF2YXQgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICJTZWFkZSAlcyBlaSBzaXNhbGRhIORyYXR1bnRhdmF0IHBhcnRpdHNpb29uaXRhYmVsaXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg3CisjLCBmdXp6eQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKKyMsIGZ1enp5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3ICAga2lyanV0YWRhIHRhYmVsIGtldHRhbGUgamEgduRsanVkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICBu5GlkYXRhIEJTRCBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTQKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxILFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKKyMsIGZ1enp5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsaXQgZWkgc2FhIHNhbHZlc3RhZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1CisjLCBmdXp6eQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICBuICAgICAgICAgIEx1dWEgdXVzIHBhcnRpdHNpb29uIHZhYmEgcnV1bWkgc2lzc2UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyOAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NDcKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIkVpIGxlaWRudWQg/Gh0ZWdpIHBhcnRpdHNpb29uaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKKyMsIGZ1enp5Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiIgorIlZhbG1pc1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjYKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAixHJhIGxvbyBwYXJ0aXRzaW9vbmkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIHRhYmVsaXRlIGtpcmp1dGFtaXNlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwMgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiS2FzIHNvb3ZpdGUgbHV1YSBwYXJ0aXRzaW9vbml0YWJlbGl0PyAoeS9uKSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNQorbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1CisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODczCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICJTaXNldGFnZSBwZWFkZSBhcnY6ICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg0CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODgKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDE1Cittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzEKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgcGFrZXRpc3QgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNworbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTMwCittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE3MgorbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiTXV1ZGFuIGthc3V0YWphICVzIGtvaHRhIGvkaXZhdCBpbmZvcm1hdHNpb29uaVxuIgorCisjOiBpbmNsdWRlL2MuaDozMTgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICJrYXN1dGFtaW5lOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzIyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogaW5jbHVkZS9jLmg6MzI1Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzI2CisjLCBmdXp6eQorbXNnaWQgImRpc3BsYXkgdmVyc2lvbiIKK21zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5NSBzeXMtdXRpbHMvcnRjd2FrZS5jOjI5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTEKKyM6IHRleHQtdXRpbHMvY29sLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJLaXJqdXRhbWlzZSB2aWdhIHNlYWRtZWwgJXNcbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiU2lzc2Vsb2dpbWlzZXN0IGxpaW5pbCAlcyBtYXNpbmFzdCAlcyBrZWVsZHV0YWtzZSB2YWlrZXJlZWdsaSB09XR0dVxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiU2lzc2Vsb2dpbWlzZXN0IGxpaW5pbCAlcyBtYXNpbmFzdCAlcyBrZWVsZHV0YWtzZSB2YWlrZXJlZWdsaSB09XR0dVxuIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXR1YWxseSBleGNsdXNpdmUgYXJndW1lbnRzOiIKK21zZ3N0ciAiJXM6IFb1dG1lZCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvbiB2YXN0YXN0aWtrdSB25Gxpc3RhdmFkXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiVPxoaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiRXh0ZW5kZWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKKyMsIGZ1enp5Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCBidXV0aXYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIgQm9vdCBNYW5hZ2VyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorIywgZnV6enkKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIldpbjk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworIywgZnV6enkKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIldpbjk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorIywgZnV6enkKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIldpbjk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorIywgZnV6enkKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIldpbjk1IEV4dCdkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJQZWlkZXR1ZCBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGlrYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiUGVpZGV0dWQgRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIlBlaWRldHVkIEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIlBlaWRldHVkIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCisjLCBmdXp6eQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlBlaWRldHVkIFdpbjk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorIywgZnV6enkKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJQZWlkZXR1ZCBXaW45NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKKyMsIGZ1enp5Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiUGVpZGV0dWQgV2luOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIlBlaWRldHVkIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQcmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMi4gcGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIlFOWDQueCAzLiBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFjayBETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCB29WkgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2NTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJWYW5hIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIHZhbmEgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eGkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggZXh0ZW5kZWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIHZvbHVtZSBzZXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggZXh0MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuYXRzaW9vbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorIywgZnV6enkKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIHBlaWRldHVkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorIywgZnV6enkKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiV2luOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mgc2VrdW5kLiAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TIHNla3VuZC4gKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUyBzZWt1bmQuIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJNaXR0ZS1GUyBhbmRtZWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCBVdGlsaXR5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBhY2Nlc3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKKyMsIGZ1enp5Cittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyL0ZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJMaW51eC9QQS1SSVNDIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBzZWt1bmRhYXJuZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eGkgaXNlYXZhc3R1diByYWlkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiSG9pYXR1czogJXMgcG9sZSBwbG9ra3NlYWRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MworIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICLcaHRlZ2kgcGFydGl0c2lvb25pIHBvbGUgZGVmaW5lZXJpdHVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiVmFiYWQgc2VrdG9yaWQgb24gb3RzYXNcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgcG9sZSB2ZWVsIG9sZW1hcyFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlcyBzaXNhbGRhYiB2aWdhc3QgYWxnc2VrdG9yaXQgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIlNlYWRtZWwgJXMgZWkgb2xlIEJTRCBwYXJ0aXRzaW9vbmlcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJzaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlZpaW1hbmUgJXMgdvVpICtzdXVydXMgdvVpICtzdXVydXNNIHb1aSArc3V1cnVzSyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NiBsaWJmZGlzay9zcmMvZG9zLmM6MTIxOCBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworIywgZnV6enkKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVmlpbWFuZSAlcyB29WkgK3N1dXJ1cyB29WkgK3N1dXJ1c00gdvVpICtzdXVydXNLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIGVpIHNpc2FsZGEgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJLYXMgc29vdml0ZSBsdXVhIHBhcnRpdHNpb29uaXRhYmVsaXQ/ICh5L24pICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OAorIywgZnV6enkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJrZXRhczogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJMaXB1ZCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYmFkc2VjdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgImJhaXRpIHNla3RvcmlzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAicmFkYSBzaWxpbmRyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODUKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yaXQgc2lsaW5kcmlzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkwIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI4CisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTk3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJzaWxpbmRyaWQgKEMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJycG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDAgbGliZmRpc2svc3JjL3NnaS5jOjI5MSBsaWJmZGlzay9zcmMvc3VuLmM6NzkzCisjLCBmdXp6eQorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDUKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTAKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJjeWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorIywgZnV6enkKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJyYWphbHQgcmFqYWxlIHNlZWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJhaXRpIHNla3RvcmlzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEzCittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdG9yaXQgcmFqYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInJhZGEgc2lsaW5kcmlzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJzaWxpbmRyaXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTkKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JpdCBzaWxpbmRyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInJhamFsdCByYWphbGUgc2VlayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiQm9vdHN0cmFwOiAlc2Jvb3QgLT4gYm9vdCVzICglcyk6ICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwMworIywgZnV6enkKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJCb290c3RyYXAga2F0dHViIHBhcnRpdHNpb29uaXRhYmVsaWdhIVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiQm9vdHN0cmFwIHNhaSBpbnN0YWxsaXR1ZCBzZWFkbWVsZSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiS2V0dGFzZWFkZTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorIywgZnV6enkKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiS2lyanV0YW4gcHVodnJlaWQga2V0dGFsZVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiAgIHggICBzaWR1ZGEgQlNEIHBhcnRpdHNpb29uIG1pdHRlLUJTRCBwYXJ0aXRzaW9vbmlnYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTYKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkZzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkthc3V0YW4gaW9jdGwoKSBwYXJ0aXRzaW9vbml0YWJlbGkgdXVlc3RpIGx1Z2VtaXNla3NcbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKKyMsIGZ1enp5Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIkxvZW4gdXVlc3RpIHBhcnRpdHNpb29uaXRhYmVsaXQuLi5cbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisiSE9JQVRVUzogUGFydGl0c2lvb25pdGFiZWxpIHV1ZXN0aSBsdWdlbWluZSBlaSD1bm5lc3R1bnVkLFxuIgorInR1bGkgdmlnYSAlZDogJXNcbiIKKyJUdXVtIGthc3V0YWIgZW5kaXNlbHQgdmFuYSB0YWJlbGl0LFxuIgorInV1cyB0YWJlbCBoYWtrYWIga2VodGltYSBq5HJnbWlzZXN0IGJ1dWRpc3QgYWxhdGVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBzeXN0ZW0gaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiAlenUgdG8gc3lzdGVtIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAiIgorIlxuIgorIkhPSUFUVVM6IFBhcnRpdHNpb29uaXRhYmVsaSB1dWVzdGkgbHVnZW1pbmUgZWkg9W5uZXN0dW51ZCxcbiIKKyJ0dWxpIHZpZ2EgJWQ6ICVzXG4iCisiVHV1bSBrYXN1dGFiIGVuZGlzZWx0IHZhbmEgdGFiZWxpdCxcbiIKKyJ1dXMgdGFiZWwgaGFra2FiIGtlaHRpbWEgauRyZ21pc2VzdCBidXVkaXN0IGFsYXRlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0CisjLCBmdXp6eQorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gInNpbGluZGVyIgorbXNnc3RyWzFdICJzaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1CisjLCBmdXp6eQorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAic2VrdG9yIgorbXNnc3RyWzFdICJzZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTM4OAorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxMworIywgZnV6enkKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJMb29naWxpc2VkIHBhcnRpdHNpb29uaWQgb24gZvz8c2lsaXNlc3QgZXJpbmV2YXMgauRyamVzdHVzZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIlZhYmFkIHNla3RvcmlkIG9uIG90c2FzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICIiCisiJXMlcy5cbiIKKyJUZSBzYWF0ZSBzZWRhIHRlaGEgbGlzYWZ1bmt0c2lvbmFhbHN1c2UgbWVu/PxzdC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbm5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlZpZ2FuZSBvZmZzZXQgcHJpbWFhcnNlcyBleHRlbmRlZC1wYXJ0aXRzaW9vbmlzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJIb2lhdHVzOiD8bGVsaWlnbmUgJ2xpbmsgcG9pbnRlcicgcGFydGl0c2lvb25pdGFiZWxpcyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJIb2lhdHVzOiBpZ25vcmVlcmluIPxsZWxpaWdzZWlkIGFuZG1laWQgcGFydGl0c2lvb25pdGFiZWxpcyAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIkhvaWF0dXM6IHT8aGkgcGFydGl0c2lvb25cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiAgIHMgICBsdXVhIHV1cyB0/GhpIFN1bidpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgbXV1dGEgc2lzZXN0YW1pc2UgamEgdGFiZWxpIG7kaXRhbWlzZSD8aGlrdWlkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlZpZ2FuZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSWdub3JlZXJpbiBsaXNhLWV4dGVuZGVkIHBhcnRpc3RzaW9vbmkgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKyJIb2lhdHVzOiB2aWdhbmUgbGlwcCAweCUwNHggKHBhcnRpdHNpb29uaXRhYmVsaXMgJWQpIHBhcmFuZGF0YWtzZVxuIgorImtpcmp1dGFtaXNlbCAodykg5HJhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiVuTkcnR1cyBvbiBwaWlyaWRlc3QgduRsamFzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDc2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIxIGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzgKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlZCBvbiBqdWJhIG9sZW1hcy4gS3VzdHV0YWdlIHNlZSBlbm5lIHV1ZXN0aSBsaXNhbWlzdFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4NSBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzMAorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiVmFiYWQgc2VrdG9yaWQgb24gb3RzYXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlZpZ2FuZSBsb29naWxpbmUgcGFydGl0c2lvb24iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQgc2lzYWxkYWIgc2VrdG9yaXQgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGl0c2lvb24gJWQ6IHBlYSAlZCBvbiBzdXVyZW0ga3VpIHBlYWRlIGFydiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpdHNpb29uICVkOiBzZWt0b3IgJWQgb24gc3V1cmVtIGt1aSBzZWt0cm9pdGUgYXJ2IHJhamFsICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlZDogc2lsaW5kZXIgJWQgb24gc3V1cmVtIGt1aSBzaWxpbmRyaXRlIGFydiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiUGFydGl0c2lvb24gJWQ6IGVlbG5ldmF0ZSBzZWt0b3JpdGUgYXJ2ICVkIGVpIGtsYXBpIHN1bW1hcnNlZ2EgKCVkKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiIgorIlBhcnRpdHNpb29uaSAlZCBm/PxzaWxpbmUgamEgbG9vZ2lsaW5lIGFsZ3VzIGVpIGxhbmdlIGtva2t1OlxuIgorIihQb2xlIExpbnV4aSBvbWE/KVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgZvz8c2lsaW5lIGphIGxvb2dpbGluZSBs9XBwIGVpIGxhbmdlIGtva2t1OlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGl0c2lvb24gJWQgZWkgbPVwcGUgc2lsaW5kcmkgcGlpcmlsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBhcnRpdHNpb29uaWwgJWQgcG9sZSBhbmRtZXRlbGUgcnV1bWkgZXJhbGRhdHVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQga2F0dHViIHBhcnRpdHNpb29uaWdhICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVkIG9uIHT8aGlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMb29naWxpbmUgcGFydGl0c2lvb24gJWQgcG9sZSD8bGVuaSBwYXJ0aXRzaW9vbmlzICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiS29ndSBrYXN1dGF0YXVkIHNla3Rvcml0ZSBhcnYgJWQgb24gc3V1cmVtIGt1aSBzZWt0b3JpdGUga29ndWFydiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiVkIHZhYmEgc2VrdG9yaXRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIG9uIGp1YmEgb2xlbWFzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIk1ha3NpbWFhbG5lIGFydiBwYXJ0aXRzaW9vbmUgb24ganViYSBsb29kdWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiTG9vZ2lsaXNlZCBwYXJ0aXRzaW9vbmlkIG9uIGb8/HNpbGlzZXN0IGVyaW5ldmFzIGrkcmplc3R1c2VzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MyBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJMb29naWxpc2VkIHBhcnRpdHNpb29uaWQgb24gZvz8c2lsaXNlc3QgZXJpbmV2YXMgauRyamVzdHVzZXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKKyMsIGZ1enp5Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisiVGUgcGVhdGUga/VpZ2VwZWFsdCBt9W5lIHBhcnRpdHNpb29uaSBrdXN0dXRhbWEgamEgYXNlbWVsZVxuIgorImV4dGVuZGVkIHBhcnRpdHNpb29uaSB0ZWdlbWFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKKyMsIGZ1enp5Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIkxvb2dpbGlzZWQgcGFydGl0c2lvb25pZCBvbiBm/PxzaWxpc2VzdCBlcmluZXZhcyBq5HJqZXN0dXNlcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiUHJpbWFhcm5lIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorIywgZnV6enkKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiRXh0ZW5kZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJWaWdhbmUgbG9vZ2lsaW5lIHBhcnRpdHNpb29uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMb29naWxpbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3CisjLCBmdXp6eQorbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAibCAgIGxvb2dpbGlzZSBwYXJ0aXRzaW9vbmkgKDUtLi4uKSBsb29taW5lIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiVmlnYW5lIHBhcnRpdHNpb29uaSBudW1iZXIgdPz8YmlsZSBgJWMnXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiS2V0dGFzZWFkZTogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4CisjLCBmdXp6eQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIiIKKyJU/PxwIDAgdORoZW5kYWIgcGFsanVkZWxlIHP8c3RlZW1pZGVsZSB2YWJhXG4iCisicnV1bWkgKGFnYSBtaXR0ZSBMaW51eGlsZSkuIElsbXNlbHQgZWkgb2xlIG31aXN0bGlrXG4iCisidGVraXRhZGEgdPz8cGkgMCBwYXJ0aXRzaW9vbmUuIFRlIHNhYXRlIHBhcnRpdHNpb29uaVxuIgorImt1c3R1dGFkYSBr5HN1Z2EgJ2QnLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA3MworbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3CisjLCBmdXp6eQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIiIKKyJNaWRhZ2kgcG9sZSB2YWphIHRlaGEsIGrkcmplc3R1cyBvbiBqdWJhIPVpZ2VcbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIlBhcnRpdHNpb29uaWwgJWQgcG9sZSBhbmRtZXRlbGUgcnV1bWkgZXJhbGRhdHVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJBbmRtZXRlIHV1cyBhbGd1cyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVkIG9uIGV4dGVuZGVkLXBhcnRpdHNpb29uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlBhcnRpdHNpb29uaSAlZCB0/PxwIG9uIG78/GQgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIlNlYWRlIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJCdXV0aXYiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI1Cittc2dpZCAiSWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzQKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICB2YWxpZGEgYnV1dGl2IHBhcnRpdHNpb29uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHZhbGlkYSBidXV0aXYgcGFydGl0c2lvb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBQQyBQcmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIiAgIGQgICBrdXN0dXRhZGEgcGFydGl0c2lvb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiUm9oa2VtIHBhcnRpdHNpb29uZSBlaSBvbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4aSBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eGkgb21hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiTGludXggZXh0ZW5kZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5CisjLCBmdXp6eQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAibGlpZ2EgcGFsanUgYWx0ZXJuYXRpaXZzZWlkIGtpaXJ1c2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTMKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorIywgZnV6enkKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIERpYWdub3N0aWMiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGlrYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAga3VzdHV0YWRhIHBhcnRpdHNpb29uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjYxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiRXNpbWVuZSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIlZpaW1hbmUgJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJJZ25vcmVlcmluIGxpc2EtZXh0ZW5kZWQgcGFydGlzdHNpb29uaSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI1MAorIywgZnV6enkKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIklnbm9yZWVyaW4gbGlzYS1leHRlbmRlZCBwYXJ0aXN0c2lvb25pICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNsYXRlIHBhcnRpdGlvbiBuYW1lLCBuYW1lIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0NQorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorIlxuIgorIkJ1dXRwYXJ0aXRzaW9vbmkgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1MgorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJFaSBraXJqdXRhbnVkIHBhcnRpdHNpb29uaXRhYmVsaXQga2V0dGFsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTU2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjUKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJWaWdhbmUgcGFydGl0c2lvb25pIG51bWJlciB0/PxiaWxlIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJWQga2F0dHViIHBhcnRpdHNpb29uaWdhICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJLZXR0YWwgb24gcGFydGl0c2lvb25pZGUga2F0dHVtaW5lLiBQYXJhbmRhZ2Ugc2VlIGv1aWdlcGVhbHQhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiUGFydGl0c2lvb24gbPVwcGViIGVubmUgc2VrdG9yaXQgMCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiSW1lbGlrLCBhaW51bHQgICVkIHBhcnRpdHNpb29uaSBvbiBkZWZpbmVlcml1ZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiVmFiYWQgc2VrdG9yaWQgb24gb3RzYXNcbiIKK21zZ3N0clsxXSAiVmFiYWQgc2VrdG9yaWQgb24gb3RzYXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIG9uIGp1YmEgb2xlbWFzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLEcmEgbG9vIHBhcnRpdHNpb29uaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIiAgIHMgICBsdXVhIHV1cyB0/GhpIFN1bidpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0NgorbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY1MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIlZhYmFkIHNla3RvcmlkIG9uIG90c2FzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlcyBzaXNhbGRhYiB2aWdhc3QgYWxnc2VrdG9yaXQgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiTWFrc2ltYWFsbmUgYXJ2IHBhcnRpdHNpb29uZSBvbiBqdWJhIGxvb2R1ZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiUGFydGl0c2lvb25pICVkIHT8/HAgb24gbvz8ZCAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM0CisjLCBmdXp6eQorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVPz8cCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMyNAorbXNnaWQgIk5hbWUiCittc2dzdHIgIk5pbWkiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKKyMsIGZ1enp5Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiVmFiYSBydXVtIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgInR1bmRtYXR1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0kgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJ2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4aSBhbmRtZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiTGVpZHNpbiB2YWxlIGtvbnRyb2xsc3VtbWFnYSBTR0kgcGFydGl0c2lvb25pdGFiZWxpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRvz8c2lsaXNpIHNpbGluZHJlaWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODYgbGliZmRpc2svc3JjL3N1bi5jOjc4OAorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIkxpc2FzZWt0b3JlaWQgc2lsaW5kcmlsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiXG4iCisiVmlnYW5lIGJ1dXRmYWlsIVxuIgorIlx0QnV1dGZhaWwgcGVhYiBvbGVtYSBhYnNvbHV1dHNlIHRlZWdhIG1pdHRldPxoaSBzdHJpbmcsXG4iCisiXHRu5Gl0ZWtzIFwiL3VuaXhcIiB29WkgXCIvdW5peC5zYXZlXCJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiIgorIlxuIgorIlx0QnV1dGZhaWxpIG5pbWkgb24gbGlpZ2EgcGlrazogMTYgYmFpdGkgb24gbWFrc2ltdW1cbiIKK21zZ3N0clsxXSAiIgorIlxuIgorIlx0QnV1dGZhaWxpIG5pbWkgb24gbGlpZ2EgcGlrazogMTYgYmFpdGkgb24gbWFrc2ltdW1cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHRCdXV0ZmFpbCB0dWxlYiBhbmRhIHTkaXN0ZWVnYVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHRFdHRldmFhdHVzdCwgYnV1dGZhaWxpIG9sZW1hc29sdSBlaSBrb250cm9sbGl0YS5cbiIKKyJcdFNHSSB2YWlrZXbk5HJ0dXMgb24gXCIvdW5peFwiIGphIHZhcnV25ORydHVzIFwiL3VuaXguc2F2ZVwiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIiIKKyJcbiIKKyJBa3RpaXZuZSBidXV0ZmFpbCBvbiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJQYWx1biBzaXNlc3RhZ2UgdXVlIGJ1dXRmYWlsaSBuaW1pOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIkJ1dXRmYWlsIGrkaSBzYW1ha3NcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHRVdWVrcyBidXV0ZmFpbGlrcyBvbiBcIiVzXCJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorIywgZnV6enkKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJUYWJlbGlzIG9uIHJvaGVrbSBrdWkg/GtzIHRlcnZlIGtldHRhIGtpcmplXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICLcaHRlZ2kgcGFydGl0c2lvb25pIHBvbGUgZGVmaW5lZXJpdHVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWGlsZSBtZWVsZGliLCBldCBwYXJ0aXRzaW9vbiAxMSBrYXRhYiBrb2d1IGtldHRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIlRlcnZldCBrZXRhc3Qga2F0dGV2IHBhcnRpdHNpb29uIHBlYWIgYWxnYW1hIGtldHRhcGxva2lzdCAwLCBtaXR0ZSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI3CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiTWluZ2kgcGFydGl0c2lvb24gKHNvb3ZpdGF2YWx0IG51bWJlciAxMSkgcGVhYiBrYXRtYSBrb2d1IGtldHRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUGFydGl0c2lvb25pZCAlZCBqYSAlZCBrYXR0dXZhZCAlZCBzZWt0b3JpIHVsYXR1c2VzXG4iCittc2dzdHJbMV0gIlBhcnRpdHNpb29uaWQgJWQgamEgJWQga2F0dHV2YWQgJWQgc2VrdG9yaSB1bGF0dXNlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIkthc3V0YW1hdGEgYXVrICU4ZCBzZWt0b3Jpc3QgLSBzZWt0b3JpZCAlOGQtJWRcbiIKK21zZ3N0clsxXSAiS2FzdXRhbWF0YSBhdWsgJThkIHNla3RvcmlzdCAtIHNla3RvcmlkICU4ZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJCdXV0cGFydGl0c2lvb25pIGVpIGVrc2lzdGVlcmlcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisiU2FhbGltaXNwYXJ0aXRzaW9vbmkgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiIgorIlxuIgorIlNhYWxpbWlzcGFydGl0c2lvb25pbCBwb2xlIHNhYWxpbWlzcGFydGl0c2lvb25pIHT8/HBcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOAorIywgZnV6enkKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiXHRUZSBvbGV0ZSB2YWxpbnVkIGViYWhhcmlsaWt1IGJ1dXRmYWlsaSBuaW1lXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJLZXR0YWwgb24gcGFydGl0c2lvb25pZGUga2F0dHVtaW5lLiBQYXJhbmRhZ2Ugc2VlIGv1aWdlcGVhbHQhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKKyMsIGZ1enp5Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAi3HJpdGFuIGdlbmVyZWVyaWRhIHRlcnZlIGtldHRhIGtpcmpldCBhdXRvbWFhdHNlbHRcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorIywgZnV6enkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIlRlcnZlIGtldGFzIG9uIGp1YmEgcGFydGl0c2lvb25pZGVnYSBrYWV0dWRcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorIywgZnV6enkKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIktldHRhbCBvbiBwYXJ0aXRzaW9vbmlkZSBrYXR0dW1pbmUuIFBhcmFuZGFnZSBzZWUga/VpZ2VwZWFsdCFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJFc2ltZW5lICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKyJPbiD8bGltYWx0IHNvb3ZpdGF2LCBldCAxMS4gcGFydGl0c2lvb24ga2F0YWtzIGtvZ3Uga2V0dGFcbiIKKyJqYSBvbGVrcyB0/PxwaSBcIlNHSSB2b2x1bWVcIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlZpaW1hbmUgJXMgdvVpICtzdXVydXMgdvVpICtzdXVydXNNIHb1aSArc3V1cnVzSyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NCBsaWJmZGlzay9zcmMvc3VuLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBzICAgbHV1YSB1dXMgdPxoaSBTdW4naSBwYXJ0aXRzaW9vbml0YWJlbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICJLYWhqdWtzIHNhYmEgYWludWx0IHJvb3Qgc/xzdGVlbWlrZWxhbCBrZWVyYXRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1CisjLCBmdXp6eQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKyJLYWFsdWdlIHBhcnRpdHNpb29uaSA5IGrkdG1pc3Qga/ZpdGUgcORpc2VrcyAoMCkgamFcbiIKKyJwYXJ0aXRzaW9vbmkgMTEgauR0bWlzdCB0ZXJ2ZWtzIGtldHRha3MgKDYpIG5hZ3UgSVJJWCBzZWRhIGVlbGRhYlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJPbiD8bGltYWx0IHNvb3ZpdGF2LCBldCBwYXJ0aXRzaW9vbiBhbGF0ZXMgcGxva2lzdCAwIG9sZWtzXG4iCisidPz8cGkgXCJTR0kgdm9saGRyXCIsIHNlc3QgSVJJWGlsIHP1bHR1YiBzZWxsZXN0IG9tYSBidXV0aW1pc2FlZ3NldGVcbiIKKyJ1dGlsaWl0aWRlIChzYXNoLCBmeCwgaWRlKSBr5HR0ZSBzYWFtaW5lLiBBaW51bHQgXCJTR0kgdm9sdW1lXCIgdPz8cGlcbiIKKyJ0ZXJ2ZSBrZXR0YSBraXJqZSB0b2hpYiBzZWRhIHJlZWdsaXQgcmlra3VkYS5cbiIKKyJLdWkgb2xldGUga2luZGVsLCBldCBzb292aXRlIHNlZGEgdPz8cGkgbXV1dGEsIGtpcmp1dGFnZSBZRVNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiVGVydmUga2V0YXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorIywgZnV6enkKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiJWQgdmFiYSBzZWt0b3JpdFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKKyMsIGZ1enp5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiIgorIkxlaWRzaW4gdmFsZSBrb250cm9sbHN1bW1hZ2EgU3VuaSBwYXJ0aXRzaW9vbml0YWJlbGkuXG4iCisiVPVlbuRvbGlzZWx0IHR1bGViIFRlaWwgc2VhZGEga/VpayB25ORydHVzZWQsIHMudC5cbiIKKyJwZWFkZSwgc2VrdG9yaXRlIGphIHNpbGluZHJpdGUgYXJ2IG5pbmcgcGFydGl0c2lvb25pZFxuIgorInb1aSBsdXVhIHV1cyB0YWJlbCAoa+RzdWdhIHMgcPVoaW1lbvz8c3QpLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiTGVpZHNpbiB2YWxlIGtvbnRyb2xsc3VtbWFnYSBTR0kgcGFydGl0c2lvb25pdGFiZWxpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIkxlaWRzaW4gdmFsZSBrb250cm9sbHN1bW1hZ2EgU0dJIHBhcnRpdHNpb29uaXRhYmVsaVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIkxlaWRzaW4gdmFsZSBrb250cm9sbHN1bW1hZ2EgU0dJIHBhcnRpdHNpb29uaXRhYmVsaVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICIiCisiSG9pYXR1czogdmlnYW5lIGxpcHAgMHglMDR4IChwYXJ0aXRzaW9vbml0YWJlbGlzICVkKSBwYXJhbmRhdGFrc2VcbiIKKyJraXJqdXRhbWlzZWwgKHcpIORyYVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTg3Cittc2dpZCAiSGVhZHMiCittc2dzdHIgInBlYWQgKEgpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VrdG9yZWlkIHJhamFsIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICBsdXVhIHV1cyB0/GhpIFN1bidpIHBhcnRpdHNpb29uaXRhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlZCBlaSBs9XBwZSBzaWxpbmRyaSBwaWlyaWxcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJQYXJ0aXRzaW9vbiAlZCBrYXR0dWIgdGVpc3RlZ2Egc2VrdG9yaXRlcyAlZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiS2FzdXRhbWF0YSB2YWhlbWlrIC0gc2VrdG9yaWQgMC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY2IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiS2FzdXRhbWF0YSB2YWhlbWlrIC0gc2VrdG9yaWQgJWQtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorIywgZnV6enkKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKyJUZWlzZWQgcGFydGl0c2lvb25pZCBrYXRhdmFkIGp1YmEga29ndSBrZXR0YS5cbiIKKyJLdXN0dXRhZ2UgdvVpIHbkaGVuZGFnZSBuZWlzdCBt9W5kYSBqYSBwcm9vdmlnZSB1dWVzdGlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyJPbiD8bGltYWx0IHNvb3ZpdGF2LCBldCAxMS4gcGFydGl0c2lvb24ga2F0YWtzIGtvZ3Uga2V0dGFcbiIKKyJqYSBvbGVrcyB0/PxwaSBcIlNHSSB2b2x1bWVcIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIktvbG1hcyBwYXJ0aXRzaW9vbiBlaSBrYXRhIGtvZ3Uga2V0YXN0LCBhZ2Egc2lzZXNhdHVkIHbk5HJ0dXMgJWQgJXNcbiIKKyJrYXRhYiBtaW5naSBtdXUgcGFydGl0c2lvb25pLiBTaXNlc3RhdHVkIGtpcmplIHV1ZWtzIHbk5HJ0dXNla3Mgb24gJWQgJXNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjczOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJLdWkgc29vdml0ZSBob2lkYSD8aGlsZHV2dXN0IFN1bk9TJ2kvU29sYXJpc2VnYSwgauR0a2Ugc2VlIHBhcnRpdHNpb29uXG4iCisia29ndSBrZXRhc3Qga2F0bWEgKDUpLCBhbGd1c2VrcyAwLCBwaWtrdXNla3MgJXUgc2VrdG9yaXRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAibeRyZ2VuZDogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiS/ZpZGU6IDwlLTZzPlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWx0ZXJuYXRpaXZzZWlkIHNpbGluZHJlaWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWx0ZXJuYXRpaXZzZXRlIHNpbGluZHJpdGUgYXJ2IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTA5Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIkxpc2FzZWt0b3JlaWQgc2lsaW5kcmlsIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIlZhaGVsZWrkdHUgdGVndXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NTcKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiUPb2cmxlbWlza2lpcnVzIChycG0pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTgxCittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRvz8c2lsaXN0ZSBzaWxpbmRyaXRlIGFydiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiU29vdml0YXYgb24gauR0dGEgcGFydGl0c2lvb24gMyB0ZXJ2ZWtzIGtldHRha3MgKDUpLFxuIgorInNlc3QgU3VuT3MvU29sYXJpcyBlZWxkYWIgc2VkYSBqYSBzZWUgbWVlbGRpYiBpc2VnaSBMaW51eGlsZS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiT24g/GxpbWFsdCBzb292aXRhdiwgZXQgcGFydGl0c2lvb24sIG1pcyBhbGdhYiAwLiBzZWt0b3Jpc3RcbiIKKyJvbGVrcyBVRlMsIEVYVDJGUyB29WkgU3VuT1NpIHNhYWxpbWlzYWxhLiBMaW51eGkgc2FhbGltaXNhbGFcbiIKKyJzaW5uYSBraXJqdXRhbWluZSB29WliIGjkdml0YWRhIHBhcnRpdHNpb29uaXRhYmVsaSBqYSBhbGdsYWFkZXBsb2tpLlxuIgorInNpc2VzdGFnZSBZRVMsIGt1aSBvbGV0ZSB09WRlc3RpIGtpbmRsYWQsIGV0IHRhaGF0ZSBwYXJ0aXRzaW9vbmkgdPz8Ymlrc1xuIgorInBhbm5hIDgyIChMaW51eGkgc2FhbGltaXNhbGEpOiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHQuYzoyMzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiS2V0YXN0IHNhaSBtdXVkZXR1ZFxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHBvaW50IGluICVzIgorbXNnc3RyICIlczogZWkgbGVpYSBwcm90c2Vzc2kgXCIlc1wiXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICIlczogZWkgc3V1ZGEgbHVnZWRhICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgc291cmNlIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9uczogJW0iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEgdGFnYXNpIGtlcmlkYSBzYWFsaW1pc3NlYWRldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE0IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvY2tpbmcgZmFpbGVkIgorbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICIlczogJXMg/G1iZXIgbmltZXRhbWluZSAlcyAta3MgZWkg9W5uZXN0bnVkOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiaWRlbnRpZmlrYWF0b3JpbGUgcG9sZSD1aWd1c2kiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJLZWxsYSBzZWFkbWlzZWtzIHBlYWIgb2xlbWEgcm9vdFxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgIiVzOiBcIiVzXCIgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiS2V0YXN0IHNhaSBtdXVkZXR1ZFxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICJLZXRhc3Qgc2FpIG11dWRldHVkXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IEthc3V0YWphdCBcIiVzXCIgcG9sZSBvbGVtYXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkIG1vdW50IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcywgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkIHN1cGVyYmxvY2sgb24gJXMiCittc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMgbHVnZW1pc2VrcyBqYSBraXJqdXRhbWlzZWtzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIm1vdW50OiBlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMga2lpcnVzZSBzZWFkbWlzZWtzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJpbmQgJXMgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAiZWkg/HJpdGEgbHV1YSBmYWlsaXP8c3RlZW1pIHNlYWRtZWxlIGAlcyciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4OQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IGVpIHN1dWRhIGx1Z2VkYSAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiS2VsbGEgc2VhZG1pc2VrcyBwZWFiIG9sZW1hIHJvb3RcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBz9WlkYWIg/GxlIGtldHRhIG90c2FcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIzogbGliL3BhdGguYzoyMzkgc3lzLXV0aWxzL2xzY3B1LmM6MTc2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxODYKK21zZ2lkICJnZXRyYW5kb20oKSBmdW5jdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogc2VsbGlzdCBwYXJ0aXRzaW9vbmkgZWkgb2xlXG4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IFZpZ2EgLSB0dW5kbWF0dSB2ZXJzaW9vbiAlZFxuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDU5Cittc2dpZCAiZm9ybWF0X2lzb190aW1lOiBidWZmZXIgb3ZlcmZsb3cuIgorbXNnc3RyICIiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NzcgbGliL3RpbWV1dGlscy5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiYXJ2IGAlcycgdvV0bWVsZSBgJXMnIG9uIHbkbGphc3Bvb2wgbHViYXR1ZCB2YWhlbWlra3VcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiTXV1ZGFuIGthc3V0YWphICVzIGtvaHRhIGvkaXZhdCBpbmZvcm1hdHNpb29uaVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorIlsgLXAgdPb2dGVsZWZvbl1cbiIKKyJcdFsgLWgga29kdW5lIHRlbGVmb25dICIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgInbkbGkgb24gbGlpZ2EgcGlra1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxOTQgbG9naW4tdXRpbHMvY2hzaC5jOjE4NworbXNnaWQgImNhbm5vdCBoYW5kbGUgbXVsdGlwbGUgdXNlcm5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyNDgKKyMsIGZ1enp5Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJLYXRrZXN0YXR1ZFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb25pIGVpIG11dWRldHVkLiBQcm9vdmlnZSBoaWxqZW0gdXVlc3RpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiJXM6IFRlaWQgKGthc3V0YWphdCAlZCkgcG9sZSBvbGVtYXNcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMSBsb2dpbi11dGlscy9jaHNoLmM6Mjc4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIlczogS2FzdXRhamF0IFwiJXNcIiBwb2xlIG9sZW1hc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIiVzOiBhaW51bHQgbG9rYWFsc2VpZCBraXJqZWlkIHNhYWIgbXV1dGEgLSBrYXN1dGFnZSBwcm9ncmFtbWkgeXAlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlczogXCIlc1wiIHBvbGUga2lyamFzIGZhaWxpcyAvZXRjL3NoZWxsc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJNdXVkYW4ga2FzdXRhamEgJXMga29odGEga+RpdmF0IGluZm9ybWF0c2lvb25pXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIGVpIG11dXR1bnVkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiTXV1ZGFtZSBrYXN1dGFqYSAlcyBzaGVsbGlcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgwCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODEKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiJXM6IHNoZWxsaSBwZWFiIGFuZG1hIGtvb3MgdORpZWxpa3UgdGVlZ2FcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIGVpIGVrc2lzdGVlcmlcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIGVpIG9sZSB05GlkZXRhdlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkhvaWF0dXM6IFwiJXNcIiBwb2xlIGtpcmphcyBmYWlsaXMgL2V0Yy9zaGVsbHNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiJXM6IFwiJXNcIiBwb2xlIGtpcmphcyBmYWlsaXMgL2V0Yy9zaGVsbHNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXM6IFwiJXNcIiBwb2xlIGtpcmphcyBmYWlsaXMgL2V0Yy9zaGVsbHNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBUZWllIHNoZWxsIHBvbGUga2lyamFzIGZhaWxpcyAvZXRjL3NoZWxscywgc2hlbGxpIGVpIG11dWRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICJNdXVkYW1lIGthc3V0YWphICVzIHNoZWxsaVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJVdXMgc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTAKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJTaGVsbCBq5Gkgc2FtYWtzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsaSBlaSBtdXVkZXR1ZCwgcHJvb3ZpZ2UgaGlsamVtIHV1ZXN0aVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2hlbGxpIGVpIG11dWRldHVkLCBwcm9vdmlnZSBoaWxqZW0gdXVlc3RpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2hlbGwgb24gbXV1ZGV0dWRcbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbZmFpbF1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Mjc2IGxvZ2luLXV0aWxzL2xhc3QuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIiCisiXG4iCisia2F0a2VzdGF0dWQgJTEwLjEwcyAlNS41cyBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJ3dG1wIGFsZ2FiICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTcyIHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk5MyBsb2dpbi11dGlscy9sYXN0LmM6OTk4IGxvZ2luLXV0aWxzL2xhc3QuYzoxMDAzCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICJTYWF0dXNsaWsgdmlnYTogZWkgc3V1ZGEgdGFhc2F2YWRhIHRlcm1pbmFsaTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIiVzIHBvbGUgcGxva2tzZWFkZSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNoZGlyICgpIGthdGFsb29naSAvZGV2IGVpIPVubmVzdHVudWQ6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hkaXIgKCkga2F0YWxvb2dpIC9kZXYgZWkg9W5uZXN0dW51ZDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzgwCittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiVmlpbWF0aSBsb2dpbnVkOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgIm1hc2luYXN0ICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJ0ZXJtaW5hbGlsICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJESUFMVVAgQVQgJXMgQlkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09UIExPR0lOIE9OICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiTE9HSU4gT04gJXMgQlkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAibG9naW46ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgImxvZ2luOiBQQU0gdmlnYSwga2F0a2VzdGFuOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIkVpIHN1dXRudWQgaW5pdHNpYWxpc2VlcmlkYSBQQU0naTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGQUlMRUQgTE9HSU4gJWQgRlJPTSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJWQpIEZST00gJXMgRk9SICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBlaSD1bm5lc3R1bnVkOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6IFstI10gWy1mIGZhaWxdIFstdCB0dHldIFstaCBob3N0aW5pbWldIFtrYXN1dGFqYSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDUKK21zZ2lkICIgLWggPGhvc3Q+ICAgICAgaG9zdG5hbWUgdG8gYmUgdXNlZCBmb3IgdXRtcCBsb2dnaW5nIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNgorIywgZnV6enkKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIkxvZ2luIHRpbWVkIG91dCBhZnRlciAlZCBzZWNvbmRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggb24gYWludWx0IHN1cGVya2FzdXRhamFsZVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorIywgZnV6enkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiVGVpbGUgb24gdXVzaSBraXJqdVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiVGVpbGUgb24ga2lyanVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkxvZ2luIHNpc3NlIGtvZHVrYXRhbG9vZ2lnYSBcIi9cIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImxvZ2luOiBFaSBzdXV0bnVkIGvkaXZpdGFkYSBzaGVsbCBza3JpcHRpOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKKyMsIGZ1enp5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIlBvbGUgc2hlbGxpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgImVpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorIywgZnV6enkKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJrYXN1dGFqYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJFaSBtdXV0bnVkIHBhcm9vbGkuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIkVpIG11dXRudWQgcGFyb29saS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorIywgZnV6enkKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJtdXVkZXRpIGthc3V0YWphICVzIHBhcm9vbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJFaSBtdXV0bnVkIHBhcm9vbGkuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJsb2dpbjogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltYWFybmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIkthdGFsb29naSAlcyBwb2xlIVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiS2F0YWxvb2dpICVzIHBvbGUhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJQb2xlIHNoZWxsaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIlBvbGUgc2hlbGxpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICJWaWltYXRpIGxvZ2ludWQ6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgcG9sZSBwbG9ra3NlYWRlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgImxhc3Q6IGdldGhvc3RuYW1lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICJrYXRhbG9vZ2kgbHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIk1pc2tpIGVpIGtsYXBpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICJWYW5hIHBhcm9vbDogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJQYXJvb2wgb24gbvz8ZCBtdXVkZXR1ZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkxpbnV4IGV4dDMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IGVpIGxlaWEgcHJvdHNlc3NpIFwiJXNcIlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA2OAorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgInNpc2VtaW5lIHZpZ2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiVmlpbWF0aSBsb2dpbnVkOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI5Cittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMgorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMzCittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwIHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICBFc2ltZW5lICBWaWltYW5lXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDUgc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQzNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworIywgZnV6enkKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJQYXJvb2w6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTYwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5OTUKKyMsIGZ1enp5Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIm5ld2dycDogU2VsbGlzdCBncnVwcGkgcG9sZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworIywgZnV6enkKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIm5ld2dycDogS2VzIFRlIG5paXN1Z3VuZSBvbGV0ZT8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNyBsb2dpbi11dGlscy9uZXdncnAuYzoyMjkgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzQKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorIywgZnV6enkKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICJuZXdncnA6IFNlbGxpc3QgZ3J1cHBpIHBvbGUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorIywgZnV6enkKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIG9uIGp1YmEgb2xlbWFzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyMjQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcHNldWRvLXRlcm1pbmFsIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyNCBtaXNjLXV0aWxzL3V1aWRkLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDk0CisjLCBmdXp6eQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorIywgZnV6enkKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIlZhbGUgcGFyb29sIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc4NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayIKK21zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgZmFpbGkgYCVzJyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgIkVpIHN1dWRhIGtldHRhbCBzZWVraWRhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIkVpIHN1dWRhIGtldHRhbCBzZWVraWRhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAiRWkgc3V1ZGEga2V0dGFsIHNlZWtpZGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMDYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjQgc3lzLXV0aWxzL2VqZWN0LmM6NjYzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NworbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk4Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OQorIywgZnV6enkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMjMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM4Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogS2FzdXRhamF0IFwiJXNcIiBwb2xlIG9sZW1hc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCittc2dpZCAiLS1wdHkgaXMgbm90IHN1cHBvcnRlZCBmb3IgeW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTMyNgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQwCittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MworIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBLYXN1dGFqYXQgXCIlc1wiIHBvbGUgb2xlbWFzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzIHBvbGUgYXZhdHVkIGx1Z2VtaXNla3MgX2phXyBraXJqdXRhbWlzZWtzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzIHBvbGUgYXZhdHVkIGx1Z2VtaXNla3MgX2phXyBraXJqdXRhbWlzZWtzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIkthcyBUZSBzb292aXRlIHT1ZXN0aSBq5HRrYXRhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgImV4ZWMgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorIywgZnV6enkKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAiJXM6IEFpbnVsdCByb290IHNhYWIgc/xzdGVlbWkgc2Vpc2F0YVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIkVpIHN1dWRhIGvkaXZpdGFkYSBwcm9ncmFtbWkgJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICJFaSBzdXVkYSBr5Gl2aXRhZGEgcHJvZ3JhbW1pICVzOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogRWkgc3V1ZGEgYXZhZGEgZmFpbGkgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwNgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICIlczogZWkgc3V1ZGEgYXZhZGEgYWp1dGlzdCBmYWlsaVxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiQnV1dGZhaWwgauRpIHNhbWFrc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIgorbXNnc3RyICIlcyBwYWtldGlzdCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorbXNnaWQgIiAtaywgLS1saXN0LWZpbGVzeXN0ZW1zICAgICBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MAorbXNnaWQgIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTEKK21zZ2lkICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRva2VuPiAgZmluZCBkZXZpY2Ugd2l0aCBhIHNwZWNpZmljIHRva2VuIChOQU1FPXZhbHVlIHBhaXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBsb29rIHVwIG9ubHkgZmlyc3QgZGV2aWNlIHdpdGggdG9rZW4gc3BlY2lmaWVkIGJ5IC10XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgICAgIGNvbnZlcnQgTEFCRUwgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgZGV2aWNlKHMpIHRvIHByb2JlIChkZWZhdWx0OiBhbGwgZGV2aWNlcylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworIywgZnV6enkKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICAgb3ZlcndyaXRlIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiKGluIHVzZSkiCittc2dzdHIgIk3kcmtpZGEga2FzdXRhdHVrcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzOQorIywgZnV6enkKK21zZ2lkICIobm90IG1vdW50ZWQpIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyIKK21zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1OSBtaXNjLXV0aWxzL3dpcGVmcy5jOjY5NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICItLWRhdGUgcGFyYW1lZXRlciBvbiBwdXVkdVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6Nzc2Cittc2dpZCAiQ2FuIG9ubHkgc2VhcmNoIGZvciBvbmUgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3ODMKK21zZ2lkICItdCBuZWVkcyBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgzMworbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIGRvZXMgbm90IHN1cHBvcnQgJ2xpc3QnIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg0NgorbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIHJlcXVpcmVzIGEgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OTYKK21zZ2lkICJUaGUgbG9va3VwIG9wdGlvbiByZXF1aXJlcyBhIHNlYXJjaCB0eXBlIHNwZWNpZmllZCB1c2luZyAtdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJWaWdhbmUgYWFzdGEgbnVtYmVyLCBsdWJhdHVkIG9uIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIlZpZ2FuZSBwZWFkZSBhcnYiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc3IG1pc2MtdXRpbHMvY2FsLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIlZpZ2FuZSBhYXN0YSBudW1iZXIsIGx1YmF0dWQgb24gMS05OTk5IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJWaWdhbmUga3V1IG51bWJlciwgbHViYXR1ZCBvbiAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiB0dW5kbWF0dSBwcmlvcml0ZWVkaSBuaW1pOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIlZpZ2FuZSBwZWFkZSBhcnYiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgIlZpZ2FuZSBhYXN0YSBudW1iZXIsIGx1YmF0dWQgb24gMS05OTk5IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICJWaWdhbmUgYWFzdGEgbnVtYmVyLCBsdWJhdHVkIG9uIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiBjYWwgWy0xM3NtanlWXSBbW2t1dV0gYWFzdGFdXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorIywgZnV6enkKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA2Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDcKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIHVzZSBkYXktb2YteWVhciBmb3IgYWxsIGNhbGVuZGFyc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0gVGFiZWwgdGVrc3RpIGt1anVsICh1bWJlcyBuYWd1IHBlYWVrcmFhbmlsKSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEyCisjLCBmdXp6eQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTMKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MgorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjY0CisjLCBmdXp6eQorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbWluY29yZTogJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtbWFwOiAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMgWFhYIHN0YXQnaWRhCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIlBlYWxlc3Vubml0dWQga29udHJvbGwgZmFpbGlz/HN0ZWVtaWwgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorIywgZnV6enkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICIgZWVtYWxkYXRhdiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJsdWdlc2luICVjXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgImx1Z2VzaW4gJWNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUiCittc2dzdHIgIiBLYXMgZWVtYWxkYWRhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4NDEgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE3CisjLCBmdXp6eQorbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgIGwgICBhbmRhIG5pbWVraXJpIHR1bnR1ZCBmYWlsaXP8c3RlZW1pZGUgdPz8cGlkZXN0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgImp1dXJrYXRhbG9vZ2kgaS1raXJqZSBlaSBraXJqZWxkYSBrYXRhbG9vZ2kiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDQKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiS2F0YWxvb2dpICVzIHBvbGUhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJUZSBhbmRpc3RlIHN1dXJlbWEgc2lsaW5kcml0ZSBhcnZ1IGt1aSBrZXR0YWxlIG1haHViIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJFaSBzdXVkYSBsdWdlZGEgc2VhZGV0ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAianV1cmthdGFsb29naSBpLWtpcmplIGVpIGtpcmplbGRhIGthdGFsb29naSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE4OQorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICIgZWVtYWxkYXRhdiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA1Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTkgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0/PxwOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCittc2dzdHJbMV0gInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorbXNnc3RyWzFdICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjMKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKKyMsIGZ1enp5Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQwCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICIlczogdHVuZG1hdHUgc2lnbmFhbCAlcywgdHVudHVkIHNpZ25hYWxpZDpcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg0Cittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjQwIG1pc2MtdXRpbHMva2lsbC5jOjI0OSBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICIlczogdHVuZG1hdHUgc2lnbmFhbCAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBW9XRtZWQgLS1hZGp1c3QgamEgLS1ub2FkamZpbGUgb24gdmFzdGFzdGlra3UgduRsaXN0YXZhZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODcgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MDcgc3lzLXV0aWxzL3R1bmVscC5jOjE2NyBzeXMtdXRpbHMvdHVuZWxwLmM6MTc0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTgxIHN5cy11dGlscy90dW5lbHAuYzoxODggc3lzLXV0aWxzL3R1bmVscC5jOjE5NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIwMSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA1IHN5cy11dGlscy90dW5lbHAuYzoyMTIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjMzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjg5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzIxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjkgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzU4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTkwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MTMgdGVybS11dGlscy9zZXR0ZXJtLmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJLaXJqdXRhbWlzZSB2aWdhIHNlYWRtZWwgJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogdHVuZG1hdHUga2F0ZWdvb3JpYSBuaW1pOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiB0dW5kbWF0dSBwcmlvcml0ZWVkaSBuaW1pOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIkthc3V0YWphbmltaSBvbiBsaWlnYSBwaWtrXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIlBsb2tpIHN1dXJ1czogJWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiduRsaSBvbiBsaWlnYSBwaWtrXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiduRsaSBvbiBsaWlnYSBwaWtrXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJT/HN0ZWVtaWtlbGxhIHNlYWRtaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3Cittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQxCittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiU2lzZXRhZ2UgcGVhZGUgYXJ2OiAiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTYyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxNQorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJ2aWdhbmUgdGFpbWFkaSB25ORydHVzOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTkKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NyBzeXMtdXRpbHMvenJhbWN0bC5jOjg2Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIlBhcnRpdHNpb29uaSBudW1iZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJrYXRhbG9vZ2kgc3RhdCgpIGVpIPVubmVzdHVudWRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInZpZ2FuZSBpLWtpcmplIHN1dXJ1cyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAiVmlnYW5lIHNla3Rvcml0ZSBhcnYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInZpZ2FuZSBpLWtpcmplIHN1dXJ1cyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIHUgICBtdXV0YSBzaXNlc3RhbWlzZSBqYSB0YWJlbGkgbuRpdGFtaXNlIPxoaWt1aWQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgIlNlYWRlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NAorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgImthdGFsb29naSBzdGF0KCkgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworIywgZnV6enkKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCisjLCBmdXp6eQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyNjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAidHVuZG1hdHUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTgKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIlP8c3RlZW1pa2VsbGEgc2VhZG1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNCBzeXMtdXRpbHMvbHNucy5jOjkwNCBzeXMtdXRpbHMvcmZraWxsLmM6NTc0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlNhaW4gJWQgYmFpdGkgJXMgc2Vlc3RcbiIKK21zZ3N0clsxXSAiU2FpbiAlZCBiYWl0aSAlcyBzZWVzdFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJTYWluICVkIGJhaXRpICVzIHNlZXN0XG4iCittc2dzdHJbMV0gIlNhaW4gJWQgYmFpdGkgJXMgc2Vlc3RcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAiLS1kYXRlIGFyZ3VtZW50IG9uIGxpaWdhIHBpa2tcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICJTaXNldGFnZSBwZWFkZSBhcnY6ICIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiU2lzZXRhZ2UgcGVhZGUgYXJ2OiAiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAiUGxva2kgc3V1cnVzOiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI3Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIgorbXNnc3RyICJzYWx2ZXN0YSAoVykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAibHVnZXNpbiAlY1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIkVpIHN1dXRudWQgYXZhZGEgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiRWkgc3V1dG51ZCBhdmFkYSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICIlczogJXMg/G1iZXIgbmltZXRhbWluZSAlcyAta3MgZWkg9W5uZXN0bnVkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIkVpIHN1dXRudWQgYXZhZGEgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGVpIPVubmVzdHVudWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIkxvZ2luIHRpbWVkIG91dCBhZnRlciAlZCBzZWNvbmRzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICJr9ml0ZSBuaW1pIG9uIGxpaWdhIHBpa2siCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDcKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJwb3NpdHNpb25lZXJpbWlzZSB2aWdhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJFaSBzdXV0bnVkIGF2YWRhICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiRWkgc3V1dG51ZCBhdmFkYSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOQorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiICAgcyAgIGx1dWEgdXVzIHT8aGkgU3VuJ2kgcGFydGl0c2lvb25pdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzUKK21zZ2lkICIgLU4sIC0tbmFtZSBuYW1lICAgICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgZnJvbSB0aGlzIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgbXV1dGEgc2lzZXN0YW1pc2UgamEgdGFiZWxpIG7kaXRhbWlzZSD8aGlrdWlkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAiUGFydGl0c2lvb25pIG51bWJlciIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzkKK21zZ2lkICJ0aW1lc3RhbXAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTg2Cittc2dpZCAib3RoZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTcKK21zZ2lkICJuaWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDIKK21zZ2lkICJ0aW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjA4Cittc2dpZCAibmFtZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxMQorbXNnaWQgInJhbmRvbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNAorbXNnaWQgInNoYTEtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNjcgbWlzYy11dGlscy93aXBlZnMuYzoxNzAgc3lzLXV0aWxzL2xzY3B1LmM6MTcyMgorIzogc3lzLXV0aWxzL2xzbnMuYzo4MDYgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnQgb24gbGlpZ2EgcGlra1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl0c2lvb25pOlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiJXM6IHR1bmRtYXR1IHNpZ25hYWwgJXNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCittc2dzdHJbMV0gIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBzaWduYXR1dXJpZ2EgbGVoZWv8bGdlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIkthc3V0YW4gaW9jdGwoKSBwYXJ0aXRzaW9vbml0YWJlbGkgdXVlc3RpIGx1Z2VtaXNla3NcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTgwCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDUKKyMsIGZ1enp5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuIgorbXNnc3RyICIlcyBhdmFtaW5lIGVpIPVubmVzdHVudWQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKSIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBzaWduYXR1dXJpZ2EgbGVoZWv8bGdlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgam9va3N2YSBwYXJ0aXRzaW9vbmkgZmFpbGlz/HN0ZWVtaSB0/PxwaSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaGVhZGluZ3MgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTUKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxsaXN0PiBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo3MjQKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorIywgZnV6enkKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEt1c3R1dGFkYSBqb29rc2V2IHBhcnRpdHNpb29uIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgS3VzdHV0YWRhIGpvb2tzZXYgcGFydGl0c2lvb24iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXRzaW9vbmk6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzEgc2NoZWR1dGlscy9jaHJ0LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxOQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTM5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWRcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNAorbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTYKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjEKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI0IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIlNpc2VzdGFnZSBzaWxpbmRyaXRlIGFydjogIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBlaSD1bm5lc3R1bnVkIHNlYWRtZWwgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTIgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiRWkgc3V1ZGEga2luZGxha3MgdGVoYSBrZXR0YSBtYWh0dSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworIywgZnV6enkKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3NAorbXNnaWQgIlJlc2V0IGEgcmFuZ2Ugb2Ygem9uZXMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmxrZGV2X2dldF9zZWN0b3JzIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICJlaSBzdXVkYSBraXJqdXRhZGEgdHNvb25pZGUga2FhcnRpIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFUE9SVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIGVpIPVubmVzdHVudWQgc2VhZG1lbCAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3VjY2Vzc2Z1bGx5IHJlc2V0IGluIHJhbmdlIGZyb20gJTxQUkl1NjQ+LCB0byAlPFBSSXU2ND4iCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDIKK21zZ2lkICJSdW4gem9uZSBjb21tYW5kIG9uIHRoZSBnaXZlbiBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jb3VudCA8bnVtYmVyPiAgIG1heGltdW0gbnVtYmVyIG9mIHpvbmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgc3BlY2lmaWVkIgorbXNnc3RyICItLWRhdGUgcGFyYW1lZXRlciBvbiBwdXVkdVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IFwiJXNcIiBlaSBla3Npc3RlZXJpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIiVzOiBcIiVzXCIgZWkgb2xlIHTkaWRldGF2XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIlNla3RvciVkIG9uIGp1YmEga2FzdXR1c2VsXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIlNla3RvciVkIG9uIGp1YmEga2FzdXR1c2VsXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkF1dG9tYWF0bmUga29uZmlndXJlZXJpbWluZSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIGVpIG9sZSB05GlkZXRhdlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIkF1dG9tYWF0bmUga29uZmlndXJlZXJpbWluZSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF1dG9tYWF0bmUga29uZmlndXJlZXJpbWluZSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJBdXRvbWFhdG5lIGtvbmZpZ3VyZWVyaW1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJ2aWdhbmUgYXJ2OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVtb3J5IEJsb2NrICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEyNCBzeXMtdXRpbHMvY2htZW0uYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTYgc3lzLXV0aWxzL2NobWVtLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgIkF1dG9tYWF0bmUga29uZmlndXJlZXJpbWluZSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIlNla3RvciVkIG9uIGp1YmEga2FzdXR1c2VsXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIlNla3RvciVkIG9uIGp1YmEga2FzdXR1c2VsXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJBdXRvbWFhdG5lIGtvbmZpZ3VyZWVyaW1pbmUgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjIFhYWCBzdGF0J2lkYQorIzogc3lzLXV0aWxzL2NobWVtLmM6MjY2IHN5cy11dGlscy9sc21lbS5jOjQ3NiBzeXMtdXRpbHMvbHNtZW0uYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgc3RhcnQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBlbmQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IGFkZHJlc3MgYW5kIChlbmQgYWRkcmVzcyArIDEpIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJhbWV0ZXI6ICVzIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJhbmdlOiAlcyIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgImxvZ2dlcjogdHVuZG1hdHUgcHJpb3JpdGVlZGkgbmltaTogJXNcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICJrYXN1dGFtaW5lOlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIHBvbGUga2FzdXRhdGF2IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJ2aWdhICVzIHN1bGdlbWlzZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzAKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjkKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlIHRpbWVzdGFtcCBvdXRwdXQgb24gZWFjaCBsaW5lIG9mIG11bHRpLWxpbmUgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAyCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJLYXRhbG9vZ2kgJXMgcG9sZSFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2CisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1NDUKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImZzeW5jIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgZWVtYWxkYXRhdiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIkFpbnVsdCAxayBwbG9raWQgamEgdHNvb25pZCBvbiB0b2V0YXR1ZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjEKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg1Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg3Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA0Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMiBzeXMtdXRpbHMvZWplY3QuYzo0NTUgc3lzLXV0aWxzL2VqZWN0LmM6MTAwNgorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzUKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMgWFhYIHN0YXQnaWRhCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIiVzIHBvbGUgZmxvcGlzZWFkZVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIiVzOiBcIiVzXCIgZWkgZWtzaXN0ZWVyaVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODI4Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJLYXN1dGFuIHZhaWtpbWlzaSB25ORydHVzdCAlZFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAiU2VhZGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IHNpc2VuZGkg/GxldORpdHVtaW5lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiU2VhZGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwNQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEyCittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiZXhlYyBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImthdGFsb29naSBhdmFtaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NgorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKKyMsIGZ1enp5Cittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiTGlpZ2EgcGFsanUgYXJndW1lbnRlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5CisjLCBmdXp6eQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAibG9naW46IEVpIGrkdGt1IG3kbHUgc2hlbGwtc2tyaXB0aWxlXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAidvV0aSBgJXMnIHZhamFiIGFyZ3VtZW50aVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIGVlbWFsZGF0YXYiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorIywgZnV6enkKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjIFhYWCBzdGF0J2lkYQorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2VrdW5kaXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIlZpZ2EgJXMgdORpdG1pc2VsXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorIywgZnV6enkKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlBlYWxlc3Vubml0dWQga29udHJvbGwgZmFpbGlz/HN0ZWVtaWwgJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgam9va3N2YSBwYXJ0aXRzaW9vbmkgZmFpbGlz/HN0ZWVtaSB0/PxwaSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDUKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAianV1cmthdGFsb29naSBpLWtpcmplIGVpIGtpcmplbGRhIGthdGFsb29naSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgam9va3N2YSBwYXJ0aXRzaW9vbmkgZmFpbGlz/HN0ZWVtaSB0/PxwaSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiU2lzZXN0YWdlIHNpbGluZHJpdGUgYXJ2OiAiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjMKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMzEKKyMsIGZ1enp5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiRWVsZGFuLCBldCByaWlzdGF2YWxpc2VzIGtlbGxhcyBvbiBrYXN1dHVzZWwgJXMgYWVnXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjA0IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjA0IHN5cy11dGlscy9od2Nsb2NrLmM6MjY3Cittc2dpZCAibG9jYWwiCittc2dzdHIgImtvaGFsaWsiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIlczogSG9pYXR1czogYXJ1c2FhbWF0dSBrb2xtYXMgcmlkYSBhZGp0aW1lIGZhaWxpc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlZpaW1hbmUgdWp1bWlzZSB2YXN0YW5lIHBhcmFuZHVzIHRlaHRpICVsZCBzZWt1bmRpdCBw5HJhc3QgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJWaWltYW5lIGthbGlicmVlcmltaW5lIHRlaHRpICVsZCBzZWt1bmRpdCBw5HJhc3QgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIlJpaXN0dmFyYWxpc2VzIGtlbGxhcyBvbiBrYXN1dHVzZWwgJXMgYWVnXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiT290YW4ga2VsbGEgdGlrc3UuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLnNhaW4gdGlrc3VcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiVmlnYXNlZCB25ORydHVzZWQgcmlpc3R2YXJhbGlzZXMga2VsbGFzOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJSaWlzdHZhcmFsaXNlIGtlbGxhIGFlZzogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmRpdCBw5HJhc3QgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJSaWlzdHZhcmFsaXNlc3Qga2VsbGFzdCBsb2V0dWQgYWVnOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIlNlYW4gcmlpc3RhdmFyYWxpc2Uga2VsbGEgbuRpZHVrcyAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmRpdCBw5HJhc3QgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgImt1dHN1biB25GxqYSBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICJrdXRzdW4gduRsamEgc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjU1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiRWkgcGFyYW5kYSBrb3JyaWdlZXJpbWlzdGVndXJpdCwga3VuYSByaWlzdHZhcmFsaW5lIGtlbGwgc2lzYWxkYXMgc29kaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIkVpIHBhcmFuZGEga29ycmlnZWVyaW1pc3RlZ3VyaXQsIGt1bmEgdmlpbWFuZSBrYWxpYnJlZXJpbWluZSB0b2ltdXMgduRoZW0ga3VpIPb2cORldiB0YWdhc2lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIkVpIHBhcmFuZGEga29ycmlnZWVyaW1pc3RlZ3VyaXQsIGt1bmEgdmlpbWFuZSBrYWxpYnJlZXJpbWluZSB0b2ltdXMgduRoZW0ga3VpIPb2cORldiB0YWdhc2lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJLZWxsIG9uIHVqdW51ZCAlZCBzZWt1bmRpdCB2aWltYXNlICVkIHNla3VuZGkgam9va3N1bCB2YWF0YW1hdGEga29ycmlnZWVyaW1pc3RlZ3VyaWxlICVmIHNla3VuZGl0IHDkZXZhcy5cbiIKKyJQYXJhbmVuIGtvcnJpZ2VlcmltaXNmYWt0b3Jpa3MgJWYgc2VrdW5kaXQgcORldmFzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJWaWltYXNlc3Qga2VsbGFhamEga29ycmlnZWVybWlzZXN0IG9uIG329mR1bnVkICVkIHNla3VuZGl0XG4iCittc2dzdHJbMV0gIlZpaW1hc2VzdCBrZWxsYWFqYSBrb3JyaWdlZXJtaXNlc3Qgb24gbfb2ZHVudWQgJWQgc2VrdW5kaXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2VrdW5kaXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5ldyAlcyBkYXRhOlxuIgorIiVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXBkYXRlICVzIgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJFaSBwYXJhbmRhIGtvcnJpZ2VlcmltaXN0ZWd1cml0LCBrdW5hIHZpaW1hbmUga2FsaWJyZWVyaW1pbmUgdG9pbXVzIHbkaGVtIGt1aSD29nDkZXYgdGFnYXNpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIkVpIHBhcmFuZGEga29ycmlnZWVyaW1pc3RlZ3VyaXQsIGt1bmEgdmlpbWFuZSBrYWxpYnJlZXJpbWluZSB0b2ltdXMgduRoZW0ga3VpIPb2cORldiB0YWdhc2lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiRWkgbGVpZG51ZCBrYXN1dGF0YXZhdCBrZWxsYWxpaWRlc3RcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJFaSBzdXVkYSD8aGVnaSB0dW50dWQgbWVldG9kaWdhIHJpaXN0dmFyYWxpc3Qga2VsbGEga+R0dGUgc2FhZGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiS2FzdXRhZ2UgLS1kZWJ1ZyB29XRpdCwgZXQgbuRoYSBvdHNpbmd1IGRldGFpbGUganV1cmRlcOTkc3Ugb3RzaW1pc2VsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJWYWphbGlrIHBhcmFuZHVzIG9uIGFsbGEgc2VrdW5kaSwgc2VlZ2Ega2VsbGEgZWkgc2VhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiZWkgc3V1ZGEgbHVnZWRhIHN1cGVycGxva2tpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gc2V0IHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJT/HN0ZWVtaWtlbGxhIHNlYWRtaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjcKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zeXN0eiAgICAgICAgICBzZW5kIHRpbWVzY2FsZSBjb25maWd1cmF0aW9ucyB0byB0aGUga2VybmVsIgorbXNnc3RyICIgICAgICAgICAgICBFc2ltZW5lICBWaWltYW5lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZGlzcGxheSB0aGUgUlRDIGVwb2NoIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiU/xzdGVlbWlrZWxsYSBzZWFkbWluZSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzE3Cittc2dpZCAiLS11cGRhdGUtZHJpZnQgcmVxdWlyZXMgLS1zZXQgb3IgLS1zeXN0b2hjIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyMgorIywgZnV6enkKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiJXM6IEtvb3MgdvV0bWVnYSAtLW5vYWRqZmlsZSB0dWxlYiBhbmRhIGthIGthcyAtLXV0YyB29WkgLS1sb2NhbHRpbWUgdvV0aVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjkKK21zZ2lkICItLWRhdGUgaXMgcmVxdWlyZWQgZm9yIC0tc2V0IG9yIC0tcHJlZGljdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGZ1enp5Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAiJXMgYXZhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIG9wZW46ICVzXG4iCittc2dzdHIgInNodXRkb3duOiBFaSBzdXVkYSBsYWh0aSBtb250ZWVyaWRhIGthdGFsb29naSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTUwIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0bnVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiT290YW4gdHP8a2lscywga3VuaSAlcyBrYXVkdSBzYWFkdWQgYWVnIGVkYXNpIGzkaGViXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworIywgZnV6enkKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJUYWltYXV0IG9vZGF0ZXMga2VsbGFhamEgbXV1dHVtaXN0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgIiVzIGx1Z2VtaW5lIGtlbGxhIHRpa3N1IG9vdGFtaXNlbCBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICIlcyBsdWdlbWluZSBrZWxsYSB0aWtzdSBvb3RhbWlzZWwgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICIlcyBpb2N0bCgpIGFiaWwgZWkg9W5uZXN0dW51ZCB25GxqYSBs/GxpdGFkYSBrZWxsYSBrYXRrZXN0dXNpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzIGlvY3RsKFJUQ19FUE9DSF9TRVQpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgJXMga2F1ZHUga2VsbGEgc2VhZG1pc2VrcyBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSD1bm5lc3R1c1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKK21zZ2lkICJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBpb2N0bChSVENfRVBPQ0hfUkVBRCkgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGVwb2NoICclcycuIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzIGlvY3RsKFJUQ19FUE9DSF9TRVQpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBpb2N0bChSVENfRVBPQ0hfU0VUKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgInb1dG1lbGUgcG9sZSD1aWd1c2kiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAiaWRlbnRpZmlrYWF0b3JpbGUgcG9sZSD1aWd1c2kiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAidmlnYW5lIHb1dGkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIiVzOiB2aWdhbmUgdvV0aSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgInZpZ2FuZSBpLWtpcmplIHN1dXJ1cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6MzkyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgInBlcm1zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjI4NgorIzogc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAib3duZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAiY3BpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjk4OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDAxCittc2dpZCAibG9ja2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAiU2lzZXRhZ2UgcGVhZGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzEKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OAorIywgZnV6enkKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJWYWJhIHJ1dW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MCBzeXMtdXRpbHMvaXBjcy5jOjYxMCBzeXMtdXRpbHMvaXBjcy5jOjY0MworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM3IHN5cy11dGlscy9sc2lwYy5jOjcyOSBzeXMtdXRpbHMvbHNpcGMuYzo4ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IHNpc2VuZGkg/GxldORpdHVtaW5lIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJuY291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgYXJ2OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBwb2xlIHBsb2trc2VhZGUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJFaSBzdXVkYSBrZXR0YWwgc2Vla2lkYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiJXM6IHR1bmRtYXR1IHNpZ25hYWwgJXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJWaWdhbmUgc2VrdG9yaXRlIGFydiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIk1heC4gc3V1cnVzPSVsZFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE3Cittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjYKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiZWkgc3V1ZGEgdGFnYXNpIGtlcmlkYSBzYWFsaW1pc3NlYWRldCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsb2dpY2FsIGJsb2NrIHNpemUiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorIywgZnV6enkKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorIywgZnV6enkKK21zZ2lkICJub25lIgorbXNnc3RyICJ2YWxtaXMgKEQpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NgorbXNnaWQgInBhcmEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKK21zZ2lkICJmdWxsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk4Cittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCittc2dpZCAidmVydGljYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJWaWdhbmUgc2VrdG9yaXRlIGFydiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAiVmlnYW5lIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTgKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIlZpZ2FuZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMQorbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDMKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNQorbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNgorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJWaWdhICVzIHN1bGdlbWlzZWxcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJFaSBzdXVkYSBrZXR0YWwgc2Vla2lkYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTMwNworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIlkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQzMyBzeXMtdXRpbHMvbHNjcHUuYzoxNDQzCisjLCBmdXp6eQorbXNnaWQgIk4iCittc2dzdHIgIk5DIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTc0MgorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDQKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTEKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTMKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE4CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIlBsb2tpIHN1dXJ1czogJWRcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyMgorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorIywgZnV6enkKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJQYXJ0aXRzaW9vbmkgbnVtYmVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI4Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMAorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMyCisjLCBmdXp6eQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJWaWdhbmUga2FzdXRhamFuaW1pIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzYKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0Cittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MAorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODIKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIkb8/HNpbGlzaSBzaWxpbmRyZWlkIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiRvz8c2lsaXNpIHNpbGluZHJlaWQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIkb8/HNpbGlzaSBzaWxpbmRyZWlkIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiTGlwdWQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTExCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTIKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE0CisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorIywgZnV6enkKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAiaWRlbnRpZmlrYWF0b3JpbGUgcG9sZSD1aWd1c2kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiUHJpbWFhcm5lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAia2FzdXRhamEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJWaWdhbmUga2FzdXRhamFuaW1pIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiR0lEIgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJrYXRhbG9vZ2kgc3RhdCgpIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJCdXV0ZmFpbCBq5Gkgc2FtYWtzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJN5HJraWRhIGthc3V0YXR1a3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIlNpc2V0YWdlIHBlYWRlIGFydiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiVmlnYW5lIGvkc2siCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJrYXN1dGFqYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICJWaWdhbmUga2FzdXRhamFuaW1pIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlNpc2VzdGFnZSBmYWlsaXP8c3RlZW1pIHT8/GJpIG51bWJlcjogIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICJrYXN1dGFtaW5lOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyMgWFhYIHN0YXQnaWRhCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODcgc3lzLXV0aWxzL2xzaXBjLmM6ODQ4IHN5cy11dGlscy9sc2lwYy5jOjEwNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgZmFpbGkgYCVzJyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJTaXNldGFnZSBwZWFkZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTkwIHN5cy11dGlscy9sc2lwYy5jOjEwMTUKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIlczogVvV0bWVkIC0tYWRqdXN0IGphIC0tbm9hZGpmaWxlIG9uIHZhc3Rhc3Rpa2t1IHbkbGlzdGF2YWRcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMAorbXNnaWQgIm9ubGluZSBzdGF0dXMgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAibWVtb3J5IGlzIHJlbW92YWJsZSIKK21zZ3N0ciAiIGVlbWFsZGF0YXYiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgImthdGFsb29naSBzdGF0KCkgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCittc2dpZCAib2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjMKK21zZ2lkICJvbi0+b2ZmIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiTWVtb3J5IGJsb2NrIHNpemU6IgorbXNnc3RyICJLYXMgZWVtYWxkYWRhIHBsb2trIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjMgc3lzLXV0aWxzL2xzbWVtLmM6MzMzCisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9ubGluZSBtZW1vcnk6IgorbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICIlczogS2FzdXRhamF0IFwiJXNcIiBwb2xlIG9sZW1hc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMAorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICB1c2UgdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTEKK21zZ2lkICIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIC0tc3VtbWFyeSBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBW9XRtZWQgLS1hZGp1c3QgamEgLS1ub2FkamZpbGUgb24gdmFzdGFzdGlra3UgduRsaXN0YXZhZFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiU2lzZXRhZ2Ugc2VrdG9yaXRlIGFydiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDMKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDQKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDUKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3Cittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorIywgZnV6enkKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICJT/HN0ZWVtaWtlbGxhIHNlYWRtaW5lIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOAorIywgZnV6enkKK21zZ2lkICIgLVcsIC0tbm93cmFwICAgICAgICAgICBkb24ndCB1c2UgbXVsdGktbGluZSByZXByZXNlbnRhdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICIgICBsICAgYW5kYSBuaW1la2lyaSB0dW50dWQgZmFpbGlz/HN0ZWVtaWRlIHT8/HBpZGVzdCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0CisjLCBmdXp6eQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiJXM6IFb1dG1lZCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvbiB2YXN0YXN0aWtrdSB25Gxpc3RhdmFkXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICIlczogQWludWx0IHJvb3Qgc2FhYiBz/HN0ZWVtaSBzZWlzYXRhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICIlczogQWludWx0IHJvb3Qgc2FhYiBz/HN0ZWVtaSBzZWlzYXRhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIHBha2V0aXN0ICVzXG4iCisKKyMgWFhYIHN0YXQnaWRhCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICJLZXRhc3Qgc2FpIG11dWRldHVkXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MyBzeXMtdXRpbHMvbW91bnQuYzoyNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgImtldGFzOiAlLipzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQZWFsZXN1bm5pdHVkIGtvbnRyb2xsIGZhaWxpc/xzdGVlbWlsICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE0IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI0IHN5cy11dGlscy91bW91bnQuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAxIHN5cy11dGlscy91bW91bnQuYzo1MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJUZSBhbmRpc3RlIHN1dXJlbWEgc2lsaW5kcml0ZSBhcnZ1IGt1aSBrZXR0YWxlIG1haHViIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMworbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIG9uIG1vbnRlZXJpdHVkLiAiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk2Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgImVpIHN1dWRhIGtpcmp1dGFkYSBpLWtpcmplaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNjEKKyMsIGZ1enp5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICJUZSBhbmRpc3RlIHN1dXJlbWEgc2lsaW5kcml0ZSBhcnZ1IGt1aSBrZXR0YWxlIG1haHViIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0bnVkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIlZpZ2Egc2VrdG9yaSAlbHUga2lyanV0YW1pc2VsIHNlYWRtZWxlICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDcyIHN5cy11dGlscy9zZXRwcml2LmM6OTYyIHN5cy11dGlscy9zZXRwcml2LmM6OTY5CisjLCBmdXp6eQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlBlYWxlc3Vubml0dWQga29udHJvbGwgZmFpbGlz/HN0ZWVtaWwgJXNcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZHMiCittc2dzdHIgIkRPUyBzZWt1bmRhYXJuZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgIiVsZCBwbG9ra2lcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIlNpc2V0YWdlIHNla3Rvcml0ZSBhcnYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICIlczogZWkgbGVpYSBwcm90c2Vzc2kgXCIlc1wiXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiVmlnYW5lIGthc3V0YWphbmltaSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworIywgZnV6enkKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiVWhpa3VkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY3Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpdHNpb29uaTpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg0Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IFb1dG1lZCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvbiB2YXN0YXN0aWtrdSB25Gxpc3RhdmFkXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgInZpZ2EgaS1raXJqZSBraXJqdXRhbWlzZWwiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MAorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDAzCittc2dpZCAidG90YWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIlNpc2VzdGFnZSBzaWxpbmRyaXRlIGFydjogIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3NAorbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSAnJXMnIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAidmlnYW5lIHRhaW1hZGkgduTkcnR1czogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIlczogdHVuZG1hdHUgc2lnbmFhbCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIHZhbHVlIgorbXNnc3RyICJLZXR0YXNlYWRlOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAia2F0YWxvb2dpIHN0YXQoKSBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJrYXRhbG9vZ2kgc3RhdCgpIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICJLZXR0YXNlYWRlOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgIiVsZCBwbG9ra2lcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgInVuYmxvY2tlZCIKK21zZ3N0ciAiJWxkIHBsb2traVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDE1IHN5cy11dGlscy9yZmtpbGwuYzo0ODAgc3lzLXV0aWxzL3Jma2lsbC5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiS2V0dGFzZWFkZTogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gY29tbWFuZCBbaWRlbnRpZmllciAuLi5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjkKK21zZ2lkICJUb29sIGZvciBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHdpcmVsZXNzIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTMKK21zZ2lkICIgZXZlbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk0CisjLCBmdXp6eQorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIktldHRhc2VhZGU6ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiS2V0dGFzZWFkZTogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICJLZXR0YXNlYWRlOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTUKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdG51ZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkaW5nIHN0ZGluIgorbXNnc3RyICJ2aWdhbmUgaS1raXJqZSBzdXVydXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4IHN5cy11dGlscy9ydGN3YWtlLmM6NjQyCisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIkVpIHN1dXRudWQgYXZhZGEgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsaXQgZWkgb2xlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgInZpZ2FuZSBpZGVudGlmaWthYXRvciIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorIywgZnV6enkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiS2FzdXRhbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorIywgZnV6enkKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJLYXN1dGFuICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMzCittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiVGVhZGUga2FzdXRhamFsdCAlc0AlcyB0ZXJtaW5hbGlsICVzIGtlbGwgJXMuLi4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJUZWFkZSBrYXN1dGFqYWx0ICVzQCVzIHRlcm1pbmFsaWwgJXMga2VsbCAlcy4uLiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0NworbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsaXQgZWkgb2xlXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI4NgorIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiTGlpZ2EgcGFsanUgYXJndW1lbnRlXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAidHVuZG1hdHUgdvV0aSBgLSVjJ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2OAorIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJMaWlnYSBwYWxqdSBhcmd1bWVudGVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIkFubmFuIGBkYXRlJyBr5HN1OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM0Cittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJWaWdhbmUgcGFydGl0c2lvb25pIG51bWJlciB0/PxiaWxlIGAlYydcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgInZhbG1pcyAoRCkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgImv2aXRlIG5pbWkgb24gbGlpZ2EgcGlrayIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAidmFsbWlzIChEKSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFtYmllbnQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworIywgZnV6enkKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJMaW51eCBleHQzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDY4CisjLCBmdXp6eQorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIkthdGFsb29naSAlcyBwb2xlIVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2MQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIlR1bmRtYXR1IGZvcm1hYXQgLSBrYXN1dGFuIHNla3RvcmVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiclYycgZWkgb2xlIGx1YmF0dWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAidHVuZG1hdHUgdvV0aSBgJXMnXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjA5Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5NgorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxMworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MDcKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1CisjLCBmdXp6eQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICIlcyBhdmFtaW5lIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgam9va3N2YSBwYXJ0aXRzaW9vbmkgZmFpbGlz/HN0ZWVtaSB0/PxwaSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQyCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiZm9yayIKK21zZ3N0ciAiZm9yazogJXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBlaSBla3Npc3RlZXJpXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgIiAgIGQgICBrdXN0dXRhZGEgcGFydGl0c2lvb24iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworIywgZnV6enkKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImthdGFsb29naSBzdGF0KCkgZWkg9W5uZXN0dW51ZFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJrYXRhbG9vZ2kgc3RhdCgpIGVpIPVubmVzdHVudWRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiTeRya2lkYSBrYXN1dGF0dWtzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJ0ZXJtaW5hbGlsICUuKnNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IHR1bmRtYXR1IHNpZ25hYWwgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiZWkgc3V1ZGEga2lyanV0YWRhIGkta2lyamVpZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTYKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIlczogVHVuZG1hdHUgYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY4CisjLCBmdXp6eQorbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAianV1cmthdGFsb29naSBpLWtpcmplIGVpIGtpcmplbGRhIGthdGFsb29naSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJzaHV0ZG93bjogRWkgc3V1ZGEgbGFodGkgbW9udGVlcmlkYSBrYXRhbG9vZ2kgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA5Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgcG9sZSBmbG9waXNlYWRlXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNzgKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImZzeW5jIGVpIPVubmVzdHVudWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorIywgZnV6enkKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJTaXNlc3RhZ2UgZmFpbGlz/HN0ZWVtaSB0/PxiaSBudW1iZXI6ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTIKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk4Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyBvbiBtb250ZWVyaXR1ZC4gIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzOiBzaXNlbmRpIPxsZXTkaXR1bWluZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjM0NgorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczogc2lzZW5kaSD8bGV05Gl0dW1pbmUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAiJXMgYXZhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIlBlYWxlc3Vubml0dWQga29udHJvbGwgZmFpbGlz/HN0ZWVtaWwgJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgZmFpbGkgYCVzJyIKKworIyBYWFggc3RhdCdpZGEKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NAorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorIywgZnV6enkKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZWkg9W5uZXN0dW51ZCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBW9XRtZWQgLS1hZGp1c3QgamEgLS1ub2FkamZpbGUgb24gdmFzdGFzdGlra3UgduRsaXN0YXZhZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICIlczogJXMg/G1iZXIgbmltZXRhbWluZSAlcyAta3MgZWkg9W5uZXN0bnVkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJMb2dpbiB0aW1lZCBvdXQgYWZ0ZXIgJWQgc2Vjb25kc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIkxvZ2luIHRpbWVkIG91dCBhZnRlciAlZCBzZWNvbmRzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIGVlbWFsZGF0YXYiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICIiCisKKyMgWFhYIHN0YXQnaWRhCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiU2VhZGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogdHVuZG1hdHUgc2lnbmFhbCAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiVmlpbWFzZXN0IGtlbGxhYWphIGtvcnJpZ2Vlcm1pc2VzdCBvbiBt9vZkdW51ZCAlZCBzZWt1bmRpdFxuIgorbXNnc3RyWzFdICJWaWltYXNlc3Qga2VsbGFhamEga29ycmlnZWVybWlzZXN0IG9uIG329mR1bnVkICVkIHNla3VuZGl0XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCB0YWJlbGl0ZSBraXJqdXRhbWlzZWwiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiVzICAlLjZmIHNla3VuZGl0XG4iCittc2dzdHJbMV0gIiVzICAlLjZmIHNla3VuZGl0XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NgorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzIKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIlNlYWRlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGthYXJ0aWRlIHB1aHZyaXRlbGUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg1Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiBta2ZzIFstVl0gWy10IGZzdPz8cF0gW2ZzLXb1dG1lZF0gc2VhZGUgW3N1dXJ1c11cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTUKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiJXM6IFb1dG1lZCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvbiB2YXN0YXN0aWtrdSB25Gxpc3RhdmFkXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjQKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5NCBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogZWkgc3V1ZGEga+Rpdml0YWRhIHByb2dyYW1taSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiVmlnYSBzZWt0b3JpICVsdSBraXJqdXRhbWlzZWwgc2VhZG1lbGUgJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogZWkgc3V1ZGEga+Rpdml0YWRhIHByb2dyYW1taSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMgcGFrZXRpc3QgJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDgKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJsaWlnYSBwYWxqdSBhbHRlcm5hdGlpdnNlaWQga2lpcnVzaSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICJlaSBzYWFudWQgYXZhZGEgL2Rldi8lcyBzdGFuZGFyZHNpc2VuZGluYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzOAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzIHBvbGUgc/xtYm9sc2VhZGUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgImVpIHNhYW51ZCBhdmFkYSAvZGV2LyVzIHN0YW5kYXJkc2lzZW5kaW5hOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzIHBvbGUgYXZhdHVkIGx1Z2VtaXNla3MgX2phXyBraXJqdXRhbWlzZWtzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiVzOiBlaSBsZWlhIHByb3RzZXNzaSBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgInByb2JsZWVtICVzIGR1YmxlZXJpbWlzZWw6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2NQorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJ0/PxwOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogcmVhZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IHNpc2VuZGkg/GxldORpdHVtaW5lIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgImVpIHN1dWRhIGtpbmRsYWtzIHRlaGEgc2VhZG1lICVzIG1haHR1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MQorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDgKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MworbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTgKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MgorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjMKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0LXNwZWVkcyAgICAgICAgICBkaXNwbGF5IHN1cHBvcnRlZCBiYXVkIHJhdGVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICJrYXN1dGFqYSIKK21zZ3N0clsxXSAia2FzdXRhamEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZGlyICgpIGthdGFsb29naSAvZGV2IGVpIPVubmVzdHVudWQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorIywgZnV6enkKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAib24gc2lzc2UgbPxsaXRhdHVkICh5KVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAib24gduRsamEgbPxsaXRhdHVkIChuKVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICJLaXJqdXRhbWlzZSB2aWdhIHNlYWRtZWwgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3CisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDgKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUxCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpIGFiaWwga2VsbGEgbHVnZW1pbmUgJXMga2F1ZHUgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiTGlpZ2EgcGFsanUgYXJndW1lbnRlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODIKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgcm93cyBhbmQgY29sdW1uc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2CisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKKyMsIGZ1enp5Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgZmFpbGkgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIGtpcmp1dGFtaXNla3NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICIlczogS2FzdXRhamF0IFwiJXNcIiBwb2xlIG9sZW1hc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4NTcKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKKyMsIGZ1enp5Cittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAiS2FzdXRhamEgJXMgZWkgdG9oaSBzZWxsZWx0IHRlcm1pbmFsaWx0c2lzc2UgbG9naWRhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjdXJzb3IgcG9zaXRpb246ICVzIgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgIkZhdGFhbG5lIHZpZ2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE0NgorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTUzCittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiB0dW5kbWF0dSBzaWduYWFsICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgInNpc2VtaW5lIHZpZ2EiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiduRnYSBwaWtrIGFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MgorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICBvbmx5IHNlbmQgbWVzc2FnZSB0byBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlYzogdHVuZG1hdHUga+Rza1xuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxNjcKK21zZ2lkICJnZXRncm91cGxpc3QgZm91bmQgbW9yZSBncm91cHMgdGhhbiBzeXNjb25mIGFsbG93cyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAidmlnYW5lIHRhaW1hZGkgduTkcnR1czogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIkVpIHN1dWRhIGtpbmRsYWtzIHRlaGEga2V0dGEgbWFodHUiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJUZWFkZSBr9WlnaWxlIGthc3V0YWphbHQgJXNAJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiBlaSBoYWtrYSAlcyBsdWdlbWEsIGthc3V0YSBzdGFuZGFyZHNpc2VuZGl0XG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICJ3cml0ZTogJXMgcG9sZSBzaXNzZSBsb2dpdHVkXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIndyaXRlOiBlaSBsZWlhIFNpbnUgdGVybWluYWxpc2VhZG1lIG5pbWVcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICJ3cml0ZTogJXMga2VlbGR1YiB0ZWFkZXRlc3RcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICJ3cml0ZTogJXMgb24gc2lzc2UgbG9naXR1ZCByb2hrZW0ga3VpIPxoZXN0IGtvaGFzdCwga2FzdXRhbiB0ZW1hIHRlcm1pbmFsaSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiVGVhZGUga2FzdXRhamFsdCAlc0AlcyAoJXMpIHRlcm1pbmFsaWwgJXMga2VsbCAlcy4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlRlYWRlIGthc3V0YWphbHQgJXNAJXMgdGVybWluYWxpbCAlcyBrZWxsICVzLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCisjLCBmdXp6eQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAid3JpdGU6IFN1bCBvbiBraXJqdXRhbWlz9WlndXMgduRsamEgbPxsaXRhdHVkXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIndyaXRlOiAlcyBwb2xlIHRlcm1pbmFsaWx0ICVzIHNpc3NlIGxvZ2l0dWRcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMga2VlbGR1YiB0ZWFkZXRlc3QgdGVybWluYWxpbCAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODIgdGV4dC11dGlscy9jb2x1bW4uYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworIywgZnV6enkKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICIlczogZWkgbGVpYSBwcm90c2Vzc2kgXCIlc1wiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXRydW5jIGxpc3QiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLWhpZGUgbGlzdCIKK21zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNworbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworIywgZnV6enkKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXRyZWUgPGNvbHVtbj4gICAgICAgICAgICAgIGNvbHVtbiB0byB1c2UgdHJlZS1saWtlIG91dHB1dCBmb3IgdGhlIHRhYmxlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICJTaXNldGFnZSBwZWFkZSBhcnY6ICIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MAorbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+ICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0IChkZWZhdWx0IGlzIHR3byBzcGFjZXMpXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjEKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+ICAgICAgICAgcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIG5hbWVzIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU5Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzUKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKKyMsIGZ1enp5Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFbkbGphc3RhZGEgcGFydGl0c2lvb25pdGFiZWwgZWtyYWFuaWxlIHb1aSBmYWlsaSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgVuRsamFzdGFkYSBwYXJ0aXRzaW9vbml0YWJlbCBla3JhYW5pbGUgdvVpIGZhaWxpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MworbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiU2lzZXN0YWdlIHNpbGluZHJpdGUgYXJ2OiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiJXM6IHR1bmRtYXR1IHNpZ25hYWwgJXNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjg0CisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzE0Cittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTUxNQorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTY0Cittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYwNCB0ZXh0LXV0aWxzL3BnLmM6MTAzNSB0ZXh0LXV0aWxzL3BnLmM6MTE4MQorbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NTIKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzAwCittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA0Cittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNgorbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOQorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MAorIywgZnV6enkKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDEKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgInb1dGkgYCVzJyB2YWphYiBhcmd1bWVudGlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiB2aWdhbmUgdvV0aSAoJXMpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgItxodGVnaSBwYXJ0aXRzaW9vbmkgcG9sZSBkZWZpbmVlcml0dWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIiVzOiBsdWdlbWlzZSB2aWdhIGZhaWxpcyAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogc2Vla2ltaXNlIHZpZ2EgZmFpbGlzICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IGVpIHN1dWRhIGx1Z2VkYSBhanV0aXN0IGZhaWxpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTggdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKKyMsIGZ1enp5Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAicG9zaXRzaW9uZWVyaW1pc2UgdmlnYSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEzMCB0ZXh0LXV0aWxzL3BnLmM6MTE1NgorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIxMQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4NworIywgZnV6enkKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiUGFyb29saSBFSSBtdXVkZXR1ZCAtIHByb292aWdlIGhpbGplbSB1dWVzdGlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NzUKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU5NCB0ZXh0LXV0aWxzL3BnLmM6MTY2NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ1Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OAorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAia/ZpdGUgbmltaSBvbiBsaWlnYSBwaWtrIgorCisjfiBtc2dpZCAiR2VvbWV0cnkiCisjfiBtc2dzdHIgIkdlb21lZXRyaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIyBYWFggc3RhdCdpZGEKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IFR1bmRtYXR1IGFyZ3VtZW50OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUZXN0IG1vZGU6ICVzIHdhcyBub3QgdXBkYXRlZCB3aXRoOlxuIgorI34gIiVzIgorI34gbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIlVqdW1pc2Uga29tcGVuc2VlcmltaXNlIHBhcmFtZWV0cmVpZCBlaSB1dWVuZGF0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUZXN0IG1vZGU6IGVwb2NoIHdhcyBub3Qgc2V0IHRvICVzLlxuIgorI34gbXNnc3RyICJrYXRhbG9vZ2kgc3RhdCgpIGVpIPVubmVzdHVudWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorI34gbXNnc3RyICIlczogc2Vla2ltaXNlIHZpZ2EgZmFpbGlzICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5ICclcyAtaCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyBrbm93biBzaGVsbHMuIgorI34gbXNnc3RyICJFaSBsZWlkdSD8aHRlZ2kgbHViYXR1ZCBzaGVsbGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorI34gbXNnc3RyICJSaWlzdHZhcmFsaXNlIGtlbGxhIHJlZ2lzdHJpdGVzIG9uIGthcyB2aWdhc2VkIHbk5HJ0dXNlZCAobuRpdGVrcyA1MC4ga3V1cORldikgdvVpIG9uIG5hZCB25GxqYXNwb29sIG1laWUgcG9vbHQga2FzdXRhdGF2YXQgYWphdmFoZW1pa2t1IChu5Gl0ZWtzIGFhc3RhIDIwMDUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKKyN+IG1zZ3N0ciAiUmlpc3RhdmFsaW5lIGtlbGwgZWkgc2lzYWxkYSBrb3JyZWt0c2V0IGFlZ2EsIHNlZWdhIG1lIGVpIHNhYSBzZWFkYSBz/HN0ZWVtaWtlbGxhIHNlbGxlIGrkcmdpXG4iCisKKyN+IG1zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorI34gbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjfiBtc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisjfiBtc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJLZWxsYSBzZWFkbWlzZWtzIHBlYWIgb2xlbWEgcm9vdFxuIgorCisjfiBtc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKKyN+IG1zZ3N0ciAiRWkgcGFyYW5kYSBrb3JyaWdlZXJpbWlzdGVndXJpdCwga3VuYSByaWlzdHZhcmFsaW5lIGtlbGwgc2lzYWxkYXMgc29kaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCisjfiBtc2dzdHIgIlJpaXN0dmFyYWxpbmUga2VsbCBlaSBzaXNhbGRhIGtvcnJla3RzZXQgYWVnYSwgc2VlZ2EgbWUgZWkgc2FhIHNpbm5hIHBhcmFuZHVzdCBsaXNhZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJFaSBzYWFudWQgdHV1bWFsdCBlcG9oaGkgduTkcnR1c3Qga+R0dGVcbiIKKworI34gbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKKyN+IG1zZ3N0ciAiVHV1bSBrYXN1dGFiIGVwb2hoaSB25ORydHVzdCAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorI34gbXNnc3RyICJFcG9oaGkgduTkcnR1c2Ugc2VhZG1pc2VrcyBwZWF0ZSBrYXN1dGFtYSBgZXBvY2gnIHb1dGl0IHV1ZSB25ORydHVzZSBhbmRtaXNla3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJFaSBwYW5udWQgZXBvaGhpa3MgJWQgLSB0ZXN0aW1lIGFpbnVsdFxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKKyN+IG1zZ3N0ciAiRXBvaGhpIHbk5HJ0dXNlIHNlYWRtaW5lIGVpIPVubmVzdHVudWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorI34gbXNnc3RyICJ2aWdhbmUgaWRlbnRpZmlrYWF0b3IiCisKKyN+IG1zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKKyN+IG1zZ3N0ciAiJXMgZWkgcGFrdSBrYXRrZXN0dXNmdW5rdHNpb29uZS4gIgorCisjfiBtc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCisjfiBtc2dzdHIgIiVzIGlvY3RsKCkgYWJpbCBlaSD1bm5lc3R1bnVkIHNpc3NlIGz8bGl0YWRhIGtlbGxhIGthdGtlc3R1c2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAiRXBvaGhpIHbk5HJ0dXNlIG1hbmlwdWxlZXJpbWlzZWtzIHR1bGViIGthc3V0YWRhICdydGMnIGRyYWl2ZXJpdCBzZWFkbWVmYWlsaSAlcyBrYXVkdS4gQW50dWQgc/xzdGVlbWlzIHNlZGEgZmFpbGkgZWkgbGVpZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKyN+IG1zZ3N0ciAibHVnZXNpbWUgZXBvaGhpICVsZCAlcyBrYXVkdSBSVENfRVBPQ0hfUkVBRCBpb2N0bCBhYmlsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKKyN+IG1zZ3N0ciAiRXBvaGhpIHbk5HJ0dXMgZWkgdG9oaSBvbGxhIGFsbGEgMTkwMC4gVGVpZSBhbmRzaXRlICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAic2VhbiBlcG9oaGlrcyAlbGQgJXMgUlRDX0VQT0NIX1NFVCBpb2N0bCBhYmlsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKKyN+IG1zZ3N0ciAiVHV1bWEgZHJhaXZlciAlcyBqYW9rcyBlaSB0b2V0YSBSVENfRVBPQ0hfU0VUIGlvY3RsJ2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgIEVzaW1lbmUgIFZpaW1hbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCisjfiBtc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogVvV0bWVkIC0tYWRqdXN0IGphIC0tbm9hZGpmaWxlIG9uIHZhc3Rhc3Rpa2t1IHbkbGlzdGF2YWRcbiIKKworI34gbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJFaSBtdXV0bnVkIGtlbGxhIC0gdGVzdGltZSBhaW51bHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICItLWRhdGUgYXJndW1lbnQgb24gbGlpZ2EgcGlra1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyN+ICJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorI34gbXNnc3RyICIiCisjfiAiLS1kYXRlIHN1dmFuZGlnYSBhbnR1ZCBrZWxsYWFlZyBvbiB2aWdhbmUuXG4iCisjfiAiVORwc2VtYWx0IPZlbGRlcyBzaXNhbGRhYiB0YSBqdXR1beRya2UuXG4iCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAiQW5uYW4gYGRhdGUnIGvkc3U6ICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorI34gbXNnc3RyICJFaSBzdXVkYSBr5Gl2YXRhZGEgJ2RhdGUnIHByb2dyYW1taSAvYmluL3NoIHNoZWxsaWdhIC0gcG9wZW4oKSBzYWkgdmVhIgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJkYXRlLWvkc3UgdHVsZW11cyA9ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIiVzIHBvb2x0IGvkaXZpdGF0dWQgZGF0ZS1r5HNrIGFuZGlzIG9vdGFtYXR1IHR1bGVtdXNlLlxuIgorI34gIkvkc2sgb2xpOlxuIgorI34gIiAgJXNcbiIKKyN+ICJWYXN0dXMgb2xpOlxuIgorI34gIiAgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiJXMgcG9vbHQga+Rpdml0YXR1ZCBkYXRlLWvkc2sgdGFnYXN0YXMgduRsamFzdGF1ZCBhamEgc2VlcyBtaWRhZ2ksIG1pcyBlaSBvbGUgdORpc2Fydi5cbiIKKyN+ICJL5HNrIG9saTpcbiIKKyN+ICIgICVzXG4iCisjfiAiVmFzdHVzIG9saTpcbiIKKyN+ICIgICVzXG4iCisKKyN+IG1zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCisjfiBtc2dzdHIgImt1dXDkZXZhc3RyaW5nICVzIHb1cmR1YiAlbGQgc2VrdW5kaWdhIHDkcmFzdCAxOTY5XG4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiRWkgc2VhIHP8c3RlZW1pa2VsbGEsIHNlc3QgdGVndSBvbiB0ZXN0aW1pc2VnYVxuIgorCisjfiBtc2dpZCAiTm90IHVwZGF0aW5nIGFkanRpbWUgZmlsZSBiZWNhdXNlIG9mIHRlc3RpbmcgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiRWkgdXVlbmRhIGFkanRpbWUgZmFpbGksIHNlc3QgdGVndSBvbiB0ZXN0aW1pc2VnYVxuIgorCisjfiBtc2dpZCAiIgorI34gIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorI34gIiVzIgorI34gbXNnc3RyICIiCisjfiAiT2xla3Mga2lyanV0YW51ZCBmYWlsaSAlcyBq5HJnbWlzdDpcbiIKKyN+ICIlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJUdXVtIGhvaWFiIGVwb2hoaSB25ORydHVzdCByaWlzdHZhcmFsaXNlcyBrZWxsYXMgYWludWx0IEFscGhhIG1hc2luYXRlbC5cbiIKKyN+ICJTZWUga29vcGlhIGh3Y2xvY2snaXN0IG9uIGtvbXBpbGVlcml0dWQgdPb2dGFtYSBtdXVsIG1hc2luYWwgKGphIHNlZWdhXG4iCisjfiAiaWxtc2VsdCBlaSB09vZ0YSBoZXRrZWwgQWxwaGEgcGVhbCkuIEVpIHb1dGEgbWlkYWdpIGV0dGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC0tamVuc2VuLCAtLWFyYywgLS1zcm0sIC0tZnVua3ktdG95XG4iCisjfiAiICAgICAgICAgICAgICAgIPx0bGViIGh3Y2xvY2snaWxlLCBtaXMgdPz8cGkgQWxwaGFnYSBvbiB0ZWdlbWlzdFxuIgorI34gIiAgICAgICAgICAgICAgICBWdC4gaHdjbG9jayg4KSBs5GhlbWEgaW5mbyBqYW9rc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJLYWhqdWtzIHNhYWIgYWludWx0IHJvb3Qgcmlpc3R2YXJhbGlzdCBrZWxsYSBrZWVyYXRhXG4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgZWkgdGFoYSBtaXR0ZS129XRtZWxpc2kgYXJndW1lbnRlLiAlZCBvbiD8bGVsaWlnbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKKyN+IG1zZ3N0ciAiRWkgc2FhbnVkIGthc3V0YXRhdmF0IGFlZ2EsIGVpIGtlZXJhIGtlbGxhXG4iCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgImJ1dWRpdHVkIE1JTE8nc3RcbiIKKworI34gbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCisjfiBtc2dzdHIgIlJ1ZmZpYW5pIEJDRCBrZWxsXG4iCisKKyN+IG1zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorI34gbXNnc3RyICJrZWxsYSBwb3J0IHBhcmFuZGF0dWQgYWFkcmVzc2lrcyAweCV4XG4iCisKKyN+IG1zZ2lkICJmdW5reSBUT1khXG4iCisjfiBtc2dzdHIgIlZpbmdlIG1hc2luIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCisjfiBtc2dzdHIgIiVzOiBhdG9tYWFybmUgJyVzJyBlaSD1bm5lc3R1bnVkIDEwMDAga2F0c2Ugam9va3N1bCEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorI34gbXNnc3RyICJFaSBzYWFudWQgbHViYSwgc2VzdCBlaSBr/HNpbnVka2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKKyN+IG1zZ3N0ciAiJXMgZWkgc2FhbnVkIEkvTyBwb3J0aWRlbGUgbGlnaTogaW9wbCgzKSBlaSD1bm5lc3R1bnVkXG4iCisKKyN+IG1zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCisjfiBtc2dzdHIgIklsbXNlbHQgb24gdmFqYSByb29kdSD1aWd1c2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtldHRhbCBzZWVraWRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtldHRhbCBzZWVraWRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIiVzOiBBaW51bHQgcm9vdCBzYWFiIHP8c3RlZW1pIHNlaXNhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIiAgdCAgICAgICAgICBNdXV0YSBqb29rc3ZhIHBhcnRpdHNpb29uaSBmYWlsaXP8c3RlZW1pIHT8/HBpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiJXM6ICVzIPxtYmVyIG5pbWV0YW1pbmUgJXMgLWtzIGVpIPVubmVzdG51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJLZXRhc3Qgc2FpIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKKyN+IG1zZ3N0ciAidHVuZG1hdHUgdvV0aSBgLSVjJ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAiJXM6IHNpc2VuZGkg/GxldORpdHVtaW5lIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiU2lzZXN0YWdlIHNpbGluZHJpdGUgYXJ2OiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorI34gbXNnc3RyICItLWRhdGUgcGFyYW1lZXRlciBvbiBwdXVkdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorI34gbXNnc3RyICJqdXVya2F0YWxvb2dpIGkta2lyamUgZWkga2lyamVsZGEga2F0YWxvb2dpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjIFhYWCBzdGF0J2lkYQorIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjIFhYWCBzdGF0J2lkYQorIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyMgWFhYIHN0YXQnaWRhCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgImv2aXRlIG5pbWkgb24gbGlpZ2EgcGlrayIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAidmlnYW5lIHRhaW1hZGkgduTkcnR1czogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIk5pbWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBmYWlsaSBgJXMnIgorCisjfiBtc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgc3BlY2lhbCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzIHBvbGUgcGxva2tzZWFkZSIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIHBlaWRldHVkIEM6IGtldGFzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICIlczogdHVuZG1hdHUgc2lnbmFhbCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgICUuNmYgc2VrdW5kaXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgImVpIGrkdGt1IG3kbHUgaS1raXJqZXRlIHB1aHZyaWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk51bWJlciBvZiBTZW1hcGhvcmUgSURzIgorI34gbXNnc3RyICJTaXNldGFnZSBzZWt0b3JpdGUgYXJ2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFstYyB8IC1sIGZhaWxpbmltaV0gWy1uWFhdIFstaVhYXSAvZGV2L25pbWkgW3Bsb2trZV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgInZpZ2FuZSBpLWtpcmplIHN1dXJ1cyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidPz8cDogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJrZXRhczogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJt5HJnZW5kOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJsaXB1ZDoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJhaXRlIHNla3RvcmlzOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcmVpZCByYWphbDogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInJhZHUgc2lsaW5kcmlzOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcmVpZCBzaWxpbmRyaXM6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJzaWxpbmRyZWlkOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJycG06ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgImludGVybGVhdmU6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAidHJhY2tza2V3OiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgImN5bGluZGVyc2tldzogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInBlYWRlIHZhaGV0dXM6ICVsZFx0XHQjIG1pbGxpc2VrdW5kaXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIiIKKyN+ICJyYWphbHQgcmFqYWxlIHNlZWs6ICVsZFxuIgorI34gIiMgbWlsbGlzZWt1bmRpdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJWQgcGFydGl0c2lvb25pOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIiIKKyN+ICJQYXJ0aXRzaW9vbmkgZWkgc2FhIG11dXRhIGV4dGVuZGVkJ2lrcyBlZ2EgZXh0ZW5kZWRpc3QgaGFyaWxpa3Vrcy5cbiIKKyN+ICJTZWxsZSBhc2VtZWwgdHVsZWIgcGFydGl0c2lvb24ga3VzdHV0YWRhIGphIHV1cyBsdXVhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZXRhcyAlcyAoU0dJIHBhcnRpdHNpb29uaXRhYmVsKTogJWQgcGVhZCwgJWQgc2VrdG9yaXRcbiIKKyN+ICIlZCBzaWxpbmRyaXQsICVkIGb8/HNpbGlzdCBzaWxpbmRyaXRcbiIKKyN+ICIlZCBsaXNhc2VrdG9yaXQgcmFqYWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIiVzXG4iCisjfiAi3Ghpa3VkID0gJXMgc3V1cnVzZWdhICVkICogNTEyIGJhaXRpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICJ2YWxtaXMgKEQpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IFstI10gWy1mIGZhaWxdIFstdCB0dHldIFstaCBob3N0aW5pbWldIFtrYXN1dGFqYSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICB2ZWVsIG1hc2luYXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGFsZ2FiICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImthdGtlc3RhdHVkICUxMC4xMHMgJTUuNXMgXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIkthaGp1a3Mgc2FiYSBhaW51bHQgcm9vdCBz/HN0ZWVtaWtlbGFsIGtlZXJhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJLYWhqdWtzIHNhYWIgYWludWx0IHJvb3Qgcmlpc3R2YXJhbGlzZSBrZWxsYSBlcG9oaGkgc2VhZGFcbiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgbHVnZW1pbmUga2VsbGEgdGlrc3Ugb290YW1pc2VsIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFNla3Rvcml0ZSBq5HJnaSBq5HJqZXN0YXR1ZCB0YWJlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlza2kgYWJpaW5mbyBla3JhYW4iCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiYXJ2dXRpIGv1dmFrZXR0YWwuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB05Glzc/VuYWdhIChgamFoJyB29WkgYGVpJykuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICLcaHRlZ2kgcGFydGl0c2lvb25pIHBvbGUgZGVmaW5lZXJpdHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiS2FzIHNvb3ZpdGUgbHV1YSBwYXJ0aXRzaW9vbml0YWJlbGl0PyAoeS9uKSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHlwZSBvZiB0aGUgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbmkgJWQgdPz8cCBvbiBu/PxkICV4ICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJrYXN1dGFtaW5lOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICJQb3N0aXNpb25lZXJpbWlzZSB2aWdhIHNlYWRtZWwgJXMgLSBlaSBzYWEgbWlubmEgcG9zaXRzaW9vbmlsZSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgIlBvc2l0c2lvbmVlcmltaXNlIHZpZ2E6IHRhaHRzaW4gMHglMDh4JTA4eCwgc2FpbiAweCUwOHglMDh4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJMdWdlbWlzdmlnYSBzZWFkbWVsICVzIC0gZWkgc2FhIGx1Z2VkYSBzZWt0b3JpdCAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiS2lyanV0YW1pc3ZpZ2Egc2VhZG1lbCAlcyAtIGVpIHNhYSBraXJqdXRhZGEgc2VrdG9yaXQgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgcGFydGl0c2lvb25pdGFiZWxpIHNhbHZlc3R1c2ZhaWxpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIkVpIHNhYSBsdWdlZGEgcGFydGl0c2lvb25pdGFiZWxpIHNhbHZlc3R1c2ZhaWxpIHN0YWF0dXN0ICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZyIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb25pdGFiZWxpIHNhbHZlc3R1c2ZhaWwgb24gdmFsZSBwaWtrdXNlZ2EgLSBlaSB0YWFzdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIkVpIHNhYSBhdmFkYSBwYXJ0aXRzaW9vbml0YWJlbGkgc2FsdmVzdHVzZmFpbGkgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgIlZpZ2EgJXMgbHVnZW1pc2VsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMga2lyanV0YW1pc2Vrc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAiVmlnYSBzZWt0b3JpICVsdSBraXJqdXRhbWlzZWwgc2VhZG1lbGUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICJLZXRhcyAlczogZWkgc3V1ZGEgZ2VvbWVldHJpYXQga2luZGxha3MgdGVoYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiS2V0YXMgJXM6IGVpIHN1dWRhIG1haHR1IGtpbmRsYWtzIHRlaGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJIb2lhdHVzOiBzdGFydD0lbHUgLSBzZWUgcGFpc3RhYiBvbGV2YXQgcGlnZW0gcGFydGl0c2lvb24ga3VpXG4iCisjfiAidGVydmUga2V0YXMuIGZkaXNraSBrYXN1dGFtaW5lIG9uIGlsbXNlbHQgbfV0dGV0dS5cbiIKKyN+ICJLYXN1dGFnZSAtLWZvcmNlIHb1dGl0LCBrdWkgdPVlc3RpIHRhaGF0ZSBzZWRhIHRlaGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIkhvaWF0dXM6IEhESU9fR0VUR0VPIPx0bGVzLCBldCBzZWFkbWVsIG9uICVsdSBwZWFkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiSG9pYXR1czogSERJT19HRVRHRU8g/HRsZXMsIGV0IHNlYWRtZWwgb24gJWx1IHNla3Rvcml0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIkhvaWF0dXM6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8g/HRsZXMsIGV0IHNlYWRtZWwgb24gJWx1IHNpbGluZHJpdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIkhvaWF0dXM6IGViYXT1ZW7kb2xpbmUgc2VrdG9yaXRlIGFydiByYWphbCAoJWx1KSAtIGhhcmlsaWt1bHQga3VuaSA2M1xuIgorI34gIlNlZSB0ZWtpdGFiIHByb2JsZWVtZSBr9WlnaSBwcm9ncmFtbWlkZWdhLCBtaXMg/HJpdGF2YWQga2FzdXRhZGFcbiIKKyN+ICJDL0gvUyAoc2lsaW5kZXIvcGVhL3Nla3RvcikgYWRyZXNzZWVyaW1pc3QuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2V0YXMgJXM6ICVsdSBzaWxpbmRyaXQsICVsdSBwZWFkLCAlbHUgc2VrdG9yaXQgcmFqYWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgcGFydGl0c2lvb25pbCAlcyBzaXNhbGRhYiB2aWdhc3QgcGVhZCBudW1icml0OiAlbHUgKHBlYWtzIG9sZW1hIDAtJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiVzIHBhcnRpdHNpb29uaWwgJXMgc2lzYWxkYWIgdmlnYXN0IHNla3RvcmkgduTkcnR1c3Q6ICVsdSAocGVha3Mgb2xlbWEgMS0lbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgcGFydGl0c2lvb25pbCAlcyBzaXNhbGRhYiB2aWdhc3Qgc2lsaW5kcmkgduTkcnR1c3Q6ICVsdSAocGVha3Mgb2xlbWEgMC0lbHUpXG4iCisKKyN+IG1zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgLi4uXG4iCisjfiBtc2dzdHIgIkxvZW4gdXVlc3RpIHBhcnRpdHNpb29uaXRhYmVsaXQuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIlBhcnRpdHNpb29uaXRhYmVsaSD8bGVsdWdlbWluZSBlaSD1bm5lc3R1bnVkXG4iCisjfiAiVGVoa2UgYXJ2dXRpbGUga29oZSBhbGdsYWFkaW1pbmUsIGVubmUgbWtmcyBrYXN1dGFtaXN0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiVmlnYSAlcyBzdWxnZW1pc2VsXG4iCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IHNlbGxpc3QgcGFydGl0c2lvb25pIGVpIG9sZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJUdW5kbWF0dSBmb3JtYWF0IC0ga2FzdXRhbiBzZWt0b3JlaWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICJTZWRhIGZvcm1hYXRpIHBvbGUgdmVlbCByZWFsaXNlZXJpdHVkIC0ga2FzdXRhbiAlc1xuIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic2VrdG9yaXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi3Ghpa3VkID0gc2lsaW5kcmlkICVsdSBiYWlkaWdhLCBwbG9raWQgMTAyNCBiYWlkaWdhLCBsb2VuZGFuIGFsYXRlcyAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIFNlYWRlICBCdXV0IEFsZ3VzICAgICBM9XBwICAgI3NpbCAgICAgI3Bsb2trZSAgIElEICBT/HN0ZWVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBzZWN0b3JzIG9mIDUxMiBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi3Ghpa3VkID0gc2VrdG9yaWQgNTEyIGJhaWRpZ2EsIGxvZW5kYW4gYWxhdGVzICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBTZWFkZSAgQnV1dCAgICBBbGd1cyAgICAgIEz1cHAgICAjc2VrdG9ycyAgSUQgIFP8c3RlZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLcaGlrdWQgPSAxMDI0LWJhaWRpc2VkIHBsb2tpZCwgbG9lbmRhbiBhbGF0ZXMgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIFNlYWRlICBCdXV0ICAgQWxndXMgICAgICBM9XBwICAgICNwbG9ra2UgICBJRCAgU/xzdGVlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gItxoaWt1ZCA9IG1lZ2FiYWlkaWQgKDEwNDg1NzYgYmFpdGkpLCBwbG9raWQgKDEwMjQgYmFpdGkpLCBsb2VuZGFuIGFsYXRlcyAlZFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBTZWFkZSAgQnV1dCBBbGd1cyAgIEz1cHAgICAgTUIgICAgI3Bsb2trZSAgIElEICBT/HN0ZWVtXG4iCisKKyN+IG1zZ2lkICJcdFx0c3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRhbGd1czogKGMsaCxzKSBvb3Rhc2luICglbGQsJWxkLCVsZCksIHNhaW4gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGz1cHA6IChjLGgscykgb290YXNpbiAoJWxkLCVsZCwlbGQpLCBzYWluICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gbPVwZWIgc2lsaW5kcmlsICVsZCwgdGFnYXBvb2wga2V0dGEgbPVwcHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiSG9pYXR1czogdHVuZHViLCBldCBzZWUgcGFydGl0c2lvb25pdGFiZWwgdGVodGkgZ2VvbWVldHJpYVxuIgorI34gIkMvSC9TPSovJWxkLyVsZCBqYW9rcyAobWl0dGUgJWxkLyVsZC8lbGQpLlxuIgorI34gIkVlbGRhbiBzZWRhIGdlb21lZXRyaWF0IG5pbWVraXJqYSBu5Gl0YW1pc2VsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50LiIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb25pdGFiZWxpdCBlaSBvbGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgIkltZWxpaywgYWludWx0ICAlZCBwYXJ0aXRzaW9vbmkgb24gZGVmaW5lZXJpdWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJXMgb24gc3V1cnVzZWdhIDAsIGFnYSBwb2xlIG3kcmdpdHVkIHT8aGpha3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzIG9uIHN1dXJ1c2VnYSAwLCBrdWlkIG9uIG3kcmdpdHVkIGJ1dXRpdmFrc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBvbiBzdXVydXNlZ2EgMCwga3VpZCBhbGd1cyBwb2xlIDBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXMiCisjfiBtc2dzdHIgImVpIHNpc2FsZHUgcGFydGl0c2lvb25pcyAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVkIG9uIHT8aGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBzaXNhbGRhYiBvc2EgcGFydGl0c2lvb25pdGFiZWxpc3QgKHNla3RvciAlbHUpXG4iCisjfiAiamEgaOR2aXRhYiBzZWxsZSwga3VpIHRhIGFuZG1ldGVnYSB05GlkZXRha3NlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb24gJXMgYWxnYWIgc2VrdG9yaWx0IDBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBz9WlkYWIg/GxlIGtldHRhIG90c2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpIgorI34gbXNnc3RyICIiCisjfiAiQWludWx0IPxrcyBwcmltYWFyc2V0ZXN0IHBhcnRpdHNpb29uaWRlc3QgdG9oaWIgb2xsYSBleHRlbmRlZFxuIgorI34gIihrdWlnaSBzZWUgcG9sZSBMaW51eGlzIHByb2JsZWVtaWtzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBlaSBhbGdhIHNpbGluZHJpIHBpaXJpbHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzIGVpIGz1cHBlIHNpbGluZHJpIHBpaXJpbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiSG9pYXR1czogcm9oa2VtIGt1aSD8a3MgcHJpbWFhcm5lIHBhcnRpdHNpb29uIG9uIG3kcmdpdHVkIGJ1dXRpdmFrcyAoYWt0aWl2c2VrcykuXG4iCisjfiAiTElMTyBqYW9rcyBwb2xlIHNlZSBvbHVsaW5lLCBhZ2EgRE9TLWkgTUJSIHb1aWIgYnV1dGltaXNlbCByYXNrdXN0ZXNzZSBzYXR0dWRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAiSG9pYXR1czogaGFyaWxpa3VsdCBzYWFiIGJ1dXRpZGEgYWludWx0IHByaW1hYXJzZXRlbHQgcGFydGl0c2lvb25pZGVsdCxcbiIKKyN+ICJhaW51bHQgTElMTyBpZ25vcmVlcmliIGJ1dWRpdGF2dXNlIGxpcHB1LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkhvaWF0dXM6IPxrc2tpIHByaW1hYXJuZSBwYXJ0aXRzaW9vbiBwb2xlIG3kcmdpdHVkIGJ1dXRpdmFrcyAoYWt0aWl2c2VrcykuXG4iCisjfiAiU2VlIHBvbGUgTElMTyBqYW9rcyBvbHVsaW5lLCBhZ2EgRE9TLWkgTUJSIGVpIHN1dWRhIHNpaXQga2V0dGFsdCBidXV0aWRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJcdFx0YWxndXM6IChjLGgscykgb290YXNpbiAoJWxkLCVsZCwlbGQpLCBzYWluICglbGQsJWxkLCVsZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlbmQiCisjfiBtc2dzdHIgIkVuZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIlx0XHRs9XBwOiAoYyxoLHMpIG9vdGFzaW4gKCVsZCwlbGQsJWxkKSwgc2FpbiAoJWxkLCVsZCwlbGQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gbPVwZWIgc2lsaW5kcmlsICVsZCwgdGFnYXBvb2wga2V0dGEgbPVwcHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiSG9pYXR1czogZXh0ZW5kZWQgcGFydGl0c2lvb24gZWkgYWxnYSBzaWxpbmRyaSBwaWlyaWx0LlxuIgorI34gIkRPUyBqYSBMaW51eCBpbnRlcnByZXRlZXJpdmFkIHNlbGxlIHNpc3UgZXJpbmV2YWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVSUk9SOiBzZWN0b3IgJWxsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZSIKKyN+IG1zZ3N0ciAiVklHQTogc2VrdG9yICVsdSBlaSBzaXNhbGRhIG1zZG9zJ2kgc2lnbmF0dXVyaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIlJvaGtlbSBwYXJ0aXRzaW9vbmUgZWkgb2xlIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJJbWVsaWssIGFpbnVsdCAgJWQgcGFydGl0c2lvb25pIG9uIGRlZmluZWVyaXVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgIkltZWxpaywgYWludWx0ICAlZCBwYXJ0aXRzaW9vbmkgb24gZGVmaW5lZXJpdWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiRWkga2lyanV0YW51ZCBwYXJ0aXRzaW9vbml0YWJlbGl0IGtldHRhbGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAidHVuZG1hdHUgdvV0aSBgJXMnXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIlJvaGtlbSBwYXJ0aXRzaW9vbmUgZWkgb2xlIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlZpZ2FuZSBvZmZzZXQgcHJpbWFhcnNlcyBleHRlbmRlZC1wYXJ0aXRzaW9vbmlzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJMaWlnYSBwYWxqdSB0/GhqZSByaWR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJWYWxlIGtsYWh2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiSG9pYXR1czogdPxoaSBwYXJ0aXRzaW9vblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbiAlcyBhbGdhYiBzZWt0b3JpbHQgMFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWQiCisjfiBtc2dzdHIgIkx1dWEgdXVzIHBhcnRpdHNpb29uIHZhYmEgcnV1bWkgc2lzc2UiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJ2aWdhbmUgdGFpbWFkaSB25ORydHVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJMaWlnYSBwYWxqdSBwYXJ0aXRzaW9vbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAidmlnYW5lIGFydjogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLXByaW50LWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQgdGFiZWxpdGUga2lyanV0YW1pc2VsIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgImVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyBsdWdlbWlzZWtzIGphIGtpcmp1dGFtaXNla3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIGx1Z2VtaXNla3NcbiIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgInZhbG1pcyAoRCkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiSG9pYXR1czogcm9oa2VtIGt1aSD8a3MgcHJpbWFhcm5lIHBhcnRpdHNpb29uIG9uIG3kcmdpdHVkIGJ1dXRpdmFrcyAoYWt0aWl2c2VrcykuXG4iCisjfiAiTElMTyBqYW9rcyBwb2xlIHNlZSBvbHVsaW5lLCBhZ2EgRE9TLWkgTUJSIHb1aWIgYnV1dGltaXNlbCByYXNrdXN0ZXNzZSBzYXR0dWRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzIG9uIHN1dXJ1c2VnYSAwLCBrdWlkIG9uIG3kcmdpdHVkIGJ1dXRpdmFrc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIG9uIGp1YmEgb2xlbWFzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiRmF0YWFsbmUgdmlnYTogZWkgc3V1ZGEgbGVpZGEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIkhvaWF0dXM6ICVzIHBvbGUgcGxva2tzZWFkZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb25pICVkIHBvbGUgdmVlbCBvbGVtYXMhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIlBhbHVuIHNpc2VzdGFnZSB5LCBuIHb1aSBxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkhPSUFUVVM6IEt1aSBUZSB0ZWtpdGFzaXRlIHb1aSBtdXV0c2l0ZSBET1MgNi54XG4iCisjfiAicGFydGl0c2lvb25lLCBsdWdlZ2UgcGFsdW4gY2ZkaXNrJ2kgbWFudWFsaVxuIgorI34gImxpc2FpbmZvcm1hdHNpb29uaSBoYW5raW1pc2Vrcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiduRsaSBvbiBsaWlnYSBwaWtrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiAnJWMnIGVpIG9sZSBsdWJhdHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJyVjJyBlaSBvbGUgbHViYXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogSnVodHP8bWJvbGlkIGVpIG9sZSBsdWJhdHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiSnV0dHP8bWJvbGlkIGVpIG9sZSBsdWJhdHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogYWludWx0IGxva2FhbHNlaWQga2lyamVpZCBzYWFiIG11dXRhIC0ga2FzdXRhZ2UgcHJvZ3JhbW1pIHlwJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgd2lwZWZzKDgpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0YXNrc2V0KDEpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiBlZW1hbGRhdGF2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIi0tZGF0ZSBwYXJhbWVldGVyIG9uIHB1dWR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0ciAiVmFqYSBvYiB2YWhlbGUgbGlzYWRhICVkIHNla3VuZGl0IG5pbmcgdmlpZGF0YSBhamFsZSAlLjZmIHNla3VuZGl0IHRhZ2FzaVxuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIk9vdGFuIHRz/GtpbHMsIGt1bmkgS0RHSFdDTEsgYWJpbCBzYWFkdWQgYWVnIGVkYXNpIGzkaGViXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCBrZWxsYSBsdWdlbWlzZWtzIGVpIPVubmVzdHVudWQiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIGtlbGxhIGx1Z2VtaXNla3MgZWkg9W5uZXN0dW51ZCB0c/xraWxzIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgImlvY3RsKCkgYWJpbCBrZWxsYSBsdWdlbWluZSAlcyBrYXVkdSBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJLRFNIV0NMSyBpb2N0bCBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBzZWFkZXQgL2Rldi90dHkxIHb1aSAvZGV2L3ZjLzEiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzY3B1KDEpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJ29XRpIGAlcycgdmFqYWIgYXJndW1lbnRpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBTZWt0b3JpdGUgauRyZ2kgauRyamVzdGF0dWQgdGFiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIlcyBwb2xlIGtvbXBpbGVlcml0dWQgbWluaXggdjIgdG9lZ2FcbiIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogTeRsdSBzYWkgb3RzYVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIkthc3V0YW1hdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiS2V0YXN0IHNhaSBtdXVkZXR1ZFxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIlRlaGtlIGFsZ2vkaXZpdHVzLCBldCB1dWVuZHVzZWQgbfVqdW1hIGhha2tha3NpZFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkhPSUFUVVM6IEt1aSBUZSB0ZWtpdGFzaXRlIHb1aSBtdXV0c2l0ZSBET1MgNi54XG4iCisjfiAicGFydGl0c2lvb25lLCBsdWdlZ2UgcGFsdW4gY2ZkaXNrJ2kgbWFudWFsaVxuIgorI34gImxpc2FpbmZvcm1hdHNpb29uaSBoYW5raW1pc2Vrcy5cbiIKKworI34gbXNnaWQgIkZBVEFMIEVSUk9SIgorI34gbXNnc3RyICJGQVRBQUxORSBWSUdBIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiVmFqdXRhIG31bmRhIGtsYWh2aSBjZmRpc2tpc3QgduRsanVtaXNla3MiCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJFaSBzdXVkYSBrZXR0YWwgc2Vla2lkYSIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtldHRhbHQgbHVnZWRhIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtldHRhbGUga2lyanV0YWRhIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTGlpZ2EgcGFsanUgcGFydGl0c2lvb25lIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uIGFsZ2FiIGVubmUgc2VrdG9yaXQgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gbPVwcGViIGVubmUgc2VrdG9yaXQgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uIGFsZ2FiIHDkcmFzdCBrZXR0YSBs9XBwdSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbiBs9XBwZWIgcORyYXN0IGtldHRhIGz1cHB1IgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJMb29naWxpc2VkIHBhcnRpdHNpb29uaWQgb24gZvz8c2lsaXNlc3QgZXJpbmV2YXMgauRyamVzdHVzZXMiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiTG9vZ2lsaXNlZCBwYXJ0aXRzaW9vbmlkIGthdHR1dmFkIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgIlN1dXJlbmRhdHVkIGxvb2dpbGlzZWQgcGFydGl0c2lvb25pZCBrYXR0dXZhZCIKKworI34gbXNnaWQgIiEhISEgSW50ZXJuYWwgZXJyb3IgY3JlYXRpbmcgbG9naWNhbCBkcml2ZSB3aXRoIG5vIGV4dGVuZGVkIHBhcnRpdGlvbiAhISEhIgorI34gbXNnc3RyICJTaXNlbWluZSB2aWdhOiBsb29naWxpc2UgcGFydGl0c2lvb25pIGxvb21pc2VsIHB1dWR1YiBleHRlbmRlZC1wYXJ0aXRzaW9vbiIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiU2lpYSBlaSBzYWEgbG9vZ2lsaXN0IHBhcnRpdHNpb29uaSBsdXVhIC0gc2VlIHRla2l0YWtzZSB0ZWlzZSBleHRlbmRlZCdpIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIk1lbvz8a2lyamUgb24gbGlpZ2EgcGlray4gTWVu/PwgdvVpYiBuYWxqYWthcyB25GxqYSBu5GhhLiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJWYWxlIGtsYWh2IgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJMb28gdXVzIHByaW1hYXJuZSBwYXJ0aXRzaW9vbiIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTG9vIHV1cyBsb29naWxpbmUgcGFydGl0c2lvb24iCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIlT8aGlzdGEiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIsRyYSBsb28gcGFydGl0c2lvb25pIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIFNpc2VtaW5lIHZpZ2EgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIlN1dXJ1cyAoTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIkJlZ2lubmluZyIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkxpc2FkYSBwYXJ0aXRzaW9vbiB2YWJhIHJ1dW1pIGFsZ3Vzc2UiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJMaXNhZGEgcGFydGl0c2lvb24gdmFiYSBydXVtaSBs9XBwdSIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlBvbGUgcnV1bWkgZXh0ZW5kZWQtcGFydGl0c2lvb25pIHRlZ2VtaXNla3MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJQdXVkdXYgcGFydGl0c2lvb25pdGFiZWwgdvVpIHZhbGUgc2lnbmF0dXVyIHBhcnRpdHNpb29uaXRhYmVsaXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIlRy/GtraWRhIGxpaHRzYWx0IHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsaXQgZWkgb2xlXG4iCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJLYXMgc29vdml0ZSBhbHVzdGFkYSB0/GhqYSB0YWJlbGlnYSBbeS9OXSA/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEga2V0dGFzZWFkZXQiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJBdmFzaW4ga2V0dGEgYWludWx0IGx1Z2VtaXNla3MgLSBraXJqdXRhbWlzZWtzIHBvbGUg9WlndXN0IgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtpbmRsYWtzIHRlaGEga2V0dGEgbWFodHUiCisKKyN+IG1zZ2lkICJCYWQgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlZpZ2FuZSBwcmltYWFybmUgcGFydGl0c2lvb24iCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJIb2lhdHVzISEgIFNlZSB29WliIFRlaWUga2V0dGFsIGFuZG1laWQgaOR2aXRhZGEhIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIlBhbHVuIHNpc2VzdGFnZSBgamFoJyB29WkgYGVpJyIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIktpcmp1dGFuIHBhcnRpdHNpb29uaXRhYmVsaXQga2V0dGFsZS4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJLaXJqdXRhc2luIHBhcnRpdHNpb29uaXRhYmVsaSBrZXR0YWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJLaXJqdXRhc2luIHBhcnRpdHNpb29uaXRhYmVsaSwgYWdhIHRhZ2FzaSBsdWdlbWluZSBlYmH1bm5lc3R1cy4gUmVib290IGFiaWtzLiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICLca3NraSBwcmltYWFybmUgcGFydGl0c2lvb24gcG9sZSBt5HJnaXR1ZCBidXV0aXZha3MuIERPU2kgTUJSIGVpIHN1dWRhIHNpaXQgYnV1dGlkYS4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiUm9oa2VtIGt1aSD8a3MgcHJpbWFhcm5lIHBhcnRpdHNpb29uIG9uIG3kcmdpdHVkIGJ1dXRpdmFrcy4gRE9TaSBNQlIgZWkgc3V1ZGEgc2lpdCBidXV0aWRhLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJTaXNldGEgZmFpbGluaW1pIHb1aSB2YWp1dGEgUkVUVVJOIGVrcmFhbmlsIG7kaXRhbWlzZWtzOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJLZXR0YXNlYWRlOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3RvciAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJTZWt0b3IgJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICBWYWJhICAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgUHJpL0xvZyIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiBQcmltYWFybmUiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgTG9vZ2lsaW5lIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiVHVuZG1hdHUgKCUwMlgpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgInZhbG1pcyAoRCkiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uaXRhYmVsIGtldHRhbCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgRXNpbWVuZSAgVmlpbWFuZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgVPz8cCAgICAgU2VrdG9yICAgU2VrdG9yICAgT2Zmc2V0ICBQaWtrdXMgICBGYWlsaXP8c3QuIHT8/HAgKElEKSAgIExpcHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tIC0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLS0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tLUFsZ3VzLS0tLS0gICAgICAtLS0tLUz1cHAtLS0tLSAgRXNpbWVuZSBTZWt0b3JpdGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgTGlwdWQgUGVhICBTZWt0IFNpbCAgIElEICBQZWEgIFNla3QgU2lsICAgIHNla3RvciAgICBhcnZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLS0tLSAtLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAidG9vUmVzIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiVHL8a2tpZGEgdGFiZWwgdG9vcmVzIGZvcm1hYWRpcyAoYmFpdGhhYXZhbCkiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJUcvxra2lkYSB0YWJlbCBq5HJqZXN0YXR1bmEgc2VrdG9yaXRlIGrkcmdpIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmVsIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJUcvxra2lkYSBsaWh0c2FsdCB0YWJlbCIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAiRWkgdHL8a2kgbWlkYWdpIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICBNdXV0YSBzaWxpbmRyaXRlLCBwZWFkZSBqYSByYWphbCBvbGV2YXRlIHNla3Rvcml0ZSBhcnZ1IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEhPSUFUVVM6IFNlZSBr5HNrIG9uIGFpbnVsdCBuZWlsZSwga2VzIHRlYXZhZCwgbWlkYSAiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIG5hZCB0ZWV2YWQuIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAgTWFrc2ltaXNlZXJpZGEgam9va3N2YSBwYXJ0aXRzaW9vbmkga2V0dGFrYXN1dHVzIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE3kcmt1czogc2VlIHb1aWIgdGVoYSBrZXR0YSBtaXR0ZfxoaWxkdXZha3MgRE9TaSwiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBPUy8yIGphIG11dWRlIG9wZXJhdHNpb29uaXP8dGVlbWlkZWdhLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBW5GxqYXN0YWRhIHBhcnRpdHNpb29uaXRhYmVsIGVrcmFhbmlsZSB29WkgZmFpbGkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBW5GxqYXN0YW1pc2VsIHb1aXRlIHZhbGlkYSBtaXRtZSBmb3JtYWFkaSB2YWhlbDoiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIHRvb1JlcyAtIHNlZSBiYWlkaWphZGEsIG1pcyBrZXR0YWxlIGtpcmp1dGF0YWtzIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIE11dXRhIHBhcnRpdHNpb29uaWRlIHN1dXJ1c2UgamEgYXN1a29oYSD8aGlrdWlkIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgVmFyaWFuZGlkIG9uIE1CLCBzZWt0b3JpZCBqYSBzaWxpbmRyaWQiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMLUwgICAgICAgSm9vbmlzdGFkYSBla3JhYW4g/GxlIgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgTuRpZGF0YSBzZWRhc2FtYSBla3JhYW5pIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJNdXV0YSBzaWxpbmRyaXRlIGFydnUgZ2VvbWVldHJpYXMiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiTXV1dGEgcGVhZGUgYXJ2dSBnZW9tZWV0cmlhcyIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIk11dXRhIHNla3Rvcml0ZSBhcnZ1IGdlb21lZXRyaWFzIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJNdXV0dXNlZCBnZW9tZWV0cmlhcyBvbiB0ZWh0dWQiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJTaXNlc3RhZ2Ugc2lsaW5kcml0ZSBhcnY6ICIKKworI34gbXNnaWQgIklsbGVnYWwgY3lsaW5kZXJzIHZhbHVlIgorI34gbXNnc3RyICJWaWdhbmUgc2lsaW5kcml0ZSBhcnYiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIlNpc2V0YWdlIHBlYWRlIGFydjogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlnYW5lIHBlYWRlIGFydiIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAiU2lzZXN0YWdlIHNla3Rvcml0ZSBhcnYgcmFqYWw6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlnYW5lIHNla3Rvcml0ZSBhcnYiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiU2lzZXN0YWdlIGZhaWxpc/xzdGVlbWkgdPz8YmkgbnVtYmVyOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIkZhaWxpc/xzdGVlbWkgdPz8cGkgZWkgc2FhIG11dXRhIHT8aGpha3MiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIkZhaWxpc/xzdGVlbWkgdPz8cGkgZWkgc2FhIG11dXRhIGV4dGVuZGVkJ2lrcyIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiVHVuZG1hdHUgKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIlByaS9Mb2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiVHVuZG1hdHUgKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIktldHRhc2VhZGU6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIk1haHQ6ICVsbGQgYmFpdGksICVsZCBNQiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIk1haHQ6ICVsbGQgYmFpdGksICVsZC4lbGQgR0IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJQ5GlkOiAlZCAgICBTZWt0b3JlaWQgcmFqYWw6ICVkICAgIFNpbGluZHJlaWQ6ICVkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJU/PxwIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiRlMgdPz8cCIKKworI34gbXNnaWQgIltMYWJlbF0iCisjfiBtc2dzdHIgIltMYWJlbF0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgIFNlY3RvcnMiCisjfiBtc2dzdHIgIlNla3RvcmVpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAic2lsaW5kcmlkIChDKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiTWFodCAoTUIpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICJNYWh0IChHQikiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlJvaGtlbSBwYXJ0aXRzaW9vbmUgZWkgb2xlIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk11dXRhIGtldHRhIGdlb21lZXRyaWF0IChhaW51bHQgZWtzcGVydGlkZWxlKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICJNYWtzaW1pc2VlcmlkYSIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNYWtzaW1pc2VlcmlkYSBqb29rc3ZhIHBhcnRpdHNpb29uaSBrZXR0YWthc3V0dXMgKGFpbnVsdCBla3NwZXJ0aWRlbGUpIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIlByaW5kaSIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIk11dXRhIGZhaWxpc/xzdGVlbWkgdPz8cGkgKERPUywgTGludXgsIE9TLzIgam5lKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJVaGlrdWQiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJNdXV0YSBwYXJ0aXRzaW9vbmlkZSBzdXVydXNlIG7kaXRhbWlzZSD8aGlrdWlkIChNQiwgc2VrdG9yaWQsIHNpbGluZHJpZCkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiU2VkYSBwYXJ0aXRzaW9vbmkgZWkgc2FhIGJ1dXRpdmFrcyB0ZWhhIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlT8aGphIHBhcnRpdHNpb29uaSBlaSBzYWEga3VzdHV0YWRhIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJTZWRhIHBhcnRpdHNpb29uaSBlaSBzYWEgbWFrc2ltaXNlZXJpZGEiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiU2VlIHBhcnRpdHNpb29uIHBvbGUga2FzdXRhdGF2IgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIlNlZSBwYXJ0aXRzaW9vbiBvbiBqdWJhIG9sZW1hcyIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJU/GhqYSBwYXJ0aXRzaW9vbmkgdPz8cGkgZWkgc2FhIG11dXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMCBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gU2VrdG9yaXRlIGrkcmdpIGrkcmplc3RhdHVkIHRhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIHVzZSBhcnJvdyBmb3IgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIgIGQgICAgICAgICAgS3VzdHV0YWRhIGpvb2tzZXYgcGFydGl0c2lvb24iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgIGMgICBtdXV0YSBzaWxpbmRyaXRlIGFydnUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiZSAgIGV4dGVuZGVkIHBhcnRpdHNpb29uaSBsb29taW5lIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOQyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIlNlYWRhIGJpdHQgYml0bWFwaXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAiJWxkIHBsb2traVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiU2VrdG9yaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIlRlIGFqYWtzaXRlIHBhcnRpdHNpb29uaWQga2F0dHVtYSEgUGFyYW5kYWdlIHNlZSBr9WlnZXBlYWx0IORyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIkxpcHVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczogRWkgc3V1ZGEgYXZhZGEgZmFpbGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wZGV2IGNvbnRleHQiCisjfiBtc2dzdHIgImVpIGrkdGt1IG3kbHUga2FhcnRpZGUgcHVodnJpdGVsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICIlcyBwb2xlIGZsb3Bpc2VhZGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJlaSBzdXVkYSB0YWdhc2kga2VyaWRhIHNhYWxpbWlzc2VhZGV0IgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIGtpaXJ1c2Ugc2VhZG1pc2VrcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJW0iCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAiICAgbCAgIGFuZGEgbmltZWtpcmkgdHVudHVkIGZhaWxpc/xzdGVlbWlkZSB0/PxwaWRlc3QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCByZW1vdW50ICVzJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorI34gbXNnc3RyICJtb3VudDogZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIGtpaXJ1c2Ugc2VhZG1pc2VrcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIktldGFzdCBzYWkgbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yJWQgb24ganViYSBrYXN1dHVzZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIkVpIHN1dWRhIGF2YWRhIHNlYWRtZWZhaWxpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlnYW5lIHNpbGluZHJpdGUgYXJ2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlnYW5lIHNla3Rvcml0ZSBhcnYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aWdhbmUga2lpcnVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIkthc3V0YW4gdmFpa2ltaXNpIHbk5HJ0dXN0ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiS2FzdXRhbiB2YWlraW1pc2kgduTkcnR1c3QgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aWdhbmUgdGFpbWFkaSB25ORydHVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiS2FzdXRhbiB2YWlraW1pc2kgduTkcnR1c3QgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIkthc3V0YW4gdmFpa2ltaXNpIHbk5HJ0dXN0ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJlaSBzdXVkYSBraW5kbGFrcyB0ZWhhIHNlYWRtZSAlcyBtYWh0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNlYXRhdmFzdCBrZWxsYWFqYXN0IG9uIG329mRhcyAlLjZmIHNla3VuZGl0LlxuIgorI34gIk9vdGFuIGVkYXNpIHTkaXNzZWt1bmRpbmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJ2aWdhIGkta2lyamUga2lyanV0YW1pc2VsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGF2YWRhIHNlYWRldCAvZGV2L3R0eTEgdvVpIC9kZXYvdmMvMSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAia/ZpdGUgbmltaSBvbiBsaWlnYSBwaWtrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJzZXR1aWQoKSBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uICVkIG9uIGp1YmEgb2xlbWFzLiBLdXN0dXRhZ2Ugc2VlIGVubmUgdXVlc3RpIGxpc2FtaXN0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gJWQgb24ganViYSBvbGVtYXMuIEt1c3R1dGFnZSBzZWUgZW5uZSB1dWVzdGkgbGlzYW1pc3RcbiIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAi/GtzIHZpZ2FuZSBwbG9ra1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiB0eXBlIGhleCBvciB1dWlkIgorI34gbXNnc3RyICIjICVzIHBhcnRpdHNpb29uaXRhYmVsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAidmlnYW5lIGtpaXJ1czogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICIlcyBhdmFtaW5lIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICLcaHRlZ2kgcGFydGl0c2lvb25pIHBvbGUgZGVmaW5lZXJpdHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBUdW5kbWF0dSBhcmd1bWVudDogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLYXN1dGFtaW5lOlxuIgorI34gIlZlcnNpb29uaSB0cvxra2ltaW5lOlxuIgorI34gIiAgICAgICAgJXMgLXYgXG4iCisjfiAiUGFydGl0c2lvb25pdGFiZWxpIHRy/GtraW1pbmU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFt29XRtZWRdIHNlYWRlXG4iCisjfiAiSW50ZXJha3RpaXZuZSBrYXN1dGFtaW5lOlxuIgorI34gIiAgICAgICAgJXMgW3b1dG1lZF0gc2VhZGVcbiIKKyN+ICJcbiIKKyN+ICJW9XRtZWQ6XG4iCisjfiAiLWE6IEthc3V0YWRhIG5vb2x0IGludmVydGVlcml0dWQgdGVrc3RpIGFzZW1lbFxuIgorI34gIi16OiBBbHVzdGFkYSB0/GhqYSBwYXJ0aXRzaW9vbml0YWJlbGlnYSwgYXJ2ZXN0YW1hdGEgdGFiZWxpIHZhbmEgc2lzdVxuIgorI34gIi1jIEMgLWggSCAtcyBTOiBBbmRhIGvkc2l0c2kgZXR0ZSBzaWxpbmRyaXRlLCBwZWFkZSBqYSByYWphbCBvbGV2YXRlXG4iCisjfiAiICAgICAgICAgICAgICAgIHNla3Rvcml0ZSBhcnZ1ZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiV3JpdGluZyBkaXNrbGFiZWwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIktpcmp1dGFuIHBhcnRpdHNpb29uaXRhYmVsaXQgc2VhZG1lbGUgJXNcbiIKKworI34gbXNnaWQgIkxhc3QgJXMgb3IgK3NpemUgb3IgK3NpemVNIG9yICtzaXplSyIKKyN+IG1zZ3N0ciAiVmlpbWFuZSAlcyB29WkgK3N1dXJ1cyB29WkgK3N1dXJ1c00gdvVpICtzdXVydXNLIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICJMb2VuIHBhcnRpdHNpb29uaXRhYmVsaXQgc2VhZG1lbHQgJXMgc2VrdG9yaXN0ICVkXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkJTRCBwYXJ0aXRzaW9vbml0YWJlbGkga+RzayAobSBhbm5hYiBhYmlpbmZvdCk6ICIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJzZWFkbWUgYW5kbWVkOiAiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICBhbGd1cyAgICAgICBs9XBwICAgICBtYWh0ICAgICBmc3T8/HAgICBbZm1haHQgYm1haHQgICBjcGddXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIDw9IHNlY3RvcnMvdHJhY2sgKiB0cmFja3MvY3lsaW5kZXIgKGRlZmF1bHQpLlxuIgorI34gbXNnc3RyICJQZWFiIG9sZW1hIDw9IHNla3Rvcml0ZXN0IHJhamFsICogcmFkYWRlc3Qgc2lsaW5kcmlsICh2YWlraW1pc2kpXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gKGEtJWMpOiAiCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uIChhLSVjKTogIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJIb2lhdHVzOiBsaWlnYSBwYWxqdSBwYXJ0aXRzaW9vbmUgKCVkLCBtYWtzaW11bSBvbiAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2lyanV0YW4gcHVodnJlaWQga2V0dGFsZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzZWVrIG9uICVzIgorI34gbXNnc3RyICJFaSBzdXVkYSBzZWVraWRhIHNlYWRtZWwgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGtpcmp1dGFkYSBzZWFkbWVsZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJGYXRhYWxuZSB2aWdhXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiS+RzayAgICBU5GhlbmR1cyIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiVGUgcGVhdGUgbeTkcmFtYSwgZXQgZWtzaXN0ZWVyaWIgbmlpLWphLW5paS1taXR1IgorCisjfiBtc2dpZCAiaGVhZHMiCisjfiBtc2dzdHIgInBlYWQiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIGphICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIkthc3V0YW4gdmFpa2ltaXNpIHbk5HJ0dXN0ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIktldGFzICVzOiAlZCBwZWFkLCAlZCBzZWt0b3JpdCByYWphbCwgJWQgc2lsaW5kcml0XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZXRhcyAlczogJWQgcGVhZCwgJWQgc2VrdG9yaXQgcmFqYWwsICVkIHNpbGluZHJpdFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiVkIHZhYmEgc2VrdG9yaXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEga2V0dGFsZSBraXJqdXRhZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkVycm9yIGNsb3NpbmcgZmlsZVxuIgorI34gbXNnc3RyICJWaWdhICVzIHN1bGdlbWlzZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIkhvaWF0dXM6IHNlYW4gc2VrdG9yaXRlIG9mZnNldGkgRE9TaWdhIPxoaWxkdXZ1c2UgamFva3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICIiCisjfiAiTGVpZGlzbiBzZWFkbWVsdCAlcyBPU0YvMSBwYXJ0aXRzaW9vbml0YWJlbGksIGzkaGVuIE9TRi8xIHJlemhpaW1pLlxuIgorI34gIkRPU2kgcGFydGl0c2lvb25pdGFiZWxpIHJlemhpaW1pIG5hYXNtaXNla3Mga2FzdXRhZ2Uga+Rza3UgYHInLlxuIgorCisjfiBtc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZVxuIgorI34gbXNnc3RyICJWYWJhZCBzZWt0b3JpZCBvbiBvdHNhc1xuIgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAgZvz8cz0oJWQsICVkLCAlZCkgIgorCisjfiBtc2dpZCAibG9naWNhbD0oJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibG9vZ2lsaW5lPSglZCwgJWQsICVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb25pcyAlZCBvbiBhbmRtZXRlIGFsZ3VzIHZpZ2FuZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIlZpZ2FuZSBwcmltYWFybmUgcGFydGl0c2lvb24iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSE9JQVRVUzogS3VpIFRlIHRla2l0YXNpdGUgdvVpIG11dXRzaXRlIERPUyA2LnhcbiIKKyN+ICJwYXJ0aXRzaW9vbmUsIGx1Z2VnZSBwYWx1biBmZGlzaydpIG1hbnVhbGlcbiIKKyN+ICJsaXNhaW5mb3JtYXRzaW9vbmkgamFva3MuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEJvb3QgICAgQWxndXMgICAgICAgTPVwcCAgIFBsb2trZSAgIElkICBT/HN0ZWVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZXRhcyAlczogJWQgcGVhZCwgJWQgc2VrdG9yaXQgcmFqYWwsICVkIHNpbGluZHJpdFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJOciBBRiAgUOQgU2VrICBTaWwgIFDkIFNlayAgU2lsICAgIEFsZ3VzICAgICBNYWh0IElEXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBNYWMgbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBmZGlzaygxKSBjYW5ub3QgaGFuZGxlIHRoZXNlIGRpc2tzLlxuIgorI34gIlx0VXNlIGVpdGhlciBwZGlzayBvciBwYXJ0ZWQgdG8gbW9kaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiXHROZXZlcnRoZWxlc3Mgc29tZSBhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdFNlbGxlbCBzZWFkbWVsIG9uIEFJWCBwYXJ0aXRzaW9vbml0YWJlbC5cbiIKKyN+ICJcdEthaGp1a3MgZWkgc3V1ZGEgTGludXggc2VkYSBoZXRrZWwgdG9ldGFkYS5cbiIKKyN+ICJcdFNlbGxlZ2lwb29sZXN0LCBuYXR1a2UgbvV1YW5kZWlkOlxuIgorI34gIlx0MS4gZmRpc2sgaOR2aXRhYiBraXJqdXRhbWlzZWwgc2VsbGUgdGFiZWxpXG4iCisjfiAiXHQyLiBPbGdlIGVubmUga2luZGxhZCwgZXQgc2VlIGtldGFzIGVpIG9sZWtzIG9zYVxuIgorI34gIlx0ICAgbfVuZXN0IGv2aWRldGUgKHZvbHVtZSkgZ3J1cGlzdCAtIHZhc3Rhc2VsIGp1aHVsXG4iCisjfiAiXHQgICB29Wl0ZSBrYSBr9ml0ZSB0ZWlzZWQgb3NhZCBrdXN0dXRhZGEsXG4iCisjfiAiXHQgICBrdWkgbmFkIGp1c3QgcGVlZ2VsZGF0dWQgcG9sZS5cdDMuIEVubmUgZvz8c2lsaXNlIGtldHRhIGt1c3R1dGFtaXN0IGt1c3R1dGFnZVxuIgorI34gIlx0ICAga2V0YXMgbG9vZ2lsaXNlbHQgb21hIEFJWCBtYXNpbmFzdFxuIgorI34gIlx0ICAgKG11aWR1IHNhYWIgVGVpc3QgQUlYcGVydCkuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRWYWJhbmR1c3QgLSBzZWUgZmRpc2tpIHZlcnNpb29uIGVpIHNhYSBoYWtrYW1hIEFJWGlcbiIKKyN+ICJcdHBhcnRpdHNpb29uaXRhYmVsaWdhLiBLdWkgVGUgc29vdml0ZSBsaXNhZGEgRE9TaSB0/PxwaVxuIgorI34gIlx0cGFydGl0c2lvb25lLCBsb29nZSBr9WlnZXBlYWx0IHV1cyBET1NpIHBhcnRpdHNpb29uaXRhYmVsXG4iCisjfiAiXHQoa+RzdWdhIG8pLlxuIgorI34gIlx0SE9JQVRVUzogc2VlIGjkdml0YWIga2V0dGEgcHJhZWd1c2Ugc2lzdSFcbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXN0YXZhbHQgTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgc3BldHNpZmlrYXRzaW9vbmlkZWxlIGVpIHRvaGlcbiIKKyN+ICJwYXJ0aXRzaW9vbml0YWJlbCBvbGxhIHN1dXJlbSBrdWkgNTEyIGJhaXRpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZXRhcyAlcyAoU0dJIHBhcnRpdHNpb29uaXRhYmVsKTogJWQgcGVhZCwgJWQgc2VrdG9yaXQsICVkIHNpbGluZHJpdFxuIgorI34gItxoaWt1ZCA9ICVzIHN1dXJ1c2VnYSAlZCAqIDUxMiBiYWl0aVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBwYXJ0aXRzaW9vbmlkIC0tLS0tXG4iCisjfiAiTnIjICUqcyAgSW5mbyAgICAgQWxndXMgICAgICAgTPVwcCBTZWt0b3JlaWQgSWQgIFP8c3RlZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBCdXV0aW5mbyAtLS0tLVxuIgorI34gIkJ1dXRmYWlsOiAlc1xuIgorI34gIi0tLS0tIEthdGFsb29naWtpcmplZCAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VrdG9yICU1dSBwaWtrdXMgJTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAi3Gh0ZWdpIHBhcnRpdHNpb29uaSBwb2xlIGRlZmluZWVyaXR1ZFxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlRlcnZldCBrZXRhc3Qga2F0dGV2IHBhcnRpdHNpb29uIG9uIGFpbnVsdCAlZCBwbG9ra2kgcGlrayxcbiIKKyN+ICJhZ2Ega2V0YXMgaXNlIG9uICVkIHBsb2traSBwaWtrXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uICVkIGVpIGFsZ2Egc2lsaW5kcmkgcGlpcmlsdFxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gJWQgZWkgbPVwcGUgc2lsaW5kcmkgcGlpcmlsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiUGFydGl0c2lvb24gJWQgb24ganViYSBvbGVtYXMuIEt1c3R1dGFnZSBzZWUgZW5uZSB1dWVzdGkgbGlzYW1pc3RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJIRElPX0dFVEdFTyBpb2N0bCBmYWlsZWQgb24gJXMiCisjfiBtc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgZWkg9W5uZXN0dW51ZCBzZWFkbWVsICVzXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgItxyaXRhbiBz5GlsaXRhZGEgcGFydGl0c2lvb25pICVkIHBhcmFtZWV0cmlkXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiWUVTXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCisjfiBtc2dzdHIgIiVzIGVpIHNpc2FsZGEgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVsbHUgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZXRhcyAlcyAoU3VuaSBwYXJ0aXRzaW9vbml0YWJlbCk6ICVkIHBlYWQsICVkIHNla3Rvcml0LCAlZCBycG1cbiIKKyN+ICIlZCBzaWxpbmRyaXQsICVkIGFsdGVybmF0aWl2c2V0IHNpbGluZHJpdCwgJWQgZvz8c2lsaXN0IHNpbGluZHJpdFxuIgorI34gIiVkIGxpc2FzZWt0b3JpdCBzaWxpbmRyaWwsIHZhaGVsZWrkdHQgJWQ6MVxuIgorI34gIiVzXG4iCisjfiAi3Ghpa3VkID0gJXMgc3V1cnVzZWdhICVkICogNTEyIGJhaXRpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLZXRhcyAlcyAoU3VuaSBwYXJ0aXRzaW9vbml0YWJlbCk6ICVkIHBlYWQsICVkIHNla3Rvcml0LCAlZCBzaWxpbmRyaXRcbiIKKyN+ICLcaGlrdWQgPSAlcyBzdXVydXNlZ2EgJWQgKiA1MTIgYmFpdGlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBMaXBwICAgIEFsZ3VzICAgICAgIEz1cHAgICBQbG9ra2UgICBJRCAgU/xzdGVlbVxuIgorCisjfiBtc2dpZCAiIgorI34gIkRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhbG1pc1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJJZ25vcmVlcmluIGxpc2EtZXh0ZW5kZWQgcGFydGlzdHNpb29uaSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgIiVzIGF2YW1pbmUgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW4gbm90IGZvcms6ICVtXG4iCisjfiBtc2dzdHIgIiVzOiBFaSBzdXVkYSBhdmFkYSBmYWlsaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIyBYWFggc3RhdCdpZGEKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogbHVnZW1pc2UgdmlnYSBmYWlsaXMgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgInNlZWsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgdmVyc2lvb24gJXMgKCVzKVxuIgorCisjfiBtc2dpZCAic3RydG9sIGVycm9yOiBudW1iZXIgb2YgYmxvY2tzIG5vdCBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInN0cnRvbCB2aWdhOiBwbG9ra2lkZSBhcnZ1IHBvbGUgYW50dWQiCisKKyN+IG1zZ2lkICJvbmUgYmFkIHBhZ2VcbiIKKyN+IG1zZ3N0ciAi/GtzIHZpZ2FuZSBsZWhla/xsZ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICBzICAgbuRpZGF0YSB05GllbGlra3UgcGFydGl0c2lvb25pdGFiZWxpdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAiJXM6IFZpZ2EgLSB0dW5kbWF0dSB2ZXJzaW9vbiAlZFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRTZWxsZWwgc2VhZG1lbCBvbiBBSVggcGFydGl0c2lvb25pdGFiZWwuXG4iCisjfiAiXHRLYWhqdWtzIGVpIHN1dWRhIExpbnV4IHNlZGEgaGV0a2VsIHRvZXRhZGEuXG4iCisjfiAiXHRTZWxsZWdpcG9vbGVzdCwgbmF0dWtlIG71dWFuZGVpZDpcbiIKKyN+ICJcdDEuIGZkaXNrIGjkdml0YWIga2lyanV0YW1pc2VsIHNlbGxlIHRhYmVsaVxuIgorI34gIlx0Mi4gT2xnZSBlbm5lIGtpbmRsYWQsIGV0IHNlZSBrZXRhcyBlaSBvbGVrcyBvc2FcbiIKKyN+ICJcdCAgIG31bmVzdCBr9mlkZXRlICh2b2x1bWUpIGdydXBpc3QgLSB2YXN0YXNlbCBqdWh1bFxuIgorI34gIlx0ICAgdvVpdGUga2Ega/ZpdGUgdGVpc2VkIG9zYWQga3VzdHV0YWRhLFxuIgorI34gIlx0ICAga3VpIG5hZCBqdXN0IHBlZWdlbGRhdHVkIHBvbGUuXHQzLiBFbm5lIGb8/HNpbGlzZSBrZXR0YSBrdXN0dXRhbWlzdCBrdXN0dXRhZ2VcbiIKKyN+ICJcdCAgIGtldGFzIGxvb2dpbGlzZWx0IG9tYSBBSVggbWFzaW5hc3RcbiIKKyN+ICJcdCAgIChtdWlkdSBzYWFiIFRlaXN0IEFJWHBlcnQpLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRWYWJhbmR1c3QgLSBzZWUgZmRpc2tpIHZlcnNpb29uIGVpIHNhYSBoYWtrYW1hIEFJWGlcbiIKKyN+ICJcdHBhcnRpdHNpb29uaXRhYmVsaWdhLiBLdWkgVGUgc29vdml0ZSBsaXNhZGEgRE9TaSB0/PxwaVxuIgorI34gIlx0cGFydGl0c2lvb25lLCBsb29nZSBr9WlnZXBlYWx0IHV1cyBET1NpIHBhcnRpdHNpb29uaXRhYmVsXG4iCisjfiAiXHQoa+RzdWdhIG8pLlxuIgorI34gIlx0SE9JQVRVUzogc2VlIGjkdml0YWIga2V0dGEgcHJhZWd1c2Ugc2lzdSFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRCBwYXJ0aXRzaW9vbml0YWJlbCBzZWFkbWVsICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAiSG9pYXR1czogcGFydGl0c2lvb25pbCAlZCBvbiB0/GhpIHT8/HBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbiAlZCBlaSBs9XBwZSBzaWxpbmRyaSBwaWlyaWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiTeRya3VzOiBzZWt0b3JpIHN1dXJ1cyBvbiAlZCAobWl0dGUgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlYyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWMgZWkg9W5uZXN0dW51ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBleGVjIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJUSU9DU0NUVFkgZWkg9W5uZXN0dW51ZDogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXNbK2Zvcm1hYXRdIFtrdXVw5GV2IGt1dSBhYXN0YV1cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIlD8aGEgVGliJ2kgcORldiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyAtcyBzaWduYWFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICVzIC1sIFsgc2lnbmFhbCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBwb3J0IG51bWJlciBhcmd1bWVudCIKKyN+IG1zZ3N0ciAidmlnYW5lIGlkZW50aWZpa2FhdG9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAiZm9yayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnNmcmVlemUoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1zZ2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAiTeRsdSBzYWkgb3RzYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgImVpIHN1dWRhIHRhZ2FzaSBrZXJpZGEgc2FhbGltaXNzZWFkZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgcGFrZXRpc3QgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBhYmlsIGtlbGxhIGx1Z2VtaW5lICVzIGthdWR1IGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3ZwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlYyBlaSD1bm5lc3R1bnVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJleGVjIGVpIPVubmVzdHVudWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlcyBwYWtldGlzdCAlc1xuIgorCisjfiBtc2dpZCAidXNlcnMiCisjfiBtc2dzdHIgImthc3V0YWphdCIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAibGlpZ2EgcGFsanUgaW92J3NpZCAobXV1dGtlIGZhaWxpIGxvZ2luLXV0aWxzL3R0eW1zZy5jKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgIktpcmp1dGFtaXNlIHZpZ2Egc2VhZG1lbCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWyB29XRtZWQgXSBzZWFkZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vcmUgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzIHZlcnNpb29uICVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBmaWxlICVzIgorI34gbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIkVpIHN1dXRudWQgYXZhZGEgJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgZmFpbGkgYCVzJyIKKworI34gbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogRWkgc3V1ZGEgYXZhZGEgZmFpbGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgImVpIHN1dWRhIGF2YWRhIGZhaWxpICVzIGx1Z2VtaXNla3MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgc2VhZGV0IC9kZXYvcG9ydDogJXMiCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgYXZhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGF2YWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjIFhYWCBzdGF0J2lkYQorIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkiCisjfiBtc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIyBYWFggc3RhdCdpZGEKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICJlaSBzdXVkYSBzdGF0J2lkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gdGltaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIkVpIHN1dWRhIGF2YWRhIGZhaWxpIGAlcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJFaSBzdXVkYSBhdmFkYSBzZWFkbWVmYWlsaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzIGx1Z2VtaXNla3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBcIiVzXCIiCisjfiBtc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWy1sYXJ2c21mXSAvZGV2L3NlYWRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJsb2Nrc2l6ZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnIgorI34gbXNnc3RyICJlaSD8cml0YSBsdXVhIHNhYWxpbWlzYWxhIHNlYWRtZWxlIGAlcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgInN0YXQoJXMpIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIlBhcnRpdHNpb29uICVpIGVpIGFsZ2Egc2lsaW5kcmkgcGlpcmlsdDpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJwZWFrcyBvbGVtYSAoJWQsICVkLCAxKVxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJwZWFrcyBvbGVtYSAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJLYXN1dGF0YXYgdHV1bSBsZWlhYiBzZWt0b3JpIHN1dXJ1c2UgaXNlIC0gaWdub3JlZXJpbiAtYiB29XRpdFxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAiTeRsdSBzYWkgb3RzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6IGNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgInNodXRkb3duOiBFaSBzdXVkYSBsYWh0aSBtb250ZWVyaWRhIGthdGFsb29naSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlIHNwZWNpZmllZCBtdWx0aXBsZSBmdW5jdGlvbnMuXG4iCisjfiAiWW91IGNhbiBvbmx5IHBlcmZvcm0gb25lIGZ1bmN0aW9uIGF0IGEgdGltZS4iCisjfiBtc2dzdHIgIktvcnJhZ2Egc2FhYiBrYXN1dGFkYSBhaW51bHQg/Gh0ZSBmdW5rdHNpb29uaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLXV0YyBhbmQgLS1sb2NhbHRpbWUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IC0tdXRjIGphIC0tbG9jYWx0aW1lIHb1dG1lZCBvbiB0ZWluZXRlaXN0IHbkbGlzdGF2YWQuIFRlaWUga2FzdXRhc2l0ZSBt9WxlbWF0IGtvcnJhZ2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGp1c3QgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBW9XRtZWQgLS1hZGp1c3QgamEgLS1ub2FkamZpbGUgb24gdmFzdGFzdGlra3UgduRsaXN0YXZhZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBW9XRtZWQgLS1hZGp1c3QgamEgLS1ub2FkamZpbGUgb24gdmFzdGFzdGlra3UgduRsaXN0YXZhZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIyBYWFggc3RhdCdpZGEKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEgc3RhdCdpZGEgc2VhZGV0ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyBkYXRhIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhamEgaW5mb3JtYXRzaW9vbiBvbiBtdXVkZXR1ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgInZpZ2FuZSBraWlydXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiLS1kYXRlIHBhcmFtZWV0ZXIgb24gcHV1ZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBzZWFkZXQgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBBdmFtaW5lIGVpIPVubmVzdHVudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVfdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiLS1kYXRlIGFyZ3VtZW50IG9uIGxpaWdhIHBpa2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgbGVuZ3RoIHZhbHVlIgorI34gbXNnc3RyICJ2aWdhbmUgdGFpbWFkaSB25ORydHVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgc2tpcCB2YWx1ZSIKKyN+IG1zZ3N0ciAidmlnYW5lIHRhaW1hZGkgduTkcnR1czogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVkOiBwYXJzZSBlcnJvciAtLSBsaW5lIGlnbm9yZWQuXG4iCisjfiBtc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHBhcnNlICVzIgorI34gbXNnc3RyICIlczogQXZhbWluZSBlaSD1bm5lc3R1bnVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImZvcmsgZWkg9W5uZXN0dW51ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICBrdXN0dXRhZGEgQlNEIHBhcnRpdHNpb29uIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgbGlzYWRhIHV1cyBCU0QgcGFydGl0c2lvb24iCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgIG11dXRhIHBhcnRpdHNpb29uaSBmYWlsaXP8c3RlZW1pIHT8/HBpIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgbXV1dGEg/Ghpa3VpZCAoc2lsaW5kcmlkL3Nla3RvcmlkKSIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgbuRpZGF0YSBwYXJ0aXRzaW9vbml0YWJlbGl0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC5cbiIKKyN+ICJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisjfiAiQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXMgY29udGVudCB3b24ndCBiZSByZWNvdmVyYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIktvb3N0YW4gdXVlIERPU2kgcGFydGl0c2lvb25pdGFiZWxpLiBNdXV0dXNlZCBq5OR2YWQgYWludWx0IG3kbGx1LFxuIgorI34gImt1bmkgVGUgaXNlIG90c3VzdGF0ZSBuZWVkIGtldHRhbGUga2lyanV0YWRhLiBQ5HJhc3Qgc2VkYSBwb2xlIHZhbmEgc2lzdVxuIgorI34gImxvb211bGlrdWx0IGVuYW0gdGFhc3RhdGF2LlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICJTZWFkZSBlaSBzaXNhbGRhIGVpIERPU2ksIFN1bmksIFNHSSBlZ2EgT0RGIHBhcnRpdHNpb29uaXRhYmVsaXRcbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIlNpc2VtaW5lIHZpZ2FcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0VmFiYW5kdXN0LCBTR0kgcGFydGl0c2lvb25pdGFiZWxpIGphb2tzIHBvbGUgZWtzcGVydG1lbvz8ZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiS2FzIHRlYXRlLCBldCBt9W5lZCBwYXJ0aXRzaW9vbmlkIGthdHR1dmFkIG9tYXZhaGVsP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLb29zdGFuIHV1ZSBTR0kgcGFydGl0c2lvb25pdGFiZWxpLiBNdXV0dXNlZCBq5OR2YWQgYWludWx0IG3kbGx1LFxuIgorI34gImt1bmkgVGUgaXNlIG90c3VzdGF0ZSBuZWVkIGtldHRhbGUga2lyanV0YWRhLiBQ5HJhc3Qgc2VkYSBwb2xlIHZhbmEgc2lzdVxuIgorI34gImxvb211bGlrdWx0IGVuYW0gdGFhc3RhdGF2LlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIC0gYW5uYW4gYWxsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnQoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjogbeRsdSBvbiB25GhlLCBzaXNzZSBsb2dpbWluZSBlaSB0YXJ2aXRzZSD1bm5lc3R1ZGFcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgImVpIGrkdGt1IG3kbHUgdHR5Y2xhc3MnaWxlIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICJlaSBq5HRrdSBt5Gx1IGdycGxpc3QnaWxlIgorCisjfiBtc2dpZCAiTG9naW4gb24gJXMgZnJvbSAlcyBkZW5pZWQuXG4iCisjfiBtc2dzdHIgIlNpc3NlbG9naW1pc2VzdCBsaWluaWwgJXMgbWFzaW5hc3QgJXMga2VlbGR1dGFrc2VcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1mIGZ1bGwtbmFtZSBdIFsgLW8gb2ZmaWNlIF0gIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIC1mIHDkcmlzbmltaSBdIFsgLW8ga29udG9yXSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gdmlnYSwga2F0a2VzdGFuOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXMgc2hlbGxdIFt1c2VybmFtZV1cbiIKKyN+ICIgICBvcjogJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkthc3V0YW1pbmU6ICVzIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIGthc3V0YWphbmltaSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IGFpbnVsdCBsb2thYWxzZWlkIGtpcmplaWQgc2FhYiBtdXV0YSAtIGthc3V0YWdlIHByb2dyYW1taSB5cCVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJzZWVrIGVpIPVubmVzdHVudWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFVzZSAtbCBvcHRpb24gdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIiVzOiBrYXN1dGFnZSAtbCBsdWJhdHVkIHNoZWxsaWRlIG5pbWVraXJqYSB2YWF0YW1pc2Vrc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2luIFstZnBdIFt1c2VybmFtZV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogbG9naW4gWy1mcF0gW2thc3V0YWphbmltaV1cbiIKKworI34gbXNnaWQgIklsbGVnYWwgdXNlcm5hbWUiCisjfiBtc2dzdHIgIlZpZ2FuZSBrYXN1dGFqYW5pbWkiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkxvZ2luIGluY29ycmVjdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWx1cmUgZm9ya2luZyIKKyN+IG1zZ3N0ciAibG9naW46IFZpZ2EgZm9yaydpbWlzZWw6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTmltaSBvbiBsaWlnYSBwaWtrIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy4iCisjfiBtc2dzdHIgIkthc3V0YWphbmltaSBvbiBsaWlnYSBwaWtrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgIkthc3V0YWphbmltZWQgZWkgdG9oaSBhbGF0YSBtaWludXNlZ2FcbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIlRPSFVUVUxUIHJlYXZhaGV0dXNpIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgT04gJXMsICVzIgorI34gbXNnc3RyICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiU2VhZGUgJXMgZWkgc2lzYWxkYSDkcmF0dW50YXZhdCBwYXJ0aXRzaW9vbml0YWJlbGl0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VlayBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiBLYXN1dGFqYXQgXCIlc1wiIHBvbGUgb2xlbWFzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAic3RhdCglcykgZWkg9W5uZXN0dW51ZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJTZWt0b3IlZCBvbiBqdWJhIGthc3V0dXNlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogRWkgc3V1ZGEgYXZhZGEgZmFpbGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGx1Z2VtaXNlIHZpZ2EgZmFpbGlzICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICJLYXN1dGFqYSBpbmZvcm1hdHNpb29uIG9uIG11dWRldHVkXG4iCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgcGFrZXRpc3QgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJ0Y3dha2UoOCkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIkthc3V0YWphIGluZm9ybWF0c2lvb24gb24gbXV1ZGV0dWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbG9zaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIlZpZ2EgJXMgc3VsZ2VtaXNlbFxuIgorCisjfiBtc2dpZCAiU29ycnkgWW91IG1heSBjaGFuZ2UgdGhlIFRhZyBvZiBub24tZW1wdHkgcGFydGl0aW9ucy5cbiIKKyN+IG1zZ3N0ciAiVPz8cGkgc2FhYiBtdXV0YSBhaW51bHQgbWl0dGV0/GhqYWRlbCBwYXJ0aXRzaW9vbmlkZWxcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyAiCisjfiBtc2dzdHIgIkhvaWF0dXM6IHBhcnRpdHNpb29uICVzICIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgIgorI34gbXNnc3RyICJIb2lhdHVzOiBwYXJ0aXRzaW9vbmlkICVzICIKKworI34gbXNnaWQgImFuZCAlcyBvdmVybGFwXG4iCisjfiBtc2dzdHIgImphICVzIGthdHR1dmFkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICVzIC1sIFsgc2lnbmFhbCBdXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IEVpIHN1dWRhIGF2YWRhIGZhaWxpICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIC1uIF0gc2VhZGVcbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIk3kbHUgc2FpIG90c2EiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiB2aWdhIHb1dG1ldGUgYW5hbPz8c2ltaXNlbFxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiS2FzdXRhbWluZTogJXMgWy12XSBbLU4gaS1raXJqZXRlLWFydl0gWy1WIGv2aXRlLW5pbWldXG4iCisjfiAiICAgICAgIFstRiBmc25pbWldIHNlYWRlIFtwbG9ra2lkZS1hcnZdXG4iCisKKyMgWFhYIHN0YXQnaWRhCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgImVpIHN1dWRhIHN0YXQnaWRhIHNlYWRldCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAiZWkgc3V1ZGEga2luZGxha3MgdGVoYSBzZWFkbWUgJXMgbWFodHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgWy1jXSBbLXYwfC12MV0gWy1wTEtTVVVSVVNdIC9kZXYvbmltaSBbcGxva2tlXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAia2FzdXRhbWluZTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJNZW78/CBpbG1hIHN1dW5hdGEsIGVlbGRhbiBob3Jpc29udGFhbHNldCIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJL5HNrIHRlZ2V2dXNcbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYWFyc2UgcGFydGl0c2lvb25pICgxLTQpIGxvb21pbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IGZzdHlwZV0gW2ZzLW9wdGlvbnNdIFtmaWxlc3lzIC4uLl1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogbWtmcyBbLVZdIFstdCBmc3T8/HBdIFtmcy129XRtZWRdIHNlYWRlIFtzdXVydXNdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiRWkgc3V1dG51ZCBhdmFkYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBwYWtldGlzdCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBpLWtpcmpldGUgcHVodnJpbGUiCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihPb3Rhc2luOiBgVVRDJyB29WkgYExPQ0FMJyB29WkgbWl0dGUgbWlkYWdpKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0tIHJpaXN0dmFyYWxpc2Uga2VsbGEgKFJUQykgduTkcnR1c2UgdmFhdGFtaXNla3MgamEgc2VhZG1pc2Vrc1xuIgorI34gIlxuIgorI34gIkthc3V0YW1pbmU6IGh3Y2xvY2sgW2Z1bmt0c2lvb25dIFt29XRtZWQuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVua3RzaW9vbmlkOlxuIgorI34gIiAgLS1oZWxwICAgICAgICBu5GlkYXRhIHNlZGEgdGVrc3RpXG4iCisjfiAiICAtLXNob3cgICAgICAgIGx1Z2VkYSBqYSB25GxqYXN0YWRhIHJpaXN0dmFyYWxpc2Uga2VsbGEgbuRpdFxuIgorI34gIiAgLS1zZXQgICAgICAgICBzZWFkYSByaWlzdHZhcmFsaXNlIGtlbGxhIG7kaWR1a3MgLS1kYXRlIHb1dG1lIHbk5HJ0dXNcbiIKKyN+ICIgIC0taGN0b3N5cyAgICAgc2VhZGEgc/xzdGVlbWkgYWVnIHNhbWFrcywgbWlzIHJpaXN0dmFyYWxpc2VsIGtlbGxhbFxuIgorI34gIiAgLS1zeXN0b2hjICAgICBzZWFkYSByaWlzdHZhcmFsaW5lIGtlbGwgc2FtYWtzLCBtaXMgc/xzdGVlbWkgYWVnXG4iCisjfiAiICAtLWFkanVzdCAgICAgIGtvcnJpZ2VlcmlkYSByaWlzdHZhcmFsaXNlIGtlbGxhIG7kaXR1LCBldCBhcnZlc3RhZGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgc/xzdGVtYWF0bGlzdCBuaWhldCBhbGF0ZXMgdmlpbWFzZXN0IGtvcnJpZ2VlcmltaXNlc3RcbiIKKyN+ICIgIC0tZ2V0ZXBvY2ggICAgduRsamFzdGFkYSByaWlzdHZhcmFsaXNlIGtlbGxhIGVwb2hoaSB25ORydHVzXG4iCisjfiAiICAtLXNldGVwb2NoICAgIHNlYWRhIHJpaXN0dmFyYWxpc2Uga2VsbGEgZXBvaGhpIHbk5HJ0dXNla3MgLS1lcG9jaFxuIgorI34gIiAgICAgICAgICAgICAgICB29XRtZWdhIGFudHVkIHbk5HJ0dXNcbiIKKyN+ICIgIC0tdmVyc2lvbiAgICAgduRsamFzdGFkYSBod2Nsb2NrJ2kgdmVyc2lvb25cbiIKKyN+ICJcbiIKKyN+ICJW9XRtZWQ6XG4iCisjfiAiICAtLXV0YyAgICAgICAgIHJpaXN0dmFyYWxpc3Qga2VsbGEgaG9pdGFrc2UgR3JlZW53aWNoaSBhamFzXG4iCisjfiAiICAtLWxvY2FsdGltZSAgIHJpaXN0dmFyYWxpc3Qga2VsbGEgaG9pdGFrc2Uga29oYWxpa3VzIGFqYXNcbiIKKyN+ICIgIC0tZGlyZWN0aXNhICAgcPb2cmR1ZGEgSVNBIHNpaW5pIHBvb2xlIG90c2UgKCVzIGFzZW1lbClcbiIKKyN+ICIgIC0tYmFkeWVhciAgICAgaWdub3JlZXJpZGEgUlRDIGFhc3RhbnVtYnJpdCwga3VuYSBCSU9TIG9uIGthdGtpbmVcbiIKKyN+ICIgIC0tZGF0ZSAgICAgICAgYW5uYWIgYWphLCBtaXMgcmlpc3R2YXJhbGlzZSBrZWxsYSB25ORydHVzZWtzIHBhbm5hXG4iCisjfiAiICAtLWVwb2NoPWFhc3RhIGFubmFiIGFhc3RhLCBtaWRhIGhha2F0YSBsdWdlbWEgcmlpc3R2YXJhbGlzZSBrZWxsYVxuIgorI34gIiAgICAgICAgICAgICAgICBlcG9oaGkgYWxndXNla3NcbiIKKyN+ICIgIC0tbm9hZGpmaWxlICAgbWl0dGUga2FzdXRhZGEgZmFpbGkgL2V0Yy9hZGp0aW1lLiBWYWphYiBrYXMgLS11dGMgdvVpXG4iCisjfiAiICAgICAgICAgICAgICAgIC0tbG9jYWx0aW1lIHb1dGl0XG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAiaW5pdC1zdHJpbmdpIGphb2tzIGVpIGrkdGt1IG3kbHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtc1V3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLYXN1dGFtaW5lOlxuIgorI34gIiVzIFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtbV0gWy10IHRhaW1hdXRdIFstSSBpbml0LXN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gc2VhZGUgW3Rlcm1pbmFsaV90/PxwXVxuIgorI34gInb1aVxuIgorI34gIiAgICAgICBbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbW1dIFstdCB0YWltYXV0XSBbLUkgaW5pdC1zdHJpbmddIFstSCBsb2dpbl9ob3N0XSBzZWFkZSBiYXVkX3JhdGUsLi4uIFt0ZXJtaW5hbGl0/PxwXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbeSB8IG5dIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBtZXNnIFt5IHwgbl1cbiIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBWaWdhbmUgdmVha29vZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1uXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogJXMgW2ZhaWxdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuJ3QgcmVhZDogJXMiCisjfiBtc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgJXNcbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IGxvZ2dlciBbLWlzXSBbLWYgZmFpbF0gWy1wIHByaV0gWy10IG5pbWldIFstdSBzb2trZWxdIFsgdGVhZGUgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBsb29rIFstZGZhXSBbLXQgbeRya10gc3RyaW5nIFtmYWlsXVxuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBrdXN0IGt1aHUgZmFpbGlkLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtmYWlsXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiS2lyanV0YW1pc2UgdmlnYSBzZWFkbWVsICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yOiAlc1xuIgorI34gbXNnc3RyICJLaXJqdXRhbWlzZSB2aWdhIHNlYWRtZWwgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBbLSNdIFstZiBmYWlsXSBbLXQgdHR5XSBbLWggaG9zdGluaW1pXSBba2FzdXRhamEgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAlcyAta1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgJXMgLWwgWyBzaWduYWFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6ICVzIFsgdvV0bWVkIF0gc2VhZGUgLi4uXG4iCisKKyN+IG1zZ2lkICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWUuLi5cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogd2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGthdGFsb29nIC4uLiAtZiBdIG5pbWkuLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IHdyaXRlIGthc3V0YWphIFt0dHldXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJ0dW5kbWF0dSIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fHR0Om1tfCttaW5dXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIlNlaXNrYW1pc2UgcHJvdHNlc3Mga2F0a2VzdGF0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi4iCisjfiBtc2dzdHIgIiVzOiBBaW51bHQgcm9vdCBzYWFiIHP8c3RlZW1pIHNlaXNhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj8iCisjfiBtc2dzdHIgIlNlZSBwYWlzdGFiIG9sZXZhdCBob21tZSwga2VzIHT1ZXN0aSBlaSBzYWEgbmlpa2F1YSBvb2RhdGE/XG4iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJob29sZHVzZSBqYW9rcyAobmFndSBpa2thKSIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIlP8c3RlZW0gbORoZWIgbWFoYSA1IG1pbnV0aSBw5HJhc3QiCisKKyN+IG1zZ2lkICJMb2dpbiBpcyB0aGVyZWZvcmUgcHJvaGliaXRlZC4iCisjfiBtc2dzdHIgIlNpc3NlIGxvZ2ltaW5lIG9uIHNlZXT1dHR1IGtlZWxhdHVkIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJidXV0aXMgJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAic2Vpc2thcyAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV2h5IGFtIEkgc3RpbGwgYWxpdmUgYWZ0ZXIgcmVib290PyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk1pa3MgbWEgcORyYXN0IHJlYm9vdGkgdmVlbCBlbHVzIG9sZW4/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk78/GQgdvVpYiB2b29sdSB25GxqYSBs/GxpdGFkYS4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJLdXRzdW4gduRsamEgdHV1bWEgduRsamFs/GxpdGFtaXNlIG1lZXRvZGkuLi5cbiIKKworI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAiVmlnYSB25GxqYSBs/GxpdGFtaXNlbFx0JXNcbiIKKworI34gbXNnaWQgIkV4ZWN1dGluZyB0aGUgcHJvZ3JhbSBcIiVzXCIgLi4uXG4iCisjfiBtc2dzdHIgIlTkaWRhbiBwcm9ncmFtbWkgXCIlc1wiIC4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiS0lJUkU6IHRlYWRlIGv1aWdpbGUga2FzdXRhamFsdCAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJT/HN0ZWVtIGzkaGViIG1haGEgJWQgdHVubmkgamEgJWQgbWludXRpIHDkcmFzdCIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJT/HN0ZWVtIGzkaGViIG1haGEgMSB0dW5uaSBqYSAlZCBtaW51dGkgcORyYXN0IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgbWludXRlc1xuIgorI34gbXNnc3RyICJT/HN0ZWVtIGzkaGViIG1haGEgJWQgbWludXRpIHDkcmFzdFxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBtaW51dGVcbiIKKyN+IG1zZ3N0ciAiU/xzdGVlbSBs5GhlYiBtYWhhIDEgbWludXRpIHDkcmFzdFxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgInP8c3RlZW0gbORoZWIgbWFoYSBPVFNFS09IRSFcbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgIkVpIHNhYSB0ZWhhIHV1dCBwcm90c2Vzc2kgc2FhbGltaXNlIHbkbGphIGz8bGl0YW1pc2Vrcy4gT2VoISIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJFaSBzYWEga+Rpdml0YWRhIHN3YXBvZmYnaSwgZWhrIHVtb3VudCB0ZWViIHNlbGxlIORyYSIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciB1bW91bnQsIHRyeWluZyBtYW51YWxseS4iCisjfiBtc2dzdHIgIkVpIHNhYSBmb3JraWRhIHVtb3VudGkga+Rpdml0YW1pc2VrcywgcHJvb3ZpbiBr5HNpdHNpIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIkVpIHN1dWRhIGvkaXZpdGFkYSBwcm9ncmFtbWkgJXMsIHByb292aW4gdW1vdW50J2lcbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIkVpIHN1dWRhIGvkaXZpdGFkYSB1bW91bnQnaSwgYW5uYW4gYWxsYSB1bW91bnQnaWdhIHRlZ2VsZW1pc2VsIgorCisjfiBtc2dpZCAiVW5tb3VudGluZyBhbnkgcmVtYWluaW5nIGZpbGVzeXN0ZW1zLi4uIgorI34gbXNnc3RyICJNb250ZWVyaW4gbGFodGkga/VpayBhbGxlc2rk5G51ZCBmYWlsaXP8c3RlZW1pZCIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiBFaSBzdXVkYSBsYWh0aSBtb250ZWVyaWRhIGthdGFsb29naSAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiQnV1ZGluIPxoZWthc3V0YWphcmV6aGlpbWlcbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgItxoZWthc3V0YWphcmV6aGlpbWkgc2hlbGxpIGVpIPVubmVzdHVudWQga+Rpdml0YWRhXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICLcaGVrYXN1dGFqYXJlemhpaW1pIHNoZWxsaSBqYW9rcyBlaSD1bm5lc3R1bnVkIGZvcmsnaWRhXG4iCisKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAidmlnYSBGSUZPIGF2YW1pc2VsXG4iCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJ2aWdhIGZpbmFscHJvZydpIGvkaXZpdGFtaXNlbFxuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAidmlnYSBmaW5hbHByb2cnaSBr5Gl2aXRhbWlzZWxcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZhbGUgcGFyb29sXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJmb3JrIGVpIPVubmVzdHVudWRcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgaW5pdHRhYidpXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJURVJNIHBvbGUgc2VhdHVkIHb1aSBzdGF0ICh0dHkpIGVpIPVubmVzdG51ZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgInZpZ2EgdGVlbnVzZSBwZWF0YW1pc2VsOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTdG9wcGVkIHNlcnZpY2U6ICVzXG4iCisjfiBtc2dzdHIgInZpZ2EgdGVlbnVzZSBwZWF0YW1pc2VsOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdGFydGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJ2aWdhIHRlZW51c2UgcGVhdGFtaXNlbDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiBzY3JpcHQgWy1hXSBbLWZdIFstcV0gWy10XSBbZmFpbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgYXZhbWluZSBlaSD1bm5lc3R1bnVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLWJmcHhdIFstbCBubGluZV0iCisjfiBtc2dzdHIgIkthc3V0YW1pbmU6IGNvbCBbLWJmcHhdIFstbCByaWRhZGVhcnZdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGluZSBidWZmZXJcbiIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbZmFpbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJLYXN1dGFtaW5lOiAlcyBbIHb1dG1lZCBdIHNlYWRlIC4uLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgYXZhZGEgc2VhZGV0ICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYW55IG1vcmUgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk3kbHUgc2FpIG90c2FcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU2FpbiBFT0YtaSBrb2xtIGtvcmRhIGrkcmplc3QgLSBhaXRhYlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IE3kbHUgc2FpIG90c2FcbiIKKworI34gbXNnaWQgImxvZ2luOiBPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgImxvZ2luOiBN5Gx1IHNhaSBvdHNhXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjogc2hlbGxpIHBvbGU6ICVzXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IFBvbGUg9WlndXNpIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgYWp1dGlzZSBmYWlsaSBzdGFhdHVzdFxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBlaSBzdXVkYSBsdWdlZGEgYWp1dGlzdCBmYWlsaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIktpcmp1dGFtaXNlIHZpZ2Egc2VhZG1lbCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgInBvc2l0c2lvbmVlcmltaXNlIHZpZ2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBqYSAiCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogTeRsdSBzYWkgb3RzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpZ2FuZSB29XRpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpZ2FuZSB29XRpICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGV4ZWN1dGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyD8bWJlciBuaW1ldGFtaW5lICVzIC1rcyBlaSD1bm5lc3RudWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJN5Gx1IHNhaSBvdHNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiZWkgauR0a3UgbeRsdSBrYWFydGlkZSBwdWh2cml0ZWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAidmlnYSBmaW5hbHByb2cnaSBr5Gl2aXRhbWlzZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJuZXciCisjfiBtc2dzdHIgInV1cyAoTikiCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxpbnV4IEpGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggUmVpc2VyRlMiCisjfiBtc2dzdHIgIkxpbnV4IFJlaXNlckZTIgorCisjfiBtc2dpZCAiT1MvMiBIUEZTIgorI34gbXNnc3RyICJPUy8yIEhQRlMiCisKKyN+IG1zZ2lkICJPUy8yIElGUyIKKyN+IG1zZ3N0ciAiT1MvMiBJRlMiCisKKyN+IG1zZ2lkICJOVEZTIgorI34gbXNnc3RyICJOVEZTIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiS2FzdXRhbWluZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICAgTXV1dGEgcGFydGl0c2lvb25pdGFiZWxpdFxuIgorI34gIiAgICAgICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgIE7kaWRhdGEgcGFydGl0c2lvb25pdGFiZWxpIHNpc3VcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAtcyBQQVJUSVRTSU9PTiAgICAgICAgICBO5GlkYXRhIHBhcnRpdHNpb29uaSBtYWh0dSBwbG9ra2lkZXNcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgICBO5GlkYXRhIGZkaXNraSB2ZXJzaW9vbmlcbiIKKyN+ICJTaWluIERJU0sgb24gc2VhZG1lZmFpbCAobuRpdGVrcyAvZGV2L2hkYSB29WkgL2Rldi9zZGEpXG4iCisjfiAiamEgUEFSVElUU0lPT04gb24gbWlkYWdpIHN0aWlsaXMgL2Rldi9oZGE3XG4iCisjfiAiLXU6IG7kaWRhdGEgcGFydGl0c2lvb25pZGUgYWxndXN0IGphIGz1cHB1IHNpbGluZHJpdGUgYXNlbWVsIHNla3Rvcml0ZXNcbiIKKyN+ICItYiAyMDQ4OiBrYXN1dGFkYSAyMDQ4LWJhaWRpc2VpZCBzZWt0b3JlaWQgKHZhamFsaWsgbuRpdGVrcyBt9W5lbCBNTyBzZWFkbWVsKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gZGV2aWNlXG4iCisjfiAiRS5nLjogZmRpc2sgL2Rldi9oZGEgIChmb3IgdGhlIGZpcnN0IElERSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvc2RjICAoZm9yIHRoZSB0aGlyZCBTQ1NJIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9lZGEgIChmb3IgdGhlIGZpcnN0IFBTLzIgRVNESSBkcml2ZSlcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3JkL2MwZDAgIG9yOiBmZGlzayAvZGV2L2lkYS9jMGQwICAoZm9yIFJBSUQgZGV2aWNlcylcbiIKKyN+ICIgIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiS2FzdXRhbWluZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIHNlYWRlXG4iCisjfiAiTuRpdGVrczogICAgZmRpc2sgL2Rldi9oZGEgIChlc2ltZXNlIElERSBrZXR0YSBqYW9rcylcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAvZGV2L3NkYyAgKGtvbG1hbmRhIFNDU0kga2V0dGEgamFva3MpXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgL2Rldi9lZGEgIChlc2ltZXNlIFBTLzIgRVNESSBrZXR0YSBqYW9rcylcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAvZGV2L3JkL2MwZDAgdvVpIGZkaXNrIC9kZXYvaWRhL2MwZDAgKFJBSUQgc2VhZG1ldGUgamFva3MpXG4iCisjfiAiICAgICAgICAgICAgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIktldHRhIHNpbGluZHJpdGUgYXJ2dWtzIG9uIHNlYXR1ZCAlZC4gU2VsbGVzIGVpIG9sZSBpc2VlbmVzZXN0XG4iCisjfiAibWlkYWdpIGhhbGJhLCBhZ2Egc2VlIG9uIHN1dXJlbSBrdWkgMTAyNCBuaW5nIHb1aWIgc2VlZ2EgcPVoanVzdGFkYVxuIgorI34gInRlYXR1ZCBzaXR1YXRzaW9vbmlkZXMgcHJvYmxlZW1lOlxuIgorI34gIjEpIHRhcmt2YXJhZ2EsIG1pcyBr5Gl2aXR1YiBidXV0aW1pc2UgYWphbCAobuRpdGVrcyB2YW5hIHZlcnNpb29uIExJTE9zdClcbiIKKyN+ICIyKSBtdXVkZSBvcGVyYXRzaW9vbmlz/HN0ZWVtaWRlIGJ1dXRpbWlzZSBqYSBwYXJ0aXRzaW9uZWVyaW1pc2VcbiIKKyN+ICJ0YXJrdmFyYWdhIChu5Gl0ZWtzIERPU2kgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcGFyc2U6ICVzIgorI34gbXNnc3RyICJWaWdhICVzIGx1Z2VtaXNlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgYm9vdGFibGUiCisjfiBtc2dzdHIgIkFJWCBidXV0aXYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2xvY2sgaW4gVVRDLCBub3QgY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiU2hlbGwgauRpIHNhbWFrc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBlcnJvcjogbGFiZWwgb25seSB3aXRoIHYxIHN3YXAgYXJlYVxuIgorI34gbXNnc3RyICIlczogVmlnYSAtIGVpIG9sZSD2ZWxkdWQsIGt1aHUgc2FhbGltaXNhbGEgdGVraXRhZGFcbiIKKworI34gbXNnaWQgImZhdGFsOiBmaXJzdCBwYWdlIHVucmVhZGFibGUiCisjfiBtc2dzdHIgImZhdGFhbG5lIHZpZ2E6IGVzaW1lbmUgbGVoa/xsZyBwb2xlIGvkdHRlc2FhZGF2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBTZWFkZSBgJXMnIHNpc2FsZGFiIHBlYWx0buRoYSBrb3JyYWxpa2t1IFN1bidpIHBhcnRpdHNpb29uaXRhYmVsaXQuXG4iCisjfiAiU2VlIHTkaGVuZGFiIGlsbXNlbHQsIGV0IHYwIHNhYWxpbWlzYWxhIHRlZ2VtaW5lIGjkdml0YWtzIHBhcnRpdHNpb29uaXRhYmVsaS5cbiIKKyN+ICJTYWFsaW1pc2FsYSBlaSB0ZWtpdGF0YXVkLiBLdWkgVGUgdPVlc3RpIHNvb3ZpdGUgc2VsbGVsZSBzZWFkbWVsZVxuIgorI34gInYwIHNhYWxpbWlzYWxhIHRla2l0YWRhLCBrYXN1dGFnZSAtZiB29XRpdCBzZWxsZSBzdW5kaW1pc2Vrcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd2FpdHBpZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IEF2YW1pbmUgZWkg9W5uZXN0dW51ZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjaGZuOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gdmlnYSwga2F0a2VzdGFuOiAlc1xuIgorCisjfiBtc2dpZCAiQ2FuJ3QgcmVhZCAlcywgZXhpdGluZy4iCisjfiBtc2dzdHIgIkVpIHN1dWRhIGx1Z2VkYSBmYWlsaSAlcywga2F0a2VzdGFuIgorCisjfiBtc2dpZCAibG9naW46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAibG9naW46IFBBTSB2aWdhLCBrYXRrZXN0YW46ICVzXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKKyN+IG1zZ3N0ciAiYCVzJzogdmlnYW5lIGthdGFsb29nOiBgLicgcG9sZSBlc2ltZW5lXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICJgJXMnOiB2aWdhbmUga2F0YWxvb2c6IGAuLicgcG9sZSB0ZWluZVxuIgorCisjfiBtc2dpZCAiY2FsbGluZyBvcGVuX3R0eVxuIgorI34gbXNnc3RyICJrdXRzdW4gduRsamEgZnVua3RzaW9vbmkgb3Blbl90dHlcbiIKKworI34gbXNnaWQgImNhbGxpbmcgdGVybWlvX2luaXRcbiIKKyN+IG1zZ3N0ciAia3V0c3VuIHbkbGphIGZ1bmt0c2lvb25pIHRlcm1pb19pbml0XG4iCisKKyN+IG1zZ2lkICJ3cml0aW5nIGluaXQgc3RyaW5nXG4iCisjfiBtc2dzdHIgImtpcmp1dGFuIGluaXQtc3RyaW5naVxuIgorCisjfiBtc2dpZCAiYmVmb3JlIGF1dG9iYXVkXG4iCisjfiBtc2dzdHIgImVubmUgYXV0b2JhdWRpbWlzdFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAib290YW4gcmVhdmFoZXR1c3QgKENSK0xGKVxuIgorCisjfiBtc2dpZCAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisjfiBtc2dzdHIgImxvZW4ga2FzdXRhamFuaW1lXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJw5HJhc3QgZ2V0b3B0LXRz/GtsaXRcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VhcmdzXG4iCisjfiBtc2dzdHIgInbkbGp1biBmdW5rdHNpb29uaXN0IHBhcnNlYXJnc1xuIgorCisjfiBtc2dpZCAiZW50ZXJlZCBwYXJzZV9zcGVlZHNcbiIKKyN+IG1zZ3N0ciAic2lzZW5lc2luIGZ1bmt0c2lvb25pIHBhcnNlX3NwZWVkc1xuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZXNwZWVkc1xuIgorI34gbXNnc3RyICJ25GxqdW4gZnVua3RzaW9vbmlzdCBwYXJzZXNwZWVkXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdWJsZWVyaW4gc29rbGVpZFxuIgorCisjfiBtc2dpZCAidGVybV9pbyAyXG4iCisjfiBtc2dzdHIgInRlcm1faW8gMlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gL2V0Yy9zaGVsbHNcbiIKKyN+IG1zZ3N0ciAiSG9pYXR1czogXCIlc1wiIHBvbGUga2lyamFzIGZhaWxpcyAvZXRjL3NoZWxsc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJBc3N1bWluZyBwYWdlcyBvZiBzaXplICVkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIkVlbGRhbiBsZWhla/xsamUgc3V1cnVzZWtzICVkIChtaXR0ZSAlZClcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiQXV0b21hYXRuZSBrb25maWd1cmVlcmltaW5lIGxlaWRpcyAlcyVzJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJLZXR0YXNlYWRtZSB0/PxwXG4iCisjfiAiICAgPyAgIGF1dG9tYWF0bmUga29uZmlndXJlZXJpbWluZVxuIgorI34gIiAgIDAgICBrb2hhbmRhdHVkICh2YWlrZXbk5HJ0dXN0ZWdhIHJpaXN0YXZhcmx0KSIKKworI34gbXNnaWQgIlNlbGVjdCB0eXBlICg/IGZvciBhdXRvLCAwIGZvciBjdXN0b20pOiAiCisjfiBtc2dzdHIgIlZhbGlnZSB0/PxwICg/IHTkaGVuZGFiIGF1dG9tYWF0c2V0LCAwIGtvaGFuZGF0dXQpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiS/Vpa2kga2V0dGFzZWFkbWUgcGFyYW1lZXRyZWlkIHNhYWIgbXV1dGEgeCBtZW78/HN0IgorCisjfiBtc2dpZCAiMyw1XCIgZmxvcHB5IgorI34gbXNnc3RyICIzLDVcIiBmbG9wcGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZnJvbSB1dGlsLWxpbnV4LSVzXG4iCisjfiBtc2dzdHIgIiVzIHBha2V0aXN0ICVzXG4iCisKKyN+IG1zZ2lkICJTeW50YXggZXJyb3I6ICclcydcbiIKKyN+IG1zZ3N0ciAiU/xudGFrc2l2aWdhOiBgJXO0XG4iCisKKyN+IG1zZ2lkICJObyBzdWNoIHBhcmFtZXRlciBzZXQ6ICclcydcbiIKKyN+IG1zZ3N0ciAiRWkgdHVubmUgcGFyYW1lZXRyaXRlIGtvbXBsZWt0aSBgJXMnXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IG5hbWVcbiIKKyN+IG1zZ3N0ciAiJXMgWyAtcCBdIHNlYWRlIG5pbWlcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLXAgXSBkZXYgc2l6ZSBzZWN0IGhlYWRzIHRyYWNrcyBzdHJldGNoIGdhcCByYXRlIHNwZWMxIGZtdF9nYXBcbiIKKyN+IG1zZ3N0ciAiJXMgWyAtcCBdIHNlYWRlIG1haHQgc2VrdCBw5GlkIHJhZHUgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBzZWFkZVxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBkZXZcbiIKKyN+IG1zZ3N0ciAiJXMgWyAtYyB8IC15IHwgLW4gXSBzZWFkZVxuIgorCisjfiBtc2dpZCAiQm9vdCAoJTAyWCkiCisjfiBtc2dzdHIgIkJ1dXRpdiAoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lICglMDJYKSIKKyN+IG1zZ3N0ciAiUG9sZSAoJTAyWCkiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICJQYXJ0aXRzaW9vbiAlaSBlaSBs9XBwZSBzaWxpbmRyaSBwaWlyaWw6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVkIHNlY3RvcnMsICVkIGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2V0YXMgJXM6ICVkIHBlYWQsICVkIHNla3Rvcml0IHJhamFsLCAlZCBzaWxpbmRyaXRcbiIKKyN+ICLcaGlrdWQgPSAlcyBzdXVydXNlZ2EgJWQgKiAlZCBiYWl0aVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAib3B0aW9uIGAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJ29XRpIGAlcycgZWkgbHViYSBhcmd1bWVudGVcbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJlaSBzdXVkYSBhdmFkYSBsdWdlbWlzZWtzIHNlYWRldCAvZGV2L3VyYW5kb20iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkIHJhbmRvbSBkYXRhIGZyb20gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJlaSBzdXVkYSBsdWdlZGEganVodXN0IHNlYWRtZWx0IC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJzdGF0KCVzKSBlaSD1bm5lc3R1bnVkIgorCisjfiBtc2dpZCAiJXMgZG9lc24ndCBoYXZlIHRoZSBjb3JyZWN0IGZpbGVtb2RlcyIKKyN+IG1zZ3N0ciAiZmFpbGlsICVzIG9uIHZhbGVkIGp1dXJkZXDk5HN19WlndXNlZCIKKworI34gbXNnaWQgImNhbid0IHJlYWQgZGF0YSBmcm9tICVzIgorI34gbXNnc3RyICJlaSBzdXVkYSBsdWdlZGEgZmFpbGkgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVG9vIG1hbnkgdXNlcnMgbG9nZ2VkIG9uIGFscmVhZHkuXG4iCisjfiAiVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICIiCisjfiAiTGlpZ2EgcGFsanUga2FzdXRhamFpZCBvbiBqdWJhIHNpc3NlIGxvZ2ludWQuXG4iCisjfiAiUHJvb3ZpZ2UgaGlsamVtIHV1ZXN0aS5cbiIKKworI34gbXNnaWQgIllvdSBoYXZlIHRvbyBtYW55IHByb2Nlc3NlcyBydW5uaW5nLlxuIgorI34gbXNnc3RyICJUZWlsIG9uIGxpaWdhIHBhbGp1IHByb3RzZXNzZSB09vZ0YW1hc1xuIgorCisjfiBtc2dpZCAiVGhlIHBhc3N3b3JkIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMsIHRyeSBhZ2Fpbi5cbiIKKyN+IG1zZ3N0ciAiUGFyb29sIHBlYWIgb2xlbWEgduRoZW1hbHQgNiBz/G1ib2xpdC4gUHJvb3ZpZ2UgdXVlc3RpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBjaGFyYWN0ZXJzIG91dCBvZiB0d28gb2YgdGhlIGZvbGxvd2luZ1xuIgorI34gImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+ICJjaGFyYWN0ZXJzLiBTZWUgcGFzc3dkKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiUGFyb29sIHBlYWIgc2lzYWxkYW1hIG3kcmtlIHbkaGVtYWx0IGthaGVzdCBq5HJnbmV2YXN0IGtsYXNzaXN0OlxuIgorI34gInN1dXItIGphIHbkaWtldORoZWQsIG51bWJyaWQgamEgbXV1ZCBz/G1ib2xpZC4gVmFhZGFrZSBwYXNzd2QoMSkgbGlzYWluZm9rc1xuIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCByZXVzZSB0aGUgb2xkIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJWYW5hIHBhcm9vbGkgZWkgc2FhIHV1ZXN0aSBrYXN1dGFkYVxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHVzZXJuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICLEcmdlIHBhbHVuIHBhbmdlIHBhcm9vbGlrcyBtaWRhZ2ksIG1pcyBzYXJuYW5lYiBUZWllIGthc3V0YWphbmltZWdhIVxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHJlYWxuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICLEcmdlIHBhbHVuIHBhbmdlIHBhcm9vbGlrcyBtaWRhZ2ksIG1pcyBzYXJuYW5lYiBUZWllIHDkcmlzbmltZWdhIVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbdXNlcm5hbWUgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogcGFzc3dkIFtrYXN1dGFqYW5pbWkgW3Bhcm9vbF1dXG4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgbWF5IHVzZSB0aGUgb25lIGFuZCB0d28gYXJndW1lbnQgZm9ybXMuXG4iCisjfiBtc2dzdHIgIkFpbnVsdCBzdXBlcmthc3V0YWphIHRvaGliIGthIGFyZ3VtZW50ZSBrYXN1dGFkYVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbLWZvcXN2Vl0gW3VzZXIgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiS2FzdXRhbWluZTogcGFzc3dkIFstZm9xc3ZWXSBba2FzdXRhamFuaW1pIFtwYXJvb2xdXVxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZpbmQgbG9naW4gbmFtZSIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEga2luZGxha3MgdGVoYSBUZWllIGthc3V0YWphbmltZSIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBjYW4gY2hhbmdlIHRoZSBwYXNzd29yZCBmb3Igb3RoZXJzLlxuIgorI34gbXNnc3RyICJBaW51bHQgc3VwZXJrYXN1dGFqYSB0b2hpYiB0ZWlzdGUgcGFyb29sZSBtdXV0YVxuIgorCisjfiBtc2dpZCAiQ2FuJ3QgZmluZCB1c2VybmFtZSBhbnl3aGVyZS4gSXMgYCVzJyByZWFsbHkgYSB1c2VyPyIKKyN+IG1zZ3N0ciAiRWkgc3V1ZGEgbGVpZGEgc2VsbGlzdCBrYXN1dGFqYXQuIEthcyBgJXMnIG9uIGlra2Ega2FzdXRhamE/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICIiCisjfiAiU2VsbGUgcHJvZ3JhbW1pZ2Egc2FhYiBtdXV0YSBhaW51bHQgbG9rYWFsc2VpZCBwYXJvb2xlLlxuIgorI34gIkVoayBhaXRhYiBwcm9ncmFtbWkgeXBwYXNzd2Qga2FzdXRhbWluZS4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIlVJRCBqYSBrYXN1dGFqYW5pbWkgZWkgbGFuZ2Uga29ra3UgLSBwZXRpcyBuaWlzdWd1bmUhIgorCisjfiBtc2dpZCAiQ2hhbmdpbmcgcGFzc3dvcmQgZm9yICVzXG4iCisjfiBtc2dzdHIgIk11dWRhbWUga2FzdXRhamEgJXMgcGFyb29saVxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJWYWxlIHBhcm9vbCIKKworI34gbXNnaWQgIkVudGVyIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJVdXMgcGFyb29sOiAiCisKKyN+IG1zZ2lkICJSZS10eXBlIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJVdXMgcGFyb29sIHV1ZXN0aTogIgorCisjfiBtc2dpZCAiWW91IG1pc3NwZWxsZWQgaXQuIFBhc3N3b3JkIG5vdCBjaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiUGFyb29saWQgZWkga2xhcGkgLSB0aXBwaXNpdGUgaWxtc2VsdCB2YWxlc3RpLiBQYXJvb2wgauRpIG11dXRtYXRhLiIKKworI34gbXNnaWQgIlJPT1QgUEFTU1dPUkQgQ0hBTkdFRCIKKyN+IG1zZ3N0ciAiUk9PRFUgUEFST09MIE1VVURFVEkiCisKKyN+IG1zZ2lkICJwYXNzd29yZCBjaGFuZ2VkIGJ5IHJvb3QsIHVzZXIgJXMiCisjfiBtc2dzdHIgImthc3V0YWphICVzIG11dXRpcyByb29kdSBwYXJvb2xpIgorCisjfiBtc2dpZCAiY2FsbGluZyBzZXRwd25hbSB0byBzZXQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgImt1dHN1biB25GxqYSBmdW5rdHNpb29uaSBzZXRwd25hbSBwYXJvb2xpIHNlYWRtaXNla3NcbiIKZGlmZiAtLWdpdCBhL3BvL2V1LnBvIGIvcG8vZXUucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE0NDMxYQotLS0gL2Rldi9udWxsCisrKyBiL3BvL2V1LnBvCkBAIC0wLDAgKzEsMjMwMjUgQEAKKyMgQmFzcXVlIHRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXgtbmcuCisjIENvcHlyaWdodCAoQykgMjAxMCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgTWlrZWwgT2xhc2FnYXN0aSBVcmFuZ2EgPGhleV9uZWtlbkBtdW5kdXJhdC5uZXQ+LCAyMDA1LCAyMDA5LCAyMDEwLgorIyAsIGZ1enp5CisjCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4LW5nIDIuMTcuMS1yYzFcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxMC0wMi0xNiAxOTo1OCswMTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBNaWtlbCBPbGFzYWdhc3RpIFVyYW5nYSA8aGV5X25la2VuQG11bmR1cmF0Lm5ldD5cbiIKKyJMYW5ndWFnZS1UZWFtOiBCYXNxdWUgPHRyYW5zbGF0aW9uLXRlYW0tZXVAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiBldVxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PWlzby04ODU5LTFcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKKyMsIGZ1enp5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBhcmd1bWVudHUgZ2VoaWVnaVxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJlemFycmkgaXJha3VydHpla28gc29pbGlrIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAiZXphcnJpIGlyYWt1cmtldGEtaWRhemtldGFyYWtvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJsb3J0dSBpcmFrdXJrZXRhIHNvaWxpayIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImxvcnR1IGJsb2tlIGxvZ2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImxvcnR1IGJsb2tlIGZpc2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorIywgZnV6enkKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorIywgZnV6enkKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAibG9ydHUgaXJha3Vya2V0YSBzb2lsaWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImxvcnR1IGJsb2tlLXRhbWFpbnVhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAibG9ydHUgMzIgYml0LWVrbyBzZWt0b3JlIGtvcHVydWEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAibG9ydHUgdGFtYWludWEgYnl0ZS10YW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJlemFycmkgcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAibG9ydHUgcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJlemFycmkgYHJlYWRhaGVhZCcgZml0eGF0ZWdpIHNpc3RlbWFyaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAibG9ydHUgZml0eGF0ZWdpIHNpc3RlbWFyZW4gYHJlYWRhaGVhZCctYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgImh1c3R1IGJ1ZmZlcnJhayIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTMKK21zZ2lkICJDYWxsIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk2CisjLCBmdXp6eQorbXNnaWQgIiAtcSAgICAgICAgICAgICBxdWlldCBtb2RlIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICJsb3J0dSB0YW1haW51YSA1MTIgYnl0ZS1la28gc2VrdG9yZWV0YW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyODggZGlzay11dGlscy9mZGZvcm1hdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MSBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMDUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODEgZGlzay11dGlscy9ta2ZzLmM6MTE2IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxODEgbWlzYy11dGlscy93aXBlZnMuYzo3MTgKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcxIHN5cy11dGlscy9ibGt6b25lLmM6Mzk0IHN5cy11dGlscy90dW5lbHAuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg5IHN5cy11dGlscy96cmFtY3RsLmM6NzE1CisjLCBmdXp6eQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiAtbCBiYWxpb2dhYmVrbyBhcmd1bWVudHVhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzLShlKWsgaHV0cyBlZ2luIGR1LlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiQWJpb2dhcnJpYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlVuZWtvIHBhcnRpemlvYXJlbiBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBhbGRhdHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJFemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkV6YWJhdHUgdW5la28gcGFydGl6aW9hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJSZWR1Y2Ugb3IgZW5sYXJnZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkV6YWJhdHUgdW5la28gcGFydGl6aW9hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiQmVycmlhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiU29ydHUgcGFydGl6aW8gYmVycmlhIGxpYnJlIGRhZ29lbiBlc3BhemlvdGlrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIklydGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIklydGVuIHByb2dyYW1hdGlrIHBhcnRpemlvIHRhdWxhIGlkYXR6aSBnYWJlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MSBsaWJmZGlzay9zcmMvYnNkLmM6NDM4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMSBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OQorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMjYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJNb2V0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIGFsZGF0dSBwYXJpdHppb2FyZW4gZml0eGF0ZWdpIHNpc3RlbWEgSURhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIkxhZ3VudHphIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJJbnByaW1hdHUgbGFndW50emEgcGFudGFpbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworIywgZnV6enkKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIklkYXR6aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJJZGF0emkgcGFydGl6aW8gdGF1bGEgZGlza29yYSAoZGF0dSBndXp0aWFrIHN1bnRzaXR1IGRpdHphemtlKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjY0MiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiUGFydGl6aW8gemVuYmFraWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppbzpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiUGFydGl6aW8gemVuYmFraWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyMworbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNTQKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyBtb250YXR1YSBkYWdvLlx0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJkaXNrb2E6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiQnVydWFrOiAlZCAgIFNla3RvcmVhayBwaXN0YWtvOiAlZCAgIFppbGluZHJvYWs6ICVsbGQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRGlza28gaWRlbnRpZmlrYXR6YWlsZWE6IDB4JTA4eFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiZXRpa2V0YTogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJsb3J0dSB0YW1haW51YSBieXRlLXRhbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAibG9ydHUgdGFtYWludWEgYnl0ZS10YW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgImV6aW4gZGEgJXMgYHR5cGVzY3JpcHQnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkV6aW4gZGEgJXMgaXJla2lcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIG1vZXRhXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiVzIGRpc2thayBleiBkYXVrYSBwYXJ0aXppbyB0YXVsYSB6dXplbmFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorIywgZnV6enkKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIkhhdSBjZmRpc2sgZGEsIGN1cnNlcy1lbiBvaW5hcnJpdHV0YWtvIGRpc2tvIHBhcnRpemlvbmF0emUgcHJvZ3JhbWEsIG5vbiBob25layIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJ6dXJlIGRpc2tvZXRhbiBwYXJ0aXppb2FrIHNvcnR1LCBlemFiYXR1IGV0YSBtb2RpZmlrYXR6ZWtvIGF1a2VyYSBlbWF0ZW4gZGl6dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIktvbWFuZG9hayAgICAgRXNhbmFoaWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgUGFudGFpbGEgaGF1IGVyYWt1dHNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgU29ydHUgcGFydGl6aW8gYmVycmlhIGxpYnJlIGRhZ29lbiBlc3BhemlvdGlrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBJcnRlbiBhcGxpa2F6aW90aWsgcGFydGl6aW8gdGF1bGEgaWRhdHppIGdhYmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgQWxkYXR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF0emkgKFcgbGV0cmEgbGFycml6KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICBIb25layBkaXNrb2FyZW4gZGF0dSBndXp0aWFrIHN1bnRzaXR1IGRpdHphemtlZW5leiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGtvbmZpcm1hemlvIGJhdCBlc2thdHVrbyBkYSBoYXVldGFrbyBhdWtlcmEgYmF0IGVyYWJpbGlhejogYHllcycgZWRvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKKyMsIGZ1enp5Cittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIkdvcmEgZ2V6aWEgICAgTXVnaXR1IGt1cnRzb3JlYSBhdXJyZWtvIHBhcnRpemlvcmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIkJlaGVyYSBnZXppYSAgTXVnaXR1IGt1cnRzb3JlYSBodXJyZW5nbyBwYXJ0aXppb3JhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIkdvcmEgZ2V6aWEgICAgTXVnaXR1IGt1cnRzb3JlYSBhdXJyZWtvIHBhcnRpemlvcmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJCZWhlcmEgZ2V6aWEgIE11Z2l0dSBrdXJ0c29yZWEgaHVycmVuZ28gcGFydGl6aW9yYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiT2hhcnJhOiBrb21hbmRvIGd1enRpYWsgbGV0cmEgaGFuZGl6IGVkbyB0eGlraXogc2FydHUgZGFpdGV6a2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorIywgZnV6enkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAibGV0cmEgeGVoZWFrIChpZGF6a2V0ZXRhcmFrbyBlemlrKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKKyMsIGZ1enp5Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJTYWthdHUgZWRvemVpbiB0ZWtsYSBqYXJyYWl0emVrbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3CisjLCBmdXp6eQorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA5IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiIgorIlxuIgorIlN3YXAgcGFydGl6aW9hayBleiBkYSBzd2FwIG1vZXRha29hLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgdCAgIGFsZGF0dSBwYXJpdHppb2FyZW4gZml0eGF0ZWdpIHNpc3RlbWEgSURhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF6dGVuLi4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTQKKyMsIGZ1enp5Cittc2dpZCAiTmV3IHNpemU6ICIKK21zZ3N0ciAiRWdvZXJhIGJlcnJpYTpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IHJlc2l6ZWQuIgorbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MjcgZGlzay11dGlscy9jZmRpc2suYzoyNTQzIGRpc2stdXRpbHMvZmRpc2suYzoxMDYzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTEKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDMyCisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiICBXICAgICAgICAgIFBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhdHppIChXIGxldHJhIGxhcnJpeikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJiYWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0MAorIywgZnV6enkKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiICBXICAgICAgICAgIFBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhdHppIChXIGxldHJhIGxhcnJpeikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTkKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1CisjLCBmdXp6eQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAicGFydGl6aW8gbG9naWtvYWsgZXogZGF1ZGUgZGlza28gb3JkZW5lYW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2NzYgZGlzay11dGlscy9mZGlzay5jOjk1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMjAKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDI5IHN5cy11dGlscy9kbWVzZy5jOjE0MTAgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiRm9ybWF0ZWF0emVuIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAiZWdpbmRhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiRWdpYXp0YXR6ZW4gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiSXJha3Vycmk6IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIkJpa29pdHphIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJCYWthcnJhIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUzIG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorIywgZnV6enkKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgInNlZWstZWsgaHV0cyBlZ2luIGR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjIgZGlzay11dGlscy9mZGlzay5jOjI5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzcxCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI0MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OQorIywgZnV6enkKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJtZW1vcmlhdGlrIGthbnBvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY5IGRpc2stdXRpbHMvZmRpc2suYzozMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzggZGlzay11dGlscy9zZmRpc2suYzoxOTgKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiS29kZSBoZXhhZGV6aW1hbGEgKHNha2F0dSBMIGtvZGVhayB6ZXJyZW5kYXR6ZWtvKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIktvZGUgaGV4YWRlemltYWxhIChzYWthdHUgTCBrb2RlYWsgemVycmVuZGF0emVrbyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1MgYmF0ZXJhZ2Fycml0YXN1biBtYXJrYSBlemFycml0YSBkYWdvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1MgYmF0ZXJhZ2Fycml0YXN1biBtYXJrYSBleiBkYWdvIGV6YXJyaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA5IGRpc2stdXRpbHMvZmRpc2suYzo2MTggbGliZmRpc2svc3JjL2Fzay5jOjEwMDMKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJFemV6YWd1bmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiICAgdCAgIGFsZGF0dSBwYXJpdHppb2FyZW4gZml0eGF0ZWdpIHNpc3RlbWEgSURhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiZGlza29hOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgImV6aW4gZGEgZm9yayBlZ2luIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJoZXhkdW1wOiBlemluIGRhICVzICBpcmFrdXJyaS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiTGVoZW5lbmdvICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiS0RHSFdDTEsgaW9jdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIGZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTIKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTMKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE0CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNworIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIlNhcnR1IGJ1cnUga29wdXJ1YToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICJTYXJ0dSBwaXN0YWtvIHplbmJhdCBzZWt0b3JlIGtvcHVydWE6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyMgorIywgZnV6enkKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiIgorIlxuIgorIkJTRCBldGlrZXRhIGdhaWx1YXJlbnR6YXQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NzUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMzMgZGlzay11dGlscy9mZGlzay5jOjEwNDggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY5NQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg3CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTY3IGRpc2stdXRpbHMvcmF3LmM6MTM3IGRpc2stdXRpbHMvcmF3LmM6MTUwCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2MiBkaXNrLXV0aWxzL3Jhdy5jOjIwMyBtaXNjLXV0aWxzL2NhbC5jOjUyMAorIzogbWlzYy11dGlscy9maW5kZnMuYzo1OCBtaXNjLXV0aWxzL2xvb2suYzoxNTAgbWlzYy11dGlscy93aGVyZWlzLmM6NTczCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo1ODQgbWlzYy11dGlscy93aGVyZWlzLmM6NTk1IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYzNworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTA0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYyIHNjaGVkdXRpbHMvdGFza3NldC5jOjE4OQorIzogc3lzLXV0aWxzL2NoY3B1LmM6MzQ0IHN5cy11dGlscy9jaG1lbS5jOjQxOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDY5CisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzIxIHN5cy11dGlscy9sb3NldHVwLmM6ODg4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDI1IHN5cy11dGlscy9sc21lbS5jOjYyOCBzeXMtdXRpbHMvbW91bnQuYzo2OTgKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxMSBzeXMtdXRpbHMvbW91bnQuYzo3ODAgc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxODEKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzIgc3lzLXV0aWxzL3N3YXBvZmYuYzoyMzAgc3lzLXV0aWxzL3N3YXBvbi5jOjk4OAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjUwIHN5cy11dGlscy91bW91bnQuYzo1MjggdGVybS11dGlscy9zZXR0ZXJtLmM6MTE3NgorIzogdGV4dC11dGlscy9jb2wuYzoyMzMgdGV4dC11dGlscy9tb3JlLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgImJhZCB1c2FnZSIKK21zZ3N0ciAicmVuaWNlOiAlczogYmFsaW8gb2tlcnJhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTYgZGlzay11dGlscy9zZmRpc2suYzoxNjE2Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIkRpc2tvIHVuaXRhdGVhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRGlza28gaWRlbnRpZmlrYXR6YWlsZWE6IDB4JTA4eFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkJ1cnVhazogJWQgICBTZWt0b3JlYWsgcGlzdGFrbzogJWQgICBaaWxpbmRyb2FrOiAlbGxkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICIlZCBidXJ1LCAlbGx1IHNla3RvcmUgcGlzdGFrbywgJWQgemlsaW5kcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJVbml0YXRlYWs6ICVzICVkLShlKXRpayAqICVkID0gJWQgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJsb3J0dSBpcmFrdXJrZXRhIHNvaWxpayIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIzNgorIzogZGlzay11dGlscy9mc2NrLmM6MTI1NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICIlcyBwYXJ0aXppb2FrIGhhc2llcmFrbyAwIHNla3RvcmUgYmFsaW9nYWJlYSBkYXVrYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAicGFydGl6aW8gbG9naWtvYWsgZXogZGF1ZGUgZGlza28gb3JkZW5lYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKKyMsIGZ1enp5Cittc2dpZCAiU3RhcnQiCittc2dzdHIgImhhc2llcmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNgorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjkgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMjEKK21zZ2lkICJFbmQiCittc2dzdHIgIkFtYWllcmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTZWt0b3JlYWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkJ1cnVhazogJWQgICBTZWt0b3JlYWsgcGlzdGFrbzogJWQgICBaaWxpbmRyb2FrOiAlbGxkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgVW5la28gcGFydGl6aW9hIGV6YWJhdHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5CisjLCBmdXp6eQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICJQYXJ0aXppbyBnZWhpZWdpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIiAgIGwgICB6ZXJyZW5kYXR1IGV6YWd1dHplbiBkaXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorIywgZnV6enkKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICIgICBuICAgQlNEIHBhcnRpemlvIGJlcnJpIGJhdCBnZWhpdHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJTb2lsaWsgcGFydGl6aW8gdGF1bGEgaW5wcmltYXR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBhbGRhdHUgcGFyaXR6aW9hcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIElEYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSByYXcgZGF0dSBmb3JtYXR1YSBlcmFiaWxpeiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHJhdyBkYXR1IGZvcm1hdHVhIGVyYWJpbGl6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIiAgIG0gICBtZW51IGhhdSBlcmFrdXRzaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgIHUgICAgICAgICAgQWxkYXR1IGVyYWt1c3RlbiBkZW4gcGFydGl6aW9hcmVuIHRhbWFpbnUgdW5pdGF0ZWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorIywgZnV6enkKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJBbGRhdHUgZGlza29hcmVuIGdlb21ldHJpYSAoZXJhYmlsdHphaWxlIGF1cnJlcmF0dWFrIHNvaWxpaykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIiAgIHcgICBpZGF0emkgZGlza29hcmVuIGV0aWtldGEgZGlza29hbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiICAgcSAgIGlydGVuIGFsZGFrZXRhayBnb3JkZSBnYWJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIG1lbnUgbmFndXNpcmEgaXR6dWxpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIlNvcnR1IHBhcnRpemlvIGxvZ2lrbyBiZXJyaSBiYXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiU29ydHUgcGFydGl6aW8gcHJpbWFyaW8gYmVycmkgYmF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJTb3J0dSBwYXJ0aXppbyBwcmltYXJpbyBiZXJyaSBiYXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiU29ydHUgcGFydGl6aW8gcHJpbWFyaW8gYmVycmkgYmF0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlNvcnR1IHBhcnRpemlvIHByaW1hcmlvIGJlcnJpIGJhdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJTYXJ0dSBidXJ1IGtvcHVydWE6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTYXJ0dSBwaXN0YWtvIHplbmJhdCBzZWt0b3JlIGtvcHVydWE6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgImFsZGF0dXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICIgIGIgICAgICAgICAgVW5la28gcGFydGl6aW9hcmkgYWJpYXJhemdhcnJpIGFkaWVyYXpsZWEgamFycmkgZWRvIGtlbmR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICIgIGIgICAgICAgICAgVW5la28gcGFydGl6aW9hcmkgYWJpYXJhemdhcnJpIGFkaWVyYXpsZWEgamFycmkgZWRvIGtlbmR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAiU3VuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICIgIGIgICAgICAgICAgVW5la28gcGFydGl6aW9hcmkgYWJpYXJhemdhcnJpIGFkaWVyYXpsZWEgamFycmkgZWRvIGtlbmR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiICAgdSAgIGFsZGF0dSB1bml0YXRlYWsgKHppbGluZHJvYWsvc2VrdG9yZWFrKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIlNhcnR1IHBpc3Rha28gemVuYmF0IHNla3RvcmUga29wdXJ1YToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIkJpcmEgbWludXR1a28gKHJwbSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiICAgdSAgIGFsZGF0dSB1bml0YXRlYWsgKHppbGluZHJvYWsvc2VrdG9yZWFrKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0CisjLCBmdXp6eQorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBVbmVrbyBwYXJ0aXppb2FyaSBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBqYXJyaSBlZG8ga2VuZHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorIywgZnV6enkKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICIgICBlICAgZGlza29hcmVuIGRhdGEgZWRpdGF0dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKyJcbiIKKyJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE5CisjLCBmdXp6eQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIkJTRCBkaXNrbyBldGlrZXRhIGtvbWFuZG9hIChtIGxhZ3VudHphIGVyYWt1c3Rla28pOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGUgICBkaXNrb2FyZW4gZGF0YSBlZGl0YXR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIkFsZGF0dSBkaXNrb2FyZW4gZ2VvbWV0cmlhIChlcmFiaWx0emFpbGUgYXVycmVyYXR1YWsgc29pbGlrKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorIywgZnV6enkKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIiAgIGUgICBkaXNrb2FyZW4gZGF0YSBlZGl0YXR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiAgIGkgICBpbnN0YWxhdHUgaGFzaWVyYWtvIHNla3VlbnR6aWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorIywgZnV6enkKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgcyAgIGVyYWt1dHNpIGRpc2tvYXJlbiBldGlrZXRhIGd1enRpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgeCAgIGVzdGVrYXR1IEJTRCBwYXJ0aXppb2EgQlNEIGV6IGRlbiBwYXJ0aXppbyBiYXRpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIkxhZ3VudHphIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkJTRCBkaXNrbyBldGlrZXRhIGtvbWFuZG9hIChtIGxhZ3VudHphIGVyYWt1c3Rla28pOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDI1Cittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiS29tYW5kb2EgKG0gbGFndW50emEgZXJha3VzdGVrbykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzNQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgImV6aW4gZGEgJXMgYHR5cGVzY3JpcHQnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIlJlc2V0dGluZyBmZGlzayEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydGl6aW9hIDAgc2VrdG9yZWEgYmFpbmEgbGVoZW5hZ28gaGFzdGVuIGRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiICBXICAgICAgICAgIFBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhdHppIChXIGxldHJhIGxhcnJpeikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIkV6IGRhIHBhcnRpemlvcmlrIGRlZmluaXR1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1CisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICIgIHUgICAgICAgICAgQWxkYXR1IGVyYWt1c3RlbiBkZW4gcGFydGl6aW9hcmVuIHRhbWFpbnUgdW5pdGF0ZWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICIgIHUgICAgICAgICAgQWxkYXR1IGVyYWt1c3RlbiBkZW4gcGFydGl6aW9hcmVuIHRhbWFpbnUgdW5pdGF0ZWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKKyMsIGZ1enp5Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiQlNEIGRpc2tvIGV0aWtldGEga29tYW5kb2EgKG0gbGFndW50emEgZXJha3VzdGVrbyk6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiQlNEIGRpc2tvIGV0aWtldGEga29tYW5kb2EgKG0gbGFndW50emEgZXJha3VzdGVrbyk6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NjEKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorIywgZnV6enkKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiQmFsaW9nYWJla28gdGVrbGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgzOQorIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkJTRCBkaXNrbyBldGlrZXRhIGtvbWFuZG9hIChtIGxhZ3VudHphIGVyYWt1c3Rla28pOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIlppbGluZHJvIGtvcHVydWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIkJ1cnUga29wdXJ1YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJTZWt0b3JlIGtvcHVydWEgcGlzdGFrbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIG1vbnRhdHVhIGRhZ28uXHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgImhleGR1bXA6IGV6aW4gZGEgJXMgIGlyYWt1cnJpLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgbGliL3BhdGguYzoxNjMgbGliL3BhdGguYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJEaXNrYWsgc2lua3Jvbml6YXR6ZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgIiVzLShlKWsgaHV0cyBlZ2luIGR1LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiJXMgZXJhYmlsdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNCBkaXNrLXV0aWxzL2ZzY2suYzo1MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODcgbG9naW4tdXRpbHMvbG9naW4uYzo5NDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDggc3lzLXV0aWxzL2Zsb2NrLmM6MzQ2IHN5cy11dGlscy9uc2VudGVyLmM6MTgwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzIwIHN5cy11dGlscy91bnNoYXJlLmM6MjIxIHN5cy11dGlscy91bnNoYXJlLmM6NDM1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjgwNQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJmb3JrLWVrIGh1dHMgZWdpbiBkdSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiAlczogd3JpdGUtayBodXRzIGVnaW4gZHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICJPcmR1bGFyaWFyZW4gdGljay1hcmkgaXR4YXJvdGVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIEFsZGF0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgVW5la28gcGFydGl6aW9hIGV6YWJhdHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MTMKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGdhaWx1IGdlaGllZ2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorIywgZnV6enkKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiL3Byb2MgbW9udGF0dWEgZGFnbz9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICIlczogYXJndW1lbnR1IGdlaGllZ2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2OSBtaXNjLXV0aWxzL2tpbGwuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IC1sIGJhbGlvZ2FiZWtvIGFyZ3VtZW50dWEgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE0Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiZml0eGF0ZWdpIGx1emVlcmEgbW90eGVnaWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzYgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MSBsaWJmZGlzay9zcmMvYnNkLmM6NzE3IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTIKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDMgbG9naW4tdXRpbHMvbGFzdC5jOjIzNyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAic2Vlay1layBodXRzIGVnaW4gZHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgImZpdHhhdGVnaSBzaXN0ZW1hcmVuIGV1c2thcnJpcmlrIGdhYmVrbyBlemF1Z2FycmlhayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorIywgZnV6enkKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA1Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTYKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAic2Vlay1layBodXRzIGVnaW4gZHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDgKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImNyYyBlcnJvcmVhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIlN1cGVyIGJsb2tlYTogJXpkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAid3JpdGUtayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24tKGUpayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duLShlKWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZS0oZSlrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2Rpci0oZSlrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAiZml0eGF0ZWdpIGx1emVlcmEgb2tlcnJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2CisjLCBmdXp6eQorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgImZpdHhhdGVnaSBsdXplZXJhIG9rZXJyYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJsb3J0dSB0YW1haW51YSBieXRlLXRhbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgInN5bWxpbmstZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAiYCVzJyBmaXR4YXRlZ2lhayAlMDVvIG1vZHVhIGRhdWthXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QtKGUpayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiKEh1cnJlbmdvIGZpdHhhdGVnaWE6ICVzKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIEFsZGF0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIG1vbnRhdHVhIGRhZ28uXHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiZXppbiBkYSAlcyBpZC1hIGV6YWJhdHUgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiT2hhcnJhOiBpbm9kbyBrb3B1cnVhIGhhbmRpZWdpYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIgICB3ICAgaWRhdHppIGRpc2tvYXJlbiBldGlrZXRhIGRpc2tvYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY3Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkzCittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIk9oYXJyYTogaW5vZG8ga29wdXJ1YSBoYW5kaWVnaWEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpbm9kb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgYmxva2VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiTGVoZW4gZGF0YSB6b25hPSVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uYXJlbiB0YW1haW51YT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIkdlaGllbmV6a28gdGFtYWludWE9JWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkZpdHhhdGVnaSBzaXN0ZW1hcmVuIGVnb2VyYT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiaXplbiBsdXplZXJhPSVkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTWFya2F0dSBlcmFiaWxpYSBkYWdvZWxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJgJXMnIGZpdHhhdGVnaWFrICUwNW8gbW9kdWEgZGF1a2FcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJPaGFycmE6IGlub2RvIGtvcHVydWEgaGFuZGllZ2lhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzY5Cittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkdhcmJpYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJadXplbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBFemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIzCittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImJhcm5lIGVycm9yZWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiRXphcnJpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjk5CisjLCBmdXp6eQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJUYW1haW51YSAoTUJ0YW4pOiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiRXogZGFnbyAqQlNEIHBhcnRpemlvcmlrICVzLShlKW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkIHpvbmEgZXJhYmlsaXRhICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkIHpvbmEgZXJhYmlsaXRhICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSVRYQVRFR0kgU0lTVEVNQSBBTERBVFUgREFcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAid3JpdGUtayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAibG9ydHUgYmxva2UgbG9naWtvYXJlbiAoc2VrdG9yZWEpIHRhbWFpbnVhIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE4NworbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJiYWxpb2dhYmVrbyBsZXJybyBrb3B1cnVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCisjLCBmdXp6eQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnR1YSBsdXplZWdpYSBkYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnR1YSBsdXplZWdpYSBkYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYmxva2UgYXJndW1lbnR1IGx1emVlZ2lhLCBnZWhpZW5lemtvYSAlbGx1IGRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAiaW5vZG8gZ2VoaWVnaSAtIGdlaGllbmV6a29hIDUxMiBkYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJleiBkYWdvIG5haGlrb2EgbGVrdSwgJWxsdSBibG9rZSBiZWhhciBkaXJhIGd1dHhpZW5leiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkdhaWx1YTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJCb2x1bWVuYTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiRlNpemVuYTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9rZSB0YW1haW5hOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiTWFya2F0dSBlcmFiaWxpYSBkYWdvZWxhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RvYWs6ICVkICglbGxkIGJsb2tlZXRhbilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2tlYWs6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIiAgIGUgICBkaXNrb2FyZW4gZGF0YSBlZGl0YXR1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjYyCittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJlcnJvcmVhIHN1cGVyYmxva2VhIGlkYXp0ZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImVycm9yZWEgZXJybyBpbm9kb2EgaWRhenRlbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4OAorIywgZnV6enkKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJEaXNrbyBldGlrZXRhIGlkYXp0ZW4gJXMtKGUpcmkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKKyMsIGZ1enp5Cittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJEaXNrbyBldGlrZXRhIGlkYXp0ZW4gJXMtKGUpcmkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiRGlza28gZXRpa2V0YSBpZGF6dGVuICVzLShlKXJpLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgImVycm9yZWEgJXMgaXR4aXR6ZXJha29hbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIkVyYWJpbGVyYTogbWtmcyBbLVZdIFstdCBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YV0gW2ZpdHhhdGVnaSBzaXN0ZW1hcmVuIGF1a2VyYWtdIGdhaWx1YSBbdGFtYWludWFdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhICVzIGV4ZWt1dGF0emVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJyZWFkLWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImZpdHhhdGVnaSBzaXN0ZW1hIGhhbmRpZWdpYS4gSXJ0ZXRlbi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIlJPTSBpcnVkaSBtYXBhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiQmFybmUgaGFydHplbjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIkRpcmVrdG9yaW9hcmVuIGRhdGE6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJHdXp0aWFrOiAlemQga2lsb2J5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyIGJsb2tlYTogJXpkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJST00gaXJ1ZGlhIGlkYXp0ZWFrIGh1dHMgZWdpbiBkdSAoJXpkICV6ZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiUk9NIGlydWRpYSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiAgIHcgICBpZGF0emkgZGlza29hcmVuIGV0aWtldGEgZGlza29hbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiICAgdyAgIGlkYXR6aSBkaXNrb2FyZW4gZXRpa2V0YSBkaXNrb2FuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiAgIHcgICBpZGF0emkgZGlza29hcmVuIGV0aWtldGEgZGlza29hbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiICAgdyAgIGlkYXR6aSBkaXNrb2FyZW4gZXRpa2V0YSBkaXNrb2FuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiYmxva2Ugb2tlciBnZWhlaWdpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsZCBpbm9kb1xuIgorbXNnc3RyWzFdICIlbGQgaW5vZG9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbGQgYmxva2VcbiIKK21zZ3N0clsxXSAiJWxkIGJsb2tlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIlpvbmFyZW4gdGFtYWludWE9JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiR2VoaWVuZXprbyB0YW1haW51YT0lbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IGxzZWVrLWVrIGh1dHMgZWdpbiBkdSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0MSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsZCBibG9rZVxuIgorbXNnc3RyWzFdICIlbGQgYmxva2VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBlemluIGRhICVzIGJsb2tlbyBmaXR4YXRlZ2lhIGlyZWtpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiZXppbiBkYSBiYWRibG9ja3MgZml0eGF0ZWdpYSBpcmFrdXJyaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjUgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAiZml0eGF0ZWdpIHNpc3RlbWFyZW4gZXVza2FycmlyaWsgZ2FiZWtvIGV6YXVnYXJyaWFrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJCU0QgZXRpa2V0YSBnYWlsdWFyZW50emF0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJldGlrZXRhIGdhYmVhLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAidXVpZC1yaWsgZXpcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgIm9ycmkgdHhhciBnZWhpZWdpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IG9ycmkgb2tlclxuIgorbXNnc3RyWzFdICIlbHUgb3JyaSBva2VyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMgorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkyCittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMgcGFydGl6aW8gdGFibGEgYXR6ZW1hbiBkYSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAobGliYmxraWQgZ2FiZSBrb25waWxhdHVhKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlZCBhYmlhZHVyYWsgZXogZHUgZXVza2FycmlyaWsiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImVycm9yZWE6IFVVSURhIGlyYWt1cnR6ZWFuIGh1dHMgZWdpbiBkYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODkKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICIlZCBhYmlhZHVyYWsgZXogZHUgZXVza2FycmlyaWsiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMgorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3CisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiU29pbGlrIHBhcnRpemlvIHRhdWxhIGlucHJpbWF0dSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4CisjLCBmdXp6eQorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhenRlbi4uLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJTZWt0b3JlIGtvcHVydWEgcGlzdGFrbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIlBhcnRpemlvIHplbmJha2lhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppbzpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF6dGVuLi4uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppbzpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIlBhcnRpemlvIGdlaGllZ2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiRXogZGEgcGFydGl6aW9yaWsgZGVmaW5pdHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbi1layBodXRzIGVnaW4gZHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiUGFydGl6aW8gZ2VoaWVnaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIkV6IGRhIHBhcnRpemlvcmlrIGRlZmluaXR1XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiRXogZGEgcGFydGl6aW9yaWsgZGVmaW5pdHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5jb3JlLmM6MzczIG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MjIKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMzMworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYxOCBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNiBzeXMtdXRpbHMvcmZraWxsLmM6NDY3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjkzIHN5cy11dGlscy93ZGN0bC5jOjI3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIgICAgICAgICglcyBwYXJ0aXppbyB0YWJsYSBhdHplbWFuIGRhKS4gIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTcKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MCBzeXMtdXRpbHMvbHNtZW0uYzo1MDUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0LXR5cGVzICAgICBsaXN0IHN1cHBvcnRlZCBwYXJ0aXRpb24gdHlwZXMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzczIHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVkIGFiaWFkdXJhayBleiBkdSBldXNrYXJyaXJpayIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJFemluIGRhICclcycgKCVzKSByYXcgbW9ldGFrbyBnYWlsdWEgYXVya2l0dVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiRXppbiBkYSAgcmF3IGdhaWx1IG5hZ3VzaWEgaXJla2kgJyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJFemluIGRhICclcycgKCVzKSByYXcgbW9ldGFrbyBnYWlsdWEgYXVya2l0dVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDkKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRXppbiBkYSAnJXMnICglcykgcmF3IG1vZXRha28gZ2FpbHVhIGF1cmtpdHVcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRXppbiBkYSAnJXMnICglcykgcmF3IG1vZXRha28gZ2FpbHVhIGF1cmtpdHVcbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgImV6aW4gZGEgZm9yayBlZ2luIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkyCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQyCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgImV6aW4gZGEgJXMgYHR5cGVzY3JpcHQnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIiAgVyAgICAgICAgICBQYXJ0aXppbyB0YXVsYSBkaXNrb2FuIGlkYXR6aSAoVyBsZXRyYSBsYXJyaXopIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIEl6ZW5hXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgImd1enRpcmE6ICVsbHUgYmxva2VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4OTQgZGlzay11dGlscy9zZmRpc2suYzo5MzUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzMiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwOTYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMDcgZGlzay11dGlscy9zZmRpc2suYzoxNTYxCisjLCBmdXp6eQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgImV6aW4gZGEgYHN0YXQnIGVnaW4gXCIlc1wiLShyKWVuZ2FuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMgorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9yIFBNQlIgb25seSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg2NyBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTYgZGlzay11dGlscy9zZmRpc2suYzoxMjEyCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTkgZGlzay11dGlscy9zZmRpc2suYzoyMDU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTA5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlcyBkaXNrYWsgZXogZGF1a2EgcGFydGl6aW8gdGF1bGEgenV6ZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICJFeiBkYWdvIHBhcnRpemlvIHRhdWxhcmlrLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMQorIywgZnV6enkKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlcyBkaXNrYWsgZXogZGF1a2EgcGFydGl6aW8gdGF1bGEgenV6ZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzIGRpc2thayBleiBkYXVrYSBwYXJ0aXppbyB0YXVsYSB6dXplbmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlcyBkaXNrYWsgZXogZGF1a2EgcGFydGl6aW8gdGF1bGEgenV6ZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODcKKyMsIGZ1enp5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKKyMsIGZ1enp5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgIFcgICAgICAgICAgUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF0emkgKFcgbGV0cmEgbGFycml6KSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICBCU0QgcGFydGl6aW8gdGF1bGEgZXJha3V0c2kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworIywgZnV6enkKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTQKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxILFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjMKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjUKKyMsIGZ1enp5Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgIG4gICAgICAgICAgU29ydHUgcGFydGl6aW8gYmVycmlhIGxpYnJlIGRhZ29lbiBlc3BhemlvdGlrIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTcgc3lzLXV0aWxzL2RtZXNnLmM6MTUzOQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3Igc2ZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJFeiBkYWdvICpCU0QgcGFydGl6aW9yaWsgJXMtKGUpbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyOAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNQorIywgZnV6enkKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICJFZ29lcmEgemFoYXJyYTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gZ2VoaWFnbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0CisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIkVnaW5kYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2CisjLCBmdXp6eQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIkV6IHNvcnR1IHBhcnRpemlvIGJhdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzM1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICJFZ29lcmEgYmVycmlhOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiICBXICAgICAgICAgIFBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhdHppIChXIGxldHJhIGxhcnJpeikiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNQorbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgTEFCRUw9PGV0aWtldGE+fFVVSUQ9PHV1aWQ+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCisjLCBmdXp6eQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY3Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcxCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICJTYXJ0dSBidXJ1IGtvcHVydWE6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MgorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MworIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg0CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg3Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDc1IGluY2x1ZGUvYy5oOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcy0oZSl0aWsgcmVuaWNlLWVhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjE1MgorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNworbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTMwCittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE3MgorbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIkVyYWJpbGVyYTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzE5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzIwCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzIyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgIkVyYWJpbGdhcnJpIGRhdWRlbiBrb21hbmRvYWs6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNQorbXNnaWQgImRpc3BsYXkgdGhpcyBoZWxwIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMyNgorIywgZnV6enkKK21zZ2lkICJkaXNwbGF5IHZlcnNpb24iCittc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjOiBpbmNsdWRlL2MuaDozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5NSBzeXMtdXRpbHMvcnRjd2FrZS5jOjI5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTEKKyM6IHRleHQtdXRpbHMvY29sLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJjb2w6IGlkYXprZXRhIGVycm9yZWEuXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyNgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDMwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiSHV0c2lrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJFeHRlbmRlZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorIywgZnV6enkKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGJvb3RhYmxlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIEJvb3QgTWFuYWdlciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBFeHQnZCAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiSGlkZGVuIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIGRpYWdub3N0aWNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJIaWRkZW4gRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIkhpZGRlbiBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJIaWRkZW4gSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJIaWRkZW4gVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworIywgZnV6enkKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiSGlkZGVuIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMm5kIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggM3JkIHBhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgb3IgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJPbGQgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gb2xkIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBzd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggZXh0ZW5kZWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIHZvbHVtZSBzZXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQgbGliZmRpc2svc3JjL3NnaS5jOjYyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiQm9vdCBXaXphcmQgZXprdXR1YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKKyMsIGZ1enp5Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIyOQorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIk5vbi1GUyBkYXRhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwgVXRpbGl0eSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2Vjb25kYXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJBdXRvbWF0aWtva2kgYXR6ZW1hbiBMaW51eCByYWlkLWFrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiRXogZGFnbyAqQlNEIHBhcnRpemlvcmlrICVzLShlKW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo1MDUKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjEwMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIiIKKyJcbiIKKyJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiJXMgcGFydGl6aW9hayBoYXNpZXJha28gMCBzZWt0b3JlIGJhbGlvZ2FiZWEgZGF1a2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiRXogZGFnbyAqQlNEIHBhcnRpemlvcmlrICVzLShlKW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorIywgZnV6enkKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAiemlsaW5kcm9hIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkxIGxpYmZkaXNrL3NyYy9kb3MuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiQXprZW4gJXMtKGUpYSBlZG8gK3RhbWFpbnVhIGVkbyArdGFtYWludWFNIGVkbyArdGFtYWludWFLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3CisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJBemtlbiAlcy0oZSlhIGVkbyArdGFtYWludWEgZWRvICt0YW1haW51YU0gZWRvICt0YW1haW51YUsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiJXMgY29udGFpbnMgbm8gZGlza2xhYmVsLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OAorIywgZnV6enkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJkaXNrb2E6ICUuKnNcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NQorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjIgbGliZmRpc2svc3JjL3N1bi5jOjExMjcKK21zZ2lkICJGbGFncyIKK21zZ3N0ciAiQmFuZGVyYWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIga2VuZ2FycmlhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYmFkc2VjdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgImJ5dGUga29wdXJ1YSBzZWt0b3Jla28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJwaXN0YWsgemlsaW5kcm9rbyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JlYWsgemlsaW5kcm9rbyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiWmlsaW5kcm9hayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCisjLCBmdXp6eQorbXNnaWQgIlJwbSIKK21zZ3N0ciAicnBtIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTAwIGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTEgbGliZmRpc2svc3JjL3N1bi5jOjc5MworIywgZnV6enkKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICJ0YXJ0ZWthdHplYTogJWRcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInBpc3RhIHNrZXctZWE6ICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTAKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJ6aWxpbmRybyBza2V3LWVhOiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE1CisjLCBmdXp6eQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgImhlYWRzd2l0Y2g6ICVsZFx0XHQjIG1pbGlzZWd1bmR1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAicGlzdGF0aWsgcGlzdGFyYSBiaWxha2V0YTogJWxkXHQjIG1pbGlzZWd1bmR1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGUga29wdXJ1YSBzZWt0b3Jla28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTMKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzZWt0b3JlYWsgcGlzdGFrbyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAicGlzdGFrIHppbGluZHJva28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgInppbGluZHJvYWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTkKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JlYWsgemlsaW5kcm9rbyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMgorbXNnaWQgInJwbSIKK21zZ3N0ciAicnBtIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCisjLCBmdXp6eQorbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgInRhcnRla2F0emVhOiAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0CisjLCBmdXp6eQorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAicGlzdGEgc2tldy1lYTogJWRcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorIywgZnV6enkKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgInppbGluZHJvIHNrZXctZWE6ICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaDogJWxkXHRcdCMgbWlsaXNlZ3VuZHVcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorIywgZnV6enkKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJwaXN0YXRpayBwaXN0YXJhIGJpbGFrZXRhOiAlbGRcdCMgbWlsaXNlZ3VuZHVcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiT1MvMiBCb290IE1hbmFnZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDMKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIkRpc2tvIHVuaXRhdGVhOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTExIGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6Njg4CisjLCBmdXp6eQorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJEaXNrYWsgc2lua3Jvbml6YXR6ZW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIGVzdGVrYXR1IEJTRCBwYXJ0aXppb2EgQlNEIGV6IGRlbiBwYXJ0aXppbyBiYXRpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNQorbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiBsc2Vlay1layBodXRzIGVnaW4gZHUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgYmVycml6IGlyYWt1cnR6ZW4gLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiAlenUgZnJvbSBzeXN0ZW0iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBzeXN0ZW0gaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290LiAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0CisjLCBmdXp6eQorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gInppbGluZHJvYSIKK21zZ3N0clsxXSAiemlsaW5kcm9hIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3JlYSIKK21zZ3N0clsxXSAic2VrdG9yZWEiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTM4OAorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxMworIywgZnV6enkKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICJiZXJpcmFrdXJyaSBwYXJ0aXppbyB0YXVsYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDAKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbm5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcnRpemlvIHByaW1hcmlvIHR4YXJyYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSByYXcgZGF0dSBmb3JtYXR1YSBlcmFiaWxpeiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiVzIGNvbnRhaW5zIG5vIGRpc2tsYWJlbC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcyNgorIywgZnV6enkKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiQWxkYXR1IGRpc2tvYXJlbiBnZW9tZXRyaWEgKGVyYWJpbHR6YWlsZSBhdXJyZXJhdHVhayBzb2lsaWspIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJEaXNrbyBpZGVudGlmaWthdHphaWxlYTogMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlBhcnRpemlvIGdlaGllZ2kiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJtZW1vcmlhdGlrIGthbnBvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGl6aW8gbG9naWtvIHR4YXJyYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0aXppb2EgMCBzZWt0b3JlYSBiYWluYSBsZWhlbmFnbyBoYXN0ZW4gZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIlcyBwYXJ0aXppb2FrIGhhc2llcmFrbyAwIHNla3RvcmUgYmFsaW9nYWJlYSBkYXVrYS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiIgorIlxuIgorIlN3YXAgcGFydGl6aW9hayBleiBkYSBzd2FwIG1vZXRha29hLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJwYXJ0aXppbyBsb2dpa29hayBleiBkYXVkZSBkaXNrbyBvcmRlbmVhbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzEKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3RzLiBGYWlsZWQgdG8gYWRkIGxvZ2ljYWwgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY2NworIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiR2VoaWVuZXprbyBwYXJ0aXppbyBrb3B1cnVhIHNvcnR1IGRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgzIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk0CisjLCBmdXp6eQorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKKyMsIGZ1enp5Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgInBhcnRpemlvIGxvZ2lrb2FrIGV6IGRhdWRlIGRpc2tvIG9yZGVuZWFuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiUGFydGl6aW8gemVuYmFraWEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiUHJpbWFyaW9hIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorIywgZnV6enkKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiRXh0ZW5kZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJQYXJ0aXppbyBsb2dpa28gdHhhcnJhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMb2dpa29hIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworIywgZnV6enkKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgInBhcnRpemlvIGxvZ2lrb2VuIHRlaWxha2FwZW5hIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiJWQgYmFsaW9nYWJla28gZWtpbnR6YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJlemluIGRhICVzIGB0eXBlc2NyaXB0JyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorIywgZnV6enkKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIkRpc2tvIGlkZW50aWZpa2F0emFpbGVhOiAweCUwOHhcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICIiCisiXG4iCisiU3dhcCBwYXJ0aXppb2FrIGV6IGRhIHN3YXAgbW9ldGFrb2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3CisjLCBmdXp6eQorbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiICAgZSAgIGRpc2tvYXJlbiBkYXRhIGVkaXRhdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZXppbiBkYSBlcmFiaWxpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlVuZWtvIHBhcnRpemlvYXJlbiBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBhbGRhdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlVuZWtvIHBhcnRpemlvYXJlbiBhYmlhcmF6Z2FycmkgYWRpZXJhemxlYSBhbGRhdHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiR2FpbHVhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJBYmlvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNQorbXNnaWQgIklkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0CisjLCBmdXp6eQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICJoYXNpZXJhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIlBhcnRpemlvIHplbmJha2lhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgVW5la28gcGFydGl6aW9hcmkgYWJpYXJhemdhcnJpIGFkaWVyYXpsZWEgamFycmkgZWRvIGtlbmR1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFVuZWtvIHBhcnRpemlvYXJpIGFiaWFyYXpnYXJyaSBhZGllcmF6bGVhIGphcnJpIGVkbyBrZW5kdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICBkICAgICAgICAgIFVuZWtvIHBhcnRpemlvYSBlemFiYXR1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gZ2VoaWFnbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MworIywgZnV6enkKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorIywgZnV6enkKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXggZXh0MiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMiBsaWJmZGlzay9zcmMvc2dpLmM6NjMKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IGV4dGVuZGVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorIywgZnV6enkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIm9ycmkgdHhhciBnZWhpZWdpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorIywgZnV6enkKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworIywgZnV6enkKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3RpY3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NworIywgZnV6enkKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0LWVrIGh1dHMgZWdpbiBkdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiTGVoZW5lbmdvICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzMworIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIEF6a2VuICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQ1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1MgorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBkaXNrb2FuIGlkYXp0ZW4uLi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTE0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTEKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiVzIGRpc2thayBleiBkYXVrYSBwYXJ0aXppbyB0YXVsYSB6dXplbmFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIiVkIGJhbGlvZ2FiZWtvIGVraW50emFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQYXJ0aXppb2EgMCBzZWt0b3JlYXJlbiBvbmRvcmVuIGFtYWl0emVuIGRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiRXogZGEgcGFydGl6aW9yaWsgZGVmaW5pdHVcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCittc2dzdHJbMV0gIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGVycm9yIGRldGVjdGVkLiIKK21zZ2lkX3BsdXJhbCAiJWQgZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzI2CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgzIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkV6IHNvcnR1IHBhcnRpemlvIGJhdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIiVzIGNvbnRhaW5zIG5vIGRpc2tsYWJlbC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NDYKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIlcyBwYXJ0aXppb2FrIGhhc2llcmFrbyAwIHNla3RvcmUgYmFsaW9nYWJlYSBkYXVrYS5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgdG8gYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIkdlaGllbmV6a28gcGFydGl6aW8ga29wdXJ1YSBzb3J0dSBkYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiZXppbiBkYSBmb3JrIGVnaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBkaXNrb2FuIGlkYXp0ZW4uLi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGV6aW4gZGEgZXJhYmlsaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGV6aW4gZGEgZXJhYmlsaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJNb2V0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMyNAorbXNnaWQgIk5hbWUiCittc2dzdHIgIkl6ZW5hIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4CisjLCBmdXp6eQorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIkxla3UgbGlicmVhIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTggbWlzYy11dGlscy9maW5kbW50LmM6NjU1CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5OSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNyBzY2hlZHV0aWxzL2NocnQuYzoyMDUKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJlemV6YWd1bmEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NgorbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBleHQyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiU2FydHUgcGlzdGFrbyB6ZW5iYXQgc2VrdG9yZSBrb3B1cnVhOiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiKEh1cnJlbmdvIGZpdHhhdGVnaWE6ICVzKSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTMKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisiXG4iCisiVW5la28gYWJpbyBmaXR4YXRlZ2lhOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJNZXNlZGV6IHNhcnR1IGFiaW8gZml0eGF0ZWdpIGJlcnJpYXJlbiBpemVuYToiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdEFiaW8gZml0eGF0ZWdpYSBcIiVzXCItKGUpcmEgYWxkYXR1IGRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk1Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiRXogZGEgcGFydGl6aW9yaWsgZGVmaW5pdHVcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorIywgZnV6enkKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKK21zZ3N0clsxXSAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gYW1haXR6ZW4gZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiQmFsaW9nYWJla28gc2VrdG9yZSBiYWxvcmVhayIKK21zZ3N0clsxXSAiQmFsaW9nYWJla28gc2VrdG9yZSBiYWxvcmVhayIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworIywgZnV6enkKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICIiCisiXG4iCisiU3dhcCBwYXJ0aXppb2FrIGV6IGRhIHN3YXAgbW9ldGFrb2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlx0T2hpeiBrYW5wb2tvIGFiaW8gZml0eGF0ZWdpIGl6ZW5hIGF1a2VyYXR1IGR1enUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0MworbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCisjLCBmdXp6eQorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gYW1haXR6ZW4gZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiTGVoZW5lbmdvICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkF6a2VuICVzLShlKWEgZWRvICt0YW1haW51YSBlZG8gK3RhbWFpbnVhTSBlZG8gK3RhbWFpbnVhSyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NCBsaWJmZGlzay9zcmMvc3VuLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyBjb250YWlucyBubyBkaXNrbGFiZWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDY5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJFemFycmkgZ2FiZWEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIHJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJEaXNrbyBvc29hIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0IHNlY3RvcnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGNhY2hlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzMAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiQnVydWFrIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VrdG9yZWFrIHBpc3Rha28iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiJXMgY29udGFpbnMgbm8gZGlza2xhYmVsLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIlcyBwYXJ0aXppb2FrIGhhc2llcmFrbyAwIHNla3RvcmUgYmFsaW9nYWJlYSBkYXVrYS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIkJhbGlvZ2FiZWtvIHNla3RvcmUgYmFsb3JlYWsiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJCYWxpb2dhYmVrbyBzZWt0b3JlIGJhbG9yZWFrIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjMKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgImV0aWtldGE6ICUuKnNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorIywgZnV6enkKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIkJvbHVtZW5hOiA8JS02cz5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc3OAorIywgZnV6enkKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg4NAorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIlNhcnR1IHBpc3Rha28gemVuYmF0IHNla3RvcmUga29wdXJ1YToiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIkJpcmEgbWludXR1a28gKHJwbSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5ODEKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ2Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0LmM6MjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiRGlza29hIGFsZGF0dSBlZ2luIGRhLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIiVzOiBlemluIGRhICVzIGVzdGVrYXR1OiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiCittc2dzdHIgIiVzOiBlemluIGRhICVzIGVzdGVrYXR1OiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICIlczogZXppbiBkYSAlcyBlc3Rla2F0dTogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIGZpbGVzeXN0ZW0gdHlwZSBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICIlczogZXppbiBkYSAlcyBlc3Rla2F0dTogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiJXM6ICVzIGV6IGRhIGxwIGdhaWx1YS5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE0IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvY2tpbmcgZmFpbGVkIgorbXNnc3RyICJleGVjICVzLShlKWsgaHV0cyBlZ2luIGR1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudDogbW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImVycm8gaW5vZG9hIGV6IGRhIGRpcmVrdG9yaW9hIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJtb3VudDogJXMgb2t1cGF0dWEgZGFnbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIkRpc2tvYSBhbGRhdHUgZWdpbiBkYS5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAiRGlza29hIGFsZGF0dSBlZ2luIGRhLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJtb3VudDogJXMgbXVudGF1IHB1bnR1YSBleiBkYSBleGlzdGl0emVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorIlxuIgorIkV6IGRhIHN3YXAgcGFydGl6aW9yaWsgZXhpc3RpdHplbi5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgInVtb3VudDogJXM6IGV6IGRhZ28gbW9udGF0dXRhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBleiBkYWdvIG1vbnRhdHV0YSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkIG1vdW50IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcywgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIm11bnRhaSB0YXVsYSBiZXRldGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICJoZXhkdW1wOiBlemluIGRhICVzICBpcmFrdXJyaS5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBtb2V0YSBlemV6YWd1bmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJlemluIGRhIGJhZGJsb2NrcyBmaXR4YXRlZ2lhIGlyYWt1cnJpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJlemluIGRhIFwiJXNcIiBpcmVraSBpcmFrdXJrZXRhcmFrbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMtKGUpayBodXRzIGVnaW4gZHUuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICIgICB0ICAgYWxkYXR1IHBhcml0emlvYXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBJRGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtb3VudDogbW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQ6IG1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiaGV4ZHVtcDogZXppbiBkYSAlcyAgaXJha3VycmkuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICJtb3VudDogJXMgb2t1cGF0dWEgZGFnbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsaWIvcGF0aC5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogZXogZGFnbyBob3JyZWxha28gcGFydGl6aW9yaWtcbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICJmaXR4YXRlZ2kgc2lzdGVtYXJlbiBldXNrYXJyaXJpayBnYWJla28gZXphdWdhcnJpYWsiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NTkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgIiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lICVsZCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJtZW1vcmlhdGlrIGthbnBvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYgbG9naW4tdXRpbHMvY2hzaC5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJlcmVtdWEgbHV6ZWVnaWEgZGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjcgbG9naW4tdXRpbHMvY2hzaC5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiQnVsZWdvYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIkJ1bGVnb2tvIHRlbGVmb25vIHplbmJha2lhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzYgbG9naW4tdXRpbHMvY2hmbi5jOjMzMAorbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIkV0eGVrbyB0ZWxlZm9ubyB6ZW5iYWtpYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE5NCBsb2dpbi11dGlscy9jaHNoLmM6MTg3Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtdWx0aXBsZSB1c2VybmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI0OAorIywgZnV6enkKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiIgorIlxuIgorIkFib3J0YXR1YS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJJcnRldGVuIC0gZXogZGEgZXplciBhbGRhdHVcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkV6IGRhIHN3YXAgcGFydGl6aW9yaWsgZXhpc3RpdHplbi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMSBsb2dpbi11dGlscy9jaHNoLmM6Mjc4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gdGF1bGFyaWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgInJlbmljZTogJXM6IGVyYWJpbHR6YWlsZSBlemV6YWd1bmFcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NjkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIiVzLShyKWVuIHBhcnRpemlvIHRhdWxhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiJyVjJyBleiBkYWdvIG9uYXJ0dXRhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIltFcmFiaWxpIHEgZWRvIFEgaXJ0ZXRla29dIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIiVzLShyKWVuIHBhcnRpemlvIHRhdWxhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJFZ29lcmEgYmVycmlhOlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgImVyYWJpbGVyYTogJXMgW2ZpdHhhdGVnaWFdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI3NiBsb2dpbi11dGlscy9sYXN0LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzUgbG9naW4tdXRpbHMvbGFzdC5jOjQ0NiBsb2dpbi11dGlscy9sYXN0LmM6ODkyCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2CisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzXG4iCittc2dzdHIgIlBhcnRpemlvYSAwIHNla3RvcmVhIGJhaW5hIGxlaGVuYWdvIGhhc3RlbiBkYSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIm1vdW50OiBlemluIGRhICVzIGlyZWtpOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93bi0oZSlrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2OiBjaGRpcigpLWVrIGh1dHMgZWdpbiBkdTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJmaXR4YXRlZ2kgbHV6ZWVyYSBva2VycmEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgIiVzLShlKXRpayByZW5pY2UtZWFcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgc3Rkb3V0LWVyYSBpZGF6dGVuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICIlcy0ocillbiBkaXNrbyBldGlrZXRhIGlyYWt1cnR6ZW4gJWQgc2VrdG9yZWFuLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzk3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIlBhc2FoaXR6IG9rZXJyYS4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICJQYXNhaGl0eiBva2VycmEuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJzdGF0LWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorIywgZnV6enkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIlBvc3RhIGVsZWt0cm9uaWtvIGJlcnJpYSBkdXp1LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzQKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3NgorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3OAorIywgZnV6enkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiPGk+IChleiBkYWdvIGlyYWRva2l6dW5paykgPC9pPiIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MzgzCittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2IHN5cy11dGlscy9sc2NwdS5jOjE0NDYKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgIm5vIgorbXNnc3RyICJleiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorIywgZnV6enkKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworIywgZnV6enkKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAiQmFsaW9nYWJla28gdGVrbGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorIywgZnV6enkKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJlcmFiaWx0emFpbGVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlBhc2FoaXR6IGVycm9yZWEuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlBhc2FoaXR6IGVycm9yZWEuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiUGFzYWhpdHphOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltYXJpb2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICI8aT4gKGV6IGRhZ28gaXJhZG9raXp1bmlrKSA8L2k+IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiPGk+IChleiBkYWdvIGlyYWRva2l6dW5paykgPC9pPiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImxlaGVuIGxlcnJvYXJlbiBvbmRvcmVuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIHN0ZG91dC1lcmEgaWRhenRlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJQYXNhaGl0eiBlcnJvcmVhLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIlBhc2FoaXR6YTogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJFeiBkYWdvIHBhcnRpemlvIHRhdWxhcmlrLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IGV6aW4gZGEgXCIlc1wiIHByb3plc3VhIGF1cmtpdHVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA2OAorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgImJhcm5lIGVycm9yZWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJhXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQzNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIlBhc2FoaXR6YTogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgIm1hbGxvYygpLWVrIGh1dHMgZWdpbiBkdSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjEzCittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNyBsb2dpbi11dGlscy9uZXdncnAuYzoyMjkgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzQKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2CisjLCBmdXp6eQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mjc4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jKCktZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwNgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKKyMsIGZ1enp5Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJQYXNhaGl0eiBva2VycmEuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NzkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3ODcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3OTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiZXppbiBkYSBsZXJyb2FyZW4gZGlzemlwbGluYSBlemFycmkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiZXppbiBkYSBsZXJyb2FyZW4gZGlzemlwbGluYSBlemFycmkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgxMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBtYXNrIgorbXNnc3RyICJlemluIGRhIGxlcnJvYXJlbiBkaXN6aXBsaW5hIGV6YXJyaSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAiZXppbiBkYSAlcyBpZC1hIGV6YWJhdHUgKCVzKVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIlcy0oZSlrIGh1dHMgZWdpbiBkdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdXNlciBjcmVkZW50aWFsczogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIExBQkVMPTxldGlrZXRhPnxVVUlEPTx1dWlkPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4Cittc2dpZCAiIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgImVyYWJpbGVyYTogJXMgYXBsaWthemlvYSBbYXJndW1lbnR1YSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKyJcbiIKKyJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzU1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0LWVrIGh1dHMgZWdpbiBkdSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworIywgZnV6enkKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICIlczogc3RhdC1layBodXRzIGVnaW4gZHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogZXppbiBkYSBmb3JrIGVnaW5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc4MgorIywgZnV6enkKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAiZXhlY3YtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDYKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA5Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJtb3VudDogZXppbiBkYSAlcyBpcmVraTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiJXM6IE1lbW9yaWF6IGthbnBvIVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA0OQorIywgZnV6enkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IGV6aW4gZGlyYSBpbm90aWZ5IGdlcnRhZXJhayBpcmFrdXJyaSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJlemluIGRhICVzIGB0aW1pbmcnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiYWxkYXR1dGEiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJlemluIGRhIGZvcmsgZWdpbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gdGF1bGFyaWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIgorbXNnc3RyICIlcy0oZSl0aWsgcmVuaWNlLWVhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC0tbGFiZWwgPGxhYmVsPiB8IC0tdXVpZCA8dXVpZD5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyBbLS1jYWNoZS1maWxlIDxmaWxlPl0gWy1naGxMdl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSBbLS1tYXRjaC10YWcgPHRhZz5dIFxuIgorIiAgICAgICBbLS1tYXRjaC10b2tlbiA8dG9rZW4+XSBbPGRldj4gLi4uXVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb2Zmc2V0IDxvZmZzZXQ+XSBbLS1zaXplIDxzaXplPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyAtaSBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgzCittc2dpZCAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxmaWxlPiAgICByZWFkIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBkZWZhdWx0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUgZmlsZSAoLWMgL2Rldi9udWxsIG1lYW5zIG5vIGNhY2hlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorbXNnaWQgIiAtaywgLS1saXN0LWZpbGVzeXN0ZW1zICAgICBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MAorbXNnaWQgIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTEKK21zZ2lkICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRva2VuPiAgZmluZCBkZXZpY2Ugd2l0aCBhIHNwZWNpZmljIHRva2VuIChOQU1FPXZhbHVlIHBhaXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBsb29rIHVwIG9ubHkgZmlyc3QgZGV2aWNlIHdpdGggdG9rZW4gc3BlY2lmaWVkIGJ5IC10XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICAgICBjb252ZXJ0IExBQkVMIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgZGV2aWNlKHMpIHRvIHByb2JlIChkZWZhdWx0OiBhbGwgZGV2aWNlcylcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiTG93LWxldmVsIHByb2Jpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiAgIGwgICB6ZXJyZW5kYXR1IGV6YWd1dHplbiBkaXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YWsiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICJNYXJrYXR1IGVyYWJpbGlhIGRhZ29lbGEiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImVycm9yZWE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpdmFsZW50IHJlc3VsdCAocHJvYmFibHkgbW9yZSBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlLCB1c2Ugd2lwZWZzKDgpIHRvIHNlZSBtb3JlIGRldGFpbHMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24ga2V5d29yZCBpbiAtdSA8bGlzdD4gYXJndW1lbnQ6ICclcyciCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzgzCittc2dpZCAiLXQgbmVlZHMgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAiYmFsaW9nYWJla28gZWd1biBiYWxvcmVhOiBlcmFiaWxpIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiQmFsaW9nYWJlb2sgYnVydSBiYWxvcmVhayIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzcgbWlzYy11dGlscy9jYWwuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJiYWxpb2dhYmVrbyBlZ3VuIGJhbG9yZWE6IGVyYWJpbGkgMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODEgbWlzYy11dGlscy9jYWwuYzo0ODkKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiUGFydGl6aW8gdGF1bGEgbW9ldGEgZXplemFndW5hIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NgorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIkJhbGlvZ2FiZW9rIGJ1cnUgYmFsb3JlYWsiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgImJhbGlvZ2FiZWtvIGVndW4gYmFsb3JlYTogZXJhYmlsaSAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICJiYWxpb2dhYmVrbyBlZ3VuIGJhbG9yZWE6IGVyYWJpbGkgMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTgKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTkKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAyCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA2Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDcKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIHVzZSBkYXktb2YteWVhciBmb3IgYWxsIGNhbGVuZGFyc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgcmF3IGRhdHUgZm9ybWF0dWEgZXJhYmlsaXoiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorIywgZnV6enkKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTMKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gcGFnZXMiCittc2dzdHIgImV6aW4gZGEgJXMgaWQtYSBlemFiYXR1ICglcylcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiZXppbiBkYSAlcyBpZC1hIGV6YWJhdHUgKCVzKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MworIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBmaWxlIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorIywgZnV6enkKK21zZ2lkICJmaWxlIG5hbWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtaW5jb3JlOiAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgImJsb2tlIGdhaWx1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIlBhcnRpemlvIHplbmJha2lhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorIywgZnV6enkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAicmVhZC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJtb3VudDogbW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW86XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAicmVhZC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAiIEV6YWJhdHUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxNCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc3IHN5cy11dGlscy9lamVjdC5jOjcxNAorIzogc3lzLXV0aWxzL21vdW50LmM6MzI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJoZXhkdW1wOiBlemluIGRhICVzICBpcmFrdXJyaS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MoKS1layBodXRzIGVnaW4gZHUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxCittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUgc3lzLXV0aWxzL2xzbnMuYzo5MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgICBsICAgemVycmVuZGF0dSBlemFndXR6ZW4gZGlyZW4gZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGFrIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICB6ZXJyZW5kYXR1IGV6YWd1dHplbiBkaXJlbiBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YWsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiPGk+IChleiBkYWdvIGlyYWRva2l6dW5paykgPC9pPiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMyCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAicmVhZC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImJsb2tlIGdhaWx1YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFdXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFdXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA1Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTkgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBtb2V0YSBlemV6YWd1bmEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAibW9ldGE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiY3JjIGVycm9yZWEiCittc2dzdHJbMV0gImNyYyBlcnJvcmVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBlcnJvcmVhIgorbXNnc3RyWzFdICIsIGVycm9yZWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwMgorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyMworbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKKyMsIGZ1enp5Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKKyMsIGZ1enp5Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImNvbDogLWwgYmFsaW9nYWJla28gYXJndW1lbnR1YSAlcy5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTEKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAiJXM6ICVzIHNlaW5hbGUgZXplemFndW5hXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg0Cittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiJXM6ICVzIHNlaW5hbGUgZXplemFndW5hXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI2MCBtaXNjLXV0aWxzL2tpbGwuYzoyNjMgbWlzYy11dGlscy9raWxsLmM6MjcyCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODQgbWlzYy11dGlscy9raWxsLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAiJXM6IGV6aW4gZGEgXCIlc1wiIHByb3plc3VhIGF1cmtpdHVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnR1YSBsdXplZWdpYSBkYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICJzb2NrZXQ6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjgKKyMsIGZ1enp5Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG9jYXRlLWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZXJlbXVhIGx1emVlZ2lhIGRhLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImVyZW11YSBsdXplZWdpYSBkYS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMzCittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3Cittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDEKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDIKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQzCittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDYKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ3Cittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ4CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIlNhcnR1IGJ1cnUga29wdXJ1YToiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICIoSHVycmVuZ28gZml0eGF0ZWdpYTogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJyZW5pY2U6ICVzOiBiYWxpbyBva2VycmFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTkKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NyBzeXMtdXRpbHMvenJhbWN0bC5jOjg2Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiUGFydGl6aW8gemVuYmFraWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3IHN5cy11dGlscy9sb3NldHVwLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiZXphcnJpIGlyYWt1cnR6ZWtvIHNvaWxpayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorIywgZnV6enkKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICIga2VuZ2FycmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAibG9ydHUgaXJha3Vya2V0YSBzb2lsaWsiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorIywgZnV6enkKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJsb3J0dSBibG9rZSBmaXNpa29hcmVuIChzZWt0b3JlYSkgdGFtYWludWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAibG9ydHUgYmxva2UgbG9naWtvYXJlbiAoc2VrdG9yZWEpIHRhbWFpbnVhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJsb3J0dSBpcmFrdXJrZXRhIHNvaWxpayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIkFsZGF0dSBkaXNrb2FyZW4gZ2VvbWV0cmlhIChlcmFiaWx0emFpbGUgYXVycmVyYXR1YWsgc29pbGlrKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDQKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNQorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2CisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiTG9vcCBnYWlsdWEgJXMgZGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICJIeXBlcnZpc29yLWVhcmVuIGZhYnJpa2F0emFpbGVhOiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk0CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OCBzeXMtdXRpbHMvbHNtZW0uYzo1MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10cmVlICAgICAgICAgICB1c2UgdHJlZSBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTkKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MQorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAiRXppbiBkYSBpcmVraSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCisjLCBmdXp6eQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjI2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiZXplemFndW5hIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTgKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NgorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyWzFdICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiZXhlYyAlcy0oZSlrIGh1dHMgZWdpbiBkdSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHJbMV0gIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgImVycm8gaW5vZG9hIGV6IGRhIGRpcmVrdG9yaW9hIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnR1YSBsdXplZWdpYSBkYVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG9wZW4tZWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGxpbms6IGAlcydcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrLWVrIGh1dHMgZWdpbiBkdSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiLi4uZml0eGF0ZWdpcmEgc2FsdG8gZWdpdGVuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgInVuc2hhcmVkLWVrIGh1dHMgZWdpbiBkdSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDQKK21zZ2lkICIgLW8sIC0tbm8tb3ZlcndyaXRlICBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgICBsICAgemVycmVuZGF0dSBlemFndXR6ZW4gZGlyZW4gZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGFrIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIlNhcnR1IGJ1cnUga29wdXJ1YToiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIlNhcnR1IGJ1cnUga29wdXJ1YToiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1Cittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgInNhcnJlcmEgb2tlcnJhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworbXNnaWQgIndyaXRlIgorbXNnc3RyICJpZGF0emkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAicmVhZC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgImZpdHhhdGVnaSBsdXplZXJhIG9rZXJyYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAiRXppbiBkYSAlcyBpcmVraTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiRXppbiBkYSAlcyBpcmVraTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMDIKKyMsIGZ1enp5Cittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICIlczogTWVtb3JpYXoga2FucG8hXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJFemluIGRhICVzIGlyZWtpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCktZWsgaHV0cyBlZ2luIGR1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgwCittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MworIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAicmVhZC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICIlZCBiYWxpb2dhYmVrbyBla2ludHphXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiVzOiBiYWxpb2dhYmVrbyAlcyB0aW1lX3QgYmFsb3JlYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgImVycm9yZWE6IFVVSURhIGlyYWt1cnR6ZWFuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICJ1dWlkLXJpayBlelxuIgorbXNnc3RyWzFdICJ1dWlkLXJpayBlelxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIiVkIGJhbGlvZ2FiZWtvIGVraW50emFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICItLWRhdGUgYXJndW1lbnR1YSBsdXplZWdpYSBkYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU0IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICJlcnJvcmVhOiBVVUlEYSBpcmFrdXJ0emVhbiBodXRzIGVnaW4gZGEiCittc2dzdHJbMV0gImVycm9yZWE6IFVVSURhIGlyYWt1cnR6ZWFuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiVVVJRCB6ZXJyZW5kYTpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICJTb3J0dSBwYXJ0aXppbyBsb2dpa28gYmVycmkgYmF0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzUKK21zZ2lkICIgLU4sIC0tbmFtZSBuYW1lICAgICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgZnJvbSB0aGlzIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYXRlIHNoYTEgaGFzaFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICJBbGRhdHUgZGlza29hcmVuIGdlb21ldHJpYSAoZXJhYmlsdHphaWxlIGF1cnJlcmF0dWFrIHNvaWxpaykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAidmFyaWFudCBuYW1lIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE3MiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5MQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxODYKK21zZ2lkICJvdGhlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5NworbXNnaWQgIm5pbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwMgorbXNnaWQgInRpbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDgKK21zZ2lkICJuYW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjExCittc2dpZCAicmFuZG9tIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE0Cittc2dpZCAic2hhMS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI2NyBtaXNjLXV0aWxzL3dpcGVmcy5jOjE3MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzIyCisjOiBzeXMtdXRpbHMvbHNucy5jOjgwNiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjExCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjY0OAorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiLS1kYXRlIGFyZ3VtZW50dWEgbHV6ZWVnaWEgZGFcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvOlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICJmaXR4YXRlZ2kgbHV6ZWVyYSBva2VycmEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb2tlIGdhaWx1YSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2sgZGV2aWNlIG5hbWUiCittc2dzdHIgImJsb2tlIGdhaWx1YSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICJQYXJ0aXppbyB6ZW5iYWtpYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKK21zZ3N0clsxXSAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiBleiBkYSAlcyBhdXJraXR1IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmUiCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgICBsICAgemVycmVuZGF0dSBlemFndXR6ZW4gZGlyZW4gZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGFrIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFVuZWtvIHBhcnRpemlvYSBlemFiYXR1IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgVW5la28gcGFydGl6aW9hIGV6YWJhdHUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzEgc2NoZWR1dGlscy9jaHJ0LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAiIgorIlxuIgorIkJTRCBldGlrZXRhIGdhaWx1YXJlbnR6YXQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxOQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTM5CisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvLWdldC1layBodXRzIGVnaW4gZHUiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFdXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvLXNldC1layBodXRzIGVnaW4gZHUiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgImZpdHhhdGVnaSBsdXplZXJhIG9rZXJyYSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICIlczogYmFsaW9nYWJla28gJXMgdGltZV90IGJhbG9yZWFcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY2FsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI0IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4OAorbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzYgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3MworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTExIHN5cy11dGlscy9mc3RyaW0uYzozMzYKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJLREdIV0NMSyBpb2N0bC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworIywgZnV6enkKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTc3IHN5cy11dGlscy9ibGt6b25lLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiAgIHcgICBpZGF0emkgZGlza29hcmVuIGV0aWtldGEgZGlza29hbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiS0RHSFdDTEsgaW9jdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIgJXM6IHdyaXRlLWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDIKK21zZ2lkICJSdW4gem9uZSBjb21tYW5kIG9uIHRoZSBnaXZlbiBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jb3VudCA8bnVtYmVyPiAgIG1heGltdW0gbnVtYmVyIG9mIHpvbmVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTIKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IHZhbGlkIGNvbW1hbmQgbmFtZSIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgc3BlY2lmaWVkIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICInJWMnIGV6IGRhZ28gb25hcnR1dGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiJyVjJyBleiBkYWdvIG9uYXJ0dXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiJyVjJyBleiBkYWdvIG9uYXJ0dXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICInJWMnIGV6IGRhZ28gb25hcnR1dGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICInJWMnIGV6IGRhZ28gb25hcnR1dGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiYmFsaW9nYWJla28gbGVycm8ga29wdXJ1YSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTYgc3lzLXV0aWxzL2NobWVtLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBhZGRyZXNzIGFuZCAoZW5kIGFkZHJlc3MgKyAxKSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJhbmdlOiAlcyIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpc2FibGUgICAgICBkaXNhYmxlIG1lbW9yeVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NworbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDI5Cittc2dpZCAiem9uZSBpZ25vcmVkLCBubyB2YWxpZF96b25lcyBzeXNmcyBhdHRyaWJ1dGUgcHJlc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbWVtb3J5IHpvbmU6ICVzIgorbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBtb2V0YSBlemV6YWd1bmEiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiIgorIkVyYWJpbGVyYTpcbiIKKyIgICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTUgc3lzLXV0aWxzL2lwY3JtLmM6NDE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJQYXJ0aXppbyBoYXUgZXppbiBkYSBlcmFiaWxpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJlcnJvcmVhICVzIGl0eGl0emVyYWtvYW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5CisjLCBmdXp6eQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAiRXppbiBkYSBpcmVraSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIkV6aW4gZGEgaXJla2kiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODAKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTQKK21zZ2lkICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAyCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ4OAorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUxMQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MjYKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiaXJha3VycmkgcnRjIG9yZHVhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJtc2djdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiIgorIkVyYWJpbGVyYTogJXMlcyBbYXVrZXJha10gW2FwbGlrYXppb2EgW2FwbGlrYXppb2EgYXJndW1lbnR1YWtdXVxuIgorIlxuIgorIkF1a2VyYWs6XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzOAorIywgZnV6enkKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIiBrZW5nYXJyaWEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MQorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVkIGFiaWFkdXJhayBleiBkdSBldXNrYXJyaXJpayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjEKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg1Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg3Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJWQgYWJpYWR1cmFrIGV6IGR1IGV1c2thcnJpcmlrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzgKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgzCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJFemluIGRhIGJpbGF0dSBkaXNrbyB1bml0YXRlYW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIm1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjczCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiAlcyBtdW50YXUgcHVudHVhIGV6IGRhIGV4aXN0aXR6ZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgIkxvb3AgZ2FpbHVhICVzIGRhXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAiTG9vcCBnYWlsdWEgJXMgZGFcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgIiVzOiAlczogZ2FpbHVhIG9rdXBhdHVhIGRhZ28iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgImV4ZWN2LWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImh1dHMgZWdpbiBkYSAlcyBleGVrdXRhdHplbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NworbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG9jYXRlLWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiBvcGVuLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorIywgZnV6enkKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiAtbCBiYWxpb2dhYmVrbyBhcmd1bWVudHVhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiYmxva2UgZ2FpbHVhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2VndW5kdVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIiCisiRXJhYmlsZXJhOiAlcyVzIFthdWtlcmFrXSBbYXBsaWthemlvYSBbYXBsaWthemlvYSBhcmd1bWVudHVha11dXG4iCisiXG4iCisiQXVrZXJhazpcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKKyMsIGZ1enp5Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ4Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA1Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImVycm8gaW5vZG9hIGV6IGRhIGRpcmVrdG9yaW9hIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIgJXM6IHdyaXRlLWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiAlczogd3JpdGUtayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJybyBpbm9kb2EgZXogZGEgZGlyZWt0b3Jpb2EiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiAlczogd3JpdGUtayBodXRzIGVnaW4gZHUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIiCisiRXJhYmlsZXJhOiAlcyVzIFthdWtlcmFrXSBbYXBsaWthemlvYSBbYXBsaWthemlvYSBhcmd1bWVudHVha11dXG4iCisiXG4iCisiQXVrZXJhazpcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorIywgZnV6enkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVkIGFiaWFkdXJhayBleiBkdSBldXNrYXJyaXJpayIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjA0IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjA0IHN5cy11dGlscy9od2Nsb2NrLmM6MjY3Cittc2dpZCAibG9jYWwiCittc2dzdHIgImxva2FsYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIkhhcmR3YXJlYXJlbiBvcmR1bGFyaWFrICVzIGRhdGEgZGF1a2FcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJPcmR1bGFyaWFyZW4gdGljay1hcmkgaXR4YXJvdGVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uc2lua3Jvbml6YXppb2FrIGh1dHMgZWdpbiBkdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiT3JkdWxhcmlhcmVuIHRpY2stYXJpIGl0eGFyb3RlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgInNldHRpbWVvZmRheSgpLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCittc2dzdHIgInNldHRpbWVvZmRheSgpLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzYKK21zZ2lkICJ0byBzZXQgdGhlIGtlcm5lbCB0aW1lem9uZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKK21zZ2lkICJ0byB3YXJwIFN5c3RlbSB0aW1lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY1NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCktZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBzZWd1bmR1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4OQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlZGljdGVkIFJUQzogJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NzAKK21zZ2lkICJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM1CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byByZWFkIHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiRXppbiBkYSBiaWxhdHUgZGlza28gdW5pdGF0ZWFuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjYKK21zZ2lkICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBSVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY4CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zeXN0eiAgICAgICAgICBzZW5kIHRpbWVzY2FsZSBjb25maWd1cmF0aW9ucyB0byB0aGUga2VybmVsIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzIKK21zZ2lkICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBSVEMgZXBvY2ggYWNjb3JkaW5nIHRvIC0tZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc0Cittc2dpZCAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgdGhlIGRyaWZ0ZWQgUlRDIHRpbWUgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIFVUQyIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lPiAgICBkYXRlL3RpbWUgaW5wdXQgZm9yIC0tc2V0IGFuZCAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg2Cittc2dpZCAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIGVwb2NoIGlucHV0IGZvciAtLXNldGVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4OAorbXNnaWQgIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgdGhlIFJUQyBkcmlmdCBmYWN0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IHVzZSAlMSRzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExODYKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEwCittc2dpZCAidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBoYXMgYmVlbiBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50dSBnZWhpZWdpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjkKK21zZ2lkICItLWRhdGUgaXMgcmVxdWlyZWQgZm9yIC0tc2V0IG9yIC0tcHJlZGljdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgImlvcGwoKSBwb3J0IGFjY2VzcyBmYWlsZWQiCittc2dzdHIgIiVzLShyKWVuZ2FuIG9wZW4oKSBlZ2l0ZWFrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5NworbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICIlcyBkZXNtdW50YXR6ZW4gc2FpYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTUwIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaXJha3Vycmkgc2lzdGVtYXJlbiBvcmR1YSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaXJha3Vycmkgc2lzdGVtYXJlbiBvcmR1YSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKK21zZ2lkICJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGVwb2NoICclcycuIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc2Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo3MTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgImV6aW4gZGEgJXMgaWQtYSBlemFiYXR1ICglcylcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJTZW1hZm9ybyBpZC1hOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiZXppbiBkYSAlcyBpZC1hIGV6YWJhdHUgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiZXppbiBkYSAlcyBpZC1hIGV6YWJhdHUgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiU2VtYWZvcm8gaWQtYTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1CisjLCBmdXp6eQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIlNha2F0dSBlZG96ZWluIHRla2xhIGphcnJhaXR6ZWtvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAic2Vlay1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiQmFsaW9nYWJla28gdGVrbGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIm1lbW9yaWF0aWsga2FucG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIlRhbWFpbnVhIChNQnRhbik6ICIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAibWVtb3JpYXRpayBrYW5wbyIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAicGVybXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mjg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJvd25lciIKK21zZ3N0ciAiamFiZWEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgImtvbmVrdGF0dXRhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJkZXNrb25la3RhdHV0YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJhbGRhdHV0YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIm1lbW9yaWF0aWsga2FucG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAibWVtb3JpYXRpayBrYW5wbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKKyMsIGZ1enp5Cittc2dpZCAia2V5IgorbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImJ5dGVzIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiRXphcnJpZ2FiZWEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjk4OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDAxCittc2dpZCAibG9ja2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICIlNmxkIHpvbmEgZXJhYmlsaXRhICglbGQlJSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKKyMsIGZ1enp5Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKKyMsIGZ1enp5Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAibnNlbXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJCdXJ1IGtvcHVydWEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIm1lbW9yaWF0aWsga2FucG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCisjLCBmdXp6eQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgImxvcnR1IHRhbWFpbnVhIGJ5dGUtdGFuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIm1lbW9yaWF0aWsga2FucG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICIlNmxkIHpvbmEgZXJhYmlsaXRhICglbGQlJSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODgKKyMsIGZ1enp5Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5CisjLCBmdXp6eQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAicmVjdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgImFsZGF0dSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKKyMsIGZ1enp5Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJgJXMnIGZpdHhhdGVnaWFrICUwNW8gbW9kdWEgZGF1a2FcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIywgZnV6enkKK21zZ2lkICJieXRlcz0iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk5IHN5cy11dGlscy9pcGNzLmM6NjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKKyMsIGZ1enp5Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgImAlcycgZml0eGF0ZWdpYWsgJTA1byBtb2R1YSBkYXVrYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAiJWxkIGlub2RvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAiYmFsaW9hIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzLShlKWsgaHV0cyBlZ2luIGR1LlxuIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiV6ZCBieXRlIFsiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiV6ZCBieXRlIFsiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJlemluIGRhIGxlcnJvYXJlbiBkaXN6aXBsaW5hIGV6YXJyaSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJWQgYWJpYWR1cmFrIGV6IGR1IGV1c2thcnJpcmlrIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAiRXppbiBkYSBpcmVraSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorIywgZnV6enkKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzUKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppbzpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJsb3J0dSBpcmFrdXJrZXRhIHNvaWxpayIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImxvcnR1IGJsb2tlIGxvZ2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiICB0ICAgICAgICAgIEFsZGF0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczogc3RhdC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTgKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6ICVzIGV6IGRhIGxwIGdhaWx1YS5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTQyIHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiIgorIlxuIgorIkJTRCBldGlrZXRhIGdhaWx1YXJlbnR6YXQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgImJlcmlyYWt1cnJpIHBhcnRpemlvIHRhdWxhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorIywgZnV6enkKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0LWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKK21zZ2lkICJub25lIgorbXNnc3RyICJleiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk3Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAibG9ydHUgYmxva2UgbG9naWtvYXJlbiAoc2VrdG9yZWEpIHRhbWFpbnVhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJsb3J0dSBibG9rZSBsb2dpa29hcmVuIChzZWt0b3JlYSkgdGFtYWludWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTgKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgImxvcnR1IGJsb2tlIGxvZ2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAwCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDEKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMgorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNAorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDUKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJlcnJvcmVhOiB1bmFtZS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiZXppbiBkYSBsZXJyb2FyZW4gZGlzemlwbGluYSBlemFycmkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEzMDcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQzMyBzeXMtdXRpbHMvbHNjcHUuYzoxNDQzCittc2dpZCAiWSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKKyMsIGZ1enp5Cittc2dpZCAiTiIKK21zZ3N0ciAiTkMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MjQKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVWFyZW4gb3AtbW9kdWEoayk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0CisjLCBmdXp6eQorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVSBzb2NrZXRhazoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJDb3JlIGJha29pdHpla28gaGFyaSBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIlNvY2tldCBiYWtvaXR6ZWtvIGNvcmUga29wdXJ1YToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiU29ja2V0IGJha29pdHpla28gY29yZSBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMworbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxNQorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiQ1BVIHNvY2tldGFrOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyMgorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk5VTUEgbm9kdWFrOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIkZhYnJpa2F0emFpbGVhcmVuIElEYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiUGFydGl6aW8gemVuYmFraWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiQ1BVIGZhbWlsaWE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJNb2RlbG9hOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorIywgZnV6enkKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTW9kZWxvYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzQKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIlN0ZXBwaW5nLWE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorIywgZnV6enkKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiQmlydHVhbGl6YXppb2E6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0CisjLCBmdXp6eQorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIeXBlcnZpc29yLWVhcmVuIGZhYnJpa2F0emFpbGVhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiSHlwZXJ2aXNvci1lYXJlbiBmYWJyaWthdHphaWxlYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiQmlydHVhbGl6YXppbyBtb2V0YToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIlcyBjYWNoZWE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJOVU1BIG5vZHVhazoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODIKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgImxvcnR1IGJsb2tlIGZpc2lrb2FyZW4gKHNla3RvcmVhKSB0YW1haW51YSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OAorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkJhbmRlcmFrIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDcKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiQmFsaW9nYWJla28gdGVrbGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiT3duZXIiCittc2dzdHIgImphYmVhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlByaW1hcmlvYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgImVyYWJpbHR6YWlsZWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIk1hcmthdHUgZXJhYmlsaWEgZGFnb2VsYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiQnVydSBrb3B1cnVhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJsZWhlbiBsZXJyb2FyZW4gb25kb3JlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJsb3J0dSBibG9rZS10YW1haW51YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAia29uZWt0YXR1dGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiZGVza29uZWt0YXR1dGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgImVyYWJpbHR6YWlsZWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiU2VrdG9yZSBrb3B1cnVhIHBpc3Rha28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW1hZm9ybyBpZC1hOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiVkIGJhbGlvZ2FiZWtvIGVraW50emFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb2tlIGdhaWx1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJibG9rZSBnYWlsdWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiRXJhYmlsZXJhOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA0CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIkVyYWJpbGdhcnJpIGRhdWRlbiBrb21hbmRvYWs6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiRXJhYmlsZ2FycmkgZGF1ZGVuIGtvbWFuZG9hazpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiU2VrdG9yZSBrb3B1cnVhIHBpc3Rha28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiU2VrdG9yZSBrb3B1cnVhIHBpc3Rha28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIkVyYWJpbGdhcnJpIGRhdWRlbiBrb21hbmRvYWs6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2CisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJCdXJ1IGtvcHVydWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgImxvcnR1IHRhbWFpbnVhIGJ5dGUtdGFuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1CisjLCBmdXp6eQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiZXppbiBkYSAlcyBpZC1hIGV6YWJhdHUgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDczCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgImV6aW4gZGEgJXMgaWQtYSBlemFiYXR1ICglcylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibG9ydHUgdGFtYWludWEgYnl0ZS10YW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgImxvcnR1IHRhbWFpbnVhIGJ5dGUtdGFuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjgKK21zZ2lkICJzdGFydCBhbmQgZW5kIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBpcyByZW1vdmFibGUiCittc2dzdHIgIiBrZW5nYXJyaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICJNZW1vcmlhcmlrIGV6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MQorIywgZnV6enkKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgIiwgbGluZWFuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAib2ZmbGluZSIKK21zZ3N0ciAiLCBsaW5lYW4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIyIHN5cy11dGlscy9sc21lbS5jOjMyOQorIywgZnV6enkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgImxvcnR1IGJsb2tlLXRhbWFpbnVhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjMgc3lzLXV0aWxzL2xzbWVtLmM6MzMzCisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9ubGluZSBtZW1vcnk6IgorbXNnc3RyICJtZW1vcmlhdGlrIGthbnBvIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAibWVtb3JpYXRpayBrYW5wbz8iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICIiCisiXG4iCisiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY2NCBzeXMtdXRpbHMvbHNucy5jOjc4MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJTYXJ0dSB6aWxpbmRybyBrb3B1cnVhOiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDMKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDQKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDUKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3Cittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOQorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIlBhcnRpemlvIHRhdWxhIG1vZXRhIGV6ZXphZ3VuYSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcy0oZSl0aWsgcmVuaWNlLWVhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkxIHN5cy11dGlscy91bW91bnQuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiRGlza29hIGFsZGF0dSBlZ2luIGRhLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MyBzeXMtdXRpbHMvbW91bnQuYzoyNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICJmc2NrOiAlczogZXogZGEgYXVya2l0dVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMwNyBzeXMtdXRpbHMvdW1vdW50LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICJkaXNrb2E6ICUuKnNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBmdXp6eQorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiU2FydHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGE6ICIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIihIdXJyZW5nbyBmaXR4YXRlZ2lhOiAlcykiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU3Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMworbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBtb250YXR1YSBkYWdvLlx0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgImVyYWJpbGVyYTogJXMgYXBsaWthemlvYSBbYXJndW1lbnR1YSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MworbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTYKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM2MQorIywgZnV6enkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1hbGwiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiaXJha3Vycmkgc2lzdGVtYXJlbiBvcmR1YSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IGV6aW4gZGEgJXMtKHIpZW5nYW4gZXhlYyBlZ2luOiAlbSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgIm1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzdHJkdXAtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiIgorIkVyYWJpbGVyYTogJXMlcyBbYXVrZXJha10gW2FwbGlrYXppb2EgW2FwbGlrYXppb2EgYXJndW1lbnR1YWtdXVxuIgorIlxuIgorIkF1a2VyYWs6XG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiAgIHQgICBhbGRhdHUgcGFyaXR6aW9hcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIElEYSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworIywgZnV6enkKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJET1Mgc2Vjb25kYXJ5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIlRhbWFpbnVhIChNQnRhbik6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgIiVsZCBibG9rZVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIihIdXJyZW5nbyBmaXR4YXRlZ2lhOiAlcykiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IGV6aW4gZGEgXCIlc1wiIHByb3plc3VhIGF1cmtpdHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3CisjLCBmdXp6eQorbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgImdldHByaW9yaXR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJCYWxpb2dhYmVrbyB0ZWtsYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb2tlIGdhaWx1YSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAidW5pdHMiCittc2dzdHIgIlVuaXRhdGVhayIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJhXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NworbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3MAorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MAorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAibGVycm8gbHV6ZWVnaWEiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICIiCisiXG4iCisiQlNEIGV0aWtldGEgZ2FpbHVhcmVudHphdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJndXp0aXJhIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3NAorbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZDogJWQgcHJpb3JpdGF0ZSB6YWhhcnJhLCAlZCBwcmlvcml0YXRlIGJlcnJpYVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgInJlbmljZTogJXM6IGJhbGlvIG9rZXJyYVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIHZhbHVlIgorbXNnc3RyICJEaXNrbyBpZGVudGlmaWthdHphaWxlYTogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzEKK21zZ2lkICJkZXZpY2UgdHlwZSBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgYXMgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSB0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJibG9rZSBnYWlsdWEiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIHNvZnR3YXJlIGJsb2NrIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBoYXJkd2FyZSBibG9jayIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgc2l6ZSBvZiByZmtpbGwgZXZlbnQ6ICV6dSA8ICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwb2xsICVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjMxMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgIkRpc2tvIGlkZW50aWZpa2F0emFpbGVhOiAweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgIiVsZCBibG9rZVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICIlbGQgYmxva2VcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkRpc2tvIGlkZW50aWZpa2F0emFpbGVhOiAweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY5Cittc2dpZCAiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBjb21tYW5kIG5hbWVzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCwgZXhwbGFpbmluZworIy4gdGhlbSBhcyBhZGRpdGlvbmFsIGZpZWxkIGFmdGVyIGlkZW50aWZpZXIgaXMgZmluZSwgZm9yIGV4YW1wbGUKKyMuICoKKyMuIGxpc3QgICBbaWRlbnRpZmllcl0gICAobGlzdGEgW3Rhcmtlbm5lXSkKKyMuCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkyCittc2dpZCAiIGhlbHBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorIywgZnV6enkKK21zZ2lkICIgbGlzdCAgIFtpZGVudGlmaWVyXVxuIgorbXNnc3RyICJEaXNrbyBpZGVudGlmaWthdHphaWxlYTogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTUKKyMsIGZ1enp5Cittc2dpZCAiIGJsb2NrICAgaWRlbnRpZmllclxuIgorbXNnc3RyICJEaXNrbyBpZGVudGlmaWthdHphaWxlYTogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICJEaXNrbyBpZGVudGlmaWthdHphaWxlYTogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDQKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaXJha3VycmkgcnRjIG9yZHVhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaXJha3Vycmkgc2lzdGVtYXJlbiBvcmR1YSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIiVzOiBiYWxpb2dhYmVrbyAlcyB0aW1lX3QgYmFsb3JlYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJlemFycmkgcnRjIGFsYXJtYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAibG9ydHUgaXJha3Vya2V0YSBzb2lsaWsiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4IHN5cy11dGlscy9ydGN3YWtlLmM6NjQyCisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiZXphcnJpIHJ0YyBhbGFybWEiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICIlczogYmFsaW9nYWJla28gJXMgdGltZV90IGJhbG9yZWFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJyZWFkLWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICJzYXJyZXJhIG9rZXJyYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVVRDIG9yZHVhIGVyYWJpbHR6ZW4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiT3JkdSBsb2thbGEgZXJhYmlsdHplbi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzMKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiBlemluIGRpcmEgaW5vdGlmeSBnZXJ0YWVyYWsgaXJha3VycmkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1MworIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiZXJhYmlsZXJhOiAlcyBhcGxpa2F6aW9hIFthcmd1bWVudHVhIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NQorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OAorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBhcmd1bWVudHUgZ2VoaWVnaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzYwCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgInNhcnJlcmEgb2tlcnJhXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4CisjLCBmdXp6eQorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICJlcmFiaWxlcmE6ICVzIGFwbGlrYXppb2EgW2FyZ3VtZW50dWEgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExOQorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjYKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMgorIywgZnV6enkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM0Cittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgICAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICIlZCBiYWxpb2dhYmVrbyBla2ludHphXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHN5cy11dGlscy9zZXRwcml2LmM6NTUyCittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJleiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiTGVycm9hIGx1emVlZ2lhIGRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJleiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW3Vuc3VwcG9ydGVkXSIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MDAKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKS1rIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NjgKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIjxpPiAoZXogZGFnbyBpcmFkb2tpenVuaWspIDwvaT4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHJhdyBkYXR1IGZvcm1hdHVhIGVyYWJpbGl6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiclYycgZXogZGFnbyBvbmFydHV0YS5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJzZWVrLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NQorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkwCittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5NgorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODMyCittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM4Cittc2dpZCAiZHVwbGljYXRlIC0taW5pdC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1OQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NjUKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzcKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg4MworbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODk5Cittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIkV6IGRhIC0tZGF0ZSBhdWtlcmFyaWsgemVoYXp0dS5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1CisjLCBmdXp6eQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzdHJkdXAtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworIywgZnV6enkKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgImVyYWJpbGVyYTogJXMgYXBsaWthemlvYSBbYXJndW1lbnR1YSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNworbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgImZvcms6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiAlcyBtdW50YXUgcHVudHVhIGV6IGRhIGV4aXN0aXR6ZW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiVzICVzLShlKS1uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIkV6IHphcmEgc3VwZXItZXJhYmlsdHphaWxlYSIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9mZi1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM0Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiICBkICAgICAgICAgIFVuZWtvIHBhcnRpemlvYSBlemFiYXR1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJNYXJrYXR1IGVyYWJpbGlhIGRhZ29lbGEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAic2V0cHJpb3JpdHkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMgorIywgZnV6enkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJldGlrZXRhIGdhYmVhLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWstZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdldCBzaXplIGVnaXRlcmFrb2FuIGh1dHMgZWdpbiBkYSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICIlcyAlcy0oZSktblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIgICB3ICAgaWRhdHppIGRpc2tvYXJlbiBldGlrZXRhIGRpc2tvYW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODE2Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJCU0QgZXRpa2V0YSBnYWlsdWFyZW50emF0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2OAorIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN0YXQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgImVycm8gaW5vZG9hIGV6IGRhIGRpcmVrdG9yaW9hIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAiJXMgZGVzbXVudGF0emVuIHNhaWF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiIgorIkVyYWJpbGVyYTogJXMlcyBbYXVrZXJha10gW2FwbGlrYXppb2EgW2FwbGlrYXppb2EgYXJndW1lbnR1YWtdXVxuIgorIlxuIgorIkF1a2VyYWs6XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICIlcy0oZSlrIGh1dHMgZWdpbiBkdS5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAxCittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTMKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlczogJXMgZXogZGEgbHAgZ2FpbHVhLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJMUEdFVElSUSBlcnJvcmVhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMtKHIpZW4gZWdvZXJhICVkIGRhLiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHByZXN0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIHBhcGVyaWsgZ2FiZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgbGluZWFuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgZXJyb3JlYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgIm1zZ2N0bC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiTFBHRVRJUlEgZXJyb3JlYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgJWQgSVJRLWEgZXJhYmlsdHplblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgYXp0ZXJrZXRhIGVyYWJpbHR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhOiAiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIHplcnJlbmRhdHUgZXphZ3V0emVuIGRpcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIG1vZXRhayIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzIG1vbnRhdHVhIGRhZ28uXHQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzEwIHN5cy11dGlscy91bW91bnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgImZzY2s6ICVzOiBleiBkYSBhdXJraXR1XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAid3JpdGUtayBodXRzIGVnaW4gZHU6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIiAgIHQgICBhbGRhdHUgcGFyaXR6aW9hcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIElEYSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAiZXppbiBkYSBgc3RhdCcgZWdpbiBcIiVzXCItKHIpZW5nYW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJvcGVuLWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiICAgICAtLWtpbGwtY2hpbGRbPTxzaWduYW1lPl0gIHdoZW4gZHlpbmcsIGtpbGwgdGhlIGZvcmtlZCBjaGlsZCAoaW1wbGllcyAtLWZvcmspOyBkZWZhdWx0cyB0byBTSUdLSUxMXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjQKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmVkLWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpLWsgaHV0cyBlZ2luIGR1IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIiVzLShlKWsgaHV0cyBlZ2luIGR1LlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorIywgZnV6enkKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJibG9rZSBnYWlsdWEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworIywgZnV6enkKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiTG9vcCBnYWlsdWEgJXMgZGFcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiAlcyBzZWluYWxlIGV6ZXphZ3VuYVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUgc3lzLXV0aWxzL3dkY3RsLmM6NDY4IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlcyAgJS42ZiBzZWd1bmR1XG4iCittc2dzdHJbMV0gIiVzICAlLjZmIHNlZ3VuZHVcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY2Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiJXM6IE1lbW9yaWF6IGthbnBvIVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzIKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkdhaWx1YSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA2Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOAorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorIywgZnV6enkKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJFcmFiaWxlcmE6IG1rZnMgWy1WXSBbLXQgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGFdIFtmaXR4YXRlZ2kgc2lzdGVtYXJlbiBhdWtlcmFrXSBnYWlsdWEgW3RhbWFpbnVhXVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjEKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk0IHN5cy11dGlscy96cmFtY3RsLmM6NzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogZXppbiBkYSAlcy0ocillbmdhbiBleGVjIGVnaW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBlemluIGRhICVzLShyKWVuZ2FuIGV4ZWMgZWdpbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogZXppbiBkYSBcIiVzXCIgcHJvemVzdWEgYXVya2l0dVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiBlemluIGRhICVzLShyKWVuZ2FuIGV4ZWMgZWdpbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIgorbXNnc3RyICIlcy0oZSl0aWsgcmVuaWNlLWVhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiYmFsaW9nYWJla28gYXVrZXJhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJhYmlhZHVyYSBva2VycmE6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJvcnJpIHR4YXIgZ2VoaWVnaSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzOAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQ0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIlczogZXppbiBkYSAlcy0ocillbmdhbiBleGVjIGVnaW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIlczogZm9yay1layBodXRzIGVnaW4gZHU6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIlczogZXppbiBkYSBcIiVzXCIgcHJvemVzdWEgYXVya2l0dVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2NQorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJtb2V0YTogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGlyYWt1cnJpOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMAorbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMworIywgZnV6enkKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNAorbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MAorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ5Cittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBFcmFrdXRzaSBwYXJ0aXppbyB0YXVsYSBwYW50YWlsYW4gZWRvIGlkYXR6aSBmaXR4YXRlZ2lyZW4gYmF0ZWFuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTgKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MgorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjMKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIExlaGVuYSAgICAgQXprZW5hXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gImVyYWJpbHR6YWlsZWEiCittc2dzdHJbMV0gImVyYWJpbHR6YWlsZWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duLShlKWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmVkLWVrIGh1dHMgZWdpbiBkdSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgIiVzIG1vbnRhdHVhIGRhZ28uXHQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworIywgZnV6enkKK21zZ2lkICJpcyBuIgorbXNnc3RyICIlcyBtb250YXR1YSBkYWdvLlx0IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImJhbGlvZ2FiZWtvIGlkLWE6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY3Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10WzxmaWxlPl0sIC0tdGltaW5nWz08ZmlsZT5dIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgb3IgdG8gRklMRVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgImV6aW4gZGEgJXMgYHR5cGVzY3JpcHQnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzOQorIywgZnV6enkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAic3RhdC1layBodXRzIGVnaW4gZHU6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworIywgZnV6enkKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIiVzOiBNZW1vcmlheiBrYW5wbyFcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiZXppbiBkYSAlcyBgdHlwZXNjcmlwdCcgZml0eGF0ZWdpYSBpcmVraSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJodXRzIGVnaW4gZGEgc3Rkb3V0LWVyYSBpZGF6dGVuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJWQgYWJpYWR1cmFrIGV6IGR1IGV1c2thcnJpcmlrIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50dSBnZWhpZWdpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MgorbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NQorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorIywgZnV6enkKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgcm93cyBhbmQgY29sdW1uc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorIywgZnV6enkKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworIywgZnV6enkKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIkV6aW4gZGEgIHJhdyBnYWlsdSBuYWd1c2lhIGlyZWtpICciCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiIgorIlxuIgorIkV6IGRhIHN3YXAgcGFydGl6aW9yaWsgZXhpc3RpdHplbi5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgInNlbWN0bC1layBodXRzIGVnaW4gZHUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCktayBodXRzIGVnaW4gZHUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogJXMgc2VpbmFsZSBlemV6YWd1bmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NworbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiYmFybmUgZXJyb3JlYSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiaGV4ZHVtcDogbGVycm9hIGx1emVlZ2lhIGRhLlxuIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgIm9wZW4tZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImV6aW4gZGEgZm9yayBlZ2luIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJhdWtlcmEgYmFsaW9nYXJyaWFrOiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlczogS29tYW5kbyBlemV6YWd1bmE6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJyZW5pY2U6ICVzOiBiYWxpbyBva2VycmFcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MQorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiTWFya2F0dSBlcmFiaWxpYSBkYWdvZWxhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzUKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1MSB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxNQorIywgZnV6enkKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImNvbDogLWwgYmFsaW9nYWJla28gYXJndW1lbnR1YSAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgImxlaGVuIGxlcnJvYXJlbiBvbmRvcmVuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBsZXJyb2EgZGFnb2VuZWtvIGdhcmJpdHV0YSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODUKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgInNhcnJlcmEgb2tlcnJhXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJzYXJyZXJhIG9rZXJyYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICIlczogZXppbiBkYSAlcyBlc3Rla2F0dTogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtbm9leHRyZW1lIGxpc3QiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS10YWJsZS1jb2x1bW5zIDxuYW1lcz4gICAgICBjb21tYSBzZXBhcmF0ZWQgY29sdW1ucyBuYW1lc1xuIgorbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ0Cittc2dpZCAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworIywgZnV6enkKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OAorbXNnaWQgIiAtUiwgLS10YWJsZS1yaWdodCA8Y29sdW1ucz4gICAgICByaWdodCBhbGlnbiB0ZXh0IGluIHRoZXNlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQgZm9yIHRhYmxlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXRyZWUgPGNvbHVtbj4gICAgICAgICAgICAgIGNvbHVtbiB0byB1c2UgdHJlZS1saWtlIG91dHB1dCBmb3IgdGhlIHRhYmxlXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTUKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW1uPiAgICAgICBwYXJlbnQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiU2FydHUgYnVydSBrb3B1cnVhOiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjAKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3MzEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJlemFycmkgcnRjIGFsYXJtYSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiaGV4ZHVtcDogeyVzfSBmb3JtYXR1IG9rZXJyYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjM0Cittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MworbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiJXM6IFwiLSVjXCIgYXVrZXJhIGV6ZXphZ3VuYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBkaXJla3RvcmlvYSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogRXogZGEgdGVzdHUgZml0eGF0ZWdpYSAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltFcmFiaWxpIHEgZWRvIFEgaXJ0ZXRla29dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tR2VoaWFnby0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoSHVycmVuZ28gZml0eGF0ZWdpYTogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbU2FrYXR1IHp1cml1bmUtYmFycmEgamFycmFpdHpla28sICdxJyBpcnRldGVrby5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLiAlZCBvcnJpIGF0emVyYSIKK21zZ3N0clsxXSAiLi4uICVkIG9ycmkgYXR6ZXJhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4uc2FsdGF0dSAlZCBsZXJybyIKK21zZ3N0clsxXSAiLi4uc2FsdGF0dSAlZCBsZXJybyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipBdHplcmEqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI4NAorIywgZnV6enkKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIkV6IGRhZ28gYXVycmVrbyBmaXR4YXRlZ2lyaWsiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMjEKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM5NCB0ZXh0LXV0aWxzL21vcmUuYzoxNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbU2FrYXR1ICdoJyBhcmdpYmlkZWVudHphdC5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgJWQgbGVycm9hIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbRXogZGEgZml0eGF0ZWdpYV0gJWQgbGVycm9hIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgR2FpbmV6a2F0emVhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5zYWx0byBlZ2l0ZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGF0cm9pYSBleiBkYSBhdXJraXR1XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiUGF0cm9pYSBleiBkYSBhdXJraXR1IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAiZXhlYy1layBodXRzIGVnaW4gZHVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiZXppbiBkYSBmb3JrIGVnaW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5zYWx0byBlZ2l0ZW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uZml0eGF0ZWdpcmEgc2FsdG8gZWdpdGVuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uYXR6ZXJhIGZpdHhhdGVnaXJhIHNhbHRvIGVnaXRlbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIkxlcnJvYSBsdXplZWdpYSBkYSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEVyYWt1dHNpIHBhcnRpemlvIHRhdWxhIHBhbnRhaWxhbiBlZG8gaWRhdHppIGZpdHhhdGVnaXJlbiBiYXRlYW4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDEKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIiVzOiBhdWtlcmFrIGFyZ3VtZW50dWEgYmVoYXIgZHUgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiBiYWltZW5payBnYWJla28gYXVrZXJhIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLmF1cnJlcmEgc2FsdGF0emVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjkKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi5hdHplcmEgc2FsdGF0emVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODUKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIkV6IGRhIHRlc3R1IGZpdHhhdGVnaWEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJFeiBkYWdvIGF1cnJla28gZml0eGF0ZWdpcmlrIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IEVycm9yZWEgJXMgZml0eGF0ZWdpYSBpcmFrdXJ0emVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgImV4ZWMgJXMtKGUpayBodXRzIGVnaW4gZHUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IFwiLSVjXCIgYXVrZXJhIGV6ZXphZ3VuYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBFemluIGRhIGFsZGkgYmF0ZXJha28gZml0eGF0ZWdpYSBzb3J0dVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiUkUgZXJyb3JlYTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRU9GKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMzAgdGV4dC11dGlscy9wZy5jOjExNTYKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJlemluIGRhICVzIGlyZWtpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICJnb3JkZXRhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4NworbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmb3JrKCktZWsgaHV0cyBlZ2luIGR1LCBzYWlhdHUgYmVyYW5kdWFnb1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKEh1cnJlbmdvIGZpdHhhdGVnaWE6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU5NCB0ZXh0LXV0aWxzL3BnLmM6MTY2NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJhcmF6b2EgdGVybWluZm8gaXJha3VydHplbiIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKKyMsIGZ1enp5Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIlNhcnJlcmEgbGVycm8gbHV6ZWVnaWEuXG4iCisKKyN+IG1zZ2lkICJHZW9tZXRyeSIKKyN+IG1zZ3N0ciAiR2VvbWV0cmlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSAlcyBleGVrdXRhdHplbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgImV6aW4gZGEgYHN0YXQnIGVnaW4gXCIlc1wiLShyKWVuZ2FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgIiVzOiBLb21hbmRvIGV6ZXphZ3VuYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUZXN0IG1vZGU6IGVwb2NoIHdhcyBub3Qgc2V0IHRvICVzLlxuIgorI34gbXNnc3RyICIlczogZ2V0IHNpemUgZWdpdGVyYWtvYW4gaHV0cyBlZ2luIGRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZ2FycmkgZGF1ZGVuIGtvbWFuZG9hazpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJFemluIGRhIGJpbGF0dSBkaXNrbyB1bml0YXRlYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZ2FycmkgZGF1ZGVuIGtvbWFuZG9hazpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgJyVzIC1oJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiRXogZGFnbyBwYXJ0aXppbyB0YXVsYXJpay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCisjfiBtc2dzdHIgIkVyYWJpbGdhcnJpIGRhdWRlbiBrb21hbmRvYWs6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorI34gbXNnc3RyICJFcmFiaWxnYXJyaSBkYXVkZW4ga29tYW5kb2FrOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorI34gbXNnc3RyICJiYWxpb2dhYmVrbyBhdWtlcmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZ2FycmkgZGF1ZGVuIGtvbWFuZG9hazpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgTGVoZW5hICAgICBBemtlbmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICItLWRhdGUgYXJndW1lbnR1YSBsdXplZWdpYSBkYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorI34gbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICJSdWZmaWFuIEJDRCBlcmxvanVhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlemluIGRhICVzIGlyZWtpOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIiAgdCAgICAgICAgICBBbGRhdHUgZml0eGF0ZWdpIHNpc3RlbWEgbW9ldGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorI34gbXNnc3RyICJtb3VudDogbW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50LWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogbW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAiRGlza29hIGFsZGF0dSBlZ2luIGRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGV6IGRhZ28gbW9udGF0dXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKKyN+IG1zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAiZnNjazogJXM6IGV6IGRhIGF1cmtpdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorI34gbXNnc3RyICJlcnJvIGlub2RvYSBleiBkYSBkaXJla3RvcmlvYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzZWNjb21wIGNvbnRleHQiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIlNhcnJlcmEgbGVycm8gbHV6ZWVnaWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBiYWxpbyBva2VycmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgImNyYyBlcnJvcmVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBub3Qgc2V0dXAgdGltZXIiCisjfiBtc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJiZXJkaW5hIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgZXogZGEgYmxva2UgZ2FpbHUgYmVyZXppYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiAlczogZ2FpbHVhIG9rdXBhdHVhIGRhZ28iCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZG0gbmFtZSIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgICUuNmYgc2VndW5kdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJlemluIGl6YW4gZGEgbmFoaWtvYSBidWZmZXIgbWVtb3JpYSBlc2xlaXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiZXppbiBpemFuIGRhIG5haGlrb2EgYnVmZmVyIG1lbW9yaWEgZXNsZWl0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJlemluIGl6YW4gZGEgbmFoaWtvYSBidWZmZXIgbWVtb3JpYSBlc2xlaXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIk51bWJlciBvZiBTZW1hcGhvcmUgSURzIgorI34gbXNnc3RyICJTZWt0b3JlIGtvcHVydWEgcGlzdGFrbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFstYyB8IC1sIGZpdHhhdGVnaS1pemVuYV0gWy1uWFhdIFstaVhYXSAvZGV2L2l6ZW5hIFtibG9rZWFrXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAiVGFtYWludWEgKE1CdGFuKTogIgorCisjLCBmdXp6eQorI34gbXNnaWQgInR5cGU6ICVkIgorI34gbXNnc3RyICJtb2V0YTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJkaXNrb2E6ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAiZXRpa2V0YTogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZsYWdzOiAlcyIKKyN+IG1zZ3N0ciAiYWRpZXJhemdhcnJpYWs6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJieXRlLWFrIHNla3RvcmVrbzogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWt0b3JlYWsgcGlzdGFrbzogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInBpc3RhayB6aWxpbmRyb2tvOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcmVhay96aWxpbmRyb2E6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJ6aWxpbmRyb2FrOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJycG06ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgInRhcnRla2F0emVhOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInBpc3RhIHNrZXctZWE6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiemlsaW5kcm8gc2tldy1lYTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImhlYWRzd2l0Y2g6ICVsZFx0XHQjIG1pbGlzZWd1bmR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJwaXN0YXRpayBwaXN0YXJhIGJpbGFrZXRhOiAlbGRcdCMgbWlsaXNlZ3VuZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVkIHBhcnRpemlvOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBkaXNrb2E6ICVkIGJ1cnUsICVsbHUgc2VrdG9yZSwgJWQgemlsaW5kcm9cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgImV6IgorCisjfiBtc2dpZCAiZ2V0dGltZW9mZGF5IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0dGltZW9mZGF5LWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBtbWFwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN3YXBvbi1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIk1hcmthdHUgZXJhYmlsaWEgZGFnb2VsYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIlBhcnRpemlvYSAwIHNla3RvcmVhIGJhaW5hIGxlaGVuYWdvIGhhc3RlbiBkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgImVycm9yZWE6IHVuYW1lLWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1hdXRvLy1hIG9wdGlvbiIKKyN+IG1zZ3N0ciAiYmFsaW9nYWJla28gaWQtYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXphcnJpIHJ0YyBhbGFybWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZW5hYmxlIHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImV6YXJyaSBydGMgYWxhcm1hIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlzay1lbnR6YXQgbGFndW50emEgcGFudGFpbGEiCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiZGlza28gdW5pdGF0ZWV0YW4uIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBgZXonIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJzdGF0LWVrIGh1dHMgZWdpbiBkdTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN0YXQtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBzdGF0LWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiRXppbiBkYSBiaWxhdHUgZGlza28gdW5pdGF0ZWFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgImV6aW4gZGEgJXMgYHRpbWluZycgZml0eGF0ZWdpYSBpcmVraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiaWRhemtldGEgZXJyb3JlYSAlcy0oZSluXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJFemluIGRhICclcycgKCVzKSByYXcgbW9ldGFrbyBnYWlsdWEgYXVya2l0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBgdGltaW5nJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgImlyYWt1cmtldGEgZXJyb3JlYSAlcy0oZSluXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJFemluIGRhICByYXcgZ2FpbHUgbmFndXNpYSBpcmVraSAnIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJFemluIGRhIGRpc2tvYXJlbiB0YW1haW51YSBsb3J0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICJCdXJ1YWs6ICVkICAgU2VrdG9yZWFrIHBpc3Rha286ICVkICAgWmlsaW5kcm9hazogJWxsZCIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gdGF1bGEgYmVycml6IGlyYWt1cnR6ZW4gLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIlBhcnRpemlvIHRhdWxhIGlkYXR6aSBkYSwgYmFpbmEgdGF1bGFyZW4gYmVyaXJha3Vya2V0YWsgaHV0cyBlZ2luIGR1LiBTYWlhdHUgcGFydHByb2JlKDgpIGVkbyBrcGFydHgoOCktcmVraW4gZWRvIGJlcnJhYmlhcmF6aSBzaXN0ZW1hIHRhdWxhIGJlcnJpdHpla28uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXMiCisjfiBtc2dzdHIgIkVycm9yZWEgJXMgaXR4aXR6ZXJha29hblxuIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBleiBkYWdvIGhvcnJlbGFrbyBwYXJ0aXppb3Jpa1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgcmF3IGRhdHUgZm9ybWF0dWEgZXJhYmlsaXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAiVVRDIG9yZHVhIGVyYWJpbHR6ZW4uXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWt0b3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQuIgorI34gbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBtb2V0YSBlemV6YWd1bmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQuIgorI34gbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkV6aW4gZGEgcGFydGl6dSBodXRzIGJhdCBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJFemluIGRhIHBhcnRpenUgaHV0cyBiYXQgZXphYmF0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXMiCisjfiBtc2dzdHIgIlBhcnRpemlvIGhhdSBkYWdvZW5la28gZXJhYmlsaXRhIGRhZ28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiRXppbiBkYSBwYXJ0aXp1IGh1dHMgYmF0IGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGFydGl6aW9hIDAgc2VrdG9yZWEgYmFpbmEgbGVoZW5hZ28gaGFzdGVuIGRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2siCisjfiBtc2dzdHIgIlBhcnRpemlvYSAwIHNla3RvcmVhIGJhaW5hIGxlaGVuYWdvIGhhc3RlbiBkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiJXMgcGFydGl6aW9hayBoYXNpZXJha28gMCBzZWt0b3JlIGJhbGlvZ2FiZWEgZGF1a2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICIlcyBwYXJ0aXppb2FrIGhhc2llcmFrbyAwIHNla3RvcmUgYmFsaW9nYWJlYSBkYXVrYS5cbiIKKworI34gbXNnaWQgInN0YXJ0IgorI34gbXNnc3RyICJoYXNpZXJhIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJhbWFpZXJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgIiVzIHBhcnRpemlvYWsgaGFzaWVyYWtvIDAgc2VrdG9yZSBiYWxpb2dhYmVhIGRhdWthLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIlBhcnRpemlvIGdlaGllZ2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICBBbGRhdHUgZXJha3VzdGVuIGRlbiBwYXJ0aXppb2FyZW4gdGFtYWludSB1bml0YXRlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAiICAgbiAgIEJTRCBwYXJ0aXppbyBiZXJyaSBiYXQgZ2VoaXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIlBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhenRlbi4uLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQ6ICVzIgorI34gbXNnc3RyICJzYXJyZXJhIG9rZXJyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICJ6ZW5iYWtpIGhhbmRpZWdpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJFeiBkYWdvIHBhcnRpemlvIGdlaGlhZ28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gZ2VoaWVnaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgIm9ycmkgdHhhciBnZWhpZWdpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gbW9ldGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkV6aW4gZGEgcGFydGl6dSBodXRzIGJhdCBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJQYXJ0aXppbyBnZWhpZWdpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWQiCisjfiBtc2dzdHIgIlNvcnR1IHBhcnRpemlvIGJlcnJpYSBsaWJyZSBkYWdvZW4gZXNwYXppb3RpayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgaW5wdXQiCisjfiBtc2dzdHIgInNhcnJlcmEgb2tlcnJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAicGFydGl6aW8gZ2VoaWVnaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiYXVrZXJhIGJhbGlvZ2FycmlhazoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiYmFsaW9nYWJla28gbGVycm8ga29wdXJ1YSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgImV6aW4gZGEgJXMgaXJla2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgImV6aW4gZGEgXCIlc1wiIGlyZWtpIGlyYWt1cmtldGFyYWtvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICJlemluIGRhIFwiJXNcIiBpcmVraSBpcmFrdXJrZXRhcmFrbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBPS1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVkIGJ1cnUsICVsbHUgc2VrdG9yZSBwaXN0YWtvLCAlZCB6aWxpbmRybyIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIkVnaW5kYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJlemluIGRhICVzIGlkLWEgZXphYmF0dSAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJQYXJ0aXppbyBoYXUgZGFnb2VuZWtvIGVyYWJpbGl0YSBkYWdvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiRXppbiBkYSBpcmVraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPSyIKKyN+IG1zZ3N0ciAiT0tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFeiBkYSBzd2FwIHBhcnRpemlvcmlrIGV4aXN0aXR6ZW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiTWVzZWRleiBlcmFudHp1biB5LG4gZWRvIHFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIlBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhdHppIGRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPSEFSUkE6IERPUyA2LnggcGFydGl6aW9yZW4gYmF0IHNvcnR1IGVkbyBtb2ZpZGlrYXR1IGJhZHV6dSxcbiIKKyN+ICJtZXNlZGV6IGlrdXNpIGNmZGlzay1lbiBlc2t1bGlidXJ1YVxuIgorI34gImluZm9ybWF6aW8gZ2VoaWFnb3Jhay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiZXJlbXVhIGx1emVlZ2lhIGRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIGV6IGRhZ28gb25hcnR1dGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJyVjJyBleiBkYWdvIG9uYXJ0dXRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIGV6IGRhZ28gb25hcnR1dGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICJFeiBkYWdvIHBhcnRpemlvIHRhdWxhcmlrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYygpLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJFeiBkYSAtLWRhdGUgYXVrZXJhcmlrIHplaGF6dHUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiBrZW5nYXJyaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiRXogZGEgLS1kYXRlIGF1a2VyYXJpayB6ZWhhenR1LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRpbWVvdXQgY2Fubm90IGJlIHplcm8iCisjfiBtc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLRFNIV0NMSy1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICJlcmFiaWxlcmE6ICVzIGFwbGlrYXppb2EgW2FyZ3VtZW50dWEgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmVuaWNlKDEpLlxuIgorI34gbXNnc3RyICJJcnRldGVuIC0gZXogZGEgZXplciBhbGRhdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVyYWJpbGVyYTogJXMlcyBbYXVrZXJha10gW2FwbGlrYXppb2EgW2FwbGlrYXppb2EgYXJndW1lbnR1YWtdXVxuIgorI34gIlxuIgorI34gIkF1a2VyYWs6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4ub3JyaSBiYXQgYXR6ZXJhIgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIi4uLnNhbHRhdHUgbGVycm8gYmF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiJXM6IGF1a2VyYWsgYXJndW1lbnR1YSBiZWhhciBkdSAtLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIGxpbmVzIGFyZSBpbnRlbmRlZCBieSB0d28gc3BhY2VzXG4iCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWYsIC0tZm9vYmFyICAgICAgICAgICAgbmV4dCBvcHRpb24gZGVzY3JpcHRpb24gcmVzZXRzIGluZGVudFxuIgorI34gbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIgICAgICAgIChsaWJibGtpZCBnYWJlIGtvbnBpbGF0dWEpLiAiCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IE1lbW9yaWF6IGthbnBvIVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIkV6aW4gZXJhYmlsaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAid3JpdGUtayBodXRzIGVnaW4gZHU6ICVzIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJEaXNrb2EgYWxkYXR1IGVnaW4gZGEuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT0hBUlJBOiBET1MgNi54IHBhcnRpemlvcmVuIGJhdCBzb3J0dSBlZG8gbW9maWRpa2F0dSBiYWR1enUsXG4iCisjfiAibWVzZWRleiBpa3VzaSBjZmRpc2stZW4gZXNrdWxpYnVydWFcbiIKKyN+ICJpbmZvcm1hemlvIGdlaGlhZ29yYWsuXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAiRVJST1JFIExBUlJJQSIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIlNha2F0dSB0ZWtsYSBiYXQgY2ZkaXNrLWV0aWsgaXJ0ZXRla28iCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJFemluIGRhIGJpbGF0dSBkaXNrbyB1bml0YXRlYW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJFemluIGRhIGRpc2tvIHVuaXRhdGVhIGlyYWt1cnJpIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza28gdW5pdGF0ZWFuIGlkYXR6aSIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlBhcnRpemlvIGdlaGllZ2kiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGFydGl6aW9hIDAgc2VrdG9yZWEgYmFpbmEgbGVoZW5hZ28gaGFzdGVuIGRhIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJQYXJ0aXppb2EgMCBzZWt0b3JlYXJlbiBvbmRvcmVuIGFtYWl0emVuIGRhIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl6aW9hIGRpc2tvLWFtYWllcmEgYmFpbmEgbGVoZW5hZ28gaGFzdGVuIGRhIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIlBhcnRpemlvYSBkaXNrby1hbWFpZXJhIGJhaW5hIGxlaGVuYWdvIGFtYWl0emVuIGRhIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJwYXJ0aXppbyBsb2dpa29hayBleiBkYXVkZSBkaXNrbyBvcmRlbmVhbiIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJwYXJ0aXppbyBsb2dpa29lbiB0ZWlsYWthcGVuYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAicGFydGl6aW8gbG9naWtvYWsgZXogZGF1ZGUgZGlza28gb3JkZW5lYW4iCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiTWVudSBlbGVtZW50dSBsdXplZWdpYS4gTWVudWFrIGFycmFyb2EgZW1hbiBkZXpha2UuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJTb3J0dSBwYXJ0aXppbyBwcmltYXJpbyBiZXJyaSBiYXQiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlNvcnR1IHBhcnRpemlvIGxvZ2lrbyBiZXJyaSBiYXQiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIlV0emkiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkV6IHNvcnR1IHBhcnRpemlvIGJhdCIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIkJhcm5lIGVycm9yZWEgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIlRhbWFpbnVhIChNQnRhbik6ICIKKworI34gbXNnaWQgIkJlZ2lubmluZyIKKyN+IG1zZ3N0ciAiSGFzaWVyYW4iCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJHZWhpdHUgcGFydGl6aW9hIGxla3UgbGlicmVhcmVuIGhhc2llcmFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkdlaGl0dSBwYXJ0aXppb2EgbGVrdSBsaWJyZWFyZW4gaGFzaWVyYW4iCisKKyN+IG1zZ2lkICJVbmtub3duIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorI34gbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBtb2V0YSBlemV6YWd1bmEiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJaZXJvIHRhdWxhIGJhdGVraW4gaGFzaSBuYWhpIGR1enUgW2IvRV0gPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza28gdW5pdGF0ZWEgaXJla2kiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyN+IG1zZ2lkICJCYWQgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlBhcnRpemlvIHByaW1hcmlvIHR4YXJyYSIKKworI34gbXNnaWQgIlBsZWFzZSBlbnRlciBgeWVzJyBvciBgbm8nIgorI34gbXNnc3RyICJNZXNlZGV6IHNhcnR1IGBiYWknIGVkbyBgZXonIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gdGF1bGEgZGlza29hbiBpZGF6dGVuLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIlBhcnRpemlvIHRhdWxhIGRpc2tvYW4gaWRhdHppIGRhIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlLCBidXQgcmUtcmVhZCB0YWJsZSBmYWlsZWQuICBSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHRvIHVwZGF0ZSB0YWJsZS4iCisjfiBtc2dzdHIgIlBhcnRpemlvIHRhdWxhIGlkYXR6aSBkYSwgYmFpbmEgdGF1bGFyZW4gYmVyaXJha3Vya2V0YWsgaHV0cyBlZ2luIGR1LiBTYWlhdHUgcGFydHByb2JlKDgpIGVkbyBrcGFydHgoOCktcmVraW4gZWRvIGJlcnJhYmlhcmF6aSBzaXN0ZW1hIHRhdWxhIGJlcnJpdHpla28uIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIlNhcnR1IGZpdHhhdGVnaSBpemVuYSBlZG8gc2FrYXR1IElOVFJPIHBhbnRhaWxhbiBlcmFrdXN0ZWtvOiIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIkRpc2tvIHVuaXRhdGVhOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIjAgc2VrdG9yZWE6XG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgJWQ6XG4iCisjfiBtc2dzdHIgIiVkIHNla3RvcmVhOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAgRXplciAgICIKKworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIiAgIFByaS9Mb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICBQcmltYXJpb2EiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgICBMb2dpa29hIgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJFemVyIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIFRhYmxlIGZvciAlc1xuIgorI34gbXNnc3RyICIlcy0ocillbiBwYXJ0aXppbyB0YXVsYVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgRmlyc3QgICAgICAgTGFzdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBMZWhlbmEgICAgIEF6a2VuYVxuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyBNb2V0YSAgICAgU2VrdG8uICAgICAgU2VrdG8uICAgT2Zmc2V0LWEgTHV6ZWVyYSAgIEZpdHguIFNpc3QuIE1vZXRhKElEKSBBZGllcmF6bGVhXG4iCisKKyN+IG1zZ2lkICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKworI34gbXNnaWQgIiAgICAgICAgIC0tLVN0YXJ0aW5nLS0tLSAgICAgIC0tLS1FbmRpbmctLS0tLSAgICBTdGFydCAgICAgTnVtYmVyIG9mXG4iCisjfiBtc2dzdHIgIiAgICAgICAgIC0tLS1IYXNpZXJhLS0tLSAgICAgIC0tLS1BbWFpZXJhLS0tLSAgICBIYXNpICAgICAgS29wdXJ1YVxuIgorCisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWt0b3JlYSAgU2VrdG9yZWFrXG4iCisKKyN+IG1zZ2lkICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisKKyN+IG1zZ2lkICJSYXciCisjfiBtc2dzdHIgIlJhdyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSByYXcgZGF0dSBmb3JtYXR1YSBlcmFiaWxpeiIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIklucHJpbWF0dSB0YXVsYSBzZWt0b3JlIGJpZGV6IG9yZGVuYXR1YSIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJUYXVsYSIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiU29pbGlrIHBhcnRpemlvIHRhdWxhIGlucHJpbWF0dSIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAiRXogaW5wcmltYXR1IHRhdWxhIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICBBbGRhdHUsIHppbGluZHJvLCBidXJ1IGV0YSBzZWt0b3JlYWstcGlzdGFrbyBwYXJhbWV0cm9hayIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBBQklTVUE6IEF1a2VyYSBoYXUgYWxkYWtldGFrIHplciBla2FyIGRlemFrZWVuIGRha2l0ZW5layIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBrbm93IHdoYXQgdGhleSBhcmUgZG9pbmcuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgZXJhYmlsaSBiZWhhcmtvIGx1a2V0ZSBzb2lsaWsuIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAgVW5la28gcGFydGl6aW9hcmVuIGRpc2tvIGVyYWJpbGVyYSBtYXhpbW9yYSBoYW5kaXR1IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE9oYXJyYTogSG9uZWsgRE9TLCBPUy8yIGV0YSBiZXN0ZSBwYXJ0aXppbyBtb2V0YSBiYXR6dWVraW4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBiYXRlcmFnYXJyaXRhc3VuYSBrZW5kdSBkZXpha2UiCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgRXJha3V0c2kgcGFydGl6aW8gdGF1bGEgcGFudGFpbGFuIGVkbyBpZGF0emkgZml0eGF0ZWdpcmVuIGJhdGVhbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IHRhdWxhIHNla3RvcmUgYmlkZXogb3JkZW5hdHVhIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIEFsZGF0dSBlcmFrdXN0ZW4gZGVuIHBhcnRpemlvYXJlbiB0YW1haW51IHVuaXRhdGVhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgTUIsIHNla3RvcmUgZXRhIHppbGluZHJvIGF1a2VyYWsgZXJha3V0c2lrbyBkaXR1IgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIFBhbnRhaWxhIGZyZXNrYXR1IgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgUGFudGFpbGEgaGF1IGlucHJpbWF0dSIKKworI34gbXNnaWQgIkNoYW5nZSBjeWxpbmRlciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQWxkYXR1IHppbGluZHJvIGdlb21ldHJpYSIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICJBbGRhdHUgYnVydSBnZW9tZXRyaWEiCisKKyN+IG1zZ2lkICJDaGFuZ2Ugc2VjdG9yIGdlb21ldHJ5IgorI34gbXNnc3RyICJBbGRhdHUgc2VrdG9yZSBnZW9tZXRyaWEiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkdlb21ldHJpYSBhbGRha2V0YSBlZ2luYSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIlNhcnR1IHppbGluZHJvIGtvcHVydWE6IgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJTYXJ0dSBidXJ1IGtvcHVydWE6IgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJlb2sgYnVydSBiYWxvcmVhayIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAiU2FydHUgcGlzdGFrbyB6ZW5iYXQgc2VrdG9yZSBrb3B1cnVhOiIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gc2VrdG9yZSBiYWxvcmVhayIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICJTYXJ0dSBmaXR4YXRlZ2kgc2lzdGVtYSBtb2V0YTogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJFemluIGRhIEYuUy4gbW9ldGEgYWxkYXR1IGV6ZXJyZXJhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJFemluIGRhIEYuUy4gbW9ldGEgYWxkYXR1IHphYmFsZHVyYSIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiRXplemFndW5hKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIlByaS9Mb2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiRXplemFndW5hICglMDJYKSIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzIgorI34gbXNnc3RyICJEaXNrbyB1bml0YXRlYTogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJUYW1haW51YTogJWxsZCBieXRlLCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJUYW1haW51YTogJWxsZCBieXRlLCAlbGxkLiVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIkJ1cnVhazogJWQgICBTZWt0b3JlYWsgcGlzdGFrbzogJWQgICBaaWxpbmRyb2FrOiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJQYXJ0aXppbyBtb2V0YSIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIlMuRS4gbW9ldGEiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbRXRpa2V0YV0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgIFNla3RvcmVhayIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgIFppbGluZHJvYWsiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBUYW1haW51YSAoTUIpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIiAgVGFtYWludWEgKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiRXogZGFnbyBwYXJ0aXppbyBnZWhpYWdvIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIkFsZGF0dSBkaXNrb2FyZW4gZ2VvbWV0cmlhIChlcmFiaWx0emFpbGUgYXVycmVyYXR1YWsgc29pbGlrKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICJNYXhpbWl6YXR1IgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIlVuZWtvIHBhcnRpemlvYXJlbiBkaXNrbyBlcmFiaWxlcmEgbWF4aW1vcmEgaGFuZGl0dSAoZXJhYmlsdHphaWxlIGF1cnJlcmF0dWFrIHNvaWxpaykiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiSW5wcmltYXR1IgorCisjfiBtc2dpZCAiQ2hhbmdlIHRoZSBmaWxlc3lzdGVtIHR5cGUgKERPUywgTGludXgsIE9TLzIgYW5kIHNvIG9uKSIKKyN+IG1zZ3N0ciAiQWxkYXR1IGZpdHhhdGVnaS1zaXN0ZW1hIG1vZXRhIChET1MsIExpbnV4LCBPUy8yIGV0YSBhYmFyKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJVbml0YXRlYWsiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJBbGRhdHUgcGFydGl6aW9hcmVuIHRhbWFpbnUgdW5pdGF0ZWFrIChNQiwgc2VrdG9yZWFrLCB6aWxpbmRyb2FrKSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICJFemluIGRhIHBhcnRpemlvIGhhdSBhYmlhZ2FycmlhIGVnaW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiRXppbiBkYSBwYXJ0aXp1IGh1dHMgYmF0IGV6YWJhdHUiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkV6aW4gZGEgcGFydGl6aW8gaGF1IG1heGltaXphdHUiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJFemluIGRhIGh1dHNpayBkYWdvZW4gcGFydGl6aW8gYmF0ZW4gbW9ldGEgYWxkYXR1IgorCisjfiBtc2dpZCAiSWxsZWdhbCBjb21tYW5kIgorI34gbXNnc3RyICJLb21hbmRvIGJhbGlvZ2FiZWEiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICJJbnByaW1hdHUgdGF1bGEgc2VrdG9yZSBiaWRleiBvcmRlbmF0dWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAgZCAgICAgICAgICBVbmVrbyBwYXJ0aXppb2EgZXphYmF0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiU2FydHUgemlsaW5kcm8ga29wdXJ1YToiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIHplbmJha2lhIGlyYWt1cnJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIHplbmJha2lhIGlyYWt1cnJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiTGludXggZXh0ZW5kZWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5DIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiRXphcnJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJsb2NrcyAiCisjfiBtc2dzdHIgIiVsZCBibG9rZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiU2VrdG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorI34gbXNnc3RyICJQYXJ0aXppb2EgZGlza28tYW1haWVyYSBiYWluYSBsZWhlbmFnbyBhbWFpdHplbiBkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJCYW5kZXJhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBlemluIGRhICVzIGJsb2tlbyBmaXR4YXRlZ2lhIGlyZWtpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGV6aW4gZGEgJXMgYmxva2VvIGZpdHhhdGVnaWEgaXJla2k6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImNyYyBlcnJvcmVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczogZXppbiBkYSAlcyBlc3Rla2F0dTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAiR2VoaXR1IFwiJXNcIiBoaXp0ZWdpYXJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB0cmFuc2xhdGVkICVzICclcycgdG8gJyVzJ1xuIgorI34gbXNnc3RyICJHZWhpdHUgXCIlc1wiIGhpenRlZ2lhcmkiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlcnJvcmVhICVzIGlkYXp0ZW46ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAiZXppbiBkYSBsZXJyb2FyZW4gZGlzemlwbGluYSBlemFycmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGV6aW4gZGEgZm9yayBlZ2luOiAlcyIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IHR5cGUgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIG1vZXRhcmVraW4gc2FpYXR1a28gZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIHVzZSAlcyBkZXZpY2UiCisjfiBtc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm9yZWEgJXMgaWRhenRlbjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAiTG9vcCBnYWlsdWEgJXMgZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJW0iCisjfiBtc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAiZXppbiBkYSBiYWRibG9ja3MgZml0eGF0ZWdpYSBpcmFrdXJyaSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBtdW50YXUgcHVudHVhIGV6IGRhIGV4aXN0aXR6ZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJQYXJ0aXppbyB0YXVsYSBtb2V0YSBlemV6YWd1bmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAiZXppbiBkYSBiYWRibG9ja3MgZml0eGF0ZWdpYSBpcmFrdXJyaSIKKworI34gbXNnaWQgIm5vdGhpbmcgd2FzIG1vdW50ZWQiCisjfiBtc2dzdHIgImV6IGRhIGV6ZXIgbXVudGF0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICI7IHJlc3Qgb2YgZmlsZSBpZ25vcmVkIgorI34gbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworI34gbXNnaWQgIm5vdCBlbm91Z2ggbWVtb3J5IgorI34gbXNnc3RyICJleiBkYWdvIG5haGlrb2EgbWVtb3JpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJlemluIGRhIGxlcnJvYXJlbiBkaXN6aXBsaW5hIGV6YXJyaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgImV6aW4gZGEgbGVycm9hcmVuIGRpc3ppcGxpbmEgZXphcnJpIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudDogZXppbiBkYSBmb3JrIGVnaW46ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGV6IGRhZ28gbW9udGF0dXRhIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6IGV6IGRhICVzIGF1cmtpdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJtb3VudDogZXJyb3JlYSAlcyBpZGF6dGVuOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJtb3VudDogZXJyb3JlYSAlcyBpZGF6dGVuOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG11bnRhdSBwdW50dWEgZXogZGEgZXhpc3RpdHplbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBoYXMgYmVlbiB1bm1vdW50ZWRcbiIKKyN+IG1zZ3N0ciAiRGlza29hIGFsZGF0dSBlZ2luIGRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiRXppbiBkYSBcIlwiIGRlc21vbnRhdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBnZXQgdGltZW91dCBmb3IgJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza29hcmVuIHRhbWFpbnVhIGxvcnR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHppbGluZHJvIGJhbG9yZWFrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgICAgICAgZGlza28gZ3V6dGlhbi4gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIihIdXJyZW5nbyBmaXR4YXRlZ2lhOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJEaXNrbyBldGlrZXRhIGlkYXp0ZW4gJXMtKGUpcmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTGVycm9hIGx1emVlZ2lhIGRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJ3YWl0cGlkLWVrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImV6YXJyaSBibG9rZS10YW1haW51YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmUgYmFkIGJsb2NrXG4iCisjfiBtc2dzdHIgIm9ycmkgb2tlciBiYXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInJlYWQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic2Vlay1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJzZWVrLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJ3cml0ZS1rIGh1dHMgZWdpbiBkdTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IEtvbWFuZG8gZXplemFndW5hOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHRPSEFSUkE6IGVsdnR1bmUtayAyLjQga2VybmVsLWVraW4gYmFrYXJyaWsgZnVudHppb25hdHplbiBkdVxuIgorCisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgImJsb2tlLWdhaWx1YSBmYWx0YSBkYSwgZXJhYmlsaSAtaCBsYWd1bnR6YXJha29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgImV6YXJyaSBydGMgYWxhcm1hIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYy1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVyYWJpbGVyYTpcbiIKKyN+ICJFcmFrdXRzaSBiZXJ0c2lvYTpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiRXJha3V0c2kgcGFydGl6aW8gdGF1bGE6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFthdWtlcmFrXSBnYWlsdWFcbiIKKyN+ICJFcmFiaWxlcmEgaW50ZXJha3RpYm9hOlxuIgorI34gIiAgICAgICAgJXMgW2F1a2VyYWtdIGdhaWx1YVxuIgorI34gIlxuIgorI34gIkF1a2VyYWs6XG4iCisjfiAiLWE6IEdlemlhIGVyYWJpbGkgbmFiYXJtZW5kdSBiZWhhcnJlYW47XG4iCisjfiAiLXo6IFBhcnRpemlvIHRhdWxhIGh1dHMgYmF0ZWtpbiBoYXNpLCBwYXJ0aXppbyB0YXVsYSBpcmFrdXJyaSBiZWhhcmVyYW47XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IEV6IGVnaW4gamFyYW1vbmlrIGtlcm5lbC1hayBlc2F0ZW4gZHVlbiB6aWxpbmRybyBrb3B1cnUsXG4iCisjfiAiICAgICAgICAgICAgICAgIGJ1cnUga29wdXJ1IGV0YSBzZWt0b3JlL3Bpc3RhIGtvcHVydWFyaSBidXJ1ei5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJEaXNrbyBldGlrZXRhIGlkYXp0ZW4gJXMtKGUpcmkuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIkF6a2VuICVzLShlKWEgZWRvICt0YW1haW51YSBlZG8gK3RhbWFpbnVhTSBlZG8gK3RhbWFpbnVhSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMtKHIpZW4gZGlza28gZXRpa2V0YSBpcmFrdXJ0emVuICVkIHNla3RvcmVhbi5cbiIKKworI34gbXNnaWQgIkJTRCBkaXNrbGFiZWwgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKKyN+IG1zZ3N0ciAiQlNEIGRpc2tvIGV0aWtldGEga29tYW5kb2EgKG0gbGFndW50emEgZXJha3VzdGVrbyk6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB0b28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuXG4iCisjfiBtc2dzdHIgIkFiaXN1YTogcGFydGl6aW8gZ2VoaWVnaSAoJWQsIGdlaGllbmV6a29hICVkIGRhKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlza2FrIHNpbmtyb25pemF0emVuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKKyN+IG1zZ3N0ciAiICAgdyAgIGlkYXR6aSBkaXNrb2FyZW4gZXRpa2V0YSBkaXNrb2FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJFcnJvcmUgbGFycmlhXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiS29tYW5kb2FyZW4gZWtpbnR6YSIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiRXphcnJpIGVnaW4gYmVoYXIgZHV6dSIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJidXJ1YWsiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIGV0YSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVW5zdXBwb3J0ZWQgc3VmZml4OiAnJXMnLlxuIgorI34gbXNnc3RyICJmaXR4YXRlZ2kgc2lzdGVtYXJlbiBldXNrYXJyaXJpayBnYWJla28gZXphdWdhcnJpYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICJVbml0YXRlYWs6ICVzICVkLShlKXRpayAqICVkID0gJWQgYnl0ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICJVbml0YXRlYWs6ICVzICVkLShlKXRpayAqICVkID0gJWQgYnl0ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiwgZ3V6dGlyYSAlbGx1IHNla3RvcmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHdyaXRlIGRpc2sgbGFiZWwiCisjfiBtc2dzdHIgIkV6aW4gZGEgZGlza28gdW5pdGF0ZWFuIGlkYXR6aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxhc3QgJTEkcywgKyUyJHMgb3IgK3NpemV7SyxNLEd9IgorI34gbXNnc3RyICJBemtlbiAlcy0oZSlhIGVkbyArdGFtYWludWEgZWRvICt0YW1haW51YU0gZWRvICt0YW1haW51YUsiCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJsb2dpa29hPSglZCwgJWQsICVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gcHJpbWFyaW8gdHhhcnJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9IQVJSQTogRE9TIDYueCBwYXJ0aXppb3JlbiBiYXQgc29ydHUgZWRvIG1vZmlkaWthdHUgYmFkdXp1LFxuIgorI34gIm1lc2VkZXogaWt1c2kgY2ZkaXNrLWVuIGVza3VsaWJ1cnVhXG4iCisjfiAiaW5mb3JtYXppbyBnZWhpYWdvcmFrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgZGlza29hOiAlZCBidXJ1LCAlbGx1IHNla3RvcmUsICVkIHppbGluZHJvXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBkaXNrb2E6ICVkIGJ1cnUsICVsbHUgc2VrdG9yZSwgJWQgemlsaW5kcm9cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMmQ6ICUtMTBzIHNla3RvcmUlNXUgdGFtYWludWElOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJFeiBkYSBwYXJ0aXppb3JpayBkZWZpbml0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiUGFydGl6aW8gaGF1IGRhZ29lbmVrbyBlcmFiaWxpdGEgZGFnbyIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJCQUlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgZGlza29hOiAlZCBidXJ1LCAlbGx1IHNla3RvcmUsICVkIHppbGluZHJvXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBkaXNrb2E6ICVkIGJ1cnUsICVsbHUgc2VrdG9yZSwgJWQgemlsaW5kcm9cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZ2luZGFcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8VVNFUj4gQ09NTUFORFxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogJXMgYXBsaWthemlvYSBbYXJndW1lbnR1YSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICJ3cml0ZS1rIGh1dHMgZWdpbiBkdTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICJlemluIGRhIGZvcmsgZWdpbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJW1cbiIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAic2FycmVyYSBva2VycmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudC1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgW2F1a2VyYWtdIGdhaWx1YSAuLi5cbiIKKworI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJvcnJpIG9rZXIgYmF0XG4iCisKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZG9lcyBub3Qgc3VwcG9ydCBzd2Fwc3BhY2UgdmVyc2lvbiAlZC4iCisjfiBtc2dzdHIgImZpdHhhdGVnaSBzaXN0ZW1hcmVuIGV1c2thcnJpcmlrIGdhYmVrbyBlemF1Z2FycmlhayIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRCBldGlrZXRhIGdhaWx1YXJlbnR6YXQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIkV6aW4gZGEgaHV0c2lrIGRhZ29lbiBwYXJ0aXppbyBiYXRlbiBtb2V0YSBhbGRhdHUiCisKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlYyAlcy0oZSlrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBsc2Vlay1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgInN0YXQtZWsgaHV0cyBlZ2luIGR1OiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJiYWxpb2dhYmVrbyBlZ3VuIGJhbG9yZWE6IGVyYWJpbGkgMS0lZCIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhOiAlcyBbIC1zIHNlaW5hbGVhIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgImJhbGlvZ2FiZWtvIGF1a2VyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIm1lbW9yaWFyaWsgZXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAiRXppbiBkYSBkaXNrb2FyZW4gdGFtYWludWEgbG9ydHUiCisKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJzaG1jdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibXNnY3RsLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBmYWlsZWQgdG8gdXNlIGRldmljZSIKKyN+IG1zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAibWVtb3JpYXJpayBleiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMtKGUpdGlrIHJlbmljZS1lYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgJXMgZXhla3V0YXR6ZW4iCisKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdnAtZWsgaHV0cyBlZ2luIGR1IgorCisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdi1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAiZXJhYmlsdHphaWxlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IGlkYXprZXRhIGVycm9yZWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnICglcykgcmF3IG1vZXRha28gZ2FpbHVhIGF1cmtpdHVcbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN0YXQtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiRXppbiBkYSAvZGV2L3BvcnQgaXJla2k6ICVzIgorCisjfiBtc2dpZCAiT3BlbiBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzLShlKXJlbiBpcmVraWVyYWsgaHV0cyBlZ2luIGR1IgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgJXMgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNvdXJjZSBidWZmZXIiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiRXppbiBkYSBpcmVraSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAiZXppbiBkYSBcIiVzXCIgaXJla2kgaXJha3Vya2V0YXJha28iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBcIiVzXCIiCisjfiBtc2dzdHIgImV6aW4gZGEgYHN0YXQnIGVnaW4gXCIlc1wiLShyKWVuZ2FuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgWy1sYXJ2c21mXSAvZGV2L2l6ZW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJsb2Nrc2l6ZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyAoJXMpIHJhdyBtb2V0YWtvIGdhaWx1YSBhdXJraXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJtZW1vcmlhcmlrIGV6P1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6IGNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIkV6aW4gZGEgJyVzJyBmaXR4YXRlZ2lhIGlyZWtpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlcG9jaCIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAiZXppbiBkYSAlcyBpcmVraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICJodXRzIGVnaW4gZGEgbGVycm8gYnVmZmVyLWEgaGFzaWVyYXR6ZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc3RyaW0oOCkuXG4iCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgImJhbGlvZ2FiZWtvIGFiaWFkdXJhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiQmFsaW9nYWJla28gemlsaW5kcm8gYmFsb3JlYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBzaXplICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJCYWxpb2dhYmVrbyB6aWxpbmRybyBiYWxvcmVhayIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBQSUQiCisjfiBtc2dzdHIgImV6aW4gZGEgJXMgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoMSkuXG4iCisjfiBtc2dzdHIgIklydGV0ZW4gLSBleiBkYSBlemVyIGFsZGF0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50ICVsdSBpcyB0b28gbGFyZ2UiCisjfiBtc2dzdHIgIi0tZGF0ZSBhcmd1bWVudHVhIGx1emVlZ2lhIGRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBnZXQgc2l6ZSBlZ2l0ZXJha29hbiBodXRzIGVnaW4gZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogYmFsaW8gb2tlcnJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHNraXAgdmFsdWUiCisjfiBtc2dzdHIgInJlbmljZTogJXM6IGJhbGlvIG9rZXJyYVxuIgorCisjfiBtc2dpZCAiJXM6IFVzYWdlOiAlcyBbLW51bWJlcl0gWy1wIHN0cmluZ10gWy1jZWZucnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKKyN+IG1zZ3N0ciAiJXM6IEVyYWJpbGVyYTogJXMgWy16ZW5iYWtpYV0gWy1wIGthdGVhXSBbLWNlZm5yc10gWytsZXJyb2FdIFsrL3BhdHJvaWEvXSBbZml0eGF0ZWdpYWtdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVkOiBwYXJzZSBlcnJvciAtLSBsaW5lIGlnbm9yZWQuXG4iCisjfiBtc2dzdHIgImNyYyBlcnJvcmVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byBwYXJzZSAlcyIKKyN+IG1zZ3N0ciAiaHV0cyBlZ2luIGRhIGxlcnJvIGJ1ZmZlci1hIGhhc2llcmF0emVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGZvcmstZWsgaHV0cyBlZ2luIGR1OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiJXMtKGUpayBodXRzIGVnaW4gZHUuXG4iCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIEJTRCBwYXJ0aXppbyBiYXQgZXphYmF0dSIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIEJTRCBwYXJ0aXppbyBiZXJyaSBiYXQgZ2VoaXR1IgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICBhbGRhdHUgcGFyaXR6aW9hcmVuIGZpdHhhdGVnaSBzaXN0ZW1hIElEYSIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIGFsZGF0dSB1bml0YXRlYWsgKHppbGluZHJvYWsvc2VrdG9yZWFrKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiU29pbGlrIHBhcnRpemlvIHRhdWxhIGlucHJpbWF0dSIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIkJhcm5lIGVycm9yZWFcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAibWVtb3JpYXJpayBleiAtIHV6dGVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudCg4KS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIkV6IGRhZ28gcGFydGl6aW8gdGF1bGFyaWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJzZW1jdGwtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdXNlcm5hbWUiCisjfiBtc2dzdHIgIkJhbGlvZ2FiZWtvIHRla2xhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJQYXNhaGl0eiBva2VycmEuIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiSVpFTkEgbHV6ZWVnaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAibGVycm8gbHV6ZWVnaWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgYmFyZSBsaW5lZmVlZHMuIgorI34gbXNnc3RyICJvcnJpIHR4YXIgZ2VoaWVnaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIgICAgICAgIGRpc2tvIGd1enRpYW4uICIKKworI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgImNhbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiJXMgZGlza2FrIGV6IGRhdWthIHBhcnRpemlvIHRhdWxhIHp1emVuYVxuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAiICVzOiB3cml0ZS1rIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRXogZGEgc3dhcCBwYXJ0aXppb3JpayBleGlzdGl0emVuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIlBhcnRpemlvIG1vZXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJFemluIGRhICByYXcgZ2FpbHUgbmFndXNpYSBpcmVraSAnIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIk1lbW9yaWF6IGthbnBvIHBhc2FoaXR6YSBpcmFrdXJ0emVuIHplbiBiaXRhcnRlYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgIkxvb3AgZ2FpbHVhICVzIGRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBwYXJ0eCg4KS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogenV0YWJlYSBbLXR4XSBbLWMgenV0YWJlYWtdIFtmaXR4YXRlZ2lhIC4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkV6aW4gZGEgJXMgaXJla2k6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogZXppbiBkYSAlcyBibG9rZW8gZml0eGF0ZWdpYSBpcmVraTogJXNcbiIKKworI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogemVuYmFraSBva2VycmE6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBmb3JrLWVrIGh1dHMgZWdpbiBkdTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICJJcnRldGVuIC0gZXogZGEgZXplciBhbGRhdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzLShlKXRpayByZW5pY2UtZWFcbiIKKworI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJyZWFkcHJvZmlsZTogZXJyb3JlYSAlcyBpZGF6dGVuOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcnRjd2FrZSg4KS5cbiIKKyN+IG1zZ3N0ciAiSXJ0ZXRlbiAtIGV6IGRhIGV6ZXIgYWxkYXR1XG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhOiAlcyBhcGxpa2F6aW9hIFthcmd1bWVudHVhIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFcmFiaWxlcmE6ICVzIDxnYWlsdWE+IFsgLWkgPElSUWE+IHwgLXQgPERFTkJPUkE+IHwgLWMgPEtBUkFLVEVSRUFLPiB8IC13IDxJVFhBUk9URSBERU5CT1JBPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IGJhbGlvIG9rZXJyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNsb3NpbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiRXppbiBkYSAnJXMnIGZpdHhhdGVnaWEgaXJla2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiYmVyaXJha3VycmkgcGFydGl6aW8gdGF1bGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAicGFydGl6aW8gbG9naWtvZW4gdGVpbGFrYXBlbmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGV2aWNlIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhXG4iCisjfiBtc2dzdHIgImdhaWx1YTogL2Rldi9oZGEgZWRvIC9kZXYvc2RhIG1vZHVrbyB6ZXJiYWl0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgImF1a2VyYSBiYWxpb2dhcnJpYWs6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbYXVrZXJha10gZ2FpbHVhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJFcmFiaWxlcmE6ICVzIFthdWtlcmFrXSBnYWlsdWEgLi4uXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtnYWlsdWFrXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIGtvbWFuZG9hayBnYWlsdWFrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkV6aW4gZGEgaXJla2kiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJlcmFiaWxlcmE6ICVzIFsgLW5dIGdhaWx1YVxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbLXhdIFstZCA8emVuYmFraWE+XSBpc285NjYwLWlydWRpYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVyYWJpbGVyYTogJXMgWy12XSBbLU4gaW5vZG8ta29wdXJ1YV0gWy1WIGJvbHVtZW4taXplbmFdXG4iCisjfiAiICAgICAgIFstRiBmcy1pemVuYV0gZ2FpbHVhIFtibG9rZS1rb3B1cnVhXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBzdGF0ICVzIgorI34gbXNnc3RyICJlemluIGRpcmEgYm9vdGJpdCBzZWt0b3JlYWsgZXphYmF0dSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgWy1jXSBbLXBPUlJJVEFNQUlOVUFdIFstTCBldGlrZXRhXSBbLVUgVVVJRF0gL2Rldi9pemVuYSBbYmxva2Vha11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiIgorI34gIkVyYWJpbGVyYTpcbiIKKyN+ICIgICVzIgorCisjfiBtc2dpZCAiTWVudSB3aXRob3V0IGRpcmVjdGlvbi4gRGVmYXVsdGluZyB0byBob3Jpem9udGFsLiIKKyN+IG1zZ3N0ciAiTm9yYWJpZGUgZ2FiZWtvIG1lbnVhLiBIb3Jpem9udGFsYSBsZWhlbmV0c2lrbyBkYS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiU29ydHUgcGFydGl6aW8gcHJpbWFyaW8gYmVycmkgYmF0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICJFeiBpbnByaW1hdHUgdGF1bGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzLShlKXRpayByZW5pY2UtZWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW3kgfCBuXSIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhOiAlcyBbIC1uXSBnYWlsdWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1uXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhOiAlcyBbZml0eGF0ZWdpYV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4ndCByZWFkOiAlcyIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogZXppbiBkYSAlcyAgaXJha3VycmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogc2NyaXB0LWEgWy1hXSBbLWZdIFstcV0gWy10XSBbZml0eGF0ZWdpYV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3IgJWQ6ICVzXG4iCisjfiBtc2dzdHIgImNyYyBlcnJvcmVhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiY3JjIGVycm9yZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICBkaXNrbyBndXp0aWFuLiAiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIkVyYWJpbGVyYTogJXMgWy1yXSBbLXRdXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgImV6ZXphZ3VuYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgIiVzLShyKWVuIHBhcnRpemlvIHRhdWxhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImVycm9yZWE6IG1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhc2FoaXR6IG9rZXJyYS5cbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgImZvcmstZWsgaHV0cyBlZ2luIGR1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJFemluIGRhICclcycgZml0eGF0ZWdpYSBpcmVraSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJHZWxkaXR1dGFrbyBnYWlsdWE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiRXJhYmlsZXJhOiAlcyBbLWNdIFstbiBtYWlsYV0gWy1yXSBbLXMgYnVmZmVyLWFyZW4gdGFtYWludWFdXG4iCisKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogc3RyZHVwLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1iZnB4XSBbLWwgbmxpbmVdIgorI34gbXNnc3RyICJ1c2FnZTogenV0YWJlYSBbLWJmcHhdIFstbCBsZXJybyB6ZW5iYWtpYV1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogJXMgWyAtIF0gWyAtMiBdIFsgZml0eGF0ZWdpYSAuLi4gXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhOiAlcyBbLWRmbHBjc3VdIFsrbGVycm96ZW5iYWtpYSB8ICsvcGF0cm9pYV0gaXplbmExIGl6ZW5hMiAuLi5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpbmUgYnVmZmVyXG4iCisjfiBtc2dzdHIgImh1dHMgZWdpbiBkYSBsZXJybyBidWZmZXItYSBoYXNpZXJhdHplblxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogZXppbiBkYSAlcyAgaXJha3VycmkuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBsZXJyb2EgbHV6ZWVnaWEgZGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYy1layBodXRzIGVnaW4gZHUiCisKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhOiB0YWlsZiBbLW4gTiB8IC1OXSBmaXR4YXRlZ2lhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZml0eGF0ZWdpYS4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgImV6aW4gZGlyYSBib290Yml0IHNla3RvcmVhayBlemFiYXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhc3Q6IG1hbGxvYyBmYWlsdXJlLlxuIgorI34gbXNnc3RyICJlcnJvcmVhOiBtYWxsb2MtZWsgaHV0cyBlZ2luIGR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luOiBPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIm1lbW9yaWF0aWsga2FucG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAiRXogZGFnbyBwYXJ0aXppbyB0YXVsYXJpay5cbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IHNldHVpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiZXppbiBkYSBiYWRibG9ja3MgZml0eGF0ZWdpYSBpcmFrdXJyaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6ICVzIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJzZSBlcnJvciBhdCBsaW5lczogIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIGV0YSAiCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiB1bmtub3duIHVzZXJcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogZXJhYmlsdHphaWxlIGV6ZXphZ3VuYVxuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IGJhbGlvIG9rZXJyYVxuIgorCisjfiBtc2dpZCAiOyBzZWUgc3RyaW5ncygxKS4iCisjfiBtc2dzdHIgIjsgaWt1c2kgc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiUGFydGl6aW9hIGF6a2VuIHBhcnRpemlvIHppbGluZHJvYW4gYW1haXR6ZW4gZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IE1lbW9yaWF6IGthbnBvIVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiBiYWxpb2dhYmVrbyAlcyB0aW1lX3QgYmFsb3JlYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXppbiBkaXJhIGJvb3RiaXQgc2VrdG9yZWFrIGV6YWJhdHUiCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAicnRjIGlyYWt1cnJpdGEiCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgImVycm9yZWEgbWVtb3JpYSBlc2xlaXR6ZW4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogenV0YWJlYSBbLXR4XSBbLWMgenV0YWJlYWtdIFtmaXR4YXRlZ2lhIC4uLl1cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiTWVtb3JpYXRpayBrYW5wb1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImVyYWJpbGVyYTogcmV2IFtmaXR4YXRlZ2lhIC4uLl1cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIkh1dHMgZWdpbiBkYSBidWZmZXItYSBoYXNpZXJhdHplbi5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiTWVtb3JpYXJpayBleiBidWZmZXItYSBoYXp0ZXJha29hbi5cbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorI34gbXNnc3RyICIlczogYmFsaW9nYWJla28gYXVrZXJhIC0tICVjXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJyb3JlYTogbWFsbG9jLWVrIGh1dHMgZWdpbiBkdSIKKworI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgInVuZWtvYSIKKworI34gbXNnaWQgIm5ldyIKKyN+IG1zZ3N0ciAiYmVycmlhIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBKRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIEhQRlMiCisjfiBtc2dzdHIgIk9TLzIgSFBGUyIKKworI34gbXNnaWQgIk9TLzIgSUZTIgorI34gbXNnc3RyICJPUy8yIElGUyIKKworI34gbXNnaWQgIk5URlMiCisjfiBtc2dzdHIgIk5URlMiCisKKyN+IG1zZ2lkICJ1c2FnZSA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKyN+IG1zZ3N0ciAiZXJhYmlsZXJhIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorI34gbXNnc3RyICJiYWxpb2dhYmVrbyBpZC1hOiAlc1xuIgorCisjfiBtc2dpZCAiXHQlcyAtaCBmb3IgaGVscC5cbiIKKyN+IG1zZ3N0ciAiXHQlcyAtaCBsYWd1bnR6YXJha28uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcGFyc2U6ICVzIgorI34gbXNnc3RyICJjcmMgZXJyb3JlYSIKKworI34gbXNnaWQgIm1pc3NpbmcgY29tbWEiCisjfiBtc2dzdHIgImtvbWEgZmFsdGEgZGEiCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorCisjfiBtc2dpZCAiMyw1XCIgZmxvcHB5IgorI34gbXNnc3RyICIzLDVcIiBkaXNrZXRlYSIKZGlmZiAtLWdpdCBhL3BvL2ZpLnBvIGIvcG8vZmkucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzkzNmY2MwotLS0gL2Rldi9udWxsCisrKyBiL3BvL2ZpLnBvCkBAIC0wLDAgKzEsMjU5MjMgQEAKKyMgRmlubmlzaCBtZXNzYWdlcyBmb3IgdXRpbC1saW51eAorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBDb3B5cmlnaHQgwqkgMjAwMi0yMDE4IExhdXJpIE51cm1pIDxsYW51cm1pQGlraS5maT4KKyMgTGF1cmkgTnVybWkgPGxhbnVybWlAaWtpLmZpPiwgMjAwMi0yMDE4LgorIyBUb21taSBOaWVtaW5lbiA8dHJhbnNsYXRvckBsZWdpc2lnbi5vcmc+LCAyMDE3LgorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQsIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMKKyMgVMOkdMOkIHRpZWRvc3RvYSBqYSBtdXV0ZXR0dWphIHZlcnNpb2l0YSBzYWEga29waW9pZGEKKyMgamEgbGV2aXR0w6TDpCB2YXBhYXN0aSBlZGVsbHl0dMOkZW4sIGV0dMOkIHTDpHTDpCBvdHNpa2tvYQorIyBlaSBwb2lzdGV0YSwgamEgbXV1dGV0dXQgdmVyc2lvdCBtZXJraXTDpMOkbiBtdXV0ZXR1aWtzaS4KKyMKKyMgKioqCisjICJzaWduYXR1cmUiIHRhcnZpdHNlZSBwYXJlbW1hbiBzdW9tZW5ub2tzZW4ga3VpbiAiYWxsZWtpcmpvaXR1cyIuCisjICoqKgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjMyLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE4LTAzLTE3IDEzOjM2KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IExhdXJpIE51cm1pIDxsYW51cm1pQGlraS5maT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBGaW5uaXNoIDx0cmFuc2xhdGlvbi10ZWFtLWZpQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJMYW5ndWFnZTogZmlcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiAhPSAxKTtcbiIKKyJYLVBvZWRpdC1Cb29rbWFya3M6IC0xLC0xLDU1MSwtMSwtMSwtMSwtMSwtMSwtMSwtMVxuIgorIlgtR2VuZXJhdG9yOiBQb2VkaXQgMi4wLjZcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxsZXZ5bGFpdGU+IDxvc2lvbnVtZXJvPiA8YWxrdT4gPHBpdHV1cz5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAibGlpYW4gdsOkaMOkbiBhcmd1bWVudHRlamEiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAibGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDAKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBvc2lvbnVtZXJvYXJndW1lbnR0aSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gYWxvaXR1c2FyZ3VtZW50dGkiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcGl0dXVzYXJndW1lbnR0aSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAib3Npb24gbGlzw6TDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiYXNldGEgdmFpbiBsdWt1IC10aWxhYW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJhc2V0YSBsdWt1LWtpcmpvaXR1cy10aWxhYW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgImhhZSB2YWluIGx1a3UgLXRpbGEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJoYWUgbG9vZ2lzZW4gbG9oa29uIChzZWt0b3Jpbikga29rbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImhhZSBmeXlzaXNlbiBsb2hrb24gKHNla3RvcmluKSBrb2tvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgImhhZSB2w6RoaW1tw6Rpcy1JL08ta29rbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJoYWUgcGFyYXMgSS9PLWtva28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiaGFlIHRhc2F1c3NpaXJ0eW3DpCB0YXZ1aW5hIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4CisjLCBmdXp6eQorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiWWxpbcOkw6Ryw6Rpc2nDpCBzZWt0b3JlaXRhIHN5bGludGVyaWxsw6QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJoYWUgbG9oa29rb2tvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiaGFlIDMyLWJpdHRpbmVuIHNla3Rvcmltw6TDpHLDpCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJoYWUga29rbyB0YXZ1aW5hIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiYXNldGEgbHVrdWVubmFra28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJoYWUgbHVrdWVubmFra28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImFzZXRhIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gbHVrdWVubmFra28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImhhZSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIGx1a3Vlbm5ha2tvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAidHloamVubsOkIHB1c2t1cml0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibHVlIG9zaW90YXVsdSB1dWRlbGxlZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiCittc2dzdHIgIiAgICAgICAgICAgICDigJ1laeKAnSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworIywgZnV6enkKK21zZ2lkICIgLXYgICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiU2FyYWtrZWl0YSAgICAgICAgICA6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgImhhZSBrb2tvIDUxMi10YXZ1aXNpbmEgc2VrdG9yZWluYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtaXTDpMOkbiBsYWl0ZXR0YSBlaSBhbm5ldHR1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAibGFpdHRlZW4ga29rb2EgZWkgc2FhdHUgc2VsdmlsbGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiVHVudGVtYXRvbiBrb21lbnRvOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgdmFhdGlpIGFyZ3VtZW50aW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgInRpZWRvc3RvbGxlICVzIGVpIHZvaSBrw6R5dHTDpMOkIGlvY3RsOsOkw6QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBvbm5pc3R1aS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAibHVlIG9zaW90YXVsdSB1dWRlbGxlZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogICBBbGt1U2VrdCAgICAgICAgICAgIEtva28gICBMYWl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJLw6R5bm5pc3RldHTDpHbDpCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJQb2lzdGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiUG9pc3RhIG55a3lpbmVuIG9zaW8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAia29rbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJQb2lzdGEgbnlreWluZW4gb3NpbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIlV1c2kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJMdW8gdXVzaSBvc2lvIHR5aGrDpHN0w6QgdGlsYXN0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IgorbXNnc3RyICJMb3BldGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiTG9wZXRhIG9oamVsbWEga2lyam9pdHRhbWF0dGEgb3Npb3RhdWx1YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVHl5cHBpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIk11dXRhIG9zaW9uIHR5eXBwacOkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIk9oamUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIk7DpHl0w6Qgb2hqZXJ1dXR1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworIywgZnV6enkKK21zZ2lkICJTb3J0IgorbXNnc3RyICJMYWppdHRlbHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIktvcmphYSBvc2lvaWRlbiBqw6RyamVzdHlzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICJLaXJqb2l0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICJLaXJqb2l0YSBvc2lvdGF1bHUgbGV2eWxsZSAodMOkbcOkIHNhYXR0YWEgdHVob3RhIGRhdGFhKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJUdWxvc3RhIG9zaW90YXVsdSBydXVkdWxsZSB0YWkgdGllZG9zdG9vbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgIiVzIGlycm90ZXR0dSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJPc2lvbiBuaW1pOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJPc2lvbiBVVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJPc2lvbiB0eXlwcGk6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6RuIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6RuIE5JTUnDljoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6Q6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjUKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiTGlpdG9zcGlzdGU6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIkxldnk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIktva286ICVzLCAlanUgdGF2dWEsICVqdSBzZWt0b3JpYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJOaW1pw7Y6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJOaW1pw7Y6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiS29rbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJWw6RoaW1tw6Rpc2tva28gb24gJWp1IHRhdnVhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJFbmltbcOkaXNrb2tvIG9uICVqdSB0YXZ1YS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJWYWxpdHNlIG9zaW9uIHR5eXBwaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiQW5uYSBza3JpcHRpdGllZG9zdG9uIG5pbWk6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkV0IHB5c3R5IGtpcmpvaXR0YW1hYW4gb3Npb3RhdWx1YS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkxhaXRldHRhICVzIGVpIHZvaSBhdmF0YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImZ0c19yZWFkIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgImZ0c19yZWFkIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJHUFQtb3RzYWtlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJmdHNfcmVhZCBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlZpcmhlZWxsaW5lbiB0eXlwcGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkxldnkgJXMgZWkgc2lzw6RsbMOkIGtlbHZvbGxpc3RhIG9zaW90YXVsdWFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorIywgZnV6enkKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIlTDpG3DpCBvbiBjZmRpc2ssIGN1cnNlcy1wb2hqYWluZW4gbGV2eW5vc2lvaW50aW9oamVsbWEsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKKyMsIGZ1enp5Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgImpvbGxhIHZvaSBsdW9kYSwgcG9pc3RhYSBqYSBtdXV0dGFhIGtpaW50b2xldnlsbMOkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiS29tZW50byAgICAgIE1lcmtpdHlzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgQXNldGEgbnlreWlzZW4gb3Npb24ga8OkeW5uaXN0ZXR0w6R2eXlzbGlwcHUgcMOkw6RsbGUvcG9pcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBQb2lzdGEgbnlreWluZW4gb3NpbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgTsOkeXTDpCB0w6Rtw6Qgb2hqZXJ1dXR1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgTHVvIHV1c2kgb3NpbyB0eWhqw6RzdMOkIHRpbGFzdGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIExvcGV0YSBvaGplbG1hIGtpcmpvaXR0YW1hdHRhIG9zaW90YXVsdWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICBLb3JqYWEgb3Npb2lkZW4gasOkcmplc3R5cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBNdXV0YSBvc2lvbiB0eXlwcGnDpCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg5CisjLCBmdXp6eQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIEtpcmpvaXRhIG9zaW90YXVsdSBsZXZ5bGxlIChvbiBhbm5ldHRhdmEgaXNvIGtpcmphaW4gVykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgS29za2EgdMOkbcOkIHNhYXR0YWEgdHVob3RhIGxldnlsbMOkIG9sZXZhYSBkYXRhYSwga2lyam9pdHVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgb24gam9rbyB2YXJtaXN0ZXR0YXZhIHRhaSBwZXJ1dHRhdmEga2lyam9pdHRhbWFsbGEg4oCdamFh4oCdIHRhaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb251bWVybyBqYSBwb2lzdHVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIk51b2xpIHlsw7ZzICAgU2lpcnLDpCBvc29pdGluIGVkZWxsaXNlZW4gb3Npb29uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJOdW9saSBhbGFzICAgU2lpcnLDpCBvc29pdGluIHNldXJhYXZhYW4gb3Npb29uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIk51b2xpIHlsw7ZzICAgU2lpcnLDpCBvc29pdGluIGVkZWxsaXNlZW4gb3Npb29uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTYKKyMsIGZ1enp5Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiTnVvbGkgYWxhcyAgIFNpaXJyw6Qgb3NvaXRpbiBzZXVyYWF2YWFuIG9zaW9vbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiSHVvbTogS2Fpa2tpIGtvbWVubm90IHZvaSBhbnRhYSBqb2tvIGlzb2lsbGEgdGFpIHBpZW5pbGzDpCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5CisjLCBmdXp6eQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJraXJqYWltaWxsYSAocGFpdHNpIHRhdWx1biBraXJqb2l0dXMgKFcpICkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMDEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJQYWluYSBuw6RwcMOkaW50w6QgamF0a2Fha3Nlc2kuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTcKKyMsIGZ1enp5Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAicG9pc3RhIG9zaW8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwOSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiT3NpbyAlenUgb24gcG9pc3RldHR1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiT3Npb24ga29rbzogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTQKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICJVdXNpIGtva286IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIkxhaXR0ZWVuICVzIG9zaW90YXVsdVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MjcgZGlzay11dGlscy9jZmRpc2suYzoyNTQzIGRpc2stdXRpbHMvZmRpc2suYzoxMDYzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTEKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDMyCittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJIYWx1YXRrbyB2YXJtYXN0aSBraXJqb2l0dGFhIG9zaW90YXVsdW4gbGV2eWxsZT8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJqYWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0MAorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJPc2lvdGF1bHVhIGVpIGtpcmpvaXRldHR1IGxldnlsbGUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiTGV2eW5pbWnDtm4ga2lyam9pdHVzIGVww6Rvbm5pc3R1aS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJPc2lvdGF1bHVhIG9uIG11dXRldHR1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiSHVvbWFhLCBldHTDpCBvc2lvdGF1bHVuIG1lcmtpbm7DpHQgZWl2w6R0IG55dCBvbGUgbGV2eWrDpHJqZXN0eWtzZXNzw6QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAidXVkZW4gbWFhLWFzZXR1c3RvYXJraXN0b24gbHVvbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW3ZhbGl0c2ltZXRdIDxsZXZ5PlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgImx1ZSBvc2lvdGF1bHUgdXVkZWxsZWVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bWlsbG9pbj5dICAgICB2w6RyaXTDpCB0dWxvc3RlIChhdXRvLCBhbHdheXMgdGFpIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJ0dW50ZW1hdG9uIHbDpHJpbW9vZGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDxsZXZ5bGFpdGU+IDxvc2lvbnVtZXJvPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICJoYWtlbWlzdG9uICVzIHBvaXN0YW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiQWx1c3RldGFhbi4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAidmFsbWlzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiVmFybWlzdGV0YWFuLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiTHVrdTogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiT25nZWxtYSBsdWV0dGFlc3NhIHN5bGludGVyacOkICVkLCBvZG90ZXR0aWluICVkLCBsdWV0dGlpbiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorInZpYWxsaXN0YSBkYXRhYSBzeWxpbnRlcmlzc8OkICVkXG4iCisiSmF0a2V0YWFuLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSA8bGFpdGU+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gYXJndW1lbnR0aSAlcyAlczpsbGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gYXJndW1lbnR0aSAlcyAlczpsbGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkgJXMgJXM6bGxlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB2aXJoZWVsbGluZW4gbG9oa29sYWl0ZSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgIk55a3lpc3TDpCBhbHVzdHVzdHl5cHBpw6QgZWkgdm9pIG3DpMOkcml0dMOkw6QiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXNwdW9sZWluZW4sICVkIHVyYWEsICVkIHNla3RvcmlhL3VyYS4gS29rb25haXN0aWxhICVkIGt0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJLYWtzaSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiWWtzaSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQ1Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MyBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgImNsb3NlIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIlZhbGl0c2UgKG9sZXR1cyAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiS8OkeXRldMOkw6RuIG9sZXR1c3Zhc3RhdXN0YSAlYy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjIgZGlzay11dGlscy9mZGlzay5jOjI5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzcxCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI0MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkFydm8gc2FsbGl0dW4gdsOkbGluIHVsa29wdW9sZWxsYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIG9sZXR1cyAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsIG9sZXR1cyAlanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVqdS0lanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglanUtJWp1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4CisjLCBmdXp6eQorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgImtcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIkhla3Nha29vZGkgKEwgbGlzdGFhIGthaWtraSBrb29kaXQpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJPc2lvbiB0eXlwcGkgKEwgbGlzdGFhIGthaWtraSB0eXlwaXQpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRE9TLXlodGVlbnNvcGl2dXVzbGlwcHUgb24gYXNldGV0dHVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRE9TLXlodGVlbnNvcGl2dXVzbGlwcHVhIGVpIG9sZSBhc2V0ZXR0dSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiT3Npb3RhICV6dSBlaSBvbGUgdmllbMOkIG9sZW1hc3NhISIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE4IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAzCittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiVHVudGVtYXRvbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiTGV2eTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgImVpIHZvaSBzaWlydHnDpCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyOAorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJlaSB2b2lkYSBsdWtlYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJFbnNpbW3DpGluZW4gc2VrdG9yaSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3ODYgZGlzay11dGlscy9zZmRpc2suYzoxNDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PG1pbGxvaW4+XSAgICAgdsOkcml0w6QgdHVsb3N0ZSAoYXV0bywgYWx3YXlzIHRhaSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZSBqYSBwb2lzdHVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PG1pbGxvaW4+XSAgICAgdsOkcml0w6QgdHVsb3N0ZSAoYXV0bywgYWx3YXlzIHRhaSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODYKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIkFubmEgc3lsaW50ZXJpZW4gbcOkw6Ryw6Q6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAgICAtaCMgW3RhaSAtLWhlYWRzICNdOiAgICBhc2V0YSBrw6R5dGV0dMOkdsOkIHDDpGlkZW4gbcOkw6Ryw6QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICJBbm5hIHNla3RvcmllbiBtw6TDpHLDpCB1cmFhIGtvaGRlbjogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKKyMsIGZ1enp5Cittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIiVzOiB0aWVkb3N0b2xsZSAlcyBlaSBsw7Z5ZHkgbGFpdGV0dGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAieWh0ZWVuc29waXZ1dXN0aWxhIHR1a2VlIGtvcmtlaW50YWFuIHlodMOkIHRpZWRvc3RvYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBww6TDpGFyZ3VtZW50dGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBzZWt0b3JpYXJndW1lbnR0aSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAiJXM6IHR1bnRlbWF0b24gYXJndW1lbnR0aTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICJlaS10dWV0dHUgYXJndW1lbnR0aSBmdW5rdGlvbGxlICU8X19idWlsdGluX2ZyYW1lX2FkZHJlc3MlPiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDg5CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAidHVudGVtYXRvbiB2w6RyaW1vb2RpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiVmFyb2l0dXM6IHZhbGl0c2ludGEgLWIgKHNla3Rvcmlrb29uIGFzZXR1cykgdHVsZWUga8OkeXR0w6TDpCB5aGRlbiBhbm5ldHVuIGxhaXR0ZWVuIGthbnNzYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAzMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA0OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njk1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODcKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NjcgZGlzay11dGlscy9yYXcuYzoxMzcgZGlzay11dGlscy9yYXcuYzoxNTAKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTYyIGRpc2stdXRpbHMvcmF3LmM6MjAzIG1pc2MtdXRpbHMvY2FsLmM6NTIwCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjU4IG1pc2MtdXRpbHMvbG9vay5jOjE1MCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1NzMKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU4NCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1OTUgbWlzYy11dGlscy93aGVyZWlzLmM6NjM3CisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MDQgc2NoZWR1dGlscy9pb25pY2UuYzoyNjIgc2NoZWR1dGlscy90YXNrc2V0LmM6MTg5CisjOiBzeXMtdXRpbHMvY2hjcHUuYzozNDQgc3lzLXV0aWxzL2NobWVtLmM6NDE5IHN5cy11dGlscy9kbWVzZy5jOjE0NjkKKyM6IHN5cy11dGlscy9pcGNtay5jOjEzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozMjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMjUgc3lzLXV0aWxzL2xzbWVtLmM6NjI4IHN5cy11dGlscy9tb3VudC5jOjY5OAorIzogc3lzLXV0aWxzL21vdW50LmM6NzExIHN5cy11dGlscy9tb3VudC5jOjc4MCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE4MQorIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3MiBzeXMtdXRpbHMvc3dhcG9mZi5jOjIzMCBzeXMtdXRpbHMvc3dhcG9uLmM6OTg4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTAgc3lzLXV0aWxzL3Vtb3VudC5jOjUyOCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTc2CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIzMyB0ZXh0LXV0aWxzL21vcmUuYzozMzcKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgInZpcmhlZWxsaW5lbiBrw6R5dHTDtiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiVGVydmV0dWxvYSBmZGlza2lpbiAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTYgZGlzay11dGlscy9zZmRpc2suYzoxNjE2Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorIk11dXRva3NldCB0ZWhkw6TDpG4gdmFpbiBrw6R5dHTDtm11aXN0aWluIGt1bm5lcyBww6TDpHTDpHQga2lyam9pdHRhYSBuZSBsZXZ5bGxlLlxuIgorIk9sZSB2YXJvdmFpbmVuIGtpcmpvaXR1c2tvbWVubm9uIGvDpHl0w7Zzc8OkLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiTGV2eW5pbWnDtm4gdHl5cHBpOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIlR1bm5pc3RlIHBvaXN0ZXR0dSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJLb2tvOiAlcywgJWp1IHRhdnVhLCAlanUgc2VrdG9yaWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiVkIHDDpMOkdMOkLCAlbGx1IHNla3RvcmlhL3VyYSwgJWQgc3lsaW50ZXJpw6QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICIlNi4yZiUlICglK2xkIHRhdnVhKVx0JXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzggZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGktc29sbXVuIGtva28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJyaWlwcHV2dXVzbGlzdGFsbGUgZWkgdm9pIHZhcmF0YSBtdWlzdGlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJPc2lvdGF1bHVuIHV1ZGVsbGVlbmx1a3UgZXDDpG9ubmlzdHVpLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJjYWNoZV9zZXQgdWhyaW4gdmFyYXVzIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiT3NpbyAlenUgZWkgYWxhIGZ5eXNpc2VuIHNla3RvcmluIHJhamFsdGEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwOQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJIdW9tYWEsIGV0dMOkIG9zaW90YXVsdW4gbWVya2lubsOkdCBlaXbDpHQgbnl0IG9sZSBsZXZ5asOkcmplc3R5a3Nlc3PDpC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiQWxrdSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiTG9wcHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTZWt0b3JpdCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI5CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNAorbXNnaWQgIlNpemUiCittc2dzdHIgIktva28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIktva286ICVzLCAlanUgdGF2dWEsICVqdSBzZWt0b3JpYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgInR1bnRlbWF0b24ga8OkeXR0w6Rqw6QtSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworIywgZnV6enkKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICJZbGVpbmVuIGrDpHJqZXN0ZWxtw6R2aXJoZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgInBvaXN0YSBvc2lvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiICAgZSAgICBsaXN0YWEgbGFhamVubmV0dXQgb3Npb3QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAibHVldHRlbGUga2Fpa2tpIHR1bm5ldHV0IGtvb2RhdHV0IG1lcmtpc3TDtnQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgImxpc8Okw6QgdXVzaSBvc2lvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiVHVsb3N0YSBvc2lvdGF1bHUgcnV1ZHVsbGUgdGFpIHRpZWRvc3Rvb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJtdXV0YSBvc2lvbiB0eXlwcGnDpCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJvc2lvdGF1bHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorIywgZnV6enkKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IGVpIG9sZSBsb2hrb2xhaXRlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICAgbsOkeXTDpCBvc2lvdGF1bHVuIHJhYWthIGRhdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICAgbsOkeXTDpCBvc2lvdGF1bHVuIHJhYWthIGRhdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJrb3JqYWEgb3Npb2lkZW4gasOkcmplc3R5cyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIm7DpHl0w6QgdMOkbcOkIHZhbGlra28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAiICB1ICAgICAgICAgIE11dXRhIG9zaW9rb2tvbsOka3ltw6RuIHlrc2lrw7ZpdMOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiTXV1dGEgbGV2eW4gZ2VvbWV0cmlhYSAodmFpbiBhc2lhbnR1bnRpam9pbGxlKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIlRhbGxlbm5hICYgbG9wZXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICJraXJqb2l0YSB0YXVsdSBsZXZ5bGxlIGphIGxvcGV0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAia2lyam9pdGEgdGF1bHUgbGV2eWxsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiTG9wZXRhIG9oamVsbWEga2lyam9pdHRhbWF0dGEgb3Npb3RhdWx1YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAicGFsYWEgcMOkw6R2YWxpa2tvb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorIywgZnV6enkKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJwYWxhdXR1cyB5aHRlZW5zb3BpbWF0dG9tYXN0YSBvc29pdGludHl5cGlzdMOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJMdW8gdXVzaSBlbnNpw7Zvc2lvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICAgbHVvIHV1c2kgdHloasOkIERPUy1vc2lvdGF1bHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICAgbHVvIHV1c2kgdHloasOkIERPUy1vc2lvdGF1bHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgICBsdW8gdXVzaSB0eWhqw6QgRE9TLW9zaW90YXVsdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgIGx1byB1dXNpIHR5aGrDpCBET1Mtb3Npb3RhdWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBnICAgIGx1byBJUklYIChTR0kpIC1vc2lvdGF1bHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJtdXV0YSBzeWxpbnRlcmllbiBtw6TDpHLDpCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU2Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAibXV1dGEgcMOkaWRlbiBtw6TDpHLDpCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJtdXV0YSBzZWt0b3JpZW4gbcOkw6Ryw6QgdXJhYSBrb2hkZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJtdXV0YSBsZXZ5biBHVUlEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm11dXRhIG9zaW9uIG5pbWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAibXV1dGEgb3Npb24gVVVJRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJBc2V0YSBueWt5aXNlbiBvc2lvbiBrw6R5bm5pc3RldHTDpHZ5eXNsaXBwdSBww6TDpGxsZS9wb2lzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzcKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICJBc2V0YSBueWt5aXNlbiBvc2lvbiBrw6R5bm5pc3RldHTDpHZ5eXNsaXBwdSBww6TDpGxsZS9wb2lzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJWYWlodG9laHRvaXN0ZW4gc3lsaW50ZXJpZW4gbcOkw6Ryw6QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJZbGltw6TDpHLDpGlzacOkIHNla3RvcmVpdGEgc3lsaW50ZXJpbGzDpCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiTG9taXR1c2tlcnJvaW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlB5w7ZyaW1pc25vcGV1cyAocnBtKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJGeXlzaXN0ZW4gc3lsaW50ZXJpZW4gbcOkw6Ryw6QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiVMOkc3TDpCBvc2lvc3RhIGVpIHZvaSB0ZWhkw6Qga8OkeW5uaXN0ZXR0w6R2w6TDpCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2CisjLCBmdXp6eQorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIkvDpHlubmlzdHlzdGllZG9zdG9rc2kgbXV1dGV0dGlpbiDigJ0lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJTaXZ1dHVzb3Npb2xsYSBlaSBvbGUgc2l2dXR1c3R5eXBwacOkLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA4CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICJMYWl0dGVlbGxhICVzIGVpIG9sZSBCU0QtbGV2eW5pbWnDtnTDpC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIkFzZXRhIG55a3lpc2VuIG9zaW9uIGvDpHlubmlzdGV0dMOkdnl5c2xpcHB1IHDDpMOkbGxlL3BvaXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJVdXNpIGRhdGFuIGFsa3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICJvbGV2aWEgb3Npb2l0YS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworIywgZnV6enkKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiRXNpbGF0YXVzb2hqZWxtYSBvbiBww6TDpGxsZWtrw6RpbmVuIGxldnluaW1pw7ZuIGthbnNzYSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorIywgZnV6enkKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiRXNpbGF0YXVzb2hqZWxtYSBvbiBww6TDpGxsZWtrw6RpbmVuIGxldnluaW1pw7ZuIGthbnNzYSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorIywgZnV6enkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIHggICAgbGlua2l0w6QgQlNELW9zaW8gZWktQlNELW9zaW9vbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9oamU6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MyBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPaGplOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiQXNpYW50dW50aWpha29tZW50byAobSBhbnRhYSBvaGplZW4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyNQorbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIktvbWVudG8gKG0gYW50YWEgb2hqZWVuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIkhhbHVhdGtvIHZhcm1hc3RpIGxvcGV0dGFhPyAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAidHVudGVtYXRvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJTa3JpcHRpIGvDpHlubmlzdGV0dHksIHRpZWRvc3RvIG9uICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIlJlc2V0dGluZyBmZGlzayEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiT3NpbyAlenU6IHNpc8OkbHTDpMOkIHNla3RvcmluIDAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1OCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDcKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJIYWx1YXRrbyBraXJqb2l0dGFhIHTDpG3DpG4gbGV2eWxsZT8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAia2lyam9pdHVzIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiT3Npb2rDpHJqZXN0eWtzZW4ga29yamFhbWluZW4gZXDDpG9ubmlzdHVpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjQwCittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIk9zaW9qw6RyamVzdHlzIGtvcmphdHR1LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgInBvaXN0YSBvc2lvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIlZhaWhkZXRhYW4gbsOka3ltw6Qvc3nDtnRleWtzaWvDtmlrc2kgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIlZhaWhkZXRhYW4gbsOka3ltw6Qvc3nDtnRleWtzaWvDtmlrc2kgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIlcUQgZXNpdGVsdHkgZXh0ZXJuLWF2YWluc2FuYWxsYSBzaXPDpGtrw6RpbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIkxhaXR0ZWVsbGEgJXMgZWkgb2xlIEJTRC1sZXZ5bmltacO2dMOkLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCisjLCBmdXp6eQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIkvDpHl0ZXR0w6R2w6QgbXVvdG86IOKAnW5ld+KAnSwg4oCdb2xk4oCdIHRhaSDigJ1jb21wYXTigJ0gKG9sZXR1cykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJVdXNpIG5pbWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgzOQorIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkxhaXR0ZWVsbGEgJXMgZWkgb2xlIEJTRC1sZXZ5bmltacO2dMOkLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIlN5bGludGVyaWVuIG3DpMOkcsOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJQw6RpZGVuIG3DpMOkcsOkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIlNla3RvcmllbiBtw6TDpHLDpCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIG9uIGxpaXRldHR5Llx0ICIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICJmc2NrOiAlczogZWkgbMO2eXR5bnl0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMyOSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTUgZGlzay11dGlscy9zZmRpc2suYzoyOTggbGliZmRpc2svc3JjL2JzZC5jOjY0NQorIzogbGliL3BhdGguYzoxNDAgbGliL3BhdGguYzoxNjEgbGliL3BhdGguYzoxODIgbGliL3BhdGguYzoyMzAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0NSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjU1CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE0IHN5cy11dGlscy9zZXRwcml2LmM6Mjg1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcyMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICJoYWtlbWlzdG9hICVzIGVpIHZvaSBsdWtlYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGxpYi9wYXRoLmM6MTYzIGxpYi9wYXRoLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiaGFrZW1pc3RvbiAlcyBsdW9taW5lbiBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJVbXBpa3VqYSB0aWVkb3N0b24gbHVraW5uYXNzYSAtdmlyaGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIob2RvdGV0YWFuKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICIlcyAlcyVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiJXM6IHR5aGrDpMOkIGthdGVnb3JpYWt1dmF1c3RhIGVpIHNhbGxpdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJzaWlydHltaXN2aXJoZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA0IGRpc2stdXRpbHMvZnNjay5jOjUwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODcgbG9naW4tdXRpbHMvbG9naW4uYzo5NDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDggc3lzLXV0aWxzL2Zsb2NrLmM6MzQ2IHN5cy11dGlscy9uc2VudGVyLmM6MTgwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzIwIHN5cy11dGlscy91bnNoYXJlLmM6MjIxIHN5cy11dGlscy91bnNoYXJlLmM6NDM1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjgwNQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJoYWFyYXV0dGFtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorIywgZnV6enkKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIm9kb3RldGFhbiBsYXBzaXByb3Nlc3NpYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzg1IHN5cy11dGlscy9mbG9jay5jOjM2NCBzeXMtdXRpbHMvc3dhcG9uLmM6MzUyCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0MAorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJ3YWl0cGlkIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICIlczogQy1lc2lrw6TDpG50w6Rqw6QgZXDDpG9ubmlzdHVpIHBhbHV1YXJ2b2xsYSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgInZpcmhlICVkICglbSkga8OkeW5uaXN0ZXR0w6Rlc3PDpCBmc2NrLiVzOnRhIGxhaXR0ZWVsbGUgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEwMDIKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgImrDpHRldMOkw6RuIHB1dXR0dXZhIGhha2VtaXN0byDigJ0lc+KAnSBodW9taW90dGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICJ0dW50ZW1hdG9uIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIOKAnSVz4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI3MAorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIlRhcmtpc3RldGFhbiBrYWlra2kgdGllZG9zdG9qw6RyamVzdGVsbcOkdC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIiAgLVhwcmVwcm9jZXNzb3IgPGFyZz4gICAgIFbDpGxpdMOkIDxhcmc+IGVzaWvDpMOkbnTDpGrDpGxsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorIywgZnV6enkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVGFya2lzdGV0YWFuIGthaWtraSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0CisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICJ0YXJraXN0dXMga2Vza2V5dGV0dHkuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIE11dXRhIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpw6QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTgKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAwCittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDEKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgICAgLWwgW3RhaSAtLWxpc3RdOiAgICAgbGlzdGFhIGthaWtraWVuIGxhaXR0ZWlkZW4gb3Npb3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIlRpZWRvc3RvasOkcmplc3RlbG3DpCBsYWl0dGVlbGxhICVzIG9uIGxpa2FpbmVuLCB2YWF0aWkgdGFya2lzdHVrc2VuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA0CisjLCBmdXp6eQorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICDDpGzDpCBraXJqb2l0YSBsZXZ5bGxlIG9pa2Vhc3RpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA1Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA3CisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYwCittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAibGlpYW4gbW9udGEgbGFpdGV0dGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiT25rbyAvcHJvYyBsaWl0ZXR0eT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIklycm90ZXRhYW4gasOkbGplbGzDpCBvbGV2YXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdC4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAiSXJyb3RldGFhbiBqw6RsamVsbMOkIG9sZXZhdCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0Li4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgImxpaWFuIG1vbnRhIGFyZ3VtZW50dGlhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTQ3IGRpc2stdXRpbHMvZnNjay5jOjE1NTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkgJXMgJXM6bGxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJ2YWxpdHNpbiDigJ0lcyDigJ0gdmFhdGlpIGFyZ3VtZW50aW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gYXJndW1lbnR0aTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE0Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICIlczogdmFyb2l0dXMtLXRpZWRvc3RvasOkcmplc3RlbG3DpG4ga29rb2EgZWkgdm9pIG3DpMOkcml0dMOkw6QgXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICJlaSBvbGUgbG9oa29sYWl0ZSBlaWvDpCB0aWVkb3N0bzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAidGllZG9zdG8gb24gbGlpYW4gbHloeXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzYgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MSBsaWJmZGlzay9zcmMvYnNkLmM6NzE3IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTIKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDMgbG9naW4tdXRpbHMvbGFzdC5jOjIzNyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg0Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgInN1cGVybG9oa29uIHRhaWthbHVrdWEgZWkgbMO2eXR5bnl0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImNyYW1mczpuIHRhdnVqw6RyamVzdHlzIG9uICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJiaWciCittc2dzdHIgImJpZy1lbmRpYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgImxpdHRsZS1lbmRpYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJlaS10dWV0dXQgdGllZG9zdG9qw6RyamVzdGVsbcOkbiBvbWluYWlzdXVkZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJzdXBlcmxvaGtvbiBrb2tvICglZCkgb24gbGlpYW4gcGllbmkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdHloasOkIHRpZWRvc3RvbmltaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJ0aWVkb3N0byBqYXRrdXUgdGllZG9zdG9qw6RyamVzdGVsbcOkbiBsb3B1biB5bGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE2Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICJmdHNfcmVhZCBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJjcmMtdmlyaGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYwCittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorIywgZnV6enkKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAianV1cmVuIGktc29sbXUgZWkgb2xlIGhha2VtaXN0byIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gaS1zb2xtdW4gc2lpcnR5bcOkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgImRhdGFsb2hrbyBvbiBsaWlhbiBzdXVyaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICByZWlrw6Qga29oZGFzc2EgJWxkICglemQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICBwdXJldGFhbiBwYWlra2FhbiAlMiRsZCBsb2hrb2EgJTEkbGQgKCUzJGxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAiZWktbG9oa28gKCVsZCkgdGF2dWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJlaS1rb2tvICglbGQgdnMgJWxkKSB0YXZ1YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAia2lyam9pdHRhbWluZW4gZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24gZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZSBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAidGllZG9zdG9uIGktc29sbXVuIHNpaXJ0eW3DpCBvbiBub2xsYSBtdXR0YSBrb2tvIGVpIG9sZSBub2xsYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2RpciBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgInRpZWRvc3RvbmltZW4gcGl0dXVzIG9uIG5vbGxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHRpZWRvc3RvbmltZW4gcGl0dXVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGktc29sbXVuIHNpaXJ0eW3DpCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJ0aWVkb3N0b24gaS1zb2xtdW4gc2lpcnR5bcOkIG9uIG5vbGxhIG11dHRhIGtva28gZWkgb2xlIG5vbGxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgInRpZWRvc3RvbiBpLXNvbG11biBrb2tvIG9uIG5vbGxhIG11dHRhIHNpaXJ0eW3DpCBlaSBvbGUgbm9sbGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAic3ltYm9saXNlbiBsaW5raW4gc2lpcnR5bcOkIG9uIG5vbGxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJzeW1ib2xpc2VuIGxpbmtpbiBrb2tvIG9uIG5vbGxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgImtva292aXJoZSBzeW1saW5raXNzw6Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgImtva292aXJoZSBzeW1saW5raXNzw6Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgInRpZWRvc3RvbiBpLXNvbG11biBzaWlydHltw6Qgb24gbm9sbGEgbXV0dGEga29rbyBlaSBvbGUgbm9sbGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJwaXN0b2trZWVuIGtva28gZWkgb2xlIG5vbGxhOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJwaXN0b2trZWVuIGtva28gZWkgb2xlIG5vbGxhOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdGlsYTogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJta25vZCBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGNyYW1mcy0taGFrZW1pc3RvZGF0YW4gbG9wcHUgKCVsZCkgIT0gdGllZG9zdG9kYXRhbiBhbGt1ICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gY3JhbWZzLS1oYWtlbWlzdG9kYXRhbiBsb3BwdSAoJWxkKSAhPSB0aWVkb3N0b2RhdGFuIGFsa3UgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBVVEMtc2lpcnR5bcOkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlRhcmtpc3RldGFhbiBrYWlra2kgdGllZG9zdG9qw6RyamVzdGVsbcOkdC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIC1nICAgICAgICAgICAgICAgICAgICAgICAgIGt1dGVuIC1sLCBtdXR0YSDDpGzDpCBuw6R5dMOkIG9taXN0YWppYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICJhdXRvbWFhdHRpbXV1dHR1amEgJXFFIGVpIHZvaSBvbGxhICU8dGhyZWFkcHJpdmF0ZSU+IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgInZ1b3JvdmFpa3V0dGVpc2lpbiBrb3JqYXVrc2lpbiB0YXJ2aXRhYW4gcMOkw6R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChrL2UpPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAoZS9rKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgImVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBvbiBsaWl0ZXR0eS5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiSGFsdWF0a28gdmFybWFzdGkgamF0a2FhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAidGFya2lzdHVzIGtlc2tleXRldHR5LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiVnnDtmh5a2VudW1lcm8gPCBGSVJTVFpPTkUgdGllZG9zdG9zc2Eg4oCdJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiVnnDtmh5a2VudW1lcm8g4omlIFpPTkVTIHRpZWRvc3Rvc3NhIOKAnSVz4oCdLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiUG9pc3RhIGxvaGtvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkx1a3V2aXJoZTogc2lpcnR5bWluZW4gbG9oa29vbiBlaSBvbm5pc3R1IHRpZWRvc3Rvc3NhIOKAnSVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkx1a3V2aXJoZTogdmlhbGxpbmVuIGxvaGtvIHRpZWRvc3Rvc3NhIOKAnSVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIlNpc8OkaW5lbiB2aXJoZTogeXJpdGV0w6TDpG4ga2lyam9pdHRhYSB2aWFsbGlzdGEgbG9oa29hXG4iCisiS2lyam9pdHVzcHl5bnTDtsOkIGVpIGh1b21pb2lkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2Egd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJLaXJqb2l0dXN2aXJoZTogdmlhbGxpbmVuIGxvaGtvIHRpZWRvc3Rvc3NhIOKAnSVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIlZhcm9pdHVzIGktc29sbXVqZW4gbcOkw6Ryw6Qgb24gbGlpYW4gc3V1cmkuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkgZnVua3Rpb3NzYSB3cml0ZV9zdXBlcl9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlcmxvaGtvbiBraXJqb2l0dXMgZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiSS1zb2xtdWthcnR0YWEgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiVnnDtmh5a2VrYXJ0YW4ga2lyam9pdHVzIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIkktc29sbXVqYSBlaSB2b2kga2lyam9pdHRhYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY0CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIm11aXN0aW4gdmFyYWFtaW5lbiBzecO2dGVwdXNrdXJpbGxlIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJzdXBlcmxvaGtvYSBlaSB2b2kgbHVrZWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInZpcmhlZWxsaW5lbiB0YWlrYWx1a3Ugc3VwZXJsb2hrb3NzYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJWYWluIDFrLWxvaGtvdC92ecO2aHlra2VldCBvdmF0IHR1ZXR0dWphIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTMKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHNfaW1hcF9ibG9ja3Mta2VudHTDpCBzdXBlcmxvaGtvc3NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHNfaW1hcF9ibG9ja3Mta2VudHTDpCBzdXBlcmxvaGtvc3NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHNfaW1hcF9ibG9ja3Mta2VudHTDpCBzdXBlcmxvaGtvc3NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MDAKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHNfem1hcF9ibG9ja3Mta2VudHTDpCBzdXBlcmxvaGtvc3NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIkktc29sbXVrYXJ0YWxsZSBlaSB2b2kgdmFyYXRhIHB1c2t1cmlhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiVnnDtmh5a2VrYXJ0YWxsZSBlaSB2b2kgdmFyYXRhIHB1c2t1cmlhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIkktc29sbXVpbGxlIGVpIHZvaSB2YXJhdGEgcHVza3VyaWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJJLXNvbG11amVuIGxhc2tlbWlzZWVuIGVpIHZvaSB2YXJhdGEgcHVza3VyaWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIlZ5w7ZoeWtrZWVuIGxhc2tlbWlzZWVuIGVpIHZvaSB2YXJhdGEgcHVza3VyaWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiSS1zb2xtdWthcnR0YWEgZWkgdm9pIGx1a2VhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiVnnDtmh5a2VrYXJ0dGFhIGVpIHZvaSBsdWtlYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJJLXNvbG11amEgZWkgdm9pIGx1a2VhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIlZhcm9pdHVzOiBFbnNpbW3DpGluZW52ecO2aHlrZSAhPSBOb3JtX2Vuc2ltbcOkaW5lbnZ5w7ZoeWtlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpLXNvbG11YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgbG9oa29hXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIkVuc2ltbcOkaW5lbmRhdGF2ecO2aHlrZT0lbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlZ5w7ZoeWtla29rbz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiTWF4a29rbz0lenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiVGllZC5qw6Ryai4gdGlsYT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiS8OkeXR0w6Rtw6R0dMO2bcOka3NpIG1lcmtpdHR5w6QgaS1zb2xtdWEgJWQga8OkeXRldMOkw6RuIHRpZWRvc3Rvb24g4oCdJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJNZXJraXRzZSBrw6R5dHTDtsO2biIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiVGllZG9zdG9sbGEg4oCdJXPigJ0gb24gdGlsYSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiVmFyb2l0dXMgaS1zb2xtdWplbiBtw6TDpHLDpCBvbiBsaWlhbiBzdXVyaS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImp1dXJlbiBpLXNvbG11IGVpIG9sZSBoYWtlbWlzdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJMb2hrb2Egb24ga8OkeXRldHR5IGFpa2Fpc2VtbWluLiBOeXQgdGllZG9zdG9zc2Eg4oCdJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJUeWhqZW5uw6QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiTG9oa28gJWQgdGllZG9zdG9zc2Eg4oCdJXPigJ0gb24gbWVya2l0dHkga8OkeXR0w6Rtw6R0dMO2bcOka3NpLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNgorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIktvcmphYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJIYWtlbWlzdG8g4oCdJXPigJ0gc2lzw6RsdMOkw6QgdmlyaGVlbGxpc2VuIGktc29sbXVudW1lcm9uIHRpZWRvc3RvbGxlIOKAnSUuKnPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBQb2lzdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IHZpYWxsaW5lbiBoYWtlbWlzdG86IOKAnS7igJ0gZWkgb2xlIGVuc2ltbcOkaXNlbsOkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk5MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogdmlhbGxpbmVuIGhha2VtaXN0bzog4oCdLi7igJ0gZWkgb2xlIHRvaXNlbmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIzCittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgInNpc8OkaW5lbiB2aXJoZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiB2aWFsbGluZW4gaGFrZW1pc3RvOiBrb2tvIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogdmlhbGxpbmVuIGhha2VtaXN0bzog4oCdLuKAnSBlaSBvbGUgZW5zaW1tw6Rpc2Vuw6RcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkgZnVua3Rpb3NzYSBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIkktc29sbXVuICVkIHRpbGEgZWkgb2xlIHR5aGplbm5ldHR5LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJLw6R5dHTDpG3DpHR0w7Ztw6Rrc2kgbWVya2l0dHnDpCBpLXNvbG11YSAlZCBrw6R5dGV0w6TDpG4gdGllZG9zdG9vbiDigJ0lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJLw6R5dHTDpG3DpHR0w7Ztw6Rrc2kgbWVya2l0dHnDpCBpLXNvbG11YSAlZCBrw6R5dGV0w6TDpG4gdGllZG9zdG9vbiDigJ0lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjAKK21zZ2lkICJTZXQiCittc2dzdHIgIkFzZXRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIkktc29sbXUgJWQgKHRpbGEgPSAlMDdvKSwgaV9saW5ra2ltw6TDpHLDpD0lZCwgbGFza2V0dHU9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIkFzZXRhIGlfbGlua2tpbcOkw6Ryw6QgbGFza2V0dW4gbXVrYWlzZWtzaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJWecO2aHlrZSAlbHU6IG1lcmtpdHR5IGvDpHl0dMO2w7ZuLCBtaWvDpMOkbiB0aWVkb3N0byBlaSBrw6R5dMOkIHNpdMOkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJQb2lzdGEgbWVya2ludMOkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJWecO2aHlrZSAlbHU6IGvDpHl0w7Zzc8OkLCBsYXNrZXR0dT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiVnnDtmh5a2UgJWx1OiBlaSBrw6R5dMO2c3PDpCwgbGFza2V0dHU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gaS1zb2xtdW4ga29rbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMwMQorbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdjIgaS1zb2xtdW4ga29rbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgInZ1b3JvdmFpa3V0dGVpc2lpbiBrb3JqYXVrc2lpbiB0YXJ2aXRhYW4gcMOkw6R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJoYWtlbWlzdG9hICVzIGVpIHZvaSBhdmF0YSAoJXMpIOKAkyBtdGFiaS10aWVkb3N0b2EgZWkgcMOkaXZpdGV0dHkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBvbiBwdWhkYXMsIGVpIHRhcmtpc3R1c3RhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiUGFrb3RldGFhbiB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHRhcmtpc3R1cyBsYWl0dGVlbGxhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6QgbGFpdHRlZWxsYSAlcyBvbiBsaWthaW5lbiwgdmFhdGlpIHRhcmtpc3R1a3Nlbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGktc29sbXVhIGvDpHl0ZXR0eSAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB2ecO2aHlrZXR0w6Qga8OkeXRldHR5ICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCB0YXZhbGxpc3RhIHRpZWRvc3RvYVxuIgorIiU2ZCBoYWtlbWlzdG9hXG4iCisiJTZkIG1lcmtraWxhaXRldGllZG9zdG9hXG4iCisiJTZkIGxvaGtvbGFpdGV0aWVkb3N0b2FcbiIKKyIlNmQgbGlua2tpw6RcbiIKKyIlNmQgc3ltYm9saXN0YSBsaW5ra2nDpFxuIgorIi0tLS0tLVxuIgorIiU2ZCB0aWVkb3N0b2FcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIlRJRURPU1RPSsOEUkpFU1RFTE3DhMOEIE9OIE1VVVRFVFRVXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQzMiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzgKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTQxIGRpc2stdXRpbHMvcGFydHguYzoxMDU4IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExNAorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwMAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTEgc3lzLXV0aWxzL2RtZXNnLmM6NjYxIHN5cy11dGlscy93ZGN0bC5jOjM0NworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDEyIHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjk4IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzc1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODcgdGV4dC11dGlscy9wZy5jOjEyNTYKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgImtpcmpvaXR1cyBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiZWkgeXJpdGV0w6QgbHVvZGEgdGllZG9zdG9qw6RyamVzdGVsbcOkw6Qga29odGVlc2VlbiDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IGx1a3V2aXJoZSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJzZWt0b3JpbcOkw6Ryw6Q6ICVkLCBzZWt0b3Jpa29rbzogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gPGlzbzk2NjAtdmVkb3N0aWVkb3N0bz5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk7DpHl0w6QgSVNPLTk2NjAtdGllZG9zdG9qw6RyamVzdGVsbcOkbiBwaXR1dXMuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE4NworbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIG5pbWl0dMOkasOkYXJndW1lbnR0aSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gbHVrdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvc2lvbmltaSBvbiBsaWlhbiBwaXRrw6QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAidGllZG9zdG9qw6RyamVzdGVsbcOkbiBuaW1pIG9uIGxpaWFuIHBpdGvDpCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcml2aW3DpMOkcsOkICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibGFpdHRlZW4gJXMga29rb2EgZWkgdm9pIGhha2VhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJibG9ja3MtYXJndW1lbnR0aSBvbiBsaWlhbiBzdXVyaSwgbWFrc2ltaSBvbiAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAibGlpYW4gbW9udGEgaS1zb2xtdWEg4oCTIG1ha3NpbWkgb24gNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgInRpbGEgZWkgcmlpdMOkLCB2YWFkaXRhYW4gdsOkaGludMOkw6RuICVsbHUgbG9oa29hIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiTGFpdGU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiT3NpbzogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiVGllZGrDpHJqLm5pbWk6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiTG9oa29Lb2tvOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSS1zb2xtdWphOiAlbHUgKDEgbG9oa29zc2EpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSS1zb2xtdWphOiAlbHUgKCVsbHUgbG9oa29zc2EpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJMb2hrb3Q6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSS1zb2xtdW4gbG9wcHU6ICVkLCBEYXRhbiBsb3BwdTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhIHN1cGVybG9oa29hIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICJ2aXJoZSBraXJqb2l0ZXR0YWVzc2EganV1cmVuIGktc29sbXVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhIGktc29sbXVhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAic2lpcnR5bWlzdmlyaGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSDigJ0u4oCdLW1lcmtpbnTDpMOkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhIOKAnS4u4oCdLW1lcmtpbnTDpMOkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgInZpcmhlIHN1bGpldHRhZXNzYSBsYWl0ZXR0YSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIkvDpHl0dMO2OiBta2ZzIFstVl0gWy10IHRpZWQuasOkcmouIHR5eXBwaV0gW3RpZWQuasOkcmoudmFsaXRzaW1ldF0gbGFpdGUgW2tva29dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkx1byBMaW51eC10aWVkb3N0b2rDpHJqZXN0ZWxtw6QuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJrw6R5dHTDtjogJXMgWy1oXSBbLXZdIFstYiBsa29rb10gWy1lIGxhaXRvc10gWy1OIHRhdnVqw6Ryal0gWy1pIHRpZWRdIFstbiBuaW1pXSBoYWtuaW1pIHR1bG9zdGllZFxuIgorIiAtaCAgICAgICAgICBuw6R5dMOkIHTDpG3DpCBvaGplXG4iCisiIC12ICAgICAgICAgIG1vbmlzYW5haXN1dXNcbiIKKyIgLUUgICAgICAgICAga8Okc2l0dGVsZSB2YXJvaXR1a3NldCB2aXJoZWluw6QgKG5vbGxhc3RhIHBvaWtrZWF2YSBwYWx1dWFydm8pXG4iCisiIC1iIGxrb2tvICAgIGvDpHl0w6QgdMOkdMOkIGxvaGtva29rb2EsIG9uIG9sdGF2YSBzYW1hIGt1aW4gc2l2dWtva29cbiIKKyIgLWUgbGFpdG9zICAgYXNldGEgbGFpdG9zbnVtZXJvIChvc2EgdGllZC5qw6Ryai1pZDp0w6QpXG4iCisiIC1OIHRhdnVqw6RyaiBhc2V0YSBjcmFtZnM6biB0YXZ1asOkcmplc3R5cyAoYmlnfGxpdHRsZXxob3N0KSwgb2xldHVzIGhvc3RcbiIKKyIgLWkgdGllZCAgICAgc2lzw6RsbHl0w6QgdGllZG9zdG92ZWRvcyB0aWVkb3N0b2rDpHJqZXN0ZWxtw6TDpG4gKHZhYXRpaSDiiaUgMi40LjA6bilcbiIKKyIgLW4gbmltaSAgICAgYXNldGEgY3JhbWZzLXRpZWRvc3RvasOkcmplc3RlbG3DpG4gbmltaVxuIgorIiAtcCAgICAgICAgICB0YXNhYSAlZCB0YXZ1bGxhIGvDpHlubmlzdHlza29vZGlhIHZhcnRlblxuIgorIiAtcyAgICAgICAgICBsYWppdHRlbGUgaGFrZW1pc3RvbWVya2lubsOkdCAodmFuaGEgdmFsaXRzaW4sIGVpIGh1b21pb2lkYSlcbiIKKyIgLXogICAgICAgICAgdGVlIHJlaWtpw6QgKHZhYXRpaSDiiaUgMi4zLjM5Om4pXG4iCisiIGhha25pbWkgICAgIHRpaXZpc3RldHTDpHbDpG4gdGllZG9zdG9qw6RyamVzdGVsbcOkbiBqdXVyaVxuIgorIiB0dWxvc3RpZWQgICB0dWxvc3RpZWRvc3RvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAicmVhZGxpbmsgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgImhha2VtaXN0b2EgJXMgZWkgdm9pIGx1a2VhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgInRpZWRvc3RvasOkcmplc3RlbG3DpCBvbiBsaWlhbiBzdXVyaS4gTG9wZXRldGFhbi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRTog4oCddGlpdmlzdGV0eW7igJ0gbG9oa29uIGtva28gPiAyKmxvaGtva29rbyAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIHRhdnVhKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAidGllZG9zdG9hICVzIGVpIHZvaSBzdWxrZWEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdGF2dWrDpHJqZXN0eXMgYW5uZXR0dTsgb2x0YXZhIGpva28g4oCdYmln4oCdLCDigJ1saXR0bGXigJ0gdGFpIOKAnWhvc3TigJ0iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJ2YXJvaXR1czogYXJ2aW9rb2tvICh5bMOkcmFqYSkgb24gJWxsZCBNdCwgbXV0dGEgdmVkb2tzZW4gZW5pbW3DpGlza29rbyBvbiAldSBNdC4gUHJvc2Vzc2kgc2FhdHRhYSBww6TDpHR0ecOkIGVubmVuYWlrYWlzZXN0aS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKKyMsIGZ1enp5Cittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiQXZhaW50YSBlaSBvbGUga2FydGFzc2EiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJTaXPDpGxseXRldMOkw6RuOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiSGFrZW1pc3RvZGF0YTogJXpkIHRhdnVhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJLYWlra2k6ICV6ZCBraWxvdGF2dWFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVybG9oa286ICV6ZCB0YXZ1YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICJST00tdmVkb2tzZWxsZSBlaSBvbGUgdmFyYXR0dSByaWl0dMOkdsOkc3RpIHRpbGFhICglbGxkIHZhcmF0dHUsICV6dSBrw6R5dGV0dHkpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlJPTS12ZWRva3NlbiBraXJqb2l0dXMgZXDDpG9ubmlzdHVpICglemQgJXpkKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAidmFyb2l0dXM6IHRpZWRvc3RvbmltZXQgdHlwaXN0ZXTDpMOkbiAyNTUgdGF2dXVuLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAidmFyb2l0dXM6IHRpZWRvc3RvamEgb2hpdGV0dGlpbiB2aXJoZWlkZW4gdGFraWEuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAidmFyb2l0dXM6IHRpZWRvc3RvamVuIGtvb3QgdHlwaXN0ZXR0eSAlbHUgbWVnYXRhdnV1biAobWlpbnVzIDEgdGF2dSkuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTExCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgInZhcm9pdHVzOiB1aWQ6dCB0eXBpc3RldHR5ICV1IGJpdHRpaW4uIChUw6Rtw6Qgdm9pIG9sbGEgdHVydmFvbmdlbG1hLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAidmFyb2l0dXM6IGdpZDp0IHR5cGlzdGV0dHkgJXUgYml0dGlpbi4gKFTDpG3DpCB2b2kgb2xsYSB0dXJ2YW9uZ2VsbWEuKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiVkFST0lUVVM6IGxhaXRlbnVtZXJvdCB0eXBpc3RldHR5ICV1IGJpdHRpaW4uIFTDpG3DpCB0YXJrb2l0dGFhIGzDpGhlc1xuIgorInZhcm1hc3RpLCBldHTDpCBqb3RrdXQgbGFpdGV0aWVkb3N0b3Qgb3ZhdCB2w6TDpHJpbi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgIFRlc3RhYSBnZXRvcHQoMSk6biB2ZXJzaW9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb251bWVybyBqYSBwb2lzdHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgIFRlc3RhYSBnZXRvcHQoMSk6biB2ZXJzaW9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiQW5uYSBzeWxpbnRlcmllbiBtw6TDpHLDpDogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQg4oCTIFRhdWx1IHJhYSdhc3NhIG11b2Rvc3NhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDYKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogc2lpcnR5bWluZW4ga8OkeW5uaXN0eXNsb2hrb29uIGVww6Rvbm5pc3R1aSBmdW5rdGlvc3NhIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiBrw6R5bm5pc3R5c3Nla3RvcmluIHR5aGplbnTDpG1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogc2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2Egd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IHN1cGVybG9oa29uIGtpcmpvaXR1cyBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBpLXNvbG11a2FydHRhYSBlaSB2b2kga2lyam9pdHRhYSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVzOiB2ecO2aHlrZWthcnRhbiBraXJqb2l0dXMgZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczogaS1zb2xtdWphIGVpIHZvaSBraXJqb2l0dGFhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2Egd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHNpaXJ0eW1pbmVuIGvDpHlubmlzdHlzbG9oa29vbiBlcMOkb25uaXN0dWkgZnVua3Rpb3NzYSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGxpaWFuIG1vbnRhIHZpYWxsaXN0YSBsb2hrb2EiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGVpIHJpaXR0w6R2w6RzdGkgZWhqacOkIGxvaGtvamEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpLXNvbG11XG4iCittc2dzdHJbMV0gIiVsdSBpLXNvbG11YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IGxvaGtvYVxuIgorbXNnc3RyWzFdICIlbHUgbG9oa29hXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIlZ5w7ZoeWtla29rbz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICJNYXhrb2tvPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSBsb2hrb2plbiB0ZXN0YXVrc2VuIGFpa2FuYSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJPdXRvamEgYXJ2b2phIGZ1bmt0aW9zc2EgZG9fY2hlY2s6IHRvZGVubsOka8O2aXNlc3RpIG9oamVsbWlzdG92aWtvamFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkgZnVua3Rpb3NzYSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgInZpcmhlZWxsaXNpw6QgbG9oa29qYSBlbm5lbiBkYXRhLWFsdWV0dGE6IHRpZWRvc3RvasOkcmplc3RlbG3DpMOkIGVpIHZvaSBsdW9kYSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCB2aWFsbGluZW4gbG9oa29cbiIKK21zZ3N0clsxXSAiJWQgdmlhbGxpc3RhIGxvaGtvYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhIHN5w7Z0ZXRpZWRvc3RvYTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJ0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHRpZXRvamVuIGx1a2VtaW5lbiB0aWVkb3N0b2xsZSAlcyBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImhha2VtaXN0b24gJXMgbGFpdGV0dGEgamEgaS1zb2xtdWEgZWkgdm9pZGEgbcOkw6RyaXR0w6TDpCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIlRpZWRvc3RvICVzIG9uIGxpaWFuIHBpZW5pLCBlaSB0YXJrYXN0ZXR0dS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIlRpZWRvc3RvasOkcmplc3RlbG3DpCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzg2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkgZnVua3Rpb3NzYSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgb24gbGlpdGV0dHk7IGVpIHRlaGTDpCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6TDpCB0w6Row6RuISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJLw6R5dHTDpGrDpG4gYW50YW1hIHNpdnVrb2tvICV1IG9uIHZpcmhlZWxsaW5lbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiS8OkeXRldMOkw6RuIGvDpHl0dMOkasOkbiBhbnRhbWFhIHNpdnVrb2tvYSAlZCBqw6RyamVzdGVsbcOkbiBhcnZvbiAlZCBzaWphYW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIk5pbWnDtiB0eXBpc3RldHRpaW4uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJlaSBuaW1pw7Z0w6QsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJlaSB1dWlkOnTDpFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLw6R5dHTDtjpcbiIKKyIgJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIFtrb2tvXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgImxpaWFuIG1vbnRhIHZpYWxsaXN0YSBzaXZ1YSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSBmdW5rdGlvc3NhIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IHZpYWxsaW5lbiBzaXZ1XG4iCittc2dzdHJbMV0gIiVsdSB2aWFsbGlzdGEgc2l2dWFcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiaS1zb2xtdWlsbGUgZWkgdm9pIHZhcmF0YSBwdXNrdXJlaXRhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMgorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiaS1zb2xtdWlsbGUgZWkgdm9pIHZhcmF0YSBwdXNrdXJlaXRhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiVmFyb2l0dXM6IHZhbGl0c2ludGEgbm9sb2NrIGVpIHR1ZXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgInNpdnV0dXNsYWl0dGVlbGxhIGVpIHZvaSBzaWlydHnDpCB0YWFrc2Vww6RpbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImvDpHlubmlzdHlzc2VrdG9yaW4gdHloamVudMOkbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImvDpHlubmlzdHlzc2VrdG9yaW4gdHloamVudMOkbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiTGFpdHRlZW4gJXMgb3Npb3RhdWx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICJrw6TDpG5uZXR0eSBpbG1hbiAteC10dWtlYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczogYWxsZWtpcmpvaXR1c3NpdnVhIGVpIHZvaSBraXJqb2l0dGFhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgIkvDpHl0dMOkasOkbiBhbnRhbWEgc2l2dWtva28gJXUgb24gdmlyaGVlbGxpbmVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OAorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAidmFyYXR0dWphIHNlbWFmb3JlamEgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiZHdhcmZpbiB2ZXJzaW8gJWQgZWkgb2xlIHR1ZXR0dSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTYKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMworbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJ2aXJoZTogVVVJRDpuIGrDpHNlbm55cyBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMyCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiU2l2dXR1c3RpbGFhIGVpIHZvaSBsdW9kYTogZWkgbHVldHRhdmlzc2EiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGxvaGtvbcOkw6Ryw6Rhcmd1bWVudHRpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAidmlyaGU6IGtva28gJWxsdSBLaUIgb24gc3V1cmVtcGkga3VpbiBsYWl0dGVlbiBrb2tvICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgInZpcmhlOiBzaXZ1dHVzYWx1ZWVuIG9uIG9sdGF2YSB2w6RoaW50w6TDpG4gJWxkIEtpQjpuIGtva29pbmVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAidmFyb2l0dXM6IHR5cGlzdGV0w6TDpG4gc2l2dXR1c2FsdWUga29rb29uICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICIlcyB2YWlrdXR0YWEgb2xldmFuIHNpdnV0dXN0aWxhYSDigJMgZWkgbGlpdGV0w6QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiB2YXJvaXR1czogdGllZG9zdG9sbGEgJXMgb24gdHVydmF0dG9tYXQgb2lrZXVkZXQgJTA0bywgc3Vvc2l0ZWxsYWFuICUwNG9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiB2YXJvaXR1czogdGllZG9zdG9sbGEgJXMgb24gdHVydmF0dG9tYXQgb2lrZXVkZXQgJTA0bywgc3Vvc2l0ZWxsYWFuICUwNG9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODkKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIlNpdnV0dXN0aWxhYSBlaSB2b2kgbHVvZGE6IGVpIGx1ZXR0YXZpc3NhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIkFzZXRldGFhbiBzaXZ1dHVzdGlsYSwgdmVyc2lvICVkLCBrb2tvID0gJWxsdSBLaUJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6ICVzOiBzZWxpbnV4LXRpZWRvc3RvbmltacO2biBoYWtlbWluZW4gZWkgb25uaXN0dTogJXNcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJtdWlzdGluIHZhcmFhbWluZW4gc3nDtnRlcHVza3VyaWxsZSBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAidXVkZW4gc2VsaW51eC1rb250ZWtzdGluIGx1b21pbmVuIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIyCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgInNlbGludXgta29udGVrc3RpbiBsYXNrZW1pbmVuIGVpIG9ubmlzdHVudXQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiZWkgdm9pZGEgYXZhdGEgZHluYWFtaXN0YSByaWlwcHV2dXV0dGEg4oCdJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIm9zaW9udW1lcm8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAib3Npb24gYWxrdSBzZWt0b3JlaW5hIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJvc2lvbiBsb3BwdSBzZWt0b3JlaW5hIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAic2VrdG9yaWVuIG3DpMOkcsOkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJoZWxwcG9sdWt1aW5lbiBrb2tvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAib3Npb24gbmltaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIm9zaW9uIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAib3Npb3RhdWx1biB0eXlwcGkgKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAib3Npb24gbGlwdXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiIC1pbml0aWFsaXplXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBlaSBsw7Z5dHlueXQgeWh0w6TDpG4gdmFwYWF0YSBsb29wLWxhaXRldHRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJtb3VudDogYWlvdGFhbiBrw6R5dHTDpMOkIGxvb3AtbGFpdGV0dGEgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgbMO2eXR5bnl0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAic2l2dXR1c2xhaXR0ZWVsbGEgZWkgdm9pIHNpaXJ0ecOkIHRhYWtzZXDDpGluIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiBrw6R5dHTDpGrDpC1JRDogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIlZhbGl0dGlpbiBvc2lvICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogJXM7IHN5eSA9ICh0dW50ZW1hdG9uIHRvZGVubnVzdmlyaGUgLSAlZClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICJwb2lzdGV0dGlpbiB0aWVkb3N0byAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIlTDpG3DpCBvc2lvIG9uIGpvIG9sZW1hc3NhLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBDLWVzaWvDpMOkbnTDpGrDpCBlcMOkb25uaXN0dWkgc2lnbmFhbGlsbGEgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgImVpIHNpc8OkbGx5IG9zaW9vbiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiAlczsgc3l5ID0gKHR1bnRlbWF0b24gdG9kZW5udXN2aXJoZSAtICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIkxhaXR0ZWVuICVzIG9zaW90YXVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogQy1lc2lrw6TDpG50w6Rqw6QgZXDDpG9ubmlzdHVpIHNpZ25hYWxpbGxhICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIlZhbGl0dGlpbiBvc2lvICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogJXM7IHN5eSA9ICh0dW50ZW1hdG9uIHRvZGVubnVzdmlyaGUgLSAlZClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIlZhbGl0dGlpbiBvc2lvICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIkxhaXR0ZWVuICVzIG9zaW90YXVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBDLWVzaWvDpMOkbnTDpGrDpCBlcMOkb25uaXN0dWkgc2lnbmFhbGlsbGEgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvcmksICU2anUgTUIpXG4iCittc2dzdHJbMV0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JpYSwgJTZqdSBNQilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJjYWNoZV9zZXQgdWhyaW4gdmFyYXVzIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJsdWUgb3Npb3RhdWx1IHV1ZGVsbGVlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiICAgcCAgICBuw6R5dMOkIEJTRC1vc2lvdGF1bHUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU3Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIktlcnJvIHl0aW1lbGxlIG9zaW9pZGVuIG9sZW1hc3Nhb2xvc3RhIGphIG51bWVyb2lubmlzdGEuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0cml0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAtVCBbdGFpIC0tbGlzdC10eXBlc106bGlzdGFhIHR1bm5ldHV0IG9zaW90eXlwaXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzMgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIkxpc8OkdMOkw6RuIGxvb2dpbmVuIG9zaW8gJXp1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCisjLCBmdXp6eQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm92YXQgdG9pc2Vuc2EgcG9pc3N1bGtldmlhLiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiVHloasOkw6Qgb3Npb3RhIGVpIHZvaSBwb2lzdGFhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGxvaGtvbGFpdGUiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiTGFpdGUg4oCdJXPigJ0gZWkgb2xlIGxvaGtvbGFpdGUiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgImxhaXR0ZWVuICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJoYWtlbWlzdG9uICVzIGxhaXRldHRhIGphIGktc29sbXVhIGVpIHZvaWRhIG3DpMOkcml0dMOkw6QiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiL2Rldi8lczogZWkgb2xlIG1lcmtraWxhaXRlIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiL2Rldi8lczogZWkgb2xlIG1lcmtraWxhaXRlIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorIywgZnV6enkKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICJ2aXJoZTogJXM6IGxhaXRlIG9uIGvDpHl0w7Zzc8OkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJ2aXJoZTogJXM6IGxhaXRlIG9uIGvDpHl0w7Zzc8OkIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxsZXZ5bGFpdGU+IDxvc2lvbnVtZXJvPiA8cGl0dXVzPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyNAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiICVzIDxsZXZ5bGFpdGU+IDxvc2lvbnVtZXJvPiA8YWxrdT4gPHBpdHV1cz5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTExCittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIm9zaW9uIGtvb24gbXV1dHRhbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiTGV2eWFzZW1hbGxhIGVpIHZvaSBzaWlydHnDpCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDMgbGliZmRpc2svc3JjL2JzZC5jOjcyMiBsaWJmZGlzay9zcmMvYnNkLmM6ODk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgInR1bG9zdGEgZWkgdm9pIGtpcmpvaXR0YWE6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICJrb3ZhbiBsaW5raW4gJXMgbHVvbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAia292YW4gbGlua2luICVzIGx1b21pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTUKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJWYXJtdXVza29waW90aWVkb3N0b3Q6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiAlcyA8bGV2eWxhaXRlPiA8b3Npb251bWVybz4gPGFsa3U+IDxwaXR1dXM+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIgJXMgPGxldnlsYWl0ZT4gPG9zaW9udW1lcm8+IDxhbGt1PiA8cGl0dXVzPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIgJXMgPGxldnlsYWl0ZT4gPG9zaW9udW1lcm8+IDxhbGt1PiA8cGl0dXVzPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiICVzIDxsZXZ5bGFpdGU+IDxvc2lvbnVtZXJvPiA8YWxrdT4gPHBpdHV1cz5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiVGllZG9zdG9hIOKAnSVz4oCdIGVpIHZvaSBhdmF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiSGFsdWF0a28ga2lyam9pdHRhYSB0w6Rtw6RuIGxldnlsbGU/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIlBvaXN0dXRhYW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJPc2lvdGF1bHVhIG9uIG11dXRldHR1LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIiVzOiB0dW50ZW1hdG9uIGFyZ3VtZW50dGk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjM0Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCAgTmltaVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIlR1bnRlbWF0b24gb3Npb3RhdWx1biB0eXlwcGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImxhaXR0ZWVuICVzIGtva29hIGVpIHZvaSBoYWtlYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgInlodGVlbnPDpDogJWxsdSBsb2hrb2FcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4OTQgZGlzay11dGlscy9zZmRpc2suYzo5MzUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzMiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwOTYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMDcgZGlzay11dGlscy9zZmRpc2suYzoxNTYxCisjLCBmdXp6eQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGxvb3AtbGFpdGUgYW5uZXR0dSBrYWhkZXN0aSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHN3aXRjaCB0byBQTUJSIgorbXNnc3RyICJsYWl0dGVlbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTA5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogZWkgc2lzw6RsbMOkIHR1bm5pc3RldHR1YSBvc2lvdGF1bHVhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgImNhY2hlX3NldCB1aHJpbiB2YXJhdXMgZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibHVlIG9zaW90YXVsdSB1dWRlbGxlZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogb3Npb3RhdWx1YSBlaSBsw7Z5dHlueXQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIk9zaW9udW1lcm8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDYgZGlzay11dGlscy9zZmRpc2suYzoxMTYxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTcKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgInbDpMOkcsOkIG3DpMOkcsOkIGFyZ3VtZW50dGVqYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIkxhaXR0ZWVuICVzIG9zaW90YXVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgInJpaXBwdXZ1dXNsaXN0YWxsZSBlaSB2b2kgdmFyYXRhIG11aXN0aWEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkxhaXR0ZWVuICVzIG9zaW90YXVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiTGFpdHRlZW4gJXMgb3Npb3RhdWx1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIEtvbWVubm90OlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgICAga2lyam9pdGEgdGF1bHUgbGV2eWxsZSBqYSBsb3BldGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICAgbsOkeXTDpCBCU0Qtb3Npb3RhdWx1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBTecO2dGVtdW90bzpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDQKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE5CisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICJFdCBweXN0eSBraXJqb2l0dGFtYWFuIG9zaW90YXVsdWEuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyMworbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIgRXNpbWVya2tpOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjUKKyMsIGZ1enp5Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgIG4gICAgICAgICAgTHVvIHV1c2kgb3NpbyB0eWhqw6RzdMOkIHRpbGFzdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgInR1bnRlbWF0b24gdsOkcmltb29kaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJ0dW50ZW1hdG9uIHbDpHJpbW9vZGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBzZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJvc2lvbiBsaXPDpMOkbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJHUFQtb3RzYWtlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiVmFyb2l0dXM6IG9zaW9uICVzIGtva28gb24gMCBqYSBzZSBvbiBtZXJraXR0eSBrw6R5bm5pc3RldHTDpHbDpGtzaSIKKworIworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiT3Npb2l0YSBlaSBvbGUgdmllbMOkIG3DpMOkcml0ZWx0eSEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJUZXJ2ZXR1bG9hIHNmZGlza2lpbiAoJXMpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIlRhcmthc3RldGFhbiwgZXR0ZWkga3VrYWFuIGvDpHl0w6QgbGV2ecOkIGp1dXJpIG55dC4uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBFUMOET05OSVNUVUlcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiXG4iCisiVMOkbcOkIGxldnkgb24gdMOkbGzDpCBoZXRrZWxsw6Qga8OkeXTDtnNzw6Qg4oCTIHNlbiB1dWRlbGxlZW5vc2lvaW50aSBvblxuIgorInRvZGVubsOka8O2aXNlc3RpIGh1b25vIGFqYXR1cy4gSXJyb3RhIGthaWtraSBsZXZ5biB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0XG4iCisiKGtvbWVudG8gdW1vdW50KSBqYSBrYWlra2kgbGV2eWxsw6Qgb2xldmF0IHNpdnV0dXNvc2lvdCAoa29tZW50byBzd2Fwb2ZmKS5cbiIKKyJLw6R5dMOkIHZhbGl0c2ludGEgLS1uby1yZXJlYWQgdMOkbcOkbiB0ZXN0aW4gb2hpdHRhbWlzZWVuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIkvDpHl0w6QgLS1mb3JjZSAtdmFsaXRzaW50YSBrYWlra2llbiB0YXJraXN0dXN0ZW4gb2hpdHRhbWlzZWVuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiIE9LXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIlZhbmhhIHRpbGFubmU6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY4Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiXG4iCisiS29tZW50byDigJ1oZWxw4oCdIGFudGFhIGxpc8Okw6QgdGlldG9hLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiS2Fpa2tpIG9zaW9pdCBrw6R5dGV0dHkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJWYWxtaXMuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJKw6R0ZXTDpMOkbiBodW9taW90dGEgb3NpbyAlenUuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MzUgZGlzay11dGlscy9zZmRpc2suYzoxNzk1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgIkxldnluaW1pw7ZuIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJvc2lvbiBsaXPDpMOkbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICJVdXNpIHRpbGFubmU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJIYWx1YXRrbyBraXJqb2l0dGFhIHTDpG3DpG4gbGV2eWxsZT8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJQb2lzdHV0YWFuLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gcG9sa3UgW3BvbGt1IC4uLl1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MQorIywgZnV6enkKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgICAgLWMgW3RhaSAtLWlkOiAgICAgICAgbsOkeXTDpCB0YWkgbXV1dGEgb3Npby1pZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICAgICAgICAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtTiMgOiAgICAgICAgICAgICAgICBtdXV0YSB2YWluIG9zaW90YSBudW1lcm8gIyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY3Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiS2Fpa2tpIHRhcmtpc3R1a3NldCB2b2kgb2hpdHRhYSB2YWxpdHNpbWVsbGE6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PG1pbGxvaW4+XSAgICAgdsOkcml0w6QgdHVsb3N0ZSAoYXV0bywgYWx3YXlzIHRhaSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLWgjIFt0YWkgLS1oZWFkcyAjXTogICAgYXNldGEga8OkeXRldHTDpHbDpCBww6RpZGVuIG3DpMOkcsOkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz12YWxpdHNpbWV0ICAgICBMeWh5ZXQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgLXEgIFt0YWkgLS1xdWlldF06ICAgICB2YWllbm5hIHZhcm9pdHVzdmllc3RpdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxtaWxsb2luPl0gICAgIHbDpHJpdMOkIHR1bG9zdGUgKGF1dG8sIGFsd2F5cyB0YWkgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9a3VvcmkgICAgICAgICAgICBBc2V0YSBrdW9yZW4gbGFpbmF1c2vDpHl0w6RubsO2dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODgKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDE1Cittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzEKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NSBpbmNsdWRlL2MuaDozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyDigJMgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IHNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICJraXJqb2l0dGFtaW5lbiBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBzaWlydHltaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICIlczogbGlpYW4gcGl0a8OkIHRpZWRvc3RvIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAia2lyam9pdHRhbWluZW4gZXDDpG9ubmlzdHVpOiAlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIktva2VpbGUg4oCdJXMgLS1oZWxw4oCdIHRhaSDigJ0lcyAtLXVzYWdl4oCdIHNhYWRha3Nlc2kgbGlzw6TDpCB0aWV0b2EuXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkvDpHl0dMO2OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlZhbGl0c2ltZXQ6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICI/Pz9cbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29tZW5ub3Q6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICJTYXJha2tlaXRhICAgICAgICAgIDpcbiIKKworIzogaW5jbHVkZS9jLmg6MzI1CisjLCBmdXp6eQorbXNnaWQgImRpc3BsYXkgdGhpcyBoZWxwIgorbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNgorIywgZnV6enkKK21zZ2lkICJkaXNwbGF5IHZlcnNpb24iCittc2dzdHIgIiAtdmVyc2lvblxuIgorCisjOiBpbmNsdWRlL2MuaDozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgbmFtZWkoMSkuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5NSBzeXMtdXRpbHMvcnRjd2FrZS5jOjI5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTEKKyM6IHRleHQtdXRpbHMvY29sLmM6MTYwCittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgImtpcmpvaXR1c3ZpcmhlIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJLaXJqYXV0dW1pbmVuIHDDpMOkdHRlZWxsZSAlcyBvc29pdHRlZXN0YSAlcyBldsOkdHR5IG9sZXR1a3NlbmEuXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJLaXJqYXV0dW1pbmVuIHDDpMOkdHRlZWxsZSAlcyBvc29pdHRlZXN0YSAlcyBldsOkdHR5IG9sZXR1a3NlbmEuXG4iCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyNgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDMwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXR1YWxseSBleGNsdXNpdmUgYXJndW1lbnRzOiIKK21zZ3N0ciAib3ZhdCB0b2lzZW5zYSBwb2lzc3Vsa2V2aWEuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIlR5aGrDpCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiTGFhamVubmV0dHUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIGvDpHlubmlzdGV0dMOkdsOkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIEFsa3VsYXRhdWtzZW4gaGFsbGludGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgTGFhaiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiS8OkdGtldHR5IEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxLWRpYWdub3N0aWlra2EiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkvDpHRrZXR0eSBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiS8OkdGtldHR5IEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIkvDpHRrZXR0eSBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIkvDpHRrZXR0eSBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiS8OkdGtldHR5IFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJLw6R0a2V0dHkgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3CisjLCBmdXp6eQorbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJLw6R0a2V0dHkgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYy1wYWxhdXR1cyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyOnMgb3NpbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIlFOWDQueCAzOnMgb3NpbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCB0YWkgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICJWYW5oYSBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXgvdmFuaGEgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4LXNpdnV0dXMgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBsYWFqZW5uZXR0dSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMtb3Npb3J5aG3DpCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHRla3N0aSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgLXZhbG1pdXN0aWxhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJLWZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESS1zaXZ1dHVzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiS8OkdGtldHR5IEJvb3QgV2l6YXJkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorIywgZnV6enkKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5Cittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiZWktdGllZC5qw6Ryai4gZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgdmFpbiBsdWt1IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgImVuc2ltbcOkaW5lbiBhcmd1bWVudHRpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIkJlT1MtdGllZC5qw6Ryai4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICJFRkkgKEZBVC0xMi8xNi8zMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJMaW51eC9QQS1SSVNDIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUy10b2lzaW8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMSBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0Cittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJ2YXJvaXR1czogJXMgb24gdsOkw6RyaW4ga29oZGlzdGV0dHUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJWYWxpdHRpaW4gb3NpbyAlanUiCisKKyMKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJPc2lvaXRhIGVpIG9sZSB2aWVsw6QgbcOkw6RyaXRlbHR5ISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIkVpIHZhcGFpdGEgb3Npb2l0YSBrw6R5dGV0dMOkdmlzc8OkISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIk9zaW9udW1lcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJPc2lvdGEgJWQgZWkgb2xlIHZpZWzDpCBvbGVtYXNzYSFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJPc2lvbGxhICVzIG9uIHZpcmhlZWxsaW5lbiBhbGt1c2VrdG9yaSAwLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTGFpdHRlZWxsYSAlcyBlaSBvbGUgKkJTRC1vc2lvdGEuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAiRW5zaW1tw6RpbmVuIHN5bGludGVyaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVmlpbWVpbmVuIHN5bGludGVyaSwgK3N5bGludGVyaW3DpMOkcsOkIHRhaSAra29rb3tLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTYgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTggbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVmlpbWVpbmVuIHNla3RvcmksICtzZWt0b3JpbcOkw6Ryw6QgdGFpICtrb2tve0ssTSxHfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkxhaXR0ZWVsbGEgJXMgZWkgb2xlIEJTRC1sZXZ5bmltacO2dMOkLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MgorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJMdW9kYWFua28gQlNELWxldnluaW1pw7Y/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgIkxldnk6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJMaXB1dCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBzaWlycmV0dMOkdsOkIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYmFkc2VjdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgInRhdnVhL3Nla3RvcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJ1cmFhL3N5bGludGVyaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JpYS9zeWxpbnRlcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTAgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjgKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIlN5bGludGVyaXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTUgbGliZmRpc2svc3JjL3N1bi5jOjc3MworIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAibG9taXR1cyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInVyYXbDpMOkcmlzdHltw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTAKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJzeWxpbnRlcml2w6TDpHJpc3R5bcOkIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE1CisjLCBmdXp6eQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgInDDpMOkbnZhaWh0byIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorIywgZnV6enkKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJyYWlkYWx0YSByYWlkYWxsZSBzaWlydHltaW5lbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMAorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAidGF2dWEvc2VrdG9yaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNla3RvcmlhL3VyYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAidXJhYS9zeWxpbnRlcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgInN5bGludGVyaXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTkKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JpYS9zeWxpbnRlcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImxvbWl0dXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInVyYXbDpMOkcmlzdHltw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgInN5bGludGVyaXbDpMOkcmlzdHltw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjcKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJww6TDpG52YWlodG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJyYWlkYWx0YSByYWlkYWxsZSBzaWlydHltaW5lbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiRXNpbGF0YXVzb2hqZWxtYTogJXNib290IOKGkiBib290JXMgKCVzKTogIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiRXNpbGF0YXVzb2hqZWxtYSBvbiBww6TDpGxsZWtrw6RpbmVuIGxldnluaW1pw7ZuIGthbnNzYSEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJQYWtldHRpYSBlaSBvbGUgYXNlbm5ldHR1IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiS2lyam9pdHRhbmVldCAlcyBqYSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTeW5rcm9ub2lkYWFuIGxldnl0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MgorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICIgICB4ICAgIGxpbmtpdMOkIEJTRC1vc2lvIGVpLUJTRC1vc2lvb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRm9rbyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiQmtva28iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogbGFpdHRlZW4gc3Vsa2VtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2Cittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiS3V0c3V0YWFuIG9zaW90YXVsdW4gdXVkZWxsZWVuIGx1a2V2YSBpb2N0bCgpLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiT3Npb3RhdWx1biB1dWRlbGxlZW5sdWt1IGVww6Rvbm5pc3R1aS4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICJZZGluIGvDpHl0dMOkw6QgZWRlbGxlZW4gdmFuaGFhIHRhdWx1YS4gVXVzaSB0YXVsdSB0dWxlZSBrw6R5dHTDtsO2biBzZXVyYWF2YXNzYSBrw6R5bm5pc3R5a3Nlc3PDpCB0YWkgYWphbWFsbGEgcGFydHByb2JlKDgpIHRhaSBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICJoYWtlbWlzdG9uICVzIHBvaXN0YW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSBmdW5rdGlvc3NhIHdyaXRlX3RhYmxlcyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgIm9zaW9uIGxpc8Okw6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICJZZGluIGvDpHl0dMOkw6QgZWRlbGxlZW4gdmFuaGFhIHRhdWx1YS4gVXVzaSB0YXVsdSB0dWxlZSBrw6R5dHTDtsO2biBzZXVyYWF2YXNzYSBrw6R5bm5pc3R5a3Nlc3PDpCB0YWkgYWphbWFsbGEgcGFydHByb2JlKDgpIHRhaSBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICJzeWxpbnRlcmkiCittc2dzdHJbMV0gInN5bGludGVyacOkIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNla3RvcmkiCittc2dzdHJbMV0gInNla3Rvcml0IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKKyMsIGZ1enp5Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiR2VvbWV0cmlhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiS2Fpa2tpIGVuc2nDtm9zaW90IG9uIGpvIG3DpMOkcml0ZWx0eS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIkVpIHZhcGFpdGEgb3Npb2l0YSBrw6R5dGV0dMOkdmlzc8OkISIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAibHVlIG9zaW90YXVsdSB1dWRlbGxlZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICIiCisiJXMlcy5cbiIKKyJUw6Rtw6RuIHZvaSB0ZWhkw6QgbGlzw6R0b2ltaW50b3ZhbGlrb3N0YS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIgIHUgICAgICAgICAgTXV1dGEgb3Npb2tva29uw6RreW3DpG4geWtzaWvDtml0w6QiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJWaWFsbGluZW4gZW5zacO2b3NpbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKyJWYXJvaXR1czogZWkgaHVvbWlvaWRhICMlZDpuIGrDpGxrZWlzacOkIG9zaW9pdGEuXG4iCisiTmUgdHVob3RhYW4gam9zIHTDpG3DpCBvc2lvdGF1bHUgdGFsbGVubmV0YWFuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiWWxpbcOkw6Ryw6RpbmVuIGxpbmtraW9zb2l0aW4gb3Npb3RhdWx1c3NhICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIllsaW3DpMOkcsOkaXN0w6QgbGFhamVubmV0dHVhIG9zaW90YSAlZCBlaSBodW9taW9pZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAiT3NpbyAlenU6IHR5aGrDpC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICJMdW90aWluIHV1c2kgU0dJLWxldnluaW1pw7YuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgIG11dXRhIGxldnluIHR1bm5pc3RldHRhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFydm8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJMZXZ5biB0dW5uaXN0ZTogMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiWWxpbcOkw6Ryw6Rpc3TDpCBsYWFqZW5uZXR0dWEgb3Npb3RhICV6dSBlaSBodW9taW9pZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJWYXJvaXR1czogb3Npb3RhdWx1biAlMiRkIHZpcmhlZWxsaW5lbiBsaXBwdSAweCUxJDA0eCBrb3JqYXRhYW4ga2lyam9pdGV0dGFlc3NhICh3KVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiQWxrdXNla3RvcmkgJWp1IHNhbGxpdHVuIHbDpGxpbiB1bGtvcHVvbGVsbGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiT3NpbyAlemQgb24gam8gbcOkw6RyaXRlbHR5LiBQb2lzdGEgc2UgZW5uZW4gdXVkZWxsZWVuIGxpc8Okw6RtaXN0w6QuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIlNla3RvcmkgJWxsdSBvbiBqbyB2YXJhdHR1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODUgbGliZmRpc2svc3JjL2dwdC5jOjIzMzAKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiRWkgdmFwYWl0YSBzZWt0b3JlaXRhIGvDpHl0ZXR0w6R2aXNzw6QuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJMaXPDpHTDpMOkbiBsb29naW5lbiBvc2lvICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIk9zaW8gJXp1OiBzaXPDpGx0w6TDpCBzZWt0b3JpbiAwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJPc2lvICV6dTogcMOkw6QgJWQgb24gc3V1cmVtcGkga3VpbiBtYWtzaW1pICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiT3NpbyAlenU6IHNla3RvcmkgJWQgb24gc3V1cmVtcGkga3VpbiBtYWtzaW1pICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIk9zaW8gJXp1OiBzeWxpbnRlcmkgJWQgb24gc3V1cmVtcGkga3VpbiBtYWtzaW1pICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIk9zaW8gJXp1OiBlZGVsbGluZW4gc2VrdG9yaW3DpMOkcsOkICV1IG9uIHJpc3RpcmlpZGFzc2Ega29rb25haXNtw6TDpHLDpG4gJXUga2Fuc3NhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiT3Npb2xsYSAlZCBvbiBlcmkgZnl5c2lzZXQvbG9vZ2lzZXQgYWxrdWtvaGRhdCAoZWktTGludXg/KTpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiT3Npb2xsYSAlZCBvbiBlcmkgZnl5c2lzZXQvbG9vZ2lzZXQgbG9wcHVrb2hkYXQ6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJWYXJvaXR1czogb3NpbyAlcyBlaSBww6TDpHR5IHN5bGludGVyaW4gcmFqYWxsZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiVmFyb2l0dXM6IHZpcmhlZWxsaW5lbiBvc2lvbiBhbGt1IChhaWthaXNpbiAlbGx1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMaXPDpHTDpMOkbiBsb29naW5lbiBvc2lvICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJPc2lvICV6dTogdHloasOkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMaXPDpHTDpMOkbiBsb29naW5lbiBvc2lvICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJWYXJhdHR1amVuIHNla3RvcmVpZGVuIGtva29uYWlzbcOkw6Ryw6QgJWxsdSBvbiBzdXVyZW1waSBrdWluIG1ha3NpbWkgJWxsdVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiVsbGQgdmFyYWFtYXRvbnRhICVkLXRhdnVpc3RhIHNla3RvcmlhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAxIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDYzCisjLCBmdXp6eQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIlTDpG3DpCBvc2lvIG9uIGpvIG9sZW1hc3NhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJNYWtzaW1pbcOkw6Ryw6Qgb3Npb2l0YSBvbiBsdW90dVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIkthaWtraSBlbnNpw7Zvc2lvdCBvdmF0IGvDpHl0w7Zzc8OkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiS2Fpa2tpIGVuc2nDtm9zaW90IG92YXQga8OkeXTDtnNzw6QuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3CisjLCBmdXp6eQorbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiSm9raW4gb3NpbyBvbiBwb2lzdGV0dGF2YSBqYSBsaXPDpHR0w6R2w6QgbGFhamVubmV0dHUgb3NpbyBlbnNpblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJLYWlra2kgbG9vZ2lzZXQgb3Npb3Qgb3ZhdCBrw6R5dMO2c3PDpC4gTGlzw6R0w6TDpG4gZW5zacO2b3Npby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIk9zaW9uIHR5eXBwaSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1IGVuc2nDtiwgJWQgbGFhamVubmV0dHUsICV6dSB2YXBhYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJlbnNpw7YiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgImxhYWplbm5ldHR1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJzw6RpbGnDtiBsb29naXNpbGxlIG9zaW9pbGxlIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImxvb2dpbmVuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAibnVtZXJvaXR1IDU6c3TDpCBhbGthZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIlZpcmhlZWxsaW5lbiBvc2lvdHl5cHBpIOKAnSVj4oCdLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHRpZWRvc3RvbGxlICVzIGVpIGzDtnlkeSBsYWl0ZXR0YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorIywgZnV6enkKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIlR1bm5pc3RlIHBvaXN0ZXR0dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJUeXlwcGkgMCBtZXJraXRzZWUgdHloasOkw6QgdGlsYWEgdXNlaXNzYSBqw6RyamVzdGVsbWlzc8OkLiBUeXlwcGnDpCAwIG9sZXZpZW4gb3Npb2lkZW4gcGl0w6RtaW5lbiBlaSB0b2Rlbm7DpGvDtmlzZXN0aSBvbGUgdmlpc2FzdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA3MworbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiRWkgbWl0w6TDpG4gdGVodMOkdsOkw6QuIErDpHJqZXN0eXMgb24gam8gb2lrZWEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiTGlzw6R0w6TDpG4gbG9vZ2luZW4gb3NpbyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJVdXNpIGRhdGFuIGFsa3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJZbGltw6TDpHLDpGlzdMOkIGxhYWplbm5ldHR1YSBvc2lvdGEgJXp1IGVpIGh1b21pb2lkYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkxhaXRlIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJLw6R5bm5pc3RldHTDpHbDpCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIkFsa3UtQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1CisjLCBmdXp6eQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiQWxrdS1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiT3Npb251bWVybyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIEZhc3QgRmxhc2giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJLw6R5bm5pc3RldHTDpHbDpCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJLw6R5bm5pc3RldHTDpHbDpCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkvDpHlubmlzdGV0dMOkdsOkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQUEMgUFJlUCBCb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiS8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMtcGFsYXV0dXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiRGF0YWEgZWkgb2xlIGvDpHl0ZXR0w6R2aXNzw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiTmltaSB0YWkgcGFsdmVsdSBvbiB0dW50ZW1hdG9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MCBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eC1zaXZ1dHVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXgtdGllZG9zdG9qw6RyamVzdGVsbcOkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICJMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworIywgZnV6enkKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJUdW90YSA2NC1iaXR0aXN0w6QgeDg2LTY0LWtvb2RpYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJUdW90YSA2NC1iaXR0aXN0w6QgeDg2LTY0LWtvb2RpYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJUdW90YSA2NC1iaXR0aXN0w6QgeDg2LTY0LWtvb2RpYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorIywgZnV6enkKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBsYWFqZW5uZXR0dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNELWvDpHlubmlzdHlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNELXNpdnV0dXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRC1VRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRC1aRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorIywgZnV6enkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorIywgZnV6enkKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorIywgZnV6enkKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiS8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIm5pbWnDtiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljLXBhbGF1dHVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2CisjLCBmdXp6eQorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAidGFsbGVubnVzbHVva2thIGFubmV0dHUgdHlwZW5hbWVsbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJMaW51eC1zaXZ1dHVzIC8gU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qtc2l2dXR1cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCBGRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QgTEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICJTYWxhdHR1YSBkYXRhYVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJDaHJvbWVPUy15ZGluIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0CisjLCBmdXp6eQorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIkNocm9tZU9TLXlkaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TLXlkaW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiRGF0YWEgZWkgb2xlIGvDpHl0ZXR0w6R2aXNzw6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiS8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBzaXZ1dHVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QtWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJDb21wYXEtZGlhZ25vc3RpaWtrYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiQ2hyb21lT1MteWRpbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorIywgZnV6enkKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QtZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJBbm5hIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAicG9pc3RhIG9zaW8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIkdQVC1vdHNha2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgInRpZWRvc3RvbiB0aWxhbiBsdWtlbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTEKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICJHUFQtb3RzYWtlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJHUFQtbWVya2lubsOkdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJFbnNpbW3DpGluZW4gTEJBOiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICJWaWltZWluZW4gTEJBOiAlanUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiVmFpaHRvZWh0b2luZW4gTEJBOiAlanUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJFbnNpbW3DpGluZW4gTEJBOiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiICB1ICAgICAgICAgIE11dXRhIG9zaW9rb2tvbsOka3ltw6RuIHlrc2lrw7ZpdMOkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5NQorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNsYXRlIHBhcnRpdGlvbiBuYW1lLCBuYW1lIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAib3Npb24gbGlzw6TDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIm9zaW9uIGFsa3Ugc2VrdG9yZWluYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAib3Npb24gbG9wcHUgc2VrdG9yZWluYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTGV2eSAlcyBlaSBzaXPDpGxsw6Qga2Vsdm9sbGlzdGEgb3Npb3RhdWx1YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJWaXJoZWVsbGluZW4gb3Npb21lcmtpbm7DpG4gdGFya2lzdHVzc3VtbWEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIk9zaW8gJXUgb24gcMOkw6RsbGVra8OkaW5lbiBvc2lvbiAldSBrYW5zc2EuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJPc2lvICV1IG9uIGxpaWFuIHN1dXJpIGxldnlsbGUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIk9zaW9uIGxvcHB1IG9uIGVubmVuIHNla3RvcmlhIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiVmlyaGVpdMOkIGVpIGhhdmFpdHR1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJPdHNha2tlZW4gdmVyc2lvOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV6dSBvdXQgb2YgJXp1IHBhcnRpdGlvbnMuIgorbXNnc3RyICJvdXRvYSwgdmFpbiAlZCBvc2lvdGEgbcOkw6RyaXRlbHR5LlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiRWkgdmFwYWl0YSBzZWt0b3JlaXRhIGvDpHl0ZXR0w6R2aXNzw6RcbiIKK21zZ3N0clsxXSAiRWkgdmFwYWl0YSBzZWt0b3JlaXRhIGvDpHl0ZXR0w6R2aXNzw6RcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICJZa3NpIHZpcmhlIGhhdmFpdHR1LiIKK21zZ3N0clsxXSAiJWQgdmlyaGV0dMOkIGhhdmFpdHR1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiS2Fpa2tpIGVuc2nDtm9zaW90IG92YXQga8OkeXTDtnNzw6QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIlNla3RvcmkgJWp1IG9uIGpvIGvDpHl0ZXR0eS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkxva2l0aWVkb3N0b2EgZWkgdm9pdHUgbHVvZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIgICBzICAgIGx1byB1dXNpIHR5aGrDpCBTdW4tbGV2eW5pbWnDtiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NDYKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIkVpIG9zaW90YXVsdWEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJPc2lvbGxhICVzIG9uIHZpcmhlZWxsaW5lbiBhbGt1c2VrdG9yaSAwLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiTWFrc2ltaW3DpMOkcsOkIG9zaW9pdGEgb24gbHVvdHVcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiTXVpc3RpbiB2YXJhYW1pbmVuIGVpIG9ubmlzdHUhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIk9zaW9uICVkIGrDpHJqZXN0ZWxtw6R0eXlwcGluw6Qgc8OkaWx5aSAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIk9zaW9uICVkIGrDpHJqZXN0ZWxtw6R0eXlwcGluw6Qgc8OkaWx5aSAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJPc2lvbiAlZCBqw6RyamVzdGVsbcOkdHl5cHBpbsOkIHPDpGlseWkgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNAorIywgZnV6enkKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTmltaSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0OAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIlZhcGFhIHRpbGEiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAib3Npb24ga29vbiBtdXV0dGFtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgInR1bnRlbWF0dG9tYXNzYSAiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NgorbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4bWFpbmVuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiSGF2YWl0dGlpbiBTR0ktbGV2eW5pbWnDtiwgam9sbGEgb24gdsOkw6Ryw6QgdGFya2lzdHVzc3VtbWEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkZ5eXNpc2V0IHN5bGludGVyaXQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODYgbGliZmRpc2svc3JjL3N1bi5jOjc4OAorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIllsaW3DpMOkcsOkaXNpw6Qgc2VrdG9yZWl0YSBzeWxpbnRlcmlsbMOkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJLw6R5bm5pc3R5c3RpZWRvc3RvOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJWaXJoZWVsbGluZW4ga8OkeW5uaXN0eXN0aWVkb3N0byEgS8OkeW5uaXN0eXN0aWVkb3N0b24gb24gb2x0YXZhIGFic29sdXV0dGluZW4sIGVpLXR5aGrDpCBwb2xrdSwgZXNpbS4g4oCdL3VuaXjigJ0gdGFpIOKAnS91bml4LnNhdmXigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIkvDpHlubmlzdHlzdGllZG9zdG9uIG5pbWkgb24gbGlpYW4gcGl0a8OkOiBtYWtzaW1pICV6dSB0YXZ1LiIKK21zZ3N0clsxXSAiS8OkeW5uaXN0eXN0aWVkb3N0b24gbmltaSBvbiBsaWlhbiBwaXRrw6Q6IG1ha3NpbWkgJXp1IHRhdnVhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIkvDpHlubmlzdHlzdGllZG9zdG9uIHBvbHVuIG9uIG9sdGF2YSB0w6R5ZGVsbGluZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHRIdW9tYWEsIGV0dMOkIGvDpHlubmlzdHlzdGllZG9zdG9uIG9sZW1hc3Nhb2xvYSBlaSB0YXJraXN0ZXRhLlxuIgorIlx0U0dJOm4gb2xldHVzIG9uIOKAnS91bml44oCdLCBqYSB2YXJtdXVza29waW9sbGUg4oCdL3VuaXguc2F2ZeKAnS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiS8OkeW5uaXN0eXN0aWVkb3N0b2EgZWkgbXV1dGV0dHUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJLw6R5bm5pc3R5c3RpZWRvc3RvYSBlaSBtdXV0ZXR0dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDUKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiS8OkeW5uaXN0eXN0aWVkb3N0b2EgZWkgbXV1dGV0dHUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiS8OkeW5uaXN0eXN0aWVkb3N0b2tzaSBtdXV0ZXR0aWluIOKAnSVz4oCdLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIkxldnlsbMOkIG9uIHVzZWFtcGkga3VpbiB5a3NpIGtva29sZXZ5bWVya2ludMOkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMiBsaWJmZGlzay9zcmMvc3VuLmM6NDU5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiT3Npb2l0YSBlaSBvbGUgbcOkw6RyaXRlbHR5LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVggcGl0w6TDpCBzaWl0w6QsIGV0dMOkIG9zaW8gMTEgdMOkeXR0w6TDpCBrb2tvIGxldnluLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJLb2tvIGxldnluIG9zaW9uIHR1bGVlIGFsa2FhIGxvaGtvc3RhIDAsIGVpIGxvaGtvc3RhICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiT3Npb24gMTEgdHVsaXNpIHTDpHl0dMOkw6Qga29rbyBsZXZ5bi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJPc2lvdCAlZCBqYSAlZCBvdmF0IHDDpMOkbGxla2vDpGlzZXQgJWQgc2VrdG9yaW4gdmVycmFuLiIKK21zZ3N0clsxXSAiT3Npb3QgJWQgamEgJWQgb3ZhdCBww6TDpGxsZWtrw6Rpc2V0ICVkIHNla3RvcmluIHZlcnJhbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJLw6R5dHTDpG3DpHTDtm4gJTh1IHNla3RvcmluIGFsdWU6IHNla3Rvcml0ICU4deKAkyV1IgorbXNnc3RyWzFdICJLw6R5dHTDpG3DpHTDtm4gJTh1IHNla3RvcmluIGFsdWU6IHNla3Rvcml0ICU4deKAkyV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiS8OkeW5uaXN0eXNvc2lvdGEgZWkgb2xlIG9sZW1hc3NhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIlNpdnV0dXNvc2lvdGEgZWkgb2xlIG9sZW1hc3NhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiU2l2dXR1c29zaW9sbGEgZWkgb2xlIHNpdnV0dXN0eXlwcGnDpC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiVmFsaXR0dSBrw6R5bm5pc3R5c3RpZWRvc3RvbiBuaW1pIG9uIGVww6R0YXZhbGxpbmVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OAorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiTGV2eWxsw6Qgb24gcMOkw6RsbGVra8OkaXNpw6Qgb3Npb2l0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJZcml0ZXTDpMOkbiBsdW9kYSBrb2tvbGV2eW1lcmtpbnTDpCBhdXRvbWFhdHRpc2VzdGkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ4Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJLb2tvIGxldnkgb24gam8gb3Npb2lkZW4ga8OkeXTDtnNzw6QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJMZXZ5bGzDpCBvbiBww6TDpGxsZWtrw6Rpc2nDpCBvc2lvaXRhLiBQw6TDpGxsZWtrw6Rpc3l5cyBvbiBrb3JqYXR0YXZhIGVuc2luISIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJFbnNpbW3DpGluZW4gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTggbGliZmRpc2svc3JjL3NnaS5jOjk0OAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICJPbiBlcml0dMOkaW4gc3Vvc2l0ZWx0YXZhYSwgZXR0w6QgeWhkZXN0b2lzdGEgb3NpbyBrYXR0YWEga29rbyBsZXZ5biBqYSBvbiB0eXlwcGnDpCDigJ1TR0kgdm9sdW1l4oCdLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxMyBsaWJmZGlzay9zcmMvc3VuLmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJWaWltZWluZW4gc3lsaW50ZXJpLCArc3lsaW50ZXJpbcOkw6Ryw6QgdGFpICtrb2tve0ssTSxHfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NCBsaWJmZGlzay9zcmMvc3VuLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIiIKKyJWYXJvaXR1czogQkxLR0VUU0laRS1pb2N0bCBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcy4gS8OkeXRldMOkw6RuIGdlb21ldHJpYW5cbiIKKyJzeWxpbnRlcmlhcnZvYSAlZC4gVMOkbcOkIGFydm8gdm9pIHR5cGlzdHnDpCBsYWl0dGVpbGxhLCBqb3RrYSBvdmF0IHN1dXJlbXBpYVxuIgorImt1aW4gMzMsOCBHdC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTAKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICJMdW90aWluIHV1c2kgU0dJLWxldnluaW1pw7YuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorIywgZnV6enkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIlZhbGl0ZXR0YXZhc3RpIHZhaW4gcMOkw6Rrw6R5dHTDpGrDpCB2b2kgc8Okw6R0w6TDpCBqw6RyamVzdGVsbcOka2VsbG9hLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIk9zaW9uIDkgdHl5cGlrc2kgb24gc3l5dMOkIGrDpHR0w6TDpCBvc2lvLW90c2lra28gKDApLCBqYSBvc2lvbiAxMSB0eXlwaWtzaSBrb2tvIG9zaW8gKDYpLCBrb3NrYSBJUklYIG9kb3R0YWEgbsOkaW4gb2xldmFuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICIiCisiT24gZXJpdHTDpGluIHN1b3NpdGVsdGF2YWEsIGV0dMOkIG9zaW9sbGEgc2lpcnR5bcOkbiAwIGtvaGRhbGxhXG4iCisib24gdHl5cHBpIOKAnVNHSSB2b2xoZHLigJ0uIElSSVgtasOkcmplc3RlbG3DpCBvbGV0dGFhLCBldHTDpFxuIgorImVyaWxsaXN0ecO2a2FsdXQsIGt1dGVuIHNhc2ggamEgZngsIHZvaWRhYW4gaGFrZWEgc2VuIGhha2VtaXN0b3N0YS5cbiIKKyJWYWluIOKAnVNHSSB2b2x1bWXigJ0gLWtva29sZXZ5b3N1dXMgdm9pIHJpa2tvYSB0w6R0w6Qgc8Okw6RudMO2w6QuXG4iCisiS2lyam9pdGEgSkFBLCBqb3Mgb2xldCB2YXJtYSB0w6Rtw6RuIG9zaW9uIG1lcmtpdHNlbWlzZXN0w6QgdG9pc2luLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIHJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJLb2tvIGxldnkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTdW5PUyBhbHQgc2VjdG9ycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyJIYXZhaXR0aWluIFN1bi1sZXZ5bmltacO2LCBqb2xsYSBvbiB2w6TDpHLDpFxuIgorInRhcmtpc3R1c3N1bW1hLiBKb3VkdXQgdG9kZW5uw6Rrw7Zpc2VzdGkgYXNldHRhbWFhblxuIgorImthaWtraSBhcnZvdCwgZXNpbS4gcMOkw6R0LCBzZWt0b3JpdCwgc3lsaW50ZXJpdCBqYVxuIgorIm9zaW90IHRhaSBwYWtvdHRhbWFhbiB0dW9yZWVuIG5pbWnDtm4gXG4iCisiKHMta29tZW50byBww6TDpHZhbGlrb3NzYSlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiSGF2YWl0dGlpbiBzdW4tbGV2eW5pbWnDtiwgam9sbGEgb24gdsOkw6Ryw6QgdmVyc2lvIFslZF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIkhhdmFpdHRpaW4gc3VuLWxldnluaW1pw7YsIGpvbGxhIG9uIHbDpMOkcsOkIHZ0b2Muc2FuaXR5LWFydm8gWzB4JTA4eF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiSGF2YWl0dGlpbiBzdW4tbGV2eW5pbWnDtiwgam9sbGEgb24gdsOkw6Ryw6QgdnRvYy5ucGFydHMtYXJ2byBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJWYXJvaXR1czogVsOkw6Ryw6R0IGFydm90IGtvcmphdGFhbiBraXJqb2l0ZXR0YWVzc2EgKHcpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTg3Cittc2dpZCAiSGVhZHMiCittc2dzdHIgIlDDpMOkdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNla3RvcmVpdGEvdXJhIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiTHVvdGlpbiB1dXNpIFN1bi1sZXZ5bmltacO2LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiVmFyb2l0dXM6IG9zaW8gJXMgZWkgcMOkw6R0eSBzeWxpbnRlcmluIHJhamFsbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiT3NpbyAlenU6IGVkZWxsaW5lbiBzZWt0b3JpbcOkw6Ryw6QgJXUgb24gcmlzdGlyaWlkYXNzYSBrb2tvbmFpc23DpMOkcsOkbiAldSBrYW5zc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIkvDpHl0dMOkbcOkdMO2bnTDpCB0aWxhYSDigJMgc2VrdG9yaXQgMOKAkyV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiS8OkeXR0w6Rtw6R0w7ZudMOkIHRpbGFhIOKAkyBzZWt0b3JpdCAldeKAkyV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiTXV1dCBvc2lvdCBrw6R5dHTDpHbDpHQgam8ga29rbyBsZXZ5bi4gUG9pc3RhL2t1dGlzdGEgbmlpdMOkIGVubmVuIHV1dHRhIHlyaXR5c3TDpC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisiT24gZXJpdHTDpGluIHN1b3NpdGVsdGF2YWEsIGV0dMOkIGtvbG1hcyBvc2lvIGthdHRhYSBrb2tvIGxldnluIGphXG4iCisib24gdHl5cHBpw6Qg4oCdS29rbyBsZXZ54oCdXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiU2VrdG9yaSAlZCBvbiBqbyB2YXJhdHR1IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIktvbG1hcyBvc2lvIGVpIGthdGEga29rbyBsZXZ5w6QsIG11dHRhIGFydm8gJWQgJXMga2F0dGFhIGpvbmtpbiB0b2lzZW5cbiIKKyJvc2lvbi4gTWVya2ludMOkIG9uIG11dXRldHR1IGFydm9vbiAlZCAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIkpvcyBoYWx1dGFhbiBzw6RpbHl0dMOkw6QgU3VuT1MvU29sYXJpcy15aHRlZW5zb3BpdnV1cywgdMOkbcOkbiBvc2lvbiB0eXlwcGluw6RcbiIKKyJvbiBzeXl0w6Qgc8OkaWx5dHTDpMOkIEtva28gbGV2eSAoNSksIGFsa2FlbiBrb2hkYXN0YSAwLCAldSBzZWt0b3JpYVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJOaW1pw7Y6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBwcm9zZXNzaS1JRCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc3OAorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIlZhaWh0b2VodG9pc2V0IHN5bGludGVyaXQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiVmFpaHRvZWh0b2lzdGVuIHN5bGludGVyaWVuIG3DpMOkcsOkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTA5Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIllsaW3DpMOkcsOkaXNpw6Qgc2VrdG9yZWl0YSBzeWxpbnRlcmlsbMOkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkxvbWl0dXNrZXJyb2luIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlB5w7ZyaW1pc25vcGV1cyAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkZ5eXNpc3RlbiBzeWxpbnRlcmllbiBtw6TDpHLDpCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiT3Npb24gMyB0eXlwaWtzaSBvbiBzeXl0w6QgasOkdHTDpMOkIEtva28gbGV2eSAoNSksXG4iCisia29za2EgU3VuT1MvU29sYXJpcyBvZG90dGFhIHNpdMOkLCBqYSBqb3BhIExpbnV4IHBpdMOkw6Qgc2lpdMOkLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworIywgZnV6enkKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJPbiBlcml0dMOkaW4gc3Vvc2l0ZWx0YXZhYSwgZXR0w6Qgb3NpbyBzaWlydHltw6RuIDAga29oZGFsbGFcbiIKKyJvbiB0eXlwaWx0w6TDpG4gVUZTLCBFWFQyRlMgdGFpIOKAnVN1bk9TIHN3YXDigJ0uIExpbnV4aW4gc2l2dXR1c29zaW9uXG4iCisic2lqb2l0dGFtaW5lbiBzaW5uZSBzYWF0dGFhIHR1aG90YSBvc2lvdGF1bHVuIGphIGvDpHlubmlzdHlzbG9oa29uLlxuIgorIktpcmpvaXRhIEpBQSwgam9zIG9sZXQgZXJpdHTDpGluIHZhcm1hLCBldHTDpCBoYWx1YXQgb3Npb24gdHl5cGlrc2lcbiIKKyJtZXJraXR0w6R2w6RuIDgyIChMaW51eC1zaXZ1dHVzKTogIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJyZWFkbGluayBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgIm1vdW50OiAlcyVzIG9uIGtpcmpvaXR1c3N1b2phdHR1LCBsaWl0ZXTDpMOkbiB2YWluIGx1a3UgLXRpbGFzc2EiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gcGVybWl0dGVkIGZvciByb290IG9ubHkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgb24gam8gbGlpdGV0dHkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIGVpIGzDtnlkeSB0aWVkb3N0b3N0YSAlcywgZWlrw6QgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAiJXMgZWkgbMO2eWR5IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJtb3VudDogJXMgZWkgbMO2eWR5IHRpZWRvc3Rvc3RhICVzLCBlaWvDpCAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImhha2VtaXN0b24gJXMgbGFpdGV0dGEgamEgaS1zb2xtdWEgZWkgdm9pZGEgbcOkw6RyaXR0w6TDpCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBmaWxlc3lzdGVtIHR5cGUgc3BlY2lmaWVkIgorbXNnc3RyICJ0dWxvc3RpZWRvc3RvIGFubmV0dHUga2FoZGVzdGkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAiJXMgZWkgbMO2eWR5IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIiVzIGVpIG9sZSBsaWl0b3NwaXN0ZSB0YWkgdmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm1vdW50OiBsaWl0b3MgZXDDpG9ubmlzdHVpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSBmb3IgJXMiCittc2dzdHIgIm1vdW50OiBsb29wLWxhaXR0ZWVuIGFzZXR0YW1pbmVuIGVww6Rvbm5pc3R1aVxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgInN1bGpldGFhbiBzecO2dGV0aWVkb3N0byAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICJsaWl0dMOkbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJsaWl0b3NwaXN0ZSAlcyBlaSBvbGUgaGFrZW1pc3RvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJsdXBhIGV2w6R0dHkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIm1vdW50aW4ga8OkeXR0w7bDtm4gdmFhZGl0YWFuIHDDpMOka8OkeXR0w6Rqw6RuIG9pa2V1ZGV0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBvbiB2YXJhdHR1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIG9uIGpvIGxpaXRldHR5IHBhaWtrYWFuICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgIiVzIG9uIGpvIGxpaXRldHR5IHRhaSAlcyBvbiB2YXJhdHR1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJsaWl0b3NwaXN0ZSAlcyBlaSBvbGUgb2xlbWFzc2EiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgImxpaXRvc3Bpc3RlICVzIG9uIHN5bWJvbGluZW4gbGlua2tpIG9sZW1hdHRvbWFhbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJlcmlrb2lzbGFpdGUgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICIiCisibW91bnQ6IGVyaWtvaXNsYWl0ZSAlcyBlaSBvbGUgb2xlbWFzc2FcbiIKKyIgICAgICAgKHBvbHVuIGV0dWxpaXRlIGVpIG9sZSBoYWtlbWlzdG8pXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzIGVpIG9sZSB2aWVsw6QgbGlpdGV0dHksIHRhaSB2aXJoZWVsbGluZW4gdmFsaXRzaW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIGVpIG9sZSBsaWl0b3NwaXN0ZSB0YWkgdmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcywgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJtb3VudDogdsOkw6Ryw6QgdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGksIHZpcmhlZWxsaW5lbiB2YWxpdHNpbiwgdmlhbGxpbmVuIFxuIgorIiAgICAgICBzdXBlcmxvaGtvIGxhaXR0ZWVsbGEgJXMsIHB1dXR0dXZhIGtvb2Rpc2l2dSB0YWkgYXB1b2hqZWxtYSwgdGFpIG11dSB2aXJoZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgImxpaXRvc3RhdWx1a2tvIHTDpHlubsOkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAiJXM6IHN1cGVybG9oa29hIGVpIHZvaSBsdWtlYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgInR1bnRlbWF0b24gdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGkg4oCdJXPigJ0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInR1bnRlbWF0b24gdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGkg4oCdJXPigJ0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIm1vdW50OiAlcyBlaSBvbGUgbG9oa29sYWl0ZSwgamEgdGlsYW4gbHVrdSBlcMOkb25uaXN0dXU/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlOyBtYXliZSBcIm1vZHByb2JlIGRyaXZlclwiIGlzIG5lY2Vzc2FyeSIKK21zZ3N0ciAiIgorIm1vdW50OiB5ZGluIGVpIHR1bm5pc3RhIHRpZWRvc3RvYSAlcyBsb2hrb2xhaXR0ZWVrc2lcbiIKKyIgICAgICAgKGVoa8OkIOKAnWluc21vZCBhanVyaeKAnSBhdXR0YWE/KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXMgZWkgb2xlIGxvaGtvbGFpdGUgKHlyaXTDpCDigJ0tbyBsb29w4oCdPykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgZWkgb2xlIGxvaGtvbGFpdGUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGVpIG9sZSBrZWx2b2xsaW5lbiBsb2hrb2xhaXRlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAiZWkgdm9pIGxpaXR0w6TDpCBsYWl0ZXR0YSAlcyB2YWluIGx1a3UgLXRpbGFhbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIm1vdW50OiAlcyVzIG9uIGtpcmpvaXR1c3N1b2phdHR1LCBtdXR0YSDigJ0td+KAnSAtbGlwcHUgb24gYW5uZXR0dSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIm1vdW50OiAlcyVzIG9uIGtpcmpvaXR1c3N1b2phdHR1LCBsaWl0ZXTDpMOkbiB2YWluIGx1a3UgLXRpbGFzc2EiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgIiVzIGVww6Rvbm5pc3R1aSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIk1lZGlhYSBlaSBsw7Z5ZHkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAiZWkgeXJpdGV0w6QgbHVvZGEgdGllZG9zdG9qw6RyamVzdGVsbcOkw6Qga29odGVlc2VlbiDigJ0lc+KAnSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnRlZCIKK21zZ3N0ciAidW1vdW50OiAlczogZWkgb2xlIGxpaXRldHR5bsOkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibGlpdHTDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIm1vdW50OiBsaWl0b3MgZXDDpG9ubmlzdHVpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiB2aXJoZWVsbGluZW4gbG9oa29sYWl0ZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAidW1vdW50OiAlczogc3VwZXJsb2hrb2EgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICIlcyBvbiB2YXJhdHR1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIiVzIGVpIG9sZSBsaWl0b3NwaXN0ZSB0YWkgdmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlczogaXJyb3R0YW1pc2VlbiB2YWFkaXRhYW4gcMOkw6Rrw6R5dHTDpGrDpG4gb2lrZXVkZXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAidW1vdW50OiAlczogbG9oa29sYWl0dGVpdGEgZWkgc2FsbGl0YSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6Rzc8OkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkIGVww6Rvbm5pc3R1aSAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiY2FjaGVfc2V0IHVocmluIHZhcmF1cyBlcMOkb25uaXN0dWkiCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBsaWIvcGF0aC5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAia29uZW5pbWVuICVzIGFzZXR0YW1pbmVuIGrDpHJqZXN0ZWxtw6RsbGUgZWkgb25uaXN0dSIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgInNpdnV0dXNsYWl0dGVlbGxhIGVpIHZvaSBzaWlydHnDpCB0YWFrc2Vww6RpbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiU2l2dXR1c29zaW9sbGEgZWkgb2xlIHNpdnV0dXN0eXlwcGnDpC4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IHZpcmhlOiB0dW50ZW1hdG9uIHZlcnNpbyAlZFxuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDU5CisjLCBmdXp6eQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAibmFtZWk6IHB1c2t1cmluIHlsaXZ1b3RvXG4iCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NzcgbGliL3RpbWV1dGlscy5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiQXJ2byBzYWxsaXR1biB2w6RsaW4gdWxrb3B1b2xlbGxhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYgbG9naW4tdXRpbHMvY2hzaC5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFtrw6R5dHTDpGrDpG5pbWldXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiTXV1dGEgb21hdCBmaW5nZXItdGlldG9zaS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKyJbIC1wIHRvaW1pc3RvcHVoZWxpbiBdXG4iCisiXHRbIC1oIGtvdGlwdWhlbGluIF0iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImtlbnR0w6QgJXMgb24gbGlpYW4gcGl0a8OkIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIlRvaW1pc3RvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMyOAorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiVG9pbWlzdG9wdWhlbGluIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzYgbG9naW4tdXRpbHMvY2hmbi5jOjMzMAorbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIktvdGlwdWhlbGluIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIktlc2tleXRldHR5LiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJGaW5nZXItdGlldG9qYSAqRUkqIG11dXRldHR1LiBZcml0w6QgbXnDtmhlbW1pbiB1dWRlbGxlZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlci10aWV0b2phIG11dXRldHRpaW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAic2ludWEgKGvDpHl0dMOkasOkICVkKSBlaSBvbGUgb2xlbWFzc2EuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAia8OkeXR0w6Rqw6TDpCDigJ0lc+KAnSBlaSBvbGUgb2xlbWFzc2EuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIlZhbGl0ZXR0YXZhc3RpIHZhaW4gcMOkw6Rrw6R5dHTDpGrDpCB2b2kgc8Okw6R0w6TDpCBsYWl0dGVpc3Rva2VsbG9hLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXM6IGvDpHl0dMOkasOkbGzDpCAlcyBlaSBvbGUgdmFsdHV1dHVzdGEgbXV1dHRhYSBrw6R5dHTDpGrDpG4gJXMgZmluZ2VyLXRpZXRvamFcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIlR1bnRlbWF0b24ga8OkeXR0w6Rqw6R5bXDDpHJpc3TDtiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IFRpZWRvc3RvbiAvZXRjL3Bhc3N3ZCBvbGV0dXN5bXDDpHJpc3TDtsOkIGVpIHZvaSBhc2V0dGFhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBWYWxsaXRzZXZhIFVJRCBlaSB0w6RzbcOkw6QgbXV1dGV0dGF2YW4ga8OkeXR0w6Rqw6RuIFVJRDpoZW4sIGt1b3JlbiB2YWlodG8gZXN0ZXR0eVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIlZhaWhkZXRhYW4ga8OkeXR0w6Rqw6RuICVzIGZpbmdlci10aWVkb3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXItdGlldG9qYSBlaSBtdXV0ZXR0dS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJWYWloZGV0YWFuIGvDpHl0dMOkasOkbiAlcyBrdW9yaS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgwCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbCA8a3Vvcmk+ICAgICAgICAgICAgbcOkw6RyaXR0ZWxlIGtpcmphdXR1bWlza3VvcmlcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAia3Vvcmkgb24gYW5uZXR0YXZhIHBvbGt1aW5lZW4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLigJ0lc+KAnSBlaSBvbGUgb2xlbWFzc2EiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICLigJ0lc+KAnSBlaSBvbGUga8OkeW5uaXN0ZXR0w6R2w6QiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiJXM6IGVpIGx1ZXRlbGxhIGpvIGx1ZXRlbHR1YSBoYWtlbWlzdG9hIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIlczog4oCdJXPigJ0gZWkgb2xlIGxpc3RhdHR1bmEgdGllZG9zdG9zc2EgL2V0Yy9zaGVsbHMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiAgLXMsIC0tc2hlbGwgPGt1b3JpPiAgICAgICAgICAgIG3DpMOkcml0dGVsZSBraXJqYXV0dW1pc2t1b3JpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKKyMsIGZ1enp5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IFZhbGxpdHNldmEgVUlEIGVpIHTDpHNtw6TDpCBtdXV0ZXR0YXZhbiBrw6R5dHTDpGrDpG4gVUlEOmhlbiwga3VvcmVuIHZhaWh0byBlc3RldHR5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgImt1b3JpIGVpIG9sZSB0aWVkb3N0b3NzYSAlcywga3VvcmVuIHZhaWh0byBldsOkdHR5IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiVmFpaGRldGFhbiBrw6R5dHTDpGrDpG4gJXMga3VvcmkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNDIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIlV1c2kga3VvcmkiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIkt1b3J0YSBlaSB2YWloZGV0dHUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIkt1b3J0YSAqRUkqIHZhaWhkZXR0dS4gWXJpdMOkIG15w7ZoZW1taW4gdXVkZWxsZWVuLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIGVww6Rvbm5pc3R1aVxuIgorIkt1b3J0YSAqRUkqIHZhaWhkZXR0dS4gWXJpdMOkIG15w7ZoZW1taW4gdXVkZWxsZWVuLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJLdW9yaSB2YWloZGV0dHUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJLw6R5dHTDtjogJXMgPHNhbGFzYW5hdGllZG9zdG8+IDxrw6R5dHTDpGrDpG5pbWk+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhamFuIG11b3RvICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Mjc2IGxvZ2luLXV0aWxzL2xhc3QuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICJTaWduYWFsaW4ga2Vza2V5dHTDpG3DpCIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKKyMsIGZ1enp5Cittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJUaWVkb3N0b24ga29rb3JhamEgeWxpdGV0dHkiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFt2YWxpdHNpbWV0XSBba8OkeXR0w6Rqw6RuaW1pXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBUdWxvc3RhIG9zaW90YXVsdSBydXVkdWxsZSB0YWkgdGllZG9zdG9vbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVzIGFsa2FhICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTcyIHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJsdWt1YXJ2b24gasOkc2VudMOkbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJhamFuamFrc28gZWkga2VscGFhOiAlcyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIiVzIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCisjLCBmdXp6eQorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAiVGllZG9zdG9uICVzIG9pa2V1a3NpZW4gbXV1dG9zIGFydm9vbiAlI28gZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAiJXM6IGvDpHl0dMOkasOkw6QgZWkgb2xlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICJWQUtBVkFBOiBww6TDpHRldHTDpCBlaSB2b2kgYXZhdGEgdXVkZWxsZWVuOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJWQUtBVkFBOiAlcyBlaSBvbGUgcMOkw6R0ZSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIGVww6Rvbm5pc3R1aTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzgwCittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIlZBS0FWQUE6IHZpcmhlZWxsaW5lbiBww6TDpHRlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJFZGVsbGluZW4ga2lyamF1dHVtaW5lbjogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJvc29pdHRlZXN0YSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAicMOkw6R0dGVlbHTDpCAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJraXJqb2l0dXMgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIkvDhFlUVMOESsOETiAlMiRzIE1PREVFTUlZSFRFWVMgUMOEw4RUVEVFTEzDhCAlMSRzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIlDDhMOES8OEWVRUw4RKw4ROIEtJUkpBVVRVTUlORU4gUMOEw4RUVEVFTEzDhCAlcyBPU09JVFRFRVNUQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiUMOEw4RLw4RZVFTDhErDhE4gS0lSSkFVVFVNSU5FTiBQw4TDhFRURUVMTMOEICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJLw4RZVFTDhErDhE4gJTIkcyBLSVJKQVVUVU1JTkVOIFDDhMOEVFRFRUxMw4QgJTEkcyBPU09JVFRFRVNUQSAlMyRzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiS8OEWVRUw4RKw4ROICUyJHMgS0lSSkFVVFVNSU5FTiBQw4TDhFRURUVMTMOEICUxJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAidHVubnVzOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJQQU1pYSBlaSB2b2l0dSBhbHVzdGFhOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJQQU1pYSBlaSB2b2l0dSBhbHVzdGFhOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkVQw4RPTk5JU1RVTlVUIEvDhFlUVMOESsOETiAlMiRzIElTVFVOVE8gT1NPSVRURUVTVEEgJTEkcywgJTMkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiS2lyamF1dHVtaW5lbiBlcMOkb25uaXN0dWlcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJMSUlBTiBNT05UQSAoJTEkZCkgS8OEWVRUw4RKw4ROICUzJHMgS0lSSkFVVFVNSVNZUklUWVNUw4QgT1NPSVRURUVTVEEgJTIkcywgJTQkcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJFUMOET05OSVNUVU5VVCBLw4RZVFTDhErDhE4gJTIkcyBJU1RVTlRPIE9TT0lUVEVFU1RBICUxJHMsICUzJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIktpcmphdXR1bWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MSBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjQKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiSXN0dW5ub24gYWxvaXR1c29uZ2VsbWEsIGtlc2tleXR5cy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiS8OkeXR0w6Rqw6RuaW1pIG9uIE5VTEwgZnVua3Rpb3NzYSAlcywgcml2aWxsw6QgJWQuIEtlc2tleXR5cy4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkgZXDDpG9ubmlzdHVpOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgImvDpHl0dMO2OiBsYXN0IFstI10gWy1mIHRpZWRvc3RvXSBbLXQgdHR5XSBbLWgga29uZW5pbWldIFtrw6R5dHTDpGrDpCAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorIywgZnV6enkKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiVMOkc3PDpCBqw6RyamVzdGVsbcOkc3PDpCBrw6R5dGV0w6TDpG4gdmFyam9zYWxhc2Fub2phLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgICAgIGRvIG5vdCBkZXN0cm95IHRoZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNAorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgVGVzdGFhIGdldG9wdCgxKTpuIHZlcnNpb1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDUKK21zZ2lkICIgLWggPGhvc3Q+ICAgICAgaG9zdG5hbWUgdG8gYmUgdXNlZCBmb3IgdXRtcCBsb2dnaW5nIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNgorIywgZnV6enkKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiXHRZbGVpc2V0IG9zb2l0dGVldCAoJXUpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJLaXJqYXV0dW1pbmVuIGFpa2FrYXRrYWlzdGlpbiAlZCBzZWt1bm5pbiBqw6Rsa2VlblxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggb24gdmFpbiBww6TDpGvDpHl0dMOkasOkbGxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGvDpHl0dMOkasOkbmltaSDigJ0lc+KAnSBmdW5rdGlvc3NhICVzLCByaXZpbGzDpCAlZC4gS2Vza2V5dHlzLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGVww6Rvbm5pc3R1aTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIlNpbnVsbGUgb24gdXV0dGEgcG9zdGlhLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiU2ludWxsZSBvbiBwb3N0aWEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICJoYWtlbWlzdG9vbiAlcyBlaSB2b2kgc2lpcnR5w6QiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIktpcmphdWR1dGFhbiBrw6R5dHTDpGVuIGtvdGloYWtlbWlzdG9uYSDigJ0v4oCdLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImxvZ2luOiBrdW9yaXNrcmlwdGnDpCBlaSB2b2l0dSBrw6R5bm5pc3TDpMOkOiAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4CisjLCBmdXp6eQorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJLdW9yaTogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgInNhcmthaW5rb2tvIHNpc8OkbHTDpMOkIHZpcmhlZWxsaXNlbiBtZXJraW4oL21lcmtrZWrDpCk6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgImVpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJrw6R5dHTDpGrDpG5pbWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIkvDpHl0dMOkasOkbmltaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAia8OkeXR0w6Rqw6QtSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJzYWxhc2FuYWEgZWkgdmFhZGl0YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlNhbGFzYW5hYSBlaSB2YWFkaXRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiW2VpIGvDpHl0w7Zzc8OkXSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIltlaSBrw6R5dMO2c3PDpF0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIlNhbGFzYW5hIG9uIGx1a2l0dHUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJTYWxhc2FuYSBvbiBsdWtpdHR1IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJUdW5udXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIHJ5aG3DpHQ9IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJFbnNpw7YiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgInByaW1hcnkgZ3JvdXAgSUQiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gcHJvc2Vzc2ktSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1CisjLCBmdXp6eQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiByeWhtw6R0PSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiTGlzw6RyeWhtw6R0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorIywgZnV6enkKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHJ5aG3DpCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiTGlzw6RyeWhtaWVuIElEOnQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImtvdGloYWtlbWlzdG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIktvdGloYWtlbWlzdG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgImtpcmphdXR1bWlza3VvcmkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIkt1b3JpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJrw6R5dHTDpGrDpG4ga29rbyBuaW1pIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICJHZWNvcy1rZW50dMOkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZWRlbGxpbmVuIGtpcmphdXR1bWlzZW4gcMOkaXbDpG3DpMOkcsOkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIkVkZWxsaW5lbiBraXJqYXV0dW1pbmVuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorIywgZnV6enkKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIgVFRZIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorIywgZnV6enkKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICIgLXRlcm0gcMOkw6R0dGVlbl9uaW1pXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdDogZ2V0aG9zdG5hbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImVkZWxsaW5lbiBraXJqYXV0dW1pc2VuIHDDpGl2w6Rtw6TDpHLDpCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICJFUMOET05OSVNUVU5VVCBLw4RZVFTDhErDhE4gJTIkcyBJU1RVTlRPIE9TT0lUVEVFU1RBICUxJHMsICUzJHMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgImtpcmpvaXR1cyBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiY2FjaGVfc2V0IHVocmluIHZhcmF1cyBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJ2aXJoZWVsbGluZW4ga8OkeXR0w6Rqw6QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiU2FsYXNhbmE6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJTYWxhc2FuYW4gdmFuaGVuZW1pbmVuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgImVkZWxsaW5lbiBzYWxhc2FuYW4gdmFpaGRvbiBww6RpdsOkbcOkw6Ryw6QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiU2FsYXNhbmEgbXV1dGV0dHUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICJUdW50ZW1hdG9uIGvDpHl0dMOkasOkeW1ww6RyaXN0w7YiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAic2VsaW51eC1rb250ZWtzdGluIGxhc2tlbWluZW4gZWkgb25uaXN0dW51dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIk9oamVsbWFuIG5zY2QgYWphbWluZW4ga8OkeXR0w6Rqw6RuIOKAnSVz4oCdIG9pa2V1a3NpbGxhIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIkVpIGxhcHNpcHJvc2Vzc2VqYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICJBSUtBIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA2OAorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgIiEhISBTaXPDpGluZW4gdmlyaGUgISEhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIj8/P1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICDDpGzDpCBraXJqb2l0YSBsZXZ5bGxlIG9pa2Vhc3RpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9dmFsaXRzaW1ldCAgICAgTHloeWV0IHR1bm5pc3RldHRhdmF0IHZhbGl0c2ltZXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAibXV1bm5va3NlbiBhbG9pdHRhbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJnZXRsaW5lKCkgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJTYWxhc2FuYTogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAiY3J5cHQgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIlJ5aG3DpG1lcmtpbnTDpCByeWhtw6RsbGUg4oCdJXMuJXPigJ06XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3NgorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgImt1a2Egc2luw6Qgb2xldD8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNyBsb2dpbi11dGlscy9uZXdncnAuYzoyMjkgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzQKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgInZpcmhlZWxsaW5lbiByeWhtw6QiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIlTDpG3DpCB0aWxpIGVpIG9sZSB0w6RsbMOkIGhldGtlbGzDpCBrw6R5dGV0dMOkdmlzc8OkLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAobXVpc3RpIHZlZG9zdGV0dHUpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAidXVkZW4gbWFhLWFzZXR1c3RvYXJraXN0b24gbHVvbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICIlczogdXNlaXRhIHNpZ25hYWxlamEgYW5uZXR0dSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI0IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgInN2Y19ydW46IC0ga2llcnRva3lzZWx5IGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjcwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBtb2RpZnkgZW52aXJvbm1lbnQiCittc2dzdHIgImF2YWFtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwNgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBzYWxhc2FuYSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhIGxhaXRldHRhICVzIGx1a3V0aWxhYW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc4NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayIKK21zZ3N0ciAiJXM6IHVzZWl0YSBzaWduYWFsZWphIGFubmV0dHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc5NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIGZvciBzZXNzaW9uIgorbXNnc3RyICJzaWduYWFsaW4geWhkaXN0w6RtaW5lbiB2YWxpdHNpbWVuIC1sIHRhaSAtdCBrYW5zc2EgZWkgb25uaXN0dSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODA1IG1pc2MtdXRpbHMvdXVpZGQuYzozOTggc3lzLXV0aWxzL2xzY3B1LmM6NzQzCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc5NgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJzaWduYWFsaW4geWhkaXN0w6RtaW5lbiB2YWxpdHNpbWVuIC1sIHRhaSAtdCBrYW5zc2EgZWkgb25uaXN0dSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgInNpZ25hYWxpbiB5aGRpc3TDpG1pbmVuIHZhbGl0c2ltZW4gLWwgdGFpIC10IGthbnNzYSBlaSBvbm5pc3R1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NDEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJvZG90ZXRhYW4gbGFwc2lwcm9zZXNzaWEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImhha2VtaXN0b29uICVzIGVpIHZvaSBzaWlydHnDpCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgIiAuLi50YXBldHR1LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiY2FjaGVfc2V0IHVocmluIHZhcmF1cyBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMDYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIiByeWhtw6R0PSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJyeWhtw6QtSUQ6dMOkICVsdSB2YXN0YWF2YWEgbmltZcOkIGVpIGzDtnlkeSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJrw6R5dHTDpGrDpC1JRCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MgorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkzCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NworIywgZnV6enkKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGwgPGt1b3JpPiAgICAgICAgICAgIG3DpMOkcml0dGVsZSBraXJqYXV0dW1pc2t1b3JpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgQWxrdS0gICAgICBMb3BwdS1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1rdW9yaSAgICAgICAgICAgIEFzZXRhIGt1b3JlbiBsYWluYXVza8OkeXTDpG5uw7Z0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIHBvbGt1IFtwb2xrdSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMjMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiS8OkeXR0w6Rqw6RuIGFudGFtYSBzaXZ1a29rbyAldSBvbiB2aXJoZWVsbGluZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM4Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAieWxpICVkIGxpc8OkcnlobcOkbiBtw6TDpHJpdHRlbGVtaW5lbiBlaSBvbGUgbWFoZG9sbGlzdGEiCittc2dzdHJbMV0gInlsaSAlZCBsaXPDpHJ5aG3DpG4gbcOkw6RyaXR0ZWxlbWluZW4gZWkgb2xlIG1haGRvbGxpc3RhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJyeWhtw6TDpCAlcyBlaSBvbGUgb2xlbWFzc2EiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJrb21lbnRvYSBlaSBhbm5ldHR1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzU1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImvDpHl0dMOkasOkw6QgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJ0dW50ZW1hdG9uIGt1b3JpIGFyZ3VtZW50aW4gLXMgdGFpIC0tc2hlbGwgasOkbGtlZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJoYWtlbWlzdG9vbiAlcyBlaSB2b2kgc2lpcnR5w6QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNzZXRhdHRyIGVww6Rvbm5pc3R1aSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIlJ5aG3DpG1lcmtpbnTDpCByeWhtw6RsbGUg4oCdJXMuJXPigJ06XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiUMOEw4RLw4RZVFTDhErDhE4gS0lSSkFVVFVNSU5FTiBQw4TDhFRURUVMTMOEICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICLigJ0lc+KAnSBlaSBsw7Z5dHlueXQgc2FsYXNhbmF2w6RsaW11aXN0aXN0YSEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiUMOEw4RLw4RZVFTDhErDhE4gS0lSSkFVVFVNSU5FTiBQw4TDhFRURUVMTMOEICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IHNhbGFzYW5hdGllZG9zdG8gb24gdmFyYXR0dS5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiVzOiBzYWxhc2FuYXRpZWRvc3RvIG9uIHZhcmF0dHUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIlBhaW5hIG7DpHBww6RpbnTDpCBqYXRrYWFrc2VzaSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAiU2lpcnJ5IGphIGvDpHl0w6QgUk9PVGlhIGp1dXJpaGFrZW1pc3RvbmEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3ODIKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAic2V0ZXhlY2NvbiBlcMOkb25uaXN0dWkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPGxhaXRlPiAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDYKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA5Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4ODQKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAidmFpbiBww6TDpGvDpHl0dMOkasOkIHZvaSBhamFhIHTDpG3DpG4gb2hqZWxtYW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiZWkgdm9pIGF2YXRhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJzYWxhc2FuYXRpZXRva2FudGFhIGVpIHZvaSBhdmF0YS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiT2hqZWxtYWEgJXMgZWkgdm9pIGvDpHlubmlzdMOkw6Q6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiYWlrYWthdGthaXN0dSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKKyMsIGZ1enp5Cittc2dpZCAiIgorImNhbm5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIk9oamVsbWFhICVzIGVpIHZvaSBrw6R5bm5pc3TDpMOkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICJoYWtlbWlzdG9hICVzIGVpIHZvaSBsdWtlYSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIllsaW3DpMOkcsOkaW5lbiByaXZpbnZhaWh0byB0aWVkb3N0b3NzYS4gUG9pc3R1dGFhbi4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDYKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEwCittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJ2YXJvaXR1czogdmFraW9zecO2dHRlZW4gc2V1cmFhbWluZW4gaWt1aXNlc3RpIG9uIHRlaG90b250YSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiVzICVzJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIgLWR1bXAgICA8MS1LT05TT0xJRU5fTcOEw4RSw4Q+XG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiVGlsYXDDpGlzdMOkIHbDpGxpbXVpc3RpdGllZG9zdG9hICVzIGVpIHZvaSBsdW9kYSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJrb3ZhbiBsaW5raW4gJXMgbHVvbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBrb250ZWtzdGk6ICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBrb250ZWtzdGk6ICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzOiAlcyBtdXV0dHVtYXRvblxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAidXV0dGEgYXJraXN0b2EgZWkgdm9pIGx1a2l0YSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgInVuaW9uaXN0YSBlaSB2b2kgdGVoZMOkIGzDpHBpbsOka3l2w6TDpCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAic3nDtnRldGllZG9zdG9hIGVpIHZvaSBhdmF0YSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIk11b2trYWEgc2FsYXNhbmEtIHRhaSByeWhtw6R0aWVkb3N0b2EuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlTDpHNzw6QgasOkcmplc3RlbG3DpHNzw6Qga8OkeXRldMOkw6RuIHZhcmpvcnlobWnDpC5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVMOkc3PDpCBqw6RyamVzdGVsbcOkc3PDpCBrw6R5dGV0w6TDpG4gdmFyam9zYWxhc2Fub2phLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiSGFsdWF0a28gbXVva2F0YSB0aWVkb3N0b2EgJXMgbnl0IFt5L25dPyAiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiVmllc3RpICU0JHM6bGxlIGtpcmphdXR1bmVlbHRhIGvDpHl0dMOkasOkbHTDpCAlMSRzQCUyJHMgKCUzJHMpLCBrZWxsbyAlNSRzLi4uIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorbXNnaWQgIiAtaywgLS1saXN0LWZpbGVzeXN0ZW1zICAgICBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MAorbXNnaWQgIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTEKK21zZ2lkICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRva2VuPiAgZmluZCBkZXZpY2Ugd2l0aCBhIHNwZWNpZmljIHRva2VuIChOQU1FPXZhbHVlIHBhaXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBsb29rIHVwIG9ubHkgZmlyc3QgZGV2aWNlIHdpdGggdG9rZW4gc3BlY2lmaWVkIGJ5IC10XG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgIFRlc3RhYSBnZXRvcHQoMSk6biB2ZXJzaW9cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICAgICBjb252ZXJ0IExBQkVMIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGNvbnZlcnQgVVVJRCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICJLw6R5dHTDpGrDpG4gYW50YW1hIHNpdnVrb2tvICV1IG9uIHZpcmhlZWxsaW5lbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgICAgICAgICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTcKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IEkvTyBsaW1pdHNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb2Zmc2V0IDxvZmZzZXQ+ICAgICAgcHJvYmUgYXQgdGhlIGdpdmVuIG9mZnNldFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWt1b3JpICAgICAgICAgICAgQXNldGEga3VvcmVuIGxhaW5hdXNrw6R5dMOkbm7DtnRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNhZ2VzIDxsaXN0PiAgICAgICAgZmlsdGVyIGJ5IFwidXNhZ2VcIiAoZS5nLiAtdSBmaWxlc3lzdGVtLHJhaWQpXG4iCittc2dzdHIgIiAgIGwgICAgbGlzdGFhIHR1bm5ldHV0IHRpZWRvc3RvasOkcmplc3RlbG3DpHR5eXBpdCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiAgIGwgICAgbGlzdGFhIHR1bm5ldHV0IHRpZWRvc3RvasOkcmplc3RlbG3DpHR5eXBpdCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiKGvDpHl0w7Zzc8OkKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzOQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgIihsaWl0dMOkbcOkdMO2bikiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIgorbXNnc3RyICJ2aXJoZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAiJXM6IHR1bnRlbWF0b24gYXJndW1lbnR0aTogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAiJXM6IHR1bnRlbWF0b24gYXJndW1lbnR0aTogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1OSBtaXNjLXV0aWxzL3dpcGVmcy5jOjY5NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIlZhbGl0c2ludGEgLS1kYXRlIGVpIG9sZSBhbm5ldHR1LlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBwaXR1dXNhcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdmlpa29uIGFydm86IGvDpHl0w6QgMS01MyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgInZpcmhlZWxsaW5lbiBww6RpdsOkbiBhcnZvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBww6RpdsOkbiBhcnZvOiBrw6R5dMOkIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgInZpcmhlZWxsaW5lbiBrdXVrYXVkZW4gYXJ2bzoga8OkeXTDpCAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiBuaW1pIOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NgorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHZ1b2RlbiBhcnZvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5NAorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgInZpcmhlZWxsaW5lbiB2dW9kZW4gYXJ2bzoga8OkeXTDpCBwb3NpdGlpdmlzdGEga29rb25haXNsdWt1YSIKKworIzogbWlzYy11dGlscy9jYWwuYzo1MzAgbWlzYy11dGlscy9jYWwuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdmlpa29uIGFydm86IHZ1b25uYSAlZCBlaSBvbGUgdmlpa2tvYSAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFt2YWxpdHNpbWV0XSBbW1tww6RpdsOkXSBrdXVrYXVzaV0gdnVvc2ldXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIDx0aWVkb3N0bz5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIk7DpHl0w6Qga2FsZW50ZXJpIHRhaSBvc2Egc2lpdMOkLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTkKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIklsbWFuIGFyZ3VtZW50dGVqYSBuw6R5dGV0w6TDpG4ga3VsdXZhIGt1dWthdXNpLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKKyMsIGZ1enp5Cittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5yYXkgICAgICAgICAgU3VubnVudGFpIHZpaWtvbiBhbGt1cMOkaXbDpG7DpFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDcKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1hYW5hbnRhaSB2aWlrb24gYWxrdXDDpGl2w6Ruw6RcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdHVsb3N0YSBww6RpdsOkbcOkw6Ryw6R0IGp1bGlhYW5pc2luYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IOKAkyBUYXVsdSByYWEnYXNzYSBtdW9kb3NzYSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEyCisjLCBmdXp6eQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtMywgLS10aHJlZSAgICAgICAgICAgbsOkeXTDpCBlZGVsbGluZW4sIG55a3lpbmVuIGphIHNldXJhYXZhIGt1dWthdXNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiAtdywgLS13ZWVrICAgICAgICAgICAgbsOkeXTDpCBVUy0gdGFpIElTTy04NjAxLXZpaWtrb251bWVyb3QgKGtzLiBtecO2cyAtbSlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxtaWxsb2luPl0gIHbDpHJpdMOkIHR1bG9zdGUgKGF1dG8sIGFsd2F5cyB0YWkgbmV2ZXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MgorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAibGFpdHRlZW4ga29rbyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBuYW1lIgorbXNnc3RyICJUaWVkb3N0b25pbWkiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtbWFwOiAlcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW46ICVzIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gZnN0YXQ6ICVzIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gdGllZG9zdG8uLi5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MzQzIHN5cy11dGlscy9sb3NldHVwLmM6NzkzCittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgInRpZWRvc3RvYSBlaSBvbGUgYW5uZXR0dSIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiUGFrb3RldGFhbiB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHRhcmtpc3R1cyBsYWl0dGVlbGxhICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJlaSB2b2lkYSBhdmF0YSBkeW5hYW1pc3RhIHJpaXBwdXZ1dXR0YSDigJ0lc+KAnSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJsw6RoZGVsYWl0ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiVzIGVpIG9sZSBsaWl0b3NwaXN0ZSB0YWkgdmlyaGVlbGxpbmVuIHZhbGl0c2luIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAidGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICJrYWlra2kgbGlpdG9zdmFsaXRzaW1ldCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImh5w7ZkeWxsaXNldCB2YWxpdHNpbWV0OiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAidGllZG9zdG9qw6RyamVzdGVsbcOkbiBuaW1pw7YiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJ0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIFVVSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAib3Npb24gbmltacO2IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCisjLCBmdXp6eQorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgIllsZWlzbMOkaGV0eXNraWVydG9reXNlbHlvbmdlbG1hIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAidGllZG9zdG9qw6RyamVzdGVsbcOkbiBrb2tvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJ0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIGtva28gc2FhdGF2aWxsYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgInRpZWRvc3RvasOkcmplc3RlbG3DpG4ga29rbyBrw6R5dGV0dHkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgInRpZWRvc3RvasOkcmplc3RlbG3DpG4ga8OkeXR0w7Zwcm9zZW50dGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAidGllZG9zdG9qw6RyamVzdGVsbcOkbiBqdXVyaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4CisjLCBmdXp6eQorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgImlkPSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJpZD0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAidmFsaW5uYWlzZXQgbGlpdG9za2VudMOkdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiTGlwdXQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICJ0dW50ZW1hdG9uIGvDpHl0dMOkasOkLUlEOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIm1vdW50IgorbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAidW1vdW50OiAlczogdmFhZGl0YWFuIHDDpMOka8OkeXR0w6Rqw6RuIG9pa2V1ZGV0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAidW1vdW50OiBrb2h0ZWVuICVzIHV1ZGVsbGVlbmxpaXR0w6RtaW5lbiB2YWluIGx1a3UgLXRpbGFzc2EgZXDDpG9ubmlzdHVpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorIywgZnV6enkKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgdm9pIHNpaXJ0w6TDpCBrb2h0ZWVzZWVuICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiT3Npb3RhdWx1biB1dWRlbGxlZW5sdWt1IGVww6Rvbm5pc3R1aS4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiJXM6IHN1cGVybG9oa29hIGVpIHZvaSBsdWtlYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKKyMsIGZ1enp5Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAic3ZjX3J1bjogLSBraWVydG9reXNlbHkgZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFdHNpIChsaWl0ZXR0eSkgdGllZG9zdG9qw6RyamVzdGVsbcOkLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAgbCAgICBsaXN0YWEgdHVubmV0dXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdHl5cGl0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGrDpGxqaXR0ZWxlIGRmKDEpOm4gdHVsb3N0ZXR0YVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgIGwgICAgbGlzdGFhIHR1bm5ldHV0IHRpZWRvc3RvasOkcmplc3RlbG3DpHR5eXBpdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz12YWxpdHNpbWV0ICAgICBMeWh5ZXQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9dmFsaXRzaW1ldCAgICAgTHloeWV0IHR1bm5pc3RldHRhdmF0IHZhbGl0c2ltZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisiQWphIEtPTUVOVE8gc2l0ZW4sIGV0dMOkIFVVU0lKVVVSSSBvbiBhc2V0ZXR0dW5hIGp1dXJpaGFrZW1pc3Rva3NpLlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM4CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgICBsaXN0YWEgdHVubmV0dXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdHl5cGl0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAidHVudGVtYXRvbiBzdXVudGEg4oCdJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIFRJRC1hcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiVsOkbGltdWlzdGlkYXRhbiBraXJqb2l0dXMgZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJBbm5ldHR1IHN5bGludGVyaW3DpMOkcsOkIGVpIG1haGR1IGxldnlsbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIkxhaXRldHRhICVzIGVpIHZvaSBsdWtlYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUwCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBlaSBvbGUgaGFrZW1pc3RvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUyCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcyAlcyVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgImxhaXRldHRhIOKAnSVz4oCdIGVpIHZvaSBhdmF0YTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgZWkgb2xlIGxvaGtvbGFpdGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIkxhaXRldHRhIGVpIG9sZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICIlcyB2YWxpdHNpbWV0ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiVzIHZhbGl0c2ltZXQgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgInJlc3Vyc3NpKHQpIHBvaXN0ZXR0dVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiB0dW50ZW1hdG9uIGFyZ3VtZW50dGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAic2l2dXR1a3NlbiBwcmlvcml0ZWV0dGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJtb3VudDogeWRpbiBlaSB0dWUgdGllZG9zdG9qw6RyamVzdGVsbcOkdHl5cHBpw6QgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTkgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0dW50ZW1hdG9uIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAibW91bnQ6IHlkaW4gZWkgdHVlIHRpZWRvc3RvasOkcmplc3RlbG3DpHR5eXBwacOkICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0eXlwcGk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gInNpaXJ0eW1pc3ZpcmhlIgorbXNnc3RyWzFdICJzaWlydHltaXN2aXJoZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgdmlyaGUiCittc2dzdHJbMV0gIiwgdmlyaGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwMgorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAidHloasOkIHBpdGvDpCB2YWxpdHNpbiBhcmd1bWVudGluIC1sIHRhaSAtLWxvbmcgasOkbGtlZW4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJ0dW50ZW1hdG9uIGt1b3JpIGFyZ3VtZW50aW4gLXMgdGFpIC0tc2hlbGwgasOkbGtlZW4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiICAgICAgIGdldG9wdCBbdmFsaXRzaW1ldF0gLW98LS1vcHRpb25zIHZhbGl0c2lubWVya2tpam9ubyBbdmFsaXRzaW1ldF0gWy0tXVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzNgorIywgZnV6enkKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgIFNhbGxpIHBpdGtpZW4gdmFsaXRzaW1pZW4gYWxrYW1pbmVuIHloZGVsbMOkIC06bGxhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz12YWxpdHNpbWV0IFBpdGvDpHQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9b2hqZWxtYW5pbWkgICAgICAgTmltaSwgam9rYSBpbG1vaXRldGFhbiB2aXJoZWlkZW4geWh0ZXlkZXNzw6RcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgIFZhaWVubmEgZ2V0b3B0KDMpOm4gdmlyaGVpbG1vaXR1a3NldFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1rdW9yaSAgICAgICAgICAgIEFzZXRhIGt1b3JlbiBsYWluYXVza8OkeXTDpG5uw7Z0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICBUZXN0YWEgZ2V0b3B0KDEpOm4gdmVyc2lvXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAicHV1dHR1dmEgdmFsaXRzaW5tZXJra2lqb25vbiBhcmd1bWVudHRpIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJzaXPDpGluZW4gdmlyaGUsIG90YSB5aHRleXR0w6QgdGVraWrDpMOkbi4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgInR1bnRlbWF0b24gc2lnbmFhbGkgJXM7IGtlbHZvbGxpc2V0IHNpZ25hYWxpdDoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkwCittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJ0dW50ZW1hdG9uIHNpZ25hYWxpOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjYwIG1pc2MtdXRpbHMva2lsbC5jOjI2MyBtaXNjLXV0aWxzL2tpbGwuYzoyNzIKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NCBtaXNjLXV0aWxzL2tpbGwuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzIGphICVzIG92YXQgdG9pc2Vuc2EgcG9pc3N1bGtldmF0IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODcgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MDcgc3lzLXV0aWxzL3R1bmVscC5jOjE2NyBzeXMtdXRpbHMvdHVuZWxwLmM6MTc0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTgxIHN5cy11dGlscy90dW5lbHAuYzoxODggc3lzLXV0aWxzL3R1bmVscC5jOjE5NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIwMSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA1IHN5cy11dGlscy90dW5lbHAuYzoyMTIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjMzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjg5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzIxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjkgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzU4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTkwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MTMgdGVybS11dGlscy9zZXR0ZXJtLmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJ2aXJoZTogIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIlR1bnRlbWF0b24gc2lnbmFhbGkgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiB1dWRlbGxlZW5uaW1lw6RtaW5lbiAlcyDihpIgJXMgZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIHByb3Nlc3NpLUlEIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiBuaW1pIOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiBuaW1pIOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIiVzOiBsaWlhbiBwaXRrw6QgdGllZG9zdG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInBpc3Rva2V0dGEgZWkgdm9pIGF2YXRhOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAieWhkaXN0w6Qgb3NvaXR0ZWVzZWVuICVzOiAiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAic3nDtnRlcml2aWVuIGVuaW1tw6Rpc23DpMOkcsOkICglZCkgeWxpdGV0dGlpbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAidmllc3Rpam9ubyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImtvbmVuaW1pIOKAnSVz4oCdIG9uIGxpaWFuIHBpdGvDpCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJrZW50dMOkICVzIG9uIGxpaWFuIHBpdGvDpCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IHR1bnRlbWF0b24gYXJndW1lbnR0aTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFt2YWxpdHNpbWV0XSBbPHZpZXN0aT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJKw6RyamVzdGVsbcOka2VsbG9uIGFzZXR1cyBlaSBvbm5pc3R1LlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgIFRlc3RhYSBnZXRvcHQoMSk6biB2ZXJzaW9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIgorIk7DpHl0w6QgY2xhc3MtdGllZG9zdG9uIHNpc8OkbHTDtiBsdWV0dGF2YXNzYSBtdW9kb3NzYS5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM5CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDEKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDIKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQzCittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgICAgLVMjIFt0YWkgLS1zZWN0b3JzICNdOiAgYXNldGEga8OkeXRldHTDpHbDpCBzZWt0b3JpZW4gbcOkw6Ryw6QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgInRpZWRvc3RvICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgImlkOm4gasOkc2VudMOkbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpICVzICVzOmxsZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTkKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBTYWxsaSBwaXRraWVuIHZhbGl0c2ltaWVuIGFsa2FtaW5lbiB5aGRlbGzDpCAtOmxsYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY5Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJ5dGltZW4gc2lzw6RpbmVuIGxhaXRlbmltaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAieXRpbWVuIHNpc8OkaW5lbiBsYWl0ZW5pbWkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAieXRpbWVuIHNpc8OkaW5lbiBsYWl0ZW5pbWkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorIywgZnV6enkKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgIk1pc3PDpCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2OCBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJuaW1pw7YgIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIm9zaW9uIE5JTUnDliIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKyJcbiIKKyJKYXRrZXRhYW5rbz8gKHkgdGFpIG4pICIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgIktpcmpvaXR1c3N1b2phdHR1IHRpZWRvc3RvasOkcmplc3RlbG3DpCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgInNpaXJyZXR0w6R2w6QgbGFpdGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKKyMsIGZ1enp5Cittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIkxhaXRldHRhIGVpIG9sZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAibGlzw6TDpCBzYXR1bm5haXN1dXR0YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICJsYWl0ZXR1bm5pc3RlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJsZXZ5biBzYXJqYW51bWVybyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAibGFpdHRlZW4ga29rbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImxhaXR0ZWVuIHRpbGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJyeWhtw6RuaW1pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICJzw6RpbHl0ZXR0w6Rlc3PDpCB0aWVkb3N0b24gJXMgb2lrZXVrc2lhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAidGFzYXVzc2lpcnR5bcOkIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAidsOkaGltbcOkaXMtSS9PLWtva28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJwYXJhcyBJL08ta29rbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJzZWt0b3Jpa29rbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgInNla3Rvcmlrb2tvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAiSS9PLXZpcmhlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAidmllc3Rpam9ubyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJsYWl0ZXR5eXBwaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInB5eWRldHR5IHRhc2F1cyBlaSBvbGUga2FoZGVuIHBvdGVuc3NpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICJ0YXZ1dCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJEYXRhYSBlaSBvbGUga8OkeXRldHTDpHZpc3PDpCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAzCittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgInZpcmhlZWxsaW5lbiBsYWl0ZXR5eXBwaSAlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNQorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2CisjLCBmdXp6eQorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiTGFpdGV0dGEgZWkgb2xlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIkxhaXRldHRhIGVpIG9sZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAic3ltYm9saXN0YSBsaW5ra2nDpCAlcyBlaSB2b2kgbHVrZWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMyBzeXMtdXRpbHMvd2RjdGwuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFs8bGFpdGU+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICIlczogZWkgb2xlIGxvaGtvbGFpdGVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MworIywgZnV6enkKK21zZ2lkICIgLXosIC0tem9uZWQgICAgICAgICAgcHJpbnQgem9uZSBtb2RlbFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgVGVzdGFhIGdldG9wdCgxKTpuIHZlcnNpb1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9dmFsaXRzaW1ldCAgICAgTHloeWV0IHR1bm5pc3RldHRhdmF0IHZhbGl0c2ltZXRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIlRpZWRvc3RvbiAlcyBvaWtldWtzaWVuIG11dXRvcyBhcnZvb24gJSNvIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAibHVrb24gbGFqaSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJsdWtvbiBrb2tvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworIywgZnV6enkKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJsYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorIywgZnV6enkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiJXM6IHNpaXJ0eW1pbmVuIHN1aHRlZWxsaXNlZW4gc2lpcnR5bcOkw6RuICVzIGVpIG9ubmlzdHUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCisjLCBmdXp6eQorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInZpcmhlZWxsaW5lbiBww6TDpHR0eW1pc3Z1b3NpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorIywgZnV6enkKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAibHVraXR0dSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyNjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiUElEIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIih0dW50ZW1hdG9uKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTgKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIkrDpHJqZXN0ZWxtw6RrZWxsb24gYXNldHVzIGVpIG9ubmlzdHUuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMgorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDMgc3lzLXV0aWxzL2xzbnMuYzo5MDMgc3lzLXV0aWxzL3Jma2lsbC5jOjU3MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9dmFsaXRzaW1ldCAgICAgTHloeWV0IHR1bm5pc3RldHRhdmF0IHZhbGl0c2ltZXRcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIFBJRCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIgorIk7DpHl0w6QgY2xhc3MtdGllZG9zdG9uIHNpc8OkbHTDtiBsdWV0dGF2YXNzYSBtdW9kb3NzYS5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisiICAtdSwgLS11cGRhdGUgICAgICAgICAgICAgICAgIGtvcGlvaSB2YWluIGpvcyBMw4RIREV0aWVkb3N0byBvbiB1dWRlbXBpIGt1aW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrb2hkZSwgdGFpIGpvcyBrb2hkZXRpZWRvc3RvIHB1dXR0dXVcbiIKKyIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgc2VsaXTDpCBtaXTDpCB0YXBhaHR1dVxuIgorIiAgLXgsIC0tb25lLWZpbGUtc3lzdGVtICAgICAgICBweXN5IHTDpHNzw6QgdGllZG9zdG9qw6RyamVzdGVsbcOkc3PDpFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlRpZWRvc3Rvc3RhICUyJHMgc2FhdGlpbiAlMSR6dSB0YXZ1YVxuIgorbXNnc3RyWzFdICJUaWVkb3N0b3N0YSAlMiRzIHNhYXRpaW4gJTEkenUgdGF2dWFcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAic3VsamV0YWFuIHN5w7Z0ZXRpZWRvc3RvICVzIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiVGllZG9zdG9zdGEgJTIkcyBzYWF0aWluICUxJGQgdGF2dWFcbiIKK21zZ3N0clsxXSAiVGllZG9zdG9zdGEgJTIkcyBzYWF0aWluICUxJGQgdGF2dWFcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZnRzX3JlYWQgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgImp1dXJlbiBpLXNvbG11IGVpIG9sZSBoYWtlbWlzdG8iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICIlcyB2YWF0aWkgYXJndW1lbnRpbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiR1BULW90c2FrZSIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJHUFQtb3RzYWtlIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogZWkgb2xlIHN5bWJvbGluZW4gbGlua2tpIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkbGluayBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiB1bmxpbmsgZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiLi4uVmFpaGRldGFhbiB0aWVkb3N0b29uICIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJuaW1lw6RtaW5lbiAlcyDihpIgJXMgZWkgb25uaXN0dTogJXNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisiICAtdSwgLS11cGRhdGUgICAgICAgICAgICAgICAgIGtvcGlvaSB2YWluIGpvcyBMw4RIREV0aWVkb3N0byBvbiB1dWRlbXBpIGt1aW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrb2hkZSwgdGFpIGpvcyBrb2hkZXRpZWRvc3RvIHB1dXR0dXVcbiIKKyIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgc2VsaXTDpCBtaXTDpCB0YXBhaHR1dVxuIgorIiAgLXgsIC0tb25lLWZpbGUtc3lzdGVtICAgICAgICBweXN5IHTDpHNzw6QgdGllZG9zdG9qw6RyamVzdGVsbcOkc3PDpFxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiJXM6IHZhbGl0c2luIOKAnS0tJXPigJ0gZWkgc2FsbGkgYXJndW1lbnR0aWFcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDQKK21zZ2lkICIgLW8sIC0tbm8tb3ZlcndyaXRlICBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIgorIk7DpHl0w6QgY2xhc3MtdGllZG9zdG9uIHNpc8OkbHTDtiBsdWV0dGF2YXNzYSBtdW9kb3NzYS5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPWt1b3JpICAgICAgICAgICAgQXNldGEga3VvcmVuIGxhaW5hdXNrw6R5dMOkbm7DtnRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgVGVzdGFhIGdldG9wdCgxKTpuIHZlcnNpb1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAgICAtaCMgW3RhaSAtLWhlYWRzICNdOiAgICBhc2V0YSBrw6R5dGV0dMOkdsOkIHDDpGlkZW4gbcOkw6Ryw6QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVHVsb3N0YSBvc2lvdGF1bHUgcnV1ZHVsbGUgdGFpIHRpZWRvc3Rvb24iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgdCDigJMgVGF1bHUgcmFhJ2Fzc2EgbXVvZG9zc2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAgIC1xICBbdGFpIC0tcXVpZXRdOiAgICAgdmFpZW5uYSB2YXJvaXR1c3ZpZXN0aXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJ2aXJoZWVsbGlzZXQgYXJndW1lbnRpdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExNgorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAicGlzdG9rZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgInloZGlzdMOkbWluZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAia2lyam9pdHVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU1CisjLCBmdXp6eQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIkx1a3U6ICIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gdGllZG9zdG9uaW1lbiBwaXR1dXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJtYWEtYXNldHVzdG9hcmtpc3RvYSDigJ0lc+KAnSBlaSB2b2kgbHVraXRhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIkxhaXRldHRhICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiTGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICIlczogdXVkZWxsZWVubmltZcOkbWluZW4gJXMg4oaSICVzIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAiYWlrYWthdGthaXN0dSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMzNiBzeXMtdXRpbHMvZmxvY2suYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAicnlobcOkLUlEOnTDpCAlbHUgdmFzdGFhdmFhIG5pbWXDpCBlaSBsw7Z5ZHkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAiTG9raXRpZWRvc3RvYSBlaSB2b2l0dSBsdW9kYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworIywgZnV6enkKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIktpcmphdXR1bWluZW4gYWlrYWthdGthaXN0aWluICVkIHNla3VubmluIGrDpGxrZWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIlZpcmhlIGx1ZXR0YWVzc2EgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAib3BlcmFhdGlvICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIkxhaXR0ZWlzdG9rZWxsbyBvbiAlc2FqYXNzYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIlZpcmhlZWxsaW5lbiBvYmpla3RpIG9wZXJhYXRpb2xsZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIm9zaW9uaW1pIG9uIGxpaWFuIHBpdGvDpCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJ2aXJoZSBtdXV0ZXR0YWVzc2EgdGllZG9zdG9uICVzIHRpbGFhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU1IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODMKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJvZG90dGFtYXRvbiB2aXJoZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJIYWt1bGlzdGFuIGxvcHB1LlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiTGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOQorIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiTHVvIHV1c2kgZW5zacO2b3NpbyIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhMSAgICAgICAgICBnZW5lcmF0ZSBzaGExIGhhc2hcbiIKK21zZ3N0ciAiJXMgZWkgb2xlIGphZXR0dSBvYmpla3RpdGllZG9zdG8gKFR5eXBwaTogJWQpLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICJUdW5uaXN0ZSBwb2lzdGV0dHUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAidmFyaWFudCBuYW1lIgorbXNnc3RyICJvc2lvbiBuaW1pIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAiVXVzaSBuaW1pIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIDx0aWVkb3N0bz4uLi5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9dmFsaXRzaW1ldCAgICAgTHloeWV0IHR1bm5pc3RldHRhdmF0IHZhbGl0c2ltZXRcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gaWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTg2Cittc2dpZCAib3RoZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTcKK21zZ2lkICJuaWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDIKK21zZ2lkICJ0aW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjA4Cittc2dpZCAibmFtZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxMQorbXNnaWQgInJhbmRvbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNAorbXNnaWQgInNoYTEtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNjcgbWlzYy11dGlscy93aXBlZnMuYzoxNzAgc3lzLXV0aWxzL2xzY3B1LmM6MTcyMgorIzogc3lzLXV0aWxzL2xzbnMuYzo4MDYgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICJIYWt1cG9sa3UgICAgICAgICAgIDogJXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICIlcyB2YWF0aWkgYXJndW1lbnRpbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA2Cittc2dpZCAic3VwZXJibG9rIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGktc29sbXVuIHNpaXJ0eW3DpCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAibG9oa29sYWl0ZSAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICJsb2hrb2xhaXRlICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICJvc2lvdGF1bHUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJ2aXJoZTogVVVJRDpuIGrDpHNlbm55cyBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKK21zZ3N0clsxXSAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgImtvdmFuIGxpbmtpbiAlcyBsdW9taW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiJXM6IGt1dHN1dGFhbiBvc2lvdGF1bHVuIHV1ZGVsbGVlbiBsdWtldmEgaW9jdGw6ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogZWkgbMO2eWR5IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiS8OkeXTDpCAtLWZvcmNlIC12YWxpdHNpbnRhIG9oaXR0YWFrc2VzaSBrYWlra2kgdGFya2lzdHVrc2V0LlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorIywgZnV6enkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIiVzOiBhbGxla2lyam9pdHVzc2l2dWEgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKSIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAia292YW4gbGlua2luICVzIGx1b21pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZSIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAgcCAgICAgICAgICBUdWxvc3RhIG9zaW90YXVsdSBydXVkdWxsZSB0YWkgdGllZG9zdG9vbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgICAgLXEgIFt0YWkgLS1xdWlldF06ICAgICB2YWllbm5hIHZhcm9pdHVzdmllc3RpdCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgICBsICAgIGxpc3RhYSB0dW5uZXR1dCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0eXlwaXQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgInJlc3Vyc3NpKHQpIHBvaXN0ZXR0dVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0cml0XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICBuw6R5dMOkIHZhaW4gbnlreWluZW4ga3V1a2F1c2kgKG9sZXR1cylcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAicmVzdXJzc2kodCkgcG9pc3RldHR1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiTXV1dCB2YWxpdHNpbWV0OlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMxIHNjaGVkdXRpbHMvY2hydC5jOjI1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJ0dW50ZW1hdG9uIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJ0dW50ZW1hdG9uIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyOTkgc2NoZWR1dGlscy9jaHJ0LmM6Mzk1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgImFsdWVsaXN0YWEgZWkgdm9pIGx1b2RhIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiJXMgZWkgdHVlIGx1ZXR0ZWxlbWlzdGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJPc2lvbiBraXJqb2l0dXMgZXDDpG9ubmlzdHVpIGxhaXR0ZWVsbGUgJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHDDpMOkYXJndW1lbnR0aSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTkKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjQKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUzOQorIywgZnV6enkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXMgZWkgdHVlIGx1ZXR0ZWxlbWlzdGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQgZXDDpG9ubmlzdHVpIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczogcHJpbyAlbHVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCBlcMOkb25uaXN0dWkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIxCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBtZXJra2lsdW9ra2EgJXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgInZpcmhlZWxsaW5lbiBtZXJra2lsdW9ra2EgJXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIiVzOiBUdW50ZW1hdG9uIGtvbWVudG86ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBudW1lZXJpbmVuIHVpZCDigJ0lc+KAnSEiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAidHVudGVtYXRvbiBpY29udigpLXZpcmhlICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIDxvaGplbG1hPiBbYXJnLi4uXVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJ2aXJoZTogVVVJRDpuIGrDpHNlbm55cyBlcMOkb25uaXN0dWkiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJsYWl0dGVlbiAlcyBrb2tvYSBlaSB2b2kgaGFrZWEiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY3B1c2V0X2FsbG9jIGVww6Rvbm5pc3R1aSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI0IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4OAorbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiICAgIC1DIyBbdGFpIC0tY3lsaW5kZXJzICNdOmFzZXRhIGvDpHl0ZXR0w6R2w6Qgc3lsaW50ZXJpZW4gbcOkw6Ryw6QiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgICAtQyMgW3RhaSAtLWN5bGluZGVycyAjXTphc2V0YSBrw6R5dGV0dMOkdsOkIHN5bGludGVyaWVuIG3DpMOkcsOkIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IOKAkyBUYXVsdSByYWEnYXNzYSBtdW9kb3NzYSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiIKKyIgIC11LCAtLXVwZGF0ZSAgICAgICAgICAgICAgICAga29waW9pIHZhaW4gam9zIEzDhEhERXRpZWRvc3RvIG9uIHV1ZGVtcGkga3VpblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtvaGRlLCB0YWkgam9zIGtvaGRldGllZG9zdG8gcHV1dHR1dVxuIgorIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICBzZWxpdMOkIG1pdMOkIHRhcGFodHV1XG4iCisiICAteCwgLS1vbmUtZmlsZS1zeXN0ZW0gICAgICAgIHB5c3kgdMOkc3PDpCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6Rzc8OkXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTEKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAidsOkw6Ryw6QgbcOkw6Ryw6QgYXJndW1lbnR0ZWphIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBlaSBvbm5pc3R1bnV0IGx1a2VtYWFuIGFpa2FhIGtvaHRlZXN0YSAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICJMZXZ5biBrb2tvYSBlaSB2b2kgaGFrZWEiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiUmVwb3J0IHpvbmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdpdmVuIGRldmljZSIKK21zZ3N0ciAiJXM6IGVpIG9sZSBsb2hrb2xhaXRlXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxrZGV2X2dldF9zZWN0b3JzIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICIlczogdnnDtmh5a2VrYXJ0YW4ga2lyam9pdHVzIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvdW5kICVkIHpvbmVzIGZyb20gMHglPFBSSXg2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZW4gMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2Ygc2VjdG9ycyAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFU0VUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgZWkgb25uaXN0dW51dCBsdWtlbWFhbiBhaWthYSBrb2h0ZWVzdGEgJXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWNjZXNzZnVsbHkgcmVzZXQgaW4gcmFuZ2UgZnJvbSAlPFBSSXU2ND4sIHRvICU8UFJJdTY0PiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIDxsYWl0ZT5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDIKK21zZ2lkICJSdW4gem9uZSBjb21tYW5kIG9uIHRoZSBnaXZlbiBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jb3VudCA8bnVtYmVyPiAgIG1heGltdW0gbnVtYmVyIG9mIHpvbmVzXG4iCittc2dzdHIgIiAgICAtUyMgW3RhaSAtLXNlY3RvcnMgI106ICBhc2V0YSBrw6R5dGV0dMOkdsOkIHNla3RvcmllbiBtw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTIKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICIlcyBlaSBvbGUga2Vsdm9sbGluZW4gbG9oa29sYWl0ZSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiB6b25lcyIKK21zZ3N0ciAicml2aW3DpMOkcsOkbiBqw6RzZW50w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzczCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAicml2aW3DpMOkcsOkbiBqw6RzZW50w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgIlZhbGl0c2ludGEgLS1kYXRlIGVpIG9sZSBhbm5ldHR1LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiT3Npb3RhICVkIGVpIG9sZSBvbGVtYXNzYSwgc2l0w6QgZWkgdm9pIG11dXR0YWEiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIkVpIGtvaGRldHRhIHJpdmlsbMOkICVkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiU2VrdG9yaSAlZCBvbiBqbyB2YXJhdHR1XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkF1dG9tYWF0dGluZW4ga29uZmlndXJvaW50aSBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiRWkga29oZGV0dGEgcml2aWxsw6QgJWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJTZWt0b3JpICVkIG9uIGpvIHZhcmF0dHVcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJFaSBrb2hkZXR0YSByaXZpbGzDpCAlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiT3Npb24ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJPc2lvbiBraXJqb2l0dXMgZXDDpG9ubmlzdHVpIGxhaXR0ZWVsbGUgJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2VrdG9yaSAlZCBvbiBqbyB2YXJhdHR1XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQXV0b21hYXR0aW5lbiBrb25maWd1cm9pbnRpIGVww6Rvbm5pc3R1aS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b21hYXR0aW5lbiBrb25maWd1cm9pbnRpIGVww6Rvbm5pc3R1aS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJFaSBrb2hkZXR0YSByaXZpbGzDpCAlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF1dG9tYWF0dGluZW4ga29uZmlndXJvaW50aSBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJFaSBrb2hkZXR0YSByaXZpbGzDpCAlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiByaXZpZW4gbcOkw6Ryw6QiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOSB0ZXh0LXV0aWxzL2NvbC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiS8OkeXR0w7Y6XG4iCisiJXMgW3ZhbGl0c2ltZXRdXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgIlBJRCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgIkF1dG9tYWF0dGluZW4ga29uZmlndXJvaW50aSBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiU2VrdG9yaSAlZCBvbiBqbyB2YXJhdHR1XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1NiBzeXMtdXRpbHMvY2htZW0uYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiRWkga29oZGV0dGEgcml2aWxsw6QgJWRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU4IHN5cy11dGlscy9jaG1lbS5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZWRcbiIKK21zZ3N0ciAiRWkga29oZGV0dGEgcml2aWxsw6QgJWRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZW5hYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBkaXNhYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJTZWt0b3JpICVkIG9uIGpvIHZhcmF0dHVcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkF1dG9tYWF0dGluZW4ga29uZmlndXJvaW50aSBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkF1dG9tYWF0dGluZW4ga29uZmlndXJvaW50aSBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgInRpZWRvc3RvbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhbG9pdHVzYXJndW1lbnR0aSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIm1vdW50OiBuaW1lbGxlICVzIGVpIHZvaSBoYWtlYSBvc29pdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIGFkZHJlc3MiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IGFkZHJlc3MgYW5kIChlbmQgYWRkcmVzcyArIDEpIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBwYXJhbWV0cmk6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIlZpcmhlZWxsaW5lbiB2w6RsaTogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gW3kgfCBuXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiBzZWdtZW50aXQgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IOKAkyBUYXVsdSByYWEnYXNzYSBtdW9kb3NzYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgInR1bnRlbWF0b24gbmltaSDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIlczoga292YSBsaW5ra2kgZWkgb2xlIHNhbGxpdHR1IGhha2VtaXN0b2xsZSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAidsOkw6Ryw6QgbcOkw6Ryw6QgYXJndW1lbnR0ZWphIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiVmFpbiByb290IHZvaSBtw6TDpHJpdGVsbMOkIEN0cmwtQWx0LURlbDpuIHZhaWt1dHVrc2VuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgInR1bnRlbWF0b24gYXJndW1lbnR0aTogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIkVpIGvDpHl0ZXR0w6R2aXNzw6QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCisjLCBmdXp6eQorbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgInZpcmhlOiAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIlZhcm9pdHVzOiAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorIywgZnV6enkKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiS2lpcmVlbGxpbmVuIEkvTy1laHRvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiIgorIkvDpHl0dMO2OiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBuw6R5dMOkIHZlcnNpb1xuIgorIiAgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogbsOkeXTDpCB0w6Rtw6Qgb2hqZVxuIgorIiAgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgIDogbsOkeXTDpCBsaWl0ZXR5dCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0XG4iCisiICAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBzYW1hIGt1aW4gZWRlbGzDpCwgbGlzw6Rrc2kgbmltacO2dFxuIgorIlNpaW7DpCBpbmZvcm1hdGlpdmluZW4gb3N1dXMuIFNldXJhYXZha3NpIGxpaXR0w6RtaW5lbi5cbiIKKyJLb21lbnRvIGt1dWx1dSDigJ1tb3VudCBbLXQgdGllZC5qw6Ryai50eXlwcGldIGpvdGFraW4gam9ubmVraW7igJ0uXG4iCisiVGllZG9zdG9zc2EgL2V0Yy9mc3RhYiBvbGV2YXQgeWtzaXR5aXNrb2hkYXQgdm9pIGrDpHR0w6TDpCBwb2lzLlxuIgorIiAgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbGlpdMOkIGthaWtraSB0aWVkb3N0b3N0YSAvZXRjL2ZzdGFiXG4iCisiICAgICAgICBtb3VudCBsYWl0ZSAgICAgICAgICAgICAgOiBsaWl0w6QgbGFpdGUgdHVubmV0dHV1biBwYWlra2FhblxuIgorIiAgICAgICAgbW91bnQgaGFrZW1pc3RvICAgICAgICAgIDogbGlpdMOkIHR1bm5ldHR1IGxhaXRlIHTDpG5uZVxuIgorIiAgICAgICAgbW91bnQgLXQgdHl5cHBpIGxhaXRlIGhhazogbm9ybWFhbGkgbGlpdG9za29tZW50b1xuIgorIkh1b21hYSwgZXR0w6Qgb2lrZWFzdGkgZWkgbGlpdGV0w6QgbGFpdGV0dGEsIHZhYW4gbGFpdHRlZWxsYSBvbGV2YVxuIgorIihhbm5ldHVuIHR5eXBpbiBtdWthaW5lbikgdGllZG9zdG9qw6RyamVzdGVsbcOkLlxuIgorIlZvaWRhYW4gbXnDtnMgbGlpdHTDpMOkIGpvIG7DpGt5dmlzc8OkIG9sZXZhIGhha2VtaXN0b3B1dSBtdXVhbGxlOlxuIgorIiAgICAgICAgbW91bnQgLS1iaW5kIHZhbmhhX2hhayB1dXNpX2hha1xuIgorInRhaSBzaWlydMOkw6QgYWxpcHV1OlxuIgorIiAgICAgICAgbW91bnQgLS1tb3ZlIHZhbmhhX2hhayB1dXNpX2hha1xuIgorIkhha2VtaXN0b24gaGFrIHNpc8OkbHTDpHbDpG4gbGlpdG9rc2VuIHR5eXBwacOkIHZvaSBtdXV0dGFhOlxuIgorIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGhha1xuIgorIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgaGFrXG4iCisiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGhha1xuIgorIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBoYWtcbiIKKyJLYWlra2llbiBsaWl0b2tzZW4gYWxpcHV1c3NhIG9sZXZpZW4gaGFrZW1pc3RvbiBoYWsgc2lzw6RsdMOkdmllblxuIgorImxpaXRvc3RlbiB0eXlwcGnDpCB2b2kgbXV1dHRhYTpcbiIKKyIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgaGFrXG4iCisiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgaGFrXG4iCisiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBoYWtcbiIKKyIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGhha1xuIgorIkxhaXRlIHZvaWRhYW4gYW50YWEgbmltZWxsw6QsIGVzaW0uIC9kZXYvaGRhMSB0YWkgL2Rldi9jZHJvbSxcbiIKKyJ0YWkgbmltacO2bGzDpCwga8OkeXR0w6RlbiAgLUwgbmltacO2ICB0YWkgdXVpZDpsbGEsIGvDpHl0dMOkZW4gIC1VIHV1aWQgLlxuIgorIk11dXQgdmFsaXRzaW1ldDogWy1uZkZyc3Z3XSBbLW8gdmFsaXRzaW1ldF0gWy1wIGthaHZhXS5cbiIKKyJQYWxqb24gbGlzw6R0aWV0b2phIGtvbWVubm9sbGE6ICBtYW4gOCBtb3VudCAuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgInZpZXN0aXQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorIywgZnV6enkKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiU2ludWxsZSBvbiBwb3N0aWEuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworIywgZnV6enkKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiVGlldG9hIGrDpHJqZXN0ZWxtw6RzdMOkOiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgInZpZXN0aXQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIlZpcmhlIFJQQy1hbGlqw6RyamVzdGVsbcOkc3PDpCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIlZpcmhlIFJQQy1hbGlqw6RyamVzdGVsbcOkc3PDpCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIlVVQ1AtYWxpasOkcmplc3RlbG3DpCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJrZWxsb2RlbW9uaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiRlRQLWRlbW9uaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bWlsbG9pbj5dICAgICB2w6RyaXTDpCB0dWxvc3RlIChhdXRvLCBhbHdheXMgdGFpIG5ldmVyKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTcKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IFR1bnRlbWF0b24ga29tZW50bzogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAidHVudGVtYXRvbiBrw6R5dHTDpGrDpC1JRDogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJUaWVkb3N0b24gJXMgbXVpc3Rpa2FydG9pdHVzIGVww6Rvbm5pc3R1aS5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ4OAorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUxMQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MjYKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAia2xvZ2N0bC12aXJoZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPGxhaXRlPiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzOAorbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiUG9pc3RhIHNpaXJyZXR0w6R2w6QgbGFpdGUuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MQorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHZhbGl0c2luIOKAkyAlYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gYXJndW1lbnR0aSAtLWNkc3BlZWQvLXggLXZhbGl0c2ltZWxsZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiVmFyb2l0dXM6IHZhbGl0c2ludGEgbm9sb2NrIGVpIHR1ZXRhLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDEKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OAorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUwCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjUKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY3Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIm1vdW50OiB5ZGluIGVpIHR1ZSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0eXlwcGnDpCAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA0Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMiBzeXMtdXRpbHMvZWplY3QuYzo0NTUgc3lzLXV0aWxzL2VqZWN0LmM6MTAwNgorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzUKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIkNELVJPTS1hc2VtYSBlaSBvbGUgdmFsbWlpbmEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTWluIG5vcGV1ZGVudmFsaW50YWtvbWVudG8gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIm1vdW50OiB5ZGluIGVpIHR1ZSB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0eXlwcGnDpCAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiZnRzX3JlYWQgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJsdWtlbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAiZWkgb2xlIGxvaGtvbGFpdGUgZWlrw6QgdGllZG9zdG86ICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiBpcnJvdGV0YWFuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgImZvcms6ICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiBsaWl0b3NwaXN0ZSAlcyBlaSBvbGUgb2xlbWFzc2EiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjcyNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIm1vdW50OiBsaWl0b3MgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3ODYgc3lzLXV0aWxzL2VqZWN0LmM6ODg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAidW1vdW50OiAlczogZWkgb2xlIGxpaXRldHR5bsOkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICJhc2V0ZXRhYW4gQ0QtUk9NaW4gbm9wZXVzIGF1dG9tYWF0dGlzZWtzaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMwCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgImFzZXRldGFhbiBDRC1ST01pbiBub3BldWRla3NpICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAib2xldHVzbGFpdGU6IOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAia8OkeXRldMOkw6RuIG9sZXR1c2xhaXRldHRhIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgInNpdnV0dXNsYWl0dGVlbGxhIGVpIHZvaSBzaWlydHnDpCB0YWFrc2Vww6RpbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImxhaXR0ZWVuIG5pbWkgb24g4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAidW1vdW50OiAlczogZWkgb2xlIGxpaXRldHR5bsOkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiS29rbyBsZXZ5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgInZpcmhlZWxsaW5lbiBsYWl0ZSAlcyAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJsYWl0ZSBvbiDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAicG9pc3R1dGFhbiAtbi8tLW5vb3AgLXZhbGl0c2ltZW4gdnVva3NpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICJzdWxqZXRhYW4gc3nDtnRldGllZG9zdG8gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiAgICAgICAgICAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJ2aXJoZTogJXM6IGxhaXRlIG9uIGvDpHl0w7Zzc8OkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiU0NTSS1wb2lzdG8gb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIkVJIFTDhFNNw4TDhCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgImxldnlra2VlbiBwb2lzdG9rb21lbnRvIG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIwCittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJsZXZ5a2tlZW4gcG9pc3Rva29tZW50byBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjcKKyMsIGZ1enp5Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJoYWtlbWlzdG9uIGF2YWFtaW5lbiBlcMOkb25uaXN0dWlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIm11aXN0aW4gdmFyYWFtaW5lbiBzecO2dGVwdXNrdXJpbGxlIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiICVzIFt2YWxpdHNpbWV0XSA8dGllZG9zdG8+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MgorbXNnaWQgIiAtaSwgLS1pbnNlcnQtcmFuZ2UgICBpbnNlcnQgYSBob2xlIGF0IHJhbmdlLCBzaGlmdGluZyBleGlzdGluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKyJOw6R5dMOkIGNsYXNzLXRpZWRvc3RvbiBzaXPDpGx0w7YgbHVldHRhdmFzc2EgbXVvZG9zc2EuXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk2Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTcKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgImZhbGxvY2F0ZSBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiZnRzX3JlYWQgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAidHVsb3N0aWVkb3N0byBhbm5ldHR1IGthaGRlc3RpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGrDpGxraWxpaXR0ZWVuIHBpdHV1cyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgInBpdHV1c2FyZ3VtZW50dGlhIGVpIG9sZSBhbm5ldHR1IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIFVUQy1zaWlydHltw6QiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorIywgZnV6enkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgImxvZ2luOiBlaSBtdWlzdGlhIGt1b3Jpc2tyaXB0aWxsZS5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIlcyBlaSBvbGUgamFldHR1IG9iamVrdGl0aWVkb3N0byAoVHl5cHBpOiAlZCkuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IOKAkyBUYXVsdSByYWEnYXNzYSBtdW9kb3NzYSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQg4oCTIFRhdWx1IHJhYSdhc3NhIG11b2Rvc3NhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgTsOkeXTDpCB0aWV0eW4gdHl5cHBpc2V0IHZhbGl0c2ltZXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJUaWVkb3N0b2Eg4oCdJXPigJ0gZWkgdm9pIGF2YXRhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gYWlrYWthdGthaXN1YXJ2bzogJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIxMgorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcGFsdXVhcnZvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIHZhYXRpaSBhcmd1bWVudGluXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgInZpcmhlZWxsaW5lbiB0aWVkb3N0b2thaHZhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIHRpZWRvc3Rva2FodmEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAibHVrb24gc2FhbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2VrdW50aWFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIlZpcmhlIGvDpHlubmlzdGV0dMOkZXNzw6RcdCVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorIywgZnV6enkKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlRhcmtpc3RldGFhbiBrYWlra2kgdGllZG9zdG9qw6RyamVzdGVsbcOkdC5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgTXV1dGEgdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGnDpCIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDUKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogZWkgb2xlIGhha2VtaXN0byIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBlaSBvbGUgaGFrZW1pc3RvIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzOiB0YXVsdWtrbyBsdW9rYWxsZSDigJ0lc+KAnTogJWx1IHRhdnVhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIDxsaWl0b3NwaXN0ZT5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgICAgLUMjIFt0YWkgLS1jeWxpbmRlcnMgI106YXNldGEga8OkeXRldHTDpHbDpCBzeWxpbnRlcmllbiBtw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzMxCisjLCBmdXp6eQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICIlcyBlaSBvbGUgbGlpdG9zcGlzdGUgdGFpIHZpcmhlZWxsaW5lbiB2YWxpdHNpbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJUb2ltaW50byBlaSBvbGUgdHVldHR1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIk9sZXRldGFhbiBsYWl0dGVpc3Rva2VsbG9uIG9sZXZhbiAlc2FqYXNzYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQy0iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjA0IHN5cy11dGlscy9od2Nsb2NrLmM6MjY3Cittc2dpZCAibG9jYWwiCittc2dzdHIgInBhaWthbGxpc2Vzc2EgIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiJXM6IFZhcm9pdHVzOiB0dW5uaXN0YW1hdG9uIGtvbG1hcyByaXZpIGFkanRpbWUtdGllZG9zdG9zc2FcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJWaWltZWluZW4gc2lpcnR5bcOkc8Okw6R0w7YgdGVodHkgJWxkIHNla3VudGlhIHZ1b2RlbiAxOTY5IGrDpGxrZWVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlZpaW1laW5lbiBrYWxpYnJvaW50aSB0ZWh0eSAlbGQgc2VrdW50aWEgdnVvZGVuIDE5NjkgasOkbGtlZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJMYWl0dGVpc3Rva2VsbG8gb24gJXNhamFzc2FcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJPZG90ZXRhYW4ga2VsbG9uIHRpa2l0eXN0w6QuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIuLi5zeW5rcm9ub2ludGkgZXDDpG9ubmlzdHVpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLnNhYXRpaW4gdGlraXR5c1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICJWaXJoZWVsbGlzacOkIGFydm9qYSBsYWl0dGVpc3Rva2VsbG9zc2E6ICUzJC4yZC4lMiQuMmQuJTEkNGQgJTQkLjJkOiU1JC4yZDolNiQuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkxhaXR0ZWlzdG9rZWxsb24gYWlrYTogJTMkLjJkLiUyJC4yZC4lMSQ0ZCAlNCQuMmQ6JTUkLjJkOiU2JC4yZCA9ICU3JGxkIHNla3VudGlhIHZ1b2Rlc3RhIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiTGFpdHRlaXN0b2tlbGxvc3RhIGx1ZXR0dSBhaWthOiAlMyQuMmQuJTIkLjJkLiUxJDRkICU0JDAyZDolNSQwMmQ6JTYkMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkFzZXRldGFhbiBsYWl0dGVpc3Rva2VsbG8gYWlrYWFuICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VudGlhIHZ1b2Rlc3RhIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyOAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsIDApIHRvIGxvY2sgdGhlIHdhcnAgZnVuY3Rpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheSglbGQuJTA2bGQsICVkKVxuIgorbXNnc3RyICJLdXRzdXRhYW4gc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICJLdXRzdXRhYW4gc2V0dGltZW9mZGF5KE5VTEw7ICVkKSAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIkVpIHPDpMOkZGV0w6Qgc2lpcnR5bcOka2Vycm9pbnRhLCBrb3NrYSBsYWl0dGVpc3Rva2VsbG9zc2Egb2xpIGVkZWxsaXNlbGzDpCBrZXJyYWxsYSByb3NrYWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiRWkgc8Okw6RkZXTDpCBzaWlydHltw6RrZXJyb2ludGEsIGtvc2thIGVkZWxsaW5lbiBrYWxpYnJvaW50aWFpa2Egb24gbm9sbGEsXG4iCisiam90ZW4gaGlzdG9yaWEgb24gdmlyaGVlbGxpbmVuIGphIGthbGlicm9pbm5pbiB1dWRlbGxlZW4gYWxvaXR1cyBvblxuIgorInRhcnBlZWxsaXN0YS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIkVpIHPDpMOkZGV0w6Qgc2lpcnR5bcOka2Vycm9pbnRhLCBrb3NrYSBlZGVsbGlzZXN0w6Qga2FsaWJyb2lubmlzdGEgb24gYWxsZSB2dW9yb2thdXNpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIktlbGxvbiBzaWlydHltw6Qgb2xpICUuMWYgc2VrdW50aWEgdmlpbWVpc3RlbiAlZCBzZWt1bm5pbiBhaWthbmEsICVmIHNla3VudGlhL3ZyayAtc2lpcnR5bcOka2VydG9pbWVzdGFcbiIKKyJodW9saW1hdHRhLiBTw6TDpGRldMOkw6RuIHNpaXJ0eW3DpGtlcnJvaW50YSAlZiBzZWt1bm5pbGxhL3Zya1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJBaWthYSBlZGVsbGlzZXN0w6Qgc8Okw6Rkw7ZzdMOkIG9uIGt1bHVudXQgJWQgc2VrdW50aWFcbiIKK21zZ3N0clsxXSAiQWlrYWEgZWRlbGxpc2VzdMOkIHPDpMOkZMO2c3TDpCBvbiBrdWx1bnV0ICVkIHNla3VudGlhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIk5ldyAlcyBkYXRhOlxuIgorIiVzIgorbXNnc3RyICJoYWV0dGFlc3NhIHRpZWRvc3RvbiAlcyB1dXNpYSBvbWluYWlzdXVrc2lhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAibGFpdGV0dGEgJXMgZWkgdm9pIGF2YXRhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJFaSBhc2V0ZXRhIGtlbGxvYSwga29za2EgZWRlbGxpbmVuIHPDpMOkdMO2YWlrYSBvbiBub2xsYSwgam90ZW4gaGlzdG9yaWEgb24gdmlyaGVlbGxpbmVuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIkVpIGFzZXRldGEga2VsbG9hLCBrb3NrYSBzaWlydHltw6RrZXJyb2luICVmIG9uIGFpdmFuIGxpaWFuIHN1dXJpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJLw6R5dHTDtmtlbHBvaXN0YSBrZWxsb3JhamFwaW50YWEgZWkgbMO2eXR5bnl0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiTGFpdHRlaXN0b2tlbGxvYSBlaSBweXN0eXTDpCBrw6R5dHTDpG3DpMOkbiBtaWxsw6TDpG4gdHVubmV0dWxsYSB0YXZhbGxhLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiS8OkeXTDpCAtLWRlYnVnIC12YWxpdHNpbnRhIG7DpGhkw6Rrc2VzaSB5a3NpdHlpc2tvaGRhdCBrw6R5dHTDtnRhdmFuIGV0c2lubsOkc3TDpC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJUYXJ2aXR0YXZhIG11dXRvcyBvbiBhbGxlIHNla3VudGksIGpvdGVuIGVpIGFzZXRldGEga2VsbG9hLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgInN1cGVybG9oa29hIGVpIHZvaSBsdWtlYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvbiBhc2V0dXMgZWkgb25uaXN0dS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBbdG9pbWludG9dIFt2YWxpdHNpbi4uLl1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ICAgICAgICAgICAgZGlzcGxheSBkcmlmdCBjb3JyZWN0ZWQgUlRDIHRpbWUiCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjYKK21zZ2lkICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBSVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiICAgbCAgICBsaXN0YWEgdHVubmV0dXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdHl5cGl0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXN5c3R6ICAgICAgICAgIHNlbmQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb25zIHRvIHRoZSBrZXJuZWwiCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICDDpGzDpCBraXJqb2l0YSBsZXZ5bGxlIG9pa2Vhc3RpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICAgICAgICAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIlczogb2xldGV0YWFuIFJUQzpuIGvDpHl0dMOkdsOkbiBVVEM6dMOkLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiIKKyJOw6R5dMOkIGNsYXNzLXRpZWRvc3RvbiBzaXPDpGx0w7YgbHVldHRhdmFzc2EgbXVvZG9zc2EuXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvbiBhc2V0dXMgZWkgb25uaXN0dS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEwCittc2dpZCAidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBoYXMgYmVlbiBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiIKK21zZ3N0ciAibGlpYW4gbW9udGEgYXJndW1lbnR0aWEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKKyMsIGZ1enp5Cittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiVzOiBWYWxpdHNpbWVuIC0tbm9hZGpmaWxlIGthbnNzYSBvbiBrw6R5dGV0dMOkdsOkIGpva28gdmFsaXRzaW50YSAtLXV0YyB0YWkgLS1sb2NhbHRpbWVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgJyVzJyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIHByb3Nlc3NpLUlEIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAiJXM6ICVsZCBueWt5aW5lbiBreW5ueXMgamEgJWxkIG55a3lpbmVuIGFpa2FrYXRrYWlzdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGZ1enp5Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAiTG9wZXRldGFhbiDigJMgbWlrw6TDpG4gZWkgbXV1dHR1bnV0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgImlvcGwoKSBwb3J0IGFjY2VzcyBmYWlsZWQiCittc2dzdHIgInRpZWRvc3RvbiAlcyBhdmFhbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAiS8OkeXR0w7ZrZWxwb2lzdGEga2VsbG9yYWphcGludGFhIGVpIGzDtnl0eW55dC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiWXJpdGV0w6TDpG4gJXMuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTUwIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIgorbXNnc3RyICJUaWVkb3N0b2Eg4oCdJXPigJ0gZWkgdm9pIGF2YXRhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBlaSBvbm5pc3R1bnV0IGx1a2VtYWFuIGFpa2FhIGtvaHRlZXN0YSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJPZG90ZXRhYW4gc2lsbXVrYXNzYSBsYWl0dGVlbiAlcyBhamFuIG11dXR0dW1pc3RhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIkFpa2FrYXRrYWlzdSBvZG90ZXR0YWVzc2EgYWphbiBtdXV0b3N0YS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgImtlbGxvbiB0aWtpdHlzdMOkIG9kb3R0YXZhIHNlbGVjdCgpLWt1dHN1IGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgImtlbGxvbiB0aWtpdHlzdMOkIG9kb3R0YXZhIHNlbGVjdCgpLWt1dHN1IGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgInDDpGl2aXR5c2tlc2tleXR5a3NldCBsb3BldHRhdmEgaW9jdGwoKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBlaSBvbm5pc3R1bnV0IGx1a2VtYWFuIGFpa2FhIGtvaHRlZXN0YSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIG9ubmlzdHVpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiS8OkeXR0w7ZrZWxwb2lzdGEga2VsbG9yYWphcGludGFhIGVpIGzDtnl0eW55dC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICJWaWVzdGlqb25vbiBpZDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJrb29uIGrDpHNlbnTDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgImtvdmFuIGxpbmtpbiAlcyBsdW9taW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiLS0tLS0tIEphZXR1biBtdWlzdGluIHJhamF0IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgInZpZXN0aWpvbm8iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJWaWVzdGlqb25vbiBpZDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJrb3ZhbiBsaW5raW4gJXMgbHVvbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJTZW1hZm9yaW4gaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIDx0aWVkb3N0bz4uLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiBzZWdtZW50aXQgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisiICAtdSwgLS11cGRhdGUgICAgICAgICAgICAgICAgIGtvcGlvaSB2YWluIGpvcyBMw4RIREV0aWVkb3N0byBvbiB1dWRlbXBpIGt1aW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrb2hkZSwgdGFpIGpvcyBrb2hkZXRpZWRvc3RvIHB1dXR0dXVcbiIKKyIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgc2VsaXTDpCBtaXTDpCB0YXBhaHR1dVxuIgorIiAgLXgsIC0tb25lLWZpbGUtc3lzdGVtICAgICAgICBweXN5IHTDpHNzw6QgdGllZG9zdG9qw6RyamVzdGVsbcOkc3PDpFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIkphZXR1biBtdWlzdGluIHNlZ21lbnR0aSBqbXVpc3RpLWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiVmllc3Rpam9ub24gaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJTZW1hZm9yaW4gaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiTHVwYSBldsOkdHR5IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJMdXBhIGV2w6R0dHkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGF2YWluIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKKyMsIGZ1enp5Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiYXZhaW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorIywgZnV6enkKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgIiVzOiBwb2lzdGV0dHUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiYXZhaW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgImlkPSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJ2aXJoZWVsbGluZW4gaWQ6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyZXN1cnNzaSh0KSBwb2lzdGV0dHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJWw6TDpHLDpCBuw6RwcMOkaW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImphZXR0dSBtdWlzdGlvYmpla3RpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJlaSBrb25maWd1cm9pdHUgc3lzcm9vdC1vdHNha2tlaWRlbiBsb3BwdWxpaXR0ZWVsbMOkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiLS0tLS0tLSBWaWVzdGlqb25vdDogUElEaXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTcgc3lzLXV0aWxzL2xzaXBjLmM6MjgxCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAicmVzdXJzc2kodCkgcG9pc3RldHR1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiBzZWdtZW50aXQgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICItLS0tLS0tIFZpZXN0aWpvbm90OiBQSURpdCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICJ2YXJhdHR1amEgc2VtYWZvcmVqYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIlN5w7Z0ZS90dWxvc3RlbXVvZG9uIG3DpMOkcml0dGVseToiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC15LCAtLXllYXIgICAgICAgICAgICBuw6R5dMOkIGtva28gbnlreWluZW4gdnVvc2lcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAiamFldHR1IG11aXN0aW9iamVrdGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gSmFldHVuIG11aXN0aW4gcmFqYXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAidGF1bHVra29qYSBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJLb2tvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorIywgZnV6enkKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiamFldHR1IG11aXN0aW9iamVrdGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAiS29rbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICItLS0tLS0gSmFldHVuIG11aXN0aW4gcmFqYXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiB0aWxhIC0tLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODYKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAiam11aXN0aS1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgIm9pa2V1ZGV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjI4NgorIzogc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAib3duZXIiCittc2dzdHIgIm9taXN0YWphIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworIywgZnV6enkKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAiUHJvdG9rb2xsYS1hanVyaSBlaSBvbGUga3l0a2V0dHkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiIChtdXV0ZXR0dSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiB0aWxhIC0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEphZXR1biBtdWlzdGluIHNlZ21lbnRpdCAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJrZXkiCittc2dzdHIgImF2YWluIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgImtva28iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgInRhdnV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibGlpdC1tw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInN0YXR1cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiRWkgYXNldGV0dHUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICJrb2hkZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgImx1a2l0dHUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLSBTZW1hZm9yaWVuIHJhamF0IC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJ0YXVsdWtrb2phIGVuaW50w6TDpG4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJzZW1hZm9yZWphIHRhdWx1a29zc2EgZW5pbnTDpMOkbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAic2VtYWZvcmVqYSBqw6RyamVzdGVsbcOkc3PDpCBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIm9wZXJhYXRpb2l0YSBzZW1vcC1rdXRzdWEga29oZGVuIGVuaW50w6TDpG4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgInNlbWFmb3JpbiBhcnZvIGVuaW50w6TDpG4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgInZhcmF0dHVqYSBzZW1hZm9yZWphID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLSBTZW1hZm9yaWVuIHRpbGEgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJrw6R5dGV0dHlqw6QgdGF1bHVrb2l0YSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAidmFyYXR0dWphIHNlbWFmb3JlamEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gU2VtYWZvcml0YXVsdWtvaWRlbiBMdW9qYXQvT21pc3RhamF0IC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3JpZW4gT3BlcmFhdGlvLS9NdXV0b3NhamF0IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAibGFzdC1vcCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgImxhc3QtY2hhbmdlZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3JpdGF1bHVrb3QgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvbiBhc2V0dXMgZWkgb25uaXN0dS5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEphZXR1biBtdWlzdGluIHJhamF0IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJqb25vamEgasOkcmplc3RlbG3DpHNzw6QgZW5pbnTDpMOkbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCisjLCBmdXp6eQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIktva28iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDczCisjLCBmdXp6eQorbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgImpvbm9uIG9sZXR1c2VuaW1tw6Rpc2tva28gKHRhdnVhKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIi0tLS0tLS0gVmllc3Rpam9ub3Q6IFBJRGl0IC0tLS0tLS0tXG4iCisKKyMgSWxtYW4ga2Frc29pc3Bpc3RldHTDpCBTdGF0dXMtb3RzaWtvaWRlbiB5aHRlbsOkaXN5eWRlbiB2dW9rc2kKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIlRpbGEgICAgICAgICAgICAgIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgInZhcmF0dHVqYSBqb25vamEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJrw6R5dGV0dHlqw6Qgb3RzYWtrZWl0YSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4CisjLCBmdXp6eQorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgIkvDpHl0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorIywgZnV6enkKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiSGFrZW1pc3RvZGF0YTogJXpkIHRhdnVhXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIFNlbWFmb3JpdGF1bHVrb2lkZW4gTHVvamF0L09taXN0YWphdCAtLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAidnN0am5vLWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBWaWVzdGlqb25vdDogTMOkaC4tL1Zhc3Qub3R0by0vTXV1dG9zYWphdCAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICJzZW5kIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgInJlY3YiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAia2VsbG9uIHNpaXJ0byIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLSBWaWVzdGlqb25vdDogUElEaXQgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0gVmllc3Rpam9ub3QgLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAia8OkeXQtdGF2dXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgInZpZXN0aXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgwIHN5cy11dGlscy9pcGNzLmM6NjEwIHN5cy11dGlscy9pcGNzLmM6NjQzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1Mzcgc3lzLXV0aWxzL2xzaXBjLmM6NzI5IHN5cy11dGlscy9sc2lwYy5jOjg4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJTZW1hZm9yaW4gaWQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkphZXR1biBtdWlzdGluIHNlZ21lbnR0aSBqbXVpc3RpLWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JWRcdGdpZD0lZFx0Y3VpZD0lZFx0Y2dpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAic2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJhdHRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiVmllc3Rpam9ub24gbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3NpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJxc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICJzZW1hZm9yZWphIHRhdWx1a29zc2EgZW5pbnTDpMOkbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JWRcdCBnaWQ9JWRcdCBjdWlkPSVkXHQgY2dpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAiJXMgKCVqdS0lanUpOiAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAidmFsdWUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXM6IHRhdWx1a2tvIGx1b2thbGxlIOKAnSVz4oCdOiAlbHUgdGF2dWFcbiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiICAgICAgICAgICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGvDpHl0dMOkasOkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFs8bGFpdGU+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE0Cittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE2Cittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE3Cittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjIKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjYKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcMOkw6Rhcmd1bWVudHRpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIlZpcmhlZWxsaW5lbiBhcmd1bWVudHRpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBlaSBvbGUgbG9oa29sYWl0ZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgInR1bnRlbWF0b24gdsOkcmltb29kaSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJrb25lbmltZW4gJXMgYXNldHRhbWluZW4gasOkcmplc3RlbG3DpGxsZSBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJoYWtlbWlzdG9uICVzIGx1b21pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAiTGV2eWFzZW1hbGxhIGVpIHZvaSBzaWlydHnDpCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgImVpIHZvaWRhIGx1a2VhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCisjLCBmdXp6eQorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAi4oCdIOKAnS1saXBwdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJlaSBvbGUgbG9oa29sYWl0ZSBlaWvDpCB0aWVkb3N0bzogJXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiBsb29wLWxhaXRlIGFubmV0dHUga2FoZGVzdGkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiQWxrdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAi4oCdIOKAnS1saXBwdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJUaWVkb3N0b24ga29rb3JhamEgeWxpdGV0dHkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICIiCisiTWFqb3ItIGphIG1pbm9yLWxhaXRlYXJ2b3Qgb24gYW5uZXR0YXZhIGx1b3RhZXNzYVxuIgorImVyaWtvaXN0aWVkb3N0b2phIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgInNla3Rvcmlrb2tvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIlcyAoJWp1LSVqdSk6ICIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDEgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiJXMgKCVqdS0lanUpOiAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIHNhbGF1cyAlcyAodHl5cHBpICU8UFJJdTMyPikiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE3Cittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgVGVzdGFhIGdldG9wdCgxKTpuIHZlcnNpb1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIGVpIG9sZSBscC1sYWl0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJtb3VudDogb2hpdGV0YWFuIGxvb3AtbGFpdHRlZW4gYXNldHRhbWluZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJtb3VudDogbG9vcC1sYWl0dGVlbiBhc2V0dGFtaW5lbiBlcMOkb25uaXN0dWlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibW91bnQ6IG9oaXRldGFhbiBsb29wLWxhaXR0ZWVuIGFzZXR0YW1pbmVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTQyIHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IHRpZWRvc3RvbGxlICVzIGVpIGzDtnlkeSBsYWl0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgbMO2eXR5bnl0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICJ2aXJoZTogJXM6IGxhaXRlIG9uIGvDpHl0w7Zzc8OkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorIywgZnV6enkKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBsb29wLWxhaXRlIGFubmV0dHUga2FoZGVzdGkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1CisjLCBmdXp6eQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJWYWluIHJvb3Qta8OkeXR0w6Rqw6Qgdm9pIGvDpHl0dMOkw6QgdMOkdMOkIHZhbGl0c2ludGEhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICJoYWtlbWlzdG9vbiAlcyBlaSB2b2kgc2lpcnR5w6QiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgImxhaXR0ZWVuICVzIGtva29hIGVpIHZvaSBoYWtlYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKK21zZ2lkICJub25lIgorbXNnc3RyICJlaSBtaXTDpMOkbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk3Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAidMOkeXNpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAic8OkaWxpw7YiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorIywgZnV6enkKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisiICogWy1db25vY3IgICAgICBlaSB0dWxvc3RldGEgdmF1bnVucGFsYXV0dWtzaWEgZW5zaW1tw6Rpc2VlbiBzYXJha2tlZXNlZW5cbiIKKyIgICBbLV1vcG9zdCAgICAgIGrDpGxraWvDpHNpdHRlbGUgdHVsb3N0ZVxuIgorIiAqIHRhYk4gICAgICAgICAgdmFha2FzYXJrYWltZW4gdmlpdmV0eXlsaSwgTiB2w6RsaWxsw6QgWzAuLjNdXG4iCisiICogdGFicyAgICAgICAgICBzYW1hIGt1aW4gdGFiMFxuIgorIiAqIC10YWJzICAgICAgICAgc2FtYSBrdWluIHRhYjNcbiIKKyIgKiB2dE4gICAgICAgICAgIHB5c3R5c2Fya2FpbWVuIHZpaXZldHl5bGksIE4gdsOkbGlsbMOkIFswLi4xXVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAidmVydGljYWwiCittc2dzdHIgIiIKKyIgKiBbLV1vbm9jciAgICAgIGVpIHR1bG9zdGV0YSB2YXVudW5wYWxhdXR1a3NpYSBlbnNpbW3DpGlzZWVuIHNhcmFra2Vlc2VlblxuIgorIiAgIFstXW9wb3N0ICAgICAgasOkbGtpa8Okc2l0dGVsZSB0dWxvc3RlXG4iCisiICogdGFiTiAgICAgICAgICB2YWFrYXNhcmthaW1lbiB2aWl2ZXR5eWxpLCBOIHbDpGxpbGzDpCBbMC4uM11cbiIKKyIgKiB0YWJzICAgICAgICAgIHNhbWEga3VpbiB0YWIwXG4iCisiICogLXRhYnMgICAgICAgICBzYW1hIGt1aW4gdGFiM1xuIgorIiAqIHZ0TiAgICAgICAgICAgcHlzdHlzYXJrYWltZW4gdmlpdmV0eXlsaSwgTiB2w6RsaWxsw6QgWzAuLjFdXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAiTG9vZ2luZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NgorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgInBpc3Rva2UiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAiTG9vZ2luZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIkxvb2dpbmVuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMQorbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDMKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNQorbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNgorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJ2YWtpb3ZpcmhldHVsb3N0ZWVuIHV1ZGVsbGVlbm9oamF1cyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo3NDgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgInNpZ25hYWxpbiB5aGRpc3TDpG1pbmVuIHZhbGl0c2ltZW4gLWwgdGFpIC10IGthbnNzYSBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICJLIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJOIgorbXNnc3RyICJFIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIiAlczogVHVubmlzdGFtYXRvbiBhcmtraXRlaHR1dXJpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3CisjLCBmdXp6eQorbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAidmlyaGVlbGxpc2V0IG9pa2V1ZGV0OiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzQyCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIlRhdnVqw6RyamVzdHlzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorIywgZnV6enkKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJTdW9yaXRpbmFpa2FyYWphIHlsaXR0eW55dCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworIywgZnV6enkKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi4oCdJXPigJ0sIHJpdmkgJWQ6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKKyMsIGZ1enp5Cittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiU8OkaWVtYWxsaTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorIywgZnV6enkKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJwaXN0b2tldHRhIGVpIHZvaSBhdmF0YTogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAicGlzdG9rZXR0YSBlaSB2b2kgYXZhdGE6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1CisjLCBmdXp6eQorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIgICAgICAgICAgJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAicGlzdG9rZXR0YSBlaSB2b2kgYXZhdGE6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI0CisjLCBmdXp6eQorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgImlkPSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorIywgZnV6enkKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiU3Vvcml0aW5haWthcmFqYSB5bGl0dHlueXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1hbGxpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJNYWxsaW5pbWk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzYKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiU3Vvcml0aW5haWthcmFqYSB5bGl0dHlueXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJTdW9yaXRpbmFpa2FyYWphIHlsaXR0eW55dCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorIywgZnV6enkKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGlzb2ludGk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0Cittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3CisjLCBmdXp6eQorbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJWaXJ0dWFsaXNvaW50aToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgInZpcmhlZWxsaXNldCBvaWtldWRldCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NCBzeXMtdXRpbHMvbHNjcHUuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiRnl5c2lzZXQgc3lsaW50ZXJpdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkZ5eXNpc2V0IHN5bGludGVyaXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgInNla3Rvcmlrb2tvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJMaXB1dDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA3CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICB1c2UgSlNPTiBmb3IgZGVmYXVsdCBvciBleHRlbmRlZCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFyZ3VtZW50dGk6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJyZXN1cnNzaW4gbmltaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAiYXZhaW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAicmVzdXJzc2luIG5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJPbWlzdGFqYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJ2ZXJzaW8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiRW5zacO2IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJLw6R5dHTDpGrDpC1JRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJLw6R5dHTDpGrDpG5pbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiUnlobcOkbiBuaW1pIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIkJTREkgc2l2dXR1cyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIlZpaW1laXNpbiBtdXV0b3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJ0YXZ1YSBrw6R5dMO2c3PDpCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiUMOkaWRlbiBtw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIlZpZXN0aXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgImVkZWxsaW5lbiBraXJqYXV0dW1pc2VuIHDDpGl2w6Rtw6TDpHLDpCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlNlZ21lbnRpbiBrb2tvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAidGF1bHVra29qYSBlbmludMOkw6RuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiVGlsYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJQcm90b2tvbGxhLWFqdXJpIGVpIG9sZSBreXRrZXR0eSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiZWkga29tZW50b2E/IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAia8OkeXR0w6Rqw6QtSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiU2VrdG9yaWVuIG3DpMOkcsOkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW1hZm9yaXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAib3BlcmFhdGlvICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJyZXN1cnNzaW4gbmltaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICJyZXN1cnNzaW4gbmltaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJyZXN1cnNzaW4ga3V2YXVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgImxvaGtvbGFpdGUgIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiS8OkeXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlRpZWRvc3RvasOkcmplc3RlbG3DpCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiS8OkeXR0w7Y6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICJWYWxpdHNpbWV0OlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkphZXR1biBtdWlzdGluIHNlZ21lbnR0aSBqbXVpc3RpLWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgInZhcmF0dHVqYSBzZW1hZm9yZWphID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgIlbDpGxpbXVpc3RpZGF0YW4ga2lyam9pdHVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIlR1bm5pc3RlIHBvaXN0ZXR0dSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJzZWt0b3JpZW4gbcOkw6Ryw6QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgInZhcmF0dHVqYSBzZW1hZm9yZWphID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE1CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIkxpaWFuIG1vbnRhIGF2b2ludGEgdGllZG9zdG9hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAic2VtYWZvcmluIGFydm8gZW5pbnTDpMOkbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIlDDpGlkZW4gbcOkw6Ryw6QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIktva28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgImpvbm9uIG9sZXR1c2VuaW1tw6Rpc2tva28gKHRhdnVhKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk4OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA4Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDcyCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgIiIKKyJcbiIKKyJKYWV0dW4gbXVpc3RpbiBzZWdtZW50dGkgam11aXN0aS1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDczCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIi0tLS0tLSBKYWV0dW4gbXVpc3RpbiByYWphdCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICItLS0tLS0gSmFldHVuIG11aXN0aW4gc2VnbWVudGl0IC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICItLS0tLS0gSmFldHVuIG11aXN0aW4gc2VnbWVudGl0IC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiUElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAibGFpdHRlZW4ga29rbyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMQorIywgZnV6enkKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICIgc2lpcnJldHTDpHbDpCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMyCittc2dpZCAibWVtb3J5IGJsb2NrIG51bWJlciBvciBibG9ja3MgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm51bWEgbm9kZSBvZiBtZW1vcnkiCittc2dzdHIgIm11aXN0aSBsb3B1c3NhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgImxhaXR0ZWVuIGtva28iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MQorIywgZnV6enkKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAiaGFlIGxvaGtva29rbyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAibXVpc3RpIGxvcHVzc2EiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICJtdWlzdGkgbG9wdXNzYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorIywgZnV6enkKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgIiVzIGVpIHR1ZSBtdW90b2lsdWEgJTwlJSVzJWMlPiAlcyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgbGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz12YWxpdHNpbWV0ICAgICBMeWh5ZXQgdHVubmlzdGV0dGF2YXQgdmFsaXRzaW1ldFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisiQWphIEtPTUVOVE8gc2l0ZW4sIGV0dMOkIFVVU0lKVVVSSSBvbiBhc2V0ZXR0dW5hIGp1dXJpaGFrZW1pc3Rva3NpLlxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTEKK21zZ2lkICIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIC0tc3VtbWFyeSBhcmd1bWVudCIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0te3Jhdyxqc29uLHBhaXJzfSBhbmQgLS1zdW1tYXJ5PW9ubHkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAicMOkaXbDpHlrc2VuIHR1bG9zdHVzdGEgbcOkw6Ryw6TDpHbDpHQgdmFsaXRzaW1ldCBvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZpYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjY0IHN5cy11dGlscy9sc25zLmM6NzgxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiT3Npb3RhdWx1biB1dWRlbGxlZW5sdWt1IGVww6Rvbm5pc3R1aS4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjk5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMQorIywgZnV6enkKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgImxhaXR0ZWVuIHRpbGEiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiT2hqZWxtYW4gbnNjZCBhamFtaW5lbiBrw6R5dHTDpGrDpG4g4oCdJXPigJ0gb2lrZXVrc2lsbGEgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA4Cittc2dpZCAibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDkKK21zZ2lkICJuc2ZzIG1vdW50cG9pbnQgKHVzdWFsbHkgdXNlZCBuZXR3b3JrIHN1YnN5c3RlbSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gWzxuaW1pYXZhcnV1cz5dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk4CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIkrDpHJqZXN0ZWxtw6RrZWxsb24gYXNldHVzIGVpIG9ubmlzdHUuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA1CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiByZXN1cnNzaXR5eXBwaTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0CisjLCBmdXp6eQorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAicMOkaXbDpHlrc2VuIHR1bG9zdHVzdGEgbcOkw6Ryw6TDpHbDpHQgdmFsaXRzaW1ldCBvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZpYSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcMOkw6Rhcmd1bWVudHRpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiB2YWluIHJvb3Qgdm9pIHRlaGTDpCB0dW9uIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDogdmFpbiByb290IHZvaSB0ZWhkw6QgdHVvbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJWYWluIHJvb3QgamEgJXMgdm9pdmF0IGvDpHl0dMOkw6QgdMOkdMOkIHZhbGl0c2ludGEhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6IHZhaW4gcm9vdCB2b2kgdGVoZMOkIHR1b24iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIlZpZXN0aSAlNCRzOmxsZSBraXJqYXV0dW5lZWx0YSBrw6R5dHTDpGrDpGx0w6QgJTEkc0AlMiRzICglMyRzKSwga2VsbG8gJTUkcy4uLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MSBzeXMtdXRpbHMvdW1vdW50LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIm1vdW50OiAlcyBvbiBqbyBsaWl0ZXR0eSBwYWlra2FhbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IGVpIGzDtnl0eW55dFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXMgJXMlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAibW91bnQ6ICVzIG9uIGpvIGxpaXRldHR5IHBhaWtrYWFuICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzLiIKK21zZ3N0ciAiJXM6ICVzLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiB0dW50ZW1hdG9uIGFyZ3VtZW50dGk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJUYXJraXN0ZXRhYW4ga2Fpa2tpIHRpZWRvc3RvasOkcmplc3RlbG3DpHQuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE0IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI0IHN5cy11dGlscy91bW91bnQuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbGlpdG9zIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAxIHN5cy11dGlscy91bW91bnQuYzo1MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIk9zaW9uIGtpcmpvaXR1cyBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU3CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIkFubmV0dHUgc3lsaW50ZXJpbcOkw6Ryw6QgZWkgbWFoZHUgbGV2eWxsZSIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBlaSBvbGUgbGlpdG9zcGlzdGVcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIG9uIGxpaXRvc3Bpc3RlXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFs8b2hqZWxtYT5dIFs8YXJndW1lbnR0aT4gLi4uXV1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorIkFqYSBLT01FTlRPIHNpdGVuLCBldHTDpCBVVVNJSlVVUkkgb24gYXNldGV0dHVuYSBqdXVyaWhha2VtaXN0b2tzaS5cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKyJBamEgS09NRU5UTyBzaXRlbiwgZXR0w6QgVVVTSUpVVVJJIG9uIGFzZXRldHR1bmEganV1cmloYWtlbWlzdG9rc2kuXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM0OQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAidXVkZW4gc2VsaW51eC1rb250ZWtzdGluIGx1b21pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNjEKKyMsIGZ1enp5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICJMaWlhbiB2w6Row6RuIGFyZ3VtZW50dGVqYSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJ2aXJoZTogdmFpaGRhIHR5w7ZoYWtlbWlzdG9rc2kgJXMuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgImNocm9vdCBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDYxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiIgorIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvbmltaT5cbiIKKyJcbiIKKyJWYWxpdHNpbWV0OlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM4CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJUYXJraXN0ZXRhYW4ga2Fpa2tpIHRpZWRvc3RvasOkcmplc3RlbG3DpHQuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiaGFrZW1pc3RvbiAlcyBhc2V0dGFtaW5lbiBqdXVyaWhha2VtaXN0b2tzaSBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiB0aWVkb3N0b2tva28iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIlN1b3JpdGluYWlrYXJhamEgeWxpdHR5bnl0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2VrdW50aWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKKyMsIGZ1enp5Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiS29rbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIHRpZWRvc3Rva29rbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAic2VnbWVudHRlasOkIGVuaW50w6TDpG4gPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAibG9oa290IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAiTGlpYW4gbW9udGEgYXZvaW50YSB0aWVkb3N0b2EiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgInRpZWRvc3RvICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJ0YXVsdWtrb2phIGVuaW50w6TDpG4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBwcm9zZXNzaS1JRCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3CisjLCBmdXp6eQorbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIlJlYWFsaWFpa2FzaWduYWFsaSAlZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorIywgZnV6enkKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIlJlYWFsaWFpa2FzaWduYWFsaSAlZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJ0YXVsdWtrb2phIGVuaW50w6TDpG4gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCisjLCBmdXp6eQorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJQaW5vdmlyaGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAicmVzdXJzc2luIG5pbWkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgInJlc3Vyc3NpbiBrdXZhdXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgInlrc2lrw7Z0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NworbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIlZhbGl0c2ltZXQ6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIlZhbGl0c2ltZXQ6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjUKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcwCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJoYWV0dGFlc3NhIHRpZWRvc3RvbiAlcyB1dXNpYSBvbWluYWlzdXVrc2lhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgInDDpGl2w6R5a3NlbiB0dWxvc3R1c3RhIG3DpMOkcsOkw6R2w6R0IHZhbGl0c2ltZXQgb3ZhdCB0b2lzZW5zYSBwb2lzc3Vsa2V2aWEiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiJXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgIFRlc3RhYSBnZXRvcHQoMSk6biB2ZXJzaW9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJ2aXJoZSBraXJqb2l0ZXR0YWVzc2EgdGllZG9zdG9hICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiU2FtcGxpbmdfc3RlcDogJWlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXM6ICVzKCVpKTogdsOkw6Ryw6Qga2FydGFuIHJpdmlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiVzIGVpIGzDtnlkeSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiJXM6IHByb2ZpaWxpb3NvaXRlIHNhbGxpdHVuIHbDpGxpbiB1bGtvcHVvbGVsbGEuIFbDpMOkcsOkIGthcnR0YXRpZWRvc3RvP1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDMKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAieWh0ZWVuc8OkIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBwcm9zZXNzaS1JRCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gcHJvc2Vzc2ktSUQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLw6R5dHTDtjpcbiIKKyIgcmVuaWNlIFstbl0gcHJpb3JpdGVldHRpIFstcHwtLXBpZF0gcGlkIFsuLi4gcGlkXVxuIgorIiByZW5pY2UgWy1uXSBwcmlvcml0ZWV0dGkgIC1nfC0tcGdycCBwcnlobcOkIFsuLi4gcHJ5aG3DpF1cbiIKKyIgcmVuaWNlIFstbl0gcHJpb3JpdGVldHRpICAtdXwtLXVzZXIga8OkeXR0w6Rqw6QgWy4uLiBrw6R5dHTDpGrDpF1cbiIKKyIgcmVuaWNlIC1oIHwgLS1oZWxwXG4iCisiIHJlbmljZSAtdiB8IC0tdmVyc2lvblxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIkFubmEgc3lsaW50ZXJpZW4gbcOkw6Ryw6Q6ICIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAidGllZG9zdG9uICVzIG9taW5haXN1dWtzaWVuIGhha2VtaW5lbiBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkOiB2YW5oYSBwcmlvcml0ZWV0dGkgJWQsIHV1c2kgcHJpb3JpdGVldHRpICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAidHVudGVtYXRvbiBrw6R5dHTDpGrDpC1JRDogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFpa2FrYXRrYWlzdWFydm86ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAieXRpbWVuIHNpc8OkaW5lbiBsYWl0ZW5pbWkiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgIlR1bm5pc3RlIHBvaXN0ZXR0dSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgInJlc3Vyc3NpbiBrdXZhdXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIHNvZnR3YXJlIGJsb2NrIgorbXNnc3RyICJwb2x1biB0aWxhbiBsdWtlbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJwb2x1biB0aWxhbiBsdWtlbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICJtYWEtYXNldHVzdG9hcmtpc3RvYSDigJ0lc+KAnSBlaSB2b2kgbHVraXRhIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICJUdW5uaXN0ZSBwb2lzdGV0dHUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICJsdWtpdHR1IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICJsdWtpdHR1IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDE1IHN5cy11dGlscy9yZmtpbGwuYzo0ODAgc3lzLXV0aWxzL3Jma2lsbC5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFs8bGFpdGU+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorIywgZnV6enkKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIgLWhlbHBcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiVHVubmlzdGUgcG9pc3RldHR1IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIlcyAgJS42ZiBzZWt1bnRpYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiJXM6IG9sZXRldGFhbiBSVEM6biBrw6R5dHTDpHbDpG4gVVRDOnTDpC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiTHVvIG1vbmlzYW5haXNldCB2aWVzdGl0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiYWphbiBsdWtldmEgS0RHSFdDTEstaW9jdGwgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAicHl5ZGV0dHkgdGFzYXVzIGVpIG9sZSBrYWhkZW4gcG90ZW5zc2kiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiJXM6IHRpZWRvc3RvbiBsb3BwdSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgIkhlcsOkdHlza2VsbG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgImFqYW4gbHVrZXZhIEtER0hXQ0xLLWlvY3RsIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIkhlcsOkdHlza2VsbG8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIlBBTWlhIGVpIHZvaXR1IGFsdXN0YWE6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiJXM6IHZpcmhlIHRpbGFrb25lZXNzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IG9sZXRldGFhbiBSVEM6biBrw6R5dHTDpHbDpG4gVVRDOnTDpC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJLw6R5dGV0w6TDpG4gVVRDLWFpa2FhLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIkvDpHl0ZXTDpMOkbiBwYWlrYWxsaXN0YSBhaWthYS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzMKKyMsIGZ1enp5Cittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgIiVzOiBoZXLDpHR5c2Fpa2Egb24gYW5uZXR0YXZhXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXM6ICVzIGVpIG9sZSBscC1sYWl0ZS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiS8OkeXRldMOkw6RuIHJhamFwaW50YWEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJWaWVzdGkgJTMkczpsbGUga2lyamF1dHVuZWVsdGEga8OkeXR0w6Rqw6RsdMOkICUxJHNAJTIkcywga2VsbG8gJTQkcy4uLiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiOiAhLWtvbWVudG8gZWkgb2xlIHNhbGxpdHR1IHJham9pdGV0dXNzYSB0aWxhc3NhLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgImx1a2VtaW5lbiBlcMOkb25uaXN0dWk6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiJXMgJXMlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSA8b2hqZWxtYT4gW2FyZy4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NQorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OAorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczogVHVubmlzdGFtYXRvbiBhcmtraXRlaHR1dXJpIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJrb25lbmltZW4gJXMgYXNldHRhbWluZW4gasOkcmplc3RlbG3DpGxsZSBlaSBvbm5pc3R1IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI4NgorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJMaWlhbiB2w6Row6RuIGFyZ3VtZW50dGVqYSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICIlczogdHVubmlzdGFtYXRvbiB2YWxpdHNpbiDigJ0lYyVz4oCdXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4CisjLCBmdXp6eQorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIkxpaWFuIHbDpGjDpG4gYXJndW1lbnR0ZWphIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiS8OkeW5uaXN0ZXTDpMOkbiDigJ1kYXRl4oCdLWtvbWVudG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSA8b2hqZWxtYT4gW2FyZy4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiQWphYSBvaGplbG1hbiBlcmlsYWlzaWxsYSBvaWtldWtzaWxsYS5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM0Cittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTQ0Cittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgImt5a3lsaXN0YWEgZWkgdm9pIGx1b2RhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiRWkgbWl0w6TDpG4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IGxpaWFuIHBpdGvDpCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIiByeWhtw6R0PSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkgc3lzLXV0aWxzL3NldHByaXYuYzozNjcgc3lzLXV0aWxzL3NldHByaXYuYzozNzIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc4IHN5cy11dGlscy9zZXRwcml2LmM6Mzg0IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIiAgIEVpIG1pdMOkw6RuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgInVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiZXVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAic3VpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXN1aWQgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc2dpZCBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJUb2ltaW50byBlaSBvbGUgc2FsbGl0dHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICJUb2ltaW50byBlaSBvbGUgc2FsbGl0dHUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIltlaSB0dWV0dHVdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAia3lreWxpc3RhYSBlaSB2b2kgbHVvZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiU0VMaW51eC1uaW1pw7YiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiQXBwQXJtb3ItcHJvZmlpbGkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNgorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgInZpcmhlZWxsaW5lbiByeWhtw6QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzdWlkIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NjgKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXNnaWQgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIkFJS0EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3CisjLCBmdXp6eQorbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAia3lreWxpc3RhYSBlaSB2b2kgbHVvZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAia3lreWxpc3RhYSBlaSB2b2kgbHVvZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAidHVubmlzdGFtYXRvbiBtdW90byDigJMga8OkeXRldMOkw6RuIHNla3RvcmVpdGFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICJww6TDpHR0w6Rtw6R0w7ZuIG1lcmtraWpvbm8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTcyCisjLCBmdXp6eQorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAibWVya2tpIOKAnSVj4oCdIGVpIG9sZSBzYWxsaXR0dSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAidHVubmlzdGFtYXRvbiB2YWxpdHNpbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4IGVpIG9sZSBrw6R5bm5pc3PDpCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgIiVzOiBzdWxrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3IgZWkgb2xlIGvDpHlubmlzc8OkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NQorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgInlsaW3DpMOkcsOkaW5lbiAlPGNvbnN0JT4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkwCisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIgZXVpZD0lcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIGV1aWQ9JXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAieWxpbcOkw6Ryw6RpbmVuICU8Y29uc3QlPiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIiBlZ2lkPSVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiIGVnaWQ9JXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE5CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiBlZ2lkPSVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODMyCittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM4CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIHJ5aG3DpHQ9IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0NAorIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIgcnlobcOkdD0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgImtha3NpbmtlcnRhaW5lbiBqb3Vrb24gbcOkw6RyaXR0ZWx5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJrYWtzaW5rZXJ0YWluZW4gam91a29uIG3DpMOkcml0dGVseSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgInlsaW3DpMOkcsOkaW5lbiAlPGNvbnN0JT4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4ODMKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg5OQorbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkwNworbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTEzCittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIk9oamVsbWFhIGVpIG9sZSBhbm5ldHR1IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjMKK21zZ2lkICItLWluaXQtZ3JvdXBzIHJlcXVpcmVzIC0tcnVpZCBvciAtLXJldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZCAlbGQgbm90IGZvdW5kLCAtLWluaXQtZ3JvdXBzIHJlcXVpcmVzIGFuIHVzZXIgdGhhdCBjYW4gYmUgZm91bmQgb24gdGhlIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzMgorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0MAorbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQ4Cittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTU0Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKKyMsIGZ1enp5Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJjYWNoZV9zZXQgdWhyaW4gdmFyYXVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzkKKyMsIGZ1enp5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJBc2V0YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5ODUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSA8b2hqZWxtYT4gW2FyZy4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgYWx3YXlzIGZvcmtcbiIKK21zZ3N0ciAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJtb3VudDogbGlpdG9zcGlzdGUgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTE3Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0c2lkIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiY2FjaGVfc2V0IHVocmluIHZhcmF1cyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICJzd2Fwb2ZmICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIjNtb3VudGluIGvDpHl0dMO2w7ZuIHZhYWRpdGFhbiBww6TDpGvDpHl0dMOkasOkbiBvaWtldWRldCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9mZiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgImVpIG9sZSBsb2hrb2xhaXRlIGVpa8OkIHRpZWRvc3RvOiAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJsYWl0dGVlbiB0eXlwcGkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgIkJTREkgc2l2dXR1cyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJ0YXZ1YSBrw6R5dMO2c3PDpCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInNpdnV0dWtzZW4gcHJpb3JpdGVldHRpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAibmltacO2ICIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiVGllZG9zdG9uaW1pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICJCU0RJIHNpdnV0dXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiVzOiBsc2VlayBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlczogYWxsZWtpcmpvaXR1c3NpdnVhIGVpIHZvaSBraXJqb2l0dGFhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogT2hpdGV0YWFuIHRpZWRvc3RvICVzIOKAkyBzaWluw6QgdmFpa3V0dGFhIG9sZXZhbiByZWlracOkLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICJsYWl0dGVlbiAlcyBrb2tvYSBlaSB2b2kgaGFrZWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAidGllZG9zdG9uIOKAnSVz4oCdIG90c2FrZXR0YSBlaSB2b2kgbHVrZWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIlR1bnRlbWF0b24gdmFsaXRzaW4g4oCdJWPigJ0gasOkdGV0dHkgaHVvbWlvdHRhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAic2lpcnR5bWlzdmlyaGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAtbCBbdGFpIC0tbGlzdF06ICAgICBsaXN0YWEga2Fpa2tpZW4gbGFpdHRlaWRlbiBvc2lvdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNworbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgIC0taGVscCAgICAgICAgICAgICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODE2Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgInNpdnV0dWtzZW4gcHJpb3JpdGVldHRpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiB0dW50ZW1hdG9uIGFyZ3VtZW50dGk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJoYWtlbWlzdG9uICVzIGxhaXRldHRhIGphIGktc29sbXVhIGVpIHZvaWRhIG3DpMOkcml0dMOkw6QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAiYXZhYW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic3RhdCBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAibHVrZW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczogdW5saW5rIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICIlczogbGlpdHTDpG1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIlBha290ZXRhYW4gdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0YXJraXN0dXMgbGFpdHRlZWxsYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiaGFrZW1pc3Rvb24gJXMgZWkgdm9pIHNpaXJ0ecOkIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiJXM6IGxpaXR0w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIlNpaXJyeSBqYSBrw6R5dMOkIFJPT1RpYSBqdXVyaWhha2VtaXN0b25hIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiIgorIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvbmltaT5cbiIKKyJcbiIKKyJWYWxpdHNpbWV0OlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDkKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiVmFsaXRldHRhdmFzdGkgZXQgb2xlIHJvb3RcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgdm9pIGvDpHNpdGVsbMOkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyBlaSBvbGUgbHAtbGFpdGUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNzgKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiTFBHRVRTVEFUVVMtdmlyaGUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIlczpuIHRpbGEgb24gJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsIHZhcmF0dHUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCB2YWxtaXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwgcGFwZXJpIGxvcHVzc2EiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsIG9uLWxpbmUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCB2aXJoZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwgZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzA4Cittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRLXZpcmhlIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyBrw6R5dHTDpMOkIElSUTp0YSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMga8OkeXR0w6TDpCBraWVydG9reXNlbHnDpFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJJcnJvdGF0aWVkb3N0b2rDpHJqZXN0ZWxtacOkLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MgorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgIGxpc3RhYSB0dW5uZXR1dCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0eXlwaXQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIgICAgICAgICAgJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBpcnJvdGV0dHUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICJjYWNoZV9zZXQgdWhyaW4gdmFyYXVzIGVww6Rvbm5pc3R1aSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyMworIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiT3Npb3RhdWx1biB1dWRlbGxlZW5sdWt1IGVww6Rvbm5pc3R1aS4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjM0NgorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICJtb3VudDogZWkgbMO2eXR5bnl0ICVzIOKAkyBsdW9kYWFuIHNlLi5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiZWktdHVldHR1IGFyZ3VtZW50dGkgZnVua3Rpb2xsZSAlPF9fYnVpbHRpbl9mcmFtZV9hZGRyZXNzJT4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgImtpcmpvaXR0YW1pbmVuIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAiJXM6IHR1bnRlbWF0b24gYXJndW1lbnR0aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIlRhcmtpc3RldGFhbiBrYWlra2kgdGllZG9zdG9qw6RyamVzdGVsbcOkdC5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxpaXR0w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAidGllZG9zdG9uICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJsdWtlbWluZW4gZXDDpG9ubmlzdHVpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiICAgICAtLWtpbGwtY2hpbGRbPTxzaWduYW1lPl0gIHdoZW4gZHlpbmcsIGtpbGwgdGhlIGZvcmtlZCBjaGlsZCAoaW1wbGllcyAtLWZvcmspOyBkZWZhdWx0cyB0byBTSUdLSUxMXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjQKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDEKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAidW5zaGFyZSBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJMYXBzaSBsb3BldHRpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAicMOkaXbDpHlrc2VuIHR1bG9zdHVzdGEgbcOkw6Ryw6TDpHbDpHQgdmFsaXRzaW1ldCBvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZpYSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxpaXR0w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiZWhkb2thcyAxOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiZWhkb2thcyAyOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiRUkgVMOEU03DhMOEIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiU8OkaGvDtmthdGtvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIlPDpGhrw7ZrYXRrbyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgInNla3VudGlhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgInNla3VudGlhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICLigJ0g4oCdLWxpcHB1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAibG9oa29sYWl0ZSAiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAic3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAic3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgInl0aW1lbiBzaXPDpGluZW4gbGFpdGVuaW1pIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgInR1bnRlbWF0b24ga8OkeXR0w6Rqw6QtSUQ6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiTGFpdGU6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogdHVudGVtYXRvbiBzaWduYWFsaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlcyBlcMOkb25uaXN0dWkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAia29uZW5pbWVuICVzIGFzZXR0YW1pbmVuIGrDpHJqZXN0ZWxtw6RsbGUgZWkgb25uaXN0dSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIkFpa2FhIGVkZWxsaXNlc3TDpCBzw6TDpGTDtnN0w6Qgb24ga3VsdW51dCAlZCBzZWt1bnRpYVxuIgorbXNnc3RyWzFdICJBaWthYSBlZGVsbGlzZXN0w6Qgc8Okw6Rkw7ZzdMOkIG9uIGt1bHVudXQgJWQgc2VrdW50aWFcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIGZ1bmt0aW9zc2Egd3JpdGVfdGFibGVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUgc3lzLXV0aWxzL3dkY3RsLmM6NDY4IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSBzZWt1bnRpXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSBzZWt1bnRpYVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhaWtha2F0a2Fpc3VhcnZvOiAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIGFpa2FrYXRrYWlzdWFydm86ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzIKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiTGFpdGU6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAidmVyc2lvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInl0aW1lbiBzaXPDpGluZW4gbGFpdGVuaW1pIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAiUHVza3VyaWEgZWkgdm9pIHZhcmF0YS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6IG1rZnMgWy1WXSBbLXQgdGllZC5qw6Ryai4gdHl5cHBpXSBbdGllZC5qw6Ryai52YWxpdHNpbWV0XSBsYWl0ZSBba29rb11cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiICAgIC1TIyBbdGFpIC0tc2VjdG9ycyAjXTogIGFzZXRhIGvDpHl0ZXR0w6R2w6Qgc2VrdG9yaWVuIG3DpMOkcsOkIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICJww6RpdsOkeWtzZW4gdHVsb3N0dXN0YSBtw6TDpHLDpMOkdsOkdCB2YWxpdHNpbWV0IG92YXQgdG9pc2Vuc2EgcG9pc3N1bGtldmlhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAicml2aW3DpMOkcsOkIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgbMO2eXR5bnl0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKGF1dG9tYWF0dGluZW4ga2lyamF1dHVtaW5lbilcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICJoYWtlbWlzdG9uICVzIGFzZXR0YW1pbmVuIGp1dXJpaGFrZW1pc3Rva3NpIGVpIG9ubmlzdHUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAidmlyaGU6IHZhaWhkYSB0ecO2aGFrZW1pc3Rva3NpICVzLiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBwcm9zZXNzaWEg4oCdJXPigJ0gZWkgbMO2eWR5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IG9oamVsbWFhICVzIGVpIHZvaSBrw6R5bm5pc3TDpMOkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NzQgdGVybS11dGlscy9hZ2V0dHkuYzo5MDEgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzcgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ4NAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNTI2IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5MyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJNdWlzdGluIHZhcmFhbWluZW4gZWkgb25uaXN0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiVzIOKAkyAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gcMOkw6Rhcmd1bWVudHRpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGFyZ3VtZW50dGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBub3BldXM6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgImxpaWFuIG1vbnRhIHZhaWh0b2VodG9pc3RhIG5vcGV1dHRhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGVpIHZvaSBhdmF0YSB2YWtpb3N5w7Z0dGVlbsOkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IGVpIG9sZSBtZXJra2lsYWl0ZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IGVpIG9sZSBtZXJra2lsYWl0ZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQ0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBlaSB2b2kgYXZhdGEgdmFraW9zecO2dHRlZW7DpDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGVpIHZvaSBhdmF0YSB2YWtpb3N5w7Z0dGVlbsOkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IGVpIG9sZSBhdm9pbiBsdWt1YS9raXJqb2l0dXN0YSB2YXJ0ZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiJXM6IHByb3Nlc3NpYSDigJ0lc+KAnSBlaSBsw7Z5ZHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBvbmdlbG1hIHRpZWRvc3Rva2FodmFuIGtvcGlvaW5uaXNzYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgInRpZWRvc3RvbiAlcyBvbWluYWlzdXVrc2llbiBoYWtlbWluZW4gZWkgb25uaXN0dSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImxhaXR0ZWVuICVzIGtva29hIGVpIHZvaSBoYWtlYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAiVGllZG9zdG9hIOKAnSVz4oCdIGVpIHZvaSBhdmF0YSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImZ0c19yZWFkIGVww6Rvbm5pc3R1aTogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIltraXJqYXV0dW1pbmVuIEVOVEVSLW7DpHBww6RpbWVsbMOkXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayBwb2lzIHDDpMOkbHTDpCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIk51bSBMb2NrIHDDpMOkbGzDpCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzIExvY2sgcMOkw6RsbMOkIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sgcMOkw6RsbMOkIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJWaWhqZTogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGx1a3U6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBzecO2dHRlZW4geWxpdnVvdG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAibW91bnQ6IGxvb3AtbGFpdHRlZW4gYXNldHRhbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzAKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiQXZhYSBww6TDpHR0ZWVuIGphIGFzZXR0YWEgc2VuIHRpbGFuLlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNAorbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNworbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzgKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOQorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9a3VvcmkgICAgICAgICAgICBBc2V0YSBrdW9yZW4gbGFpbmF1c2vDpHl0w6RubsO2dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFR1bG9zdGEgb3Npb3RhdWx1IHJ1dWR1bGxlIHRhaSB0aWVkb3N0b29uIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCisjLCBmdXp6eQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NQorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NworIywgZnV6enkKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFR1bG9zdGEgb3Npb3RhdWx1IHJ1dWR1bGxlIHRhaSB0aWVkb3N0b29uIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnM9dmFsaXRzaW1ldCBQaXRrw6R0IHR1bm5pc3RldHRhdmF0IHZhbGl0c2ltZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgw6Rsw6Qga2lyam9pdGEgbGV2eWxsZSBvaWtlYXN0aSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgIHAgICAgICAgICAgVHVsb3N0YSBvc2lvdGF1bHUgcnV1ZHVsbGUgdGFpIHRpZWRvc3Rvb24iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIMOkbMOkIGtpcmpvaXRhIGxldnlsbGUgb2lrZWFzdGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIlZCBrw6R5dHTDpGrDpCIKK21zZ3N0clsxXSAiJWQga8OkeXR0w6Rqw6TDpCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGVww6Rvbm5pc3R1aTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIlRpZWRvc3RvYSDigJ0lc+KAnSBlaSB2b2kgYXZhdGEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFt5IHwgbl1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisiICAtdSwgLS11cGRhdGUgICAgICAgICAgICAgICAgIGtvcGlvaSB2YWluIGpvcyBMw4RIREV0aWVkb3N0byBvbiB1dWRlbXBpIGt1aW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrb2hkZSwgdGFpIGpvcyBrb2hkZXRpZWRvc3RvIHB1dXR0dXVcbiIKKyIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgc2VsaXTDpCBtaXTDpCB0YXBhaHR1dVxuIgorIiAgLXgsIC0tb25lLWZpbGUtc3lzdGVtICAgICAgICBweXN5IHTDpHNzw6QgdGllZG9zdG9qw6RyamVzdGVsbcOkc3PDpFxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSBlcMOkb25uaXN0dWkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgIm9uIHkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgIm9uIG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGVpLWVzdMOkdsOkbiB0aWxhbiBtdXV0dGFtaW5lbiBlaSBvbm5pc3R1IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY3Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10WzxmaWxlPl0sIC0tdGltaW5nWz08ZmlsZT5dIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgb3IgdG8gRklMRVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisiVmFyb2l0dXM6IOKAnSVz4oCdIG9uIGxpbmtraS5cbiIKKyJLw6R5dMOkIOKAnSVzIFt2YWxpdHNpbWV0XSAlc+KAnSBqb3MgdG9kZWxsYSBoYWx1YXQga8OkeXR0w6TDpCBzaXTDpC5cbiIKKyJTa3JpcHRpw6QgZWkga8OkeW5uaXN0ZXR0eS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyaXB0aSBzdW9yaXRldHR1LCB0aWVkb3N0byBvbiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIlNrcmlwdGkga8OkeW5uaXN0ZXR0eSwgdGllZG9zdG8gb24gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAiU2tyaXB0aSBrw6R5bm5pc3RldHR5ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTa3JpcHRpIHN1b3JpdGV0dHUgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgZXDDpG9ubmlzdHVpIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworIywgZnV6enkKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIm11aXN0aSBsb3B1c3NhIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTa3JpcHRpIGvDpHlubmlzdGV0dHksIHRpZWRvc3RvIG9uICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJraXJqb2l0dGFtaW5lbiB2YWtpb3R1bG9zdGVlc2VlbiBlcMOkb25uaXN0dWkiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIlczogdGllZG9zdG9uIGxvcHB1IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJmdHNfcmVhZCBlcMOkb25uaXN0dWk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJ2w6TDpHLDpCBtw6TDpHLDpCBhcmd1bWVudHRlamEiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiZnRzX3JlYWQgZXDDpG9ubmlzdHVpOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIiVzOiAlczogb2RvdHRhbWF0b24gdGllZG9zdG9tdW90b1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJhcmd1bWVudHRpdmlyaGU6IGtpcmtrYXVzICVzIGVpIG9sZSB0dWV0dHUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyNgorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgImxpaWFuIG1vbnRhIHNhcmthaW50YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVMOkbcOkIHBpZW5pIGvDpHl0dMO2b3Bhc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLWJvbGQgPG9ufG9mZj5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtaGFsZi1icmlnaHQgPG9ufG9mZj5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCisjLCBmdXp6eQorbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC1ibGluayA8b258b2ZmPlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2CisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworIywgZnV6enkKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisiTsOkeXTDpCBjbGFzcy10aWVkb3N0b24gc2lzw6RsdMO2IGx1ZXR0YXZhc3NhIG11b2Rvc3NhLlxuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAtcG93ZXJzYXZlIDxvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmPlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICJWYWluIHJvb3Qta8OkeXR0w6Rqw6Qgdm9pIGvDpHl0dMOkw6QgdMOkdMOkIHZhbGl0c2ludGEhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAidmFsaXRzaW1pYSAtZm9yY2VfZmxhdF9uYW1lc3BhY2UgamEgLWR5bmFtaWNsaWIgZWkgdm9pIGvDpHl0dMOkw6QgeWhkZXNzw6QiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAidHnDtmhha2VtaXN0b24gc2Vsdml0dMOkbWluZW4gZWkgb25uaXN0dSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAidHVsb3N0aWVkb3N0b2Eg4oCdJXPigJ0gZWkgdm9pIGF2YXRhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiVzIGVpIHR1ZSBtdW90b2lsdWEgJTwlJSVzJWMlPiAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgInNpaXJ0eW1pbmVuIGVww6Rvbm5pc3R1aSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCisjLCBmdXp6eQorbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgIkvDpHl0dMOkasOkbiAlcyBraXJqYXV0dW1pbmVuIGh5bMOkdHR5IHTDpGxsw6QgcMOkw6R0dGVlbGzDpC5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiB2YWxpdHNpbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIGVww6Rvbm5pc3R1aSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJ2aXJyYW5zw6TDpHN0w7Z0aWxhYSBlaSB2b2kgYXNldHRhYSAocG9pcykiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMTYgdGVybS11dGlscy9zZXR0ZXJtLmM6MTEyNQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwtdmlyaGUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIG9uIG3DpMOkcml0dGVsZW3DpHR0w6QuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTUzCittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgInR1bnRlbWF0b24gdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGkg4oCdJXPigJ0iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKKyMsIGZ1enp5Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIiAtdGVybSBww6TDpHR0ZWVuX25pbWlcbiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJzaXPDpGluZW4gdmlyaGUiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAibGlpYW4gcGl0a8OkIHJpdmlhcmd1bWVudHRpIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbiBlcMOkb25uaXN0dWkiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImhhYXJhdXR0YW1pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogVklSSEVFTElORU4gVklSSEUsIHZpZXN0aSBvbiBhaXZhbiBsaWlhbiBwaXRrw6QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiS2lyam9pdGEgdmllc3RpIGthaWtpbGxlIGvDpHl0dMOkamlsbGUuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiICAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIEVpIGxhaW5hdXNtZXJra2Vqw6QgdHVsb3N0ZWVzZWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJWaXJoZWVsbGluZW4gYXJndW1lbnR0aSIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBnaWQiCittc2dzdHIgInR1bnRlbWF0b24iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworIywgZnV6enkKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICJWYWluIHJvb3Qta8OkeXR0w6Rqw6Qgdm9pIGvDpHl0dMOkw6QgdMOkdMOkIHZhbGl0c2ludGEhIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiBhcmd1bWVudHRpICVzICVzOmxsZSIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAidHnDtmhha2VtaXN0b24gc2Vsdml0dMOkbWluZW4gZWkgb25uaXN0dSIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgImrDpHJqZXN0ZWxtw6RuIG5pbWVuIGhha3UgZWkgb25uaXN0dSIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiVmllc3RpIGvDpHl0dMOkasOkbHTDpCAlc0AlcyAoJXMpICglcyk6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJoYWtlbWlzdG9hICVzIGVpIHZvaSBsdWtlYSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIkzDpGhldMOkIHZpZXN0aSB0b2lzZWxsZSBrw6R5dHTDpGrDpGxsZS5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiJXMgZWkgb2xlIGtpcmphdXR1bmVlbmEiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAid3JpdGU6IHR0eTpuIG5pbWXDpCBlaSBsw7Z5ZHkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyBvbiBlc3TDpG55dCB2aWVzdGl0IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiVzOiBrZW50dMOkIOKAnSVz4oCdIG3DpMOkcml0ZWx0eSB1c2VhbW1pbiBrdWluIGtlcnJhbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMgZXDDpG9ubmlzdHVpIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJWaWVzdGkgJTQkczpsbGUga2lyamF1dHVuZWVsdGEga8OkeXR0w6Rqw6RsdMOkICUxJHNAJTIkcyAoJTMkcyksIGtlbGxvICU1JHMuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJWaWVzdGkgJTMkczpsbGUga2lyamF1dHVuZWVsdGEga8OkeXR0w6Rqw6RsdMOkICUxJHNAJTIkcywga2VsbG8gJTQkcy4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMAorIywgZnV6enkKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIkxldnkgYXZhdHRpaW4gdmFpbiBsdWt1IC10aWxhc3NhIOKAkyBzaW51bGxhIGVpIG9sZSBraXJqb2l0dXNvaWtldXR0YSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyBlaSBvbGUga2lyamF1dHVuZWVuYSBww6TDpHR0ZWVsbMOkICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgb24gZXN0w6RueXQgdmllc3RpdCBww6TDpHR0ZWVsbMOkICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICJTdW9kYXRhIHBvaXMga8Okw6RudGVpc2V0IHJpdmludmFpaGRvdC5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKyIlcyBsdWtlZSB2YWtpb3N5w7Z0dGVlc3TDpCBqYSBraXJqb2l0dGFhIHZha2lvdHVsb3N0ZWVzZWVuXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gLWwtcGFyYW1ldHJpIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAidmFyb2l0dXM6IGVpIHZvaWRhIHZhcm11dXNrb3Bpb2lkYTogJXMuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiZW5zaW1tw6Rpc2VzdMOkIHJpdmlzdMOkIGV0ZWVucMOkaW4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIHJpdmlwdXNrdXJpIG9uIGpvIHR5aGplbm5ldHR5IgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJTdW9kYXRhIG5yb2ZmLXR1bG9zdGUgbsOkeXR0w7Zlc2lrYXRzZWx1YSB2YXJ0ZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBlc3TDpCBrYWlra2kgYWxsZXZpaXZhdXNcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF1cbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJlbnNpbW3DpGluZW4gYXJndW1lbnR0aSIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAidG9pbmVuIGFyZ3VtZW50dGkiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIm3DpMOkcml0dGVsZW3DpHTDtm4gbGlpdG9za29odGEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICJKw6RzZW5ueXN2aXJoZTogJXMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgIkrDpHNlbm55c3ZpcmhlOiAlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiT3Npb3RhdWx1biB1dWRlbGxlZW5sdWt1IGVww6Rvbm5pc3R1aS4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgdCDigJMgVGF1bHUgcmFhJ2Fzc2EgbXVvZG9zc2EiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9b2hqZWxtYW5pbWkgICAgICAgTmltaSwgam9rYSBpbG1vaXRldGFhbiB2aXJoZWlkZW4geWh0ZXlkZXNzw6RcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS10YWJsZS1jb2x1bW5zIDxuYW1lcz4gICAgICBjb21tYSBzZXBhcmF0ZWQgY29sdW1ucyBuYW1lc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgRWkgbm9ybWFhbGlhIHR1bG9zdGV0dGFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDYKK21zZ2lkICIgLWUsIC0tdGFibGUtaGVhZGVyLXJlcGVhdCAgICAgICAgcmVwZWF0IGhlYWRlciBmb3IgZWFjaCBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLXRhYmxlLWhpZGUgPGNvbHVtbnM+ICAgICAgIGRvbid0IHByaW50IHRoZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OAorbXNnaWQgIiAtUiwgLS10YWJsZS1yaWdodCA8Y29sdW1ucz4gICAgICByaWdodCBhbGlnbiB0ZXh0IGluIHRoZXNlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQgZm9yIHRhYmxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1Cittc2dpZCAiIC1pLCAtLXRyZWUtaWQgPGNvbHVtbj4gICAgICAgICAgIGxpbmUgSUQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAgICAtaCMgW3RhaSAtLWhlYWRzICNdOiAgICBhc2V0YSBrw6R5dGV0dMOkdsOkIHDDpGlkZW4gbcOkw6Ryw6QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vdXRwdXQtd2lkdGggPHdpZHRoPiAgICAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPXZhbGl0c2ltZXQgICAgIEx5aHlldCB0dW5uaXN0ZXR0YXZhdCB2YWxpdHNpbWV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3MzEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJ2aXJoZWVsbGluZW4gc2FyYWtlbcOkw6Ryw6Q6ICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgInNhcmFrZW5pbWllbiBqw6RzZW50w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvPi4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJzZWdtZW50dGVqw6QgZW5pbnTDpMOkbiA9ICVsdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJoZXhkdW1wOiB2aXJoZWVsbGluZW4gdGF2dW3DpMOkcsOkIG11dW5ub3NtZXJraWxsZSAlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgImhleGR1bXA6ICUlcyB2YWF0aWkgdGFya2t1dWRlbiB0YWkgdGF2dW3DpMOkcsOkbi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiVmlyaGVlbGxpbmVuIGtpcmphc2ludGllZG9zdG9uIG11b3RvIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAidmlyaGVlbGxpbmVuIG11dW5ub3NtZXJra2kgJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIkx1ZSB5a3NpIHJpdmkuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAgbsOkeXTDpCBvaGplIGtlbGxvbiBzb2l0dGFtaXNlbiBzaWphYW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICBsYXNrZSBsb29naXNpYSByaXZlasOkIG7DpHl0dMO2cml2aWVuIHNpamFhblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAtbCAgICAgICAgICBlc3TDpCB0YXVrbyBzaXZ1bnZhaWhkb24gasOkbGtlZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICDDpGzDpCB2aWVyaXTDpCwgbsOkeXTDpCB0ZWtzdGkgamEgc2lpc3RpdCByaXZpbmxvcHV0XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAgw6Rsw6Qgdmllcml0w6QsIHR5aGplbm7DpCBuw6R5dHTDtiBqYSBuw6R5dMOkIHRla3N0aVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgeWhkaXN0w6QgcGVyw6Rra8OkaXNldCB0eWhqw6R0IHJpdml0XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NAorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgZXN0w6QgYWxsZXZpaXZhdXNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTxsdWt1PiAgICAgcml2aWVuIG3DpMOkcsOkIG7DpHl0w7ZsbMOkXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICs8bHVrdT4gICAgIG7DpHl0w6QgdGllb2RzdG8gYWxrYWVuIHJpdmludW1lcm9zdGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ3Cittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiArLzxqb25vPiAgICBuw6R5dMOkIHRpZWRvc3RvIGFsa2FlbiBsw7Z5dHluZWVzdMOkIGhha3Vqb25vc3RhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgInR1bnRlbWF0b24gdmFsaXRzaW4gLSVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBoYWtlbWlzdG8gKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKiogJXM6IEVpIG9sZSB0ZWtzdGl0aWVkb3N0byAqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltLw6R5dMOkIHEgdGFpIFEgbG9wZXR0YWFrc2VzaV0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1MaXPDpMOkLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihTZXVyYWF2YSB0aWVkb3N0bzogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbVsOkbGlsecO2bnRpIGphdGthYSwg4oCdceKAnSBsb3BldHRhYS5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4uJWQgc2l2dSB0YWFrc2Vww6RpbiIKK21zZ3N0clsxXSAiLi4uJWQgc2l2dWEgdGFha3NlcMOkaW4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLm9oaXRldGFhbiAlZCByaXZpIgorbXNnc3RyWzFdICIuLi5vaGl0ZXRhYW4gJWQgcml2acOkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKlRha2Fpc2luKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIkVpIGFpZW1wYWEgc8Okw6RubsO2bGxpc3TDpCBsYXVzZWtldHRhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzE0Cittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlVzZWltcGlhIGtvbWVudG9qYSB2b2kgZWRlbHTDpMOkIHZhbGlubmFpbmVuIGtva29uYWlzbHVrdWFyZ3VtZW50dGkgay5cbiIKKyJPbGV0dXNhc2V0dWtzZXQgaGFrYXN1bGtlaXNzYS5cbiIKKyJBc3Rlcmlza2lsbGEgKCopIG1lcmtpdHlpc3PDpCBrb21lbm5vaXNzYSBhcmd1bWVudGlzdGEgdHVsZWUgdXVzaSBvbGV0dXNhcnZvLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHbDpGxpPiAgICAgICAgICAgICAgICAgIE7DpHl0w6Qgc2V1cmFhdmF0IGsgcml2acOkIHRla3N0acOkIFtueWt5aW5lbiBydXVkdW4gcml2aW3DpMOkcsOkXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIE7DpHl0w6Qgc2V1cmFhdmF0IGsgcml2acOkIHRla3N0acOkIFtueWt5aW5lbiBydXVkdW4gcml2aW3DpMOkcsOkXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBOw6R5dMOkIHNldXJhYXZhdCBrIHJpdmnDpCB0ZWtzdGnDpCBbMV0qXG4iCisiZCB0YWkgY3RybC1EICAgICAgICAgICAgVmllcml0w6QgayByaXZpw6QgW255a3lpbmVuIHZpZXJpdHlzbcOkw6Ryw6QsIGFsa3VhcnZvIDExXSpcbiIKKyJxIHRhaSBRIG9yIDxrZXNrZXl0eXM+ICBQb2lzdHUgbW9yZXN0YVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIE9oaXRhIGsgcml2acOkIGphIHNpaXJyeSBldGVlbnDDpGluIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIE9oaXRhIGsgcnV1dHVhIHRla3N0acOkIGphIHNpaXJyeSBldGVlbnDDpGluIFsxXVxuIgorImIgdGFpIGN0cmwtQiAgICAgICAgICAgIE9oaXRhIGsgcnV1dHVhIHRla3N0acOkIGphIHNpaXJyeSB0YWFrc2Vww6RpbiBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBQYWxhYSBrb2h0YWFuLCBqb3N0YSBlZGVsbGluZW4gaGFrdSBhbGtvaVxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIE7DpHl0w6QgbnlreWluZW4gcml2aW51bWVyb1xuIgorIi88c8Okw6RubsO2bGxpbmVuIGxhdXNla2U+IEV0c2kgc8Okw6RubsO2bGxpc2VuIGxhdXNla2tlZW4gazpzIGVzaWludHltw6QgWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgRXRzaSBlZGVsbGlzZW4gc8Okw6RubsO2bGxpc2VuIGxhdXNla2tlZW4gazpzIGVzaWludHltw6QgWzFdXG4iCisiITxrb20+IHRhaSA6ITxrb20+ICAgICAgS8OkeW5uaXN0w6QgPGtvbT4gYWxpa3VvcmVzc2FcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBLw6R5bm5pc3TDpCAvdXNyL2Jpbi92aSBueWt5aXNlbGxlIHJpdmlsbGVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBQaWlycsOkIHJ1dXR1IHV1ZGVsbGVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIFNpaXJyeSBrOm50ZWVuIHNldXJhYXZhYW4gdGllZG9zdG9vbiBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBTaWlycnkgazpudGVlbiBlZGVsbGlzZWVuIHRpZWRvc3Rvb24gWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgTsOkeXTDpCBueWt5aW5lbiB0aWVkb3N0b25pbWkgamEgcml2aW51bWVyb1xuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFRvaXN0YSBlZGVsbGluZW4ga29tZW50b1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltOw6RwcMOkaW4g4oCdaOKAnSBuw6R5dHTDpMOkIG9oamVpdGEuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAi4oCdJXPigJ0gcml2aSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW0VpIHRpZWRvc3RvXSByaXZpICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIFlsaXZ1b3RvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5vaGl0ZXRhYW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiSGFobW9hIGVpIGzDtnlkeVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIkhhaG1vYSBlaSBsw7Z5ZHkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NTIKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJrw6R5bm5pc3R5cyBlcMOkb25uaXN0dWlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiaGFhcmF1dHRhbWluZW4gZWkgb25uaXN0dVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzAwCittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLk9oaXRldGFhbiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uVmFpaGRldGFhbiB0aWVkb3N0b29uICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNgorbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLlBhbGF0YWFuIHRpZWRvc3Rvb24gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiTGlpYW4gcGl0a8OkIHJpdmkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMzIKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJFaSBlZGVsbGlzdMOkIGtvbWVudG9hIGtvcnZhdHRhdmFrc2kiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTIKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiU2VsYWEgdGVrc3RpdGllZG9zdG9qYSBzaXZ1aXR0YWluLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIgLWx1a3UgICAgICAgc2l2dW4gcml2aW3DpMOkcsOkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgIHR5aGplbm7DpCBuw6R5dHTDtiBlbm5lbiBuw6R5dHTDpG1pc3TDpFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQwCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgLWUgICAgICAgICAgIMOkbMOkIGtlc2tleXTDpCB0aWVkb3N0b24gbG9wdXNzYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIMOkbMOkIGphYSBwaXRracOkIHJpdmVqw6RcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIHDDpMOkdMOkIGtvbWVudG8gdXVkZWxsYSByaXZpbGzDpFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIgLXAgPGtlaG90ZT4gIG3DpMOkcml0w6Qga2Vob3RlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIHR1bG9zdGEgaWxtb2l0dWtzZXQgdmFraW90dWxvc3ZpcnRhYW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorIywgZnV6enkKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiAgICAgICAgICAtLS0tQWxrdS0tLS0gICAgICAgICAtLS0tTG9wcHUtLS0tICAgICBBbGt1LSAgICAgU2VrdG9yaWVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy9oYWhtby8gICAgIGFsb2l0YSBoYWhtb24gc2lzw6RsdMOkdsOkbHTDpCByaXZpbHTDpFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAidmFsaXRzaW4gdmFhdGlpIGFyZ3VtZW50aW4gLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgInZpcmhlZWxsaW5lbiB2YWxpdHNpbiDigJMgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLm9oaXRldGFhbiBldGVlbnDDpGluXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjkKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi5vaGl0ZXRhYW4gdGFha3NlcMOkaW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiRWkgc2V1cmFhdmFhIHRpZWRvc3RvYSIKKworIzogdGV4dC11dGlscy9wZy5jOjM4OQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIkVpIGVkZWxsaXN0w6QgdGllZG9zdG9hIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICJMdWt1dmlyaGUgJXMtdGllZG9zdG9zc2EiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiT2RvdHRhbWF0b24gdGllZG9zdG9uIGxvcHB1ICVzLXRpZWRvc3Rvc3NhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiVHVudGVtYXRvbiB2aXJoZSAlcy10aWVkb3N0b3NzYSIKKworIzogdGV4dC11dGlscy9wZy5jOjk0OQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIlbDpGxpYWlrYWlzdGllZG9zdG9uIGx1b21pbmVuIGVpIG9ubmlzdHUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTggdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJWaXJoZSBzw6TDpG5uw7ZsbGlzZXNzw6QgbGF1c2Vra2Vlc3NhOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTA1Cittc2dpZCAiKEVPRikiCittc2dzdHIgIih0aWVkb3N0b24gbG9wcHUpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEzMCB0ZXh0LXV0aWxzL3BnLmM6MTE1NgorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiRWkgbXVpc3RldHR1YSBoYWt1bWVya2tpam9ub2EiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJlaSB2b2kgYXZhdGEgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICJ0YWxsZW5uZXR0dSIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIS1rb21lbnRvIGVpIG9sZSBzYWxsaXR0dSByYWpvaXRldHVzc2EgdGlsYXNzYS5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIGVww6Rvbm5pc3R1aSwgeXJpdMOkIG15w7ZoZW1taW4gdXVkZWxsZWVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoU2V1cmFhdmEgdGllZG9zdG86ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgVGVraWrDpG5vaWtldWRldCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEthaWtraSBvaWtldWRldCBwaWTDpHRldMOkw6RuLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU5NCB0ZXh0LXV0aWxzL3BnLmM6MTY2NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgInNpdnVuIHJpdmltw6TDpHLDpG4gasOkc2VubnlzIGVww6Rvbm5pc3R1aSIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBbdGllZG9zdG8uLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODEKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW3ZhbGl0c2ltZXRdIFs8dGllZG9zdG8+IC4uLl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJBbGxldmlpdmFhLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC10LCAtVCwgLS10ZXJtaW5hbCBQw4TDhFRFICAgICBvaGl0YSB5bXDDpHJpc3TDtm11dXR0dWphIFRFUk1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIGFsbGVraXJqb2l0dXN0YSBvc29pdHRhYSBlcmlsbGluZW4gcml2aVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJvbmdlbG1hIGx1ZXR0YWVzc2EgdGVybWluZm9hIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAicMOkw6R0ZSBcIiVzXCIgb24gdHVudGVtYXRvbiwgdmFsaXRhYW4gb2xldHVzIFwiZHVtYlwiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgInR1bnRlbWF0b24gb2hqYXVzc2FyamEgc3nDtnR0ZWVzc8OkOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiU3nDtnRlcml2aSBvbiBsaWlhbiBwaXRrw6QuIgorCisjfiBtc2dpZCAiR2VvbWV0cnkiCisjfiBtc2dzdHIgIkdlb21ldHJpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICJpb2N0bCgpIGVpIG9ubmlzdHVudXQgbHVrZW1hYW4gYWlrYWEga29odGVlc3RhICVzIgorCisjfiBtc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKKyN+IG1zZ3N0ciAibnVrdXRhYW4gfiVkIMK1c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEVpIG5vcm1hYWxpYSB0dWxvc3RldHRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgInRpZWRvc3RvbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorI34gbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgdm9pIHNpaXJ0w6TDpCBrb2h0ZWVzZWVuICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgImVpLXR1ZXR0dSBhcmd1bWVudHRpIGZ1bmt0aW9sbGUgJTxfX2J1aWx0aW5fZnJhbWVfYWRkcmVzcyU+IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBhY2Nlc3MgZmlsZSAlcyIKKyN+IG1zZ3N0ciAidGllZG9zdG9hICVzIGVpIHZvaSBrw6RzaXRlbGzDpCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCisjfiBtc2dzdHIgIlNhcmFra2VpdGEgICAgICAgICAgOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIiCisjfiAia8OkeXR0w7Y6ICVzIFstaF0gWy12XSBbLWIgbGtva29dIFstZSBsYWl0b3NdIFstTiB0YXZ1asOkcmpdIFstaSB0aWVkXSBbLW4gbmltaV0gaGFrbmltaSB0dWxvc3RpZWRcbiIKKyN+ICIgLWggICAgICAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZVxuIgorI34gIiAtdiAgICAgICAgICBtb25pc2FuYWlzdXVzXG4iCisjfiAiIC1FICAgICAgICAgIGvDpHNpdHRlbGUgdmFyb2l0dWtzZXQgdmlyaGVpbsOkIChub2xsYXN0YSBwb2lra2VhdmEgcGFsdXVhcnZvKVxuIgorI34gIiAtYiBsa29rbyAgICBrw6R5dMOkIHTDpHTDpCBsb2hrb2tva29hLCBvbiBvbHRhdmEgc2FtYSBrdWluIHNpdnVrb2tvXG4iCisjfiAiIC1lIGxhaXRvcyAgIGFzZXRhIGxhaXRvc251bWVybyAob3NhIHRpZWQuasOkcmotaWQ6dMOkKVxuIgorI34gIiAtTiB0YXZ1asOkcmogYXNldGEgY3JhbWZzOm4gdGF2dWrDpHJqZXN0eXMgKGJpZ3xsaXR0bGV8aG9zdCksIG9sZXR1cyBob3N0XG4iCisjfiAiIC1pIHRpZWQgICAgIHNpc8OkbGx5dMOkIHRpZWRvc3RvdmVkb3MgdGllZG9zdG9qw6RyamVzdGVsbcOkw6RuICh2YWF0aWkg4omlIDIuNC4wOm4pXG4iCisjfiAiIC1uIG5pbWkgICAgIGFzZXRhIGNyYW1mcy10aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIG5pbWlcbiIKKyN+ICIgLXAgICAgICAgICAgdGFzYWEgJWQgdGF2dWxsYSBrw6R5bm5pc3R5c2tvb2RpYSB2YXJ0ZW5cbiIKKyN+ICIgLXMgICAgICAgICAgbGFqaXR0ZWxlIGhha2VtaXN0b21lcmtpbm7DpHQgKHZhbmhhIHZhbGl0c2luLCBlaSBodW9taW9pZGEpXG4iCisjfiAiIC16ICAgICAgICAgIHRlZSByZWlracOkICh2YWF0aWkg4omlIDIuMy4zOTpuKVxuIgorI34gIiBoYWtuaW1pICAgICB0aWl2aXN0ZXR0w6R2w6RuIHRpZWRvc3RvasOkcmplc3RlbG3DpG4ganV1cmlcbiIKKyN+ICIgdHVsb3N0aWVkICAgdHVsb3N0aWVkb3N0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgInNpaXJ0eW1pc3ZpcmhlIgorCisjfiBtc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgc3BlY2lhbCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzIGVpIG9sZSBsb2hrb2xhaXRlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgICAtLWhlbHAgICAgIG7DpHl0w6QgdMOkbcOkIG9oamUgamEgcG9pc3R1XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIkzDtnl0eWkgaHl2aW4gcGl0a8OkIHRpZWRvc3RvbmltaSDigJ0lMiRz4oCdICglMSR6dSB0YXZ1YSkuXG4iCisjfiAiIEthc3ZhdGEgTUFYX0lOUFVUX05BTUVMRU4tYXJ2b2EgdGllZG9zdG9zc2EgbWtjcmFtZnMuYyBqYSBrw6TDpG5uw6QgdXVkZWxsZWVuLiBQb2lzdHV0YWFuLiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbLWMgfCAtbCB0aWVkb3N0b25pbWldIFstblhYXSBbLWlYWF0gL2Rldi9uaW1pIFtsb2hrb3RdIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtdWlzdGluIHZhcmFhbWluZW4gc3nDtnRlcHVza3VyaWxsZSBlaSBvbm5pc3R1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAia2FydG9pbGxlIGVpIHZvaSB2YXJhdGEgcHVza3VyZWl0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJJLXNvbG11aWxsZSBlaSB2b2kgdmFyYXRhIHB1c2t1cmlhIgorCisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGktc29sbXVuIGtva28iCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiBsYWl0ZSBvbiB2w6TDpHJpbiBrb2hkaXN0ZXR0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICJLw6R5dGV0dMOkdmlzc8OkIG9sZXZhdCBrb21lbm5vdDpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgLS12ZXJzaW9uICB0dWxvc3RhIHZlcnNpb3RpZWRvdCBqYSBwb2lzdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgLS1oZWxwICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgICAtLXZlcnNpb24gIHR1bG9zdGEgdmVyc2lvdGllZG90IGphIHBvaXN0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlcyBqYSAlcyBvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZhdCIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIGvDpHRrZXR0eSBDOi1hc2VtYSIKKworI34gbXNnaWQgInR5cGU6ICVkIgorI34gbXNnc3RyICJ0eXlwcGk6ICVkIgorCisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAibGV2eTogJS4qcyIKKworI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJuaW1pw7Y6ICUuKnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJMaXB1dCIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJ0YXZ1YS9zZWt0b3JpOiAlbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgInNla3RvcmVpdGEvdXJhOiAlbGQiCisKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAidXJhYS9zeWxpbnRlcmk6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yaWEvc3lsaW50ZXJpOiAlbGQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZCIKKyN+IG1zZ3N0ciAic3lsaW50ZXJlaXTDpDogJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAicnBtOiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJsb21pdHVzOiAlZCIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInVyYXbDpMOkcmlzdHltw6Q6ICVkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAic3lsaW50ZXJpdsOkw6RyaXN0eW3DpDogJWQiCisKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInDDpMOkbnZhaWh0bzogJWxkIChtaWxsaXNla3VudGlhKSIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAicmFpZGFsdGEgcmFpZGFsbGUgc2lpcnR5bWluZW46ICVsZCAobWlsbGlzZWt1bnRpYSkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAib3Npb2l0YTogJWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiIgorI34gIk9zaW90YSBlaSB2b2kgbXV1dHRhYSBsYWFqZW5uZXR1a3NpIG9zaW9rc2ksIGVpa8OkIHDDpGludmFzdG9pbi5cbiIKKyN+ICJTZSBvbiBwb2lzdGV0dGF2YSBlbnNpbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGV2eSAlMSRzIChTR0ktbGV2eW5pbWnDtik6ICUyJGQgcMOkw6R0w6QsICUzJGxsdSBzZWt0b3JpYVxuIgorI34gIiU0JGQgc3lsaW50ZXJpw6QsICU1JGQgZnl5c2lzdMOkIHN5bGludGVyacOkXG4iCisjfiAiJTYkZCB5bGltw6TDpHLDpGlzdMOkIHNla3Qvc3lsLCBsb21pdHVzICU3JGQ6MVxuIgorI34gIiU4JHNcbiIKKyN+ICJZa3Npa8O2dCA9ICUxMCRkICogJTExJGQgLXRhdnVpc2V0ICU5JHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiPGVpIG1pdMOkw6RuPiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3lzaW5mbyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgICAgIC0taGVscCAgICAgbsOkeXTDpCB0w6Rtw6Qgb2hqZSBqYSBwb2lzdHVcbiIKKworI34gbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCisjfiBtc2dzdHIgIkVpIHR1bm5ldHR1amEga3VvcmlhLiIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogbGFzdCBbLSNdIFstZiB0aWVkb3N0b10gWy10IHR0eV0gWy1oIGtvbmVuaW1pXSBba8OkeXR0w6Rqw6QgLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW1hcCBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICBlZGVsbGVlbiBraXJqYXV0dW5lZW5hIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW5zICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAid3RtcCBhbGthYSAlcyIKKworI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0aG9zdG5hbWUgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJrZXNrZXl0ZXR0eSAlMTAuMTBzICU1LjVzIFxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJQQVRIaW4gYXNldHVzIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiA8Y29tbWFuZD5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gcG9sa3UgW3BvbGt1IC4uLl1cbiIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiSsOkc2VubnlzdmlyaGU6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIm1vdW50OiAlczogdHVudGVtYXRvbiBsYWl0ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgb21pbmFpc3V1a3NpZW4gaGFrZW1pbmVuIGVpIG9ubmlzdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorI34gbXNnc3RyICJTYXJha2tlaXRhICAgICAgICAgIDpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtdSwgLS11cGRhdGUgICAgICAgICAgICAgICAgIGtvcGlvaSB2YWluIGpvcyBMw4RIREV0aWVkb3N0byBvbiB1dWRlbXBpIGt1aW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrb2hkZSwgdGFpIGpvcyBrb2hkZXRpZWRvc3RvIHB1dXR0dXVcbiIKKyN+ICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgc2VsaXTDpCBtaXTDpCB0YXBhaHR1dVxuIgorI34gIiAgLXgsIC0tb25lLWZpbGUtc3lzdGVtICAgICAgICBweXN5IHTDpHNzw6QgdGllZG9zdG9qw6RyamVzdGVsbcOkc3PDpFxuIgorCisjfiBtc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIktlbGxvbmFpa2FhIGVpIG11dXRldHR1IOKAkyBwZWxra8OkIHRlc3RpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKKyN+IG1zZ3N0ciAiTGFpdHRlaXN0b2tlbGxvbiByZWtpc3RlcmVpc3PDpCBvbiBhcnZvamEsIGpvdGthIG92YXQgam9rbyBrZWx2b3R0b21pYSAoZXNpbS4ga3V1a2F1ZGVuIDUwOnMgcMOkaXbDpCkgdGFpIHN1dXJlbXBpYSBrdWluIHB5c3R5bW1lIGvDpHNpdHRlbGVtw6TDpG4gKGVzaW0uIHZ1b3NpIDIwOTUpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiVmFsaXRzaW50YSAtLWRhdGUgZWkgb2xlIGFubmV0dHUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICJBcmd1bWVudHRpbGlzdGEgb24gbGlpYW4gcGl0a8OkIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorI34gIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYWxpdHNpbWVsbGUgLS1kYXRlIGFubmV0dHUgYXJ2byBlaSBvbGUga2Vsdm9sbGluZW4gcMOkaXbDpHlzLlxuIgorI34gIkV0ZW5raW4sIGtvc2thIHNlIHNpc8OkbHTDpMOkIGxhaW5hdXNtZXJra2Vqw6QuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS29tZW50b2Eg4oCdZGF0ZeKAnSBlaSB2b2l0dSBhamFhIC9iaW4vc2gta3VvcmVzc2EuIHBvcGVuKCkgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJkYXRlLWtvbWVubm9uIHZhc3RhdXMgPSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICIlc2luIGvDpHlubmlzdMOkbcOkIOKAnWRhdGXigJ0ta29tZW50byBwYWxhdXR0aSBvZG90dGFtYXR0b21pYSB0dWxva3NpYS5cbiIKKyN+ICJLb21lbnRvIG9saTpcbiIKKyN+ICIgICVzXG4iCisjfiAiVmFzdGF1cyBvbGk6XG4iCisjfiAiICAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlc2luIGvDpHlubmlzdMOkbcOkIOKAnWRhdGXigJ0ta29tZW50byBwYWxhdXR0aSBtdXV0YSBrdWluIGtva29uYWlzbHV2dW4gb2RvdGV0dW4gbXV1bm5ldHVuIGFpa2EtYXJ2b24gcGFpa2FsbGEuXG4iCisjfiAiS29tZW50byBvbGk6XG4iCisjfiAiICAlc1xuIgorI34gIlZhc3RhdXMgb2xpOlxuIgorI34gIiAlc1xuIgorCisjfiBtc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorI34gbXNnc3RyICJww6RpdsOkeXNtZXJra2lqb25vICVzIHZhc3RhYSAlbGQgc2VrdW50aWEgdnVvZGVzdGEgMTk2OS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICJMYWl0dGVpc3Rva2VsbG9uIGFpa2EgZWkgb2xlIGtlbHZvbGxpbmVuLCBqb3RlbiBqw6RyamVzdGVsbcOkbiBhaWthYSBlaSB2b2lkYSBhc2V0dGFhIHNlbiBwZXJ1c3RlZWxsYS5cbiIKKworI34gbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisjfiBtc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyN+IG1zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiSsOkcmplc3RlbG3DpGtlbGxvYSBlaSBhc2V0ZXRhLCBrb3NrYSBrw6R5dGV0w6TDpG4gdGVzdGl0aWxhYS5cbiIKKworI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJWYWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIGFzZXR0YWFuIGrDpHJqZXN0ZWxtw6RrZWxsb24uIgorCisjfiBtc2dpZCAiXHRVVEM6ICVzXG4iCisjfiBtc2dzdHIgIlx0VVRDOiAlc1xuIgorCisjfiBtc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKKyN+IG1zZ3N0ciAiRWkgc8Okw6RkZXTDpCBzaWlydHltw6RrZXJyb2ludGEsIGtvc2thIGxhaXR0ZWlzdG9rZWxsb3NzYSBvbGkgZWRlbGxpc2VsbMOkIGtlcnJhbGxhIHJvc2thYS5cbiIKKworI34gbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCisjfiBtc2dzdHIgIkVpIHDDpGl2aXRldMOkIGFkanRpbWUtdGllZG9zdG9hLCBrb3NrYSBrw6R5dGV0w6TDpG4gdGVzdGF1c3RpbGFhLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorI34gIiVzIgorI34gbXNnc3RyICIiCisjfiAiVGllZG9zdG9vbiAlcyBvbGlzaSBraXJqb2l0ZXR0dSBzZXVyYWF2YWE6XG4iCisjfiAiJXMiCisKKyN+IG1zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorI34gbXNnc3RyICJTaWlydHltw6Ruc8Okw6R0w7ZwYXJhbWV0cmVqYSBlaSBww6Rpdml0ZXR0eS4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorI34gbXNnc3RyICJMYWl0dGVpc3Rva2VsbG9uIGFpa2EgZWkgb2xlIGtlbHZvbGxpbmVuLCBqb3RlbiBrZWxsb2EgZWkgdm9pIHPDpMOkdMOkw6QuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisjfiAiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorI34gIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorI34gbXNnc3RyICIiCisjfiAiWWRpbiBzw6RpbHl0dMOkw6QgbGFpdHRlaXN0b2tlbGxvbiBlcG9jaC1hcnZvYSB2YWluIEFscGhhLWtvbmVpbGxhLlxuIgorI34gIlTDpG3DpCBod2Nsb2NrIG9uIGvDpMOkbm5ldHR5IG11dWxsZSBrb25lZWxsZSBrdWluIEFscGhhbGxlXG4iCisjfiAiKGphIHRvZGVubsOka8O2aXNlc3RpIHNpdMOkIGVpIGFqZXRhIEFscGhhc3NhIG55dCkuIFRvaW1pbnRvYSBlaSBzdW9yaXRldHR1LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJZdGltZW4gZXBvY2gtYXJ2b2EgZWkgdm9pIGFzZXR0YWEuXG4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIllkaW4gb2xldHRhYSBlcG9jaC1hcnZva3NpICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIkVwb2NoLWFydm9uIGFzZXR0YW1pc2Vrc2kgb24ga8OkeXRldHTDpHbDpCDigJ1lcG9jaOKAnS12YWxpdHNpbnRhLlxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVkIC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJFaSBhc2V0ZXRhIGVwb2NoLWFydm9rc2kgJWQg4oCTIHZhaW4ga29rZWlsdS5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgIll0aW1lbiBlcG9jaC1hcnZvYSBlaSB2b2kgYXNldHRhYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisjfiAiICAgICAga2VydG9vIGh3Y2xvY2tpbGxlIEFscGhhbiB0eXlwaW4gKGtzLiBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCisjfiBtc2dzdHIgIiVzIG90dGFhIHZhaW4gdmFsaXRzaW1pYSBhcmd1bWVudHRlaW5hLiBBbm5vaXQgJWQgbXV1dGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCisjfiBtc2dzdHIgInRpZWRvc3RvbiAlcyBhaWthbGVpbW9qZW4gYXNldHRhbWluZW4gZWkgb25uaXN0dSIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJWYWxpdGV0dGF2YXN0aSB2YWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIHPDpMOkdMOkw6QgbGFpdHRlaXN0b2tlbGxvYS4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIlZhbGl0ZXR0YXZhc3RpIHZhaW4gcMOkw6Rrw6R5dHTDpGrDpCB2b2kgc8Okw6R0w6TDpCBqw6RyamVzdGVsbcOka2VsbG9hLiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIlZhbGl0ZXR0YXZhc3RpIHZhaW4gcMOkw6Rrw6R5dHTDpGrDpCB2b2kgc8Okw6R0w6TDpCBsYWl0dGVpc3Rva2VsbG9uIGVwb2NoLWFydm9hIHl0aW1lc3PDpC4iCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgImvDpHlubmlzdGV0dHkgTUlMT3N0YVxuIgorCisjfiBtc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiUnVmZmlhbiBCQ0QgLWtlbGxvXG4iCisKKyN+IG1zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorI34gbXNnc3RyICJrZWxsb3BvcnRpa3NpIGFzZXRldHR1IDB4JXhcbiIKKworI34gbXNnaWQgImZ1bmt5IFRPWSFcbiIKKyN+IG1zZ3N0ciAiZnVua3kgVE9ZIVxuIgorCisjfiBtc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKKyN+IG1zZ3N0ciAiYXRvbWluZW4gJXMgZXDDpG9ubmlzdHVpIHR1aGFubmVuIGl0ZXJhYXRpb24gYWphbiEiCisKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCk6IGtpcmpvaXR1cyBvaGphdXNvc29pdHRlZXNlZW4gJVggZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKTogbHVrdSBkYXRhb3NvaXR0ZWVzdGEgJVggZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3dyaXRlKCk6IGtpcmpvaXR1cyBvaGphdXNvc29pdHRlZXNlZW4gJVggZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKToga2lyam9pdHVzIGRhdGFvc29pdHRlZXNlZW4gJVggZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorI34gbXNnc3RyICJFbiBzYWFudXQga8OkeXR0w7ZvaWtldXR0YSwga29za2EgZW4geXJpdHTDpG55dC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCisjfiBtc2dzdHIgIiVzIGVpIHNhYSBrw6R5dHTDtm9pa2V1dHRhIEkvTy1wb3J0dGlpbjogIGlvcGwoMykta3V0c3UgZXDDpG9ubmlzdHVpLlxuIgorCisjfiBtc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorI34gbXNnc3RyICJUYXJ2aXRzZXQgdG9kZW5uw6Rrw7Zpc2VzdGkgcMOkw6Rrw6R5dHTDpGrDpG4gb2lrZXVkZXQuXG4iCisKKyN+IG1zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKKyN+IG1zZ3N0ciAibGFpdHRlZWxsYSAlcyBlaSBvbGUga2Vza2V5dHlzZnVua3Rpb2l0YS4gIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICJrZWxsb24gdGlraXR5c3TDpCBvZG90dGF2YSByZWFkKCkta3V0c3UgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAicMOkaXZpdHlza2Vza2V5dHlrc2V0IGFsb2l0dGF2YSBpb2N0bCgpIGxhaXR0ZWVsbGUgJXMgZXDDpG9ubmlzdHVpIG9kb3R0YW1hdHRvbWFzdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAiWXRpbWVuIGVwb2NoLWFydm9uIG11dXR0YW1pc2Vrc2kgb24ga8OkeXRldHTDpHbDpCBMaW51eGluIOKAnXJ0Y+KAnS1sYWl0ZWFqdXJpYSBsYWl0ZXRpZWRvc3RvbiAlcyBrYXV0dGEuIFTDpHNzw6QgasOkcmplc3RlbG3DpHNzw6QgZWkgb2xlIGt5c2Vpc3TDpCB0aWVkb3N0b2EuXG4iCisKKyN+IG1zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWxkIGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKyN+IG1zZ3N0ciAibHVpbW1lIGVwb2NoLWFydm9uICVsZCBsYWl0dGVlbHRhICVzIGlvY3RsOmxsw6QgUlRDX0VQT0NIX1JFQUQuXG4iCisKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICJFcG9jaC1hcnZvIGVpIHZvaSBvbGxhIHBpZW5lbXBpIGt1aW4gMTkwMC4gUHl5bnTDtiBvbGkgJWxkIgorCisjfiBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbGQgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnc3RyICJhc2V0ZXRhYW4gZXBvY2gtYXJ2b2tzaSAlbGQsIGlvY3RsIFJUQ19FUE9DSF9TRVQgbGFpdHRlZWxsZSAlcy5cbiIKKworI34gbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisjfiBtc2dzdHIgIll0aW1lbiBsYWl0ZWFqdXJpc3NhIGxhaXR0ZWVsbGUgJXMgZWkgb2xlIGlvY3RsOsOkw6QgUlRDX0VQT0NIX1NFVC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgIk9zaW90YXVsdW4gdXVkZWxsZWVubHVrdSBlcMOkb25uaXN0dWkuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgLS1saXN0IGNvbHVtbnM6XG4iCisjfiBtc2dzdHIgIlNhcmFra2VpdGEgICAgICAgICAgOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAic2lnbmFhbGluIHloZGlzdMOkbWluZW4gdmFsaXRzaW1lbiAtbCB0YWkgLXQga2Fuc3NhIGVpIG9ubmlzdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAic2lnbmFhbGluIHloZGlzdMOkbWluZW4gdmFsaXRzaW1lbiAtbCB0YWkgLXQga2Fuc3NhIGVpIG9ubmlzdHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgInNpaXJ0eW1pc3ZpcmhlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiB2YWluIHJvb3Qgdm9pIGxpaXR0w6TDpCAlcyBwaXN0ZWVzZWVuICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogVGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGnDpCBlaSB2b2l0dSBtw6TDpHJpdHTDpMOkLCBlaWvDpCB0eXlwcGnDpCBvbGUgYW5uZXR0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm1vdW50OiB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwaSBvbiBhbm5ldHRhdmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorI34gbXNnc3RyICJPc2lvaXRhIGVpIG9sZSBtw6TDpHJpdGVsdHkuIgorCisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGxpaXR0w6RtaW5lbiBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgb24gam8gbGlpdGV0dHkgcGFpa2thYW4gJXNcbiIKKworI34gbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIiVzIGVpIG9sZSB2aWVsw6QgbGlpdGV0dHkgdGFpIHZpcmhlZWxsaW5lbiB2YWxpdHNpbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBKb2lzc2FraW4gdGFwYXVrc2lzc2EgasOkcmplc3RlbG3DpGxva2lzdGEgbMO2eXR5eSBoecO2ZHlsbGlzdMOkXG4iCisjfiAiICAgICAgIHRpZXRvYSDigJMga29rZWlsZSBlc2ltLiBrb21lbnRvYSDigJ1kbWVzZyB8IHRhaWzigJ0uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFnZXMiCisjfiBtc2dzdHIgImxpaWFuIG1vbnRhIHZpYWxsaXN0YSBzaXZ1YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgbGFpdHRlZWxsZSAlcyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZW5hYmxlIHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBsYWl0dGVlbGxlICVzIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdXNwZW5kIHRvIFwiJXNcIiB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAiTklTKy1wYWx2ZWx1IGVpIG9sZSBrw6R5dGV0dMOkdmlzc8OkIHRhaSBhc2VubmV0dHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiS29rZWlsZSDigJ0lcyAtLWhlbHDigJ0gdGFpIOKAnSVzIC0tdXNhZ2XigJ0gc2FhZGFrc2VzaSBsaXPDpMOkIHRpZXRvYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJLb21lbnRvIOKAnWxkZCAtLWhlbHDigJ0gYW50YWEgbGlzw6TDpCB0aWV0b2EuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKKyN+IG1zZ3N0ciAiJXM6IHR1bm5pc3RhbWF0b24gdmFsaXRzaW4g4oCdJWMlc+KAnVxuIgorCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICJlcmkiCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICJzYW1hIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCisjfiBtc2dzdHIgIlNhcmFra2VpdGEgICAgICAgICAgOlxuIgorCisjfiBtc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBpcnJvdHVzIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAiJXM6IGxpaXRvc2tvaHRhYSBlaSBsw7Z5ZHkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUw6Rtw6QgcGllbmkga8OkeXR0w7ZvcGFzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBOw6R5dMOkIHZlcnNpb3RpZWRvdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTsOkeXTDpCB2ZXJzaW90aWVkb3RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE7DpHl0w6QgdmVyc2lvdGllZG90XG4iCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgInZpcmhlZWxsaW5lbiBhaWtha2F0a2Fpc3VhcnZvOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgImxhaXRldHRhICVzIGVpIHZvaSBhdmF0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgLS12ZXJzaW9uICB0dWxvc3RhIHZlcnNpb3RpZWRvdCBqYSBwb2lzdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICIgIG9kb3RldHRpaW4gdHl5cHBpw6QsIHNhYXRpaW4gJXFFIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICVzIgorCisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICJhcmd1bWVudHRpdmlyaGU6ICVzIgorCisjfiBtc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICB0dWxvc3RhIHZlcnNpb3RpZWRvdCBqYSBwb2lzdHVcbiIKKworI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBuw6R5dMOkIHTDpG3DpCBvaGplIGphIHBvaXN0dVxuIgorCisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICJmcmVhZCBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIiVzOiBsaWlhbiBwaXRrw6QgdGllZG9zdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorI34gbXNnc3RyICJBbm5hIHN5bGludGVyaWVuIG3DpMOkcsOkOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIkvDpHl0dMOkasOkbiBhbnRhbWEgc2l2dWtva28gJXUgb24gdmlyaGVlbGxpbmVuIgorCisjfiBtc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInN5w7Z0ZXRpZWRvc3RvYSBlaSBvbGUgYW5uZXR0dSIKKworI34gbXNnaWQgIk1pbmltYWwgc2l6ZSBpcyAlanUiCisjfiBtc2dzdHIgIlbDpGhpbW3DpGlza29rbyBvbiAlanUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiTHVvZGFhbmtvIEJTRC1sZXZ5bmltacO2PyIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgIkNmZGlza2luIG9oamVydXV0dSIKKworI34gbXNnaWQgImRpc2sgZHJpdmUuIgorI34gbXNnc3RyICJvbGV2aWEgb3Npb2l0YS4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGVcbiIKKworI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJzdGF0IGVww6Rvbm5pc3R1aTogJXMiCisKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSB3aXBlZnMoOCkuXG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworI34gbXNnaWQgIkJhZCBzd2FwIGhlYWRlciBzaXplLCBubyBsYWJlbCB3cml0dGVuLiIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIHNpdnV0dXNvdHNha2tlZW4ga29rbywgbmltacO2dMOkIGVpIGtpcmpvaXRldHR1LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICIlczogc2lpcnR5bWluZW4ga29odGFhbiAlcyBlaSBvbm5pc3R1IgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3I6IHdhbnRlZCAweCUwOHglMDh4LCBnb3QgMHglMDh4JTA4eCIKKyN+IG1zZ3N0ciAic2lpcnR5bWlzdmlyaGU6IGhhbHV0dGlpbiAweCUwOHglMDh4LCBzYWF0aWluIDB4JTA4eCUwOHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGVycm9yIG9uICVzIC0gY2Fubm90IHJlYWQgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgInZpcmhlIGx1ZXR0YWVzc2EgbGFpdGV0dGEgJXMg4oCTIHNla3RvcmlhICVsdSBlaSB2b2kgbHVrZWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhIGxhaXR0ZWVsbGUgJXMg4oCTIHNla3RvcmlhICVsdSBlaSB2b2kga2lyam9pdHRhYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgIm9zaW9uIHNla3RvcmVpZGVuIHRhbGxlbm51c3RpZWRvc3RvYSAoJXMpIGVpIHZvaSBhdmF0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJ2aXJoZSBraXJqb2l0ZXR0YWVzc2EgdGllZG9zdG9hICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAidGllZG9zdG9uIOKAnSVz4oCdIHRpbGFhIGVpIHZvaSBsdWtlYTogJXMiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZyIKKyN+IG1zZ3N0ciAib3Npb24gcGFsYXV0dXN0aWVkb3N0b24ga29rbyBvbiB2w6TDpHLDpCDigJMgZWkgcGFsYXV0ZXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAic3nDtnRldGllZG9zdG9hIOKAnSVz4oCdIGVpIHZvaSBhdmF0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJ2aXJoZSBsdWV0dGFlc3NhIHRpZWRvc3RvYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBkZXZpY2UgJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgInRpZWRvc3RvYSAlcyBlaSB2b2kgYXZhdGEga2lyam9pdHVzdGEgdmFydGVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICJMZXZ5biBrb2tvYSBlaSB2b2kgaGFrZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJMZXZ5biBrb2tvYSBlaSB2b2kgaGFrZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHN0YXJ0PSVsdSAtIHRoaXMgbG9va3MgbGlrZSBhIHBhcnRpdGlvbiByYXRoZXIgdGhhblxuIgorI34gInRoZSBlbnRpcmUgZGlzay4gVXNpbmcgZmRpc2sgb24gaXQgaXMgcHJvYmFibHkgbWVhbmluZ2xlc3MuXG4iCisjfiAiW1VzZSB0aGUgLS1mb3JjZSBvcHRpb24gaWYgeW91IHJlYWxseSB3YW50IHRoaXNdIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IGFsa3U9JWx1IOKAkyB0w6Rtw6QgbsOkeXR0w6TDpCBlbmVtbcOkbiBvc2lvbHRhIGt1aW4ga29rb25haXNlbHRhXG4iCisjfiAibGV2eWx0w6QuIFNlbiBtdW9ra2FhbWluZW4gZmRpc2tpbGzDpCBvbiB0b2Rlbm7DpGvDtmlzZXN0aSB0dXJoYWEuXG4iCisjfiAiW0vDpHl0w6QgLS1mb3JjZSAtdmFsaXRzaW50YSBqb3MgdG9kZWxsYSBoYWx1YXQgdGVoZMOkIG5paW5dXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBoZWFkcyIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IEhESU9fR0VUR0VPIGtlcnRvbywgZXR0w6QgcMOkaXTDpCBvbiAlbHUiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJWYXJvaXR1czogSERJT19HRVRHRU8ga2VydG9vLCBldHTDpCBzZWt0b3JlaXRhIG9uICVsdSIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJWYXJvaXR1czogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBrZXJ0b28sIGV0dMOkIHN5bGludGVyZWl0w6Qgb24gJWx1IgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IGVww6R0b2Rlbm7DpGvDtmluZW4gc2VrdG9yaW3DpMOkcsOkICglbHUpIOKAkyB5bGVlbnPDpCBrb3JrZWludGFhbiA2M1xuIgorI34gIlTDpHN0w6QgYWloZXV0dXUgb25nZWxtaWEga2Fpa2tpZW4gQy9IL1Mtb3NvaXR1c3RhIGvDpHl0dMOkdmllbiBvaGplbG1pZW4ga2Fuc3NhLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMZXZ5ICVzOiAlbHUgc3lsaW50ZXJpw6QsICVsdSBww6TDpHTDpCwgJWx1IHNla3RvcmlhL3VyYVxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIm9zaW9uICUyJHMgJTEkcyBww6TDpGFydm8gb24gbWFoZG90b246ICUzJGx1ICh0dWxlZSBvbGxhIDAtJTQkbHUpIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBzZWN0b3I6ICVsdSAoc2hvdWxkIGJlIGluIDEtJWx1KSIKKyN+IG1zZ3N0ciAib3Npb24gJTIkcyAlMSRzIHNla3RvcmlhcnZvIG9uIG1haGRvdG9uOiAlMyRsdSAodHVsZWUgb2xsYSAxLSU0JGx1KSIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIm9zaW9uICUyJHMgJTEkcyBzeWxpbnRlcmlhcnZvIG9uIG1haGRvdG9uOiAlMyRsdSAodHVsZWUgb2xsYSAwLSU0JGx1KSIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiTHVldGFhbiBvc2lvdGF1bHUgdXVkZWxsZWVuLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJPc2lvdGF1bHVuIHV1ZGVsbGVlbmx1a3Vrb21lbnRvIGVww6Rvbm5pc3R1aVxuIgorI34gIkFqYSBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSB0YWkga8OkeW5uaXN0w6QgasOkcmplc3RlbG3DpFxuIgorI34gInV1ZGVsbGVlbiBueXQsIGVubmVuIG1rZnM6biBrw6R5dHTDtsOkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAidmlyaGUgc3VsamV0dGFlc3NhIGxhaXRldHRhICVzIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBvc2lvdGEgZWkgb2xlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgInR1bm5pc3RhbWF0b24gbXVvdG9tw6TDpHJpdGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAiTsOkeXTDpCB0YXVsdSByYWEnYXNzYSBkYXRhbXVvZG9zc2EiCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZWt0b3JpdCIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIllrc2lrw7Z0OiBzeWxpbnRlcml0ICVsdS10YXZ1aXNpYSwgbG9oa290IDEwMjQtdGF2dWlzaWEsIGFsa2FlbiBrb2hkYXN0YSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIExhaXRlIEvDpHlubiBBbGt1ICAgICAgTG9wcHUgI3N5bCAgICAgI2xvaGtvdCAgIElkICBKw6RyamVzdGVsbcOkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZa3Npa8O2dDogNTEyLXRhdnVpc2V0IHNla3Rvcml0LCBhbGthZW4ga29oZGFzdGEgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgIFN0YXJ0ICAgICAgIEVuZCAgICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIExhaXRlICBLw6R5bm4gICBBbGt1ICAgICAgICBMb3BwdSAjc2VrdG9yaXQgSWQgIErDpHJqZXN0ZWxtw6RcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIllrc2lrw7Z0OiAxMDI0LXRhdnVpc2V0IGxvaGtvdCwgYWxrYWVuIGtvaGRhc3RhICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBMYWl0ZSAgS8OkeW5uICBBbGt1ICAgICAgICBMb3BwdSAgI2xvaGtvdCAgIElkICBKw6RyamVzdGVsbcOkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZa3Npa8O2dDogMSBNaUIgPSAxMDI0KjEwMjQgdGF2dWEsIDEwMjQtdGF2dWlzZXQgbG9oa290LCBhbGthZW4ga29oZGFzdGEgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBMYWl0ZSBLw6R5bm4gQWxrdSAgICBMb3BwdSAgTWlCICAgICNsb2hrb3QgICBJZCAgSsOkcmplc3RlbG3DpFxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0YWxrdTogKGMsaCxzKSBvZG90ZXR0aWluICglbGQsJWxkLCVsZCkgbMO2eXR5aSAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0bG9wcHU6IChjLGgscykgb2RvdGV0dGlpbiAoJWxkLCVsZCwlbGQpIGzDtnl0eWkgKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICJvc2lvIGxvcHB1dSBzeWxpbnRlcmlsbMOkICVsZCwgam9rYSBvbiBsZXZ5biBsb3B1biBqw6Rsa2VlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJvaXR1czogT3Npb3RhdWx1IG7DpHl0dMOkw6Qgc2lsdMOkLCBldHTDpCBzZSBvbiB0ZWh0eVxuIgorI34gIiAgYXJ2b2lsbGUgQy9IL1M9Ki8lbGQvJWxkIChlaWvDpCAlbGQvJWxkLyVsZCkuXG4iCisjfiAiVMOkc3PDpCBsaXN0YXVrc2Vzc2Ega8OkeXRldMOkw6RuIHR1b3RhIGdlb21ldHJpYWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQiCisjfiBtc2dzdHIgIm9zaW90YXVsdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbiBkZWZpbmVkIgorI34gbXNnaWRfcGx1cmFsICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0clswXSAib3V0b2EsIHZhaW4gJWQgb3Npb3RhIG3DpMOkcml0ZWx0eS4iCisjfiBtc2dzdHJbMV0gIm91dG9hLCB2YWluICVkIG9zaW90YSBtw6TDpHJpdGVsdHkuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJWYXJvaXR1czogb3Npb24gJXMga29rbyBvbiAwIGphIHNlIG9uIG1lcmtpdHR5IGvDpHlubmlzdGV0dMOkdsOka3NpIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICJWYXJvaXR1czogb3Npb24gJXMga29rbyBvbiAwIGphIHNlIG9uIG1lcmtpdHR5IGvDpHlubmlzdGV0dMOkdsOka3NpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJWYXJvaXR1czogb3Npb24gJXMga29rbyBvbiAwIGphIHNlIG9uIG1lcmtpdHR5IGvDpHlubmlzdGV0dMOkdsOka3NpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIiAgcyAgICAgICAgICBLb3JqYWEgb3Npb2lkZW4gasOkcmplc3R5cyAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IG9zaW8gJXMgc2lzw6RsdMOkw6Qgb3NhbiBvc2lvdGF1bHVzdGEgKHNla3RvcmkgJWx1KSwgamEgc2UgdHVsZWVcbiIKKyN+ICJ0dWhvdXR1bWFhbiBrdW4gb3Npb3RhIGvDpHl0ZXTDpMOkblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBvc2lvbiAlcyBrb2tvIG9uIDAgamEgc2Ugb24gbWVya2l0dHkga8OkeW5uaXN0ZXR0w6R2w6Rrc2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW8gJXMgamF0a3V1IGxldnluIGxvcHVuIHlsaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eCkiCisjfiBtc2dzdHIgIiIKKyN+ICJWYWluIHlrc2kgZW5zacO2b3NpbyB2b2kgb2xsYSBsYWFqZW5uZXR0dVxuIgorI34gIiAodMOkbcOkIGVpIHRvc2luIG9sZSBvbmdlbG1hIExpbnV4aXNzYSlcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJWYXJvaXR1czogb3NpbyAlcyBlaSBhbGEgc3lsaW50ZXJpbiByYWphbHRhIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJWYXJvaXR1czogb3NpbyAlcyBlaSBww6TDpHR5IHN5bGludGVyaW4gcmFqYWxsZSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IHVzZWFtcGkga3VpbiB5a3NpIGVuc2nDtm9zaW8gb24gbWVya2l0dHkga8OkeW5uaXN0ZXR0w6R2w6Rrc2kgKGFrdGlpdmlzZWtzaSlcbiIKKyN+ICJTZSBlaSBoYWl0dGFhIExJTE9hLCBtdXR0YSBET1MgTUJSIGVpIGvDpHlubmlzdMOkIHTDpGx0w6QgbGV2eWx0w6QuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJvaXR1czogeWxlZW5zw6QgdmFpbiBlbnNpw7Zvc2lvbHRhIHZvaSBrw6R5bm5pc3TDpMOkXG4iCisjfiAiTElMTyBlaSB2w6RsaXTDpCDigJ1rw6R5bm5pc3RldHTDpHbDpOKAnS1saXB1c3RhLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiB5aHTDpMOkbiBlbnNpw7Zvc2lvdGEgZWkgb2xlIG1lcmtpdHR5IGvDpHlubmlzdGV0dMOkdsOka3NpXG4iCisjfiAiKGFrdGlpdmlzZWtzaSkuIFNlIGVpIGhhaXR0YWEgTElMT2EsIG11dHRhIERPUyBNQlIgZWkga8OkeW5uaXN0w6QgdMOkbHTDpCBsZXZ5bHTDpC4iCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAiYWx1biIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAiXHRcdGFsa3U6IChjLGgscykgb2RvdGV0dGlpbiAoJWxkLCVsZCwlbGQpIGzDtnl0eWkgKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJsb3B1biIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIlx0XHRhbGt1OiAoYyxoLHMpIG9kb3RldHRpaW4gKCVsZCwlbGQsJWxkKSBsw7Z5dHlpICglbGQsJWxkLCVsZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJvc2lvIGxvcHB1dSBzeWxpbnRlcmlsbMOkICVsZCwgam9rYSBvbiBsZXZ5biBsb3B1biBqw6Rsa2VlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IGxhYWplbm5ldHVuIG9zaW9uIGFsa3VhIHNpaXJyZXR0eSBrb2hkYXN0YSAlbGQga29odGFhbiAlbGRcbiIKKyN+ICIoVmFpbiBsaXN0YXVzdGFya29pdHVrc2lpbi4gw4Rsw6QgbXV1dGEgc2VuIHNpc8OkbHTDtsOkLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiVmFyb2l0dXM6IGxhYWplbm5ldHVuIG9zaW9uIGFsa3UgZWkgb2xlIHN5bGludGVyaW4gcmFqYWxsYS5cbiIKKyN+ICJET1MgamEgTGludXggdHVsa2l0c2V2YXQgc2lzw6RsbMO2biBlcmkgdGF2b2luLlxuIgorCisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJWSVJIRTogc2VrdG9yaWxsYSAlbGx1IGVpIG9sZSBtc2Rvcy1hbGxla2lyam9pdHVzdGEiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAibGlpYW4gbW9udGEgb3Npb3RhIOKAkyBlaSBodW9taW9pZGEgbnVtZXJvbiAoJXp1KSBqw6Rsa2Vpc2nDpCIKKworI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIm9zaW9wdXU/IgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJoYXZhaXR0aWluIGxldnltYW5hZ2VyaSDigJMgdGlsYW50ZWVzdGEgZWkgc2Vsdml0w6QiCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJETTYtYWxsZWtpcmpvaXR1cyBsw7Z5dHlpIOKAkyBsdW92dXRldGFhbiIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJvdXRvYS4uLiwgbGFhamVubmV0dHUgb3Npbywgam9ua2Ega29rbyBvbiAwPyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJvdXRvYS4uLiwgQlNELW9zaW8sIGpvbmthIGtva28gb24gMD8iCisKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJ2YWxpdHNpbiAtbiBvbGkgYW5uZXR0dTogTWl0w6TDpG4gZWkgbXV1dGV0dHUiCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIlZhbmhvamVuIHNla3RvcmVpZGVuIHRhbGxlbm51cyBlcMOkb25uaXN0dWkg4oCTIGtlc2tleXRldMOkw6RuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGF2YWFtaW5lbiBraXJqb2l0dXN0aWxhc3NhIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJzecO2dGVyaXZpIG9uIGxpaWFuIHBpdGvDpCIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgInN5w7Z0ZXZpcmhlOiBrZW50w6RuICVzIGrDpGxrZWVuIG9kb3RldGFhbiBsw7Z5dHl2w6RuIOKAnT3igJ0iCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgInN5w7Z0ZXZpcmhlOiBvZG90dGFtYXRvbiBtZXJra2kgJWMga2VudMOkbiAlcyBqw6Rsa2VlbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQ6ICVzIgorI34gbXNnc3RyICJ0dW5uaXN0YW1hdG9uIG9wZXJhbmRpICVzIgorCisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgImxpaWFuIHN1dXJpIGx1a3UiCisKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlciIKKyN+IG1zZ3N0ciAicm9za2FhIG51bWVyb24gcGVyw6Rzc8OkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJMYWFqZW5uZXR1biBvc2lvbiBsdW9taXNlZW4gZWkgb2xlIHRpbGFhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgInltcMOkcsO2aXbDpMOkIGxhYWplbm5ldHR1YSBvc2lvdGEgZWkgdm9pIHJha2VudGFhXG4iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgImxpaWFuIG1vbnRhIHN5w7Z0ZWtlbnR0w6TDpCIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIkVpIGVuZW1ww6TDpCB0aWxhYSIKKworI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIHR5eXBwaSIKKworI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IGFubmV0dHUga29rbyAoJWxsdSkgeWxpdHTDpMOkIHN1dXJpbW1hbiBzYWxsaXR1biBrb29uICglbGx1KSIKKworI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IHR5aGrDpCBvc2lvIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIlZhcm9pdHVzOiB2aXJoZWVsbGluZW4gb3Npb24gYWxrdSAoYWlrYWlzaW4gJWxsdSkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJBc2V0YSBueWt5aXNlbiBvc2lvbiBrw6R5bm5pc3RldHTDpHZ5eXNsaXBwdSBww6TDpGxsZS9wb2lzIgorCisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAib3NpdHRhaW5lbiBjLGgscy1tw6TDpHJpdHlzPyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkIgorI34gbXNnc3RyICJMYWFqZW5uZXR1biBvc2lvbiBsdW9taXNlZW4gZWkgb2xlIHRpbGFhIgorCisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJ2aXJoZWVsbGluZW4gc3nDtnRlIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAibGlpYW4gbW9udGEgb3Npb3RhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIlN5w7Z0ZSBzZXVyYWF2YXNzYSBtdW9kb3NzYTogcHV1dHR1dmF0IGtlbnTDpHQgc2FhdmF0IG9sZXR1c2Fydm9uLlxuIgorI34gIjxhbGt1PiA8a29rbz4gPHR5eXBwaSBbRSxTLEwsWCxoZXhdPiA8a8OkeW5uaXN0ZXR0w6R2w6QgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIllsZWVuc8OkIHJpaXR0w6TDpCA8YWxrdT4gamEgPGtva28+IChqYSBlaGvDpCA8dHl5cHBpPikuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzxsYWl0ZT4gLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVmFhcmFsbGlzZXQgdmFsaXRzaW1ldDpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiICAgIC1HIFt0YWkgLS1zaG93LXB0LWdlb21ldHJ5XTogbsOkeXTDpCBvc2lvdGF1c3RhIHDDpMOkdGVsdHkgZ2VvbWV0cmlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIC14IFt0YWkgLS1zaG93LWV4dGVuZGVkXTogbGlzdGFhIG15w7ZzIGxhYWplbm5ldHV0IG9zaW90IHR1bG9zdGVlc3NhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWkgb2RvdGEgc3nDtnR0ZWVzdMOkIG5paWRlbiBrYWh2b2phIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiJXMgbGFpdGVcdFx0IGxpc3RhYSBsYWl0dGVlbGxhIG9sZXZhdCBha3RpaXZpc2V0IG9zaW90XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgbjEgbjIgLi4uICBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIlcyBsYWl0ZSBuMSBuMiAuLi4gYWt0aXZvaSBvc2lvdCBuMSAuLi4sIGluYWt0aXZvaSBsb3B1dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgInZpcmhlZWxsaW5lbiByaXZpZW4gbcOkw6Ryw6QiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICJsYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGFcbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6IHNmZGlzayAtLXByaW50LWlkIGxhaXRlIG9zaW9udW1lcm8iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJrw6R5dHTDtjogc2ZkaXNrIC0tY2hhbmdlLWlkIGxhaXRlIG9zaW9udW1lcm8gSWQiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6IHNmZGlzayAtLWlkIGxhaXRlIG9zaW9udW1lcm8gW0lkXSIKKworI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJ2YWluIHloZGVuIGxhaXR0ZWVuIHZvaSBhbnRhYSAocGFpdHNpIHZhbGl0c2ltZWxsYSAtbCB0YWkgLXMpIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAiZWkgdm9pIGF2YXRhIGxhaXRldHRhICVzIGx1a3UtIGphIGtpcmpvaXR1c3RpbGFhbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICJlaSB2b2kgYXZhdGEgbGFpdGV0dGEgJXMgbHVrdXRpbGFhbiIKKworI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IE9LIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzeWxpbnRlcmnDpCwgJWxkIHDDpMOkdMOkLCAlbGQgc2VrdG9yaWEvdXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAidmlyaGVlbGxpbmVuIGFrdGlpdmluZW4gdGF2dTogMHg4MDpuIGFzZW1lc3RhIDB4JXhcbiIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIlZhbG1pcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJBa3RpaXZpc2lhIGVuc2nDtm9zaW9pdGEgb24gJWQga2FwcGFsZXR0YS4gVMOkbcOkIGVpIGhhaXR0YWEgTElMT2EsIG11dHRhXG4iCisjfiAiRE9TIE1CUiBrw6R5bm5pc3TDpMOkIHZhaW4gbGV2eWx0w6QsIGpvbGxhIG9uIHRhc2FuIHlrc2kgYWt0aWl2aW5lbiBvc2lvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgIm9zaW9sbGEgJXMgaWQgb24gJXggZWlrw6Qgb3Npb3RhIG9sZSBrw6R0a2V0dHlcbiIKKworI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBJZCAlbHgiCisKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIkxldnkgb24gdMOkbGzDpCBoZXRrZWxsw6Qga8OkeXTDtnNzw6QuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiQy1lc2lrw6TDpG50w6Rqw6TDpCBlaSBsw7Z5ZHk6ICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIlZhcm9pdHVzOiAlcyBlaSBvbGUgbG9oa29sYWl0ZSIKKworI34gbXNnaWQgIk9LIgorI34gbXNnc3RyICJPSyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiT3Npb3RhICVkIGVpIG9sZSBvbGVtYXNzYSwgc2l0w6QgZWkgdm9pIG11dXR0YWEiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJFbiBwaWTDpCBuw6Rpc3TDpCBvc2lvaXN0YSDigJMgbWl0w6TDpG4gZWkgbXV1dGV0dHUuXG4iCisjfiAiKEpvcyB0b2RlbGxhIGhhbHVhdCB0w6R0w6QsIGvDpHl0w6QgdmFsaXRzaW50YSAtLWZvcmNlLikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiRW4gcGlkw6QgdMOkc3TDpCDigJMga2FubmF0dGFhIHRvZGVubsOka8O2aXNlc3RpIHZhc3RhdGEg4oCdTm/igJ1cbiIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICJPbGV0a28gdHl5dHl2w6RpbmVuIHTDpGjDpG4/IFt5bnFdICIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIlZhc3RhYSBqb2tvIHksIG4gdGFpIHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV1c2kgb3Npb3RhdWx1IGtpcmpvaXRldHRpaW4gb25uaXN0dW5lZXN0aVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkpvcyBET1Mtb3NpbywgZXNpbS4gL2Rldi9mb283LCBsdW90aWluIHRhaSBzaXTDpCBtdXV0ZXR0aWluLCBrw6R5dMOkIGRkKDEpOnTDpFxuIgorI34gIm5vbGxhdGFrc2VzaSBlbnNpbW3DpGlzZXQgNTEyIHRhdnVhOlxuIgorI34gImRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoS2F0c28gZmRpc2soOCkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJPSVRVUzogSm9zIERPUyA2LnggLW9zaW9pdGEgbHVvdGlpbiB0YWkgbXV1dGV0dGlpbixcbiIKKyN+ICJrYXRzbyBsaXPDpHRpZXRvamEgY2ZkaXNraW4gbWFudWFhbGlzaXZ1bHRhLlxuIgorCisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgImtlbnR0w6Qgb24gbGlpYW4gcGl0a8OkIgorCisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiBtZXJra2kg4oCdJWPigJ0gZWkgb2xlIHNhbGxpdHR1IgorCisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAibWVya2tpIOKAnSVj4oCdIGVpIG9sZSBzYWxsaXR0dSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IG1lcmtraSDigJ0lY+KAnSBlaSBvbGUgc2FsbGl0dHUuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIlR1bG9zdGVlbiBoYWxsaW50YToiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJjcnlwdCgpIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgInRpZWRvc3RvbiDigJ0lc+KAnSB0aWxhbiBsdWtlbWluZW4gZXDDpG9ubmlzdHVpOiAlczogZWkgaHVvbWlvaWRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFTDpG3DpCBwaWVuaSBrw6R5dHTDtm9wYXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgICAgICAtLXZlcnNpb24gIHR1bG9zdGEgdmVyc2lvdGllZG90IGphIHBvaXN0dVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgbmFtZWkoMSkuXG4iCisKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogbHN0YXQgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIHdpcGVmcyg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIG5hbWVpKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIgc2lpcnJldHTDpHbDpCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJub2xsYXTDpHl0dMO2bGFpdGV0dGEgZWkgdm9pIGF2YXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZCBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ2lkX3BsdXJhbCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0clswXSAiT24gbGlzw6R0dMOkdsOkICVkIHNla3VudGlhIGphIHZpaXRhdHRhdmEgYWlrYWFuICUuNmYgc2VrdW50aWEgc2l0dGVuXG4iCisjfiBtc2dzdHJbMV0gIk9uIGxpc8OkdHTDpHbDpCAlZCBzZWt1bnRpYSBqYSB2aWl0YXR0YXZhIGFpa2FhbiAlLjZmIHNla3VudGlhIHNpdHRlblxuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIk9kb3RldGFhbiBzaWxtdWthc3NhIEtER0hXQ0xLLWFqYW4gbXV1dHR1bWlzdGFcbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgImFqYW4gbHVrZXZhIEtER0hXQ0xLLWlvY3RsIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAiYWphbiBsdWtldmEgS0RHSFdDTEstaW9jdGwgZXDDpG9ubmlzdHVpIHNpbG11a2Fzc2EiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBlaSBvbm5pc3R1bnV0IGx1a2VtYWFuIGFpa2FhIGtvaHRlZXN0YSAlcyIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaW9jdGwgS0RTSFdDTEsgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICJMYWl0ZXR0YSAvZGV2L3R0eTEgdGFpIC9kZXYvdmMvMSBlaSB2b2kgYXZhdGEiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLLWlvY3RsIGVww6Rvbm5pc3R1aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIG5hbWVpKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmdzLi4uXVxuIgorI34gbXNnc3RyICIlcyBbdmFsaXRzaW1ldF0gWzx0aWVkb3N0bz4gLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmVuaWNlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiAlcyVzIFt2YWxpdHNpbWV0XSBbb2hqZWxtYSBbb2hqZWxtYW4gYXJndW1lbnRpdF1dXG4iCisjfiAiXG4iCisjfiAiVmFsaXRzaW1ldDpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkvDpHl0dMO2OlxuIgorI34gIiAlcyBbdmFsaXRzaW1ldF0gW3RpZWRvc3RvIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSByZXYoMSkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkvDpHl0dMO2OlxuIgorI34gIiAlcyBbdmFsaXRzaW5dIHRpZWRvc3RvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIiVzIFt2YWxpdHNpbWV0XSBbPHRpZWRvc3RvPiAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICJWYWxpdGV0dGF2YXN0aSB2YWluIHDDpMOka8OkeXR0w6Rqw6Qgdm9pIHPDpMOkdMOkw6QgbGFpdHRlaXN0b2tlbGxvYS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIEFsa3UtICAgICAgTG9wcHUtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiVmFsaXRzaW50YSAtLWRhdGUgZWkgb2xlIGFubmV0dHUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBwb2xrdSBbcG9sa3UgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgInR1bG9zdGllZG9zdG8gYW5uZXR0dSBrYWhkZXN0aSIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi4xIHNpdnUgdGFha3NlcMOkaW4iCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4ub2hpdGV0YWFuIHlrc2kgcml2aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiVzOiB2YWxpdHNpbiB2YWF0aWkgYXJndW1lbnRpbiAtLSDigJ0lY+KAnVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIGxpbmVzIGFyZSBpbnRlbmRlZCBieSB0d28gc3BhY2VzXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBFaSBub3JtYWFsaWEgdHVsb3N0ZXR0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICBFaSBsYWluYXVzbWVya2tlasOkIHR1bG9zdGVlc2VlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJFSSBUw4RTTcOEw4QiCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgImvDpMOkbm5ldHR5IGlsbWFuIC14LXR1a2VhIgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBNdWlzdGkgbG9wdXNzYSFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJFaSBrw6R5dGV0dMOkdmlzc8OkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICJraXJqb2l0dXMgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJMZXZ5IG9uIHZhaWhkZXR0dS5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICJKw6RyamVzdGVsbcOkIG9uIHN5eXTDpCBrw6R5bm5pc3TDpMOkIHV1ZGVsbGVlbiBvc2lvdGF1bHVuIHDDpGl2aXR0eW1pc2VuIHZhcm1pc3RhbWlzZWtzaS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJPSVRVUzogSm9zIERPUyA2LnggLW9zaW9pdGEgbHVvdGlpbiB0YWkgbXV1dGV0dGlpbixcbiIKKyN+ICJrYXRzbyBsaXPDpHRpZXRvamEgY2ZkaXNraW4gbWFudWFhbGlzaXZ1bHRhLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIlZBS0FWQSBWSVJIRSIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIlBhaW5hIG1pdMOkIHRhaGFuc2EgbsOkcHDDpGludMOkIHBvaXN0dWFrc2VzaSBjZmRpc2tpc3TDpCIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkxldnlhc2VtYWxsYSBlaSB2b2kgc2lpcnR5w6QiCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJMZXZ5YXNlbWFhIGVpIHZvaSBsdWtlYSIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJMZXZ5YXNlbWFsbGUgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJMaWlhbiBtb250YSBvc2lvdGEiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiT3Npb24gYWxrdSBvbiBlbm5lbiBzZWt0b3JpYSAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJPc2lvbiBsb3BwdSBvbiBlbm5lbiBzZWt0b3JpYSAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiT3Npb24gYWxrdSBvbiBsZXZ5biBsb3B1biBqw6Rsa2VlbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJPc2lvbiBsb3BwdSBvbiBsZXZ5biBsb3B1biBqw6Rsa2VlbiIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlciIKKyN+IG1zZ3N0ciAibG9vZ2lzZXQgb3Npb3QgZWl2w6R0IG9sZSBsZXZ5asOkcmplc3R5a3Nlc3PDpCIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJsb29naXNldCBvc2lvdCBvdmF0IHDDpMOkbGxla2vDpGlzZXQiCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAic3V1cmVubmV0dXQgbG9vZ2lzZXQgb3Npb3Qgb3ZhdCBww6TDpGxsZWtrw6Rpc2V0IgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEgU2lzw6RpbmVuIHZpcmhlIGx1b3RhZXNzYSBsb29naXN0YSBhc2VtYWEgaWxtYW4gbGFhamVubmV0dHVhIG9zaW90YSAhISEhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJUw6Row6RuIGVpIHZvaSBsdW9kYSBsb29naXN0YSBhc2VtYWEg4oCTIGx1b3RhaXNpaW4ga2Frc2kgbGFhamVubmV0dHVhIG9zaW90YSIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICJMaWlhbiBwaXRrw6QgdmFsaWtvbiBrb2h0YS4gVmFsaWtrbyB2b2kgbsOkeXR0w6TDpCBvdWRvbHRhLiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJWw6TDpHLDpCBuw6RwcMOkaW4iCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkx1byB1dXNpIGVuc2nDtm9zaW8iCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkx1byB1dXNpIGxvb2dpbmVuIG9zaW8iCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIlBlcnV1dGEiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIsOEbMOkIGx1byBvc2lvdGEiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgU2lzw6RpbmVuIHZpcmhlICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICJLb2tvIChNdCk6ICIKKworI34gbXNnaWQgIkJlZ2lubmluZyIKKyN+IG1zZ3N0ciAiQWxrdSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkxpc8Okw6Qgb3NpbyB0eWhqw6RuIHRpbGFuIGFsa3V1biIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkxpc8Okw6Qgb3NpbyB0eWhqw6RuIHRpbGFuIGxvcHB1dW4iCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJMYWFqZW5uZXR1biBvc2lvbiBsdW9taXNlZW4gZWkgb2xlIHRpbGFhIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJFaSBvc2lvdGF1bHVhLiBBbG9pdGV0YWFuIHR5aGrDpGxsw6QgdGF1bHVsbGEuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIk9zaW90YXVsdW4gYWxsZWtpcmpvaXR1cyBvbiB2aXJoZWVsbGluZW4iCisKKyN+IG1zZ2lkICJVbmtub3duIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorI34gbXNnc3RyICJUdW50ZW1hdG9uIG9zaW90YXVsdW4gdHl5cHBpIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiSGFsdWF0a28gYWxvaXR0YWEgdHloasOkbGzDpCBvc2lvdGF1bHVsbGEgW3kvTl0/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiTGV2eWFzZW1hYSBlaSB2b2kgYXZhdGEiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJMZXZ5IGF2YXR0aWluIHZhaW4gbHVrdSAtdGlsYXNzYSDigJMgc2ludWxsYSBlaSBvbGUga2lyam9pdHVzb2lrZXV0dGEiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiTGV2eW4ga29rb2EgZWkgdm9pIGhha2VhIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJWaWFsbGluZW4gZW5zacO2b3NpbyIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIlZhcm9pdHVzISEgVMOkbcOkIHZvaSB0dWhvdGEgZGF0YWEgbGV2eWx0w6QhIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIktpcmpvaXRhIOKAnWphYeKAnSB0YWkg4oCdZWnigJ0iCisKKyN+IG1zZ2lkICJXcml0aW5nIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLi4uIgorI34gbXNnc3RyICJLaXJqb2l0ZXRhYW4gb3Npb3RhdWx1YSBsZXZ5bGxlLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIk9zaW90YXVsdSBraXJqb2l0ZXR0aWluIGxldnlsbGUiCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAiT3Npb3RhdWx1IGtpcmpvaXRldHRpaW4sIG11dHRhIHV1ZGVsbGVlbmx1a3UgZXDDpG9ubmlzdHVpLiBBamEgcGFydHByb2JlKDgpLCBrcGFydHgoOCkgdGFpIGvDpHlubmlzdMOkIHRpZXRva29uZSB1dWRlbGxlZW4sIGpvdHRhIHRhdWx1IHDDpGl2aXR0eXkuIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIllodMOkw6RuIGVuc2nDtm9zaW90YSBlaSBvbGUgbWVya2l0dHkga8OkeW5uaXN0ZXR0w6R2w6Rrc2kuIERPUyBNQlIgZWkga8OkeW5uaXN0w6QgdMOkdMOkLiIKKworI34gbXNnaWQgIk1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICJVc2VhbXBpIGt1aW4geWtzaSBlbnNpw7Zvc2lvIG9uIG1lcmtpdHR5IGvDpHlubmlzdGV0dMOkdsOka3NpLiBET1MgTUJSIGVpIGvDpHlubmlzdMOkIHTDpHTDpC4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlbmFtZSBvciBwcmVzcyBSRVRVUk4gdG8gZGlzcGxheSBvbiBzY3JlZW46ICIKKyN+IG1zZ3N0ciAiU3nDtnTDpCB0aWVkb3N0b25pbWkgdGFpIHBhaW5hIFJFVFVSTiBzYWFkYWtzZXNpIG7DpHl0w7ZsbGU6ICIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIkxldnlhc2VtYTogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICJTZWt0b3JpIDA6XG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgJWQ6XG4iCisjfiBtc2dzdHIgIlNla3RvcmkgJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICBFaSBtaXTDpMOkbiIKKworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIiAgIEVucy9Mb29nIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAgRW5zacO2IgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgTG9vZ2luZW4iCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIkVpIG1pdMOkw6RuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIFRhYmxlIGZvciAlc1xuIgorI34gbXNnc3RyICJMYWl0dGVlbiAlcyBvc2lvdGF1bHVcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgQWxrdS0gICAgICBMb3BwdS1cbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgVHl5cHBpICAgIHNla3RvcmkgICAgIHNla3RvcmkgICBTaWlydC4gICAgUGl0dXVzICAgVGllZC5qw6Ryai4gdHl5cHBpIChJRCkgTGlwdXRcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgIC0tLS1BbGt1LS0tLSAgICAgICAgIC0tLS1Mb3BwdS0tLS0gICAgIEFsa3UtICAgICBTZWt0b3JpZW5cbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBMaXB1dCBQw6TDpHQgU2VrdCAgU3lsICAgSUQgIFDDpMOkdCBTZWt0ICBTeWwgICAgIHNla3RvcmkgICBtw6TDpHLDpFxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiUmFha2EiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICJOw6R5dMOkIHRhdWx1IHJhYSdhc3NhIGRhdGFtdW9kb3NzYSIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIk7DpHl0w6QgdGF1bHUgasOkcmplc3RldHR5bsOkIHNla3RvcmVpZGVuIG11a2FhbiIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJUYXVsdSIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiTsOkeXTDpCBvc2lvdGF1bHUiCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIsOEbMOkIG7DpHl0w6QgdGF1bHVhIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorI34gbXNnc3RyICJDb3B5cmlnaHQgwqkgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIE11dXRhIHN5bGludGVyaS0sIHDDpMOkLSBqYSBzZWt0b3JpcGFyYW1ldHJlamEiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAgVkFST0lUVVM6IFTDpHTDpCB2YWxpdHNpbnRhIHR1bGVlIGvDpHl0dMOkw6QgdmFpbiBuaWlkZW4sIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBqb3RrYSB0aWV0w6R2w6R0IG1pdMOkIG92YXQgdGVrZW3DpHNzw6QuIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAgTWFrc2ltb2kgbnlreWlzZW4gb3Npb24gbGV2eW5rw6R5dHTDtiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBIdW9tOiBUw6Rtw6Qgc2FhdHRhYSB0ZWhkw6Qgb3Npb3N0YSBlcMOkeWh0ZWVuc29waXZhbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIG1tLiBET1NpbiBqYSBPUy8yOm4ga2Fuc3NhLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBUdWxvc3RhIG9zaW90YXVsdSBydXVkdWxsZSB0YWkgdGllZG9zdG9vbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE9zaW9pbGxlIG9uIHVzZWl0YSBlcmlsYWlzaWEgbXVvdG9qYSwiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGpvaXN0YSB2b2l0IHZhbGl0YToiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgciAtIFJhdyBkYXRhIChleGFjdGx5IHdoYXQgd291bGQgYmUgd3JpdHRlbiB0byBkaXNrKSIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHIg4oCTIFJhYWthIGRhdGEgKHRhc2FuIHNlLCBtaXTDpCBsZXZ5bGxlIGtpcmpvaXRldHRhaXNpaW4pIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIOKAkyBTZWt0b3JlaXR0YWluIGrDpHJqZXN0ZXR0eSB0YXVsdSIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICBNdXV0YSBvc2lva29rb27DpGt5bcOkbiB5a3Npa8O2aXTDpCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFZhaWh0YWEgbWVnYXRhdnVqZW4sIHNla3RvcmVpZGVuIGphIHN5bGludGVyaWVuIHbDpGxpbGzDpCIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkN0cmwtTCAgICAgICBQaWlydMOkw6QgcnV1ZHVuIHV1ZGVsbGVlbiIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIE7DpHl0w6QgdMOkbcOkIG9oamVydXV0dSIKKworI34gbXNnaWQgIkNoYW5nZSBjeWxpbmRlciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiTXV1dGEgc3lsaW50ZXJpZ2VvbWV0cmlhYSIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICJWYWloZGEgcMOkw6RnZW9tZXRyaWFhIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiVmFpaGRhIHNla3RvcmlnZW9tZXRyaWFhIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaWFuIG11dXRvcyB2YWxtaXMiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJBbm5hIHN5bGludGVyaWVuIG3DpMOkcsOkOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIHN5bGludGVyaWFydm8iCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIkFubmEgcMOkaWRlbiBtw6TDpHLDpDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIHDDpMOkYXJ2byIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAiQW5uYSBzZWt0b3JpZW4gbcOkw6Ryw6QgdXJhYSBrb2hkZW46ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIHNla3Rvcmltw6TDpHLDpCIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICJBbm5hIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIlRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpw6QgZWkgdm9pIG11dXR0YWEgdHloasOka3NpIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJUaWVkb3N0b2rDpHJqZXN0ZWxtw6RuIHR5eXBwacOkIGVpIHZvaSBtdXV0dGFhIGxhYWplbm5ldHVrc2kiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIlR1bnQoJTAyWCkiCisKKyN+IG1zZ2lkICIsIE5DIgorI34gbXNnc3RyICIsIE5DIgorCisjfiBtc2dpZCAiTkMiCisjfiBtc2dzdHIgIk5DIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAiRW5zL0xvb2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiVHVudGVtYXRvbiAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiTGV2eWFzZW1hOiAlcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIktva286ICVsbGQgdGF2dWEsICVsbGQgTXQiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIktva286ICVsbGQgdGF2dWEsICVsbGQuJWxsZCBHdCIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAiUMOkw6R0OiAlZCAgIFNla3Rvcml0L3VyYTogJWQgICBTeWxpbnRlcml0OiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJPc2lvdHl5cHBpIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiVGllZC5qw6Ryai50eXlwcGkiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbTmltacO2XSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICBTZWt0b3JpdCIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgU3lsaW50ZXJpdCIKKworI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICIgS29rbyAoTXQpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIiBLb2tvIChHdCkiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIkVpIGVuZW1ww6TDpCBvc2lvaXRhIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk11dXRhIGxldnluIGdlb21ldHJpYWEgKHZhaW4gYXNpYW50dW50aWpvaWxsZSkiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiTWFrc2ltb2kiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiTWFrc2ltb2kgbnlreWlzZW4gb3Npb24gdGlsYW5rw6R5dHTDtiAodmFpbiBhc2lhbnR1bnRpam9pbGxlKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJOw6R5dMOkIgorCisjfiBtc2dpZCAiQ2hhbmdlIHRoZSBmaWxlc3lzdGVtIHR5cGUgKERPUywgTGludXgsIE9TLzIgYW5kIHNvIG9uKSIKKyN+IG1zZ3N0ciAiVmFpaGRhIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIChET1MsIExpbnV4LCBPUy8yLCBqbmUpIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIllrc2lrw7Z0IgorCisjfiBtc2dpZCAiQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IChNQiwgc2VjdCwgY3lsKSIKKyN+IG1zZ3N0ciAiVmFpaGRhIG9zaW9rb2tvbsOkeXTDtm4geWtzaWvDtnQgKE10LCBzZWt0LCBzeWwpIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIlTDpHN0w6Qgb3Npb3N0YSBlaSB2b2kgdGVoZMOkIGvDpHlubmlzdGV0dMOkdsOkw6QiCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVHloasOkw6Qgb3Npb3RhIGVpIHZvaSBwb2lzdGFhIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJUw6R0w6Qgb3Npb3RhIGVpIHZvaSBtYWtzaW1vaWRhIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgdW51c2FibGUiCisjfiBtc2dzdHIgIlTDpG3DpCBvc2lvIG9uIGVpIG9sZSBrw6R5dGV0dMOkdmlzc8OkIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIlTDpG3DpCBvc2lvIG9uIGpvIGvDpHl0w7Zzc8OkIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlR5aGrDpG4gb3Npb24gdHl5cHBpw6QgZWkgdm9pIHZhaWh0YWEiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBrb21lbnRvIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAgICAtaCMgW3RhaSAtLWhlYWRzICNdOiAgICBhc2V0YSBrw6R5dGV0dMOkdsOkIHDDpGlkZW4gbcOkw6Ryw6QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAgRWkgbGFpbmF1c21lcmtrZWrDpCB0dWxvc3RlZXNlZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiICBkICAgICAgICAgIFBvaXN0YSBueWt5aW5lbiBvc2lvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICJTeWxpbnRlcmllbiBtw6TDpHLDpCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGhlYWRzIgorI34gbXNnc3RyICJQw6RpZGVuIG3DpMOkcsOkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAiU2VrdG9yaWVuIG3DpMOkcsOkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgTsOkeXTDpCB0w6Rtw6Qgb2hqZSBqYSBwb2lzdHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJcbiIKKyN+IG1zZ3N0ciAiPz8/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnNpemUiCisjfiBtc2dzdHIgIk1heGtva289JWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnNpemUiCisjfiBtc2dzdHIgIk1heGtva289JWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiT3NpbyAlemQgb24gam8gbcOkw6RyaXRlbHR5LiBQb2lzdGEgc2UgZW5uZW4gdXVkZWxsZWVuIGxpc8Okw6RtaXN0w6QuIgorCisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICIgICBlICAgIGxhYWplbm5ldHR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJWecO2aHlrZW51bWVybyA8IEZJUlNUWk9ORSB0aWVkb3N0b3NzYSDigJ0lc+KAnS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQUYiCisjfiBtc2dzdHIgInN2Y191bml4LmMgLSBvbmdlbG1hIEFGX1VOSVgtcGlzdG9ra2VlbiBsdW9taXNlc3NhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkN5bCIKKyN+IG1zZ3N0ciAiIgorI34gInZpYWxsaXN0YSBkYXRhYSBzeWxpbnRlcmlzc8OkICVkXG4iCisjfiAiSmF0a2V0YWFuLi4uICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlLiBQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJUw6Rtw6QgZWkgbsOkeXTDpCBvc2lvdGF1bHVsdGFcbiIKKyN+ICJWYWxpdHR1bmEgb24gdG9kZW5uw6Rrw7Zpc2VzdGkgdsOkw6Ryw6QgbGFpdGUuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAibG9oa290IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN5c3RlbSIKKyN+IG1zZ3N0ciAiVGlldG9hIGrDpHJqZXN0ZWxtw6RzdMOkOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJPc2lvICV6ZCBvbiBqbyBtw6TDpHJpdGVsdHkuIFBvaXN0YSBzZSBlbm5lbiB1dWRlbGxlZW4gbGlzw6TDpG1pc3TDpC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW5mbyIKKyN+IG1zZ3N0ciAidmVyaWZ5X2Zsb3dfaW5mbyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJ0YXZ1YS9zZWt0b3JpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorI34gbXNnc3RyICJMZXZ5bGzDpCB0dWxlZSBvbGVtYWFuIHDDpMOkbGxla2vDpGlzacOkIG9zaW9pdGEuIFTDpG3DpCBvbiBrb3JqYXR0YXZhIGVuc2luIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJvaXR1czogQkxLR0VUU0laRS1pb2N0bCBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlcy4gS8OkeXRldMOkw6RuIGdlb21ldHJpYW5cbiIKKyN+ICJzeWxpbnRlcmlhcnZvYSAlZC4gVMOkbcOkIGFydm8gdm9pIHR5cGlzdHnDpCBsYWl0dGVpbGxhLCBqb3RrYSBvdmF0IHN1dXJlbXBpYVxuIgorI34gImt1aW4gMzMsOCBHdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICLigJ0g4oCdLWxpcHB1IgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgInZhcm9pdHVzOiB2aXJoZSBsdWV0dGFlc3NhICVzOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJ2aXJoZTogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YTogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0aWVkb3N0b2EgJXMgZWkgdm9pdHUgYXZhdGEg4oCTIGvDpHl0ZXTDpMOkbiB0aWVkb3N0b2EgJXMgc2VuIHNpamFhblxuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAibHVra290aWVkb3N0b2EgJXMgZWkgdm9pIGx1b2RhOiAlcyAoa8OkeXTDpCBsaXBwdWEgLW4gb2hpdHRhYWtzZXNpKSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJsdWtrb3RpZWRvc3RvYSAlcyBlaSB2b2kgbGlua2l0dMOkw6Q6ICVzIChrw6R5dMOkIGxpcHB1YSAtbiBvaGl0dGFha3Nlc2kpIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImx1a2tvdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YTogJXMgKGvDpHl0w6QgbGlwcHVhIC1uIG9oaXR0YWFrc2VzaSkiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTHVra290aWVkb3N0b2EgJXMgZWkgdm9pIGx1a2l0YTogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAibHVra290aWVkb3N0b2EgJXMgZWkgdm9pIGx1a2l0YTogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxpbmtracOkICVzIGVpIHZvaSBsdW9kYVxuIgorI34gIkVoa8OkIGpvc3Nha2luIG9uIHZhbmhlbnR1bnV0IGx1a2tvdGllZG9zdG8/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAiaGFrZW1pc3RvYSAlcyBlaSB2b2kgYXZhdGEgKCVzKSDigJMgbXRhYmktdGllZG9zdG9hIGVpIHDDpGl2aXRldHR5IgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgInZpcmhlIGtpcmpvaXRldHRhZXNzYSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgInRpZWRvc3RvYSAlcyBlaSB2b2kgc2lpcnTDpMOkIGtvaHRlZXNlZW4gJXMiCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJ2aXJoZSBtdXV0ZXR0YWVzc2EgdGllZG9zdG9uICVzIHRpbGFhOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgInZpcmhlIG11dXRldHRhZXNzYSB0aWVkb3N0b24gJXMgb21pc3RhamFhOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICJuaW1lw6RtaW5lbiAlcyDihpIgJXMgZWkgb25uaXN0dTogJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW50OiB2w6TDpHJpbiBzdW9qYXR0dSB2YWxpdHNpbm1lcmtraWpvbm8g4oCdJXPigJ0iCisKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG11dW5uZXR0aWluICVzIOKAnSVz4oCdIGFydm9vbiDigJ0lc+KAnVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBtdGFiLXRpZWRvc3RvbiBtdWthYW4gJXMgb24gam8gbGlpdGV0dHkgcGlzdGVlc2VlbiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWItdGllZG9zdG9uIG11a2FhbiAlcyBvbiBsaWl0ZXR0eSBwaXN0ZWVzZWVuICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudDogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YSBraXJqb2l0dGFtaXN0YSB2YXJ0ZW46ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogdmlyaGUga2lyam9pdGV0dGFlc3NhICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHZpcmhlIG11dXRldHRhZXNzYSB0aWVkb3N0b24gJXMgdGlsYWE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IHJ5aG3DpC1pZDp0w6Qgdm9pIGFzZXR0YWE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDoga8OkeXR0w6Rqw6QtaWQ6dMOkIGVpIHZvaSBhc2V0dGFhOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBoYWFyYXV0dGFtaW5lbiBlaSBvbm5pc3R1OiAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICJLb2tlaWxsYWFuICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogZXQgYW50YW51dCB0eXlwcGnDpCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6RsbGUgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIEtva2VpbGxhYW4ga2Fpa2tpYSB0aWVkb3N0b2lzc2EgJXMgamEgJXMgbWFpbml0dHVqYSB0eXlwcGVqw6RcbiIKKworI34gbXNnaWQgIiAgICAgICBhbmQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIHN3YXBzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAgamEgdMOkbcOkIG7DpHl0dMOkw6Qgb2xldmFuIHNpdnV0dXN0aWxhYVxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICAgS29rZWlsbGFhbiB0eXlwcGnDpCAlc1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMgdmFpa3V0dGFhIG9sZXZhbiBzaXZ1dHVzdGlsYWEg4oCTIGVpIGxpaXRldMOkIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiB2YWluIHJvb3Qgdm9pIGxpaXR0w6TDpCAlcyBwaXN0ZWVzZWVuICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AtbGFpdGUgYW5uZXR0dSBrYWhkZXN0aSIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHR5eXBwaSBhbm5ldHR1IGthaGRlc3RpIgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBvaGl0ZXRhYW4gbG9vcC1sYWl0dGVlbiBhc2V0dGFtaW5lblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhaW90YWFuIGvDpHl0dMOkw6QgbG9vcC1sYWl0ZXR0YSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIGFzZXRldHR1IGFydm86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgc2l6ZWxpbWl0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJWaXJoZWVsbGluZW4gYXNldGV0dHUgYXJ2bzogJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMgYXMgbG9vcCIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWItdGllZG9zdG9uIG11a2FhbiAlcyBvbiBqbyBsaWl0ZXR0eSBwaXN0ZWVzZWVuICVzIGxvb3AtbGFpdHRlZW5hIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wZGV2IGNvbnRleHQiCisjfiBtc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogYWlvdGFhbiBrw6R5dHTDpMOkIGxvb3AtbGFpdGV0dGEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGZvdW5kIGZyZWUgbG9vcCBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBsb29wLWxhaXR0ZWVuIGFzZXR0YW1pbmVuIGVww6Rvbm5pc3R1aVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFpb3RhYW4ga8OkeXR0w6TDpCBsb29wLWxhaXRldHRhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AtbGFpdHRlZW4gYXNldHRhbWluZW4gZXDDpG9ubmlzdHVpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBsb29wLWxhaXR0ZWVuIGFzZXR0YW1pbmVuIGVww6Rvbm5pc3R1aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBsb29wLWxhaXRlIGFzZXRldHRpaW4gb25uaXN0dW5lZXN0aVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogZWkgbMO2eXR5bnl0ICVzIOKAkyBsdW9kYWFuIHNlLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgb3BlbiAlcyBmb3Igc2V0dGluZyBzcGVlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZWRvc3RvYSAlcyBlaSB2b2kgYXZhdGEgbm9wZXVkZW4gYXNldHVzdGEgdmFydGVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZWRvc3RvYSAlcyBlaSB2b2kgYXZhdGEgbm9wZXVkZW4gYXNldHVzdGEgdmFydGVuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWJpbiBtdWthYW4gJXMgb24gam8gbGlpdGV0dHkgcGlzdGVlc2VlbiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb24gdmFyYXR0dSDigJMgdXVkZWxsZWVubGlpdGV0dGlpbiB2YWluIGx1a3UgLXRpbGFzc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb24gdmFyYXR0dSDigJMgdXVkZWxsZWVubGlpdGV0dGlpbiB2YWluIGx1a3UgLXRpbGFzc2FcbiIKKworI34gbXNnaWQgIm1vdW50OiBJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IFRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpw6QgZWkgdm9pdHUgbcOkw6RyaXR0w6TDpCwgZWlrw6QgdHl5cHBpw6Qgb2xlIGFubmV0dHUiCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGkgb24gYW5uZXR0YXZhIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaXRvcyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogbGlpdG9zcGlzdGUgJXMgZWkgb2xlIGhha2VtaXN0byIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGx1cGEgZXbDpHR0eSIKKworI34gbXNnaWQgIm1vdW50OiBtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudGluIGvDpHl0dMO2w7ZuIHZhYWRpdGFhbiBww6TDpGvDpHl0dMOkasOkbiBvaWtldWRldCIKKworI34gbXNnaWQgIm1vdW50OiBwcm9jIGFscmVhZHkgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByb2Mgb24gam8gbGlpdGV0dHkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBvbiBqbyBsaWl0ZXR0eSB0YWkgJXMgb24gdmFyYXR0dSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaXRvc3Bpc3RlICVzIGVpIG9sZSBvbGVtYXNzYSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaXRvc3Bpc3RlICVzIG9uIHN5bWxpbmtraSBvbGVtYXR0b21hYW4iCisKKyN+IG1zZ2lkICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiBlcmlrb2lzbGFpdGUgJXMgZWkgb2xlIG9sZW1hc3NhIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogZXJpa29pc2xhaXRlICVzIGVpIG9sZSBvbGVtYXNzYVxuIgorI34gIiAgICAgICAocG9sdW4gZXR1bGlpdGUgZWkgb2xlIGhha2VtaXN0bylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogd3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisjfiAiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IHbDpMOkcsOkIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpLCB2aXJoZWVsbGluZW4gdmFsaXRzaW4sIHZpYWxsaW5lbiBcbiIKKyN+ICIgICAgICAgc3VwZXJsb2hrbyBsYWl0dGVlbGxhICVzLCBwdXV0dHV2YSBrb29kaXNpdnUgdGFpIGFwdW9oamVsbWEsIHRhaSBtdXUgdmlyaGUiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChjb3VsZCB0aGlzIGJlIHRoZSBJREUgZGV2aWNlIHdoZXJlIHlvdSBpbiBmYWN0IHVzZVxuIgorI34gIiAgICAgICBpZGUtc2NzaSBzbyB0aGF0IHNyMCBvciBzZGEgb3Igc28gaXMgbmVlZGVkPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKHZvaXNpa28gdMOkbcOkIG9sbGEgSURFLWxhaXRlLCBqb2thIGvDpHl0dMOkw6QgaWRlLXNjc2ktYWp1cmlhLFxuIgorI34gIiAgICAgICBqb2xsb2luIGvDpHl0ZXTDpMOkbiBzcjA6YWEgdGFpIHNkYTp0YT8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoYXJlbid0IHlvdSB0cnlpbmcgdG8gbW91bnQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpbnN0ZWFkIG9mIHNvbWUgbG9naWNhbCBwYXJ0aXRpb24gaW5zaWRlPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKGV0a8O2IHlyaXTDpGtpbiBsaWl0dMOkw6QgbGFhamVubmV0dHVhIG9zaW90YSwgZXRrw6RcbiIKKyN+ICIgICAgICAgc2VuIHNpc8OkbHTDpG3DpMOkIGxvb2dpc3RhIG9zaW90YT8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgSm9pc3Nha2luIHRhcGF1a3Npc3NhIGrDpHJqZXN0ZWxtw6Rsb2tpc3RhIGzDtnl0eXkgaHnDtmR5bGxpc3TDpFxuIgorI34gIiAgICAgICB0aWV0b2Eg4oCTIGtva2VpbGUgZXNpbS4ga29tZW50b2Eg4oCdZG1lc2cgfCB0YWls4oCdLlxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczogc3VwZXJsb2hrb2EgZWkgdm9pIGx1a2VhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiB0dW50ZW1hdG9uIGxhaXRlIgorCisjfiBtc2dpZCAibW91bnQ6IHVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCisjfiBtc2dzdHIgIm1vdW50OiB0dW50ZW1hdG9uIHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIOKAnSVz4oCdIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRhcmtvaXRhdCB0b2Rlbm7DpGvDtmlzZXN0aSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVoa8OkIHRhcmtvaXRpdCDigJ1pc285NjYw4oCdPyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVoa8OkIHRhcmtvaXRpdCDigJ12ZmF04oCdPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiB0aWVkb3N0b24gJXMgbGFpdGVudW1lcm8gb24gdsOkw6Ryw6QgdGFpIHRpZWRvc3RvasOkcmplc3RlbG3DpHR5eXBwaSAlcyBlaSBvbGUgdHVldHR1IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGxvaGtvbGFpdGUsIGphIHRpbGFuIGx1a3UgZXDDpG9ubmlzdHV1PyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IHlkaW4gZWkgdHVubmlzdGEgdGllZG9zdG9hICVzIGxvaGtvbGFpdHRlZWtzaVxuIgorI34gIiAgICAgICAoZWhrw6Qg4oCdaW5zbW9kIGFqdXJp4oCdIGF1dHRhYT8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGxvaGtvbGFpdGUgKHlyaXTDpCDigJ0tbyBsb29w4oCdPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGxvaGtvbGFpdGUiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMgZWkgb2xlIGtlbHZvbGxpbmVuIGxvaGtvbGFpdGUiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogZWkgdm9pIGxpaXR0w6TDpCAlcyVzIHZhaW4gbHVrdSAtdGlsYXNzYSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorI34gbXNnc3RyICJtb3VudDogJXMlcyBvbiBraXJqb2l0dXNzdW9qYXR0dSwgbXV0dGEg4oCdLXfigJ0gLWxpcHB1IG9uIGFubmV0dHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCByZW1vdW50ICVzJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorI34gbXNnc3RyICJtb3VudDogJXMlcyBvbiBraXJqb2l0dXNzdW9qYXR0dSwgbGlpdGV0w6TDpG4gdmFpbiBsdWt1IC10aWxhc3NhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIG9uIGtpcmpvaXR1c3N1b2phdHR1LCBsaWl0ZXTDpMOkbiB2YWluIGx1a3UgLXRpbGFzc2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAiTWVkaWFhIGVpIGzDtnlkeSIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudDogdHl5cHBpw6QgZWkgYW5uZXR0dSDigJMga2Frc29pc3Bpc3RlZW4gcGVydXN0ZWVsbGEgc2VuIG9sZXRldGFhbiBvbGV2YW4gbmZzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogdHl5cHBpw6QgZWkgYW5uZXR0dSDigJMgLy8tYWxrdWxpaXR0ZWVuIHBlcnVzdGVlbGxhIHNlbiBvbGV0ZXRhYW4gb2xldmFuIGNpZnNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogcHJpbnQgdmVyc2lvblxuIgorI34gIiAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgOiBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgIDogbGlzdCBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICA6IGlkZW0sIGluY2x1ZGluZyB2b2x1bWUgbGFiZWxzXG4iCisjfiAiU28gZmFyIHRoZSBpbmZvcm1hdGlvbmFsIHBhcnQuIE5leHQgdGhlIG1vdW50aW5nLlxuIgorI34gIlRoZSBjb21tYW5kIGlzIGBtb3VudCBbLXQgZnN0eXBlXSBzb21ldGhpbmcgc29tZXdoZXJlJy5cbiIKKyN+ICJEZXRhaWxzIGZvdW5kIGluIC9ldGMvZnN0YWIgbWF5IGJlIG9taXR0ZWQuXG4iCisjfiAiICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IG1vdW50IGFsbCBzdHVmZiBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAgIDogbW91bnQgZGV2aWNlIGF0IHRoZSBrbm93biBwbGFjZVxuIgorI34gIiAgICAgICBtb3VudCBkaXJlY3RvcnkgICAgICAgICAgOiBtb3VudCBrbm93biBkZXZpY2UgaGVyZVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0eXBlIGRldiBkaXIgICAgOiBvcmRpbmFyeSBtb3VudCBjb21tYW5kXG4iCisjfiAiTm90ZSB0aGF0IG9uZSBkb2VzIG5vdCByZWFsbHkgbW91bnQgYSBkZXZpY2UsIG9uZSBtb3VudHNcbiIKKyN+ICJhIGZpbGVzeXN0ZW0gKG9mIHRoZSBnaXZlbiB0eXBlKSBmb3VuZCBvbiB0aGUgZGV2aWNlLlxuIgorI34gIk9uZSBjYW4gYWxzbyBtb3VudCBhbiBhbHJlYWR5IHZpc2libGUgZGlyZWN0b3J5IHRyZWUgZWxzZXdoZXJlOlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQgb2xkZGlyIG5ld2RpclxuIgorI34gIm9yIG1vdmUgYSBzdWJ0cmVlOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIG1vdW50IGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUgbW91bnRzIGluIGEgbW91bnQgc3VidHJlZVxuIgorI34gImNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJBIGRldmljZSBjYW4gYmUgZ2l2ZW4gYnkgbmFtZSwgc2F5IC9kZXYvaGRhMSBvciAvZGV2L2Nkcm9tLFxuIgorI34gIm9yIGJ5IGxhYmVsLCB1c2luZyAgLUwgbGFiZWwgIG9yIGJ5IHV1aWQsIHVzaW5nICAtVSB1dWlkIC5cbiIKKyN+ICJPdGhlciBvcHRpb25zOiBbLW5mRnJzdnddIFstbyBvcHRpb25zXSBbLXAgcGFzc3dkZmRdLlxuIgorI34gIkZvciBtYW55IG1vcmUgZGV0YWlscywgc2F5ICBtYW4gOCBtb3VudCAuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6R5dHTDtjogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogbsOkeXTDpCB2ZXJzaW9cbiIKKyN+ICIgICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IG7DpHl0w6QgdMOkbcOkIG9oamVcbiIKKyN+ICIgICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IG7DpHl0w6QgbGlpdGV0eXQgdGllZG9zdG9qw6RyamVzdGVsbcOkdFxuIgorI34gIiAgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogc2FtYSBrdWluIGVkZWxsw6QsIGxpc8Oka3NpIG5pbWnDtnRcbiIKKyN+ICJTaWluw6QgaW5mb3JtYXRpaXZpbmVuIG9zdXVzLiBTZXVyYWF2YWtzaSBsaWl0dMOkbWluZW4uXG4iCisjfiAiS29tZW50byBrdXVsdXUg4oCdbW91bnQgWy10IHRpZWQuasOkcmoudHl5cHBpXSBqb3Rha2luIGpvbm5la2lu4oCdLlxuIgorI34gIlRpZWRvc3Rvc3NhIC9ldGMvZnN0YWIgb2xldmF0IHlrc2l0eWlza29oZGF0IHZvaSBqw6R0dMOkw6QgcG9pcy5cbiIKKyN+ICIgICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IGxpaXTDpCBrYWlra2kgdGllZG9zdG9zdGEgL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICAgbW91bnQgbGFpdGUgICAgICAgICAgICAgIDogbGlpdMOkIGxhaXRlIHR1bm5ldHR1dW4gcGFpa2thYW5cbiIKKyN+ICIgICAgICAgIG1vdW50IGhha2VtaXN0byAgICAgICAgICA6IGxpaXTDpCB0dW5uZXR0dSBsYWl0ZSB0w6RubmVcbiIKKyN+ICIgICAgICAgIG1vdW50IC10IHR5eXBwaSBsYWl0ZSBoYWs6IG5vcm1hYWxpIGxpaXRvc2tvbWVudG9cbiIKKyN+ICJIdW9tYWEsIGV0dMOkIG9pa2Vhc3RpIGVpIGxpaXRldMOkIGxhaXRldHRhLCB2YWFuIGxhaXR0ZWVsbGEgb2xldmFcbiIKKyN+ICIoYW5uZXR1biB0eXlwaW4gbXVrYWluZW4pIHRpZWRvc3RvasOkcmplc3RlbG3DpC5cbiIKKyN+ICJWb2lkYWFuIG15w7ZzIGxpaXR0w6TDpCBqbyBuw6RreXZpc3PDpCBvbGV2YSBoYWtlbWlzdG9wdXUgbXV1YWxsZTpcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tYmluZCB2YW5oYV9oYWsgdXVzaV9oYWtcbiIKKyN+ICJ0YWkgc2lpcnTDpMOkIGFsaXB1dTpcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tbW92ZSB2YW5oYV9oYWsgdXVzaV9oYWtcbiIKKyN+ICJIYWtlbWlzdG9uIGhhayBzaXPDpGx0w6R2w6RuIGxpaXRva3NlbiB0eXlwcGnDpCB2b2kgbXV1dHRhYTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBoYWtcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGhha1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBoYWtcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgaGFrXG4iCisjfiAiS2Fpa2tpZW4gbGlpdG9rc2VuIGFsaXB1dXNzYSBvbGV2aWVuIGhha2VtaXN0b24gaGFrIHNpc8OkbHTDpHZpZW5cbiIKKyN+ICJsaWl0b3N0ZW4gdHl5cHBpw6Qgdm9pIG11dXR0YWE6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGhha1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGhha1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgaGFrXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBoYWtcbiIKKyN+ICJMYWl0ZSB2b2lkYWFuIGFudGFhIG5pbWVsbMOkLCBlc2ltLiAvZGV2L2hkYTEgdGFpIC9kZXYvY2Ryb20sXG4iCisjfiAidGFpIG5pbWnDtmxsw6QsIGvDpHl0dMOkZW4gIC1MIG5pbWnDtiAgdGFpIHV1aWQ6bGxhLCBrw6R5dHTDpGVuICAtVSB1dWlkIC5cbiIKKyN+ICJNdXV0IHZhbGl0c2ltZXQ6IFstbmZGcnN2d10gWy1vIHZhbGl0c2ltZXRdIFstcCBrYWh2YV0uXG4iCisjfiAiUGFsam9uIGxpc8OkdGlldG9qYSBrb21lbm5vbGxhOiAgbWFuIDggbW91bnQgLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi0tcGFzcy1mZCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorI34gbXNnc3RyICJ2YWxpdHNpbiAlcXMgZWkgb2xlIGVuw6TDpCB0dWV0dHUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiB2YWluIHJvb3Qgdm9pIHRlaGTDpCB0dW9uIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHZhaW4gcm9vdCB2b2kgdGVoZMOkIHR1b24iCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJtaXTDpMOkbiBlaSBsaWl0ZXR0eSIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG9zaW90YSBlaSBsw7Z5ZHkiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGVpIGzDtnlkeSB0aWVkb3N0b3N0YSAlcywgZWlrw6QgJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiB2YXJvaXR1czogdGllZG9zdG9uICVzIGxvcHVzc2EgZWkgb2xlIHJpdmludmFpaHRvYVxuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IHJpdmkgJWQgdGllZG9zdG9zc2EgJXMgb24gdmlyaGVlbGxpbmVuJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgbG9wdXQgdGllZG9zdG9zdGEgasOkdGV0w6TDpG4gaHVvbWlvaW1hdHRhIgorCisjfiBtc2dpZCAibm90IGVub3VnaCBtZW1vcnkiCisjfiBtc2dzdHIgIm11aXN0aSBlaSByaWl0w6QiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBrw6TDpG5uZXR0eSBpbG1hbiB0dWtlYSB2YWxpdHNpbWVsbGUgLWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IHJ5aG3DpC1pZDp0w6QgZWkgdm9pIGFzZXR0YWE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBrw6R5dHTDpGrDpC1pZDp0w6QgZWkgdm9pIGFzZXR0YWE6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudDogaGFhcmF1dHRhbWluZW4gZWkgb25uaXN0dTogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogdmlyaGVlbGxpbmVuIGxvaGtvbGFpdGUiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogZWkgb2xlIGxpaXRldHR5bsOkIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogc3VwZXJsb2hrb2EgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGVpIGzDtnlkeSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogdmFhZGl0YWFuIHDDpMOka8OkeXR0w6Rqw6RuIG9pa2V1ZGV0IgorCisjfiBtc2dpZCAidW1vdW50OiAlczogYmxvY2sgZGV2aWNlcyBub3QgcGVybWl0dGVkIG9uIGZzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBsb2hrb2xhaXR0ZWl0YSBlaSBzYWxsaXRhIHRpZWRvc3RvasOkcmplc3RlbG3DpHNzw6QiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJzaWlydHltaW5lbiBoYWtlbWlzdG9vbiAlcyBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAibmFtZWk6IG55a3lpc3TDpCBoYWtlbWlzdG9hIGVpIHZvaWRhIGhha2VhIOKAkyAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiB2YWFkaXRhYW4gcMOkw6Rrw6R5dHTDpGrDpG4gb2lrZXVkZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3VycmVudCBkaXJlY3RvcnkgbW92ZWQgdG8gJXNcbiIKKyN+IG1zZ3N0ciAibnlreWlzZW4gaGFrZW1pc3RvbiAoJXMpIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworI34gbXNnaWQgIm5vIHVtb3VudDIsIHRyeWluZyB1bW91bnQuLi5cbiIKKyN+IG1zZ3N0ciAib2hqZWxtYWEgdW1vdW50MiBlaSBvbGUsIGtva2VpbGxhYW4gb2hqZWxtYWEgdW1vdW50Li4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb24gdmFyYXR0dSDigJMgdXVkZWxsZWVubGlpdGV0dGlpbiB2YWluIGx1a3UgLXRpbGFzc2FcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDoga29odGVlbiAlcyB1dWRlbGxlZW5saWl0dMOkbWluZW4gdmFpbiBsdWt1IC10aWxhc3NhIGVww6Rvbm5pc3R1aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyBpcnJvdGV0dHVcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IGlycm90ZXR0YXZpZW4gdGllZG9zdG9qw6RyamVzdGVsbWllbiBsaXN0YWEgZWkgbMO2eWR5IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdnRpZWQuasOkcmoudHl5cGl0XSBbLU8gdmFsaXRzaW1ldF1cbiIKKyN+ICIgICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gZXJpa29pc3RpZWQgfCBzb2xtdS4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiTGFpdGU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIG5vdCBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiTGFpdGU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJLb2hkZXR0YSDigJ3igJ0gZWkgdm9pIGlycm90dGFhXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIiVzIGVpIGzDtnl0eW55dCB0aWVkb3N0b3N0YSBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgZWkgb2xlIGxpaXRldHR5IChtdGFiLXRpZWRvc3RvbiBtdWthYW4pIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIHZhaWt1dHRhYSBvbGV2YW4gbGlpdGV0dHluw6QgdXNlaXRhIGtlcnRvamEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBlaSBvbGUgdGllZG9zdG9zc2EgZnN0YWIgKGV0a8OkIG9sZSByb290KSIKKworI34gbXNnaWQgInVtb3VudDogJXMgbW91bnQgZGlzYWdyZWVzIHdpdGggdGhlIGZzdGFiIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG9uIHJpc3RpcmlpZGFzc2EgdGllZG9zdG9uIGZzdGFiIGthbnNzYSIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHZhaW4gJXMgdm9pIGlycm90dGFhIGxhaXR0ZWVuICVzIHBhaWthc3RhICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogdmFpbiByb290IHZvaSB0ZWhkw6QgdMOkbcOkbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbdmFsaXRzaW1ldF0gW2vDpHl0dMOkasOkbmltaV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBvbGV0dXNreW5ueXMgamEgJWxkIG9sZXR1c2Fpa2FrYXRrYWlzdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJUaWVkb3N0byAlcywga3lubnlzYXJ2b2xsZSAlbHUsIHN1dXJpbiBtZXJra2ltw6TDpHLDpCBmaWZvc3NhIG9saSAlZCxcbiIKKyN+ICJqYSBzdXVyaW4gc2lpcnRvbm9wZXVzIChtZXJra2nDpC9zZWt1bnRpKSBvbGkgJWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUgYW5kIHRpbWVvdXQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIlRpZWRvc3RvICVzLCBreW5ueXNhcnZvbGxlICVsdSBqYSBhaWtha2F0a2Fpc3VhcnZvbGxlICVsdSwgc3V1cmluIG1lcmtraW3DpMOkcsOkIGZpZm9zc2Egb2xpICVkLFxuIgorI34gImphIHN1dXJpbiBzaWlydG9ub3BldXMgKG1lcmtracOkL3Nla3VudGkpIG9saSAlZlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAidGllZG9zdG9hICVzIGVpIHZvaSBzaWlydMOkw6Qga29odGVlc2VlbiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgImxhaXR0ZWVuICVzIGtva29hIGVpIHZvaSBoYWtlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJsYWl0dGVlbiAlcyBrb2tvYSBlaSB2b2kgaGFrZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAiYWphbmpha3NvIGVpIGtlbHBhYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgImFqYW5qYWtzbyBlaSBrZWxwYWE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICJWaXJoZWVsbGluZW4gYXNldGV0dHUgYXJ2bzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgInZpcmhlZWxsaW5lbiAlJUQtYXJ2byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgInZpcmhlZWxsaW5lbiAlJUgtYXJ2byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aXJoZWVsbGluZW4gJSVELWFydm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAidGllZG9zdG9uICVzIGFpa2FsZWltb2plbiBhc2V0dGFtaW5lbiBlaSBvbm5pc3R1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2aXJoZWVsbGluZW4gJSVELWFydm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgImFqYW5qYWtzbyBlaSBrZWxwYWE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAidmlyaGVlbGxpbmVuICUlRC1hcnZvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJrb25lbmltZW4gJXMgYXNldHRhbWluZW4gasOkcmplc3RlbG3DpGxsZSBlaSBvbm5pc3R1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgInRpZWRvc3RvbiAlcyBhaWthbGVpbW9qZW4gYXNldHRhbWluZW4gZWkgb25uaXN0dSIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBueWt5aW5lbiBreW5ueXMgamEgJWxkIG55a3lpbmVuIGFpa2FrYXRrYWlzdVxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIG9sZXR1c2t5bm55cyBqYSAlbGQgb2xldHVzYWlrYWthdGthaXN1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRpbWUgZWxhcHNlZCBzaW5jZSByZWZlcmVuY2UgdGltZSBoYXMgYmVlbiAlLjZmIHNlY29uZHMuXG4iCisjfiAiRGVsYXlpbmcgZnVydGhlciB0byByZWFjaCB0aGUgbmV3IHRpbWUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWaWl0ZWFqYW5rb2hkYXN0YSBvbiBrdWx1bnV0ICUuNmYgc2VrdW50aWEuXG4iCisjfiAiT2RvdGV0YWFuIHNldXJhYXZhYSB0w6R5dHTDpCBzZWt1bnRpYS5cbiIKKworI34gbXNnaWQgIiAtdGVybSB0ZXJtaW5hbF9uYW1lXG4iCisjfiBtc2dzdHIgIiAtdGVybSBww6TDpHR0ZWVuX25pbWlcbiIKKworI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiIC1yZXNldFxuIgorCisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAtaW5pdGlhbGl6ZVxuIgorCisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgLWRlZmF1bHRcbiIKKworI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJvbGQgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1ibGluayA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiIC1zdG9yZVxuIgorCisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorCisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiIC1yZWd0YWJzIFsxLTE2MF1cbiIKKworI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorCisjfiBtc2dpZCAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAtZHVtcCAgIDwxLUtPTlNPTElFTl9Nw4TDhFLDhD5cbiIKKworI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWFwcGVuZCA8MS1LT05TT0xJRU5fTcOEw4RSw4Q+XG4iCisKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIiAtZmlsZSB2ZWRvc3RpZWRvc3RvbmltaVxuIgorCisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1tc2cgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiIC1tc2dsZXZlbCA8MC04PlxuIgorCisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorCisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAtYmZyZXEgdGFhanV1c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIHdyaXRpbmcgc2NyZWVuZHVtcCIKKyN+IG1zZ3N0ciAidmlyaGUga2lyam9pdGV0dGFlc3NhIHRpZWRvc3RvYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICJMYWl0ZXR0YSAvZGV2L3R0eTEgdGFpIC9kZXYvdmMvMSBlaSB2b2kgYXZhdGEiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAibGlpYW4gcGl0a8OkIHJpdmkiCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJhc2V0YSBsb2hrb2tva28iCisKKyN+IG1zZ2lkICJvbmUgYmFkIGJsb2NrXG4iCisjfiBtc2dzdHIgInlrc2kgdmlhbGxpbmVuIGxvaGtvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgIiMgJXM6biBvc2lvdGF1bHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICJsdWtlbWluZW4gZXDDpG9ubmlzdHVpOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImtpcmpvaXR0YW1pbmVuIGVww6Rvbm5pc3R1aTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICJFaSBtw6TDpHJpdGVsdHlqw6Qgb3Npb2l0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAia8OkeXR0w7Y6XG4iCisjfiAiICAlcyBsb29wLWxhaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbsOkeXTDpCB0aWV0b2phXG4iCisjfiAiICAlcyAtZCBsb29wLWxhaXRlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgcG9pc3RhXG4iCisjfiAiICAlcyAtZiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZXRzaSB2YXBhYVxuIgorI34gIiAgJXMgWyAtZSBzYWxhdXMgXSBbIC1vIHNpaXJ0eW3DpCBdIGxvb3AtbGFpdGUgdGllZG9zdG8gIyBhc2V0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJzaXZ1dHVzbGFpdHRlZWxsYSBlaSB2b2kgc2lpcnR5w6QgdGFha3NlcMOkaW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiB0dW50ZW1hdG9uIGFyZ3VtZW50dGk6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTpcbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIlx0Tk9URTogZWx2dHVuZSB0b2ltaWkgdmFpbiAyLjQtc2FyamFuIHl0aW1pbGzDpFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIlcyBlaSBvbGUgbG9oa29sYWl0ZSBlaWvDpCB0aWVkb3N0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VnbWVudHRlasOkIGVuaW50w6TDpG4gPSAlbHVcbiIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLw6R5dHTDtjpcbiIKKyN+ICJOw6R5dMOkIHZlcnNpbzpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiTsOkeXTDpCBvc2lvdGF1bHU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFt2YWxpdHNpbWV0XSBsYWl0ZVxuIgorI34gIlZ1b3JvdmFpa3V0dGVpbmVuIGvDpHl0dMO2OlxuIgorI34gIiAgICAgICAgJXMgW3ZhbGl0c2ltZXRdIGxhaXRlXG4iCisjfiAiXG4iCisjfiAiVmFsaXRzaW1ldDpcbiIKKyN+ICItYTogS8OkeXTDpCBudW9sdGEga29yb3N0dWtzZW4gYXNlbWVzdGE7XG4iCisjfiAiLXo6IEFsb2l0YSB0eWhqw6RsbMOkIG9zaW90YXVsdWxsYSwgb3Npb3RhdWx1YSBlaSBsdWV0YSBsZXZ5bHTDpDtcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT2hpdGEgeXRpbWVuIG1pZWxpcGlkZSBzeWxpbnRlcmllbiBqYSBww6RpZGVuIG3DpMOkcsOkc3TDpCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgc2Vrw6Qgc2VrdG9yZWl0YS91cmEtbcOkw6Ryw6RzdMOkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiV3JpdGluZyBkaXNrbGFiZWwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIktpcmpvaXRldGFhbiBsZXZ5bmltacO2dMOkIGxhaXR0ZWVsbGUgJXMuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIlZpaW1laW5lbiAlcyB0YWkgK2tva28gdGFpICtrb2tvTSB0YWkgK2tva29LIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICJMdWV0YWFuIGxhaXR0ZWVuICVzIGxldnluaW1pw7Z0w6Qgc2VrdG9yaWx0YSAlZC5cbiIKKworI34gbXNnaWQgIkJTRCBkaXNrbGFiZWwgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKKyN+IG1zZ3N0ciAiQlNELWxldnluaW1pw7Zrb21lbnRvIChtIGFudGFhIG9oamVlbik6ICIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJhc2VtYWRhdGE6ICIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICAgIGFsa3UgICAgICAgIGxvcHB1ICAgIGtva28gICAgIHR5eXBwaSAgIFtma29rbyBia29rbyAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIk9uIG9sdGF2YSDiiaQgc2VrdG9yaWEvdXJhICogdXJhYS9zeWxpbnRlcmkgKG9sZXR1cykuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gKGEtJWMpOiAiCisjfiBtc2dzdHIgIk9zaW8gKGEtJWMpOiAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB0b28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuXG4iCisjfiBtc2dzdHIgIlZhcm9pdHVzOiBsaWlhbiBtb250YSBvc2lvdGEgKCVkLCBtYWtzaW1pIG9uICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU3lua3Jvbm9pZGFhbiBsZXZ5dC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc2VlayBvbiAlcyIKKyN+IG1zZ3N0ciAiTGFpdHRlZWxsYSAlcyBlaSB2b2kgc2lpcnR5w6RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIkxhaXR0ZWVsbGUgJXMgZWkgdm9pIGtpcmpvaXR0YWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiVmFrYXZhIHZpcmhlXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiS29tZW50byAgbWVya2l0eXMiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIk9uIGFzZXRldHRhdmEiCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAicMOkw6R0IgorCisjfiBtc2dpZCAiIGFuZCAiCisjfiBtc2dzdHIgIiBqYSAiCisKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgIlR1bnRlbWF0b24gasOkbGtpbGlpdGU6IOKAnSVz4oCdLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1cHBvcnRlZDogMTBeTjogS0IgKEtpbG9CeXRlKSwgTUIgKE1lZ2FCeXRlKSwgR0IgKEdpZ2FCeXRlKVxuIgorI34gIiAgICAgICAgICAgIDJeTjogSyAgKEtpYmlCeXRlKSwgTSAgKE1lYmlCeXRlKSwgRyAgKEdpYmlCeXRlKVxuIgorI34gbXNnc3RyICIiCisjfiAiVHVubmV0dXQ6ICAxMF5OOiBLQiAoa2lsb3RhdnUpLCBNQiAobWVnYXRhdnUpLCBHQiAoZ2lnYXRhdnUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoa2liaXRhdnUpLCBNICAobWViaXRhdnUpLCBHICAoZ2liaXRhdnUpXG4iCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIkvDpHl0ZXTDpMOkbiBvbGV0dXNhcnZvYSAldVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMZXZ5ICVzOiAlbGQgTXQsICVsbGQgdGF2dWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxldnkgJXM6ICVsZC4lbGQgR3QsICVsbGQgdGF2dWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIsIHlodGVlbnPDpCAlbGx1IHNla3RvcmlhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJMZXZ5YXNlbWFsbGUgZWkgdm9pIGtpcmpvaXR0YWEiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWaXJoZSBzdWxqZXR0YWVzc2EgdGllZG9zdG9hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJWYXJvaXR1czogYXNldGV0YWFuIHNla3RvcmlzaWlydHltw6QgRE9TLXlodGVlbnNvcGl2dXV0dGEgdmFydGVuXG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICJIYXZhaXR0aWluIE9TRi8xLWxldnluaW1pw7YgbGFpdHRlZWxsYSAlcywgc2lpcnJ5dMOkw6RuIGxldnluaW1pw7Z0aWxhYW4uXG4iCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAiTGV2eW4gdXVzaSB0dW5uaXN0ZSAobnlreWluZW4gMHglMDh4KTogIgorCisjfiBtc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZVxuIgorI34gbXNnc3RyICJFaSB2YXBhaXRhIHNla3RvcmVpdGEga8OkeXRldHTDpHZpc3PDpFxuIgorCisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIlZpaW1laW5lbiAlMSRzLCArJTIkcyB0YWkgK2tva297SyxNLEd9IgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAgZnl5c2luZW49KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvb2dpbmVuPSglZCwgJWQsICVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IHZpcmhlZWxsaW5lbiBkYXRhbiBhbGt1a29odGEgb3Npb3NzYSAlZFxuIgorCisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiTGlzw6R0w6TDpG4gZW5zacO2b3Npb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZBUk9JVFVTOiBKb3MgRE9TIDYueCAtb3Npb2l0YSBsdW90aWluIHRhaSBtdXV0ZXR0aWluLFxuIgorI34gImthdHNvIGxpc8OkdGlldG9qYSBmZGlza2luIG1hbnVhYWxpc2l2dWx0YS5cbiIKKworI34gbXNnaWQgIiUqcyBCb290ICAgICAgU3RhcnQgICAgICAgICBFbmQgICAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBLw6R5bm4gICAgIEFsa3UgICAgICAgICAgTG9wcHUgICAgTG9oa290ICAgSWQgIErDpHJqZXN0ZWxtw6RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxldnkgJXM6ICVkIHDDpMOkdMOkLCAlbGx1IHNla3RvcmlhLCAlZCBzeWxpbnRlcmnDpFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTnIgQUYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisjfiBtc2dzdHIgIk5vIEFGIFDDpMOkIFNla3QgU3lsIFDDpMOkIFNla3QgU3lsICAgICBBbGt1ICAgICAgIEtva28gSURcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgTWFjIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgZmRpc2soMSkgY2Fubm90IGhhbmRsZSB0aGVzZSBkaXNrcy5cbiIKKyN+ICJcdFVzZSBlaXRoZXIgcGRpc2sgb3IgcGFydGVkIHRvIG1vZGlmeSB0aGUgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIlx0TmV2ZXJ0aGVsZXNzIHNvbWUgYWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRUw6RsbMOkIGxldnlsbMOkIG9uIGtlbHZvbGxpbmVuIE1hYy1uaW1pw7YuXG4iCisjfiAiXHRWYWxpdGV0dGF2YXN0aSBmZGlzaygxKSBlaSBvc2FhIGvDpHNpdGVsbMOkIHTDpGxsYWlzaWFcbiIKKyN+ICJcdGxldnlqw6QuIEvDpHl0w6Qgam9rbyBwZGlza2nDpCB0YWkgcGFydGVkaWEgb3Npb3RhdWx1blxuIgorI34gIlx0bXV1dHRhbWlzZWVuLlxuIgorI34gIlx0Sm9pdGFraW4gbmV1dm9qYTpcbiIKKyN+ICJcdDEuIGZkaXNrIHR1aG9hYSBsZXZ5biB0aWVkb3Qga2lyam9pdGV0dGFlc3NhLlxuIgorI34gIlx0Mi4gVmFybWlzdGEsIGV0dMOkIHTDpG3DpCBsZXZ5IEVJIG9sZSBlbsOkw6QgZWxpbnTDpHJrZcOkXG4iCisjfiAiXHQgICBvc2Egb3Npb3J5aG3DpMOkLiAoSm9zIG9uLCBtdXV0a2luIGxldnl0IHNhYXR0YXZhdFxuIgorI34gIlx0ICAgdHloamVudHnDpCwgZWxsZWkgbmlpdMOkIG9sZSBwZWlsYXR0dS4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0VmFsaXRldHRhdmFzdGkgdMOkbcOkIGZkaXNrIGVpIG9zYWEga8Okc2l0ZWxsw6QgTWFjLWxldnluaW1pw7ZpdMOkLlxuIgorI34gIlx0Sm9zIGhhbHVhdCBsaXPDpHTDpCBET1MtdHl5cHBpc2nDpCBvc2lvaXRhLCBsdW8gZW5zaW5cbiIKKyN+ICJcdHV1c2kgRE9TLW9zaW90YXVsdS4gKEtvbWVudG8gby4pXG4iCisjfiAiXHRWQVJPSVRVUzogVXVkZW4gb3Npb3RhdWx1biBsdW9taW5lbiB0dWhvYWEgbGV2eW4gbnlreWlzZW4gc2lzw6RsbMO2bi5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIk1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jOmluIG11a2FhbiBuaW1pw7Zzc8OkIHNhYSBvbGxhIGtvcmtlaW50YWFuIDUxMiB0YXZ1YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVsZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGV2eSAlMSRzIChTR0ktbGV2eW5pbWnDtik6ICUyJGQgcMOkw6R0w6QsICUzJGxsdSBzZWt0b3JpYSwgJTQkZCBzeWxpbnRlcmnDpFxuIgorI34gIllrc2lrw7Z0ID0gJTYkZCAqICU3JGQgLXRhdnVpc2V0ICU1JHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gb3Npb3QgLS0tLS1cbiIKKyN+ICJPcyMgJSpzICBJbmZvICAgICBBbGt1ICAgICAgICBMb3BwdSBTZWt0b3JpdCBJZCAgSsOkcmplc3RlbG3DpFxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIEJvb3RpbmZvIC0tLS0tXG4iCisjfiAiQm9vdGZpbGU6ICVzXG4iCisjfiAiLS0tLS0gRGlyZWN0b3J5IEVudHJpZXMgLS0tLS1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIi0tLS0tIEvDpHlubmlzdHlzaW5mbyAtLS0tLVxuIgorI34gIkvDpHlubmlzdHlzdGllZG9zdG86ICVzXG4iCisjfiAiLS0tLS0gSGFrZW1pc3RvbWVya2lubsOkdCAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VrdG9yaSU1dSBrb2tvJTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiRWkgbcOkw6RyaXRlbHR5asOkIG9zaW9pdGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIGlzIG9ubHkgJWQgZGlza2Jsb2NrIGxhcmdlLFxuIgorI34gImJ1dCB0aGUgZGlzayBpcyAlZCBkaXNrYmxvY2tzIGxvbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLb2tvIGxldnluIG9zaW8gb24gdmFpbiAlZCBsZXZ5bG9oa29uIGtva29pbmVuLFxuIgorI34gIm11dHRhIGxldnkgb24gJWQgbGV2eWxvaGtvbiBrb2tvaW5lbi5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiT3Npb24gJWQgYWxrdSBlaSBvbGUgc3lsaW50ZXJpbiByYWphbGxhLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiT3Npb24gJWQgbG9wcHUgZWkgb2xlIHN5bGludGVyaW4gcmFqYWxsYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICJPc2lvICVkIG9uIGpvIG3DpMOkcml0ZWx0eS4gUG9pc3RhIHNlIGVubmVuIHV1ZGVsbGVlbiBsaXPDpMOkbWlzdMOkLlxuIgorCisjfiBtc2dpZCAiIExhc3QgJXMiCisjfiBtc2dzdHIgIiBWaWltZWluZW4gJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJCTEtHRVRTSVpFLWlvY3RsIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuXG4iCisjfiAiVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm9pdHVzOiBCTEtHRVRTSVpFLWlvY3RsIGVww6Rvbm5pc3R1aSBsYWl0dGVlbGxlICVzLiBLw6R5dGV0w6TDpG4gZ2VvbWV0cmlhblxuIgorI34gInN5bGludGVyaWFydm9hICVkLiBUw6Rtw6QgYXJ2byB2b2kgdHlwaXN0ecOkIGxhaXR0ZWlsbGEsIGpvdGthIG92YXQgc3V1cmVtcGlhXG4iCisjfiAia3VpbiAzMyw4IEd0LlxuIgorCisjfiBtc2dpZCAiSUQ9JTAyeFx0U1RBUlQ9JWRcdExFTkdUSD0lZFxuIgorI34gbXNnc3RyICJJRD0lMDJ4XHRBTEtVPSVkXHRQSVRVVVM9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgIllyaXRldMOkw6RuIHPDpGlseXR0w6TDpCBvc2lvbiAlZCBwYXJhbWV0cml0LlxuIgorCisjfiBtc2dpZCAiWUVTXG4iCisjfiBtc2dzdHIgIkpBQVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICJMYWl0dGVlbGxhICVzIGVpIG9sZSBsZXZ5bmltacO2dMOkLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVsbHUgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMZXZ5ICUxJHMgKFN1bi1sZXZ5bmltacO2KTogJTIkZCBww6TDpHTDpCwgJTMkbGx1IHNla3RvcmlhXG4iCisjfiAiJTQkZCBraWVycm9zdGEgbWludXV0aXNzYSwgJTUkZCBzeWxpbnRlcmnDpCwgJTYkZCB2YWlodG9laHRvaXN0YVxuIgorI34gInN5bGludGVyacOkLCAlNyRkIGZ5eXNpc3TDpCBzeWxpbnRlcmnDpCwgJTgkZCB5bGltw6TDpHLDpGlzdMOkIHNla3Qvc3lsXG4iCisjfiAibG9taXR1cyAlOSRkOjFcbiIKKyN+ICJOaW1pw7Z0dW5uaXN0ZTogJTEwJHNcbiIKKyN+ICJPc2lvdHVubmlzdGU6ICUxMSRzXG4iCisjfiAiWWtzaWvDtnQgPSAlMTMkZCAqIDUxMiAtdGF2dWlzZXQgJTEyJHNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxldnkgJTEkcyAoU3VuLWxldnluaW1pw7YpOiAlMiRkIHDDpMOkdMOkLCAlMyRsbHUgc2VrdG9yaWEsICU0JGQgc3lsaW50ZXJpw6RcbiIKKyN+ICJZa3Npa8O2dCA9ICU2JGQgKiA1MTIgLXRhdnVpc2V0ICU1JHNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBMaXBwdSAgIEFsa3UgICAgICAgIExvcHB1ICBMb2hrb3QgICBJZCAgSsOkcmplc3RlbG3DpFxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1BbiBsYWl0ZVx0IGFrdGl2b2kgb3NpbyBuLCBwb2lzdGEgbXVpZGVuIGFrdGl2b2ludGlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYWxtaXNcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiVmFsaXR0aWluIG9zaW8gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPG9oamVsbWE+IFthcmcuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICJraXJqb2l0dGFtaW5lbiBlcMOkb25uaXN0dWk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbiBub3QgZm9yazogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IGhhYXJhdXR0YW1pbmVuIGVpIG9ubmlzdHU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4vY3JlYXRlICVzOiAlbVxuIgorI34gbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJW1cbiIKKyN+IG1zZ3N0ciAidGllZG9zdG9uICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGFydm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBsaWl0b3MgZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworI34gbXNnaWQgImJ1ZyBpbiB4c3RybmR1cCBjYWxsIgorI34gbXNnc3RyICJvaGplbG1pc3RvdmlrYSB4c3RybmR1cC1rdXRzdXNzYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb25uZWN0ICVzIgorI34gbXNnc3RyICJuZnMgY29ubmVjdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworI34gbXNnaWQgInN0cnRvbCBlcnJvcjogbnVtYmVyIG9mIGJsb2NrcyBub3Qgc3BlY2lmaWVkIgorI34gbXNnc3RyICJzdHJ0b2wtdmlyaGU6IGxvaGtvamVuIG3DpMOkcsOkw6QgZWkgb2xlIGFubmV0dHUiCisKKyN+IG1zZ2lkICJvbmUgYmFkIHBhZ2VcbiIKKyN+IG1zZ3N0ciAieWtzaSB2aWFsbGluZW4gc2l2dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICBzICAgIG7DpHl0w6QgdMOkeWRlbGxpbmVuIGxldnluaW1pw7YiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZG9lcyBub3Qgc3VwcG9ydCBzd2Fwc3BhY2UgdmVyc2lvbiAlZC4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZTogdHVudGVtYXRvbiB2ZXJzaW8gJWRcbiIKKworI34gbXNnaWQgIldhcm5pbmchISAgVW5zdXBwb3J0ZWQgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQuIFVzZSBHTlUgUGFydGVkLiIKKyN+IG1zZ3N0ciAiVmFyb2l0dXMhISBIYXZhaXR0dSBlaS10dWV0dHUgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkuIEvDpHl0w6QgR05VIFBhcnRlZGlhLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgQUlYIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgTGludXggY2Fubm90IGhhbmRsZSB0aGVzZVxuIgorI34gIlx0ZGlza3MgYXQgdGhlIG1vbWVudC4gIE5ldmVydGhlbGVzcyBzb21lXG4iCisjfiAiXHRhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiAiXHQzLiBCZWZvcmUgZGVsZXRpbmcgdGhpcyBwaHlzaWNhbCB2b2x1bWUgYmUgc3VyZVxuIgorI34gIlx0ICAgdG8gcmVtb3ZlIHRoZSBkaXNrIGxvZ2ljYWxseSBmcm9tIHlvdXIgQUlYXG4iCisjfiAiXHQgICBtYWNoaW5lLiAgKE90aGVyd2lzZSB5b3UgYmVjb21lIGFuIEFJWHBlcnQpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0VMOkbGzDpCBsZXZ5bGzDpCBvbiBrZWx2b2xsaW5lbiBBSVgtbmltacO2LlxuIgorI34gIlx0VmFsaXRldHRhdmFzdGkgTGludXggZWkgdG9pc3RhaXNla3NpIG9zYWEgXG4iCisjfiAiXHRrw6RzaXRlbGzDpCB0w6RsbGFpc2lhIGxldnlqw6QuXG4iCisjfiAiXHRKb2l0YWtpbiBuZXV2b2phOlxuIgorI34gIlx0MS4gZmRpc2sgdHVob2FhIGxldnluIHRpZWRvdCBraXJqb2l0ZXR0YWVzc2EuXG4iCisjfiAiXHQyLiBWYXJtaXN0YSwgZXR0w6QgdMOkbcOkIGxldnkgRUkgb2xlIGVuw6TDpCBlbGludMOkcmtlw6RcbiIKKyN+ICJcdCAgIG9zYSBvc2lvcnlobcOkw6QuIChKb3Mgb24sIG11dXRraW4gbGV2eXQgc2FhdHRhdmF0XG4iCisjfiAiXHQgICB0eWhqZW50ecOkLCBlbGxlaSBuaWl0w6Qgb2xlIHBlaWxhdHR1LilcbiIKKyN+ICJcdDMuIFZhcm1pc3RhIGVubmVuIHTDpG3DpG4gZnl5c2lzZW4gb3Npb24gdHVob2FtaXN0YSxcbiIKKyN+ICJcdCAgIGV0dMOkIGxldnkgb24gbG9vZ2lzZXN0aSBwb2lzdGV0dHUgQUlYLWtvbmVlc3RhLlxuIgorI34gIlx0ICAgKE11dXNzYSB0YXBhdWtzZXNzYSBzaW51c3RhIHR1bGVlIEFJWHBlcnR0aSkuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgQUlYIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdFZhbGl0ZXR0YXZhc3RpIHTDpG3DpCBmZGlzayBlaSBvc2FhIGvDpHNpdGVsbMOkIEFJWC1sZXZ5bmltacO2aXTDpC5cbiIKKyN+ICJcdEpvcyBoYWx1YXQgbGlzw6R0w6QgRE9TLXR5eXBwaXNpw6Qgb3Npb2l0YSwgbHVvIGVuc2luXG4iCisjfiAiXHR1dXNpIERPUy1vc2lvdGF1bHUuIChLb21lbnRvIG8uKVxuIgorI34gIlx0VkFST0lUVVM6IFV1ZGVuIG9zaW90YXVsdW4gbHVvbWluZW4gdHVob2FhIGxldnluIG55a3lpc2VuIHNpc8OkbGzDtm4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJCU0QtbmltacO2IGxhaXR0ZWVsbGU6ICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW9sbGEgJWQgb24gdHloasOkIHR5eXBwaVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiT3Npb24gJWkgbG9wcHUgZWkgb2xlIHN5bGludGVyaW4gcmFqYWxsYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BULiBVc2UgR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZBUk9JVFVTOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBoYXZhaXR0dSBsYWl0dGVlbGxhIOKAnSVz4oCdISBGZGlzayBlaSB0dWUgR1BUOnTDpC4gS8OkeXTDpCBHTlUgUGFydGVkacOkLlxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vdGU6IHNlY3RvciBzaXplIGlzICVsZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJIdW9tOiBzZWt0b3Jpa29rbyBvbiAlZCAoZWkgJWQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgc2ZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFST0lUVVM6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGhhdmFpdHR1IGxhaXR0ZWVsbGEg4oCdJXPigJ0hIFNmZGlzayBlaSB0dWUgR1BUOnTDpC4gS8OkeXTDpCBHTlUgUGFydGVkacOkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiS8OkeXTDpCAtLWZvcmNlIC12YWxpdHNpbnRhIG9oaXR0YWFrc2VzaSB0w6Rtw6RuIHRhcmtpc3R1a3Nlbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAia8OkeW5uaXN0eXMgZXDDpG9ubmlzdHVpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICJzaWlydHltaW5lbiBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIlRJT0NTQ1RUWSBlcMOkb25uaXN0dWk6ICVtIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsrZm9ybWF0XSBbZGF5IG1vbnRoIHllYXJdXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiAlcyBbK211b3RvXSBbcMOkaXbDpCBrdXVrYXVzaSB2dW9zaV1cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIlN0LiBUaWIncyBEYXkiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiAlcyBbIC1zIHNpZ25hYWxpIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2lnbmFhbGkgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgInZpcmhlZWxsaW5lbiB2YWxpdHNpbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIGxhaXRlIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJNdWlzdGlhIGVpIHZvaXR1IGx1a2l0YSwgcG9pc3R1dGFhbi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBhcmd1bWVudCB0byAtcCBvciAtLXBhc3MtZmQgbXVzdCBiZSBhIG51bWJlciIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ3VtZW50aW4gdmFsaXRzaW1lbGxlIC1wIHRhaSAtLXBhc3MtZmQgb24gb2x0YXZhIGx1a3UiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3V0aW5nICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAia8OkeW5uaXN0eXMgZXDDpG9ubmlzdHVpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGvDpHl0dMOkasOkLWlkOnTDpCBlaSB2b2kgYXNldHRhYTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgd2lwZWZzKDgpLlxuIgorCisjfiBtc2dpZCAibWF4IHNlZyBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgInNlZ21lbnRpbiBlbmltbcOkaXNrb2tvIChrdGF2dWEpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJzZWdtZW50aW4gdsOkaGltbcOkaXNrb2tvICh0YXZ1YSkgPSAlbHVcbiIKKworI34gbXNnaWQgInNobWN0bCBmYWlsZWQiCisjfiBtc2dzdHIgInNobWN0bCBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorI34gbXNnc3RyICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgInNpdnV0dXNsYWl0dGVlbGxhIGVpIHZvaSBzaWlydHnDpCB0YWFrc2Vww6RpbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJNdWlzdGlhIGVpIHZvaXR1IGx1a2l0YSwgcG9pc3R1dGFhbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgInNpdnV0dXNsYWl0dGVlbGxhIGVpIHZvaSBzaWlydHnDpCB0YWFrc2Vww6RpbiIKKworI34gbXNnaWQgInJlbmljZSBmcm9tICVzXG4iCisjfiBtc2dzdHIgInJlbmljZSDigJMgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBlaSBvbm5pc3R1bnV0IGx1a2VtYWFuIGFpa2FhIGtvaHRlZXN0YSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJrw6R5bm5pc3R5cyBlcMOkb25uaXN0dWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImvDpHlubmlzdHlzIGVww6Rvbm5pc3R1aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiVzOiB2ZXJzaW8gJXNcbiIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJrw6R5dHTDpGrDpMOkIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJsaWlhbiBtb250YSBpb3Y6dMOkIChtdXV0YSBrb29kaWEgdGllZG9zdG9zc2Egd2FsbC90dHltc2cuYykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3IuIgorI34gbXNnc3RyICJjb2w6IGtpcmpvaXR1c3ZpcmhlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgaXBjbWsoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgImxhaXR0ZWVuICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJUaWVkb3N0b2EgJXMgZWkgdm9pdHUgYXZhdGFcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAibGFpdHRlZW4gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJUaWVkb3N0b2Eg4oCdJXPigJ0gZWkgdm9pIGF2YXRhIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZGlzayBoYXMgYm90aCBET1MgYW5kIEJTRCBtYWdpYy5cbiIKKyN+ICJHaXZlIHRoZSAnYicgY29tbWFuZCB0byBnbyB0byBCU0QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlTDpGxsw6QgbGV2eWxsw6Qgb24gc2Vrw6QgRE9TLSwgZXR0w6QgQlNELXRhaWthdGF2dXQuXG4iCisjfiAiU2lpcnJ5IEJTRC10aWxhYW4g4oCdYuKAnS1rb21lbm5vbGxhLlxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgImxhaXRldHRhICVzIGVpIHZvaSBhdmF0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiB0aWVkb3N0b2EgJXMgZWkgdm9pIGF2YXRhXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIlRpZWRvc3RvYSAlcyBlaSB2b2kgYXZhdGEgbHVrdWEgdmFydGVuLCBwb2lzdHV0YWFuLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZnN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlcyBlcMOkb25uaXN0dWkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gL2Rldi9wb3J0IgorI34gbXNnc3RyICJFaSB2b2kgYXZhdGEgbGFpdGV0dGEgL2Rldi9wb3J0OiAlcyIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJUaWVkb3N0b24gJXMgYXZhYW1pbmVuIGVww6Rvbm5pc3R1aSIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNvdXJjZSBidWZmZXIiCisjfiBtc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAidGllZG9zdG9uICVzIHRpbGFhIGVpIHZvaSBsdWtlYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiB0aW1pbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiVGllZG9zdG9hIOKAnSVz4oCdIGVpIHZvaSBhdmF0YSIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiRWkgdm9pIGF2YXRhICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHJlYWQiCisjfiBtc2dzdHIgIlRpZWRvc3RvYSDigJ0lc+KAnSBlaSB2b2kgYXZhdGEgbHVrdWEgdmFydGVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJsYWl0dGVlbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJrw6R5dHTDtjogJXMgWy1odl0gWy14IGhha10gdGllZG9zdG9cbiIKKyN+ICIgLWggICAgICAgICBuw6R5dMOkIHTDpG3DpCBvaGplXG4iCisjfiAiIC14IGhhayAgICAgcHVyYSBoYWtlbWlzdG9vbiBoYWtcbiIKKyN+ICIgLXYgICAgICAgICBtb25pc2FuYWlzdXVzXG4iCisjfiAiIHRpZWRvc3RvICAgdGFya2lzdGV0dGF2YSB0aWVkb3N0b1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbLWxhcnZzbWZdIC9kZXYvbmltaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgIiVzOiB2aXJoZTogZWkgeXJpdGV0w6QgbHVvZGEgc2l2dXR1c2xhaXRldHRhIGtvaHRlZXNlZW4g4oCdJXPigJ1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAibGFpdHRlZW4gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gPHRpZWRvc3RvbmltaT5cbiIKKyN+ICJcbiIKKyN+ICJWYWxpdHNpbWV0OlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSB3aXBlZnMoOCkuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIk9zaW9uICVpIGFsa3UgZWkgb2xlIHN5bGludGVyaW4gcmFqYWxsYTpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJwaXTDpMOkIG9sbGEgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAicGl0w6TDpCBvbGxhICglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiVGhpcyBrZXJuZWwgZmluZHMgdGhlIHNlY3RvciBzaXplIGl0c2VsZiAtIC1iIG9wdGlvbiBpZ25vcmVkXG4iCisjfiBtc2dzdHIgIlTDpG3DpCB5ZGluIGzDtnl0w6TDpCBzZWt0b3JpbiBrb29uIGl0c2Ug4oCTIC1iLXZhbGl0c2ludGEgZWkgaHVvbWlvaWRhXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJtdWlzdGkgbG9wdXNzYT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlzazogZW5uZW5haWthaW5lbiBzecO2dHRlZW4gbG9wcHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJWQVJPSVRVUzogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSBzcGVjaWZpZWQgbXVsdGlwbGUgZnVuY3Rpb25zLlxuIgorI34gIllvdSBjYW4gb25seSBwZXJmb3JtIG9uZSBmdW5jdGlvbiBhdCBhIHRpbWUuIgorI34gbXNnc3RyICIiCisjfiAiTW9udGEgdG9pbWludG9hIG3DpMOkcml0ZWx0eS5cbiIKKyN+ICJWYWluIHlrc2kgdG9pbWludG8gdm9pZGFhbiBzdW9yaXR0YWEga2VycmFsbGFhbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBWYWxpdHNpbWV0IC0tdXRjIGphIC0tbG9jYWx0aW1lIG92YXQgdG9pc2Vuc2EgcG9pc3N1bGtldmF0LiBBbm5vaXQgbW9sZW1tYXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogVmFsaXRzaW1ldCAtLWFkanVzdCBqYSAtLW5vYWRqZmlsZSBvdmF0IHRvaXNlbnNhIHBvaXNzdWxrZXZhdC4gS8OkeXRpdCBtb2xlbXBpYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGpmaWxlIGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogVmFsaXRzaW1ldCAtLWFkamZpbGUgamEgLS1ub2FkamZpbGUgb3ZhdCB0b2lzZW5zYSBwb2lzc3Vsa2V2YXQuIEvDpHl0aXQgbW9sZW1waWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHJ5aG3DpC1pZDp0w6Qgdm9pIGFzZXR0YWE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpIgorI34gbXNnc3RyICIlczogdGllZG9zdG8gJXMgb24gdmFyYXR0dSAoJXMgb24gb2xlbWFzc2EpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2lndmFsIgorI34gbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSB3aXBlZnMoOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBhc2V0ZXR0dSBhcnZvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byByZWFkIG10YWIiCisjfiBtc2dzdHIgInRpZWRvc3RvbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgIiVzOiBhdmFhbWluZW4gZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZhbGxvY2F0ZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgZmFsbG9jYXRlKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnN0cmltKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICJ2aXJoZWVsbGluZW4gbm9wZXVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIGFzZXRldHR1IGFydm86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBzaXplICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJWaXJoZWVsbGluZW4gYXNldGV0dHUgYXJ2bzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIGlwY21rKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBQSUQiCisjfiBtc2dzdHIgImxhaXRldHRhICVzIGVpIHZvaSBhdmF0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2Vjb25kcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVfdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiJXM6IGF2YWFtaW5lbiBlcMOkb25uaXN0dWk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2JsaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgd2lwZWZzKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50ICVsdSBpcyB0b28gbGFyZ2UiCisjfiBtc2dzdHIgImxpaWFuIHBpdGvDpCAtLWRhdGUtYXJndW1lbnR0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRlcm1pbmFsIGVudmlyb25tZW50IENPTFVNTlMgZmFpbGVkIgorI34gbXNnc3RyICJ2YXJhdHR1amEgc2VtYWZvcmVqYSA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdmlyaGVlbGxpbmVuIHBpdHV1c2Fydm8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHNraXAgdmFsdWUiCisjfiBtc2dzdHIgImhleGR1bXA6IHZpcmhlZWxsaW5lbiBvaGl0dXNhcnZvLlxuIgorCisjfiBtc2dpZCAiJXM6IFVzYWdlOiAlcyBbLW51bWJlcl0gWy1wIHN0cmluZ10gWy1jZWZucnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKKyN+IG1zZ3N0ciAiJXM6IEvDpHl0dMO2OiAlcyBbLW51bWJlcl0gWy1wIG1lcmtraWpvbm9dIFstY2VmbnJzXSBbK3JpdmldIFsrL2hhaG1vL10gW3RpZWRvc3RvdF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJWQ6IHBhcnNlIGVycm9yIC0tIGxpbmUgaWdub3JlZC5cbiIKKyN+IG1zZ3N0ciAic2lpcnR5bWlzdmlyaGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHBhcnNlICVzIgorI34gbXNnc3RyICIlczogYXZhYW1pbmVuIGVww6Rvbm5pc3R1aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJoYWFyYXV0dGFtaW5lbiBlcMOkb25uaXN0dWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgIiVzIGVww6Rvbm5pc3R1aS5cbiIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAgIHBvaXN0YSBCU0Qtb3NpbyIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgICBsaXPDpMOkIHV1c2kgQlNELW9zaW8iCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgICB2YWloZGEgb3Npb24gdGllZG9zdG9qw6RyamVzdGVsbcOkLWlkOnTDpCIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgICB2YWloZGEgeWtzaWvDtnQgKHN5bGludGVyaXQvc2VrdG9yaXQpIgorCisjfiBtc2dpZCAiICAgcCAgIHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgIHAgICAgbsOkeXTDpCBvc2lvdGF1bHUiCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJNdW9kb3N0ZXRhYW4gdXVzaSBET1MtbGV2eW5pbWnDtiwgdHVubmlzdGUgMHglMDh4LlxuIgorI34gIk11dXRva3NldCBwaWRldMOkw6RuIHZhaW4ga8OkeXR0w7ZtdWlzdGlzc2EsIGt1bm5lcyBww6TDpHTDpHQga2lyam9pdHRhYSBuZVxuIgorI34gImxldnlsbGUuIFNlbiBqw6Rsa2VlbiBlZGVsbGlzdMOkIHNpc8OkbHTDtsOkIGVpIHRpZXRlbmvDpMOkbiB2b2lkYSBlbsOkw6RcbiIKKyN+ICJwYWxhdXR0YWEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIkxhaXR0ZWVsbGEgZWkgb2xlIGtlbHZvbGxpc3RhIERPUy0sIFN1bi0sIFNHSS0gZWlrw6QgT1NGLWxldnluaW1pw7Z0w6RcbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIlNpc8OkaW5lbiB2aXJoZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRWYWxpdGV0dGF2YXN0aSBTR0ktb3Npb3RhdWx1aWxsZSBlaSBvbGUgYXNpYW50dW50aWphdmFsaWtrb2EuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEbyBZb3Uga25vdywgWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrP1xuIgorI34gbXNnc3RyICJUaWVkw6R0a8O2LCBldHTDpCBsZXZ5bGzDpCBvbiBww6TDpGxsZWtrw6Rpc2nDpCBvc2lvaXRhP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJNdW9kb3N0ZXRhYW4gdXVzaSBTR0ktbGV2eW5pbWnDti4gTXV1dG9rc2V0IHRlaGTDpMOkbiB2YWluIGvDpHl0dMO2bXVpc3RpaW4sXG4iCisjfiAia3VubmVzIHDDpMOkdMOkdCBraXJqb2l0dGFhIG5lIGxldnlsbGUuIFNlbiBqw6Rsa2VlbiBlZGVsbGlzdMOkIHNpc8OkbHTDtsOkIGVpXG4iCisjfiAidGlldGVua8Okw6RuIHZvaWRhIHBhbGF1dHRhYS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAibXVpc3RpIGxvcHVzc2Eg4oCTIGx1b3Z1dGV0YWFuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgaXBjbWsoMSkuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAibG9naW46IG11aXN0aSB2w6RoaXNzw6QsIGtpcmphdXR1bWluZW4gdm9pIGVww6Rvbm5pc3R1YVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciB0dHljbGFzcyIKKyN+IG1zZ3N0ciAia29odGVlbGxlIHR0eWNsYXNzIGVpIHZvaSB2YXJhdGEgbXVpc3RpYSIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgZ3JwbGlzdCIKKyN+IG1zZ3N0ciAia29odGVlbGxlIGdycGxpc3QgZWkgdm9pIHZhcmF0YSBtdWlzdGlhIgorCisjfiBtc2dpZCAiTG9naW4gb24gJXMgZnJvbSAlcyBkZW5pZWQuXG4iCisjfiBtc2dzdHIgIktpcmphdXR1bWluZW4gcMOkw6R0dGVlbGxlICVzIG9zb2l0dGVlc3RhICVzIGV2w6R0dHkuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFsgLWYga29rb25pbWkgXSBbIC1vIHRvaW1pc3RvIF0gIgorCisjfiBtc2dpZCAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorI34gbXNnc3RyICIlczogUEFNLXZpcmhlLCBrZXNrZXl0ZXTDpMOkbjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1zIHNoZWxsXSBbdXNlcm5hbWVdXG4iCisjfiAiICAgb3I6ICUxJHMgKC0tbGlzdC1zaGVsbHMgfCAtLWhlbHAgfCAtLXZlcnNpb24pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6R5dHTDtjogJXMgWyAtcyBrdW9yaSBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIGvDpHl0dMOkasOkdHVubnVzIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogdmFpbiBwYWlrYWxsaXNpYSBtZXJraW50w7Zqw6Qgdm9pIG11dXR0YWE7IGvDpHl0w6Qgc2VuIHNpamFhbiBrb21lbnRvYSB5cCVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IFRpZWRvc3RvbiAvZXRjL3Bhc3N3ZCBvbGV0dXN5bXDDpHJpc3TDtsOkIGVpIHZvaSBhc2V0dGFhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHB3bmFtIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIgorCisjfiBtc2dpZCAiJXM6IFVzZSAtbCBvcHRpb24gdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIiVzOiBWYWxpdHNpbiAtbCBuw6R5dHTDpMOkIGxpc3Rhbi5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dpbiBbLWZwXSBbdXNlcm5hbWVdXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiBsb2dpbiBbLWZwXSBba8OkeXR0w6Rqw6RuaW1pXVxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiVmlyaGVlbGxpbmVuIGvDpHl0dMOkasOkbmltaSIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIkvDhFlUVMOESsOETiAlcyBLSVJKQVVUVU1JTkVOIEhZTMOEVFRJSU4gT1NPSVRURUVTVEEgJXMsIFDDhMOEVFRFRUxMw4QgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiS8OEWVRUw4RKw4ROICVzIEtJUkpBVVRVTUlORU4gSFlMw4RUVElJTiBQw4TDhFRURUVMTMOEICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBraXJqYXV0dW1pbmVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2hhbmdlIHRlcm1pbmFsIG93bmVyIGZhaWxlZCIKKyN+IG1zZ3N0ciAidmFyYXR0dWphIHNlbWFmb3JlamEgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWx1cmUgZm9ya2luZyIKKyN+IG1zZ3N0ciAibG9naW46IHZpcmhlIGhhYXJhdXRldHRhZXNzYTogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW46ICIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzLCBraXJqYXV0dW1pbmVuOiAiCisKKyN+IG1zZ2lkICJOQU1FIHRvbyBsb25nIgorI34gbXNnc3RyICJOSU1JIGxpaWFuIHBpdGvDpCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuIgorI34gbXNnc3RyICJ0dW5udXMgYWl2YW4gbGlpYW4gcGl0a8OkLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuIgorI34gbXNnc3RyICJ0dW5udWtzZXQgZWl2w6R0IHZvaSBhbGthYSBtZXJraWxsw6Qg4oCdLeKAnS5cbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIkxJSUtBQSByaXZpbnZhaWh0b2phIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGJhcmUgbGluZWZlZWRzLiIKKyN+IG1zZ3N0ciAibGlpYW4gbW9udGEgcGVyw6Rra8OkaXN0w6Qgcml2aW52YWlodG9hLlxuIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiRVDDhE9OTklTVFVOVVQgS0lSSkFVVFVNSU5FTiBPU09JVFRFRVNUQSAlcywgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiRVDDhE9OTklTVFVOVVQgS0lSSkFVVFVNSU5FTiBQw4TDhFRURUVMVMOEICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBFUMOET05OSVNUVU5VVFRBIEtJUkpBVVRVTUlTVEEgT1NPSVRURUVTVEEgJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCBFUMOET05OSVNUVU5VVFRBIEtJUkpBVVRVTUlTVEEgUMOEw4RUVEVFTFTDhCAlcywgJXMiCisKKyN+IG1zZ2lkICIlczogdGhlIGdyb3VwIGZpbGUgaXMgYnVzeS5cbiIKKyN+IG1zZ3N0ciAiJXM6IHJ5aG3DpHRpZWRvc3RvIG9uIHZhcmF0dHUuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgdW5sb2NrICVzOiAlcyAoeW91ciBjaGFuZ2VzIGFyZSBzdGlsbCBpbiAlcylcbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZWRvc3RvbiAlcyBsdWtpdHVzdGEgZWkgdm9pIHBvaXN0YWE6ICVzIChtdXV0b2tzZXNpIG92YXQgZWRlbGxlZW4gdGllZG9zdG9zc2EgJXMpXG4iCisKKyN+IG1zZ2lkICJjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJjYWxsb2MgZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6ICVzOiBhcHBlYXJzIHRvIGNvbnRhaW4gJyVzJyBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkxldnkgJXMgZWkgc2lzw6RsbMOkIGtlbHZvbGxpc3RhIG9zaW90YXVsdWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZmFpbGVkIgorI34gbXNnc3RyICJvcGVucHR5IGVww6Rvbm5pc3R1aVxuIgorCisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXM6IC9kZXYtaGFrZW1pc3RvYSBlaSBvbGUgb2xlbWFzc2EuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IGxhaXR0ZWVuICVzIHRpZXRvamEgZWkgdm9pIGhha2VhOiAlc1xuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIHNpaXJ0eW3DpCAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsIHNhbGF1c3R5eXBwaSAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBsYWl0dGVlbiAlcyB0aWV0b2phIGVpIHZvaSBoYWtlYTogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBsYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IGVpIG9pa2V1a3NpYSBsYWl0dGVlc2VlbiAvZGV2L2xvb3AjIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBFaSBsw7Z5dHlueXQgeWh0w6TDpG4gbG9vcC1sYWl0ZXR0YS4gRWhrw6QgdMOkbcOkIHlkaW4gZWkgb2xlIHRpZXRvaW5lblxuIgorI34gIiAgICAgICBsb29wLWxhaXR0ZWlzdGE/XG4iCisjfiAiICAgICAgIChKb3MgbsOkaW4gb24sIGvDpMOkbm7DpCB1dWRlbGxlZW4gdGFpIHN1b3JpdGEg4oCdbW9kcHJvYmUgbG9vcOKAnS4pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hpbGUgcmVhZGluZyBwYXNzcGhyYXNlIgorI34gbXNnc3RyICJNdWlzdGkgbG9wcHVpIGthc3ZhdGV0dGFlc3NhIHB1c2t1cmlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIlNla3RvcmkgJWQgb24gam8gdmFyYXR0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgb24ga2lyam9pdHVzc3VvamF0dHUsIGxpaXRldMOkw6RuIHZhaW4gbHVrdSAtdGlsYXNzYSIKKworI34gbXNnaWQgImlvY3RsIExPT1BfU0VUX0ZEIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiaW9jdGwgTE9PUF9TRVRfRkQgZXDDpG9ubmlzdHVpOiAlc1xuIgorCisjfiBtc2dpZCAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBvbm5pc3R1aVxuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogb25uaXN0dWlcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IGxhaXRldHRhICVzIGVpIHZvaSBwb2lzdGFhOiAlc1xuIgorCisjfiBtc2dpZCAiVGhpcyBtb3VudCB3YXMgY29tcGlsZWQgd2l0aG91dCBsb29wIHN1cHBvcnQuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIlTDpG3DpCBtb3VudCBvbiBrw6TDpG5uZXR0eSBpbG1hbiBsb29wLXR1a2VhLiBLw6TDpG5uw6QgdXVkZWxsZWVuLlxuIgorCisjfiBtc2dpZCAiTm8gbG9vcCBzdXBwb3J0IHdhcyBhdmFpbGFibGUgYXQgY29tcGlsZSB0aW1lLiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJMb29wLXR1a2VhIGVpIG9sbHV0IGvDpMOkbm7DtmtzZW4gYWlrYW5hLiBLw6TDpG5uw6QgdXVkZWxsZWVuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJMaXPDpHRpZXRvamEgbWFudWFhbGlzaXZ1bGxhIG5hbWVpKDEpLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbLXEgWy1pIHbDpGxpXV0gKFstcyBhcnZvXXxbLVMgYXJ2b10pIChbLXQgYXJ2b118Wy1UIGFydm9dKSBbLWd8LUddIHRpZWRvc3RvIFt0aWVkb3N0by4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkxhaXRldHRhICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBhcnZvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJoYWFyYXV0dGFtaW5lbiBlcMOkb25uaXN0dWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBpcGNtaygxKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAia8OkeXR0w7Y6ICVzIFsgWy1xIHZzdGpuby1pZF0gWy1tIGptdWlzdGktaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgIiVzOiBUdW50ZW1hdG9uIHZpcmhlIHRpZWRvc3Rvc3NhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBpZCIKKyN+IG1zZ3N0ciAiJXM6IFR1bnRlbWF0b24gdmlyaGUgdGllZG9zdG9zc2EgJXNcbiIKKworI34gbXNnaWQgIiVzOiAlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgImxkYXR0YWNoIOKAkyAlc1xuIgorCisjIGMtZm9ybWF0CisjfiBtc2dpZCAiIgorI34gIiVzOiBVc2FnZTogXCIlcyBbb3B0aW9uc11cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorI34gIlx0IC12ICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCisjfiAiXHQgLXMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorI34gIlx0IC1WICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEvDpHl0dMO2OiDigJ0lcyBbdmFsaXRzaW1ldF1cbiIKKyN+ICJcdCAtbSA8a2FydHRhdGllZD4gKG9sZXR1a3NldDog4oCdJXPigJ0gamFcbiIKKyN+ICJcdFx0XHRcdCAgICDigJ0lc+KAnSlcbiIKKyN+ICJcdCAtcCA8cHJvZmlpbGk+ICAgKG9sZXR1czog4oCdJXPigJ0pXG4iCisjfiAiXHQgLU0gPGtlcnI+ICAgICAgIGFzZXR0YWEgcHJvZmlsb2ludGlrZXJ0b2ltZWtzaSA8a2Vycj5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgICAgbsOkeXR0w6TDpCB2YWluIHRpZWRvbiDigJ1zYW1wbGluZyBzdGVw4oCdOmlzdMOkXG4iCisjfiAiXHQgLXYgICAgICAgICAgICAgIG1vbmlzYW5haXN1dXNcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgICAgbsOkeXR0w6TDpCBrYWlra2kgc3ltYm9saXQsIHZhaWtrYSBtw6TDpHLDpCBvbGlzaSAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICAgIG7DpHl0dMOkw6QgeWtzaXR0w6Rpc2V0IOKAnWhpc3RvZ3JhbS1iaW7igJ0tbcOkw6Ryw6R0XG4iCisjfiAiXHQgLXMgICAgICAgICAgICAgIG7DpHl0dMOkw6QgeWtzaXR0w6Rpc2V0IGxhc2t1cml0IGZ1bmt0aW9pc3NhXG4iCisjfiAiXHQgLXIgICAgICAgICAgICAgIG5vbGxhYSBrYWlra2kgbGFza3VyaXQgKHZhaW4gcMOkw6Rrw6R5dHTDpGrDpGxsZSlcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgICAgcG9pc3RhYSBrw6R5dMO2c3TDpCB0YXZ1asOkcmplc3R5a3NlbiBhdXRvbWFhdHRpdHVubmlzdHVrc2VuXG4iCisjfiAiXHQgLVYgICAgICAgICAgICAgIG7DpHl0dMOkw6QgdmVyc2lvbiBqYSBwb2lzdHV1XG4iCisKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAicmVhZHByb2ZpbGU6IHZpcmhlIGtpcmpvaXRldHRhZXNzYSB0aWVkb3N0b2EgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBydGN3YWtlKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBuYW1laSgxKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc2V0YXJjaCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxpc8OkdGlldG9qYSBtYW51YWFsaXNpdnVsbGEgc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJLb21lbnRvIOKAnSVzIC0taGVscOKAnSBhbnRhYSBsaXPDpMOkIHRpZXRvYS5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogJXMgb2hqZWxtYSBbIGFyZyAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiS8OkeXR0w7Y6ICVzIDxsYWl0ZT4gWyAtaSA8SVJRPiB8IC10IDxBSUtBPiB8IC1jIDxNRVJLSVQ+IHwgLXcgPE9ET1RVUz4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gYXJ2b1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB1bnNoYXJlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSB1bnNoYXJlKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNsb3NpbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlZpcmhlIHN1bGpldHRhZXNzYSB0aWVkb3N0b2FcbiIKKworI34gbXNnaWQgIlNvcnJ5IFlvdSBtYXkgY2hhbmdlIHRoZSBUYWcgb2Ygbm9uLWVtcHR5IHBhcnRpdGlvbnMuXG4iCisjfiBtc2dzdHIgIlZhbGl0ZXR0YXZhc3RpIHZhaW4gZWktdHloamllbiBvc2lvaWRlbiBsaXBwdWEgdm9pIG11dXR0YWEuXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgIgorI34gbXNnc3RyICJWYXJvaXR1czogb3NpbyAlcyAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiVmFyb2l0dXM6IG9zaW90ICVzICIKKworI34gbXNnaWQgImFuZCAlcyBvdmVybGFwXG4iCisjfiBtc2dzdHIgImphICVzIG92YXQgcMOkw6RsbGVra8OkaXNldFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzIFtvcHRpb25zXSBkZXZpY2UgWy4uLl1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEZXZpY2UgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGFcbiIKKyN+IG1zZ3N0ciAibGFpdGU6IGVzaW1lcmtpa3NpIC9kZXYvaGRhIHRhaSAvZGV2L3NkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdHldIFstZF0gWy12XSBbLWZdIDxzcGVjaWFsPiAgZW5hYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgdXNhZ2Ugc3VtbWFyeVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS8OkeXR0w7Y6XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdICAgICAgICAgICAgICAgICAgb3RhIGvDpHl0dMO2w7ZuIGthaWtraSAvZXRjL2ZzdGFiaW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l2dXR1c2FsdWVldFxuIgorI34gIiAlMSRzIFstcCBwcmlvcml0Ll0gWy12XSA8cG9sa3U+ICAgIG90YSBrw6R5dHTDtsO2biBhbm5ldHR1IHNpdnV0dXNhbHVlXG4iCisjfiAiICUxJHMgLXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgbsOkeXTDpCB5aHRlZW52ZXRvIHNpdnV0dXNrw6R5dMO2c3TDpFxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIG7DpHl0w6Qgb2hqZVxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIG7DpHl0w6QgdmVyc2lvXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy12XSAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2Fwc1xuIgorI34gIiAlMSRzIFstdl0gPHNwZWNpYWw+ICAgICAgICAgICAgICAgZGlzYWJsZSBnaXZlbiBzd2FwXG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGhlbHBcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS8OkeXR0w7Y6XG4iCisjfiAiICUxJHMgLWEgWy12XSAgICAgICAgICAgICAgICAgICAgICBwb2lzdGEga8OkeXTDtnN0w6Qga2Fpa2tpIHNpdnV0dXNhbHVlZXRcbiIKKyN+ICIgJTEkcyBbLXZdIDxwb2xrdT4gICAgICAgICAgICAgICBwb2lzdGEga8OkeXTDtnN0w6QgYW5uZXR0dSBzaXZ1dHVzYWx1ZVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgbsOkeXTDpCBvaGplXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICBuw6R5dMOkIHZlcnNpb1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdIDx0aWVkb3N0b25pbWk+XG4iCisjfiAiXG4iCisjfiAiVmFsaXRzaW1ldDpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLw6R5dHTDtjogJXMgW3ZhbGl0c2ltZXRdXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSA8dGllZG9zdG9uaW1pPlxuIgorI34gIlxuIgorI34gIlZhbGl0c2ltZXQ6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiAlcyBbdmFsaXRzaW1ldF0gbGFpdGUgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAlcyAtVlxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWtcbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW2xhaXR0ZWV0XVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIGtvbWVubm90IGxhaXR0ZWV0XG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZWRvc3RvYSAlcyBlaSB2b2kgYXZhdGFcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiAlcyBbIC1uIF0gbGFpdGVcbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZSB2YWxpdHNpbWllbiBqw6RzZW5ueWtzZXNzw6RcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgWy14XSBbLWQgPG5ybz5dIGlzbzk2NjAtdmVkb3NcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6R5dHTDtjogJXMgWy12XSBbLU4gaS1zb2xtdW3DpMOkcsOkXSBbLVYgb3Npb25pbWldXG4iCisjfiAiICAgICAgIFstRiB0aWVkLmrDpHJqLm5pbWldIGxhaXRlIFtsb2hrb23DpMOkcsOkXVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgInRpZWRvc3RvbiAlcyB0aWxhYSBlaSB2b2kgbHVrZWEiCisKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAibGFpdHRlZW4gJXMgc2VrdG9yaWtva29hIGVpIHZvaWRhIHDDpMOkdGVsbMOkIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFstY10gWy1wU0lWVUtPS09dIFstTCBuaW1pw7ZdIFstVSBVVUlEXSAvZGV2L25pbWkgW2xvaGtvdF1cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIk11aXN0aSBsb3B1c3NhIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgIgorI34gbXNnc3RyICIiCisjfiAiS8OkeXR0w7Y6XG4iCisjfiAiICAlcyAiCisKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJWYWxpa2tvIGlsbWFuIHN1dW50YWEuIEvDpHl0ZXTDpMOkbiBvbGV0dWtzZW5hIHZhYWthc3V1bnRhYS4iCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiS29tZW50byAgbWVya2l0eXNcbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICAgZW5zacO2b3NpbyAoMS00KVxuIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFt0YWkgLS1zaG93LXNpemVdOiBuw6R5dMOkIG9zaW9uIGtva28iCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAgIC1kIFt0YWkgLS1kdW1wXTogICAgIHNhbWEga3VpbiBlZGVsbMOkLCBtdW90byBzb3BpdmEgc3nDtnR0ZWVrc2kiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFt0YWkgLS1pbmNyZW1lbnRdOm51bWVyb2kgc3lsaW50ZXJpdCwgeW0uIGFsa2FlbiAxOnN0w6QsIGVpIDA6c3RhIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAga8OkeXTDpCB5a3Npa2vDtmluw6Qgc2VrdG9yZWl0YS9sb2hrb2phL3N5bGludGVyZWl0w6QvTXQiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EIFt0YWkgLS1ET1NdOiAgICAgIERPUy15aHRlZW5zb3BpdnV1dHRhIHZhcnRlbjsgdHVobGFhIHbDpGjDpG4gdGlsYWEiCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SIFt0YWkgLS1yZS1yZWFkXTogIGvDpHNrZSB5dGltZW4gbHVrZWEgb3Npb3RhdWx1IHV1ZGVsbGVlbiIKKworI34gbXNnaWQgIiAgICAtTyBmaWxlIDogICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byBmaWxlIgorI34gbXNnc3RyICIgICAgLU8gdGllZG9zdG8gOiAgICAgICAgdGFsbGVubmEgeWxpa2lyam9pdGV0dGF2YXQgc2VrdG9yaSB0aWVkb3N0b29uIgorCisjfiBtc2dpZCAiICAgIC1JIGZpbGUgOiAgICAgICAgICAgIHJlc3RvcmUgdGhlc2Ugc2VjdG9ycyBhZ2FpbiIKKyN+IG1zZ3N0ciAiICAgIC1JIHRpZWRvc3RvIDogICAgICAgIHBhbGF1dGEgbsOkbcOkIHNla3Rvcml0IgorCisjfiBtc2dpZCAiICAgIC12IFtvciAtLXZlcnNpb25dOiAgIHByaW50IHZlcnNpb24iCisjfiBtc2dzdHIgIiAgICAtdiBbdGFpIC0tdmVyc2lvbl06ICBuw6R5dMOkIHZlcnNpbyIKKworI34gbXNnaWQgIiAgICAtPyBbb3IgLS1oZWxwXTogICAgICBwcmludCB0aGlzIG1lc3NhZ2UiCisjfiBtc2dzdHIgIiAgICAtPyBbdGFpIC0taGVscF06ICAgICBuw6R5dMOkIHTDpG3DpCB2aWVzdGkiCisKKyN+IG1zZ2lkICIgICAgLWcgW29yIC0tc2hvdy1nZW9tZXRyeV06IHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiICAgIC1nIFt0YWkgLS1zaG93LWdlb21ldHJ5XTogbsOkeXTDpCB5dGltZW4ga8Okc2l0eXMgZ2VvbWV0cmlhc3RhIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAgIC1MICBbdGFpIC0tTGludXhdOiAgICAgw6Rsw6QgaHVvbWF1dGEgTGludXhpc3NhIG1lcmtpdHlrc2V0dMO2bWlzdMOkIGFzaW9pc3RhIgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiICAgIFZvaXQgb2hpdHRhYSB0dW5uaXN0ZXR1biBnZW9tZXRyaWFuIGvDpHl0dMOkbcOkbGzDpDoiCisKKyN+IG1zZ2lkICIgICAgLWYgIFtvciAtLWZvcmNlXTogICAgICBkbyB3aGF0IEkgc2F5LCBldmVuIGlmIGl0IGlzIHN0dXBpZCIKKyN+IG1zZ3N0ciAiICAgIC1mICBbdGFpIC0tZm9yY2VdOiAgICAgdGVlIG1pdMOkIGvDpHNrZW4sIHZhaWtrYSBzZSBvbGlzaSB0eWhtw6TDpCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZWRvc3RvasOkcmplc3RlbG3DpG4gdHl5cHBpIG9uIGFubmV0dGF2YSIKKworI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IHRpZWQuasOkcmouIHR5eXBwaV0gW3RpZWQuasOkcmoudmFsaXRzaW1ldF0gW3RpZWQuasOkcmouIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJMYWl0ZXR0YSAlcyBlaSB2b2kgYXZhdGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIHBha2V0aXN0YSAlcyVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZzY2tfcGF0aFxuIgorI34gbXNnc3RyICJJLXNvbG11aWxsZSBlaSB2b2kgdmFyYXRhIHB1c2t1cmlhIgorCisjfiBtc2dpZCAiVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiS29tZW50byDigJ1nZXRvcHQgLS1oZWxw4oCdIGFudGFhIGxpc8Okw6QgdGlldG9hLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJLw6R5dHTDtjogZ2V0b3B0IHZhbGl0c2lubWVya2tpam9ubyBwYXJhbWV0cml0XG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW3ZhbGl0c2ltZXRdIFstLV0gdmFsaXRzaW5tZXJra2lqb25vIHBhcmFtZXRyaXRcbiIKKworI34gbXNnaWQgImdldG9wdCAoZW5oYW5jZWQpIDEuMS40XG4iCisjfiBtc2dzdHIgImdldG9wdCAocGFyYW5uZXR0dSkgMS4xLjRcbiIKKworI34gbXNnaWQgIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLilcbiIKKyN+IG1zZ3N0ciAiKE9kb3RldGFhbjog4oCdVVRD4oCdLCDigJ1MT0NBTOKAnSB0YWkgZWkgbWl0w6TDpG4uKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIOKAkyBsdWtlZSBqYSBhc2V0dGFhIGxhaXR0ZWlzdG9rZWxsb24gKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJLw6R5dHTDtjogaHdjbG9jayBbdG9pbWludG9dIFt2YWxpdHNpbWV0Li4uXVxuIgorI34gIlxuIgorI34gIlRvaW1pbm5vdDpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgbsOkeXR0w6TDpCB0w6Rtw6RuIG9oamVlblxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICBsdWtlZSBsYWl0dGVpc3Rva2VsbG9uIGphIG7DpHl0dMOkw6QgdHVsb2tzZW5cbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgYXNldHRhYSBsYWl0dGVpc3Rva2VsbG9uIC0tZGF0ZTpsbGEgbcOkw6Ryw6R0dHl5biBhaWthYW5cbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgYXNldHRhYSBqw6RyamVzdGVsbcOka2VsbG9uIGFqYW4gbGFpdHRlaXN0b2tlbGxvbiBtdWthYW5cbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgYXNldHRhYSBsYWl0dGVpc3Rva2VsbG9uIG55a3lpc2VlbiBqw6RyamVzdGVsbcOkbiBhaWthYW5cbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgYXNldHRhYSBqw6RyamVzdGVsbcOka2VsbG9uIGFqYW4gbnlreWlzZW4gYWlrYXZ5w7ZoeWtrZWVuXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIG11a2FhblxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBzw6TDpHTDpMOkIGxhaXR0ZWlzdG9rZWxsb24gaHVvbWlvaW1hYW4gc3lzdGVtYWF0dGlzZW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgcG9pa2tlYW1hbiBlZGVsbGlzZW4gYXNldHVrc2VuIHRhaSBzw6TDpGTDtm4gasOkbGtlZW5cbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgbsOkeXR0w6TDpCB5dGltZW4gZXBvY2gtYXJ2b24gbGFpdHRlaXN0b2tlbGxvbGxlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIGFzZXR0YWEgeXRpbWVuIGVwb2NoLWFydm9uIGxhaXR0ZWlzdG9rZWxsb2xsZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtLWVwb2NoOmlsbGEgbcOkw6Ryw6R0dHl5biBhcnZvb25cbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgbsOkeXR0w6TDpCBod2Nsb2NraW4gdmVyc2lvbnVtZXJvbiB2YWtpb3R1bG9zdGVlc2VlblxuIgorI34gIlxuIgorI34gIlZhbGl0c2ltZXQ6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICBsYWl0dGVpc3Rva2VsbG8gb24ga2Fuc2FpbnbDpGxpc2Vzc8OkIGFqYXNzYSAoVVRDKVxuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICBsYWl0dGVpc3Rva2VsbG8gb24gcGFpa2FsbGlzZXNzYSBhamFzc2FcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cG9sa3UgICAga8OkeXTDpCBtdXV0YSBrdWluIHRhdmFsbGlzdGEgbGFpdGV0dGEsIC9kZXYvLi4uXG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGvDpHl0w6QgSVNBLXbDpHlsw6TDpCBzdW9yYWFuLCBlaSBsYWl0dGVlbiAlcyBrYXV0dGFcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgZWkgaHVvbWlvaWRhIGxhaXR0ZWlzdG9rZWxsb24gdnVvdHRhLCBrb3NrYSBCSU9TIG9uXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHJpa2tpXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIGFpa2EsIGpvaG9uIGxhaXR0ZWlzdG9rZWxsbyBhc2V0ZXRhYW5cbiIKKyN+ICIgICAgICAgLS1lcG9jaD12dW9zaSAgdnVvc2ksIGpva2Egb24gbGFpdHRlaXN0b2tlbGxvblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlcG9jaC1hcnZvbiBub2xsYWtvaHRhXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGVpIGvDpHl0ZXTDpCB0aWVkb3N0b2EgL2V0Yy9hZGp0aW1lLiBWYWF0aWkgam9rb1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWxpdHNpbWVuIC0tdXRjIHRhaSAtLWxvY2FsdGltZSBrw6R5dHTDpG1pc3TDpFxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cG9sa3UgaGllbm9zw6TDpHTDtnRpZWRvc3RvbiBwb2xrdSAob2xldHVzIG9uIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgdGVlIGthaWtraSBtdXUgcGFpdHNpIGxhaXR0ZWlzdG9rZWxsb24gdGFpIG1pbmvDpMOkblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBtdXVuIHZhcnNpbmFpbmVuIHDDpGl2aXR0w6RtaW5lblxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICB2aWFuZXRzaW50w6R0aWxhXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAiYWx1c3R1c2tvbWVubm9pbGxlIGVpIHZvaSB2YXJhdGEgbXVpc3RpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstOGhpTG1zVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIm9yXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkvDpHl0dMO2OiAlcyBbLThoaUxtVXddIFstbCBraXJqYXV0dW1pc29oamVsbWFdIFstdCBhaWtha2F0a2Fpc3VdIFstSSBhbHVzdHVza29tZW5ub3RdIFstSCBraXJqYXV0dW1pc2tvbmVdIGxpbmphbm9wZXVzLC4uLiBsaW5qYSBbdGVybS50eXlwcGldXG4iCisjfiAidGFpXHRbLWhpTG13XSBbLWwga2lyamF1dHVtaXNvaGplbG1hXSBbLXQgYWlrYWthdGthaXN1XSBbLUkgYWx1c3R1c2tvbWVubm90XSBbLUgga2lyamF1dHVtaXNrb25lXSBsaW5qYSBsaW5qYW5vcGV1cywuLi4gW3Rlcm0udHl5cHBpXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbeSB8IG5dIgorI34gbXNnc3RyICJrw6R5dHTDtjogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogVklSSEVFTExJTkVOIFZJUkhFIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLW5dIFtmaWxlXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogJXMgW3RpZWRvc3RvXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IHJlYWQ6ICVzIgorI34gbXNnc3RyICIlczogdGllZG9zdG9hICVzIGVpIHZvaSBsdWtlYS5cbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogbG9nZ2VyIFstaXNdIFstZiB0aWVkb3N0b10gWy1wIHByaV0gWy10IHRhZ10gWy11IHBpc3Rva2VdIFsgdmllc3RpIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6IGxvb2sgWy1kZmFdIFstdCBtZXJra2ldIG1lcmtraWpvbm8gW3RpZWRvc3RvXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgIm11aXN0aSBsb3B1c3NhPyIKKworI34gbXNnaWQgImNhbGw6ICVzIGZyb20gdG8gZmlsZXMuLi5cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6ICVzIGzDpGhkZSBrb2hkZSB0aWVkb3N0b3QuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2NyaXB0IFstYV0gWy1lXSBbLWZdIFstcV0gWy10XSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFt0aWVkb3N0b11cbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGtpcmpvaXR1c3ZpcmhlICVkOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yOiAlc1xuIgorI34gbXNnc3RyICIlczoga2lyam9pdHVzdmlyaGU6ICVzXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJLw6R5dHTDtjogJXMgWy1kXSBbLXAgcGlkLXRpZWRvc3RvXSBbLXMgcGlzdG9rZXBvbGt1XSBbLVQgYWlrYWthdGthaXN1XVxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIFstcnx0XSBbLW4gbnVtXSBbLXMgc29ja2V0cGF0aF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIFstcnx0XSBbLW4gbnVtXSBbLXMgcGlzdG9rZXBvbGt1XVxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAta1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6ICVzIFt2YWxpdHNpbWV0XSBsYWl0ZSAuLi5cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gaGFrIC4uLiAtZiBdIG5pbWkuLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiB3cml0ZSBrw6R5dHTDpGrDpCBbdHR5XVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJ0dW50ZW1hdHRvbWFzc2EgIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOm1tfCttaW51dXRpdF1cbiIKKworI34gbXNnaWQgIlNodXRkb3duIHByb2Nlc3MgYWJvcnRlZCIKKyN+IG1zZ3N0ciAiU2FtbXV0dXN0b2ltaW50byBrZXNrZXl0ZXR0eSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi4iCisjfiBtc2dzdHIgIiVzOiBWYWluIHJvb3Qgdm9pIHNhbW11dHRhYSBqw6RyamVzdGVsbcOkbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj8iCisjfiBtc2dzdHIgIlR1b24gdMOkeXR5eSBvbGxhIGh1b21lbm5hLCBldGvDtiB2b2kgb2RvdHRhYSBzaWloZW4gYXN0aT9cbiIKKworI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgInlsbMOkcGl0b2EgdmFydGVuOyBtYXJzLCBtYXJzIgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiSsOkcmplc3RlbG3DpCBzYW1tdXRldGFhbiA1IG1pbnV1dGluIGt1bHV0dHVhIgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJLaXJqYXV0dW1pbmVuIG9uIHNlbiB2dW9rc2kgZXN0ZXR0eSIKKworI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAidXVkZWxsZWVua8OkeW5uaXN0aSAlczogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJzYW1tdXR0aSAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV2h5IGFtIEkgc3RpbGwgYWxpdmUgYWZ0ZXIgcmVib290PyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk1pa3NpIG9sZW4gZWRlbGxlZW4gZWxvc3NhIHV1ZGVsbGVlbmvDpHlubmlzdHlrc2VuIGrDpGxrZWVuPyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJOb3cgeW91IGNhbiB0dXJuIG9mZiB0aGUgcG93ZXIuLi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWaXJyYW4gdm9pIG55dCBrYXRrYWlzdGEuLi4iCisKKyN+IG1zZ2lkICJDYWxsaW5nIGtlcm5lbCBwb3dlci1vZmYgZmFjaWxpdHkuLi5cbiIKKyN+IG1zZ3N0ciAiS3V0c3V0YWFuIHl0aW1lbiB2aXJyYW5rYXRrYWlzdXRvaW1pbnRvYS4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJWaXJoZSB2aXJyYW5rYXRrYWlzdXNzYVx0JXNcbiIKKworI34gbXNnaWQgIkV4ZWN1dGluZyB0aGUgcHJvZ3JhbSBcIiVzXCIgLi4uXG4iCisjfiBtc2dzdHIgIkvDpHlubmlzdGV0w6TDpG4gb2hqZWxtYSDigJ0lc+KAnS4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiS0lJUkVFTExJU1TDhDogeWxlaXNsw6RoZXR5c3ZpZXN0aSBrw6R5dHTDpGrDpGx0w6QgJXM6IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgaG91cnMgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiSsOkcmplc3RlbG3DpCBzYW1tdXUgJWQgdHVubmluLCAlZCBtaW51dXRpbiBrdWx1dHR1YSIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJKw6RyamVzdGVsbcOkIHNhbW11dSAxIHR1bm5pbiBqYSAlZCBtaW51dXRpbiBrdWx1dHR1YSIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiSsOkcmplc3RlbG3DpCBzYW1tdXUgJWQgbWludXV0aW4ga3VsdXR0dWFcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIkrDpHJqZXN0ZWxtw6Qgc2FtbXV1IDEgbWludXV0aW4ga3VsdXR0dWFcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIElNTUVESUFURUxZIVxuIgorI34gbXNnc3RyICJKw6RyamVzdGVsbcOkIHNhbW11dSBWw4RMSVRUw5ZNw4RTVEkhXG4iCisKKyN+IG1zZ2lkICJcdC4uLiAlcyAuLi5cbiIKKyN+IG1zZ3N0ciAiXHQuLi4gJXMgLi4uXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJIYWFyYXV0dGFtaW5lbiBrb21lbnRvYSBzd2Fwb2ZmIHZhcnRlbiBlaSBvbm5pc3R1LiBBaXZhbiBzYW1hISIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJLb21lbnRvYSBzd2Fwb2ZmIGVpIHZvaSBrw6R5bm5pc3TDpMOkLCB0b2l2b3R0YXZhc3RpIHVtb3VudCBob2l0YWEgYXNpYW4uIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiSGFhcmF1dHRhbWluZW4ga29tZW50b2EgdW1vdW50IHZhcnRlbiBlaSBvbm5pc3R1LCB5cml0ZXTDpMOkbiBtYW51YWFsaXNlc3RpLiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjICVzLCB0cnlpbmcgdW1vdW50LlxuIgorI34gbXNnc3RyICJPaGplbG1hYSAlcyBlaSB2b2kga8OkeW5uaXN0w6TDpCwgeXJpdGV0w6TDpG4ga8OkeW5uaXN0w6TDpCB1bW91bnQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJPaGplbG1hYSB1bW91bnQgZWkgdm9pIGvDpHlubmlzdMOkw6QsIGx1b3Z1dGFhbiBpcnJvdHVzeXJpdHlrc2VzdMOkLiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAiSXJyb3RldGFhbiBqw6RsamVsbMOkIG9sZXZhdCB0aWVkb3N0b2rDpHJqZXN0ZWxtw6R0Li4uIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IExhaXRldHRhICVzIGVpIHZvaXR1IGlycm90dGFhOiAlc1xuIgorCisjfiBtc2dpZCAiQm9vdGluZyB0byBzaW5nbGUgdXNlciBtb2RlLlxuIgorI34gbXNnc3RyICJLw6R5bm5pc3RldMOkw6RuIHloZGVuIGvDpHl0dMOkasOkbiB0aWxhYW4uXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJ5aGRlbiBrw6R5dHTDpGrDpG4gdGlsYW4ga3VvcmVuIGvDpHlubmlzdHlzIGVww6Rvbm5pc3R1aVxuIgorCisjfiBtc2dpZCAiZm9yayBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAieWhkZW4ga8OkeXR0w6Rqw6RuIHRpbGFuIGt1b3JlbiBoYWFyYXV0dGFtaW5lbiBlcMOkb25uaXN0dWlcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJ2aXJoZSBhdmF0dGFlc3NhIGZpZm9hXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJ2aXJoZSBhc2V0ZXR0YWVzc2Eg4oCdY2xvc2Utb24tZXhlY+KAnSBsYWl0dGVlbGxlIC9kZXYvaW5pdGN0bCIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgInZpcmhlIGFqZXR0YWVzc2EgZmluYWxwcm9naWFcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgInZpcmhlIGhhYXJhdXRldHRhZXNzYSBmaW5hbHByb2dpYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldyb25nIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVsOkw6Ryw6Qgc2FsYXNhbmEuXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJoYWFyYXV0dGFtaW5lbiBlcMOkb25uaXN0dWlcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAidGllZG9zdG9hIGluaXR0YWIgZWkgdm9pIGF2YXRhXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJURVJNLW11dXR0dWphYSBlaSBvbGUgdGFpIHDDpMOkdHRlZW4gdGlsYWEgZWkgdm9pIGx1a2VhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAidmlyaGUgcHlzw6R5dGV0dMOkZXNzw6QgcGFsdmVsdWE6IOKAnSVz4oCdXG4iCisKKyN+IG1zZ2lkICJTdG9wcGVkIHNlcnZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIlB5c8OkeXRldMOkw6RuIHBhbHZlbHVhOiDigJ0lc+KAnVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgInZpcmhlIHB5c8OkeXRldHTDpGVzc8OkIHBhbHZlbHVhOiDigJ0lc+KAnVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6ICVzIFstY10gWy1uIHRhc29dIFstcyBwdXNrdXJpbl9rb2tvXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICJraXJqb2l0dGFtaW5lbiB2YWtpb3R1bG9zdGVlc2VlbiBlcMOkb25uaXN0dWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgInZpcmhlOiBtYWxsb2MgZXDDpG9ubmlzdHVpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLWJmcHhdIFstbCBubGluZV0iCisjfiBtc2dzdHIgImvDpHl0dMO2OiBjb2wgWy1iZnB4XSBbLWwgcml2aW3DpMOkcsOkXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6ICVzIFsgLSBdIFsgLTIgXSBbIHRpZWRvc3RvIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRfZmlsZV0gWy1uIGxlbmd0aF0gWy1zIHNraXBdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgbXVvdG9dIFstZiBtdW90b3RpZWRdIFstbiBwaXR1dXNdIFstcyBvaGl0YV0gW3RpZWRvc3RvIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2OiAlcyBbLWRmbHBjc3VdIFsrcml2aW51bWVybyB8ICsvaGFobW9dIG5pbWkxIG5pbWkyIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpbmUgYnVmZmVyXG4iCisjfiBtc2dzdHIgIlB1c2t1cmlhIGVpIHZvaSB2YXJhdGEuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiB0aWVkb3N0b2EgJXMgZWkgdm9pIGx1a2VhLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogbGluZSB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogbGlpYW4gcGl0a8OkIHJpdmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBlcMOkb25uaXN0dWkiCisKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAia8OkeXR0w7Y6IHRhaWxmIFstbiBOIHwgLU5dIGxva2l0aWVkb3N0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogJXMgWyAtaSBdIFsgLXRUZXJtIF0gdGllZG9zdG8uLi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkxhaXRldHRhICVzIGVpIHZvaSBhdmF0YVxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICJNdWlzdGlhIGVpIHZvaSB2YXJhdGEgZW5lbXDDpMOkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZ290IEVPRiB0aHJpY2UgLSBleGl0aW5nLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNhYXRpaW4gRU9GIGtvbG1lc3RpIOKAkyBwb2lzdHV0YWFuLi5cbiIKKworI34gbXNnaWQgImxhc3Q6IG1hbGxvYyBmYWlsdXJlLlxuIgorI34gbXNnc3RyICJsYXN0OiBtYWxsb2MtdmlyaGUuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogTXVpc3RpIGxvcHVzc2FcbiIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2luOiBlaSBrdW9ydGE6ICVzLlxuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBMdXBhIGV2w6R0dHkiCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldHVpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXR1aWQiCisKKyN+IG1zZ2lkICIlczogQ2Fubm90IGZvcmtcbiIKKyN+IG1zZ3N0ciAiJXM6IEhhYXJhdXR0YW1pbmVuIGVpIG9ubmlzdHVcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICIlczogdGllZG9zdG9hICVzIGVpIHZvaSBsdWtlYS5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzdGF0IHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogdsOkbGlhaWthaXN0aWVkb3N0b24gdGlsYWEgZWkgdm9pIGx1a2VhLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiB2w6RsaWFpa2Fpc3RpZWRvc3RvYSBlaSB2b2kgYXZhdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGtpcmpvaXR1c3ZpcmhlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgInNpaXJ0eW1pc3ZpcmhlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiBhbmQgJWQuIgorI34gbXNnc3RyICIgamEgIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IHR1bnRlbWF0b24ga8OkeXR0w6Rqw6RcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiB2aXJoZWVsbGluZW4gYXJ2b1xuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBvZCgxKSBvbiB2YW5oZW50dW51dCwgb24gc3Vvc2l0ZWx0YXZhYSBrw6R5dHTDpMOkIGhleGR1bXAoMSkuXG4iCisKKyN+IG1zZ2lkICJvZDogaGV4ZHVtcCgxKSBjb21wYXRpYmlsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgLSVjIG9wdGlvbiVzXG4iCisjfiBtc2dzdHIgIm9kOiBoZXhkdW1wKDEpLXlodGVlbnNvcGl2dXVzIGVpIHR1ZSAtJWMgLXZhbGl0c2ludGElc1xuIgorCisjfiBtc2dpZCAiOyBzZWUgc3RyaW5ncygxKS4iCisjfiBtc2dzdHIgIjsga2F0c28gc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiT3Npb24gbG9wcHUgb24gdmlpbWVpc2VsbMOkIG9zaXR0YWlzZWxsYSBzeWxpbnRlcmlsbMOkIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IG11aXN0aSBsb3B1c3NhXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gYWlrYXbDpGxpICVzIHNla3VudGlhXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiB0aW1lX3QtYXJ2byAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHV1ZGVsbGVlbm5pbWXDpG1pbmVuICVzIOKGkiAlcyBlaSBvbm5pc3R1OiAlc1xuIgorCisjfiBtc2dpZCAicnRjIHJlYWQiCisjfiBtc2dzdHIgInZpcmhlIHJ0Yzp0w6QgbHVldHRhZXNzYSIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAibWFsbG9jLXZpcmhlIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbHVtbiBbLXR4XSBbLWMgY29sdW1uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogY29sdW1uIFstdHhdIC1jIHNhcmFra2VldF0gW3RpZWRvc3RvIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk11aXN0aSBsb3B1c3NhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiUHVza3VyaXRpbGFhIGVpIHZvaSB2YXJhdGFcbiIKKworI34gbXNnaWQgInVzYWdlOiByZXYgW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogcmV2IFt0aWVkb3N0byAuLi5dXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJQdXNrdXJpYSBlaSB2b2kgdmFyYXRhLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJNdWlzdGkgbG9wcHVpIGthc3ZhdGV0dGFlc3NhIHB1c2t1cmlhLlxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gdmFsaXRzaW4g4oCTICVjXG4iCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIHByb2dyYW1tZTogXCIlc1wiXG4iCisjfiBtc2dzdHIgIlZpcmhlIGFqZXR0YWVzc2Egb2hqZWxtYWE6IOKAnSVz4oCdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyB2YWx1ZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZpcmhlZWxsaW5lbiBhc2V0ZXR0dSBhcnZvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgIm5jb3VudCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJuZXciCisjfiBtc2dzdHIgIlV1c2kiCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBKRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIEhQRlMiCisjfiBtc2dzdHIgIk9TLzIgSFBGUyIKKworI34gbXNnaWQgIk9TLzIgSUZTIgorI34gbXNnc3RyICJPUy8yIElGUyIKKworI34gbXNnaWQgIk5URlMiCisjfiBtc2dzdHIgIk5URlMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgQ2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0sgIExpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICAgICAgIGZkaXNrIC1zIFBBUlRJVElPTiAgICAgICAgICAgR2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICIgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBHaXZlIGZkaXNrIHZlcnNpb25cbiIKKyN+ICJIZXJlIERJU0sgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGIgb3IgL2Rldi9zZGFcbiIKKyN+ICJhbmQgUEFSVElUSU9OIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhN1xuIgorI34gIi11OiBnaXZlIFN0YXJ0IGFuZCBFbmQgaW4gc2VjdG9yIChpbnN0ZWFkIG9mIGN5bGluZGVyKSB1bml0c1xuIgorI34gIi1iIDIwNDg6IChmb3IgY2VydGFpbiBNTyBkaXNrcykgdXNlIDIwNDgtYnl0ZSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6R5dHTDtjogZmRpc2sgWy1iIFNTWl0gWy11XSBMRVZZICAgICBNdXV0YSBvc2lvdGF1bHVhXG4iCisjfiAiICAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIExFVlkgIE7DpHl0w6Qgb3Npb3RhdWx1KHQpXG4iCisjfiAiICAgICAgICBmZGlzayAtcyBPU0lPICAgICAgICAgICAgICAgIE7DpHl0w6Qgb3NpbyhpZGUpbiBrb2tvL2tvb3QgbG9oa29pbmFcbiIKKyN+ICIgICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgTsOkeXTDpCBmZGlza2luIHZlcnNpb1xuIgorI34gIlTDpHNzw6QgTEVWWSBvbiBlc2ltZXJraWtzaSAvZGV2L2hkYiB0YWkgL2Rldi9zZGFcbiIKKyN+ICJqYSBPU0lPIG9uIGVzaW1lcmtpa3NpIC9kZXYvaGRhN1xuIgorI34gIi11OiBhbm5hIEFsa3UgamEgTG9wcHUgc2VrdG9yZWluYSAoc3lsaW50ZXJpZW4gc2lqYWFuKVxuIgorI34gIi1iIDIwNDg6ICh0aWV0eWlsbGUgTU8tbGV2eWlsbGUpIGvDpHl0w6QgMjA0OCB0YXZ1biBzZWt0b3JlaXRhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6R5dHTDtjogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGxhaXRlXG4iCisjfiAiRXNpbTogZmRpc2sgL2Rldi9oZGEgIChlbnNpbW3DpGluZW4gSURFLWxldnkpXG4iCisjfiAiIHRhaTogZmRpc2sgL2Rldi9zZGMgIChrb2xtYXMgU0NTSS1sZXZ5KVxuIgorI34gIiB0YWk6IGZkaXNrIC9kZXYvZWRhICAoZW5zaW1tw6RpbmVuIFBTLzIgRVNESSAtYXNlbWEpXG4iCisjfiAiIHRhaTogZmRpc2sgL2Rldi9yZC9jMGQwICB0YWk6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChSQUlELWxhaXR0ZWV0KVxuIgorI34gIiAgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlTDpG3DpG4gbGV2eW4gc3lsaW50ZXJlaWRlbiBtw6TDpHLDpGtzaSBvbiBhc2V0ZXR0dSAlZC5cbiIKKyN+ICJTaWluw6QgZWkgb2xlIG1pdMOkw6RuIHZpa2FhLCBtdXR0YSBzZSBvbiBzdXVyZW1waSBrdWluIDEwMjQsIGphIHZvaVxuIgorI34gInRpZXR5aXNzw6Qga29rb29ucGFub2lzc2EgYWloZXV0dGFhIG9uZ2VsbWlhIHNldXJhYXZpc3NhIHRhcGF1a3Npc3NhOlxuIgorI34gIjEpIGvDpHlubmlzdHlrc2Vzc8OkIGFqZXR0YXZhdCBvaGplbG1hdCAoZXNpbS4gTElMT24gdmFuaGF0IHZlcnNpb3QpXG4iCisjfiAiMikgbXVpZGVuIGvDpHl0dMO2asOkcmplc3RlbG1pZW4ga8OkeW5uaXN0eXMtIGphIG9zaW9pbnRpb2hqZWxtYXRcbiIKKyN+ICIgICAoZXNpbS4gRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlaSBsw7Z5dHlueXQgJXMg4oCTIGx1b2RhYW4gc2UuLlxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgImvDpHl0dMO2IDogJXMgLWFzbXEgLXRjbHVwIFxuIgorCisjfiBtc2dpZCAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisjfiBtc2dzdHIgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorCisjfiBtc2dpZCAiXHQlcyAtaCBmb3IgaGVscC5cbiIKKyN+IG1zZ3N0ciAiXHQlcyAtaCBuw6R5dHTDpMOkIG9oamVlbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2VtYWZvcml0XG4iCisjfiAiXHQtYSA6IGthaWtraSAob2xldHVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlR1bG9zdHVzbXVvdG86XG4iCisjfiAiXHQtdCA6IGFpa2FcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGx1b2phXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtbCA6IGxpbWl0c1xuIgorI34gIlx0LXUgOiBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1sIDogcmFqYXRcbiIKKyN+ICJcdC11IDogdGlpdmlzdGVsbcOkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcGFyc2U6ICVzIgorI34gbXNnc3RyICJ2aXJoZSBsdWV0dGFlc3NhIHRpZWRvc3RvYSAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3I6IC9zeXMgZmlsZXN5c3RlbSBpcyBub3QgYWNjZXNzYWJsZS4iCisjfiBtc2dzdHIgInZpcmhlOiAvc3lzLXRpZWRvc3RvasOkcmplc3RlbG3DpCBlaSBvbGUga8OkeXRldHTDpHZpc3PDpC4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmRldiBbIC1ydiBdIFsgLW8gT0ZGU0VUIF0gWyBJTUFHRSBbIFZBTFVFIFsgT0ZGU0VUIF0gXSBdIgorI34gbXNnc3RyICJrw6R5dHTDtjogcmRldiBbIC1ydiBdIFsgLW8gU0lJUlRZTcOEIF0gWyBWRURPUyBbIFZBTFVFIFsgU0lJUlRZTcOEIF0gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgICh0YWkgcmRldiAvbGludXgsIGpuZSkgbsOkeXR0w6TDpCBueWt5aXNlbiBKVVVSSWxhaXR0ZWVuIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBhc2V0dGFhIEpVVVJFS1NJIC9kZXYvaGRhMiIKKworI34gbXNnaWQgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIFJPT1RGTEFHUyAocmVhZG9ubHkgc3RhdHVzKSIKKyN+IG1zZ3N0ciAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIGFzZXRhIEpVVVJJTElQVVQgKHZhaW4gbHVrdSAtdGlsYSkiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBhc2V0YSBSQU0tbGV2eW4ga29rbyIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBhc2V0YSBrw6R5bm5pc3R5a3NlbiBOw4RZVFTDllRJTEEiCisKKyN+IG1zZ2lkICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAgdXNlIHRoZSBieXRlIG9mZnNldCBOIgorI34gbXNnc3RyICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAga8OkeXTDpCB0YXZ1c2lpcnR5bcOkw6QgTiIKKworI34gbXNnaWQgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLVIiCisjfiBtc2dzdHIgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1hIGt1aW4gcmRldiAtUiIKKworI34gbXNnaWQgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXIiCisjfiBtc2dzdHIgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1hIGt1aW4gcmRldiAtciIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1hIGt1aW4gcmRldiAtdiIKKworI34gbXNnaWQgIk5vdGU6IHZpZGVvIG1vZGVzIGFyZTogLTM9QXNrLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWtleTEsIDI9a2V5MiwuLi4iCisjfiBtc2dzdHIgIkh1b206IE7DpHl0dMO2dGlsYXQgb3ZhdDogLTM9S3lzeSwgLTI9TGFhamVubmV0dHUsIC0xPU5vcm1hYWxpVmdhLCAxPWF2YWluMSwgMj1hdmFpbjIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgIC1SIDEgbGlpdHTDpMOkIGp1dXJlbiB2YWluIGx1a3UgLXRpbGFhbiwgLVIgMCBsdWt1L2tpcmpvaXR1cy4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJwdXV0dHV2YSBwaWxra3UiCisKKyN+IG1zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVsdSkgdG9vIHNtYWxsIgorI34gbXNnc3RyICJzdXBlcmxvaGtvbiBrb2tvICglbHUpIG9uIGxpaWFuIHBpZW5pIgorCisjfiBtc2dpZCAiZXJyb3I6IC9zeXMgZmlsZXN5c3RlbSBpcyBub3QgYWNjZXNzaWJsZS4iCisjfiBtc2dzdHIgInZpcmhlOiAvc3lzLXRpZWRvc3RvasOkcmplc3RlbG3DpCBlaSBvbGUga8OkeXRldHTDpHZpc3PDpC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3V0IGlmIG1lbW9yeSIKKyN+IG1zZ3N0ciAibXVpc3RpIGxvcHVzc2EiCisKKyN+IG1zZ2lkICIiCisjfiAidW5pdDogc2VjdG9yc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAieWtzaWtrw7Y6IHNla3Rvcml0XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIHN0YXJ0PSU5bHUiCisjfiBtc2dzdHIgImFsdW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCBib290YWJsZSIKKyN+IG1zZ3N0ciAiQUlYIGvDpHlubmlzdGV0dMOkdsOkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNsb2NrIGluIFVUQywgbm90IGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIkt1b3J0YSBlaSB2YWloZGV0dHUuXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IGxhYmVsIG9ubHkgd2l0aCB2MSBzd2FwIGFyZWFcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlOiB2YXN0YSBzaXZ1dHVzdGlsYW4gdmVyc2lvIDEgdHVrZWUgbmltacO2aXTDpFxuIgorCisjfiBtc2dpZCAiZmF0YWw6IGZpcnN0IHBhZ2UgdW5yZWFkYWJsZSIKKyN+IG1zZ3N0ciAidmFrYXZhYTogZW5zaW1tw6RpbmVuIHNpdnUgb24gbHVrdWtlbHZvdG9uIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBEZXZpY2UgJyVzJyBjb250YWlucyBhIHZhbGlkIFN1biBkaXNrbGFiZWwuXG4iCisjfiAiVGhpcyBwcm9iYWJseSBtZWFucyBjcmVhdGluZyB2MCBzd2FwIHdvdWxkIGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiTm8gc3dhcCB3YXMgY3JlYXRlZC4gSWYgeW91IHJlYWxseSB3YW50IHRvIGNyZWF0ZSB2MCBzd2FwIG9uIHRoYXQgZGV2aWNlLFxuIgorI34gInVzZSB0aGUgLWYgb3B0aW9uIHRvIGZvcmNlIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IExhaXR0ZWVsbGEg4oCdJXPigJ0gb24ga2Vsdm9sbGluZW4gU3VuLWxldnluaW1pw7YuXG4iCisjfiAiVMOkbcOkIHRhcmtvaXR0YWEgdG9kZW5uw6Rrw7Zpc2VzdGkgc2l0w6QsIGV0dMOkIHYwLXNpdnV0dXNhbHVlZW4gbHVvbWluZW4gdHVob2Fpc2lcbiIKKyN+ICJvc2lvdGF1bHVuLiBTaXZ1dHVzYWx1ZXR0YSBlaSBsdW90dS4gSm9zIHRvZGVsbGEgaGFsdWF0IGx1b2RhIHYwLXNpdnV0dXNhbHVlZW5cbiIKKyN+ICJreXNlaXNlbGxlIGxhaXR0ZWVsbGUsIGvDpHl0w6QgdmFsaXRzaW50YSAtZiBzZW4gcGFrb3R0YW1pc2Vlbi5cbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3QgY2hkaXIgdG8gcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IGp1dXJlZW4gc2lpcnR5bWluZW4gZXDDpG9ubmlzdHVpIVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBzdGF0IHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBqdXVyZW4gdGlsYWEgZWkgdm9pdHUgbHVrZWEhXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gc2lpcnR5bWluZW4gaGFrZW1pc3Rvb24gJXMgZXDDpG9ubmlzdHVpIOKAkyAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgPyBwcm9ibGVtcyByZWFkaW5nIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/IG9uZ2VsbWlhIGx1ZXR0YWVzc2Egc3ltbGlua2tpw6QgJXMg4oCTICVzICglZClcbiIKKworI34gbXNnaWQgIiAgKioqIEVYQ0VFREVEIFVOSVggTElNSVQgT0YgU1lNTElOS1MgKioqXG4iCisjfiBtc2dzdHIgIiAgKioqIFVOSVhJTiBTWU1MSU5LS0lFTiBSQUpBIFlMSVRFVFRJSU4gKioqXG4iCisKKyN+IG1zZ2lkICJuYW1laTogdW5rbm93biBmaWxlIHR5cGUgMCUwNm8gb24gZmlsZSAlc1xuIgorI34gbXNnc3RyICJuYW1laTogdGllZG9zdG9sbGEgJTIkcyBvbiB0dW50ZW1hdG9uIHR5eXBwaSAwJTEkMDZvXG4iCisKKyMgRWVlZWlpaWkuLi4KKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaXRldMOkw6RuICVzICVzOm4gcGVydXN0ZWVsbGFcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBnb2luZyB0byBtb3VudCAlcyBieSBwYXRoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlaSBMQUJFTD0sIGVpIFVVSUQ9LCBsaWl0ZXTDpMOkbiAlcyBwb2x1biBwZXJ1c3RlZWxsYVxuIgorCisjfiBtc2dpZCAiJXM6IHdhaXRwaWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB3YWl0cGlkOiAlc1xuIgorCisjfiBtc2dpZCAiY291bGQgbm90IHVtb3VudCAlcyAtIHRyeWluZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgImtvaHRlZW4gJXMgaXJyb3R0YW1pbmVuIGVww6Rvbm5pc3R1aSDigJMgeXJpdGV0w6TDpG4gc2VuIHNpamFhbiBpcnJvdHRhYSAlc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAia3V0c3V0YWFuIG9wZW5fdHR5XG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisjfiBtc2dzdHIgImt1dHN1dGFhbiB0ZXJtaW9faW5pdFxuIgorCisjfiBtc2dpZCAid3JpdGluZyBpbml0IHN0cmluZ1xuIgorI34gbXNnc3RyICJraXJqb2l0ZXRhYW4gYWx1c3R1c21lcmtraWpvbm9hXG4iCisKKyN+IG1zZ2lkICJiZWZvcmUgYXV0b2JhdWRcbiIKKyN+IG1zZ3N0ciAiZW5uZW4gYXV0b2JhdWRpYVxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAib2RvdGV0YWFuIGNyLWxmXG4iCisKKyN+IG1zZ2lkICJyZWFkaW5nIGxvZ2luIG5hbWVcbiIKKyN+IG1zZ3N0ciAibHVldGFhbiBrw6R5dHTDpGrDpHR1bm51c1xuIgorCisjfiBtc2dpZCAiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIKKyN+IG1zZ3N0ciAiZ2V0b3B0LXNpbG11a2FuIGrDpGxrZWVuXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlYXJnc1xuIgorI34gbXNnc3RyICJwb2lzdHV0YWFuIHBhcnNlYXJnczppc3RhXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJhbG9pdGV0dGlpbiBwYXJzZV9zcGVlZHNcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIKKyN+IG1zZ3N0ciAicG9pc3R1dGFhbiBrb2hkYXN0YSBwYXJzZXNwZWVkc1xuIgorCisjfiBtc2dpZCAib3BlbigyKVxuIgorI34gbXNnc3RyICJvcGVuKDIpXG4iCisKKyN+IG1zZ2lkICJkdXBpbmdcbiIKKyN+IG1zZ3N0ciAia29waW9pZGFhbiB0aWVkb3N0b2thaHZhXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyN+IG1zZ2lkICJjaGZuOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImNoZm46IFBBTS12aXJoZSwga2Vza2V5dGV0w6TDpG46ICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAvZXRjL3NoZWxsc1xuIgorI34gbXNnc3RyICJWYXJvaXR1czog4oCdJXPigJ0gZWkgb2xlIGxpc3RhdHR1bmEgdGllZG9zdG9zc2EgL2V0Yy9zaGVsbHNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICJUaWVkb3N0b2EgJXMgZWkgdm9pIGx1a2VhLCBwb2lzdHV0YWFuLiIKKworI34gbXNnaWQgImxvZ2luOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImxvZ2luOiBQQU0tdmlyaGUsIGtlc2tleXRldMOkw6RuOiAlc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJhaWthcmFqYSA9ICVkLCBoaWxqYWlzdXVzID0gJWQsIHV1ZGVsbGVlbmvDpHlubmlzdHlzID0gJWRcbiIKKworI34gbXNnaWQgImNvdWxkbid0IHJlYWQgJXMsIGFuZCBjYW5ub3QgaW9jdGwgZHVtcFxuIgorI34gbXNnc3RyICJ0aWVkb3N0b2EgJXMgZWkgdm9pdHUgbHVrZWEsIGVpa8OkIGR1bXAtaW9jdGwgb25uaXN0dVxuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBzaWlydHltw6QgJWxsZCIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIiVzOiBlaSBsw7Z5dHlueXQgeWh0w6TDpG4gbGFpdGV0dGEgL2Rldi9sb29wIyIKKworI34gbXNnaWQgIm1vdW50OiBiYWNrZ3JvdW5kaW5nIFwiJXNcIlxuIgorI34gbXNnc3RyICJtb3VudDogc2lpcnJldMOkw6RuIHRhdXN0YWxsZSDigJ0lc+KAnVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGx1b3Z1dGV0YWFuIOKAnSVz4oCdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0eV0gc3BlY2lhbHxMQUJFTD12b2x1bWVfbmFtZSAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorI34gbXNnc3RyICIiCisjfiAia8OkeXR0w7Y6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgICVzIFstdl0gWy1wIHByaW9yaXRlZXR0aV0gZXJpa29pc3RpZWRvc3RvfExBQkVMPWxldnluX25pbWnDtiAuLi5cbiIKKyN+ICIgICAgICAgICVzIFstc11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJrw6R5dHTDtjogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgICVzIFstdl0gZXJpa29pc3RpZWRvc3RvIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgY2Fub25pY2FsaXplICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogdGllZG9zdG9hICVzIGVpIHZvaSBhdmF0YTogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiByZW5pY2UgcHJpb3JpdHkgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXNlcnMgXVxuIgorI34gbXNnc3RyICJrw6R5dHTDtjogcmVuaWNlIHByaW9yaXRlZXR0aSBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSBrw6R5dHTDpGrDpHQgXVxuIgorCisjfiBtc2dpZCAiXHQtJWNcdEVuYWJsZSAlc1xuIgorI34gbXNnc3RyICJcdC0lY1x0T3RhIGvDpHl0dMO2w7ZuICVzXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKKyN+IG1zZ3N0ciAi4oCdJXPigJ06IHZpYWxsaW5lbiBoYWtlbWlzdG86IOKAnS7igJ0gZWkgb2xlIGVuc2ltbcOkaXNlbsOkXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICLigJ0lc+KAnTogdmlhbGxpbmVuIGhha2VtaXN0bzog4oCdLi7igJ0gZWkgb2xlIHRvaXNlbmFcbiIKKworI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICIlcyBwYWtldGlzdGEgdXRpbC1saW51eC0lc1xuIgorCisjfiBtc2dpZCAiRXhjZWVkZWQgTUFYRU5UUklFUy4gIFJhaXNlIHRoaXMgdmFsdWUgaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiTUFYRU5UUklFUyB5bGl0ZXR0eS4gS2FzdmF0YSB0w6R0w6QgYXJ2b2EgdGllZG9zdG9zc2EgbWtjcmFtZnMuYyBqYSBrw6TDpG5uw6QgdXVkZWxsZWVuLiBQb2lzdHV0YWFuLlxuIgorCisjfiBtc2dpZCAiQXNzdW1pbmcgcGFnZXMgb2Ygc2l6ZSAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJPbGV0ZXRhYW4gc2l2dWplbiBrb29rc2kgJWQgKGVpICVkKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJBdXRvbWFhdHRpa29uZmlndXJvaW50aSBsw7Z5c2k6ICVzJXMlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIkRyaXZlIHR5cGVcbiIKKyN+ICIgICA/ICAgYXV0byBjb25maWd1cmVcbiIKKyN+ICIgICAwICAgY3VzdG9tICh3aXRoIGhhcmR3YXJlIGRldGVjdGVkIGRlZmF1bHRzKSIKKyN+IG1zZ3N0ciAiIgorI34gIkFzZW1hbiB0eXlwcGlcbiIKKyN+ICIgICA/ICAgYXV0b21hYXR0aW5lbiBrb25maWd1cm9pbnRpXG4iCisjfiAiICAgMCAgIG11a2F1dGV0dHUgKGxhaXR0ZWlzdG9uIG11a2Fpc2lsbGEgb2xldHVrc2lsbGEpIgorCisjfiBtc2dpZCAiU2VsZWN0IHR5cGUgKD8gZm9yIGF1dG8sIDAgZm9yIGN1c3RvbSk6ICIKKyN+IG1zZ3N0ciAiVmFsaXRzZSB0eXlwcGkgKD86IGF1dG9tYWF0dGluZW4sIDA6IG11a2F1dGV0dHUpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiVm9pdCBzw6TDpHTDpMOkIGthaWtraWEgbGV2eW4gcGFyYW1ldHJlamEgeC12YWxpa29zdGEiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIjMsNVwiIGxldnlrZSIKKworI34gbXNnaWQgIiVzOiBlcnJvcjogdGhlIGxhYmVsICVzIG9jY3VycyBvbiBib3RoICVzIGFuZCAlc1xuIgorI34gbXNnc3RyICIlczogbmltacO2ICVzIGVzaWludHl5IHNla8OkIHBhaWthc3NhICVzIGV0dMOkICVzXG4iCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IG9wZW4gJXMsIHNvIFVVSUQgYW5kIExBQkVMIGNvbnZlcnNpb24gY2Fubm90IGJlIGRvbmUuXG4iCisjfiBtc2dzdHIgIiVzOiBsYWl0ZXR0YSAlcyBlaSB2b2l0dSBhdmF0YSwgam90ZW4gVVVJRC0gamEgTEFCRUwtbXV1bm5vc3RhIGVpIHZvaSB0ZWhkw6QuXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gVVVJRCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgd2l0aCBuZnMgbW91bnQgdmVyc2lvbiA0LCB0cnlpbmcgMy4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlcMOkb25uaXN0dWkgbmZzIG1vdW50IC12ZXJzaW9sbGEgNCwgeXJpdGV0w6TDpG4gdmVyc2lvbGxhIDMuLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50aW5nICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsaWl0ZXTDpMOkbiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdoaWxlIGd1ZXNzaW5nIGZpbGVzeXN0ZW0gdHlwZVxuIgorI34gbXNnc3RyICJtb3VudDogdmlyaGUgYXJ2YXR0YWVzc2EgdGllZG9zdG9qw6RyamVzdGVsbcOkbiB0eXlwcGnDpFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaWFuIHBpdGvDpCBrb25lbmltaTpoYWtlbWlzdG8tYXJndW1lbnR0aVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6IG11bHRpcGxlIGhvc3RuYW1lcyBub3Qgc3VwcG9ydGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiB2YXJvaXR1czogdXNlaXRhIGtvbmVuaW1pw6QgZWkgdHVldGFcbiIKKworI34gbXNnaWQgIm1vdW50OiBkaXJlY3RvcnkgdG8gbW91bnQgbm90IGluIGhvc3Q6ZGlyIGZvcm1hdFxuIgorI34gbXNnc3RyICJtb3VudDogbGlpdGV0dMOkdsOkIGhha2VtaXN0byBlaSBvbGUga29uZTpoYWtlbWlzdG8tbXVvZG9zc2FcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb3QgYmFkIGhwLT5oX2xlbmd0aFxuIgorI34gbXNnc3RyICJtb3VudDogc2FhdGlpbiB2aXJoZWVsbGluZW4gaHAtPmhfbGVuZ3RoXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXhjZXNzaXZlbHkgbG9uZyBvcHRpb24gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxpaWFuIHBpdGvDpCB2YWxpdHNpbmFyZ3VtZW50dGlcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFVucmVjb2duaXplZCBwcm90bz0gb3B0aW9uLlxuIgorI34gbXNnc3RyICJWYXJvaXR1czogVHVubmlzdGFtYXRvbiBwcm90bz0gLXZhbGl0c2luLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogT3B0aW9uIG5hbWxlbiBpcyBub3Qgc3VwcG9ydGVkLlxuIgorI34gbXNnc3RyICJWYXJvaXR1czogVmFsaXRzaW50YSBuYW1sZW4gZWkgdHVldGEuXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBvcHRpb246ICVzJXNcbiIKKyN+IG1zZ3N0ciAidHVudGVtYXRvbiBuZnMtbGlpdG9zdmFsaXRzaW46ICVzJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb3QgYmFkIGhwLT5oX2xlbmd0aD9cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHNhYXRpaW4gdmlyaGVlbGxpbmVuIGhwLT5oX2xlbmd0aD9cbiIKKworI34gbXNnaWQgIm5mcyBiaW5kcmVzdnBvcnQiCisjfiBtc2dzdHIgIm5mcyBiaW5kcmVzdnBvcnQiCisKKyN+IG1zZ2lkICJuZnMgc2VydmVyIHJlcG9ydGVkIHNlcnZpY2UgdW5hdmFpbGFibGUiCisjfiBtc2dzdHIgIm5mcy1wYWx2ZWxpbiBpbG1vaXR0aSwgZXR0ZWkgcGFsdmVsdSBvbGUga8OkeXRldHTDpHZpc3PDpCIKKworI34gbXNnaWQgInVzZWQgcG9ydG1hcHBlciB0byBmaW5kIE5GUyBwb3J0XG4iCisjfiBtc2dzdHIgImvDpHl0ZXR0aWluIHBvcnR0aWthcnRvaXRpbnRhIE5GUy1wb3J0aW4gZXRzaW1pc2VlblxuIgorCisjfiBtc2dpZCAidXNpbmcgcG9ydCAlZCBmb3IgbmZzIGRlYW1vblxuIgorI34gbXNnc3RyICJrw6R5dGV0w6TDpG4gcG9ydHRpYSAlZCBuZnMtcGFsdmVsaW1lbGxlXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAidHVudGVtYXRvbiBuZnMgc3RhdHVzIC1wYWx1dWFydm86ICVkIgorCisjfiBtc2dpZCAiaG9zdDogJXMsIGRpcmVjdG9yeTogJXNcbiIKKyN+IG1zZ3N0ciAia29uZTogJXMsIGhha2VtaXN0bzogJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY2FuJ3QgZ2V0IGFkZHJlc3MgZm9yICVzXG4iCisjfiBtc2dzdHIgInVtb3VudDogbmltZWxsZSAlcyBlaSBzYWFkYSBvc29pdGV0dGFcbiIKKworI34gbXNnaWQgInVtb3VudDogZ290IGJhZCBob3N0cC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBzYWF0aWluIHZpcmhlZWxsaW5lbiBob3N0cC0+aF9sZW5ndGhcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tYmFkIHBhdGggbGVuZ3RoXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gY3JhbWZzLS12w6TDpHLDpCBwb2x1biBwaXR1dXNcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0td3JvbmcgbWFnaWNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZpcmhlZWxsaW5lbiBjcmFtZnMtLXbDpMOkcsOkIHRhaWthXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWNyYyBlcnJvclxuIgorI34gbXNnc3RyICIlczogdmlyaGVlbGxpbmVuIGNyYW1mcy0tY3JjLXZpcmhlXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBzdXBlcmJsb2NrXG4iCisjfiBtc2dzdHIgIiVzOiB2aXJoZWVsbGluZW4gY3JhbWZzLS12aWFsbGluZW4gc3VwZXJsb2hrb1xuIgorCisjfiBtc2dpZCAibWtmcyB2ZXJzaW9uICVzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcy12ZXJzaW8gJXMgKCVzKVxuIgorCisjfiBtc2dpZCAiZmxvY2s6IHVua25vd24gb3B0aW9uLCBhYm9ydGluZy5cbiIKKyN+IG1zZ3N0ciAiZmxvY2s6IHR1bnRlbWF0b24gdmFsaXRzaW4sIGtlc2tleXRldMOkw6RuLlxuIgorCisjfiBtc2dpZCAiVXNhZ2UgZmxvY2sgWy0tc2hhcmVkXSBbLS10aW1lb3V0PXNlY29uZHNdIGZpbGVuYW1lIGNvbW1hbmQge2FyZyBhcmcuLi59XG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiBmbG9jayBbLS1zaGFyZWRdIFstLXRpbWVvdXQ9c2VrdW5uaXRdIHRpZWRvc3RvIGtvbWVudG8ge2FyZyBhcmcuLi59XG4iCisKKyN+IG1zZ2lkICJTeW50YXggZXJyb3I6ICclcydcbiIKKyN+IG1zZ3N0ciAiU3ludGFrc2l2aXJoZTogXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJObyBzdWNoIHBhcmFtZXRlciBzZXQ6ICclcydcbiIKKyN+IG1zZ3N0ciAiUGFyYW1ldHJpYSBlaSBvbGUgYXNldGV0dHU6IFwiJXNcIlxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtcCBdIGRldiBuYW1lXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBsYWl0ZSBuaW1pXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IHNpemUgc2VjdCBoZWFkcyB0cmFja3Mgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBsYWl0ZSBrb2tvIHNla3QgcMOkw6R0IHJhaWRhdCB2ZW55dHlzIHbDpGxpIGFzdGUgZXJpazEgZm10X3bDpGxpXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBsYWl0ZVxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtYyB8IC15IHwgLW4gXSBsYWl0ZVxuIgorCisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAvZGV2L3VyYW5kb20iCisjfiBtc2dzdHIgImxhaXRldHRhIC9kZXYvdXJhbmRvbSBlaSB2b2l0dSBhdmF0YSIKKworI34gbXNnaWQgImNvdWxkbid0IHJlYWQgcmFuZG9tIGRhdGEgZnJvbSAvZGV2L3VyYW5kb20iCisjfiBtc2dzdHIgInRpZWRvc3Rvc3RhIC9kZXYvdXJhbmRvbSBlaSB2b2l0dSBsdWtlYSBzYXR1bm5haXNkYXRhYSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJ0aWVkb3N0b24gJXMgdGlsYWEgZWkgdm9pIGx1a2VhIgorCisjfiBtc2dpZCAiJXMgZG9lc24ndCBoYXZlIHRoZSBjb3JyZWN0IGZpbGVtb2RlcyIKKyN+IG1zZ3N0ciAidGllZG9zdG9uICVzIHRpbGEgZWkgb2xlIG9pa2VhIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVhZCBkYXRhIGZyb20gJXMiCisjfiBtc2dzdHIgInRpZWRvc3Rvc3RhICVzIGVpIHZvaSBsdWtlYSBkYXRhYSIKKworI34gbXNnaWQgIiIKKyN+ICJUb28gbWFueSB1c2VycyBsb2dnZWQgb24gYWxyZWFkeS5cbiIKKyN+ICJUcnkgYWdhaW4gbGF0ZXIuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMaWlhbiBtb250YSBrw6R5dHTDpGrDpMOkIG9uIGpvIGtpcmphdXR1bmVlbmEuXG4iCisjfiAiWXJpdMOkIG15w7ZoZW1taW4gdXVkZWxsZWVuLlxuIgorCisjfiBtc2dpZCAiWW91IGhhdmUgdG9vIG1hbnkgcHJvY2Vzc2VzIHJ1bm5pbmcuXG4iCisjfiBtc2dzdHIgIkxpaWFuIG1vbnRhIHByb3Nlc3NpYSBrw6R5bm5pc3PDpC5cbiIKKworI34gbXNnaWQgIlRoZSBwYXNzd29yZCBtdXN0IGhhdmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzLCB0cnkgYWdhaW4uXG4iCisjfiBtc2dzdHIgIlNhbGFzYW5hc3NhIG9uIG9sdGF2YSB2w6RoaW50w6TDpG4ga3V1c2kgbWVya2tpw6QsIHlyaXTDpCB1dWRlbGxlZW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBjaGFyYWN0ZXJzIG91dCBvZiB0d28gb2YgdGhlIGZvbGxvd2luZ1xuIgorI34gImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+ICJjaGFyYWN0ZXJzLiBTZWUgcGFzc3dkKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiU2FsYXNhbmFuIG1lcmtraWVuIG9uIG9sdGF2YSBzZXVyYWF2aXN0YSBrYWhkZXN0YSByeWhtw6RzdMOkOlxuIgorI34gImlzb3QgamEgcGllbmV0IGtpcmphaW1ldCwgbnVtZXJvdCBqYSBlaS1hbGZhbnVtZWVyaXNldFxuIgorI34gIm1lcmtpdC4gTGlzw6R0aWV0b2phIG1hbnVhYWxpc2l2dWxsYSBwYXNzd2QoMSkuXG4iCisKKyN+IG1zZ2lkICJZb3UgY2Fubm90IHJldXNlIHRoZSBvbGQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIkV0IHZvaSB1dWRlbGxlZW5rw6R5dHTDpMOkIHZhbmhvamEgc2FsYXNhbm9qYS5cbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciB1c2VybmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiw4Rsw6Qga8OkeXTDpCBtaXTDpMOkbiBrw6R5dHTDpGrDpHR1bm51a3Nlc2kgdGFwYWlzdGEgc2FsYXNhbmFuYSFcbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciByZWFsbmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiw4Rsw6Qga8OkeXTDpCBtaXTDpMOkbiBvaWtlYW4gbmltZXNpIGthbHRhaXN0YSBzYWxhc2FuYW5hIVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbdXNlcm5hbWUgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiS8OkeXR0w7Y6IHBhc3N3ZCBba8OkeXR0w6Rqw6R0dW5udXMgW3NhbGFzYW5hXV1cbiIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBtYXkgdXNlIHRoZSBvbmUgYW5kIHR3byBhcmd1bWVudCBmb3Jtcy5cbiIKKyN+IG1zZ3N0ciAiVmFpbiBww6TDpGvDpHl0dMOkasOkIHZvaSBrw6R5dHTDpMOkIGFyZ3VtZW50dGVqYS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBwYXNzd2QgWy1mb3FzdlZdIFt1c2VyIFtwYXNzd29yZF1dXG4iCisjfiBtc2dzdHIgIkvDpHl0dMO2OiBwYXNzd2QgWy1mb3FzdlZdIFtrw6R5dHTDpGrDpCBbc2FsYXNhbmFdXVxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZpbmQgbG9naW4gbmFtZSIKKyN+IG1zZ3N0ciAiS8OkeXR0w6Rqw6R0dW5udXN0YSBlaSBsw7Z5ZHkiCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgY2FuIGNoYW5nZSB0aGUgcGFzc3dvcmQgZm9yIG90aGVycy5cbiIKKyN+IG1zZ3N0ciAiVmFpbiBww6TDpGvDpHl0dMOkasOkIHZvaSB2YWlodGFhIG11aWRlbiBzYWxhc2Fub2phLlxuIgorCisjfiBtc2dpZCAiQ2FuJ3QgZmluZCB1c2VybmFtZSBhbnl3aGVyZS4gSXMgYCVzJyByZWFsbHkgYSB1c2VyPyIKKyN+IG1zZ3N0ciAiS8OkeXR0w6Rqw6R0dW5udXN0YSBlaSBsw7Z5ZHkgbWlzdMOkw6RuLiBPbmtvIFwiJXNcIiB0b2RlbGxhIGvDpHl0dMOkasOkPyIKKworI34gbXNnaWQgIlVJRCBhbmQgdXNlcm5hbWUgZG9lcyBub3QgbWF0Y2gsIGltcG9zdGVyISIKKyN+IG1zZ3N0ciAiVUlEIGphIGvDpHl0dMOkasOkbmltaSBlaXbDpHQgdmFzdGFhIHRvaXNpYWFuLCBodWlqYXJpISIKKworI34gbXNnaWQgIkNoYW5naW5nIHBhc3N3b3JkIGZvciAlc1xuIgorI34gbXNnc3RyICJWYWloZGV0YWFuIGvDpHl0dMOkasOkbiAlcyBzYWxhc2FuYVxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJWaXJoZWVsbGluZW4gc2FsYXNhbmEsIGh1aWphcmkuIgorCisjfiBtc2dpZCAiRW50ZXIgbmV3IHBhc3N3b3JkOiAiCisjfiBtc2dzdHIgIlN5w7Z0w6QgdXVzaSBzYWxhc2FuYTogIgorCisjfiBtc2dpZCAiUmUtdHlwZSBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiU3nDtnTDpCB1dXNpIHNhbGFzYW5hIHV1ZGVsbGVlbjogIgorCisjfiBtc2dpZCAiWW91IG1pc3NwZWxsZWQgaXQuIFBhc3N3b3JkIG5vdCBjaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiS2lyam9pdGl0IHbDpMOkcmluLiBTYWxhc2FuYWEgZWkgdmFpaGRldHR1LiIKKworI34gbXNnaWQgIlJPT1QgUEFTU1dPUkQgQ0hBTkdFRCIKKyN+IG1zZ3N0ciAiUMOEw4RLw4RZVFTDhErDhE4gU0FMQVNBTkEgVkFJSERFVFRVIgorCisjfiBtc2dpZCAicGFzc3dvcmQgY2hhbmdlZCBieSByb290LCB1c2VyICVzIgorI34gbXNnc3RyICJww6TDpGvDpHl0dMOkasOkIHZhaWh0b2kga8OkeXR0w6Rqw6RuICVzIHNhbGFzYW5hbiIKKworI34gbXNnaWQgImNhbGxpbmcgc2V0cHduYW0gdG8gc2V0IHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJrdXRzdXRhYW4gc2V0cHduYW0gc2FsYXNhbmFuIGFzZXR0YW1pc2Vrc2kuXG4iCisKKyN+IG1zZ2lkICJQYXNzd29yZCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICJTYWxhc2FuYWEgKkVJKiB2YWloZGV0dHUuIFlyaXTDpCBtecO2aGVtbWluIHV1ZGVsbGVlbi5cbiIKKworI34gbXNnaWQgIm1vdW50OiB0aGlzIHZlcnNpb24gd2FzIGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgdGhlIHR5cGUgYG5mcyciCisjfiBtc2dzdHIgIm1vdW50OiB0w6Rtw6QgdmVyc2lvIG9uIGvDpMOkbm5ldHR5IGlsbWFuIHR1a2VhIHR5eXBpbGxlIFwibmZzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogb21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAlZFxuIgorI34gbXNnc3RyICJWYXJvaXR1czogcG9pc3RldGFhbiBvc2lvbiAlZCBqw6Rsa2Vpc2V0IG9zaW90XG4iCisKKyN+IG1zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiQkxLR0VUU0laRS1pb2N0bCBlcMOkb25uaXN0dWkgbGFpdHRlZWxsZSAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG5vdCBjb21waWxlZCB3aXRoIG1pbml4IHYyIHN1cHBvcnRcbiIKKyN+IG1zZ3N0ciAiJXM6IGVpIG9sZSBrw6TDpG5uZXR0eSBtaW5peCB2MiAtdHVlbiBrYW5zc2FcbiIKKworI34gbXNnaWQgIkJvb3QgKCUwMlgpIgorI34gbXNnc3RyICJLw6R5bm5pc3RldHTDpHbDpCAoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lICglMDJYKSIKKyN+IG1zZ3N0ciAiRWkgbWl0w6TDpG4gKCUwMlgpIgorCisjfiBtc2dpZCAiJXM6IFslMDR4XTolbGQgKCVzKSBvZmZzZXQgJWQsICVzIGVuY3J5cHRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IFslMDR4XTolbGQgKCVzKSBzaWlydHltw6QgJWQsICVzLXNhbGF1c1xuIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuXG4iCisjfiAiICAgICAgIE1heWJlIC9kZXYvbG9vcCMgaGFzIGEgd3JvbmcgbWFqb3IgbnVtYmVyPyIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBZaHTDpMOkbiBsb29wLWxhaXRldHRhIGVpIGzDtnl0eW55dC5cbiIKKyN+ICIgICAgICAgRWhrw6QgdGllZG9zdG9pbGxhIC9kZXYvbG9vcCMgb24gdsOkw6Ryw6QgbWFqb3ItYXJ2bz8iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2UgKHRoZW4gcmVjb21waWxlIG9yIGBpbnNtb2QgbG9vcC5vJyksIG9yXG4iCisjfiAiICAgICAgIG1heWJlIC9kZXYvbG9vcCMgaGFzIHRoZSB3cm9uZyBtYWpvciBudW1iZXI/IgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IEVpIGzDtnl0eW55dCB5aHTDpMOkbiBsb29wLWxhaXRldHRhLiBFaGvDpCB0w6Rtw6QgeWRpbiBlaSBvbGUgdGlldG9pbmVuXG4iCisjfiAiICAgICAgIGxvb3AtbGFpdHRlZXN0YSAoa8Okw6RubsOkIHV1ZGVsbGVlbiB0YWkgXCJpbnNtb2QgbG9vcC5vXCIpLCB0YWlcbiIKKyN+ICIgICAgICAgZWhrw6QgL2Rldi9sb29wIzppbiBtYWpvci1hcnZvIG9uIHbDpMOkcsOkPyIKKworI34gbXNnaWQgIkluaXQgKHVwIHRvIDE2IGhleCBkaWdpdHMpOiAiCisjfiBtc2dzdHIgIkFsa3VhcnZvIChrb3JrZWludGFhbiAxNiBoZWtzYW51bWVyb2EpOiAiCisKKyN+IG1zZ2lkICJOb24taGV4IGRpZ2l0ICclYycuXG4iCisjfiBtc2dzdHIgIkVpLWhla3NhbnVtZXJvIFwiJWNcIi5cbiIKKworI34gbXNnaWQgIkRvbid0IGtub3cgaG93IHRvIGdldCBrZXkgZm9yIGVuY3J5cHRpb24gc3lzdGVtICVkXG4iCisjfiBtc2dzdHIgIkF2YWltZW4gaGFrdSBzYWxhdXNqw6RyamVzdGVsbcOkbGxlICVkIGVpIG9sZSB0dWV0dHVcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIk9zaW9uICVpIGxvcHB1IGVpIG9sZSBzeWxpbnRlcmluIHJhamFsbGE6XG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIGhlbHAgZmlsZSIKKyN+IG1zZ3N0ciAiT2hqZXRpZWRvc3RvYSBlaSB2b2kgYXZhdGEiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVkIHNlY3RvcnMsICVkIGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGV2eSAlMSRzOiAlMiRkIHDDpMOkdMOkLCAlMyRkIHNla3RvcmlhLCAlNCRkIHN5bGludGVyacOkXG4iCisjfiAiWWtzaWvDtnQgPSAlNiRkICogJTckZCAtdGF2dWlzZXQgJTUkc1xuIgorI34gIlxuIgpkaWZmIC0tZ2l0IGEvcG8vZnIucG8gYi9wby9mci5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDBjODRmCi0tLSAvZGV2L251bGwKKysrIGIvcG8vZnIucG8KQEAgLTAsMCArMSwyMDE4OCBAQAorIyBUcmFuc2xhdGlvbiBvZiB1dGlsLWxpbnV4LW5nIHJ1bnRpbWUgbWVzc2FnZSB0byBGcmVuY2guCisjIENvcHlyaWdodCDCqSAxOTk2LTIwMDYsIDIwMDgtMjAxOCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMKKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQgYXMgc3VjaC4KKyMKKyMgTWljaGVsIFJvYml0YWlsbGUgPHJvYml0YWlsQElSTy5VTW9udHJlYWwuQ0E+LCAxOTk2LTIwMDYuCisjIE5pY29sYXMgUHJvdm9zdCA8bnByb3Zvc3RAcXVhZHJpdi5jb20+LCAyMDA4LTIwMDkuCisjIE1pbGFuIEJvdWNoZXQtVmFsYXQgPG5hbGltaWxhbkBjbHViLmZyPiwgMjAxMC4KKyMgRGF2aWQgUHLDqXZvdCA8ZGF2aWRAdGlsYXBpbi5vcmc+LCAyMDEwLTIwMTUuCisjIFN0w6lwaGFuZSBBdWxlcnkgPGxrcHBvQGZyZWUuZnI+LCAyMDE2LCAyMDE3LgorIyBGcsOpZMOpcmljIE1hcmNoYWwgPGZtYXJjaGFsQHBlcnNvLmJlPiwgMjAxOC4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXggMi4zMi1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxOC0wMy0xMCAxODowNCswMTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBGcsOpZMOpcmljIE1hcmNoYWwgPGZtYXJjaGFsQHBlcnNvLmJlPlxuIgorIkxhbmd1YWdlLVRlYW06IEZyZW5jaCA8dHJhZHVjQHRyYWR1Yy5vcmc+XG4iCisiTGFuZ3VhZ2U6IGZyXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuXG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gPj0gMik7XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8cMOpcmlwaMOpcmlxdWUgZGlzcXVlPiA8bnVtw6lybyBkZSBwYXJ0aXRpb24+IDxkw6lidXQ+IDxsb25ndWV1cj5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkluZm9ybWVyIGxlIG5veWF1IGRlIGzigJlleGlzdGVuY2UgZOKAmXVuZSBwYXJ0aXRpb24gaW5kaXF1w6llLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJwYXMgYXNzZXogZCdhcmd1bWVudHMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBudW3DqXJvIGRlIHBhcnRpdGlvbiBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgZMOpYnV0IGluY29ycmVjdCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEwCittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIGxvbmd1ZXVyIGluY29ycmVjdCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAiw6ljaGVjIGQnYWpvdXQgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJwb3NpdGlvbm5lciBlbiBsZWN0dXJlIHNldWxlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAicG9zaXRpb25uZXIgZW4gbGVjdHVyZS/DqWNyaXR1cmUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgImFmZmljaGVyIHNpIGxlIHDDqXJpcGjDqXJpcXVlIGVzdCBlbiBsZWN0dXJlIHNldWxlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgImFmZmljaGVyIGwnw6l0YXQgZGUgcHJpc2UgZW4gY2hhcmdlIGQnYWJhbmRvbiBkZXMgesOpcm9zIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJhZmZpY2hlciBsYSB0YWlsbGUgZGVzIGJsb2NzIChzZWN0ZXVycykgbG9naXF1ZXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJhZmZpY2hlciBsYSB0YWlsbGUgZGVzIGJsb2NzIChzZWN0ZXVycykgcGh5c2lxdWVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgImFmZmljaGVyIGxhIHRhaWxsZSBtaW5pbWFsZSBkJ0UvUyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJhZmZpY2hlciBsYSB0YWlsbGUgb3B0aW1hbGUgZCdFL1MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiYWZmaWNoZXIgbCdpbmRleCBkJ2FsaWduZW1lbnQgZW4gb2N0ZXQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgImFmZmljaGVyIGxlIG5vbWJyZSBtYXhpbWFsIGRlIHNlY3RldXJzIHBhciByZXF1w6p0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImFmZmljaGVyIGxhIHRhaWxsZSBkZSBibG9jIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJjb25maWd1cmVyIGxhIHRhaWxsZSBkZSBibG9jIHN1ciBsZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVycyBvdXZyYW50IGxlIHDDqXJpcGjDqXJpcXVlIGJsb2MiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICJhZmZpY2hlciBsZSBub21icmUgZGUgc2VjdGV1cnMgZGUgMzLCoGJpdHMgKG9ic29sw6h0ZSwgdXRpbGlzZXIgLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiYWZmaWNoZXIgbGEgY2FwYWNpdMOpIGVuIG9jdGV0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiY29uZmlndXJlciBsJ2F2YW5jZSBlbiBsZWN0dXJlICjCq8KgcmVhZGFoZWFkwqDCuykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJhZmZpY2hlciBsJ2F2YW5jZSBlbiBsZWN0dXJlICjCq8KgcmVhZGFoZWFkwqDCuykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImNvbmZpZ3VyZXIgbCdhdmFuY2UgZW4gbGVjdHVyZSAowqvCoHJlYWRhaGVhZMKgwrspIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJhZmZpY2hlciBsJ2F2YW5jZSBlbiBsZWN0dXJlICjCq8KgcmVhZGFoZWFkwqDCuykgZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJ2aWRlciBsZXMgdGFtcG9ucyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInJlbGlyZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorbXNnc3RyICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kZXMgcMOpcmlwaMOpcmlxdWVzXG4iCisiICUxJHMgLS1yZXBvcnQgW3DDqXJpcGjDqXJpcXVlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIkFwcGVsZXIgbGVzIGlvY3RsIGR1IHDDqXJpcGjDqXJpcXVlIGJsb2MgZGVwdWlzIGxhIGxpZ25lIGRlIGNvbW1hbmRlLiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NgorbXNnaWQgIiAtcSAgICAgICAgICAgICBxdWlldCBtb2RlIgorbXNnc3RyICIgLXEgICAgICAgICAgICAgcGFzc2VyIGVuIG1vZGUgc2lsZW5jaWV1eCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAtdiAgICAgICAgICAgICBtb2RlIGJhdmFyZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIgICAgIC0tcmVwb3J0ICAgYWZmaWNoZXIgdW4gcmFwcG9ydCBwb3VyIGxlIHDDqXJpcGjDqXJpcXVlIHNww6ljaWZpw6kgKG91IHRvdXMpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjAzCittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiQ29tbWFuZGVzIGRpc3BvbmlibGVzwqA6IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiAlLTI1cyBhZmZpY2hlciBsYSBjYXBhY2l0w6kgZW4gc2VjdGV1ciBkZSA1MTLCoG9jdGV0c1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImF1Y3VuIHDDqXJpcGjDqXJpcXVlIGluZGlxdcOpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbGEgdGFpbGxlIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIkNvbW1hbmRlIGluY29ubnVlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBuw6ljZXNzaXRlIHVuIGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgImVycmV1ciBkJ2lvY3RsIHN1ciAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIsOpY2hlYyBkZSAlcy5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIGEgcsOpdXNzaS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZHUgdHJhaXRlbWVudCBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBsZWN0dXJlIGR1IGTDqWJ1dCBkZSBsYSBwYXJ0aXRpb24gZGVwdWlzIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAxZXIgc2VjdC4gICAgICAgICAgVGFpbGxlICAgUMOpcmlwaMOpcmlxdWVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiQW1vcsOnYWJsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIk1vZGlmaWVyIGwnaW5kaWNhdGV1ciBkJ2Ftb3LDp2FnZSBkZSBsYSBwYXJ0aXRpb24gYWN0dWVsbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJTdXBwcmltZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU3VwcHJpbWVyIGxhIHBhcnRpdGlvbiBhY3R1ZWxsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZXNpemUiCittc2dzdHIgIlJlZGltZW5zaW9ubmVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlZHVjZSBvciBlbmxhcmdlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiUsOpZHVpcmUgb3UgYWdyYW5kaXIgbGEgcGFydGl0aW9uIGFjdHVlbGxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm91dmVsbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJDcsOpZXIgdW5lIG5vdXZlbGxlIHBhcnRpdGlvbiDDoCBwYXJ0aXIgZGUgbCdlc3BhY2UgbGlicmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiUXVpdHRlciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIlF1aXR0ZXIgbGUgcHJvZ3JhbW1lIHNhbnMgw6ljcmlyZSBsZXMgbW9kaWZpY2F0aW9ucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVHlwZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJNb2RpZmllciBsZSB0eXBlIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJIZWxwIgorbXNnc3RyICJBaWRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJBZmZpY2hlciBsJ8OpY3JhbiBkJ2FpZGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiVHJpZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIkNvcnJpZ2VyIGwnb3JkcmUgZGVzIHBhcnRpdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIsOJY3JpcmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiw4ljcmlyZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIHN1ciBsZSBkaXNxdWUgKGRlcyBkb25uw6llcyBwZXV2ZW50IMOqdHJlIGTDqXRydWl0ZXMpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAiCittc2dzdHIgIlNhdXZlZ2FyZGVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJTYXV2ZWdhcmRlciBsZSBjb250ZW51IGRlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgZGFucyB1biBmaWNoaWVyIGNvbXBhdGlibGUgc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjY0MiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAiZXJyZXVyIGludGVybmXCoDogdHlwZSBkZSBmZW7DqnRyZSBkZSBkaWFsb2d1ZSAlZCBub24gcGVybWlzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlc8KgKGTDqW1vbnTDqSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5NworbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiTm9tIGRlIGxhIHBhcnRpdGlvbsKgOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJVVUlEIGRlIGxhIHBhcnRpdGlvbsKgOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJUeXBlIGRlIGxhIHBhcnRpdGlvbsKgOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzIzCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIkF0dHJpYnV0c8KgOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQ3Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiVVVJRCBkdSBzeXN0w6htZSBkZSBmaWNoaWVyc8KgOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIsOJdGlxdWV0dGUgZHUgc3lzdMOobWUgZGUgZmljaGllcnPCoDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJTeXN0w6htZSBkZSBmaWNoaWVyc8KgOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIlBvaW50IGRlIG1vbnRhZ2XCoDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiRGlzcXVlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIlRhaWxsZcKgOiAlcywgJWp1wqBvY3RldHMsICVqdcKgc2VjdGV1cnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLDiXRpcXVldHRlwqA6ICVzLCBpZGVudGlmaWFudMKgOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiw4l0aXF1ZXR0ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODY2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICJQZXV0IMOqdHJlIHN1aXZpIGRlIE0gcG91ciBNaW8sIEcgcG91ciBHaW8sIFQgcG91ciBUaW8gb3UgUyBwb3VyIHNlY3RldXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIlZldWlsbGV6IGluZGlxdWVyIHVuZSB0YWlsbGUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIkxhIHRhaWxsZSBtaW5pbWFsZSBlc3QgJWp1wqBvY3RldHMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIkxhIHRhaWxsZSBtYXhpbWFsZSBlc3QgJWp1wqBvY3RldHMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIsOJY2hlYyBkJ2FuYWx5c2UgZGUgdGFpbGxlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJTw6lsZWN0aW9ubmVyIHVuIHR5cGUgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJTYWlzaXNzZXogbGUgbm9tIGRlIGZpY2hpZXIgc2NyaXB0wqA6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiTGUgZmljaGllciBzY3JpcHQgc2VyYSBhcHBsaXF1w6kgw6AgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBlbiBtw6ltb2lyZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzAKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkltcG9zc2libGUgZCdvdXZyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLDiWNoZWMgZOKAmWFuYWx5c2UgZHUgZmljaGllciBzY3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiw4ljaGVjIGTigJlhcHBsaWNhdGlvbiBkdSBzY3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICJMYSB0YWJsZSBkZSBwYXJ0aXRpb25zIGFjdHVlbGxlbWVudCBlbiBtw6ltb2lyZSBzZXJhIHNhdXZlZ2FyZMOpZSBkYW5zIGxlIGZpY2hpZXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTEyCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLDiWNoZWMgZCdhbGxvY2F0aW9uIGR1IHRyYWl0ZW1lbnQgZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIsOJY2hlYyBkZSBsZWN0dXJlIGRlIGzigJlhZ2VuY2VtZW50IGR1IGRpc3F1ZSBkYW5zIGxlIHNjcmlwdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJTYXV2ZWdhcmRlIGRlIGzigJlhZ2VuY2VtZW50IGR1IGRpc3F1ZSByw6l1c3NpZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiw4ljaGVjIGTigJnDqWNyaXR1cmUgZHUgc2NyaXB0ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiU8OpbGVjdGlvbm5lciB1biB0eXBlIGTigJnDqXRpcXVldHRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTkgZGlzay11dGlscy9mZGlzay5jOjEwNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg4Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIG5lIGNvbnRpZW50IHBhcyBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIHJlY29ubnVlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICJTw6lsZWN0aW9ubmV6IHVuIHR5cGUgcG91ciBjcsOpZXIgdW5lIG5vdXZlbGxlIMOpdGlxdWV0dGUgb3UgYXBwdXlleiBzdXIgwqvCoEzCoMK7IHBvdXIgY2hhcmdlciB1biBmaWNoaWVyIHNjcmlwdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiY2ZkaXNrIGVzdCB1biBwcm9ncmFtbWUgZGUgcGFydGl0aW9ubmVtZW50IGJhc8OpIHN1ciBjdXJzZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAiSWwgcGVybWV0IGRlIGNyw6llciwgc3VwcHJpbWVyIGV0IG1vZGlmaWVyIGxlcyBwYXJ0aXRpb25zIHN1ciB1biBww6lyaXBow6lyaXF1ZSBibG9jLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIkNvbW1hbmRlICAgICBTaWduaWZpY2F0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBNb2RpZmllciBsJ2luZGljYXRldXIgZCdhbW9yw6dhZ2Ugc3VyIGxhIHBhcnRpdGlvbiBhY3R1ZWxsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBTdXBwcmltZXIgbGEgcGFydGl0aW9uIGFjdHVlbGxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBBZmZpY2hlciBjZXQgw6ljcmFuIGQnYWlkZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgIENyw6llciB1bmUgbm91dmVsbGUgcGFydGl0aW9uIMOgIHBhcnRpciBkZSBsJ2VzcGFjZSBsaWJyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAgUXVpdHRlciBsZSBwcm9ncmFtbWUgc2FucyDDqWNyaXJlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIENvcnJpZ2VyIGwnb3JkcmUgZGVzIHBhcnRpdGlvbnMgKHNldWxlbWVudCBlbiBjYXMgZGUgZMOpc29yZHJlKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBNb2RpZmllciBsZSB0eXBlIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICBEw6l2ZXJzZXIgbOKAmWFnZW5jZW1lbnQgZHUgZGlzcXVlIGRhbnMgdW4gZmljaGllciBzY3JpcHQgY29tcGF0aWJsZSBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIMOJY3JpcmUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBzdXIgZGlzcXVlIChtYWp1c2N1bGUgb2JsaWdhdG9pcmUpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgICAgUHVpc3F1ZSBkZXMgZG9ubsOpZXMgcmlzcXVlbnQgZCfDqnRyZSBkw6l0cnVpdGVzLCB2b3VzIGRldmV6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICAgICBjb25maXJtZXIgb3UgYW5udWxlciBlbiBzYWlzaXNzYW50IMKrwqBvdWnCoMK7IG91IMKrwqBub27CoMK7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIHggICAgICAgICAgQWZmaWNoZXIgLyBNYXNxdWVyIGxlcyBpbmZvcm1hdGlvbnMgc3VyIGxhIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIkZsw6hjaGUtaGF1dCAgRMOpcGxhY2VyIGxlIGN1cnNldXIgdmVycyBsYSBwYXJ0aXRpb24gcHLDqWPDqWRlbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJGbMOoY2hlLWJhcyAgIETDqXBsYWNlciBsZSBjdXJzZXVyIHZlcnMgbGEgcGFydGl0aW9uIHN1aXZhbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiRmzDqGNoZS1nY2hlICBEw6lwbGFjZXIgbGUgY3Vyc2V1ciB2ZXJzIGzigJllbnRyw6llIHByw6ljw6lkZW50ZSBkdSBtZW51IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJGbMOoY2hlLWRydGUgIETDqXBsYWNlciBsZSBjdXJzZXVyIHZlcnMgbOKAmWVudHLDqWUgc3VpdmFudGUgZHUgbWVudSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiUmVtYXJxdWXCoDogdG91dGVzIGxlcyBjb21tYW5kZXMgcGV1dmVudCDDqnRyZSBzYWlzaWVzIGVuIGxldHRyZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJtYWp1c2N1bGVzIG91IG1pbnVzY3VsZXMgKHNhdWYgcG91ciBs4oCZw6ljcml0dXJlwqA6IFcgbWFqdXNjdWxlKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJVdGlsaXNleiBsc2Jsayg4KSBvciBwYXJ0eCg4KSBwb3VyIG9idGVuaXIgcGx1cyBkZSBwcsOpY2lzaW9ucyBzdXIgbGUgcMOpcmlwaMOpcmlxdWUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJBcHB1eWV6IHN1ciB1bmUgdG91Y2hlIHBvdXIgY29udGludWVyLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIkltcG9zc2libGUgZGUgbW9kaWZpZXIgbOKAmWluZGljYXRldXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBzdXBwcmltZXIgbGEgcGFydGl0aW9uwqAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgJXp1IGEgw6l0w6kgc3VwcHJpbcOpZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIlRhaWxsZSBkZSBwYXJ0aXRpb27CoDogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJUeXBlIGRlIHBhcnRpdGlvbsKgJXp1IG1vZGlmacOpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiTGUgdHlwZSBkZSBwYXJ0aXRpb27CoCV6dSBu4oCZZXN0IHBhcyBtb2RpZmnDqS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgIk5vdXZlbCB0YWlsbGXCoDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IHJlc2l6ZWQuIgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dSByZWRpbWVuc2lvbm7DqWUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MjcgZGlzay11dGlscy9jZmRpc2suYzoyNTQzIGRpc2stdXRpbHMvZmRpc2suYzoxMDYzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTEKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIGVzdCBvdXZlcnQgZW4gbW9kZSBsZWN0dXJlIHNldWxlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDMyCittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJWb3VsZXotdm91cyB2cmFpbWVudCDDqWNyaXJlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgc3VyIGxlIGRpc3F1ZcKgPyAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIlRhcGV6IMKrwqBvdWnCoMK7IG91IMKrwqBub27CoMK7IG91IGFwcHV5ZXogc3VyIMOJY2hhcCBwb3VyIHF1aXR0ZXIgY2V0dGUgZmVuw6p0cmUgZGUgZGlhbG9ndWUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgIm91aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQwCittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIlRhYmxlIGRlIHBhcnRpdGlvbnMgbm9uIMOpY3JpdGUgc3VyIGxlIGRpc3F1ZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICLDiWNoZWMgZCfDqWNyaXR1cmUgZGUgbCfDqXRpcXVldHRlIGRlIGRpc3F1ZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJMYSB0YWJsZSBkZSBwYXJ0aXRpb25zIGEgw6l0w6kgYWx0w6lyw6llLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiUmVtYXJxdWV6IHF1ZSBsZXMgZW50csOpZXMgZGUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBuZSBzb250IGFjdHVlbGxlbWVudCBwYXMgZGFucyBsJ29yZHJlIGR1IGRpc3F1ZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIGNvbnRpZW50IGTDqWrDoCB1bmUgc2lnbmF0dXJlICVzOyBlbGxlIHNlcmEgc3VwcHJpbcOpZSBwYXIgdW5lIGNvbW1hbmRlIGQnw6ljcml0dXJlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgIsOpY2hlYyBkZSBjcsOpYXRpb24gZOKAmXVuZSBub3V2ZWxsZSDDqXRpcXVldHRlIGRlIGRpc3F1ZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZGVzIHBhcnRpdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFtvcHRpb25zXSA8ZGlzcXVlPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgb3UgbWFuaXB1bGVyIHVuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIGRlIGRpc3F1ZS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08cXVhbmQ+XSAgICBzb3J0aWUgZW4gY291bGV1ciAoYXV0bywgYWx3YXlzIG91IG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAgIGTDqW1hcnJlciBhdmVjIHVuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIG1pc2Ugw6AgesOpcm9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjc2IGRpc2stdXRpbHMvZmRpc2suYzo5NTAgZGlzay11dGlscy9zZmRpc2suYzoyMTIwCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDEwIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIm1vZGUgZGUgY291bGV1ciBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZHUgY29udGV4dGUgbGliZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICIgJXMgPHDDqXJpcGjDqXJpcXVlIGRpc3F1ZT4gPG51bcOpcm8gZGUgcGFydGl0aW9uPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJJbmZvcm1lciBsZSBub3lhdSBk4oCZb3VibGllciBsYSBwYXJ0aXRpb24gaW5kaXF1w6llLlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICLDqWNoZWMgZGUgc3VwcHJlc3Npb24gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRhZ2UgZW4gY291cnPigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgInRlcm1pbsOpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiVsOpcmlmaWNhdGlvbiBlbiBjb3Vyc+KApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkxlY3R1cmXCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJQcm9ibMOobWUgZGUgbGVjdHVyZSBkZSBwaXN0ZS90w6p0ZcKgJXUvJXUsICVkwqBhdHRlbmR1LCAlZMKgbHVcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImRvbm7DqWVzIGNvcnJvbXB1ZXMgw6AgcGlzdGUvdMOqdGXCoCV1LyV1XG4iCisiUG91cnN1aXRlIGR1IHRyYWl0ZW1lbnTigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8cMOpcmlwaMOpcmlxdWU+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIlLDqWFsaXNlciB1biBmb3JtYXRhZ2UgYmFzIG5pdmVhdSBk4oCZdW5lIGRpc3F1ZXR0ZS5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAgY29tbWVuY2VyIMOgIGxhIHBpc3RlwqBOICgwIHBhciBkw6lmYXV0KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIGFycsOqdGVyIMOgIGxhIHBpc3RlwqBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIGVzc2F5ZXIgZGUgcsOpcGFyZXIgbGVzIHBpc3RlcyBlbiBlcnJldXIgcGVuZGFudFxuIgorIiAgICAgICAgICAgICAgICAgICAgIGxhIHbDqXJpZmljYXRpb24gKE7CoGVzc2FpcyBhdSBtYXhpbXVtKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICBkw6lzYWN0aXZlciBsYSB2w6lyaWZpY2F0aW9uIGFwcsOocyBsZSBmb3JtYXRhZ2VcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3TCoC0gZnJvbSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiYXJndW1lbnQgaW5jb3JyZWN0wqAtIHRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiYXJndW1lbnQgaW5jb3JyZWN0wqAtIHJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTQ4CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzcKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc5NworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODIxIGRpc2stdXRpbHMvbWtzd2FwLmM6MjQzIGRpc2stdXRpbHMvcGFydHguYzo5NTEKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODggbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzcgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NSBzeXMtdXRpbHMvYmxrem9uZS5jOjk5CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5NyBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjAKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo3OSBzeXMtdXRpbHMvbnNlbnRlci5jOjE2NCBzeXMtdXRpbHMvbnNlbnRlci5jOjE2OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUyMyBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5NAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTM3IHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBzdGF0IHN1ciAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzwqA6IG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXRlcm1pbmVyIGxlIHR5cGUgZGUgZm9ybWF0IGFjdHVlbCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlc8KgZmFjZSwgJWTCoHBpc3RlcywgJWTCoHNlY3RldXJzL3Bpc3RlLiBDYXBhY2l0w6kgdG90YWxlICVkwqBrby5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRG91YmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJTaW1wbGUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgImxhIHBpc3RlIGluaXRpYWxlIGTDqWZpbmllIHBhciBs4oCZdXRpbGlzYXRldXIgZMOpcGFzc2UgbGUgbWF4aW11bSBwcm9wcmUgYXUgc3VwcG9ydCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgImxhIHBpc3RlIGZpbmFsZSBkw6lmaW5pZSBwYXIgbOKAmXV0aWxpc2F0ZXVyIGTDqXBhc3NlIGxlIG1heGltdW0gcHJvcHJlIGF1IHN1cHBvcnQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAibGEgcGlzdGUgaW5pdGlhbGUgZMOpZmluaWUgcGFyIGzigJl1dGlsaXNhdGV1ciBkw6lwYXNzZSBsYSBwaXN0ZSBmaW5hbGUgZMOpZmluaWUgcGFyIGzigJl1dGlsaXNhdGV1ciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MyBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBmZXJtZXR1cmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICJTw6lsZWN0aW9ubmV6ICglYyBwYXIgZMOpZmF1dCnCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJVdGlsaXNhdGlvbiBkZSBsYSByw6lwb25zZSAlYyBwYXIgZMOpZmF1dC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjIgZGlzay11dGlscy9mZGlzay5jOjI5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzcxCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI0MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlZhbGV1ciBob3JzIGxpbWl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCAlYyBwYXIgZMOpZmF1dCnCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCAlPFBSSXU2ND4gcGFyIGTDqWZhdXQpwqA6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgJWMgcGFyIGTDqWZhdXQpwqA6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sICU8UFJJdTY0PiBwYXIgZMOpZmF1dCnCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKcKgOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pwqA6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbT111aS9bTl1vbsKgOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJDb2RlIEhleGEgKHRhcGVyIEwgcG91ciBhZmZpY2hlciB0b3VzIGxlcyBjb2RlcynCoDoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJUeXBlIGRlIHBhcnRpdGlvbiAodGFwZXIgTCBwb3VyIGFmZmljaGVyIHRvdXMgbGVzIHR5cGVzKcKgOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJJbmRpY2F0ZXVyIGRlIGNvbXBhdGliaWxpdMOpIERPUyBhY3RpdsOpIChvYnNvbMOodGUpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJJbmRpY2F0ZXVyIGRlIGNvbXBhdGliaWxpdMOpIERPUyBub24gYWN0aXbDqSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAlenUgbidleGlzdGUgcGFzIGVuY29yZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIkluY29ubnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICJUeXBlIGRlIHBhcnRpdGlvbiDCq8KgJXPCoMK7IG1vZGlmacOpIGVuIMKrwqAlc8KgwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiVHlwZSBkZSBwYXJ0aXRpb27CoCV6dSBpbmNoYW5nw6nCoDogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczogaW5kZXggPSAlPFBSSXU2ND4sIHRhaWxsZSA9ICV6dcKgb2N0ZXRzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMworbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNlIHBvc2l0aW9ubmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJQcmVtaWVyIHNlY3RldXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIsOpY2hlYyBkJ2lvY3RsIEJMS0dFVFNJWkUgaW9jdGwgc3VyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiTCdhbmNpZW5uZSBzaWduYXR1cmUgJXMgc2VyYSBlbmxldsOpZSBwYXIgdW5lIGNvbW1hbmRlIGQnw6ljcml0dXJlLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJJbCBlc3QgcG9zc2libGUgcXVlIGwnYW5jaWVubmUgc2lnbmF0dXJlICVzIHJlc3RlIHN1ciBsZSBww6lyaXBow6lyaXF1ZS4gSWwgZXN0IHJlY29tbWFuZMOpIGRlIG5ldHRveWVyIGxlIHDDqXJpcGjDqXJpcXVlIGF2ZWMgd2lwZWZzKDgpIG91IGZkaXNrIC0td2lwZSBwb3VyIMOpdml0ZXIgZCfDqXZlbnR1ZWxsZXMgY29sbGlzaW9ucy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc3F1ZT4gICAgICBtb2RpZmllciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzcXVlPl0gYWZmaWNoZXIgbGEgdGFibGUgZGUgcGFydGl0aW9uc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8dGFpbGxlPiAgICB0YWlsbGUgZGVzIHNlY3RldXJzIHBoeXNpcXVlIGV0IGxvZ2lxdWVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBuZSBwYXMgZWZmYWNlciBsZXMgYm9vdGJpdHMgbG9ycyBkZSBsYSBjcsOpYXRpb24gZCd1bmUgbm91dmVsbGUgw6l0aXF1ZXR0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGVzdCDCq8KgZG9zwqDCuyBvdSDCq8Kgbm9uZG9zwqDCuyAocGFyIGTDqWZhdXQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHF1YW5kPl0gICAgICAgICBzb3J0aWUgZW4gY291bGV1ciAoYXV0bywgYWx3YXlzIG91IG5ldmVyKVxuIgorCisjIE5PVEU6IHMvZW5kL2FuZC8KKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgcGFydGl0aW9ucyBldCBxdWl0dGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTgKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgICAgICAgIGNvbG9ubmVzIGFmZmljaMOpZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIG5lIHJlY29ubmHDrnRyZSBxdWUgbGUgdHlwZSBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIGluZGlxdcOpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5pdHNbPTx1bml0w6k+XSAgICAgICAgIGFmZmljaGVyIGwndW5pdMOpwqA6IMKrwqBjeWxpbmRyZcKgwrsgb3UgwqvCoHNlY3RldXLCoMK7IChwYXIgZMOpZmF1dClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsYSB0YWlsbGUgZHUgcMOpcmlwaMOpcmlxdWUgZW4gc2VjdGV1ciBkZSA1MTLCoG9jdGV0cyBbb2Jzb2zDqHRlXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsYSBUQUlMTEUgZW4gb2N0ZXQgcGx1dMO0dCBxdSdlbiBmb3JtYXQgbGlzaWJsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZVs9PG1vZGU+XSAgICAgICBuZXR0b3llciBsZXMgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG91IG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgbmV0dG95ZXIgbGVzIHNpZ25hdHVyZXMgZGVzIG5vdXZlbGxlcyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxub21icmU+ICAgICAgaW5kaXF1ZXIgbGUgbm9tYnJlIGRlIGN5bGluZHJlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPG5vbWJyZT4gICAgICAgICAgaW5kaXF1ZXIgbGUgbm9tYnJlIGRlIHTDqnRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI5Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA8bm9tYnJlPiAgICAgICAgaW5kaXF1ZXIgbGUgbm9tYnJlIGRlIHNlY3RldXJzIHBhciBwaXN0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIHRhaWxsZSBkZSBzZWN0ZXVyIGluY29ycmVjdCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxMAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBjeWxpbmRyZXMgaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgInBpbG90ZSBkJ8OpdGlxdWV0dGUgRE9TIGludHJvdXZhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIm1vZGUgZGUgY29tcGF0aWJpbGl0w6kgwqvCoCVzwqDCuyBpbmNvbm51IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM1Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgdMOqdGVzIGluY29ycmVjdCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgc2VjdGV1cnMgaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIsOpdGlxdWV0dGUgZGUgZGlzcXVlIG5vbiBwcmlzZSBlbiBjaGFyZ2XCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NzUKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICJ1bml0w6kgbm9uIHByaXNlIGVuIGNoYXJnZSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDg5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJtb2RlIG5ldHRveWFnZSBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIkxlcyBwcm9wcmnDqXTDqXMgZHUgcMOpcmlwaMOpcmlxdWUgKHRhaWxsZSBkZSBzZWN0ZXVyIGV0IGfDqW9tw6l0cmllKSBuZSBkb2l2ZW50IMOqdHJlIHV0aWxpc8OpZXMgcXXigJlhdmVjIHVuIHNldWwgcMOpcmlwaMOpcmlxdWUgaW5kaXF1w6kuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAzMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA0OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njk1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODcKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NjcgZGlzay11dGlscy9yYXcuYzoxMzcgZGlzay11dGlscy9yYXcuYzoxNTAKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTYyIGRpc2stdXRpbHMvcmF3LmM6MjAzIG1pc2MtdXRpbHMvY2FsLmM6NTIwCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjU4IG1pc2MtdXRpbHMvbG9vay5jOjE1MCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1NzMKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU4NCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1OTUgbWlzYy11dGlscy93aGVyZWlzLmM6NjM3CisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MDQgc2NoZWR1dGlscy9pb25pY2UuYzoyNjIgc2NoZWR1dGlscy90YXNrc2V0LmM6MTg5CisjOiBzeXMtdXRpbHMvY2hjcHUuYzozNDQgc3lzLXV0aWxzL2NobWVtLmM6NDE5IHN5cy11dGlscy9kbWVzZy5jOjE0NjkKKyM6IHN5cy11dGlscy9pcGNtay5jOjEzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozMjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMjUgc3lzLXV0aWxzL2xzbWVtLmM6NjI4IHN5cy11dGlscy9tb3VudC5jOjY5OAorIzogc3lzLXV0aWxzL21vdW50LmM6NzExIHN5cy11dGlscy9tb3VudC5jOjc4MCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE4MQorIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3MiBzeXMtdXRpbHMvc3dhcG9mZi5jOjIzMCBzeXMtdXRpbHMvc3dhcG9uLmM6OTg4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTAgc3lzLXV0aWxzL3Vtb3VudC5jOjUyOCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTc2CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIzMyB0ZXh0LXV0aWxzL21vcmUuYzozMzcKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIm1hdXZhaXNlIHV0aWxpc2F0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICJCaWVudmVudWUgZGFucyBmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTYgZGlzay11dGlscy9zZmRpc2suYzoxNjE2Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorIkxlcyBtb2RpZmljYXRpb25zIHJlc3Rlcm9udCBlbiBtw6ltb2lyZSBqdXNxdSfDoCDDqWNyaXR1cmUuXG4iCisiU295ZXogcHJ1ZGVudCBhdmFudCBkJ3V0aWxpc2VyIGxhIGNvbW1hbmRlIGQnw6ljcml0dXJlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICJVbiBHUFQgaHlicmlkZSBhIMOpdMOpIGTDqXRlY3TDqS4gVm91cyBkZXZleiBzeW5jaHJvbmlzZXIgbGUgc2VjdGV1ciBk4oCZYW1vcsOnYWdlIGh5YnJpZGUgdm91cyBtw6ptZSAoY29tbWFuZGUgcG91ciBzcMOpY2lhbGlzdGVzIMKrwqBNwqDCuykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlR5cGUgZCfDqXRpcXVldHRlIGRlIGRpc3F1ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiSWRlbnRpZmlhbnQgZGUgZGlzcXVlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiRGlzcXVlICVzwqA6ICVzLCAlanXCoG9jdGV0cywgJWp1wqBzZWN0ZXVycyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICJHw6lvbcOpdHJpZcKgOiAlZMKgdMOqdGVzLCAlbGx1wqBzZWN0ZXVycy9waXN0ZSwgJWxsdcKgY3lsaW5kcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJVbml0w6lzwqA6ICVzIGRlICVkIMOXICVsZCA9ICVsZMKgb2N0ZXRzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlRhaWxsZSBkZSBzZWN0ZXVyIChsb2dpcXVlIC8gcGh5c2lxdWUpwqA6ICVsdcKgb2N0ZXRzIC8gJWx1wqBvY3RldHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgInRhaWxsZSBkJ0UvUyAobWluaW1hbGUgLyBvcHRpbWFsZSnCoDogJWx1wqBvY3RldHMgLyAlbHXCoG9jdGV0cyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJJbmRleCBkJ2FsaWduZW1lbnTCoDogJWx1wqBvY3RldHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZCdpdMOpcmF0ZXVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIsOpY2hlYyBk4oCZYWxsb2NhdGlvbiBkdSB0YWJsZWF1IGRlIHNvcnRpZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIsOpY2hlYyBk4oCZYWxsb2NhdGlvbiBkZSBsYSBsaWduZSBkZSBzb3J0aWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiw6ljaGVjIGQnYWpvdXQgZGUgZG9ubsOpZXMgZGUgc29ydGllIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJMYSBwYXJ0aXRpb27CoCV6dSBuZSBjb21tZW5jZSBwYXMgc3VyIHVuZSBmcm9udGnDqHJlIGRlIGN5bGluZHJlIHBoeXNpcXVlLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiTGEgc2lnbmF0dXJlIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXIvUkFJRCBkZSBsYSBwYXJ0aXRpb27CoCV6dSB2YSDDqnRyZSBuZXR0b3nDqWUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJMZXMgZW50csOpZXMgZGUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBuZSBzb250IHBhcyBkYW5zIGwnb3JkcmUgZHUgZGlzcXVlLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJEw6lidXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNgorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjkgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMjEKK21zZ2lkICJFbmQiCittc2dzdHIgIkZpbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNlY3RldXJzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiVGFpbGxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkVzcGFjZSBub24gcGFydGl0aW9ubsOpICVzwqA6ICVzLCAlanXCoG9jdGV0cywgJWp1wqBzZWN0ZXVycyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXMgY29sb25uZSBpbmNvbm51ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICJHw6luw6lyaXF1ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgInN1cHByaW1lciB1bmUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICJhZmZpY2hlciBs4oCZZXNwYWNlIGxpYnJlIG5vbiBwYXJ0aXRpb25uw6kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJhZmZpY2hlciBsZXMgdHlwZXMgZGUgcGFydGl0aW9ucyBjb25udWVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICJham91dGVyIHVuZSBub3V2ZWxsZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImFmZmljaGVyIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJtb2RpZmllciBsZSB0eXBlIGQndW5lIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInbDqXJpZmllciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiQWZmaWNoZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBsYSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGRvbm7DqWVzIGJydXRlcyBkdSBwcmVtaWVyIHNlY3RldXIgZHUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiYWZmaWNoZXIgbGVzIGRvbm7DqWVzIGJydXRlcyBkZSBs4oCZw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgZHUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJjb3JyaWdlciBsJ29yZHJlIGRlcyBwYXJ0aXRpb25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICJBdXRyZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICJhZmZpY2hlciBjZSBtZW51IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTMKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAibW9kaWZpZXIgbGVzIHVuaXTDqXMgZCdhZmZpY2hhZ2UgZXQgZGUgc2Fpc2llIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJmb25jdGlvbnMgYXZhbmPDqWVzIChyw6lzZXJ2w6llcyBhdXggc3DDqWNpYWxpc3RlcykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiU2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJjaGFyZ2VtZW50IGRlIGzigJlhZ2VuY2VtZW50IMOgIHBhcnRpciBkdSBmaWNoaWVyIGRlIHNjcmlwdCBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJzYXV2ZWdhcmRlIGRlIGzigJlhZ2VuY2VtZW50IHZlcnMgbGUgZmljaGllciBkZSBzY3JpcHQgc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiU2F1dmVnYXJkZXIgZXQgcXVpdHRlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiw6ljcmlyZSBsYSB0YWJsZSBzdXIgbGUgZGlzcXVlIGV0IHF1aXR0ZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIsOpY3JpcmUgbGEgdGFibGUgc3VyIGxlIGRpc3F1ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICJxdWl0dGVyIHNhbnMgZW5yZWdpc3RyZXIgbGVzIG1vZGlmaWNhdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgInJldmVuaXIgYXUgbWVudSBwcmluY2lwYWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgInJldmVuaXIgZGUgQlNEIHZlcnMgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIkNyw6llciB1bmUgbm91dmVsbGUgw6l0aXF1ZXR0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyw6llciB1bmUgbm91dmVsbGUgdGFibGUgdmlkZSBkZSBwYXJ0aXRpb25zIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJjcsOpZXIgdW5lIG5vdXZlbGxlIHRhYmxlIHZpZGUgZGUgcGFydGl0aW9ucyBTR0kgKElSSVgpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDAKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3LDqWVyIHVuZSBub3V2ZWxsZSB0YWJsZSB2aWRlIGRlIHBhcnRpdGlvbnMgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3LDqWVyIHVuZSBub3V2ZWxsZSB0YWJsZSB2aWRlIGRlIHBhcnRpdGlvbnMgU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDUKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyw6llciB1bmUgdGFibGUgZGUgcGFydGl0aW9ucyBkZSB0eXBlIElSSVggKFNHSSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICJHw6lvbcOpdHJpZSAocG91ciBsJ8OpdGlxdWV0dGUgYWN0dWVsbGUpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tYnJlIGRlIGN5bGluZHJlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU2Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tYnJlIGRlIHTDqnRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJtb2RpZmllciBsZSBub21icmUgZGUgc2VjdGV1cnMgcGFyIHBpc3RlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAibW9kaWZpZXIgbGUgR1VJRCBkZSBkaXNxdWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJtb2RpZmllciBs4oCZVVVJRCBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgIm1vZGlmaWVyIGxhIGxvbmd1ZXVyIGRlIGxhIHRhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzEKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgImVudHJlciBsZSBzZWN0ZXVyIGTigJlhbW9yw6dhZ2UgKE1CUikgcHJvdGVjdGV1ciBvdSBoeWJyaWRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIm1vZGlmaWVyIGwnaW5kaWNhdGV1ciBkJ2Ftb3LDp2FnZSBwb3VyIHZpZXV4IEJJT1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAibW9kaWZpZXIgbCdpbmRpY2F0ZXVyIGRlIHByb3RvY29sZSBk4oCZRS9TIHNhbnMgYmxvYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc2Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAibW9kaWZpZXIgbCdpbmRpY2F0ZXVyIGRlIHBhcnRpdGlvbiBuw6ljZXNzYWlyZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIm1vZGlmaWVyIGxlcyBiaXRzIHNww6ljaWZpcXVlcyBhdSBHVUlEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAibW9kaWZpZXIgbCdpbmRpY2F0ZXVyIGRlIGxlY3R1cmUgc2V1bGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIm1vZGlmaWVyIGwnaW5kaWNhdGV1ciDCq8KgbW9udGFibGXCoMK7IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIm1vZGlmaWVyIGxlIG5vbWJyZSBkZSBjeWxpbmRyZXMgYWx0ZXJuYXRpZnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIm1vZGlmaWVyIGxlIG5vbWJyZSBkZSBzZWN0ZXVycyBhZGRpdGlvbm5lbHMgcGFyIGN5bGluZHJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIm1vZGlmaWVyIGxlIGZhY3RldXIgwqvCoGludGVybGVhdmXCoMK7IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIm1vZGlmaWVyIGxhIHZpdGVzc2UgZGUgcm90YXRpb24gZW4gdG91ciBwYXIgbWludXRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAibW9kaWZpZXIgbGUgbm9tYnJlIGRlIGN5bGluZHJlcyBwaHlzaXF1ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJzw6lsZWN0aW9ubmVyIHVuZSBwYXJ0aXRpb24gYW1vcsOnYWJsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiw6lkaXRlciBsJ2VudHLDqWUgZHUgZmljaGllciBkJ2Ftb3LDp2FnZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAic8OpbGVjdGlvbm5lciB1bmUgcGFydGl0aW9uIGQnw6ljaGFuZ2UgcG91ciBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiY3LDqWVyIGRlcyBpbmZvcm1hdGlvbnMgU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoc2VjdGV1ciBkJ2Ftb3LDp2FnZSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIm1vZGlmaWVyIHVuIGluZGljYXRldXIgZCdhbW9yw6dhZ2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIsOpZGl0ZXIgbCfDqXRpcXVldHRlIEJTRCBpbWJyaXF1w6llIGR1IGRpc3F1ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICJtb2RpZmllciBsJ2luZGljYXRldXIgZGUgY29tcGF0aWJpbGl0w6kgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJkw6lwbGFjZXIgbGUgZMOpYnV0IGRlcyBkb25uw6llcyBkYW5zIHVuZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJtb2RpZmllciBsJ2lkZW50aWZpYW50IGRlIGRpc3F1ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAicmV2ZW5pciBkdSBzZWN0ZXVyIGTigJlhbW9yw6dhZ2UgKE1CUikgcHJvdGVjdGV1ciBvdSBoeWJyaWRlIHZlcnMgR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICLDqWRpdGVyIGxlcyBkb25uw6llcyBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgImluc3RhbGxlciB1biBhbW9yw6dhZ2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICJtb250cmVyIGwnw6l0aXF1ZXR0ZSBjb21wbMOodGUgZHUgZGlzcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgImxpZXIgbGEgcGFydGl0aW9uIEJTRCDDoCB1bmUgcGFydGl0aW9uIHF1aSBuJ2VzdCBwYXMgZGUgdHlwZSBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFpZGUgKGNvbW1hbmRlcyBwb3VyIHNww6ljaWFsaXN0ZXMpwqA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MyBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBaWRlwqA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJWb3VzIMOqdGVzIGVuIHRyYWluIGRlIG1vZGlmaWVyIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgaW1icmlxdcOpZSDCq8KgJXPCoMK7LCBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIHByaW1haXJlIGVzdCDCq8KgJXPCoMK7LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkNvbW1hbmRlIHBvdXIgc3DDqWNpYWxpc3RlcyAobSBwb3VyIGwnYWlkZSnCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJDb21tYW5kZSAobSBwb3VyIGwnYWlkZSnCoDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIlZvdWxlei12b3VzIHZyYWltZW50IHF1aXR0ZXLCoD8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWPCoDogY29tbWFuZGUgaW5jb25udWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJTYWlzaXNzZXogbGUgbm9tIGRlIGZpY2hpZXIgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICJSw6lpbml0aWFsaXNhdGlvbiBkZSBmZGlza8KgISIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiUsOpdXNzaXRlIGRlIGzigJlhcHBsaWNhdGlvbiBkdSBzY3JpcHQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICLDiWNoZWMgZGUgY29udmVyc2lvbiBkZSBs4oCZYWdlbmNlbWVudCBkdSBkaXNxdWUgZW4gc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiUsOpdXNzaXRlIGRlIGxhIHNhdXZlZ2FyZGUgZHUgc2NyaXB0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgIyV6dSBjb250aWVudCB1bmUgc2lnbmF0dXJlICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiVm91bGV6LXZvdXMgc3VwcHJpbWVyIGxhIHNpZ25hdHVyZcKgPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTYzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUxMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkxhIHNpZ25hdHVyZSBzZXJhIHN1cHByaW3DqWUgcGFyIHVuZSBjb21tYW5kZSBkJ8OpY3JpdHVyZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgIsOpY2hlYyBkJ8OpY3JpdHVyZSBkZSBsJ8OpdGlxdWV0dGUgZGUgZGlzcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICLDiWNoZWMgZHUgdHJpIGRlcyBwYXJ0aXRpb25zLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjQwCittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIlBhcnRpdGlvbnMgdHJpw6llcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkltcG9zc2libGUgZGUgc3VwcHJpbWVyIGxhIHBhcnRpdGlvbsKgJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiTW9kaWZpY2F0aW9uIGRlcyB1bml0w6lzIGQnYWZmaWNoYWdlIGV0IGRlIHNhaXNpZSBlbiBjeWxpbmRyZSAob2Jzb2zDqHRlKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIk1vZGlmaWNhdGlvbiBkZXMgdW5pdMOpcyBkJ2FmZmljaGFnZSBldCBkZSBzYWlzaWUgZW4gc2VjdGV1ci4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICJTb3J0aWUgZGUgbCfDqXRpcXVldHRlIGltYnJpcXXDqWUgZHUgZGlzcXVlLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiTm91dmVsbGVzIGVudHLDqWVzIG1heGltYWxlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIkVudHLDqWUgZGFucyBsJ8OpdGlxdWV0dGUgZGUgc2VjdGV1ciBk4oCZYW1vcsOnYWdlIChNQlIpIGRlIHByb3RlY3Rpb24gb3UgaHlicmlkZSBkdSBkaXNxdWUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NjEKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJOb3V2ZWwgVVVJRCAoYXUgZm9ybWF0IDgtNC00LTQtMTIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiTm91dmVhdSBub20iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgzOQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiRW50csOpZSBkYW5zIGwnw6l0aXF1ZXR0ZSBCU0QgaW1icmlxdcOpZSBkdSBkaXNxdWUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiTm9tYnJlIGRlIGN5bGluZHJlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0NAorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiTm9tYnJlIGRlIHTDqnRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJOb21icmUgZGUgc2VjdGV1cnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiVzIGVzdCBtb250w6lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzIG4nZXN0IHBhcyBtb250w6lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgbGliL3BhdGguYzoxNjMgbGliL3BhdGguYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJlcnJldXIgZCdhbmFseXNlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIGxlIHLDqXBlcnRvaXJlICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIlZlcnJvdWlsbGFnZSBkdSBkaXNxdWUgcGFyICVz4oCmICIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIihlbiBhdHRlbnRlKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJyw6l1c3NpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgIsOpY2hvdcOpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJEw6l2ZXJyb3VpbGxhZ2UgZGUgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZSBsYSBkZXNjcmlwdGlvbiBkZSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDcyIG1pc2MtdXRpbHMvZmluZG1udC5jOjc4NCBtaXNjLXV0aWxzL2xzYmxrLmM6NDQ2CisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDEgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXPCoDogZXJyZXVyIGQnYW5hbHlzZSDDoCBsYSBsaWduZcKgJWQg4oCUIGlnbm9yw6llIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2FuYWx5c2UgZGUgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8KgZm9ya8KgwrsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2V4w6ljdXRpb24iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiYXR0ZW50ZcKgOiBwbHVzIGF1Y3VuIHByb2Nlc3N1cyBlbmZhbnTCoD8hPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzg1IHN5cy11dGlscy9mbG9jay5jOjM2NCBzeXMtdXRpbHMvc3dhcG9uLmM6MzUyCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0MAorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgZm9uY3Rpb24gwqvCoHdhaXRwaWTCoMK7IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIkF2ZXJ0aXNzZW1lbnTigKYgJXMsIHDDqXJpcGjDqXJpcXVlwqAlcywgc2lnbmFsIGRlIGZpbiAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiJXMgJXPCoDogw6l0YXQgJXgsIGNlbGEgbmUgZGV2cmFpdCBwYXMgYXJyaXZlci4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiRmluIGRlICVzIChjb2RlIGRlIHJldG91ciAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJlcnJldXLCoCVkICglbSkgbG9ycyBkZSBsJ2V4w6ljdXRpb24gZGUgZnNjay4lcyBwb3VyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiU29pdCB0b3VzLCBzb2l0IGF1Y3VuIGRlcyB0eXBlcyBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcHLDqWNpc8OpcyBwYXIgLXQsXG4iCisiZG9pdmVudCDDqnRyZSBwcsOpZml4w6lzIHBhciDCq8Kgbm/CoMK7IChub24pIG91IMKrwqAhwqDCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiVzwqA6IG1hdXZhaXNlIGxpZ25lIGRhbnMgL2V0Yy9mc3RhYiBpZ25vcsOpZcKgOiByZW1vbnRhZ2UgYXZlYyBub21icmUgZGUgcGFzc2VzIGZzY2sgbm9uIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzwqA6IHDDqXJpcGjDqXJpcXVlIGluZXhpc3RhbnQgaWdub3LDqVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzwqA6IHDDqXJpcGjDqXJpcXVlIGluZXhpc3RhbnQgKGwnb3B0aW9uIMKrwqBub2ZhaWzCoMK7IGRlIGZzdGFiIHBldXQgc2VydmlyIMOgIGlnbm9yZXIgY2UgcMOpcmlwaMOpcmlxdWUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzwqA6IHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgaW5jb25udSBpZ25vcsOpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb250csO0bGVyICVzLCBmc2NrLiVzIGludHJvdXZhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiQ29udHLDtGxlIGRlIHRvdXMgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS1lbiBhdHRlbnRlLS0gKHBhc3NlwqAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSDigJQgW29wdGlvbnMtc3lzZl0gWzxzeXN0w6htZSBkZSBmaWNoaWVycz4g4oCmXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlbDqXJpZmllciBldCByw6lwYXJlciB1biBzeXN0w6htZSBkZSBmaWNoaWVycyBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NAorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICB2w6lyaWZpZXIgdG91cyBsZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLUMgWzxmZD5dICBhZmZpY2hlciB1bmUgYmFycmUgZGUgcHJvZ3Jlc3Npb27CoDsgZmQgbmUgc2VydCBxdSdhdXhcbiIKKyIgICAgICAgICAgICAgIGludGVyZmFjZXMgZ3JhcGhpcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHZlcnJvdWlsbGVyIGxlIHDDqXJpcGjDqXJpcXVlIHBvdXIgZ2FyYW50aXIgbCdleGNsdXNpdml0w6kgZGUgbCdhY2PDqHNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtTSAgICAgICAgIG5lIHBhcyB2w6lyaWZpZXIgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBtb250w6lzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTgKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICBuZSBwYXMgZXjDqWN1dGVyLCBuZSBtb250cmVyIHF1ZSBjZSBxdWkgc2VyYWl0IGFjY29tcGxpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAgdsOpcmlmaWVyIGxlcyBzeXN0w6htZXMgZGUgZmljaGllcnMgZW4gcGFyYWxsw6hsZSwgeSBjb21wcmlzIGxhIHJhY2luZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAwCittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIiCisiIC1SICAgICAgICAgaWdub3JlciBsZSBzeXN0w6htZSBkZSBmaWNoaWVycyByYWNpbmXCoDsgc2V1bGVtZW50IHV0aWxlIGF2ZWNcbiIKKyIgICAgICAgICAgICAgIGwnb3B0aW9uIMKrwqAtQcKgwrtcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorIiAtciBbPGZkPl0gIHJlbmRyZSBjb21wdGUgZGVzIHN0YXRpc3RpcXVlcyBwb3VyIGNoYXF1ZSBww6lyaXBow6lyaXF1ZSB2w6lyaWZpw6kgO1xuIgorIiAgICAgICAgICAgIGxlIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIgZXN0IHBvdXIgbGVzIElITXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICByw6lhbGlzZXIgbGVzIG9ww6lyYXRpb25zIGRlIHbDqXJpZmljYXRpb24gZW4gc8OpcmllXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGUgdGl0cmUgYXUgZMOpbWFycmFnZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA1Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAtdCA8dHlwZT4gIGluZGlxdWVyIGxlcyB0eXBlcyBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgw6AgdsOpcmlmaWVywqA7XG4iCisiICAgICAgICAgICAgPHR5cGU+IHBldXQgw6p0cmUgdW5lIGxpc3RlIHPDqXBhcsOpZSBwYXIgZGVzIHZpcmd1bGVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQxMworbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIkNvbnN1bHRleiBsZXMgY29tbWFuZGVzIGZzY2suKiBwb3VyIGxlcyBvcHRpb25zLXN5c2YgZGlzcG9uaWJsZXMuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYwCittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAidHJvcCBkZSBww6lyaXBow6lyaXF1ZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiL3Byb2MgZXN0LWlsIG1vbnTDqcKgPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCByZWNoZXJjaGVyIGxlIHR5cGUgZGUgc3lzdMOobWVzIGRlIGZpY2hpZXJzwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciB1biBzeXN0w6htZSBkZSBmaWNoaWVycyBjb3JyZXNwb25kYW50wqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgInRyb3AgZCdhcmd1bWVudHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgImFyZ3VtZW50IGluY29ycmVjdCBwb3VyIC1yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICJsJ29wdGlvbiDCq8KgJXPCoMK7IG5lIHBldXQgw6p0cmUgaW5kaXF1w6llIHF1J3VuZSBzZXVsZSBmb2lzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAibOKAmW9wdGlvbiDCq8KgJXPCoMK7IG7DqWNlc3NpdGUgdW4gYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImFyZ3VtZW50IGluY29ycmVjdCBwb3VyIC1ywqA6ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgImwnb3B0aW9uIC1sIG5lIHBldXQgw6p0cmUgdXRpbGlzw6llIHF1J2F2ZWMgdW4gc2V1bCBww6lyaXBow6lyaXF1ZSDigJQgaWdub3LDqWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8ZmljaGllcj5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNAorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWw6lyaWZpZXIgZXQgcsOpcGFyZXIgdW4gc3lzdMOobWUgZGUgZmljaGllcnMgY29tcHJlc3PDqSBlbiBST00uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzZXVsZW1lbnQgcG91ciBsYSBjb21wYXRpYmlsaXTDqSwgaWdub3LDqWVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbW9kZSBiYXZhcmRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIHNldWxlbWVudCBwb3VyIGxhIGNvbXBhdGliaWxpdMOpLCBpZ25vcsOpZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDx0YWlsbGU+IHV0aWxpc2VyIGNldHRlIHRhaWxsZSBkZSBibG9jLCB0YWlsbGUgZGUgcGFnZSBwYXIgZMOpZmF1dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz08csOpcD5dICAgIHRlc3RlciBsYSBkw6ljb21wcmVzc2lvbiwgZXh0cmFpcmUgZmFjdWx0YXRpdmVtZW50IGRhbnMgPHLDqXA+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnaW9jdGzCoDogaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxhIHRhaWxsZSBkdSBww6lyaXBow6lyaXF1ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIm4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIG91IHVuIGZpY2hpZXLCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAibm9tIGRlIGZpY2hpZXIgdHJvcCBjb3VydCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBzdXIgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJub21icmUgbWFnaXF1ZSBkdSBzdXBlcmJsb2MgaW50cm91dmFibGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAibGUgYm91dGlzbWUgZGUgY3JhbWZzIGVzdCAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJncm9zIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICJwZXRpdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgImNhcmFjdMOpcmlzdGlxdWVzIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIG5vbiBwcmlzIGVuIGNoYXJnZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgInRhaWxsZSBkZSBzdXBlcmJsb2MgKCVkKSB0cm9wIHBldGl0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAibm9tYnJlIGRlIGZpY2hpZXJzIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJsZSBmaWNoaWVyIHNlIHRlcm1pbmUgYXByw6hzIGxhIGZpbiBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJhbmNpZW4gZm9ybWF0IGNyYW1mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImltcG9zc2libGUgZGUgdGVzdGVyIGxhIHNvbW1lIGRlIGNvbnRyw7RsZSBDUkPCoDogYW5jaWVuIGZvcm1hdCBjcmFtZnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJTxQUkl1MzI+IGJ5dGVzIGZyb20gZmlsZSAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZGUgJTxQUkl1MzI+wqBvY3RldHMgZGFucyBsZSBmaWNoaWVyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJlcnJldXIgZGUgQ1JDIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgcG9zaXRpb25uZW1lbnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDgKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZGUgcm9tZnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImwnaW7Fk3VkIHJhY2luZSBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICJtYXV2YWlzIGluZGV4IGRlIHJhY2luZSAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MgorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJibG9jIGRlIGRvbm7DqWVzIHRyb3AgZ3JhbmQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImVycmV1ciBkZSBkw6ljb21wcmVzc2lvbsKgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgdHJvdSDDoCAlbHUgKCV6dSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgZMOpY29tcHJlc3Npb24gZHUgYmxvYyDDoCAlbHUgdmVycyAlbHUgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIm9jdGV0cyAoJWxkKSBkZSB0eXBlIG5vbi1ibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAib2N0ZXRzIG5vbiBhc3NvY2nDqXMgw6AgdW5lIHRhaWxsZSAoJWxkIGNvbnRyZSAlbGQpICIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnw6ljcml0dXJlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgZm9uY3Rpb24gwqvCoGxjaG93bsKgwrvCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqBjaG93bsKgwrvCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqB1dGltZcKgwrvCoDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImwnaW7Fk3VkIGR1IHLDqXBlcnRvaXJlIGEgdW4gaW5kZXggbnVsIGV0IHVuZSB0YWlsbGUgbm9uIG51bGxlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8KgbWtkaXLCoMK7wqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgImxlIG5vbSBkZSBmaWNoaWVyIGEgdW5lIGxvbmd1ZXVyIG51bGxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAibWF1dmFpc2UgbG9uZ3VldXIgZGUgbm9tIGRlIGZpY2hpZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODYKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJtYXV2YWlzIGluZGV4IGQnaW7Fk3VkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImwnaW7Fk3VkIGR1IGZpY2hpZXIgYSB1biBpbmRleCBudWwgZXQgdW5lIHRhaWxsZSBub24gbnVsbGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAibCdpbsWTdWQgZHUgZmljaGllciBhIHVuZSB0YWlsbGUgbnVsbGUgZXQgdW4gaW5kZXggbm9uIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJsaWVuIHN5bWJvbGlxdWUgZCdpbmRleCBudWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzUKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgImxpZW4gc3ltYm9saXF1ZSBkZSB0YWlsbGUgbnVsbGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAidGFpbGxlIGVycm9uw6llIGRhbnMgbGUgbGllbiBzeW1ib2xpcXVlwqA6ICVzIgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjIzCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqBzeW1saW5rwqDCu8KgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgImxlIGZpY2hpZXIgc3DDqWNpYWwgYSB1biBpbmRleCBub24gbnVswqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJsYSBwaWxlIMKrwqBGSUZPwqDCuyBhIHVuZSB0YWlsbGUgbm9uIG51bGxlwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgInNvY2tldCBheWFudCB1bmUgdGFpbGxlIG5vbiBudWxsZcKgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICJtb2RlIGhhc2FyZGV1eCAowqvCoGJvZ3VzwqDCuynCoDogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgZm9uY3Rpb24gwqvCoG1rbm9kwqDCu8KgOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJkw6lidXQgZGVzIGRvbm7DqWVzIGR1IHLDqXBlcnRvaXJlICglbHUpIDwgdGFpbGxlIGRlIChzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIGTDqWJ1dCAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJmaW4gZGVzIGRvbm7DqWVzIHLDqXBlcnRvaXJlICglbHUpICE9IGTDqWJ1dCBkb25uw6llcyBmaWNoaWVyICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJpbmRleCBkZSBkb25uw6llcyBkdSBmaWNoaWVyIG5vbiB2YWxhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgdGFpbGxlIGRlIGJsb2MgaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlc8KgOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWw6lyaWZpZXIgbCdpbnTDqWdyaXTDqSBkJ3VuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIE1JTklYLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgYWZmaWNoZXIgdG91cyBsZXMgbm9tcyBkZSBmaWNoaWVyc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgIHLDqXBhcmF0aW9uIGF1dG9tYXRpcXVlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICByw6lwYXJhdGlvbiBlbiBtb2RlIGludGVyYWN0aWZcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBtb2RlIGJhdmFyZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zLCAtLXN1cGVyICAgICAgYWZmaWNoZXIgbGVzIHJlbnNlaWduZW1lbnRzIGRlIHN1cGVyYmxvY1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2ZXIgbGVzIGF2ZXJ0aXNzZW1lbnRzIGRlIG1vZGUgbm9uIHLDqWluaXRpYWxpc8OpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MworbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlciBsYSB2w6lyaWZpY2F0aW9uXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiJXMgKG8vbinCoD8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4vbynCoD8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBlc3QgbW9udMOpLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJWb3VsZXotdm91cyB2cmFpbWVudCBjb250aW51ZXLCoD8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJ2w6lyaWZpY2F0aW9uIGFubnVsw6llLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9uZSBuciA8IHZhbGV1ciBkZSBQUkVNSUVSRV9aT05FIGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmUgbnIgPj0gdmFsZXVyIGRlIFpPTkVTIGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiU3VwcHJlc3Npb24gZHUgYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJldXIgZGUgbGVjdHVyZcKgOiBpbXBvc3NpYmxlIGRlIHNlIHBvc2l0aW9ubmVyIHN1ciB1biBibG9jIGR1IGZpY2hpZXIgwqvCoCVzwqDCu1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJldXIgZGUgbGVjdHVyZcKgOiBibG9jIGNvcnJvbXB1IGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkVycmV1ciBpbnRlcm5lwqA6IHRlbnRhdGl2ZSBkJ8OpY3JpdHVyZSBkJ3VuIGJsb2MgY29ycm9tcHVcbiIKKyJSZXF1w6p0ZSBkJ8OpY3JpdHVyZSBpZ25vcsOpZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IGRhbnMgd3JpdGVfYmxvY2sgKMOpY3JpdHVyZSBkZSBibG9jKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkVycmV1ciBkJ8OpY3JpdHVyZcKgOiBibG9jIGNvcnJvbXB1IGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBibG9jIGhvcnMgaW50ZXJ2YWxsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAiw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IHBlbmRhbnQgbCfDqWNyaXR1cmUgZHUgc3VwZXJibG9jICh3cml0ZV9zdXBlcl9ibG9jaykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsYSB0YWJsZSBkZXMgaW7Fk3VkcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsYSB0YWJsZSBkZXMgem9uZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIkltcG9zc2libGUgZCfDqWNyaXJlIGRlcyBpbsWTdWRzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYWxsb3VlciB1biB0YW1wb24gcG91ciBsZSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgbGUgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJub21icmUgbWFnaXF1ZSBjb3Jyb21wdSBkYW5zIGxlIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJTZXVscyBsZXMgYmxvY3MgZCcxwqBrbyBwYXIgem9uZSBzb250IHByaXMgZW4gY2hhcmdlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTMKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjaGFtcCBzX25pbm9kZXMgY29ycm9tcHUgZGFucyBsZSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjaGFtcCBzX2ltYXBfYmxvY2tzIGNvcnJvbXB1IGRhbnMgbGUgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjaGFtcCBzX2ZpcnN0ZGF0YXpvbmUgY29ycm9tcHUgZGFucyBsZSBzdXBlcmJsb2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjaGFtcCBzX3ptYXBfYmxvY2tzIGNvcnJvbXB1IGRhbnMgbGUgc3VwZXJibG9jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIkltcG9zc2libGUgZCdhbGxvdWVyIHVuIHRhbXBvbiBwb3VyIGxhIHRhYmxlIGRlcyBpbsWTdWRzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FsbG91ZXIgdW4gdGFtcG9uIHBvdXIgbGEgdGFibGUgZGUgem9uZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2FsbG91ZXIgdW4gdGFtcG9uIHBvdXIgbGVzIGluxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJJbXBvc3NpYmxlIGQnYWxsb3VlciB1biB0YW1wb24gcG91ciBsZSBjb21wdGV1ciBkJ2luxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIkltcG9zc2libGUgZCdhbGxvdWVyIHVuIHRhbXBvbiBwb3VyIGxlIGNvbXB0ZXVyIGRlIHpvbmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsYSB0YWJsZSBkZXMgaW7Fk3VkcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZSBsYSB0YWJsZSBkZSB6b25lcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGxpcmUgbGVzIGluxZN1ZHMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkwqBpbsWTdWRzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZMKgYmxvY3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiVGFpbGxlX3pvbmU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIlRhaWxsZV9tYXhpbWFsZT0lenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiw4l0YXQgZHUgc3lzdMOobWUgZGUgZmljaGllcnM9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibG9uZ3VldXJfbm9tcz0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIkluxZN1ZMKgJWQgbWFycXXDqSBsaWJyZSwgbWFpcyB1dGlsaXPDqSBwYXIgbGUgZmljaGllciDCq8KgJXPCoMK7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTWFycXVlciB1dGlsaXPDqSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiTGUgZmljaGllciDCq8KgJXPCoMK7IGEgbGUgbW9kZSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiQXZlcnRpc3NlbWVudMKgOiBjb21wdGUgZCdpbsWTdWRzIHRyb3AgZ3JhbmQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJsJ2luxZN1ZCBkZSBsYSByYWNpbmUgbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvYyB1dGlsaXPDqSBhdXBhcmF2YW50LiBNYWludGVuYW50IGluY2x1cyBkYW5zIGxlIGZpY2hpZXIgwqvCoCVzwqDCuy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkxpYnJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkxlIGJsb2PCoCVkIGRhbnMgbGUgZmljaGllciDCq8KgJXPCoMK7IGVzdCBtYXJxdcOpIGNvbW1lIG5vbiB1dGlsaXPDqS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJDb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkxlIHLDqXBlcnRvaXJlIMKrwqAlc8KgwrsgY29udGllbnQgdW4gbnVtw6lybyBkJ2luxZN1ZCBjb3Jyb21wdSBwb3VyIGxlIGZpY2hpZXIgwqvCoCUuKnPCoMK7LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNDEKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgRW5sZXZlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlc8KgOiByw6lwZXJ0b2lyZSBjb3Jyb21wdcKgOiDCq8KgLsKgwrsgbidhcHBhcmHDrnQgcGFzIGVuIHByZW1pZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzwqA6IHLDqXBlcnRvaXJlIGNvcnJvbXB1wqA6IMKrwqAuLsKgwrsgbidhcHBhcmHDrnQgcGFzIGVuIHNlY29uZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiZXJyZXVyIGludGVybmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlc8KgOiByw6lwZXJ0b2lyZSBjb3Jyb21wdcKgOiB0YWlsbGUgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXPCoDogcsOpcGVydG9pcmUgY29ycm9tcHXCoDogaV96b25lIGluY29ycmVjdGUsIHV0aWxpc2V6IC0tcmVwYWlyIHBvdXIgZMOpcGFubmVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzgKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IGRhbnMgYmFkX3pvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIk1vZGUgZGUgbCdpbsWTdWTCoCVsdSBub24gcsOpaW5pdGlhbGlzw6kuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW7Fk3VkwqAlbHUgbm9uIHV0aWxpc8OpLCBtYXJxdcOpIGNvbW1lIHV0aWxpc8OpIGRhbnMgbGEgdGFibGUuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkluxZN1ZMKgJWx1IHV0aWxpc8OpLCBtYXJxdcOpIGNvbW1lIGludXRpbGlzw6kgZGFucyBsYSB0YWJsZS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiSW5pdGlhbGlzw6kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbsWTdWTCoCVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgZMOpY29tcHRlPSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI3Cittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJJbml0aWFsaXNhdGlvbiBkZSBpX25saW5rcyBwb3VyIGTDqWNvbXB0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJab25lwqAlbHXCoDogbWFycXXDqWUgdXRpbGlzw6llLCBhdWN1biBmaWNoaWVyIG5lIGwndXRpbGlzZS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiTm9uIG1hcnF1w6kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmXCoCVsdcKgOiB1dGlsaXPDqWUsIGTDqWNvbXB0ZT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZcKgJWx1wqA6IG5vbiB1dGlsaXPDqWUsIGTDqWNvbXB0ZT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjk5Cittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgInRhaWxsZSBkJ2luxZN1ZCBjb3Jyb21wdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidGFpbGxlIGQnaW7Fk3VkIHYyIGNvcnJvbXB1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgImlsIGVzdCBuw6ljZXNzYWlyZSBkJ3V0aWxpc2VyIHVuIHRlcm1pbmFsIHBvdXIgZGVzIHLDqXBhcmF0aW9ucyBlbiBtb2RlIGludGVyYWN0aWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICVzwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgZXN0IHByb3ByZSwgYXVjdW5lIHbDqXJpZmljYXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJWw6lyaWZpY2F0aW9uIGZvcmPDqWUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMgc3VyICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJMZSBzeXN0w6htZSBkZSBmaWNoaWVycyBkZSAlcyBlc3QgY29ycm9tcHUsIHVuZSB2w6lyaWZpY2F0aW9uIGVzdCBuw6ljZXNzYWlyZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkwqBpbsWTdWRzIHV0aWxpc8OpcyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZMKgem9uZXMgdXRpbGlzw6llcyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmTCoGZpY2hpZXJzIHLDqWd1bGllcnNcbiIKKyIlNmTCoHLDqXBlcnRvaXJlc1xuIgorIiU2ZMKgZmljaGllcnMgZGUgcMOpcmlwaMOpcmlxdWUgY2FyYWN0w6hyZVxuIgorIiU2ZMKgZmljaGllcnMgZGUgcMOpcmlwaMOpcmlxdWUgYmxvY1xuIgorIiU2ZMKgbGllbnNcbiIKKyIlNmTCoGxpZW5zIHN5bWJvbGlxdWVzXG4iCisiLS0tLS0tXG4iCisiJTZkwqBmaWNoaWVyc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIlNZU1TDiE1FIERFIEZJQ0hJRVJTIE1PRElGScOJXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCfDqWNyaXR1cmUiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlc8KgOiBwb3VycmFpdCBuZSBwYXMgw6p0cmUgdW4gc3lzdMOobWUgZGUgZmljaGllcnMgSVNPIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgImVycmV1ciBkZSBsZWN0dXJlIHN1ciAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJub21icmUgZGUgc2VjdGV1cnPCoDogJWQsIHRhaWxsZSBkZSBzZWN0ZXVywqA6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+IC4uLlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxmaWNoaWVyX2ltYWdlX2lzbzk2NjA+IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTIKK21zZ2lkICJTaG93IHRoZSBsZW5ndGggb2YgYW4gSVNPLTk2NjAgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgbGEgdGFpbGxlIGTigJl1biBzeXN0w6htZSBkZSBmaWNoaWVycyBJU08tOTY2MC5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTxub21icmU+ICBkaXZpc2VyIGxhIHF1YW50aXTDqSBkJ29jdGV0cyBwYXIgPG5vbWJyZT5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBhZmZpY2hlciBsZSBub21icmUgZXQgbGEgdGFpbGxlIGRlcyBzZWN0ZXVyc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIGRpdmlzaW9uIGluY29ycmVjdCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiVXRpbGlzYXRpb27CoDogJXMgW29wdGlvbnNdIFtub21icmVfZGVfYmxvY3NdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJDcsOpZXIgdW4gc3lzdMOobWUgZGUgZmljaGllcnMgU0NPIGJmc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aW9uc8KgOlxuIgorIiAtTiwgLS1pbm9kZXM9TkJSRSAgaW5kaXF1ZXIgbGUgbm9tYnJlIGQnaW7Fk3VkcyB2b3VsdXNcbiIKKyIgLVYsIC0tdm5hbWU9Tk9NICAgIGluZGlxdWVyIGxlIG5vbSBkdSB2b2x1bWVcbiIKKyIgLUYsIC0tZm5hbWU9Tk9NICAgIGluZGlxdWVyIGxlIG5vbSBkdSBzeXN0w6htZSBkZSBmaWNoaWVyc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgZXhwbGlxdWVyIGxlcyBhY3Rpb25zIGVuIGNvdXJzXG4iCisiIC1jICAgICAgICAgICAgICAgICBjZXR0ZSBvcHRpb24gZXN0IGlnbm9yw6llIHNpbGVuY2lldXNlbWVudFxuIgorIiAtbCAgICAgICAgICAgICAgICAgY2V0dGUgb3B0aW9uIGVzdCBpZ25vcsOpZSBzaWxlbmNpZXVzZW1lbnRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibm9tYnJlIGQnaW7Fk3VkcyBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibm9tIGRlIHZvbHVtZSB0cm9wIGxvbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibm9tIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIHRyb3AgbG9uZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5NgorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIm5vbWJyZV9kZV9ibG9jcyBpbmNvcnJlY3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsYSB0YWlsbGUgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImFyZ3VtZW50IGRlIGJsb2NzIHRyb3AgZ3JhbmQsIGxlIG1heGltdW0gZXN0ICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJ0cm9wIGQnaW7Fk3VkcyDigJQgbGUgbWF4aW11bSBlc3QgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgInBhcyBhc3NleiBkJ2VzcGFjZSwgYXUgbW9pbnMgJWxsdcKgYmxvY3Mgc29udCBuw6ljZXNzYWlyZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJQw6lyaXBow6lyaXF1ZcKgOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIlZvbHVtZcKgOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJOb20gZHUgc3lzdMOobWUgZGUgZmljaGllcnPCoDogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJUYWlsbGUgZGUgYmxvY8KgOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbsWTdWRzwqA6ICVsZCAoZGFucyAxIGJsb2MpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbsWTdWRzwqA6ICVsZCAoZGFucyAlbGx1wqBibG9jcylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxvY3PCoDogJWxsdVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICJGaW4gZCdpbsWTdWTCoDogJWQsIGZpbiBkZXMgZG9ubsOpZXPCoDogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAiZXJyZXVyIGQnw6ljcml0dXJlIGR1IHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZXJyZXVyIGQnw6ljcml0dXJlIGRlIGwnaW7Fk3VkIGRlIGxhIHJhY2luZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4OAorbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgImVycmV1ciBkJ8OpY3JpdHVyZSBkJ2luxZN1ZCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MQorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgImVycmV1ciBkZSBwb3NpdGlvbm5lbWVudCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiZXJyZXVyIGQnw6ljcml0dXJlIGRlIGwnZW50csOpZSDCq8KgLsKgwrsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDEKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICJlcnJldXIgZCfDqWNyaXR1cmUgZGUgbCdlbnRyw6llIMKrwqAuLsKgwrsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZXJyZXVyIGRlIGZlcm1ldHVyZSBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbb3B0aW9ucy1zeXNmXSA8cMOpcmlwaMOpcmlxdWU+IFs8dGFpbGxlPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ3LDqWVyIHVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTx0eXBlPiAgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycywgZXh0MiBwYXIgZMOpZmF1dFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIgICAgIG9wdGlvbnMtc3lzZiAgIHBhcmFtw6h0cmVzIGR1IHZyYWkgY29uc3RydWN0ZXVyIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8cMOpcmlwaMOpcmlxdWU+IGNoZW1pbiB2ZXJzIGxlIHDDqXJpcGjDqXJpcXVlIMOgIHV0aWxpc2VyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8dGFpbGxlPiAgICAgICBub21icmUgZGUgYmxvY3Mgw6AgdXRpbGlzZXIgc3VyIGxlIHDDqXJpcGjDqXJpcXVlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcMOpY2lmaWVyIC1WIHBsdXMgZCd1bmUgZm9pcyBmb3JjZXJhIHVuZSBleMOpY3V0aW9uIMOgIHZpZGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnZXjDqWN1dGlvbiBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJ1dGlsaXNhdGlvbsKgOiAlcyBbLWhdIFstdl0gWy1iIHRhaWxsZV9ibG9jXSBbLWUgw6lkaXRpb25dIFstTiBib3V0aXNtZSBdIFstaSBmaWNoaWVyXSBbLW4gbm9tXSByw6lwZXJ0b2lyZSBmaWNoaWVyLXNvcnRpZVxuIgorIiAtdiAgICAgICAgICAgICAgbW9kZSBiYXZhcmRcbiIKKyIgLUUgICAgICAgICAgICAgIHRyYW5zZm9ybWVyIHRvdXMgbGVzIGF2ZXJ0aXNzZW1lbnRzIGVuIGVycmV1cnMgKGNvZGUgZGUgcmV0b3VyIG51bClcbiIKKyIgLWIgdGFpbGxlX2Jsb2MgIHV0aWxpc2VyIGNldHRlIHRhaWxsZSBkZSBibG9jLCBkb2l0IMOqdHJlIMOpZ2FsIMOgIGxhIHRhaWxsZSBkZSBwYWdlXG4iCisiIC1lIMOpZGl0aW9uICAgICAgaW5kaXF1ZXIgbGUgbnVtw6lybyBkJ8OpZGl0aW9uIChwYXJ0aWUgZGUgZnNpZClcbiIKKyIgLU4gYm91dGlzbWUgICAgIGluZGlxdWVyIGxlIHR5cGUgZGUgYm91dGlzbWUgKMKrwqBlbmRpYW7CoMK7KSBkZSBjcmFtZnMgKGJpZ3xsaXR0bGV8aG9zdCksIMKrwqBob3N0wqDCuyBwYXIgZMOpZmF1dFxuIgorIiAtaSBmaWNoaWVyICAgICAgaW5zw6lyZXIgdW4gZmljaGllciBpbWFnZSBkYW5zIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisiIC1uIG5vbSAgICAgICAgICBpbmRpcXVlciBsZSBub20gZHUgc3lzdMOobWUgZGUgZmljaGllcnMgY3JhbWZzXG4iCisiIC1wICAgICAgICAgICAgICBjb21wbMOpdGVyIGxlIGNvZGUgZCdhbW9yw6dhZ2UgYXZlYyAlZMKgb2N0ZXRzXG4iCisiIC1zICAgICAgICAgICAgICB0cmllciBsZXMgZW50csOpZXMgZGUgcsOpcGVydG9pcmUgKG9wdGlvbiBvYnNvbMOodGUsIGlnbm9yw6llKVxuIgorIiAteiAgICAgICAgICAgICAgZmFpcmUgZGVzIHRyb3VzIGV4cGxpY2l0ZXNcbiIKKyIgcsOpcGVydG9pcmUgICAgICByYWNpbmUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMgw6AgY29tcHJlc3NlclxuIgorIiBmaWNoaWVyLXNvcnRpZSAgZmljaGllciBkZSBzb3J0aWVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbGVjdHVyZSBkZSBsaWVuwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIHLDqXBlcnRvaXJlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgInN5c3TDqG1lIGRlIGZpY2hpZXJzIHRyb3AgZ3Jvcy4gRmluIGQnZXjDqWN1dGlvbi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBdHRlbnRpb27CoDogYmxvYyDCq8KgY29tcHJlc3PDqcKgwrsgZGUgdGFpbGxlID4gMipsb25ndWV1ci1kZS1ibG9jICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrbGTCoG9jdGV0cylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgZmVybWVyIGxlIGZpY2hpZXIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBudW3DqXJvIGQnw6lkaXRpb24gaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJib3V0aXNtZSBpbmNvcnJlY3TCoDsgc2V1bHMgwqvCoGJpZ8KgwrssIMKrwqBsaXR0bGXCoMK7IG91IMKrwqBob3N0wqDCuyBzb250IGFjY2VwdMOpcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogbGEgdGFpbGxlIG7DqWNlc3NhaXJlIGVzdGltw6llIChsaW1pdGUgc3Vww6lyaWV1cmUpIGVzdCBkZSAlbGxkwqBNbywgbWFpcyBsYSB0YWlsbGUgbWF4aW1hbGUgZGUgbCdpbWFnZSBlc3QgZGUgJXXCoE1vLiBBcnLDqnQgcHLDqW1hdHVyw6kgcHJvYmFibGUuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAicGxhbiBpbWFnZSBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJJbmNsdXNpb27CoDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlLDqXBlcnRvaXJlIGRlIGRvbm7DqWVzwqA6ICV6ZMKgb2N0ZXRzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJUb3V0wqA6ICV6ZMKga2lsb29jdGV0c1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9jwqA6ICV6ZMKgb2N0ZXRzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkPCoDogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICJwYXMgYXNzZXogZCdlc3BhY2UgYWxsb3XDqSBwb3VyIGwnaW1hZ2UgUk9NICglbGxkwqBhbGxvdcOpcywgJXp1wqB1dGlsaXPDqXMpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICLDqWNoZWMgZGUgbCfDqWNyaXR1cmUgZGUgbCdpbWFnZSBkYW5zIGxhIFJPTSAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgImltYWdlIFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudMKgOiBub21zIGRlcyBmaWNoaWVycyB0cm9ucXXDqXMgw6AgJXXCoG9jdGV0cy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogZmljaGllcnMgaWdub3LDqXMgZW4gcmFpc29uIGQnZXJyZXVycy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IHRhaWxsZSBkZXMgZmljaGllcnMgdHJvbnF1w6llIMOgICVsdcKgTW8gKG1vaW5zIDHCoG9jdGV0KS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudMKgOiBVSUQgdHJvbnF1w6lzIMOgICV1wqBiaXRzIChjZWxhIHBldXQgY3LDqWVyIHVuIHByb2Jsw6htZSBkZSBzw6ljdXJpdMOpKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudMKgOiBHSUQgdHJvbnF1w6lzIMOgICV1wqBiaXRzIChjZWxhIHBldXQgY3LDqWVyIHVuIHByb2Jsw6htZSBkZSBzw6ljdXJpdMOpKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIkF0dGVudGlvbsKgOiBudW3DqXJvcyBkZSBww6lyaXBow6lyaXF1ZXMgdHJvbnF1w6lzIMOgICV1wqBiaXRzLiBDZWxhIHNpZ25pZmllXG4iCisidHLDqHMgcHJvYmFibGVtZW50IHF1ZSBjZXJ0YWlucyBmaWNoaWVycyBkZSBww6lyaXBow6lyaXF1ZXMgc2Vyb250IGVycm9uw6lzLiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9jc11cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgIHV0aWxpc2VyIE1pbml4IHZlcnNpb24gMVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXRpbGlzZXIgTWluaXggdmVyc2lvbiAyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1dGlsaXNlciBNaW5peCB2ZXJzaW9uIDNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA8bm9tYnJlPiAgdGFpbGxlIG1heGltYWxlIGRlcyBub21zIGRlIGZpY2hpZXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ0Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtaSwgLS1pbm9kZXMgPG5vbWJyZT4gICAgICBpbmRpcXVlciBsZSBub21icmUgZOKAmWluxZN1ZHMgZHUgc3lzdMOobWUgZGUgZmljaGllclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgdsOpcmlmaWVyIGxhIHByw6lzZW5jZSBkZSBibG9jcyBkw6lmZWN0dWV1eCBzdXIgbGUgcMOpcmlwaMOpcmlxdWVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA8ZmljaGllcj4gbGlzdGUgZGVzIGJsb2NzIGVycm9uw6lzIGRlcHVpcyBsZSBmaWNoaWVyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgcG9zaXRpb25uZW1lbnQgZHUgYmxvYyBkJ2Ftb3LDp2FnZSBkYW5zIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgdmlkZXIgbGUgc2VjdGV1ciBkJ2Ftb3LDp2FnZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBkYW5zIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCfDqWNyaXJlIGxlIHN1cGVyYmxvYyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnw6ljcmlyZSBsYSB0YWJsZSBkZXMgaW7Fk3VkcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCfDqWNyaXJlIGxhIHRhYmxlIGRlcyB6b25lcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnw6ljcmlyZSBsZXMgaW7Fk3VkcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IGRhbnMgd3JpdGVfYmxvY2sgKMOpY3JpdHVyZSBkZSBibG9jKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ8OpY3JpdHVyZSBkYW5zIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk4CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVzwqA6IHRyb3AgZGUgYmxvY3MgY29ycm9tcHVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzwqA6IHBhcyBhc3NleiBkZSBibG9jcyB2YWxhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorIlByZW1pZXIgYmxvYyBkZSBkb25uw6llcyDDoCAlamQsIGlsIGVzdCB0cm9wIGxvaW4gKG1heCAlZCkuXG4iCisiRXNzYXlleiBkZSBzcMOpY2lmaWVyIG1vaW5zIGRlIGluxZN1ZHMgZW4gcGFzc2FudCAtLWlub2RlcyA8bnVtPiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdcKgaW7Fk3VkXG4iCittc2dzdHJbMV0gIiVsdcKgaW7Fk3Vkc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1wqBibG9jXG4iCittc2dzdHJbMV0gIiVsdcKgYmxvY3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJUYWlsbGVfem9uZT0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiVGFpbGxlIG1heGltYWxlPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IHBlbmRhbnQgbGUgdGVzdCBkZXMgYmxvY3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiVmFsZXVycyDDqXRyYW5nZXMgZGFucyBkb19jaGVja8KgOiBwcm9iYWJsZW1lbnQgdW4gYm9ndWVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBkYW5zIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlc8KgOiBibG9jcyBjb3Jyb21wdXMgYXZhbnQgbGEgem9uZSBkZSBkb25uw6llc8KgOiBjcsOpYXRpb24gZGUgc3lzdMOobWUgZGUgZmljaGllcnMgaW1wb3NzaWJsZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZMKgYmxvYyBjb3Jyb21wdVxuIgorbXNnc3RyWzFdICIlZMKgYmxvY3MgY29ycm9tcHVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBkZSBibG9jcyBjb3Jyb21wdXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICJudW3DqXJvIGRlIGJsb2MgY29ycm9tcHUgZXJyb27DqSBlbiBlbnRyw6llIMOgIGxhIGxpZ25lwqAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIGxpcmUgbGUgZmljaGllciBkZSBibG9jcyBjb3Jyb21wdXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAidGFpbGxlIGRlIGJsb2MgcGx1cyBwZXRpdGUgcXVlIGxhIHRhaWxsZSBkdSBzZWN0ZXVyIHBoeXNpcXVlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb2J0ZW5pciBsYSB0YWlsbGUgZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIlczogbGVzIGJsb2NzIGRlbWFuZMOpcyAoJWxsdSkgZXhjw6hkZW50IGxlcyBibG9jcyBkaXNwb25pYmxlcyAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXPCoDogbm9tYnJlIGRlIGJsb2NzIHRyb3AgcGV0aXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJsb25ndWV1ciBkZSBub20gbm9uIHByaXNlIGVuIGNoYXJnZcKgOiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJ2ZXJzaW9uIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXIgTWluaXggbm9uIHByaXNlIGVuIGNoYXJnZcKgOiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICItdiBlc3QgYW1iaWd1LCB1dGlsaXNleiDCq8KgLTLCoMK7IMOgIGxhIHBsYWNlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIHRhaWxsZSBtYXhpbWFsZSBkZXMgbm9tcyBkZSBmaWNoaWVyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBub21icmUgZCdpbsWTdWRzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBub21icmUgZGUgYmxvY3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgZXN0IG1vbnTDqcKgOyBpbXBvc3NpYmxlIGRlIGNyw6llciB1biBzeXN0w6htZSBkZSBmaWNoaWVycyBpY2kuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIlRhaWxsZSBkZSBwYWdlICV1IGluZGlxdcOpZSBwYXIgbCd1dGlsaXNhdGV1ciBlcnJvbsOpZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiVXRpbGlzYXRpb24gZGUgbGEgdGFpbGxlIGRlIHBhZ2XCoCVkIGluZGlxdcOpZSBwYXIgbCd1dGlsaXNhdGV1ciwgYXUgbGlldSBkZSBsYSB2YWxldXIgc3lzdMOobWUgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkwnw6l0aXF1ZXR0ZSBhIMOpdMOpIHRyb25xdcOpZS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgInBhcyBkJ8OpdGlxdWV0dGUsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJwYXMgZCdVVUlEXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlV0aWxpc2F0aW9uwqA6XG4iCisiICVzIFtvcHRpb25zXSBww6lyaXBow6lyaXF1ZSBbdGFpbGxlXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiQ3LDqWVyIHVuZSB6b25lIGQnw6ljaGFuZ2UgKHN3YXApIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnPCoDpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgdsOpcmlmaWVyIGxlcyBibG9jcyBjb3Jyb21wdXMgYXZhbnQgY3LDqWVyIGxhIHpvbmUgZCfDqWNoYW5nZVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBwZXJtZXR0cmUgdW5lIHRhaWxsZSBkJ2VzcGFjZSBkJ8OpY2hhbmdlIHBsdXMgZ3JhbmRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBxdWUgbGUgcMOpcmlwaMOpcmlxdWVcbiIKKyIgLXAsIC0tcGFnZXNpemUgVEFJTExFICAgaW5kaXF1ZXIgbGEgdGFpbGxlIGRlIHBhZ2UgZW4gb2N0ZXRcbiIKKyIgLUwsIC0tbGFiZWwgw4lUSVFVRVRURSAgIGluZGlxdWVyIGwnw6l0aXF1ZXR0ZVxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOQlJFICBpbmRpcXVlciBsZSBudW3DqXJvIGRlIHZlcnNpb24gZCdlc3BhY2UgZCfDqWNoYW5nZVxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICBpbmRpcXVlciBsJ1VVSUQgw6AgdXRpbGlzZXJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgInRyb3AgZGUgcGFnZXMgY29ycm9tcHVlc8KgOiAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICLDqWNoZWMgZGUgcG9zaXRpb25uZW1lbnQgZGFucyBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSBwYWdlIGNvcnJvbXB1ZVxuIgorbXNnc3RyWzFdICIlbHUgcGFnZXMgY29ycm9tcHVlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgImltcG9zc2libGUgZCdhbGxvdWVyIHVuZSBub3V2ZWxsZSBzb25kZSBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2Fzc2lnbmVyIHVuIHDDqXJpcGjDqXJpcXVlIMOgIGxhIHNvbmRlIGxpYmJsa2lkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJhdmVydGlzc2VtZW50wqA6IGxhIHbDqXJpZmljYXRpb24gZGVzIGJsb2NzIGTDqWZlY3R1ZXV4IGR1IGZpY2hpZXIgZOKAmWVzcGFjZSBk4oCZw6ljaGFuZ2UgbuKAmWVzdCBwYXMgcHJpc2UgZW4gY2hhcmdlwqA6ICVzIgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjEyCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpaW5pdGlhbGlzZXIgbGEgem9uZSBkJ8OpY2hhbmdlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MgorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnZWZmYWNlciBsZSBzZWN0ZXVyIGQnYW1vcsOnYWdlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlc8KgOiBhdmVydGlzc2VtZW50wqA6IGVmZmFjZW1lbnQgZGUgbCdhbmNpZW5uZSBzaWduYXR1cmUgJXMuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXPCoDogYXZlcnRpc3NlbWVudMKgOiBuJ2VmZmFjZXogcGFzIGxlcyBzZWN0ZXVycyBkZSBkw6ltYXJyYWdlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzIHRhYmxlIGRlIHBhcnRpdGlvbnMgZMOpdGVjdMOpZSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAoY29tcGlsw6kgc2FucyBsaWJibGtpZCkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJVdGlsaXNleiAtZiBwb3VyIGZvcmNlci5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGEgcGFnZSBkZSBzaWduYXR1cmUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgyCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIHRhaWxsZSBkZSBwYWdlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OAorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IG51bcOpcm8gZGUgdmVyc2lvbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAidmVyc2lvbsKgJWQgZCdlc3BhY2UgZCfDqWNoYW5nZSAoc3dhcCkgbm9uIHByaXNlIGVuIGNoYXJnZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogb3B0aW9uIC1VIGlnbm9yw6llIChsZXMgVVVJRCBuZSBzb250IHBhcyBwcmlzIGVuIGNoYXJnZSBwYXIgJXMpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICJ1biBzZXVsIGFyZ3VtZW50IGRlIHDDqXJpcGjDqXJpcXVlIGVzdCBhY3R1ZWxsZW1lbnQgcGVybWlzLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiZXJyZXVywqA6IMOpY2hlYyBkJ2FuYWx5c2UgZGUgbCdVVUlEIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAiZXJyZXVywqA6IGF1Y3VuIGVuZHJvaXQgcG91ciBkw6lmaW5pciB1bmUgem9uZSBkJ8OpY2hhbmdlLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBub21icmUgZGUgYmxvY3MgaW5jb3JyZWN0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICJlcnJldXLCoDogdGFpbGxlICVsbHXCoEtpbyBzdXDDqXJpZXVyZSDDoCBsYSB0YWlsbGUgZHUgcMOpcmlwaMOpcmlxdWUgJTxQUkl1NjQ+wqBLaW8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiZXJyZXVywqA6IGxhIHpvbmUgZCfDqWNoYW5nZSAoc3dhcCkgZG9pdCDDqnRyZSBkJ2F1IG1vaW5zICVsZMKgS2lvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiYXZlcnRpc3NlbWVudMKgOiB6b25lIGQnw6ljaGFuZ2UgKHN3YXApIHRyb25xdcOpZSDDoCAlbGx1wqBLaW8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiZXJyZXVywqA6ICVzIGVzdCBtb250w6nCoDsgaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW5lIHpvbmUgZCfDqWNoYW5nZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlc8KgOiBkcm9pdHMgJTA0byBub24gc8O7cnMsICUwNG8gY29uc2VpbGzDqWVzLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXPCoDogcHJvcHJpw6l0YWlyZcKgJWQgZGUgZmljaGllciBub24gc8O7ciwgMCAoc3VwZXJ1dGlsaXNhdGV1cikgY29uc2VpbGzDqS4iCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MDUKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbCdlc3BhY2UgZCfDqWNoYW5nZcKgOiBpbGxpc2libGUiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MDYKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJDb25maWd1cmUgbCdlc3BhY2UgZCfDqWNoYW5nZSAoc3dhcCkgZW4gdmVyc2lvbsKgJWQsIHRhaWxsZSA9ICVzICglPFBSSXU2ND7CoG9jdGV0cylcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnb2J0ZW5pciBsJ8OpdGlxdWV0dGUgZHUgZmljaGllciBTRUxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNworbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAibWF0Y2hwYXRoY29uKCkgaW51dGlsaXNhYmxlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gbm91dmVhdSBjb250ZXh0ZSBTRUxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMgorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJpbXBvc3NpYmxlIGQnw6l2YWx1ZXIgbGUgY29udGV4dGUgU0VMaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgImltcG9zc2libGUgZCfDqXRpcXVldGVyICVzIGVuICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJudW3DqXJvIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJkw6lidXQgZGUgbGEgcGFydGl0aW9uIGRhbnMgZGVzIHNlY3RldXJzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJmaW4gZGUgbGEgcGFydGl0aW9uIGRhbnMgZGVzIHNlY3RldXJzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAibm9tYnJlIGRlIHNlY3RldXJzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJ0YWlsbGUgbGlzaWJsZSBwYXIgbCd1dGlsaXNhdGV1ciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm5vbSBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJVVUlEIGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJ0eXBlIGRlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgKGRvcywgZ3B0LMKgZXRjLikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICJpbmRpY2F0ZXVycyBkZSBsYSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICJ0eXBlIGRlIHBhcnRpdGlvbiAodW5lIGNoYcOubmUsIHVuIFVVSUQgb3UgdW4gaWRlbnRpZmlhbnQgaGV4YWTDqWNpbWFsKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgIsOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGRlIGxvb3BjeHQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuIHDDqXJpcGjDqXJpcXVlIGJvdWNsZSBub24gdXRpbGlzw6kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiVGVudGF0aXZlIGQndXRpbGlzZXIgwqvCoCVzwqDCuyBjb21tZSBww6lyaXBow6lyaXF1ZSBib3VjbGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGR1IGZpY2hpZXIgYXNzb2Npw6kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGR1IHDDqXJpcGjDqXJpcXVlIGJvdWNsZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo5MgorIzogbWlzYy11dGlscy9maW5kbW50LmM6Mzc2IG1pc2MtdXRpbHMvbHNibGsuYzozNjcgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEyNSBtaXNjLXV0aWxzL3dpcGVmcy5jOjEyNiBzeXMtdXRpbHMvbG9zZXR1cC5jOjExMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjIwIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNtZW0uYzoxODAKKyM6IHN5cy11dGlscy9sc25zLmM6MjIzIHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9yZmtpbGwuYzoxNjAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNTAgc3lzLXV0aWxzL3dkY3RsLmM6MTUxIHN5cy11dGlscy96cmFtY3RsLmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiY29sb25uZSBpbmNvbm51ZcKgOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdvYnRlbnRpb24gZHUgbnVtw6lybyBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImwnaW50ZXJ2YWxsZSBpbmRpcXXDqSA8JWQ6JWQ+IG4nYSBwYXMgZGUgc2VucyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAicmVjb21wdGFnZSBkZSBsJ2ludGVydmFswqA6IG1heCBudW1wYXJ0PSVkLCBwcmVtPSVkLCBkZXJuPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXPCoDogZXJyZXVyIGxvcnMgZGUgbGEgc3VwcHJlc3Npb24gZGUgbGEgcGFydGl0aW9uwqAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPCoDogZXJyZXVyIGxvcnMgZGUgbGEgc3VwcHJlc3Npb24gZGVzIHBhcnRpdGlvbnPCoCVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uIG7CusKgJWQgc3VwcHJpbcOpZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXPCoDogbGEgcGFydGl0aW9uIG7CusKgJWQgbidleGlzdGUgcGFzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgc3VwcHJlc3Npb24gZGUgbGEgcGFydGl0aW9uIG7CusKgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzwqA6IGVycmV1ciBsb3JzIGRlIGwnYWpvdXQgZGUgbGEgcGFydGl0aW9uwqAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzwqA6IGVycmV1ciBsb3JzIGRlIGwnYWpvdXQgZGVzIHBhcnRpdGlvbnPCoCVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uIG7CusKgJWQgYWpvdXTDqWVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdham91dCBkZSBsYSBwYXJ0aXRpb24gbsK6wqAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlc8KgOiBlcnJldXIgZGUgbWlzZSDDoCBqb3VyIGRlIGxhIHBhcnRpdGlvbsKgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzwqA6IGVycmV1ciBkZSBtaXNlIMOgIGpvdXIgZGVzIHBhcnRpdGlvbnPCoCVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIlc8KgOiBwYXMgZGUgcGFydGl0aW9uIG7CusKgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb24gbsK6wqAlZCByZWRpbWVuc2lvbm7DqWVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBtaXNlIMOgIGpvdXIgZGUgbGEgcGFydGl0aW9uIG7CusKgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIm7CusKgJTJkwqA6ICU5anUtJTlqdSAoJTlqdcKgc2VjdGV1ciwgJTZqdcKgTW8pXG4iCittc2dzdHJbMV0gIm7CusKgJTJkwqA6ICU5anUtJTlqdSAoJTlqdcKgc2VjdGV1cnMsICU2anXCoE1vKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiw6ljaGVjIGTigJlhbGxvY2F0aW9uIGRlIGxhIGNvbG9ubmUgZGUgc29ydGllIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZHUgZmlsdHJlIGJsa2lkIHBvdXIgwqvCoCVzwqDCuyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgbGVjdHVyZSBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzwqA6IHR5cGUgZGUgdGFibGUgZGUgcGFydGl0aW9ucyDCq8KgJXPCoMK7IGTDqXRlY3TDqVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlc8KgOiB0YWJsZSBkZSBwYXJ0aXRpb25zIHNhbnMgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzcXVlPlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU3Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIkluZm9ybWVyIGxlIG5veWF1IGRlIGxhIHByw6lzZW5jZSBldCBkZSBsYSBudW3DqXJvdGF0aW9uIGRlIHBhcnRpdGlvbnMuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICBham91dGVyIGxlcyBwYXJ0aXRpb25zIGluZGlxdcOpZXMgb3UgdG91dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICBzdXBwcmltZXIgbGVzIHBhcnRpdGlvbnMgaW5kaXF1w6llcyBvdSB0b3V0ZXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgIG1ldHRyZSDDoCBqb3VyIGxlcyBwYXJ0aXRpb25zIGluZGlxdcOpZXMgb3UgdG91dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGFmZmljaGVyIGxhIGxpc3RlIGRlcyBwYXJ0aXRpb25zXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICBhZmZpY2hlciBsYSBUQUlMTEUgZW4gb2N0ZXQgcGx1dMO0dCBxdSdlbiBmb3JtYXQgbGlzaWJsZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzIHBvdXIgLS1zaG93XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIC1uLCAtLW5yIDxtOm4+ICAgICAgIGluZGlxdWVyIGwnaW50ZXJ2YWxsZSBkZSBwYXJ0aXRpb25zIChwYXIgZXhlbXBsZSAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiBkw6lmaW5pciBsZXMgY29sb25uZXMgZGUgc29ydGllIMOgIHV0aWxpc2VyXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgY2xlZj1cInZhbGV1clwiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBicnV0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIHRhaWxsZSBkdSBzZWN0ZXVyIMOgIMOpY3Jhc2VyXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIGluZGlxdWVyIGxlIHR5cGUgZGUgcGFydGl0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0LXR5cGVzICAgICBhZmZpY2hlciBsYSBsaXN0ZSBkZXMgdHlwZXMgZGUgcGFydGl0aW9ucyBwcmlzZXMgZW4gY2hhcmdlIGV0IHF1aXR0ZXJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgbW9kZSBiYXZhcmRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGwnaW50ZXJ2YWxsZSAtLW5yIDxNLU4+IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQyCittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJMZSBub20gZGUgbGEgcGFydGl0aW9uIGV0IGR1IGRpc3F1ZSBuZSBjb3JyZXNwb25kZW50IHBhcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImxlcyBvcHRpb25zIC0tbnIgZXQgPHBhcnRpdGlvbj4gcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpdGlvbsKgOiAlcywgZGlzcXVlwqA6ICVzLCBwcmVtacOocmXCoDogJWQsIGRlcm5pw6hyZcKgOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIHN1cHByaW1lciBsZXMgcGFydGl0aW9ucyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXPCoDogcMOpcmlwaMOpcmlxdWVzIGJvdWNsZSBwYXJ0aXRpb25uw6lzIG5vbiBwcmlzIGVuIGNoYXJnZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZGUgbGEgc29uZGUgYmxraWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgICUxJHMgJTIkc3Jhd04gPG1hamV1cj4gPG1pbmV1cj5cbiIKKyIgICUxJHMgJTIkc3Jhd04gL2Rldi88cMOpcmlwaMOpcmlxdWVfYmxvYz5cbiIKKyIgICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgICUxJHMgLXFhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIkF0dGFjaGVyIHVuIHDDqXJpcGjDqXJpcXVlIGNhcmFjdMOocmUgYnJ1dCDDoCB1biBww6lyaXBow6lyaXF1ZSBibG9jLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWVyeSAgICBkw6lmaW5pciBlbiBtb2RlIGRlbWFuZGVcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIGRlbWFuZGVyIHRvdXMgbGVzIHDDqXJpcGjDqXJpcXVlcyBibG9jXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiTGUgcMOpcmlwaMOpcmlxdWUgwqvCoCVzwqDCuyBlc3QgbGUgcMOpcmlwaMOpcmlxdWUgZGUgY29udHLDtGxlIGJydXQgKHV0aWxpc2VyIHJhdzxOPiBvw7kgPE4+IGVzdCBwbHVzIGdyYW5kIHF1ZSB6w6lybykiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIkltcG9zc2libGUgZGUgbG9jYWxpc2VyIGxlIHDDqXJpcGjDqXJpcXVlIGJsb2MgwqvCoCVzwqDCuyIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLCq8KgJXPCoMK7IG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbCdhcmd1bWVudCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSBww6lyaXBow6lyaXF1ZSBicnV0IG1hw650cmUgwqvCoCVzwqDCuyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIkltcG9zc2libGUgZGUgbG9jYWxpc2VyIGxlIHDDqXJpcGjDqXJpcXVlIGJydXQgwqvCoCVzwqDCuyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIGJydXQgwqvCoCVzwqDCuyBuJ2VzdCBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgY2FyYWN0w6hyZSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiwqvCoCVzwqDCuyBuJ2VzdCBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgYnJ1dCIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDkKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICJFcnJldXIgZCdpbnRlcnJvZ2F0aW9uIGR1IHDDqXJpcGjDqXJpcXVlIGJydXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU4IGRpc2stdXRpbHMvcmF3LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZMKgOiBhc3NvY2nDqSBhdSBudW3DqXJvIG1hamV1csKgJWQsIG51bcOpcm8gbWluZXVywqAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI3MgorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRXJyZXVyIGRlIGNvbmZpZ3VyYXRpb24gZHUgcMOpcmlwaMOpcmlxdWUgYnJ1dCIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8cMOpcmlwaMOpcmlxdWUgZGlzcXVlPiA8bnVtw6lybyBkZSBwYXJ0aXRpb24+IDxsb25ndWV1cj5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICJJbmZvcm1lciBsZSBub3lhdSBkZSBsYSBub3V2ZWxsZSB0YWlsbGUgZOKAmXVuZSBwYXJ0aXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnb2J0ZW50aW9uIGR1IGTDqWJ1dCBkZSBsYSBwYXJ0aXRpb24gbnVtw6lyb8KgJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICLDqWNoZWMgZGUgcmVkaW1lbnNpb25uZW1lbnQgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiw6ljaGVjIGQnYWxsb2NhdGlvbiBkdSBjb250ZXh0ZSBsaWJmZGlzayBpbWJyaXF1w6kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHNlIHBvc2l0aW9ubmVyICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnw6ljcmlyZSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzIChpbmRleMKgJTVqdSwgdGFpbGxlwqAlNWp1KcKgOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjcsOpYXRpb24gZOKAmXVuZSBzYXV2ZWdhcmRlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICLDqWNoZWMgZGUgY3LDqWF0aW9uIGTigJl1biBmaWNoaWVyIGRlIHNhdXZlZ2FyZGUgZGUgc2lnbmF0dXJlLCAkSE9NRSBub24gZMOpZmluaWUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiRmljaGllcnMgZGUgc2F1dmVnYXJkZcKgOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiw4ljaGVjIGRlIGxlY3R1cmUgZGUgbGEgbm91dmVsbGUgcGFydGl0aW9uIGRlcHVpcyBsZSBww6lyaXBow6lyaXF1ZcKgOyBpZ25vcmVyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkZSBsYSB0YWlsbGUgZGUgbGEgbm91dmVsbGUgcGFydGl0aW9uwqA7IGlnbm9yZXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkdSBkw6lidXQgZGUgbGEgbm91dmVsbGUgcGFydGl0aW9uwqA7IGlnbm9yZXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiw6ljaGVjIGQnb2J0ZW50aW9uIGR1IGxhIHRhaWxsZSBkZSBs4oCZYW5jaWVubmUgcGFydGl0aW9uwqA7IGlnbm9yZXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkdSBkw6lidXQgZGUgbOKAmWFuY2llbm5lIHBhcnRpdGlvbsKgOyBpZ25vcmVyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MAorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibGUgZMOpYnV0IGRlIGxhIHBhcnRpdGlvbiBuJ2EgcGFzIMOpdMOpIGTDqXBsYWPDqcKgOyAtLW1vdmUtZGF0YSBlc3QgaWdub3LDqSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImxhIG5vdXZlbGxlIHBhcnRpdGlvbiBlc3QgcGx1cyBwZXRpdGUgcXVlIGwnb3JpZ2luYWxlwqA7IC0tbW92ZS1kYXRhIGVzdCBpZ25vcsOpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIkTDqXBsYWNlbWVudCBkZSBkb25uw6llc8KgOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiBmaWNoaWVyIGRlIHNjcmlwdCBlbnJlZ2lzdHLDqcKgOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIGFuY2llbiBkw6lidXTCoDogJWp1LCBub3V2ZWF1IGTDqWJ1dMKgOiAlanUgKGTDqXBsYWNlciAlanUgc2VjdGV1cnMpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUyCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIlZvdWxlei12b3VzIGTDqXBsYWNlciBsZXMgZG9ubsOpZXMgZGUgbGEgcGFydGl0aW9uwqA/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiU29ydGllLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkdSBkw6lwbGFjZW1lbnQgZGUgZG9ubsOpZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQyCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIkxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgbuKAmWVzdCBwYXMgbW9kaWZpw6llICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiTGEgdGFibGUgZGUgcGFydGl0aW9ucyBhIMOpdMOpIGFsdMOpcsOpZS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIsOpdGlxdWV0dGUgbm9uIHByaXNlIGVuIGNoYXJnZSDCq8KgJXPCoMK7IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIE5vbVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAidHlwZSBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIG5vbiByZWNvbm51IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIkltcG9zc2libGUgZCdvYnRlbmlyIGxhIHRhaWxsZSBkZSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAidG90YWzCoDogJWp1wqBibG9jc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImF1Y3VuIHDDqXJpcGjDqXJpcXVlIGRpc3F1ZSBpbmRpcXXDqSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgImltcG9zc2libGUgZGUgYmFzY3VsZXIgdmVycyBQTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMgorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9yIFBNQlIgb25seSIKK21zZ3N0ciAiYmFzY3VsZXIgbGVzIGZhbmlvbnMgZCdhbW9yw6dhZ2UgZXN0IHVuaXF1ZW1lbnQgc3VwcG9ydMOpIGF2ZWMgTUJSIG91IFBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiw6ljaGVjIGTigJlhbmFseXNlIGR1IG51bcOpcm8gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbiAlZMKgOiDDqWNoZWMgZGUgbW9kaWZpY2F0aW9uIGRlIGzigJlpbmRpY2F0ZXVyIGTigJlhbW9yw6dhZ2UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTA5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb27CoCV6dcKgOiDDqWNoZWMgZGUgc3VwcHJlc3Npb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzwqA6IG5lIGNvbnRpZW50IHBhcyB1bmUgdGFibGUgZGUgcGFydGl0aW9ucyByZWNvbm51ZS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICLDqWNoZWMgZOKAmWFsbG9jYXRpb24gZGUgc3RydWN0dXJlIGRlIHNhdXZlZ2FyZGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBzYXV2ZWdhcmRlIGRlIHRhYmxlIGRlIHBhcnRpdGlvbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlc8KgOiBhdWN1bmUgdGFibGUgZGUgcGFydGl0aW9ucyB0cm91dsOpZS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbsKgJXp1wqA6IGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgbmUgY29udGllbnQgcXVlICV6dcKgcGFydGl0aW9ucy4iCisKKyMgcy91bm51c2VkL3VudXNlZC8KKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uwqAlenXCoDogbGEgcGFydGl0aW9uIGVzdCBpbnV0aWxpc8OpZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMQorbXNnaWQgIm5vIHBhcnRpdGlvbiBudW1iZXIgc3BlY2lmaWVkIgorbXNnc3RyICJhdWN1biBudW3DqXJvIGRlIHBhcnRpdGlvbiBpbmRpcXXDqSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJhcmd1bWVudHMgaW5hdHRlbmR1cyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb27CoCV6dcKgOiDDqWNoZWMgZCdvYnRlbnRpb24gZHUgdHlwZSBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGTigJlhbmFseXNlIGR1IHR5cGUgZGUgcGFydGl0aW9uICVzIMKrwqAlc8KgwrsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uwqAlenXCoDogw6ljaGVjIGRlIGTDqWZpbml0aW9uIGR1IHR5cGUgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbsKgJXp1wqA6IMOpY2hlYyBkJ29idGVudGlvbiBkZSBs4oCZVVVJRCBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZOKAmW9iamV0IGRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlc8KgOiBwYXJ0aXRpb27CoCV6dcKgOiDDqWNoZWMgZGUgZMOpZmluaXRpb24gZGUgbOKAmVVVSUQgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzwqA6IHBhcnRpdGlvbsKgJXp1wqA6IMOpY2hlYyBk4oCZb2J0ZW50aW9uIGR1IG5vbSBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uwqAlenXCoDogw6ljaGVjIGRlIGTDqWZpbml0aW9uIGR1IG5vbSBkZSBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXPCoDogcGFydGl0aW9uwqAlenXCoDogw6ljaGVjIGRlIGTDqWZpbml0aW9uIGRlcyBhdHRyaWJ1dHMgZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODcKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiBDb21tYW5kZXPCoDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICDDqWNyaXJlIGxhIHRhYmxlIHN1ciBsZSBkaXNxdWUgZXQgcXVpdHRlclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAgbW9udHJlciBsYSBub3V2ZWxsZSBzaXR1YXRpb24gZXQgYXR0ZW5kcmUgbGUgcmV0b3VyIGRlIGzigJl1dGlsaXNhdGV1ciBhdmFudCBk4oCZw6ljcmlyZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICBxdWl0dGVyIGzigJlpbnRlcnByw6l0ZXVyIGRlIGNvbW1hbmRlIHNmZGlza1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcHJpbnQgICAgYWZmaWNoZXIgbGEgdGFibGUgZGUgcGFydGl0aW9uc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgIGFmZmljaGVyIGNldHRlIGFpZGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIENUUkwtRCAgIGlkZW50aXF1ZSDDoCDCq8KgcXVpdHRlcsKgwrtcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIEZvcm1hdCBk4oCZZW50csOpZcKgOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8ZMOpYnV0PiwgPHRhaWxsZT4sIDx0eXBlPiwgPGFtb3LDp2FibGU+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8ZMOpYnV0PiAgRMOpYnV0IGRlIGxhIHBhcnRpdGlvbiBlbiBzZWN0ZXVyIG91IG9jdGV0IHNpIGluZGlxdcOpZSBzb3VzXG4iCisiICAgICAgICAgICAgbGEgZm9ybWUgPG5vbWJyZT57SyxNLEcsVCxQLEUsWixZfS4gTGUgcHJlbWllciBlc3BhY2UgbGlicmVcbiIKKyIgICAgICAgICAgICBwYXIgZMOpZmF1dC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDx0YWlsbGU+IHRhaWxsZSBkZSBsYSBwYXJ0aXRpb24gZW4gc2VjdGV1csKgOyBzaSBpbmRpcXXDqWUgc291cyBsYVxuIgorIiAgICAgICAgICAgIGZvcm1lIDxub21icmU+e0ssTSxHLFQsUCxFLFosWX0sIGVsbGUgZXN0IGludGVycHLDqXTDqWUgY29tbWVcbiIKKyIgICAgICAgICAgICB1bmUgdGFpbGxlIGVuIG9jdGV0LiBUb3V0IGzigJllc3BhY2UgZGlzcG9uaWJsZSBwYXIgZMOpZmF1dC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA8dHlwZT4gICBUeXBlIGRlIHBhcnRpdGlvbi4gUGFydGl0aW9uIGRlIGRvbm7DqWVzIExpbnV4IHBhciBkw6lmYXV0LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTUKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYLFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgU2VjdGV1ciBk4oCZYW1vcsOnYWdlwqA6IGhleGFkw6ljaW1hbCBvdSByYWNjb3VyY2lzIEwsUyxFLFgsVSxSLFYuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVMKgOiBVVUlEIG91IHJhY2NvdXJjaXMgTCxTLEgsVSxSLFYuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA8YW1vcsOnYWJsZT4gIFV0aWxpc2VyIMKrwqAqwqDCuyBwb3VyIG1hcnF1ZXIgbGUgTUJSIGNvbW1lIGFtb3LDp2FibGUuIFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjMKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIEV4ZW1wbGXCoDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICBjcsOpZSB1bmUgcGFydGl0aW9uIGRlIDTCoEdpbyDDoCBs4oCZaW5kZXggZGUgZMOpYnV0IHBhciBkw6lmYXV0LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTcgc3lzLXV0aWxzL2RtZXNnLmM6MTUzOQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImNvbW1hbmRlIG5vbiBwcmlzZSBlbiBjaGFyZ2UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJsaWduZcKgJWTCoDogY29tbWFuZGUgbm9uIHByaXNlIGVuIGNoYXJnZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJMJ2FuY2llbm5lIHNpZ25hdHVyZSAlcyBwb3VycmFpdCByZXN0ZXIgc3VyIGxlIHDDqXJpcGjDqXJpcXVlLiBJbCBlc3QgcmVjb21tYW5kw6kgZGUgbmV0dG95ZXIgbGUgcMOpcmlwaMOpcmlxdWUgYXZlYyB3aXBlZnMoOCkgb3Ugc2ZkaXNrIC0td2lwZSBwb3VyIMOpdml0ZXIgZCfDqXZlbnR1ZWxsZXMgY29sbGlzaW9ucy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiw6ljaGVjIGQnYWxsb2NhdGlvbiBkZSBub20gZGUgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZHUgdHJhaXRlbWVudCBkZSBzY3JpcHQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgbW9kaWZpZXIgbGEgcGFydGl0aW9uICVkwqA6IGF1Y3VuZSB0YWJsZSBkZSBwYXJ0aXRpb25zIG7igJlhIMOpdMOpIHRyb3V2w6llIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkZSBtb2RpZmllciBsYSBwYXJ0aXRpb24gJWTCoDogbGEgdGFibGUgZGUgcGFydGl0aW9ucyBuZSBjb250aWVudCBxdWUgJXp1wqBwYXJ0aXRpb25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIkF0dGVudGlvbsKgOiAlc8KgOiBsYSBwYXJ0aXRpb24gJWQgbuKAmWVzdCBwYXMgZW5jb3JlIGTDqWZpbmllIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisiQmllbnZlbnVlIGRhbnMgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiVsOpcmlmaWNhdGlvbiBxdWUgcGVyc29ubmUgbid1dGlsaXNlIGxlIGRpc3F1ZSBlbiBjZSBtb21lbnTigKYiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgw4ljaGVjXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyOAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiTGUgZGlzcXVlIGVzdCBhY3R1ZWxsZW1lbnQgdXRpbGlzw6kg4oCUIGxlIHJlcGFydGl0aW9ubmVyIGVzdFxuIgorInByb2JhYmxlbWVudCB1bmUgbWF1dmFpc2UgaWTDqWUuXG4iCisiRMOpbW9udGV6IHRvdXMgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycywgZXQgZMOpc2FjdGl2ZXogKGF2ZWNcbiIKKyJzd2Fwb2ZmKSB0b3V0ZXMgbGVzIHBhcnRpdGlvbnMgZCfDqWNoYW5nZSBkZSBjZSBkaXNxdWUuXG4iCisiVXRpbGlzZXogbCdvcHRpb24gLS1uby1yZXJlYWQgcG91ciBzdXBwcmltZXIgY2V0dGUgdsOpcmlmaWNhdGlvbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIlV0aWxpc2V6IGwnb3B0aW9uIC0tZm9yY2UgcG91ciBhbm51bGVyIHRvdXRlcyBsZXMgdsOpcmlmaWNhdGlvbnMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT0tcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjQ3Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiU2l0dWF0aW9uIHByw6ljw6lkZW50ZcKgOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIHZhIGNyw6llciB1bmUgbm91dmVsbGUgw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgwqvCoCVzwqDCuy5cbiIKKyJVdGlsaXNleiDCq8KgbGFiZWw6IDxub20+wqDCuyBhdmFudCBkZSBkw6lmaW5pciB1bmUgcHJlbWnDqHJlXG4iCisicGFydGl0aW9uIHBvdXIgw6ljcmFzZXIgbGEgdmFsZXVyIHBhciBkw6lmYXV0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY4Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiXG4iCisiU2Fpc2lzc2V6IMKrwqBoZWxwwqDCuyBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJUb3V0ZXMgbGVzIHBhcnRpdGlvbnMgdXRpbGlzw6llcy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNAorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIlRlcm1pbsOpLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjYKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJJZ25vcmVyIGxhIHBhcnRpdGlvbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICLDiWNoZWMgZOKAmWFwcGxpY2F0aW9uIGRlcyBzY3JpcHRzIGTigJllbi10w6p0ZXMsIMOpdGlxdWV0dGUgZGUgZGlzcXVlIG5vbiBjcsOpw6llLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAiw4ljaGVjIGQnYWpvdXQgZGUgbGEgcGFydGl0aW9uIG7CsCVkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiU2NyaXB0IGTigJllbi10w6p0ZSBhY2NlcHTDqS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwMgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIk5vdXZlbGxlIHNpdHVhdGlvbsKgOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiVm91bGV6LXZvdXMgw6ljcmlyZSBjZWxhIHN1ciBsZSBkaXNxdWXCoD8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNQorbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIlNvcnRpZS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXSA8cMOpcmlwaC4+IFtbLU5dIDxwYXJ0Lj5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kZT5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgLUEsIC0tYWN0aXZhdGUgPHDDqXJpcGguPiBbPHBhcnQuPiAuLi5dIGFmZmljaGVyIG91IGTDqWZpbmlyIGNvbW1lIGFtb3LDp2FibGVzIGxlcyBwYXJ0aXRpb25zIChQKU1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA8cMOpcmlwaC4+ICAgICAgICAgICAgICBzYXV2ZWdhcmRlciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zICh1dGlsaXNhYmxlIGVuIGVudHLDqWUgcGx1cyB0YXJkKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uIDxww6lyaXBoLj4gICAgICAgICAgICAgIHNhdXZlZ2FyZGVyIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgYXUgZm9ybWF0IGpzb25cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPHDDqXJpcGguPiAuLi5dICBhZmZpY2hlciBsYSBnw6lvbcOpdHJpZSBkZSB0b3VzIGxlcyBww6lyaXBow6lyaXF1ZXMgb3UgZGUgY2V1eCBpbmRpcXXDqXNcbiIKKworIyBOT1RFOiBzL2VuZC9hbmQvCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCBbPHDDqXJpcGguPiAuLi5dICAgICAgICBhZmZpY2hlciBsZXMgcGFydGl0aW9ucyBkZSBjaGFxdWUgcMOpcmlwaMOpcmlxdWVcbiIKKworIyBOT1RFOiBzL2VuZC9hbmQvCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtRiwgLS1saXN0LWZyZWUgWzxww6lyaXBoLj4gLi4uXSAgIGFmZmljaGVyIGxlcyB6b25lcyBsaWJyZXMgbm9uIHBhcnRpdGlvbm7DqWVzIGRlIGNoYXF1ZSBww6lyaXBow6lyaXF1ZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtciwgLS1yZW9yZGVyIDxww6lyaXBoLj4gICAgICAgICAgIGZpeGVyIGzigJlvcmRyZSBkZXMgcGFydGl0aW9ucyAocGFyIGluZGV4IGRlIGTDqWJ1dClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUzCittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2hvdy1zaXplIFs8cMOpcmlwaC4+IC4uLl0gICBhZmZpY2hlciBsZXMgdGFpbGxlcyBkZSB0b3V0ZXMgbGVzIHBhcnRpdGlvbnMgb3UgZGUgY2VsbGVzIGluZGlxdcOpZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIGFmZmljaGV6IGxlcyB0eXBlcyByZWNvbm51cyAoY29uc3VsdGV6IC1YKVxuIgorCisjIE5PVEU6IHMvZW5kL2FuZC8KKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgWzxww6lyaXBoLj4gLi4uXSAgICAgIHbDqXJpZmllciBzaSBsZXMgcGFydGl0aW9ucyBzZW1ibGVudCBjb3JyZWN0ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAgICAgLS1kZWxldGUgPHDDqXJpcGguPiBbPHBhcnQuPiAuLi5dIHN1cHByaW1lciB0b3V0ZXMgbGVzIHBhcnRpdGlvbnMgb3UgY2VsbGVzIHPDqWxlY3Rpb25uw6llc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIC0tcGFydC1sYWJlbCA8cMOpcmlwaC4+IDxwYXJ0Lj4gWzxjaGHDrm5lPl0gIGFmZmljaGVyIG91IG1vZGlmaWVyIGzigJnDqXRpcXVldHRlIGRlIHBhcnRpdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLS1wYXJ0LXR5cGUgPHDDqXJpcGguPiA8cGFydC4+IFs8Y2hhw65uZT5dICBhZmZpY2hlciBvdSBtb2RpZmllciBsZSB0eXBlIGRlIHBhcnRpdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgLS1wYXJ0LXV1aWQgPHDDqXJpcGguPiA8cGFydC4+IFs8Y2hhw65uZT5dICBhZmZpY2hlciBvdSBtb2RpZmllciBs4oCZVVVJRCBkZSBwYXJ0aXRpb25cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIC0tcGFydC1hdHRycyA8cMOpcmlwaC4+IDxwYXJ0Lj4gWzxjaGHDrm5lPl0gIGFmZmljaGVyIG91IG1vZGlmaWVyIGxlcyBhdHRyaWJ1dHMgZGUgcGFydGl0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA8cMOpcmlwaC4+ICAgICAgICAgICAgICAgICBjaGVtaW4gZHUgcMOpcmlwaMOpcmlxdWUgKGRpc3F1ZSBlbiBnw6luw6lyYWwpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxwYXJ0Lj4gICAgICAgICAgICAgICAgICAgbnVtw6lybyBkZSBwYXJ0aXRpb25cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY3Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgdHlwZSBkZSBwYXJ0aXRpb24sIEdVSUQgcG91ciBHUFQsIGhleGFkw6ljaW1hbCBwb3VyIE1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzAKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYWpvdXRlciBkZXMgcGFydGl0aW9ucyDDoCB1bmUgdGFibGUgZGUgcGFydGl0aW9ucyBleGlzdGFudGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcxCittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIHNhdXZlZ2FyZGVyIGxlcyBzZWN0ZXVycyBkZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIChjb25zdWx0ZXogLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIGFmZmljaGVyIGxhIFRBSUxMRSBlbiBvY3RldCBwbHV0w7R0IHF1J2VuIGZvcm1hdCBsaXNpYmxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBkw6lwbGFjZXIgbGVzIGRvbm7DqWVzIGRlIGxhIHBhcnRpdGlvbiBhcHLDqHMgdHJhbnNmZXJ0IChyZXF1aWVydCAtTilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZMOpc2FjdGl2ZXIgdG91cyBsZXMgY29udHLDtGxlcyBk4oCZaW50w6lncml0w6lcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PHF1YW5kPl0gICAgc29ydGllIGVuIGNvdWxldXIgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIGluZGlxdWVyIGxlIG51bcOpcm8gZGUgcGFydGl0aW9uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICB0b3V0IGZhaXJlIHNhdWYgbOKAmcOpY3JpdHVyZSBzdXIgbGUgcMOpcmlwaMOpcmlxdWVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgwCittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgbmUgcGFzIHbDqXJpZmllciBzaSBsZSBww6lyaXBow6lyaXF1ZSBlc3QgdXRpbGlzw6lcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgbmUgcGFzIGluZm9ybWVyIGxlIG5veWF1IGRlcyBtb2RpZmljYXRpb25zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MgorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIgLU8sIC0tYmFja3VwLWZpbGUgPGNoZW1pbj4gIMOpY3Jhc2VyIGxlIG5vbSBkdSBmaWNoaWVyIGRlIHNhdXZlZ2FyZGUgcGFyIGTDqWZhdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgICAgY29sb25uZXMgYWZmaWNow6llc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByaW1lciBsZXMgbWVzc2FnZXMgZOKAmWluZm9ybWF0aW9uIHN1cHBsw6ltZW50YWlyZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg1Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtVywgLS13aXBlIDxtb2RlPiAgICAgICBuZXR0b3llciBsZXMgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG91IG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA8bm9tPiAgICAgICAgIGluZGlxdWVyIGxlIHR5cGUgZOKAmcOpdGlxdWV0dGUgKGRvcywgZ3B0LMKgZXRjLilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg4Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5vbT4gIGluZGlxdWVyIGxlIHR5cGUgZOKAmcOpdGlxdWV0dGUgaW1icmlxdcOpZSAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkw6lwcsOpY2nDqWUsIHN5bm9ueW1lIGRlIC0tc2hvdy1nZW9tZXRyeVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGlnbm9yw6llLCBzZXVsZW1lbnQgcG91ciByw6l0cm9jb21wYXRpYmlsaXTDqVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBpZ25vcsOpZSwgc2V1bGUgbOKAmXVuaXTDqSBzZWN0ZXVyIGVzdCBwcmlzZSBlbiBjaGFyZ2VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyBlc3Qgb2Jzb2zDqHRlLCAtLXBhcnQtdHlwZSBlc3Qgw6AgcHLDqWbDqXJlciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDE1Cittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiLS1pZCBlc3Qgb2Jzb2zDqHRlLCAtLXBhcnQtdHlwZSBlc3Qgw6AgcHLDqWbDqXJlciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIi0tc2hvdy1wdC1nZW9tZXRyeSBuJ2VzdCBwbHVzIGltcGzDqW1lbnTDqWUuIFV0aWxpc2F0aW9uIGRlIC0tc2hvdy1nZW9tZXRyeS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MworbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICJs4oCZb3B0aW9uIC0tTGludXggZXN0IGludXRpbGUgZXQgb2Jzb2zDqHRlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICJ1bml0w6kgwqvCoCVjwqDCuyBub24gcHJpc2UgZW4gY2hhcmdlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgZGUgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSByZXF1aWVydCAtTiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbCdVVUlEwqA6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBwb3NpdGlvbm5lbWVudCBzdXIgbCdVVUlEIGQnZXNwYWNlIGQnw6ljaGFuZ2UiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCfDqWNyaXR1cmUgZGUgbCdVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIHBvc2l0aW9ubmVtZW50IHN1ciBsJ8OpdGlxdWV0dGUgZCdlc3BhY2UgZCfDqWNoYW5nZSAiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIkwnw6l0aXF1ZXR0ZSBlc3QgdHJvcCBsb25ndWUuIFRyb25xdcOpZSDDoCDCq8KgJXPCoMK7IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCfDqWNyaXR1cmUgZGUgbCfDqXRpcXVldHRlIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNworbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICJBZmZpY2hlciBvdSBtb2RpZmllciBsJ8OpdGlxdWV0dGUgb3UgbCdVVUlEIGQndW4gZXNwYWNlIGQnw6ljaGFuZ2UuXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTMwCittc2dpZCAiIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+IHNwZWNpZnkgYSBuZXcgbGFiZWxcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBzcGVjaWZ5IGEgbmV3IHV1aWRcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1sYWJlbCA8w6l0aXF1ZXR0ZT4gIGluZGlxdWVyIHVuZSBub3V2ZWxsZSDDqXRpcXVldHRlXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICBpbmRpcXVlciB1biBub3V2ZWwgVVVJRFxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE3MgorbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAib3B0aW9uIC1VIGlnbm9yw6llIChsZXMgVVVJRCBuZSBzb250IHBhcyBwcmlzIGVuIGNoYXJnZSkiCisKKyM6IGluY2x1ZGUvYy5oOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkV4w6ljdXRleiDCq8KgJXMgLS1oZWxwwqDCuyBwb3VyIG9idGVuaXIgZGVzIHJlbnNlaWduZW1lbnRzIGNvbXBsw6ltZW50YWlyZXMuXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlV0aWxpc2F0aW9uwqA6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aW9uc8KgOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjAKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRm9uY3Rpb25zwqA6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbW1hbmRlc8KgOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjIKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sb25uZXMgZGUgc29ydGllIGRpc3BvbmlibGVzwqA6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNQorbXNnaWQgImRpc3BsYXkgdGhpcyBoZWxwIgorbXNnc3RyICJhZmZpY2hlciBjZXR0ZSBhaWRlIgorCisjOiBpbmNsdWRlL2MuaDozMjYKK21zZ2lkICJkaXNwbGF5IHZlcnNpb24iCittc2dzdHIgImFmZmljaGVyIGxhIHZlcnNpb24iCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb25zdWx0ZXogJXMgcG91ciBvYnRlbmlyIGRlcyBwcsOpY2lzaW9ucyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJlcnJldXIgZCfDqWNyaXR1cmUiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAibGVzIGNvdWxldXJzIHNvbnQgYWN0aXbDqWVzIHBhciBkw6lmYXV0IgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJsZXMgY291bGV1cnMgc29udCBkw6lzYWN0aXbDqWVzIHBhciBkw6lmYXV0IgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBjb25maWd1cmF0aW9uIGRlIGxhIHZhcmlhYmxlIGTigJllbnZpcm9uZW1lbnQgJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIiVzwqA6IGFyZ3VtZW50cyBtdXR1ZWxsZW1lbnQgZXhjbHVzaWZzwqA6IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIlZpZGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJyb290IFhFTklYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJ1c3IgWEVOSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIsOJdGVuZHVlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIkZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMvZXhGQVQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFtb3LDp2FibGUgQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJHZXN0aW9ubmFpcmUgZCdhbW9yw6dhZ2UgT1MvMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIsOJdGVuZHVlIFc5NSAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiRkFUMTIgbWFzcXXDqWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3RpY3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IG1hc3F1w6llIDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJGQVQxNiBtYXNxdcOpZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJIUEZTL05URlMgbWFzcXXDqWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiBtYXNxdcOpZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgbWFzcXXDqWUgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IG1hc3F1w6llIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIlRGUyBXaW5SRSBtYXNxdcOpZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAicsOpY3Vww6lyYXRpb24gUGFydGl0aW9uTWFnaWMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIEJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICJTRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICJRTlg0LngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICIyZSBwYXJ0aWUgUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiM2UgcGFydGllIFFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCBvdSBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIk1pbml4IGFuY2llbm5lIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIExpbnV4IGFuY2llbm5lIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJwYXJ0aXRpb24gZCfDqWNoYW5nZSBMaW51eCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICJPUy8yIGNhY2jDqWUgb3UgaGliZXJuYXRpb24gSW50ZWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IMOpdGVuZHVlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyB2b2x1bWUgc2V0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMVk0gTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIlVGUyBEYXJ3aW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkFtb3LDp2FnZSBEYXJ3aW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAicGFydGl0aW9uIGQnw6ljaGFuZ2UgQlNESSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIG1hc3F1w6llIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJBY3JvbmlzIEZBVDMyIExCQSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIyOQorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiQW1vcsOnYWdlIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiRG9ubsOpZXMgbm9uLUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwgVXRpbGl0eSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL1ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJBbGlnbmVtZW50IFJ1ZnVzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIkJlT1MgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICJFRkkgKEZBVC0xMi8xNi8zMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJMaW51eC9QQS1SSVNDIGJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBzZWNvbmRhaXJlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJSQUlEIExpbnV4IGF1dG9kw6l0ZWN0w6kiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogJXMgZXN0IG1hbCBhbGlnbsOpIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDgwIGxpYmZkaXNrL3NyYy9hc2suYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiUGFydGl0aW9uwqAlanUgc8OpbGVjdGlvbm7DqWUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJBdWN1bmUgcGFydGl0aW9uIG4nYSBlbmNvcmUgw6l0w6kgZMOpZmluaWXCoCEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJBdWN1bmUgcGFydGl0aW9uIGxpYnJlIGRpc3BvbmlibGUuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NTA1Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiTnVtw6lybyBkZSBwYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIlVuZSBub3V2ZWxsZSBwYXJ0aXRpb27CoCVkIGRlIHR5cGUgwqvCoCVzwqDCuyBldCBkZSB0YWlsbGXCoCVzIGEgw6l0w6kgY3LDqcOpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXRpb24gJXpkwqA6IGNvbnRpZW50IHVuIHNlY3RldXLCoDAgZGUgZMOpcGFydCBub24gdmFsYWJsZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJJbCBuJ3kgYSBwYXMgZGUgcGFydGl0aW9uICpCU0Qgc3VyICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIlByZW1pZXIgY3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkRlcm5pZXIgY3lsaW5kcmUsICtjeWxpbmRyZXMgb3UgK3RhaWxsZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkRlcm5pZXIgc2VjdGV1ciwgK3NlY3RldXJzIG91ICt0YWlsbGV7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlwqAlcyBuZSBjb250aWVudCBwYXMgZCfDqXRpcXVldHRlIEJTRCBkZSBkaXNxdWUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIlZvdWxlei12b3VzIGNyw6llciB1bmUgw6l0aXF1ZXR0ZSBCU0QgZGUgZGlzcXVlwqA/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiRGlzcXVlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIk5vbXBhcXVldCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJJbmQuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY1Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIGFtb3ZpYmxlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgbWF1dmFpcyBzZWN0ZXVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJPY3RldHMvU2VjdGV1ciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiUGlzdGVzL0N5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiU2VjdGV1cnMvQ3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTAgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjgKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkN5bGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCittc2dpZCAiUnBtIgorbXNnc3RyICJ0ci9taW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDAgbGliZmRpc2svc3JjL3NnaS5jOjI5MSBsaWJmZGlzay9zcmMvc3VuLmM6NzkzCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiRW50cmVsYWNlbWVudCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiRMOpY2FsYWdlLXBpc3RlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMAorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiRMOpY2FsYWdlLWN5bGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIkNvbW11dGF0aW9uLXTDqnRlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIlBvc2l0aW9ubmVtZW50IHBpc3RlLcOgLXBpc3RlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJvY3RldHMvc2VjdGV1ciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNlY3RldXJzL3Bpc3RlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJwaXN0ZXMvY3lsaW5kcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgImN5bGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgInNlY3RldXJzL2N5bGluZHJlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIyCittc2dpZCAicnBtIgorbXNnc3RyICJ0b3Vycy9taW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJpbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJkw6ljYWxhZ2UtcGlzdGVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJkw6ljYWxhZ2UtY3lsaW5kcmVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiY29tbXV0YXRpb24tdMOqdGVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAicG9zaXRpb25uZW1lbnQgcGlzdGUtw6AtcGlzdGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJMZSBmaWNoaWVyIGTigJlhbW9yw6dhZ2UgJXMgZXN0IGNoYXJnw6kgY29ycmVjdGVtZW50LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJBbW9yw6dhZ2XCoDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKCUxJHMgcGFyIGTDqWZhdXQpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiTCdhbW9yw6dhZ2UgY2hldmF1Y2hlIGwnw6l0aXF1ZXR0ZSBkdSBkaXNxdWUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJBbW9yw6dhZ2UgaW5zdGFsbMOpIHN1ciAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIsOJdGlxdWV0dGUgZGUgZGlzcXVlIMOpY3JpdGUgc3VyICVzLiAoTidvdWJsaWV6IHBhcyBkJ8OpY3JpcmUgYXVzc2kgbCfDqXRpcXVldHRlIGRlIGRpc3F1ZSBkZSAlcy4pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiw4l0aXF1ZXR0ZSBkZSBkaXNxdWUgw6ljcml0ZSBzdXIgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTExIGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6Njg4Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlN5bmNocm9uaXNhdGlvbiBkZXMgZGlzcXVlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiTCfDqXRpcXVldHRlIEJTRCBu4oCZZXN0IHBhcyBpbWJyaXF1w6llIGRhbnMgdW5lIHBhcnRpdGlvbiBET1MuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMYSBwYXJ0aXRpb24gQlNEIMKrwqAlY8KgwrsgZXN0IGxpw6llIMOgIGxhIHBhcnRpdGlvbiBET1MgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTYKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiVHJhbmNoZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiVGFpbGxlRiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiVGFpbGxlQiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIkNwZyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBmZXJtZXR1cmUgZHUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2Cittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiQXBwZWwgZCdpb2N0bCgpIHBvdXIgcmVsaXJlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICLDiWNoZWMgZGUgcmVsZWN0dXJlIGRlIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnMuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiTGUgbm95YXUgY29udGludWUgw6AgdXRpbGlzZXIgbCdhbmNpZW5uZSB0YWJsZS4gTGEgbm91dmVsbGUgc2VyYSB1dGlsaXPDqWUgbG9ycyBkdSBwcm9jaGFpbiBkw6ltYXJyYWdlIG91IGFwcsOocyBhdm9pciBleMOpY3V0w6kgcGFydHByb2JlKDgpIG91IGtwYXJ0eCg4KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSByZXRpcmVyIGxhIHBhcnRpdGlvbiAlenUgZHUgc3lzdMOobWUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkltcG9zc2libGUgZGUgbWV0dHJlIMOgIGpvdXIgbGVzIGluZm9ybWF0aW9ucyBkdSBzeXN0w6htZSDDoCBwcm9wb3MgZGUgbGEgcGFydGl0aW9uICV6dSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkJ2Fqb3V0ZXIgbGEgcGFydGl0aW9uICV6dSBhdSBzeXN0w6htZSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NzQKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAiTGUgbm95YXUgY29udGludWUgw6AgdXRpbGlzZXIgbGVzIGFuY2llbm5lcyBwYXJ0aXRpb25zLiBMYSBub3V2ZWxsZSB0YWJsZSBzZXJhIHV0aWxpc8OpZSBsb3JzIGR1IHByb2NoYWluIGTDqW1hcnJhZ2UuICIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY3lsaW5kcmUiCittc2dzdHJbMV0gImN5bGluZHJlcyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWN0ZXVyIgorbXNnc3RyWzFdICJzZWN0ZXVycyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMzg4Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiQ29uZmlndXJhdGlvbiBpbmNvbXBsw6h0ZSBkZSBsYSBnw6lvbcOpdHJpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJUb3V0ZXMgbGVzIHBhcnRpdGlvbnMgcHJpbWFpcmVzIG9udCBkw6lqw6Agw6l0w6kgZMOpZmluaWVzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNgorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICJQYXJ0aXRpb24gcHJpbWFpcmUgbm9uIGRpc3BvbmlibGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIsOJY2hlYyBkZSBsZWN0dXJlIGRlIGxhIHRhYmxlIGRlcyBwYXJ0aXRpb25zIMOpdGVuZHVlcyAoaW5kZXg9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiVm91cyBwb3V2ZXogZMOpZmluaXIgbGEgZ8Opb23DqXRyaWUgZGVwdWlzIGxlIG1lbnUgZGVzIGZvbmN0aW9ucyBhdmFuY8OpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQzCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiTGUgbW9kZSBkZSBjb21wYXRpYmlsaXTDqSBET1MgZXN0IG9ic29sw6h0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiTGUgcMOpcmlwaMOpcmlxdWUgZGlzcG9zZSBkJ3VuZSB0YWlsbGUgZGUgc2VjdGV1ciBsb2dpcXVlIHBsdXMgcGV0aXRlIHF1ZSBsYSB0YWlsbGUgZGUgc2VjdGV1ciBwaHlzaXF1ZS4gQWp1c3RlciBsYSBsaW1pdGUgZGUgdGFpbGxlIMOgIGNlbGxlIGRlIHNlY3RldXIgcGh5c2lxdWUgKG91IG9wdGltYWxlIGVuIHRlcm1lIGQnRS9TKSBlc3QgY29uc2VpbGzDqSwgc2lub24gbGVzIHBlcmZvcm1hbmNlcyByaXNxdWVudCBkJ8OqdHJlIGFmZmVjdMOpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzUzCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJMJ2FmZmljaGFnZSBwYXIgY3lsaW5kcmVzIGVzdCBvYnNvbMOodGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIkxhIHRhaWxsZSBkdSBkaXNxdWUgZXN0ICVzICglanXCoG9jdGV0cykuIENlIGZvcm1hdCBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIERPUyBuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBzdXIgZGVzIGRpc3F1ZXMgcG91ciBkZXMgdm9sdW1lcyBwbHVzIGdyYW5kcyBxdWUgJWx1wqBvY3RldHMgcG91ciBkZXMgc2VjdGV1cnMgZGUgJWx1wqBvY3RldHMuIFV0aWxpc2V6IGxlIGZvcm1hdCBkZSB0YWJsZSBkZSBwYXJ0aXRpb25zIMOgIEdVSUQgKEdQVCkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkluZGV4IGVycm9uw6kgZGFucyBsYSBwYXJ0aXRpb24gcHJpbWFpcmUgw6l0ZW5kdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk9taXNzaW9uIGRlcyBwYXJ0aXRpb25zIGFwcsOocyBsZSBuwrolenUuIEVsbGVzIHNlcm9udCBzdXBwcmltw6llcyBzaSB2b3VzIHNhdXZlZ2FyZGV6IGNldHRlIHRhYmxlIGRlIHBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJQb2ludGV1ciBhZGRpdGlvbm5lbCBkYW5zIGxhIHRhYmxlIGRlIHBhcnRpdGlvbnPCoCV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiRG9ubsOpZXMgc3VwZXJmbHVlcyBpZ25vcsOpZXMgZGFucyBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zwqAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAicGFydGl0aW9uIHZpZGUgaWdub3LDqWUgKCV6dSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIkNyw6lhdGlvbiBkJ3VuZSBub3V2ZWxsZSDDqXRpcXVldHRlIHBvdXIgZGlzcXVlIGRlIHR5cGUgRE9TIGF2ZWMgaWRlbnRpZmlhbnQgZGUgZGlzcXVlIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MjYKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiU2Fpc2lzc2V6IGxlIG5vdXZlbCBpZGVudGlmaWFudCBkZSBkaXNxdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MzMKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICJWYWxldXIgaW5jb3JyZWN0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiSWRlbnRpZmlhbnQgZGUgZGlzcXVlIG1vZGlmacOpIGRlIDB4JTA4eCBlbiAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlBhcnRpdGlvbiDDqXRlbmR1ZSBzdXBwbMOpbWVudGFpcmXCoCV6dSBpZ25vcsOpZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiSW5kaWNhdGV1ciAweCUwMnglMDJ4IGluY29ycmVjdCBkZSBzZWN0ZXVyIGTigJlhbW9yw6dhZ2UgZGUgcGFydGl0aW9uIMOpdGVuZHVlIChFQlIsIHBvdXIgbGEgcGFydGl0aW9uwqAlenUpLCBzZXJhIGNvcnJpZ8OpIHBhciB3ICjDqWNyaXR1cmUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiRMOpYnV0IGRlIHNlY3RldXLCoCVqdSBob3JzIGxpbWl0ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJMYSBwYXJ0aXRpb27CoCV6dSBlc3QgZMOpasOgIGTDqWZpbmllLiBTdXBwcmltZXotbMOgIGF2YW50IGRlIGwnYWpvdXRlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiTGUgc2VjdGV1csKgJWxsdSBlc3QgZMOpasOgIGFsbG91w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4NSBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzMAorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJBdWN1biBzZWN0ZXVyIGxpYnJlIGRpc3BvbmlibGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJBam91dCBkZSBsYSBwYXJ0aXRpb24gbG9naXF1ZcKgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogY29udGllbnQgdW4gc2VjdGV1csKgMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogdMOqdGXCoCVkIHN1cMOpcmlldXJlIGF1IG1heGltdW0gJWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dcKgOiBzZWN0ZXVywqAlZCBzdXDDqXJpZXVyIGF1IG1heGltdW0gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogY3lsaW5kcmXCoCVkIHN1cMOpcmlldXIgYXUgbWF4aW11bSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQYXJ0aXRpb24gJXp1wqA6IHNlY3RldXJzIHByw6ljw6lkZW50cyAldSBuZSBjb3JyZXNwb25kZW50IHBhcyBhdSB0b3RhbMKgJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnRpdGlvbsKgJXp1wqA6IGTDqWJ1dHMgcGh5c2lxdWUgZXQgbG9naXF1ZSBkaWZmw6lyZW50cyAocGV1dC3DqnRyZSBub24gTGludXgpwqA6IHBoeXNpcXVlPSglZCwgJWQsICVkKSwgbG9naXF1ZT0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogZmlucyBwaHlzaXF1ZSBldCBsb2dpcXVlIGRpZmbDqXJlbnRlc8KgOiBwaHlzaXF1ZT0oJWQsICVkLCAlZCksIGxvZ2lxdWU9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dcKgOiBuZSBzZSB0ZXJtaW5lIHBhcyBzdXIgdW5lIGZyb250acOocmUgZGUgY3lsaW5kcmUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBhcnRpdGlvbsKgJXp1wqA6IG1hdXZhaXMgZMOpYnV0IGRlIGRvbm7DqWVzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpdGlvbsKgJXp1wqA6IGNoZXZhdWNoZSBsYSBwYXJ0aXRpb27CoCV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiUGFydGl0aW9uwqAlenXCoDogdmlkZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0aXRpb24gbG9naXF1ZcKgJXp1wqA6IHBhcyBlbnRpw6hyZW1lbnQgZGFucyBsYSBwYXJ0aXRpb27CoCV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJUb3RhbCBkZSBzZWN0ZXVycyBhbGxvdcOpcyAlbGx1IHN1cMOpcmlldXIgYXUgbWF4aW11bSAlbGx1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiVsbGTCoHNlY3RldXJzIGRlICVsZMKgb2N0ZXRzIG5vbiBhbGxvdcOpcyByZXN0YW50LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJMYSBwYXJ0aXRpb24gw6l0ZW5kdWUgZXhpc3RlIGTDqWrDoC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIkxhIHBhcnRpdGlvbiDDqXRlbmR1ZSBuJ2V4aXN0ZSBwYXMuIMOJY2hlYyBkZSBsJ2Fqb3V0IGRlIGxhIHBhcnRpdGlvbiBsb2dpcXVlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiTGUgbm9tYnJlIG1heGltYWwgZGUgcGFydGl0aW9ucyBhIMOpdMOpIGNyw6nDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiVG91dGVzIGxlcyBwYXJ0aXRpb25zIHByaW1haXJlcyBzb250IHV0aWxpc8OpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MyBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NAorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIlRvdXQgbOKAmWVzcGFjZSBkZXMgcGFydGl0aW9ucyBwcmltYWlyZXMgZXN0IHV0aWxpc8OpLiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NworbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUG91ciBlbiBjcsOpZXIgcGx1cywgcmVtcGxhY2V6IGQnYWJvcmQgdW5lIHBhcnRpdGlvbiBwcmltYWlyZSBwYXIgdW5lIMOpdGVuZHVlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiVG91dGVzIGxlcyBwYXJ0aXRpb25zIGxvZ2lxdWVzIHNvbnQgdXRpbGlzw6llcy4gQWpvdXQgZCd1bmUgcGFydGl0aW9uIHByaW1haXJlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVHlwZSBkZSBwYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dcKgcHJpbWFpcmUsICVkwqDDqXRlbmR1ZSwgJXp1wqBsaWJyZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJwcmltYWlyZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiw6l0ZW5kdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgImNvbnRlbmV1ciBwb3VyIHBhcnRpdGlvbnMgbG9naXF1ZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAibG9naXF1ZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIm51bcOpcm90w6kgw6AgcGFydGlyIGRlIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIlR5cGUgZGUgcGFydGl0aW9uIMKrwqAlY8KgwrsgaW5jb3JyZWN0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnw6ljcmlyZSBsZSBzZWN0ZXVyICVqZMKgOiDDqWNoZWMgZGUgcG9zaXRpb25uZW1lbnQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudGlmaWFudCBkZSBkaXNxdWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiVHlwZSAwIHNpZ25pZmllIGxpYsOpcmVyIGwnZXNwYWNlIHN1ciBwbHVzaWV1cnMgc3lzdMOobWVzLiBBdm9pciBkZXMgcGFydGl0aW9ucyBkZSB0eXBlIDAgbidlc3QgcGFzIHJlY29tbWFuZMOpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjaGFuZ2VyIGxlIHR5cGUgZCd1bmUgcGFydGl0aW9uIMOpdGVuZHVlIHF1aSBlc3QgZMOpasOgIHV0aWxpc8OpZSBwYXIgZGVzIHBhcnRpdGlvbnMgbG9naXF1ZXMuIFN1cHByaW1leiBkJ2Fib3JkIGxlcyBwYXJ0aXRpb25zIGxvZ2lxdWVzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJSaWVuIMOgIGZhaXJlLiBMJ29yZHJlIGVzdCBkw6lqw6AgY29ycmVjdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIlBhcnRpdGlvbsKgJXp1wqA6IHBhcyBkZSB6b25lIGRlIGRvbm7DqWVzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk5vdXZlYXUgZMOpYnV0IGRlIGRvbm7DqWVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQYXJ0aXRpb27CoCV6dcKgOiBlc3QgdW5lIHBhcnRpdGlvbiDDqXRlbmR1ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJM4oCZaW5kaWNhdGV1ciBk4oCZYW1vcsOnYWdlIGRlIGxhIHBhcnRpdGlvbsKgJXp1IGVzdCBtYWludGVuYW50IGFjdGl2w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkzigJlpbmRpY2F0ZXVyIGTigJlhbW9yw6dhZ2UgZGUgbGEgcGFydGl0aW9uwqAlenUgZXN0IG1haW50ZW5hbnQgZMOpc2FjdGl2w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIlDDqXJpcGjDqXJpcXVlIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJBbW9yw6dhZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI1Cittc2dpZCAiSWQiCittc2dzdHIgIklkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICJEw6lidXQtQy9UL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICJGaW4tQy9UL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgIkF0dHIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiU3lzdMOobWUgRUZJIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIlNjaMOpbWEgZGUgcGFydGl0aW9ubmVtZW50IGR1IHNlY3RldXIgZCdhbW9yw6dhZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICJGbGFzaCByYXBpZGUgSW50ZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkFtb3LDp2FnZSBCSU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY4Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFydGl0aW9uIGQnYW1vcsOnYWdlIFNvbnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnRpdGlvbiBkJ2Ftb3LDp2FnZSBMZW5vdm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzIKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUG93ZXJQQyBQUmVQIEJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkJvb3QgT05JRSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICJDb25maWd1cmF0aW9uIE9OSUUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzkKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIlLDqXNlcnbDqSBNaWNyb3NvZnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiRG9ubsOpZXMgZGUgYmFzZSBNaWNyb3NvZnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICJNw6l0YWRvbm7DqWVzIExETSBNaWNyb3NvZnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIkRvbm7DqWVzIExETSBNaWNyb3NvZnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICJFbnZpcm9ubmVtZW50IGRlIHLDqWN1cMOpcmF0aW9uIFdpbmRvd3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiR2VuZXJhbCBQYXJhbGxlbCBGaWxlIFN5c3RlbSBJQk0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIkVzcGFjZSBkZSBzdG9ja2FnZSBNaWNyb3NvZnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJEb25uw6llcyBIUC1VWCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIlNlcnZpY2UgSFAtVVgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIlBhcnRpdGlvbiBkJ8OpY2hhbmdlIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiU3lzdMOobWUgZGUgZmljaGllcnMgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiRG9ubsOpZXMgZGUgc2VydmV1ciBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIlJhY2luZSBMaW51eCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJSYWNpbmUgTGludXggKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJMaW51eCByb290IChBUk0tNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdFx0KElBLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJSw6lzZXJ2w6kgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJEb25uw6llcyBwZXJzb25uZWxsZXMgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiUkFJRCBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkFtb3LDp2FnZSBMaW51eCDDqXRlbmR1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJEb25uw6llcyBGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJBbW9yw6dhZ2UgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiUGFydGl0aW9uIGQnw6ljaGFuZ2UgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJVRlMgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJaRlMgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIlZpbnVtIEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiSEZTIG91IEhGUysgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIlVGUyBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIlJBSUQgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIlJBSUQgaG9ycyBsaWduZSBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFtb3LDp2FnZSBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICLDiXRpcXVldHRlIEFwcGxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIlLDqWN1cMOpcmF0aW9uIGQnQXBwbGUgVFYiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIlN0b2NrYWdlIGQnQXBwbGUgQ29yZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiUmFjaW5lIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIi91c3IgU29sYXJpcyBldCBaRlMgQXBwbGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlBhcnRpdGlvbiBkJ8OpY2hhbmdlIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU2F1dmVnYXJkZSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICIvdmFyIFNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICIvaG9tZSBTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJTZWN0ZXVyIGFsdGVybmF0aWYgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiUsOpc2VydsOpIDEgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiUsOpc2VydsOpIDIgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiUsOpc2VydsOpIDMgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiUsOpc2VydsOpIDQgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiUsOpc2VydsOpIDUgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJQYXJ0aXRpb24gZCfDqWNoYW5nZSBOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJGRlMgTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTEZTIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIkNvbmNhdMOpbsOpIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIkNoaWZmcsOpIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJSQUlEIE5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiTm95YXUgQ2hyb21lT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICJTeXN0w6htZSBkZSBmaWNoaWVycyByYWNpbmUgQ2hyb21lT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiUsOpc2VydsOpIENocm9tZU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiRG9ubsOpZXMgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJBbW9yw6dhZ2UgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJQYXJ0aXRpb24gZCfDqWNoYW5nZSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiVUZTIE1pZG5pZ2h0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJaRlMgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiVmludW0gTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkpvdXJuYWwgQ2VwaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIkpvdXJuYWwgQ2VwaCBjaGlmZnLDqSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICJPU0QgQ2VwaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICJPU0QgQ2VwaCBjaGlmZnLDqSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiRGlzcXVlIENlcGggZW4gY291cnMgZGUgY3LDqWF0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJEaXNrIENlcGggY2hpZmZyw6kgZW4gY291cnMgZGUgY3LDqWF0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiVk13YXJlIERpYWdub3N0aWMiCittc2dzdHIgIlZNd2FyZSBEaWFnbm9zdGljIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICJTQU4gdmlydHVlbCBWTXdhcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICJWTXdhcmUgVmlyc3RvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiVk13YXJlIFJlc2VydmVkIgorbXNnc3RyICJSw6lzZXJ2w6kgVk13YXJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJEb25uw6llcyBPcGVuQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiU3lzdMOobWUgZGUgZmljaGllcnMgUU5YNiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnRpdGlvbiBQbGFuIDkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NjEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiw6ljaGVjIGQnYWxsb2NhdGlvbiBk4oCZZW4tdMOqdGUgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzQ0Cittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiTGUgcHJlbWllciBMQkEgc3DDqWNpZmnDqSBwYXIgbGUgc2NyaXB0IGVzdCBob3JzIGxpbWl0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkxlIGRlcm5pZXIgTEJBIHNww6ljaWZpw6kgcGFyIGxlIHNjcmlwdCBlc3QgaG9ycyBsaW1pdGUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiTWF1dmFpc2UgY29uY29yZGFuY2UgZGVzIHRhaWxsZXMgZGUgcGFydGl0aW9uIGR1IHNlY3RldXIgZCdhbW9yw6dhZ2UgR1BUICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSwgZWxsZXMgc2Vyb250IGNvcnJpZ8OpZXMgcGFyIGwnw6ljcml0dXJlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B0wqA6IMOpY2hlYyBkZSBzdGF0KCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0wqA6IGltcG9zc2libGUgZGUgdHJhaXRlciBsZXMgZmljaGllcnMgZW4gbW9kZcKgJW8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiRW4tdMOqdGUgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJFbnRyw6llcyBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJQcmVtaWVyIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiRGVybmllciBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICJMQkEgYWx0ZXJuYXRpZiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiRW50csOpZXMgZGUgcGFydGl0aW9uIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNTAKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIkVudHLDqWVzIGRlIHBhcnRpdGlvbnMgYWxsb3XDqWVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5NQorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkxhIHRhYmxlIGRlIHBhcnRpdGlvbnMgR1BUIGRlIHNhdXZlZ2FyZGUgZXN0IGNvcnJvbXB1ZSwgbWFpcyBsYSBwcmltYWlyZSBzZW1ibGUgZm9uY3Rpb25uZWxsZSwgZWxsZSBzZXJhIGRvbmMgdXRpbGlzw6llLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJMYSB0YWJsZSBkZSBwYXJ0aXRpb25zIEdQVCBwcmltYWlyZSBlc3QgY29ycm9tcHVlLCBtYWlzIGxhIHNhdXZlZ2FyZGUgc2VtYmxlIGZvbmN0aW9ubmVsbGUsIGVsbGUgc2VyYSBkb25jIHV0aWxpc8OpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiTGEgdGFibGUgR1BUIGRlIHNhdXZlZ2FyZGUgbidlc3QgcGFzIMOgIGxhIGZpbiBkdSBww6lyaXBow6lyaXF1ZS4gQ2UgcHJvYmzDqG1lIHNlcmEgY29ycmlnw6kgcGFyIGwnw6ljcml0dXJlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiYml0IMKrwqAlc8KgwrsgZOKAmWF0dHJpYnV0IEdQVCBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIGNoYcOubmUgZCdhdHRyaWJ1dCBHUFQgwqvCoCVzwqDCuyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiVVVJRCBkZSBwYXJ0aXRpb24gbW9kaWZpw6kgZGUgJXMgZW4gJXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNAorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2xhdGUgcGFydGl0aW9uIG5hbWUsIG5hbWUgbm90IGNoYW5nZWQuIgorbXNnc3RyICLDiWNoZWMgZGUgbGEgdHJhZHVjdGlvbiBkdSBub20gZGUgcGFydGl0aW9uLCBsZSBub20gZXN0IGluY2hhbmfDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk5vbSBkZSBwYXJ0aXRpb24gbW9kaWZpw6kgZGUgwqvCoCVzwqDCuyBlbiDCq8KgJS4qc8KgwrsuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0NQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJsZSBkw6lidXQgZGUgbGEgcGFydGl0aW9uIGTDqXBhc3NlIEZpcnN0VXNhYmxlTEJBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJGaW4gZGUgbGEgcGFydGl0aW9uIGVuIGRlc3NvdXMgZGUgTGFzdFVzYWJsZUxCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTE0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIkxlIHDDqXJpcGjDqXJpcXVlIGNvbnRpZW50IHVuIHNlY3RldXIgZOKAmWFtb3LDp2FnZSBoeWJyaWRlIOKAlCDDqWNyaXR1cmUgZGUgR1BUIHNldWxlbWVudC4gVm91cyBkZXZleiBzeW5jaHJvbmlzZXIgbGUgc2VjdGV1ciBk4oCZYW1vcsOnYWdlIHZvdXMtbcOqbWUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1MQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJMZSBkaXNxdWUgbmUgY29udGllbnQgcGFzIGQnZW4tdMOqdGUgZGUgc2F1dmVnYXJkZSB2YWxhYmxlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIlNvbW1lIGRlIGNvbnRyw7RsZSBDUkMgZCdlbi10w6p0ZSBwcmltYWlyZSBpbmNvcnJlY3RlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiU29tbWUgZGUgY29udHLDtGxlIENSQyBkJ2VuLXTDqnRlIGRlIHNhdXZlZ2FyZGUgaW5jb3JyZWN0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJTb21tZSBkZSBjb250csO0bGUgZCdlbnRyw6llIGRlIHBhcnRpdGlvbiBpbmNvcnJlY3RlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiQ29udHLDtGxlcyBkJ2ludMOpZ3JpdMOpIExCQSBkJ2VuLXTDqnRlIHByaW1haXJlIGluY29ycmVjdHMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIkNvbnRyw7RsZXMgZCdpbnTDqWdyaXTDqSBMQkEgZCdlbi10w6p0ZSBkZSBzYXV2ZWdhcmRlIGluY29ycmVjdHMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk15TEJBIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHbDqXJpdGFibGUgcG9zaXRpb24gZGFucyBsJ2VuLXTDqnRlIHByaW1haXJlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIk15TEJBIG5lIGNvcnJlc3BvbmQgcGFzIMOgIGxhIHbDqXJpdGFibGUgcG9zaXRpb24gZGFucyBsJ2VuLXTDqnRlIGRlIHNhdXZlZ2FyZGUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4OAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICJMZSBkaXNxdWUgZXN0IHRyb3AgcGV0aXQgcG91ciBjb250ZW5pciB0b3V0ZXMgbGVzIGRvbm7DqWVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiTGVzIGVuLXTDqnRlcyBwcmltYWlyZSBldCBkZSBzYXV2ZWdhcmRlIG5lIGNvcnJlc3BvbmRlbnQgcGFzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAldSBjaGV2YXVjaGUgbGEgcGFydGl0aW9uwqAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgJXUgZXN0IHRyb3AgZ3JhbmRlIHBvdXIgbGUgZGlzcXVlLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgJXUgc2UgdGVybWluZSBhdmFudCBkZSBjb21tZW5jZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIkF1Y3VuZSBlcnJldXIgZMOpdGVjdMOpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiVmVyc2lvbiBkJ2VuLXTDqnRlwqA6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiVXRpbGlzYXRpb24gZGUgJXp1IHBhcnRpdGlvbnMgc3VyICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIlVuIHRvdGFsIGRlICVqdcKgc2VjdGV1cnMgbGlicmVzIGVzdCBkaXNwb25pYmxlIGRhbnMgJXXCoHNlZ21lbnQuIgorbXNnc3RyWzFdICJVbiB0b3RhbCBkZSAlanXCoHNlY3RldXJzIGxpYnJlcyBlc3QgZGlzcG9uaWJsZSBkYW5zICV1wqBzZWdtZW50cyAobGUgcGx1cyBncmFuZCBlc3QgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIlZMKgZXJyZXVyIGTDqXRlY3TDqWUuIgorbXNnc3RyWzFdICIlZMKgZXJyZXVycyBkw6l0ZWN0w6llcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzI2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiVG91dGVzIGxlcyBwYXJ0aXRpb25zIHNvbnQgZMOpasOgIGVuIGNvdXJzIGQndXRpbGlzYXRpb24uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIkxlIHNlY3RldXLCoCVqdSBlc3QgZMOpasOgIHV0aWxpc8OpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIGNyw6llciBsYSBwYXJ0aXRpb27CoCV6dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIkxlIGRlcm5pZXIgc2VjdGV1ciBHUFQgdXRpbGlzYWJsZSBlc3QgJWp1IG1haXMgJWp1IGVzdCBkZW1hbmTDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiTGUgcHJlbWllciBzZWN0ZXVyIEdQVCB1dGlsaXNhYmxlIGVzdCAlanUgbWFpcyAlanUgZXN0IGRlbWFuZMOpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICJVbmUgbm91dmVsbGUgw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgR1BUIGEgw6l0w6kgY3LDqcOpZSAoR1VJRMKgOiAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0NgorbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiU2Fpc2lzc2V6IGxlIG5vdXZlbCBVVUlEIGR1IGRpc3F1ZSAoYXUgZm9ybWF0IDgtNC00LTQtMTIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY1MworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICLDiWNoZWMgZCdhbmFseXNlIGRlIGzigJlVVUlELiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIklkZW50aWZpYW50IGRlIGRpc3F1ZSBtb2RpZmnDqSBkZSAlcyBlbiAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjg3Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIlBhcyBhc3NleiBk4oCZZXNwYWNlIHBvdXIgbGEgbm91dmVsbGUgdGFibGUgZGUgcGFydGl0aW9uwqAhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJQYXJ0aXRpb24gbsKwJXp1IGhvcnMgbGltaXRlIChsZSBkw6lidXQgbWluaW1hbCBlc3QgJTxQUkl1NjQ+IHNlY3RldXJzKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpdGlvbiBuwrAlenUgaG9ycyBsaW1pdGUgKGxhIGZpbiBtYXhpbWFsZSBlc3QgJTxQUkl1NjQ+IHNlY3RldXJzKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiTGUgbm9tYnJlIGRlIGxhIHBhcnRpdGlvbiBkb2l0IMOqdHJlIGluZsOpcmlldXIgw6AgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiQWxsb2NhdGlvbiBkZSBtw6ltb2lyZSBpbXBvc3NpYmxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiTG9uZ3VldXIgZGUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBtb2RpZmnDqWUgZGUgJTxQUkl1MzI+IGVuICU8UFJJdTY0Pi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIkxlIGF0dHJpYnV0cyBkZSBsYSBwYXJ0aXRpb27CoCV6dSBtb2RpZmnDqXMgZW4gMHglMDE2PFBSSXg2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJTYWlzaXNzZXogbGUgYml0IHNww6ljaWZpcXVlIGF1IEdVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiw6ljaGVjIGRlIG1vZGlmaWNhdGlvbiBkdSBiaXTCoCVsdSBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTGUgYml0wqAlZCBzcMOpY2lmaXF1ZSBhdSBHVUlEIGRlIGxhIHBhcnRpdGlvbsKgJXp1IGVzdCBtYWludGVuYW50IGFjdGl2w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJMZSBiaXTCoCVkIHNww6ljaWZpcXVlIGF1IEdVSUQgZGUgbGEgcGFydGl0aW9uwqAlenUgZXN0IG1haW50ZW5hbnQgZMOpc2FjdGl2w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTOKAmWluZGljYXRldXLCoCVzIGRlIGxhIHBhcnRpdGlvbsKgJXp1IGVzdCBtYWludGVuYW50IGFjdGl2w6kuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkzigJlpbmRpY2F0ZXVywqAlcyBkZSBsYSBwYXJ0aXRpb27CoCV6dSBlc3QgbWFpbnRlbmFudCBkw6lzYWN0aXbDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM0Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUeXBlLVVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTm9tIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiRXNwYWNlIGxpYnJlIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiw4ljaGVjIGRlIHJlZGltZW5zaW9ubmVtZW50IGRlIGxhIHBhcnRpdGlvbiAjJXp1LiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiaW5jb25udSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAidm9saGRyIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgInRya3JlcGwgU0dJIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAic2VjcmVwbCBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgImJydXQgU0dJIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJic2QgU0dJIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAic3lzdiBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgInZvbHVtZSBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgImVmcyBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJsdm9sIFNHSSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJybHZvbCBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgInhmcyBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgInhmc2xvZyBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgInhsdiBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgInh2bSBTR0kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIm5hdGlmIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiSW5mb3JtYXRpb25zIFNHSSBjcsOpw6llcyBzdXIgbGUgZGV1eGnDqG1lIHNlY3RldXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiVW5lIMOpdGlxdWV0dGUgZGUgZGlzcXVlIFNHSSBkw6l0ZWN0w6llIGF2ZWMgdW5lIHNvbW1lIGRlIGNvbnRyw7RsZSBlcnJvbsOpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcmVzIHBoeXNpcXVlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJTZWN0ZXVycy9jeWxpbmRyZXMgYWRkaXRpb25uZWxzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIkZpY2hpZXIgZCdhbW9yw6dhZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiRmljaGllciBkJ2Ftb3LDp2FnZSBub24gdmFsYWJsZS4gTGUgZmljaGllciBkJ2Ftb3LDp2FnZSBkb2l0IGF2b2lyIHVuIGNoZW1pbiBkJ2FjY8OocyBhYnNvbHUgbm9uIG51bCwgcGFyIGV4ZW1wbGUgwqvCoC91bml4wqDCuyBvdSDCq8KgL3VuaXguc2F2ZcKgwrsuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIkxlIG5vbSBkdSBmaWNoaWVyIGQnYW1vcsOnYWdlIGVzdCB0cm9wIGxvbmfCoDogJXp1wqBvY3RldCBhdSBtYXhpbXVtLiIKK21zZ3N0clsxXSAiTGUgbm9tIGR1IGZpY2hpZXIgZCdhbW9yw6dhZ2UgZXN0IHRyb3AgbG9uZ8KgOiAlenXCoG9jdGV0cyBhdSBtYXhpbXVtLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIkxlIGZpY2hpZXIgZCdhbW9yw6dhZ2UgZG9pdCBhdm9pciB1biBjaGVtaW4gZCdhY2PDqHMgY29tcGzDqHRlbWVudCBxdWFsaWZpw6kuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIkF0dGVudGlvbiwgbCdleGlzdGVuY2UgZHUgZmljaGllciBkJ2Ftb3LDp2FnZSBuJ2VzdCBwYXMgdsOpcmlmacOpZS4gUGFyIGTDqWZhdXQgcG91ciBTR0ksIGMnZXN0IMKrwqAvdW5peMKgwrsgZXQgcG91ciBsYSBzYXV2ZWdhcmRlIMKrwqAvdW5peC5zYXZlwqDCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiTGUgZmljaGllciBkJ2Ftb3LDp2FnZSBhY3R1ZWwgZXN0wqA6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIlNhaXNpc3NleiBsZSBub3V2ZWF1IGZpY2hpZXIgZCdhbW9yw6dhZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDUKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiTGUgZmljaGllciBkJ2Ftb3LDp2FnZSBu4oCZZXN0IHBhcyBtb2RpZmnDqS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICJMZSBmaWNoaWVyIGQnYW1vcsOnYWdlIGEgw6l0w6kgbW9kaWZpw6kgZW4gwqvCoCVzwqDCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJQbHVzIGQndW5lIGVudHLDqWUgZGUgZGlzcXVlIGVudGllciBwcsOpc2VudGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJBdWN1bmUgcGFydGl0aW9uIGTDqWZpbmllLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIlBvdXIgSVJJWCwgaWwgZXN0IHJlY29tbWFuZMOpIHF1ZSBsYSBwYXJ0aXRpb27CoDExIGNvdXZyZSBlbnRpw6hyZW1lbnQgbGUgZGlzcXVlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJMYSBwYXJ0aXRpb24gZCd1biBkaXNxdWUgZW50aWVyIGRldnJhaXQgY29tbWVuY2VyIGF1IGJsb2PCoDAsIHBhcyBhdSBibG9jwqAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIkxhIHBhcnRpdGlvbsKgMTEgZGV2cmFpdCBjb3V2cmlyIGxlIGRpc3F1ZSBlbiBlbnRpZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiTGVzIHBhcnRpdGlvbnPCoCVkIGV0ICVkIHNlIGNoZXZhdWNoZW50IHN1ciAlZMKgc2VjdGV1ci4iCittc2dzdHJbMV0gIkxlcyBwYXJ0aXRpb25zwqAlZCBldCAlZCBzZSBjaGV2YXVjaGVudCBzdXIgJWTCoHNlY3RldXJzLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MiBsaWJmZGlzay9zcmMvc2dpLmM6Njg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIkVzcGFjZSBpbnV0aWxpc8OpIGRlICU4dcKgc2VjdGV1ciDigJQgc2VjdGV1csKgJTh1IgorbXNnc3RyWzFdICJFc3BhY2UgaW51dGlsaXPDqSBkZSAlOHXCoHNlY3RldXJzIOKAlCBzZWN0ZXVyc8KgJTh1LSV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uIGQnYW1vcsOnYWdlIG4nZXhpc3RlIHBhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDEKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJMYSBwYXJ0aXRpb24gZCfDqWNoYW5nZSBuJ2V4aXN0ZSBwYXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA1Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICJMYSBwYXJ0aXRpb24gZCfDqWNoYW5nZSBuJ2VzdCBwYXMgZGUgdHlwZSDCq8Kgc3dhcMKgwrsuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlZvdXMgYXZleiBjaG9pc2kgdW4gbm9tIGRlIGZpY2hpZXIgZCdhbW9yw6dhZ2UgaW5oYWJpdHVlbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIkRlcyBwYXJ0aXRpb25zIHNlIGNoZXZhdWNoZW50IHN1ciBsZSBkaXNxdWUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiRXNzYWkgZGUgY3LDqWF0aW9uIGF1dG9tYXRpcXVlIGQndW5lIGVudHLDqWUgcG91ciBsZSBkaXNxdWUgZW50aWVyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiTGUgZGlzcXVlIGVudGllciBlc3QgZMOpasOgIHJlbXBsaSBkZSBwYXJ0aXRpb25zLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiRGVzIHBhcnRpdGlvbnMgc2UgY2hldmF1Y2hlbnQgc3VyIGxlIGRpc3F1ZS4gVmV1aWxsZXogY29ycmlnZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc0IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlByZW1pZXIgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTggbGliZmRpc2svc3JjL3NnaS5jOjk0OAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICJJbCBlc3QgZm9ydGVtZW50IHJlY29tbWFuZMOpIHF1ZSBsYSBvbnppw6htZSBwYXJ0aXRpb24gY291dnJlIGxlIGRpc3F1ZSBlbiBlbnRpZXIgZXQgc29pdCBkZSB0eXBlIMKrwqB2b2x1bWUgU0dJwqDCuyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxMyBsaWJmZGlzay9zcmMvc3VuLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkRlcm5pZXIgJXMsICslcyBvdSArdGFpbGxle0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIkwnaW9jdGwgQkxLR0VUU0laRSBhIMOpY2hvdcOpIHN1ciAlcy4gVXRpbGlzYXRpb24gZGUgbGEgdmFsZXVywqAlbGx1IHBvdXIgbGEgZ8Opb23DqXRyaWUgZHUgY3lsaW5kcmUuIENldHRlIHZhbGV1ciBwZXV0IMOqdHJlIHRyb25xdcOpZSBwb3VyIGxlcyBww6lyaXBow6lyaXF1ZXMgZGUgcGx1cyBkZSAzMyw4wqBHby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiVW5lIG5vdXZlbGxlIMOpdGlxdWV0dGUgZGUgZGlzcXVlIFNHSSBhIMOpdMOpIGNyw6nDqWUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiRMOpc29sw6ksIGwnw6l0aXF1ZXR0ZSBuJ2VzdCBtb2RpZmlhYmxlIHF1ZSBwb3VyIGxlcyBwYXJ0aXRpb25zIG5vbiB2aWRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiRW52aXNhZ2V6IGRlIGxhaXNzZXIgbGEgcGFydGl0aW9uwqA5IGNvbW1lIHVuIHZvbHVtZSBlbi10w6p0ZSAoMCksIGV0IGxhIHBhcnRpdGlvbsKgMTEgY29tbWUgdW4gdm9sdW1lIGVudGllciAoNikgdGVsIHF14oCZSVJJWCBsJ2V4aWdlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIklsIGVzdCBmb3J0ZW1lbnQgcmVjb21tYW5kw6kgcXVlIGxhIHBhcnRpdGlvbiDDoCBs4oCZaW5kZXjCoDAgc29pdCBkZSB0eXBlIMKrwqB2b2xoZHIgU0dJwqDCuywgbGUgc3lzdMOobWUgSVJJWCBzJ2VuIHNlcnQgcG91ciByw6ljdXDDqXJlciBkZXMgb3V0aWxzIGluZMOpcGVuZGFudHMgY29tbWUgc2FzaCBldCBmeCBkYW5zIHNlcyByw6lwZXJ0b2lyZXMuIFNldWwgbGUgwqvCoHZvbHVtZSBTR0nCoMK7IGNvdXZyYW50IGxhIHNlY3Rpb24gZW50acOocmUgZHUgZGlzcXVlIHBldXQgZW5mcmVpbmRyZSBjZXR0ZSByw6hnbGUuIMOKdGVzIHZvdXMgw6p0ZXMgY2VydGFpbiBkZSBsJ8OpdGlxdWV0YWdlIGRpZmbDqXJlbnQgZGUgY2V0dGUgcGFydGl0aW9uwqA/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICJOb24tYXNzaWduw6kiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgInJvb3QgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgInBhcnRpdGlvbiBkJ8OpY2hhbmdlIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgInVzciBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiRGlzcXVlIGVudGllciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgInN0YW5kIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgInZhciBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiaG9tZSBTdW5PUyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgInNlY3RldXJzIGFsdC4gU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgImNhY2hlZnMgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJyw6lzZXJ2w6kgU3VuT1MiCisKKyMgTk9URTogcy9jaGVjc3VtL2NoZWNrc3VtLworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzMAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIkTDqXRlY3Rpb24gZCd1bmUgw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgU3VuIGF2ZWMgdW5lIHNvbW1lIGRlIGNvbnRyw7RsZSBlcnJvbsOpZS4gVm91cyBkZXZyZXogcHJvYmFibGVtZW50IGluZGlxdWVyIGxlcyB2YWxldXJzLCBwYXIgZXhlbXBsZSB0w6p0ZXMsIHNlY3RldXJzLCBjeWxpbmRyZXMgZXQgcGFydGl0aW9ucyBvdSBpbXBvc2VyIHVuZSBub3V2ZWxsZSDDqXRpcXVldHRlIChjb21tYW5kZSDCq8Kgc8KgwrsgZHUgbWVudSBwcmluY2lwYWwpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICLDiXRpcXVldHRlIGRlIGRpc3F1ZSBTdW4gZMOpdGVjdMOpZSBhdmVjIHZlcnNpb24gZXJyb27DqWUgWyVkXS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiw4l0aXF1ZXR0ZSBkZSBkaXNxdWUgU3VuIGTDqXRlY3TDqWUgYXZlYyBtYXV2YWlzIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIsOJdGlxdWV0dGUgZGUgZGlzcXVlIFN1biBkw6l0ZWN0w6llIGF2ZWMgbWF1dmFpcyB2dG9jLm5wYXJ0cyBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJBdmVydGlzc2VtZW50wqA6IGRlcyB2YWxldXJzIGVycm9uw6llcyBkZXZyb250IMOqdHJlIGNvcnJpZ8OpZXMgcGFyIGxhIGNvbW1hbmRlIHcgKMOpY3JpdHVyZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiVMOqdGVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VjdGV1cnMvcGlzdGUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJVbmUgbm91dmVsbGUgw6l0aXF1ZXR0ZSBkZSBkaXNxdWUgU3VuIGEgw6l0w6kgY3LDqcOpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAldSBuZSBzZSB0ZXJtaW5lIHBhcyBzdXIgdW5lIGZyb250acOocmUgZGUgY3lsaW5kcmUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiTGEgcGFydGl0aW9uwqAldSBlbiBjaGV2YXVjaGUgZCdhdXRyZXMgZGFucyBsZXMgc2VjdGV1cnPCoCV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiRXNwYWNlIGludGVybcOpZGlhaXJlIGludXRpbGlzw6kg4oCUIHNlY3RldXJzwqAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiRXNwYWNlIGludGVybcOpZGlhaXJlIGludXRpbGlzw6kg4oCUIHNlY3RldXJzwqAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MzQKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIkQnYXV0cmVzIHBhcnRpdGlvbnMgY291dnJlbnQgZMOpasOgIGxlIGRpc3F1ZSBlbnRpZXIuIFN1cHByaW1leiBvdSByw6lkdWlzZXotZW4gcXVlbHF1ZXMtdW5lcyBhdmFudCBkZSByw6llc3NheWVyLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiSWwgZXN0IGZvcnRlbWVudCByZWNvbW1hbmTDqSBxdWUgbGEgdHJvaXNpw6htZSBwYXJ0aXRpb24gY291dnJlIHRvdXQgbGUgZGlzcXVlIGV0IHNvaXQgZGUgdHlwZSDCq8KgRGlzcXVlIGVudGllcsKgwrsiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiQWxpZ25lbWVudCBkdSBwcmVtaWVyIHNlY3RldXIgZGUgJXUgdmVycyAldSBwb3VyIMOqdHJlIHN1ciB1bmUgZnJvbnRpw6hyZSBkZSBjeWxpbmRyZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJMZSBzZWN0ZXVywqAlZCBlc3QgZMOpasOgIGFsbG91w6kiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJWb3VzIG4nYXZleiBwYXMgcmVjb3V2ZXJ0IGxlIGRpc3F1ZSBlbnRpZXIgYXZlYyBsYSB0cm9pc2nDqG1lIHBhcnRpdGlvbixcbiIKKyJtYWlzIGxhIHZhbGV1ciAlbHXCoCVzIGVuIGNvdXZyZSBkJ2F1dHJlcy4gVm90cmUgZW50csOpZSBhIMOpdMOpIG1vZGlmacOpZVxuIgorIsOgICVsdcKgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIlNpIHZvdXMgZMOpc2lyZXogbWFpbnRlbmlyIHVuZSBjb21wYXRpYmlsaXTDqSBTdW5PUy9Tb2xhcmlzLCBlbnZpc2FnZXogZGUgbGFpc3NlciBjZXR0ZSBwYXJ0aXRpb24gY29tbWUgRGlzcXVlIGVudGllciAoNSksIGTDqWJ1dGFudCDDoCAwLCBhdmVjICV1wqBzZWN0ZXVycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJJZGVudGlmaWFudCBk4oCZw6l0aXF1ZXR0ZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiSWRlbnRpZmlhbnQgZGUgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kcmVzIGFsdGVybmF0aWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIk5vbWJyZSBkZSBjeWxpbmRyZXMgYWx0ZXJuYXRpZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiU2VjdGV1cnMgYWRkaXRpb25uZWxzIHBhciBjeWxpbmRyZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkzMworbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJGYWN0ZXVyIMKrwqBpbnRlcmxlYXZlwqDCuyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJWaXRlc3NlIGRlIHJvdGF0aW9uICh0b3VyIHBhciBtaW51dGUpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTgxCittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiTm9tYnJlIGRlIGN5bGluZHJlcyBwaHlzaXF1ZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ2Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiRW52aXNhZ2V6IGRlIGxhaXNzZXIgbGEgcGFydGl0aW9uwqAzIGNvbW1lIHVuIGRpc3F1ZSBlbnRpZXIgKDUpLFxuIgorInRlbCBxdWUgU3VuT1MvU29sYXJpcyBsJ2V4aWdlLCBjZSBxdWkgZXN0IGF1c3NpIHByw6lmw6lyYWJsZSBwb3VyIExpbnV4LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIklsIGVzdCBmb3J0ZW1lbnQgcmVjb21tYW5kw6kgcXVlIGxhIHBhcnRpdGlvbiDDoCBs4oCZaW5kZXjCoDAgc29pdCB1biBzeXN0w6htZSBkZVxuIgorImZpY2hpZXJzIFVGUywgRVhUMkZTIG91IHBhcnRpdGlvbiBkJ8OpY2hhbmdlIFN1bk9TLiBVdGlsaXNlciB1bmUgcGFydGl0aW9uXG4iCisiZCfDqWNoYW5nZSBMaW51eCBwb3VycmFpdCBkw6l0cnVpcmUgbGEgdGFibGUgZGUgcGFydGl0aW9ucyBldCBsZSBibG9jIGQnYW1vcsOnYWdlLlxuIgorIkZhdXQtaWwgdnJhaW1lbnQgw6l0aXF1ZXRlciBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zIGVuIHBhcnRpdGlvbiBkJ8OpY2hhbmdlIExpbnV4wqA/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImwnb3DDqXJhdGlvbiBhIMOpY2hvdcOpZcKgOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiQXR0ZW50aW9uwqA6IMOpY2hlYyBkJ2FwcGxpY2F0aW9uIGRlcyBpbmRpY2F0ZXVycyBkZSBwcm9wYWdhdGlvbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICJBdHRlbnRpb246IHDDqXJpcGjDqXJpcXVlIHByb3TDqWfDqSBlbiDDqWNyaXR1cmUsIG1vbnTDqSBlbiBsZWN0dXJlIHNldWxlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICJvcMOpcmF0aW9uIHBlcm1pc2UgdW5pcXVlbWVudCBwb3VyIHJvb3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIGVzdCBkw6lqw6AgbW9udMOpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSDDoCB0cm91dmVyIGRhbnMgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHBvaW50IGluICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHRyb3V2ZXIgbGUgcG9pbnQgZGUgbW9udGFnZSBkYW5zICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciBsYSBzb3VyY2UgZHUgbW9udGFnZSAlcyBkYW5zICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZCBvbiAlczsgdXNlIC10IDx0eXBlPiBvciB3aXBlZnMoOCkiCittc2dzdHIgInBsdXMgZGUgc3lzdMOobWVzIGRlIGZpY2hpZXJzIGTDqXRlY3TDqXMgc3VyICVzwqA7IHV0aWxpc2V6IC10IDx0eXBlPiBvdSB3aXBlZnMoOCkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6l0ZXJtaW5lciBsZSB0eXBlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiQXVjdW4gdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyBpbmRpcXXDqSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIkF1Y3VuIHBvaW50IGRlIG1vbnRhZ2Ugc291cmNlIGluZGlxdcOpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlcyBvcHRpb25zIGRlIG1vbnRhZ2XCoDogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZXMgb3B0aW9ucyBkZSBtb250YWdlIgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjEyCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZHUgcMOpcmlwaMOpcmlxdWUgZGUgYm91Y2xhZ2UgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICJww6lyaXBow6lyaXF1ZSBkZSBib3VjbGFnZSBleGlzdGFudCBwb3VyICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGR1IHZlcnJvdWlsbGFnZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgIm1vbnRhZ2Ugw6ljaG91w6kgOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAibGUgc3lzdMOobWUgZGUgZmljaGllcnMgYSDDqXTDqSBtb250w6kgbWFpcyBsYSB0YWJsZSBkZSBtb250YWdlIGRhbnMgbCdlc3BhY2UgdXRpbGlzYXRldXIgbidhIHBhcyDDqXTDqSBtaXNlIMOgIGpvdXIgIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJsZSBzeXN0w6htZSBkZSBmaWNoaWVycyBhIMOpdMOpIG1vbnTDqSBtYWlzIGxlcyBvcMOpcmF0aW9ucyBzdWl2YW50ZXMgb250IMOpY2hvdcOpwqA6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibGUgcG9pbnQgZGUgbW9udGFnZSBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgInBlcm1pc3Npb24gcmVmdXPDqWUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgInNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IHV0aWxpc2VyIG1vdW50IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYnVzeSIKK21zZ3N0ciAicG9pbnQgZGUgbW9udGFnZSBhY3RpZiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMgZMOpasOgIG1vbnTDqSBzdXIgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAiJXMgZMOpasOgIG1vbnTDqSBvdSBwb2ludCBkZSBtb250YWdlIGFjdGlmIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImxlIHBvaW50IGRlIG1vbnRhZ2UgbidleGlzdGUgcGFzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgImxlIHBvaW50IGRlIG1vbnRhZ2UgZXN0IHVuIGxpZW4gc3ltYm9saXF1ZSBxdWkgbmUgcG9pbnRlIG51bGxlIHBhcnQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibGUgcMOpcmlwaMOpcmlxdWUgc3DDqWNpYWwgJXMgbidleGlzdGUgcGFzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIsOpY2hlYyBkZSBs4oCZYXBwZWwgc3lzdMOobWUgbW91bnQoMinCoDogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJsZSBww6lyaXBow6lyaXF1ZSBzcMOpY2lhbCAlcyBuJ2V4aXN0ZSBwYXMgKHVuIHByw6lmaXhlIGRlIGNoZW1pbiBuJ2VzdCBwYXMgdW4gcsOpcGVydG9pcmUpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAicG9pbnQgZGUgbW9udGFnZSBub24gbW9udMOpIG91IG1hdXZhaXNlIG9wdGlvbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJuJ2VzdCBwYXMgdW4gcG9pbnQgZGUgbW9udGFnZSBvdSBtYXV2YWlzZSBvcHRpb24iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAibWF1dmFpc2Ugb3B0aW9uwqA7IGTDqXBsYWNlciB1biBtb250YWdlIHLDqXNpZGFudCBzb3VzIHVuIG1vbnRhZ2UgcGFydGFnw6kgbidlc3QgcGFzIHByaXMgZW4gY2hhcmdlLiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0iCittc2dzdHIgIm1hdXZhaXNlIG9wdGlvbsKgOyBwb3VyIHBsdXNpZXVycyBzeXN0w6htZXMgZGUgZmljaGllcnMgKE5GUyBvdSBDSUZTIHBhciBleGVtcGxlKSwgdW4gcHJvZ3JhbW1lIC9zYmluL21vdW50Ljx0eXBlPiBhdXhpbGlhaXJlIHBvdXJyYWl0IMOqdHJlIG7DqWNlc3NhaXJlKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAibWF1dmFpcyB0eXBlIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzLCBvcHRpb24gZXJyb27DqWUsIHN1cGVyYmxvYyBlcnJvbsOpIHN1ciAlcywgcGFnZSBkZSBjb2RlIG91IHByb2dyYW1tZSBhdXhpbGlhaXJlIG1hbnF1YW50LCBvdSBhdXRyZSBlcnJldXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJsYSB0YWJsZSBkZXMgcMOpcmlwaMOpcmlxdWVzIG1vbnTDqXMgZXN0IHBsZWluZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGxlIHN1cGVyYmxvYyDDoCBs4oCZYWRyZXNzZSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgInR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgwqvCoCVzwqDCuyBpbmNvbm51IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgaW5jb25udSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgYmxvYywgZXQgcG9zc2libGUgw6ljaGVjIGRlIHN0YXQoMikiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgImxlIG5veWF1IG5lIHJlY29ubmHDrnQgcGFzICVzIGNvbW1lIHVuIHDDqXJpcGjDqXJpcXVlIGJsb2MgOyBlc3NheWV6IMKrwqBtb2Rwcm9iZSBwaWxvdGXCoMK7IHNpIG7DqWNlc3NhaXJlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBibG9jwqA7IGVzc2F5ZXIgwqvCoC1vIGxvb3DCoMK7IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBuJ2VzdCBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgYmxvYyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMgbidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIGJsb2MgdmFsYWJsZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgImltcG9zc2libGUgZGUgbW9udGVyICVzIGVuIGxlY3R1cmUgc2V1bGUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiVzIGVzdCBwcm90w6lnw6kgZW4gw6ljcml0dXJlIG1haXMgbGUgbW9kZSBsZWN0dXJlLcOpY3JpdHVyZSBhIMOpdMOpIGV4cGxpY2l0ZW1lbnQgZGVtYW5kw6kiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgImltcG9zc2libGUgZGUgcmVtb250ZXIgJXMgZW4gbGVjdHVyZS/DqWNyaXR1cmUsIGVzdCBwcm90w6lnw6kgZW4gw6ljcml0dXJlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgImxhIGxpYWlzb24gZGUgJXMgYSDDqWNob3XDqSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiYXVjdW4gc3VwcG9ydCB0cm91dsOpIGRhbnMgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1vbnRlcsKgOyBsZSBzeXN0w6htZSBkZSBmaWNoaWVycyBlc3QgcGV1dC3DqnRyZSBjb3Jyb21wdSBzdXIgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnRlZCIKK21zZ3N0ciAibm9uIG1vbnTDqSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibGUgZMOpbW9udGFnZSBhIMOpY2hvdcOpwqA6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJsZSBzeXN0w6htZSBkZSBmaWNoaWVycyBhIMOpdMOpIGTDqW1vbnTDqSBtYWlzIGxhIG1pc2Ugw6Agam91ciBkZSBsYSB0YWJsZSBkZSBtb250YWdlIGRhbnMgbCdlc3BhY2UgdXRpbGlzYXRldXIgYSDDqWNob3XDqSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAibGUgc3lzdMOobWUgZGUgZmljaGllcnMgYSDDqXTDqSBkw6ltb250w6kgbWFpcyBsZXMgb3DDqXJhdGlvbnMgc3VpdmFudGVzIG9udCDDqWNob3XDqcKgOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAicMOpcmlwaMOpcmlxdWUgYmxvYyBub24gaW52YWxpZGUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgc3VwZXJibG9jIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICJsYSBjaWJsZSBlc3QgYWN0aXZlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiQXVjdW4gcG9pbnQgZGUgbW9udGFnZSBpbmRpcXXDqSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICJzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCBkw6ltb250ZXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJsZXMgcMOpcmlwaMOpcmlxdWVzIGJsb2MgbmUgc29udCBwYXMgYXV0b3Jpc8OpcyBzdXIgY2Ugc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgImzigJlhcHBlbCBzeXN0w6htZSB1bm5vdW50KDIpIGEgw6ljaG91w6nCoDogJW0iCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgZm9uY3Rpb24gwqvCoHdhaXRwaWTCoMK7ICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIsOpY2hlYyBkZSBjYWxsb2NhdGUgc3VyIGwnZW5zZW1ibGUgZGUgcHJvY2Vzc2V1cnMiCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsaXN0ZSBkZSBwcm9jZXNzZXVycyAlcyIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IG1hc3F1ZSBkZSBwcm9jZXNzZXVyICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjczCittc2dpZCAiY2Fubm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgdW4gc29ja2V0IFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzkKK21zZ2lkICJjYW5ub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpZmluaXIgbGVzIG9wdGlvbnMgZHUgc29ja2V0IFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKK21zZ2lkICJjYW5ub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBzZSBjb25uZWN0ZXIgYXUgc29ja2V0IFVOSVgiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAibGEgcmVxdcOqdGUgcGx5bW91dGggJWMgbidlc3QgcGFzIGltcGzDqW1lbnTDqWUiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxODYKK21zZ2lkICJnZXRyYW5kb20oKSBmdW5jdGlvbiIKK21zZ3N0ciAiZm9uY3Rpb24gZ2V0cmFuZG9tKCkiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICJmb25jdGlvbnMgcHNldWRvYWzDqWF0b2lyZXMgZGUgbGliYyIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYxMgorIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGQnZXhhbWluZXIgbGUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXPCoDogbGUgcsOpc3VsdGF0IGRlIGwnZXhhbWVuIGVzdCBhbWJpZ3XCoDsgdXRpbGlzZXogd2lwZWZzKDgpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXPCoDogcGFzIHVuZSBwYXJ0aXRpb24gZCfDqWNoYW5nZSB2YWxhYmxlIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXPCoDogbmUgcHJlbmQgcGFzIGVuIGNoYXJnZSBsYSB2ZXJzaW9uIMKrwqAlc8KgwrsgZGUgbCdlc3BhY2UgZCfDqWNoYW5nZSIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAiZm9ybWF0X2lzb190aW1lOiBkw6lib3JkZW1lbnQgZGUgdGFtcG9uLiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgImxlIHRlbXBzICVsZCBlc3QgaG9ycyBsaW1pdGVzLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFs8dXRpbGlzYXRldXI+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIk1vZGlmaWV6IHZvcyByZW5zZWlnbmVtZW50cyBmaW5nZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIC1mLCAtLWZ1bGwtbmFtZSA8bm9tLWNvbXBsZXQ+ICB2w6lyaXRhYmxlIG5vbVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxidXJlYXU+ICAgICAgICAgIG51bcOpcm8gZGUgYnVyZWF1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHTDqWzDqXBob25lPiBudW3DqXJvIGRlIHTDqWzDqXBob25lIGF1IGJ1cmVhdVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA1Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1oLCAtLWhvbWUtcGhvbmUgPHTDqWzDqXBob25lPiAgIG51bcOpcm8gZGUgdMOpbMOpcGhvbmUgw6AgbGEgbWFpc29uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImxlIGNoYW1wwqAlcyBlc3QgdHJvcCBsb25nIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVzwqA6IGEgZGVzIGNhcmFjdMOocmVzIGluY29ycmVjdHMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICJsb2dpbi5kZWZzIGludGVyZGl0IGxhIGTDqWZpbml0aW9uIGRlICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiQnVyZWF1IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMyOAorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiVMOpbMOpcGhvbmUgYnVyZWF1IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzYgbG9naW4tdXRpbHMvY2hmbi5jOjMzMAorbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIlTDqWzDqXBob25lIGRvbWljaWxlIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAibmUgcGV1dCBnw6lyZXIgZGVzIG5vbXMgZCd1dGlsaXNhdGV1cnMgbXVsdGlwbGVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIkFiYW5kb24uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXPCoDogQ0hGTl9SRVNUUklDVCBhIHVuZSB2YWxldXIgaW5hdHRlbmR1ZcKgOiAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiJXPCoDogQ0hGTl9SRVNUUklDVCBuZSBwZXJtZXQgYXVjdW5lIG1vZGlmaWNhdGlvbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiTGVzIHJlbnNlaWduZW1lbnRzIGZpbmdlciBuJ29udCAqUEFTKiDDqXTDqSBtb2RpZmnDqXMuIFLDqWVzc2F5ZXogcGx1cyB0YXJkLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJMZXMgcmVuc2VpZ25lbWVudHMgZmluZ2VyIG9udCDDqXTDqSBtb2RpZmnDqXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAidm91cyAoaWRlbnRpZmlhbnTCoCVkKSBuJ2V4aXN0ZXogcGFzLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMSBsb2dpbi11dGlscy9jaHNoLmM6Mjc4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgImwnaWRlbnRpZmlhbnQgwqvCoCVzwqDCuyBuJ2V4aXN0ZSBwYXMuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAic2V1bGVzIGxlcyBlbnRyw6llcyBsb2NhbGVzIHNvbnQgbW9kaWZpYWJsZXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMgbidhIHBhcyBsZSBkcm9pdCBkZSBtb2RpZmllciBsZXMgcmVuc2VpZ25lbWVudHMgZmluZ2VyIGRlICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiY29udGV4dGUgdXRpbGlzYXRldXIgaW5jb25udSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgY29udGV4dGUgcGFyIGTDqWZhdXQgcG91ciAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgImwnVUlEIGQnZXjDqWN1dGlvbiBuZSBjb3JyZXNwb25kIHBhcyDDoCBsJ1VJRCBkZSBsJ3V0aWxpc2F0ZXVyIGNvbmNlcm7DqSwgbW9kaWZpY2F0aW9uIHJlZnVzw6llIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIk1vZGlmaWNhdGlvbiBkZXMgcmVuc2VpZ25lbWVudHMgZmluZ2VyIHBvdXIgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJMZXMgcmVuc2VpZ25lbWVudHMgZmluZ2VyIG4nb250IHBhcyBjaGFuZ8OpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzcKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiTW9kaWZpZXogdm90cmUgaW50ZXJwcsOpdGV1ciBkZSBjb25uZXhpb24uXG4iCisKKyMgZ2V0b3B0LTEuMS4yL2dldG9wdC5jOjMzNQorIzogbG9naW4tdXRpbHMvY2hzaC5jOjgwCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxpbnRlcnByw6l0ZXVyPiAgICAgaW5kaXF1ZXIgbCdpbnRlcnByw6l0ZXVyIGRlIGNvbm5leGlvblxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODEKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgICAgICAgICAgICBhZmZpY2hlciBsYSBsaXN0ZSBkZXMgaW50ZXJwcsOpdGV1cnMgZXQgcXVpdHRlclxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICJzaGVsbCBkb2l0IMOqdHJlIHVuIGNoZW1pbiBkJ2FjY8OocyBjb21wbGV0IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiwqvCoCVzwqDCuyBuJ2V4aXN0ZSBwYXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICLCq8KgJXPCoMK7IG4nZXN0IHBhcyBleMOpY3V0YWJsZSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkF2ZXJ0aXNzZW1lbnTCoDogwqvCoCVzwqDCuyBuJ2FwcGFyYcOudCBwYXMgZGFucyAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIsKrwqAlc8KgwrsgbidhcHBhcmHDrnQgcGFzIGRhbnMgJXMuXG4iCisiVXRpbGlzZXogJXMgLWwgcG91ciBhZmZpY2hlciBsYSBsaXN0ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgbidhIHBhcyBsZSBkcm9pdCBkZSBtb2RpZmllciBsJ2ludGVycHLDqXRldXIgZGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJsJ1VJRCBkJ2V4w6ljdXRpb24gbmUgY29ycmVzcG9uZCBwYXMgw6AgbCdVSUQgZGUgbCd1dGlsaXNhdGV1ciBjb25jZXJuw6ksIG1vZGlmaWNhdGlvbiBkJ2ludGVycHLDqXRldXIgcmVmdXPDqWUiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgInZvdHJlIGludGVycHLDqXRldXIgbidlc3QgcGFzIGRhbnMgJXMsIG1vZGlmaWNhdGlvbiBkJ2ludGVycHLDqXRldXIgaW50ZXJkaXRlIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiTW9kaWZpY2F0aW9uIGQnaW50ZXJwcsOpdGV1ciBwb3VyICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOb3V2ZWwgaW50ZXJwcsOpdGV1ciIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiTCdpbnRlcnByw6l0ZXVyIG4nYSBwYXMgw6l0w6kgbW9kaWZpw6kuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIkwnaW50ZXJwcsOpdGV1ciBuJ2EgKlBBUyogw6l0w6kgbW9kaWZpw6kuIFLDqWVzc2F5ZXogcGx1cyB0YXJkLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorIsOJY2hlYyBkZSBzZXRwd25hbVxuIgorIkwnaW50ZXJwcsOpdGV1ciBuJ2EgKlBBUyogw6l0w6kgbW9kaWZpw6kuIFLDqWVzc2F5ZXogcGx1cyB0YXJkLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJMJ2ludGVycHLDqXRldXIgYSDDqXTDqSBtb2RpZmnDqS5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIlV0aWxpc2F0aW9uwqA6ICVzIDxmaWNoaWVyX2RlX21vdF9kZV9wYXNzZT4gPG5vbV9k4oCZdXRpbGlzYXRldXI+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiZm9ybWF0IGRlIHRlbXBzIGluY29ubnXCoDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiJXMgaW50ZXJyb21wdSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgInRhaWxsZSBkZSBwcsOpYWxsb2NhdGlvbiBkw6lwYXNzw6llIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbPHV0aWxpc2F0ZXVyPi4uLl0gWzx0ZXJtaW5hbD4uLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgdW5lIGxpc3RlIGRlcyB1dGlsaXNhdGV1cnMgZGVybmnDqHJlbWVudCBjb25uZWN0w6lzLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc4Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC08bnVtYmVyPiAgICAgICAgICAgIG5vbWJyZSBkZSBsaWduZXMgw6AgYWZmaWNoZXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGFmZmljaGVyIGxlIG5vbSBkJ2jDtHRlIGVuIGRlcm5pw6hyZSBjb2xvbm5lXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgIHJlY29udmVydGlyIGzigJlhZHJlc3NlIElQIGVuIG5vbSBkJ2jDtHRlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmljaGllcj4gIHV0aWxpc2VyIGxlIGZpY2hpZXIgaW5kaXF1w6kgcGx1dMO0dCBxdWUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKyIgLUYsIC0tZnVsbHRpbWVzICAgICAgYWZmaWNoZXIgbGVzIGRhdGVzIGV0IGhldXJlcyBjb21wbMOodGVzIGRlIGNvbm5leGlvbiBldFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGRlIGTDqWNvbm5leGlvblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiIKKyIgLWksIC0taXAgICAgICAgICAgICAgYWZmaWNoZXIgbOKAmWFkcmVzc2UgSVAgc291cyBmb3JtZSBudW3DqXJpcXVlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgKG5vbWJyZXMgZXQgcG9pbnRzKVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDxub21icmU+ICBub21icmUgZGUgbGlnbmVzIMOgIGFmZmljaGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIG5lIHBhcyBhZmZpY2hlciBsZSBjaGFtcCBkZSBub20gZOKAmWjDtHRlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8ZGF0ZT4gICBhZmZpY2hlciBsZXMgbGlnbmVzIGRlcHVpcyBsYSBkYXRlIGluZGlxdcOpZVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPGRhdGU+ICAgYWZmaWNoZXIgbGVzIGxpZ25lcyBqdXNxdeKAmcOgIGxhIGRhdGUgaW5kaXF1w6llXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXAsIC0tcHJlc2VudCA8ZGF0ZT4gIGFmZmljaGVyIGxlcyB1dGlsaXNhdGV1cnMgcHLDqXNlbnRzIMOgIGxhIGRhdGUgaW5kaXF1w6llXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAgYWZmaWNoZXIgbGVzIG5vbXMgZCd1dGlsaXNhdGV1ciBldCBkZSBkb21haW5lIGNvbXBsZXRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorIiAteCwgLS1zeXN0ZW0gICAgICAgICBhZmZpY2hlciBsZXMgYXJyw6p0cyBkdSBzeXN0w6htZSBldCBsZXMgbW9kaWZpY2F0aW9ucyBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIG5pdmVhdSBkJ2V4w6ljdXRpb24gKHJ1biBsZXZlbClcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgYWZmaWNoZXIgbOKAmWhvcm9kYXRhZ2UgYXUgPGZvcm1hdD4gaW5kaXF1w6nCoDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJXMgY29tbWVuY2UgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBudW3DqXJvIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgInZhbGV1ciBkZSB0ZW1wcyDCq8KgJXPCoMK7IG5vbiB2YWxhYmxlIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnYWJhbmRvbm5lciBsZXMgZHJvaXRzIGRlIGdyb3VwZSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIsOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGRlIGxpYnVzZXLCoDogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBtb2RpZmljYXRpb24gZGUgbCdhdHRyaWJ1dCBkJ3V0aWxpc2F0ZXVyIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJhdHRyaWJ1dCBkJ3V0aWxpc2F0ZXVyIG5vbiBtb2RpZmnDqcKgOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICJmYXRhbMKgOiBpbXBvc3NpYmxlIGRlIHJvdXZyaXIgbGUgdHR5wqA6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIkZhdGFswqA6ICVzIG4nZXN0IHBhcyB1biB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiw6ljaGVjIGRlIGNob3duICglcywgJWx1LCAlbHUpwqA6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICLDqWNoZWMgZGUgY2htb2QgKCVzLCAldSnCoDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzgwCittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIkZhdGFswqA6IHR0eSBlcnJvbsOpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICJGYXRhbMKgOiAlc8KgOiDDqWNoZWMgZGUgbW9kaWZpY2F0aW9uIGRlcyBkcm9pdHPCoDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJEZXJuacOocmUgY29ubmV4aW9uwqA6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAiw6AgcGFydGlyIGRlICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJzdXIgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCfDqWNyaXR1cmUgZGUgbGFzdGxvZyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJBUFBFTCDDgCAlcyBGQUlUIFBBUiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJDT05ORVhJT04gRFUgU1VQRVJVVElMSVNBVEVVUiBERSAlcyDDgCBQQVJUSVIgREUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIkNPTk5FWElPTiBEVSBTVVBFUlVUSUxJU0FURVVSIFNVUiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiQ09OTkVYSU9OIFNVUiAlcyBQQVIgJXMgw4AgUEFSVElSIERFICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiQ09OTkVYSU9OIFNVUiAlcyBQQVIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiaWRlbnRpZmlhbnTCoDogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgY29ubmV4aW9uIFBBTSwgZmluIGQnZXjDqWN1dGlvbsKgOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgUEFNwqA6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICLDiUNIRUMgREUgQ09OTkVYSU9OIERFICV1IMOAIFBBUlRJUiBERSAlcyBQT1VSICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiSWRlbnRpZmlhbnQgaW5jb3JyZWN0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJUUk9QIERFIFRFTlRBVElWRVMgREUgQ09OTkVYSU9OICgldSkgREUgJXMgUE9VUiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiw4lDSEVDIERFIENPTk5FWElPTiBQT1VSIFVORSBTRVNTSU9OIERFICVzIFBPVVIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJJZGVudGlmaWFudCBpbmNvcnJlY3RcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2Jsw6htZSBkJ2luaXRpYWxpc2F0aW9uIGRlIGxhIHNlc3Npb24sIGFiYW5kb24uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJJZGVudGlmaWFudCB2aWRlIGRhbnMgJXPCoDolZC4gQWJhbmRvbi4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICLDqWNoZWMgZGUgVElPQ1NDVFRZwqA6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgWy1wXSBbLWggPGjDtHRlPl0gWy1IXSBbWy1mXSA8aWRlbnRpZmlhbnQ+XVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDAKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiQ29tbWVuY2VyIHVuZSBzZXNzaW9uIHN1ciBsZSBzeXN0w6htZS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCittc2dpZCAiIC1wICAgICAgICAgICAgIGRvIG5vdCBkZXN0cm95IHRoZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIC1wICAgICAgICAgICAgIG5lIHBhcyBkw6l0cnVpcmUgbCdlbnZpcm9ubmVtZW50IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICAgIHBhc3NlciB1bmUgc2Vjb25kZSBhdXRoZW50aWZpY2F0aW9uIGRlIGNvbm5leGlvbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIC1oIDxow7R0ZT4gICAgICBub20gZCdow7R0ZSDDoCB1dGlsaXNlciBwb3VyIGxlIGpvdXJuYWwgdXRtcCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA2Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAtSCAgICAgICAgICAgICBzdXBwcmltZXIgbGUgbm9tIGQnaMO0dGUgZGFucyBsJ2ludml0ZSBkZSBjb25uZXhpb24iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIiVzwqA6IGV4cGlyYXRpb24gZHUgZMOpbGFpIGFwcsOocyAldcKgc2Vjb25kZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luwqA6IC1oIG7igJllc3QgcXVlIHBvdXIgbGUgc3VwZXJ1dGlsaXNhdGV1ci5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJJZGVudGlmaWFudCBub24gdmFsYWJsZSDCq8KgJXPCoMK7IGRhbnMgJXPCoDolZC4gQWJhbmRvbi4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZGVzIGdyb3VwZXPCoDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHNldGdpZCgpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIlZvdXMgYXZleiBkdSBub3V2ZWF1IGNvdXJyaWVyLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiVm91cyBhdmV6IGR1IGNvdXJyaWVyLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzQKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBzZXR1aWQoKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY2hhbmdlbWVudCBkZSByw6lwZXJ0b2lyZSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiTG9naW4gYXZlYyB1biByw6lwZXJ0b2lyZSBob21lID0gwqvCoC/CoMK7LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2V4w6ljdXRlciBsZSBzY3JpcHQgZGUgbCdpbnRlcnByw6l0ZXVyIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAicGFzIGQnaW50ZXJwcsOpdGV1ciIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzwqA6ICVzIGNvbnRpZW50IHVuZSB2YWxldXIgbnVtw6lyaXF1ZSBub24gdmFsYWJsZcKgOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MzgzCittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAiw6l0YXQgZGUgY29ubmV4aW9uIHNpbGVuY2lldXNlwqA6IMOpY2hlYyBkZSByZXN0YXVyYXRpb24gZGVzIGlkZW50aWZpYW50cyBkJ29yaWdpbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgIm5vbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAibm9tIGQndXRpbGlzYXRldXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIk5vbSBkJ3V0aWxpc2F0ZXVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJpZGVudGlmaWFudCBkJ3V0aWxpc2F0ZXVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAibW90IGRlIHBhc3NlIG5vbiBuw6ljZXNzYWlyZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIk1vdCBkZSBwYXNzZSBub24gbsOpY2Vzc2FpcmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgImNvbm5leGlvbiBwYXIgbW90IGRlIHBhc3NlIGTDqXNhY3RpdsOpZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiQ29ubmV4aW9uIHBhciBtb3QgZGUgcGFzc2UgZMOpc2FjdGl2w6llIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIm1vdCBkZSBwYXNzZSBkw6lmaW5pLCBtYWlzIHZlcnJvdWlsbMOpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiTGUgbW90IGRlIHBhc3NlIGVzdCB2ZXJyb3VpbGzDqSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiY29ubmV4aW9uIGTDqXNhY3RpdsOpZSBwYXIgbm9sb2dpbig4KSBvdSBwYW1fbm9sb2dpbig4KSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiQXVjdW4gaWRlbnRpZmlhbnQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICJub20gZGUgZ3JvdXBlIHByaW1haXJlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIkdyb3VwZSBwcmltYWlyZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBncm91cGUgcHJpbWFpcmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAibm9tcyBkZSBncm91cGVzIHN1cHBsw6ltZW50YWlyZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIkdyb3VwZXMgc3VwcGzDqW1lbnRhaXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiaWRlbnRpZmlhbnRzIGRlIGdyb3VwZXMgc3VwcGzDqW1lbnRhaXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSWRlbnRpZmlhbnRzIGRlIGdyb3VwZXMgc3VwcGzDqW1lbnRhaXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAicsOpcGVydG9pcmUgcGVyc29ubmVsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJSw6lwZXJ0b2lyZSBwZXJzb25uZWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgImludGVycHLDqXRldXIgZGUgY29ubmV4aW9uIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJJbnRlcnByw6l0ZXVyIGRlIGNvbW1hbmRlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAibm9tIGQndXRpbGlzYXRldXIgY29tcGxldCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiQ2hhbXAgZ2Vjb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJkYXRlIGRlIGRlcm5pw6hyZSBjb25uZXhpb24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiRGVybmnDqHJlIGNvbm5leGlvbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJkZXJuaWVyIHRlcm1pbmFsIHV0aWxpc8OpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIkRlcm5pZXIgdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIm5vbSBk4oCZaMO0dGUgbG9ycyBkZSBsYSBkZXJuacOocmUgc2Vzc2lvbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJEZXJuaWVyIG5vbSBk4oCZaMO0dGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiZGF0ZSBkZSBkZXJuacOocmUgY29ubmV4aW9uIMOpY2hvdcOpZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkNvbm5leGlvbiDDqWNob3XDqWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAib8O5IGxhIGNvbm5leGlvbiBhLXQtZWxsZSDDqWNob3XDqcKgPyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIlRlcm1pbmFsIGRlIGNvbm5leGlvbiDDqWNob3XDqWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgInLDqWdsYWdlcyBzaWxlbmNpZXV4IGRlIGzigJl1dGlsaXNhdGV1ciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIlNpbGVuY2lldXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJqb3VycyBwZW5kYW50IGxlc3F1ZWxzIGwndXRpbGlzYXRldXIgZXN0IGF2ZXJ0aSBkZSBsJ2V4cGlyYXRpb24gZHUgbW90IGRlIHBhc3NlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiSW50ZXJ2YWxsZSBk4oCZYXZlcnRpc3NlbWVudCBk4oCZZXhwaXJhdGlvbiBkdSBtb3QgZGUgcGFzc2UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJkYXRlIGTigJlleHBpcmF0aW9uIGR1IG1vdCBkZSBwYXNzZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJFeHBpcmF0aW9uIGR1IG1vdCBkZSBwYXNzZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICJkYXRlIGRlIGRlcm5pw6hyZSBtb2RpZmljYXRpb24gZHUgbW90IGRlIHBhc3NlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIk1vdCBkZSBwYXNzZSBtb2RpZmnDqSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIm5vbWJyZSBkZSBqb3VycyBuw6ljZXNzYWlyZXMgZW50cmUgbGVzIG1vZGlmaWNhdGlvbnMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiRGF0ZSBkZSBtb2RpZmljYXRpb24gbWluaW1hbGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIm5vbWJyZSBtYXhpbWFsIGRlIGpvdXJzIHBlbmRhbnQgbGVzcXVlbHMgdW4gbW90IGRlIHBhc3NlIHBldXQgcmVzdGVyIGxlIG3Dqm1lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIkRhdGUgZGUgbW9kaWZpY2F0aW9uIG1heGltYWxlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAibGUgY29udGV4dGUgZGUgc8OpY3VyaXTDqSBkZSBs4oCZdXRpbGlzYXRldXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJDb250ZXh0ZSBTRUxpbnV4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJub21icmUgZGUgcHJvY2Vzc3VzIGV4w6ljdXTDqXMgcGFyIGzigJl1dGlsaXNhdGV1ciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiUHJvY2Vzc3VzIGVuIGNvdXJzIGQnZXjDqWN1dGlvbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAidHJvcCBkZSBjb2xvbm5lcyBpbmRpcXXDqWVzLCBsYSBsaW1pdGUgZXN0IGRlICV6dcKgY29sb25uZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAidHlwZSBtaW1lIG5vbiBwcmlzIGVuIGNoYXJnZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvbXBvc2l0aW9uIGRlIGxhIGNoYcOubmUgZGUgdGVtcHMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiw6ljaGVjIGTigJlvYnRlbnRpb24gZGVzIGdyb3VwZXMgc3VwcGzDqW1lbnRhaXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJlcnJldXIgaW50ZXJuZcKgOiBjb2xvbm5lIGluY29ubnVlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlcm5pw6hyZXMgY29ubmV4aW9uc8KgOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc11cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI5Cittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJBZmZpY2hlciBkZXMgcmVuc2VpZ25lbWVudHMgc3VyIGxlcyB1dGlsaXNhdGV1cnMgY29ubnVzIGR1IHN5c3TDqG1lLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzIKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBhZmZpY2hlciBsZXMgcmVuc2VpZ25lbWVudHMgc3VyIGzigJlleHBpcmF0aW9uIGRlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3RzIGRlIHBhc3NlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMworbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgYWZmaWNoZXIgbGVzIGRvbm7DqWVzIGRhbnMgdW4gZm9ybWF0IHNpbWlsYWlyZSDDoFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvZXRjL3Bhc3N3ZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQgc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBhZmZpY2hlciBkYW5zIHVuIGZvcm1hdCBkZSBzb3J0aWUgZXhwb3J0YWJsZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIiCisiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBhZmZpY2hlciBsZXMgZG9ubsOpZXMgc3VyIGxlcyBkZXJuacOocmVzIGNvbm5leGlvbnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgw6ljaG91w6llcyBkZXMgdXRpbGlzYXRldXJzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBhZmZpY2hlciBkZXMgcmVuc2VpZ25lbWVudHMgc3VyIGxlcyBncm91cGVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisiIC1nLCAtLWdyb3Vwcz08Z3JvdXBlcz4gICBhZmZpY2hlciBsZXMgdXRpbGlzYXRldXJzIGFwcGFydGVuYW50IMOgIHVuIGRlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Z3JvdXBlcz5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIGFmZmljaGVyIGRlcyByZW5zZWlnbmVtZW50cyBzdXIgbGVzIGRlcm5pw6hyZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vzc2lvbnMgZGUgY29ubmV4aW9uIGRlcyB1dGlsaXNhdGV1cnNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgLWwsIC0tbG9naW5zPTxjb25uZXhpb25zPiAgbuKAmWFmZmljaGVyIHF1ZSBsZXMgdXRpbGlzYXRldXJzIGRlIDxjb25uZXhpb25zPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGFmZmljaGVyIGNoYXF1ZSByZW5zZWlnbmVtZW50IHN1ciB1bmUgbm91dmVsbGUgbGlnbmVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBuZSBwYXMgdHJvbnF1ZXIgbGEgc29ydGllXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3RlPl0gICBkw6lmaW5pciBsZXMgY29sb25uZXMgw6AgYWZmaWNoZXJcbiIKKworIyBOT1RFOiBzL1wuJC8vCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgcmVuc2VpZ25lbWVudHMgcmVsYXRpZnMgw6AgbGEgY29ubmV4aW9uIHBhciBtb3QgZGUgcGFzc2VcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGFmZmljaGVyIGVuIG1vZGUgYnJ1dFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgYWZmaWNoZXIgbGVzIGNvbXB0ZXMgc3lzdMOobWVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjI5NAorbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gIGFmZmljaGVyIGxlcyBkYXRlcyBhdSBmb3JtYXQgY291cnQgKMKrwqBzaG9ydMKgwrspLCBjb21wbGV0ICjCq8KgZnVsbMKgwrspIG91IElTTyAowqvCoGlzb8KgwrspXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgYWZmaWNoZXIgbGVzIGNvbXB0ZXMgdXRpbGlzYXRldXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBhZmZpY2hlciBsZXMgY29udGV4dGVzIFNFTGludXhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGTDqWxpbWl0ZXIgbGVzIGVudHLDqWVzIHV0aWxpc2F0ZXVyIHBhciB1biBjYXJhY3TDqHJlIE5VTExcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiICAgICAtLXd0bXAtZmlsZSA8Y2hlbWluPiAgZMOpZmluaXIgdW4gY2hlbWluIGFsdGVybmF0aWYgcG91ciB3dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiAgICAgLS1idG1wLWZpbGUgPGNoZW1pbj4gIGTDqWZpbmlyIHVuIGNoZW1pbiBhbHRlcm5hdGlmIHBvdXIgYnRtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICLDqWNoZWMgZGUgZGVtYW5kZSBkZSBs4oCZw6l0YXQgU0VMaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIlVuIHNldWwgdXRpbGlzYXRldXIgcGV1dCDDqnRyZSBpbmRpcXXDqS4gVXRpbGlzZXogLWwgcG91ciBwbHVzaWV1cnMgdXRpbGlzYXRldXJzLiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpZmluaXIgbGVzIGF0dHJpYnV0cyBkdSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgZ2V0bGluZSgpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJNb3QgZGUgcGFzc2XCoDogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNoaWZmcmVtZW50IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDxncm91cGU+XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3NgorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiQ29ubmV4aW9uIGRhbnMgdW4gbm91dmVhdSBncm91cGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAicXVpIMOqdGVzLXZvdXPCoD8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNyBsb2dpbi11dGlscy9uZXdncnAuYzoyMjkgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzQKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc2V0Z2lkIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAicGFzIGRlIHRlbCBncm91cGUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBzZXR1aWQiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICJSZWZ1c2VyIHBvbGltZW50IHVuZSBjb25uZXhpb24uXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIkNlIGNvbXB0ZSBu4oCZZXN0IGFjdHVlbGxlbWVudCBwYXMgZGlzcG9uaWJsZS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAoY29yZSBkdW1wKSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mjc4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjMyCittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGVzIGF0dHJpYnV0cyBkdSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgIsOpY2hlYyBkZSBjcsOpYXRpb24gZCd1biBwc2V1ZG8gdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBibG9xdWVyIGxlcyBzaWduYXV4IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsIMOpY2hvdcOpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICLDqWNoZWMgZGUgbGEgbW9kaWZpY2F0aW9uIGRlIGwnZW52aXJvbm5lbWVudCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICJuZSBwZXV0IHBhcyDDqnRyZSB1dGlsaXPDqSBwYXIgbGVzIHV0aWxpc2F0ZXVycyBub3JtYXV4IChub24gc3VwZXJ1dGlsaXNhdGV1cikiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAibW90IGRlIHBhc3NlIGluY29ycmVjdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxhIHNlc3Npb27CoDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgbWFzcXVlIGRlIHNpZ25hdXggcG91ciBsYSBzZXNzaW9uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3ODcKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGxlIG1hc3F1ZSBkZSBzaWduYXV4IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3OTcKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIGZvciBzZXNzaW9uIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgZ2VzdGlvbm5haXJlIGRlIHNpZ25hdXggcG91ciBsYSBzZXNzaW9uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2luaXRpYWxpc2VyIGxlIGdlc3Rpb25uYWlyZSBkZSBzaWduYXV4IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MTMKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBtYXNrIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgbWFzcXVlIGRlIHNpZ25hdXgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjcsOpZXIgdW4gcHJvY2Vzc3VzIGZpbHMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjaGFuZ2VyIGxlIHLDqXBlcnRvaXJlIHZlcnMgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW7DqWUsIGwnaW50ZXJwcsOpdGV1ciBlc3QgZW4gdHJhaW4gZCfDqnRyZSB0dcOp4oCmIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIOKApiB0dcOpLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLDqWNoZWMgbG9ycyBkZSBsYSBkw6lmaW5pdGlvbiBkZSBsYSB2YXJpYWJsZSBkJ2Vudmlyb25uZW1lbnQgUEFUSCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbmZpZ3VyZXIgbGVzIGdyb3VwZXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICLDqWNoZWMgZGVzIGFjY3LDqWRpdGF0aW9ucyBkZSBsJ3V0aWxpc2F0ZXVywqA6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgImltcG9zc2libGUgZGUgY29uZmlndXJlciBsJ2lkZW50aWZpYW50IGRlIGdyb3VwZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgImltcG9zc2libGUgZGUgY29uZmlndXJlciBsJ2lkZW50aWZpYW50IGQndXRpbGlzYXRldXIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKyIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBuZSBwYXMgcsOpaW5pdGlhbGlzZXIgbGVzIHZhcmlhYmxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZCdlbnZpcm9ubmVtZW50XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3JvdXBlPiAgICAgICAgICAgIGluZGlxdWVyIGxlIGdyb3VwZSBwcmltYWlyZVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBpbmRpcXVlciB1biBncm91cGUgc3VwcGzDqW1lbnRhaXJlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKyIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBmYWlyZSBkZSBsJ2ludGVycHLDqXRldXIgZGUgY29tbWFuZGUgdW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVycHLDqXRldXIgZGUgY29ubmV4aW9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorIiAtYyAgLS1jb21tYW5kIDxjb21tYW5kZT4gICAgICAgIHBhc3NlciB1bmUgc2V1bGUgY29tbWFuZGUgw6AgbCdpbnRlcnByw6l0ZXVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdmVjIC1jXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmRlPiAgICBwYXNzZXIgdW5lIHNldWxlIGNvbW1hbmRlIMOgIGwnaW50ZXJwcsOpdGV1clxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXZlYyAtYyBzYW5zIGNyw6llciBkZSBub3V2ZWxsZSBzZXNzaW9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzZXIgLWYgw6AgbCdpbnRlcnByw6l0ZXVyIChwb3VyIGNzaCBvdSB0Y3NoKVxuIgorCisjIGdldG9wdC0xLjEuMi9nZXRvcHQuYzozMzUKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDIKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaGVsbCA8aW50ZXJwcsOpdGV1cj4gICAgICBleMOpY3V0ZXIgPGludGVycHLDqXRldXI+IHNpIHBlcm1pcyBwYXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9ldGMvc2hlbGxzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIGNyw6llciB1biBub3V2ZWF1IHBzZXVkbyB0ZXJtaW5hbFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICUxJHMgW29wdGlvbnNdIC11IDx1dGlsaXNhdGV1cj4gW1stLV0gPGNvbW1hbmRlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4Cittc2dpZCAiIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorIkV4w6ljdXRlciA8Y29tbWFuZGU+IGF2ZWMgbCdVSUQgZXQgbGUgR0lEIGVmZmVjdGlmIGQnPHV0aWxpc2F0ZXVyPi5cbiIKKyJTaSAtdSBuJ2VzdCBwYXMgaW5kaXF1w6llLCBzZSByYWJhdHRyZSBzdXIgdW5lIHPDqW1hbnRpcXVlXG4iCisiY29tcGF0aWJsZSBhdmVjIHN1KDEpIGV0IGV4w6ljdXRlciB1bmUgaW52aXRlIGRlIGNvbW1hbmRlIHN0YW5kYXJkLlxuIgorIkxlcyBvcHRpb25zIC1jLCAtZiwgLWwgZXQgLXMgcydleGNsdWVudCBtdXR1ZWxsZW1lbnQgYXZlYyAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEyMworbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx1dGlsaXNhdGV1cj4gICAgICAgIG5vbSBkJ3V0aWxpc2F0ZXVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXRpbGlzYXRldXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiTW9kaWZpZXIgbGVzIFVJRCBldCBHSUQgZWZmZWN0aWZzIMOgIGNldXggZGUgbCc8dXRpbGlzYXRldXI+LlxuIgorIlVuIHNpbXBsZSAtIGltcGxpcXVlIC1sLiBFbiBhYnNlbmNlIGQnPHV0aWxpc2F0ZXVyPiwgcm9vdCBlc3QgdXRpbGlzw6kuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gImzigJlpbmRpY2F0aW9uIGRlICVkwqBncm91cGUgc3VwcGzDqW1lbnRhaXJlIG7igJllc3QgcGFzIHBvc3NpYmxlIgorbXNnc3RyWzFdICJs4oCZaW5kaWNhdGlvbiBkZSAlZMKgZ3JvdXBlcyBzdXBwbMOpbWVudGFpcmVzIG7igJllc3QgcGFzIHBvc3NpYmxlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJsZSBncm91cGUgJXMgbidleGlzdGUgcGFzLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTI5MAorbXNnaWQgIi0tcHR5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXB0eSBu4oCZZXN0IHBhcyBwcmlzIGVuIGNoYXJnZSBzdXIgdm90cmUgc3lzdMOobWUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzMjYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgIi0tcHJlc2VydmUtZW52aXJvbm1lbnQgaWdub3LDqWUsIGNldHRlIG9wdGlvbiBlc3QgbXV0dWVsbGVtZW50IGV4Y2x1c2l2ZSBhdmVjIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAibGVzIG9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gZXQgLS11c2VyIHMnZXhjbHVlbnQgbXV0dWVsbGVtZW50IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJhdWN1bmUgY29tbWFuZGUgbuKAmWEgw6l0w6kgaW5kaXF1w6llIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzU1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAic2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgaW5kaXF1ZXIgZGVzIGdyb3VwZXMgYWx0ZXJuYXRpZnMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibCdpZGVudGlmaWFudCAlcyBuJ2V4aXN0ZSBwYXMuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgInV0aWxpc2F0aW9uIGRlIGwnaW50ZXJwcsOpdGV1ciByZXN0cmVpbnQgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogaW1wb3NzaWJsZSBkZSBjaGFuZ2VyIGxlIHLDqXBlcnRvaXJlIHZlcnMgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgdGNnZXRhdHRyIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHRjc2V0YXR0ciIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXPCoDogYXVjdW5lIGVudHLDqWUgcG91ciBsZSBzdXBlcnV0aWxpc2F0ZXVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlc8KgOiBhdWN1bmUgZW50csOpZSBwb3VyIGxlIHN1cGVydXRpbGlzYXRldXIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXPCoDogbGUgbW90IGRlIHBhc3NlIGR1IHN1cGVydXRpbGlzYXRldXIgZXN0IGJyb3VpbGzDqSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJJbXBvc3NpYmxlIGQnb3V2cmlyIGwnYWNjw6hzIMOgIGxhIGNvbnNvbGUsIGxlIGNvbXB0ZSByb290IGVzdCB2ZXJyb3VpbGzDqS5cbiIKKyJDb25zdWx0ZXogbGEgcGFnZSBtYW4gZGUgc3Vsb2dpbig4KSBwb3VyIHBsdXMgZGUgZMOpdGFpbHMuXG4iCisiXG4iCisiQXBwdXlleiBzdXIgRW50csOpZSBwb3VyIGNvbnRpbnVlci5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIkRvbm5leiBsZSBtb3QgZGUgcGFzc2UgZHUgc3VwZXJ1dGlsaXNhdGV1ciBwb3VyIGxhIGNvbm5leGlvbsKgOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIkFwcHV5ZXogc3VyIEVudHLDqWUgcG91ciBsYSBjb25uZXhpb27CoDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiRG9ubmV6IGxlIG1vdCBkZSBwYXNzZSBkdSBzdXBlcnV0aWxpc2F0ZXVyIHBvdXIgbGEgbWFpbnRlbmFuY2VcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiQXBwdXlleiBzdXIgRW50csOpZSBwb3VyIGxhIG1haW50ZW5hbmNlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKG91IGFwcHV5ZXogc3VyIEN0cmwgZXQgRCBwb3VyIGNvbnRpbnVlcinCoDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjaGFuZ2VtZW50IGRlIHLDqXBlcnRvaXJlIHZlcnMgbGEgcmFjaW5lIGR1IHN5c3TDqG1lIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBzZXRleGVjY29uIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gW3R0eSBww6lyaXBow6lyaXF1ZV1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICJDb25uZXhpb24gZW4gbW9kZSBtb25vLXV0aWxpc2F0ZXVyLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA5Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIGTDqW1hcnJlciB1biBpbnRlcnByw6l0ZXVyIGRlIGNvbm5leGlvblxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRlcz4gdGVtcHMgZCdhdHRlbnRlIG1heGltYWwgZHUgbW90IGRlIHBhc3NlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzYW5zIGxpbWl0ZSBwYXIgZMOpZmF1dClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmVyIGRpcmVjdGVtZW50IGxlcyBmaWNoaWVyIGRlIG1vdHMgZGUgcGFzc2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gY2FzIGQnw6ljaGVjIGRlIGdldHB3bmFtKDMpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZCdleHBpcmF0aW9uIGRlIGxhIG1pbnV0ZXJpZSBpbmNvcnJlY3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4ODQKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAic2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgZXjDqWN1dGVyIGNlIHByb2dyYW1tZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGEgY29uc29sZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxhIGJhc2UgZGUgZG9ubsOpZXMgZGVzIG1vdHMgZGUgcGFzc2UiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisiSW1wb3NzaWJsZSBkJ2V4w6ljdXRlciBsJ2ludGVycHLDqXRldXIgZGUgY29tbWFuZGVzIHN1XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisiRXhwaXJhdGlvbiBkdSBkw6lsYWlcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkltcG9zc2libGUgZOKAmWF0dGVuZHJlIGwnaW50ZXJwcsOpdGV1ciBkZSBjb21tYW5kZXMgc3VcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdham91dGVyIHVuZSBzdXJ2ZWlsbGFuY2UgaW5vdGlmeS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkZSBsaXJlIGxlcyDDqXbDqW5lbWVudHMgaW5vdGlmeSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIkNoYW5nZW1lbnQgZGUgbGlnbmUgc3VwZXJmbHUgZGFucyBsZSBmaWNoaWVyLiBGaW4gZCdleMOpY3V0aW9uLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gW2ZpY2hpZXJdXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIlNhdXZlZ2FyZGVyIGRlcyBmaWNoaWVycyB1dG1wIGV0IHd0bXAgYXUgZm9ybWF0IGJydXQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICAgICBhZmZpY2hlciBsZXMgZG9ubsOpZXMgYWpvdXTDqWVzIHF1YW5kIGxlIGZpY2hpZXIgZ3Jvc3NpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEwCittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJldmVyc2UgICAgICAgICAgIHLDqcOpY3JpcmUgbGVzIGRvbm7DqWVzIHNhdXZlZ2FyZMOpZXMgZGFucyBsZSBmaWNoaWVyIHV0bXBcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxmaWNoaWVyPiAgw6ljcmlyZSBkYW5zIDxmaWNoaWVyPiDDoCBsYSBwbGFjZSBkZSBsYSBzb3J0aWUgc3RhbmRhcmRcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgInN1aXZyZSBsJ2VudHLDqWUgc3RhbmRhcmQgbidlc3QgcGFzIHByaXMgZW4gY2hhcmdlIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJTYXV2ZWdhcmRlIHV0bXAgZGUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIlNhdXZlZ2FyZGUgdXRtcCBkZSAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIHRlbXBvcmFpcmUiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY3LDqWF0aW9uIGRlIGxpZW4gdmVycyAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIGNvbnRleHRlIHBvdXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGUgY29udGV4dGUgcG91ciAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIG4nYSBwYXMgw6l0w6kgbW9kaWZpw6kiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTcKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIHZlcnJvdSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiYXVjdW5lIG1vZGlmaWNhdGlvbiBuJ2Egw6l0w6kgZmFpdGUiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBtb2RpZmllciBsZXMgZHJvaXRzIGR1IGZpY2hpZXIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDgKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICJNb2RpZmllciBsZSBtb3QgZGUgcGFzc2Ugb3UgbGUgZmljaGllciBkZSBncm91cGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlZvdXMgdXRpbGlzZXogwqvCoHNoYWRvdyBncm91cHPCoMK7IHN1ciBjZSBzeXN0w6htZS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVm91cyB1dGlsaXNleiDCq8Kgc2hhZG93IHBhc3N3b3Jkc8Kgwrsgc3VyIGNlIHN5c3TDqG1lLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiVm91bGV6LXZvdXMgw6lkaXRlciAlcyBtYWludGVuYW50IFtvL25dPyAiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIgorbXNnc3RyICIlcyBkZSAlcyAobGliYmxraWQgJXMsICVzKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgLS1sYWJlbCA8w6l0aXF1ZXR0ZT4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmljaGllcj5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDxiYWxpc2U+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPGpldG9uPl0gWzxww6lyaXBoPiAuLi5dXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb2Zmc2V0IDxvZmZzZXQ+XSBbLS1zaXplIDxzaXplPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDxiYWxpc2U+XSBbLS1vZmZzZXQgPGluZGV4Pl0gWy0tc2l6ZSA8dGFpbGxlPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0Pl0gPHDDqXJpcGg+IC4uLlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiICVzIC1pIFstLW1hdGNoLXRhZyA8YmFsaXNlPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8cMOpcmlwaD4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxmaWNoaWVyPiBsaXJlIGRlcHVpcyA8ZmljaGllcj4gYXUgbGlldSBkZSBsaXJlIGRlcHVpcyBsZSBmaWNoaWVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGUgY2FjaGUgcGFyIGTDqWZhdXQgKC1jIC9kZXYvbnVsbCBzaWduaWZpZSBwYXMgZGUgY2FjaGUpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NQorbXNnaWQgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBkb24ndCBlbmNvZGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIG5lIHBhcyBlbmNvZGVyIGxlcyBjYXJhY3TDqHJlcyBub24gaW1wcmltYWJsZXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIHLDqWN1cMOpcmVyIGwnZXNwYWNlIGludXRpbGlzw6kgZGUgbGEgY2FjaGUgYmxraWRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBmb3JtYXQgZGUgc29ydGllwqA7IHBldXQgw6p0cmUgc29pdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3UgZnVsbDsgKGTDqWZhdXQ6IGZ1bGwpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorbXNnaWQgIiAtaywgLS1saXN0LWZpbGVzeXN0ZW1zICAgICBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgYWZmaWNoZXIgbGEgbGlzdGUgZGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyAvIFJBSUQgZXQgcXVpdHRlclxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTAKK21zZ2lkICIgLXMsIC0tbWF0Y2gtdGFnIDx0YWc+ICAgICAgc2hvdyBzcGVjaWZpZWQgdGFnKHMpIChkZWZhdWx0IHNob3cgYWxsIHRhZ3MpXG4iCittc2dzdHIgIiAtcywgLS1tYXRjaC10YWcgPMOpdGlxdWV0dGU+IG1vbnRyZXIgbGVzIMOpdGlxdWV0dGVzIHNww6ljaWZpw6llcyAobW9udHJlIHRvdXRlcyBsZXMgw6l0aXF1ZXR0ZXMgcGFyIGTDqWZhdXQpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIC10LCAtLW1hdGNoLXRva2VuIDxqZXRvbj4gIHRyb3V2ZXIgbGUgcMOpcmlwaMOpcmlxdWUgYXZlYyB1biBqZXRvbiBzcMOpY2lmacOpIChwYWlyZSBOT009dmFsZXVyKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgcmVjaGVyY2hlciBsZSBwcmVtaWVyIHDDqXJpcGjDqXJpcXVlIGF2ZWMgbGUgamV0b24gc3DDqWNpZmnDqSBwYXIgLXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCittc2dpZCAiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgICAgIGNvbnZlcnQgTEFCRUwgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC1MLCAtLWxhYmVsIDzDqXRpcXVldHRlPiAgICBjb252ZXJ0aXIgw4lUSVFVRVRURSBlbiBub20gZGUgcMOpcmlwaMOpcmlxdWVcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk0Cittc2dpZCAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGNvbnZlcnQgVVVJRCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydGlyIHVuIFVVSUQgZW4gbm9tIGRlIHDDqXJpcGjDqXJpcXVlXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiA8cMOpcmlwaC4+ICAgICAgICAgICAgICAgICAgc3DDqWNpZmllciBsZS9sZXMgcMOpcmlwaMOpcmlxdWUocykgw6Agc29uZGVyIChkw6lmYXV0OiB0b3VzKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTcKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICJPcHRpb25zIGRlIHNvbmRhZ2UgYmFzIG5pdmVhdcKgOlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTgKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIHNvbmRhZ2UgYmFzIG5pdmVhdSBkZXMgc3VwZXJibG9jcyAocGFzc2Ugb3V0cmUgbGEgY2FjaGUpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgSS9PIGxpbWl0c1xuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgY29sbGVjdGVyIGxlcyBpbmZvcm1hdGlvbnMgc3VyIGxlcyBsaW1pdGVzIEUvU1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAwCittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLVMsIC0tc2l6ZSA8dGFpbGxlPiAgICAgICAgw6ljcmFzZXIgbGEgdGFpbGxlIGR1IHDDqXJpcGjDqXJpcXVlXG4iCisKKyMgZ2V0b3B0LTEuMS4yL2dldG9wdC5jOjMzNQorIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAtTywgLS1vZmZzZXQgPGluZGV4PiAgICAgICBzb25kZXIgw6AgbCdpbmRleCBpbmRpcXXDqVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgLXUsIC0tdXNhZ2VzIDxsaXN0ZT4gICAgICAgZmlsdHJlciBwYXIgwqvCoHVzYWdlwqDCuyAocGFyIGV4wqA6IC11IGZpbGVzeXN0ZW0scmFpZClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0ZT4gIGZpbHRyZXIgcGFyIHR5cGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnMgKHBhciBleMKgOiAtbiB2ZmF0LGV4dDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiKG1vdW50w6ksIG10cHQgaW5jb25udSkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiKHV0aWxpc8OpKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzOQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgIihub24gbW9udMOpKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImVycmV1csKgOiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiJXPCoDogcsOpc3VsdGF0IGFtYml2YWxlbnQgKHByb2JhYmxlbWVudCBwbHVzIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBzdXIgbGUgcMOpcmlwaMOpcmlxdWUsIHV0aWxpc2V6IHdpcGVmcyg4KSBwb3VyIHZvaXIgcGx1cyBkZSBkw6l0YWlscykiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAibW90IGNsw6kgaW5jb25udSBkYW5zIGwnYXJndW1lbnQgLXUgPGxpc3RlPsKgOiDCq8KgJXPCoMK7IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjExCittc2dpZCAiZXJyb3I6IC11IDxsaXN0PiBhcmd1bWVudCBpcyBlbXB0eSIKK21zZ3N0ciAiZXJyZXVywqA6IGwnYXJndW1lbnQgZGUgLXUgPGxpc3RlPiBlc3QgdmlkZSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0ICVzIgorbXNnc3RyICJmb3JtYXQgZGUgc29ydGllIG5vbiBzdXBwb3J0w6kgJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTkgbWlzYy11dGlscy93aXBlZnMuYzo2OTcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZCdpbmRleCBpbmNvcnJlY3QiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKK21zZ2lkICJUb28gbWFueSB0YWdzIHNwZWNpZmllZCIKK21zZ3N0ciAiVHJvcCBkZSBiYWxpc2VzIHNww6ljaWZpw6llcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3MgorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgdGFpbGxlIGluY29ycmVjdCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiTmUgcGV1dCBjaGVyY2hlciBxdSd1bmUgc2V1bGUgcGFpcmUgTk9NPXZhbGV1ciIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiLXQgYXR0ZW5kIHVuZSBwYWlyZSBOT009dmFsZXVyIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiTGUgbW9kZSBkZSBzb25kYWdlIGJhcyBuaXZlYXUgbmUgc3VwcG9ydGUgcGFzIGxlIGZvcm1hdCBkZSBzb3J0aWUgwqvCoGxpc3TCoMK7IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIkxlIG1vZGUgZGUgc29uZGFnZSBiYXMgbml2ZWF1IHJlcXVpZXJ0IHVuIHDDqXJpcGjDqXJpcXVlIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIkwnb3B0aW9uIGRlIHJlY2hlcmNoZSByZXF1aWVydCB1biB0eXBlIGRlIHJlY2hlcmNoZSBzcMOpY2lmacOpIHBhciAtdCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBtb2lzIGluY29ycmVjdCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIHNlbWFpbmUgaW5jb3JyZWN0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgInZhbGV1ciBkZSBzZW1haW5lIGluY29ycmVjdGXCoDogdXRpbGlzZXogMS01NCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IHRpbWVzdGFtcCBvdSBub20gZGUgbW9pcyBpbmNvbm51wqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICJ2YWxldXIgZGUgam91ciBpbmNvcnJlY3RlIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgInZhbGV1ciBkZSBqb3VyIGluY29ycmVjdGXCoDogdXRpbGlzZXogMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODEgbWlzYy11dGlscy9jYWwuYzo0ODkKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAidmFsZXVyIGRlIG1vaXMgaW5jb3JyZWN0ZcKgOiB1dGlsaXNleiAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJNb2lzIGluY29ubnXCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJ2YWxldXIgZOKAmWFubsOpZSBpbmNvcnJlY3RlIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5NAorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgInZhbGV1ciBkJ2FubsOpZSBpbmNvcnJlY3RlwqA6IHV0aWxpc2V6IHVuIGVudGllciBwb3NpdGlmIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgInZhbGV1ciBkZSBzZW1haW5lIGluY29ycmVjdGXCoDogbOKAmWFubsOpZcKgJWQgbuKAmWEgcGFzIGRlIHNlbWFpbmXCoCVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gW1tbam91cl0gbW9pc10gYW5uw6llXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vaXM+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJBZmZpY2hlciB1biBjYWxlbmRyaWVyIG91IHVuZSBwYXJ0aWUgZGUgY2FsZW5kcmllci5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJTYW5zIGFyZ3VtZW50LCBhZmZpY2hlciBsZSBtb2lzIGVuIGNvdXJzLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICBuJ2FmZmljaGVyIHF14oCZdW4gc2V1bCBtb2lzIChwYXIgZMOpZmF1dClcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIGFmZmljaGVyIGxlcyB0cm9pcyBtb2lzIGVuY2FkcmFudCBsYSBkYXRlXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAtbiwgLS1tb250aHMgPG5vbWJyZT4gYWZmaWNoZXIgTiBtb2lzIGNvbW1lbsOnYW50IHBhciBsYSBkYXRlIGR1IG1vaXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA1Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNwYW4gICAgICAgICAgICBjb3V2cmlyIGxhIGRhdGUgbG9ycyBkZSBsJ2FmZmljaGFnZSBkZSBwbHVzaWV1cnMgbW9pc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDYKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIGRpbWFuY2hlIGNvbW1lIHByZW1pZXIgam91ciBkZSBsYSBzZW1haW5lXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgbHVuZGkgY29tbWUgcHJlbWllciBqb3VyIGRlIGxhIHNlbWFpbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1dGlsaXNlciBsZSBqb3VyIGRlIGwnYW5uw6llIHBvdXIgdG91cyBsZXMgY2FsZW5kcmllcnNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiAgICAgLS1yZWZvcm0gPHZhbD4gICAgZGF0ZSBkZSByw6lmb3JtZSBHcsOpZ29yaWVubmUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMAorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIgICAgIC0taXNvICAgICAgICAgICAgIHN5bm9ueW1lIHBvdXIgLS1yZWZvcm09aXNvXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIGFmZmljaGVyIHRvdXRlIGwnYW5uw6llXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAgICBhZmZpY2hlciBsZXMgZG91emUgcHJvY2hhaW5zIG1vaXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9PG51bT5dICAgIG1vbnRyZXIgbGVzIG51bcOpcm9zIGRlIHNlbWFpbmUgVVMgb3UgSVNPLTg2MDFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxxdWFuZD5dIG1lc3NhZ2VzIGVuIGNvdWxldXIgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjEKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIHBhZ2VzIgorbXNnc3RyICJkb25uw6llcyBkZSBmaWNoaWVyIHLDqXNpZGVudCBlbiBtw6ltb2lyZSBlbiBwYWdlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIGJ5dGVzIgorbXNnc3RyICJkb25uw6llcyBkZSBmaWNoaWVyIHLDqXNpZGVudCBlbiBtw6ltb2lyZSBlbiBvY3RldHMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAidGFpbGxlIGR1IGZpY2hpZXIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjY0Cittc2dpZCAiZmlsZSBuYW1lIgorbXNnc3RyICJOb20gZGUgZmljaGllciIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtaW5jb3JlOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIG1pbmNvcmXCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIsOpY2hlYyBkZSBtbWFwwqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW46ICVzIgorbXNnc3RyICLDqWNoZWMgZCdvdXZlcnR1cmXCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gZnN0YXQ6ICVzIgorbXNnc3RyICLDqWNoZWMgZGUgZnN0YXTCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBmaWNoaWVy4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgSlNPTlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzAKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgIGFmZmljaGVyIGxlcyB0YWlsbGVzIGVuIG9jdGV0IHBsdXTDtHQgcXUnZW4gZm9ybWF0IGxpc2libGVcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcxCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICBjb2xvbm5lcyBhZmZpY2jDqWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBicnV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjM0MyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5MworbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJhdWN1biBmaWNoaWVyIGluZGlxdcOpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsZXVyPlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiVHJvdXZlciB1biBzeXN0w6htZSBkZSBmaWNoaWVycyBwYXIgw6l0aXF1ZXR0ZSBvdSBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgImltcG9zc2libGUgZGUgcsOpc291ZHJlIMKrwqAlc8KgwrsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAicMOpcmlwaMOpcmlxdWUgc291cmNlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICJwb2ludCBkZSBtb250YWdlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAidHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgInRvdXRlcyBsZXMgb3B0aW9ucyBkZSBtb250YWdlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib3B0aW9ucyBkZSBtb250YWdlIHNww6ljaWZpcXVlcyBhdSBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm9wdGlvbnMgZGUgbW9udGFnZSBzcMOpY2lmaXF1ZXMgYXUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIsOpdGlxdWV0dGUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIsOpdGlxdWV0dGUgZGUgcGFydGl0aW9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gbWFqZXVyOm1pbmV1ciBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYWN0aW9uIGTDqXRlY3TDqWUgcGFyIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJhbmNpZW5uZSBvcHRpb25zIGRlIG1vbnRhZ2Ugc2F1dmVnYXJkw6llIHBhciAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYW5jaWVuIHBvaW50IGRlIG1vbnRhZ2Ugc2F1dmVnYXJkw6kgcGFyIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJ0YWlsbGUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgInRhaWxsZSBkaXNwb25pYmxlIHN1ciBsZSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgInRhaWxsZSB1dGlsaXPDqWUgZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgInBvdXJjZW50YWdlIGQndXRpbGlzYXRpb24gZHUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAic3lzdMOobWUgZGUgZmljaGllcnMgcmFjaW5lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSB0w6JjaGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBtb250YWdlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgImNoYW1wcyBkZSBtb250YWdlIGZhY3VsdGF0aWZzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgImluZGljYXRldXJzIGRlIHByb3BhZ2F0aW9uIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgInDDqXJpb2RlIGRlIGR1bXAoOCkgZW4gam91ciBbc2V1bGVtZW50IHBvdXIgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAibm9tYnJlIGRlIHBhc3NlcyBlbiBwYXJhbGzDqGxlIGRlIGZzY2soOCkgW3NldWxlbWVudCBwb3VyIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiYWN0aW9uIGluY29ubnVlwqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibW9udGFnZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJkw6ltb250YWdlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJyZW1vbnRhZ2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgImTDqXBsYWNlbWVudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODE0IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzcgc3lzLXV0aWxzL2VqZWN0LmM6NzE0CisjOiBzeXMtdXRpbHMvbW91bnQuYzozMjQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZGUgbGEgdGFibGUgZGUgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGxpcmUgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICLDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkZSBsJ2l0w6lyYXRldXIgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICLDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkZSBsYSB0YWJkaWZmIGRlIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE3Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHBvbGwoKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHDDqXJpcGjDqXJpcXVlPiB8IDxwb2ludGRlbW9udGFnZT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHDDqXJpcGjDqXJpcXVlPiA8cG9pbnRkZW1vbnRhZ2U+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8cMOpcmlwaMOpcmlxdWU+XSBbLS10YXJnZXQgPHBvaW50ZGVtb250YWdlPiB8IC0tbW91bnRwb2ludCA8csOpcD5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlRyb3V2ZXIgdW4gc3lzdMOobWUgZGUgZmljaGllcnMgKG1vbnTDqSkuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIGNoZXJjaGVyIGRhbnMgbGEgdGFibGUgc3RhdGlxdWUgZGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgcmVjaGVyY2hlciBkYW5zIGxhIHRhYmxlIGRlcyBzeXN0w6htZXMgZGUgZmljaGllcnMgbW9udMOpc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdXJlIGxlcyBvcHRpb25zIGRlIG1vbnRhZ2UgZGUgbCdlc3BhY2UgdXRpbGlzYXRldXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHJlY2hlcmNoZXIgZGFucyBsYSB0YWJsZSBkdSBub3lhdSBkZXMgc3lzdMOobWVzIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWNoaWVycyBtb250w6lzIChwYXIgZMOpZmF1dClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcG9sbFs9PGxpc3RlPl0gICBzdXJ2ZWlsbGVyIGxlcyBtb2RpZmljYXRpb25zIGRhbnMgbGEgdGFibGUgZGVzIHN5c3TDqG1lc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZGUgZmljaGllcnMgbW9udMOpc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPG5vbWJyZT4gbGltaXRlIG1heGltYWxlIGVuIG1pbGxpc2Vjb25kZSBxdWUgLS1wb2xsIGJsb3F1ZXJhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGTDqXNhY3RpdmVyIHRvdXMgbGVzIGZpbHRyZXMgaW50w6lncsOpcywgYWZmaWNoZXIgdG91cyBsZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXRpbGlzZXIgZGVzIGNhcmFjdMOocmVzIEFTQ0lJIHBvdXIgbCdhcmJvcmVzY2VuY2VcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBhZmZpY2hlciBsZXMgdGFpbGxlcyBlbiBvY3RldCBwbHV0w7R0IHF1J2VuIGZvcm1hdCBsaXNpYmxlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgbmUgcGFzIGNhbm9uaXNlciBsZXMgY2hlbWlucyBsb3JzIGTigJl1bmUgY29tcGFyYWlzb25cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGFmZmljaGFnZSBkZXMgY2hlbWlucyBjYW5vbmlxdWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGVyIGxhIHNvcnRpZSBkZSBkZigxKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIC1kLCAtLWRpcmVjdGlvbiA8bW90PiAgZGlyZWN0aW9uIGRlIHJlY2hlcmNoZcKgOiDCq8KgZm9yd2FyZMKgwrsgb3UgwqvCoGJhY2t3YXJkwqDCu1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0aXIgdG91dGVzIGxlcyDDqXRpcXVldHRlcyAoTEFCRUwsIFVVSUQsIFBBUlRVVUlELFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgUEFSVExBQkVMKSBlbiBub21zIGRlIHDDqXJpcGjDqXJpcXVlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgLUYsIC0tdGFiLWZpbGUgPGNoZW0uPiAgYXV0cmUgZmljaGllciBwb3VyIGxlcyBvcHRpb25zIC1zLCAtbSBvdSAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBuJ2FmZmljaGVyIHF1ZSBsZSBwcmVtaWVyIHN5c3TDqG1lIGRlIGZpY2hpZXJzIHRyb3V2w6lcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJzZXIgbGUgc2VucyBkZSBjb3JyZXNwb25kYW5jZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgSlNPTlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIGVuIGxpc3RlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHV0aWxpc2VyIGwnZXNwYWNlIGRlIG5vbXMgYWx0ZXJuYXRpZiAoZmljaGllclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgL3Byb2MvPHRpZD4vbW91bnRpbmZvKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzIGRlIGNvbG9ubmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisiIC1PLCAtLW9wdGlvbnMgPGxpc3RlPiAgbGltaXRlciBsJ2Vuc2VtYmxlIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBwYXIgb3B0aW9uc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZGUgbW9udGFnZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgIGxlcyBjb2xvbm5lcyBkZSBzb3J0aWUgw6AgbW9udHJlclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIGNsZWY9XCJ2YWxldXJcIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLVIsIC0tc3VibW91bnRzICAgICAgICBhZmZpY2hlciB0b3VzIGxlcyBzb3VzLW1vbnRhZ2VzIGRlcyBzeXN0w6htZXMgZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpY2hpZXJzIGNvcnJlc3BvbmRhbnRzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBicnV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc291cmNlIDxjaGHDrm5lPiAgbGUgcMOpcmlwaMOpcmlxdWUgw6AgbW9udGVyIChwYXIgbm9tLCBtYWo6bWluLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9IG91IFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8Y2hlbWluPiAgbGUgY2hlbWluIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXIgw6AgdXRpbGlzZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorbXNnaWQgIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIKK21zZ3N0ciAiICAgICAtLXRyZWUgICAgICAgICAgICAgYWN0aXZlciBsZSBmb3JtYXQgZGUgc29ydGllIGFyYm9yZXNjZW50IHNpIHBvc3NpYmxlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPHLDqXAuPiBkw6lmaW5pciBsZSByw6lwZXJ0b2lyZSBkZSBtb250YWdlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgIGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcGFyIHR5cGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZXIgbGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBhdmVjIHBsdXNpZXVycyBjaWJsZXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo5MDcKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbmUgcGFzIHRyb25xdWVyIGxlIHRleHRlIGRlcyBjb2xvbm5lc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgWy9yw6lwXSBwb3VyIGxlcyBtb250YWdlcyBiaW5kIG91IEJ0cmZzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDQKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIC1YLCAtLXZlcmlmeSAgICAgICAgICAgdsOpcmlmaWVyIGxlIGNvbnRlbnUgZGUgbGEgdGFibGUgZGUgbW9udGFnZSAoZnN0YWIgcGFyIGTDqWZhdXQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgYWZmaWNoZXIgZW4gbW9kZSBiYXZhcmRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJkaXJlY3Rpb24gaW5jb25udWXCoDogwqvCoCVzwqDCuyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0NQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBUSUQgaW5jb3JyZWN0IgorCisjIE5PVEU6IHMvbW9yZS9tb3JlIGNhbiBiZS8gPworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwgbidhY2NlcHRlIHF1J3VuIHNldWwgZmljaGllciwgbWFpcyBkJ2F1dHJlcyBwZXV2ZW50IMOqdHJlIGluZGlxdcOpcyBhdmVjIC0tdGFiLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJsZXMgb3B0aW9ucyAtLXRhcmdldCBldCAtLXNvdXJjZSBuZSBwZXV2ZW50IMOqdHJlIHV0aWxpc8OpZXMgZW5zZW1ibGUgYXZlYyB1biDDqWzDqW1lbnQgZGUgbGlnbmUgZGUgY29tbWFuZGUgcXVpIG4nZXN0IHBhcyB1bmUgb3B0aW9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTczCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIsOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGR1IGNhY2hlIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgImxhIGNvbG9ubmUgJXMgZXN0IGRlbWFuZMOpZSwgbWFpcyAtLXBvbGwgbidlc3QgcGFzIGFjdGl2w6kiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJjaWJsZSBpbmRpcXXDqWUgcGx1c2lldXJzIGZvaXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIm1hdXZhaXMgb3JkcmXCoDogJXMgc3DDqWNpZmnDqSBhdmFudCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICJjaWJsZSBub24gZMOpZmluaWUgKGZzX2ZpbGUpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiY2hlbWluIGRlIGNpYmxlIG5vbiBjYW5vbmlxdWUgKHLDqWVswqA6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgImNpYmxlIGRlbWFuZMOpZSBpbmFjY2Vzc2libGUgZHVyYW50IGwnYW1vcsOnYWdlwqA6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgImNpYmxlIGluYWNjZXNzaWJsZcKgOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImxhIGNpYmxlIG7igJllc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUyCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAibGEgY2libGUgZXhpc3RlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAic291cmNlIGRlbWFuZMOpZSBpbmFjY2Vzc2libGUgZHVyYW50IGwnYW1vcsOnYWdlwqA6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiaW5hY2Nlc3NpYmxlwqA6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzPSVzIHRyYWR1aXQgZW4gJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAic291cmNlIG5vbiBkw6lmaW5pZSAoZnNfc3BlYykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgImJhbGlzZSBzb3VyY2Ugbm9uIHByaXNlIGVuIGNoYXJnZcKgOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAibmUgcGFzIHbDqXJpZmllciBsYSBzb3VyY2UgJXMgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJzb3VyY2UgaW50cm91dmFibGXCoDogJXPCoDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAibGEgc291cmNlIGRlIG1vbnRhZ2Ugbm9uIGxpw6llICVzIGVzdCB1biByw6lwZXJ0b2lyZSBvdSB1biBmaWNoaWVyIHLDqWd1bGllciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJsYSBzb3VyY2UgJXMgbidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIGJsb2MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAibGEgc291cmNlICVzIGV4aXN0ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIm9wdGlvbnMgVkZTwqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJvcHRpb25zIEZTwqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAib3B0aW9ucyBlbiBlc3BhY2UgdXRpbGlzYXRldXLCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJzdHJhdMOpZ2llIGTigJlhYmFuZG9uIHN3YXBhcmVhIG5vbiBwcmlzZSBlbiBjaGFyZ2XCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGwnb3B0aW9uIGRlIGxhIHByb3ByacOpdMOpIHN3YXBhcmVhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAibmUgcGFzIHbDqXJpZmllciBsZSB0eXBlIEZTICVzIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAibGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyDCq8Kgbm9uZcKgwrsgZXN0IHVuaXF1ZW1lbnQgcmVjb21tYW5kw6kgcG91ciBsZXMgb3DDqXJhdGlvbnMgYmluZCBvdSBtb3ZlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiJXMgc2VtYmxlIG5lIHBhcyDDqnRyZSBzdXBwb3J0w6kgcGFyIGxlIG5veWF1IGFjdHVlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBkw6l0ZWN0ZXIgbGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyBkdSBkaXNxdWUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIlcyBuZSBjb3JyZXNwb25kIHBhcyDDoCBjZWx1aSBzdXIgbGUgZGlzcXVlwqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJsZSB0eXBlIHN1ciBsZSBkaXNxdWUgJXMgc2VtYmxlIG5lIHBhcyDDqnRyZSBzdXBwb3J0w6kgcGFyIGxlIG5veWF1IGFjdHVlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJsZSB0eXBlIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXIgZXN0ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICJsZSBwYXNzbm8gcmVjb21tYW5kw6kgcG91ciBsZSBzeXN0w6htZSBkZSBmaWNoaWVyIHJhY2luZSBlc3QgMSAoYWN0dWVsbGVtZW50ICVkKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICIlZCBlcnJldXIgZCdhbmFseXNlIgorbXNnc3RyWzFdICIlZCBlcnJldXJzIGQnYW5hbHlzZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCAlZCBlcnJldXIiCittc2dzdHJbMV0gIiwgJWQgZXJyZXVycyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiwgJWQgYWxlcnRlIgorbXNnc3RyWzFdICIsICVkIGFsZXJ0ZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIlN1Y2PDqHMsIGF1Y3VuZSBlcnJldXIgbmkgYXZlcnRpc3NlbWVudCBkw6l0ZWN0w6lcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIm9wdGlvbiBsb25ndWUgdmlkZSBhcHLDqHMgbCdhcmd1bWVudCAtbCBvdSAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJpbnRlcnByw6l0ZXVyIGluY29ubnUgYXByw6hzIGwnYXJndW1lbnQgLXMgb3UgLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyA8Y2hhw65uZV9vcHQ+IDxwYXJhbcOodHJlcz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8Y2hhw65uZV9vcHQ+IDxwYXJhbcOodHJlcz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxjaGHDrm5lX29wdD4gW29wdGlvbnNdIFstLV0gPHBhcmFtw6h0cmVzPlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzNgorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiQW5hbHlzZXIgZGVzIG9wdGlvbnMgZGUgbGlnbmVzIGRlIGNvbW1hbmRlcy5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgcGVybWV0dHJlIGxlcyBvcHRpb25zIGxvbmd1ZXMgYXZlYyB1biBzZXVsIC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA8b3B0LWxvbmc+IGxlcyBvcHRpb25zIGxvbmd1ZXMgw6AgcmVjb25uYcOudHJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPG5vbS1wcm9ncmFtbWU+ICAgbGUgbm9tIHNvdXMgbGVxdWVsIGxlcyBlcnJldXJzIHNvbnQgc2lnbmFsw6llc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxjaGHDrm5lX29wdD4gICBsZXMgb3B0aW9ucyBjb3VydGVzIMOgIHJlY29ubmHDrnRyZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgZMOpc2FjdGl2ZXIgbGVzIHJhcHBvcnRzIGQnZXJyZXVyIHBhciBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBwYXMgZCdhZmZpY2hhZ2Ugbm9ybWFsXG4iCisKKyMgZ2V0b3B0LTEuMS4yL2dldG9wdC5jOjMzNQorIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPGludGVycHLDqXRldXI+ICAgZMOpZmluaXIgbGVzIGNvbnZlbnRpb25zIGRlIHByb3RlY3Rpb24gw6AgY2VsbGUgZGUgbCc8aW50ZXJwcsOpdGV1cj5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdmVyc2lvbiBkZSBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgbmUgcGFzIHByb3TDqWdlciBsYSBzb3J0aWUgYXZlYyBkZXMgZ3VpbGxlbWV0c1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5NiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NgorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBjaGHDrm5lX29wdCBtYW5xdWFudCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTEKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiZXJyZXVyIGludGVybmUsIGNvbnRhY3RlciBsJ2F1dGV1ci4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgInNpZ25hbCAlcyBpbmNvbm51wqA7IHNpZ25hdXggdmFsYWJsZXPCoDoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxub20+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJGb3JjZXIgdW4gcHJvY2Vzc3VzIMOgIHNlIHRlcm1pbmVyLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgbmUgcGFzIHJlc3RyZWluZHJlIGxhIGNvbnZlcnNpb24gZGUgbm9tIGVuIFBJRCBhdXhcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3N1cyBhdmVjIGxlIG3Dqm1lIFVJRCBxdWUgbGUgcHJvY2Vzc3VzIGFjdHVlbFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODQKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIGVudm95ZXIgY2UgPHNpZ25hbD4gYXUgbGlldSBkZSBTSUdURVJNXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1ZXVlIDx2YWxldXI+ICAgdXRpbGlzZXIgc2lncXVldWUoMiksIHBhcyBraWxsKDIpLCBldCBwYXNzZXIgPHZhbGV1cj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW1lIGRvbm7DqWVcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBQSUQgc2FucyBsZXVyIGVudm95ZXIgZGUgc2lnbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGFmZmljaGVyIGxlcyBub21zIGRlIHNpZ25hbCwgb3UgY29udmVydGlyIHVuIG51bcOpcm8gZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHNpZ25hbCBlbiBub21cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkwCittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgYWZmaWNoZXIgbGVzIG5vbXMgZXQgbnVtw6lyb3MgZGUgc2lnbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBhZmZpY2hlciBsZXMgUElEIGF1eHF1ZWxzIHVuIHNpZ25hbCBzZXJhIGVudm95w6lcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjQwIG1pc2MtdXRpbHMva2lsbC5jOjI0OSBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgInNpZ25hbCBpbmNvbm51wqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMgZXQgJXMgcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAiZXJyZXVyIGQnYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIm5vbSBvdSBudW3DqXJvIGRlIHNpZ25hbCBpbmNvcnJlY3TCoDogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiZW52b2kgZHUgc2lnbmFswqAlZCBhdSBQSUTCoCVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBk4oCZZW52b2kgZGUgc2lnbmFsIMOgICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvdXZlciBsZSBwcm9jZXNzdXMgwqvCoCVzwqDCuyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAibm9tIGRlIHNlcnZpY2UgaW5jb25udcKgOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibm9tIGRlIHByaW9yaXTDqSBpbmNvbm51wqA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3BlbmxvZyAlc8KgOiBjaGVtaW4gdHJvcCBsb25nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNvY2tldCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIHLDqXNvbHV0aW9uIGR1IG5vbSAlcyBzdXIgbGUgcG9ydCAlc8KgOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbm5leGlvbiDDoCAlcyBzdXIgbGUgcG9ydCAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSBsaWduZXMgKCVkKSBkw6lwYXNzw6kiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGwnZW52b2kgZHUgbWVzc2FnZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAibCdJRCBkZSBkb25uw6llIHN0cnVjdHVyw6llIMKrwqAlc8Kgwrsgbidlc3QgcGFzIHVuaXF1ZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiLS1zZC1pZCBuJ2EgcGFzIMOpdMOpIHNww6ljaWZpw6kgcG91ciAtLXNkLXBhcmFtICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2OAorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxvY2FsdGltZSgpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJsZSBub20gZOKAmWjDtHRlIMKrwqAlc8KgwrsgZXN0IHRyb3AgbG9uZyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImwnw6l0aXF1ZXR0ZSDCq8KgJXPCoMK7IGVzdCB0cm9wIGxvbmd1ZSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCBk4oCZb3B0aW9uIGluY29ubnUgaWdub3LDqcKgOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgImFyZ3VtZW50IGluY29ycmVjdMKgOiAlc8KgOiBlbiB1dGlsaXNhbnQgbGVzIGVycmV1cnMgYXV0b21hdGlxdWVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIkVudHJlciBkZXMgbWVzc2FnZXMgZGFucyBsZSBqb3VybmFsIHN5c3TDqG1lLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzYKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIC1pICAgICAgICAgICAgICAgICAgICAgICBqb3VybmFsaXNlciBsZSBQSUQgZGUgbGEgY29tbWFuZGUgbG9nZ2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGpvdXJuYWxpc2VyIGzigJk8aWQ+IGluZGlxdcOpIG91IGxlIFBJRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxmaWNoaWVyPiAgICAgam91cm5hbGlzZXIgbGUgY29udGVudSBkZSBjZSBmaWNoaWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBuZSBwYXMgam91cm5hbGlzZXIgbGVzIGxpZ25lcyB2aWRlcyBsb3JzIGR1IHRyYWl0ZW1lbnQgZGVzIGZpY2hpZXJzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICB0b3V0IGZhaXJlIHNhdWYgbCfDqWNyaXR1cmUgZHUgam91cm5hbFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDEKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJxdWVyIGxlIG1lc3NhZ2UgZG9ubsOpIGF2ZWMgY2V0dGUgcHJpb3JpdMOpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1dGlsaXNlciBsZSBjb21wdGFnZSBkJ29jdGV0IHJmYzY1ODdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQzCittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIHJlY2hlcmNoZXIgdW4gcHLDqWZpeGUgc3VyIGxlcyBsaWduZXMgZOKAmWVudHLDqWUgc3RhbmRhcmRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ0Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgYWZmaWNoZXIgYXVzc2kgbGUgbWVzc2FnZSBlbiBzb3J0aWUgZCdlcnJldXIgc3RhbmRhcmRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHRhaWxsZT4gICAgICB0YWlsbGUgbWF4aW1hbGUgZOKAmXVuIG1lc3NhZ2VcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDzDqXRpcXVldHRlPiAgICBtYXJxdWVyIHRvdXRlcyBsZXMgbGlnbmVzIGF2ZWMgY2V0dGUgw6l0aXF1ZXR0ZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIC1uLCAtLXNlcnZlciA8bm9tPiAgICAgICDDqWNyaXJlIHZlcnMgY2Ugc2VydmV1ciBkZSBqb3VybmFsaXNhdGlvbiBkaXN0YW50XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXRpbGlzZXIgY2UgcG9ydCBwb3VyIGxhIGNvbm5leGlvbiBVRFAgb3UgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgbuKAmXV0aWxpc2VyIHF1ZSBUQ1BcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUwCittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICBu4oCZdXRpbGlzZXIgcXXigJlVRFBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUxCittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1dGlsaXNlciBsZSBwcm90b2NvbGUgc3lzbG9nIEJTRCBvYnNvbMOodGVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUyCittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1dGlsaXNlciBsZSBwcm90b2NvbGUgc3lzbG9nIChwYXIgZMOpZmF1dCBwb3VyIGwnYWNjw6hzIGRpc3RhbnQpwqA7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBwZXV0IMOqdHJlIG5vdGltZSBvdSBub3RxLCBldCBvdSBub2hvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIElEIGRlIGRvbm7DqWUgc3RydWN0dXLDqWUgcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICBkb25uw6llIHN0cnVjdHVyw6llIHJmYzU0MjQgbm9tPXZhbGV1clxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTYKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiICAgICAtLW1zZ2lkIDxNU0dJRD4gICAgICBkw6lmaW5pciBsZSBjaGFtcCBNZXNzYWdlIElEIHJmYzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgw6ljcmlyZSB2ZXJzIGNlIHNvY2tldCBVTklYXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBlcnJldXJzIGRlIGNvbm5leGlvbiBsb3JzIGRlIGwndXRpbGlzYXRpb24gZGUgc29ja2V0IFVuaXhcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgIC0tam91cm5hbGRbPTxmaWMuPl0gIMOpY3JpcmUgdW5lIGVudHLDqWUgZGUgam91cm5hbGRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgImZpY2hpZXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE2MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsJ2lkZW50aWZpYW50IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIHRhaWxsZSBkdSBtZXNzYWdlIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICItLW1zZ2lkIG5lIHBldXQgcGFzIGNvbnRlbmlyIGQnZXNwYWNlIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIklEIGRlIGRvbm7DqWVzIHN0cnVjdHVyw6llcyBpbnZhbGlkZcKgOiDCq8KgJXPCoMK7IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJwYXJhbcOodHJlIGRlIGRvbm7DqWUgc3RydWN0dXLDqWUgaW52YWxpZGXCoDogwqvCoCVzwqDCuyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxmaWNoaWVyPiBldCA8bWVzc2FnZT4gcydleGNsdWVudCBtdXR1ZWxsZW1lbnQsIG1lc3NhZ2UgZXN0IGlnbm9yw6kiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1OQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICJsJ2VudHLDqWUgam91cm5hbGQgbuKAmWEgcGFzIHB1IMOqdHJlIMOpY3JpdGUiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPGNoYcOubmU+IFs8ZmljaGllcj4gLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgbGVzIGxpZ25lcyBjb21tZW7Dp2FudCBwYXIgdW5lIGNoYcOubmUgaW5kaXF1w6llLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHV0aWxpc2VyIGxlIHLDqXBlcnRvaXJlIGFsdGVybmF0aWZcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY3Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIG5lIGNvbXBhcmVyIHF1ZSBsZXMgY2FyYWN0w6hyZXMgYWxwaGFudW3DqXJpcXVlcyBvdSBibGFuY3NcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZXIgbGVzIGRpZmbDqXJlbmNlcyBkZSBjYXNzZSBlbiBjb21wYXJhbnRcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY5Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC10LCAtLXRlcm1pbmF0ZSA8Y2FyYWN0w6hyZT4gIGTDqWZpbmlyIGxlIGNhcmFjdMOocmUgZGUgZmluIGRlIGNoYcOubmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJub20gZHUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbSBkdSBww6lyaXBow6lyaXF1ZSBpbnRlcm5lIGR1IG5veWF1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tIGR1IHDDqXJpcGjDqXJpcXVlIHBhcmVudCBpbnRlcm5lIGR1IG5veWF1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3IHN5cy11dGlscy96cmFtY3RsLmM6ODYKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgIm/DuSBsZSBww6lyaXBow6lyaXF1ZSBlc3QgbW9udMOpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiw6l0aXF1ZXR0ZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgInR5cGUgZGUgcGFydGl0aW9uIFVVSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIsOpdGlxdWV0dGUgZGUgcGFydGl0aW9uIgorCisjIE5PVEU6IHMvcmVhZC1haGVhZC9yZWFkYWhlYWQvCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJhdmFuY2UgZW4gbGVjdHVyZSAowqvCoHJlYWRhaGVhZMKgwrspIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3IHN5cy11dGlscy9sb3NldHVwLmM6NzcKK21zZ2lkICJyZWFkLW9ubHkgZGV2aWNlIgorbXNnc3RyICJww6lyaXBow6lyaXF1ZSBlbiBsZWN0dXJlIHNldWxlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAicMOpcmlwaMOpcmlxdWUgYW1vdmlibGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICJww6lyaXBow6lyaXF1ZSBhbW92aWJsZSBvdSBjb25uZWN0YWJsZSDDoCBjaGF1ZCAoVVNCLCBQQ01DSUEswqBldGMuKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICJww6lyaXBow6lyaXF1ZSB0b3VybmFudCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiYWpvdXQgZCdhbMOpYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBww6lyaXBow6lyaXF1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBkZSBzw6lyaWUgZHUgZGlzcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJ0YWlsbGUgZHUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLDqXRhdCBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIm5vbSBkZSBncm91cGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAicGVybWlzc2lvbnMgZGUgbsWTdWQgZGUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJpbmRleCBkJ2FsaWduZW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJ0YWlsbGUgbWluaW1hbGUgZCdFL1MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJ0YWlsbGUgb3B0aW1hbGUgZCdFL1MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAidGFpbGxlIGRlIHNlY3RldXIgcGh5c2lxdWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ0YWlsbGUgZGUgc2VjdGV1ciBsb2dpcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJvcmRvbm5hbmNldXIgZCdFL1MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgImRlbWFuZGUgZGUgdGFpbGxlIGRlIGxhIGZpbGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAidHlwZSBkZSBww6lyaXBow6lyaXF1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiYWJhbmRvbiBkZSBsJ2luZGV4IGQnYWxpZ25lbWVudCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgImFiYW5kb24gZGUgbGEgZ3JhbnVsYXJpdMOpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgImFiYW5kb24gZHUgbWF4aW11bSBkJ29jdGV0cyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgImFiYW5kb24gZGVzIGRvbm7DqWVzIGRlIHrDqXJvcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICLDqWNyaXR1cmUgZHUgbcOqbWUgbWF4aW11bSBkJ29jdGV0cyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgImlkZW50aWZpYW50IGRlIHN0b2NrYWdlIHVuaXF1ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJIw7R0ZTpDYW5hbDpDaWJsZTpVbG9nIHBvdXIgU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAidHlwZSBkZSBww6lyaXBow6lyaXF1ZSBkZSB0cmFuc3BvcnQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgImTDqWR1cGxpcXVlciB1bmUgY2hhw65uZSBkZSBzb3VzLXN5c3TDqG1lcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAicsOpdmlzaW9uIGRlIHDDqXJpcGjDqXJpcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiY29uc3RydWN0ZXVyIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAibW9kw6hsZSB6b25lIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIsOpY2hlYyBkJ291dmVydHVyZSBkdSByw6lwZXJ0b2lyZSBkZSBww6lyaXBow6lyaXF1ZSBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBjb21wb3NpdGlvbiBkdSBjaGVtaW4gZGUgc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgbGVjdHVyZSBkdSBsaWVuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdvYnRlbnRpb24gZHUgbm9tIGRlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ29idGVudGlvbiBkdSBudW3DqXJvIGRlIHDDqXJpcGjDqXJpcXVlcyBkaXNxdWUgZW50aWVyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSBsaXN0ZSDCq8KgJXPCoMK7IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIkxhIGxpc3RlIGRlIHDDqXJpcGjDqXJpcXVlcyDDoCBleGNsdXJlIGVzdCB0cm9wIGdyYW5kZSAobGEgbGltaXRlIGVzdCBkZSAlZMKgcMOpcmlwaMOpcmlxdWVzKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJMYSBsaXN0ZSBkZSBww6lyaXBow6lyaXF1ZXMgw6AgaW5jbHVyZSBlc3QgdHJvcCBncmFuZGUgKGxhIGxpbWl0ZSBlc3QgZGUgJWTCoHDDqXJpcGjDqXJpcXVlcykiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzIHN5cy11dGlscy93ZGN0bC5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzxww6lyaXBow6lyaXF1ZT4gLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBkZXMgcMOpcmlwaMOpcmlxdWVzIGJsb2NzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgYWZmaWNoZXIgdG91cyBsZXMgcMOpcmlwaMOpcmlxdWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiAtZCwgLS1ub2RlcHMgICAgICAgICBuJ2FmZmljaGVyIG5pIGxlcyBlc2NsYXZlcyBuaSBsZXMgcG9ydGV1cnNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIGFmZmljaGVyIGxlcyBjYXBhY2l0w6lzIGQnYWJhbmRvblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MworbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAteiwgLS16b25lZCAgICAgICAgICBhZmZpY2hlciBsZSBtb2TDqGxlIGRlIHpvbmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisiIC1lLCAtLWV4Y2x1ZGUgPGxpc3RlPiBleGNsdXJlIGxlcyBww6lyaXBow6lyaXF1ZXMgcGFyIG51bcOpcm8gbWFqZXVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgKGRpc3F1ZXMgUkFNIHBhciBkw6lmYXV0KVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAgYWZmaWNoZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBsZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIHV0aWxpc2VyIHNldWxlbWVudCBkZXMgY2FyYWN0w6hyZXMgQVNDSUlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisiIC1JLCAtLWluY2x1ZGUgPGxpc3RlPiBuZSBtb250cmVyIHF1ZSBsZXMgcMOpcmlwaMOpcmlxdWVzIGF2ZWMgbGVzIG51bcOpcm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbWFqZXVycyBpbmRpcXXDqXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgSlNPTlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICB1dGlsaXNlciBsJ2FmZmljaGFnZSBhdSBmb3JtYXQgbGlzdGVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKK21zZ2lkICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNlIHRyZWUgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXRpbGlzZXIgbCdhZmZpY2hhZ2UgYXUgZm9ybWF0IGFyYm9yZXNjZW50XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICBhZmZpY2hlciBkZXMgcmVuc2VpZ25lbWVudHMgc3VyIGxlcyBkcm9pdHNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGU+IGNvbG9ubmVzIGFmZmljaMOpZXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICBhZmZpY2hlciB0b3V0ZXMgbGVzIGNvbG9ubmVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU1Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICBhZmZpY2hlciBsZSBjaGVtaW4gZGUgcMOpcmlwaMOpcmlxdWUgY29tcGxldFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZXIgbGVzIGTDqXBlbmRhbmNlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgc3VyIGxlcyBww6lyaXBow6lyaXF1ZXMgU0NTSVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgYWZmaWNoZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBsYSB0b3BvbG9naWVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPGNvbG9ubmU+ICB0cmllciBsYSBzb3J0aWUgcGFyIDxjb2xvbm5lPlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIsOpY2hlYyBkJ2FjY8OocyBhdSByw6lwZXJ0b2lyZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVyc8KgOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgImNvbW1hbmRlIGR1IHByb2Nlc3N1cyBkw6l0ZW5hbnQgbGUgdmVycm91IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgZHUgcHJvY2Vzc3VzIGTDqXRlbmFudCBsZSB2ZXJyb3UiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICJ0eXBlIGRlIHZlcnJvdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJ0YWlsbGUgZHUgdmVycm91IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIm1vZGUgZCdhY2PDqHMgYXUgdmVycm91IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIsOpdGF0IG9ibGlnYXRvaXJlIGR1IHZlcnJvdcKgOiAwIChhdWN1biksIDEgKGTDqWZpbmkpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJpbmRleCByZWxhdGlmIGR1IHZlcnJvdSBlbiBvY3RldCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJpbmRleCBkZSBmaW4gZHUgdmVycm91IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJjaGVtaW4gZHUgZmljaGllciB2ZXJyb3VpbGzDqSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBkdSBwcm9jZXNzdXMgYmxvcXVhbnQgbGUgdmVycm91IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZCdpZGVudGlmaWFudCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBQSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKGluY29ubnUpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgZMOpYnV0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIGZpbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIkFmZmljaGVyIGxlcyB2ZXJyb3VzIHN5c3TDqG1lcyBsb2NhdXguXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMgorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlciBsZXMgdmVycm91cyBzYW5zIHBlcm1pc3Npb24gZGUgbGVjdHVyZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDMgc3lzLXV0aWxzL2xzbnMuYzo5MDMgc3lzLXV0aWxzL3Jma2lsbC5jOjU3MworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNCBzeXMtdXRpbHMvbHNucy5jOjkwNCBzeXMtdXRpbHMvcmZraWxsLmM6NTc0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gICBkw6lmaW5pciBsZXMgY29sb25uZXMgZGUgc29ydGllIMOgIHV0aWxpc2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBhZmZpY2hlciB1bmlxdWVtZW50IGxlcyB2ZXJyb3VzIGTDqXRlbnVzIHBhciBjZSBwcm9jZXNzdXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgUElEIGluY29ycmVjdCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiQ3LDqWVyIGRlcyDCq8KgY29va2llcyBtYWdpcXVlc8KgwrsgcG91ciB4YXV0aC5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpY2hpZXI+ICB1dGlsaXNlciBsZSBmaWNoaWVyIHBvdXIgZ8OpbsOpcmVyIGxlIGNvb2tpZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdGVyIGxhIHF1YW50aXTDqSBsdWUgZGVwdWlzIGxlcyBmaWNoaWVycyBkZSBqZXUgZGUgZG9ubsOpZXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGlxdWVyIGxlcyBhY3Rpb25zIGVuIGNvdXJzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiQSBvYnRlbnUgJXp1wqBvY3RldCBkZSAlc1xuIgorbXNnc3RyWzFdICJBIG9idGVudSAlenXCoG9jdGV0cyBkZSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBmZXJtZXR1cmUgZGUgJXMiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzEwCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxvbmd1ZXVyIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICItLW1heC1zaXplIGlnbm9yw6llIGxvcnMgZOKAmXV0aWxpc2F0aW9uIHNhbnMgLS1maWxlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJBIG9idGVudSAlZMKgb2N0ZXQgZGUgJXNcbiIKK21zZ3N0clsxXSAiQSBvYnRlbnUgJWTCoG9jdGV0cyBkZSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGR1IGxpZW4gc3ltYm9saXF1ZcKgOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMg4oCUIGZpY2hpZXIgb3UgcsOpcGVydG9pcmUgaW5leGlzdGFudFxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxjaGVtaW4+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiU3VpdnJlIHVuIGNoZW1pbiBqdXNxdSdhdSBwcmVtaWVyIHBvaW50IHRlcm1pbmFsLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBtb250cmVyIGxlcyBwb2ludHMgZGUgbW9udGFnZSBhdmVjIMKrwqBEwqDCu1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIGFmZmljaGVyIGxlIG1vZGUgcG91ciBjaGFxdWUgZmljaGllclxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIGFmZmljaGVyIGxlIHByb3ByacOpdGFpcmUvbGUgZ3JvdXBlIGRlIGNoYXF1ZSBmaWNoaWVyXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgZm9ybWF0IGRlIGxpc3RlIGxvbmd1ZSAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIG5lIHBhcyBzdWl2cmUgbGVzIGxpZW5zIHN5bcOpdHJpcXVlc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIGFsaWduZXIgdmVydGljYWxlbWVudCBsZXMgbW9kZXMgZXQgcHJvcHJpw6l0YWlyZXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgImFyZ3VtZW50IGNoZW1pbiBtYW5xdWFudCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGR1IGNhY2hlIGTigJlVSUQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGR1IGNhY2hlIGRlIEdJRCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiVzwqA6IGxpbWl0ZSBkZSBsaWVucyBzeW1ib2xpcXVlcyBkw6lwYXNzw6llIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlc8KgOiBwYXMgdW4gbGllbiBzeW1ib2xpcXVlIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBsZWN0dXJlIGRlIGxpZW4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICJQYXNzZSBvdXRyZSBsZSBsaWVuIGV4aXN0YW50wqA6IMKrwqAlc8KgwrtcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQndW5saW5rIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNyw6lhdGlvbiBkZSBsaWVuIHN5bWJvbGlxdWUgdmVycyAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICJQYXNzZSBvdXRyZSBsZSBmaWNoaWVyIGV4aXN0YW50wqA6IMKrwqAlc8KgwrtcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSByZW5vbW1hZ2UgZW4gJXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZW1wbGFjZW1lbnQ+IDxmaWNoaWVyPiAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIlJlbm9tbWVyIGRlcyBmaWNoaWVycy5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICAgICBhZ2lyIHN1ciBsYSBjaWJsZSBkdSBsaWVuIHN5bWJvbGlxdWVcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICBuZSBmYWlyZSBhdWN1biBjaGFuZ2VtZW50XG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQ0Cittc2dpZCAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgZG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzXG4iCittc2dzdHIgIiAtbywgLS1uby1vdmVyd3JpdGUgIG5lIHBhcyDDqWNyYXNlciBsZXMgZmljaGllcnMgZXhpc3RhbnRzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJVbiBkw6ltb24gZGUgY3LDqWF0aW9uIGTigJlVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgY2hlbWluIHZlcnMgbGUgZmljaGllciBwaWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgIGNoZW1pbiBkdSBzb2NrZXRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBpbmRpcXVlciBsZSB0ZW1wcyBk4oCZaW5hY3Rpdml0w6kgYXZhbnQgdGltZW91dFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgLWssIC0ta2lsbCAgICAgICAgICAgICAgdHVlciBsZXMgZMOpbW9ucyBlbiBleMOpY3V0aW9uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0ZXIgbGEgZ8OpbsOpcmF0aW9uIGFsw6lhdG9pcmVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0ZXIgbGEgZ8OpbsOpcmF0aW9uIHRlbXBvcmVsbGVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtbiwgLS11dWlkcyA8bm9tYnJlPiAgICBkZW1hbmRlciA8bm9tYnJlPiBk4oCZVVVJRFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgbmUgcGFzIGNyw6llciBkZSBmaWNoaWVyIHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgbmUgcGFyIGTDqW1vbmlzZXIgZW4gdXRpbGlzYW50IHVuIGRvdWJsZSBmb3JrXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIG5lIHBhcyBjcsOpZXIgdW4gc29ja2V0IGTigJnDqWNvdXRlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGV4w6ljdXRlciBlbiBtb2RlIGTDqWJvZ2FnZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBwYXNzZXIgZW4gbW9kZSBzaWxlbmNpZXV4XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJhcmd1bWVudHMgZXJyb27DqXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImNvbm5leGlvbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworbXNnaWQgIndyaXRlIgorbXNnc3RyICLDqWNyaXR1cmUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJub21icmUgZGUgbGVjdHVyZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICJtYXV2YWlzZSBsb25ndWV1ciBkZSByw6lwb25zZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB2ZXJyb3VpbGxlciAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgImltcG9zc2libGUgZGUgY3LDqWVyIHVuIHNvY2tldCBkZSBmbHV4IFVOSVgiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ2Fzc29jaWVyIChiaW5kKSBsZSBzb2NrZXQgVU5JWCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgcsOpY2VwdGlvbiBkdSBzaWduYWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMDIKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgImV4cGlyYXRpb24gZHUgZMOpbGFpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgImltcG9zc2libGUgZGUgY29uZmlndXJlciBsJ2hvcmxvZ2UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgImxlIGTDqW1vbiB1dWlkZCBlc3QgZMOpasOgIGVuIGNvdXJzIGTigJlleMOpY3V0aW9uIGF2ZWMgbGUgUElEwqAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgbGlyZSBsZSBzb2NrZXQgVU5JWCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgdHJvbnF1ZXIgbGUgZmljaGllcsKgOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkZSBzZF9saXN0ZW5fZmRzKCkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiYXVjdW4gZGVzY3JpcHRldXIgZGUgZmljaGllciByZcOndSwgdsOpcmlmaWV6IGxlIHN0YXR1dCB1dWlkZC5zb2NrZXQgZGUgc3lzdGVtY3RsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJ0cm9wIGRlIGRlc2NyaXB0ZXVycyBkZSBmaWNoaWVycyByZcOndXPCoDsgdsOpcmlmaWVyIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgImV4cGlyYXRpb24gZHUgZMOpbGFpIFslZCBzXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImVycmV1ciBsZWN0dXJlIGR1IGNsaWVudCwgbG9uZ3VldXIgPSAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIm9ww6lyYXRpb27CoCVkLCBudW0uIGVudHJhbnQgPSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJvcMOpcmF0aW9uwqAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIkhldXJlIFVVSUQgZ8OpbsOpcsOpZcKgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCBhbMOpYXRvaXJlIGfDqW7DqXLDqcKgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiSGV1cmUgVVVJRCBjcsOpw6llICVzIGV0ICVkIHN1aXZhbnRcbiIKK21zZ3N0clsxXSAiSGV1cmUgVVVJRCBjcsOpw6llICVzIGV0ICVkIHN1aXZhbnRzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiJWTCoFVVSUQgY3LDqcOpwqA6XG4iCittc2dzdHJbMV0gIiVkwqBVVUlEIGNyw6nDqXPCoDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJPcMOpcmF0aW9uwqAlZCBub24gdmFsYWJsZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJMb25ndWV1ciBkZSByw6lwb25zZSBkdSBzZXJ2ZXVywqAlZCBpbmF0dGVuZHVlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgLS11dWlkcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgInV1aWRkIGEgw6l0w6kgY29uc3RydWl0IHNhbnMgcHJpc2UgZW4gY2hhcmdlIGQnYWN0aXZhdGlvbiBkZSBzb2NrZXRzLiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIm5vbSBkZSB2b2x1bWUgdHJvcCBsb25nIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiLS1zb2NrZXQtYWN0aXZhdGlvbiBldCAtLXNvY2tldCBvbnQgdG91dGVzIGRldXggw6l0w6kgaW5kaXF1w6llcy4gLS1zb2NrZXQgZXN0IGlnbm9yw6llLiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImVycmV1ciBkJ2FwcGVsIGR1IGTDqW1vbiB1dWlkZCAoJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU1IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODMKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJlcnJldXIgaW5hdHRlbmR1ZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiVzIGV0ICVkwqBVVUlEIHN1aXZhbnRcbiIKK21zZ3N0clsxXSAiJXMgZXQgJWTCoFVVSUQgc3VpdmFudHNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJMaXN0ZSBkZXMgVVVJRMKgOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgImltcG9zc2libGUgZGUgdHVlciB1dWlkZCBlbiBjb3VycyBk4oCZZXjDqWN1dGlvbiBhdmVjIGxlIFBJRMKgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICJ1dWlkZCBlbiBjb3VycyBk4oCZZXjDqWN1dGlvbiBhdmVjIGxlIFBJRMKgJWQgdHXDqVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICJDcsOpZXIgdW5lIG5vdXZlbGxlIHZhbGV1ciBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgIGfDqW7DqXJlciB1biB1dWlkIGFsw6lhdG9pcmVcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgZ8OpbsOpcmVyIHVuIHV1aWQgYmFzw6kgc3VyIGxlIHRlbXBzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGfDqW7DqXJlciB1biB1dWlkIGJhc8OpIHN1ciB1biBoYWNoYWdlIGRhbnMgY2V0IGVzcGFjZSBkZSBub21zXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGfDqW7DqXJlciB1biB1dWlkIGJhc8OpIHN1ciBsZSBoYWNoYWdlIGRlIGNlIG5vbVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNgorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAtbSwgLS1tZDUgICAgICAgICAgIGfDqW7DqXJlciB1biBoYWNoYWdlIG1kNVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNworbXNnaWQgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYXRlIHNoYTEgaGFzaFxuIgorbXNnc3RyICIgLXMsIC0tc2hhMSAgICAgICAgICBnw6luw6lyZXIgdW4gaGFjaGFnZSBzaGExXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgaW50ZXJwcmV0IG5hbWUgYXMgaGV4IHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByw6l0ZXIgbGUgbm9tIGNvbW1lIHVuZSBjaGHDrm5lIGhleGFkw6ljaW1hbGVcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWFudCB1bmlxdWUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzcKK21zZ2lkICJ2YXJpYW50IG5hbWUiCittc2dzdHIgIm5vbSBkZSB2YXJpYW50IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4Cittc2dpZCAidHlwZSBuYW1lIgorbXNnc3RyICJub20gZGUgdHlwZSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAiaG9yb2RhdGFnZSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8dXVpZD4uLi5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIEpTT04iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlcyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgIGxlcyBjb2xvbm5lcyDDoCBtb250cmVyICh2b2lyIGNpLWRlc3NvdXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dCIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCittc2dpZCAiaW52YWxpZCIKK21zZ3N0ciAiaW52YWxpZGUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTg2Cittc2dpZCAib3RoZXIiCittc2dzdHIgImF1dHJlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5NworbXNnaWQgIm5pbCIKK21zZ3N0ciAibnVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwMgorbXNnaWQgInRpbWUtYmFzZWQiCittc2dzdHIgImJhc8OpIHN1ciBsZSB0ZW1wcyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDgKK21zZ2lkICJuYW1lLWJhc2VkIgorbXNnc3RyICJiYXPDqSBzdXIgbGUgbm9tIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxMQorbXNnaWQgInJhbmRvbSIKK21zZ3N0ciAiYWzDqWF0b2lyZSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICJiYXPDqSBzdXIgc2hhMSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNjcgbWlzYy11dGlscy93aXBlZnMuYzoxNzAgc3lzLXV0aWxzL2xzY3B1LmM6MTcyMgorIzogc3lzLXV0aWxzL2xzbnMuYzo4MDYgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICLDqWNoZWMgZCdpbml0aWFsaXNhdGlvbiBkZSBsYSBjb2xvbm5lIGRlIHNvcnRpZSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFstQk1TIDxyw6lwPi4uLiAtZl0gPG5vbT5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIlJlY2hlcmNoZXIgbGVzIGZpY2hpZXJzIGV4w6ljdXRhYmxlcywgbGVzIHNvdXJjZXMgZXQgbGVzIHBhZ2VzIGRlIG1hbnVlbCBkJ3VuZSBjb21tYW5kZS5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIG5lIHJlY2hlcmNoZXIgcXVlIGxlcyBleMOpY3V0YWJsZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtQiA8csOpcC4+ICBkw6lmaW5pciBsZXMgY2hlbWlucyBkZSByZWNoZXJjaGUgZGUgYmluYWlyZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgIG5lIHJlY2hlcmNoZXIgcXVlIGxlcyBtYW51ZWxzIGV0IGRvY3VtZW50cyBJbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1NIDxyw6lwLj4gIGTDqWZpbmlyIGxlcyBjaGVtaW5zIGRlIHJlY2hlcmNoZSBkZSBtYW51ZWxzIGV0IGRvY3VtZW50cyBJbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIG5lIHJlY2hlcmNoZXIgcXVlIGxlcyBmaWNoaWVycyBzb3VyY2VcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDxyw6lwLj4gIGTDqWZpbmlyIGxlcyBjaGVtaW5zIGRlIHJlY2hlcmNoZSBkZSBmaWNoaWVycyBzb3VyY2VcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjExCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAtZiAgICAgICAgIHRlcm1pbmVyIGxhIGxpc3RlIGQnYXJndW1lbnRzIDxyw6lwLj5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgcmVjaGVyY2hlciBsZXMgZW50csOpZXMgaW5oYWJpdHVlbGxlc1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBhZmZpY2hlciBsZXMgY2hlbWlucyBkZSByZWNoZXJjaGUgZWZmZWN0aWZzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjY0OAorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJsJ29wdGlvbiAtZiBtYW5xdWUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTAzCittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCBkZSBsYSBwYXJ0aXRpb24vc3lzdMOobWUgZGUgZmljaGllcnMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA1Cittc2dpZCAibWFnaWMgc3RyaW5nIGxlbmd0aCIKK21zZ3N0ciAibG9uZ3VldXIgZGUgbGEgY2hhw65uZSBtYWdpcXVlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNgorbXNnaWQgInN1cGVyYmxvayB0eXBlIgorbXNnc3RyICJ0eXBlIGRlIHN1cGVyYmxvYyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDcKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICJpbmRleCBkZSBsYSBjaGHDrm5lIG1hZ2lxdWUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGVzY3JpcHRpb24gZHUgdHlwZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tIGR1IHDDqXJpcGjDqXJpcXVlIGJsb2MiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE4Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICJ0YWJsZSBkZSBwYXJ0aXRpb25zIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJlcnJldXLCoDogJXPCoDogw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZGUgbCdhbmFseXNlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnZWZmYWNlbWVudCBkZSBsYSBjaGHDrm5lIG1hZ2lxdWUgJXMgw6AgbCdpbmRleCAweCUwOGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlc8KgOiAlemTCoG9jdGV0IGEgw6l0w6kgZWZmYWPDqSDDoCBsJ2luZGV4IDB4JTA4anggKCVzKcKgOiAiCittc2dzdHJbMV0gIiVzwqA6ICV6ZMKgb2N0ZXRzIG9udCDDqXTDqSBlZmZhY8OpcyDDoCBsJ2luZGV4IDB4JTA4anggKCVzKcKgOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNyw6lhdGlvbiBk4oCZdW5lIHNhdXZlZ2FyZGUgZGUgc2lnbmF0dXJlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiJXPCoDogYXBwZWwgZCdpb2N0bCBwb3VyIHJlbGlyZSBsYSB0YWJsZSBkZSBwYXJ0aXRpb25zwqA6ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNyw6lhdGlvbiBk4oCZdW5lIHNhdXZlZ2FyZGUgZGUgc2lnbmF0dXJlLCAkSE9NRSBub24gZMOpZmluaWUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzwqA6IHRhYmxlIGRlIHBhcnRpdGlvbnMgaW1icmlxdcOpZSDCq8KgJXPCoMK7IGlnbm9yw6llIHN1ciBsZXMgcMOpcmlwaMOpcmlxdWVzIGRpc3F1ZSBub24gZW50aWVycyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzwqA6IGluZGV4IDB4JWp4IGludHJvdXZhYmxlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJVdGlsaXNleiBsJ29wdGlvbiAtLWZvcmNlIHBvdXIgZm9yY2VyIGwnZWZmYWNlbWVudC4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuIgorbXNnc3RyICJFZmZhY2VyIGxlcyBzaWduYXR1cmVzIGTigJl1biBww6lyaXBow6lyaXF1ZS4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICBuZXR0b3llciB0b3V0ZXMgbGVzIGNoYcOubmVzIG1hZ2lxdWVzIChGQUlURSBBVFRFTlRJT07CoCEpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyw6llciB1bmUgc2F1dmVnYXJkZSBkZSBsYSBzaWduYXR1cmUgZGFucyAkSE9NRSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZXIgbCdlZmZhY2VtZW50IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLWksIC0tbm9oZWFkaW5ncyAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIEpTT04iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgIHRvdXQgZmFpcmUgc2F1ZiBsJ2FwcGVsIGQnw6ljcml0dXJlIMOgIHdyaXRlKCkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bmJyPiAgIGluZGV4IMOgIGVmZmFjZXIsIGVuIG9jdGV0cyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTUKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxsaXN0PiBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGxpc3RlPiBjb2xvbm5lcyDDoCBhZmZpY2hlciAodm9pciBjaS1kZXNzb3VzKSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTYKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgLXAsIC0tcGFyc2FibGUgICAgICBhZmZpY2hlciBhdSBmb3JtYXQgYW5hbHlzYWJsZSBhdSBsaWV1IGR1IGZvcm1hdCBkJ2FmZmljaGFnZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByaW1lciBsZXMgbWVzc2FnZXMgZGUgc29ydGllIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxOAorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlcyIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0ZT4gbGltaXRlciBsJ2Vuc2VtYmxlIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVycywgUkFJRCBvdSB0YWJsZXMgZGUgcGFydGl0aW9ucyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo3MjQKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiTCdvcHRpb24gLS1iYWNrdXAgbuKAmWEgcGFzIGRlIHNlbnMgZGFucyBjZSBjb250ZXh0ZS4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTW9udHJlciBvdSBtb2RpZmllciBsZXMgYXR0cmlidXRzIGTigJlvcmRvbm5hbmNlbWVudCB0ZW1wcyByw6llbCBkJ3VuIHByb2Nlc3N1cy5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisiRMOpZmluaXIgbGEgc3RyYXTDqWdpZcKgOlxuIgorIiAgY2hydCBbb3B0aW9uc10gPHByaW9yaXTDqT4gPGNvbW1hbmRlPiBbPGFyZz4uLi5dXG4iCisiICBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdMOpPiA8UElEPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIkxpcmUgbGEgc3RyYXTDqWdpZcKgOlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8UElEPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3B0aW9ucyBkZSBzdHJhdMOpZ2llwqA6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiAtYiwgLS1iYXRjaCAgICAgICAgICBjaG9pc2lyIGxhIHN0cmF0w6lnaWUgU0NIRURfQkFUQ0hcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYWRsaW5lICAgICAgIGNob2lzaXIgbGEgc3RyYXTDqWdpZSBTQ0hFRF9ERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtZiwgLS1maWZvICAgICAgICAgICBjaG9pc2lyIGxhIHN0cmF0w6lnaWUgU0NIRURfRklGT1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtaSwgLS1pZGxlICAgICAgICAgIGNob2lzaXIgbGEgc3RyYXTDqWdpZSBTQ0hFRF9JRExFXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS1vdGhlciAgICAgICAgIGNob2lzaXIgbGEgc3RyYXTDqWdpZSBTQ0hFRF9PVEhFUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1yLCAtLXJyICAgICAgICAgICAgIGNob2lzaXIgbGEgc3RyYXTDqWdpZSBTQ0hFRF9SUiAocGFyIGTDqWZhdXQpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3B0aW9ucyBk4oCZb3Jkb25uYW5jZW1lbnTCoDpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgY29uZmlndXJlciBTQ0hFRF9SRVNFVF9PTl9GT1JLIHBvdXIgRklGTyBvdSBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcGFyYW3DqHRyZSBkZSBkdXLDqWUgZCdleMOpY3V0aW9uIHBvdXIgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGFyYW3DqHRyZSBkZSBww6lyaW9kZSBwb3VyIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gcGFyYW3DqHRyZSBkZSBkYXRlIGxpbWl0ZSBwb3VyIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIkF1dHJlcyBvcHRpb25zwqA6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsLXRhc2tzICAgICAgYWdpciBzdXIgdG91dGVzIGxlcyB0w6JjaGVzICh0aHJlYWRzKSBwb3VyIHVuIHBpZCBkb25uw6lcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4ICAgICAgICAgICAgYWZmaWNoZXIgbGVzIHByb3ByacOpdMOpcyBtaW4gZXQgbWF4IHZhbGlkZXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICBhZ2lyIHN1ciBsZXMgcGlkIGV4aXN0YW50c1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZOKAmcOpdGF0XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkZSBsYSBzdHJhdMOpZ2llIGQnZXjDqWN1dGlvbiBkdSBQSUTCoCVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGVzIGF0dHJpYnV0cyBkdSBQSUTCoCVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAibm91dmVsbGUgc3RyYXTDqWdpZSBkZSBwbGFuaWZpY2F0aW9uIHBvdXIgbGUgUElEICVkwqA6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInN0cmF0w6lnaWUgZOKAmW9yZG9ubmFuY2VtZW50IGFjdHVlbGxlIHBvdXIgbGUgUElEwqAlZMKgOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJub3V2ZWxsZSBwcmlvcml0w6kgZGUgcGxhbmlmaWNhdGlvbiBwb3VyIGxlIFBJRMKgJWTCoDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicHJpb3JpdMOpIGRlIHBsYW5pZmljYXRpb24gYWN0dWVsbGUgcG91ciBsZSBQSUTCoCVkwqA6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAibm91dmVhdXggcGFyYW3DqHRyZXMgZGUgZHVyw6llIGQnZXjDqWN1dGlvbiAvIGRhdGUgbGltaXRlIC8gcMOpcmlvZGUgZHUgUElEICVkwqA6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBhcmFtw6h0cmVzIGRlIGR1csOpZSBkJ2V4w6ljdXRpb24gLyBkYXRlIGxpbWl0ZSAvIHDDqXJpb2RlIGR1IFBJRMKgJWTCoDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxhIGxpc3RlIGRlcyB0w6JjaGVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJwcm9wcmnDqXTDqSBtaW4vbWF4ICVzXHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICIlcyBub24gcHJpcyBlbiBjaGFyZ2XCoD9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZSBzdHJhdMOpZ2llIGQnZXjDqWN1dGlvbiBkdSBUSUTCoCVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIsOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGRlIHN0cmF0w6lnaWUgZCdleMOpY3V0aW9uIGR1IFBJRMKgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgZHVyw6llIGQnZXjDqWN1dGlvbiBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBww6lyaW9kZSBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIGRhdGUgbGltaXRlIGluY29ycmVjdCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE1Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgcHJpb3JpdMOpIGluY29ycmVjdCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIi0tcmVzZXQtb24tZm9yayBlc3QgcHJpcyBlbiBjaGFyZ2UgdW5pcXVlbWVudCBwb3VyIGxlcyBzdHJhdMOpZ2llcyBTQ0hFRF9GSUZPIGV0IFNDSEVEX1JSIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjQKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICJsZXMgb3B0aW9ucyAtLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gc29udCB1bmlxdWVtZW50IHN1cHBvcnTDqWVzIHBvdXIgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUzOQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF9ERUFETElORSBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgInZhbGV1ciBkZSBwcmlvcml0w6kgbm9uIHN1cHBvcnTDqWUgcG91ciBsYSBzdHJhdMOpZ2llwqA6ICVkwqA6IHZveWV6IC0tbWF4IHBvdXIgbGEgcGxhZ2UgdmFsaWRlIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8KgaW9wcmlvX2dldMKgwrsiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzwqA6IHByaW9yaXTDqcKgJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGZvbmN0aW9uIMKrwqBpb3ByaW9fc2V0wqDCuyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPFBJRD4gLi4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxQR0lEPiAuLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPFVJRD4gLi4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kZT5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTW9udHJlciBvdSBtb2RpZmllciBsYSBjbGFzc2UgZXQgbGEgcHJpb3JpdMOpIGTigJlvcmRvbm5hbmNlbWVudCBk4oCZZW50csOpZXMgZXQgc29ydGllcyBkJ3VuIHByb2Nlc3N1cy5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisiICAtYywgLS1jbGFzcyA8Y2xhc3NlPiAgbm9tIG91IG51bcOpcm8gZGUgY2xhc3NlIGTigJlvcmRvbm5hbmNlbWVudFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMMKgOiBhdWN1bmUsIDHCoDogdGVtcHMgcsOpZWwsIDLCoDogYXUgbWlldXgsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAzwqA6IGF1IHJhbGVudGlcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTYKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisiICAtbiwgLS1jbGFzc2RhdGEgPG5icj4gcHJpb3JpdMOpICgwLTcpIGRhbnMgbGVzIGNsYXNzZXMgZOKAmW9yZG9ubmFuY2VtZW50XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRpcXXDqWVzLCBwb3VyIGxlcyBjbGFzc2VzIHRlbXBzIHLDqWVsIGV0IGF1IG1pZXV4XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8UElEPiAuLi4gICAgYWdpciBzdXIgY2VzIHByb2Nlc3N1cyBkw6lqw6AgZW4gY291cnMgZCdleMOpY3V0aW9uXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKyIgLVAsIC0tcGdpZCA8UEdJRD4gLi4uICBhZ2lyIHN1ciBsZXMgcHJvY2Vzc3VzIGTDqWrDoCBlbiBjb3VycyBkJ2V4w6ljdXRpb24gZGFuc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY2VzIGdyb3VwZXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlciBsZXMgw6ljaGVjc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKyIgLXUsIC0tdWlkIDxVSUQ+IC4uLiAgICBhZ2lyIHN1ciBsZXMgcHJvY2Vzc3VzIGTDqWrDoCBlbiBjb3VycyBkJ2V4w6ljdXRpb25cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGFwcGFydGVuYW50IMOgIGNlcyB1dGlsaXNhdGV1cnNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGRlIGRvbm7DqWVzIGRlIGNsYXNzZSBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgY2xhc3NlIGluY29ycmVjdCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICJjbGFzc2UgZGUgcGxhbmlmaWNhdGlvbiBpbmNvbm51ZcKgOiDCq8KgJXPCoMK7IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJuZSBwZXV0IHRyYWl0ZXIgcXUndW4gUElELCBQR0lEIG91IFVJRCDDoCBsYSBmb2lzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgUEdJRCBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IFVJRCBpbmNvcnJlY3QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiZG9ubsOpZXMgZGUgY2xhc3NlIGlnbm9yw6llcyBwb3VyIGxhIHByaW9yaXTDqSDCq8KgYXVjdW5lwqDCuyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICJkb25uw6llcyBkZSBjbGFzc2UgcG91ciBsYSBjbGFzc2UgYXUgcmFsZW50aSBpZ25vcsOpZXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiY2xhc3NlIGRlIHByaW9yaXTDqcKgJWQgaW5jb25udWUiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIlV0aWxpc2F0aW9uwqA6ICVzIFtvcHRpb25zXSBbbWFzcXVlIHwgbGlzdGUgZGUgcHJvY2Vzc2V1cnMgXSBbUElEfGNtZCBbYXJnIC4uLl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk1vbnRyZXIgb3UgbW9kaWZpZXIgbCdhZmZpbml0w6kgcHJvY2Vzc2V1ciBkJ3VuIHByb2Nlc3N1cy5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisiT3B0aW9uc8KgOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBhZ2lyIHN1ciB0b3V0ZXMgbGVzIHTDomNoZXMgKHRocmVhZHMpIGQndW4gUElEIGRvbm7DqVxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBhZ2lyIHN1ciBsZXMgUElEIGRvbm7DqXMgZXhpc3RhbnRzXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGFmZmljaGVyIGV0IGluZGlxdWVyIGxlcyBwcm9jZXNzZXVycyBhdSBmb3JtYXQgbGlzdGVcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJMZSBjb21wb3J0ZW1lbnQgcGFyIGTDqWZhdXQgZXN0IGRlIGxhbmNlciB1bmUgbm91dmVsbGUgY29tbWFuZGXCoDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJMZSBtYXNxdWUgZCd1bmUgdGFjaGUgZXhpc3RhbnRlIHBldXQgw6p0cmUgcmV0cm91dsOpwqA6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Ugw6p0cmUgY29uZmlndXLDqcKgOlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxlIGZvcm1hdCBkZSBsaXN0ZSB1dGlsaXNlIHVuZSBsaXN0ZSBzw6lwYXLDqWUgcGFyIGRlcyB2aXJndWxlcyBwbHV0w7R0IHF1J3VuIG1hc3F1ZcKgOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJMZXMgaW50ZXJ2YWxsZXMgYXUgZm9ybWF0IGRlIGxpc3RlIHBldXZlbnQgcHJlbmRyZSB1biBhcmd1bWVudCBzdHJpZGXCoDpcbiIKKyIgICAgcGFyIGV4ZW1wbGUgMC0zMToyIGVzdCDDqXF1aXZhbGVudCBhdSBtYXNxdWUgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAibm91dmVsbGUgbGlzdGUgZCdhZmZpbml0w6lzIGR1IFBJRMKgJWTCoDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJsaXN0ZSBkJ2FmZmluaXTDqXMgYWN0dWVsbGUgZHUgUElEwqAlZMKgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAibm91dmVhdSBtYXNxdWUgZCdhZmZpbml0w6kgZHUgUElEwqAlZMKgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIm1hc3F1ZSBkJ2FmZmluaXTDqSBhY3R1ZWwgZHUgUElEwqAlZMKgOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJlcnJldXIgaW50ZXJuZcKgOiDDqWNoZWMgZGUgY29udmVyc2lvbiBkZSBjcHVzZXQgdmVycyB1bmUgY2hhw65uZSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIsOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGQnYWZmaW5pdMOpIGR1IFBJRMKgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZCdhZmZpbml0w6kgZHUgUElEwqAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImltcG9zc2libGUgZGUgZMOpdGVybWluZXIgTlJfQ1BVU8KgOyBhbm51bGF0aW9uIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDQgc2NoZWR1dGlscy90YXNrc2V0LmM6MjE3IHN5cy11dGlscy9jaGNwdS5jOjI5OAorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjcHVzZXRfYWxsb2MiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNCBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSBsaXN0ZSBkZSBwcm9jZXNzZXVyc8KgOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgbWFzcXVlIGRlIHByb2Nlc3NldXLCoDogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzwqA6ICU8UFJJdTY0PsKgb2N0ZXRzIHJlbXBsaXMgZGUgesOpcm9zIMOgIHBhcnRpciBkZSBsYSBwb3NpdGlvbiAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzwqA6ICU8UFJJdTY0PsKgb2N0ZXRzIGFiYW5kb25uw6lzIMOgIHBhcnRpciBkZSBsYSBwb3NpdGlvbiAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4OAorbXNnaWQgIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIKK21zZ3N0ciAiQWJhbmRvbm5lciBsZSBjb250ZW51IGRlcyBzZWN0ZXVycyBzdXIgdW4gcMOpcmlwaMOpcmlxdWUuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBlbiBvY3RldHMgw6AgcGFydGlyIGR1cXVlbCBhYmFuZG9ubmVyXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbG9uZ3VldXIgZW4gb2N0ZXRzIMOgIGFiYW5kb25uZXIgw6AgcGFydGlyIGRlIGwnb2Zmc2V0XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1wLCAtLXN0ZXAgPG51bT4gICAgdGFpbGxlIGRlcyBpdMOpcmF0aW9ucyBhYmFuZG9ubsOpZXMgcG91ciBsJ29mZnNldFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLXMsIC0tc2VjdXJlICAgICAgICByw6lhbGlzZXIgdW4gYWJhbmRvbiBkZSBzw6ljdXJpc2F0aW9uXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLXosIC0temVyb291dCAgICAgICByZW1wbGFjZXIgcGFyIGRlcyB6w6lyb3MgYXUgbGlldSBk4oCZYWJhbmRvbm5lclxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICBpbXByaW1lciBsYSBsb25ndWV1ciBhbGlnbsOpZSBldCBsJ29mZnNldFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIHBvc2l0aW9uIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IHBhcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzYgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3MworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTExIHN5cy11dGlscy9mc3RyaW0uYzozMzYKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm5vbWJyZSBkJ2FyZ3VtZW50cyBpbmF0dGVuZHUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdpb2N0bCBCTEtHRVRTSVpFNjQgaW9jdGwiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdpb2N0bCBCTEtTU1pHRVQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlc8KgOiBs4oCZaW5kZXggJTxQUkl1NjQ+IG7igJllc3QgcGFzIGFsaWduw6kgc3VyIHVuZSB0YWlsbGUgZGUgc2VjdGV1ciAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzwqA6IHBvc2l0aW9uIGF1LWRlbMOgIGRlIGxhIHRhaWxsZSBkdSBww6lyaXBow6lyaXF1ZSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzwqA6IGxhIHRhaWxsZSAlPFBSSXU2ND4gbuKAmWVzdCBwYXMgYWxpZ27DqWUgc3VyIHVuZSB0YWlsbGUgZGUgc2VjdGV1ciAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc8KgOiBCTEtaRVJPT1VUIGlvY3RsIMOpY2hvdcOpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2lvY3RsIEJMS1NFQ0RJU0NBUkQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnaW9jdGwgQkxLRElTQ0FSRCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIlJhcHBvcnRlciBsZXMgaW5mb3JtYXRpb25zIGRlIHpvbmUgYXUgc3VqZXQgZHUgcMOpcmlwaMOpcmlxdWUgZG9ubsOpIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjc0Cittc2dpZCAiUmVzZXQgYSByYW5nZSBvZiB6b25lcy4iCittc2dzdHIgIlLDqWluaXRpYWxpc2VyIHVuZSBwbGFnZSBkZSB6b25lcy4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgaW9jdGwgYmxrZGV2X2dldF9zZWN0b3JzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgZMOpdGVybWluZXIgbGEgdGFpbGxlIGRlIGxhIHpvbmUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGlvY3RsIEJMS1JFUE9SVFpPTkUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvdW5kICVkIHpvbmVzIGZyb20gMHglPFBSSXg2ND5cbiIKK21zZ3N0ciAiJWQgem9uZXMgdHJvdXbDqWVzIMOgIHBhcnRpciBkZSAweCU8UFJJeDY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZW4gMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKK21zZ3N0ciAiICBkw6lidXQ6IDB4JTA5PFBSSXg2ND4sIGxvbmcgMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiJXPCoDogbCdpbmRleCAlPFBSSXU2ND4gbuKAmWVzdCBwYXMgYWxpZ27DqSBzdXIgbGEgdGFpbGxlIGRlIGxhIHpvbmUgJWx1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzwqA6IGxlIG5vbWJyZSBkZSBzZWN0ZXVycyAlPFBSSXU2ND4gbuKAmWVzdCBwYXMgYWxpZ27DqSBzdXIgbGEgdGFpbGxlIGRlIGxhIHpvbmUgJWx1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGlvY3RsIEJMS1JFU0VUWk9ORSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICIlc8KgOiByw6lpbml0aWFsaXNhdGlvbiByw6l1c3NpZSBkYW5zIGxhIHBsYWdlIGRlICU8UFJJdTY0PiDDoCAlPFBSSXU2ND4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxww6lyaXBow6lyaXF1ZT5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDIKK21zZ2lkICJSdW4gem9uZSBjb21tYW5kIG9uIHRoZSBnaXZlbiBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIkV4w6ljdXRlciBsYSBjb21tYW5kZSBkZSB6b25lIHN1ciBsZSBww6lyaXBow6lyaXF1ZSBibG9jIGRvbm7DqS5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHNlY3RldXI+ICBzZWN0ZXVyIGRlIGTDqWJ1dCBkZSB6b25lIMOgIHV0aWxpc2VyIChkYW5zIGxlcyBzZWN0ZXVycyBkZSA1MTIgb2N0ZXRzKVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMAorbXNnaWQgIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPHNlY3RldXJzPiBzZWN0ZXVycyBtYXhpbXVtIHN1ciBsZXNxdWVscyBhZ2lyIChkYW5zIGxlcyBzZWN0ZXVycyBkZSA1MTIgb2N0ZXRzKVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorbXNnaWQgIiAtYywgLS1jb3VudCA8bnVtYmVyPiAgIG1heGltdW0gbnVtYmVyIG9mIHpvbmVzXG4iCittc2dzdHIgIiAtYywgLS1jb3VudCA8bm9tYnJlPiAgICBub21icmUgbWF4aW11bSBkZSB6b25lc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBhZmZpY2hlciBwbHVzIGRlIGTDqXRhaWxzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBub20gZGUgY29tbWFuZGUgdmFsYWJsZSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IG5vbWJyZSBkZSB6b25lcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgbm9tYnJlIGRlIHNlY3RldXJzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBkw6ljYWxhZ2UgZGUgem9uZSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgImF1Y3VuZSBjb21tYW5kZSBpbmRpcXXDqWUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImxlIHByb2Nlc3NldXLCoCV1IG4nZXhpc3RlIHBhcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJsZSBwcm9jZXNzZXVywqAldSBuZSBwZXV0IHBhcyDDqnRyZSBicmFuY2jDqSDDoCBjaGF1ZCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJsZSBwcm9jZXNzZXVywqAldSBlc3QgZMOpasOgIGFjdGl2w6lcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgImxlIHByb2Nlc3NldXLCoCV1IGVzdCBkw6lqw6AgZMOpc2FjdGl2w6lcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiw4ljaGVjIGQnYWN0aXZhdGlvbiBkdSBwcm9jZXNzZXVywqAldSAobGUgcHJvY2Vzc2V1ciBlc3QgZMOpY29uZmlndXLDqSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGQnYWN0aXZhdGlvbiBkdSBwcm9jZXNzZXVywqAldSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgInByb2Nlc3NldXLCoCV1IGFjdGl2w6lcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIsOJY2hlYyBkZSBkw6lzYWN0aXZhdGlvbiBkdSBwcm9jZXNzZXVywqAldSAoZGVybmllciBwcm9jZXNzZXVyIGFjdGl2w6kpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZGUgZMOpc2FjdGl2YXRpb24gZHUgcHJvY2Vzc2V1csKgJXUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAicHJvY2Vzc2V1csKgJXUgZMOpc2FjdGl2w6lcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIkNlIHN5c3TDqG1lIG5lIHBlcm1ldCBwYXMgZGUgcmVjaGVyY2hlciBsZXMgcHJvY2Vzc2V1cnMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICLDiWNoZWMgZHUgZMOpY2xlbmNoZW1lbnQgZGUgcmVjaGVyY2hlIGRlIHByb2Nlc3NldXJzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIlJlY2hlcmNoZSBkZSBwcm9jZXNzZXVycyBkw6ljbGVuY2jDqWVcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIkNlIHN5c3TDqG1lIG5lIHBlcm1ldCBwYXMgZGUgY29uZmlndXJlciBsZSBtb2RlIGRpc3RyaWJ1w6kgZGVzIHByb2Nlc3NldXJzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiw4ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZHUgbW9kZSBkaXN0cmlidcOpIGhvcml6b250YWwiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJDb25maWd1cmF0aW9uIGR1IG1vZGUgZGlzdHJpYnXDqSBob3Jpem9udGFsIHLDqXVzc2llXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiw4ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZHUgbW9kZSBkaXN0cmlidcOpIHZlcnRpY2FsIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIkNvbmZpZ3VyYXRpb24gZHUgbW9kZSBkaXN0cmlidcOpIHZlcnRpY2FsIHLDqXVzc2llXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiTGUgcHJvY2Vzc2V1csKgJXUgbidlc3QgcGFzIGNvbmZpZ3VyYWJsZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiTGUgcHJvY2Vzc2V1csKgJXUgZXN0IGTDqWrDoCBjb25maWd1csOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiTGUgcHJvY2Vzc2V1csKgJXUgZXN0IGTDqWrDoCBkw6ljb25maWd1csOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIsOJY2hlYyBkZSBkw6ljb25maWd1cmF0aW9uIGR1IHByb2Nlc3NldXLCoCV1IChsZSBwcm9jZXNzZXVyIGVzdCBhY3RpdsOpKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZGUgY29uZmlndXJhdGlvbiBkdSBwcm9jZXNzZXVywqAldSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgInByb2Nlc3NldXLCoCV1IGNvbmZpZ3Vyw6lcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkZSBkw6ljb25maWd1cmF0aW9uIGR1IHByb2Nlc3NldXLCoCV1IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJwcm9jZXNzZXVywqAldSBkw6ljb25maWd1csOpXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJudW3DqXJvIGRlIHByb2Nlc3NldXIgaW5jb3JyZWN0IGRhbnMgbGEgbGlzdGUgZGUgcHJvY2Vzc2V1csKgOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVdGlsaXNhdGlvbsKgOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICJDb25maWd1cmVyIGxlcyBwcm9jZXNzZXVycyBkYW5zIHVuIHN5c3TDqG1lIG11bHRpcHJvY2Vzc2V1ci5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ3Cittc2dpZCAiIgorIiAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCittc2dzdHIgIiIKKyIgIC1lLCAtLWVuYWJsZSA8bGlzdGU+ICAgICAgICAgYWN0aXZlciBsZXMgcHJvY2Vzc2V1cnNcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGxpc3RlPiAgICAgICAgZMOpc2FjdGl2ZXIgbGVzIHByb2Nlc3NldXJzXG4iCisiICAtYywgLS1jb25maWd1cmUgPGxpc3RlPiAgICAgIGNvbmZpZ3VyZXIgbGVzIHByb2Nlc3NldXJzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8bGlzdGU+ICAgIGTDqWNvbmZpZ3VyZXIgbGVzIHByb2Nlc3NldXJzXG4iCisiICAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgIGNvbmZpZ3VyZXIgbGUgbW9kZSBkaXN0cmlidcOpXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgIGTDqWNsZW5jaGVyIGxhIHJlY2hlcmNoZSBkZSBwcm9jZXNzZXVyc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCBub24gcHJpcyBlbiBjaGFyZ2XCoDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIkJsb2MgTcOpbW9pcmUgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEyNCBzeXMtdXRpbHMvY2htZW0uYzoxOTcKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbCdpbmRleCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiTCdhY3RpdmF0aW9uIGRlICVzIGEgw6ljaG91w6lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkXG4iCittc2dzdHIgIkxhIGTDqXNhY3RpdmF0aW9uIGRlICVzIGEgw6ljaG91w6lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgIiVzIGFjdGl2w6lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU4IHN5cy11dGlscy9jaG1lbS5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlZFxuIgorbXNnc3RyICIlcyBkw6lzYWN0aXbDqVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICJOJ2EgcHUgYWN0aXZlciBxdWUgJXMgZGUgbcOpbW9pcmUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICJOJ2EgcHUgZMOpc2FjdGl2ZXIgcXVlICVzIGRlIG3DqW1vaXJlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIiVzIGVzdCBkw6lqw6AgYWN0aXbDqVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICIlcyBlc3QgZMOpasOgIGTDqXNhY3RpdsOpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJMJ2FjdGl2YXRpb24gZGUgJXMgYSDDqWNob3XDqTogRMOpc2FjY29yZCBkZSB6b25lIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkxhIGTDqXNhY3RpdmF0aW9uIGRlICVzIGEgw6ljaG91w6k6IETDqXNhY2NvcmQgZGUgem9uZSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkwnYWN0aXZhdGlvbiBkZSAlcyBhIMOpY2hvdcOpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkxhIGTDqXNhY3RpdmF0aW9uIGRlICVzIGEgw6ljaG91w6kiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI2NiBzeXMtdXRpbHMvbHNtZW0uYzo0NzYgc3lzLXV0aWxzL2xzbWVtLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICLDiWNoZWMgZGUgbGVjdHVyZSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAiw4ljaGVjIGQnYW5hbHlzZSBkdSBudW3DqXJvIGRlIGJsb2MiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICLDiWNoZWMgZCdhbmFseXNlIGRlIGxhIHRhaWxsZSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemUgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIkxhIHRhaWxsZSBkb2l0IMOqdHJlIGFsaWduw6llIHN1ciB1bmUgdGFpbGxlIGRlIGJsb2MgbcOpbW9pcmUgKCVzKSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkyCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLDiWNoZWMgZCdhbmFseXNlIGR1IGTDqWJ1dCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiw4ljaGVjIGQnYW5hbHlzZSBkZSBsYSBmaW4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAiRm9ybWF0IGTigJlhZHJlc3NlIGRlIGTDqWJ1dCBpbmNvcnJlY3RlwqA6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBlbmQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJGb3JtYXQgZOKAmWFkcmVzc2UgZGUgZMOpYnV0IGluY29ycmVjdGXCoDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICLDiWNoZWMgZCdhbmFseXNlIGRlIGwnYWRyZXNzZSBkZSBkw6lidXQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiw4ljaGVjIGQnYW5hbHlzZSBkZSBsJ2FkcmVzc2UgZGUgZmluIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIkwnYWRyZXNzZSBkZSBkw6lwYXJ0IGV0IChsJ2FkcmVzc2UgZGUgZmluICsgMSkgZG9pdmVudCDDqnRyZSBhbGlnbsOpZXMgc3VyIHVuZSB0YWlsbGUgZGUgYmxvYyBtw6ltb2lyZSAoJXMpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJhbWV0ZXI6ICVzIgorbXNnc3RyICJQYXJhbcOodHJlIGluY29ycmVjdMKgOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICJJbnRlcnZhbGxlIGluY29ycmVjdMKgOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1NJWkV8UkFOR0V8QkxPQ0tSQU5HRV1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbVEFJTExFfElOVEVSVkFMTEV8SU5URVJWQUxMRUJMT0NdXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNworbXNnaWQgIlNldCBhIHBhcnRpY3VsYXIgc2l6ZSBvciByYW5nZSBvZiBtZW1vcnkgb25saW5lIG9yIG9mZmxpbmUuXG4iCittc2dzdHIgIkTDqWZpbmlyIHVuZSB0YWlsbGUgb3UgdW5lIHBsYWdlIGRlIG3DqW1vaXJlIHBhcnRpY3VsacOocmUgZW4gbGlnbmUgb3UgaG9ycyBsaWduZS5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQwCittc2dpZCAiIC1lLCAtLWVuYWJsZSAgICAgICBlbmFibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtZSwgLS1lbmFibGUgICAgICAgYWN0aXZlciBsYSBtw6ltb2lyZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtZCwgLS1kaXNhYmxlICAgICAgZMOpc2FjdGl2ZXIgbGEgbcOpbW9pcmVcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQyCittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzICAgICAgIHV0aWxpc2VyIGxlcyBibG9jcyBtw6ltb2lyZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIgLXosIC0tem9uZSA8bm9tPiAgIHPDqWxlY3Rpb25uZXIgbGEgem9uZSBtw6ltb2lyZSAodm9pciBjaS1kZXNzb3VzKVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgbW9kZSBiYXZhcmRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlpvbmVzIHN1cHBvcnTDqWVzwqA6XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgInpvbmUgaWdub3LDqWUsIGF1Y3VuIGF0dHJpYnV0IHN5c2ZzIHZhbGlkX3pvbmVzIHByw6lzZW50IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgInpvbmUgbcOpbW9pcmUgaW5jb25udWXCoDogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIgJXMgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICJEw6lmaW5pciBsYSBmb25jdGlvbiBkZSBsYSBjb21iaW5haXNvbiBDdHJsLUFsdC1TdXBwci5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICJpbXBsaWNpdGUiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJ2YWxldXIgaW5hdHRlbmR1ZSBkYW5zICVzwqA6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIlZvdXMgZGV2ZXogw6p0cmUgc3VwZXJ1dGlsaXNhdGV1ciBwb3VyIGFjdGl2ZXIgbGUgY29tcG9ydGVtZW50IGRlIEN0cmwtQWx0LVN1cHByLiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTUgc3lzLXV0aWxzL2lwY3JtLmM6NDE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCBpbmNvbm51wqA6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgImxlIHN5c3TDqG1lIGVzdCBpbnV0aWxpc2FibGUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJpbCBmYXV0IGFnaXIgaW1tw6lkaWF0ZW1lbnQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpdGlvbnMgY3JpdGlxdWVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJjb25kaXRpb25zIGQnZXJyZXVyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpdGlvbnMgZCdhdmVydGlzc2VtZW50IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiY29uZGl0aW9uIG5vcm1hbGUgbWFpcyBzaWduaWZpY2F0aXZlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICJpbmZvcm1hdGlvbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIm1lc3NhZ2VzIGR1IG5pdmVhdSBkZSBkw6lib2dhZ2UiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAibWVzc2FnZXMgZHUgbm95YXUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJtZXNzYWdlcyB1dGlsaXNhdGV1ciBhbMOpYXRvaXJlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgInN5c3TDqG1lIGRlIGNvdXJyaWVyIMOpbGVjdHJvbmlxdWUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICJkw6ltb25zIGR1IHN5c3TDqG1lIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICJtZXNzYWdlIGRlIHPDqWN1cml0w6kgb3UgYXV0b3Jpc2F0aW9uIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJtZXNzYWdlIGludGVybmUgZGUgc3lzbG9nZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAibWVzc2FnZSBkdSBzb3VzLXN5c3TDqG1lIGQnaW1wcmVzc2lvbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAic291cy1zeXN0w6htZSBkZSBub3V2ZWxsZXMgcsOpc2VhdSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgInNvdXMtc3lzdMOobWUgVVVDUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJkw6ltb24gaG9yYWlyZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIm1lc3NhZ2UgZGUgc8OpY3VyaXTDqSBvdSBhdXRvcmlzYXRpb24gKHByaXbDqSkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgImTDqW1vbiBGVFAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICJBZmZpY2hlciBldCBjb250csO0bGVyIGxlIHRhbXBvbiBjaXJjdWxhaXJlIGR1IG5veWF1LlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICB2aWRlciBsZSB0YW1wb24gY2lyY3VsYWlyZSBkdSBub3lhdVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIGxpcmUgZXQgZWZmYWNlciB0b3VzIGxlcyBtZXNzYWdlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGTDqXNhY3RpdmVyIGwnYWZmaWNoYWdlIGRlcyBtZXNzYWdlcyBlbiBjb25zb2xlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBhY3RpdmVyIGwnYWZmaWNoYWdlIGRlcyBtZXNzYWdlcyBlbiBjb25zb2xlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKyIgLUYsIC0tZmlsZSA8ZmljaGllcj4gICAgICAgIHV0aWxpc2VyIGxlIGZpY2hpZXIgw6AgbGEgcGxhY2UgZHUgdGFtcG9uIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpvdXJuYWwgZHUgbm95YXVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdGU+ICAgICAgcmVzdHJlaW5kcmUgbGEgc29ydGllIGF1eCBzZXJ2aWNlcyBpbmRpcXXDqXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBzb3J0aWUgbGlzaWJsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIG1lc3NhZ2VzIGR1IG5veWF1XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08cXVhbmQ+XSAgICAgICBtZXNzYWdlcyBlbiBjb3VsZXVyIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8bGlzdGU+ICAgICAgICAgcmVzdHJlaW5kcmUgbGEgc29ydGllIGF1eCBuaXZlYXV4IGluZGlxdcOpc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPG5pdi4+ICBjb25maWd1cmVyIGxlIG5pdmVhdSBkZXMgbWVzc2FnZXMgYWZmaWNow6lzIGVuIGNvbnNvbGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgbmUgcGFzIHJlbnZveWVyIGxhIHNvcnRpZSBkYW5zIHVuIHZpc3VhbGlzZXVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlciBsYSBzb3J0aWUgaG9yb2RhdMOpZSBzdXIgY2hhcXVlIGxpZ25lIGRlcyBtZXNzYWdlcyBtdWx0aS1saWduZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGUgdGFtcG9uIGRlIG1lc3NhZ2UgYnJ1dFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlciBsJ3V0aWxpc2F0aW9uIGRlIHN5c2xvZygyKSDDoCBsYSBwbGFjZSBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tYnVmZmVyLXNpemUgPHRhaWxsZT4gIHRhaWxsZSBkdSB0YW1wb24gcG91ciBkZW1hbmRlciBsZSB0YW1wb24gY2lyY3VsYWlyZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdSBub3lhdVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIG1lc3NhZ2VzIGVuIGVzcGFjZSB1dGlsaXNhdGV1clxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIGF0dGVuZHJlIGxlcyBub3V2ZWF1eCBtZXNzYWdlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZMOpY29kZXIgbGUgc2VydmljZSBldCBsZSBuaXZlYXUgZW4gY2hhw65uZXMgbGlzaWJsZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgbW9udHJlciBsYSBkaWZmLiBkZSB0ZW1wcyBlbnRyZSBtZXNzYWdlcyBhZmZpY2jDqXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIG1vbnRyZXIgbGEgZGF0ZSBsb2NhbGUgZXQgbGEgZGlmZsOpcmVuY2UgZGUgdGVtcHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gZm9ybWF0IGxpc2libGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIGFmZmljaGVyIGwnaG9yb2RhdGFnZSBsaXNpYmxlIHBhciBsJ3V0aWxpc2F0ZXVyIChwZXV0LcOqdHJlIGluZXhhY3RlISlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk2Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBsJ2hvcm9kYXRhZ2UgYXZlYyBkZXMgbWVzc2FnZXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIGFmZmljaGVyIGwnaG9yb2RhdGFnZSBhdSBmb3JtYXTCoDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJMYSBtaXNlIGVuIHZlaWxsZSBldCBsZSByw6l2ZWlsIHJlbmRyb250IGN0aW1lIGV0IGzigJlob3JvZGF0YWdlIElTTyBpbmV4YWN0KS5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAyCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlcnZpY2VzIGRlIGpvdXJuYWxpc2F0aW9uIHBvc3NpYmxlc8KgOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiTml2ZWF1eCBkZSBqb3VybmFsaXNhdGlvbiBwb3NzaWJsZXMgKHByaW9yaXTDqXMpwqA6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBuaXZlYXUgwqvCoCVzwqDCuyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAibml2ZWF1IMKrwqAlc8KgwrsgaW5jb25udSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIHNlcnZpY2UgwqvCoCVzwqDCuyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAic2VydmljZSDCq8KgJXPCoMK7IGluY29ubnUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIsOpY2hlYyBkZSBtbWFwwqA6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgdGFpbGxlIGR1IHRhbXBvbiBpbmNvcnJlY3QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXNob3ctZGVsdGEgZXN0IGlnbm9yw6kgcXVhbmQgdXRpbGlzw6kgYXZlYyB1biBmb3JtYXQgZOKAmWhldXJlIElTT8KgODYwMSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUxMQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICItLXJhdyBuZSBwZXV0IMOqdHJlIHV0aWxpc8OpZSBhdmVjIGxlcyBvcHRpb25zIC0tbGV2ZWwgb3UgLS1mYWNpbGl0eSBxdeKAmWVuIGxpc2FudCBsZXMgbWVzc2FnZXMgZGUgL2Rldi9rbXNnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZHUgdGFtcG9uIGRlIG5veWF1IgorCisjIGRpc2stdXRpbHMvbWtzd2FwLmM6NjIzCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBmb25jdGlvbiBrbG9nY3RsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFs8cMOpcmlwaMOpcmlxdWU+fDxwb2ludCBkZSBtb250YWdlPl1cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM4Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICLDiWplY3RlciB1biBzdXBwb3J0IGFtb3ZpYmxlLlxuIgorCisjIE5PVEU6IHMvYW5vdGhlci9vdGhlci8KKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MQorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgYWN0aXZlciBvdSBkw6lzYWN0aXZlciBmb25jdGlvbm5hbGl0w6kgZCdhdXRvw6lqZWN0aW9uXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxkaXNxdWU+ICBjaGFuZ2VyIGRlIGRpc3F1ZSBzdXIgdW4gY2hhcmdldXIgZGUgQ0RcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGFmZmljaGVyIGxlIHDDqXJpcGjDqXJpcXVlIHBhciBkw6lmYXV0XG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICDDqWplY3RlciBsYSBkaXNxdWV0dGVcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGlnbm9yZXIgbGUgdHlwZSBkZSBww6lyaXBow6lyaXF1ZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgYWN0aXZlciwgZMOpc2FjdGl2ZXIgcHJvdGVjdGlvbiBtYW51ZWxsZSBkJ8OpamVjdGlvblxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgbmUgcGFzIGTDqW1vbnRlciBsZSBww6lyaXBow6lyaXF1ZSBtw6ptZSBzJ2lsIGVzdCBtb250w6lcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IG5lIHBhcyBkw6ltb250ZXIgZCdhdXRyZXMgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgbmUgcGFzIMOpamVjdGVyLCBtb250cmVyIHNldWxlbWVudCBsZSBww6lyaXBow6lyaXF1ZVxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXRpbGlzZXIgL3Byb2MvbW91bnRzIGF1IGxpZXUgZGUgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICDDqWplY3RlciBsYSBjYXNzZXR0ZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgw6lqZWN0ZXIgbGUgQ0RcbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIMOpamVjdGVyIGxlIHDDqXJpcGjDqXJpcXVlIFNDU0lcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGZlcm1lciBsZSBwbGF0ZWF1XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b3VybmVyIGxlIHBsYXRlYXVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGFjdGl2ZXIgbGEgc29ydGllIGJhdmFyZGVcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIGTDqWZpbmlyIGxhIHZpdGVzc2UgbWF4aW1hbGUgZHUgQ0RcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGFmZmljaGVyIGxlcyB2aXRlc3NlcyBkZSBDRCBkaXNwb25pYmxlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkVzc2F5ZSBwYXIgZMOpZmF1dCAtciwgLXMsIC1mIGV0IC1xIGRhbnMgY2V0IG9yZHJlIGp1c3F1J8OgIHLDqXVzc2lyLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3QgcG91ciBsJ29wdGlvbiAtLWNoYW5nZXJzbG90LCAtYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3QgcG91ciBsJ29wdGlvbiAtLWNkc3BlZWQsIC14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvbW1hbmRlIGQnYXV0b8OpamVjdGlvbiBkZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJsYSBmZXJtZXR1cmUgZHUgbGVjdGV1ciBkZSBDRCBu4oCZZXN0IHBhcyBwcmlzZSBlbiBjaGFyZ2UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJk4oCZYXV0cmVzIHV0aWxpc2F0ZXVyIG9udCBsZSBkaXNxdWUgb3V2ZXJ0IHNhbnMgQ0FQX1NZU19BRE1JTiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvbW1hbmRlIGRlIGZlcm1ldHVyZSBkdSBsZWN0ZXVyIGRlIENEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJsZSBDRCBuZSBwZXV0IFBBUyDDqnRyZSDDqWplY3TDqSBhdmVjIGxlIGJvdXRvbiBkdSBsZWN0ZXVyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgImxlIENEIHBldXQgw6p0cmUgw6lqZWN0w6kgYXZlYyBsZSBib3V0b24gZHUgbGVjdGV1ciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgY29tbWFuZGUgZGUgc8OpbGVjdGlvbiBkZSBkaXNxdWUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNoYXJnZW1lbnQgZHUgQ0QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgImxlIGNoYXJnZXVyIGRlIENEIElERS9BVEFQSSBuJ2VzdCBwYXMgcHJpcyBlbiBjaGFyZ2UgcGFyIGNlIG5veWF1XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgY29tbWFuZGUgZGUgZmVybWV0dXJlIGR1IHBsYXRlYXUgZGUgQ0QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJsYSBjb21tYW5kZSBkZSBmZXJtZXR1cmUgZHUgcGxhdGVhdSBkZSBDRCBuJ2VzdCBwYXMgcHJpc2UgZW4gY2hhcmdlIHBhciBjZSBub3lhdVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIsOpamVjdGlvbiBkZSBDRCBub24gcHJpc2UgZW4gY2hhcmdlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBjb21tYW5kZSBkJ8OpamVjdGlvbiBkZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiQXVjdW4gcmVuc2VpZ25lbWVudCBkaXNwb25pYmxlIHN1ciBsZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM4Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAibGUgcMOpcmlwaMOpcmlxdWUgZGUgQ0Qgbidlc3QgcGFzIHByw6p0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbGEgY29tbWFuZGUgZGUgc8OpbGVjdGlvbiBkZSB2aXRlc3NlIGR1IENEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAibGEgY29tbWFuZGUgZGUgc8OpbGVjdGlvbiBkZSB2aXRlc3NlIGR1IENEIG4nZXN0IHBhcyBwcmlzZSBlbiBjaGFyZ2UgcGFyIGNlIG5veWF1IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCdvYnRlbnRpb24gZHUgbm9tIGRlIENEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgbGVjdHVyZSBkZSBsYSB2aXRlc3NlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZGUgbGEgdml0ZXNzZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTgzCittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAibidlc3QgcGFzIHVuIHDDqXJpcGjDqXJpcXVlIHNnLCBvdSBhbmNpZW4gcGlsb3RlIHNnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzwqA6IGTDqW1vbnRhZ2UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3MworbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNyw6llciB1biBwcm9jZXNzdXMgZmlscyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgImxlIGTDqW1vbnRhZ2UgZGUgwqvCoCVzwqDCuyBuZSBzJ2VzdCBwYXMgdGVybWluw6kgbm9ybWFsZW1lbnQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIsOpY2hlYyBkdSBkw6ltb250YWdlIGRlIMKrwqAlc8KgwrtcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIHRhYmxlIGRlIG1vbnRhZ2UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzwqA6IG1vbnTDqSBzdXIgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgImNvbmZpZ3VyYXRpb24gZGUgbGEgdml0ZXNzZSBkZSBDRCBlbiBhdXRvbWF0aXF1ZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMwCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgImNvbmZpZ3VyYXRpb24gZGUgbGEgdml0ZXNzZSBkZSBDRCDDoCAlbGRYIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgInDDqXJpcGjDqXJpcXVlIHBhciBkw6lmYXV0wqA6IMKrwqAlc8KgwrsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJ1dGlsaXNhdGlvbiBkdSBww6lyaXBow6lyaXF1ZSBwYXIgZMOpZmF1dCDCq8KgJXPCoMK7IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlIHDDqXJpcGjDqXJpcXVlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAibGUgbm9tIGR1IHDDqXJpcGjDqXJpcXVlIGVzdCDCq8KgJXPCoMK7IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODkgc3lzLXV0aWxzL3Vtb3VudC5jOjMwOSBzeXMtdXRpbHMvdW1vdW50LmM6MzMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgbW91bnRlZCIKK21zZ3N0ciAiJXPCoDogbm9uIG1vbnTDqSIKKworIyBOT1RFOiBzL2Rpc2MvZGlzay8KKyM6IHN5cy11dGlscy9lamVjdC5jOjg5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiJXPCoDogcMOpcmlwaMOpcmlxdWUgZGlzcXVlwqA6ICVzIChsZSBww6lyaXBow6lyaXF1ZSBkaXNxdWUgc2VyYSB1dGlsaXPDqSBwb3VyIGwnw6lqZWN0aW9uKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXPCoDogcG9pbnQgZGUgbW9udGFnZSBvdSBww6lyaXBow6lyaXF1ZSBhdmVjIGxlIG5vbSBkb25uw6kgaW50cm91dmFibGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzwqA6IGVzdCB1biBww6lyaXBow6lyaXF1ZSBkaXNxdWUgZW50aWVyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXPCoDogbmUgcGV1dCBwYXMgw6p0cmUgYnJhbmNow6kgw6AgY2hhdWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMgorIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAibGUgcMOpcmlwaMOpcmlxdWUgZXN0IMKrwqAlc8KgwrsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgImZpbiBkJ2V4w6ljdXRpb24gw6AgY2F1c2UgZGVzIG9wdGlvbnMgLW4gb3UgLS1ub29wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXPCoDogYWN0aXZhdGlvbiBkdSBtb2RlIGQnYXV0b8OpamVjdGlvbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlc8KgOiBkw6lzYWN0aXZhdGlvbiBkdSBtb2RlIGQnYXV0b8OpamVjdGlvbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzwqA6IGZlcm1ldHVyZSBkdSBwbGF0ZWF1IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzwqA6IHJvdGF0aW9uIGR1IHBsYXRlYXUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVzwqA6IGFmZmljaGFnZSBkZXMgdml0ZXNzZXMgZHUgQ0QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgImVycmV1csKgOiAlc8KgOiBww6lyaXBow6lyaXF1ZSB1dGlsaXPDqSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXPCoDogc8OpbGVjdGlvbiBkdSBkaXNxdWUgbsK6wqAlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXPCoDogdGVudGF0aXZlIGQnw6lqZWN0aW9uIGVuIHV0aWxpc2FudCBsYSBjb21tYW5kZSBkJ8OpamVjdGlvbiBkZSBDRCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwNQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAibGEgY29tbWFuZGUgZCfDqWplY3Rpb24gZHUgQ0QgYSByw6l1c3NpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiJXPCoDogdGVudGF0aXZlIGQnw6lqZWN0aW9uIGVuIHV0aWxpc2FudCBsZXMgY29tbWFuZGVzIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAibCfDqWplY3Rpb24gU0NTSSBhIHLDqXVzc2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGwnw6lqZWN0aW9uIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXPCoDogdGVudGF0aXZlIGQnw6lqZWN0aW9uIGVuIHV0aWxpc2FudCBsYSBjb21tYW5kZSBkJ8OpamVjdGlvbiBkZSBkaXNxdWV0dGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgImxhIGNvbW1hbmRlIGQnw6lqZWN0aW9uIGRlIGRpc3F1ZXR0ZSBhIHLDqXVzc2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsYSBjb21tYW5kZSBkJ8OpamVjdGlvbiBkZSBkaXNxdWV0dGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXPCoDogdGVudGF0aXZlIGQnw6lqZWN0aW9uIGVuIHV0aWxpc2FudCBsYSBjb21tYW5kZSBkZSBjYXNzZXR0ZSBob3JzIGxpZ25lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJsYSBjb21tYW5kZSBkZSBjYXNzZXR0ZSBob3JzIGxpZ25lIGEgcsOpdXNzaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxhIGNvbW1hbmRlIGRlIGNhc3NldHRlIGhvcnMgbGlnbmUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImltcG9zc2libGUgZCfDqWplY3RlciIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxmaWNoaWVyPlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiUsOpc2VydmVyIG91IHJlbmRyZSBkZSBsJ2VzcGFjZSBwb3VyIHVuIGZpY2hpZXIuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSBzdXBwcmltZXIgdW4gaW50ZXJ2YWxsZSBkdSBmaWNoaWVyXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGTDqXRlY3RlciBsZXMgesOpcm9zIGV0IGxlcyByZW1wbGFjZXIgcGFyIGRlcyB0cm91c1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zw6lyZXIgdW4gdHJvdSBkYW5zIGwnaW50ZXJ2YWxsZSBldCBkw6ljYWxlciBsZXMgZG9ubsOpZXMgZXhpc3RhbnRlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTMKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxuYnI+ICAgdGFpbGxlIHBvdXIgbGVzIG9ww6lyYXRpb25zIGTigJlpbnRlcnZhbGxlLCBlbiBvY3RldFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIGdhcmRlciBsYSB0YWlsbGUgYXBwYXJlbnRlIGR1IGZpY2hpZXJcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bmJyPiAgIHBvc2l0aW9uIHBvdXIgbGVzIG9ww6lyYXRpb25zIGTigJlpbnRlcnZhbGxlLCBlbiBvY3RldFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVtcGxhY2VyIHVuIGludGVydmFsbGUgcGFyIHVuIHRyb3UgKGltcGxpcXVlIC1uKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTcKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgbWV0dHJlIMOgIHrDqXJvIGV0IHPigJlhc3N1cmVyIGRlIGwnYWxsb2NhdGlvbiBk4oCZdW4gaW50ZXJ2YWxsZVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKK21zZ2lkICIgLXgsIC0tcG9zaXggICAgICAgICAgdXNlIHBvc2l4X2ZhbGxvY2F0ZSgzKSBpbnN0ZWFkIG9mIGZhbGxvY2F0ZSgyKVxuIgorbXNnc3RyICIgLXgsIC0tcG9zaXggICAgICAgICAgdXRpbGlzZXIgcG9zaXhfZmFsbG9jYXRlKDMpIGF1IGxpZXUgZGUgZmFsbG9jYXRlKDIpXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGZhbGxvY2F0ZcKgOiBtb2RlIGRlIHRhaWxsZSBjb25zZXJ2w6llIG5vbiBwcmlzIGVuIGNoYXJnZSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTQ1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGZhbGxvY2F0ZSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBsZWN0dXJlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIlc8KgOiAlcyAoJWp1wqBvY3RldHMpIGNvbnZlcnRpcyBlbiB0cm91cyBjbGFpcnNlbcOpcy5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1NAorbXNnaWQgInBvc2l4X2ZhbGxvY2F0ZSBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCIKK21zZ3N0ciAibGUgc3VwcG9ydCBkZSBwb3NpeF9mYWxsb2NhdGUgbidlc3QgcGFzIGNvbXBpbMOpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiQXVjdW4gbm9tIGRlIGZpY2hpZXIgaW5kaXF1w6kiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NgorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsZXVyIGRlIGxvbmd1ZXVyIGluZGlxdcOpZSBub24gdmFsYWJsZSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIlBhcyBkJ2FyZ3VtZW50IGRlIGxvbmd1ZXVyIGluZGlxdcOpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJWYWxldXIgZCdpbmRleCBpbmRpcXXDqSBub24gdmFsYWJsZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWNoaWVyPnw8csOpcGVydG9pcmU+IDxjb21tYW5kZT4gWzxhcmd1bWVudD4gLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmljaGllcj58PHLDqXBlcnRvaXJlPiAtYyA8Y29tbWFuZGU+XG4iCisiICUxJHMgW29wdGlvbnN9IDxudW3DqXJvIGRlIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXJzPlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAiR8OpcmVyIGRlcyB2ZXJyb3VzIGRlIGZpY2hpZXJzIGRlcHVpcyBkZXMgc2NyaXB0cyBkJ2ludGVycHLDqXRldXIuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIG9idGVuaXIgdW4gdmVycm91IHBhcnRhZ8OpXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgb2J0ZW5pciB1biB2ZXJyb3UgZXhjbHVzaWYgKHBhciBkw6lmYXV0KVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHN1cHByaW1lciB1biB2ZXJyb3VcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIMOpY2hvdWVyIGF1IGxpZXUgZGUgYmxvcXVlclxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWNvbmRlPiAgYXR0ZW5kcmUgdW4gdGVtcHMgbWF4aW1hbCBkb25uw6lcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtw6lybz4gIGNvZGUgZGUgcmV0b3VyIGFwcsOocyBjb25mbGl0IG91IGF0dGVpbnRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkdSBkw6lsYWkgZCdleHBpcmF0aW9uXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIiCisiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBmZXJtZXIgbGUgZGVzY3JpcHRldXIgZGUgZmljaGllciBhdmFudCBkJ2V4w6ljdXRlclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYSBjb21tYW5kZVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZGU+ICBleMOpY3V0ZXIgdW5lIHNldWxlIGNvbW1hbmRlIMOgIGwnYWlkZSBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbCdpbnRlcnByw6l0ZXVyXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXjDqWN1dGVyIGxhIGNvbW1hbmRlIHNhbnMgZm9ya2VyXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBtb2RlIHZlcmJldXhcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIGRlIHZlcnJvdSAlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA4Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJ2YWxldXIgZCdleHBpcmF0aW9uIGRlIGxhIG1pbnV0ZXJpZSBpbmNvcnJlY3RlIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiY29kZSBkZSByZXRvdXIgaW5jb3JyZWN0IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAibGVzIG9wdGlvbnMgLS1uby1mb3JrIGV0IC0tY2xvc2Ugc29udCBpbmNvbXBhdGlibGVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbsOpY2Vzc2l0ZSBleGFjdGVtZW50IHVuIGFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJtYXV2YWlzIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgIm7DqWNlc3NpdGUgdW4gZGVzY3JpcHRldXIgZGUgZmljaGllciwgdW4gZmljaGllciBvdSB1biByw6lwZXJ0b2lyZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICLDqWNoZWMgZHUgdmVycm91aWxsYWdlIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgImTDqWxhaSBleHBpcsOpIGVuIGF0dGVuZGFudCBkJ29idGVuaXIgbGUgdmVycm91IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzwqA6IHZlcnJvdSBhY3F1aXMgZW4gJWxkLiUwNmxkwqBzZWNvbmRlc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIlc8KgOiBleMOpY3V0aW9uICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPHBvaW50IGRlIG1vbnRhZ2U+XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ0Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTdXNwZW5kcmUgbCdhY2PDqHMgw6AgdW4gc3lzdMOobWUgZGUgZmljaGllcnMuXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ3Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWYsIC0tZnJlZXplICAgICAgZ2VsZXIgbGUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIGTDqWdlbGVyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIm5pIC0tZnJlZXplIG5pIC0tdW5mcmVlemUgaW5kaXF1w6lzIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPCoDogbidlc3QgcGFzIHVuIHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBnZWwiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgZMOpZ2VsIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPCoDogcGFzIHVuIHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ2lvY3RsIEZJVFJJTSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzwqA6ICVzICglPFBSSXU2ND7CoG9jdGV0cykgdGFpbGzDqXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MyBzeXMtdXRpbHMvbHNucy5jOjEwNjYgc3lzLXV0aWxzL3N3YXBvbi5jOjczMworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgJXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPHBvaW50IGRlIG1vbnRhZ2U+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkFiYW5kb25uZXIgbGVzIGJsb2NzIG5vbiB1dGlsaXPDqXMgZCd1biBzeXN0w6htZSBkZSBmaWNoaWVycyBtb250w6kuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICByb2duZXIgdG91cyBsZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzIHByaXMgZW4gY2hhcmdlXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBsYSBwb3NpdGlvbiBlbiBvY3RldCDDoCBwYXJ0aXIgZGUgbGFxdWVsbGUgYWJhbmRvbm5lclxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlIG5vbWJyZSBk4oCZb2N0ZXRzIMOgIGFiYW5kb25uZXJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLW0sIC0tbWluaW11bSA8bnVtPiBsYSB0YWlsbGUgw6l0ZW5kdWUgbWluaW1hbGUgw6AgYWJhbmRvbm5lclxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICBhZmZpY2hlciBsZSBub21icmUgZCdvY3RldHMgYWJhbmRvbm7DqXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbG9uZ3VldXIgw6l0ZW5kdWUgbWluaW1hbGUiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMzEKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiQXVjdW4gcG9pbnQgZGUgbW9udGFnZSBpbmRpcXXDqSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVzwqA6IGzigJlvcMOpcmF0aW9uIGTigJlhYmFuZG9uIG7igJllc3QgcGFzIHByaXNlIGVuIGNoYXJnZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJMJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgZXN0IHN1cHBvc8OpZSBjb25zZXJ2ZXIgbCdoZXVyZSAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAibG9jYWxlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisiQXZlcnRpc3NlbWVudMKgOiB0cm9pc2nDqG1lIGxpZ25lIG5vbiByZWNvbm51ZSBkYW5zIGxlIGZpY2hpZXIgZCdhanVzdGVtZW50IGRlIGwnaGV1cmVcbiIKKyIodmFsZXVycyBwb3NzaWJsZXPCoDogwqvCoFVUQ8KgwrssIMKrwqBMT0NBTMKgwrsgb3UgcmllbikuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkxlIGRlcm5pZXIgYWp1c3RlbWVudCBkZSBkw6lyaXZlIGEgw6l0w6kgZmFpdCAlbGTCoHNlY29uZGVzIGFwcsOocyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkxhIGRlcm5pw6hyZSBjYWxpYnJhdGlvbiBhIMOpdMOpIGZhaXRlICVsZMKgc2Vjb25kZXMgYXByw6hzIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJMJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgZm9uY3Rpb25uZSBzZWxvbiBsZSB0ZW1wcyAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIkVuIGF0dGVudGUgZCd1biB0aWMgZCdob3Jsb2dl4oCmXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAi4oCmIMOpY2hlYyBkZSBzeW5jaHJvbmlzYXRpb25cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAi4oCmIGEgb2J0ZW51IHVuIHRpYyBkJ2hvcmxvZ2VcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAidmFsZXVycyBub24gdmFsYWJsZXMgZGFucyBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGXCoDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiSGV1cmUgZGUgbCdob3Jsb2dlIG1hdMOpcmllbGxlwqA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGTCoHNlY29uZGVzIGRlcHVpcyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkhldXJlIGx1ZSBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGXCoDogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJJbml0aWFsaXNlciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgw6AgJS4yZDolLjJkOiUuMmQgPSAlbGTCoHNlY29uZGVzIGRlcHVpcyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICJzYXV0IGRlIHRlbXBzIGVuIGFycmnDqHJlIGRlICUuNmbCoHNlY29uZGVzIMOgICVsZC4lMDZsZCDigJQgcmVjaWJsYWdlXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAicmF0w6kg4oCUICVsZC4lMDZsZCBlc3QgdHJvcCBsb2luIGFwcsOocyAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZsZCBlc3QgYXNzZXogcHLDqHMgZGUgJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJEw6lmaW5pdGlvbiBkZSBs4oCZaG9ybG9nZSBtYXTDqXJpZWxsZSDDoCAlbGQgKCVsZCArICVkwqA7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiQXBwZWwgZGUgc2V0dGltZW9mZGF5KE5VTEwsICVkKSBwb3VyIGTDqWZpbmlyIHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIkFwcGVsIGRlIHNldHRpbWVvZmRheShOVUxMLCAwKSBwb3VyIHZlcnJvdWlsbGVyIGxhIGZvbmN0aW9uIGRlIGJvdWNsYWdlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoJWxkLiUwNmxkLCAlZClcbiIKK21zZ3N0ciAiQXBwZWwgZGUgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCittc2dzdHIgIkFwcGVsIGRlIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAicG91ciBkw6lmaW5pciBsZSBmdXNlYXUgaG9yYWlyZSBkdSBub3lhdS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgInBvdXIgYm91Y2xlciBsJ2hldXJlIHN5c3TDqG1lLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkZSBzZXR0aW1lb2ZkYXkoKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiUGFzIGQnYWp1c3RlbWVudCBkdSBmYWN0ZXVyIGRlIGTDqXJpdmUgcGFyY2UgbOKAmW9wdGlvbiAtLXVwZGF0ZS1kcmlmdCBu4oCZw6l0YWl0IHBhcyB1dGlsaXPDqWUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiUGFzIGQnYWp1c3RlbWVudCBkdSBmYWN0ZXVyIGRlIGTDqXJpdmUgcGFyY2UgbGUgZGVybmllciB0ZW1wcyBkZSBjYWxpYnJhdGlvbiBpbmRpcXVlIHrDqXJvLlxuIgorIkwnaGlzdG9yaXF1ZSDDqXRhbnQgZXJyb27DqSB1bmUgcmVjYWxpYnJhdGlvbiBlc3QgbsOpY2Vzc2FpcmUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIlBhcyBkJ2FqdXN0ZW1lbnQgZHUgZmFjdGV1ciBkZSBkw6lyaXZlIHBhcmNlIHF1ZSBtb2lucyBkZSBxdWF0cmUgaGV1cmVzIHNlIHNvbnQgw6ljb3Vsw6llcyBkZXB1aXMgbGEgZGVybmnDqHJlIGNhbGlicmF0aW9uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKyJMZSBmYWN0ZXVyIGRlIGTDqXJpdmUgZGUgbOKAmWhvcmxvZ2Ugw6l0YWl0IGNhbGN1bMOpIMOgICVmwqBzZWNvbmRlcy9qb3VyLlxuIgorIkPigJllc3QgYmVhdWNvdXAgdHJvcC4gUsOpaW5pdGlhbGlzYXRpb24gw6AgesOpcm8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIkwnaG9ybG9nZSBhIGTDqXJpdsOpIGRlICVmwqBzZWNvbmRlcyBwZW5kYW50IGxlcyBkZXJuacOocmVzXG4iCisiJWbCoHNlY29uZGVzIG1hbGdyw6kgdW4gZmFjdGV1ciBkZSBkw6lyaXZlIGRlICVmwqBzZWNvbmRlcy9qb3VyLlxuIgorIkFqdXN0ZW1lbnQgZHUgZmFjdGV1ciBkZSBkw6lyaXZlIGRlICVmwqBzZWNvbmRlcy9qb3VyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiTCdoZXVyZSBkZXB1aXMgbGUgZGVybmllciBhanVzdGVtZW50IGVzdCBkZSAlbGTCoHNlY29uZGVcbiIKK21zZ3N0clsxXSAiTCdoZXVyZSBkZXB1aXMgbGUgZGVybmllciBhanVzdGVtZW50IGVzdCBkZSAlbGTCoHNlY29uZGVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiTGEgZMOpcml2ZSBjYWxjdWzDqWUgZGUgbOKAmWhvcmxvZ2UgbWF0w6lyaWVsbGUgZXN0IGRlICVsZC4lMDZsZMKgc2Vjb25kZXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5ldyAlcyBkYXRhOlxuIgorIiVzIgorbXNnc3RyICIiCisiTm91dmVsbGUgZG9ubsOpZSAlc8KgOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXBkYXRlICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJIZXVyZSBub24gbW9kaWZpw6llIGNhciBsZSBkZXJuaWVyIHRlbXBzIGRlIGNhbGlicmF0aW9uIGVzdCB6w6lybywgZG9uYyBtYXV2YWlzIGhpc3RvcmlxdWUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiSGV1cmUgbm9uIG1vZGlmacOpZSBjYXIgbGUgZmFjdGV1ciBkZSBkw6lyaXZlICVmIGVzdCBiZWF1Y291cCB0cm9wIGdyYW5kLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJBdWN1bmUgaW50ZXJmYWNlIGQnaG9ybG9nZSB1dGlsaXNhYmxlIG4nYSDDqXTDqSByZXDDqXLDqWUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg2Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJJbXBvc3NpYmxlIGQnYWNjw6lkZXIgw6AgbCdob3Jsb2dlIG1hdMOpcmllbGxlIMOgIGwnYWlkZSBkJ3VuZSBtw6l0aG9kZSBjb25udWUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4OQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIlV0aWxpc2V6IGwnb3B0aW9uIC0tdmVyYm9zZSBwb3VyIHBsdXMgZGUgcHLDqWNpc2lvbnMgc3VyIGxhIHJlY2hlcmNoZSBkJ3VuZSBtw6l0aG9kZSBjb25udWUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAiRGF0ZSBjaWJsZcKgOiAgICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAiUlRDIHByw6lkaXRlwqA6ICAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NzAKK21zZ2lkICJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIKK21zZ3N0ciAiTGEgbGVjdHVyZSBkZSBsJ2hvcmxvZ2UgdGVtcHMgcsOpZWwgYSByZXRvdXJuw6kgdW5lIHZhbGV1ciBpbnZhbGlkZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiTCdhanVzdGVtZW50IHJlcXVpcyBlc3QgaW5mw6lyaWV1ciDDoCB1bmUgc2Vjb25kZSwgcGFzIGQnaW5pdGlhbGlzYXRpb24gZGUgbCdob3Jsb2dlLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBsaXJlIGwnw6lwb3F1ZSBkZSBsJ2hvcmxvZ2UgdGVtcHMgcsOpZWwuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICJMJ8OpcG9xdWUgZGUgbCdob3Jsb2dlIHRlbXBzIHLDqWVsIGVzdCBkw6lmaW5pZSDDoCAlbHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICItLWVwb2NoIGVzdCByZXF1aXNlIGF2ZWMgLS1zZXRlcG9jaC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MworbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIkltcG9zc2libGUgZCdpbml0aWFsaXNlciBsJ8OpcG9xdWUgZGUgbCdob3Jsb2dlIHRlbXBzIHLDqWVsLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiAlcyBbZm9uY3Rpb25dIFtvcHRpb24uLi5dXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MAorbXNnaWQgIlRpbWUgY2xvY2tzIHV0aWxpdHkuIgorbXNnc3RyICJVdGlsaXRhaXJlIGRlcyBob3Jsb2dlcyBkZSB0ZW1wcy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MworbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiIC1yLCAtLXNob3cgICAgICAgICAgICBhZmZpY2hlciBsZSB0ZW1wcyBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAgICAtLWdldCAgICAgICAgICAgIGFmZmljaGVyIGwnaGV1cmUgUlRDIGNvcnJpZ8OpZSBwYXIgbGUgZMOpY2FsYWdlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiICAgICAtLXNldCAgICAgICAgICAgIGTDqWZpbmlyIGxlIFJUQyBzZWxvbiAtLWRhdGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIC1zLCAtLWhjdG9zeXMgICAgICAgIGTDqWZpbmlyIGwnaGV1cmUgc3lzdMOobWUgZGVwdWlzIGxlIFJUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgLXcsIC0tc3lzdG9oYyAgICAgICAgZMOpZmluaXIgbGUgUlRDIGRlcHVpcyBsJ2hldXJlIHN5c3TDqG1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiICAgICAtLXN5c3R6ICAgICAgICAgIGVudm95ZXIgbGEgY29uZmlndXJhdGlvbiBkZSBsJ8OpY2hlbGxlIGRlIHRlbXBzIGF1IG5veWF1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFqdXN0ZXIgbGUgUlRDIHBvdXIgdGVuaXIgY29tcHRlIGQndW5lIGTDqXJpdmUgc3lzdMOpbWF0aXF1ZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcxCittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAgICAtLWdldGVwb2NoICAgICAgIGFmZmljaGVyIGwnw6lwb3F1ZSBkZSBsJ2hvcmxvZ2UgdGVtcHMgcsOpZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiICAgICAtLXNldGVwb2NoICAgICAgIGTDqWZpbmlyIGwnw6lwb3F1ZSBSVEMgc2Vsb24gLS1lcG9jaCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc0Cittc2dpZCAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgdGhlIGRyaWZ0ZWQgUlRDIHRpbWUgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiICAgICAtLXByZWRpY3QgICAgICAgIHByw6lkaXIgbGUgdGVtcHMgZGUgZMOpcml2ZSBSVEMgc2Vsb24gLS1kYXRlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgbCfDqWNoZWxsZSB0ZW1wcyBSVEMgZXN0IFVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIgLWwsIC0tbG9jYWx0aW1lICAgICAgbCfDqWNoZWxsZSBkZSB0ZW1wcyBSVEMgZXN0IGxvY2FsZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIgLWYsIC0tcnRjIDxmaWNoaWVyPiAgdXRpbGlzZXIgdW4gZmljaGllciBhbHRlcm5hdGlmIHBvdXIgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzZSB0aGUgSVNBIGJ1cyBpbnN0ZWFkIG9mICUxJHMgYWNjZXNzXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1dGlsaXNlciBsZSBidXMgSVNBIGF1IGxpZXUgZGUgbCdhY2PDqHMgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZW50csOpZSBkYXRlL2hldXJlIHBvdXIgLS1zZXQgZXQgLS1wcmVkaWN0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKK21zZ2lkICIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giCittc2dzdHIgIiAgICAgLS1lcG9jaCA8YW5uw6llPiAgZW50csOpZSDDqXBvcXVlIHBvdXIgLS1zZXRlcG9jaCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIG1ldHRyZSDDoCBqb3VyIGxlIGZhY3RldXIgZGUgZMOpcml2ZSBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IHVzZSAlMSRzXG4iCittc2dzdHIgIiAgICAgLS1ub2FkamZpbGUgICAgICBuZSBwYXMgdXRpbGlzZXIgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWFkamZpbGUgPGZpbGU+IHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAgICAgLS1hZGpmaWxlIDxmaWNoaWVyPiB1dGlsaXNlciB1biBmaWNoaWVyIGFsdGVybmF0aWYgcG91ciAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworbXNnaWQgIiAgICAgLS10ZXN0ICAgICAgICAgICBkcnkgcnVuOyBpbXBsaWVzIC0tdmVyYm9zZSIKK21zZ3N0ciAiICAgICAtLXRlc3QgICAgICAgICAgIGV4w6ljdXRpb24gw6AgdmlkZSwgaW1wbGlxdWUgLS12ZXJib3NlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBhZmZpY2hlciBwbHVzIGRlIGTDqXRhaWxzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExODYKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIkltcG9zc2libGUgZGUgc2UgY29ubmVjdGVyIGF1IHN5c3TDqG1lIGQnYXVkaXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgInV0aWxpc2V6IC0tdmVyYm9zZSwgLS1kZWJ1ZyBlc3QgZMOpcHLDqWNpw6kuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICIlZCB0cm9wIGQnYXJndW1lbnRzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMTcKK21zZ2lkICItLXVwZGF0ZS1kcmlmdCByZXF1aXJlcyAtLXNldCBvciAtLXN5c3RvaGMiCittc2dzdHIgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpZXJ0IC0tc2V0IG91IC0tc3lzdG9oYyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIkF2ZWMgLS1ub2FkamZpbGUsIHZvdXMgZGV2ZXogc29pdCBpbmRpcXVlciAtLXV0Yywgc29pdCAtLWxvY2FsdGltZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIi0tZGF0ZSBlc3QgcmVxdWlzIHBvdXIgLS1zZXQgb3UgLS1wcmVkaWN0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgImRhdGUgaW52YWxpZGUgwqvCoCVzwqDCuyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAiSGV1cmUgc3lzdMOobWXCoDogJWxkLiUwNmxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorbXNnaWQgIlRlc3QgbW9kZTogbm90aGluZyB3YXMgY2hhbmdlZC4iCittc2dzdHIgIk1vZGUgdGVzdMKgOiByaWVuIG4nYSDDqXTDqSBjaGFuZ8OpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiTCdhY2PDqHMgYXUgcG9ydCBJU0Egbidlc3QgcGFzIGltcGzDqW1lbnTDqSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5MQorbXNnaWQgImlvcGwoKSBwb3J0IGFjY2VzcyBmYWlsZWQiCittc2dzdHIgImwnYWNjw6hzIGF1IHBvcnQgcGFyIGlvcGwoKSBhIMOpY2hvdcOpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICJVdGlsaXNhdGlvbiBk4oCZaW5zdHJ1Y3Rpb25zIGTigJlhY2PDqHMgSVNBIMOgIGzigJlob3Jsb2dlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIG9wZW46ICVzXG4iCittc2dzdHIgIkVzc2FpIGTigJlvdXZlcnR1cmXCoDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTUwIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1MworbXNnaWQgImNhbm5vdCBvcGVuIHJ0YyBkZXZpY2UiCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgcMOpcmlwaMOpcmlxdWUgcnRjIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZCdpb2N0bCglcykgdmVycyAlcyBsb3JzIGRlIGxhIGxlY3R1cmUgZGUgbCdoZXVyZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJBdHRlbnRlIGRhbnMgdW4gYm91Y2xlIHBvdXIgcXVlIGxlIHRlbXBzICVzIHNlIG1vZGlmaWVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjMzCittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiRXhwaXJhdGlvbiBkZSBsYSBtaW51dGVyaWUgbG9ycyBkZSBsJ2F0dGVudGUgZHUgY2hhbmdlbWVudCBkZSBsJ2hldXJlLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSBkZSAlcyBkb250IGwnYXR0ZW50ZSBkJ3VuIHRpYyBkJ2hvcmxvZ2UgYSBleHBpcsOpIGxlIGTDqWxhaSBkZSBsYSBtaW51dGVyaWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGRlIHNlbGVjdCgpIGRlICVzIGVuIGF0dGVudGUgZCd1biB0aWMgZCdob3Jsb2dlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkJ2lvY3RsKCkgZGUgJXMgcG91ciBhcnLDqnRlciBsZXMgbWlzZXMgw6Agam91ciBwYXIgaW50ZXJydXB0aW9uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGRlIGlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSBzdXIgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGRlIGlvY3RsKCVzKSB2ZXJzICVzIHBvdXIgaW5pdGlhbGlzZXIgbCdoZXVyZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIGEgcsOpdXNzaS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiVXRpbGlzYXRpb24gZGUgbOKAmWludGVyZmFjZSBydGMgcG91ciBs4oCZaG9ybG9nZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiw4ljaGVjIGRlIGlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgc3VyICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIlLDqXVzc2l0ZSBkZSBpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHN1ciAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZXBvY2ggJyVzJy4iCittc2dzdHIgIsOpcG9xdWUgaW52YWxpZGUgwqvCoCVzwqDCuy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkZSBpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSBzdXIgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIlLDqXVzc2l0ZSBkZSBpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSBzdXIgJXMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiQ3LDqWVyIGRpdmVyc2VzIHJlc3NvdXJjZXMgSVBDLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPHRhaWxsZT4gICAgIGNyw6llciB1biBzZWdtZW50IGRlIG3DqW1vaXJlIHBhcnRhZ8OpZSBkZSB0YWlsbGUgPHRhaWxsZT5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDxuc2Vtcz4gIGNyw6llciB1biB0YWJsZWF1IGRlIHPDqW1hcGhvcmVzIMOgIDxuc2Vtcz7CoMOpbMOpbWVudHNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3LDqWVyIHVuZSBmaWxlIGRlIG1lc3NhZ2VzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc2Cittc2dpZCAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKK21zZ3N0ciAiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBkcm9pdHMgZGUgbGEgcmVzc291cmNlICgwNjQ0IHBhciBkw6lmYXV0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo3MTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSB0YWlsbGUiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZXMgw6lsw6ltZW50cyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjcsOpYXRpb24gZGUgbcOpbW9pcmUgcGFydGFnw6llIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiSWRlbnRpZmlhbnQgZGUgbcOpbW9pcmUgcGFydGFnw6llwqA6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNyw6lhdGlvbiBkZSBmaWxlIGRlIG1lc3NhZ2VzIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiSWRlbnRpZmlhbnQgZGUgZmlsZSBkZSBtZXNzYWdlwqA6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgY3LDqWF0aW9uIGR1IHPDqW1hcGhvcmUiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIklkZW50aWZpYW50IGRlIHPDqW1hcGhvcmXCoDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4gLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiU3VwcHJpbWVyIGNlcnRhaW5lcyByZXNzb3VyY2VzIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGlkZW50Lj4gICAgcmV0aXJlciBsZSBzZWdtZW50IGRlIG3DqW1vaXJlIHBhcnRhZ8OpZSBwYXIgaWRlbnQuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbS1rZXkgPGNsZWY+ICAgICByZXRpcmVyIGxlIHNlZ21lbnQgZGUgbcOpbW9pcmUgcGFydGFnw6llIHBhciBjbGVmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZS1pZCA8aWRlbnQuPiAgICByZXRpcmVyIGxhIGZpbGUgZGUgbWVzc2FnZXMgcGFyIGlkZW50aWZpYW50XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxjbGVmPiAgICAgcmV0aXJlciBsYSBmaWxlIGRlIG1lc3NhZ2VzIHBhciBjbGVmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQuPiAgIHJldGlyZXIgbGUgc8OpbWFwaG9yZSBwYXIgaWRlbnRpZmlhbnRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGNsZWY+IHJldGlyZXIgbGUgc8OpbWFwaG9yZSBwYXIgY2xlZlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgdG91dCByZXRpcmVyIChkYW5zIGxhIGNhdMOpZ29yaWUgaW5kaXF1w6llKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGlxdWVyIGxlcyBhY3Rpb25zIGVuIGNvdXJzXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgInJldHJhaXQgZHUgc2VnbWVudCBkZSBtw6ltb2lyZSBwYXJ0YWfDqWUgZCdpZGVudGlmaWFudCDCq8KgJWTCoMK7XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJyZXRyYWl0IGRlIGxhIGZpbGUgZGUgbWVzc2FnZXMgZCdpZGVudGlmaWFudCDCq8KgJWTCoMK7XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgInJldHJhaXQgZHUgc8OpbWFwaG9yZSBkJ2lkZW50aWZpYW50IMKrwqAlZMKgwrtcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgInBlcm1pc3Npb24gcmVmdXPDqWUgcG91ciBsYSBjbGVmIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgInBlcm1pc3Npb24gcmVmdXPDqWUgcG91ciBsJ2lkZW50aWZpYW50IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgImNsZWYgbm9uIHZhbGFibGUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgImlkZW50aWZpYW50IG5vbiB2YWxhYmxlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiY2xlZiBkw6lqw6Agc3VwcHJpbcOpZSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJpZGVudGlmaWFudCBkw6lqw6Agc3VwcHJpbcOpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNsZWYiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGQnaWRlbnRpZmlhbnQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAiaWRlbnRpZmlhbnQgbm9uIHZhbGFibGXCoDogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgInJlc3NvdXJjZXMgc3VwcHJpbcOpZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgImNsZWYgaWxsw6lnYWxlICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAibm95YXUgbm9uIGNvbmZpZ3Vyw6kgcG91ciB0cmFpdGVyIGxhIG3DqW1vaXJlIHBhcnRhZ8OpZSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJsZSBub3lhdSBuJ2VzdCBwYXMgY29uZmlndXLDqSBwb3VyIHRyYWl0ZXIgbGVzIHPDqW1hcGhvcmVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJub3lhdSBub24gY29uZmlndXLDqSBwb3VyIHRyYWl0ZXIgbGVzIGZpbGVzIGRlIG1lc3NhZ2VzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3B0aW9uLXJlc291cmNlIC4uLl0gW29wdGlvbi1zb3J0aWVdXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3IHN5cy11dGlscy9sc2lwYy5jOjI4MQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIk1vbnRyZXIgZGVzIHJlbnNlaWduZW1lbnRzIHN1ciBsJ3V0aWxpc2F0aW9uIGRlcyByZXNzb3VyY2VzIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkLj4gYWZmaWNoZXIgZGVzIHByw6ljaXNpb25zIHN1ciBsYSByZXNzb3VyY2UgaWRlbnRpZmnDqWUgcGFyIDxpZC4+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiT3B0aW9ucyBkZSByZXNzb3VyY2XCoDpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgc2VnbWVudHMgZGUgbcOpbW9pcmUgcGFydGFnw6llXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZXMgICAgICBmaWxlcyBkZSBtZXNzYWdlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBzw6ltYXBob3Jlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIHRvdXQgKHBhciBkw6lmYXV0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIk9wdGlvbnMgZGUgc29ydGllwqA6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICBtb250cmVyIGxlcyBoZXVyZXMgZCdhdHRhY2hlbWVudCwgZGUgZMOpdGFjaGVtZW50IGV0IGRlIG1vZGlmaWNhdGlvblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBtb250cmVyIGxlcyBQSUQgZGUgY3LDqWF0ZXVyIGV0IGRlIGRlcm5pZXIgb3DDqXJhdGV1clxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIG1vbnRyZXIgbGUgY3LDqWF0ZXVyIGV0IGxlIHByb3ByacOpdGFpcmVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAgbW9udHJlciBsZXMgbGltaXRlcyBkZSByZXNzb3VyY2VcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICBtb250cmVyIHVuIHLDqXN1bcOpIGRlIGwnw6l0YXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAgbW9udHJlciBsZXMgdGFpbGxlcyBhdSBmb3JtYXQgbGlzaWJsZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIG1vbnRyZXIgbGVzIHRhaWxsZXMgZW4gb2N0ZXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAibG9ycyBkZSBsJ3V0aWxpc2F0aW9uIGQndW4gaWRlbnRpZmlhbnQsIHVuZSBzZXVsZSByZXNzb3VyY2UgZG9pdCDDqnRyZSBpbmRpcXXDqWUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGxlcyBsaW1pdGVzIGRlIG3DqW1vaXJlIHBhcnRhZ8OpZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIExpbWl0ZXMgZGUgbGEgbcOpbW9pcmUgcGFydGFnw6llIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZGUgc2VnbWVudHMgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgInRhaWxsZSBtYXhpbWFsZSBkZSBzZWdtZW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJ0b3RhbCBkZSBtw6ltb2lyZSBwYXJ0YWfDqWUgbWF4aW1hbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgInRhaWxsZSBtaW5pbWFsZSBkZSBzZWdtZW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAibm95YXUgbm9uIGNvbmZpZ3Vyw6kgcG91ciB0cmFpdGVyIGxhIG3DqW1vaXJlIHBhcnRhZ8OpZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMOJdGF0IGRlIGxhIG3DqW1vaXJlIHBhcnRhZ8OpZSAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyJzZWdtZW50cyBhbGxvdcOpcyA9ICVkXG4iCisicGFnZXMgYWxsb3XDqXMgPSAlbGRcbiIKKyJwYWdlcyByw6lzaWRlbnRlcyA9ICVsZFxuIgorInBhZ2VzIGQnw6ljaGFuZ2UgPSAlbGRcbiIKKyJwZXJmb3JtYW5jZSBkZSBsJ2VzcGFjZSBkJ8OpY2hhbmdlID0gJWxkwqB0ZW50YXRpdmVzXHQgJWxkwqBzdWNjw6hzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZWdtZW50IGRlIG3DqW1vaXJlIHBhcnRhZ8OpZSBDcsOpYXRldXJzL1Byb3ByacOpdGFpcmVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgInBlcm1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE3DqW1vaXJlIHBhcnRhZ8OpZSBBdHRhY2hlbWVudC9Ew6l0YWNoZW1lbnQvQ2hhbmdlbWVudCBUZW1wcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjI4NgorIzogc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAib3duZXIiCittc2dzdHIgInByb3ByacOpdGFpcmUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgImF0dGFjaMOpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJkw6l0YWNow6kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAibW9kaWZpw6kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNw6ltb2lyZSBwYXJ0YWfDqWUgY3LDqWF0ZXVyLyBQSUQgZGUgZGVybmnDqHJlIG9ww6lyYXRpb24gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZWdtZW50IGRlIG3DqW1vaXJlIHBhcnRhZ8OpZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAiY2xlZiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJzaXplIgorbXNnc3RyICJ0YWlsbGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgIm9jdGV0cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIsOpdGF0cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiTm9uIGluaXRpYWxpc8OpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiZGVzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgInZlcnJvdWlsbMOpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJJbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGxlcyBsaW1pdGVzIGRlIHPDqW1hcGhvcmVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIExpbWl0ZXMgZGVzIHPDqW1hcGhvcmVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZGUgdGFibGVhdXggPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSBzw6ltYXBob3JlcyBwYXIgdGFibGVhdSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZGUgc8OpbWFwaG9yZXMgc3lzdMOobWUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZCdvcMOpcmF0aW9ucyBwYXIgYXBwZWwgc2Vtb3AgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAidmFsZXVyIG1heGltYWwgZGUgc8OpbWFwaG9yZSA9ICV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJsZSBub3lhdSBuJ2VzdCBwYXMgY29uZmlndXLDqSBwb3VyIHRyYWl0ZXIgbGVzIHPDqW1hcGhvcmVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDDiXRhdHMgZGVzIHPDqW1hcGhvcmVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAidGFibGVhdXggdXRpbGlzw6lzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJzw6ltYXBob3JlcyBhbGxvdcOpcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0gVGFibGVhdXggZGUgc8OpbWFwaG9yZXMgQ3LDqWF0ZXVycy9Qcm9wcmnDqXRhaXJlcyAtLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0gU8OpbWFwaG9yZXPCoDogb3DDqXJhdGlvbnMvY2hhbmdlbWVudHMgdGVtcG9yZWxzIC0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgImxhc3Qtb3AiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJsYXN0LWNoYW5nZWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUYWJsZWF1eCBkZSBzw6ltYXBob3JlcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIkltcG9zc2libGUgZGUgcsOpY3Vww6lyZXIgbGVzIGxpbWl0ZXMgZGUgbWVzc2FnZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMaW1pdGVzIGRlIG1lc3NhZ2VzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJmaWxlcyBtYXhpbWFsZXMgZGFucyB0b3V0IGxlIHN5c3TDqG1lID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzEKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJ0YWlsbGUgbWF4aW1hbGUgZGUgbWVzc2FnZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJ0YWlsbGUgbWF4aW1hbGUgcGFyIGTDqWZhdXQgZGUgZmlsZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJub3lhdSBub24gY29uZmlndXLDqSBwb3VyIHRyYWl0ZXIgbGVzIGZpbGVzIGRlIG1lc3NhZ2VzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMOJdGF0cyBkZXMgbWVzc2FnZXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImZpbGVzIGFsbG91w6llcyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgImVuLXTDqnRlcyB1dGlsaXPDqWVzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODgKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJlc3BhY2UgdXRpbGlzw6kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIsKgb2N0ZXRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEZpbGVzIGRlIG1lc3NhZ2VzIGNyw6lhdGV1cnMvcHJvcHJpw6l0YWlyZXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKKyM6IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gRmlsZXMgZGUgbWVzc2FnZXMgVHJhbnNtaXMvUmXDp3VzL0NoYW5nw6lzIFRlbXBzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAidHJhbnNtaXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAicmXDp3VzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiY2hhbmfDqXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQSUQgZGVzIGZpbGVzIGRlIG1lc3NhZ2VzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBGaWxlcyBkZSBtZXNzYWdlcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgIm9jdGV0cyB1dGlsaXPDqXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIm1lc3NhZ2VzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MCBzeXMtdXRpbHMvaXBjcy5jOjYxMCBzeXMtdXRpbHMvaXBjcy5jOjY0MworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM3IHN5cy11dGlscy9sc2lwYy5jOjcyOSBzeXMtdXRpbHMvbHNpcGMuYzo4ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJpZGVudGlmaWFudMKgJWQgaW50cm91dmFibGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk3DqW1vaXJlIHBhcnRhZ8OpZSBzZWdtZW50IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgInRhaWxsZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJvY3RldHM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZpbGUgZGUgbWVzc2FnZXMgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAidGFpbGxlYz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAib2N0ZXRzYz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJ0YWlsbGVxPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJvY3RldHNxPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUYWJsZWF1eCBkZSBzw6ltYXBob3JlcyBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJjdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICJzZW1udW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgInZhbGV1ciIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJuY291bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgInpjb3VudCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgIlBJRCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSAlcyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChvY3RldCkgPSAiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGtpbG9vY3RldCkgPSAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgImluZGljaSBub24gdmFsYWJsZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxwY29udD4gPHDDqXJpcGjDqXJpcXVlPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiQXR0YWNoZXIgdW5lIHByb2PDqWR1cmUgZGUgY29udHLDtGxlIMOgIHVuZSBsaWduZSBzw6lyaWUuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgYWZmaWNoZXIgZGVzIG1lc3NhZ2VzIMOpdGVuZHVzIHN1ciBsYSBzb3J0aWUgZCdlcnJldXIgc3RhbmRhcmRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZpdGVzc2U+ICAgZMOpZmluaXIgbGEgdml0ZXNzZSBkZSBsYSBsaWduZSBzw6lyaWVcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1jLCAtLWludHJvLWNvbW1hbmQgPGNoYcOubmU+ICBpbnRyb2R1Y3Rpb24gZW52b3nDqWUgYXZhbnQgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8c2Vjb25kZT4gICBwYXVzZSBlbnRyZSBs4oCZaW50cm9kdWN0aW9uIGV0IGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBkw6lmaW5pciBsYSB0YWlsbGUgZGUgY2FyYWN0w6hyZSDDoCA3wqBiaXRzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBkw6lmaW5pciBsYSB0YWlsbGUgZGUgY2FyYWN0w6hyZSDDoCA4wqBiaXRzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIGTDqWZpbmlyIGxhIHBhcml0w6kgw6AgbGEgdmFsZXVyIGF1Y3VuZVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBkw6lmaW5pciBsYSBwYXJpdMOpIMOgIGxhIHZhbGV1ciBwYWlyZVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIGTDqWZpbmlyIGxhIHBhcml0w6kgw6AgbGEgdmFsZXVyIGltcGFpcmVcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBkw6lmaW5pciBsZXMgYml0cyBkJ2FycsOqdCDDoCAxwqBiaXRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE2Cittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBkw6lmaW5pciBsZXMgYml0cyBkJ2FycsOqdCDDoCAywqBiaXRcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE3Cittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIC1pLCAtLWlmbGFnIFstXTxpbmRpY2k+IGTDqWZpbmlyIGwnb3B0aW9uIGRlIG1vZGUgZCdlbnRyw6llXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTm9tcyA8cGNvbnQ+IHJlY29ubnVzwqA6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyNgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTm9tcyA8aW5kaWNpPiByZWNvbm51c8KgOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDQKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSB2aXRlc3NlIGluY29ycmVjdCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgcGF1c2UgaW5jb3JyZWN0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzQKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgcHJvY8OpZHVyZSBkZSBjb250csO0bGUgaW5jb3JyZWN0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIG4nZXN0IHBhcyB1bmUgbGlnbmUgc8OpcmllIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbGVzIGF0dHJpYnV0cyBkdSB0ZXJtaW5hbCAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJ2aXRlc3NlwqAlZCBub24gcHJpc2UgZW4gY2hhcmdlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSBjb25maWd1cmVyIGxlcyBhdHRyaWJ1dHMgZHUgdGVybWluYWwgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBk4oCZw6ljcmlyZSBsYSBjb21tYW5kZSBk4oCZaW50cm9kdWN0aW9uIGRhbnMgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGNvbmZpZ3VyZXIgbGEgcHJvY8OpZHVyZSBkZSBjb250csO0bGUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ4MworbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIsOpY2hlYyBkZSB0cmFuc2Zvcm1hdGlvbiBlbiBkw6ltb24iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIm9wdGlvbiBkZSBuZXR0b3lhZ2UgYXV0b21hdGlxdWUgYWN0aXbDqWUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJmaWNoaWVyIGRlIHDDqXJpcGjDqXJpcXVlIGFzc29jacOpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBkJ2luxZN1ZCBkZSBmaWNoaWVyIGFzc29jacOpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gbWFqZXVyOm1pbmV1ciBkdSBmaWNoaWVyIGRlIHDDqXJpcGjDqXJpcXVlIGFzc29jacOpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tIGR1IHDDqXJpcGjDqXJpcXVlIGJvdWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgInBvc2l0aW9uIGRlcHVpcyBsZSBkw6lidXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiaW5kaWNhdGV1ciBwYXJ0c2NhbiBkw6lmaW5pIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAidGFpbGxlIGxpbWl0ZSBkdSBmaWNoaWVyIGVuIG9jdGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICJudW3DqXJvIG1hamV1cjptaW5ldXIgZHUgcMOpcmlwaMOpcmlxdWUgYm91Y2xlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiYWNjw6lkZXIgYXUgZmljaGllciBkZSBzb3V0aWVuIGF2ZWMgZGVzIEUvUyBkaXJlY3RlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgInRhaWxsZSBkZSBzZWN0ZXVyIGxvZ2lxdWUgZW4gb2N0ZXRzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgaW5kZXggJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgdGFpbGxlIGxpbWl0ZSAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgY2hpZmZyZW1lbnQgJXMgKHR5cGUgJXUpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGTDqXRhY2hlbWVudCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpb25zXSBbPHDDqXJpcGhfYm91Y2xlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8cMOpcmlwaF9ib3VjbGU+IDxmaWNoaWVyPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIk1ldHRyZSBlbiBwbGFjZSBldCBjb250csO0bGVyIGRlcyBww6lyaXBow6lyaXF1ZXMgYm91Y2xlLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIHRvdXMgbGVzIHDDqXJpcGjDqXJpcXVlcyB1dGlsaXPDqXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA8cMOpcmlwaC4+IC4uLiAgICBkw6l0YWNoZXIgdW4gb3UgcGx1c2lldXJzIHDDqXJpcGjDqXJpcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZMOpdGFjaGVyIHRvdXMgbGVzIHDDqXJpcGjDqXJpcXVlcyB1dGlsaXPDqXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICB0cm91dmVyIGxlIHByZW1pZXIgcMOpcmlwaMOpcmlxdWUgaW51dGlsaXPDqVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxww6lyaXBoLj4gIHJlZGltZW5zaW9ubmVyIGxlIHDDqXJpcGjDqXJpcXVlXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgLWosIC0tYXNzb2NpYXRlZCA8ZmljaGllcj4gICAgYWZmaWNoZXIgdG91cyBww6lyaXBow6lyaXF1ZXMgYXNzb2Npw6lzIMOgIDxmaWNoaWVyPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIMOpdml0ZXIgdG91dCBjb25mbGl0IGVudHJlIGxlcyBww6lyaXBow6lyaXF1ZXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxub21icmU+ICAgICAgICAgZMOpbWFycmVyIMOgIGxhIHBvc2l0aW9uIDxub21icmU+IGRhbnMgbGUgZmljaGllclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgICAgIC0tc2l6ZWxpbWl0IDxub21icmU+ICAgICAgcMOpcmlwaMOpcmlxdWUgbGltaXTDqSDDoCA8bm9tYnJlPsKgb2N0ZXRzIGR1IGZpY2hpZXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8dGFpbGxlPiAgICBkw6lmaW5pciBsYSB0YWlsbGUgZGUgc2VjdGV1ciBsb2dpcXVlIMOgIDx0YWlsbGU+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcsOpZXIgdW4gcMOpcmlwaMOpcmlxdWUgYm91Y2xlIHBhcnRpdGlvbm7DqVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIGJvdWNsZSBlbiBsZWN0dXJlIHNldWxlIHN1ciBsZSBww6lyaXBow6lyaXF1ZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvdXZyaXIgbGUgZmljaGllciBkZSBzb3V0aWVudCBhdmVjIE9fRElSRUNUXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlIG5vbSBkdSBww6lyaXBow6lyaXF1ZSBhcHLDqHNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25maWd1cmF0aW9uIChhdmVjIC1mKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIG1vZGUgYmF2YXJkXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDIzCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgZGUgc29ydGllIEpTT04gLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyByZW5zZWlnbmVtZW50cyBzdXIgdG91dCBvdSBjZSBxdWlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3QgaW5kaXF1w6kgKHBhciBkw6lmYXV0KVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgbmUgcGFzIGFmZmljaGVyIGTigJllbi10w6p0ZXMgcG91ciBsYSBzb3J0aWUgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgaW5kaXF1ZXIgbGVzIGNvbG9ubmVzIMOgIGFmZmljaGVyIHBvdXIgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI3Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgLS1saXN0IGJydXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiJXPCoDogQXZlcnRpc3NlbWVudMKgOiBsZSBmaWNoaWVyIGVzdCBwbHVzIHBldGl0IHF1ZSA1MTLCoG9jdGV0cywgbGUgcMOpcmlwaMOpcmlxdWUgYm91Y2xlIHBvdXJyYWl0IMOqdHJlIGludXRpbGUgb3UgaW52aXNpYmxlIHBvdXIgbGVzIG91dGlscyBzeXN0w6htZS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzwqA6IEF2ZXJ0aXNzZW1lbnTCoDogbGUgZmljaGllciBuJ2VzdCBwYXMgY29udGVudSBkYW5zIHVuIHNlY3RldXIgZGUgNTEywqBvY3RldHMsIGxhIGZpbiBkdSBmaWNoaWVyIHNlcmEgaWdub3LDqWUuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlc8KgOiBww6lyaXBow6lyaXF1ZSBkZSBib3VjbGFnZSBleGlzdGFudCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzwqAgaWwgZXhpc3RlIGRlcyBww6lyaXBow6lyaXF1ZXMgZGUgYm91Y2xhZ2UgZW4gbGVjdHVyZSBzZXVsZSBzZSBjaGV2YXVjaGFudCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzwqA6IGlsIGV4aXN0ZSBkZXMgcMOpcmlwaMOpcmlxdWVzIGRlIGJvdWNsYWdlIGNoaWZmcsOpcyBzZSBjaGV2YXVjaGFudCIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYxMgorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSByw6l1dGlsaXNhdGlvbiBkdSBww6lyaXBow6lyaXF1ZSBkZSBib3VjbGFnZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIsOpY2hlYyBk4oCZaW5zcGVjdGlvbiBkdSBww6lyaXBow6lyaXF1ZSBkZSBib3VjbGFnZSIKKworIyBkaXNrLXV0aWxzL21rc3dhcC5jOjYxMgorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgdsOpcmlmaWNhdGlvbiBkZSBjb25mbGl0IGR1IHDDqXJpcGjDqXJpcXVlIGRlIGJvdWNsYWdlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIHVuIHDDqXJpcGjDqXJpcXVlIGRlIGJvdWNsYWdlIGludXRpbGlzw6kiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQndXRpbGlzYXRpb24gZHUgZmljaGllciBhc3NvY2nDqSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIHRhaWxsZSBkZSBibG9jIGxvZ2lxdWUiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MTIKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ3V0aWxpc2F0aW9uIGR1IHDDqXJpcGjDqXJpcXVlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiYXVjdW4gcMOpcmlwaMOpcmlxdWUgYm91Y2xlIGluZGlxdcOpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAibGVzIG9wdGlvbnMgJXMgbmUgc29udCBwZXJtaXNlcyBxdWUgcGVuZGFudCBsYSBjb25maWd1cmF0aW9uIGRlIHDDqXJpcGjDqXJpcXVlIGJvdWNsZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAibCdvcHRpb24gLS1vZmZzZXQgbidlc3QgcGFzIHBlcm1pc2UgZGFucyBjZSBjb250ZXh0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBkw6lmaW5pdGlvbiBkZSBjYXBhY2l0w6kiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGxhIHPDqWxlY3Rpb24gZOKAmWlvIGRpcmVjdGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGxhIGTDqWZpbml0aW9uIGRlIGxhIHRhaWxsZSBkZSBibG9jIGxvZ2lxdWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1Cittc2dpZCAibm9uZSIKK21zZ3N0ciAicmllbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICJwYXJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgImNvbXBsZXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk4Cittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICJjb250ZW5ldXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgImhvcml6b250YWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICJ2ZXJ0aWNhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICJudW3DqXJvIGRlIHByb2Nlc3NldXIgbG9naXF1ZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBkZSBjxZN1ciBsb2dpcXVlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gZGUgc29ja2V0IGxvZ2lxdWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBkZSBtb2RlIE5VTUEgbG9naXF1ZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAibnVtw6lybyBkZSBsaXZyZSBsb2dpcXVlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIm51bcOpcm8gZGUgdGlyb2lyIGxvZ2lxdWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIm1vbnRyZSBsYSBmYcOnb24gZGUgcGFydGFnZXIgbGVzIGNhY2hlcyBlbnRyZSBwcm9jZXNzZXVycyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAibW9kZSBkaXN0cmlidcOpIGRlIHByb2Nlc3NldXIgc3VyIG1hdMOpcmllbCB2aXJ0dWVsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDIKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICJhZHJlc3NlIHBoeXNpcXVlIGQndW4gcHJvY2Vzc2V1ciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJtb250cmUgc2kgbCdoeXBlcnZpc2V1ciBhIGFsbG91w6kgbGUgcHJvY2Vzc2V1ciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJtb250cmUgc2kgTGludXggdXRpbGlzZSBlbiBjZSBtb21lbnQgbGUgcHJvY2Vzc2V1ciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIm1vbnRyZSBsYSB2aXRlc3NlIG1heGltYWxlIGR1IHByb2Nlc3NldXIgZW4gTUh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAibW9udHJlIGxhIHZpdGVzc2UgbWluaW1hbGUgZHUgcHJvY2Vzc2V1ciBlbiBNSHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgImVycmV1csKgOiDDqWNoZWMgZGUgdW5hbWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGTDqXRlcm1pbmF0aW9uIGR1IG5vbWJyZSBkZSBwcm9jZXNzZXVyc8KgOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgImltcG9zc2libGUgZGUgcmVzdGF1cmVyIGxlIHRyYWl0ZW1lbnQgZGUgc2lnbmF1eCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTMwNworbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiw4ljaGVjIGTigJlleHRyYWN0aW9uIGR1IG51bcOpcm8gZGUgbsWTdWQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIlkiCittc2dzdHIgIk8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyBMYSBzdWl0ZSBlc3QgZW4gZm9ybWF0IGFuYWx5c2FibGUsIHRyYW5zbWlzc2libGUgw6AgZCdhdXRyZXNcbiIKKyIjIHByb2dyYW1tZXMuIExlcyBpdGVtcyBkaXN0aW5jdHMgZGFucyBjaGFxdWUgY29sb25uZSBvbnRcbiIKKyIjIHVuIG51bcOpcm8gZCdpZGVudGlmaWFudCB1bmlxdWUgw6AgcGFydGlyIGRlIHrDqXJvLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJjaGl0ZWN0dXJlwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJNb2RlKHMpIG9ww6lyYXRvaXJlKHMpIGRlcyBwcm9jZXNzZXVyc8KgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzQyCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIkJvdXRpc21lwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiUHJvY2Vzc2V1cihzKcKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNYXNxdWUgZGUgcHJvY2Vzc2V1cihzKSBlbiBsaWduZcKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0ZSBkZSBwcm9jZXNzZXVyKHMpIGVuIGxpZ25lwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNYXNxdWUgZGUgcHJvY2Vzc2V1cihzKSBob3JzIGxpZ25lwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0ZSBkZSBwcm9jZXNzZXVyKHMpIGhvcnMgbGlnbmXCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJUaHJlYWQocykgcGFyIGPFk3VywqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiQ8WTdXIocykgcGFyIHNvY2tldMKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwOAorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIlNvY2tldChzKSBwYXIgbGl2cmXCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTEKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICJMaXZyZShzKSBwYXIgdGlyb2lywqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiVGlyb2lyKHMpwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIkxpdnJlKHMpwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiU29ja2V0KHMpwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiTsWTdWQocykgTlVNQcKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIklkZW50aWZpYW50IGNvbnN0cnVjdGV1csKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIlR5cGUgZGUgbWFjaGluZcKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJGYW1pbGxlIGRlIHByb2Nlc3NldXLCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZMOobGXCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTm9tIGRlIG1vZMOobGXCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzQKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIlLDqXZpc2lvbsKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJWaXRlc3NlIGR1IHByb2Nlc3NldXIgZW4gTUh6wqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiVml0ZXNzZSBkeW5hbWlxdWUgZHUgcHJvY2Vzc2V1ciBlbiBNSHrCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIlZpdGVzc2Ugc3RhdGlxdWUgZHUgcHJvY2Vzc2V1ciBlbiBNSHrCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIlZpdGVzc2UgbWF4aW1hbGUgZHUgcHJvY2Vzc2V1ciBlbiBNSHrCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDQKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIlZpdGVzc2UgbWluaW1hbGUgZHUgcHJvY2Vzc2V1ciBlbiBNSHrCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDYKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIkJvZ29NSVBTwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ5IHN5cy11dGlscy9sc2NwdS5jOjE4NTEKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIlZpcnR1YWxpc2F0aW9uwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0Cittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIkh5cGVydmlzZXVywqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU2Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJDb25zdHJ1Y3RldXIgZCdoeXBlcnZpc2V1csKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NworbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJUeXBlIGRlIHZpcnR1YWxpc2F0aW9uwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYwCittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIk1vZGUgZGlzdHJpYnXDqcKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NCBzeXMtdXRpbHMvbHNjcHUuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiQ2FjaGUgJXPCoDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiTsWTdWQgTlVNQcKgJWQgZGUgcHJvY2Vzc2V1cihzKcKgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJTb2NrZXRzIHBoeXNpcXVlc8KgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiUHJvY2Vzc2V1cnMgbWF0w6lyaWVsc8KgOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJQcm9jZXNzZXVycyAvIGPFk3VycyBtYXTDqXJpZWxzwqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJEcmFwYXV4wqA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgZGVzIGluZm9ybWF0aW9ucyBzdXIgbCdhcmNoaXRlY3R1cmUgZHUgcHJvY2Vzc2V1ci5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBhZmZpY2hlciDDoCBsYSBmb2lzIGxlcyBwcm9jZXNzZXVycyBlbiBldCBob3JzIGxpZ25lXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhciBkw6lmYXV0IHBvdXIgLWUpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDcKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiIKKyIgLWIsIC0tb25saW5lICAgICAgICAgICAgbidhZmZpY2hlciBxdWUgbGVzIHByb2Nlc3NldXJzIGVuIGxpZ25lXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhciBkw6lmYXV0IHBvdXIgLXApXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIG4nYWZmaWNoZXIgcXVlIGxlcyBwcm9jZXNzZXVycyBob3JzIGxpZ25lXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICB1dGlsaXNlciBKU09OIGNvbW1lIGZvcm1hdCBwYXIgZMOpZmF1dCBldCDDqXRlbmR1XG4iCisKKyMgcy9hbi9pbi8KKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0ZT5dICBhZmZpY2hlciBlbiBmb3JtYXQgw6l0ZW5kdSBsaXNpYmxlXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9PGxpc3RlPl0gICBhZmZpY2hlciBlbiBmb3JtYXQgYW5hbHlzYWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxyw6lwLj4gICAgdXRpbGlzZXIgY2UgcsOpcGVydG9pcmUgY29tbWUgcmFjaW5lIGR1IHN5c3TDqG1lXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIiCisiIC14LCAtLWhleCAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBtYXNxdWVzIGhleGFkw6ljaW1hdXggYXUgbGlldSBkZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0ZXMgZGUgcHJvY2Vzc2V1cnNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNAorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBhZmZpY2hlciBsZXMgSUQgcGh5c2lxdWUgYXUgbGlldSBkZXMgbG9naXF1ZXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiYXJndW1lbnQgaW5jb3JyZWN0IHBvdXIgJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIlc8KgOiBsZXMgb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgZXQgLS1vZmZsaW5lIG5lIHBldXZlbnQgw6p0cmUgdXRpbGlzw6llcyBxdSdhdmVjIGxlcyBvcHRpb25zIC0tZXh0ZW5kZWQgb3UgLS1wYXJzZS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJSZXNzb3VyY2UgY2xlZiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICJDbGVmIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiUmVzc291cmNlIElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICJOb20gZCd1dGlsaXNhdGV1ciBvdSBVSUQgZHUgcHJvcHJpw6l0YWlyZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIiCittc2dzdHIgIlByb3ByacOpdGFpcmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJQZXJtaXNzaW9ucyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIlVJRCBkdSBjcsOpYXRldXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiQ3LDqWF0ZXVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiR0lEIGR1IGNyw6lhdGV1ciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiR3JvdXBlIGNyw6lhdGV1ciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAiSUQgdXRpbGlzYXRldXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIk5vbSBkJ3V0aWxpc2F0ZXVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiSUQgZGUgZ3JvdXBlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIkdJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiTm9tIGR1IGdyb3VwZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIkRhdGUgZHUgZGVybmllciBjaGFuZ2VtZW50IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiRGVybmnDqHJlIG1vZGlmaWNhdGlvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiT2N0ZXRzIHV0aWxpc8OpcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJOb21icmUgZGUgbWVzc2FnZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJNZXNzYWdlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJEYXRlIGR1IGRlcm5pZXIgbWVzc2FnZSBlbnZvecOpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiTWVzc2FnZSBlbnZvecOpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJEYXRlIGR1IGRlcm5pZXIgbWVzc2FnZSByZcOndSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICJNZXNzYWdlIHJlw6d1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiUElEIGR1IGRlcm5pZXIgZXhww6lkaXRldXIgZGUgbWVzc2FnZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiRXhww6lkaXRldXIgZHUgbWVzc2FnZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiUElEIGR1IGRlcm5pZXIgcmVjZXZldXIgZGUgbWVzc2FnZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICJSZWNldmV1ciBkdSBtZXNzYWdlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlRhaWxsZSBkdSBzZWdtZW5zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJOb21icmUgZGUgcHJvY2Vzc3VzIGxpw6lzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIlByb2Nlc3N1cyBsacOpcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICLDiXRhdCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIkRhdGUgZOKAmWF0dGFjaGVtZW50IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiRGF0ZSBkZSBkw6l0YWNoZW1lbnQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICJMaWduZSBkZSBjb21tYW5kZSBkdSBjcsOpYXRldXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiQ29tbWFuZGUgZHUgY3LDqWF0ZXVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIlBJRCBkdSBjcsOpYXRldXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICJDcsOpYXRldXIgUElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJQSUQgZHUgZGVybmllciB1dGlsaXNhdGV1ciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiUElEIGR1IGRlcm5pZXIgdXRpbGlzYXRldXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOb21icmUgZGUgc8OpbWFwaG9yZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlPDqW1hcGhvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiZGF0ZSBkZSBsYSBkZXJuacOocmUgb3DDqXJhdGlvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgImRlcm5pw6hyZSBvcMOpcmF0aW9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJOb20gZGUgbGEgcmVzc291cmNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiUmVzc291cmNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiRGVzY3JpcHRpb24gZGUgbGEgcmVzc291cmNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiRGVzY3JpcHRpb24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJBY3R1ZWxsZW1lbnQgdXRpbGlzw6kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIlV0aWxpc8OpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlBvdXJjZW50YWdlIGQndXRpbGlzYXRpb24gZHUgc3lzdMOobWUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiVXRpbGlzYXRpb24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICJMaW1pdGUgw6AgbCfDqWNoZWxsZSBkdSBzeXN0w6htZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIkxpbWl0ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAibGEgY29sb25uZSAlcyBuZSBzJ2FwcGxpcXVlIHBhcyBhdSBJUEMgc3DDqWNpZmnDqSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm9ybWF0aW9ucyBzdXIgbCd1dGlsaXNhdGlvbiBkYW5zIHRvdXQgbGUgc3lzdMOobWUgKHBldXQgw6p0cmUgdXRpbGlzw6kgYXZlYyAtbSwgLXEgZXQgLXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgICAgYWZmaWNoZXIgZGVzIHByw6ljaXNpb25zIHN1ciBsYSByZXNzb3VyY2UgaWRlbnRpZmnDqWUgcGFyIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIGFmZmljaGVyIGxhIFRBSUxMRSBlbiBvY3RldHMgcGx1dMO0dCBxdSdlbiBmb3JtYXQgbGlzaWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBhZmZpY2hlciBsZSBjcsOpYXRldXIgZXQgbGUgcHJvcHJpw6l0YWlyZVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBKU09OXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgZW4gbGlzdGUgKHBhciBleGVtcGxlIGF2ZWMgLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgYWZmaWNoZXIgbGVzIHBlcm1pc3Npb25zIG51bcOpcmlxdWVzIChjb2xvbm5lIFBFUk1TKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIG1vbnRyZXIgbGVzIGhldXJlcyBkJ2F0dGFjaGVtZW50LCBkZSBkw6l0YWNoZW1lbnQgZXQgZGUgbW9kaWZpY2F0aW9uXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sb25uZXMgZ8OpbsOpcmlxdWVzwqA6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2xvbm5lcyBkZSBtw6ltb2lyZSBwYXJ0YWfDqWUgKC0tc2htZW1zKcKgOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sb25uZXMgZGUgZmlsZSBkZSBtZXNzYWdlcyAoLS1xdWV1ZXMpwqA6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2xvbm5lcyBzw6ltYXBob3JlcyAoLS1zZW1hcGhvcmVzKSA6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2xvbm5lcyBkZSByw6lzdW3DqSAoLS1nbG9iYWwpwqA6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyLDiWzDqW1lbnRzwqA6XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiw6ljaGVjIGRlIGTDqWZpbml0aW9uIGRlcyBkb25uw6llcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiTm9tYnJlIGTigJlpZGVudGlmaWFudHMgZGUgc8OpbWFwaG9yZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEzCittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIk5vbWJyZSB0b3RhbCBkZSBzw6ltYXBob3JlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE0Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJNYXhpbXVtIGRlIHPDqW1hcGhvcmVzIHBhciBlbnNlbWJsZSBkZSBzw6ltYXBob3Jlcy4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgIk5vbWJyZSBtYXhpbWFsIGTigJlvcMOpcmF0aW9ucyBwYXIgc2Vtb3AoMikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNgorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIlZhbGV1ciBtYXhpbWFsZSBkZSBzw6ltYXBob3JlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIk5vbWJyZSBkZSBmaWxlcyBkZSBtZXNzYWdlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc0Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJUYWlsbGUgbWF4aW1hbGUgZGUgbWVzc2FnZSAob2N0ZXRzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc1Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJUYWlsbGUgZGUgZmlsZSBtYXhpbWFsZSBwYXIgZMOpZmF1dCAob2N0ZXRzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAibm9yZXNlcnZlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDcyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiU2VnbWVudCBkZSBNw6ltb2lyZSBwYXJ0YWfDqWUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJQYWdlcyBkZSBtw6ltb2lyZSBwYXJ0YWfDqWUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiVGFpbGxlIG1heGltYWxlIGR1IHNlZ21lbnQgZGUgbcOpbW9pcmUgcGFydGFnw6kgKG9jdGV0cykiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAidGFpbGxlIG1pbmltYWxlIGR1IHNlZ21lbnQgZGUgbcOpbW9pcmUgcGFydGFnw6llIChvY3RldHMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGwnaWRlbnRpZmlhbnQgSVBDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tZ2xvYmFsIGVzdCBtdXR1ZWxsZW1lbnQgZXhjbHVzaWYgYXZlYyAtLWNyZWF0b3IsIC1pZCBldCAtLXRpbWUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJhZHJlc3NlcyBkZSBkw6lidXQgZXQgZGUgZmluIGRlIGxhIHBsYWdlIG3DqW1vaXJlIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgImludGVydmFsbGUgZGUgdGFpbGxlIGR1IG3DqW1vaXJlIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInN0YXR1dCBlbiBsaWduZSBkZSBsYSBwbGFnZSBtw6ltb2lyZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCittc2dpZCAibWVtb3J5IGlzIHJlbW92YWJsZSIKK21zZ3N0ciAibcOpbW9pcmUgYW1vdmlibGUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICJudW3DqXJvIGRlIGJsb2MgbcOpbW9pcmUgb3UgcGxhZ2UgZGUgYmxvY3MiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworbXNnaWQgIm51bWEgbm9kZSBvZiBtZW1vcnkiCittc2dzdHIgIm7Fk3VkIG51bWEgZGUgbcOpbW9pcmUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorbXNnaWQgInZhbGlkIHpvbmVzIGZvciB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJ6b25lcyB2YWxpZGVzIHBvdXIgbGEgcGxhZ2UgbcOpbW9pcmUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MQorbXNnaWQgIm9ubGluZSIKK21zZ3N0ciAiZW4gbGlnbmUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgImhvcnMgbGlnbmUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIm9uLT5vZmYiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgIlRhaWxsZSBkdSBibG9jIG3DqW1vaXJlwqA6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjMgc3lzLXV0aWxzL2xzbWVtLmM6MzMzCittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgIk3DqW1vaXJlIHBhcnRhZ8OpZSB0b3RhbGXCoDoiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKK21zZ2lkICJUb3RhbCBvZmZsaW5lIG1lbW9yeToiCittc2dzdHIgIk3DqW1vaXJlIGhvcnMgbGlnbmUgdG90YWxlwqA6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIsOJY2hlYyBkJ291dmVydHVyZSBkZSAlcyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDcyCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICJDZSBzeXN0w6htZSBuZSBwZXJtZXQgcGFzIGxlcyBibG9jcyBkZSBtw6ltb2lyZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICJMaXN0ZSBkZXMgcGxhZ2VzIGRlIG3DqW1vaXJlIGRpc3BvbmlibGUgYXZlYyBsZXVyIHN0YXR1dCBlbi1saWduZS5cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIGxpc3QgZWFjaCBpbmRpdmlkdWFsIG1lbW9yeSBibG9ja1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgYWZmaWNoZXIgY2hhcXVlIGJsb2MgbcOpbW9pcmUgaW5kaXZpZHVlbFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtUywgLS1zcGxpdCA8bGlzdGU+ICBzY2luZGVyIGxlcyBwbGFnZXMgc2Vsb24gbGVzIGNvbG9ubmVzIHNww6ljaWZpw6llc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTAKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgdXNlIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxyw6lwLj4gICAgdXRpbGlzZXIgY2UgcsOpcGVydG9pcmUgY29tbWUgcmFjaW5lIGR1IHN5c3TDqG1lXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiICAgICAtLXN1bW1hcnlbPXF1YW5kXSBhZmZpY2hlciBsJ2luZm9ybWF0aW9uIHLDqXN1bcOpZSAobmV2ZXIsIGFsd2F5cyBvdSBvbmx5KVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXN1bW1hcnkgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IC0tc3VtbWFyeSBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJsZXMgb3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gZXQgLS1zdW1tYXJ5PW9ubHkgcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY2NCBzeXMtdXRpbHMvbHNucy5jOjc4MQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiw6ljaGVjIGQnaW5pdGlhbGlzYXRpb24gZHUgdGFibGVhdSBkZSBzb3J0aWUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY3NgorbXNnaWQgIkZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIsOJY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGRlIGxhIGNvbG9ubmUgZGUgc29ydGllIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjk5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgImlkZW50aWZpYW50IGTigJllc3BhY2UgZGUgbm9tIChpbm9kZSBudW1iZXIpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICJ0eXBlIGTigJllc3BhY2UgZGUgbm9tIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiY2hlbWluIGRlIGwnZXNwYWNlIGRlIG5vbSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIm5vbWJyZSBkZSBwcm9jZXNzdXMgZGFucyBsJ2VzcGFjZSBkZSBub20iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJwbHVzIHBldGl0IFBJRCBkYW5zIGwnZXNwYWNlIGRlIG5vbSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDQKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIlBQSUQgZHUgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICJsaWduZSBkZSBjb21tYW5kZSBkdSBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIlVJRCBkdSBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3Cittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAibm9tIGQndXRpbGlzYXRldXIgZHUgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICJJRCBkZSBsJ2VzcGFjZSBkZSBub20gdGVsIHF1J3V0aWxpc8OpIHBhciBsZSBzb3VzLXN5c3TDqG1lIHLDqXNlYXUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICJwb2ludCBkZSBtb250YWdlIG5zZnMgKHNvdXMtc3lzdMOobWUgcsOpc2VhdSBoYWJpdHVlbGxlbWVudCB1dGlsaXPDqSkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiw6ljaGVjIGQnYWpvdXQgZCd1bmUgbGlnbmUgZW4gc29ydGllIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk4Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiQWZmaWNoZXIgbGVzIGVzcGFjZXMgZGUgbm9tIHN5c3TDqG1lLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwNQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBhZmZpY2hlciBsZXMgZXNwYWNlcyBkZSBub20gZGUgcHJvY2Vzc3VzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgbmUgcGFzIHV0aWxpc2VyIHVuZSByZXByw6lzZW50YXRpb24gbXVsdGktbGlnbmVzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxub20+ICAgICAgIHR5cGUgZCdlc3BhY2UgZGUgbm9tIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgInR5cGUgZOKAmWVzcGFjZSBkZSBub20gaW5jb25udcKgOiAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICJsJ29wdGlvbiAtLXRhc2sgZXQgPG5hbWVzcGFjZT4gcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBk4oCZZXNwYWNlIGRlIG5vbSBpbmNvcnJlY3QiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgImVzcGFjZSBkZSBub20gbm9uIHRyb3V2w6nCoDogJWp1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgInNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IHV0aWxpc2VyIGwnb3B0aW9uIMKrwqAtLSVzwqDCuyAobCdVSUQgZWZmZWN0aWYgZXN0ICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njggc3lzLXV0aWxzL3Vtb3VudC5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCBmYWlyZSBjZWxhIChsJ1VJRCBlZmZlY3RpZiBlc3QgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAic2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgdXRpbGlzZXIgbCdvcHRpb24gwqvCoC0tJXPCoMK7IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCBmYWlyZSBjZWxhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIGRlICVzIChsaWJtb3VudCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZGUgbXRhYiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkxIHN5cy11dGlscy91bW91bnQuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiJS0yNXPCoDogaWdub3LDqVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1c8KgOiBkw6lqw6AgbW9udMOpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzwqA6ICVzIGTDqXBsYWPDqSB2ZXJzICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlc8KgOiAlcyBsacOpIHN1ciAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXPCoDogJXMgbW9udMOpIHN1ciAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlc8KgOiBpbmRpY2F0ZXVycyBkZSBwcm9wYWdhdGlvbiAlcyBtb2RpZmnDqXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50wqA6ICVzIG5lIGNvbnRpZW50IHBhcyBkJ8OpdGlxdWV0dGVzIFNFTGludXguXG4iCisiICAgICAgIFZvdXMgYXZleiBtb250w6kgdW4gc3lzdMOobWUgZGUgZmljaGllcnMgcGVybWV0dGFudCBsJ3V0aWxpc2F0aW9uXG4iCisiICAgICAgIGTigJnDqXRpcXVldHRlcywgbWFpcyBxdWkgbidlbiBjb250aWVudCBwYXMsIHN1ciB1biBzeXN0w6htZSBTRUxpbnV4LlxuIgorIiAgICAgICBMZXMgYXBwbGljYXRpb25zIHNhbnMgZHJvaXQgZ8OpbsOpcmVyb250IHByb2JhYmxlbWVudCBkZXMgbWVzc2FnZXNcbiIKKyIgICAgICAgQVZDIGV0IG5lIHBvdXJyb250IHBhcyBhY2PDqWRlciDDoCBjZSBzeXN0w6htZSBkZSBmaWNoaWVycy5cbiIKKyIgICAgICAgUG91ciBwbHVzIGRlIHByw6ljaXNpb25zLCBjb25zdWx0ZXogcmVzdG9yZWNvbig4KSBldCBtb3VudCg4KS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzLiIKK21zZ3N0ciAiJXPCoDogJXMuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGQnYW5hbHlzZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICJmb3JtYXQgZOKAmW9wdGlvbiBub24gcHJpcyBlbiBjaGFyZ2XCoDogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICLDqWNoZWMgZCdham91dCBkZSBsJ29wdGlvbiDCq8KgJXPCoMK7IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPHLDqXBlcnRvaXJlPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8csOpcGVydG9pcmU+XG4iCisiICUxJHMgPG9ww6lyYXRpb24+IDxwb2ludGRlbW9udGFnZT4gWzxjaWJsZT5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTW9udGVyIHVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vbnRlciB0b3VzIGxlcyBzeXN0w6htZXMgZGUgZmljaGllcnMgaW5kaXF1w6lzIGRhbnMgZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgbmUgcGFzIGNhbm9uaXNlciBsZXMgY2hlbWluc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBleMOpY3V0ZXIgw6AgdmlkZSwgc2F1dGVyIGwnYXBwZWwgc3lzdMOobWUgbW91bnQoMilcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgY3LDqWVyIHVuIHByb2Nlc3N1cyBmaWxzIHBvdXIgY2hhcXVlIHDDqXJpcGjDqXJpcXVlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAodXRpbGlzZXIgYXZlYyAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPGNoZW1pbj4gICAgYXV0cmUgZmljaGllciBwb3VyIC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbmUgcGFzIGFwcGVsZXIgbGVzIGF1eGlsaWFpcmVzIG1vdW50Ljx0eXBlPlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgYWZmaWNoZXIgYXVzc2kgbGVzIMOpdGlxdWV0dGVzIGR1IHN5c3TDqG1lIGRlIGZpY2hpZXJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE0IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBuZSBwYXMgw6ljcmlyZSBkYW5zIC9ldGMvbXRhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3RlPiAgIGxpc3RlIGQnb3B0aW9ucyBkZSBtb250YWdlIHPDqXBhcsOpZSBwYXIgZGVzIHZpcmd1bGVzXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdGU+IGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAodXRpbGlzZXIgYXZlYyAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW9udGVyIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXJzIGVuIGxlY3R1cmUgc2V1bGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAoaWRlbnRpcXVlIMOgIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgICBsaW1pdGVyIGwnZW5zZW1ibGUgZGUgdHlwZXMgZGUgc3lzdMOobWVzIGRlIGZpY2hpZXJzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb3VyY2UgPHNvdXJjZT4gICBpbmRpcXVlciBleHBsaWNpdGVtZW50IGxhIHNvdXJjZSAoY2hlbWluLCDDqXRpcXUuLCBVVUlEKVxuIgorIiAgICAgLS10YXJnZXQgPGNpYmxlPiAgICBpbmRpcXVlciBleHBsaWNpdGVtZW50IGxlIHBvaW50IGRlIG1vbnRhZ2VcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI0IHN5cy11dGlscy91bW91bnQuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb250ZXIgbGUgc3lzdMOobWUgZGUgZmljaGllciBuZSBsZWN0dXJlL8OpY3JpdHVyZSAocGFyIGTDqWZhdXQpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTb3VyY2XCoDpcbiIKKyIgLUwsIC0tbGFiZWwgPMOpdGlxdWV0dGU+IHN5bm9ueW1lIGRlIExBQkVMPTzDqXRpcXVldHRlPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltZSBkZSBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08w6l0aXF1ZXR0ZT4gICAgICAgaW5kaXF1ZXIgcMOpcmlwaC4gcGFyIMOpdGlxdWV0dGUgZGUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgaW5kaXF1ZXIgcMOpcmlwaMOpcmlxdWUgcGFyIFVVSUQgZGUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKyIgUEFSVExBQkVMPTzDqXRpcXVldHRlPiAgIGluZGlxdWVyIGxlIHDDqXJpcGjDqXJpcXVlIHBhciDDqXRpcXVldHRlIGRlIHBhcnRpdGlvblxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBpbmRpcXVlciBsZSBww6lyaXBow6lyaXF1ZSBwYXIgVVVJRCBkZSBwYXJ0aXRpb25cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorIiA8cMOpcmlwaMOpcmlxdWU+ICAgICAgICAgIGluZGlxdWVyIGxlIHDDqXJpcGjDqXJpcXVlIHBhciBjaGVtaW5cbiIKKyIgPHLDqXBlcnRvaXJlPiAgICAgICAgICAgIHB0IGRlIG1vbnRhZ2UgcG91ciByZW1vbnRhZ2VzIChjb25zdWx0ZXogLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmljaGllcj4gICAgICAgICAgICAgICBmaWNoaWVyIHLDqWd1bGllciBwb3VyIGNvbmZpZ3VyYXRpb24gZGUgcMOpcmlwaC4gYm91Y2xlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcMOpcmF0aW9uc8KgOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb250ZXIgdW4gc291cy1yw6lwZXJ0b2lyZSBhaWxsZXVycyAoY29tbWUgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgZMOpcGxhY2VyIHVuIHNvdXMtcsOpcGVydG9pcmUgYWlsbGV1cnNcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW9udGVyIHVuIHNvdXMtcsOpcC4gZXQgdG91cyBsZXMgc291cy1tb250YWdlcyBhaWxsZXVyc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFycXVlciB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbW1lIHBhcnRhZ8OpXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcnF1ZXIgdW4gc291cy1yw6lwZXJ0b2lyZSBjb21tZSBlc2NsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcnF1ZXIgdW4gc291cy1yw6lwZXJ0b2lyZSBjb21tZSBwcml2w6lcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFycXVlciB1biBzb3VzLXLDqXBlcnRvaXJlIGNvbW1lIG5vbiByZW1vbnRhYmxlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICBtYXJxdWVyIHLDqWN1cnNpdmVtZW50IHRvdXQgdW4gc291cy1yw6lwZXJ0b2lyZSBwYXJ0YWfDqVxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICBtYXJxdWVyIHLDqWN1cnNpdmVtZW50IHRvdXQgdW4gc291cy1yw6lwZXJ0b2lyZSBlc2NsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIG1hcnF1ZXIgcsOpY3Vyc2l2ZW1lbnQgdG91dCB1biBzb3VzLXLDqXBlcnRvaXJlIHByaXbDqVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICBtYXJxdWVyIHLDqWN1cnNpdmVtZW50IHRvdXQgdW4gc291cy1yw6lwLiBub24gcmVtb250YWJsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZGUgY29udGV4dGUgbGlibW91bnQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIsOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGRlcyBvcHRpb25zIGRlIG1vdGlmIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJzb3VyY2UgaW5kaXF1w6llIHBsdXNpZXVycyBmb2lzIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC9jaGVtaW4vdmVycy9yw6lwZXJ0b2lyZVxuIgorIiAlMSRzIC14IC9kZXYvcMOpcmlwaMOpcmlxdWVcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICJWw6lyaWZpZXIgc2kgdW4gcsOpcGVydG9pcmUgb3UgdW4gZmljaGllciBlc3QgdW4gcG9pbnQgZGUgbW9udGFnZS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgbW9kZSBzaWxlbmNpZXV4LCBuZSByaWVuIGFmZmljaGVyXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBhZmZpY2hlciBsZSBudW3DqXJvIG1hajptaW4gZHUgc3lzdMOobWUgZGUgZmljaGllcnNcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIGFmZmljaGVyIGxlIG51bcOpcm8gbWFqOm1pbiBkdSBww6lyaXBow6lyaXF1ZSBibG9jXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgbidlc3QgcGFzIHVuIHBvaW50IGRlIG1vbnRhZ2VcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGVzdCB1biBwb2ludCBkZSBtb250YWdlXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbW1lPiBbPGFyZ3VtZW50PiAuLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICJFeMOpY3V0ZXIgdW4gcHJvZ3JhbW1lIGF2ZWMgbGVzIGVzcGFjZXMgZGUgbm9tcyBk4oCZYXV0cmVzIHByb2Nlc3N1cy5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIHNhaXNpciB0b3VzIGxlcyBlc3BhY2VzIGRlIG5vbXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8UElEPiAgICAgcHJvY2Vzc3VzIGNpYmxlIGQnb8O5IG9idGVuaXIgbGVzIGVzcGFjZXMgZGUgbm9tc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGZpY2guPl0gIGVudHJlciBsJ2VzcGFjZSBkZSBub21zIGRlIG1vbnRhZ2VcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGZpY2hpZXI+XSAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgVVRTIChub20gZCdow7R0ZSzCoGV0Yy4pXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxmaWNoaWVyPl0gIGVudHJlciBsJ2VzcGFjZSBkZSBub21zIElQQyBTeXN0ZW3CoFZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxmaWNoaWVyPl0gIGVudHJlciBsJ2VzcGFjZSBkZSBub21zIHLDqXNlYXVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGZpY2hpZXI+XSAgZW50cmVyIGwnZXNwYWNlIGRlIG5vbXMgZGUgUElEXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxmaWNoaWVyPl0gIGVudHJlciBsJ2VzcGFjZSBkZSBub21zIGNncm91cFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxmaWNoaWVyPl0gICBlbnRyZXIgbCdlc3BhY2UgZGUgbm9tcyBkJ3V0aWxpc2F0ZXVyXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIGNvbmZpZ3VyZXIgbOKAmVVJRCBkYW5zIGwnZXNwYWNlIGRlIG5vbXMgZW50csOpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIGNvbmZpZ3VyZXIgbGUgR0lEIGRhbnMgbCdlc3BhY2UgZGUgbm9tcyBlbnRyw6lcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyAgbmUgcGFzIG1vZGlmaWVyIGxlcyBVSUQgbmkgR0lEXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz08csOpcC4+XSAgICBkw6lmaW5pciBsZSByw6lwZXJ0b2lyZSByYWNpbmVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MworbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC13LCAtLXdkWz08csOpcC4+XSAgICAgIGTDqWZpbmlyIGxlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWxcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorIiAtRiwgLS1uby1mb3JrICAgICAgICAgIG5lIHBhciBjcsOpZXIgZGUgcHJvY2Vzc3VzIGZpbHMgYXZhbnQgZCdleMOpY3V0ZXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGxlIDxwcm9ncmFtbWU+XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTYKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgZMOpZmluaXIgbGUgY29udGV4dGUgU0VMaW51eCBzZWxvbiAtLXRhcmdldCBQSURcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgImF1Y3VuIG5vbSBkZSBmaWNoaWVyIG91IFBJRCBjaWJsZSBmb3VybmkgcG91ciAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGzigJlVSUQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBHSUQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgInBhcyBkZSBQSUQgY2libGUgc3DDqWNpZmnDqSBwb3VyIC0tZm9sbG93LWNvbnRleHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHLDqWN1cMOpcmVyIGxlIGNvbnRleHRlIFNFTGludXggJWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIsOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGxlIGNvbnRleHRlIGTigJlleMOpY3V0aW9uIMOgIMKrwqAlc8KgwrsiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICJwYXMgZGUgUElEIGNpYmxlIGluZGlxdcOpIHBvdXIgLS1hbGwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHLDqWFzc29jaWF0aW9uIMOgIGwnZXNwYWNlIGRlIG5vbXMgwqvCoCVzwqDCuyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyIGxlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgYWN0dWVsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0OAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbW9kaWZpY2F0aW9uIGR1IHLDqXBlcnRvaXJlIHBhciBsZSBkZXNjcmlwdGV1ciBkZSBmaWNoaWVycyByYWNpbmUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNocm9vdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBtb2RpZmljYXRpb24gZHUgcsOpcGVydG9pcmUgcGFyIGxlIGRlc2NyaXB0ZXVyIGRlIGZpY2hpZXJzIGR1IHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDcyIHN5cy11dGlscy9zZXRwcml2LmM6OTYyIHN5cy11dGlscy9zZXRwcml2LmM6OTY5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHNldGdyb3VwcyIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBub3V2ZWxsZV9yYWNpbmUgYW5jaWVuX2VtcGxhY2VtZW50XG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ2hhbmdlciBsZSBzeXN0w6htZSBkZSBmaWNoaWVycyByYWNpbmUuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICLDqWNoZWMgZHUgZMOpcGxhY2VtZW50IGRlIHJhY2luZSBkZSDCq8KgJXPCoMK7IHZlcnMgwqvCoCVzwqDCuyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImxpbWl0ZSBkJ2VzcGFjZSBkJ2FkcmVzc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgInRhaWxsZSBtYXhpbWFsZSBkZSBmaWNoaWVyIGNvcmUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAidGVtcHMgbWljcm9wcm9jZXNzZXVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2Vjb25kZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJ0YWlsbGUgbWF4aW1hbGUgZGUgZG9ubsOpZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJ0YWlsbGUgbWF4aW1hbGUgZGUgZmljaGllciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSB2ZXJyb3VzIGRlIGZpY2hpZXIgdGVudXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAidmVycm91cyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgImVzcGFjZSBkJ2FkcmVzc2UgbWF4aW1hbCB2ZXJyb3VpbGzDqSBlbiBtw6ltb2lyZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkJ29jdGV0cyBkYW5zIGxlcyBmaWxlcyBkZSBtZXNzYWdlcyBQT1NJWCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAicHJpb3JpdMOpIG5pY2UgbWF4aW1hbGUgcGVybWlzZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibm9tYnJlIG1heGltYWwgZGUgZmljaGllcnMgb3V2ZXJ0cyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICJmaWNoaWVycyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSBwcm9jZXNzdXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgInByb2Nlc3N1cyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAidGFpbGxlIGRlIG3DqW1vaXJlIHLDqXNpZGVudGUgbWF4aW1hbGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJwcmlvcml0w6kgdGVtcHMgcsOpZWwgbWF4aW1hbGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgImV4cGlyYXRpb24gcG91ciBsZXMgdMOiY2hlcyBlbiB0ZW1wcyByw6llbCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAibWljcm9zZWNvbmRlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJub21icmUgbWF4aW1hbCBkZSBzaWduYXV4IGVuIGF0dGVudGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICJzaWduYXV4IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgInRhaWxsZSBtYXhpbWFsZSBkZSBwaWxlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIm5vbSBkZSByZXNzb3VyY2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImRlc2NyaXB0aW9uIGRlIHJlc3NvdXJjZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICJsaW1pdGUgc291cGxlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJsaW1pdGUgYWJzb2x1ZSAocGxhZm9uZCkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgInVuaXTDqXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSBbLXAgPFBJRD5dXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxjb21tYW5kZT5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTW9udHJlciBvdSBtb2RpZmllciBsZXMgbGltaXRlcyBkZSByZXNzb3VyY2VzIGTigJl1biBwcm9jZXNzdXMuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnMgZ2xvYmFsZXPCoDpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisiIC1wLCAtLXBpZCA8UElEPiAgICAgICAgaWRlbnRpZmlhbnQgZGUgcHJvY2Vzc3VzXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgZMOpZmluaXIgbGVzIGNvbG9ubmVzIGRlIHNvcnRpZSDDoCB1dGlsaXNlclxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgZW4tdMOqdGVzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBicnV0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgc29ydGllIGJhdmFyZGVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcHRpb25zIGRlIHJlc3NvdXJjZXPCoDpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIHRhaWxsZSBtYXhpbWFsZSBkZSBmaWNoaWVycyBjb3JlIGNyw6nDqXNcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICB0YWlsbGUgbWF4aW1hbGUgZCd1biBzZWdtZW50IGRlIGRvbm7DqWVzIGRlIHByb2Nlc3N1c1xuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIHByaW9yaXTDqSBuaWNlIG1heGltYWxlIHBlcm1pc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICB0YWlsbGUgbWF4aW1hbGUgZGUgZmljaGllcnMgw6ljcml0cyBwYXIgbGUgcHJvY2Vzc3VzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbm9tYnJlIG1heGltYWwgZGUgc2lnbmF1eCBlbiBhdHRlbnRlXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgdGFpbGxlIG1heGltYWxlIHF1J3VuIHByb2Nlc3N1cyBwZXV0IHZlcnJvdWlsbGVyIGVuIG3DqW1vaXJlXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgdGFpbGxlIGRlIG3DqW1vaXJlIHLDqXNpZGVudGUgbWF4aW1hbGVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBub21icmUgbWF4aW1hbCBkZSBmaWNoaWVycyBvdXZlcnRzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbm9tYnJlIG1heGltYWwgZCdvY3RldHMgZGFucyBsZXMgZmlsZXMgZGUgbWVzc2FnZXMgUE9TSVhcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBwcmlvcml0w6kgbWF4aW1hbGUgZCdvcmRvbm5hbmNlbWVudCBkZSB0w6JjaGVzIGVuIHRlbXBzIHLDqWVsXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgdGFpbGxlIGRlIHBpbGUgbWF4aW1hbGVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICB0ZW1wcyBwcm9jZXNzZXVyIG1heGltYWwgZW4gc2Vjb25kZVxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG5vbWJyZSBtYXhpbWFsIGRlIHByb2Nlc3N1cyB1dGlsaXNhdGV1clxuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHRhaWxsZSBkZSBtw6ltb2lyZSB2aXJ0dWVsbGVcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBub21icmUgbWF4aW1hbCBkZSB2ZXJyb3VzIGRlIGZpY2hpZXJcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICB0ZW1wcyBwcm9jZXNzZXVyIGVuIG1pY3Jvc2Vjb25kZSBxdSd1biBwcm9jZXNzdXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBhIHByw6l2dSBkYW5zIHVuIG9yZG9ubmFuY2VtZW50IGVuIHRlbXBzIHLDqWVsXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAic2FucyBsaW1pdGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGUgbCdhbmNpZW5uZSBsaW1pdGXCoCVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICJsYSBsaW1pdGUgc291cGxlICVzIG5lIHBldXQgcGFzIGTDqXBhc3NlciBsYSBsaW1pdGUgYWJzb2x1ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAiTm91dmVsbGUgbGltaXRlICVzIHBvdXIgbGUgcGlkICVkwqA6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIsOpY2hlYyBkZSBjb25maWd1cmF0aW9uIGRlIGxhIGxpbWl0ZSBkZSByZXNzb3VyY2UgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGUgbGEgbGltaXRlIGRlIHJlc3NvdXJjZSAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYW5hbHlzZXIgbGEgbGltaXRlICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAibCdvcHRpb24gLS1waWQgbmUgcGV1dCDDqnRyZSBpbmRpcXXDqWUgcXUndW5lIHNldWxlIGZvaXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJsZXMgb3B0aW9ucyAtLXBpZCBldCA8Y29tbWFuZGU+IHMnZXhjbHVlbnQgbXV0dWVsbGVtZW50IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgcHJvZmlsYWdlIGR1IG5veWF1LlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDxmaWNfY2FydGU+IChwYXIgZMOpZmF1dMKgOiDCq8KgJXPCoMK7IGV0XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDCq8KgJXPCoMK7KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDxmaWNfcHJvZj4gIChwYXIgZMOpZmF1dMKgOiDCq8KgJXPCoMK7KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBpbml0aWFsaXNlciBsZSBtdWx0aXBsaWNhdGV1ciBkZSBwcm9maWxhZ2Ugw6AgPG11bHQ+XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBuJ2FmZmljaGVyIHF1ZSBsZXMgcmVucy4gZHUgY3ljbGUgZCfDqWNoYW50aWxsb25uYWdlXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBhZmZpY2hlciBsZXMgZG9ubsOpZXMgZW4gbW9kZSBiYXZhcmRcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBhZmZpY2hlciB0b3VzIHN5bWJvbGVzLCBtw6ptZSBzaSBsZSBjb21wdGV1ciBlc3Qgw6AgMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIGFmZmljaGVyIGNvbXB0ZXMgZGUgY2hhcXVlIGludGVydmFsbGUgZCdoaXN0b2dyYW1tZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgYWZmaWNoZXIgbGVzIGNvbXB0ZXMgaW5kaXZpZHVlbHMgZGFucyBsZXMgZm9uY3Rpb25zXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcsOpaW5pdGlhbGlzZXIgdG91cyBjb21wdGV1cnMgKHN1cGVydXRpbGlzYXRldXIgc2V1bClcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGTDqXNhY3RpdmVyIGwnYXV0b2TDqXRlY3Rpb24gZCdvcmRyZSBkZXMgb2N0ZXRzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJlcnJldXIgZCfDqWNyaXR1cmUgZGUgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MAorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIk9yZHJlIGRlcyBvY3RldHMgc3VwcG9zw6kgaW52ZXJzw6kuIFV0aWxpc2VyIC1uIHBvdXIgZm9yY2VyIGwnb3JkcmUgbmF0aWYuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiU2FtcGxpbmdfc3RlcMKgOiAldVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDEgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzKCVpKcKgOiBsaWduZSBkZSBtYXAgZXJyb27DqWUiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgImltcG9zc2libGUgZGUgcmVww6lyZXIgwqvCoF9zdGV4dMKgwrsgZGFucyAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICJhZHJlc3NlIGRlIHByb2ZpbCBob3JzIGxpbWl0ZXMuIFBldXQtw6p0cmUgbWF1dmFpcyBmaWNoaWVyIG1hcMKgPyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDAzCittc2dpZCAidG90YWwiCittc2dzdHIgInRvdGFsIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICJpZGVudGlmaWFudCBkZSBwcm9jZXNzdXMiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgImlkZW50aWZpYW50IGRlIGdyb3VwZSBkZSBwcm9jZXNzdXMiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPHByaW9yaXTDqT4gWy1wfC0tcGlkXSA8UElEPiAuLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0w6k+ICAtZ3wtLXBncnAgPFBHSUQ+IC4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXTDqT4gIC11fC0tdXNlciA8dXRpbGlzYXRldXI+IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIk1vZGlmaWVyIGxhIHByaW9yaXTDqSBkZXMgcHJvY2Vzc3VzIGVuIGNvdXJzIGQnZXjDqWN1dGlvbi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIC1uLCAtLXByaW9yaXR5IDxub21icmU+ICBpbmRpcXVlciBsYSB2YWxldXIgZOKAmWluY3LDqW1lbnQgZGUgbmljZVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcsOpdGVyIGwnYXJndW1lbnQgY29tbWUgdW4gUElEIChwYXIgZMOpZmF1dClcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1wLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcsOpdGVyIGwnYXJndW1lbnQgY29tbWUgdW4gUEdJRFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8bm9tPnw8aWQ+ICBpbnRlcnByw6l0ZXIgbCdhcmd1bWVudCBjb21tZSB1biBub20gZOKAmXV0aWxpc2F0ZXVyIG91IHVuIFVJRFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiw6ljaGVjIGQnb2J0ZW50aW9uIGRlIHByaW9yaXTDqSBwb3VyICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZSBwcmlvcml0w6kgcG91ciAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKSBwcmlvcml0w6kgcHLDqWPDqWRlbnRlICVkLCBub3V2ZWxsZSBwcmlvcml0w6kgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgInByaW9yaXTDqSDCq8KgJXPCoMK7IGludmFsaWRlIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAidXRpbGlzYXRldXIgJXMgaW5jb25udSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgInZhbGV1ciAlcyBlcnJvbsOpZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tIGR1IHDDqXJpcGjDqXJpcXVlIGR1IG5veWF1IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgInZhbGV1ciBkZSBsJ2lkZW50aWZpYW50IGRlIHDDqXJpcGjDqXJpcXVlIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIm5vbSBkZSB0eXBlIGRlIHDDqXJpcGjDqXJpcXVlIHF1aSBwZXV0IMOqdHJlIHV0aWxpc8OpIGNvbW1lIGlkZW50aWZpY2F0ZXVyIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMyCittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgImRlc2NyaXB0ZXVyIGRlIHR5cGUgZGUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKK21zZ2lkICJzdGF0dXMgb2Ygc29mdHdhcmUgYmxvY2siCittc2dzdHIgInN0YXR1dCBkdSBibG9jIGxvZ2ljaWVsIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJzdGF0dXQgZHUgYmxvYyBtYXTDqXJpZWwiCisKKyMgJXMgZXN0IC9kZXYvcmZraWxsCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIHJlbmRyZSAlcyBub24gYmxvcXVhbnQiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgc2l6ZSBvZiByZmtpbGwgZXZlbnQ6ICV6dSA8ICVkIgorbXNnc3RyICJtYXV2YWlzZSB0YWlsbGUgZGUgbCfDqXbDqW5lbWVudCByZmtpbGw6ICV6dSA8ICVkIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwb2xsICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbCdpbnRlcnJvZ2F0aW9uIGRlICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzEzCittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWFudCBpbnZhbGlkZSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAiYmxvcXXDqSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICJkw6libG9xdcOpIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDE1IHN5cy11dGlscy9yZmtpbGwuYzo0ODAgc3lzLXV0aWxzL3Jma2lsbC5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJpZGVudGlmaWFudCBpbnZhbGlkZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIGNvbW1hbmRlIFtpZGVudGlmaWFudCAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjkKK21zZ2lkICJUb29sIGZvciBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHdpcmVsZXNzIGRldmljZXMuXG4iCittc2dzdHIgIk91dGlsIHBvdXIgYWN0aXZlciBvdSBkw6lzYWN0aXZlciBsZXMgcMOpcmlwaMOpcmlxdWVzIHNhbnMgZmlsLlxuIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorbXNnaWQgIiBoZWxwXG4iCittc2dzdHIgIiBoZWxwIChhaWRlKVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiBldmVudCAow6l2w6luZW1lbnQpXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKK21zZ2lkICIgbGlzdCAgIFtpZGVudGlmaWVyXVxuIgorbXNnc3RyICIgbGlzdCAgIFtpZGVudGlmaWVyXSAobGlzdGVyIFtpZGVudGlmaWFudF0pXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTUKK21zZ2lkICIgYmxvY2sgICBpZGVudGlmaWVyXG4iCittc2dzdHIgIiBibG9jayAgIGlkZW50aWZpZXIgKGJsb3F1ZXIgaWRlbnRpZmlhbnQpXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKK21zZ2lkICIgdW5ibG9jayBpZGVudGlmaWVyXG4iCittc2dzdHIgIiB1bmJsb2NrIGlkZW50aWZpZXIgKGTDqWJsb3F1ZXIgaWRlbnRpZmlhbnQpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIk1ldHRyZSBsZSBzeXN0w6htZSBlbiB2ZWlsbGUganVzcXUnw6AgdW5lIGRhdGUgZGUgcsOpdmVpbCBpbmRpcXXDqWUuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIGxpcmUgbGUgbW9kZSBkJ2hvcmxvZ2UgZHUgZmljaGllciBhZGp1c3QgKHBhciBkw6lmYXV0KVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmljaGllcj4gIGluZGlxdWVyIGxlIGNoZW1pbiBkdSBmaWNoaWVyIGFkanVzdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJXMgcGFyIGTDqWZhdXQpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBEYXRlIGRlIGwnaG9yb2RhdGFnZSBwb3VyIHNvcnRpZSBkZSB2ZWlsbGVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDxww6lyaXBoLj4gICBjaG9pc2lyIHDDqXJpcGguIGQnaG9ybG9nZSBtYXTDqXJpZWxsZSAocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICB0b3V0IGZhaXJlLCBzYXVmIGxhIG1pc2UgZW4gdmVpbGxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIGwnaG9ybG9nZSBtYXTDqXJpZWwgdXRpbGlzZSBsYSB6b25lIGRlIHRlbXBzIGxvY2FsZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0ZXIgbGVzIG1vZGVzIGRpc3BvbmlibGVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBtb2RlIGRlIG1pc2UgZW4gdmVpbGxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRlcz4gbWlzZSBlbiB2ZWlsbGUgZCd1bmUgZHVyw6llIGRlIDxzZWNvbmRlcz5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTUKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8aGV1cmVfdD4gICAgIGNvbmZpZ3VyZXIgbCdoZXVyZSBkZSBzb3J0aWUgZGUgdmVpbGxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE2Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgdXRpbGlzZSBsYSB6b25lIGRlIHRlbXBzIFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG1vZGUgYmF2YXJkXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGRlIGwnaGV1cmUgbWF0w6lyaWVsbGUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGRlIGwnaGV1cmUgc3lzdMOobWUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjb252ZXJzaW9uIGRlIGwnaGV1cmUgbWF0w6lyaWVsbGUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZCdhbGFybWUgZGUgcsOpdmVpbCBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAiYWJhbmRvbiBkZSBzdGRpbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgInRyb2lzIGxpZ25lcyBpbmF0dGVuZHVlcyBkYW5zICVzwqA6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZGUgbCdhbGFybWUgZGUgbCdob3Jsb2dlIG1hdMOpcmllbGxlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgImFsYXJtZcKgOiBhcnLDqnRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNTYKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgY29udmVyc2lvbiBkZSBsJ2hldXJlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJhbGFybWXCoDogZMOpY2xlbmNoZW1lbnQgICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIkltcG9zc2libGUgZGUgbGlyZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiw6l0YXQgZGUgdmVpbGxlIG5vbiByZWNvbm51IMKrwqAlc8KgwrsiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDkzCittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBlbiBzZWNvbmRlcyBpbmNvcnJlY3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkJ2hldXJlIGluY29ycmVjdCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXPCoDogb24gY29uc2lkw6hyZSBxdWUgbCdob3Jsb2dlIG1hdMOpcmllbGxlIHV0aWxpc2UgbCfDqWNoZWxsZSBVVEPigKZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiSGV1cmUgVVRDIHV0aWxpc8OpZS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzAKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJIZXVyZSBsb2NhbGUgdXRpbGlzw6llLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJ2b3VzIGRldmV6IGZvdXJuaXIgbCdoZXVyZSBkZSByw6l2ZWlsIChjb25zdWx0ZXogbGVzIG9wdGlvbnMgLS0tc2Vjb25kcywgLS10aW1lIGV0IC0tZGF0ZSkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyBub24gYWN0aXbDqSBwb3VyIGxlcyDDqXbDqW5lbWVudHMgwqvCoHdha2V1cMKgwrsgKHLDqXZlaWwpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgImFsYXJtZSAlbGQsIGhldXJlX3N5c3TDqG1lICVsZCwgaGV1cmVfaG9ybG9nZSAlbGQsIHNlY29uZGVzICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAibCdoZXVyZSBuZSBwZXV0IHBhcyByZWN1bGVyIHZlcnMgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzwqA6IMKrwqB3YWtldXDCoMK7IChyw6l2ZWlsKSBhdmVjICVzIMOgICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlc8KgOiDCq8Kgd2FrZXVwwqDCuyAocsOpdmVpbCkgZGVwdWlzIMKrwqAlc8KgwrsgYXZlYyAlcyDDoCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJtb2RlIGRlIHZlaWxsZcKgOiBhdWN1bsKgOyBzb3J0aWVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJtb2RlIGRlIHZlaWxsZcKgOiDDqXRlaW50wqA7IGV4w6ljdXRpb24gZGUgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAibW9kZSBkZSB2ZWlsbGXCoDogZW4gZm9uY3Rpb25uZW1lbnTCoDsgbGVjdHVyZSBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTAKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGRlIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAibW9kZSBkZSB2ZWlsbGXCoDogZMOpc2FjdGl2w6nCoDsgZMOpc2FjdGl2YXRpb24gZGUgbCdhbGFybWVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgIm1vZGUgZGUgdmVpbGxlwqA6IG1vbnRyw6nCoDsgYWZmaWNoYWdlIGQnaW5mb3JtYXRpb24gZCdhbGFybWVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAibW9kZSBkZSB2ZWlsbGXCoDogJXPCoDsgbWlzZSBlbiB2ZWlsbGUgZHUgc3lzdMOobWVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgZMOpc2FjdGl2YXRpb24gZGUgbCdpbnRlcnJ1cHRpb24gZ8OpcmFudCBsJ2FsYXJtZSBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICJCYXNjdWxlIHN1ciAlcy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtbWU+IFs8YXJndW1lbnQ+IC4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICJNb2RpZmllciBsJ2FyY2hpdGVjdHVyZSBzaWduYWzDqWUgZXQgZMOpZmluaXIgbGVzIGF0dHJpYnV0cyBkZSBwZXJzb25uYWxpdMOpLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk4Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgYWN0aXZlciBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKyIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIGZhaXJlIHBvaW50ZXIgbGVzIHBvaW50ZXVycyBkZSBmb25jdGlvbnMgc3VyIGxlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGV1cnNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgYWN0aXZlciBTSE9SVF9JTk9ERVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IG1vZGlmaWVyIGxhIG3DqXRob2RlIGQnYWxsb2NhdGlvbiBkZSBtw6ltb2lyZSB2aXJ0dWVsbGVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIHJlbmRyZSBub24gYWzDqWF0b2lyZSBsJ2VzcGFjZSBkJ2FkcmVzc2FnZSB2aXJ0dWVsXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgYWN0aXZlciBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBhY3RpdmVyIFNUSUNLWV9USU1FT1VUU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICBhY3RpdmVyIFJFQURfSU1QTElFU19FWEVDXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIGFjdGl2ZXIgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRlciBsJ2VzcGFjZSBkJ2FkcmVzc2FnZSB1dGlsaXPDqSDDoCAzwqBHbyBtYXhpbXVtXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yw6llIChwb3VyIHLDqXRyb2NvbXBhdGliaWxpdMOpIHNldWxlbWVudClcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICBhY3RpdmVyIFVOQU1FMjZcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbW9udHJlciBsZXMgb3B0aW9ucyBxdWkgc2Vyb250IGFjdGl2w6llc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMworbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBhcmNoaXRlY3R1cmVzIGNvbmZpZ3VyYWJsZXMgZXQgcXVpdHRlclxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXPCoDogYXJjaGl0ZWN0dXJlIGluY29ubnVlIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIkxlIG5veWF1IG5lIHBldXQgcGFzIGTDqWZpbmlyIGwnYXJjaGl0ZWN0dXJlIMOgICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI4NgorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJQYXMgYXNzZXogZCdhcmd1bWVudHMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIsOJY2hlYyBkZSBjb25maWd1cmF0aW9uIGQnYXJjaGl0ZWN0dXJlIHN5c3TDqG1lIMOgICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIm9wdGlvbiDCq8KgLS1saXN0wqDCuyBub24gcmVjb25udWUiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiUGFzIGQnYXJndW1lbnQgZOKAmWFyY2hpdGVjdHVyZSBpbmRpcXXDqSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZCdhcmNoaXRlY3R1cmUgc3lzdMOobWUgw6AgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJFeMOpY3V0aW9uIGRlIGxhIGNvbW1hbmRlIMKrwqAlc8KgwrsuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtbWU+IFs8YXJndW1lbnRzPiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIkV4w6ljdXRlciB1biBwcm9ncmFtbWUgYXZlYyByw6lnbGFnZXMgZGUgZHJvaXRzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMgorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgbW9udHJlciBsJ8OpdGF0IGFjdHVlbCAoc2FucyByaWVuIGV4w6ljdXRlcilcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgbmUgcGFzIHBlcm1ldHRyZSBkJ2F0dHJpYnVlciBkZSBub3V2ZWF1eCBkcm9pdHNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1hbWJpZW50LWNhcHMgPGNhcC4sLi4uPiAgIGTDqWZpbmlyIGRlcyBjYXBhY2l0w6lzIGFtYmlhbnRlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA8Y2FwLiwuLi4+ICAgICAgIGTDqWZpbmlyIGRlcyBjYXBhY2l0w6lzIGjDqXJpdGFibGVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIC0tYm91bmRpbmctc2V0IDxjYXAuPiAgICAgICBkw6lmaW5pciB1biBlbnNlbWJsZSBkZSBjYXBhY2l0w6lzIGxpbWl0YW50ZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjcKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLS1ydWlkIDxVSUQ+ICAgICAgICAgICAgICAgIGTDqWZpbmlyIGwnVUlEIHLDqWVsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1ldWlkIDxVSUQ+ICAgICAgICAgICAgICAgIGTDqWZpbmlyIGwnVUlEIGVmZmVjdGlmXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIC0tcmdpZCA8R0lEPiAgICAgICAgICAgICAgICBkw6lmaW5pciBsZSBHSUQgcsOpZWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPEdJRD4gICAgICAgICAgICAgICAgZMOpZmluaXIgbGUgR0lEIGVmZmVjdGlmXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8VUlEPiAgICAgICAgICAgICAgIGTDqWZpbmlyIGwnVUlEIHLDqWVsIGV0IGVmZmVjdGlmXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZ3VpZCA8R0lEPiAgICAgICAgICAgICAgIGTDqWZpbmlyIGxlIEdJRCByw6llbCBldCBlZmZlY3RpZlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMworbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBlZmZhY2VyIGxlcyBncm91cGVzIHN1cHBsw6ltZW50YWlyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBnYXJkZXIgbGVzIGdyb3VwZXMgc3VwcGzDqW1lbnRhaXJlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpc2VyIGxlcyBncm91cGVzIHN1cHBsw6ltZW50YWlyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPGdyb3VwZSwuLi4+ICAgICAgIGTDqWZpbmlyIGxlcyBncm91cGVzIHN1cHBsw6ltZW50YWlyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzcKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgZMOpZmluaXIgbGVzIHNlY3VyZWJpdHNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzgKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtLXNlbGludXgtbGFiZWwgPMOpdGlxLj4gICAgIGTDqWZpbmlyIGwnw6l0aXF1ZXR0ZSBTRUxpbnV4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gICAgIGTDqWZpbmlyIGxlIHByb2ZpbCBBcHBBcm1vclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIgQ2V0IG91dGlsIHBldXQgw6p0cmUgZGFuZ2VyZXV4LiBDb25zdWx0ZXogbGEgcGFnZSBkZSBtYW51ZWwgZXQgZmFpdGVzIGF0dGVudGlvbi5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxODcKK21zZ2lkICJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAibWF1dmFpcyB0eXBlIGRlIGNhcGFjaXTDqSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZCdvYnRlbnRpb24gZGVzIGJpdHMgc8OpY3VyaXPDqXMgZGUgcHJvY2Vzc3VzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIlNlY3VyZWJpdHPCoDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiW2F1Y3VuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzwqA6IHRyb3AgbG9uZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiR3JvdXBlcyBzdXBwbMOpbWVudGFpcmVzwqA6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkgc3lzLXV0aWxzL3NldHByaXYuYzozNjcgc3lzLXV0aWxzL3NldHByaXYuYzozNzIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc4IHN5cy11dGlscy9zZXRwcml2LmM6Mzg0IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiW2F1Y3VuXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJVSUTCoDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiRVVJRMKgOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJTVUlEwqA6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ1IHN5cy11dGlscy9zZXRwcml2LmM6NDQ1Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGdldHJlc3VpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgZ2V0cmVzZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkNhcGFjaXTDqXMgZWZmZWN0aXZlc8KgOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpdMOpcyBwZXJtaXNlc8KgOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJDYXBhY2l0w6lzIGjDqXJpdGFibGVzwqA6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpdMOpcyBhbWJpYW50ZXPCoDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICJbTm9uIHByaXMgZW4gY2hhcmdlXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiRW5zZW1ibGUgZGUgY2FwYWNpdMOpcyBsaW1pdGFudGVzwqA6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTcKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICLDiXRpcXVldHRlIFNFTGludXgiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAicHJvZmlsIEFwcEFybW9yIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcMKgJWTCoDogbGliY2FwLW5nIGVzdCBjYXNzw6kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICJJZGVudGlmaWFudCBkZSBncm91cGUgc3VwcGzDqW1lbnRhaXJlIGluY29ycmVjdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc2V0cmVzdWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBzZXRyZXNnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJ0eXBlIGRlIGNhcGFjaXTDqSBub24gcHJpcyBlbiBjaGFyZ2UiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICJtYXV2YWlzZSBjaGHDrm5lIGRlIGNhcGFjaXTDqSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjUKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICJsaWJjYXAtbmcgZXN0IHRyb3AgdmlldXggcG91ciB0b3V0ZXMgKMKrwqBhbGzCoMK7KSBsZXMgY2FwYWNpdMOpcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiY2FwYWNpdMOpIMKrwqAlc8KgwrsgaW5jb25udWUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJlbnNlbWJsZSBzZWN1cmViaXQgbm9uIHJlY29ubnUg4oCUIHJlZnVzIGQnYWp1c3RlciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIm1hdXZhaXNlIGNoYcOubmUgc2VjdXJlYml0cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIithbGwgc2VjdXJlYml0cyBuJ2VzdCBwYXMgcGVybWlzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAibCdhanVzdGVtZW50IGRlIGtlZXBfY2FwcyBuJ2EgcGFzIGRlIHNlbnMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAic2VjdXJlYml0IG5vbiByZWNvbm51IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYwOQorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXggbidlc3QgcGFzIGVuIGNvdXJzIGQnZXjDqWN1dGlvbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIGZlcm1ldHVyZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3Igbidlc3QgcGFzIGVuIGNvdXJzIGQnZXjDqWN1dGlvbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1uby1uZXctcHJpdnMgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICJSVUlEIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBSVUlEIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJFVUlEIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkJ0VVSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk2Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiUlVJRCBvdSBFVUlEIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgUkVVSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgIlJHSUQgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGR1IFJHSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIkVHSUQgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGQnRUdJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJSR0lEIG91IEVHSUQgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkdSBSRUdJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1jbGVhci1ncm91cHMgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAib3B0aW9uIC0ta2VlcC1ncm91cHMgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAib3B0aW9uIC0taW5pdC1ncm91cHMgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0NAorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm9wdGlvbiAtLWdyb3VwcyBlbiBkb3VibGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1pbmgtY2FwcyBlbiBkb3VibGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAib3B0aW9uIC0tYW1iaWVudC1jYXBzIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NjUKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1ib3VuZGluZy1zZXQgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3MQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJvcHRpb24gLS1zZWN1cmViaXRzIGVuIGRvdWJsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzcKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAib3B0aW9uIC0tc2VsaW51eC1sYWJlbCBlbiBkb3VibGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIm9wdGlvbiAtLWFwcGFybW9yLXByb2ZpbGUgZW4gZG91YmxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg5OQorbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiLS1kdW1wIGVzdCBpbmNvbXBhdGlibGUgYXZlYyB0b3V0ZXMgbGVzIGF1dHJlcyBvcHRpb25zIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkwNworbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICItLWxpc3QtY2FwcyBkb2l0IMOqdHJlIGluZGlxdcOpZSBzZXVsZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiQXVjdW4gcHJvZ3JhbW1lIGluZGlxdcOpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCBuw6ljZXNzaXRlIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzIG91IC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIi0taW5pdC1ncm91cHMgcmVxdWllcnQgLS1ydWlkIG91IC0tcmV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZCAlbGQgbm90IGZvdW5kLCAtLWluaXQtZ3JvdXBzIHJlcXVpcmVzIGFuIHVzZXIgdGhhdCBjYW4gYmUgZm91bmQgb24gdGhlIHN5c3RlbSIKK21zZ3N0ciAidWlkICVsZCBwYXMgdHJvdXbDqSwgLS1pbml0LWdyb3VwcyByZXF1aWVydCB1biB1dGlsaXNhdGV1ciBxdWkgcGV1dCDDqnRyZSB0cm91dsOpIGRhbnMgbGUgc3lzdMOobWUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTMyCittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICJuZSBwYXMgcGVybWV0dHJlIGQnYXR0cmlidWVyIGRlIG5vdXZlYXV4IGRyb2l0cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbnNlcnZhdGlvbiBkZXMgY2FwYWNpdMOpcyBkZSBwcm9jZXNzdXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQ4Cittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJhY3RpdmVyIGxlcyBjYXBhY2l0w6lzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJyw6lhY3RpdmVyIGxlcyBjYXBhY2l0w6lzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2NQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgaW5pdGdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZGVzIHNlY3VyZWJpdHMgZGUgcHJvY2Vzc3VzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiYXBwbGlxdWVyIGwnZW5zZW1ibGUgbGltaXRhbnQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJhcHBsaXF1ZXIgbGVzIGNhcGFjaXTDqXMiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbW1lPiBbYXJndW1lbnRzIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICJFeMOpY3V0ZXIgdW4gcHJvZ3JhbW1lIGRhbnMgdW5lIG5vdXZlbGxlIHNlc3Npb24uXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIgLWMsIC0tY3R0eSAgICAgZMOpZmluaXIgbGUgdGVybWluYWwgZGUgY29udHLDtGxlIMOgIGNlbHVpIGFjdHVlbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDEKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgYWx3YXlzIGZvcmtcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmsgICAgIHRvdWpvdXJzIGV4w6ljdXRlciDCq8KgZm9ya8KgwrtcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQyCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAgYXR0ZW5kcmUgbGEgZmluIGR1IHByb2dyYW1tZSwgZXQgdXRpbGlzZXIgbGUgbcOqbWUgcmV0b3VyXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDAKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibGUgZmlscyAlZCBuZSBzJ2VzdCBwYXMgdGVybWluw6kgbm9ybWFsZW1lbnQiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc2V0c2lkIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTIwCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIsOpY2hlYyBkZSBkw6lmaW5pdGlvbiBkdSB0ZXJtaW5hbCBkZSBjb250csO0bGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICJzd2Fwb2ZmICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIlZvdXMgbifDqnRlcyBwYXMgbGUgc3VwZXJ1dGlsaXNhdGV1ci4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIHN3YXBvZmYiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFs8ZmljaGllcl9zcMOpY2lhbD5dXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiRMOpc2FjdGl2ZXIgbGVzIHDDqXJpcGjDqXJpcXVlcyBldCBmaWNoaWVycyBwb3VyIGxhIHBhZ2luYXRpb24gc3VyIGRpc3F1ZS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZMOpc2FjdGl2ZXIgdG91cyBsZXMgZXNwYWNlcyBkJ8OpY2hhbmdlIGRlIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgbW9kZSBiYXZhcmRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzQKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJMZSBwYXJhbcOodHJlIDxmaWNoaWVyX3NwZWNpYWw+wqA6XG4iCisiIC1MIDzDqXRpcXVldHRlPiAgICAgICAgIMOpdGlxdWV0dGUgZHUgcMOpcmlwaMOpcmlxdWUgw6AgdXRpbGlzZXJcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIGR1IHDDqXJpcGjDqXJpcXVlIMOgIHV0aWxpc2VyXG4iCisiIExBQkVMPTzDqXRpcXVldHRlPiAgICAgIMOpdGlxdWV0dGUgZHUgcMOpcmlwaMOpcmlxdWUgw6AgdXRpbGlzZXJcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIGR1IHDDqXJpcGjDqXJpcXVlIMOgIHV0aWxpc2VyXG4iCisiIDxww6lyaXBow6lyaXF1ZT4gICAgICAgICBub20gZHUgcMOpcmlwaMOpcmlxdWUgw6AgdXRpbGlzZXJcbiIKKyIgPGZpY2hpZXI+ICAgICAgICAgICAgICBub20gZHUgZmljaGllciDDoCB1dGlsaXNlclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiZmljaGllciBkZSBww6lyaXBow6lyaXF1ZSBvdSBjaGVtaW4gZGUgcGFydGl0aW9uIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInR5cGUgZGUgcMOpcmlwaMOpcmlxdWUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAidGFpbGxlIGRlIGxhIHpvbmUgZCfDqWNoYW5nZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJvY3RldHMgdXRpbGlzw6lzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAicHJpb3JpdMOpIGQnZXNwYWNlIGQnw6ljaGFuZ2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIlVVSUQgZOKAmWVzcGFjZSBk4oCZw6ljaGFuZ2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICLDqXRpcXVldHRlIGTigJllc3BhY2UgZOKAmcOpY2hhbmdlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHRUeXBlXHRcdFRhaWxsZVx0VXRpbGlzw6lcdFByaW9yaXTDqVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIk5vbSBkZSBmaWNoaWVyIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzwqA6IHLDqWluaXRpYWxpc2F0aW9uIGRlIGwnZXNwYWNlIGQnw6ljaGFuZ2UuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBsYSBmb25jdGlvbiDCq8KgbHNlZWvCoMK7IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZCfDqWNyaXR1cmUgZGUgc2lnbmF0dXJlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzwqA6IGlnbm9yw6kg4oCUIHNlbWJsZSBhdm9pciBkZXMgdHJvdXMuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ29idGVudGlvbiBkZSBsYSB0YWlsbGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgbGVjdHVyZSBkJ2VuLXTDqnRlIGQnZXNwYWNlIGQnw6ljaGFuZ2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVzwqA6IHNpZ25hdHVyZSB0cm91dsOpZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzwqA6IHRhaWxsZSBkZSBwYWdlwqA6ICVkLCB0YWlsbGUgZCdlc3BhY2UgZCfDqWNoYW5nZcKgOiAlbGx1LCB0YWlsbGUgZGUgcMOpcmlwaMOpcmlxdWXCoDogJWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXPCoDogZGVybmnDqHJlX3BhZ2UgMHglMDhsbHggcGx1cyBncmFuZGUgcXVlIGxhIHRhaWxsZSBhY3R1ZWxsZSBkZSBsJ2VzcGFjZSBkJ8OpY2hhbmdlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzwqA6IGxlIGZvcm1hdCBkZSBsYSB0YWlsbGUgZGUgcGFnZSBuZSBjb3JyZXNwb25kIHBhcy4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXPCoDogbGEgdGFpbGxlIGRlIHBhZ2UgbmUgY29ycmVzcG9uZCBwYXMgYXZlYyBsZSBmb3JtYXQgZCdlc3BhY2UgZCfDqWNoYW5nZSAodXRpbGlzZXogLS1maXhwZ3N6IHBvdXIgbGEgcsOpaW5pdGlhbGlzZXIpLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXPCoDogZG9ubsOpZXMgZGUgbWlzZSBlbiB2ZWlsbGUgZCdhcHBsaWNhdGlvbiBkw6l0ZWN0w6llcy4gUsOpw6ljcml0dXJlIGRlIGxhIHNpZ25hdHVyZSBkZSBsJ2VzcGFjZSBkJ8OpY2hhbmdlLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSBzd2Fwb24iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXPCoDogb3B0aW9uIG5vYXV0byDigJQgaWdub3LDqWUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzwqA6IGTDqWrDoCBhY3RpdmUg4oCUIGlnbm9yw6llIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXPCoDogaW5uYWNjZXNzaWJsZSDigJQgaWdub3LDqSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiQWN0aXZlciBsZXMgcMOpcmlwaMOpcmlxdWVzIGV0IGZpY2hpZXJzIHBvdXIgbGEgcGFnaW5hdGlvbiBzdXIgZGlzcXVlLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGFjdGl2ZXIgdG91cyBsZXMgZXNwYWNlcyBk4oCZw6ljaGFuZ2UgZGUgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisiIC1kLCAtLWRpc2NhcmRbPTxzdHJhdMOpZ2llPl0gIGFjdGl2ZXIgbGVzIGFiYW5kb25zIGTigJllc3BhY2UgZOKAmcOpY2hhbmdlLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2kgbGUgcMOpcmlwaMOpcmlxdWUgbGUgcGVybWV0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBwYXNzZXIgc2lsZW5jaWV1c2VtZW50IGxlcyBww6lyaXBow6lyaXF1ZXMgcXVpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG7igJlleGlzdGVudCBwYXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHLDqWluaXRpYWxpc2VyIGwnZXNwYWNlIGTigJnDqWNoYW5nZSBzaSBuw6ljZXNzYWlyZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0ZT4gICAgbGlzdGUgZOKAmW9wdGlvbnMgZOKAmWVzcGFjZSBk4oCZw6ljaGFuZ2Ugc8OpcGFyw6llcyBwYXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzIHZpcmd1bGVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIGluZGlxdWVyIGxhIHByaW9yaXTDqSBkdSBww6lyaXBow6lyaXF1ZSBk4oCZw6ljaGFuZ2VcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIiCisiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBhZmZpY2hlciB1biByw6lzdW3DqSBzdXIgbGVzIHDDqXJpcGjDqXJpcXVlcyBk4oCZw6ljaGFuZ2VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbGlzw6lzIChvYnNvbMOodGUpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDcKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTxjb2xvbm5lcz5dICBhZmZpY2hlciB1biByw6lzdW3DqSBlbiB0YWJsZWF1IGTDqWZpbmlzc2FibGVcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgbmUgcGFzIGFmZmljaGVyIGwnZW4tdMOqdGUgZHUgdGFibGVhdSAoYXZlYyAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHV0aWxpc2VyIGxlIGZvcm1hdCBkZSBzb3J0aWUgYnJ1dCAoYXZlYyAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgdGFpbGxlIGRlIGwnZXNwYWNlIGTigJnDqWNoYW5nZSBlbiBvY3RldCBkYW5zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhIHNvcnRpZSBkZSAtLXNob3dcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbW9kZSBiYXZhcmRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxlIHBhcmFtw6h0cmUgPGZpY2hpZXJfc3BlY2lhbD7CoDpcbiIKKyIgLUwgPMOpdGlxdWV0dGU+ICAgICAgICAgc3lub255bWUgZGUgTEFCRUw9PMOpdGlxdWV0dGU+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bWUgZGUgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PMOpdGlxdWV0dGU+ICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIMOpdGlxdWV0dGUgZGUgem9uZSBkJ8OpY2hhbmdlXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIFVVSUQgZGUgem9uZSBkJ8OpY2hhbmdlXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIMOpdGlxdWV0dGUgZGUgcGFydGl0aW9uXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgaW5kaXF1ZXIgbGUgcMOpcmlwaMOpcmlxdWUgcGFyIFVVSUQgZGUgcGFydGl0aW9uXG4iCisiIDxww6lyaXBow6lyaXF1ZT4gICAgICAgICBub20gZHUgcMOpcmlwaMOpcmlxdWUgw6AgdXRpbGlzZXJcbiIKKyIgPGZpY2hpZXI+ICAgICAgICAgICAgICBub20gZHUgZmljaGllciDDoCB1dGlsaXNlclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiVHlwZXMgZGUgc3RyYXTDqWdpZSBk4oCZYWJhbmRvbiBkaXNwb25pYmxlcyAocG91ciAtLWRpc2NhcmQpwqA6XG4iCisiIG9uY2UgICAgOiBzZXVscyBsZXMgYWJhbmRvbnMgZGUgem9uZSBlbiB1bmUgZm9pcyBzb250IHLDqWFsaXPDqWVzwqA7XG4iCisiIHBhZ2VzICAgOiBsZXMgcGFnZXMgbGliw6lyw6llcyBzb250IGFiYW5kb25uw6llcyBhdmFudCBk4oCZw6p0cmUgcsOpdXRpbGlzw6llcy5cbiIKKyJTaSBhdWN1bmUgc3RyYXTDqWdpZSBu4oCZZXN0IHPDqWxlY3Rpb25uw6llLCBsZXMgZGV1eCB0eXBlcyBk4oCZYWJhbmRvbnMgc29udCBhY3RpdsOpc1xuIgorIihjb21wb3J0ZW1lbnQgcGFyIGTDqWZhdXQpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIHByaW9yaXTDqSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgInN0cmF0w6lnaWUgZOKAmWFiYW5kb24gbm9uIHByaXNlIGVuIGNoYXJnZcKgOiAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0cm91dmVyIGxlIHDDqXJpcGjDqXJpcXVlICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAiw6ljaGVjIGQnb3V2ZXJ0dXJlIGR1IHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2OAorbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgc3RhdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGR1IHLDqXBlcnRvaXJlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiw6ljaGVjIGRlIHJldHJhaXQgZHUgbGllbiAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgIsOpY2hlYyBkZSBtb250YWdlIGRlICVzIGVuIGTDqXBsYWNlbWVudCBzdXIgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgImTDqW1vbnRhZ2UgZm9yY8OpIGRlICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIsOpY2hlYyBkZSBjaGFuZ2VtZW50IGRlIHLDqXBlcnRvaXJlIHZlcnMgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIsOpY2hlYyBkZSBtb250YWdlIGRlICVzIGVuIGTDqXBsYWNlbWVudCBzdXIgLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc5Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICLDqWNoZWMgZHUgZMOpcGxhY2VtZW50IGRlIHJhY2luZSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJsJ2FuY2llbiBzeXN0w6htZSBkZSBmaWNoaWVycyBuJ2VzdCBwYXMgdW4gaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPG5vdXZlbGxlX3JhY2luZT4gPGluaXQ+IDxhcmd1bWVudCBkJ2luaXQ+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIlBhc3NlciDDoCB1biBhdXRyZSBzeXN0w6htZSBkZSBmaWNoaWVycyByYWNpbmUgZGUgbCdhcmJyZSBkZSBtb250YWdlLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiw6ljaGVjLiBEw6lzb2zDqS4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYWNjw6lkZXIgw6AgJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIkNvbmZpZ3VyZXIgZGl2ZXJzIHBhcmFtw6h0cmVzIGTigJlpbXByaW1hbnRlIHBhciBsaWduZS5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMQorbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtw6lybz4gICAgICAgICAgIGluZGlxdWVyIGwnSVJRIGR1IHBvcnQgcGFyYWxsw6hsZVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAyCittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRlbXBzPiAgICAgICAgICAgdGVtcHMgZCdhdHRlbnRlIGR1IHBpbG90ZSBlbiBtaWxsaXNlY29uZGVcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDxjYXJhY3TDqHJlcz4gICAgIG5vbWJyZSBkZSBjYXJhY3QuIGRlIHNvcnRpZSBhdmFudCBtaXNlIGVuIHZlaWxsZVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8YXR0ZW50ZT4gICAgICAgICB0ZW1wcyBkJ2F0dGVudGUgZGUgY3ljbGUgZCdob3Jsb2dlIGVuIG1pY3Jvc2Vjb25kZVxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYmFuZG9ubmVyIGVuIGNhcyBkJ2VycmV1clxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIHbDqXJpZmllciBsJ8OpdGF0IGRlIGwnaW1wcmltYW50ZSBhdmFudCBkJ2ltcHJpbWVyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgdsOpcmlmaWNhdGlvbnMgZCfDqXRhdCBzdXBwbMOpbWVudGFpcmVzXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTEKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICByZW52b3llciBsJ8OpdGF0IGRlIGwnaW1wcmltYW50ZVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcsOpaW5pdGlhbGlzZXIgbGUgcG9ydFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGFmZmljaGVyIGxlcyByw6lnbGFnZXMgZCdJUlEgYWN0dWVsc1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIG4nZXN0IHBhcyB1biBww6lyaXBow6lyaXF1ZSBkJ2ltcHJlc3Npb24gbHAiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNzgKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiRXJyZXVyIExQR0VUU1RBVFVTIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiw6l0YXQgJXMgZXN0ICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBvY2N1cMOpIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgcHLDqnQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwgbWFucXVlIGRlIHBhcGllciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgZW4gbGlnbmUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCBlcnJldXIiCisKKyMgZGlzay11dGlscy9ta3N3YXAuYzo2MjMKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgIsOJY2hlYyBkJ2lvY3RsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzA4Cittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIkVycmV1ciBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgdXRpbGlzZSBJUlHCoCVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyB1dGlsaXNhbnQgbGEgc2NydXRhdGlvblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPHLDqXBlcnRvaXJlPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJEw6ltb250ZXIgZGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycy5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBkw6ltb250ZXIgdG91cyBsZXMgc3lzdMOobWVzIGRlIGZpY2hpZXJzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICBkw6ltb250ZXIgdG91cyBsZXMgcG9pbnRzIGRlIG1vbnRhZ2UgcG91ciBsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHDDqXJpcGjDqXJpcXVlIGRhbnMgbCdlc3BhY2UgZGUgbm9tcyBhY3R1ZWxcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgbmUgcGFzIGNhbm9uaXNlciBsZXMgY2hlbWluc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTIKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGxpYsOpcmVyIGF1c3NpIGxlIHDDqXJpcGjDqXJpcXVlIGJvdWNsZSBzJ2lsIGVzdCBtb250w6lcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBleMOpY3V0ZXIgw6AgdmlkZSwgc2F1dGVyIGwnYXBwZWwgc3lzdMOobWUgdW1vdW50KDIpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZXIgbGUgZMOpbW9udGFnZSAocG91ciB1biBtb250YWdlIE5GUyBpbmFjY2Vzc2libGUpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG5lIHBhcyBhcHBlbGVyIGxlcyBhdXhpbGlhaXJlcyB1bW91bnQuPHR5cGU+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkw6l0YWNoZXIgbGUgc3lzdMOobWUgZGUgZmljaGllcnMgbWFpbnRlbmFudCxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBldCBuZXR0b3llciBsZXMgY2hvc2VzIHBsdXMgdGFyZFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0ZT4gbGltaXRlciBsJ2Vuc2VtYmxlIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVyc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICh1dGlsaXNlciBhdmVjIC1hKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIGTDqW1vbnRlciByw6ljdXJzaXZlbWVudCB1bmUgY2libGUgYXZlYyB0b3VzIHNlcyBlbmZhbnRzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDAKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBlc3NheWVyIGRlIHJlbW9udGVyIGVuIGxlY3R1cmUgc2V1bGUgZW4gY2FzIGQnw6ljaGVjXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgZHUgZMOpbW9udGFnZVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgbGltaXRlciBsJ2Vuc2VtYmxlIGRlIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBwYXIgdHlwZXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgKCVzKSBkw6ltb250w6kiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBkw6ltb250w6kiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIsOpY2hlYyBkZSBkw6lmaW5pdGlvbiBkZSBsYSBjaWJsZSBkZSBkw6ltb250YWdlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZGUgdGFibGVhdSBsaWJtb3VudCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ2FsbG9jYXRpb24gZCdpdMOpcmF0ZXVyIGxpYm1vdW50IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIsOpY2hlYyBkJ29idGVudGlvbiBkdSBzeXN0w6htZSBkZSBmaWNoaWVycyAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzwqA6IGludHJvdXZhYmxlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGTDqXRlcm1pbmF0aW9uIGRlIGxhIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBu4oCZZXN0IHBhcyBwcmlzIGVuIGNoYXJnZSBzdXIgbGVzIHN5c3TDqG1lcyBhdmVjIHVuIGZpY2hpZXIgbXRhYiBub3JtYWwpLiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJhcmd1bWVudCDCq8KgJXPCoMK7IGRlIC0tc2V0Z3JvdXBzIG5vbiBwcmlzIGVuIGNoYXJnZSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICLDqWNoZWMgZCfDqWNyaXR1cmUgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICJmb3JtYXQgZGUgcHJvcGFnYXRpb24gbm9uIHByaXMgZW4gY2hhcmdlwqA6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIG1vZGlmaWVyIGxhIHByb3BhZ2F0aW9uIGF1IHN5c3TDqG1lIGRlIGZpY2hpZXJzIHJvb3QiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGR1IG1vbnRhZ2UgZGUgJXMgc3VyICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAic3RhdCBpbXBvc3NpYmxlJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgInBpcGUgw6ljaG91w6llIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGR1IHBpcGUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIkV4w6ljdXRlciB1biBwcm9ncmFtbWUgYXZlYyBkZXMgZXNwYWNlcyBkZSBub21zIG5vbiBwYXJ0YWfDqXMgcGFyIGxlIHBhcmVudC5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08ZmljaGllcj5dICAgbmUgcGFzIHBhcnRhZ2VyIGwnZXNwYWNlIGRlIG5vbXMgZGUgbW9udGFnZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz08ZmljaGllcj5dICAgICBuZSBwYXMgcGFydGFnZXIgbCdlc3BhY2UgZGUgbm9tcyBVVFMgKG5vbSBkJ2jDtHRlLMKgZXRjKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08ZmljaGllcj5dICAgICBuZSBwYXMgcGFydGFnZXIgbCdlc3BhY2UgZGUgbm9tcyBJUEMgU3lzdGVtwqBWXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmljaGllcj5dICAgICBuZSBwYXMgcGFydGFnZXIgbCdlc3BhY2UgZGUgbm9tcyByw6lzZWF1XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxmaWNoaWVyPl0gICAgIG5lIHBhcyBwYXJ0YWdlciBsJ2VzcGFjZSBkZSBub21zIGRlIFBJRFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxmaWNoaWVyPl0gICAgbmUgcGFzIHBhcnRhZ2VyIGwnZXNwYWNlIGRlIG5vbXMgZOKAmXV0aWxpc2F0ZXVyXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxmaWNoaWVyPl0gIG5lIHBhcyBwYXJ0YWdlciBsJ2VzcGFjZSBkZSBub21zIGRlIGNncm91cFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgY3LDqWVyIHVuIHByb2Nlc3N1cyBmaWxzIGF2YW50IGQnZXjDqWN1dGVyIDxwcm9ncmFtbWU+XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiICAgICAtLWtpbGwtY2hpbGRbPTxzaWduYW1lPl0gIHdoZW4gZHlpbmcsIGtpbGwgdGhlIGZvcmtlZCBjaGlsZCAoaW1wbGllcyAtLWZvcmspOyBkZWZhdWx0cyB0byBTSUdLSUxMXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoaWxkWz08bm9uc2lnPl0gICBsb3JzIGRlIHNhIG1vcnQsIHR1ZXIgbGVzIGVuZmFudHMgKGltcGxpcXVlIC0tZm9yayk7IFNJR0tJTEwgcGFyIGTDqWZhdXRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjQKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1tb3VudC1wcm9jWz08csOpcD5dICBtb250ZXIgZOKAmWFib3JkIGxlIHN5c3TDqG1lIGRlIGZpY2hpZXIgcHJvY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGltcGxpcXVlIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIHByb2pldGVyIGwndXRpbGlzYXRldXIgYWN0dWVsIHN1ciBsZSBzdXBlcnV0aWxpc2F0ZXVyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1wbGlxdWUgLS11c2VyKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVyIGxhIHByb3BhZ2F0aW9uIGRlIG1vbnRhZ2UgZGFucyBsJ2VzcGFjZSBkZSBub20gZGUgbW9udGFnZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2OAorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyw7RsZXIgbCdhcHBlbCBzeXN0w6htZSBzZXRncm91cHMgZGFucyBsZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNwYWNlcyBkZSBub20gZOKAmXV0aWxpc2F0ZXVyc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgdW5zaGFyZSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGRlIHNvcnRpZSBkdSBmaWxzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJsZXMgb3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBldCAtLW1hcC1yb290LXVzZXIgcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGR1IG1vbnRhZ2UgZGUgJXMiCisKKyMgTk9URTogV2hhdCBkb2VzIHRoYXQgbWVhbj8KKyM6IHN5cy11dGlscy93ZGN0bC5jOjczCittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIkFjdGl2ZXIgbGUgcHJvY2Vzc2V1ciBqdXNxdSdhbG9ycyByw6lpbml0aWFsaXPDqSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJSZWxhaXMgZXh0ZXJuZcKgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICJSZWxhaXMgZXh0ZXJuZcKgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICLDiWNoZWMgZHUgdmVudGlsYXRldXIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICJSw6lwb25zZSBkZSBwaW5nIHBvdXIgZ2FyZGVyIGVuIHZpZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICJQcmVuZCBlbiBjaGFyZ2UgbGUgY2FyYWN0w6hyZSBtYWdpcXVlIGRlIGZlcm1ldHVyZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICJSw6lpbml0aWFsaXNhdGlvbiDDoCBjYXVzZSBkZSBzdXJjaGF1ZmZlIGR1IHByb2Nlc3NldXIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICJQdWlzc2FuY2UgZW4gc3VydGVuc2lvbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIk1hdXZhaXNlIHB1aXNzYW5jZSBvdSBkw6lmYXV0IGRlIHB1aXNzYW5jZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiUHLDqWV4cGlyYXRpb24gKGVuIHNlY29uZGUpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiRMOpZmluaXIgbCdleHBpcmF0aW9uIChlbiBzZWNvbmRlKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIk5lIHBhcyBkw6ljbGVuY2hlciBkZSByZWTDqW1hcnJhZ2UiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAibm9tIGQnaW5kaWNhdGV1ciIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGVzY3JpcHRpb24gZCdpbmRpY2F0ZXVyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiw6l0YXQgZCdpbmRpY2F0ZXVyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICLDqXRhdCBkZSBsJ2luZGljYXRldXIgZCdhbW9yw6dhZ2UiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJub20gZHUgcMOpcmlwaMOpcmlxdWUgd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICJpbmRpY2F0ZXVyIGluY29ubnXCoDogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIk1vbnRyZXIgbCfDqXRhdCBkdSBtYXTDqXJpZWwgd2F0Y2hkb2cuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdGU+ICAgIG4nYWZmaWNoZXIgcXVlIGxlcyBpbmRpY2F0ZXVycyBzw6lsZWN0aW9ubsOpc1xuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBkZSByZW5zZWlnbmVtZW50cyBzdXIgbGVzIGluZGljYXRldXJzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgbmUgcGFzIGFmZmljaGVyIGRlIHJlbnNlaWduZW1lbnRzIHN1ciBsJ2lkZW50aXTDqSB3YXRjaGRvZ1xuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG5lIHBhcyBhZmZpY2hlciBkJ2VuLXTDqnRlIHBvdXIgbGUgdGFibGVhdSBkJ2luZGljYXRldXJzXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgYWZmaWNoZXIgdG91cyBsZXMgcmVuc2VpZ25lbWVudHMgc3VyIHVuZSBsaWduZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgIGFmZmljaGVyIGxlcyBjb2xvbm5lcyBkZXMgaW5kaWNhdGV1cnNcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1dGlsaXNlciBsZSBmb3JtYXQgYnJ1dCBwb3VyIGxlIHRhYmxlYXUgZCdpbmRpY2F0ZXVyc1xuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIG5lIHBhcyBhZmZpY2hlciBsZXMgdGVtcHMgZCdleHBpcmF0aW9uIGRlIHdhdGNoZG9nXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gZMOpZmluaXIgbGUgdGVtcHMgZCdleHBpcmF0aW9uIGRlIHdhdGNoZG9nXG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgbidhZmZpY2hlciBxdWUgbGUgdGFibGVhdSBkJ2luZGljYXRldXJzIChjb21tZSAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiTGUgcMOpcmlwaMOpcmlxdWUgcGFyIGTDqWZhdXQgZXN0ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlc8KgOiBpbmRpY2F0ZXVyIDB4JXggaW5jb25udVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIlc8KgOiB3YXRjaGRvZyBlc3QgZMOpasOgIGVuIGNvdXJzIGQndXRpbGlzYXRpb24sIGFycsOqdC4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkdSBkw6lzYXJtZW1lbnQgZGUgd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqWZpbmlyIGxhIHZhbGV1ciBkJ2V4cGlyYXRpb24gcG91ciAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiTGEgdmFsZXVyIGQnZXhwaXJhdGlvbiBhIMOpdMOpIGTDqWZpbmllIMOgICVkwqBzZWNvbmRlLlxuIgorbXNnc3RyWzFdICJMYSB2YWxldXIgZCdleHBpcmF0aW9uIGEgw6l0w6kgZMOpZmluaWUgw6AgJWTCoHNlY29uZGVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ29idGVudGlvbiBkZSByZW5zZWlnbmVtZW50cyBzdXIgd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpwqBzZWNvbmRlXG4iCittc2dzdHJbMV0gIiUtMTRzICUyacKgc2Vjb25kZXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY2Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIkV4cGlyYXRpb27CoDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiUHLDqWV4cGlyYXRpb27CoDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiVGVtcHMgcmVzdGFudMKgOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiUMOpcmlwaMOpcmlxdWXCoDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdMOpwqA6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDgKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzaW9uIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibm9tIGR1IHDDqXJpcGjDqXJpcXVlIHpSQU0iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICJsaW1pdGUgZGUgcXVhbnRpdMOpIGRlIGRvbm7DqWVzIG5vbiBjb21wcmVzc8OpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAidGFpbGxlIG5vbiBjb21wcmVzc8OpZSBkZSBkb25uw6llcyBzdG9ja8OpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgInRhaWxsZSBjb21wcmVzc8OpZSBkZSBkb25uw6llcyBzdG9ja8OpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJsJ2FsZ29yaXRobWUgZGUgY29tcHJlc3Npb24gc8OpbGVjdGlvbm7DqSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIm5vbWJyZSBk4oCZb3DDqXJhdGlvbnMgZGUgY29tcHJlc3Npb24gY29uY3VycmVudGVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJ2aWRlciBsZXMgcGFnZXMgc2FucyBhbGxvY2F0aW9uIG3DqW1vaXJlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJ0b3V0ZSBsYSBtw6ltb2lyZSwgeSBjb21wcmlzIGxhIGZyYWdtZW50YXRpb24gZOKAmWFsbG9jYXRpb24gZXQgbGVzIGVuLXTDqnRlcyBkZSBtw6l0YWRvbm7DqWVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJMaW1pdGUgZGUgbcOpbW9pcmUgdXRpbGlzw6llIHBvdXIgc3RvY2tlciBkZXMgZG9ubsOpZXMgY29tcHJlc3PDqWVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAibGEgbcOpbW9pcmUgelJBTSBhIMOpdMOpIGNvbnNvbW3DqWUgcG91ciBzdG9ja2VyIGRlcyBkb25uw6llcyBjb21wcmVzc8OpZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICJub21icmUgZOKAmW9iamV0cyBtaWdyw6lzIHBhciBjb21wYWN0aW9uIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIG1tX3N0YXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wdGlvbnNdIDxww6lyaXBow6lyaXF1ZT5cbiIKKyIgJTEkcyAtciA8cMOpcmlwaMOpcmlxdWU+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPHDDqXJpcGjDqXJpcXVlPiAtcyA8dGFpbGxlPlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIk1ldHRyZSBlbiBwbGFjZSBldCBjb250csO0bGVyIGRlcyBww6lyaXBow6lyaXF1ZXMgelJBTS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NHxsejRoY3xkZWZsYXRlfDg0MiAgIGFsZ29yaXRobWUgZGUgY29tcHJlc3Npb24gw6AgdXRpbGlzZXJcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDIKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgYWZmaWNoZXIgbGVzIHRhaWxsZXMgZW4gb2N0ZXQgcGx1dMO0dCBxdSdlbiBmb3JtYXQgbGlzaWJsZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICB0cm91dmVyIHVuIHByZW1pZXIgcMOpcmlwaMOpcmlxdWUgbGlicmVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgbGVzIGVuLXTDqnRlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICAgIGNvbG9ubmVzIMOgIHV0aWxpc2VyIHBvdXIgYWZmaWNoZXIgbCfDqXRhdFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGTigJlhZmZpY2hhZ2UgZOKAmcOpdGF0IGJydXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDcKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcsOpaW5pdGlhbGlzZXIgdG91cyBsZXMgcMOpcmlwaMOpcmlxdWVzIGluZGlxdcOpc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OAorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtcywgLS1zaXplIDx0YWlsbGU+ICAgICAgIHRhaWxsZSBkZSBww6lyaXBow6lyaXF1ZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDxub21icmU+ICAgIG5vbWJyZSBkZSBmbHV4IGRlIGNvbXByZXNzaW9uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjMzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGVzIGZsdXgiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAibCdvcHRpb24gLS1maW5kIGV0IDxww6lyaXBow6lyaXF1ZT4gcydleGNsdWVudCBtdXR1ZWxsZW1lbnQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgInVuIHNldWwgPHDDqXJpcGjDqXJpcXVlPiDDoCBsYSBmb2lzIGVzdCBwZXJtaXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgImxlcyBvcHRpb25zIC0tYWxnb3JpdGhtIGV0IC0tc3RyZWFtcyBkb2l2ZW50IMOqdHJlIGNvbWJpbsOpZXMgYXZlYyAtLXNpemUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk0IHN5cy11dGlscy96cmFtY3RsLmM6NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkZSByw6lpbml0aWFsaXNhdGlvbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICJhdWN1biBww6lyaXBow6lyaXF1ZSB6UkFNIGxpYnJlIGRpc3BvbmlibGUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkdSBub21icmUgZGUgZmx1eCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZSBsJ2FsZ29yaXRobWUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlc8KgOiDDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZSBsYSB0YWlsbGUgZGUgZGlzcXVlICglanXCoG9jdGV0cykiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoY29ubmV4aW9uIGF1dG9tYXRpcXVlKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXPCoDogaW1wb3NzaWJsZSBkZSBtb2RpZmllciBsZSByw6lwZXJ0b2lyZSByYWNpbmUgJXPCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlc8KgOiBpbXBvc3NpYmxlIGRlIG1vZGlmaWVyIGxlIHLDqXBlcnRvaXJlIGRlIHRyYXZhaWwgJXPCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZGUgbW9kaWZpZXIgbGEgcHJpb3JpdMOpwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdleMOpY3V0ZXIgJXPCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICLDqWNoZWMgZCdhbGxvY2F0aW9uIGRlIHRhbXBvbiBkZSBtw6ltb2lyZcKgOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMgZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgZMOpbGFpIGludmFsaWRlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3QgcG91ciAtLWxvY2FsLWxpbmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudCBkZSBuaWNlIGluY29ycmVjdCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAidml0ZXNzZSBlcnJvbsOpZcKgOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDgKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ0cm9wIGRlIHZpdGVzc2VzIGFsdGVybmF0aXZlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzwqA6IGltcG9zc2libGUgZCdvdXZyaXIgZW4gdGFudCBxdSdlbnRyw6llIHN0YW5kYXJkwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lc8KgOiBwYXMgdW4gcMOpcmlwaMOpcmlxdWUgY2FyYWN0w6hyZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lc8KgOiBwYXMgdW4gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzwqA6IGltcG9zc2libGUgZCdvYnRlbmlyIGxlIHRlcm1pbmFsIGRlIGNvbnRyw7RsZcKgOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzwqA6IMOpY2hlYyBkZSB2aGFuZ3VwKCnCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzwqA6IG4nZXN0IHBhcyBvdXZlcnQgZW4gbGVjdHVyZS/DqWNyaXR1cmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIvZGV2LyVzwqA6IGltcG9zc2libGUgZGUgY29uZmlndXJlciBsZSBncm91cGUgZHUgcHJvY2Vzc3VzwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXPCoDogcHJvYmzDqG1lIGF2ZWMgZHVwwqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzwqA6IMOpY2hlYyBkJ29idGVudGlvbiBkZXMgYXR0cmlidXRzIGR1IHRlcm1pbmFswqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjUgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICLDqWNoZWMgZGUgY29uZmlndXJhdGlvbiBkZXMgYXR0cmlidXRzIGR1IHRlcm1pbmFswqA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBvcy1yZWxlYXNlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICLDqWNoZWMgbG9ycyBkZSBsYSBjcsOpYXRpb24gZHUgZmljaGllciBkZSByZWNoYXJnZW1lbnTCoDogJXMgOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW2FwcHV5ZXogc3VyIEVudHLDqWUgcG91ciB2b3VzIGNvbm5lY3Rlcl0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg1OQorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiVmVycm91aWxsYWdlIG51bcOpcmlxdWUgZMOpc2FjdGl2w6kiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJWZXJyb3VpbGxhZ2UgbnVtw6lyaXF1ZSBhY3RpdsOpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIlZlcnJvdWlsbGFnZSBtYWp1c2N1bGVzIGFjdGl2w6kiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICJBcnLDqnQgZGUgZMOpZmlsZW1lbnQgYWN0aXbDqSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiQ29uc2VpbMKgOiAlc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlc8KgOiBsdcKgOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlc8KgOiBkw6lwYXNzZW1lbnQgZHUgdGFtcG9uIGQnZW50csOpZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXPCoDogY2FyYWN0w6hyZSBkZSBjb252ZXJzaW9uIG5vbiB2YWxhYmxlIHBvdXIgbGUgbm9tIGRlIGNvbm5leGlvbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzwqA6IGNhcmFjdMOocmUgMHgleCBub24gdmFsYWJsZSBkYW5zIGxlIG5vbSBkZSBjb25uZXhpb24iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIGNvbmZpZ3VyYXRpb24gZGVzIGF0dHJpYnV0cyBkdSB0ZXJtaW5hbMKgOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW29wdGlvbnNdIDxsaWduZT4gWzx2aXRlc3NlX2RlX2Nvbm5leGlvbj4sLi4uXSBbPHR5cGV0ZXJtPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHZpdGVzc2VfZGVfY29ubmV4aW9uPiwuLi4gPGxpZ25lPiBbPHR5cGV0ZXJtPl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIk91dnJpciB1biB0ZXJtaW5hbCBldCBkw6lmaW5pciBzb24gbW9kZS5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIHN1cHBvc2VyIHF1ZSBsZSB0ZXJtaW5hbCBnw6hyZSBsZXMgY2FyYWN0w6hyZXMgOMKgYml0c1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG9sb2dpbiA8aWRlbnQ+ICAgIGNvbm5lY3RlciBsJ3V0aWxpc2F0ZXVyIGluZGlxdcOpIGF1dG9tYXRpcXVlbWVudFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgbmUgcGFzIHLDqWluaXRpYWxpc2VyIGxlIG1vZGUgZGUgY29udHLDtGxlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHV0aWxpc2VyIC1yIDxub21fZF9ow7R0ZT4gcG91ciBsb2dpbigxKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWNoaWVyPiBhZmZpY2hlciBsZSBmaWNoaWVyIGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBhY3RpdmVyIGxlIGNvbnRyw7RsZSBkZSBmbHV4IG1hdMOpcmllbFxuIgorCisjIGdldG9wdC0xLjEuMi9nZXRvcHQuYzozMzUKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPG5vbV9kX2jDtHRlPiAgICBpbmRpcXVlciBsJ2jDtHRlIGRlIGNvbm5leGlvblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgbmUgcGFzIGFmZmljaGVyIGxlIGZpY2hpZXIgaXNzdWVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIgLUksIC0taW5pdC1zdHJpbmcgPGNoYcOubmU+IGTDqWZpbmlyIGxhIGNoYcOubmUgaW5pdGlhbGVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIG5lIHBhcyBlZmZhY2VyIGwnw6ljcmFuIGF2YW50IGwnaW52aXRlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpYy4+IGluZGlxdWVyIGxlIHByb2dyYW1tZSBkZSBjb25uZXhpb25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHLDtGxlciBsJ2F0dHJpYnV0IGRlIGxpZ25lIGxvY2FsZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDUKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhaXJlIGxhIHZpdGVzc2UgcGVuZGFudCBsYSBjb25uZXhpb25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBuZSBwYXMgZGVtYW5kZXIgZCdpZGVudGlmaWFudCBkZSBjb25uZXhpb25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBuZSBwYXMgYWZmaWNoZXIgZGUgY2hhbmdlbWVudCBkZSBsaWduZSBhdmFudCBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDgKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdC4+IG9wdGlvbnMgcXVpIHNvbnQgcGFzc8OpZXMgw6AgbGEgY29ubmV4aW9uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIGF0dGVuZHJlIHVuZSB0b3VjaGUgYXZhbnQgbGEgY29ubmV4aW9uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1jaHJvb3QgPHLDqXBlcnRvaXJlPiAgbW9kaWZpZXIgbGEgcmFjaW5lIGF1IHLDqXBlcnRvaXJlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIHJhY2Nyb2NoZXIgdmlydHVlbGxlbWVudCBzdXIgbGUgdGVybWluYWxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgZXNzYXllciBkZSBnYXJkZXIgbGEgdml0ZXNzZSBlbiBiYXVkIGFwcsOocyB1bmUgcGF1c2VcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bm9tYnJlPiAgICAgdGVtcHMgZCdleHBpcmF0aW9uIGR1IHByb2Nlc3N1cyBkZSBjb25uZXhpb25cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGTDqXRlY3RlciBsZXMgdGVybWluYXV4IGVuIG1hanVzY3VsZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIGF0dGVuZHJlIHVuIHJldG91ciBjaGFyaW90XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIG5lIHBhcyBhZmZpY2hlciBkZSBjb25zZWlsc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5lIG1vbnRyZXIgYXVjdW4gbm9tIGQnaMO0dGVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU4Cittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIG1vbnRyZXIgbGUgbm9tIGQnaMO0dGUgY29tcGzDqHRlbWVudCBxdWFsaWZpw6lcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1lcmFzZS1jaGFycyA8Y2hhw65uZT4gY2FyYWN0w6hyZXMgc3VwcGzDqW1lbnRhaXJlcyBkJ2VzcGFjZSBhcnJpw6hyZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjAKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoYXJzIDxjaGHDrm5lPiAgY2FyYWN0w6hyZXMgc3VwcGzDqW1lbnRhaXJlcyBwb3VyIHR1ZXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYxCittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDxyw6lwZXJ0b2lyZT4gICBjaGFuZ2VyIGRlIHLDqXBlcnRvaXJlIGF2YW50IGxhIGNvbm5leGlvblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjIKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8bm9tYnJlPiAgICAgICB0ZW1wcyBkZSBzb21tZWlsLCBlbiBzZWNvbmRlLCBhdmFudCBsJ2ludml0ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjMKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgICAgIC0tbmljZSA8bm9tYnJlPiAgICAgICAgZXjDqWN1dGVyIGxhIGNvbm5leGlvbiBhdmVjIGNldHRlIHByaW9yaXTDqVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjQKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWNoYXJnZXIgbGVzIGludml0ZXMgZGVzIGluc3RhbmNlcyBhZ2V0dHkgZW4gY291cnNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY1Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGFmZmljaGVyIGxlcyB2aXRlc3NlIHN1cHBvcnTDqWVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWTCoHV0aWxpc2F0ZXVyIgorbXNnc3RyWzFdICIlZMKgdXRpbGlzYXRldXJzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgIsOpY2hlYyBkZSBjaGVja25hbWXCoDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSB0b3VjaGVyIGxlIGZpY2hpZXIgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBu4oCZZXN0IHBhcyBwcmlzIGVuIGNoYXJnZSBzdXIgY2Ugc3lzdMOobWUiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFt5fG5dXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiQ29udHLDtGxlciBsJ2FjY8OocyBlbiDDqWNyaXR1cmUgZGVzIGF1dHJlcyB1dGlsaXNhdGV1ciBzdXIgdm90cmUgdGVybWluYWwuXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICBleHBsaXF1ZXIgbGVzIGFjdGlvbnMgZW4gY291cnNcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSB0dHluYW1lIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICJlc3QgeSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAiZXN0IG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgbW9kaWZpY2F0aW9uIGR1IG1vZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgImFjY8OocyBlbiDDqWNyaXR1cmUgw6Agdm90cmUgdGVybWluYWwgcGVybWlzIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgImFjY8OocyBlbiDDqWNyaXR1cmUgw6Agdm90cmUgdGVybWluYWwgcmVmdXPDqSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCBpbmNvcnJlY3TCoDogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gW2ZpY2hpZXJdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICJDcsOpZXIgdW5lIHRyYW5zY3JpcHRpb24gZCd1bmUgc2Vzc2lvbiBkJ3VuIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgYWpvdXRlciDDoCBsYSBzb3J0aWVcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZGU+IGV4w6ljdXRlciBsYSBjb21tYW5kZSBwbHV0w7R0IHF1J3VuIGludGVycHLDqXRldXIgaW50ZXJhY3RpZlxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgcmVudm95ZXIgbGUgY29kZSBkZSBzb3J0aWUgZHUgcHJvY2Vzc3VzIGZpbHNcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgIGV4w6ljdXRlciBmbHVzaCBhcHLDqHMgY2hhcXVlIMOpY3JpdHVyZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZmljaGllciBkZSBzb3J0aWUgbcOqbWUgc2kgYydlc3QgdW4gbGllblxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgbW9kZSBzaWxlbmNpZXV4XG4iCisiIC10WzxmaWNoaWVyPl0sIC0tdGltaW5nWz08ZmljaGllcj5dIGFmZmljaGVyIGxlcyBkb25uw6llcyB0ZW1wb3JlbGxlcyBzdXIgbGEgc29ydGllXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgZCdlcnJldXIgc3RhbmRhcmQgKG91IHZlcnMgPGZpY2hpZXI+KVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisibGUgZmljaGllciBkZSBzb3J0aWUgwqvCoCVzwqDCuyBlc3QgdW4gbGllbiBzeW1ib2xpcXVlXG4iCisiVXRpbGlzZXogLS1mb3JjZSBzaSB2b3VzIGTDqXNpcmV6IHLDqWVsbGVtZW50IGwndXRpbGlzZXIuXG4iCisiTGUgcHJvZ3JhbW1lIG4nYSBwYXMgw6l0w6kgZMOpbWFycsOpLiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IHRlcm1pbsOpLCBsZSBmaWNoaWVyIGVzdCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpY3JpcmUgbGUgZmljaGllciBzY3JpcHQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbsOpZS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGTDqW1hcnLDqSBzdXIgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTY3JpcHQgdGVybWluw6kgc3VyICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBvcGVucHR5IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAibWFucXVlIGRlIHB0eSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiTGUgc2NyaXB0IGEgZMOpYnV0w6ksIGxlIGZpY2hpZXIgZXN0ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiVzIFstdF0gZmljaGllcl9kw6lyb3VsZW1lbnRfdGVtcG9yZWwgW3NjcmlwdF9lbnJlZ2lzdHLDqV0gW2RpdmlzZXVyXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlJlam91ZXIgdW4gZW5yZWdpc3RyZW1lbnQgZHUgdGVybWluYWwgZmFpdCBwYXIgc2NyaXB0LCBlbiB1dGlsaXNhbnQgbGVzIGluZm9ybWF0aW9ucyB0ZW1wb3JlbGxlcy5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPGZpYy4+ICAgICDDqWNyaXJlIGxlIGZpY2hpZXIgZGUgZMOpcm91bGVtZW50IHRlbXBvcmVsIGVuIHNvcnRpZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWMuPiDDqWNyaXJlIGxlIGZpY2hpZXIgZGUgbGEgc2Vzc2lvbiBkZSB0ZXJtaW5hbCBlbiBzb3J0aWVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bm9tYnJlPiAgYWNjw6lsw6lyZXIgb3UgZMOpY8OpbMOpcmVyIGwnZXjDqWN1dGlvbiBhdmVjIHVuIGRpdmlzZXVyIGRlIHRlbXBzXG4iCisiIC1tLCAtLW1heGRlbGF5IDxub21icmU+IGF0dGVuZHJlIGF1IHBsdXMgY2UgdGVtcHMgZW4gc2Vjb25kZSBlbnRyZSBsZXMgbWlzZXMgw6Agam91clxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMworbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkJ8OpY3JpdHVyZSBzdXIgbGEgc29ydGllIHN0YW5kYXJkIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICJmaW4gZGUgZmljaGllciBpbmF0dGVuZHVlIHN1ciAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLDqWNoZWMgZGUgbGVjdHVyZSBkdSBmaWNoaWVyIHNjcmlwdCBlbnJlZ2lzdHLDqSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJtYXV2YWlzIG5vbWJyZSBkJ2FyZ3VtZW50cyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIsOpY2hlYyBkZSBsZWN0dXJlIGR1IGZpY2hpZXIgZGUgZMOpcm91bGVtZW50IHRlbXBvcmVsICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICJmaWNoaWVyIGRlIGTDqXJvdWxlbWVudCB0ZW1wb3JlbCAlc8KgOiBsaWduZSAlbHXCoDogZm9ybWF0IGluYXR0ZW5kdSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiZXJyZXVyIGQnYXJndW1lbnTCoDogbHVtaW5vc2l0w6kgJXMgbm9uIHByaXNlIGVuIGNoYXJnZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAidHJvcCBkZSB0YWJ1bGF0aW9ucyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIkTDqWZpbmlyIGxlcyBhdHRyaWJ1dHMgZOKAmXVuIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA8bm9tX3Rlcm1pbmFsPiAgICByZW1wbGFjZXIgbGEgdmFyaWFibGUgZCdlbnZpcm9ubmVtZW50IFRFUk1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHLDqWluaXRpYWxpc2VyIGxlIHRlcm1pbmFsIGVuIMOpdGF0IGFsaW1lbnTDqVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByw6lpbml0aWFsaXNlciBsZXMgbGlnbmVzIGV0IGNvbG9ubmVzIGR1IHRlcm1pbmFsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGEgY2hhw65uZSBk4oCZaW5pdGlhbGlzYXRpb24gZXQgdXRpbGlzZXIgbGVzIHLDqWdsYWdlcyBwYXIgZMOpZmF1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbGlzZXIgbGVzIHLDqWdsYWdlcyBwYXIgZMOpZmF1dCBkdSB0ZXJtaW5hbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F1dmVnYXJkZXIgbGVzIHLDqWdsYWdlcyBhY3R1ZWxzIGR1IHRlcm1pbmFsIGNvbW1lIHLDqWdsYWdlcyBwYXIgZMOpZmF1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgYWZmaWNoZXIgbGUgY3Vyc2V1clxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHLDqXDDqXRlciBsZSBjbGF2aWVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgbW9kZSBk4oCZYXBwbGljYXRpb24gZGUgdG91Y2hlIGR1IGN1cnNldXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZXIgc3VyIHVuZSBub3V2ZWxsZSBsaWduZSBxdWFuZCB1bmUgbGlnbmUgZXN0IHBsZWluZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgw6ljaGFuZ2VyIGxlcyBjb3VsZXVycyBwb3VyIHRvdXQgbCfDqWNyYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvdWxldXI+IGTDqWZpbmlyIGxhIGNvdWxldXIgZGUgcHJlbWllciBwbGFuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb3VsZXVyPiBkw6lmaW5pciBsYSBjb3VsZXVyIGTigJlhcnJpw6hyZS1wbGFuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb3VsZXVyPiBkw6lmaW5pciBsYSBjb3VsZXVyIGRlIHRleHRlIHNvdWxpZ27DqVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y291bGV1cj4gZMOpZmluaXIgbGEgY291bGV1ciBkZSB0ZXh0ZSBncmFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPGNvdWxldXI+wqA6IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBncmFzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBjbGlnbm90ZW1lbnRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICBzb3VsaWduZW1lbnRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgw6ljaGFuZ2VyIGxlcyBjb3VsZXVycyBkZSBwcmVtaWVyIHBsYW4gZXQgZOKAmWFycmnDqHJlLXBsYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBlZmZhY2VyIGwnw6ljcmFuIGV0IGTDqWZpbmlyIGxhIHBvc2l0aW9uIGR1IGN1cnNldXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIC0tdGFicyAgICAgICAgICBbPG5vbWJyZT4gLi4uXSAgICBkw6lmaW5pciBjZXMgcG9zaXRpb25zIGTigJlhcnLDqnQgZGUgdGFidWxhdGlvbiBvdSBsZXMgbW9udHJlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAtLWNscnRhYnMgICAgICAgWzxub21icmU+IC4uLl0gICAgZWZmYWNlciBjZXMgcG9zaXRpb25zIGTigJlhcnLDqnQgZGUgdGFidWxhdGlvbiBvdSB0b3V0ZXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgZMOpZmluaXIgdW4gaW50ZXJ2YWxsZSBk4oCZYXJyw6p0IGRlIHRhYnVsYXRpb24gcsOpZ3VsaWVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIGTDqWZpbmlyIGxlIHRlbXBzIGTigJlpbmFjdGl2aXTDqSBhdmFudCBkZSBuZXR0b3llciBsJ8OpY3JhblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1kdW1wICAgICAgICAgIFs8bm9tYnJlPl0gICAgICAgIMOpY3JpcmUgbGUgY29udGVudSBkZSBsYSBjb25zb2xlIHZjc2E8bm9tYnJlPiBkYW5zIHVuIGZpY2hpZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWFwcGVuZCAgICAgICAgWzxub21icmU+XSAgICAgICAgYWpvdXRlciBsZSBjb250ZW51IGRlIGxhIGNvbnNvbGUgdmNzYTxub21icmU+IGRhbnMgdW4gZmljaGllclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxmaWNoaWVyPiAgICAgICAgIG5vbSBkdSBmaWNoaWVyIGRlIHNhdXZlZ2FyZGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgZW52b3llciBsZXMgbWVzc2FnZXMgZHUgbm95YXUgw6AgbGEgY29uc29sZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIG5pdmVhdSBkZSBqb3VybmFsaXNhdGlvbiBkdSBub3lhdSBlbiBjb25zb2xlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkw6lmaW5pciBsZXMgZm9uY3Rpb25uYWxpdMOpcyBkZSBzYXV2ZWdhcmRlIGTigJnDqW5lcmdpZSBWRVNBXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBkw6lmaW5pciBsJ2ludGVydmFsbGUgZOKAmWV4dGluY3Rpb24gVkVTQSBlbiBtaW51dGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICB0ZW1wcyBkZSBzb25uZXJpZSBlbiBtaWxsaXNlY29uZGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxub21icmU+ICAgICAgICAgIGZyw6lxdWVuY2UgZGUgc29ubmVyaWUgZW4gSGVydHpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgInV0aWxpc2F0aW9uIGTigJl1bmUgb3B0aW9uIGVuIGRvdWJsZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnYWN0aXZlciBsZSBuZXR0b3lhZ2UgYXV0b21hdGlxdWUgZGUgbCfDqWNyYW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIGTDqXNhY3RpdmVyIGxlIG5ldHRveWFnZSBhdXRvbWF0aXF1ZSBkZSBsJ8OpY3JhbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzUxCittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGwnw6l0YXQgZGUgbmV0dG95YWdlIGF1dG9tYXRpcXVlIGRlIGwnw6ljcmFuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgImltcG9zc2libGUgZCdvdXZyaXIgbGUgZmljaGllciBkZSBzYXV2ZWdhcmRlICVzIGVuIHNvcnRpZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgImxlIHRlcm1pbmFsICVzIG5lIHByZW5kIHBhcyBlbiBjaGFyZ2UgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgImxhIHPDqWxlY3Rpb24gYSDDqWNob3XDqSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAic3RkaW4gbmUgZmFpdCBwYXMgcsOpZsOpcmVuY2Ugw6AgdW4gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgInBvc2l0aW9uIGR1IGN1cnNldXIgaW52YWxpZGXCoDogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAibGEgcsOpaW5pdGlhbGlzYXRpb24gYSDDqWNob3XDqSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJpbXBvc3NpYmxlIGRlIChkw6kpY29uZmlndXJlciBsZSBtb2RlIHBvd2Vyc2F2ZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAiZXJyZXVyIGtsb2djdGwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIG4nZXN0IHBhcyBkw6lmaW5pLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiTGEgYmFzZSBkZSBkb25uw6llIHRlcm1pbmZvIGVzdCBpbnRyb3V2YWJsZSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlc8KgOiB0eXBlIGRlIHRlcm1pbmFsIGluY29ubnUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAibGUgdGVybWluYWwgZXN0IHVuIHRlcm1pbmFsIGJydXQiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJlcnJldXIgaW50ZXJuZcKgOiB0cm9wIGQnaW92IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgImxpZ25lIGQnYXJndW1lbnRzIGV4Y2Vzc2l2ZW1lbnQgbG9uZ3VlIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAiw6ljaGVjIGQnb3V2ZXJ0dXJlIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9ya8KgOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImZvcmsoKSBpbXBvc3NpYmxlIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiJXPCoDogZXJyZXVyIGZhdGFsZSwgbGUgbWVzc2FnZSBlc3QgYmVhdWNvdXAgdHJvcCBsb25nIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzxmaWNoaWVyPiB8IDxtZXNzYWdlPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJFbnZveWVyIHVuIG1lc3NhZ2Ugw6AgdG91cyBsZXMgdXRpbGlzYXRldXJzLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MgorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICBvbmx5IHNlbmQgbWVzc2FnZSB0byBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPGdyb3VwZT4gICAgZW52b3llciBsZSBtZXNzYWdlIHVuaXF1ZW1lbnQgYXUgZ3JvdXBlXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkzCittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIHBhcyBkZSBiYW5uacOocmUgYWZmaWNow6llLCBwb3VyIGxlIHN1cGVydXRpbGlzYXRldXJcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDx0ZW1wc2V4PiDDqWNyaXJlIGxlIHRlbXBzIGQnZXhwaXJhdGlvbiBlbiBzZWNvbmRlXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50IGdyb3VwIGluY29ycmVjdCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGdpZCIKK21zZ3N0ciAiJXPCoDogZ2lkIGluY29ubnUiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICJnZXRncm91cGxpc3QgYSB0cm91dsOpIHBsdXMgZGUgZ3JvdXBlcyBxdWUgY2UgcXVlIHN5c2NvbmYgcGVybWV0IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICJzZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCB1dGlsaXNlciAtLW5vYmFubmVyIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYXJndW1lbnQgZCdleHBpcmF0aW9uIGRlIGxhIG1pbnV0ZXJpZSBpbmNvcnJlY3TCoDogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgbCdpZGVudGlmaWFudCB1dGlsaXNhdGV1ciBkZSBwYXNzd2QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgImltcG9zc2libGUgZCdvYnRlbmlyIGxlIG5vbSBkdSB0ZXJtaW5hbCIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiRGlmZnVzaW9uIGRlIG1lc3NhZ2UgZGUgJXNAJXMgKCVzKSAoJXMpwqA6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIm5lIGxpcmEgcGFzICVzIOKAlCB1dGlsaXNlciBsJ2VudHLDqWUgc3RhbmRhcmQuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtvcHRpb25zXSA8dXRpbGlzYXRldXI+IFs8dGVybWluYWw+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIkVudm95ZXIgdW4gbWVzc2FnZSDDoCB1biBhdXRyZSB1dGlsaXNhdGV1ci5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICJsZSBHSUQgZWZmZWN0aWYgbmUgY29ycmVzcG9uZCBwYXMgYXUgZ3JvdXBlIGRlICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIG4nZXN0IHBhcyBjb25uZWN0w6kiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkZSByZXDDqXJlciBsZSBub20gZGUgdm90cmUgdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyBhIGTDqXNhY3RpdsOpIGxhIHLDqWNlcHRpb24gZGUgbWVzc2FnZXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyBlc3QgY29ubmVjdMOpIHBsdXMgZCd1bmUgZm9pc8KgOyBvbiDDqWNyaXQgw6AgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgIsOpY2hlYyBkZSBjYXJlZnVscHV0YyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNZXNzYWdlIGRlICVzQCVzIChjb21tZSAlcykgc3VyICVzIMOgICUwMmQ6JTAyZOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVzc2FnZSBkZSAlc0AlcyBzdXIgJXMgw6AgJTAyZDolMDJk4oCmIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ2b3MgZHJvaXRzIGQnw6ljcml0dXJlIHNvbnQgZMOpc2FjdGl2w6llcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyBuJ2VzdCBwYXMgY29ubmVjdMOpIHN1ciAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiVzIGEgZMOpc2FjdGl2w6kgbGEgcsOpY2VwdGlvbiBkZSBtZXNzYWdlcyBzdXIgJXMiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM1Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIlN1cHByaW1lciBsZXMgaW50ZXJsaWduZXMgaW52ZXJzw6lzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnPCoDpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBwYXMgZCdhZmZpY2hhZ2UgZGVzIHJldG91cnMgYXJyacOocmVcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtZXR0cmUgZCdhdmFuY2VyIGxlcyBmbHV4IGQndW5lIGRlbWkgbGlnbmVcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzZXIgbGVzIHN1aXRlcyBkZSBjb250csO0bGUgaW5jb25udWVzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydGlyIGxlcyBlc3BhY2VzIGVuIHRhYnVsYXRpb25zXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydGlyIGxlcyB0YWJ1bGF0aW9ucyBlbiBlc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5PTUJSRSAgICAgbWV0dHJlIGVuIHRhbXBvbiBhdSBtb2lucyBOT01CUkUgbGlnbmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMgbGl0IGwnZW50csOpZSBzdGFuZGFyZCBldCDDqWNyaXQgc3VyIGxhIHNvcnRpZSBzdGFuZGFyZFxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxNQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgLWwgZXJyb27DqSIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImF2ZXJ0aXNzZW1lbnTCoDogaW1wb3NzaWJsZSBkZSBzYXV2ZWdhcmRlciAlcy4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJhcHLDqHMgbGEgcHJlbWnDqHJlIGxpZ25lIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICLigJQgbGlnbmUgZMOpasOgIMOpbGltaW7DqWUiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODIgdGV4dC11dGlscy9jb2x1bW4uYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFs8ZmljaGllcj4uLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODUKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiUHLDqXBhcmVyIHVuZSBzb3J0aWUgbnJvZmYgcG91ciBsYSBwcsOpdmlzdWFsaXNhdGlvbi5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByaW1lciB0b3V0IGxlcyBzb3VsaWduZW1lbnRzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIGFmZmljaGVyIHRvdXRlcyBsZXMgZGVtaS1saWduZXNcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisiVXRpbGlzYXRpb27CoDpcbiIKKyIgJXMgW2NvbG9ubmVfZMOpYnV0IFtjb2xvbm5lX2Zpbl1dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICJTdXBwcmltZXIgbGVzIGNvbG9ubmVzIGluZGlxdcOpZXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAicHJlbWllciBhcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiZGV1eGnDqG1lIGFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIzNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbGEgY29sb25uZSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIm5vbSBkZSBjb2xvbm5lIGluZMOpZmluaSDCq8KgJXPCoMK7IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGUgbGEgbGlzdGUgLS10YWJsZS1vcmRlciIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1yaWdodCBsaXN0IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIGxpc3RlIC0tdGFibGUtcmlnaHQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtdHJ1bmMgbGlzdCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSBsaXN0ZSAtLXRhYmxlLXRydW5jIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIGxpc3RlIC0tdGFibGUtbm9leHRyZW1lIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiw6ljaGVjIGQnYW5hbHlzZSBkZSBsYSBsaXN0ZSAtLXRhYmxlLXdyYXAiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtaGlkZSBsaXN0IgorbXNnc3RyICLDqWNoZWMgZCdhbmFseXNlIGRlIGxhIGxpc3RlIC0tdGFibGUtaGlkZSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICJsaWduZSAlenXCoDogYXZlYyBKU09OLCBsZSBub20gZGUgbGEgY29sb25uZSAlenUgZXN0IHJlcXVpcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGRhdGEiCittc2dzdHIgIsOpY2hlYyBk4oCZYWxsb2NhdGlvbiBkZXMgZG9ubsOpZXMgZGUgc29ydGllIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNworbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiRm9ybWF0ZXIgZGVzIGxpc3RlcyBlbiBwbHVzaWV1cnMgY29sb25uZXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcsOpZXIgdW4gdGFibGVhdVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tdGFibGUtbmFtZSA8bm9tPiAgICAgICAgICAgbm9tIGRlIHRhYmxlIHBvdXIgbGEgc29ydGllIEpTT05cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbG9ubmVzPiAgICAgc3DDqWNpZmllciBsJ29yZHJlIGRlcyBjb2xvbm5lcyBkZSBzb3J0aWVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5vbXM+ICAgICAgIG5vbXMgZGUgY29sb25uZXMgc8OpcGFyw6lzIHBhciBkZXMgdmlyZ3VsZXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbG9ubmVzPiBuZSBwYXMgY29tcHRlciBsZXMgdGV4dGVzIGxvbmdzIGRlcyBjb2xvbm5lcyBkYW5zIGxhIGxhcmdldXIgZGVzIGNvbG9ubmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgLWQsIC0tdGFibGUgbm9oZWFkaW5ncyAgICAgICAgICAgbmUgcGFzIGFmZmljaGUgbCdlbi10w6p0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHLDqXDDqXRlciBsJ2VuLXTDqnRlIHN1ciBjaGFxdWUgcGFnZVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sb25uZXM+ICAgICAgbmUgcGFzIGFmZmljaGVyIGxlcyBjb2xvbm5lXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbG9ubmVzPiAgICAgYWxpZ25lciBsZSB0ZXh0ZSDDoCBkcm9pdGUgZGFucyBjZXMgY29sb25uZXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbG9ubmVzPiAgdHJvbnF1ZXIgbGUgdGV4dGUgZGFucyBsZXMgY29sb25uZXMgc2kgbsOpY2Vzc2FpcmVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtVywgLS10YWJsZS13cmFwIDxjb2xvbm5lcz4gICAgICBpbXBvc2VyIHVuIHJldG91ciDDoCBsYSBsaWduZSBkYW5zIGxlcyBjb2xvbm5lcyBzaSBuw6ljZXNzYWlyZVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXRpbGlzZXIgbGUgZm9ybWF0IGRlIHNvcnRpZSBKU09OIHBvdXIgbGEgdGFibGVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIC1yLCAtLXRyZWUgPGNvbG9ubmU+ICAgICAgICAgICAgIGNvbG9ubmUgcG91ciB1dGlsaXNlciB1bmUgc29ydGllIGFyYm9yZXNjZW50ZSBwb3VyIGxhIHRhYmxlXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1Cittc2dpZCAiIC1pLCAtLXRyZWUtaWQgPGNvbHVtbj4gICAgICAgICAgIGxpbmUgSUQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLXRyZWUtaWQgPGNvbG9ubmU+ICAgICAgICAgIElEIGRlIGxpZ25lIHBvdXIgc3DDqWNpZmllciBsYSByZWxhdGlvbiBlbmZhbnQvcGFyZW50XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbG9ubmU+ICAgICAgcGFyZW50IHBvdXIgc3DDqWNpZmllciBsYSByZWxhdGlvbiBlbmZhbnQvcGFyZW50XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tb3V0cHV0LXdpZHRoIDxsYXJnZXVyPiAgICAgbGFyZ2V1ciBkZSBsYSBzb3J0aWUgZW4gbm9tYnJlIGRlIGNhcmFjdMOocmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPGNoYcOubmU+ICBzw6lwYXJhdGV1ciBkZSBjb2xvbm5lcyBwb3VyIGxhIHNvcnRpZSB0YWJsZSAoZGV1eCBlc3BhY2VzIHBhciBkw6lmYXV0KVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPGNoYcOubmU+ICAgICAgICAgZMOpbGltaXRldXJzIGRlIHRhYmxlYXUgcG9zc2libGVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgcmVtcGxpciBsZXMgbGlnbmVzIGF2YW50IGxlcyBjb2xvbm5lc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnQgZGUgY29sb25uZXMgaW5jb3JyZWN0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZGVzIG5vbXMgZGUgY29sb25uZSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTEKK21zZ2lkICJvcHRpb25zIC0tdHJlZS1pZCBhbmQgLS10cmVlLXBhcmVudCBhcmUgcmVxdWlyZWQgZm9yIHRyZWUgZm9ybWF0dGluZyIKK21zZ3N0ciAibGVzIG9wdGlvbnMgLS10cmVlLWlkIGV0IC0tdHJlZS1wYXJlbnQgc29udCByZXF1aXNlcyBwb3VyIGxlIGZvcm1hdCBhcmJvcmVzY2VudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAibCdvcHRpb24gLS10YWJsZSBlc3QgcmVxdWlzZSBwb3VyIHRvdXRlcyBsZXMgLS10YWJsZS0qIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAibCdvcHRpb24gLS10YWJsZS1jb2x1bW5zIGVzdCByZXF1aXNlIHBvdXIgLS1qc29uIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gPGZpY2hpZXI+Li4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OQorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJBZmZpY2hlciBsZSBjb250ZW51IGTigJl1biBmaWNoaWVyIGVuIGhleGFkw6ljaW1hbCwgZMOpY2ltYWwsIG9jdGFsIG91IEFTQ0lJLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIGFmZmljaGFnZSBvY3RhbCBzaW1wbGUgb2N0ZXRcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgYWZmaWNoYWdlIGRlIGNhcmFjdMOocmUgc2ltcGxlIG9jdGV0XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBhZmZpY2hhZ2UgY2Fub25pcXVlIGhleGFkw6ljaW1hbCBldCBBU0NJSVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgYWZmaWNoYWdlIGTDqWNpbWFsIGRvdWJsZSBvY3RldFxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIGFmZmljaGFnZSBvY3RhbCBkb3VibGUgb2N0ZXRcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICBhZmZpY2hhZ2UgaGV4YWTDqWNpbWFsIGRvdWJsZSBvY3RldFxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHLDqXRlciBsZXMgc3DDqWNpZmljYXRldXJzIGRlIGZvcm1hdGFnZSBkZSBjb3VsZXVyXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGNoYcOubmUgZGUgZm9ybWF0IMOgIHV0aWxpc2VyIHBvdXIgYWZmaWNoZXIgbGVzIGRvbm7DqWVzXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpY2guPiBmaWNoaWVyIGNvbnRlbmFudCBsZXMgY2hhw65uZXMgZGUgZm9ybWF0XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDxsb25ndWV1cj4gICBu4oCZaW50ZXJwcsOpdGVyIHF1ZSA8bG9uZ3VldXI+wqBvY3RldHMgZCdlbnRyw6llXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIgLXMsIC0tc2tpcCA8aW5kZXg+ICAgICAgICBwYXNzZXIgPGluZGV4PsKgb2N0ZXRzIGRlcHVpcyBsZSBkw6lidXRcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBhZmZpY2hlciBsZXMgbGlnbmVzIGlkZW50aXF1ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICLDqWNoZWMgZGUgdG91cyBsZXMgYXJndW1lbnRzIGRlIGZpY2hpZXIgZCdlbnRyw6llIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgImTDqWNvbXB0ZSBkJ29jdGV0cyBlcnJvbsOpIHBvdXIgbGUgY2FyYWN0w6hyZSBkZSBjb252ZXJzaW9uICVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICIlJXMgbsOpY2Vzc2l0ZSB1bmUgcHLDqWNpc2lvbiBvdSB1biBkw6ljb21wdGUgZCdvY3RldHMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiZm9ybWF0IHslc30gZXJyb27DqSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgImNvbnZlcnNpb24gZXJyb27DqWUgZGUgY2FyYWN0w6hyZXMgJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiZMOpY29tcHRlIGQnb2N0ZXRzIGVycm9uw6kgcG91ciBwbHVzaWV1cnMgY2FyYWN0w6hyZXMgZGUgY29udmVyc2lvbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICJMaXJlIHVuZSBsaWduZS5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiRmlsdHJlIGxlY3RldXIgZGUgZmljaGllci5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICBhZmZpY2hlciBsJ2FpZGUgYXUgbGlldSBkZSBkw6ljbGVuY2hlciBsYSBzb25uZXJpZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgIGNvbXB0ZXIgbG9naXF1ZW1lbnQgYXUgbGlldSBkZXMgbGlnbmVzIGTigJnDqWNyYW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgc3VwcHJpbWVyIGxhIHBhdXNlIGFwcsOocyBsZSBzYXV0IGRlIHBhZ2VcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICBuZSBwYXMgZMOpZmlsZXIsIGFmZmljaGVyIGxlIHRleHRlIGV0IG5ldHRveWVyIGxlcyBmaW5zIGRlIGxpZ25lXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAgbmUgcGFzIGTDqWZpbGVyLCBuZXR0b3llciBsJ8OpY3JhbiBldCBhZmZpY2hlciBsZSB0ZXh0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgcmVncm91cGVyIGxlcyBsaWduZXMgYmxhbmNoZXMgY29uc8OpY3V0aXZlcyBlbiB1bmUgc2V1bGVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICBzdXBwcmltZXIgbGUgc291bGlnbmVtZW50XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08bm9tYnJlPiAgIGxlIG5vbWJyZSBkZSBsaWduZXMgcGFyIMOpY3JhbiBjb21wbGV0XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICs8bnVtw6lybz4gICBhZmZpY2hlciBsZSBmaWNoaWVyIMOgIHBhcnRpciBkdSBudW3DqXJvIGRlIGxpZ25lXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88Y2hhw65uZT4gIGFmZmljaGVyIGxlIGZpY2hpZXIgw6AgcGFydGlyIGRlIGxhIGNoYcOubmUgZGUgcmVjaGVyY2hlIGNvcnJlc3BvbmRhbnRlXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIm9wdGlvbiAtJXMgaW5jb25udWUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXPCoDogcsOpcGVydG9pcmUgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXPCoDogTidlc3QgcGFzIHVuIGZpY2hpZXIgdGV4dGUgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbVXRpbGlzZXIgcSBvdSBRIHBvdXIgcXVpdHRlcl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1QbHVzLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihQcm9jaGFpbiBmaWNoaWVywqA6ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW0FwcHV5ZXIgc3VyIGxhIGJhcnJlIGQnZXNwYWNlbWVudCBwb3VyIGNvbnRpbnVlciwgwqvCoHHCoMK7IHBvdXIgcXVpdHRlci5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAi4oCmIHJlY3Vsw6kgZGUgJWTCoHBhZ2UiCittc2dzdHJbMV0gIuKApiByZWN1bMOpIGRlICVkwqBwYWdlcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAi4oCmIGVzY2Ftb3RhZ2UgZGUgJWTCoGxpZ25lIgorbXNnc3RyWzFdICLigKYgZXNjYW1vdGFnZSBkZSAlZMKgbGlnbmVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKkFycmnDqHJlKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIlBhcyBkJ2V4cHJlc3Npb24gcmF0aW9ubmVsbGUgcHLDqWPDqWRlbnRlIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzE0Cittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkxhIHBsdXBhcnQgZGVzIGNvbW1hbmRlcyBwcsOpY8OpZMOpZXMgb3B0aW9ubmVsbGVtZW50IHBhciB1biBhcmd1bWVudCBlbnRpZXIgay4gUGFyIGTDqWZhdXQgZW50cmUgY3JvY2hldHMuXG4iCisiTCfDqXRvaWxlIMKrwqAqwqDCuyBpbmRpcXVlIHF1ZSBsJ2FyZ3VtZW50IGRldmllbnQgbGUgbm91dmVhdSBkw6lmYXV0LlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPGVzcGFjZT4gICAgICAgICAgICAgICAgIGFmZmljaGVyIGxlcyBwcm9jaGFpbmVzIE4gbGlnbmVzIGRlIHRleHRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdGFpbGxlIGFjdHVlbGxlIGQnw6ljcmFuXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgcHJvY2hhaW5lcyBOIGxpZ25lcyBkZSB0ZXh0ZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3RhaWxsZSBhY3R1ZWxsZSBkJ8OpY3Jhbl0qXG4iCisiPGVudHLDqWU+ICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgcHJvY2hhaW5lcyBOIGxpZ25lcyBkZSB0ZXh0ZSBbMV0qXG4iCisiZCBvdSBjdHJsLUQgICAgICAgICAgICAgIGTDqWZpbGVyIE4gbGlnbmVzIFt0YWlsbGUgYWN0dWVsbGUgZGUgZMOpZmlsZW1lbnQsIGluaXRpYWxlbWVudCAxMV0qXG4iCisicSBvdSBRIG91IDxpbnRlcnJ1cHQ+ICAgIHF1aXR0ZXIgbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgICBlc2NhbW90ZXIgdmVycyBsJ2F2YW50IE4gbGlnbmVzIGRlIHRleHRlIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgICBlc2NhbW90ZXIgdmVycyBsJ2F2YW50IE4gw6ljcmFucyBwbGVpbnMgZGUgdGV4dGUgWzFdXG4iCisiYiBvdSBjdHJsLUIgICAgICAgICAgICAgIGVzY2Ftb3RlciB2ZXJzIGwnYXJyacOocmUgTiDDqWNyYW5zIHBsZWlucyBkZSB0ZXh0ZSBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICAgYWxsZXIgw6AgbCdlbmRyb2l0IG/DuSBsYSByZWNoZXJjaGUgcHLDqWPDqWRlbnRlIGEgZMOpYnV0w6lcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGUgbnVtw6lybyBkZSBsYSBsaWduZSBhY3R1ZWxsZVxuIgorIi88ZXhwcmVzc2lvbiByw6lndWxpw6hyZT4gIGNoZXJjaGVyIGxhIE4tacOobWUgb2NjdXJyZW5jZSBkZSBsJ2V4cHJlc3Npb24gcsOpZ3VsacOocmUgWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgIGNoZXJjaGVyIGxhIE4tacOobWUgb2NjdXJyZW5jZSBkZSBsYSBkZXJuacOocmUgZXhwcmVzc2lvbiByw6lndWxpw6hyZSBbMV1cbiIKKyIhPGNtZD4gb3UgOiE8Y21kPiAgICAgICAgZXjDqWN1dGVyIDxjbWQ+IGRhbnMgdW4gc291cyBpbnRlcnByw6l0ZXVyXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgIGxhbmNlciAvdXNyL2Jpbi92aSDDoCBsYSBsaWduZSBhY3R1ZWxsZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgICByw6lhZmZpY2hlciBsJ8OpY3JhblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgICBhbGxlciBhdSBOLWnDqG1lIHByb2NoYWluIGZpY2hpZXIgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgIGFsbGVyIGF1IE4tacOobWUgZmljaGllciBwcsOpY8OpZGFudCBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICAgYWZmaWNoZXIgbGUgbm9tIGR1IGZpY2hpZXIgYWN0dWVsIGV0IGxlIG51bcOpcm8gZGUgbGlnbmVcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICAgcsOpcMOpdGVyIGxhIGNvbW1hbmRlIHByw6ljw6lkZW50ZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltBcHB1eWVyIHN1ciDCq8KgaMKgwrsgcG91ciBvYnRlbmlyIGxlcyBpbnN0cnVjdGlvbnMuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiwqvCoCVzwqDCuyBsaWduZcKgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltQYXMgdW4gZmljaGllcl0gbGlnbmXCoCVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIETDqWJvcmRlbWVudFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTY0Cittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAi4oCmIGVzY2Ftb3RhZ2VcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiTW90aWYgaW50cm91dmFibGVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYwNCB0ZXh0LXV0aWxzL3BnLmM6MTAzNSB0ZXh0LXV0aWxzL3BnLmM6MTE4MQorbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJNb3RpZiBpbnRyb3V2YWJsZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIsOpY2hlYyBkZSBleGVjKClcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiaW1wb3NzaWJsZSBkJ8OpdGFibGlyIHVuIHJlbGFpcyBmb3JrKClcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyLigKYgRXNjYW1vdGFnZSBlbiBjb3VycyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAi4oCmIEVzY2Ftb3RhZ2UgdmVycyBsZSBmaWNoaWVyICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNgorbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIuKApiBFc2NhbW90YWdlIGFycmnDqHJlIHZlcnMgbGUgZmljaGllciAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJMaWduZSB0cm9wIGxvbmd1ZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIkF1Y3VuZSBjb21tYW5kZSBwcsOpY8OpZGVudGUgcG91ciBzdWJzdGl0dXRpb24iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTIKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgY2V0IMOpY3JhbiBkJ2FpZGVcbiIKKyIgIHEgb3UgUSAgICAgICAgICAgICAgICAgIHF1aXR0ZXJcbiIKKyIgIDxlbnRyw6llPiAgICAgICAgICAgICAgICBwYWdlIHN1aXZhbnRlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBzYXV0ZXIgdW5lIHBhZ2UgZW4gYXZhbnRcbiIKKyIgIGQgb3UgXkQgICAgICAgICAgICAgICAgIGRlbWkgcGFnZSBzdWl2YW50ZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbGlnbmUgc3VpdmFudGVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGRlcm5pw6hyZSBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBjaGVyY2hlciBlbiBhdmFudCBsJ2V4cHJlc3Npb24gcmVnZXhcbiIKKyIgID9yZWdleD8gb3UgXnJlZ2V4XiAgICAgIGNoZXJjaGVyIGVuIGFycmnDqHJlIGwnZXhwcmVzc2lvbiByZWdleFxuIgorIiAgLiBvdSBeTCAgICAgICAgICAgICAgICAgcmFmcmHDrmNoaXIgbCfDqWNyYW5cbiIKKyIgIHcgb3UgeiAgICAgICAgICAgICAgICAgIGNvbmZpZ3VyZXIgbGEgdGFpbGxlIGRlIHBhZ2UgZXQgYWxsZXIgw6AgZGVybmnDqHJlIHBhZ2VcbiIKKyIgIHMgZmljaGllciAgICAgICAgICAgICAgIHNhdXZlciBsZSBmaWNoaWVyIGFjdHVlbCBkYW5zIMKrwqBmaWNoaWVywqDCu1xuIgorIiAgIWNvbW1hbmRlICAgICAgICAgICAgICAgYXBwZWxlciBkJ2ludGVycHLDqXRldXJcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGFsbGVyIGF1IGZpY2hpZXIgcHLDqWPDqWRlbnRcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGFsbGVyIGF1IGZpY2hpZXIgc3VpdmFudFxuIgorIlxuIgorIlBsdXNpZXVycyBjb21tYW5kZXMgYWNjZXB0ZW50IGRlcyBub21icmVzIGF2YW50IGVsbGVzLCBwYXIgZXhlbXBsZcKgOlxuIgorIisxPGVudHLDqWU+IChwYWdlIHN1aXZhbnRlKcKgOyAtMTxlbnRyw6llPiAocGFnZSBwcsOpY8OpZGVudGUpwqA7XG4iCisiIDE8ZW50csOpZT4gKHByZW1pw6hyZSBwYWdlKS5cbiIKKyJcbiIKKyJDb25zdWx0ZXogcGcoMSkgcG91ciBvYnRlbmlyIHBsdXMgZGUgcmVuc2VpZ25lbWVudHMuXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW29wdGlvbnNdIFsrbGlnbmVdIFsrL21vdGlmL10gW2ZpY2hpZXJzXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiTmF2aWd1ZXIgcGFnZSBwYXIgcGFnZSBkYW5zIGRlcyBmaWNoaWVycyB0ZXh0ZS5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1ub21icmUgICAgICBsaWduZXMgcGFyIHBhZ2VcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOQorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgZWZmYWNlciBsJ8OpY3JhbiBhdmFudCBkJ2FmZmljaGVyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAgbmUgcGFzIHMnYXJyw6p0ZXIgw6AgbGEgZmluIGR1IGZpY2hpZXJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICBuZSBwYXMgY291cGVyIGxlcyBsaWduZXMgbG9uZ3Vlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQyCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAgdGVybWluZXIgbGEgY29tbWFuZGUgcGFyIGVudHLDqWVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MworbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxjaGHDrm5lPiAgaW5kaXF1ZXIgbCdpbnZpdGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAgaW50ZXJkaXJlIGxlcyBwcm90ZWN0aW9ucyBkZSBsJ2ludGVycHLDqXRldXIgZGUgY29tbWFuZGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgYWZmaWNoZXIgbGVzIG1lc3NhZ2VzIHN1ciBsYSBzb3J0aWUgc3RhbmRhcmRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICtsaWduZSAgICAgICBjb21tZW5jZXIgw6AgbGEgbGlnbmUgZG9ubsOpZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiKy9tb3RpZi8gICAgICBjb21tZW5jZXIgw6AgbGEgbGlnbmUgcXVpIGNvbnRpZW50IGxlIG1vdGlmXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJsJ29wdGlvbiBuw6ljZXNzaXRlIHVuIGFyZ3VtZW50IOKAlCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAib3B0aW9uIGluY29ycmVjdGUg4oCUICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY3Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICLigKYgZXNjYW1vdGFnZSBhdmFudFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAi4oCmIGVzY2Ftb3RhZ2UgYXJyacOocmVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiUGFzIGRlIHByb2NoYWluIGZpY2hpZXIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJQYXMgZGUgZmljaGllciBwcsOpY8OpZGVudCIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiRXJyZXVyIGRlIGxlY3R1cmUgZHUgZmljaGllciAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJFT0YgaW5hdHRlbmR1ZSBkYW5zIGxlIGZpY2hpZXIgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJFcnJldXIgaW5jb25udWUgZGFucyBsZSBmaWNoaWVyICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiSW1wb3NzaWJsZSBkZSBjcsOpZXIgbGUgZmljaGllciB0ZW1wb3JhaXJlIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiRXJyZXVyIFJFwqA6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJQYXMgZGUgY2hhw65uZSBkZSByZWNoZXJjaGUgbcOpbW9yaXPDqWUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJpbXBvc3NpYmxlIGQnb3V2cmlyICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAic2F1dmVnYXJkw6kiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzUzCittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICLCoDogIWNvbW1hbmRlIG5vbiBhdXRvcmlzw6llIGVuIG1vZGUgcmZsYWcuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzg3Cittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgIsOpY2hlYyBkdSBmb3JrKCksIHLDqWVzc2F5ZXIgcGx1cyB0YXJkLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKFByb2NoYWluIGZpY2hpZXLCoDogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBUb3VzIGRyb2l0cyByw6lzZXJ2w6lzLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU5NCB0ZXh0LXV0aWxzL3BnLmM6MTY2NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIsOpY2hlYyBkJ2FuYWx5c2UgZHUgbm9tYnJlIGRlIGxpZ25lcyBwYXIgcGFnZSIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiVXRpbGlzYXRpb27CoDogJXMgW29wdGlvbnNdIFtmaWNoaWVyIC4uLl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiSW52ZXJzZXIgbGVzIGxpZ25lcyBhdSBuaXZlYXUgZGVzIGNhcmFjdMOocmVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3B0aW9uc10gWzxmaWNoaWVyPiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiU291bGlnbmVyLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgcmVtcGxhY2VyIGxhIHZhcmlhYmxlIGQnZW52aXJvbm5lbWVudCBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBzb3VsaWduZW1lbnQgaW5kaXF1w6kgw6AgbCdhaWRlIGQndW5lIGxpZ25lIHPDqXBhcsOpZVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJwcm9ibMOobWUgw6AgbGEgbGVjdHVyZSBkZSB0ZXJtaW5mbyIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgInRlcm1pbmFsIMKrwqAlc8KgwrsgaW5jb25udSwgdXRpbGlzYXRpb24gZGUgwqvCoGR1bWLCoMK7IHBhciBkw6lmYXV0IgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgInPDqXF1ZW5jZSBkZSBwcm90ZWN0aW9uIGluY29ubnVlIGVuIGVudHLDqWXCoDogJW8sICVvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI5Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIkxpZ25lIGQnZW50csOpZSB0cm9wIGxvbmd1ZS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29tbWFuZHM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVdGlsaXNhdGlvbsKgOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW3DDqXJpcGjDqXJpcXVlc11cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRlcyBww6lyaXBow6lyaXF1ZXNcbiIKKyN+ICJcbiIKKyN+ICJDb21tYW5kZXMgZGlzcG9uaWJsZXPCoDpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbG9ubmVzIGRpc3BvbmlibGVzIChwb3VyIC1vKcKgOlxuIgorCisjfiBtc2dpZCAiR2VvbWV0cnkiCisjfiBtc2dzdHIgIkfDqW9tw6l0cmllIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiZXJyZXVyIGRlIHBvc2l0aW9ubmVtZW50IHN1ciAlcyIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC1WIGNvbW1lIHZlcnNpb24gZG9pdCDDqnRyZSBsYSBzZXVsZSBvcHRpb25cbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbG9ubmVzIGRpc3BvbmlibGVzIChwb3VyIC0tc2hvdywgLS1yYXcgb3UgLS1wYWlycynCoDpcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJFeMOpY3V0ZXogwqvCoCVzIC0taGVscMKgwrsgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXUsIC0taGVscCAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiQXVjdW4gaW50ZXJwcsOpdGV1ciBjb25udS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb2xvbm5lcyBkaXNwb25pYmxlc8KgOlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorI34gbXNnc3RyICIgJXMgW29wdGlvbnNdIC11IDx1dGlsaXNhdGV1cj4gW1stLV0gPGNvbW1hbmRlPl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbG9ubmVzIGRpc3BvbmlibGVzIChwb3VyIC0tb3V0cHV0KcKgOlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJFeMOpY3V0ZXogwqvCoCVzIC0taGVscMKgwrsgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLlxuIgorCisjfiBtc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCisjfiBtc2dzdHIgInR5cGUgZGUgdmVycm91wqA6IEZMX0ZMT0NLIG91IEZMX1BPU0lYLiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxpcXVlciBsZXMgYWN0aW9ucyBlbiBjb3Vyc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgY3LDqWF0aW9uIGQndW4gVVVJRCBhbMOpYXRvaXJlXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgY3LDqWF0aW9uIGQndW4gVVVJRCB0ZW1wb3JlbFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGFmZmljaGVyIGxlcyBpbmZvcm1hdGlvbnMgZGUgdmVyc2lvbiBldCBxdWl0dGVyXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgYWZmaWNoZXIgY2V0dGUgYWlkZSBldCBxdWl0dGVyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICBlZmZhY2VyIHRvdXRlcyBsZXMgY2hhw65uZXMgbWFnaXF1ZXMgKGF0dGVudGlvbilcbiIKKyN+ICIgLWIsIC0tYmFja3VwICAgICAgICBjcsOpZXIgdW5lIHNhdXZlZ2FyZGUgZGUgc2lnbmF0dXJlIGRhbnMgJEhPTUVcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZXIgbCdlZmZhY2VtZW50XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgYWZmaWNoZXIgY2UgbWVzc2FnZSBkJ2FpZGVcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICB0b3V0IGZhaXJlIHNhdWYgbGUgdsOpcml0YWJsZSBhcHBlbCB3cml0ZSgpXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bmJyZT4gaW5kZXggw6AgZWZmYWNlciwgZW4gb2N0ZXRcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICBhZmZpY2hlciBlbiBmb3JtYXQgYW5hbHlzYWJsZSBwbHV0w7R0IHF1J2FmZmljaGFibGVcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmltZXIgbGVzIG1lc3NhZ2VzIGRlIHNvcnRpZVxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdGU+IGxpbWl0ZXIgbCdlbnNlbWJsZSBkZSBzeXN0w6htZXMgZGUgZmljaGllcnMgcGFyIHR5cGVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCisjfiBtc2dzdHIgImltcG9zc2libGUgZCdleMOpY3V0ZXIgL2Jpbi91bW91bnQgZGUgwqvCoCVzwqDCuyIKKworI34gbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCisjfiBtc2dzdHIgImVuIHNvbW1laWwgcGVuZGFudCB+JWTCoMK1c2VjXG4iCisKKyN+IG1zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCisjfiBtc2dzdHIgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKKworI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKKyN+IG1zZ3N0ciAiTGVzIHJlZ2lzdHJlcyBkZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgY29udGllbm5lbnQgZGVzIHZhbGV1cnMgcXVpIHNvbnQgc29pdCBpbmNvcnJlY3RlcyAocGFyIGV4ZW1wbGUgNTBlIGpvdXIgZHUgbW9pcykgc29pdCBlbiBkZWhvcnMgZGUgbGEgcGxhZ2UgcG91dmFudCDDqnRyZSB0cmFpdMOpZSAocGFyIGV4ZW1wbGUgYW5uw6llIDIwOTUpLiIKKworI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCisjfiBtc2dzdHIgIkwnaG9ybG9nZSBtYXTDqXJpZWxsZSBuZSBjb250aWVudCBwYXMgZCdoZXVyZSB2YWxhYmxlLCBlbGxlIG5lIHBlcm1ldCBkb25jIHBhcyBkJ2luaXRpYWxpc2VyIGwnaGV1cmUgZHUgc3lzdMOobWUuIgorCisjfiBtc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKyN+IG1zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworI34gbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorI34gbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJTZXVsIGxlIHN1cGVydXRpbGlzYXRldXIgcGV1dCBpbml0aWFsaXNlciBsJ2hvcmxvZ2Ugc3lzdMOobWUuIgorCisjfiBtc2dpZCAiXHRVVEM6ICVzXG4iCisjfiBtc2dzdHIgIlx0VVRDwqA6ICVzXG4iCisKKyN+IG1zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorI34gbXNnc3RyICJQYXMgZCdhanVzdGVtZW50IGR1IGZhY3RldXIgZGUgZMOpcml2ZSBwYXJjZSBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgY29udGllbnQgZMOpasOgIGRlcyBkb25uw6llcyBjb3Jyb21wdWVzLlxuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJsZSBkJ291dnJpciBsZSBmaWNoaWVyIGVuIMOpY3JpdHVyZSBlbiBhanVzdGFudCBsZXMgcGFyYW3DqHRyZXMgZCdoZXVyZSAoJXMpIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGRlIG1ldHRyZSDDoCBqb3VyIGxlIGZpY2hpZXIgZW4gYWp1c3RhbnQgbGVzIHBhcmFtw6h0cmVzIGQnaGV1cmUgKCVzKSIKKworI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIlBhcmFtw6h0cmVzIGQnYWp1c3RlbWVudCBkZSBkw6lyaXZlIG5vbiBtaXMgw6Agam91ci4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorI34gbXNnc3RyICJMJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgbmUgY29udGllbnQgcGFzIGQnaGV1cmUgdmFsYWJsZSwgZWxsZSBuJ2VzdCBkb25jIHBhcyByw6lnbGFibGUuIgorCisjfiBtc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCisjfiBtc2dzdHIgIiVsZCBzZWNvbmRlcyBhcHLDqHMgMTk2OSwgbCdob3Jsb2dlIG1hdMOpcmllbGxlIGVzdCBzdXBwb3PDqSBsaXJlICVsZMKgc2Vjb25kZXMgYXByw6hzIDE5NjkuXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnb2J0ZW5pciBsYSB2YWxldXIgwqvCoGVwb2NowqDCuyDDoCBwYXJ0aXIgZHUgbm95YXUuIgorCisjfiBtc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorI34gbXNnc3RyICJMZSBub3lhdSBzdXBwb3NlIHVuZSB2YWxldXIgwqvCoGVwb2NowqDCuyBkZSAlbHVcbiIKKworI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIlBvdXIgaW5pdGlhbGlzZXIgbGEgdmFsZXVyIMKrwqBlcG9jaMKgwrssIHZvdXMgZGV2ZXogdXRpbGlzZXIgbCdvcHRpb24gwqvCoGVwb2NowqDCuyBwb3VyIHkgbWV0dHJlIGxhIHZhbGV1ciB2b3VsdWUuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiTGEgdmFsZXVyIMKrwqBlcG9jaMKgwrsgbidlc3QgcGFzIGNvbmZpZ3Vyw6llIMOgICVsdSDigJQgdGVzdCBzZXVsZW1lbnQuXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorI34gbXNnc3RyICJJbXBvc3NpYmxlIGQnaW5pdGlhbGlzZXIgbGEgdmFsZXVyIMKrwqBlcG9jaMKgwrsgZGFucyBsZSBub3lhdS5cbiIKKworI34gbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCisjfiBtc2dzdHIgIkludGVycm9nZXIgb3UgYWp1c3RlciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBhZmZpY2hlciBjZXR0ZSBhaWRlIGV0IHF1aXR0ZXJcbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgbGlyZSBs4oCZaGV1cmUgbWF0w6lyaWVsbGUgYWZmaWNoZXIgbGUgcsOpc3VsdGF0XG4iCisjfiAiICAgICAtLWdldCAgICAgICAgICAgIGxpcmUgbOKAmWhldXJlIG1hdMOpcmllbGxlIGFmZmljaGVyIGxlIHLDqXN1bHRhdCBkZSBkw6lyaXZlIGNvcnJpZ8OpZVxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICAgICBjb25maWd1cmVyIGzigJlob3Jsb2dlIG1hdMOpcmllbGxlIMOgIGwnaGV1cmUgZG9ubsOpZSBwYXIgbCdvcHRpb24gLS1kYXRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICByw6lnbGVyIGwnaGV1cmUgc3lzdMOobWUgw6AgcGFydGlyIGRlIGwnaG9ybG9nZSBtYXTDqXJpZWxsZVxuIgorI34gIiAtdywgLS1zeXN0b2hjICAgICAgICByw6lnbGVyIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSDDoCBsJ2hldXJlIGFjdHVlbGxlIGR1IHN5c3TDqG1lXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHLDqWdsZXIgbCdoZXVyZSBzeXN0w6htZSBzdXIgbGEgem9uZSBkZSB0ZW1wcyBhY3R1ZWxsZVxuIgorI34gIiAgICAgLS1hZGp1c3QgICAgICAgICBhanVzdGVyIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBlbiB0ZW5hbnQgY29tcHRlIGRlIGxhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZMOpcml2ZSBzeXN0w6ltYXRpcXVlIGRlcHVpcyBsZSBkZXJuaWVyIHLDqWdsYWdlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgYWZmaWNoZXIgbGEgdmFsZXVyIMKrwqBlcG9jaMKgwrsgZHUgbm95YXUgcG91clxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGwnaG9ybG9nZSBtYXTDqXJpZWxsZVxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBjb25maWd1cmVyIGxhIHZhbGV1ciDCq8KgZXBvY2jCoMK7IGRlIGwnaG9ybG9nZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIG1hdMOpcmllbGxlIGR1IG5veWF1IMOgIGxhIHZhbGV1ciBkb25uw6llIHBhciAtLWVwb2NoXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcsOpZGlyZSBsYSBsZWN0dXJlIGQnaG9ybG9nZSBtYXTDqXJpZWxsZSDDoCBsJ2hldXJlIGRvbm7DqWUgcGFyIC0tZGF0ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBlc3QgY29uc2VydsOpZSBhdSBmb3JtYXQgVVRDXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBlc3QgY29uc2VydsOpZSBhdSBmb3JtYXQgbG9jYWxcbiIKKworI34gbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gbXNnc3RyICIgLWYsIC0tcnRjIDxmaWNoaWVyPiAgdXRpbGlzZXIgbGUgZmljaGllciBzcMOpY2lhbCAvZGV2Ly4uLiBhdSBsaWV1IGRlIGNlbHVpIHBhciBkw6lmYXV0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSBkcmlmdCBmYWN0b3IgaW4gJTEkcyAocmVxdWlyZXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAtLWFkamZpbGUgPGZpbGU+IHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGU7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIG1ldHRyZSDDoCBqb3VyIGxlIGZhY3RldXIgZGUgZMOpcml2ZSBlbiAlMSRzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgKG7DqWNlc3NpdGUgLS1zZXQgb3UgLS1zeXN0b2hjKVxuIgorI34gIiAgICAgLS1ub2FkamZpbGUgICAgICBuZSBwYXMgYWNjw6lkZXIgw6AgJTEkcyAobsOpY2Vzc2l0ZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGwndXRpbGlzYXRpb24gZGUgLS11dGMgb3UgZGUgLS1sb2NhbHRpbWUpXG4iCisjfiAiICAgICAtLWFkamZpbGUgPGNoZW0+ICBpbmRpcXVlciBsZSBjaGVtaW4gZHUgZmljaGllciBkZSByw6lnbGFnZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICglMSRzIHBhciBkw6lmYXV0KVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyN+ICIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBuZSByaWVuIG1ldHRyZSDDoCBqb3VyLCBtb250cmVyIHNldWxlbWVudCBjZSBxdWkgYXJyaXZlcmFpdFxuIgorI34gIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBtb2RlIGRlIGTDqWJvZ2FnZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiYXJndW1lbnQgwqvCoGVwb2NowqDCuyBpbmNvcnJlY3QiCisKKyN+IG1zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKKyN+IG1zZ3N0ciAiJXMgbidhIHBhcyBkZSBmb25jdGlvbiBkJ2ludGVycnVwdGlvbiIKKworI34gbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorI34gbXNnc3RyICLDiWNoZWMgaW5hdHRlbmR1IGQnaW9jdGwoKSBkZSAlcyBwb3VyIGTDqW1hcnJlciBsZXMgbWlzZXMgw6Agam91ciBwYXIgaW50ZXJydXB0aW9uIgorCisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAiUG91ciBtYW5pcHVsZXIgbGEgdmFsZXVyIMKrwqBlcG9jaMKgwrsgZGFucyBsZSBub3lhdSwgdm91cyBkZXZleiBhY2PDqWRlciBhdSBwaWxvdGUgTGludXggZHUgcMOpcmlwaMOpcmlxdWUgwqvCoHJ0Y8KgwrsgcGFyIGxlIGJpYWlzIGR1IGZpY2hpZXIgc3DDqWNpYWwuIENlIGZpY2hpZXIgbidleGlzdGUgcGFzIHN1ciBjZSBzeXN0w6htZS4iCisKKyN+IG1zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKyN+IG1zZ3N0ciAibGEgdmFsZXVyIMKrwqBlcG9jaMKgwrsgJWx1IGEgw6l0w6kgbHVlIMOgIHBhcnRpciBkZSAlcyDDoCBsJ2FpZGUgZGUgbCdpb2N0bCBSVENfRVBPQ0hfUkVBRC5cbiIKKworI34gbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCisjfiBtc2dzdHIgIkxhIHZhbGV1ciDCq8KgZXBvY2jCoMK7IG5lIHBldXQgcGFzIMOqdHJlIGluZsOpcmlldXJlIMOgIDE5MDAuIFZvdXMgYXZleiBkZW1hbmTDqSAlbGQiCisKKyN+IG1zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCisjfiBtc2dzdHIgImluaXRpYWxpc2F0aW9uIGRlIGxhIHZhbGV1ciDCq8KgZXBvY2jCoMK7IMOgICVsdSBhdmVjIGwnaW9jdGwgUlRDX0VQT0NIX1NFVCBzdXIgJXMuXG4iCisKKyN+IG1zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorI34gbXNnc3RyICJMZSBwaWxvdGUgZHUgcMOpcmlwaMOpcmlxdWUgZHUgbm95YXUgcG91ciAlcyBuJ2EgcGFzIGwnaW9jdGwgUlRDX0VQT0NIX1NFVC4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKKyN+IG1zZ3N0ciAiw6ljaGVjIGRlIGxlY3R1cmUgZGVwdWlzwqA6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIiVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzXG4iCisjfiAiRXjDqWN1dGV6IMKrwqAlcyAtLWhlbHDCoMK7IHBvdXIgb2J0ZW5pciBkZXMgcmVuc2VpZ25lbWVudHMgY29tcGzDqW1lbnRhaXJlcy4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJFeMOpY3V0ZXogwqvCoCVzIC0taGVscMKgwrsgcG91ciBvYnRlbmlyIGRlcyByZW5zZWlnbmVtZW50cyBjb21wbMOpbWVudGFpcmVzLiIKKworI34gbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ2V4w6ljdXRlcsKgOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb2xvbm5lcyBkaXNwb25pYmxlcyAocG91ciAtLXNob3cpwqA6XG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKKyN+IG1zZ3N0ciAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgZm9yY2VyIGxlIHBpbG90ZSDDoCBmYWlyZSBjb25maWFuY2Ugw6AgbCdJUlFcbiIKKworI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgImFsZ29yaXRobWUgbm9uIHByaXMgZW4gY2hhcmdlwqA6ICVzIgorCisjfiBtc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorCisjfiBtc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBhZmZpY2hlciBsZXMgaW5mb3JtYXRpb25zIGRlIHZlcnNpb24gZXQgcXVpdHRlclxuIgorCisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFmZmljaGVyIGNldHRlIGFpZGUgZXQgcXVpdHRlclxuIgorCisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYgICAgICAgICAgYWZmaWNoZXIgbGVzIGluZm9ybWF0aW9ucyBkZSB2ZXJzaW9uIGV0IHF1aXR0ZXJcbiIKKworI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlc8KgOiBjZXMgb3B0aW9ucyBzJ2V4Y2x1ZW50IG11dHVlbGxlbWVudMKgOiIKKworI34gbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIGNoZXJjaGVyIGRhbnMgbGEgdGFibGUgZGVzIHN5c3TDqG1lcyBkZSBmaWNoaWVycyBtb250w6lzXG4iCisKKyN+IG1zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKKyN+IG1zZ3N0ciAiU3VzcGVuZHJlIGwnYWNjw6hzIMOgIHVuIHN5c3TDqG1lIGRlIGZpY2hpZXJzIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCisKKyN+IG1zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiSG9ybG9nZSBuJ2VzdCBwYXMgbW9kaWZpw6llIOKAlCB0ZXN0IHNldWxlbWVudC5cbiIKKworI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiQXVjdW5lIG9wdGlvbiAtLWRhdGUgaW5kaXF1w6llLiIKKworI34gbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiQXJndW1lbnQgLS1kYXRlIHRyb3AgbG9uZyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyN+ICJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorI34gbXNnc3RyICIiCisjfiAiTGEgdmFsZXVyIGRlIGwnb3B0aW9uIC0tZGF0ZSBuJ2VzdCBwYXMgdW5lIGRhdGUgdmFsYWJsZS5cbiIKKyN+ICJFbiBwYXJ0aWN1bGllciwgZWxsZSBjb250aWVudCBkZXMgZ3VpbGxlbWV0cy4iCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAiw4ltaXNzaW9uIGRlIGxhIGNvbW1hbmRlIGRlIGRhdGXCoDogJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCisjfiBtc2dzdHIgIsOJY2hlYyBkZSBwb3BlbigpLCBpbXBvc3NpYmxlIGQnZXjDqWN1dGVyIMKrwqBkYXRlwqDCuyBkYW5zIGwnaW50ZXJwcsOpdGV1ciAvYmluL3NoIgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJyw6lwb25zZSBkZSBsYSBjb21tYW5kZSBkYXRlID0gJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJMYSBjb21tYW5kZSBkYXRlIHNvdW1pc2UgcGFyICVzIGEgcmVudm95w6kgZGVzIHLDqXN1bHRhdHMgaW5hdHRlbmR1cy5cbiIKKyN+ICJMYSBjb21tYW5kZSDDqXRhaXTCoDpcbiIKKyN+ICIgICVzXG4iCisjfiAiTGUgcsOpc3VsdGF0IGVzdMKgOlxuIgorI34gIiAgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkxhIGNvbW1hbmRlIGRhdGUgc291bWlzZSBwYXIgJXMgYSByZW52b3nDqSBxdWVscXVlIGNob3NlIGQnYXV0cmUgcXUndW5cbiIKKyN+ICJlbnRpZXIgYWxvcnMgcXVlIGRlcyB2YWxldXJzIGRlIHRlbXBzIGNvbnZlcnRpZXMgw6l0YWllbnQgYXR0ZW5kdWVzLlxuIgorI34gIkxhIGNvbW1hbmRlIMOpdGFpdMKgOlxuIgorI34gIiAgJXNcbiIKKyN+ICJMZSByw6lzdWx0YXQgZXN0wqA6XG4iCisjfiAiICAlc1xuIgorCisjfiBtc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorI34gbXNnc3RyICJsYSBjaGHDrm5lIGRlIGRhdGUgJXMgw6lxdWl2YXV0IMOgICVsZCBzZWNvbmRlcyBkZXB1aXMgMTk2OS5cbiIKKworI34gbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorI34gbXNnc3RyICJOZSBwZXV0IGluaXRpYWxpc2VyIGwnaG9ybG9nZSBzeXN0w6htZSBwYXJjZSBxdWUgbGUgcHJvZ3JhbW1lIHRvdXJuZSBlbiBtb2RlIHRlc3QuXG4iCisKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICJQYXMgZGUgbWlzZSDDoCBqb3VyIGR1IGZpY2hpZXIgZGUgdGVtcHMgZCdhanVzdGVtZW50IGVuIHJhaXNvbiBkdSBtb2RlIHRlc3QuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJEZXZyYWl0IGF2b2lyIMOpY3JpdCBjZSBxdWkgc3VpdCBkYW5zICVzwqA6XG4iCisjfiAiJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJMZSBub3lhdSBjb25zZXJ2ZSB1bmUgdmFsZXVyIMKrwqBlcG9jaMKgwrsgcG91ciBsJ2hvcmxvZ2UgbWF0w6lyaWVsbGUgdW5pcXVlbWVudCBzdXJcbiIKKyN+ICJsZXMgbWFjaGluZXMgQWxwaGEuIENldHRlIGNvcGllIGRlIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSBhIMOpdMOpIHByw6l2dWUgcG91ciB1bmVcbiIKKyN+ICJtYWNoaW5lIGQndW4gYXV0cmUgdHlwZSBxdWUgQWxwaGEgKGV0IG5lIHRvdXJuYW50IHByb2JhYmxlbWVudCBkb25jIHBhcyBzdXIgdW5cbiIKKyN+ICJBbHBoYSBtYWludGVuYW50KS4gQXVjdW5lIGFjdGlvbiBuJ2Egw6l0w6kgZXjDqWN1dMOpZS4iCisKKyN+IG1zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWMsIC0tY29tcGFyZSAgICAgICAgY29tcGFyZXIgcMOpcmlvZGlxdWVtZW50IGwnaG9ybG9nZSBzeXN0w6htZSBhdmVjXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgbCdob3Jsb2dlIENNT1NcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyN+ICIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY8OpZGVyIGRpcmVjdGVtZW50IGF1IGJ1cyBJU0EgYXUgbGlldSBkZSAlc1xuIgorI34gIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmVyIGwnYW5uw6llIGRvbm7DqWUgcGFyIGwnaG9ybG9nZSBtYXTDqXJpZWxsZSAocHJvYmzDqG1lIGRlIEJJT1MpXG4iCisjfiAiICAgICAtLWRhdGUgPGhldXJlPiAgIGluZGlxdWVyIGwnaGV1cmUgcG91ciByw6lnbGVyIGwnaG9ybG9nZSBtYXTDqXJpZWxsZVxuIgorI34gIiAgICAgLS1lcG9jaCA8YW5uw6llPiAgaW5kaXF1ZXIgbCdhbm7DqWUgY29ycmVzcG9uZGFudCDDoCBsYSB2YWxldXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBkZSBkw6lwYXJ0IMKrwqBlcG9jaMKgwrsgZGUgbCdob3Jsb2dlIG1hdMOpcmllbGxlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisjfiAiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICAgaW5kaXF1ZSDDoCBod2Nsb2NrIGxlIHR5cGUgZCdBbHBoYSB1dGlsaXPDqSAoY29uc3VsdGV6IGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiB1c2UgdGhlIEhhcmR3YXJlIENsb2NrLiIKKyN+IG1zZ3N0ciAiRMOpc29sw6ksIHNldWwgbGUgc3VwZXJ1dGlsaXNhdGV1ciBwZXV0IHV0aWxpc2VyIGwnaG9ybG9nZSBtYXTDqXJpZWxsZS4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgbmUgcGV1dCBwYXMgcHJlbmRyZSBkZXMgYXJndW1lbnRzIGQnb3B0aW9ucyBxdWkgbidlbiBzb250IHBhcy4gVm91cyBhdmV6IGZvdXJuaSAlZC5cbiIKKworI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICJQYXMgZGUgbWlzZSDDoCBsJ2hldXJlIHV0aWxpc2FibGUuIEltcG9zc2libGUgZGUgY29uZmlndXJlciBsJ2hvcmxvZ2UuIgorCisjfiBtc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorI34gbXNnc3RyICJhbW9yY8OpIMOgIHBhcnRpciBkZSBNSUxPXG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICJIb3Jsb2dlIFJ1ZmZpYW4gQkNEXG4iCisKKyN+IG1zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorI34gbXNnc3RyICJsZSBwb3J0IGQnaG9ybG9nZSBhIMOpdMOpIGFqdXN0w6kgw6AgMHgleFxuIgorCisjfiBtc2dpZCAiZnVua3kgVE9ZIVxuIgorI34gbXNnc3RyICJ0ZW1wcyBkZSBsJ2FubsOpZSBiaXphcnJlLlxuIgorCisjfiBtc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKKyN+IG1zZ3N0ciAiYXRvbWljICVzIGEgw6ljaG91w6kgcG91ciAxMDAwwqBpdMOpcmF0aW9ucy4iCisKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCnCoDogw6ljaGVjIGRlIGxlY3R1cmUgZGUgbGEgdmFsZXVyIGRlIGNvbnRyw7RsZSDDoCBsJ2FkcmVzc2UgJVgiCisKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NfcmVhZCgpwqA6IMOpY2hlYyBkZSBsZWN0dXJlIGRlIGRvbm7DqWVzIMOgIGwnYWRyZXNzZSAlWCIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCnCoDogw6ljaGVjIGQnw6ljcml0dXJlIGRlIGxhIHZhbGV1ciBkZSBjb250csO0bGUgw6AgbCdhZHJlc3NlICVYIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKcKgOiDDqWNoZWMgZCfDqWNyaXR1cmUgZGUgZG9ubsOpZXMgw6AgbCdhZHJlc3NlICVYIgorCisjfiBtc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorI34gbXNnc3RyICLDiWNoZWMgZCdvYnRlbnRpb24gZGVzIGRyb2l0cyBjYXIgYXVjdW4gZXNzYWkgbidhIMOpdMOpIHRlbnTDqS4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJsZSBkJ29idGVuaXIgdW4gcG9ydCBkJ2FjY8OocyBkJ0UvU8KgOiBsJ2FwcGVsIMOgIGlvcGwoMykgYSDDqWNob3XDqS4iCisKKyN+IG1zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCisjfiBtc2dzdHIgIkxlcyBwcml2aWzDqGdlcyBkdSBzdXBlcnV0aWxpc2F0ZXVyIHNvbnQgcHJvYmFibGVtZW50IG7DqWNlc3NhaXJlLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgIsOpY2hlYyBkJ2luaXRpYWxpc2F0aW9uIGRlIGxhIGxpZ25lIGRlIHNvcnRpZSIKKworI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAiZXJyZXVywqA6IGltcG9zc2libGUgZCdpbml0aWFsaXNlciBsZSB0cmFpdGVtZW50IGRlIHNpZ25hdXgiCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJlcnJldXLCoDogaW1wb3NzaWJsZSBkZSByZXN0YXVyZXIgbGUgdHJhaXRlbWVudCBkZSBzaWduYXV4IgorCisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAic2V1bCBsZSBzdXBlcnV0aWxpc2F0ZXVyIHBldXQgbW9udGVyICVzIHN1ciAlcyIKKworI34gbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAiJXMgZXN0IHV0aWxpc8OpIGRhbnMgdW5lIGJvdWNsZSBkZSBsZWN0dXJlIHNldWxlLCBtb250YWdlIGxlY3R1cmUgc2V1bGUiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzwqA6IHBsdXMgZGUgc3lzdMOobWVzIGRlIGZpY2hpZXJzIG9udCDDqXTDqSB0cm91dsOpcy5cbiIKKyN+ICIgICAgICAgIENlIG4nZXN0IHBhcyBjZW5zw6kgYXJyaXZlciwgdXRpbGlzZXogLXQgPHR5cGU+IHBvdXJcbiIKKyN+ICIgICAgICAgIGluZGlxdWVyIGV4cGxpY2l0ZW1lbnQgbGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVyc1xuIgorI34gIiAgICAgICAgb3UgdXRpbGlzZXogd2lwZWZzKDgpIHBvdXIgbmV0dG95ZXIgbGUgcMOpcmlwaMOpcmlxdWUuIgorCisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImltcG9zc2libGUgZGUgZMOpdGVybWluZXIgbGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyBldCBhdWN1biBuJ2Egw6l0w6kgaW5kaXF1w6kiCisKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgInZvdXMgZGV2ZXogaW5kaXF1ZXIgbGUgdHlwZSBkZSBzeXN0w6htZSBkZSBmaWNoaWVycyIKKworI34gbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKKyN+IG1zZ3N0ciAibGEgc291cmNlIGR1IG1vbnRhZ2Ugbidlc3QgcGFzIGTDqWZpbmllIgorCisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXPCoDogw6ljaGVjIGRlIG1vbnRhZ2UiCisKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICIlc8KgOiBzeXN0w6htZSBkZSBmaWNoaWVycyBtb250w6ksIG1haXMgw6ljaGVjIGRlIG1vdW50KDgpIgorCisjfiBtc2dpZCAiJXMgaXMgYnVzeSIKKyN+IG1zZ3N0ciAiJXMgZXN0IG9jY3Vww6kiCisKKyN+IG1zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICAgJXMgZXN0IGTDqWrDoCBtb250w6kgc3VyICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCBvciBzby5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiAgICAgICAgRGFucyBjZXJ0YWlucyBjYXMgZGVzIHJlbnNlaWduZW1lbnRzIHV0aWxlcyBzb250IGRhbnMgbGUgam91cm5hbFxuIgorI34gIiAgICAgICAgc3lzdMOobWUg4oCUIGVzc2F5ZXogwqvCoGRtZXNnIHwgdGFpbMKgwrsgb3UgcXVlbHF1ZSBjaG9zZSBkdSBnZW5yZS5cbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKKyN+IG1zZ3N0ciAib3B0aW9uIMKrwqAlY8Kgwrsgbm9uIHJlY29ubnVlIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorI34gIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyN+ICIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlc8KgOiBjaWJsZSBvY2N1cMOpZVxuIgorI34gIiAgICAgICAoRGFucyBjZXJ0YWlucyBjYXMsIGRlcyByZW5zZWlnbmVtZW50cyBzdXIgbGVzIHByb2Nlc3N1cyB1dGlsaXNhbnRcbiIKKyN+ICIgICAgICAgIGxlIHDDqXJpcGjDqXJpcXVlIHNvbnQgYWNjZXNzaWJsZXMgYXZlYyBsc29mKDgpIG91IGZ1c2VyKDEpLikiCisKKyN+IG1zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCisjfiBtc2dzdHIgIiVzwqA6IHBvaW50IGRlIG1vbnRhZ2UgaW50cm91dmFibGUiCisKKyN+IG1zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCisjfiBtc2dzdHIgImxhIGxpZ25lwqAlZCBlc3QgdHJvcCBsb25ndWUsIGwnYWZmaWNoYWdlIHNlcmEgdHJvbnF1w6kiCisKKyN+IG1zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKKyN+IG1zZ3N0ciAiw6ljcml0dXJlIGluY29tcGzDqHRlIHN1ciDCq8KgJXPCoMK7ICglemQgw6ljcml0cywgJXpkIGF0dGVuZHVzKVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCisjfiBtc2dzdHIgIiVzwqA6IGltcG9zc2libGUgZCdham91dGVyIHVuZSBzdXJ2ZWlsbGFuY2UgaW5vdGlmeSAobGEgbGltaXRlIGRlIHN1cnZlaWxsYW5jZXMgaW5vdGlmeSBhIMOpdMOpIGF0dGVpbnRlKS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiAlcyBbb3B0aW9uXSA8ZmljaGllcj5cbiIKKworI34gbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCisjfiBtc2dzdHIgIlN1aXZyZSBsYSBjcm9pc3NhbmNlIGQndW4gZmljaGllciBqb3VybmFsLlxuIgorCisjfiBtc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1saW5lcyA8bm9tYnJlPiAgIGFmZmljaGVyIGxlcyA8bm9tYnJlPiBkZXJuacOocmVzIGxpZ25lc1xuIgorCisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIiAtPG5vbWJyZT4gICAgICAgICAgICAgIGlkZW50aXF1ZSDDoCDCq8KgLW4gPG5vbWJyZT7CoMK7XG4iCisKKyN+IG1zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiYXVjdW4gZmljaGllciBkJ2VudHLDqWUgaW5kaXF1w6kiCisKKyN+IG1zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKKyN+IG1zZ3N0ciAiJXPCoDogbidlc3QgcGFzIHVuIGZpY2hpZXIiCmRpZmYgLS1naXQgYS9wby9nbC5wbyBiL3BvL2dsLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM2ZmYxYTIKLS0tIC9kZXYvbnVsbAorKysgYi9wby9nbC5wbwpAQCAtMCwwICsxLDIxMjY4IEBACisjIEdhbGljaWFuIHRyYW5zbGF0aW9uIGZvciB1dGlsLWxpbnV4CisjIENvcHlyaWdodCAoYykgMjAxMCBSb3NldHRhIENvbnRyaWJ1dG9ycyBhbmQgQ2Fub25pY2FsIEx0ZCAyMDEwCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4LW5nIHBhY2thZ2UuCisjIEZJUlNUIEFVVEhPUiA8RU1BSUxAQUREUkVTUz4sIDIwMTAuCisjIEZyYW4gRGllZ3VleiA8ZnJhbmRpZWd1ZXpAdWJ1bnR1LmNvbT4sIDIwMTAuCisjIEZyYW4gRGnDqWd1ZXogPGZyYW5kaWVndWV6QHVidW50dS5jb20+LCAyMDEwLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC1uZyAyLjE4LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTA4LTIzIDE4OjA5KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEZyYW4gRGnDqWd1ZXogPGZyYW5kaWVndWV6QHVidW50dS5jb20+XG4iCisiTGFuZ3VhZ2UtVGVhbTogR2FsaWNpYW4gPHByb3hlY3RvQHRyYXNuby5uZXQ+XG4iCisiTGFuZ3VhZ2U6IGdsXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1MYXVuY2hwYWQtRXhwb3J0LURhdGU6IDIwMTAtMDgtMjMgMTQ6MjQrMDAwMFxuIgorIlgtR2VuZXJhdG9yOiBMYXVuY2hwYWQgKGJ1aWxkIFVua25vd24pXG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4hPTEpO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjUzIGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNDQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTMKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxMzMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTUgbWlzYy11dGlscy9raWxsLmM6MjY5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTEgbWlzYy11dGlscy9yZW5hbWUuYzoxOTkgbWlzYy11dGlscy93aGVyZWlzLmM6NTE4CisjOiBzeXMtdXRpbHMvZmxvY2suYzoxNzUgc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHN5cy11dGlscy9sZGF0dGFjaC5jOjM2OAorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE0NiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDEgc3lzLXV0aWxzL3R1bmVscC5jOjE1MgorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NTkgdGVybS11dGlscy9hZ2V0dHkuYzo4NjAgdGVybS11dGlscy9hZ2V0dHkuYzo4NjgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODY5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTggZGlzay11dGlscy9ibG9ja2Rldi5jOjI5NSBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDM5CisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDY1IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjcxOCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1OQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY0IGRpc2stdXRpbHMvZmRpc2suYzoxMDY2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMjEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozODAgZGlzay11dGlscy9mc2NrLmM6MTQ3MAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEyCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDIgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MgorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYwCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODAwIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyNAorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTcgZGlzay11dGlscy9ta3N3YXAuYzoyNDYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTMKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMyBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjcxMQorIzogZGlzay11dGlscy9zZmRpc2suYzo3NjUgZGlzay11dGlscy9zZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzo4OTgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAwNgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY1IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjUgbGliZmRpc2svc3JjL2JzZC5jOjY0MAorIzogbGliL3BhdGguYzo5NSBsaWIvcGF0aC5jOjExMyBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3NAorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0MyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1MgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzQgbG9naW4tdXRpbHMvdmlwdy5jOjI2MSBsb2dpbi11dGlscy92aXB3LmM6Mjc5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk5IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyMyBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxOTggc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODIgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5NgorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI0IHN5cy11dGlscy9lamVjdC5jOjQ5OSBzeXMtdXRpbHMvZWplY3QuYzo2OTUKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozOTYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE3IHN5cy11dGlscy9mc3RyaW0uYzo3NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMjcgc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTQgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAwCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkyIHN5cy11dGlscy9uc2VudGVyLmM6MTI5CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTkzIHN5cy11dGlscy9yZmtpbGwuYzo1NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjg2IHN5cy11dGlscy9zZXRwcml2LmM6Mjc2IHN5cy11dGlscy9zZXRwcml2LmM6NjE0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzNyBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc1IHN5cy11dGlscy9zd2Fwb24uYzo1MTgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2NyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwOCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIyIHN5cy11dGlscy93ZGN0bC5jOjM3OCBzeXMtdXRpbHMvenJhbWN0bC5jOjUwOAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzUyIHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2MAorIzogdGVybS11dGlscy9zY3JpcHQuYzo0NjggdGVybS11dGlscy9zY3JpcHQuYzo1NTkKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk4IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAxCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTkgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTM0CisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3VsLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiYWN0aXZhciBhIGFsYXJtYSBydGMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjY0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiZXN0YWJlbGVjZSBzw7MgbGVjdHVyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgImVzdGFiZWxlY2UgbGVjdHVyYS9lc2NyaXR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIm9idMOpbiBzw7MgbGVjdHVyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIm9idGVyIG8gdGFtYcOxbyBkbyBibG9xdWUgbMOzeGljbyAoc2VjdG9yKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIm9idGVuZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSBmw61zaWNvIChzZWN0b3IpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm9idGVyIG8gdGFtYcOxbyBkZSBFL1MgbcOtbmltbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZGUgRS9TIMOzcHRpbW8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgIm9idGVyIHBvc2ljacOzbiBkZSBhbGnDsWFtZW50byIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAib2J0ZXIgb3Mgc2VjdG9yZXMgbcOheGltb3MgcG9yIHNvbGljaXR1ZGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZG8gYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAib2J0w6luIG8gY29udGFkb3IgZGUgc2VjdG9yZXMgZGUgMzIgYml0cyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJvYnTDqW4gbyB0YW1hw7FvIGVuIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiZXN0YWJlbGVjZSDCq3JlYWRhaGVhZMK7IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAib2J0w6luIMKrcmVhZGFoZWFkwrsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImVzdGFiZWxlY2UgwqtyZWFkYWhlYWTCuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAib2J0w6luIHNpc3RlbWEgZGUgZmljaGVpcm9zIGByZWFkYWhlYWQnIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAiYmFsZWlyYSBvcyBiw7pmZXJlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTMKK21zZ2lkICJDYWxsIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk2CisjLCBmdXp6eQorbXNnaWQgIiAtcSAgICAgICAgICAgICBxdWlldCBtb2RlIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICJvYnTDqW4gbyB0YW1hw7FvIGVuIHNlY3RvcmVzIGRlIDUxMiBieXRlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzAKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXM6IE9yZGUgZGVzY2/DsWVjaWRhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBlcnJvIGRlIGlvY3RsIGVuICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyB0aXZvIMOpeGl0by5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU2VjdG9yZGVJbmljaW8gICAgICAgICAgICBUYW1hw7FvICAgRGlzcG9zaXRpdm9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiQXJyaW5jw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJUcm9jYSBhIG9wY2nDs24gZGUgYXJyaW5xdWUgZGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJFbGltaW5hciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJFbGltaW5hIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4Cittc2dpZCAiUmVzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIlJlZHVjZSBvciBlbmxhcmdlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiRWxpbWluYSBhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm92YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIkNyZWEgdW5oYSBub3ZhIHBhcnRpY2nDs24gZGVzZGUgbyBlc3Bhem8gbGlicmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiU2HDrXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiU2FlIGRvIHByb2dyYW1hIHNlbiBlc2NyaWJpciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAidGlwbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIENhbWJpYSBvIGlkIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIGRhIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAiQXh1ZGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIkltcHJpbWUgZXN0YSBwYW50YWxsYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJTb3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIkVzY3JpYmlyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIkVzY3JpYmlyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIGFvIGRpc2NvIChpc3RvIHBvZGVyw61hIGRlc3RydcOtciBvcyBkYXRvcykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorIywgZnV6enkKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiSW1wcmltZSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyBuYSBwYW50YWxsYSBvdSBudW4gZmljaGVpcm8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjQyIGRpc2stdXRpbHMvZmRpc2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpw7NuczpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyMworbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiZGlzY286ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIm9idMOpbiBvIHRhbWHDsW8gZW4gYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIm9idMOpbiBvIHRhbWHDsW8gZW4gYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk2OAorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIGQgICBlbGltaW5hciBhIHBhcnRpY2nDs24gQlNEIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlZhbG9yIGRlIGNhYmV6YXMgaWxlZ2FsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTkgZGlzay11dGlscy9mZGlzay5jOjEwNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg4Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBUcm9jYXIgYSBvcGNpw7NuIGRlIGFycmlucXVlIHBhcmEgYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBFbGltaW5hciBhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBJbXByaW1lIGVzdGEgcGFudGFsbGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBDcmVhIHVuaGEgbm92YSBwYXJ0aWNpw7NuIGRlc2RlIGVzcGF6byBsaWJyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAgU2FlIGRvIHByb2dyYW1hIHNlbiBlc2NyaWJpciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg2CisjLCBmdXp6eQorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBkICAgICAgICAgIEVsaW1pbmFyIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworIywgZnV6enkKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIFhhIHF1ZSBpc3RvIHBvZGUgZGVzdHJ1w61yIG9zIGRhdG9zIGRvIHNldSBkaXNjbywgZGViZXLDrWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MQorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICBjb25maXJtYXIgb3UgZGVuZWdhciBhIGVzY3JpdHVyYSBlc2NyaWJpbmRvIMKrc2nCuyBvdSAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MgorIywgZnV6enkKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJGcmVjaGEgQXJyaWJhICAgICBNb3ZlIG8gY3Vyc29yIMOhIGFudGVyaW9yIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIkZyZWNoYSBBYmFpeG8gICAgIE1vdmUgbyBjdXJzb3Igw6Egc2VndWludGUgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk1CisjLCBmdXp6eQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJGcmVjaGEgQXJyaWJhICAgICBNb3ZlIG8gY3Vyc29yIMOhIGFudGVyaW9yIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJGcmVjaGEgQWJhaXhvICAgICBNb3ZlIG8gY3Vyc29yIMOhIHNlZ3VpbnRlIHBhcnRpY2nDs24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIk5vdGE6IFRvZGFzIGFzIG9yZGVzIHBvZGVuIGluc2VyaXJzZSB0YW50byBlbiBtYWnDunNjdWxhcyBjb21vIGVuIG1pbsO6c2N1bGFzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTkKKyMsIGZ1enp5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgIihzYWx2byBXIHBhcmEgb3BlcmFjacOzbnMgZGUgZXNjcml0dXJhKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKKyMsIGZ1enp5Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJbUHJlbWEgZXNwYWNpbyBwYXJhIGNvbnRpbnVhciwgwqtxwrsgcGFyYSBzYcOtcl0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVsaW1pbmFyIHVuaGEgcGFydGljacOzbiBiYWxlaXJhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljacOzbnM6XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICIgICB0ICAgQ2FtYmlhIG8gaWQgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgZGEgcGFydGljacOzbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0Cittc2dpZCAiTmV3IHNpemU6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzOSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgInllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIiAgIHAgICBJbXByaW1lIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIEJTRCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjMyIGRpc2stdXRpbHMvZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzoxODQzCisjLCBmdXp6eQorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM4CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjc2IGRpc2stdXRpbHMvZmRpc2suYzo5NTAgZGlzay11dGlscy9zZmRpc2suYzoyMTIwCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDEwIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRlYW5kby4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAiZmVpdG9cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJWZXJpZmljYW5kby4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkxlcjogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmxlbWEgZGUgbGVjdHVyYSBubyBjaWxpbmRybyAlZCwgZXNwZXLDoWJhc2UgJWQsIGxldXNlICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisiRGF0b3MgaW5jb3JyZWN0b3Mgbm8gY2lsaW5kcm8gJWRcbiIKKyJDb250aW51YW5kby4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMyBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwMiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OQorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NAorbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NgorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE0OAorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM3CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzU4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3OTcKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyMSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MyBkaXNrLXV0aWxzL3BhcnR4LmM6OTUxCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg4IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM3IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODUgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5OQorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTcgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIwCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6Nzkgc3lzLXV0aWxzL25zZW50ZXIuYzoxNjQgc3lzLXV0aWxzL25zZW50ZXIuYzoxNjgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MjMgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzNyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCBmYWxsb3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI2IGRpc2stdXRpbHMvcGFydHguYzoxMDEwIG1pc2MtdXRpbHMvbHNibGsuYzoxNTAxCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NyBzeXMtdXRpbHMvYmxrem9uZS5jOjEwMQorIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGRldGVybWluYXIgbyB0aXBvIGRlIGZvcm1hdG8gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzIGNhcmFzLCAlZCBwaXN0YXMsICVkIHNlY3RvcmVzL3Bpc3RhLiBDYXBhY2lkYWRlIHRvdGFsIGRlICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJEb2JyZSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiU2lueGVsbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQ1Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI1MyBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMjIKKyMsIGZ1enp5Cittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY5IGRpc2stdXRpbHMvZmRpc2suYzozMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzggZGlzay11dGlscy9zZmRpc2suYzoxOTgKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE4IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAzCittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIiAgIHQgICBDYW1iaWEgbyBpZCBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyBkYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiZGlzY286ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEgbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5OAorIywgZnV6enkKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIlByaW1laXJvICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3ODYgZGlzay11dGlscy9zZmRpc2suYzoxNDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMworbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjaWxpbmRyb3M6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgc2VjdG9yZXMgcG9yIHBpc3RhOiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTAwIGRpc2stdXRpbHMvcGFydHguYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTEwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBjaWxpbmRyb3MgaWxlZ2FsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NzUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9mZGlzay5jOjk4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4OQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIlZhbG9yIGRlIGNhYmV6YXMgaWxlZ2FsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIm9idGVyIHBvc2ljacOzbiBkZSBhbGnDsWFtZW50byIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIzNgorIzogZGlzay11dGlscy9mc2NrLmM6MTI1NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwOQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjI0MjYKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI5IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIxCittc2dpZCAiRW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgZWxpbWluYXIgYSBwYXJ0aWNpw7NuIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIk5vbiBoYWkgbcOhaXMgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAiICAgbCAgIE1vc3RyYSBvcyB0aXBvcyBkZSBzaXN0ZW1hcyBkZSBmaWNoZWlyb3MgY2/DsWVjaWRvcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIiAgIG4gICBFbmdhZGUgdW5oYSBub3ZhIHBhcnRpY2nDs24gQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgcCAgIEltcHJpbWUgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBDYW1iaWEgbyBpZCBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyBkYSBwYXJ0aWNpw7NuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorIywgZnV6enkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIiAgIG0gICBJbXByaW1lIGVzdGUgbWVuw7oiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorIywgZnV6enkKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJDYW1iaWFyIGEgeGVvbWV0csOtYSBkbyBkaXNjbyAoc8OzIGV4cGVydG9zKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiICAgdyAgIEVzY3JpYmUgYSBldGlxdWV0YSBkbyBkaXNjbyBubyBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiICAgcSAgIFNhZSBzZW4gZ2FyZGFyIG9zIGNhbWJpb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorIywgZnV6enkKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICIgICByICAgVm9sdmUgYW8gbWVuw7ogcHJpbmNpcGFsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjaWxpbmRyb3M6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBzZWN0b3JlcyBwb3IgcGlzdGE6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIm9idMOpbiBzw7MgbGVjdHVyYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAib2J0w6luIHPDsyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAib2J0w6luIHPDsyBsZWN0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzcKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgIm9idMOpbiBzw7MgbGVjdHVyYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIHNlY3RvcmVzIHBvciBwaXN0YToiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiRWxpbWluYSBhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJFbGltaW5hIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICIgIFRhbWHDsW8gKE1CKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiJXMgbm9uIGNvbnTDqW4gbmluZ3VuaGEgZXRpcXVldGEgZGUgZGlzY28uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyNQorbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiQlNEIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorIywgZnV6enkKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIiAgIGUgICBlZGl0YXIgb3MgZGF0b3MgZGEgdW5pZGFkZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICIgICBpICAgaW5zdGFsYXIgYSBzZWN1ZW5jaWEgZGUgaW5pY2lvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiAgIHMgICBNb3N0cmEgYSBldGlxdWV0YSBkbyBkaXNjbyBjb21wbGV0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgeCAgIExpZ2EgYSBwYXJ0aWNpw7NuIEJTRCBhIHVuaGEgcGFydGljacOzbiBub24gQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIkF4dWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzNQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiRGVzZXhhIGNvbnRpbnVhcj8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJXM6IE9yZGUgZGVzY2/DsWVjaWRhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA2Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTE4CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTUgZGlzay11dGlscy9zZmRpc2suYzoxNTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIkRlc2V4YSBjcmVhciB1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvPyAoeS9uKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTYzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUxMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVsaW1pbmFyIHVuaGEgcGFydGljacOzbiBiYWxlaXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKKyMsIGZ1enp5Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyBub24gY29udMOpbiBuaW5ndW5oYSBldGlxdWV0YSBkZSBkaXNjby5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk1vZGVsbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiJXMgbm9uIGNvbnTDqW4gbmluZ3VuaGEgZXRpcXVldGEgZGUgZGlzY28uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMzcKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgImVycm8gZGUgYW7DoWxpc2U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiIgorIlxuIgorIlNpbmNyb25pemFuZG8gZGlzY29zLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorIywgZnV6enkKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIiVzIHRpdm8gw6l4aXRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJlcnJvIGRlIGFuw6FsaXNlIG5hIGxpw7FhOiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNCBkaXNrLXV0aWxzL2ZzY2suYzo1MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODIKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzg1IHN5cy11dGlscy9mbG9jay5jOjM2NCBzeXMtdXRpbHMvc3dhcG9uLmM6MzUyCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0MAorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NAorIywgZnV6enkKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk3CisjLCBmdXp6eQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgRWxpbWluYXIgYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA1Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA3Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYwCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgImRlbWFzaWFkYXMgcMOheGluYXMgaW5jb3JyZWN0YXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKKyMsIGZ1enp5Cittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgImRlbWFzaWFkYXMgcMOheGluYXMgaW5jb3JyZWN0YXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE0Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCBmYWxsb3U6IG5vbiBmb2kgcG9zw61iZWwgZGV0ZXJtaW5hciBvIHRhbWHDsW8gZG8gZGlzcG9zaXRpdm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDMKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImEgbG9ueGl0dWRlIGRvIGZpY2hlaXJvIMOpIGRlbWFzaWFkbyBjdXJ0YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAibm9uIHNlIGVuY29udHJvdSBvIHN1cGVyYmxvcXVlIG3DoXhpY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIkNhcmFjdGVyw61zdGljYXMgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3Mgbm9uIGNvbXBhdMOtYmVpcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIk8gdGFtYcOxbyBkbyBzdXBlcmJsb3F1ZSAoJWQpIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgImF2aXNvOiBvIGZpY2hlaXJvIHBhc2EgZG8gZmluYWwgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworIywgZnV6enkKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiYXZpc286IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE2Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAibm9uIGZvaSBwb3PDrWJlbCBwcm9iYXIgbyBDUkM6IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJTxQUkl1MzI+IGJ5dGVzIGZyb20gZmlsZSAlcyIKK21zZ3N0ciAiYXZpc286IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJjcmMgZmFsbG91IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA4CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJyZWFkIGZhbGxvdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgImRlc3ByYXphbWVudG8gcmHDrXogaW5jb3JyZWN0byAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MgorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJvIGJsb3F1ZSBkZSBkYXRvcyDDqSBkZW1hc2lhZG8gbG9uZ28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJlcnJvIGRlIGRlc2NvbXByZXNpw7NuICVwKCVkKTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICBvY28gZW4gJWxkICglemQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICBkZXNjb21wcmltaW5kbyBvIGJsb3F1ZSBlbiAlbGQgYSAlbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAid3JpdGUgZmFsb3U6ICglcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biBmYWxsb3U6ICglcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24gZmFsbG91OiAoJXMpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIGZhbGxvdTogKCVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAibyBub2RvLWkgZG8gY2FydGFmb2wgdGVuIHVuIGRlc3ByYXphbWVudG8gY2VybyBvdSB1biB0YW1hw7FvIG5vbiBjZXJvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICJta2RpciBmYWxsb3U6ICglcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAiYSBsb254aXR1ZGUgZG8gbm9tZSBkbyBmaWNoZWlybyDDqSBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAibG9ueGl0dWRlIGRvIG5vbWUgZGUgZmljaGVpcm8gaW5jb3JyZWN0YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgImRlc3ByYXphbWVudG8gZG8gbm9kby1pIGluY29ycmVjdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDEKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAibyBub2RvLWkgZG8gZmljaGVpcm8gdGVuIHVuIGRlc3ByYXphbWVudG8gY2VybyBvdSB1biB0YW1hw7FvIG5vbiBjZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgIm8gZmljaGVpcm8gbm9kby1pIHRlbiB1biB0YW1hw7FvIGNlcm8gb3UgdW4gZGVzcHJhemFtZW50byBub24gY2VybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJhIGxpZ2F6w7NuIHNpbWLDs2xpY2EgdGVuIHVuIGRlc3ByYXphbWVudG8gY2VybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAiYSBsaWdhesOzbiBzaW1iw7NsaWNhIHRlbiB1biB0YW1hw7FvIGNlcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZXJybyBkZSB0YW1hw7FvIG5hIGxpZ2F6w7NuIHNpbWLDs2xpY2E6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3ltbGluayBmYWxsb3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAibyBmaWNoZWlybyBlc3BlY2lhbCB0ZW4gdW4gZGVzcHJhemFtZW50byBub24gY2VybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImZpZm8gdGVuIHVuIHRhbWHDsW8gbm9uIGNlcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIm8gc29ja2V0IHRlbiB1biB0YW1hw7FvIG5vbiBjZXJvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICJtb2RvIGJvZ3VzOiAlcyA6ICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub3QgZmFsbG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiYXZpc286IG8gZmljaGVpcm8gcGFzYSBkbyBmaW5hbCBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiTmVjZXPDrXRhc2UgYSB0ZXJtaW5hbCBwYXJhIHJlcGFyYWNpw7NucyBpbnRlcmFjdGl2YXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiRGVzZXhhIGNvbnRpbnVhcj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJjb21wcm9iYWNpw7NuIGFib3J0YWRhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9uYSBuciA8IFBSSU1FSVJBWk9OQSBubyBmaWNoZWlybyDCqyVzwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9uYSBuciA+PSBaT05BUyBubyBmaWNoZWlybyDCqyVzwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJFbGltaW5hciBibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJybyBkZSBsZWN0dXJhOiBub24gw6kgcG9zw61iZWwgYnVzY2FyIG51biBibG9xdWUgbyBmaWNoZWlybyDCqyVzwrtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJybyBkZSBsZWN0dXJhOiBibG9xdWUgaW5jb3JyZWN0byBubyBmaWNoZWlybyDCqyVzwrtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiRXJybyBpbnRlcm5vOiB0ZW50YW5kbyBlc2NyaWJpciB1biBibG9xdWUgaW5jb3JyZWN0b1xuIgorIklnbm9yb3VzZSBhIHNvbGljaXR1ZGUgZGUgZXNjcml0dXJhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgbyBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MzIKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY0Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAibm9uIMOpIHBvc8OtYmVsIHJlc2VydmVyIG8gYsO6ZmVyIHBhcmEgbyBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY3Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgIm5vbiDDqSBwb3PDrWJlbCBsZXIgbyBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAibsO6bWVybyBtw6F4aWNvIGluY29ycmVjdG8gbm8gc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiU8OzIHNlIGFkbWl0ZW4gYmxvcXVlcy96b25hcyBkZSAxayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkzCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIm7Dum1lcm8gbcOheGljbyBpbmNvcnJlY3RvIG5vIHN1cGVyYmxvcXVlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAibsO6bWVybyBtw6F4aWNvIGluY29ycmVjdG8gbm8gc3VwZXJibG9xdWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyIHBhcmEgbyBtYXBhIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgcmVzZXJ2YXIgbyBiw7pmZXIgcGFyYSBvIG1hcGEgZGUgem9uYXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyIHBhcmEgb3Mgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCByZXNlcnZhciBvIGLDumZlciBwYXJhIGEgY29udGEgZGUgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyIHBhcmEgYSBjb250YSBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMyCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgcmVzZXJ2YXIgbyBtYXBhIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgbGVyIGEgdMOhYm9hIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBsZXIgb3Mgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBub2Rvcy1pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlByaW1laXJhIHpvbmEgZGUgZGF0b3M9JWxkICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICJUYW1hw7FvIGRhIHpvbmE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJUYW1hw7FvIG3DoXhpbW89JWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiTG9ueGl0dWRlIGRvIG5vbWU9JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIk8gbm9kby1pICVkIG1hcmNvdXNlIGNvbW8gbm9uIHV0aWxpemFkbywgcGVybyBlc3Rhc2UgdXNhbmRvIHBhcmEgbyBmaWNoZWlybyDCqyVzwrtcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJNYXJjYXIgZW4gdXNvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJPIGZpY2hlaXJvIMKrJXPCuyB0ZW4gbyBtb2RvICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBdmlzbzogYSBjb250YSBkZSBub2Rvcy1pIMOpIGRlbWFzaWFkbyBncmFuZGUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJPIGJsb3F1ZSBmb2kgdXNhZG8gYW50ZXJpb3JtZW50ZS4gQWdvcmEgbm8gZmljaGVpcm8gwqslc8K7LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxNAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiQm9ycmFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIk8gYmxvcXVlICVkIG5vIGZpY2hlaXJvIMKrJXPCuyBlc3TDoSBtYXJjYWRvIGNvbW8gZW4gdXNvLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNgorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIkNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNDEKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgRWxpbWluYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiRXJybyBpbnRlcm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzgKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjAKK21zZ2lkICJTZXQiCittc2dzdHIgIkVzdGFiZWxlY2VyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIkVzdGFiZWxlY2VyIGlfbmxpbmtzIHBhcmEgY29udGFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJab25hICVkOiBtYXJjYWRhIGVuIHVzbywgbmluZ8O6biBmaWNoZWlybyBhIHVzYS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiRWxpbWluYXIgbWFyY2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25hICVkOiBlbiB1c28sIGNvbnRhZG9zPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlZDogbm9uIGVuIHVzbywgY29udGFkb3M9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJ0YW1hw7FvIGRlIG5vZG8taSBpbmNvcnJlY3RvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzAxCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInRhbWHDsW8gZGUgbm9kby1pIHYyIGluY29ycmVjdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDYKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJOZWNlc8OtdGFzZSBhIHRlcm1pbmFsIHBhcmEgcmVwYXJhY2nDs25zIGludGVyYWN0aXZhcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIGVzdMOhIGxpbXBvLCBub24gc2UgY29tcHJvYmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJGb3J6YW5kbyBhIGNvbXByb2JhY2nDs24gZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgZW4gJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIk8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgZW4gJXMgZXN0w6Egc3VjaW8sIHByZWNpc2EgdW5oYSBjb21wcm9iYWNpw7NuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgbm9kb3MtaSB1c2Fkb3MgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uYXMgdXNhZGFzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCBmaWNoZWlyb3Mgbm9ybWFpc1xuIgorIiU2ZCBkaXJlY3Rvcmlvc1xuIgorIiU2ZCBmaWNoZWlyb3MgZGUgZGlzcG9zaXRpdm9zIGRlIGNhcmFjdGVyZXNcbiIKKyIlNmQgZmljaGVpcm9zIGRlIGRpc3Bvc2l0aXZvcyBkZSBibG9xdWVzXG4iCisiJTZkIGxpZ2F6w7Nuc1xuIgorIiU2ZCBsaWdhesOzbnMgc2ltYsOzbGljYXNcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmljaGVpcm9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIk8gU0lTVEVNQSBERSBGSUNIRUlST1MgQ0FNQklPVVxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQzMiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzgKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTQxIGRpc2stdXRpbHMvcGFydHguYzoxMDU4IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExNAorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwMAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTEgc3lzLXV0aWxzL2RtZXNnLmM6NjYxIHN5cy11dGlscy93ZGN0bC5jOjM0NworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDEyIHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjk4IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzc1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODcgdGV4dC11dGlscy9wZy5jOjEyNTYKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBsZXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIm7Dum1lcm8gZGUgbGnDsWFzIG5vbiB2w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm8gbm9tZSBkbyB2b2x1bWUgw6kgZGVtYXNpYWRvIGxvbmdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm8gbm9tZSBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyDDqSBkZW1hc2lhZG8gbG9uZ28iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgIm8gYXJndW1lbnRvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIGxvbmdvLCBvIG3DoXhpbW8gw6kgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgImRlbWFzaWFkb3Mgbm9kb3MtaSAtIG8gbcOheGltbyDDqSA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAibm9uIGhhaSBlc3Bhem8gc3VmaWNpZW50ZSwgbmVjZXPDrXRhbnNlIGNhbmRvIG1lbm9zICVsbHUgYmxvcXVlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkRpc3Bvc2l0aXZvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIlZvbHVtZTogPCUtNnM+XG4iCittc2dzdHIgIlZvbHVtZTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiTm9tZSBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvczogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJUYW1hw7FvIGRvIGJsb3F1ZTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIk5vZG9zLWk6ICVkIChlbiAxIGJsb3F1ZSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJOb2Rvcy1pOiAlZCAoZW4gJWxsZCBibG9xdWVzKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxvcXVlczogJWxsZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk3Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDEKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiVXNvOiBta2ZzIFstVl0gWy10IHRpcG8tZGUtZnNdIFtvcGNpb25zLWRvLWZzXSBkZXZpY2UgW3RhbWHDsW9dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBpbmNsdWRlL2MuaDoyMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQzNQorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MSBsb2dpbi11dGlscy9zdWxvZ2luLmM6Nzk1IHN5cy11dGlscy9mbG9jay5jOjEyMQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTUgdGVybS11dGlscy9zY3JpcHQuYzo2MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAicmVhZCBmYWxsb3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImFjdGl2YXIgYSBhbGFybWEgcnRjIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiUHJvZHVjaXVzZSB1biBmYWxsbyBhbyBncmF2YXIgYSBpbWF4ZSBST00gKCV6ZCAlemQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIkltYXhlIFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgImF2aXNvOiBub21lcyBkZSBmaWNoZWlyb3MgdHJ1bmNhZG9zIGEgMjU1IGJ5dGVzLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAiYXZpc286IGV4Y2x1w61yb25zZSBmaWNoZWlyb3MgZGViaWRvIGEgZXJyb3MuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiYXZpc286IHRhbWHDsW9zIGRlIGZpY2hlaXJvIHRydW5jYWRvcyBhICVsdU1CIChtZW5vcyAxIGJ5dGUpLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJhdmlzbzogdWlkcyB0cnVuY2Fkb3MgYSAldSBiaXRzLiAoSXN0byBwb2RlIHNlciB1biBwcm9ibGVtYSBkZSBzZWd1cmFuemEpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImF2aXNvOiBnaWRzIHRydW5jYWRvcyBhICV1IGJpdHMuIChJc3RvIHBvZGUgc2VyIHVuIHByb2JsZW1hIGRlIHNlZ3VyYW56YSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgbyBzdXBlcmJsb3F1ZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIHpvbmFzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgImRlbWFzaWFkYXMgcMOheGluYXMgaW5jb3JyZWN0YXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWxkIG5vZG9zLWlcbiIKK21zZ3N0clsxXSAiJWxkIG5vZG9zLWlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbGQgYmxvcXVlc1xuIgorbXNnc3RyWzFdICIlbGQgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJUYW1hw7FvIGRhIHpvbmE9JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiVGFtYcOxbyBtw6F4aW1vPSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0MSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsZCBibG9xdWVzXG4iCittc2dzdHJbMV0gIiVsZCBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIkNhcmFjdGVyw61zdGljYXMgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3Mgbm9uIGNvbXBhdMOtYmVpcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJUcnVuY291c2UgYSBldGlxdWV0YS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAic2VuIGV0aXF1ZXRhLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAic2VuIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTMKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJkZW1hc2lhZGFzIHDDoXhpbmFzIGluY29ycmVjdGFzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJhIGV4ZWN1Y2nDs24gZGUgJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4OQorbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBsZXIgb3Mgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpw7NuczpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTIxIHN5cy11dGlscy9sb3NldHVwLmM6NjMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo5MgorIzogbWlzYy11dGlscy9maW5kbW50LmM6Mzc2IG1pc2MtdXRpbHMvbHNibGsuYzozNjcgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEyNSBtaXNjLXV0aWxzL3dpcGVmcy5jOjEyNiBzeXMtdXRpbHMvbG9zZXR1cC5jOjExMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjIwIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNtZW0uYzoxODAKKyM6IHN5cy11dGlscy9sc25zLmM6MjIzIHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9yZmtpbGwuYzoxNjAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNTAgc3lzLXV0aWxzL3dkY3RsLmM6MTUxIHN5cy11dGlscy96cmFtY3RsLmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5jb3JlLmM6MzczIG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MjIKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMzMworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYxOCBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNiBzeXMtdXRpbHMvcmZraWxsLmM6NDY3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjkzIHN5cy11dGlscy93ZGN0bC5jOjI3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEVsaW1pbmFyIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVsaW1pbmFyIHVuaGEgcGFydGljacOzbiBiYWxlaXJhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIG5vZG9zLWkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgYSB0w6Fib2EgZGUgbm9kb3MtaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTUKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MAorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkyCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQyCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkRlc2V4YSBjcmVhciB1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvPyAoeS9uKSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjM0Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NjQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb3F1ZXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4OTQgZGlzay11dGlscy9zZmRpc2suYzo5MzUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzMiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwOTYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMDcgZGlzay11dGlscy9zZmRpc2suYzoxNTYxCisjLCBmdXp6eQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvciBQTUJSIG9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NjcgZGlzay11dGlscy9zZmRpc2suYzo5MTQgZGlzay11dGlscy9zZmRpc2suYzoxMDM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDEgZGlzay11dGlscy9zZmRpc2suYzoxMTU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTA5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMQorIywgZnV6enkKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworIywgZnV6enkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIk9yZGVzIGRpc3Bvw7HDrWJlaXM6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4OQorIywgZnV6enkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHcgICBFc2NyaWJlIGEgZXRpcXVldGEgZG8gZGlzY28gbm8gZGlzY28iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MAorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkyCisjLCBmdXp6eQorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwICAgSW1wcmltZSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyBCU0QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworIywgZnV6enkKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTQKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxILFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjMKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjUKKyMsIGZ1enp5Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgIG4gICAgICAgICAgQ3JlYSB1bmhhIG5vdmEgcGFydGljacOzbiBkZXNkZSBlc3Bhem8gbGlicmUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3Igc2ZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24geGEgZXN0w6EgZW4gdXNvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIlZpcnR1YWxpemFjacOzbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjg2CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0CisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIkZlaXRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjYKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzc3Cittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGl6YWNpw7NuOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIkRlc2V4YSBjcmVhciB1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvPyAoeS9uKSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1CisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYwCittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MgorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2CisjLCBmdXp6eQorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODczCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2FiZXphczoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg0CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg3Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxNTIKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMTgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICJVc286XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKK21zZ2lkICJkaXNwbGF5IHRoaXMgaGVscCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMjYKK21zZ2lkICJkaXNwbGF5IHZlcnNpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiRXJybyBpbnRlcm5vIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBpbmNsdWRlL29wdHV0aWxzLmg6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5Cittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIiIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIHhhIGVzdMOhIGVuIHVzbyIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjEwMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIkNyZWEgdW5oYSBub3ZhIHBhcnRpY2nDs24gZGVzZGUgbyBlc3Bhem8gbGlicmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiQXZpc286IGEgY29udGEgZGUgbm9kb3MtaSDDqSBkZW1hc2lhZG8gZ3JhbmRlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIk5vbiBoYWkgbmluZ3VuaGEgcGFydGljacOzbiAqQlNEIGVuICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgImNpbGluZHJvcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyBub24gY29udMOpbiBuaW5ndW5oYSBldGlxdWV0YSBkZSBkaXNjby5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiRGVzZXhhIGNyZWFyIHVuaGEgZXRpcXVldGEgZGUgZGlzY28/ICh5L24pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgImRpc2NvOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTUKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYyIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIk9wY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY1Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJhZHNlY3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJieXRlcy9zZWN0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJwaXN0YXMvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODUKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2VjdG9yZXMvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTAgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjgKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkNpbMOtbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTUgbGliZmRpc2svc3JjL3N1bi5jOjc3MworIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInIucC5tLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMAorIywgZnV6enkKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJoZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImJ1c2NhIGRlIHBpc3RhLWEtcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGVzL3NlY3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNlY3RvcnMvcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInBpc3Rhcy9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kcm9zIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VjdG9yZXMvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgInIucC5tLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImJ1c2NhIGRlIHBpc3RhLWEtcGlzdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJldGlxdWV0YTogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTExIGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6Njg4CisjLCBmdXp6eQorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICIiCisiXG4iCisiU2luY3Jvbml6YW5kbyBkaXNjb3MuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIExpZ2EgYSBwYXJ0aWNpw7NuIEJTRCBhIHVuaGEgcGFydGljacOzbiBub24gQlNEIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNQorbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorIywgZnV6enkKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKKyMsIGZ1enp5Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIiAgIHAgICBJbXByaW1lIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIEJTRCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTA4NAorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIHhhIGVzdMOhIGVuIHVzbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNgorIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IHBhcnRpdGlvbiBub3QgYXZhaWxhYmxlLiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzUzCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJOb24gaGFpIG3DoWlzIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlbGltaW5hciB1bmhhIHBhcnRpY2nDs24gYmFsZWlyYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiVzIG5vbiBjb250w6luIG5pbmd1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworIywgZnV6enkKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJOb24gaGFpIG3DoWlzIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDc2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIxIGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzgKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiQ3JlYSB1bmhhIG5vdmEgcGFydGljacOzbiBkZXNkZSBvIGVzcGF6byBsaWJyZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzEKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3RzLiBGYWlsZWQgdG8gYWRkIGxvZ2ljYWwgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY2NworIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAibsO6bWVybyBkZSBsacOxYXMgbm9uIHbDoWxpZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgzIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk0CisjLCBmdXp6eQorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICIgICBlICAgZWRpdGFyIG9zIGRhdG9zIGRhIHVuaWRhZGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA3MworbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjM0NworbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJUcm9jYSBhIG9wY2nDs24gZGUgYXJyaW5xdWUgZGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlRyb2NhIGEgb3BjacOzbiBkZSBhcnJpbnF1ZSBkYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OQorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJFbGltaW5hIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkVsaW1pbmEgYSBwYXJ0aWNpw7NuIGFjdHVhbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJFbGltaW5hIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICIgICBlICAgZWRpdGFyIG9zIGRhdG9zIGRhIHVuaWRhZGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgInNlbiBldGlxdWV0YSwgIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTMKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTgKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiVk13YXJlIERpYWdub3N0aWMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiVk13YXJlIFJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgZWxpbWluYXIgYSBwYXJ0aWNpw7NuIEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTEKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTk2Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJQcmltZWlybyAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiICAgZCAgIGVsaW1pbmFyIGEgcGFydGljacOzbiBCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgImVycm8gZGUgYW7DoWxpc2U6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCittc2dzdHJbMV0gIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24geGEgZXN0w6EgZW4gdXNvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIlcyBub24gY29udMOpbiBuaW5ndW5oYSBldGlxdWV0YSBkZSBkaXNjby5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NDYKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiQXZpc286IGEgY29udGEgZGUgbm9kb3MtaSDDqSBkZW1hc2lhZG8gZ3JhbmRlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAibsO6bWVybyBkZSBsacOxYXMgbm9uIHbDoWxpZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJ0aXBvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNQorbXNnaWQgIlVVSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTm9tZSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0OAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJjaWxpbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODYgbGliZmRpc2svc3JjL3N1bi5jOjc4OAorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgInBpc3Rhcy9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiKFNlZ3VpbnRlIGZpY2hlaXJvOiAlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA3Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDAKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMiBsaWJmZGlzay9zcmMvc3VuLmM6NDU5CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEyCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKK21zZ3N0clsxXSAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOAorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDgKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc0IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlByaW1laXJvICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg0IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIG5vbiBjb250w6luIG5pbmd1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE4NworbXNnaWQgIkhlYWRzIgorbXNnc3RyICJDYWJlemFzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIG5vbiBjb250w6luIG5pbmd1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTUxCittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiZXRpcXVldGE6ICUuKnNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorIywgZnV6enkKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIlZvbHVtZTogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzgKKyMsIGZ1enp5Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kcm9zIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHQuYzoyMzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAicmVhZCBmYWxsb3U6ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gcGVybWl0dGVkIGZvciByb290IG9ubHkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogbm9uIMOpIHBvc8OtYmVsIGxlciAlcy5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogbm9uIMOpIHBvc8OtYmVsIGxlciAlcy5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgc291cmNlIHNwZWNpZmllZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAiYSBleGVjdWNpw7NuIGRlICVzIGZhbGxvdS4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQyNworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYnVzeSIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnQgcG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHQgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgbyBzdXBlcmJsb3F1ZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBhYnJpciDCqyVzwrsgcGFyYSBsZWN0dXJhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmFsbG91LlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAiICAgdCAgIENhbWJpYSBvIGlkIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIGRhIHBhcnRpY2nDs24iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBlc2NyaWJpciBvIHN1cGVyYmxvcXVlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgImF2aXNvOiBvIGZpY2hlaXJvIHBhc2EgZG8gZmluYWwgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3NcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1hbGxvYyBmYWxsb3UiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid3JpdGUgZmFsb3U6ICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIiIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICIiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxODYKK21zZ2lkICJnZXRyYW5kb20oKSBmdW5jdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NTkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgIiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lICVsZCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJBIGxpw7FhIMOpIGRlbWFzaWFkbyBsb25nYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIkEgbGnDsWEgw6kgZGVtYXNpYWRvIGxvbmdhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxOTQgbG9naW4tdXRpbHMvY2hzaC5jOjE4NworbXNnaWQgImNhbm5vdCBoYW5kbGUgbXVsdGlwbGUgdXNlcm5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyNDgKKyMsIGZ1enp5Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgImNvbXByb2JhY2nDs24gYWJvcnRhZGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDY5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3Cittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgwCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODEKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAidXNvOiByZXYgW2ZpY2hlaXJvLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTY5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIxNyBzeXMtdXRpbHMvZG1lc2cuYzoxMjY5CisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM1IGxvZ2luLXV0aWxzL2xhc3QuYzo0NDYgbG9naW4tdXRpbHMvbGFzdC5jOjg5MgorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc4Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MQorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTIKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlc1xuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgImNvbnZlcnRlciBhIGhvcmEgcnRjIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgImEgZXhlY3VjacOzbiBkZSAlcyBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGZhbGxvdTogKCVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGZhbGxvdTogKCVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworIywgZnV6enkKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAid3JpdGUgZmFsb3U6ICglcykiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzk3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MSBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAwCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNAorbXNnaWQgIiAtZiAgICAgICAgICAgICBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNQorbXNnaWQgIiAtaCA8aG9zdD4gICAgICBob3N0bmFtZSB0byBiZSB1c2VkIGZvciB1dG1wIGxvZ2dpbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA2CisjLCBmdXp6eQorbXNnaWQgIiAtSCAgICAgICAgICAgICBzdXBwcmVzcyBob3N0bmFtZSBpbiB0aGUgbG9naW4gcHJvbXB0IgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3NgorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3OAorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM4MworbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTQzNiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2CisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJubyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJNb2RlbG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAid3JpdGUgZmFsb3U6ICglcykiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJhIGV4ZWN1Y2nDs24gZGUgJXMgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorIywgZnV6enkKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4CisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiRXJybyBpbnRlcm5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwIHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQzNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBmYWxsb3UiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3NgorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorIywgZnV6enkKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzYKKyMsIGZ1enp5Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjMwCittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjIyNAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg4IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyNCBtaXNjLXV0aWxzL3V1aWRkLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDk0CisjLCBmdXp6eQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgZmFsbG91IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgImVycm86IG5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMDYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1c2VyIGNyZWRlbnRpYWxzOiAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyMiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjQgc3lzLXV0aWxzL2VqZWN0LmM6NjYzCittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MworbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAyCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMjMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiRGVzZXhhIGNvbnRpbnVhcj8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCisjLCBmdXp6eQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0Cittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzOiBub24gw6kgcG9zw61iZWwgZW5nYWRpciB1biB2aXhpbGFudGUgZGUgaW5vdGlmeS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IG5vbiDDqSBwb3PDrWJlbCBsZXIgb3MgZXZlbnRvcyBkZSBpbm90aWZ5IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0OQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEwCittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICJhIGV4ZWN1Y2nDs24gZGUgJXMgZmFsbG91LiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDgKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTAKK21zZ2lkICIgLXMsIC0tbWF0Y2gtdGFnIDx0YWc+ICAgICAgc2hvdyBzcGVjaWZpZWQgdGFnKHMpIChkZWZhdWx0IHNob3cgYWxsIHRhZ3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICAgb3ZlcndyaXRlIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb2Zmc2V0IDxvZmZzZXQ+ICAgICAgcHJvYmUgYXQgdGhlIGdpdmVuIG9mZnNldFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICJNYXJjYXIgZW4gdXNvIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImVycm8gZGUgYW7DoWxpc2U6ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpdmFsZW50IHJlc3VsdCAocHJvYmFibHkgbW9yZSBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlLCB1c2Ugd2lwZWZzKDgpIHRvIHNlZSBtb3JlIGRldGFpbHMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24ga2V5d29yZCBpbiAtdSA8bGlzdD4gYXJndW1lbnQ6ICclcyciCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTkgbWlzYy11dGlscy93aXBlZnMuYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2NgorIywgZnV6enkKK21zZ2lkICJUb28gbWFueSB0YWdzIHNwZWNpZmllZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzgzCittc2dpZCAiLXQgbmVlZHMgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAiVmFsb3IgZGUgY2FiZXphcyBpbGVnYWwiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICJWYWxvciBkZSBjYWJlemFzIGlsZWdhbCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzcgbWlzYy11dGlscy9jYWwuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJWYWxvciBkZSBjYWJlemFzIGlsZWdhbCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NTMwIG1pc2MtdXRpbHMvY2FsLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorIywgZnV6enkKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA3Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorIywgZnV6enkKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTMKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MgorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAib2J0ZXIgcG9zaWNpw7NuIGRlIGFsacOxYW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorIywgZnV6enkKK21zZ2lkICJmaWxlIG5hbWUiCittc2dzdHIgIk1vZGVsbyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbWluY29yZTogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gZnN0YXQ6ICVzIgorbXNnc3RyICJhdmlzbzogZm9ybWF0byBkZSBjcmFtZnMgYW50aWdvXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjM0MyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5MworbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIkZvcnphbmRvIGEgY29tcHJvYmFjacOzbiBkbyBzaXN0ZW1hIGRlIGZpY2hlaXJvcyBlbiAlcy5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1Cittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAiIEVsaW1pbmFyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogbm9uIMOpIHBvc8OtYmVsIGxlciAlcy5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgZmFsbG91IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUgc3lzLXV0aWxzL2xzbnMuYzo5MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM4Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQ1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMyCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGxlciBvcyBub2Rvcy1pIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUwCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJyZWFkIGZhbGxvdTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpw7NuczpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aWNpw7NuczpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0aXBvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gImVycm8gZGUgYW7DoWxpc2VcbiIKK21zZ3N0clsxXSAiZXJybyBkZSBhbsOhbGlzZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiY3JjIGZhbGxvdSIKK21zZ3N0clsxXSAiY3JjIGZhbGxvdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2CisjLCBmdXp6eQorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg0Cittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODcgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MDcgc3lzLXV0aWxzL3R1bmVscC5jOjE2NyBzeXMtdXRpbHMvdHVuZWxwLmM6MTc0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTgxIHN5cy11dGlscy90dW5lbHAuYzoxODggc3lzLXV0aWxzL3R1bmVscC5jOjE5NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIwMSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA1IHN5cy11dGlscy90dW5lbHAuYzoyMTIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjMzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjg5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzIxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjkgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzU4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTkwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MTMgdGVybS11dGlscy9zZXR0ZXJtLmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJFcnJvIGludGVybm8iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJWYWxvciBkZSBjaWxpbmRyb3MgaWxlZ2FsIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm8gbm9tZSBkbyB2b2x1bWUgw6kgZGVtYXNpYWRvIGxvbmdvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICJTb2NrZXQocykgZGEgQ1BVOiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIkEgbGnDsWEgw6kgZGVtYXNpYWRvIGxvbmdhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIkEgbGnDsWEgw6kgZGVtYXNpYWRvIGxvbmdhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzMKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorIywgZnV6enkKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzcKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUwCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUyCittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTYKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTcKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTgKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA2MQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIihTZWd1aW50ZSBmaWNoZWlybzogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTIKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1OQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NyBzeXMtdXRpbHMvenJhbWN0bC5jOjg2Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJlc3RhYmVsZWNlIHPDsyBsZWN0dXJhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3IHN5cy11dGlscy9sb3NldHVwLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiZXN0YWJlbGVjZSBzw7MgbGVjdHVyYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorIywgZnV6enkKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIm9idGVyIHBvc2ljacOzbiBkZSBhbGnDsWFtZW50byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorIywgZnV6enkKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZGUgRS9TIG3DrW5pbW8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRlIEUvUyDDs3B0aW1vIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJvYnRlbmVyIG8gdGFtYcOxbyBkbyBibG9xdWUgZsOtc2ljbyAoc2VjdG9yKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZG8gYmxvcXVlIGzDs3hpY28gKHNlY3RvcikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIm9idGVyIHBvc2ljacOzbiBkZSBhbGnDsWFtZW50byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAzCittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJEaXNwb3NpdGl2bzogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICJGYWJyaWNhbnRlIGRvIGh5cGVydmlzb3I6IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NgorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MiBzeXMtdXRpbHMvbHNtZW0uYzo1MDYKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYxCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorIywgZnV6enkKK21zZ2lkICJraW5kIG9mIGxvY2siCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCisjLCBmdXp6eQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICJEZXNjb8OxZWNpZG8gKCUwMlgpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTgKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNiBzeXMtdXRpbHMvbHNucy5jOjkwNiBzeXMtdXRpbHMvcmZraWxsLmM6NTc1CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NgorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgImEgZXhlY3VjacOzbiBkZSAlcyBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiLi4uU2FsdGFuZG8gYW8gZmljaGVpcm8gIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJ1dGltZSBmYWxsb3U6ICglcykiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2FiZXphczoiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2FiZXphczoiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworbXNnaWQgIndyaXRlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworIywgZnV6enkKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgwCittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MworIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgInJlYWQgZmFsbG91OiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICJvIG5vbWUgZG8gdm9sdW1lIMOpIGRlbWFzaWFkbyBsb25nbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgIkVycm8gaW50ZXJubyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICIlcyBub24gY29udMOpbiBuaW5ndW5oYSBldGlxdWV0YSBkZSBkaXNjby5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNAorbXNnaWQgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhMSAgICAgICAgICBnZW5lcmF0ZSBzaGExIGhhc2hcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAidmFyaWFudCBuYW1lIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgIk1vZGVsbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQiCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpY2nDs25zOlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvIG5vZG8taSBpbmNvcnJlY3RvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOAorIywgZnV6enkKK21zZ2lkICJ0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlcyBmYWxsb3UuIgorbXNnc3RyWzFdICIlcyBmYWxsb3UuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgYSB0w6Fib2EgZGUgbm9kb3MtaSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1ODAKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIGEgdMOhYm9hIGRlIG5vZG9zLWkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmUiCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaGVhZGluZ3MgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbCIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlcyIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXMiCittc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo3MjQKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorIywgZnV6enkKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEVsaW1pbmFyIGEgcGFydGljacOzbiBhY3R1YWwiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAgZCAgICAgICAgICBFbGltaW5hciBhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiY29udmVydGVyIGEgaG9yYSBydGMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxOQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTM5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNgorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjEKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNCBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5MQorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMSBzeXMtdXRpbHMvYmxrem9uZS5jOjE3MyBzeXMtdXRpbHMvYmxrem9uZS5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiUmVwb3J0IHpvbmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdpdmVuIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZXNjcmliaXIgYSB0w6Fib2EgZGUgem9uYXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWNjZXNzZnVsbHkgcmVzZXQgaW4gcmFuZ2UgZnJvbSAlPFBSSXU2ND4sIHRvICU8UFJJdTY0PiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgc3BlY2lmaWVkIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkVzdGEgcGFydGljacOzbiBub24gw6kgdXPDoWJlbCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIm7Dum1lcm8gZGUgbGnDsWFzIG5vbiB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1NiBzeXMtdXRpbHMvY2htZW0uYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZW5hYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBkaXNhYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiJXMgZmFsbG91LlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI2NiBzeXMtdXRpbHMvbHNtZW0uYzo0NzYgc3lzLXV0aWxzL2xzbWVtLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAiYXZpc286IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnb1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgc3RhcnQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBlbmQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJWYWxvciBkZSBjaWxpbmRyb3MgaWxlZ2FsIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IGFkZHJlc3MgYW5kIChlbmQgYWRkcmVzcyArIDEpIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJhbWV0ZXI6ICVzIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJhbmdlOiAlcyIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpc2FibGUgICAgICBkaXNhYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NworbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDI5Cittc2dpZCAiem9uZSBpZ25vcmVkLCBubyB2YWxpZF96b25lcyBzeXNmcyBhdHRyaWJ1dGUgcHJlc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbWVtb3J5IHpvbmU6ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJlcnJvOiBub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMwCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorIywgZnV6enkKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA4Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDg4Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUyNgorIywgZnV6enkKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJsZXIgYSBob3JhIHJ0YyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDEKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiU8OzIHNlIGFkbWl0ZW4gYmxvcXVlcy96b25hcyBkZSAxayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjEKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg1Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg3Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA0Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMiBzeXMtdXRpbHMvZWplY3QuYzo0NTUgc3lzLXV0aWxzL2VqZWN0LmM6MTAwNgorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzUKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiYXZpc286IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnb1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODMKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBsZXIgb3Mgbm9kb3MtaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MSBzeXMtdXRpbHMvcnRjd2FrZS5jOjM5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgIkRpc3Bvc2l0aXZvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgdGl2byDDqXhpdG8uXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKKyMsIGZ1enp5Cittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuzogJXMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MgorbXNnaWQgIiAtaSwgLS1pbnNlcnQtcmFuZ2UgICBpbnNlcnQgYSBob2xlIGF0IHJhbmdlLCBzaGlmdGluZyBleGlzdGluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NgorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBmYWxsb3UiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1NAorbXNnaWQgInBvc2l4X2ZhbGxvY2F0ZSBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4OQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTgKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OQorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ0CisjLCBmdXp6eQorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MyBzeXMtdXRpbHMvbHNucy5jOjEwNjYgc3lzLXV0aWxzL3N3YXBvbi5jOjczMworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjU0Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoJWxkLiUwNmxkLCAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKK21zZ2lkICJVc2UgdGhlIC0tdmVyYm9zZSBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAibm9uIMOpIHBvc8OtYmVsIGxlciBvIHN1cGVyYmxvcXVlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gc2V0IHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7OiAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ICAgICAgICAgICAgZGlzcGxheSBkcmlmdCBjb3JyZWN0ZWQgUlRDIHRpbWUiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjcKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQgLSBUw6Fib2EgY29uIGZvcm1hdG8gZW4gY3LDuiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY5Cittc2dpZCAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXRlcG9jaCAgICAgICBkaXNwbGF5IHRoZSBSVEMgZXBvY2giCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbHRpbWUgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBMb2NhbCIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgImRlbWFzaWFkYXMgcMOheGluYXMgaW5jb3JyZWN0YXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjkKK21zZ2lkICItLWRhdGUgaXMgcmVxdWlyZWQgZm9yIC0tc2V0IG9yIC0tcHJlZGljdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5NworbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHJ0YyBkZXZpY2UiCittc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibGVyIGEgaG9yYSBkbyBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjMzCittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJsZXIgYSBob3JhIGRvIHNpc3RlbWEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDExCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImtleSBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiVmFsb3IgZGUgY2FiZXphcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAidGFtYcOxbyBkZSBub2RvLWkgaW5jb3JyZWN0byIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIm9idGVyIG8gdGFtYcOxbyBkZSBFL1MgbcOtbmltbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mjg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJvd25lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAia2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg4Cittc2dpZCAibmF0dGNoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg4Cittc2dpZCAic3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzEyIHN5cy11dGlscy9pcGNzLmM6MzE0IHN5cy11dGlscy9pcGNzLmM6MzE2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQzMCBzeXMtdXRpbHMvaXBjcy5jOjQzMiBzeXMtdXRpbHMvaXBjcy5jOjUzOAorIzogc3lzLXV0aWxzL2lwY3MuYzo1NDAgc3lzLXV0aWxzL2lwY3MuYzo1NDIgc3lzLXV0aWxzL2lwY3MuYzo1OTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk4IHN5cy11dGlscy9pcGNzLmM6NjI3IHN5cy11dGlscy9pcGNzLmM6NjI5CisjOiBzeXMtdXRpbHMvaXBjcy5jOjYzMSBzeXMtdXRpbHMvaXBjcy5jOjY1NQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6OTg3IHN5cy11dGlscy9sc2lwYy5jOjk5MworbXNnaWQgImRlc3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgInNlbWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAibnNlbXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCisjLCBmdXp6eQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJuY291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyBmYWxsb3UuXG4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2CisjLCBmdXp6eQorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGljacOzbnM6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAib2J0ZXIgcG9zaWNpw7NuIGRlIGFsacOxYW1lbnRvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSBsw7N4aWNvIChzZWN0b3IpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIHJhw616IGluY29ycmVjdG8gKCVsdSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTgKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IG5vbiDDqSB1biBkaXNwb3NpdGl2byBkZSBibG9xdWVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0OSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY1OSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3NAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODggc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODUKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSBsw7N4aWNvIChzZWN0b3IpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorbXNnaWQgIm5vbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk3Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSBsw7N4aWNvIChzZWN0b3IpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJvYnRlciBvIHRhbWHDsW8gZG8gYmxvcXVlIGzDs3hpY28gKHNlY3RvcikiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTgKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIm9idGVyIG8gdGFtYcOxbyBkbyBibG9xdWUgbMOzeGljbyAoc2VjdG9yKSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAwCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDEKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMgorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNAorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDUKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiZXJybzogbm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEzMDcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworIywgZnV6enkKK21zZ2lkICJOIgorbXNnc3RyICJOQyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIkFycXVpdGVjdHVyYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIk1vZG8ocykgT1AgZGEgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzQyCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorIywgZnV6enkKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJTb2NrZXQocykgZGEgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDgKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjgKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMworbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwOAorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMworbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxNQorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiU29ja2V0KHMpIGRhIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOb2RvKHMpIE5VTUE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI0Cittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiSUQgZG8gZmFicmljYW50ZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiRmFtaWxpYSBkbyBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJNb2RlbG8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKKyMsIGZ1enp5Cittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIk1vZGVsbyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNAorbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIk1oeiBkbyBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4CisjLCBmdXp6eQorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIk1oeiBkbyBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiTWh6IGRvIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJNaHogZG8gQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorIywgZnV6enkKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIk1oeiBkbyBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGl6YWNpw7NuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorIywgZnV6enkKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiRmFicmljYW50ZSBkbyBoeXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiRmFicmljYW50ZSBkbyBoeXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NworbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJUaXBvIGRlIHZpcnR1YWxpemFjacOzbjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJjaWxpbmRyb3MiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJjaWxpbmRyb3MiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIm9idGVuZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSBmw61zaWNvIChzZWN0b3IpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiT3BjacOzbnMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OTkgc3lzLXV0aWxzL2xzbWVtLmM6NjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiTW9kZWxvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJNYXJjYXIgZW4gdXNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiJXM6IE9yZGUgZGVzY2/DsWVjaWRhOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJFc3RhZG8gZG8gc2lzdGVtYSBkZSBmaWNoZXJpc289JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiVXNvOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiT3JkZXMgZGlzcG/DscOtYmVpczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIk9yZGVzIGRpc3Bvw7HDrWJlaXM6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODcgc3lzLXV0aWxzL2xzaXBjLmM6ODQ4IHN5cy11dGlscy9sc2lwYy5jOjEwNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIk9yZGVzIGRpc3Bvw7HDrWJlaXM6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTkwIHN5cy11dGlscy9sc2lwYy5jOjEwMTUKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MgorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIzOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBpcyByZW1vdmFibGUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICJub24gcXVlZGEgbWVtb3JpYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInZhbGlkIHpvbmVzIGZvciB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYxCittc2dpZCAib25saW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAib2J0ZXIgbyB0YW1hw7FvIGRvIGJsb3F1ZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAibm9uIHF1ZWRhIG1lbW9yaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICJub24gcXVlZGEgbWVtb3JpYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDcyCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ5OQorbXNnaWQgIkxpc3QgdGhlIHJhbmdlcyBvZiBhdmFpbGFibGUgbWVtb3J5IHdpdGggdGhlaXIgb25saW5lIHN0YXR1cy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIGxpc3QgZWFjaCBpbmRpdmlkdWFsIG1lbW9yeSBibG9ja1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMAorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICB1c2UgdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTEKK21zZ2lkICIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIC0tc3VtbWFyeSBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY2NCBzeXMtdXRpbHMvbHNucy5jOjc4MQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDYKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNworbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDgKK21zZ2lkICJuYW1lc3BhY2UgSUQgYXMgdXNlZCBieSBuZXR3b3JrIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxOQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOQorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgImF2aXNvOiBmb3JtYXRvIGRlIGNyYW1mcyBhbnRpZ29cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkxIHN5cy11dGlscy91bW91bnQuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiTm9uIHNlIGVuY29udHJvdSBvIHBhdHLDs24iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgImRpc2NvOiAlLipzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enkKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkVzdGFkbyBkbyBzaXN0ZW1hIGRlIGZpY2hlcmlzbz0lZFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAxIHN5cy11dGlscy91bW91bnQuYzo1MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNjEKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1hbGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAibGVyIGEgaG9yYSBkbyBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjkKKyMsIGZ1enp5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM4CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIgICB0ICAgQ2FtYmlhIG8gaWQgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3MgZGEgcGFydGljacOzbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgInRhbWHDsW8gZGUgbm9kby1pIGluY29ycmVjdG8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm8gbsO6bWVybyBkZSBibG9xdWVzIMOpIGRlbWFzaWFkbyBwZXF1ZW5vIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICIlbGQgYmxvcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIihTZWd1aW50ZSBmaWNoZWlybzogJXMpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICJVbmlkYWRlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NworbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjUKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcwCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgImVycm86IG5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDMKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAidG90YWwiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3NAorbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSAnJXMnIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAiVmFsb3IgZGUgY2FiZXphcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIHZhbHVlIgorbXNnc3RyICJVbmlkYWRlIGRlIGRpc2NvOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKK21zZ2lkICJzdGF0dXMgb2Ygc29mdHdhcmUgYmxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzNAorbXNnaWQgInN0YXR1cyBvZiBoYXJkd2FyZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IG5vbi1ibG9ja2luZyAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgc2l6ZSBvZiByZmtpbGwgZXZlbnQ6ICV6dSA8ICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwb2xsICVzIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzEzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaWRlbnRpZmllciIKK21zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICIlbGQgYmxvcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICIlbGQgYmxvcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDE1IHN5cy11dGlscy9yZmtpbGwuYzo0ODAgc3lzLXV0aWxzL3Jma2lsbC5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gY29tbWFuZCBbaWRlbnRpZmllciAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjkKK21zZ2lkICJUb29sIGZvciBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHdpcmVsZXNzIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTMKK21zZ2lkICIgZXZlbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk0CisjLCBmdXp6eQorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIlVuaWRhZGUgZGUgZGlzY286ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiVW5pZGFkZSBkZSBkaXNjbzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICJVbmlkYWRlIGRlIGRpc2NvOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE1Cittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJsZXIgYSBob3JhIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImxlciBhIGhvcmEgZG8gc2lzdGVtYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgImNvbnZlcnRlciBhIGhvcmEgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJlc3RhYmVsZWNlciBhIGFsYXJtYSBkZSBlc3BlcnRhciBkZSBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgIm9idGVyIHBvc2ljacOzbiBkZSBhbGnDsWFtZW50byIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJhY3RpdmFyIGEgYWxhcm1hIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgImNvbnZlcnRlciBhIGhvcmEgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IGFzdW1pbmRvIHF1ZSBSVEMgdXNhIFVUQyAuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVXNhbmRvIGEgaG9yYSBVVEMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiVXNhbmRvIGEgaG9yYSBsb2NhbC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzMKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiBub24gw6kgcG9zw61iZWwgbGVyIG9zIGV2ZW50b3MgZGUgaW5vdGlmeSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAicmVhZCBmYWxsb3U6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk4Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMworbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzYwCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJvIG5vZG8taSByYcOteiBub24gw6kgdW4gY2FydGFmb2wiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorIywgZnV6enkKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMQorIywgZnV6enkKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM1Cittc2dpZCAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbml0aWFsaXplIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgICAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICJBIGxpw7FhIMOpIGRlbWFzaWFkbyBsb25nYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworIywgZnV6enkKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJzZW4gZXRpcXVldGEsICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MDAKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjA5Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NQorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTAKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTMKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODMyCittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM4Cittc2dpZCAiZHVwbGljYXRlIC0taW5pdC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1OQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NjUKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzcKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg4MworbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODk5Cittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjMKK21zZ2lkICItLWluaXQtZ3JvdXBzIHJlcXVpcmVzIC0tcnVpZCBvciAtLXJldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZCAlbGQgbm90IGZvdW5kLCAtLWluaXQtZ3JvdXBzIHJlcXVpcmVzIGFuIHVzZXIgdGhhdCBjYW4gYmUgZm91bmQgb24gdGhlIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzMgorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0MAorbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQ4Cittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTU0Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKKyMsIGZ1enp5Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQ2FtYmlhciBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlyb3MiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExNworIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTIwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNAorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzQKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICIgICBkICAgZWxpbWluYXIgYSBwYXJ0aWNpw7NuIEJTRCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJNYXJjYXIgZW4gdXNvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAic2VuIGV0aXF1ZXRhLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICJlcnJvIGRlIGFuw6FsaXNlIG5hIGxpw7FhOiAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICJlcnJvIGRlIGFuw6FsaXNlIG5hIGxpw7FhOiAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIG5vZG9zLWkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODE2Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2OAorIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZzdGF0IGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE5MgorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA5Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjc4Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgZmFsbG91IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzA4Cittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIENhbWJpYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgZmljaGVpcm9zIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkby5cdCAiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiTm9uIHNlIGVuY29udHJvdSBvIHBhdHLDs24iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgIndyaXRlIGZhbG91OiAoJXMpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiICAgdCAgIENhbWJpYSBvIGlkIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIGRhIHBhcnRpY2nDs24iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJvcGVuIGZhbGxvdTogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgImF2aXNvOiBmb3JtYXRvIGRlIGNyYW1mcyBhbnRpZ29cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY2Cittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmFsbG91LlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorIywgZnV6enkKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICJPcmRlIGRlc2Nvw7FlY2lkYTogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NgorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzIKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0CisjLCBmdXp6eQorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkRpc3Bvc2l0aXZvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiVXNvOiBta2ZzIFstVl0gWy10IHRpcG8tZGUtZnNdIFtvcGNpb25zLWRvLWZzXSBkZXZpY2UgW3RhbWHDsW9dXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MQorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NHxsejRoY3xkZWZsYXRlfDg0MiAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjEKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk0IHN5cy11dGlscy96cmFtY3RsLmM6NzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlcyBmYWxsb3UuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzNyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxNDg0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MjYgdGVybS11dGlscy9hZ2V0dHkuYzoyMDkzIHRlcm0tdXRpbHMvYWdldHR5LmM6MjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gYW8gcmVzZXJ2YXIgbyBiw7pmZXIgZGUgc2HDrWRhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAicmVuaWNlIGRlc2RlICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgImRlc3ByYXphbWVudG8gZG9zIGRhdG9zIGRvIGZpY2hlaXJvIG5vbiB2w6FsaWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgwNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgImNvbnZlcnRlciBhIGhvcmEgcnRjIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA4Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIm8gbm9kby1pIHJhw616IG5vbiDDqSB1biBjYXJ0YWZvbCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQ0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IG5vbiBzZSBwb2RlIGFicmlyICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXMgZmFsbG91LiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2NQorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJ0aXBvOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzIGZhbGxvdS4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzAKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNworbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzgKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDgKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MworbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGZhbGxvdTogKCVzKSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorIywgZnV6enkKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidXRpbWUgZmFsbG91OiAoJXMpIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJhIGV4ZWN1Y2nDs24gZGUgJXMgZmFsbG91LiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiZGVzcHJhemFtZW50byBkb3MgZGF0b3MgZG8gZmljaGVpcm8gbm9uIHbDoWxpZG8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXNcbiIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBsZXI6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5CisjLCBmdXp6eQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVuIGZhbGxvdTogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMworbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAibyBuw7ptZXJvIGRlIGJsb3F1ZXMgw6kgZGVtYXNpYWRvIHBlcXVlbm8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiZGVtYXNpYWRhcyBww6F4aW5hcyBpbmNvcnJlY3RhcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2CisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3CisjLCBmdXp6eQorbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuyBwYXJhIGxlY3R1cmEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKK21zZ2lkICJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjdXJzb3IgcG9zaXRpb246ICVzIgorbXNnc3RyICJkZXNwcmF6YW1lbnRvIGRvcyBkYXRvcyBkbyBmaWNoZWlybyBub24gdsOhbGlkbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMTYgdGVybS11dGlscy9zZXR0ZXJtLmM6MTEyNQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJFcnJvIGludGVybm8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NworbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiRXJybyBpbnRlcm5vIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJvcGVuIGZhbGxvdTogJXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYmlmdXJjYXJcbiIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBnaWQiCittc2dzdHIgIiVzOiBPcmRlIGRlc2Nvw7FlY2lkYTogJXNcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjEzCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNgorbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgZmFsbG91IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG8uXHQgIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgY29sdW1uIG5hbWUgJyVzJyIKK21zZ3N0ciAiaGV4ZHVtcDogbm9uIMOpIHBvc8OtYmVsIGxlciAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiVmFsb3IgZGUgc2VjdG9yZXMgaWxlZ2FsIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1ub2V4dHJlbWUgbGlzdCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtd3JhcCBsaXN0IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLWhpZGUgbGlzdCIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS10cmVlIDxjb2x1bW4+ICAgICAgICAgICAgICBjb2x1bW4gdG8gdXNlIHRyZWUtbGlrZSBvdXRwdXQgZm9yIHRoZSB0YWJsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1Cittc2dpZCAiIC1pLCAtLXRyZWUtaWQgPGNvbHVtbj4gICAgICAgICAgIGxpbmUgSUQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgY2FiZXphczoiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vdXRwdXQtd2lkdGggPHdpZHRoPiAgICAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjAKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3MzEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJhY3RpdmFyIGEgYWxhcm1hIHJ0YyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAiaGV4ZHVtcDogY29udmVyc2nDs24gZGUgY2FyYWN0ZXJlcyBpbmNvcnJlY3RhICUlJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiaGV4ZHVtcDogY29udmVyc2nDs24gZGUgY2FyYWN0ZXJlcyBpbmNvcnJlY3RhICUlJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJoZXhkdW1wOiBjb252ZXJzacOzbiBkZSBjYXJhY3RlcmVzIGluY29ycmVjdGEgJSUlcy5cbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBJbXByaW1pIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIMOhIHBhbnRhbGxhIG91IGEgdW4gZmljaGVpcm8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEltcHJpbWkgYSB0w6Fib2EgZGUgcGFydGljacOzbnMgw6EgcGFudGFsbGEgb3UgYSB1biBmaWNoZWlybyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQzCittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcmlvXHQgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBOb24gw6kgdW4gZmljaGVpcm8gZGUgdGV4dG8gKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW1VzZSBxIG91IFEgcGFyYSBzYcOtcl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1Nw6Fpcy0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoU2VndWludGUgZmljaGVpcm86ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW1ByZW1hIGVzcGFjaW8gcGFyYSBjb250aW51YXIsIMKrccK7IHBhcmEgc2HDrXJdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLmF0csOhcyAlZCBww6F4aW5hcyIKK21zZ3N0clsxXSAiLi4uYXRyw6FzICVkIHDDoXhpbmFzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4ub21pdGluZG8gJWQgbGnDsWFzIgorbXNnc3RyWzFdICIuLi5vbWl0aW5kbyAlZCBsacOxYXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjkKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqQXRyw6FzKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJOb24gaGFpIHVuIGZpY2hlaXJvIGFudGVyaW9yIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzE0Cittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1ByZW1hIMKraMK7IHBhcmEgY29uc3VsdGFyIGFzIGluc3RydWNpw7Nuc10iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIsKrJXPCuyBsacOxYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW05vbiDDqSB1biBmaWNoZWlyb10gbGnDsWEgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgRGVzYm9yZGFtZW50b1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTY0Cittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4ub21pdGluZG9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiTm9uIHNlIGVuY29udHJvdSBvIHBhdHLDs25cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYwNCB0ZXh0LXV0aWxzL3BnLmM6MTAzNSB0ZXh0LXV0aWxzL3BnLmM6MTE4MQorbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICJOb24gc2UgZW5jb250cm91IG8gcGF0csOzbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAibm9uIHNlIHBvZGUgYmlmdXJjYXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5TYWx0YW5kbyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5TYWx0YW5kbyBhbyBmaWNoZWlybyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDYKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi5SZXRyb2NlZGVuZG8gYW8gZmljaGVpcm8gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiQSBsacOxYSDDqSBkZW1hc2lhZG8gbG9uZ2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMzIKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTIKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgSW1wcmltaSBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyDDoSBwYW50YWxsYSBvdSBhIHVuIGZpY2hlaXJvIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDIKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDYKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NworbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiBvcGNpw7NuIGlsZWdhbCAtLSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY3Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi5vbWl0aW5kbyBjYXJhIGFkaWFudGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLm9taXRpbmRvIGNhcmEgYXRyw6FzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODUKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIk5vbiBoYWkgdW4gc2VndWludGUgZmljaGVpcm8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJOb24gaGFpIHVuIGZpY2hlaXJvIGFudGVyaW9yIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBsZXI6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgImEgZXhlY3VjacOzbiBkZSAlcyBmYWxsb3UuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0OQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiRXJybyBkZSBSRTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRU9GKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMzAgdGV4dC11dGlscy9wZy5jOjExNTYKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIkNhZGVhIGRlIGJ1c2NhIG5vbiBsZW1icmFkYSIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJub24gc2UgcG9kZSBhYnJpciAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAiZ2FyZGFkbyIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIGZhbGxvdSwgdMOpbnRlbyBtw6FpcyB0YXJkZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKFNlZ3VpbnRlIGZpY2hlaXJvOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODEKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAiU2VjdWVuY2lhIGRlIGVzY2FwZSBkZXNjb8OxZWNpZGEgbmEgZW50cmFkYTogJW8sICVvXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKKyMsIGZ1enp5Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIkEgbGnDsWEgZGUgZW50cmFkYSDDqSBkZW1hc2lhZG8gbG9uZ2EuXG4iCisKKyN+IG1zZ2lkICJHZW9tZXRyeSIKKyN+IG1zZ3N0ciAiWGVvbWV0csOtYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7OiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgIk5vbiBzZSBwb2RlIGVmZWN0dWFyIMKrc3RhdMK7IHNvYnJlIG8gZGlzcG9zaXRpdm8gJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAiJXMgbmVjZXNpdGEgdW4gYXJndW1lbnRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorI34gbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYnVzY2FyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCisjfiBtc2dzdHIgIk9yZGVzIGRpc3Bvw7HDrWJlaXM6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCisjfiBtc2dzdHIgIk9yZGVzIGRpc3Bvw7HDrWJlaXM6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCisjfiBtc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorI34gbXNnc3RyICJPcmRlcyBkaXNwb8Oxw61iZWlzOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKKyN+IG1zZ3N0ciAibyBub21lIGRvIHNpc3RlbWEgZGUgZmljaGVpcm9zIMOpIGRlbWFzaWFkbyBsb25nbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCisjfiBtc2dzdHIgIiVzIGZhbGxvdS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJlcnJvOiBub24gc2UgcG9kZSBhYnJpciAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIiAgdCAgICAgICAgICBDYW1iaWFyIG8gdGlwbyBkZSBzaXN0ZW1hIGRlIGZpY2hlaXJvcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICIlczogZnN0YXQgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgIk9yZGUgZGVzY2/DsWVjaWRhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCisjfiBtc2dzdHIgIk5vbiBzZSBlbmNvbnRyb3UgbyBwYXRyw7NuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjaWxpbmRyb3M6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgImF2aXNvOiBmb3JtYXRvIGRlIGNyYW1mcyBhbnRpZ29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgImF2aXNvOiBmb3JtYXRvIGRlIGNyYW1mcyBhbnRpZ29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgZmljaGVyaXNvPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiRXJybyBpbnRlcm5vIgorCisjLCBmdXp6eQorI34gbXNnaWQgInR0eSBwYXRoICVzIHRvbyBsb25nIgorI34gbXNnc3RyICJBIGxpw7FhIGRlIGVudHJhZGEgw6kgZGVtYXNpYWRvIGxvbmdhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICJlcnJvIGRlIGFuw6FsaXNlIG5hIGxpw7FhOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgImVycm8gZGUgYW7DoWxpc2UgbmEgbGnDsWE6ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgbm9uIMOpIHVuIGRpc3Bvc2l0aXZvIGRlIGJsb3F1ZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIiVzIGZhbGxvdS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZG0gbmFtZSIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibm9uIMOpIHBvc8OtYmVsIHJlc2VydmVyIG8gYsO6ZmVyIHBhcmEgbyBzdXBlcmJsb3F1ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCByZXNlcnZhciBvIGLDumZlciBwYXJhIG8gbWFwYSBkZSB6b25hcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgcmVzZXJ2YXIgbyBiw7pmZXIgcGFyYSBvcyBub2Rvcy1pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk51bWJlciBvZiBTZW1hcGhvcmUgSURzIgorI34gbXNnc3RyICJvIG7Dum1lcm8gZGUgYmxvcXVlcyDDqSBkZW1hc2lhZG8gcGVxdWVubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJVc286ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgZXRpcXVldGFdIFstVSBVVUlEXSAvZGV2L25vbWUgW2Jsb3F1ZXNdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICJ0YW1hw7FvIGRlIG5vZG8taSBpbmNvcnJlY3RvIgorCisjLCBmdXp6eQorI34gbXNnaWQgInR5cGU6ICVkIgorI34gbXNnc3RyICJ0aXBvOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRpc2s6ICUuKnMiCisjfiBtc2dzdHIgImRpc2NvOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgImV0aXF1ZXRhOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJvcGNpw7NuczoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJ5dGVzIHBvciBzZWN0b3I6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAic2VjdG9yZXMgcG9yIHBpc3RhOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAicGlzdGFzIHBvciBjaWxpbmRybzogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJzZWN0b3JlcyBwb3IgY2lsaW5kcm86ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjaWxpbmRyb3M6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInIucC5tLjogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZCIKKyN+IG1zZ3N0ciAiaW50ZXJsZWF2ZTogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3NrZXc6ICVkIgorI34gbXNnc3RyICJ0cmFja3NrZXc6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiY3lsaW5kZXJza2V3OiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiY2FtYmlvIGRlIGNhYmV6YTogJWxkXHRcdCMgbWlsaXNlZ3VuZG9zXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJidXNjYSBkZSBwaXN0YS1hLXBpc3RhOiAlbGRcdCMgbWlsaXNlZ3VuZG9zXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgInN5bWxpbmsgZmFsbG91OiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBmc3RhdCBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXN0YWJlbGVjZXIgYSBhbGFybWEgcnRjIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJhY3RpdmFyIGEgYWxhcm1hIHJ0YyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmVhZCBmYWxsb3U6ICVzIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDCq25vbsK7IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJ2b2x2ZSBhIGxlciBhIHTDoWJvYSBkZSBwYXJ0aWNpw7NucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic3RhdCBmYWxsb3U6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgIm5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIkRlc2V4YSBjcmVhciB1bmhhIGV0aXF1ZXRhIGRlIGRpc2NvPyAoeS9uKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBidXNjYXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAiZXJybzogbm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7IHBhcmEgbGVjdHVyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImVycm86IG5vbiBzZSBwb2RlIGFicmlyICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkZlaXRvIHNlbiBjYW1iaWFyIGEgeGVvbWV0csOtYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIm5vbiBzZSBwb2RlIG9idGVyIG8gdGFtYcOxbyBkZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJlcnJvOiBub24gc2UgcG9kZSBhYnJpciAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiT3JkZSBkZXNjb8OxZWNpZGE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50LiIKKyN+IG1zZ3N0ciAiRXN0YSBwYXJ0aWNpw7NuIG5vbiDDqSB1c8OhYmVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXMiCisjfiBtc2dzdHIgIkF2aXNvOiBhIGNvbnRhIGRlIG5vZG9zLWkgw6kgZGVtYXNpYWRvIGdyYW5kZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiQXZpc286IGEgY29udGEgZGUgbm9kb3MtaSDDqSBkZW1hc2lhZG8gZ3JhbmRlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2siCisjfiBtc2dzdHIgImF2aXNvOiBvIGZpY2hlaXJvIHBhc2EgZG8gZmluYWwgZG8gc2lzdGVtYSBkZSBmaWNoZWlyb3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQXZpc286IGEgY29udGEgZGUgbm9kb3MtaSDDqSBkZW1hc2lhZG8gZ3JhbmRlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQXZpc286IGEgY29udGEgZGUgbm9kb3MtaSDDqSBkZW1hc2lhZG8gZ3JhbmRlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIk5vbiBoYWkgbcOhaXMgcGFydGljacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgIk5vbiBoYWkgbcOhaXMgcGFydGljacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyByb29tIGZvciBwYXJ0aXRpb24gZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJOb24gaGFpIG3DoWlzIHBhcnRpY2nDs25zIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkcyIKKyN+IG1zZ3N0ciAiZGVtYXNpYWRhcyBww6F4aW5hcyBpbmNvcnJlY3RhcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbGxlZ2FsIHR5cGUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGNhYmV6YXMgaWxlZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVsaW1pbmFyIHVuaGEgcGFydGljacOzbiBiYWxlaXJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJFc3RhIHBhcnRpY2nDs24gbm9uIMOpIHVzw6FiZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTm9uIGhhaSBtw6FpcyBwYXJ0aWNpw7NucyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIm7Dum1lcm8gZGUgbGnDsWFzIG5vbiB2w6FsaWRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7IHBhcmEgbGVjdHVyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuyBwYXJhIGxlY3R1cmEiCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJGZWl0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJlcnJvOiBub24gc2UgcG9kZSBhYnJpciAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIiVzOiBub24gw6kgdW4gZGlzcG9zaXRpdm8gZGUgYmxvcXVlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIGZhbGxvdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiByZW1vdmFibGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIi4uLmF0csOhcyAxIHDDoXhpbmEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4ub21pdGluZG8gdW5oYSBsacOxYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbm8tYXJndW1lbnQgICAgICAgb3B0aW9uIGRvZXMgbm90IHVzZSBhcmd1bWVudFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICIlcyBuZWNlc2l0YSB1biBhcmd1bWVudG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1mLCAtLWZvb2JhciAgICAgICAgICAgIG5leHQgb3B0aW9uIGRlc2NyaXB0aW9uIHJlc2V0cyBpbmRlbnRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6Fib2Egb3JkZW5hZGEgcG9yIHNlY3RvcmVzIgorCisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICJjb21waWxhZG8gc2VuIGEgY29tcGF0aWJpbGlkYWRlIHBhcmEgLXgiCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IE5vbiBxdWVkYSBtZW1vcmlhIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICJ3cml0ZSBmYWxvdTogKCVzKSIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIENhbWJpYXIgb3MgcGFyw6FtZXRyb3MgZGUgY2lsaW5kcm9zLCBjYWJlemFzIGUgc2VjdG9yZXMgcG9yIHBpc3RhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEFWSVNPOiBFc3RhIG9wY2nDs24gZGViZXLDrWEgdXNhcnNlIHPDsyBwb3IgcGVyc29hcyBxdWUiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGNvw7FlY2VuIG8gZnVuY2lvbmFtZW50byBkYSBtZXNtYS4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBNYXhpbWl6YSBvIHVzbyBkbyBkaXNjbyBwb2xhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE5vdGE6IElzdG8gcG9kZXLDrWEgZmFjZXIgYSBwYXJ0aWNpw7NuIG5vbiBjb21wYXTDrWJlbCBjb24iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEhhaSB2YXJpb3MgZm9ybWF0b3MgZGUgcGFydGljacOzbiBwYXJhIGEgcGFydGljacOzbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgZW50cmUgb3MgcXVlIHBvZGUgZWxpeGlyOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIERhdG9zIGVuIGNyw7ogKGV4YWN0YW1lbnRlIGNvbW8gZGViZXLDrWFuIGVzY3JpYmlyc2Ugbm8gZGlzY28pIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVMOhYm9hIG9yZGVuYWRhIHBvciBzZWN0b3JlcyIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICBDYW1iaWEgYXMgdW5pZGFkZXMgZGUgdmlzdWFsaXphY2nDs24gZG8gdGFtYcOxbyBkYSBwYXJ0aWNpw7NuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgQWx0ZXJuYSBlbnRyZSBNQiwgc2VjdG9yZXMgZSBjaWxpbmRyb3MuIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIFZvbHZlIGEgZGVidXhhciBhIHBhbnRhbGxhIgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgSW1wcmltZSBlc3RhIHBhbnRhbGxhIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJDYW1iaWFyIGEgeGVvbWV0csOtYSBkZSBjaWxpbmRyb3MiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiQ2FtYmlhciBhIHhlb21ldHLDrWEgZGUgY2FiZXphcyIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkNhbWJpYXIgYSB4ZW9tZXRyw61hIGRlIHNlY3RvcmVzIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJGZWl0byBzZW4gY2FtYmlhciBhIHhlb21ldHLDrWEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgY2lsaW5kcm9zIGlsZWdhbCIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGNhYmV6YXMgaWxlZ2FsIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIHNlY3RvcmVzIHBvciBwaXN0YToiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTMOzeCIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICJEZXNjb8OxZWNpZG8gKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIlVuaWRhZGUgZGUgZGlzY286ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiVGFtYcOxbzogJWxsZCBieXRlcywgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiVGFtYcOxbzogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJDYWJlemFzOiAlZCAgIFNlY3RvcmVzIHBvciBwaXN0YTogJWQgICBDaWxpbmRyb3M6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIiBUaXBvIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiVGlwbyBkZSBTLkYuIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW0V0aXF1ZXRhXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAgU2VjdG9yZXMiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRyb3MiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBUYW1hw7FvIChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBUYW1hw7FvIChHQikiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiQ2FtYmlhciBhIHhlb21ldHLDrWEgZG8gZGlzY28gKHPDsyBleHBlcnRvcykiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiTWF4aW1pemFyIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1heGltaXphciBvIHVzbyBkZSBkaXNjbyBkYSBwYXJ0aWNpw7NuIGFjdHVhbCAoc8OzIGV4cGVydG9zKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJJbXByaW1pciIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIkNhbWJpYSBvIHRpcG8gZGUgc2lzdGVtYSBkZSBmaWNoZWlzbyAoRE9TLCBMaW51eCwgT1MvMiwgZXRjLikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiVW5pZGFkZXMiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJDYW1iaWFyIGFzIHVuaWRhZGVzIGRlIHZpc3VhbGl6YWNpw7NuIGRvIHRhbWHDsW8gZGEgcGFydGljacOzbiAoTUIsIHNlY3QsIGNpbCkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGZhY2VyIGVzdGEgcGFydGljacOzbiBhcnJpbmPDoWJlbCIKKworI34gbXNnaWQgIkNhbm5vdCBkZWxldGUgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgZWxpbWluYXIgdW5oYSBwYXJ0aWNpw7NuIGJhbGVpcmEiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5vbiDDqSBwb3PDrWJlbCBtYXhpbWl6YXIgZXN0YSBwYXJ0aWNpw7NuIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIkVzdGEgcGFydGljacOzbiB4YSBlc3TDoSBlbiB1c28iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGNhbWJpYXIgbyB0aXBvIGR1bmhhIHBhcnRpY2nDs24gYmFsZWlyYSIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiT3JkZSBpbGVnYWwiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIFTDoWJvYSBvcmRlbmFkYSBwb3Igc2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAgZCAgICAgICAgICBFbGltaW5hciBhIHBhcnRpY2nDs24gYWN0dWFsIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICJJbnRyb2R1emEgbyBuw7ptZXJvIGRlIGNpbGluZHJvczoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAiSW50cm9kdXphIG8gbsO6bWVybyBkZSBjYWJlemFzOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCisjfiBtc2dzdHIgIkludHJvZHV6YSBvIG7Dum1lcm8gZGUgc2VjdG9yZXMgcG9yIHBpc3RhOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOciIKKyN+IG1zZ3N0ciAiTkMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJFc3RhYmVsZWNlciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICIlbGQgYmxvcXVlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiICAgIFNlY3RvcmVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIk9wY2nDs25zIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczogbm9uIHNlIHBvZGUgYWJyaXIgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wZGV2IGNvbnRleHQiCisjfiBtc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGZvdW5kIGZyZWUgbG9vcCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCBzZXR0aW5nIHVwIGxvb3AgZGV2aWNlOiAlbSIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBjaGRpciB0byAlczogJW0iCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aHJlc2hvbGQgZm9yICVzIgorI34gbXNnc3RyICJub24gc2UgcG9kZSBvYnRlciBvIHRhbWHDsW8gZGUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGNpbGluZHJvcyBpbGVnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGNhYmV6YXMgaWxlZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgImNvbnZlcnRlciBhIGhvcmEgcnRjIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJjb252ZXJ0ZXIgYSBob3JhIHJ0YyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuyBwYXJhIGxlY3R1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJBIGxpw7FhIMOpIGRlbWFzaWFkbyBsb25nYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImVzdGFiZWxlY2UgbyB0YW1hw7FvIGRvIGJsb3F1ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICJyZWFkIGZhbGxvdTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIG5hIGJ1c2NhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgIndyaXRlIGZhbG91OiAoJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAidm9sdmUgYSBsZXIgYSB0w6Fib2EgZGUgcGFydGljacOzbnMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgIiVzIGZhbGxvdS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzIG5lY2VzaXRhIHVuIGFyZ3VtZW50b1xuIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgInVzbzpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHROT1RFOiBlbHZ0dW5lIHPDsyBmdW5jaW9uYSBjb24gbsO6Y2xlb3MgMi40XG4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiZmFsdGEgbyBkaXNwb3NpdGl2byBkZSBibG9xdWVzLCB1c2UgLWggcGFyYSBvYnRlciBheHVkYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImVsdnR1bmUgaXMgb25seSB1c2VmdWwgb24gb2xkZXIga2VybmVscztcbiIKKyN+ICJmb3IgMi42IHVzZSBJTyBzY2hlZHVsZXIgc3lzZnMgdHVuYWJsZXMgaW5zdGVhZC4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJlbHZ0dW5lIHPDsyDDqSDDunRpbCBwYXJhIG9zIGtlcm5lbHMgYW50aWdvcztcbiIKKyN+ICJwYXJhIGEgdmVyc2nDs24gMi42IHVzZSBubyBsdWdhciBJTyBzY2hlZHVsZXIgc3lzZnMgdHVuYWJsZXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWRpdGlvbiBudW1iZXIgYXJndW1lbnQgZmFpbGVkIgorI34gbXNnc3RyICJhY3RpdmFyIGEgYWxhcm1hIHJ0YyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXNvOlxuIgorI34gIkltcHJpbWlyIGEgdmVyc2nDs246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIkltcHJpbWlyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3BjacOzbnNdIGRpc3Bvc2l0aXZvXG4iCisjfiAiVXNvIGludGVyYWN0aXZvOlxuIgorI34gIiAgICAgICAgJXMgW29wY2lvbnNdIGRpc3Bvc2l0aXZvXG4iCisjfiAiXG4iCisjfiAiT3BjacOzbnM6XG4iCisjfiAiLWE6IFVzYXIgdW5oYSBmcmVjaGEgbm8gbHVnYXIgZG8gcmVzYWx0YWRvO1xuIgorI34gIi16OiBJbmljaWFyIHVuaGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIGNlcm8sIG5vIGx1Z2FyIGRlIGxlciBvIHB0IGRlc2RlIG8gZGlzY287XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IEV2aXRhciBhIGlkZWEgZG8ga2VybmVsIGRvIG7Dum1lcm8gZGUgY2lsaW5kcm9zLFxuIgorI34gIiAgICAgICAgICAgICAgICBvIG7Dum1lcm8gZGUgY2FiZXphcyBlIG8gbsO6bWVybyBkZSBzZWN0b3Jlcy9waXN0YS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJFc2NyaWJpbmRvIGEgZXRpcXVldGEgZG8gZGlzY28gZW4gJXMuXG4iCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZHJpdmVkYXRhOiAiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICBpbmljaSAgICAgICBmaW4gICAgICB0YW1hICAgICB0aXBvZnMgICBbdGFtLWYgdGFtLWIgICBjcGddXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIDw9IHNlY3RvcnMvdHJhY2sgKiB0cmFja3MvY3lsaW5kZXIgKGRlZmF1bHQpLlxuIgorI34gbXNnc3RyICJEZWJlIHNlciA8PSBzZWN0b3Jlcy9waXN0YSAqIHBpc3Rhcy9jaWxpbmRybyAodmFsb3IgcHJlZGVmaW5pZG8pLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQYXJ0aWNpw7NuIChhLSVjKTogIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGVzY3JpYmlyIG5vZG9zLWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmF0YWwgZXJyb3IiCisjfiBtc2dzdHIgIkVycm8gaW50ZXJubyIKKworI34gbXNnaWQgIkNvbW1hbmQgYWN0aW9uIgorI34gbXNnc3RyICJBY2Npw7NuIGRhIG9yZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIgICAgU2VjdG9yZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ3JlYXRlZCBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgInZvbHZlIGEgbGVyIGEgdMOhYm9hIGRlIHBhcnRpY2nDs25zIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgIndyaXRlIGZhbG91OiAoJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJwcm9kdWNpdXNlIHVuIGZhbGxvIGFvIHJlc2VydmFyIG8gYsO6ZmVyIGRlIHNhw61kYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFdGlxdWV0YSBCU0QgcGFyYSBvIGRpc3Bvc2l0aXZvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgZmFsbG91IgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgImFjdGl2YXIgYSBhbGFybWEgcnRjIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgb2J0ZXIgbyB0YW1hw7FvIGRlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICIlcyBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgKHByb2JhYmx5IHVua25vd24gZW5jcnlwdGlvbiB0eXBlKSIKKyN+IG1zZ3N0ciAiJXMgZmFsbG91LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyIMKrJXPCuzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3ZwIGZhaWxlZCIKKyN+IG1zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBuYSBidXNjYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlczogdmVyc2nDs24gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgIkVycm8gaW50ZXJubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZGV2aWNlICVzIgorI34gbXNnc3RyICJOb24gc2UgcG9kZSBlZmVjdHVhciDCq3N0YXTCuyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIGFicmlyICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAicHJvZHVjaXVzZSB1biBmYWxsbyBhbyByZXNlcnZhciBvIGLDumZlciBkZSBzYcOtZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICIlcyBmYWxsb3UuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAibyBub2RvLWkgcmHDrXogbm9uIMOpIHVuIGNhcnRhZm9sIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gXCIlc1wiIGZvciByZWFkIgorI34gbXNnc3RyICJOb24gw6kgcG9zw61iZWwgYWJyaXIgwqslc8K7IHBhcmEgbGVjdHVyYSIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IFwiJXNcIiIKKyN+IG1zZ3N0ciAiTm9uIHNlIHBvZGUgZWZlY3R1YXIgwqtzdGF0wrsgc29icmUgbyBkaXNwb3NpdGl2byAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vZG8gZGUgZW1wbGVvOiAlcyBbLWh2XSBbLXggZGlyXSBmaWNoZWlyb1xuIgorI34gIiAtaCAgICAgICAgIG1vc3RyYSBlc3RhIGF4dWRhXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFlIGVuIGRpclxuIgorI34gIiAtdiAgICAgICAgIMOpIG3DoXMgZXhwbGljYXRpdm9cbiIKKyN+ICIgZmljaGVpcm8gICAgZmljaGVpcm8gcXVlIHNlIGNvbXByb2JhXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbJ2xhcnZzbWZdIC9kZXYvbm9tZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIlZhbG9yIGRlIHNlY3RvcmVzIGlsZWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgIiVzOiBwcm9kdWNpdXNlIHVuIGVycm8gYW8gYWJyaXI6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAibm9uIHNlIHBvZGUgYWJyaXIgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpZ3ZhbCIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJhdmlzbzogZm9ybWF0byBkZSBjcmFtZnMgYW50aWdvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICIlczogcHJvZHVjaXVzZSB1biBlcnJvIGFvIGFicmlyOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzZWNvbmRzIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSBzZWN0b3JlcyBpbGVnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAibyBibG9xdWUgZGUgZGF0b3Mgw6kgZGVtYXNpYWRvIGxvbmdvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAlZDogcGFyc2UgZXJyb3IgLS0gbGluZSBpZ25vcmVkLlxuIgorI34gbXNnc3RyICJlcnJvIGRlIGFuw6FsaXNlIG5hIGxpw7FhOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHBhcnNlICVzIgorI34gbXNnc3RyICJhdmlzbzogZm9ybWF0byBkZSBjcmFtZnMgYW50aWdvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgIiVzIGZhbGxvdS5cbiIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIENhbWJpYSBhcyB1bmlkYWRlcyAoY2lsaW5kcm9zL3NlY3RvcmVzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IHByb2R1Y2l1c2UgdW4gZXJybyBhbyBhYnJpcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRwd25hbSBmYWlsZWQiCisjfiBtc2dzdHIgInByb2R1Y2l1c2UgdW4gZmFsbG8gbmEgYnVzY2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAibyBub21lIGRvIHZvbHVtZSDDqSBkZW1hc2lhZG8gbG9uZ28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcGNpw7NuXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3BjacOzbl1cbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW2Rpc3Bvc2l0aXZvc11cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBvcmRlcyBkaXNwb3NpdGl2b3NcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgInVzbzogJXMgWyAtbiBdIGRpc3Bvc2l0aXZvXG4iCisKKyN+IG1zZ2lkICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBlcnJvIGRlIGFuw6FsaXNlIGRhIG9wY2nDs25cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJVc286ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAlcyBbLXZdIFstTiBuby1kZS1ub2Rvcy1pXSBbLVYgbm9tZS1kby12b2x1bWVdXG4iCisjfiAiICAgICAgIFstRiBub21lLWRvLWZzXSBkZXZpY2UgW2NvbnRhLWRlLWJsb3F1ZXNdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wY2nDs25dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgInVzbzogJXMgWyAtbiBdIGRpc3Bvc2l0aXZvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAidXNvOiAlcyBbIC1uIF0gZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IG5vbiDDqSBwb3PDrWJlbCBsZXIgJXMuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAidXNvOiB0YWlsZiBbLW4gTiB8IC1OXSBmaWNoZWlyby1kZS1sb2ciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAidXNvOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWNoZWlyby4uLlxuIgorCisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAiZXJybyBkZSBhbsOhbGlzZSBuYXMgbGnDsWFzOiAiCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiB1bmtub3duIHVzZXJcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogdXN1YXJpbyBkZXNjb8OxZWNpZG9cbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IGNvbnN1bHRlIHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJOb24gcXVlZGEgbWVtb3JpYVxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiTm9uIMOpIHBvc8OtYmVsIHJlc2VydmFyIG8gYsO6ZmVyLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJOb24gaGFpIHN1ZmljaWVudGUgbWVtb3JpYSBwYXJhIGluY3JlbWVudGFyIG8gdGFtYcOxbyBkbyBiw7pmZXIuXG4iCmRpZmYgLS1naXQgYS9wby9oci5wbyBiL3BvL2hyLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjNGU3YmYKLS0tIC9kZXYvbnVsbAorKysgYi9wby9oci5wbwpAQCAtMCwwICsxLDE5ODM0IEBACisjIFRyYW5zbGF0aW9uIG9mIHV0aWwtbGludXggdG8gQ3JvYXRpYW4uCisjIENvcHlyaWdodCDCqSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBUb21pc2xhdiBLcnpuYXIgPHRvbWlzbGF2Lmtyem5hckBnbWFpbC5jb20+LCAyMDEyLCAyMDEzLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjIzLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTA0LTE4IDE2OjM2KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFRvbWlzbGF2IEtyem5hciA8dG9taXNsYXYua3J6bmFyQGdtYWlsLmNvbT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBDcm9hdGlhbiA8bG9rYWxpemFjaWphQGxpbnV4LmhyPlxuIgorIkxhbmd1YWdlOiBoclxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MzsgcGx1cmFsPShuJTEwPT0xICYmIG4lMTAwIT0xMSA/IDAgOiBuJTEwPj0yICYmIG4lMTA8PTQgJiYgKG4lMTAwPDEwIHx8IG4lMTAwPj0yMCkgPyAxIDogMik7XG4iCisiWC1HZW5lcmF0b3I6IEd0cmFuc2xhdG9yIDIuOTEuNlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPHVyZcSRYWogZGlza2E+IDxicm9qIHBhcnRpY2lqZT4gPHBvxI1ldGFrPiA8ZHVsamluYT5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIHBhcnRpY2lqZSBrYW8gYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEwCittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZHVsamluZSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAicG9zdGF2aSBzYW1vIHphIMSNaXRhbmplIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAicG9zdGF2aSB6YSDEjWl0YW5qZSBpIHBpc2FuamUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIm90a3JpaiBzYW1vIHphIMSNaXRhbmplIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIm90a3JpaiBzdGFuamUgcG9kcsWha2UgemEgb2RiYWNpdmFuamUgbnVsYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSBsb2dpxI1rb2cgYmxva2EgKHNla3RvcmEpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSBmaXppxI1rb2cgYmxva2EgKHNla3RvcmEpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm90a3JpaiBuYWptYW5qdSBVL0kgdmVsacSNaW51IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm90a3JpaiBvcHRpbWFsbnUgVS9JIHZlbGnEjWludSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJvdGtyaWogcG9tYWsgcG9yYXZuYW5qYSB1IGJhanRvdmltYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAib3RrcmlqIG5hanZlxIdpIGJyb2ogc2VrdG9yYSBwbyB6YWh0amV2dSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgIm90a3JpaiB2ZWxpxI1pbnUgYmxva2EiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIm90a3JpaiAzMi1iaXRuaSBicm9qIHNla3RvcmEgKHphc3RhcmplbG8sIGtvcmlzdGl0ZSAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJvdGtyaWogdmVsacSNaW51IHUgYmFqdG92aW1hIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAicG9zdGF2aSDEjWl0YW5qZSB1bmFwcmlqZWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJvdGtyaWogxI1pdGFuamUgdW5hcHJpamVkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJwb3N0YXZpIMSNaXRhbmplIHVuYXByaWplZCBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJvdGtyaWogxI1pdGFuamUgdW5hcHJpamVkIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJpc3ByYXpuaSBtZcSRdXNwcmVtbmlrZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NgorIywgZnV6enkKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICIlczogdXJlxJFhaiBqZSBuZXByYXZpbG5vIHBvcmF2bmFuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAibmUgbW9ndSBvdGtyaXRpIHZlbGnEjWludSB1cmXEkWFqYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIHphaHRpamV2YSBhcmd1bWVudCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4NyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICJpb2N0bCBncmXFoWthIG5hICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIGplIHVzcGlvLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4Cittc2dpZCAiUmVzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiTmV3IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MSBsaWJmZGlzay9zcmMvYnNkLmM6NDM4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMSBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OQorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMjYKK21zZ2lkICJUeXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJIZWxwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJTb3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjQyIGRpc2stdXRpbHMvZmRpc2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyBqZSBtb250aXJhblxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTcKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiU3RhbmplIGRhdG90ZcSNbm9nIHN1c3RhdmE9JWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjAKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIlVyZcSRYWo6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSB1IGJhanRvdmltYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSB1IGJhanRvdmltYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDgKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA2MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIMSNaXRhdGk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTkgZGlzay11dGlscy9mZGlzay5jOjEwNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg4Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKKyMsIGZ1enp5Cittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMDEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICIgICAgICAgIChvdGtyaXZlbmEgJXMgcGFydGljaWpza2EgdGFibGljYSkuICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0Cittc2dpZCAiTmV3IHNpemU6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzOSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgInllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIndyaXRlIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIm5pc2FtIHVzcGlvIMSNaXRhdGk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiAgICAgICAgKG90a3JpdmVuYSAlcyBwYXJ0aWNpanNrYSB0YWJsaWNhKS4gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJuaXNhbSB1c3BpbyDEjWl0YXRpOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM4CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjc2IGRpc2stdXRpbHMvZmRpc2suYzo5NTAgZGlzay11dGlscy9zZmRpc2suYzoyMTIwCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDEwIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIm5pc2FtIHVzcGlvIGFsb2NpcmF0aSBpdGVyYXRvciIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8dXJlxJFhaiBkaXNrYT4gPGJyb2ogcGFydGljaWplPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiRm9ybWF0aXJhbSAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgImdvdG92b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlByb3ZqZXJhdmFtIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIsSMaXRhbmplOiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZW0gcHJpIMSNaXRhbmp1IGNpbGluZHJhICVkLCBvxI1la3VqZW0gJWQsIHByb8SNaXRhbyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorIm5laXNwcmF2bmkgcG9kYWNpIHUgY2lsaW5kcnUgJWRcbiIKKyJOYXN0YXZsamFtIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMyBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwMiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInNlZWsgbmlqZSB1c3BpbyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBuaWplIGJsb2tvdnNraSB1cmXEkWFqIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAiTmUgbW9ndSBvZHJlZGl0aSB0cmVudXRudSB2cnN0dSBmb3JtYXRpcmFuamEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJEdm9zdHJ1a2kiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIkplZG5vc3RydWtpIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUzIG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorIywgZnV6enkKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgInNlZWsgbmlqZSB1c3BpbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY5IGRpc2stdXRpbHMvZmRpc2suYzozMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzggZGlzay11dGlscy9zZmRpc2suYzoxOTgKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA5IGRpc2stdXRpbHMvZmRpc2suYzo2MTggbGliZmRpc2svc3JjL2Fzay5jOjEwMDMKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICJVcmXEkWFqOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJuZSBtb2d1IHphdHZvcml0aSBkYXRvdGVrdSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyOAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIwCittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIxCittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxMAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAibmVwb2Ryxb5hbmUgbW9ndcSHbm9zdGkgZGF0b3RlxI1ub2cgc3VzdGF2YSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIiVsdSBuZWlzcHJhdm5hIHN0cmFuaWNhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTYgZGlzay11dGlscy9zZmRpc2suYzoxNjE2Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIm90a3JpaiBwb21hayBwb3Jhdm5hbmphIHUgYmFqdG92aW1hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjM2CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE2MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjYKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5NzQgbWlzYy11dGlscy9maW5jb3JlLmM6MTIzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA2IG1pc2MtdXRpbHMvbHNibGsuYzoxMTc2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNTQgbWlzYy11dGlscy93aXBlZnMuYzoyMTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzQwIHN5cy11dGlscy9sb3NldHVwLmM6MzY5IHN5cy11dGlscy9sc2NwdS5jOjE2MzUKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2NjMgc3lzLXV0aWxzL2xzaXBjLmM6NDcwIHN5cy11dGlscy9sc2lwYy5jOjU0NQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjQ3IHN5cy11dGlscy9sc2lwYy5jOjczOSBzeXMtdXRpbHMvbHNpcGMuYzo5MDAKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5IHN5cy11dGlscy9yZmtpbGwuYzozNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjE3OQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjE0IHN5cy11dGlscy96cmFtY3RsLmM6NDA3IHRleHQtdXRpbHMvY29sdW1uLmM6NDUzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtL1JBSUQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiAlenUgd2lsbCBiZSB3aXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjA5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjUKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI4IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjcKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIk5lcG96bmF0YSBuYXJlZGJhOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5CisjLCBmdXp6eQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIlczogbmlqZSBibG9rb3Zza2kgdXJlxJFhaiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE3Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICJ3cml0ZSBuaWplIHVzcGlvOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI2Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0NQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJHZW9tZXRyeSAoZm9yIHRoZSBjdXJyZW50IGxhYmVsKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTYKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NworbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcwCittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzEKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAib3RrcmlqIHNhbW8gemEgxI1pdGFuamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIm90a3JpaiBzYW1vIHphIMSNaXRhbmplIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAib3RrcmlqIHNhbW8gemEgxI1pdGFuamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAib3RrcmlqIHNhbW8gemEgxI1pdGFuamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJTR0kiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA4Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJCU0QiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzNQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAixb1lbGl0ZSBsaSB6YWlzdGEgbmFzdGF2aXRpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIk5lcG96bmF0YSBuYXJlZGJhOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IHNhdmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTUgZGlzay11dGlscy9zZmRpc2suYzoxNTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiAgICAgICAgKG90a3JpdmVuYSAlcyBwYXJ0aWNpanNrYSB0YWJsaWNhKS4gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAibmlzYW0gdXNwaW8gxI1pdGF0aTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY0MAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0NAorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgamUgbW9udGlyYW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzIG5pamUgbW9udGlyYW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgImdyZcWha2Egb2JyYWRlOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAibmUgbW9ndSDEjWl0YXRpIGRpcmVrdG9yaWogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIlpha2xqdcSNYXZhbSBkaXNrICVzIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIoxI1la2FtKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJ1c3BqZWgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAibmV1c3BqZWgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIHBvc3Rhdml0aSBvcGlzIHphICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGdyZcWha2Egb2JyYWRlIHUgcmV0a3UgJWQgLS0gemFuZW1hcmVubyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA0IGRpc2stdXRpbHMvZnNjay5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImZvcmsgbmlqZSB1c3BpbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAid2FpdDogbmVtYSB2acWhZSBkamVjZSBwcm9jZXNhPyE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICJVcG96b3JlbmplLi4uICVzIHphIHVyZcSRYWogJXMgamUgaXphxaFhbyBzYSBzaWduYWxvbSAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiJXMgJXM6IHN0YW5qZSBqZSAleCwgbmlrYWQgc2UgbmUgYmkgc21qZWxvIGRvZ29kaXRpLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICJaYXZyxaFlbm8gcyAlcyAoaXpsYXpubyBzdGFuamUgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImdyZcWha2EgJWQgcHJpIGl6dnLFoWF2YW5qdSBmc2NrLiVzIHphICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiSWxpIHN2aSBpbGkgbmlqZWRhbiBkYXRvdGXEjW5pIHN1c3RhdiBwcm9zbGlqZcSRZW5pIG9wY2lqaSAtdCBtb3JhanUgaW1hdGlcbiIKKyJwcmVmaWtzIOKAnm5v4oCdIGlsaSDigJ4h4oCdLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IHByZXNrYcSNZW0gbmVwb3N0b2plxIdpIHVyZcSRYWpcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczogbmVwb3N0b2plxIdpIHVyZcSRYWogKOKAnm5vZmFpbOKAnSBvcGNpamEgdSBkYXRvdGVjaSBmc3RhYiBzZSBtb8W+ZSBrb3Jpc3RpdGkgemEgcHJlc2tha2FuamUgb3ZvZyB1cmXEkWFqYSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAiJXM6IHByZXNrYcSNZW0gbmVwb3puYXR1IHZyc3R1IGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICJuZSBtb2d1IHByb3ZqZXJpdGkgJXM6IGZzY2suJXMgbmlqZSBwcm9uYcSRZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLcSNZWthbS0tIChwcm9sYXogJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorIywgZnV6enkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUHJvdmplcmF2YW0gc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NAorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICBwcm92amVyaSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtQyBbPG9kPl0gIHByaWthxb5pIHRyYWt1IG5hcHJldGthLCBvcGlzbmlrIGRhdG90ZWtlIGplIHphIGdyYWZpxI1rbyBzdcSNZWxqZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHpha2xqdcSNYWogdXJlxJFhaiB6YSBqYW1zdHZvIGlza2xqdcSNaXZvZyBwcmlzdHVwYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk3Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAgbmUgcHJvdmplcmF2YWogbW9udGlyYW5lIGRhdG90ZcSNbmUgc3VzdGF2ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk4Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIC1OICAgICAgICAgbmUgaXp2csWhYXZhaiwgc2FtbyBwcmlrYcW+aSDFoXRvIGJpIHNlIGRvZ29kaWxvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAgcGFyYWxlbG5vIHByb3ZqZXJhdmFqIGRhdG90ZcSNbmUgc3VzdGF2ZSwgdWtsanXEjXVqdcSHaSBrb3JpamVuc2tpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAtUiAgICAgICAgIHByZXNrb8SNaSBrb3JpamVuc2tpIGRhdG90ZcSNbmkgc3VzdGF2LCBrb3Jpc25vIHNhbW8gdXog4oCeLUHigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtciAgICAgICAgIGl6dmlqZXN0aSBvIHN0YXRpc3Rpa2FtYSB6YSBzdmFraSBwcm92amVyZW5pIHVyZcSRYWpcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICBuZSBwcmlrYXp1aiBuYXNsb3YgcHJpIHBva3JldGFuanVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorIywgZnV6enkKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx2cnN0YT4gIG5hdmVkaSB2cnN0ZSBkYXRvdGXEjW5paCBzdXN0YXZhIHphIHByb3ZqZXJ1LFxuIgorIiAgICAgICAgICAgICA8dnJzdGE+IHNtaWplIGJpdGkgemFyZXppbWEgb2R2b2plbiBwb3Bpc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA3Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiUG9nbGVkYWp0ZSBwb2plZGluYcSNbmUgZnNjay4qIG5hcmVkYmUgemEgZG9zdHVwbmUgZHMtb3BjaWplLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgInByZXZpxaFlIHVyZcSRYWphIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcyCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIkplIGxpIC9wcm9jIG1vbnRpcmFuPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJtb3JhdGUgYml0aSBhZG1pbmlzdHJhdG9yIHphIHByb3ZqZXJ1IG9kZ292YXJhanXEh2loIGRhdG90ZcSNbmloIHN1c3RhdmE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIm5lIG1vZ3UgcHJvbmHEh2kgb2Rnb3ZhcmFqdcSHaSBkYXRvdGXEjW5pIHN1c3RhdjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAicHJldmnFoWUgYXJndW1lbmF0YSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2OSBtaXNjLXV0aWxzL2tpbGwuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyB6YWh0aWpldmEgYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgIm9wY2lqYSAtbCBzZSBzbWlqZSBrb3Jpc3RpdGkgc2FtbyBzIGplZG5pbSB1cmXEkWFqZW0gLS0gemFuZW1hcmVubyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE3Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsIG5pamUgdXNwaW86IG5lIG1vZ3Ugb2RyZWRpdGkgdmVsacSNaW51IHVyZcSRYWphOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIm5pamUgYmxva292c2tpIHVyZcSRYWogaWxpIGRhdG90ZWthOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJkdWxqaW5hIGRhdG90ZWtlIGplIHByZWtyYXRrYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJzZWVrIG5pamUgdXNwaW8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIm5lcG9kcsW+YW5lIG1vZ3XEh25vc3RpIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJ2ZWxpxI1pbmEgc3VwZXJibG9rYSAoJWQpIGplIHByZW1hbGVuYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJ1cG96b3JlbmplOiBkYXRvdGVrYSBzZSBwcm90ZcW+ZSBwcmVrbyB6YXZyxaFldGthIGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworIywgZnV6enkKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAidXBvem9yZW5qZTogc3RhcmkgY3JhbWZzIG9ibGlrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTYKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJuZSBtb2d1IHByb3ZqZXJpdGkgQ1JDOiBzdGFyaSBjcmFtZnMgb2JsaWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImNyYyBncmXFoWthIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJzZWVrIG5pamUgdXNwaW8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDgKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAixI1pdGFuamUgcm9tZnMtYSBuaWplIHVzcGplbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImtvcmlqZW5za2kgaW5kZWtzbmkgxI12b3IgbmlqZSBkaXJla3RvcmlqIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgInBvZGF0a292bmkgYmxvayBqZSBwcmV2ZWxpayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiZ3JlxaFrYSBkZWtvbXByZXNpamU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgcnVwYSBuYSAlbGQgKCV6ZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIGRla29tcHJpbWlyYW0gYmxvayBuYSAlbGQgdSAlbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAid3JpdGUgbmlqZSB1c3BpbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biBuaWplIHVzcGlvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biBuaWplIHVzcGlvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZSBuaWplIHVzcGlvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiaW5kZWtzbmkgxI12b3IgZGlyZWt0b3JpamEgaW1hIHBvbWFrIGplZG5hayBudWxpIGkgdmVsacSNaW51IHJhemxpxI1pdHUgb2QgbnVsZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIgbmlqZSB1c3BpbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAiZHVsamluYSBpbWVuYSBkYXRvdGVrZSBqZSBudWxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAibmVpc3ByYXZuYSBkdWxqaW5hIGltZW5hIGRhdG90ZWtlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAibmVpc3ByYXZhbiBwb21hayBpbmRla3Nub2cgxI12b3JhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImluZGVrc25pIMSNdm9yIGRhdG90ZWtlIGltYSBwb21hayBqZWRuYWsgbnVsaSBpIHZlbGnEjWludSByYXpsacSNaXR1IG9kIG51bGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiaW5kZWtzbmkgxI12b3IgZGF0b3Rla2UgaW1hIHBvbWFrIHJhemxpxI1pdCBvZCBudWxlIGkgdmVsacSNaW51IGplZG5ha3UgbnVsaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJzaW1ib2xpxI1rYSB2ZXphIGltYSBwb21hayBqZWRuYWsgbnVsaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAic2ltYm9sacSNa2EgdmV6YSBpbWEgdmVsacSNaW51IGplZG5ha3UgbnVsaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJncmXFoWthIHZlbGnEjWluZSB1IHNpbWJvbGnEjWtvaiB2ZXppOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgInN5bWxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICJwb3NlYm5hIGRhdG90ZWthIGltYSBwb21hayByYXpsacSNaXQgb2QgbnVsZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImZpZm8gaW1hIHZlbGnEjWludSByYXpsacSNaXR1IG9kIG51bGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICJsYcW+bmkgbW9kOiAlcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIm1rbm9kIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgIm5laXNwcmF2YW4gcG9tYWsgcG9kYXRha2EgZGF0b3Rla2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHZlbGnEjWluZSBibG9rYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IHUgcmVkdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUHJvdmplcmF2YW0gc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwgIGlzcGnFoWkgc3ZlIGRhdG90ZWtlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSAgYXV0b21hdHNraSBwb3ByYXZha1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAtciAgaW50ZXJha3Rpdm5pIHBvcHJhdmFrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXMgIGlzcGnFoWkgaW5mb3JtYWNpamUgbyBzdXBlcmJsb2t1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1mICBwcmlzaWxubyBwcm92amVyaVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChkL24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi9kKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBqZSBtb250aXJhbi5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAixb1lbGl0ZSBsaSB6YWlzdGEgbmFzdGF2aXRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAicHJvdmplcmEgcHJla2ludXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJVa2xvbmkgYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJHcmXFoWthIMSNaXRhbmphOiBuZSBtb2d1IGl6dnLFoWl0aSBzZWVrIG5hIGJsb2sgdSBkYXRvdGVjaSDigJ4lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJHcmXFoWthIMSNaXRhbmphOiBuZWlzcHJhdmFuIGJsb2sgdSBkYXRvdGVjaSDigJ4lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJJbnRlcm5hIGdyZcWha2E6IHBva3XFoWF2YW0gemFwaXNhdGkgbmVpc3ByYXZhbiBibG9rXG4iCisiWmFodGpldiBwaXNhbmphIGplIHphbmVtYXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAic2VlayBuaWplIHVzcGlvIHUgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJHcmXFoWthIHBpc2FuamE6IG5laXNwcmF2YW4gYmxvayB1IGRhdG90ZWNpIOKAniVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIlVwb3pvcmVuamU6IGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIGplIHByZXZlbGlrLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAic2VlayBuaWplIHVzcGlvIHUgd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAibmUgbW9ndSB6YXBpc2F0aSBzdXBlcmJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIk5lIG1vZ3UgemFwaXNhdGkgbWFwdSBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiTmUgbW9ndSB6YXBpc2F0aSBtYXB1IHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIk5lIG1vZ3UgemFwaXNhdGkgaW5kZWtzbmUgxI12b3JvdmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIm5lIG1vZ3UgYWxvY2lyYXRpIG1lxJF1c3ByZW1uaWsgemEgc3VwZXJibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjcKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAibmUgbW9ndSDEjWl0YXRpIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIlBvZHLFvmFuaSBzdSBzYW1vIGJsb2tvdmkvem9uZSB2ZWxpxI1pbmUgMWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJuZWlzcHJhdm5vIHBvbGplIHNfaW1hcF9ibG9ja3MgdSBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAibmVpc3ByYXZubyBwb2xqZSBzX2ltYXBfYmxvY2tzIHUgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIm5laXNwcmF2bm8gcG9samUgc19pbWFwX2Jsb2NrcyB1IHN1cGVyYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJuZWlzcHJhdm5vIHBvbGplIHNfem1hcF9ibG9ja3MgdSBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIk5lIG1vZ3UgYWxvY2lyYXRpIG1lxJF1c3ByZW1uaWsgemEgbWFwdSBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJOZSBtb2d1IGFsb2NpcmF0aSBtZcSRdXNwcmVtbmlrIHphIG1hcHUgem9uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJOZSBtb2d1IGFsb2NpcmF0aSBtZcSRdXNwcmVtbmlrIHphIGluZGVrc25lIMSNdm9yb3ZlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiTmUgbW9ndSBhbG9jaXJhdGkgbWXEkXVzcHJlbW5payB6YSBicm9qIGluZGVrc25paCDEjXZvcm92YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiTmUgbW9ndSBhbG9jaXJhdGkgbWXEkXVzcHJlbW5payB6YSBicm9qIHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiTmUgbW9ndSDEjWl0YXRpIG1hcHUgaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiTmUgbW9ndSDEjWl0YXRpIG1hcHUgem9uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJOZSBtb2d1IMSNaXRhdGkgaW5kZWtzbmUgxI12b3JvdmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaW5kZWtzbmloIMSNdm9yb3ZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9rb3ZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiVmVsacSNaW5hIHpvbmU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk5hanZlxIdhIHZlbGnEjWluYT0lenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiU3RhbmplIGRhdG90ZcSNbm9nIHN1c3RhdmE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiZHVsamluYWltZW5hPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5kZWtzbmkgxI12b3IgJWQgamUgb3puYcSNZW4ga2FvIG5la29yacWhdGVuLCBhbGkgc2Uga29yaXN0aSB6YSBkYXRvdGVrdSDigJ4lc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIzCittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIk96bmHEjWkga2FvIGtvcmnFoXRlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiRGF0b3Rla2Eg4oCeJXPigJ0gaW1hIG1vZCAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiVXBvem9yZW5qZTogYnJvaiBpbmRla3NuaWggxI12b3JvdmEgamUgcHJldmVsaWsuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JpamVuc2tpIGluZGVrc25pIMSNdm9yIG5pamUgZGlyZWt0b3JpaiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIkJsb2sgc2Uga29yaXN0aW8gcmFuaWplLiBTYWQgamUgdSBkYXRvdGVjaSDigJ4lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIsSMaXN0byIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJCbG9rICVkIHUgZGF0b3RlY2kg4oCeJXPigJ0gamUgb3puYcSNZW4ga2FvIG5la29yacWhdGVuLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNgorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIlRvxI1ubyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJEaXJla3RvcmlqIOKAniVz4oCdIHNhZHLFvmkgbmVpc3ByYXZhbiBicm9qIGluZGVrc25vZyDEjXZvcmEgemEgZGF0b3Rla3Ug4oCeJS4qc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDQxCittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIFVrbG9uaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogbmVpc3ByYXZhbiBkaXJla3RvcmlqOiDigJ4u4oCdIG5pamUgcHJ2aVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IG5laXNwcmF2YW4gZGlyZWt0b3Jpajog4oCeLi7igJ0gbmlqZSBkcnVnaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiaW50ZXJuYSBncmXFoWthIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IG5laXNwcmF2YW4gZGlyZWt0b3JpajogdmVsacSNaW5hIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogbmVpc3ByYXZhbiBkaXJla3RvcmlqOiDigJ4u4oCdIG5pamUgcHJ2aVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgInNlZWsgbmlqZSB1c3BpbyB1IGJhZF96b25lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjAKK21zZ2lkICJTZXQiCittc2dzdHIgIlBvc3RhdmkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiUG9zdGF2aSBpX25saW5rcyBuYSBicm9qIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmEgJWx1OiBvem5hxI1lbmEga2FvIGtvcmnFoXRlbmEsIG5pamVkbmEgZGF0b3Rla2EganUgbmUga29yaXN0aS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiT2R6bmHEjWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJuZWlzcHJhdm5hIHZlbGnEjWluYSBpbmRla3Nub2cgxI12b3JhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzAxCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgIm5laXNwcmF2bmEgdmVsacSNaW5hIGluZGVrc25vZyDEjXZvcmEgdjIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDYKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJwb3RyZWJhbiBqZSB0ZXJtaW5hbCB6YSBpbnRlcmFrdGl2bmUgcG9wcmF2a2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIGplIMSNaXN0LCBwcm92amVyYSBuZXBvdHJlYm5hLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiUHJpc2lsbm8gcHJvdmplcmF2YW0gZGF0b3RlxI1uaSBzdXN0YXYgbmEgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIkRhdG90ZcSNbmkgc3VzdGF2IG5hICVzIGplIG5lxI1pc3QsIHBvdHJlYm5hIGplIHByb3ZqZXJhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgaW5kZWtzbmloIMSNdm9yb3ZhIGtvcmnFoXRlbm8gKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uYSBrb3JpxaF0ZW5vICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCBvYmnEjW5paCBkYXRvdGVrYVxuIgorIiU2ZCBkaXJla3RvcmlqYVxuIgorIiU2ZCBkYXRvdGVrYSB6bmFrb3ZuaWggdXJlxJFhamFcbiIKKyIlNmQgZGF0b3Rla2EgYmxva292c2tpaCB1cmXEkWFqYVxuIgorIiU2ZCB2ZXphXG4iCisiJTZkIHNpbWJvbGnEjWtpaCB2ZXphXG4iCisiLS0tLS0tXG4iCisiJTZkIGRhdG90ZWthXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiREFUT1RFxIxOSSBTVVNUQVYgU0UgUFJPTUlKRU5JT1xuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDMyIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzOAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1NDEgZGlzay11dGlscy9wYXJ0eC5jOjEwNTggZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTE0CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDAwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MSBzeXMtdXRpbHMvZG1lc2cuYzo2NjEgc3lzLXV0aWxzL3dkY3RsLmM6MzQ3CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTIgdGVybS11dGlscy9zY3JpcHQuYzoyOTggdGVybS11dGlscy9zY3JpcHQuYzozNzUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4NyB0ZXh0LXV0aWxzL3BnLmM6MTI1NgorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IG1vxb5kYSBuaWplIElTTyBkYXRvdGXEjW5pIHN1c3RhdiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICJncmXFoWthIMSNaXRhbmphIG5hICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgImJyb2ogc2VrdG9yYTogJWQsIHZlbGnEjWluYSBzZWt0b3JhOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8aXNvOTY2MF9kYXRvdGVrYV9zbGlrZT5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIlczogbW/FvmRhIG5pamUgSVNPIGRhdG90ZcSNbmkgc3VzdGF2IgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTUKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIC1kLCAtLWRpdmlzb3I9PGJyb2o+ICAgIHBvZGlqZWxpIGtvbGnEjWludSBiYWp0b3ZhIHNhIDxicm9qPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTYKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZGplbGl0ZWxqYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW29wY2lqZV0gdXJlxJFhaiBbYnJvai1ibG9rb3ZhXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDUKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIm5laXNwcmF2YW4gYnJvaiBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiaW1lIHByb3N0b3JhIGplIHByZWR1Z2HEjWtvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImltZSBkYXRvdGXEjW5vZyBzdXN0YXZhIGplIHByZWR1Z2HEjWtvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qLWJsb2tvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJuZSBtb2d1IG90a3JpdGkgdmVsacSNaW51ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJhcmd1bWVudCBibG9rb3ZhIGplIHByZXZlbGlrLCBuYWp2acWhZSAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAicHJldmnFoWUgaW5kZWtzbmloIMSNdm9yb3ZhIC0gbmFqdmnFoWUgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIm5lbWEgZG92b2xqbm8gcHJvc3RvcmEsIHBvdHJlYm5vIGplIGJhcmVtICVsbHUgYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIlVyZcSRYWo6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiUHJvc3RvcjogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiSW1lIGRhdG90ZcSNbm9nIHN1c3RhdmE6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiVmVsacSNaW5hIGJsb2thOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSW5kZWtzbmkgxI12b3Jvdmk6ICVsdSAodSAxIGJsb2t1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIkluZGVrc25pIMSNdm9yb3ZpOiAlbHUgKHUgJWxsdSBibG9rb3ZhKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxva292aTogJWxsZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICJaYXZyxaFldGFrOiBpbmRla3NuaSDEjXZvcjogJWQsIHBvZGFjaTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAiZ3JlxaFrYSBwcmkgcGlzYW5qdSBzdXBlcmJsb2thIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICJncmXFoWthIHByaSBwaXNhbmp1IGtvcmlqZW5za29nIGluZGVrc25vZyDEjXZvcmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJncmXFoWthIHByaSBwaXNhbmp1IGluZGVrc25vZyDEjXZvcmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJzZWVrIGdyZcWha2EiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImdyZcWha2EgcHJpIHBpc2FuanUgc3RhdmtlIC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDEKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICJncmXFoWthIHByaSBwaXNhbmp1IHN0YXZrZSAuLiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJncmXFoWthIHByaSB6YXR2YXJhbmp1ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICIlcyBbb3BjaWplXSBbLXQgPHZyc3RhPl0gW2RzLW9wY2lqZV0gPHVyZcSRYWo+IFs8dmVsacSNaW5hPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDkKKyMsIGZ1enp5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PHZyc3RhPiB2cnN0YSBkYXRvdGXEjW5vZyBzdXN0YXZhLCBha28gbmlqZSBuYXZlZGVubywga29yaXN0aSBzZSBleHQyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgZHMtb3BjaWplICAgICAgcGFyYW1ldHJpIHphIHN0dmFybm9nIGdyYWRpdGVsamEgZGF0b3RlxI1ub2cgc3VzdGF2YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiAgICAgPHVyZcSRYWo+ICAgICAgIHB1dGFuamEgemEgdXJlxJFhaiBrb2ppIHNlIGtvcmlzdGlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDx2ZWxpxI1pbmE+ICAgICBicm9qIGJsb2tvdmEgemEga29yacWhdGVuamUgbmEgdXJlxJFhanVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXNcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAicmVhZGxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuZSBtb2d1IMSNaXRhdGkgZGlyZWt0b3JpaiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICJkYXRvdGXEjW5pIHN1c3RhdiBqZSBwcmV2ZWxpay4gSXpsYXppbS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRTogYmxvayDigJ5rb21wcmltaXJhbuKAnSBuYSA+IDIqdmVsacSNaW5hYmxva2EgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBiYWp0b3ZhKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAibmUgbW9ndSB6YXR2b3JpdGkgZGF0b3Rla3UgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIHBhcnRpY2lqZSBrYW8gYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIk1hcGEgUk9NIHNsaWtlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiVWtsanXEjWVubzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlBvZGFjaSBkaXJla3RvcmlqYTogJXpkIGJhanRvdmFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIlN2ZTogJXpkIGtpbG9iYWp0YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9rOiAlemQgYmFqdG92YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIm5pamUgYWxvY2lyYW5vIGRvdm9sam5vIHByb3N0b3JhIHphIFJPTSBzbGlrdSAoYWxvY2lyYW5vICVsbGQsIGtvcmnFoXRlbm8gJXp1KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAicGlzYW5qZSBST00gc2xpa2UgbmlqZSB1c3BqZWxvICglemQgJXpkKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiUk9NIHNsaWthIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAidXBvem9yZW5qZTogaW1lbmEgZGF0b3Rla2Egc2tyYcSHZW5hIG5hIDI1NSBiYWp0b3ZhLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAidXBvem9yZW5qZTogZGF0b3Rla2Ugc3UgcHJlc2tvxI1lbmUgemJvZyBncmXFoWFrYS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJ1cG96b3JlbmplOiB2ZWxpxI1pbmUgZGF0b3Rla2Egc2tyYcSHZW5lIG5hICVsdU1CIChtaW51cyAxIGJhanQpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbb3BjaWplXSB1cmXEkWFqIFticm9qLWJsb2tvdmFdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorIywgZnV6enkKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBuYWp2ZcSHdSB2ZWxpxI1pbnUgaW1lbmEgZGF0b3Rla2UiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDYKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczogbmUgbW9ndSBvxI1pc3RpdGkgYm9vdCBzZWt0b3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogc2VlayBuaWplIHVzcGlvIHUgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IG5lIG1vZ3UgcGlzYXRpIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczogbmUgbW9ndSBwaXNhdGkgbWFwdSBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczogbmUgbW9ndSBwaXNhdGkgbWFwdSB6b25hIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiVzOiBuZSBtb2d1IHBpc2F0aSBpbmRla3NuZSDEjXZvcm92ZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHNlZWsgbmlqZSB1c3BpbyB1IHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHdyaXRlIG5pamUgdXNwaW8gdSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogcHJldmnFoWUgbmVpc3ByYXZuaWggYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlczogbmVkb3ZvbGpubyBpc3ByYXZuaWggYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpbmRla3NuaWggxI12b3JvdmFcbiIKK21zZ3N0clsxXSAiJWx1IGluZGVrc25paCDEjXZvcm92YVxuIgorbXNnc3RyWzJdICIlbHUgaW5kZWtzbmloIMSNdm9yb3ZhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IGJsb2tvdmFcbiIKK21zZ3N0clsxXSAiJWx1IGJsb2tvdmFcbiIKK21zZ3N0clsyXSAiJWx1IGJsb2tvdmFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJWZWxpxI1pbmEgem9uZT0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTmFqdmXEh2EgdmVsacSNaW5hPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHNlZWsgbmlqZSB1c3BpbyB6YSB2cmlqZW1lIHRlc3RpcmFuamEgYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICLEjHVkbmUgdnJpamVkbm9zdGkgdSBkb19jaGVjazogdmplcm9qYXRubyBidWdvdmlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiBzZWVrIG5pamUgdXNwaW8gdSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IG5laXNwcmF2bmkgYmxva292aSBwcmlqYSBwb2RhdGtvdm5vZyBwb2RydcSNamE6IG5lIG1vZ3UgbmFwcmF2aXRpIGRhdG90ZcSNbmkgc3VzdGF2IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCBuZWlzcHJhdm5paCBibG9rb3ZhXG4iCittc2dzdHJbMV0gIiVkIG5laXNwcmF2bmloIGJsb2tvdmFcbiIKK21zZ3N0clsyXSAiJWQgbmVpc3ByYXZuaWggYmxva292YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogbmUgbW9ndSBvdHZvcml0aSBkYXRvdGVrdSBuZWlzcHJhdm5paCBibG9rb3ZhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiZ3JlxaFrYSB1bm9zYSBicm9qYSBuZWlzcHJhdm5vZyBibG9rYSB1IHJldGt1ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiBuZSBtb2d1IMSNaXRhdGkgZGF0b3Rla3UgbmVpc3ByYXZuaWggYmxva292YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICJ2ZWxpxI1pbmEgYmxva2EgamUgbWFuamEgb2QgdmVsacSNaW5lIGZpemnEjWtvZyBzZWt0b3JhICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJuZSBtb2d1IG9kcmVkaXRpIHZlbGnEjWludSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGJyb2ogYmxva292YSBqZSBwcmVtYWxlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI1IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gb2JyYWRpdGkgbmFqdmXEh3UgdmVsacSNaW51IGltZW5hIGRhdG90ZWtlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gb2JyYWRpdGkgYnJvaiBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBicm9qIGJsb2tvdmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgamUgbW9udGlyYW4sIG5lxId1IG92ZGplIG5hcHJhdml0aSBkYXRvdGXEjW5pIHN1c3RhdiEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiTmVpc3ByYXZuYSBrb3Jpc25pxI1raSBuYXZlZGVuYSB2ZWxpxI1pbmEgc3RyYW5pY2UgJXUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIktvcmlzdGltIGtvcmlzbmnEjWtpIG5hdmVkZW51IHZlbGnEjWludSBzdHJhbmljZSAlZCB1bWplc3RvIHZyaWplZG5vc3RpIHN1c3RhdmEgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIk96bmFrYSBqZSBza3JhxIdlbmEuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJuZW1hIG96bmFrZSwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIm5lbWEgdXVpZC1hXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlVwb3JhYmE6XG4iCisiICVzIFtvcGNpamVdIHVyZcSRYWogW3ZlbGnEjWluYV1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTMKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJwcmV2acWhZSBuZWlzcHJhdm5paCBzdHJhbmljYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInNlZWsgbmlqZSB1c3BpbyB1IGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IG5laXNwcmF2bmEgc3RyYW5pY2FcbiIKK21zZ3N0clsxXSAiJWx1IG5laXNwcmF2bmUgc3RyYW5pY2VcbiIKK21zZ3N0clsyXSAiJWx1IG5laXNwcmF2bmloIHN0cmFuaWNhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMgorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkyCittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKG90a3JpdmVuYSAlcyBwYXJ0aWNpanNrYSB0YWJsaWNhKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChrb21wYWpsaXJhbm8gYmV6IGxpYmJsa2lkKS4gIgorCisjIHByaXNpbG5vIMWhdG8/CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJLb3Jpc3RpdGUgLWYgemEgcHJpc2lsbm8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODIKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgIm9icmFkYSB2ZWxpxI1pbmUgc3RyYW5pY2UgbmlqZSB1c3BqZWxhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OAorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICJvYnJhZGEgYnJvamEgaW5hxI1pY2UgbmlqZSB1c3BqZWxhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICJ1cG96b3JlbmplOiB6YW5lbWFydWplbSAtVSAoJXMgbmUgcG9kcsW+YXZhIGtvcmnFoXRlbmplIFVVSUQtYSkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiZ3JlxaFrYTogb2JyYWRhIFVVSUQtYSBuaWplIHVzcGplbGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMyCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBicm9qYSBibG9rb3ZhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODkKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIyCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTIxIHN5cy11dGlscy9sb3NldHVwLmM6NjMwCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTcKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwIHN5cy11dGlscy9sc21lbS5jOjUwNQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU2IHN5cy11dGlscy9sc21lbS5jOjUwMworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiICAgICAgICAob3Rrcml2ZW5hICVzIHBhcnRpY2lqc2thIHRhYmxpY2EpLiAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTEKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIm5pc2FtIHVzcGlvIGFsb2NpcmF0aSBpdGVyYXRvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICJuZSBtb2d1IHphdHZvcml0aSBkYXRvdGVrdSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDMgbGliZmRpc2svc3JjL2JzZC5jOjcyMiBsaWJmZGlzay9zcmMvYnNkLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkyCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQyCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIiAgICAgICAgKG90a3JpdmVuYSAlcyBwYXJ0aWNpanNrYSB0YWJsaWNhKS4gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiICAgICAgICAob3Rrcml2ZW5hICVzIHBhcnRpY2lqc2thIHRhYmxpY2EpLiAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgIiVsdSBibG9rb3ZhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk0IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzIgZGlzay11dGlscy9zZmRpc2suYzoxMDk2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTEgZGlzay11dGlscy9zZmRpc2suYzoxMjA3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MQorIywgZnV6enkKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIiVzOiB1cmXEkWFqIGplIG5lcHJhdmlsbm8gcG9yYXZuYW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAibmUgbW9ndSB6YXR2b3JpdGkgZGF0b3Rla3UgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIm5pc2FtIHVzcGlvIG9icmFkaXRpIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAibmlzYW0gdXNwaW8gYWxvY2lyYXRpIGl0ZXJhdG9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMQorIywgZnV6enkKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJzZWVrIGdyZcWha2EiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg3Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4OQorIywgZnV6enkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIndyaXRlIG5pamUgdXNwaW86ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorIywgZnV6enkKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDQKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3Igc2ZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTI4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAibmlzYW0gdXNwaW8gYWxvY2lyYXRpIGl0ZXJhdG9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzMKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKKyMsIGZ1enp5Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIlczogdSByZWR1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY4Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gxI1pdGF0aTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2CisjLCBmdXp6eQorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzMKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIGRldmljZSBpcyBpbiB1c2VcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODgKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MworbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgaXogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzE4Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaWplOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjAKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMyMQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMjIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBvdXRwdXQgY29sdW1uczpcbiIKK21zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjOiBpbmNsdWRlL2MuaDozMjUKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogaW5jbHVkZS9jLmg6MzI2Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMSBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0Cittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiIgorCisjOiBsaWIvYmxrZGV2LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MCBsaWJmZGlzay9zcmMvYXNrLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NTA1Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NiBsaWJmZGlzay9zcmMvZG9zLmM6MTIxOCBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgIlVyZcSRYWo6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTUKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYyIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiBlY2MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkwIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI4CisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTk3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTUgbGliZmRpc2svc3JjL3N1bi5jOjc3MworbXNnaWQgIlJwbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTAwIGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTEgbGliZmRpc2svc3JjL3N1bi5jOjc5MworbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTkKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjcKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorIywgZnV6enkKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiWmFrbGp1xI1hdmFtIGRpc2sgJXMgLi4uICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MgorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNAorbXNnaWQgIkJzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKKyMsIGZ1enp5Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBzeXN0ZW0gaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiJXM6IG5pamUgYmxva292c2tpIHVyZcSRYWoiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiAlenUgdG8gc3lzdGVtIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTA4NAorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTA4NQorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMzg4Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQzCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ3Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUzNAorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcyNgorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MzMKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODUgbGliZmRpc2svc3JjL2dwdC5jOjIzMzAKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMSBsaWJmZGlzay9zcmMvZG9zLmM6MTYxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2MworIywgZnV6enkKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzMzCittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIHBhcnRpY2lqZSBrYW8gYXJndW1lbnQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgIm5lIG1vZ3UgemF0dm9yaXRpIGRhdG90ZWt1ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2OAorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI1OSBsaWJmZGlzay9zcmMvZ3B0LmM6MzAzNworbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIiAgICAgICAgKG90a3JpdmVuYSAlcyBwYXJ0aWNpanNrYSB0YWJsaWNhKS4gIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjM0NworbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OQorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJwcmV2acWhZSBhcmd1bWVuYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcyCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MworIywgZnV6enkKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzCittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKK21zZ2lkICJWTXdhcmUgRGlhZ25vc3RpYyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAicHJldmnFoWUgYXJndW1lbmF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAibmlzYW0gdXNwaW8gYWxvY2lyYXRpIGl0ZXJhdG9yIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzQ0Cittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MTcKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJzdGF0IG5pamUgdXNwaW8gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzMworbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5NQorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAibmVwb2Ryxb5hbmUgbW9ndcSHbm9zdGkgZGF0b3RlxI1ub2cgc3VzdGF2YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2xhdGUgcGFydGl0aW9uIG5hbWUsIG5hbWUgbm90IGNoYW5nZWQuIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQ1Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTE0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIHBhcnRpY2lqZSBrYW8gYXJndW1lbnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4OAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV6dSBvdXQgb2YgJXp1IHBhcnRpdGlvbnMuIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzI2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjg3CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NTgKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJuaXNhbSB1c3BpbyBwb3N0YXZpdGkgb3BpcyB6YSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM0Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAibmlzYW0gdXNwaW8gdWtsb25pdGkgcGFydGljaWp1IgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTggbWlzYy11dGlscy9maW5kbW50LmM6NjU1CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5OSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNyBzY2hlZHV0aWxzL2NocnQuYzoyMDUKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NgorbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTgKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAib3BlbiBuaWplIHVzcGlvOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI3Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OAorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ4Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTIKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTggbGliZmRpc2svc3JjL3NnaS5jOjk0OAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTAKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDY5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzAKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjIKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTg3Cittc2dpZCAiSGVhZHMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5MworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorIywgZnV6enkKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIlByb3N0b3I6IDwlLTZzPlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHQuYzoyMzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAicmVhZGxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gcGVybWl0dGVkIGZvciByb290IG9ubHkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAibmUgbW9ndSBwcm9uYcSHaSBvZGdvdmFyYWp1xIdpIGRhdG90ZcSNbmkgc3VzdGF2OiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkIG9uICVzOyB1c2UgLXQgPHR5cGU+IG9yIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiJXM6IHByZXNrYcSNZW0gbmVwb3puYXR1IHZyc3R1IGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIgorbXNnc3RyICIlczogdXJlxJFhaiBqZSBuZXByYXZpbG5vIHBvcmF2bmFuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgImZvcmsgbmlqZSB1c3BpbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JpamVuc2tpIGluZGVrc25pIMSNdm9yIG5pamUgZGlyZWt0b3JpaiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYnVzeSIKK21zZ3N0ciAiJXM6IG5pamUgcHJvbmHEkWVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMgamUgbW9udGlyYW5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBuaWplIHByb25hxJFlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzOiBuaWplIHByb25hxJFlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnQgcG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXM6IG5pamUgcHJvbmHEkWVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAibmUgbW9ndSDEjWl0YXRpIHN1cGVyYmxvayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiJXM6IHByZXNrYcSNZW0gbmVwb3puYXR1IHZyc3R1IGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXM6IG5pamUgYmxva292c2tpIHVyZcSRYWoiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbmlqZSBibG9rb3Zza2kgdXJlxJFhaiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudDsgcHJvYmFibHkgY29ycnVwdGVkIGZpbGVzeXN0ZW0gb24gJXMiCittc2dzdHIgIm5lxId1IHBva3XFoWF0aSBuYXByYXZpdGkgZGF0b3RlxI1uaSBzdXN0YXYgbmEg4oCeJXPigJ0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgIiVzIG5pamUgbW9udGlyYW5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgIiVzIG5pamUgdXNwaW8uXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qLWJsb2tvdmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIm5lIG1vZ3UgemFwaXNhdGkgc3VwZXJibG9rIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiJXM6IHVyZcSRYWogamUgbmVwcmF2aWxubyBwb3Jhdm5hbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAidXBvem9yZW5qZTogZGF0b3Rla2Egc2UgcHJvdGXFvmUgcHJla28gemF2csWhZXRrYSBkYXRvdGXEjW5vZyBzdXN0YXZhXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIiIKKworIzogbGliL3BhdGguYzoyMzkgc3lzLXV0aWxzL2xzY3B1LmM6MTc2MAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGF0aC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIiIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICIiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlczogJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAiIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlVwb3pvcmVuamU6IGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIGplIHByZXZlbGlrLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYgbG9naW4tdXRpbHMvY2hzaC5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzI2Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTY5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIxNyBzeXMtdXRpbHMvZG1lc2cuYzoxMjY5CisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM1IGxvZ2luLXV0aWxzL2xhc3QuYzo0NDYgbG9naW4tdXRpbHMvbGFzdC5jOjg5MgorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzgKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBicm9qIGluZGVrc25paCDEjXZvcm92YSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk5MyBsb2dpbi11dGlscy9sYXN0LmM6OTk4IGxvZ2luLXV0aWxzL2xhc3QuYzoxMDAzCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM4MAorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgLVQgICAgICAgICBuZSBwcmlrYXp1aiBuYXNsb3YgcHJpIHBva3JldGFuanVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIm5lcG9kcsW+YW5lIG1vZ3XEh25vc3RpIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJpbnRlcm5hIGdyZcWha2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyNiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5NSBtaXNjLXV0aWxzL21jb29raWUuYzo4MyBtaXNjLXV0aWxzL3V1aWRkLmM6NjIKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI2IHN5cy11dGlscy9kbWVzZy5jOjI2NiBzeXMtdXRpbHMvaXBjbWsuYzo2NworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMCBzeXMtdXRpbHMvbHNpcGMuYzoyNzggc3lzLXV0aWxzL2xzbWVtLmM6NDk2CisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzkKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjI5NAorbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAixI1pdGFuamUgbmlqZSB1c3BqZWxvOiAlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImZvcmsgbmlqZSB1c3BpbyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzYKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mjc4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBuaWplIHVzcGlvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzMwCittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NzkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3ODcKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3OTcKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIGZvciBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgxMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBtYXNrIgorbXNnc3RyICJuZSBtb2d1IHphdHZvcml0aSBkYXRvdGVrdSAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MgorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkzCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMjMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiJXM6IHVyZcSRYWogamUgbmVwcmF2aWxubyBwb3Jhdm5hbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3ODIKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODYzIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0Njggc3lzLXV0aWxzL3dkY3RsLmM6NTI0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgxNyB0ZXJtLXV0aWxzL3dhbGwuYzoyMTYKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlczogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzOiAlcyIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ5Cittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NworbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBkb24ndCBlbmNvZGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTAKK21zZ2lkICIgLXMsIC0tbWF0Y2gtdGFnIDx0YWc+ICAgICAgc2hvdyBzcGVjaWZpZWQgdGFnKHMpIChkZWZhdWx0IHNob3cgYWxsIHRhZ3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiTG93LWxldmVsIHByb2Jpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lqZTpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgSS9PIGxpbWl0c1xuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKK21zZ2lkICIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiKGluIHVzZSkiCittc2dzdHIgIk96bmHEjWkga2FvIGtvcmnFoXRlbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzOQorIywgZnV6enkKK21zZ2lkICIobm90IG1vdW50ZWQpIgorbXNnc3RyICIlcyBqZSBtb250aXJhblxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImdyZcWha2Egb2JyYWRlOiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgIm5lcG9kcsW+YW5lIG1vZ3XEh25vc3RpIGRhdG90ZcSNbm9nIHN1c3RhdmEiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTkgbWlzYy11dGlscy93aXBlZnMuYzo2OTcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICIlczogdXJlxJFhaiBqZSBuZXByYXZpbG5vIHBvcmF2bmFuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBkdWxqaW5lIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6Nzc2Cittc2dpZCAiQ2FuIG9ubHkgc2VhcmNoIGZvciBvbmUgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3ODMKK21zZ2lkICItdCBuZWVkcyBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgzMworbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIGRvZXMgbm90IHN1cHBvcnQgJ2xpc3QnIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg0NgorbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIHJlcXVpcmVzIGEgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OTYKK21zZ2lkICJUaGUgbG9va3VwIG9wdGlvbiByZXF1aXJlcyBhIHNlYXJjaCB0eXBlIHNwZWNpZmllZCB1c2luZyAtdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IGR1bGppbmUiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBkdWxqaW5lIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc3IG1pc2MtdXRpbHMvY2FsLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKKyMsIGZ1enp5Cittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDYKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTEKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEyCisjLCBmdXp6eQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExNAorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gcGFnZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgInN0YXQgbmlqZSB1c3BpbyAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBuYW1lIgorbXNnc3RyICIgLWwgIGlzcGnFoWkgc3ZlIGRhdG90ZWtlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtbWFwOiAlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gZnN0YXQ6ICVzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MzQzIHN5cy11dGlscy9sb3NldHVwLmM6NzkzCittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiUHJpc2lsbm8gcHJvdmplcmF2YW0gZGF0b3RlxI1uaSBzdXN0YXYgbmEgJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1Cittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCittc2dpZCAibW91bnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BICAgICAgICAgcHJvdmplcmkgc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiIC1NICAgICAgICAgbmUgcHJvdmplcmF2YWogbW9udGlyYW5lIGRhdG90ZcSNbmUgc3VzdGF2ZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM3Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOAorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JpamVuc2tpIGluZGVrc25pIMSNdm9yIG5pamUgZGlyZWt0b3JpaiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXMgamUgbW9udGlyYW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE4OQorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBuaWplIGJsb2tvdnNraSB1cmXEkWFqIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2lqZTpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE5IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiJXM6IHByZXNrYcSNZW0gbmVwb3puYXR1IHZyc3R1IGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiZ3JlxaFrYSBvYnJhZGU6ICVzIgorbXNnc3RyWzFdICJncmXFoWthIG9icmFkZTogJXMiCittc2dzdHJbMl0gImdyZcWha2Egb2JyYWRlOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gImNyYyBncmXFoWthIgorbXNnc3RyWzFdICJjcmMgZ3JlxaFrYSIKK21zZ3N0clsyXSAiY3JjIGdyZcWha2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTEKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIDx1cmXEkWFqPlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg0Cittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgLVYgICAgICAgICBwb2phc25pIMWhdG8gcHJvZ3JhbSByYWRpXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiTmVwb3puYXRhIG5hcmVkYmE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODcgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MDcgc3lzLXV0aWxzL3R1bmVscC5jOjE2NyBzeXMtdXRpbHMvdHVuZWxwLmM6MTc0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTgxIHN5cy11dGlscy90dW5lbHAuYzoxODggc3lzLXV0aWxzL3R1bmVscC5jOjE5NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIwMSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA1IHN5cy11dGlscy90dW5lbHAuYzoyMTIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjMzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjg5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzIxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjkgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzU4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTkwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MTMgdGVybS11dGlscy9zZXR0ZXJtLmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJncmXFoWthIG9icmFkZTogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAiTmVwb3puYXRhIG5hcmVkYmE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAiTmVwb3puYXRhIG5hcmVkYmE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIHBvc3Rhdml0aSBvcGlzIHphICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gcG9zdGF2aXRpIG9waXMgemEgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjUwNQorIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBuaWplIHVzcGlvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiaW1lIGRhdG90ZcSNbm9nIHN1c3RhdmEgamUgcHJlZHVnYcSNa28iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IG5pamUgcHJvbmHEkWVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMzCittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzcKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTAKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTYyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1MgorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSBkYXRvdGVrYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NyBzeXMtdXRpbHMvenJhbWN0bC5jOjg2Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDQKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNQorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDcKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDgKK21zZ2lkICJ6b25lIG1vZGVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjkyCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk0CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiVzOiBuaWplIGJsb2tvdnNraSB1cmXEkWFqIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MworIywgZnV6enkKK21zZ2lkICIgLXosIC0tem9uZWQgICAgICAgICAgcHJpbnQgem9uZSBtb2RlbFxuIgorbXNnc3RyICIgLVYgICAgICAgICBwb2phc25pIMWhdG8gcHJvZ3JhbSByYWRpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ0Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorIywgZnV6enkKK21zZ2lkICJraW5kIG9mIGxvY2siCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjI2NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMgorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDMgc3lzLXV0aWxzL2xzbnMuYzo5MDMgc3lzLXV0aWxzL3Jma2lsbC5jOjU3MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlcyBpeiAlc1xuIgorbXNnc3RyWzFdICIlcyBpeiAlc1xuIgorbXNnc3RyWzJdICIlcyBpeiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJXMgaXogJXNcbiIKK21zZ3N0clsxXSAiJXMgaXogJXNcbiIKK21zZ3N0clsyXSAiJXMgaXogJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzoxMDU3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgIm5pc2FtIHVzcGlvIGFsb2NpcmF0aSBpdGVyYXRvciIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogbmlqZSBibG9rb3Zza2kgdXJlxJFhaiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAic3ltbGluayBuaWplIHVzcGlvOiAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgInN5bWxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAic3ltbGluayBuaWplIHVzcGlvOiAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM4Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIC1BICAgICAgICAgcHJvdmplcmkgc3ZlIGRhdG90ZcSNbmUgc3VzdGF2ZVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDQKK21zZ2lkICIgLW8sIC0tbm8tb3ZlcndyaXRlICBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBwb2phc25pIMWhdG8gcHJvZ3JhbSByYWRpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEwOQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExNgorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI3Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTQ3Cittc2dpZCAid3JpdGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2MQorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMzcKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIm5lIG1vZ3UgcHJvbmHEh2kgb2Rnb3ZhcmFqdcSHaSBkYXRvdGXEjW5pIHN1c3RhdjogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgInNlZWsgbmlqZSB1c3BpbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJuZSBtb2d1IHphdHZvcml0aSBkYXRvdGVrdSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIm5lIG1vZ3UgxI1pdGF0aSBkaXJla3RvcmlqICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgIsSNaXRhbmplIG5pamUgdXNwamVsbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAixI1pdGFuamUgbmlqZSB1c3BqZWxvOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgImltZSBwcm9zdG9yYSBqZSBwcmVkdWdhxI1rbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgInNlZWsgZ3JlxaFrYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgaW50ZXJwcmV0IG5hbWUgYXMgaGV4IHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzYKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAiIC1sICBpc3BpxaFpIHN2ZSBkYXRvdGVrZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorbXNnaWQgImludmFsaWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxODYKK21zZ2lkICJvdGhlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5NworbXNnaWQgIm5pbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwMgorbXNnaWQgInRpbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDgKK21zZ2lkICJuYW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjExCittc2dpZCAicmFuZG9tIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE0Cittc2dpZCAic2hhMS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI2NyBtaXNjLXV0aWxzL3dpcGVmcy5jOjE3MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzIyCisjOiBzeXMtdXRpbHMvbHNucy5jOjgwNiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5NgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworIywgZnV6enkKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC0/ICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA1Cittc2dpZCAibWFnaWMgc3RyaW5nIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNgorbXNnaWQgInN1cGVyYmxvayB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIm1hZ2ljIHN0cmluZyBvZmZzZXQiCittc2dzdHIgIm5laXNwcmF2YW4gcG9tYWsgaW5kZWtzbm9nIMSNdm9yYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qLWJsb2tvdmEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi10YWJsZSIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTgwCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDUKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZSIKK21zZ3N0ciAiIC1mICBwcmlzaWxubyBwcm92amVyaVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbCIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2Cittc2dpZCAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNpamU6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaWplOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaWplOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBuZSBwcm92amVyYXZhaiBtb250aXJhbmUgZGF0b3RlxI1uZSBzdXN0YXZlXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAicG9ub3ZvIHByb8SNaXRhaiBwYXJ0aWNpanNrdSB0YWJsaWN1IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMxIHNjaGVkdXRpbHMvY2hydC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyOTkgc2NoZWR1dGlscy9jaHJ0LmM6Mzk1Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiJXMgbmlqZSBtb250aXJhblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZHVsamluZSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IGR1bGppbmUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IGR1bGppbmUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNgorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjEKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzeXMtdXRpbHMvY2hjcHUuYzoyOTIKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgcHJpa2HFvmkgb3Z1IHBvbW/EhyBpIGl6YcSRaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAibmUgbW9ndSBvdGtyaXRpIHZlbGnEjWludSB1cmXEkWFqYSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworIywgZnV6enkKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICIlczogbmlqZSBibG9rb3Zza2kgdXJlxJFhaiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3NAorbXNnaWQgIlJlc2V0IGEgcmFuZ2Ugb2Ygem9uZXMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmxrZGV2X2dldF9zZWN0b3JzIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTc3IHN5cy11dGlscy9ibGt6b25lLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiVzOiBuZSBtb2d1IHBpc2F0aSBtYXB1IHpvbmEiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFU0VUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IHZhbGlkIGNvbW1hbmQgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBicm9qIGluZGVrc25paCDEjXZvcm92YSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBicm9qIGluZGVrc25paCDEjXZvcm92YSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzkxIHN5cy11dGlscy9zZXRzaWQuYzo5MgorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHNwZWNpZmllZCIKK21zZ3N0ciAiJXM6IHVyZcSRYWogamUgbmVwcmF2aWxubyBwb3Jhdm5hbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgInN5bWxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAic3ltbGluayBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lbW9yeSBCbG9jayAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBpbmRleCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAic3ltbGluayBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTYgc3lzLXV0aWxzL2NobWVtLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgInN5bWxpbmsgbmlqZSB1c3BpbzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIiVzIG5pamUgdXNwaW8uXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIiVzIG5pamUgdXNwaW8uXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAic3ltbGluayBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJzeW1saW5rIG5pamUgdXNwaW86ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICIlcyBuaWplIHVzcGlvLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBicm9qIGluZGVrc25paCDEjXZvcm92YSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCBhZGRyZXNzIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBhZGRyZXNzIGFuZCAoZW5kIGFkZHJlc3MgKyAxKSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJhbmdlOiAlcyIKK21zZ3N0ciAiVWtsanXEjWVubzogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM3Cittc2dpZCAiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWVuYWJsZSAgICAgICBlbmFibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kaXNhYmxlICAgICAgZGlzYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgLVYgICAgICAgICBwb2phc25pIMWhdG8gcHJvZ3JhbSByYWRpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MworbXNnaWQgIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDcKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIHpvbmVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIKK21zZ3N0ciAiTmVwb3puYXRhIG5hcmVkYmE6ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJzZWVrIGdyZcWha2EiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODAKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlIHRpbWVzdGFtcCBvdXRwdXQgb24gZWFjaCBsaW5lIG9mIG11bHRpLWxpbmUgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTcKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDg4Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUyNgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM4Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MQorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJQb2Ryxb5hbmkgc3Ugc2FtbyBibG9rb3ZpL3pvbmUgdmVsacSNaW5lIDFrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDEKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OAorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUwCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjUKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY3Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMyIHN5cy11dGlscy9lamVjdC5jOjQ1NSBzeXMtdXRpbHMvZWplY3QuYzoxMDA2Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM4Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MworbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODMKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjcyNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3ODYgc3lzLXV0aWxzL2VqZWN0LmM6ODg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMwCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MSBzeXMtdXRpbHMvcnRjd2FrZS5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwNQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEyCittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NAorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk2Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTcKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmb3JrIG5pamUgdXNwaW8iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAic3ltbGluayBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NgorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg0Cittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IHBvxI1ldGthIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKKyMsIGZ1enp5Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkzIHN5cy11dGlscy9sc25zLmM6MTA2NiBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLU0gICAgICAgICBuZSBwcm92amVyYXZhaiBtb250aXJhbmUgZGF0b3RlxI1uZSBzdXN0YXZlXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMzEKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyOAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsIDApIHRvIGxvY2sgdGhlIHdhcnAgZnVuY3Rpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjU1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4OQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGFyZ2V0IGRhdGU6ICAgJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlZGljdGVkIFJUQzogJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NzAKK21zZ2lkICJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM1CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byByZWFkIHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJuZSBtb2d1IMSNaXRhdGkgc3VwZXJibG9rIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MworbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjYKK21zZ2lkICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBSVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorbXNnaWQgIiAgICAgLS1nZXRlcG9jaCAgICAgICBkaXNwbGF5IHRoZSBSVEMgZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lPiAgICBkYXRlL3RpbWUgaW5wdXQgZm9yIC0tc2V0IGFuZCAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg2Cittc2dpZCAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIGVwb2NoIGlucHV0IGZvciAtLXNldGVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4OAorbXNnaWQgIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgdGhlIFJUQyBkcmlmdCBmYWN0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IHVzZSAlMSRzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWFkamZpbGUgPGZpbGU+IHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS10ZXN0ICAgICAgICAgICBkcnkgcnVuOyBpbXBsaWVzIC0tdmVyYm9zZSIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgLVYgICAgICAgICBwb2phc25pIMWhdG8gcHJvZ3JhbSByYWRpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICJwcmV2acWhZSBhcmd1bWVuYXRhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMTcKK21zZ2lkICItLXVwZGF0ZS1kcmlmdCByZXF1aXJlcyAtLXNldCBvciAtLXN5c3RvaGMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgJyVzJyIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAibmUgbW9ndSBwcmlzdHVwaXRpIGRhdG90ZWNpICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIG9wZW46ICVzXG4iCittc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlczogJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDExCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6NzE1IHN5cy11dGlscy96cmFtY3RsLmM6NjI5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2VtYXBob3JlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTcgc3lzLXV0aWxzL2xzaXBjLmM6MjgxCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjaWplOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorIywgZnV6enkKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIm5laXNwcmF2bmEgdmVsacSNaW5hIGluZGVrc25vZyDEjXZvcmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE4Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJuZWlzcHJhdm5hIHZlbGnEjWluYSBpbmRla3Nub2cgxI12b3JhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODYKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJscGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIGluZGVrc25paCDEjXZvcm92YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuaWplIHByb25hxJFlbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgInNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY3NpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInZhbHVlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoZC9uKT8gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTg0Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE0Cittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE2Cittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE3Cittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjIKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjYKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDQKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJuZWlzcHJhdmFuIGFyZ3VtZW50IGR1bGppbmUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3NAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAibmUgbW9ndSDEjWl0YXRpIGRpcmVrdG9yaWogJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ4MworbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJvdGtyaWogdmVsacSNaW51IHUgYmFqdG92aW1hIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDEgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE3Cittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIm5lIG1vZ3UgdnJhdGl0aSB1bmF0cmFnIHN3YXAtdXJlxJFhaiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIm5lIG1vZ3UgdnJhdGl0aSB1bmF0cmFnIHN3YXAtdXJlxJFhaiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NDIgc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICJuaXNhbSB1c3BpbyBvYnJhZGl0aSBicm9qIGJsb2tvdmEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODUKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSBsb2dpxI1rb2cgYmxva2EgKHNla3RvcmEpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorbXNnaWQgIm5vbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk3Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NgorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAwCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDEKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMgorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNAorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDUKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgImlvY3RsIG5pamUgdXNwaW86IG5lIG1vZ3Ugb2RyZWRpdGkgdmVsacSNaW51IHVyZcSRYWphOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTMwNworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIm5pc2FtIHVzcGlvIG9icmFkaXRpIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIk4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczNworbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ3Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjcKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAzCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyMgorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorIywgZnV6enkKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzYKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0Cittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MAorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODIKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTExCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTIKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE0Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSBibG9rYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVcG9yYWJhOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAibmVpc3ByYXZhbiBicm9qIGluZGVrc25paCDEjXZvcm92YSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJuZWlzcHJhdmFuIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE1Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3MworbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJvdGtyaWogdmVsacSNaW51IHUgYmFqdG92aW1hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm90a3JpaiB2ZWxpxI1pbnUgdSBiYWp0b3ZpbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm90a3JpaiB2ZWxpxI1pbnUgdSBiYWp0b3ZpbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjgKK21zZ2lkICJzdGFydCBhbmQgZW5kIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJvdGtyaWogdmVsacSNaW51IHUgYmFqdG92aW1hIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCittc2dpZCAibWVtb3J5IGlzIHJlbW92YWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzMKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorIywgZnV6enkKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSB1IGJhanRvdmltYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYxCittc2dpZCAib25saW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAib3RrcmlqIHZlbGnEjWludSBibG9rYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlcyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzI0IHN5cy11dGlscy9sc21lbS5jOjMzNworbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgbWVtb3J5IGJsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKK21zZ2lkICJvcHRpb25zIC0te3Jhdyxqc29uLHBhaXJzfSBhbmQgLS1zdW1tYXJ5PW9ubHkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6Njc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIm5lIG1vZ3UgdnJhdGl0aSB1bmF0cmFnIHN3YXAtdXJlxJFhaiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5OQorbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwCittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDEKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDMKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDQKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDUKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3Cittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA1CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOQorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIk5lcG96bmF0YSBuYXJlZGJhOiAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBkdWxqaW5lIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MyBzeXMtdXRpbHMvbW91bnQuYzoyNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlcyBqZSBtb250aXJhblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMwNyBzeXMtdXRpbHMvdW1vdW50LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICJVcmXEkWFqOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIm5pc2FtIHVzcGlvIGRvZGF0aSBwYXJ0aWNpanUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcm92amVyYXZhbSBzdmUgZGF0b3RlxI1uZSBzdXN0YXZlLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1sICBpc3BpxaFpIHN2ZSBkYXRvdGVrZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM0OQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAibmlzYW0gdXNwaW8gYWxvY2lyYXRpIGl0ZXJhdG9yIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAibmlzYW0gdXNwaW8gcG9zdGF2aXRpIG9waXMgemEgJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaG93biBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjkKKyMsIGZ1enp5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCBuaWplIHVzcGlvICVzIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICJCbG9rb3ZpOiAlbGxkXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAib3BlbiBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY3Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OQorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg0Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MAorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjc0Cittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAixI1pdGFuamUgbmlqZSB1c3BqZWxvOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMworbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzEzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaWRlbnRpZmllciIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBwb8SNZXRrYSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgIkJsb2tvdmk6ICVsbGRcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgInVuYmxvY2tlZCIKK21zZ3N0ciAiJWx1IGJsb2tvdmFcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgcG/EjWV0a2EiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gY29tbWFuZCBbaWRlbnRpZmllciAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSBkYXRvdGVrYVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY5Cittc2dpZCAiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBjb21tYW5kIG5hbWVzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCwgZXhwbGFpbmluZworIy4gdGhlbSBhcyBhZGRpdGlvbmFsIGZpZWxkIGFmdGVyIGlkZW50aWZpZXIgaXMgZmluZSwgZm9yIGV4YW1wbGUKKyMuICoKKyMuIGxpc3QgICBbaWRlbnRpZmllcl0gICAobGlzdGEgW3Rhcmtlbm5lXSkKKyMuCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkyCittc2dpZCAiIGhlbHBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorIywgZnV6enkKK21zZ2lkICIgYmxvY2sgICBpZGVudGlmaWVyXG4iCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NgorbXNnaWQgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNTYKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAibmUgbW9ndSDEjWl0YXRpIGRpcmVrdG9yaWogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1MworIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NQorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OAorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzYwCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgInBvbm92byBwcm/EjWl0YWogcGFydGljaWpza3UgdGFibGljdSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiJXM6IHVyZcSRYWogamUgbmVwcmF2aWxubyBwb3Jhdm5hbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIHBvc3Rhdml0aSBvcGlzIHphICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSBkYXRvdGVrYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExOQorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjYKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMgorIywgZnV6enkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM2Cittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTQ0Cittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIm5laXNwcmF2YW4gYnJvaiBwYXJ0aWNpamUga2FvIGFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiBuaWplIHByb25hxJFlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAixI1pdGFuamUgbmlqZSB1c3BqZWxvOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAixI1pdGFuamUgbmlqZSB1c3BqZWxvOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgIiVzOiBpenZyxaFhdmFuamUgbmlqZSB1c3BqZWxvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICIlczogaXp2csWhYXZhbmplIG5pamUgdXNwamVsbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJuZXBvZHLFvmFuZSBtb2d1xIdub3N0aSBkYXRvdGXEjW5vZyBzdXN0YXZhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2MQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4OQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJzZWVrIG5pamUgdXNwaW86ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkwCittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MDcKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTE5Cittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTMyCittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2NQorIywgZnV6enkKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCBuaWplIHVzcGlvICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworIywgZnV6enkKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGl6dnLFoWF2YW5qZSBuaWplIHVzcGplbG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYgIHByaXNpbG5vIHByb3ZqZXJpXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTE3Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTIwCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAibmVtYSBvem5ha2UsICIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBncmXFoWthIG9icmFkZSB1IHJldGt1ICVkIC0tIHphbmVtYXJlbm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogZ3JlxaFrYSBvYnJhZGUgdSByZXRrdSAlZCAtLSB6YW5lbWFyZW5vIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBuZSBtb2d1IHBpc2F0aSBpbmRla3NuZSDEjXZvcm92ZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA2Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNworbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAxCittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjc4Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgamUgbW9udGlyYW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBqZSBtb250aXJhblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICJuaXNhbSB1c3BpbyBwb3N0YXZpdGkgb3BpcyB6YSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuaWplIHByb25hxJFlbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAibmVwb2Ryxb5hbmUgbW9ndcSHbm9zdGkgZGF0b3RlxI1ub2cgc3VzdGF2YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAid3JpdGUgbmlqZSB1c3BpbzogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAibmVwb2Ryxb5hbmUgbW9ndcSHbm9zdGkgZGF0b3RlxI1ub2cgc3VzdGF2YSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIlByb3ZqZXJhdmFtIHN2ZSBkYXRvdGXEjW5lIHN1c3RhdmUuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgIm5lIG1vZ3UgemF0dm9yaXRpIGRhdG90ZWt1ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAib3BlbiBuaWplIHVzcGlvOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiICAgICAtLWtpbGwtY2hpbGRbPTxzaWduYW1lPl0gIHdoZW4gZHlpbmcsIGtpbGwgdGhlIGZvcmtlZCBjaGlsZCAoaW1wbGllcyAtLWZvcmspOyBkZWZhdWx0cyB0byBTSUdLSUxMXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjQKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2OAorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDEKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAiY2hvd24gbmlqZSB1c3BpbzogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU0Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbmlqZSB1c3Bpby5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIwIHN5cy11dGlscy93ZGN0bC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzQgc3lzLXV0aWxzL3dkY3RsLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUgc3lzLXV0aWxzL3dkY3RsLmM6NDY4IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NgorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzIKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg1Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiVzIFtvcGNpamVdIFstdCA8dnJzdGE+XSBbZHMtb3BjaWplXSA8dXJlxJFhaj4gWzx2ZWxpxI1pbmE+XVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDIKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjEKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk0IHN5cy11dGlscy96cmFtY3RsLmM6NzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzA1IHN5cy11dGlscy96cmFtY3RsLmM6NzEzCittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIG9icmFkaXRpIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NzQgdGVybS11dGlscy9hZ2V0dHkuYzo5MDEgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzcgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ4NAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNTI2IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5MyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiVzIGl6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZHVsamluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIm5laXNwcmF2YW4gYnJvaiBpbmRla3NuaWggxI12b3JvdmEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBkdWxqaW5lIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA4Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIm5pc2FtIHVzcGlvIMSNaXRhdGk6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4MzUKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg1OQorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjIKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY4Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCisjLCBmdXp6eQorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NQorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NworIywgZnV6enkKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTAKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTIKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NAorbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU1Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU2Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gbmlqZSB1c3BpbzogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIm5lIG1vZ3UgemF0dm9yaXRpIGRhdG90ZWt1ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OQorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY3Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10WzxmaWxlPl0sIC0tdGltaW5nWz08ZmlsZT5dIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgb3IgdG8gRklMRVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICJncmXFoWthIMSNaXRhbmphIG5hICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzOQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMworbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAicHJldmnFoWUgYXJndW1lbmF0YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NTEKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJuZSBtb2d1IG90dm9yaXRpICVzOiAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgInNlZWsgbmlqZSB1c3BpbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjdXJzb3IgcG9zaXRpb246ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInNlZWsgbmlqZSB1c3BpbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMTYgdGVybS11dGlscy9zZXR0ZXJtLmM6MTEyNQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE0NgorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTUzCittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU3Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJpbnRlcm5hIGdyZcWha2EiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgIm9wZW4gbmlqZSB1c3BpbzogJXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3BjaWplXSBkYXRvdGVrYVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MworbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgIm5laXNwcmF2YW4gYXJndW1lbnQgZHVsamluZSIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBnaWQiCittc2dzdHIgIk5lcG96bmF0YSBuYXJlZGJhOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjEzCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNTcKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCByZWFkICVzIC0gdXNlIHN0ZGluLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjUKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICIlczogbmlzYW0gdXNwaW8gYW5hbGl6aXJhdGkgZnN0YWIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiJXM6IG5pc2FtIHVzcGlvIGFuYWxpemlyYXRpIGZzdGFiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAibmlzYW0gdXNwaW8gZG9kYXRpIHBhcnRpY2lqdSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MgorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGVyXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworIywgZnV6enkKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5Cittc2dpZCAiIC1ULCAtLXRhYmxlLXRydW5jYXRlIDxjb2x1bW5zPiAgIHRydW5jYXRlIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MAorbXNnaWQgIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCBmb3IgdGFibGVcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS10cmVlIDxjb2x1bW4+ICAgICAgICAgICAgICBjb2x1bW4gdG8gdXNlIHRyZWUtbGlrZSBvdXRwdXQgZm9yIHRoZSB0YWJsZVxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHNhbW8gemJvZyBrb21wYXRpYmlsbm9zdGksIHphbmVtYXJlbm9cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTUKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW1uPiAgICAgICBwYXJlbnQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgc2FtbyB6Ym9nIGtvbXBhdGliaWxub3N0aSwgemFuZW1hcmVub1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MAorbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+ICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0IChkZWZhdWx0IGlzIHR3byBzcGFjZXMpXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjEKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+ICAgICAgICAgcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYW1vIHpib2cga29tcGF0aWJpbG5vc3RpLCB6YW5lbWFyZW5vXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgIm5pc2FtIHVzcGlvIG9icmFkaXRpIGJyb2ogaW5kZWtzbmloIMSNdm9yb3ZhIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OQorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAtVCAgICAgICAgIG5lIHByaWthenVqIG5hc2xvdiBwcmkgcG9rcmV0YW5qdVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgcG9qYXNuaSDFoXRvIHByb2dyYW0gcmFkaVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE4MworIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjkKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMyMQorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU2NAorbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjY2Cittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOQorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MAorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDIKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDYKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NworbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICIlcyB6YWh0aWpldmEgYXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2NworbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg1Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICJncmXFoWthIMSNaXRhbmphIG5hICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJOZXBvem5hdGEgbmFyZWRiYTogJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAibmUgbW9ndSBwcmlzdHVwaXRpIGRhdG90ZWNpICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjYzCittc2dpZCAic2F2ZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTk0IHRleHQtdXRpbHMvcGcuYzoxNjY3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODEKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNpamVdIGRhdG90ZWthXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI5Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAtViAgICAgICAgIHBvamFzbmkgxaF0byBwcm9ncmFtIHJhZGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAibmVwb2Ryxb5hbmUgbW9ndcSHbm9zdGkgZGF0b3RlxI1ub2cgc3VzdGF2YSIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgInNlZWsgZ3JlxaFrYSBuYSAlcyIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgJyVzIC1oJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlphIHZpxaFlIGluZm9ybWFjaWphIHBvZ2xlZGFqdGUgbWtmcyg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisjfiBtc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLT8gICAgICAgICBwcmlrYcW+aSBvdnUgcG9tb8SHIGkgaXphxJFpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorI34gbXNnc3RyICJuaXNhbSB1c3BpbyBkb2RhdGkgcGFydGljaWp1IgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorI34gbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICIgJXMgW29wY2lqZV0gZGF0b3Rla2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHByaWthxb5pIGJyb2ogaSB2ZWxpxI1pbnUgc2VrdG9yYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorI34gbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc2VjY29tcCBjb250ZXh0IgorI34gbXNnc3RyICJuZSBtb2d1IHZyYXRpdGkgdW5hdHJhZyBzd2FwLXVyZcSRYWoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIiVzOiBuaXNhbSB1c3BpbyBhbmFsaXppcmF0aSBmc3RhYiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiU3RhbmplIGRhdG90ZcSNbm9nIHN1c3RhdmE9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgImdyZcWha2Egb2JyYWRlOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICJuZSBtb2d1IHphdHZvcml0aSBkYXRvdGVrdSAlcyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBuaWplIGJsb2tvdnNraSBwb3NlYm5pIHVyZcSRYWoiCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiB1cmXEkWFqIGplIG5lcHJhdmlsbm8gcG9yYXZuYW4iCisKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIlByb25hxJFlbm8gamUgdnJsbyBkdWdhxI1rbyAoJXp1IGJhanRvdmEpIGltZSBkYXRvdGVrZSDigJ4lc+KAnS5cbiIKKyN+ICIgTW9saW0gcG92ZcSHYWp0ZSB1IE1BWF9JTlBVVF9OQU1FTEVOIHUgbWtjcmFtZnMuYyBpIHBvbm92byBrb21wYWpsaXJhanRlLiBJemxhemltLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiJXM6IG5lIG1vZ3UgYWxvY2lyYXRpIG1lxJF1c3ByZW1uaWsgemEgc3VwZXJibG9rIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlczogbmUgbW9ndSBhbG9jaXJhdGkgbWXEkXVzcHJlbW5pa2UgemEgbWFwZSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiBuZSBtb2d1IGFsb2NpcmF0aSBtZcSRdXNwcmVtbmlrIHphIGluZGVrc25lIMSNdm9yb3ZlIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAgYnVkaSBvcMWhaXJhblxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICIlczogbmVpc3ByYXZuYSB2ZWxpxI1pbmEgaW5kZWtzbm9nIMSNdm9yYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBwcmlrYcW+aSBicm9qIGkgdmVsacSNaW51IHNla3RvcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgIm5lIG1vZ3Ugb3R2b3JpdGkgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJwb25vdm8gcHJvxI1pdGFqIHBhcnRpY2lqc2t1IHRhYmxpY3UiCisKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic3RhdCBuaWplIHVzcGlvICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICJuaXNhbSB1c3BpbyBhbG9jaXJhdGkgaXRlcmF0b3IiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbb3BjaWplXSB1cmXEkWFqXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wY2lqZTpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICBvbmVtb2d1xIdpIHByb3ZqZXJ1IG5ha29uIGZvcm1hdGlyYW5qYVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGlzcGnFoWkgaW5mb3JtYWNpamUgbyBpbmHEjWljaSBpIGl6YcSRaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXMgKCVzKVxuIgorCisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJOZWlzcHJhdm5hIHZlbGnEjWluYSBzd2FwIHphZ2xhdmxqYSwgb3puYWthIG5pamUgemFwaXNhbmEuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgInNlZWsgZ3JlxaFrYSBuYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJuZSBtb2d1IHphdHZvcml0aSBkYXRvdGVrdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIm5lIG1vZ3UgemF0dm9yaXRpIGRhdG90ZWt1ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibmUgbW9ndSBvdHZvcml0aSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAiZ3JlxaFrYSBwcmkgemF0dmFyYW5qdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImdyZcWha2EgcHJpIHBpc2FuanUgc3VwZXJibG9rYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIm5lIG1vZ3Ugb3Rrcml0aSB2ZWxpxI1pbnUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiZ3JlxaFrYSBwcmkgemF0dmFyYW5qdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJ1cG96b3JlbmplOiBkYXRvdGVrYSBzZSBwcm90ZcW+ZSBwcmVrbyB6YXZyxaFldGthIGRhdG90ZcSNbm9nIHN1c3RhdmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgd3JpdGluZyB0aGUgcGFydGl0aW9uIG9uICVzIgorI34gbXNnc3RyICJuaXNhbSB1c3BpbyB1a2xvbml0aSBwYXJ0aWNpanUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJwcmV2acWhZSB1cmXEkWFqYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIm5pc2FtIHVzcGlvIHVrbG9uaXRpIHBhcnRpY2lqdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIiAlcyBbb3BjaWplXSA8dXJlxJFhaj5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiB1IHJlZHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJaYSB2acWhZSBpbmZvcm1hY2lqYSBwb2dsZWRhanRlIG1rZnMoOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgImZvcmsgbmlqZSB1c3BpbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiVzIHphaHRpamV2YSBhcmd1bWVudCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgcHJpa2HFvmkgYnJvaiBpIHZlbGnEjWludSBzZWt0b3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAtPyAgICAgICAgIHByaWthxb5pIG92dSBwb21vxIcgaSBpemHEkWlcbiIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAia29tcGFqbGlyYW5vIGJleiBwb2RyxaFrZSB6YSAteCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAid3JpdGUgbmlqZSB1c3BpbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJQb3N0YXZpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibmUgbW9ndSB2cmF0aXRpIHVuYXRyYWcgc3dhcC11cmXEkWFqIgorCisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIndhaWRwaWQgbmlqZSB1c3BpbyIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgInBvc3RhdmkgdmVsacSNaW51IGJsb2thIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJqZWRhbiBuZWlzcHJhdm5pIGJsb2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICIgJXMgW29wY2lqZV0gPHVyZcSRYWo+XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIsSNaXRhbmplIG5pamUgdXNwamVsbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInNlZWsgbmlqZSB1c3BpbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJzZWVrIG5pamUgdXNwaW86ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgIndyaXRlIG5pamUgdXNwaW86ICVzIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgInVwb3JhYmE6XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIlx0TkFQT01FTkE6IGVsdnR1bmUgcmFkaSBzYW1vIHMgamV6Z3JhbWEgMi40XG4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAibmVkb3N0YWplIGJsb2tvdnNraSB1cmXEkWFqLCBrb3Jpc3RpdGUgLWggemEgcG9tb8SHXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImVsdnR1bmUgamUga29yaXN0YW4gc2FtbyBuYSBzdGFyaW0gamV6Z3JhbWEsXG4iCisjfiAidW1qZXN0byBuamVnYSBrb3Jpc3RpdGUgSU8gc2NoZWR1bGVyIHN5c2ZzIHR1bmFibGVzIHphIDIuNi5cbiIKKworI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibmVpc3ByYXZhbiBhcmd1bWVudCBicm9qYSBpemRhbmphIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAicGlzYW5qZSBuaWplIHVzcGplbG86ICVzIgpkaWZmIC0tZ2l0IGEvcG8vaHUucG8gYi9wby9odS5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWRjZDM3Ci0tLSAvZGV2L251bGwKKysrIGIvcG8vaHUucG8KQEAgLTAsMCArMSwyNTczMSBAQAorIyBIdW5nYXJpYW4gdHJhbnNsYXRpb24gb2YgdXRpbC1saW51eC1uZworIyBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDcsIDIwMDgsIDIwMTAgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4LW5nIHBhY2thZ2UuCisjCisjIEfDoWJvciBJc3R2w6FuIDxzdGl2ZUBtZXpvYmVyZW55Lmh1PiwgMjAwMi4KKyMgR2Fib3IgS2VsZW1lbiA8a2VsZW1lbmdAZ25vbWUuaHU+LCAyMDA3LCAyMDA4LCAyMDEwLgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC1uZyAyLjE4LXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEwLTA3LTAyIDEwOjQ0KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IEdhYm9yIEtlbGVtZW4gPGtlbGVtZW5nQGdub21lLmh1PlxuIgorIkxhbmd1YWdlLVRlYW06IEh1bmdhcmlhbiA8dHJhbnNsYXRpb24tdGVhbS1odUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IGh1XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1HZW5lcmF0b3I6IEtCYWJlbCAxLjExLjRcbiIKKyJQbHVyYWwtRm9ybXM6ICBucGx1cmFscz0yOyBwbHVyYWw9KG4gIT0gMSk7XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKKyMsIGZ1enp5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIlTDumwga2V2w6lzIGFyZ3VtZW50dW0iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJiZcOhbGzDrXTDoXMgY3NhayBvbHZhc2hhdMOzcmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJiZcOhbGzDrXTDoXMgw61yaGF0w7NyYSDDqXMgb2x2YXNoYXTDs3JhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJjc2FrIG9sdmFzaGF0w7Mgw6FsbGFwb3QgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImxvZ2lrYWkgYmxva2sgKHN6ZWt0b3IpbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJmaXppa2FpIGJsb2trIChzemVrdG9yKW3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm1pbmltw6FsaXMgSS9PIG3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9wdGltw6FsaXMgSS9PIG3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgImdldCBhbGlnbm1lbnQgb2Zmc2V0IGluIGJ5dGVzIgorbXNnc3RyICJpZ2F6w610w6FzaSBlbHRvbMOhcyBsZWvDqXLDqXNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJrw6lyw6lzZW5rw6ludGkgbWF4LiBzemVrdG9yc3rDoW0gbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImJsb2trbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworIywgZnV6enkKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICIzMiBiaXRlcyBzemVrdG9yb2sgc3rDoW3DoW5hayBsZWvDqXLDqXNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgIm3DqXJldCBsZWvDqXLDqXNlIGLDoWp0b2tiYW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJlbMWRcmVvbHZhc8OhcyBiZcOhbGzDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiZWzFkXJlb2x2YXPDoXMgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiZsOhamxyZW5kc3plciBlbMWRcmVvbHZhc8Ohc8OhbmFrIGJlw6FsbMOtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImbDoWpscmVuZHN6ZXIgZWzFkXJlb2x2YXPDoXPDoW5hayBsZWvDqXLDqXNlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAicHVmZmVyZWsgw7xyw610w6lzZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NgorIywgZnV6enkKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiICAgIC1xICBbdmFneSAtLXF1aWV0XTogICAgZmlneWVsbWV6dGV0xZEgw7x6ZW5ldGVrIGVsbsOpbcOtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiRWzDqXJoZXTFkSBwYXJhbmNzb2s6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIm3DqXJldCBsZWvDqXLDqXNlIDUxMiBiw6FqdG9zIHN6ZWt0b3Jva2JhbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGEgaHVyb2tlc3prw7Z6dCBrw6l0c3plciBhZHRhIG1lZyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJOZW0gbGVoZXQgbGVrw6lyZGV6bmkgYSBsZW1leiBtw6lyZXTDqXQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBlZ3kgcGFyYW3DqXRlcnQgaWfDqW55ZWxcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4NyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IGlvY3RsIGhpYmEgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIHNpa2VyZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVydC5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiw41WICAgIEVPICAgU00gICAgQk0gICAgS2V6ZMWRU3pla3RvciAgICAgICAgTcOpcmV0ICAgRXN6a8O2elxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJBa3TDrXYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJBeiBha3R1w6FsaXMgcGFydMOtY2nDsyBpbmTDrXRoYXTDs3bDoSB0w6l0ZWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiVMO2cmzDqXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiQXogYWt0dcOhbGlzIHBhcnTDrWNpw7MgdMO2cmzDqXNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJSZWR1Y2Ugb3IgZW5sYXJnZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkF6IGFrdHXDoWxpcyBwYXJ0w61jacOzIHTDtnJsw6lzZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIsOaaiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIsOaaiBwYXJ0w61jacOzIGzDqXRyZWhvesOhc2EgYSBzemFiYWQgdGVyw7xsZXRlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IgorbXNnc3RyICJLaWzDqXDDqXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiS2lsw6lww6lzIGEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBuw6lsa8O8bCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVMOtcHVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgZWd5IHBhcnTDrWNpw7MgcmVuZHN6ZXJhem9ub3PDrXTDs2rDoW5hayBtw7Nkb3PDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIlPDumfDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiU2Vnw610c8OpZyBracOtcsOhc2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworIywgZnV6enkKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIHBhcnTDrWNpw7Nzb3JyZW5kIGphdsOtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIktpw61yw6FzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIkEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGxlbWV6cmUgKGFkYXR2ZXN6dMOpc3Qgb2tvemhhdCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorIywgZnV6enkKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiS2nDrXJqYSBhIHBhcnTDrWNpw7NzIHTDoWJsw6F0IGEga8OpcGVybnnFkXJlIHZhZ3kgZWd5IGbDoWpsYmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjQyIGRpc2stdXRpbHMvZmRpc2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICJ1bW91bnQ6ICVzIG5lbSB0YWzDoWxoYXTDsyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNTQKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiJXMgY3NhdG9sdmEgdmFuLlx0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICJsZW1lejogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiJXMgbGVtZXo6ICVsdSBjaWxpbmRlciwgJWx1IGZlaiwgJWx1IHN6ZWt0b3Igc8Ohdm9ua8OpbnRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJMZW1lemF6b25vc8OtdMOzOiAweCUwOHhcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgImPDrW1rZTogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiQSDigJ4tLWRhdGXigJ0ga2FwY3NvbMOzIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIm3DqXJldCBsZWvDqXLDqXNlIGLDoWp0b2tiYW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIm3DqXJldCBsZWvDqXLDqXNlIGLDoWp0b2tiYW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIiVzOiBuZW0gw61yaGF0w7MgYSBwYXJhbmNzZsOhamwsIGhpYmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorIywgZnV6enkKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJOZW0gbGVzeiBrw6lwZXMgZXJyZSBhIHBhcnTDrWNpw7NzIHTDoWJsw6FyYSDDrXJuaS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIkEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWdcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJhIHTDrXB1c3BhcmFuY3Nmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiYSB0w61wdXNwYXJhbmNzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJuZW0gZm9nbGFsaGF0w7MgbGUga2ltZW5ldGkgcHVmZmVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgImEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gdMOtcHVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkEoeikgJXMgbGVtZXogbmVtIHRhcnRhbG1heiDDqXJ2w6lueWVzIHBhcnTDrWNpw7NzIHTDoWJsw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzYKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJFeiBhIGNmZGlzaywgZWd5IGN1cnNlcyBhbGFww7ogbGVtZXpwYXJ0aWNpb27DoWzDsyBwcm9ncmFtLCBhbWVsbHllbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJsw6l0cmVob3poYXRqYSwgdMO2csO2bGhldGkgw6lzIG3Ds2Rvc8OtdGhhdGphIGEgcGFydMOtY2nDs2l0IGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJQYXJhbmNzICAgICBKZWxlbnTDqXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIEF6IGFrdHXDoWxpcyBwYXJ0w61jacOzIG1lZ2plbMO2bMOpc2UgaW5kw610aGF0w7Nrw6ludCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBBeiBha3R1w6FsaXMgcGFydMOtY2nDsyB0w7ZybMOpc2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIEV6ZW4ga8OpcGVybnnFkSBtZWdqZWxlbsOtdMOpc2UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICDDmmogcGFydMOtY2nDsyBsw6l0cmVob3rDoXNhIGEgc3phYmFkIHRlcsO8bGV0YsWRbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAgS2lsw6lww6lzIGEgcHJvZ3JhbWLDs2wgYSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIG7DqWxrw7xsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKKyMsIGZ1enp5Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtw6l0ZXJla1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODcKKyMsIGZ1enp5Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBBIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6FuYWsgbWVndsOhbHRvenRhdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OAorbXNnaWQgIiAgdSAgICAgICAgICBEdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OQorIywgZnV6enkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICBLacOtcmphIGEgcGFydMOtY2nDs3MgdMOhYmzDoXQgYSBsZW1lenJlIChjc2FrIGEgbmFneSBXIMOpcnbDqW55ZXMpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIEV6IGxldMO2cmxpIGF6IMO2c3N6ZXMgYWRhdG90IGEgbGVtZXpyxZFsLCBlesOpcnQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MQorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICBlcsWRc8OtdHNlLCB2YWd5IHRhZ2FkamEgbWVnIGF6IMOtcsOhc3QgYXog4oCeaWdlbuKAnSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJGZWwgbnnDrWwgICAgIEEga3Vyem9ydCBheiBlbMWResWRIHBhcnTDrWNpw7NyYSBtb3pnYXRqYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiTGUgbnnDrWwgICAgICBBIGt1cnpvcnQgYSBrw7Z2ZXRrZXrFkSBwYXJ0w61jacOzcmEgbW96Z2F0amEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorIywgZnV6enkKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiRmVsIG55w61sICAgICBBIGt1cnpvcnQgYXogZWzFkXrFkSBwYXJ0w61jacOzcmEgbW96Z2F0amEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJMZSBuecOtbCAgICAgIEEga3Vyem9ydCBhIGvDtnZldGtlesWRIHBhcnTDrWNpw7NyYSBtb3pnYXRqYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiTWVnamVneXrDqXM6IEF6IMO2c3N6ZXMgcGFyYW5jcyBiZcOtcmhhdMOzIGtpcyDDqXMgbmFneSBiZXTFsXZlbCBpcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5CisjLCBmdXp6eQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJraXbDqXZlIGtpw61yw6FzbsOhbCAoVykuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMDEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0CisjLCBmdXp6eQorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiTnlvbWpvbiBtZWcgZWd5IGJpbGxlbnR5xbF0IGEgZm9seXRhdMOhc2hveiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3CisjLCBmdXp6eQorbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhIGvDtnZldGtlesWROiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiVkLiBwYXJ0w61jacOzIGtpdsOhbGFzenR2YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzbmFrIG5pbmNzIGFkYXR0ZXLDvGxldGVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgbcOzZG9zw610dmEgYSBrw7Z2ZXRrZXrFkXJlOiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIHJlbmRzemVydMOtcHVzYSB2w6FsdG96YXRsYW46ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0CisjLCBmdXp6eQorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgIsOaaiBwYXJhbmNzw6lydGVsbWV6xZEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAiTmluY3NlbmVrIHBhcnTDrWNpw7NrIG1lZ2FkdmFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorIywgZnV6enkKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrPyAiCittc2dzdHIgIkJpenRvc2FuIGtpIGFrYXJqYSDDrXJuaSBhIHBhcnTDrWNpw7NzIHTDoWJsw6F0IGEgbGVtZXpyZT8gKGlnZW4gdmFneSBuZW0pOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJpZ2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIkEgcGFydMOtY2nDs3MgdMOhYmxhIG5lbSBrZXLDvGx0IGEgbGVtZXpyZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIHNpa2VydGVsZW4gYSB3cml0ZV90YWJsZXMtYmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJBIHBhcnTDrWNpw7NzIHTDoWJsYSBtw7Nkb3PDrXR2YSFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorIywgZnV6enkKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIiIKKyJcbiIKKyJBIHBhcnTDrWNpw7NzIHTDoWJsYSBiZWplZ3l6w6lzZWkgbmVtIGEgbGVtZXplbiB0YWzDoWxoYXTDsyBzb3JyZW5kYmVuIHZhbm5ha1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzOAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2NzYgZGlzay11dGlscy9mZGlzay5jOjk1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMjAKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDI5IHN5cy11dGlscy9kbWVzZy5jOjE0MTAgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIm5pbmNzIHBhcmFuY3M/XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJuZW0gZm9nbGFsaGF0w7MgbGUga2ltZW5ldGkgcHVmZmVyIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgImhhc3puw6FsYXQ6IHNmZGlzayAtLWlkIGVzemvDtnogcGFydMOtY2nDs3N6w6FtIFthem9ub3PDrXTDs11cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3Jtw6F6w6FzIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAia8Opc3pcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJFbGxlbsWRcnrDqXMgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiT2x2YXPDoXM6ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2Jsw6ltYSBhKHopICVkLiBjaWxpbmRlciBvbHZhc8Ohc2Frb3IsIGEgdsOhcnQgJWQgaGVseWV0dCAlZCBrZXLDvGx0IGJlb2x2YXPDoXNyYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImhpYsOhcyBhZGF0b2sgYSh6KSAlZC4gY2lsaW5kZXJiZW5cbiIKKyJGb2x5dGF0w6FzIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMyBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwMiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgImF6IGVsw6lyw6lzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogZXogbmVtIGJsb2trb3MgZXN6a8O2elxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAiTmVtIHNpa2Vyw7xsdCBtZWdoYXTDoXJvem5pIGF6IGFrdHXDoWxpcyBmb3Jtw6F6w6FzaSB0w61wdXN0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzIG9sZGFsLCAlZCBzw6F2LCAlZCBzemVrdG9yL3PDoXYuIFRlbGplcyBrYXBhY2l0w6FzOiAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRHVwbGEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIlN6aW1wbGEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXUtJXUsIGFsYXDDqXJ0ZWxtZXpldHRlbiAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIkF6IGFsYXDDqXJ0ZWxtZXpldHQgJXUgw6lydMOpayBrZXLDvGwgZmVsaGFzem7DoWzDoXNyYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIyIGRpc2stdXRpbHMvZmRpc2suYzoyOTYgZGlzay11dGlscy9mZGlzay5jOjM3MQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyNDEgbGliZmRpc2svc3JjL2dwdC5jOjI0NjkKKyMsIGZ1enp5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiQXogw6lydMOpayBrw612w7xsIGVzaWsgYSB0YXJ0b23DoW55b24uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBhbGFww6lydGVsbWV6ZXR0ZW4gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTQgZGlzay11dGlscy9mZGlzay5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBhbGFww6lydGVsbWV6ZXR0ZW4gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBhbGFww6lydGVsbWV6ZXR0ZW4gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIGFsYXDDqXJ0ZWxtZXpldHRlbiAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJIZXhhIGvDs2QgKGEga8OzZG9rIGxpc3TDoWphIGF6IEwgbWVnbnlvbcOhc8OhdmFsIMOpcmhldMWRIGVsKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIkhleGEga8OzZCAoYSBrw7Nkb2sgbGlzdMOhamEgYXogTCBtZWdueW9tw6Fzw6F2YWwgw6lyaGV0xZEgZWwpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiQSBET1Mga29tcGF0aWJpbGl0w6FzaSBqZWx6xZEgYmUgdmFuIMOhbGzDrXR2YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiQSBET1Mga29tcGF0aWJpbGl0w6FzaSBqZWx6xZEgbmluY3MgYmXDoWxsw610dmFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbcOpZyBuZW0gbMOpdGV6aWshXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIklzbWVyZXRsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgbcOzZG9zw610dmEgYSBrw7Z2ZXRrZXrFkXJlOiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgdsOhbHRvemF0bGFuOiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICJsZW1lejogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJhIHByb2dyYW1pbmTDrXTDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiVzOiBuZW0gb2x2YXNoYXTDsyBhKHopICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxIGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOTgKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJFbHPFkSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIkEgQkxLR0VUU0laRSBpb2N0bCBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRbjogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMworbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIwCittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIkFkamEgbWVnIGEgY2lsaW5kZXJlayBzesOhbcOhdDogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiICAgIC1IIyBbdmFneSAtLWhlYWRzICNdOiAgICAgIGEgaGFzem7DoWxhbmTDsyBmZWpzesOhbSBiZcOhbGzDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBzw6F2b25rw6ludGkgc3pla3Rvcm9rIHN6w6Ftw6F0OiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTggZGlzay11dGlscy9mZGlzay5jOjkwMCBkaXNrLXV0aWxzL3BhcnR4LmM6ODczCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTEwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyMgorIywgZnV6enkKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiJXM6IG5lbSB0YWzDoWxoYXTDsyBhKHopICVzIGVzemvDtnplXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgImlzbWVyZXRsZW4gZXLFkWZvcnLDoXN0w61wdXM6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJuaW5jcyBwYXJhbmNzP1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIC1iIChzemVrdG9ybcOpcmV0IGJlw6FsbMOtdMOhc2EpIGthcGNzb2zDs2hveiBtZWcga2VsbCBhZG5pIGVneSBlc3prw7Z6dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAzMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA0OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njk1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODcKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NjcgZGlzay11dGlscy9yYXcuYzoxMzcgZGlzay11dGlscy9yYXcuYzoxNTAKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTYyIGRpc2stdXRpbHMvcmF3LmM6MjAzIG1pc2MtdXRpbHMvY2FsLmM6NTIwCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjU4IG1pc2MtdXRpbHMvbG9vay5jOjE1MCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1NzMKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU4NCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1OTUgbWlzYy11dGlscy93aGVyZWlzLmM6NjM3CisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MDQgc2NoZWR1dGlscy9pb25pY2UuYzoyNjIgc2NoZWR1dGlscy90YXNrc2V0LmM6MTg5CisjOiBzeXMtdXRpbHMvY2hjcHUuYzozNDQgc3lzLXV0aWxzL2NobWVtLmM6NDE5IHN5cy11dGlscy9kbWVzZy5jOjE0NjkKKyM6IHN5cy11dGlscy9pcGNtay5jOjEzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozMjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMjUgc3lzLXV0aWxzL2xzbWVtLmM6NjI4IHN5cy11dGlscy9tb3VudC5jOjY5OAorIzogc3lzLXV0aWxzL21vdW50LmM6NzExIHN5cy11dGlscy9tb3VudC5jOjc4MCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE4MQorIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3MiBzeXMtdXRpbHMvc3dhcG9mZi5jOjIzMCBzeXMtdXRpbHMvc3dhcG9uLmM6OTg4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTAgc3lzLXV0aWxzL3Vtb3VudC5jOjUyOCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTc2CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIzMyB0ZXh0LXV0aWxzL21vcmUuYzozMzcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHVzYWdlIgorbXNnc3RyICJoaWLDoXMgaWTFkWtvcmzDoXTDqXJ0w6lrOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTYKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorIkVneSDDumogU3VuIGxlbWV6Y8OtbWtlIGtlcsO8bCBsw6l0cmVob3rDoXNyYS4gQSB2w6FsdG96w6Fzb2sgYSBtZW3Ds3Jpw6FiYW5cbiIKKyJtYXJhZG5haywgYW3DrWcgZWwgbmVtIG1lbnRpIGF6b2thdC4gRXp1dMOhbiB0ZXJtw6lzemV0ZXNlblxuIgorImEga29yw6FiYmkgdGFydGFsb20gZWx2w6lzei5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJMZW1lem1lZ2hhanTDszogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkxlbWV6YXpvbm9zw610w7M6IDB4JTA4eFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyIlcyBsZW1lejogJWx1IGNpbGluZGVyLCAlbHUgZmVqLCAlbHUgc3pla3RvciBzw6F2b25rw6ludFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICIlZCBmZWosICVsbHUgc3pla3RvciwgJWQgY2lsaW5kZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJFZ3lzw6lnOiAlcyAlZCAqICVkID0gJWQgYsOhanRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzggZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiaWdhesOtdMOhc2kgZWx0b2zDoXMgbGVrw6lyw6lzZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIzNgorIzogZGlzay11dGlscy9mc2NrLmM6MTI1NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIkEoeikgJWkuIHBhcnTDrWNpw7MgbmVtIGNpbGxpbmRlcmhhdMOhcm9uIGtlemTFkWRpazpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiIgorIlxuIgorIkEgcGFydMOtY2nDs3MgdMOhYmxhIGJlamVneXrDqXNlaSBuZW0gYSBsZW1lemVuIHRhbMOhbGhhdMOzIHNvcnJlbmRiZW4gdmFubmFrXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKKyMsIGZ1enp5Cittc2dpZCAiU3RhcnQiCittc2dzdHIgImtlemRldCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiVsOpZ2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTemVrdG9yb2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJcbiIKKyIlcyBsZW1lejogJWx1IGNpbGluZGVyLCAlbHUgZmVqLCAlbHUgc3pla3RvciBzw6F2b25rw6ludFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IElzbWVyZXRsZW4gcGFyYW5jczogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIHBhcnTDrWNpw7MgdMO2cmzDqXNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiICAgZSAgIGtpdGVyamVzenRldHQgcGFydMOtY2nDs2sgZmVsc29yb2zDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIiAgIGwgICBheiBpc21lcnQgcGFydMOtY2nDs3TDrXB1c29rIGZlbHNvcm9sw6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIiAgIG4gICDDumogcGFydMOtY2nDsyBob3p6w6FhZMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJDc2FrIG1lZ2plbGVuw610aSBhIHBhcnTDrWNpw7NzIHTDoWJsw6F0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBlZ3kgcGFydMOtY2nDsyByZW5kc3plcmF6b25vc8OtdMOzasOhbmFrIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorIywgZnV6enkKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgdiAgIGEgcGFydMOtY2nDs3MgdMOhYmxhIGVsbGVuxZFyesOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorIywgZnV6enkKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IGV6IG5lbSBibG9ra29zIGVzemvDtnpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIGEgcGFydMOtY2nDs3MgdMOhYmxhIG55ZXJzIGFkYXRhaW5hayBracOtcsOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICBhIHBhcnTDrWNpw7NzIHTDoWJsYSBueWVycyBhZGF0YWluYWsga2nDrXLDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBwYXJ0w61jacOzc29ycmVuZCBqYXbDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIiAgIG0gICBlemVuIG1lbsO8IGtpw61yw6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgICB1ICAgYSBtZWdqZWxlbsOtdMOpc2kvYmVqZWd5esOpc2VneXPDqWdlayBtZWd2w6FsdG96dGF0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0CisjLCBmdXp6eQorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgIiAgIHggICBleHRyYSBzem9sZ8OhbHRhdMOhc29rIChjc2FrIHN6YWvDqXJ0xZFrbmVrKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgIiAgIHcgICBhIHTDoWJsYSBsZW1lenJlIMOtcsOhc2Egw6lzIGtpbMOpcMOpcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIiAgIHcgICBsZW1lemPDrW1rZSDDrXLDoXNhIGEgbGVtZXpyZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiICAgcSAgIGtpbMOpcMOpcyBtZW50w6lzIG7DqWxrw7xsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIHZpc3N6YSBhIGbFkW1lbsO8YmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiICAgcyAgIMO6aiwgw7xyZXMgU3VuIGxlbWV6Y8OtbWtlIGzDqXRyZWhvesOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIMO6aiwgw7xyZXMgRE9TIHBhcnTDrWNpw7NzIHTDoWJsYSBsw6l0cmVob3rDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgw7pqLCDDvHJlcyBET1MgcGFydMOtY2nDs3MgdMOhYmxhIGzDqXRyZWhvesOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIMO6aiwgw7xyZXMgRE9TIHBhcnTDrWNpw7NzIHTDoWJsYSBsw6l0cmVob3rDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICDDumosIMO8cmVzIERPUyBwYXJ0w61jacOzcyB0w6FibGEgbMOpdHJlaG96w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgZyAgIElSSVggKFNHSSkgcGFydMOtY2nDs3MgdMOhYmxhIGzDqXRyZWhvesOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiICAgYyAgIGEgY2lsaW5kZXJlayBzesOhbcOhbmFrIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICIgICBoICAgYSBmZWplayBzesOhbcOhbmFrIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIiAgIHMgICBhIHPDoXZvbmvDqW50aSBzemVrdG9yb2sgc3rDoW3DoW5hayBtw7Nkb3PDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgIm3Ds2Rvc8OtdHZhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJQYXJ0w61jacOzc3rDoW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICIgICBhICAgaW5kw610aGF0w7MgamVsesWRIMOhdHbDoWx0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiICAgYyAgIGEgRE9TIGtvbXBhdGliaWxpdMOhcyBqZWx6w6lzw6luZWsgw6F0dsOhbHTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAiICAgYSAgIGEgY3NhayBvbHZhc2hhdMOzIGplbHrFkSDDoXR2w6FsdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAiICAgYSAgIGEgY3NhayBvbHZhc2hhdMOzIGplbHrFkSDDoXR2w6FsdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICIgICBjICAgYSBjc2F0b2xoYXTDsyBqZWx6xZEgw6F0dsOhbHTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICIgICBhICAgYXogYWx0ZXJuYXTDrXYgY2lsaW5kZXJlayBzesOhbcOhbmFrIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICIgICBlICAgYSBjaWxpbmRlcmVua8OpbnRpIGV4dHJhIHN6ZWt0b3JvayBzesOhbcOhbmFrIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiAgIGkgICBheiDDoXRyZW5kZXrDqXNpIHTDqW55ZXrFkSBtw7Nkb3PDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIgICBvICAgYSBmb3Jnw6FzaSBzZWJlc3PDqWcgKHJwbSkgbcOzZG9zw610w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIgICB5ICAgYSBmaXppa2FpIGNpbGluZGVyZWsgc3rDoW3DoW5hayBtw7Nkb3PDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kgbnllcnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgYXogaW5kw610aGF0w7MgcGFydMOtY2nDsyBraXbDoWxhc3p0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2CisjLCBmdXp6eQorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIiAgIGIgICBpbmTDrXTDs2bDoWpsLWJlamVneXrDqXMgc3plcmtlc3p0w6lzZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGMgICBzZ2kgbGFwb3rDs3BhcnTDrWNpw7Mga2l2w6FsYXN6dMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgIGluZMOtdGhhdMOzIGplbHrFkSDDoXR2w6FsdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICIgICBiICAgYnNkIGxlbWV6Y8OtbWtlIHN6ZXJrZXN6dMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIiAgIGMgICBhIERPUyBrb21wYXRpYmlsaXTDoXMgamVsesOpc8OpbmVrIMOhdHbDoWx0w6FzYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGIgICBheiBhZGF0b2sgZWxlasOpbmVrIG1vemdhdMOhc2EgZWd5IHBhcnTDrWNpw7NiYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgaSAgIGEgbGVtZXphem9ub3PDrXTDsyBtw7Nkb3PDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiICAgZSAgIG1lZ2hhanTDs2FkYXRvayBzemVya2VzenTDqXNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiAgIGkgICByZW5kc3plcnTDtmx0xZEgdGVsZXDDrXTDqXNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiAgIHMgICBhIHRlbGplcyBsZW1lemPDrW1rZSBtdXRhdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorIywgZnV6enkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIHggICBCU0QgcGFydMOtY2nDsyBjc2F0b2zDoXNhIGVneSBuZW0gQlNEIHBhcnTDrWNpw7Nob3oiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiU8O6Z8OzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiU3pha8OpcnTFkWkgcGFyYW5jcyAobSA9IHPDumfDsyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDI1Cittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiUGFyYW5jcyAobSA9IHPDumfDsyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICJWYWzDs2JhbiBmb2x5dGF0bmkgYWthcmphPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogaXNtZXJldGxlbiBwYXJhbmNzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAiJXM6IG5lbSDDrXJoYXTDsyBhIHBhcmFuY3Nmw6FqbCwgaGliYTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIGEgMC4gc3pla3RvcnQgaXMgdGFydGFsbWF6emFcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIlZhbMOzYmFuIGxlbWV6cmUgYWthcmphIGV6dCDDrXJuaT8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIiAgIGYgICBwYXJ0w61jacOzc29ycmVuZCBqYXbDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIk5pbmNzZW5layBwYXJ0w61jacOzayBtZWdhZHZhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1CisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJBIG1lZ2plbGVuw610w6lzaS9iZWplZ3l6w6lzZWd5c8OpZ2VrIG3Ds2Rvc8OtdHZhOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiQSBtZWdqZWxlbsOtdMOpc2kvYmVqZWd5esOpc2VneXPDqWdlayBtw7Nkb3PDrXR2YTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgYnNkIGxlbWV6Y8OtbWtlIHN6ZXJrZXN6dMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgYnNkIGxlbWV6Y8OtbWtlIHN6ZXJrZXN6dMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc2MQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Nzc2CisjLCBmdXp6eQorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlbGhhc3puw6Fsw7Nuw6l2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgYnNkIGxlbWV6Y8OtbWtlIHN6ZXJrZXN6dMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMzcKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRlcmVrIHN6w6FtYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0NAorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiRmVqZWsgc3rDoW1hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIlN6ZWt0b3JvayBzesOhbWEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBjc2F0b2x2YSB2YW4uXHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMyOSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTUgZGlzay11dGlscy9zZmRpc2suYzoyOTggbGliZmRpc2svc3JjL2JzZC5jOjY0NQorIzogbGliL3BhdGguYzoxNDAgbGliL3BhdGguYzoxNjEgbGliL3BhdGguYzoxODIgbGliL3BhdGguYzoyMzAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0NSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjU1CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE0IHN5cy11dGlscy9zZXRwcml2LmM6Mjg1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcyMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIlczogbmVtIG9sdmFzaGF0w7MgYSh6KSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGxpYi9wYXRoLmM6MTYzIGxpYi9wYXRoLmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgIiVzOiDDrXLDoXNpIGhpYmE6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIkFkYXRvayBracOtcsOhc2EgYSBsZW1lemVrcmUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgc2lrZXJlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICIlcyBoYXN6bsOhbGF0YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJhIHTDrXB1c3BhcmFuY3Nmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDcyIG1pc2MtdXRpbHMvZmluZG1udC5jOjc4NCBtaXNjLXV0aWxzL2xzYmxrLmM6NDQ2CisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDEgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgImF6IGVsc8WRIHNvciB1dMOhbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA0IGRpc2stdXRpbHMvZnNjay5jOjUwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJheiBpbmTDrXTDoXMgbWVnaGnDunN1bHRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCisjLCBmdXp6eQorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICJoaWJhIGEoeikgJXMgw61yw6FzYWtvcjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEwMDIKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBhKHopICVzIG5lbSBlZ3kgcMOhcmh1emFtb3MgKGxwKSBlc3prw7Z6LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIm1vdW50OiBpc21lcmV0bGVuIGbDoWpscmVuZHN6ZXJ0w61wdXM6IOKAniVz4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI3MAorIywgZnV6enkKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJGw6FqbHJlbmRzemVyLWVsbGVuxZFyesOpcyBrw6lueXN6ZXLDrXTDqXNlIGEga8O2dmV0a2V6xZFuOiDigJ4lc+KAnS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkbDoWpscmVuZHN6ZXItZWxsZW7FkXJ6w6lzIGvDqW55c3plcsOtdMOpc2UgYSBrw7Z2ZXRrZXrFkW46IOKAniVz4oCdLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0CisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICJGw6FqbHJlbmRzemVyLWVsbGVuxZFyesOpcyBrw6lueXN6ZXLDrXTDqXNlIGEga8O2dmV0a2V6xZFuOiDigJ4lc+KAnS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworIywgZnV6enkKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgQSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhbmFrIG1lZ3bDoWx0b3p0YXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk4Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiICAgIC1sIFt2YWd5IC0tbGlzdF06ICAgICAga2nDrXJqYSBheiBlZ3llcyBlc3prw7Z6w7ZrIHBhcnTDrWNpw7NpdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEF6IGFrdHXDoWxpcyBwYXJ0w61jacOzIHTDtnJsw6lzZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworIywgZnV6enkKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYwCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgIiVzOiBhKHopICVzIG5lbSBlZ3kgcMOhcmh1emFtb3MgKGxwKSBlc3prw7Z6LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcyCisjLCBmdXp6eQorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICIlcyBsZXbDoWxhc3p0dmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiQSBtZWdtYXJhZHQgZsOhamxyZW5kc3plcmVrIGxldsOhbGFzenTDoXNhLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICJBIG1lZ21hcmFkdCBmw6FqbHJlbmRzemVyZWsgbGV2w6FsYXN6dMOhc2EuLi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiVMO2YmIgY2lsaW5kZXJ0IGFkb3R0IG1lZywgbWludCBhbWVubnlpIGVsZsOpciBhIGxlbWV6ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgZWd5IHBhcmFtw6l0ZXJ0IGlnw6lueWVsXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE3Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJheiBpb2N0bCBtZWdoacO6c3VsdDogbmVtIGxlaGV0IG1lZ2hhdMOhcm96bmkgYXogZXN6a8O2eiBtw6lyZXTDqXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAibmVtIGJsb2trb3MgZXN6a8O2eiB2YWd5IGbDoWpsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJhIGbDoWpsaG9zc3ogdMO6bCBraWNzaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiYSBzenVwZXJibG9rayBtYWdpYyDDqXJ0w6lrIG5lbSB0YWzDoWxoYXTDsyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJiaWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkyCittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAibmVtIHTDoW1vZ2F0b3R0IGbDoWpscmVuZHN6ZXItdHVsYWpkb25zw6Fnb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJhIHN6dXBlcmJsb2trIG3DqXJldGUgKCVkKSB0w7psIGtpY3NpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJudWxsYSBmw6FqbHN6w6FtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IGEgZsOhamwgdMO6bG55w7psaWsgYSBmw6FqbHJlbmRzemVyIHbDqWfDqW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworIywgZnV6enkKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiByw6lnaSBjcmFtZnMgZm9ybcOhdHVtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTYKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJhIENSQyBuZW0gdGVzenRlbGhldMWRLCByw6lnaSBjcmFtZnMgZm9ybcOhdHVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICJhIHTDrXB1c3BhcmFuY3Nmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3NAorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY3JjLWhpYmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYwCittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDgKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgImF6IG9sdmFzw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiYSBnecO2a8OpciBpbm9kZSBuZW0ga8O2bnl2dMOhciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgImhpYsOhcyByb290IGVsdG9sw6FzICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgImF6IGFkYXRibG9rayB0w7psIG5hZ3kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICJraWJvbnTDoXNpIGhpYmE6ICVwKCVkKTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICBseXVrIGl0dDogJWxkICglemQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICBibG9rayBraWJvbnTDoXNhIGl0dDogJWxkIGVkZGlnOiAlbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIm5lbSBibG9rayAoJWxkKSBiw6FqdG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAibmVtIG3DqXJldCBiw6FqdG9rICglbGQgdnMgJWxkKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiYXogw61yw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiYXogbGNob3duIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJhIGNob3duIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJheiB1dGltZSBtZWdoacO6c3VsdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImEga8O2bnl2dMOhciBpbm9kZSBudWxsYSBlbHRvbMOhc8O6IMOpcyBuZW0gbnVsbGEgbcOpcmV0xbE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgImF6IG1rZGlyIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJhIGbDoWpsbsOpdiBudWxsYSBob3NzesO6c8OhZ8O6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAiaGliw6FzIGbDoWpsbsOpdmhvc3N6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAiaGliw6FzIGlub2RlLWVsdG9sw6FzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImEgZsOhamwgaW5vZGUgbnVsbGEgZWx0b2zDoXPDuiDDqXMgbmVtIG51bGxhIG3DqXJldMWxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImEgZsOhamwgaW5vZGUgbnVsbGEgbcOpcmV0xbEgw6lzIG5lbSBudWxsYSBlbHRvbMOhc8O6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgImEgc3ppbWJvbGlrdXMgbGluayBudWxsYSBlbHRvbMOhc8O6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJhIHN6aW1ib2xpa3VzIGxpbmsgbnVsbGEgbcOpcmV0xbEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAibcOpcmV0aGliYSBhIHN6aW1ib2xpa3VzIGxpbmtiZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiYSBzeW1saW5rIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgImEgc3BlY2nDoWxpcyBmw6FqbCBuZW0gbnVsbGEgZWx0b2zDoXPDujogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImEgZmlmbyBuZW0gbnVsbGEgbcOpcmV0xbE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImEgZm9nbGFsYXQgbmVtIG51bGxhIG3DqXJldMWxOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICJ6YXZhcm9zIG3Ds2Q6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAiYXogbWtub2QgbWVnaGnDunN1bHQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJhIGvDtm55dnTDoXJhZGF0b2sga2V6ZGV0ZSAoJWxkKSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglbGQpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJhIGvDtm55dnTDoXJhZGF0b2sgdsOpZ2UgKCVsZCkgbmVtIGVneWV6aWsgYSBmw6FqbGFkYXRvayBrZXpkZXTDqXZlbCAoJWxkKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBmw6FqbGFkYXRlbHRvbMOhcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ1bW91bnQ6ICVzIMOpcnbDqW55dGVsZW4gYmxva2tlc3prw7Z6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogUmVuZGJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRsOhamxyZW5kc3plci1lbGxlbsWRcnrDqXMga8OpbnlzemVyw610w6lzZSBhIGvDtnZldGtlesWRbjog4oCeJXPigJ0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiICBbIC1maWxlIGtpw61yYXTDoXNpX2bDoWpsbsOpdiBdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgImF6IGludGVyYWt0w612IGhlbHlyZcOhbGzDrXTDoXNob3ogdGVybWluw6FsIHN6w7xrc8OpZ2VzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIEEgZsOhamxyZW5kc3plciB0w61wdXPDoW5hayBtZWd2w6FsdG96dGF0w6FzYSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIGNzYXRvbHZhIHZhbi5cdCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJWYWzDs2JhbiBmb2x5dGF0bmkgYWthcmphPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgImVsbGVuxZFyesOpcyBtZWdzemFrw610dmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJaw7NuYXN6w6FtIDwgRUxTxZBaw5NOQSBhKHopIOKAniVz4oCdIGbDoWpsYmFuLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlrDs25hc3rDoW0gPj0gWsOTTkEgYSh6KSDigJ4lc+KAnSBmw6FqbGJhbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIkEgYmxva2sgZWx0w6F2b2zDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIk9sdmFzw6FzaSBoaWJhOiBuZW0gbGVoZXQgYSBibG9ra3JhIHBvemljaW9uw6FsbmkgYSh6KSDigJ4lc+KAnSBmw6FqbGJhblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJPbHZhc8Ohc2kgaGliYTogaGliw6FzIGJsb2trIGEoeikg4oCeJXPigJ0gZsOhamxiYW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiQmVsc8WRIGhpYmE6IGvDrXPDqXJsZXQgaGliw6FzIGJsb2trIMOtcsOhc8OhcmFcbiIKKyIgQXogw61yw6FzaSBrw6lyw6lzIGZpZ3llbG1lbiBrw612w7xsIG1hcmFkdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCBhIHdyaXRlX2Jsb2NrLWJhbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIsONcsOhc2kgaGliYTogaGliw6FzIGJsb2trIGEoeikg4oCeJXPigJ0gZsOhamxiYW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBheiBpbm9kZSBzesOhbSB0w7psIG5hZ3kuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IGEgd3JpdGVfc3VwZXJfYmxvY2stYmFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgImEgc3p1cGVyYmxva2sgbmVtIMOtcmhhdMOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJBeiBpbm9kZSB0w6lya8OpcCBuZW0gw61yaGF0w7MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiQSB6w7NuYXTDqXJrw6lwIG5lbSDDrXJoYXTDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiQXogaW5vZGUtb2sgbmVtIMOtcmhhdMOzayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY0Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAibmVtIGxlaGV0IHB1ZmZlcnQgbGVmb2dsYWxuaSBhIHN6dXBlcmJsb2trbmFrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjcKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAiYSBzenVwZXJibG9rayBuZW0gb2x2YXNoYXTDsyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiaGliw6FzIGLFsXbDtnMgc3rDoW0gYSBzenVwZXJibG9ra2JhbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJDc2FrIDFrIGJsb2trL3rDs25hIHTDoW1vZ2F0b3R0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTMKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiaGliw6FzIHNfaW1hcF9ibG9ja3MgbWV6xZEgYSBzenVwZXJibG9ra2JhbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImhpYsOhcyBzX2ltYXBfYmxvY2tzIG1lesWRIGEgc3p1cGVyYmxva2tiYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NworIywgZnV6enkKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJoaWLDoXMgc19pbWFwX2Jsb2NrcyBtZXrFkSBhIHN6dXBlcmJsb2trYmFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MDAKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiaGliw6FzIHNfem1hcF9ibG9ja3MgbWV6xZEgYSBzenVwZXJibG9ra2JhbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVyIGF6IGlub2RlIHTDqXJrw6lwbmVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlciBhIHrDs25hdMOpcmvDqXBuZWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlciBheiBpbm9kZS1va25hayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXIgYSBpbm9kZS1vayBzesOhbWzDoWzDs2rDoW5hayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlciBhIHrDs25hIHN6w6FtbMOhbMOzasOhbmFrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkF6IGlub2RlIHTDqXJrw6lwIG5lbSBvbHZhc2hhdMOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiQSB6w7NuYXTDqXJrw6lwIG5lbSBvbHZhc2hhdMOzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIkF6IGlub2RlLW9rIG5lbSBvbHZhc2hhdMOzayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaW5vZGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2trXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIkVsc8WRIGFkYXR6w7NuYT0lbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlrDs25hbcOpcmV0PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiTWF4LiBtw6lyZXQ9JWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkbDoWpscmVuZHN6ZXIgw6FsbGFwb3RhPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJuw6l2aG9zc3o9JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIkEoeikgJWQgaW5vZGUgbmVtIGhhc3puw6FsdGvDqW50IHZhbiBtZWdqZWzDtmx2ZSwgZGUgYSh6KSDigJ4lc+KAnSBmw6FqbCBoYXN6bsOhbGphXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTWVnamVsw7Zsw6lzIGhhc3puw6FsdGvDqW50IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJBKHopIOKAniVz4oCdIGbDoWpsIG3Ds2RqYTogJTA1b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogYXogaW5vZGUgc3rDoW0gdMO6bCBuYWd5LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzY5Cittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiYSBnecO2a8OpciBpbm9kZSBuZW0ga8O2bnl2dMOhciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIkEgYmxva2sgbcOhciBoYXN6bsOhbGF0YmFuIHZvbHQuIE1vc3QgYSh6KSDigJ4lc+KAnSBmw6FqbGJhbiB2YW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJUw7ZybMOpcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJBKHopICVkIGJsb2trIGEoeikg4oCeJXPigJ0gZsOhamxiYW4gbmVtIGhhc3puw6FsdGvDqW50IHZhbiBtZWdqZWzDtmx2ZS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJKYXbDrXTDoXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiQSh6KSDigJ4lc+KAnSBrw7ZueXZ0w6FyIGhpYsOhcyBpbm9kZS1zesOhbW90IHRhcnRhbG1heiBhIOKAniUuKnPigJ0gZsOhamxob3ouIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBFbHTDoXZvbMOtdMOhcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogaGliw6FzIGvDtm55dnTDoXI6IGEg4oCeLuKAnSBuZW0gYXogZWxzxZFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiBoaWLDoXMga8O2bnl2dMOhcjogYSDigJ4uLuKAnSBuZW0gYSBtw6Fzb2Rpa1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiYmVsc8WRIGhpYmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczogaGliw6FzIGvDtm55dnTDoXIsIGEgbcOpcmV0IDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogaGliw6FzIGvDtm55dnTDoXI6IGEg4oCeLuKAnSBuZW0gYXogZWxzxZFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IGEgYmFkX3pvbmUtYmFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiQSh6KSAlZC4gaW5vZGUgbcOzZGphIG5lbSBrZXLDvGx0IHTDtnJsw6lzcmUuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkEoeikgJWQuIGlub2RlIG5pbmNzIGhhc3puw6FsYXRiYW4sIGEgYml0dMOpcmvDqXBlbiBtZWdqZWzDtmx2ZSBoYXN6bsOhbHRrw6ludC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkEoeikgJWQuIGlub2RlIGhhc3puw6FsYXRiYW4sIGEgYml0dMOpcmvDqXBlbiBtZWdqZWzDtmx2ZSBoYXN6bsOhbGF0b24ga8OtdsO8bGlrw6ludC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiQmXDoWxsw610w6FzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIiVkLiBpbm9kZSAobcOzZCA9ICUwN28pLCBpX25saW5rcz0lZCwgc3rDoW1sw6FsdD0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiQSBpX25saW5rcyBiZcOhbGzDrXTDoXNhIGEgc3rDoW1yYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiQSh6KSAlZC4gesOzbmEgaGFzem7DoWx0a8OpbnQgdmFuIG1lZ2plbMO2bHZlLCBkZSBlZ3kgZsOhamwgc2VtIGhhc3puw6FsamEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDEKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIk1lZ2plbMO2bMOpcyB0w7ZybMOpc2UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICIlZC4gesOzbmE6IGhhc3puw6FsYXRiYW4sIHN6w6FtbMOhbHQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICIlZC4gesOzbmE6IG5pbmNzIGhhc3puw6FsYXRiYW4sIHN6w6FtbMOhbHQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJoaWLDoXMgaW5vZGUgbcOpcmV0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzAxCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgImhpYsOhcyB2MiBpbm9kZSBtw6lyZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDYKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJheiBpbnRlcmFrdMOtdiBoZWx5cmXDoWxsw610w6FzaG96IHRlcm1pbsOhbCBzesO8a3PDqWdlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiQSh6KSAlcyB0aXN6dGEsIG5lbSBrZXLDvGwgZWxsZW7FkXJ6w6lzcmUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJGw6FqbHJlbmRzemVyLWVsbGVuxZFyesOpcyBrw6lueXN6ZXLDrXTDqXNlIGEga8O2dmV0a2V6xZFuOiDigJ4lc+KAnS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiQSh6KSAlcyBmw6FqbHJlbmRzemVyZSBuZW0gdGlzenRhLCBlbGxlbsWRcml6bmkga2VsbC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGlub2RlIGhhc3puw6FsYXRiYW4gKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgesOzbmEgaGFzem7DoWxhdGJhbiAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQgc3phYsOhbHlvcyBmw6FqbFxuIgorIiU2ZCBrw7ZueXZ0w6FyXG4iCisiJTZkIGthcmFrdGVyZXNlc3prw7Z6LWbDoWpsXG4iCisiJTZkIGJsb2trZXN6a8O2embDoWpsXG4iCisiJTZkIGxpbmtcbiIKKyIlNmQgc3ppbWJvbGlrdXMgbGlua1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmw6FqbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJBIEbDgUpMUkVORFNaRVIgTUVHVsOBTFRPWk9UVCBcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiYXogw61yw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IG9sdmFzw6FzaSBoaWJhIGEga8O2dmV0a2V6xZFuOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgInN6ZWt0b3JzesOhbTogJWQsIHN6ZWt0b3Jtw6lyZXQ6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPiAuLi5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc4Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiYSBzb3JvayBzesOhbWEgw6lydsOpbnl0ZWxlbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJhIGvDtnRldG7DqXYgdMO6bCBob3NzesO6IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImEgZsOhamxyZW5kc3plcm7DqXYgdMO6bCBob3NzesO6IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBtw6lyZXRlIG5lbSBrw6lyaGV0xZEgbGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImEgYmxva2thcmd1bWVudHVtIHTDumwgbmFneSwgYSBtYXhpbXVtICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJ0w7psIHNvayBpbm9kZSwgYSBtYXhpbXVtIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJuaW5jcyBlbMOpZyBoZWx5LCBsZWdhbMOhYmIgJWxsdSBibG9rayBzesO8a3PDqWdlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkVzemvDtno6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiS8O2dGV0OiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJGw6FqbHJlbmRzemVybsOpdjogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9ra23DqXJldDogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlLW9rOiAlZCAoYmxva2tvbmvDqW50KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlLW9rOiAlZCAoJWxsZCBibG9ra2JhbilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2trb2s6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUtb2sgdsOpZ2U6ICVkLCBhZGF0b2sgdsOpZ2U6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImhpYmEgYSBzenVwZXJibG9rayDDrXLDoXNhIGvDtnpiZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImhpYmEgYSBnecO2a8OpciBpbm9kZSDDrXLDoXNhIGvDtnpiZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJoaWJhIGF6IGlub2RlIMOtcsOhc2Frb3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJwb3ppY2lvbsOhbMOhc2kgaGliYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiaGliYSBhIC4gYmVqZWd5esOpcyDDrXLDoXNha29yIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiaGliYSBhIC4uIGJlamVneXrDqXMgw61yw6FzYWtvciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJoaWJhIGEoeikg4oCeJXPigJ0gbGV6w6Fyw6Fza29yIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogbWtmcyBbLVZdIFstdCBmw6FqbHJlbmRzemVydMOtcHVzXSBbZsOhamxyZW5kc3plci1iZcOhbGzDrXTDoXNva10gZXN6a8O2eiBbbcOpcmV0XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OQorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgImEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJIYXN6bsOhbGF0OiAlcyBbLWhdIFstdl0gWy1iIGJsb2trbcOpcmV0XSBbLWUga2lhZMOhc10gWy1OIGLDoWp0c29ycmVuZF0gWy1pIGbDoWpsXVxuIgorIlstbiBuw6l2XSBrw7ZueXZ0w6FybsOpdiBraW1lbmV0aWbDoWpsXG4iCisiIC1oICAgICAgICAgZXogYSBzw7pnw7NzesO2dmVnXG4iCisiIC12ICAgICAgICAgcsOpc3psZXRlcyBtw7NkXG4iCisiIC1FICAgICAgICAgYXogw7Zzc3plcyBmaWd5ZWxtZXp0ZXTDqXMgaGliYSAobmVtIG51bGxhIHZpc3N6YXTDqXLDqXNpIMOpcnTDqWtrZWwpXG4iCisiIC1iIGJsb2trbcOpcmV0ICBlemVuIGJsb2trbcOpcmV0IGhhc3puw6FsYXRhLCBtZWcga2VsbCBlZ3llem5pZSBhIGxhcG3DqXJldHRlbFxuIgorIiAtZSBzemVya2VzenTDqXMgYmXDoWxsw610amEgYSBraWFkw6Fzc3rDoW1vdCAoYSBmc2lkIHLDqXN6ZSlcbiIKKyIgLU4gYsOhanRzb3JyZW5kIGEgY3JhbWZzIGLDoWp0c29ycmVuZGplIChiaWd8bGl0dGxlfGhvc3QpLCBhbGFww6lydGVsbWV6ZXR0OiBob3N0XG4iCisiIC1pIGbDoWpsICAgIGVneSBrw6lwZsOhamwgYmVzesO6csOhc2EgYSBmw6FqbHJlbmRzemVyYmUgKD49IDIuNC4wIGtlcm5lbCBzesO8a3PDqWdlcylcbiIKKyIgLW4gbsOpdiAgICAgYSBjcmFtZnMgZsOhamxyZW5kc3plciBuZXbDqW5layBiZcOhbGzDrXTDoXNhXG4iCisiIC1wICAgICAgICAgJWQgYsOhanRueWkga2l0w7ZsdMOpcyBhIHJlbmRzemVyaW5kw610w7Mga8OzZG5ha1xuIgorIiAtcyAgICAgICAgIGEga8O2bnl2dMOhcmJlamVneXrDqXNlayByZW5kZXrDqXNlIChlbGF2dWx0IGthcGNzb2zDsywgw6lydsOpbnl0ZWxlbilcbiIKKyIgLXogICAgICAgICBseXVrYWsgbMOpdHJlaG96w6FzYSAoPj0gMi4zLjM5IGtlcm5lbCBzesO8a3PDqWdlcylcbiIKKyIga8O2bnl2dMOhcm7DqXYgIGEgdMO2bcO2csOtdGVuZMWRIGbDoWpscmVuZHN6ZXIgZ3nDtmvDqXJrw7ZueXZ0w6FyYVxuIgorIiBraW1lbmV0aWbDoWpsICBhIGtpbWVuZXRpIGbDoWpsXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgImF6IG9sdmFzw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICJhIGbDoWpscmVuZHN6ZXIgdMO6bCBuYWd5LiBLaWzDqXDDqXMuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJISUJBOiBhIGJsb2trIGEgYmxva2tob3NzeiAoJWxkKSB0w7ZiYiBtaW50IGvDqXRzemVyZXPDqXJlIOKAnnTDtm3DtnLDrXR2ZeKAnVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGLDoWp0KVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEoeikg4oCeJXPigJ0gZsOhamwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IGEgc3rDvGtzw6lnZXMgYmVjc8O8bHQgbcOpcmV0IChmZWxzxZEgaGF0w6FyYSkgJWxsZCBNQiwgZGUgYSBtYXhpbcOhbGlzIGvDqXBmw6FqbG3DqXJldCAldSBNQi4gQSBmb2x5YW1hdCBpZMWRIGVsxZF0dCBiZWZlamV6xZFkaGV0LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiUk9NIGvDqXB0w6lya8OpcCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIkJlbGXDqXJ0dmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJLw7ZueXZ0w6FyYWRhdG9rOiAlemQgYsOhanRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIsOWc3N6ZXNlbjogJXpkIGtpbG9iw6FqdFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3p1cGVyYmxva2s6ICV6ZCBiw6FqdFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICJuaW5jcyBlbMOpZyBoZWx5IGxlZm9nbGFsdmEgYSBST00ga8OpcGbDoWpsbmFrICglbGxkIGxlZm9nbGFsdmEsICV6dSBoYXN6bsOhbGF0YmFuKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiQSBST00ga8OpcGbDoWpsIMOtcsOhc2EgbWVnaGnDunN1bHQgKCV6ZCAlemQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIlJPTSBrw6lwIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiBhIGbDoWpsbmV2ZWsgMjU1IGLDoWp0IGhvc3N6cmEgY3NvbmvDrXR2YS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgImZpZ3llbG1lenRldMOpczogaGliw6FrIHTDtnJ0w6ludGVrLCBlbWlhdHQgZsOhamxvayBrZXLDvGx0ZWsga2loYWd5w6FzcmEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiBhIGbDoWpsbcOpcmV0ZWsgJWx1IE1CLXJhIChtw61udXN6IDEgYsOhanQpIGNzb25rw610dmEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImZpZ3llbG1lenRldMOpczogYSBmZWxoYXN6bsOhbMOzaSBhem9ub3PDrXTDs2sgJXUgYml0cmUgY3NvbmvDrXR2YS4gKEV6IGJpenRvbnPDoWdpIHByb2Jsw6ltYSBsZWhldC4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImZpZ3llbG1lenRldMOpczogYSBjc29wb3J0YXpvbm9zw610w7NrICV1IGJpdHJlIGNzb25rw610dmEuKEV6IGJpenRvbnPDoWdpIHByb2Jsw6ltYSBsZWhldC4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyJGSUdZRUxNRVpURVTDiVM6IGF6IGVzemvDtnpzesOhbW9rICV1IGJpdHJlIGNzb25rw610dmEuIEV6IG1hamRuZW0gYml6dG9zYW4gYXp0XG4iCisiamVsZW50aSwgaG9neSBiaXpvbnlvcyBlc3prw7Z6ZsOhamxvayBoaWLDoXNhayBsZXN6bmVrLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICJBZGphIG1lZyBhIGNpbGluZGVyZWsgc3rDoW3DoXQ6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJhIHJlbmRzemVyaW5kw610w7MgYmxva2tyYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiYSByZW5kc3plcmluZMOtdMOzIHN6ZWt0b3J0IG5lbSBsZWhldCB0w7Zyw7ZsbmkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJhIHN6dXBlcmJsb2trIG5lbSDDrXJoYXTDsyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiYXogaW5vZGUgdMOpcmvDqXAgbmVtIMOtcmhhdMOzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgImEgesOzbmF0w6lya8OpcCBuZW0gw61yaGF0w7MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgImF6IGlub2RlLW9rIG5lbSDDrXJoYXTDs2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IGEgd3JpdGVfYmxvY2stYmFuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgImF6IMOtcsOhcyBtZWdoacO6c3VsdCBhIHdyaXRlX2Jsb2NrLWJhbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAidMO6bCBzb2sgaGliw6FzIGJsb2trIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICJuaW5jcyBlbMOpZyBqw7MgYmxva2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbGQgaW5vZGVcbiIKK21zZ3N0clsxXSAiJWxkIGlub2RlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWxkIGJsb2trXG4iCittc2dzdHJbMV0gIiVsZCBibG9ra1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJaw7NuYW3DqXJldD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTWF4LiBtw6lyZXQ9JWxkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCBhIGJsb2trb2sgdGVzenRlbMOpc2Uga8O2emJlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJTem9rYXRsYW4gw6lydMOpa2VrIGEgZG9fY2hlY2stYmVuOiBleiB2YWzDs3N6w61uxbFsZWcgaGliw6F0IGplbGV6XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCBhIGNoZWNrX2Jsb2Nrcy1iYW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgImhpYsOhcyBibG9ra29rIGF6IGFkYXR0ZXLDvGxldCBlbMWRdHQ6IG5lbSBsZWhldCBsw6l0cmVob3puaSBhIGbDoWpscmVuZHN6ZXJ0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCBoaWLDoXMgYmxva2tcbiIKK21zZ3N0clsxXSAiJWQgaGliw6FzIGJsb2trXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICJuZW0gbnlpdGhhdMOzIG1lZyBhIGhpYsOhcyBibG9ra29rIGbDoWpsamEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICJiZW1lbmV0aSBoaWJhIGEgaGliw6FzIGJsb2trb2sgc3rDoW3DoW7DoWwgYSh6KSAlZC4gc29yYmFuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJoaWLDoXMgYmxva2tvayBmw6FqbGphIG5lbSBvbHZhc2hhdMOzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgImEgYmxva2ttw6lyZXQga2lzZWJiLCBtaW50IGEgZml6aWthaSBzemVrdG9ybcOpcmV0ICglcykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImEoeikgJXMgbcOpcmV0ZSBuZW0gw6FsbGFww610aGF0w7MgbWVnIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiYSBibG9ra29rIHN6w6FtYSB0w7psIGtpY3NpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjUgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIm5lbSB0w6Ftb2dhdG90dCBmw6FqbHJlbmRzemVyLXR1bGFqZG9uc8OhZ29rIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgImEoeikgJXMgY3NhdG9sdmEgdmFuLCBpdHQgbmVtIGxlc3ogbMOpdHJlaG96dmEgZsOhamxyZW5kc3plciEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIkhpYsOhcyBmZWxoYXN6bsOhbMOzIMOhbHRhbCBtZWdhZG90dCBsYXBtw6lyZXQ6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJBIGZlbGhhc3puw6Fsw7Mgw6FsdGFsIG1lZ2Fkb3R0ICVkIGxhcG3DqXJldCBoYXN6bsOhbGF0YSBhIHJlbmRzemVyICVkIMOpcnTDqWtlIGhlbHlldHRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkEgY8OtbWtlIGNzb25rw610dmEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgIm5pbmNzIGPDrW1rZSwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIm5pbmNzIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUzCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAidMO6bCBzb2sgaGliw6FzIGxhcCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQgYSBjaGVja19ibG9ja3MtYmFuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IGhpYsOhcyBsYXBcbiIKK21zZ3N0clsxXSAiJWx1IGhpYsOhcyBsYXBcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJuZW0gbGVoZXQgbGVmb2dsYWxuaSBheiDDumogbGliYmxraWQgdml6c2fDoWxhdG90IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMgorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJuZW0gcmVuZGVsaGV0xZEgZXN6a8O2eiBhIGxpYmJsa2lkIHZpenNnw6FsYXRob3oiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiYSByZW5kc3plcmluZMOtdMOzYml0LXN6ZWt0b3Jva2F0IG5lbSBsZWhldCB0w7Zyw7ZsbmkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczogJXM6IGZpZ3llbG1lenRldMOpczogbmUgdMO2csO2bGplIGEgcmVuZHN6ZXJpbmTDrXTDs2JpdC1zemVrdG9yb2thdFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzIHBhcnTDrWNpw7NzIHTDoWJsYSDDqXN6bGVsdmUpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKGEgcHJvZ3JhbSBhIGxpYmJsa2lkIG7DqWxrw7xsIGxldHQgbGVmb3Jkw610dmEpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgIkEgbGlzdGEgbWVnamVsZW7DrXTDqXPDqWhleiBoYXN6bsOhbGphIGEga8O2dmV0a2V6xZEgcGFyYW5jc290OiAlcyAtbFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6ICVzOiBuZW0gbGVoZXQgw61ybmkgYXogYWzDocOtcsOhc2xhcHJhOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODIKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OAorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAibGVmb2dsYWx0IHN6ZW1hZm9yb2sgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiYSBzZWJlc3PDqWcgKCVkKSBuZW0gdMOhbW9nYXRvdHQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiJTEkczogZmlneWVsbWV6dGV0w6lzOiBhIC1VIGZpZ3llbG1lbiBrw612w7xsIG1hcmFkIChhKHopICUxJHMgbmVtIHTDoW1vZ2F0amEgYXogVVVJRC1rZXQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImhpYmE6IGF6IFVVSUQgZmVsZG9sZ296w6FzIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorIywgZnV6enkKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiVzIGhpYmE6IE5lbSDDoWxsw610amEgYmUgc2Vob3bDoSBhIGxhcG96w7N0ZXLDvGxldGV0P1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIiVzOiBoaWJhOiBhKHopICVsbHUgS2lCIG3DqXJldCBuYWd5b2JiIG1pbnQgYXogZXN6a8O2eiAlbGx1IEtpQiBtw6lyZXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIiVzIGhpYmE6IGEgbGFwb3rDs3RlcsO8bGV0bmVrIGxlZ2Fsw6FiYiAlbGQgS2lCIG3DqXJldMWxbmVrIGtlbGwgbGVubmllXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAiJXM6IGZpZ3llbG1lenRldMOpczogYSBsYXBvesOzdGVyw7xsZXQgJWxsdSBLaUIgbcOpcmV0cmUgbGVzeiBjc29ua8OtdHZhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBoaWJhOiBhKHopICVzIGNzYXRvbHZhIHZhbiwgYSBsYXBvesOzdGVyw7xsZXQgbmVtIGtlcsO8bCBsw6l0cmVob3rDoXNyYS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGZpZ3llbG1lenRldMOpczogYSh6KSAlcyBqb2dvc3VsdHPDoWdhaSAoJTA0bykgbmVtIGJpenRvbnPDoWdvc2FrLCBhIGphdmFzb2x0IMOpcnTDqWs6ICUwNG9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBmaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJXMgam9nb3N1bHRzw6FnYWkgKCUwNG8pIG5lbSBiaXp0b25zw6Fnb3NhaywgYSBqYXZhc29sdCDDqXJ0w6lrOiAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJBIGxhcG96w7N0ZXLDvGxldCBuZW0gw6FsbMOtdGhhdMOzIGJlOiBvbHZhc2hhdGF0bGFuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIjEuIHZlcnppw7Nqw7ogbGFwb3rDs3RlcsO8bGV0IGJlw6FsbMOtdMOhc2EsIG3DqXJldGU6ICVsbHUga2lCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiVzOiAlczogYSBzZWxpbnV4IGbDoWpsY8OtbWtlIG5lbSBrw6lyaGV0xZEgbGU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJuZW0gaGFqdGhhdMOzIHbDqWdyZSBhIG1hdGNocGF0aGNvbigpIGjDrXbDoXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJuZW0gaG96aGF0w7MgbMOpdHJlIMO6aiBzZWxpbnV4IGtvbnRleHR1cyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibmVtIHN6w6Ftw610aGF0w7Mga2kgYSBzZWxpbnV4IGtvbnRleHR1cyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICIlczogJXMgbmVtIGPDrW1rw6l6aGV0xZEgw6F0IChlcnJlOiAlcyk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJQYXJ0w61jacOzc3rDoW0iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIkNzYWsgbWVnamVsZW7DrXRpIGEgcGFydMOtY2nDs3MgdMOhYmzDoXQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorIywgZnV6enkKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJOZW0gc2lrZXLDvGx0IGEgcGFydMOtY2nDsyBracOtcsOhc2EgYSh6KSAlcyBlc3prw7Z6w7ZuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiU3pla3Rvcm9rIHN6w6FtYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiUGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGxlbWV6cmUuLi4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnQuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBuZW0gdGFsw6FsaGF0w7Mgc3phYmFkIGh1cm9rZXN6a8O2eiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgaHVyb2tlc3prw7Z6IGtlcsO8bCBmZWxoYXN6bsOhbMOhc3JhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjE2MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjMwNyBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo5MgorIzogbWlzYy11dGlscy9maW5kbW50LmM6Mzc2IG1pc2MtdXRpbHMvbHNibGsuYzozNjcgbWlzYy11dGlscy9sc2xvY2tzLmM6MzQyCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEyNSBtaXNjLXV0aWxzL3dpcGVmcy5jOjEyNiBzeXMtdXRpbHMvbG9zZXR1cC5jOjExMAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjIwIHN5cy11dGlscy9sc2lwYy5jOjIzMiBzeXMtdXRpbHMvbHNtZW0uYzoxODAKKyM6IHN5cy11dGlscy9sc25zLmM6MjIzIHN5cy11dGlscy9wcmxpbWl0LmM6Mjc3IHN5cy11dGlscy9yZmtpbGwuYzoxNjAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxNTAgc3lzLXV0aWxzL3dkY3RsLmM6MTUxIHN5cy11dGlscy96cmFtY3RsLmM6MTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIk5pbmNzZW5layBwYXJ0w61jacOzayBtZWdhZHZhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiRXogYSBwYXJ0w61jacOzIG3DoXIgbMOpdGV6aWsuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJWQuIHBhcnTDrWNpw7Mga2l2w6FsYXN6dHZhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJuZW0gcsOpc3plIGEoeikgJXMgcGFydMOtY2nDs25ha1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogJXMgcGFydMOtY2nDsyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiTmluY3NlbmVrIHBhcnTDrWNpw7NrIG1lZ2FkdmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzIGtpdsOhbGFzenR2YVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiAlcyBwYXJ0w61jacOzICIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIk5pbmNzZW5layBwYXJ0w61jacOzayBtZWdhZHZhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiTmluY3NlbmVrIHBhcnTDrWNpw7NrIG1lZ2FkdmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5jb3JlLmM6MzczIG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MjIKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMzMworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYxOCBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNiBzeXMtdXRpbHMvcmZraWxsLmM6NDY3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjkzIHN5cy11dGlscy93ZGN0bC5jOjI3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnQuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnQuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiICAgICAgICAoJXMgcGFydMOtY2nDs3MgdMOhYmxhIMOpc3psZWx2ZSkuICIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIkEoeikgJXMgbGVtZXogbmVtIHRhcnRhbG1heiDDqXJ2w6lueWVzIHBhcnTDrWNpw7NzIHTDoWJsw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbcOpdGVyZWtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MCBzeXMtdXRpbHMvbHNtZW0uYzo1MDUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NworIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9a2FwY3NvbMOzLWthcmFrdGVybMOhbmMgIEZlbGlzbWVyZW5kxZEgcsO2dmlkIGthcGNzb2zDs2tcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3QtdHlwZXMgICAgIGxpc3Qgc3VwcG9ydGVkIHBhcnRpdGlvbiB0eXBlcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgLVQgW3ZhZ3kgLS1saXN0LXR5cGVzXTpheiBpc21lcnQgcGFydMOtY2nDs3TDrXB1c29rIGtpw61yw6FzYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIiIKKyJBIHBhcnTDrWNpw7NzIHTDoWJsYSBtw7Nkb3PDrXR2YSFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiTmVtIHTDtnLDtmxoZXQgw7xyZXMgcGFydMOtY2nDs3QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJhIHNlYmVzc8OpZyAoJWQpIG5lbSB0w6Ftb2dhdG90dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJOZW0gbGVoZXQgesOhcm9sbmkgYSh6KSAlcyB6w6Fyb2zDoXNpIGbDoWpsdDogJXNcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIG5lbSBibG9ra2VzemvDtnpcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTYgZGlzay11dGlscy9yYXcuYzoxOTkgc3lzLXV0aWxzL2lwY3JtLmM6MzUyCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjYgc3lzLXV0aWxzL2lwY3JtLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJhKHopIOKAniVz4oCdIGVzemvDtnogbmVtIMOpcmhldMWRIGVsIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgImEoeikg4oCeJXPigJ0gZXN6a8O2eiBuZW0gw6lyaGV0xZEgZWwiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiL2Rldi8lczogbmVtIGVneSBrYXJha3RlcmVzemvDtnoiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICIlcyBuZW0gc29yb3Mgdm9uYWwiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgImhpYmEgYSBzem9sZ8OhbHRhdMOhcyBsZcOhbGzDrXTDoXNha29yOiDigJ4lc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiaGliYSBhIHN6b2xnw6FsdGF0w6FzIGxlw6FsbMOtdMOhc2Frb3I6IOKAniVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgImhhc3puw6FsYXQ6IHNmZGlzayAtLWlkIGVzemvDtnogcGFydMOtY2nDs3N6w6FtIFthem9ub3PDrXTDs11cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiYSBwcm9ncmFtaW5kw610w6FzIG1lZ2hpw7pzdWx0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6ICVzOiBuZW0gbGVoZXQgw61ybmkgYXogYWzDocOtcsOhc2xhcHJhOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiVzOiAlczogbmVtIGxlaGV0IMOtcm5pIGF6IGFsw6HDrXLDoXNsYXByYTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIHNpa2VydGVsZW4gYSB3cml0ZV90YWJsZXMtYmVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAibmVtIG55aXRoYXTDsyBtZWcgYSB0w61wdXNwYXJhbmNzZsOhamwgKCVzKSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiVmFsw7NiYW4gbGVtZXpyZSBha2FyamEgZXp0IMOtcm5pPyBbeW5xXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDU0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICIiCisiQSBwYXJ0w61jacOzcyB0w6FibGEgbcOzZG9zw610dmEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiQSBwYXJ0w61jacOzcyB0w6FibGEgbcOzZG9zw610dmEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiQXpvbm9zw610w7MgIE7DqXZcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NjQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICIgJXM6IGF6b25vc8OtdGF0bGFuIHBhcnTDrWNpw7NzdMOhYmxhLXTDrXB1c1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJOZW0ga8OpcmhldMWRIGxlIGEoeikgJXMgbcOpcmV0ZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAiw7Zzc3plc2VuOiAlbGx1IGJsb2trXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk0IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzIgZGlzay11dGlscy9zZmRpc2suYzoxMDk2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTEgZGlzay11dGlscy9zZmRpc2suYzoxMjA3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MQorIywgZnV6enkKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBhIGh1cm9rZXN6a8O2enQga8OpdHN6ZXIgYWR0YSBtZWciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gw6lyaGV0xZEgZWwiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0ZXLDvGxldCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICJOaW5jcyBqZWxlbiBwYXJ0w61jacOzcyB0w6FibGEuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJWQuIHBhcnTDrWNpw7Mgw6F0ZmVkaSBhKHopICVkIHBhcnTDrWNpw7N0LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCisjLCBmdXp6eQorbXNnaWQgIm5vIHBhcnRpdGlvbiBudW1iZXIgc3BlY2lmaWVkIgorbXNnc3RyICJBIOKAni0tZGF0ZeKAnSBrYXBjc29sw7MgbmluY3MgbWVnYWR2YS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiYSB2w6FydCBzesOhbSBoZWx5ZXR0IOKAniVz4oCdIHRhbMOhbGhhdMOzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIHNpa2VydGVsZW4gYSB3cml0ZV90YWJsZXMtYmVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiQSh6KSAlcyBsZW1leiBuZW0gdGFydGFsbWF6IMOpcnbDqW55ZXMgcGFydMOtY2nDs3MgdMOhYmzDoXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiQSh6KSAlcyBsZW1leiBuZW0gdGFydGFsbWF6IMOpcnbDqW55ZXMgcGFydMOtY2nDs3MgdMOhYmzDoXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkEoeikgJXMgbGVtZXogbmVtIHRhcnRhbG1heiDDqXJ2w6lueWVzIHBhcnTDrWNpw7NzIHTDoWJsw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIkEoeikgJXMgbGVtZXogbmVtIHRhcnRhbG1heiDDqXJ2w6lueWVzIHBhcnTDrWNpw7NzIHTDoWJsw6F0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworIywgZnV6enkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIkVsw6lyaGV0xZEgcGFyYW5jc29rOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKKyMsIGZ1enp5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3ICAgYSB0w6FibGEgbGVtZXpyZSDDrXLDoXNhIMOpcyBraWzDqXDDqXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MAorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkyCisjLCBmdXp6eQorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwICAgQlNEIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworIywgZnV6enkKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDQKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE5CisjLCBmdXp6eQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICJOZW0gbGVzeiBrw6lwZXMgZXJyZSBhIHBhcnTDrWNpw7NzIHTDoWJsw6FyYSDDrXJuaS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1CisjLCBmdXp6eQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICBuICAgICAgICAgIMOaaiBwYXJ0w61jacOzIGzDqXRyZWhvesOhc2EgYSBzemFiYWQgdGVyw7xsZXRixZFsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTcgc3lzLXV0aWxzL2RtZXNnLmM6MTUzOQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJuaW5jcyBwYXJhbmNzP1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIm5pbmNzIHBhcmFuY3M/XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBzZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiQSh6KSAlcyBsZW1leiBuZW0gdGFydGFsbWF6IMOpcnbDqW55ZXMgcGFydMOtY2nDs3MgdMOhYmzDoXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiTcOpZyBuaW5jcyBtZWdhZHZhIHBhcnTDrWNpw7MhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCisjLCBmdXp6eQorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJFbGxlbsWRcnrDqXNyZSBrZXLDvGwsIGhvZ3kgcGlsbGFuYXRueWlsYWcgc2Vua2kgc2VtIGhhc3puw6FsamEgYSBsZW1lenQuLi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJcbiIKKyJBIGxlbWV6IGplbGVubGVnIGhhc3puw6FsYXRiYW4gdmFuOyBheiDDumpyYXBhcnRpY2lvbsOhbMOhc2Egcm9zc3ogw7Z0bGV0LlxuIgorIlbDoWxhc3N6YSBsZSBheiDDtnNzemVzIGbDoWpscmVuZHN6ZXJ0IMOpcyBoYXN6bsOhbGphIGEgc3dhcG9mZiBwYXJhbmNzb3QgYVxuIgorImxhcG96w7NwYXJ0w61jacOzayBraWthcGNzb2zDoXPDoWhvei4gSGFzem7DoWxqYSBhIC0tbm8tcmVyZWFkIGthcGNzb2zDs3QgZXplblxuIgorImVsbGVuxZFyesOpcyBsZXRpbHTDoXPDoWhvei5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJIYXN6bsOhbGphIGEgLS1mb3JjZSBrYXBjc29sw7N0IGF6IMO2c3N6ZXMgZWxsZW7FkXJ6w6lzIGZlbMO8bGLDrXLDoWzDoXPDoWhvei5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiJXM6IFJlbmRiZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiUsOpZ2kgaGVseXpldDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyIlczogJXNcbiIKKyJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCBhZGphIGtpIGEg4oCeJXMgLS1oZWxw4oCdIHBhcmFuY3NvdC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjg2CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJOZW0gdGFsw6FsaGF0w7NrIHBhcnTDrWNpw7NrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNAorIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICIiCisiS8Opc3pcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2CisjLCBmdXp6eQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIk5lIGhvenpvbiBsw6l0cmUgcGFydMOtY2nDs3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzc3Cittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiw5pqIGhlbHl6ZXQ6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJWYWzDs2JhbiBsZW1lenJlIGFrYXJqYSBlenQgw61ybmk/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogbmFtZWkgWy1teF0gw7p0dm9uYWwgW8O6dHZvbmFsIC4uLl1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgICAgQSBnZXRvcHQoMSkgdmVyemnDsyB0ZXN6dGVsw6lzZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MQorIywgZnV6enkKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgICAgLWMgW3ZhZ3kgLS1pZF06ICAgICAgICBracOtcmphIHZhZ3kgbcOzZG9zw610amEgZWd5IHBhcnTDrWNpw7MgYXpvbm9zw610w7Nqw6F0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjYKKyMsIGZ1enp5Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLU4jIDogICAgICAgICAgICAgICAgICBjc2FrIGEgbWVnYWRvdHQgc3rDoW3DuiBwYXJ0w61jacOzIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NworbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiTGV0aWx0aGF0amEgYXogw7Zzc3plcyBrb256aXN6dGVuY2lhLWVsbGVuxZFyesOpc3QgYSBrw7Z2ZXRrZXrFkWtrZWw6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorIywgZnV6enkKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1IIyBbdmFneSAtLWhlYWRzICNdOiAgICAgIGEgaGFzem7DoWxhbmTDsyBmZWpzesOhbSBiZcOhbGzDrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgICAtcSAgW3ZhZ3kgLS1xdWlldF06ICAgIGZpZ3llbG1lenRldMWRIMO8emVuZXRlayBlbG7DqW3DrXTDoXNhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPXBhcmFuY3PDqXJ0ZWxtZXrFkSAgICAgQSBwYXJhbmNzw6lydGVsbWV6xZEgaWTDqXrDqXNpIG1lZ8OhbGxhcG9kw6FzYWluYWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmXDoWxsw610w6FzYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODgKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MworbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgYSh6KSAlcyBjc29tYWdiw7NsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjE1MgorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgc2lrZXJ0ZWxlbiBhIHdyaXRlX3RhYmxlcy1iZW4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAiJTEkczogZmlneWVsbWV6dGV0w6lzOiBhIC1VIGZpZ3llbG1lbiBrw612w7xsIG1hcmFkIChhKHopICUxJHMgbmVtIHTDoW1vZ2F0amEgYXogVVVJRC1rZXQpXG4iCisKKyM6IGluY2x1ZGUvYy5oOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiJXM6ICVzXG4iCisiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgYWRqYSBraSBhIOKAniVzIC0taGVscOKAnSBwYXJhbmNzb3QuXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICJFbMOpcmhldMWRIHBhcmFuY3NvazpcbiIKKworIzogaW5jbHVkZS9jLmg6MzI1CisjLCBmdXp6eQorbXNnaWQgImRpc3BsYXkgdGhpcyBoZWxwIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKworIzogaW5jbHVkZS9jLmg6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiY29sOiDDrXLDoXNpIGhpYmEuXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkEgYmVqZWxlbnRrZXrDqXMgJXMgZ8OpcHJlIGEoeikgJXMgZ8OpcHLFkWwgYWxhcMOpcnRlbG1lesOpc2JlbiBtZWd0YWdhZHZhLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiQSBiZWplbGVudGtlesOpcyAlcyBnw6lwcmUgYSh6KSAlcyBnw6lwcsWRbCBhbGFww6lydGVsbWV6w6lzYmVuIG1lZ3RhZ2FkdmEuXG4iCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyNgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDMwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICIlczogQXogLS1hZGpmaWxlIMOpcyBhIC0tbm9hZGpmaWxlIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QsIGRlIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiw5xyZXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIktpdGVyamVzenRldHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKKyMsIGZ1enp5Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCBpbmTDrXRoYXTDsyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiBSZW5kc3plcmluZMOtdMOhcy1rZXplbMWRIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IGtpdGVyai4gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIlJlanRldHQgRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3p0aWthaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiUmVqdGV0dCBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiUmVqdGV0dCBGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjEKK21zZ2lkICJIaWRkZW4gSFBGUy9OVEZTIgorbXNnc3RyICJSZWp0ZXR0IEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiUmVqdGV0dCBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiUmVqdGV0dCBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiUmVqdGV0dCBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIlJlanRldHQgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyBoZWx5cmXDoWxsw610w6FzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBpbmTDrXTDsyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyLiBwYXJ0w61jacOzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDMuIHBhcnTDrWNpw7MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgdmFneSBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIlLDqWdpIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIHLDqWdpIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBsYXBvesOzIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXgga2l0ZXJqZXN6dGV0dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMga8O2dGV0a8Opc3psZXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBlZ3lzemVyxbEgc3rDtnZlZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuw6Fsw6FzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIGluZMOtdMOzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorIywgZnV6enkKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgbGFwb3rDsyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIHJlanRldHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgaW5kw610w7MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiTmVtIGbDoWpscmVuZHN6ZXJhZGF0b2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCBVdGlsaXR5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBlbMOpcsOpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgImNvbDogaGliw6FzIC1sIGthcGNzb2zDszogJXMuXG4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0MgaW5kw610w7MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBtw6Fzb2RsYWdvcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIGF1dG9tYXRpa3VzIGZlbGlzbWVyw6lzc2VsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIG5lbSBibG9ra2VzemvDtnpcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MCBsaWJmZGlzay9zcmMvYXNrLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MworIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJNw6lnIG5pbmNzIG1lZ2FkdmEgcGFydMOtY2nDsyFcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJOZW0gw6lyaGV0xZEgZWwgc3phYmFkIHN6ZWt0b3JcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjEwMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbcOpZyBuZW0gbMOpdGV6aWshXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiQSh6KSDigJ4lc+KAnSBwYXJ0w61jacOzIGF6IMOpcnbDqW55dGVsZW4gMC4gc3pla3RvcmJhbiBrZXpkxZFkaWsuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTmluY3MgKkJTRCBwYXJ0w61jacOzIGEga8O2dmV0a2V6xZFuOiAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJjaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlV0b2xzw7MgJTEkcywgKyUyJHMgdmFneSArc2l6ZXtLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTYgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTggbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlV0b2xzw7MgJTEkcywgKyUyJHMgdmFneSArc2l6ZXtLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiQSh6KSAlcyBuZW0gdGFydGFsbWF6IGxlbWV6Y8OtbWvDqXQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkzDqXRyZSBha2FyIGhvem5pIGxlbWV6Y8OtbWvDqXQ/IChpL24pICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ0OAorIywgZnV6enkKK21zZ2lkICJEaXNrIgorbXNnc3RyICJsZW1lejogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJKZWxlayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBlbHTDoXZvbMOtdGhhdMOzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgaGliw6FzIHN6ZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJzemVrdG9yb25rw6ludGkgYsOhanRvayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorIywgZnV6enkKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgImNpbGluZGVyZW5rw6ludGkgc8Ohdm9rIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1CisjLCBmdXp6eQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgImNpbGluZGVyZW5rw6ludGkgc3pla3Rvcm9rIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkwIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI4CisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTk3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRlcmVrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJwZXJjZW5rw6ludGkgZm9yZHVsYXQiCisKKyMgZml4bWU6IHZhbGFtaSDDqXJ0ZWxtZXNldAorIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiw6F0cmVuZGV6w6lzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA1CisjLCBmdXp6eQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAic8OhdmTDtm50w6lzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiY2lsaW5kZXJkw7ZudMOpcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJmZWprYXBjc29sw6FzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInPDoXZyw7NsIHPDoXZyYSBwb3ppY2lvbsOhbMOhcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMAorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAic3pla3Rvcm9ua8OpbnRpIGLDoWp0b2siCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTMKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzw6F2b25rw6ludGkgc3pla3Rvcm9rIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJjaWxpbmRlcmVua8OpbnRpIHPDoXZvayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY2lsaW5kZXJlayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgImNpbGluZGVyZW5rw6ludGkgc3pla3Rvcm9rIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIyCittc2dpZCAicnBtIgorbXNnc3RyICJwZXJjZW5rw6ludGkgZm9yZHVsYXQiCisKKyMgZml4bWU6IHZhbGFtaSDDqXJ0ZWxtZXNldAorIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgIsOhdHJlbmRlesOpcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAic8OhdmTDtm50w6lzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJjaWxpbmRlcmTDtm50w6lzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiZmVqa2FwY3NvbMOhcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInPDoXZyw7NsIHPDoXZyYSBwb3ppY2lvbsOhbMOhcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiUmVuZHN6ZXJpbmTDrXTDoXM6ICVzaW5kw610w6FzIC0+IGluZMOtdMOhcyVzICglcyk6ICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwMworIywgZnV6enkKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJBIHJlbmRzemVyaW5kw610w7Mgw6F0ZmVkaSBhIGxlbWV6Y8OtbWvDqXQhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJBIHJlbmRzemVyaW5kw610w7MgdGVsZXDDrXR2ZSBhIGvDtnZldGtlesWRcmU6ICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiTGVtZXptZWdoYWp0w7M6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MTEgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIkFkYXRvayBracOtcsOhc2EgYSBsZW1lemVrcmUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIEJTRCBwYXJ0w61jacOzIGNzYXRvbMOhc2EgZWd5IG5lbSBCU0QgcGFydMOtY2nDs2hveiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTYKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkZzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogYXogbHNlZWsgbWVnaGnDunN1bHQiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgImlvY3RsKCkgaMOtdsOhc2EgYSBwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc8OhaG96LlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EgLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiIgorIlxuIgorIkZJR1lFTE1FWlRFVMOJUzogQSBwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EgbWVnaGnDunN1bHQgYSBcbiIKKyJrw7Z2ZXRrZXrFkSBoaWLDoXZhbCAlZDogJXMuIEEgcmVuZHN6ZXJtYWcgbcOpZyBtaW5kaWcgYSByw6lnaXQgaGFzem7DoWxqYS5cbiIKKyJBeiDDumogdMOhYmxhIGEga8O2dmV0a2V6xZEgw7pqcmFpbmTDrXTDoXMgdXTDoW4gbMOpcCDDqXJ2w6lueWJlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIlczogZXogbmVtIGJsb2trb3MgZXN6a8O2elxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAiIgorIlxuIgorIkZJR1lFTE1FWlRFVMOJUzogQSBwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EgbWVnaGnDunN1bHQgYSBcbiIKKyJrw7Z2ZXRrZXrFkSBoaWLDoXZhbCAlZDogJXMuIEEgcmVuZHN6ZXJtYWcgbcOpZyBtaW5kaWcgYSByw6lnaXQgaGFzem7DoWxqYS5cbiIKKyJBeiDDumogdMOhYmxhIGEga8O2dmV0a2V6xZEgw7pqcmFpbmTDrXTDoXMgdXTDoW4gbMOpcCDDqXJ2w6lueWJlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kZXIiCittc2dzdHJbMV0gImNpbGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzemVrdG9yIgorbXNnc3RyWzFdICJzemVrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiTcOhciBtaW5kZW4gZWxzxZFkbGVnZXMgcGFydMOtY2nDsyBtZWdhZMOhc3JhIGtlcsO8bHQhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIk5lbSDDqXJoZXTFkSBlbCBzemFiYWQgc3pla3RvclxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICIiCisiJXMlcy5cbiIKKyJFeiBjc2FrIGF6IGV4dHJhIHN6b2xnw6FsdGF0w6Fzb2sgbWVuw7xixZFsIMOpcmhldMWRIGVsLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQzCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ3Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUzNAorIywgZnV6enkKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiSGliw6FzIGVsdG9sw6FzIGF6IGVsc8WRZGxlZ2VzIGtpdGVyamVzenRldHQgcGFydMOtY2nDs25cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKyJGaWd5ZWxtZXp0ZXTDqXM6IHBhcnTDrWNpw7NrIGtlcsO8bG5layBraWhhZ3nDoXNyYSBhKHopICVkLiB1dMOhbi5cbiIKKyJFemVrIHTDtnJsw6lzcmUga2Vyw7xsbmVrIGEgcGFydMOtY2nDs3MgdMOhYmxhIG1lbnTDqXNla29yLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogZsO2bMO2c2xlZ2VzIGxpbmttdXRhdMOzIGEoeikgJWQgcGFydMOtY2nDs3MgdMOhYmzDoWJhblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGbDtmzDtnNsZWdlcyBhZGF0b2sgbWFyYWRuYWsgZmlneWVsbWVuIGvDrXbDvGwgYSh6KSAlZCBwYXJ0w61jacOzcyB0w6FibMOhYmFuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiDDvHJlcyBwYXJ0w61jacOzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICIgICBzICAgw7pqLCDDvHJlcyBTdW4gbGVtZXpjw61ta2UgbMOpdHJlaG96w6FzYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcyNgorIywgZnV6enkKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgaSAgIGEgbGVtZXphem9ub3PDrXTDsyBtw7Nkb3PDrXTDoXNhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IMOpcnTDqWs6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIkxlbWV6YXpvbm9zw610w7M6IDB4JTA4eFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJBKHopICVkLiBmw7Zsw7ZzbGVnZXMga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzIGZpZ3llbG1lbiBrw612w7xsIG1hcmFkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEgMHglMDR4IGplbHrFkSDDqXJ2w6lueXRlbGVuIGEoeikgJWQuIHBhcnTDrWNpw7NzIHTDoWJsw6FuLCBleiBhIGtpw61yw6FzIHV0w6FuIGphdsOtdMOhc3JhIGtlcsO8bFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIkF6IMOpcnTDqWsga8OtdsO8bCBlc2lrIGEgdGFydG9tw6FueW9uLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyBtw6FyIGzDqXRlemlrLiBUw7Zyw7ZsamUgbGUgYXogaXNtw6l0ZWx0IGhvenrDoWFkw6FzIGVsxZF0dC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiQSh6KSAlbGx1LiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJOZW0gw6lyaGV0xZEgZWwgc3phYmFkIHN6ZWt0b3JcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkhpYsOhcyBsb2dpa2FpIHBhcnTDrWNpw7MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIGEgMC4gc3pla3RvcnQgaXMgdGFydGFsbWF6emFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzOiBhKHopICVkLiBmZWogbmFneW9iYiwgbWludCBhIG1heGltw6FsaXMgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICIlZC4gcGFydMOtY2nDszogYSh6KSAlZC4gc3pla3RvciBuYWd5b2JiLCBtaW50IGEgbWF4aW3DoWxpcyAlbGx1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICIlZC4gcGFydMOtY2nDszogYSh6KSAlZC4gY2lsaW5kZXIgbmFneW9iYiwgbWludCBhIG1heGltw6FsaXMgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIiVkLiBwYXJ0w61jacOzOiBheiBlbMWResWRICVkIHN6ZWt0b3IgZWx0w6lyIGEgdGVsamVzICVkIMOpcnTDqWt0xZFsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzbiBlbHTDqXIgYSBmaXppa2FpIMOpcyBsb2dpa2FpIGtlemRldCAobmVtIExpbnV4Pyk6XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7NuIGVsdMOpciBhIGZpemlrYWkgw6lzIGxvZ2lrYWkgdsOpZzpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6Fyb24gdsOpZ3rFkWRpay5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDs25hayBuaW5jcyBhZGF0dGVyw7xsZXRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIMOhdGZlZGkgYSh6KSAlZCBwYXJ0w61jacOzdC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIMO8cmVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiQSh6KSAlZC4gbG9naWthaSBwYXJ0w61jacOzIG5pbmNzIHRlbGplc2VuIGJlamVneWV6dmUgYSh6KSAlZC4gcGFydMOtY2nDs25cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJBeiDDtnNzemVzZW4gbGVmb2dsYWx0IHN6ZWt0b3JvayBzesOhbWEgKCVsZCkgbmFneW9iYiwgbWludCBhIG1heGltw6FsaXMgJWxsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiVsbGQgc3pla3RvciBuaW5jcyBsZWZvZ2xhbHZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAxIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDYzCisjLCBmdXp6eQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIkV6IGEgcGFydMOtY2nDsyBtw6FyIGzDqXRlemlrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJBIGzDqXRyZWhvem90dCBwYXJ0w61jacOzayBzesOhbWEgZWzDqXJ0ZSBhIG1heGltdW1vdFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgZnV6enkKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJBeiDDtnNzemVzIGxvZ2lrYWkgcGFydMOtY2nDsyBoYXN6bsOhbGF0YmFuIHZhblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MyBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJBeiDDtnNzemVzIGxvZ2lrYWkgcGFydMOtY2nDsyBoYXN6bsOhbGF0YmFuIHZhblxuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3CisjLCBmdXp6eQorbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiRWzFkXN6w7ZyIHTDtnLDtmxqw7ZuIG7DqWjDoW55IHBhcnTDrWNpw7N0IMOpcyB2ZWd5ZW4gZmVsIGVneSBraXRlcmplc3p0ZXR0IHBhcnTDrWNpw7N0XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzAyCisjLCBmdXp6eQorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJBeiDDtnNzemVzIGxvZ2lrYWkgcGFydMOtY2nDsyBoYXN6bsOhbGF0YmFuIHZhblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzMzCisjLCBmdXp6eQorbXNnaWQgInByaW1hcnkiCittc2dzdHIgIkVsc8WRZGxlZ2VzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorIywgZnV6enkKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiS2l0ZXJqZXN6dGV0dCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIkhpYsOhcyBsb2dpa2FpIHBhcnTDrWNpw7MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgIkxvZ2lrYWkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3CisjLCBmdXp6eQorbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAibCAgIGxvZ2lrYWkgKDUgdmFneSB0w7ZiYikiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIHBhcnTDrWNpw7NzesOhbSBhKHopIOKAniVj4oCdIHTDrXB1c2hvelxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbmVtIMOtcmhhdMOzIGEgcGFyYW5jc2bDoWpsLCBoaWJhOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorIywgZnV6enkKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIkxlbWV6YXpvbm9zw610w7M6IDB4JTA4eFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2OAorIywgZnV6enkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisiQSAwIHTDrXB1cyBsZWd0w7ZiYiByZW5kc3plcmVuIMO8cmVzIGhlbHlldCBqZWxlbnRcbiIKKyIoZGUgbmVtIExpbnV4b24pLiAwIHTDrXB1c8O6IHBhcnTDrWNpw7N0IGhhZ3luaSBuZW1cbiIKKyJva29zIGRvbG9nLiBBIHBhcnTDrWNpw7MgYSAnZCcgcGFyYW5jY3NhbCB0w7Zyw7ZsaGV0xZFcbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI1OSBsaWJmZGlzay9zcmMvZ3B0LmM6MzAzNworIywgZnV6enkKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICIiCisiTmluY3MgdGVlbmTFkS4gQSBzb3JyZW5kIG3DoXIgaGVseWVzLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDs25hayBuaW5jcyBhZGF0dGVyw7xsZXRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJBeiBhZGF0b2sgw7pqIGtlemRldGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJGSUdZRUxNRVpURVTDiVM6IEEoeikgJWQgcGFydMOtY2nDsyBlZ3kga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgdsOhbHRvemF0bGFuOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgcmVuZHN6ZXJ0w61wdXNhIHbDoWx0b3phdGxhbjogJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkVzemvDtnoiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIkluZMOtdGhhdMOzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNQorbXNnaWQgIklkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0CisjLCBmdXp6eQorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICJrZXpkZXQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OQorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorIywgZnV6enkKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgYXogaW5kw610aGF0w7MgcGFydMOtY2nDsyBraXbDoWxhc3p0w6FzYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICBheiBpbmTDrXRoYXTDsyBwYXJ0w61jacOzIGtpdsOhbGFzenTDoXNhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQUEMgUFJlUCBpbmTDrXTDsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICAgZCAgIHBhcnTDrWNpw7MgdMO2cmzDqXNlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIk5pbmNzIHTDtmJiIHBhcnTDrWNpw7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IGxhcG96w7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTdW5PUyBmZW5udGFydG90dCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorIywgZnV6enkKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBraXRlcmplc3p0ZXR0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJCU0RJIGxhcG96w7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorIywgZnV6enkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiT1MvMiBIUEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJTb2xhcmlzIGluZMOtdMOzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTb2xhcmlzIGluZMOtdMOzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIGluZMOtdMOzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAidMO6bCBzb2sgYWx0ZXJuYXTDrXYgc2ViZXNzw6lnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTdW5PUyBmZW5udGFydG90dCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlN1bk9TIGZlbm50YXJ0b3R0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyBmZW5udGFydG90dCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorIywgZnV6enkKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBsYXBvesOzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworIywgZnV6enkKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyBmZW5udGFydG90dCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIGxhcG96w7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3p0aWthaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgcGFydMOtY2nDsyB0w7ZybMOpc2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTEKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTk2Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJFbHPFkSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIiBVdG9sc8OzICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiJWQuIHBhcnTDrWNpw7Mga2l2w6FsYXN6dHZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiJWQuIHBhcnTDrWNpw7Mga2l2w6FsYXN6dHZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgInBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQ1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICIiCisiXG4iCisiQXogaW5kw610w7NwYXJ0w61jacOzIG5lbSBsw6l0ZXppay5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiTmVtIHNpa2Vyw7xsdCBhIHBhcnTDrWNpw7Mga2nDrXLDoXNhIGEoeikgJXMgZXN6a8O2esO2blxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBwYXJ0w61jacOzc3rDoW0gYSh6KSDigJ4lY+KAnSB0w61wdXNob3pcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVkLiBwYXJ0w61jacOzIMOhdGZlZGkgYSh6KSAlZCBwYXJ0w61jacOzdC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIkVneW3DoXN0IMOhdGZlZMWRIHBhcnTDrWNpw7NrIHRhbMOhbGhhdMOzayBhIGxlbWV6ZW4uIEVsxZFzesO2ciBqYXbDrXRzYSBlenQga2khXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiQSBwYXJ0w61jacOzIGEgMC4gc3pla3RvciB1dMOhbiBmZWplesWRZGlrIGJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiJXM6IMOtcsOhc2kgaGliYTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV6dSBvdXQgb2YgJXp1IHBhcnRpdGlvbnMuIgorbXNnc3RyICJmdXJjc2EsIGNzYWsgJWQgcGFydMOtY2nDsyB2YW4gbWVnYWR2YS5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIk5lbSDDqXJoZXTFkSBlbCBzemFiYWQgc3pla3RvclxuIgorbXNnc3RyWzFdICJOZW0gw6lyaGV0xZEgZWwgc3phYmFkIHN6ZWt0b3JcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiRXogYSBwYXJ0w61jacOzIG3DoXIgaGFzem7DoWxhdGJhbiB2YW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgzIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIkEoeikgJWxsdS4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJOZSBob3p6b24gbMOpdHJlIHBhcnTDrWNpw7N0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiICAgcyAgIMO6aiwgw7xyZXMgU3VuIGxlbWV6Y8OtbWtlIGzDqXRyZWhvesOhc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiTmVtIMOpcmhldMWRIGVsIHN6YWJhZCBzemVrdG9yXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJBKHopIOKAniVz4oCdIHBhcnTDrWNpw7MgYXogw6lydsOpbnl0ZWxlbiAwLiBzemVrdG9yYmFuIGtlemTFkWRpay5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgdG8gYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIkEgbMOpdHJlaG96b3R0IHBhcnTDrWNpw7NrIHN6w6FtYSBlbMOpcnRlIGEgbWF4aW11bW90XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJhIHByb2dyYW1pbmTDrXTDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgcmVuZHN6ZXJ0w61wdXNhIHbDoWx0b3phdGxhbjogJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIHJlbmRzemVydMOtcHVzYSB2w6FsdG96YXRsYW46ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgcmVuZHN6ZXJ0w61wdXNhIHbDoWx0b3phdGxhbjogJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIHJlbmRzemVydMOtcHVzYSB2w6FsdG96YXRsYW46ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUw61wdXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOw6l2IgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4CisjLCBmdXp6eQorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIlN6YWJhZCB0ZXLDvGxldCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgImlzbWVyZXRsZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NgorbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgbnllcnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIGvDtnRldCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0w612IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIkF6IHNnaSBsZW1lemPDrW1rZSBlbGxlbsWRcnrFkcO2c3N6ZWdlIGhpYsOhcy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MSBsaWJmZGlzay9zcmMvc3VuLmM6NzgzCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQSBmaXppa2FpIGNpbGluZGVyZWsgc3rDoW1hIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJDaWxpbmRlcmVua8OpbnRpIGV4dHJhIHN6ZWt0b3JvayIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAiKEvDtnZldGtlesWRIGbDoWpsOiAlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyLDiXJ2w6lueXRlbGVuIGluZMOtdMOzZsOhamxcbiIKKyJcdEF6IGluZMOtdMOzZsOhamxuYWsgYWJzem9sw7p0LCBuZW0gw7xyZXMgw7p0dm9uYWxuw6l2bmVrIGtlbGwgbGVubmllLFxuIgorIlx0cMOpbGTDoXVsIOKAni91bml44oCdIHZhZ3kg4oCeL3VuaXguc2F2ZeKAnS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiIgorIlxuIgorIlx0QXogaW5kw610w7Nmw6FqbCBuZXZlIHTDumwgaG9zc3rDujogTWF4aW11bSAxNiBiw6FqdCBsZWhldC5cbiIKK21zZ3N0clsxXSAiIgorIlxuIgorIlx0QXogaW5kw610w7Nmw6FqbCBuZXZlIHTDumwgaG9zc3rDujogTWF4aW11bSAxNiBiw6FqdCBsZWhldC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHRBeiBpbmTDrXTDs2bDoWpsbmFrIHRlbGplcyBrw6lwesOpc8WxIMO6dHZvbmFsbsOpdnZlbCBrZWxsIHJlbmRlbGtlem5pZS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworIywgZnV6enkKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0TmUgZmVsZWRqZSwgaG9neSBheiBpbmTDrXTDs2bDoWpsIGzDqXRlesOpc2UgbmVtIGtlcsO8bHQgZWxsZW7FkXJ6w6lzcmVcbiIKKyJcdEF6IFNHSSBhbGFww6lydGVsbWV6w6lzZSBhIOKAni91bml44oCdIMOpcyBhIGJpenRvbnPDoWdpIG1lbnTDqXMgYSDigJ4vdW5peC5zYXZl4oCdLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisiXG4iCisiQXogYWt0dcOhbGlzIGluZMOtdMOzZsOhamw6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDAKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIkFkamEgbWVnIGF6IMO6aiBpbmTDrXTDs2bDoWpsIG5ldsOpdDogIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJBeiBpbmTDrXTDs2bDoWpsIHbDoWx0b3phdGxhblxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdEF6IGluZMOtdMOzZsOhamwgYSBrw7Z2ZXRrZXrFkXJlIG3Ds2Rvc8OtdHZhOiDigJ4lc+KAnS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorIywgZnV6enkKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJUw7ZiYiB0ZWxqZXMgbGVtZXogYmVqZWd5esOpcyB2YW4gamVsZW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJOaW5jc2VuZWsgcGFydMOtY2nDs2sgbWVnYWR2YVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIkF6IElSSVggc3plcmV0aSwgaGEgYSAxMS4gcGFydMOtY2nDsyBlbGZvZ2xhbGphIGEgdGVsamVzIGxlbWV6dC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiIgorIkEgdGVsamVzIGxlbWV6cGFydMOtY2nDs25hayBhIDAuIGJsb2trb24ga2VsbGVuZSBrZXpkxZFkbmllXG4iCisiw6lzIG5lbSBhKHopICVkLiBsZW1lemJsb2trb24uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJFZ3kgcGFydMOtY2nDs25hayAoYSAxMS4tbmVrKSBsZSBrZWxsZW5lIGZlZG5pZSBhIHRlbGplcyBsZW1lenQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiQSh6KSAlZC4gw6lzICVkLiBwYXJ0w61jacOzayDDoXRmZWRpayBlZ3ltw6FzdCAlZCBzemVrdG9ycmFsLlxuIgorbXNnc3RyWzFdICJBKHopICVkLiDDqXMgJWQuIHBhcnTDrWNpw7NrIMOhdGZlZGlrIGVneW3DoXN0ICVkIHN6ZWt0b3JyYWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiTmVtIGhhc3puw6FsdCAlOHUgc3pla3RvciBob3NzesO6IGjDqXphZyAtIGEoeikgJTh1LSV1IHN6ZWt0b3Jva1xuIgorbXNnc3RyWzFdICJOZW0gaGFzem7DoWx0ICU4dSBzemVrdG9yIGhvc3N6w7ogaMOpemFnIC0gYSh6KSAlOHUtJXUgc3pla3Rvcm9rXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkF6IGluZMOtdMOzcGFydMOtY2nDsyBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDEKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkEgbGFwb3rDs3BhcnTDrWNpw7MgbmVtIGzDqXRlemlrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiIgorIlxuIgorIkEgbGFwb3rDs3BhcnTDrWNpw7MgbmVtIGxhcG96w7NwYXJ0w61jacOzIHTDrXB1c8O6LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJcdFN6b2thdGxhbiBpbmTDrXTDs2bDoWpsIG5ldmV0IHbDoWxhc3p0b3R0LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU4CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiRWd5bcOhc3Qgw6F0ZmVkxZEgcGFydMOtY2nDs2sgdGFsw6FsaGF0w7NrIGEgbGVtZXplbi4gRWzFkXN6w7ZyIGphdsOtdHNhIGV6dCBraSFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0MworIywgZnV6enkKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJLw61zw6lybGV0IGEgdGVsamVzIGxlbWV6YmVqZWd5esOpcyBhdXRvbWF0aWt1cyBlbMWRw6FsbMOtdMOhc8OhcmEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJBIHBhcnTDrWNpw7NrIG3DoXIgbGVmZWRpayBhIHRlbGplcyBsZW1lenQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTIKKyMsIGZ1enp5Cittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJFZ3ltw6FzdCDDoXRmZWTFkSBwYXJ0w61jacOzayB0YWzDoWxoYXTDs2sgYSBsZW1lemVuLiBFbMWRc3rDtnIgamF2w610c2EgZXp0IGtpIVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc0IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIkVsc8WRICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKyJFcsWRc2VuIGFqw6FubG90dCwgaG9neSBhIDExLiBwYXJ0w61jacOzXG4iCisibGVmZWRqZSBheiBlZ8Opc3ogbGVtZXp0IMOpcyAnU0dJIGvDtnRldCcgdMOtcHVzw7ogbGVneWVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlV0b2xzw7MgJTEkcywgKyUyJHMgdmFneSArc2l6ZXtLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEgQkxLR0VUU0labEUgaW9jdGwgbWVnaGnDunN1bHQgYSh6KSAlcyBlc3prw7Z6w7ZuLiBBKHopICVkIGdlb21ldHJpYS1jaWxpbmRlcsOpcnTDqWsga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmEuIEV6IGF6IMOpcnTDqWsgY3NvbmvDrXTDoXNyYSBrZXLDvGxoZXQgMzMsOCBHQi1uw6FsIG5hZ3lvYmIgZXN6a8O2esO2a8O2bi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTAKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIMO6aiwgw7xyZXMgU3VuIGxlbWV6Y8OtbWtlIGzDqXRyZWhvesOhc2EiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDY5CisjLCBmdXp6eQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiRWxuw6l6w6lzdCwgY3NhayBhIHJlbmRzemVyZ2F6ZGEgbcOzZG9zw610aGF0amEgYSByZW5kc3plcsOzcsOhdC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorIkZvbnRvbGphIG1lZyBhIDktZXMgcGFydMOtY2nDsyBrw7Z0ZXRmZWpsw6lja8OpbnQgKDApIMOpcyBhIDExLWVzXG4iCisicGFydMOtY2nDsyB0ZWxqZXMga8O2dGV0a8OpbnQgKDYpIHZhbMOzIG1lZ2hhZ3nDoXPDoXQsIGFob2d5YW4gYXogSVJJWCBlenQgZWx2w6FyamEuXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg0CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiIgorIkVyxZFzZW4gYWrDoW5sb3R0LCBob2d5IGEgMCBlbHRvbMOhc27DoWwgdGFsw6FsaGF0w7MgcGFydMOtY2nDsyDigJ5TR0kgdm9saGRy4oCdXG4iCisidMOtcHVzw7ogbGVneWVuLCBheiBJUklYIHJlbmRzemVyIGVycmUgZm9nIGhhZ3lhdGtvem5pIGEga8O2bnl2dMOhcmLDs2xcbiIKKyLDtm7DoWxsw7MgZXN6a8O2esO2ayBsZWvDqXJkZXrDqXNrb3IsIG1pbnQgYSBzYXNoIMOpcyBheiBmeC5cbiIKKyJDc2FrIGF6IOKAnlNHSSBrw7Z0ZXTigJ0gdGVsamVzIGxlbWV6c3pha2FzeiBzw6lydGhldGkgZXp0IG1lZy5cbiIKKyLDjXJqYSBiZSBheiBJR0VOIHN6w7N0LCBoYSBiaXp0b3NhbiBlbHTDqXLFkSBtw7Nkb24ga8OtdsOhbmphIGPDrW1rw6l6bmkgZXp0IGEgcGFydMOtY2nDs3QuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzozOQorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIlTDoXJzw610YXRsYW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIGd5w7Zrw6lyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBsYXBvesOzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiVGVsamVzIGxlbWV6IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0IHN6ZWt0b3JvayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIGZlbm50YXJ0b3R0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyJBIFN1biBsZW1lemPDrW1rZSBlbGxlbsWRcnrFkcO2c3N6ZWdlIGhpYsOhcy5cbiIKKyJWYWzDs3N6w61uxbFsZWcgYmUga2VsbCDDoWxsw610YW5pYSBtaW5kZW4gw6lydMOpa2V0XG4iCisicMOpbGTDoXVsIGEgZmVqZWssIHN6ZWt0b3JvaywgY2lsaW5kZXJlayDDqXMgcGFydMOtY2nDs2sgc3rDoW3DoXRcbiIKKyJ2YWd5IGvDqXN6w610c2VuIMO6aiBjw61ta8OpdCAoYSBmxZEgbWVuw7wgJ3MnIHBhcmFuY3PDoXZhbClcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIkEgU3VuIGxlbWV6Y8OtbWtlIHZlcnppw7NzesOhbWEgaGliw6FzIFsweCUwOHhdLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJBIFN1biBsZW1lemPDrW1rZSDDoWxsYXBvdGEgaGliw6FzIFsweCUwOHhdLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIkEgU3VuIGxlbWV6Y8OtbWtlIG51bV9wYXJ0aXRpb25zWyV1XSDDqXJ0w6lrZSBoaWLDoXMuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjIKKyMsIGZ1enp5Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIkZpZ3llbG1lenRldMOpczogQSBoaWLDoXMgw6lydMOpa2VrZXQgamF2w610YW5pIGtlbGwsIGV6IGF6IMOtcsOhc2tvciBtZWd0w7ZydMOpbmlrXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiRmVqZWsiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTw6F2b25rw6ludGkgc3pla3Rvcm9rIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICDDumosIMO8cmVzIFN1biBsZW1lemPDrW1rZSBsw6l0cmVob3rDoXNhIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIG5lbSBjaWxpbmRlcmhhdMOhcm9uIHbDqWd6xZFkaWsuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyBtw6Fzb2thdCBmZWQgw6F0IGEoeikgJWQtJWQgc3pla3Rvcm9rYmFuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJOZW0gaGFzem7DoWx0IGjDqXphZyBhIDAtJWQgc3pla3Rvcm9rb25cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIk5lbSBoYXN6bsOhbHQgaMOpemFnIGEoeikgJWQtJWQgc3pla3Rvcm9rb25cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorIywgZnV6enkKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKyJBIHTDtmJiaSBwYXJ0w61jacOzIG3DoXIgbGVmZWRpIGEgdGVsamVzIGxlbWV6dC5cbiIKKyJUw7Zyw7ZsasO2biB2YWd5IHpzdWdvcsOtdHNvbiDDtnNzemUgbsOpaMOhbnlhdCBheiDDumpyYXByw7Niw6Fsa296w6FzIGVsxZF0dC5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyJFcsWRc2VuIGFqw6FubG90dCwgaG9neSBhIDExLiBwYXJ0w61jacOzXG4iCisibGVmZWRqZSBheiBlZ8Opc3ogbGVtZXp0IMOpcyAnU0dJIGvDtnRldCcgdMOtcHVzw7ogbGVneWVuLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiTmVtIGZvZ2xhbHRhIGxlIGEgdGVsamVzIGxlbWV6dCBhIDMuIHBhcnTDrWNpw7N2YWwsIGRlIGEoeikgJWQgJXMgw6lydMOpa1xuIgorImxlZm9nbGFsIGVneSBtw6FzaWsgcGFydMOtY2nDs3QuIEEgYmVqZWd5esOpc2UgbcOzZG9zw610dmEgJWQgJXMgw6lydMOpa3JlLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIkhhIGZlbm4gYWthcmphIHRhcnRhbmkgYSBTdW5PUy9Tb2xhcmlzIGtvbXBhdGliaWxpdMOhc3QsIGFra29yIGhhZ3lqYSBhXG4iCisicGFydMOtY2nDs3QgdGVsamVzIGxlbWV6a8OpbnQgKDUpLCBhIDAuIHN6ZWt0b3J0w7NsICV1IHN6ZWt0b3JyYWxcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiY8OtbWtlOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjgKKyMsIGZ1enp5Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJLw7Z0ZXQ6IDwlLTZzPlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4CisjLCBmdXp6eQorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkF6IGFsdGVybmF0w612IGNpbGluZGVyZWsgc3rDoW1hIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkF6IGFsdGVybmF0w612IGNpbGluZGVyZWsgc3rDoW1hIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTA5Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIkNpbGluZGVyZW5rw6ludGkgZXh0cmEgc3pla3Rvcm9rIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIsOBdHJlbmRlesOpc2kgdMOpbnllesWRIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIkZvcmfDoXNpIHNlYmVzc8OpZyAocGVyY2Vua8OpbnRpIGZvcmR1bGF0KSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkEgZml6aWthaSBjaWxpbmRlcmVrIHN6w6FtYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiRm9udG9samEgbWVnIGEgMy1hcyBwYXJ0w61jacOzIGVnw6lzeiBsZW1lemvDqW50ICg1KSBoYWd5w6Fzw6F0XG4iCisibWl2ZWwgYSBTdW5PUy9Tb2xhcmlzIGVycmUgc3rDoW3DrXQgw6lzIGEgTGludXggaXMga2V6ZWxpLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworIywgZnV6enkKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJFcsWRc2VuIGFqw6FubG90dCBhIDAgZWx0b2zDoXNuw6FsIHRhbMOhbGhhdMOzIHBhcnTDrWNpw7N0IFVGUywgRVhUMkZTIHZhZ3lcbiIKKyJTdW5PUyBsYXBvesOzIHBhcnTDrWNpw7MgdMOtcHVzw7pyYSDDoWxsw610YW5pLiBMaW51eCBsYXBvesOzcGFydMOtY2nDs1xuIgorImzDqXRyZWhvesOhc2Frb3IgbWVnc2VtbWlzw7xsaGV0IGEgcGFydMOtY2nDs3MgdMOhYmxhIMOpcyBheiBpbmTDrXTDs2Jsb2trLlxuIgorIsONcmphIGJlIGF6IElHRU4gc3rDs3QsIGhhIGEgcGFydMOtY2nDsyBiaXp0b3NhbiA4Mi1lcyAoTGludXggbGFwb3rDsylcbiIKKyJ0w61wdXPDuiBsZWd5ZW46ICIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHQuYzoyMzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiYXogb2x2YXPDoXMgbWVnaGnDunN1bHQ6ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgIm1vdW50OiBhKHopICUyJHMlMSRzIMOtcsOhc3bDqWRldHQsIGNzYXRvbMOhcyBjc2FrIG9sdmFzaGF0w7Nrw6ludCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4gYSh6KSAlcyBhbMOhXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgbmVtIHRhbMOhbGhhdMOzIGEoeikgJXMgdmFneSBhKHopICVzIGFsYXR0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiCittc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSB0YWzDoWxoYXTDsyBhKHopICVzIHZhZ3kgYSh6KSAlcyBhbGF0dCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgbmVtIHRhbMOhbGhhdMOzIGEoeikgJXMgdmFneSBhKHopICVzIGFsYXR0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZCBvbiAlczsgdXNlIC10IDx0eXBlPiBvciB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiQSDigJ4tLWRhdGXigJ0ga2FwY3NvbMOzIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAiJXM6IG5lbSBob3poYXTDsyBsw6l0cmUgbGluayBhKHopICVzIGbDoWpscmE6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgc291cmNlIHNwZWNpZmllZCIKK21zZ3N0ciAiQSDigJ4tLWRhdGXigJ0ga2FwY3NvbMOzIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAibmVtIGxlaGV0IHZpc3N6YcOhbGzDrXRhbmkgYSBsYXBvesOzdGVyw7xsZXQtZXN6a8O2enQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIGVneSBww6FyaHV6YW1vcyAobHApIGVzemvDtnouXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtb3VudDogYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudDogYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgY3NhdG9sw6FzaSBwb250IG5lbSBlZ3kga8O2bnl2dMOhciIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIm1vdW50OiBob3p6w6Fmw6lyw6lzIG1lZ3RhZ2FkdmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJtb3VudDogY3NhayBhIHJlbmRzemVyZ2F6ZGEgaGFzem7DoWxoYXRqYSBhIG1vdW50IHBhcmFuY3NvdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBmb2dsYWx0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4gYSh6KSAlcyBhbMOhXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgIm1vdW50OiBhKHopICVzIG3DoXIgY3NhdG9sdmEgdmFuLCB2YWd5IGEoeikgJXMgZm9nbGFsdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgY3NhdG9sw6FzaSBwb250IG5lbSBsw6l0ZXppayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgY3NhdG9sw6FzaSBwb250IGVneSBzemltYm9saWt1cyBsaW5rIGEgc2VtbWliZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgc3BlY2nDoWxpcyBlc3prw7Z6IG5lbSBsw6l0ZXppayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiBhKHopICVzIHNwZWNpw6FsaXMgZXN6a8O2eiBuZW0gbMOpdGV6aWtcbiIKKyIgICAgICAgKGF6IGVsw6lyw6lzaSDDunQgZWd5IGVsxZF0YWdqYSBuZW0ga8O2bnl2dMOhcilcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBtw6lnIG5pbmNzIGNzYXRvbHZhLCB2YWd5IGEga2FwY3NvbMOzIGhpYsOhcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnQgcG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOpZyBuaW5jcyBjc2F0b2x2YSwgdmFneSBhIGthcGNzb2zDsyBoaWLDoXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0iCittc2dzdHIgIiIKKyIgICAgICAgKHN6w6Ftb3MgZsOhamxyZW5kc3plciAocMOpbGTDoXVsIG5mcywgY2lmcykgZXNldMOpbiBzesO8a3PDqWdlc1xuIgorIiAgICAgICBsZWhldCBlZ3kgL3NiaW4vbW91bnQuPHTDrXB1cz4gc2Vnw6lkcHJvZ3JhbSkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisibW91bnQ6IGhpYsOhcyBmw6FqbHJlbmRzemVydMOtcHVzLCBoaWLDoXMga2FwY3NvbMOzLCBoaWLDoXMgc3p1cGVyYmxva2sgYSh6KVxuIgorIiAgICAgICAlcyBlc3prw7Z6w7ZuLCBoacOhbnl6w7Mga8OzZGxhcCB2YWd5IHNlZ8OpZHByb2dyYW0sIHZhZ3kgZWd5w6liIGhpYmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJhIGNzYXRvbMOhc2kgdMOhYmxhIG1lZ3RlbHQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICJtb3VudDogbmVtIGxlaGV0IG9sdmFzbmkgYSh6KSAlcyBzenVwZXJibG9ra2rDoXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibW91bnQ6IGlzbWVyZXRsZW4gZsOhamxyZW5kc3plcnTDrXB1czog4oCeJXPigJ0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiBpc21lcmV0bGVuIGbDoWpscmVuZHN6ZXJ0w61wdXM6IOKAniVz4oCdIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gYmxva2tlc3prw7Z6IMOpcyBheiBlbMOpcsOpcyBtZWdoacO6c3VsdC4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisibW91bnQ6IGEgcmVuZHN6ZXJtYWcgbmVtIGlzbWVyaSBmZWwgYSh6KSAlcyBibG9ra2VzemvDtnp0XG4iCisiICAgICAgICh0YWzDoW4ga2kga2VsbGVuZSBhZG5pYSBheiDigJ5pbnNtb2QgbWVnaGFqdMOz4oCdIHBhcmFuY3NvdD8pIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZTsgdHJ5IFwiLW8gbG9vcFwiIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gYmxva2tlc3prw7Z6IChwcsOzYsOhbGphIGhhc3puw6FsbmkgYSDigJ4tbyBsb29w4oCdIGthcGNzb2zDs3QpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IGV6IG5lbSBibG9ra29zIGVzemvDtnpcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSBlZ3kgw6lydsOpbnllcyBibG9ra2VzemvDtnoiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJTIkcyUxJHMgbmVtIGNzYXRvbGhhdMOzIMOtcsOhc3bDqWRldHRrw6ludCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIm1vdW50OiBhKHopICUyJHMlMSRzIMOtcsOhc3bDqWRldHQsIGRlIG1lZ2Fkw6FzcmEga2Vyw7xsdCBhIOKAni134oCdIGthcGNzb2zDsyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIm1vdW50OiBhKHopICUyJHMlMSRzIG5lbSBjc2F0b2xoYXTDsyDDrXLDoXN2w6lkZXR0a8OpbnQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4gYSh6KSAlcyBhbMOhXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBlc3prw7Z6w7ZuIG5lbSB0w7ZydMOpbmlrIGvDrXPDqXJsZXQgYSBmw6FqbHJlbmRzemVyIGzDqXRyZWhvesOhc8OhcmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtb3VudDogYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudDogYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzIMOpcnbDqW55dGVsZW4gYmxva2tlc3prw7Z6IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJtb3VudDogbmVtIGxlaGV0IG9sdmFzbmkgYSh6KSAlcyBzenVwZXJibG9ra2rDoXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBmb2dsYWx0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIkEg4oCeLS1kYXRl4oCdIGthcGNzb2zDsyBuaW5jcyBtZWdhZHZhLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICJ1bW91bnQ6ICVzIGxldsOhbGFzenTDoXPDoWhveiByZW5kc3plcmdhemRhaSBqb2cgc3rDvGtzw6lnZXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAidW1vdW50OiBhIGJsb2trZXN6a8O2esO2ayBuZW0gZW5nZWTDqWx5ZXpldHRlayBlemVuIGEgZsOhamxyZW5kc3plcmVuICglcykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICJhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAibmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnRlcsO8bGV0IgorCisjOiBsaWIvcGF0aC5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJheiBpZMWResOtdMOpc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBsaWIvcGF0aC5jOjI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJheiBpZMWResOtdMOpc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjczCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiTmVtIGvDqXJoZXTFkSBsZSBhKHopICVzIGlkxZFrb3Jsw6F0amE6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2Cittc2dpZCAiZ2V0cmFuZG9tKCkgZnVuY3Rpb24iCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE5OQorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAibmVtIGxlaGV0IHZpc3N6YcOhbGzDrXRhbmkgYSBsYXBvesOzdGVyw7xsZXQtZXN6a8O2enQiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBuaW5jcyBpbHllbiBwYXJ0w61jacOzXG4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiTmVtIHTDoW1vZ2F0b3R0IHV0w7N0YWc6IOKAniVz4oCdLlxuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDU5Cittc2dpZCAiZm9ybWF0X2lzb190aW1lOiBidWZmZXIgb3ZlcmZsb3cuIgorbXNnc3RyICIiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NzcgbGliL3RpbWV1dGlscy5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiQXogw6lydMOpayBrw612w7xsIGVzaWsgYSB0YXJ0b23DoW55b24uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6IG5hbWVpIFstbXhdIMO6dHZvbmFsIFvDunR2b25hbCAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiVzIGZpbmdlciBpbmZvcm3DoWNpw7NpbmFrIG1lZ3bDoWx0b3p0YXTDoXNhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorIlsgLXAgaXJvZGFpX3N6w6FtIF1cbiIKKyJcdFsgLWggb3R0aG9uaV9zesOhbSBdICIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImEgbWV6xZEgdMO6bCBob3NzesO6LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKKyMsIGZ1enp5Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICJJcm9kYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiT3R0aG9uaSB0ZWxlZm9uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4CisjLCBmdXp6eQorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICIiCisiXG4iCisiTWVnc3pha8OtdHZhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkEgZmluZ2VyIGluZm9ybcOhY2nDs2sgKk5FTSogdsOhbHRvenRhay4gUHLDs2LDoWxqYSBtZWcgw7pqcmEga8Opc8WRYmIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkEgZmluZ2VyIGluZm9ybcOhY2nDs2sgbWVndsOhbHRvenRhay5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiJXM6IGEoeikgJWQgYXpvbm9zw610w7Nqw7ogZmVsaGFzem7DoWzDsyBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZmVsaGFzem7DoWzDsyBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorIywgZnV6enkKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAiJXM6IGNzYWsgaGVseWkgYmVqZWd5esOpc2VrIG3Ds2Rvc8OtdGhhdMOzaywgaGFzem7DoWxqYSBpbmvDoWJiIGF6IHlwJXMgbGVoZXTFkXPDqWdldC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXM6ICVzIG5pbmNzIGZlbGhhdGFsbWF6dmEgJXMgZmluZ2VyIGluZm9ybcOhY2nDs2luYWsgbcOzZG9zw610w6Fzw6FyYVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiaXNtZXJldGxlbiBmZWxoYXN6bsOhbMOzaSBrb250ZXh0dXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTggbG9naW4tdXRpbHMvY2hzaC5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBOZW0gw6FsbMOtdGhhdMOzIGJlIGF6IC9ldGMvcGFzc3dkIGFsYXDDqXJ0ZWxtZXpldHQga29udGV4dHVzYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorIywgZnV6enkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisiJXM6IEF6IGFrdHXDoWxpcyBmZWxoYXN6bsOhbMOzIGF6b25vc8OtdMOzamEgKFVJRCkgbmVtIGVneWV6aWsgYSBtw7Nkb3PDrXRhbmTDs1xuIgorImZlbGhhc3puw6Fsw7MgYXpvbm9zw610w7Nqw6F2YWwsIGEgbcOzZG9zw610w6FzIG1lZ3RhZ2FkdmFcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICIlcyBmaW5nZXIgaW5mb3Jtw6FjacOzaW5hayBtZWd2w6FsdG96dGF0w6FzYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkEgZmluZ2VyIGluZm9ybcOhY2nDs2sgbmVtIHbDoWx0b3p0YWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiJXMgcGFyYW5jc8OpcnRlbG1lesWRasOpbmVrIG1lZ3bDoWx0b3p0YXTDoXNhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9cGFyYW5jc8OpcnRlbG1lesWRICAgICBBIHBhcmFuY3PDqXJ0ZWxtZXrFkSBpZMOpesOpc2kgbWVnw6FsbGFwb2TDoXNhaW5ha1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZcOhbGzDrXTDoXNhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MQorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICIlczogQSBwYXJhbmNzw6lydGVsbWV6xZEgdGVsamVzIGVsw6lyw6lzaSDDunRqw6F0IG1lZyBrZWxsIGFkbmlhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiJXM6IOKAniVz4oCdIG5lbSBmdXR0YXRoYXTDsy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGF6IC9ldGMvc2hlbGxzIGbDoWpsIG5lbSB0YXJ0YWxtYXp6YSBhIGvDtnZldGtlesWRdDog4oCeJXPigJ1cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gaGnDoW55emlrIGF6IC9ldGMvc2hlbGxzIGbDoWpsYsOzbC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXM6ICVzIG5lbSBqb2dvc3VsdCAlcyBwYXJhbmNzw6lydGVsbWV6xZFqw6luZWsgbcOzZG9zw610w6Fzw6FyYVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1CisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKyIlczogQXogYWt0dcOhbGlzIGZlbGhhc3puw6Fsw7MgYXpvbm9zw610w7NqYSAoVUlEKSBuZW0gZWd5ZXppayBhIG3Ds2Rvc8OtdGFuZMOzXG4iCisiZmVsaGFzem7DoWzDsyBhem9ub3PDrXTDs2rDoXZhbCwgYSBtw7Nkb3PDrXTDoXMgbWVndGFnYWR2YVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorIiVzOiBBIHBhcmFuY3PDqXJ0ZWxtZXrFkWplIGhpw6FueXppayBheiAvZXRjL3NoZWxscyBmw6FqbGLDs2wsIGFcbiIKKyJwYXJhbmNzw6lydGVsbWV6xZEgbcOzZG9zw610w6FzYSBtZWd0YWdhZHZhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICIlcyBwYXJhbmNzw6lydGVsbWV6xZFqw6luZWsgbWVndsOhbHRvenRhdMOhc2EuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNDIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIsOaaiBwYXJhbmNzw6lydGVsbWV6xZEiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTAKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJBIHBhcmFuY3PDqXJ0ZWxtZXrFkSBuZW0gdsOhbHRvem90dC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorIywgZnV6enkKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiQSBwYXJhbmNzw6lydGVsbWV6xZEgKk5FTSogdsOhbHRvem90dC4gUHLDs2LDoWxqYSDDumpyYSBrw6lzxZFiYi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorIywgZnV6enkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIkEgcGFyYW5jc8OpcnRlbG1lesWRICpORU0qIHbDoWx0b3pvdHQuIFByw7Niw6FsamEgw7pqcmEga8Opc8WRYmIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiQSBwYXJhbmNzw6lydGVsbWV6xZEgbWVndsOhbHRvem90dC5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBbZsOhamxdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJtZWdzemFrw610dmE6ICUxMC4xMHMgJTUuNXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiBuYW1laSBbLW14XSDDunR2b25hbCBbw7p0dm9uYWwgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorIywgZnV6enkKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorInd0bXAga2V6ZGV0ZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImhpYmE6IGF6IFVVSUQgZmVsZG9sZ296w6FzIG1lZ2hpw7pzdWx0IgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICJsZWZvZ2xhbHQgc3plbWFmb3JvayA9ICVkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAiVsOJR1pFVEVTOiBuZW0gbnlpdGhhdMOzIG1lZyDDumpyYSBhIHRlcm1pbsOhbDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIiVzIG5lbSBzb3JvcyB2b25hbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImEgY2hvd24gbWVnaGnDunN1bHQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2RldjogYSBjaGRpcigpIG1lZ2hpw7pzdWx0OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiVsOJR1pFVEVTOiBoaWLDoXMgdGVybWluw6FsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJVdG9sc8OzIGJlamVsZW50a2V6w6lzOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgImVycsWRbDogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgImV6ZW46ICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgImEgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJCRUjDjVbDgVMgRVpFTjogJXMgQSBLw5ZWRVRLRVrFkFTFkEw6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIlJPT1QgQkVKRUxFTlRLRVrDiVMgRVpFTjogJXMgQSBLw5ZWRVRLRVrFkFLFkEw6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09UIEJFSkVMRU5US0Vaw4lTIEVaRU46ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJCRUpFTEVOVEtFWsOJUyBFWkVOOiAlcyAlcyBGRUxIQVNaTsOBTMOTVMOTTCBBIEvDllZFVEtFWsWQUsWQTDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJCRUpFTEVOVEtFWsOJUyBFWkVOOiAlcyAlcyBGRUxIQVNaTsOBTMOTVMOTTCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICJmZWxoYXN6bsOhbMOzbsOpdjogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiJXM6IGplbHN6w7MtaGl0ZWxlc8OtdMOpc2kgKFBBTSkgaGliYSwgbWVnc3pha8OtdHZhOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIkEgamVsc3rDsy1oaXRlbGVzw610w6lzIChQQU0pIG5lbSBpbmljaWFsaXrDoWxoYXTDszogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIlZCBTSUtFUlRFTEVOIEJFSkVMRU5US0Vaw4lTIEVSUsWQTDogJXMgQSBLw5ZWRVRLRVrFkEvDiU5UOiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzk3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkEgYmVqZWxlbnRrZXrDqXMgbWVnaGnDunN1bHRcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJUw5pMIFNPSyBCRUpFTEVOVEtFWsOJU0kgS8ONU8OJUkxFVCAoJWQpIEVSUsWQTDogJXMgQSBLw5ZWRVRLRVrFkEvDiU5UOiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiQSBNVU5LQU1FTkVUQkUgQkVKRUxFTlRLRVrDiVMgTUVHSEnDmlNVTFQgRVJSxZBMOiAlcyBBIEvDllZFVEtFWsWQS8OJTlQ6ICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisiQSBiZWplbGVudGtlesOpcyBtZWdoacO6c3VsdFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIk11bmthbWVuZXQtYmXDoWxsw610w6FzaSBwcm9ibMOpbWEsIG1lZ3N6YWvDrXR2YS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiw5xyZXMgZmVsaGFzem7DoWzDs27DqXYgYSBrw7Z2ZXRrZXrFkWJlbjogJXM6JWQuIE1lZ3N6YWvDrXR2YS4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkgbWVnaGnDunN1bHQ6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogbGFzdCBbLSNdIFstZiBmw6FqbF0gWy10IHRlcm1pbsOhbF0gWy1oIGfDqXBuw6l2XSBbZmVsaGFzem7DoWzDsyAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorIywgZnV6enkKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiw4FybnnDqWtqZWxzemF2YWthdCBoYXN6bsOhbCBhIHJlbmRzemVyZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAgcCAgICAgICAgICBBIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EgYSBrw6lwZXJuecWRcmUgdmFneSBmw6FqbGJhIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiQSBiZWplbGVudGtlesOpcyAlZCBtw6Fzb2RwZXJjIHV0w6FuIHTDumxsw6lwdGUgYXogaWTFkWtvcmzDoXRvdFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IGEgLWggY3NhayByZW5kc3plcmdhemRha8OpbnQgw6lyaGV0xZEgZWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiAo4oCeJXPigJ0pIGEga8O2dmV0a2V6xZFiZW46ICVzOiVkLiBNZWdzemFrw610dmEuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJoaWJhOiBheiBVVUlEIGZlbGRvbGdvesOhcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjg4CisjLCBmdXp6eQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICLDmmogbGV2ZWxlIMOpcmtlemV0dC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIkxldmVsZSB2YW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiQmVqZWxlbnRrZXrDqXMgYSDigJ4v4oCdIHNhasOhdCBrw7ZueXZ0w6FycmFsLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImxvZ2luOiBhIHBhcmFuY3Nmw6FqbCBuZW0gZnV0dGF0aGF0w7M6ICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKKyMsIGZ1enp5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIk5pbmNzIHBhcmFuY3PDqXJ0ZWxtZXrFkSIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGlkxZFrb3Jsw6F0w6lydMOpazogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MzgzCittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2IHN5cy11dGlscy9sc2NwdS5jOjE0NDYKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgIm5vIgorbXNnc3RyICJuZW0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlbGhhc3puw6Fsw7Nuw6l2IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworIywgZnV6enkKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0CisjLCBmdXp6eQorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgImZlbGhhc3puw6Fsw7MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiSmVsc3rDszogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIkplbHN6w7M6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBhIGplbHN6w7Nmw6FqbCBmb2dsYWx0LlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiJXM6IGEgamVsc3rDs2bDoWpsIGZvZ2xhbHQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIkplbHN6w7M6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorIywgZnV6enkKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAiZmVsaGFzem7DoWzDs27DqXY6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiRWxzxZFkbGVnZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIk5pbmNzICVzIG5ldsWxIGvDtm55dnTDoXIhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJOaW5jcyAlcyBuZXbFsSBrw7ZueXZ0w6FyIVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiTmluY3MgcGFyYW5jc8OpcnRlbG1lesWRIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiTmluY3MgcGFyYW5jc8OpcnRlbG1lesWRIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImF6IGVsc8WRIHNvciB1dMOhbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiVXRvbHPDsyBiZWplbGVudGtlesOpczogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorIywgZnV6enkKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICIlcyBuZW0gc29yb3Mgdm9uYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdDogZ8OpcG7DqXYgZmVsb2xkw6FzYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiYXogbHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgImEgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIkplbHN6w7M6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIkplbHN6w7M6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiJXM6IG5lbSB0w7ZydMOpbnQgdsOhbHRvesOhc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiTGludXggZWd5c3plcsWxIHN6w7Z2ZWciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICIlczogYSh6KSDigJ4lc+KAnSBmb2x5YW1hdCBuZW0gdGFsw6FsaGF0w7NcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJiZWxzxZEgaGliYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICJVdG9sc8OzIGJlamVsZW50a2V6w6lzOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzIKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMworbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQgc3lzLXV0aWxzL2xzaXBjLmM6Mjk3CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwIHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkKKyMsIGZ1enp5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDM0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgImEoeikgJXMgdGVybWluw6FsYXR0cmliw7p0dW1haSBuZW0ga8OpcmhldMWRayBsZSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKKyMsIGZ1enp5Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiSmVsc3rDszogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImEgbWVtw7NyaWFmb2dsYWzDoXMgc2lrZXJ0ZWxlbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICJuZXdncnA6IE5pbmNzIGlseWVuIGNzb3BvcnQuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAibmV3Z3JwOiDDlm4ga2k/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0CisjLCBmdXp6eQorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAibmV3Z3JwOiBOaW5jcyBpbHllbiBjc29wb3J0LiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2CisjLCBmdXp6eQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJBIGxlbWV6IGplbGVubGVnIGhhc3puw6FsYXRiYW4gdmFuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyMjQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJhKHopICVzIHRlcm1pbsOhbGF0dHJpYsO6dHVtYWkgbmVtIGvDqXJoZXTFkWsgbGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEoeikg4oCeJXPigJ0gZsOhamwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyNCBtaXNjLXV0aWxzL3V1aWRkLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDk0CisjLCBmdXp6eQorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJhIG1lbcOzcmlhZm9nbGFsw6FzIHNpa2VydGVsZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY3MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorIywgZnV6enkKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIkhlbHl0ZWxlbiBqZWxzesOzLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhKHopIOKAniVz4oCdIGbDoWpsIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3OTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiTmVtIMOhbGzDrXRoYXTDsyBiZSBhIGplbHrDqXNrZXplbMWRIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIk5lbSDDoWxsw610aGF0w7MgYmUgYSBqZWx6w6lza2V6ZWzFkSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgIk5lbSDDoWxsw610aGF0w7MgYmUgYSBqZWx6w6lza2V6ZWzFkSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAiYSh6KSAlcyBhem9ub3PDrXTDsyBuZW0gdMOhdm9sw610aGF0w7MgZWwgKCVzKVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAiYSBjc29wb3J0YXpvbm9zw610w7MgbmVtIMOhbGzDrXRoYXTDsyBiZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyMiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAiYSBjc29wb3J0YXpvbm9zw610w7MgbmVtIMOhbGzDrXRoYXTDsyBiZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJhIGZlbGhhc3puw6Fsw7Nhem9ub3PDrXTDsyBuZW0gw6FsbMOtdGhhdMOzIGJlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk4Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OQorIywgZnV6enkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIEVsc8WRICAgICBVdG9sc8OzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1wYXJhbmNzw6lydGVsbWV6xZEgICAgIEEgcGFyYW5jc8OpcnRlbG1lesWRIGlkw6l6w6lzaSBtZWfDoWxsYXBvZMOhc2FpbmFrXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlw6FsbMOtdMOhc2FcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiBuYW1laSBbLW14XSDDunR2b25hbCBbw7p0dm9uYWwgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4Cittc2dpZCAiIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZmVsaGFzem7DoWzDsyBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiQSDigJ4tLWRhdGXigJ0ga2FwY3NvbMOzIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBhKHopIOKAniVz4oCdIGZlbGhhc3puw6Fsw7MgbmVtIGzDqXRlemlrLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGF6IGVsw6lyw6lzIG1lZ2hpw7pzdWx0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBheiBlbMOpcsOpcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiBuZW0gbnlpdGhhdMOzIG1lZyDDrXLDoXNyYSB2YWd5IG9sdmFzw6FzcmEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXM6IG5lbSBueWl0aGF0w7MgbWVnIMOtcsOhc3JhIHZhZ3kgb2x2YXPDoXNyYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6IGEgamVsc3rDs2bDoWpsIGZvZ2xhbHQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGEgamVsc3rDs2bDoWpsIGZvZ2xhbHQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICIlczogYSBqZWxzesOzZsOhamwgZm9nbGFsdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiVzOiBhIGplbHN6w7Nmw6FqbCBmb2dsYWx0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICJWYWzDs2JhbiBmb2x5dGF0bmkgYWthcmphPyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc4MgorIywgZnV6enkKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJtb3VudDogZXp0IGNzYWsgYSByZW5kc3plcmdhemRhIHRlaGV0aSBtZWciCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAiYSBmZWxoYXN6bsOhbMOzYXpvbm9zw610w7MgbmVtIMOhbGzDrXRoYXTDsyBiZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICJOZW0gbGVoZXQgbGVrw6lyZGV6bmkgYSBsZW1leiBtw6lyZXTDqXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiaWTFkXTDumxsw6lww6lzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA0OQorIywgZnV6enkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiTmVtIGxlaGV0IGxla8OpcmRlem5pIGEgbGVtZXogbcOpcmV0w6l0IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogJXMgbmVtIG55aXRoYXTDsyBtZWdcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDYKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICIlczogbmVtIG55aXRoYXTDsyBtZWcgYXogaWRlaWdsZW5lcyBmw6FqbC5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogYSh6KSAlcyDDoXRuZXZlesOpc2UgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlczogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogTmVtIGvDqXJoZXTFkSBsZSBhKHopICVzIGtvbnRleHR1c2EiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IE5lbSDDoWxsw610aGF0w7MgYmUgYSh6KSAlcyBrb250ZXh0dXNhIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzOiBBKHopICVzIHbDoWx0b3phdGxhblxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAiYSBwcm9ncmFtaW5kw610w6FzIG1lZ2hpw7pzdWx0IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiJXM6IG5lbSB0w7ZydMOpbnQgdsOhbHRvesOhc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhKHopIOKAniVz4oCdIGbDoWpsIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICLDgXJuecOpa2Nzb3BvcnRva2F0IGhhc3puw6FsIGEgcmVuZHN6ZXJlbi5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiw4FybnnDqWtqZWxzemF2YWthdCBoYXN6bsOhbCBhIHJlbmRzemVyZW4uXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICJLw612w6FuamEgc3plcmtlc3p0ZW5pIGEga8O2dmV0a2V6xZF0OiAlcyBbaS9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiVzIGEoeikgJXMgY3NvbWFnYsOzbFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTAKK21zZ2lkICIgLXMsIC0tbWF0Y2gtdGFnIDx0YWc+ICAgICAgc2hvdyBzcGVjaWZpZWQgdGFnKHMpIChkZWZhdWx0IHNob3cgYWxsIHRhZ3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgICAgIEEgZ2V0b3B0KDEpIHZlcnppw7MgdGVzenRlbMOpc2VcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICAgICBjb252ZXJ0IExBQkVMIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBkZXZpY2UocykgdG8gcHJvYmUgKGRlZmF1bHQ6IGFsbCBkZXZpY2VzKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiTG93LWxldmVsIHByb2Jpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgSS9PIGxpbWl0c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPXBhcmFuY3PDqXJ0ZWxtZXrFkSAgICAgQSBwYXJhbmNzw6lydGVsbWV6xZEgaWTDqXrDqXNpIG1lZ8OhbGxhcG9kw6FzYWluYWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmXDoWxsw610w6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiICAgbCAgIGF6IGlzbWVydCBmw6FqbHJlbmRzemVydMOtcHVzb2sgZmVsc29yb2zDoXNhIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiICAgbCAgIGF6IGlzbWVydCBmw6FqbHJlbmRzemVydMOtcHVzb2sgZmVsc29yb2zDoXNhIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM1Cittc2dpZCAiKG1vdW50ZWQsIG10cHQgdW5rbm93bikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNworIywgZnV6enkKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiTWVnamVsw7Zsw6lzIGhhc3puw6FsdGvDqW50IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgIiVzOiDDrXLDoXNpIGhpYmE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1OSBtaXNjLXV0aWxzL3dpcGVmcy5jOjY5NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIkEg4oCeLS1kYXRl4oCdIGthcGNzb2zDsyBuaW5jcyBtZWdhZHZhLlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIG5hcMOpcnTDqWs6IGhhc3puw6Fsam9uIDEtJWQga8O2esO2dHRpIMOpcnTDqWtldCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlanN6w6FtIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gbmFww6lydMOpazogaGFzem7DoWxqb24gMS0lZCBrw7Z6w7Z0dGkgw6lydMOpa2V0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGjDs25hcMOpcnTDqWs6IGhhc3puw6Fsam9uIDEtMTIga8O2esO2dHRpIMOpcnTDqWtldCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogaXNtZXJldGxlbiBwcmlvcml0w6FzbsOpdjogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWpzesOhbSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiDDqXbDqXJ0w6lrOiBoYXN6bsOhbGpvbiAxLTk5OTkga8O2esO2dHRpIMOpcnTDqWtldCIKKworIzogbWlzYy11dGlscy9jYWwuYzo1MzAgbWlzYy11dGlscy9jYWwuYzo1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiDDqXbDqXJ0w6lrOiBoYXN6bsOhbGpvbiAxLTk5OTkga8O2esO2dHRpIMOpcnTDqWtldCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiBjYWwgWy0xM3NtanlWXSBbW1tuYXBdIGjDs25hcF0gw6l2XVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTgKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTkKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAyCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA2Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDcKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIHVzZSBkYXktb2YteWVhciBmb3IgYWxsIGNhbGVuZGFyc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0gVMOhYmzDoXphdCBueWVycyBmb3Jtw6FiYW4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorIywgZnV6enkKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEyCisjLCBmdXp6eQorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTQKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiIgorIlxuIgorIk9zenRvdHQgbWVtw7NyaWFzemVnbWVucyBvLm0uYXogPSVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgIiIKKyJcbiIKKyJPc3p0b3R0IG1lbcOzcmlhc3plZ21lbnMgby5tLmF6ID0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MworIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBmaWxlIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjY0CisjLCBmdXp6eQorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbWluY29yZTogJXMiCittc2dzdHIgImF6IGlkxZF6w610w6lzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9a2FwY3NvbMOzLWthcmFrdGVybMOhbmMgIEZlbGlzbWVyZW5kxZEgcsO2dmlkIGthcGNzb2zDs2tcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjM0MyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5MworIywgZnV6enkKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiQSDigJ4tLWRhdGXigJ0ga2FwY3NvbMOzIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIkbDoWpscmVuZHN6ZXItZWxsZW7FkXJ6w6lzIGvDqW55c3plcsOtdMOpc2UgYSBrw7Z2ZXRrZXrFkW46IOKAniVz4oCdLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICIlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIyBleiBhIGvDtnZldGtlesWRIGjDoXJvbSAlcyVzLWJlbiBheiBlbHPFkSAlcyBsZXN6LCBtZWcga2VsbCBtYWpkIG90dCBmb3Jkw610YW5pCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorIywgZnV6enkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICJibG9ra2VzemvDtnoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJIYXN6bm9zIGthcGNzb2zDs2s6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJQYXJ0w61jacOzc3rDoW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1Cittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorIywgZnV6enkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibi5zesOhbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnQ6IGEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworIywgZnV6enkKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibi5zesOhbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2CisjLCBmdXp6eQorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAibi5zesOhbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgImlkxZF0w7psbMOpcMOpcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUiCittc2dzdHIgIiBFbHTDoXZvbMOtdMOhcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODE0IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzcgc3lzLXV0aWxzL2VqZWN0LmM6NzE0CisjOiBzeXMtdXRpbHMvbW91bnQuYzozMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4NDEgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIiVzOiBuZW0gb2x2YXNoYXTDsyBhKHopICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE3CisjLCBmdXp6eQorbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgImEgbWVtw7NyaWFmb2dsYWzDoXMgc2lrZXJ0ZWxlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMworIywgZnV6enkKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgIGwgICBheiBpc21lcnQgZsOhamxyZW5kc3plcnTDrXB1c29rIGZlbHNvcm9sw6FzYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxCittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiICAgbCAgIGF6IGlzbWVydCBmw6FqbHJlbmRzemVydMOtcHVzb2sgZmVsc29yb2zDoXNhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorIywgZnV6enkKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgYXogaXNtZXJ0IGbDoWpscmVuZHN6ZXJ0w61wdXNvayBmZWxzb3JvbMOhc2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgImlzbWVyZXRsZW4gZXLFkWZvcnLDoXN0w61wdXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTYKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTIwCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTczCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiVMO2YmIgY2lsaW5kZXJ0IGFkb3R0IG1lZywgbWludCBhbWVubnlpIGVsZsOpciBhIGxlbWV6ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUyCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgImF6IG9sdmFzw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiBhKHopICVzIG3DoXIgdMOhcnPDrXR2YSB2YW4gYSBrw7Z2ZXRrZXrFkWjDtno6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogZXogbmVtIGJsb2trb3MgZXN6a8O2elxuIgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImJsb2trZXN6a8O2eiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIlZlc3rDqWx5ZXMga2FwY3NvbMOzazoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA1Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTkgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogaXNtZXJldGxlbiBmw6FqbHJlbmRzemVydMOtcHVzOiDigJ4lc+KAnSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0w61wdXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiZmVsZG9sZ296w6FzaSBoaWJhXG4iCittc2dzdHJbMV0gImZlbGRvbGdvesOhc2kgaGliYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBoaWJhIgorbXNnc3RyWzFdICIsIGhpYmEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwMgorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiw7xyZXMgaG9zc3rDuiBrYXBjc29sw7MgYSAtbCB2YWd5IC0tbG9uZyBwYXJhbcOpdGVyIHV0w6FuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyMworbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiaXNtZXJldGxlbiBwYXJhbmNzw6lydGVsbWV6xZEgYSAtcyB2YWd5IC0tc2hlbGwgcGFyYW3DqXRlciB1dMOhbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIgICAgICAgZ2V0b3B0IFtrYXBjc29sw7NrXSAtb3wtLW9wdGlvbnMga2FwY3NvbMOzLWthcmFrdGVybMOhbmMgW2thcGNzb2zDs2tdIFstLV1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKKyMsIGZ1enp5Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgICAgIEVuZ2Vkw6lseWV6aSBhIGvDtnTFkWplbGxlbCBrZXpkxZFkxZEgaG9zc3rDulxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYXBjc29sw7NrYXRcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPWhvc3N6w7pfa2FwY3NvbMOzayAgICBGZWxpc21lcmVuZMWRIGhvc3N6w7oga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9cHJvZ3JhbW7DqXYgICAgICAgICAgICBBIGhpYsOhayBlemVuIG7DqXYgYWxhdHQga2Vyw7xsbmVrIGplbGVudMOpc3JlXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgICAgQSBoaWJhamVsZW50w6lzIGxldGlsdMOhc2EgYSBnZXRvcHQoMyktbmFrXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPXBhcmFuY3PDqXJ0ZWxtZXrFkSAgICAgQSBwYXJhbmNzw6lydGVsbWV6xZEgaWTDqXrDqXNpIG1lZ8OhbGxhcG9kw6FzYWluYWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmXDoWxsw610w6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICAgICBBIGdldG9wdCgxKSB2ZXJ6acOzIHRlc3p0ZWzDqXNlXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImhpw6FueXrDsyBrYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyBwYXJhbcOpdGVyIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJiZWxzxZEgaGliYSwgdmVneWUgZmVsIGEga2FwY3NvbGF0b3QgYSBzemVyesWRdmVsLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGplbHrDqXM6ICVzOyBheiDDqXJ2w6lueWVzIGplbHrDqXNlazpcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg5Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gamVsesOpczogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjYwIG1pc2MtdXRpbHMva2lsbC5jOjI2MyBtaXNjLXV0aWxzL2tpbGwuYzoyNzIKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NCBtaXNjLXV0aWxzL2tpbGwuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlczogQXogLS1hZGpmaWxlIMOpcyBhIC0tbm9hZGpmaWxlIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QsIGRlIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIiVzOiBQYXJhbcOpdGVyaGliYSwgaGFzem7DoWxhdDpcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICIlczogYSh6KSAlcyDDoXRuZXZlesOpc2UgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBhKHopICVzIMOhdG5ldmV6w6lzZSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlczogYSh6KSDigJ4lc+KAnSBmb2x5YW1hdCBuZW0gdGFsw6FsaGF0w7NcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogaXNtZXJldGxlbiBzem9sZ8OhbHRhdMOhc27DqXY6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBpc21lcmV0bGVuIHByaW9yaXTDoXNuw6l2OiAlcy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJBIGZlbGhhc3puw6Fsw7Nuw6l2IHTDumwgaG9zc3rDui5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAiQmxva2ttw6lyZXQ6ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJhIG1lesWRIHTDumwgaG9zc3rDui5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJhIG1lesWRIHTDumwgaG9zc3rDui5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJBIHJlbmRzemVyw7NyYSBuZW0gw6FsbMOtdGhhdMOzIGJlLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaGVsbD1wYXJhbmNzw6lydGVsbWV6xZEgICAgIEEgcGFyYW5jc8OpcnRlbG1lesWRIGlkw6l6w6lzaSBtZWfDoWxsYXBvZMOhc2FpbmFrXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlw6FsbMOtdMOhc2FcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICAgICBBIGdldG9wdCgxKSB2ZXJ6acOzIHRlc3p0ZWzDqXNlXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICIoS8O2dmV0a2V6xZEgZsOhamw6ICVzKSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTYyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAiaGliw6FzIGlkxZFrb3Jsw6F0w6lydMOpazogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1MgorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIgorIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgICAgRW5nZWTDqWx5ZXppIGEga8O2dMWRamVsbGVsIGtlemTFkWTFkSBob3NzesO6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGthcGNzb2zDs2thdFxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0w61jacOzOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3IHN5cy11dGlscy9sb3NldHVwLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiYmXDoWxsw610w6FzIGNzYWsgb2x2YXNoYXTDs3JhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIiBlbHTDoXZvbMOtdGhhdMOzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorIywgZnV6enkKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJpZ2F6w610w6FzaSBlbHRvbMOhcyBsZWvDqXLDqXNlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm1pbmltw6FsaXMgSS9PIG3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9wdGltw6FsaXMgSS9PIG3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJmaXppa2FpIGJsb2trIChzemVrdG9yKW3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImxvZ2lrYWkgYmxva2sgKHN6ZWt0b3IpbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImlnYXrDrXTDoXNpIGVsdG9sw6FzIGxla8OpcsOpc2UiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgYSBsZW1lemF6b25vc8OtdMOzIG3Ds2Rvc8OtdMOhc2EiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgImxvb3A6IG5lbSBueWl0aGF0w7MgbWVnIGEoeikgJXMgZXN6a8O2ejogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk0CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiVzOiBleiBuZW0gYmxva2tvcyBlc3prw7Z6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgICAgQSBnZXRvcHQoMSkgdmVyemnDsyB0ZXN6dGVsw6lzZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10cmVlICAgICAgICAgICB1c2UgdHJlZSBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MiBzeXMtdXRpbHMvbHNtZW0uYzo1MDYKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIm5lbSBkw6ltb25pesOhbGhhdMOzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEoeikg4oCeJXPigJ0gZsOhamwiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyNjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgImlzbWVyZXRsZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiQSByZW5kc3plcsOzcmEgbmVtIMOhbGzDrXRoYXTDsyBiZS5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAyCittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMyBzeXMtdXRpbHMvbHNucy5jOjkwMyBzeXMtdXRpbHMvcmZraWxsLmM6NTczCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9a2FwY3NvbMOzLWthcmFrdGVybMOhbmMgIEZlbGlzbWVyZW5kxZEgcsO2dmlkIGthcGNzb2zDs2tcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiVkIGLDoWp0IMOpcmtlemV0dCBhIGvDtnZldGtlesWRdMWRbDogJXNcbiIKK21zZ3N0clsxXSAiJWQgYsOhanQgw6lya2V6ZXR0IGEga8O2dmV0a2V6xZF0xZFsOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJhIHbDqWdyZWhhanTDoXMgbWVnaGnDunN1bHRcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJWQgYsOhanQgw6lya2V6ZXR0IGEga8O2dmV0a2V6xZF0xZFsOiAlc1xuIgorbXNnc3RyWzFdICIlZCBiw6FqdCDDqXJrZXpldHQgYSBrw7Z2ZXRrZXrFkXTFkWw6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgImF6IGlkxZF6w610w6lzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozNDAKK21zZ2lkICIiCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgIkEgLS1kYXRlIHBhcmFtw6l0ZXJlIHTDumwgaG9zc3rDulxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJuZW0gZm9nbGFsaGF0w7MgbGUga2ltZW5ldGkgcHVmZmVyIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4Y2VlZGVkIGxpbWl0IG9mIHN5bWxpbmtzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogZXogbmVtIGJsb2trb3MgZXN6a8O2elxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICJheiBvcGVucHR5IG1lZ2hpw7pzdWx0XG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogYXogbHNlZWsgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGEoeikgJXMgw6F0bmV2ZXrDqXNlIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBmaWxlOiBgJXMnXG4iCittc2dzdHIgIi4uLlVncsOhcyBmw6FqbHJhOiAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGEoeikgJXMgw6F0bmV2ZXrDqXNlIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQ0Cittc2dpZCAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgZG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0Cittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiIKKyIgIC1zLCAtLXNoZWxsPXBhcmFuY3PDqXJ0ZWxtZXrFkSAgICAgQSBwYXJhbmNzw6lydGVsbWV6xZEgaWTDqXrDqXNpIG1lZ8OhbGxhcG9kw6FzYWluYWtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmXDoWxsw610w6FzYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICAgICBBIGdldG9wdCgxKSB2ZXJ6acOzIHRlc3p0ZWzDqXNlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiICAgIC1IIyBbdmFneSAtLWhlYWRzICNdOiAgICAgIGEgaGFzem7DoWxhbmTDsyBmZWpzesOhbSBiZcOhbGzDrXTDoXNhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAgIC1xICBbdmFneSAtLXF1aWV0XTogICAgZmlneWVsbWV6dGV0xZEgw7x6ZW5ldGVrIGVsbsOpbcOtdMOhc2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiY29sOiBoaWLDoXMgLWwga2FwY3NvbMOzOiAlcy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExNgorIywgZnV6enkKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgImZvZ2xhbGF0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI3CisjLCBmdXp6eQorbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIm4uc3rDoW0iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUiCittc2dzdHIgIsOtcsOhcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorIywgZnV6enkKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJpZMWRdMO6bGzDqXDDqXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIk5lbSBsZWhldCB6w6Fyb2xuaSBhKHopICVzIHrDoXJvbMOhc2kgZsOhamx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJzaHV0ZG93bjogTmVtIGxlaGV0IGxldsOhbGFzenRhbmkgYSBrw7Z2ZXRrZXrFkXQ6ICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICIlczogYSh6KSAlcyDDoXRuZXZlesOpc2UgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAiaWTFkXTDumxsw6lww6lzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJhIGNzb3BvcnRhem9ub3PDrXTDsyBuZW0gw6FsbMOtdGhhdMOzIGJlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiTmVtIGxlaGV0IHrDoXJvbG5pIGEoeikgJXMgesOhcm9sw6FzaSBmw6FqbHQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gw6lyaGV0xZEgZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAiQSBzZXR0aW1lb2ZkYXkoKSBuZW0gc2lrZXLDvGx0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgwCittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MworIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiQSBiZWplbGVudGtlesOpcyAlZCBtw6Fzb2RwZXJjIHV0w6FuIHTDumxsw6lwdGUgYXogaWTFkWtvcmzDoXRvdFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImF6IG9sdmFzw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiTmVtIHRhbMOhbGhhdMOzayBwYXJ0w61jacOza1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICJhIGvDtnRldG7DqXYgdMO6bCBob3NzesO6IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU0IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImhpYmEgYSh6KSAlcyBtw7NkasOhbmFrIG3Ds2Rvc8OtdMOhc2Frb3I6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICIlczogJXM6IHbDoXJhdGxhbiBmw6FqbGZvcm3DoXR1bVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJzaHV0ZG93bjogTmVtIGxlaGV0IGxldsOhbGFzenRhbmkgYSBrw7Z2ZXRrZXrFkXQ6ICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgInNodXRkb3duOiBOZW0gbGVoZXQgbGV2w6FsYXN6dGFuaSBhIGvDtnZldGtlesWRdDogJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICIgICBzICAgw7pqLCDDvHJlcyBTdW4gbGVtZXpjw61ta2UgbMOpdHJlaG96w6FzYSIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgICAgQSBnZXRvcHQoMSkgdmVyemnDsyB0ZXN6dGVsw6lzZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNAorbXNnaWQgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgaSAgIGEgbGVtZXphem9ub3PDrXTDsyBtw7Nkb3PDrXTDoXNhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgIkEgLS1kYXRlIHBhcmFtw6l0ZXJlIHTDumwgaG9zc3rDulxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA2Cittc2dpZCAic3VwZXJibG9rIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAiaGliw6FzIGlub2RlLWVsdG9sw6FzIgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb2trZXN6a8O2eiIKKworIyBleiBhIGvDtnZldGtlesWRIGjDoXJvbSAlcyVzLWJlbiBheiBlbHPFkSAlcyBsZXN6LCBtZWcga2VsbCBtYWpkIG90dCBmb3Jkw610YW5pCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiYmxva2tlc3prw7Z6IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgIlBhcnTDrWNpw7NzesOhbSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImhpYmE6IGF6IFVVSUQgZmVsZG9sZ296w6FzIG1lZ2hpw7pzdWx0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCittc2dzdHJbMV0gIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlczogJXM6IG5lbSBsZWhldCDDrXJuaSBheiBhbMOhw61yw6FzbGFwcmE6ICVzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgImlvY3RsKCkgaMOtdsOhc2EgYSBwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc8OhaG96LlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiSGFzem7DoWxqYSBhIC0tZm9yY2Uga2FwY3NvbMOzdCBheiDDtnNzemVzIGVsbGVuxZFyesOpcyBmZWzDvGxiw61yw6Fsw6Fzw6Fob3ouXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAiYSBzemFidsOhbnlvcyBraW1lbmV0cmUgw61yw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgIiVzOiAlczogbmVtIGxlaGV0IMOtcm5pIGF6IGFsw6HDrXLDoXNsYXByYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmUiCittc2dzdHIgIiAgdCAgICAgICAgICBBIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6FuYWsgbWVndsOhbHRvenRhdMOhc2EiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXMiCittc2dzdHIgIiAgICAtQyMgW3ZhZ3kgLS1jeWxpbmRlcnMgI106ICBhIGhhc3puw6FsYW5kw7MgY2lsaW5kZXJzesOhbSBiZcOhbGzDrXTDoXNhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNQorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGxpc3Q+IENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgIHAgICAgICAgICAgQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEga8OpcGVybnnFkXJlIHZhZ3kgZsOhamxiYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgICAgLXEgIFt2YWd5IC0tcXVpZXRdOiAgICBmaWd5ZWxtZXp0ZXTFkSDDvHplbmV0ZWsgZWxuw6ltw610w6FzYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgICBsICAgYXogaXNtZXJ0IGbDoWpscmVuZHN6ZXJ0w61wdXNvayBmZWxzb3JvbMOhc2EiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIlZlc3rDqWx5ZXMga2FwY3NvbMOzazoiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW3DqXRlcmVrXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgcGFyYW3DqXRlcmVrXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyOTkgc2NoZWR1dGlscy9jaHJ0LmM6Mzk1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIiVzOiBuZW0gdGFsw6FsaGF0w7MgYSh6KSAlcyBlc3prw7Z6ZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjM5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImF6IG9wZW5wdHkgbWVnaGnDunN1bHRcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJheiBvcGVucHR5IG1lZ2hpw7pzdWx0XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjEKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJpc21lcmV0bGVuIGhpYmEgYXogYXpvbm9zw610w7NiYW4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJydGMgaWTFkSDDoXRhbGFrw610w6FzYSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImEoeikgJXMgbcOpcmV0ZSBuZW0gw6FsbGFww610aGF0w7MgbWVnIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDQgc2NoZWR1dGlscy90YXNrc2V0LmM6MjE3IHN5cy11dGlscy9jaGNwdS5jOjI5OAorIywgZnV6enkKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJhIG1hbGxvYyBtZWdoacO6c3VsdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI0IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiYXogaWTFkXrDrXTDqXNmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJheiBpZMWResOtdMOpc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAgICAtQyMgW3ZhZ3kgLS1jeWxpbmRlcnMgI106ICBhIGhhc3puw6FsYW5kw7MgY2lsaW5kZXJzesOhbSBiZcOhbGzDrXTDoXNhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgICAgLUMjIFt2YWd5IC0tY3lsaW5kZXJzICNdOiAgYSBoYXN6bsOhbGFuZMOzIGNpbGluZGVyc3rDoW0gYmXDoWxsw610w6FzYSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTEKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImEgdsOhcnQgc3rDoW0gaGVseWV0dCDigJ4lc+KAnSB0YWzDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJBIEJMS0dFVFNJWkUgaW9jdGwgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiTmVtIGxlaGV0IGxla8OpcmRlem5pIGEgbGVtZXogbcOpcmV0w6l0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCisjLCBmdXp6eQorbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIiVzOiBleiBuZW0gYmxva2tvcyBlc3prw7Z6XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTc3IHN5cy11dGlscy9ibGt6b25lLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgImEgesOzbmF0w6lya8OpcCBuZW0gw61yaGF0w7MiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkEgQkxLR0VUU0laRSBpb2N0bCBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRbjogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm91bmQgJWQgem9uZXMgZnJvbSAweCU8UFJJeDY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3VjY2Vzc2Z1bGx5IHJlc2V0IGluIHJhbmdlIGZyb20gJTxQUkl1NjQ+LCB0byAlPFBSSXU2ND4iCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDIKK21zZ2lkICJSdW4gem9uZSBjb21tYW5kIG9uIHRoZSBnaXZlbiBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jb3VudCA8bnVtYmVyPiAgIG1heGltdW0gbnVtYmVyIG9mIHpvbmVzXG4iCittc2dzdHIgIiAgICAtUyMgW3ZhZ3kgLS1zZWN0b3JzICNdOiAgICBhIGhhc3puw6FsYW5kw7Mgc3pla3RvcnN6w6FtIGJlw6FsbMOtdMOhc2EiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gZWd5IMOpcnbDqW55ZXMgYmxva2tlc3prw7Z6IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgc3BlY2lmaWVkIgorbXNnc3RyICJBIOKAni0tZGF0ZeKAnSBrYXBjc29sw7MgbmluY3MgbWVnYWR2YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gZnV0dGF0aGF0w7MuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICIlczog4oCeJXPigJ0gbmVtIGZ1dHRhdGhhdMOzLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICIlczog4oCeJXPigJ0gbmVtIGZ1dHRhdGhhdMOzLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICIlczog4oCeJXPigJ0gbmVtIGZ1dHRhdGhhdMOzLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gZnV0dGF0aGF0w7MuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOKAniVz4oCdIG5lbSBmdXR0YXRoYXTDsy5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIiVzOiDigJ4lc+KAnSBuZW0gZnV0dGF0aGF0w7MuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiYSBzb3JvayBzesOhbWEgw6lydsOpbnl0ZWxlbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVtb3J5IEJsb2NrICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEyNCBzeXMtdXRpbHMvY2htZW0uYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1NiBzeXMtdXRpbHMvY2htZW0uYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlZFxuIgorbXNnc3RyICJBKHopICVkLiBzemVrdG9yIG3DoXIgbGUgdmFuIGZvZ2xhbHZhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkEoeikgJWQuIHN6ZWt0b3IgbcOhciBsZSB2YW4gZm9nbGFsdmFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiQSh6KSAlZC4gc3pla3RvciBtw6FyIGxlIHZhbiBmb2dsYWx2YVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBibG9jayBudW1iZXIiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIGFkZHJlc3MiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM3Cittc2dpZCAiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWVuYWJsZSAgICAgICBlbmFibGUgbWVtb3J5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MworbXNnaWQgIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgImxvZ2dlcjogaXNtZXJldGxlbiBwcmlvcml0w6FzbsOpdjogJXMuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAidsOhcmF0bGFuIGbDoWpsdsOpZ2UgYSBrw7Z2ZXRrZXrFkW46ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCisjLCBmdXp6eQorbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIkNzYWsgcmVuZHN6ZXJnYXpkYSDDoWxsw610aGF0amEgYmUgYSBDdHJsLUFsdC1EZWwgdmlzZWxrZWTDqXPDqXQuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIkV6IGEgcGFydMOtY2nDsyBoYXN6bsOhbGhhdGF0bGFuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJoaWJhIGEoeikg4oCeJXPigJ0gbGV6w6Fyw6Fza29yIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6ICVzIHBhcnTDrWNpw7MgIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIsO8emVuZXRlayIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5CisjLCBmdXp6eQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAibmVtIGTDqW1vbml6w6FsaGF0w7MiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorIywgZnV6enkKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJuZW0gZMOpbW9uaXrDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA4Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIiVzOiBJc21lcmV0bGVuIHBhcmFuY3M6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiaXNtZXJldGxlbiBlcsWRZm9ycsOhc3TDrXB1czogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2CisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgInJ0YyBpZMWRIG9sdmFzw6FzYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAiYXogZnN5bmMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIiCisiSGFzem7DoWxhdDogJXMlcyBba2FwY3NvbMOza10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnR1bWFpXV1cbiIKKyJcbiIKKyJLYXBjc29sw7NrOlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgZWx0w6F2b2zDrXRoYXTDsyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiYSBzZWJlc3PDqWcgKCVkKSBuZW0gdMOhbW9nYXRvdHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MworbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ4Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjcKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgImEgc2ViZXNzw6lnICglZCkgbmVtIHTDoW1vZ2F0b3R0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzgKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgzCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAibmVtIGJsb2trb3MgZXN6a8O2eiB2YWd5IGbDoWpsOiAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgY3NhdG9sw6FzaSBwb250IG5lbSBsw6l0ZXppayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgIiVzOiBhKHopICVzIMOhdG5ldmV6w6lzZSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIkF6IGFsYXDDqXJ0ZWxtZXpldHQgJXUgw6lydMOpayBrZXLDvGwgZmVsaGFzem7DoWzDoXNyYVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgImxvb3A6IG5lbSBueWl0aGF0w7MgbWVnIGEoeikgJXMgZXN6a8O2ejogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJ1bW91bnQ6ICVzIG5lbSB0YWzDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBleiBuZW0gYmxva2tvcyBlc3prw7Z6XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgImxvb3A6IG5lbSBueWl0aGF0w7MgbWVnIGEoeikgJXMgZXN6a8O2ejogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgIm1vdW50OiBhKHopICVzIGZvZ2xhbHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgc2lrZXJlcy5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImEga8O2bnl2dMOhciBtZWdueWl0w6FzYSBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAiYSB0w61wdXNwYXJhbmNzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgICAgLUMjIFt2YWd5IC0tY3lsaW5kZXJzICNdOiAgYSBoYXN6bsOhbGFuZMOzIGNpbGluZGVyc3rDoW0gYmXDoWxsw610w6FzYSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEga8OpcGVybnnFkXJlIHZhZ3kgZsOhamxiYSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NworbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiYXogb3BlbnB0eSBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBiZcOhbGzDrXRvdHQgw6lydMOpazogJXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorIywgZnV6enkKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJUw7psIGtldsOpcyBhcmd1bWVudHVtIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBiZcOhbGzDrXRvdHQgw6lydMOpazogJXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5CisjLCBmdXp6eQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAibG9naW46IG5pbmNzIG1lbcOzcmlhIGEgcGFyYW5jc2bDoWpsbmFrLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhKHopIOKAniVz4oCdIGbDoWpsIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIGVneSBwYXJhbcOpdGVydCBpZ8OpbnllbFxuIgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJibG9ra2VzemvDtnoiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorIywgZnV6enkKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICIlcyBuZW0gw6lyaGV0xZEgZWwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OQorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiBtw6Fzb2RwZXJjXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJIaWJhIGEga8O2dmV0a2V6xZEgZnV0dGF0w6FzYWtvcjpcdCVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIiCisiSGFzem7DoWxhdDogJXMlcyBba2FwY3NvbMOza10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnR1bWFpXV1cbiIKKyJcbiIKKyJLYXBjc29sw7NrOlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorIywgZnV6enkKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkbDoWpscmVuZHN6ZXItZWxsZW7FkXJ6w6lzIGvDqW55c3plcsOtdMOpc2UgYSBrw7Z2ZXRrZXrFkW46IOKAniVz4oCdLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6FuYWsgbWVndsOhbHRvenRhdMOhc2EiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ4Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA1Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImEgZ3nDtmvDqXIgaW5vZGUgbmVtIGvDtm55dnTDoXIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MyBzeXMtdXRpbHMvbHNucy5jOjEwNjYgc3lzLXV0aWxzL3N3YXBvbi5jOjczMworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiIKKyJIYXN6bsOhbGF0OiAlcyVzIFtrYXBjc29sw7NrXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHVtYWldXVxuIgorIlxuIgorIkthcGNzb2zDs2s6XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgICAgLUMjIFt2YWd5IC0tY3lsaW5kZXJzICNdOiAgYSBoYXN6bsOhbGFuZMOzIGNpbGluZGVyc3rDoW0gYmXDoWxsw610w6FzYSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgImF6IGlkxZF6w610w6lzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMzEKKyMsIGZ1enp5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIkEg4oCeLS1kYXRl4oCdIGthcGNzb2zDsyBuaW5jcyBtZWdhZHZhLlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImEgc2ViZXNzw6lnICglZCkgbmVtIHTDoW1vZ2F0b3R0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIkZlbHRlc3N6w7xrLCBob2d5IGEgaGFyZHZlcsOzcmEgYSh6KSAlcyBpZMWRYmVuIG1hcmFkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJoZWx5aSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiVzOiBGaWd5ZWxtZXp0ZXTDqXM6IGF6IGFkanRpbWUgZsOhamwgaGFybWFkaWsgc29yYSBpc21lcmV0bGVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiVXRvbHPDsyBjc8O6c3rDsyBpZ2F6w610w6FzOiAxOTY5IHV0w6FuICVsZCBtw6Fzb2RwZXJjY2VsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlV0b2xzw7MgYmXDoWxsw610w6FzOiAxOTY5IHV0w6FuICVsZCBtw6Fzb2RwZXJjY2VsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiQSBoYXJkdmVyw7NyYSBhKHopICVzIGlkxZF0IG11dGF0amFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJWw6FyYWtvesOhcyBheiDDs3JhIMO8dMOpc8OpcmUuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIiAgIGF6IMOzcmHDvHTDqXMgbWVndmFuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIsOJcnbDqW55dGVsZW4gw6lydMOpa2VrIGEgaGFyZHZlcsOzcsOhYmFuOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJBIGhhcmR2ZXLDs3JhIGlkZWplOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIG3DoXNvZHBlcmMgMTk2OSDDs3RhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkEgaGFyZHZlcsOzcsOhYsOzbCBvbHZhc290dCBpZMWROiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkEgaGFyZHZlcsOzcmEgYmXDoWxsw610w6FzYSAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBtw6Fzb2RwZXJjIDE5Njkgw7N0YVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIkEgc2V0dGltZW9mZGF5IGjDrXbDoXNhOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIKK21zZ3N0ciAiQSBzZXR0aW1lb2ZkYXkgaMOtdsOhc2E6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgIkEgc2V0dGltZW9mZGF5KCkgbmVtIHNpa2Vyw7xsdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIkEgY3PDunN6dGF0w6FzaSB0w6lueWV6xZEgbmVtIGtlcsO8bCBiZcOhbGzDrXTDoXNyYSwgbWVydCBhIGhhcmR2ZXLDs3JhIGtvcsOhYmJhbiBzemVtZXRldCB0YXJ0YWxtYXpvdHQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiQSBjc8O6c3p0YXTDoXNpIHTDqW55ZXrFkSBuZW0ga2Vyw7xsIGJlw6FsbMOtdMOhc3JhLCBtZXJ0IGF6IHV0b2xzw7Mga2FsaWJyw6FjacOzIGlkZWplIDAsXG4iCisiw61neSBheiBlbMWRem3DqW55ZWsgaGliw6FzYWsgw6lzIMO6aiBrYWxpYnLDoWNpw7Mgc3rDvGtzw6lnZXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJBIGNzw7pzenRhdMOhc2kgdMOpbnllesWRIG5lbSBrZXLDvGwgYmXDoWxsw610w6FzcmEsIG1lcnQgbcOpZyBuZW0gdGVsdCBlbCBlZ3kgbmFwIGF6IHV0b2xzw7Mga2FsaWJyw6FjacOzIMOzdGEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiQXogw7NyYSAlLjFmIG3DoXNvZHBlcmNldCBjc8O6c3pvdHQgYXogZWxtw7psdCAlZCBtw6Fzb2RwZXJjYmVuLCBhIG5hcGkgJWYgbcOhc29kcGVyYyBjc8O6c3p0YXTDoXNpIHTDqW55ZXrFkSBlbGxlbsOpcmUuXG4iCisiQSBjc8O6c3p0YXTDoXNpIHTDqW55ZXrFkSBiZcOhbGzDrXR2YSBuYXBpICVmIG3DoXNvZHBlcmNyZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJBeiB1dG9sc8OzIGlnYXrDrXTDoXMgw7N0YSBlbHRlbHQgaWTFkSAlZCBtw6Fzb2RwZXJjXG4iCittc2dzdHJbMV0gIkF6IHV0b2xzw7MgaWdhesOtdMOhcyDDs3RhIGVsdGVsdCBpZMWRICVkIG3DoXNvZHBlcmNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgbcOhc29kcGVyY1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1cGRhdGUgJXMiCittc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICIiCisiQSBjc8O6c3p0YXTDoXNpIHTDqW55ZXrFkSBuZW0ga2Vyw7xsIGJlw6FsbMOtdMOhc3JhLCBtZXJ0IGF6IHV0b2xzw7Mga2FsaWJyw6FjacOzIGlkZWplIDAsXG4iCisiw61neSBheiBlbMWRem3DqW55ZWsgaGliw6FzYWsgw6lzIMO6aiBrYWxpYnLDoWNpw7Mgc3rDvGtzw6lnZXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKyJBIGNzw7pzenRhdMOhc2kgdMOpbnllesWRIG5lbSBrZXLDvGwgYmXDoWxsw610w6FzcmEsIG1lcnQgYXogdXRvbHPDsyBrYWxpYnLDoWNpw7MgaWRlamUgMCxcbiIKKyLDrWd5IGF6IGVsxZF6bcOpbnllayBoaWLDoXNhayDDqXMgw7pqIGthbGlicsOhY2nDsyBzesO8a3PDqWdlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiTmVtIHRhbMOhbGhhdMOzIGhhc3puw6FsaGF0w7Mgw7NyYWZlbMO8bGV0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg2CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiQSBoYXJkdmVyw7NyYSBlZ3lldGxlbiBpc21lcnQgbcOzZG9uIHNlbSDDqXJoZXTFkSBlbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiSGFzem7DoWxqYSBhIC0tZGVidWcga2FwY3NvbMOzdCBheiBlbMOpcsOpc2kgbcOzZCBrZXJlc8Opc8OpdmVsIGthcGNzb2xhdG9zIHLDqXN6bGV0ZWsgbWVnamVsZW7DrXTDqXPDqWhlei5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICJraWxhcG96b3R0IGxhcG9rOiAgICAgICAgJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJBIHN6w7xrc8OpZ2VzIGlnYXrDrXTDoXMga2V2ZXNlYmIgbWludCBlZ3kgbcOhc29kcGVyYywgw61neSBuZW0ga2Vyw7xsIGJlw6FsbMOtdMOhc3JhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgImEgc3p1cGVyYmxva2sgbmVtIG9sdmFzaGF0w7MiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgUlRDIGVwb2NoIGlzIHNldCB0byAlbHUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQwCittc2dpZCAiLS1lcG9jaCBpcyByZXF1aXJlZCBmb3IgLS1zZXRlcG9jaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQzCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIkEgcmVuZHN6ZXLDs3JhIG5lbSDDoWxsw610aGF0w7MgYmUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MAorbXNnaWQgIlRpbWUgY2xvY2tzIHV0aWxpdHkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tc2hvdyAgICAgICAgICAgZGlzcGxheSB0aGUgUlRDIHRpbWUiCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ICAgICAgICAgICAgZGlzcGxheSBkcmlmdCBjb3JyZWN0ZWQgUlRDIHRpbWUiCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjYKK21zZ2lkICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBSVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiICAgbCAgIGF6IGlzbWVydCBmw6FqbHJlbmRzemVydMOtcHVzb2sgZmVsc29yb2zDoXNhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXN5c3R6ICAgICAgICAgIHNlbmQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb25zIHRvIHRoZSBrZXJuZWwiCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgICAgIEVuZ2Vkw6lseWV6aSBhIGvDtnTFkWplbGxlbCBrZXpkxZFkxZEgaG9zc3rDulxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBrYXBjc29sw7NrYXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lPiAgICBkYXRlL3RpbWUgaW5wdXQgZm9yIC0tc2V0IGFuZCAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg2Cittc2dpZCAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIGVwb2NoIGlucHV0IGZvciAtLXNldGVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4OAorbXNnaWQgIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgdGhlIFJUQyBkcmlmdCBmYWN0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IHVzZSAlMSRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIiVzOiBOZW0gbGVoZXQgYSBtZWdmaWd5ZWzFkXJlbmRzemVyaGV6IGNzYXRsYWtvem5pLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMTcKK21zZ2lkICItLXVwZGF0ZS1kcmlmdCByZXF1aXJlcyAtLXNldCBvciAtLXN5c3RvaGMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCisjLCBmdXp6eQorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICIlczogQSAtLW5vYWRqZmlsZSBrYXBjc29sw7N2YWwgaGFzem7DoWxuaWEga2VsbCBhIC0tdXRjIHZhZ3kgLS1sb2NhbHRpbWUgZWd5aWvDqXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgJyVzJyIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gVGltZTogJWxkLiUwNmxkXG4iCittc2dzdHIgInJlbmRzemVyaWTFkSBvbHZhc8Ohc2EiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICJhIHN0YXQgdsOpZ3JlaGFqdMOhc2EgYXogZWzDqXLDqXNpIMO6dG9uIG1lZ2hpw7pzdWx0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAiYSh6KSAlcyBtZWdueWl0w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5NworbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICJLw61zw6lybGV0IGEga8O2dmV0a2V6xZEgbGV2w6FsYXN6dMOhc8OhcmE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImEoeikgJXMgaWRlasOpbmVrIGtpb2x2YXPDoXNhIMOpcmRla8OpYmVuIGtpYWRvdHQgaW9jdGwoKSBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICJJc23DqXRlbHQgdsOhcmFrb3rDoXMgYSh6KSAlcyBpZGVqw6luZWsgdsOhbHRvesOhc8OhcmFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIklkxZF0w7psbMOpcMOpcyBheiBpZMWRIHbDoWx0b3rDoXPDoXJhIHTDtnJ0w6luxZEgdsOhcmFrb3rDoXMgc29yw6FuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJhIHNlbGVjdCgpICVzIGjDrXbDoXMgYXogw7NyYcO8dMOpc3JlIHbDoXJha296w6FzaG96IHTDumxsw6lwdGUgYXogaWTFkWtvcmzDoXRvdFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgImEgc2VsZWN0KCkgJXMgaMOtdsOhcyBheiDDs3Jhw7x0w6lzcmUgdsOhcmFrb3rDoXNob3ogbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiYXogaW9jdGwoKSAlcyBow612w6FzIGEgZnJpc3PDrXTDqXNpIG1lZ3N6YWvDrXTDoXNvayBraWthcGNzb2zDoXPDoWhveiBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJhKHopICVzIGlvY3RsKFJUQ19FUE9DSF9TRVQpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJheiBpb2N0bCgpICVzIGjDrXbDoXMgYXogaWTFkSBiZcOhbGzDrXTDoXPDoWhveiBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiYXogaW9jdGwoJXMpIHNpa2Vyw7xsdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJheiBpb2N0bChSVENfRVBPQ0hfUkVBRCkgJXMgaMOtdsOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiYXogaW9jdGwoUlRDX0VQT0NIX1JFQUQpICVzIGjDrXbDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgImEoeikgJXMgaW9jdGwoUlRDX0VQT0NIX1NFVCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJhKHopICVzIGlvY3RsKFJUQ19FUE9DSF9TRVQpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6NzE1IHN5cy11dGlscy96cmFtY3RsLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9zenRvdHQgbWVtw7NyaWFzemVnbWVucyBvLm0uYXogPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLDnHplbmV0c29yIMO8ei5hej0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgImxlZm9nbGFsdCBzemVtYWZvcm9rID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTemVtYWZvcnTDtm1iIHN6ZW0uYXo9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9zenRvdHQgbWVtw7NyaWFzemVnbWVucyBvLm0uYXogPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9zenRvdHQgbWVtw7NyaWFzemVnbWVucyBvLm0uYXogPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIsOcemVuZXRzb3Igw7x6LmF6PSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisiU3plbWFmb3J0w7ZtYiBzemVtLmF6PSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJhIGt1bGNzIGVsw6lyw6lzZSBtZWd0YWdhZHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgImF6IGF6b25vc8OtdMOzIGVsw6lyw6lzZSBtZWd0YWdhZHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga3VsY3MiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7MiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJhIGt1bGNzIG3DoXIgZWwgdmFuIHTDoXZvbMOtdHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImF6IGF6b25vc8OtdMOzIG3DoXIgZWwgdmFuIHTDoXZvbMOtdHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgImtleSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgImVyxZFmb3Jyw6Fzb2sgdMO2csO2bHZlXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiJXM6IMOpcnbDqW55dGVsZW4ga3VsY3MgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJhIHJlbmRzemVybWFnIG5pbmNzIGJlw6FsbMOtdHZhIG9zenRvdHQgbWVtw7NyaWEgaGFzem7DoWxhdMOhcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAiYSByZW5kc3plcm1hZyBuaW5jcyBiZcOhbGzDrXR2YSBzemVtYWZvcm9rIGhhc3puw6FsYXTDoXJhXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJhIHJlbmRzemVybWFnIG5pbmNzIGJlw6FsbMOtdHZhIMO8emVuZXRzb3JvayBoYXN6bsOhbGF0w6FyYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiIgorIkEoeikgJXMgaW5mb3Jtw6FjacOza2F0IGFkIGF6IGVsw6lyaGV0xZEgaXBjIHN6b2xnw6FsdGF0w6Fzb2tyw7NsLCBhbWVseWVrXG4iCisib2x2YXPDoXPDoXJhIGpvZ29zdWx0LlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBhem9ub3PDrXTDsyBbLXMgLXEgLW1dIDogYXogYXpvbm9zw610w7N2YWwgbWVnYWRvdHQgZXLFkWZvcnLDoXMtYXpvbm9zw610w7MgcsOpc3psZXRlaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJWZXN6w6lseWVzIGthcGNzb2zDs2s6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgInRlbGplcyBvc3p0b3R0IG1lbcOzcmlhIG1heGltw6FsaXMgbcOpcmV0ZSAoa2lsb2LDoWp0KSA9ICVsbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLS0gT3N6dG90dCBtZW3Ds3JpYSBrb3Jsw6F0YWkgLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAiaGliw6FzIGlub2RlIG3DqXJldCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgInRlbGplcyBvc3p0b3R0IG1lbcOzcmlhIG1heGltw6FsaXMgbcOpcmV0ZSAoa2lsb2LDoWp0KSA9ICVsbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICJtaW5pbcOhbGlzIEkvTyBtw6lyZXQgbGVrw6lyw6lzZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImEgcmVuZHN6ZXJtYWcgbmluY3MgYmXDoWxsw610dmEgb3N6dG90dCBtZW3Ds3JpYSBoYXN6bsOhbGF0w6FyYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLSBPc3p0b3R0IG1lbcOzcmlhIMOhbGxhcG90YSAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLSBPc3p0b3R0IG1lbcOzcmlhc3plZ21lbnMgbMOpdHJlaG96w7NpL3R1bGFqZG9ub3NhaSAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgIm8ubS4tYXoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6MzkyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgInBlcm1zIgorbXNnc3RyICJqb2dvayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJsLmZoLmF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImwuY3MuYXoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJmaC5heiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJnaWQiCittc2dzdHIgImNzLmF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLSBPc3p0b3R0IG1lbcOzcmlhIGNzYXRvbMOhc2kvbGV2w6FsYXN6dMOhc2kvbcOzZG9zw610w6FzaSBzesOhbWFpIC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICJ0dWxhamRvbm9zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJjc2F0b2x2YSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAibGV2w6FsYXN6dHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIm3Ds2Rvc8OtdHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0gT3N6dG90dCBtZW3Ds3JpYSBsw6l0cmVob3rDs2phL3V0b2xzw7MgbcWxdmVsZXRlIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAiY3BpZCIKK21zZ3N0ciAibC5mLmF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgInUuZi5heiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLSBPc3p0b3R0IG1lbcOzcmlhc3plZ21lbnNlayAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAia3VsY3MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJiw6FqdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgImNzYXQuc3rDoW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg4Cittc2dpZCAic3RhdHVzIgorbXNnc3RyICLDoWxsYXBvdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiTmluY3MgYmXDoWxsw610dmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICJ0w7Zyw7ZsdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgInrDoXJvbHZhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0gU3plbWFmb3JvayBrb3Jsw6F0YWkgLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJhIHTDtm1iw7ZrIG1heGltw6FsaXMgc3rDoW1hID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAic3plbWFmb3JvayB0w7ZtYsO2bmvDqW50IG1heGltw6FsaXMgc3rDoW1hID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJyZW5kc3plcnN6aW50xbEgc3plbWFmb3JvayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJzemVtYWZvciBow612w6Fzb25rw6ludGkgbcWxdmVsZXRlayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAic3plbWFmb3IgbWF4aW3DoWxpcyDDqXJ0w6lrZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJhIHJlbmRzemVybWFnIG5pbmNzIGJlw6FsbMOtdHZhIHN6ZW1hZm9yb2sgaGFzem7DoWxhdMOhcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tIFN6ZW1hZm9yw6FsbGFwb3QgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImhhc3puw6FsdCB0w7ZtYsO2ayA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAibGVmb2dsYWx0IHN6ZW1hZm9yb2sgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLSBBIHN6ZW1hZm9ydMO2bWLDtmsgbMOpdHJlaG96w7NpL3R1bGFqZG9ub3NhaSAtLS0tLS0tIFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgInNlbWlkIgorbXNnc3RyICJzemVtLmF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tLSBTemVtYWZvcm3FsXZlbGV0ZWsvbcOzZG9zw610w6Fzb2sgc3rDoW1haSAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAidXQubcWxdmVsZXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJ1dC52w6FsdG96w6FzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIFN6ZW1hZm9ydMO2bWLDtmsgLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICJzemVtLnN6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIkZlamVrIHN6w6FtYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiICAgICAgICAgw5x6ZW5ldGVrOiBrb3Jsw6F0b2sgLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJyZW5kc3plcnN6aW50xbEgc29yb2sgbWF4aW3DoWxpc2FuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzEKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAibWF4aW3DoWxpcyDDvHplbmV0bcOpcmV0IChiw6FqdCkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworIywgZnV6enkKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJzb3IgYWxhcMOpcnRlbG1lemV0dCBtYXhpbcOhbGlzIG3DqXJldGUgKGLDoWp0KSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiYSByZW5kc3plcm1hZyBuaW5jcyBiZcOhbGzDrXR2YSDDvHplbmV0c29yb2sgaGFzem7DoWxhdMOhcmFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMOcemVuZXRlazogw6FsbGFwb3QgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAibGVmb2dsYWx0IHNvcm9rID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiaGFzem7DoWx0IGZlamzDqWNlayA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4CisjLCBmdXp6eQorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgImhhc3puw6FsdCB0ZXLDvGxldCA9ICVkIGLDoWp0XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5CisjLCBmdXp6eQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICJiw6FqdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMOcemVuZXRzb3JvazogbMOpdHJlaG96w7NrL3R1bGFqZG9ub3NvayAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAiw7x6LmF6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLSDDnHplbmV0c29yb2sga8O8bGTDqXNlay9mb2dhZMOhc29rL23Ds2Rvc8OtdMOhc29rIHN6w6FtYWkgLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInNlbmQiCittc2dzdHIgImvDvGxkw6lzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgImZvZ2Fkw6FzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAibcOzZG9zw610w6FzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSDDnHplbmV0c29yb2sgUElELWplaSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICJ1LmsuZi5heiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAidS5mLmYuYXoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tIMOcemVuZXRzb3JvayAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJoYXN6bsOhbHQgYsOhanRvayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiw7x6ZW5ldGVrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MCBzeXMtdXRpbHMvaXBjcy5jOjYxMCBzeXMtdXRpbHMvaXBjcy5jOjY0MworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM3IHN5cy11dGlscy9sc2lwYy5jOjcyOSBzeXMtdXRpbHMvbHNpcGMuYzo4ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9zenRvdHQgbWVtw7NyaWFzemVnbWVucyBvLm0uYXogPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJmLmF6PSVkXHRjcy5hej0lZFx0bC5maC5hej0lZFx0bC5jcy5hej0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtw7NkPSUjb1x0aG96esOhZsOpcsOpc2lfam9nPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgInNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCisjLCBmdXp6eQorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYsOhanQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImLDoWp0PSVsZFx0dS5mLmF6PSVkXHRsLmYuYXo9JWRcdGNzYXQuc3rDoW09JWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNzYXRsX2lkxZE9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAibGV2X2lkxZE9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAibcOzZG9zw610w6FzaV9pZMWRPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLDnHplbmV0c29yIMO8ei5hej0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgImYuYXo9JWRcdGNzLmF6PSVkXHRsLmZoLmF6PSVkXHRsLmNzLmF6PSVkXHRtw7NkPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJiw6FqdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKKyMsIGZ1enp5Cittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiYsOhanQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJrw7xsZMOpc2lfaWTFkT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJmb2dhZMOhc2lfaWTFkT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTemVtYWZvcnTDtm1iIHN6ZW0uYXo9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgImYuYXo9JWRcdCBjcy5hej0lZFx0IGwuZmguYXo9JWRcdCBsLmNzLmF6PSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm3Ds2Q9JSNvLCBob3p6w6Fmw6lyw6lzaV9qb2c9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJzemVtLnN6w6FtID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib2lkxZEgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImNpZMWRID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInN6ZW1hZm9yc3rDoW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgIsOpcnTDqWsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuLnN6w6FtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiei5zesOhbSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgImYuYXoiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiYsOhanQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgImLDoWp0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJJc21lcnQgPGxsZW1lej4gbmV2ZWs6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIklzbWVydCA8bGxlbWV6PiBuZXZlazpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyMgZml4bWU6IG1pIGV6PworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIHNvcmVsdjogJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgbmVtIHNvcm9zIHZvbmFsIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiYSh6KSAlcyB0ZXJtaW7DoWxhdHRyaWLDunR1bWFpIG5lbSBrw6lyaGV0xZFrIGxlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgImEgc2ViZXNzw6lnICglZCkgbmVtIHTDoW1vZ2F0b3R0IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiYSh6KSAlcyB0ZXJtaW7DoWxhdHRyaWLDunR1bWFpIG5lbSDDoWxsw610aGF0w7NrIGJlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzMKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAibmVtIMOhbGzDrXRoYXTDsyBiZSBhIHNvcmVsdiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAibmVtIGTDqW1vbml6w6FsaGF0w7MiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiBhKHopICVzIGVzemvDtnogaXNtZXJldGxlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAiaWdhesOtdMOhc2kgZWx0b2zDoXMgbGVrw6lyw6lzZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImxvZ2lrYWkgYmxva2sgKHN6ZWt0b3IpbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgZWx0b2zDoXM6ICVkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIG3DqXJldGtvcmzDoXQ6ICU8UFJJdTY0PiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgJXMgdGl0a29zw610w6FzICh0w61wdXM6ICU8UFJJdTMyPikiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA2Cittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDcKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTgKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgICAgIEEgZ2V0b3B0KDEpIHZlcnppw7MgdGVzenRlbMOpc2VcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjYKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc3IHN5cy11dGlscy9sb3NldHVwLmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogYSh6KSAlcyBuZW0gZWd5IHDDoXJodXphbW9zIChscCkgZXN6a8O2ei5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJtb3VudDogYSBodXJva2VzemvDtnogYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NDIgc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbmVtIHRhbMOhbGhhdMOzIGEoeikgJXMgZXN6a8O2emVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAicGFydMOtY2nDs3MgdMOhYmxhIMO6anJhb2x2YXPDoXNhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIm5lbSBsZWhldCB2aXNzemHDoWxsw610YW5pIGEgbGFwb3rDs3RlcsO8bGV0LWVzemvDtnp0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorIywgZnV6enkKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBhIGh1cm9rZXN6a8O2enQga8OpdHN6ZXIgYWR0YSBtZWciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKKyMsIGZ1enp5Cittc2dpZCAibm9uZSIKK21zZ3N0ciAibmluY3MiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2CisjLCBmdXp6eQorbXNnaWQgInBhcmEiCittc2dzdHIgImJlayIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAidGVsamVzZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk4Cittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCittc2dpZCAidmVydGljYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJsb2dpa2FpIGJsb2trIChzemVrdG9yKW3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJsb2dpa2FpIGJsb2trIChzemVrdG9yKW3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJsb2dpa2FpIGJsb2trIChzemVrdG9yKW3DqXJldCBsZWvDqXLDqXNlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMQorbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDMKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNQorbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNgorbXNnaWQgInNob3dzIHRoZSBtaW5pbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorIywgZnV6enkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJoaWJhOiBheiBVVUlEIGZlbGRvbGdvesOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiTmVtIMOhbGzDrXRoYXTDsyBiZSBhIGplbHrDqXNrZXplbMWRIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQzMyBzeXMtdXRpbHMvbHNjcHUuYzoxNDQzCittc2dpZCAiWSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKKyMsIGZ1enp5Cittc2dpZCAiTiIKK21zZ3N0ciAiTkMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MjQKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzQyCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDgKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjgKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMworbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwOAorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMworbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxNQorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiZm9nbGFsYXQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiUGFydMOtY2nDs3N6w6FtIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI4Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMAorIywgZnV6enkKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIlTDrXB1czoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKKyMsIGZ1enp5Cittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIlTDrXB1czoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzQKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzgKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MgorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ0Cittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDYKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0OSBzeXMtdXRpbHMvbHNjcHUuYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiUsOpZ2kgaGVseXpldDpcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTYKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NworbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJBIGZpemlrYWkgY2lsaW5kZXJlayBzesOhbWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJBIGZpemlrYWkgY2lsaW5kZXJlayBzesOhbWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgImZpemlrYWkgYmxva2sgKHN6ZWt0b3IpbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODgKKyMsIGZ1enp5Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJKZWxlayIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDcKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTExCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTIKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gZmVsaGFzem7DoWzDs27DqXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgImt1bGNzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gZmVsaGFzem7DoWzDs27DqXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAidHVsYWpkb25vcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJtb3VudDogaG96esOhZsOpcsOpcyBtZWd0YWdhZHZhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIkVsc8WRZGxlZ2VzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAiZmVsaGFzem7DoWzDsyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorIywgZnV6enkKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gZmVsaGFzem7DoWzDs27DqXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSBueWVycyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gZmVsaGFzem7DoWzDs27DqXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgInV0LnbDoWx0b3rDoXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJNZWdqZWzDtmzDqXMgaGFzem7DoWx0a8OpbnQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIkZlamVrIHN6w6FtYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICLDvHplbmV0ZWsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgImF6IGVsc8WRIHNvciB1dMOhbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJibG9ra23DqXJldCBsZWvDqXLDqXNlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAic3plZ21lbnNlayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiw6FsbGFwb3QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorIywgZnV6enkKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiY3NhdG9sdmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAibGV2w6FsYXN6dHZhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJuaW5jcyBwYXJhbmNzP1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiZmVsaGFzem7DoWzDsyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJTemVrdG9yb2sgc3rDoW1hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAiIgorIlxuIgorIlN6ZW1hZm9ydMO2bWIgc3plbS5hej0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIk5lbSB0YWzDoWxoYXTDs2sgcGFydMOtY2nDs2tcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gZmVsaGFzem7DoWzDs27DqXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworIyBleiBhIGvDtnZldGtlesWRIGjDoXJvbSAlcyVzLWJlbiBheiBlbHPFkSAlcyBsZXN6LCBtZWcga2VsbCBtYWpkIG90dCBmb3Jkw610YW5pCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb2trZXN6a8O2eiIKKworIyBleiBhIGvDtnZldGtlesWRIGjDoXJvbSAlcyVzLWJlbiBheiBlbHPFkSAlcyBsZXN6LCBtZWcga2VsbCBtYWpkIG90dCBmb3Jkw610YW5pCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgImJsb2trZXN6a8O2eiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJBZGphIG1lZyBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0OiAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJVc2UiCittc2dzdHIgIkhhc3puw6FsYXQ6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBhem9ub3PDrXTDsyBbLXMgLXEgLW1dIDogYXogYXpvbm9zw610w7N2YWwgbWVnYWRvdHQgZXLFkWZvcnLDoXMtYXpvbm9zw610w7MgcsOpc3psZXRlaVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnTDrWNpw7M6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3N6dG90dCBtZW3Ds3JpYXN6ZWdtZW5zIG8ubS5heiA9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIkVsw6lyaGV0xZEgcGFyYW5jc29rOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiRWzDqXJoZXTFkSBwYXJhbmNzb2s6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODcgc3lzLXV0aWxzL2xzaXBjLmM6ODQ4IHN5cy11dGlscy9sc2lwYy5jOjEwNDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICIlcyBuZW0gw6lyaGV0xZEgZWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJTemVrdG9yb2sgc3rDoW1hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIlN6ZWt0b3JvayBzesOhbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgInN6ZW1hZm9yb2sgdMO2bWLDtm5rw6ludCBtYXhpbcOhbGlzIHN6w6FtYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJzemVtYWZvciBtYXhpbcOhbGlzIMOpcnTDqWtlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiRmVqZWsgc3rDoW1hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJtYXhpbcOhbGlzIMO8emVuZXRtw6lyZXQgKGLDoWp0KSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgInNvciBhbGFww6lydGVsbWV6ZXR0IG1heGltw6FsaXMgbcOpcmV0ZSAoYsOhanQpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1CisjLCBmdXp6eQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiU3VuT1MgZmVubnRhcnRvdHQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorIlxuIgorIk9zenRvdHQgbWVtw7NyaWFzemVnbWVucyBvLm0uYXogPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiIgorIlxuIgorIk9zenRvdHQgbWVtw7NyaWFzemVnbWVucyBvLm0uYXogPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm1heGltw6FsaXMgw7x6ZW5ldG3DqXJldCAoYsOhanQpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NQorIywgZnV6enkKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAibWF4aW3DoWxpcyDDvHplbmV0bcOpcmV0IChiw6FqdCkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiVzOiBBeiAtLWFkamZpbGUgw6lzIGEgLS1ub2FkamZpbGUga8O2bGNzw7Zuw7ZzZW4ga2l6w6FyasOhayBlZ3ltw6FzdCwgZGUgbWluZGtldHTFkXQgbWVnYWR0YS5cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBpcyByZW1vdmFibGUiCittc2dzdHIgIiBlbHTDoXZvbMOtdGhhdMOzIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibnVtYSBub2RlIG9mIG1lbW9yeSIKK21zZ3N0ciAiZWxmb2d5b3R0IGEgbWVtw7NyaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorIywgZnV6enkKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAib25saW5lIgorbXNnc3RyICIsIGVsw6lyaGV0xZEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorIywgZnV6enkKK21zZ2lkICJvZmZsaW5lIgorbXNnc3RyICIsIGVsw6lyaGV0xZEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIyIHN5cy11dGlscy9sc21lbS5jOjMyOQorIywgZnV6enkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgImJsb2trbcOpcmV0IGxla8OpcsOpc2UiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgImVsZm9neW90dCBhIG1lbcOzcmlhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiZWxmb2d5b3R0IGEgbWVtw7NyaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICIlczogYSh6KSDigJ4lc+KAnSBmZWxoYXN6bsOhbMOzIG5lbSBsw6l0ZXppay5cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgbGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTAKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgdXNlIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTExCittc2dpZCAiICAgICAtLXN1bW1hcnlbPXdoZW5dIHByaW50IHN1bW1hcnkgaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBvciBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYxOAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXN1bW1hcnkgYXJndW1lbnQiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0te3Jhdyxqc29uLHBhaXJzfSBhbmQgLS1zdW1tYXJ5PW9ubHkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IEF6IC0tYWRqZmlsZSDDqXMgYSAtLW5vYWRqZmlsZSBrw7ZsY3PDtm7DtnNlbiBraXrDoXJqw6FrIGVneW3DoXN0LCBkZSBtaW5ka2V0dMWRdCBtZWdhZHRhLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6Njc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjk5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMQorIywgZnV6enkKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgImEgc3RhdCB2w6lncmVoYWp0w6FzYSBheiBlbMOpcsOpc2kgw7p0b24gbWVnaGnDunN1bHRcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDYKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNworbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDgKK21zZ2lkICJuYW1lc3BhY2UgSUQgYXMgdXNlZCBieSBuZXR3b3JrIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxOQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiQSByZW5kc3plcsOzcmEgbmVtIMOhbGzDrXRoYXTDsyBiZS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJpc21lcmV0bGVuIGVyxZFmb3Jyw6FzdMOtcHVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjQKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIlczogQXogLS1hZGpmaWxlIMOpcyBhIC0tbm9hZGpmaWxlIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QsIGRlIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDogZXp0IGNzYWsgYSByZW5kc3plcmdhemRhIHRlaGV0aSBtZWciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcyIHN5cy11dGlscy91bW91bnQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6IGNzYWsgYSByZW5kc3plcmdhemRhIGNzYXRvbGhhdGphIGEoeikgJXMgZXN6a8O2enQgYSh6KSAlcyBoZWx5cmUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJtb3VudDogZXp0IGNzYWsgYSByZW5kc3plcmdhemRhIHRlaGV0aSBtZWciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIGEoeikgJXMgY3NvbWFnYsOzbFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICJtb3VudDogYSh6KSAlcyBtw6FyIGNzYXRvbHZhIHZhbiBhKHopICVzIGFsw6FcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgInVtb3VudDogJXMgbmVtIHRhbMOhbGhhdMOzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MyBzeXMtdXRpbHMvbW91bnQuYzoyNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICJ1bW91bnQ6ICVzIG5lbSB0YWzDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzLiIKK21zZ3N0ciAibGVtZXo6ICUuKnNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enkKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkbDoWpscmVuZHN6ZXItZWxsZW7FkXJ6w6lzIGvDqW55c3plcsOtdMOpc2UgYSBrw7Z2ZXRrZXrFkW46IOKAniVz4oCdLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiICBbIC1maWxlIGtpw61yYXTDoXNpX2bDoWpsbsOpdiBdXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTQ0IHN5cy11dGlscy91bW91bnQuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IGEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU3CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIlTDtmJiIGNpbGluZGVydCBhZG90dCBtZWcsIG1pbnQgYW1lbm55aSBlbGbDqXIgYSBsZW1lemVuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMworbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIGNzYXRvbHZhIHZhbi5cdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MyBzeXMtdXRpbHMvc2V0YXJjaC5jOjkyIHN5cy11dGlscy91bnNoYXJlLmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MworbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTYKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJuZW0gaG96aGF0w7MgbMOpdHJlIMO6aiBzZWxpbnV4IGtvbnRleHR1cyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAiVMO2YmIgY2lsaW5kZXJ0IGFkb3R0IG1lZywgbWludCBhbWVubnlpIGVsZsOpciBhIGxlbWV6ZW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgInJlbmRzemVyaWTFkSBvbHZhc8Ohc2EiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBhKHopICVzIG5lbSBmdXR0YXRoYXTDszogJW0iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiIgorIkhhc3puw6FsYXQ6ICVzJXMgW2thcGNzb2zDs2tdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50dW1haV1dXG4iCisiXG4iCisiS2FwY3NvbMOzazpcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozOAorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRsOhamxyZW5kc3plci1lbGxlbsWRcnrDqXMga8OpbnlzemVyw610w6lzZSBhIGvDtnZldGtlesWRbjog4oCeJXPigJ0uXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEoeikg4oCeJXPigJ0gZsOhamwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZHMiCittc2dzdHIgIkRPUyBtw6Fzb2RsYWdvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OAorbXNnaWQgIm1heCBkYXRhIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorIywgZnV6enkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJoaWLDoXMgaW5vZGUgbcOpcmV0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgIiVsZCBibG9ra1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAic3plZ21lbnNlayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoS8O2dmV0a2V6xZEgZsOhamw6ICVzKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAic3plZ21lbnNlayBtYXhpbcOhbGlzIHN6w6FtYSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZm9seWFtYXQgbmVtIHRhbMOhbGhhdMOzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworIywgZnV6enkKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJwcmlvcml0w6FzIGxla8OpcsOpc2UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJzemVnbWVuc2VrIG1heGltw6FsaXMgc3rDoW1hID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlbGhhc3puw6Fsw7Nuw6l2IgorCisjIGV6IGEga8O2dmV0a2V6xZEgaMOhcm9tICVzJXMtYmVuIGF6IGVsc8WRICVzIGxlc3osIG1lZyBrZWxsIG1hamQgb3R0IGZvcmTDrXRhbmkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJibG9ra2VzemvDtnoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICJFZ3lzw6lnIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydMOtY2nDszpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiVmVzesOpbHllcyBrYXBjc29sw7NrOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBBeiAtLWFkamZpbGUgw6lzIGEgLS1ub2FkamZpbGUga8O2bGNzw7Zuw7ZzZW4ga2l6w6FyasOhayBlZ3ltw6FzdCwgZGUgbWluZGtldHTFkXQgbWVnYWR0YS5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICBFbHPFkSAgICAgVXRvbHPDs1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICAgICBBIGdldG9wdCgxKSB2ZXJ6acOzIHRlc3p0ZWzDqXNlXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiaGliYSBhKHopICVzIMOtcsOhc2Frb3I6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiTWludGF2w6l0ZWxlesOpc2lfbMOpcMOpczogJWlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXM6ICVzKCVpKTogaGliw6FzIGxla8OpcGV6w6lzc29yXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICIlczogbmVtIHRhbMOhbGhhdMOzIGF6IOKAnl9zdGV4dOKAnSBhIGvDtnZldGtlesWRYmVuOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIlczogYSBwcm9maWwgY8OtbWUga8OtdsO8bCBlc2lrIGEgdGFydG9tw6FueW9uLiBUYWzDoW4gaGliw6FzIGEgbGVrw6lwZXrDqXNmw6FqbD9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDAzCittc2dpZCAidG90YWwiCittc2dzdHIgIsO2c3N6ZXNlbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJIYXN6bsOhbGF0OlxuIgorIiByZW5pY2UgcHJpb3JpdMOhcyBbLXB8LS1waWRdIHBpZCBbLi4uIHBpZF1cbiIKKyIgcmVuaWNlIHByaW9yaXTDoXMgIC1nfC0tcGdycCBwZ3JwIFsuLi4gcGdycF1cbiIKKyIgcmVuaWNlIHByaW9yaXTDoXMgIC11fC0tdXNlciBmZWxoYXN6bsOhbMOzIFsuLi4gZmVsaGFzem7DoWzDs11cbiIKKyIgcmVuaWNlIC1oIHwgLS1oZWxwXG4iCisiIHJlbmljZSAtdiB8IC0tdmVyc2lvblxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIkFkamEgbWVnIGEgY2lsaW5kZXJlayBzesOhbcOhdDogIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkOiByw6lnaSBwcmlvcml0w6FzOiAlZCwgw7pqIHByaW9yaXTDoXM6ICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBhem9ub3PDrXTDszogJXNcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB1c2VyICVzIgorbXNnc3RyICIlczogSXNtZXJldGxlbiBwYXJhbmNzOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgImhpYsOhcyBpZMWRa29ybMOhdMOpcnTDqWs6ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibW91bnQ6IGEoeikgJXMgZXN6a8O2eiBpc21lcmV0bGVuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIHZhbHVlIgorbXNnc3RyICJMZW1lemF6b25vc8OtdMOzOiAweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyMgZXogYSBrw7Z2ZXRrZXrFkSBow6Fyb20gJXMlcy1iZW4gYXogZWxzxZEgJXMgbGVzeiwgbWVnIGtlbGwgbWFqZCBvdHQgZm9yZMOtdGFuaQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxva2tlc3prw7Z6IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBoYXJkd2FyZSBibG9jayIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IG5vbi1ibG9ja2luZyAlcyIKK21zZ3N0ciAiYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzEzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaWRlbnRpZmllciIKK21zZ3N0ciAiTGVtZXphem9ub3PDrXTDszogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICJ6w6Fyb2x2YSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgInVuYmxvY2tlZCIKK21zZ3N0ciAiesOhcm9sdmEiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJMZW1lemF6b25vc8OtdMOzOiAweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjkKK21zZ2lkICJUb29sIGZvciBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHdpcmVsZXNzIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTMKK21zZ2lkICIgZXZlbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk0CisjLCBmdXp6eQorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIkxlbWV6YXpvbm9zw610w7M6IDB4JTA4eFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiTGVtZXphem9ub3PDrXTDszogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICJMZW1lemF6b25vc8OtdMOzOiAweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE1Cittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInJ0YyBpZMWRIG9sdmFzw6FzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgInJlbmRzemVyaWTFkSBvbHZhc8Ohc2EiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJydGMgaWTFkSDDoXRhbGFrw610w6FzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAicnRjIMOpYnJlc3p0w6lzaSByaWFzenTDoXMgYmXDoWxsw610w6FzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAiaWdhesOtdMOhc2kgZWx0b2zDoXMgbGVrw6lyw6lzZSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJ2w6FyYXRsYW4gZsOhamx2w6lnZSBhIGvDtnZldGtlesWRbjogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4IHN5cy11dGlscy9ydGN3YWtlLmM6NjQyCisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAicnRjIHJpYXN6dMOhcyBlbmdlZMOpbHllesOpc2UiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJydGMgaWTFkSDDoXRhbGFrw610w6FzYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9uICAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJOZW0gb2x2YXNoYXTDsyBhIGvDtnZldGtlesWROiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gZmVsZsO8Z2dlc3p0w6lzaSDDoWxsYXBvdDog4oCeJXPigJ1cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IGZlbHTDqXRlbGV6ZW0sIGhvZ3kgYXogUlRDIFVUQy10IGhhc3puw6FsIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVVEMgaWTFkSBoYXN6bsOhbGF0YS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzAKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICJIZWx5aSBpZMWRIGhhc3puw6FsYXRhLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiJXM6IG1lZyBrZWxsIGFkbmlhIGEgZmVsw6licmVzenTDqXNpIGlkxZF0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIHTDoW1vZ2F0amEgYXogw6licmVzenTDqXNpIGVzZW3DqW55ZWtldFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiVsZC4gcmlhc3p0w6FzLCByZW5kc3plcmlkxZE6ICVsZCwgcnRjIGlkxZE6ICVsZCwgJXUgbcOhc29kcGVyY1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIlczogYXogaWTFkSBuZW0gbWVneSB2aXNzemEgZWRkaWc6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogw6licmVzenTDqXMgYSh6KSDigJ4lc+KAnSBlc3prw7Z6csWRbCAlcyBzZWfDrXRzw6lnw6l2ZWwgZWtrb3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogw6licmVzenTDqXMgYSh6KSDigJ4lc+KAnSBlc3prw7Z6csWRbCAlcyBzZWfDrXRzw6lnw6l2ZWwgZWtrb3I6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgImF6IG9sdmFzw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgInJ0YyByaWFzenTDoXNpIG1lZ3N6YWvDrXTDoXMgbGV0aWx0w6FzYSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIiVzIGJla2FwY3NvbMOhc2EuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NQorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OAorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmNoaXRla3TDunJhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJOZW0ga8OpcmhldMWRIGxlIGEoeikgJXMgaWTFkWtvcmzDoXRqYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiVMO6bCBrZXbDqXMgYXJndW1lbnR1bSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAiYXpvbm9zw610YXRsYW4gYmVtZW5ldDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAiVMO6bCBrZXbDqXMgYXJndW1lbnR1bSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiRMOhdHVtIHBhcmFuY3Mga2lhZMOhc2E6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgcHJvZ3JhbSBbYXJndW1lbnR1bSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjYKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMQorIywgZnV6enkKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM0Cittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTQ0Cittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIsOJcnbDqW55dGVsZW4gcGFydMOtY2nDs3N6w6FtIGEoeikg4oCeJWPigJ0gdMOtcHVzaG96XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHN5cy11dGlscy9zZXRwcml2LmM6NTUyCittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJuaW5jcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiQSBzb3IgdMO6bCBob3NzesO6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJuaW5jcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFtYmllbnQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIm5pbmNzIHBhcmFuY3M/XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiTGludXggZWd5c3plcsWxIHN6w7Z2ZWciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NjgKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgImlzbWVyZXRsZW4gZXLFkWZvcnLDoXN0w61wdXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiaXNtZXJldGxlbiBmb3Jtw6F0dW0gLSBhIHN6ZWt0b3JvayBrZXLDvGxuZWsgZmVsaGFzem7DoWzDoXNyYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIkEoeikg4oCeJWPigJ0gbmVtIGVuZ2Vkw6lseWV6ZXR0LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4OQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJhem9ub3PDrXRhdGxhbiBiZW1lbmV0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYwOQorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjMyCittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgwCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxMworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI2Cittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0NAorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTMKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTkKK21zZ2lkICJkdXBsaWNhdGUgLS1hbWJpZW50LWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODY1Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3MQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4ODMKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg5OQorbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkwNworbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTEzCisjLCBmdXp6eQorbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJBIOKAni0tZGF0ZeKAnSBrYXBjc29sw7MgbmluY3MgbWVnYWR2YS5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1CisjLCBmdXp6eQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworIywgZnV6enkKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5ODUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogJXMgcHJvZ3JhbSBbYXJndW1lbnR1bSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNworbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBBIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6FuYWsgbWVndsOhbHRvenRhdMOhc2EiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgInByb2dyYW1pbmTDrXTDoXM6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiBhKHopICVzIGNzYXRvbMOhc2kgcG9udCBuZW0gbMOpdGV6aWsiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICIlcyBhIGvDtnZldGtlesWRbjogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIk5lbSByZW5kc3plcmdhemRhLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJBIDxzcGVjacOhbGlzPiBwYXJhbcOpdGVyOlxuIgorIiB7LUwgY8OtbWtlIHwgTEFCRUw9Y8OtbWtlfSAgICAgICAgICAgICBhIGhhc3puw6FsYW5kw7MgZXN6a8O2eiBDw41NS8OJSkVcbiIKKyIgey1VIHV1aWQgIHwgVVVJRD11dWlkfSAgICAgICAgICAgICAgIGEgaGFzem7DoWxhbmTDsyBlc3prw7Z6IFVVSUQtamVcbiIKKyIgPGVzemvDtno+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGhhc3puw6FsYW5kw7MgZXN6a8O2eiBuZXZlXG4iCisiIDxmw6FqbD4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSBoYXN6bsOhbGFuZMOzIGbDoWpsIG5ldmVcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICIgICBkICAgcGFydMOtY2nDsyB0w7ZybMOpc2UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworIywgZnV6enkKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImEgc3RhdCB2w6lncmVoYWp0w6FzYSBheiBlbMOpcsOpc2kgw7p0b24gbWVnaGnDunN1bHRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJNZWdqZWzDtmzDqXMgaGFzem7DoWx0a8OpbnQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAicHJpb3JpdMOhcyBiZcOhbGzDrXTDoXNhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAibmluY3MgY8OtbWtlLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6ICVzOiBzem9mdHZlcmVzIGZlbGbDvGdnZXN6dMOpc2kgYWRhdG9rIHRhbMOhbGhhdMOzay4gQSBsYXBvesOzdGVyw7xsZXQgaXNtw6l0ZWx0IGVsxZFrw6lzesOtdMOpc2UuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsc2VlayBmYWlsZWQiCittc2dzdHIgIiVzOiBheiBsc2VlayBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgImEgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IEEoeikgJXMgZsOhamwga2loYWd5w6FzYSAtIMO6Z3kgdMWxbmlrLCBseXVrYWsgdmFubmFrIGJlbm5lLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogJXM6IHN6b2Z0dmVyZXMgZmVsZsO8Z2dlc3p0w6lzaSBhZGF0b2sgdGFsw6FsaGF0w7NrLiBBIGxhcG96w7N0ZXLDvGxldCBpc23DqXRlbHQgZWzFkWvDqXN6w610w6lzZS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgIiVzIGEga8O2dmV0a2V6xZFuOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgImF6IGVsc8WRIHNvciB1dMOhbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgImF6IGVsc8WRIHNvciB1dMOhbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICJheiBpbm9kZS1vayBuZW0gw61yaGF0w7NrIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA2CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgICAgLWwgW3ZhZ3kgLS1saXN0XTogICAgICBracOtcmphIGF6IGVneWVzIGVzemvDtnrDtmsgcGFydMOtY2nDs2l0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODE2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIkEgPHNwZWNpw6FsaXM+IHBhcmFtw6l0ZXI6XG4iCisiIHstTCBjw61ta2UgfCBMQUJFTD1jw61ta2V9ICAgICAgICAgICAgIGEgaGFzem7DoWxhbmTDsyBlc3prw7Z6IEPDjU1Lw4lKRVxuIgorIiB7LVUgdXVpZCAgfCBVVUlEPXV1aWR9ICAgICAgICAgICAgICAgYSBoYXN6bsOhbGFuZMOzIGVzemvDtnogVVVJRC1qZVxuIgorIiA8ZXN6a8O2ej4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIGEgaGFzem7DoWxhbmTDsyBlc3prw7Z6IG5ldmVcbiIKKyIgPGbDoWpsPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIGhhc3puw6FsYW5kw7MgZsOhamwgbmV2ZVxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlczogbmVtIHRhbMOhbGhhdMOzIGEoeikgJXMgZXN6a8O2emVcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKKyMsIGZ1enp5Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgIiVzOiBheiBlbMOpcsOpcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAiS8Otc8OpcmxldCBhIGvDtnZldGtlesWRIGxldsOhbGFzenTDoXPDoXJhOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJBIHN6ZW3DqWx5aXPDqWcgYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIkEgc3plbcOpbHlpc8OpZyBiZcOhbGzDrXTDoXNhIG1lZ2hpw7pzdWx0IGEga8O2dmV0a2V6xZFyZTogJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE5MgorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIiCisiSGFzem7DoWxhdDogJXMlcyBba2FwY3NvbMOza10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnR1bWFpXV1cbiIKKyJcbiIKKyJLYXBjc29sw7NrOlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDkKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSh6KSDigJ4lc+KAnSBmw6FqbCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAxCittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIGVneSBww6FyaHV6YW1vcyAobHApIGVzemvDtnouXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRIGhpYmEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIlcyDDoWxsYXBvdGE6ICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBmb2dsYWx0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwga8Opc3oiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwga2lmb2d5b3R0IGEgcGFww61yIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBlbMOpcmhldMWRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgaGliYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImF6IGZzeW5jIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzA4Cittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRIGhpYmEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIGEoeikgJWQuIG1lZ3N6YWvDrXTDoXN0IGhhc3puw6FsamFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIGxla8OpcmRlesOpc3QgaGFzem7DoWxcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkFkamEgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQ6ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MgorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgYXogaXNtZXJ0IGbDoWpscmVuZHN6ZXJ0w61wdXNvayBmZWxzb3JvbMOhc2EiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyBjc2F0b2x2YSB2YW4uXHQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyMworIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IGEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiQSBzemVtw6lseWlzw6lnIGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkXJlOiAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzIG5lbSB0YWzDoWxoYXTDsyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAiYXogw61yw6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiRsOhamxyZW5kc3plci1lbGxlbsWRcnrDqXMga8OpbnlzemVyw610w6lzZSBhIGvDtnZldGtlesWRbjog4oCeJXPigJ0uXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBhKHopICVzIMOhdG5ldmV6w6lzZSBtZWdoacO6c3VsdCBhIGvDtnZldGtlesWRcmU6ICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIMOpcmhldMWRIGVsIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAiYSBtZWdueWl0w6FzIG1lZ2hpw7pzdWx0OiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiQSh6KSAlcyBuZW0gb2x2YXNoYXTDs1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY2Cittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJhIHNldHVpZCgpIGjDrXbDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IEF6IC0tYWRqZmlsZSDDqXMgYSAtLW5vYWRqZmlsZSBrw7ZsY3PDtm7DtnNlbiBraXrDoXJqw6FrIGVneW3DoXN0LCBkZSBtaW5ka2V0dMWRdCBtZWdhZHRhLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICJhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKK21zZ2lkICJDYXJkIHByZXZpb3VzbHkgcmVzZXQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJBIGJlamVsZW50a2V6w6lzICVkIG3DoXNvZHBlcmMgdXTDoW4gdMO6bGzDqXB0ZSBheiBpZMWRa29ybMOhdG90XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCisjLCBmdXp6eQorbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiQSBiZWplbGVudGtlesOpcyAlZCBtw6Fzb2RwZXJjIHV0w6FuIHTDumxsw6lwdGUgYXogaWTFkWtvcmzDoXRvdFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIiIKKworIyBleiBhIGvDtnZldGtlesWRIGjDoXJvbSAlcyVzLWJlbiBheiBlbHPFkSAlcyBsZXN6LCBtZWcga2VsbCBtYWpkIG90dCBmb3Jkw610YW5pCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxva2tlc3prw7Z6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgIsOhbGxhcG90IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiJXMgbmVtIMOpcmhldMWRIGVsIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiBhKHopICVzIGVzemvDtnogaXNtZXJldGxlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBhcmd1bWVudHVtOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAibG9vcDogbmVtIG55aXRoYXTDsyBtZWcgYSh6KSAlcyBlc3prw7Z6OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gamVsesOpczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIwIHN5cy11dGlscy93ZGN0bC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzQgc3lzLXV0aWxzL3dkY3RsLmM6NDA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAibmVtIGxlaGV0IHZpc3N6YcOhbGzDrXRhbmkgYSBsYXBvesOzdGVyw7xsZXQtZXN6a8O2enQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAiTmVtIGvDqXJoZXTFkSBsZSBhKHopICVzIGlkxZFrb3Jsw6F0amE6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICJBeiB1dG9sc8OzIGlnYXrDrXTDoXMgw7N0YSBlbHRlbHQgaWTFkSAlZCBtw6Fzb2RwZXJjXG4iCittc2dzdHJbMV0gIkF6IHV0b2xzw7MgaWdhesOtdMOhcyDDs3RhIGVsdGVsdCBpZMWRICVkIG3DoXNvZHBlcmNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBzaWtlcnRlbGVuIGEgd3JpdGVfdGFibGVzLWJlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1IHN5cy11dGlscy93ZGN0bC5jOjQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJXMgICUuNmYgbcOhc29kcGVyY1xuIgorbXNnc3RyWzFdICIlcyAgJS42ZiBtw6Fzb2RwZXJjXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NgorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorIywgZnV6enkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgImlkxZF0w7psbMOpcMOpcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNAorIywgZnV6enkKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJFc3prw7Z6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiBhKHopICVzIGVzemvDtnogaXNtZXJldGxlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg1Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogbWtmcyBbLVZdIFstdCBmw6FqbHJlbmRzemVydMOtcHVzXSBbZsOhamxyZW5kc3plci1iZcOhbGzDrXTDoXNva10gZXN6a8O2eiBbbcOpcmV0XVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAgICAtUyMgW3ZhZ3kgLS1zZWN0b3JzICNdOiAgICBhIGhhc3puw6FsYW5kw7Mgc3pla3RvcnN6w6FtIGJlw6FsbMOtdMOhc2EiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjMzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTUKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiJXM6IEF6IC0tYWRqZmlsZSDDqXMgYSAtLW5vYWRqZmlsZSBrw7ZsY3PDtm7DtnNlbiBraXrDoXJqw6FrIGVneW3DoXN0LCBkZSBtaW5ka2V0dMWRdCBtZWdhZHRhLlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBhKHopICVzIG5lbSBmdXR0YXRoYXTDszogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGEoeikgJXMgbmVtIGZ1dHRhdGhhdMOzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBhKHopIOKAniVz4oCdIGZvbHlhbWF0IG5lbSB0YWzDoWxoYXTDs1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiBhKHopICVzIG5lbSBmdXR0YXRoYXTDszogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAibmVtIGZvZ2xhbGhhdMOzIGxlIGtpbWVuZXRpIHB1ZmZlciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiVzIGEoeikgJXMgY3NvbWFnYsOzbFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICLDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgImhpYsOhcyBzZWJlc3PDqWc6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInTDumwgc29rIGFsdGVybmF0w612IHNlYmVzc8OpZyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBuZW0gbnlpdGhhdMOzIG1lZyBzemFidsOhbnlvcyBiZW1lbmV0a8OpbnQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogbmVtIGVneSBrYXJha3RlcmVzemvDtnoiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5lbSBueWl0aGF0w7MgbWVnIHN6YWJ2w6FueW9zIGJlbWVuZXRrw6ludDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIiVzOiBhIGNhbGxvYygpIHNpa2VydGVsZW46ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBuZW0gbnlpdGhhdMOzIG1lZyDDrXLDoXNyYSB2YWd5IG9sdmFzw6FzcmEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZm9seWFtYXQgbmVtIHRhbMOhbGhhdMOzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlczoga2V0dMWResOpc2kgcHJvYmzDqW1hOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiYSh6KSAlcyB0ZXJtaW7DoWxhdHRyaWLDunR1bWFpIG5lbSBrw6lyaGV0xZFrIGxlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjUgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiYSh6KSAlcyB0ZXJtaW7DoWxhdHRyaWLDunR1bWFpIG5lbSDDoWxsw610aGF0w7NrIGJlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhKHopIOKAniVz4oCdIGbDoWpsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiYSB0w61wdXNwYXJhbmNzZsOhamwgKCVzKSBvbHZhc8Ohc2EgbWVnaGnDunN1bHQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2NQorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICJ0w61wdXM6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBvbHZhc8OhczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IGEgYmVtZW5ldCB0w7psY3NvcmR1bHQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiYSh6KSAlcyB0ZXJtaW7DoWxhdHRyaWLDunR1bWFpIG5lbSDDoWxsw610aGF0w7NrIGJlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIgorIiAgLXMsIC0tc2hlbGw9cGFyYW5jc8OpcnRlbG1lesWRICAgICBBIHBhcmFuY3PDqXJ0ZWxtZXrFkSBpZMOpesOpc2kgbWVnw6FsbGFwb2TDoXNhaW5ha1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZcOhbGzDrXTDoXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MAorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEga8OpcGVybnnFkXJlIHZhZ3kgZsOhamxiYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEga8OpcGVybnnFkXJlIHZhZ3kgZsOhamxiYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPWhvc3N6w7pfa2FwY3NvbMOzayAgICBGZWxpc21lcmVuZMWRIGhvc3N6w7oga2FwY3NvbMOza1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjMKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgIC1UIFt2YWd5IC0tbGlzdC10eXBlc106YXogaXNtZXJ0IHBhcnTDrWNpw7N0w61wdXNvayBracOtcsOhc2EiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gImZlbGhhc3puw6Fsw7MiCittc2dzdHJbMV0gImZlbGhhc3puw6Fsw7MiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImEgY2hvd24gbWVnaGnDunN1bHQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhKHopIOKAniVz4oCdIGbDoWpsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OQorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorIywgZnV6enkKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAiYSBwb3ppY2lvbsOhbMOhcyBtZWdoacO6c3VsdCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgIm1vc3QgaWdlblxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAibW9zdCBuZW1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJsZWZvZ2xhbHQgc3plbWFmb3JvayA9ICVkXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgIsOpcnbDqW55dGVsZW4gYXpvbm9zw610w7M6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjQKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjcKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJGaWd5ZWxtZXp0ZXTDqXM6IGEoeikg4oCeJXPigJ0gZWd5IGxpbmtcbiIKKyJIYXN6bsOhbGphIGEoeikg4oCeJXMgW2thcGNzb2zDs2tdICVz4oCdIHBhcmFuY3NvdCwgaGEgdmFsw7NiYW5cbiIKKyJoYXN6bsOhbG5pIGFrYXJqYS4gQSBwYXJhbmNzZsOhamwgbmVtIGluZHVsdCBlbC5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiQSBwYXJhbmNzZsOhamwga8Opc3osIGEgZsOhamw6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiJXM6IG5lbSDDrXJoYXTDsyBhIHBhcmFuY3Nmw6FqbCwgaGliYTogJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAiQSBwYXJhbmNzZsOhamwgZWxpbmR1bHQgZWtrb3I6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJBIHBhcmFuY3Nmw6FqbCBrw6lzeiBla2tvcjogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5CisjLCBmdXp6eQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJheiBvcGVucHR5IG1lZ2hpw7pzdWx0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3CisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiRWxmb2d5dGFrIGEgcHN6ZXVkb3Rlcm1pbsOhbG9rXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIkEgcGFyYW5jc2bDoWpsIGVsaW5kdWx0LCBhIGbDoWpsOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiJXMgPGlkxZF6w610w6lzZsOhamw+IFs8dMOtcHVzcGFyYW5jc2bDoWpsPiBbPGVsdsOhbGFzenTDsz5dXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMworbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgImEgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhcyBtZWdoacO6c3VsdCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAidsOhcmF0bGFuIGbDoWpsdsOpZ2UgYSBrw7Z2ZXRrZXrFkW46ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImEgdMOtcHVzcGFyYW5jc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJhIHbDoXJ0IHN6w6FtIGhlbHlldHQg4oCeJXPigJ0gdGFsw6FsaGF0w7MiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJheiBpZMWResOtdMOpc2bDoWpsICglcykgb2x2YXPDoXNhIG1lZ2hpw7pzdWx0IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiJXMgaWTFkXrDrXTDqXNmw6FqbDogJWx1OiB2w6FydCBmb3Jtw6F0dW0iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJhIHNlYmVzc8OpZyAoJWQpIG5lbSB0w6Ftb2dhdG90dCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MgorbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NQorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorIywgZnV6enkKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgcm93cyBhbmQgY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgIFsgLWhhbGYtYnJpZ2h0IFtvbnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKKyMsIGZ1enp5Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICAgICBBIGdldG9wdCgxKSB2ZXJ6acOzIHRlc3p0ZWzDqXNlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgICAgQSBnZXRvcHQoMSkgdmVyemnDsyB0ZXN6dGVsw6lzZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorIywgZnV6enkKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgIFsgLXBvd2Vyc2F2ZSBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICBFbHPFkSAgICAgVXRvbHPDs1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiYXogw7xyw610w6lzIG5lbSBrw6lueXN6ZXLDrXRoZXTFkVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgImEgdmlzc3phw6FsbMOtdMOhcyBuZW0ga8OpbnlzemVyw610aGV0xZFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzUxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJheiDDvHLDrXTDqXMgw6FsbGFwb3RhIG5lbSBrw6lyaGV0xZEgbGVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAiYSh6KSAlcyBlc3prw7Z6IG5lbSBueWl0aGF0w7MgbWVnIMOtcsOhc3JhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiJXM6IGEoeikg4oCeJXPigJ0gZmVsaGFzem7DoWzDsyBuZW0gbMOpdGV6aWsuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKKyMsIGZ1enp5Cittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgYmVqZWxlbnRrZXrDqXNlIG1lZ3RhZ2FkdmEgZXplbiBhIHRlcm1pbsOhbG9uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY3Vyc29yIHBvc2l0aW9uOiAlcyIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgImEgc2V0dWlkKCkgaMOtdsOhc2EgbWVnaGnDunN1bHQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgIm5lbSBsZWhldCDDoXR2w6FsdGFuaSBheiBlbmVyZ2lhdGFrYXLDqWtvcyBtw7Nkb3RcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwgaGliYTogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE0NgorIywgZnV6enkKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiVzOiBBICRURVJNIG5pbmNzIG1lZ2FkdmEuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTMKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gamVsesOpczogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NworbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiYmVsc8WRIGhpYmEiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAidMO6bHPDoWdvc2FuIGhvc3N6w7ogc29yYXJndW1lbnR1bSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJhIG1lZ255aXTDoXMgbWVnaGnDunN1bHQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgInByb2dyYW1pbmTDrXTDoXM6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAiYSBwcm9ncmFtaW5kw610w6FzIG1lZ2hpw7pzdWx0IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgICAgICBOZW0gaWTDqXrFkWplbGV6aSBhIGtpbWVuZXRldFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5NAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBncm91cCBhcmd1bWVudCIKK21zZ3N0ciAiw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlYzogaXNtZXJldGxlbiBwYXJhbmNzXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJoaWLDoXMgaWTFkWtvcmzDoXTDqXJ0w6lrOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiYSBmZWxoYXN6bsOhbMOzYXpvbm9zw610w7MgbmVtIMOhbGzDrXRoYXTDsyBiZSIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIk5lbSBsZWhldCBsZWvDqXJkZXpuaSBhIGxlbWV6IG3DqXJldMOpdCIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIlN6w7NydCDDvHplbmV0IGEga8O2dmV0a2V6xZF0xZFsOiAlc0AlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCByZWFkICVzIC0gdXNlIHN0ZGluLiIKK21zZ3N0ciAiJXM6IG5lbSBvbHZhc2hhdMOzIGEoeikgJXMgLSBhIHN6YWJ2w6FueW9zIGJlbWVuZXQga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmEuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiSGFzem7DoWxhdDogbmFtZWkgWy1teF0gw7p0dm9uYWwgW8O6dHZvbmFsIC4uLl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICJ3cml0ZTogJXMgbmluY3MgYmVqZWxlbnRrZXp2ZVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2CisjLCBmdXp6eQorbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJ3cml0ZTogbmVtIHRhbMOhbGhhdMOzIGEgdGVybWluw6FsIG5ldmVcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICJ3cml0ZTogJXMgbGV0aWx0b3R0YSBheiDDvHplbmV0ZWtldFxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIndyaXRlOiAlcyB0w7ZiYiBoZWx5ZW4gaXMgYmVsw6lwZXR0LCDDrXLDoXMgYSBrw7Z2ZXRrZXrFkXJlOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIsOcemVuZXQgJXNAJXMgZmVsaGFzem7DoWzDs3TDs2wgKG1pbnQgJXMpIGV6ZW46ICVzIGVra29yOiAlcyAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICLDnHplbmV0ICVzQCVzIGZlbGhhc3puw6Fsw7N0w7NsIGV6ZW46ICVzIGVra29yOiAlcyAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKKyMsIGZ1enp5Cittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ3cml0ZTogYXogw61yw6FzaSBqb2dvc3VsdHPDoWcga2kgdmFuIGthcGNzb2x2YS5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIG5pbmNzIGJlamVsZW50a2V6dmUgYSBrw7Z2ZXRrZXrFkW46ICVzLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIndyaXRlOiAlcyBsZXRpbHRvdHRhIGF6IMO8emVuZXRla2V0IGEga8O2dmV0a2V6xZFuOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBoaWLDoXMgLWwga2FwY3NvbMOzOiAlcy5cbiIKKworIyBhICVzIGEga8O2dmV0a2V6xZEga2V0dMWRIGVneWlrZQorIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICJjb2w6IGZpZ3llbG1lenRldMOpczogbmVtIMOhbGzDrXRoYXTDsyB2aXNzemEgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJheiBlbHPFkSBzb3IgdXTDoW4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIGEgc29yIG3DoXIga2kgdmFuIMO8csOtdHZlIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBoaWLDoXMgLWwga2FwY3NvbMOzOiAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworIywgZnV6enkKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgImNvbDogaGliw6FzIC1sIGthcGNzb2zDszogJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSB0YWzDoWxoYXTDsyBhKHopICVzIHZhZ3kgYSh6KSAlcyBhbGF0dCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtbm9leHRyZW1lIGxpc3QiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgICAgTmluY3Mgbm9ybcOhbCBraW1lbmV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9cHJvZ3JhbW7DqXYgICAgICAgICAgICBBIGhpYsOhayBlemVuIG7DqXYgYWxhdHQga2Vyw7xsbmVrIGplbGVudMOpc3JlXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQyCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS10YWJsZS1vcmRlciA8Y29sdW1ucz4gICAgICBzcGVjaWZ5IG9yZGVyIG9mIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1rYXBjc29sw7Mta2FyYWt0ZXJsw6FuYyAgRmVsaXNtZXJlbmTFkSByw7Z2aWQga2FwY3NvbMOza1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MworIywgZnV6enkKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICAgICAgTmVtIGlkw6l6xZFqZWxlemkgYSBraW1lbmV0ZXRcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQgZm9yIHRhYmxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS10cmVlIDxjb2x1bW4+ICAgICAgICAgICAgICBjb2x1bW4gdG8gdXNlIHRyZWUtbGlrZSBvdXRwdXQgZm9yIHRoZSB0YWJsZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgICAgLUgjIFt2YWd5IC0taGVhZHMgI106ICAgICAgYSBoYXN6bsOhbGFuZMOzIGZlanN6w6FtIGJlw6FsbMOtdMOhc2EiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vdXRwdXQtd2lkdGggPHdpZHRoPiAgICAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPWthcGNzb2zDsy1rYXJha3RlcmzDoW5jICBGZWxpc21lcmVuZMWRIHLDtnZpZCBrYXBjc29sw7NrXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIG5hbWVzIgorbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTEKK21zZ2lkICJvcHRpb25zIC0tdHJlZS1pZCBhbmQgLS10cmVlLXBhcmVudCBhcmUgcmVxdWlyZWQgZm9yIHRyZWUgZm9ybWF0dGluZyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxOQorbXNnaWQgIm9wdGlvbiAtLXRhYmxlIHJlcXVpcmVkIGZvciBhbGwgLS10YWJsZS0qIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODIyCittc2dpZCAib3B0aW9uIC0tdGFibGUtY29sdW1ucyByZXF1aXJlZCBmb3IgLS1qc29uIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1CisjLCBmdXp6eQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgInJ0YyByaWFzenTDoXMgZW5nZWTDqWx5ZXrDqXNlIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJoZXhkdW1wOiBoaWLDoXMgYsOhanRzesOhbSBhIGvDtnZldGtlesWRIMOhdGFsYWvDrXTDoXNpIGthcmFrdGVyaGV6OiAlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgImhleGR1bXA6IGEoeikgJSVzIHBvbnRvc3PDoWdvdCB2YWd5IGLDoWp0c3rDoW1vdCBpZ8OpbnllbC5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiaGV4ZHVtcDogaGliw6FzIGZvcm3DoXR1bSB7JXN9XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiaGV4ZHVtcDogaGliw6FzIMOhdGFsYWvDrXTDoXNpIGthcmFrdGVyOiAlJSVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAiaGV4ZHVtcDogYsOhanRzesOhbSB0w7ZiYiDDoXRhbGFrw610w6FzaSBrYXJha3RlcnJlbC5cbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgICBhIGxlbWV6IHTDqW55bGVnZXMgw61yw6Fzw6FuYWsga2loYWd5w6FzYSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgICAgYSBsZW1leiB0w6lueWxlZ2VzIMOtcsOhc8OhbmFrIGtpaGFnecOhc2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIEEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61yw6FzYSBhIGvDqXBlcm55xZFyZSB2YWd5IGbDoWpsYmEiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MworIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICJBZGphIG1lZyBhIGNpbGluZGVyZWsgc3rDoW3DoXQ6ICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICIlczogaXNtZXJldGxlbiBrYXBjc29sw7M6IOKAni0lY+KAnVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBrw7ZueXZ0w6FyICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiBFeiBuZW0gZWd5IHN6w7Z2ZWdmw6FqbCAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltIYXN6bsOhbGphIGEgcSB2YWd5IGEgUSBlZ3lpa8OpdCBhIGtpbMOpcMOpc2hlel0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1Ub3bDoWJiLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihLw7Z2ZXRrZXrFkSBmw6FqbDogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbTnlvbWphIGxlIGEgc3rDs2vDtnp0IGEgZm9seXRhdMOhc2hveiB2YWd5IGEgcSBiaWxsZW50ecWxdCBhIGtpbMOpcMOpc2hlei5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLnZpc3N6YSAlZCBvbGRhbGxhbCIKK21zZ3N0clsxXSAiLi4udmlzc3phICVkIG9sZGFsbGFsIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4uICVkIHNvciBraWhhZ3nDoXNhIgorbXNnc3RyWzFdICIuLi4gJWQgc29yIGtpaGFnecOhc2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjkKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqVmlzc3phKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJBIHJlZ3Vsw6FyaXMga2lmZWplesOpcyBoaWLDoXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiQSBsZWd0w7ZiYiBwYXJhbmNzb3QgbWVnZWzFkXpoZXRpIGVneSBrIGVnw6lzeiBzesOhbS4gQXogYWxhcMOpcnRlbG1lesOpc2VrIFtdIGvDtnrDtnR0XG4iCisidmFubmFrLiBBIGNzaWxsYWcgKCopIGplbHppLCBoYSBheiBhcmd1bWVudHVtIGF6IMO6aiBhbGFww6lydGVsbWV6w6lzc8OpIHbDoWxpay5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMyMQorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjxzesOza8O2ej4gICAgICAgICAgICAgICAgS8O2dmV0a2V6xZEgayBzb3Igc3rDtnZlZyBbamVsZW5sZWdpIGvDqXBlcm55xZFtw6lyZXRdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgS8O2dmV0a2V6xZEgayBzb3Igc3rDtnZlZyBbamVsZW5sZWdpIGvDqXBlcm55xZFtw6lyZXRdKlxuIgorIjxlbnRlcj4gICAgICAgICAgICAgICAgIEvDtnZldGtlesWRIGsgc29yIHN6w7Z2ZWcgWzFdKlxuIgorImQgdmFneSBjdHJsLUQgICAgICAgICAgIEfDtnJnZXTDqXMgayBzb3JyYWwgW2plbGVubGVnaSBnw7ZyZ2V0w6lzbcOpcmV0LCAxMV0qXG4iCisicSwgUSB2YWd5IDxtZWdzemFrw610w6FzPiBLaWzDqXDDqXMgYSBtb3JlLWLDs2xcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBVZ3LDoXMgZWzFkXJlIGsgc29yIHN6w7Z2ZWdnZWwgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgVWdyw6FzIGVsxZFyZSBrIGvDqXBlcm55xZFueWkgc3rDtnZlZ2dlbCBbMV1cbiIKKyJiIHZhZ3kgY3RybC1CICAgICAgICAgICBVZ3LDoXMgdmlzc3phIGsga8OpcGVybnnFkW55aSBzesO2dmVnZ2VsIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIFVncsOhcyBheiBlbMWResWRIGtlcmVzw6lzIGtpaW5kdWzDs3BvbnRqw6Fob3pcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBKZWxlbmxlZ2kgc29yc3rDoW0gbWVnamVsZW7DrXTDqXNlXG4iCisiLzxyZWd1bMOhcmlzIGtpZmVqZXrDqXM+ICBBIHJlZ3Vsw6FyaXMga2lmZWplesOpcyBrLiBlbMWRZm9yZHVsw6Fzw6FuYWsga2VyZXPDqXNlIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIEF6IHV0b2xzw7MgcmVndWzDoXJpcyBraWYuIGsuIGVsxZFmb3JkdWzDoXPDoW5hayBrZXJlc8Opc2UgWzFdXG4iCisiITxwYXI+IHZhZ3kgOiE8cGFyPiAgICAgQSA8cGFyPiBwYXJhbmNzIHbDqWdyZWhhanTDoXNhIHBhcmFuY3PDqXJ0ZWxtZXrFkWJlblxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIGEgL3Vzci9iaW4vdmkgaW5kw610w6FzYSBhIGplbGVubGVnaSBzb3JiYW5cbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBLw6lwZXJuecWRIMO6anJhcmFqem9sw6FzYVxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIFVncsOhcyBhIGsuIGvDtnZldGtlesWRIGbDoWpscmEgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgVWdyw6FzIGEgay4gZWzFkXrFkSBmw6FqbHJhIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIEplbGVubGVnaSBmw6FqbG7DqXYgw6lzIHNvcnN6w6FtIG1lZ2plbGVuw610w6lzZVxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIEVsxZF6xZEgcGFyYW5jcyBtZWdpc23DqXRsw6lzZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltTZWfDrXRzw6lnw6lydCBueW9tamEgbWVnIGEg4oCeaOKAnSBiaWxsZW50ecWxdC5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICLigJ4lc+KAnSAlZC4gc29yIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbTmVtIGbDoWpsXSAlZC4gc29yIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIFTDumxjc29yZHVsw6FzXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIgIGtpaGFnecOhc1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJBIG1pbnRhIG5lbSB0YWzDoWxoYXTDs1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIkEgbWludGEgbmVtIHRhbMOhbGhhdMOzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NjYKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgIm5lbSBpbmTDrXRoYXTDsyBwcm9ncmFtXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uVWdyw6FzICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5VZ3LDoXMgZsOhamxyYTogIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uVWdyw6FzIGVneSBmw6FqbGxhbCB2aXNzemE6ICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIkEgc29yIHTDumwgaG9zc3rDuiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIk5pbmNzIGVsxZF6xZEgcGFyYW5jcyBhIGhlbHlldHRlc8OtdMOpc2hleiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEga8OpcGVybnnFkXJlIHZhZ3kgZsOhamxiYSIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICAgIGEgbGVtZXogdMOpbnlsZWdlcyDDrXLDoXPDoW5hayBraWhhZ3nDoXNhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQyCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MworbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ0Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDYKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NworbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICIlczogYSBrYXBjc29sw7MgYXJndW1lbnR1bW90IGlnw6lueWVsIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICIlczogw6lydsOpbnl0ZWxlbiBrYXBjc29sw7MgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2NworbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4udWdyw6FzIGVsxZFyZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiLi4udWdyw6FzIHZpc3N6YVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg1Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJOaW5jcyBrw7Z2ZXRrZXrFkSBmw6FqbCIKKworIzogdGV4dC11dGlscy9wZy5jOjM4OQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIk5pbmNzIGVsxZF6xZEgZsOhamwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICIlczogT2x2YXPDoXNpIGhpYmEgYSh6KSAlcyBmw6FqbGJhblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogVsOhcmF0bGFuIGbDoWpsIHbDqWdlIGplbCBhKHopICVzIGbDoWpsYmFuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IElzbWVyZXRsZW4gaGliYSBhKHopICVzIGbDoWpsYmFuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IE5lbSBob3poYXTDsyBsw6l0cmUgaWRlaWdsZW5lcyBmw6FqbFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiUkUgaGliYTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRsOhamwgdsOpZ2UpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEzMCB0ZXh0LXV0aWxzL3BnLmM6MTE1NgorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiTmluY3MgbWVudGV0dCBrZXJlc8Opc2kga2lmZWplesOpcyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICJlbG1lbnR2ZSIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIXBhcmFuY3MgbmVtIGhhc3puw6FsaGF0w7MgcmZsYWcgbcOzZGJhbi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiYSBmb3JrKCkgaMOtdsOhcyBtZWdoacO6c3VsdCwgcHLDs2LDoWxqYSDDumpyYSBrw6lzxZFiYlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKEvDtnZldGtlesWRIGbDoWpsOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgImhpYmEgYSB0ZXJtaW5mbyBvbHZhc8Ohc2Frb3IiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIklzbWVyZXRsZW4gZXNjYXBlLXNvcm96YXQgYSBiZW1lbmV0YmVuOiAlbywgJW9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiQSBiZW1lbmV0aSBzb3IgdMO6bCBob3NzesO6LlxuIgorCisjfiBtc2dpZCAiR2VvbWV0cnkiCisjfiBtc2dzdHIgIkdlb21ldHJpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICJhIHTDrXB1c3BhcmFuY3Nmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIMOpcmhldMWRIGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgIiVzOiBpc21lcmV0bGVuIGFyZ3VtZW50dW06ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRlc3QgbW9kZTogJXMgd2FzIG5vdCB1cGRhdGVkIHdpdGg6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgImZpZ3llbG1lenRldMOpczogYSh6KSAlcyBtw6FyIHTDoXJzw610dmEgdmFuIGEga8O2dmV0a2V6xZFow7Z6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIkEgY3PDunN6dGF0w6FzIHBhcmFtw6l0ZXJlaSBuZW0ga2Vyw7xsdGVrIGZyaXNzw610w6lzcmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGVzdCBtb2RlOiBlcG9jaCB3YXMgbm90IHNldCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiYSBzdGF0IHbDqWdyZWhhanTDoXNhIGF6IGVsw6lyw6lzaSDDunRvbiBtZWdoacO6c3VsdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiRWzDqXJoZXTFkSBwYXJhbmNzb2s6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiJXM6IHBvemljaW9uw6Fsw6FzaSBoaWJhIGEga8O2dmV0a2V6xZFuOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgIEV6IGEgc8O6Z8Ozc3rDtnZlZ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCisjfiBtc2dzdHIgIkVsw6lyaGV0xZEgcGFyYW5jc29rOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgYWRqYSBraSBhIOKAniVzIC0taGVscOKAnSBwYXJhbmNzb3QuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiTmluY3NlbmVrIGlzbWVydCBwYXJhbmNzw6lydGVsbWV6xZFrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1uczpcbiIKKyN+IG1zZ3N0ciAiRWzDqXJoZXTFkSBwYXJhbmNzb2s6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBuYW1laSBbLW14XSDDunR2b25hbCBbw7p0dm9uYWwgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiRWzDqXJoZXTFkSBwYXJhbmNzb2s6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgYWRqYSBraSBhIOKAniVzIC0taGVscOKAnSBwYXJhbmNzb3QuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCisjfiBtc2dzdHIgIkEgaGFyZHZlcsOzcmEgcmVnaXN6dGVyZWkgw6lydsOpbnl0ZWxlbiAocMOpbGTDoXVsIGEgaMOzbmFwIDUwLiBuYXBqYSkgdmFneSBhIGtlemVsaGV0xZFuIHTDumxpIHRhcnRvbcOhbnliYW4gbMOpdsWRIChww6lsZMOhdWwgMjA5NS3DtnMgw6l2KSDDqXJ0w6lrZXQgdGFydGFsbWF6bmFrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKKyN+IG1zZ3N0ciAiQSBoYXJkdmVyw7NyYSBuZW0gdGFydGFsbWF6IMOpcnbDqW55ZXMgaWTFkXQsIMOtZ3kgbmVtIGxlaGV0IGJlw6FsbMOtdGFuaSBhIHJlbmRzemVyaWTFkXQuXG4iCisKKyN+IG1zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorI34gbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjfiBtc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisjfiBtc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJSZW5kc3plcmdhemRhaSBqb2cgc3rDvGtzw6lnZXMgYSByZW5kc3plcsOzcmEgYmXDoWxsw610w6Fzw6Fob3ouXG4iCisKKyN+IG1zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorI34gbXNnc3RyICJBIGNzw7pzenRhdMOhc2kgdMOpbnllesWRIG5lbSBrZXLDvGwgYmXDoWxsw610w6FzcmEsIG1lcnQgYSBoYXJkdmVyw7NyYSBrb3LDoWJiYW4gc3plbWV0ZXQgdGFydGFsbWF6b3R0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IGFkanVzdCBpdC4iCisjfiBtc2dzdHIgIkEgaGFyZHZlcsOzcmEgbmVtIHRhcnRhbG1heiDDqXJ2w6lueWVzIGlkxZF0LCDDrWd5IG5lbSBsZWhldCBpZ2F6w610YW5pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIk5lbSBsZWhldCBsZWvDqXJuaSBheiBlcG9jaCDDqXJ0w6lrw6l0IGEgcmVuZHN6ZXJtYWdiw7NsLlxuIgorCisjfiBtc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorI34gbXNnc3RyICJBIHJlbmRzemVybWFnIGZlbHTDqXRlbGV6aSwgaG9neSBheiBlcG9jaCDDqXJ0w6lrZSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorI34gbXNnc3RyICJBIGJlw6FsbMOtdGFuZMOzIGVwb2NoIMOpcnTDqWsgbWVnYWTDoXPDoWhveiBoYXN6bsOhbGphIGF6IOKAnmVwb2No4oCdIGthcGNzb2zDs3QuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiQXogZXBvY2ggw6lydMOpa2UgbmVtIGtlcsO8bCBiZcOhbGzDrXTDoXNyYSAoJWQgw6lydMOpa3JlKSAtIGV6IGNzYWsgdGVzenQuXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorI34gbXNnc3RyICJOZW0gbGVoZXQgYmXDoWxsw610YW5pIGF6IGVwb2NoIMOpcnTDqWtldCBhIHJlbmRzemVybWFnYmFuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCisjfiBtc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjfiBtc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCisjfiBtc2dzdHIgIiVzIG5lbSByZW5kZWxrZXppayBtZWdzemFrw610w6FzaSBmdW5rY2nDs2trYWwuICIKKworI34gbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorI34gbXNnc3RyICJheiBpb2N0bCgpICVzIGjDrXbDoXMgYSBmcmlzc8OtdMOpc2kgbWVnc3pha8OtdMOhc29rIGJla2FwY3NvbMOhc8OhaG96IHbDoXJhdGxhbnVsIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZS4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCisjfiBtc2dzdHIgIkEgcmVuZHN6ZXJtYWcgZXBvY2ggw6lydMOpa8OpbmVrIGtlemVsw6lzw6loZXogZWwga2VsbCDDqXJuaSBhIExpbnV4IHJ0YyBlc3prw7Z6bWVnaGFqdMOzasOhdCBhIHNwZWNpw6FsaXMgJXMgZXN6a8O2embDoWpsb24ga2VyZXN6dMO8bC4gQSBmw6FqbCBlemVuIGEgcmVuZHN6ZXJlbiBuZW0gbMOpdGV6aWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisjfiBtc2dzdHIgImEoeikgJWxkIGVwb2NoIGJlb2x2YXN2YSBhKHopICVzIGVzemvDtnpyxZFsIGF6IFJUQ19FUE9DSF9SRUFEIGlvY3RsIHNlZ8OtdHPDqWfDqXZlbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICJBeiBlcG9jaCDDqXJ0w6lrZSBuZW0gbGVoZXQga2V2ZXNlYmIsIG1pbnQgMTkwMC4gQSBrw6lydCDDqXJ0w6lrOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCisjfiBtc2dzdHIgImF6IGVwb2NoIGJlw6FsbMOtdMOhc2EgJWxkIMOpcnTDqWtyZSBhKHopICVzIGVzemvDtnrDtm4gYXogUlRDX0VQT0NIX1NFVCBpb2N0bCBzZWfDrXRzw6lnw6l2ZWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKKyN+IG1zZ3N0ciAiQSByZW5kc3plcm1hZyAlcyBlc3prw7Z6bWVnaGFqdMOzasOhYmFuIG5pbmNzIFJUQ19FUE9DSF9TRVQgaW9jdGwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAlc1xuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IGFkamEga2kgYSDigJ4lcyAtLWhlbHDigJ0gcGFyYW5jc290LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCBhZGphIGtpIGEg4oCeJXMgLS1oZWxw4oCdIHBhcmFuY3NvdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorI34gbXNnc3RyICJFbMOpcmhldMWRIHBhcmFuY3NvazpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKKyN+IG1zZ3N0ciAiJXM6IGEga8O2dmV0a2V6xZEgbWVnbnlpdMOhc2EgbWVnaGnDunN1bHQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogQXogLS1hZGpmaWxlIMOpcyBhIC0tbm9hZGpmaWxlIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QsIGRlIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyN+IG1zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiQXogw7NyYSBuZW0gdsOhbHRvem90dCAtIGNzYWsgdGVzenQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJBIOKAni0tZGF0ZeKAnSBrYXBjc29sw7MgbmluY3MgbWVnYWR2YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCisjfiBtc2dzdHIgIkEgLS1kYXRlIHBhcmFtw6l0ZXJlIHTDumwgaG9zc3rDulxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyN+ICJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorI34gbXNnc3RyICIiCisjfiAiQSAtLWRhdGUga2FwY3NvbMOzIMOpcnTDqWtlIG5lbSBlZ3kgw6lydsOpbnllcyBkw6F0dW0uXG4iCisjfiAiUG9udG9zYWJiYW46IGlkw6l6xZFqZWxla2V0IHRhcnRhbG1hei5cbiIKKworI34gbXNnaWQgIklzc3VpbmcgZGF0ZSBjb21tYW5kOiAlc1xuIgorI34gbXNnc3RyICJEw6F0dW0gcGFyYW5jcyBraWFkw6FzYTogJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCisjfiBtc2dzdHIgIkEg4oCeZGF0ZeKAnSBwcm9ncmFtIG5lbSBmdXR0YXRoYXTDsyBhIC9iaW4vc2ggcGFyYW5jc8OpcnRlbG1lesWRYmVuLiBBIHBvcGVuKCkgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCisjfiBtc2dzdHIgImEgZGF0ZSBwYXJhbmNzIHbDoWxhc3phID0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAiQSh6KSAlcyDDoWx0YWwgbWVnaMOtdm90dCBkYXRlIHBhcmFuY3MgdsOhcmF0bGFuIGVyZWRtw6lueXQgYWRvdHQgdmlzc3phLlxuIgorI34gIkEga2lhZG90dCBwYXJhbmNzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJBIHbDoWxhc3o6XG4iCisjfiAiICAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBKHopICVzIMOhbHRhbCBtZWdow612b3R0IGRhdGUgcGFyYW5jcyBheiDDoXRhbGFrw610b3R0IGlkxZHDqXJ0w6lrIGhlbHnDqW4gbmVtIGVneSBlZ8Opc3ogc3rDoW1vdCBhZG90dCB2aXNzemEuXG4iCisjfiAiQSBraWFkb3R0IHBhcmFuY3M6XG4iCisjfiAiICAlc1xuIgorI34gIkEgdsOhbGFzejpcbiIKKyN+ICIgICVzXG4iCisKKyN+IG1zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCisjfiBtc2dzdHIgImEoeikgJXMgZMOhdHVtIGthcmFrdGVybMOhbmMgZWd5ZW5sxZEgJWxkIG3DoXNvZHBlcmNjZWwgMTk2OSDDs3RhLlxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCisjfiBtc2dzdHIgIkEgcmVuZHN6ZXLDs3JhIHRlc3p0IG3Ds2RiYW4gbmVtIGtlcsO8bCBiZcOhbGzDrXTDoXNyYS5cbiIKKworI34gbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCisjfiBtc2dzdHIgIkF6IGFkanRpbWUgZsOhamwgdGVzenQgbcOzZGJhbiBuZW0ga2Vyw7xsIG3Ds2Rvc8OtdMOhc3JhLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorI34gIiVzIgorI34gbXNnc3RyICIiCisjfiAiQSh6KSAlcyBmw6FqbGJhIGEga8O2dmV0a2V6xZEga2Vyw7xsdCB2b2xuYSBracOtcsOhc3JhOlxuIgorI34gIiVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorI34gIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyN+ICIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKKyN+IG1zZ3N0ciAiIgorI34gIkEgcmVuZHN6ZXJtYWcgYSBoYXJkdmVyw7Nyw6Fob3ogY3NhayBBbHBoYSBnw6lwZWtlbiB0w6Fyb2wgZXBvY2ggw6lydMOpa2V0LlxuIgorI34gIkEgaHdjb2xvY2sgZXplbiBtw6Fzb2xhdGEgbmVtIEFscGhhIGfDqXByZSBrw6lzesO8bHRcbiIKKyN+ICIow6lzIMOtZ3kgZmVsdMOpdGVsZXpoZXTFkWVuIG1vc3Qgc2VtIEFscGhhIGfDqXBlbiBmdXQpLiBOaW5jcyB0ZWVuZMWRLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtLWplbnNlbiwgLS1hcmMsIC0tc3JtLCAtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgICAgICAgICAgICBtZWdhZGphIGEgaHdjbG9ja25hayBhIGhhc3puw6FsdCBhbHBoYSBnw6lwIHTDrXB1c8OhdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIChsw6FzZCBhIGh3Y2xvY2soOCkga8Opemlrw7ZueXZvbGRhbHQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIkVsbsOpesOpc3QsIGNzYWsgYSByZW5kc3plcmdhemRhIG3Ds2Rvc8OtdGhhdGphIGEgaGFyZHZlcsOzcsOhdC5cbiIKKworI34gbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorI34gbXNnc3RyICJBKHopICVzIG5lbSB2w6FyIG5lbSBrYXBjc29sw7MgcGFyYW3DqXRlcmVrZXQuIEEga8O2dmV0a2V6xZF0IGFkdGEgbWVnOiAlZC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKKyN+IG1zZ3N0ciAiTmVtIGhhc3puw6FsaGF0w7MgYSBiZcOhbGzDrXRhbmTDsyBpZMWRLiBBeiDDs3JhIG5lbSDDoWxsw610aGF0w7MgYmUuXG4iCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgImEgTUlMTy1yw7NsIGluZHVsdFxuIgorCisjfiBtc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiUnVmZmlhbiBCQ0Qgw7NyYVxuIgorCisjfiBtc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKKyN+IG1zZ3N0ciAiYXogw7NyYXBvcnQgMHgleCDDqXJ0w6lraGV6IGlnYXrDrXR2YVxuIgorCisjfiBtc2dpZCAiZnVua3kgVE9ZIVxuIgorI34gbXNnc3RyICJzem9rYXRsYW4gVE9ZIChUaW1lIG9mIFllYXIpIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCisjfiBtc2dzdHIgIiVzOiBheiBhdG9taSAlcyBtZWdoacO6c3VsdCAxMDAwIGlzbcOpdGzDqXNiZW4hIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKKyN+IG1zZ3N0ciAiTmVtIHNpa2Vyw7xsdCBlbmdlZMOpbHl0IGthcG5pLCBtaXZlbCBuZW0gaXMgcHLDs2LDoWx0YW0uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCisjfiBtc2dzdHIgIiVzIG5lbSBrw6lwZXMgbWVna2FwbmkgYXogSS9PIHBvcnQgZWzDqXLDqXPDqXQuIEF6IGlvcGwoMykgaMOtdsOhc2EgbWVnaGnDunN1bHQuXG4iCisKKyN+IG1zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCisjfiBtc2dzdHIgIlZhbMOzc3rDrW7FsWxlZyByb290IGpvZ29zdWx0c8OhZyBzesO8a3PDqWdlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgIk5lbSDDoWxsw610aGF0w7MgYmUgYSBqZWx6w6lza2V6ZWzFkSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJOZW0gw6FsbMOtdGhhdMOzIGJlIGEgamVsesOpc2tlemVsxZEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGNzYWsgYSByZW5kc3plcmdhemRhIGNzYXRvbGhhdGphIGEoeikgJXMgZXN6a8O2enQgYSh6KSAlcyBoZWx5cmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlMiRzJTEkcyDDrXLDoXN2w6lkZXR0LCBjc2F0b2zDoXMgY3NhayBvbHZhc2hhdMOza8OpbnQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gaGF0w6Fyb3poYXTDsyBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c2Egw6lzIG5lbSBpcyBhZHRhIGF6dCBtZWciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogbWVnIGtlbGwgYWRuaWEgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIm1vdW50OiBhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJhIGNzYXRvbMOhcyBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBtw6FyIGNzYXRvbHZhIHZhbiBhKHopICVzIGFsw6FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBtw6lnIG5pbmNzIGNzYXRvbHZhLCB2YWd5IGEga2FwY3NvbMOzIGhpYsOhcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorI34gIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChzesOhbW9zIGbDoWpscmVuZHN6ZXIgKHDDqWxkw6F1bCBuZnMsIGNpZnMpIGVzZXTDqW4gc3rDvGtzw6lnZXNcbiIKKyN+ICIgICAgICAgbGVoZXQgZWd5IC9zYmluL21vdW50Ljx0w61wdXM+IHNlZ8OpZHByb2dyYW0pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIEVneWVzIGVzZXRla2JlbiBoYXN6bm9zIGluZm9ybcOhY2nDs2sgdGFsw6FsaGF0w7NrIGEgc3lzbG9nYmFuXG4iCisjfiAiICAgICAgIHByw7Niw6FsamEga2lhZG5pIGEgZG1lc2cgfCB0YWlsIHBhcmFuY3NvdCB2YWd5IGVneSBlaGhleiBoYXNvbmzDs3RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgImF6b25vc8OtdGF0bGFuIGJlbWVuZXQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgImEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisjfiAiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorI34gbXNnc3RyICIiCisjfiAidW1vdW50OiAlczogYXogZXN6a8O2eiBmb2dsYWx0LlxuIgorI34gIiAgICAgICAgKEVneWVzIGVzZXRla2JlbiBheiBlc3prw7Z6dCBoYXN6bsOhbMOzIGZvbHlhbWF0b2tyw7NsIGhhc3pub3NcbiIKKyN+ICIgICAgICAgICBpbmZvcm3DoWNpw7NrYXQgdGFsw6FsIGF6IGxzb2YoOCkgdmFneSBmdXNlcigxKSkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5lbSB0YWzDoWxoYXTDsyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKKyN+IG1zZ3N0ciAiYmVmZWplemV0bGVuIMOtcsOhcyBhIGvDtnZldGtlesWRYmU6IOKAniVz4oCdIChracOtcnZhOiAlbGQsIHbDoXJ0OiAlbGQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiQWRqYSBtZWcgYSBjaWxpbmRlcmVrIHN6w6Ftw6F0OiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIkEg4oCeLS1kYXRl4oCdIGthcGNzb2zDsyBuaW5jcyBtZWdhZHZhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorI34gbXNnc3RyICJhIGd5w7Zrw6lyIGlub2RlIG5lbSBrw7ZueXZ0w6FyIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlcnQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAiJXMgbmVtIMOpcmhldMWRIGVsIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAiYSB2w6FydCBzesOhbSBoZWx5ZXR0IOKAniVz4oCdIHRhbMOhbGhhdMOzIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICLigJ4lc+KAnSBlbHbDoWxhc3p0w7MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICIlczogUGFyYW3DqXRlcmhpYmEsIGhhc3puw6FsYXQ6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIkEgYmVtZW5ldGkgc29yIHTDumwgaG9zc3rDui5cbiIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAiaGliw6FzIGlkxZFrb3Jsw6F0w6lydMOpazogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgImF6IGVsc8WRIHNvciB1dMOhbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiYXogZWxzxZEgc29yIHV0w6FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBub3Qgc2V0dXAgdGltZXIiCisjfiBtc2dzdHIgImEgY3NvcG9ydGF6b25vc8OtdMOzIG5lbSDDoWxsw610aGF0w7MgYmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiTsOpdiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEoeikg4oCeJXPigJ0gZsOhamwiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiYSh6KSAlcyBuZW0gZWd5IHNwZWNpw6FsaXMgYmxva2tvcyBlc3prw7Z6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgZm9nbGFsdCIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIHJlanRldHQgQzogbWVnaGFqdMOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgZXN6a8O2eiBpc21lcmV0bGVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIG3DoXNvZHBlcmNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAiw7x6ZW5ldGVrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiTmFneW9uICglenUgYsOhanQpIGhvc3N6w7ogZsOhamxuw6l2OiDigJ4lc+KAnS5cbiIKKyN+ICJOw7Z2ZWxqZSBhIE1BWF9JTlBVVF9OQU1FTEVOIMOpcnTDqWtldCBheiBta2NyYW1mcy5jLWJlbiDDqXMgZm9yZMOtdHNhIMO6anJhLiBLaWzDqXDDqXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm5lbSBsZWhldCBwdWZmZXJ0IGxlZm9nbGFsbmkgYSBzenVwZXJibG9ra25hayIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgIm5lbSBsZWhldCBwdWZmZXJla2V0IGxlZm9nbGFsbmkgYSB0w6lya8OpcGVrbmVrIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIm5lbSBsZWhldCBwdWZmZXJla2V0IGxlZm9nbGFsbmkgYXogaW5vZGUtb2tuYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnVtYmVyIG9mIFNlbWFwaG9yZSBJRHMiCisjfiBtc2dzdHIgIlN6ZWt0b3JvayBzesOhbWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWy1jIHwgLWwgZsOhamxuw6l2XSBbLW5YWF0gWy1pWFhdIC9kZXYvbsOpdiBbYmxva2tva11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgImhpYsOhcyBpbm9kZSBtw6lyZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInTDrXB1czogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJsZW1lejogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJjw61ta2U6ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgImplbHrFkWs6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJzemVrdG9yb25rw6ludGkgYsOhanRvazogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzw6F2b25rw6ludGkgc3pla3Rvcm9rOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAiY2lsaW5kZXJlbmvDqW50aSBzw6F2b2s6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAiY2lsaW5kZXJlbmvDqW50aSBzemVrdG9yb2s6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjaWxpbmRlcmVrOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJmb3JkdWxhdHN6w6FtOiAlZFxuIgorCisjIGZpeG1lOiB2YWxhbWkgw6lydGVsbWVzZXQKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgIsOhdHJlbmRlesOpczogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3NrZXc6ICVkIgorI34gbXNnc3RyICJzw6F2ZMO2bnTDqXM6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZCIKKyN+IG1zZ3N0ciAiY2lsaW5kZXJkw7ZudMOpczogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgImZlanbDoWx0w6FzOiAlbGRcdFx0IyBlenJlZG3DoXNvZHBlcmNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInPDoXZyw7NsIHPDoXZyYSBwb3ppY2lvbsOhbMOhczogJWxkXHQgZXpyZWRtw6Fzb2RwZXJjXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uczogJWQiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlZCBwYXJ0w61jacOzOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIiIKKyN+ICJBIHBhcnTDrWNpw7N0IG5lbSB2w6FsdG96dGF0aGF0w7Mga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzdsOhIHZhZ3kgdmlzc3phXG4iCisjfiAiRWzFkXN6w7ZyIHTDtnLDtmxqZSBsZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgbGVtZXogKFNHSSBsZW1lemPDrW1rZSk6ICVkIGZlaiwgJWxsdSBzemVrdG9yXG4iCisjfiAiJWQgY2lsaW5kZXIsICVkIGZpemlrYWkgY2lsaW5kZXJcbiIKKyN+ICIlZCBleHRyYSBzemVrdC9jaWwsIMOhdHJlbmRlesOpczogJWQ6MVxuIgorI34gIiVzXG4iCisjfiAiRWd5c8OpZyA9ICVzLCDDtnNzemVzZW4gJWQgKiAlZCBiw6FqdFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAibmluY3MiCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJhIGdldHRpbWVvZmRheSBow612w6FzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJheiBmc3luYyBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBsYXN0IFstI10gWy1mIGbDoWpsXSBbLXQgdGVybWluw6FsXSBbLWggZ8OpcG7DqXZdIFtmZWxoYXN6bsOhbMOzIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgYmVqZWxlbnRrZXp2ZSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAga2V6ZGV0ZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICJoaWJhOiBheiBVVUlEIGZlbGRvbGdvesOhcyBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibWVnc3pha8OtdHZhOiAlMTAuMTBzICU1LjVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWF1dG8vLWEgb3B0aW9uIgorI34gbXNnc3RyICLDqXJ2w6lueXRlbGVuIGF6b25vc8OtdMOzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgU3lzdGVtIENsb2NrLiIKKyN+IG1zZ3N0ciAiRWxuw6l6w6lzdCwgY3NhayBhIHJlbmRzemVyZ2F6ZGEgbcOzZG9zw610aGF0amEgYSByZW5kc3plcsOzcsOhdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJFbG7DqXrDqXN0LCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSBtw7Nkb3PDrXRoYXRqYSBhIGhhcmR2ZXLDs3JhIGVwb2NoIMOpcnTDqWvDqXQgYSByZW5kc3plcm1hZ2Jhbi5cbiIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSByZWFkKCkgJXMgaMOtdsOhcyBheiDDs3Jhw7x0w6lzcmUgdsOhcmFrb3rDoXNob3ogbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgInJ0YyByaWFzenTDoXMgYmXDoWxsw610w6FzYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAicnRjIHJpYXN6dMOhcyBlbmdlZMOpbHllesOpc2UiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgVmVyemnDs2luZm9ybcOhY2nDs2sga2nDrXLDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgICAgIE5pbmNzIG5vcm3DoWwga2ltZW5ldFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICBWZXJ6acOzaW5mb3Jtw6FjacOzayBracOtcsOhc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICJheiBvbHZhc8OhcyBtZWdoacO6c3VsdDogJXMiCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJBIGNmZGlzayBzw7pnw7NqYSIKKworI34gbXNnaWQgImRpc2sgZHJpdmUuIgorI34gbXNnc3RyICJtZXJldmxlbWV6ZW4uIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB2YWd5IOKAnm5lbeKAnSBiZcOtcsOhc8OhdmFsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJOaW5jc2VuZWsgcGFydMOtY2nDs2sgbWVnYWR2YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJheiBlbMOpcsOpcyBtZWdoacO6c3VsdDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgIm5lbSBmb2dsYWxoYXTDsyBsZSBraW1lbmV0aSBwdWZmZXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzIgorI34gbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgbWVnaGnDunN1bHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiTMOpdHJlIGFrYXIgaG96bmkgbGVtZXpjw61ta8OpdD8gKGkvbikgIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlR5cGUgb2YgdGhlIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyByZW5kc3plcnTDrXB1c2EgdsOhbHRvemF0bGFuOiAleCAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIkEgc3dhcCBmZWpsw6ljbcOpcmV0ZSBoaWLDoXMsIG5lbSBrZXLDvGx0IGtpw61yw6FzcmEgY8OtbWtlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgInBvemljaW9uw6Fsw6FzaSBoaWJhIGEoeikgJXMgZXN6a8O2esO2biAtIG5lbSBsZWhldCBhKHopICVsdSBoZWx5cmUgcG96aWNpb27DoWxuaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZXJyb3I6IHdhbnRlZCAweCUwOHglMDh4LCBnb3QgMHglMDh4JTA4eCIKKyN+IG1zZ3N0ciAicG96aWNpb27DoWzDoXNpIGhpYmE6IGEgdsOhcnQgMHglMDh4JTA4eCBoZWx5ZXR0IDB4JTA4eCUwOHggw6lya2V6ZXR0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJvbHZhc8Ohc2kgaGliYSBhKHopICVzIGVzemvDtnrDtm4gLSBhKHopICVsdS4gc3pla3RvciBuZW0gb2x2YXNoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICLDrXLDoXNpIGhpYmEgYSh6KSAlcyBlc3prw7Z6w7ZuIC0gbmVtIGxlaGV0IMOtcm5pIGEoeikgJWx1LiBzemVrdG9ycmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJuZW0gbnlpdGhhdMOzIG1lZyBhIHBhcnTDrWNpw7Mgc3pla3Rvcm1lbnTDqXMgZsOhamxqYSAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIsOtcsOhc2kgaGliYSBhKHopICVzIGVzemvDtnrDtm5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIm5lbSDDqXJoZXTFkSBlbCBhIHBhcnTDrWNpw7Mgdmlzc3phw6FsbMOtdMOzZsOhamxqYSAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgImEgcGFydMOtY2nDsyB2aXNzemHDoWxsw610w7Nmw6FqbGrDoW5hayBtw6lyZXRlIGhpYsOhcyAtIG5lbSBrZXLDvGwgdmlzc3phw6FsbMOtdMOhc3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJhIHBhcnTDrWNpw7Mgdmlzc3phw6FsbMOtdMOzZsOhamxqYSBuZW0gbnlpdGhhdMOzIG1lZyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAiaGliYSBhKHopICVzIG9sdmFzw6FzYWtvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAiYSh6KSAlcyBlc3prw7Z6IG5lbSBueWl0aGF0w7MgbWVnIMOtcsOhc3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJoaWJhIGEoeikgJWx1LiBzemVrdG9yIMOtcsOhc2Ega8O2emJlbiBhKHopICVzIGVzemvDtnrDtm5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICIlcyBsZW1lejogbmVtIGvDqXJoZXTFkSBsZSBhIGdlb21ldHJpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiJXMgbGVtZXo6IG5lbSBrw6lyaGV0xZEgbGUgYSBtw6lyZXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJGaWd5ZWxtZXp0ZXTDqXM6IEtlemTDqXM9JWx1IC0gZXogcGFydMOtY2nDs25hayB0xbFuaWsgw6lzIG5lbSBhIHRlbGplc1xuIgorI34gImxlbWV6bmVrLiBBeiBmZGlzayBoYXN6bsOhbGF0YSB2YWzDs3N6w61uxbFsZWcgw6lydGVsbWV0bGVuLiBbSGEgdmFsw7NiYW5cbiIKKyN+ICJlenQgYWthcmphLCBha2tvciBhIC0tZm9yY2Uga2FwY3NvbMOzdmFsIHRlaGV0aSBtZWddXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSBIRElPX0dFVEdFTyAlbHUgZmVqIGplbGVubMOpdMOpdMOpdCBqZWx6aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSBIRElPX0dFVEdFTyAlbHUgc3pla3RvciBqZWxlbmzDqXTDqXTDqXQgamVsemlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIEJMS0dFVFNJWkUvSERJT19HRVRHRU8gJWx1IGNpbGluZGVyIGplbGVubMOpdMOpdMOpdCBqZWx6aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIkZpZ3llbG1lenRldMOpczogYSBzemVrdG9yb2sgc3rDoW1hICglbHUpIHZhbMOzc3rDrW7FsXRsZW4gLSDDoWx0YWzDoWJhblxuIgorI34gImxlZ2ZlbGplYmIgNjMuIEV6IGEgcHJvYmzDqW3DoWthdCBmb2cgb2tvem5pIGF6IMO2c3N6ZXMgQy9IL1MgY8OtbXrDqXN0XG4iCisjfiAiaGFzem7DoWzDsyBzem9mdHZlcmJlbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBsZW1lejogJWx1IGNpbGluZGVyLCAlbHUgZmVqLCAlbHUgc3pla3RvciBzw6F2b25rw6ludFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgaGVhZDogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICJBKHopICQlMnMgcGFydMOtY2nDsyAkJTFzIMOpcnTDqWtlIGxlaGV0ZXRsZW4gZmVqc3rDoW1vdCBhZCBtZWc6ICQlM2x1ICgwLSQlNGx1IGvDtnrDtnR0IGtlbGxlbmUgbGVubmllKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIkEoeikgJCUycyBwYXJ0w61jacOzICQlMXMgw6lydMOpa2UgbGVoZXRldGxlbiBzemVrdG9yc3rDoW1vdCBhZCBtZWc6ICQlM2x1ICgwLSQlNGx1IGvDtnrDtnR0IGtlbGxlbmUgbGVubmllKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIkEoeikgJCUycyBwYXJ0w61jacOzICQlMXMgw6lydMOpa2UgbGVoZXRldGxlbiBjaWxpbmRlcnN6w6Ftb3QgYWQgbWVnOiAkJTNsdSAoMC0kJTRsdSBrw7Z6w7Z0dCBrZWxsZW5lIGxlbm5pZSlcbiIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEgw7pqcmFvbHZhc8Ohc2EgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJBIHBhcnTDrWNpw7NzIHTDoWJsYSDDumpyYW9sdmFzw6FzIHBhcmFuY3NhIG1lZ2hpw7pzdWx0XG4iCisjfiAiSW5kw610c2Egw7pqcmEgbW9zdCBhIHJlbmRzemVydCBheiBta2ZzIGhhc3puw6FsYXRhIGVsxZF0dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXMiCisjfiBtc2dzdHIgIkhpYmEgYSh6KSAlcyBsZXrDoXLDoXNha29yXG4iCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IG5pbmNzIGlseWVuIHBhcnTDrWNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiaXNtZXJldGxlbiBmb3Jtw6F0dW0gLSBhIHN6ZWt0b3JvayBrZXLDvGxuZWsgZmVsaGFzem7DoWzDoXNyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgIm1lZ3ZhbMOzc8OtdGF0bGFuIGZvcm3DoXR1bSAtIGEoeikgJXMga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmFcbiIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInN6ZWt0b3JvayIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZ3lzw6lnID0gJWx1IGLDoWp0b3MgY2lsaW5kZXJlaywgMTAyNCBiw6FqdG9zIGJsb2trb2ssIGtlemTFkXNvcnN6w6FtOiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgRXN6a8O2eiBJbmTDrXTDoXMgS2V6ZGV0IFbDqWdlICAgICNjaWxsICAgICNibG9rayAgIEF6ICBSZW5kc3plclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVneXPDqWcgPSA1MTIgYsOhanRvcyBzemVrdG9yb2ssIGtlemTFkXNvcnN6w6FtOiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICBFc3prw7Z6IEluZMOtdMOhcyBLZXpkZXQgICAgICBWw6lnZSAgICNzemVrdG9yICBBeiBSZW5kc3plclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVneXPDqWcgPSAxMDI0IGLDoWp0b3MgYmxva2tvaywga2V6ZMWRc29yc3rDoW06ICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgIEVzemvDtnogSW5kw610w6FzICBLZXpkZXQgICAgVsOpZ2UgICAgICNibG9rayAgIEF6ICBSZW5kc3plclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVneXPDqWcgPSAxMDQ4NTc2IGLDoWp0b3MgbWViaWLDoWp0LCAxMDI0IGLDoWp0b3MgYmxva2tvaywga2V6ZMWRc29yc3rDoW06ICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiRXN6a8O2eiBJbmTDrXTDoXMgS2V6ZGV0IFbDqWdlICAgIE1pQiAgICNibG9ra29rICAgQXogIFJlbmRzemVyXG4iCisKKyN+IG1zZ2lkICJcdFx0c3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRrZXpkZXQ6IChjLGgscykgdsOhcnQ6ICglbGQsJWxkLCVsZCkgdGFsw6FsdDogKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdHbDqWdlOiAoYyxoLHMpIHbDoXJ0OiAoJWxkLCVsZCwlbGQpIHRhbMOhbHQ6ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAiYSBwYXJ0w61jacOzIGEoeikgJWxkIGNpbGluZGVyZW4gdsOpZ3rFkWRpaywgYSBsZW1leiB2w6lnZSB1dMOhblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJGaWd5ZWxtZXp0ZXTDqXM6IMOaZ3kgdMWxbmlrLCBhIHBhcnTDrWNpw7NzIHTDoWJsYSBhXG4iCisjfiAiICBDL0gvUz0qLyVsZC8lbGQgw6lydMOpa2VraGV6IGvDqXN6w7xsdCAoJWxkLyVsZC8lbGQgaGVseWV0dCkuXG4iCisjfiAiRWhoZXogYSBsaXN0w6Fob3ogZXogbGVzeiBhIGZlbHTDqXRlbGV6ZXR0IGdlb21ldHJpYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBwYXJ0aXRpb24gdGFibGUgcHJlc2VudC4iCisjfiBtc2dzdHIgIm5pbmNzIGplbGVuIHBhcnTDrWNpw7NzIHTDoWJsYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgImZ1cmNzYSwgY3NhayAlZCBwYXJ0w61jacOzIHZhbiBtZWdhZHZhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJXMgcGFydMOtY2nDsyBtw6lyZXRlIDAsIGRlIG5pbmNzIMO8cmVza8OpbnQgbWVnamVsw7ZsdmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlcyBwYXJ0w61jacOzIG3DqXJldGUgMCDDqXMgaW5kw610aGF0w7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIHBhcnTDrWNpw7MgbcOpcmV0ZSAwIMOpcyBuZW0gbnVsbMOhcsOzbCBpbmR1bFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBpcyBub3QgY29udGFpbmVkIGluIHBhcnRpdGlvbiAlcyIKKyN+IG1zZ3N0ciAibmVtIHLDqXN6ZSBhKHopICVzIHBhcnTDrWNpw7NuYWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJWQuIHBhcnTDrWNpw7Mgw7xyZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJGaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJXMgdGFydGFsbWF6emEgYSBwYXJ0w61jacOzcyB0w6FibGEgZWd5IHLDqXN6w6l0XG4iCisjfiAiKCVsdS4gc3pla3Rvcikgw6lzIG1lZ3NlbW1pc8OtdGkgYXp0IGEga2l0w7ZsdMOpc2tvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlcyBwYXJ0w61jacOzIGEgMC4gc3pla3Rvcm7DoWwga2V6ZMWRZGlrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhKHopICVzIHBhcnTDrWNpw7MgdMO6bG55w7psaWsgYSBsZW1lemVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIkF6IGVsc8WRZGxlZ2VzIHBhcnTDrWNpw7NrIGvDtnrDvGwgbGVnZmVsamViYiBlZ3kgbGVoZXQga2l0ZXJqZXN6dGV0dFxuIgorI34gIihub2hhIGV6IExpbnV4IGFsYXR0IG5lbSBwcm9ibMOpbWEpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlcyBwYXJ0w61jacOzIG5lbSBjaWxpbmRlcmhhdMOhcm9uIGtlemTFkWRpay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlcyBwYXJ0w61jacOzIG5lbSBjaWxpbmRlcmhhdMOhcm9uIHbDqWd6xZFkaWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJGaWd5ZWxtZXp0ZXTDqXM6IHTDtmJiIGVsc8WRZGxlZ2VzIHBhcnTDrWNpw7MgdmFuIGluZMOtdGhhdMOza8OpbnQgbWVnamVsw7ZsdmUuXG4iCisjfiAiRXogbmVtIHByb2Jsw6ltYSBhIExJTE8tbmFrLCBkZSBhIERPUyBNQlIgbmVtIGZvZyBlbGluZHVsbmkgZXJyxZFsIGEgbGVtZXpyxZFsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAiRmlneWVsbWV6dGV0w6lzOiDDoWx0YWzDoWJhbiBjc2FrIGVsc8WRZGxlZ2VzIHBhcnTDrWNpw7Nyw7NsIGxlaGV0IHJlbmRzemVydFxuIgorI34gImluZMOtdGFuaS4gQSBMSUxPIG5lbSB2ZXN6aSBmaWd5ZWxlbWJlIGF6IOKAnmluZMOtdGhhdMOz4oCdIGplbHrFkXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiRmlneWVsbWV6dGV0w6lzOiBuZW0gZWxzxZFkbGVnZXMgcGFydMOtY2nDsyB2YW4gbWVnamVsw7ZsdmUgaW5kw610aGF0w7Nrw6ludCAoYWt0w612KS5cbiIKKyN+ICJFeiBuZW0gcHJvYmzDqW1hIGEgTElMTy1uYWssIGRlIGEgRE9TIE1CUiBuZW0gZm9nIGVsaW5kdWxuaSBlcnLFkWwgYSBsZW1lenLFkWwuXG4iCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAia2V6ZGV0IgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICIiCisjfiAiJXMgcGFydMOtY2nDszoga2V6ZGV0ZTogKGMsaCxzKSBhIHbDoXJ0ICglbGQsJWxkLCVsZCkgaGVseWV0dFxuIgorI34gIiglbGQsJWxkLCVsZCkgdGFsw6FsaGF0w7NcbiIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAidsOpZyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIiIKKyN+ICIlcyBwYXJ0w61jacOzOiB2w6lnZTogKGMsaCxzKSBhIHbDoXJ0ICglbGQsJWxkLCVsZCkgaGVseWV0dFxuIgorI34gIiglbGQsJWxkLCVsZCkgdGFsw6FsaGF0w7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJhIHBhcnTDrWNpw7MgKCVzKSBhKHopICVsZC4gY2lsaW5kZXJlbiB2w6lnesWRZGlrLCBhIGxlbWV6IHbDqWdlIGVsxZF0dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAiRmlneWVsbWV6dGV0w6lzOiBhIGtpdGVyamVzenRldHQgcGFydMOtY2nDsyBrZXpkZXRlIGVsdG9sdmE6ICVsZCAtPiAlbGRcbiIKKyN+ICIoQ3NhayBracOtcmF0w6FzaG96LiBOZSB2w6FsdG96dGFzc2EgbWVnIGEgdGFydGFsbcOhdC4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkZpZ3llbG1lenRldMOpczogYSBraXRlcmplc3p0ZXR0IHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6FybsOhbCBrZXpkxZFkaWsuXG4iCisjfiAiQSBET1Mgw6lzIExpbnV4IGEgdGFydGFsbcOhdCBlbHTDqXLFkWVuIGZvZ2phIMOpcnRlbG1lem5pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkVSUk9SOiBzZWN0b3IgJWxsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZSIKKyN+IG1zZ3N0ciAiSElCQTogYSh6KSAlbHUuIHN6ZWt0b3IgbmVtIHJlbmRlbGtlemlrIG1zZG9zIGFsw6HDrXLDoXNzYWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAidMO6bCBzb2sgcGFydMOtY2nDsyAtIGEoeikgJWQuIHV0w6FuaWFrIGZpZ3llbG1lbiBrw612w7xsIG1hcmFkbmFrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAicGFydMOtY2nDs2ZhP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAiYXogw6lyesOpa2VsdCBEaXNrIE1hbmFnZXIgbmVtIGtlemVsaGV0xZFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJETTYgYWzDocOtcsOhc3QgdGFsw6FsaGF0w7MgLSBmZWxhZG9tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgImZ1cmNzYS4uLiBhIGtpdGVyamVzenRldHQgcGFydMOtY2nDsyBtw6lyZXRlIDA/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgImZ1cmNzYS4uLiBhIEJTRCBwYXJ0w61jacOzIG3DqXJldGUgMD9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJtZWdhZHRhIGEgLW4ga2FwY3NvbMOzdDogU2VtbWkgc2VtIG3Ds2Rvc3VsdFxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJOZW0gc2lrZXLDvGx0IGVsbWVudGVuaSBhIHLDqWdpIHN6ZWt0b3Jva2F0IC0gbWVnc3pha8OtdMOhc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIk5lbSBzaWtlcsO8bHQgYSBwYXJ0w61jacOzIGtpw61yw6FzYSBhKHopICVzIGVzemvDtnrDtm5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJob3NzesO6IHZhZ3kgaGnDoW55b3MgYmVtZW5ldGkgc29yIC0ga2lsw6lww6lzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiYmVtZW5ldGkgaGliYTogYSh6KSAlcyBtZXrFkXQg4oCePeKAnSBqZWxuZWsga2VsbGVuZSBrw7Z2ZXRuaWVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImJlbWVuZXRpIGhpYmE6IHbDoXJhdGxhbiBrYXJha3RlciAoJWMpIGEoeikgJXMgbWV6xZEgdXTDoW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQ6ICVzIgorI34gbXNnc3RyICJhem9ub3PDrXRhdGxhbiBiZW1lbmV0OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICJhIHN6w6FtIHTDumwgbmFneVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyIgorI34gbXNnc3RyICJiZWZlamV6xZEgc3plbcOpdCBlZ3kgc3rDoW0gdXTDoW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyByb29tIGZvciBwYXJ0aXRpb24gZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAibmluY3MgaGVseSBhIHBhcnTDrWNpw7NsZcOtcsOzbmFrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAibmVtIGxlaGV0IGZlbMOpcMOtdGVuaSBhIGvDtnLDvGx2ZXbFkSBraXRlcmplc3p0ZXR0IHBhcnTDrWNpw7N0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJ0w7psIHNvayBiZW1lbmV0aSBtZXrFkVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIk5pbmNzIGhlbHkgdMO2YmIgZWxlbSBzesOhbcOhcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbGxlZ2FsIHR5cGUiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gdMOtcHVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogZ2l2ZW4gc2l6ZSAoJWxsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsbHUpIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEgbWVnYWRvdHQgbcOpcmV0ICglbHUpIHTDumxsw6lwdGUgYXogZW5nZWTDqWx5ZXpoZXTFkSBsZWduYWd5b2JiIG3DqXJldGV0ICglbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IMO8cmVzIHBhcnTDrWNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBoaWLDoXMgYSBwYXJ0w61jacOzIGtlemRldGUgKGxlZ2Vsc8WRICVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgImF6b25vc8OtdGF0bGFuIGluZMOtdGhhdMOzIGplbHrFkSAtIHbDoWxhc3N6YSBhIC0gdmFneSAqIGVneWlrw6l0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAicsOpc3psZWdlcyBjLGgscyBtZWdoYXTDoXJvesOhcz9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkIgorI34gbXNnc3RyICJBIGtpdGVyamVzenRldHQgcGFydMOtY2nDsyBuZW0gYSB2w6FydCBoZWx5ZW4gdmFuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJoaWLDoXMgYmVtZW5ldFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgInTDumwgc29rIHBhcnTDrWNpw7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGphIGF6IGFsw6FiYmkgZm9ybcOhdDsgYSBoacOhbnl6w7MgbWV6xZFrIGFsYXDDqXJ0ZWxtZXpldHQgw6lydMOpa2V0IGthcG5hay5cbiIKKyN+ICI8a2V6ZGV0PiA8bcOpcmV0PiA8dMOtcHVzIFtFLFMsTCxYLGhleF0+IDxpbmTDrXRoYXTDsyBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiw4FsdGFsw6FiYW4gY3NhayBhIDxrZXpkZXQ+IMOpcyBhIDxtw6lyZXQ+IG1lZ2Fkw6FzYSBzesO8a3PDqWdlcyAow6lzIG7DqWhhIGEgPHTDrXB1cz4pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICJWZXN6w6lseWVzIGthcGNzb2zDs2s6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgICAgLWcgW3ZhZ3kgLS1zaG93LWdlb21ldHJ5XToga2nDrXJqYSBhIGdlb21ldHJpw6F0IGEgcGFydMOtY2nDs3MgdMOhYmxhIGFsYXBqw6FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIC14IFt2YWd5IC0tc2hvdy1leHRlbmRlZF06IGZlbHNvcm9samEgYSBraWLFkXbDrXRldHQgcGFydMOtY2nDs2thdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhZ3kgbGXDrXLDs2thdCB2w6FyIGhvenrDoWp1ayBhIGJlbWVuZXRyxZFsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiJXMgZXN6a8O2elx0XHQgYXogZXN6a8O2eiBha3TDrXYgcGFydMOtY2nDs2luYWsgZmVsc29yb2zDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgbjEgbjIgLi4uICBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIlcyBlc3prw7Z6IG4xIG4yLi4uICBheiBuMS4uLiBwYXJ0w61jacOzayBha3RpdsOhbMOhc2EsIGEgdMO2YmJpIGRlYWt0aXbDoWzDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiYSBzb3JvayBzesOhbWEgw6lydsOpbnl0ZWxlbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgImhhc3puw6FsYXQ6IHNmZGlzayAtLXByaW50LWlkIGVzemvDtnogcGFydMOtY2nDs3N6w6FtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAiaGFzem7DoWxhdDogc2ZkaXNrIC0tY2hhbmdlLWlkIGVzemvDtnogcGFydMOtY2nDs3N6w6FtIGF6b25vc8OtdMOzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIFtJZF0iCisjfiBtc2dzdHIgImhhc3puw6FsYXQ6IHNmZGlzayAtLWlkIGVzemvDtnogcGFydMOtY2nDs3N6w6FtIFthem9ub3PDrXTDs11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAiY3NhayBlZ3kgZXN6a8O2eiBhZGhhdMOzIG1lZyAoa2l2w6l2ZSBhIC1sIHZhZ3kgLXMga2FwY3NvbMOzdClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIMOtcsOhc3JhIMOpcyBvbHZhc8Ohc3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWcgb2x2YXPDoXNyYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IFJlbmRiZW5cbiIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgY2lsaW5kZXIsICVsZCBmZWosICVsZCBzw6F2IHN6ZWt0b3JvbmvDqW50XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAiaGliw6FzIGFrdMOtdiBiw6FqdDogMHgleCBhIDB4ODAgaGVseWV0dFxuIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiS8Opc3oiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiJWQgYWt0w612IGVsc8WRZGxlZ2VzIHBhcnTDrWNpw7MgdGFsw6FsaGF0w7MuIEV6IG5lbSBwcm9ibMOpbWEgYSBMSUxPLW5haywgZGUgYSBET1NcbiIKKyN+ICJNQlIgY3NhayBhIHBvbnRvc2FuIGVneSBha3TDrXYgcGFydMOtY2nDs3QgdGFydGFsbWF6w7MgbGVtZXpyxZFsIGvDqXBlcyBlbGluZHVsbmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzIGhhcyBpZCAleCBhbmQgaXMgbm90IGhpZGRlbiIKKyN+IG1zZ3N0ciAiYSh6KSAlcyBwYXJ0w61jacOzIGF6b25vc8OtdMOzamEgJXggw6lzIG5lbSByZWp0ZXR0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIElkICVseCIKKyN+IG1zZ3N0ciAiSGliw6FzIGF6b25vc8OtdMOzOiAlbHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIkEgbGVtZXogamVsZW5sZWcgaGFzem7DoWxhdGJhbiB2YW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJWw6lnemV0ZXMgaGliYTogYSh6KSDigJ4lc+KAnSBuZW0gdGFsw6FsaGF0w7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlcyBuZW0gYmxva2tlc3prw7Z6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIlJlbmRiZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbmVtIGzDqXRlemlrLCBuZW0gbGVoZXQgbcOzZG9zw610YW5pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiTmVtIHN6ZXJldGVtIGV6ZWtldCBhIHBhcnTDrWNpw7NrYXQgLSBzZW1taXQgc2VtIHbDoWx0b3pvdHQuXG4iCisjfiAiKEhhIHTDqW55bGVnIGV6dCBha2FyamEsIGhhc3puw6FsamEgYSAtLWZvcmNlIGthcGNzb2zDs3QuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIk5lbSBzemVyZXRlbSBlenQgLSBBasOhbmxvdHQgYSBOZW0gdsOhbGFzelxuIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIkVsw6lnZWRldHQgZXp6ZWw/IFt5bnFdICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiS2lsw6lww6lzIC0gc2VtbWkgc2VtIHbDoWx0b3pvdHRcbiIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIkF6IHksIG4sIHEgKGlnZW4sIG5lbSwga2lsw6lww6lzKSBlZ3lpa8OpdmVsIHbDoWxhc3pvbGpvblxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiQXogw7pqIHBhcnTDrWNpw7NzIHTDoWJsYSBzaWtlcmVzZW4ga2nDrXJ2YVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkhhIERPUyBwYXJ0w61jacOzdCBob3pvdHQgbMOpdHJlIHZhZ3kgbcOzZG9zw610b3R0LCBww6lsZMOhdWw6IC9kZXYvZm9vNywgYWtrb3JcbiIKKyN+ICJoYXN6bsOhbGphIGEgZGQoMSkgcGFyYW5jc290IGF6IGVsc8WRIDUxMiBiw6FqdCBraW51bGzDoXrDoXNob3o6XG4iCisjfiAiZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihOw6l6emUgbWVnIGF6IGZkaXNrKDgpIGvDqXppa8O2bnl2b2xkYWx0KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJGSUdZRUxNRVpURVTDiVM6IEhhIERPUyA2LnggcGFydMOtY2nDs3QgaG96b3R0XG4iCisjfiAibMOpdHJlIHZhZ3kgbcOzZG9zw610b3R0LCBha2tvciB0b3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydFxuIgorI34gIm9sdmFzc2EgZWwgYSBjZmRpc2sga8Opemlrw7ZueXYgb2xkYWzDoXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgImEgbWV6xZEgdMO6bCBob3NzesO6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczog4oCeJWPigJ0gbmVtIGVuZ2Vkw6lseWV6ZXR0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIkEoeikg4oCeJWPigJ0gbmVtIGVuZ2Vkw6lseWV6ZXR0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogQSB2ZXrDqXJsxZFrYXJha3RlcmVrIG5lbSBlbmdlZMOpbHllemV0dGVrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIkEgdmV6w6lybMWRa2FyYWt0ZXJlayBuZW0gZW5nZWTDqWx5ZXpldHRlay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBjc2FrIGhlbHlpIGJlamVneXrDqXNlayBtw7Nkb3PDrXRoYXTDs2ssIGhhc3puw6FsamEgaW5rw6FiYiBheiB5cCVzIGxlaGV0xZFzw6lnZXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIEVsc8WRICAgICBVdG9sc8OzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBtZW3Ds3JpYWZvZ2xhbMOhcyBzaWtlcnRlbGVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkEg4oCeLS1kYXRl4oCdIGthcGNzb2zDsyBuaW5jcyBtZWdhZHZhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICBFeiBhIHPDumfDs3N6w7Z2ZWdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgIFZlcnppw7NpbmZvcm3DoWNpw7NrIGtpw61yw6FzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogbmFtZWkgWy1teF0gw7p0dm9uYWwgW8O6dHZvbmFsIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG5hbWVpKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0YXNrc2V0KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiIGVsdMOhdm9sw610aGF0w7MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbSDDoWxsw610aGF0w7MgYmUgYSBmZWxoYXN6bsOhbMOzYXpvbm9zw610w7M6ICVzIgorCisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0ciAiJWQgbcOhc29kcGVyYyBiZXN6w7pyw6FzYSBzesO8a3PDqWdlcyDDqXMgYXogaWTFkSB2aXNzemHDoWxsw610w6FzYSAlLjZmIG3DoXNvZHBlcmNjZWxcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICJJc23DqXRlbHQgdsOhcmFrb3rDoXMgYSBtZWd2w6FsdG96dGF0YW5kw7MgaWTFkXJlIGEgS0RHSFdDTEstdMWRbFxuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiQXogaWTFkSBiZW9sdmFzw6FzYSDDqXJkZWvDqWJlbiBraWFkb3R0IEtER0hXQ0xLIGlvY3RsIG1lZ2hpw7pzdWx0IgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJBeiBpZMWRIGJlb2x2YXPDoXNhIMOpcmRla8OpYmVuIGtpYWRvdHQgS0RHSFdDTEsgaW9jdGwgaXNtw6l0ZWx0ZW4gbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBpZGVqw6luZWsgYmVvbHZhc8Ohc2Egw6lyZGVrw6liZW4ga2lhZG90dCBpb2N0bCgpIG1lZ2hpw7pzdWx0IgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJhIEtEU0hXQ0xLIGlvY3RsIG1lZ2hpw7pzdWx0IgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICJOZW0gbnlpdGhhdMOzIG1lZyBhIC9kZXYvdHR5MSB2YWd5IC9kZXYvdmMvMSBlc3prw7Z6IgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJhIEtEU0hXQ0xLIGlvY3RsIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2NwdSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIHByb2dyYW0gW2FyZ3VtZW50dW0gLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmVuaWNlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhhc3puw6FsYXQ6ICVzJXMgW2thcGNzb2zDs2tdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50dW1haV1dXG4iCisjfiAiXG4iCisjfiAiS2FwY3NvbMOzazpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIi4uLnZpc3N6YSAxIG9sZGFsbGFsIgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIi4uLiBlZ3kgc29yIGtpaGFnecOhc2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZXYoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbm8tYXJndW1lbnQgICAgICAgb3B0aW9uIGRvZXMgbm90IHVzZSBhcmd1bWVudFxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICIlczogYSBrYXBjc29sw7MgYXJndW1lbnR1bW90IGlnw6lueWVsIC0tICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICAgICBOaW5jcyBub3Jtw6FsIGtpbWVuZXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWYsIC0tZm9vYmFyICAgICAgICAgICAgbmV4dCBvcHRpb24gZGVzY3JpcHRpb24gcmVzZXRzIGluZGVudFxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgRXogYSBzw7pnw7NzesO2dmVnXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgImEgcHJvZ3JhbSBhIC14IHTDoW1vZ2F0w6FzYSBuw6lsa8O8bCBsZXR0IGxlZm9yZMOtdHZhIgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBBIG1lbcOzcmlhIGVsZm9neW90dCFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJIYXN6bsOhbGhhdGF0bGFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICJheiDDrXLDoXMgbWVnaGnDunN1bHQ6ICVzIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJBIGxlbWV6IG1lZ3bDoWx0b3pvdHQuXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAiQSByZW5kc3plciDDumpyYWluZMOtdMOhc8OhdmFsIGJpenRvc8OtdGhhdGphIGEgcGFydMOtY2nDs3MgdMOhYmxhIG1lZ2ZlbGVsxZEgZnJpc3PDrXTDqXPDqXQuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRklHWUVMTUVaVEVUw4lTOiBIYSBET1MgNi54IHBhcnTDrWNpw7N0IGhvem90dFxuIgorI34gImzDqXRyZSB2YWd5IG3Ds2Rvc8OtdG90dCwgYWtrb3IgdG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnRcbiIKKyN+ICJvbHZhc3NhIGVsIGEgY2ZkaXNrIGvDqXppa8O2bnl2IG9sZGFsw6F0LlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIlbDiUdaRVRFUyBISUJBICIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIsOcc3PDtm4gbGUgZWd5IGJpbGxlbnR5xbF0IGEga2lsw6lww6lzaGV6IgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IHBvemljaW9uw6FsbmkgYSBsZW1lem1lZ2hhanTDs24iCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJBIGxlbWV6bWVnaGFqdMOzIG5lbSBvbHZhc2hhdMOzIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkEgbGVtZXptZWdoYWp0w7MgbmVtIMOtcmhhdMOzIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiVMO6bCBzb2sgcGFydMOtY2nDsyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJBIHBhcnTDrWNpw7MgYSAwLiBzemVrdG9yIGVsxZF0dCBrZXpkxZFkaWsiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkEgcGFydMOtY2nDsyBhIDAuIHN6ZWt0b3IgdXTDoW4gZmVqZXrFkWRpayBiZSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIkEgcGFydMOtY2nDsyBhIGxlbWV6IHbDqWdlIHV0w6FuIGtlemTFkWRpayIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJBIHBhcnTDrWNpw7MgYSBsZW1lem1lZ2hhanTDsyB1dMOhbiB2w6lnesWRZGlrIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJhIGxvZ2lrYWkgcGFydMOtY2nDs2sgbmluY3NlbmVrIGEgbGVtZXpsaXN0w6FiYW4iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibG9naWthaSBwYXJ0w61jacOzayBmZWRpayBlZ3ltw6FzdCIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJtZWduw7Z2ZWx0IGxvZ2lrYWkgcGFydMOtY2nDs2sgZmVkaWsgZWd5bcOhc3QiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiQmVsc8WRIGhpYmEgbG9naWthaSBwYXJ0w61jacOzIGtpdGVyamVzenRldHQgcGFydMOtY2nDsyBuw6lsa8O8bGkgbMOpdHJlaG96w6FzYSBzb3LDoW4hIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJOZW0gaG96aGF0w7MgbMOpdHJlIGxvZ2lrYWkgbWVnaGFqdMOzIC0tIGV6IGvDqXQga2l0ZXJqZXN6dGV0dCBwYXJ0w61jacOzdCBob3puYSBsw6l0cmUiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiQSBtZW7DvGVsZW0gdMO6bCBob3NzesO6LiBBIG1lbsO8IGZ1cmNzw6FuIGplbGVuaGV0IG1lZy4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBiaWxsZW50ecWxIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLDmmogZWxzxZFkbGVnZXMgcGFydMOtY2nDsyBsw6l0cmVob3rDoXNhIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICLDmmogbG9naWthaSBwYXJ0w61jacOzIGzDqXRyZWhvesOhc2EiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIk3DqWdzZW0iCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5lIGhvenpvbiBsw6l0cmUgcGFydMOtY2nDs3QiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgQmVsc8WRIGhpYmEgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIk3DqXJldCAoTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIktlemRldCIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlBhcnTDrWNpw7MgaG96esOhYWTDoXNhIGEgc3phYmFkIHRlcsO8bGV0IGVsZWrDqW4iCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJQYXJ0w61jacOzIGhvenrDoWFkw6FzYSBhIHN6YWJhZCB0ZXLDvGxldCB2w6lnw6luIgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTmluY3MgaGVseSBhIGtpdGVyamVzenRldHQgcGFydMOtY2nDsyBsw6l0cmVob3rDoXPDoWhveiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiTmluY3MgcGFydMOtY2nDs3MgdMOhYmxhLiBJbmTDrXTDoXMgw7xyZXMgdMOhYmzDoXZhbC4iCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEgYWzDocOtcsOhc2EgaGliw6FzIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiQSBwYXJ0w61jacOzcyB0w6FibGEgdMOtcHVzYSBpc21lcmV0bGVuIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiw5xyZXMgdMOhYmzDoXZhbCBzemVyZXRuZSBpbmR1bG5pIFtpL05dPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEgbGVtZXptZWdoYWp0w7MiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJBIG1lZ255aXRvdHQgbGVtZXogY3NhayBvbHZhc2hhdMOzIC0gbmluY3Mgam9nYSDDrXJuaSByw6EiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IGxla8OpcmRlem5pIGEgbGVtZXogbcOpcmV0w6l0IgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJIaWLDoXMgZWxzxZFkbGVnZXMgcGFydMOtY2nDsyIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogZXogbWVnc2VtbWlzw610aGV0aSBhIGxlbWV6ZW4gdGFsw6FsaGF0w7MgYWRhdGFpdCEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiQXog4oCeaWdlbuKAnSB2YWd5IOKAnm5lbeKAnSBlZ3lpa8OpdCDDrXJqYSBiZSIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIlBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EgYSBsZW1lenJlLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIkEgcGFydMOtY2nDs3MgdMOhYmxhIGtpw61ydmEgYSBsZW1lenJlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJBIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcnZhLCBkZSDDumpyYW9sdmFzbmkgbmVtIHNpa2Vyw7xsdC4gw5pqcmFpbmTDrXTDoXMgc3rDvGtzw6lnZXMuIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIkVneSBlbHPFkWRsZWdlcyBwYXJ0w61jacOzIHNpbmNzIGluZMOtdGhhdMOza8OpbnQga2lqZWzDtmx2ZS4gQSBET1MgTUJSIGV6dCBuZW0gdHVkamEgZWxpbmTDrXRhbmkuIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIlTDtmJiIGVsc8WRZGxlZ2VzIHBhcnTDrWNpw7MgdmFuIGluZMOtdGhhdMOza8OpbnQga2lqZWzDtmx2ZS4gQSBET1MgTUJSIGV6dCBuZW0gdHVkamEgZWxpbmTDrXRhbmkuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIkFkam9uIG1lZyBmw6FqbG5ldmV0IHZhZ3kgbnlvbWphIG1lZyBheiBFTlRFUi10IGEga8OpcGVybnnFkSBtZWdqZWxlbsOtdMOpc2hlejogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAiTGVtZXptZWdoYWp0w7M6ICVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAiMC4gc3pla3RvcjpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiJWQuIHN6ZWt0b3I6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICBOaW5jcyAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiICAgRWxzL0xvZyIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiAgIEVsc8WRZGxlZ2VzIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgTG9naWthaSIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiTmluY3MiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIkEoeikg4oCeJXPigJ0gcGFydMOtY2nDs3MgdMOhYmzDoWphXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIEVsc8WRICAgICBVdG9sc8OzXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFTDrXB1cyAgICAgU3pla3RvciAgIFN6ZWt0b3IgICBFbHRvbMOhcyAgIEhvc3N6ICBGw6FqbHJlbmRzemVyIFTDrXB1cyAoSUQpICBKZWx6xZFcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tS2V6ZGV0LS0gICAgICAgICAgLS0tVsOpZy0tLSAgICAgICBLZXpkZXQgICAgIFN6w6FtXG4iCisKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgSmVsesWRayBGZWogU3pla3QgQ2lsICAgSUQgIEZlaiBTemVrdG9yIENpbCAgICBTemVrdG9yIFN6ZWt0b3Jva1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJOeWVycyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIlTDoWJsYSBtZWdqZWxlbsOtdMOpc2UgbnllcnMgZm9ybcOhYmFuIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiVMOhYmxhIG1lZ2plbGVuw610w6lzZSBzemVrdG9yb2sgc3plcmludCIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJUw6FibMOhemF0IgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJDc2FrIG1lZ2plbGVuw610aSBhIHBhcnTDrWNpw7NzIHTDoWJsw6F0IgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJOZSBqZWxlbmplbiBtZWcgYSB0w6FibGEiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIEEgY2lsaW5kZXItLCBmZWotLCDDqXMgc8Ohdm9ua8OpbnRpIHN6ZWt0b3JzesOhbSBtw7Nkb3PDrXTDoXNhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEZJR1lFTE1FWlRFVMOJUzogRXp0IGEgbGVoZXTFkXPDqWdldCBjc2FrIGFra29yIGhhc3puw6FsamEsIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBoYSB0dWRqYSwgaG9neSBtaXQgY3NpbsOhbC4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBBeiBha3R1w6FsaXMgcGFydMOtY2nDsyBsZW1lemtpaGFzem7DoWzDoXPDoW5hayBtYXhpbWFsaXrDoWzDoXNhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE1lZ2plZ3l6w6lzOiBFeiBpbmtvbXBhdGliaWxpc3PDqSB0ZWhldGkgYSBwYXJ0w61jacOzdCBhICIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIERPUy1zYWwsIE9TLzItdmVsLCAuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgQSBwYXJ0w61jacOzcyB0w6FibGEga2nDrXLDoXNhIGEga8OpcGVybnnFkXJlIHZhZ3kgZsOhamxiYSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFN6w6Ftb3Mga8O8bMO2bmLDtnrFkSBwYXJ0w61jacOzZm9ybcOhdHVtIGzDqXRlemlrLCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgYW1lbHllayBrw7Z6w7xsIHbDoWxhc3p0aGF0OiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIE55ZXJzIGFkYXRvayAocG9udG9zYW4gYXosIGFtaSBraSBsZXN6IMOtcnZhIGEgbGVtZXpyZSkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUw6FibMOhemF0IHN6ZWt0b3JvayBzemVyaW50IHJlbmRlenZlIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIEEgcGFydMOtY2nDs23DqXJldCBraWplbHrDqXNpIGVneXPDqWfDqW5layBtZWd2w6FsdG96dGF0w6FzYSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFbDoWxhc3p0aGF0IE1CLW9rLCBzemVrdG9yb2sgw6lzIGNpbGluZGVyZWsga8O2esO2dHQiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDdHJsLUwgICAgICAgw5pqcmFyYWp6b2xqYSBhIGvDqXBlcm55xZF0IgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgRXogYSBrw6lwZXJuecWRIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJDaWxpbmRlcmVrIGdlb21ldHJpw6Fqw6FuYWsgbWVndsOhbHRvenRhdMOhc2EiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRmVqZWsgZ2VvbWV0cmnDoWrDoW5hayBtZWd2w6FsdG96dGF0w6FzYSIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlN6ZWt0b3JvayBnZW9tZXRyacOhasOhbmFrIG1lZ3bDoWx0b3p0YXTDoXNhIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJBIGdlb21ldHJpYSBtZWd2w6FsdG96dGF0w6FzYSBrw6lzeiIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIkFkamEgbWVnIGEgY2lsaW5kZXJlayBzesOhbcOhdDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gY2lsaW5kZXLDqXJ0w6lrIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJBZGphIG1lZyBhIGZlamVrIHN6w6Ftw6F0OiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGZlanN6w6FtIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJBZGphIG1lZyBhIHPDoXZvbmvDqW50aSBzemVrdG9yb2sgc3rDoW3DoXQ6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBzemVrdG9yc3rDoW0iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiQWRqYSBtZWcgYSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhdDogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJBIGbDoWpscmVuZHN6ZXIgdMOtcHVzYSBuZW0gbcOzZG9zw610aGF0w7Mgw7xyZXNyZSIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiQSBmw6FqbHJlbmRzemVyIHTDrXB1c2EgbmVtIG3Ds2Rvc8OtdGhhdMOzIGtpdGVyamVzenRldHRyZSIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiSXNtKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIkVscy9Mb2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiSXNtZXJldGxlbiAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiTGVtZXptZWdoYWp0w7M6ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiTcOpcmV0OiAlbGxkIGLDoWp0LCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJNw6lyZXQ6ICVsbGQgYsOhanQsICVsbGQuJWxsZCBHQiIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAiRmVqZWs6ICVkICAgU8Ohdm9ua8OpbnRpIHN6ZWt0b3JzesOhbTogJWQgICBDaWxpbmRlcmVrOiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICJQYXJ0LiB0w61wdXMiCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICJGUiB0w61wdXMiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbQ8OtbWtlXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICBTemVrdG9yb2siCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRlcmVrIgorCisjfiBtc2dpZCAiICBTaXplIChNQikiCisjfiBtc2dzdHIgIiAgTcOpcmV0IChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBNw6lyZXQgKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTmluY3MgdMO2YmIgcGFydMOtY2nDsyIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJBIGxlbWV6Z2VvbWV0cmlhIG3Ds2Rvc8OtdMOhc2EgKGNzYWsgaGFsYWTDs2tuYWspIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1heGltYWwuIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1heGltYWxpesOhbGphIGF6IGFrdHXDoWxpcyBwYXJ0w61jacOzIGxlbWV6a2loYXN6bsOhbMOhc8OhdCAoY3NhayBoYWxhZMOzbmFrKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJNZWduw6l6w6lzIgorCisjfiBtc2dpZCAiQ2hhbmdlIHRoZSBmaWxlc3lzdGVtIHR5cGUgKERPUywgTGludXgsIE9TLzIgYW5kIHNvIG9uKSIKKyN+IG1zZ3N0ciAiQSBmw6FqbHJlbmRzemVyIHTDrXB1c8OhbmFrIG3Ds2Rvc8OtdMOhc2EgKERPUywgTGludXgsIE9TLzIsIHN0YikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiRWd5c8OpZyIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIkEgcGFydMOtY2nDs23DqXJldCBraWplbHrDqXNpIGVneXPDqWfDqW5layBtZWd2w6FsdG96dGF0w6FzYSAoTUIsIFN6ZWt0LiwgQ2lsLikiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiRXogYSBwYXJ0w61jacOzIG5lbSB0ZWhldMWRIGluZMOtdGhhdMOzdsOhIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5lbSB0w7Zyw7ZsaGV0IMO8cmVzIHBhcnTDrWNpw7N0IgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJOZW0gbWF4aW1hbGl6w6FsaGF0amEgZXp0IGEgcGFydMOtY2nDs3QiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiRXogYSBwYXJ0w61jacOzIGhhc3puw6FsaGF0YXRsYW4iCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAiRXogYSBwYXJ0w61jacOzIG3DoXIgaGFzem7DoWxhdGJhbiB2YW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiw5xyZXMgcGFydMOtY2nDsyB0w61wdXNhIG5lbSBtw7Nkb3PDrXRoYXTDsyIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBwYXJhbmNzIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gbXNnc3RyICIgICAgLUgjIFt2YWd5IC0taGVhZHMgI106ICAgICAgYSBoYXN6bsOhbGFuZMOzIGZlanN6w6FtIGJlw6FsbMOtdMOhc2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgICAgIE5lbSBpZMOpesWRamVsZXppIGEga2ltZW5ldGV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAgZCAgICAgICAgICBBeiBha3R1w6FsaXMgcGFydMOtY2nDsyB0w7ZybMOpc2UiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgIGMgICBhIGNpbGluZGVyZWsgc3rDoW3DoW5hayBtw7Nkb3PDrXTDoXNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgImEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiZSAgIGtpdGVyamVzenRldHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5DIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiQmXDoWxsw610w6FzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIkV6IG5lbSB0xbFuaWsgcGFydMOtY2nDs3MgdMOhYmzDoW5ha1xuIgorI34gIlZhbMOzc3rDrW7FsWxlZyBuZW0gYSBtZWdmZWxlbMWRIGVzemvDtnp0IHbDoWxhc3p0b3R0YSBraS5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICIlbGQgYmxva2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgIlN6ZWt0b3JvayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiRWd5bcOhc3Qgw6F0ZmVkxZEgcGFydMOtY2nDs2sgbGVzem5layBhIGxlbWV6ZW4uIEVsxZFzesO2ciBqYXbDrXRzYSBlenQga2khXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAiSmVsZWsiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAiZmlneWVsbWV6dGV0w6lzOiBoaWJhIGEga8O2dmV0a2V6xZEgb2x2YXPDoXNha29yOiAlczolcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IG5lbSBueWl0aGF0w7MgbWVnIGEga8O2dmV0a2V6xZE6ICVzOiVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gbnlpdGhhdMOzIG1lZyAtIGhlbHlldHRlIGEoeikgJXMga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmFcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImEoeikgJXMgesOhcm9sw6FzaSBmw6FqbCBuZW0gaG96aGF0w7MgbMOpdHJlOiAlcyAoaGFzem7DoWxqYSBhIC1uIGthcGNzb2zDs3QgYSBmZWzDvGxiw61yw6Fsw6FzaG96KSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJhKHopICVzIHrDoXJvbMOhc2kgZsOhamxyYSBuZW0gaG96aGF0w7MgbMOpdHJlIGxpbms6ICVzIChoYXN6bsOhbGphIGEgLW4ga2FwY3NvbMOzdCBhIGZlbMO8bGLDrXLDoWzDoXNob3opIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImEoeikgJXMgesOhcm9sw6FzaSBmw6FqbCBuZW0gbnlpdGhhdMOzIG1lZzogJXMgKGhhc3puw6FsamEgYSAtbiBrYXBjc29sw7N0IGEgZmVsw7xsYsOtcsOhbMOhc2hveikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IHrDoXJvbG5pIGEoeikgJXMgesOhcm9sw6FzaSBmw6FqbHQ6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIk5lbSBsZWhldCB6w6Fyb2xuaSBhKHopICVzIHrDoXJvbMOhc2kgZsOhamx0OiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAiTmVtIGxlaGV0IGzDqXRyZWhvem5pIGEoeikgJXMgbGlua2V0XG4iCisjfiAiTGVoZXQsIGhvZ3kgZWd5IGVsw6FydnVsdCBhIHrDoXJvbMOhc2kgZsOhamwgbWlhdHQ/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAibmVtIG55aXRoYXTDsyBtZWcgYSh6KSAlcyBmw6FqbCAoJXMpIC0gYXogbXRhYiBuZW0gZnJpc3PDvGx0IgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImhpYmEgYSh6KSAlcyDDrXLDoXNha29yOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGZmbHVzaCBjaGFuZ2VzOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IG5lbSBob3poYXTDsyBsw6l0cmUgbGluayBhKHopICVzIGbDoWpscmE6ICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJoaWJhIGEoeikgJXMgbcOzZGrDoW5hayBtw7Nkb3PDrXTDoXNha29yOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImhpYmEgYSh6KSAlcyB0dWxhamRvbm9zw6FuYWsgbcOzZG9zw610w6FzYWtvcjogJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmVtIG5ldmV6aGV0xZEgw6F0ICVzIG7DqXZyZTogJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBoZWx5dGVsZW7DvGwgaWTDqXrFkWplbGV6ZXR0IGthcGNzb2zDsy1rYXJha3RlcnNvcm96YXQ6IOKAniVz4oCdIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIOKAniVz4oCdIGxlZm9yZMOtdHZhIGEga8O2dmV0a2V6xZFyZTog4oCeJXPigJ1cbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogYXogbXRhYiBhbGFwasOhbiBhKHopICVzIG3DoXIgY3NhdG9sdmEgdmFuIGEga8O2dmV0a2V6xZFuOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGF6IG10YWIgYWxhcGrDoW4gYSh6KSAlcyBhIGvDtnZldGtlesWRIGFsw6EgdmFuIGNzYXRvbHZhOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzIGZvciB3cml0aW5nOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWcgw61yw6FzcmE6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogaGliYSBhKHopICVzIMOtcsOhc2Frb3I6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogaGliYSBhKHopICVzIG3Ds2Rqw6FuYWsgbcOzZG9zw610w6FzYWtvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogbmVtIMOhbGzDrXRoYXTDsyBiZSBhIGNzb3BvcnRhem9ub3PDrXTDszogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gw6FsbMOtdGhhdMOzIGJlIGEgZmVsaGFzem7DoWzDs2F6b25vc8OtdMOzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gaW5kw610aGF0w7MgYSBwcm9ncmFtOiAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICJLw61zw6lybGV0OiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbSBhZHRhIG1lZyBhIGvDtnZldGtlesWRIGbDoWpscmVuZHN6ZXLDqXQ6ICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBLw61zw6lybGV0IGEoeikgJXMgdmFneSBhKHopICVzIGbDoWpsYmFuIGVtbMOtdGV0dCDDtnNzemVzIHTDrXB1c3NhbFxuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgIMOpcyDDumd5IHTFsW5paywgZXogZWd5IGxhcG96w7N0ZXLDvGxldFxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICBLw61zw6lybGV0IGEoeikgJXMgdMOtcHVzc2FsXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyBsYXBvesOzdGVyw7xsZXRuZWsgdMWxbmlrIC0gbmVtIGtlcsO8bHQgY3NhdG9sw6FzcmEiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGNzYWsgYSByZW5kc3plcmdhemRhIGNzYXRvbGhhdGphIGEoeikgJXMgZXN6a8O2enQgYSh6KSAlcyBoZWx5cmUiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogYSBodXJva2VzemvDtnp0IGvDqXRzemVyIGFkdGEgbWVnIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogYSB0w61wdXN0IGvDqXRzemVyIGFkdGEgbWVnIgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhIGh1cm9rZXN6a8O2eiBiZcOhbGzDrXTDoXPDoW5hayBraWhhZ3nDoXNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgaHVyb2tlc3prw7Z6IGtlcsO8bCBmZWxoYXN6bsOhbMOhc3JhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBheiBtdGFiIGFsYXBqw6FuIGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4gaHVyb2tlc3prw7Z6a8OpbnQgYSBrw7Z2ZXRrZXrFkW46ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wZGV2IGNvbnRleHQiCisjfiBtc2dzdHIgIk5lbSBmb2dsYWxoYXTDsyBsZSBwdWZmZXJ0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibmVtIGxlaGV0IHZpc3N6YcOhbGzDrXRhbmkgYSBsYXBvesOzdGVyw7xsZXQtZXN6a8O2enQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogYSBodXJva2VzemvDtnogYmXDoWxsw610w6FzYSBtZWdoacO6c3VsdFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgaHVyb2tlc3prw7Z6IGtlcsO8bCBmZWxoYXN6bsOhbMOhc3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgaHVyb2tlc3prw7Z6IGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCBzZXR0aW5nIHVwIGxvb3AgZGV2aWNlOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgaHVyb2tlc3prw7Z6IGJlw6FsbMOtdMOhc2EgbWVnaGnDunN1bHRcbiIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgaHVyb2tlc3prw7Z6dCBlZ3kgbcOhc2lrIGZvbHlhbWF0IGVsbG9wdGEuLi4gw7pqcmFwcsOzYsOhbG9tXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIGh1cm9rZXN6a8O2enQgZWd5IG3DoXNpayBmb2x5YW1hdCBlbGxvcHRhIgorCisjfiBtc2dpZCAibW91bnQ6IHNldHVwIGxvb3AgZGV2aWNlIHN1Y2Nlc3NmdWxseVxuIgorI34gbXNnc3RyICJtb3VudDogYSBodXJva2VzemvDtnogYmXDoWxsw610w6FzYSBzaWtlcsO8bHRcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbSB0YWzDoWxoYXTDsyBhKHopICVzIC0gbMOpdHJlaG96w6FzLi4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIGEgc2ViZXNzw6lnIGJlw6FsbMOtdMOhc8OhaG96IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbSDDoWxsw610aGF0w7MgYmUgYSBzZWJlc3PDqWc6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGF6IG10YWIgYWxhcGrDoW4gYSh6KSAlcyBtw6FyIGNzYXRvbHZhIHZhbiBhIGvDtnZldGtlesWRbjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLXdyaXRlLlxuIgorI34gbXNnc3RyICJ1bW91bnQ6IGEoeikgJXMgZm9nbGFsdCAtIMO6anJhY3NhdG9sdmEgY3NhayBvbHZhc2hhdMOza8OpbnRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgInVtb3VudDogYSh6KSAlcyBmb2dsYWx0IC0gw7pqcmFjc2F0b2x2YSBjc2FrIG9sdmFzaGF0w7Nrw6ludFxuIgorCisjfiBtc2dpZCAibW91bnQ6IEkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogbmVtIGhhdMOhcm96aGF0w7MgbWVnIGEgZsOhamxyZW5kc3plciB0w61wdXNhIMOpcyBuZW0gaXMgYWR0YSBhenQgbWVnIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lZyBrZWxsIGFkbmlhIGEgZsOhamxyZW5kc3plciB0w61wdXPDoXQiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogYSBjc2F0b2zDoXMgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgbmVtIGVneSBrw7ZueXZ0w6FyIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogaG96esOhZsOpcsOpcyBtZWd0YWdhZHZhIgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnQ6IGNzYWsgYSByZW5kc3plcmdhemRhIGhhc3puw6FsaGF0amEgYSBtb3VudCBwYXJhbmNzb3QiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYyBhbHJlYWR5IG1vdW50ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBhIHByb2MgZsOhamxyZW5kc3plciBtw6FyIGNzYXRvbHZhIHZhbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbcOhciBjc2F0b2x2YSB2YW4sIHZhZ3kgYSh6KSAlcyBmb2dsYWx0IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgbmVtIGzDqXRlemlrIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgZWd5IHN6aW1ib2xpa3VzIGxpbmsgYSBzZW1taWJlIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBzcGVjacOhbGlzIGVzemvDtnogbmVtIGzDqXRlemlrIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogYSh6KSAlcyBzcGVjacOhbGlzIGVzemvDtnogbmVtIGzDqXRlemlrXG4iCisjfiAiICAgICAgIChheiBlbMOpcsOpc2kgw7p0IGVneSBlbMWRdGFnamEgbmVtIGvDtm55dnTDoXIpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBoaWLDoXMgZsOhamxyZW5kc3plcnTDrXB1cywgaGliw6FzIGthcGNzb2zDsywgaGliw6FzIHN6dXBlcmJsb2trIGEoeilcbiIKKyN+ICIgICAgICAgJXMgZXN6a8O2esO2biwgaGnDoW55esOzIGvDs2RsYXAgdmFneSBzZWfDqWRwcm9ncmFtLCB2YWd5IGVnecOpYiBoaWJhIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChsZWhldCwgaG9neSBleiBlZ3kgSURFIGVzemvDtnosIG1pa8O2emJlbiBpZGUtc2NzaS10XG4iCisjfiAiICAgICAgIGhhc3puw6FsLCDDrWd5IGF6IHNyMCB2YWd5IHNkYSB2YWd5IGhhc29ubMOzIHN6w7xrc8OpZ2VzPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAobGVoZXQsIGhvZ3kgZWd5IGtpdGVyamVzenRldHQgcGFydMOtY2nDs3QgcHLDs2LDoWwgY3NhdG9sbmlcbiIKKyN+ICIgICAgICAgYXogw6FsdGFsYSB0YXJ0YWxtYXpvdHQgdmFsYW1lbHlpayBsb2dpa2FpIHBhcnTDrWNpw7MgaGVseWV0dD8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgRWd5ZXMgZXNldGVrYmVuIGhhc3pub3MgaW5mb3Jtw6FjacOzayB0YWzDoWxoYXTDs2sgYSBzeXNsb2diYW5cbiIKKyN+ICIgICAgICAgcHLDs2LDoWxqYSBraWFkbmkgYSBkbWVzZyB8IHRhaWwgcGFyYW5jc290IHZhZ3kgZWd5IGVoaGV6IGhhc29ubMOzdFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gbGVoZXQgb2x2YXNuaSBhKHopICVzIHN6dXBlcmJsb2trasOhdCIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIGVzemvDtnogaXNtZXJldGxlbiIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudDogaXNtZXJldGxlbiBmw6FqbHJlbmRzemVydMOtcHVzOiDigJ4lc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0YWzDoW4gYSBrw7Z2ZXRrZXrFkXJlIGdvbmRvbHQ6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogdGFsw6FuIGF6IOKAnmlzbzk2NjDigJ0gdMOtcHVzcmEgZ29uZG9sdD8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiB0YWzDoW4gYSDigJ52ZmF04oCdIHTDrXB1c3JhIGdvbmRvbHQ/IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgZXN6a8O2enN6w6FtYSBoaWLDoXMgdmFneSBhKHopICVzIGbDoWpscmVuZHN6ZXIgbmVtIHTDoW1vZ2F0b3R0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gYmxva2tlc3prw7Z6IMOpcyBheiBlbMOpcsOpcyBtZWdoacO6c3VsdC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZVxuIgorI34gIiAgICAgICAobWF5YmUgYG1vZHByb2JlIGRyaXZlcic/KSIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBhIHJlbmRzemVybWFnIG5lbSBpc21lcmkgZmVsIGEoeikgJXMgYmxva2tlc3prw7Z6dFxuIgorI34gIiAgICAgICAodGFsw6FuIGtpIGtlbGxlbmUgYWRuaWEgYXog4oCeaW5zbW9kIG1lZ2hhanTDs+KAnSBwYXJhbmNzb3Q/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UgKG1heWJlIHRyeSBgLW8gbG9vcCc/KSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbmVtIGJsb2trZXN6a8O2eiAocHLDs2LDoWxqYSBoYXN6bsOhbG5pIGEg4oCeLW8gbG9vcOKAnSBrYXBjc29sw7N0KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSBibG9ra2VzemvDtnoiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBuZW0gZWd5IMOpcnbDqW55ZXMgYmxva2tlc3prw7Z6IgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJTIkcyUxJHMgbmVtIGNzYXRvbGhhdMOzIMOtcsOhc3bDqWRldHRrw6ludCIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlMiRzJTEkcyDDrXLDoXN2w6lkZXR0LCBkZSBtZWdhZMOhc3JhIGtlcsO8bHQgYSDigJ4td+KAnSBrYXBjc29sw7MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCByZW1vdW50ICVzJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlMiRzJTEkcyBuZW0gY3NhdG9saGF0w7Mgw61yw6FzdsOpZGV0dGvDqW50IgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICUyJHMlMSRzIMOtcsOhc3bDqWRldHQsIGNzYXRvbMOhcyBjc2FrIG9sdmFzaGF0w7Nrw6ludCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBtw6FyIGNzYXRvbHZhIHZhbiBhKHopICVzIGFsw6FcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudDogbmVtIGFkb3R0IG1lZyB0w61wdXN0IC0gYSBrZXR0xZFzcG9udCBtaWF0dCBuZnMgdMOtcHVzdCBmZWx0w6l0ZWxlemVrXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogbmVtIGFkb3R0IG1lZyB0w61wdXN0IC0gYSAvLyBlbMWRdGFnIG1pYXR0IGNpZnMgdMOtcHVzdCBmZWx0w6l0ZWxlemVrXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiSGFzem7DoWxhdDogXG4iCisjfiAiICAgICAgIG1vdW50IC1WICAgICAgICAgICAgICAgICAgICAgICA6IHZlcnppw7NzesOhbSBracOtcsOhc2FcbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgICAgICAgIDogZXogYSBzw7pnw7NcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgICAgICAgIDogYSBjc2F0b2x0IGbDoWpscmVuZHN6ZXJlayBmZWxzb3JvbMOhc2FcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgICAgICAgIDogdWd5YW5heiwgZGUgYSBrw7Z0ZXRjw61ta8Opa2tlbFxuIgorI34gIkV6IGF6IGluZm9ybcOhbGlzIHLDqXN6IHZvbHQuIEEga8O2dmV0a2V6xZEgYSBjc2F0b2zDoXNyw7NsIHN6w7NsLlxuIgorI34gIkEgcGFyYW5jcyDDoWx0YWzDoW5vcyBhbGFramE6IOKAnm1vdW50IFstdCBmw6FqbHJlbmRzemVydMOtcHVzXSBtaXQgaG92w6HigJ0uXG4iCisjfiAiQXogL2V0Yy9mc3RhYiBmw6FqbGJhbiBtZWd0YWzDoWxoYXTDsyByw6lzemxldGVrIGtpaGFneWhhdMOzay5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAgICAgICAgICAgICAgIDogbWluZGVudCBjc2F0b2wgYXogL2V0Yy9mc3RhYiBmw6FqbGLDs2xcbiIKKyN+ICIgICAgICAgbW91bnQgZXN6a8O2eiAgICAgICAgICAgICAgICAgICA6IGF6IGVzemvDtnogY3NhdG9sw6FzYSBheiBpc21lcnQgaGVseXJlXG4iCisjfiAiICAgICAgIG1vdW50IGvDtm55dnTDoXIgICAgICAgICAgICAgICAgIDogaXNtZXJ0IGVzemvDtnogY3NhdG9sw6FzYSBhIGvDtm55dnTDoXJiYVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0w61wdXMgZXN6a8O2eiBrw7ZueXZ0w6FyIDogYSBwYXJhbmNzIMOhbHRhbMOhbm9zIGFsYWtqYVxuIgorI34gIk5lIGZlbGVkamUsIGhvZ3kgZXogdmFsw7Nqw6FiYW4gbmVtIGNzYXRvbCBlc3prw7Z6w7ZrZXQsIHTDqW55bGVnZXNlbiBheiBlc3prw7Z6w7ZuXG4iCisjfiAidGFsw6FsaGF0w7MgKGFkb3R0IHTDrXB1c8O6KSBmw6FqbHJlbmRzemVydCBjc2F0b2xqYS5cbiIKKyN+ICJFZ3kgbcOhciBsw6F0aGF0w7Mga8O2bnl2w6FyZmEgbcOhc2lrIGvDtm55dnTDoXJiYSBpcyBjc2F0b2xoYXTDszpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIHLDqWdpa8O2bnl2dMOhciDDumprw7ZueXZ0w6FyXG4iCisjfiAidmFneSDDoXRoZWx5ZXpoZXQgZWd5IHLDqXN6ZsOhdDpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIHLDqWdpa8O2bnl2dMOhciDDumprw7ZueXZ0w6FyXG4iCisjfiAiTcOzZG9zw610aGF0w7MgYSBrw7ZueXZ0w6FyIGNzYXRvbMOhc2kgdMOtcHVzYSBpczpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBrw7ZueXZ0w6FyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBrw7ZueXZ0w6FyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGvDtm55dnTDoXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUga8O2bnl2dMOhclxuIgorI34gIkVneSBjc2F0b2x0IHLDqXN6ZmEgYWRvdHQga8O2bnl2dMOhcsOhdCB0YXJ0YWxtYXrDsyDDtnNzemVzIGNzYXRvbMOhc3TDrXB1c8OhbmFrXG4iCisjfiAibcOzZG9zw610w6FzYTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQga8O2bnl2dMOhclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGvDtm55dnTDoXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGvDtm55dnTDoXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGvDtm55dnTDoXJcbiIKKyN+ICJBeiBlc3prw7Z6IG1lZ2FkaGF0w7MgbsOpdiBzemVyaW50LCBww6lsZMOhdWw6IC9kZXYvaGRhMSB2YWd5IC9kZXYvY2Ryb20sXG4iCisjfiAidmFneSBjw61ta2Ugc3plcmludCBhIOKAni1MIGPDrW1rZeKAnSwgaWxsZXR2ZSB1dWlkIHN6ZXJpbnQgYSDigJ4tVSB1dWlk4oCdXG4iCisjfiAia2FwY3NvbMOzIGhhc3puw6FsYXTDoXZhbC5cbiIKKyN+ICJFZ3nDqWIga2FwY3NvbMOzazogWy1uZkZyc3Z3XSBbLW8ga2FwY3NvbMOza10uXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgYWRqYSBraSBhIOKAnm1hbiA4IG1vdW504oCdIHBhcmFuY3NvdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKKyN+IG1zZ3N0ciAibW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IGV6dCBjc2FrIGEgcmVuZHN6ZXJnYXpkYSB0ZWhldGkgbWVnIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAic2VtbWkgbmVtIGxldHQgY3NhdG9sdmEiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBuaW5jcyBpbHllbiBwYXJ0w61jacOzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGZpbmQgJXMgaW4gJXMgb3IgJXMiCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICVzIG5lbSB0YWzDoWxoYXTDsyBhKHopICVzIHZhZ3kgYSh6KSAlcyBhbGF0dCIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IGZpZ3llbG1lenRldMOpczogbmluY3MgYmVmZWplesWRIMO6anNvciBhKHopICVzIHbDqWfDqW5cbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBhKHopICVkLiBzb3IgaGliw6FzIGEoeikgJXMgZsOhamxiYW4lc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyBhIGbDoWpsIHTDtmJiaSByw6lzemUgZmlneWVsbWVuIGvDrXbDvGwgbWFyYWQiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAibmluY3MgZWzDqWcgbWVtw7NyaWEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBhIHByb2dyYW0gYSAtZiBrYXBjc29sw7MgdMOhbW9nYXTDoXNhIG7DqWxrw7xsIGxldHQgbGVmb3Jkw610dmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IG5lbSDDoWxsw610aGF0w7MgYmUgYSBjc29wb3J0YXpvbm9zw610w7M6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbSDDoWxsw610aGF0w7MgYmUgYSBmZWxoYXN6bsOhbMOzYXpvbm9zw610w7M6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuZW0gaW5kw610aGF0w7MgcHJvZ3JhbTogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyDDqXJ2w6lueXRlbGVuIGJsb2trZXN6a8O2eiIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5pbmNzIGNzYXRvbHZhIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBzenVwZXJibG9ra2phIG5lbSDDrXJoYXTDsyIKKworI34gbXNnaWQgIiIKKyN+ICJ1bW91bnQ6ICVzOiBkZXZpY2UgaXMgYnVzeS5cbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0IHVzZVxuIgorI34gIiAgICAgICAgIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ1bW91bnQ6ICVzOiBheiBlc3prw7Z6IGZvZ2xhbHQuXG4iCisjfiAiICAgICAgICAoRWd5ZXMgZXNldGVrYmVuIGF6IGVzemvDtnp0IGhhc3puw6Fsw7MgZm9seWFtYXRva3LDs2wgaGFzem5vc1xuIgorI34gIiAgICAgICAgIGluZm9ybcOhY2nDs2thdCB0YWzDoWwgYXogbHNvZig4KSB2YWd5IGZ1c2VyKDEpKSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBuZW0gdGFsw6FsaGF0w7MiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbGV2w6FsYXN6dMOhc8OhaG96IHJlbmRzemVyZ2F6ZGFpIGpvZyBzesO8a3PDqWdlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBhIGJsb2trZXN6a8O2esO2ayBuZW0gZW5nZWTDqWx5ZXpldHRlayBlemVuIGEgZsOhamxyZW5kc3plcmVuICglcykiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJtb3VudDogaGliYSBhKHopICVzIG3Ds2Rqw6FuYWsgbcOzZG9zw610w6FzYWtvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpYmEgYSh6KSAlcyBtw7NkasOhbmFrIG3Ds2Rvc8OtdMOhc2Frb3I6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBjc2F0b2zDoXNpIHBvbnQgbmVtIGzDqXRlemlrIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICJuZW0gdGFsw6FsaGF0w7MgYXogdW1vdW50Miwga8Otc8OpcmxldCBheiB1bW91bnQgaGFzem7DoWxhdMOhcmEuLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBhKHopICVzIGZvZ2xhbHQgLSDDumpyYWNzYXRvbHZhIGNzYWsgb2x2YXNoYXTDs2vDqW50XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvdWxkIG5vdCByZW1vdW50ICVzIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6IG5lbSBjc2F0b2xoYXTDsyDDumpyYSBjc2FrIG9sdmFzaGF0w7Nrw6ludCBhIGvDtnZldGtlesWROiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyBsZXbDoWxhc3p0dmFcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IG5lbSB0YWzDoWxoYXTDsyBhIGxldsOhbGFzenRhbmTDsyBmw6FqbHJlbmRzemVyZWsgbGlzdMOhamEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhhc3puw6FsYXQ6IHVtb3VudCBbLWhWXVxuIgorI34gIiAgICAgICAgICAgdW1vdW50IC1hIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IGbDoWpscmVuZHN6ZXJ0w61wdXNdIFstTyBrYXBjc29sw7NrXVxuIgorI34gIiAgICAgICAgICAgdW1vdW50IFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2nDoWxpcyB8IGNzb23Ds3BvbnQuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgImZpZ3llbG1lenRldMOpczogYSh6KSAlcyBtw6FyIHTDoXJzw610dmEgdmFuIGEga8O2dmV0a2V6xZFow7Z6OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiTmVtIHbDoWxhc3p0aGF0w7MgbGU6IOKAnuKAnVxuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZpbmQgJXMgaW4gbXRhYlxuIgorI34gbXNnc3RyICJBKHopICVzIG5lbSB0YWzDoWxoYXTDsyBheiBtdGFiIGbDoWpsYmFuXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogYSh6KSAlcyBuaW5jcyBjc2F0b2x2YSAoYXogbXRhYiBmw6FqbCBhbGFwasOhbikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGl0IHNlZW1zICVzIGlzIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMiCisjfiBtc2dzdHIgInVtb3VudDogw7pneSB0xbFuaWssIGhvZ3kgYSh6KSAlcyB0w7ZiYnN6w7ZyIGtlcsO8bHQgY3NhdG9sw6FzcmEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW50OiBhKHopICVzIG5pbmNzIGF6IGZzdGFiIGbDoWpsYmFuICjDqXMgw5ZuIG5lbSByZW5kc3plcmdhemRhKSIKKworI34gbXNnaWQgInVtb3VudDogJXMgbW91bnQgZGlzYWdyZWVzIHdpdGggdGhlIGZzdGFiIgorI34gbXNnc3RyICJ1bW91bnQ6IGEoeikgJXMgY3NhdG9sw6FzIG5lbSBlZ3llemlrIGF6IGZzdGFiIHRhcnRhbG3DoXZhbCIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGNzYWsgYSh6KSAlcyBmZWxoYXN6bsOhbMOzIHbDoWxhc3p0aGF0amEgbGUgYSh6KSAlcyBlc3prw7Z6dCBhKHopICVzIGFsw7NsIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogZXp0IGNzYWsgYSByZW5kc3plcmdhemRhIHRlaGV0aSBtZWciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IGF6IGFsYXDDqXJ0ZWxtZXpldHQga8O8c3rDtmLDqXJ0w6lrOiAlbGQsIGF6IGFsYXDDqXJ0ZWxtZXpldHQgaWTFkWtvcmzDoXQ6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJBKHopICVzIGbDoWpsICVsdSBrw7xzesO2YsOpcnTDqWvDqWhleiBhIG1heGltw6FsaXMga2FyYWt0ZXJzesOhbSBhIGZpZm8tYmFuOiAlZFxuIgorI34gIsOpcyBhIG1heGltw6FsaXMgw6F0dml0ZWxpIHNlYmVzc8OpZzogJWYga2FyYWt0ZXIvbcOhc29kcGVyYyB2b2x0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJBKHopICVzIGbDoWpsICVsdSBrw7xzesO2YsOpcnTDqWvDqWhleiDDqXMgJWx1IGlkxZFrb3Jsw6F0asOhaG96IGEgbWF4aW3DoWxpcyBrYXJha3RlcnN6w6FtIGEgZmlmby1iYW46ICVkXG4iCisjfiAiw6lzIGEgbWF4aW3DoWxpcyDDoXR2aXRlbGkgc2ViZXNzw6lnOiAlZiBrYXJha3Rlci9tw6Fzb2RwZXJjIHZvbHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgaXNzdWUgQ1lHRVRNT04gb24gJXMiCisjfiBtc2dzdHIgIk5lbSBhZGhhdMOzIGtpIGEgQ1lHRVRNT04gaMOtdsOhcyBhIGvDtnZldGtlesWRbjogJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aHJlc2hvbGQgZm9yICVzIgorI34gbXNnc3RyICJOZW0ga8OpcmhldMWRIGxlIGEoeikgJXMga8O8c3rDtmLDqXJ0w6lrZTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJOZW0ga8OpcmhldMWRIGxlIGEoeikgJXMgaWTFkWtvcmzDoXRqYTogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgZWfDqXN6LCAlbHUvJWx1IGthcmFrdGVyOyBmaWZvOiAlbHUga8O8c3rDtmIsICVsdSBpZMWRa29ybMOhdCwgJWx1IG1heCwgJWx1IG1vc3RcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmICBlZ8Opc3ovbXA7ICVmIHLDtmd6w610dmUsICVmIGvDvGxkdmUgKGthci9tcClcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBlZ8Opc3osICVsdSBrYXJha3RlcjsgZmlmbzogJWx1IGvDvHN6w7ZiLCAlbHUgaWTFkWtvcmzDoXQsICVsdSBtYXgsICVsdSBtb3N0XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBlZ8Opc3ovbXA7ICVmIHLDtmd6w610dmUgKGthci9tcClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGlkxZFrb3Jsw6F0w6lydMOpazogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBpZMWRa29ybMOhdMOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IMOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGJlw6FsbMOtdG90dCDDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBhbGFww6lydGVsbWV6ZXR0IMOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBhbGFww6lydGVsbWV6ZXR0IMOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBiZcOhbGzDrXRvdHQgaWTFkcOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IGlkxZHDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGFsYXDDqXJ0ZWxtZXpldHQgaWTFkcOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGFsYXDDqXJ0ZWxtZXpldHQgaWTFkcOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIkEoeikgJXMga8O8c3rDtmLDqXJ0w6lrZSBuZW0gw6FsbMOtdGhhdMOzICVkIMOpcnTDqWtyZTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJBKHopICVzIG5lbSDDoWxsw610aGF0w7MgYmUgYSh6KSAlZCBpZMWRa8O8c3rDtmLDqXJ0w6lrcmU6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiBheiBha3R1w6FsaXMga8O8c3rDtmLDqXJ0w6lrOiAlbGQsIGF6IGFrdHXDoWxpcyBpZMWRa29ybMOhdDogJWxkXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiBheiBhbGFww6lydGVsbWV6ZXR0IGvDvHN6w7Ziw6lydMOpazogJWxkLCBheiBhbGFww6lydGVsbWV6ZXR0IGlkxZFrb3Jsw6F0OiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkEgcmVmZXJlbmNpYSBpZMWRIMOzdGEgZWx0ZWx0IGlkxZEgJS42ZiBtw6Fzb2RwZXJjLlxuIgorI34gIlbDoXJha296w6FzIGEga8O2dmV0a2V6xZEgZWfDqXN6IG3DoXNvZHBlcmNpZy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAgWyAtdGVybSB0ZXJtaW7DoWxfbsOpdiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXNldFxuIgorI34gbXNnc3RyICIgIFsgLXJlc2V0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiICBbIC1pbml0aWFsaXplIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWN1cnNvciBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXBlYXQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1saW5ld3JhcCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAgWyAtZGVmYXVsdCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtaW52ZXJzZXNjcmVlbiBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtYm9sZCBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJsaW5rIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXZlcnNlIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLXVuZGVybGluZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgIFsgLXN0b3JlIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jbGVhciBbYWxsfHJlc3RdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLXRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLWNscnRhYnMgWyB0YWIxIHRhYjIgdGFiMyAuLi4gXSBdICAgKHRhYm4gPSAxLTE2MClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgIFsgLXJlZ3RhYnMgWzEtMTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gbXNnc3RyICIgIFsgLWJsYW5rIFswLTYwfGZvcmNlfHBva2VdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+IG1zZ3N0ciAiICBbIC1kdW1wICAgWzEtS09OWk9MT0tfU1rDgU1BXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgWyAtYXBwZW5kIFsxLUtPTlpPTE9LX1Naw4FNQV0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIGtpw61yYXTDoXNpX2bDoWpsbsOpdiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2cgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2dsZXZlbCBbMC04XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxlbmd0aCBbMC0yMDAwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAgWyAtYmZyZXEgZnJla3ZlbmNpYSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJIaWJhIGEga8OpcGVybnnFkS1racOtcmF0w6FzIMOtcsOhc2Ega8O2emJlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnIGEgL2Rldi90dHkxIHZhZ3kgL2Rldi92Yy8xIGVzemvDtnoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgImEgc29yIHTDumwgaG9zc3rDuiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJBKHopICVkLiBwYXJ0w61jacOzIG3DoXIgbMOpdGV6aWsuIFTDtnLDtmxqZSBsZSBheiBpc23DqXRlbHQgaG96esOhYWTDoXMgZWzFkXR0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbcOhciBsw6l0ZXppay4gVMO2csO2bGplIGxlIGF6IGlzbcOpdGVsdCBob3p6w6FhZMOhcyBlbMWRdHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIEJMS0dFVFNJWmxFIGlvY3RsIG1lZ2hpw7pzdWx0IGEoeikgJXMgZXN6a8O2esO2bi4gQSh6KSAlZCBnZW9tZXRyaWEtY2lsaW5kZXLDqXJ0w6lrIGtlcsO8bCBmZWxoYXN6bsOhbMOhc3JhLiBFeiBheiDDqXJ0w6lrIGNzb25rw610w6FzcmEga2Vyw7xsaGV0IDMzLDggR0ItbsOhbCBuYWd5b2JiIGVzemvDtnrDtmvDtm4uXG4iCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJibG9ra23DqXJldCBiZcOhbGzDrXTDoXNhIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJlZ3kgaGliw6FzIGJsb2trXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgImF6IGF6b25vc8OtdMOzIGVsw6lyw6lzZSBtZWd0YWdhZHZhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICJheiBvbHZhc8OhcyBtZWdoacO6c3VsdDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgImEgcG96aWNpb27DoWzDoXMgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJhIHBvemljaW9uw6Fsw6FzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImF6IMOtcsOhcyBtZWdoacO6c3VsdDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICJOaW5jc2VuZWsgcGFydMOtY2nDs2sgbWVnYWR2YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSGFzem7DoWxhdDpcbiIKKyN+ICIgJTEkcyBodXJva19lc3prw7Z6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5mb3Jtw6FjacOza8OpcsOpc1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhc3puw6FsdGFrIGZlbHNvcm9sw6FzYVxuIgorI34gIiAlMSRzIC1kIHwgLS1kZXRhY2ggaHVyb2tlc3prw7Z6ICAgICAgICAgICAgICAgICAgICB0w7ZybMOpc1xuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5lbSBoYXN6bsOhbHRhayBrZXJlc8Opc2VcbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZsOhamw+IFstbyA8c3rDoW0+XSAgYSA8ZsOhamw+LWhveiB0w6Fyc8OtdG90dGFrIGZlbHNvcm9sw6FzYVxuIgorI34gIiAlMSRzIFsga2FwY3NvbMOzayBdIHstZnwtLWZpbmR8aHVyb2tlc3prw7Z6fSBmw6FqbCAgIGJlw6FsbMOtdMOhc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IGlzbWVyZXRsZW4gYXJndW1lbnR1bTogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OlxuIgorCisjfiBtc2dpZCAiXHROT1RFOiBlbHZ0dW5lIG9ubHkgd29ya3Mgd2l0aCAyLjQga2VybmVsc1xuIgorI34gbXNnc3RyICJcdE1FR0pFR1law4lTOiBheiBlbHZ0dW5lIGNzYWsgMi40LWVzIGtlcm5lbGVra2VsIG3FsWvDtmRpa1xuIgorCisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgImhpw6FueXrDsyBibG9ra2VzemvDtnosIHNlZ8OtdHPDqWfDqXJ0IGhhc3puw6FsamEgYSAtaCBrYXBjc29sw7N0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkF6IGVsdnR1bmUgY3NhayByw6lnZWJiaSBrZXJuZWxla2tlbCBoYXN6bsOhbGhhdMOzLlxuIgorI34gIkEgMi42LWhveiBoYXN6bsOhbGphIGF6IElPIMO8dGVtZXrFkSBzeXNmcyBhbGF0dGkgYmXDoWxsw610w7NmZWzDvGxldMOpdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgInJ0YyByaWFzenTDoXMgZW5nZWTDqWx5ZXrDqXNlIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJheiBmc3luYyBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSGFzem7DoWxhdDpcbiIKKyN+ICJWZXJ6acOzIGtpw61yw6FzYTpcbiIKKyN+ICIgICAgICAgICAlcyAtdlxuIgorI34gIlBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2E6XG4iCisjfiAiICAgICAgICAgJXMgLVAge3J8c3x0fSBba2FwY3NvbMOza10gZXN6a8O2elxuIgorI34gIkludGVyYWt0w612IGhhc3puw6FsYXQ6XG4iCisjfiAiICAgICAgICAgJXMgW2thcGNzb2zDs2tdIGVzemvDtnpcbiIKKyN+ICJcbiIKKyN+ICJLYXBjc29sw7NrOlxuIgorI34gIi1hOiBOeWlsYWsgaGFzem7DoWxhdGEga2lqZWzDtmzDqXMgaGVseWV0dDtcbiIKKyN+ICItejogSW5kw610w6FzIMO8cmVzIHBhcnTDrWNpw7NzIHTDoWJsw6F2YWwsIGEgbGVtZXpyxZFsIHTDtnJ0w6luxZEgYmVvbHZhc8OhcyBoZWx5ZXR0O1xuIgorI34gIi1jIEMgLWggRiAtcyBTOiBBIGtlcm5lbCDDoWx0YWwgZmVsaXNtZXJ0IGNpbGluZGVyLSwgZmVqLSwgw6lzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgc3pla3RvcnN6w6FtLcOpcnTDqWtlayBmZWzDvGxiw61yw6Fsw6FzYS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJMZW1lemPDrW1rZSDDrXLDoXNhIGEga8O2dmV0a2V6xZFyZTogJXMuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIlV0b2xzw7MgJXMgdmFneSArbcOpcmV0IHZhZ3kgK23DqXJldE0gdmFneSArbcOpcmV0SyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBsZW1lemPDrW1rZSBvbHZhc8Ohc2EgYSh6KSAlZC4gc3pla3Rvcm7DoWwuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkJTRCBsZW1lemPDrW1rZSBwYXJhbmNzIChtID0gc8O6Z8OzKTogIgorCisjfiBtc2dpZCAiZHJpdmVkYXRhOiAiCisjfiBtc2dzdHIgIm1lZ2hhanTDs2FkYXRvazogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAga2V6ZGV0ICAgICAgdsOpZyAgICAgIG3DqXJldCAgICBmcnTDrXB1cyAgICBbZm3DqXJldCBibcOpcmV0IGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIkV6IG5lbSBsZWhldCBuYWd5b2JiLCBtaW50IGEgc8Ohdm9ua8OpbnRpIHN6ZWt0b3JvayBzesOhbWEgKiBjaWxpbmRlcmVua8OpbnRpIHPDoXZvayBzesOhbWEgKGFsYXDDqXJ0ZWxtZXpldHQpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQYXJ0w61jacOzIChhLSVjKTogIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IHTDumwgc29rIHBhcnTDrWNpw7MgKCVkLCBhIG1heGltdW06ICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGVtZXplayBzemlua3Jvbml6w6Fsw6FzYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc2VlayBvbiAlcyIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IGEoeikgJXMgZXN6a8O2esO2biBwb3ppY2lvbsOhbG5pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHdyaXRlICVzIgorI34gbXNnc3RyICJBKHopICVzIG5lbSDDrXJoYXTDs1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJWw6lnemV0ZXMgaGliYVxuIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIlBhcmFuY3MgTcWxdmVsZXQiCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIkJlw6FsbMOtdGFuZMOzIgorCisjfiBtc2dpZCAiaGVhZHMiCisjfiBtc2dzdHIgImZlamVrIgorCisjfiBtc2dpZCAiIGFuZCAiCisjfiBtc2dzdHIgIiDDqXMgIgorCisjfiBtc2dpZCAiVW5zdXBwb3J0ZWQgc3VmZml4OiAnJXMnLlxuIgorI34gbXNnc3RyICJOZW0gdMOhbW9nYXRvdHQgdXTDs3RhZzog4oCeJXPigJ0uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUw6Ftb2dhdG90dDogMTBeTjogS0IgKEtpbG9CeXRlKSwgTUIgKE1lZ2FCeXRlKSwgR0IgKEdpZ2FCeXRlKVxuIgorI34gIiAgICAgICAgICAgIDJeTjogSyAgKEtpYmlCeXRlKSwgTSAgKE1lYmlCeXRlKSwgRyAgKEdpYmlCeXRlKVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJBeiBhbGFww6lydGVsbWV6ZXR0ICV1IMOpcnTDqWsga2Vyw7xsIGZlbGhhc3puw6Fsw6FzcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgbGVtZXo6ICVsZCBNQiwgJWxsZCkgYsOhanRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGxlbWV6OiAlbGQuJWxkIEdCLCAlbGxkIGLDoWp0XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCDDtnNzemVzZW4gJWxsdSBzemVrdG9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJBIGxlbWV6bWVnaGFqdMOzIG5lbSDDrXJoYXTDsyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkhpYmEgYSBmw6FqbCBsZXrDoXLDoXNha29yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGEgc3pla3RvcmVsdG9sw6FzIGJlw6FsbMOtdMOhc2EgRE9TLWtvbXBhdGliaWxpdGlzIG3Ds2RyYVxuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiT1NGLzEgbGVtZXpjw61ta2UgdGFsw6FsaGF0w7MgYSh6KSAlcyBlc3prw7Z6w7ZuLCBsZW1lemPDrW1rZSBtw7NkcmEgdsOhbHTDoXMuXG4iCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAiw5pqIGxlbWV6YXpvbm9zw610w7MgKGplbGVubGVnIDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiTmVtIMOpcmhldMWRIGVsIHN6YWJhZCBzemVrdG9yXG4iCisKKyN+IG1zZ2lkICJMYXN0ICUxJHMsICslMiRzIG9yICtzaXple0ssTSxHfSIKKyN+IG1zZ3N0ciAiVXRvbHPDsyAlMSRzLCArJTIkcyB2YWd5ICtzaXple0ssTSxHfSIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgIGZpemlrYWk9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2lrYWk9KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IGF6IGFkYXRvayBrZXpkZXRlIGhpYsOhcyBhKHopICVkIHBhcnTDrWNpw7NuXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJFbHPFkWRsZWdlcyBwYXJ0w61jacOzIGhvenrDoWFkw6FzYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkZJR1lFTE1FWlRFVMOJUzogSGEgRE9TIDYueCBwYXJ0w61jacOzdCBob3pvdHQgbMOpdHJlIHZhZ3kgbcOzZG9zw610b3R0XG4iCisjfiAiYWtrb3IgdG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgb2x2YXNzYSBlbCBhIGNmZGlzayBrw6l6aWvDtm55dm9sZGFsw6F0LlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEluZMOtdMOhcyAgIEVsZWplICAgICAgICAgVsOpZ2UgICAgICBCbG9ra29rICBBeiAgUmVuZHN6ZXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIGxlbWV6OiAlZCBmZWosICVsbHUgc3pla3RvciwgJWQgY2lsaW5kZXJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJTesOhbSBBRiAgRmVqIFN6ZWsgIENpbCAgRmVqIFN6ZWsgIENpbCAgIEtlemRldCAgTcOpcmV0IEF6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0w4lydsOpbnllcyBNYWMgY8OtbWtlIHZhbiBhIGxlbWV6ZW4uXG4iCisjfiAiXHRTYWpub3MgYSBmZGlzaygxKSBqZWxlbmxlZyBuZW0gdHVkamEgZXpla2V0IGEgbGVtZXpla2V0XG4iCisjfiAiXHRrZXplbG5pLiBBIHBhcnTDrWNpw7NzIHTDoWJsYSBtw7Nkb3PDrXTDoXPDoWhveiBoYXN6bsOhbGphIGEgcGRpc2tcbiIKKyN+ICJcdHZhZ3kgcGFydGVkIHByb2dyYW1vdC4gRW5uZWsgZWxsZW7DqXJlIG7DqWjDoW55IHRhbsOhY3M6XG4iCisjfiAiXHQxLiBBeiBmZGlzayBtZWdzZW1taXPDrXRpIGEgdGFydGFsbcOhdCBheiDDrXLDoXMgc29yw6FuXG4iCisjfiAiXHQyLiBHecWResWRZGrDtm4gbWVnIGFycsOzbCBob2d5IGEgbGVtZXogTkVNIMOpbMWRIHLDqXN6ZSBlZ3lcbiIKKyN+ICJcdCAgICBrw7Z0ZXRjc29wb3J0bmFrLiAoRWd5w6lia8OpbnQgbGV0w7Zyw7ZsaGV0aSBhXG4iCisjfiAiXHQgICAgdMO2YmJpIG5lbSB0w7xrcsO2esO2dHQgbGVtZXp0IGlzLilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRFbG7DqXrDqXN0IC0gZXogYXogZmRpc2sgbmVtIGtlemVsaSBhIE1hYyBsZW1lemPDrW1rw6lrZXQuXG4iCisjfiAiXHRIYSBET1MgdMOtcHVzw7ogcGFydMOtY2nDs2thdCBha2FyIGhvenrDoWFkbmksIGFra29yIGVsxZFiYlxuIgorI34gIlx0aG96em9uIGzDqXRyZSBlZ3kgw7xyZXMgRE9TIHBhcnTDrWNpw7NzIHTDoWJsw6F0IChoYXN6bsOhbGphIGF6ICdvJy10KVxuIgorI34gIlx0RklHWUVMTUVaVEVUw4lTOiBFeiBtZWdzZW1taXPDrXRpIGEgbGVtZXogamVsZW5sZWdpIHRlbGplcyB0YXJ0YWxtw6F0LlxuIgorCisjfiBtc2dpZCAiQWNjb3JkaW5nIHRvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHRoZSBMYWJlbCBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiQSBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyBzemVyaW50IGEgY8OtbWtlIG5lbSBsZWhldCA1MTIgYsOhanRuw6FsIGhvc3N6YWJiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBsZW1leiAoU0dJIGxlbWV6Y8OtbWtlKTogJWQgZmVqLCAlbGx1IHN6ZWt0b3IsICVkIGNpbGluZGVyXG4iCisjfiAiRWd5c8OpZyA9ICVzLCDDtnNzemVzZW4gJWQgKiAlZCBiw6FqdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBwYXJ0w61jacOzayAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIEtlemRldCAgICAgIFbDqWdlICBTemVrdG9yb2sgQXogIFJlbmRzemVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gSW5kw610w6FzaSBpbmZvcm3DoWNpw7NrIC0tLS0tXG4iCisjfiAiSW5kw610w7Nmw6FqbDogJXNcbiIKKyN+ICItLS0tLSBLw7ZueXZ0w6FyYmVqZWd5esOpc2VrIC0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJTJ6ZDogJS0xMHMgc2VjdG9yJTV1IHNpemUlOHVcbiIKKyN+IG1zZ3N0ciAiJTJkOiAlLTEwcyBzemVrdG9yOiAlNXUgbcOpcmV0OiAlOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJOaW5jc2VuZWsgcGFydMOtY2nDs2sgbWVnYWR2YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkEgdGVsamVzIGxlbWV6cGFydMOtY2nDsyBjc2FrICVkIGxlbWV6Ymxva2sgbcOpcmV0xbEsXG4iCisjfiAiZGUgYSBsZW1leiAlZCBsZW1lemJsb2trIGhvc3N6w7ouXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6Fyb24ga2V6ZMWRZGlrLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiQSh6KSAlZC4gcGFydMOtY2nDsyBuZW0gY2lsaW5kZXJoYXTDoXJvbiB2w6lnesWRZGlrLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIkEoeikgJWQuIHBhcnTDrWNpw7MgbcOhciBsw6l0ZXppay4gVMO2csO2bGplIGxlIGF6IGlzbcOpdGVsdCBob3p6w6FhZMOhcyBlbMWRdHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJBIEJMS0dFVFNJWkUgaW9jdGwgbWVnaGnDunN1bHQgYSBrw7Z2ZXRrZXrFkW46ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuXG4iCisjfiAiVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi5cbiIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiBhIEJMS0dFVFNJWmxFIGlvY3RsIG1lZ2hpw7pzdWx0IGEoeikgJXMgZXN6a8O2esO2bi4gQSh6KSAlZCBnZW9tZXRyaWEtY2lsaW5kZXLDqXJ0w6lrIGtlcsO8bCBmZWxoYXN6bsOhbMOhc3JhLiBFeiBheiDDqXJ0w6lrIGNzb25rw610w6FzcmEga2Vyw7xsaGV0IDMzLDggR0ItbsOhbCBuYWd5b2JiIGVzemvDtnrDtmvDtm4uXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIkFaPSUwMnhcdEtFWkRFVD0lZFx0SE9TU1o9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbnMgYWxyZWFkeSBzZXQuXG4iCisjfiBtc2dzdHIgIkvDrXPDqXJsZXQgYSh6KSAlZC4gcGFydMOtY2nDsyBwYXJhbcOpdGVyZWluZWsgbWVndGFydMOhc8OhcmEuXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiSUdFTlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICJBKHopICVzIG5lbSB0YXJ0YWxtYXogbGVtZXpjw61ta8OpdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTGVtZXogJXMgKFN1biBsZW1lemPDrW1rZSk6ICVkIGZlaiwgJWxsdSBzemVrdG9yLCAlZCBmb3JkdWxhdCBwZXJjZW5rw6ludFxuIgorI34gIiVkIGNpbGluZGVyLCAlZCBhbHRlcm5hdMOtdiBjaWxpbmRlciwgJWQgZml6aWthaSBjaWxpbmRlclxuIgorI34gIiVkIGV4dHJhIHN6ZWt0L2NpbCwgw6F0cmVuZGV6w6lzOiAlZDoxXG4iCisjfiAiQ8OtbWtlYXpvbm9zw610w7M6ICVzXG4iCisjfiAiS8O2dGV0YXpvbm9zw610w7M6ICVzXG4iCisjfiAiRWd5c8OpZyA9ICVzLCDDtnNzemVzZW4gJWQgKiA1MTIgYsOhanRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkxlbWV6ICVzIChTdW4gbGVtZXpjw61ta2UpOiAlZCBmZWosICVsbHUgc3pla3RvciwgJWQgY2lsaW5kZXJcbiIKKyN+ICJFZ3lzw6lnID0gJXMsIMO2c3N6ZXNlbiAlZCAqIDUxMiBiw6FqdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEplbHrFkSAgIEtlemRldCAgICAgIFbDqWdlICAgQmxva2tvayAgQXogIFJlbmRzemVyXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIGVzemvDtnpcdCBheiBuLiBwYXJ0w61jacOzIGFrdGl2w6Fsw6FzYSwgYSB0w7ZiYmkgZGVha3RpdsOhbMOhc2FcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6lzelxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICIlZC4gcGFydMOtY2nDsyBraXbDoWxhc3p0dmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgImF6IMOtcsOhcyBtZWdoacO6c3VsdDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogTmVtIGluZMOtdGhhdMOzIGEgcHJvZ3JhbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgY3NhdG9sw6FzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2thcGNzb2zDs2tdIGVzemvDtnogLi4uXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAiaGliYSBheiB4c3RybmR1cCBow612w6FzYmFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgIm4uc3rDoW0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCisjfiAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorI34gIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKKyN+ICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKKyN+ICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza11cbiIKKyN+ICIgICAgLWQgfCAtLWRldmljZSA8ZXN6a8O2ej4gICAgIHJ0YyBlc3prw7Z6IGtpdsOhbGFzenTDoXNhIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAgICAtbCB8IC0tbG9jYWwgICAgICAgICAgICAgICBheiBSVEMgaGVseWkgaWTFkXrDs27DoXQgaGFzem7DoWxcbiIKKyN+ICIgICAgLW0gfCAtLW1vZGUgICAgICAgICAgICAgICAgc3RhbmRieXxtZW18Li4uIGFsdsOhc2kgbcOzZFxuIgorI34gIiAgICAtcyB8IC0tc2Vjb25kcyA8bcOhc29kcGVyYz4gYWx2w6FzIGVubnlpIG3DoXNvZHBlcmNpZ1xuIgorI34gIiAgICAtdCB8IC0tdGltZSA8dGltZV90PiAgICAgICBmZWzDqWJyZWTDqXMgaWRlamVcbiIKKyN+ICIgICAgLXUgfCAtLXV0YyAgICAgICAgICAgICAgICAgYXogUlRDIGF6IFVUQy10IGhhc3puw6FsamFcbiIKKyN+ICIgICAgLXYgfCAtLXZlcmJvc2UgICAgICAgICAgICAgcsOpc3psZXRlcyDDvHplbmV0ZWtcbiIKKyN+ICIgICAgLVYgfCAtLXZlcnNpb24gICAgICAgICAgICAgdmVyemnDs3N6w6FtIG1lZ2plbGVuw610w6lzZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheXMgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgZXplbiBzw7pnw7NzesO2dmVnIG1lZ2plbGVuw610w6lzZVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgZmVsc29yb2xqYSBhIGJla2FwY3NvbHQgbGVoZXTFkXPDqWdla2V0XG4iCisjfiAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBsZXRpbHRqYSBhIHZpcnR1w6FsaXMgY8OtbXTDqXIgdsOpbGV0bGVuc3plcsWxc8OtdMOpc8OpdFxuIgorI34gIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgYSBmw7xnZ3bDqW55bXV0YXTDs2thdCBsZcOtcsOza3JhIG11dGF0w7Nra8OhIHRlc3ppXG4iCisjfiAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBiZWthcGNzb2xqYSBheiBNTUFQX1BBR0VfWkVSTyB0dWxhamRvbnPDoWdvdFxuIgorI34gIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgbWVndsOhbHRvenRhdGphIGEgdmlydHXDoWxpcyBtZW3Ds3JpYSBsZWZvZ2xhbMOhc2kgbcOzZGrDoXRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIGJla2FwY3NvbGphIGEgUkVBRF9JTVBMSUVTX0VYRUMgdHVsYWpkb25zw6Fnb3RcbiIKKyN+ICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIGJla2FwY3NvbGphIGF6IEFERFJfTElNSVRfMzJCSVQgdHVsYWpkb25zw6Fnb3RcbiIKKyN+ICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIGJla2FwY3NvbGphIGEgU0hPUlRfSU5PREUgdHVsYWpkb25zw6Fnb3RcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIGJla2FwY3NvbGphIGEgV0hPTEVfU0VDT05EUyB0dWxhamRvbnPDoWdvdFxuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgYmVrYXBjc29samEgYSBTVElDS1lfVElNRU9VVFMgdHVsYWpkb25zw6Fnb3RcbiIKKyN+ICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGEgaGFzem7DoWx0IGPDrW10ZXJldCBtYXhpbcOhbGlzYW4gMyBHQi1yZSBrb3Jsw6F0b3p6YVxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgZmlneWVsbWVuIGvDrXbDvGwgbWFyYWQgKGNzYWsgYSB2aXNzemFmZWzDqSBrb21wYXRpYmlsaXTDoXMgbWVnxZFyesOpc8OpcmUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjfiBtc2dpZCAic3RydG9sIGVycm9yOiBudW1iZXIgb2YgYmxvY2tzIG5vdCBzcGVjaWZpZWQiCisjfiBtc2dzdHIgInN0cnRvbCBoaWJhOiBhIGJsb2trb2sgc3rDoW1hIG5pbmNzIG1lZ2hhdMOhcm96dmEiCisKKyN+IG1zZ2lkICJvbmUgYmFkIHBhZ2VcbiIKKyN+IG1zZ3N0ciAiZWd5IGhpYsOhcyBsYXBcbiIKKworI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICAgICAgIHRlbGplcyBsZW1lemVuLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZG9lcyBub3Qgc3VwcG9ydCBzd2Fwc3BhY2UgdmVyc2lvbiAlZC4iCisjfiBtc2dzdHIgIiVzOiBuZW0gdMOhbW9nYXRqYSBhKHopICVkIGxhcG96w7N0ZXLDvGxldC12ZXJ6acOzc3rDoW1vdFxuIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6IE5lbSB0w6Ftb2dhdG90dCBHUFQgKEdVSUQgcGFydMOtY2nDs3MgdMOhYmxhKS4gSGFzem7DoWxqYSBhIEdOVSBQYXJ0ZWQtZXQuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHTDiXJ2w6lueWVzIEFJWCBjw61ta2UgdmFuIGEgbGVtZXplbi5cbiIKKyN+ICJcdFNham5vcyBhIExpbnV4IGplbGVubGVnIG5lbSB0dWRqYSBlemVrZXQgYSBsZW1lemVrZXRcbiIKKyN+ICJcdGtlemVsbmkuIEVubmVrIGVsbGVuw6lyZSBuw6low6FueSB0YW7DoWNzOlxuIgorI34gIlx0MS4gQXogZmRpc2sgbWVnc2VtbWlzw610aSBhIHRhcnRhbG3DoXQgYXogw61yw6FzIHNvcsOhblxuIgorI34gIlx0Mi4gR3nFkXrFkWRqw7ZuIG1lZyBhcnLDs2wgaG9neSBhIGxlbWV6IE5FTSDDqWzFkSByw6lzemUgZWd5XG4iCisjfiAiXHQgICAga8O2dGV0Y3NvcG9ydG5hay4gKEVnecOpYmvDqW50IGxldMO2csO2bGhldGkgYVxuIgorI34gIlx0ICAgIHTDtmJiaSBuZW0gdMO8a3LDtnrDtnR0IGxlbWV6dCBpcy4pXG4iCisjfiAiXHQzLiBBIGZpemlrYWkga8O2dGV0IHTDtnJsw6lzZSBlbMWRdHQgZ3nFkXrFkWRqw7ZuIG1lZywgaG9neSBhXG4iCisjfiAiXHQgICAgbGVtZXp0IGJpenRvc2FuIGVsdMOhdm9sw610b3R0YSBsb2dpa2FpbGFnIGF6IEFJWCBnw6lwcsWRbFxuIgorI34gIlx0ICAgIChFbGxlbmtlesWRIGVzZXRiZW4gYWRhdHZlc3p0w6lzIHbDoXJoYXTDsy4pLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRFbG7DqXrDqXN0IC0gZXogYXogZmRpc2sgbmVtIGtlemVsaSBheiBBSVggbGVtZXpjw61ta8Opa2V0LlxuIgorI34gIlx0SGEgRE9TIHTDrXB1c8O6IHBhcnTDrWNpw7NrYXQgYWthciBob3p6w6FhZG5pLCBha2tvciBlbMWRYmJcbiIKKyN+ICJcdGhvenpvbiBsw6l0cmUgZWd5IMO8cmVzIERPUyBwYXJ0w61jacOzcyB0w6FibMOhdCAoaGFzem7DoWxqYSBheiAnbyctdClcbiIKKyN+ICJcdEZJR1lFTE1FWlRFVMOJUzogRXogbWVnc2VtbWlzw610aSBhIGxlbWV6IGplbGVubGVnaSB0ZWxqZXMgdGFydGFsbcOhdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRCBjw61ta2UgYSBrw7Z2ZXRrZXrFkSBlc3prw7Z6w7ZuOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIkZpZ3llbG1lenRldMOpczogYSh6KSAlZCBwYXJ0w61jacOzIHTDrXB1c2Egw7xyZXNcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkEoeikgJWkuIHBhcnTDrWNpw7MgbmVtIGNpbGluZGVyaGF0w6Fyb24gdsOpZ3rFkWRpay5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BULiBVc2UgR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkZJR1lFTE1FWlRFVMOJUzogQSh6KSDigJ4lc+KAnSBlc3prw7Z6w7ZuIEdQVCAoR1VJRCBwYXJ0w61jacOzcyB0w6FibGEpIHRhbMOhbGhhdMOzISBBeiBmZGlzayBzZWfDqWRwcm9ncmFtIG5lbSB0w6Ftb2dhdGphIGEgR1BULXQuIEhhc3puw6FsamEgYSBHTlUgcGFydGVkIHByb2dyYW1vdC5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiTWVnamVneXrDqXM6IGEgc3pla3Rvcm3DqXJldDogJWQgKMOpcyBuZW0gJWQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgc2ZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRklHWUVMTUVaVEVUw4lTOiBBKHopIOKAniVz4oCdIGVzemvDtnrDtm4gR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgdGFsw6FsaGF0w7MhXG4iCisjfiAiQXogc2ZkaXNrIHNlZ8OpZHByb2dyYW0gbmVtIHTDoW1vZ2F0amEgYSBHUFQtdC4gSGFzem7DoWxqYSBhIEdOVSBQYXJ0ZWQgcHJvZ3JhbW90LlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiRXp0IGF6IGVsbGVuxZFyesOpc3QgYSAtLWZvcmNlIGthcGNzb2zDsyBzZWfDrXRzw6lnw6l2ZWwgYsOtcsOhbGhhdGphIGZlbMO8bC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICIlczogYXogbHNlZWsgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIlRJT0NTQ1RUWSBtZWdoacO6c3VsdDogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWytmb3Jtw6F0dW1dIFtuYXAgaMOzbmFwIMOpdl1cbiIKKworI34gbXNnaWQgIlN0LiBUaWIncyBEYXkiCisjfiBtc2dzdHIgIlN6ZW50IFRpYiBuYXBqYSIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWyAtcyBqZWx6w6lzIHwgLXAgXSBbIC1hIF0gZm9seWFtYXRhem9ub3PDrXTDsyAuLi5cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAtbCBbIHNpZ25hbCBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIGplbHrDqXMgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgIsOpcnbDqW55dGVsZW4ga2FwY3NvbMOzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJOZW0gbGVoZXQgesOhcm9sbmkgYSBtZW3Ds3Jpw6FiYSwga2lsw6lww6lzLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYSAtcCB2YWd5IC0tcGFzcy1mZCBhcmd1bWVudHVtw6FuYWsgc3rDoW1uYWsga2VsbCBsZW5uaWUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3V0aW5nICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSB2w6lncmVoYWp0w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAiYSBmZWxoYXN6bsOhbMOzYXpvbm9zw610w7MgbmVtIMOhbGzDrXRoYXTDsyBiZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzZnJlZXplKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworI34gbXNnaWQgIm1heCBzZWcgc2l6ZSAoa2J5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJtYXhpbcOhbGlzIHN6ZWdtZW5zbcOpcmV0IChraWxvYsOhanQpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJtaW5pbcOhbGlzIHN6ZWdtZW5zbcOpcmV0ID0gJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYXogZnN5bmMgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYXogZnN5bmMgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImwuYsOhanQ9JWxkXHRzLmLDoWp0PSVsZFx0cy5zesOhbT0lbGRcdHUuay5mLmF6PSVkXHR1LmYuZi5hej0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWUsIC0tZW5jcnlwdGlvbiA8dHlwZT4gICAgICAgZW5hYmxlIGVuY3J5cHRpb24gd2l0aCBzcGVjaWZpZWQgPG5hbWUvbnVtPlxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCisjfiAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXBhc3MtZmQgPG51bT4gICAgICAgICAgIHJlYWQgcGFzc3BocmFzZSBmcm9tIGZpbGUgZGVzY3JpcHRvciA8bnVtPlxuIgorI34gIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0dXAgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCisjfiAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkthcGNzb2zDs2s6XG4iCisjfiAiIC1lIHwgLS1lbmNyeXB0aW9uIDx0w61wdXM+IGF6IGFkb3R0IDxuZXbFsS9zesOhbcO6PiBhZGF0dGl0a29zw610w6FzIGVuZ2Vkw6lseWV6w6lzZVxuIgorI34gIiAtaCB8IC0taGVscCAgICAgICAgICAgICAgIGV6IGEgc8O6Z8OzXG4iCisjfiAiIC1vIHwgLS1vZmZzZXQgPHN6w6FtPiAgICAgIGtlemTDqXMgPHN6w6FtPiBlbHRvbMOhc3NhbCBhIGbDoWpsYmFuXG4iCisjfiAiICAgICAgLS1zaXplbGltaXQgPHN6w6FtPiAgIGEgaHVyb2sga29ybMOhdG96w6FzYSBjc2FrIDxzesOhbT4gYsOhanRyYSBhIGbDoWpsYmFuXG4iCisjfiAiIC1wIHwgLS1wYXNzLWZkIDxzesOhbT4gICAgIGplbG1vbmRhdCBiZW9sdmFzw6FzYSBhIDxzesOhbT4gZsOhamxsZcOtcsOzYsOzbFxuIgorI34gIiAtciB8IC0tcmVhZC1vbmx5ICAgICAgICAgIGNzYWsgb2x2YXNoYXTDsyBodXJva2VzemvDtnogYmXDoWxsw610w6FzYVxuIgorI34gIiAgICAgIC0tc2hvdyAgICAgICAgICAgICAgIGVzemvDtnpuw6l2IGtpw61yYXTDoXNhIChhIC1mIDxmw6FqbD4ga2FwY3NvbMOzdmFsKVxuIgorI34gIiAtdiB8IC0tdmVyYm9zZSAgICAgICAgICAgIHLDqXN6bGV0ZXMgbcOzZFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICJuZW0gbGVoZXQgdmlzc3phw6FsbMOtdGFuaSBhIGxhcG96w7N0ZXLDvGxldC1lc3prw7Z6dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJOZW0gbGVoZXQgesOhcm9sbmkgYSBtZW3Ds3Jpw6FiYSwga2lsw6lww6lzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgKHByb2JhYmx5IHVua25vd24gZW5jcnlwdGlvbiB0eXBlKSIKKyN+IG1zZ3N0ciAibmVtIGxlaGV0IHZpc3N6YcOhbGzDrXRhbmkgYSBsYXBvesOzdGVyw7xsZXQtZXN6a8O2enQiCisKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICJyZW5pY2UgZXJyxZFsOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICJhIHTDrXB1c3BhcmFuY3Nmw6FqbCAoJXMpIG9sdmFzw6FzYSBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJhIHbDqWdyZWhhanTDoXMgbWVnaGnDunN1bHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImEgdsOpZ3JlaGFqdMOhcyBtZWdoacO6c3VsdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiVzOiAlcyB2ZXJ6acOzXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAiZmVsaGFzem7DoWzDsyIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAidMO6bCBzb2sgaW92IChtw7Nkb3PDrXRzYSBhIHdhbGwvdHR5bXNnLmMga8OzZGrDoXQpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yLiIKKyN+IG1zZ3N0ciAiY29sOiDDrXLDoXNpIGhpYmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gZXN6a8O2eiBuZW0gw6lyaGV0xZEgZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSBrw7Z2ZXRrZXrFkTogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBlc3prw7Z6IG5lbSDDqXJoZXTFkSBlbCIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiTmVtIG55aXRoYXTDsyBtZWcgYSh6KSDigJ4lc+KAnSBmw6FqbCIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFeiBhIGxlbWV6IERPUyDDqXMgQlNEIG3Ds2RiYW4gaXMgbcWxa8O2ZGhldC5cbiIKKyN+ICJIYXN6bsOhbGphIGEg4oCeYuKAnSBwYXJhbmNzb3QgYSBCU0QgbcOzZGhvei5cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICIlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2Fubm90IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiAlcyBuZW0gbnlpdGhhdMOzIG1lZ1xuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJBKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIG9sdmFzw6FzcmEsIGtpbMOpcMOpcy4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGF6IGVsw6lyw6lzIG1lZ2hpw7pzdWx0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiQSAvZGV2L3BvcnQgZXN6a8O2eiBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBtZWdueWl0w6FzYSBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICIlcyBuZW0gbnlpdGhhdMOzIG1lZyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAibmVtIGZvZ2xhbGhhdMOzIGxlIGtpbWVuZXRpIHB1ZmZlciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIiVzIG5lbSDDqXJoZXTFkSBlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkgJXMiCisjfiBtc2dzdHIgIiVzIG5lbSDDqXJoZXTFkSBlbCIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICJuZW0gbnlpdGhhdMOzIG1lZyBheiBpZMWResOtdMOpc2bDoWpsICglcykiCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAiCisjfiBtc2dzdHIgIk5lbSBueWl0aGF0w7MgbWVnOiAiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBcIiVzXCIgZm9yIHJlYWQiCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWcgb2x2YXPDoXNyYSIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IFwiJXNcIiIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gw6lyaGV0xZEgZWwiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0ICAlcyBbLWh2XSBbLXgga8O2bnl2dMOhcl0gZsOhamxcbiIKKyN+ICIgLWggICAgICAgICAgICAgZXogYSBzw7pnw7NzesO2dmVnXG4iCisjfiAiIC14IGvDtm55dnTDoXIgICAga2lib250w6FzIGViYmUgYSBrw7ZueXZ0w6FyYmFcbiIKKyN+ICIgLXYgICAgICAgICAgICAgcsOpc3psZXRlcyBtw7NkXG4iCisjfiAiIGbDoWpsICAgICAgICAgICB0ZXN6dGVsZW5kxZEgZsOhamxcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBbLWxhcnZzbWZdIC9kZXYvbsOpdlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgIiVzOiBoaWJhOiBhIGxhcG96w7Nlc3prw7Z6IGzDqXRyZWhvesOhc8OhcmEgbmVtIHTDtnJ0w6luaWsga8Otc8OpcmxldCBhKHopIOKAniVz4oCdIGVzemvDtnrDtm5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBlc3prw7Z6IG5lbSDDqXJoZXTFkSBlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiQSh6KSAlaS4gcGFydMOtY2nDsyBuZW0gY2lsbGluZGVyaGF0w6Fyb24ga2V6ZMWRZGlrOlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgImEgdsOhcnQgw6lydMOpazogKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAiYSB2w6FydCDDqXJ0w6lrOiAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJFeiBhIHJlbmRzemVybWFnIGEgc3pla3Rvcm3DqXJldGV0IMO2bsOhbGzDs2FuIMOhbGxhcMOtdGphIG1lZyAtIGEgLWIga2FwY3NvbMOzIGZpZ3llbG1lbiBrw612w7xsIG1hcmFkdFxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAiZWxmb2d5b3R0IGEgbWVtw7NyaWE/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmVtYXR1cmUgZW5kIG9mIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IGlkxZEgZWzFkXR0IHbDqWdlIGEgYmVtZW5ldG5la1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6IGNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIiVzOiAlcyBuZW0gbnlpdGhhdMOzIG1lZzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXBvY2giCisjfiBtc2dzdHIgIiVzOiBhIGvDtnZldGtlesWRIG1lZ255aXTDoXNhIG1lZ2hpw7pzdWx0OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSBzcGVjaWZpZWQgbXVsdGlwbGUgZnVuY3Rpb25zLlxuIgorI34gIllvdSBjYW4gb25seSBwZXJmb3JtIG9uZSBmdW5jdGlvbiBhdCBhIHRpbWUuIgorI34gbXNnc3RyICIiCisjfiAiVMO2YmIgbcWxdmVsZXRldCBhZG90dCBtZWcgZWd5c3plcnJlLlxuIgorI34gIkVneXN6ZXJyZSBjc2FrIGVneSBtxbF2ZWxldCBoYXN6bsOhbGhhdMOzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLXV0YyBhbmQgLS1sb2NhbHRpbWUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBBeiAtLXV0YyDDqXMgYSAtLWxvY2F0aW1lIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QuXG4iCisjfiAiTcOpZ2lzIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEF6IC0tYWRqdXN0IMOpcyBhIC0tbm9hZGpmaWxlIGvDtmxjc8O2bsO2c2VuIGtpesOhcmrDoWsgZWd5bcOhc3QuXG4iCisjfiAiTcOpZ2lzIG1pbmRrZXR0xZF0IG1lZ2FkdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IEF6IC0tYWRqZmlsZSDDqXMgYSAtLW5vYWRqZmlsZSBrw7ZsY3PDtm7DtnNlbiBraXrDoXJqw6FrIGVneW3DoXN0LCBkZSBtaW5ka2V0dMWRdCBtZWdhZHRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBsb2NrIGdyb3VwIGZpbGUiCisjfiBtc2dzdHIgImEgY3NvcG9ydGF6b25vc8OtdMOzIG5lbSDDoWxsw610aGF0w7MgYmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgIiVzOiBhKHopICVzIGbDoWpsIGZvZ2xhbHQgKCVzIGplbGVuIHZhbilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgImEoeikg4oCeJXPigJ0gbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICLDiXJ2w6lueXRlbGVuIGJlw6FsbMOtdG90dCDDqXJ0w6lrOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byByZWFkIG10YWIiCisjfiBtc2dzdHIgIkEoeikgJXMgbmVtIG9sdmFzaGF0w7NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MgZGF0YSIKKyN+IG1zZ3N0ciAiYSh6KSDigJ4lc+KAnSBuZW0gbnlpdGhhdMOzIG1lZzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZhbGxvY2F0ZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc3RyaW0oOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgIsOpcnbDqW55dGVsZW4gc2ViZXNzw6lnOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBiZcOhbGzDrXRvdHQgw6lydMOpazogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHNpemUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIsOJcnbDqW55dGVsZW4gYmXDoWxsw610b3R0IMOpcnTDqWs6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudHBvaW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJhKHopICVzIG5lbSBueWl0aGF0w7MgbWVnIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzZWNvbmRzIHZhbHVlIgorI34gbXNnc3RyICJhKHopIOKAniVz4oCdIG5lbSBueWl0aGF0w7MgbWVnOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZV90IHZhbHVlIgorI34gbXNnc3RyICIlczogYSBrw7Z2ZXRrZXrFkSBtZWdueWl0w6FzYSBtZWdoacO6c3VsdDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICJheiBhZGF0Ymxva2sgdMO6bCBuYWd5IgorCisjLCBmdXp6eQorI34gbXNnaWQgInRlcm1pbmFsIGVudmlyb25tZW50IENPTFVNTlMgZmFpbGVkIgorI34gbXNnc3RyICJsZWZvZ2xhbHQgc3plbWFmb3JvayA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogaGliw6FzIGhvc3N6w7pzw6Fnw6lydMOpay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgc2tpcCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogaGliw6FzIGtpaGFnecOhc2kgw6lydMOpay5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBIYXN6bsOhbGF0OiAlcyBbLXN6w6FtXSBbLXAga2FyYWt0ZXJsw6FuY10gWy1jZWZucnNdIFsrc29yXSBbKy9taW50YS9dIFtmw6FqbG9rXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAlZDogcGFyc2UgZXJyb3IgLS0gbGluZSBpZ25vcmVkLlxuIgorI34gbXNnc3RyICJheiBlbHPFkSBzb3IgdXTDoW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHBhcnNlICVzIgorI34gbXNnc3RyICJBKHopICVzIG5lbSBvbHZhc2hhdMOzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiYXogaW5kw610w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZFxuIgorI34gbXNnc3RyICIlcyBtZWdoacO6c3VsdC5cbiIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAgIEJTRCBwYXJ0w61jacOzIHTDtnJsw6lzZSIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgICDDumogQlNEIHBhcnTDrWNpw7MgaG96esOhYWTDoXNhIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICBhIHBhcnTDrWNpw7MgZsOhamxyZW5kc3plci1hem9ub3PDrXTDs2rDoW5hayBtw7Nkb3PDrXTDoXNhIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgYSBtw6lyZXTDqWtlZ3lzw6lnZWsgbcOzZG9zw610w6FzYSAoY2lsaW5kZXJlay9zemVrdG9yb2spIgorCisjfiBtc2dpZCAiICAgcCAgIHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgIHAgICBhIHBhcnTDrWNpw7NzIHTDoWJsYSBracOtcsOhc2EiCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZ3kgw7pqIERPUyBsZW1lemPDrW1rZSBrZXLDvGwgbMOpdHJlaG96w6FzcmEgMHglMDh4IGxlbWV6YXpvbm9zw610w7N2YWwuXG4iCisjfiAiQSB2w6FsdG96w6Fzb2sgYSBtZW3Ds3Jpw6FiYW4gbWFyYWRuYWsgYW3DrWcga2kgbmVtIMOtcmphIGF6b2thdC5cbiIKKyN+ICJFenV0w6FuIHRlcm3DqXN6ZXRlc2VuIGEga29yw6FiYmkgdGFydGFsb20gbmVtIGxlc3ogdmlzc3phw6FsbMOtdGhhdMOzLlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICJBeiBlc3prw7Z6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBET1MgcGFydMOtY2nDs3MgdMOhYmzDoXQsIHNlbSBTdW4sIFNHSSB2YWd5IE9TRiBsZW1lemPDrW1rw6l0XG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJCZWxzxZEgaGliYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRFbG7DqXrDqXN0LCBuaW5jcyBzemFrw6lydMWRaSBtZW7DvCBheiBTR0kgcGFydMOtY2nDs3MgdMOhYmzDoWtob3ouXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEbyBZb3Uga25vdywgWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrP1xuIgorI34gbXNnc3RyICJUdWR0YSwgaG9neSBhIGxlbWV6w6luIGVneW3DoXN0IGZlZGlrIGEgcGFydMOtY2nDs2s/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVneSDDumogU0dJIGxlbWV6Y8OtbWtlIGtlcsO8bCBsw6l0cmVob3rDoXNyYS4gQSB2w6FsdG96w6Fzb2sgYSBtZW3Ds3Jpw6FiYW5cbiIKKyN+ICJtYXJhZG5haywgYW3DrWcgZWwgbmVtIG1lbnRpIGF6b2thdC4gRXp1dMOhbiB0ZXJtw6lzemV0ZXNlblxuIgorI34gImEga29yw6FiYmkgdGFydGFsb20gdmlzc3phdm9uaGF0YXRsYW51bCBlbHbDqXN6LlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJlbGZvZ3lvdHQgYSBtZW3Ds3JpYSAtIGZlbGFkb21cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50KDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjoga2V2w6lzIG1lbcOzcmlhLCBhIGJlamVsZW50a2V6w6lzIG1lZ2hpw7pzdWxoYXRcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgIm5lbSBsZWhldCBtZW3Ds3Jpw6F0IGZvZ2xhbG5pIGEgdHR5Y2xhc3NuYWsiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgIm5lbSBsZWhldCBtZW3Ds3Jpw6F0IGZvZ2xhbG5pIGEgZ3JwbGlzdG5layIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJBIGJlamVsZW50a2V6w6lzICVzIGfDqXByZSBhKHopICVzIGfDqXByxZFsIG1lZ3RhZ2FkdmEuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWyAtZiB0ZWxqZXNfbsOpdiBdIFsgLW8gaXJvZGEgXSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgIiVzOiBqZWxzesOzLWhpdGVsZXPDrXTDqXNpIChQQU0pIGhpYmEsIG1lZ3N6YWvDrXR2YTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1zIHNoZWxsXSBbdXNlcm5hbWVdXG4iCisjfiAiICAgb3I6ICUxJHMgKC0tbGlzdC1zaGVsbHMgfCAtLWhlbHAgfCAtLXZlcnNpb24pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyBbIC1zIHBhcmFuY3PDqXJ0ZWxtZXrFkSBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIGZlbGhhc3puw6Fsw7Nuw6l2IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogY3NhayBoZWx5aSBiZWplZ3l6w6lzZWsgbcOzZG9zw610aGF0w7NrLCBoYXN6bsOhbGphIGlua8OhYmIgYXogeXAlcyBsZWhldMWRc8OpZ2V0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IE5lbSDDoWxsw610aGF0w7MgYmUgYXogL2V0Yy9wYXNzd2QgYWxhcMOpcnRlbG1lemV0dCBrb250ZXh0dXNhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHB3bmFtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBzZXR1aWQoKSBow612w6FzYSBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogSGFzem7DoWxqYSBhIOKAni1s4oCdIGthcGNzb2zDs3QgYSBsaXN0YSBtZWdqZWxlbsOtdMOpc8OpaGV6LlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2luIFstZnBdIFt1c2VybmFtZV1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogbG9naW4gWy1mcF0gW2ZlbGhhc3puw6Fsw7Nuw6l2XVxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiw4lydsOpbnl0ZWxlbiBmZWxoYXN6bsOhbMOzbsOpdiIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIiVzIEJFSkVMRU5US0Vaw4lTRSBNRUdUQUdBRFZBIEVSUsWQTDogJXMgQSBLw5ZWRVRLRVrFkCBURVJNSU7DgUxPTjogJXMiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiJXMgQkVKRUxFTlRLRVrDiVNFIE1FR1RBR0FEVkEgQSBLw5ZWRVRLRVrFkCBURVJNSU7DgUxPTjogJXMiCisKKyN+IG1zZ2lkICJMb2dpbiBpbmNvcnJlY3RcbiIKKyN+IG1zZ3N0ciAiQSBiZWplbGVudGtlesOpcyBtZWdoacO6c3VsdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNoYW5nZSB0ZXJtaW5hbCBvd25lciBmYWlsZWQiCisjfiBtc2dzdHIgImxlZm9nbGFsdCBzemVtYWZvcm9rID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsdXJlIGZvcmtpbmciCisjfiBtc2dzdHIgImxvZ2luOiBhIHByb2dyYW1pbmTDrXTDoXMgbWVnaGnDunN1bHQ6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBmZWxoYXN6bsOhbMOzbsOpdjogIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiQSBOw4lWIHTDumwgaG9zc3rDuiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuIgorI34gbXNnc3RyICJBIGZlbGhhc3puw6Fsw7Nuw6l2IHTDumwgaG9zc3rDui5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbiBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggJy0nLiIKKyN+IG1zZ3N0ciAiQSBmZWxoYXN6bsOhbMOzbmV2ZWsgbmVtIGtlemTFkWRoZXRuZWsg4oCeLeKAnSBqZWxsZWwuXG4iCisKKyN+IG1zZ2lkICJFWENFU1NJVkUgbGluZWZlZWRzIgorI34gbXNnc3RyICJUw5pMIFNPSyBzb3JlbWVsw6lzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGJhcmUgbGluZWZlZWRzLiIKKyN+IG1zZ3N0ciAidMO6bCBzb2sgw7xyZXMgc29yZW1lbMOpcy5cbiIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIkJFSkVMRU5US0Vaw4lTSSBISUJBIEVSUsWQTDogJXMsICVzIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIkJFSkVMRU5US0Vaw4lTSSBISUJBIEVaRU46ICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBCRUpFTEVOVEtFWsOJU0kgSElCQSBFUlLFkEw6ICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgQkVKRUxFTlRLRVrDiVNJIEhJQkEgRVpFTjogJXMsICVzIgorCisjfiBtc2dpZCAiJXM6IHRoZSBncm91cCBmaWxlIGlzIGJ1c3kuXG4iCisjfiBtc2dzdHIgIiVzOiBhIGNzb3BvcnRmw6FqbCBmb2dsYWx0LlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiBhKHopICVzIHrDoXJvbMOhc2EgbmVtIG9sZGhhdMOzIGZlbDogJXMgKGEgdsOhbHRvenRhdMOhc2FpIG3DqWcgbWluZGlnIGEga8O2dmV0a2V6xZFiZW4gdmFubmFrOiAlcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJhIG1hbGxvYyBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJBKHopICVzIGxlbWV6IG5lbSB0YXJ0YWxtYXogw6lydsOpbnllcyBwYXJ0w61jacOzcyB0w6FibMOhdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIG1lZ2hpw7pzdWx0LlxuIgorCisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXM6IGEgL2RldiBrw7ZueXZ0w6FyIG5lbSBsw6l0ZXppay4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogbmVtIGthcGhhdMOzayBpbmZvcm3DoWNpw7NrIGEoeikgJXMgZXN6a8O2enLFkWw6ICVzXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlPFBSSXU2ND4iCisjfiBtc2dzdHIgIiwgZWx0b2zDoXM6ICU8UFJJdTY0PiIKKworI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIiwgdGl0a29zw610w6FzdMOtcHVzOiAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBuZW0ga2FwaGF0w7NrIGluZm9ybcOhY2nDs2sgYSh6KSAlcyBlc3prw7Z6csWRbDogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBuZW0gbnlpdGhhdMOzIG1lZyBhKHopICVzIGVzemvDtno6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IG5pbmNzIGpvZ29zdWx0c8OhZ2EgYSAvZGV2L2xvb3AjIG1lZ2plbGVuw610w6lzw6loZXoiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IE5lbSB0YWzDoWxoYXTDsyBlZ3kgaHVyb2tlc3prw7Z6IHNlbS4gTGVoZXQsIGhvZ3kgZXogYSByZW5kc3plcm1hZyBuZW1cbiIKKyN+ICIgICAgICAgaXNtZXJpIGEgaHVyb2tlc3prw7Z6dD8uIChmb3Jkw610c2Egw7pqcmEgYSByZW5kc3plcm1hZ290IHZhZ3lcbiIKKyN+ICIgICAgICAgYWRqYSBraSBhIOKAnm1vZHByb2JlIGxvb3DigJ0gcGFyYW5jc290LikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIkVsZm9neW90dCBhIG1lbcOzcmlhIGEgcHVmZmVyIG7DtnZlbMOpc2Vrb3IuXG4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJmaWd5ZWxtZXp0ZXTDqXM6IGEoeikgJXMgbcOhciB0w6Fyc8OtdHZhIHZhbiBhIGvDtnZldGtlesWRaMO2ejogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhKHopICUyJHMlMSRzIMOtcsOhc3bDqWRldHQsIGNzYXRvbMOhcyBjc2FrIG9sdmFzaGF0w7Nrw6ludCIKKworI34gbXNnaWQgImlvY3RsIExPT1BfU0VUX0ZEIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiQSBMT09QX1NFVF9GRCBpb2N0bCBtZWdoacO6c3VsdDogJXNcbiIKKworI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc2lrZXJcbiIKKworI34gbXNnaWQgImRlbF9sb29wKCVzKTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJkZWxfbG9vcCglcyk6IHNpa2VyXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBuZW0gdMO2csO2bGhldMWRIGEoeikgJXMgZXN6a8O2ejogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJFeiBhIOKAnm1vdW504oCdIHBhcmFuY3MgaHVyb2tlc3prw7Z6LXTDoW1vZ2F0w6FzIG7DqWxrw7xsIGxldHQgbGVmb3Jkw610dmEuIEZvcmTDrXRzYSDDumpyYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdG9sZW4gbG9vcD0lcy4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogYSh6KSAlcyBodXJva2VzemvDtnp0IGVneSBtw6FzaWsgZm9seWFtYXQgZWxsb3B0YS4uLiDDumpyYXByw7Niw6Fsb21cbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiQSAnbG9vcCcgdMOhbW9nYXTDoXMgbmVtIHZvbHQgZWzDqXJoZXTFkSBmb3Jkw610w6Fza29yLiBGb3Jkw610c2Egw7pqcmEgYSBwcm9ncmFtb3QuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBwYXJ0eCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsdWVdfFstUyB2YWx1ZV0pIChbLXQgdmFsdWVdfFstVCB2YWx1ZV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWy1xIFstaSBpZMWRa29ybMOhdF1dIChbLXMgw6lydMOpa118Wy1TIMOpcnTDqWtdKSAoWy10IMOpcnTDqWtdfFstVCDDqXJ0w6lrXSkgWy1nfC1HXSBmw6FqbCBbZsOhamwuLi5dXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBuZW0gbnlpdGhhdMOzIG1lZzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogJXMgbmVtIG55aXRoYXTDsyBtZWc6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBoaWLDoXMgw6lydMOpa1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiYXogaW5kw610w6FzIG1lZ2hpw7pzdWx0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBpcGNtaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRvdsOhYmJpIGluZm9ybcOhY2nDs2vDqXJ0IHRla2ludHNlIG1lZyBhIHNldGFyY2goOCkga8Opemlrw7ZueXZvbGRhbHQuXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiZWxhdnVsdCBoYXN6bsOhbGF0OiAlcyB7c2htIHwgbXNnIHwgc2VtfSBhem9ub3PDrXTDsyAuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAiSGFzem7DoWxhdDogJXMgWyBbLXEgw7x6ZW5ldGF6b25vc8OtdMOzXSBbLW0gb3N6dG90dG1lbcOzcmlhLWF6b25vc8OtdMOzXVxuIgorI34gIiAgICAgICAgICAgICAgWy1zIHN6ZW1hZm9yYXpvbm9zw610w7NdXG4iCisjfiAiICAgICAgICAgICAgICBbLVEgw7x6ZW5ldGt1bGNzXSBbLU0gb3N6dG90dG1lbcOzcmlhLWt1bGNzXSBbLVMgc3plbWFmb3JrdWxjc10gLi4uIF1cbiIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4ga2V5IgorI34gbXNnc3RyICJpc21lcmV0bGVuIGhpYmEgYSBrdWxjc2JhbiIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgImlzbWVyZXRsZW4gaGliYSBheiBhem9ub3PDrXTDs2JhbiIKKworI34gbXNnaWQgIiVzOiAlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFsgLWRoVjc4bmVvMTIgXSBbIC1zIDxzcGVlZD4gXSBbIC1pIFstXTxpZmxhZz4gXSA8bGRpc2M+IDxkZXZpY2U+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJIYXN6bsOhbGF0OiAlcyBbIC1kaFY3OG5lbzEyIF0gWyAtcyA8c2ViZXNzw6lnPiBdIDxsbGVtZXo+IDxlc3prw7Z6PlxuIgorCisjfiBtc2dpZCAibGRhdHRhY2ggZnJvbSAlc1xuIgorI34gbXNnc3RyICJsZGF0dGFjaCBpbm5lbjogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBIYXN6bsOhbGF0OiDigJ4lcyBba2FwY3NvbMOza11cbiIKKyN+ICJcdCAtbSA8bGVrw6lwZXrDqXNpIGbDoWpsPiAgKGFsYXDDqXJ0ZWxtZXrDqXMgPSDigJ4lc+KAnSkgw6lzXG4iCisjfiAiXHRcdFx0XHQgIOKAniVz4oCdKVxuIgorI34gIlx0IC1wIDxwcm9maWxlLWbDoWpsPiAoYWxhcMOpcnRlbG1lesOpcyA9IOKAniVz4oCdKVxuIgorI34gIlx0IC1NIDxzem9yesOzPiAgIGEgcHJvZmlsb3rDoXNpIHN6b3J6w7MgYmXDoWxsw610w6FzYSBhIDxzem9yesOzcmE+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBjc2FrIGEgbWludGF2w6l0ZWxlesOpc2kgbMOpcMOpc3LFkWwgYWQgaW5mb3Jtw6FjacOzdFxuIgorI34gIlx0IC12ICAgICAgICAgICAgcsOpc3psZXRlcyBhZGF0b2sga2nDrXLDoXNhXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBracOtcmphIGF6IMO2c3N6ZXMgc3ppbWLDs2x1bW90LCBtw6lnIGhhIGF6IMOpcnTDqWtlIDAgaXNcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIGVneWVkaSBoaXN6dG9ncmFtLWJpbiBzesOhbW9rIGtpw61yw6FzYVxuIgorI34gIlx0IC1zICAgICAgICAgICAgZWd5ZWRpIHN6w6FtbMOhbMOzayBracOtcsOhc2EgYSBmw7xnZ3bDqW55ZWtlbiBiZWzDvGxcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIGF6IMO2c3N6ZXMgc3rDoW1sw6Fsw7MgbGVudWxsw6F6w6FzYSAoY3NhayByZW5kc3plcmdhemRhIGpvZ2dhbClcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGEgYsOhanRzb3JyZW5kIGF1dG9tYXRpa3VzIGZlbGlzbWVyw6lzw6luZWsgbGV0aWx0w6FzYVxuIgorI34gIlx0IC1WICAgICAgICAgICAgYSB2ZXJ6acOzc3rDoW0ga2nDrXLDoXNhIMOpcyBraWzDqXDDqXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpYmEgYSh6KSAlcyDDrXLDoXNha29yOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJ0Y3dha2UoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzZXRhcmNoKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVG92w6FiYmkgaW5mb3Jtw6FjacOza8OpcnQgdGVraW50c2UgbWVnIGEgc2V0YXJjaCg4KSBrw6l6aWvDtm55dm9sZGFsdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCBhZGphIGtpIGEg4oCeJXMgLS1oZWxw4oCdIHBhcmFuY3NvdC5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBwcm9ncmFtIFthcmd1bWVudHVtIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyA8ZXN6a8O2ej4gWyAtaSA8bWVnc3pha8OtdMOhcz4gfCAtdCA8aWTFkT4gfCAtYyA8a2FyYWt0ZXJlaz4gfCAtdyA8dsOhcmFrb3rDoXM+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICIlczogaGliw6FzIMOpcnTDqWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb3bDoWJiaSBpbmZvcm3DoWNpw7Nrw6lydCB0ZWtpbnRzZSBtZWcgYSBzZXRhcmNoKDgpIGvDqXppa8O2bnl2b2xkYWx0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNsb3NpbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkhpYmEgYSBmw6FqbCBsZXrDoXLDoXNha29yXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJFbG7DqXrDqXN0LCBtZWd2w6FsdG96dGF0aGF0amEgbmVtIMO8cmVzIHBhcnTDrWNpw7NrIGPDrW1rw6lqw6l0LlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiRmlneWVsbWV6dGV0w6lzOiAlcyBwYXJ0w61jacOzICIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgIgorI34gbXNnc3RyICJGaWd5ZWxtZXp0ZXTDqXM6ICVzIHBhcnTDrWNpw7MgIgorCisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAiw6lzIGEoeikgJXMgw6F0ZmVkaWsgZWd5bcOhc3RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyBbb3B0aW9uc10gZGV2aWNlIFsuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRldmljZSBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYVxuIgorI34gbXNnc3RyICJlc3prw7Z6OiAvZGV2L2hkYSwgL2Rldi9zZGEgdmFneSBlemVraGV6IGhhc29ubMOzIGVzemvDtnpuw6l2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtYSBbLWVdIFstdl0gWy1mXSAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAlMSRzIFstcCBwcmlvcml0eV0gWy1kXSBbLXZdIFstZl0gPHNwZWNpYWw+ICBlbmFibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCB1c2FnZSBzdW1tYXJ5XG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJIYXN6bsOhbGF0OlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSAgICAgICAgICAgICAgICAgIGF6IC9ldGMvZnN0YWIgbWluZGVuIGxhcG96w7N0ZXLDvGxldMOpbmVrXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWthcGNzb2zDoXNhXG4iCisjfiAiICUxJHMgWy1wIHByaW9yaXTDoXNdIFstdl0gPHNwZWNpw6FsaXM+ICBhZG90dCBsYXBvesOzdGVyw7xsZXQgYmVrYXBjc29sw6FzYVxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhcG96w7N0ZXLDvGxldC1oYXN6bsOhbGF0IMO2c3N6ZWd6w6lzw6luZWtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lZ2plbGVuw610w6lzZVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIHPDumfDsyBtZWdqZWxlbsOtdMOpc2VcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJ6acOzIG1lZ2plbGVuw610w6lzZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHNcbiIKKyN+ICIgJTEkcyBbLXZdIDxzcGVjaWFsPiAgICAgICAgICAgICAgIGRpc2FibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkhhc3puw6FsYXQ6XG4iCisjfiAiICUxJHMgLWEgWy12XSAgICAgICAgICAgICAgICAgICAgICBtaW5kZW4gbGFwb3rDs3RlcsO8bGV0IGtpa2FwY3NvbMOhc2FcbiIKKyN+ICIgJTEkcyBbLXZdIDxzcGVjacOhbGlzPiAgICAgICAgICAgICBhZG90dCBsYXBvesOzdGVyw7xsZXQga2lrYXBjc29sw6FzYVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgc8O6Z8OzIG1lZ2plbGVuw610w6lzZVxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyemnDsyBtZWdqZWxlbsOtdMOpc2VcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhhc3puw6FsYXQ6ICVzJXMgW2thcGNzb2zDs2tdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50dW1haV1dXG4iCisjfiAiXG4iCisjfiAiS2FwY3NvbMOzazpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFtrYXBjc29sw7NrXSBlc3prw7Z6IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiAlcyBba2FwY3NvbMOza10gZXN6a8O2eiAuLi5cbiIKKworI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAlcyAtVlxuIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBbZXN6a8O2esO2a11cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBwYXJhbmNzb2sgZXN6a8O2esO2a1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBuZW0gbnlpdGhhdMOzIG1lZ1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWy1uXSBlc3prw7Z6XG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJhIG1hbGxvYyBtZWdoacO6c3VsdCIKKworI34gbXNnaWQgIiVzOiBvcHRpb24gcGFyc2UgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IGthcGNzb2zDs2ZlbGRvbGdvesOhc2kgaGliYVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFsteF0gWy1kIDxzesOhbT5dIGlzbzk2NjAta8OpcFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhhc3puw6FsYXQ6ICVzIFstdl0gWy1OIGlub2RlLW9rIHN6w6FtYV0gWy1WIGvDtnRldG7DqXZdXG4iCisjfiAiICAgICAgIFstRiBmw6FqbHJlbmRzemVybsOpdl0gZXN6a8O2eiBbYmxva2tzesOhbV1cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBzdGF0ICVzIgorI34gbXNnc3RyICIlcyBuZW0gw6lyaGV0xZEgZWwiCisKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAiYSh6KSAlcyBzemVrdG9ybcOpcmV0ZSBuZW0gw6FsbGFww610aGF0w7MgbWVnIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWy1jXSBbLXBMQVBNw4lSRVRdIFstTCBjw61ta2VdIFstVSBVVUlEXSAvZGV2L27DqXYgW2Jsb2trb2tdXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJOaW5jcyBlbMOpZyBtZW3Ds3JpYSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiIgorI34gIkhhc3puw6FsYXQ6XG4iCisjfiAiICAlcyAiCisKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJBIG1lbsO8bmVrIG5pbmNzIGlyw6FueWEuIEFsYXDDqXJ0ZWxtZXpldHRlbiB2w616c3ppbnRlcyBrZXLDvGwgZmVsaGFzem7DoWzDoXNyYS4iCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiUGFyYW5jcyBNxbF2ZWxldFxuIgorI34gIiAlc1xuIgorI34gIiAgIHAgICBlbHPFkWRsZWdlcyBwYXJ0w61jacOzICgxLTQpXG4iCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgLXMgW3ZhZ3kgLS1zaG93LXNpemVdOiBracOtcmphIGVneSBwYXJ0w61jacOzIG3DqXJldMOpdCIKKworI34gbXNnaWQgIiAgICAtZCBbb3IgLS1kdW1wXTogICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0IgorI34gbXNnc3RyICIgICAgLWQgW3ZhZ3kgLS1kdW1wXTogICAgICB1Z3lhbmF6LCBkZSBrw6lzxZFiYmkgYmVtZW5ldG5layBtZWdmZWxlbMWRIGZvcm3DoWJhbiIKKworI34gbXNnaWQgIiAgICAtaSBbb3IgLS1pbmNyZW1lbnRdOiBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwIgorI34gbXNnc3RyICIgICAgLWkgW3ZhZ3kgLS1pbmNyZW1lbnRdOiBjaWxpbmRlcmVrIHN0Yi4gc3rDoW1vesOhc2EgMS10xZFsIMOpcyBuZW0gMC10w7NsIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgZWxmb2dhZMOhcy9qZWxlbnTDqXMgc3pla3Rvci9ibG9ray9jaWxpbmRlci9NQiBlZ3lzw6lnYmVuIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbdmFneSAtLURPU106ICAgICAgIGEgRE9TIGtvbXBhdGliaWxpdMOhc2hveiBlZ3kga2V2w6lzIGhlbHkgZWxwYXphcmzDoXNhIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbdmFneSAtLXJlLXJlYWRdOiAgIGEgcmVuZHN6ZXJtYWcgw7pqcmFvbHZhc3NhIGEgcGFydMOtY2nDs3MgdMOhYmzDoXQiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIGbDoWpsIDogICAgICAgICAgICAgIGEgZmVsw7xsw61yYW5kw7Mgc3pla3Rvcm9rIGbDoWpsYmEgbWVudMOpc2UiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZsOhamwgOiAgICAgICAgICAgICAgYXogZWzFkWJiaXZlbCBtZW50ZXR0IHN6ZWt0b3JvayB2aXNzemHDoWxsw610w6FzYSIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW3ZhZ3kgLS12ZXJzaW9uXTogICB2ZXJ6acOzc3rDoW0ga2nDrXLDoXNhIgorCisjfiBtc2dpZCAiICAgIC0/IFtvciAtLWhlbHBdOiAgICAgIHByaW50IHRoaXMgbWVzc2FnZSIKKyN+IG1zZ3N0ciAiICAgIC0/IFt2YWd5IC0taGVscF06ICAgICAgZXplbiBzw7pnw7Mga2nDrXLDoXNhIgorCisjfiBtc2dpZCAiICAgIC1nIFtvciAtLXNob3ctZ2VvbWV0cnldOiBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiAgICAtZyBbdmFneSAtLXNob3ctZ2VvbWV0cnldOiBracOtcmphIGEgcmVuZHN6ZXJtYWcgZWxrw6lwemVsw6lzw6l0IGEgZ2VvbWV0cmnDoXLDs2wiCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFt2YWd5IC0tTGludXhdOiAgICBuZW0gamVsZXogTGludXggYWxhdHQgbMOpbnllZ3RlbGVuIGRvbGdvayBtaWF0dCIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIkZlbMO8bGLDrXLDoWxoYXRqYSBheiDDqXJ6w6lrZWx0IGdlb21ldHJpw6F0IGEga8O2dmV0a2V6xZFra2VsOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFt2YWd5IC0tZm9yY2VdOiAgICBwYXJhbmNzIHbDqWdyZWhhanTDoXNhLCBha2tvciBpcyBoYSDDqXJ0ZWxtZXRsZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBtZWcga2VsbCBhZG5pYSBhIGbDoWpscmVuZHN6ZXIgdMOtcHVzw6F0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBta2ZzIFstVl0gWy10IGbDoWpscmVuZHN6ZXJ0w61wdXNdIFtmw6FqbHJlbmRzemVyLWJlw6FsbMOtdMOhc29rXSBlc3prw7Z6IFttw6lyZXRdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmVtIG55aXRoYXTDsyBtZWc6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGEoeikgJXMgY3NvbWFnYsOzbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHB1ZmZlciBheiBpbm9kZS1va25hayIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlRvdsOhYmJpIGluZm9ybcOhY2nDs8OpcnQgYWRqYSBraSBhIOKAnmdldG9wdCAtLWhlbHDigJ0gcGFyYW5jc290LlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBnZXRvcHQga2FwY3NvbMOzLWthcmFrdGVybMOhbmMgcGFyYW3DqXRlcmVrXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW2thcGNzb2zDs2tdIFstLV0ga2FwY3NvbMOzLWthcmFrdGVybMOhbmMgcGFyYW3DqXRlcmVrXG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKGtpYsWRdsOtdGV0dCkgMS4xLjRcbiIKKworI34gbXNnaWQgIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLilcbiIKKyN+IG1zZ3N0ciAiKFbDoXJ0IMOpcnTDqWs6IOKAnlVUQ+KAnSB2YWd5IOKAnkxPQ0FM4oCdIHZhZ3kgc2VtbWkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0gYSBoYXJkdmVyw7NyYSBsZWvDqXJkZXrDqXNlIMOpcyBiZcOhbGzDrXTDoXNhIChSVEMpXG4iCisjfiAiXG4iCisjfiAiSGFzem7DoWxhdDogaHdjbG9jayBbZnVua2Npw7NdIFtrYXBjc29sw7NrLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmtjacOzazpcbiIKKyN+ICIgIC0taGVscCAgICAgICAgZXogYSBzw7pnw7NzesO2dmVnXG4iCisjfiAiICAtLXNob3cgICAgICAgIGtpb2x2YXNzYSBhIGhhcmR2ZXLDs3LDoXQgw6lzIG1lZ2plbGVuw610aSBheiBlcmVkbcOpbnl0XG4iCisjfiAiICAtLXNldCAgICAgICAgIGJlw6FsbMOtdGphIGF6IHJ0Yy10IGEgLS1kYXRlIGthcGNzb2zDs3ZhbCBtZWdhZG90dCBpZMWRcmVcbiIKKyN+ICIgIC0taGN0b3N5cyAgICAgYmXDoWxsw610amEgYSByZW5kc3plcmlkxZF0IGEgaGFyZHZlcsOzcsOhYsOzbFxuIgorI34gIiAgLS1zeXN0b2hjICAgICBiZcOhbGzDrXRqYSBhIGhhcmR2ZXLDs3LDoXQgYSBqZWxlbmxlZ2kgcmVuZHN6ZXJpZMWRcmVcbiIKKyN+ICIgIC0tYWRqdXN0ICAgICAgYmXDoWxsw610amEgYXogcnRjLXQgYXogw7NyYSB1dG9sc8OzIGJlw6FsbMOtdMOhc2EgdmFneSBpZ2F6w610w6FzYVxuIgorI34gIiAgICAgICAgICAgICAgICAgIMOzdGEgYmVrw7Z2ZXRrZXpldHQgcmVuZHN6ZXJjc8O6c3rDoXMgZmlneWVsZW1iZSB2w6l0ZWzDqXZlbFxuIgorI34gIiAgLS1nZXRlcG9jaCAgICBracOtcmphIGEgcmVuZHN6ZXJtYWcgaGFyZHZlcsOzcsOhasOhbmFrIGVwb2NoIMOpcnTDqWvDqXRcbiIKKyN+ICIgIC0tc2V0ZXBvY2ggICAgYmXDoWxsw610amEgYSByZW5kc3plcm1hZyBoYXJkdmVyw7Nyw6Fqw6FuYWsgZXBvY2ggw6lydMOpa8OpdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIGF6IC0tZXBvY2gga2FwY3NvbMOzdmFsIG1lZ2Fkb3R0IMOpcnTDqWtyZVxuIgorI34gIiAgLS12ZXJzaW9uICAgICBracOtcmphIGEgaHdjbG9jayB2ZXJ6acOzc3rDoW3DoXQgYSBzemFidsOhbnlvcyBraW1lbmV0cmVcbiIKKyN+ICJcbiIKKyN+ICJLYXBjc29sw7NrOlxuIgorI34gIiAgLS11dGMgICAgICAgICBhIGhhcmR2ZXLDs3JhIGF6IMO2c3N6ZWhhbmdvbHQgdmlsw6FnaWTFkWJlbiDDqXJ0ZWxtZXplbmTFkVxuIgorI34gIiAgLS1sb2NhbHRpbWUgICBhIGhhcmR2ZXLDs3JhIGEgaGVseWkgaWTFkWJlbiDDqXJ0ZWxtZXplbmTFkVxuIgorI34gIiAgLS1ydGM9cGF0aCAgICBheiBhbGFww6lydGVsbWV6ZXR0IGhlbHlldHQgaGFzem7DoWxhbmTDsyBzcGVjacOhbGlzIC9kZXYvLi4uIGbDoWpsXG4iCisjfiAiICAtLWRpcmVjdGlzYSAgIGF6IElTQSBidXN6IGvDtnp2ZXRsZW4gZWzDqXLDqXNlIGEoeikgJXMgaGVseWV0dFxuIgorI34gIiAgLS1iYWR5ZWFyICAgICBheiBydGMgw6l2IMOpcnTDqWvDqW5layBmaWd5ZWxtZW4ga8OtdsO8bCBoYWd5w6FzYSwgbWVydCBhIEJJT1MgaGliw6FzXG4iCisjfiAiICAtLWRhdGUgICAgICAgIG1lZ2FkamEgYXp0IGF6IGlkxZF0LCBhbWVseXJlIGEgaGFyZHZlcsOzcsOhdCBiZSBrZWxsIMOhbGzDrXRhbmlcbiIKKyN+ICIgIC0tZXBvY2g9w6l2ICAgIG1lZ2FkamEgYXp6IGF6IMOpdmV0LCBhbWVseWV0IGEgaGFyZHZlcsOzcmEgZXBvY2gta8OpbnQga2V6ZWxcbiIKKyN+ICIgIC0tbm9hZGpmaWxlICAgbmVtIGhhc3puw6FsamEgYXogL2V0Yy9hZGp0aW1lIGbDoWpsdC4gTWVna8O2dmV0ZWxpIGEgLS11dGMgdmFneVxuIgorI34gIiAgICAgICAgICAgICAgICAgIGEgLS1sb2NhbHRpbWUga2FwY3NvbMOzayBlZ3lpa8OpbmVrIGhhc3puw6FsYXTDoXRcbiIKKyN+ICIgIC0tYWRqZmlsZT3DunR2b25hbCBtZWdhZGphIGF6IGlnYXrDrXTDoXNpIGbDoWpsIMO6dHZvbmFsw6F0IChheiBhbGFww6lydGVsbWV6ZXR0IGF6XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJuZW0gbGVoZXQgbGVmb2dsYWxuaSBhIGtpaW5kdWzDsyBzesO2dmVnZXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtc1V3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIYXN6bsOhbGF0OiAlcyBbLThoaUxtVXddIFstbCBiZWzDqXB0ZXTFkV9wcm9ncmFtXSBbLXQgaWTFkXTDumxsw6lww6lzXSBbLUkga2lpbmR1bMOzX3N6w7Z2ZWddIFstSCBiZWplbGVudGtlesOpc2lfZ8OpcG7DqXZdIMOhdHZpdGVsaV9zZWJlc3PDqWcsLi4uIHZvbmFsIFt0ZXJtaW7DoWx0w61wdXNdXG4iCisjfiAidmFneVx0Wy1oaUxtd10gWy1sIGJlbMOpcHRldMWRX3Byb2dyYW1dIFstdCBpZMWRdMO6bGzDqXDDqXNdIFstSSBraWluZHVsw7Nfc3rDtnZlZ10gWy1IIGJlamVsZW50a2V6w6lzaV9nw6lwbsOpdl0gdm9uYWwgw6F0dml0ZWxpX3NlYmVzc8OpZywuLi4gW3Rlcm1pbsOhbHTDrXB1c11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW3kgfCBuXSIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogUk9TU1ogSElCQSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1uXSBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2bDoWpsXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IHJlYWQ6ICVzIgorI34gbXNnc3RyICIlczogbmVtIG9sdmFzaGF0w7MgYSh6KSAlcy5cbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBsb2dnZXIgWy1pc10gWy1mIGbDoWpsXSBbLXAgcHJpXSBbLXQgY8OtbWtlXSBbLXUgZm9nbGFsYXRdIFsgw7x6ZW5ldCAuLi4gXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvb2sgWy1kZmFdIFstdCBjaGFyXSBzdHJpbmcgW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQgOiBsb29rIFstZGZhXSBbLXQga2FyYWt0ZXJdIGthcmFrdGVybMOhbmMgW2bDoWpsXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICJlbGZvZ3lvdHQgYSBtZW3Ds3JpYT9cbiIKKworI34gbXNnaWQgImNhbGw6ICVzIGZyb20gdG8gZmlsZXMuLi5cbiIKKyN+IG1zZ3N0ciAiaMOtdsOhczogJXMgYSBmw6FqbG9raG96Li4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtmw6FqbF1cbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVkLiDDrXLDoXNpIGhpYmE6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiDDrXLDoXNpIGhpYmE6ICVzXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyBzb2NrZXRwYXRoXSBbLVQgdGltZW91dF1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogbGFzdCBbLSNdIFstZiBmw6FqbF0gWy10IHRlcm1pbsOhbF0gWy1oIGfDqXBuw6l2XSBbZmVsaGFzem7DoWzDsyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIGplbHrDqXMgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgW2bDoWpsXVxuIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBrw7ZueXZ0w6FyIC4uLiAtZiBdIG7DqXYuLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6IHdyaXRlIGZlbGhhc3puw6Fsw7MgW3Rlcm1pbsOhbF1cbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWc6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVua25vd25cbiIKKyN+IG1zZ3N0ciAiaXNtZXJldGxlbiIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJIYXN6bsOhbGF0OiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fMOzw7M6cHB8K3BlcmNdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIkEgbGXDoWxsw610w6FzaSBmb2x5YW1hdCBtZWdzemFrw610dmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib25seSByb290IGNhbiBzaHV0IGEgc3lzdGVtIGRvd24uIgorI34gbXNnc3RyICIlczogQ3NhayByZW5kc3plcmdhemRhIMOhbGzDrXRoYXRqYSBsZSBhIHJlbmRzemVydC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj8iCisjfiBtc2dzdHIgIkV6dCBob2xuYXAga2VsbCwgbmVtIHR1ZCBhZGRpZyB2w6Fybmk/XG4iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJrYXJiYW50YXJ0w6FzaSBjw6lsbGFsOyBwYXR0LCBwYXR0IgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiQSByZW5kc3plciA1IHBlcmNlbiBiZWzDvGwgbGXDoWxsIgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJBIGJlamVsZW50a2V6w6lzIGVtaWF0dCBsZSB2YW4gdGlsdHZhLiIKKworI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiw7pqcmFpbmTDrXRvdHRhOiAlczogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJsZcOhbGzDrXRvdHRhOiAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV2h5IGFtIEkgc3RpbGwgYWxpdmUgYWZ0ZXIgcmVib290PyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk1pw6lydCDDqWxlayBheiDDumpyYWluZMOtdMOhcyB1dMOhbj8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiTm93IHlvdSBjYW4gdHVybiBvZmYgdGhlIHBvd2VyLi4uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTW9zdCBtw6FyIGtpa2FwY3NvbGhhdGphIGEgc3rDoW3DrXTDs2fDqXBldC4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJBIHJlbmRzemVybWFnIGtpa2FwY3NvbMOhc2kgc3pvbGfDoWx0YXTDoXPDoW5hayBow612w6FzYS4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJIaWJhIGEga2lrYXBjc29sw6FzIHNvcsOhblx0JXNcbiIKKworI34gbXNnaWQgIkV4ZWN1dGluZyB0aGUgcHJvZ3JhbSBcIiVzXCIgLi4uXG4iCisjfiBtc2dzdHIgIuKAniVz4oCdIHByb2dyYW0gZnV0dGF0w6FzYS4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiU8OcUkfFkFM6IHN6w7NydCDDvHplbmV0IGEga8O2dmV0a2V6xZF0xZFsOiAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJBIHJlbmRzemVyICVkIMOzcmEgJWQgcGVyYyBtw7psdmEgbGXDoWxsIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkEgcmVuZHN6ZXIgMSDDs3JhICVkIHBlcmMgbcO6bHZhIGxlw6FsbCIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiQSByZW5kc3plciAlZCBwZXJjIG3Dumx2YSBsZcOhbGxcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIkEgcmVuZHN6ZXIgMSBwZXJjIG3Dumx2YSBsZcOhbGxcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIElNTUVESUFURUxZIVxuIgorI34gbXNnc3RyICJBIHJlbmRzemVyIEFaT05OQUwgbGXDoWxsIVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx0Li4uICVzIC4uLlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IGVsaW5kw610YW5pIGEgc3dhcG9mZiBwcm9ncmFtb3QuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgc3dhcG9mZiwgaG9waW5nIHVtb3VudCB3aWxsIGRvIHRoZSB0cmljay4iCisjfiBtc2dzdHIgIk5lbSBsZWhldCB2w6lncmVoYWp0YW5pIGEgc3dhcG9mZiBwcm9ncmFtb3QsIHRhbMOhbiBheiB1bW91bnQgbWVnb2xkamEuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiTmVtIGxlaGV0IGVsaW5kw610YW5pIGF6IHVtb3VudCBwcm9ncmFtb3QsIHByw7Niw6FsamEgbWVnIHNhasOhdCBrZXrFsWxlZy4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiQSh6KSAlcyBuZW0gaGFqdGhhdMOzIHbDqWdyZSwga8Otc8OpcmxldCBheiB1bW91bnQgdsOpZ3JlaGFqdMOhc8OhcmEuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJOZW0gbGVoZXQgdsOpZ3JlaGFqdGFuaSBheiB1bW91bnQgcHJvZ3JhbW90LCBmZWxhZG9tIGEga8Otc8OpcmxldGV0LiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAiQSBtZWdtYXJhZHQgZsOhamxyZW5kc3plcmVrIGxldsOhbGFzenTDoXNhLi4uIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IE5lbSBsZWhldCBsZXbDoWxhc3p0YW5pIGEga8O2dmV0a2V6xZF0OiAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiSW5kdWzDoXMgZWd5IGZlbGhhc3puw6Fsw7NzIG3Ds2RiYW4uXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJheiBlZ3kgZmVsaGFzem7DoWzDs3MgcGFyYW5jc8OpcnRlbG1lesWRIHbDqWdyZWhhanTDoXNhIG1lZ2hpw7pzdWx0XG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJheiBlZ3kgZmVsaGFzem7DoWzDs3MgcGFyYW5jc8OpcnRlbG1lesWRIGluZMOtdMOhc2EgbWVnaGnDunN1bHRcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJoaWJhIGEgZmlmbyBtZWdueWl0w6FzYSBrw7Z6YmVuXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJoaWJhIGEgYmV6w6Fyw6FzIHbDqWdyZWhhanTDoXNrb3IgYml0IGJlw6FsbMOtdMOhc2Frb3IgYSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJoaWJhIGF6IHV0b2xzw7MgcHJvZ3JhbSBmdXR0YXTDoXNhIHNvcsOhblxuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiaGliYSBheiB1dG9sc8OzIHByb2dyYW0gaW5kw610w6FzYSBzb3LDoW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlJvc3N6IGplbHN6w7MuXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJheiBpbmTDrXTDoXMgbWVnaGnDunN1bHRcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAibmVtIG55aXRoYXTDsyBtZWcgYXogaW5pdHRhYiBmw6FqbFxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAibmluY3MgVEVSTSB2YWd5IG5lbSDDqXJoZXTFkSBlbCBhIHRlcm1pbsOhbHRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJoaWJhIGEgc3pvbGfDoWx0YXTDoXMgbGXDoWxsw610w6FzYWtvcjog4oCeJXPigJ0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJoaWJhIGEgc3pvbGfDoWx0YXTDoXMgbGXDoWxsw610w6FzYWtvcjog4oCeJXPigJ0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiaGliYSBhIHN6b2xnw6FsdGF0w6FzIGxlw6FsbMOtdMOhc2Frb3I6IOKAniVz4oCdIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWy1jXSBbLW4gc3ppbnRdIFstcyBwdWZmZXJtw6lyZXRdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IHN0cmR1cCBmYWlsZWQiCisjfiBtc2dzdHIgImEgc3phYnbDoW55b3Mga2ltZW5ldHJlIMOtcsOhcyBtZWdoacO6c3VsdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogY29sIFstYmZweF0gWy1sIHNvcnN6w6FtXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWyAtIF0gWyAtMiBdIFsgZsOhamwgLi4uIF1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmb3Jtw6F0dW1dIFstZiBmb3Jtw6F0dW1fZsOhamxdIFstbiBob3Nzel0gWy1zIGtpaGFnecOhc10gW2bDoWpsIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQ6ICVzIFstZGZscGNzdV0gWytzb3JzesOhbSB8ICsvbWludGFdIG7DqXYxIG7DqXYyIC4uLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogbmVtIG9sdmFzaGF0w7MgYSh6KSAlcy5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGEgc29yIHTDumwgaG9zc3rDui5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYSBtYWxsb2MgbWVnaGnDunN1bHQiCisKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogdGFpbGYgWy1uIE4gfCAtTl0gbmFwbMOzZsOhamwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZsOhamwuLi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkEoeikgJXMgbmVtIG55aXRoYXTDsyBtZWdcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBhbnkgbW9yZSBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiTmVtIGZvZ2xhbGhhdMOzIGxlIHTDtmJiIG1lbcOzcmlhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZ290IEVPRiB0aHJpY2UgLSBleGl0aW5nLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkjDoXJvbSBFT0Ygw6lya2V6ZXR0IC0tIGtpbMOpcMOpcy4uXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiQSBwYXJ0w61jacOzIGF6IHV0b2xzw7MgcsOpc3psZWdlcyBjaWxpbmRlciB1dMOhbiB2w6lnesWRZGlrIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IG1lbcOzcmlhZm9nbGFsw6FzaSBoaWJhLlxuIgorCisjfiBtc2dpZCAibG9naW46IE91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAibG9naW46IEVsZm9neW90dCBhIG1lbcOzcmlhXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjogbmluY3MgcGFyYW5jc8OpcnRlbG1lesWROiAlcy5cbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0Z2lkIgorI34gbXNnc3RyICJuZXdncnA6IHNldGdpZCIKKworI34gbXNnaWQgIm5ld2dycDogUGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm5ld2dycDogSG96esOhZsOpcsOpcyBtZWd0YWdhZHZhIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiBuZW0gb2x2YXNoYXTDsyBhKHopICVzLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBuZW0gw6lyaGV0xZEgZWwgYXogaWRlaWdsZW5lcyBmw6FqbC5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkIHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogbmVtIG9sdmFzaGF0w7MgYXogaWRlaWdsZW5lcyBmw6FqbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6ICVzIgorI34gbXNnc3RyICIlczogw61yw6FzaSBoaWJhOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IGVsZm9neW90dCBhIG1lbcOzcmlhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiDDqXMgIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiDDqXJ2w6lueXRlbGVuIGthcGNzb2zDsyAtLSAlY1xuIgorCisjfiBtc2dpZCAic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisjfiBtc2dzdHIgImxlZm9nbGFsdCBzemVnbWVuc2VrOiAgICAlZFxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICJsZWZvZ2xhbHQgbGFwb2s6ICAgICAgICAgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgIm1lbcOzcmnDoWJhbiBtYXJhZMOzIGxhcG9rOiAlbGRcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiTGFwb3rDs3RlcsO8bGV0IHRlbGplc8OtdG3DqW55ZTogJWxkIGvDrXPDqXJsZXRcdCAlbGQgc2lrZXJlc1xuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogaXNtZXJldGxlbiBmZWxoYXN6bsOhbMOzICglcylcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6IGhpYsOhcyDDqXJ0w6lrICglcylcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXM6IMOpcnbDqW55dGVsZW4gaWTFkWvDtnogKCVzIG3DoXNvZHBlcmMpXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IMOpcnbDqW55dGVsZW4gdGltZV90IMOpcnTDqWsgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5lbSBjw61ta8OpemhldMWRIMOhdCAoZXJyZTogJXMpOiAlc1xuIgorCisjfiBtc2dpZCAicnRjIHJlYWQiCisjfiBtc2dzdHIgInJ0YyBvbHZhc8OhcyIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAibWVtw7NyaWFmb2dsYWzDoXNpIGhpYmEiCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkhhc3puw6FsYXQgOiBjb2x1bW4gWy10eF0gWy1jIG9zemxvcG9rXSBbZsOhamwgLi4uXVxuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBheiBvZCgxKSBlbGF2dWx0LCBhIGhleGR1bXAoMSkgaGFzem7DoWxhbmTDsy5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGEgaGV4ZHVtcCgxKSBrb21wYXRpYmlsaXTDoXMgbmVtIHTDoW1vZ2F0amEgYSAtJWMga2FwY3NvbMOzdCVzXG4iCisKKyN+IG1zZ2lkICI7IHNlZSBzdHJpbmdzKDEpLiIKKyN+IG1zZ3N0ciAiOyBsw6FzZCBzdHJpbmdzKDEpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk5pbmNzIGVsw6lnIG1lbcOzcmlhIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnNwYWNlIgorI34gbXNnc3RyICJuZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVydGVyw7xsZXQiCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiSGFzem7DoWxhdDogcmV2IFtmw6FqbCAuLi5dXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJOZW0gZm9nbGFsaGF0w7MgbGUgcHVmZmVydC5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiRWxmb2d5b3R0IGEgbWVtw7NyaWEgYSBwdWZmZXIgbsO2dmVsw6lzZWtvci5cbiIKZGlmZiAtLWdpdCBhL3BvL2lkLnBvIGIvcG8vaWQucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNiZWFlZgotLS0gL2Rldi9udWxsCisrKyBiL3BvL2lkLnBvCkBAIC0wLDAgKzEsMjY1ODYgQEAKKyMgUGVzYW4gQmFoYXNhIEluZG9uZXNpYSB1bnR1ayB1dGlsLWxpbnV4CisjIENvcHlyaWdodCAoQykgMjAwNSBBZHJpYW4gQnVuayA8YnVua0BzdHVzdGEuZGU+CisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBmcmVlbHkgY29weSBhbmQgZGlzdHJpYnV0ZQorIyB0aGlzIGZpbGUgYW5kIG1vZGlmaWVkIHZlcnNpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMKKyMgaGVhZGVyIGlzIG5vdCByZW1vdmVkIGFuZCBtb2RpZmllZCB2ZXJzaW9ucyBhcmUgbWFya2VkCisjIGFzIHN1Y2guCisjIEFyaWYgRS4gTnVncm9obyA8YXJpZl9lbmRyb0B5YWhvby5jb20+LCAyMDA2LCAyMDA4LCAyMDA5LCAyMDEwLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC1uZyAyLjE3LjEtcmMxXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTgtMDMtMjEgMTM6MTIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTAtMDItMTggMDQ6MDArMDcwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogQXJpZiBFLiBOdWdyb2hvIDxhcmlmX2VuZHJvQHlhaG9vLmNvbT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBJbmRvbmVzaWFuIDx0cmFuc2xhdGlvbi10ZWFtLWlkQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJMYW5ndWFnZTogaWRcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1JU08tODg1OS0xXG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjUzIGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNDQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTMKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxMzMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTUgbWlzYy11dGlscy9raWxsLmM6MjY5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTEgbWlzYy11dGlscy9yZW5hbWUuYzoxOTkgbWlzYy11dGlscy93aGVyZWlzLmM6NTE4CisjOiBzeXMtdXRpbHMvZmxvY2suYzoxNzUgc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHN5cy11dGlscy9sZGF0dGFjaC5jOjM2OAorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE0NiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDEgc3lzLXV0aWxzL3R1bmVscC5jOjE1MgorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NTkgdGVybS11dGlscy9hZ2V0dHkuYzo4NjAgdGVybS11dGlscy9hZ2V0dHkuYzo4NjgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODY5CisjLCBmdXp6eQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJBcmd1bWVuIHRpZGFrIGN1a3VwIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJzZXQgaGFueWEtYmFjYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgInNldCBiYWNhLXR1bGlzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJnZXQgaGFueWEtYmFjYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImdldCB1a3VyYW4gbG9naWthbCBibG9rIChzZWt0b3IpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBmaXNpayBibG9rIChzZWt0b3IpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgImdldCB1a3VyYW4gbWluaW1hbCBJL08iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBvcHRpbWFsIEkvTyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiZ2V0IHBlbnllc3VhaWFuIG9mc2V0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJnZXQgbWFrc2ltYWwgc2VrdG9yIHNldGlhcCBwZXJtaW50YWFuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAiZ2V0IGJsb2Nrc2l6ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImdldCBzaXplIGluIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAic2V0IHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgImdldCByZWFkYWhlYWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAiZmx1c2ggYnVmZmVycyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTMKK21zZ2lkICJDYWxsIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk2CisjLCBmdXp6eQorbXNnaWQgIiAtcSAgICAgICAgICAgICBxdWlldCBtb2RlIgorbXNnc3RyICIgICAgLXEgIFthdGF1IC0tcXVpZXRdOiAgICBtZW5la2FuIHBlc2FuIHBlcmluZ2F0YW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiUGVyaW50YWggeWFuZyB0ZXJzZWRpYTpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiRGFwYXRrYW4gdWt1cmFuIGRhbGFtIDUxMi1ieXRlIHNla3RvciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IHBlcmFuZ2thdCBsb29wIGRpc3Blc2lmaWthc2lrYW4gZHVhIGthbGkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzAKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCB1a3VyYW4gZGlzayIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiJXM6IFBlcmludGFoIHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIG1lbWJ1dHVoa2FuIHNlYnVhaCBhcmd1bWVudFxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogaW9jdGwgZXJyb3IgcGFkYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiJXMgZ2FnYWwuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBzdWtzZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgQXdhbFNla3QgICAgICAgICAgICBVa3VyYW4gUGVyYW5na2F0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIkJvb3RhYmxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiVWJhaCB0YW5kYSBib290YWJsZSBkYXJpIHBhcnRpc2kgdGVycGlsaWgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJIYXB1cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJIYXB1cyBwYXJ0aXNpIHRlcnBpbGloIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJSZXNpemUiCittc2dzdHIgIiwgYmVzYXI9JTlsdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJIYXB1cyBwYXJ0aXNpIHRlcnBpbGloIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiQmFydSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIkJ1YXQgcGFydGlzaSBiYXJ1IGRhcmkgcnVhbmcga29zb25nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIkJlcmhlbnRpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIkJlcmhlbnRpIGRhcmkgYXBsaWthc2kgdGFucGEgbWVudWxpcyB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MSBsaWJmZGlzay9zcmMvYnNkLmM6NDM4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMSBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OQorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMjYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUaXBlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgdWJhaCBpZCBkYXJpIHBhcnRpc2kgc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIkJhbnR1YW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIkNldGFrIGxheWFyIGJhbnR1YW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworIywgZnV6enkKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIGJldHVsa2FuIHVydXRhbiBkYXJpIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIlR1bGlzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIlR1bGlzIHRhYmVsIHBhcnRpc2kga2UgZGlzayAoSW5pIG11bmdraW4gYWthbiBtZW5naGFuY3Vya2FuIGRhdGEpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIkNldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgImZzY2s6ICVzOiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiTm9tb3IgcGFydGlzaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpc2k6XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMxNgorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyMworbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyB0ZWxhaCBkaSBtb3VudC5cdCAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJJZGVudGlmaWthc2kgZGlzazogMHglMDh4XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJsYWJlbDogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAibmFtYSBiZXJrYXMgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgImdldCBzaXplIGluIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJnZXQgc2l6ZSBpbiBieXRlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJQYXJ0aXNpIHlhbmcgdGVycGlsaWggJWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW51bGlzIGJlcmthcyBzY3JpcHQsIGVycm9yOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTkKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiQW5kYSB0aWRhayBha2FuIGRhcGF0IG1lbnVsaXMga2UgdGFiZWwgcGFydGlzaS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhIHR5cGVzY3JpcHQgYmVya2FzICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhIHR5cGVzY3JpcHQgYmVya2FzICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDkKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTEyCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgImdhZ2FsIG1lbWJhY2EgdHlwZXNjcmlwdCBiZXJrYXMgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExNgorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiVGlwZSBpbGVnYWxcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorIywgZnV6enkKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRGlzayAlcyB0aWRhayBtZW1pbGlraSBzZWJ1YWggdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzYKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJJbmkgYWRhbGFoIGNmZGlzaywgc2VidWFoIHByb2dyYW0gdW50dWsgbWVtcGFydGlzaSBkaXNrIGJlcmJhc2lzIGN1cnNlcywgeWFuZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJtZW11bmdraW5rYW4gYW5kYSB1bnR1ayBtZW1idWF0LCBtZW5naGFwdXMsIGRhbiBtZW1vZGlmaWthc2kgcGFydGlzaSBkaSBwZXJhbmdrYXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJQZXJpbnRhaCAgICAgQXJ0aSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgVWJhaCB0YW5kYSBib290YWJsZSBwYWRhIHBhcnRpc2kgdGVycGlsaWgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgSGFwdXMgcGFydGlzaSB0ZXJwaWxpaCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAgQ2V0YWsgbGF5YXIgaW5pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgTWVtYnVhdCBwYXJ0aXNpIGJhcnUgZGFyaSBydWFuZyB5YW5nIHRlcnNpc2Eva29zb25nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBLZWx1YXIgZGFyaSBwcm9ncmFtIHRhbnBhIG1lbnVsaXMgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg2CisjLCBmdXp6eQorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0ZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworIywgZnV6enkKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgIFViYWggdGlwZSBmaWxlc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgVHVsaXMgdGFiZWwgcGFydGlzaSBrZSBkaXNrIChoYXJ1cyBtZW5nZXRpa2thbiBodXJ1ZiBiZXNhciBXKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgICBLYXJlbiBpbmkgbXVuZ2tpbiBtZW5naGFuY3Vya2FuIGRhdGEgZGkgZGlzaywgYW5kYSBoYXJ1cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIG1lbmdrb25maXJtYXNpa2FuIGF0YXUgbWVub2xhayBwZW51bGlzYW4gZGVuZ2FuIG1lbmdldGlra2FuICd5ZXMnIGF0YXUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MgorIywgZnV6enkKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFuYWggQXRhcyAgIE1lbWluZGFoa2FuIGN1cnNvciBrZSBwYXJ0aXNpIHNlYmVsdW1ueWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIlBhbmFoIEJhd2FoICBNZW1pbmRhaGthbiBjdXJzb3Iga2UgcGFydGlzaSBzZXN1ZGFobnlhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIlBhbmFoIEF0YXMgICBNZW1pbmRhaGthbiBjdXJzb3Iga2UgcGFydGlzaSBzZWJlbHVtbnlhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTYKKyMsIGZ1enp5Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiUGFuYWggQmF3YWggIE1lbWluZGFoa2FuIGN1cnNvciBrZSBwYXJ0aXNpIHNlc3VkYWhueWEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIkNhdGF0YW46IFNlbXVhIHBlcmludGFoIGRhcGF0IGRpa2V0aWtrYW4gZGVuZ2FuIG1lbmdndW5ha2FuIGh1cnVmICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5CisjLCBmdXp6eQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJiZXNhciBhdGF1IGh1cnVmIGtlY2lsIChrZWN1YWxpIHVudHVrIHBlbnVsaXNhbiBrZSBkaXNrKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorIywgZnV6enkKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlRla2FuIHNlYnVhaCB0b21ib2wgdW50dWsgbWVsYW5qdXRrYW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBhcnRpc2kgeWFuZyB0ZXJwaWxpaCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJQYXJ0aXNpICVkIHRpZGFrIG1lbWlsaWtpIGFyZWEgZGF0YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpc2k6XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJNZW5ndWJhIHRpcGUgc2lzdGVtIHBhcnRpc2kgZGFyaSAlZCBtZW5qYWRpICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0CisjLCBmdXp6eQorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgIlNoZWxsIGJhcnUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBkaWRlZmluaXNpa2FuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQyNyBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDMgZGlzay11dGlscy9mZGlzay5jOjEwNjMKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5MQorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzIKKyMsIGZ1enp5Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJBcGFrYWggYW5kYSB5YWtpbiBpbmdpbiBtZW51bGlzIHRhYmVsIHBhcnRpc2kga2UgZGlzaz8gKHlhIGF0YXUgdGlkYWspOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJ5YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQwCisjLCBmdXp6eQorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJUaWRhayBtZW51bGlzIHRhYmVsIHBhcnRpc2kgZGkgZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiVGFiZWwgcGFydGlzaSB0ZWxhaCBkaXViYWghXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisiXG4iCisiTWFzdWthbiB0YWJlbCBwYXJ0aXNpIHRpZGFrIGRhbGFtIHVydXRhbiBkaXNrXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjMyIGRpc2stdXRpbHMvZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzoxODQzCisjLCBmdXp6eQorbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAidGlkYWsgYWRhIHBlcmludGFoP1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgInBlbmdndW5hYW46IHNmZGlzayAtLWlkIHBlcmFuZ2thdCBub21vci1wYXJ0aXNpIFtJZF1cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIk1lbWZvcm1hdCAuLi4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAic2VsZXNhaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlZlcmlmaWthc2kgLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJCYWNhOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJNYXNhbGFoIGRhbGFtIG1lbWJhY2EgY3lsaW5kZXIgJWQsIGRpcGVya2lyYWthbiAlZCwgdGVyYmFjYSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImRhdGEgamVsZWsgZGFsYW0gY3lsICVkXG4iCisiTWVsYW5qdXRrYW4gLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgInN0YXQgZ2FnYWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI2IGRpc2stdXRpbHMvcGFydHguYzoxMDEwIG1pc2MtdXRpbHMvbHNibGsuYzoxNTAxCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NyBzeXMtdXRpbHMvYmxrem9uZS5jOjEwMQorIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggYmxvY2sgZGV2aWNlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5lbnR1a2FuIHRpcGUgZm9ybWF0IHNhYXQgaW5pIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwga2FwYXNpdGFzICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJSYW5na2FwIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJTYXR1IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUzIG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorIywgZnV6enkKK21zZ2lkICJjbG9zZSBmYWlsZWQiCittc2dzdHIgImdhZ2FsIHNlZWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBkZWZhdWx0ICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gbmlsYWkgZGVmYXVsdCAldVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIyIGRpc2stdXRpbHMvZmRpc2suYzoyOTYgZGlzay11dGlscy9mZGlzay5jOjM3MQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyNDEgbGliZmRpc2svc3JjL2dwdC5jOjI0NjkKKyMsIGZ1enp5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiTmlsYWkgZGlsdWFyIGRhcmkgamFuZ2thdWFuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgZGVmYXVsdCAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIGRlZmF1bHQgJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBkZWZhdWx0ICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBkZWZhdWx0ICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2OSBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDc5CisjLCBmdXp6eQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIktvZGUgaGV4IChrZXRpayBMIHVudHVrIGRhZnRhciBkYXJpIGtvZGUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiS29kZSBoZXggKGtldGlrIEwgdW50dWsgZGFmdGFyIGRhcmkga29kZSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJUYW5kYSBrb21wYXRpYmlsaXRhcyBET1MgdGVsYWggZGlzZXRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MworIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIlRhbmRhIGtvbXBhdGliaWxpYXMgRE9TIGJlbHVtIGRpc2V0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJQYXJ0aXNpICVkIGJlbHVtIGFkYSFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE4IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAzCittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiVGlkYWsgZGlrZXRhaHVpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIk1lbmd1YmEgdGlwZSBzaXN0ZW0gcGFydGlzaSBkYXJpICVkIG1lbmphZGkgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVsYWt1a2FuIGZvcmsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1iYWNhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxIGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOTgKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJQZXJ0YW1hICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBnYWdhbCBkaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIGZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorIywgZnV6enkKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiTWFzdWtrYW4ganVtbGFoIGRhcmkgY3lsaW5kZXI6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAgICAtSCMgW2F0YXUgLS1oZWFkcyAjXTogIHNldCBqdW1sYWggZGFyaSBoZWFkcyB5YW5nIGRpZ3VuYWthbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIk1hc3Vra2FuIGp1bWxhaCBzZWt0b3IgcGVyIHRyYWNrOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTggZGlzay11dGlscy9mZGlzay5jOjkwMCBkaXNrLXV0aWxzL3BhcnR4LmM6ODczCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKKyMsIGZ1enp5Cittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVtdWthbiBwZXJhbmdrYXQgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIkJ1a2FuIGRpcmVrdG9yaSAlcyFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJ0aWRhayBhZGEgcGVyaW50YWg/XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJQZXJpbmdhdGFuOiBwaWxpaGFuIC1iIChzZXQgdWt1cmFuIHNla3Rvcikgc2VoYXJ1c255YSBkaWd1bmFrYW4gZGVuZ2FuIHNhbGFoIHNhdHVwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMzMgZGlzay11dGlscy9mZGlzay5jOjEwNDggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY5NQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg3CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTY3IGRpc2stdXRpbHMvcmF3LmM6MTM3IGRpc2stdXRpbHMvcmF3LmM6MTUwCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2MiBkaXNrLXV0aWxzL3Jhdy5jOjIwMyBtaXNjLXV0aWxzL2NhbC5jOjUyMAorIzogbWlzYy11dGlscy9maW5kZnMuYzo1OCBtaXNjLXV0aWxzL2xvb2suYzoxNTAgbWlzYy11dGlscy93aGVyZWlzLmM6NTczCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo1ODQgbWlzYy11dGlscy93aGVyZWlzLmM6NTk1IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYzNworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTA0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYyIHNjaGVkdXRpbHMvdGFza3NldC5jOjE4OQorIzogc3lzLXV0aWxzL2NoY3B1LmM6MzQ0IHN5cy11dGlscy9jaG1lbS5jOjQxOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDY5CisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzIxIHN5cy11dGlscy9sb3NldHVwLmM6ODg4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDI1IHN5cy11dGlscy9sc21lbS5jOjYyOCBzeXMtdXRpbHMvbW91bnQuYzo2OTgKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxMSBzeXMtdXRpbHMvbW91bnQuYzo3ODAgc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxODEKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzIgc3lzLXV0aWxzL3N3YXBvZmYuYzoyMzAgc3lzLXV0aWxzL3N3YXBvbi5jOjk4OAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjUwIHN5cy11dGlscy91bW91bnQuYzo1MjggdGVybS11dGlscy9zZXR0ZXJtLmM6MTE3NgorIzogdGV4dC11dGlscy9jb2wuYzoyMzMgdGV4dC11dGlscy9tb3JlLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgImJhZCB1c2FnZSIKK21zZ3N0ciAibmlsYWkgd2FrdHUgdGltZW91dCBidXJ1azogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTYgZGlzay11dGlscy9zZmRpc2suYzoxNjE2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJNZW1idWF0IHNlYnVhaCBkaXNrbGFiZWwgc3VuIGJhcnUuIFBlcnViYWhhbiBha2FuIHRldGFwIGJlcmFkYSBkaSBtZW1vcmksXG4iCisic2FtcGFpIGFuZGEgbWVtdXR1c2thbiB1bnR1ayBtZW51bGlzIHBlcnViYWhhbiB0ZXJzZWJ1dC4gU2VzdWRhaCBpdHUsIHRlbnR1XG4iCisiLCBpc2kgc2ViZWx1bW55YSB0aWRhayBkYXBhdCBkaSBrZW1iYWxpa2FuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIkRpc2sgRHJpdmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJJZGVudGlmaWthc2kgZGlzazogMHglMDh4XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiJWQgaGVhZHMsICVsbHUgc2VrdG9yL3RyYWNrLCAlZCBjeWxpbmRlcnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJVbml0cyA9ICVzIGRhcmkgJWQgKiAlZCA9ICVkIGJ5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlVrdXJhbiBzZWt0b3IgKGxvZ2lrYWwvZmlzaWthbCk6ICV1IGJ5dGVzIC8gJWx1IGJ5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICJVa3VyYW4gSS9PIChtaW5pbWFsL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiUGVueWVzdWFpYW4gb2ZzZXQ6ICVsdSBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjM2CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpc2kgJWkgdGlkYWsgYmVyYXdhbCBkaSBwZXJiYXRhc2FuIHNla3RvciBmaXNpay5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiIgorIlxuIgorIk1hc3VrYW4gdGFiZWwgcGFydGlzaSB0aWRhayBkYWxhbSB1cnV0YW4gZGlza1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjUKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI4IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIwCisjLCBmdXp6eQorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJhd2FsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjI0MjYKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI5IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIxCittc2dpZCAiRW5kIgorbXNnc3RyICJBa2hpciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI5CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNAorbXNnaWQgIlNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIiVzOiBQZXJpbnRhaCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorIywgZnV6enkKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBoYXB1cyBzZWJ1YWggcGFydGlzaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgIiAgIGUgICBsaXN0IHBhcnRpc2kgZXh0ZW5kZWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorIywgZnV6enkKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAiICAgbCAgIGxpc3QgdGlwZSBwYXJ0aXNpIHlhbmcgZGlrZXRhaHVpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgbiAgIHRhbWJhaGthbiBzZWJ1YWggcGFydGlzaSBiYXJ1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiSGFueWEgY2V0YWsgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgdWJhaCBpZCBkYXJpIHBhcnRpc2kgc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIHYgICB2ZXJpZmlrYXNpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorIywgZnV6enkKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IGJ1a2FuIHNlYnVhaCBibG9jayBkZXZpY2VcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIGNldGFrIGRhdGEgbWVudGFoIChyYXcpIGRpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICBjZXRhayBkYXRhIG1lbnRhaCAocmF3KSBkaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBiZXR1bGthbiB1cnV0YW4gZGFyaSBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIiAgIG0gICBjZXRhayBtZW51IGluaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgICB1ICAgdWJhaCBzYXR1YW4gZGFyaSB0YW1waWxhbi9tYXN1a2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiICAgeCAgIGZ1bmdzaSB0YW1iYWhhbiAoZXhwZXJ0IG9ubHkpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE3Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiICAgdyAgIHR1bGlzIHRhYmVsIGtlIGRpc2sgZGFuIGtlbHVhciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIiAgIHcgICB0dWxpcyBkaXNrbGFiZWwgZGkgZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiICAgcSAgIGtlbHVhciB0YW5wYSBtZW55aW1wYW4gcGVydWJhaGFuIHlhbmcgdGVsYWggZGlsYWt1a2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIGtlbWJhbGkga2UgbWVudSB1dGFtYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI2Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICIgICBzICAgYnVhdCBzZWJ1YWggZGlza2xhYmVsIFN1biB5YW5nIGtvc29uZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgYnVhdCBzZWJ1YWggdGFiZWwgcGFydGlzaSBET1MgYmFydSB5YW5nIGtvc29uZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGJ1YXQgc2VidWFoIHRhYmVsIHBhcnRpc2kgRE9TIGJhcnUgeWFuZyBrb3NvbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGJ1YXQgc2VidWFoIHRhYmVsIHBhcnRpc2kgRE9TIGJhcnUgeWFuZyBrb3NvbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGJ1YXQgc2VidWFoIHRhYmVsIHBhcnRpc2kgRE9TIGJhcnUgeWFuZyBrb3NvbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0NQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIGcgICBidWF0IHNlYnVhaCBJUklYIChTR0kpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiICAgYyAgIHViYWggbm9tb3IgZGFyaSBjeWxpbmRlcnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICIgICBoICAgdWJhaCBqdW1sYWggZGFyaSBoZWFkcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiICAgcyAgIHViYWgganVtbGFoIHNla3Rvci90cmFjayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJiZXJ1YmFoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGlzaTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgIGEgICB1YmFoIHRhbmRhIGJvb3RhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICIgICBjICAgdWJhaCB0YW5kYSBrb21wYXRpYmlsaXRhcyBkb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICIgICBhICAgdWJhaCB0YW5kYSByZWFkIG9ubHkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAiICAgYSAgIHViYWggdGFuZGEgcmVhZCBvbmx5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYyAgIHViYWggdGFuZGEgZGFwYXQgZGkgbW91bnQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiAgIGEgICB1YmFoIG5vbW9yIGRhcmkgYWx0ZXJuYXRpZiBjeWxpbmRlcnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICIgICBlICAgdWJhaCBqdW1sYWggc2VrdG9yIGxlYmloIGRhcmkgc2V0aWFwIGN5bGluZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIgICBpICAgdWJhaCBmYWt0b3IgaW50ZXJsZWF2ZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiICAgbyAgIHViYWgga2VjZXBhdGFuIHJvdGFzaSAocnBtKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIgICB5ICAgdWJhaCBqdW1sYWggZGFyaSBwaHlzaWNhbCBjeWxpbmRlcnMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorIywgZnV6enkKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSByYXciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgcGlsaWggcGFydGlzaSB5YW5nIGJvb3RhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiICAgYiAgIGVkaXQgbWFzdWthbiBib290ZmlsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGMgICBwaWxpaCBwYXJ0aXNpIHN3YXAgc2dpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDgKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgIGEgICB1YmFoIHRhbmRhIGJvb3RhYmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgYiAgIGVkaXQgYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiICAgYyAgIHViYWggdGFuZGEga29tcGF0aWJpbGl0YXMgZG9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYiAgIHBpbmRhaGthbiBhd2FsIGRhcmkgZGF0YSBkYWxhbSBzZWJ1YWggcGFydGlzaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgdWJhaCBpZGVudGlmaWthc2kgZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorIywgZnV6enkKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIiAgIGUgICBlZGl0IGRhdGEgZHJpdmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworIywgZnV6enkKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiICAgaSAgIGluc3RhbGwgYm9vdHN0cmFwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiAgIHMgICB0YW1waWxrYW4gZGlza2xhYmVsIHNlY2FyYSBsZW5na2FwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICIgICB4ICAgc2FtYnVuZyBCU0QgcGFydGlzaSBrZSBub24tQlNEIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiQmFudHVhbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIlBlcmludGFoIGV4cGVydCAobSB1bnR1ayBiYW50dWFuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJQZXJpbnRhaCAobSB1bnR1ayBiYW50dWFuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIkFwYWthaCBhbmRhIGJlbmFyIC0gYmVuYXIgaW5naW4gbWVsYW5qdXRrYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IHBlcmludGFoIHRpZGFrIGRpa2V0YWh1aVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW51bGlzIGJlcmthcyBzY3JpcHQsIGVycm9yOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTE4CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVkIGJlcmlzaSBzZWt0b3IgMFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiQW5kYSBpbmdpbiBtZW51bGlzIGluaSBrZSBkaXNrPyBbeW5xXSAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIiAgIGYgICBiZXR1bGthbiB1cnV0YW4gZGFyaSBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIlRpZGFrIGFkYSBwYXJ0aXNpIHlhbmcgZGlkZWZpbmlzaWthblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGlzaSB5YW5nIHRlcnBpbGloICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiTWVuZ3ViYWggc2F0dWFuIHRhbXBpbGFuL21hc3VrYW4gbWVuamFkaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiTWVuZ3ViYWggc2F0dWFuIHRhbXBpbGFuL21hc3VrYW4gbWVuamFkaSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2OTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODY4CisjLCBmdXp6eQorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBlZGl0IGJzZCBkaXNrbGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgZWRpdCBic2QgZGlza2xhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NjEKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorIywgZnV6enkKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiVXNlcm5hbWUgKHBlbmdndW5hKSB0aWRhayBsZWdhbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIGVkaXQgYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIkp1bWxhaCBkYXJpIGN5bGluZGVycyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0NAorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgaGVhZHMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgc2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgdGVsYWggZGkgbW91bnQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgImZzY2s6ICVzOiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1iYWNhICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgbGliL3BhdGguYzoxNjMgbGliL3BhdGguYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJyb3IgbWVuZ2FtYmlsXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIm5hbWVpOiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGRpcmVrdG9yaSBzYWF0IGluaSAtICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIlNpbmtyb25pc2FzaSBkaXNrcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKKyMsIGZ1enp5Cittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICIlcyBzdWtzZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgIiVzIGdhZ2FsLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYSB0eXBlc2NyaXB0IGJlcmthcyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDcyIG1pc2MtdXRpbHMvZmluZG1udC5jOjc4NCBtaXNjLXV0aWxzL2xzYmxrLmM6NDQ2CisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDEgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgImVycm9yIG1lbmdhbWJpbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgZm9yayIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW51bGlzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICIlczogdHVuZ2d1OiBUaWRhIGFkYSBwcm9zZXMgYW5hayBsYWdpPyE/XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCBnYWdhbCIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiUGVyaW5nYXRhbi4uLiAlcyB1bnR1ayBwZXJhbmdrYXQgJXMga2VsdWFyIGRlbmdhbiBzaW55YWwgJWQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBzdGF0dXMgYWRhbGFoICV4LCBzZWhhcnVzbnlhIHRpZGFrIHBlcm5haCB0ZXJqYWRpLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIlNlbGVzYWkgZGVuZ2FuICVzIChzdGF0dXMga2VsdWFyICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICIlczogRXJyb3IgJWQga2V0aWthIG1lbmphbGFua2FuIGZzY2suJXMgdW50dWsgJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyJCYWlrIHNlbHVydWggYXRhdSBrb3NvbmcgZGFyaSB0aXBlIHNpc3RlbSBiZXJrYXMgZGlsZXdhdGthbiBrZSAtdCBoYXJ1c1xuIgorImRpYXdhbGkgZGVuZ2FuICdubycgYXRhdSAnIScuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogbWVsZXdhdGthbiBiYXJpcyBidXJ1ayBkYWxhbSAvZXRjL2ZzdGFiOiBqYWxhbmthbiBtb3VudCBkZW5nYW4gdGFoYXAgYnVrYW4gbm9sIGRpIGZzY2tcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBtZWxld2F0a2FuIHBlcmFuZ2thdCB5YW5nIHRpZGFrIGFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIm1vdW50OiB0aXBlIGZpbGVzeXN0ZW0gdGlkYWsgZGlrZXRhaHVpICclcyciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgImZzY2s6IHRpZGFrIGRhcGF0IG1lbWVyaWtzYSAlczogZnNjay4lcyB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI3MAorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIk1lbWVyaWtzYSBzZWx1cnVoIHNpc3RlbSBiZXJrYXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0tbWVudW5nZ3UtLSAodGFoYXAgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNZW1lcmlrc2Egc2VsdXJ1aCBzaXN0ZW0gYmVya2FzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0CisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICJNZW1lcmlrc2Egc2VsdXJ1aCBzaXN0ZW0gYmVya2FzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk3CisjLCBmdXp6eQorbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBVYmFoIHRpcGUgZmlsZXN5c3RlbSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAgICAtbCBbYXRhdSAtLWxpc3RdOiAgICB0YW1waWxrYW4gcGFydGlzaSBkaSBzZXRpYXAgcGVyYW5na2F0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAgSGFwdXMgcGFydGlzaSB0ZXJwaWxpaCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQxMworbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICIlczogdGVybGFsdSBiYW55YWsgcGVyYW5na2F0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKKyMsIGZ1enp5Cittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIkFwYWthaCAvcHJvYyB0ZWxhaCB0ZXJwYXNhbmc/XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIkhhcnVzIHJvb3QgdW50dWsgZGFwYXQgbWVtaW5kYWkgdW50dWsgbWVuY29jb2thbiBzaXN0ZW0gYmVya2FzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5lbXVrYW4gc2lzdGVtIGJlcmthcyB5YW5nIGNvY29rOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICIlczogdGVybGFsdSBiYW55YWsgYXJndW1lblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTQ3IGRpc2stdXRpbHMvZnNjay5jOjE1NTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICJBbmRhIG1lbnNwZXNpZmlrYXNpa2FuIGN5bGluZGVyIHlhbmcgbGViaWggYmVzYXIgZGFyaSB1a3VyYW4gZGkgZGlzayIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2OSBtaXNjLXV0aWxzL2tpbGwuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyBtZW1idXR1aGthbiBzZWJ1YWggYXJndW1lbnRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNAorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsIGdhZ2FsOiB0aWRhayBkYXBhdCBtZW5lbnR1a2FuIHVrdXJhbiBwZXJhbmdrYXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9rIGF0YXUgYmVya2FzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJwYW5qYW5nIGJlcmthcyB0ZXJsYWx1IHBlbmRlayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBzZWVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAidGFuZGEgc3VwZXIgYmxvayB0aWRhayBkaXRlbXVrYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIkxheWFuYW4gc2lzdGVtIGJlcmthcyB0aWRhayBkaWR1a3VuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgInVrdXJhbiBzdXBlciBibG9rICglZCkgdGVybGFsdSBrZWNpbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAiYmVya2FzIGJldWt1cmFuIGtvc29uZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNQorIywgZnV6enkKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAiUGVyaW5nYXRhbjogYmVya2FzIG1lbGV3YXRpIGFraGlyIGRhcmkgc2lzdGVtIGJlcmthc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJwZXJpbmdhdGFuOiBmb3JtYXQgY3JhbWZzIGxhbWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWVyaWtzYSBDUkM6IGZvcm1hdCBjcmFtZnMgbGFtYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJTxQUkl1MzI+IGJ5dGVzIGZyb20gZmlsZSAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYSB0eXBlc2NyaXB0IGJlcmthcyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3NAorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY3JjIGVycm9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBzZWVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA4CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiYWthciBpbm9kZSBidWthbiBzZWJ1YWggZGlyZWt0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAib2ZzZXQgYWthciBidXJ1ayAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MgorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJkYXRhIGJsb2sgdGVybGFsdSBiZXNhciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImRla29tcHJlc2kgZXJyb3IgJXAoJWQpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGx1YmFuZyBkaSAlbGQgKCV6ZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIG1lbmdla3N0cmFrIGJsb2NrIGRpICVsZCBrZSAlbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIkJ1a2FuIGJsb2NrICglbGQpIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiYnVrYW4gdWt1cmFuICglbGQgdnMgJWxkKSBieXRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVudWxpczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biBnYWdhbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24gZ2FnYWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIGdhZ2FsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZGlyZWt0b3JpIGlub2RlIG1lbWlsaWtpIG9mc2V0IGtvc29uZyBkYW4gdWt1cmFuIHRpZGFrIGtvc29uZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWtkaXI6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgInBhbmphbmcgbmFtYSBiZXJrYXMgbm9sIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAicGFuamFuZyBuYW1hIGJlcmthcyBidXJ1ayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgIm9mc2V0IGlub2RlIGJ1cnVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImJlcmthcyBpbm9kZSBtZW1pbGlraSBvZnNldCBub2wgZGFuIHVrdXJhbiBidWthbiBub2wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiYmVya2FzIGlub2RlIG1lbWlsaWtpIHVrdXJhbiBub2wgZGFuIG9mc2V0IGJ1a2FuIG5vbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJsaW5rIHNpbWJvbGlrIG1lbWlsaWtpIG9mc2V0IG5vbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAibGluayBzaW1ib2xpayBtZW1pbGlraSB1a3VyYW4gbm9sIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgImtlc2FsYWhhbiB1a3VyYW4gZGFsYW0gc3ltbGluayAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgInN5bWxpbmsgZ2FnYWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAiYmVya2FzIHNwZXNpYWwgbWVtaWxpa2kgb2ZzZXQgYnVrYW4gbm9sOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyBtZW1pbGlraSB1a3VyYW4gYnVrYW4gbm9sOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJzb2tldCBtZW1pbGlraSB1a3VyYW4gYnVrYW4gbm9sOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICJtb2RlIHBhbHN1OiAlcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIm1rbm9kIGdhZ2FsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiZGlyZWt0b3JpIGRhdGEgYmVyYXdhbCAoJWxkKSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIGF3YWwgKCVsZCkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImFraGlyIGRhdGEgZGlyZWt0b3JpICglbGQpICE9IGJlcmthcyBkYXRhIHN0YXJ0ICglbGQpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJvZnNldCBiZXJrYXMgZGF0YSB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ1bW91bnQ6ICVzOiBwZXJhbmdrYXQgYmxvY2sgdGlkYWsgdmFsaWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTWVtZXJpa3NhIHNlbHVydWggc2lzdGVtIGJlcmthcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIFsgLWZpbGUgZHVtcGZpbGVuYW1lIF1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiYnV0dWggdGVybWluYWwgdW50dWsgaW50ZXJhdGl2ZSByZXBhaXJzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIFViYWggdGlwZSBmaWxlc3lzdGVtIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgdGVsYWggZGkgbW91bnQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkFwYWthaCBhbmRhIGJlbmFyIC0gYmVuYXIgaW5naW4gbWVsYW5qdXRrYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJtZW1iYXRhbGthbiBwZW1lcmlrc2Fhbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmUgbnIgPCBGSVJTVFpPTkUgZGFsYW0gZmlsZSBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmUgbnIgPj0gWk9ORVMgZGFsYW0gZmlsZSBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiSGFwdXMgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiUmVhZCBlcnJvcjogdGlkYWsgZGFwYXQgbWVuLXNlZWsga2UgYmxvY2sgZGFsYW0gZmlsZSBgJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIlJlYWQgZXJyb3I6IGJsb2NrIGJ1cnVrIGRhbGFtIGZpbGUgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJLZXNhbGFoYW4gaW50ZXJuYWw6IG1lbmNvYmEgdW50dWsgbWVudWxpcyBiYWQgYmxvY2tcbiIKKyJQZXJtaW50YWFuIG1lbnVsaXMgZGlhYmFpa2FuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBkYWxhbSBmaWxlICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiUGVyaW5nYXRhbjoganVtbGFoIGlub2RlIHRlcmxhbHUgYmVzYXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJzZWVrIGZhaWxlZCBkYWxhbSB3cml0ZV9zdXBlcl9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51bGlzIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJUaWRhayBtZW51bGlzIHBldGEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVudWxpcyBwZXRhIHpvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnVsaXMgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJ0aWRhayBtZW5nYWxva2FzaWthbiBwZW55YW5nZ2EgdW50dWsgYmxvayBzdXBlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY3Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJhY2Egc3VwZXIgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImp1bWxhaCBtYWdpYyB0aWRhayBiYWlrIGRhbGFtIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIkhhbnlhIDFrIGJsb2NrL3pvbmVzIHlhbmcgZGlsYXlhbmkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJmaWVsZCBzX2ltYXBfYmxvY2tzIGJ1cnVrIGRhbGFtIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiZmllbGQgc19pbWFwX2Jsb2NrcyBidXJ1ayBkYWxhbSBzdXBlci1ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImZpZWxkIHNfaW1hcF9ibG9ja3MgYnVydWsgZGFsYW0gc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJmaWVsZCBzX3ptYXBfYmxvY2sgYnVydWsgZGFsYW0gc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gYnVmZmVyIHVudHVrIHBldGEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBidWZmZXIgdW50dWsgcGV0YSBkYWVyYWggKHpvbmUgbWFwKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBidWZmZXIgdW50dWsgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gYnVmZmVyIHVudHVrIG1lbmdoaXR1bmcgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIGJ1ZmZlciB1bnR1ayBtZW5naGl0dW5nIHpvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBwZXRhIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBwZXRhIHpvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpbm9kZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2Nrc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJGaXJzdGRhdGF6b25lPSVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZXNpemU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJNYXhzaXplPSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJLZWFkYWFuIGZpbGVzeXN0ZW09JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm5hbWVsZW49JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIklub2RlICVkIGRpdGFuZGFpIHRpZGFrIGRpZ3VuYWthbiwgdGV0YXBpIGRpZ3VuYWthbiB1bnR1ayBmaWxlICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJkaXRhbmRhaSBzZWRhbmcgZGlndW5ha2FuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJGaWxlIGAlcycgbWVtaWxpa2kgbW9kZSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiUGVyaW5nYXRhbjoganVtbGFoIGlub2RlIHRlcmxhbHUgYmVzYXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJyb290IGlub2RlIHRpZGFrIGJlcnVwYSBzZWJ1YWggZGlyZWt0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvY2sgdGVsYWggZGlndW5ha2FuIHNlYmVsdW1ueWEuIFNla2FyYW5nIGRhbGFtIGZpbGUgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkJlcnNpaCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJCbG9jayAlZCBkYWxhbSBmaWxlIGAlcycgZGkgdGFuZGFpIHRpZGFrIHNlZGFuZyBkaWd1bmFrYW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI2Cittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiQmVuYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiRGlyZWt0b3JpICclcycgYmVyaXNpIGp1bWxhaCBpbm9kZSB5YW5nIGJ1cnVrIHVudHVrIGZpbGUgJyUuKnMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNDEKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgSGFwdXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IGRpcmVrdG9yaSBidXJ1azogJy4nIGJ1a2FuIHlhbmcgcGVydGFtYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IGRpcmVrdG9yaSBidXJ1azogJy4uJyB0aWRhayBrZWR1YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAia2VzYWxhaGFuIGludGVybmFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGRpcmVrdG9yaSBidXJ1azogdWt1cmFuIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogZGlyZWt0b3JpIGJ1cnVrOiAnLicgYnVrYW4geWFuZyBwZXJ0YW1hXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzgKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiZ2FnYWwgc2VlayBkYWxhbSBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIk1vZGUgSW5vZGUgJWQgdGlkYWsgZGliZXJzaWhrYW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVkIHRpZGFrIGRpZ3VuYWthbiwgZGl0YW5kYWkgZGlndW5ha2FuIGRhbGFtIGJpdG1hcC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVkIGRpZ3VuYWthbiwgZGl0YW5kYWkgZGlndW5ha2FuIGRhbGFtIGJpdG1hcC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiU2V0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVkIChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCB0ZXJoaXR1bmc9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIlNldCBpX25saW5rcyBrZSBqdW1sYWgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmUgJWQ6IGRpdGFuZGFpIHNlZGFuZyBkaWd1bmFrYW4sIHRpZGFrIGFkYSBmaWxlIHlhbmcgbWVuZ2d1bmFrYW5ueWEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDEKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIlRpZGFrIGRpdGFuZGFpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlZDogc2VkYW5nIGRpZ3VuYWthbiwgdGVyaGl0dW5nPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uZSAlZDogdGlkYWsgc2VkYW5nIGRpZ3VuYWthbiwgdGVyaGl0dW5nPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTkKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidWt1cmFuIGlub2RlIGJ1cnVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzAxCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInVrdXJhbiBpbm9kZSB2MiBidXJ1ayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgImJ1dHVoIHRlcm1pbmFsIHVudHVrIGludGVyYXRpdmUgcmVwYWlycyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgYmVyc2loLCB0aWRhayBwZXJsdSBkaWNoZWNrLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiTWVtYWtzYSBwZW1lcmlrc2FhbiBmaWxlc3lzdGVtIGRpICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJGaWxlc3lzdGVtIGRpICVzIGtvdG9yLCBwZXJsdSB1bnR1ayBkaWNoZWNrLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgaW5vZGVzIGRpZ3VuYWthbiAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25lcyBkaWd1bmFrYW4gKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWt0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXMlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBGSUxFIFNZU1RFTSBURUxBSCBCRVJVQkFIIFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQzMiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzgKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTQxIGRpc2stdXRpbHMvcGFydHguYzoxMDU4IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExNAorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwMAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTEgc3lzLXV0aWxzL2RtZXNnLmM6NjYxIHN5cy11dGlscy93ZGN0bC5jOjM0NworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDEyIHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjk4IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzc1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODcgdGV4dC11dGlscy9wZy5jOjEyNTYKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW51bGlzOiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IGVycm9yIG1lbWJhY2EgZGkgJXNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJzZWN0b3IgdGVyaGl0dW5nOiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPiAuLi5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIkp1bWxhaCBkYXJpIGJhcmlzIHRpZGFrIHZhbGlkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5hbWEgdm9sdW1lIHRlcmxhbHUgcGFuamFuZyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1OAorbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJmc25hbWUgbmFtYSB0ZXJsYWx1IHBhbmphbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggdWt1cmFuIGRhcmkgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImJsb2NrIGFyZ3VtZW50IHRlcmxhbHUgYmVzYXIsIG1ha3NpbWFsIGFkYWxhaCAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgaW5vZGVzIC0gbWFrc2ltYWwgYWRhbGFoIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJydWFuZyB0aWRhayBjdWt1cCwgYnV0dWggcGFsaW5nIHRpZGFrICVsbHUgYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIlBlcmFuZ2thdDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJWb2x1bWU6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIkZTbmFtZTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9ja1NpemU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbm9kZXM6ICVkIChkYWxhbSAxIGJsb2NrKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlczogJWQgKGRhbGFtICVsbGQgYmxvaylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2s6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUgYWtoaXI6ICVkLCBEYXRhIGFraGlyOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjYyCittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJlcnJvciBtZW51bGlzIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZXJyb3IgbWVudWxpcyBpbm9kZSByb290IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZXJyb3IgbWVudWxpcyBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MQorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgInNlZWsgZXJyb3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImVycm9yIG1lbnVsaXMgLiBlbnRyeSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwMQorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgImVycm9yIG1lbnVsaXMgLi4gZW50cnkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZXJyb3IgbWVudXR1cCAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIlBlbmdndW5hYW46IG1rZnMgWy1WXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OQorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJnYWdhbCBtZW5qYWxhbmthbiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXNcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisicGVuZ2d1bmFhbjogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLWggICAgICAgICB0YW1waWxrYW4gYmFudHVhbiBpbmlcbiIKKyIgLXYgICAgICAgICBtZW5qYWRpIGxlYmloIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtZW1idWF0IHNlbXVhIHBlcmluZ2F0YW4gbWVuamFkaSBlcnJvcnMgKHN0YXR1cyBleGl0IHlhbmcgdGlkYWsgbm9sKVxuIgorIiAtYiBibGtzaXplIG1lbmdndW5ha2FuIHVrdXJhbiBibGtzeiwgaGFydXMgc2FtYSBkZW5nYW4gdWt1cmFuIHBhZ2VcbiIKKyIgLWUgZWRpdGlvbiBtZW5zZXQgbm9tb3IgZWRpc2kgKGJhZ2lhbiBkYXJpIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IHRpcGUgZW5kaWFuIGRhcmkgY3JhbWZzIChiaWd8bGl0dGxlfGhvc3QpLCBiYWt1IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBtZW1hc3Vra2FuIGZpbGUgaW1hZ2Uga2VkYWxhbSBmaWxlc3lzdGVtIChidXR1aCBrZXJuZWwgPj0gMi40LjApXG4iCisiIC1uIG5hbWUgICAgbWVuc2V0IG5hbWEgZGFyaSBmaWxlc3lzdGVtIGNyYW1mc1xuIgorIiAtcCAgICAgICAgIHBhZCBkZW5nYW4gJWQgYnl0ZXMgZGFyaSBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IG1hc3VrYW4gZGlyZWt0b3JpIChwaWxpaGFuIGxhbWEsIGRpYWJhaWthbilcbiIKKyIgLXogICAgICAgICBtZW1idWF0IGxvYmFuZyBzZWNhcmEgZWtzcGxpc2l0IChidXR1aCBrZXJuZWwgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgIGFrYXIgZGFyaSBmaWxlc3lzdGVtIHlhbmcgYWthbiBkaSBrb21wcmVzc1xuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgImdhZ2FsIG1lbWJhY2E6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgImFrYXIgaW5vZGUgYnVrYW4gc2VidWFoIGRpcmVrdG9yaSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiZmlsZXN5c3RlbSB0ZXJsYWx1IGJlc2Fyci4gS2VsdWFyLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIG1lbmphZGkgPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBmaWxlICclcyciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1MgorbXNnaWQgImludmFsaWQgZW5kaWFubmVzcyBnaXZlbjsgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgInBlcmluZ2F0YW46IHBlcmtpcmFhbiBkYXJpIHVrdXJhbiB5YW5nIGRpYnV0dWhrYW4gKGJhdGFzIGF0YXMpIGFkYWxhaCAlbGxkTUIsIHRldGFwaSBtYWtzaW1hbCB1a3VyYW4gaW1hZ2UgYWRhbGFoICV1TUIuIEtpdGEgbXVuZ2tpbiBha2FuIG1hdGkgc2VjYXJhIHByZW1hdHVyZS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgInBldGEgaW1hZ2UgUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiVGVybWFzdWs6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJEYXRhIGRpcmVrdG9yaTogJXpkIGJ5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJTZWx1cnVobnlhOiAlemQga2lsb2J5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJTdXBlciBibG9rOiAlemQgYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAidGlkYWsgY3VrdXAgcnVhbmcgdW50dWsgbWVuZ2Fsb2thc2lrYW4gaW1hZ2UgUk9NICglbGxkIHRlcmFsb2thc2ksICV6dSBkaWd1bmFrYW4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICJnYWdhbCBtZW51bGlzIGltYWdlIFJPTSAoJXpkICV6ZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiaW1hZ2UgUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAicGVyaW5nYXRhbjogZmlsZW5hbWVzIGRpa2VjaWxrYW4gbWVuamFkaSAyNTUgYnl0ZXMuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJwZXJpbmdhdGFuOiBmaWxlIGRpbGV3YXRpIGthcmVuYSBhZGEgZXJyb3IuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAicGVyaW5nYXRhbjogdWt1cmFuIGZpbGUgZGlrZWNpbGthbiBtZW5qYWRpICVsdU1CIChrdXJhbmcgMSBieXRlKS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiUGVyaW5nYXRhbjogdWlkcyBkaXBvdG9uZyBtZW5qYWRpICV1IGJpdHMuIChJbmkgbXVuZ2tpbiBtZXJ1cGFrYW4gbWFzYWxhaCBrZWFtYW5hbi4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIlBlcmluZ2F0YW46IGdpZHMgZGlwb3RvbmcgbWVuamFkaSAldSBiaXRzLiAoSW5pIG11bmdraW4gbWVydXBha2FuIG1hc2FsYWgga2VhbWFuYW4uKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiUEVSSU5HQVRBTjogbm9tb3IgcGVyYW5na2F0IGRpcG90b25nIG1lbmphZGkgJXUgYml0cy4gSW5pIG11bmdraW4gYmVyYXJ0aVxuIgorImJlYmVyYXBhIGRldmljZSBmaWxlcyBtdW5na2luIHNhbGFoLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorIywgZnV6enkKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICJNYXN1a2thbiBqdW1sYWggZGFyaSBjeWxpbmRlcjogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJzZWVrIHVudHVrIGJvb3QgYmxvY2sgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJlcnNpaGthbiBib290IHNlY3RvciIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51bGlzIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51bGlzIGlub2RlIG1hcCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51bGlzIHpvbmUgbWFwIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW51bGlzIGlub2RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiZ2FnYWwgbWVudWxpcyBkYWxhbSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAidGVybGFsdSBiYW55YWsgYmFkIGJsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAidGlkYWsgY3VrdXAgZ29vZCBibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbGQgaW5vZGVzXG4iCittc2dzdHJbMV0gIiVsZCBpbm9kZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbGQgYmxvY2tzXG4iCittc2dzdHJbMV0gIiVsZCBibG9ja3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiWm9uZXNpemU9JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlVrdXJhbiBNYWtzaW1hbD0lbGRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICJzZWVrIGdhZ2FsIHNlbGFtYSBwZW5nZXRlc2FuIGJsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJOaWxhaSBhbmVoIGRhbGFtIGRvX2NoZWNrOiBtdW5na2luIGJ1Z3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIGNoZWNrX2Jsb2NrcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiYmFkIGJsb2NrcyBzZWJlbHVtIGRhZXJhaCBkYXRhOiB0aWRhayBkYXBhdCBtZW1idWFrIGZzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMV0gIiVkIGJhZCBibG9ja3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSBkYXJpIGJhZCBibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICJiYWRibG9jayBub21vciBtYXN1a2FuIGVycm9yIGRpIGJhcmlzICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1iYWNhIGJlcmthcyBibG9rIGJ1cnVrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgInVrdXJhbiBibG9rIGxlYmloIGtlY2lsIGRhcmkgdWt1cmFuIHNla3RvciBmaXNpayBkYXJpICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbnR1a2FuIHVrdXJhbiBkYXJpICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgYmxvayB0ZXJsYWx1IGtlY2lsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjUgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIkxheWFuYW4gc2lzdGVtIGJlcmthcyB0aWRhayBkaWR1a3VuZyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyB0ZXItbW91bnQ7IHRpZGFrIGFrYW4gbWVtYnVhdCBmaWxlc3lzdGVtIGhlcmUhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJVa3VyYW4gcGFnZSAlZCB5YW5nIGRpc3Blc2lmaWthc2lrYW4gcGVuZ2d1bmEgdGlkYWsgYmFpa1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gdWt1cmFuIHBhZ2UgJWQgeWFuZyBkaXNwZXNpZmlrYXNpa2FuIHBlbmdndW5hLCBkYXJpIHBhZGEgbWVuZ2d1bmFrYW4gdWt1cmFuIHN5c3RlbSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiTGFiZWwgdGVsYWggZGlwb3RvbmcuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgInRpZGFrIHRlcmRhcGF0IGxhYmVsLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAidGlkYWsgYWRhIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTMKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhayBwYWdlcyB5YW5nIGJ1cnVrIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgcGFnZSBidXJ1a1xuIgorbXNnc3RyWzFdICIlbHUgcGFnZSBidXJ1a1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIHByb2JlIGxpYmJsa2lkIGJhcnUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbXBhdGthbiBwZXJhbmdrYXQga2UgcGVuZWxpdGlhbiBsaWJsa2lkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGlsaWhhbiB1bnR1ayBub2xvY2sgdGlkYWsgZGlsYXlhbmkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYzIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg5IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM2Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkyCittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdoYXB1cyBzZWt0b3IgYm9vdGJpdHMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczogJXM6IHBlcmluZ2F0YW46IGphbmdhbiBoYXB1cyBzZWt0b3IgYm9vdGJpdHNcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgICglcyB0YWJlbCBwYXJ0aXNpIHRlcmRldGVrc2kpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKGRpa29tcGlsYXNpIHRhbnBhIGxpYmJsa2lkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJHdW5ha2FuICVzIC1sIHVudHVrIG1lbGloYXQgbGlzdC5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiAlczogdGlkYWsgZGFwYXQgbWVudWxpcyBwYWdlIHNpZ25hdHVyZTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbmRhcGF0a2FuIHVrdXJhbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgInBlbWJ1YXRhbiBzZW1hcGhvciBnYWdhbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImtlY2VwYXRhbiAlZCB0aWRhayBkaWR1a3VuZyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIlMSRzOiBwZXJpbmdhdGFuOiBtZW5nYWJhaWthbiAtVSAoVVVJRHMgdGlkYWsgZGlkdWt1bmcgb2xlaCAlMSRzKVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICJlcnJvcjogVVVJRCBwYXJzaW5nIGdhZ2FsIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorIywgZnV6enkKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiVzOiBlcnJvcjogVGlkYWsgYWRhIHRlbXBhdCB1bnR1ayBtZW5zZXQgc3dhcD9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIiVzOiBlcnJvcjogdWt1cmFuICVsbHUgS2lCIGxlYmloIGJlc2FyIGRhcmkgdWt1cmFuIHBlcmFuZ2thdCAlbGx1IEtpQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICIlczogZXJyb3I6IGRhZXJhaCBzd2FwIG1lbWJ1dHVoa2FuIHNldGlkYWtueWEgJWxkIGtpQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIiVzOiBwZXJpbmdhdGFuOiBtZW1vdG9uZyBkYWVyYWggc3dhcCBtZW5qYWRpICVsbHUga2lCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBlcnJvcjogJXMgdGVyLW1vdW50OyB0aWRhayBha2FuIG1lbWJ1YXQgc3dhcHNwYWNlLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBtb2RlIHRpZGFrIGFtYW4gJTA0bywgZGlzYXJhbmthbiBtZW5nZ3VuYWthbiBtb2RlICUwNG8uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IG1vZGUgdGlkYWsgYW1hbiAlMDRvLCBkaXNhcmFua2FuIG1lbmdndW5ha2FuIG1vZGUgJTA0by4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW4gc2V0LXVwIHN3YXAtc3BhY2U6IHRpZGFrIGRhcGF0IGRpYmFjYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJNZW1idWF0IHN3YXBzcGFjZSB2ZXJzaSAxLCB1a3VyYW4gPSAlbGx1IGtpQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczogJXM6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc2VsaW51eCBmaWxlIGxhYmVsOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNworbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVsYWt1a2FuIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVhdCBjb250ZXh0IHNlbGludXggYmFydSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW50dWthbiBjb250ZXh0IHNlbGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdnYW50aSBuYW1hICVzIG1lbmphZGkgJXM6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJIYW55YSBjZXRhayB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiR2FnYWwgbWVudWxpcyBwYXJ0aXNpIGRpICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgc2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiTm9tb3IgcGFydGlzaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGlzaTpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiTWVudWxpcyB0YWJlbCBwYXJ0aXNpIGRpIGRpc2suLi4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpc2k6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBwZXJhbmdrYXQgbG9vcCB5YW5nIHRpZGFrIGRpcGFrYWkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIm1vdW50OiBha2FuIG1lbmdndW5ha2FuIHBlcmFuZ2thdCBsb29wICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIGJlcnBpbmRhaCBrZSBvZnNldCAweCVqeCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IFBlcmludGFoIHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICJQYXJ0aXNpIHlhbmcgdGVycGlsaWggJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIlRpZGFrIGFkYSBwYXJ0aXNpIHlhbmcgZGlkZWZpbmlzaWthblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIlBhcnRpc2kgaW5pIHN1ZGFoIGFkYS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJQYXJ0aXNpIHlhbmcgdGVycGlsaWggJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgInRpZGFrIGJlcmFkYSBkaSBwYXJ0aXNpICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBkaWRlZmluaXNpa2FuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gZ2FnYWwiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIlBhcnRpc2kgeWFuZyB0ZXJwaWxpaCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJQYXJ0aXNpIHlhbmcgdGVycGlsaWggJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5jb3JlLmM6MzczIG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MjIKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMzMworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYxOCBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNiBzeXMtdXRpbHMvcmZraWxsLmM6NDY3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjkzIHN5cy11dGlscy93ZGN0bC5jOjI3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiICAgICAgICAoJXMgdGFiZWwgcGFydGlzaSB0ZXJkZXRla3NpKS4gIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiRGlzayAlcyB0aWRhayBtZW1pbGlraSBzZWJ1YWggdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0ZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU2IHN5cy11dGlscy9sc21lbS5jOjUwMworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3Rvci1zaXplIDxudW0+ICBvdmVyd3JpdGUgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3QtdHlwZXMgICAgIGxpc3Qgc3VwcG9ydGVkIHBhcnRpdGlvbiB0eXBlcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgLVQgW2F0YXUgLS1saXN0LXR5cGVzXTp0YW1waWxrYW4gZGFmdGFyIGRhcmkgdGlwZSBwYXJ0aXNpIHlhbmcgZGlrZXRhaHVpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzczIHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICIiCisiVGFiZWwgcGFydGlzaSB0ZWxhaCBkaXViYWghXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKKyMsIGZ1enp5Cittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1vZmZzZXQgZGFuIC0tYWxsIGFkYWxhaCAnbXV0dWFsbHkgZXhjbHVzaXZlJyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2hhcHVzIHNlYnVhaCBwYXJ0aXNpIGtvc29uZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImtlY2VwYXRhbiAlZCB0aWRhayBkaWR1a3VuZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1NworbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICJQZXJhbmdrYXQgJyVzJyBhZGFsYWggcGVyYW5na2F0IGtvbnRyb2wgcmF3IChndW5ha2FuIHJhdzxOPiBkaW1hbmEgPE4+IGxlYmloIGJlc2FyIGRhcmkgbm9sKVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVsb2thc2lrYW4gcGVyYW5na2F0IGJsb2sgJyVzJyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIlBlcmFuZ2thdCAnJXMnIGJ1a2FuIHNlYnVhaCBwZXJhbmdrYXQgYmxva1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIHBlcmFuZ2thdCBtYXN0ZXIgcmF3ICciCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gcGVyYW5na2F0IHJhdyAnJXMnICglcylcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJQZXJhbmdrYXQgcmF3ICclcycgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBrYXJha3RlclxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiUGVyYW5na2F0ICclcycgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCByYXdcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDkKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRXJyb3IgbWVuYW55YWthbiBwZXJhbmdrYXQgcmF3ICglcylcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAicmF3JWQ6XHR0ZXJpa2F0IGtlIG1ham9yICVkLCBtaW5vciAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI3MgorIywgZnV6enkKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkVycm9yIG1lbmdrb25maWd1cmFzaSBwZXJhbmdrYXQgcmF3ICglcylcbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICJwZW5nZ3VuYWFuOiBzZmRpc2sgLS1pZCBwZXJhbmdrYXQgbm9tb3ItcGFydGlzaSBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjI0Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTExCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVsYWt1a2FuIGZvcmsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgcGFnZSBzaWduYXR1cmU6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiJXM6ICVzOiB0aWRhayBkYXBhdCBtZW51bGlzIHBhZ2Ugc2lnbmF0dXJlOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTUKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBiZXJrYXMgdHlwZXNjcmlwdCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiQW5kYSBpbmdpbiBtZW51bGlzIGluaSBrZSBkaXNrPyBbeW5xXSAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDU0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxNAorbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJ1a2E6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICIiCisiVGFiZWwgcGFydGlzaSB0ZWxhaCBkaXViYWghXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiVGFiZWwgcGFydGlzaSB0ZWxhaCBkaXViYWghXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiTmFtYSBJZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIiAlczogdGlwZSB0YWJlbCBwYXJ0aXNpIHRpZGFrIGRpa2V0YWh1aVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJvbGVoIHVrdXJhbiBkYXJpICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJqdW1sYWg6ICVsbHUgYmxvY2tzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk0IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzIgZGlzay11dGlscy9zZmRpc2suYzoxMDk2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTEgZGlzay11dGlscy9zZmRpc2suYzoxMjA3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MQorIywgZnV6enkKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBwZXJhbmdrYXQgbG9vcCBkaXNwZXNpZmlrYXNpa2FuIGR1YSBrYWxpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIFwiJXNcIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvciBQTUJSIG9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NjcgZGlzay11dGlscy9zZmRpc2suYzo5MTQgZGlzay11dGlscy9zZmRpc2suYzoxMDM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDEgZGlzay11dGlscy9zZmRpc2suYzoxMTU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiRGlzayAlcyB0aWRhayBtZW1pbGlraSBzZWJ1YWggdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiVGlkYWsgYWRhIHRhYmVsIHBhcnRpc2kuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJEaXNrICVzIHRpZGFrIG1lbWlsaWtpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIHlhbmcgdmFsaWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlZCBvdmVybGFwcyBwYXJ0aXNpICVkLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCisjLCBmdXp6eQorbXNnaWQgIm5vIHBhcnRpdGlvbiBudW1iZXIgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiZGlkdWdhIHNlYnVhaCBub21vciwgdGV0YXBpIGRpcGVyb2xlaCAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJEaXNrICVzIHRpZGFrIG1lbWlsaWtpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIHlhbmcgdmFsaWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiRGlzayAlcyB0aWRhayBtZW1pbGlraSBzZWJ1YWggdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIkRpc2sgJXMgdGlkYWsgbWVtaWxpa2kgc2VidWFoIHRhYmVsIHBhcnRpc2kgeWFuZyB2YWxpZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAic2VlayBnYWdhbCBkYWxhbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIkRpc2sgJXMgdGlkYWsgbWVtaWxpa2kgc2VidWFoIHRhYmVsIHBhcnRpc2kgeWFuZyB2YWxpZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODcKKyMsIGZ1enp5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICJQZXJpbnRhaCB5YW5nIHRlcnNlZGlhOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKKyMsIGZ1enp5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3ICAgdHVsaXMgdGFiZWwga2UgZGlzayBkYW4ga2VsdWFyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorIywgZnV6enkKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcCAgIGNldGFrIHRhYmVsIHBhcnRpc2kgQlNEIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTUKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTkKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA0Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTUKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYLFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTYKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorIywgZnV6enkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiQW5kYSB0aWRhayBha2FuIGRhcGF0IG1lbnVsaXMga2UgdGFiZWwgcGFydGlzaS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1CisjLCBmdXp6eQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICBuICAgICAgICAgIE1lbWJ1YXQgcGFydGlzaSBiYXJ1IGRhcmkgcnVhbmcgeWFuZyB0ZXJzaXNhL2tvc29uZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAidGlkYWsgYWRhIHBlcmludGFoP1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgInRpZGFrIGFkYSBwZXJpbnRhaD9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJEaXNrICVzIHRpZGFrIG1lbWlsaWtpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIHlhbmcgdmFsaWRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBzdWRhaCBkaWRlZmluaXNpa2FuIVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorIywgZnV6enkKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiTWVuZ2VjaGVjayBhcGFrYWggYWRhIHlhbmcgc2VkYW5nIG1lbmdndW5ha2FuIGRpc2sgc2FhdCBpbmkgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiXG4iCisiRGlzayBpbmkgc2FhdCBpbmkgc2VkYW5nIGRpZ3VuYWthbiAtIHJlcGFydGl0aW9uaW5nIG11bmdraW4gbWVydXBha2FuIGlkZSBcbiIKKyJCdXJ1ay4gVW1vdW50IHNlbHVydWggZmlsZXN5c3RlbSwgZGFuIHN3YXBvZmYgc2VsdXJ1aCBwYXJ0aXNpIHN3YXAgZGkgZGlzayBcbiIKKyJpbmkuIEd1bmFrYW4gcGlsaWhhbiAtLW5vLXJlcmVhZCB1bnR1ayBtZW5la2FuIHBlbmdlY2hla2FuIGluaS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJHdW5ha2FuIHBpbGloYW4gLS1mb3JjZSB1bnR1ayBtZW1ha3NhIHBlbWVyaWtzYWFuIHNlY2FyYSBrZXNlbHVydWhhbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiJXM6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIktlYWRhYW4gbGFtYTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyIlczogJXNcbiIKKyJDb2JhIGAlcyAtLWhlbHAnIHVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBkaXRlbXVrYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0CisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIlNlbGVzYWkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJKYW5nYW4gbWVtYnVhdCBzZWJ1YWggcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzM1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIm1lbWJhY2EgbGFnaSB0YWJlbCBwYXJ0aXNpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICJLZWFkYWFuIGJhcnU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJBbmRhIGluZ2luIG1lbnVsaXMgaW5pIGtlIGRpc2s/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgTEFCRUw9PG5hbWE+fFVVSUQ9PHV1aWQ+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB1bnR1ayB2ZXJzaSBnZXRvcHQoMSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1CisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCisjLCBmdXp6eQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAgICAtYyBbYXRhdSAtLWlkXTogICAgICBtZW5jZXRhayBhdGF1IG1lbmd1YmFiIElkIGRhcmkgcGFydGlzaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2CisjLCBmdXp6eQorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1OIyA6ICAgICAgICAgICAgICAgIGhhbnlhIG1lbmd1YmFoIHBhcnRpc2kgbm9tb3IgIyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY3Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODczCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICJBbmRhIGRhcGF0IG1lbWF0aWthbiBzZWx1cnVoIHBlbWVyaWtzYWFuIGtvbnNpc3RlbnNpIGRlbmdhbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorIywgZnV6enkKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1IIyBbYXRhdSAtLWhlYWRzICNdOiAgc2V0IGp1bWxhaCBkYXJpIGhlYWRzIHlhbmcgZGlndW5ha2FuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgLXEgIFthdGF1IC0tcXVpZXRdOiAgICBtZW5la2FuIHBlc2FuIHBlcmluZ2F0YW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9c2hlbGwgICAgICAgICAgICBNZW5nZXNldCBzaGVsbCBxdW90aW5nIGNvbnZlbnRpb25zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDE1Cittc2dpZCAiLS1pZCBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzEKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDc1IGluY2x1ZGUvYy5oOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIGRhcmkgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIGJlcnBpbmRhaCBrZSBvZnNldCAweCVqeCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgYmVycGluZGFoIGtlIG9mc2V0IDB4JWp4IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICJzZWVrIGdhZ2FsIGRhbGFtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIlMSRzOiBwZXJpbmdhdGFuOiBtZW5nYWJhaWthbiAtVSAoVVVJRHMgdGlkYWsgZGlkdWt1bmcgb2xlaCAlMSRzKVxuIgorCisjOiBpbmNsdWRlL2MuaDoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeSAnJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIiVzOiAlc1xuIgorIkNvYmEgYCVzIC0taGVscCcgdW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dC5cbiIKKworIzogaW5jbHVkZS9jLmg6MzE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjpcbiIKKworIzogaW5jbHVkZS9jLmg6MzE5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQaWxpaGFuOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjAKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMjIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBvdXRwdXQgY29sdW1uczpcbiIKK21zZ3N0ciAiUGVyaW50YWggeWFuZyB0ZXJzZWRpYTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzI1CisjLCBmdXp6eQorbXNnaWQgImRpc3BsYXkgdGhpcyBoZWxwIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKworIzogaW5jbHVkZS9jLmg6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHdpcGVmcyg4KS5cbiIKKyJcbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgImNvbDogd3JpdGUgZXJyb3IuXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkxvZ2luIGRpICVzIGRhcmkgJXMgZGl0b2xhayBzZWNhcmEgZGFmYXVsdC5cbiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorIywgZnV6enkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIkxvZ2luIGRpICVzIGRhcmkgJXMgZGl0b2xhayBzZWNhcmEgZGFmYXVsdC5cbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDI2CisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMzAgdGVybS11dGlscy9hZ2V0dHkuYzoxMTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiZ2FnYWwgbWVuc2V0IGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIktvc29uZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiRXh0ZW5kZWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKKyMsIGZ1enp5Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCBib290YWJsZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiBCb290IE1hbmFnZXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgRXh0J2QgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIkZBVDEyIFRlcnNlbWJ1bnlpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIGRpYWdub3N0aWNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiBUZXJzZW1idW55aSA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiRkFUMTYgVGVyc2VtYnVueWkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiSFBGUy9OVEZTIFRlcnNlbWJ1bnlpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIgVGVyc2VtYnVueWkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIFRlcnNlbWJ1bnlpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSBUZXJzZW1idW55aSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworIywgZnV6enkKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiSFBGUy9OVEZTIFRlcnNlbWJ1bnlpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAybmQgcGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIlFOWDQueCAzcmQgcGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCBhdGF1cyBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIk9sZCBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBvbGQgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBleHRlbmRlZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMgdm9sdW1lIHNldCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZXh0U1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIUEYrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJCb290IFdpemFyZCBoaWRkZW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJOb24tRlMgZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgImFyZ3VtZW4gdGlkYWsgYmFpayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2Vjb25kYXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJQZXJpbmdhdGFuOiAlcyBidWthbiBzZWJ1YWggcGVyYW5na2F0IGJsb2NrXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiUGFydGlzaSB5YW5nIHRlcnBpbGloICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBzdWRhaCBkaWRlZmluaXNpa2FuIVxuIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk1CisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIlRpZGFrIGFkYSBzZWt0b3IgeWFuZyBrb3NvbmdcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJQYXJ0aXNpICVkIGJlbHVtIGFkYSFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXNpICVzIG1lbXB1bnlhaSBzZWt0b3IgMCBhd2FsIHlhbmcgdGlkYWsgdmFsaWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgKkJTRCBkaSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJjeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlRlcmFraGlyICUxJHMsICslMiRzIGF0YXUgK3NpemV7SyxNLEd9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3CisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJUZXJha2hpciAlMSRzLCArJTIkcyBhdGF1ICtzaXple0ssTSxHfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyB0aWRhayB0ZXJkYXBhdCBkaXNrbGFiZWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkFuZGEgaW5naW4gbWVtYnVhdCBzZWJ1YWggZGlza2xhYmVsPyAoeS9uKSAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiZGlzazogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJUYW5kYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBiYWRzZWN0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiYnl0ZXMvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAidHJhY2tzL2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1CisjLCBmdXp6eQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgInNla3Rvci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kZXJzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJycG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDAgbGliZmRpc2svc3JjL3NnaS5jOjI5MSBsaWJmZGlzay9zcmMvc3VuLmM6NzkzCisjLCBmdXp6eQorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDUKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTAKKyMsIGZ1enp5Cittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJjeWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorIywgZnV6enkKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJ0cmFjay10by10cmFjayBzZWVrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlcy9zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTMKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzZWt0b3IvdHJhY2siCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgInRyYWNrcy9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY3lsaW5kZXJzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yL2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIyCittc2dpZCAicnBtIgorbXNnc3RyICJycG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJpbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNworbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgImhlYWRzd2l0Y2giCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJ0cmFjay10by10cmFjayBzZWVrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICJCb290c3RyYXA6ICVzYm9vdCAtPiBib290JXMgKCVzKTogIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCisjLCBmdXp6eQorbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIkJvb3RzdHJhcCBvdmVybGFwcyBkZW5nYW4gZGlzayBsYWJlbCFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIkJvb3RzdHJhcCBkaXBhc2FuZyBkaSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIkRpc2sgRHJpdmU6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MTEgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlNpbmtyb25pc2FzaSBkaXNrcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MgorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICIgICB4ICAgc2FtYnVuZyBCU0QgcGFydGlzaSBrZSBub24tQlNEIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKKyMsIGZ1enp5Cittc2dpZCAiRnNpemUiCittc2dzdHIgIiwgYmVzYXI9JTlsdSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKKyMsIGZ1enp5Cittc2dpZCAiQnNpemUiCittc2dzdHIgIiwgYmVzYXI9JTlsdSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWsgZ2FnYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk1lbWFuZ2dpbCBpb2N0bCgpIHVudHVrIG1lbWJhY2Ega2VtYmFsaSB0YWJlbCBwYXJ0aXNpLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiTWVtYmFjYSBrZW1iYWxpIHRhYmVsIHBhcnRpc2kgLi4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiIgorIlxuIgorIlBFUklOR0FUQU46IE1lbWJhY2Ega2VtYmFsaSB0YWJsZSBwYXJ0aXNpIGdhZ2FsIGRlbmdhbiBlcnJvciAlZDogJXMuXG4iCisiS2VybmVsIG1hc2loIG1lbmdndW5ha2FuIHRhYmVsIHlhbmcgbGFtYS5UYWJlbCB5YW5nIGJhcnUgYWthbiBkaWd1bmFrYW5cbiIKKyJzZXRlbGFoIHJlYm9vdCBhdGF1IHNldGVsYWggYW5kYSBtZW5qYWxhbmthbiBwYXJ0cHJvYmUoOCkgYXRhdSBrcGFydHgoOClcbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIlczogYnVrYW4gc2VidWFoIGJsb2NrIGRldmljZVxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICIiCisiXG4iCisiUEVSSU5HQVRBTjogTWVtYmFjYSBrZW1iYWxpIHRhYmxlIHBhcnRpc2kgZ2FnYWwgZGVuZ2FuIGVycm9yICVkOiAlcy5cbiIKKyJLZXJuZWwgbWFzaWggbWVuZ2d1bmFrYW4gdGFiZWwgeWFuZyBsYW1hLlRhYmVsIHlhbmcgYmFydSBha2FuIGRpZ3VuYWthblxuIgorInNldGVsYWggcmVib290IGF0YXUgc2V0ZWxhaCBhbmRhIG1lbmphbGFua2FuIHBhcnRwcm9iZSg4KSBhdGF1IGtwYXJ0eCg4KVxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY3lsaW5kZXIiCittc2dzdHJbMV0gImN5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3IiCittc2dzdHJbMV0gInNla3RvciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMzg4Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIlNlbHVydWggcGFydGlzaSBwcmltYXJ5IHRlbGFoIGRpZGVmaW5pc2lrYW4hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIlRpZGFrIGFkYSBzZWt0b3IgeWFuZyBrb3NvbmdcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICIiCisiJXMlcy5cbiIKKyJBbmRhIGRhcGF0IG1lbGFrdWthbiBpbmkgZGFyaSBtZW51IGZ1bmdzaSB0YW1iYWhhbi5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworIywgZnV6enkKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorIlxuIgorIlBlcmFuZ2thdCBtZW5hbXBpbGthbiBzZWJ1YWggdWt1cmFuIHNla3RvciBsb2dpa2FsIHlhbmcgbGViaWgga2VjaWwgZGFyaXBhZGFcbiIKKyJ1a3VyYW4gc2VrdG9yIGZpc2lrLiBNZW55ZXN1YWlrYW4ga2UgYmF0YXMgc2VrdG9yIGZpc2lrIChhdGF1IG9wdGltYWwgSS9PKSBhZGFsYWggbGFuZ2thaCB5YW5nXG4iCisiZGlyZWtvbWVuZGFzaWthbiwgYXRhdSBtdW5na2luIGJlcmRhbXBhayBwYWRhIHBlcmZvcm1hbnNpIHBlcmFuZ2thdC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbm5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisiXG4iCisiUEVSSU5HQVRBTjogVWt1cmFuIGRhcmkgZGlzayBpbmkgYWRhbGFoICVkLiVkIFRCICglbGx1IGJ5dGVzKS5cbiIKKyJGb3JtYXQgdGFiZWwgcGFydGlzaSBET1MgdGlkYWsgZGFwYXQgZGlndW5ha2FuIGRpIGRyaXZlIHVudHVrXG4iCisiaXNpIGxlYmloIGJlc2FyIGRhcmkgKCVsbHUgYnl0ZXMpIHVudHVrICVkLWJ5dGUgc2VrdG9yLiBHdW5ha2FuXG4iCisicGFydGVkKDEpIGZvcm1hdCB0YWJlbCBwYXJ0aXNpIEdVSUQgKEdQVCkuXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkJhZCBvZmZzZXQgZGFsYW0gcGFydGlzaSBleHRlbmRlZCBwcmltYXJ5XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisiUGVyaW5nYXRhbjogbWVuZ2FiYWlrYW4gcGFydGlzaSBzZXN1ZGFoICMlZC5cbiIKKyJNZXJla2EgbXVuZ2tpbiB0ZWxhaCBtZW5naGFwdXMgamlrYSBhbmRhIG1lbnlpbXBhbiB0YWJlbCBwYXJ0aXNpLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlBlcmluZ2F0YW46IGV4dHJhIHBvaW50ZXIgbGluayBkYWxhbSB0YWJlbCBwYXJ0aXNpICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlBlcmluZ2F0YW46IG1lbmdhYmFpa2FuIGV4dHJhIGRhdGEgZGFsYW0gdGFiZWwgcGFydGlzaSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIm1lbmdhYmFpa2FuIHBhcnRpc2kga29zb25nICglZClcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIiAgIHMgICBidWF0IHNlYnVhaCBkaXNrbGFiZWwgU3VuIHlhbmcga29zb25nIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgdWJhaCBpZGVudGlmaWthc2kgZGlzayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworIywgZnV6enkKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICJOaWxhaSBzZXQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIklkZW50aWZpa2FzaSBkaXNrOiAweCUwOHhcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTWVuZ2FiYWlrYW4gZXh0cmEgcGFydGlzaSBleHRlbmRlZCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiUGVyaW5nYXRhbjogdGFuZGEgdGlkYWsgdmFsaWQgMHglMDR4IGRhcmkgdGFiZWwgcGFydGlzaSAlZCBha2FuIGRpYmV0dWxrYW4gdyhyaXRlKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIk5pbGFpIGRpbHVhciBkYXJpIGphbmdrYXVhbi5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIlBhcnRpc2kgJWQgc3VkYWggZGlkZWZpbmlzaWthbi4gSGFwdXMgaW5pIHNlYmVsdW0gbWVuYW1iYWhrYW5ueWEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIlNla3RvciAlbGx1IHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4NSBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzMAorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiVGlkYWsgYWRhIHNla3RvciB5YW5nIGtvc29uZ1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGlzaSBsb2dpY2FsIHRpZGFrIGJhaWsiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlZCBiZXJpc2kgc2VrdG9yIDBcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlBhcnRpc2kgJWQ6IGhlYWQgJWQgbGViaWggYmVzYXIgZGFyaSBtYWtzaW1hbCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpc2kgJWQ6IHNla3RvciAlZCBsZWJpaCBiZXNhciBkYXJpIG1ha3NpbWFsICVsbHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpc2kgJWQ6IGN5bGluZGVyICVkIGxlYmloIGJlc2FyIGRhcmkgbWFrc2ltYWwgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnRpc2kgJWQ6IHNla3RvciBzZWJlbHVtbnlhICVkIHRpZGFrIHNlc3VhaSBkZW5nYW4gdG90YWwgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnRpc2kgJWQgbWVtaWxpa2kgcGh5c2ljYWwvbG9naWNhbCBhd2FsIHlhbmcgYmVyYmVkYSAoYnVrYW4tTGludXg/KTpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGlzaSAlZCBtZW1pbGlraSBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3MgeWFuZyBiZXJiZWRhOlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGlzaSAlZCB0aWRhayBiZXJha2hpciBkaSBiYXRhcyBjeWxpbmRlci5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiUGFydGlzaSAlZCB0aWRhayBtZW1pbGlraSBhcmVhIGRhdGFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVkIG92ZXJsYXBzIHBhcnRpc2kgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJWQga29zb25nXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGlzaSBsb2dpY2FsICVkIHRpZGFrIHNlbHVydWhueWEgYmVyYWRhIGRpIHBhcnRpc2kgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJUb3RhbCBzZWt0b3IgdGVyYWxva2FzaSAlbGx1IGxlYmloIGJlc2FyIGRhcmkgcGFkYSBtYWtzaW1hbCAlbGx1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiU2lzYSAlbGxkIHNla3RvciB0aWRhayBkaWFsb2thc2lrYW4gJWQtYnl0ZSBzZWt0b3JcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiUGFydGlzaSBpbmkgc3VkYWggYWRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJNYWtzaW11bSBqdW1sYWggcGFydGlzaSB0ZWxhaCBkaWJ1YXRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiU2VsdXJ1aCBwYXJ0aXNpIGxvZ2ljYWwgc2VkYW5nIGRpZ3VuYWthblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MyBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJTZWx1cnVoIHBhcnRpc2kgbG9naWNhbCBzZWRhbmcgZGlndW5ha2FuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKKyMsIGZ1enp5Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJBbmRhIGhhcnVzIG1lbmdoYXB1cyBiZWJlcmFwYSBwYXJ0aXNpIGRhbiBtZW5hbWJhaGthbiBzZWJ1YWggcGFydGlzaSBleHRlbmRlZCB0ZXJsZWJpaCBkYWh1bHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKKyMsIGZ1enp5Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlNlbHVydWggcGFydGlzaSBsb2dpY2FsIHNlZGFuZyBkaWd1bmFrYW5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAiVXRhbWEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICJFeHRlbmRlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIlBhcnRpc2kgbG9naWNhbCB0aWRhayBiYWlrIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMb2dpY2FsIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworIywgZnV6enkKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgImwgICBsb2dpY2FsICg1IGF0YXUgbGViaWgpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAiTm9tb3IgcGFydGlzaSB0aWRhayB2YWxpZCB1bnR1ayB0aXBlIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgYmVya2FzIHNjcmlwdCwgZXJyb3I6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiSWRlbnRpZmlrYXNpIGRpc2s6IDB4JTA4eFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2OAorIywgZnV6enkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisiVGlwZSAwIGJlcmFydGkgcnVhbmcga29zb25nIHBhZGEga2ViYW55YWthbiBzeXN0ZW1cbiIKKyIodGV0YXBpIGJ1a2FuIHVudHVrIExpbnV4KS4gTWVtaWxpa2kgcGFydGlzaSBkZW5nYW4gdGlwZSAwIFxuIgorIm11bmdraW4gdGlkYWsgYmFpay4gQW5kYSBkYXBhdCBtZW5naGFwdXMgc2VidWFoIHBhcnRpc2lcbiIKKyJkZW5nYW4gbWVuZ2d1bmFrYW4gcGVyaW50YWggYGQnLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA3MworbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3CisjLCBmdXp6eQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIiIKKyJUaWRhayBhZGEgeWFuZyBkaWxha3VrYW4uIFVydXRhbiBzdWRhaCBkaWJldHVsa2FuLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGFydGlzaSAlZCB0aWRhayBtZW1pbGlraSBhcmVhIGRhdGFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIkF3YWwgYmFydSBkYXJpIGRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQRVJJTkdBVEFOOiBQYXJ0aXNpICVkIGFkYWxhaCBzZWJ1YWggcGFydGlzaSBleHRlbmRlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiVGlwZSBzaXN0ZW0gZGFyaSBwYXJpc2kgJWQgdGlkYWsgYmVydWJhaDogJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIlBlcmFuZ2thdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjQgbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiQm9vdCIKK21zZ3N0ciAiQm9vdCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiYXdhbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgcGlsaWggcGFydGlzaSB5YW5nIGJvb3RhYmxlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHBpbGloIHBhcnRpc2kgeWFuZyBib290YWJsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICAgZCAgIGhhcHVzIHNlYnVhaCBwYXJ0aXNpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIlRpZGFrIGFkYSBwYXJ0aXNpIGxhZ2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBjdXN0b20iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBleHRlbmRlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkhGUyAvIEhQRisiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJ0ZXJsYWx1IGJhbnlhbiBrZWNlcGF0YW4gYWx0ZXJuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIERpYWdub3N0aWMiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgVmlydHVhbCBTQU4iCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBWaXJzdG8iCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBoYXB1cyBzZWJ1YWggcGFydGlzaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzQ0Cittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MTcKKyMsIGZ1enp5Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICIlczogc3RhdCBnYWdhbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiUGVydGFtYSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIiBUZXJha2hpciAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIlBhcnRpc2kgeWFuZyB0ZXJwaWxpaCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI1MAorIywgZnV6enkKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIlBhcnRpc2kgeWFuZyB0ZXJwaWxpaCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5NQorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2xhdGUgcGFydGl0aW9uIG5hbWUsIG5hbWUgbm90IGNoYW5nZWQuIgorbXNnc3RyICJtZW1iYWNhIGxhZ2kgdGFiZWwgcGFydGlzaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIkdhZ2FsIG1lbnNldCBwZXJzb25hbGl0eSBrZSAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJ0aXNpIGJvb3QgdGlkYWsgYWRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1MgorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJHYWdhbCBtZW51bGlzIHBhcnRpc2kgZGkgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1MQorIywgZnV6enkKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiRGlzayAlcyB0aWRhayBtZW1pbGlraSBzZWJ1YWggdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTU2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjUKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJOb21vciBwYXJ0aXNpIHRpZGFrIHZhbGlkIHVudHVrIHRpcGUgYCVjJ1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVkIG92ZXJsYXBzIHBhcnRpc2kgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJBbmRhIG1lbXBlcm9sZWggc2VidWFoIHBhcnRpc2kgeWFuZyBvdmVybGFwIGRpIGRpc2suIEJldHVsa2FuIGluaSB0ZXJsZWJpaCBkYWh1bHUhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiUGFydGlzaSBiZXJha2hpciBzZWJlbHVtIHNla3RvciAwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiZXJyb3IgbWVuZ2FtYmlsXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiYW5laCwgaGFueWEgJWQgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW4uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJUaWRhayBhZGEgc2VrdG9yIHlhbmcga29zb25nXG4iCittc2dzdHJbMV0gIlRpZGFrIGFkYSBzZWt0b3IgeWFuZyBrb3NvbmdcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiUGFydGlzaSBpbmkgc3VkYWggZGlwYWthaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdG9yICVsbHUgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkphbmdhbiBtZW1idWF0IHNlYnVhaCBwYXJ0aXNpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiICAgcyAgIGJ1YXQgc2VidWFoIGRpc2tsYWJlbCBTdW4geWFuZyBrb3NvbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiVGlkYWsgYWRhIHNla3RvciB5YW5nIGtvc29uZ1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGlzaSAlcyBtZW1wdW55YWkgc2VrdG9yIDAgYXdhbCB5YW5nIHRpZGFrIHZhbGlkLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiTWFrc2ltdW0ganVtbGFoIHBhcnRpc2kgdGVsYWggZGlidWF0XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZWxha3VrYW4gZm9yayIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJUaXBlIHNpc3RlbSBkYXJpIHBhcmlzaSAlZCB0aWRhayBiZXJ1YmFoOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJUaXBlIHNpc3RlbSBkYXJpIHBhcmlzaSAlZCB0aWRhayBiZXJ1YmFoOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJUaXBlIHNpc3RlbSBkYXJpIHBhcmlzaSAlZCB0aWRhayBiZXJ1YmFoOiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlRpcGUgc2lzdGVtIGRhcmkgcGFyaXNpICVkIHRpZGFrIGJlcnViYWg6ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUaXBlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNQorbXNnaWQgIlVVSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTmFtYSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0OAorIywgZnV6enkKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICJTcGFjZSBrb3NvbmciCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgInRpZGFrIGRpa2V0YWh1aSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHZvbHVtZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZlIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIlRlcmRldGVrc2kgc2dpIGRpc2tsYWJlbCBkZW5nYW4gY2hlY2tzdW0gc2FsYWguXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kZXIgUGh5c2ljYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODYgbGliZmRpc2svc3JjL3N1bi5jOjc4OAorIywgZnV6enkKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIkV4dHJhIHNla3RvciBwZXIgY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIihGaWxlIHNlbGFuanV0bnlhOiAlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJCb290ZmlsZSB0aWRhayB2YWxpZCFcbiIKKyJcdEJvb3RmaWxlIGhhcnVzIHNlYnVhaCBwYXRobmFtZSB5YW5nIHRpZGFrIGtvc29uZ20sXG4iCisiXHRlLmcuIFwiL3VuaXhcIiBhdGF1IFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCisiXG4iCisiXHROYW1hIGRhcmkgQm9vdGZpbGUgdGVybGFsdSBwYW5qYW5nOiAxNiBieXRlcyBtYWtzaW1hbC5cbiIKK21zZ3N0clsxXSAiIgorIlxuIgorIlx0TmFtYSBkYXJpIEJvb3RmaWxlIHRlcmxhbHUgcGFuamFuZzogMTYgYnl0ZXMgbWFrc2ltYWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0Qm9vdGZpbGUgaGFydXMgbWVtaWxpa2kgc2VidWFoIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworIywgZnV6enkKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0SGF0aSAtIGhhdGksIGJvb3RmaWxlIHRpZGFrIGRpIHBlcmlrc2Ega2ViZXJhZGFhbm55YS5cbiIKKyJcdFNHSSdzIGRlZmF1bHQgYWRhbGFoIFwiL3VuaXhcIiBkYW4gdW50dWsgYmFja3VwIFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisiXG4iCisiQm9vdCBmaWxlIHlhbmcgc2FhdCBpbmkgZGlndW5ha2FuOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJUb2xvbmcgbWFzdWtrYW4gbmFtYSBkYXJpIGJvb3QgZmlsZSB5YW5nIGJhcnU6ICIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiQm9vdCBmaWxlIHRpZGFrIGRpdWJhaFxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdEJvb3RmaWxlIGJlcnViYWggbWVuamFkaSBcIiVzXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKKyMsIGZ1enp5Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiTGViaWggZGFyaSBzYXR1IG1hc3VrYW4gc2VsdXJ1aCBkaXNrIHlhbmcgYWRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiVGlkYWsgYWRhIHBhcnRpc2kgeWFuZyBkaWRlZmluaXNpa2FuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCBzZXBlcnRpIGtldGlrYSBQYXJ0aXNpIDExIG1lbGlwdXRpIHNlbHVydWggZGlzay5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiIgorIlNlbHVydWggZGlzayBwYXJ0aXNpIHNlaGFydXNueWEgYmVyYXdhbCBkaSBibG9jayAwLFxuIgorImJ1a2FuIGRpIGRpc2tibG9jayAlZC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIlNhdHUgUGFydGlzaSAoIzExKSBzZWhhcnVzbnlhIG1lbWVudWhpIHNlbHVydWggZGlzay5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJQYXJ0aXNpICVkIGRhbiAlZCBvdmVybGFwICVkIHNla3Rvci5cbiIKK21zZ3N0clsxXSAiUGFydGlzaSAlZCBkYW4gJWQgb3ZlcmxhcCAlZCBzZWt0b3IuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiR2FwIHlhbmcgdGlkYWsgZGlndW5ha2FuIHNlYmFueWFrICU4dSBzZWt0b3IgLSBzZWt0b3IgJTh1LSV1XG4iCittc2dzdHJbMV0gIkdhcCB5YW5nIHRpZGFrIGRpZ3VuYWthbiBzZWJhbnlhayAlOHUgc2VrdG9yIC0gc2VrdG9yICU4dS0ldVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJ0aXNpIGJvb3QgdGlkYWsgYWRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJ0aXNpIHN3YXAgdGlkYWsgYWRhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcnRpc2kgc3dhcCB0aWRhayBtZW1pbGlraSB0aXBlIHN3YXAuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlx0QW5kYSB0ZWxhaCBtZW1pbGloIHNlYnVhaCBuYW1hIGZpbGUgYm9vdCB5YW5nIHRpZGFrIGJpYXNhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU4CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiQW5kYSBtZW1wZXJvbGVoIHNlYnVhaCBwYXJ0aXNpIHlhbmcgb3ZlcmxhcCBkaSBkaXNrLiBCZXR1bGthbiBpbmkgdGVybGViaWggZGFodWx1IVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCisjLCBmdXp6eQorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIk1lbmNvYmEgdW50dWsgbWVtYnVhdCBzZWx1cnVoIG1hc3VrYW4gZGlzayBzZWNhcmEgb3RvbWF0aXMuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJTZWx1cnVoIGRpc2sgc3VkYWggZGlsaW5na3VwaSBvbGVoIHBhcnRpc2kuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTIKKyMsIGZ1enp5Cittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJBbmRhIG1lbXBlcm9sZWggc2VidWFoIHBhcnRpc2kgeWFuZyBvdmVybGFwIGRpIGRpc2suIEJldHVsa2FuIGluaSB0ZXJsZWJpaCBkYWh1bHUhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiUGVydGFtYSAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OCBsaWJmZGlzay9zcmMvc2dpLmM6OTQ4CisjLCBmdXp6eQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICIiCisiSW5pIHNhbmdhdCBkaXJla29tZW5kYXNpa2FuIHVudHVrIHBhcnRpc2kga2VzZWJlbGFzXG4iCisibWVuY2FrdXBpIHNlbHVydWggZGlzayBkYW4gbWVtcHVueWFpIHRpcGUgYFNHSSB2b2x1bWUnXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVGVyYWtoaXIgJTEkcywgKyUyJHMgYXRhdSArc2l6ZXtLLE0sR30iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisiUGVyaW5nYXRhbjogQkxLR0VUU0laRSBpb2N0bCBnYWdhbCBkaSAlcy4gTWVuZ2d1bmFrYW4gbmlsYWkgZ2VvbWV0cmkgY3lsaW5kZXIgZGFyaSAlZC5cbiIKKyJOaWxhaSBpbmkgbXVuZ2tpbiBha2FuIGRpcG90b25nIHVudHVrIHBlcmFuZ2thdCB5YW5nIGJlcnVrdXJhbiA+IDMzLjggR0IuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICBidWF0IHNlYnVhaCBkaXNrbGFiZWwgU3VuIHlhbmcga29zb25nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorIywgZnV6enkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIk1hYWYsIGhhbnlhIHN1cGVydXNlciB5YW5nIGRhcGF0IG1lbmd1YmFoIFN5c3RlbSBDbG9jay5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorIlBlcnRpbWJhbmdrYW4gdW50dWsgbWVuaW5nZ2Fsa2FuIHBhcnRpc2kgOSBzZWJhZ2FpIHZvbHVtZSBoZWFkZXIgKDApLFxuIgorImRhbiBwYXJ0aXNpIDExIHNlYmFnYWkgc2VsdXJ1aCB2b2x1bWUgKDYpIHNlcGVydGkgSVJJWCBtZW5kdWdhbnlhLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJJbmkgc2FuZ2F0IGRpc2FyYW5rYW4gYmFod2EgcGFydGlzaSBkaSBvZmZzZXQgMCBtZW1pbGlraSB0aXBlXG4iCisiXCJTR0kgdm9saGRyXCIsIElSSVggc3lzdGVtIGFrYW4gYmVyZ2FudHVuZyBwYWRhIGluaSB1bnR1ayBtZW5lcmltYVxuIgorInBlcmFuZ2thdCBkaXJla3Rvcmkgc3RhbmRhbG9uZSBzZXBlcnRpIHNhc2ggZGFuIGZ4LiBIYW55YSBcIlNHSSB2b2x1bWVcIiBcbiIKKyJkaSBiYWdpYW4ga2VzZWx1cnVoYW4gZGlzayBha2FuIG1lbmdnYW5nZ3UgaW5pLiBLZXRpayBZRVMgamlrYSBhbmRhIHlha2luXG4iCisibWVuZ2VuYWkgdGFnZ2luZyBwYXJ0aXNpIGluaSBzZWNhcmEgYmVyYmVkYS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiVGlkYWsgZGkgYXNzaWduIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiU2VsdXJ1aCBkaXNrIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0IHNla3RvciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyJUZXJkZXRla3NpIGRpc2tsYWJlbCBzdW4gZGVuZ2FuIGNoZWNrc3VtIHlhbmcgc2FsYWguXG4iCisiTXVuZ2tpbiBhbmRhIGhhcnVzIG1lbnNldCBzZW11YSBuaWxhaSwgaGVhZHMsIHNlY3RvcnMsIFxuIgorImN5bGluZGVycyBkYW4gcGFydGlzaSB1bnR1ayBtZW1ha3NhIGZyZXNoIGxhYmVsIFxuIgorIihwZXJpbnRhaCBzIGRhbGFtIG1haW4gbWVudSlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIlRlcmRldGVrc2kgc3VuIGRpc2tsYWJlbCBkZW5nYW4gdmVyc2kgc2FsYWggWzB4JTA4eF0uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlRlcmRldGVrc2kgc3VuIGRpc2tsYWJlbCBkZW5nYW4gc2FuaXR5IHNhbGFoIFsweCUwOHhdLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIlRlcmRldGVrc2kgc3VuIGRpc2tsYWJlbCBkZW5nYW4gbnVtX3BhcnRpdGlvbnMgc2FsYWggWyV1XS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorIywgZnV6enkKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAiUGVyaW5nYXRhbjogTmlsYWkgc2FsYWggYnV0dWggdW50dWsgcGVyYmFpa2kgZGFuIGFrYW4gZGlwZXJiYWlraSB3KHJpdGUpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiSGVhZHMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWt0b3IvdHJhY2siCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIGJ1YXQgc2VidWFoIGRpc2tsYWJlbCBTdW4geWFuZyBrb3NvbmciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpc2kgJWQgdGlkYWsgYmVyYWtoaXIgZGFsYW0gYmF0YXMgY3lsaW5kZXJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJQYXJ0aXNpICVkIG92ZXJsYXAgZGVuZ2FuIHlhbmcgbGFpbm55YSBkaSBzZWt0b3IgJWQtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIkdhcCB5YW5nIHRpZGFrIGRpZ3VuYWthbiAtIHNla3RvciAwLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJHYXAgeWFuZyB0aWRhayBkaWd1bmFrYW4gc2VrdG9yICVkLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisiUGFydGlzaSBsYWluIHN1ZGFoIG1lbGluZ2t1cGkgc2VsdXJ1aCBkaXNrLlxuIgorIkhhcHVzIHNlYmFnaWFuL2tlY2lsa2FuIG1lcmVrYSBzZWJlbHVtIG1lbmNvYmEgbGFnaS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyJJbmkgc2FuZ2F0IGRpcmVrb21lbmRhc2lrYW4gcGFydGlzaSBrZXRpa2EgbWVsaW5na3VwaSBzZWx1cnVoIGRpc2tcbiIKKyJkYW4gbWVtaWxpa2kgdGlwZSBgV2hvbGUgZGlzaydcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIkFuZGEgYmVsdW0gbWVsaW5na3VwaSBzZWx1cnVoIGRpc2sgZGVuZ2FuIHBhcnRpc2kga2UgdGlnYSwgdGV0YXBpIG5pbGFpIGFuZGFcbiIKKyIlZCAlcyBtZWxpbmdrdXBpIGJlYmVyYXBhIHBhcnRpc2kgeWFuZyBsYWluLiBNYXN1a2FuIGFuZGEgdGVsYWggYmVydWJhaCBcbiIKKyJtZW5qYWRpICVkICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICIiCisiSmlrYSBhbmRhIGluZ2luIG1lbmphZ2Ega29tcGF0aWJpbGl0YXMgZGVuZ2FuIFN1bk9TL1NvbGFyaXMsIHBlcnRpbWJhbmdrYW4gXG4iCisidW50dWsgbWVuaW5nZ2Fsa2FuIHBhcnRpc2kgaW5pIHNlYmFnYWkgV2hvbGUgZGlzayAoNSksIG11bGFpIGRpIDAsIGRlbmdhbiAldSBzZWN0b3JzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjMKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgImxhYmVsOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjgKKyMsIGZ1enp5Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJWb2x1bWU6IDwlLTZzPlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQ3lsaW5kZXIgYWx0ZXJuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgY3lsaW5kZXIgYWx0ZXJuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiRXh0cmEgc2VrdG9yIHBlciBjeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkzMworbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJGYWt0b3IgSW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJLZWNlcGF0YW4gcm90YXNpIChycG0pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTgxCittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgcGh5c2ljYWwgY3lsaW5kZXJzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0NgorIywgZnV6enkKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJQZXJ0aW1iYW5na2FuIHVudHVrIG1lbmluZ2dhbGthbiBwYXJ0aXNpIDMgc2ViYWdhaSBXaG9sZSBkaXNrICg1KSxcbiIKKyJzZWJhZ2FpIFN1bk9TL1NvbGFyaXMgbWVuZHVnYSBpbmkgZGFuIG11bmdraW4gTGludXggbWVueXVrYWlueWEuXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIkluaSBzYW5nYXQgZGlyZWtvbWVuZGFzaWthbiBiYWh3YSBwYXJ0aXNpIGRpIG9mZnNldCAwIGFkYWxhaCBVRlMsIEVYVDJGUyBcbiIKKyJmaWxlc3lzdGVtIGF0YXUgU3VuT1Mgc3dhcC4gTWVuZW1wYXRrYW4gTGludXggc3dhcCBkaXNhbmEgbXVuZ2tpbiBha2FuIFxuIgorIm1lbmdoYW5jdXJrYW4gdGFiZWwgcGFydGlzaSBhbmRhIGRhbiBib290YmxvY2suIEtldGlrIFlFUyBqaWthIGFuZGEgc2FuZ2F0IFxuIgorInlha2luLCBha2Fua2FoIGFuZGEgbWVuc2V0ICh0YWcpIHBhcnRpc2kgdGVyc2VidXQgZGVuZ2FuIHRpcGUgODIgKExpbnV4IHN3YXApOiAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0LmM6MjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImdhZ2FsIG1lbWJhY2E6ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyBtZW1pbGlraSBwcm90ZWtzaSB1bnR1ayBkaXR1bGlzLCBtZW1vdW50IHNlY2FyYSBoYW55YS1iYWNhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICJtb3VudDogJXMgdGVsYWggZGltb3VudCBkaSAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gJXMgZGFsYW0gJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiAlcyBkYWxhbSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiAlcyBkYWxhbSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIGZpbGVzeXN0ZW0gdHlwZSBzcGVjaWZpZWQiCittc2dzdHIgIm5hbWEgYmVya2FzIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4uIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5saW5rICVzOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIm5hbWEgYmVya2FzIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4uIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiJXM6ICVzIGJ1a2FuIHNlYnVhaCBwZXJhbmdrYXQgbHAuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgbWVuamFsYW5rYW4gJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgZ2FnYWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtb3VudDogbW91bnQgZ2FnYWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudDogbW91bnQgZ2FnYWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibW91bnQ6IHRpdGlrIG1vdW50ICVzIGJ1a2FuIGJlcnVwYSBzZWJ1YWggZGlyZWt0b3JpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAibW91bnQ6IGlqaW4gZGl0b2xhayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIm1vdW50OiBoYXJ1cyBtZW5qYWRpIHN1cGVydXNlciB1bnR1ayBtZW5nZ3VuYWthbiBtb3VudCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJtb3VudDogJXMgc2VkYW5nIHNpYnVrIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIHRlbGFoIGRpbW91bnQgZGkgJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIHRlbGFoIGRpbW91bnQgYXRhdSAlcyBzZWRhbmcgc2lidWsiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiB0aXRpayBtb3VudCAlcyB0aWRhayBhZGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIm1vdW50OiB0aXRpayBtb3VudCAlcyBiZXJ1cGEgc3ltYm9saWMgbGluayBrZSBzdWF0dSB0ZW1wYXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiBwZXJhbmdrYXQgc3Blc2lhbCAlcyB0aWRhayBhZGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTYKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50IGdhZ2FsIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKyJtb3VudDogcGVyYW5na2F0IHNwZXNpYWwgJXMgdGlkYWsgYWRhXG4iCisiICAgICAgIChzZWJ1YWggcGF0aCBwcmVmaXggYnVrYW4gYmVydXBhIHNlYnVhaCBkaXJla3RvcmkpXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzIHN1ZGFoIHRpZGFrIGRpbW91bnQsIGF0YXUgcGlsaWhhbiBidXJ1ayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnQgcG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzIHN1ZGFoIHRpZGFrIGRpbW91bnQsIGF0YXUgcGlsaWhhbiBidXJ1ayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkIG1vdW50IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHQgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSIKK21zZ3N0ciAiIgorIiAgICAgICAodW50dWsgYmViZXJhcGEgZmlsZXN5c3RlbSAoZS5nLiBuZnMsIGNpZnMpIGFuZGEgbXVuZ2tpblxuIgorIiAgICAgICBtZW1idXR1aGthbiBhcGxpa2FzaSBwZW1iYW50dSAvc2Jpbi9tb3VudC48dGlwZT4pIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIm1vdW50OiB0aXBlIGZzIHNhbGFoLCBwaWxpaGFuIGJ1cnVrLCBzdXBlcmJsb2NrIGJ1cnVrIGRpICVzLFxuIgorIiAgICAgICBoaWxhbmcgY29kZXBhZ2UgYXRhdSBhcGxpa2FzaSBwZW1iYW50dSwgYXRhdSBlcnJvciBsYWluIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAidGFiZWwgbW91bnQgcGVudWgiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICJtb3VudDogJXM6IHRpZGFrIGRhcGF0IG1lbWJhY2Egc3VwZXJibG9jayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICJtb3VudDogdGlwZSBmaWxlc3lzdGVtIHRpZGFrIGRpa2V0YWh1aSAnJXMnIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtb3VudDogdGlwZSBmaWxlc3lzdGVtIHRpZGFrIGRpa2V0YWh1aSAnJXMnIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFrIHBlcmFuZ2thdCBibG9jaywgZGFuIGdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrPyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgIiIKKyJtb3VudDoga2VybmVsIHRpZGFrIG1lbmdlbmFsICVzIHNlYmFnYWkgc2VidWFoIHBlcmFuZ2thdCBibG9ja1xuIgorIiAgICAgICAobXVuZ2tpbiBgbW9kcHJvYmUgZHJpdmVyJz8pIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZTsgdHJ5IFwiLW8gbG9vcFwiIgorbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9jayAobXVuZ2tpbiBkaWNvYmEgZGVuZ2FuIG1lbmdndW5ha2FuIHBpbGloYW4gYC1vIGxvb3AnPyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggYmxvY2sgZGV2aWNlXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9jayB5YW5nIHZhbGlkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZS1tb3VudCAlcyVzIGhhbnlhLWJhY2EiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICJtb3VudDogJXMlcyBtZW1pbGlraSBwcm90ZWtzaSB1bnR1ayBkaXR1bGlzIHRldGFwaSBzZWNhcmEgZWtzcGxpc2l0IHBpbGloYW4gYC13JyBkaWJlcmlrYW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVtYXNhbmcga2VtYmFsaSAlcyVzIHNlY2FyYSBiYWNhLXR1bGlzLCB0ZXJwcm90ZWtzaS10dWxpcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZ2FnYWwuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJtb3VudDogdGlkYWsgYWRhIG1lZGlhIGRpdGVtdWthbiBkaSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICJ0aWRhayBha2FuIG1lbmNvYmEgdW50dWsgbWVtYnVhdCBmaWxlc3lzdGVtIHBhZGEgJyVzJyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnRlZCIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgZ2FnYWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtb3VudDogbW91bnQgZ2FnYWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudDogbW91bnQgZ2FnYWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBwZXJhbmdrYXQgYmxvY2sgdGlkYWsgdmFsaWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIm1vdW50OiAlczogdGlkYWsgZGFwYXQgbWVtYmFjYSBzdXBlcmJsb2NrIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIHNlZGFuZyBzaWJ1ayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAidW1vdW50OiAlczogaGFydXMgc3VwZXJ1c2VyIHVudHVrIG1lbGFrdWthbiB1bW91bnQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAidW1vdW50OiAlczogcGVyYW5na2F0IGJsb2NrIHRpZGFrIGRpaWppbmthbiBkaSBmcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50IGdhZ2FsIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQgZ2FnYWwiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjczCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBuaWxhaSB0aW1lb3V0IHVudHVrICVzOiAlc1xuIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogdGlkYWsgYWRhIHBhcnRpc2kgc2VwZXJ0aSBpdHVcbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogdGlkYWsgbWVuZHVrdW5nIHZlcnNpIHN3YXBzYXBjZSAlZC5cbiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorIywgZnV6enkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgIm5hbWVpOiBidWYgb3ZlcmZsb3dcbiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lICVsZCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJOaWxhaSBkaWx1YXIgZGFyaSBqYW5na2F1YW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiTWVuZ3ViYWggaW5mb3JtYXNpIGZpbmdlciB1bnR1ayAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKyJbIC1wIG9mZmljZS1waG9uZSBdXG4iCisiXHRbIC1oIGhvbWUtcGhvbmUgXSAiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJmaWVsZCB0ZXJsYWx1IHBhbmphbmcuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjcgbG9naW4tdXRpbHMvY2hzaC5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiS2FudG9yIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMyOAorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiVGVsZXBvbiBLYW50b3IiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiVGVsZXBvbiBSdW1haCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE5NCBsb2dpbi11dGlscy9jaHNoLmM6MTg3Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtdWx0aXBsZSB1c2VybmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI0OAorIywgZnV6enkKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiIgorIlxuIgorIkRpYmF0YWxrYW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiSW5mb3JtYXNpIGZpbmdlciAqVElEQVQqIGRpdWJhaC4gQ29iYSBsYWdpIG5hbnRpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJJbmZvcm1hc2kgZmluZ2VyIGJlcnViYWguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgIiVzOiBhbmRhIChwZW5nZ3VuYSAlZCkgdGlkYWsgYWRhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiVzOiBwZW5nZ3VuYSBcIiVzXCIgdGlkYWsgYWRhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIiVzOiBoYW55YSBkYXBhdCBtZW5ndWJhaCBtYXN1a2FuIGxvY2FsOyBndW5ha2FuIHlwJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzOiAlcyB0aWRhayBkaXBlcmJvbGVoa2FuIHVudHVrIG1lbmd1YmFoIGluZm9ybWFzaSBmaW5nZXIgZGFyaSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiQ29udGV4dCBwZW5nZ3VuYSB0aWRhayBkaWtldGFodWkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTggbG9naW4tdXRpbHMvY2hzaC5jOjMwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZW5zZXQgZGVmYXVsdCBjb250ZXh0IHVudHVrIC9ldGMvcGFzc3dkIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBVSUQgeWFuZyBkaWd1bmFrYW4gdGlkYWsgY29jb2sgZGVuZ2FuIFVJRCBkYXJpIHBlbmdndW5hIHlhbmcgbWVuZ3ViYWhueWEsIHBlcnViYWhhbiBzaGVsbCBkaXRvbGFrXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiTWVuZ3ViYWggaW5mb3JtYXNpIGZpbmdlciB1bnR1ayAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkluZm9ybWFzaSBmaW5nZXIgdGlkYWsgYmVydWJhaC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJNZXJ1YmFoIHNoZWxsIHVudHVrICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIE1lbmdlc2V0IHNoZWxsIHF1b3RpbmcgY29udmVudGlvbnNcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgIiVzOiBzaGVsbCBoYXJ1cyBiZXJhZGEgZGFsYW0gZnVsbCBwYXRoIG5hbWUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IFwiJXNcIiB0aWRhayBhZGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBidWthbiBzZWJ1YWggZXhlY3V0YWJsZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJQZXJpbmdhdGFuOiBcIiVzXCIgdGlkYWsgdGVyZGFmdGFyIGRhbGFtIC9ldGMvc2hlbGxzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIlczogXCIlc1wiIHRpZGFrIHRlcmRhZnRhciBkYWxhbSAvZXRjL3NoZWxscy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXM6ICVzIHRpZGFrIGRpaWppbmthbiB1bnR1ayBtZW5ndWJhaCBzaGVsbCBkYXJpICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKKyMsIGZ1enp5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IFVJRCB5YW5nIGRpZ3VuYWthbiB0aWRhayBjb2NvayBkZW5nYW4gVUlEIGRhcmkgcGVuZ2d1bmEgeWFuZyBtZW5ndWJhaG55YSwgcGVydWJhaGFuIHNoZWxsIGRpdG9sYWtcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBTaGVsbCBhbmRhIHRpZGFrIGFkYSBkYWxhbSBkYWZ0YXIgL2V0Yy9zaGVsbHMsIHBlcnViYWhhbiBzaGVsbCBkaXRvbGFrXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICJNZXJ1YmFoIHNoZWxsIHVudHVrICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJTaGVsbCBiYXJ1IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiU2hlbGwgdGlkYWsgYmVydWJhaC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorIywgZnV6enkKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2hlbGwgKlRJREFLKiBiZXJ1YmFoLiBDb2JhIGxhZ2kgbmFudGkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTkKKyMsIGZ1enp5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTaGVsbCAqVElEQUsqIGJlcnViYWguIENvYmEgbGFnaSBuYW50aS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJTaGVsbCBiZXJ1YmFoLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgInBlbmdndW5hYW46ICVzIFtmaWxlXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTY5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIxNyBzeXMtdXRpbHMvZG1lc2cuYzoxMjY5CisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogUGVyaW50YWggdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Mjc2IGxvZ2luLXV0aWxzL2xhc3QuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIiCisiXG4iCisiaW50ZXJ1cHNpICUxMC4xMHMgJTUuNXMgXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzUgbG9naW4tdXRpbHMvbGFzdC5jOjQ0NiBsb2dpbi11dGlscy9sYXN0LmM6ODkyCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJ3dG1wIGRpbXVsYWkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwcmlvcml0YXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJlcnJvcjogJXM6IGdhZ2FsIG1lbGFrdWthbiBpbmlzaWFsaXNhc2kgcHJvYmluZyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCisjLCBmdXp6eQorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAicGVtYnVhdGFuIHNlbWFwaG9yIGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIkZBVEFMOiB0aWRhayBkYXBhdCBtZW1idWthIHR0eTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiRkFUQUw6ICVzIGJ1a2FuIHNlYnVhaCB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duIGdhZ2FsOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgZ2FnYWw6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM4MAorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJGQVRBTDogdHR5IGJ1cnVrIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJMb2dpbiB0ZXJha2hpcjogJS4qcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgImRhcmkgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgImRpICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgImdhZ2FsIG1lbnVsaXMga2Ugc3Rkb3V0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIkRJQUxVUCBQQURBICVzIE9MRUggJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVCBMT0dJTiBESSAlcyBEQVJJICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09UIExPR0lOIERJICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBESSAlcyBPTEVIICVzIERBUkkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJMT0dJTiBESSAlcyBPTEVIICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY4NgorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICIlczogUEFNIEdhZ2FsLCBtZW1iYXRhbGthbjogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5naW5pdGlhbGlzYXNpIFBBTTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJHQUdBTCBMT0dJTiAlZCBEQVJJICVzIFVOVFVLICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiTG9naW4gdGlkYWsgYmVuYXJcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJURVJMQUxVIEJBTllBSyBMT0dJTiBESUNPQkEgKCVkKSBEQVJJICVzIFVOVFVLICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJHQUdBTCBTRVNJIExPR0lOIERBUkkgJXMgVU5UVUsgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJMb2dpbiB0aWRhayBiZW5hclxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIk1hc2FsYWggZGFyaSBzZXNpIHNldHVwLCBiYXRhbC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiS09TT05HIGRpIHBlbmdndW5hICh1c2VybmFtZSkgZGFsYW0gJXM6ICVkLiBCYXRhbC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkgZ2FnYWw6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFtwZW5nZ3VuYSAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorIywgZnV6enkKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiQW5kYSBtZW5nZ3VuYWthbiBzaGFkb3cgcGFzc3dvcmQgZGkgc3lzdGVtIGluaS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJXYWt0dSBoYWJpcyB1bnR1ayBMb2dpbiBzZXN1ZGFoICVkIGRldGlrXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggaGFueWEgdW50dWsgc3VwZXItdXNlci5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJQZW5nZ3VuYSAodXNlcm5hbWUpIHRpZGFrIHZhbGlkIFwiJXNcIiBkYWxhbSAlczolZC4gQmF0YWwuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJlcnJvcjogJXM6IGdhZ2FsIG1lbGFrdWthbiBpbmlzaWFsaXNhc2kgcHJvYmluZyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjg4CisjLCBmdXp6eQorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiQW5kYSBtZW1pbGlraSBtYWlsIGJhcnUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJBbmRhIG1lbWlsaWtpIG1haWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW5kYXBhdGthbiB1a3VyYW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkxvZ2dpbmcgaW4gZGVuZ2FuIGhvbWUgPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJsb2dpbjogdGlkYWsgZGFwYXQgbWVuZ2Vrc2VrdXNpIHNoZWxsIHNjcmlwdDogJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3OAorIywgZnV6enkKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiVGlkYWsgYWRhIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIk5pbGFpIGludGVydmFsIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgInRpZGFrIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiVXNlcm5hbWUgKHBlbmdndW5hKSB0aWRhayBsZWdhbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorIywgZnV6enkKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJwZW5nZ3VuYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJQYXNzd29yZCBlcnJvci4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiUGFzc3dvcmQgZXJyb3IuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiJXM6IGZpbGUgcGFzc3dvcmQgc2VkYW5nIHNpYnVrLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiJXM6IGZpbGUgcGFzc3dvcmQgc2VkYW5nIHNpYnVrLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJQYXNzd29yZDogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJsb2dpbjogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJVdGFtYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiQnVrYW4gZGlyZWt0b3JpICVzIVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiQnVrYW4gZGlyZWt0b3JpICVzIVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiVGlkYWsgYWRhIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorIywgZnV6enkKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiVGlkYWsgYWRhIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiVXNlcm5hbWUgKHBlbmdndW5hKSB0aWRhayBsZWdhbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgIm1lbGV3YXRpIGJhcmlzIHBlcnRhbWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIkxvZ2luIHRlcmFraGlyOiAlLipzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiRkFUQUw6ICVzIGJ1a2FuIHNlYnVhaCB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorIywgZnV6enkKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJsYXN0OiBnZXRob3N0bmFtZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiZ2FnYWwgbHN0YXQgZGFyaSBwYXRoXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgImdhZ2FsIG1lbnVsaXMga2Ugc3Rkb3V0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGF0cmlidXQgcGlkICVkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIlBhc3N3b3JkIGVycm9yLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIlBhc3N3b3JkOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIiVzOiB0aWRhayBhZGEgcGVydWJhaGFuIHlhbmcgZGlsYWt1a2FuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcHJpb3JpdGFzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIm1heCBub21vciBkYXJpIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZW11a2FuIHByb2Nlc3MgXCIlc1wiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjQxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQgc3lzLXV0aWxzL2xzbWVtLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6NDU3CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHRpbWUgdHlwZSIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJrZXNhbGFoYW4gaW50ZXJuYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiTG9naW4gdGVyYWtoaXI6ICUuKnMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyNiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5NSBtaXNjLXV0aWxzL21jb29raWUuYzo4MyBtaXNjLXV0aWxzL3V1aWRkLmM6NjIKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI2IHN5cy11dGlscy9kbWVzZy5jOjI2NiBzeXMtdXRpbHMvaXBjbWsuYzo2NworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMCBzeXMtdXRpbHMvbHNpcGMuYzoyNzggc3lzLXV0aWxzL2xzbWVtLmM6NDk2CisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzkKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDUgc3lzLXV0aWxzL2xzaXBjLmM6MzAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDM0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGF0cmlidXQgdGVybWluYWwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3CisjLCBmdXp6eQorbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJQYXNzd29yZDogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorIywgZnV6enkKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgIm1hbGxvYygpIGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIm5ld2dycDogVGlkYWsgZ3JvdXAgc2VwZXJ0aSBpdHUuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAibmV3Z3JwOiBTaWFwYSBhbmRhPyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorIywgZnV6enkKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorIywgZnV6enkKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICJuZXdncnA6IFRpZGFrIGdyb3VwIHNlcGVydGkgaXR1LiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2CisjLCBmdXp6eQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiRGlzayBpbmkgc2FhdCBpbmkgc2VkYW5nIGRpZ3VuYWthbi5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mjc4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBhdHJpYnV0IHRlcm1pbmFsICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSAnJXMnIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jKCkgZ2FnYWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY3MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorIywgZnV6enkKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIlBhc3N3b3JkIHNhbGFoLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGZpbGUgJyVzJyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBwZW5nb2xhaCBzaW55YWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IHBlbmdvbGFoIHNpbnlhbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBwZW5nb2xhaCBzaW55YWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgIiVzOiB0dW5nZ3U6IFRpZGEgYWRhIHByb3NlcyBhbmFrIGxhZ2k/IT9cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmFtZWk6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggZGlyZWt0b3JpIHNhYXQgaW5pIC0gJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIlcyBnYWdhbC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImdhZ2FsIG1lbnNldCBrZWJpamFrYW4gcGlkICVkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJtb3VudCB0aWRhayBkYXBhdCBtZW5zZXQgZ3J1cCBpZDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1c2VyIGNyZWRlbnRpYWxzOiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJtb3VudCB0aWRhayBkYXBhdCBtZW5zZXQgZ3J1cCBpZDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjQgc3lzLXV0aWxzL2VqZWN0LmM6NjYzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbnNldCBpZCBwZW5nZ3VuYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MworbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NworIywgZnV6enkKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgUGVydGFtYSAgICAgQWtoaXJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgTWVuZ2VzZXQgc2hlbGwgcXVvdGluZyBjb252ZW50aW9uc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIG5ldyBwc2V1ZG8tdGVybWluYWxcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBMQUJFTD08bmFtYT58VVVJRD08dXVpZD5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExOAorbXNnaWQgIiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEyMworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxhcGxpa2FzaT4gW2FyZyAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBwZW5nZ3VuYSBcIiVzXCIgdGlkYWsgYWRhLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCittc2dpZCAiLS1wdHkgaXMgbm90IHN1cHBvcnRlZCBmb3IgeW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTMyNgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQwCittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MworIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIm5hbWEgYmVya2FzIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzU1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogcGVuZ2d1bmEgXCIlc1wiIHRpZGFrIGFkYS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBkaXJla3Rvcmkgc2FhdCBpbmkgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgdW50dWsgYmFjYS90dWxpcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYSB1bnR1ayBiYWNhL3R1bGlzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogZmlsZSBwYXNzd29yZCBzZWRhbmcgc2lidWsuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGZpbGUgcGFzc3dvcmQgc2VkYW5nIHNpYnVrLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiJXM6IGZpbGUgcGFzc3dvcmQgc2VkYW5nIHNpYnVrLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiJXM6IGZpbGUgcGFzc3dvcmQgc2VkYW5nIHNpYnVrLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICJBcGFrYWggYW5kYSBiZW5hciAtIGJlbmFyIGluZ2luIG1lbGFuanV0a2FuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVuZGFwYXRrYW4gdWt1cmFuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCisjLCBmdXp6eQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJnYWdhbCBla3Nla3VzaSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODYzIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0Njggc3lzLXV0aWxzL3dkY3RsLmM6NTI0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgxNyB0ZXJtLXV0aWxzL3dhbGwuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBpdHUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbnNldCBpZCBwZW5nZ3VuYTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCB1a3VyYW4gZGlzayIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICJ3YWt0dSBoYWJpcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKKyMsIGZ1enp5Cittc2dpZCAiIgorImNhbm5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbXBlcm9sZWggdWt1cmFuIGRpc2siCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuYW1iYWhrYW4gcGVtYW50YXVhbiBpbm90aWZ5LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYmFjYSBldmVudCBpbm90aWZ5IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0OQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEwCittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthIGZpbGUgc2VtZW50YXJhLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBtZW5ndWJhaCBuYW1hICVzIGtlICVzIGdhZ2FsOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZW1wZXJvbGVoIGNvbnRleHQgdW50dWsgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IFRpZGFrIGRhcGF0IG1lbnNldCBjb250ZXh0IHVudHVrICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzOiAlcyB0aWRhayBkaXViYWhcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbGFrdWthbiBmb3JrIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiJXM6IHRpZGFrIGFkYSBwZXJ1YmFoYW4geWFuZyBkaWxha3VrYW5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBmaWxlICclcyciCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDgKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkFuZGEgbWVuZ2d1bmFrYW4gc2hhZG93IGdyb3VwIGRpIHN5c3RlbSBpbmkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkFuZGEgbWVuZ2d1bmFrYW4gc2hhZG93IHBhc3N3b3JkIGRpIHN5c3RlbSBpbmkuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICJBcGFrYWggYW5kYSBpbmdpbiBtZW5nZWRpciAlcyBzZWthcmFuZyBbeS9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiVzIGRhcmkgJXMlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODYKK21zZ2lkICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgZ2FyYmFnZSBjb2xsZWN0IHRoZSBibGtpZCBjYWNoZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NworbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0IDxmb3JtYXQ+ICAgICAgb3V0cHV0IGZvcm1hdDsgY2FuIGJlIG9uZSBvZjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3IgZnVsbDsgKGRlZmF1bHQ6IGZ1bGwpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5Cittc2dpZCAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3QgYWxsIGtub3duIGZpbGVzeXN0ZW1zL1JBSURzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgdW50dWsgdmVyc2kgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGNvbnZlcnQgVVVJRCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgZGV2aWNlKHMpIHRvIHByb2JlIChkZWZhdWx0OiBhbGwgZGV2aWNlcylcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQaWxpaGFuOlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9c2hlbGwgICAgICAgICAgICBNZW5nZXNldCBzaGVsbCBxdW90aW5nIGNvbnZlbnRpb25zXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgICBsICAgbGlzdCB0aXBlIGZpbGVzeXN0ZW0geWFuZyBkaWtldGFodWkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorbXNnc3RyICIgICBsICAgbGlzdCB0aXBlIGZpbGVzeXN0ZW0geWFuZyBkaWtldGFodWkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICJkaXRhbmRhaSBzZWRhbmcgZGlndW5ha2FuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgImZzY2s6ICVzOiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImVycm9yOiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjExCittc2dpZCAiZXJyb3I6IC11IDxsaXN0PiBhcmd1bWVudCBpcyBlbXB0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAibmlsYWkgaGFyaSBpbGVnYWw6IGd1bmFrYW4gMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiSnVtbGFoIGhlYWQgdGlkYWsgdmFsaWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc3IG1pc2MtdXRpbHMvY2FsLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAibmlsYWkgaGFyaSBpbGVnYWw6IGd1bmFrYW4gMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODEgbWlzYy11dGlscy9jYWwuYzo0ODkKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAibmlsYWkgYnVsYW4gaWxlZ2FsOiBndW5ha2FuIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5hbWEgcHJpb3JpdHkgdGlkYWsgZGlrZXRhaHVpOiAlcy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJKdW1sYWggaGVhZCB0aWRhayB2YWxpZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAibmlsYWkgdGFodW4gaWxlZ2FsOiBndW5ha2FuIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo1MzAgbWlzYy11dGlscy9jYWwuYzo1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAibmlsYWkgdGFodW4gaWxlZ2FsOiBndW5ha2FuIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJwZW5nZ3VuYWFuOiBjYWwgWy0xM3NtanlWXSBbW1toYXJpXSBidWxhbl0gdGFodW5dXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorIywgZnV6enkKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA2Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDcKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIHVzZSBkYXktb2YteWVhciBmb3IgYWxsIGNhbGVuZGFyc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0gVGFiZWwgZGFsYW0gZm9ybWF0IG1lbnRhaCAocmF3KSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExNAorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MQorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIHBhZ2VzIgorbXNnc3RyICJJZGVudGl0YXMgbWVtb3JpIHRlcmJhZ2k6ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgIklkZW50aXRhcyBtZW1vcmkgdGVyYmFnaTogJWRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAiZ2FnYWwgbWVtcGVyb2xlaCBzdGF0aXN0aWsgZGFyaSBwYXRoXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjY0CisjLCBmdXp6eQorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiVXNlcm5hbWUgKHBlbmdndW5hKSB0aWRhayBsZWdhbCIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbWluY29yZTogJXMiCittc2dzdHIgImdhZ2FsIG1lbWJhY2Egc3ltbGluazogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjM0MyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5MworIywgZnV6enkKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAibmFtYSBiZXJrYXMgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIk1lbWFrc2EgcGVtZXJpa3NhYW4gZmlsZXN5c3RlbSBkaSAlcy5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbnR1a2FuICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgInBlcmFuZ2thdCBibG9jayAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorIywgZnV6enkKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJwaWxpaGFuIHlhbmcgYmVyZ3VuYToiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiTm9tb3IgcGFydGlzaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJNYXN1a2thbiB0aXBlIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorIywgZnV6enkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJtb3VudDogbW91bnQgZ2FnYWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorIywgZnV6enkKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXNpOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiJXM6IFBlcmludGFoIHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIm1vdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorIywgZnV6enkKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgImp1bWxhaCB5YW5nIHRlcmJhY2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorIywgZnV6enkKK21zZ2lkICJtb3ZlIgorbXNnc3RyICIgSGFwdXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxNCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc3IHN5cy11dGlscy9lamVjdC5jOjcxNAorIzogc3lzLXV0aWxzL21vdW50LmM6MzI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4NDEgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1iYWNhICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MoKSBnYWdhbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorIywgZnV6enkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMworIywgZnV6enkKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgIGwgICBsaXN0IHRpcGUgZmlsZXN5c3RlbSB5YW5nIGRpa2V0YWh1aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgICBsICAgbGlzdCB0aXBlIGZpbGVzeXN0ZW0geWFuZyBkaWtldGFodWkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUgc3lzLXV0aWxzL2xzbnMuYzo5MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzAKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgbGlzdCB0aXBlIGZpbGVzeXN0ZW0geWFuZyBkaWtldGFodWkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo5MDcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJCdWthbiBkaXJla3RvcmkgJXMhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiQW5kYSBtZW5zcGVzaWZpa2FzaWthbiBjeWxpbmRlciB5YW5nIGxlYmloIGJlc2FyIGRhcmkgdWt1cmFuIGRpIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJhY2EgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJha2FyIGlub2RlIGJ1a2FuIHNlYnVhaCBkaXJla3RvcmkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgInBlcmFuZ2thdCAlcyBzdWRhaCBkaWFzb3NpYXNpa2FuIGRlbmdhbiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJyVzJzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogYnVrYW4gc2VidWFoIGJsb2NrIGRldmljZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJwZXJhbmdrYXQgYmxvY2sgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAicGlsaWhhbiB5YW5nIGJlcmJhaGF5YToiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwcmlvcml0YXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiB0aXBlIGZpbGVzeXN0ZW0gdGlkYWsgZGlrZXRhaHVpICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAidGlwZTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBwYXJzZSBlcnJvciIKK21zZ2lkX3BsdXJhbCAiJWQgcGFyc2UgZXJyb3JzIgorbXNnc3RyWzBdICJlcnJvciBtZW5nYW1iaWxcbiIKK21zZ3N0clsxXSAiZXJyb3IgbWVuZ2FtYmlsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsIGVycm9yIgorbXNnc3RyWzFdICIsIGVycm9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgImxvbmcgcGlsaWhhbiBrb3Nvbmcgc2V0ZWxhaCBwaWxpaGFuIC1sIGF0YXUgLS1sb25nIGFyZ3VtZW4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJ0aWRhayBkaWtldGFodWkgc2hlbGwgc2V0ZWxhaCBwaWxpaGFuIC1zIGF0YXUgLS1zaGVsbCBhcmd1bWVuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiAgICAgICBnZXRvcHQgW3BpbGloYW5dIC1vIHwgLS1vcHRpb25zIG9wdHN0cmluZyBbcGlsaWhhbl0gWy0tXVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzNgorIywgZnV6enkKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBNZW1ib2xlaGthbiBwaWxpaGFuIHBhbmphbmcgZGltdWxhaSBkZW5nYW4gc2VidWFoIC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zPWxvbmdvcHRzICAgUGlsaWhhbiBwYW5qYW5nIHlhbmcgZGlrZW5hbFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9cHJvZ25hbWUgICAgICAgICAgTmFtYSBkaW1hbmEgZXJyb3IgdGVyc2VidXQgZGlsYXBvcmthblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgIE1lbWF0aWthbiBsYXBvcmFuIGVycm9yIG9sZWggZ2V0b3B0KDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgTWVuZ2VzZXQgc2hlbGwgcXVvdGluZyBjb252ZW50aW9uc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgdW50dWsgdmVyc2kgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5NiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NgorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJoaWxhbmcgYXJndW1lbnQgb3B0c3RyaW5nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJrZXJ1c2FrYW4gaW50ZXJuYWwsIGh1YnVuZ2kgYXV0aG9yLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIiVzOiBzaWduYWwgdGlkYWsgZGlrZXRhaHVpICVzOyB2YWxpZCBzaWduYWxzOlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3OQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTgyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODQKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkwCittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjQwIG1pc2MtdXRpbHMva2lsbC5jOjI0OSBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICIlczogc2lnbmFsIHRpZGFrIGRpa2V0YWh1aSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIiVzOiBBcmd1bWVudCBlcnJvciwgcGVuZ2d1bmFhblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiJXM6IG1lbmd1YmFoIG5hbWEgJXMga2UgJXMgZ2FnYWw6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbWVuZ3ViYWggbmFtYSAlcyBrZSAlcyBnYWdhbDogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBwcm9jZXNzIFwiJXNcIlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBuYW1hIGZhc2lsaXRhcyB0aWRhayBkaWtldGFodWk6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibG9nZ2VyOiBuYW1hIHByaW9yaXR5IHRpZGFrIGRpa2V0YWh1aTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAicGVuY2F0YXQ6IG9wZW5sb2c6IG5hbWEgamFsdXIgdGVybGFsdSBwYW5qYW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNvY2tldDogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjUwNQorIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJwZW1idWF0YW4gYXRyaWFuIHBlc2FuIGdhZ2FsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjgKKyMsIGZ1enp5Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG9jYXRlIGdhZ2FsIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiZmllbGQgdGVybGFsdSBwYW5qYW5nLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImZpZWxkIHRlcmxhbHUgcGFuamFuZy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMzCisjLCBmdXp6eQorbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBzeXN0ZW0gY2xvY2suXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorIywgZnV6enkKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3Cittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM5CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDEKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDIKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQzCittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIE1lbmdlc2V0IHNoZWxsIHF1b3RpbmcgY29udmVudGlvbnNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgdW50dWsgdmVyc2kgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICIoRmlsZSBzZWxhbmp1dG55YTogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxNQorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJuaWxhaSB3YWt0dSB0aW1lb3V0IGJ1cnVrOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCisjLCBmdXp6eQorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1OQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjMKK21zZ2lkICJEaXNwbGF5IGxpbmVzIGJlZ2lubmluZyB3aXRoIGEgc3BlY2lmaWVkIHN0cmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgIE1lbWJvbGVoa2FuIHBpbGloYW4gcGFuamFuZyBkaW11bGFpIGRlbmdhbiBzZWJ1YWggLVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXNpOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiTm9tb3IgcGFydGlzaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgcGF0aFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3IHN5cy11dGlscy9sb3NldHVwLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAic2V0IGhhbnlhLWJhY2EiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiIHJlbW92YWJsZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgcGF0aFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorIywgZnV6enkKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJnZXQgcGVueWVzdWFpYW4gb2ZzZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBtaW5pbWFsIEkvTyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorIywgZnV6enkKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJnZXQgdWt1cmFuIG9wdGltYWwgSS9PIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJnZXQgdWt1cmFuIGZpc2lrIGJsb2sgKHNla3RvcikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBsb2dpa2FsIGJsb2sgKHNla3RvcikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImdldCBwZW55ZXN1YWlhbiBvZnNldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIGkgICB1YmFoIGlkZW50aWZpa2FzaSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAzCittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJQZXJhbmdrYXQgbG9vcCBhZGFsYWggJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICJQZW1idWF0IEh5cGVydmlzb3I6IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJ1a2E6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIGJlcnBpbmRhaCBrZSBvZnNldCAweCVqeCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NjcgbWlzYy11dGlscy9sc2Jsay5jOjE1NjkgbWlzYy11dGlscy9sc2Jsay5jOjE1OTQKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXM6IGJ1a2FuIHNlYnVhaCBibG9jayBkZXZpY2VcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NgorIywgZnV6enkKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB1bnR1ayB2ZXJzaSBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MiBzeXMtdXRpbHMvbHNtZW0uYzo1MDYKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAiZ2FnYWwgbWVtcGVyb2xlaCBzdGF0aXN0aWsgZGFyaSBwYXRoXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgImdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgcGF0aFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworIywgZnV6enkKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJ0aWRhayBkYXBhdCBkYWVtb25pemUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorIywgZnV6enkKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBmaWxlICclcyciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICJ0aWRhayBkaWtldGFodWkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5zZXQgc3lzdGVtIGNsb2NrLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNiBzeXMtdXRpbHMvbHNucy5jOjkwNiBzeXMtdXRpbHMvcmZraWxsLmM6NTc1CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJXp1IGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJXp1IGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiTWVtcGVyb2xlaCAlZCBieXRlcyBkYXJpICVzXG4iCittc2dzdHJbMV0gIk1lbXBlcm9sZWggJWQgYnl0ZXMgZGFyaSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW5qYWxhbmthbiAlcyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIk1lbXBlcm9sZWggJWQgYnl0ZXMgZGFyaSAlc1xuIgorbXNnc3RyWzFdICJNZW1wZXJvbGVoICVkIGJ5dGVzIGRhcmkgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhIHN5bWxpbms6ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXM6IG1lbWJ1dHVoa2FuIGJlcmthcyBkZXNrcmlwc2ksIGJlcmthcyBhdGF1IGRpcmVrdG9yaVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIiCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorIiAtaCwgLS1oZWxwICAgICAgICAgIHRhbXBpbGthbiB0ZWtzIGJhbnR1YW4gaW5pXG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgdGFtcGlsa2FuIHRpdGlrIHBlbWFzYW5nYW4gZGlyZWt0b3JpIGRlbmdhbiBzZWJ1YWggJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgdGFtcGlsa2FuIG1vZGUgYml0IGRhcmkgc2V0aWFwIGJlcmthc1xuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHRhbXBpbGthbiBuYW1hIHBlbWlsaWsgYXRhdSBncnVwIGRhcmkgc2V0aWFwIGJlcmthc1xuIgorIiAtbCwgLS1sb25nICAgICAgICAgIGd1bmFrYW4gc2VidWFoIGZvcm1hdCBwZW5hbXBpbGFuIHBhbmphbmcgKC1tIC1vIC12KVxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGphbmdhbiBpa3V0aSBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHNlc3VhaWthbiB2ZXJ0aWthbCBkYXJpIG1vZGUgZGFuIHBlbWlsaWtcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJhcmd1bWVuIC0tZGF0ZSB0ZXJsYWx1IHBhbmphbmdcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiVzOiBtZWxld2F0aSBiYXRhcyBkYXJpIHN5bWxpbmtzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IGJ1a2FuIHNlYnVhaCBibG9jayBkZXZpY2VcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbWJ1a2EiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWsgZ2FnYWwiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG1lbmd1YmFoIG5hbWEgJXMga2UgJXMgZ2FnYWw6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBmaWxlOiBgJXMnXG4iCittc2dzdHIgIi4uLk1lbGV3YXRpIGtlIGZpbGUgIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBtZW5ndWJhaCBuYW1hICVzIGtlICVzIGdhZ2FsOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJ1bnNoYXJlIGdhZ2FsIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIG5vdCBtYWtlIGFueSBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDQKK21zZ2lkICIgLW8sIC0tbm8tb3ZlcndyaXRlICBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgTWVuZ2VzZXQgc2hlbGwgcXVvdGluZyBjb252ZW50aW9uc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgdW50dWsgdmVyc2kgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiICAgIC1IIyBbYXRhdSAtLWhlYWRzICNdOiAgc2V0IGp1bWxhaCBkYXJpIGhlYWRzIHlhbmcgZGlndW5ha2FuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIENldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAgIC1xICBbYXRhdSAtLXF1aWV0XTogICAgbWVuZWthbiBwZXNhbiBwZXJpbmdhdGFuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTA5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXJndW1lbiB0aWRhayBiYWlrIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJzb2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgInRlcmh1YnVuZyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworbXNnaWQgIndyaXRlIgorbXNnc3RyICJ0dWxpcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgImp1bWxhaCB5YW5nIHRlcmJhY2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICJwYW5qYW5nIGJhbGFzYW4gYnVydWsiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1YXQgYWxpcmFuIHNva2V0IHVuaXg6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5naWthdCBzb2tldCB1bml4ICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICIlczogbWVuZ3ViYWggbmFtYSAlcyBrZSAlcyBnYWdhbDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAid2FrdHUgaGFiaXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIm1vdW50IHRpZGFrIGRhcGF0IG1lbnNldCBncnVwIGlkOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgImRhZW1vbiB1dWlkZCB0ZWxhaCBiZXJqYWxhbiBkZW5nYW4gcGlkICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZGVuZ2Fya2FuIGRpIHNva2V0IHVuaXggJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBzdGF0aXN0aWsgJyVzJyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworIywgZnV6enkKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBnYWdhbCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODMKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICIlczogZ2FnYWwgbWVuZGFwYXRrYW4gdWt1cmFuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIldha3R1IGhhYmlzIHVudHVrIExvZ2luIHNlc3VkYWggJWQgZGV0aWtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4OTkgdGV4dC11dGlscy9jb2x1bW4uYzo0OTYKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NTI5CisjLCBmdXp6eQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW1iYWNhOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIkVycm9yIG1lbWJhY2EgZGFyaSBrbGllbiwgcGFuamFuZyA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJvcGVyYXNpICVkLCBtYXN1a2FuIGp1bWxhaCA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJPcGVyYXNpICVkIHRpZGFrIHZhbGlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCB3YWt0dSB5YW5nIGRpaGFzaWxrYW46ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICJVVUlEIGFjYWsgeWFuZyBkaWhhc2lsa2FuOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIlVVSUQgd2FrdHUgeWFuZyBkaWhhc2lsa2FuICVzIGRhbiAlZCB5YW5nIG1lbmdpa3V0aW55YVxuIgorbXNnc3RyWzFdICJVVUlEIHdha3R1IHlhbmcgZGloYXNpbGthbiAlcyBkYW4gJWQgeWFuZyBtZW5naWt1dGlueWFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiTWVuZ2hhc2lsa2FuICVkIFVVSUQ6XG4iCittc2dzdHJbMV0gIk1lbmdoYXNpbGthbiAlZCBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk9wZXJhc2kgJWQgdGlkYWsgdmFsaWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIlBhbmphbmcgYmFsYXNhbiBkYXJpIHNlcnZlciB0aWRhayB0ZXJkdWdhICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBuYW1lIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAibmFtYSB2b2x1bWUgdGVybGFsdSBwYW5qYW5nIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU0IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgIkVycm9yIG1lbWFuZ2dpbCBkYWVtb24gdXVpZGQgKCVzKTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgIiVzOiBmb3JtYXQgYmVya2FzIHRpZGFrIHRlcmR1Z2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJXMgZGFuIFVVSUQgJWQgc2VsYW5qdXRueWFcbiIKK21zZ3N0clsxXSAiJXMgZGFuIFVVSUQgJWQgc2VsYW5qdXRueWFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiRGFmdGFyIGRhcmkgVVVJRDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYXRpa2FuIHV1aWRkIHlhbmcgYmVyamFsYW4gZGVuZ2FuIHBpZCAlZDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICJEaW1hdGlrYW4gdXVpZGQgeWFuZyBiZXJqYWxhbiBkZW5nYW4gcGlkICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICIgICBzICAgYnVhdCBzZWJ1YWggZGlza2xhYmVsIFN1biB5YW5nIGtvc29uZyIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHVudHVrIHZlcnNpIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNAorbXNnaWQgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIGkgICB1YmFoIGlkZW50aWZpa2FzaSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAiTm9tb3IgcGFydGlzaSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzkKK21zZ2lkICJ0aW1lc3RhbXAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgImdhZ2FsIG1lbmdpbmlzaWFsaXNhc2kgYmFyaXMgcGVueWFuZ2dhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNQorIywgZnV6enkKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgImFyZ3VtZW4gLS1kYXRlIHRlcmxhbHUgcGFuamFuZ1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGlzaTpcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA2Cittc2dpZCAic3VwZXJibG9rIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAib2ZzZXQgaW5vZGUgYnVydWsiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgInBlcmFuZ2thdCBibG9jayAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICJwZXJhbmdrYXQgYmxvY2sgIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImVycm9yOiAlczogZ2FnYWwgbWVsYWt1a2FuIGluaXNpYWxpc2FzaSBwcm9iaW5nIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBiZXJwaW5kYWgga2Ugb2ZzZXQgMHglangiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICJdIGRpaGFwdXMgZGkgb2ZzZXQgMHglanggKCVzKVxuIgorbXNnc3RyWzFdICJdIGRpaGFwdXMgZGkgb2ZzZXQgMHglanggKCVzKVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlczogJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgcGFnZSBzaWduYXR1cmU6ICVzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIk1lbWFuZ2dpbCBpb2N0bCgpIHVudHVrIG1lbWJhY2Ega2VtYmFsaSB0YWJlbCBwYXJ0aXNpLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IHRpZGFrIGRpdGVtdWthbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1ODAKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIkd1bmFrYW4gcGlsaWhhbiAtLWZvcmNlIHVudHVrIG1lbWFrc2EgcGVtZXJpa3NhYW4gc2VjYXJhIGtlc2VsdXJ1aGFuLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorIywgZnV6enkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIiVzOiBnYWdhbCBtZW51bGlzIHRhbmRhIHRhbmdhbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FIgorbXNnc3RyICIlczogJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgcGFnZSBzaWduYXR1cmU6ICVzIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgIHQgICAgICAgICAgVWJhaCB0aXBlIGZpbGVzeXN0ZW0iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbCIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiICAgIC1DIyBbYXRhdSAtLWN5bGluZGVycyAjXTpzZXQganVtbGFoIGRhcmkgY3lsaW5kZXJzIHlhbmcgZGlndW5ha2FuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNQorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGxpc3Q+IENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgIHAgICAgICAgICAgQ2V0YWsgdGFiZWwgcGFydGlzaSBkaSBsYXlhciBhdGF1IGtlIHNlYnVhaCBmaWxlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIiAgICAtcSAgW2F0YXUgLS1xdWlldF06ICAgIG1lbmVrYW4gcGVzYW4gcGVyaW5nYXRhbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgICBsICAgbGlzdCB0aXBlIGZpbGVzeXN0ZW0geWFuZyBkaWtldGFodWkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgInBpbGloYW4geWFuZyBiZXJiYWhheWE6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtZXRlcnNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0ZXJzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJQaWxpaGFuOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGF0cmlidXQgcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInBpZCAlZCAlcyBrZWJpamFrYW4gYW50cmlhbjogIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJwaWQgJWQgJXMga2ViaWpha2FuIGFudHJpYW46ICIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkICVzIHByaW9yaXRhcyBhbnRyaWFuOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkICVzIHByaW9yaXRhcyBhbnRyaWFuOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZCAlcyBwcmlvcml0YXMgYW50cmlhbjogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5lbXVrYW4gcGVyYW5na2F0ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiU0NIRURfJXMgbWluL21heCBwcmlvcml0YXNcdDogJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJTQ0hFRF8lcyB0aWRhayBkaWR1a3VuZz9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiZ2FnYWwgbWVuc2V0IGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiZ2FnYWwgbWVuc2V0IGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTkKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjQKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUzOQorIywgZnV6enkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiU0NIRURfJXMgdGlkYWsgZGlkdWt1bmc/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IGdhZ2FsIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCBnYWdhbCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNAorbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTYKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6IFBlcmludGFoIHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gZGF0YSBrZWxhcyB5YW5nIGRpYmVyaWthbiB1bnR1ayBrZWxhcyBrb3NvbmciCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAibWVuZ2FiYWlrYW4gZGF0YSBrZWxhcyB5YW5nIGRpYmVyaWthbiB1bnR1ayBrZWxhcyBrb3NvbmciCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgInByaW9yaXRhcyBrZWxhcyAlZCBidXJ1ayIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxhcGxpa2FzaT4gW2FyZyAuLi5dXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgInViYWggd2FrdHUgcnRjIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImdhZ2FsIG1lbnNldCBrZWJpamFrYW4gcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzeXMtdXRpbHMvY2hjcHUuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW50dWthbiB1a3VyYW4gZGFyaSAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY2FsbG9jIGdhZ2FsIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiAgICAtQyMgW2F0YXUgLS1jeWxpbmRlcnMgI106c2V0IGp1bWxhaCBkYXJpIGN5bGluZGVycyB5YW5nIGRpZ3VuYWthbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAgIC1DIyBbYXRhdSAtLWN5bGluZGVycyAjXTpzZXQganVtbGFoIGRhcmkgY3lsaW5kZXJzIHlhbmcgZGlndW5ha2FuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTEKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiZGlkdWdhIHNlYnVhaCBub21vciwgdGV0YXBpIGRpcGVyb2xlaCAnJXMnIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgZ2FnYWwgZGkgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTIgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVudWxpcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJvbGVoIHVrdXJhbiBkaXNrIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVudWxpcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbnVsaXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW51bGlzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCisjLCBmdXp6eQorbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggYmxvY2sgZGV2aWNlXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW5kYXBhdGthbiB1a3VyYW4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTc3IHN5cy11dGlscy9ibGt6b25lLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbnVsaXMgem9uZSBtYXAiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwgZ2FnYWwgZGkgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm91bmQgJWQgem9uZXMgZnJvbSAweCU8UFJJeDY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbnVsaXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3VjY2Vzc2Z1bGx5IHJlc2V0IGluIHJhbmdlIGZyb20gJTxQUkl1NjQ+LCB0byAlPFBSSXU2ND4iCittc2dzdHIgIkdhZ2FsIG1lbnNldCBwZXJzb25hbGl0eSBrZSAlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgICAgLVMjIFthdGF1IC0tc2VjdG9ycyAjXTogc2V0IGp1bWxhaCBkYXJpIHNlY3RvcnMgeWFuZyBkaWd1bmFrYW4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9jayB5YW5nIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzczCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugem9uZSBvZmZzZXQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgdGlkYWsgYWRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIGJ1a2FuIHNlYnVhaCBleGVjdXRhYmxlLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJTZWt0b3IgJWQgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkF1dG9jb25maWd1cmUgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJTZWt0b3IgJWQgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIkdhZ2FsIG1lbnNldCBwZXJzb25hbGl0eSBrZSAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBidWthbiBzZWJ1YWggZXhlY3V0YWJsZS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIlNla3RvciAlZCBzdWRhaCBkaWFsb2thc2lrYW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyZSBnYWdhbC5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyZSBnYWdhbC5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF1dG9jb25maWd1cmUgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIkp1bWxhaCBkYXJpIGJhcmlzIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVtb3J5IEJsb2NrICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEyNCBzeXMtdXRpbHMvY2htZW0uYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkXG4iCittc2dzdHIgIlNla3RvciAlZCBzdWRhaCBkaWFsb2thc2lrYW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlZFxuIgorbXNnc3RyICJTZWt0b3IgJWQgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIHN1ZGFoIGRpYWxva2FzaWthblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkF1dG9jb25maWd1cmUgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIlNla3RvciAlZCBzdWRhaCBkaWFsb2thc2lrYW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJBdXRvY29uZmlndXJlIGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJTZWt0b3IgJWQgc3VkYWggZGlhbG9rYXNpa2FuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI2NiBzeXMtdXRpbHMvbHNtZW0uYzo0NzYgc3lzLXV0aWxzL2xzbWVtLmM6NDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZGFwYXRrYW4gc3RhdGlzdGlrOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBibG9jayBudW1iZXIiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHByaW9yaXRhcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGFsYW1hdCB1bnR1ayAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM3Cittc2dpZCAiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWVuYWJsZSAgICAgICBlbmFibGUgbWVtb3J5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MworbXNnaWQgIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgImxvZ2dlcjogbmFtYSBwcmlvcml0eSB0aWRhayBkaWtldGFodWk6ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIlBlbmdndW5hYW46IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgImFraGlyIGRhcmkgYmVya2FzIHRpZGFrIGRpZHVnYSBkaSAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworIywgZnV6enkKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJBbmRhIGhhcnVzIG1lbmphZGkgcm9vdCB1bnR1ayBtZW5nZXNldCByZWFrc2kgZGFyaSBDdHJsLUFsdC1EZWwuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIlBhcnRpc2kgaW5pIHRpZGFrIGRhcGF0IGRpZ3VuYWthbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiZXJyb3IgbWVudXR1cCAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAicGVzYW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorIywgZnV6enkKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5CisjLCBmdXp6eQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgZGFlbW9uaXplIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgZGFlbW9uaXplIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjkKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlIHRpbWVzdGFtcCBvdXRwdXQgb24gZWFjaCBsaW5lIG9mIG11bHRpLWxpbmUgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA4Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogUGVyaW50YWggdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJCdWthbiBkaXJla3RvcmkgJXMhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2CisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgImJhY2EgYmFyaXMgcnRjIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJtc2djdGwgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIiCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxuYW1hIGJlcmthcz5cbiIKKyJcbiIKKyJQaWxpaGFuOlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDEKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiUGVyaW5nYXRhbjogcGlsaWhhbiB1bnR1ayBub2xvY2sgdGlkYWsgZGlsYXlhbmkuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MworbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ4Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjcKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgImtlY2VwYXRhbiAlZCB0aWRhayBkaWR1a3VuZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMyIHN5cy11dGlscy9lamVjdC5jOjQ1NSBzeXMtdXRpbHMvZWplY3QuYzoxMDA2Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM4Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MworbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJidWthbiBzZWJ1YWggcGVyYW5na2F0IGJsb2sgYXRhdSBiZXJrYXM6ICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICJtb3VudCBnYWdhbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjczCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiB0aXRpayBtb3VudCAlcyB0aWRhayBhZGEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICIlczogbWVuZ3ViYWggbmFtYSAlcyBrZSAlcyBnYWdhbDogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3ODYgc3lzLXV0aWxzL2VqZWN0LmM6ODg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIk1lbmdndW5ha2FuIG5pbGFpIGRlZmF1bHQgJXVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJld2luZCBwZXJhbmdrYXQgc3dhcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJQZXJhbmdrYXQgbG9vcCBhZGFsYWggJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJmc2NrOiAlczogdGlkYWsgZGl0ZW11a2FuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgYmVycGluZGFoIGtlIG9mc2V0IDB4JWp4IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBidWthbiBzZWJ1YWggYmxvY2sgZGV2aWNlXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIGlzIGAlcyciCittc2dzdHIgIlBlcmFuZ2thdCBsb29wIGFkYWxhaCAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAiJXM6ICVzOiBwZXJhbmdrYXQgc2VkYW5nIHNpYnVrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKKyMsIGZ1enp5Cittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIiVzIHN1a3Nlcy5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgZWtzZWt1c2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImdhZ2FsIG1lbWJ1a2EgZGlyZWt0b3JpXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICJnYWdhbCBtZW5qYWxhbmthbiAlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MgorbXNnaWQgIiAtaSwgLS1pbnNlcnQtcmFuZ2UgICBpbnNlcnQgYSBob2xlIGF0IHJhbmdlLCBzaGlmdGluZyBleGlzdGluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAgICAtQyMgW2F0YXUgLS1jeWxpbmRlcnMgI106c2V0IGp1bWxhaCBkYXJpIGN5bGluZGVycyB5YW5nIGRpZ3VuYWthbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQ2V0YWsgdGFiZWwgcGFydGlzaSBkaSBsYXlhciBhdGF1IGtlIHNlYnVhaCBmaWxlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NgorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNQorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAibW9kZSBqYWdhIHVrdXJhbiAoLW4gcGlsaWhhbikgdGlkYWsgZGlkdWt1bmciCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICIlczogZmFsbG9jYXRlIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW1idWthIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJuaWxhaSBwYW5qYW5nIHlhbmcgZGlzcGVzaWZpa2FzaWthbiB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgInBhbmphbmcgYXJndW1lbiB0aWRhayBkaXNwZXNpZmlrYXNpa2FuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJuaWxhaSBvZnNldCB5YW5nIGRpc3Blc2lmaWthc2lrYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorIywgZnV6enkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgImxvZ2luOiB0aWRhayBhZGEgbWVtb3J5IHVudHVrIHNoZWxsIHNjcmlwdC5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBmaWxlICclcyciCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIxMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXM6ICVzIG1lbWJ1dHVoa2FuIHRlcGF0IHNlYnVhaCBhcmd1bWVudCBwZXJpbnRhaFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAicGVyYW5na2F0IGJsb2NrICIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBtZW1idXR1aGthbiBiZXJrYXMgZGVza3JpcHNpLCBiZXJrYXMgYXRhdSBkaXJla3RvcmlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZGFwYXRrYW4gc3RhdGlzdGlrOiAlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg5Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIGRldGlrXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJFcnJvciBtZW5qYWxhbmthblx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ0CisjLCBmdXp6eQorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTWVtZXJpa3NhIHNlbHVydWggc2lzdGVtIGJlcmthcy5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgIHQgICAgICAgICAgVWJhaCB0aXBlIGZpbGVzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ4Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA1Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImFrYXIgaW5vZGUgYnVrYW4gc2VidWFoIGRpcmVrdG9yaSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbnVsaXMiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbnVsaXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiYWthciBpbm9kZSBidWthbiBzZWJ1YWggZGlyZWt0b3JpIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVudWxpcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MyBzeXMtdXRpbHMvbHNucy5jOjEwNjYgc3lzLXV0aWxzL3N3YXBvbi5jOjczMworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIiCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxuYW1hIGJlcmthcz5cbiIKKyJcbiIKKyJQaWxpaGFuOlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgIC1DIyBbYXRhdSAtLWN5bGluZGVycyAjXTpzZXQganVtbGFoIGRhcmkgY3lsaW5kZXJzIHlhbmcgZGlndW5ha2FuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYSBiZXJrYXMgcGV3YWt0dSAlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorIywgZnV6enkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmFtYSBiZXJrYXMgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAia2VjZXBhdGFuICVkIHRpZGFrIGRpZHVrdW5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIkRpYXN1bXNpa2FuIGNsb2NrIGhhcmR3YXJlIHRldGFwIGRpIHdha3R1ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJsb2thbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKKyMsIGZ1enp5Cittc2dpZCAiIgorIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLikiCittc2dzdHIgIiVzOiBQZXJpbmdhdGFuOiB0aWRhayBkaWtlbmFsIGJhcmlzIGtldGlnYSBkaSBhZGp0aW1lIGZpbGVcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJQZW55ZXN1YWlhbiBkcmlmdCB0ZXJha2hpciBkaWxha3VrYW4gcGFkYSAlbGQgZGV0aWsgc2V0ZWxhaCAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIkthbGlicmFzaSB0ZXJha2hpciBkaWxha3VrYSBkaSAlbGQgZGV0aWsgc2V0ZWxhaCAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiSGFyZHdhcmUgY2xvY2sgYWRhbGFoIGRpIHdha3R1ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiTWVudW5nZ3UgdW50dWsgY2xvY2sgdGljay4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIi4uLnNpbmtyb25pc2FzaSBnYWdhbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi5kaXBlcm9sZWggY2xvY2sgdGlja1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICJOaWxhaSB0aWRhayB2YWxpZCBkaSBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgZGV0aWsgc2VqYWsgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJXYWt0dSB0ZXJiYWNhIGRhcmkgSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiTWVuc2V0IEhhcmR3YXJlIENsb2NrIG1lbmphZGkgJS4yZDolLjJkOiUuMmQgPSAlbGQgZGV0aWsgc2VtZW5qYWsgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIk1lbWFuZ2dpbCBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICJNZW1hbmdnaWwgc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjU1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIlRpZGFrIG1lbnllc3VhaWthbiBmYWt0b3IgZHJpZnQga2FyZW5hIENsb2NrIEhhcmR3cmUgc2ViZWx1bW55YSBiZXJpc2kgc2FtcGFoLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIlRpZGFrIG1lbnllc3VhaWthbiBmYWt0b3IgZHJpZnQga2FyZW5hIHdha3R1IGthbGlicmFzaSB0ZXJha2hpciBhZGFsYWggbm9sLFxuIgorImphZGkgaGlzdG9yeSBidXJ1ayBkYW4gcGVuZ3VsYW5nYW4ga2FsaWJyYXNpIGRpcGVybHVrYW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJUaWRhayBtZW55ZXN1YWlrYW4gZmFrdG9yIGRyaWZ0IGthcmVuYSBpbmkgbGViaWgga2VjaWwgZGFyaSBoYXJpIHNlbWVuamFrIHRlcmFraGlyIGRpa2FsaWJyYXNpLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIkNsb2NrIGRpZ2VzZXIgJS4xZiBkZXRpayBkYXJpIHdha3R1IHNlYmVsdW1ueWEsICVkIGRldGlrICBkYXJpIHBhZGEgZmFrdG9yIGRyaWZ0ICVmIGRldGlrL2hhcmkuXG4iCisibWVueWVzdWFpa2FuIGZha3RvciBkcmlmdCBzZWJlc2FyICVmIGRldGlrL2hhcmkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIldha3R1IHNlbWVuamFrIHBlbnllc3VhaWFuIHRlcmFraGlyIGFkYWxhaCAlZCBkZXRpa1xuIgorbXNnc3RyWzFdICJXYWt0dSBzZW1lbmphayBwZW55ZXN1YWlhbiB0ZXJha2hpciBhZGFsYWggJWQgZGV0aWtcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgZGV0aWtcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5ldyAlcyBkYXRhOlxuIgorIiVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXBkYXRlICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiVGlkYWsgbWVueWVzdWFpa2FuIGphbSBrYXJlbmEgd2FrdHUga2FsaWJyYXNpIHRlcmFraGlyIGFkYWxhaCBub2wsIGphZGkgc2VqYXJhaCBidXJ1ay4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIlRpZGFrIG1lbnllc3VhaWthbiBqYW0ga2FyZW5hIHdha3R1IGthbGlicmFzaSB0ZXJha2hpciBhZGFsYWggbm9sLCBqYWRpIHNlamFyYWggYnVydWsuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJUaWRhayBkaXRlbXVrYW4gYW50YXJtdWthIGNsb2NrIHlhbmcgYmVyZ3VuYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWtzZXMgSGFyZHdhcmUgQ2xvY2sgbWVsYWx1aSBzZW11YSBtZXRvZGUgeWFuZyBkaWtldGFodWkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIkd1bmFrYW4gcGlsaWhhbiAtLWRlYnVnIHVudHVrIG1lbGloYXQgZGV0YWlsIGRhcmkgcGVuY2FyaWFuIGtpdGEgdW50dWsgc2VidWFoIG1ldG9kZSBha3Nlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICJwYWdlcyB5YW5nIGRpIHN3YXAgJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJQZW55ZXN1YWlhbiB5YW5nIGRpYnV0dWhrYW4gbXVuZ2tpbiBsZWJpaCBrZWNpbCBkYXJpIHNhdHUgZGV0aWssIGphZGkgdGlkYWsgbWVuc2V0IGNsb2NrLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJhY2Egc3VwZXIgYmxvY2siCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgUlRDIGVwb2NoIGlzIHNldCB0byAlbHUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQwCittc2dpZCAiLS1lcG9jaCBpcyByZXF1aXJlZCBmb3IgLS1zZXRlcG9jaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQzCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBzeXN0ZW0gY2xvY2suXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ICAgICAgICAgICAgZGlzcGxheSBkcmlmdCBjb3JyZWN0ZWQgUlRDIHRpbWUiCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjcKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgICBsICAgbGlzdCB0aXBlIGZpbGVzeXN0ZW0geWFuZyBkaWtldGFodWkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBNZW1ib2xlaGthbiBwaWxpaGFuIHBhbmphbmcgZGltdWxhaSBkZW5nYW4gc2VidWFoIC1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lPiAgICBkYXRlL3RpbWUgaW5wdXQgZm9yIC0tc2V0IGFuZCAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg2Cittc2dpZCAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIGVwb2NoIGlucHV0IGZvciAtLXNldGVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4OAorbXNnaWQgIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgdGhlIFJUQyBkcmlmdCBmYWN0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IHVzZSAlMSRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExODYKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICIlczogVGlkYWsgZGFwYXQgbWVuZ2h1YnVuZ2kga2Ugc2lzdGVtIGF1ZGl0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgIiVzOiB0ZXJsYWx1IGJhbnlhayBhcmd1bWVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKKyMsIGZ1enp5Cittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiVzOiBEZW5nYW4gLS1ub2FkamZpbGUsIGFuZGEgaGFydXMgbWVuc3Blc2lmaWthc2kgYmFpayAtLXV0YyBhdGF1IC0tbG9jYWx0aW1lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAiV2FrdHUgc2lzdGVtIHNla2FyYW5nOiAlbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGZ1enp5Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAiZ2FnYWwgbWVtcGVyb2xlaCBzdGF0aXN0aWsgZGFyaSBwYXRoXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAib3BlbigpIGRhcmkgJXMgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTcKK21zZ2lkICJVc2luZyBkaXJlY3QgSVNBIGFjY2VzcyB0byB0aGUgY2xvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiTWVuY29iYSB1bnR1ayB1bW91bnQgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTUwIHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI1MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSB1bnR1ayAlcyB1bnR1ayBtZW1iYWNhIHdha3R1IGdhZ2FsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIk1lbnVuZ2d1IGRhbGFtIGxvb3AgdW50dWsgd2FrdHUgZGFyaSAlcyB1bnR1ayBwZXJ1YmFoYW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIldha3R1IGhhYmlzIG1lbnVuZ2d1IHVudHVrIHBlcnViYWhhbiB3YWt0dS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAic2VsZWN0KCkgdW50dWsgJXMgd2FrdHUgaGFiaXMgdW50dWsgbWVudW5nZ3UgY2xvY2sgdGlja1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgInNlbGVjdCgpIHVudHVrICVzIHVudHVrIG1lbnVuZ2d1IGNsb2NrIHRpY2sgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSB1bnR1ayAlcyB1bnR1ayBtZW1hdGlrYW4gaW50ZXJ1cHNpIHVwZGF0ZSBnYWdhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBrZSAlcyBnYWdhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSB1bnR1ayAlcyB1bnR1ayBtZW5zZXQgd2FrdHUgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBiZXJoYXNpbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgdW50dWsgJXMgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB1bnR1ayAlcyBnYWdhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGVwb2NoICclcycuIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGtlICVzIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkga2UgJXMgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6NzE1IHN5cy11dGlscy96cmFtY3RsLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgInBlbWJ1YXRhbiBtZW1vcmkgdGVyYmFnaSBnYWdhbCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIklkZW50aXRhcyBtZW1vcmkgdGVyYmFnaTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICJwZW1idWF0YW4gYXRyaWFuIHBlc2FuIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiSWRlbnRpdGFzIGFudHJpYW4gcGVzYW46ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJwZW1idWF0YW4gc2VtYXBob3IgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIklkZW50aXRhcyBzZW1hcGhvcjogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIiCisiXG4iCisiQmFnaWFuIG1lbW9yeSBzaGFyZSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJCYWdpYW4gbWVtb3J5IHNoYXJlIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiSWRlbnRpdGFzIGFudHJpYW4gcGVzYW46ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJJZGVudGl0YXMgc2VtYXBob3I6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJpamluIGRpdG9sYWsgdW50dWsga3VuY2kiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAiaWppbiBkaXRvbGFrIHVudHVrIGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgImt1bmNpIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJpZCB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgImt1bmNpIHN1ZGFoIGRpaGFwdXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiaWQgc3VkYWggZGloYXB1cyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorIywgZnV6enkKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBzZWVrIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgInJlc291cmNlKHMpIGRpaGFwdXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICIlczoga3VuY2kgaWxsZWdhbCAoJXMpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImtlcm5lbCB0aWRhayBkaWtvbmZpZ3VyYXN1IHVudHVrIHNoYXJlZCBtZW1vcnlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAia2VybmVsIHRpZGFrIGRpa29uZmlndXJhc2lrYW4gdW50dWsgc2VtYXBob3Jlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAia2VybmVsIHRpZGFrIGRpa29uZmlndXJhc2lrYW4gdW50dWsgbWVzc2FnZSBxdWV1ZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTcgc3lzLXV0aWxzL2xzaXBjLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiVzIG1lbWJlcmlrYW4gaW5mb3JtYXNpIGRpIGZhc2lsaXRhcyBpcGMgZGltYW5hIGFuZGEgbWVtaWxpa2kgaWppbiB1bnR1ayBtZW1iYWNhLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBpZCBbLXMgLXEgLW1dIDogZGV0YWlsIGRpIHJlc291cmNlIHlhbmcgZGkgaWRlbnRpZmlrYXNpIG9sZWggaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAicGlsaWhhbiB5YW5nIGJlcmJhaGF5YToiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiUGlsaWhhbjpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworIywgZnV6enkKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IChrYnl0ZXMpID0gJWxsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJhdGFzIFNoYXJlZCBNZW1vcnkgIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIm1heCBub21vciBkYXJpIHNlZ21lbnRzID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAidWt1cmFuIGlub2RlIGJ1cnVrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorIywgZnV6enkKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkgKGtieXRlcykgPSAlbGx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBtaW5pbWFsIEkvTyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImtlcm5lbCB0aWRhayBkaWtvbmZpZ3VyYXN1IHVudHVrIHNoYXJlZCBtZW1vcnlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBQZW1idWF0L1BlbWlsaWsgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAicGVybXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjI4NgorIzogc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAib3duZXIiCittc2dzdHIgInBlbWlsaWsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgImF0dGFjaGVkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJkZXRhY2hlZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJiZXJ1YmFoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgUGVtYnVhdC9MYXN0LW9wIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAia3VuY2kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJieXRlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInN0YXR1cyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiVGlkYWsgZGlzZXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICJkZXN0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAidGVya3VuY2kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJnYWdhbCBtZW5zZXQga2ViaWpha2FuIHBpZCAlZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJhdGFzIFNlbWFwaG9yZSAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBhcnJheXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJtYXggc2VtYXBob3JzIHBlciBhcnJheSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibWF4IHNlbWFwaG9ycyBzeXN0ZW0gd2lkZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJuaWxhaSBtYWtzaW1hbCBzZW1hcGhvcmUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAia2VybmVsIHRpZGFrIGRpa29uZmlndXJhc2lrYW4gdW50dWsgc2VtYXBob3Jlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImFycmF5cyB5YW5nIGRpZ3VuYWthbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAic2VtYXBob3JlcyB5YW5nIGRpYWxva2FzaWthbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYXBob3JlIEFycmF5IFBlbWJ1YXQvUGVtaWxpayAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gT3BlcmFzaSBTZW1hcGhvcmUvUGVydWJhaGFuIFdha3R1IC0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgImxhc3Qtb3AiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJsYXN0LWNoYW5nZWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAibnNlbXMiCittc2dzdHIgIm5zZW1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIkp1bWxhaCBkYXJpIGhlYWRzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVzc2FnZXM6IExpbWl0cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCisjLCBmdXp6eQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkYXJpIHBlc2FuIChieXRlcykgPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDczCisjLCBmdXp6eQorbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkZWZhdWx0IGRhcmkgYW50cmlhbiAoYnl0ZXMpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJrZXJuZWwgdGlkYWsgZGlrb25maWd1cmFzaWthbiB1bnR1ayBtZXNzYWdlIHF1ZXVlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUGVzYW46IFN0YXR1cyAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImFsb2thc2kgYW50cmlhbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgaGVhZGVycyA9ICVkXG4iCittc2dzdHIgInBlbmdndW5hYW4gaGVhZGVycyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4CisjLCBmdXp6eQorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgInBlbmdndW5hYW4gc3BhY2UgPSAlZCBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorIywgZnV6enkKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiYnl0ZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQZXNhbiBBbnRyaWFuOiBQZW1idWF0L1BlbWlsaWsgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKKyM6IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUGVzYW4gQW50cmlhbiBLaXJpbS9UZXJpbWEvS2VtYmFsaSBXYWt0dSAoVGltZXMpIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAia2lyaW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAicmVjdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgImtlbWJhbGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQZXNhbiBBbnRyaWFuIFBJRHMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFBlc2FuIEFudHJpYW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJieXRlIHlhbmcgZGlndW5ha2FuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICJwZXNhbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImZzY2s6ICVzOiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiQmFnaWFuIG1lbW9yeSBzaGFyZSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHRnaWQ9JWRcdHVpZD0lZFx0Y2dpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIywgZnV6enkKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiLCBiZXNhcj0lOWx1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIywgZnV6enkKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJieXRlcz0lbGRcdGxwaWQ9JWRcdGNwaWQ9JWRcdG5hdHRjaD0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFudHJpYW4gUGVzYW4gbXNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JWRcdGdpZD0lZFx0Y3VpZD0lZFx0Y2dpZD0lZFx0bW9kZT0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiYnl0ZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCisjLCBmdXp6eQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgImJ5dGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAic2VuZF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInJjdl90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHQgZ2lkPSVkXHQgY3VpZD0lZFx0IGNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAibmlsYWkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bmQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXpkIGJ5dGVzIFsiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiV6ZCBieXRlcyBbIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOYW1hIDxsZGlzYz4gZGlrZW5hbDpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTmFtYSA8bGRpc2M+IGRpa2VuYWw6XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJiYXJpcyBkaXNpcGxpbiB0aWRhayB2YWxpZDogJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgYnVrYW4gc2VidWFoIGJhcmlzIHNlcmlhbCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggYXRyaWJ1dCB0ZXJtaW5hbCAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJrZWNlcGF0YW4gJWQgdGlkYWsgZGlkdWt1bmciCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5zZXQgYXRyaWJ1dCB0ZXJtaW5hbCB1bnR1ayAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAibmFtZWk6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggZGlyZWt0b3JpIHNhYXQgaW5pIC0gJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBiYXJpcyBkaXNpcGxpbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgZGFlbW9uaXplIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiAlczogcGVyYW5na2F0IHRpZGFrIGRpa2V0YWh1aSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpc2k6XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAiZ2V0IHBlbnllc3VhaWFuIG9mc2V0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBsb2dpa2FsIGJsb2sgKHNla3RvcikiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgb2Zmc2V0ICVkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIHNpemVsaW1pdCAlPFBSSXU2ND4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIGVua3JpcHNpICVzICh0aXBlICU8UFJJdTMyPikiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN0YXQgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgICAgICBzZXQgdGhlIGxvZ2ljYWwgc2VjdG9yIHNpemUgdG8gPG51bT5cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgdW50dWsgdmVyc2kgZ2V0b3B0KDEpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiAlcyBidWthbiBzZWJ1YWggcGVyYW5na2F0IGxwLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIm1vdW50OiBnYWdhbCBtZW5zZXQtdXAgcGVyYW5na2F0IGxvb3BcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTQyIHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIHBlcmFuZ2thdCAlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAibWVtYmFjYSBsYWdpIHRhYmVsIHBhcnRpc2kiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsb2dpY2FsIGJsb2NrIHNpemUiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorIywgZnV6enkKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBwZXJhbmdrYXQgbG9vcCBkaXNwZXNpZmlrYXNpa2FuIGR1YSBrYWxpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogc3RhdCBnYWdhbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbmRhcGF0a2FuIHVrdXJhbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIG1lbmRhcGF0a2FuIHVrdXJhbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKK21zZ2lkICJub25lIgorbXNnc3RyICJrb3NvbmciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAicGFyYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKK21zZ2lkICJmdWxsIgorbXNnc3RyICJwZW51aCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgImdldCB1a3VyYW4gbG9naWthbCBibG9rIChzZWt0b3IpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJnZXQgdWt1cmFuIGxvZ2lrYWwgYmxvayAoc2VrdG9yKSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBsb2dpa2FsIGJsb2sgKHNla3RvcikiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDIKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6Mzk5Cittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiZXJyb3I6IHVuYW1lIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IHBlbmdvbGFoIHNpbnlhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTMwNworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworIywgZnV6enkKK21zZ2lkICJOIgorbXNnc3RyICJOQyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyBCZXJpa3V0IGFkYWxhaCBmb3JtYXQgeWFuZyBkYXBhdCBkaWFtYmlsLCB5YW5nIGRhcGF0IGRpbWFzdWthbiBrZVxuIgorIiMgYXBsaWthc2kgbGFpbi4gU2V0aWFwIGJhZ2lhbiB5YW5nIGJlcmJlZGEgZGFsYW0gc2V0aWFwIGtvbG9tIG1lbWlsaWtpXG4iCisiIyBJRCB1bmlrIGJlcmF3YWwgZGFyaSBub2wuXG4iCisiIyBDUFUsQ29yZSxTb2tldCxOb2RlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJDUFUgb3AtbW9kZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTc0MgorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDQKKyMsIGZ1enp5Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVIHNva2V0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDgKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjgKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMworbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIlRocmVhZChzKSBzZXRpYXAgaW50aToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJJbnRpIHNldGlhcCBzb2tldDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKKyMsIGZ1enp5Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiSW50aSBzZXRpYXAgc29rZXQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorIywgZnV6enkKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJDUFUgc29rZXQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiVGl0aWsgTlVNQToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJJRCBQZW1idWF0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorIywgZnV6enkKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJOb21vciBwYXJ0aXNpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI4Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIktlbHVhcmdhIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZGVsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorIywgZnV6enkKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAiTW9kZWw6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICJTdGVwcGluZzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzYKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzgKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MgorIywgZnV6enkKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ0CisjLCBmdXp6eQorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDYKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0OSBzeXMtdXRpbHMvbHNjcHUuYzoxODUxCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICJWaXJ0dWFsaXNhc2k6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0CisjLCBmdXp6eQorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJQZW1idWF0IEh5cGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU2Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJQZW1idWF0IEh5cGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIlRpcGUgdmlydHVhbGlzYXNpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MAorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiVzIHBlcnNlZGlhYW46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJUaXRpayBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiQ3lsaW5kZXIgUGh5c2ljYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJDeWxpbmRlciBQaHlzaWNhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiZ2V0IHVrdXJhbiBmaXNpayBibG9rIChzZWt0b3IpIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiVGFuZGEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA3CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgImt1bmNpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAicGVtaWxpayIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJtb3VudDogaWppbiBkaXRvbGFrIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlV0YW1hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAicGVuZ2d1bmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJVc2VybmFtZSAocGVuZ2d1bmEpIHRpZGFrIGxlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiR0lEIgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiVXNlcm5hbWUgKHBlbmdndW5hKSB0aWRhayBsZWdhbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJnYWdhbCBtZW1wZXJvbGVoIHN0YXRpc3RpayBkYXJpIHBhdGhcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJsYXN0LWNoYW5nZWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorIywgZnV6enkKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJkaXRhbmRhaSBzZWRhbmcgZGlndW5ha2FuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJKdW1sYWggZGFyaSBoZWFkcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJwZXNhbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAibWVsZXdhdGkgYmFyaXMgcGVydGFtYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJnZXQgYmxvY2tzaXplIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAibWF4IG5vbW9yIGRhcmkgc2VnbWVudHMgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgInN0YXR1cyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJhdHRhY2hlZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJkZXRhY2hlZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgInRpZGFrIGFkYSBwZXJpbnRhaD9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgInBlbmdndW5hIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIkp1bWxhaCBkYXJpIHNla3RvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIklkZW50aXRhcyBzZW1hcGhvcjogJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJPcGVyYXNpICVkIHRpZGFrIHZhbGlkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJVc2VybmFtZSAocGVuZ2d1bmEpIHRpZGFrIGxlZ2FsIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicGVyYW5na2F0IGJsb2NrICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJwZXJhbmdrYXQgYmxvY2sgIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICJQZW5nZ3VuYWFuOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IGRldGFpbCBkaSByZXNvdXJjZSB5YW5nIGRpIGlkZW50aWZpa2FzaSBvbGVoIGlkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiUGlsaWhhbjpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCYWdpYW4gbWVtb3J5IHNoYXJlIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICJQZXJpbnRhaCB5YW5nIHRlcnNlZGlhOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiUGVyaW50YWggeWFuZyB0ZXJzZWRpYTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJKdW1sYWggZGFyaSBzZWt0b3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgc2VrdG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJtYXggc2VtYXBob3JzIHBlciBhcnJheSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAibmlsYWkgbWFrc2ltYWwgc2VtYXBob3JlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiSnVtbGFoIGRhcmkgaGVhZHMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkYXJpIHBlc2FuIChieXRlcykgPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkZWZhdWx0IGRhcmkgYW50cmlhbiAoYnl0ZXMpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1CisjLCBmdXp6eQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorIlxuIgorIkJhZ2lhbiBtZW1vcnkgc2hhcmUgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJJZGVudGl0YXMgbWVtb3JpIHRlcmJhZ2k6ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkYXJpIHBlc2FuIChieXRlcykgPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgInVrdXJhbiBtYWtzaW1hbCBkYXJpIHBlc2FuIChieXRlcykgPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgImdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgcGF0aFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBpcyByZW1vdmFibGUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICJrZWhhYmlzYW4gbWVtb3JpIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgImdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgcGF0aFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAib25saW5lIgorbXNnc3RyICIsIG9uLWxpbmUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorIywgZnV6enkKK21zZ2lkICJvZmZsaW5lIgorbXNnc3RyICIsIG9uLWxpbmUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIyIHN5cy11dGlscy9sc21lbS5jOjMyOQorIywgZnV6enkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgImdldCBibG9ja3NpemUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgImtlaGFiaXNhbiBtZW1vcmkiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICJrZWhhYmlzYW4gbWVtb3JpIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDcyCisjLCBmdXp6eQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgbWVtb3J5IGJsb2NrcyIKK21zZ3N0ciAiJXM6IHBlbmdndW5hIFwiJXNcIiB0aWRhayBhZGEuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ5OQorbXNnaWQgIkxpc3QgdGhlIHJhbmdlcyBvZiBhdmFpbGFibGUgbWVtb3J5IHdpdGggdGhlaXIgb25saW5lIHN0YXR1cy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIGxpc3QgZWFjaCBpbmRpdmlkdWFsIG1lbW9yeSBibG9ja1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgUGlsaWhhbiBwZW5kZWsgeWFuZyBkaWtlbmFsXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMAorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICB1c2UgdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTEKK21zZ2lkICIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIC0tc3VtbWFyeSBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjMzCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5OQorbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwCittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJnYWdhbCBtZW1wZXJvbGVoIHN0YXRpc3RpayBkYXJpIHBhdGhcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA4Cittc2dpZCAibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDkKK21zZ2lkICJuc2ZzIG1vdW50cG9pbnQgKHVzdWFsbHkgdXNlZCBuZXR3b3JrIHN1YnN5c3RlbSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IHN5c3RlbSBjbG9jay5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAidGlwZSByZXNvdXJjZSB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNAorIywgZnV6enkKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBpdHUgKFVJRCBlZmVrdGlmIGFkYWxhaCAlZCkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiBoYW55YSByb290IHlhbmcgZGFwYXQgbWVsYWt1a2FuIGl0dSAoVUlEIGVmZWt0aWYgYWRhbGFoICVkKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJtb3VudDogaGFueWEgcm9vdCB5YW5nIGRhcGF0IG1lbGFrdWthbiBtb3VudCAlcyBkaSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorIywgZnV6enkKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgIm1vdW50OiBoYW55YSByb290IHlhbmcgZGFwYXQgbWVsYWt1a2FuIGl0dSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODQgc3lzLXV0aWxzL3Vtb3VudC5jOjYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgZGFyaSAlcyVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICJtb3VudDogJXMgdGVsYWggZGltb3VudCBkaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiZnNjazogJXM6IHRpZGFrIGRpdGVtdWthblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIHRpZGFrIGJlcmlzaSBsYWJlbCBTRUxpbnV4LlxuIgorIiAgICAgICBBbmRhIHRlbGFoIG1lbWFzYW5nIHNpc3RlbSBiZXJrYXMgeWFuZyBtZW5kdWt1bmcgbGFiZWwgeWFuZyB0aWRha1xuIgorIiAgICAgICBiZXJpc2kgbGFiZWwsIGtlZGFsYW0ga290YWsgU0VMaW51eC4gSW5pIHNlcGVydGlueWEgYmVyaXNpIGFwbGlrYXNpXG4iCisiICAgICAgIHlhbmcgYWthbiBtZW5naGFzaWxrYW4gcGVzYW4gQVZDIGRhbiB0aWRhayBkaXBlcmJvbGVoa2FuIG1lbmdha3NlcyBrZVxuIgorIiAgICAgICBzaXN0ZW0gYmVya2FzIGluaS4gVW50dWsgbGViaWggbGVuZ2thcG55YSBsaWhhdCByZXN0b3JlY29uKDgpIGRhbiBtb3VudCg4KS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNZW1lcmlrc2Egc2VsdXJ1aCBzaXN0ZW0gYmVya2FzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiICBbIC1maWxlIGR1bXBmaWxlbmFtZSBdXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI0IHN5cy11dGlscy91bW91bnQuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudCBnYWdhbCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAxIHN5cy11dGlscy91bW91bnQuYzo1MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGF0cmlidXQgcGlkICVkIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTcKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiQW5kYSBtZW5zcGVzaWZpa2FzaWthbiBjeWxpbmRlciB5YW5nIGxlYmloIGJlc2FyIGRhcmkgdWt1cmFuIGRpIGRpc2siCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIzCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNgorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgImFrYXIgaW5vZGUgYnVrYW4gc2VidWFoIGRpcmVrdG9yaSIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyB0ZWxhaCBkaSBtb3VudC5cdCAiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAicGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIDxhcGxpa2FzaT4gW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MworbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTYKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgY29udGV4dCBzZWxpbnV4IGJhcnUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAiQW5kYSBtZW5zcGVzaWZpa2FzaWthbiBjeWxpbmRlciB5YW5nIGxlYmloIGJlc2FyIGRhcmkgdWt1cmFuIGRpIGRpc2siCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgImJhY2Egd2FrdHUgc2lzdGVtIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJlcnJvcjogbWVuZ3ViYWggZGlyZWt0b3JpIGtlcmphIGtlICVzLiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW5kYXBhdGthbiB1a3VyYW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgIm1vdW50IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ2MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW5kYXBhdGthbiB1a3VyYW4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDcyIHN5cy11dGlscy9zZXRwcml2LmM6OTYyIHN5cy11dGlscy9zZXRwcml2LmM6OTY5CisjLCBmdXp6eQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInN0cmR1cCBnYWdhbCIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1lbWVyaWtzYSBzZWx1cnVoIHNpc3RlbSBiZXJrYXMuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSBmaWxlICclcyciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZHMiCittc2dzdHIgIkRPUyBzZWNvbmRhcnkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKKyMsIGZ1enp5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAidWt1cmFuIGlub2RlIGJ1cnVrIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICIlbGQgYmxvY2tzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoRmlsZSBzZWxhbmp1dG55YTogJXMpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBwcm9jZXNzIFwiJXNcIlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAiZ2V0cHJpb3JpdHkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJtYXggbm9tb3IgZGFyaSBzZWdtZW50cyA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiVXNlcm5hbWUgKHBlbmdndW5hKSB0aWRhayBsZWdhbCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgInBlcmFuZ2thdCBibG9jayAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICJTYXR1YW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiUGlsaWhhbjpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAicGlsaWhhbiB5YW5nIGJlcmJhaGF5YToiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjUKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcwCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4ga2ViaWpha2FuIHBpZCAlZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiZ2FnYWwgbWVuc2V0IGtlYmlqYWthbiBwaWQgJWQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4ga2ViaWpha2FuIHBpZCAlZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgUGVydGFtYSAgICAgQWtoaXJcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB1bnR1ayB2ZXJzaSBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJlcnJvciBtZW51bGlzICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIk1lbmdhc3Vtc2lrYW4gdXJ1dGFuIGJ5dGUgdGVyYmFsaWsuIEd1bmFrYW4gLW4gdW50dWsgbWVtYWtzYSB1cnV0YW4gYnl0ZSBhc2FsLlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlNhbXBsaW5nX3N0ZXA6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzOiAlcyglaSk6IHNhbGFoIGJhcmlzIG1hcFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmNhcmkgXCJfc3RleHRcIiBkYWxhbSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICIlczogcHJvZmlsZSBhbGFtYXQgZGlsdWFyIGphbmdrYXVhbi4gU2FsYWggZmlsZSBtYXA/XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOlxuIgorIiByZW5pY2UgWy1uXSBwcmlvcml0YXMgWy1wfC0tcGlkXSBwaWQgWy4uLiBwaWRdXG4iCisiIHJlbmljZSBbLW5dIHByaW9yaXRhcyAgLWd8LS1wZ3JwIHBncnAgWy4uLiBwZ3JwXVxuIgorIiByZW5pY2UgWy1uXSBwcmlvcml0YXMgIC11fC0tdXNlciB1c2VyIFsuLi4gdXNlcl1cbiIKKyIgcmVuaWNlIC1oIHwgLS1oZWxwXG4iCisiIHJlbmljZSAtdiB8IC0tdmVyc2lvblxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIk1hc3Vra2FuIGp1bWxhaCBkYXJpIGN5bGluZGVyOiAiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiR2FnYWwgbWVuc2V0IHBlcnNvbmFsaXR5IGtlICVzIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIkdhZ2FsIG1lbnNldCBwZXJzb25hbGl0eSBrZSAlcyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZDogcHJpb3JpdGFzIHNlYmVsdW1ueWEgJWQsIHByaW9yaXRhcyBiYXJ1ICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiJXM6IFBlcmludGFoIHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJuaWxhaSB3YWt0dSB0aW1lb3V0IGJ1cnVrOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiAlczogcGVyYW5na2F0IHRpZGFrIGRpa2V0YWh1aSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAiSWRlbnRpZmlrYXNpIGRpc2s6IDB4JTA4eFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicGVyYW5na2F0IGJsb2NrICIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMworIywgZnV6enkKK21zZ2lkICJzdGF0dXMgb2Ygc29mdHdhcmUgYmxvY2siCittc2dzdHIgImdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgcGF0aFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBoYXJkd2FyZSBibG9jayIKK21zZ3N0ciAiZ2FnYWwgbWVtcGVyb2xlaCBzdGF0aXN0aWsgZGFyaSBwYXRoXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzEzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaWRlbnRpZmllciIKK21zZ3N0ciAiSWRlbnRpZmlrYXNpIGRpc2s6IDB4JTA4eFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAidGVya3VuY2kiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgInRlcmt1bmNpIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDE1IHN5cy11dGlscy9yZmtpbGwuYzo0ODAgc3lzLXV0aWxzL3Jma2lsbC5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiSWRlbnRpZmlrYXNpIGRpc2s6IDB4JTA4eFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY5Cittc2dpZCAiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBjb21tYW5kIG5hbWVzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCwgZXhwbGFpbmluZworIy4gdGhlbSBhcyBhZGRpdGlvbmFsIGZpZWxkIGFmdGVyIGlkZW50aWZpZXIgaXMgZmluZSwgZm9yIGV4YW1wbGUKKyMuICoKKyMuIGxpc3QgICBbaWRlbnRpZmllcl0gICAobGlzdGEgW3Rhcmtlbm5lXSkKKyMuCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkyCittc2dpZCAiIGhlbHBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorIywgZnV6enkKK21zZ2lkICIgbGlzdCAgIFtpZGVudGlmaWVyXVxuIgorbXNnc3RyICJJZGVudGlmaWthc2kgZGlzazogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTUKKyMsIGZ1enp5Cittc2dpZCAiIGJsb2NrICAgaWRlbnRpZmllclxuIgorbXNnc3RyICJJZGVudGlmaWthc2kgZGlzazogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICJJZGVudGlmaWthc2kgZGlzazogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJiYWNhIGJhcmlzIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImJhY2Egd2FrdHUgc2lzdGVtIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAidWJhaCB3YWt0dSBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgInNldCBhbGFybSBiYW5ndW4gcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkaW5nIHN0ZGluIgorbXNnc3RyICJnZXQgcGVueWVzdWFpYW4gb2ZzZXQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiYWtoaXIgZGFyaSBiZXJrYXMgdGlkYWsgZGlkdWdhIGRpICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorIywgZnV6enkKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgImFrdGlma2FuIGFsYXJtIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgInViYWggd2FrdHUgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJhY2EgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiAlczoga29uZGlzaSBzdXNwZW5kIHRpZGFrIGRpa2VuYWwgJyVzJ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IG1lbmdhc3Vtc2lrYW4gUlRDIG1lbmdndW5ha2FuIFVUQyAuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiTWVuZ2d1bmFrYW4gd2FrdHUgVVRDLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIk1lbmdndW5ha2FuIHdha3R1IGxva2FsLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiJXM6IGhhcnVzIG1lbnllZGlha2FuIHdha3R1IGJhbmd1blxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiAlcyB0aWRhayBha3RpZiB1bnR1ayBldmVuIGJhbmd1blxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIGRldGlrICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIiVzOiB3YWt0dSB0aWRhayBwZXJnaSBtdW5kdXIga2UgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBiYW5ndW4gZGFyaSBcIiVzXCIgbWVuZ2d1bmFrYW4gJXMgZGkgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBiYW5ndW4gZGFyaSBcIiVzXCIgbWVuZ2d1bmFrYW4gJXMgZGkgJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYTogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0NworIywgZnV6enkKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICJtZW5vbmFrdGlma2FuIGludGVydXBzaSBhbGFybSBydGMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICJNZW5nYWt0aWZrYW4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJwZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPGFwbGlrYXNpPiBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NQorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OAorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXM6IEFyc2l0ZWt0dXIgdGlkYWsgZGlrZW5hbCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBuaWxhaSB0aW1lb3V0IHVudHVrICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI4NgorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJBcmd1bWVuIHRpZGFrIGN1a3VwIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzYwCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgImlucHV0IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKKyMsIGZ1enp5Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAicGFuamFuZyBhcmd1bWVuIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJHYWdhbCBtZW5zZXQgcGVyc29uYWxpdHkga2UgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiTWVuZ2lzdWthbiBwZXJpbnRhaCBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgInBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSA8YXBsaWthc2k+IFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExOQorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgVGlkYWsgYWRhIG91dHB1dCBub3JtYWxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTQ0Cittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIk5vbW9yIHBhcnRpc2kgdGlkYWsgdmFsaWQgdW50dWsgdGlwZSBgJWMnXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHN5cy11dGlscy9zZXRwcml2LmM6NTUyCittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJrb3NvbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIkJhcmlzIHRlcmxhbHUgcGFuamFuZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAia29zb25nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ1IHN5cy11dGlscy9zZXRwcml2LmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICJ0aWRhayBhZGEgcGVyaW50YWg/XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIkJ1a2FuIGRpcmVrdG9yaSAlcyFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJmb3JtYXQgdGlkYWsgZGlrZW5hbGkgLSBtZW5nZ3VuYWthbiBzZWt0b3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICInJWMnIHRpZGFrIGRpcGVyYm9sZWhrYW4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg1Cittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgImlucHV0IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJnYWdhbCBzZWVrIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkwCittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MDcKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAibmFtYSBiZXJrYXMgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTE5Cittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTMyCittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2NQorIywgZnV6enkKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic3RyZHVwIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworIywgZnV6enkKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgInBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSA8YXBsaWthc2k+IFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgVWJhaCB0aXBlIGZpbGVzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgImZvcms6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiB0aXRpayBtb3VudCAlcyB0aWRhayBhZGEiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGF0cmlidXQgcGlkICVkIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiVzIGRpICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIkJ1a2FuIHN1cGVydXNlci4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGdhZ2FsIHN3YXBvZmYiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJQYXJhbWV0ZXIgPHNwZXNpYWw+OlxuIgorIiB7LUwgbGFiZWwgfCBMQUJFTD1sYWJlbH0gICAgICAgICAgICAgTEFCRUwgZGFyaSBwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW5cbiIKKyIgey1VIHV1aWQgIHwgVVVJRD11dWlkfSAgICAgICAgICAgICAgIFVVSUQgZGFyaSBwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW5cbiIKKyIgPHBlcmFuZ2thdD4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWEgZGFyaSBwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW5cbiIKKyIgPGJlcmthcz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWEgZGFyaSBiZXJrYXMgeWFuZyBkaWd1bmFrYW5cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICIgICBkICAgaGFwdXMgc2VidWFoIHBhcnRpc2kiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworIywgZnV6enkKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgcGF0aFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJnYWdhbCBtZW1wZXJvbGVoIHN0YXRpc3RpayBkYXJpIHBhdGhcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiZGl0YW5kYWkgc2VkYW5nIGRpZ3VuYWthbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorIywgZnV6enkKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJzZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMQorbXNnaWQgInN3YXAgdXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgInRpZGFrIHRlcmRhcGF0IGxhYmVsLCAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIlczogTWVuZ2luaXNpYWxpc2FzaSB1bGFuZyBzd2FwLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWsgZ2FnYWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzOiBnYWdhbCBtZW51bGlzIHRhbmRhIHRhbmdhbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczogZGlsZXdhdGthbiAgLSBrZWxpaGF0YW5ueWEgbWVtaWxpa2kgbHViYW5nLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogZ2FnYWwgbWVuZGFwYXRrYW4gdWt1cmFuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHBlbWJhY2FhbiBoZWFkZXIgc3dhcCBnYWdhbCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVzOiBkaXRlbXVrYW4gdGFuZGEgcGFydGlzaSBzd2FwOiB2ZXJzaSAlZCwgdWt1cmFuLWhhbGFtYW4gJWQsIHN1c3VuYW4gYnl0ZSAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGJlcnVrdXJhbiBsZWJpaCBiZXNhciBkYXJpIHN3YXBzcGFjZSBzZWJlbmFybnlhIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzOiBmb3JtYXQgc3dhcCBwYWdlc2l6ZSB0aWRhayBjb2Nvay4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXM6IGZvcm1hdCBzd2FwIHBhZ2VzaXplIHRpZGFrIGNvY29rLiAoR3VuYWthbiAtLWZpeHBnc3ogdW50dWsgbWVuZ2luaXNpYWxpc2FzaSB1bGFuZy4pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogYXBsaWthc2kgc3VzcGVuZCBkYXRhIHRlcmRldGVrc2kuIE1lbnVsaXMgdWxhbmcgdGFuZGEgc3dhcC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICIlcyBkaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogcGlsaWhhbiB0aWRhayBkaWtldGFodWkgXCItJWNcIlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiZXJyb3IgbWVuZ2FtYmlsXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVudWxpcyBpbm9kZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAtbCBbYXRhdSAtLWxpc3RdOiAgICB0YW1waWxrYW4gcGFydGlzaSBkaSBzZXRpYXAgcGVyYW5na2F0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJQYXJhbWV0ZXIgPHNwZXNpYWw+OlxuIgorIiB7LUwgbGFiZWwgfCBMQUJFTD1sYWJlbH0gICAgICAgICAgICAgTEFCRUwgZGFyaSBwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW5cbiIKKyIgey1VIHV1aWQgIHwgVVVJRD11dWlkfSAgICAgICAgICAgICAgIFVVSUQgZGFyaSBwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW5cbiIKKyIgPHBlcmFuZ2thdD4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWEgZGFyaSBwZXJhbmdrYXQgeWFuZyBkaWd1bmFrYW5cbiIKKyIgPGJlcmthcz4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWEgZGFyaSBiZXJrYXMgeWFuZyBkaWd1bmFrYW5cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwcmlvcml0YXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIHBlcmFuZ2thdCAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKKyMsIGZ1enp5Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgImFrYXIgaW5vZGUgYnVrYW4gc2VidWFoIGRpcmVrdG9yaSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJNZW5jb2JhIHVudHVrIHVtb3VudCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBkaXJla3Rvcmkgc2FhdCBpbmkgLSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJ1a2E6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHByaW9yaXRhcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorIlxuIgorIlBpbGloYW46XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICIlcyBnYWdhbC5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGZpbGUgJyVzJyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAxCittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTMKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlczogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBscC5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiTFBHRVRJUlEgZXJyb3IiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIlcyBzdGF0dXMgYWRhbGFoICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBzaWJ1ayIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHNpYXAiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwga2VoYWJpc2FuIGtlcnRhcyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGVycm9yIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAibXNnY3RsIGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzA4Cittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIkxQR0VUSVJRIGVycm9yIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyBtZW5nZ3VuYWthbiBJUlEgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIG1lbmdndW5ha2FuIHBvbGxpbmdcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGxpc3QgdGlwZSBmaWxlc3lzdGVtIHlhbmcgZGlrZXRhaHVpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgdGVsYWggZGkgbW91bnQuXHQgIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgImZzY2s6ICVzOiB0aWRhayBkaXRlbXVrYW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyMworIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6IG1vdW50IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudCBnYWdhbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4ga2ViaWpha2FuIHBpZCAlZCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICJmc2NrOiAlczogdGlkYWsgZGl0ZW11a2FuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgImdhZ2FsIG1lbnVsaXM6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiVzOiBhcmd1bWVudCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJNZW1lcmlrc2Egc2VsdXJ1aCBzaXN0ZW0gYmVya2FzLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbWVuZ3ViYWggbmFtYSAlcyBrZSAlcyBnYWdhbDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHN0YXRpc3RpayBcIiVzXCIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW1idWthOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZGFwYXRrYW4gc3RhdGlzdGlrOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NAorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmUgZ2FnYWwiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBnYWdhbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tb2Zmc2V0IGRhbiAtLWFsbCBhZGFsYWggJ211dHVhbGx5IGV4Y2x1c2l2ZSciCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm1vdW50IGdhZ2FsIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiJXMgZ2FnYWwuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIldha3R1IGhhYmlzIHVudHVrIExvZ2luIHNlc3VkYWggJWQgZGV0aWtcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJXYWt0dSBoYWJpcyB1bnR1ayBMb2dpbiBzZXN1ZGFoICVkIGRldGlrXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAicGVyYW5na2F0IGJsb2NrICIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJzdGF0dXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworIywgZnV6enkKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiAlczogcGVyYW5na2F0IHRpZGFrIGRpa2V0YWh1aSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiUGVyYW5na2F0IGxvb3AgYWRhbGFoICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogc2lnbmFsIHRpZGFrIGRpa2V0YWh1aSAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICJ0aWRhayBkYXBhdCBtZXJld2luZCBwZXJhbmdrYXQgc3dhcCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJvbGVoIG5pbGFpIHRpbWVvdXQgdW50dWsgJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICJXYWt0dSBzZW1lbmphayBwZW55ZXN1YWlhbiB0ZXJha2hpciBhZGFsYWggJWQgZGV0aWtcbiIKK21zZ3N0clsxXSAiV2FrdHUgc2VtZW5qYWsgcGVueWVzdWFpYW4gdGVyYWtoaXIgYWRhbGFoICVkIGRldGlrXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgInNlZWsgZ2FnYWwgZGFsYW0gd3JpdGVfdGFibGVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUgc3lzLXV0aWxzL3dkY3RsLmM6NDY4IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0xNHMgJTJpIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICIlLTE0cyAlMmkgc2Vjb25kc1xuIgorbXNnc3RyWzBdICIlcyAgJS42ZiBkZXRpa1xuIgorbXNnc3RyWzFdICIlcyAgJS42ZiBkZXRpa1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKKyMsIGZ1enp5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICJ3YWt0dSBoYWJpcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNAorIywgZnV6enkKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJQZXJhbmdrYXQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDgKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibW91bnQ6ICVzOiBwZXJhbmdrYXQgdGlkYWsgZGlrZXRhaHVpIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NQorbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiBta2ZzIFstVl0gWy10IGZzdHlwZV0gW2ZzLW9wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiICAgIC1TIyBbYXRhdSAtLXNlY3RvcnMgI106IHNldCBqdW1sYWggZGFyaSBzZWN0b3JzIHlhbmcgZGlndW5ha2FuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBtZW1idWthOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBnYWdhbCB1bnR1ayBiZXJwaW5kYWgga2Ugb2ZzZXQgMHglangiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIGJlcnBpbmRhaCBrZSBvZnNldCAweCVqeCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdla3Nla3VzaSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiZXJyb3I6IG1lbmd1YmFoIGRpcmVrdG9yaSBrZXJqYSBrZSAlcy4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuZW11a2FuIHByb2Nlc3MgXCIlc1wiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmdla3Nla3VzaSAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2Fsb2thc2lrYW4gb3V0YnVmZmVyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMgZGFyaSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAia2VjZXBhdGFuIHlhbmcgYnVydWs6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInRlcmxhbHUgYmFueWFuIGtlY2VwYXRhbiBhbHRlcm5hdGl2ZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB0aWRhayBkYXBhdCBtZW1idWthIHNlYmFnYWkgc3RhbmRhcmQgaW5wdXQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogYnVrYW4gc2VidWFoIGNoYXJhY3RlciBkZXZpY2UiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICJha2FyIGlub2RlIGJ1a2FuIHNlYnVhaCBkaXJla3RvcmkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogdGlkYWsgZGFwYXQgbWVtYnVrYSBzZWJhZ2FpIHN0YW5kYXJkIGlucHV0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IGdhZ2FsIGZvcms6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthIHVudHVrIGJhY2EvdHVsaXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiBwcm9jZXNzIFwiJXNcIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IG1hc2FsYWggZHVwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBhdHJpYnV0IHRlcm1pbmFsICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjUgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVuc2V0IGF0cmlidXQgdGVybWluYWwgdW50dWsgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSAnJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiZ2FnYWwgbWVtYmFjYSB0eXBlc2NyaXB0IGJlcmthcyAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgInRpcGU6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBtZW1iYWNhOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogbWFzdWthbiBvdmVycnVuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbnNldCBhdHJpYnV0IHRlcm1pbmFsIHVudHVrICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNAorbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgTWVuZ2VzZXQgc2hlbGwgcXVvdGluZyBjb252ZW50aW9uc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIENldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NQorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBDZXRhayB0YWJlbCBwYXJ0aXNpIGRpIGxheWFyIGF0YXUga2Ugc2VidWFoIGZpbGUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz1sb25nb3B0cyAgIFBpbGloYW4gcGFuamFuZyB5YW5nIGRpa2VuYWxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTAKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MQorIywgZnV6enkKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgIHAgICAgICAgICAgQ2V0YWsgdGFiZWwgcGFydGlzaSBkaSBsYXlhciBhdGF1IGtlIHNlYnVhaCBmaWxlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTgKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIHRpZGFrIG1lbnVsaXMgc2ViZW5hcm55YSBrZSBkaXNrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgIC1UIFthdGF1IC0tbGlzdC10eXBlc106dGFtcGlsa2FuIGRhZnRhciBkYXJpIHRpcGUgcGFydGlzaSB5YW5nIGRpa2V0YWh1aSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAicGVuZ2d1bmEiCittc2dzdHJbMV0gInBlbmdndW5hIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biBnYWdhbDogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgZmlsZSAnJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyJcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmUgZ2FnYWwiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorIywgZnV6enkKK21zZ2lkICJpcyB5IgorbXNnc3RyICJhZGFsYWggeVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKKyMsIGZ1enp5Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAiYWRhbGFoIG5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJwZW1idWF0YW4gc2VtYXBob3IgZ2FnYWwiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImlkIHRpZGFrIHZhbGlkOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjQKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjcKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJQZXJpbmdhdGFuOiBgJXMnIGFkYWxhaCBzZWJ1YWggbGluay5cbiIKKyJQZW5nZ3VuYWFuIGAlcyBbcGlsaWhhbl0gJXMnIGppa2EgYW5kYSBiZW5hciAtIGJlbmFyIGluZ2luIG1lbmdndW5ha2FubnlhLlxuIgorIlNjcmlwdCB0aWRhayBiZXJqYWxhbi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IHNlbGVzYWksIGZpbGUgYWRhbGFoICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgYmVya2FzIHNjcmlwdCwgZXJyb3I6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIlNjcmlwdCBkaW11bGFpIGRpICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTY3JpcHQgc2VsZXNhaSBkaSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgZ2FnYWxcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NzcKKyMsIGZ1enp5Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJPdXQgb2YgcHR5J3NcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGRpbXVsYWksIGZpbGUgYWRhbGFoICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIlcyA8YmVya2FzcGV3YWt0dT4gWzx0aXBlc2NyaXB0PiBbPHBlbWJhZ2k+XV1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW51bGlzIGtlIHN0ZG91dCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiYWtoaXIgZGFyaSBiZXJrYXMgdGlkYWsgZGlkdWdhIGRpICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImdhZ2FsIG1lbWJhY2EgdHlwZXNjcmlwdCBiZXJrYXMgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImRpZHVnYSBzZWJ1YWggbm9tb3IsIHRldGFwaSBkaXBlcm9sZWggJyVzJyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgImdhZ2FsIG1lbWJhY2EgYmVya2FzIHBld2FrdHUgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICJiZXJrYXMgcGV3YWt0dSAlczogJWx1OiBmb3JtYXQgeWFuZyB0aWRhayB0ZXJkdWdhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAia2VjZXBhdGFuICVkIHRpZGFrIGRpZHVrdW5nIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiJXM6IHRlcmxhbHUgYmFueWFrIGFyZ3VtZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgcm93cyBhbmQgY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKKyMsIGZ1enp5Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgIFsgLWhhbGYtYnJpZ2h0IFtvbnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3CisjLCBmdXp6eQorbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHVudHVrIHZlcnNpIGdldG9wdCgxKVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB1bnR1ayB2ZXJzaSBnZXRvcHQoMSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgSmFuZ2FuIHF1b3RlIG91dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorIywgZnV6enkKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgIFsgLXBvd2Vyc2F2ZSBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICBQZXJ0YW1hICAgICBBa2hpclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYWtzYSBwZW5naGFwdXNhblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWFrc2EgdW5ibGFua1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NTEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdHVzIHBlbmdoYXB1c2FuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgcGVyYW5na2F0ICVzIHVudHVrIG1lbnVsaXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICIlczogcGVuZ2d1bmEgXCIlc1wiIHRpZGFrIGFkYS5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgInNlbWN0bCBnYWdhbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCisjLCBmdXp6eQorbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgIiVzIGxvZ2luIGRpdG9sYWsgZGkgdGVybWluYWwgaW5pLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY3Vyc29yIHBvc2l0aW9uOiAlcyIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgZ2FnYWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbmctdW5zZXQgbW9kZSBwb3dlcnNhdmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwgZXJyb3I6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKKyMsIGZ1enp5Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIlczogJFRFUk0gdGlkYWsgZGlkZWZpbmlzaWthbi5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogc2lnbmFsIHRpZGFrIGRpa2V0YWh1aSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU3Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJrZXNhbGFoYW4gaW50ZXJuYWwiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiYXJnIGJhcmlzIHRlcmxhbHUgcGFuamFuZyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJnYWdhbCBtZW1idWthOiAlcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgInRpZGFrIGRhcGF0IG1lbGFrdWthbiBmb3JrIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIiCisiXG4iCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MgorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICBvbmx5IHNlbmQgbWVzc2FnZSB0byBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJwaWxpaGFuIHRpZGFrIHZhbGlkIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGdpZCIKK21zZ3N0ciAiJWM6IHBlcmludGFoIHRpZGFrIGRpa2V0YWh1aVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxNjcKK21zZ2lkICJnZXRncm91cGxpc3QgZm91bmQgbW9yZSBncm91cHMgdGhhbiBzeXNjb25mIGFsbG93cyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAibmlsYWkgd2FrdHUgdGltZW91dCBidXJ1azogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5zZXQgaWQgcGVuZ2d1bmE6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyb2xlaCB1a3VyYW4gZGlzayIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIlBlc2FuIEJyb2FkY2FzdCBkYXJpICVzQCVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYmFjYSAlcyAtIGd1bmFrYW4gc3RkaW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIndyaXRlOiAlcyB0aWRhayBkaWNhdGF0IGRpXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIndyaXRlOiB0aWRhayBkYXBhdCBtZW5jYXJpIG5hbWEgZGFyaSB0dHkncyBhbmRhXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAid3JpdGU6ICVzIG1lbWlsaWtpIG1lc3NhZ2UgZGltYXRpa2FuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIGRpY2F0YXQgZGFsYW0gbGViaWggZGFyaSBzYXR1OyBtZW51bGlzIGRpICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJjYWxsb2MgZ2FnYWwiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlBlc2FuIGRhcmkgJXNAJXMgKHNlYmFnYWkgJXMpIGRpICVzIHBhZGEgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiUGVzYW4gZGFyaSAlc0AlcyBkaSAlcyBwYWRhICVzIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMAorIywgZnV6enkKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIndyaXRlOiBpamkgbWVudWxpcyBhbmRhIHRpZGFrIGFrdGlmLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgdGlkYWsgZGkgY2F0YXQgZGkgJXMuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIG1lbWlsaWtpIG1lc3NhZ2UgZGltYXRpa2FuIGRpICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM1Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IGFyZ3VtZW4gJXMgdW50dWsgcGlsaWhhbiAtbCB0aWRhayBiYWlrLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImNvbDogcGVyaW5nYXRhbjogdGlkYWsgZGFwYXQgbWVtIGJhY2sgdXAgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJtZWxld2F0aSBiYXJpcyBwZXJ0YW1hIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBiYXJpcyBzdWRhaCBkaSBmbHVzaCIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW4gdGlkYWsgYmFpayIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworIywgZnV6enkKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW4gdGlkYWsgYmFpayIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gJXMgZGFsYW0gJXMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdGFibGUtbmFtZSA8bmFtZT4gICAgICAgICAgdGFibGUgbmFtZSBmb3IgSlNPTiBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbiwgLS1uYW1lPXByb2duYW1lICAgICAgICAgIE5hbWEgZGltYW5hIGVycm9yIHRlcnNlYnV0IGRpbGFwb3JrYW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIFBpbGloYW4gcGVuZGVrIHlhbmcgZGlrZW5hbFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MworIywgZnV6enkKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ0Cittc2dpZCAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIEphbmdhbiBxdW90ZSBvdXRwdXRcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDYKK21zZ2lkICIgLWUsIC0tdGFibGUtaGVhZGVyLXJlcGVhdCAgICAgICAgcmVwZWF0IGhlYWRlciBmb3IgZWFjaCBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLXRhYmxlLWhpZGUgPGNvbHVtbnM+ICAgICAgIGRvbid0IHByaW50IHRoZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTUKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW1uPiAgICAgICBwYXJlbnQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiICAgIC1IIyBbYXRhdSAtLWhlYWRzICNdOiAgc2V0IGp1bWxhaCBkYXJpIGhlYWRzIHlhbmcgZGlndW5ha2FuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBQaWxpaGFuIHBlbmRlayB5YW5nIGRpa2VuYWxcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjAKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU5Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJha3RpZmthbiBhbGFybSBydGMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgImhleGR1bXA6IHBlbmdoaXR1bmcgYnl0ZSBidXJ1ayB1bnR1ayBrb252ZXJzaSBrYXJha3RlciAlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgImhleGR1bXA6ICUlcyBtZW1idXR1aGthbiBzZWJ1YWggcHJlc2lzaSBhdGF1IHNlYnVhaCBwZW5naGl0dW5nIGJ5dGUuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImhleGR1bXA6IGZvcm1hdCBidXJ1ayB7JXN9XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiaGV4ZHVtcDoga2FyYWt0ZXIga29udmVyc2kgYnVydWsgJSUlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImhleGR1bXA6IGJ5dGUgY291bnQgZGVuZ2FuIGJlYmVyYXBhIGtvbnZlcnNpIGthcmFrdGVyLlxuIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIENldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgdGlkYWsgbWVudWxpcyBzZWJlbmFybnlhIGtlIGRpc2siCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIENldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NAorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIk1hc3Vra2FuIGp1bWxhaCBkYXJpIGN5bGluZGVyOiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiJXM6IHBpbGloYW4gdGlkYWsgZGlrZXRhaHVpIFwiLSVjXCJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogZGlyZWt0b3JpICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiBCdWthbiBzZWJ1YWggZmlsZSB0ZXh0ICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW0d1bmFrYW4gcSBhdGF1IFEgdW50dWsgYmVyaGVudGldIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tTGViaWgtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKEZpbGUgc2VsYW5qdXRueWE6ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW1Rla2FuIHNwYXNpIHVudHVrIG1lbGFuanV0a2FuLCAncScgdW50dWsgYmVyaGVudGkuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi5rZW1iYWxpICVkIGhhbGFtYW4iCittc2dzdHJbMV0gIi4uLmtlbWJhbGkgJWQgaGFsYW1hbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLm1lbGV3YXRpICVkIGJhcmlzIgorbXNnc3RyWzFdICIuLi5tZWxld2F0aSAlZCBiYXJpcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipLZW1iYWxpKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJSZWd1bGFyIGV4cHJlc3Npb24gYm90Y2giCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiU2ViYWdpYW4gYmVzYXIgcGVyaW50YWggYmlzYSBkaWF3YWxpIGRlbmdhbiBhcmd1bWVuIGludGVnZXIgay4gRGVmYXVsdCBkYWxhbSBicmFja2V0cy5cbiIKKyJCaW50YW5nICgqKSBtZW5naW5kaWthc2lrYW4gYXJndW1lbnQgbWVuamFkaSBiYXJ1IHNlY2FyYSBkZWZhdWx0LlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHNwYXNpPiAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIGsgYmFyaXMgYmVyaWt1dG55YSBkYXJpIHRleHQgW3VrdXJhbiBzY3JlZW4gc2FhdCBpbmldXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgVGFtcGlsa2FuIGsgYmFyaXMgYmVyaWt1dG55YSBkYXJpIHRleHQgW3VrdXJhbiBzY3JlZW4gc2FhdCBpbmldKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIFRhbXBpbGthbiBrIGJhcmlzIGJlcmlrdXRueWEgZGFyaSB0ZXh0IFsxXSpcbiIKKyJkIGF0YXUgY3RybC1EICAgICAgICAgICBTY3JvbGwgayBiYXJpcyBbIHVrdXJhbiBzY3JvbGwgc2FhdCBpbmksIGluaXNpYWwgMTFdKlxuIgorInEgYXRhdSBRIGF0YXUgPGludGVydXA+IEtlbHVhciBkYXJpIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBiYXJpcyBkYXJpIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBkYXJpIHRleHQgWzFdXG4iCisiYiBhdGF1IGN0cmwtQiAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIGRhcmkgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBQZXJnaSBrZSB0ZW1wYXQgZGltYW5hIHBlbmNhcmlhbiBzZWJlbHVtbnlhIGRpbXVsYWlcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBUYW1waWxrYW4gbm9tb3IgYmFyaXMgc2FhdCBpbmlcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBQZW5jYXJpYW4gdW50dWsga2UgayBrZWphZGlhbiBkYXJpIHJlZ3VhbGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgUGVuY2FyaWFuIHVudHVrIGtlIGsga2VqYWRpYW4gZGFyaSB0ZXJha2hpciByLmUgWzFdXG4iCisiITxjbWQ+IGF0YXUgOiE8Y21kPiAgICAgTWVuamFsYW5rYW4gPGNtZD4gZGFsYW0gc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBkaSBiYXJpcyBzYWF0IGluaVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIEdhbWJhciB1bGFuZyBsYXlhclxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIFBlcmdpIGtlIGsgZmlsZSBzZWxhbmp1dG55YSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBQZXJnaSBrZSBrIGZpbGUgc2ViZWx1bW55YSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBUYW1waWxrYW4gbmFtYSBmaWxlIHNhYXQgaW5pIGRhbiBub21vciBiYXJpc1xuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFVsYW5naSBwZXJpbnRhaCBzZWJlbHVtbnlhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1Rla2FuICdoJyB1bnR1ayBpbnN0cnVrc2kuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiIGJhcmlzICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbQnVrYW4gc2VidWFoIGZpbGVdIGJhcmlzICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIE92ZXJmbG93XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5tZWxld2F0aVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXR0ZXJuIHRpZGFrIGRpdGVtdWthblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIlBhdHRlcm4gdGlkYWsgZGl0ZW11a2FuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAiZ2FnYWwgZWtzZWt1c2lcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAidGlkYWsgZGFwYXQgZm9ya1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzAwCittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLk1lbGV3YXRpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA0Cittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIi4uLk1lbGV3YXRpIGtlIGZpbGUgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uTWVsZXdhdGkga2VtYmFsaSBrZSBmaWxlICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIkJhcmlzIHRlcmxhbHUgcGFuamFuZyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIlRpZGFrIGFkYWxhaCBwZXJpbnRhaCBzZWJlbHVtbnlhIHVudHVrIGRpZ2FudGlrYW4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIlNlbXVhIGhhayBkaWxpbmR1bmdpLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIGxpaGF0IGxheWFyXG4iCisiICBxIGF0YXUgUSAgICAgICAgICAgICAgICBiZXJoZW50aSBkYXJpIGFwbGlrYXNpXG4iCisiICA8YmFyaXMgYmFydT4gICAgICAgICAgICBoYWxhbWFuIHNlbGFuanV0bnlhXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBsZXdhdGthbiBzZWJ1YWggaGFsYW1hbiBrZWRlcGFuXG4iCisiICBkIGF0YXUgXkQgICAgICAgICAgICAgICBzZWxhbmp1dG55YSBzZXRlbmdhaCBoYWxhbWFuXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBiYXJpcyBzZWxhbmp1dG55YVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgaGFsYW1hbiB0ZXJha2hpclxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgY2FyaSBrZWRlcGFuIHVudHVrIHJlZ2V4XG4iCisiICA/cmVnZXg/IGF0YXUgXnJlZ2V4XiAgICBjYXJpIGtlYmVsYWthbmcgdW50dWsgcmVnZXhcbiIKKyIgIC4gYXRhdSBeTCAgICAgICAgICAgICAgIGdhbWJhciB1bGFuZyBsYXlhclxuIgorIiAgdyBhdGF1IHogICAgICAgICAgICAgICAgc2V0IHVrdXJhbiBoYWxhbWFuIGRhbiBwZXJnaSBrZSBoYWxhbWFuIHNlbGFuanV0bnlhXG4iCisiICBzIG5hbWEgYmVya2FzICAgICAgICAgICBzaW1wYW4gYmVya2FzIHNla2FyYW5nIGtlIG5hbWEgYmVya2FzXG4iCisiICAhcGVyaW50YWggICAgICAgICAgICAgICBrZWx1YXIga2Ugc2hlbGxcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIHBlcmdpIGtlIGJlcmthcyBzZWJlbHVtbnlhXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBwZXJnaSBrZSBiZXJrYXMgc2VsYW5qdXRueWFcbiIKKyJcbiIKKyJCYW55YWsgcGVyaW50YWggbWVuZXJpbWEgYXdhbGFuIGFuZ2thLCBzZWJhZ2FpIGNvbnRvaDpcbiIKKyIrMTxiYXJpcyBiYXJ1PiAoaGFsYW1hbiBzZWxhbmp1dG55YSk7IC0xPGJhcmlzIGJhcnU+IChoYWxhbWFuIHNlYmVsdW1ueWEpOyAxPGJhcmlzIGJhcnU+IChoYWxhbWFuIHBlcnRhbWEpLlxuIgorIlxuIgorIkxpaGF0IHBnKDEpIHVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQuXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIENldGFrIHRhYmVsIHBhcnRpc2kgZGkgbGF5YXIgYXRhdSBrZSBzZWJ1YWggZmlsZSIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICB0aWRhayBtZW51bGlzIHNlYmVuYXJueWEga2UgZGlzayIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiJXM6IHBpbGloYW4gbWVtYnV0dWhrYW4gc2VidWFoIGFyZ3VtZW4gLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiBwaWxpaGFuIGlsbGVnYWwgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2NworbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAiLi4ubWVsZXdhdGkgZm9yd2FyZFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiLi4ubWVsZXdhdGkgYmFja3dhcmRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiVGlkYWsgYWRhIGZpbGUgc2VsYW5qdXRueWEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJUaWRhayBhZGEgZmlsZSBzZWJlbHVtbnlhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IFJlYWQgZXJyb3IgZGFyaSBmaWxlICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIiVzOiBFT0YgdGlkYWsgZGlwZXJraXJha2FuIGRhbGFtIGZpbGUgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogRXJyb3IgdGlkYWsgZGlrZXRhaHVpIGRhbGFtIGZpbGUgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk0OQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICIlczogVGlkYWsgZGFwYXQgbWVtYnVhdCB0ZW1wZmlsZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiUkUgZXJyb3I6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJUaWRhayBhZGEgeWFuZyBkaWluZ2F0IHN0cmluZyBwZW5jYXJpYW4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAiZGlzaW1wYW4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzUzCittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICFjb21tYW5kIHRpZGFrIGRpcGVyYm9sZWhrYW4gZGFsYW0gbW9kZSByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIGdhZ2FsLCBjb2JhIGxhZ2kgbmFudGlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NzUKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihGaWxlIHNlbGFuanV0bnlhOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ1Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OAorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiYmVybWFzYWxhaCBkYWxhbSBwZW1iYWNhYW4gdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgImVzY2FwZSBzZXF1ZW5jZSB0aWRhayBkaWtldGFodWkgcGFkYSBpbnB1dDogJW8sICVvXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKKyMsIGZ1enp5Cittc2dpZCAiSW5wdXQgbGluZSB0b28gbG9uZy4iCittc2dzdHIgIkJhcmlzIGlucHV0IHRlcmxhbHUgcGFuamFuZy5cbiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICJnYWdhbCBtZW5qYWxhbmthbiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHN0YXRpc3RpayBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGFyZ3VtZW50IHRpZGFrIGRpa2V0YWh1aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGVzdCBtb2RlOiAlcyB3YXMgbm90IHVwZGF0ZWQgd2l0aDpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAicGVyYW5na2F0ICVzIHN1ZGFoIGRpYXNvc2lhc2lrYW4gZGVuZ2FuICVzXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGJlcmthcyBkZW5nYW4gcGFyYW1ldGVyIHBlbnllc3VhaWFuIGphbSBkaWRhbGFtbnlhICglcykgdW50dWsgZGl0dWxpcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtcGVyYmFydWkgYmVya2FzIGRlbmdhbiBwYXJhbWV0ZXIgcGVueWVzdWFpYW4gamFtICglcykgZGlkYWxhbW55YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorI34gbXNnc3RyICJQYXJhbWV0ZXIgYWRqdXNtZW50IGRyaWZ0IHRpZGFrIGRpIHVwZGF0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUZXN0IG1vZGU6IGVwb2NoIHdhcyBub3Qgc2V0IHRvICVzLlxuIgorI34gbXNnc3RyICJnYWdhbCBtZW1wZXJvbGVoIHN0YXRpc3RpayBkYXJpIHBhdGhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCisjfiBtc2dzdHIgIlBlcmludGFoIHlhbmcgdGVyc2VkaWE6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiJXM6IHNlZWsgZXJyb3IgZGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIEluaSBzZWRpa2l0IHBldHVuanVrIHBlbmdndW5hYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICJQZXJpbnRhaCB5YW5nIHRlcnNlZGlhOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiQ29iYSBgJXMgLS1oZWxwJyB1bnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCisjfiBtc2dzdHIgIlRpZGFrIGFkYSBzaGVsbHMgeWFuZyBkaWtldGFodWkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICJQZXJpbnRhaCB5YW5nIHRlcnNlZGlhOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiUGVyaW50YWggeWFuZyB0ZXJzZWRpYTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJDb2JhIGAlcyAtLWhlbHAnIHVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICBoYXB1cyBzZWx1cnVoICdtYWdpYyBzdHJpbmdzJyAoSEFUSS1IQVRJKVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIHBlc2FuIGJhbnR1YW4gaW5pXG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAgc2VtdWEgeWFuZyBoYXJ1cyBkaWxha3VrYW4ga2VjdWFsaSB1bnR1ayBwZW1hbmdnaWxhbiB3cml0ZSgpXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHVudHVrIG1lbmdoYXB1cywgZGFsYW0gYnl0ZXNcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICB0YW1waWxrYW4gZGFsYW0gZm9ybWF0IHlhbmcgbXVkYWggZGlwYXJzZSBkYXJpcGFkYSBmb3JtYXQgY2V0YWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCisjfiBtc2dzdHIgIlJlZ2lzdGVyIEhhcmR3YXJlIENsb2NrIGJlcmlzaSBuaWxhaSB5YW5nIHRpZGFrIHZhbGlkIChoYXJpIGtlIDUwIGRhcmkgYnVsYW4pIGF0YXUgZGlsdWFyIGRhcmkgamFuZ2thdWFuIHlhbmcgZGFwYXQga2l0YSB0YW5nYW5pIChUYWh1biAyMDk1KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICJIYXJkd2FyZSBDbG9jayB0aWRhayBiZXJpc2kgd2FrdHUgeWFuZyB2YWxpZCwgamFkaSBraXRhIHRpZGFrIGRhcGF0IG1lbnNldCBXYWt0dSBTeXN0ZW0gZGFyaSB3YWt0dSBpbmkuXG4iCisKKyN+IG1zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorI34gbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjfiBtc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisjfiBtc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJIYXJ1cyBtZW5qYWRpIHN1cGVydXNlciB1bnR1ayBtZW5zZXQgc3lzdGVtIGNsb2NrLlxuIgorCisjfiBtc2dpZCAiXHRVVEM6ICVzXG4iCisjfiBtc2dzdHIgIlx0VVRDOiAlc1xuIgorCisjfiBtc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKKyN+IG1zZ3N0ciAiVGlkYWsgbWVueWVzdWFpa2FuIGZha3RvciBkcmlmdCBrYXJlbmEgQ2xvY2sgSGFyZHdyZSBzZWJlbHVtbnlhIGJlcmlzaSBzYW1wYWguXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAiQ2xvY2sgaGFyZHdhcmUgdGlkYWsgYmVyaXNpIHdha3R1IHlhbmcgdmFsaWQsIGphZGkga2l0YSB0aWRhayBiaXNhIG1lbWJldHVsa2FubnlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbXBlcm9sZWggbmlsYWkgZXBvY2ggZGFyaSBrZXJuZWwuXG4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIktlcm5lbCBtZW5nYXN1bXNpa2FuIG1lbmdndW5ha2FuIG5pbGFpIGVwb2NoIGRhcmkgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKKyN+IG1zZ3N0ciAiVW50dWsgbWVuc2V0IG5pbGFpIGVwb2NoLCBhbmRhIGhhcnVzIG1lbmdndW5ha2FuIHBpbGloYW4gJ2Vwb2NoJyB1bnR1ayBtZW1iZXJpdGFodWthbiBuaWxhaSB1bnR1ayBtZW5zZXRueWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiVGlkYWsgbWVuc2V0IGVwb2NoIGtlICVkIC0gbWFzaWggZGFsYW0gcGVuZ2V0ZXNhbi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCBuaWxhaSBlcG9jaCBkYWxhbSBrZXJuZWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKKyN+IG1zZ3N0ciAicGlsaWhhbiB0aWRhayB2YWxpZCIKKworI34gbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorI34gbXNnc3RyICIlcyB0aWRhayBtZW1pbGlraSBmdW5nc2kgaW50ZXJ1cHNpLiAiCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAiaW9jdGwoKSB1bnR1ayAlcyB1bnR1ayBtZW55YWxha2FuIHVwZGF0ZSBpbnRlcnVwc2kgZ2FnYWwgc2VjYXJhIHRpZGFrIHRlcmR1Z2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAiVW50dWsgbWVtYW5pcHVsYXNpIG5pbGFpIGVwb2NoIGRhbGFtIGtlcm5lbCwga2l0YSBoYXJ1cyBtZW5nYWtzZXMgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciBtZWxhbHVpIGZpbGUgc3Blc2lhbCAlcy4gRmlsZSBpbmkgbXVuZ2tpbiB0aWRhayBhZGEgZGkgc3lzdGVtIGluaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKyN+IG1zZ3N0ciAia2l0YSB0ZWxhaCBtZW1iYWNhIGVwb2NoICVsZCBkYXJpICVzIGRlbmdhbiBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICJOaWxhaSBlcG9jaCBtdW5na2luIHRpZGFrIGt1cmFuZyBkYXJpIDE5MDAuIEFuZGEgbWVtaW50YSAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIk1lbnNldCBlcG9jaCBtZW5qYWRpICVsZCBkZW5nYW4gUlRDX0VQT0NIX1NFVCBpb2N0bCBtZW5qYWRpICVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisjfiBtc2dzdHIgIktlcm5lbCBkZXZpY2UgZHJpdmVyIHVudHVrICVzIHRpZGFrIG1lbWlsaWtpIGlvY3RsIFJUQ19FUE9DSF9TRVQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAlc1xuIgorI34gIkNvYmEgYCVzIC0taGVscCcgdW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiQ29iYSBgJXMgLS1oZWxwJyB1bnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCisjfiBtc2dzdHIgIlBlcmludGFoIHlhbmcgdGVyc2VkaWE6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKKyN+IG1zZ3N0ciAiLS1vZmZzZXQgZGFuIC0tYWxsIGFkYWxhaCAnbXV0dWFsbHkgZXhjbHVzaXZlJyIKKworI34gbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJDbG9jayB0aWRhayBkaXViYWggLSBoYW55YSBtZW5jb2JhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiUGlsaWhhbiAtLWRhdGUgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCisjfiBtc2dzdHIgImFyZ3VtZW4gLS1kYXRlIHRlcmxhbHUgcGFuamFuZ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyN+ICJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorI34gbXNnc3RyICIiCisjfiAiTmlsYWkgZGFyaSBwaWxpaGFuIC0tZGF0ZSB0aWRhayBtZXVwYWthbiB0YW5nZ2FsIHlhbmcgc2FoLlxuIgorI34gIkthZGFuZyBrYWxhLCBpdHUgYmVyaXNpIHRhbmRhIHBldGlrLlxuIgorCisjfiBtc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCisjfiBtc2dzdHIgIk1lbmdpc3VrYW4gcGVyaW50YWggZGF0ZTogJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmphbGFua2FuIGFwbGlrYXNpICdkYXRlJyBkaSBzaGVsbCAvYmluL3NoLiBwb3BlbigpIGdhZ2FsIgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJyZXNwb24gZGFyaSBwZXJpbnRhaCBkYXRlID0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW50YWggZGF0ZSBkaWJlcmlrYW4gb2xlaCAlcyBtZW1iZXJpa2FuIGhhc2lsIHlhbmcgdGlkYWsgZGlwZXJraXJha2FuLlxuIgorI34gIlBlcmludGFoIGFkYWxhaDpcbiIKKyN+ICIgICVzXG4iCisjfiAiUmVzcG9uIGFkYWxhaDpcbiIKKyN+ICIgICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlcmludGFoIGRhdGUgZGliZXJpa2FuIG9sZWggJXMgbWVtYmVyaWthbiBzZXN1YXR1IHNlbGFpbiBpbnRlZ2VyIGRpbWFuYSBuaWxhaSB3YWt0dSB5YW5nIGRpY29udmVydCBzZXBlcnRpIGRpcGVya2lyYWthbi5cbiIKKyN+ICJQZXJpbnRhaCBhZGFsYWg6XG4iCisjfiAiICAlc1xuIgorI34gIiAlc1xuIgorCisjfiBtc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorI34gbXNnc3RyICJkYXRlIHN0cmluZyAlcyBzYW1hIGRlbmdhbiAlbGQgZGV0aWsgc2VtZW5qYWsgMTk2OS5cbiIKKworI34gbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorI34gbXNnc3RyICJUaWRhayBtZW5zZXQgc3lzdGVtIGNsb2NrIGthcmVuYSBiZXJqYWxhbiBkYWxhbSBtb2RlIHRlc3QuXG4iCisKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICJUaWRhayBtZW5nLXVwZGF0ZSBhZGp0aW1lIGZpbGUga2FyZW4gZGFsYW0gbW9kZSB0ZXN0aW5nLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorI34gIiVzIgorI34gbXNnc3RyICIiCisjfiAiSW5naW5rYWggYW5kYSBtZW51bGlzIGJlcmlrdXQgaW5pIGtlICVzOlxuIgorI34gIiVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUga2VybmVsIGtlZXBzIGFuIGVwb2NoIHZhbHVlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2sgb25seSBvbiBhbiBBbHBoYSBtYWNoaW5lLlxuIgorI34gIlRoaXMgY29weSBvZiBod2Nsb2NrIHdhcyBidWlsdCBmb3IgYSBtYWNoaW5lIG90aGVyIHRoYW4gQWxwaGFcbiIKKyN+ICIoYW5kIHRodXMgaXMgcHJlc3VtYWJseSBub3QgcnVubmluZyBvbiBhbiBBbHBoYSBub3cpLiAgTm8gYWN0aW9uIHRha2VuLiIKKyN+IG1zZ3N0ciAiIgorI34gIktlcm5lbCBtZW55aW1wYW4gbmlsYWkgZXBvY2ggZGFyaSBIYXJkd2FyZSBjbG9jayBoYW55YSBkaSBzZWJ1YWggbWVzaW4gQWxwaGEgU2FsaW5hbiBkYXJpIGh3Y2xvY2sgaW5pIHRlbGFoIGRpYnVhdCB1bnR1ayBtZXNpbiBzZWxhaW4gQWxwaGFcbiIKKyN+ICIoZGFuIGphZGkgZGlhc3Vtc2lrYW4gc2FhdCBpbmkgdGlkYWsgYmVyamFsYW4gZGkgQWxwaGEpLlxuIgorI34gIlRpZGFrIGFkYSBha3NpIHlhbmcgZGlsYWt1a2FuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1BfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgICBiZXJpdGFodSBod2Nsb2NrIHRpcGUgZGFyaSBhbHBoYSB5YW5nIGFuZGEgbWlsaWtpIChsaWhhdCBod2Nsb2NrICg4KSlcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiB1c2UgdGhlIEhhcmR3YXJlIENsb2NrLiIKKyN+IG1zZ3N0ciAiTWFhZiwgaGFueWEgc3VwZXJ1c2VyIHlhbmcgZGFwYXQgbWVuZ3ViYWggSGFyZHdhcmUgQ2xvY2suXG4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgdGlkYWsgbWVtYnV0dWhrYW4gYXJndW1lbnQuIEFuZGEgbWVtYmVyaWthbiAlZC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKKyN+IG1zZ3N0ciAiVGlkYWsgYWRhIHNldC10byB0aW1lIHlhbmcgYmVyZ3VuYS4gVGlkYWsgZGFwYXQgbWVuc2V0IGNsb2NrLlxuIgorCisjfiBtc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorI34gbXNnc3RyICJkaWJvb3QgZGFyaSBNSUxPXG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorCisjfiBtc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKKyN+IG1zZ3N0ciAiY2xvY2twb3J0IGRpc2V0IGtlIDB4JXhcbiIKKworI34gbXNnaWQgImZ1bmt5IFRPWSFcbiIKKyN+IG1zZ3N0ciAiZnVua3kgVE9ZIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCisjfiBtc2dzdHIgIiVzOiBhdG9taWMgJXMgZ2FnYWwgdW50dWsgMTAwMCBpdGVyYXNpISIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCk6IHBlbnVsaXNhbiBrZSBhbGFtYXQga29udHJvbCAlWCBnYWdhbDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NfcmVhZCgpOiBwZW51bGlzYW4ga2UgYWxhbWF0IGRhdGEgJVggZ2FnYWw6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3dyaXRlKCk6IHBlbnVsaXNhbiBrZSBhbGFtYXQga29udHJvbCAlWCBnYWdhbDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3Nfd3JpdGUoKTogcGVudWxpc2FuIGtlIGFsYW1hdCBkYXRhICVYIGdhZ2FsOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKKyN+IG1zZ3N0ciAiU2F5YSBnYWdhbCBtZW1wZXJvbGVoIGlqaW4ga2FyZW4gU2F5YSB0aWRhayBtZW5jb2JhbnlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorI34gbXNnc3RyICIlcyB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGlqaW4gSS9PIHBvcnQgYWtzZXM6IGlvcGwoMykgcGFuZ2dpbGFuIGdhZ2FsLlxuIgorCisjfiBtc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorI34gbXNnc3RyICJNdW5na2luIGFuZGEgYnV0dWsga2V3ZW5hbmdhbiByb290LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0IHBlbmdvbGFoIHNpbnlhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5zZXQgcGVuZ29sYWggc2lueWFsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBoYW55YSByb290IHlhbmcgZGFwYXQgbWVsYWt1a2FuIG1vdW50ICVzIGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgbWVtaWxpa2kgcHJvdGVrc2kgdW50dWsgZGl0dWxpcywgbWVtb3VudCBzZWNhcmEgaGFueWEtYmFjYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IFNheWEgdGlkYWsgZGFwYXQgbWVuZW50dWthbiB0aXBlIGRhcmkgZmlsZXN5c3RlbSwgZGFuIHRpZGFrIGRpYmVyaWthbiBzcGVzaWZpa2FzaSBkaSBhcmd1bWVudCBwZXJpbnRhaCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm1vdW50OiBhbmRhIGhhcnVzIG1lbnNwZXNpZmlrYXNpa2FuIHRpcGUgZmlsZXN5c3RlbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudCBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudCBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogbW91bnQgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgdGVsYWggZGltb3VudCBkaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBzdWRhaCB0aWRhayBkaW1vdW50LCBhdGF1IHBpbGloYW4gYnVydWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyN+ICIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAodW50dWsgYmViZXJhcGEgZmlsZXN5c3RlbSAoZS5nLiBuZnMsIGNpZnMpIGFuZGEgbXVuZ2tpblxuIgorI34gIiAgICAgICBtZW1idXR1aGthbiBhcGxpa2FzaSBwZW1iYW50dSAvc2Jpbi9tb3VudC48dGlwZT4pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIERhbGFtIGJlYmVyYXBhIGthc3VzIGluZm9ybWFzaSBiZXJndW5hIGRhcGF0IGRpdGVtdWthbiBkaSBzeXNsb2cgLSBjb2JhXG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCBhdGF1IHlhbmcgc2VydXBhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorI34gbXNnc3RyICJpbnB1dCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50IGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisjfiAiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorI34gbXNnc3RyICIiCisjfiAidW1vdW50OiAlczogcGVyYW5na2F0IHNpYnVrLlxuIgorI34gIiAgICAgICAgKERhbGFtIGJlYmVyYXBhIGthc3VzIGluZm9ybWFzaSBiZXJoYXJnYSB0ZW50YW5nIHByb3NlcyB5YW5nIGRpZ3VuYWthblxuIgorI34gIiAgICAgICAgIG9sZWggcGVyYW5na2F0IGRhcGF0IGRpdGVtdWthbiBvbGVoIGxzb2YoOCkgYXRhdSBmdXNlcigxKSkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorI34gbXNnc3RyICJmc2NrOiAlczogdGlkYWsgZGl0ZW11a2FuXG4iCisKKyN+IG1zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKKyN+IG1zZ3N0ciAicGVudWxpc2FuIHRpZGFrIGxlbmdrYXAga2UgXCIlc1wiIChkaXR1bGlzICV6ZCwgZGlwZXJraXJha2FuICV6ZClcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVuYW1iYWhrYW4gcGVtYW50YXVhbiBpbm90aWZ5IChiYXRhcyBkYXJpIHBlbWFudGF1IGlub3RpZnkgdGVsYWggdGVyY2FwYWkpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCisjfiBtc2dzdHIgIk1hc3Vra2FuIGp1bWxhaCBkYXJpIGN5bGluZGVyOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBUYW1waWxrYW4gaW5mb3JtYXNpIHZlcnNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm5hbWEgYmVya2FzIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorI34gbXNnc3RyICJha2FyIGlub2RlIGJ1a2FuIHNlYnVhaCBkaXJla3RvcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc2VjY29tcCBjb250ZXh0IgorI34gbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBsb2FkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZGFwYXRrYW4gc3RhdGlzdGlrOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiTWFzdWtrYW4gdGlwZSBmaWxlc3lzdGVtOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAiZGlkdWdhIHNlYnVhaCBub21vciwgdGV0YXBpIGRpcGVyb2xlaCAnJXMnIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJwZW1iYWdpICclcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICIlczogQXJndW1lbnQgZXJyb3IsIHBlbmdndW5hYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiQmFyaXMgaW5wdXQgdGVybGFsdSBwYW5qYW5nLlxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJuaWxhaSB3YWt0dSB0aW1lb3V0IGJ1cnVrOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuZ2FtYmlsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgImVycm9yIG1lbmdhbWJpbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBub3Qgc2V0dXAgdGltZXIiCisjfiBtc2dzdHIgIm1vdW50IHRpZGFrIGRhcGF0IG1lbnNldCBncnVwIGlkOiAlcyIKKworI34gbXNnaWQgImRpZmZlcmVudCIKKyN+IG1zZ3N0ciAiYmVyYmVkYSIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgInNhbWEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGZpbGUgJyVzJyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBidWthbiBzZWJ1YWggcGVyYW5na2F0IGJsb2NrIHNwZXNpYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlczogJXM6IHBlcmFuZ2thdCBzZWRhbmcgc2lidWsiCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiT1MvMiBoaWRkZWQgQzogZHJpdmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICJtb3VudDogJXM6IHBlcmFuZ2thdCB0aWRhayBkaWtldGFodWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZG0gbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IGdhZ2FsIHVudHVrIG1lbWJ1a2E6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAicGlkICVkICVzIGtlYmlqYWthbiBhbnRyaWFuOiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgICUuNmYgZGV0aWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAicGVzYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJTYW5nYXQgcGFuamFuZyAoJXp1IGJ5dGVzKSBuYW1hIGJlcmthcyBgJXMnIGRpdGVtdWthbi5cbiIKKyN+ICJUb2xvbmcgdGluZ2thdGthbiBNQVhfSU5QVVRfTkFNRUxFTiBkaSBta2NyYW1mcy5jIGRhbiByZWNvbXBpbGUuIEtlbHVhci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidGlkYWsgbWVuZ2Fsb2thc2lrYW4gcGVueWFuZ2dhIHVudHVrIGJsb2sgc3VwZXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICJ0aWRhayBtZW5nYWxva2FzaWthbiBidWZmZXIgdW50dWsgbWFwcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBidWZmZXIgdW50dWsgaW5vZGVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk51bWJlciBvZiBTZW1hcGhvcmUgSURzIgorI34gbXNnc3RyICJKdW1sYWggZGFyaSBzZWt0b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICJ1a3VyYW4gaW5vZGUgYnVydWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInRpcGU6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGlzazogJS4qcyIKKyN+IG1zZ3N0ciAiZGlzazogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJsYWJlbDogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZsYWdzOiAlcyIKKyN+IG1zZ3N0ciAidGFuZGE6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJieXRlcy9zZWt0b3I6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yL3RyYWNrOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAidHJhY2tzL2N5bGluZGVyOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNla3Rvci9jeWxpbmRlcjogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgImN5bGluZGVyczogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAicnBtOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJpbnRlcmxlYXZlOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInRyYWNrc2tldzogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJjeWxpbmRlcnNrZXc6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJoZWFkc3dpdGNoOiAlbGRcdFx0IyBtaWxsaXNlY29uZHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZFx0IyBtaWxsaXNlY29uZHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVkIHBhcnRpc2k6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiIgorI34gIkFuZGEgdGlkYWsgZGFwYXQgbWVuZ3ViYWggc2VidWFoIHBhcnRpc2kgbWVuamFkaSBzZWJ1YWggZXh0ZW5kZWQgYXRhdSBcbiIKKyN+ICJzZWJhbGlrbnlhLiBIYXB1cyBpbmkgdGVybGViaWggZGFodWx1LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNla3RvclxuIgorI34gIiVkIHNpbGluZGVyLCAlZCBwaHlzaWNhbCBzaWxpbmRlclxuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJVbml0cyA9ICVzIGRhcmkgJWQgKiAlZCBieXRlc1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAia29zb25nIgorCisjfiBtc2dpZCAiZ2V0dGltZW9mZGF5IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0dGltZW9mZGF5IGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN5c2luZm8gZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBnYWdhbCIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3BlbmdndW5hIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBzd2Fwb24gZ2FnYWwiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICB0ZXRhcCBsb2dnZWQgaW4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGRpbXVsYWkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICJlcnJvcjogdW5hbWUgZ2FnYWwiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiaW50ZXJydXB0ZWQgJTEwLjEwcyAlNS41cyBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImludGVydXBzaSAlMTAuMTBzICU1LjVzIFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1hdXRvLy1hIG9wdGlvbiIKKyN+IG1zZ3N0ciAiaWQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICJNYWFmLCBoYW55YSBzdXBlcnVzZXIgeWFuZyBkYXBhdCBtZW5ndWJhaCBTeXN0ZW0gQ2xvY2suXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiTWFhZiwgaGFueWEgc3VwZXJ1c2VyIHlhbmcgZGFwYXQgbWVuZ3ViYWggSGFyZHdhcmUgQ2xvY2sgZXBvY2ggZGkgZGFsYW0ga2VybmVsLlxuIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICJyZWFkKCkgdW50dWsgJXMgdW50dWsgbWVudW5nZ3UgY2xvY2sgdGljayBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2V0IGFsYXJtIHJ0YyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiYWt0aWZrYW4gYWxhcm0gcnRjIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSW5pIHNlZGlraXQgcGV0dW5qdWsgcGVuZ2d1bmFhblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIFRpZGFrIGFkYSBvdXRwdXQgbm9ybWFsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgVGFtcGlsa2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImdhZ2FsIG1lbWJhY2E6ICVzIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiTGF5YXIgYmFudHVhbiB1bnR1ayBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAiZGlzayBkcml2ZS4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgYG5vJyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICBgbm8nIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic3RhdCBnYWdhbDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmdhbG9rYXNpa2FuIG91dGJ1ZmZlciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXMiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMiCisKKyN+IG1zZ2lkICIlczogc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBzdGF0IGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIkFuZGEgaW5naW4gbWVtYnVhdCBzZWJ1YWggZGlza2xhYmVsPyAoeS9uKSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHlwZSBvZiB0aGUgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorI34gbXNnc3RyICJUaXBlIHNpc3RlbSBkYXJpIHBhcmlzaSAlZCB0aWRhayBiZXJ1YmFoOiAleCAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHdpcGVmcyg4KS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBzd2FwIGhlYWRlciBzaXplLCBubyBsYWJlbCB3cml0dGVuLiIKKyN+IG1zZ3N0ciAiVWt1cmFuIHN3YXAgaGVhZGVyIHRpZGFrIGJhaWssIGxhYmVsIHRpZGFrIGFrYW4gZGl0dWxpcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICJzZWVrIGVycm9yIGRpICVzIC0gdGlkYWsgZGFwYXQgc2VlayBrZSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgInNlZWsgZXJyb3I6IGRpaW5naW5rYW4gMHglMDh4JTA4eCwgZGlwZXJvbGVoIDB4JTA4eCUwOHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGVycm9yIG9uICVzIC0gY2Fubm90IHJlYWQgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgImVycm9yIGRhbGFtIG1lbWJhY2EgZGkgJXMgLSB0aWRhayBkYXBhdCBtZW1iYWNhIGRpIHNla3RvciAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAia2VzYWxhaGFuIGRhbGFtIG1lbnVsaXMgZGkgJXMgLSB0aWRhayBkYXBhdCBtZW51bGlzIGRpIHNla3RvciAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIHBhcnRpc2kgc2VrdG9yIHNhdmUgZmlsZSAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgImVycm9yIG1lbnVsaXMgZGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIGRhcmkgZmlsZSByZXN0b3JlICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZyIKKyN+IG1zZ3N0ciAiZmlsZSBwYXJ0aXNpIHVudHVrIHJlc3RvcmUgbWVtaWxpa2kgdWt1cmFuIHlhbmcgc2FsYWggLSB0aWRhayBtZWxha3VrYW4gcmVzdG9yZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSBwYXJ0aXNpIHJlc3RvcmUgZmlsZSAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAiZXJyb3IgZGFsYW0gbWVtYmFjYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSBwZXJhbmdrYXQgJXMgdW50dWsgbWVudWxpc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAiZXJyb3IgZGFsYW0gbWVudWxpcyBzZWt0b3IgJWx1IGRpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzayAlczogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBnZW9tZXRyaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzayAlczogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCB1a3VyYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbmdhdGFuOiBzdGFydD0lbHUgLSBpbmkgbXVuZ2tpbiBzZXBlcnRpIHNlYnVhaCBwYXJ0aXNpIGRhcmkgcGFkYVxuIgorI34gInNlbHVydWggZGlzay4gTWVuZ2d1bmFrYW4gZmRpc2sgdW50dWsgaW5pIG11bmdraW4gdGlkYWsgYmVyYXJ0aS5cbiIKKyN+ICJbR3VuYWthbiBwaWxpaGFuIC0tZm9yY2UgamlrYSBhbmRhIGJlbmFyIC0gYmVuYXIgbWVuZ2luZ2lua2FuIGhhbCBpbmldXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IEhESU9fR0VUR0VPIG1lbmdhdGFrYW4gYmFod2EgZGlzYW5hIGFkYSAlbHUgaGVhZHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBIRElPX0dFVEdFTyBtZW5nYXRha2FuIGJhaHdhIGRpc2FuYSBhZGEgJWx1IHNla3RvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIG1lbmdhdGFrYW4gYmFod2EgZGlzYW5hIGFkYSAlbHUgY3lsaW5kZXJzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW5nYXRhbjogdGlkYWsgc2VwZXJ0aSBqdW1sYWggc2VrdG9yICglbHUpIC0gYmlhc2FueWEgYWRhIGRpIDYzXG4iCisjfiAiSW5pIGFrYW4gbWVtYmVyaWthbiBtYXNhbGFoIGRlbmdhbiBzZWx1cnVoIHNvZnR3YXJlIHlhbmcgcGVuZ2FsYW1hdGFuIG1lbmd1bmFrYW4gQy9IL1MuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgaGVhZDogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyBkYXJpIHBhcnRpc2kgJXMgbWVtaWxpa2kganVtbGFoIGhlYWQgeWFuZyB0aWRhayBtdW5na2luOiAlbHUgKHNlaGFydXNueWEgYmVyYWRhIGRhbGFtIDAtJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRhcmkgcGFydGlzaSAlcyBtZW1pbGlraSBqdW1sYWggc2VrdG9yIHlhbmcgdGlkYWsgbXVuZ2tpbjogJWx1IChzZWhhcnVzbnlhIGJlcmFkYSBkYWxhbSAxLSVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyBkYXJpIHBhcnRpc2kgJXMgbWVtaWxpa2kganVtbGFoIGN5bGluZGVycyB5YW5nIHRpZGFrIG11bmdraW46ICVsdSAoc2VoYXJ1c255YSBiZXJhZGEgZGFsYW0gMC0lbHUpXG4iCisKKyN+IG1zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgLi4uXG4iCisjfiBtc2dzdHIgIk1lbWJhY2Ega2VtYmFsaSB0YWJlbCBwYXJ0aXNpIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgY29tbWFuZCB0byByZS1yZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLlxuIgorI34gIlJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgeW91ciBzeXN0ZW0gbm93LFxuIgorI34gImJlZm9yZSB1c2luZyBta2ZzIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW50YWggdW50dWsgbWVtYmFjYSBrZW1iYWxpIHRhYmVsIHBhcnRpc2kgZ2FnYWwuXG4iCisjfiAiSmFsYW5rYW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgYXRhdSByZWJvb3Qgc2lzdGVtIGFuZGEgc2VrYXJhbmcsXG4iCisjfiAic2ViZWx1bSBtZW5nZ3VuYWthbiBta2ZzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiRXJyb3IgbWVudXR1cCAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBhZGEgcGFydGlzaSBzZXBlcnRpIGl0dVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJmb3JtYXQgdGlkYWsgZGlrZW5hbGkgLSBtZW5nZ3VuYWthbiBzZWt0b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICJmb3JtYXQgdGlkYWsgZGlpbXBsZW1lbnRhc2lrYW4gLSBtZW5nZ3VuYWthbiAlc1xuIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic2VrdG9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNhdHVhbiA9IGN5bGluZGVycyBkYXJpICVsdSBieXRlcywgYmxvY2sgZGFyaSAxMDI0IGJ5dGVzLCBkaWhpdHVuZyBkYXJpICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGV2aWNlIEJvb3QgQXdhbCAgICAgIEFraGlyICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBzZWN0b3JzIG9mIDUxMiBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiU2F0dWFuID0gc2VrdG9yIGRhcmkgNTEyIGJ5dGVzLCBkaWhpdHVuZyBkYXJpICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEZXZpY2UgQm9vdCAgICBBd2FsICAgICAgICBBa2hpciAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNhdHVhbiA9IGJsb2NrcyBkYXJpIDEwMjQgYnl0ZXMsIGRpaGl0dW5nIGRhcmkgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIERldmljZSBCb290ICAgQXdhbCAgICAgICAgQWtoaXIgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiU2F0dWFuID0gbWViaWJ5dGVzIGRhcmkgMTA0ODU3NiBieXRlcywgYmxvY2tzIGRhcmkgMTAyNCBieXRlcywgZGloaXR1bmcgZGFyaSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIERldmljZSBCb290IEF3YWwgICAgQWtoaXIgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0YXdhbDogKGMsaCxzKSBkaXBlcmtpcmFrYW4gKCVsZCwlbGQsJWxkKSBkaXRlbXVrYW4gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGFraGlyOiAoYyxoLHMpIGRpcGVya2lyYWthbiAoJWxkLCVsZCwlbGQpIGRpdGVtdWthbiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgInBhcnRpc2kgdGlkYWsgYmVyYWtoaXIgZGkgY3lsaW5kZXIgJWxkLCBkaWx1YXIgZGFyaSBha2hpciBkYXJpIGRpc2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW5nYXRhbjogVGFiZWwgcGFydGlzaSBzZXBlcnRpbnlhIHNlcGVydGkgdGVrYWwgZGlidWF0IHVudHVrXG4iCisjfiAiQy9IL1M9Ki8lbGQvJWxkIChkYXJpcGFkYSB1bnR1ayAlbGQvJWxkLyVsZCkuXG4iCisjfiAiVW50dWsgZGFmdGFyIGluaSBTYXlhIGFrYW4gYmVyYXN1bXNpIGRlbmdhbiBtZW5nZ3VuYWthbiBnZW9tdHJpIHRlcnNlYnV0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50LiIKKyN+IG1zZ3N0ciAidGlkYWsgYWRhIHRhYmVsIHBhcnRpc2kgeWFuZyBhZGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQuIgorI34gbXNnc3RyICJhbmVoLCBoYW55YSAlZCBwYXJ0aXNpIHlhbmcgZGlkZWZpbmlzaWthbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyBtZW1pbGlraSB1a3VyYW4gMCB0ZXRhcGkgdGlkYWsgZGl0YW5kYWkgS29zb25nXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVzIG1lbWlsaWtpIHVrdXJhbiAwIGRhbiBib290YWJsZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVzIG1lbWlsaWtpIHVrdXJhbiAwIGRhbiBhd2FsIHlhbmcgdGlkYWsga29zb25nXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJ0aWRhayBiZXJhZGEgZGkgcGFydGlzaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJWQga29zb25nXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyBiZXJpc2kgYmFnaWFuIGRhcmkgdGFiZWwgcGFydGlzaSAoc2VrdG9yICVsdSksXG4iCisjfiAiZGFuIGFrYW4gbWVuZ2hhbmN1cmthbm55YSBrZXRpa2EgdGVyaXNpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgYmVyYXdhbCBkaSBzZWt0b3IgMFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2siCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJXMgbWVsdWFzIG1lbGV3YXRpIGFraGlyIGRhcmkgZGlza1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eCkiCisjfiBtc2dzdHIgIiIKKyN+ICJEaWFudGFyYSBwYXJ0aXNpIHByaW1hcnksIHBhbGluZyB0aWRhayBzYXR1IGRhcGF0IG1lbmphZGkgZXh0ZW5kZWRcbiIKKyN+ICIod2FsYXVwdW4gaW5pIGJ1a2FuIG1lbmphZGkgbWFzYWxhaCBkYWxhbSBMaW51eClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyB0aWRhayBiZXJhd2FsIGRhbGFtIGJhdGFzIGN5bGluZGVyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpICVzIHRpZGFrIGJlcmFraGlyIGRhbGFtIGJhdGFzIGN5bGluZGVyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbmdhdGFuOiBsZWJpaCBkYXJpIHNhdHUgcGFydGlzIHByaW1hcnkgeWFuZyBkaXRhbmRhaSBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIkluaSB0aWRhayBtZW5qYWRpIG1hc2FsYWggdW50dWsgTElMTywgdGV0YXBpIERPUyBNQlIgdGlkYWsgYWthbiBtZW0tYm9vdCBkaXNrIGluaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlcmluZ2F0YW46IGJpYXNhbnlhIGhhbnlhIHNhdHUgeWFuZyBkYXBhdCBkaSBib290IGRhcmkgcGFydGlzaSBwcmltYXJ5XG4iCisjfiAiTElMTyBtZW5nYWJhaWthbiB0YW5kYSBgYm9vdGFibGUnLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlcmluZ2F0YW46IHRpZGFrIGFkYSBwYXJ0aXNpIHByaW1hcnkgeWFuZyBkaXRhbmRhaSBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIkluaSB0aWRhayBtZW5qYWRpIG1hc2FsYWggdW50dWsgTElMTywgdGV0YXBpIERPUyBNQlIgdGlkYWsgYWthbiBkYXBhdCBtZW0tYm9vdCBkaXNrIGluaS5cbiIKKworI34gbXNnaWQgInN0YXJ0IgorI34gbXNnc3RyICJhd2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJwYXJ0aXNpICVzOiBhd2FsOiAoYyxoLHMpIGRpcGVya2lyYWthbiAoJWxkLCVsZCwlbGQpIGRpdGVtdWthbiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJlbmQiCisjfiBtc2dzdHIgImFraGlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlczogZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAicGFydGlzaSAlczogYWtoaXI6IChjLGgscykgZGlwZXJraXJha2FuICglbGQsJWxkLCVsZCkgZGl0ZW11a2FuICglbGQsJWxkLCVsZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJwYXJ0aXNpICVzIGJlcmFraGlyIGRpIGN5bGluZGVyICVsZCwgZGlsdWFyIGRhcmkgYWtoaXIgZGFyaSBkaXNrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHNoaWZ0ZWQgc3RhcnQgb2YgdGhlIGV4dGQgcGFydGl0aW9uIGZyb20gJWxsZCB0byAlbGxkXG4iCisjfiAiKEZvciBsaXN0aW5nIHB1cnBvc2VzIG9ubHkuIERvIG5vdCBjaGFuZ2UgaXRzIGNvbnRlbnRzLikiCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbmdhdGFuOiBhd2FsIHRlcmdlc2VyIGRhcmkgZXh0ZCBwYXJ0aXNpIGRhcmkgJWxkIG1lbmphZGkgJWxkXG4iCisjfiAiKEhhbnlhIHVudHVrIHR1anVhbiBwZW5kYWZ0YXJhbi4gSmFuZ2FuIG1lbmd1YmFoIGlzaW55YS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlcmluZ2F0YW46IHBhcnRpc2kgZXh0ZW5kZWQgdGlkYWsgYmVyYXdhbCBkaSBiYXRhcyBjeWxpbmRlci5cbiIKKyN+ICJET1MgZGFuIExpbnV4IGFrYW4gbWVuZ2ludGVycHJldGFzaWthbiBpc2kgc2VjYXJhIGJlcmJlZGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJFUlJPUjogc2VrdG9yICVsdSB0aWRhayBtZW1pbGlraSBzZWJ1YWggbXNkb3Mgc2lnbmF0dXJlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgInRlcmxhbHUgYmFueWFrIHBhcnRpc2kgLSBtZW5nYWJhaWthbiBwYXJ0aXNpIHlhbmcgbWVsZXdhdGkgbnIgKCVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgInRyZWUgZGFyaSBwYXJ0aXNpP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAidGVyZGV0ZWtzaSBEaXNrIE1hbmFnZXIgLSB0aWRhayBkYXBhdCBtZW5hbmdhbmkgaW5pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAiRE02IHNpZ25hdHVyZSBkaXRlbXVrYW4gLSBtZW55ZXJhaFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJhbmVoLi4uLCBzZWJ1YWggZXh0ZW5kZWQgcGFydGlzaSB5YW5nIGJlcnVrdXJhbiAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJhbmVoLi4uLCBzZWJ1YWggQlNEIHBhcnRpc2kgeWFuZyBiZXJ1a3VyYW4gMD9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJwaWxpaGFuIC1uIHRlbGFoIGRpYmVyaWthbjogVGlkYWsgYWRhIHlhbmcgYmVydWJhaFxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJHYWdhbCBtZW55aW1wYW4gc2VrdG9yIGxhbWEgLSBtZW1iYXRhbGthblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIkdhZ2FsIG1lbnVsaXMgcGFydGlzaSBkaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmciCisjfiBtc2dzdHIgInBhbmphbmcgYXRhdSBiYXJpcyBpbnB1dCB0aWRhayBjb21wbGV0ZSAtIGJlcmhlbnRpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiaW5wdXQgZXJyb3I6IGA9JyBkaXBlcmtpcmFrYW4gc2V0ZWxhaCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIHNldGVsYWggJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQ6ICVzIgorI34gbXNnc3RyICJpbnB1dCB0aWRhayBkaWtldGFodWk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgIm5vbW9yIHRlcmxhbHUgYmVzYXJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlciIKKyN+IG1zZ3N0ciAidHJhaWxpbmcganVuayBzZXN1ZGFoIG5vbW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgInRpZGFrIGFkYSBydWFuZyB1bnR1ayBwYXJ0aXNpIGRlc2tyaXBzaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1YXQgZXh0ZW5kZWQgcGFydGlzaSBkaXNla2l0YXJueWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgInRlcmxhbHUgYmFueWEgaW5wdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyByb29tIGZvciBtb3JlIgorI34gbXNnc3RyICJUaWRhayBhZGEgcnVhbmcgbGFnaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiVGlwZSBpbGVnYWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IGRpYmVyaWthbiB1a3VyYW4gKCVsdSkgbWVsZWJpaGkgdWt1cmFuIG1ha3NpbWFsIHlhbmcgZGlpamlua2FuICglbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpIGtvc29uZ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBwYXJ0aXNpIG1lbWlsaWtpIGF3YWwgeWFuZyBidXJ1ayAodGVybGFsdSBhd2FsICVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgInRhbmRhIGJvb3RhYmxlIHRpZGFrIGRpa2V0YWh1aSAtIHBpbGloIC0gYXRhdSAqXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAicGFydGlhbCBjLGgscyBzcGVzaWZpa2FzaT9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkIgorI34gbXNnc3RyICJFeHRlbmRlZCBwYXJ0aXNpIHRpZGFrIGRpcGVya2lyYWthblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAiaW5wdXQgdGlkYWsgYmFpa1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgInRlcmxhbHUgYmFueWFrIHBhcnRpc2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJNYXN1a2thbiBkZW5nYW4gbWVuZ2d1bmFrYW4gZm9ybWF0IGJlcmlrdXQ7IGZpZWxkIHlhbmcga29zb25nIGFrYW4gbWVtcGVyb2xlaFxuIgorI34gIm5pbGFpIGRlZmF1bHQuIDxhd2FsPiA8dWt1cmFuPiA8dGlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0gPGMsaCxzPlxuIgorI34gIjxjLGgscz4gYmlhc2FueWEgYW5kYSBoYW55YSBwZXJsdSB1bnR1ayBtZW5zcGVzaWthbiA8YXdhbD4gZGFuIDx1a3VyYW4+IChkYW4gbXVuZ2tpbiA8dGlwZT4pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGFuZ2Vyb3VzIG9wdGlvbnM6XG4iCisjfiBtc2dzdHIgInBpbGloYW4geWFuZyBiZXJiYWhheWE6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgICAgLUcgW2F0YXUgLS1zaG93LXB0LWdlb21ldHJ5XTogdGFtcGlsa2FuIGdlb21ldHJ5IHlhbmcgZGl0ZWJhayBkYXJpIHRhYmVsIHBhcnRpc2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgLXggW2F0YXUgLS1zaG93LWV4dGVuZGVkXToganVnYSBtZW5hbXBpbGthbiBwYXJ0aXNpIGV4dGVuZGVkIGRhbGFtIG91dHB1dFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdGF1IG1lbXBlcmtpcmFrYW4gZGVza3JpcHNpIGRhcmkgcGFydGlzaSBkaSBpbnB1dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiVzIHBlcmFuZ2thdFx0XHQgZGFmdGFyIGRhcmkgcGFydGlzaSBha3RpZiBkaSBwZXJhbmdrYXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiVzIHBlcmFuZ2thdCBuMSBuMiAuLi4gYWt0aXZhc2kgcGFydGlzaSBuMSAuLi4sIG1lbm9uYWt0aWZrYW4gc2lzYW55YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIkp1bWxhaCBkYXJpIGJhcmlzIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogc2ZkaXNrIC0tcHJpbnQtaWQgcGVyYW5na2F0IG5vbW9yLXBhcnRpc2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBzZmRpc2sgLS1jaGFuZ2UtaWQgcGVyYW5na2F0IG5vbW9yLXBhcnRpc2kgSWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogc2ZkaXNrIC0taWQgcGVyYW5na2F0IG5vbW9yLXBhcnRpc2kgW0lkXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5zcGVzaWZpa2FzaWthbiBoYW55YSB1bnR1ayBzYXR1IHBlcmFuZ2thdCAoa2VjdWFsaSBkZW5nYW4gcGlsaWhhbiAtbCBhdGF1IC1zKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMgdW50dWsgYmFjYS10dWxpc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthICVzIHVudHVrIG1lbWJhY2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBPS1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgYWN0aXZlIGJ5dGU6IDB4JXggaW5zdGVhZCBvZiAweDgwIgorI34gbXNnc3RyICJhY3RpdmUgYnl0ZSB0aWRhayBiYWlrOiAweCV4IGRhcmlwYWRhIDB4ODBcbiIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIlNlbGVzYWkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiQW5kYSBtZW1pbGlraSAlZCBwcmltYXJ5IHBhcnRpc2kgeWFuZyBha3RpZi4gSW5pIHRpZGFrIGJlcm1hc2FsYWggdW50dWsgTElMTyxcbiIKKyN+ICJ0ZXRhcGkgRE9TIE1CUiBoYW55YSBha2FuIG1lbWJvb3Qgc2VidWFoIGRpc2sgZGVuZ2FuIDEgYWN0aXZlIHBhcnRpc2kuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzIGhhcyBpZCAleCBhbmQgaXMgbm90IGhpZGRlbiIKKyN+IG1zZ3N0ciAicGFydGlzaSAlcyBtZW1pbGlraSBpZCAleCBkYW4gaW5pIHRpZGFrIGRpc2VtYnVueWlrYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJCYWQgSWQgJWx4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJEaXNrIGluaSBzYWF0IGluaSBzZWRhbmcgZGlndW5ha2FuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiRmF0YWwgZXJyb3I6IHRpZGFrIGRhcGF0IG1lbmVtdWthbiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9ja1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk9LIgorI34gbXNnc3RyICJPS1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiUGFydGlzaSAlZCB0aWRhayBhZGEsIHRpZGFrIGRhcGF0IG1lbmd1YmFobnlhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiU2F5YSB0aWRhayBzdWthIHBhcnRpc2kgaW5pIC0tIHRpZGFoIGFkYSB5YW5nIGRpdWJhaC5cbiIKKyN+ICIoSmlrYSBhbmRhIGJlbmFyIC0gYmVuYXIgbWVuZ2luZ2lua2FuIGluaSwgZ3VuYWthbiBwaWxpaGFuIC0tZm9yY2UuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIlNheWEgdGlkYWsgbWVueXVrYWkgaW5pIC0gbXVuZ2tpbiBhbmRhIHNlaGFydXNueWEgbWVuamF3YWIgTm9cbiIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICJBcGFrYW4gYW5kYSBwdWFzIGRlbmdhbiBrZWFkYWFuIGluaT8gW3lucV0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIlNlbGVzYWkgLSB0aWRhayBhZGEgeWFuZyBkaXViYWhcbiIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIlRvbG9uZyBqYXdhbiBzYWxhaCBzYXR1IGRhcmkgeSxuLHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlN1a3NlcyBtZW51bGlzIHRhYmVsIHBhcnRpc2kgYmFydVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkppa2EgYW5kYSBtZW1idWF0IGF0YXUgbWVuZ3ViYXMgc2VidWFoIERPUyBwYXJ0aXNpLCBrYXRha2FubGFoIC9kZXYvZm9vNyxcbiIKKyN+ICJrZW11ZGlhbiBndW5ha2FuIGRkKDEpIHVudHVrIG1lbm9sa2FuIDUxMiBieXRlcyBwZXJ0YW1hOiBkZCBpZj0vZGV2L3plcm8gXG4iCisjfiAib2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xIChMaWhhdCBmZGlzayg4KS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBFUklOR0FUQU46IEppa2EgYW5kYSBtZW1idWF0IGF0YXUgbWVtb2RpZmlrYXNpIHBhcnRpc2kgXG4iCisjfiAiRE9TIDYueCwgdG9sb25nIGxpaGF0IG1hbnVhbCBkYXJpIGNmZGlzayB1bnR1ayBpbmZvcm1hc2kgXG4iCisjfiAibGViaWggbGFuanV0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJmaWVsZCB0ZXJsYWx1IHBhbmphbmcuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiAnJWMnIHRpZGFrIGRpcGVyYm9sZWhrYW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJyVjJyB0aWRhayBkaXBlcmJvbGVoa2FuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogS2FyYWt0ZXIgS29udHJvbCB0aWRhayBkaXBlcmJvbGVoa2FuLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIkNoYXJhY3RlciBjb250cm9sIHRpZGFrIGRpcGVyYm9sZWhrYW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogaGFueWEgZGFwYXQgbWVuZ3ViYWggbWFzdWthbiBsb2NhbDsgZ3VuYWthbiB5cCVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBQZXJ0YW1hICAgICBBa2hpclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgd2lwZWZzKDgpLlxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MoKSBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJuYW1hIGJlcmthcyB0aWRhayBkaXNwZXNpZmlrYXNpa2FuLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUaGlzIHNtYWxsIHVzYWdlIGd1aWRlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIFRhbXBpbGthbiBpbmZvcm1hc2kgdmVyc2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IG5hbWVpKDEpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHdpcGVmcyg4KS5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IG5hbWVpKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIgcmVtb3ZhYmxlIgorCisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAibmFtYSBiZXJrYXMgdGlkYWsgZGlzcGVzaWZpa2FzaWthbi4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbnNldCBpZCBwZW5nZ3VuYTogJXMiCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyICJCdXR1aCB1bnR1ayBtZW1hc3Vra2FuICVkIGRldGlrIGRhbiByZWZlcmVuc2kgd2FrdHUga2VtYmFsaSAlLjZmIGRldGlrIHlhbmcgbGFsdVxuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIk1lbnVuZ2d1IGRhbGFtIGxvb3AgdW50dWsgd2FrdHUgZGFyaSBLREdIV0NMSyB1bnR1ayBiZXJ1YmFoXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCB1bnR1ayBtZW1iYWNhIHdha3R1IGdhZ2FsIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCB1bnR1ayBtZW1iYWNhIHdha3R1IGdhZ2FsIGRhbGFtIGxvb3AiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBnYWdhbCB1bnR1ayBtZW1iYWNhIHdha3R1IGRhcmkgJXMiCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsIEtEU0hXQ0xLIGdhZ2FsIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIC9kZXYvdHR5MSBhdGF1IC9kZXYvdmMvMSIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzY3B1KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB3aXBlZnMoOCkuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSA8YXBsaWthc2k+IFthcmcgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmVuaWNlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB1bnNoYXJlKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjogJXMlcyBbcGlsaWhhbl0gW2FwbGlrYXNpIFthcGxpa2FzaSBhcmd1bWVuXV1cbiIKKyN+ICJcbiIKKyN+ICJQaWxpaGFuOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi5rZW1iYWxpIDEgaGFsYW1hbiIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi5tZWxld2F0aSBzYXR1IGJhcmlzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB1bnNoYXJlKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICIlczogcGlsaWhhbiBtZW1idXR1aGthbiBzZWJ1YWggYXJndW1lbiAtLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNlY3V0aXZlIGxpbmVzIGFyZSBpbnRlbmRlZCBieSB0d28gc3BhY2VzXG4iCisjfiBtc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBUaWRhayBhZGEgb3V0cHV0IG5vcm1hbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBJbmkgc2VkaWtpdCBwZXR1bmp1ayBwZW5nZ3VuYWFuXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgImRpa29tcGlsZSB0YW5wYSBkdWt1bmdhbiAteCIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogS2VoYWJpc2FuIG1lbW9yaSFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBkaWd1bmFrYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgImdhZ2FsIG1lbnVsaXM6ICVzIgorCisjfiBtc2dpZCAiRGlzayBoYXMgYmVlbiBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJEaXNrIHN1ZGFoIGJlcnViYWguXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAiUmVib290IGtvbXB1dGVyIGFuZGEgdW50dWsgbWVtYXN0aWthbiB0YWJlbCBwYXJ0aXNpIHRlbGFoIGJlbmFyIC0gYmVuYXIgZGktdXBkYXRlLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBFUklOR0FUQU46IEppa2EgYW5kYSBtZW1idWF0IGF0YXUgbWVtb2RpZmlrYXNpIHBhcnRpc2kgXG4iCisjfiAiRE9TIDYueCwgdG9sb25nIGxpaGF0IG1hbnVhbCBkYXJpIGNmZGlzayB1bnR1ayBpbmZvcm1hc2kgXG4iCisjfiAibGViaWggbGFuanV0LlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIkZBVEFMIEVSUk9SIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiVGVrYW4gdG9tYm9sIG1hbmFwdW4gdW50dWsga2VsdWFyIGRhcmkgY2ZkaXNrIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuY2FyaSBkaSBkaXNrIGRyaXZlIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSBkaXNrIGRyaXZlIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnVsaXMgZGlzayBkcml2ZSIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlRlcmxhbHUgYmFueWFrIHBhcnRpc2kiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGFydGlzaSBtdWxhaSBzZWJlbHVtIHNla3RvciAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJQYXJ0aXNpIGJlcmFraGlyIHNlYmVsdW0gc2VrdG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJQYXJ0aXNpIG11bGFpIHNlc3VkYWsgYWtoaXIgZGFyaSBkaXNrIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIlBhcnRpc2kgYmVyYWtoaXIgc2VzdWRhaCBha2hpciBkYXJpIGRpc2siCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgInBhcnRpc2kgbG9naWNhbCB0aWRhayBkYWxhbSB1cnV0YW4gZGlzayIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJwYXJ0aXNpIGxvZ2ljYWwgc2FsaW5nIGJlcm92ZXJsYXAiCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibWVtcGVyYmVzYXIgcGFydGlzaSBsb2dpY2FsIHlhbmcgc2FsaW5nIGJlcm92ZXJsYXAiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBLZXNhbGFoYW4gaW50ZXJuYWwgbWVtYnVhdCBkcml2ZSBsb2dpY2FsIGRlbmdhbiB0aWRhayBtZW5nZ3VuYWthbiBwYXJ0aXNpIGV4dGVuZGVkICEhISEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY3JlYXRlIGxvZ2ljYWwgZHJpdmUgaGVyZSAtLSB3b3VsZCBjcmVhdGUgdHdvIGV4dGVuZGVkIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1YXQgZHJpdmUgbG9naWNhbCBkaXNpbmkgLS0gYXBha2FoIGFuZGEgYWthbiBtZW1idWF0IGR1YSBwYXJ0aXNpIGV4dGVuZGVkIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIk1lbnUgaXRlbSB0ZXJsYWx1IHBhbmphbmcuIE1lbnUgbXVuZ2tpbiBrZWxpaGF0YW4gamFuZ2dhbC4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAiS3VuY2kgdGlkYWsgdmFsaWQiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkJ1YXQgc2VidWFoIHBhcnRpc2kgcHJpbWFyeSBiYXJ1IgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJCdWF0IHNlYnVhaCBwYXJ0aXNpIGxvZ2ljYWwgYmFydSIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiQmF0YWwiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkphbmdhbiBtZW1idWF0IHNlYnVhaCBwYXJ0aXNpIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIEtlc2FsYWhhbiBpbnRlcm5hbCAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiVWt1cmFuIChkYWxhbSBNQik6ICIKKworI34gbXNnaWQgIkJlZ2lubmluZyIKKyN+IG1zZ3N0ciAiRGlhd2FsaSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlRhbWJhaGthbiBwYXJ0aXNpIGRpIGF3YWwgcnVhbmcga29zb25nIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBlbmQgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiVGFtYmFoa2FuIHBhcnRpc2kgZGkgYWtoaXIgcnVhbmcga29zb25nIgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVGlkYWsgYWRhIHRlbXBhdCB1bnR1ayBtZW1idWF0IHBhcnRpc2kgZXh0ZW5kZWQiCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb24gdGFibGUuIFN0YXJ0aW5nIHdpdGggemVybyB0YWJsZS4iCisjfiBtc2dzdHIgIlRpZGFrIGFkYSB0YWJlbCBwYXJ0aXNpLCBEaW11bGFpIGRlbmdhbiB0YWJlbCBub2wuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIlNpZ25hdHVyZSB0aWRhayBzZXN1YWkgZGkgdGFiZWwgcGFydGlzaSIKKworI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIlRpcGUgdGFiZWwgcGFydGlzaSB0aWRhayBkaWtldGFodWkiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJBcGFrYW4gYW5kYSBpbmdpbiBtZW11bGFpIGRlbmdhbiB0YWJlbCBub2wgW3kvTl0gPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2FuIGRpc2sgZHJpdmUiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJEaXNrIHRlcmJ1a2EgaGFueWEtYmFjYSAtIGFuZGEgdGlkYWsgbWVtcHVueWFpIGlqaW4gdW50dWsgbWVudWxpcyIKKworI34gbXNnaWQgIkNhbm5vdCBnZXQgZGlzayBzaXplIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJvbGVoIHVrdXJhbiBkaXNrIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQYXJ0aXNpIHByaW1hcnkgdGlkYWsgYmFpayIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIlBlcmluZ2F0YW4hISBJbmkgbXVuZ2tpbiBha2FuIG1lbmdoYW5jdXJrYW4gZGF0YSBkaSBkaXNrIGFuZGEhIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIlRvbG9uZyBqYXdhYiAneWEnIGF0YXUgJ3RpZGFrJyIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIk1lbnVsaXMgdGFiZWwgcGFydGlzaSBkaSBkaXNrLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIlRhYmVsIHBhcnRpc2kgdGVsYWggdGVydHVsaXMgZGkgZGlzayIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJUYWJlbCBwYXJ0aXNpIHRlbGFoIGRpdHVsaXMsIHRldGFwaSBnYWdhbCB1bnR1ayBtZW1iYWNhIHVsYW5nIHRhYmVsIHBhcnRpc2kuIEphbGFua2FuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIGF0YXUgcmVib290IHVudHVrIG1lbXBlcmJhcnVpIHRhYmVsLiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSBwcmltYXJ5IHlhbmcgZGliZXJpIHRhbmRhIGJvb3RhYmxlLiBET1MgTUJSIHRpZGFrIGRhcGF0IG1lbWJvb3QgZGlzayBpbmkuIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIkxlYmloIGRhcmkgc2F0dSBwYXJ0aXNpIHByaW1hcnkgeWFuZyBkaWJlcmkgdGFuZGEgYm9vdGFibGUuIERPUyBNQlIgdGlkYWsgZGFwYXQgbWVtYm9vdCBkaXNrIGluaS4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlbmFtZSBvciBwcmVzcyBSRVRVUk4gdG8gZGlzcGxheSBvbiBzY3JlZW46ICIKKyN+IG1zZ3N0ciAiTWFzdWtrYW4gbmFtYSBmaWxlIGF0YXUgdGVrYW4gUkVUVVJOIHVudHVrIG1lbmFtcGlsa2FuIGRpc3BsYXkgZGkgbGF5YXI6ICIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIkRpc2sgRHJpdmU6ICVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yIDA6XG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgJWQ6XG4iCisjfiBtc2dzdHIgIlNla3RvciAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIE5vbmUgICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICBQcmkvTG9nIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAgUHJpbWFyeSIKKworI34gbXNnaWQgIiAgIExvZ2ljYWwiCisjfiBtc2dzdHIgIiAgIExvZ2ljYWwiCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIktvc29uZyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBUYWJsZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiVGFiZWwgcGFydGlzaSB1bnR1ayAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgRmlyc3QgICAgICAgTGFzdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICBQZXJ0YW1hICAgICBBa2hpclxuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyBUaXBlICAgICAgIFNla3RvciAgICAgIFNla3RvciAgIE9mZnNldCAgICAgTGVuZ3RoICBUaXBlIEZpbGVzeXN0ZW0gKElEKSBUYW5kYVxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAtLS0tQmVyYXdhbC0tLS0gICAgICAtLS0tQmVyYWtoaXItLS0tICAgQXdhbCAgICAgIE5vbW9yIGRhcmlcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBUYW5kYSBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiTWVudGFoIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiQ2V0YWsgdGFiZWwgZGVuZ2FuIG1lbmdndW5ha2FuIGZvcm1hdCBkYXRhIG1lbnRhaCIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIkNldGFrIHRhYmVsIGRpdXJ1dCBiZXJkYXNhcmthbiBzZWt0b3IiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiVGFiZWwiCisKKyN+IG1zZ2lkICJKdXN0IHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkhhbnlhIGNldGFrIHRhYmVsIHBhcnRpc2kiCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIkphbmdhbiBtZW5jZXRhayB0YWJlbCIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiSGFrIENpcHRhIChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgIGcgICAgICAgICAgVWJhaCBwYXJhbWV0ZXIgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9yLXBlci10cmFja3MiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAgUEVSSU5HQVRBTjogUGlsaWhhbiBpbmkgc2VoYXJ1c255YSBoYW55YSBib2xlaCBkaWd1bmFrYW4gb2xlaCBvcmFuZyB5YW5nIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB0YWh1IGFwYSB5YW5nIG1lcmVrYSBrZXJqYWthbi4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBNYWtzaW1hbGthbiBwZW5nZ3VuYWFuIGRpc2sgZGFyaSBwYXJ0aXNpIHRlcnBpbGloIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIENhdGF0YW46IEluaSBtdW5na2luIGFrYW4gbWVtYnVhdCBwYXJ0aXNpIHRpZGFrIGtvbXBhdGliZWwgZGVuZ2FuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgQ2V0YWsgdGFiZWwgcGFydGlzaSBkaSBsYXlhciBhdGF1IGtlIHNlYnVhaCBmaWxlIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgVGVyZGFwYXQgYmViZXJhcGEgZm9ybWF0IHlhbmcgYmVyYmVkYSB1bnR1ayBwYXJ0aXNpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIHRoYXQgeW91IGNhbiBjaG9vc2UgZnJvbToiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB5YW5nIGRhcGF0IGFuZGEgcGlsaWggZGFyaToiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgciAtIFJhdyBkYXRhIChleGFjdGx5IHdoYXQgd291bGQgYmUgd3JpdHRlbiB0byBkaXNrKSIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHIgLSBEYXRhIG1lbnRhaCAoc2FtYSBzZXBlcnRpIHlhbmcgYWthbiBkaXR1bGlzIGRpIGRpc2spIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVGFiZWwgZGl1cnV0IGJlcmRhc2Fya2FuIGRhcmkgc2VrdG9yIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIFViYWggc2F0dWFuIGRhcmkgdWt1cmFuIHBhcnRpc2kgeWFuZyBkaXRhbXBpbGthbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFJvdGFzaSBtZWxhbHVpIE1CLCBzZWt0b3IsIGRhbiBjeWxpbmRlcnMiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMLUwgICAgICAgTWVuZ2dhbWJhciB1bGFuZyBsYXlhciIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIE1lbmNldGFrIHRhbXBpbGFuIGluaSIKKworI34gbXNnaWQgIkNoYW5nZSBjeWxpbmRlciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiVWJhaCBnZW9tZXRyaSBjeWxpbmRlciIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICJVYmFoIGdlb21ldHJpIGhlYWQiCisKKyN+IG1zZ2lkICJDaGFuZ2Ugc2VjdG9yIGdlb21ldHJ5IgorI34gbXNnc3RyICJVYmFoIGdlb21ldHJpIHNla3RvciIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiU2VsZXNhaSB0YW5wYSBtZW5ndWJhaCBnZW9tZXRyaSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIk1hc3Vra2FuIGp1bWxhaCBkYXJpIGN5bGluZGVyOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiSnVtbGFoIGN5bGluZGVycyB0aWRhayB2YWxpZCIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiTWFzdWtrYW4ganVtbGFoIGhlYWRzOiIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIkp1bWxhaCBoZWFkIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJNYXN1a2thbiBqdW1sYWggc2VrdG9yIHBlciB0cmFjazogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICJKdW1sYWggc2VrdG9yIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZXN5c3RlbSB0eXBlOiAiCisjfiBtc2dzdHIgIk1hc3Vra2FuIHRpcGUgZmlsZXN5c3RlbTogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5ndWJhaCBGUyB0eXBlIG1lbmphZGkga29zb25nIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5ndWJhaCBGUyB0aXBlIG1lbmphZGkgZXh0ZW5kZWQiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIlVuayglMjBYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTG9nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIlRpZGFrIGRpa2V0YWh1aSAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiRGlzayBEcml2ZTogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJVa3VyYW46ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIlVrdXJhbjogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJIZWFkczogJWQgICAgU2VrdG9yIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlRpcGUgUGFydGlzaSIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIlRpcGUgRlMiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbTGFiZWxdIgorCisjfiBtc2dpZCAiICAgIFNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICBTZWt0b3IiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDeWxpbmRlcnMiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBVa3VyYW4gKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgIFVrdXJhbiAoR0IpIgorCisjfiBtc2dpZCAiTm8gbW9yZSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSBsYWdpIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIlViYWggZ2VvbWV0cmkgZGlzayAoZXhwZXJ0IG9ubHkpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1ha3NpbWFsa2FuIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIk1ha3NpbWFsa2FuIHBlbmdndW5hYW4gZGlzayBwYWRhIHBhcnRpc2kgdGVycGlsaWggKGV4cGVydCBvbmx5KSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJDZXRhayIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIlViYWggdGlwZSBmaWxlc3lzdGVtIChET1MsIExpbnV4LCBPUy8yLCBkYW4gc2VsYW5qdXRueWEpIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIlNhdHVhbiIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIlViYWggc2F0dWFuIGRhcmkgdWt1cmFuIHBhcnRpc2kgeWFuZyBkaXRhbXBpbGthbiAoTUIsIHNlY3QsIGN5bCkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVhdCBwYXJ0aXNpIGluaSBtZW5qYWRpIGJvb3RhYmxlIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdoYXB1cyBzZWJ1YWggcGFydGlzaSBrb3NvbmciCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWFrc2ltYWxrYW4gcGFydGlzaSBpbmkiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyB1bnVzYWJsZSIKKyN+IG1zZ3N0ciAiUGFydGlzaSBpbmkgdGlkYWsgZGFwYXQgZGlndW5ha2FuIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIlBhcnRpc2kgaW5pIHN1ZGFoIGRpcGFrYWkiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ3ViYWggdGlwZSBkYXJpIHNlYnVhaCBwYXJ0aXNpIGtvc29uZyIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiUGVyaW50YWggdGlkYWsgdmFsaWQiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiSGFrIENpcHRhIChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAgICAtSCMgW2F0YXUgLS1oZWFkcyAjXTogIHNldCBqdW1sYWggZGFyaSBoZWFkcyB5YW5nIGRpZ3VuYWthbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBKYW5nYW4gcXVvdGUgb3V0cHV0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAgZCAgICAgICAgICBIYXB1cyBwYXJ0aXNpIHRlcnBpbGloIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICBjICAgdWJhaCBub21vciBkYXJpIGN5bGluZGVycyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGhlYWRzIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5kYXBhdGthbiBhbmdrYSAnJXMnIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZGFwYXRrYW4gYW5na2EgJyVzJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJic2l6ZSIKKyN+IG1zZ3N0ciAiLCBiZXNhcj0lOWx1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiZSAgIGV4dGVuZGVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOQyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIlNldCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlLiBQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbmkgdGlkYWsgc2VwZXJ0aSBzZWJ1YWggdGFiZWwgcGFydGlzaVxuIgorI34gIk11bmdraW4gYW5kYSBtZW1pbGloIHBlcmFuZ2thdCB5YW5nIHNhbGFoXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAiJWxkIGJsb2Nrc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAiU2VrdG9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorI34gbXNnc3RyICJBbmRhIGFrYW4gbWVtcGVyb2xlaCBzZWJ1YWggcGFydGlzaSB5YW5nIG92ZXJsYXAgZGkgZGlzay4gQmV0dWxrYW4gaW5pIHRlcmxlYmloIGRhaHVsdSFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJUYW5kYSIKKworI34gbXNnaWQgIndhcm5pbmc6IGVycm9yIHJlYWRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJwZXJpbmdhdGFuOiBlcnJvciBtZW1iYWNhICVzOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJwZXJpbmdhdGFuOiB0aWRhayBkYXBhdCBtZW1idWthICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMgLSBtZW5nZ3VuYWthbiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVhdCBmaWxlIGt1bmNpICVzOiAlcyAoZ3VuYWthbiBwaWxpaGFuIC1uIHVudHVrIG1lbWFrc2EgbWVuamFsYW5rYW4pIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmxpbmsgZmlsZSBrdW5jaSAlczogJXMgKGd1bmFrYW4gcGlsaWhhbiAtbiB1bnR1ayBtZW1ha3NhIG1lbmphbGFua2FuKSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW1idWthIGZpbGUga3VuY2kgJXM6ICVzIChndW5ha2FuIHBpbGloYW4gLW4gdW50dWsgbWVtYWtzYSBtZW5qYWxhbmthbikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ3VuY2kgZmlsZSBrdW5jaSAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZ3VuY2kgZmlsZSBrdW5jaSAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlRpZGFrIGRhcHQgbWVtYnVhdCBsaW5rICVzXG4iCisjfiAiTXVuZ2tpbiBkaXNhbmEgYWRhIHNlYnVhaCBmaWxlIGt1bmNpIHlhbmcgbWFzaWggYWRhP1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMgKCVzKSAtIG10YWIgdGlkYWsgZGl1cGRhdGUiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVudWxpcyAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHN0YXRpc3RpayAlczogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImVycm9yIG1lbmd1YmFoIG1vZGUgZGFyaSAlczogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJlcnJvciBtZW5ndWJhaCBrZXBlbWlsaWthbiBkYXJpICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nZ2FudGkgbmFtYSAlcyBtZW5qYWRpICVzOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnQ6IHBlcmluZ2F0YW46IC9ldGMvbXRhYiB0aWRhayBkYXBhdCBkaXR1bGlzIChtdW5na2luIHNpc3RlbSBiZXJrYXMgYmFjYS1zYWphKS5cbiIKKyN+ICIgICAgICAgSW5pIG1lbXVuZ2tpbmthbiBqaWthIGluZm9ybWFzaSB5YW5nIGRpdGFtcGlsa2FuIG9sZWggbW91bnQoOCkgdGlkYWsgYmFydS5cbiIKKyN+ICIgICAgICAgVW50dWsgaW5mb3JtYXNpIGFrdHVhbCBtZW5nZW5haSB0aXRpayBwZW1hc2FuZ2FuIHNpc3RlbSBwZXJpa3NhIGJlcmthc1xuIgorI34gIiAgICAgICAvcHJvYy9tb3VudHMuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW1wcm9wZXJseSBxdW90ZWQgb3B0aW9uIHN0cmluZyAnJXMnIgorI34gbXNnc3RyICJtb3VudDogcGlsaWhhbiBzdHJpbmcgdGlkYWsgZGlueWF0YWthbiBkZW5nYW4gYmVuYXIgJyVzJyIKKworI34gbXNnaWQgIm1vdW50OiB0cmFuc2xhdGVkICVzICclcycgdG8gJyVzJ1xuIgorI34gbXNnc3RyICJtb3VudDogZGl0cmFuc2xhc2lrYW4gJXMgJyVzJyBrZSAnJXMnXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lbnVydXQgbXRhYiwgJXMgdGVsYWggZGltb3VudCBkaSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lbnVydXQgbXRhYiwgJXMgdGVsYWggZGkgbW91bnQgZGkgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW1idWthICVzIHVudHVrIG1lbnVsaXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogZXJyb3IgZGFsYW0gbWVudWxpcyAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlcnJvciBtZW5ndWJhaCBtb2RlIGRhcmkgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQgdGlkYWsgZGFwYXQgbWVuc2V0IGdydXAgaWQ6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVuc2V0IGlkIHBlbmdndW5hOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZWxha3VrYW4gZm9yazogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiTWVuY29iYSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFuZGEgdGlkYWsgbWVuc3Blc2lmaWthc2lrYW4gc2VidWFoIHRpcGUgZGFyaSBmaWxlc3lzdGVtIHVudHVrICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBTYXlhIGFrYW4gbWVuY29iYSBzZW11YSB0aXBlIHlhbmcgZGlzZWJ1dGthbiBkYWxhbSAlcyBhdGF1ICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGRhbiBpbmkgc2VwZXJ0aW55YSBtZXJ1cGFrYW4gc2VidWFoIHN3YXBzcGFjZVxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICAgU2F5YSBha2FuIG1lbmNvYmEgdGlwZSAlc1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMga2VsaWhhdGFubnlhIHNlcGVydGkgc3dhcHNwYWNlIC0gdGlkYWsgZGkgbW91bnQiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGhhbnlhIHJvb3QgeWFuZyBkYXBhdCBtZWxha3VrYW4gbW91bnQgJXMgZGkgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogcGVyYW5na2F0IGxvb3AgZGlzcGVzaWZpa2FzaWthbiBkdWEga2FsaSIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcGUgZGlzcGVzaWZpa2FzaWthbiBkdWEga2FsaSIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudDogbWVsZXdhdGthbiBzZXR1cCBkYXJpIHBlcmFuZ2thdCBsb29wXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFrYW4gbWVuZ2d1bmFrYW4gcGVyYW5na2F0IGxvb3AgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm5pbGFpIG9mc2V0ICclcycgdGlkYWsgdmFsaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgc2l6ZWxpbWl0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJuaWxhaSBvZnNldCAnJXMnIHRpZGFrIHZhbGlkIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyBhcyBsb29wIgorI34gbXNnc3RyICJtb3VudDogbWVudXJ1dCBtdGFiLCAlcyB0ZWxhaCBkaW1vdW50IGRpICVzIHNlYmFnYWkgbG9vcCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJnYWdhbCBtZW5naW5pc2lhbGlzYXNpIGJhcmlzIHBlbnlhbmdnYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogZ2FnYWwgbWVuc2V0LXVwIHBlcmFuZ2thdCBsb29wXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogYWthbiBtZW5nZ3VuYWthbiBwZXJhbmdrYXQgbG9vcCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHRvIHNldCBsb29wZGV2IGF0dHJpYnV0ZXMiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIGF0cmlidXQgcGlkICVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogZ2FnYWwgbWVuc2V0LXVwIHBlcmFuZ2thdCBsb29wXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0ZXJjdXJpIGxvb3A9JXMgLi4ubWVuY29iYSBsYWdpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgInVtb3VudDogdGVyY3VyaSBsb29wPSVzIgorCisjfiBtc2dpZCAibW91bnQ6IHNldHVwIGxvb3AgZGV2aWNlIHN1Y2Nlc3NmdWxseVxuIgorI34gbXNnc3RyICJtb3VudDogc2V0dXAgcGVyYW5na2F0IGxvb3AgdGVsYWggYmVyaGFzaWxcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHRpZGFrIGRpdGVtdWthbiAtIG1lbWJ1YXRueWEuLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVtYnVrYSAlcyB1bnR1ayBtZW5zZXQga2VjZXBhdGFuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQgdGlkYWsgZGFwYXQgbWVuc2V0IGtlY2VwYXRhbjogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbWVudXJ1dCBtdGFiLCAlcyB0ZWxhaCBkaW1vdW50IGRpICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLXdyaXRlLlxuIgorI34gbXNnc3RyICJtb3VudDogcGVyaW5nYXRhbjogJXMga2VsaWhhdGFubnlhIHRlbGFoIGRpcGFzYW4gYmFjYS10dWxpcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwZXJpbmdhdGFuOiAlcyBrZWxpaGF0YW5ueWEgdGVsYWggZGlwYXNhbiBiYWNhLXR1bGlzLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IEkgY291bGQgbm90IGRldGVybWluZSB0aGUgZmlsZXN5c3RlbSB0eXBlLCBhbmQgbm9uZSB3YXMgc3BlY2lmaWVkIgorI34gbXNnc3RyICJtb3VudDogU2F5YSB0aWRhayBkYXBhdCBtZW5lbnR1a2FuIHRpcGUgZGFyaSBmaWxlc3lzdGVtLCBkYW4gdGlkYWsgZGliZXJpa2FuIHNwZXNpZmlrYXNpIGRpIGFyZ3VtZW50IHBlcmludGFoIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGFuZGEgaGFydXMgbWVuc3Blc2lmaWthc2lrYW4gdGlwZSBmaWxlc3lzdGVtIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vdW50IGdhZ2FsIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpdGlrIG1vdW50ICVzIGJ1a2FuIGJlcnVwYSBzZWJ1YWggZGlyZWt0b3JpIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogaWppbiBkaXRvbGFrIgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnQ6IGhhcnVzIG1lbmphZGkgc3VwZXJ1c2VyIHVudHVrIG1lbmdndW5ha2FuIG1vdW50IgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyB0ZWxhaCBkaW1vdW50IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogJXMgdGVsYWggZGltb3VudCBhdGF1ICVzIHNlZGFuZyBzaWJ1ayIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpdGlrIG1vdW50ICVzIHRpZGFrIGFkYSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpdGlrIG1vdW50ICVzIGJlcnVwYSBzeW1ib2xpYyBsaW5rIGtlIHN1YXR1IHRlbXBhdCIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHBlcmFuZ2thdCBzcGVzaWFsICVzIHRpZGFrIGFkYSIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3RcbiIKKyN+ICIgICAgICAgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KVxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IHBlcmFuZ2thdCBzcGVzaWFsICVzIHRpZGFrIGFkYVxuIgorI34gIiAgICAgICAoc2VidWFoIHBhdGggcHJlZml4IGJ1a2FuIGJlcnVwYSBzZWJ1YWggZGlyZWt0b3JpKVxuIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyN+ICIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogdGlwZSBmcyBzYWxhaCwgcGlsaWhhbiBidXJ1aywgc3VwZXJibG9jayBidXJ1ayBkaSAlcyxcbiIKKyN+ICIgICAgICAgaGlsYW5nIGNvZGVwYWdlIGF0YXUgYXBsaWthc2kgcGVtYmFudHUsIGF0YXUgZXJyb3IgbGFpbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoYXBha2FoIGluaSBtdW5na2luIHNlYnVhaCBwZXJhbmdrYXQgSURFIGRpbWFuYSBhbmRhIG1lbmdndW5ha2FuXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNlaGluZ2dhIHNyMCBhdGF1IHNkYSBhdGF1IHBlcmFuZ2thdCBzZXBlcnRpbnlhIHlhbmcgZGlwZXJsdWthbj8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoYXJlbid0IHlvdSB0cnlpbmcgdG8gbW91bnQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpbnN0ZWFkIG9mIHNvbWUgbG9naWNhbCBwYXJ0aXRpb24gaW5zaWRlPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKGFwYWthaCBhbmRhIG1lbmNvYmEgbWVtb3VudCBzZWJ1YWggcGFydGlzaSBleHRlbmRlZCxcbiIKKyN+ICIgICAgICAgZGFyaXBhZGEgc2VidWFoIHBhcnRpc2kgbG9naWNhbCBkaWRhbGFtbnlhPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBEYWxhbSBiZWJlcmFwYSBrYXN1cyBpbmZvcm1hc2kgYmVyZ3VuYSBkYXBhdCBkaXRlbXVrYW4gZGkgc3lzbG9nIC0gY29iYVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgYXRhdSB5YW5nIHNlcnVwYVxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczogdGlkYWsgZGFwYXQgbWVtYmFjYSBzdXBlcmJsb2NrIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBwZXJhbmdrYXQgdGlkYWsgZGlrZXRhaHVpIgorCisjfiBtc2dpZCAibW91bnQ6IHVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCisjfiBtc2dzdHIgIm1vdW50OiB0aXBlIGZpbGVzeXN0ZW0gdGlkYWsgZGlrZXRhaHVpICclcyciCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogbXVuZ2tpbiB5YW5nIGFuZGEgbWFrc3Vka2FuICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogbXVuZ2tpbiB5YW5nIGFuZGEgbWFrc3VkICdpc285NjYwJz8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiBtdW5na2luIHlhbmcgYW5kYSBtYWtzdWQgJ3ZmYXQnPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBtZW1pbGlraSBub21vciBwZXJhbmdrYXQgeWFuZyBzYWxhaCBhdGF1IHRpcGUgZnMgJXMgdGlkYWsgZGlzdXBwb3J0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFrIHBlcmFuZ2thdCBibG9jaywgZGFuIGdhZ2FsIG1lbXBlcm9sZWggc3RhdGlzdGlrPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDoga2VybmVsIHRpZGFrIG1lbmdlbmFsICVzIHNlYmFnYWkgc2VidWFoIHBlcmFuZ2thdCBibG9ja1xuIgorI34gIiAgICAgICAobXVuZ2tpbiBgbW9kcHJvYmUgZHJpdmVyJz8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgYnVrYW4gc2VidWFoIHBlcmFuZ2thdCBibG9jayAobXVuZ2tpbiBkaWNvYmEgZGVuZ2FuIG1lbmdndW5ha2FuIHBpbGloYW4gYC1vIGxvb3AnPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBidWthbiBzZWJ1YWggcGVyYW5na2F0IGJsb2NrIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGJ1a2FuIHNlYnVhaCBwZXJhbmdrYXQgYmxvY2sgeWFuZyB2YWxpZCIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZS1tb3VudCAlcyVzIGhhbnlhLWJhY2EiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgbWVtaWxpa2kgcHJvdGVrc2kgdW50dWsgZGl0dWxpcyB0ZXRhcGkgc2VjYXJhIGVrc3BsaXNpdCBwaWxpaGFuIGAtdycgZGliZXJpa2FuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCByZW1vdW50ICVzJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVtYXNhbmcga2VtYmFsaSAlcyVzIHNlY2FyYSBiYWNhLXR1bGlzLCB0ZXJwcm90ZWtzaS10dWxpcyIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyBtZW1pbGlraSBwcm90ZWtzaSB1bnR1ayBkaXR1bGlzLCBtZW1vdW50IHNlY2FyYSBoYW55YS1iYWNhIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpZGFrIGFkYSBtZWRpYSBkaXRlbXVrYW4gZGkgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcGUgdGlkYWsgZGliZXJpa2FuIC0gU2F5YSBha2FuIG1lbmdhc3Vtc2lrYW4gbmZzIGthcmVuYSBhZGFueWEgY29sb25cbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW50OiB0aXBlIHRpZGFrIGRpYmVyaWthbiAtIFNheWEgYWthbiBtZW5nYXN1bXNpa2FuIGNpZnMga2FyZW5hIGFkYW55YSBhd2FsYW4gLy9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogcHJpbnQgdmVyc2lvblxuIgorI34gIiAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgOiBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgIDogbGlzdCBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICA6IGlkZW0sIGluY2x1ZGluZyB2b2x1bWUgbGFiZWxzXG4iCisjfiAiU28gZmFyIHRoZSBpbmZvcm1hdGlvbmFsIHBhcnQuIE5leHQgdGhlIG1vdW50aW5nLlxuIgorI34gIlRoZSBjb21tYW5kIGlzIGBtb3VudCBbLXQgZnN0eXBlXSBzb21ldGhpbmcgc29tZXdoZXJlJy5cbiIKKyN+ICJEZXRhaWxzIGZvdW5kIGluIC9ldGMvZnN0YWIgbWF5IGJlIG9taXR0ZWQuXG4iCisjfiAiICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IG1vdW50IGFsbCBzdHVmZiBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAgIDogbW91bnQgZGV2aWNlIGF0IHRoZSBrbm93biBwbGFjZVxuIgorI34gIiAgICAgICBtb3VudCBkaXJlY3RvcnkgICAgICAgICAgOiBtb3VudCBrbm93biBkZXZpY2UgaGVyZVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0eXBlIGRldiBkaXIgICAgOiBvcmRpbmFyeSBtb3VudCBjb21tYW5kXG4iCisjfiAiTm90ZSB0aGF0IG9uZSBkb2VzIG5vdCByZWFsbHkgbW91bnQgYSBkZXZpY2UsIG9uZSBtb3VudHNcbiIKKyN+ICJhIGZpbGVzeXN0ZW0gKG9mIHRoZSBnaXZlbiB0eXBlKSBmb3VuZCBvbiB0aGUgZGV2aWNlLlxuIgorI34gIk9uZSBjYW4gYWxzbyBtb3VudCBhbiBhbHJlYWR5IHZpc2libGUgZGlyZWN0b3J5IHRyZWUgZWxzZXdoZXJlOlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQgb2xkZGlyIG5ld2RpclxuIgorI34gIm9yIG1vdmUgYSBzdWJ0cmVlOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIG1vdW50IGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUgbW91bnRzIGluIGEgbW91bnQgc3VidHJlZVxuIgorI34gImNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJBIGRldmljZSBjYW4gYmUgZ2l2ZW4gYnkgbmFtZSwgc2F5IC9kZXYvaGRhMSBvciAvZGV2L2Nkcm9tLFxuIgorI34gIm9yIGJ5IGxhYmVsLCB1c2luZyAgLUwgbGFiZWwgIG9yIGJ5IHV1aWQsIHVzaW5nICAtVSB1dWlkIC5cbiIKKyN+ICJPdGhlciBvcHRpb25zOiBbLW5mRnJzdnddIFstbyBvcHRpb25zXSBbLXAgcGFzc3dkZmRdLlxuIgorI34gIkZvciBtYW55IG1vcmUgZGV0YWlscywgc2F5ICBtYW4gOCBtb3VudCAuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYW46IG1vdW50IC1WICAgICAgICAgICAgIDogdGFtcGlsa2FuIHZlcnNpXG4iCisjfiAiICAgICAgICAgICBtb3VudCAtaCAgICAgICAgICAgICA6IHRhbXBpbGthbiBiYW50dWFuIGluaVxuIgorI34gIiAgICAgICAgICAgbW91bnQgICAgICAgICAgICAgICAgOiB0YW1waWxrYW4gc2VsdXJ1aCBmaWxlc3lzdGVtIHlhbmcgZGkgbW91bnRcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgIDogaWRlbSwgdGVybWFzdWsgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNlYmVsdW1ueWEgYWRhbGFoIGJhZ2lhbiB1bnR1ayBpbmZvcm1hc2kuIFNlbGFuanV0bnlhIG1lbmdlbmFpIG1vdW50aW5nLlxuIgorI34gIlBlcmludGFoIGFkYWxhaCBgbW91bnQgWy10IGZzdHlwZV0gc2VzdWF0dSBzdWF0dS10ZW1wYXQnLlxuIgorI34gIkRldGFpbCB5YW5nIGRpdGVtdWthbiBkYWxhbSAvZXRjL2ZzdGFiIG11bmdraW4gZGkgYWJhaWthbi5cbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uIDogbW91bnQgc2VsdXJ1aCBmaWxlc3lzdGVtIGRhcmkgL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICAgICAgbW91bnQgcGVyYW5na2F0ICAgICAgOiBtb3VudCBwZXJhbmdrYXQgZGkgdGVtcGF0IHlhbmcgZGlrZXRhaHVpXG4iCisjfiAiICAgICAgICAgICBtb3VudCBkaXJla3RvcmkgICAgICA6IG1vdW50IHBlcmFuZ2thdCB5YW5nIGRpa2V0YWh1aSBkaXNpbmlcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpcjogcGVyaW50YWggbW91bnQgYmlhc2FcbiIKKyN+ICJDYXRhdGFuOiBiZXJpa3V0IGFkYWxhaCBwZXJpbnRhaCBtb3VudCB5YW5nIHRpZGFrIGJlbmFyIC0gYmVuYXIgbWVtb3VudHNcbiIKKyN+ICJzZWJ1YWggZmlsZXN5c3RlbSAoZGFyaSB0aXBlIHlhbmcgZGliZXJpa2FuKSB5YW5nIGRpdGVtdWthbiBkYXJpIHBlcmFuZ2thdC5cbiIKKyN+ICJTZXNlb3JhbmcganVnYSBkYXBhdCBtZSBtb3VudCBkaXJla3RvcmkgeWFuZyBzdWRhaCBkaSBtb3VudCBrZSB0ZW1wYXQgbGFpbjpcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiYXRhdSBtZW1pbmRhaGthbiBzZWJ1YWggc3VidHJlZTpcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiYXRhdSBkYXBhdCBtZW5ndWJhaCB0aXBlIGRhcmkgbW91bnQgeWFuZyBiZXJpc2kgZGFyaSBkaXJla3RvcmkgZGlyOlxuIgorI34gIiAgICAgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiQXRhdSBkYXBhdCBtZW5ndWJhaCB0aXBlIGRhcmkgc2VsdXJ1aCBtb3VudCBkYWxhbSBzZWJ1YWggbW91bnQgc3VidHJlZVxuIgorI34gInlhbmcgYmVyaXNpIGRpcmVrdG9yaSBkaXI6XG4iCisjfiAiICAgICAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgICAgICBtb3VudCAtLW1ha2UtcnBpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJTZWJ1YWggcGVyYW5na2F0IGRhcGF0IGRpYmVyaWthbiBiZXJkYXNhcmthbiBuYW1hLCBrYXRha2FubGFoIC9kZXYvaGRhMSBhdGF1XG4iCisjfiAiL2Rldi9jZHJvbSwgYXRhdSBtZWxhbHVpIGxhYmVsLCBkZW5nYW4gbWVuZ2d1bmFrYW4gcGlsaWhhbiAtTCBsYWJlbCBhdGF1IG1lbGFsdWlcbiIKKyN+ICJ1dWlkLiBQaWxpaGFuIGxhaW46IFstbmZGcnN2d10gWy1vIHBpbGloYW5dIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGRldGFpbCwgbGloYXQgbWFuIDggbW91bnQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiBoYW55YSByb290IHlhbmcgZGFwYXQgbWVsYWt1a2FuIGl0dSAoVUlEIGVmZWt0aWYgYWRhbGFoICVkKSIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgIm1vdW50OiBoYW55YSByb290IHlhbmcgZGFwYXQgbWVsYWt1a2FuIGl0dSIKKworI34gbXNnaWQgIm5vdGhpbmcgd2FzIG1vdW50ZWQiCisjfiBtc2dzdHIgInRpZGFrIGFkYSB5YW5nIHRlbGFoIGRpbW91bnQiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBwYXJ0aXNpIHNlcGVydGkgaXR1IHRpZGFrIGRpdGVtdWthbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVuZW11a2FuICVzIGRhbGFtICVzIGF0YXUgJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBwZXJpbmdhdGFuOiB0aWRhayBhZGEgYmFyaXMgYmFydSBmaW5hbCBwYWRhIGFraGlyIGRhcmkgJXNcbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBiYXJpcyAlZCBkYWxhbSAlcyBidXJ1ayVzXG4iCisKKyN+IG1zZ2lkICI7IHJlc3Qgb2YgZmlsZSBpZ25vcmVkIgorI34gbXNnc3RyICI7IHNldGVydXNueWEgZGFyaSBmaWxlIGRpYWJhaWthbiIKKworI34gbXNnaWQgIm5vdCBlbm91Z2ggbWVtb3J5IgorI34gbXNnc3RyICJtZW1vcnkgdGlkYWsgY3VrdXAiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBkaWtvbXBpbGFzaSB0YW5wYSBkaXN1cHBvcnQgdW50dWsgLWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IHRpZGFrIGRhcGF0IG1lbnNldCBpZCBncnVwOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDogdGlkYWsgZGFwYXQgbWVuc2V0IGlkIHBlbmdndW5hOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHRpZGFrIGRhcGF0IG1lbGFrdWthbiBmb3JrOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBwZXJhbmdrYXQgYmxvY2sgdGlkYWsgdmFsaWQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogdGlkYWsgZGltb3VudCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHRpZGFrIGRhcGF0IG1lbnVsaXMgc3VwZXJibG9jayIKKworI34gbXNnaWQgIiIKKyN+ICJ1bW91bnQ6ICVzOiBkZXZpY2UgaXMgYnVzeS5cbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0IHVzZVxuIgorI34gIiAgICAgICAgIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ1bW91bnQ6ICVzOiBwZXJhbmdrYXQgc2lidWsuXG4iCisjfiAiICAgICAgICAoRGFsYW0gYmViZXJhcGEga2FzdXMgaW5mb3JtYXNpIGJlcmhhcmdhIHRlbnRhbmcgcHJvc2VzIHlhbmcgZGlndW5ha2FuXG4iCisjfiAiICAgICAgICAgb2xlaCBwZXJhbmdrYXQgZGFwYXQgZGl0ZW11a2FuIG9sZWggbHNvZig4KSBhdGF1IGZ1c2VyKDEpKSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogdGlkYWsgZGl0ZW11a2FuIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBoYXJ1cyBzdXBlcnVzZXIgdW50dWsgbWVsYWt1a2FuIHVtb3VudCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogcGVyYW5na2F0IGJsb2NrIHRpZGFrIGRpaWppbmthbiBkaSBmcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBjaGRpciB0byAlczogJW0iCisjfiBtc2dzdHIgIm5hbWVpOiB0aWRhayBkYXBhdCBjaGRpciBrZSAlcyAtICVzICglZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJuYW1laTogdGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBkaXJla3Rvcmkgc2FhdCBpbmkgLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJtb3VudDogdGl0aWsgbW91bnQgJXMgdGlkYWsgYWRhIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICJ0aWRhayBhZGEgdW1vdW50MiwgbWVuY29iYSB1bW91bnQuLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBzaWJ1ayAtIGRpIG1vdW50IGxhZ2kgc2VjYXJhIGhhbnlhLWJhY2FcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogdGlkYWsgZGFwYXQgbWVsYWt1a2FuIG1vdW50ICVzIHNlY2FyYSBoYW55YS1iYWNhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIHN1ZGFoIHRpZGFrIGRpbW91bnRcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IHRpZGFrIGRhcGF0IG1lbmNhcmkgZGFmdGFyIGRhcmkgZmlsZXN5c3RlbXMgdW50dWsgZGkgdW5tb3VudCIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCB0aXRpay4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAicGVyYW5na2F0ICVzIHN1ZGFoIGRpYXNvc2lhc2lrYW4gZGVuZ2FuICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCB1bW91bnQgXCJcIlxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb25mdXNlZCB3aGVuIGFuYWx5emluZyBtdGFiIgorI34gbXNnc3RyICJ1bW91bnQ6IGJpbmd1bmcga2V0aWthIG1lbmdhbmFsaXNhIG10YWIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgdW5tb3VudCAlcyAtLSAlcyBpcyBtb3VudGVkIG92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiCisjfiBtc2dzdHIgInVtb3VudDogdGlkYWsgZGFwYXQgdW1vdW50ICVzIC0tICVzIHRlbGFoIGRpcGFzYW5nIGRpIHRpdGlrIHlhbmcgc2FtYS4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmNhcmkgJXMgZGFsYW0gbXRhYlxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIHRpZGFrIGRpIG1vdW50IChtZW51cnV0IGNhdGF0YW4gZGkgbXRhYikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGl0IHNlZW1zICVzIGlzIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMiCisjfiBtc2dzdHIgInVtb3VudDoga2VsaWhhdGFubnlhICVzIHRlbGFoIGRpIG1vdW50IGJlYmVyYXBhIGthbGkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyB0aWRhayBhZGEgZGFsYW0gZnN0YWIgKGRhbiBhbmRhIGJ1a2FuIHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbW91bnQgdGlkYWsgY29jb2sgZGVuZ2FuIGNhdGF0YW4gZGkgZnN0YWIiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgJXMgY2FuIHVubW91bnQgJXMgZnJvbSAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBoYW55YSAlcyB5YW5nIGRhcGF0IHVubW91bnQgJXMgZGFyaSAlcyIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnQ6IGhhbnlhIHJvb3QgeWFuZyBkYXBhdCBtZWxha3VrYW4gaXR1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBuaWxhaSBkZWZhdWx0IHRocmVzaG9sZCBkYW4gJWxkIG5pbGFpIGRlZmF1bHQgdGltZW91dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJGaWxlICVzLCBVbnR1ayBuaWxhaSB0aHJlc2hvbGQgJWx1LCBNYWtzaW1hbCBjaGFyYWN0ZXIgZGFsYW0gZmlmbyBhZGFsYWggJWQsXG4iCisjfiAiZGFuIG1ha3NpbXVtIGRhcmkga2VjZXBhdGFuIHRyYW5zZmVyIGRhbGFtIGNoYXJhY3RlcnMvZGV0aWsgYWRhbGFoICVmXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJGaWxlICVzLCBVbnR1ayBuaWxhaSB0aHJlc2hvbGQgJWx1IGRhbiBuaWxhaSB0aW1yb3V0ICVsdSwgTWFrc2ltYWwgY2hhcmFjdGVycyBkYWxhbSBmaWZvIGFkYWxhaCAlZCxcbiIKKyN+ICJkYW4gbWFrc2ltdW0gZGFyaSBrZWNlcGF0YW4gdHJhbnNmZXIgZGFsYW0gY2hhcmFjdGVycy9kZXRpayBhZGFsYWggJWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgaXNzdWUgQ1lHRVRNT04gb24gJXMiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdpc3VrYW4gQ1lHRVRNT04gZGkgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aHJlc2hvbGQgZm9yICVzIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJvbGVoIG5pbGFpIHRocmVzaG9sZCB1bnR1ayAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1wZXJvbGVoIG5pbGFpIHRpbWVvdXQgdW50dWsgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjLCAlZiBzZW5kIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYgaW50L3NlYzsgJWYgcmVjLCAlZiBzZW5kIChjaGFyL3NlYylcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBpbnRzLCAlbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYgaW50L3NlYzsgJWYgcmVjIChjaGFyL3NlYylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJOaWxhaSBpbnRlcnZhbCB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmlsYWkgaW50ZXJ2YWwgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIk5pbGFpIHNldCB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk5pbGFpIHNldCB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIk5pbGFpIGRlZmF1bHQgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmlsYWkgZGVmYXVsdCB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJOaWxhaSBzZXQgd2FrdHUgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk5pbGFpIHNldCB3YWt0dSB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiTmlsYWkgZGFmYXVsdCB3YWt0dSB0aWRhayB2YWxpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk5pbGFpIGRhZmF1bHQgd2FrdHUgdGlkYWsgdmFsaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnNldCAlcyBrZSBuaWxhaSB0aHJlc2hvbGQgJWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuc2V0ICVzIGtlIHdha3R1IHRocmVzaG9sZCAlZDogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBuaWxhaSB0aHJlc2hvbGQgc2FhdCBpbmkgZGFuICVsZCBuaWxhaSB0aW1lb3V0IHNhYXQgaW5pXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgbmlsYWkgZGVmYXVsdCB0aHJlc2hvbGQgZGFuICVsZCBuaWxhaSBkZWZhdWx0IHRpbWVvdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgZG9uJ3QgbW9kaWZ5IHRoZSBsZW5ndGggb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICBwdW5jaCBob2xlcyBpbiB0aGUgZmlsZVxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBwZXNhbiBiYW50dWFuIGluaVxuIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGphbmdhbiBtb2RpZmlrYXNpIHBhbmphbmcgZGFyaSBiZXJrYXNcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZnNldCBkYXJpIGFsb2thc2ksIGRhbGFtIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgcGFuamFuZyBkYXJpIGFsb2thc2ksIGRhbGFtIGJ5dGVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIldha3R1IHRlcmxld2F0a2FuIHNlamFrIHJlZmVyZW5zaSB3YWt0dSB0ZWxhaCBsZXdhdCAlLjZmIGRldGlrLlxuIgorI34gIk1lbnVuZGEgbGViaWggamF1aCB1bnR1ayBtZW5jYXBhaSB3YWt0dSBiYXJ1LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIHRlcm1pbmFsX25hbWUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXNldCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAgWyAtaW5pdGlhbGl6ZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jdXJzb3IgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVwZWF0IFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtbGluZXdyYXAgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgIFsgLWRlZmF1bHQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWludmVyc2VzY3JlZW4gW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJvbGQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGluayBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmV2ZXJzZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC11bmRlcmxpbmUgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiICBbIC1zdG9yZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAgWyAtY2xlYXIgW2FsbHxyZXN0XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC10YWJzIFsgdGFiMSB0YWIyIHRhYjMgLi4uIF0gXSAgICAgICh0YWJuID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC1jbHJ0YWJzIFsgdGFiMSB0YWIyIHRhYjMgLi4uIF0gXSAgICh0YWJuID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZWd0YWJzIFsxLTE2MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGFuayBbMC02MHxmb3JjZXxwb2tlXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgWyAtZHVtcCAgIFsxLU5SX0NPTlNPTEVTXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgWyAtYXBwZW5kIFsxLU5SX0NPTlNPTEVTXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorI34gbXNnc3RyICIgIFsgLWZpbGUgZHVtcGZpbGVuYW1lIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1wb3dlcmRvd24gWzAtNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGVuZ3RoIFswLTIwMDBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiICBbIC1iZnJlcSBmcmVxbnVtYmVyIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIkVycm9yIG1lbnVsaXMgc2NyZWVuZHVtcFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgL2Rldi90dHkxIGF0YXUgL2Rldi92Yy8xIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgImJhcmlzIHRlcmxhbHUgcGFuamFuZyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAid2FpdHBpZCBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJQYXJ0aXNpICVkIHN1ZGFoIGRpZGVmaW5pc2lrYW4uIEhhcHVzIGluaSBzZWJlbHVtIG1lbmFtYmFoa2FubnlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIlBhcnRpc2kgJWQgc3VkYWggZGlkZWZpbmlzaWthbi4gSGFwdXMgaW5pIHNlYmVsdW0gbWVuYW1iYWhrYW5ueWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlcmluZ2F0YW46IEJMS0dFVFNJWkUgaW9jdGwgZ2FnYWwgZGkgJXMuIE1lbmdndW5ha2FuIG5pbGFpIGdlb21ldHJpIGN5bGluZGVyIGRhcmkgJWQuXG4iCisjfiAiTmlsYWkgaW5pIG11bmdraW4gYWthbiBkaXBvdG9uZyB1bnR1ayBwZXJhbmdrYXQgeWFuZyBiZXJ1a3VyYW4gPiAzMy44IEdCLlxuIgorCisjfiBtc2dpZCAic2V0IGJsb2Nrc2l6ZSIKKyN+IG1zZ3N0ciAic2V0IGJsb2Nrc2l6ZSIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAic2F0dSBiYWQgYmxvY2tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gdHlwZSBoZXggb3IgdXVpZCIKKyN+IG1zZ3N0ciAiIyB0YWJlbCBwYXJ0aXNpIGRhcmkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICJnYWdhbCBtZW1iYWNhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiZ2FnYWwgc2VlayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImdhZ2FsIHNlZWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVudWxpczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICJUaWRhayBhZGEgcGFydGlzaSB5YW5nIGRpZGVmaW5pc2lrYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIGRldmljZVxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlbmdndW5hYW46XG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbWJlcmlrYW4gaW5mb1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYWZ0YXIgc2VsdXJ1aCB5YW5nIGRpZ3VuYWthblxuIgorI34gIiAlMSRzIC1kIHwgLS1kZXRhY2ggPGxvb3BkZXY+IFs8bG9vcGRldj4gLi4uXSBtZW5naGFwdXNcbiIKKyN+ICIgJTEkcyAtZiB8IC0tZmluZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVuY2FyaSB5YW5nIHRpZGFrIGRpZ3VuYWthblxuIgorI34gIiAlMSVzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPHBlcmFuZ2thdCBsb29wPiAgICB1YmFoIHVrdXJhbiAlMSRzIC1qIHwgLS1hc3NvY2lhdGVkIDxiZXJrYXM+IFstbyA8bnVtPl0gICBkYWZ0YXIgc2VsdXJ1aCBhc29zaWFzaSBkZW5nYW4gPGJlcmthcz5cbiIKKyN+ICIgJTEkcyBbIHBpbGloYW4gXSB7LWZ8LS1maW5kfGxvb3BkZXZ9IDxiZXJrYXM+IGtvbmZpZ3VyYXNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogYXJndW1lbnQgdGlkYWsgZGlrZXRhaHVpOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIlx0Tk9URTogZWx2dHVuZSBoYW55YSBiZWtlcmphIGRlbmdhbiBrZXJuZWxzIDIuNFxuIgorCisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgImhpbGFuZyBwZXJhbmdrYXQgYmxvaywgZ3VuYWthbiAtaCB1bnR1ayBiYW50dWFuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImVsdnR1bmUgaGFueWEgYmVyZ3VuYSB1bnR1ayBrZXJuYWwgbGFtYTtcbiIKKyN+ICJ1bnR1ayAyLjYgbGViaWggYmFpayBndW5ha2FuIElPIHNjaGVkdWxlciBzeXNmcyB0dW5lYmxlcy4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWRpdGlvbiBudW1iZXIgYXJndW1lbnQgZmFpbGVkIgorI34gbXNnc3RyICJha3RpZmthbiBhbGFybSBydGMiCisKKyN+IG1zZ2lkICJmc3luYyBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIGdhZ2FsIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZW5nZ3VuYWFuOlxuIgorI34gIlRhbXBpbGthbiB2ZXJzaSBkYXJpIGFwbGlrYXNpOlxuIgorI34gIiAgICAgICAgICAgICAlcyAtdlxuIgorI34gIlRhbXBpbGthbiB0YWJlbCBwYXJ0aXNpOlxuIgorI34gIiAgICAgICAgICAgICAlcyAtUCB7cnxzfHR9IFtwaWxpaGFuXSBwZXJhbmdrYXRcbiIKKyN+ICJQZW5nZ3VuYWFuIGludGVyYWt0aXZlOlxuIgorI34gIiAgICAgICAgICAgICAlcyBbcGlsaWhhbl0gcGVyYW5na2F0XG4iCisjfiAiXG4iCisjfiAiUGlsaWhhbjpcbiIKKyN+ICItYTogR3VuYWthbiBwYW5haCBkYXJpcGFkYSBwZW5vbmpvbGFuO1xuIgorI34gIi16OiBNdWxhaSBkYXJpIHNlYnVhaCB0YWJlbCBwYXJ0aXNpIGtvc29uZywgZGFyaSBwYWRhIG1lbWJhY2EgZGFyaSB0YWJlbCBwYXJ0aXNpIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM7IG1lbWFrc2EgaWRlIGtlcm5lbCBtZW5nZW5haSBqdW1sYWggY3lsaW5kZXJzLCBqdW1sYWggaGVhZHMsIFxuIgorI34gIiAgICAgICAgICAgICAgICBkYW4ganVtbGFoIGRhcmkgc2VjdG9ycy90cmFjay5cbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJNZW51bGlzIGRpc2tsYWJlbCBkaSAlcy5cbiIKKworI34gbXNnaWQgIkxhc3QgJXMgb3IgK3NpemUgb3IgK3NpemVNIG9yICtzaXplSyIKKyN+IG1zZ3N0ciAiVGVyYWtoaXIgJXMgYXRhdSArc2l6ZSBhdGF1ICtzaXplTSBhdGF1ICtzaXplSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiTWVtYmFjYSBkaXNrbGFiZWwgZGFyaSAlcyBkaSBzZWt0b3IgJWQuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIlBlcmludGFoIEJTRCBkaXNrbGFiZWwgKG0gdW50dWsgYmFudHVhbik6ICIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJkcml2ZWRhdGE6ICIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICAgIGF3YWwgICAgICAgIGFraGlyICAgIHVrdXJhbiAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIkhhcnVzIDw9IHNla3Rvci90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gKGEtJWMpOiAiCisjfiBtc2dzdHIgIlBhcnRpc2kgKGEtJWMpOiAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB0b28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuXG4iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHRlcmxhbHUgYmFueWFrIHBhcnRpc2kgKCVkLCBtYWtzaW11bSBhZGFsYWggJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTaW5rcm9uaXNhc2kgZGlzay5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICUxJHMgW29wdGlvbnNdIC1sIDxkaXNrPiBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAlMSRzIC1zIDxwYXJ0aXRpb24+ICAgICAgZ2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtYiA8c2l6ZT4gICAgICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gIiAtY1s9PG1vZGU+XSAgICAgICAgICAgY29tcGF0aWJsZSBtb2RlOiAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKKyN+ICIgLWggICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC11Wz08dW5pdD5dICAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBwcmludCBwcm9ncmFtIHZlcnNpb25cbiIKKyN+ICIgLUMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKKyN+ICIgLUggPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorI34gIiAtUyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOlxuIgorI34gIiBmZGlzayBbcGlsaWhhbl0gPGRpc2s+ICAgIHViYWggdGFiZWwgcGFydGlzaVxuIgorI34gIiBmZGlzayBbcGlsaWhhbl0gLWwgPGRpc2s+IHRhbXBpbGthbiB0YWJlbCBwYXJ0aXNpXG4iCisjfiAiIGZkaXNrIC1zIDxwYXJ0aXNpPiAgICAgICAgYmVyaSB1a3VyYW4gcGFydGlzaSBkYWxhbSBibG9rXG4iCisjfiAiXG4iCisjfiAiUGlsaWhhbjpcbiIKKyN+ICIgLWIgPGJlc2FyPiAgICAgICAgICAgICAgICB1a3VyYW4gc2VrdG9yICg1MTIsIDEwMjQsIDIwNDggYXRhdSA0MDk2KVxuIgorI34gIiAtYyAgICAgICAgICAgICAgICAgICAgICAgIG5vbi1ha3RpZmthbiBtb2RlIERPUy1rb21wYXRpYmVsXG4iCisjfiAiIC1oICAgICAgICAgICAgICAgICAgICAgICAgdGFtcGlsa2FuIGJhbnR1YW5cbiIKKyN+ICIgLXUgPGJlc2FyPiAgICAgICAgICAgICAgICBiZXJpa2FuIHVrdXJhbiBkYWxhbSBzZWt0b3IgZGFyaXBhZGEgc2lsaW5kZXJcbiIKKyN+ICIgLXYgICAgICAgICAgICAgICAgICAgICAgICB0YW1waWxrYW4gdmVyc2lcbiIKKyN+ICIgLUMgPGp1bWxhaD4gICAgICAgICAgICAgICBzcGVzaWZpa2FzaWthbiBqdW1sYWggZGFyaSBzaWxpbmRlclxuIgorI34gIiAtSCA8anVtbGFoPiAgICAgICAgICAgICAgIHNwZXNpZmlrYXNpa2FuIGp1bWxhaCBkYXJpIGhlYWRcbiIKKyN+ICIgLVMgPGp1bWxhaD4gICAgICAgICAgICAgICBzcGVzaWZpa2FzaWthbiBqdW1sYWggZGFyaSBzZWt0b3IgcGVyIHRyYWNrXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmNhcmkgZGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbnVsaXMgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiRmF0YWwgZXJyb3JcbiIKKworI34gbXNnaWQgIkNvbW1hbmQgYWN0aW9uIgorI34gbXNnc3RyICJBa3NpIHBlcmludGFoIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICJBbmRhIGhhcnVzIG1lbnNldCIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJoZWFkcyIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgZGFuICIKKworI34gbXNnaWQgIlVuc3VwcG9ydGVkIHN1ZmZpeDogJyVzJy5cbiIKKyN+IG1zZ3N0ciAiQWtoaXJhbiB0aWRhayBkaWR1a3VuZzogJyVzJy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdXBwb3J0ZWQ6IDEwXk46IEtCIChLaWxvQnl0ZSksIE1CIChNZWdhQnl0ZSksIEdCIChHaWdhQnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAyXk46IEsgIChLaWJpQnl0ZSksIE0gIChNZWJpQnl0ZSksIEcgIChHaWJpQnl0ZSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIllhbmcgZGlkdWt1bmc6IDEwXk46IEtCIChLaWxvQnl0ZSksIE1CIChNZWdhQnl0ZSksIEdCIChHaWdhQnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIk1lbmdndW5ha2FuIG5pbGFpIGRlZmF1bHQgJXVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGxkIGJ5dGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCB0b3RhbCAlbGx1IHNla3RvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVudWxpcyBkaXNrIGRyaXZlIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkVycm9yIGNsb3NpbmcgZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRXJyb3IgZGFsYW0gbWVudXR1cCBmaWxlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBzZXR0aW5nIHNla3RvciBvZmZzZXQgdW50dWsgRE9TIGtvbXBhdGliaWxpdGFzXG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICJUZXJkZXRla3NpIHNlYnVhaCBPU0YvMSBkaXNrbGFiZWwgZGkgJXMsIG1lbWFzdWtpIG1vZGUgZGlza2xhYmVsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIEl0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG9cbiIKKyN+ICIgICAgICAgICBzd2l0Y2ggb2ZmIHRoZSBtb2RlICh3aXRoIGNvbW1hbmQgJ2MnKS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQRVJJTkdBVEFOOiBNT0RFIGtvbXBhdGliZWwgRE9TIHRlbGFoIGRpdGluZ2dhbGthbi4gSW5pIHNhbmdhdCBkaWFuanVya2FuXG4iCisjfiAiICAgICAgICAgICAgdW50dWsgbWVub25ha3RpZmthbiBtb2RlIHRlcnNlYnV0IChwZXJpbnRhaCAnYycpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IGN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiBVc2UgY29tbWFuZCAndScgdG9cbiIKKyN+ICIgICAgICAgICBjaGFuZ2UgdW5pdHMgdG8gc2VjdG9ycy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBFUklOR0FUQU46IHBlbmFtcGlsYW4gc2lsaW5kZXIgc2ViYWdhaSBzYXR1YW4gc3VkYWggZGl0aW5nZ2Fsa2FuLlxuIgorI34gIiAgICAgICAgICAgIEd1bmFrYW4gcGVyaW50YWggJ3UnIHVudHVrIG1lbmd1YmFoIHNhdHVhbiBrZSBzZWt0b3IuXG4iCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAiSWRlbnRpZmlrYXNpIGRpc2sgYmFydSAoc2VrYXJhbmcgMHglMDh4KTogIgorCisjfiBtc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZVxuIgorI34gbXNnc3RyICJUaWRhayBhZGEgc2VrdG9yIHlhbmcga29zb25nXG4iCisKKyN+IG1zZ2lkICJMYXN0ICUxJHMsICslMiRzIG9yICtzaXple0ssTSxHfSIKKyN+IG1zZ3N0ciAiVGVyYWtoaXIgJTEkcywgKyUyJHMgYXRhdSArc2l6ZXtLLE0sR30iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogYXdhbCBkYXJpIGRhdGEgdGlkYWsgYmFpayBkYWxhbSBwYXJ0aXNpICVkXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJNZW5hbWJhaGthbiBzZWJ1YWggcGFydGlzaSBwcmltYXJ5XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUEVSSU5HQVRBTjogSmlrYSBhbmRhIG1lbWJ1YXQgYXRhdSBtZW1vZGlmaWthc2kgcGFydGlzaSBET1MgNi54XG4iCisjfiAiLCBtb2hvbiBsaWhhdCBtYW51YWwgZGFyaSBmZGlzayB1bnR1ayBpbmZvcm1hc2lcbiIKKyN+ICJsZWJpaCBsYW5qdXQuXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgQm9vdCAgICAgIEF3YWwgICAgICAgICAgQWtoaXIgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgY3lsaW5kZXJzXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAiTnIgQWYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0VGVyZGFwYXQgc2VidWFoIE1hYyBsYWJlbCB5YW5nIHZhbGlkIGRpIGRpc2sgaW5pLlxuIgorI34gIlx0U2F5YW5nbnlhIGZkaXNrKDEpIHRpZGFrIGRhcGF0IG1lbmFuZ2FuaSBkaXNrIGluaSBzYWF0XG4iCisjfiAiXHRHdW5ha2FuIHBkaXNrIGF0YXUgcGFydGVkIHVudHVrIG1lbW9kaWZpa2FzaSB0YWJlbCBwYXJ0aXNpLlxuIgorI34gIlx0QmViZXJhcGEgc2FyYW46XG4iCisjfiAiXHQxLiBmZGlzayBha2FuIG1lbmdoYW5jdXJrYW4gaXNpIHBhZGEgd2FrdHUgbWVudWxpcyBrZSBkaXNrLlxuIgorI34gIlx0Mi4gUGFzdGlrYW4gZGlzayBpbmkgQlVLQU4gYmFnaWFuIHZpdGFsIGRhcmkgdm9sdW1lIGdyb3VwLiAoSmlrYSBcbiIKKyN+ICJcdCAgIGFuZGEgbXVuZ2tpbiBha2FuIG1lbmdoYXB1cyBkaXNrIGxhaW4ganVnYSwgamlrYSB0aWRhayBkaSBtaXJyb3IuKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgTWFjIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdE1hYWYgLSBmZGlzayBpbmkgdGlkYWsgbWVuYW5nYW5pIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdEppa2EgYW5kYSBpbmdpbiBtZW5hbWJhaGthbiBwYXJ0aXNpIHRpcGUgRE9TLCBidWF0IHNlYnVhaFxuIgorI34gIlx0dGFiZWwgcGFydGlzaSBET1MgYmFydSB5YW5nIGtvc29uZyB0ZXJsZWJpaCBkYWh1bHUuIChHdW5ha2FuIG8uKVxuIgorI34gIlx0UEVSSU5HQVRBTjogSW5pIG11bmdraW4gYWthbiBtZW5naGFuY3Vya2FuIHNlbHVydWggaXNpIGRpc2suXG4iCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICJNZW51cnV0IE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jLiBsYWJlbCBoYXJ1cyBiZXJpc2kgdGlkYWsgbGViaWggZGFyaSA1MTIgYnl0ZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VrdG9yLCAlZCBzaWxpbmRlclxuIgorI34gIlNhdHVhbiA9ICVzIGRhcmkgJWQgKiAlZCBieXRlc1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBwYXJ0aXNpIC0tLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIEF3YWwgICAgICAgIEFraGlyIFNla3RvciAgIElkICBTeXN0ZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIE1hc3VrYW4gRGlyZWt0b3JpIC0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJTJ6ZDogJS0xMHMgc2VjdG9yJTV1IHNpemUlOHVcbiIKKyN+IG1zZ3N0ciAiJTJkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkXG4iCisjfiBtc2dzdHIgIlRpZGFrIGFkYSBwYXJ0aXNpIHlhbmcgZGlkZWZpbmlzaWthblxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNlbHVydWggZGlzayBwYXJ0aXNpIGhhbnlhIHNlYmVzYXIgJWQgZGlza2Jsb2NrLFxuIgorI34gInRldGFwaSBiZXNhciBkaXNrIGFkYWxhaCAlZC5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGFydGlzaSAlZCB0aWRhayBiZXJhd2FsIGRpIGJhdGFzIGN5bGluZGVyLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGFydGlzaSAlZCB0aWRhayBiZXJha2hpciBkaSBiYXRhcyBjeWxpbmRlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICJQYXJ0aXNpICVkIHN1ZGFoIGRpZGVmaW5pc2lrYW4uIEhhcHVzIGluaSBzZWJlbHVtIG1lbmFtYmFoa2FubnlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBnYWdhbCBkaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuICBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LlxuIgorI34gIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZXJpbmdhdGFuOiBCTEtHRVRTSVpFIGlvY3RsIGdhZ2FsIGRpICVzLiBNZW5nZ3VuYWthbiBuaWxhaSBnZW9tZXRyaSBjeWxpbmRlciBkYXJpICVkLlxuIgorI34gIk5pbGFpIGluaSBtdW5na2luIGFrYW4gZGlwb3RvbmcgdW50dWsgcGVyYW5na2F0IHlhbmcgYmVydWt1cmFuID4gMzMuOCBHQi5cbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx0QVdBTD0lZFx0UEFOSkFORz0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiTWVuY29iYSB1bnR1ayBtZW55aW1wYW4gcGFyYW1ldGVyIGRhcmkgcGFydGlzaSAlZC5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJZQVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICIlcyB0aWRhayB0ZXJkYXBhdCBkaXNrbGFiZWwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWQgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJTYXR1YW4gPSAlcyBkYXJpICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBUYW5kYSAgIEF3YWwgICAgICAgIEFraGlyICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIHBlcmFuZ2thdFx0IGFrdGl2YXNpIHBhcnRpc2kgbiwgbWVub25ha3RpZmthbiB5YW5nIGxhaW5ueWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTZWxlc2FpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ3JlYXRlZCBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIlBhcnRpc2kgeWFuZyB0ZXJwaWxpaCAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSA8YXBsaWthc2k+IFthcmcgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVudWxpczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogVGlkYWsgZGFwYXQgbWVsYWt1a2FuIGZvcms6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4vY3JlYXRlICVzOiAlbVxuIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgImdhZ2FsIHVudHVrIG1lbmRhcGF0a2FuIHN0YXRpc3RpazogJXMiCisKKyN+IG1zZ2lkICJCYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICJBbmdrYSBidXJ1azogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudCBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAia3V0dS9idWcgZGFsYW0gcGVtYW5nZ2lsYW4geHN0cm5kdXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29ubmVjdCAlcyIKKyN+IG1zZ3N0ciAidGVyaHVidW5nOiAlcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKKyN+ICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKKyN+ICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCisjfiAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorI34gIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorI34gIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gInBlbmdndW5hYW46ICVzIFtwaWxpaGFuXVxuIgorI34gIiAgICAtZCB8IC0tZGV2aWNlIDxwZXJhbmdrYXQ+IHBpbGloIHBlcmFuZ2thdCBydGMgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiICAgIC1sIHwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIG1lbmdndW5ha2FuIGRhZXJhaCB3YWt0dSBsb2thbFxuIgorI34gIiAgICAtbSB8IC0tbW9kZSAgICAgICAgICAgICAgIHN0YW5kYnl8bWVtLi4uIG1vZGUgdGlkdXJcbiIKKyN+ICIgICAgLXMgfCAtLXNlY29uZHMgPGRldGlrPiAgICBkZXRpayBrZSB0aWR1clxuIgorI34gIiAgICAtdCB8IC0tdGltZSA8dGltZV90PiAgICAgIHdha3R1IHVudHVrIGJhbmd1blxuIgorI34gIiAgICAtdSB8IC0tdXRjICAgICAgICAgICAgICAgIFJUQyBtZW5nZ3VuYWthbiBVVENcbiIKKyN+ICIgICAgLXYgfCAtLXZlcmJvc2UgICAgICAgICAgICBwZXNhbiB2ZXJib3NlXG4iCisjfiAiICAgIC1WIHwgLS12ZXJzaW9uICAgICAgICAgICAgdGFtcGlsa2FuIHZlcnNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5cyB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCisjfiAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKKyN+ICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCisjfiAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorI34gIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorI34gIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKKyN+ICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKKyN+ICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCisjfiAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCisjfiAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKKyN+ICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCisjfiAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorI34gIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICB0YW1waWxrYW4gcGVzYW4gYmFudHVhbiBpbmlcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHRhbXBpbGthbiBwaWxpaGFuIGFwYSBzYWphIHlhbmcgc2VkYW5nIGFrdGlmXG4iCisjfiAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBtZW5vbmFrdGlma2FuIHJhbmRvbWl6YXRpb24gZGFyaSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKKyN+ICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIGJ1YXQgcG9pbnRlciBmdW5nc2kgbWVudW5qdWsga2UgZGVza3JpcHNpXG4iCisjfiAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBha3RpZmthbiBNTUFQX1BBR0VfWkVST1xuIgorI34gIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgdWJhaCBjYXJhIHBlbmdhbG9rYXNpYW4gbWVtb3JpIHZpcnR1YWxcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIGFrdGlma2FuIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICBha3RpZmthbiBBRERSX0xJTUlUXzMyQklUXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICBha3RpZmthbiBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgYWt0aWZrYW4gV0hPTEVfU0VDT0RTXG4iCisjfiAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBha3RpZmthbiBTVElDS1lfVElNRU9VVFNcbiIKKyN+ICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGJhdGFzaSBwZW5nZ3VuYWFuIGFkZHJlc3Mgc3BhY2Uga2UgbWFrc2ltYWwgMyBHQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgYWJhaWthbiAoaGFueWEgdW50dWsga29tcGFiaWxpdGFzIGtlIHZlcnNpIHNlYmVsdW1ueWEgc2FqYSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworI34gbXNnaWQgInN0cnRvbCBlcnJvcjogbnVtYmVyIG9mIGJsb2NrcyBub3Qgc3BlY2lmaWVkIgorI34gbXNnc3RyICJzdHJ0b2wgZXJyb3I6IGp1bWxhaCBkYXJpIGJsb2NrIHRpZGFrIGRpc3Blc2lmaWthc2lrYW4iCisKKyN+IG1zZ2lkICJvbmUgYmFkIHBhZ2VcbiIKKyN+IG1zZ3N0ciAic2VidWFoIHBhZ2UgYnVydWtcbiIKKworI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICAgICAgIGRpc2VsdXJ1aCBkaXNrLiAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZG9lcyBub3Qgc3VwcG9ydCBzd2Fwc3BhY2UgdmVyc2lvbiAlZC4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBtZW5kdWt1bmcgdmVyc2kgc3dhcHNhcGNlICVkLlxuIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICJQZXJpbmdhdGFuISEgR1BUIFRpZGFrIGRpZHVrdW5nIChHVUlEIFRhYmVsIFBhcnRpc2kpIFRlcmRldGVrc2kuIEd1bmFrYW4gR05VIFBhcnRlZC4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIEFJWCBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IExpbnV4IGNhbm5vdCBoYW5kbGUgdGhlc2VcbiIKKyN+ICJcdGRpc2tzIGF0IHRoZSBtb21lbnQuICBOZXZlcnRoZWxlc3Mgc29tZVxuIgorI34gIlx0YWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gIlx0My4gQmVmb3JlIGRlbGV0aW5nIHRoaXMgcGh5c2ljYWwgdm9sdW1lIGJlIHN1cmVcbiIKKyN+ICJcdCAgIHRvIHJlbW92ZSB0aGUgZGlzayBsb2dpY2FsbHkgZnJvbSB5b3VyIEFJWFxuIgorI34gIlx0ICAgbWFjaGluZS4gIChPdGhlcndpc2UgeW91IGJlY29tZSBhbiBBSVhwZXJ0KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdFRlcmRhcGF0IHNlYnVhaCBBSVggbGFiZWwgeWFuZyB2YWxpZCBkaSBkaXNrIGluaS5cbiIKKyN+ICJcdFNheWFuZ255YSBMaW51eCB0aWRhayBkYXBhdCBtZW5hbmdhbmkgZGlzayBpbmkgc2FhdFxuIgorI34gIlx0aW5pLiBCZWJlcmFwYSBzYXJhbjpcbiIKKyN+ICJcdDEuIGZkaXNrIGFrYW4gbWVuZ2hhbmN1cmthbiBpc2kgZGFyaSBBSVggbGFiZWwgcGFkYSB3YWt0dSBtZW51bGlzIGtlIGRpc2suXG4iCisjfiAiXHQyLiBQYXN0aWthbiBkaXNrIGluaSBCVUtBTiBiYWdpYW4gdml0YWwgZGFyaSB2b2x1bWUgZ3JvdXAuIChKaWthIFxuIgorI34gIlx0ICAgYW5kYSBtdW5na2luIGFrYW4gbWVuZ2hhcHVzIGRpc2sgbGFpbiBqdWdhLCBqaWthIHRpZGFrIGRpIG1pcnJvci4pXG4iCisjfiAiXHQzLiBTZWJlbHVtIG1lbmdoYXB1cyBwaHlzaWNhbCB2b2x1bWUgaW5pIHBhc3Rpa2FuIHVudHVrIG1lbmdoYXB1cyBkaXNrXG4iCisjfiAiXHQgICBzZWNhcmEgbG9naWNhbCBkYXJpIG1lc2luIEFJWCBhbmRhLiAoSmlrYSB0aWRhayBhbmRhIGFrYW4gbWVuamFkaSBcbiIKKyN+ICJcdCAgIHNlb3JhbmcgQUlYcGVydCkuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgQUlYIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdE1hYWYgLSBmZGlzayBpbmkgdGlkYWsgbWVuYW5nYW5pIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdEppa2EgYW5kYSBpbmdpbiBtZW5hbWJhaGthbiBwYXJ0aXNpIHRpcGUgRE9TLCBidWF0IHNlYnVhaFxuIgorI34gIlx0dGFiZWwgcGFydGlzaSBET1MgYmFydSB5YW5nIGtvc29uZyB0ZXJsZWJpaCBkYWh1bHUuIChHdW5ha2FuIG8uKVxuIgorI34gIlx0UEVSSU5HQVRBTjogSW5pIG11bmdraW4gYWthbiBtZW5naGFuY3Vya2FuIHNlbHVydWggaXNpIGRpc2suXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgdW50dWsgcGVyYW5na2F0OiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBhcnRpc2kgJWQgbWVtaWxpa2kgdGlwZSBrb3NvbmdcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBhcnRpc2kgJWkgdGlkYWsgYmVyYWtoaXIgZGkgYmF0YXMgY3lsaW5kZXIuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQRVJJTkdBVEFOOiBHUFQgKEdVSUQgVGFiZWwgUGFydGlzaSkgdGVyZGV0ZWtzaSBkaSAnJXMnISBhcGxpa2FzaSBmZGlzayB0aWRhayBtZW5kdWt1bmcgR1BULiBHdW5ha2FuIEdOVSBQYXJ0ZWQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIk5vdGU6IHVrdXJhbiBzZWN0b3IgYWRhbGFoICVkIChidWthbiAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBzZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQRVJJTkdBVEFOOiBHUFQgKEdVSUQgVGFiZWwgUGFydGlzaSkgdGVyZGV0ZWtzaSBkaSAnJXMnISBBcGxpa2FzaSBzZmRpc2sgdGlkYWsgbWVuZHVrdW5nIEdQVC4gR3VuYWthbiBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiR3VuYWthbiBwaWxpaGFuIC0tZm9yY2UgdW50dWsgbWVtYWtzYSBwZW1lcmlrc2FhbiBpbmkuXG4iCisKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuamFsYW5rYW4gJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICIlczogbHNlZWsgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIlRJT0NTQ1RUWSBnYWdhbDogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogJXMgWytmb3JtYXRdIFtoYXJpIGJ1bGFuIHRhaHVuXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiU3QuIFRpYidzIERheSIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgInBpbGloYW4gdGlkYWsgdmFsaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ3VuY2kga2UgbWVtb3J5LCBrZWx1YXIuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYXJndW1lbnQgdG8gLXAgb3IgLS1wYXNzLWZkIG11c3QgYmUgYSBudW1iZXIiCisjfiBtc2dzdHIgIm1vdW50OiBhcmd1bWVudCB1bnR1ayAtcCBhdGF1IC0tcGFzcy1mZCBoYXJ1cyBiZXJ1cGEgc2VidWFoIG5vbW9yIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN1dGluZyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmphbGFua2FuICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgIm1vdW50OiB0aWRhayBkYXBhdCBtZW5zZXQgaWQgcGVuZ2d1bmE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnNmcmVlemUoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHdpcGVmcyg4KS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIm1heCBzZWcgc2l6ZSAoa2J5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJtYXggc2VkIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKworI34gbXNnaWQgIm1pbiBzZWcgc2l6ZSAoYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgIm1pbiBzZWcgc2l6ZSAoYnl0ZXMpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJzaG1jdGwgZ2FnYWwiCisKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJtc2djdGwgZ2FnYWwiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1lLCAtLWVuY3J5cHRpb24gPHR5cGU+ICAgICAgIGVuYWJsZSBlbmNyeXB0aW9uIHdpdGggc3BlY2lmaWVkIDxuYW1lL251bT5cbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorI34gIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wYXNzLWZkIDxudW0+ICAgICAgICAgICByZWFkIHBhc3NwaHJhc2UgZnJvbSBmaWxlIGRlc2NyaXB0b3IgPG51bT5cbiIKKyN+ICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldHVwIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQaWxpaGFuOlxuIgorI34gIiAtZSB8IC0tZW5jcnlwdGlvbiA8dGlwZT4gbWVuZ2FrdGlma2FuIGRhdGEgZW5rcmlwc2kgZGVuZ2FuIHNwZXNpZmlrYXNpIDxuYW1hL25vbW9yPlxuIgorI34gIiAtaCB8IC0taGVscCAgICAgICAgICAgICAgYmFudHVhbiBpbmlcbiIKKyN+ICIgLW8gfCAtLW9mZnNldCA8bm9tb3I+ICAgIGF3YWwgZGFyaSBvZmZzZXQgPG5vbW9yPiBrZWRhbGFtIGJlcmthc1xuIgorI34gIiAgICAgIC0tc2l6ZWxpbWl0IDxub21vcj4gbG9vcCBkaWJhdGFzaSBoYW55YSA8bm9tb3I+IGJ5dGVzIGRhcmkgYmVya2FzXG4iCisjfiAiIC1wIHwgLS1wYXNzLWZkIDxub21vcj4gICBiYWNhIGthdGEta3VuY2kgZGFyaSBiZXJrYXMgZGVza3JpcHNpIDxub21vcj5cbiIKKyN+ICIgLXIgfCAtLXJlYWQtb25seSAgICAgICAgIHBhc2FuZyBiYWNhLXNhamEgcGVyYW5na2F0IGxvb3BcbiIKKyN+ICIgICAgICAtLXNob3cgICAgICAgICAgICAgIHRhbXBpbGthbiBuYW1hIHBlcmFuZ2thdCAoZGVuZ2FuIC1mIDxiZXJrYXM+KVxuIgorI34gIiAtdiB8IC0tdmVyYm9zZSAgICAgICAgICAgbW9kZSB2ZXJib3NlXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lcmV3aW5kIHBlcmFuZ2thdCBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmd1bmNpIGtlIG1lbW9yeSwga2VsdWFyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgKHByb2JhYmx5IHVua25vd24gZW5jcnlwdGlvbiB0eXBlKSIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVyZXdpbmQgcGVyYW5na2F0IHN3YXAiCisKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICJyZW5pY2UgZGFyaSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICJnYWdhbCBtZW5qYWxhbmthbiAlcyIKKworI34gbXNnaWQgImV4ZWN2cCBmYWlsZWQiCisjfiBtc2dzdHIgImdhZ2FsIGVrc2VrdXNpIgorCisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJnYWdhbCBla3Nla3VzaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1tLCAtLW1vdW50ICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gIiAtdSwgLS11dHMgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+ICIgLWksIC0taXBjICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiAiIC1uLCAtLW5ldCAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkphbGFua2FuIGFwbGlrYXNpIGRlbmdhbiBiZWJlcmFwYSBydWFuZyBuYW1hIHRpZGFrIHRlcmJhZ2kgZGFyaSBpbmR1a255YVxuIgorI34gIlxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgaW5mb3JtYXNpIHBlbmdndW5hYW4gKHBlc2FuIGluaSlcbiIKKyN+ICIgIC1tLCAtLW1vdW50ICAgICAgIHVuc2hhcmUgcnVhbmcgbmFtYSBwZW1hc2FuZ2FuXG4iCisjfiAiICAtdSwgLS11dHMgICAgICAgICB1bnNoYXJlIHJ1YW5nIG5hbWEgVVRTIChob3N0bmFtZSBkbGwpXG4iCisjfiAiICAtaSwgLS1pcGMgICAgICAgICB1bnNoYXJlIHJ1YW5nIG5hbWEgU2lzdGVtIFYgSVBDXG4iCisjfiAiICAtbiwgLS1uZXQgICAgICAgICB1bnNoYXJlIHJ1YW5nIG5hbWEgamFyaW5nYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlczogdmVyc2kgJXNcbiIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJwZW5nZ3VuYSIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAidGVybGFsdSBiYW55YWsgaW92J3MgKHViYWgga29kZSBkYWxhbSB3YWxsL3R0eW1zZy5jKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgImNvbDogd3JpdGUgZXJyb3IuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gcGVyYW5na2F0IC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgY29sdW1uKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBpcGNtaygxKS5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgZmlsZSAlcyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBzdGF0aXN0aWsgcGVyYW5na2F0ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvdWxkbid0IG9wZW4gJXMiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbWJ1a2EgJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtcGVyb2xlaCBzdGF0aXN0aWsgcGVyYW5na2F0ICVzIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGZpbGUgJyVzJyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEaXNrIGluaSBtZW1pbGlraSBET1MgZGFuIEJTRCBtYWdpYy5cbiIKKyN+ICJCZXJpa2FuIHBlcmludGFoICdiJyB1bnR1ayBiZXJ1YmFoIGtlIG1vZGUgQlNELlxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYSAlc1xuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJHYWdhbCBtZW1idWthICVzIHVudHVrIG1lbWJhY2EsIGtlbHVhci4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IHN0YXQgZ2FnYWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gL2Rldi9wb3J0IgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIC9kZXYvcG9ydDogJXMiCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTWVtYnVrYSB1bnR1ayAlcyBnYWdhbCIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzb3VyY2UgYnVmZmVyIgorI34gbXNnc3RyICJnYWdhbCBtZW5nYWxva2FzaWthbiBvdXRidWZmZXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5IgorI34gbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAiZ2FnYWwgdW50dWsgbWVuZGFwYXRrYW4gc3RhdGlzdGlrOiAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIGJlcmthcyBwZXdha3R1ICVzIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBkaWJ1a2EgIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gXCIlc1wiIGZvciByZWFkIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthIFwiJXNcIiB1bnR1ayBkaWJhY2EiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBcIiVzXCIiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIFwiJXNcIiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gInBlbmdndW5hYW46ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICB0YW1waWxrYW4gcGVzYW4gaW5pXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBrZWRhbGFtIGRpcmVrdG9yaVxuIgorI34gIiAtdiAgICAgICAgIGxlYmloIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHVudHVrIGRpdGVzdFxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJsb2Nrc2l6ZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuZGFwYXRrYW4gcGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgIiVzOiBlcnJvcjogVGlkYWsgYWthbiBtZW5jb2JhIHVudHVrIG1lbWJ1YXQgcGVyYW5na2F0IHN3YXAgZGkgJyVzJ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcycgKCVzKVxuIgorI34gbXNnc3RyICJ0aWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBwZXJhbmdrYXQgcmF3ICclcycgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSA8bmFtYSBiZXJrYXM+XG4iCisjfiAiXG4iCisjfiAiUGlsaWhhbjpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHN3YXBsYWJlbCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgd2lwZWZzKDgpLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICJQYXJ0aXNpICVpIHRpZGFrIGJlcmF3YWwgZGkgYmF0YXMgY3lsaW5kZXI6XG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgMSlcbiIKKyN+IG1zZ3N0ciAic2VoYXJ1c255YSAoJWQsICVkLCAxKVxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJzZWhhcnVzbnlhICglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiVGhpcyBrZXJuZWwgZmluZHMgdGhlIHNlY3RvciBzaXplIGl0c2VsZiAtIC1iIG9wdGlvbiBpZ25vcmVkXG4iCisjfiBtc2dzdHIgIktlcm5lbCBpbmkgbWVuY2FyaSB1a3VyYW4gc2VrdG9ybnlhIHNlbmRpcmkgLSBwaWxpaGFuIC1iIGRpYWJhaWthblxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAia2VoYWJpc2FuIG1lbW9yeT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGRpYWtoaXIgZGFyaSBtYXN1a2FuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiUEVSSU5HQVRBTjogdGlkYWsgZGFwYXQgbWVtYnVrYSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBiYWQgZm9ybWF0IG9uIGxpbmUgJWQgb2YgJXMiCisjfiBtc2dzdHIgIlBFUklOR0FUQU46IGZvcm1hdCBidXJ1ayBkaSBiYXJpcyAlZCBkYXJpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldBUk5JTkc6IFlvdXIgL2V0Yy9mc3RhYiBkb2VzIG5vdCBjb250YWluIHRoZSBmc2NrIHBhc3Nub1xuIgorI34gIlx0ZmllbGQuICBJIHdpbGwga2x1ZGdlIGFyb3VuZCB0aGluZ3MgZm9yIHlvdSwgYnV0IHlvdVxuIgorI34gIlx0c2hvdWxkIGZpeCB5b3VyIC9ldGMvZnN0YWIgZmlsZSBhcyBzb29uIGFzIHlvdSBjYW4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQRVJJTkdBVEFOOiAvZXRjL2ZzdGFiIGFuZGEgdGlkYSBiZXJpc2kgYmFnaWFuIG5vbW9yIHRhaGFwXG4iCisjfiAiXHRmc2NrLiBzYXlhIGFrYW4gbWVtYmVudHVsa2FuIGluaSB1bnR1ayBhbmRhLCB0ZXRhcGkgYW5kYVxuIgorI34gIlx0c2VoYXJ1c255YSBtZW1iZXR1bGthbiBiZXJrYXMgL2V0Yy9mc3RhYiBhbmRhIHNlY2VwYXRueWEuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVwb2NoIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlIHNwZWNpZmllZCBtdWx0aXBsZSBmdW5jdGlvbnMuXG4iCisjfiAiWW91IGNhbiBvbmx5IHBlcmZvcm0gb25lIGZ1bmN0aW9uIGF0IGEgdGltZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbmRhIHRlbGFoIG1lbnNwZXNpZmlrYXNpIGJlYmVyYXBhIGZ1bmdzaS5cbiIKKyN+ICJBbmRhIGhhbnlhIGRhcGF0IG1lbGFrdWthbiBzYXR1IGZ1bmdzaSBkYWxhbSBzYXR1IHdha3R1LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLXV0YyBhbmQgLS1sb2NhbHRpbWUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IFBpbGloYW4gLS11dGMgZGFuIC0tbG9jYWx0aW1lIGFkYWxhaCBtdXR1YWxseSBla3NrbHVzaXZlLiBBbmRhIG1lbnNwZXNpZmlrYXNpa2FuIGtlZHVhbnlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IFBpbGloYW4gLS1hZGp1c3QgZGFuIC0tbm9hZGpmaWxlIGFkYWxhaCBtdXR1YWxseSBla3NrbHVzaXZlLiBBbmRhIG1lbnNwZXNpZmlrYXNpa2FuIGtlZHVhbnlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBQaWxpaGFuIC0tYWRqZmlsZSBkYW4gLS1ub2FkamZpbGUgYWRhbGFoIG11dHVhbGx5IGVrc2tsdXNpdmUuIEFuZGEgbWVuc3Blc2lmaWthc2lrYW4ga2VkdWFueWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAibW91bnQgdGlkYWsgZGFwYXQgbWVuc2V0IGdydXAgaWQ6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpIgorI34gbXNnc3RyICIlczogZmlsZSAlcyBzZWRhbmcgc2lidWsgKCVzIGFkYSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IG5hbWVpKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB3aXBlZnMoOCkuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm5pbGFpIG9mc2V0IHlhbmcgZGlzcGVzaWZpa2FzaWthbiB0aWRhayB2YWxpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJnYWdhbCB1bnR1ayBtZW5kYXBhdGthbiBzdGF0aXN0aWs6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyBkYXRhIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZhbGxvY2F0ZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVudHVrIGluZm9ybWFzaSBsZWJpaCBsYW5qdXQgbGloYXQgZmFsbG9jYXRlKDEpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnN0cmltKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBuYW1laSgxKS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICJrZWNlcGF0YW4gdGlkYWsgdmFsaWQ6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJuaWxhaSBvZnNldCAnJXMnIHRpZGFrIHZhbGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibmlsYWkgb2ZzZXQgJyVzJyB0aWRhayB2YWxpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleHRlbmRlZCBhbmQgcGFyc2FibGUgZm9ybWF0cyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorI34gbXNnc3RyICItLW9mZnNldCBkYW4gLS1hbGwgYWRhbGFoICdtdXR1YWxseSBleGNsdXNpdmUnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAiLS1vZmZzZXQgZGFuIC0tYWxsIGFkYWxhaCAnbXV0dWFsbHkgZXhjbHVzaXZlJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50cG9pbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IGlwY21rKDEpLlxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBQSUQiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJ1a2EgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgImdhZ2FsIG1lbmRhcGF0a2FuIHBpZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZV90IHZhbHVlIgorI34gbXNnc3RyICJnYWdhbCBtZW5kYXBhdGthbiBwaWQiCisKKyN+IG1zZ2lkICInJXMnIGlzIHVuc3VwcG9ydGVkIHByb2dyYW0gbmFtZSAobXVzdCBiZSAnc3dhcG9uJyBvciAnc3dhcG9mZicpLiIKKyN+IG1zZ3N0ciAiJyVzJyBhZGFsYWggbmFtYSBhcGxpa2FzaSB5YW5nIHRpZGFrIGRpZHVrdW5nIChoYXJ1cyBiZXJ1cGEgJ3N3YXBvbicgYXRhdSAnc3dhcG9mZicpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGxzYmxrKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCB3aXBlZnMoOCkuXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiZGF0YSBibG9rIHRlcmxhbHUgYmVzYXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgInBlbWJ1YXRhbiBzZW1hcGhvciBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgbGVuZ3RoIHZhbHVlIgorI34gbXNnc3RyICJoZXhkdW1wOiBhbmdrYSBwYW5qYW5nIHRpZGFrIGJhaWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIHNraXAgdmFsdWUiCisjfiBtc2dzdHIgImhleGR1bXA6IGFuZ2thIHNraXAgdGlkYWsgYmFpay5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBQZW5nZ3VuYWFuOiAlcyBbLW51bWJlcl0gWy1wIHN0cmluZ10gWy1jZWZucnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJWQ6IHBhcnNlIGVycm9yIC0tIGxpbmUgaWdub3JlZC5cbiIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuZ2FtYmlsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHBhcnNlICVzIgorI34gbXNnc3RyICIlczogZ2FnYWwgdW50dWsgbWVtYnVrYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICIlczogZ2FnYWwgZm9yazogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgIiVzIGdhZ2FsLlxuIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICBoYXB1cyBzZWJ1YWggcGFydGlzaSBCU0QiCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICB0YW1iYWhrYW4gc2VidWFoIHBhcnRpc2kgQlNEIGJhcnUiCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgIHViYWggaWQgcGFydGlzaSBmaWxlc3lzdGVtIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgdWJhaCBzYXR1YW4gKGN5bGluZGVycy9zZWt0b3IpIgorCisjfiBtc2dpZCAiICAgcCAgIHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgIHAgICBjZXRhayB0YWJlbCBwYXJ0aXNpIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiTWVtYnVhdCBzZWJ1YWggRE9TIGRpc2tsYWJlbCBiYXJ1IGRlbmdhbiBpZGVudGlmaWthc2kgZGlzayAweCUwOHguXG4iCisjfiAiUGVydWJhaGFuIGFrYW4gdGV0YXAgYmVyYWRhIGRpIG1lbW9yaSwgc2FtcGFpIGFuZGEgbWVtdXR1c2thbiB1bnR1ayBtZW51bGlzbnlhLlxuIgorI34gIlNlc3VkYWggaXR1LCB0ZW50dSwgaXNpIHNlYmVsdW1ueWEgdGlkYWsgZGFwYXQgZGlrZW1iYWxpa2FuIGxhZ2kuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIlBlcmFuZ2thdCB0aWRhayBiZXJpc2kgdGFiZWwgcGFydGlzaSB5YW5nIHZhbGlkIGJhaWsgdW50dWsgRE9TLCBTdW4sIFNHSSBhdGF1cHVuIE9TRiBkaXNrbGFiZWxcbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIktlc2FsYWhhbiBpbnRlcm5hbFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRNYWFmLCB0aWRhayBhZGEgbWVudSBleHBlcnRzIHVudHVrIHRhYmVsIHBhcnRpc2kgU0dJLlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiQXBha2FoIGFuZGEgdGFodSwgQW5kYSBtZW1wZXJvbGVoIHNlYnVhaCBwYXJ0aXNpIHlhbmcgb3ZlcmxhcCBkaSBkaXNrP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJNZW1idWFoIHNlYnVhaCBkaXNrbGFiZWwgU0dJIHlhbmcgYmFydS4gUGVydWJhaGFuIGhhbnlhIGFrYW4gYWRhIGRpIG1lbW9yaSxcbiIKKyN+ICJzYW1wYWkgYW5kYSBtZW11dHVza2FuIHVudHVrIG1lbnVsaXNueWEuIFNlc3VkYWggaXR1LCB0ZW50dSwgaXNpIHNlYmVsdW1ueWFcbiIKKyN+ICJha2FuIGhpbGFuZyBkYW4gdGlkYWsgZGFwYXQgZGlrZW1iYWxpa2FuLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJrZWhhYmlzYW4gbWVtb3J5IC0gbWVueWVyYWhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50KDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBpcGNtaygxKS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjogbWVtb3J5IHNlZGlraXQsIGxvZ2luIG11bmdraW4gZ2FnYWxcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbGFrdWthbiBtYWxsb2MgdW50dWsgdHR5Y2xhc3MiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbGFrdWthbiBtYWxsb2MgdW50dWsgZ3JwbGlzdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJMb2dpbiBkaSAlcyBkYXJpICVzIGRpdG9sYWsuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IFBBTSBHYWdhbCwgbWVtYmF0YWxrYW46ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstcyBzaGVsbF0gW3VzZXJuYW1lXVxuIgorI34gIiAgIG9yOiAlMSRzICgtLWxpc3Qtc2hlbGxzIHwgLS1oZWxwIHwgLS12ZXJzaW9uKVxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjogJXMgWyAtcyBzaGVsbCBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIHVzZXJuYW1lIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICIlczogaGFueWEgZGFwYXQgbWVuZ3ViYWggbWFzdWthbiBsb2NhbDsgZ3VuYWthbiB5cCVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IFRpZGFrIGRhcGF0IG1lbnNldCBkZWZhdWx0IGNvbnRleHQgdW50dWsgL2V0Yy9wYXNzd2QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJzZW1jdGwgZ2FnYWwiCisKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IGd1bmFrYW4gcGlsaWhhbiAtbCB1bnR1ayBtZWxpaGF0IGRhZnRhci5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dpbiBbLWZwXSBbdXNlcm5hbWVdXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IGxvZ2luIFstZnBdIFtwZW5nZ3VuYV1cbiIKKworI34gbXNnaWQgIklsbGVnYWwgdXNlcm5hbWUiCisjfiBtc2dzdHIgIlVzZXJuYW1lIChwZW5nZ3VuYSkgdGlkYWsgbGVnYWwiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJMT0dJTiAlcyBESVRPTEFLIERBUkkgJXMgREkgVFRZICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIkxPR0lOICVzIERJVE9MQUsgREkgVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkxvZ2luIHRpZGFrIGJlbmFyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2hhbmdlIHRlcm1pbmFsIG93bmVyIGZhaWxlZCIKKyN+IG1zZ3N0ciAicGVtYnVhdGFuIHNlbWFwaG9yIGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWx1cmUgZm9ya2luZyIKKyN+IG1zZ3N0ciAibG9naW46IGdhZ2FsIGZvcmtpbmc6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTkFNQSB0ZXJsYWx1IHBhbmphbmciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAibmFtYSBsb2dpbiB0ZXJsYWx1IHBhbmphbmcuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgIm5hbWEgbG9naW4gdGlkYWsgYm9sZWggZGlhd2FsaSBkZW5nYW4gJy0nLlxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiVEVSTEFMVSBCQU5ZQUsgbGluZWZlZWRzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IGJhcmUgbGluZWZlZWRzLiIKKyN+IG1zZ3N0ciAidGVybGFsdSBiYW55YWsgbGluZWZlZWRzIGJhcmUuXG4iCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIEZST00gJXMsICVzIgorI34gbXNnc3RyICJMT0dJTiBHQUdBTCBEQVJJICVzLCAlcyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgT04gJXMsICVzIgorI34gbXNnc3RyICJMT0dJTiBHQUdBTCBESSAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgTE9HSU4gR0FHQUwgREFSSSAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBPTiAlcywgJXMiCisjfiBtc2dzdHIgIiVkIExPR0lOIEdBR0FMIERJICVzLCAlcyIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogZmlsZSBncm91cCBzZWRhbmcgc2lidWsuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgdW5sb2NrICVzOiAlcyAoeW91ciBjaGFuZ2VzIGFyZSBzdGlsbCBpbiAlcylcbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgJXM6ICVzIChwZXJ1YmFoYW4geWFuZyBhbmRhIGxha3VrYW4gbWFzaWggYmVyYWRhIGRhbGFtICVzKVxuIgorCisjfiBtc2dpZCAiY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY2FsbG9jIGdhZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6ICVzOiBhcHBlYXJzIHRvIGNvbnRhaW4gJyVzJyBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgImVycm9yOiAlczogc2VwZXJ0aW55YSBiZXJpc2kgJyVzJyB0YWJlbCBwYXJ0aXNpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIG1hZ2ljIHN0cmluZyBmb3VuZCBhdCBvZmZzZXQgMHglanggLS0gaWdub3JlZCIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVuZW11a2FuIHNlYnVhaCBzdHJpbmcgbWFnaWMgZGkgb2ZzZXQgMHglanggLSBkaWFiYWlrYW4uIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGdhZ2FsIG1lbnVsaXMiCisKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlczogL2RldiBkaXJla3RvcmkgdGlkYWsgYWRhLiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IHRpZGFrIGRhcGF0IG1lbnNldCBrYXBhc2l0YXMgZGkgcGVyYW5na2F0ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIG9mZnNldCAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIGluZm8gZGkgcGVyYW5na2F0ICVzOiAlc1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgb3BlbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IHRpZGFrIGRhcGF0IG1lbWJ1a2EgcGVyYW5na2F0ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGFkYSBpamluIHVudHVrIG1lbGloYXQgZGkgL2Rldi9sb29wJXM8Tj4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IFRpZGFrIGRhcGF0IG1lbmVtdWthbiBwZXJhbmdrYXQgbG9vcC4gTXVuZ2tpbiBrZXJuZWwgaW5pIHRpZGFrIG1lbmdldGFodWlcbiIKKyN+ICIgICAgbWVuZ2VuYWkgcGVyYW5na2F0IGxvb3A/IChKaWthIGRlbWlraWFuLCByZWNvbXBpbGUgYXRhdSBgbW9kcHJvYmUgbG9vcCcuKSIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hpbGUgcmVhZGluZyBwYXNzcGhyYXNlIgorI34gbXNnc3RyICJLZWhhYmlzYW4gbWVtb3JpIGtldGlrYSBtZW1iYWNhIGthdGEgc2FuZGkiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJwZXJpbmdhdGFuOiAlcyBzdWRhaCBkaWFzb3NpYXNpa2FuIGRlbmdhbiAlc1xuIgorCisjfiBtc2dpZCAid2FybmluZzogJXM6IGlzIHdyaXRlLXByb3RlY3RlZCwgdXNpbmcgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJwZXJpbmdhdGFuOiAlczogbWVtaWxpa2kgcHJvdGVrc2kgdW50dWsgZGl0dWxpcywgbWVuZ2d1bmFrYW4gYmFjYS1zYWphLlxuIgorCisjfiBtc2dpZCAiaW9jdGwgTE9PUF9TRVRfRkQgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJpb2N0bCBMT09QX1NFVF9GRCBnYWdhbDogJXNcbiIKKworI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWxsdSwgJWxsdSk6IGJlcmhhc2lsXG4iCisKKyN+IG1zZ2lkICJkZWxfbG9vcCglcyk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAiZGVsX2xvb3AoJXMpOiBiZXJoYXNpbFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZGVsZXRlIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogdGlkYWsgZGFwYXQgbWVuZ2hhcHVzIHBlcmFuZ2thdCAlczogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJNb3VudCBpbmkgdGVsYWggZGlrb21waWxlIHRhbnBhIGxheWFuYW4gbG9vcC4gVG9sb25nIGRpIHJla29tcGlsZS5cbiIKKworI34gbXNnaWQgInN0b2xlbiBsb29wPSVzLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgInRlcmN1cmkgbG9vcD0lcyAuLi5tZW5jb2JhIGxhZ2lcbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiTGF5YW5hbiBsb29wIHRpZGFrIGFkYSBwYWRhIHdha3R1IGRpa29tcGlsZS4gVG9sb25nIGRpIHJla29tcGlsZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHBhcnR4KDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBuYW1laSgxKS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyBuaWxhaV18Wy1TIG5pbGFpXSkgKFstdCBuaWxhaV18Wy1UIG5pbGFpXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1zICAtLXNoYXJlZCAgICAgR2V0IGEgc2hhcmVkIGxvY2tcbiIKKyN+ICIgLXggIC0tZXhjbHVzaXZlICBHZXQgYW4gZXhjbHVzaXZlIGxvY2tcbiIKKyN+ICIgLXUgIC0tdW5sb2NrICAgICBSZW1vdmUgYSBsb2NrXG4iCisjfiAiIC1uICAtLW5vbmJsb2NrICAgRmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCisjfiAiIC13ICAtLXRpbWVvdXQgICAgV2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCisjfiAiIC1vICAtLWNsb3NlICAgICAgQ2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKKyN+ICIgLWMgIC0tY29tbWFuZCAgICBSdW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKKyN+ICIgLWggIC0taGVscCAgICAgICBEaXNwbGF5IHRoaXMgdGV4dFxuIgorI34gIiAtViAgLS12ZXJzaW9uICAgIERpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjogJTEkcyBbLXN4dW5dWy13ICNdIGZkI1xuIgorI34gIiAgICAgICAgICAgICUxJHMgWy1zeG9uXVstdyAjXSBiZXJrYXMgWy1jXSBwZXJpbnRhaC4uLlxuIgorI34gIiAgICAgICAgICAgICUxJHMgWy1zeG9uXVstdyAjXSBkaXJla3RvcmkgWy1jXSBwZXJpbnRhaC4uLlxuIgorI34gIiAgLXMgIC0tc2hhcmVkICAgICBEYXBhdGthbiBzZWJ1YWgga3VuY2kgdGVyYmFnaVxuIgorI34gIiAgLXggIC0tZXhjbHVzaXZlICBEYXBhdGthbiBzZWJ1YWgga3VuY2kgZWtzbHVzaXZlXG4iCisjfiAiICAtdSAgLS11bmxvY2sgICAgIEhhcHVzIHNlYnVhaCBrdW5jaVxuIgorI34gIiAgLW4gIC0tbm9uYmxvY2sgICBHYWdhbGthbiBkYXJpcGFkYSBtZW51bmdndVxuIgorI34gIiAgLXcgIC0tdGltZW91dCAgICBUdW5nZ3UgYmViZXJhcGEgc2FhdCBkZW5nYW4gbGFtYSB0ZXJiYXRhc1xuIgorI34gIiAgLW8gIC0tY2xvc2UgICAgICBUdXR1cCBiZXJrYXMgZGVza3JpcHNpIHNlYmVsdW0gbWVuamFsYW5rYW4gcGVyaW50YWhcbiIKKyN+ICIgIC1jICAtLWNvbW1hbmQgICAgSmFsYW5rYW4gc2VidWFoIGthdGEgcGVyaW50YWggdHVuZ2dhbCBtZWxhbHVpIHNoZWxsXG4iCisjfiAiICAtaCAgLS1oZWxwICAgICAgIFRhbXBpbGthbiB0ZWtzIGluaVxuIgorI34gIiAgLVYgIC0tdmVyc2lvbiAgICBUYW1waWxrYW4gdmVyc2lcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1idWthIGJlcmthcyBrdW5jaSVzOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBhbmdrYSBidXJ1azogJXNcbiIKKworI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGdhZ2FsIGZvcms6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtTSA8c2l6ZT4gICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKKyN+ICIgLVMgPG5zZW1zPiAgICBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG5zZW1zPiBlbGVtZW50c1xuIgorI34gIiAtUSAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCisjfiAiIC1wIDxtb2RlPiAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1NIDxiZXNhcj4gICAgYnVhdCBiYWdpYW4gbWVtb3JpIHRlcmJhZ2kgZGFsYW0gdWt1cmFuIDxiZXNhcj5cbiIKKyN+ICIgIC1TIDxuc2Vtcz4gICAgYnVhdCByYW5na2FpYW4gc2VtYXBob3IgZGVuZ2FuIDxuc2Vtcz4gZWxlbWVuXG4iCisjfiAiICAtUSAgICAgICAgICAgIGJ1YXQgYW50cmlhbiBwZXNhblxuIgorI34gIiAgLXAgPG1vZGU+ICAgICBpamluIHVudHVrIHN1bWJlciBkYXlhIChiYWt1IGFkYWxhaCAwNjQ0KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgaXBjbWsoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IGlwY21rKDEpLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2Fubm90IHJlbW92ZSBpZCAlcyAoJXMpXG4iCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmdoYXB1cyBpZCAlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbiB5YW5nIHN1ZGFoIGRpdGluZ2dhbDogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gInBlbmdndW5hYW46ICVzIFsgWy1xIG1zZ2lkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgImtlc2FsYWhhbiB0aWRhayBkaWtldGFodWkgZGFsYW0ga3VuY2kiCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGlkIgorI34gbXNnc3RyICJlcnJvciB0aWRhayBkaWtldGFodWkgZGFsYW0gaWQiCisKKyN+IG1zZ2lkICIlczogJXMgKCVzKVxuIgorI34gbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbIC1kaFY3OG5lbzEyIF0gWyAtcyA8c3BlZWQ+IF0gWyAtaSBbLV08aWZsYWc+IF0gPGxkaXNjPiA8ZGV2aWNlPlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVuZ2d1bmFhbjogJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPGtlY2VwYXRhbj4gXSA8bGRpc2M+IDxwZXJhbmdrYXQ+XG4iCisKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgImxkYXR0YWNoIGRhcmkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC1wLCAtLXBhcnNlIDxsaXN0PiAgcHJpbnQgb3V0IGEgcGFyc2FibGUgaW5zdGVhZCBvZiBhIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtcywgLS1zeXNyb290IDxkaXI+IHVzZSBkaXJlY3RvcnkgRElSIGFzIHN5c3RlbSByb290XG4iCisjfiAiIC14LCAtLWhleCAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiSW5mb3JtYXNpIHBlbWJhbnR1IGFyc2l0ZWt0dXIgQ1BVXG4iCisjfiAiXG4iCisjfiAiICAtaCwgLS1oZWxwICAgICBpbmZvcm1hc2kgcGVuZ2d1bmFhblxuIgorI34gIiAgLXAsIC0tcGFyc2UgICAgdGFtcGlsa2FuIGRhbGFtIGJlbnR1ayB5YW5nIGRhcGF0IGRpYW1iaWwgZGFyaXBhZGEgZm9ybWF0IHRlcmNldGFrLlxuIgorI34gIiAgLXMsIC0tc3lzcm9vdCAgIGd1bmFrYW4gZGlyZWt0b3JpIHNlYmFnYWkgc2lzdGVtIHJvb3QgYmFydS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBQZW5nZ3VuYWFuOiBcIiVzIFtwaWxpaGFuXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAoZGVmYXVsdHM6IFwiJXNcIiBkYW4gXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+IChkZWZhdWx0OiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIGtlIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgdGFtcGlsa2FuIGluZm8gaGFueWEgbWVuZ2VuYWkgc2FtcGxpbmcgc3RlcFxuIgorI34gIlx0IC12ICAgICAgICAgICAgdGFtcGlsa2FuIHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgdGFtcGlsa2FuIHNlbHVydWggc3ltYm9scywgbWVza2lwdW4gdGVyaGl0dW5nIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHRhbXBpbGthbiBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCisjfiAiXHQgLXMgICAgICAgICAgICB0YW1waWxrYW4gaW5kaXZpZHVhbCBjb3VudGVycyBkaWRhbGFtIGZ1bmdzaVxuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgc2VsdXJ1aCBjb3VudGVycyAoaGFueWEgcm9vdClcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorI34gIlx0IC1WICAgICAgICAgICAgdGFtcGlsa2FuIHZlcnNpIGRhbiBrZWx1YXJcbiIKKworI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJyZWFkcHJvZmlsZTogZXJyb3IgZGFsYW0gbWVudWxpcyAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJ0Y3dha2UoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IG5hbWVpKDEpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzZXRhcmNoKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dCBsaWhhdCBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiAlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAlc1xuIgorI34gIkNvYmEgYCVzIC0taGVscCcgdW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dC5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlbmdndW5hYW46ICVzIDxwZXJhbmdrYXQ+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbbnlhbGF8bWF0aV0gfCAtQyBbbnlhbGF8bWF0aV0gfCAtcSBbbnlhbGF8bWF0aV0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAgICAgIC1UIFtueWFsYXxtYXRpXSBdXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiBuaWxhaSB0aWRhayBiYWlrXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHVuc2hhcmUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVbnR1ayBpbmZvcm1hc2kgbGViaWggbGFuanV0IGxpaGF0IHVuc2hhcmUoMSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2xvc2luZyBmaWxlICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRXJyb3IgZGFsYW0gbWVudXR1cCBmaWxlXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJNYWFmIEFuZGEgbXVuZ2tpbiB0ZWxhaCBtZXJ1YmFoIFRhZyBkYXJpIHNlYnVhaCBwYXJ0aXNpIHlhbmcgdGlkYWsga29zb25nLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiUGVyaW5nYXRhbjogcGFydGlzaSAlcyAiCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJkYW4gJXMgb3ZlcmxhcFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzIFtvcHRpb25zXSBkZXZpY2UgWy4uLl1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgW3BpbGloYW5dIHBlcmFuZ2thdCAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEZXZpY2UgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGFcbiIKKyN+IG1zZ3N0ciAicGVyYW5na2F0OiBzZXN1YXR1IHNlcGVydGkgL2Rldi9oZGEgYXRhdSAvZGV2L3NkYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdHldIFstZF0gWy12XSBbLWZdIDxzcGVjaWFsPiAgZW5hYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgdXNhZ2Ugc3VtbWFyeVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdmVyc2lvblxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVuZ2d1bmFhbjpcbiIKKyN+ICIgJTEkcyAtYSBbLWVdIFstdl0gWy1mXSAgICAgICAgICAgICBtZW5nYWt0aWZrYW4gc2VsdXJ1aCBzd2FwIGRhcmkgL2V0Yy9mc3RhYlxuIgorI34gIiAlMSRzIFstcCBwcmlvcml0YXNdIFstdl0gWy1mXSA8c3Blc2lhbD4gbWVuZ2FrdGlma2FuIHN3YXAgeWFuZyBkaWJlcmlrYW5cbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW5hbXBpbGthbiByaW5na2FzYW4gcGVuZ3VuYWFuIHN3YXBcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgICBtZW5hbXBpbGthbiBiYW50dWFuXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVuYW1waWxrYW4gdmVyc2lcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2lhbD4gICAgICAgICAgICAgICBkaXNhYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZW5nZ3VuYWFuOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgbWVub25ha3RpZmthbiBzZWx1cnVoIHN3YXBzXG4iCisjfiAiICUxJHMgWy12XSA8c3Blc2lhbD4gICAgICAgICAgICAgICBtZW5vbmFrdGlma2FuIHN3YXAgeWFuZyBkaWJlcmlrYW5cbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbmFtcGlsa2FuIGJhbnR1YW5cbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgIG1lbmFtcGlsa2FuIHZlcnNpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSA8bmFtYSBiZXJrYXM+XG4iCisjfiAiXG4iCisjfiAiUGlsaWhhbjpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl1cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyBbcGlsaWhhbl0gPG5hbWEgYmVya2FzPlxuIgorI34gIlxuIgorI34gIlBpbGloYW46XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46ICVzIFtwaWxpaGFuXSBwZXJhbmdrYXQgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAlcyAtVlxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWtcbiIKKworI34gbXNnaWQgIiAgJXMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiBtc2dzdHIgIiAgJXMgLS1yZXBvcnQgW3BlcmFuZ2thdF1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBwZXJpbnRhaCBwZXJhbmdrYXRcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYSAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogJXMgWyAtbiBdIHBlcmFuZ2thdFxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIGdhZ2FsIgorCisjfiBtc2dpZCAiJXM6IG9wdGlvbiBwYXJzZSBlcnJvclxuIgorI34gbXNnc3RyICIlczogb3B0aW9uIHBhcnNlIGVycm9yXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViBuYW1hLXZvbHVtZV1cbiIKKyN+ICIgICAgICAgICAgICBbLUYgZnNuYW1lXSBwZXJhbmdrYXQgW2Jsb2NrLWNvdW50XVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrICVzIgorCisjfiBtc2dpZCAiY2Fubm90IGRldGVybWluZSBzZWN0b3Igc2l6ZSBmb3IgJXMiCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbmVudHVrYW4gdWt1cmFuIHNla3RvciBkYXJpICVzIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBsYWJlbF0gWy1VIFVVSURdIC9kZXYvbmFtZSBbYmxva11cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIktla3VyYW5nYW4gbWVtb3J5IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjpcbiIKKyN+ICIgICVzICIKKworI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIk1lbnUgdGFucGEgZGlyZWtzaS4gRGVmYXVsdCBrZSBhcmFoIGhvcmlzb250YWwuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFrc2kgcGVyaW50YWhcbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwYXJ0aXNpIHByaW1hcnkgKDEtNClcbiIKKworI34gbXNnaWQgIiAgICAtcyBbb3IgLS1zaG93LXNpemVdOiBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAtcyBbYXRhdSAtLXNob3ctc2l6ZV06IHRhbXBpbGthbiB1a3VyYW4gc2V0aWFwIHBhcnRpc2kiCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAgIC1kIFthdGF1IC0tZHVtcF06ICAgIGlkZW0sIHRldGFwaSBkYWxhbSBzZWJ1YWggZm9ybWF0IHlhbmcgc2VzdWFpIHVudHVrIGlucHV0IHNlbGFuanV0bnlhIgorCisjfiBtc2dpZCAiICAgIC1pIFtvciAtLWluY3JlbWVudF06IG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDAiCisjfiBtc2dzdHIgIiAgICAtaSBbYXRhdSAtLWluY3JlbWVudF06IG5vbW9yIGN5bGluZGVycyBldGMuIGRhcmkgMSBkYXJpIHBhZGEgZGFyaSAwIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgbWVuZXJpbWEvbWVsYXBvcmthbiBkYWxhbSBzYXR1YW4gZGFyaSBzZWt0b3IvYmxvY2svY3lsaW5kZXJzL01CIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbYXRhdSAtLURPU106ICAgICB1bnR1ayBET1Mta29tcGF0aWJpbGl0YXM6IG1lbWJ1YXQgc2VkaWtpdCBydWFuZyIKKworI34gbXNnaWQgIiAgICAtUiBbb3IgLS1yZS1yZWFkXTogICBtYWtlIGtlcm5lbCByZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICAgLVIgW2F0YXUgLS1yZS1yZWFkXSAgbWVtYnVhdCBrZXJuZWwgbWVtYmFjYSBrZW1iYWxpIHRhYmVsIHBhcnRpc2kiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIG1lbnlpbXBhbiBzZWN0b3JzIHlhbmcgYWthbiBkaXR1bGlzIGtlIGZpbGUiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgbWVuZ2VtYmFsaWthbiBzZWt0b3IgaXR1IGtlbWJhbGkiCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12IFthdGF1IC0tdmVyc2lvbl06IHRhbXBpbGthbiB2ZXJzaSBkYXJpIGFwbGlrYXNpIgorCisjfiBtc2dpZCAiICAgIC0/IFtvciAtLWhlbHBdOiAgICAgIHByaW50IHRoaXMgbWVzc2FnZSIKKyN+IG1zZ3N0ciAiICAgIC0/IFthdGF1IC0taGVscF06ICAgIHRhbXBpbGthbiBwZXNhbiBpbmkiCisKKyN+IG1zZ2lkICIgICAgLWcgW29yIC0tc2hvdy1nZW9tZXRyeV06IHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiICAgIC1nIFthdGF1IC0tc2hvdy1nZW9tZXRyeV06IHRhbXBpbGthbiBpZGUga2VybmVsIG1lbmdlbmFpIGdlb21ldHJpIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAgIC1MICBbYXRhdSAtLUxpbnV4XTogICAgamFuZ2FuIG1lbmdrb21wbGFpbiBtZW5nZW5haSBzZXN1YXR1IHlhbmcgdGlkYWsgYmVyaHVidW5nYW4gZGVuZ2FuIExpbnV4IgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiICAgIEFuZGEgZGFwYXQgbWVtYWtzYSBwZW5kZXRla3NpYW4gZ2VvbWV0cmkgZGVuZ2FuIG1lbmdndW5ha2FuOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFthdGF1IC0tZm9yY2VdOiAgICBsYWt1a2FuIHNlcGVydGkgeWFuZyBTQVlBIGthdGFrYW4sIG1lc2tpcHVuIGluaSBtZXJ1cGFrYW4gcGVyYnVhdGFuIHlhbmcgYm9kb2giCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gbWVtb3JpIHVudHVrIHRpcGUgc2lzdGVtIGJlcmthc1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRvaW5zXSBbZmlsZXN5cyAuLi5dXG4iCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW1idWthICVzOiAlc1xuIgorCisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgImZzY2sgZGFyaSAlc1xuIgorCisjfiBtc2dpZCAiJXM6IFVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZzY2tfcGF0aFxuIgorI34gbXNnc3RyICIlczogVGlkYWsgZGFwYXQgbWVuZ2Fsb2thc2lrYW4gbWVtb3JpIHVudHVrIGZzY2tfcGF0aFxuIgorCisjfiBtc2dpZCAiVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiQ29iYSBgZ2V0b3B0IC0taGVscCcgdW50dWsgaW5mb3JtYXNpIGxlYmloIGxhbmp1dC5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBnZXRvcHQgb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW3BpbGloYW5dIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKworI34gbXNnaWQgImdldG9wdCAoZW5oYW5jZWQpIDEuMS40XG4iCisjfiBtc2dzdHIgImdldG9wdCAoZGl0aW5na2F0a2FuKSAxLjEuNFxuIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoRGlwZXJraXJha2FuOiBgVVRDJyBhdGF1IGBMT0tBTCcgYXRhdSBrb3NvbmcuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0gbWVsaWhhdCBkYW4gbWVuc2V0IGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiUGVuZ2d1bmFhbjogaHdjbG9jayBbZnVuZ3NpXSBbcGlsaWhhbi4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5nc2k6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHRhbXBpbGthbiBiYW50dWFuIGluaVxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICBiYWNhIGhhcmR3YXJlIGNsb2NrIGRhbiB0YW1waWxrYW4gaGFzaWxueWFcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHJ0YyBrZSB3YWt0dSB5YW5nIHRlbGFoIGRpYmVyaWthbiBkZW5nYW4gLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB3YWt0dSBzeXN0ZW0gZGFyaSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgaGFyZHdhcmUgY2xvY2sga2Ugd2FrdHUgc3lzdGVtIHNhYXQgaW5pXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB3YWt0dSBzaXN0ZW0gYmVyZGFzYXJrYW4gem9uYSB3YWt0dSBzZWthcmFuZ1xuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHRhbXBpbGthbiBuaWxhaSBlcG9jaCBkYXJpIGtlcm5lbCBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgbmlsYWkgZXBvY2gga2VybmVsIGhhcmR3YXJlIGNsb2NrIGtlIG5pbGFpIHlhbmcgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGRpYmVyaWthbiBvbGVoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS12ZXJzaW9uICAgICAgdGFtcGlsa2FuIHZlcnNpIGRhcmkgaHdjbG9jayBrZSBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJQaWxpaGFuOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgaGFyZHdhcmUgY2xvY2sgZGlzaW1wYW4gZGFsYW0gY29vcmRpbmF0IHVuaXZlcnNhbCB0aW1lXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIGhhcmR3YXJlIGNsb2NrIGRpc2ltcGFuIGRhbGFtIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9amFsdXIgICAgbWVuZ2d1bmFrYW4gYmVya2FzIC9kZXYuLi4gc3Blc2lhbCBkYXJpcGFkYSBiYWt1XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFrc2VzIElTQSBidXMgc2VjYXJhIGxhbmdzdW5nIGRhcmkgcGFkYSAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBhYmFpa2FuIHJ0YydzIHRhaHVuIGthcmVuIGJpb3MgcnVzYWtcbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3Blc2lmaWthc2lrYW4gd2FrdHUgdW50dWsgbWVuc2V0IGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9dGFodW4gIHNwZXNpZmlrYXNpa2FuIHRhaHVuIGRpbWFuYSBhd2FsIGRhcmkgbmlsYWkgZGFyaVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBuaWxhaSBlcG9jaCBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBqYW5nYW4gbWVuZ2Frc2VzIGZpbGUgL2V0Yy9hZGp0aW1lLiBEaWJ1dHVoa2FuIHNhYXQgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIG1lbmdndW5ha2FuIHBpbGloYW4gLS11dGMgYXRhdSAtLWxvY2FsdGltZS5cbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3Blc2lmaWthc2lrYW4gcGF0aCBrZSBiZXJrYXMgYWRqdXN0IChkZWZhdWx0IGFkYWxhaFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGxha3VrYW4gYXBhcHVuIGtlY3VhbGkgdGFucGEgbWVtcGVyYmFydWkgcGVyYW5na2F0IHdha3R1XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGF0YXUgaGFsIGxhaW5ueWFcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgbW9kZSBwZW5lbHVzdXJhblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisjfiBtc2dzdHIgInRpZGFrIGRhcHQgbWVsYWt1a2FuIG1hbGxvYyBpbml0c3RyaW5nIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbXNVd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiUGVuZ2d1bmFhbjogJXMgWy04aGlMbVV3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBiYXJpcyBbdGVybXR5cGVdXG4iCisjfiAiYXRhdVx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLCAuLi4gW3Rlcm10eXBlXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbeSB8IG5dIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBtZXNnIFt5IHwgbl1cbiIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBCQUQgRVJST1IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIFtmaWxlXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IHJlYWQ6ICVzIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYmFjYSAlcy5cbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi5dXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogbG9vcCBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICJrZWhhYmlzYW4gbWVtb3J5PyIKKworI34gbXNnaWQgImNhbGw6ICVzIGZyb20gdG8gZmlsZXMuLi5cbiIKKyN+IG1zZ3N0ciAiY2FsbDogJXMgZGFyaSBrZSBmaWxlcy4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBzY3JpcHQgWy1hXSBbLWZdIFstcV0gWy10XSBbZmlsZV1cbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yIG1lbnVsaXMgZGkgJWQ6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3I6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBlcnJvciBtZW51bGlzOiAlc1xuIgorCisjfiBtc2dpZCAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zbm93IFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc29mdHNjcm9sbCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWZvcmVncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWZvcmVncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0IF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0IF1cbiIKKworI34gbXNnaWQgIiAgWyAtYmFja2dyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtYmFja2dyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyBzb2NrZXRwYXRoXSBbLVQgdGltZW91dF1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWy1kXSBbLXAgYmVya2FzIHBpZF0gWy1zIGphbHVyIHNva2V0XSBbLVQgd2FrdHUgaGFiaXNdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgWy1yfHRdIFstbiBudW1dIFstcyBzb2NrZXRwYXRoXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgWy1yfHRdIFstbiBqdW1sYWhdIFstcyBqYWx1ciBzb2tldF1cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAta1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWtcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWy1yXSBbLXRdXG4iCisKKyN+IG1zZ2lkICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWUuLi5cbiIKKyN+IG1zZ3N0ciAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1hLi4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogd3JpdGUgdXNlciBbdHR5XVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiB3cml0ZSBwZW5nZ3VuYSBbdHR5XVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogdGlkYWsgZGFwYXQgbWVtYnVrYSAlczogJXMiCisKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgInRpZGFrIGRpa2V0YWh1aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpb25pY2UgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgIGlvbmljZSBbIG9wdGlvbnMgXSAtcCA8cGlkPiBbPHBpZD4gLi4uXVxuIgorI34gIiAgaW9uaWNlIFsgb3B0aW9ucyBdIDxjb21tYW5kPiBbPGFyZz4gLi4uXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtbiA8Y2xhc3NkYXRhPiAgICAgIGNsYXNzIGRhdGEgKDAtNywgbG93ZXIgYmVpbmcgaGlnaGVyIHByaW8pXG4iCisjfiAiICAtYyA8Y2xhc3M+ICAgICAgICAgIHNjaGVkdWxpbmcgY2xhc3NcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorI34gIiAgLWggICAgICAgICAgICAgICAgICB0aGlzIGhlbHBcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImlvbmljZSAtIHNldCBhdGF1IGRhcGF0a2FuIGtlbGFzIGRhbiBwcmlvcml0YXMgYW50cmlhbiBkYWxhbSBwcm9zZXMuXG4iCisjfiAiXG4iCisjfiAiUGVuZ2d1bmFhbjpcbiIKKyN+ICIgIGlvbmljZSBbIHBpbGloYW4gXSAtcCA8cGlkPiBbPHBpZD4gLi4uXVxuIgorI34gIiAgaW9uaWNlIFsgcGlsaWhhbiBdIDxwZXJpbnRhaD4gWzxhcmc+IC4uLl1cbiIKKyN+ICJcbiIKKyN+ICJQaWxpaGFuOlxuIgorI34gIiAgLW4gPGRhdGFrZWxhcz4gICAgICBkYXRhIGtlbGFzICgwLTcsIGxlYmloIHJlbmRhaCBtZW5qYWRpIHByaW9yaXRhcyBsZWJpaCB0aW5nZ2kpXG4iCisjfiAiICAtYyA8a2VsYXM+ICAgICAgICAgIGtlbGFzIGFudHJpYW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgMDoga29zb25nLCAxOiB3YWt0dS1ueWF0YSwgMjogdXNhaGEtdGVyYmFpaywgMzogZGlhbVxuIgorI34gIiAgLXQgICAgICAgICAgICAgICAgICBhYmFpa2FuIGtlZ2FnYWxhblxuIgorI34gIiAgLWggICAgICAgICAgICAgICAgICBiYW50dWFuIGluaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIlBlbmdndW5hYW46IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIlByb3NlcyBzaHV0ZG93biBkaWJhdGFsa2FuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLiIKKyN+IG1zZ3N0ciAiJXM6IEhhbnlhIHJvb3QgeWFuZyBkYXBhdCBtZW1hdGlrYW4gc3lzdGVtLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuPyIKKyN+IG1zZ3N0ciAiSXR1IHBhc3RpIGJlc29rLCBkYXBhdGthaCBhbmRhIG1lbnVuZ2d1IHNhbXBhaSBuYW50aT9cbiIKKworI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgInVudHVrIHBlcmF3YXRhbjsgYm91bmNlLCBib3VuY2UiCisKKyN+IG1zZ2lkICJUaGUgc3lzdGVtIGlzIGJlaW5nIHNodXQgZG93biB3aXRoaW4gNSBtaW51dGVzIgorI34gbXNnc3RyICJTeXN0ZW0gYWthbiBkaW1hdGlrYW4gZGFsYW0gNSBtZW5pdCIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiT2xlaCBrYXJlbmEgaXR1IGxvZ2luIGRpbGFyYW5nLiIKKworI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiZGkgcmVib290IG9sZWggJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiZGkgbWF0aWthbiBvbGVoICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2VuYXBhIFNheWEgbWFzaWggaGlkdXAgc2V0ZWxhaCBkaSByZWJvb3Q/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlNla2FyYW5nIGFuZGEgZGFwYXQgbWVtYXRpa2FuIHBvd2VyLi4uIgorCisjfiBtc2dpZCAiQ2FsbGluZyBrZXJuZWwgcG93ZXItb2ZmIGZhY2lsaXR5Li4uXG4iCisjfiBtc2dzdHIgIk1lbWFuZ2dpbCBrZXJuZWwgdW50dWsgZmFzaWxpdGFzIHBvd2VyLW9mZi4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJFcnJvciBtZW1hdGlrYW5cdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJNZW5qYWxhbmthbiBhcGxpa2FzaSBcIiVzXCIgLi4uXG4iCisKKyN+IG1zZ2lkICJVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorI34gbXNnc3RyICJQRU5USU5HOiBwZXNhbiBicm9hZGNhc3QgZGFyaSAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJTeXN0ZW0gYWthbiBkaW1hdGlrYW4gZGFsYW0gJWQgamFtICVkIG1lbml0IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIlN5c3RlbSBha2FuIGRpbWF0aWthbiBkYWxhbSAxIGphbSAlZCBtZW5pdCIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiU3lzdGVtIGFrYW4gZGltYXRpa2FuIGRhbGFtICVkIG1lbml0XG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJTeXN0ZW0gYWthbiBkaW1hdGlrYW4gZGFsYW0gMSBtZW5pdFxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIlN5c3RlbSBha2FuIFNFR0VSQSBkaW1hdGlrYW4hXG4iCisKKyN+IG1zZ2lkICJcdC4uLiAlcyAuLi5cbiIKKyN+IG1zZ3N0ciAiXHQuLi4gJXMgLi4uXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZWxha3VrYW4gZm9yayB1bnR1ayBzd2Fwb2ZmLiBTaHJ1ZyEiCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVuamFsYW5rYW4gc3dhcG9mZiwgc2Vtb2dhIHVtb3VudCBha2FuIG1lbGFrdWthbiBzZWJ1YWggdHJpY2suIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiVGlkYWsgbWVsYWt1a2FuIGZvcmsgdW50dWsgdW1vdW50LCBjb2JhIHNlY2FyYSBtYW51YWwuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmphbGFua2FuICVzLCBtZW5jb2JhIGRlbmdhbiB1bW91bnQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5qYWxhbmthbiB1bW91bnQsIG1lbnllcmFoIGRpIHVtb3VudC4iCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIlVubW91bnRpbmcgc2VsdXJ1aCBmaWxlc3lzdGVtIHlhbmcgYWRhLi4uIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IFRpZGFrIGRhcGF0IG1lbGFrdWthbiB1bW91bnQgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIkJvb3Rpbmcga2UgbW9kZSBzYXR1IHBlbmdndW5hLlxuIgorCisjfiBtc2dpZCAiZXhlYyBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiZWtzZWt1c2kgZGFyaSBzaGVsbCBzYXR1IHBlbmdndW5hIGdhZ2FsXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJmb3JrIGRhcmkgc2hlbGwgc2F0dSBwZW5nZ3VuYSBnYWdhbFxuIgorCisjfiBtc2dpZCAiZXJyb3Igb3BlbmluZyBmaWZvXG4iCisjfiBtc2dzdHIgImVycm9yIG1lbWJ1a2EgZmlmb1xuIgorCisjfiBtc2dpZCAiZXJyb3Igc2V0dGluZyBjbG9zZS1vbi1leGVjIG9uIC9kZXYvaW5pdGN0bCIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuc2V0IGNsb3NlLW9uLWV4ZWMgZGkgL2Rldi9pbml0Y3RsIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuamFsYW5rYW4gZmluYWxwcm9nXG4iCisKKyN+IG1zZ2lkICJlcnJvciBmb3JraW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJlcnJvciBmb3JraW5nIGZpbmFscHJvZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldyb25nIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS2F0YSBzYW5kaSBzYWxhaC5cbiIKKworI34gbXNnaWQgInJlc3Bhd25pbmc6IFwiJXNcIiB0b28gZmFzdDogcXVlbmNoaW5nIGVudHJ5XG4iCisjfiBtc2dzdHIgInJlc3Bhd25pbmc6IFwiJXNcIiB0ZXJsYWx1IGNlcGF0OiBtZW5haGFuIG1hc3VrYW5cbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgImdhZ2FsIGZvcmtcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAidGlkYWsgZGFwYXQgbWVtYnVrYSBpbml0dGFiXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJ0aWRhayBhZGEgVEVSTSBhdGF1IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIHR0eVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImVycm9yIG1lbmdoZW50aWthbiBsYXlhbmFuOiBcIiVzXCJcbiIKKworI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiTGF5YW5hbiB0ZXJoZW50OiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImVycm9yIG1lbmdoZW50aWthbiBsYXlhbmFuOiBcIiVzXCJcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXJyb3I6IHN0cmR1cCBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXJyb3I6IG1hbGxvYyBnYWdhbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1iZnB4XSBbLWwgbmxpbmVdIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiBjb2wgWy1iZnB4XSBbLWwgbmxpbmVdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtIF0gWyAtMiBdIFsgZmlsZSAuLi4gXVxuIgorI34gbXNnc3RyICJwZW5nZ3VuYWFuOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRfZmlsZV0gWy1uIGxlbmd0aF0gWy1zIHNraXBdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgZm10X2ZpbGVdIFstbiBwYW5qYW5nXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL3BhdHRlcm5dIG5hbWUxIG5hbWUyIC4uLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGluZSBidWZmZXJcbiIKKyN+IG1zZ3N0ciAiZ2FnYWwgbWVuZ2luaXNpYWxpc2FzaSBiYXJpcyBwZW55YW5nZ2FcbiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IHRpZGFrIGRhcGF0IG1lbWJhY2EgJXMuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBiYXJpcyB0ZXJsYWx1IHBhbmphbmcuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBnYWdhbCIKKworI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJQZW5nZ3VuYWFuOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIFstaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYnVrYSAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBtZW1vcmkgbGFnaVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJtZW1wZXJvbGVoIEVPRiB0aHJpY2UgLSBrZWx1YXIuLlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IG1hbGxvYyBnYWdhbC5cbiIKKworI34gbXNnaWQgImxvZ2luOiBPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgImxvZ2luOiBLZWhhYmlzYW4gbWVtb3J5XG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbm8gc2hlbGw6ICVzLlxuIgorI34gbXNnc3RyICJsb2dpbjogdGlkYWsgYWRhIHNoZWxsOiAlcy5cbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0Z2lkIgorI34gbXNnc3RyICJuZXdncnA6IHNldGdpZCIKKworI34gbXNnaWQgIm5ld2dycDogUGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm5ld2dycDogSWppbiBkaXRvbGFrIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0dWlkIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBUaWRhayBkYXBhdCBtZWxha3VrYW4gZm9ya1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1iYWNhICVzLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW1wZXJvbGVoIHN0YXRpc3RpayBmaWxlIHNlbWVudGFyYS5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkIHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYmFjYSBmaWxlIHNlbWVudGFyYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6ICVzIgorI34gbXNnc3RyICIlczogZXJyb3IgbWVudWxpczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJzZSBlcnJvciBhdCBsaW5lczogIgorI34gbXNnc3RyICJlcnJvciBtZW5nYW1iaWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIGRhbiAiCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiB1bmtub3duIHVzZXJcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogcGVuZ2d1bmEgdGlkYWsgYWRhXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogbmlsYWkgYnVydWtcbiIKKworI34gbXNnaWQgIm9kOiBvZCgxKSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBoZXhkdW1wKDEpLlxuIgorI34gbXNnc3RyICJvZDogb2QoMSkgc3VkYWggZGl0aW5nZ2Fsa2FuIHVudHVrIGhleGR1bXAoMSkuXG4iCisKKyN+IG1zZ2lkICJvZDogaGV4ZHVtcCgxKSBjb21wYXRpYmlsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgLSVjIG9wdGlvbiVzXG4iCisjfiBtc2dzdHIgIm9kOiBoZXhkdW1wKDEpIGtvbXBhdGliaWxpdGFzIHRpZGFrIG1lbnN1cHBvcnQgcGlsaWhhbiAtJWMgJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IGxpaGF0IHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIlBhcnRpc2kgYmVyYWtoaXIgZGkgdWp1bmcgc2ViYWdpYW4gY3lsaW5kZXIiCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczoga2VoYWJpc2FuIG1lbW9yaVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgaW50ZXJ2YWwgJXMgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlczogaW50ZXJ2YWwgaWxlZ2FsICVzIGRldGlrXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5pbGFpIHRpbWVfdCAlcyBpbGVnYWxcbiIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHRpZGFrIGRhcGF0IG1lbmphbGFua2FuICVzOiAlc1xuIgorCisjfiBtc2dpZCAicnRjIHJlYWQiCisjfiBtc2dzdHIgImJhY2EgcnRjIgorCisjfiBtc2dpZCAibWFsbG9jIGVycm9yIgorI34gbXNnc3RyICJtYWxsb2MgZXJyb3IiCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IGNvbHVtbiBbLXR4XSBbLWMgY29sdW1ueF0gW2ZpbGUgLi4uXVxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJLZWhhYmlzYW4gbWVtb3JpXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgIlRpZGFrIGRhcGF0IG1lbmdhbG9rYXNpa2FuIGJ1ZmZlcnNwYWNlIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IHJldiBbZmlsZSAuLi5dXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJUaWRhayBkYXBhdCBtZW5nYWxva2FzaWthbiBidWZmZXIuXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoZW4gZ3Jvd2luZyBidWZmZXIuXG4iCisjfiBtc2dzdHIgIktlaGFiaXNhbiBtZW1vcmkga2V0aWthIG1lbmluZ2thdGthbiBidWZmZXIuXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKKyN+IG1zZ3N0ciAiJXM6IHBpbGloYW4gaWxsZWdhbCAtLSAlY1xuIgorCisjfiBtc2dpZCAic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisjfiBtc2dzdHIgImJhZ2lhbiB5YW5nIGRpIGFsb2thc2lrYW4gJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAicGFnZXMgeWFuZyBkaSBhbG9rYXNpa2FuICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICJwYWdlcyByZXNpZGVudCAlbGRcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiUGVyZm9ybWFuY2Ugc3dhcDogJWxkIG1lbmNvYmFcdCAlbGQgYmVyaGFzaWxcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgYW5kIGNoYW5nZSBkaXNwbGF5IHVuaXRzIHRvXG4iCisjfiAiICAgICAgICAgc2VjdG9ycyAoY29tbWFuZCAndScpLlxuIgorI34gbXNnc3RyICIiCisjfiAiIGRhbiB1YmFoIHRhbXBpbGFuIHNhdHVhbiBrZVxuIgorI34gIiAgICAgICAgIHNla3RvciAocGVyaW50YWggJ3UnKS5cbiIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJyb3IgbWVuamFsYW5rYW4gYXBsaWthc2k6IFwiJXNcIlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyB2YWx1ZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm5pbGFpIG9mc2V0ICclcycgdGlkYWsgdmFsaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImNocnQgLSBtYW5pcHVsYXRlIHJlYWwtdGltZSBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKKyN+ICJcbiIKKyN+ICJTZXQgcG9saWN5OlxuIgorI34gIiAgY2hydCBbb3B0aW9uc10gPHBvbGljeT4gPHByaW9yaXR5PiB7PHBpZD4gfCA8Y29tbWFuZD4gWzxhcmc+IC4uLl19XG4iCisjfiAiXG4iCisjfiAiR2V0IHBvbGljeTpcbiIKKyN+ICIgIGNocnQgW29wdGlvbnNdIHs8cGlkPiB8IDxjb21tYW5kPiBbPGFyZz4gLi4uXX1cbiIKKyN+ICJcbiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiAiXG4iCisjfiAiU2NoZWR1bGluZyBmbGFnczpcbiIKKyN+ICIgIC1SIHwgLS1yZXNldC1vbi1mb3JrIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImNocnQgLSBtYW5pcHVsYXNpIGF0cmlidXQgd2FrdHUtbnlhdGEgZGFyaSBzZWJ1YWggcHJvc2VzLlxuIgorI34gIlxuIgorI34gIlNldCBrZWJpamFrYW46XG4iCisjfiAiICBjaHJ0IFtwaWxpaGFuXSA8a2ViaWpha2FuPiA8cHJpb3JpdGFzPiB7PHBpZD4gfCA8cGVyaW50YWg+IFs8YXJndW1lbiAuLi5dfVxuIgorI34gIlxuIgorI34gIkRhcGF0a2FuIGtlYmlqYWthbjpcbiIKKyN+ICIgIGNocnQgW3BpbGloYW5dIHs8cGlkPiB8IDxwZXJpbnRhaD4gWzxhcmd1bWVuPiAuLi5dfVxuIgorI34gIlxuIgorI34gIlxuIgorI34gIktlYmlqYWthbiBhbnRyaWFuOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICBzZXQga2ViaWpha2FuIGtlIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgIHNldCBrZWJpamFrYW4ga2UgU0NIRURfRklGT1xuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICBzZXQga2ViaWpha2FuIGtlIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgc2V0IGtlYmlqYWthbiBrZSBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICBzZXQga2ViaWpha2FuIGtlIFNDSEVEX1JSIChiYWt1KVxuIgorI34gIlxuIgorI34gIlBpbGloYW46XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHRhbXBpbGthbiBiYW50dWFuIGluaVxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICBiZXJvcGVyYXNpIGRpIHBpZCBkaWJlcmlrYW4geWFuZyB0ZWxhaCBhZGFcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgdGFtcGlsa2FuIG1pbiBkYW4gbWF4IHByaW9yaXRhcyB5YW5nIHNhaFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICB0YW1waWxrYW4gaW5mb3JtYXNpIGtlYWRhYW5cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAga2VsdWFya2FuIGluZm9ybWFzaSB2ZXJzaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAic2VrYXJhbmciCisKKyN+IG1zZ2lkICJuZXciCisjfiBtc2dzdHIgImJhcnUiCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggRlMiCisKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IEpGUyIKKworI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBSZWlzZXJGUyIKKworI34gbXNnaWQgIk9TLzIgSFBGUyIKKyN+IG1zZ3N0ciAiT1MvMiBIUEZTIgorCisjfiBtc2dpZCAiT1MvMiBJRlMiCisjfiBtc2dzdHIgIk9TLzIgSUZTIgorCisjfiBtc2dpZCAiTlRGUyIKKyN+IG1zZ3N0ciAiTlRGUyIKKworI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0aWRhayBhZGEgbWVkaWEgZGl0ZW11a2FuIGRpICVzIC4uLm1lbmNvYmEgbGFnaVxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgInBlbmdndW5hYW46ICVzIC1hc21xIC10Y2x1cCBcbiIKKworI34gbXNnaWQgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorI34gbXNnc3RyICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKworI34gbXNnaWQgIlx0JXMgLWggZm9yIGhlbHAuXG4iCisjfiBtc2dzdHIgIlx0JXMgLWggdW50dWsgYmFudHVhbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBTcGVjaWZpY2F0aW9uOlxuIgorI34gIlx0LW0gOiBzaGFyZWRfbWVtXG4iCisjfiAiXHQtcSA6IG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTcGVzaWZpa2FzaSBSZXNvdXJjZTpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbVxuIgorI34gIlx0LXEgOiBtZXNzYWdlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LXMgOiBzZW1hcGhvcmVzXG4iCisjfiAiXHQtYSA6IGFsbCAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LXMgOiBzZW1hcGhvcmVzXG4iCisjfiAiXHQtYSA6IGFsbCAoZGVmYXVsdClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgRm9ybWF0OlxuIgorI34gIlx0LXQgOiB0aW1lXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBjcmVhdG9yXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGb3JtYXQgT3V0cHV0OlxuIgorI34gIlx0LXQgOiB0aW1lXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBjcmVhdG9yXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtbCA6IGxpbWl0c1xuIgorI34gIlx0LXUgOiBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1sIDogYmF0YXNcbiIKKyN+ICJcdC11IDogcmluZ2thc2FuXG4iCisKKyN+IG1zZ2lkICJlcnJvciBwYXJzZTogJXMiCisjfiBtc2dzdHIgImVycm9yIG1lbmdhbWJpbDogJXMiCisKKyN+IG1zZ2lkICJlcnJvcjogL3N5cyBmaWxlc3lzdGVtIGlzIG5vdCBhY2Nlc3NhYmxlLiIKKyN+IG1zZ3N0ciAiZXJyb3I6IHNpc3RlbSBiZXJrYXMgL3N5cyB0aWRhayBkYXBhdCBkaWFrc2VzLiIKKworI34gbXNnaWQgInVzYWdlOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNQUdFIFsgVkFMVUUgWyBPRkZTRVQgXSBdIF0iCisjfiBtc2dzdHIgInBlbmdndW5hYW46IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAgKG9yIHJkZXYgL2xpbnV4LCBldGMuKSBkaXNwbGF5cyB0aGUgY3VycmVudCBST09UIGRldmljZSIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwICAoYXRhdSByZGV2IC9saW51eCwgZXRjLikgdGFtcGlsa2FuIFJPT1QgZGV2aWNlIHlhbmcgZGlwYWthaSIKKworI34gbXNnaWQgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBzZXRzIFJPT1QgdG8gL2Rldi9oZGEyIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgc2V0cyBST09UIHBhZGEgL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IFJPT1RGTEFHUyAocmVhZG9ubHkgc3RhdHVzKSIKKworI34gbXNnaWQgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBzZXQgdGhlIFJBTURJU0sgc2l6ZSIKKyN+IG1zZ3N0ciAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB1a3VyYW4gUkFNRElTSyIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgYm9vdHVwIFZJREVPTU9ERSIKKworI34gbXNnaWQgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICB1c2UgdGhlIGJ5dGUgb2Zmc2V0IE4iCisjfiBtc2dzdHIgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICBtZW5nZ3VuYWthbiBvZmZzZXQgYnl0ZSBOIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWEgZGVuZ2FuIHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgIHVrdXJhbiByYW0gLi4uICAgICAgICAgICAgICAgICAgc2FtYSBkZW5nYW4gcmRldiAtciIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1hIGRlbmdhbiByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiQ2F0YXRhbjogbW9kZSB2aWRlbyBhZGFsYWg6IC0zPVRhbnlhLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWt1bmNpMSwgMj1rdW5jaTIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgIGd1bmFrYW4gLVIgMSB1bnR1ayBtZW1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgdW50dWsgcmVhZC93cml0ZS4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJoaWxhbmcga29tYSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBDaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgTGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBHaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIiAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgIEdpdmUgZmRpc2sgdmVyc2lvblxuIgorI34gIkhlcmUgRElTSyBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYiBvciAvZGV2L3NkYVxuIgorI34gImFuZCBQQVJUSVRJT04gaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGdpdmUgU3RhcnQgYW5kIEVuZCBpbiBzZWN0b3IgKGluc3RlYWQgb2YgY3lsaW5kZXIpIHVuaXRzXG4iCisjfiAiLWIgMjA0ODogKGZvciBjZXJ0YWluIE1PIGRpc2tzKSB1c2UgMjA0OC1ieXRlIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBlbmdndW5hYW46IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgVWJhaCB0YWJlbCBwYXJ0aXNpXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBUYW1waWxrYW4gZGFmdGFyIHRhYmVsIHBhcnRpc2lcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAtcyBQQVJUSVNJICAgICAgICAgICAgIEJlcmlrYW4gdWt1cmFuIHBhcnRpc2kgZGFsYW0gYmxvY2tzXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBUYW1waWxrYW4gdmVyc2kgZGFyaSBmZGlza1xuIgorI34gIkRpc2luaSBESVNLICBtZW1pbGlraSBuYW1hIHNlcGVydGkgL2Rldi9oZGIgYXRhdSAvZGV2L3NkYVxuIgorI34gImRhbiBQQVJUSVNJIGluaSBtZW1pbGlraSBuYW1hIHNlcGVydGkgL2Rldi9oZGE3XG4iCisjfiAiLXU6IG1lbWJlcmlrYW4gQXdhbCBkYW4gQWtoaXIgZGFsYW0gc2F0dWFuIHNlY3RvciAoZGFyaSBwYWRhIGRhbGFtIGN5bGluZGVycylcbiIKKyN+ICItYiAyMDQ4OiAodW50dWsgYmViZXJhcGEgTU8gZGlza3MpIGd1bmFrYW4gMjA0OC1ieXRlIGRhcmkgc2VjdG9yXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQZW5nZ3VuYWFuOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gcGVyYW5na2F0XG4iCisjfiAiRS5nLjogZmRpc2sgL2Rldi9oZGEgICh1bnR1ayBJREUgZGlzayB5YW5nIHBlcnRhbWEpXG4iCisjfiAiYXRhdTogZmRpc2sgL2Rldi9zZGMgICh1bnR1ayBTQ1NJIERJU0sgeWFuZyBrZXRpZ2EpXG4iCisjfiAiYXRhdTogZmRpc2sgL2Rldi9lZGEgICh1bnR1ayBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiYXRhdTogZmRpc2sgL2Rldi9yZC9jMGQwIGF0YXU6IGZkaXNrIC9kZXYvaWRhL2MwZDAgKHVudHVrIHBlcmFuZ2thdCBSQUlEKVxuIgorI34gIi4uLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJUaGUgbnVtYmVyIG9mIGN5bGluZGVycyBmb3IgdGhpcyBkaXNrIGlzIHNldCB0byAlZC5cbiIKKyN+ICJUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhhdCwgYnV0IHRoaXMgaXMgbGFyZ2VyIHRoYW4gMTAyNCxcbiIKKyN+ICJhbmQgY291bGQgaW4gY2VydGFpbiBzZXR1cHMgY2F1c2UgcHJvYmxlbXMgd2l0aDpcbiIKKyN+ICIxKSBzb2Z0d2FyZSB0aGF0IHJ1bnMgYXQgYm9vdCB0aW1lIChlLmcuLCBvbGQgdmVyc2lvbnMgb2YgTElMTylcbiIKKyN+ICIyKSBib290aW5nIGFuZCBwYXJ0aXRpb25pbmcgc29mdHdhcmUgZnJvbSBvdGhlciBPU3NcbiIKKyN+ICIgICAoZS5nLiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiSnVtbGFoIGRhcmkgY3lsaW5kZXIgdW50dWsgZGlzayBpbmkgZGkgc2V0IGtlICVkLlxuIgorI34gIlRpZGFrIGFkYSB5YW5nIHNhbGFoIGRlbmdhbiBoYWwgaW5pLCB0ZXRhcGkgaW5pIGxlYmloIGJlc2FyIGRhcmkgMTAyNCxcbiIKKyN+ICJkYW4gZGFwYXQgbWVtYnVhdCBtZW55ZWJhYmthbiBtYXNhbGFoIGRhbGFtIGJlYmVyYXBhIHNldHVwIGRlbmdhbjpcbiIKKyN+ICIxKSBhcGxpa2FzaSB5YW5nIGJlcmphbGFuIHBhZGEgd2FrdHUgYm9vdCAoZS5nLiwgdmVyc2kgbGFtYSBkYXJpIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBkYW4gcGFydGl0aW9uaW5nIHNvZnR3YXJlIGRhcmkgT1MgeWFuZyBsYWluXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXQVJOSU5HOiBUaGUgZGV2aWNlIGRvZXMgbm90IHByb3ZpZGUgY29tcGVuc2F0aW9uIChhbGlnbm1lbnRfb2Zmc2V0KVxuIgorI34gImZvciBET1MtY29tcGF0aWJsZSBwYXJ0aXRpb25pbmcsIGJ1dCBET1MtY29tcGF0aWJsZSBtb2RlIGlzIGVuYWJsZWQuXG4iCisjfiAiVXNlIGNvbW1hbmQgJ2MnIHRvIHN3aXRjaC1vZmYgRE9TIG1vZGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQRVJJTkdBVEFOOiBQZXJhbmdrYXQgdGlkYWsgbWVueWVkaWFrYW4ga29tcGVuc2FzaSAoYWxpZ25tZW50X29mZnNldClcbiIKKyN+ICJ1bnR1ayBwZW1iYWdpYW4gRE9TLWtvbXBhdGliZWwsIHRldGFwaSBtb2RlIERPUy1rb21wYXRpYmVsIGRpYWt0aWZrYW4uXG4iCisjfiAiR3VuYWthbiBwZXJpbnRhaCAnYycgdW50dWsgbWVub25ha3RpZmthbiBtb2RlIERPUy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiB0aGUgZGV2aWNlIHByb3ZpZGVzIGFsaWdubWVudF9vZmZzZXQsIGJ1dCB0aGUgb2Zmc2V0IGRvZXMgbm90XG4iCisjfiAibWF0Y2ggd2l0aCBkZXZpY2UgZ2VvbWV0cnkuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQRVJJTkdBVEFOOiBwZXJhbmdrYXQgbWVueWVkaWFrYW4gYWxpZ25tZW50X29mZnNldCwgdGV0YXBpIG9mc2V0IHRpZGFrXG4iCisjfiAiY29jb2sgZGVuZ2FuIGdlb21ldHJpIHBlcmFuZ2thdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1bml0OiBzZWN0b3JzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJzYXR1YW46IHNla3RvclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIHN0YXJ0PSU5bHUiCisjfiBtc2dzdHIgIiBhd2FsPSU5bHUiCisKKyN+IG1zZ2lkICIsIGJvb3RhYmxlIgorI34gbXNnc3RyICIsIGRhcGF0IGRpIGJvb3QiCisKKyN+IG1zZ2lkICJDbG9jayBpbiBVVEMsIG5vdCBjaGFuZ2VkLlxuIgorI34gbXNnc3RyICJKYW0gZGFsYW0gVVRDLCB0aWRhayBkaXViYWguXG4iCisKKyN+IG1zZ2lkICIlczogZm91bmQgJXNzd2FwIHYlZCBzaWduYXR1cmUgc3RyaW5nIGZvciAlZCBLaUIgUEFHRV9TSVpFXG4iCisjfiBtc2dzdHIgIiVzOiBkaXRlbXVrYW4gdGFuZGEgJXNzd2FwIHYlZCB1bnR1ayAlZCBLaUIgUEFHRV9TSVpFXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IGxhYmVsIG9ubHkgd2l0aCB2MSBzd2FwIGFyZWFcbiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yOiBoYW55YSBsYWJlbCBkZW5nYW4gbWVuZ2d1bmFrYW4gc3dhcCBhcmVhIHZlcnNpIHYxXG4iCisKKyN+IG1zZ2lkICJmYXRhbDogZmlyc3QgcGFnZSB1bnJlYWRhYmxlIgorI34gbXNnc3RyICJmYXRhbDogcGFnZSBwZXJ0YW1hIHRpZGFrIGRhcGF0IGRpYmFjYSIKKworI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBQZXJhbmdrYXQgJyVzJyBtZW1pbGlraSBzZWJ1YWggZGlza2xhYmVsIFN1biB5YW5nIHZhbGlkLlxuIgorI34gIkluaSBtdW5na2luIGJlcmFydGkgbWVtYnVhdCBzd2FwIHZlcnNpIDAgYWthbiBtZW5naGFuY3Vya2FuIHRhYmVsIHBhcnRpc2kgXG4iCisjfiAiYW5kYSwgU3dhcCB0aWRhayBkaWJ1YXQuIEppa2EgYW5kYSBiZW5hciAtIGJlbmFyIGluZ2luIG1lbWJ1YXQgc3dhcCB2MCBkaSBcbiIKKyN+ICJwZXJhbmdrYXQgaXR1LCBndW5ha2FuIHBpbGloYW4gLWYgdW50dWsgbWVtYWtzYW55YS5cbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3QgY2hkaXIgdG8gcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHRpZGFrIGRhcGF0IGNoZGlyIGtlIHJvb3QhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggc3RhdGlzdGlrIHJvb3QhXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gdGlkYWsgZGFwYXQgY2hkaXIga2UgZGFsYW0gJXMgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgPyBwcm9ibGVtcyByZWFkaW5nIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/IG1hc2FsYWggZGFsYW0gbWVtYmFjYSBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiICAqKiogRVhDRUVERUQgVU5JWCBMSU1JVCBPRiBTWU1MSU5LUyAqKipcbiIKKyN+IG1zZ3N0ciAiICAqKiogTUVMRVdBVEkgQkFUQVMgSlVNTEFIIFNZTUxJTktTIERJIFVOSVggKioqXG4iCisKKyN+IG1zZ2lkICJuYW1laTogdW5rbm93biBmaWxlIHR5cGUgMCUwNm8gb24gZmlsZSAlc1xuIgorI34gbXNnc3RyICJuYW1laTogdGlwZSBmaWxlIHRpZGFrIGRpa2V0YWh1aSAwJTA2byBkYWxhbSBmaWxlICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFrYW4gbWVtb3VudCAlcyBvbGVoICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gTEFCRUw9LCBubyBVVUlEPSwgZ29pbmcgdG8gbW91bnQgJXMgYnkgcGF0aFxuIgorI34gbXNnc3RyICJtb3VudDogbm8gTEFCRUw9LCBubyBVVUlEPSwgYWthbiBtZW1vdW50ICVzIGRlbmdhbiBqYWx1clxuIgorCisjfiBtc2dpZCAiJXM6IHdhaXRwaWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiB3YWl0cGlkOiAlc1xuIgorCisjfiBtc2dpZCAiY291bGQgbm90IHVtb3VudCAlcyAtIHRyeWluZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IHVtb3VudCAlcyAtIG1lbmNvYmEgJXMgc2ViYWxpa255YVxuIgorCisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCisjfiBtc2dzdHIgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuJyB0aWRhayB5YW5nIHBlcnRhbWFcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCisjfiBtc2dzdHIgImAlcyc6IGRpcmVrdG9yaSBidXJ1azogJy4uJyB0aWRhayB5YW5nIGtlZHVhXG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIG9wZW5fdHR5XG4iCisjfiBtc2dzdHIgIm1lbWFuZ2dpbCBvcGVuX3R0eVxuIgorCisjfiBtc2dpZCAiY2FsbGluZyB0ZXJtaW9faW5pdFxuIgorI34gbXNnc3RyICJtZW1hbmdnaWwgdGVybWlvX2luaXRcbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAibWVudWxpcyBpbml0IHN0cmluZ1xuIgorCisjfiBtc2dpZCAiYmVmb3JlIGF1dG9iYXVkXG4iCisjfiBtc2dzdHIgInNlYmVsdW0gYXV0b2JhdWRcbiIKKworI34gbXNnaWQgIndhaXRpbmcgZm9yIGNyLWxmXG4iCisjfiBtc2dzdHIgIm1lbnVuZ2d1IHVudHVrIGNyLWxmXG4iCisKKyN+IG1zZ2lkICJyZWFkaW5nIGxvZ2luIG5hbWVcbiIKKyN+IG1zZ3N0ciAibWVtYmFjYSBuYW1hIGxvZ2luXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJsb29wIHNldGVsYWggZ2V0b3B0XG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlYXJnc1xuIgorI34gbXNnc3RyICJrZWx1YXIgZGFyaSBwYXJzZWFyZ3NcbiIKKworI34gbXNnaWQgImVudGVyZWQgcGFyc2Vfc3BlZWRzXG4iCisjfiBtc2dzdHIgIm1lbWFzdWtpIHBhcnNlX3NwZWVkc1xuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZXNwZWVkc1xuIgorI34gbXNnc3RyICJrZWx1YXIgZGFyaSBwYXJzZXNwZWVkc1xuIgorCisjfiBtc2dpZCAib3BlbigyKVxuIgorI34gbXNnc3RyICJvcGVuKDIpXG4iCisKKyN+IG1zZ2lkICJkdXBpbmdcbiIKKyN+IG1zZ3N0ciAiZHVwaW5nXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAvZXRjL3NoZWxsc1xuIgorI34gbXNnc3RyICJQZXJpbmdhdGFuOiBcIiVzXCIgdGlkYWsgdGVyZGFmdGFyIGRhbGFtIC9ldGMvc2hlbGxzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCByZWFkICVzLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAiVGlkYWsgZGFwYXQgbWVtYmFjYSAlcywga2VsdWFyLiIKKworI34gbXNnaWQgInRpbWVvdXQgPSAlZCwgcXVpZXQgPSAlZCwgcmVib290ID0gJWRcbiIKKyN+IG1zZ3N0ciAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCAlcywgYW5kIGNhbm5vdCBpb2N0bCBkdW1wXG4iCisjfiBtc2dzdHIgInRpZGFrIGRhcGF0IG1lbWJhY2EgJXMsIGRhbiB0aWRhayBkYXBhdCBtZWxha3VrYW4gaW9jdGwgZHVtcFxuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBvZmZzZXQgJWxsZCIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIiVzOiB0aWRhayBkYXBhdCBtZW5lbXVrYW4gcGVyYW5na2F0IGFwYXB1biAvZGV2L2xvb3AjIgorCisjfiBtc2dpZCAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBiYWNrZ3JvdW5kaW5nIFwiJXNcIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lbnllcmFoIFwiJXNcIlxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpdHldIHNwZWNpYWx8TEFCRUw9dm9sdW1lX25hbWUgLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gInBlbmdndW5hYW46ICVzIFstaFZdXG4iCisjfiAiICAgICAgICAgICAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiICAgICAgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpdHldIHNwZWNpYWx8TEFCRUw9dm9sdW1lX25hbWUgLi4uXG4iCisjfiAiICAgICAgICAgICAgJXMgWy1zXVxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gc3BlY2lhbCAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gInBlbmdndW5hYW46ICVzIFstaFZdXG4iCisjfiAiICAgICAgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAgICAgICVzIFstdl0gc3BlY2lhbCAuLi5cbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgY2Fub25pY2FsaXplICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYSAlczogJXNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iCisKKyN+IG1zZ2lkICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisjfiBtc2dzdHIgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzICUtMTJzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHVzZXJzIF1cbiIKKyN+IG1zZ3N0ciAicGVuZ2d1bmFhbjogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHBlbmdndW5hIF1cbiIKKworI34gbXNnaWQgIkV4Y2VlZGVkIE1BWEVOVFJJRVMuICBSYWlzZSB0aGlzIHZhbHVlIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuXG4iCisjfiBtc2dzdHIgIk1lbGViaWhpIE1BWEVOVFJJRVMuIE5haWtrYW4gbmlsYWkgaW5pIGRhbGFtIG1rY3JhbWZzLmMgZGFuIHJlY29tcGlsZS4gS2VsdWFyLlxuIgorCisjfiBtc2dpZCAiQXNzdW1pbmcgcGFnZXMgb2Ygc2l6ZSAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJNZW5nYXN1bXNpa2FuIHVrdXJhbiBwYWdlICVkIChidWthbiAlZClcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiQXV0b2NvbmZpZ3VyYXNpIG1lbmVtdWthbiBzZWJ1YWggJXMlcyVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRHJpdmUgdHlwZVxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKHdpdGggaGFyZHdhcmUgZGV0ZWN0ZWQgZGVmYXVsdHMpIgorI34gbXNnc3RyICIiCisjfiAiVGlwZSBEcml2ZVxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKGRlbmdhbiBoYXJkd2FyZSB0ZXJkZXRla3NpIGRlZmF1bHRzKSIKKworI34gbXNnaWQgIlNlbGVjdCB0eXBlICg/IGZvciBhdXRvLCAwIGZvciBjdXN0b20pOiAiCisjfiBtc2dzdHIgIlBpbGloIHRpcGUgKD8gdW50dWsgYXV0bywgMCB1bnR1ayBjdXN0b20pOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiQW5kYSBib2xlaCBtZW5ndWJhaCBzZWx1cnVoIHBhcmFtZXRlciBkaXNrIGRhcmkgeCBtZW51IgorCisjfiBtc2dpZCAiMyw1XCIgZmxvcHB5IgorI34gbXNnc3RyICIzLDVcIiBmbG9wcHkiCisKKyN+IG1zZ2lkICIlcyBmcm9tIHV0aWwtbGludXgtJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGFyaSB1dGlsLWxpbnV4LSVzXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IHRoZSBsYWJlbCAlcyBvY2N1cnMgb24gYm90aCAlcyBhbmQgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yOiBsYWJlbCAlcyB0ZXJqYWRpIGRpIGtlZHVhICVzIGRhbiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBvcGVuICVzLCBzbyBVVUlEIGFuZCBMQUJFTCBjb252ZXJzaW9uIGNhbm5vdCBiZSBkb25lLlxuIgorI34gbXNnc3RyICIlczogdGlkYWsgZGFwYXQgbWVtYnVrYSAlcywgamFkaSBVVUlEIGRhbiBMQUJFTCBjb252ZXJzaSB0aWRhayBkYXBhdCBkaWxha3VrYW4uXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIiVzOiBiYWQgVVVJRCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgd2l0aCBuZnMgbW91bnQgdmVyc2lvbiA0LCB0cnlpbmcgMy4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBnYWdhbCBkZW5nYW4gbmZzIG1vdW50IHZlcnNpIDQsIG1lbmNvYmEgdmVyc2kgMy4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnRpbmcgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lbW91bnQgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3aGlsZSBndWVzc2luZyBmaWxlc3lzdGVtIHR5cGVcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm9yIGtldGlrYSBtZW5lYmFrIHRpcGUgZmlsZXN5c3RlbVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ3VtZW50IGhvc3Q6ZGlyIHRlcmxhbHUgcGFuamFuZ1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6IG11bHRpcGxlIGhvc3RuYW1lcyBub3Qgc3VwcG9ydGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwZXJpbmdhdGFuOiBtdWx0aXBsZSBob3N0bmFtZSB0aWRhayBkaWxheWFuaVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGRpcmVjdG9yeSB0byBtb3VudCBub3QgaW4gaG9zdDpkaXIgZm9ybWF0XG4iCisjfiBtc2dzdHIgIm1vdW50OiBkaXJla3RvcmkgdW50dWsgbW91bnQgdGlkYWsgZGFsYW0gZm9ybWF0IGhvc3Q6ZGlyXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lbXBlcm9sZWggaHAtaF9sZW5ndGggeWFuZyBidXJ1a1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgb3B0aW9uIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBwaWxpaGFuIGFyZ3VtZW50IHRlcmxhbHUgcGFuamFuZ1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogVW5yZWNvZ25pemVkIHByb3RvPSBvcHRpb24uXG4iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IHBpbGloYW4gcHJvdG89IHRpZGFrIGRpa2VuYWwuXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBPcHRpb24gbmFtbGVuIGlzIG5vdCBzdXBwb3J0ZWQuXG4iCisjfiBtc2dzdHIgIlBlcmluZ2F0YW46IFBpbGloYW4gbmFtbGVuIHRpZGFrIGRpbGF5YW5pLlxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgcGFyYW1ldGVyOiAlcz0lZFxuIgorI34gbXNnc3RyICJwYXJhbWV0ZXIgdW50dWsgbmZzIG1vdW50IHRpZGFrIGRpa2V0YWh1aTogJXM9JWRcbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IG9wdGlvbjogJXMlc1xuIgorI34gbXNnc3RyICJwaWxpaGFuIHVudHVrIG1vdW50IG5mcyB0aWRhayBkaWtldGFodWk6ICVzJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb3QgYmFkIGhwLT5oX2xlbmd0aD9cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1lbXBlcm9sZWggaHAtPmhfbGVuZ3RoIHlhbmcgYnVydWs/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMgYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAibmZzIHNlcnZlciByZXBvcnRlZCBzZXJ2aWNlIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJuZnMgc2VydmVyIG1lbGFwb3JrYW4gbGF5YW5hbiB0aWRhayBha3RpZiIKKworI34gbXNnaWQgInVzZWQgcG9ydG1hcHBlciB0byBmaW5kIE5GUyBwb3J0XG4iCisjfiBtc2dzdHIgIm1lbmdndW5ha2FuIHBvcnRtYXBwZXIgdW50dWsgbWVuY2FyaSBwb3J0IGRhcmkgTkZTXG4iCisKKyN+IG1zZ2lkICJ1c2luZyBwb3J0ICVkIGZvciBuZnMgZGVhbW9uXG4iCisjfiBtc2dzdHIgIm1lbmdndW5ha2FuIHBvcnQgJWQgdW50dWsgbmZzIGRhZW1vblxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgc3RhdHVzIHJldHVybiB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIm5pbGFpIHN0YXR1cyBiYWxpayBuZnMgdGlkYWsgZGlrZXRhaHVpOiAlZCIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgImhvc3Q6ICVzLCBkaXJla3Rvcmk6ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6IHRpZGFrIGRhcGF0IG1lbXBlcm9sZWggcGVyYW5na2F0IHVudHVrICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGdvdCBiYWQgaG9zdHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgInVtb3VudDogbWVuZGFwYXRrYW4gaG9zdHAtPmhfbGVuZ3RoIHRpZGFrIGJhaWtcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tYmFkIHBhdGggbGVuZ3RoXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgdGlkYWsgdmFsaWQgLS0gcGFuamFuZyBwYXRoIGJ1cnVrXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLXdyb25nIG1hZ2ljXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgdGlkYWsgdmFsaWQtLW1hZ2ljIHNhbGFoXG4iCisKKyN+IG1zZ2lkICIlczogd2FybmluZy0tZmlsZSBsZW5ndGggdG9vIGxvbmcsIHBhZGRlZCBpbWFnZT9cbiIKKyN+IG1zZ3N0ciAiJXM6IHBlcmluZ2F0YW4tLXBhbmphbmcgZmlsZSB0ZXJsYWx1IHBhbmphbmcsIHBhZGRlZCBpbWFnZT9cbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tY3JjIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgdGlkYWsgdmFsaWQtLWNyYyBzYWxhaFxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgc3VwZXJibG9ja1xuIgorI34gbXNnc3RyICIlczogY3JhbWZzIHRpZGFrIHZhbGlkLS1zdXBlcmJsb2NrIGJ1cnVrXG4iCisKKyN+IG1zZ2lkICJmbG9jazogdW5rbm93biBvcHRpb24sIGFib3J0aW5nLlxuIgorI34gbXNnc3RyICJmbG9jazogcGlsaWhhbiB0aWRhayBkaWtldGFodWksIGRpYmF0YWxrYW4uXG4iCisKKyN+IG1zZ2lkICJVc2FnZSBmbG9jayBbLS1zaGFyZWRdIFstLXRpbWVvdXQ9c2Vjb25kc10gZmlsZW5hbWUgY29tbWFuZCB7YXJnIGFyZy4uLn1cbiIKKyN+IG1zZ3N0ciAiUGVuZ2d1bmFhbjogZmxvY2sgWy0tc2hhcmVkXSBbLS10aW1lb3V0PWRldGlrXSBmaWxlbmFtZSBjb21tYW5kIHthcmcgYXJnLi4ufVxuIgpkaWZmIC0tZ2l0IGEvcG8vaXQucG8gYi9wby9pdC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjZlZDFhCi0tLSAvZGV2L251bGwKKysrIGIvcG8vaXQucG8KQEAgLTAsMCArMSwyNTkyNyBAQAorIyBJdGFsaWFuIG1lc3NhZ2VzIGZvciB1dGlsLWxpbnV4LW5nLgorIyBDb3B5cmlnaHQgKEMpIDIwMDAsIDIwMDUsIDIwMDYsIDIwMDggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjIE1hcmNvIENvbG9tYm8gPG0uY29sb21ib0BlZC5hYy51az4sIDIwMDUsIDIwMDYsIDIwMDguCisjIEJldGggUG93ZWxsIDxicG93ZWxsQHR1cmJvbGludXguY29tPiwgMjAwMC4KKyMKKyMgcGFydGl0aW9uIHRhYmxlOiB0YXZvbGEgZGVsbGUgcGFydGl6aW9uaT8gdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pPworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eC1uZyAyLjEzLjEtcmMxXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTgtMDMtMjEgMTM6MTIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMDgtMDQtMTggMTM6NDQrMDEwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogTWFyY28gQ29sb21ibyA8bS5jb2xvbWJvQGVkLmFjLnVrPlxuIgorIkxhbmd1YWdlLVRlYW06IEl0YWxpYW4gPHRwQGxpc3RzLmxpbnV4Lml0PlxuIgorIkxhbmd1YWdlOiBpdFxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjUzIGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNDQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTMKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxMzMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTUgbWlzYy11dGlscy9raWxsLmM6MjY5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTEgbWlzYy11dGlscy9yZW5hbWUuYzoxOTkgbWlzYy11dGlscy93aGVyZWlzLmM6NTE4CisjOiBzeXMtdXRpbHMvZmxvY2suYzoxNzUgc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHN5cy11dGlscy9sZGF0dGFjaC5jOjM2OAorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE0NiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDEgc3lzLXV0aWxzL3R1bmVscC5jOjE1MgorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NTkgdGVybS11dGlscy9hZ2V0dHkuYzo4NjAgdGVybS11dGlscy9hZ2V0dHkuYzo4NjgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODY5CisjLCBmdXp6eQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJBcmdvbWVudGkgaW5zdWZmaWNpZW50aSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTggZGlzay11dGlscy9ibG9ja2Rldi5jOjI5NSBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDM5CisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDY1IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjcxOCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1OQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY0IGRpc2stdXRpbHMvZmRpc2suYzoxMDY2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMjEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozODAgZGlzay11dGlscy9mc2NrLmM6MTQ3MAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEyCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDIgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MgorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYwCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODAwIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyNAorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTcgZGlzay11dGlscy9ta3N3YXAuYzoyNDYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTMKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMyBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjcxMQorIzogZGlzay11dGlscy9zZmRpc2suYzo3NjUgZGlzay11dGlscy9zZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzo4OTgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAwNgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY1IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjUgbGliZmRpc2svc3JjL2JzZC5jOjY0MAorIzogbGliL3BhdGguYzo5NSBsaWIvcGF0aC5jOjExMyBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3NAorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0MyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1MgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzQgbG9naW4tdXRpbHMvdmlwdy5jOjI2MSBsb2dpbi11dGlscy92aXB3LmM6Mjc5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk5IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyMyBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxOTggc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODIgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5NgorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI0IHN5cy11dGlscy9lamVjdC5jOjQ5OSBzeXMtdXRpbHMvZWplY3QuYzo2OTUKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozOTYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE3IHN5cy11dGlscy9mc3RyaW0uYzo3NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMjcgc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTQgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAwCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkyIHN5cy11dGlscy9uc2VudGVyLmM6MTI5CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTkzIHN5cy11dGlscy9yZmtpbGwuYzo1NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjg2IHN5cy11dGlscy9zZXRwcml2LmM6Mjc2IHN5cy11dGlscy9zZXRwcml2LmM6NjE0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzNyBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc1IHN5cy11dGlscy9zd2Fwb24uYzo1MTgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2NyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwOCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIyIHN5cy11dGlscy93ZGN0bC5jOjM3OCBzeXMtdXRpbHMvenJhbWN0bC5jOjUwOAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzUyIHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2MAorIzogdGVybS11dGlscy9zY3JpcHQuYzo0NjggdGVybS11dGlscy9zY3JpcHQuYzo1NTkKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk4IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAxCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTkgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTM0CisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3VsLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJpbXBvc3RhIHNvbGEgbGV0dHVyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgImltcG9zdGEgbGV0dHVyYS1zY3JpdHR1cmEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgInZpc3VhbGl6emEgc29sYSBsZXR0dXJhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4CisjLCBmdXp6eQorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0CisjLCBmdXp6eQorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiZGltZW5zaW9uZSBpbm9kZSBub24gY29ycmV0dGEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJTZXR0b3JpIHN1cHBsZW1lbnRhcmkgcGVyIGNpbGluZHJvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGRlbCBibG9jY28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIiIKKworIyBGSVhNRQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgaW4gYnl0ZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgImltcG9zdGEgcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAidmlzdWFsaXp6YSByZWFkYWhlYWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImltcG9zdGEgZmlsZSBzeXN0ZW0gcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJ2aXN1YWxpenphIGZpbGUgc3lzdGVtIHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgInNjYXJpY2EgaSBidWZmZXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NgorIywgZnV6enkKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiICAgIC1xICBbbyAtLXF1aWV0XTogICAgICBlbGltaW5hIGkgbWVzc2FnZ2kgZGkgYXZ2ZXJ0aW1lbnRvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTgKK21zZ2lkICIgICAgIC0tcmVwb3J0ICAgcHJpbnQgcmVwb3J0IGZvciBzcGVjaWZpZWQgKG9yIGFsbCkgZGV2aWNlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb21tYW5kczoiCittc2dzdHIgIkNvbWFuZGkgZGlzcG9uaWJpbGk6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBpbiBzZXR0b3JpIGRhIDUxMiBieXRlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWNhdG8gZHVlIHZvbHRlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIkltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGVsIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICIlczogQ29tYW5kbyBzY29ub3NjaXV0bzogJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIHJpY2hpZWRlIHVuIGFyZ29tZW50b1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogZXJyb3JlIGRpIGlvY3RsIHN1ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyByaXVzY2l0by5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIkF2dmlhYmlsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiBDYW1iaWEgZmxhZyBhdnZpYWJpbGUgcGVyIGxhIHBhcnRpemlvbmUgY29ycmVudGUgIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiRWxpbWluYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJFbGltaW5hIGxhIHBhcnRpemlvbmUgY29ycmVudGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4Cittc2dpZCAiUmVzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIlJlZHVjZSBvciBlbmxhcmdlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiRWxpbWluYSBsYSBwYXJ0aXppb25lIGNvcnJlbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTnVvdmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJDcmVhemlvbmUgZGkgdW5hIG51b3ZhIHBhcnRpemlvbmUgbmVsbG8gc3BhemlvIGRpc3BvbmliaWxlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIkVzY2kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiRXNjaSBkYWwgcHJvZ3JhbW1hIHNlbnphIHNjcml2ZXJlIG5lbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVGlwbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICAgdCAgIG1vZGlmaWNhIGwnaWQgZGkgc2lzdGVtYSBkaSB1bmEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJIZWxwIgorbXNnc3RyICJHdWlkYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiTW9zdHJhIGRlbGxhIHNjaGVybWF0YSBkZWxsYSBndWlkYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJTb3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICIgICBmICAgYWdnaXVzdGEgbCdvcmRpbmUgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiU2NyaXZpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIlNjcml2aSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3VsIGRpc2NvIChpIGRhdGkgcG90cmViYmVybyB2ZW5pciBwZXJzaSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorIywgZnV6enkKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiU3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBzY2hlcm1vIG8gc3UgZmlsZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTcKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMxNgorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNTQKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiJXMgw6ggbW9udGF0by5cdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiZGlzY286ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2NvICVzOiAlbHUgY2lsaW5kcmksICVsdSB0ZXN0aW5lLCAlbHUgc2V0dG9yaS90cmFjY2lhXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiSWRlbnRpZmljYXRpdm8gZGlzY286IDB4JTA4eFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiZXRpY2hldHRhOiAlLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzIKKyMsIGZ1enp5Cittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICJPcHppb25lIC0tZGF0ZSBub24gc3BlY2lmaWNhdGEuXG4iCisKKyMgRklYTUUKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBpbiBieXRlIgorCisjIEZJWE1FCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgaW4gYnl0ZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgaWwgZGlzcG9zaXRpdm8gcGVyICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorIywgZnV6enkKK21zZ2lkICJUaGUgc2NyaXB0IGZpbGUgd2lsbCBiZSBhcHBsaWVkIHRvIGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBzY3JpdmVyZSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzAKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgImlvY3RsKCkgbm9uIMOoIHJpdXNjaXRvIGEgbGVnZ2VyZSBsJ29yYXJpbyBkYSAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExNgorIywgZnV6enkKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiVGlwbyBub24gdmFsaWRvXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIklsIGRpc2NvICVzIG5vbiBjb250aWVuZSB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHZhbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMjcKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2CisjLCBmdXp6eQorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAiUXVlc3RvIMOoIGNmZGlzaywgdW4gcHJvZ3JhbW1hIHBlciBsYSBwYXJ0aXppb25lIGRlaSBkaXNjaGkgYmFzYXRvIHN1IGN1cnNlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc3CisjLCBmdXp6eQorbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJjb25zZW50ZSBkaSBjcmVhcmUsIGNhbmNlbGxhcmUgZSBtb2RpZmljYXJlIGxlIHBhcnRpemlvbmkgc3VsIGRpc2NvIGZpc3NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiQ29tYW5kbyAgICAgc2lnbmlmaWNhdG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIGIgICAgICAgICAgQ2FtYmlhIGZsYWcgYXZ2aWFiaWxlIHBlciBsYSBwYXJ0aXppb25lIGNvcnJlbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIGQgICAgICAgICAgRWxpbWluYSBsYSBwYXJ0aXppb25lIGNvcnJlbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiBoICAgICAgICAgIFN0YW1wYXJlIHF1ZXN0YSBzY2hlcm1hdGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiBuICAgICAgICAgIENyZWF6aW9uZSBkaSB1bmEgbnVvdmEgcGFydGl6aW9uZSBuZWxsbyBzcGF6aW8gZGlzcG9uaWJpbGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIEVzY2UgZGFsIHByb2dyYW1tYSBzZW56YSBzY3JpdmVyZSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorIywgZnV6enkKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgICAgICAgICAgICBwYXJhbWV0cmlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgdCAgICAgICAgICBDYW1iaWEgaWwgdGlwbyBkaSBmaWxlc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgVyAgICAgICAgICBTY3JpdHR1cmEgZGVsbGEgdGFiZWxsYSBkaSBwYXJ0aXppb25lIHN1bCBkaXNjbyAoc2kgZGV2ZSBpbnNlcmlyZSBsYSBXIG1haXVzY29sYSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICBEYXRvIGNoZSBpbiBxdWVzdG8gbW9kbyDDqCBwb3NzaWJpbGUgZWxpbWluYXJlIGRhdGkgc3VsIGRpc2NvLCBzaSBkZXZlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICBjb25mZXJtYXJlIG8gbmVnYXJlIGxhIHNjcml0dHVyYSBpbnNlcmVuZG8gXCJzaVwiIG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MgorIywgZnV6enkKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiRnJlY2NpYSBTdSAgICAgIHNwb3N0YSBpbCBjdXJzb3JlIGFsbGEgcGFydGl6aW9uZSBwcmVjZWRlbnRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJGcmVjY2lhIEdpw7kgICBzcG9zdGEgaWwgY3Vyc29yZSBhbGxhIHBhcnRpemlvbmUgc3VjY2Vzc2l2YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk1CisjLCBmdXp6eQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJGcmVjY2lhIFN1ICAgICAgc3Bvc3RhIGlsIGN1cnNvcmUgYWxsYSBwYXJ0aXppb25lIHByZWNlZGVudGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJGcmVjY2lhIEdpw7kgICBzcG9zdGEgaWwgY3Vyc29yZSBhbGxhIHBhcnRpemlvbmUgc3VjY2Vzc2l2YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiTm90YTogw6ggcG9zc2liaWxlIGltbWV0dGVyZSB0dXR0aSBpIGNvbWFuZGkgaW4gbWFpdXNjb2xvIG8gbWludXNjb2xvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTkKKyMsIGZ1enp5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgImxldHRlcmUgbWFpdXNjb2xlL21pbnVzY29sZSAoZmF0dGEgZWNjZXppb25lIHBlciBXcml0ZXMpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorIywgZnV6enkKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlByZW1lcmUgdW4gdGFzdG8gcGVyIGNvbnRpbnVhcmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIG5vbiBoYSBhcmVhIGRhdGlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTW9kaWZpY2F0byBpbCB0aXBvIGRpIHNpc3RlbWEgZGVsbGEgcGFydGl6aW9uZSAlZCBpbiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJNb2RpZmljYXRvIGlsIHRpcG8gZGkgc2lzdGVtYSBkZWxsYSBwYXJ0aXppb25lICVkIGluICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0CisjLCBmdXp6eQorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgIk51b3ZhIHNoZWxsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIk5lc3N1bmEgcGFydGl6aW9uZSBkZWZpbml0YVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MjcgZGlzay11dGlscy9jZmRpc2suYzoyNTQzIGRpc2stdXRpbHMvZmRpc2suYzoxMDYzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTEKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDMyCisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiU2ljdXJvIGRpIHZvbGVyIHNjcml2ZXJlIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBkaXNjbz8gKHNpIG8gbm8pOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJzaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQwCisjLCBmdXp6eQorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJTY3JpdHR1cmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IGRpc2NvIG5vbiBlZmZldHR1YXRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiTGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIMOoIHN0YXRhIGFsdGVyYXRhIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1CisjLCBmdXp6eQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiIgorIlxuIgorIkxlIHZvY2kgbmVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIG5vbiBzb25vIG5lbGxvIHN0ZXNzbyBvcmRpbmUgZGVsIGRpc2NvXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworIywgZnV6enkKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzOAorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAibmVzc3VuIGNvbWFuZG8/XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiVXNvOiBzZmRpc2sgLS1pZCBudW1lcm8gcGFydGl6aW9uZSBkaXNwb3NpdGl2byBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXR0YXppb25lIGluIGNvcnNvLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJmYXR0b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlZlcmlmaWNhIGluIGNvcnNvLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiTGVnZ2VyZTogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmxlbWEgZHVyYW50ZSBsYSBsZXR0dXJhIGRlbCBjaWxpbmRybyAlZCwgJWQgcHJldmlzdG8sIGxldHR1cmEgJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJkYXRpIGRhbm5lZ2dpYXRpIG5lbCBjaWwgJWRcbiIKKyJDb250aW51YSAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbm9uIHNpIHRyYXR0YSBkaSB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgIkltcG9zc2liaWxlIGRldGVybWluYXJlIGlsIHRpcG8gZGkgZm9ybWF0byBhdHR1YWxlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgImZhY2NpYSAlcywgJWQgdHJhY2NlLCAlZCBzZWMvdHJhY2NpYS4gQ2FwYWNpdMOgIHRvdGFsZSAlZCBrQi5cbiIKKworIyBRdWVzdG8gbWVzc2FnZ2lvIGUgcXVlbGxvIHN1Y2Nlc3Npdm8gY29uY29yZGFubyBjb24gImZhY2NpYSIgZGVsIG1lc3NhZ2dpbyAKKyMgc29wcmEuCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJkb3BwaWEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgInNpbmdvbGEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBwcmVkZWZpbml0byAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIlV0aWxpenpvIGRlbCB2YWxvcmUgcHJlZGVmaW5pdG8gJXVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5CisjLCBmdXp6eQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlZhbG9yZSBmdW9yaSBpbnRlcnZhbGxvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgcHJlZGVmaW5pdG8gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTQgZGlzay11dGlscy9mZGlzay5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBwcmVkZWZpbml0byAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHByZWRlZmluaXRvICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBwcmVkZWZpbml0byAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorIywgZnV6enkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJDb2RpY2UgZXNhZGVjaW1hbGUgKGRpZ2l0YXJlIEwgcGVyIGVsZW5jYXJlIGkgY29kaWNpKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIkNvZGljZSBlc2FkZWNpbWFsZSAoZGlnaXRhcmUgTCBwZXIgZWxlbmNhcmUgaSBjb2RpY2kpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiSW1wb3N0YXRvIGlsIGZsYWcgY29tcGF0aWJpbGUgY29uIERPU1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCisjLCBmdXp6eQorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiSWwgZmxhZyBjb21wYXRpYmlsZSBjb24gRE9TIG5vbiDDqCBpbXBvc3RhdG9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgbm9uIGVzaXN0ZSBhbmNvcmEhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIlNjb25vc2NpdXRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiZGlzY286ICUuKnNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBpbCBmb3JrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgbGVnZ2VyZSAlcy5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiUHJpbW8gJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIG5vbiByaXVzY2l0byBzdSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIGZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogZGlzay11dGlscy9mZGlzay5jOjgyMgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIG51bWVybyBkaSBjaWxpbmRyaTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiICAgIC1IIyBbbyAtLWhlYWRzICNdOiAgICBpbXBvc3RhIGlsIG51bWVybyBkaSB0ZXN0aW5lIGRhIHV0aWxpenphcmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgbnVtZXJvIGRlaSBzZXR0b3JpIHBlciB0cmFjY2lhOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTggZGlzay11dGlscy9mZGlzay5jOjkwMCBkaXNrLXV0aWxzL3BhcnR4LmM6ODczCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKKyMsIGZ1enp5Cittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGlsIGRpc3Bvc2l0aXZvIHBlciAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJOZXNzdW5hIGRpcmVjdG9yeSAlcyFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJuZXNzdW4gY29tYW5kbz9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgIkF0dGVuemlvbmU6IGwnb3B6aW9uZSAtYiAobXBvc3RhemlvbmUgZGVsbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSkgc2kgZG92cmViYmUgdXRpbGl6emFyZSBjb24gdW4gZGlzcG9zaXRpdm8gc3BlY2lmaWNhdG9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMzMgZGlzay11dGlscy9mZGlzay5jOjEwNDggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY5NQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg3CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTY3IGRpc2stdXRpbHMvcmF3LmM6MTM3IGRpc2stdXRpbHMvcmF3LmM6MTUwCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2MiBkaXNrLXV0aWxzL3Jhdy5jOjIwMyBtaXNjLXV0aWxzL2NhbC5jOjUyMAorIzogbWlzYy11dGlscy9maW5kZnMuYzo1OCBtaXNjLXV0aWxzL2xvb2suYzoxNTAgbWlzYy11dGlscy93aGVyZWlzLmM6NTczCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo1ODQgbWlzYy11dGlscy93aGVyZWlzLmM6NTk1IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYzNworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTA0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYyIHNjaGVkdXRpbHMvdGFza3NldC5jOjE4OQorIzogc3lzLXV0aWxzL2NoY3B1LmM6MzQ0IHN5cy11dGlscy9jaG1lbS5jOjQxOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDY5CisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzIxIHN5cy11dGlscy9sb3NldHVwLmM6ODg4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDI1IHN5cy11dGlscy9sc21lbS5jOjYyOCBzeXMtdXRpbHMvbW91bnQuYzo2OTgKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxMSBzeXMtdXRpbHMvbW91bnQuYzo3ODAgc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxODEKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzIgc3lzLXV0aWxzL3N3YXBvZmYuYzoyMzAgc3lzLXV0aWxzL3N3YXBvbi5jOjk4OAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjUwIHN5cy11dGlscy91bW91bnQuYzo1MjggdGVybS11dGlscy9zZXR0ZXJtLmM6MTE3NgorIzogdGV4dC11dGlscy9jb2wuYzoyMzMgdGV4dC11dGlscy9tb3JlLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgImJhZCB1c2FnZSIKK21zZ3N0ciAidmFsb3JlIGRpIHRpbWVvdXQgbm9uIHZhbGlkbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTYgZGlzay11dGlscy9zZmRpc2suYzoxNjE2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJDcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBzdW4uIExlIG1vZGlmaWNoZSByaW1hcnJhbm5vIG1lbW9yaXp6YXRlXG4iCisic29sYW1lbnRlIGZpbm8gYSBxdWFuZG8gc2kgZGVjaWRlIGRpIHNjcml2ZXJsZS4gRG9wb2RpY2jDqSwgY2hpYXJhbWVudGUsIGlsXG4iCisiY29udGVudXRvIHByZWNlZGVudGUgbm9uIHNhcsOgIHJlY3VwZXJhYmlsZS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJVbml0w6AgZGlzY286ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJJZGVudGlmaWNhdGl2byBkaXNjbzogMHglMDh4XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2NvICVzOiAlbHUgY2lsaW5kcmksICVsdSB0ZXN0aW5lLCAlbHUgc2V0dG9yaS90cmFjY2lhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiVkIHRlc3RpbmUsICVsbHUgc2V0dG9yaS90cmFjY2UsICVkIGNpbGluZHJpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiVW5pdMOgID0gJXMgZGkgJWQgKiAlZCA9ICVkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzggZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiZGltZW5zaW9uZSBpbm9kZSBub24gY29ycmV0dGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJWkgbm9uIGluaXppYSBhbCBsaW1pdGUgZGVsIGNpbGluZHJvOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwOQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICIiCisiXG4iCisiTGUgdm9jaSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgbm9uIHNvbm8gbmVsbG8gc3Rlc3NvIG9yZGluZSBkZWwgZGlzY29cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorIywgZnV6enkKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiaW5pemlvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjI0MjYKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI5IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIxCittc2dpZCAiRW5kIgorbXNnc3RyICJGaW5lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjcKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAiU2V0dG9yaSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI5CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNAorbXNnaWQgIlNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2NvICVzOiAlbHUgY2lsaW5kcmksICVsdSB0ZXN0aW5lLCAlbHUgc2V0dG9yaS90cmFjY2lhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogQ29tYW5kbyBzY29ub3NjaXV0bzogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgZCAgIGNhbmNlbGxhemlvbmUgZGkgdW5hIHBhcnRpemlvbmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5CisjLCBmdXp6eQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICIgICBlICAgZWxlbmNvIGRlbGxlIHBhcnRpemlvbmkgZXN0ZXNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIiAgIGwgICBlbGVuY28gZGVpIHRpcGkgZGkgcGFydGl6aW9uZSBjb25vc2NpdXRpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgbiAgIGFnZ2l1bnRhIGRpIHVuYSBudW92YSBwYXJ0aXppb25lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiU3RhbXBhcmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBtb2RpZmljYSBsJ2lkIGRpIHNpc3RlbWEgZGkgdW5hIHBhcnRpemlvbmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorIywgZnV6enkKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgdiAgIHZlcmlmaWNhIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIlczogbm9uIHNpIHRyYXR0YSBkaSB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIHN0YW1wYSBkZWkgZGF0aSBncmV6emkgbmVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIgICBkICAgc3RhbXBhIGRlaSBkYXRpIGdyZXp6aSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorIywgZnV6enkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiICAgZiAgIGFnZ2l1c3RhIGwnb3JkaW5lIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgIk1pc2MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiICAgbSAgIHN0YW1wYSBkaSBxdWVzdG8gbWVudSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgICB1ICAgbW9kaWZpY2EgZGVsbGUgdW5pdMOgIGRpIHZpc3VhbGl6emF6aW9uZS9kaSBpbW1pc3Npb25lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiIHggICB1bHRlcmlvcmkgZnVuemlvbmkgKHNvbG8gcGVyIGVzcGVydGkpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE3Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiICAgdyAgIHNjcml2aSBsYSB0YWJlbGxhIHN1IGRpc2NvIGVkIGVzY2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICIgICB3ICAgc2NyaXR0dXJhIGRlbCBkaXNrbGFiZWwgc3UgZGlzY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMworIywgZnV6enkKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgIiAgIHEgICB1c2NpdGEgc2VuemEgc2FsdmF0YWdnaW8gZGVsbGUgbW9kaWZpY2hlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAiICAgciAgIHJpdG9ybm8gYWwgbWVudSBwcmluY2lwYWxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIiAgIHMgICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTdW4gdnVvdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGNyZWF6aW9uZSBkaSB1bmEgbnVvdmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIERPUyB2dW90YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIGNyZWF6aW9uZSBkaSB1bmEgbnVvdmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIERPUyB2dW90YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgY3JlYXppb25lIGRpIHVuYSBudW92YSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgRE9TIHZ1b3RhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBET1MgdnVvdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0NQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIGcgICBjcmVhIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgSVJJWCAoU0dJKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIgICBjICAgbW9kaWZpY2EgZGVsIG51bWVybyBkaSBjaWxpbmRyaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU2CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiAgIGggICBtb2RpZmljYSBkZWwgbnVtZXJvIGRpIHRlc3RpbmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIiAgIHMgICBtb2RpZmljYSBkZWwgbnVtZXJvIGRpIHNldHRvcmkvdHJhY2NpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1CisjLCBmdXp6eQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiRUZJIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgImNhbWJpYXRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzEKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgQ2FtYmlhIGJvb3RhYmxlIGZsYWciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIiAgIGMgICBjYW1iaWEgaWwgZmxhZyBjb21wYXRpYmlsZSBjb24gaWwgZG9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAiICAgYSAgIGF0dGl2YXppb25lL2Rpc2F0dGl2YXppb25lIGRpIHVuIGZsYWcgZGkgc29sYSBsZXR0dXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzcKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgIiAgIGEgICBhdHRpdmF6aW9uZS9kaXNhdHRpdmF6aW9uZSBkaSB1biBmbGFnIGRpIHNvbGEgbGV0dHVyYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIiAgIGMgICBhdHRpdmF6aW9uZS9kaXNhdHRpdmF6aW9uZSBkZWwgZmxhZyBtb250YWJpbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiAgIGEgICBtb2RpZmljYSBkZWwgbnVtZXJvIGRpIGNpbGluZHJpIGFsdGVybmF0aXZpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiICAgZSAgIG1vZGlmaWNhIGRlbCBudW1lcm8gZGVpIHNldHRvcmkgc3VwcGxlbWVudGFyaSBwZXIgY2lsaW5kcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiAgIGkgICBtb2RpZmljYSBkZWwgZmF0dG9yZSBkaSBpbnRlcmxlYXZlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIgICBvICAgbW9kaWZpY2EgZGVsbGEgdmVsb2NpdMOgIGRpIHJvdGF6aW9uZSAocnBtKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIgICB5ICAgbW9kaWZpY2EgZGVsIG51bWVybyBkaSBjaWxpbmRyaSBmaXNpY2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorIywgZnV6enkKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSByYXciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgc2VsZXppb25lIGRlbGxhIHBhcnRpemlvbmUgY2hlIMOoIHBvc3NpYmlsZSBhdnZpYXJlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiICAgYiAgIG1vZGlmaWNhIGRlbGxhIHZvY2UgYm9vdGZpbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIgICBjICAgc2VsZXppb25lIGRlbGxhIHBhcnRpemlvbmUgc3dhcCBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiICAgYSAgQ2FtYmlhIGJvb3RhYmxlIGZsYWciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorIywgZnV6enkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICIgICBiICAgbW9kaWZpY2EgZGkgYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiICAgYyAgIGNhbWJpYSBpbCBmbGFnIGNvbXBhdGliaWxlIGNvbiBpbCBkb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBiICAgc3Bvc3RhbWVudG8gZGVsbCdpbml6aW8gZGkgZGF0aSBpbiB1bmEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgY2FtYmlhIGwnaWRlbnRpZmljYXRpdm8gZGVsIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiICAgZSAgIG1vZGlmaWNhIGRlaSBkYXRpIGRlbGwndW5pdMOgIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiAgIGkgICBpbnN0YWxsYXppb25lIGRpIGJvb3RzdHJhcCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM4CisjLCBmdXp6eQorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICIgICBzICAgdmlzdWFsaXp6YXppb25lIGRlbCBkaXNrbGFiZWwgY29tcGxldG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorIywgZnV6enkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIHggICBjb2xsZWdhbWVudG8gZGVsbGEgcGFydGl6aW9uZSBCU0QgYSB1bmEgbm9uLUJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MyBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICJHdWlkYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkNvbWFuZG8gcGVyIGVzcGVydGkgKG0gcGVyIHJpY2hpYW1hcmUgbGEgZ3VpZGEpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyNQorbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIkNvbWFuZG8gKG0gcGVyIHJpY2hpYW1hcmUgbGEgZ3VpZGEpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzNQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiQ29udGludWFyZT8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IGNvbWFuZG8gc2Nvbm9zY2l1dG9cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBkaXNwb3NpdGl2byBwZXIgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlZCBjb250aWVuZSBpbCBzZXR0b3JlIDBcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIlNjcml2ZXJlIHF1ZXN0byBzdSBkaXNjbz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiICAgZiAgIGFnZ2l1c3RhIGwnb3JkaW5lIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY0MAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJQYXJ0aXppb25lIHNlbGV6aW9uYXRhICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiTW9kaWZpY2EgZGVsbGUgdW5pdMOgIGRpIHZpc3VhbGl6emF6aW9uZS9pbW1pc3Npb25lIHN1ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJNb2RpZmljYSBkZWxsZSB1bml0w6AgZGkgdmlzdWFsaXp6YXppb25lL2ltbWlzc2lvbmUgc3UgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgbW9kaWZpY2EgZGkgYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIGIgICBtb2RpZmljYSBkaSBic2QgZGlza2xhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NjEKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorIywgZnV6enkKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiTm9tZSB1dGVudGUgbm9uIHZhbGlkbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5CisjLCBmdXp6eQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIG1vZGlmaWNhIGRpIGJzZCBkaXNrbGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMzcKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJOdW1lcm8gZGkgY2lsaW5kcmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIk51bWVybyBkaSB0ZXN0aW5lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIk51bWVybyBkaSBzZXR0b3JpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgw6ggbW9udGF0by5cdCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgbGliL3BhdGguYzoxNjMgbGliL3BhdGguYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuYW1laTogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGlyZWN0b3J5IGNvcnJlbnRlIC0gJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiU2luY3Jvbml6emF6aW9uZSBkZWkgZGlzY2hpIGluIGNvcnNvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorIywgZnV6enkKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIiVzIHJpdXNjaXRvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJVdGlsaXp6byBkaSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICJlcnJvcmUgZGkgcG9zaXppb25hbWVudG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNCBkaXNrLXV0aWxzL2ZzY2suYzo1MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJmb3JrIG5vbiByaXVzY2l0b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NzgyCittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKKyMsIGZ1enp5Cittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiJXM6IGVycm9yZSAlZCBkdXJhbnRlIGxhIGRlY29tcHJlc3Npb25lISAlcCglZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6ICVzIG5vIMOoIHVuIGxwIGRldmljZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICJtb3VudDogdGlwbyBkaSBmaWxlc3lzdGVtICclcycgc2Nvbm9zY2l1dG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCisjLCBmdXp6eQorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIkZvcnphdHVyYSBjb250cm9sbG8gZmlsZXN5c3RlbSBzdSAlcyBpbiBjb3Jzby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorIywgZnV6enkKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRm9yemF0dXJhIGNvbnRyb2xsbyBmaWxlc3lzdGVtIHN1ICVzIGluIGNvcnNvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0CisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICJGb3J6YXR1cmEgY29udHJvbGxvIGZpbGVzeXN0ZW0gc3UgJXMgaW4gY29yc28uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIHQgICAgICAgICAgQ2FtYmlhIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAgICAtbCBbbyAtLWxpc3RdOiAgICAgIGVsZW5jbyBkZWxsZSBwYXJ0aXppb25pIGRpIGNpYXNjdW4gZGlzcG9zaXRpdm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiBkICAgICAgICAgIEVsaW1pbmEgbGEgcGFydGl6aW9uZSBjb3JyZW50ZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorIywgZnV6enkKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA1Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA3CisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MTMKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAiJXM6ICVzIG5vIMOoIHVuIGxwIGRldmljZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorIywgZnV6enkKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiZXNlZ3VpdG8gdW1vdW50IGRpICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIlNtb250YWdnaW8gaW4gY29yc28gZGkgcXVhbHNpYXNpIGZpbGVzeXN0ZW0gcmltYW5lbnRlLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICJTbW9udGFnZ2lvIGluIGNvcnNvIGRpIHF1YWxzaWFzaSBmaWxlc3lzdGVtIHJpbWFuZW50ZS4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ5MiBkaXNrLXV0aWxzL2ZzY2suYzoxNTg5IG1pc2MtdXRpbHMva2lsbC5jOjIzNgorIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICJTaSDDqCBzcGVjaWZpY2F0byB1biBudW1lcm8gZGkgY2lsaW5kcmkgc3VwZXJpb3JlIGEgcXVlbGxpIGNvbnRlbnV0aSBzdSBkaXNjbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2OSBtaXNjLXV0aWxzL2tpbGwuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyByaWNoaWVkZSB1biBhcmdvbWVudG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE0Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgIiVzOiBhdHRlbnppb25lIC0tIGltcG9zc2liaWxlIGRldGVybWluYXJlIGxhIGRpbWVuc2lvbmUgZGVsIGZpbGVzeXN0ZW0gXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSBvIHVuIGZpbGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCisjLCBmdXp6eQorbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiJXM6IGNyYW1mcyBub24gdmFsaWRvIC0tIGx1bmdoZXp6YSBkZWwgZmlsZSB0cm9wcG8gY29ydGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg0Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJiaWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJOdW1lcm8gZGkgc2V0dG9yaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVzIHNpIGVzdGVuZGUgZG9wbyBsYSBmaW5lIGRlbCBkaXNjb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICIlczogYXR0ZW56aW9uZSAtLSB2ZWNjaGlhIGltbWFnaW5lIGNyYW1mcywgbmVzc3VuIENSQ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE2Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICIsIGVycm9yZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDgKKyMsIGZ1enp5Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorIywgZnV6enkKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGJ1Y28gaW4gJWxkICglZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJTdXBlcmJsb2NjbzogJWQgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDE1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTgKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA5IG1pc2MtdXRpbHMvdXVpZGQuYzozNjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjQwOAorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU1MSBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjY0MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM5MyB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJtb3VudCBub24gcml1c2NpdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInZhbG9yZSBkaSB0aW1lb3V0IG5vbiB2YWxpZG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgbm9uIHJpdXNjaXRvOiAlbSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODAKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODYKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAiZGltZW5zaW9uZSBpbm9kZSBub24gY29ycmV0dGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDEKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzUKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiJXM6IGVycm9yZSBkaSBkaW1lbnNpb25lIG5lbCBjb2xsZWdhbWVudG8gc2ltYm9saWNvIFwiJXNcIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgImZzeW5jIG5vbiByaXVzY2l0byAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICJtb3VudCBub24gcml1c2NpdG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdm8gZGkgYmxvY2NoaSBub24gdmFsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkZvcnphdHVyYSBjb250cm9sbG8gZmlsZXN5c3RlbSBzdSAlcyBpbiBjb3Jzby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIFsgLWZpbGUgZHVtcGZpbGVuYW1lIF1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAidGVybWluYWxlIG5lY2Vzc2FyaW8gcGVyIGxlIHJpcGFyYXppb25pIGludGVyYXR0aXZlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIHQgICAgICAgICAgQ2FtYmlhIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIMOoIG1vbnRhdG8uXHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiQ29udGludWFyZT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJjb250cm9sbG8gaW50ZXJyb3R0by5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIiBOLiB6b25hIDwgRklSU1RaT05FIG5lbCBmaWxlIGAlcyciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJOLiBab25hID49IFpPTkVTIG5lbCBmaWxlIGAlcyciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIlJpbXVvdmVyZSBibG9jY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJyb3JlIGRpIGxldHR1cmE6IHJpY2VyY2EgZGVsIGJsb2NjbyBuZWwgZmlsZSAnJXMnIGltcG9zc2liaWxlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkVycm9yZSBkaSBsZXR0dXJhOiBibG9jY28gZGFubmVnZ2lhdG8gbmVsIGZpbGUgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJFcnJvcmUgaW50ZXJubzogbmVsIHRlbnRhdGl2byBkaSBzY3JpdmVyZSBpbCBibG9jY28gZGFubmVnZ2lhdG9cbiIKKyJpZ25vcmF0YSBsYSByaWNoaWVzdGEgZGkgc2NyaXR0dXJhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJ0ZW50YXRpdm8gZmFsbGl0byBpbiB3cml0ZV9ibG9jayAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvcmUgZGkgc2NyaXR0dXJhOiBibG9jY28gZGFubmVnZ2lhdG8gbmVsIGZpbGUgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo0MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGJsb2NrIG91dCBvZiByYW5nZVxuIgorbXNnc3RyICJBdHRlbnppb25lOiBjb250ZWdnaW8gaW5vZGUgdHJvcHBvIGdyYW5kZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgInJpY2VyY2EgZmFsbGl0YSBpbiB3cml0ZV9zdXBlcl9ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbiBzdXBlci1ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgbmVsbGEgbWFwcGEgZGkgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgbmVsbGEgbWFwcGEgZGkgem9uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgc2NyaXZlcmUgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbGxvY2FyZSBpIGJ1ZmZlciBwZXIgbGUgbWFwcGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIHN1cGVyIGJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJudW1lcm8gbWFnaWNvIGRhbm5lZ2dpYXRvIGluIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIsOIIHN1cHBvcnRhdG8gc29sYW1lbnRlIDFrIGJsb2NjaGkvem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkzCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfaW1hcF9ibG9ja3MgZGFubmVnZ2lhdG8gaW4gc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJjYW1wbyBzX2ltYXBfYmxvY2tzIGRhbm5lZ2dpYXRvIGluIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiY2FtcG8gc19pbWFwX2Jsb2NrcyBkYW5uZWdnaWF0byBpbiBzdXBlci1ibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfem1hcF9ibG9ja3MgZGFubmVnZ2lhdG8gaW4gc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyIHBlciBsYSBtYXBwYSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlciBwZXIgbGEgbWFwcGEgem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGdsaSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlciBwZXIgaWwgY29udGVnZ2lvIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjgKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGlsIGNvbnRlZ2dpbyB6b25hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgbGEgbWFwcGEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJJbXBvc3NpYmlsZSBsZWdnZXJlIGxhIG1hcHBhIGRpIHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgbGVnZ2VyZSBnbGkgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiQXR0ZW56aW9uZTogcHJpbWEgem9uYSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICJJbm9kZSAlbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiYmxvY2NoaSAlbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiUHJpbWEgem9uYSBkYXRpPSVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiRGltZW5zaW9uZSB6b25hPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiRGltZW5zaW9uZSBtYXNzaW1hPSVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJTdGF0byBkZWwgZmlsZXN5c3RlbT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisibHVuZ2hlenphbm9tPSVkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJbm9kZSAlZCBjb250cmFzc2VnbmF0byBub24gdXRpbGl6emF0bywgbWEgdXRpbGl6emF0byBwZXIgaWwgZmlsZSAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiU2Vnbm8gaW4gdXNvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJJbCBmaWxlIGAlcycgaGEgbW9kYWxpdMOgICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBdHRlbnppb25lOiBjb250ZWdnaW8gaW5vZGUgdHJvcHBvIGdyYW5kZS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiSWwgYmxvY2NvIMOoIHN0YXRvIHV0aWxpenphdG8gaW4gcHJlY2VkZW56YS4gT3JhIG5lbCBmaWxlIGAlcyciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIkNhbmNlbGxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIklsIGJsb2NjbyAlZCBuZWwgZmlsZSBgJXMnIMOoIG1hcmNhdG8gY29tZSBub24gaW4gdXNvLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNgorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIkNvcnJldHRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkxhIGRpcmVjdG9yeSAnJXMnIGNvbnRpZW5lIHVuIG51bWVybyBpbm9kZSBub24gY29ycmV0dG8gcGVyIGlsIGZpbGUgJyUuKnMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNDEKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgUmltdW92ZXJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBkaXJlY3RvcnkgZGFubmVnZ2lhdGE6ICcuJyBub24gw6ggbGEgcHJpbWFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiBkaXJlY3RvcnkgZGFubmVnZ2lhdGE6ICcuLicgbm9uIMOoIGxhIHNlY29uZGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIzCittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgImVycm9yZSBpbnRlcm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yeSBkYW5uZWdnaWF0YTogZGltZW5zaW9uZSA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IGRpcmVjdG9yeSBkYW5uZWdnaWF0YTogJy4nIG5vbiDDqCBsYSBwcmltYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgInJpY2VyY2EgaW4gYmFkX3pvbmUgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiTW9kYWxpdMOgIGRlbGwnaW5vZGUgJWQgbm9uIGNhbmNlbGxhdGEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVkIG5vbiB1dGlsaXp6YXRvLCBpbm9kZSBjb250cmFzc2VnbmF0byB1dGlsaXp6YXRvIGluIGJpdG1hcCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWQgdXRpbGl6emF0bywgaW5vZGUgY29udHJhc3NlZ25hdG8gbm9uIHV0aWxpenphdG8gaW4gYml0bWFwLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIwCittc2dpZCAiU2V0IgorbXNnc3RyICJJbXBvc3RhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVkIChtb2RhbGl0w6AgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvbnRlZ2dpYXRpPSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI3Cittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJJbXBvc3RhcmUgaV9ubGlua3MgZGEgY29udGVnZ2lhcmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmEgJWQ6IGNvbnRyYXNzZWduYXRhIGluIHVzbywgbmVzc3VuIGZpbGUgbGEgdXRpbGl6emEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDEKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIk5vbiBjb250cmFzc2VnbmF0YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmEgJWQ6IHV0aWxpenphdGEsIGNvbnRlZ2dpYXRpPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlZDogbm9uIGluIHVzbywgY29udGVnZ2lhdGk9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMwMQorbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIHYyIG5vbiBjb3JyZXR0YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgInRlcm1pbmFsZSBuZWNlc3NhcmlvIHBlciBsZSByaXBhcmF6aW9uaSBpbnRlcmF0dGl2ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICInJXMnIMOoIGNvcnJldHRvLCBub24gY29udHJvbGxhcmUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJGb3J6YXR1cmEgY29udHJvbGxvIGZpbGVzeXN0ZW0gc3UgJXMgaW4gY29yc28uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIklsIGZpbGVzeXN0ZW0gc3UgJXMgw6ggZGFubmVnZ2lhdG8sIGNvbnRyb2xsbyBuZWNlc3NhcmlvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgaW5vZGUgdXRpbGl6emF0aSAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25lIHV0aWxpenphdGUgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIGZpbGUgcmVnb2xhcmlcbiIKKyIlNmQgZGlyZWN0b3J5XG4iCisiJTZkIGZpbGUgZGkgZGlzcG9zaXRpdm8gYSBjYXJhdHRlcmlcbiIKKyIlNmQgZmlsZSBkaSBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKyIlNmQgY29sbGVnYW1lbnRpXG4iCisiJTZkIGNvbGxlZ2FtZW50aSBzaW1ib2xpY2lcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIklMIEZJTEUgU1lTVEVNIMOIIFNUQVRPIE1PRElGSUNBVE9cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQzMiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzgKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTQxIGRpc2stdXRpbHMvcGFydHguYzoxMDU4IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExNAorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwMAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTEgc3lzLXV0aWxzL2RtZXNnLmM6NjYxIHN5cy11dGlscy93ZGN0bC5jOjM0NworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDEyIHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjk4IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzc1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODcgdGV4dC11dGlscy9wZy5jOjEyNTYKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMSBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzOiBlcnJvcmUgZGkgbGV0dHVyYSBzdSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgIm51bWVybyBzZXR0b3JpOiAlZCwgZGltZW5zaW9uZSBzZXR0b3JpOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJOdW1lcm8gbm9uIHZhbGlkbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJub21lIGRpIHZvbHVtZSB0cm9wcG8gbHVuZ28iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibm9tZSBkZWwgZmlsZXN5c3RlbSB0cm9wcG8gbHVuZ28iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICJhcmdvbWVudG8gZGVpIGJsb2NjaGkgdHJvcHBvIGxhcmdvLCBpbCBtYXNzaW1vIMOoICVsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgInRyb3BwaSBpbm9kZSAtIGlsIG1hc3NpbW8gw6ggNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJzcGF6aW8gaW5zdWZmaWNpZW50ZSwgc29ubyBuZWNlc3NhcmkgYWxtZW5vICVsdSBibG9jY2hpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiRGlzcG9zaXRpdm86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiVm9sdW1lOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJOb21lIGZpbGVzeXN0ZW06IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiRGltZW5zaW9uaSBibG9jY286ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbm9kZTogJWQgKGluIDEgYmxvY2NvKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlOiAlZCAoaW4gJWxkIGJsb2NjaGkpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9jY2hpOiAlbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiRmluZSBpbm9kZTogJWQsIGZpbmUgZGF0aTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgc2NyaXR0dXJhIGRlbCBzdXBlcmJsb2NjbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgc2NyaXR0dXJhIGRlbGwnaW5vZGUgcmFkaWNlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgc2NyaXR0dXJhIGRlbGwnaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJlcnJvcmUgZGkgcG9zaXppb25hbWVudG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImVycm9yZSBkdXJhbnRlIGxhIHNjcml0dHVyYSBkaSBcIi5cIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwMQorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgImVycm9yZSBkdXJhbnRlIGxhIHNjcml0dHVyYSBkaSBcIi4uXCIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgY2hpdXN1cmEgZGkgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICJVc286IG1rZnMgWy1WXSBbLXQgdGlwb2ZzXSBbb3B6aW9uaS1mc10gZGlzcG9zaXRpdm8gW2RpbWVuc2lvbmVdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAibCdpbm9kZSByYWRpY2Ugbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImZpbGVzeXN0ZW0gdHJvcHBvIGdyYW5kZS4gVXNjaXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStkIGJ5dGUpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgJyVzJyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJJbmNsdXNvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIkRhdGkgZGlyZWN0b3J5OiAlZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiVHV0dG86ICVkIGtpbG9ieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9jY286ICVkIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAic3BhemlvIGluc3VmZmljaWVudGUgYWxsb2NhdG8gcGVyIGwnaW1tYWdpbmUgUk9NICglbGxkIGFsbG9jYXRpLCAlZCB1c2F0aSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsJ2ltbWFnaW5lIFJPTSBub24gcml1c2NpdGEgKCVkICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk0Cittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJhdHRlbnppb25lOiBub21pIGRpIGZpbGUgdHJvbmNhdGkgYSAyNTUgYnl0ZS5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgImF0dGVuemlvbmU6IGFsY3VuaSBmaWxlIHNvbm8gc3RhdGkgaWdub3JhdGkgYSBjYXVzYSBkaSBlcnJvcmkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiYXR0ZW56aW9uZTogZGltZW5zaW9uaSBkZWkgZmlsZSB0cm9uY2F0ZSBhICVsdU1CIChtZW5vIDEgYnl0ZSkuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImF0dGVuemlvbmU6IHVpZCB0cm9uY2F0aSBhICV1IGJpdC4gKFF1ZXN0byBwdcOyIGVzc2VyZSB1biBwcm9ibGVtYSBkaSBzaWN1cmV6emEpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgImF0dGVuemlvbmU6IGdpZCB0cm9uY2F0aSBhICV1IGJpdC4gKFF1ZXN0byBwdcOyIGVzc2VyZSB1biBwcm9ibGVtYSBkaSBzaWN1cmV6emEpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyJBVFRFTlpJT05FOiBudW1lcmkgZGkgZGV2aWNlIHRyb25jYXRpIGEgJXUgYml0LiBRdWVzdG8gc2lnbmlmaWNhIHF1YXNpXG4iCisiY2VydGFtZW50ZSBjaGUgYWxjdW5pIGZpbGUgZGkgZGV2aWNlIHNhcmFubm8gc2JhZ2xpYXRpLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorIywgZnV6enkKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIG51bWVybyBkaSBjaWxpbmRyaTogIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDYKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAidGVudGF0aXZvIGRpIGVmZmV0dHVhcmUgaWwgYm9vdCBkZWwgYmxvY2NvIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY2FuY2VsbGFyZSBpbCBzZXR0b3JlIGRpIGJvb3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGluIHN1cGVyLWJsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBuZWxsYSBtYXBwYSBkZWdsaSBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBuZWxsYSBtYXBwYSBkZWxsZSB6b25lIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInRlbnRhdGl2byBmYWxsaXRvIGluIHdyaXRlX2Jsb2NrICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJzY3JpdHR1cmEgaW4gd3JpdGVfYmxvY2sgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk4CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICJ0cm9wcGkgYmxvY2NoaSBkYW5uZWdnaWF0aSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAibnVtZXJvIGluc3VmZmljaWVudGUgZGkgYmxvY2NoaSBjb3JyZXR0aSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIklub2RlICVsZFxuIgorbXNnc3RyWzFdICJJbm9kZSAlbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICJibG9jY2hpICVsZFxuIgorbXNnc3RyWzFdICJibG9jY2hpICVsZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJEaW1lbnNpb25lIHpvbmE9JWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkRpbWVuc2lvbmUgbWF4PSVsZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIGR1cmFudGUgaWwgY29udHJvbGxvIGRlaSBibG9jY2hpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgIlZhbG9yaSBzdHJhbmkgaW4gZG9fY2hlY2s6IHByb2JhYmlsbWVudGUgc29ubyBwcmVzZW50aSBkZWkgYnVnXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAicmljZXJjYSBpbiBjaGVja19ibG9ja3Mgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICJibG9jY2hpIGRhbm5lZ2dpYXRpIHByaW1hIGRlbGwnYXJlYSBkYXRpOiBpbXBvc3NpYmlsZSBjcmVhcmUgZnMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0MSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGJsb2NjaGkgZGFubmVnZ2lhdGlcbiIKK21zZ3N0clsxXSAiJWQgYmxvY2NoaSBkYW5uZWdnaWF0aVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgZGVpIGJsb2NjaGkgZGFubmVnZ2lhdGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBsZWdnZXJlIGwndW5pdMOgIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICJOdW1lcm8gZGkgc2V0dG9yaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI1IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3MQorbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzg2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgw6ggbW9udGF0YTsgcXVpIG5vbiB2ZXJyw6AgY3JlYXRvIHVuIGZpbGVzeXN0ZW0hIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJkaW1lbnNpb25lIHBhZ2luYSAlZCBzcGVjaWZpY2F0YSBkYWxsJ3V0ZW50ZSBub24gY29ycmV0dGFcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIlV0aWxpenpvIGxhIGRpbWVuc2lvbmUgcGFnaW5hICVkIHNwZWNpZmljYXRhIGRhbGwndXRlbnRlLCBhbCBwb3N0byBkZWwgdmFsb3JlIGRpIHNpc3RlbWEgJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkwnZXRpY2hldHRhIMOoIHN0YXRhIHRyb25jYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJuZXNzdW5hIGV0aWNoZXR0YSwgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIm5lc3N1biB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUzCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAidHJvcHBlIHBhZ2luZSBkYW5uZWdnaWF0ZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInJpY2VyY2EgaW4gY2hlY2tfYmxvY2tzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSBwYWdpbmUgZGFubmVnZ2lhdGVcbiIKK21zZ3N0clsxXSAiJWx1IHBhZ2luZSBkYW5uZWdnaWF0ZVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGdsaSBpbm9kZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgImltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlciBwZXIgZ2xpIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiQXR0ZW56aW9uZTogTCdvcHppb25lIG5hbWxlbiBub24gw6ggZ2VzdGl0YS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MgorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY2FuY2VsbGFyZSBpbCBzZXR0b3JlIGRpIGJvb3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBjYW5jZWxsYXJlIGlsIHNldHRvcmUgZGkgYm9vdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgcCAgIHN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgQlNEIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgcyAgIHZpc3VhbGl6emF6aW9uZSBkZWwgZGlza2xhYmVsIGNvbXBsZXRvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJVdGlsaXp6YXJlICVzIC1sIHBlciBjb25zdWx0YXJlIGwnZWxlbmNvLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgc3VsbGEgcGFnaW5hIGRpIGZpcm1hIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OAorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAic2VtYWZvcmkgYWxsb2NhdGkgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorIywgZnV6enkKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiVzOiBlcnJvcmU6IG5vbiDDqCBwb3NzaWJpbGUgaW1wb3N0YXJlIHN3YXAgaW4gbmVzc3VuYSBwb3NpemlvbmU/XG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICIlczogZXJyb3JlOiBsYSBkaW1lbnNpb25lICVsdSDDqCBtYWdnaW9yZSBkaSBxdWVsbGEgZGVsIGRpc3Bvc2l0aXZvICVsdVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICIlczogZXJyb3JlOiBsJ2FyZWEgZGkgc3dhcCBkZXZlIGVxdWl2YWxlcmUgYWxtZW5vIGEgJWxka0JcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICIlczogYXR0ZW56aW9uZTogdHJvbmNhbWVudG8gYXJlYSBzd2FwIGEgJWxka0JcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6IGVycm9yZTogJXMgw6ggbW9udGF0YTsgcXVpIG5vbiB2ZXJyw6AgY3JlYXRvIHVubyBzcGF6aW8gZGkgc3dhcC5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGF0dGVuemlvbmU6ICVzIGhhIHBlcm1lc3NpICUwNG8gbm9uIHNpY3VyaSwgc2kgc3VnZ2VyaXNjZSAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogYXR0ZW56aW9uZTogJXMgaGEgcGVybWVzc2kgJTA0byBub24gc2ljdXJpLCBzaSBzdWdnZXJpc2NlICUwNG9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODkKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIkltcG9zc2liaWxlIGltcG9zdGFyZSBsbyBzcGF6aW8tc3dhcDogbm9uIGxlZ2dpYmlsZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJJbXBvc3RhemlvbmUgc3BhemlvIGRpIHN3YXAgdmVyc2lvbmUgJWQsIGRpbWVuc2lvbmUgPSAlbGx1IGtCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgY3JlYXJlIHVuIG51b3ZvIGNvbnRlc3RvIHNlbGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIyCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgcmlub21pbmFyZSAlcyBpbiAlczogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJTdGFtcGFyZSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorIywgZnV6enkKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJOdW1lcm8gZGkgc2V0dG9yaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJTY3JpdHR1cmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IGRpc2NvIGluIGNvcnNvLi4uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE0IHN5cy11dGlscy9sb3NldHVwLmM6NTIxIHN5cy11dGlscy9sb3NldHVwLmM6NjMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIyBGSVhNRQorIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgdW4gbG9vcCBkZXZpY2UgbGliZXJvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJtb3VudDogc2kgaW50ZW5kZSB1dGlsaXp6YXJlIGlsIGxvb3AgZGV2aWNlICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogQ29tYW5kbyBzY29ub3NjaXV0bzogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiUXVlc3RhIHBhcnRpemlvbmUgZXNpc3RlIGdpw6AuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAibm9uIMOoIGNvbnRlbnV0YSBuZWxsYSBwYXJ0aXppb25lICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbGUgcGFydGl6aW9uaSAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbGUgcGFydGl6aW9uaSAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICJOZXNzdW5hIHBhcnRpemlvbmUgZGVmaW5pdGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICJOZXNzdW5hIHBhcnRpemlvbmUgZGVmaW5pdGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJQYXJ0aXppb25lIHNlbGV6aW9uYXRhICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIgICBwICAgc3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBCU0QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICJJbCBkaXNjbyAlcyBub24gY29udGllbmUgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2YWxpZGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU3Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MworIywgZnV6enkKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIgICAgICAgICAgICAgcGFyYW1ldHJpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAtVCBbbyAtLWxpc3QtdHlwZXNdOmVsZW5jYSBpIHRpcGkgZGkgcGFydGl6aW9uZSBjb25vc2NpdXRpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzczIHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiIgorIkxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSDDqCBzdGF0YSBhbHRlcmF0YSFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgY2FuY2VsbGFyZSB1bmEgcGFydGl6aW9uZSB2dW90YSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJJbXBvc3NpYmlsZSBmYXJlIGlsIGxvY2sgZGVsIGZpbGUgZGkgbG9jayAlczogJXNcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiQXR0ZW56aW9uZTogJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3RhdCBzdWwgZGlzcG9zaXRpdm8gJXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3RhdCBzdWwgZGlzcG9zaXRpdm8gJXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiL2Rldi8lczogbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGRpIGNhcmF0dGVyaSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIiVzIG5vbiDDqCB1biBkaXNwb3NpdGl2byBzcGVjaWFsZSBhIGJsb2NjaGkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgImVycm9yZSBmZXJtYW5kbyBpbCBzZXJ2aXppbyBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU4IGRpc2stdXRpbHMvcmF3LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI3MgorIywgZnV6enkKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgImVycm9yZSBmZXJtYW5kbyBpbCBzZXJ2aXppbyBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiVXNvOiBzZmRpc2sgLS1pZCBudW1lcm8gcGFydGl6aW9uZSBkaXNwb3NpdGl2byBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjI0Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9yayIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDMgbGliZmRpc2svc3JjL2JzZC5jOjcyMiBsaWJmZGlzay9zcmMvYnNkLmM6ODk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgc3VsbGEgcGFnaW5hIGRpIGZpcm1hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgc3VsbGEgcGFnaW5hIGRpIGZpcm1hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NQorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKKyMsIGZ1enp5Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkyCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQyCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlICclcyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIlNjcml2ZXJlIHF1ZXN0byBzdSBkaXNjbz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICIiCisiTGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIMOoIHN0YXRhIGFsdGVyYXRhIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIkxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSDDqCBzdGF0YSBhbHRlcmF0YSFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjM0Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJOb21lIElkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiICVzOiB0aXBvIGRpIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBub24gcmljb25vc2NpdXRvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgInRvdGFsZTogJWxsdSBibG9jY2hpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk0IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzIgZGlzay11dGlscy9zZmRpc2suYzoxMDk2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTEgZGlzay11dGlscy9zZmRpc2suYzoxMjA3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MQorIywgZnV6enkKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiBsb29wIGRldmljZSBzcGVjaWZpY2F0byBkdWUgdm9sdGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3RhdCBzdWwgZGlzcG9zaXRpdm8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTA5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiSWwgZGlzY28gJXMgbm9uIGNvbnRpZW5lIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgdmFsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiTmVzc3VuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICJJbCBkaXNjbyAlcyBub24gY29udGllbmUgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2YWxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlZCBzaSBzb3ZyYXBwb25lIGFsbGEgcGFydGl6aW9uZSAlZC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMQorIywgZnV6enkKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiT3B6aW9uZSAtLWRhdGUgbm9uIHNwZWNpZmljYXRhLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIklsIGRpc2NvICVzIG5vbiBjb250aWVuZSB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHZhbGlkYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJJbCBkaXNjbyAlcyBub24gY29udGllbmUgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2YWxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiSWwgZGlzY28gJXMgbm9uIGNvbnRpZW5lIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgdmFsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICJJbCBkaXNjbyAlcyBub24gY29udGllbmUgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2YWxpZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg3CisjLCBmdXp6eQorbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5CisjLCBmdXp6eQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgdyAgIHNjcml2aSBsYSB0YWJlbGxhIHN1IGRpc2NvIGVkIGVzY2kiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MAorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkyCisjLCBmdXp6eQorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwICAgc3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBCU0QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworIywgZnV6enkKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTQKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxILFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKKyMsIGZ1enp5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIkltcG9zc2liaWxlIHNjcml2ZXJlIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1CisjLCBmdXp6eQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiIG4gICAgICAgICAgQ3JlYXppb25lIGRpIHVuYSBudW92YSBwYXJ0aXppb25lIG5lbGxvIHNwYXppbyBkaXNwb25pYmlsZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmVzc3VuIGNvbWFuZG8/XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmVzc3VuIGNvbWFuZG8/XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBzZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiSWwgZGlzY28gJXMgbm9uIGNvbnRpZW5lIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgdmFsaWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIk5lc3N1bmEgcGFydGl6aW9uZSBkZWZpbml0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorIywgZnV6enkKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiVmVyaWZpY2EgaW4gY29yc28gY2hlIGluIHF1ZXN0byBtb21lbnRvIG5lc3N1bm8gc3RpYSB1dGlsaXp6YW5kbyBxdWVzdG8gZGlzY28uLi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJcbiIKKyJRdWVzdG8gZGlzY28gw6ggYXR0dWFsbWVudGUgaW4gdXNvOiByaXBhcnRpcmxvIMOoIHByb2JhYmlsbWVudGUgdW5hIGNhdHRpdmEgaWRlYS5cbiIKKyJTbW9udGFyZSB0dXR0aSBpIGZpbGUgc3lzdGVtIGUgYXJyZXN0YXJlIGxlIHBhcnRpemlvbmkgc3dhcCBzdSBxdWVzdG8gZGlzY28uXG4iCisiVXNhcmUgbCdvcHppb25lIC0tbm8tcmVyZWFkIHBlciBlbGltaW5hcmUgcXVlc3RvIGNvbnRyb2xsby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJVdGlsaXp6YXJlIGlsIGZsYWcgLWZvcmNlIHBlciBvbHRyZXBhc3NhcmUgdHV0dGkgaSBjb250cm9sbGkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNQorIywgZnV6enkKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICJWZWNjaGlhIHNpdHVhemlvbmU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisiJXM6ICVzXG4iCisiUHJvdmFyZSBcIiVzIC0taGVscFwiIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIk5vbiBzaSDDqCB0cm92YXRhIGFsY3VuYSBwYXJ0aXppb25lXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNAorIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICIiCisiRmluZVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjYKKyMsIGZ1enp5Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiTm9uIGNyZWFyZSB1bmEgcGFydGl6aW9uZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzM1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJyaWNlcmNhIGluIHdyaXRlX3RhYmxlcyBub24gcml1c2NpdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzc3Cittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiTnVvdmEgc2l0dWF6aW9uZTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIlNjcml2ZXJlIHF1ZXN0byBzdSBkaXNjbz8gW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICJVc286IG5hbWVpIFstbXhdIG5vbWUgcGVyY29yc28gW25vbWUgcGVyY29yc28gLi4uXVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIChQKU1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBkZWxsYSB2ZXJzaW9uZSBnZXRvcHQoMSlcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1CisjLCBmdXp6eQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYwCittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKKyMsIGZ1enp5Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiICAgIC1jIFtvIC0taWRdOiAgICAgICAgc3RhbXBhIG8gbW9kaWZpY2EgZGVsbCdJZCBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtTiMgOiAgICAgICAgICAgICAgICBtb2RpZmljYSBzb2xhbWVudGUgbGEgcGFydGl6aW9uZSBjb24gbnVtZXJvICMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NworbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODczCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICLDiCBwb3NzaWJpbGUgZGlzYXR0aXZhcmUgdHV0dGUgbGUgdmVyaWZpY2hlIGRpIGNvZXJlbnphIGNvbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtSCMgW28gLS1oZWFkcyAjXTogICAgaW1wb3N0YSBpbCBudW1lcm8gZGkgdGVzdGluZSBkYSB1dGlsaXp6YXJlIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogZGlzay11dGlscy9zZmRpc2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgICAtcSAgW28gLS1xdWlldF06ICAgICAgZWxpbWluYSBpIG1lc3NhZ2dpIGRpIGF2dmVydGltZW50byIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9c2hlbGwgICAgICAgICAgICBJbXBvc3RhIGxhIHNoZWxsIFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODgKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NSBpbmNsdWRlL2MuaDozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyBkYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxNTIKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyIlczogJXNcbiIKKyJQcm92YXJlIFwiJXMgLS1oZWxwXCIgcGVyIHVsdGVyaW9yaSBpbmZvcm1hemlvbmkuXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIlVzbzpcbiIKKworIzogaW5jbHVkZS9jLmg6MzE5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIwCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzIyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgIkNvbWFuZGkgZGlzcG9uaWJpbGk6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNQorIywgZnV6enkKK21zZ2lkICJkaXNwbGF5IHRoaXMgaGVscCIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzaW9uZSIKKworIzogaW5jbHVkZS9jLmg6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiY29sOiBlcnJvcmUgaW4gc2NyaXR0dXJhLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJMb2dpbiBhICVzIGRhICVzIG5lZ2F0byBwZXIgaW1wb3N0YXppb25lIHByZWRlZmluaXRhLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiTG9naW4gYSAlcyBkYSAlcyBuZWdhdG8gcGVyIGltcG9zdGF6aW9uZSBwcmVkZWZpbml0YS5cbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDI2CisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMzAgdGVybS11dGlscy9hZ2V0dHkuYzoxMTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJWdW90byIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiRXN0ZXNvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIkZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4CisjLCBmdXp6eQorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggYXZ2aWFiaWxlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIEJvb3QgTWFuYWdlciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBFc3Rlc28gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIkZBVDEyIG5hc2Nvc3RvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiRGlhZ25vc3RpY2EgQ29tcGFxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiBuYXNjb3N0byA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiRkFUMTYgbmFzY29zdG8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiSFBGUy9OVEZTIG5hc2Nvc3RvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIgbmFzY29zdG8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIG5hc2Nvc3RvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSBuYXNjb3N0byIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworIywgZnV6enkKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiSFBGUy9OVEZTIG5hc2Nvc3RvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJSZWN1cGVybyBQYXJ0aXRpb25NYWdpYyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyYSBwYXJ0aXouIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDNyZCBwYXJ0aXouIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiIEVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIiBTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgbyBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIlZlY2NoaW8gTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gdmVjY2hpbyBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggc3dhcCAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IGVzdGVzbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgInNldCB2b2x1bWUgTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJYmVybmF6aW9uZSBJQk0gVGhpbmtwYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKKyMsIGZ1enp5Cittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiT1MvMiBIUEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJCb290IFdpemFyZCBoaWRkZW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJOb24tRlMgZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3CisjLCBmdXp6eQorbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQXZ2aW8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiYWNjZXNzbyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKKyMsIGZ1enp5Cittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJjb2w6IGFyZ29tZW50byAtbCBub24gdmFsaWRvIHBlciAlcy5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2Vjb25kYXJpbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJBdXRvcmlsZXZhbWVudG8gcmFpZCBkaSBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIkF0dGVuemlvbmU6ICVzIG5vbiDDqCB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MCBsaWJmZGlzay9zcmMvYXNrLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJQYXJ0aXppb25lIHNlbGV6aW9uYXRhICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiTm9uIGNpIHNvbm8gc2V0dG9yaSBsaWJlcmkgZGlzcG9uaWJpbGlcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBub24gZXNpc3RlIGFuY29yYSFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJMYSBwYXJ0aXppb25lICVzIGhhIHNldHRvcmUgZGkgaW5pemlvIDAgbm9uIHZhbGlkby5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJOb24gZXNpc3RlIHBhcnRpemlvbmUgKkJTRCBzdSAlcy5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJjaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlVsdGltbyAlcyBvICtzaXplIG8gK3NpemVNIG8gK3NpemVLICIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NiBsaWJmZGlzay9zcmMvZG9zLmM6MTIxOCBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworIywgZnV6enkKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiVWx0aW1vICVzIG8gK3NpemUgbyArc2l6ZU0gbyArc2l6ZUsgIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIG5vbiBjb250aWVuZSBkaXNrbGFiZWwuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkNyZWFyZSB1biBkaXNrbGFiZWw/IChzL24pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgIkRpc2siCittc2dzdHIgImRpc2NvOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTUKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYyIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIkZsYWciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgcmltb3ZpYmlsZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJhZHNlY3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJieXRlL3NldHRvcmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJ0cmFjY2UvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODUKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAic2V0dG9yaS9jaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTUgbGliZmRpc2svc3JjL3N1bi5jOjc3MworIywgZnV6enkKK21zZ2lkICJScG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiaW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMAorIywgZnV6enkKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJoZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInJpY2VyY2EgdHJhY2NpYS1hLXRyYWNjaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGUvc2V0dG9yZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNldHRvcmkvdHJhY2NpYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAidHJhY2NlL2NpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJjaWxpbmRyaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgInNldHRvcmkvY2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgImludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaGVhZHN3aXRjaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInJpY2VyY2EgdHJhY2NpYS1hLXRyYWNjaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIkJvb3RzdHJhcDogJXNib290IC0+IGJvb3QlcyAoJXMpOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDMKKyMsIGZ1enp5Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiU292cmFwcG9zaXppb25lIGRlbCBib290c3RyYXAgY29uIGlsIGRpc2tsYWJlbCFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIkJvb3RzdHJhcCBpbnN0YWxsYXRvIHN1ICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiVW5pdMOgIGRpc2NvOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTExIGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6Njg4CisjLCBmdXp6eQorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTaW5jcm9uaXp6YXppb25lIGRlaSBkaXNjaGkgaW4gY29yc28uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIGNvbGxlZ2FtZW50byBkZWxsYSBwYXJ0aXppb25lIEJTRCBhIHVuYSBub24tQlNEIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNQorbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorIywgZnV6enkKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJDaGlhbWF0YSBkaSBpb2N0bCgpIHBlciByaWxlZ2dlcmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiUmlsZXR0dXJhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBpbiBjb3Jzby4uLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NworIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIiIKKyJcbiIKKyJBVFRFTlpJT05FOiBSaWxldHR1cmEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIGZhbGxpdGEgY29uIGVycm9yZSAlZDogJXMuXG4iCisiSWwga2VybmVsIHVzYSBhbmNvcmEgbGEgdGFiZWxsYSBwcmVjZWRlbnRlLlxuIgorIkxhIG51b3ZhIHRhYmVsbGEgc2Fyw6AgdXNhdGEgYWwgcHJvc3NpbW8gcmlhdnZpby5cbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIlczogbm9uIHNpIHRyYXR0YSBkaSB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAiIgorIlxuIgorIkFUVEVOWklPTkU6IFJpbGV0dHVyYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgZmFsbGl0YSBjb24gZXJyb3JlICVkOiAlcy5cbiIKKyJJbCBrZXJuZWwgdXNhIGFuY29yYSBsYSB0YWJlbGxhIHByZWNlZGVudGUuXG4iCisiTGEgbnVvdmEgdGFiZWxsYSBzYXLDoCB1c2F0YSBhbCBwcm9zc2ltbyByaWF2dmlvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kcm8iCittc2dzdHJbMV0gImNpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZXR0b3JlIgorbXNnc3RyWzFdICJzZXR0b3JlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiVHV0dGUgbGUgcGFydGl6aW9uaSBwcmltYXJpZSBzb25vIHN0YXRlIGdpw6AgZGVmaW5pdGUhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIk5vbiBjaSBzb25vIHNldHRvcmkgbGliZXJpIGRpc3BvbmliaWxpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorIiVzJXMuXG4iCisiw4ggcG9zc2liaWxlIGVmZmV0dHVhcmUgcXVlc3RhIG9wZXJhemlvbmUgZGFsIG1lbnUgZGVsbGUgZnVuemlvbmkgc3VwcGxlbWVudGFyaS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbm5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKKyMsIGZ1enp5Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIk9mZnNldCBlcnJhdG8gbmVsbGEgcGFydGl6aW9uZSBlc3Rlc2EgcHJpbWFyaWFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIkF0dGVuemlvbmU6IHB1bnRhdG9yZSBkaSBjb2xsZWdhbWVudG8gc3VwcGxlbWVudGFyZSBuZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiQXR0ZW56aW9uZTogaSBkYXRpIHN1cHBsZW1lbnRhcmkgbmVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pICVkIHZlbmdvbm8gaWdub3JhdGlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJBdHRlbnppb25lOiBwYXJ0aXppb25lIHZ1b3RhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICIgICBzICAgY3JlYXppb25lIGRpIHVuYSBudW92YSBkaXNrbGFiZWwgU3VuIHZ1b3RhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICBpICAgY2FtYmlhIGwnaWRlbnRpZmljYXRpdm8gZGVsIGRpc2NvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlZhbG9yZSBpbXBvc3RhdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiSWRlbnRpZmljYXRpdm8gZGlzY286IDB4JTA4eFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJQYXJ0aXppb25lIGVzdGVzYSBzdXBwbGVtZW50YXJlIGlnbm9yYXRhICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJBdHRlbnppb25lOiBpbCBmbGFnIDB4JTA0eCBub24gdmFsaWRvIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSAlZCB2ZXJyw6AgY29ycmV0dG8gY29uIHcocml0ZSlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJWYWxvcmUgZnVvcmkgaW50ZXJ2YWxsby5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgw6ggZ2nDoCBkZWZpbml0YS4gIENhbmNlbGxhcmxhIHByaW1hIGRpIHJpYWdnaXVuZ2VybGEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIklsIHNldHRvcmUgJWxsdSDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJOb24gY2kgc29ubyBzZXR0b3JpIGxpYmVyaSBkaXNwb25pYmlsaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiUGFydGl6aW9uZSBsb2dpY2EgZGFubmVnZ2lhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlZCBjb250aWVuZSBpbCBzZXR0b3JlIDBcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlBhcnRpemlvbmUgJWQ6IHRlc3RpbmEgJWQgcGnDuSBncmFuZGUgZGVsIG1hc3NpbW8gJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXppb25lICVkOiBzZXR0b3JlICVkIHBpw7kgZ3JhbmRlIGRlbCBtYXNzaW1vICVsbHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpemlvbmUgJWQ6IGNpbGluZHJvICVkIHBpw7kgZ3JhbmRlIGRlbCBtYXNzaW1vICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQYXJ0aXppb25lICVkOiBkaXNzZW5zbyBkZWkgc2V0dG9yaSBwcmVjZWRlbnRpICVkIGNvbiBpbCB0b3RhbGUgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgaGEgZGl2ZXJzaSBlbGVtZW50aSBpbml6aWFsaSBmaXNpY2kvbG9naWNpIChub24gTGludXg/KTpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBoYSBkaXZlcnNpIGVsZW1lbnRpIGZpbmFsaSBmaXNpY2kvbG9naWNpOlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBub24gdGVybWluYSBhbCBsaW1pdGUgZGVsIGNpbGluZHJvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICJMYSBwYXJ0aXppb25lICVkIG5vbiBoYSBhcmVhIGRhdGlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVkIHNpIHNvdnJhcHBvbmUgYWxsYSBwYXJ0aXppb25lICVkLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVkIMOoIHZ1b3RhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSBsb2dpY2EgJWQgbm9uIMOoIGludGVyYW1lbnRlIG5lbGxhIHBhcnRpemlvbmUgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJOdW1lcm8gdG90YWxlIGRlaSBzZXR0b3JpIGFsbG9jYXRpICVsZCBzdXBlcmlvcmUgYWwgbWFzc2ltbyAlbGxkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiJWxsZCBzZXR0b3JpIG5vbiBhbGxvY2F0aVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMSBsaWJmZGlzay9zcmMvZG9zLmM6MTYxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2MworIywgZnV6enkKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJRdWVzdGEgcGFydGl6aW9uZSBlc2lzdGUgZ2nDoC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzEKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3RzLiBGYWlsZWQgdG8gYWRkIGxvZ2ljYWwgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY2NworIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiw4ggc3RhdG8gY3JlYXRvIGlsIG51bWVybyBtYXNzaW1vIGRpIHBhcnRpemlvbmlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiVHV0dGUgbGUgcGFydGl6aW9uaSBsb2dpY2hlIHNvbm8gdXNhdGVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiVHV0dGUgbGUgcGFydGl6aW9uaSBsb2dpY2hlIHNvbm8gdXNhdGVcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NworIywgZnV6enkKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlNpIGRldm9ubyBlbGltaW5hcmUgYWxjdW5lIHBhcnRpemlvbmkgZSBhZ2dpdW5nZXJlIGFueml0dXR0byB1bmEgcGFydGl6aW9uZSBlc3Rlc2FcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKKyMsIGZ1enp5Cittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlR1dHRlIGxlIHBhcnRpemlvbmkgbG9naWNoZSBzb25vIHVzYXRlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJOdW1lcm8gZGVsbGEgcGFydGl6aW9uZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworIywgZnV6enkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJQcmltYXJpYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIkVzdGVzbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIlBhcnRpemlvbmUgbG9naWNhIGRhbm5lZ2dpYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJMb2dpY2EiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3CisjLCBmdXp6eQorbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAibCAgIGxvZ2ljYSAoNSBvZCBvbHRyZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJOdW1lcm8gZGkgcGFydGl6aW9uaSBub24gdmFsaWRvIHBlciBpbCB0aXBvIFwiJWNcIlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBkaXNwb3NpdGl2byBwZXIgJXNcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQgbGliZmRpc2svc3JjL2dwdC5jOjEyMjEKKyMsIGZ1enp5Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudGlmaWNhdGl2byBkaXNjbzogMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4CisjLCBmdXp6eQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIiIKKyJUaXBvIDAgc2lnbmlmaWNhIHNwYXppbyBkaXNwb25pYmlsZSBwZXIgZGl2ZXJzaSBzaXN0ZW1pXG4iCisiKG1hIG5vbiBwZXIgTGludXgpLiBBdmVyZSBwYXJ0aXppb25pIGRpXG4iCisidGlwbyAwIHByb2JhYmlsbWVudGUgbm9uIMOoIGNvbnNpZ2xpYWJpbGUuIMOIIHBvc3NpYmlsZSBlbGltaW5hcmVcbiIKKyJ1bmEgcGFydGl6aW9uZSB1dGlsaXp6YW5kbyBpbCBjb21hbmRvIFwiZFwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA3MworbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3CisjLCBmdXp6eQorbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIk5pZW50ZSBkYSBmYXJlLiBMJ29yZGluZSDDqCBnacOgIGNvcnJldHRvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBub24gaGEgYXJlYSBkYXRpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJOdW92byBpbml6aW8gZGF0aSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkFUVEVOWklPTkU6IGxhIHBhcnRpemlvbmUgJWQgw6ggdW5hIHBhcnRpemlvbmUgZXN0ZXNhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTW9kaWZpY2F0byBpbCB0aXBvIGRpIHNpc3RlbWEgZGVsbGEgcGFydGl6aW9uZSAlZCBpbiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkRpc3Bvc2l0aXZvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJBdnZpbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiaW5pemlvIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorbXNnaWQgIkF0dHJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgc2VsZXppb25lIGRlbGxhIHBhcnRpemlvbmUgY2hlIMOoIHBvc3NpYmlsZSBhdnZpYXJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIHNlbGV6aW9uZSBkZWxsYSBwYXJ0aXppb25lIGNoZSDDqCBwb3NzaWJpbGUgYXZ2aWFyZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorIywgZnV6enkKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiICAgZCAgIGNhbmNlbGxhemlvbmUgZGkgdW5hIHBhcnRpemlvbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiTmVzc3VuJ2FsdHJhIHBhcnRpemlvbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJTdW5PUyByaXNlcnZhdG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJpc2VydmF0byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBjdXN0b20iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBlc3Rlc28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5CisjLCBmdXp6eQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJ0cm9wcGUgdmVsb2NpdMOgIGFsdGVybmF0aXZlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJpc2VydmF0byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorIywgZnV6enkKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJEaWFnbm9zdGljYSBDb21wYXEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzYKK21zZ2lkICJWTXdhcmUgVmlydHVhbCBTQU4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NworbXNnaWQgIlZNd2FyZSBWaXJzdG8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJpc2VydmF0byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorIywgZnV6enkKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbTogIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICBjYW5jZWxsYXppb25lIGRpIHVuYSBwYXJ0aXppb25lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjYxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiUHJpbW8gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIgVWx0aW1vICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI1MAorIywgZnV6enkKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIlBhcnRpemlvbmUgc2VsZXppb25hdGEgJWRcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjA1Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxOAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIG5vdCBvbiB0aGUgZW5kIG9mIHRoZSBkZXZpY2UuIFRoaXMgcHJvYmxlbSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNsYXRlIHBhcnRpdGlvbiBuYW1lLCBuYW1lIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIiIKKyJcbiIKKyJsYSBwYXJ0aXppb25lIGRpIGF2dmlvIG5vbiBlc2lzdGUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJJbCBkaXNjbyAlcyBub24gY29udGllbmUgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSB2YWxpZGFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2NQorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIk51bWVybyBkaSBwYXJ0aXppb25pIG5vbiB2YWxpZG8gcGVyIGlsIHRpcG8gXCIlY1wiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4OAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJWQgc2kgc292cmFwcG9uZSBhbGxhIHBhcnRpemlvbmUgJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJTb3ZyYXBwb3NpemlvbmUgZGkgcGFydGl6aW9uaSBzdWwgZGlzY28uIFJpc29sdmVyZSBhbnppdHV0dG8gcXVlc3RvIHByb2JsZW1hLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIkxhIHBhcnRpemlvbmUgdGVybWluYSBwcmltYSBkZWwgc2V0dG9yZSAwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgInN0cmFubywgc29ubyBkZWZpbml0ZSBzb2xvICVkIHBhcnRpemlvbmkuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJOb24gY2kgc29ubyBzZXR0b3JpIGxpYmVyaSBkaXNwb25pYmlsaVxuIgorbXNnc3RyWzFdICJOb24gY2kgc29ubyBzZXR0b3JpIGxpYmVyaSBkaXNwb25pYmlsaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJRdWVzdGEgcGFydGl6aW9uZSDDqCBnacOgIGluIHVzbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlbGx1IMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTm9uIGNyZWFyZSB1bmEgcGFydGl6aW9uZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIiAgIHMgICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTdW4gdnVvdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiTm9uIGNpIHNvbm8gc2V0dG9yaSBsaWJlcmkgZGlzcG9uaWJpbGlcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJXMgaGEgc2V0dG9yZSBkaSBpbml6aW8gMCBub24gdmFsaWRvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiw4ggc3RhdG8gY3JlYXRvIGlsIG51bWVybyBtYXNzaW1vIGRpIHBhcnRpemlvbmlcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgImltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9yayIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiTW9kaWZpY2F0byBpbCB0aXBvIGRpIHNpc3RlbWEgZGVsbGEgcGFydGl6aW9uZSAlZCBpbiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNAorIywgZnV6enkKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlRpcG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOb21lIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4CisjLCBmdXp6eQorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIlNwYXppbyBkaXNwb25pYmlsZSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJyaWxlZ2dpIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAic2Nvbm9zY2l1dG8iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NgorbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IG5hdGl2byIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OAorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OAorIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJSaWxldmF0byB1biBkaXNrbGFiZWwgc2dpIGNvbiBjaGVja3N1bSBlcnJhdG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcmkgZmlzaWNpIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJTZXR0b3JpIHN1cHBsZW1lbnRhcmkgcGVyIGNpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJGaWxlIGRpIGF2dmlvIG5vbiB2YWxpZG8hXG4iCisiXHRJbCBmaWxlIGRpIGF2dmlvIGRldmUgZXNzZXJlIHVuIHBhdGggYXNzb2x1dG8gbm9uIG51bGxvLFxuIgorIlx0ZXMuIFwiL3VuaXhcIiBvIFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICIiCisiXG4iCisiXHROb21lIGRlbCBmaWxlIGRpIGF2dmlvIHRyb3BwbyBsdW5nbzogIGRldmUgZXNzZXJlIGRpIDE2IGJ5dGUgYWwgbWFzc2ltby5cbiIKK21zZ3N0clsxXSAiIgorIlxuIgorIlx0Tm9tZSBkZWwgZmlsZSBkaSBhdnZpbyB0cm9wcG8gbHVuZ286ICBkZXZlIGVzc2VyZSBkaSAxNiBieXRlIGFsIG1hc3NpbW8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0SWwgZmlsZSBkaSBhdnZpbyBkZXZlIGF2ZXJlIHVuIHBhdGggY29tcGxldG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFNpIHRlbmdhIGNvbnRvIGRlbCBmYXR0byBjaGUgbm9uIHZpZW5lIHZlcmlmaWNhdGEgbCdlc2lzdGVuemEgZGVsIGZpbGUgZGkgYXZ2aW8uXG4iCisiXHRMJ2ltcG9zdGF6aW9uZSBwcmVkZWZpbml0YSBkaSBTR0kgw6ggXCIvdW5peFwiIGUgcGVyIGlsIGJhY2t1cCBcIi91bml4LnNhdmVcIi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIklsIGZpbGUgZCdhdnZpbyBjb3JyZW50ZSDDqDogJXNcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MAorIywgZnV6enkKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiSW1tZXR0ZXJlIGlsIG5vbWUgZGVsIG51b3ZvIGZpbGUgZCdhdnZpbzoiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIkZpbGUgZCdhdnZpbyBpbW11dGF0b1xuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdEZpbGUgZGkgYXZ2aW8gY2FtYmlhdG8gaW4gXCIlc1wiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIlByZXNlbnRlIHBpw7kgZGkgdW5hIHZvY2UgZGlzY28gaW50ZXJvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCBncmFkaXNjZSBjaGUgbGEgcGFydGl6aW9uZSAxMSBjb21wcmVuZGEgbCdpbnRlcm8gZGlzY28uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgIiIKKyJMYSBwYXJ0aXppb25lIGRlbGwnaW50ZXJvIGRpc2NvIGRvdnJlYmJlIGluaXppYXJlIGFsIGJsb2NjbyAwLFxuIgorIm5vbiBhbCBibG9jY28gJWQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJVbmEgcGFydGl6aW9uZSAoIzExKSBkb3ZyZWJiZSBjb21wcmVuZGVyZSBpbCBkaXNjbyBpbnRlcm8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiTGUgcGFydGl6aW9uaSAlZCBlICVkIHNpIHNvdnJhcHBvbmdvbm8gZGkgJWQgc2V0dG9yaS5cbiIKK21zZ3N0clsxXSAiTGUgcGFydGl6aW9uaSAlZCBlICVkIHNpIHNvdnJhcHBvbmdvbm8gZGkgJWQgc2V0dG9yaS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MiBsaWJmZGlzay9zcmMvc2dpLmM6Njg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJJbnRlcnZhbGxvIGRpICU4dSBzZXR0b3JpIG5vbiB1dGlsaXp6YXRvIC0gc2V0dG9yaSAlOHUtJXVcbiIKK21zZ3N0clsxXSAiSW50ZXJ2YWxsbyBkaSAlOHUgc2V0dG9yaSBub24gdXRpbGl6emF0byAtIHNldHRvcmkgJTh1LSV1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorImxhIHBhcnRpemlvbmUgZGkgYXZ2aW8gbm9uIGVzaXN0ZS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisiTGEgcGFydGl6aW9uZSBkaSBzd2FwIG5vbiBlc2lzdGUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICIiCisiXG4iCisiTGEgcGFydGl6aW9uZSBkaSBzd2FwIG5vbiBoYSB0aXBvIHN3YXAuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlx0U2kgw6ggc2VsZXppb25hdG8gdW4gbm9tZSBmaWxlIGRpIGF2dmlvIG5vbiBjb211bmUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJTb3ZyYXBwb3NpemlvbmUgZGkgcGFydGl6aW9uaSBzdWwgZGlzY28uIFJpc29sdmVyZSBhbnppdHV0dG8gcXVlc3RvIHByb2JsZW1hLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCisjLCBmdXp6eQorbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIlRlbnRhdGl2byBkaSBnZW5lcmFyZSBhdXRvbWF0aWNhbWVudGUgbGEgdm9jZSBwZXIgbCdpbnRlcm8gZGlzY28uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDgKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJMJ2ludGVybyBkaXNjbyDDqCBnacOgIGNvcGVydG8gZGEgcGFydGl6aW9uaS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorIywgZnV6enkKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIlNvdnJhcHBvc2l6aW9uZSBkaSBwYXJ0aXppb25pIHN1bCBkaXNjby4gUmlzb2x2ZXJlIGFueml0dXR0byBxdWVzdG8gcHJvYmxlbWEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiUHJpbW8gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTggbGliZmRpc2svc3JjL3NnaS5jOjk0OAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorIlNpIHJhY2NvbWFuZGEgY2hlIGwndW5kaWNlc2ltYSBwYXJ0aXppb25lXG4iCisiY29wcmEgbCdpbnRlcm8gZGlzY28gZSBzaWEgZGkgdGlwbyBcIlNHSSB2b2x1bWVcIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlVsdGltbyAlcyBvICtzaXplIG8gK3NpemVNIG8gK3NpemVLICIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NCBsaWJmZGlzay9zcmMvc3VuLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBzICAgY3JlYXppb25lIGRpIHVuYSBudW92YSBkaXNrbGFiZWwgU3VuIHZ1b3RhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorIywgZnV6enkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIlNwaWFjZW50ZSwgc29sYW1lbnRlIGlsIHN1cGVydXRlbnRlIHB1w7IgbW9kaWZpY2FyZSBpbCBjbG9jayBkaSBzaXN0ZW1hLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NQorIywgZnV6enkKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICIiCisiUG9uaWFtbyBkaSBsYXNjaWFyZSBsYSBwYXJ0aXppb25lIDkgY29tZSBpbnRlc3RhemlvbmUgZGkgdm9sdW1lICgwKSxcbiIKKyJlIGxhIHBhcnRpemlvbmUgMTEgY29tZSB2b2x1bWUgaW50ZXJvICg2KSBwb2ljaMOpIElSSVggbG8gcHJldmVkZS5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICIiCisiU2kgcmFjY29tYW5kYSBjaGUgbGEgcGFydGl6aW9uZSBpbiBvZmZzZXQgMFxuIgorInNpYSBkaSB0aXBvIFwiU0dJIHZvbGhkclwiLCBpbCBzaXN0ZW1hIElSSVggc2kgYmFzZXLDoCBzdSBkaSBlc3NhIHBlclxuIgorInJlY3VwZXJhcmUgZGFsbGEgZGlyZWN0b3J5IGdsaSBzdHJ1bWVudGkgc3RhbmRhbG9uZSBjb21lIHNhc2ggZSBmeC5cbiIKKyJTb2xhbWVudGUgbGEgc2V6aW9uZSBkZWxsJ2ludGVybyBkaXNjbyBcIlNHSSB2b2x1bWVcIiBwdcOyIHZpb2xhcmxhLlxuIgorIkRpZ2l0YXJlIFlFUyAoc8OsKSBzZSBzaSDDqCBjZXJ0aSBkaSB2b2xlciBjb2RpZmljYXJlIHF1ZXN0YSBwYXJ0aXppb25lIGluIG1vZG8gZGlmZmVyZW50ZS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiTm9uIGFzc2VnbmF0byIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mgcm9vdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mgc3dhcCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIkRpc2NvIGludGVybyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJpc2VydmF0byIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzMAorIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICIiCisiUmlsZXZhdGEgdW5hIGRpc2tsYWJlbCBzdW4gY29uIGNoZWNrc3VtIGVycmF0by5cbiIKKyJQcm9iYWJpbG1lbnRlIHNpIGRvdnJhbm5vIGltcG9zdGFyZSB0dXR0aSBpIHZhbG9yaSxcbiIKKyJwZXIgZXMuIHRlc3RpbmUsIHNldHRvcmksIGNpbGluZHJpIGUgcGFydGl6aW9uaVxuIgorIm8gZm9yemFyZSB1bidldGljaGV0dGEgbnVvdmEgKGNvbWFuZG8gcyBuZWwgbWVudSBwcmluY2lwYWxlKVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiUmlsZXZhdG8gdW4gZGlza2xhYmVsIGNvbiB2ZXJzaW9uZSBlcnJhdGEgWzB4JTA4eF0uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlJpbGV2YXRvIHVuIGRpc2tsYWJlbCBjb24gc2FuaXR5IGVycmF0byBbMHglMDh4XS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJSaWxldmF0byB1biBkaXNrbGFiZWwgY29uIG51bV9wYXJ0aXRpb25zIGVycmF0byBbJXVdLlxuIgorCisjIEZJWE1FCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJBdHRlbnppb25lOiBpIHZhbG9yaSBub24gdmFsaWRpIGRldm9ubyBlc3NlcmUgY29ycmV0dGkgY29uIHcocml0ZSlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE4NworbXNnaWQgIkhlYWRzIgorbXNnc3RyICJUZXN0aW5lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2V0dG9yaS90cmFjY2lhIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTdW4gdnVvdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgbm9uIGZpbmlzY2UgYWwgbGltaXRlIGRlbCBjaWxpbmRyb1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgc2kgc292cmFwcG9uZSBhZCBhbHRyZSBuZWkgc2V0dG9yaSAlZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiSW50ZXJ2YWxsbyBpbnV0aWxpenphdG8gLSBzZXR0b3JpIDAtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkludGVydmFsbG8gaW51dGlsaXp6YXRvIC0gc2V0dG9yaSAlZC0lZFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorIkFsdHJlIHBhcnRpemlvbmkgY29wcm9ubyBnacOgIGlsIGRpc2NvIGludGVyby5cbiIKKyJFbGltaW5hcm5lIGFsY3VuZS9yaW1waWNjaW9saXJsZSBwcmltYSBkaSByaXByb3ZhcmUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisiU2kgcmFjY29tYW5kYSBjaGUgbCd1bmRpY2VzaW1hIHBhcnRpemlvbmVcbiIKKyJjb3ByYSBsJ2ludGVybyBkaXNjbyBlIHNpYSBkaSB0aXBvIFwiU0dJIHZvbHVtZVwiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIk5vbiBzaSDDqCBjb3BlcnRvIGwnaW50ZXJvIGRpc2NvIGNvbiBsYSB0ZXJ6YSBwYXJ0aXppb25lLCBtYSBpbCB2YWxvcmVcbiIKKyIlZCAlcyBjb3ByZSBhbGN1bmUgYWx0cmUgcGFydGl6aW9uaS4gTGEgdm9jZSBpbW1lc3NhIMOoIHN0YXRhIGNhbWJpYXRhXG4iCisiaW4gJWQgJXNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjczOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJTZSBzaSB2dW9sZSBtYW50ZW5lcmUgbGEgY29tcGF0aWJpbGl0w6AgY29uIFN1bk9TL1NvbGFyaXMsIHByZW5kZXJlXG4iCisiaW4gY29uc2lkZXJhemlvbmUgZGkgbGFzY2lhcmUgcXVlc3RhIHBhcnRpemlvbmUgY29tZSBkaXNjbyBpbnRlcm8gKDUpLCBwYXJ0ZW5kbyBkYSAwLCBjb24gJXUgc2V0dG9yaVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICJldGljaGV0dGE6ICUuKnNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorIywgZnV6enkKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIlZvbHVtZTogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzgKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRyaSBhbHRlcm5hdGl2aSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg4NAorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJOdW1lcm8gZGkgY2lsaW5kcmkgYWx0ZXJuYXRpdmkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiU2V0dG9yaSBzdXBwbGVtZW50YXJpIHBlciBjaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkzMworbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJGYXR0b3JlIGRpIGludGVybGVhdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NTcKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiVmVsb2NpdMOgIGRpIHJvdGF6aW9uZSAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIk51bWVybyBkZWkgY2lsaW5kcmkgZmlzaWNpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0NgorIywgZnV6enkKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJQb25pYW1vIGRpIGxhc2NpYXJlIGxhIHBhcnRpemlvbmUgMyBjb21lIGRpc2NvIGludGVybyAoNSksXG4iCisicG9pY2jDqSBTdW5PUy9Tb2xhcmlzIGxvIHByZXZlZGUgZSBjacOyIMOoIGdyYWRpdG8gYW5jaGUgYSBMaW51eC5cbiIKKyJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiU2kgcmFjY29tYW5kYSBjaGUgbGEgcGFydGl6aW9uZSBhIG9mZnNldCAwXG4iCisic2lhIHVuIGZpbGVzeXN0ZW0gVUZTLCBFWFQyRlMgbyBzd2FwIFN1bk9TIC4gTGEgY29sbG9jYXppb25lIGluIHF1ZWxsYSBwb3NpemlvbmUgZGVsbG8gc3dhcCBMaW51eFxuIgorInBvdHJlYmJlIHByb3ZvY2FyZSBsJ2VsaW1pbmF6aW9uZSBkZWxsYSB0YWJlbGxlIGRlbGxlIHBhcnRpemlvbmkgZSBkZWwgYm9vdGJsb2NrLlxuIgorIkRpZ2l0YXJlIFlFUyAgKHPDrCkgc2Ugc2kgw6ggY2VydGkgZGkgdm9sZXJlIGNoZSBxdWVsbGEgcGFydGl6aW9uZVxuIgorInZlbmdhIGNvZGlmaWNhdGEgY29uIDgyIChzd2FwIExpbnV4ICk6ICIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHQuYzoyMzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBkZXZpY2Ugd3JpdGUtcHJvdGVjdGVkLCBtb3VudGVkIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgw6ggcHJvdGV0dG8gZGEgc2NyaXR0dXJhLCB2aWVuZSBtb250YXRvIGluIHNvbGEgbGV0dHVyYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAibW91bnQ6ICVzIGdpw6AgbW9udGF0byBzdSAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSB0cm92YXJlICVzIGluICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSB0cm92YXJlICVzIGluICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgdHJvdmFyZSAlcyBpbiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiT3B6aW9uZSAtLWRhdGUgbm9uIHNwZWNpZmljYXRhLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBjb2xsZWdhcmUgJXM6ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgc291cmNlIHNwZWNpZmllZCIKK21zZ3N0ciAiT3B6aW9uZSAtLWRhdGUgbm9uIHNwZWNpZmljYXRhLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgJXMiCittc2dzdHIgIiVzOiAlcyBubyDDqCB1biBscCBkZXZpY2UuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAiZXhlYyBmYWxsaXRhXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAibW91bnQ6IG1vdW50IG5vbiByaXVzY2l0byIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50OiBtb3VudCBub24gcml1c2NpdG8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibW91bnQ6IGlsIG1vdW50IHBvaW50IGRpICVzIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAibW91bnQ6IGF1dG9yaXp6YXppb25lIG5lZ2F0YSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIm1vdW50OiBiaXNvZ25hIGVzc2VyZSBzdXBlcnVzZXIgcGVyIHV0aWxpenphcmUgbW91bnQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIMOoIG9jY3VwYXRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIGdpw6AgbW9udGF0byBzdSAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICJtb3VudDogJXMgZ2nDoCBtb250YXRvIG8gJXMgb2NjdXBhdG8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiBpbCBtb3VudCBwb2ludCAlcyBub24gZXNpc3RlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJtb3VudDogaWwgbW91bnQgcG9pbnQgJXMgw6ggdW4gY29sbGVnYW1lbnRvIHNpbWJvbGljbyBhIG51bGxhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJtb3VudDogaWwgZGV2aWNlIHNwZWNpYWxlICVzIG5vbiBlc2lzdGUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTYKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50IG5vbiByaXVzY2l0byIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICIiCisibW91bnQ6IGlsIGRldmljZSBzcGVjaWFsZSAlcyBub24gZXNpc3RlXG4iCisiICAgICAgICh1biBwcmVmaXNzbyBkaSBwZXJjb3JzbyBub24gw6ggdW5hIGRpcmVjdG9yeSlcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJtb3VudDogJXMgbm9uIGFuY29yYSBtb250YXRvLCBvcHB1cmUgbCdvcHppb25lIG5vbiDDqCB2YWxpZGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm1vdW50OiAlcyBub24gYW5jb3JhIG1vbnRhdG8sIG9wcHVyZSBsJ29wemlvbmUgbm9uIMOoIHZhbGlkYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkIG1vdW50IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisibW91bnQ6IHRpcG8gZnMgZXJyYXRvLCBvcHppb25lIG5vbiB2YWxpZGEsIHN1cGVyYmxvY2NvIHN1ICVzIGRhbm5lZ2dpYXRvLFxuIgorIiAgICAgICBjb2RlcGFnZSBvIHByb2dyYW1tYSBhdXNpbGlhcmlvIG1hbmNhbnRlLCBvIGFsdHJvIGVycm9yZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIm1vdW50IHRhYmxlIHBpZW5hIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIHN1cGVyYmxvY2NvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIm1vdW50OiB0aXBvIGRpIGZpbGVzeXN0ZW0gJyVzJyBzY29ub3NjaXV0byIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6IHRpcG8gZGkgZmlsZXN5c3RlbSAnJXMnIHNjb25vc2NpdXRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJtb3VudDogJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSBlIHN0YXQgbm9uIMOoIHJpdXNjaXRvPyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgIiIKKyJtb3VudDogaWwga2VybmVsIG5vbiByaWNvbm9zY2UgJXMgY29tZSB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKyIgICAgICAgKGZvcnNlIFwiaW5zbW9kIGRyaXZlclwiPykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIm1vdW50OiAlcyAgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSAoZm9yc2UgcHJvdmFyZSBcIi1vIGxvb3BcIj8pIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiBzaSB0cmF0dGEgZGkgdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJtb3VudDogJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSB2YWxpZG8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIG1vbnRhcmUgJXMlcyBpbiBzb2xhIGxldHR1cmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICJtb3VudDogJXMlcyDDqCBwcm90ZXR0byBkYSBzY3JpdHR1cmEsIG1hIGwnb3B6aW9uZSAnLXcnIMOoIHN0YXRhIGluZGljYXRhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIG1vbnRhcmUgJXMlcyBpbiBzb2xhIGxldHR1cmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm1vdW50OiAlcyBnacOgIG1vbnRhdG8gc3UgJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICJub24gc2kgdGVudGVyw6AgZGkgY3JlYXJlIHVuIGZpbGVzeXN0ZW0gc3UgJyVzJyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnRlZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm9uIHRyb3ZhdG8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudCBub24gcml1c2NpdG8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQ6IG1vdW50IG5vbiByaXVzY2l0byIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvIGRpIGJsb2NjaGkgbm9uIHZhbGlkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAibW91bnQ6ICVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIHN1cGVyYmxvY2NvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIMOoIG9jY3VwYXRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAidW1vdW50OiAlczogYmlzb2duYSBlc3NlcmUgc3VwZXJ1c2VyIHBlciBlc2VndWlyZSB1bW91bnQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAidW1vdW50OiAlczogaSBkaXNwb3NpdGl2aSBkaSBibG9jY2hpIG5vbiBzb25vIHBlcm1lc3NpIHN1IGZzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogbGliL3BhdGguYzoyMzkgc3lzLXV0aWxzL2xzY3B1LmM6MTc2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgb3R0ZW5lcmUgaWwgdGltZW91dCBwZXIgJXM6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxODYKK21zZ2lkICJnZXRyYW5kb20oKSBmdW5jdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczogbmVzc3VuYSBwYXJ0aXppb25lIGRpIHF1ZXN0byB0aXBvXG4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IGVycm9yZTogdmVyc2lvbmUgc2Nvbm9zY2l1dGEgJWRcbiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorIywgZnV6enkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgIm5hbWVpOiBidWYgb3ZlcmZsb3dcbiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lICVsZCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJWYWxvcmUgZnVvcmkgaW50ZXJ2YWxsby5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiVXNvOiBuYW1laSBbLW14XSBub21lIHBlcmNvcnNvIFtub21lIHBlcmNvcnNvIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiTW9kaWZpY2EgZGVsbGUgaW5mb3JtYXppb25pIGZpbmdlciBwZXIgJXMgaW4gY29yc28uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisiWyAtcCB0ZWwuIHVmZmljaW9dXG4iCisiXHRbIC1oIHRlbC4gY2FzYSBdICIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImlsIGNhbXBvIMOoIHRyb3BwbyBsdW5nby5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzI2Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4CisjLCBmdXp6eQorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICIiCisiXG4iCisiaW50ZXJyb3R0by5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJMZSBpbmZvcm1hemlvbmkgZmluZ2VyICpOT04qIHNvbm8gc3RhdGUgbW9kaWZpY2F0ZS4gUmlwcm92YXJlIHN1Y2Nlc3NpdmFtZW50ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiTGUgaW5mb3JtYXppb25pIGZpbmdlciBzb25vIHN0YXRlIG1vZGlmaWNhdGUuXG4iCisKKyMgRklYTUUKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgIiVzOiBub24gc2kgZXNpc3RlIChjb21lIHV0ZW50ZSAlZCkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiJXM6IGwndXRlbnRlIFwiJXNcIiBub24gZXNpc3RlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIiVzOiDDqCBwb3NzaWJpbGUgbW9kaWZpY2FyZSBzb2xvIGxlIHZvY2kgbG9jYWxpOyB1dGlsaXp6YXJlIGludmVjZSB5cCVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlczogJXMgbm9uIMOoIGF1dG9yaXp6YXRvIGEgY2FtYmlhcmUgbGUgaW5mb3JtYXppb25pIGZpbmdlciBkaSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiQ29udGVzdG8gdXRlbnRlIHNjb25vc2NpdXRvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGNvbnRlc3RvIHByZWRlZmluaXRvIHBlciAvZXRjL3Bhc3N3ZCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJNb2RpZmljYSBkZWxsZSBpbmZvcm1hemlvbmkgZmluZ2VyIHBlciAlcyBpbiBjb3Jzby5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkxlIGluZm9ybWF6aW9uaSBmaW5nZXIgbm9uIHNvbm8gc3RhdGUgbW9kaWZpY2F0ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJNb2RpZmljYSBzaGVsbCBwZXIgJXMgaW4gY29yc28uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgSW1wb3N0YSBsYSBzaGVsbCBcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgIiVzOiBsYSBzaGVsbCBkZXZlIGVzc2VyZSB1biBub21lIHBlcmNvcnNvIGNvbXBsZXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgbm9uIGVzaXN0ZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIG5vbiBlc2VndWliaWxlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkF0dGVuemlvbmU6IFwiJXNcIiBub24gw6ggZWxlbmNhdG8gaW4gL2V0Yy9zaGVsbHMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiVzOiBcIiVzXCIgbm9uIMOoIGVsZW5jYXRvIGluIC9ldGMvc2hlbGxzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlczogJXMgbm9uIMOoIGF1dG9yaXp6YXRvIGEgY2FtYmlhcmUgbGEgc2hlbGxkaSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IGxhIHNoZWxsIG5vbiDDqCBpbiAvZXRjL3NoZWxscywgbW9kaWZpY2EgZGVsbGEgc2hlbGwgbmVnYXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICJNb2RpZmljYSBzaGVsbCBwZXIgJXMgaW4gY29yc28uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNDIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIk51b3ZhIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiU2hlbGwgbm9uIG1vZGlmaWNhdGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsICpOT04qIG1vZGlmaWNhdGEuICBSaXByb3ZhcmUgc3VjY2Vzc2l2YW1lbnRlLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2hlbGwgKk5PTiogbW9kaWZpY2F0YS4gIFJpcHJvdmFyZSBzdWNjZXNzaXZhbWVudGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2hlbGwgbW9kaWZpY2F0YS5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtmaWxlXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTY5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIxNyBzeXMtdXRpbHMvZG1lc2cuYzoxMjY5CisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogQ29tYW5kbyBzY29ub3NjaXV0bzogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI3NiBsb2dpbi11dGlscy9sYXN0LmM6Mjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorIlxuIgorImludGVycm90dG8gJTEwLjEwcyAlNS41cyBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICJVc286IG5hbWVpIFstbXhdIG5vbWUgcGVyY29yc28gW25vbWUgcGVyY29yc28gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2CisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgcCAgICAgICAgICBTdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IHNjaGVybW8gbyBzdSBmaWxlIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MAorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorInd0bXAgaW5pemlhICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTcyIHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICIiCisiXG4iCisiRXJyb3JlIGR1cmFudGUgbGEgY2hpdXN1cmEgZGVsIGZpbGVcbiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCisjLCBmdXp6eQorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAic2VtYWZvcmkgYWxsb2NhdGkgPSAlZFxuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIkZBVEFMRTogaW1wb3NzaWJpbGUgcmlhcHJpcmUgbGEgdHR5OiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIHNwZWNpYWxlIGEgYmxvY2NoaSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50IG5vbiByaXVzY2l0byIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgbm9uIHJpdXNjaXRvOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiRkFUQUxFOiB0dHkgbm9uIHZhbGlkYSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAiVWx0aW1vIGxvZ2luOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgImRhICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJzdSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJBcGVydHVyYSBkaSAlcyBub24gcml1c2NpdGEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiIENPTk5FU1NJT05FIERJIEFDQ0VTU08gUkVNT1RPIEEgJXMgQVRUUkFWRVJTTyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBESSBST09UIEEgJXMgREEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIkxPR0lOIERJIFJPT1QgQSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiTE9HSU4gQSAlcyBBVFRSQVZFUlNPICVzIERBICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiTE9HSU4gQSAlcyBBVFRSQVZFUlNPICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY4NgorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJjaHNoOiBlcnJvcmUgUEFNLCBpbnRlcnJ1emlvbmUgaW4gY29yc286ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW5pemlhbGl6emFyZSBQQU06ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiRkFMTElUTyBJTCBMT0dJTiAlZCBEQSAlcyBQRVIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJMb2dpbiBub24gY29ycmV0dG9cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJUUk9QUEkgVEVOVEFUSVZJIERJIExPR0lOICglZCkgREEgJXMgUEVSICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGQUxMSVRBIFNFU1NJT05FIERJIExPR0lOIERBICVzIFBFUiAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxvZ2luIG5vbiBjb3JyZXR0b1xuIgorCisjIEZJWE1FCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2JsZW1hIG5lbGwnYXZ2aWFyZSBsYSBzZXNzaW9uZSwgaW50ZXJyb3R0by5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTm9tZSB1dGVudGUgTlVMTCBpbiAlczolZC4gSW50ZXJyb3R0by4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkgbm9uIHJpdXNjaXRvOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIlVzbzogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1dGVudGUgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDAKKyMsIGZ1enp5Cittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIlBhc3N3b3JkIHNoYWRvdyBzb25vIHVzYXRlIHN1IHF1ZXN0byBzaXN0ZW1hLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgICAgIGRvIG5vdCBkZXN0cm95IHRoZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJMb2dpbiBzY2FkdXRvIGRvcG8gJWQgc2Vjb25kaVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IC1oIHNvbGFtZW50ZSBwZXIgc3VwZXItdXNlci5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJOb21lIHV0ZW50ZSBcIiVzXCIgbm9uIHZhbGlkbyBpbiAlczolZC4gSW50ZXJyb3R0by4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKyJcbiIKKyJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBub24gcml1c2NpdG8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiQyfDqCBudW92YSBwb3N0YS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIkMnw6ggcG9zdGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiQ29ubmVzc2lvbmUgY29uIGhvbWUgPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJsb2dpbjogZXhlYyBkZWxsbyBzY3JpcHQgc2hlbGwgaW1wb3NzaWJpbGU6ICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKKyMsIGZ1enp5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIk5lc3N1bmEgc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiVmFsb3JlIGludGVydmFsbG8gbm9uIHZhbGlkbzogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MzgzCittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2IHN5cy11dGlscy9sc2NwdS5jOjE0NDYKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgIm5vIgorbXNnc3RyICJubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorIywgZnV6enkKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKKyMsIGZ1enp5Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAidXRlbnRlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorIywgZnV6enkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlBhc3N3b3JkIG5vbiBtb2RpZmljYXRhLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJQYXNzd29yZCBub24gbW9kaWZpY2F0YS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIlczogaWwgZmlsZSBkZWxsZSBwYXNzd29yZCDDqCBvY2N1cGF0by5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBpbCBmaWxlIGRlbGxlIHBhc3N3b3JkIMOoIG9jY3VwYXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorIywgZnV6enkKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJwYXNzd29yZCBtb2RpZmljYXRhLCB1dGVudGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiUGFzc3dvcmQgbm9uIG1vZGlmaWNhdGEuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJsb2dpbjogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltYXJpYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiTmVzc3VuYSBkaXJlY3RvcnkgJXMhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJOZXNzdW5hIGRpcmVjdG9yeSAlcyFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIk5lc3N1bmEgc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJOZXNzdW5hIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiTm9tZSB1dGVudGUgbm9uIHZhbGlkbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImRvcG8gbGEgcHJpbWEgbGluZWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIlVsdGltbyBsb2dpbjogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorIywgZnV6enkKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICIlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gc3BlY2lhbGUgYSBibG9jY2hpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgImxhc3Q6IGdldGhvc3RuYW1lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICJsc3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIkFwZXJ0dXJhIGRpICVzIG5vbiByaXVzY2l0YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJFcnJvcmUgcGFzc3dvcmQuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICJJbW1ldHRlcmUgdmVjY2hpYSBwYXNzd29yZDogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJQYXNzd29yZCBtb2RpZmljYXRhLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIlczogbmVzc3VuYSBtb2RpZmljYSBlZmZldHR1YXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGlsIHByb2Nlc3NvIFwiJXNcIlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJlcnJvcmUgaW50ZXJubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICJVbHRpbW8gbG9naW46ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwIHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorIywgZnV6enkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRpICVzIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworIywgZnV6enkKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBub24gcml1c2NpdG8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIlBhc3N3b3JkOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1CisjLCBmdXp6eQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jKCkgbm9uIHJpdXNjaXRhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIm5ld2dycDogbmVzc3VuIGdydXBwbyBkaSBxdWVzdG8gZ2VuZXJlLiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworIywgZnV6enkKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIm5ld2dycDogY2hpIHNlaT8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNyBsb2dpbi11dGlscy9uZXdncnAuYzoyMjkgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzQKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIm5ld2dycDogbmVzc3VuIGdydXBwbyBkaSBxdWVzdG8gZ2VuZXJlLiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2CisjLCBmdXp6eQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjMwCittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIlF1ZXN0byBkaXNjbyDDqCBhdHR1YWxtZW50ZSBpbiB1c28uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjIyNAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jKCkgbm9uIHJpdXNjaXRhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorIywgZnV6enkKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIlBhc3N3b3JkIG5vbiBjb3JyZXR0YS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3OTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlIHVuIGdlc3RvcmUgZGVsIHNlZ25hbGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlIHVuIGdlc3RvcmUgZGVsIHNlZ25hbGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgxMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBtYXNrIgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgdW4gZ2VzdG9yZSBkZWwgc2VnbmFsZSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmltdW92ZXJlIGwnaWQgJXMgJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAibmFtZWk6IGltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpcmVjdG9yeSBjb3JyZW50ZSAtICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMDYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCBkaSBncnVwcG86ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdXNlciBjcmVkZW50aWFsczogJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjIgc3lzLXV0aWxzL2VqZWN0LmM6NjYwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCBkaSBncnVwcG86ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCB1dGVudGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIEltcG9zdGEgbGEgc2hlbGwgXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJVc286IG5hbWVpIFstbXhdIG5vbWUgcGVyY29yc28gW25vbWUgcGVyY29yc28gLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4Cittc2dpZCAiIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJVc286ICVzIHByb2dyYW1tYSBbYXJnIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IGwndXRlbnRlIFwiJXNcIiBub24gZXNpc3RlLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCittc2dpZCAiLS1wdHkgaXMgbm90IHN1cHBvcnRlZCBmb3IgeW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTMyNgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQwCittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MworIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IGwndXRlbnRlIFwiJXNcIiBub24gZXNpc3RlLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm5hbWVpOiBpbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaXJlY3RvcnkgY29ycmVudGUgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworIywgZnV6enkKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogbm9uIMOoIGFwZXJ0byBwZXIgbGV0dHVyYS9zY3JpdHR1cmEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXM6IG5vbiDDqCBhcGVydG8gcGVyIGxldHR1cmEvc2NyaXR0dXJhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogaWwgZmlsZSBkZWxsZSBwYXNzd29yZCDDqCBvY2N1cGF0by5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICIlczogaWwgZmlsZSBkZWxsZSBwYXNzd29yZCDDqCBvY2N1cGF0by5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIiVzOiBpbCBmaWxlIGRlbGxlIHBhc3N3b3JkIMOoIG9jY3VwYXRvLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiJXM6IGlsIGZpbGUgZGVsbGUgcGFzc3dvcmQgw6ggb2NjdXBhdG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIkNvbnRpbnVhcmU/IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc4MgorIywgZnV6enkKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAiZXhlYyBmYWxsaXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDYKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA5Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorIywgZnV6enkKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAibW91bnQ6IMOoIHBvc3NpYmlsZSBzb2xvIHBlciByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIHV0ZW50ZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiRXhlYyAlcyBpbXBvc3NpYmlsZTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICJzY2FkdXRvIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA0OQorIywgZnV6enkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiRXhlYyAlcyBpbXBvc3NpYmlsZTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZSAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0OQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEwCittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSB0ZW1wb3JhbmVvLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSByaW5vbWluYXJlICVzIGluICVzOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBvdHRlbmVyZSBpbCBjb250ZXN0byBwZXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGltcG9zdGFyZSBpbCBjb250ZXN0byBwZXIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXM6ICVzIGltbXV0YXRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlZmZldHR1YXJlIGlsIGZvcmsiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICIlczogbmVzc3VuYSBtb2RpZmljYSBlZmZldHR1YXRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlICclcyciCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDgKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyMgRklYTUU6IHNoYWRvdzogaW52YXJpYXRvPyBvbWJyYT8KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkdydXBwaSBzaGFkb3cgc29ubyB1c2F0aSBzdSBxdWVzdG8gc2lzdGVtYS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiUGFzc3dvcmQgc2hhZG93IHNvbm8gdXNhdGUgc3UgcXVlc3RvIHNpc3RlbWEuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICJWb2xldGUgbW9kaWZpY2FyZSAlcyBhZGVzc28gW3kvbl0/IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiVzIGRhICVzJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorbXNnaWQgIiAtaywgLS1saXN0LWZpbGVzeXN0ZW1zICAgICBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MAorbXNnaWQgIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTEKK21zZ2lkICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRva2VuPiAgZmluZCBkZXZpY2Ugd2l0aCBhIHNwZWNpZmljIHRva2VuIChOQU1FPXZhbHVlIHBhaXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBsb29rIHVwIG9ubHkgZmlyc3QgZGV2aWNlIHdpdGggdG9rZW4gc3BlY2lmaWVkIGJ5IC10XG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBkZWxsYSB2ZXJzaW9uZSBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICAgICBjb252ZXJ0IExBQkVMIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBkZXZpY2UocykgdG8gcHJvYmUgKGRlZmF1bHQ6IGFsbCBkZXZpY2VzKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworIywgZnV6enkKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9ibGtpZC5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgSS9PIGxpbWl0c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICAgb3ZlcndyaXRlIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIEltcG9zdGEgbGEgc2hlbGwgXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgICBsICAgZWxlbmNvIGRlaSB0aXBpIGRpIGZpbGVzeXN0ZW0gY29ub3NjaXV0aSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiAgIGwgICBlbGVuY28gZGVpIHRpcGkgZGkgZmlsZXN5c3RlbSBjb25vc2NpdXRpIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM1Cittc2dpZCAiKG1vdW50ZWQsIG10cHQgdW5rbm93bikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNworIywgZnV6enkKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiU2Vnbm8gaW4gdXNvIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImZvcms6ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpdmFsZW50IHJlc3VsdCAocHJvYmFibHkgbW9yZSBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlLCB1c2Ugd2lwZWZzKDgpIHRvIHNlZSBtb3JlIGRldGFpbHMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24ga2V5d29yZCBpbiAtdSA8bGlzdD4gYXJndW1lbnQ6ICclcyciCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTkgbWlzYy11dGlscy93aXBlZnMuYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAidmFsb3JlIGRlbGwnYW5ubyBub24gdmFsaWRvOiB1c2FyZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICJWYWxvcmUgdGVzdGluZSBub24gdmFsaWRvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJ2YWxvcmUgZGVsbCdhbm5vIG5vbiB2YWxpZG86IHVzYXJlIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODEgbWlzYy11dGlscy9jYWwuYzo0ODkKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAidmFsb3JlIGRlbCBtZXNlIG5vbiB2YWxpZG86IHVzYXJlIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5vbWUgcHJpb3JpdMOgIHNjb25vc2NpdXRvOiAlcy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJWYWxvcmUgdGVzdGluZSBub24gdmFsaWRvIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJ2YWxvcmUgZGVsbCdhbm5vIG5vbiB2YWxpZG86IHVzYXJlIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo1MzAgbWlzYy11dGlscy9jYWwuYzo1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAidmFsb3JlIGRlbGwnYW5ubyBub24gdmFsaWRvOiB1c2FyZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiIKKworIyBGSVhNRQorIzogbWlzYy11dGlscy9jYWwuYzo3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiVXNvOiBjYWwgWy0xM3NtanlWXSBbW21lc2VdIGFubm9dXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9jYWwuYzoxMTAyCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA3Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICB0IC0gVGFiZWxsYSBpbiBmb3JtYXRvIGdyZXp6byIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExNAorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MQorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIHBhZ2VzIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudG8gbWVtb3JpYSBjb25kaXZpc2Egc2htaWQ9JWRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnRvIG1lbW9yaWEgY29uZGl2aXNhIHNobWlkPSVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgInN0YXQgZGVsIHBlcmNvcnNvIG5vbiByaXVzY2l0b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorIywgZnV6enkKK21zZ2lkICJmaWxlIG5hbWUiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gZnN0YXQ6ICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiRm9yemF0dXJhIGNvbnRyb2xsbyBmaWxlc3lzdGVtIHN1ICVzIGluIGNvcnNvLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIGEgYmxvY2NoaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib3B6aW9uaSB1dGlsaToiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnQ6IG1vdW50IG5vbiByaXVzY2l0byIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICIlczogQ29tYW5kbyBzY29ub3NjaXV0bzogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIm1vdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorIywgZnV6enkKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgImxldHR1cmEgZGkgJWNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUiCittc2dzdHIgIiBSaW11b3ZlcmUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxNCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc3IHN5cy11dGlscy9lamVjdC5jOjcxNAorIzogc3lzLXV0aWxzL21vdW50LmM6MzI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGxlZ2dlcmUgJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MoKSBub24gcml1c2NpdGEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgZWxlbmNvIGRlaSB0aXBpIGRpIGZpbGVzeXN0ZW0gY29ub3NjaXV0aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgIGwgICBlbGVuY28gZGVpIHRpcGkgZGkgZmlsZXN5c3RlbSBjb25vc2NpdXRpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzAKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRyZWUgICAgICAgICAgICAgZW5hYmxlIHRyZWUgZm9ybWF0IG91dHB1dCBpcyBwb3NzaWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgZWxlbmNvIGRlaSB0aXBpIGRpIGZpbGVzeXN0ZW0gY29ub3NjaXV0aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDQKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJOZXNzdW5hIGRpcmVjdG9yeSAlcyFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAiU2kgw6ggc3BlY2lmaWNhdG8gdW4gbnVtZXJvIGRpIGNpbGluZHJpIHN1cGVyaW9yZSBhIHF1ZWxsaSBjb250ZW51dGkgc3UgZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJsJ2lub2RlIHJhZGljZSBub24gw6ggdW5hIGRpcmVjdG9yeSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5vbiBzaSB0cmF0dGEgZGkgdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImRpc3Bvc2l0aXZvIGEgYmxvY2NoaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJvcHppb25pIHBlcmljb2xvc2U6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiB0aXBvIGRpIGZpbGVzeXN0ZW0gJyVzJyBzY29ub3NjaXV0byIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0aXBvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKK21zZ3N0clsxXSAiZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBlcnJvcmUiCittc2dzdHJbMV0gIiwgZXJyb3JlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIm9wemlvbmUgbHVuZ2EgdnVvdGEgZG9wbyBwYXJhbWV0cm8gLWwgbyAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJzaGVsbCBzY29ub3NjaXV0YSBkb3BvIHBhcmFtZXRybyAtcyBvIC0tc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiICAgICAgZ2V0b3B0IFtvcHppb25pXSAtb3wtLW9wdGlvbnMgb3B0c3RyaW5nIFtvcHppb25pXSBbLS1dXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2CisjLCBmdXp6eQorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBDb25zZW50ZSBsZSBvcHppb25pIGx1bmdoZSBjaGUgaW5pemlhbm8gY29uIHVuIHNpbmdvbG8gLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnM9bG9uZ29wdHMgICBPcHppb25pIGx1bmdoZSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9cHJvZ25hbWUgICAgICAgICAgSWwgbm9tZSBjb24gaWwgcXVhbGUgdmVuZ29ubyByaXBvcnRhdGkgZ2xpIGVycm9yaVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICBEaXNhdHRpdmEgZXJyb3JlIHJpcG9ydGF0byBkYSBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgSW1wb3N0YSBsYSBzaGVsbCBcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBkZWxsYSB2ZXJzaW9uZSBnZXRvcHQoMSlcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImFyZ29tZW50byBvcHRzdHJpbmcgbWFuY2FudGUiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgImVycm9yZSBpbnRlcm5vLCBjb250YXR0YXJlIGwnYXV0b3JlLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIiVzOiBzZWduYWxlIHNjb25vc2NpdXRvICVzOyBzZWduYWxpIHZhbGlkaTpcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg0Cittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9raWxsLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg5Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiJXM6IHNlZ25hbGUgc2Nvbm9zY2l1dG8gJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjYwIG1pc2MtdXRpbHMva2lsbC5jOjI2MyBtaXNjLXV0aWxzL2tpbGwuYzoyNzIKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NCBtaXNjLXV0aWxzL2tpbGwuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorIywgZnV6enkKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBlcnJhdG8sIHVzb1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgcmlub21pbmFyZSAlcyBpbiAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgaWwgcHJvY2Vzc28gXCIlc1wiXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5vbWUgZnVuemlvbmFsaXTDoCBzY29ub3NjaXV0bzogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5vbWUgcHJpb3JpdMOgIHNjb25vc2NpdXRvOiAlcy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJpbCBub21lIGRpIGxvZ2luIMOoIHRyb3BwbyBsdW5nby5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAiRGltZW5zaW9uaSBibG9jY286ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImlsIGNhbXBvIMOoIHRyb3BwbyBsdW5nby5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJpbCBjYW1wbyDDqCB0cm9wcG8gbHVuZ28uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgaWwgY2xvY2sgZGkgc2lzdGVtYS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPXNoZWxsICAgICAgICAgICAgSW1wb3N0YSBsYSBzaGVsbCBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGRlbGxhIHZlcnNpb25lIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTIKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NgorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NworbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAidmFsb3JlIGRpIHRpbWVvdXQgbm9uIHZhbGlkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1MgorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgQ29uc2VudGUgbGUgb3B6aW9uaSBsdW5naGUgY2hlIGluaXppYW5vIGNvbiB1biBzaW5nb2xvIC1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgY29tcGFyZSBvbmx5IGJsYW5rcyBhbmQgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiTnVtZXJvIGRlbGxhIHBhcnRpemlvbmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJzdGF0IGRlbCBwZXJjb3JzbyBub24gcml1c2NpdG9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3CisjLCBmdXp6eQorbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgImltcG9zdGEgc29sYSBsZXR0dXJhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIiByaW1vdmliaWxlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImRpbWVuc2lvbmUgaW5vZGUgbm9uIGNvcnJldHRhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCisjLCBmdXp6eQorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGRlbCBzZXR0b3JlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OQorbXNnaWQgImRpc2NhcmQgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIiAgIGkgICBjYW1iaWEgbCdpZGVudGlmaWNhdGl2byBkZWwgZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgInZlcnNpb25lIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXM6IG5vbiBzaSB0cmF0dGEgZGkgdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ0Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGRlbGxhIHZlcnNpb25lIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYxCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgInN0YXQgZGVsIHBlcmNvcnNvIG5vbiByaXVzY2l0b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworIywgZnV6enkKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorIywgZnV6enkKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgJyVzJyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgInNjb25vc2NpdXRvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgaWwgY2xvY2sgZGkgc2lzdGVtYS5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAyCittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNCBzeXMtdXRpbHMvbHNucy5jOjkwNCBzeXMtdXRpbHMvcmZraWxsLmM6NTc0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIk90dGVudXRpICVkIGJ5dGUgZGEgJXNcbiIKK21zZ3N0clsxXSAiT3R0ZW51dGkgJWQgYnl0ZSBkYSAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJleGVjIGZhbGxpdGFcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJPdHRlbnV0aSAlZCBieXRlIGRhICVzXG4iCittc2dzdHJbMV0gIk90dGVudXRpICVkIGJ5dGUgZGEgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAibCdpbm9kZSByYWRpY2Ugbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICItLWRhdGUgYXJnb21lbnRvIHRyb3BwbyBsdW5nb1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IG5vbiBzaSB0cmF0dGEgZGkgdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgcmlub21pbmFyZSAlcyBpbiAlczogJXNcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiLi4uQW5kYXRvIGFsIGZpbGUgIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSByaW5vbWluYXJlICVzIGluICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDQKK21zZ2lkICIgLW8sIC0tbm8tb3ZlcndyaXRlICBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQKK21zZ2lkICJBIGRhZW1vbiBmb3IgZ2VuZXJhdGluZyBVVUlEcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9c2hlbGwgICAgICAgICAgICBJbXBvc3RhIGxhIHNoZWxsIFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgZGVsbGEgdmVyc2lvbmUgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKK21zZ3N0ciAiICAgIC1IIyBbbyAtLWhlYWRzICNdOiAgICBpbXBvc3RhIGlsIG51bWVybyBkaSB0ZXN0aW5lIGRhIHV0aWxpenphcmUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgcCAgICAgICAgICBTdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IHNjaGVybW8gbyBzdSBmaWxlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiICAgIC1xICBbbyAtLXF1aWV0XTogICAgICBlbGltaW5hIGkgbWVzc2FnZ2kgZGkgYXZ2ZXJ0aW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgImNvbDogYXJnb21lbnRvIC1sIG5vbiB2YWxpZG8gcGVyICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAibmZzIHNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworIywgZnV6enkKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJuZnMgY29ubmVjdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworIywgZnV6enkKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiU2NyaXZpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU1CisjLCBmdXp6eQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgImxldHR1cmEgZGkgJWNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2MQorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworIywgZnV6enkKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMDIKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgInNjYWR1dG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCBkaSBncnVwcG86ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHN0YXQgc3VsIGRpc3Bvc2l0aXZvICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgIiBzZXR0aW1lb2ZkYXkoKSBub24gcml1c2NpdG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAiTG9naW4gc2NhZHV0byBkb3BvICVkIHNlY29uZGlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4OTkgdGV4dC11dGlscy9jb2x1bW4uYzo0OTYKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NTI5CisjLCBmdXp6eQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICJFcnJvcmUgZHVyYW50ZSBsYSBsZXR0dXJhIGRpICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICJub21lIGRpIHZvbHVtZSB0cm9wcG8gbHVuZ28iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDcKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgaWwgY2FtYmlhbWVudG8gZGVsbGEgbW9kYWxpdMOgIGRpICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU1IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODMKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiJXM6IEVPRiBub24gcHJldmlzdG8gbmVsIGZpbGUgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlICVzOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlczogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjkKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiAgIHMgICBjcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTdW4gdnVvdGEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgZGVsbGEgdmVyc2lvbmUgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzUKK21zZ2lkICIgLU4sIC0tbmFtZSBuYW1lICAgICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgZnJvbSB0aGlzIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYXRlIHNoYTEgaGFzaFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAiICAgaSAgIGNhbWJpYSBsJ2lkZW50aWZpY2F0aXZvIGRlbCBkaXNjbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NworIywgZnV6enkKK21zZ2lkICJ2YXJpYW50IG5hbWUiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAiTm9tZSB1dGVudGUgbm9uIHZhbGlkbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTg2Cittc2dpZCAib3RoZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTcKK21zZ2lkICJuaWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDIKK21zZ2lkICJ0aW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjA4Cittc2dpZCAibmFtZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxMQorbXNnaWQgInJhbmRvbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNAorbXNnaWQgInNoYTEtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNjcgbWlzYy11dGlscy93aXBlZnMuYzoxNzAgc3lzLXV0aWxzL2xzY3B1LmM6MTcyMgorIzogc3lzLXV0aWxzL2xzbnMuYzo4MDYgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworIywgZnV6enkKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMgorbXNnaWQgIiAtdSAgICAgICAgIHNlYXJjaCBmb3IgdW51c3VhbCBlbnRyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgIi0tZGF0ZSBhcmdvbWVudG8gdHJvcHBvIGx1bmdvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi9maWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCBwYXJ0aXppb25pOlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIkVycm9yZSBkdXJhbnRlIGxhIGNoaXVzdXJhIGRlbCBmaWxlXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCittc2dzdHJbMV0gIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIHN1bGxhIHBhZ2luYSBkaSBmaXJtYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICJDaGlhbWF0YSBkaSBpb2N0bCgpIHBlciByaWxlZ2dlcmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiVXRpbGl6emFyZSBpbCBmbGFnIC1mb3JjZSBwZXIgb2x0cmVwYXNzYXJlIHR1dHRpIGkgY29udHJvbGxpLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorIywgZnV6enkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIkFwZXJ0dXJhIGRpICVzIG5vbiByaXVzY2l0YSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIHN1bGxhIHBhZ2luYSBkaSBmaXJtYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZSIKK21zZ3N0ciAiIHQgICAgICAgICAgQ2FtYmlhIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIgorbXNnc3RyICIgICAgLUMjIFtvIC0tY3lsaW5kcmVzICNdOmltcG9zdGEgaWwgbnVtZXJvIGRpIGNpbGluZHJpIGRhIHV0aWxpenphcmUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE3CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlcyIKK21zZ3N0ciAiICAgIC1xICBbbyAtLXF1aWV0XTogICAgICBlbGltaW5hIGkgbWVzc2FnZ2kgZGkgYXZ2ZXJ0aW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXMiCittc2dzdHIgIiAgIGwgICBlbGVuY28gZGVpIHRpcGkgZGkgZmlsZXN5c3RlbSBjb25vc2NpdXRpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJvcHppb25pIHBlcmljb2xvc2U6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgICAgICAgICAgICAgcGFyYW1ldHJpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAgICAgICAgICAgICBwYXJhbWV0cmlcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBkaXNwb3NpdGl2byBwZXIgJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIk5GUyBhdHRyYXZlcnNvIFRDUCBub24gc3VwcG9ydGF0by5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKKyMsIGZ1enp5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIk5GUyBhdHRyYXZlcnNvIFRDUCBub24gc3VwcG9ydGF0by5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNAorbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTYKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICIlczogQ29tYW5kbyBzY29ub3NjaXV0bzogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgImVycm9yZSBzY29ub3NjaXV0aSBpbiBpZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyBub24gcml1c2NpdGEiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNCBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgICAgLUMjIFtvIC0tY3lsaW5kcmVzICNdOmltcG9zdGEgaWwgbnVtZXJvIGRpIGNpbGluZHJpIGRhIHV0aWxpenphcmUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgICAtQyMgW28gLS1jeWxpbmRyZXMgI106aW1wb3N0YSBpbCBudW1lcm8gZGkgY2lsaW5kcmkgZGEgdXRpbGl6emFyZSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5MQorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBub24gcml1c2NpdG8gc3UgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTIgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMSBzeXMtdXRpbHMvYmxrem9uZS5jOjE3MyBzeXMtdXRpbHMvYmxrem9uZS5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIkltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGVsIGRpc2NvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCisjLCBmdXp6eQorbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIiVzOiBub24gc2kgdHJhdHRhIGRpIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjc0Cittc2dpZCAiUmVzZXQgYSByYW5nZSBvZiB6b25lcy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZGV0ZXJtaW5lIHpvbmUgc2l6ZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgc2NyaXZlcmUgbmVsbGEgbWFwcGEgZGVsbGUgem9uZSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBub24gcml1c2NpdG8gc3UgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm91bmQgJWQgem9uZXMgZnJvbSAweCU8UFJJeDY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWNjZXNzZnVsbHkgcmVzZXQgaW4gcmFuZ2UgZnJvbSAlPFBSSXU2ND4sIHRvICU8UFJJdTY0PiIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwMgorbXNnaWQgIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPHNlY3Rvcj4gIHN0YXJ0IHNlY3RvciBvZiB6b25lIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMAorbXNnaWQgIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNvdW50IDxudW1iZXI+ICAgbWF4aW11bSBudW1iZXIgb2Ygem9uZXNcbiIKK21zZ3N0ciAiICAgIC1TIyBbbyAtLXNlY3RvcnMgI106ICBpbXBvc3RhIGlsIG51bWVybyBkaSBzZXR0b3JpIGRhIHV0aWxpenphcmUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICJtb3VudDogJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzczCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiBcIiVzXCIgbm9uIGVzaXN0ZS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBub24gZXNlZ3VpYmlsZS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyYXppb25lIG5vbiByaXVzY2l0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJhemlvbmUgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICIlczogXCIlc1wiIG5vbiBlc2VndWliaWxlLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIklsIHNldHRvcmUgJWQgw6ggZ2nDoCBhbGxvY2F0b1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyYXppb25lIG5vbiByaXVzY2l0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyYXppb25lIG5vbiByaXVzY2l0YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJhemlvbmUgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF1dG9jb25maWd1cmF6aW9uZSBub24gcml1c2NpdGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJBdXRvY29uZmlndXJhemlvbmUgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIk51bWVybyBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lbW9yeSBCbG9jayAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBpbmRleCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgIkF1dG9jb25maWd1cmF6aW9uZSBub24gcml1c2NpdGEuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1NiBzeXMtdXRpbHMvY2htZW0uYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiQXV0b2NvbmZpZ3VyYXppb25lIG5vbiByaXVzY2l0YS5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU4IHN5cy11dGlscy9jaG1lbS5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJBdXRvY29uZmlndXJhemlvbmUgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJBdXRvY29uZmlndXJhemlvbmUgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjY2IHN5cy11dGlscy9sc21lbS5jOjQ3NiBzeXMtdXRpbHMvbHNtZW0uYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBvdHRlbmVyZSBsJ2luZGlyaXp6byBkaSAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIGFkZHJlc3MiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBhZGRyZXNzIGFuZCAoZW5kIGFkZHJlc3MgKyAxKSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJhbmdlOiAlcyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNworbXNnaWQgIlNldCBhIHBhcnRpY3VsYXIgc2l6ZSBvciByYW5nZSBvZiBtZW1vcnkgb25saW5lIG9yIG9mZmxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1lbmFibGUgICAgICAgZW5hYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpc2FibGUgICAgICBkaXNhYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NworbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDI5Cittc2dpZCAiem9uZSBpZ25vcmVkLCBubyB2YWxpZF96b25lcyBzeXNmcyBhdHRyaWJ1dGUgcHJlc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbWVtb3J5IHpvbmU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5vbWUgcHJpb3JpdMOgIHNjb25vc2NpdXRvOiAlcy5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICJVc286IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiQmlzb2duYSBlc3NlcmUgcm9vdCBwZXIgaW1wb3N0YXJlIG1vZGFsaXTDoCBDdHJsLUFsdC1EZWwuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIlF1ZXN0YSBwYXJ0aXppb25lIMOoIHV0aWxpenphYmlsZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgY2hpdXN1cmEgZGkgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworIywgZnV6enkKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJXMgIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIm1lc3NhZ2dpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorIywgZnV6enkKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODAKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlIHRpbWVzdGFtcCBvdXRwdXQgb24gZWFjaCBsaW5lIG9mIG11bHRpLWxpbmUgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGUgZmFjaWxpdHkgYW5kIGxldmVsIHRvIHJlYWRhYmxlIHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAyCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogQ29tYW5kbyBzY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgIk5lc3N1bmEgZGlyZWN0b3J5ICVzIVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2CisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgImdldHRpbWVvZmRheSBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1NDUKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImZzeW5jIG5vbiByaXVzY2l0byAiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgcmltb3ZpYmlsZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiw4ggc3VwcG9ydGF0byBzb2xhbWVudGUgMWsgYmxvY2NoaS96b25lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDEKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OAorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUwCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjUKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY3Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMyIHN5cy11dGlscy9lamVjdC5jOjQ1NSBzeXMtdXRpbHMvZWplY3QuYzoxMDA2Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM4Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MworbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpIG8gdW4gZmlsZVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICJtb3VudCBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiBpbCBtb3VudCBwb2ludCAlcyBub24gZXNpc3RlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjcyNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODI4Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJVdGlsaXp6byBkZWwgdmFsb3JlIHByZWRlZmluaXRvICV1XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MSBzeXMtdXRpbHMvcnRjd2FrZS5jOjM5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlhdnZvbGdlcmUgaWwgZGlzcG9zaXRpdm8gc3dhcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJsb29wOiBpbXBvc3NpYmlsZSBhcHJpcmUgaWwgZGV2aWNlICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODkgc3lzLXV0aWxzL3Vtb3VudC5jOjMwOSBzeXMtdXRpbHMvdW1vdW50LmM6MzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogbm9uIHNpIHRyYXR0YSBkaSB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAibG9vcDogaW1wb3NzaWJpbGUgYXByaXJlIGlsIGRldmljZSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b2dnbGluZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgInVtb3VudDogJXM6IGRldmljZSBvY2N1cGF0byIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwNQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICIlcyByaXVzY2l0by5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiZXhlYyBmYWxsaXRhXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImFwZXJ0dXJhIGRlbGxhIGRpcmVjdG9yeSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImlvY3RsKCkgbm9uIMOoIHJpdXNjaXRvIGEgbGVnZ2VyZSBsJ29yYXJpbyBkYSAlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgICAgLUMjIFtvIC0tY3lsaW5kcmVzICNdOmltcG9zdGEgaWwgbnVtZXJvIGRpIGNpbGluZHJpIGRhIHV0aWxpenphcmUiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIHAgICAgICAgICAgU3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBzY2hlcm1vIG8gc3UgZmlsZSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NworbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1NAorbXNnaWQgInBvc2l4X2ZhbGxvY2F0ZSBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworIywgZnV6enkKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsb3JlIGltcG9zdGF0byBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIkFyZ29tZW50aSBpbnN1ZmZpY2llbnRpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiVmFsb3JlIGltcG9zdGF0byBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJsb2dpbjogbmVzc3VuYSBtZW1vcmlhIHBlciBsbyBzY3JpcHQgc2hlbGwuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmljaGllZGUgdW4gYXJnb21lbnRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorIywgZnV6enkKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJkaXNwb3NpdGl2byBhIGJsb2NjaGkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorIywgZnV6enkKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICJsJ2lub2RlIHJhZGljZSBub24gw6ggdW5hIGRpcmVjdG9yeSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2Vjb25kaVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiRXJyb3JlIGR1cmFudGUgbCdlc2VjdXppb25lIGRpXHQlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKKyMsIGZ1enp5Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJGb3J6YXR1cmEgY29udHJvbGxvIGZpbGVzeXN0ZW0gc3UgJXMgaW4gY29yc28uXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIHQgICAgICAgICAgQ2FtYmlhIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDUKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibCdpbm9kZSByYWRpY2Ugbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJsJ2lub2RlIHJhZGljZSBub24gw6ggdW5hIGRpcmVjdG9yeSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MyBzeXMtdXRpbHMvbHNucy5jOjEwNjYgc3lzLXV0aWxzL3N3YXBvbi5jOjczMworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgIC1DIyBbbyAtLWN5bGluZHJlcyAjXTppbXBvc3RhIGlsIG51bWVybyBkaSBjaWxpbmRyaSBkYSB1dGlsaXp6YXJlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzMxCisjLCBmdXp6eQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJPcHppb25lIC0tZGF0ZSBub24gc3BlY2lmaWNhdGEuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiQXR0ZW56aW9uZTogbCdvcHppb25lIG5vbG9jayBub24gw6ggZ2VzdGl0YS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJTaSBwcmVzdXBwb25lIGNoZSBpbCBjbG9jayBoYXJkd2FyZSBzaWEgbWFudGVudXRvIG5lbGwnb3JhcmlvICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJsb2NhbGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjU0CisjLCBmdXp6eQorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIlczogYXR0ZW56aW9uZTogdGVyemEgbGluZWEgbm9uIHJpY29ub3NjaXV0YSBuZWwgZmlsZSBhZGp0aW1lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiVWx0aW1hIHJlZ29sYXppb25lIGRlbGxhIGRlcml2YSBlZmZldHR1YXRhICVsZCBzZWNvbmRpIGRvcG8gaWwgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJVbHRpbWEgY2FsaWJyYXppb25lIGVmZmV0dHVhdGEgJWxkIHNlY29uZGkgZG9wbyBpbCAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiSWwgY2xvY2sgaGFyZHdhcmUgw6ggc3VsbCdvcmFyaW8gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJBdHRlc2EgZGVsIHNlZ25hbGUgZGFsIGNsb2NrLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi5yaWNldnV0byBzZWduYWxlIGRhbCBjbG9ja1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICIgVmFsb3JpIG5vbiB2YWxpZGkgbmVsIGNsb2NrIGhhcmR3YXJlOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJPcmFyaW8gY2xvY2sgaGFyZHdhcmUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZGkgZGFsIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiT3JhcmlvIGxldHRvIGRhbCBjbG9jayBoYXJkd2FyZTogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJJbXBvc3RhemlvbmUgZGVsIGNsb2NrIGhhcmR3YXJlIGEgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kaSBkYWwgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIiBDaGlhbWF0YSBzZXR0aW1lb2ZkYXkgaW4gY29yc286XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICIgQ2hpYW1hdGEgc2V0dGltZW9mZGF5IGluIGNvcnNvOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjU1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICIgc2V0dGltZW9mZGF5KCkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiTm9uIHZpZW5lIGVmZmV0dHVhdGEgbGEgcmVnb2xhemlvbmUgZGVsIGZhdHRvcmUgZGkgZGVyaXZhIHBvaWNow6kgaW4gcHJlY2VkZW56YSBpbCBjbG9jayBoYXJkd2FyZWNvbnRlbmV2YSBlbGVtZW50aSBpbnNvbGl0aS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIk5vbiB2aWVuZSBlZmZldHR1YXRhIGxhIHJlZ29sYXppb25lIGRlbCBmYXR0b3JlIGRpIGRlcml2YSBwb2ljaMOpIMOoIHRyYXNjb3JzbyBtZW5vIGRpIHVuIGdpb3Jub2RhbGwndWx0aW1hIGNhbGlicmF6aW9uZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJJbCBjbG9jayBoYSBhY2N1bXVsYXRvIHVuYSBkZXJpdmEgZGkgJS4xZiBzZWNvbmRpIG5lZ2xpIHVsdGltaSAlZCBzZWNvbmRpIG5vbm9zdGFudGUgaWwgZmF0dG9yZSBkaSBkZXJpdmEgZm9zc2UgZGkgJWYgc2Vjb25kaS9naW9ybm8uXG4iCisiUmVnb2xhemlvbmUgZGVsIGZhdHRvcmUgZGkgZGVyaXZhIGEgJWYgc2Vjb25kaS9naW9ybm9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiSWwgdGVtcG8gdHJhc2NvcnNvIGRhbGwndWx0aW1hIHJlZ29sYXppb25lIMOoIGRpICVkIHNlY29uZGlcbiIKK21zZ3N0clsxXSAiSWwgdGVtcG8gdHJhc2NvcnNvIGRhbGwndWx0aW1hIHJlZ29sYXppb25lIMOoIGRpICVkIHNlY29uZGlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2Vjb25kaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1cGRhdGUgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIklsIGNsb2NrIGRpIHNpc3RlbWEgbm9uIHZpZW5lIGltcG9zdGF0byBwZXJjaMOpIHN0YSBmdW56aW9uYW5kbyBpbiBtb2RhbGl0w6AgdGVzdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiSWwgY2xvY2sgZGkgc2lzdGVtYSBub24gdmllbmUgaW1wb3N0YXRvIHBlcmNow6kgc3RhIGZ1bnppb25hbmRvIGluIG1vZGFsaXTDoCB0ZXN0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJJbXBvc3NpYmlsZSB0cm92YXJlIHVuJ2ludGVyZmFjY2lhIGNsb2NrIHV0aWxpenphYmlsZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiVXNhcmUgbCdvcHppb25lIC0tZGVidWcgcGVyIHZlZGVyZSBpIGRldHRhZ2xpIGRlbGxhIHJpY2VyY2EgZGkgdW4gbWV0b2RvIGRpIGFjY2Vzc28uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAicGFnaW5lIHNjYW1iaWF0ZSAoc3dhcHBpbmcpICAgJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJMYSByZWdvbGF6aW9uZSBuZWNlc3NhcmlhIGVxdWl2YWxlIGEgbWVubyBkaSB1biBzZWNvbmRvLCBwZXJjacOyIGlsIGNsb2NrIG5vbiB2aWVuZSBpbXBvc3RhdG8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSBzdXBlciBibG9jayIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGNsb2NrIGRpIHNpc3RlbWEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY2Cittc2dpZCAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgUlRDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBSVEMgZnJvbSB0aGUgc3lzdGVtIHRpbWUiCittc2dzdHIgIiAgIGwgICBlbGVuY28gZGVpIHRpcGkgZGkgZmlsZXN5c3RlbSBjb25vc2NpdXRpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXN5c3R6ICAgICAgICAgIHNlbmQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb25zIHRvIHRoZSBrZXJuZWwiCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZGlzcGxheSB0aGUgUlRDIGVwb2NoIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBDb25zZW50ZSBsZSBvcHppb25pIGx1bmdoZSBjaGUgaW5pemlhbm8gY29uIHVuIHNpbmdvbG8gLVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzZSB0aGUgSVNBIGJ1cyBpbnN0ZWFkIG9mICUxJHMgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg0Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGRhdGUvdGltZSBpbnB1dCBmb3IgLS1zZXQgYW5kIC0tcHJlZGljdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKK21zZ2lkICIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIkltcG9zc2liaWxlIGltcG9zdGFyZSBpbCBjbG9jayBkaSBzaXN0ZW1hLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMTcKK21zZ2lkICItLXVwZGF0ZS1kcmlmdCByZXF1aXJlcyAtLXNldCBvciAtLXN5c3RvaGMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCisjLCBmdXp6eQorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICIlczogQ29uIC0tbm9hZGpmaWxlLCBvY2NvcnJlIHNwZWNpZmljYXJlIG8gLS11dGMgbyAtLWxvY2FsdGltZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjkKK21zZ2lkICItLWRhdGUgaXMgcmVxdWlyZWQgZm9yIC0tc2V0IG9yIC0tcHJlZGljdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICJzdGF0IGRlbCBwZXJjb3JzbyBub24gcml1c2NpdG9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM4OQorbXNnaWQgIklTQSBwb3J0IGFjY2VzcyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5MQorIywgZnV6enkKK21zZ2lkICJpb3BsKCkgcG9ydCBhY2Nlc3MgZmFpbGVkIgorbXNnc3RyICJvcGVuKCkgZGkgJXMgZmFsbGl0YSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5NworbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICJUZW50YXRpdm8gZGkgZXNlZ3VpcmUgdW1vdW50IGRpICVzIGluIGNvcnNvXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiTGV0dHVyYSBkZWxsJ29yYXJpbyBhdHRyYXZlcnNvIGlvY3RsKCkgc3UgJXMgbm9uIHJpdXNjaXRhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIkF0dGVzYSBpbiBsb29wIHBlciBpbCBjYW1iaW8gb3JhIGRhICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworIywgZnV6enkKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJUZW1wbyBkJ2F0dGVzYSBwZXIgaWwgY2FtYmlvIG9yYSBlc2F1cml0by5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAic2VsZWN0KCkgc3UgJXMgcGVyIGwnYXR0ZXNhIGRlbCBzZWduYWxlIGRhbCBjbG9jayBzY2FkdXRhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAic2VsZWN0KCkgc3UgJXMgcGVyIGwnYXR0ZXNhIGRlbCBzZWduYWxlIGRhbCBjbG9jayBmYWxsaXRhIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgIk5vbiByaXVzY2l0YSBsYSBkaXNhdHRpdmF6aW9uZSBkZWdsaSBpbnRlcnJ1cHQgZCdhZ2dpb3JuYW1lbnRvIGF0dHJhdmVyc28gaW9jdGwoKSBzdSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJOb24gcml1c2NpdG8gaW9jdGwoUlRDX0VQT0NIX1NFVCkgc3UgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgc3UgJXMgcGVyIGltcG9zdGFyZSBsJ29yYSBub24gcml1c2NpdGEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBoYSBmdW56aW9uYXRvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKK21zZ2lkICJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBzdSAlcyBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBzdSAlcyBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgIk5vbiByaXVzY2l0byBpb2N0bChSVENfRVBPQ0hfU0VUKSBzdSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIk5vbiByaXVzY2l0byBpb2N0bChSVENfRVBPQ0hfU0VUKSBzdSAlcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6NzE1IHN5cy11dGlscy96cmFtY3RsLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50byBtZW1vcmlhIGNvbmRpdmlzYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICIiCisiXG4iCisiQ29kYSBkaSBtZXNzYWdnaSBtc3FpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgInNlbWFmb3JpIGFsbG9jYXRpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJtYXRyaWNlIHNlbWFmb3JpIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnRvIG1lbW9yaWEgY29uZGl2aXNhIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnRvIG1lbW9yaWEgY29uZGl2aXNhIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvZGEgZGkgbWVzc2FnZ2kgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJtYXRyaWNlIHNlbWFmb3JpIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJhdXRvcml6emF6aW9uZSBuZWdhdGEgcGVyIGxhIGNoaWF2ZSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJhdXRvcml6emF6aW9uZSBuZWdhdGEgcGVyIGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgImNoaWF2ZSBub24gdmFsaWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAiY2hpYXZlIGdpw7kgcmltb3NzYSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJpZCBnacOgIHJpbW9zc28iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworIywgZnV6enkKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInJlc291cmNlKHMpIGRlbGV0ZWRcbiIKK21zZ3N0ciAicmlzb3JzYSBlbGltaW5hdGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICIlczogY2hpYXZlIGlsbGVnYWxlICglcylcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiaWwga2VybmVsIG5vbiDDqCBjb25maWd1cmF0byBwZXIgbGEgY29uZGl2aXNpb25lIGRlbGxhIG1lbW9yaWFcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAia2VybmVsIG5vbiBjb25maWd1cmF0byBwZXIgaSBzZW1hZm9yaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAia2VybmVsIG5vbiBjb25maWd1cmF0byBwZXIgbGUgY29kZSBkaSBtZXNzYWdnaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiJXMgZm9ybmlzY2UgaW5mb3JtYXppb25pIHN1bGxlIGZ1bnppb25hbGl0w6AgaXBjIGEgY3VpIGF2ZXRlIGFjY2Vzc28gaW4gbGV0dHVyYS5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IGRldHRhZ2xpIHN1bGxhIHJpc29yc2EgaWRlbnRpZmljYXRhIGRhIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgIm9wemlvbmkgcGVyaWNvbG9zZToiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgInZhbG9yZSBtYXNzaW1vIHRvdGFsZSBkaSBtZW1vcmlhIGNvbmRpdmlzYSAoa2J5dGUpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTGltaXRpIGRlbGxhIG1lbW9yaWEgY29uZGl2aXNhIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAiZGltZW5zaW9uZSBpbm9kZSBub24gY29ycmV0dGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE4CisjLCBmdXp6eQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJ2YWxvcmUgbWFzc2ltbyB0b3RhbGUgZGkgbWVtb3JpYSBjb25kaXZpc2EgKGtieXRlKSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgImRpbWVuc2lvbmUgaW5vZGUgbm9uIGNvcnJldHRhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiaWwga2VybmVsIG5vbiDDqCBjb25maWd1cmF0byBwZXIgbGEgY29uZGl2aXNpb25lIGRlbGxhIG1lbW9yaWFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBzdGF0byBkZWxsYSBtZW1vcmlhIGNvbmRpdmlzYSAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlZ21lbnRvIE1lbS4gQ29uZGl2LiBDcmVhdG9yaS9Qcm9wci4tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODYKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAic2htaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6MzkyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgInBlcm1zIgorbXNnc3RyICJwZXJtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNZW0uIENvbmRpdi4gIENvbm4uL1Njb25uLi9DYW1iaW8gIFZvbHRlIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mjg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJvd25lciIKK21zZ3N0ciAicHJvcHJpZXRhcmlvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJjb25uZXNzbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiZGlzY29ubmVzc28iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiY2FtYmlhdG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVtLiAgQ29uZGl2LiBDcmVhdG9yZS9MYXN0LW9wLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZWdtLiBNZW1vcmlhIENvbmRpdmlzYSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAiY2hpYXZlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYnl0ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInN0YXRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICJOb24gaW1wb3N0YXRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiZGVzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgImJsb2NjYXRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMaW1pdGkgZGkgc2VtYWZvcm8gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJudW1lcm8gbWF4IGRpIG1hdHJpY2kgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICJudW1lcm8gbWF4IGRpIHNlbWFmb3JpIHBlciBtYXRyaWNlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJudW1lcm8gbWF4IGRpIHNlbWFmb3JpIHN1IHR1dHRvIGlsIHNpc3RlbWEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibnVtZXJvIG1heCBvcHouIHBlciBjaGlhbWF0YSBzZW1vcCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAidmFsb3JlIG1heCBkZWwgc2VtYWZvcm8gPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAia2VybmVsIG5vbiBjb25maWd1cmF0byBwZXIgaSBzZW1hZm9yaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU3RhdG8gZGVsIHNlbWFmb3JvIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibWF0cmljaSB1dGlsaXp6YXRlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJzZW1hZm9yaSBhbGxvY2F0aSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWF0cmljZSBkaSBTZW1hZi4gQ3JlYXRvcmkvUHJvcHIuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNZW0uIENvbmRpdmlzYSBPcGVyYXppb25lL01vZGlmLiBWb2x0ZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgImxhc3Qtb3AiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJ1bHRpbWEtbW9kaWZpY2EiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBNYXRyaWNpIHNlbWFmb3JpIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAibnNlbXMiCittc2dzdHIgIm5zZW1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIk51bWVybyBkaSB0ZXN0aW5lIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVzc2FnZ2k6IGxpbWl0aSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibnVtZXJvIG1heCBkaSBjb2RlIHN1IHR1dHRvIGlsIHNpc3RlbWEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorIywgZnV6enkKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJkaW1lbnNpb25lIG1heCBkZWwgbWVzc2FnZ2lvIChieXRlKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDczCisjLCBmdXp6eQorbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgImRpbWVuc2lvbmUgbWFzc2ltYSBwcmVkZWZpbml0YSBkZWxsYSBjb2RhIChieXRlKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAia2VybmVsIG5vbiBjb25maWd1cmF0byBwZXIgbGUgY29kZSBkaSBtZXNzYWdnaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVzc2FnZ2k6IHN0YXRvIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJjb2RlIGFsbG9jYXRlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiaW50ZXN0YXppb25pIHV0aWxpenphdGUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OAorIywgZnV6enkKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJzcGF6aW8gdXRpbGl6emF0byA9ICVkIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkKKyMsIGZ1enp5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgImJ5dGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBDb2RlIG1lc3NhZ2dpOiBDcmVhdG9yaS9Qcm9wcmlldGFyaSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAibXNxaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBDb2RlIG1lc3NhZ2dpICBJbnYuL1JpYy4vTW9kaWYuIFZvbHRlLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICJpbnZpbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJyZWN2IgorbXNnc3RyICJyaWNlei4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJtb2RpZmljYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIENvZGUgTWVzc2FnZ2kgIFBJRCAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIENvZGUgbWVzc2FnZ2kgIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiYnl0ZSB1dGlsaXp6YXRpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICJtZXNzYWdnaSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50byBtZW1vcmlhIGNvbmRpdmlzYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHRnaWQ9JWRcdGN1aWQ9JWRcdGNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIywgZnV6enkKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImJ5dGU9JWxkXHRscGlkPSVkXHRjcGlkPSVkXHRuYXR0Y2g9JWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImF0dF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk5IHN5cy11dGlscy9pcGNzLmM6NjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDb2RhIGRpIG1lc3NhZ2dpIG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSVkXHRnaWQ9JWRcdGN1aWQ9JWRcdGNnaWQ9JWRcdG1vZGU9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY3NpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5CisjLCBmdXp6eQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImJ5dGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCisjLCBmdXp6eQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgImJ5dGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAicmN2X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisibWF0cmljZSBzZW1hZm9yaSBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSVkXHQgZ2lkPSVkXHQgY3VpZD0lZFx0IGNnaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kYWxpdMOgPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInZhbHVlIgorbXNnc3RyICJ2YWxvcmUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgImJ5dGUiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgImJ5dGUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTUKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTYKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTcKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyNgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gc3BlY2lhbGUgYSBibG9jY2hpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgImltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGkgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJuYW1laTogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGlyZWN0b3J5IGNvcnJlbnRlIC0gJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJSaWNlcmNhIHN1bGwndW5pdMOgIGRpc2NvIGltcG9zc2liaWxlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAicmlsZWdnaSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvIHNjb25vc2NpdXRvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2CisjLCBmdXp6eQorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorIywgZnV6enkKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBvZmZzZXQgJWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIkRpbWVuc2lvbmUgbWFzc2ltYT0lbGRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgY2lmcmF0dXJhICVzICh0aXBvICVkKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTgKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgZGVsbGEgdmVyc2lvbmUgZ2V0b3B0KDEpXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiAlcyBubyDDqCB1biBscCBkZXZpY2UuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlhdnZvbGdlcmUgaWwgZGlzcG9zaXRpdm8gc3dhcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJtb3VudDogbWFuY2F0YSBpbXBvc3RhemlvbmUgZGVsIGxvb3AgZGV2aWNlXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTQyIHN5cy11dGlscy9sb3NldHVwLmM6ODQ3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgaWwgZGlzcG9zaXRpdm8gcGVyICVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgInJpbGVnZ2kgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0OSBzeXMtdXRpbHMvbG9zZXR1cC5jOjY1OSBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3NAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODggc3lzLXV0aWxzL2xvc2V0dXAuYzo4MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlhdnZvbGdlcmUgaWwgZGlzcG9zaXRpdm8gc3dhcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODUKKyMsIGZ1enp5Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWNhdG8gZHVlIHZvbHRlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1CisjLCBmdXp6eQorbXNnaWQgIm5vbmUiCittc2dzdHIgIk5lc3N1bm8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc29ja2V0IG51bWJlciIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGRlbCBzZXR0b3JlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgZGVsIHNldHRvcmUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDIKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6Mzk5CisjLCBmdXp6eQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo3NDgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIkltcG9zc2liaWxlIGltcG9zdGFyZSB1biBnZXN0b3JlIGRlbCBzZWduYWxlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAicmljZXJjYSBpbiB3cml0ZV90YWJsZXMgbm9uIHJpdXNjaXRhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworIywgZnV6enkKK21zZ2lkICJOIgorbXNnc3RyICJOQyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczNworbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ3Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjcKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAzCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorIywgZnV6enkKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJuZnMgc29ja2V0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI0Cittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIk51bWVybyBkZWxsYSBwYXJ0aXppb25lIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI4Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMAorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMyCisjLCBmdXp6eQorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJOb21lIHV0ZW50ZSBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzYKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorIywgZnV6enkKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIlZlY2NoaWEgc2l0dWF6aW9uZTpcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTYKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NworbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJDaWxpbmRyaSBmaXNpY2kiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJDaWxpbmRyaSBmaXNpY2kiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgInZpc3VhbGl6emEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OAorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkZsYWciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworIywgZnV6enkKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICB1c2UgSlNPTiBmb3IgZGVmYXVsdCBvciBleHRlbmRlZCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAiTm9tZSB1dGVudGUgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAiY2hpYXZlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAicHJvcHJpZXRhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKKyMsIGZ1enp5Cittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgInZlcnNpb25lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlByaW1hcmlhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAidXRlbnRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiTm9tZSB1dGVudGUgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAidWx0aW1hLW1vZGlmaWNhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAiU2Vnbm8gaW4gdXNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICJOdW1lcm8gZGkgdGVzdGluZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJtZXNzYWdnaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiZG9wbyBsYSBwcmltYSBsaW5lYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJ2aXN1YWxpenphIGxhIGRpbWVuc2lvbmUgZGVsIGJsb2NjbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICJzdGF0byIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJjb25uZXNzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJkaXNjb25uZXNzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJuZXNzdW4gY29tYW5kbz9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgInV0ZW50ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOdW1lcm8gZGkgc2V0dG9yaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKyJcbiIKKyJtYXRyaWNlIHNlbWFmb3JpIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiTm9tZSB1dGVudGUgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkaXNwb3NpdGl2byBhIGJsb2NjaGkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAiVXNvOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IGRldHRhZ2xpIHN1bGxhIHJpc29yc2EgaWRlbnRpZmljYXRhIGRhIGlkXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHBhcnRpemlvbmk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudG8gbWVtb3JpYSBjb25kaXZpc2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIkNvbWFuZGkgZGlzcG9uaWJpbGk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICJDb21hbmRpIGRpc3BvbmliaWxpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiTnVtZXJvIGRpIHNldHRvcmkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiTnVtZXJvIGRpIHNldHRvcmkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorIywgZnV6enkKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIm51bWVybyBtYXggZGkgc2VtYWZvcmkgcGVyIG1hdHJpY2UgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2CisjLCBmdXp6eQorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgInZhbG9yZSBtYXggZGVsIHNlbWFmb3JvID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiTnVtZXJvIGRpIHRlc3RpbmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgImRpbWVuc2lvbmUgbWF4IGRlbCBtZXNzYWdnaW8gKGJ5dGUpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc1CisjLCBmdXp6eQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAiZGltZW5zaW9uZSBtYXNzaW1hIHByZWRlZmluaXRhIGRlbGxhIGNvZGEgKGJ5dGUpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1CisjLCBmdXp6eQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiU3VuT1MgcmlzZXJ2YXRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDcyCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50byBtZW1vcmlhIGNvbmRpdmlzYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDczCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50byBtZW1vcmlhIGNvbmRpdmlzYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJkaW1lbnNpb25lIG1heCBkZWwgbWVzc2FnZ2lvIChieXRlKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgImRpbWVuc2lvbmUgbWF4IGRlbCBtZXNzYWdnaW8gKGJ5dGUpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTE0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiVzOiBMZSBvcHppb25pIC0tYWRqdXN0IGUgLW5vYWRqZmlsZSBzaSBlc2NsdWRvbm8gdmljZW5kZXZvbG1lbnRlLiBTb25vIHN0YXRlIHNwZWNpZmljYXRlIGVudHJhbWJlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjgKK21zZ2lkICJzdGFydCBhbmQgZW5kIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJzdGF0IGRlbCBwZXJjb3JzbyBub24gcml1c2NpdG9cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMQorIywgZnV6enkKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICIgcmltb3ZpYmlsZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMyCittc2dpZCAibWVtb3J5IGJsb2NrIG51bWJlciBvciBibG9ja3MgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm51bWEgbm9kZSBvZiBtZW1vcnkiCittc2dzdHIgIk1lbW9yaWEgZXNhdXJpdGEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorIywgZnV6enkKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MQorIywgZnV6enkKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAidmlzdWFsaXp6YSBsYSBkaW1lbnNpb25lIGRlbCBibG9jY28iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgIm1lbW9yaWEgZXNhdXJpdGEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICJtZW1vcmlhIGluc3VmZmljaWVudGU/XG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorIywgZnV6enkKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgIiVzOiBsJ3V0ZW50ZSBcIiVzXCIgbm9uIGVzaXN0ZS5cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgbGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGxpdCA8bGlzdD4gICBzcGxpdCByYW5nZXMgYnkgc3BlY2lmaWVkIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW9wdHN0cmluZyAgICAgIE9wemlvbmkgYnJldmkgZGEgcmljb25vc2NlcmVcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiBMZSBvcHppb25pIC0tYWRqdXN0IGUgLW5vYWRqZmlsZSBzaSBlc2NsdWRvbm8gdmljZW5kZXZvbG1lbnRlLiBTb25vIHN0YXRlIHNwZWNpZmljYXRlIGVudHJhbWJlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDMKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDQKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDUKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3Cittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorIywgZnV6enkKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgaWwgY2xvY2sgZGkgc2lzdGVtYS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAidGlwbyBkaSByaXNvcnNhIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjQKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiDDqCBwb3NzaWJpbGUgc29sbyBwZXIgcm9vdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njggc3lzLXV0aWxzL3Vtb3VudC5jOjEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6IMOoIHBvc3NpYmlsZSBzb2xvIHBlciByb290IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIm1vdW50OiBzb2xhbWVudGUgcm9vdCBwdcOyIG1vbnRhcmUgJXMgc3UgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJtb3VudDogw6ggcG9zc2liaWxlIHNvbG8gcGVyIHJvb3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIGRhICVzJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgImltcG9zc2liaWxlIGZhcmUgc3RhdCBkaSAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkxIHN5cy11dGlscy91bW91bnQuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAibW91bnQ6ICVzIGdpw6AgbW9udGF0byBzdSAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogbm9uIHRyb3ZhdG8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMwNyBzeXMtdXRpbHMvdW1vdW50LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICJkaXNjbzogJS4qc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enkKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkZvcnphdHVyYSBjb250cm9sbG8gZmlsZXN5c3RlbSBzdSAlcyBpbiBjb3Jzby5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgWyAtZmlsZSBkdW1wZmlsZW5hbWUgXVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJTaSDDqCBzcGVjaWZpY2F0byB1biBudW1lcm8gZGkgY2lsaW5kcmkgc3VwZXJpb3JlIGEgcXVlbGxpIGNvbnRlbnV0aSBzdSBkaXNjbyIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAibCdpbm9kZSByYWRpY2Ugbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgw6ggbW9udGF0by5cdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MyBzeXMtdXRpbHMvc2V0YXJjaC5jOjkyIHN5cy11dGlscy91bnNoYXJlLmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJVc286ICVzIHByb2dyYW1tYSBbYXJnIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk2Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgImltcG9zc2liaWxlIGNyZWFyZSB1biBudW92byBjb250ZXN0byBzZWxpbnV4IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAiU2kgw6ggc3BlY2lmaWNhdG8gdW4gbnVtZXJvIGRpIGNpbGluZHJpIHN1cGVyaW9yZSBhIHF1ZWxsaSBjb250ZW51dGkgc3UgZGlzY28iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgInNlbWFmb3JpIGFsbG9jYXRpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgaWwgY2FtYmlhbWVudG8gZGVsbGEgbW9kYWxpdMOgIGRpICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCisjLCBmdXp6eQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgIm1vdW50IG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjkKKyMsIGZ1enp5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiQXBlcnR1cmEgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozOAorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRm9yemF0dXJhIGNvbnRyb2xsbyBmaWxlc3lzdGVtIHN1ICVzIGluIGNvcnNvLlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgJyVzJyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAiRE9TIHNlY29uZGFyaW8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKKyMsIGZ1enp5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAiZGltZW5zaW9uZSBpbm9kZSBub24gY29ycmV0dGEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgImJsb2NjaGkgJWxkXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJudW1lcm8gbWFzc2ltbyBkaSBzZWdtZW50aSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBwcm9jZXNzbyBcIiVzXCJcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3CisjLCBmdXp6eQorbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgImdldHByaW9yaXR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIk5vbWUgdXRlbnRlIG5vbiB2YWxpZG8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkaXNwb3NpdGl2byBhIGJsb2NjaGkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICJVbml0w6AiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcGFydGl6aW9uaTpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAib3B6aW9uaSBwZXJpY29sb3NlOiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg0Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IExlIG9wemlvbmkgLS1hZGp1c3QgZSAtbm9hZGpmaWxlIHNpIGVzY2x1ZG9ubyB2aWNlbmRldm9sbWVudGUuIFNvbm8gc3RhdGUgc3BlY2lmaWNhdGUgZW50cmFtYmUuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgUHJvdmEgZGVsbGEgdmVyc2lvbmUgZ2V0b3B0KDEpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgbGEgc2NyaXR0dXJhIGRpICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcwCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlNhbXBsaW5nX3N0ZXA6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzOiAlcyglaSk6IGxpbmVhIG1hcHBhIGVycmF0YVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgXCJfc3RleHRcIiBpbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDAzCittc2dpZCAidG90YWwiCittc2dzdHIgInRvdGFsZSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIkltbWV0dGVyZSBpbCBudW1lcm8gZGkgY2lsaW5kcmk6ICIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3NAorbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJTY3JpdHR1cmEgZGVsbGEgcGFydGl6aW9uZSBzdSAlcyBub24gcml1c2NpdGFcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZDogdmVjY2hpYSBwcmlvcml0w6AgJWQsIG51b3ZhIHByaW9yaXTDoCAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiJXM6IENvbWFuZG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAidmFsb3JlIGRpIHRpbWVvdXQgbm9uIHZhbGlkbzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl2byBzY29ub3NjaXV0byIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAiSWRlbnRpZmljYXRpdm8gZGlzY286IDB4JTA4eFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJzdGF0IGRlbCBwZXJjb3JzbyBub24gcml1c2NpdG9cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICJJZGVudGlmaWNhdGl2byBkaXNjbzogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICJibG9jY2F0byIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgInVuYmxvY2tlZCIKK21zZ3N0ciAiYmxvY2NhdG8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJJZGVudGlmaWNhdGl2byBkaXNjbzogMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gY29tbWFuZCBbaWRlbnRpZmllciAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjkKK21zZ2lkICJUb29sIGZvciBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHdpcmVsZXNzIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTMKK21zZ2lkICIgZXZlbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk0CisjLCBmdXp6eQorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIklkZW50aWZpY2F0aXZvIGRpc2NvOiAweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorIywgZnV6enkKK21zZ2lkICIgYmxvY2sgICBpZGVudGlmaWVyXG4iCittc2dzdHIgIklkZW50aWZpY2F0aXZvIGRpc2NvOiAweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NgorIywgZnV6enkKK21zZ2lkICIgdW5ibG9jayBpZGVudGlmaWVyXG4iCittc2dzdHIgIklkZW50aWZpY2F0aXZvIGRpc2NvOiAweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJnZXR0aW1lb2ZkYXkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAic2VtYWZvcmkgYWxsb2NhdGkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIkVycm9yZSBkdXJhbnRlIGxhIGNoaXVzdXJhIGRlbCBmaWxlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkaW5nIHN0ZGluIgorbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJzZW1hZm9yaSBhbGxvY2F0aSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJnZXR0aW1lb2ZkYXkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAiICVzOiB0aXBvIGRpIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBub24gcmljb25vc2NpdXRvXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDkzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI5CisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVdGlsaXp6byBkaSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzAKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiVXRpbGl6em8gZGkgJXMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMzCittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlczogJXMgbm8gw6ggdW4gbHAgZGV2aWNlLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJNZXNzYWdnaW8gZGEgJXNAJXMgc3UgJXMgYSAlcyAuLi4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJNZXNzYWdnaW8gZGEgJXNAJXMgc3UgJXMgYSAlcyAuLi4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorIywgZnV6enkKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczogYXJjaGl0ZXR0dXJhIG5vbiByaWNvbm9zY2l1dGEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIkltcG9zc2liaWxlIG90dGVuZXJlIGlsIHRpbWVvdXQgcGVyICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI4NgorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJBcmdvbWVudGkgaW5zdWZmaWNpZW50aSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJpbnB1dCBub24gcmljb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2OAorIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJBcmdvbWVudGkgaW5zdWZmaWNpZW50aSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIkVzZWN1emlvbmUgY29tYW5kbyBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIlVzbzogJXMgcHJvZ3JhbW1hIFthcmcgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExOQorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorIywgZnV6enkKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMQorIywgZnV6enkKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJOdW1lcm8gZGkgcGFydGl6aW9uaSBub24gdmFsaWRvIHBlciBpbCB0aXBvIFwiJWNcIlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiTmVzc3VubyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiUmlnYSB0cm9wcG8gbHVuZ2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkgc3lzLXV0aWxzL3NldHByaXYuYzozNjcgc3lzLXV0aWxzL3NldHByaXYuYzozNzIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc4IHN5cy11dGlscy9zZXRwcml2LmM6Mzg0IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIk5lc3N1bm8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiW3Vuc3VwcG9ydGVkXSIKK21zZ3N0ciAibmVzc3VuIGNvbWFuZG8/XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCisjLCBmdXp6eQorbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NjgKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiTmVzc3VuYSBkaXJlY3RvcnkgJXMhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiZm9ybWF0byBub24gcmljb25vc2NpdXRvIC0gdXRpbGl6em8gZGVpIHNldHRvcmkgaW4gY29yc29cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICInJWMnIG5vbiDDqCBjb25zZW50aXRvLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4OQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJpbnB1dCBub24gcmljb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYwOQorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5NgorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxMworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MDcKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiT3B6aW9uZSAtLWRhdGUgbm9uIHNwZWNpZmljYXRhLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjMKK21zZ2lkICItLWluaXQtZ3JvdXBzIHJlcXVpcmVzIC0tcnVpZCBvciAtLXJldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZCAlbGQgbm90IGZvdW5kLCAtLWluaXQtZ3JvdXBzIHJlcXVpcmVzIGFuIHVzZXIgdGhhdCBjYW4gYmUgZm91bmQgb24gdGhlIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzMgorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0MAorbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQ4Cittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTU0Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKKyMsIGZ1enp5Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgIkFwZXJ0dXJhIGRpICVzIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5ODUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNworbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiB0ICAgICAgICAgIENhbWJpYSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImZvcmsiCittc2dzdHIgImZvcms6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiBpbCBtb3VudCBwb2ludCAlcyBub24gZXNpc3RlIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIG5vbiByaXVzY2l0byIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAiJXMgc3UgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIk5vbiBzdXBlcnV0ZW50ZS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzQKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICIgICBkICAgY2FuY2VsbGF6aW9uZSBkaSB1bmEgcGFydGl6aW9uZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3CisjLCBmdXp6eQorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAic3RhdCBkZWwgcGVyY29yc28gbm9uIHJpdXNjaXRvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgInN0YXQgZGVsIHBlcmNvcnNvIG5vbiByaXVzY2l0b1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJTZWdubyBpbiB1c28iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAic2V0cHJpb3JpdHkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMgorIywgZnV6enkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJuZXNzdW5hIGV0aWNoZXR0YSwgIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIkFwZXJ0dXJhIGRpICVzIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IGZpbGUgJXMgaWdub3JhdG8gLSBzZW1icmEgYXZlcmUgZGVpIGJ1Y2hpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICIlcyBzdSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICJJZ25vcmF0YSBsJ29wemlvbmUgc2Nvbm9zY2l1dGEgXCIlY1wiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgImltcG9zc2liaWxlIHNjcml2ZXJlIGlub2RlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgICAtbCBbbyAtLWxpc3RdOiAgICAgIGVsZW5jbyBkZWxsZSBwYXJ0aXppb25pIGRpIGNpYXNjdW4gZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDcKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTYKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGlsIGRpc3Bvc2l0aXZvIHBlciAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY4CisjLCBmdXp6eQorbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAibCdpbm9kZSByYWRpY2Ugbm9uIMOoIHVuYSBkaXJlY3RvcnkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAiVGVudGF0aXZvIGRpIGVzZWd1aXJlIHVtb3VudCBkaSAlcyBpbiBjb3Jzb1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGlyZWN0b3J5IGNvcnJlbnRlIC0gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA5Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzOiAlcyBubyDDqCB1biBscCBkZXZpY2UuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgImVycm9yZSBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgImxvIHN0YXRvIGRpICVzIMOoICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBvY2N1cGF0byIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHByb250byIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBjYXJ0YSBlc2F1cml0YSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGVycm9yZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImZzeW5jIG5vbiByaXVzY2l0byAiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiZXJyb3JlIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyB1dGlsaXp6byBkaSBJUlEgJWQgaW4gY29yc29cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIHV0aWxpenpvIGRlbCBwb2xsaW5nIGluIGNvcnNvXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorIywgZnV6enkKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MgorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk4Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgICBsICAgZWxlbmNvIGRlaSB0aXBpIGRpIGZpbGVzeXN0ZW0gY29ub3NjaXV0aSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzIMOoIG1vbnRhdG8uXHQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAidW1vdW50OiAlczogbm9uIHRyb3ZhdG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBtb3VudCBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIlNjcml0dHVyYSBkZWxsYSBwYXJ0aXppb25lIHN1ICVzIG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzEwIHN5cy11dGlscy91bW91bnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAiJXM6IGFyZ29tZW50byBzY29ub3NjaXV0bzogJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgIkZvcnphdHVyYSBjb250cm9sbG8gZmlsZXN5c3RlbSBzdSAlcyBpbiBjb3Jzby5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHJpbm9taW5hcmUgJXMgaW4gJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3RhdCBzdWwgZGlzcG9zaXRpdm8gJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiICAgICAtLWtpbGwtY2hpbGRbPTxzaWduYW1lPl0gIHdoZW4gZHlpbmcsIGtpbGwgdGhlIGZvcmtlZCBjaGlsZCAoaW1wbGllcyAtLWZvcmspOyBkZWZhdWx0cyB0byBTSUdLSUxMXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjQKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorIywgZnV6enkKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBub24gcml1c2NpdG8iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU0CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJMb2dpbiBzY2FkdXRvIGRvcG8gJWQgc2Vjb25kaVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIkxvZ2luIHNjYWR1dG8gZG9wbyAlZCBzZWNvbmRpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgInN0YXRvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvIHNjb25vc2NpdXRvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICJsb29wOiBpbXBvc3NpYmlsZSBhcHJpcmUgaWwgZGV2aWNlICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IHNlZ25hbGUgc2Nvbm9zY2l1dG8gJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIwIHN5cy11dGlscy93ZGN0bC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzQgc3lzLXV0aWxzL3dkY3RsLmM6NDA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgcmlhdnZvbGdlcmUgaWwgZGlzcG9zaXRpdm8gc3dhcCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBvdHRlbmVyZSBpbCB0aW1lb3V0IHBlciAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIklsIHRlbXBvIHRyYXNjb3JzbyBkYWxsJ3VsdGltYSByZWdvbGF6aW9uZSDDqCBkaSAlZCBzZWNvbmRpXG4iCittc2dzdHJbMV0gIklsIHRlbXBvIHRyYXNjb3JzbyBkYWxsJ3VsdGltYSByZWdvbGF6aW9uZSDDqCBkaSAlZCBzZWNvbmRpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgInJpY2VyY2EgaW4gd3JpdGVfdGFibGVzIG5vbiByaXVzY2l0YSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY1IHN5cy11dGlscy93ZGN0bC5jOjQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo0NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJXMgICUuNmYgc2Vjb25kaVxuIgorbXNnc3RyWzFdICIlcyAgJS42ZiBzZWNvbmRpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NgorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorIywgZnV6enkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgInNjYWR1dG8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiRGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDgKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzaW9uZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorIywgZnV6enkKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl2byBzY29ub3NjaXV0byIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIlVzbzogbWtmcyBbLVZdIFstdCB0aXBvZnNdIFtvcHppb25pLWZzXSBkaXNwb3NpdGl2byBbZGltZW5zaW9uZV1cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAgICAtUyMgW28gLS1zZWN0b3JzICNdOiAgaW1wb3N0YSBpbCBudW1lcm8gZGkgc2V0dG9yaSBkYSB1dGlsaXp6YXJlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTUKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiJXM6IExlIG9wemlvbmkgLS1hZGp1c3QgZSAtbm9hZGpmaWxlIHNpIGVzY2x1ZG9ubyB2aWNlbmRldm9sbWVudGUuIFNvbm8gc3RhdGUgc3BlY2lmaWNhdGUgZW50cmFtYmUuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjQKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5NCBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogZXhlYyBkaSAlcyBpbXBvc3NpYmlsZTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiZXJyb3JlIGR1cmFudGUgaWwgY2FtYmlhbWVudG8gZGVsbGEgbW9kYWxpdMOgIGRpICVzOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgaWwgcHJvY2Vzc28gXCIlc1wiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IGV4ZWMgZGkgJXMgaW1wb3NzaWJpbGU6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzNyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxNDg0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MjYgdGVybS11dGlscy9hZ2V0dHkuYzoyMDkzIHRlcm0tdXRpbHMvYWdldHR5LmM6MjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiVzIGRhICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICJpZCBub24gdmFsaWRvOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgwNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgInZlbG9jaXTDoCBub24gdmFsaWRhOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDgKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJ0cm9wcGUgdmVsb2NpdMOgIGFsdGVybmF0aXZlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGltcG9zc2liaWxlIGFwcmlyZSBjb21lIGlucHV0IHN0YW5kYXJkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IG5vbiDDqCB1biBkaXNwb3NpdGl2byBkaSBjYXJhdHRlcmkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICJsJ2lub2RlIHJhZGljZSBub24gw6ggdW5hIGRpcmVjdG9yeSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQ0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBpbXBvc3NpYmlsZSBhcHJpcmUgY29tZSBpbnB1dCBzdGFuZGFyZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgImZvcmsgbm9uIHJpdXNjaXRvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBub24gw6ggYXBlcnRvIHBlciBsZXR0dXJhL3Njcml0dHVyYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBwcm9jZXNzbyBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBwcm9ibGVtYSBkdXA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICJpbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRpICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjUgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGltZW5zaW9uZSBkaSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgJyVzJyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImlvY3RsKCkgbm9uIMOoIHJpdXNjaXRvIGEgbGVnZ2VyZSBsJ29yYXJpbyBkYSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgInRpcG86ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiBsZXR0dXJhOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogc292cmFjY2FyaWNvIGlucHV0IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIm1vdW50OiBtYW5jYXRhIGltcG9zdGF6aW9uZSBkZWwgbG9vcCBkZXZpY2VcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMAorbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCisjLCBmdXp6eQorbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD1zaGVsbCAgICAgICAgICAgIEltcG9zdGEgbGEgc2hlbGwgXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MAorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgcCAgICAgICAgICBTdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IHNjaGVybW8gbyBzdSBmaWxlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz1sb25nb3B0cyAgIE9wemlvbmkgbHVuZ2hlIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MworbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU1CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgcCAgICAgICAgICBTdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IHNjaGVybW8gbyBzdSBmaWxlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTgKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0LXNwZWVkcyAgICAgICAgICBkaXNwbGF5IHN1cHBvcnRlZCBiYXVkIHJhdGVzXG4iCittc2dzdHIgIiAgICAtVCBbbyAtLWxpc3QtdHlwZXNdOmVsZW5jYSBpIHRpcGkgZGkgcGFydGl6aW9uZSBjb25vc2NpdXRpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICJ1dGVudGUiCittc2dzdHJbMV0gInV0ZW50ZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1CisjLCBmdXp6eQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgIsOoIHNcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImlzIG4iCittc2dzdHIgIsOoIG5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJzZW1hZm9yaSBhbGxvY2F0aSA9ICVkXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImlkIG5vbiB2YWxpZG86ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorIkF0dGVuemlvbmU6IFwiJXNcIiDDqCB1biBjb2xsZWdhbWVudG8uXG4iCisiVXNhcmUgXCIlcyBbb3B6aW9uaV0gJXNcIiBzZSBzaSB2dW9sZSB2ZXJhbWVudGUgdXNhcmxvLlxuIgorIlNjcmlwdCBub24gYXZ2aWF0by5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGVmZmV0dHVhdG8sIGlsIGZpbGUgw6ggJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBkaXNwb3NpdGl2byBwZXIgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGluaXppYXRvIHN1ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTY3JpcHQgZWZmZXR0dWF0byBzdSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbm9uIHJpdXNjaXRhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3CisjLCBmdXp6eQorbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiRXNhdXJpdGkgdHV0dGkgaSBwdHkgZGlzcG9uaWJpbGlcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGluaXppYXRvLCBpbCBmaWxlIMOoICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiQXBlcnR1cmEgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImlvY3RsKCkgbm9uIMOoIHJpdXNjaXRvIGEgbGVnZ2VyZSBsJ29yYXJpbyBkYSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICIlczogRU9GIG5vbiBwcmV2aXN0byBuZWwgZmlsZSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyNgorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODIKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorIywgZnV6enkKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBOZXNzdW4gb3V0cHV0IG5vcm1hbGVcbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0CisjLCBmdXp6eQorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgIFsgLWhhbGYtYnJpZ2h0IFtvbnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorIywgZnV6enkKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3CisjLCBmdXp6eQorbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBQcm92YSBkZWxsYSB2ZXJzaW9uZSBnZXRvcHQoMSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIFByb3ZhIGRlbGxhIHZlcnNpb25lIGdldG9wdCgxKVxuIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorIywgZnV6enkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorIywgZnV6enkKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgIFsgLXBvd2Vyc2F2ZSBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgImltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9yayIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlZmZldHR1YXJlIGlsIGZvcmsiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBpbCBkaXNwb3NpdGl2byAlcyBwZXIgc2NyaXZlcmVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICIlczogbCd1dGVudGUgXCIlc1wiIG5vbiBlc2lzdGUuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCisjLCBmdXp6eQorbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgIiVzIGxvZ2luIHJpZml1dGF0byBzdSBxdWVzdG8gdGVybWluYWxlLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY3Vyc29yIHBvc2l0aW9uOiAlcyIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICIgaW1wb3NzaWJpbGUgKGRpcylpbXBvc3RhcmUgbGEgbW9kYWxpdMOgIHJpc3Bhcm1pbyBlbmVyZ2V0aWNvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMTYgdGVybS11dGlscy9zZXR0ZXJtLmM6MTEyNQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJlcnJvcmUga2xvZ2N0bCA6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKKyMsIGZ1enp5Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIlczogJFRFUk0gbm9uIMOoIGRlZmluaXRvLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTUzCittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiBzZWduYWxlIHNjb25vc2NpdXRvICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgImVycm9yZSBpbnRlcm5vIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgImFyZ29tZW50byBsaW5lYSBlY2Nlc3NpdmFtZW50ZSBsdW5nbyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5vbiByaXVzY2l0YVxuIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBpbCBmb3JrIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5NAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBncm91cCBhcmd1bWVudCIKK21zZ3N0ciAiaWQgbm9uIHZhbGlkbyIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBnaWQiCittc2dzdHIgIiVjOiBjb21hbmRvIHNjb25vc2NpdXRvXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJ2YWxvcmUgZGkgdGltZW91dCBub24gdmFsaWRvOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIHV0ZW50ZTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJJbXBvc3NpYmlsZSBvdHRlbmVyZSBsYSBkaW1lbnNpb25lIGRlbCBkaXNjbyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIk1lc3NhZ2dpbyBicm9hZGNhc3QgZGEgJXNAJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiBub24gdmVycsOgIGxldHRvICVzIC0gdXNhcmUgc3RkaW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiVXNvOiBuYW1laSBbLW14XSBub21lIHBlcmNvcnNvIFtub21lIHBlcmNvcnNvIC4uLl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICJ3cml0ZTogJXMgbm9uIMOoIGNvbGxlZ2F0b1xuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2CisjLCBmdXp6eQorbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJ3cml0ZTogaW1wb3NzaWJpbGUgdHJvdmFyZSBpbCBub21lIGRpIHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIndyaXRlOiAlcyBoYSBpIG1lc3NhZ2dpIGRpc2F0dGl2YXRpXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIMOoIGNvbGxlZ2F0byBwacO5IGRpIHVuYSB2b2x0YTsgc2NyaXR0dXJhIHN1ICVzIGluIGNvcnNvXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJtYWxsb2Mgbm9uIHJpdXNjaXRhIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNZXNzYWdnaW8gZGEgJXNAJXMgKGNvbWUgJXMpIHN1ICVzIGEgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVzc2FnZ2lvIGRhICVzQCVzIHN1ICVzIGEgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCisjLCBmdXp6eQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAid3JpdGU6IGwnYXV0b3JpenphemlvbmUgcGVyIGxhIHNjcml0dHVyYSDDqCBkaXNhdHRpdmF0YS5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIG5vbiDDqCBjb2xsZWdhdG8gYSAlcy5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICJ3cml0ZTogJXMgaGEgaSBtZXNzYWdnaSBkaXNhdHRpdmF0aSBzdSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBhcmdvbWVudG8gLWwgbm9uIHZhbGlkbyBwZXIgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiY29sOiBhdHRlbnppb25lOiBpbXBvc3NpYmlsZSBlc2VndWlyZSBpbCBiYWNrdXAgZGkgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJkb3BvIGxhIHByaW1hIGxpbmVhIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBsaW5lYSBnacOgIHN2dW90YXRhIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODUKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBhcmdvbWVudG8gLWwgbm9uIHZhbGlkbyBwZXIgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IGFyZ29tZW50byAtbCBub24gdmFsaWRvIHBlciAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgdHJvdmFyZSAlcyBpbiAlcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtdHJ1bmMgbGlzdCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtbm9leHRyZW1lIGxpc3QiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtaGlkZSBsaXN0IgorbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9cHJvZ25hbWUgICAgICAgICAgSWwgbm9tZSBjb24gaWwgcXVhbGUgdmVuZ29ubyByaXBvcnRhdGkgZ2xpIGVycm9yaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MgorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9b3B0c3RyaW5nICAgICAgT3B6aW9uaSBicmV2aSBkYSByaWNvbm9zY2VyZVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MworIywgZnV6enkKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5vbiBjaXRhIGwnb3V0cHV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIiCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLXRhYmxlLWhpZGUgPGNvbHVtbnM+ICAgICAgIGRvbid0IHByaW50IHRoZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OAorbXNnaWQgIiAtUiwgLS10YWJsZS1yaWdodCA8Y29sdW1ucz4gICAgICByaWdodCBhbGlnbiB0ZXh0IGluIHRoZXNlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MAorbXNnaWQgIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCBmb3IgdGFibGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXRyZWUgPGNvbHVtbj4gICAgICAgICAgICAgIGNvbHVtbiB0byB1c2UgdHJlZS1saWtlIG91dHB1dCBmb3IgdGhlIHRhYmxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1Cittc2dpZCAiIC1pLCAtLXRyZWUtaWQgPGNvbHVtbj4gICAgICAgICAgIGxpbmUgSUQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAgICAtSCMgW28gLS1oZWFkcyAjXTogICAgaW1wb3N0YSBpbCBudW1lcm8gZGkgdGVzdGluZSBkYSB1dGlsaXp6YXJlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1vcHRzdHJpbmcgICAgICBPcHppb25pIGJyZXZpIGRhIHJpY29ub3NjZXJlXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgImlkIG5vbiB2YWxpZG8iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1CisjLCBmdXp6eQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgIm51bWVybyBtYXNzaW1vIGRpIHNlZ21lbnRpID0gJWx1XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgImhleGR1bXA6IGNvbnRlZ2dpbyBieXRlIGVycmF0byBwZXIgaWwgY2FyYXR0ZXJlIGRpIGNvbnZlcnNpb25lICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiaGV4ZHVtcDogJSVzIHJpY2hpZWRlIHVuIGNvbnRlZ2dpbyBkaSBwcmVjaXNpb25lIG8gdW4gY29udGVnZ2lvIGRlaSBieXRlLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJoZXhkdW1wOiBmb3JtYXRvIG5vbiB2YWxpZG8geyVzfVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgImhleGR1bXA6IGNhcmF0dGVyZSBkaSBjb252ZXJzaW9uZSBub24gdmFsaWRvICUlJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJoZXhkdW1wOiBjb250ZWdnaW8gYnl0ZSBjb24gaSBjYXJhdHRlcmkgZGkgY29udmVyc2lvbmUgbXVsdGlwbGEuXG4iCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjM0Cittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbm9uIHNjcml2ZSByZWFsbWVudGUgc3VsIGRpc2NvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgcCAgICAgICAgICBTdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IHNjaGVybW8gbyBzdSBmaWxlIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBub24gc2NyaXZlIHJlYWxtZW50ZSBzdWwgZGlzY28iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIHAgICAgICAgICAgU3RhbXBhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBzdSBzY2hlcm1vIG8gc3UgZmlsZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NAorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIkltbWV0dGVyZSBpbCBudW1lcm8gZGkgY2lsaW5kcmk6ICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICIlczogb3B6aW9uZSBzY29ub3NjaXV0YSBcIi0lY1wiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogbm9uIMOoIHVuIGZpbGUgZGkgdGVzdG8gKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbVXNhcmUgcSBvIFEgcGVyIHVzY2lyZV0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1BbmNvcmEtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbUHJlbWVyZSBzcGF6aW8gcGVyIGNvbnRpbnVhcmUsICdxJyBwZXIgdXNjaXJlLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4uaW5kaWV0cm8gJWQgcGFnaW5lIgorbXNnc3RyWzFdICIuLi5pbmRpZXRybyAlZCBwYWdpbmUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5zdG8gc2FsdGFuZG8gJWQgcmlnaGUiCittc2dzdHJbMV0gIi4uLnN0byBzYWx0YW5kbyAlZCByaWdoZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipJbmRpZXRybyoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjg0CisjLCBmdXp6eQorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiRXJyb3JlIG5lbGwnZXNwcmVzc2lvbmUgcmVnb2xhcmUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMjEKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM5NCB0ZXh0LXV0aWxzL21vcmUuYzoxNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbUHJlbWVyZSAnaCcgcGVyIHZpc3VhbGl6emFyZSBsZSBpc3RydXppb25pLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIlwiJXNcIiByaWdhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbTm9uIHVuIGZpbGVdIHJpZ2EgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgT3ZlcmZsb3dcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU2NAorbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLmlnbm9yYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vbiB0cm92YXRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiUGF0dGVybiBub24gdHJvdmF0byIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgImV4ZWMgZmFsbGl0YVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjY2Cittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJpbXBvc3NpYmlsZSBlZmZldHR1YXJlIGZvcmtcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5pZ25vcmF0byIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5BbmRhdG8gYWwgZmlsZSAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDYKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi5Ub3JuYXRvIGFsIGZpbGUgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiUmlnYSB0cm9wcG8gbHVuZ2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMzIKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJOZXNzdW4gY29tYW5kbyBwcmVjZWRlbnRlIGRhIHNvc3RpdHVpcmUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTIKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgcCAgICAgICAgICBTdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IHNjaGVybW8gbyBzdSBmaWxlIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5vbiBzY3JpdmUgcmVhbG1lbnRlIHN1bCBkaXNjbyIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiJXM6IGwnb3B6aW9uZSByaWNoaWVkZSB1biBhcmdvbWVudG8gLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgIiVzOiBvcHppb25lIGlsbGVjaXRhIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiTmVzc3VuIGZpbGUgc3VjY2Vzc2l2byIKKworIzogdGV4dC11dGlscy9wZy5jOjM4OQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIk5lc3N1biBmaWxlIHByZWNlZGVudGUiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICIlczogRXJyb3JlIGRpIGxldHR1cmEgZGFsIGZpbGUgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IEVPRiBub24gcHJldmlzdG8gbmVsIGZpbGUgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICIlczogRXJyb3JlIHNjb25vc2NpdXRvIG5lbCBmaWxlICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXM6IEltcG9zc2liaWxlIGNyZWFyZSBpbCBmaWxlIHRlbXBvcmFuZW9cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJOZXNzdW5hIHN0cmluZ2EgZGkgcmljZXJjYSByaWNvcmRhdGEiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICJzYWx2YXRvIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4NworbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmb3JrKCkgbm9uIHJpdXNjaXRvLCByaXByb3ZhcmUgcGnDuSB0YXJkaVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTk0IHRleHQtdXRpbHMvcGcuYzoxNjY3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgxCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJwcm9ibGVtaSBsZWdnZW5kbyB0ZXJtaW5mbyIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjMwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAiU2VxdWVuemEgZGkgZXNjYXBlIHNjb25vc2NpdXRhIGluIGlucHV0OiAlbywgJW9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorIywgZnV6enkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiTGluZWEgZGkgaW5wdXQgdHJvcHBvIGx1bmdhLlxuIgorCisjfiBtc2dpZCAiR2VvbWV0cnkiCisjfiBtc2dzdHIgIkdlb21ldHJpYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICJpb2N0bCgpIG5vbiDDqCByaXVzY2l0byBhIGxlZ2dlcmUgbCdvcmFyaW8gZGEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byByZWFkIGZyb206ICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorI34gbXNnc3RyICIlczogYXJnb21lbnRvIHNjb25vc2NpdXRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUZXN0IG1vZGU6ICVzIHdhcyBub3QgdXBkYXRlZCB3aXRoOlxuIgorI34gIiVzIgorI34gbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorI34gbXNnc3RyICJQYXJhbWV0cmkgZGkgcmVnb2xhemlvbmUgZGVsbGEgZGVyaXZhIG5vbiBhZ2dpb3JuYXRpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRlc3QgbW9kZTogZXBvY2ggd2FzIG5vdCBzZXQgdG8gJXMuXG4iCisjfiBtc2dzdHIgInN0YXQgZGVsIHBlcmNvcnNvIG5vbiByaXVzY2l0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorI34gbXNnc3RyICIlczogZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBRdWVzdGEgcGljY29sYSBndWlkYSBhbGwndXRpbGl6em9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICJDb21hbmRpIGRpc3BvbmliaWxpOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiUHJvdmFyZSBcIiVzIC0taGVscFwiIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCisjfiBtc2dzdHIgIk5lc3N1bmEgc2hlbGwgY29ub3NjaXV0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCisjfiBtc2dzdHIgIkNvbWFuZGkgZGlzcG9uaWJpbGk6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorI34gbXNnc3RyICJVc286IG5hbWVpIFstbXhdIG5vbWUgcGVyY29yc28gW25vbWUgcGVyY29yc28gLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiQ29tYW5kaSBkaXNwb25pYmlsaTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJQcm92YXJlIFwiJXMgLS1oZWxwXCIgcGVyIHVsdGVyaW9yaSBpbmZvcm1hemlvbmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCisjfiBtc2dzdHIgIkkgcmVnaXN0cmkgZGVsIGNsb2NrIGhhcmR3YXJlIGNvbnRlbmdvbm8gdmFsb3JpIGNoZSBub24gc29ubyB2YWxpZGkgKHBlciBlcy4gNTBlc2ltbyBnaW9ybm8gZGVsIG1lc2UpIG9wcHVyZSBvbHRyZSBsJ2ludGVydmFsbG8gY2hlIMOoIHBvc3NpYmlsZSBnZXN0aXJlIChwZXIgZXMuIGFubm8gMjA5NSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKKyN+IG1zZ3N0ciAiSWwgY2xvY2sgaGFyZHdhcmUgbm9uIGNvbnRpZW5lIHVuIG9yYXJpbyB2YWxpZG8sIHBlcmNpw7Igbm9uIMOoIHBvc3NpYmlsZSBpbXBvc3RhcmUgbCdvcmEgZGVsIHNpc3RlbWEgYSBwYXJ0aXJlIGRhIGVzc28uXG4iCisKKyN+IG1zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorI34gbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjfiBtc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisjfiBtc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJCaXNvZ25hIGVzc2VyZSBzdXBlcnVzZXIgcGVyIGltcG9zdGFyZSBpbCBjbG9jayBkZWwgc2lzdGVtYVxuIgorCisjfiBtc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKKyN+IG1zZ3N0ciAiTm9uIHZpZW5lIGVmZmV0dHVhdGEgbGEgcmVnb2xhemlvbmUgZGVsIGZhdHRvcmUgZGkgZGVyaXZhIHBvaWNow6kgaW4gcHJlY2VkZW56YSBpbCBjbG9jayBoYXJkd2FyZWNvbnRlbmV2YSBlbGVtZW50aSBpbnNvbGl0aS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorI34gbXNnc3RyICJJbCBjbG9jayBoYXJkd2FyZSBub24gY29udGllbmUgdW4nb3JhIHZhbGlkYSwgcGVyY2nDsiBub24gw6ggcG9zc2liaWxlIHJlZ29sYXJsby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBvdHRlbmVyZSBpbCB2YWxvcmUgZXBvY2ggZGFsIGtlcm5lbC5cbiIKKworI34gbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKKyN+IG1zZ3N0ciAiSWwga2VybmVsIHByZXNzdXBwb25lIHVuIHZhbG9yZSBlcG9jaCBkaSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUbyBzZXQgdGhlIGVwb2NoIHZhbHVlLCB5b3UgbXVzdCB1c2UgdGhlICdlcG9jaCcgb3B0aW9uIHRvIHRlbGwgdG8gd2hhdCB2YWx1ZSB0byBzZXQgaXQuIgorI34gbXNnc3RyICJQZXIgaW1wb3N0YXJlIGlsIHZhbG9yZSBlcG9jaCBzaSBkZXZlIHV0aWxpenphcmUgbCdvcHppb25lICdlcG9jaCcgcGVyIGluZGljYXJlIHN1IHF1YWxlIHZhbG9yZSBpbXBvc3RhcmxvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIk5vbiB2aWVuZSBpbXBvc3RhdG8gaWwgdmFsb3JlIGVwb2NoIGEgJWQgLSBzaSB0cmF0dGEgc29sYW1lbnRlIGRpIHVuYSB2ZXJpZmljYS5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGltcG9zdGFyZSBpbCB2YWxvcmUgZXBvY2ggbmVsIGtlcm5lbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorI34gbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjfiBtc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCisjfiBtc2dzdHIgIiVzIG5vbiBoYSBmdW56aW9uaSBkaSBpbnRlcnJ1cHQuICIKKworI34gbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQgdW5leHBlY3RlZGx5IgorI34gbXNnc3RyICJpb2N0bCgpIHN1ICVzIHBlciBhdHRpdmFyZSBnbGkgaW50ZXJydXB0IGRpIGFnZ2lvcm5hbWVudG8gbm9uIHJpdXNjaXRhIGluYXNwZXR0YXRhbWVudGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAiUGVyIG1vZGlmaWNhcmUgaWwgdmFsb3JlIGVwb2NoIG5lbCBrZXJuZWwsIHNpIGRldmUgYWNjZWRlcmUgYWwgZHJpdmVyIGRpIHBlcmlmZXJpY2EgJ3J0YycgZGkgTGludXggYXR0cmF2ZXJzbyBpbCBmaWxlIHNwZWNpYWxlIGRlbGxhIHBlcmlmZXJpY2EgJXMuICBRdWVzdG8gZmlsZSBub24gZXNpc3RlIHN1IHF1ZXN0byBzaXN0ZW1hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorI34gbXNnc3RyICJsZXR0dXJhIGRpIGVwb2NoICVsZCBkYSAlcyBjb24gUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKKyN+IG1zZ3N0ciAiSWwgdmFsb3JlIGVwb2NoIG5vbiBwdcOyIGVzc2VyZSBpbmZlcmlvcmUgYSAxOTAwLiBTaSDDqCByaWNoaWVzdG8gJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnc3RyICJpbXBvc3RhemlvbmUgZXBvY2ggc3UgJWxkIGNvbiBSVENfRVBPQ0hfU0VUIGlvY3RsIHN1ICVzIGluIGNvcnNvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisjfiBtc2dzdHIgIklsIGRyaXZlciBkaSBwZXJpZmVyaWNhIHBlciBpbCBrZXJuZWwgcGVyICVzIG5vbiBoYSBSVENfRVBPQ0hfU0VUIGlvY3RsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJQcm92YXJlIFwiJXMgLS1oZWxwXCIgcGVyIHVsdGVyaW9yaSBpbmZvcm1hemlvbmkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAlc1xuIgorI34gIlByb3ZhcmUgXCIlcyAtLWhlbHBcIiBwZXIgdWx0ZXJpb3JpIGluZm9ybWF6aW9uaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorI34gbXNnc3RyICJDb21hbmRpIGRpc3BvbmliaWxpOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBNb3N0cmEgbGUgaW5mb3JtYXppb25pIHN1bGxhIHZlcnNpb25lXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogTGUgb3B6aW9uaSAtLWFkanVzdCBlIC1ub2FkamZpbGUgc2kgZXNjbHVkb25vIHZpY2VuZGV2b2xtZW50ZS4gU29ubyBzdGF0ZSBzcGVjaWZpY2F0ZSBlbnRyYW1iZS5cbiIKKworI34gbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJDbG9jayBub24gY2FtYmlhdG8gLSBzb2xhbWVudGUgdmVyaWZpY2F0by5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCisjfiBtc2dzdHIgIi0tZGF0ZSBhcmdvbWVudG8gdHJvcHBvIGx1bmdvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorI34gIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbCB2YWxvcmUgZGVsbCdvcHppb25lIC0tZGF0ZSBub24gw6ggdW5hIGRhdGEgdmFsaWRhLlxuIgorI34gIkluIHBhcnRpY29sYXJlLCBjb250aWVuZSB2aXJnb2xldHRlLlxuIgorCisjfiBtc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCisjfiBtc2dzdHIgIkVzZWN1emlvbmUgY29tYW5kbyBkYXRlOiAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgZXNlZ3VpcmUgaWwgcHJvZ3JhbW1hICdkYXRlJyBuZWxsYSBzaGVsbCAvYmluL3NoLiBwb3BlbigpIGZhbGxpdG8iCisKKyN+IG1zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCisjfiBtc2dzdHIgInJpc3Bvc3RhIGRhbCBjb21hbmRvIGRhdGUgPSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJJbCBjb21hbmRvIGRhdGUgZW1lc3NvIGRhICVzIHJpcG9ydGEgcmlzdWx0YXRpIGltcHJldmlzdGkuXG4iCisjfiAiSWwgY29tYW5kbyBlcmE6XG4iCisjfiAiICAlc1xuIgorI34gIkxhIHJpc3Bvc3RhIMOoIHN0YXRhOlxuIgorI34gIiAgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiSWwgY29tYW5kbyBkYXRlIGVtZXNzbyBkYSAlcyByaXBvcnRhIHF1YWxjb3NhIGQnYWx0cm8gcmlzcGV0dG8gYWQgdW4gbnVtZXJvIGludGVybyBsYWRkb3ZlIGVyYSBwcmV2aXN0byBpbCB2YWxvcmUgZGVsbCdvcmFyaW8gY29udmVydGl0by5cbiIKKyN+ICJJbCBjb21hbmRvIGVyYTpcbiIKKyN+ICIgICVzXG4iCisjfiAiTGEgcmlzcG9zdGEgw6ggc3RhdGE6XG4iCisjfiAiICAlc1xuIgorCisjfiBtc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorI34gbXNnc3RyICJsYSBzdHJpbmdhIGRlbGxhIGRhdGEgJXMgZXF1aXZhbGUgYSAlbGQgc2Vjb25kaSBkYWwgMTk2OS5cbiIKKworI34gbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorI34gbXNnc3RyICJJbCBjbG9jayBkaSBzaXN0ZW1hIG5vbiB2aWVuZSBpbXBvc3RhdG8gcGVyY2jDqSBzdGEgZnVuemlvbmFuZG8gaW4gbW9kYWxpdMOgIHRlc3QuXG4iCisKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICJJbCBmaWxlIGFkanRpbWUgbm9uIHZpZW5lIGFnZ2lvcm5hdG8gYSBjYXVzYSBkZWxsYSBtb2RhbGl0w6AgdGVzdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlNpIHNhcmViYmUgc2NyaXR0byBxdWFudG8gc2VndWUgaW4gJXM6XG4iCisjfiAiJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisjfiAiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorI34gIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorI34gbXNnc3RyICIiCisjfiAiSWwga2VybmVsIG1hbnRpZW5lIHVuIHZhbG9yZSBlcG9jaCBwZXIgaWwgY2xvY2sgaGFyZHdhcmUgc29sbyBzdSBkaSB1bmEgbWFjY2hpbmFBbHBoYS5cbiIKKyN+ICJRdWVzdGEgY29waWEgZGkgaHdjbG9jayDDqCBzdGF0YSByZWFsaXp6YXRhIHBlciB1bmEgbWFjY2hpbmEgZGl2ZXJzYSBkYSBBbHBoYVxuIgorI34gIihlIHF1aW5kaSwgcHJlc3VtaWJpbG1lbnRlLCBub24gcHXDsiBlc3NlcmUgZXNlZ3VpdGEgc3UgdW4gQWxwaGEgaW4gcXVlc3RvIG1vbWVudG8pLiBOZXNzdW5hIGF6aW9uZSBpbnRyYXByZXNhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtLWplbnNlbiwgLS1hcmMsIC0tc3JtLCAtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgICAgICAgICAgICBpbmRpY2FubyBhbCBod2Nsb2NrIGlsIHRpcG8gZGkgYWxwaGEgdXRpbGl6emF0byAoY29uc3VsdGFyZSBod2Nsb2NrKDgpKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJTcGlhY2VudGUsIHNvbGFtZW50ZSBpbCBzdXBlcnV0ZW50ZSBwdcOyIG1vZGlmaWNhcmUgaWwgY2xvY2sgaGFyZHdhcmUuXG4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgbm9uIGNvbnNpZGVyYSBhcmdvbWVudGkgY2hlIG5vbiBzaWFubyBvcHppb25pLiDDiCBzdGF0byBmb3JuaXRvICVkLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSB1dGlsaXp6YXJlIGwnb3JhIGltcG9zdGF0YS4gSW1wb3NzaWJpbGUgaW1wb3N0YXJlIGlsIGNsb2NrLlxuIgorCisjfiBtc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorI34gbXNnc3RyICJhdnZpYXRvIGRhIE1JTE9cbiIKKworIyBOZFQ6IGNyZWRvIGNoZSBSdWZmaWFuIHNpYSB1biB0aXBvIGRpIHNjaGVkYSBvIGNwdSBwZXIgYWxwaGEKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICJPcm9sb2dpbyBCQ0QgUnVmZmlhblxuIgorCisjfiBtc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKKyN+IG1zZ3N0ciAicG9ydGEgY2xvY2sgcmVnb2xhdGEgc3UgMHgleFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCisjfiBtc2dzdHIgIiVzOiAlcyBhdG9taWNvIG5vbiDDqCByaXVzY2l0byBwZXIgMTAwMCBpdGVyYXppb25pISIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCisjfiBtc2dzdHIgIk5vbiBzb25vIHJpdXNjaXRvIGFkIG90dGVuZXJlIGwnYXV0b3JpenphemlvbmUgcGVyY2jDqSBub24gaG8gcHJvdmF0by5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKKyN+IG1zZ3N0ciAiJXMgbm9uIHJpZXNjZSBhIG90dGVuZXJlIGwnYWNjZXNzbyBhbGxhIHBvcnRhIEkvTzogIGNoaWFtYXRhIGlvcGwoMylub24gcml1c2NpdGEuXG4iCisKKyN+IG1zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCisjfiBtc2dzdHIgIlByb2JhYmlsbWVudGUgc29ubyBuZWNlc3NhcmkgcHJpdmlsZWdpIGRpIHJvb3QuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgdW4gZ2VzdG9yZSBkZWwgc2VnbmFsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBpbXBvc3RhcmUgdW4gZ2VzdG9yZSBkZWwgc2VnbmFsZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogc29sYW1lbnRlIHJvb3QgcHXDsiBtb250YXJlICVzIHN1ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgw6ggcHJvdGV0dG8gZGEgc2NyaXR0dXJhLCB2aWVuZSBtb250YXRvIGluIHNvbGEgbGV0dHVyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGRldGVybWluYXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSwgZSBub24gw6ggc3RhdG8gc3BlY2lmaWNhdG8gbmVzc3VubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm1vdW50OiBzaSBkZXZlIHNwZWNpZmljYXJlIGlsIHRpcG8gZGkgZmlsZXN5c3RlbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudCBub24gcml1c2NpdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQgbm9uIHJpdXNjaXRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudCBub24gcml1c2NpdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgZ2nDoCBtb250YXRvIHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5vbiBhbmNvcmEgbW9udGF0bywgb3BwdXJlIGwnb3B6aW9uZSBub24gw6ggdmFsaWRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIEluIGFsY3VuaSBjYXNpIHNpIHBvc3Nvbm8gdHJvdmFyZSBpbmZvcm1hemlvbmkgdXRpbGkgaW4gc3lzbG9nLiBQcm92YXJlXG4iCisjfiAiICAgICAgIGFkIGVzZW1waW8gJ2RtZXNnIHwgdGFpbCdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgImlucHV0IG5vbiByaWNvbm9zY2l1dG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50IG5vbiByaXVzY2l0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5vbiB0cm92YXRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiSW1tZXR0ZXJlIGlsIG51bWVybyBkaSBjaWxpbmRyaTogIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJPcHppb25lIC0tZGF0ZSBub24gc3BlY2lmaWNhdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgImwnaW5vZGUgcmFkaWNlIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIkltbWV0dGVyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW06ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGZhcmUgc3RhdCBkaSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBhcmdvbWVudG8gZXJyYXRvLCB1c29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTGluZWEgZGkgaW5wdXQgdHJvcHBvIGx1bmdhLlxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJ2YWxvcmUgZGkgdGltZW91dCBub24gdmFsaWRvOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHBvc2l6aW9uYW1lbnRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICJlcnJvcmUgZGkgcG9zaXppb25hbWVudG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIGRpIGdydXBwbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiTm9tZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlICclcyciCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIHNwZWNpYWxlIGEgYmxvY2NoaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGRldmljZSBvY2N1cGF0byIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJDIG5hc2Nvc3RvIE9TLzI6IGRyaXZlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl2byBzY29ub3NjaXV0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIHNlY29uZGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAibWVzc2FnZ2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFsbG9jYXJlIGkgYnVmZmVyIHBlciBsZSBtYXBwZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFsbG9jYXJlIGkgYnVmZmVyIHBlciBsZSBtYXBwZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGdsaSBpbm9kZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOdW1iZXIgb2YgU2VtYXBob3JlIElEcyIKKyN+IG1zZ3N0ciAiTnVtZXJvIGRpIHNldHRvcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWMgfCAtbCBub21lZmlsZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2NjaGldXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICJkaW1lbnNpb25lIGlub2RlIG5vbiBjb3JyZXR0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidGlwbzogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJkaXNjbzogJS4qc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJldGljaGV0dGE6ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgImZsYWc6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJieXRlL3NldHRvcmU6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAic2V0dG9yaS90cmFjY2lhOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAidHJhY2NlL2NpbGluZHJvOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNldHRvcmkvY2lsaW5kcm86ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJjaWxpbmRyaTogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAicnBtOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJpbnRlcmxlYXZlOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInRyYWNrc2tldzogJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJjeWxpbmRlcnNrZXc6ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJoZWFkc3dpdGNoOiAlbGRcdFx0IyBtaWxsaXNlY29uZGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgInJpY2VyY2EgdHJhY2NpYS1hLXRyYWNjaWE6ICVsZFx0IyBtaWxsaXNlY29uZGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVkIHBhcnRpemlvbmk6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiIgorI34gIk5vbiDDqCBwb3NzaWJpbGUgdHJhc2Zvcm1hcmUgdW5hIHBhcnRpemlvbmUgaW4gdW5hIGVzdGVzYSBvIHZpY2V2ZXJzYVxuIgorI34gIlByaW1hIGJpc29nbmEgZWxpbWluYXJsYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXMgKGRpc2sgbGFiZWwgU0dJKTogJWQgdGVzdGluZSwgJWxsdSBzZXR0b3JpXG4iCisjfiAiJWQgY2lsaW5kcmksICVkIGNpbGluZHJpIGZpc2ljaVxuIgorI34gIiVkIHNldHQvY2lsIHN1cHBsZW1lbnRhcmksIGludGVybGVhdmUgJWQ6MVxuIgorI34gIiVzXG4iCisjfiAiVW5pdMOgID0gJXMgZGkgJWQgKiAlZCBieXRlXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICJOZXNzdW5vIgorCisjfiBtc2dpZCAiZ2V0dGltZW9mZGF5IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0dGltZW9mZGF5IG5vbiByaXVzY2l0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgbm9uIHJpdXNjaXRvICIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJVc286IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXRlbnRlIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgIHR1dHRvcmEgY29sbGVnYXRvIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW5zICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAid3RtcCBpbml6aWEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRXJyb3JlIGR1cmFudGUgbGEgY2hpdXN1cmEgZGVsIGZpbGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiaW50ZXJyb3R0byAlMTAuMTBzICU1LjVzIFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1hdXRvLy1hIG9wdGlvbiIKKyN+IG1zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIlNwaWFjZW50ZSwgc29sYW1lbnRlIGlsIHN1cGVydXRlbnRlIHB1w7IgbW9kaWZpY2FyZSBpbCBjbG9jayBkaSBzaXN0ZW1hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIlNvbGFtZW50ZSBpbCBzdXBldXRlbnRlIHB1w7IgbW9kaWZpY2FyZSBsJ2Vwb2NhIGRlbCBjbG9jayBoYXJkd2FyZSBuZWwga2VybmVsLlxuIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICJyZWFkKCkgc3UgJXMgcGVyIGwnYXR0ZXNhIGRlbCBzZWduYWxlIGRhbCBjbG9jayBmYWxsaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgTW9zdHJhIGxlIGluZm9ybWF6aW9uaSBzdWxsYSB2ZXJzaW9uZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIE5lc3N1biBvdXRwdXQgbm9ybWFsZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgIlNjaGVybWF0YSBHdWlkYSBwZXIgY2ZkaXNrIgorCisjfiBtc2dpZCAiZGlzayBkcml2ZS4iCisjfiBtc2dzdHIgInVuaXTDoCBkaXNjby4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgYG5vJyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFwibm9cIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUb28gc21hbGwgcGFydGl0aW9uIHNpemUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIihGaWxlIHN1Y2Nlc3Npdm86ICVzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzIG5vbiByaXVzY2l0by5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQbGVhc2UsIHNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGRpc2sgbGFiZWwuIgorI34gbXNnc3RyICJDcmVhcmUgdW4gZGlza2xhYmVsPyAocy9uKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUeXBlIG9mIHRoZSBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCisjfiBtc2dzdHIgIk1vZGlmaWNhdG8gaWwgdGlwbyBkaSBzaXN0ZW1hIGRlbGxhIHBhcnRpemlvbmUgJWQgaW4gJXggKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6XG4iCisjfiBtc2dzdHIgIlVzbzpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHJpY2VyY2Egc3UgJXMgLSBpbXBvc3NpYmlsZSByaWNlcmNhcmUgYSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgImVycm9yZSBkaSByaWNlcmNhOiBzaSB2b2xldmEgMHglMDh4JTA4eCwgc2kgw6ggb3R0ZW51dG8gMHglMDh4JTA4eFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiZXJyb3JlIGluIGxldHR1cmEgc3UgJXMgLSBpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIHNldHRvcmUgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMgLSBjYW5ub3Qgd3JpdGUgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgImVycm9yZSBkaSBzY3JpdHR1cmEgc3UgJXMgLSBpbXBvc3NpYmlsZSBzY3JpdmVyZSBpbCBzZXR0b3JlICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlIGRpIHNhbHZhdGFnZ2lvIHNldHRvcmUgcGFydGl6aW9uZSAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgImVycm9yZSBkaSBzY3JpdHR1cmEgc3UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGVzZWd1aXJlIHN0YXQgZGVsIGZpbGUgZGkgcmlwcmlzdGlubyBwYXJ0aXppb25lICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZyIKKyN+IG1zZ3N0ciAiaWwgZmlsZSBkaSByaXByaXN0aW5vIHBhcnRpemlvbmUgaGEgdW5hIGRpbWVuc2lvbmUgZXJyYXRhIC0gaWwgcmlwcmlzdGlubyBub24gdmllbmUgZWZmZXR0dWF0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlIGlsIGZpbGUgZGkgcmlwcmlzdGlubyBwYXJ0aXppb25lICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBsZXR0dXJhIGRpICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgaWwgZGlzcG9zaXRpdm8gJXMgcGVyIHNjcml2ZXJlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBzY3JpdHR1cmEgZGVsIHNldHRvcmUgJWx1IHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzY28gJXM6IGltcG9zc2liaWxlIG90dGVuZXJlIGxhIGdlb21ldHJpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzY28gJXM6IGltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJBdHRlbnppb25lOiBpbml6aW89JWx1IC0gc2VtYnJhIHVuYSBwYXJ0aXppb25lIHBpdXR0b3N0byBjaGVcbiIKKyN+ICJsJ2ludGVybyBkaXNjby4gVXRpbGl6emFyZSBmZGlzayBzdSBkaSBlc3NvIHByb2JhYmlsbWVudGUgbm9uIGhhIHNlbnNvLlxuIgorI34gIltVdGlsaXp6YXJlIGwnb3B6aW9uZSAtLWZvcmNlIHNlIGxvIHNpIGRlc2lkZXJhIGRhdnZlcm9dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IEhESU9fR0VUR0VPIGRpY2UgY2hlIHZpIHNvbm8gJWx1IHRlc3RpbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBIRElPX0dFVEdFTyBkaWNlIGNoZSB2aSBzb25vICVsdSBzZXR0b3JpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gZGljZSBjaGUgdmkgc29ubyAlbHUgY2lsaW5kcmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdHRlbnppb25lOiBudW1lcm8gaW1wcm9iYWJpbGUgZGkgc2V0dG9yaSAoJWx1KSAtIGRpIHNvbGl0byBzb25vIGFsIG1hc3NpbW8gNjNcbiIKKyN+ICJRdWVzdG8gY3JlZXLDoCBwcm9ibGVtaSBjb24gaSBzb2Z0d2FyZSBjaGUgdXRpbGl6emEgbCdpbmRpcml6emFtZW50byBDL0gvUy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlczogJWx1IGNpbGluZHJpLCAlbHUgdGVzdGluZSwgJWx1IHNldHRvcmkvdHJhY2NpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgaGVhZDogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyBkZWxsYSBwYXJ0aXppb25lICVzIGhhIHVuIHZhbG9yZSBpbXBvc3NpYmlsZSBwZXIgbGEgdGVzdGluYTogJWx1IChkb3ZyZWJiZSBlc3NlcmUgaW4gMC0lbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBzZWN0b3I6ICVsdSAoc2hvdWxkIGJlIGluIDEtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGVsbGEgcGFydGl6aW9uZSAlcyBoYSB1biB2YWxvcmUgaW1wb3NzaWJpbGUgcGVyIGlsIHNldHRvcmU6ICVsdSAoZG92cmViYmUgZXNzZXJlIGluIDEtJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIGRlbGxhIHBhcnRpemlvbmUgJXMgaGEgdW4gdmFsb3JlIGltcG9zc2liaWxlIHBlciBpIGNpbGluZHJpOiAlbHUgKGRvdnJlYmJlIGVzc2VyZSBpbiAwLSVsdSlcbiIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiUmlsZXR0dXJhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBpbiBjb3Jzby4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgY29tbWFuZCB0byByZS1yZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLlxuIgorI34gIlJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgeW91ciBzeXN0ZW0gbm93LFxuIgorI34gImJlZm9yZSB1c2luZyBta2ZzIgorI34gbXNnc3RyICIiCisjfiAiSWwgY29tYW5kbyBwZXIgbGEgcmlsZXR0dXJhIGRlbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBub24gw6ggcml1c2NpdG9cbiIKKyN+ICJSaWF2dmlhcmUgYWRlc3NvIGlsIHNpc3RlbWEgcHJpbWEgZGkgdXRpbGl6emFyZSBta2ZzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiRXJyb3JlIGR1cmFudGUgbGEgY2hpdXN1cmEgZGkgJXNcbiIKKworI34gbXNnaWQgIiVzOiBubyBzdWNoIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIlczogbmVzc3VuYSBwYXJ0aXppb25lIGRpIHF1ZXN0byB0aXBvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgImZvcm1hdG8gbm9uIHJpY29ub3NjaXV0byAtIHV0aWxpenpvIGRlaSBzZXR0b3JpIGluIGNvcnNvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAiZm9ybWF0byBub24gaW1wbGVtZW50YXRvIC0gdXRpbGl6em8gZGkgJXMgaW4gY29yc29cbiIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInNldHRvcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pdMOgID0gY2lsaW5kcmkgZGkgJWx1IGJ5dGUsIGJsb2NjaGkgZGkgMTAyNCBieXRlLCBjb250ZWdnaWFuZG8gZGEgJWRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcG9zaXRpdm8gQm9vdCBJbml6aW8gICAgICBGaW5lICAgI2NpbGluLiAgICNibG9jY2hpICAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbml0w6AgPSBzZXR0b3JpIGRpIDUxMiBieXRlLCBjb250ZWdnaWFuZG8gZGEgJWRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBEaXNwb3NpdGl2byBCb290ICAgIEluaXppbyAgICAgIEZpbmUgICNzZXR0b3JpIElkICBTaXN0ZW1hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pdMOgID0gYmxvY2NoaSBkaSAxMDI0IGJ5dGUsIGNvbnRlZ2dpYW5kbyBkYSAlZFxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIERpc3Bvc2l0aXZvICBCb290ICBJbml6aW8gICAgICAgRmluZSAgI2Jsb2NjaGkgIElkICBTaXN0ZW1hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pdMOgID0gbWViaWJ5dGUgZGEgMTA0ODU3NiBieXRlLCBibG9jY2hpIGRhIDEwMjQgYnl0ZSwgY29udGFuZG8gZGEgJWRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRGlzcG9zaXRpdm8gSW5pemlvIEJvb3QgICBGaW5lICAgIE1CICAgI2Jsb2NjaGkgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICJcdFx0c3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRpbml6aW86IChjLGgscykgcHJldmlzdG8gKCVsZCwlbGQsJWxkKSB0cm92YXRvICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRmaW5lOiAoYyxoLHMpIHByZXZpc3RvICglbGQsJWxkLCVsZCkgdHJvdmF0byAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgImxhIHBhcnRpemlvbmUgdGVybWluYSBzdWwgY2lsaW5kcm8gJWxkLCBvbHRyZSBsYSBmaW5lIGRlbCBkaXNjb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdHRlbnppb25lOiBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc2VtYnJhIHNpYSBzdGF0YSBjcmVhdGFcbiIKKyN+ICIgIHBlciBDL0gvUz0qLyVsZC8lbGQgKGFsIHBvc3RvIGRpICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJJbiBxdWVzdG8gZWxlbmNvIHZlcnLDoCBhc3N1bnRhIHRhbGUgZ2VvbWV0cmlhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50LiIKKyN+IG1zZ3N0ciAibmVzc3VuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgcHJlc2VudGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQuIgorI34gbXNnc3RyICJzdHJhbm8sIHNvbm8gZGVmaW5pdGUgc29sbyAlZCBwYXJ0aXppb25pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVzIGhhIGRpbWVuc2lvbmUgMCBtYSBub24gw6ggY29udHJhc3NlZ25hdGEgY29tZSB2dW90YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyBoYSBkaW1lbnNpb25lIDAgZWQgw6ggYXZ2aWFiaWxlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJXMgaGEgZGltZW5zaW9uZSAwIGUgaW5pemlvIG5vbiBudWxsb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBpcyBub3QgY29udGFpbmVkIGluIHBhcnRpdGlvbiAlcyIKKyN+IG1zZ3N0ciAibm9uIMOoIGNvbnRlbnV0YSBuZWxsYSBwYXJ0aXppb25lICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlZCDDqCB2dW90YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJXMgY29udGllbmUgcGFydGUgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pXG4iCisjfiAiKHNldHRvcmUgJWx1KSwgZSBsYSBkaXN0cnVnZ2Vyw6AgcXVhbmRvIHZpZW5lIHJpZW1waXRhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJXMgaW5pemlhIGFsIHNldHRvcmUgMFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2siCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJXMgc2kgZXN0ZW5kZSBkb3BvIGxhIGZpbmUgZGVsIGRpc2NvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIlRyYSBsZSBwYXJ0aXppb25pIHByaW1hcmllLCBhbCBtYXNzaW1vIHVuYSBwdcOyIGVzc2VyZSBlc3Rlc2FcbiIKKyN+ICIgIChhbmNoZSBzZSBxdWVzdG8gbm9uIMOoIHVuIHByb2JsZW1hIHBlciBMaW51eClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyBub24gaW5pemlhIGFsIGxpbWl0ZSBkaSB1biBjaWxpbmRyb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgcGFydGl6aW9uZSAlcyBub24gdGVybWluYSBhbCBsaW1pdGUgZGkgdW4gY2lsaW5kcm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF0dGVuemlvbmU6IHBpw7kgZGkgdW5hIHBhcnRpemlvbmUgcHJpbWFyaWEgw6ggY29udHJhc3NlZ25hdGEgY29tZSBhdnZpYWJpbGUgKGF0dGl2YSlcbiIKKyN+ICJRdWVzdG8gbm9uIGhhIGltcG9ydGFuemEgcGVyIExJTE8sIG1hIE1CUiBET1Mgbm9uIGF2dmllcsOgIHF1ZXN0byBkaXNjby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIkF0dGVuemlvbmU6IGRpIHNvbGl0byBsJ2F2dmlvIMOoIHBvc3NpYmlsZSBzb2xvIGRhIHBhcnRpemlvbmkgcHJpbWFyaWVcbiIKKyN+ICJMSUxPIG5vbiBwcmVuZGUgaW4gY29uc2lkZXJhemlvbmUgaWwgZmxhZyBcImJvb3RhYmxlXCIgKGF2dmlhYmlsZSkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiQXR0ZW56aW9uZTogbmVzc3VuYSBwYXJ0aXppb25lIHByaW1hcmlhIMOoIGNvbnRyYXNzZWduYXRhIGNvbWUgYXZ2aWFiaWxlIChhdHRpdmEpXG4iCisjfiAiUXVlc3RvIG5vbiBoYSBpbXBvcnRhbnphIHBlciBMSUxPLCBtYSBNQlIgRE9TIG5vbiBhdnZpZXLDoCBxdWVzdG8gZGlzY28uXG4iCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAiaW5pemlvIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICJwYXJ0aXppb25lICVzOiBpbml6aW86IChjLGgscykgcHJldmlzdG8gKCVsZCwlbGQsJWxkKSB0cm92YXRvICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAiZmluZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIiBwYXJ0aXppb25lICVzOiBmaW5lOiAoYyxoLHMpIHByZXZpc3RvICglbGQsJWxkLCVsZCkgdHJvdmF0byAoJWxkLCVsZCwlbGQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAibGEgcGFydGl6aW9uZSAlcyB0ZXJtaW5hIHN1bCBjaWxpbmRybyAlbGQsIG9sdHJlIGxhIGZpbmUgZGVsIGRpc2NvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LiIKKyN+IG1zZ3N0ciAiIgorI34gIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgZXN0ZXNhIG5vbiBpbml6aWEgYWwgbGltaXRlIGRpIHVuIGNpbGluZHJvLlxuIgorI34gIkRPUyBlIExpbnV4IGludGVycHJldGVyYW5ubyBpIGNvbnRlbnV0aSBpbiBtb2RvIGRpdmVyc28uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJFUlJPUkU6IGlsIHNldHRvcmUgJWx1IG5vbiBoYSB1bmEgZmlybWEgbXNkb3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAidHJvcHBlIHBhcnRpemlvbmkgLSBzdG8gaWdub3JhbmRvIHF1ZWkgbnVtZXJpIHBhc3NhdGkgKCVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgInN0cnV0dHVyYSBkZWxsZSBwYXJ0aXppb25pP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAicmlsZXZhdG8gbCdhbW1pbmlzdHJhdG9yZSBkZWwgZGlzY28gLSBpbXBvc3NpYmlsZSBkYSBnZXN0aXJlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAidHJvdmF0YSBmaXJtYSBETTYgLSB0ZXJtaW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgInN0cmFuby4uLiwgdW5hIHBhcnRpemlvbmUgZXN0ZXNhIGRpIGRpbWVuc2lvbmUgMD9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAic3RyYW5vLi4uLCB1bmEgcGFydGl6aW9uZSBCU0QgZGkgZGltZW5zaW9uZSAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgImZsYWcgLW4gZGF0bzogbmVzc3VuYSBtb2RpZmljYVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJTYWx2YXRhZ2dpbyBkZWkgdmVjY2hpIHNldHRvcmkgbm9uIHJpdXNjaXRvIC0gaW50ZXJydXppb25lIGluIGNvcnNvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiU2NyaXR0dXJhIGRlbGxhIHBhcnRpemlvbmUgc3UgJXMgbm9uIHJpdXNjaXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAibGluZWEgZGkgaW5wdXQgbHVuZ2EgbyBpbmNvbXBsZXRhIC0gdXNjaXRhIGluIGNvcnNvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIGlucHV0OiBcIj1cIiBwcmV2aXN0byBkb3BvIGlsIGNhbXBvICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IHVuZXhwZWN0ZWQgY2hhcmFjdGVyICVjIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJlcnJvcmUgZGkgaW5wdXQ6IGNhcmF0dGVyZSBub24gcHJldmlzdG8gJWMgZG9wbyBpbCBjYW1wbyAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgImlucHV0IG5vbiByaWNvbm9zY2l1dG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgIm51bWVybyB0cm9wcG8gZ3JhbmRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgInNlZ25pIHN0cmFuaSBkb3BvIGlsIG51bWVyb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIHJvb20gZm9yIHBhcnRpdGlvbiBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJub24gYyfDqCBzcGF6aW8gcGVyIGlsIGRlc2NyaXR0b3JlIGRpIHBhcnRpemlvbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBjb3N0aXR1aXJlIHVuYSBwYXJ0aXppb25lIGVzdGVzYSBhZGlhY2VudGVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgInRyb3BwaSBjYW1waSBkaSBpbnB1dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIk5vbiBjJ8OoIHNwYXppbyBwZXIgYWx0cmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbGxlZ2FsIHR5cGUiCisjfiBtc2dzdHIgIlRpcG8gbm9uIHZhbGlkb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogbGEgZGltZW5zaW9uZSBpbmRpY2F0YSAoJWx1KSDDqCBzdXBlcmlvcmUgYWxsYSBkaW1lbnNpb25lIG1hc3NpbWEgY29uc2VudGl0YSAoJWx1KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogcGFydGl6aW9uZSB2dW90YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBpbml6aW8gcGFydGl6aW9uZSBub24gdmFsaWRvICglbHUgdHJvcHBvIGFudGljaXBhdG8pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJmbGFnIGF2dmlhYmlsZSBub24gcmljb25vc2NpdXRvIC0gc2NlZ2xpZXJlIC0gbyAqXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAiU3BlY2lmaWNhemlvbmUgYyxoLHMgcGFyemlhbGU/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAicGFydGl6aW9uZSBlc3Rlc2EgaW4gcG9zaXppb25lIG5vbiBwcmV2aXN0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAiaW5wdXQgbm9uIHZhbGlkb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgInRyb3BwZSBwYXJ0aXppb25pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIklucHV0IGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OyBhYnNlbnQgZmllbGRzIGdldCBhIGRlZmF1bHQgdmFsdWUuXG4iCisjfiAiPHN0YXJ0PiA8c2l6ZT4gPHR5cGUgW0UsUyxMLFgsaGV4XT4gPGJvb3RhYmxlIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICJVc3VhbGx5IHlvdSBvbmx5IG5lZWQgdG8gc3BlY2lmeSA8c3RhcnQ+IGFuZCA8c2l6ZT4gKGFuZCBwZXJoYXBzIDx0eXBlPikuIgorI34gbXNnc3RyICIiCisjfiAiSW5wdXQgbmVsIHNlZ3VlbnRlIGZvcm1hdG87IHBlciBpIGNhbXBpIG1hbmNhbnRpIHZpZW5lIGltbWVzc28gdW4gdmFsb3JlIHByZWRlZmluaXRvLlxuIgorI34gIjxpbml6aW8+IDxkaW1lbnNpb25lPiA8dGlwbyBbRSxTLEwsWCxlc2FkZWNpbWFsZV0+IDxhdnZpYWJpbGUgWy0sKl0+IDxjaWxpbmRybyx0ZXN0aW5hLHNldHRvcmU+IDxjaWxpbmRybyx0ZXN0aW5hLHNldHRvcmU+XG4iCisjfiAiU29saXRhbWVudGUgw6ggbmVjZXNzYXJpbyBzcGVjaWZpY2FyZSBzb2xhbWVudGUgPGluaXppbz4gZSA8ZGltZW5zaW9uZT4gKCBlIGZvcnNlIDx0aXBvPikuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAib3B6aW9uaSBwZXJpY29sb3NlOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAtRyBbbyAtLXNob3ctcHQtZ2VvbWV0cnldOiBzdGFtcGEgbGEgZ2VvbWV0cmlhIHN0aW1hdGEgaW4gYmFzZSBhbGxhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCBbbyAtLXNob3ctZXh0ZW5kZWRdOiBlbGVuY2EgYW5jaGUgbGUgcGFydGl6aW9uaSBlc3Rlc2UgaW4gb3V0cHV0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG8gcHJldmVkZSBpIHJpc3BldHRpdmkgZGVzY3JpdHRvcmkgaW4gaW5wdXQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICIlcyBkZXZpY2VcdFx0IGVsZW5jYSBsZSBwYXJ0aXppb25pIGF0dGl2ZSBzdWwgZGlzcG9zaXRpdm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiVzIGRldmljZSBuMSBuMiAuLi4gYXR0aXZhIGxlIHBhcnRpemlvbmkgbjEgLi4uLCBkaXNhdHRpdmEgaWwgcmVzdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICJOdW1lcm8gbm9uIHZhbGlkbzogJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiVXNvOiBzZmRpc2sgLS1wcmludC1pZCBudW1lcm8gcGFydGl6aW9uZSBkaXNwb3NpdGl2b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgSWQiCisjfiBtc2dzdHIgIlVzbzogc2ZkaXNrIC0tY2hhbmdlLWlkIG51bWVybyBwYXJ0aXppb25lIGRpc3Bvc2l0aXZvIElkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIFtJZF0iCisjfiBtc2dzdHIgIlVzbzogc2ZkaXNrIC0taWQgbnVtZXJvIHBhcnRpemlvbmUgZGlzcG9zaXRpdm8gW0lkXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICLDqCBwb3NzaWJpbGUgc3BlY2lmaWNhcmUgc29sYW1lbnRlIHVuIGRpc3Bvc2l0aXZvKGVjY2V0dG8gY29uIC1sIG8gLXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIGluIGxldHR1cmEgZSBzY3JpdHR1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIGluIGxldHR1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBPS1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBjaWxpbmRyaSwgJWxkIHRlc3RpbmUsICVsZCBzZXR0b3JpL3RyYWNjaWVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgYWN0aXZlIGJ5dGU6IDB4JXggaW5zdGVhZCBvZiAweDgwIgorI34gbXNnc3RyICJieXRlIGF0dGl2byBub24gdmFsaWRvOiAweCV4IGFsIHBvc3RvIGRpIDB4ODBcbiIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIkZpbmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiQ2kgc29ubyAlZCBwYXJ0aXppb25pIHByaW1hcmllIGF0dGl2ZS4gUXVlc3RvIMOoIGlycmVsZXZhbnRlIHBlciBMSUxPLFxuIgorI34gIm1hIE1CUiBET1MgIGF2dmllcsOgIHNvbGFtZW50ZSB1biBkaXNjbyBjb24gMSBwYXJ0aXppb25lIGF0dGl2YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJsYSBwYXJ0aXppb25lICVzIGhhIGlkICV4IGUgbm9uIMOoIG5hc2Nvc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIElkICVseCIKKyN+IG1zZ3N0ciAiSWQgbm9uIHZhbGlkbyAlbHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIlF1ZXN0byBkaXNjbyDDqCBhdHR1YWxtZW50ZSBpbiB1c28uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJFcnJvcmUgaXJyZXZlcnNpYmlsZTogaW1wb3NzaWJpbGUgdHJvdmFyZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk9LIgorI34gbXNnc3RyICJPS1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBub24gZXNpc3RlLCBub24gw6ggcG9zc2liaWxlIG1vZGlmaWNhcmxhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiUXVlc3RlIHBhcnRpemlvbmkgbm9uIG1pIHBpYWNjaW9ubyAtIG5lc3N1bmEgbW9kaWZpY2FcbiIKKyN+ICIoc2UgcXVlc3RvIMOoIHF1YW50byBzaSBkZXNpZGVyYSwgdXRpbGl6emFyZSBsJ29wemlvbmUgLS1mb3JjZS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiUXVlc3RvIG5vbiBtaSBwaWFjZSAtIHByb2JhYmlsbWVudGUgc2kgZG92cmViYmUgcmlzcG9uZGVyZSBub1xuIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIlNvZGRpc2ZhdHRpIGRpIHF1ZXN0bz8gW3lucV0gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJVc2NpdGEgaW4gY29yc28gLSBuZXNzdW5hIG1vZGlmaWNhXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICJTY2VnbGllcmUgdW4nb3B6aW9uZSBwZXIgbGEgcmlzcG9zdGEgdHJhIHksbixxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMYSBudW92YSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgw6ggc3RhdGEgc2NyaXR0YSBjb24gc3VjY2Vzc29cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IGNyZWF0ZWQgb3IgY2hhbmdlZCBhIERPUyBwYXJ0aXRpb24sIC9kZXYvZm9vNywgc2F5LCB0aGVuIHVzZSBkZCgxKVxuIgorI34gInRvIHplcm8gdGhlIGZpcnN0IDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2VlIGZkaXNrKDgpLikiCisjfiBtc2dzdHIgIiIKKyN+ICJTZSDDqCBzdGF0YSBjcmVhdGEgbyBtb2RpZmljYXRhIHVuYSBwYXJ0aXppb25lIERPUywgL2Rldi9mb283LCBwZXIgZXNlbXBpbywgdXRpbGl6emFyZSBkZCgxKVxuIgorI34gIiBwZXIgYXp6ZXJhcmUgaSBwcmltaSA1MTIgYnl0ZTogZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihDb25zdWx0YXJlIGZkaXNrKDgpLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIGRvY3VtZW50YXRpb24gZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVRURU5aSU9ORTogaW4gY2FzbyBkaSBjcmVhemlvbmUgbyBtb2RpZmljYSBkaSBxdWFsc2lhc2lcbiIKKyN+ICJwYXJ0aXppb25lIERPUyA2LngsIGNvbnN1bHRhcmUgbGEgcGFnaW5hIGRlbCBtYW51YWxlIGNmZGlza1xuIgorI34gInBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJpbCBjYW1wbyDDqCB0cm9wcG8gbHVuZ28uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiAnJWMnIG5vbiDDqCBjb25zZW50aXRvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiclYycgbm9uIMOoIGNvbnNlbnRpdG8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiBOb24gc29ubyBhbW1lc3NpIGkgY2FyYXR0ZXJpIGRpIGNvbnRyb2xsby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJOb24gc29ubyBhbW1lc3NpIGkgY2FyYXR0ZXJpIGRpIGNvbnRyb2xsby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiDDqCBwb3NzaWJpbGUgbW9kaWZpY2FyZSBzb2xvIGxlIHZvY2kgbG9jYWxpOyB1dGlsaXp6YXJlIGludmVjZSB5cCVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYygpIG5vbiByaXVzY2l0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJPcHppb25lIC0tZGF0ZSBub24gc3BlY2lmaWNhdGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgVGhpcyBzbWFsbCB1c2FnZSBndWlkZVxuIgorI34gbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgUXVlc3RhIHBpY2NvbGEgZ3VpZGEgYWxsJ3V0aWxpenpvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgdmVyc2lvbmVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIHBhdGhuYW1lIFtwYXRobmFtZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogbmFtZWkgWy1teF0gbm9tZSBwZXJjb3JzbyBbbm9tZSBwZXJjb3JzbyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiByaW1vdmliaWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk9wemlvbmUgLS1kYXRlIG5vbiBzcGVjaWZpY2F0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGwnaWQgdXRlbnRlOiAlcyIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHIgIsOIIG5lY2Vzc2FyaW8gaW5zZXJpcmUgJWQgc2Vjb25kaSBlIHJpcG9ydGFyZSBsJ29yYSBpbmRpZXRybyBkaSAlLjZmIHNlY29uZGlcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICJBdHRlc2EgaW4gbG9vcCBwZXIgaWwgY2FtYmlvIG9yYSBkYSBLREdIV0NMS1xuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTGV0dHVyYSBkZWxsJ29yYXJpbyBjb24gS0RHSFdDTEsgaW9jdGwgbm9uIHJpdXNjaXRhIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJMZXR0dXJhIGRlbGwnb3JhcmlvIGNvbiBLREdIV0NMSyBpb2N0bCBub24gcml1c2NpdGEgbmVsIGxvb3AiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLREdIV0NMSyBub24gcml1c2NpdG8iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAvZGV2L3R0eTEgbyAvZGV2L3ZjLzEiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIiBLREdIV0NMSyBpb2N0bCBub24gcml1c2NpdG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzY3B1KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICJVc286ICVzIHByb2dyYW1tYSBbYXJnIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4uaW5kaWV0cm8gMSBwYWdpbmEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4uc3RvIHNhbHRhbmRvIHVuYSByaWdhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIyBGSVhNRSBVUFNUUkVBTTogdW5xb3RlCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOb24gY2l0YSBsJ291dHB1dFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiJXM6IGwnb3B6aW9uZSByaWNoaWVkZSB1biBhcmdvbWVudG8gLS0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgTmVzc3VuIG91dHB1dCBub3JtYWxlXG4iCisKKyMgRklYTUUgVVBTVFJFQU06IHVucW90ZQorIywgZnV6enkKKyN+IG1zZ2lkICIgLWYsIC0tZm9vYmFyICAgICAgICAgICAgbmV4dCBvcHRpb24gZGVzY3JpcHRpb24gcmVzZXRzIGluZGVudFxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWggICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFF1ZXN0YSBwaWNjb2xhIGd1aWRhIGFsbCd1dGlsaXp6b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLXZlcnNpb25cbiIKKyN+IG1zZ3N0ciAidmVyc2lvbmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIlczogw6ggc3RhdG8gY29tcGlsYXRvIHNlbnphIGlsIHN1cHBvcnRvIHBlciAteFxuIgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBNZW1vcmlhIGVzYXVyaXRhIVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIkludXRpbGl6emFiaWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyN+IG1zZ2lkICJEaXNrIGhhcyBiZWVuIGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIklsIGRpc2NvIMOoIHN0YXRvIGNhbWJpYXRvLlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIlJpYXZ2aWFyZSBpbCBzaXN0ZW1hIHBlciBhc3NpY3VyYXJzaSBjaGUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHNpYSBhZ2dpb3JuYXRhIGNvcnJldHRhbWVudGUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVRURU5aSU9ORTogaW4gY2FzbyBkaSBjcmVhemlvbmUgbyBtb2RpZmljYSBkaSBxdWFsc2lhc2lcbiIKKyN+ICJwYXJ0aXppb25lIERPUyA2LngsIGNvbnN1bHRhcmUgbGEgcGFnaW5hIGRlbCBtYW51YWxlIGNmZGlza1xuIgorI34gInBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIkVSUk9SRSBJUlJFVkVSU0lCSUxFIgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiUHJlbWVyZSBxdWFsc2lhc2kgdGFzdG8gcGVyIHVzY2lyZSBkYSBjZmRpc2siCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJSaWNlcmNhIHN1bGwndW5pdMOgIGRpc2NvIGltcG9zc2liaWxlIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgbGVnZ2VyZSBsJ3VuaXTDoCBkaXNjbyIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBzY3JpdmVyZSBzdWxsJ3VuaXTDoCBkaXNjbyIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlRyb3BwZSBwYXJ0aXppb25pIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgaW5pemlhIHByaW1hIGRlbCBzZXR0b3JlIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgdGVybWluYSBwcmltYSBkZWwgc2V0dG9yZSAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiTGEgcGFydGl6aW9uZSBpbml6aWEgZG9wbyBsYSBmaW5lIGRlbCBkaXNjbyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lIHRlcm1pbmEgZG9wbyBsYSBmaW5lIGRlbCBkaXNjbyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlciIKKyN+IG1zZ3N0ciAibGUgcGFydGl6aW9uaSBsb2dpY2hlIG5vbiBzb25vIG5lbGwnb3JkaW5lIGRlbCBkaXNjbyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJzb3ZyYXBwb3NpemlvbmUgZGVsbGUgcGFydGl6aW9uaSBsb2dpY2hlIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgInNvdnJhcHBvc2l6aW9uZSBkZWxsZSBwYXJ0aXppb25pIGxvZ2ljaGUgYW1wbGlhdGUiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBFcnJvcmUgaW50ZXJubyBkdXJhbnRlIGxhIGNyZWF6aW9uZSBkaSB1bid1bml0w6AgbG9naWNhIGNvbiBwYXJ0aXppb25lIG5vbiBlc3Rlc2EgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgY3JlYXJlIHVuJ3VuaXTDoCBsb2dpY2EgaW4gcXVlc3RvIGNhc28gLSBzaSBjcmVlcmViYmVybyBkdWUgcGFydGl6aW9uaSBlc3Rlc2UiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiVm9jZSBkaSBtZW7DuSB0cm9wcG8gbHVuZ2EuIElsIG1lbnUgcHXDsiBhcHBhcmlyZSBzdHJhbm8uIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIlRhc3RvIG5vbiB2YWxpZG8iCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkNyZWFyZSB1bmEgbnVvdmEgcGFydGl6aW9uZSBwcmltYXJpYSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiQ3JlYXJlIHVuYSBudW92YSBwYXJ0aXppb25lIGxvZ2ljYSIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiQW5udWxsYSIKKworI34gbXNnaWQgIkRvbid0IGNyZWF0ZSBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm9uIGNyZWFyZSB1bmEgcGFydGl6aW9uZSIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIiEhISBFcnJvcmUgaW50ZXJubyAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiRGltZW5zaW9uZSAoaW4gTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIkluaXppbyIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkFnZ2l1bmdlcmUgbGEgcGFydGl6aW9uZSBhbGwnaW5pemlvIGRlbGxvIHNwYXppbyBkaXNwb25pYmlsZSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkFnZ2l1bmdlcmUgbGEgcGFydGl6aW9uZSBhbGxhIGZpbmUgZGVsbG8gc3BhemlvIGRpc3BvbmliaWxlIgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiTm9uIGMnw6ggc3BhemlvIHBlciBjcmVhcmUgdW5hIHBhcnRpemlvbmUgZXN0ZXNhIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJOZXNzdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaS4gU2kgaW5pemlhIGNvbiB1bmEgdGFiZWxsYSB2dW90YS4iCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiU2VnbmF0dXJhIGRhbm5lZ2dpYXRhIG5lbGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSIKKworI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIlRpcG8gZGkgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHNjb25vc2NpdXRvIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiU2kgdnVvbGUgaW5pemlhcmUgY29uIHVuYSB0YWJlbGxhIHZ1b3RhIFt5L05dPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBsJ3VuaXTDoCBkaXNjbyIKKworI34gbXNnaWQgIk9wZW5lZCBkaXNrIHJlYWQtb25seSAtIHlvdSBoYXZlIG5vIHBlcm1pc3Npb24gdG8gd3JpdGUiCisjfiBtc2dzdHIgIkRpc2NvIGFwZXJ0byBpbiBzb2xhIGxldHR1cmEgLSBzY3JpdHR1cmEgbm9uIGF1dG9yaXp6YXRhIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIG90dGVuZXJlIGxhIGRpbWVuc2lvbmUgZGVsIGRpc2NvIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQYXJ0aXppb25lIHByaW1hcmlhIGRhbm5lZ2dpYXRhIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBUaGlzIG1heSBkZXN0cm95IGRhdGEgb24geW91ciBkaXNrISIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZSEgSSBkYXRpIHN1bCBkaXNjbyBwb3RyZWJiZXJvIHZlbmlyZSBlbGltaW5hdGkhIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIkluc2VyaXJlIFwic2lcIiAoc2VuemEgYWNjZW50bykgbyBcIm5vXCIiCisKKyN+IG1zZ2lkICJXcml0aW5nIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLi4uIgorI34gbXNnc3RyICJTY3JpdHR1cmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IGRpc2NvIGluIGNvcnNvLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIkVzZWd1aXRhIGwnb3BlcmF6aW9uZSBkaSBzY3JpdHR1cmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHN1IGRpc2NvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICJUYWJlbGxhIHNjcml0dGEsIG1hIGxhIHJpbGV0dHVyYSDDqCBmYWxsaXRhLiBSaWF2dmlhcmUgcGVyIGFnZ2lvcm5hcmUgbGEgdGFiZWxsYS4iCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiIgorI34gIk5lc3N1bmEgcGFydGl6aW9uZSBwcmltYXJpYSDDqCBpbXBvc3RhdGEgY29tZSBhdnZpYWJpbGUuIERPUyBNQlIgbm9uIHB1w7JcbiIKKyN+ICJhdnZpYXJsYS4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBpw7kgZGkgdW5hIHBhcnRpemlvbmUgcHJpbWFyaWEgw6ggaW1wb3N0YXRhIGNvbWUgYXZ2aWFiaWxlLiBET1MgTUJSIG5vbiBwdcOyXG4iCisjfiAiYXZ2aWFybGEuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIkluc2VyaXJlIGlsIG5vbWUgZGVsIGZpbGUgbyBwcmVtZXJlIFJFVFVSTiAoSU5WSU8pIHBlciB2aXN1YWxpenphcmUgc3VsbG8gc2NoZXJtbzoiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJVbml0w6AgZGlzY286ICVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAiU2V0dG9yZSAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJTZXR0b3JlICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAgTmVzc3VubyAgICIKKworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIiAgIFByaS9Mb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICBQcmltYXJpbyIKKworI34gbXNnaWQgIiAgIExvZ2ljYWwiCisjfiBtc2dzdHIgIiAgIExvZ2ljbyIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiTmVzc3VubyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBUYWJsZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiVGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHBlciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgVGlwbyAgICAgc2V0dG9yZSAgIHNldHRvcmUgICBvZmZzZXQgIGx1bmdoZXp6YSAgIHRpcG8gZGkgZmlsZXN5c3RlbSAgKElEKSAgIGZsYWdcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tLS0gLS0tLS0tLS0gLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tLS0tLS1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgRmxhZyB0ZXN0aW5hIHNldHQuIGNpbC4gICBJRCAgdGVzdGluYSBzZXR0LiBjaWwuICAgIHNldHRvcmUgIHNldHRvcmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLS0tLSAtLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiR3JlenpvIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiU3RhbXBhcmUgbGEgdGFiZWxsYSB1dGlsaXp6YW5kbyBpbCBmb3JtYXRvIGRhdGkgZ3JlenppIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiU3RhbXBhcmUgbGEgdGFiZWxsYSBvcmRpbmF0YSBwZXIgc2V0dG9yaSIKKworI34gbXNnaWQgIlRhYmxlIgorI34gbXNnc3RyICJUYWJlbGxhIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJTdGFtcGFyZSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkiCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIk5vbiBzdGFtcGFyZSBsYSB0YWJlbGxhIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiBnICAgICAgICAgIGNhbWJpbyBjaWxpbmRyaSwgdGVzdGluZSwgcGFyYW1ldHJpIHNldHRvcmktcGVyLXRyYWNjaWEiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICBBVFRFTlpJT05FOiBxdWVzdGEgb3B6aW9uZSBkb3ZyZWJiZSBlc3NlcmUgdXRpbGl6emF0YSBzb2xvIGRhIHBlcnNvbmUiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgZXNwZXJ0aS4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiBtICAgICAgICAgIE1hc3NpbWl6emFyZSBsJ3V0aWxpenpvIGRlbCBkaXNjbyBkZWxsYSBwYXJ0aXppb25lIGNvcnJlbnRlIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgTm90YTogcXVlc3RvIHB1w7IgcmVuZGVyZSBsYSBwYXJ0aXppb25lIGluY29tcGF0aWJpbGUgY29uIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiBwICAgICAgICAgIFN0YW1wYSBkZWxsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgc3Ugc2NoZXJtbyBvIHN1IGZpbGUiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgIFZpIHNvbm8gZGl2ZXJzaSBhbHRyaSBmb3JtYXRpIHBlciBsYSBwYXJ0aXppb25lIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIHRoYXQgeW91IGNhbiBjaG9vc2UgZnJvbToiCisjfiBtc2dzdHIgIiAgICAgICAgICAgIHRyYSBpIHF1YWxpIHNjZWdsaWVyZToiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgciAtIFJhdyBkYXRhIChleGFjdGx5IHdoYXQgd291bGQgYmUgd3JpdHRlbiB0byBkaXNrKSIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgciAtIGRhdGkgZ3JlenppIChlc2F0dGFtZW50ZSBjacOyIGNoZSB2ZXJyZWJiZSBzY3JpdHRvIHN1bCBkaXNjbykiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgcyAtIFRhYmVsbGEgb3JkaW5hdGEgcGVyIHNldHRvcmkiCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgdSAgICAgICAgICBNb2RpZmljYSBsJ3VuaXTDoCBkaSB2aXN1YWxpenphemlvbmUgZGVsbGEgZGltZW5zaW9uZSBkZWxsYSBwYXJ0aXppb25lIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICBSdW90YSBhdHRyYXZlcnNvIE1CLCBzZXR0b3JpIGUgY2lsaW5kcmkiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMLUwgICAgICAgUmlkaXNlZ25hIGxvIHNjaGVybW8iCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgPyAgICAgICAgICBTdGFtcGEgcXVlc3RhIHNjaGVybWF0YSIKKworI34gbXNnaWQgIkNoYW5nZSBjeWxpbmRlciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiTW9kaWZpY2EgbGEgZ2VvbWV0cmlhIGRlaSBjaWxpbmRyaSIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICJNb2RpZmljYSBsYSBnZW9tZXRyaWEgZGVsbGUgdGVzdGluZSIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIk1vZGlmaWNhIGxhIGdlb21ldHJpYSBkZWkgc2V0dG9yaSIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiTW9kaWZpY2EgZGVsbGEgZ2VvbWV0cmlhIGVzZWd1aXRhIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBjeWxpbmRlcnM6ICIKKyN+IG1zZ3N0ciAiSW1tZXR0ZXJlIGlsIG51bWVybyBkaSBjaWxpbmRyaTogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yZSBjaWxpbmRyaSBub24gdmFsaWRvIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJJbW1ldHRlcmUgaWwgbnVtZXJvIGRlbGxlIHRlc3RpbmU6ICIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yZSB0ZXN0aW5lIG5vbiB2YWxpZG8iCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIkltbWV0dGVyZSBpbCBudW1lcm8gZGVpIHNldHRvcmkgcGVyIHRyYWNjaWE6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3JlIHNldHRvcmkgbm9uIHZhbGlkbyIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICJJbW1ldHRlcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGNhbWJpYXJlIGlsIHRpcG8gRlMgaW4gdnVvdG8iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGNhbWJpYXJlIGlsIHRpcG8gRlMgaW4gZXNwYW5zbyIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiVW5rKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIlByaS9Mb2ciCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiU2Nvbm9zY2l1dG8gKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIlVuaXTDoCBkaXNjbzogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJEaW1lbnNpb25pOiAlbGxkIGJ5dGUsICVsbGQgTUIiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIkRpbWVuc2lvbmk6ICVsbGQgYnl0ZSwgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJUZXN0aW5lOiAlZCAgIFNldHRvcmkgcGVyIHRyYWNjaWE6ICVkICAgQ2lsaW5kcmk6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlRpcG8gcGFydC4iCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICJUaXBvIEZTIgorCisjfiBtc2dpZCAiW0xhYmVsXSIKKyN+IG1zZ3N0ciAiW0V0aWNoZXR0YV0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgIFNldHRvcmkiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRyaSIKKworI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICIgIERpbS4gKE1CKSIKKworI34gbXNnaWQgIiAgU2l6ZSAoR0IpIgorI34gbXNnc3RyICIgIERpbS4gKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTmVzc3VuJ2FsdHJhIHBhcnRpemlvbmUiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiTW9kaWZpY2EgZGVsbGEgZ2VvbWV0cmlhIGRlbCBkaXNjbyAoc29sbyBwZXIgZXNwZXJ0aSkiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiTWFzc2ltaS4iCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiTWFzc2ltaXp6YSBsJ3V0aWxpenpvIGRlbCBkaXNjbyBkZWxsYSBwYXJ0aXppb25lIGNvcnJlbnRlIChzb2xvIHBlciBlc3BlcnRpKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJTdGFtcGEiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdGhlIGZpbGVzeXN0ZW0gdHlwZSAoRE9TLCBMaW51eCwgT1MvMiBhbmQgc28gb24pIgorI34gbXNnc3RyICJNb2RpZmljYSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0gKERPUywgTGludXgsIE9TLzIsIGVjYy4pIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIlVuaXTDoCIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIkNhbWJpYSBsJ3VuaXTDoCBkaSB2aXN1YWxpenphemlvbmUgZGVsbGEgZGltZW5zaW9uZSBkZWxsYSBwYXJ0aXppb25lIChNQiwgc2V0dC4sIGNpbC4pIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIHJlbmRlcmUgcXVlc3RhIHBhcnRpemlvbmUgYXZ2aWFiaWxlIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGNhbmNlbGxhcmUgdW5hIHBhcnRpemlvbmUgdnVvdGEiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIG1hc3NpbWl6emFyZSBxdWVzdGEgcGFydGl6aW9uZSIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJRdWVzdGEgcGFydGl6aW9uZSDDqCB1dGlsaXp6YWJpbGUiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAiUXVlc3RhIHBhcnRpemlvbmUgw6ggZ2nDoCBpbiB1c28iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgbW9kaWZpY2FyZSBpbCB0aXBvIGRpIHVuYSBwYXJ0aXppb25lIHZ1b3RhIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjb21tYW5kIgorI34gbXNnc3RyICJDb21hbmRvIG5vbiB2YWxpZG8iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAgICAtSCMgW28gLS1oZWFkcyAjXTogICAgaW1wb3N0YSBpbCBudW1lcm8gZGkgdGVzdGluZSBkYSB1dGlsaXp6YXJlIgorCisjIEZJWE1FIFVQU1RSRUFNOiB1bnFvdGUKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTm9uIGNpdGEgbCdvdXRwdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiIGQgICAgICAgICAgRWxpbWluYSBsYSBwYXJ0aXppb25lIGNvcnJlbnRlIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICBjICAgbW9kaWZpY2EgZGVsIG51bWVybyBkaSBjaWxpbmRyaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGhlYWRzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBhcHJpcmUgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICIgZSAgIGVzdGVzYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOciIKKyN+IG1zZ3N0ciAiTkMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJJbXBvc3RhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIlF1ZXN0YSBub24gc2VtYnJhIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkuXG4iCisjfiAiUHJvYmFiaWxtZW50ZSDDqCBzdGF0byBzY2VsdG8gaWwgZGlzcG9zaXRpdm8gc2JhZ2xpYXRvLlxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJsb2NrcyAiCisjfiBtc2dzdHIgImJsb2NjaGkgJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJTZXR0b3JpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorI34gbXNnc3RyICJTaSBhdnLDoCB1bmEgc292cmFwcG9zaXppb25lIGRpIHBhcnRpemlvbmkgc3VsIGRpc2NvLiBSaXNvbHZlcmUgYW56aXR1dHRvIHF1ZXN0byBwcm9ibGVtYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJGbGFnIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgImF0dGVuemlvbmU6IGVycm9yZSBkdXJhbnRlIGxhIGxldHR1cmEgZGkgJXM6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgImF0dGVuemlvbmU6IGltcG9zc2liaWxlIGFwcmlyZSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBhcHJpcmUgJXMgLSBzaSBzdGEgdXRpbGl6emFuZG8gYWwgc3VvIHBvc3RvICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBjcmVhcmUgdW4gZmlsZSBkaSBsb2NrICVzOiAlcyAodXNhcmUgaWwgZmxhZyAtbiBwZXIgY2FtYmlhcmUpIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGNvbGxlZ2FyZSBpbCBmaWxlIGRpIGxvY2sgJXM6ICVzICAodXNhcmUgaWwgZmxhZyAtbiBwZXIgY2FtYmlhcmUpIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlIGRpIGxvY2sgJXM6ICVzICh1c2FyZSBmbGFnIC1uIHBlciBjYW1iaWFyZSkiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgZmFyZSBpbCBsb2NrIGRlbCBmaWxlIGRpIGxvY2sgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGZhcmUgaWwgbG9jayBkZWwgZmlsZSBkaSBsb2NrICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAiSW1wb3NzaWJpbGUgY3JlYXJlIGlsIGNvbGxlZ2FtZW50byAlc1xuIgorI34gIkZvcnNlIGMnw6ggdW4gdmVjY2hpbyBmaWxlIGRpIGxvY2s/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzICglcykgLSBtdGFiIG5vbiBhZ2dpb3JuYXRvIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImVycm9yZSBkdXJhbnRlIGxhIHNjcml0dHVyYSBkaSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBlZmZldHR1YXJlIHN0YXQgZGkgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBpbCBjYW1iaWFtZW50byBkZWxsYSBtb2RhbGl0w6AgZGkgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImVycm9yZSBkdXJhbnRlIGlsIGNhbWJpYW1lbnRvIGRlbGxhIG1vZGFsaXTDoCBkaSAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgcmlub21pbmFyZSAlcyBpbiAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIHRyb3ZhcmUgJXMgaW4gJXMgbyAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogc2Vjb25kbyBtdGFiLCAlcyDDqCBnacOgIG1vbnRhdG8gc3UgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzZWNvbmRvIG10YWIsICVzIMOoIG1vbnRhdG8gc3UgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBhcHJpcmUgJXMgaW4gc2NyaXR0dXJhOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm9yZSBkdXJhbnRlIGxhIHNjcml0dHVyYSBkaSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlcnJvcmUgZHVyYW50ZSBpbCBjYW1iaW8gZGkgbW9kYWxpdMOgIGRpICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBpbXBvc3RhcmUgbCdpZCBkaSBncnVwcG86ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGwnaWQgdXRlbnRlOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBlZmZldHR1YXJlIGlsIGZvcms6ICVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIlByb3ZhIGRpICVzIGluIGNvcnNvXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbm9uIHNpIMOoIHNwZWNpZmljYXRvIHVuIHRpcG8gZGkgZmlsZXN5c3RlbSBwZXIgJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgUHJvdmVyw7IgdHV0dGkgaSB0aXBpIGNpdGF0aSBpbiAlcyBvICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgZSBzZW1icmEgY2hlIHF1ZXN0byBzaWEgc3dhcHNwYWNlXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgIFByb3ZlcsOyIGlsIHRpcG8gJXNcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIGFzc29taWdsYSBhIHN3YXBzcGFjZSAtIG5vbiBtb250YXRvIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzb2xhbWVudGUgcm9vdCBwdcOyIG1vbnRhcmUgJXMgc3UgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWNhdG8gZHVlIHZvbHRlIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogdGlwbyBzcGVjaWZpY2F0byBkdWUgdm9sdGUiCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHNpIGlnbm9yYSBsJ2ltcG9zdGF6aW9uZSBkaSB1biBsb29wIGRldmljZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzaSBpbnRlbmRlIHV0aWxpenphcmUgaWwgbG9vcCBkZXZpY2UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yZSBpbXBvc3RhdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yZSBpbXBvc3RhdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBzZWNvbmRvIG10YWIsICVzIMOoIGdpw6AgbW9udGF0byBzdSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSByaWF2dm9sZ2VyZSBpbCBkaXNwb3NpdGl2byBzd2FwIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IG1hbmNhdGEgaW1wb3N0YXppb25lIGRlbCBsb29wIGRldmljZVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHNpIGludGVuZGUgdXRpbGl6emFyZSBpbCBsb29wIGRldmljZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHRvIHNldCBsb29wZGV2IGF0dHJpYnV0ZXMiCisjfiBtc2dzdHIgIm1vdW50OiBtYW5jYXRhIGltcG9zdGF6aW9uZSBkZWwgbG9vcCBkZXZpY2VcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCBzZXR0aW5nIHVwIGxvb3AgZGV2aWNlOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IG1hbmNhdGEgaW1wb3N0YXppb25lIGRlbCBsb29wIGRldmljZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3RhemlvbmUgZGVsIGxvb3AgZGV2aWNlIHJpdXNjaXRhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZXNzdW4gJXMgdHJvdmF0byAtIGNyZWF6aW9uZSBpbiBjb3Jzby4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgYXByaXJlICVzIHBlciBpbXBvc3RhcmUgbGEgdmVsb2NpdMOgIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsYSB2ZWxvY2l0w6A6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHNlY29uZG8gbXRhYiwgJXMgw6ggZ2nDoCBtb250YXRvIHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBvY2N1cGF0byAtIHJpbW9udGF0byBzb2xhIGxldHR1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb2NjdXBhdG8gLSByaW1vbnRhdG8gc29sYSBsZXR0dXJhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBkZXRlcm1pbmFyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0sIGUgbm9uIMOoIHN0YXRvIHNwZWNpZmljYXRvIG5lc3N1bm8iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogc2kgZGV2ZSBzcGVjaWZpY2FyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IGlsIG1vdW50IHBvaW50IGRpICVzIG5vbiDDqCB1bmEgZGlyZWN0b3J5IgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogYXV0b3JpenphemlvbmUgbmVnYXRhIgorCisjfiBtc2dpZCAibW91bnQ6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKKyN+IG1zZ3N0ciAibW91bnQ6IGJpc29nbmEgZXNzZXJlIHN1cGVydXNlciBwZXIgdXRpbGl6emFyZSBtb3VudCIKKworI34gbXNnaWQgIm1vdW50OiBwcm9jIGFscmVhZHkgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByb2MgZ2nDoCBtb250YXRvIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorI34gbXNnc3RyICJtb3VudDogJXMgZ2nDoCBtb250YXRvIG8gJXMgb2NjdXBhdG8iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiBpbCBtb3VudCBwb2ludCAlcyBub24gZXNpc3RlIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogaWwgbW91bnQgcG9pbnQgJXMgw6ggdW4gY29sbGVnYW1lbnRvIHNpbWJvbGljbyBhIG51bGxhIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogaWwgZGV2aWNlIHNwZWNpYWxlICVzIG5vbiBlc2lzdGUiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0XG4iCisjfiAiICAgICAgIChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBpbCBkZXZpY2Ugc3BlY2lhbGUgJXMgbm9uIGVzaXN0ZVxuIgorI34gIiAgICAgICAodW4gcHJlZmlzc28gZGkgcGVyY29yc28gbm9uIMOoIHVuYSBkaXJlY3RvcnkpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiB0aXBvIGZzIGVycmF0bywgb3B6aW9uZSBub24gdmFsaWRhLCBzdXBlcmJsb2NjbyBzdSAlcyBkYW5uZWdnaWF0byxcbiIKKyN+ICIgICAgICAgY29kZXBhZ2UgbyBwcm9ncmFtbWEgYXVzaWxpYXJpbyBtYW5jYW50ZSwgbyBhbHRybyBlcnJvcmUiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBJbiBhbGN1bmkgY2FzaSBzaSBwb3Nzb25vIHRyb3ZhcmUgaW5mb3JtYXppb25pIHV0aWxpIGluIHN5c2xvZy4gUHJvdmFyZVxuIgorI34gIiAgICAgICBhZCBlc2VtcGlvICdkbWVzZyB8IHRhaWwnXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlIGlsIHN1cGVyYmxvY2NvIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogZGlzcG9zaXRpdm8gc2Nvbm9zY2l1dG8iCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcG8gZGkgZmlsZXN5c3RlbSAnJXMnIHNjb25vc2NpdXRvIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHByb2JhYmlsbWVudGUgc2kgaW50ZW5kZSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ2lzbzk2NjAnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IGZvcnNlIHNpIGludGVuZGV2YSAnaXNvOTY2MCc/IgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAndmZhdCc/IgorI34gbXNnc3RyICJtb3VudDogZm9yc2Ugc2kgaW50ZW5kZXZhICd2ZmF0Jz8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgaGEgdW4gbnVtZXJvIGRldmljZSBlcnJhdG8gbyBpbCB0aXBvIGRpIGZzICVzIG5vbiDDqCBzdXBwb3J0YXRvIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgbm9uIMOoIHVuIGRpc3Bvc2l0aXZvIGEgYmxvY2NoaSBlIHN0YXQgbm9uIMOoIHJpdXNjaXRvPyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGlsIGtlcm5lbCBub24gcmljb25vc2NlICVzIGNvbWUgdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpXG4iCisjfiAiICAgICAgIChmb3JzZSBcImluc21vZCBkcml2ZXJcIj8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgIG5vbiDDqCB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGkgKGZvcnNlIHByb3ZhcmUgXCItbyBsb29wXCI/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5vbiDDqCB1biBkaXNwb3NpdGl2byBhIGJsb2NjaGkgdmFsaWRvIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIG1vbnRhcmUgJXMlcyBpbiBzb2xhIGxldHR1cmEiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgw6ggcHJvdGV0dG8gZGEgc2NyaXR0dXJhLCBtYSBsJ29wemlvbmUgJy13JyDDqCBzdGF0YSBpbmRpY2F0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBtb250YXJlICVzJXMgaW4gc29sYSBsZXR0dXJhIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIMOoIHByb3RldHRvIGRhIHNjcml0dHVyYSwgdmllbmUgbW9udGF0byBpbiBzb2xhIGxldHR1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGdpw6AgbW9udGF0byBzdSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiBub24gw6ggc3RhdG8gZGF0byBpbCB0aXBvIC0gU2kgcHJlc3VtZSBuZnMgcGVyY2jDqSBjaSBzb25vIGkgZHVlIHB1bnRpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogbm9uIMOoIHN0YXRvIGRhdG8gaWwgdGlwbyAtIFNpIGFzc3VtZSBjaWZzIHBlciBpbCBwcmVmaXNzbyAvL1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogw6ggcG9zc2liaWxlIHNvbG8gcGVyIHJvb3QiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJtb3VudDogw6ggcG9zc2liaWxlIHNvbG8gcGVyIHJvb3QiCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJub24gw6ggc3RhdG8gbW9udGF0byBuaWVudGUiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBub24gc2kgw6ggdHJvdmF0YSB0YWxlIHBhcnRpemlvbmUiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIHRyb3ZhcmUgJXMgaW4gJXMgbyAlcyIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IGF0dGVuemlvbmU6IG5vbiBjJ8OoIHVuJ2FuZGF0YSBhIGNhcG8gYWxsYSBmaW5lIGRpICVzXG4iCisKKyN+IG1zZ2lkICJbbW50ZW50XTogbGluZSAlZCBpbiAlcyBpcyBiYWQlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogcmlnYSAlZCBpbiAlcyBub24gdmFsaWRhJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgaWdub3JhdG8gcmVzdG8gZGVsIGZpbGUiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAibWVtb3JpYSBpbnN1ZmZpY2llbnRlIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudDogY29tcGlsYXRvIHNlbnphIHN1cHBvcnRvIHBlciAtZlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGwnaWQgZGkgZ3J1cHBvOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDogaW1wb3NzaWJpbGUgaW1wb3N0YXJlIGwnaWQgdXRlbnRlOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDogaW1wb3NzaWJpbGUgZmFyZSBpbCBmb3JrOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl2byBkaSBibG9jY2hpIG5vbiB2YWxpZG8iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbm9uIG1vbnRhdG8iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBpbXBvc3NpYmlsZSBzY3JpdmVyZSBzdXBlcmJsb2NrIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBub24gdHJvdmF0byIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogYmlzb2duYSBlc3NlcmUgc3VwZXJ1c2VyIHBlciBlc2VndWlyZSB1bW91bnQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGkgZGlzcG9zaXRpdmkgZGkgYmxvY2NoaSBub24gc29ubyBwZXJtZXNzaSBzdSBmcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBjaGRpciB0byAlczogJW0iCisjfiBtc2dzdHIgIm5hbWVpOiBpbXBvc3NpYmlsZSBlc2VndWlyZSBjaGRpciBzdSAlcyAtICVzICglZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJuYW1laTogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGlyZWN0b3J5IGNvcnJlbnRlIC0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAibW91bnQ6IGlsIG1vdW50IHBvaW50ICVzIG5vbiBlc2lzdGUiCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgIm5lc3N1biB1bW91bnQyLCB0ZW50YXRpdm8gZGkgdW1vdW50IGluIGNvcnNvLi4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgb2NjdXBhdG8gLSByaW1vbnRhdG8gc29sYSBsZXR0dXJhXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvdWxkIG5vdCByZW1vdW50ICVzIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6IGltcG9zc2liaWxlIHJpbW9udGFyZSAlcyBkaSBzb2xhIGxldHR1cmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBoYXMgYmVlbiB1bm1vdW50ZWRcbiIKKyN+IG1zZ3N0ciAiZXNlZ3VpdG8gdW1vdW50IGRpICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmaW5kIGxpc3Qgb2YgZmlsZXN5c3RlbXMgdG8gdW5tb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiBpbXBvc3NpYmlsZSB0cm92YXJlIGwnZWxlbmNvIGRlaSBmaWxlc3lzdGVtIGRhIHNtb250YXJlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286IHVtb3VudCBbLWhWXVxuIgorI34gIiAgICAgdW1vdW50IC1hIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHRpcG9mc10gWy1PIG9wemlvbmldXG4iCisjfiAiICAgICB1bW91bnQgWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsZSB8IG5vZG8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiSWwgc2V0dG9yZSAlZCDDqCBnacOgIGFsbG9jYXRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBzbW9udGFyZSBcIlwiXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIHRyb3ZhcmUgJXMgaW4gbXRhYlxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5vbiDDqCBtb250YXRvIChzZWNvbmRvIG10YWIpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHNlbWJyYSBjaGUgJXMgc2lhIHN0YXRvIG1vbnRhdG8gZGl2ZXJzZSB2b2x0ZSIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIG5vbiBzaSB0cm92YSBpbiBmc3RhYiAoZSBub24gc2kgw6ggcm9vdCkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBtb3VudCBub24gY29lcmVudGUgY29uIGZzdGFiIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVtb3VudDogc29sbyAlcyBwdcOyIHNtb250YXJlICVzIGRhICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgIiB1bW91bnQ6IHNvbG8gcm9vdCBwdcOyIGZhcmxvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzb2dsaWEgcHJlZGVmaW5pdGEgZSAlbGQgdGltZW91dCBwcmVkZWZpbml0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJJbCBmaWxlICVzLCBwZXIgaWwgdmFsb3JlIGxpbWl0ZSAlbHUsIGlsIG51bWVybyBtYXNzaW1vIGRpIGNhcmF0dGVyaSBpbiBmaWZvIGVyYSAlZCxcbiIKKyN+ICJlIGxhIHZlbG9jaXTDoCBtYXNzaW1hIGRpIHRyYXNmZXJpbWVudG8gZGkgY2FyYXR0ZXJpL3NlY29uZG8gZXJhIGRpICVmXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJJbCBmaWxlICVzLCBwZXIgaWwgdmFsb3JlIGxpbWl0ZSAlbHUgZSBpbCB2YWxvcmUgZGkgdGltZW91dCAlbHUsIGlsIG51bWVybyBtYXNzaW1vIGRpIGNhcmF0dGVyaSBpbiBmaWZvIGVyYSAlZCxcbiIKKyN+ICJlIGxhIHZlbG9jaXTDoCBtYXNzaW1hIGRpIHRyYXNmZXJpbWVudG8gZGkgY2FyYXR0ZXJpL3NlY29uZG8gZXJhIGRpICVmXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGlzc3VlIENZR0VUTU9OIG9uICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSBDWUdFVE1PTiBzdSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIG90dGVuZXJlIGlsIGxpbWl0ZSBwZXIgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgb3R0ZW5lcmUgaWwgdGltZW91dCBwZXIgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNhci9zZWMpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2FyL3NlYylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJWYWxvcmUgaW50ZXJ2YWxsbyBub24gdmFsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvcmUgaW50ZXJ2YWxsbyBub24gdmFsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICJWYWxvcmUgaW1wb3N0YXRvIG5vbiB2YWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvcmUgaW1wb3N0YXRvIG5vbiB2YWxpZG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJWYWxvcmUgcHJlZGVmaW5pdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvcmUgcHJlZGVmaW5pdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJPcmEgaW1wb3N0YXRhIG5vbiB2YWxpZGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk9yYSBpbXBvc3RhdGEgbm9uIHZhbGlkYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAiT3JhIHByZWRlZmluaXRhIG5vbiB2YWxpZGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJPcmEgcHJlZGVmaW5pdGEgbm9uIHZhbGlkYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgaW1wb3N0YXJlICVzIGFsbGEgc29nbGlhICVkOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGltcG9zdGFyZSAlcyBhbCBsaW1pdGUgb3JhICVkOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIHNvZ2xpYSBjb3JyZW50ZSBlICVsZCB0aW1lb3V0IGNvcnJlbnRlXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgc29nbGlhIHByZWRlZmluaXRhIGUgJWxkIHRpbWVvdXQgcHJlZGVmaW5pdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIklsIHRlbXBvIHRyYXNjb3JzbyBkYWxsJ29yYXJpbyBkaSByaWZlcmltZW50byBlJyBzdGF0byBkaSAlLjZmIHNlY29uZGkuXG4iCisjfiAiQWNjdW11bGFyZSB1bHRlcmlvcmUgcml0YXJkbyBwZXIgcmFnZ2l1bmdlcmUgaWwgc2Vjb25kbyBwaWVubyBzdWNjZXNzaXZvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIHRlcm1pbmFsX25hbWUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXNldCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAgWyAtaW5pdGlhbGl6ZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jdXJzb3IgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVwZWF0IFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtbGluZXdyYXAgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgIFsgLWRlZmF1bHQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWludmVyc2VzY3JlZW4gW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJvbGQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGluayBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmV2ZXJzZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC11bmRlcmxpbmUgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiICBbIC1zdG9yZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAgWyAtY2xlYXIgW2FsbHxyZXN0XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC10YWJzIFsgdGFiMSB0YWIyIHRhYjMgLi4uIF0gXSAgICAgICh0YWJuID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC1jbHJ0YWJzIFsgdGFiMSB0YWIyIHRhYjMgLi4uIF0gXSAgICh0YWJuID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZWd0YWJzIFsxLTE2MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGFuayBbMC02MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWR1bXAgICBbMS1OVU1fQ09OU09MRV0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGVuZCBbMS1OVU1fQ09OU09MRV0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIGR1bXBmaWxlbmFtZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2cgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1tc2dsZXZlbCBbMC04XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAgWyAtYmxlbmd0aCBbMC0yMDAwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAgWyAtYmZyZXEgZnJlcW51bWJlciBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJFcnJvcmUgaW4gc2NyaXR0dXJhIHNjcmVlbmR1bXBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgL2Rldi90dHkxIG8gL2Rldi92Yy8xIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgImxpbmVhIHRyb3BwbyBsdW5nYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2V0dWlkKCkgbm9uIHJpdXNjaXRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgw6ggZ2nDoCBkZWZpbml0YS4gIENhbmNlbGxhcmxhIHByaW1hIGRpIHJpYWdnaXVuZ2VybGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCDDqCBnacOgIGRlZmluaXRhLiAgQ2FuY2VsbGFybGEgcHJpbWEgZGkgcmlhZ2dpdW5nZXJsYS5cbiIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImltcG9zdGEgbGEgZGltZW5zaW9uZSBkZWwgYmxvY2NvIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJ1biBibG9jY28gZGFubmVnZ2lhdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gdHlwZSBoZXggb3IgdXVpZCIKKyN+IG1zZ3N0ciAiIyB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgZGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInJpY2VyY2Egbm9uIHJpdXNjaXRhIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlZWsgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAicmljZXJjYSBub24gcml1c2NpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiKEZpbGUgc3VjY2Vzc2l2bzogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zc3Vwb3J0ZWQgLS1sb2NhbC1saW5lIG1vZGUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBhcmdvbWVudG8gc2Nvbm9zY2l1dG86ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTpcbiIKKyN+IG1zZ3N0ciAiVXNvOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIlcyBub24gw6ggdW4gZGlzcG9zaXRpdm8gYSBibG9jY2hpIG8gdW4gZmlsZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibnVtZXJvIG1hc3NpbW8gZGkgc2VnbWVudGkgPSAlbHVcbiIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMgbm9uIHJpdXNjaXRvICIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXNvOlxuIgorI34gIlN0YW1wYSB2ZXJzaW9uZTpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiU3RhbXBhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wemlvbmldIGRpc3Bvc2l0aXZvXG4iCisjfiAiVXNvIGludGVyYXR0aXZvOlxuIgorI34gIiAgICAgICAgJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvXG4iCisjfiAiXG4iCisjfiAiT3B6aW9uaTpcbiIKKyN+ICItYTogVXNhIGZyZWNjaWEgYWwgcG9zdG8gZGVsbCdldmlkZW56aWF6aW9uZTtcbiIKKyN+ICItejogSW5pemlhIGNvbiB1bmEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIHZ1b3RhLCBhbnppY2jDqSBsZWdnZXJlIGxhIFxuIgorI34gIiAgICBwYXJ0aXppb25lIGRhbCBkaXNjbztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogU29zdGl0dWlzY2UgbCdpZGVhIGRlbCBrZXJuZWwgcmlndWFyZG8gYWwgbnVtZXJvIGRpIGNpbGluZHJpLFxuIgorI34gIiAgICAgICAgICAgICAgICBhbCBudW1lcm8gZGkgdGVzdGluZSBlIGRpIHNldHRvcmkvdHJhY2NpYS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJTY3JpdHR1cmEgZGVsIGRpc2tsYWJlbCBzdSAlcyBpbiBjb3Jzby5cbiIKKworI34gbXNnaWQgIkxhc3QgJXMgb3IgK3NpemUgb3IgK3NpemVNIG9yICtzaXplSyIKKyN+IG1zZ3N0ciAiVWx0aW1vICVzIG8gK3NpemUgbyArc2l6ZU0gbyArc2l6ZUsgIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICJMZXR0dXJhIGRlbCBkaXNrbGFiZWwgZGkgJXMgYWwgc2V0dG9yZSAlZC5cbiIKKworI34gbXNnaWQgIkJTRCBkaXNrbGFiZWwgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKKyN+IG1zZ3N0ciAiQ29tYW5kbyBkaXNrbGFiZWwgQlNEIChtIHBlciByaWNoaWFtYXJlIGxhIGd1aWRhKTogIgorCisjfiBtc2dpZCAiZHJpdmVkYXRhOiAiCisjfiBtc2dzdHIgImRhdGl1bml0w6A6IgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAgaW5pemlvICAgICBmaW5lICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiIERldmUgZXNzZXJlIDw9IHNldHRvcmkvdHJhY2NpYSAqIHRyYWNjZS9jaWxpbmRybyAocHJlZGVmaW5pdG8pLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQYXJ0aXppb25lIChhLSVjKTogIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICJBdHRlbnppb25lOiB0cm9wcGUgcGFydGl6aW9uaSAoJWQsIGlsIG1hc3NpbW8gw6ggJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTaW5jcm9uaXp6YXppb25lIGRlaSBkaXNjaGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIlJpY2VyY2EgaW1wb3NzaWJpbGUgc3UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIHNjcml2ZXJlIHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmF0YWwgZXJyb3IiCisjfiBtc2dzdHIgIkVycm9yZSBpcnJldmVyc2liaWxlXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiQXppb25lIGNvbWFuZG8iCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIlNpIGRldm9ubyBpbXBvc3RhcmUiCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAidGVzdGluZSIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgZSAiCisKKyN+IG1zZ2lkICJVc2luZyBkZWZhdWx0IHZhbHVlICV1XG4iCisjfiBtc2dzdHIgIlV0aWxpenpvIGRlbCB2YWxvcmUgcHJlZGVmaW5pdG8gJXVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CLCAlbGxkIGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXM6ICVsZCBNQiwgJWxsZCBieXRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlczogJWxkLiVsZCBHQiwgJWxsZCBieXRlXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCB0b3RhbGUgJWxsdSBzZXR0b3JpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBzY3JpdmVyZSBzdWxsJ3VuaXTDoCBkaXNjbyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVycm9yZSBkdXJhbnRlIGxhIGNoaXVzdXJhIGRlbCBmaWxlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBpbXBvc3RhcmUgbCdvZmZzZXQgZGkgc2V0dG9yZSBwZXIgYXNzaWN1cmFyZSBjb21wYXRpYmlsaXTDoCBjb24gRE9TXG4iCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAiTnVvdm8gaWRlbnRpZmljYXRpdm8gZGlzY28gKGNvcnJlbnRlIDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiTm9uIGNpIHNvbm8gc2V0dG9yaSBsaWJlcmkgZGlzcG9uaWJpbGlcbiIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorCisjfiBtc2dpZCAibG9naWNhbD0oJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibG9naWNvPSglZCwgJWQsICVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogaW5pemlvIGRhdGkgZGFubmVnZ2lhdG8gbmVsbGEgcGFydGl6aW9uZSAlZFxuIgorCisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiQWdnaXVudGEgZGkgdW5hIHBhcnRpemlvbmUgcHJpbWFyaWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIG1hbnVhbCBwYWdlIGZvciBhZGRpdGlvbmFsaW5mb3JtYXRpb24uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBVFRFTlpJT05FOiBpbiBjYXNvIGRpIGNyZWF6aW9uZSBvIG1vZGlmaWNhIGRpIHBhcnRpemlvbmkgRE9TIDYueCxcbiIKKyN+ICJjb25zdWx0YXJlIGxhIHBhZ2luYSBkZWwgbWFudWFsZSBmZGlzayBwZXIgdWx0ZXJpb3JpXG4iCisjfiAiaW5mb3JtYXppb25pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUqcyBCb290ICAgICAgU3RhcnQgICAgICAgICBFbmQgICAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBBdnZpbyAgICBJbml6aW8gICAgRmluZSAgIEJsb2NjaGkgICBJZCAgU2lzdGVtYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXM6ICVkIHRlc3RpbmUsICVsbHUgc2V0dG9yaSwgJWQgY2lsaW5kcmlcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RXNpc3RlIHVuJ2V0aWNoZXR0YSBBSVggdmFsaWRhIHN1IHF1ZXN0byBkaXNjby5cbiIKKyN+ICJcdFNmb3J0dW5hdGFtZW50ZSwgaW4gcXVlc3RvIG1vbWVudG8gTGludXggbm9uIMOoIGluIGdyYWRvIGRpIGdlc3RpcmUgcXVlc3RpXG4iCisjfiAiXHRkaXNjaGkuICBDacOyIG5vbm9zdGFudGUgc2VndW9ubyBhbGN1bmlcbiIKKyN+ICJcdGNvbnNpZ2xpOlxuIgorI34gIlx0MS4gZmRpc2sgZWxpbWllcsOgIGlsIHN1byBjb250ZW51dG8gYWxsYSBzY3JpdHR1cmEuXG4iCisjfiAiXHQyLiBBc3NpY3VyYXJzaSBjaGUgcXVlc3RvIGRpc2NvIE5PTiBzaWEgYW5jb3JhXG4iCisjfiAiXHQgICB1bmEgcGFydGUgdml0YWxlIGRlbCBncnVwcG8gZGkgdm9sdW1lIChhbHRyaW1lbnRpIMOoIHBvc3NpYmlsZVxuIgorI34gIlx0ICAgY2hlIHNpIGNhbmNlbGxpbm8gYW5jaGUgZ2xpIGFsdHJpIGRpc2NoaSwgc2Ugbm9uIHNvZ2dldHRpIGEgbWlycm9yaW5nLilcbiIKKyN+ICJcdDMuIFByaW1hIGRpIGVsaW1pbmFyZSBxdWVzdG8gdm9sdW1lIGZpc2ljbyBhc3NpY3VyYXJzaVxuIgorI34gIlx0ICAgZGkgcmltdW92ZXJlIGluIG1hbmllcmEgbG9naWNhIGlsIGRpc2NvIGRhbGxhIG1hY2NoaW5hIEFJWCBcbiIKKyN+ICJcdCAgIChhbHRyaW1lbnRpIHNpIGRpdmllbmUgQUlYcGVydCkuIgorCisjfiBtc2dpZCAiQWNjb3JkaW5nIHRvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHRoZSBMYWJlbCBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiU2Vjb25kbyBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyBsJ2V0aWNoZXR0YSBub24gZGV2ZSBjb250ZW5lcmUgcGnDuSBkaSA1MTIgYnl0ZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVsZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXMgKGRpc2sgbGFiZWwgU0dJKTogJWQgdGVzdGluZSwgJWxsdSBzZXR0b3JpLCAlZCBjaWxpbmRyaVxuIgorI34gIlVuaXTDoCA9ICVzIGRpICVkICogJWQgYnl0ZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBwYXJ0aXppb25pIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgSW5pemlvICAgICAgRmluZSAgU2V0dG9yaSAgSWQgIFNpc3RlbWFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gSW5mb2F2dmlvIC0tLS0tXG4iCisjfiAiRmlsZSBkaSBhdnZpbzogJXNcbiIKKyN+ICItLS0tLSBWb2NpIGRpcmVjdG9yeSAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2V0dG9yZSU1dSBkaW1lbnNpb25lJTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiTmVzc3VuYSBwYXJ0aXppb25lIGRlZmluaXRhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBpcyBvbmx5ICVkIGRpc2tibG9jayBsYXJnZSxcbiIKKyN+ICJidXQgdGhlIGRpc2sgaXMgJWQgZGlza2Jsb2NrcyBsb25nLlxuIgorI34gbXNnc3RyICIiCisjfiAiTGEgcGFydGl6aW9uZSBkZWwgZGlzY28gaW50ZXJvIMOoIHNvbGFtZW50ZSBkaSAlZCBibG9jY2hpLFxuIgorI34gIm1hIGlsIGRpc2NvIMOoIGRpICVkIGJsb2NjaGkuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgbm9uIGluaXppYSBhbCBsaW1pdGUgZGVsIGNpbGluZHJvLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiTGEgcGFydGl6aW9uZSAlZCBub24gdGVybWluYSBhbCBsaW1pdGUgZGVsIGNpbGluZHJvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgJWQgw6ggZ2nDoCBkZWZpbml0YS4gIENhbmNlbGxhcmxhIHByaW1hIGRpIHJpYWdnaXVuZ2VybGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIG5vbiByaXVzY2l0byBzdSAlc1xuIgorCisjfiBtc2dpZCAiSUQ9JTAyeFx0U1RBUlQ9JWRcdExFTkdUSD0lZFxuIgorI34gbXNnc3RyICJJRD0lMDJ4XHRJTklaSU89JWRcdExVTkdIRVpaQT0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiVGVudGF0aXZvIGRpIG1hbnRlbmVyZSBpIHBhcmFtZXRyaSBkZWxsYSBwYXJ0aXppb25lICVkIGluIGNvcnNvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICIlcyBub24gY29udGllbmUgZGlza2xhYmVsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVsbHUgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlcyAoZGlzayBsYWJlbCBkZWxsYSBTdW4pOiAlZCB0ZXN0aW5lLCAlZCBzZXR0b3JpLCAlZCBycG1cbiIKKyN+ICIlZCBjaWxpbmRyaSwgJWQgY2lsaW5kcmkgYWx0ZXJuYXRpdmksICVkIGNpbGluZHJpIGZpc2ljaVxuIgorI34gIiVkIHNldHQuL2NpbC4gc3VwcGxlbWVudGFyaSwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJVbml0w6AgPSAlcyBkaSAlZCAqIDUxMiBieXRlXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlcyAoZXRpY2hldHRhIGRpc2NvIFN1bik6ICVkIHRlc3RpbmUsICVkIHNldHRvcmksICVkIGNpbGluZHJpXG4iCisjfiAiVW5pdMOgID0gJXMgZGkgJWQgKiA1MTIgYnl0ZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEZsYWcgICAgSW5pemlvICAgICAgIEZpbmUgICAgQmxvY2NoaSAgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIGRldmljZVx0IGF0dGl2YSBsYSBwYXJ0aXppb25lIG4sIGRpc2F0dGl2YSBsZSBhbHRyZVxuIgorCisjfiBtc2dpZCAiIgorI34gIkRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZpbmVcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiUGFydGl6aW9uZSBzZWxlemlvbmF0YSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBwcm9ncmFtbWEgW2FyZyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICIoRmlsZSBzdWNjZXNzaXZvOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgZWZmZXR0dWFyZSBpbCBmb3JrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4vY3JlYXRlICVzOiAlbVxuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZhbG9yZSBub24gdmFsaWRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogbW91bnQgbm9uIHJpdXNjaXRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworI34gbXNnaWQgImJ1ZyBpbiB4c3RybmR1cCBjYWxsIgorI34gbXNnc3RyICJidWcgaW4gY2hpYW1hdGEgeHN0cm5kdXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29ubmVjdCAlcyIKKyN+IG1zZ3N0ciAibmZzIGNvbm5lY3QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiZXJyb3JlIHN0cnRvbDogbnVtZXJvIGRpIGJsb2NjaGkgbm9uIHNwZWNpZmljYXRvIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgInVuYSBwYWdpbmEgZGFubmVnZ2lhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgcyAgIHZpc3VhbGl6emF6aW9uZSBkZWwgZGlza2xhYmVsIGNvbXBsZXRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuIgorI34gbXNnc3RyICIlczogZXJyb3JlOiB2ZXJzaW9uZSBzY29ub3NjaXV0YSAlZFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRFc2lzdGUgdW4nZXRpY2hldHRhIEFJWCB2YWxpZGEgc3UgcXVlc3RvIGRpc2NvLlxuIgorI34gIlx0U2ZvcnR1bmF0YW1lbnRlLCBpbiBxdWVzdG8gbW9tZW50byBMaW51eCBub24gw6ggaW4gZ3JhZG8gZGkgZ2VzdGlyZSBxdWVzdGlcbiIKKyN+ICJcdGRpc2NoaS4gIENpw7Igbm9ub3N0YW50ZSBzZWd1b25vIGFsY3VuaVxuIgorI34gIlx0Y29uc2lnbGk6XG4iCisjfiAiXHQxLiBmZGlzayBlbGltaWVyw6AgaWwgc3VvIGNvbnRlbnV0byBhbGxhIHNjcml0dHVyYS5cbiIKKyN+ICJcdDIuIEFzc2ljdXJhcnNpIGNoZSBxdWVzdG8gZGlzY28gTk9OIHNpYSBhbmNvcmFcbiIKKyN+ICJcdCAgIHVuYSBwYXJ0ZSB2aXRhbGUgZGVsIGdydXBwbyBkaSB2b2x1bWUgKGFsdHJpbWVudGkgw6ggcG9zc2liaWxlXG4iCisjfiAiXHQgICBjaGUgc2kgY2FuY2VsbGlubyBhbmNoZSBnbGkgYWx0cmkgZGlzY2hpLCBzZSBub24gc29nZ2V0dGkgYSBtaXJyb3JpbmcuKVxuIgorI34gIlx0My4gUHJpbWEgZGkgZWxpbWluYXJlIHF1ZXN0byB2b2x1bWUgZmlzaWNvIGFzc2ljdXJhcnNpXG4iCisjfiAiXHQgICBkaSByaW11b3ZlcmUgaW4gbWFuaWVyYSBsb2dpY2EgaWwgZGlzY28gZGFsbGEgbWFjY2hpbmEgQUlYIFxuIgorI34gIlx0ICAgKGFsdHJpbWVudGkgc2kgZGl2aWVuZSBBSVhwZXJ0KS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFdGljaGV0dGEgQlNEIHBlciBkaXNwb3NpdGl2bzogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBsYSBwYXJ0aXppb25lICVkIGhhIHRpcG8gdnVvdG9cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkxhIHBhcnRpemlvbmUgJWkgbm9uIHRlcm1pbmEgYWwgbGltaXRlIGRlbCBjaWxpbmRyby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlbGQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiTm90YTogbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSDDqCAlZCAobm9uICVkKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIHRoaXMgY2hlY2suXG4iCisjfiBtc2dzdHIgIlV0aWxpenphcmUgaWwgZmxhZyAtZm9yY2UgcGVyIG9sdHJlcGFzc2FyZSB0dXR0aSBpIGNvbnRyb2xsaS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlYyBmYWxsaXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUSU9DU0NUVFk6IGlvY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAiVElPQ1NDVFRZIG5vbiByaXVzY2l0bzogJW0iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbK2Zvcm1hdG9dIFtnaW9ybm8gbWVzZSBhbm5vXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiR2lvcm5vIGRpIFMuVGliZXJpbyIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbIC1zIHNlZ25hbGUgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzZWduYWxlIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIGFyZ3VtZW50IgorI34gbXNnc3RyICJpZCBub24gdmFsaWRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIm1lbW9yaWEgZXNhdXJpdGEiCisKKyN+IG1zZ2lkICJtb3VudDogYXJndW1lbnQgdG8gLXAgb3IgLS1wYXNzLWZkIG11c3QgYmUgYSBudW1iZXIiCisjfiBtc2dzdHIgIm1vdW50OiBsJ2FyZ29tZW50byBkaSAtcCBvIC0tcGFzcy1mZCBkZXZlIGVzc2VyZSB1biBudW1lcm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3V0aW5nICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlYyBmYWxsaXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIHV0ZW50ZTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAiZGltZW5zaW9uZSBtYXggc2VnIChrYnl0ZSkgPSAlbHVcbiIKKworI34gbXNnaWQgIm1pbiBzZWcgc2l6ZSAoYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgImRpbWVuc2lvbmUgbWluIHNlZyAoYnl0ZSkgPSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBub24gcml1c2NpdG8gIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1zZ2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIG5vbiByaXVzY2l0byAiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNieXRlPSVsZFx0cWJ5dGU9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgZmFpbGVkIHRvIHVzZSBkZXZpY2UiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAibWVtb3JpYSBlc2F1cml0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIHJpYXZ2b2xnZXJlIGlsIGRpc3Bvc2l0aXZvIHN3YXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBub24gw6ggcml1c2NpdG8gYSBsZWdnZXJlIGwnb3JhcmlvIGRhICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2cCBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWMgZmFsbGl0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlYyBmYWxsaXRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xNXMlcyBbdmVyc2lvbiAleF1cbiIKKyN+IG1zZ3N0ciAiJXM6IHZlcnNpb25lICVzXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAidXRlbnRpIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJ0cm9wcGkgaW92IChtb2RpZmljYXJlIGlsIGNvZGljZSBpbiB3YWxsL3R0eW1zZy5jKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgImNvbDogZXJyb3JlIGluIHNjcml0dHVyYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBjb2x1bW4oMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vcmUgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBmaWxlICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZXNlZ3VpcmUgc3RhdCBzdWwgZGlzcG9zaXRpdm8gJXMiCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBmaWxlICclcyciCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSBpbCBmaWxlICclcyciCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW5ub3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIGZvciByZWFkaW5nLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIGluIGxldHR1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgbm9uIHJpdXNjaXRvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIC9kZXYvcG9ydDogJXMiCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiQXBlcnR1cmEgZGkgJXMgbm9uIHJpdXNjaXRhIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXMiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgZmFyZSBzdGF0IGRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgaWwgZmlsZSAnJXMnIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYXByaXJlIFwiJXNcIiBpbiBsZXR0dXJhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHN0YXQgXCIlc1wiIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIG1vc3RyYSBxdWVzdG8gYWl1dG9cbiIKKyN+ICIgLXggZGlyICAgICBlc3RyYWkgbmVsbGEgZGlyZWN0b3J5IGRpclxuIgorI34gIiAtdiAgICAgICAgIHNpaSBwacO5IHByb2xpc3NvXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSBkYSB2ZXJpZmljYXJlXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWxhcnZzbWZdIC9kZXYvbm9tZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBibG9ja3NpemUgYXJndW1lbnQiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJyIKKyN+IG1zZ3N0ciAiJXM6IGVycm9yZTogTm9uIHNpIGNlcmNoZXLDoCBkaSBjcmVhcmUgdW5vIHN3YXBkZXZpY2Ugc3UgJyVzJ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcycgKCVzKVxuIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0IHN1bCBkaXNwb3NpdGl2byAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzd2FwbGFiZWwoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICJMYSBwYXJ0aXppb25lICVpIG5vbiBpbml6aWEgYWwgbGltaXRlIGRlbCBjaWxpbmRybzpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJkb3ZyZWJiZSBlc3NlcmUgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAiZG92cmViYmUgZXNzZXJlICglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiVGhpcyBrZXJuZWwgZmluZHMgdGhlIHNlY3RvciBzaXplIGl0c2VsZiAtIC1iIG9wdGlvbiBpZ25vcmVkXG4iCisjfiBtc2dzdHIgIlF1ZXN0byBrZXJuZWwgdHJvdmEgbGEgZGltZW5zaW9uZSBkZWwgc2V0dG9yZSBpbiBtYW5pZXJhIGluZGlwZW5kZW50ZSAtIC0gb3B6aW9uZSBiIGlnbm9yYXRhXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJtZW1vcmlhIGluc3VmZmljaWVudGU/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmVtYXR1cmUgZW5kIG9mIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IGZpbmUgcHJlbWF0dXJhIGRlbGwnaW5wdXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlcG9jaCIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIlNvbm8gc3RhdGUgc3BlY2lmaWNhdGUgbXVsdGlwbGUgZnVuemlvbmkuXG4iCisjfiAiw4ggcG9zc2liaWxlIGVzZWd1aXJlIHVuYSBzb2xhIGZ1bnppb25lIHBlciB2b2x0YS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIiVzOiBMZSBvcHppb25pIC0tdXRjIGUgLWxvY2FsdGltZSBzaSBlc2NsdWRvbm8gdmljZW5kZXZvbG1lbnRlLiBTb25vIHN0YXRlIHNwZWNpZmljYXRlIGVudHJhbWJlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IExlIG9wemlvbmkgLS1hZGp1c3QgZSAtbm9hZGpmaWxlIHNpIGVzY2x1ZG9ubyB2aWNlbmRldm9sbWVudGUuIFNvbm8gc3RhdGUgc3BlY2lmaWNhdGUgZW50cmFtYmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IExlIG9wemlvbmkgLS1hZGp1c3QgZSAtbm9hZGpmaWxlIHNpIGVzY2x1ZG9ubyB2aWNlbmRldm9sbWVudGUuIFNvbm8gc3RhdGUgc3BlY2lmaWNhdGUgZW50cmFtYmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGltcG9zc2liaWxlIGltcG9zdGFyZSBsJ2lkIGRpIGdydXBwbzogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgIiVzOiBpbCBmaWxlICVzIMOoIG9jY3VwYXRvICglcyBwcmVzZW50ZSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yZSBpbXBvc3RhdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNsYXNzIGRhdGEiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZmFsbG9jYXRlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBzcGVlZCIKKyN+IG1zZ3N0ciAiaWQgbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3JlIGltcG9zdGF0byBub24gdmFsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVmFsb3JlIGltcG9zdGF0byBub24gdmFsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbW91bnRwb2ludCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIFBJRCIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgYXByaXJlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzZWNvbmRzIHZhbHVlIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBhcHJpcmU6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2JsaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiLS1kYXRlIGFyZ29tZW50byB0cm9wcG8gbHVuZ29cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0ZXJtaW5hbCBlbnZpcm9ubWVudCBDT0xVTU5TIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2VtYWZvcmkgYWxsb2NhdGkgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBsZW5ndGggdmFsdWUiCisjfiBtc2dzdHIgImhleGR1bXA6IHZhbG9yZSBsdW5naGV6emEgbm9uIHZhbGlkby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgc2tpcCB2YWx1ZSIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogdmFsb3JlIHNraXAgbm9uIHZhbGlkby5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBVc286ICVzIFstbnVtZXJvXSBbLXAgc3RyaW5nYV0gWy1jZWZucnNdIFsrcmlnYV0gWysvbW9kZWxsby9dIFtmaWxlXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAlZDogcGFyc2UgZXJyb3IgLS0gbGluZSBpZ25vcmVkLlxuIgorI34gbXNnc3RyICJlcnJvcmUgZGkgcG9zaXppb25hbWVudG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHBhcnNlICVzIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgYXByaXJlOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMjVzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImZvcmsgbm9uIHJpdXNjaXRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZFxuIgorI34gbXNnc3RyICIlcyBub24gcml1c2NpdG8uXG4iCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIGVsaW1pbmFuYXppb25lIGRpIHVuYSBwYXJ0aXppb25lIEJTRCIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIGFnZ2l1bnRhIGRpIHVuYSBudW92YSBwYXJ0aXppb25lIEJTRCIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAgbW9kaWZpY2EgZGVsbCdpZCBkZWwgZmlsZXN5c3RlbSBkaSB1bmEgcGFydGl6aW9uZSIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgYyAgIGNhbWJpYSB1bml0w6AgKGNpbGluZHJpL3NldHRvcmkpIgorCisjfiBtc2dpZCAiICAgcCAgIHByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgIHAgICBzdGFtcGEgZGVsbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC5cbiIKKyN+ICJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisjfiAiQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXMgY29udGVudCB3b24ndCBiZSByZWNvdmVyYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNyZWF6aW9uZSBkaSB1bmEgbnVvdmEgZGlza2xhYmVsIERPUy4gTGUgbW9kaWZpY2hlIHJpbWFycmFubm8gbWVtb3JpenphdGVcbiIKKyN+ICJzb2xhbWVudGUgZmlubyBhIHF1YW5kbyBzaSBkZWNpZGUgZGkgc2NyaXZlcmxlLiBEb3BvZGljaMOpLCBvdnZpYW1lbnRlLCBpbFxuIgorI34gImNvbnRlbnV0byBwcmVjZWRlbnRlIG5vbiBwb3Ryw6AgZXNzZXJlIHJlY3VwZXJhdG8uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgY29udGFpbnMgbmVpdGhlciBhIHZhbGlkIERPUyBwYXJ0aXRpb24gdGFibGUsIG5vciBTdW4sIFNHSSBvciBPU0YgZGlza2xhYmVsXG4iCisjfiBtc2dzdHIgIklsIGRpc3Bvc2l0aXZvIG5vbiBjb250aWVuZSBuw6kgdW5hIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaSBET1MgdmFsaWRhLCBuw6kgdW5hIGRpc2tsYWJlbCBTdW4sIFNHSSBvZCBPU0ZcbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIkVycm9yZSBpbnRlcm5vXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRTb3JyeSwgbm8gZXhwZXJ0cyBtZW51IGZvciBTR0kgcGFydGl0aW9uIHRhYmxlcyBhdmFpbGFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdG5lc3N1biBtZW51IHBlciBlc3BlcnRpIGRpc3BvbmliaWxlIHBlciBsZSB0YWJlbGxlIGRlbGxlIHBhcnRpemlvbmkgU0dJLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiU2kgc2EgY2hlIHN1bCBkaXNjbyBlc2lzdGUgdW5hIHNvdnJhcHBvc2l6aW9uZSBkaSBwYXJ0aXppb25pP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDcmVhemlvbmUgZGkgdW5hIG51b3ZhIGRpc2tsYWJlbCBTR0kuIExlIG1vZGlmaWNoZSByaW1hcnJhbm5vIGluIG1lbW9yaWFcbiIKKyN+ICJmaW5vIGEgcXVhbmRvIHNpIGRlY2lkZSBkaSBzY3JpdmVybGUuIERvcG9kaWNow6ksIG92dmlhbWVudGUsIGlsIGNvbnRlbnV0b1xuIgorI34gInByZWNlZGVudGUgc2Fyw6AgZGVmaW5pdGl2YW1lbnRlIHBlcnNvLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJtZW1vcmlhIGluc3VmZmljaWVudGUgLSB0ZXJtaW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAibG9naW46IHBvY2EgbWVtb3JpYSwgw6ggcG9zc2liaWxlIGNoZSBpbCBsb2dpbiBub24gcmllc2NhXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJtYWxsb2MgcGVyIHR0eWNsYXNzIG5vbiBwb3NzaWJpbGUiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgIm1hbGxvYyBwZXIgZ3JwbGlzdCBpbXBvc3NpYmlsZSIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJMb2dpbiBhICVzIGRhICVzIG5lZ2F0by5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1mIGZ1bGwtbmFtZSBdIFsgLW8gb2ZmaWNlIF0gIgorI34gbXNnc3RyICJVc286ICVzIFsgLWYgbm9tZSBpbnRlcm8gXSBbIC1vIHVmZmljaW8gXSIKKworI34gbXNnaWQgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gbXNnc3RyICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKKyN+IG1zZ3N0ciAiY2hzaDogZXJyb3JlIFBBTSwgaW50ZXJydXppb25lIGluIGNvcnNvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXMgc2hlbGxdIFt1c2VybmFtZV1cbiIKKyN+ICIgICBvcjogJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWyAtcyBzaGVsbCBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIG5vbWV1dGVudGUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiDDqCBwb3NzaWJpbGUgbW9kaWZpY2FyZSBzb2xvIGxlIHZvY2kgbG9jYWxpOyB1dGlsaXp6YXJlIGludmVjZSB5cCVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGltcG9zdGFyZSBpbCBjb250ZXN0byBwcmVkZWZpbml0byBwZXIgL2V0Yy9wYXNzd2QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0cHduYW0gZmFpbGVkIgorI34gbXNnc3RyICJyaWNlcmNhIG5vbiByaXVzY2l0YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IHVzYXJlIGwnb3B6aW9uZSAtbCBwZXIgdmVkZXJlIGwnZWxlbmNvXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJVc286IGxvZ2luIFstZnBdIFtub21ldXRlbnRlXVxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiTm9tZSB1dGVudGUgbm9uIHZhbGlkbyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIkxPR0lOICVzIFJJRklVVEFUTyBEQSAlcyBTVSBUVFkgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiTE9HSU4gJXMgUklGSVVUQVRPIFNVIFRUWSAlcyIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJMb2dpbiBub24gY29ycmV0dG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjaGFuZ2UgdGVybWluYWwgb3duZXIgZmFpbGVkIgorI34gbXNnc3RyICJzZW1hZm9yaSBhbGxvY2F0aSA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbHVyZSBmb3JraW5nIgorI34gbXNnc3RyICJsb2dpbjogZXJyb3JlIGluIGVzZWN1emlvbmUgZGVsIGZvcms6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiTk9NRSB0cm9wcG8gbHVuZ28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAiaWwgbm9tZSBkaSBsb2dpbiDDqCB0cm9wcG8gbHVuZ28uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgIkkgbm9taSBkaSBsb2dpbiBub24gcG9zc29ubyBpbml6aWFyZSBjb24nLScuXG4iCisKKyN+IG1zZ2lkICJFWENFU1NJVkUgbGluZWZlZWRzIgorI34gbXNnc3RyICJMaW5lZmVlZCBFQ0NFU1NJVkkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgYmFyZSBsaW5lZmVlZHMuIgorI34gbXNnc3RyICJ0cm9wcGkgbGluZWZlZWQgdnVvdGkuXG4iCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIEZST00gJXMsICVzIgorI34gbXNnc3RyICJFUlJPUkUgREkgTE9HSU4gREEgJXMsICVzIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIkVSUk9SRSBESSBMT0dJTiBTVSAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgRVJST1JJIERJIExPR0lOIERBICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgRVJST1JJIERJIExPR0lOIFNVICVzLCAlcyIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogaWwgZmlsZSBkaSBncnVwcG8gw6ggb2NjdXBhdG8uXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgdW5sb2NrICVzOiAlcyAoeW91ciBjaGFuZ2VzIGFyZSBzdGlsbCBpbiAlcylcbiIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIHNibG9jY2FyZSAlczogJXMgKGxlIG1vZGlmaWNoZSBlZmZldHR1YXRlIHNvbm8gYW5jb3JhIGluICVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBub24gcml1c2NpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiSWwgZGlzY28gJXMgbm9uIGNvbnRpZW5lIHVuYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmkgdmFsaWRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCIKKyN+IG1zZ3N0ciAib3BlbnB0eSBub24gcml1c2NpdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlczogbCd1dGVudGUgXCIlc1wiIG5vbiBlc2lzdGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgaW5mb3JtYXppb25pIHN1bCBkZXZpY2UgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIG9mZnNldCAlZCIKKworI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIiwgdGlwbyBkaSBjaWZyYXR1cmEgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgaW5mb3JtYXppb25pIHN1bCBkZXZpY2UgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBvcGVuIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogaW1wb3NzaWJpbGUgYXByaXJlIGlsIGRldmljZSAlczogJXNcbiIKKworIyBGSVhNRTogbG9vcCBkZXZpY2UKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IGltcG9zc2liaWxlIHRyb3ZhcmUgcXVhbHNpYXNpIGxvb3AgZGV2aWNlLiBGb3JzZSBxdWVzdG8ga2VybmVsXG4iCisjfiAiICAgICAgIG5vbiDDqCBhIGNvbm9zY2VuemEgZGVsIGxvb3AgZGV2aWNlIChzZSDDqCBxdWVzdG8gaWwgY2FzbyxcbiIKKyN+ICIgICAgICAgb2Njb3JyZSByaWNvbXBpbGFyZSBvIGVzZWd1aXJlIFwibW9kcHJvYmUgbG9vcFwiKS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIk1lbW9yaWEgaW5zdWZmaWNpZW50ZSBxdWFuZG8gc2kgYW1wbGlhIGlsIGJ1ZmZlci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJJbCBzZXR0b3JlICVkIMOoIGdpw6AgYWxsb2NhdG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIMOoIHByb3RldHRvIGRhIHNjcml0dHVyYSwgdmllbmUgbW9udGF0byBpbiBzb2xhIGxldHR1cmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJzZXRfbG9vcCglcywlcywlbGx1KTogcml1c2NpdG9cbiIKKworI34gbXNnaWQgImRlbF9sb29wKCVzKTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJkZWxfbG9vcCglcyk6IHJpdXNjaXRvXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBpbXBvc3NpYmlsZSBlbGltaW5hcmUgaWwgZGV2aWNlICVzOiAlc1xuIgorCisjfiBtc2dpZCAiVGhpcyBtb3VudCB3YXMgY29tcGlsZWQgd2l0aG91dCBsb29wIHN1cHBvcnQuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIlF1ZXN0byBtb3VudCDDqCBzdGF0byBjb21waWxhdG8gc2VuemEgc3VwcG9ydG8gcGVyIGxvb3AuIFJpY29tcGlsYXJlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHZhbHVlXXxbLVMgdmFsdWVdKSAoWy10IHZhbHVlXXxbLVQgdmFsdWVdKSBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstcSBbLWkgaW50ZXJ2YWxsb11dIChbLXMgdmFsb3JlXXxbLVMgdmFsb3JlXSkgKFstdCB2YWxvcmVdfFstVCB2YWxvcmVdXG4iCisjfiAiICAgICAgICBbLWd8LUddIGZpbGUgW2ZpbGUuLi5dXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZhbG9yZSBub24gdmFsaWRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJmb3JrIG5vbiByaXVzY2l0b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgaXBjbWsoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pIHZlZGVyZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgInVzbyBkZXByZWNhdG86ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGtleSIKKyN+IG1zZ3N0ciAiZXJyb3JlIHNjb25vc2NpdXRvIG5lbGxhIGNoaWF2ZSIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgImVycm9yZSBzY29ub3NjaXV0aSBpbiBpZCIKKworI34gbXNnaWQgIiVzOiAlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGRhdHRhY2ggZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBkYSAlc1xuIgorCisjIE5kVDogdHJhZHV6aW9uZSBzZWd1ZW5kbyAnbWFuIHJlYWRwcm9maWxlJworIyBGSVhNRQorI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBVc286IFwiJXMgW29wemlvbmldXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAocHJlZGVmaW5pdGk6IFwiJXNcIiBlXG4iCisjfiAiXHRcdFx0XHQgICAgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvZmlsbz4gIChwcmVkZWZpbml0bzogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgaW1wb3N0YSBsYSBmcmVxdWVuemEgZGVsIHByb2ZpbGluZyBhIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgc3RhbXBhIHNvbG8gbGUgaW5mb3JtYXppb25pIHN1bCBwYXNzbyBkaSBjYW1waW9uYW1lbnRvXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBzdGFtcGEgaSBkYXRpIGluIGVsZW5jb1xuIgorI34gIlx0IC1hICAgICAgICAgICAgc3RhbXBhIHR1dHRpIGkgc2ltYm9saSwgYW5jaGUgc2UgaWwgY29udGVnZ2lvIMOoIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHN0YW1wYSBpc3RvZ3JhbW1pIGluZGl2aWR1YWxpXG4iCisjfiAiXHQgLXMgICAgICAgICAgICBzdGFtcGEgY29udGF0b3JpIGluZGl2aWR1YWxpIG5lbGxlIGZ1bnppb25pXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZWltcG9zdGEgdHV0dGkgaSBjb250YXRvcmkgKHNvbGFtZW50ZSB1dGVudGUgcm9vdClcbiIKKyN+ICIgICAgICAgICAtbiAgICAgICAgICAgIGRpc2FiaWxpdGEgbGEgcmlsZXZhemlvbmUgYXV0b21hdGljYSBkZWwgYnl0ZSBvcmRlclxuIgorI34gIlx0IC1WICAgICAgICAgICAgc3RhbXBhIGxhIHZlcnNpb25lIGVkIGVzY2VcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm9yZSBkdXJhbnRlIGxhIHNjcml0dHVyYSBkaSAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBydGN3YWtlKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc2V0YXJjaCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBlciBtYWdnaW9yaSBpbmZvcm1hemlvbmkgdmVkZXJlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6ICVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVzXG4iCisjfiAiUHJvdmFyZSBcIiVzIC0taGVscFwiIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgcHJvZ3JhbW1hIFthcmcgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IHZhbG9yZSBub24gdmFsaWRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB1bnNoYXJlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGVyIG1hZ2dpb3JpIGluZm9ybWF6aW9uaSB2ZWRlcmUgc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjbG9zaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFcnJvcmUgZHVyYW50ZSBsYSBjaGl1c3VyYSBkZWwgZmlsZVxuIgorCisjfiBtc2dpZCAiU29ycnkgWW91IG1heSBjaGFuZ2UgdGhlIFRhZyBvZiBub24tZW1wdHkgcGFydGl0aW9ucy5cbiIKKyN+IG1zZ3N0ciAiw4ggcG9zc2liaWxlIG1vZGlmaWNhcmUgc29sYW1lbnRlIGlsIHRhZyBkZWxsZSBwYXJ0aXppb25pIG5vbiB2dW90ZS5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyAiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IGxhIHBhcnRpemlvbmUgJXMgIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyAiCisjfiBtc2dzdHIgIkF0dGVuemlvbmU6IGxlIHBhcnRpemlvbmkgJXMgIgorCisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAiZSAlcyBzaSBzb3ZyYXBwb25nb25vXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRldmljZSBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYVxuIgorI34gbXNnc3RyICJkaXNwb3NpdGl2bzogcXVhbGNvc2EgY29tZSAvZGV2L2hkYSBvIC9kZXYvc2RhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29wemlvbmldIGRpc3Bvc2l0aXZvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtvcHppb25pXSBkaXNwb3NpdGl2by4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2VnbmFsZSBdXG4iCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtkaXNwb3NpdGl2aV1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBjb21hbmRpIGRpc3Bvc2l0aXZpXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZSAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiVXNvOiAgJXMgWyAtbiBdIGRpc3Bvc2l0aXZvXG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2Mgbm9uIHJpdXNjaXRhIgorCisjfiBtc2dpZCAiJXM6IG9wdGlvbiBwYXJzZSBlcnJvclxuIgorI34gbXNnc3RyICIlczogZXJyb3JlIGRpIGNvbXByZW5zaW9uZSBkZWxsJ29wemlvbmVcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJVc286ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAlcyBbLXZdIFstTiBuLWRpLWlub2RlXSBbLVYgbm9tZS12b2x1bWVdXG4iCisjfiAiICAgICAgICBbLUYgbm9tZS1maWxlc3N5c3RlbV0gZGlzcG9zaXRpdm8gW251bWVyby1ibG9jY2hpXVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGZhcmUgc3RhdCBkaSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbGEgZGltZW5zaW9uZSBkaSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBsYWJlbF0gWy1VIFVVSURdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICJVc286ICVzIFstY10gWy12MHwtdjFdIFstcERJTVBBR0lOQV0gWy1MIGV0aWNoZXR0YV0gL2Rldi9ub21lIFtibG9jY2hpXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiVXNvOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIk1lbnUgc2VuemEgZGlyZXppb25lLiDDiCBwcmVkZWZpbml0YSBxdWVsbGEgb3JpenpvbnRhbGUuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkF6aW9uZSBjb21hbmRvXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcGFydGl6aW9uZSBwcmltYXJpYSAoMS00KVxuIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFtvIC0tc2hvdy1zaXplXTogZWxlbmNvIGRpbWVuc2lvbmkgZGkgdW5hIHBhcnRpemlvbmUiCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAgIC1kIFtvIC0tZHVtcF06ICAgICAgaWRlbSwgbWEgaW4gdW4gZm9ybWF0byBhZGF0dG8gcGVyIHVuIHN1Y2Nlc3Npdm8gaW5wdXQiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFtvIC0taW5jcmVtZW50XTogbnVtZXJvIGRlaSBjaWxpbmRyaSBlY2MuIHBhcnRlbmRvIGRhIDEgaW52ZWNlIGNoZSBkYSAwIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNjZXR0YS9yaXBvcnRhIGluIHVuaXTDoCBkaSBzZXR0b3JpL2Jsb2NjaGkvY2lsaW5kcmkvTUIiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EIFtvIC0tRE9TXTogICAgICAgcGVyIGxhIGNvbXBhdGliaWxpdMOgIGNvbiBET1M6IHNwcmVjYSB1biBwbycgZGkgc3BhemlvIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbbyAtLXJlLXJlYWRdOiAgIGZhIHJpbGVnZ2VyZSBhbCBrZXJuZWwgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pIgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyBmaWxlIDogICAgICAgICAgICBzYWx2YSBzdWwgZmlsZSBpIHNldHRvcmkgY2hlIHZlcnJhbm5vIHNvdnJhc2NyaXR0aSIKKworI34gbXNnaWQgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByZXN0b3JlIHRoZXNlIHNlY3RvcnMgYWdhaW4iCisjfiBtc2dzdHIgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByaXByaXN0aW5hIHF1ZXN0aSBzZXR0b3JpIG51b3ZhbWVudGUiCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12IFtvIC0tdmVyc2lvbl06ICAgc3RhbXBhIHZlcnNpb25lIgorCisjfiBtc2dpZCAiICAgIC0/IFtvciAtLWhlbHBdOiAgICAgIHByaW50IHRoaXMgbWVzc2FnZSIKKyN+IG1zZ3N0ciAiICAgIC0/IFtvIC0taGVscF06ICAgICBzdGFtcGEgcXVlc3RvIG1lc3NhZ2dpbyIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgW28gLS1zaG93LWdlb21ldHJ5XTogc3RhbXBhIGwnaWRlYSBkZWwga2VybmVsIHJpZ3VhcmRvIGFsbGEgZ2VvbWV0cmlhIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAgIC1MICBbbyAtLUxpbnV4XTogICAgICBub24gc2VnbmFsYSBsZSBjb3NlIGlycmlsZXZhbnRpIHBlciBMaW51eCIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIiAgICDDiCBwb3NzaWJpbGUgbm9uIHVzYXJlIGxhIGdlb21ldHJpYSByaWxldmF0YSB1dGlsaXp6YW5kbzoiCisKKyN+IG1zZ2lkICIgICAgLWYgIFtvciAtLWZvcmNlXTogICAgICBkbyB3aGF0IEkgc2F5LCBldmVuIGlmIGl0IGlzIHN0dXBpZCIKKyN+IG1zZ3N0ciAiICAgIC1mICBbbyAtLWZvcmNlXTogICAgICBmYSBjacOyIGNoZSBkaWNvLCBhbmNoZSBzZSDDqCBzdHVwaWRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJtb3VudDogc2kgZGV2ZSBzcGVjaWZpY2FyZSBpbCB0aXBvIGRpIGZpbGVzeXN0ZW0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogbWtmcyBbLVZdIFstdCB0aXBvZnNdIFtvcHppb25pLWZzXSBkaXNwb3NpdGl2byBbZGltZW5zaW9uZV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhcHJpcmUgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGRhICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFVuYWJsZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZzY2tfcGF0aFxuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBpbCBidWZmZXIgcGVyIGdsaSBpbm9kZSIKKworI34gbXNnaWQgIlRyeSBgZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlByb3ZhcmUgY29uIFwiZ2V0b3B0IC0taGVscFwiIHBlciB1bHRlcmlvcmkgaW5mb3JtYXppb25pLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJVc286IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldHJpXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgIGdldG9wdCBbb3B6aW9uaV0gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldHJpXG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKGF2YW56YXRvKSAxLjEuNFxuIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoUHJldmlzdG86IFwiVVRDXCIgbyBcIkxPQ0FMXCIgbyBuaWVudGUuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0gcmljZXJjYSBlIGltcG9zdGF6aW9uZSBkZWwgY2xvY2sgZGkgc2lzdGVtYSAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzbzogaHdjbG9jayBbZnVuemlvbmVdIFtvcHppb25pLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bnppb25pOlxuIgorI34gIiAgLS1oZWxwICAgICAgICBtb3N0cmEgcXVlc3RvIGFpdXRvXG4iCisjfiAiICAtLXNob3cgICAgICAgIGxlZ2dlIGlsIGNsb2NrIGhhcmR3YXJlIGUgc3RhbXBhIGlsIHJpc3VsdGF0b1xuIgorI34gIiAgLS1zZXQgICAgICAgICBpbXBvc3RhIGwncnRjIHJpc3BldHRvIGFsbCdvcmFyaW8gZGF0byBjb24gLS1kYXRlXG4iCisjfiAiICAtLWhjdG9zeXMgICAgIGltcG9zdGEgbCdvcmEgZGVsIHNpc3RlbWEgZGFsIGNsb2NrIGhhcmR3YXJlXG4iCisjfiAiICAtLXN5c3RvaGMgICAgIGltcG9zdGEgaWwgY2xvY2sgaGFyZHdhcmUgYWxsJ29yYSBjb3JyZW50ZSBkZWwgc2lzdGVtYVxuIgorI34gIiAgLS1hZGp1c3QgICAgICByZWdvbGEgbCdydGMgdGVuZW5kbyBjb250byBkZWxsYSBkZXJpdmEgc2lzdGVtYXRpY2EgZGFsbCd1bHRpbWEgXG4iCisjfiAiICAgICAgICAgICAgICAgIHZvbHRhIGluIGN1aSBpbCBjbG9jayDDqCBzdGF0byBpbXBvc3RhdG8gbyByZWdvbGF0b1xuIgorI34gIiAgLS1nZXRlcG9jaCAgICBzdGFtcGEgaWwgdmFsb3JlIGVwb2NoIGRlbCBjbG9jayBoYXJkd2FyZSBkZWwga2VybmVsXG4iCisjfiAiICAtLXNldGVwb2NoICAgIGltcG9zdGEgaWwgdmFsb3JlIGVwb2NoIGRlbCBjbG9jayBoYXJkd2FyZSBkZWwga2VybmVsIHN1bCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgdmFsb3JlIGRhdG8gY29uIC0tZXBvY2hcbiIKKyN+ICIgIC0tdmVyc2lvbiAgICAgc3RhbXBhIGxhIHZlcnNpb25lIGRpIGh3Y2xvY2sgc3Ugc3RhbmRhcmQgb3V0cHV0XG4iCisjfiAiXG4iCisjfiAiT3B6aW9uaTogXG4iCisjfiAiICAtLXV0YyAgICAgICAgIGlsIGNsb2NrIGhhcmR3YXJlIMOoIGluIG9yYXJpbyB1bml2ZXJzYWxlIGNvb3JkaW5hdG9cbiIKKyN+ICIgIC0tbG9jYWx0aW1lICAgaWwgY2xvY2sgaGFyZHdhcmUgw6ggaW4gb3JhIGxvY2FsZVxuIgorI34gIiAgLS1kaXJlY3Rpc2EgICBhY2Nlc3NvIGRpcmV0dG8gYWwgYnVzIElTQSBpbnZlY2UgZGkgJXNcbiIKKyN+ICIgIC0tYmFkeWVhciAgICAgaWdub3JhIGwnYW5ubyBydGMgcGVyY2jDqSBpbCBiaW9zIMOoIGRhbm5lZ2dpYXRvXG4iCisjfiAiICAtLWRhdGUgICAgICAgIHNwZWNpZmljYSBsJ29yYSBzdWxsYSBxdWFsZSBpbXBvc3RhcmUgaWwgY2xvY2sgaGFyZHdhcmUgXG4iCisjfiAiICAtLWVwb2NoPWFubm8gIHNwZWNpZmljYSBsJ2Fubm8gZGkgaW5pemlvIGRlbCB2YWxvcmUgZXBvY2ggZGVsIGNsb2NrIGhhcmR3YXJlXG4iCisjfiAiICAtLW5vYWRqZmlsZSAgIG5vbiBsZWdnZSAvZXRjL2FkanRpbWU7IHJpY2hpZWRlIGwndXNvIGRpIC0tdXRjIG8gLS1sb2NhbHRpbWVcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICIgbWFsbG9jIGluaXRzdHJpbmcgaW1wb3NzaWJpbGUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtc1V3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmVhIFt0aXBvIHRlcm1pbmFsZV1cbiIKKyN+ICJvXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlIGxpbmVhLC4uLiBbdGlwbyB0ZXJtaW5hbGVdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgIlVzbzogbWVzZyBbcyB8IG5dXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogRVJST1JFIEdSQVZFIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLW5dIFtmaWxlXVxuIgorI34gbXNnc3RyICJVc286ICVzIFtmaWxlXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbid0IHJlYWQ6ICVzIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgbGVnZ2VyZSAlcy5cbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJVc286IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdnaW8gLi4gXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvb2sgWy1kZmFdIFstdCBjaGFyXSBzdHJpbmcgW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlVzbzogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZ2EgW2ZpbGVdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlVzbzogc2NyaXB0IFstYV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICJlcnJvcmUgZGkgc2NyaXR0dXJhIHN1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yOiAlc1xuIgorI34gbXNnc3RyICJlcnJvcmUgZGkgc2NyaXR0dXJhIHN1ICVzXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyBzb2NrZXRwYXRoXSBbLVQgdGltZW91dF1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3V0ZW50ZSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIHNlZ25hbGUgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLXJdIFstdF1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbb3B6aW9uaV0gZGlzcG9zaXRpdm8uLi5cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5vbWUuLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgIlVzbzogd3JpdGUgdXRlbnRlIFt0dHldXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBpbXBvc3NpYmlsZSBhcHJpcmUgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVua25vd25cbiIKKyN+IG1zZ3N0ciAic2Nvbm9zY2l1dG8iCisKKyN+IG1zZ2lkICJVc2FnZTogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrbWluc11cbiIKKyN+IG1zZ3N0ciAiVXNvOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorCisjfiBtc2dpZCAiU2h1dGRvd24gcHJvY2VzcyBhYm9ydGVkIgorI34gbXNnc3RyICJQcm9jZXNzbyBkaSBzcGVnbmltZW50byBpbnRlcnJvdHRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLiIKKyN+IG1zZ3N0ciAiJXM6IHNvbGFtZW50ZSByb290IHB1w7Igc3BlZ25lcmUgdW4gc2lzdGVtYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0aGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj8iCisjfiBtc2dzdHIgIlZlcnLDoCBlZmZldHR1YXRvIGRvbWFuaSwgbm9uIMOoIHBvc3NpYmlsZSBhdHRlbmRlcmUgZmlubyBhZCBhbGxvcmE/XG4iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJwZXIgbWFudXRlbnppb25lOyBib3VuY2UsIGJvdW5jZSIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIklsIHNpc3RlbWEgdmVycsOgIHNwZW50byBlbnRybyA1IG1pbnV0aSIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiw4ggcGVyY2nDsiBwcm9pYml0byBlZmZldHR1YXJlIGlsIGxvZ2luLiIKKworI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAicmlhdnZpYXRvIGRhICVzOiAlcyIKKworI34gbXNnaWQgImhhbHRlZCBieSAlczogJXMiCisjfiBtc2dzdHIgImZlcm1hdG8gZGEgJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQZXJjaMOpIHNvbm8gYW5jb3JhIGF0dGl2byBkb3BvIGlsIHJpYXZ2aW8/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsOIIG9yYSBwb3NzaWJpbGUgdG9nbGllcmUgbCdhbGltZW50YXppb25lIGVsZXR0cmljYS4uLiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICJDaGlhbWF0YSBkZWxsYSBmdW56aW9uYWxpdMOgIGRpIHNwZWduaW1lbnRvIGRlbCBrZXJuZWwuLi5cbiIKKworI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAiRXJyb3JlIGR1cmFudGUgbG8gc3BlZ25pbWVudG9cdCVzXG4iCisKKyN+IG1zZ2lkICJFeGVjdXRpbmcgdGhlIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorI34gbXNnc3RyICJFc2VjdXppb25lIGRlbCBwcm9ncmFtbWEgXCIlc1wiIGluIGNvcnNvLi4uXG4iCisKKyN+IG1zZ2lkICJVUkdFTlQ6IGJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXM6IgorI34gbXNnc3RyICJVUkdFTlRFOiBtZXNzYWdnaW8gYnJvYWRjYXN0IGRhICVzOiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIGhvdXJzICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIklsIHNpc3RlbWEgc2kgc3BlZ25lcsOgIHRyYSAlZCBvcmUgZSAlZCBtaW51dGkiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIGhvdXIgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiSWwgc2lzdGVtYSBzaSBzcGVnbmVyw6AgdHJhIDEgb3JhIGUgJWQgbWludXRpIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgbWludXRlc1xuIgorI34gbXNnc3RyICJJbCBzaXN0ZW1hIHNpIHNwZWduZXLDoCBpbiAlZCBtaW51dGlcbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIklsIHNpc3RlbWEgc2kgc3BlZ25lcsOgIGluIDEgbWludXRvXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiSWwgc2lzdGVtYSBzaSBzcGVnbmVyw6AgSU1NRURJQVRBTUVOVEUhXG4iCisKKyN+IG1zZ2lkICJcdC4uLiAlcyAuLi5cbiIKKyN+IG1zZ3N0ciAiXHQuLi4gJXMgLi4uXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBmYXJlIHVuIGZvcmsgcGVyIHN3YXBvZmYuIFBhemllbnphISIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSBzd2Fwb2ZmLCBzaSBzcGVyYSBjaGUgdW1vdW50IGNlIGxhIGZhY2NpYS4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBmYXJlIHVuIGZvcmsgcGVyIHVtb3VudCwgc2kgcHJvdmEgbWFudWFsbWVudGUuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGVzZWd1aXJlICVzLCBzaSBwcm92YSBhZCB1c2FyZSB1bW91bnQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBlc2VndWlyZSB1bW91bnQsIHRlcm1pbmEgdXRpbGl6em8gZGkgdW1vdW50LiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAiU21vbnRhZ2dpbyBpbiBjb3JzbyBkaSBxdWFsc2lhc2kgZmlsZXN5c3RlbSByaW1hbmVudGUuLi4iCisKKyN+IG1zZ2lkICJzaHV0ZG93bjogQ291bGRuJ3QgdW1vdW50ICVzOiAlc1xuIgorI34gbXNnc3RyICJzaHV0ZG93bjogSW1wb3NzaWJpbGUgc21vbnRhcmUgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIkF2dmlvIGluIG1vZGFsaXTDoCBzaW5nb2xvIHV0ZW50ZS5cbiIKKworI34gbXNnaWQgImV4ZWMgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgImVzZWN1emlvbmUgZGkgdW5hIHNoZWxsIHBlciBzaW5nb2xvIHV0ZW50ZSBub24gcml1c2NpdGFcbiIKKworI34gbXNnaWQgImZvcmsgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgImZvcmsgZGkgdW5hIHNoZWxsIHBlciBzaW5nb2xvIHV0ZW50ZSBub24gcml1c2NpdG9cbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsJ2FwZXJ0dXJhIGRlbCBmaWZvXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJlcnJvcmUgaW1wb3N0YW5kbyBjbG9zZS1vbi1leGVjIHN1IC9kZXYvaW5pdGN0bCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhc3N3b3JkIGVycmF0YS5cbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgImZvcmsgbm9uIHJpdXNjaXRvXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGFwcmlyZSBpbml0dGFiXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJURVJNIG5vbiBkZWZpbml0byBvIGltcG9zc2liaWxlIGVzZWd1aXJlIHN0YXQgc3VsIHR0eVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0b3BwaW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImVycm9yZSBmZXJtYW5kbyBpbCBzZXJ2aXppbyBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJlcnJvcmUgZmVybWFuZG8gaWwgc2Vydml6aW8gXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImVycm9yZSBmZXJtYW5kbyBpbCBzZXJ2aXppbyBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJVc286ICVzIFstY10gWy1uIGxpdmVsbG9dIFstcyBidWZzaXplXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICJBcGVydHVyYSBkaSAlcyBub24gcml1c2NpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBub24gcml1c2NpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAiVXNvOiBjb2wgWy1iZnB4XSBbLWwgbmxpbmVdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtIF0gWyAtMiBdIFsgZmlsZSAuLi4gXVxuIgorI34gbXNnc3RyICJVc286ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL21vZGVsbG9dIG5vbWUxIG5vbWUyIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpbmUgYnVmZmVyXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFsbG9jYXJlIGlsIGJ1ZmZlci5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGltcG9zc2liaWxlIGxlZ2dlcmUgJXMuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBsaW5lYSB0cm9wcG8gbHVuZ2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBub24gcml1c2NpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgIlVzbzogdGFpbGYgZmlsZS1kaS1sb2dcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGFwcmlyZSAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBhbHRyYSBtZW1vcmlhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZ290IEVPRiB0aHJpY2UgLSBleGl0aW5nLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInJpY2V2dXRvIEVPRiB0cmUgdm9sdGUgLSB1c2NpdGEgaW4gY29yc28uLlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IGVycm9yZSBkaSBtYWxsb2MuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogbWVtb3JpYSBlc2F1cml0YVxuIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IG5lc3N1bmEgc2hlbGw6ICVzLlxuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBhdXRvcml6emF6aW9uZSBuZWdhdGEiCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldHVpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXR1aWQiCisKKyN+IG1zZ2lkICIlczogQ2Fubm90IGZvcmtcbiIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGVmZmV0dHVhcmUgaWwgZm9ya1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBsZWdnZXJlICVzLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSBmYXJlIHN0YXQgZGVsIGZpbGUgdGVtcG9yYW5lby5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkIHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgbGVnZ2VyZSBpbCBmaWxlIHRlbXBvcmFuZW8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIHNjcml0dHVyYSBzdSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgImVycm9yZSBkaSBwb3NpemlvbmFtZW50byIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIGUgIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IHV0ZW50ZSBzY29ub3NjaXV0b1xuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IHZhbG9yZSBub24gdmFsaWRvXG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IG9kKDEpIMOoIHN0YXRhIHNvc3RpdHVpdG8gZGEgaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGxhIGNvbXBhdGliaWxpdMOgIGhleGR1bXAoMSkgbm9uIHN1cHBvcnRhIGwnb3B6aW9uZSAtJWMgJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IGNvbnN1bHRhcmUgc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogbWVtb3JpYSBlc2F1cml0YVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgaW50ZXJ2YWwgJXMgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlczogaW50ZXJ2YWxsbyBpbGxlZ2FsZSAlcyBzZWNvbmRpXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHZhbG9yZSB0aW1lX3QgaWxsZWNpdG8gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGV4ZWN1dGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSByaW5vbWluYXJlICVzIGluICVzOiAlc1xuIgorCisjfiBtc2dpZCAicnRjIHJlYWQiCisjfiBtc2dzdHIgInJ0YyBsZXR0byIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAiZXJyb3JlIGRpIG1hbGxvYyIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBjb2x1bW4gWy10eF0gWy1jIGNvbG9ubmVdIFtmaWxlIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk1lbW9yaWEgZXNhdXJpdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnNwYWNlIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSBhbGxvY2FyZSBsbyBzcGF6aW8gYnVmZmVyXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiByZXYgW2ZpbGUgLi4uXVxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiSW1wb3NzaWJpbGUgYWxsb2NhcmUgaWwgYnVmZmVyLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGVuIGdyb3dpbmcgYnVmZmVyLlxuIgorI34gbXNnc3RyICJNZW1vcmlhIGluc3VmZmljaWVudGUgcXVhbmRvIHNpIGFtcGxpYSBpbCBidWZmZXIuXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKKyN+IG1zZ3N0ciAiJXM6IG9wemlvbmUgaWxsZWdhbGUgLS0gJWNcbiIKKworI34gbXNnaWQgInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorI34gbXNnc3RyICJzZWdtZW50aSBhbGxvY2F0aSAlZFxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICJwYWdpbmUgYWxsb2NhdGUgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgInBhZ2luZSByZXNpZGVudGkgICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJQcmVzdGF6aW9uZSBzd2FwOiAlbGQgdGVudGF0aXZpXHQgJWxkIHJpdXNjaXRpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBwcm9ncmFtbWU6IFwiJXNcIlxuIgorI34gbXNnc3RyICJFc2VjdXppb25lIGRlbCBwcm9ncmFtbWEgXCIlc1wiIGluIGNvcnNvLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyB2YWx1ZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yZSBpbXBvc3RhdG8gbm9uIHZhbGlkbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjdXJyZW50IgorI34gbXNnc3RyICJuY291bnQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibmV3IgorI34gbXNnc3RyICJOdW92YSIKKworI34gbXNnaWQgIkxpbnV4IGV4dDIiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDIiCisKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQzIgorCisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IEpGUyIKKworI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBSZWlzZXJGUyIKKworI34gbXNnaWQgIk9TLzIgSFBGUyIKKyN+IG1zZ3N0ciAiT1MvMiBIUEZTIgorCisjfiBtc2dpZCAiT1MvMiBJRlMiCisjfiBtc2dzdHIgIk9TLzIgSUZTIgorCisjfiBtc2dpZCAiTlRGUyIKKyN+IG1zZ3N0ciAiTlRGUyIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBDaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgTGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBHaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIiAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgIEdpdmUgZmRpc2sgdmVyc2lvblxuIgorI34gIkhlcmUgRElTSyBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYiBvciAvZGV2L3NkYVxuIgorI34gImFuZCBQQVJUSVRJT04gaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGdpdmUgU3RhcnQgYW5kIEVuZCBpbiBzZWN0b3IgKGluc3RlYWQgb2YgY3lsaW5kZXIpIHVuaXRzXG4iCisjfiAiLWIgMjA0ODogKGZvciBjZXJ0YWluIE1PIGRpc2tzKSB1c2UgMjA0OC1ieXRlIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogIGZkaXNrIFstYiBTU1pdIFstdV0gRElTQ08gICAgIE1vZGlmaWNhIGxhIHRhYmVsbGEgZGVsbGUgcGFydGl6aW9uaVxuIgorI34gIiAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTQ08gIEVsZW5jYSBsYSB0YWJlbGxhIGRlbGxlIHBhcnRpemlvbmlcbiIKKyN+ICIgICAgICBmZGlzayAtcyBQQVJUSVpJT05FICAgICAgICAgICBNb3N0cmEgbGEgZGltZW5zaW9uZSBkZWxsYSBwYXJ0aXppb25lXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gYmxvY2NoaVxuIgorI34gIiAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgIE1vc3RyYSBsYSB2ZXJzaW9uZSBkaSBmZGlza1xuIgorI34gIkluIHF1ZXN0byBjYXNvIERJU0NPIMOoIHF1YWxjb3NhIGNvbWUgL2Rldi9oZGIgbyAvZGV2L3NkYVxuIgorI34gImUgUEFSVElaSU9ORSDDqCBxdWFsY29zYSBjb21lIC9kZXYvaGRhN1xuIgorI34gIi11OiBpbmRpY2EgSW5pemlvIGUgRmluZSBpbiBudW1lcm8gZGkgc2V0dG9yaSAoaW52ZWNlIGNoZSBpbiBjaWxpbmRyaSlcbiIKKyN+ICItYiAyMDQ4OiAocGVyIGFsY3VuZSB1bml0w6AgTU8pIHVzYSBzZXR0b3JpIGEgMjA0OCBieXRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkaXNwb3NpdGl2b1xuIgorI34gIlBlciBlcy46IGZkaXNrIC9kZXYvaGRhICAocGVyIGlsIHByaW1vIGRpc2NvIElERSlcbiIKKyN+ICIgIG86IGZkaXNrIC9kZXYvc2RjICAocGVyIGlsIHRlcnpvIGRpc2NvIFNDU0kpXG4iCisjfiAiICBvOiBmZGlzayAvZGV2L2VkYSAgKHBlciBsYSBwcmltYSB1bml0w6AgUFMvMiBFU0RJKVxuIgorI34gIiAgbzogZmRpc2sgL2Rldi9yZC9jMGQwICBvOiBmZGlzayAvZGV2L2lkYS9jMGQwICAocGVyIGkgZGlzcG9zaXRpdmkgUkFJRClcbiIKKyN+ICIgIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuZXNzdW4gJXMgdHJvdmF0byAtIGNyZWF6aW9uZSBpbiBjb3Jzby4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgInVzbyA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKworI34gbXNnaWQgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorI34gbXNnc3RyICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKworI34gbXNnaWQgIlx0JXMgLWggZm9yIGhlbHAuXG4iCisjfiBtc2dzdHIgIlx0JXMgLWggcGVyIHJpY2hpYW1hcmUgbGEgZ3VpZGEuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2UgU3BlY2lmaWNhdGlvbjpcbiIKKyN+ICJcdC1tIDogc2hhcmVkX21lbVxuIgorI34gIlx0LXEgOiBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiU3BlY2lmaWNhIHJpc29yc2E6XG4iCisjfiAiXHQtbSA6IHNoYXJlZF9tZW0gKG1lbV9jb25kaXYpXG4iCisjfiAiXHQtcSA6IG1lc3NhZ2dpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtcyA6IHNlbWFwaG9yZXNcbiIKKyN+ICJcdC1hIDogYWxsIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtcyA6IHNlbWFmb3JpXG4iCisjfiAiXHQtYSA6IHR1dHRpIChwcmVkZWZpbml0bylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgRm9ybWF0OlxuIgorI34gIlx0LXQgOiB0aW1lXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBjcmVhdG9yXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGb3JtYXRvIG91dHB1dDpcbiIKKyN+ICJcdC10IDogdGVtcG9cbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtbCA6IGxpbWl0c1xuIgorI34gIlx0LXUgOiBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1sIDogbGltaXRpXG4iCisjfiAiXHQtdSA6IHNvbW1hcmlvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgcGFyc2U6ICVzIgorI34gbXNnc3RyICJlcnJvcmUgZHVyYW50ZSBsYSBsZXR0dXJhIGRpICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmRldiBbIC1ydiBdIFsgLW8gT0ZGU0VUIF0gWyBJTUFHRSBbIFZBTFVFIFsgT0ZGU0VUIF0gXSBdIgorI34gbXNnc3RyICJVc286IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1NQUdJTkUgWyBWQUxPUkUgWyBPRkZTRVQgXSBdIF0iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgIChvciByZGV2IC9saW51eCwgZXRjLikgZGlzcGxheXMgdGhlIGN1cnJlbnQgUk9PVCBkZXZpY2UiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAgKG8gcmRldiAvbGludXgsIGVDYy4pIHZpc3VhbGl6emEgaWwgUk9PVCBkZXZpY2UgY29ycmVudGUiCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgc2V0cyBST09UIHRvIC9kZXYvaGRhMiIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIGltcG9zdGEgUk9PVCBzdSAvZGV2L2hkYTIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBST09URkxBR1MgKHJlYWRvbmx5IHN0YXR1cykiCisjfiBtc2dzdHIgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgIGltcG9zdGEgaSBST09URkxBR1MgKHN0YXRvIHNvbGEgbGV0dHVyYSkiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBpbXBvc3RhIGxhIGRpbWVuc2lvbmUgZGVsIFJBTURJU0siCisKKyN+IG1zZ2lkICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBib290dXAgVklERU9NT0RFIgorI34gbXNnc3RyICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICBpbXBvc3RhIFZJREVPTU9ERSBhbGwnYXZ2aW8iCisKKyN+IG1zZ2lkICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAgdXNlIHRoZSBieXRlIG9mZnNldCBOIgorI34gbXNnc3RyICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAgdXRpbGl6emEgYnl0ZSBvZmZzZXQgTiIKKworI34gbXNnaWQgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLVIiCisjfiBtc2dzdHIgIiByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIGNvbWUgcmRldiAtUiIKKworI34gbXNnaWQgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXIiCisjfiBtc2dzdHIgIiByYW1zaXplIC4uLiAgICAgICAgICAgICAgICAgICAgIGNvbWUgcmRldiAtciIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiB2aWRtb2RlIC4uLiAgICAgICAgICAgICAgICAgICAgIGNvbWUgcmRldiAtdiIKKworI34gbXNnaWQgIk5vdGU6IHZpZGVvIG1vZGVzIGFyZTogLTM9QXNrLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWtleTEsIDI9a2V5MiwuLi4iCisjfiBtc2dzdHIgIk5vdGE6IGxlIG1vZGFsaXTDoCBhIHZpZGVvIHNvbm86IC0zPUFzaywgLTI9RXh0ZW5kZWQsIC0xPU5vcm1hbFZnYSwgMT1rZXkxLCAyPWtleTIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgdXRpbGl6emEgLVIgMSBwZXIgbW9udGFyZSBsYSByb290IHJlYWRvbmx5LCAtUiAwIHBlciBsZXR0dXJhL3Njcml0dHVyYS4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJ2aXJnb2xhIG1hbmNhbnRlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJ1bml0OiBzZWN0b3JzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgInNldHRvcmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIHN0YXJ0PSU5bHUiCisjfiBtc2dzdHIgImluaXppbyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsIGJvb3RhYmxlIgorI34gbXNnc3RyICJBSVggYXZ2aWFiaWxlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNsb2NrIGluIFVUQywgbm90IGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIlNoZWxsIG5vbiBtb2RpZmljYXRhLlxuIgorCisjfiBtc2dpZCAiZmF0YWw6IGZpcnN0IHBhZ2UgdW5yZWFkYWJsZSIKKyN+IG1zZ3N0ciAiZXJyb3JlIGlycmV2ZXJzaWJpbGU6IGltcG9zc2liaWxlIGxlZ2dlcmUgbGEgcHJpbWEgcGFnaW5hIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBJbCBkaXNwb3NpdGl2byAnJXMnIGNvbnRpZW5lIHVuYSBkaXNrbGFiZWwgU3VuIHZhbGlkYS5cbiIKKyN+ICJRdWVzdG8gcHJvYmFiaWxtZW50ZSBzaWduaWZpY2EgY2hlIGxhIGNyZWF6aW9uZSBkaSB1bm8gc3dhcCB2MCBlbGltaW5lcmViYmUgbGEgdGFiZWxsYSBkZWxsZSBwYXJ0aXppb25pXG4iCisjfiAiTmVzc3VubyBzd2FwIGNyZWF0by4gU2Ugc2kgZGVzaWRlcmEgY3JlYXJlIHVubyBzd2FwIHYwIHN1IHF1ZWwgZGlzcG9zaXRpdm8sXG4iCisjfiAidXRpbGl6emFyZSBsJ29wemlvbmUgLWYgcGVyIGZvcnphcmUgbCdvcGVyYXppb25lLlxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laTogaW1wb3NzaWJpbGUgZXNlZ3VpcmUgY2hkaXIgc3UgZGlyZWN0b3J5IHJvb3QhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IGltcG9zc2liaWxlIGVzZWd1aXJlIHN0YXQgZGVsbGEgZGlyZWN0b3J5IHJvb3QhXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gaW1wb3NzaWJpbGUgZXNlZ3VpcmUgY2hkaXIgaW4gJXMgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgPyBwcm9ibGVtcyByZWFkaW5nIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/IHByb2JsZW1pIG5lbGxhIGxldHR1cmEgZGVsIGNvbGxlZ2FtZW50byBzaW1ib2xpY28gJXMgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgICoqKiBFWENFRURFRCBVTklYIExJTUlUIE9GIFNZTUxJTktTICoqKlxuIgorI34gbXNnc3RyICIgICoqKiBTVVBFUkFUTyBJTCBMSU1JVEUgVU5JWCBESSBDT0xMRUdBTUVOVEkgU0lNQk9MSUNJICoqKlxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVua25vd24gZmlsZSB0eXBlIDAlMDZvIG9uIGZpbGUgJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHRpcG8gZmlsZSBzY29ub3NjaXV0byAwJTA2byBzdSBmaWxlICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHZlcnLDoCBtb250YXRvIGluIGJhc2UgYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBnb2luZyB0byBtb3VudCAlcyBieSBwYXRoXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyB2ZXJyw6AgbW9udGF0byBpbiBiYXNlIGFsbCdldGljaGV0dGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd2FpdHBpZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGltcG9zc2liaWxlIGFwcmlyZTogJXNcbiIKKworI34gbXNnaWQgImNvdWxkIG5vdCB1bW91bnQgJXMgLSB0cnlpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSB1bW91bnQgZGkgJXMgLSBhbCBzdW8gcG9zdG8gw6ggaW4gY29yc28gdW4gdGVudGF0aXZvIGNvbiAlc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKworI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAiY2hpYW1hdGEgYSBvcGVuX3R0eSBpbiBjb3Jzb1xuIgorCisjfiBtc2dpZCAiY2FsbGluZyB0ZXJtaW9faW5pdFxuIgorI34gbXNnc3RyICJjaGlhbWF0YSBhIHRlcm1pb19pbml0IGluIGNvcnNvXG4iCisKKyN+IG1zZ2lkICJ3cml0aW5nIGluaXQgc3RyaW5nXG4iCisjfiBtc2dzdHIgInNjcml0dHVyYSBpbml0IHN0cmluZyBpbiBjb3Jzb1xuIgorCisjfiBtc2dpZCAiYmVmb3JlIGF1dG9iYXVkXG4iCisjfiBtc2dzdHIgInByaW1hIGRpIGF1dG9iYXVkXG4iCisKKyN+IG1zZ2lkICJ3YWl0aW5nIGZvciBjci1sZlxuIgorI34gbXNnc3RyICJpbiBhdHRlc2EgZGkgY3ItbGZcbiIKKworI34gbXNnaWQgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorI34gbXNnc3RyICJsZXR0dXJhIGRlbCBub21lIGRpIGxvZ2luXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJhZnRlciBnZXRvcHQgbG9vcFxuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZWFyZ3NcbiIKKyN+IG1zZ3N0ciAiZXhpdGluZyBwYXJzZWFyZ3NcbiIKKworI34gbXNnaWQgImVudGVyZWQgcGFyc2Vfc3BlZWRzXG4iCisjfiBtc2dzdHIgImVudGVyZWQgcGFyc2Vfc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlc3BlZWRzXG4iCisjfiBtc2dzdHIgInVzY2l0YSBkYSBwYXJzZXNwZWVkc1xuIgorCisjfiBtc2dpZCAib3BlbigyKVxuIgorI34gbXNnc3RyICJvcGVuKDIpXG4iCisKKyN+IG1zZ2lkICJkdXBpbmdcbiIKKyN+IG1zZ3N0ciAiZHVwaW5nXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2hmbjogUEFNIEZhaWx1cmUsIGFib3J0aW5nOiAlc1xuIgorI34gbXNnc3RyICJsb2dpbjogZXJyb3JlIFBBTSwgaW50ZXJydXppb25lIGluIGNvcnNvOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gL2V0Yy9zaGVsbHNcbiIKKyN+IG1zZ3N0ciAiQXR0ZW56aW9uZTogXCIlc1wiIG5vbiDDqCBlbGVuY2F0byBpbiAvZXRjL3NoZWxsc1xuIgorCisjfiBtc2dpZCAiQ2FuJ3QgcmVhZCAlcywgZXhpdGluZy4iCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIGxlZ2dlcmUgJXMsIHVzY2l0YS4iCisKKyN+IG1zZ2lkICJsb2dpbjogUEFNIEZhaWx1cmUsIGFib3J0aW5nOiAlc1xuIgorI34gbXNnc3RyICJsb2dpbjogZXJyb3JlIFBBTSwgaW50ZXJydXppb25lIGluIGNvcnNvOiAlc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAiaW1wb3NzaWJpbGUgbGVnZ2VyZSAlcyAgZSBpbXBvc3NpYmlsZSBlc2VndWlyZSBpb2N0bCBzdWwgZHVtcFxuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBvZmZzZXQgJWxsZCIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIiVzOiBpbXBvc3NpYmlsZSB0cm92YXJlIGFsY3VuIGRldmljZSAvZGV2L2xvb3AjIgorCisjfiBtc2dpZCAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBlc2VjdXppb25lIGluIGJhY2tncm91bmQgZGkgXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ2l2aW5nIHVwIFwiJXNcIlxuIgorI34gbXNnc3RyICJtb3VudDogdGVybWluYSBcIiVzXCJcbiIKKworIyBGSVhNRQorI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gWy1wIHByaW9yaXR5XSBzcGVjaWFsfExBQkVMPXZvbHVtZV9uYW1lIC4uLlxuIgorI34gIiAgICAgICAlcyBbLXNdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstaFZdXG4iCisjfiAiICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICVzIFstdl0gWy1wIHByaW9yaXTDoF0gc3BlY2lhbGV8TEFCRUw9dm9sdW1lX25hbWUgLi4uXG4iCisjfiAiICAgICAlcyBbLXNdXG4iCisKKyMgRklYTUUKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBzcGVjaWFsIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAlcyBbLWhWXVxuIgorI34gIiAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgJXMgWy12XSBzcGVjaWFsZSAuLi5cbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgY2Fub25pY2FsaXplICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogaW1wb3NzaWJpbGUgcmVuZGVyZSBjYW5vbmljbyAlczogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiByZW5pY2UgcHJpb3JpdHkgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXNlcnMgXVxuIgorI34gbXNnc3RyICJVc286IHJlbmljZSBwcmlvcml0w6AgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXRlbnRpIF1cbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorI34gbXNnc3RyICJgJXMnOiBkaXJlY3RvcnkgZGFubmVnZ2lhdGE6ICcuJyBub24gw6ggbGEgcHJpbWFcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCisjfiBtc2dzdHIgImAlcyc6IGRpcmVjdG9yeSBkYW5uZWdnaWF0YTogJy4uJyBub24gw6ggbGEgc2Vjb25kYVxuIgorCisjfiBtc2dpZCAiQXNzdW1pbmcgcGFnZXMgb2Ygc2l6ZSAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJTaSBhc3N1bWUgY2hlIGxlIHBhZ2luZSBzaWFubyBkaSBkaW1lbnNpb25lICVkIChub24gJWQpXG4iCisKKyN+IG1zZ2lkICJBdXRvY29uZmlndXJlIGZvdW5kIGEgJXMlcyVzXG4iCisjfiBtc2dzdHIgIkwnYXV0b2NvbmZpZ3VyYXppb25lIGhhIHRyb3ZhdG8gdW4gJXMlcyVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRHJpdmUgdHlwZVxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKHdpdGggaGFyZHdhcmUgZGV0ZWN0ZWQgZGVmYXVsdHMpIgorI34gbXNnc3RyICIiCisjfiAiVGlwbyBkaSB1bml0w6BcbiIKKyN+ICIgICA/ICAgYXV0byBjb25maWd1cmVcbiIKKyN+ICIgICAwICAgY3VzdG9tIChjb24gbGUgaW1wb3N0YXppb25pIHByZWRlZmluaXRlIHJpbGV2YXRlIGRlbGwnaGFyZHdhcmUpIgorCisjfiBtc2dpZCAiU2VsZWN0IHR5cGUgKD8gZm9yIGF1dG8sIDAgZm9yIGN1c3RvbSk6ICIKKyN+IG1zZ3N0ciAiU2VsZXppb25lIHRpcG8gKD8gcGVyIGF1dG8sIDAgcGVyIGN1c3RvbSk6ICIKKworI34gbXNnaWQgIllvdSBtYXkgY2hhbmdlIGFsbCB0aGUgZGlzayBwYXJhbXMgZnJvbSB0aGUgeCBtZW51IgorI34gbXNnc3RyICLDiCBwb3NzaWJpbGUgbW9kaWZpY2FyZSB0dXR0aSBpIHBhcmFtZXRyaSBkaXNjbyBkYWwgbWVudSB4IgorCisjfiBtc2dpZCAiMyw1XCIgZmxvcHB5IgorI34gbXNnc3RyICJmbG9wcHkgZGEgMyw1XCIiCisKKyN+IG1zZ2lkICIlcyBmcm9tIHV0aWwtbGludXgtJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGEgdXRpbC1saW51eC0lc1xuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzXG4iCisjfiBtc2dzdHIgIiVzOiBlcnJvcmU6IGwnZXRpY2hldHRhICVzIGFwcGFyZSBzaWEgc3UgJXMgY2hlIHN1ICVzXG4iCisKKyN+IG1zZ2lkICIlczogY291bGQgbm90IG9wZW4gJXMsIHNvIFVVSUQgYW5kIExBQkVMIGNvbnZlcnNpb24gY2Fubm90IGJlIGRvbmUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogaW1wb3NzaWJpbGUgYXByaXJlICVzLCBsYSBjb252ZXJzaW9uZSBkaSBVVUlEIGUgRVRJQ0hFVFRBIG5vbiBwdcOyXG4iCisjfiAiICAgIGVzc2VyZSBlZmZldHR1YXRhLlxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBVVUlEIgorI34gbXNnc3RyICIlczogVVVJRCBub24gdmFsaWRvIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50aW5nICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBtb3VudCBkaSAlcyBpbiBjb3Jzb1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdoaWxlIGd1ZXNzaW5nIGZpbGVzeXN0ZW0gdHlwZVxuIgorI34gbXNnc3RyICJtb3VudDogZXJyb3JlIHRlbnRhbmRvIGRpIGluZG92aW5hcmUgaWwgdGlwbyBkaSBmaWxlc3lzdGVtXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXhjZXNzaXZlbHkgbG9uZyBob3N0OmRpciBhcmd1bWVudFxuIgorI34gbXNnc3RyICJtb3VudDogYXJnb21lbnRvIGhvc3Q6ZGlyIGVjY2Vzc2l2YW1lbnRlIGx1bmdvXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogbXVsdGlwbGUgaG9zdG5hbWVzIG5vdCBzdXBwb3J0ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGF0dGVuemlvbmU6bm9taSBob3N0IG11bHRpcGxpIG5vbiBzdXBwb3J0YXRpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZGlyZWN0b3J5IHRvIG1vdW50IG5vdCBpbiBob3N0OmRpciBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxhIGRpcmVjdG9yeSBkYSBtb250YXJlIG5vbiDDqCBuZWxsJ2hvc3Q6IGZvcm1hdG8gZGlyXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG90dGVudXRvIGhwLT5oX2xlbmd0aCBub24gdmFsaWRvXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXhjZXNzaXZlbHkgbG9uZyBvcHRpb24gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ29tZW50byBkZWxsJ29wemlvbmUgZWNjZXNzaXZhbWVudGUgbHVuZ29cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFVucmVjb2duaXplZCBwcm90bz0gb3B0aW9uLlxuIgorI34gbXNnc3RyICJBdHRlbnppb25lOiBPcHppb25lIHByb3RvPSBub24gcmljb25vc2NpdXRhLlxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgcGFyYW1ldGVyOiAlcz0lZFxuIgorI34gbXNnc3RyICJwYXJhbWV0cm8gZGkgbmZzIG1vdW50IHNjb25vc2NpdXRvOiAlcz0lZFxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgb3B0aW9uOiAlcyVzXG4iCisjfiBtc2dzdHIgIm9wemlvbmUgZGkgbmZzIG1vdW50IHNjb25vc2NpdXRhOiAlcyVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGg/XG4iCisjfiBtc2dzdHIgIm1vdW50OiBvdHRlbnV0byB1biBocC0+aF9sZW5ndGggbm9uIHZhbGlkbz9cbiIKKworI34gbXNnaWQgIm5mcyBiaW5kcmVzdnBvcnQiCisjfiBtc2dzdHIgIm5mcyBiaW5kcmVzdnBvcnQiCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJ1dGlsaXp6YXRvIGlsIHBvcnRtYXBwZXIgcGVyIHRyb3ZhcmUgbGEgcG9ydGEgTkZTXG4iCisKKyN+IG1zZ2lkICJ1c2luZyBwb3J0ICVkIGZvciBuZnMgZGVhbW9uXG4iCisjfiBtc2dzdHIgInV0aWxpenpvIGRlbGxhIHBvcnRhICVkIHBlciBpbCBkZW1vbmUgbmZzXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAidmFsb3JlIHJpcG9ydGF0byBkaSBzdGF0byBuZnMgc2Nvbm9zY2l1dG86ICVkIgorCisjfiBtc2dpZCAiaG9zdDogJXMsIGRpcmVjdG9yeTogJXNcbiIKKyN+IG1zZ3N0ciAiaG9zdDogJXMsIGRpcmVjdG9yeTogJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY2FuJ3QgZ2V0IGFkZHJlc3MgZm9yICVzXG4iCisjfiBtc2dzdHIgInVtb3VudDogaW1wb3NzaWJpbGUgb3R0ZW5lcmUgbCdpbmRpcml6em8gZGkgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogZ290IGJhZCBob3N0cC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBvdHRlbnV0byBob3N0cC0+aF9sZW5ndGggbm9uIHZhbGlkb1xuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgcGF0aCBsZW5ndGhcbiIKKyN+IG1zZ3N0ciAiJXM6IGNyYW1mcyBpbnZhbGlkbyAtLSBsdW5naGV6emEgZGVsIHBlcmNvcnNvIG5vbiB2YWxpZGFcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tY3JjIGVycm9yXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgbm9uIHZhbGlkbyAtLSBlcnJvcmUgQ1JDXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWJhZCBzdXBlcmJsb2NrXG4iCisjfiBtc2dzdHIgIiVzOiBjcmFtZnMgbm9uIHZhbGlkbyAtLSBzdXBlcmJsb2NjbyBkYW5uZWdnaWF0b1xuIgorCisjfiBtc2dpZCAiU3ludGF4IGVycm9yOiAnJXMnXG4iCisjfiBtc2dzdHIgIkVycm9yZSBkaSBzaW50YXNzaTogJyVzJ1xuIgorCisjfiBtc2dpZCAiTm8gc3VjaCBwYXJhbWV0ZXIgc2V0OiAnJXMnXG4iCisjfiBtc2dzdHIgIlBhcmFtZXRybyBub24gaW1wb3N0YXRvOiAnJXMnXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IG5hbWVcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtcCBdIGRldiBub21lXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkaXNwXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRpc3BcbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICIgaW1wb3NzaWJpbGUgYXByaXJlIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNvdWxkbid0IHJlYWQgcmFuZG9tIGRhdGEgZnJvbSAvZGV2L3VyYW5kb20iCisjfiBtc2dzdHIgImltcG9zc2liaWxlIGxlZ2dlcmUgZGF0aSBjYXN1YWxpIGRhIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBlc2VndWlyZSBzdGF0KCVzKSIKKworI34gbXNnaWQgImNhbid0IHJlYWQgZGF0YSBmcm9tICVzIgorI34gbXNnc3RyICJpbXBvc3NpYmlsZSBsZWdnZXJlIGkgZGF0aSBkYSAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJUb28gbWFueSB1c2VycyBsb2dnZWQgb24gYWxyZWFkeS5cbiIKKyN+ICJUcnkgYWdhaW4gbGF0ZXIuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUcm9wcGkgdXRlbnRpIGdpw6AgY29sbGVnYXRpLlxuIgorI34gIlJpcHJvdmFyZSBzdWNjZXNzaXZhbWVudGUuXG4iCisKKyN+IG1zZ2lkICJZb3UgaGF2ZSB0b28gbWFueSBwcm9jZXNzZXMgcnVubmluZy5cbiIKKyN+IG1zZ3N0ciAiQ2kgc29ubyB0cm9wcGkgcHJvY2Vzc2kgaW4gZXNlY3V6aW9uZS5cbiIKKworI34gbXNnaWQgIlRoZSBwYXNzd29yZCBtdXN0IGhhdmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzLCB0cnkgYWdhaW4uXG4iCisjfiBtc2dzdHIgIkxhIHBhc3N3b3JkIGRldmUgYXZlcmUgYWxtZW5vIDYgY2FyYXR0ZXJpLCByaXByb3ZhcmUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBjaGFyYWN0ZXJzIG91dCBvZiB0d28gb2YgdGhlIGZvbGxvd2luZ1xuIgorI34gImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+ICJjaGFyYWN0ZXJzLiBTZWUgcGFzc3dkKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiTGEgcGFzc3dvcmQgZGV2ZSBjb250ZW5lcmUgY2FyYXR0ZXJpIHRyYXR0aSBkYSBkdWUgZGVsbGUgc2VndWVudGkgY2xhc3NpOlxuIgorI34gImxldHRlcmUgbWFpdXNjb2xlIGUgbWludXNjb2xlLCBudW1lcmkgZSBjYXJhdHRlcmkgbm9uIGFsZmFudW1lcmljaS5cbiIKKyN+ICJDb25zdWx0YXJlIHBhc3N3ZCgxKSBwZXIgbWFnZ2lvcmkgaW5mb3JtYXppb25pLlxuIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCByZXVzZSB0aGUgb2xkIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSByaXV0aWxpenphcmUgbGEgdmVjY2hpYSBwYXNzd29yZC5cbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciB1c2VybmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiTm9uIHV0aWxpenphcmUgY29tZSBwYXNzd29yZCBxdWFsY29zYSBjaGUgYXNzb21pZ2xpIGFsIHByb3ByaW8gbm9tZSB1dGVudGUhXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgcmVhbG5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIk5vbiB1dGlsaXp6YXJlIGNvbWUgcGFzc3dvcmQgcXVhbGNvc2EgY2hlIGFzc29taWdsaSBhbCBwcm9wcmlvIHZlcm8gbm9tZSFcbiIKKworI34gbXNnaWQgIlVzYWdlOiBwYXNzd2QgW3VzZXJuYW1lIFtwYXNzd29yZF1dXG4iCisjfiBtc2dzdHIgIlVzbzogcGFzc3dkIFtub21lIHV0ZW50ZSBbcGFzc3dvcmRdXVxuIgorCisjfiBtc2dpZCAiT25seSByb290IG1heSB1c2UgdGhlIG9uZSBhbmQgdHdvIGFyZ3VtZW50IGZvcm1zLlxuIgorI34gbXNnc3RyICJTb2xvIHJvb3QgcHXDsiB1dGlsaXp6YXJlIGxlIGZvcm1lIGEgdW5vIGUgZHVlIGFyZ29tZW50aVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbLWZvcXN2Vl0gW3VzZXIgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBwYXNzd2QgWy1mb3FzdlZdIFt1dGVudGUgW3Bhc3N3b3JkXV1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmaW5kIGxvZ2luIG5hbWUiCisjfiBtc2dzdHIgIkltcG9zc2liaWxlIHRyb3ZhcmUgaWwgbm9tZSBkaSBsb2dpbiIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBjYW4gY2hhbmdlIHRoZSBwYXNzd29yZCBmb3Igb3RoZXJzLlxuIgorI34gbXNnc3RyICJTb2xvIHJvb3QgcHXDsiBtb2RpZmljYXJlIGxhIHBhc3N3b3JkIHBlciBnbGkgYWx0cmkuXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBmaW5kIHVzZXJuYW1lIGFueXdoZXJlLiBJcyBgJXMnIHJlYWxseSBhIHVzZXI/IgorI34gbXNnc3RyICJJbXBvc3NpYmlsZSB0cm92YXJlIGlsIG5vbWUgdXRlbnRlLmAlcycgw6ggZGF2dmVybyB1biB1dGVudGU/IgorCisjfiBtc2dpZCAiU29ycnksIEkgY2FuIG9ubHkgY2hhbmdlIGxvY2FsIHBhc3N3b3Jkcy4gVXNlIHlwcGFzc3dkIGluc3RlYWQuIgorI34gbXNnc3RyICJQb3NzbyBtb2RpZmljYXJlIHNvbG8gbGUgcGFzc3dvcmQgbG9jYWxpLiBVdGlsaXp6YXJlIGludmVjZSB5cHBhc3N3ZC4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIlVJRCBlIG5vbWUgdXRlbnRlIG5vbiBjb21iYWNpYW5vLCBpbXBvc3RvcmUhIgorCisjfiBtc2dpZCAiQ2hhbmdpbmcgcGFzc3dvcmQgZm9yICVzXG4iCisjfiBtc2dzdHIgIk1vZGlmaWNhIHBhc3N3b3JkIHBlciAlc1xuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJQYXNzd29yZCBub24gdmFsaWRhLCBpbXBvc3RvcmUuIgorCisjfiBtc2dpZCAiRW50ZXIgbmV3IHBhc3N3b3JkOiAiCisjfiBtc2dzdHIgIkltbWV0dGVyZSBsYSBudW92YSBwYXNzd29yZDogIgorCisjfiBtc2dpZCAiUmUtdHlwZSBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiUmlkaWdpdGFyZSBsYSBudW92YSBwYXNzd29yZDogIgorCisjfiBtc2dpZCAiWW91IG1pc3NwZWxsZWQgaXQuIFBhc3N3b3JkIG5vdCBjaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiT3J0b2dyYWZpYSBzYmFnbGlhdGEuIExhIHBhc3N3b3JkIG5vbiDDqCBzdGF0YSBtb2RpZmljYXRhLiIKKworI34gbXNnaWQgIlJPT1QgUEFTU1dPUkQgQ0hBTkdFRCIKKyN+IG1zZ3N0ciAiUEFTU1dPUkQgUk9PVCBNT0RJRklDQVRBIgorCisjfiBtc2dpZCAicGFzc3dvcmQgY2hhbmdlZCBieSByb290LCB1c2VyICVzIgorI34gbXNnc3RyICJwYXNzd29yZCBtb2RpZmljYXRhIGRhIHJvb3QsIHV0ZW50ZSAlcyIKKworI34gbXNnaWQgImNhbGxpbmcgc2V0cHduYW0gdG8gc2V0IHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJjaGlhbWF0YSBkaSBzZXRwd25hbSBwZXIgaW1wb3N0YXJlIGxhIHBhc3N3b3JkLlxuIgorCisjfiBtc2dpZCAiUGFzc3dvcmQgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiUGFzc3dvcmQgKk5PTiogbW9kaWZpY2F0YS4gUmlwcm92YXJlIHN1Y2Nlc3NpdmFtZW50ZS5cbiIKKworI34gbXNnaWQgIm1vdW50OiB0aGlzIHZlcnNpb24gd2FzIGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgdGhlIHR5cGUgYG5mcyciCisjfiBtc2dzdHIgIm1vdW50OiBxdWVzdGEgdmVyc2lvbmUgw6ggc3RhdGEgY29tcGlsYXRhIHNlbnphIHN1cHBvcnRvIHBlciBpbCB0aXBvICduZnMnIgorCisjfiBtc2dpZCAiZmxvY2s6IHVua25vd24gb3B0aW9uLCBhYm9ydGluZy5cbiIKKyN+IG1zZ3N0ciAiZmxvY2s6IG9wemlvbmUgc2Nvbm9zY2l1dGEsIGludGVycnV6aW9uZS5cbiIKKworI34gbXNnaWQgIlVzYWdlIGZsb2NrIFstLXNoYXJlZCB8IC0tdGltZW91dD1zZWNvbmRzXSBmaWxlbmFtZSBjb21tYW5kIHthcmcgYXJnLi4ufVxuIgorI34gbXNnc3RyICJVc286IGZsb2NrIFstLXNoYXJlZCB8IC0tdGltZW91dD1zZWNvbmRpXSBub21lZmlsZSBjb21hbmRvIHthcmcgYXJnLi4ufVxuIgpkaWZmIC0tZ2l0IGEvcG8vamEucG8gYi9wby9qYS5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDZkZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvcG8vamEucG8KQEAgLTAsMCArMSwyMzI4OCBAQAorIyBKYXBhbmVzZSBtZXNzYWdlcyBmb3IgdXRpbC1saW51eAorIyBDb3B5cmlnaHQgKEMpIDE5OTkgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjIGluY2x1ZGVzIGNmZGlzayBvcmlnaW5hbCB0cmFuc2xhdGlvbiBieQorIyBIaWRlbm9idSBOQUJFVEFOSSA8bmFiZXRhbmlAa2Vybi5waHlzLnNjaS5vc2FrYS11LmFjLmpwPgorIyBEYWlzdWtlIFlhbWFzaGl0YSA8eWFtYWRAbWIuaW5mb3dlYi5uZS5qcD4sIDE5OTktMjAwMS4KKyMgTWFrb3RvIEthdG8gPG1ha290by5rdEBnbWFpbC5jb20+LCAyMDA5LTIwMTAuCisjIFRha2VzaGkgSGFtYXNha2kgPGhtYXRyanBAdXNlcnMuc291cmNlZm9yZ2UuanA+LCAyMDExLCAyMDEzLgorIyB2aWN0b3J5IDx2aWN0b3J5LmRlYkBnbWFpbC5jb20+LCAyMDEzLgorIyBUYWtlc2hpIEhhbWFzYWtpIDxobWF0cmpwQHVzZXJzLnNvdXJjZWZvcmdlLmpwPiwgMjAxNCwgMjAxNSwgMjAxNiwgMjAxNywgMjAxOC4KKyMKKyMgKEFkZGl0aW9uYWwgSGlzdG9yeSkKKyMgIE9uY2UgdXRpbC1saW51eC1uZyB3YXMgZm9ya2VkIGZyb20gdXRpbC1saW51eCwKKyMgICBhcyBvZiBKYW51YXJ5IDIwMTEgaXQgaGFzIG92ZXJyaWRlZCBvcmlnaW5hbCBuYW1lIHV0aWwtbGludXguCisjICBXb3JrIGluIDIwMTMgaXMgYnkgY291cnRlc3kgb2YgWWFzdWhpa28gS2FtYXRhIDxiZWxwaGVnb3JAYmVsYmVsLm9yLmpwPi4KK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXggMi4zMi1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxOC0wMy0wNCAxOTowMyswOTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBUYWtlc2hpIEhhbWFzYWtpIDxobWF0cmpwQHVzZXJzLnNvdXJjZWZvcmdlLmpwPlxuIgorIkxhbmd1YWdlLVRlYW06IEphcGFuZXNlIDx0cmFuc2xhdGlvbi10ZWFtLWphQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJMYW5ndWFnZTogamFcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTE7IHBsdXJhbD0wO1xuIgorIlgtR2VuZXJhdG9yOiBQb2VkaXQgMi4wLjZcbiIKKyJYLVBvZWRpdC1CYXNlcGF0aDogdXRpbC1saW51eC0yLjMxLXJjMlxuIgorIlgtUG9lZGl0LVNlYXJjaFBhdGgtMDogLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPOODh+OCo+OCueOCr+ODh+ODkOOCpOOCuT4gPOODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtz4gPOmWi+Wni+S9jee9rj4gPOmVt+OBlT5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIuOCq+ODvOODjeODq+OBq+aMh+WumuOBl+OBn+ODkeODvOODhuOCo+OCt+ODp+ODs+OBruWtmOWcqOOCkuS8neOBiOOBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICLljYHliIbjgarlvJXmlbDjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiJXMg44KSIG9wZW4g44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDAKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPt+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICLplovlp4vkvY3nva7jga7lvJXmlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICLplbfjgZXjga7lvJXmlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjY0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCkui/veWKoOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAi6Kqt44G/6L6844G/5bCC55So44Gr6Kit5a6aIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAi6Kqt44G/5pu444GN5Y+v6IO944Gr6Kit5a6aIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICLoqq3jgb/mm7jjgY3lj6/og73jgYvjganjgYbjgYvjgpLjg4bjgrnjg4giCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAiZGlzY2FyZCB6ZXJvZXMg44Gu44K144Od44O844OI54q25oWL44KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICLoq5bnkIbjg5bjg63jg4Pjgq8gKOOCu+OCr+OCvykg44K144Kk44K644KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAi54mp55CG44OW44Ot44OD44KvICjjgrvjgq/jgr8pIOOCteOCpOOCuuOCkuWPluW+lyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICLmnIDlsI/jga5JL0/jgrXjgqTjgrrjgpLlj5blvpciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAi5pyA6YGp44GqSS9P44K144Kk44K644KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgIuODkOOCpOODiOWNmOS9jeOBp+OCouODqeOCpOODoeODs+ODiOOCquODleOCu+ODg+ODiOOCkuWPluW+lyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAi44Oq44Kv44Ko44K544OI5q+O44Gu5pyA5aSn44K744Kv44K/5pWw44KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAi44OW44Ot44OD44Kv44K144Kk44K644KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgpLplovjgY/jg5XjgqHjgqTjg6voqJjov7DlrZDjga7jg5bjg63jg4Pjgq/jgrXjgqTjgrrjgpLjgrvjg4Pjg4jjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICIzMuODk+ODg+ODiOOCu+OCr+OCv+OCq+OCpuODs+ODiOOCkuWPluW+l+OBmeOCiyAo6Z2e5o6o5aWo44Gn44GZLCAtLWdldHN6IOOCkuOBiuS9v+OBhOOBj+OBoOOBleOBhCkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAi44K144Kk44K6ICjljZjkvY0644OQ44Kk44OIKSDjgpLlj5blvpciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJyZWFkYWhlYWQg5YCk44KS6Kit5a6aIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAicmVhZGFoZWFkIOWApOOCkuWPluW+lyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44OgIHJlYWRhaGVhZCDlgKTjgpLoqK3lrpoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoCByZWFkYWhlYWQg5YCk44KS5Y+W5b6XIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAi44OQ44OD44OV44Kh44KS44OV44Op44OD44K344Ol44GZ44KLIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS5YaN6Kqt44G/6L6844G/IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorbXNnc3RyICIiCisiICUxJHMgWy12fC1xXSDjgrPjg57jg7Pjg4kg44OH44OQ44Kk44K5XG4iCisiICUxJHMgLS1yZXBvcnQgW+ODh+ODkOOCpOOCuV1cbiIKKyIgJTEkcyAtaHwtVlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIuODluODreODg+OCr+ODh+ODkOOCpOOCueOBriBpb2N0bCDjgpLjgrPjg57jg7Pjg4njg6njgqTjg7PjgYvjgonlkbzjgbPlh7rjgZfjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC1xICAgICAgICAgICAgIOWHuuWKm+OBmeOCi+ODoeODg+OCu+ODvOOCuOOBrumHj+OCkuaKkeOBiOOCiyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAtdiAgICAgICAgICAgICDlhpfplbflh7rlipvjg6Ljg7zjg4njgpLmjIflrprjgZnjgosiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTgKK21zZ2lkICIgICAgIC0tcmVwb3J0ICAgcHJpbnQgcmVwb3J0IGZvciBzcGVjaWZpZWQgKG9yIGFsbCkgZGV2aWNlcyIKK21zZ3N0ciAiICAgICAtLXJlcG9ydCAgIOaMh+WumuOBl+OBn+ODh+ODkOOCpOOCue+8iOOBvuOBn+OBr+OBmeOBueOBpuOBruODh+ODkOOCpOOCue+8ieOBq+OBpOOBhOOBpuOBruWgseWRiuOCkuihqOekuuOBmeOCiyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworbXNnaWQgIkF2YWlsYWJsZSBjb21tYW5kczoiCittc2dzdHIgIuWIqeeUqOWPr+iDveOBquOCs+ODnuODs+ODiToiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIDUxMuODkOOCpOODiOOCu+OCr+OCv+OBruOCteOCpOOCuuOCkuWPluW+l1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIuODh+ODkOOCpOOCueOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIuODh+ODkOOCpOOCueOCteOCpOOCuuOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICLkuI3mmI7jgarjgrPjg57jg7Pjg4k6ICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyDjgavjga/lvJXmlbDjgYzlv4XopoHjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXMg44GnaW9jdGzjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyDjga/lpLHmlZfjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIOOBjOaIkOWKn+OBl+OBvuOBl+OBn+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczogc3lzZnMg44OP44Oz44OJ44Op44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODs+OBruWni+OBvuOCiuOCkiBzeXNmcyDjgYvjgonoqq3jgb/ovrzjgoHjgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogICDplovlp4vjgrvjgq/jgr8gICAgICAgICAg44K144Kk44K6IOODh+ODkOOCpOOCuVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICLotbfli5Xlj6/og70iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICLjgqvjg7zjgr3jg6vkuIrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7otbfli5Xlj6/og73jg5Xjg6njgrDjgpLliIfjgormm7/jgYjjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICLliYrpmaQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi44Kr44O844K944Or5LiK44Gu44OR44O844OG44Kj44K344On44Oz44KS5YmK6Zmk44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAi44K144Kk44K65aSJ5pu0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlZHVjZSBvciBlbmxhcmdlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi44Kr44O844K944Or5LiK44Gu44OR44O844OG44Kj44K344On44Oz44KSIOe4ruWwjyDjgb7jgZ/jga8g5ouh5by1IOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIuaWsOimj+S9nOaIkCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIuepuuOBjemgmOWfn+OBi+OCieaWsOOBl+OBj+ODkeODvOODhuOCo+OCt+ODp+ODs+OCkuS9nOaIkOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IgorbXNnc3RyICLntYLkuoYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICLlpInmm7TjgpLmm7jjgY3ovrzjgb7jgZrjgavjg5fjg63jgrDjg6njg6DjgpLntYLkuobjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzggbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMxIGxpYmZkaXNrL3NyYy9ncHQuYzozMTMyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIuOCv+OCpOODlyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgr/jgqTjg5fjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAi44OY44Or44OXIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICLjg5jjg6vjg5fnlLvpnaLjgpLooajnpLrjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAi5Lim44G55pu/44GIIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7poIbluo/jgpLkv67mraPjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUiCittc2dzdHIgIuabuOOBjei+vOOBvyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLjg4fjgqPjgrnjgq/jgavmm7jjgY3ovrzjgb/jgb7jgZkgKOODh+ODvOOCv+OCkuegtOWjiuOBmeOCi+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI5Ye65YqbIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpIgc2ZkaXNrIOS6kuaPm+OBruOCueOCr+ODquODl+ODiOODleOCoeOCpOODq+OBq+WHuuWKm+OBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIuWGhemDqOOCqOODqeODvDog44K144Od44O844OI5aSW44Gu44OA44Kk44Ki44Ot44Kw44K/44Kk44OXICVkIOOBp+OBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKOODnuOCpuODs+ODiOa4iCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5NworbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5ZCNOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgVVVJRDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMxNgorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44K/44Kk44OXOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzIzCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIuWxnuaApzoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBriBVVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBruODqeODmeODqzoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6A6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjUKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAi44Oe44Km44Oz44OI44Od44Kk44Oz44OIOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICLjg4fjgqPjgrnjgq86ICVzIgorCisjIFRyYW5zbGF0b3IncyBOT1RFOiAybmQgJXMgaXMgc2l6ZV90b19odW1hbl9zdHJpbmcgYnl0ZXMKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi44K144Kk44K6OiAlcywgJWp1IOODkOOCpOODiCwgJWp1IOOCu+OCr+OCvyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIuODqeODmeODqzogJXMsIOODh+OCo+OCueOCr+itmOWIpeWtkDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIuODqeODmeODqzogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiTShNaULjgafmjIflrpopLCBHKEdpQuOBp+aMh+WumiksIFQoVGlC44Gn5oyH5a6aKSDjgb7jgZ/jga8gUyjjgrvjgq/jgr/mlbDjgafmjIflrpop44KS5b6M44Gr57aa44GR44KL44GT44Go44GM44Gn44GN44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIuOCteOCpOOCuuOCkuaMh+WumuOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICLmnIDlsI/jgrXjgqTjgrrjga8gJWp1IOODkOOCpOODiOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICLmnIDlpKfjgrXjgqTjgrrjga8gJWp1IOODkOOCpOODiOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICLjgrXjgqTjgrrmg4XloLHjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk2OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44K/44Kk44OX44KS6YG45oqeIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg5XjgqHjgqTjg6vlkI3jgpLlhaXlips6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44OV44Kh44Kk44Or44KS44Oh44Oi44Oq5YaF44Gu44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44Gr6YGp55So44GX44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIlcyDjgpIgb3BlbiDjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg5XjgqHjgqTjg6sgJXMg44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIuOCueOCr+ODquODl+ODiOODleOCoeOCpOODqyAlcyDjga7pgannlKjjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICLjg6Hjg6Ljg6rlhoXjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLjg5XjgqHjgqTjg6vjgavmm7jjgY3lh7rjgZfjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIuOCueOCr+ODquODl+ODiOODj+ODs+ODieODqeOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jga7jg6zjgqTjgqLjgqbjg4jjga7jgrnjgq/jg6rjg5fjg4jjgbjjga7mm7jjgY3lh7rjgZfjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jga7jg6zjgqTjgqLjgqbjg4jjgpLlh7rlipvjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44OV44Kh44Kk44OrICVzIOOBuOOBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE2Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIuODqeODmeODq+OBruOCv+OCpOODl+OCkumBuOaKniIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjgavjga/oqo3orZjlj6/og73jgarjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgYzlkKvjgb7jgozjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAi5paw44GX44GP5L2c5oiQ44GZ44KL44Op44OZ44Or44Gu44K/44Kk44OX44KS6YG45oqe44GZ44KL44GL44CBJ0wnIOOCkuaKvOOBl+OBpuOCueOCr+ODquODl+ODiOOCkuiqreOBv+i+vOOBv+OBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICLjgZPjgozjga9jZmRpc2vjgIHnq6/mnKvlnovjg4fjgqPjgrnjgq/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PkvZzmiJDjg5fjg63jgrDjg6njg6DjgafjgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDvvI/liYrpmaTvvI/lpInmm7TjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICLjgrPjg57jg7Pjg4kgICAgICDoqqzmmI4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIOOCq+ODvOOCveODq+S4iuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBrui1t+WLleWPr+iDveODleODqeOCsOOCkuWIh+OCiuabv+OBiOOBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICDjgqvjg7zjgr3jg6vkuIrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLliYrpmaTjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIOOBk+OBrueUu+mdouOCkuihqOekuuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgIOepuuOBjemgmOWfn+OBi+OCieaWsOOBl+OBj+mgmOWfn+OCkuS9nOaIkOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS5pu444GN6L6844G+44Ga44Gr44OX44Ot44Kw44Op44Og44KS57WC5LqG44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7poIbluo/jgpLkv67mraMgKOmghueVquOBq+S4puOCk+OBp+OBhOOBquOBhOWgtOWQiCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44K/44Kk44OX44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIOODh+OCo+OCueOCr+OBruODrOOCpOOCouOCpuODiOOCkiBzZmRpc2sg5LqS5o+b44Gu44K544Kv44Oq44OX44OI44Gr5pu444GN5Ye644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLjg4fjgqPjgrnjgq/jgavmm7jjgY3ovrzjgoAgKFcg44Gv5aSn5paH5a2X44Gn5YWl5Yqb44GX44Gm44GP44Gg44GV44GEKeOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIOOBk+OBruOCquODl+OCt+ODp+ODs+OBr+OAgeODh+OCo+OCueOCr+S4iuOBruODh+ODvOOCv+OCkuegtOWjiuOBmeOCi+WPr+iDveaAp+OBjOOBguOCi+OBn+OCgeOAgSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgICd5ZXMnIOOBvuOBn+OBryAnbm8nIOOBq+OCiOOCi+acgOe1gueiuuiqjeOBjOW/heimgeOBp+OBmeOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBruips+e0sOaDheWgseOBruihqOekui/pnZ7ooajnpLrjgpLliIfjgormm7/jgYjjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICLkuIrnn6LljbDjgq3jg7wgICDkuIrjga7poJjln5/jgavjgqvjg7zjgr3jg6vjgpLnp7vli5XjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIuS4i+efouWNsOOCreODvCAgIOS4i+OBrumgmOWfn+OBq+OCq+ODvOOCveODq+OCkuenu+WLleOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIuW3puefouWNsOOCreODvCAgIOWJjeOBruODoeODi+ODpeODvOmgheebruOBq+OCq+ODvOOCveODq+OCkuenu+WLleOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAi5Y+z55+i5Y2w44Kt44O8ICAg5qyh44Gu44Oh44OL44Ol44O86aCF55uu44Gr44Kr44O844K944Or44KS56e75YuV44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICLms6jmhI86IOOCs+ODnuODs+ODieOBr+OBmeOBueOBpuWkp+aWh+Wtl+OAgeWwj+aWh+Wtl+OBqeOBoeOCieOBp+OCguS9v+eUqOOBp+OBjeOBvuOBmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgIijjgZ/jgaDjgZfjgIEg5pu444GN6L6844G/44GuICdXJyDjgpLpmaTjgY3jgb7jgZkpIOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgImxzYmxrKDgpIOOBvuOBn+OBryBwYXJ0eCg4KSDjgpLkvb/jgYbjgajjg4fjg5DjgqTjgrnjgavjgaTjgYTjgabjgojjgoroqbPjgZfjgY/opovjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIuS9leOBi+OCreODvOOCkuaKvOOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIui1t+WLleWPr+iDveODleODqeOCsOOCkuWIh+OCiuabv+OBiOOCieOCjOOBvuOBm+OCk+OBp+OBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44KS5YmK6Zmk44Gn44GN44G+44Gb44KT44Gn44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44KS5YmK6Zmk44GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzAKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgrXjgqTjgro6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dSDjga7jgr/jgqTjg5fjgpLlpInmm7TjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gu44K/44Kk44OX44Gv5aSJ5pu044GX44Gm44GE44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTQKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICLmlrDjgZfjgYTjgrXjgqTjgro6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gu44K144Kk44K644KS5aSJ5pu044GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MjcgZGlzay11dGlscy9jZmRpc2suYzoyNTQzIGRpc2stdXRpbHMvZmRpc2suYzoxMDYzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTEKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIuODh+ODkOOCpOOCueOBr+iqreOBv+i+vOOBv+WwgueUqOOBp+OCquODvOODl+ODs+OBleOCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDMyCittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLjg4fjgqPjgrnjgq/jgavmm7jjgY3ovrzjgpPjgafjgoLjgojjgo3jgZfjgYTjgafjgZnjgYvvvJ8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJcInllc1wiIOOBvuOBn+OBryBcIm5vXCIg44Go5YWl5Yqb44GX44Gm44GP44Gg44GV44GE44CCRVNDIOOCkuaKvOOBmeOBqOOBk+OBruODgOOCpOOCouODreOCsOOCkuaKnOOBkeOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJ5ZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0MAorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLjg4fjgqPjgrnjgq/jgavmm7jjgY3ovrzjgb/jgb7jgZvjgpPjgafjgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jg6njg5njg6vjga7mm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgYzlpInmm7TjgZXjgozjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBrumgheebrumghuOBjOODh+OCo+OCueOCr+S4iuOBrumghuW6j+OBqOS4gOiHtOOBl+OBvuOBm+OCk+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTExCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gr44Gv5pei44GrICVzIOe9suWQjeOBjOabuOOBjei+vOOBvuOCjOOBpuOBiuOCiuOAgXdyaXRlICjmm7jjgY3ovrzjgb8p44Kz44Oe44Oz44OJ44KS5a6f6KGM44GZ44KL44Go5raI44GI44Gm44GX44G+44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MjIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAi5paw44GX44GE44OH44Kj44K544Kv44Op44OZ44Or44Gu5L2c5oiQ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjgqPjgrnjgq/jg4fjg5DjgqTjgrk+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLooajnpLrjgb7jgZ/jga/mk43kvZzjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz0844GE44GkPl0gICAgIOODoeODg+OCu+ODvOOCuOOCkuiJsuOBpeOBkeOBl+OBvuOBmShhdXRv44CBYWx3YXlz44CBbmV2ZXIg44Gu44Gp44KM44GLKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OCkuS9leOCguOBquOBhOeKtuaFi+OBi+OCieS9nOaIkOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2NzYgZGlzay11dGlscy9mZGlzay5jOjk1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMjAKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDI5IHN5cy11dGlscy9kbWVzZy5jOjE0MTAgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAi5pyq5a++5b+c44Gu6Imy44Oi44O844OJ44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJsaWJmZGlzayDjgrPjg7Pjg4bjgq3jgrnjg4jjga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICIgJXMgPOODh+OCo+OCueOCr+ODh+ODkOOCpOOCuT4gPOODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtz5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAi44Kr44O844ON44Or44Gr5oyH5a6a44GX44Gf44OR44O844OG44Kj44K344On44Oz44Gr44Gk44GE44Gm5b+Y44KM44KL44KI44GG5Lyd44GI44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruWJiumZpOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAi44OV44Kp44O844Oe44OD44OI44GX44Gm44GE44G+44GZIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAi57WC5LqGXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAi5qSc6Ki844GX44Gm44GE44G+44GZIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIuiqrei+vDogIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICLoqq3ovrzjgb/kuK3jgavllY/poYznmbrnlJ/jgIHjg4jjg6njg4Pjgq8v44OY44OD44OJICV1LyV1IOOBpyAlZCDjga7nrYjjgarjga7jgasgJWQg44KS6Kqt6L6844G/44G+44GX44GfXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyLjg4jjg6njg4Pjgq8v44OY44OD44OJICV1LyV1IOOBq+S4jeato+OBquODh+ODvOOCv1xuIgorIue2muOBkeOBvuOBmSAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjg5DjgqTjgrk+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIuODleODreODg+ODlOODvOODh+OCo+OCueOCr+OBruS9juODrOODmeODq+ODleOCqeODvOODnuODg+ODiOOCkuihjOOBhOOBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICDjg4jjg6njg4Pjgq8gTiDjgojjgorplovlp4vjgZfjgb7jgZkgKOaXouWumuWApCAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIOODiOODqeODg+OCryBOIOOBp+e1guS6huOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICDmpJzoqLzkuK3jgavlpLHmlZfjgZfjgZ/loLTlkIjjgavjg4jjg6njg4Pjgq/jga7kv67lvqnjgpLoqabjgb/jgb7jgZlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAo5pyA5aSnIE7lm54pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLXZlcmlmeSAgIOODleOCqeODvOODnuODg+ODiOOBruW+jOOBq+aknOiovOOCkuihjOOBhOOBvuOBm+OCk1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgIuW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyAtIOmWi+Wni+ODiOODqeODg+OCryIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIC0g57WC5LqG44OI44Op44OD44KvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIC0g5L+u5b6p6Kmm6KGM5Zue5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg44GuIHN0YXQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI2IGRpc2stdXRpbHMvcGFydHguYzoxMDEwIG1pc2MtdXRpbHMvbHNibGsuYzoxNTAxCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NyBzeXMtdXRpbHMvYmxrem9uZS5jOjEwMQorIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IOODluODreODg+OCr+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAi54++5Zyo44Gu44OV44Kp44O844Oe44OD44OI44K/44Kk44OX44KS54m55a6a44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVz6Z2iLCAlZCDjg4jjg6njg4Pjgq8sICVkIOOCu+OCr+OCvy/jg4jjg6njg4Pjgq/jgILlkIjoqIjlrrnph48gJWQga0LjgIJcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAi5LihIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICLniYciCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIuODpuODvOOCtuODvOOBjOWumue+qeOBl+OBn+mWi+Wni+ODiOODqeODg+OCr+OBjOODoeODh+OCo+OCouOBruacgOWkp+WApOOCkui2heOBiOOBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIuODpuODvOOCtuODvOOBjOWumue+qeOBl+OBn+e1guS6huODiOODqeODg+OCr+OBjOODoeODh+OCo+OCouOBruacgOWkp+WApOOCkui2heOBiOOBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICLjg6bjg7zjgrbjg7zjgYzlrprnvqnjgZfjgZ/ntYLkuobjg4jjg6njg4Pjgq/jgYzplovlp4vjg4jjg6njg4Pjgq/jgpLotoXjgYjjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICLplonjgZjjgovjga7jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICLpgbjmip4gKOaXouWumuWApCAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAi5pei5a6a44Gu5Zue562UICVjIOOBp+OBguOCi+OCguOBruOBqOOBv+OBquOBl+OBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi56+E5Zuy5aSW44Gu5YCk44Gn44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCDml6LlrprlgKQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTQgZGlzay11dGlscy9mZGlzay5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsIOaXouWumuWApCAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsIOWIneacn+WApCAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIOaXouWumuWApCAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzggZGlzay11dGlscy9zZmRpc2suYzoxOTgKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIgW1ldZXMvW05dbzogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDc5Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiMTYg6YCy5pWw44Kz44O844OJIChMIOOBp+WIqeeUqOWPr+iDveOBquOCs+ODvOODieOCkuS4gOimp+ihqOekuuOBl+OBvuOBmSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ4MAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODlyAoTCDjgafliKnnlKjlj6/og73jgarjgr/jgqTjg5fjgpLkuIDopqfooajnpLrjgZfjgb7jgZkpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1Mg5LqS5o+b44OV44Op44Kw44GM6Kit5a6a44GV44KM44G+44GX44GfICjlu4PmraLkuojlrprjgafjgZkhKSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRE9TIOS6kuaPm+ODleODqeOCsOOBr+ioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dSDjga/jgIHjgb7jgaDlrZjlnKjjgZfjgabjgYTjgb7jgZvjgpPvvIEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIuS4jeaYjiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODl+OCkiAnJXMnIOOBi+OCiSAnJXMnIOOBq+WkieabtOOBl+OBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gu44K/44Kk44OX44Gv5aSJ5pu044GX44Gm44GE44G+44Gb44KTOiAlc+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisiXG4iCisiJXM6IOOCquODleOCu+ODg+ODiCA9ICU8UFJJdTY0PuOAgeOCteOCpOOCuiA9ICV6dSDjg5DjgqTjg4jjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAi44K344O844Kv44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIuiqreOBv+WPluOCjOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICLmnIDliJ3jga7jgrvjgq/jgr8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIiVzIOOBq+WvvuOBmeOCiyBCTEtHRVRTSVpFIGlvY3RsIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIuWPpOOBhCAlcyDnvbLlkI3jga8gd3JpdGUgKOabuOOBjei+vOOBvynjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZnjgovjgajmtojjgYjjgabjgZfjgb7jgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAi5Y+k44GEICVzIOe9suWQjeOBjOODh+ODkOOCpOOCueOBq+aui+OCi+OBi+OCguOBl+OCjOOBvuOBm+OCk+OAgndpcGVmcyg4KSDjgb7jgZ/jga8gZmRpc2sgLS13aXBlIOOBp+ODh+ODkOOCpOOCueOCkiB3aXBlIOOBmeOCi+OBk+OBqOOCkuW8t+OBj+OBiuWLp+OCgeOBl+OBvuOBmeOAguihneeqgeOBruWPr+iDveaAp+OCkumBv+OBkeOCi+OBn+OCgeOBp+OBmeOAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjgqPjgrnjgq8+ICAgICAg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5aSJ5pu0XG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gLWwgWzzjg4fjgqPjgrnjgq8+XSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLkuIDopqfooajnpLpcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPOOCteOCpOOCuj4gICAg54mp55CG44GK44KI44Gz6KuW55CG44K744Kv44K/44K144Kk44K6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTIKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgYm9vdOOAgOODk+ODg+ODiOOCkua2iOOBleOBmuOBq+aWsOOBl+OBhOODqeODmeODq+OCkuS9nOaIkOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz0844Oi44O844OJPl0g5LqS5o+b44Oi44O844OJOiAnZG9zJyDjgb7jgZ/jga8gJ25vbmRvcycgKOaXouWumuWApClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz0844GE44GkPl0gICAgICAgICAg44Oh44OD44K744O844K444KS6Imy44Gl44GR44GX44G+44GZKGF1dG/jgIFhbHdheXPjgIFuZXZlciDjga7jganjgozjgYspXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PkuIDopqfjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAg5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDznqK7poZ4+ICAgICAgICAgICAgIOaMh+WumuOBl+OBn+eorumhnuOBruODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBruOBv+OCkuiqjeitmOOBleOBm+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIwCittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXRzWz085Y2Y5L2NPl0gICAgICAgICAg6KGo56S65Y2Y5L2NOiAnY3lsaW5kZXJzJyDjgb7jgZ/jga8gJ3NlY3RvcnMnICjml6LlrprlgKQpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjEKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAg44OH44OQ44Kk44K544Gu44K144Kk44K644KSIDUxMuODkOOCpOODiOOCu+OCr+OCv+aVsOOBp+ihqOekuuOBl+OBvuOBme+8iOmdnuaOqOWlqO+8iVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICDlj6/oqq3mgKfjga7pq5jjgYTlvaLlvI/jgafjga/jgarjgY/jgIHjg5DjgqTjg4jljZjkvY3jgafjgrXjgqTjgrrjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPOODouODvOODiT4gICAgICAgICAgIOe9suWQjeOCkua2iOWOu+OBmeOCiyAoYXV0bywgYWx3YXlzLCBuZXZlciDjga7jganjgozjgYspXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDzjg6Ljg7zjg4k+ICDmlrDjgZfjgYTjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYvjgonnvbLlkI3jgpLmtojljrvjgZnjgosgKGF1dG8sIGFsd2F5cywgbmV2ZXIg44Gu44Gp44KM44GLKVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI3Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA85pWw5YCkPiAgICAgICAg44K344Oq44Oz44OA5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA85pWw5YCkPiAgICAgICAgICAgIOODmOODg+ODieaVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI5Cittc2dpZCAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA85pWw5YCkPiAgICAgICAgICAxIOODiOODqeODg+OCr+OBguOBn+OCiuOBruOCu+OCr+OCv+aVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIuOCu+OCr+OCv+OCteOCpOOCuuOBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxMAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICLjgrfjg6rjg7Pjg4Djga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiRE9TIOODqeODmeODq+ODieODqeOCpOODkOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICLmnKrnn6Xjga7kupLmj5vjg6Ljg7zjg4kgJyVzJyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgIuODmOODg+ODieaVsOOBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAi44K744Kv44K/5pWw44Gu5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIuacquWvvuW/nOOBruODh+OCo+OCueOCr+ODqeODmeODq+OBp+OBmTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NzUKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICLjgrXjg53jg7zjg4jjgZfjgabjgYTjgarjgYTljZjkvY0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9mZGlzay5jOjk4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4OQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAi5pyq5a++5b+c44Gu5raI5Y6744Oi44O844OJ44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7jg5fjg63jg5Hjg4bjgqMgKOOCu+OCr+OCv+OCteOCpOOCuuWPiuOBs+OCuOOCquODoeODiOODqikg44Gv44Gf44GgIDEg44Gk44Gu44OH44OQ44Kk44K544Gg44GR44Gr5a++44GX44Gm5L2/44GG44G544GN44Gn44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAzMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA0OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njk1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODcKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NjcgZGlzay11dGlscy9yYXcuYzoxMzcgZGlzay11dGlscy9yYXcuYzoxNTAKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTYyIGRpc2stdXRpbHMvcmF3LmM6MjAzIG1pc2MtdXRpbHMvY2FsLmM6NTIwCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjU4IG1pc2MtdXRpbHMvbG9vay5jOjE1MCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1NzMKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU4NCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1OTUgbWlzYy11dGlscy93aGVyZWlzLmM6NjM3CisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MDQgc2NoZWR1dGlscy9pb25pY2UuYzoyNjIgc2NoZWR1dGlscy90YXNrc2V0LmM6MTg5CisjOiBzeXMtdXRpbHMvY2hjcHUuYzozNDQgc3lzLXV0aWxzL2NobWVtLmM6NDE5IHN5cy11dGlscy9kbWVzZy5jOjE0NjkKKyM6IHN5cy11dGlscy9pcGNtay5jOjEzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozMjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMjUgc3lzLXV0aWxzL2xzbWVtLmM6NjI4IHN5cy11dGlscy9tb3VudC5jOjY5OAorIzogc3lzLXV0aWxzL21vdW50LmM6NzExIHN5cy11dGlscy9tb3VudC5jOjc4MCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE4MQorIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3MiBzeXMtdXRpbHMvc3dhcG9mZi5jOjIzMCBzeXMtdXRpbHMvc3dhcG9uLmM6OTg4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTAgc3lzLXV0aWxzL3Vtb3VudC5jOjUyOCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTc2CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIzMyB0ZXh0LXV0aWxzL21vcmUuYzozMzcKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIuaMh+WumuOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiZmRpc2sgKCVzKSDjgbjjgojjgYbjgZPjgZ3jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyLjgZPjgZPjgafoqK3lrprjgZfjgZ/lhoXlrrnjga/jgIHmm7jjgY3ovrzjgb/jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZnjgovjgb7jgafjg6Hjg6Ljg6rjga7jgb/jgavkv53mjIHjgZXjgozjgb7jgZnjgIJcbiIKKyLmm7jjgY3ovrzjgb/jgrPjg57jg7Pjg4njgpLkvb/nlKjjgZnjgovpmpvjga/jgIHms6jmhI/jgZfjgablrp/ooYzjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAi44OP44Kk44OW44Oq44OD44OJIEdQVCDjgpLopovjgaTjgZHjgb7jgZfjgZ/jgILjg4/jgqTjg5bjg6rjg4Pjg4kgTUJSIOOCkuaJi+WLleOBp+WQjOacn+OBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBme+8iOeGn+e3tOiAheWQkeOBkeOCs+ODnuODs+ODiSAnTSfvvInjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAi44OH44Kj44K544Kv44Op44OZ44Or44Gu44K/44Kk44OXOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2QOiAlcyIKKworIyBUcmFuc2xhdG9yJ3MgTk9URTogMm5kICVzIGlzIHNpemVfdG9faHVtYW5fc3RyaW5nIGJ5dGVzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi44OH44Kj44K544KvICVzOiAlcywgJWp1IOODkOOCpOODiCwgJWp1IOOCu+OCr+OCvyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICLjgrjjgqrjg6Hjg4jjg6o6ICVkIOODmOODg+ODieOAgSVsbHUg44K744Kv44K/L+ODiOODqeODg+OCr+OAgSVsbHUg44K344Oq44Oz44OAIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICLljZjkvY06ICVzICglZCAqICVsZCA9ICVsZCDjg5DjgqTjg4gpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIuOCu+OCr+OCv+OCteOCpOOCuiAo6KuW55CGIC8g54mp55CGKTogJWx1IOODkOOCpOODiCAvICVsdSDjg5DjgqTjg4giCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkkvTyDjgrXjgqTjgrogKOacgOWwjyAvIOaOqOWlqCk6ICVsdSDjg5DjgqTjg4ggLyAlbHUg44OQ44Kk44OIIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIuOCouODqeOCpOODoeODs+ODiOOCquODleOCu+ODg+ODiDogJWx1IOODkOOCpOODiCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIzNgorIzogZGlzay11dGlscy9mc2NrLmM6MTI1NQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAi5YiX5oyZ5a2Q44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIuWHuuWKm+ODhuODvOODluODq+OBrua6luWCmeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIuWHuuWKm+WFiOOBuOOBruihjOi/veWKoOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKK21zZ2lkICJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIgorbXNnc3RyICLlh7rlipvjg4fjg7zjgr/jga7ov73liqDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44Gv54mp55CG44K744Kv44K/44Gu5aKD55WM44Gn5aeL44G+44Gj44Gm44GE44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBq+OBguOCi+ODleOCoeOCpOODq+OCt+OCueODhuODoC9SQUlE44Gu572y5ZCN44GM5a6M5YWo44Gr5raI5Y6744GV44KM44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga7poIXnm67jgYzjg4fjgqPjgrnjgq/jga7poIbluo/jgajkuIDoh7TjgZfjgb7jgZvjgpPjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAi6ZaL5aeL5L2N572uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjI0MjYKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI5IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIxCittc2dpZCAiRW5kIgorbXNnc3RyICLmnIDlvozjgYvjgokiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICLjgrvjgq/jgr8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICLjgrXjgqTjgroiCisKKyMgVHJhbnNsYXRvcidzIE5PVEU6IDJuZCAlcyBpcyBzaXplX3RvX2h1bWFuX3N0cmluZyBieXRlcworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgarjgYTpoJjln58gJXM6ICVzLCAlanUg44OQ44Kk44OILCAlanUg44K744Kv44K/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlcyDkuI3mmI7jgarjgqvjg6njg6A6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIuS4gOiIrCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCkuWJiumZpOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu44Gq44GE6aCY5Z+f44KS5LiA6Kan6KGo56S644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAi5pei55+l44Gu44OR44O844OG44Kj44K344On44Oz44K/44Kk44OX44KS5LiA6Kan6KGo56S644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICLmlrDjgZfjgYTjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLov73liqDjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuihqOekuuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODl+OCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuaknOiovOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruaDheWgseOCkuihqOekuuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7mnIDliJ3jga7jgrvjgq/jgr/jga7jg4fjg7zjgr/jgpLliqDlt6XjgZvjgZrjgavooajnpLrjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu44OH44Kj44K544Kv44Op44OZ44Or44Gu44OH44O844K/44KS5Yqg5bel44Gb44Ga44Gr6KGo56S644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu6aCG5bqP44KS5L+u5q2j44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICLjgZ3jga7ku5YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAi44GT44Gu44Oh44OL44Ol44O844KS6KGo56S644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTMKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAi6KGo56S66aCF55uu44Gu5Y2Y5L2N44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICLnibnmrormqZ/og73jgavnp7vli5XjgZfjgb7jgZkgKOeGn+e3tOiAheWQkeOBkeapn+iDvSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAi44K544Kv44Oq44OX44OIIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jga7jg6zjgqTjgqLjgqbjg4jjgpIgc2ZkaXNrIOS6kuaPm+OBruOCueOCr+ODquODl+ODiOOBi+OCieiqreOBv+i+vOOBv+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIuODh+OCo+OCueOCr+OBruODrOOCpOOCouOCpuODiOOCkiBzZmRpc2sg5LqS5o+b44Gu44K544Kv44Oq44OX44OI44Gr5pu444GN5Ye644GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAi5L+d5a2Y44Go57WC5LqGIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLjg4fjgqPjgrnjgq/jgavmm7jjgY3ovrzjgpPjgafntYLkuobjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuODh+OCo+OCueOCr+OBq+abuOOBjei+vOOBv+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICLlpInmm7TngrnjgpLkv53lrZjjgZvjgZrjgavntYLkuobjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIuODoeOCpOODs+ODoeODi+ODpeODvOOBq+aIu+OCiuOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI2Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAiQlNEIOOBi+OCiSBET1Mg44Gr5oi744KK44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIuaWsOOBl+OBhOODqeODmeODq+OCkuS9nOaIkOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOOBl+OBhCAo5L2V44KC44Gq44GEKSBHUFQg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5L2c5oiQ44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOOBl+OBhCAo5L2V44KC44Gq44GEKSBTR0kgKElSSVgpIOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OCkuS9nOaIkOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOOBl+OBhCAo5L2V44KC44Gq44GEKSBET1Mg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5L2c5oiQ44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5paw44GX44GEICjkvZXjgoLjgarjgYQpIFN1biDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLkvZzmiJDjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0NQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiSVJJWCAoU0dJKSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLkvZzmiJDjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICLjgrjjgqrjg6Hjg4jjg6rvvIjnj77lnKjjga7jg6njg5njg6vvvIkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICLjgrfjg6rjg7Pjg4DmlbDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIuODmOODg+ODieaVsOOCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICLjgrvjgq/jgr8v44OI44Op44OD44Kv5pWw44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAi44OH44Kj44K544Kv44GuIEdVSUQg44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+WQjeOCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgVVVJRCDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgIuODhuODvOODluODq+OBrumVt+OBleOCkuWkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICLkv53orbcv44OP44Kk44OW44Oq44OD44OJIE1CUiDjgavlhaXjgorjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAi44Os44Ks44K344O8QklPUyDnlKjjga7otbfli5Xlj6/og73jg5Xjg6njgrDjgpLliIfjgormm7/jgYjjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAi6Z2e44OW44Ot44OD44KvIEkvTyDjg5Xjg6njgrDjgpLliIfjgormm7/jgYjjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIuW/hemgiOODkeODvOODhuOCo+OCt+ODp+ODs+ODleODqeOCsOOCkuWIh+OCiuabv+OBiOOBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIkdVSUQg44Gr54m55pyJ44Gu44OT44OD44OI44KS5YiH44KK5pu/44GI44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAi6Kqt44G/6L6844G/5bCC55So44OV44Op44Kw44KS5YiH44KK5pu/44GI44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICLjg57jgqbjg7Pjg4jlj6/og73jg5Xjg6njgrDjgpLliIfjgormm7/jgYjjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi5Luj5pu/44K344Oq44Oz44OA5pWw44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLjgrfjg6rjg7Pjg4DjgZTjgajjga7ov73liqDjgrvjgq/jgr/mlbDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi44Kk44Oz44K/44O844Oq44O844OW44OV44Kh44Kv44K/44KS5aSJ5pu044GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIuWbnui7ouaVsCAocnBtKSDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLniannkIbjgrfjg6rjg7Pjg4DmlbDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICLotbfli5Xlj6/og73jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLpgbjmip7jgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIui1t+WLleWPr+iDveOBqumgheebruOCkue3qOmbhuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiU0dJIOOCueODr+ODg+ODl+ODkeODvOODhuOCo+OCt+ODp+ODs+OCkumBuOaKnuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA4Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJTR0kg5oOF5aCx44KS5L2c5oiQ44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAi6LW35YuV5Y+v6IO944OV44Op44Kw44KS5YiH44KK5pu/44GI44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICLlhaXjgozlrZDjga4gQlNEIOODh+OCo+OCueOCr+ODqeODmeODq+OCkue3qOmbhuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICJET1Mg5LqS5o+b44OV44Op44Kw44KS5YiH44KK5pu/44GI44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlhoXjga7jg4fjg7zjgr/plovlp4vkvY3nva7jgpLnp7vli5XjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLjg4fjgqPjgrnjgq/orZjliKXlrZDjgpLlpInmm7TjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyNQorbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIuS/neitty/jg4/jgqTjg5bjg6rjg4Pjg4kgTUJSIOOBi+OCiSBHUFQg44Gr5oi744KK44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICLjg4njg6njgqTjg5bjg4fjg7zjgr/jgpLnt6jpm4bjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICLjg5bjg7zjg4jjgrnjg4jjg6njg4Pjg5fjgpLjgqTjg7Pjgrnjg4jjg7zjg6vjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICLlrozlhajjgarjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLooajnpLrjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiQlNEIOODkeODvOODhuOCo+OCt+ODp+ODs+OBqOmdniBCU0Qg44OR44O844OG44Kj44K344On44Oz44KS44Oq44Oz44Kv44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLjg5jjg6vjg5cgKOeGn+e3tOiAheWQkeOBkeOCs+ODnuODs+ODiSk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MyBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLjg5jjg6vjg5c6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICLlhaXjgozlrZDjgavjgarjgaPjgZ8gJyVzJyDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLnt6jpm4bkuK3jgafjgZnjgIHjg5fjg6njgqTjg57jg6rjg7zjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga8gJyVzJyDjgafjgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLnhp/nt7TogIXlkJHjgZHjgrPjg57jg7Pjg4kgKG0g44Gn44OY44Or44OXKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLjgrPjg57jg7Pjg4kgKG0g44Gn44OY44Or44OXKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIue1guS6huOBl+OBpuOCiOOCjeOBl+OBhOOBp+OBmeOBiz8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IOS4jeaYjuOBquOCs+ODnuODs+ODieOBp+OBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIuOCueOCr+ODquODl+ODiOODleOCoeOCpOODq+WQjeOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiZmRpc2sg44KS44Oq44K744OD44OI44GX44Gm44GE44G+44GZISIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44KS6YGp55So44GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICLjg4fjgqPjgrnjgq/jg6zjgqTjgqLjgqbjg4jjga7jgrnjgq/jg6rjg5fjg4jjgbjjga7mm7jjgY3lh7rjgZfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjgpLkv53lrZjjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgIyV6dSDjgavjga8gJXMg572y5ZCN44GM5pu444GN6L6844G+44KM44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICLnvbLlkI3jgpLliYrpmaTjgZfjgb7jgZnjgYvvvJ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICLnvbLlkI3jga8gd3JpdGUgKOabuOOBjei+vOOBvynjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZnjgovjgajmtojjgYjjgabjgZfjgb7jgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgIuODh+OCo+OCueOCr+ODqeODmeODq+OBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu6aCG5bqP44KS5L+u5q2j44Gn44GN44G+44Gb44KT44Gn44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu6aCG5bqP44KS5L+u5q2j44GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOCkuWJiumZpOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIuihqOekuumgheebruOBruWNmOS9jeOCkuOCt+ODquODs+ODgOOBq+WkieabtOOBl+OBvuOBmSAo5Y+k44GE5qmf6IO944Gn44GZISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIuihqOekuumgheebruOBruWNmOS9jeOCkuOCu+OCr+OCv+OBq+WkieabtOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIuWFpeOCjOWtkOOBruODh+OCo+OCueOCr+ODqeODmeODq+OBi+OCiembouOCjOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAi5paw44GX44GE5pyA5aSn44Gu44Ko44Oz44OI44OqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAi5L+d6K23L+ODj+OCpOODluODquODg+ODiSBNQlIg44OH44Kj44K544Kv44Op44OZ44Or44Gr5YWl44KK44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NjEKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICLmlrDjgZfjgYQgVVVJRCAoOC00LTQtNC0xMiDlvaLlvI8pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAi5paw44GX44GE5ZCN5YmNIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIuWFpeOCjOWtkOOBriBCU0Qg44OH44Kj44K544Kv44Op44OZ44Or44Gr5YWl44KK44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAi44K344Oq44Oz44OA5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICLjg5jjg4Pjg4nmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi44K744Kv44K/5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyDjga/jg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzIOOBr+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBm+OCk1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMjkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk4IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDUKKyM6IGxpYi9wYXRoLmM6MTQwIGxpYi9wYXRoLmM6MTYxIGxpYi9wYXRoLmM6MTgyIGxpYi9wYXRoLmM6MjMwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY1NQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxNCBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MjMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIlcyDjgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgIuino+aekOOCqOODqeODvDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44OqICVzIOOCkuS9nOaIkOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jgpIgJXMg44Gn44Ot44OD44Kv44GX44Gm44GE44G+44GZIC4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIijlvoXmqZ/kuK0pICIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIuaIkOWKnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAiZmFpbGVkIgorbXNnc3RyICLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIuOCouODs+ODreODg+OCr+OBl+OBpuOBhOOBvuOBmeOAgiVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICIlcyDjgavlr77jgZnjgovjg4fjgqPjgrnjgq/jg6rjg5fjgrfjg6fjg7Pjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiAlZCDooYznm67jgafop6PmnpDjgqjjg6njg7zjgafjgZkgLS0g54Sh6KaW44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBmc3RhYiDjga7op6PmnpDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgIuWtkOODl+ODreOCu+OCueOBrui1t+WLleOBq+WkseaVlyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOWun+ihjOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NzgyCittc2dpZCAid2FpdDogbm8gbW9yZSBjaGlsZCBwcm9jZXNzPyE/IgorbXNnc3RyICJ3YWl0OiDml6LjgavlrZDjg5fjg63jgrvjgrnjgYzjgarjgY/jgarjgaPjgabjgYTjgb7jgZk/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAi6K2m5ZGKLi4uIOODh+ODkOOCpOOCuSAlMiRzIOOBq+WvvuOBmeOCiyAlMSRzIOOBjOOAgeOCt+OCsOODiuODqyAlMyRkIOOBp+e1guS6huOBl+OBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlczog54q25oWL44GvICV4IOOBp+OBmeOBjOOAgeOBk+OCjOOBr+eZuueUn+OBl+OBquOBhOOBr+OBmuOBruWApOOBp+OBmeOAgiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICIlcyDjgYzlrozkuobjgZfjgb7jgZfjgZ8gKOe1guS6huOCueODhuODvOOCv+OCuSAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICLjgqjjg6njg7wgJWQgKCVtKSDjgYznmbrnlJ/jgIFmc2NrLiVzIOOCkiAlcyDjgaflrp/ooYzkuK3jgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEwMDIKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIi10IOOBp+ODleOCoeOCpOODq+OCt+OCueODhuODoOOBruOCv+OCpOODl+OCkuaMh+WumuOBmeOCi+mam+OAgeODquOCueODiOOBruS4gOmDqOOBoOOBkeOBq+WQpuWumua8lOeul+WtkCAoJ25vJyDjgb7jgZ/jga8gJyEnKSDjgpLku5jjgZHjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpPjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiVzOiAvZXRjL2ZzdGFiIOWGheOBruS4jeato+OBquihjOOCkuiqreOBv+mjm+OBsOOBl+OBpuOBhOOBvuOBmTogZnNjayBwYXNzIG51bWJlciDjgYzjgrzjg63ku6XlpJbjga7lgKTjgavjgarjgaPjgabjgYTjgosgYmluZCBtb3VudCDjgYzlrZjlnKjjgZfjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczog5a2Y5Zyo44GX44Gq44GE44OH44OQ44Kk44K544KS6Kqt44G/6aOb44Gw44GX44Gm44GE44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiJXM6IOWtmOWcqOOBl+OBquOBhOODh+ODkOOCpOOCueOBp+OBmSAoXCJub2ZhaWxcIiBmc3RhYiDjgqrjg5fjgrfjg6fjg7PjgpLliKnnlKjjgZnjgovjgZPjgajjgafjgIHjgZPjga7jg4fjg5DjgqTjgrnjgpLoqq3jgb/po5vjgbDjgZnjgZPjgajjgYzjgafjgY3jgb7jgZkpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiDkuI3mmI7jgarjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5fjgpLoqq3jgb/po5vjgbDjgZfjgabjgYTjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIlcyDjgpLjg4Hjgqfjg4Pjgq/jgafjgY3jgb7jgZvjgpM6IGZzY2suJXMg44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAi44GZ44G544Gm44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS5qSc5p+744GX44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0t5b6F5qmf5LitLS0gKOODkeOCuSAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIC0tIFvjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgqrjg5fjgrfjg6fjg7NdIFs844OV44Kh44Kk44Or44K344K544OG44OgPiAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTGludXgg44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS5qSc5p+7L+S/ruato+OBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIOOBmeOBueOBpuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuaknOafu+OBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxmZD5dICDpgLLmjZfjgpLooajnpLrjgZfjgb7jgZk7IDxmZD4g44GvIEdVSSDjga7loLTlkIjjgavmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICDmjpLku5bjgqLjgq/jgrvjgrnjgpLkv53oqLzjgZnjgovjgZ/jgoHjgIHjg4fjg5DjgqTjgrnjgpLjg63jg4Pjgq8o5pa96YygKeOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk3Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1NICAgICAgICAg44Oe44Km44Oz44OI5riI44G/44Gu44OV44Kh44Kk44Or44K344K544OG44Og44Gv44OB44Kn44OD44Kv44GX44G+44Gb44KTXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTgKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICDlrp/pmpvjgavjga/kvZXjgoLlrp/ooYzjgZvjgZrjgIHkvZXjgYzooYzjgo/jgozjgovjgYvjgaDjgZHjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgLVAgICAgICAgICDjg6vjg7zjg4jjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLlkKvjgoHjgIHjg4Hjgqfjg4Pjgq/jgpLkuKbliJfjgaflh6bnkIbjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAgIOODq+ODvOODiOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkumjm+OBsOOBmTsgJy1BJyDjgajkvbXnlKjjgZfjgZ/loLTlkIjjgavkvr/liKnjgafjgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorIiAtciBbPGZkPl0gIOODgeOCp+ODg+OCr+OBl+OBn+WAi+OAheOBruODh+ODkOOCpOOCueOBq+WvvuOBl+OBpue1seioiOaDheWgseOCkuWgseWRiuOBl+OBvuOBmVxuIgorIiAgICAgICAgICAgIOODleOCoeOCpOODq+iomOi/sOWtkCA8ZmQ+IOOBryBHVUkg44Gu5aC05ZCI44Gr5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDMKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAg44OB44Kn44OD44Kv5Yem55CG44KS6YCQ5qyh55qE44Gr6KGM44GE44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICDotbfli5XmmYLjgavjgr/jgqTjg4jjg6vjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPOOCv+OCpOODlz4g44OB44Kn44OD44Kv5a++6LGh44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS5oyH5a6a44GX44G+44GZO1xuIgorIiAgICAgICAgICAgICA844K/44Kk44OXPiDjga/jgqvjg7Pjg57ljLrliIfjgorjga7jg6rjgrnjg4jjgafmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIOS9leOBjOihjOOCj+OCjOOCi+OBruOBi+OCkuips+OBl+OBj+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og5Zu65pyJ44Gu44Kq44OX44K344On44Oz44Gr44Gk44GE44Gm44Gv44CBIGZzY2suKiDjgrPjg57jg7Pjg4njga7jg5jjg6vjg5fjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjgYzlpJrjgZnjgY7jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiL3Byb2Mg44KS44Oe44Km44Oz44OI44GX44Gm44GE44G+44GZ44GL77yfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIuipsuW9k+OBmeOCi+ODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuODgeOCp+ODg+OCr+OBmeOCi+OBq+OBr+OAgSByb290IOOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAi6Kmy5b2T44GZ44KL44OV44Kh44Kk44Or44K344K544OG44Og44GM6KaL44Gk44GL44KK44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ5MiBkaXNrLXV0aWxzL2ZzY2suYzoxNTg5IG1pc2MtdXRpbHMva2lsbC5jOjIzNgorIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc4Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICLlvJXmlbDjgYzlpJrjgZnjgY7jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgIi1yIOOBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAi44Kq44OX44K344On44OzICclcycg44Gv5LiA5bqm44Gg44GR5oyH5a6a44Gn44GN44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAi44Kq44OX44K344On44OzICclcycg44Gr44Gv5byV5pWw44GM5b+F6KaB44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICItciDjga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgIi1sIOOCquODl+OCt+ODp+ODs+OBryAxIOOBpOOBruODh+ODkOOCpOOCueOBruOBv+OCkuaMh+WumuOBl+OBn+WgtOWQiOOBq+OBruOBv+acieWKueOBp+OBmSAtLSDjgqjjg6njg7zjgpLnhKHoppbjgZfjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5XjgqHjgqTjg6s+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5Zyn57iuUk9NIOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuaknOafuy/kv67mraPjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIOS6kuaPm+aAp+eiuuS/neOBruOBn+OCgeOBq+eUqOaEj+OBleOCjOOBpuOBhOOBvuOBmeOAguaMh+WumuOBl+OBpuOCguS9leOCguOBl+OBvuOBm+OCk1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDjgojjgoroqbPjgZfjgY/lh7rlipvjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIOS6kuaPm+aAp+eiuuS/neOBruOBn+OCgeOBq+eUqOaEj+OBleOCjOOBpuOBhOOBvuOBmeOAguaMh+WumuOBl+OBpuOCguS9leOCguOBl+OBvuOBm+OCk1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDzjgrXjgqTjgro+IOOBk+OBruODluODreODg+OCr+OCteOCpOOCuuOCkuS9v+eUqOOBl+OBvuOBmeOAguODh+ODleOCqeODq+ODiOOBr+ODmuODvOOCuOOCteOCpOOCuuOBp+OBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz0844OH44Kj44Os44Kv44OI44OqPl0g5bGV6ZaL44KS44OG44K544OI44GX44G+44GZ44CC44Kq44OX44K344On44Oz44Gn5bGV6ZaL5YWI44Gu44OH44Kj44Os44Kv44OI44Oq44KS5oyH5a6a44Gn44GN44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiaW9jdGwg44GM5aSx5pWXOiDjg4fjg5DjgqTjgrnjgrXjgqTjgrrjgpLlj5blvpfjgafjgY3jgb7jgZvjgpM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAi44OW44Ot44OD44Kv44OH44OQ44Kk44K544GL44OV44Kh44Kk44Or44Gn44Gv44GC44KK44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICLjg5XjgqHjgqTjg6vjga7plbfjgZXjgYznn63jgZnjgY7jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzYgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MSBsaWJmZGlzay9zcmMvYnNkLmM6NzE3IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTIKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDMgbG9naW4tdXRpbHMvbGFzdC5jOjIzNyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlcyDjga7jgrfjg7zjgq/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/jga7jg57jgrjjg4Pjgq/lgKTjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiY3JhbWZzIOOBryAlcyBlbmRpYW4g44Gn44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJiaWciCittc2dzdHIgImJpZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAibGl0dGxlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkyCittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAi44K144Od44O844OI44GV44KM44Gq44GE44OV44Kh44Kk44Or44K344K544OG44Og44Gu5qmf6IO944Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAi44K544O844OR44O844OW44Ot44OD44Kv44Gu44K144Kk44K6ICglZCkg44GM5bCR44Gq44GZ44GO44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAi44OV44Kh44Kk44Or44GM44OR44O844OG44Kj44K344On44Oz44Gu57WC56uv44KS6LaF44GI44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA3Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIuWPpOOBhGNyYW1mc+W9ouW8j+OBp+OBmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIkNSQ+OCkuODhuOCueODiOOBp+OBjeOBvuOBm+OCkzog5Y+k44GEY3JhbWZz5b2i5byP44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgIiU8UFJJdTMyPiDjg5DjgqTjg4jjgpLjg5XjgqHjgqTjg6sgJXMg44GL44KJ6Kqt44G/6L6844KB44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJjcmPjgqjjg6njg7wiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYwCittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgIuOCt+ODvOOCr+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJyb21mcyDjga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgInJvb3QgaW5vZGUg44GM44OH44Kj44Os44Kv44OI44Oq44Gn44Gv44GC44KK44G+44Gb44KTICIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgIuODq+ODvOODiOOCquODleOCu+ODg+ODiOOBjOS4jeato+OBp+OBmSAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MgorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICLjg4fjg7zjgr/jg5bjg63jg4Pjgq/jgYzlpKfjgY3jgZnjgY7jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgIuWxlemWi+OCqOODqeODvDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgICVsdSAoJXp1KSDjgavjg5vjg7zjg6vjgYzjgYLjgorjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgJWx1IOOBq+OBguOCi+ODluODreODg+OCr+OCkiAlbHUgKCVsdSkg44Gr5bGV6ZaL44GX44Gm44GE44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICLjg5bjg63jg4Pjgq/kuI3mraMgKCVsZCkg44OQ44Kk44OIIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAi44K144Kk44K65LiN5q2jICglbGQgdnMgJWxkKSDjg5DjgqTjg4giCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxOAorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDkgbWlzYy11dGlscy91dWlkZC5jOjM2NiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NDA4CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTUxIHN5cy11dGlscy9zZXRwcml2LmM6NjIwIHN5cy11dGlscy9zZXRwcml2LmM6NjQzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzkzIHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIuabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImxjaG93biDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIOOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUg44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44OqaW5vZGXjga7jgqrjg5Xjgrvjg4Pjg4jlgKTjgYww44Gn44GC44KL44Gr44KC44GL44GL44KP44KJ44Ga44CB44K144Kk44K644GMMOOBq+OBquOBo+OBpuOBhOOBvuOBm+OCkzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXLjgYzlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIuODleOCoeOCpOODq+WQjeOBrumVt+OBleOBjOOCvOODreOBp+OBmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIuODleOCoeOCpOODq+WQjeOBrumVt+OBleOBjOS4jeato+OBp+OBmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgIuS4jeato+OBqmlub2Rl44Kq44OV44K744OD44OI5YCkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgIuODleOCoeOCpOODq2lub2Rl44Gu44Kq44OV44K744OD44OI5YCk44GMMOOBp+OBguOCi+OBq+OCguOBi+OBi+OCj+OCieOBmuOAgeOCteOCpOOCuuOBjDDjgavjgarjgaPjgabjgYTjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAi44OV44Kh44Kk44OraW5vZGXjga7jgrXjgqTjgrrjgYww44Gn44GC44KL44Gr44KC44GL44GL44KP44KJ44Ga44CB44Kq44OV44K744OD44OI5YCk44GMMOOBq+OBquOBo+OBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICLjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jga7jgqrjg5Xjgrvjg4Pjg4jlgKTjgYww44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICLjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jga7jgrXjgqTjgrrjgYww44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIuOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBruOCteOCpOOCuuOBjOS4jeato+OBp+OBmTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJzeW1saW5rIOOBjOWkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICLjgrnjg5rjgrfjg6Pjg6vjg5XjgqHjgqTjg6vjga7jgqrjg5Xjgrvjg4Pjg4jlgKTjgYww44Gr44Gq44Gj44Gm44GE44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyDjga7jgrXjgqTjgrrjgYww44Gr44Gq44Gj44Gm44GE44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICLjgr3jgrHjg4Pjg4jjga7jgrXjgqTjgrrjgYww44Gr44Gq44Gj44Gm44GE44G+44Gb44KTOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICLkuI3mraPjgarjg6Ljg7zjg4k6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2Qg44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6rjg4fjg7zjgr/jga7plovlp4vkvY3nva4gKCVsdSkg44GMIHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIOOCiOOCiuWwj+OBleOBj+OBquOBo+OBpuOBhOOBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6rjg4fjg7zjgr/jga7ntYLkuobkvY3nva4gKCVsdSkg44GM44OV44Kh44Kk44Or44OH44O844K/44Gu6ZaL5aeL5L2N572uICglbHUpIOOBqOWQiOiHtOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAi5LiN5q2j44Gq44OV44Kh44Kk44Or44OH44O844K/44Kq44OV44K744OD44OI5YCk44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi44OW44Ot44OD44Kv44K144Kk44K644Gu5oyH5a6a44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTWluaXgg44OV44Kh44Kk44Or44K344K544OG44Og44Gr55+b55u+44GM44Gq44GE44GL5qSc5p+744GX44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICDjgZnjgbnjgabjga7jg5XjgqHjgqTjg6vlkI3jgpLkuIDopqfooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICDoh6rli5Xkv67lvqnjgpLooYzjgYTjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAtciwgLS1yZXBhaXIgICAgIOWvvuipseeahOOBquS/ruW+qeOCkuihjOOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOWGl+mVt+WHuuWKm+ODouODvOODieOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zLCAtLXN1cGVyICAgICAg44K544O844OR44O844OW44Ot44OD44Kv44Gu5oOF5aCx44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAgJ21vZGUgbm90IGNsZWFyZWQnIOitpuWRiuOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICDjg4Hjgqfjg4Pjgq/jgpLlvLfliLbjgZfjgb7jgZlcbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAoeS9uKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4veSk/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAieVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMg44Gv44Oe44Km44Oz44OI44GV44KM44Gm44GE44G+44GZXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIuacrOW9k+OBq+e2muihjOOBl+OBpuOCiOOCjeOBl+OBhOOBp+OBmeOBiyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgIuODgeOCp+ODg+OCr+OCkuS4reatouOBl+OBvuOBl+OBn+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAi44OV44Kh44Kk44OrIGAlcycg5YaF44GnIFpvbmUgbnIg44GMIEZJUlNUWk9ORSDjgojjgorlsI/jgZXjgY/jgarjgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLjg5XjgqHjgqTjg6sgYCVzJyDlhoXjgacgWm9uZSBuciDjgYwgWk9ORVMg44Go562J44GX44GE44GL44CB44KI44KK5aSn44GN44GP44Gq44Gj44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jgpLliYrpmaTjgZfjgb7jgZnjgYsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi6Kqt44G/6L6844G/44Ko44Op44O8OiDjg5XjgqHjgqTjg6sgJyVzJyDlhoXjga7jg5bjg63jg4Pjgq/jgbggc2VlayDjgafjgY3jgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi6Kqt44G/6L6844G/44Ko44Op44O8OiDjg5XjgqHjgqTjg6sgJyVzJyDjgavkuI3mraPjg5bjg63jg4Pjgq/jgYzjgYLjgorjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisi5YaF6YOo44Ko44Op44O8OiDkuI3mraPjg5bjg63jg4Pjgq/jgbjjga7mm7jjgY3ovrzjgb9cbiIKKyLmm7jjgY3ovrzjgb/opoHmsYLjga/nhKHoppbjgZXjgozjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIuabuOOBjei+vOOBv+ODluODreODg+OCr+WGheOBriBzZWVrIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIuabuOOBjei+vOOBv+OCqOODqeODvDog44OV44Kh44Kk44Or44Gu5LitICclcycg44Gr5LiN5q2j44OW44Ot44OD44Kv44GM44GC44KK44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAi6K2m5ZGKOiDjg5bjg63jg4Pjgq/jgYznr4Tlm7LlpJbjgafjgZnjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIuOCueODvOODkeODvOODluODreODg+OCr+abuOOBjei+vOOBv+aZguOBrnNlZWvjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAi44K544O844OR44O844OW44Ot44OD44Kv44KS5pu444GN6L6844KB44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJpbm9kZeODnuODg+ODl+OCkuabuOOBjei+vOOCgeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICLjgr7jg7zjg7Pjg57jg4Pjg5fjgpLmm7jjgY3ovrzjgoHjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgImlub2Rl44KS5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/nlKjjga7jg5Djg4Pjg5XjgqHjgpLnorrkv53jgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/jgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIuOCueODvOODkeODvOODluODreODg+OCr+OBq+S4jeato+OBquODnuOCuOODg+OCr+ODiuODs+ODkOODvOOBjOOBguOCiuOBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICIxSyDjg5bjg63jg4Pjgq/vvI/jgrXjgqTjgrrjgavjga7jgb/lr77lv5zjgZfjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIuOCueODvOODkeODvOODluODreODg+OCr+WGheOBriBzX25pbm9kZXMg44OV44Kj44O844Or44OJ44GM5LiN5q2j44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi44K544O844OR44O844OW44Ot44OD44Kv5YaF44GuIHNfaW1hcF9ibG9ja3Mg44OV44Kj44O844Or44OJ44GM5LiN5q2j44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/lhoXjga4gc19maXJzdGRhdGF6b25lIOODleOCo+ODvOODq+ODieOBjOS4jeato+OBp+OBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIuOCueODvOODkeODvOODluODreODg+OCr+WGheOBriBzX3ptYXBfYmxvY2tzIOODleOCo+ODvOODq+ODieOBjOS4jeato+OBp+OBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJpbm9kZSDjg57jg4Pjg5fnlKjjga7jg5Djg4Pjg5XjgqHjgpLnorrkv53jgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICLjgr7jg7zjg7Pjg57jg4Pjg5fnlKjjga7jg5Djg4Pjg5XjgqHjgpLnorrkv53jgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiaW5vZGUg55So44Gu44OQ44OD44OV44Kh44KS56K65L+d44Gn44GN44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiaW5vZGUg44Kr44Km44Oz44K/55So44Gu44OQ44OD44OV44Kh44KS56K65L+d44Gn44GN44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjgKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICLjgr7jg7zjg7Pjgqvjgqbjg7Pjgr/nlKjjga7jg5Djg4Pjg5XjgqHjgpLnorrkv53jgafjgY3jgb7jgZvjgpPjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiaW5vZGUg44Oe44OD44OX44KS6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzYKK21zZ2lkICJVbmFibGUgdG8gcmVhZCB6b25lIG1hcCIKK21zZ3N0ciAi44K+44O844Oz44Oe44OD44OX44GM6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgImlub2RlIOOCkuiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICLorablkYo6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQg5YCL44GuIGlub2RlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCDlgIvjga7jg5bjg63jg4Pjgq9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZSDjgrXjgqTjgro9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIuacgOWkp+OCteOCpOOCuj0lenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og54q25oWLPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuWQjeWJjemVtz0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgImlub2RlICVkIOOBr+acquS9v+eUqOOBp+OBguOCi+OBqOODnuODvOOCr+OBleOCjOOBpuOBhOOBvuOBmeOBjOOAgeODleOCoeOCpOODqyAnJXMnIOOBjOS9v+eUqOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIzCittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIuS9v+eUqOa4iOOBv+OBqOOBl+OBpuODnuODvOOCr+OBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAi44OV44Kh44Kk44OrIGAlcycg44Gv44Oi44O844OJICUwNW8g44Gn44GZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAi6K2m5ZGKOiBpbm9kZSDmlbDjgYzlpKfjgY3jgZnjgY7jgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuODq+ODvOODiCBpbm9kZSDjgYzjg4fjgqPjg6zjgq/jg4jjg6rjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jga/ku6XliY3jgYvjgonkvb/nlKjjgZXjgozjgabjgYTjgb7jgZnjgILnj77lnKjjga/jg5XjgqHjgqTjg6sgYCVzJyDlhoXjgavlsZ7jgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIuOCr+ODquOCouOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICLjg5XjgqHjgqTjg6sgYCUyJHMnIOOBruODluODreODg+OCryAlMSRkIOOBr+acquS9v+eUqOOBp+OBguOCi+OBqOODnuODvOOCr+OBleOCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNgorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIuato+OBl+OBhOOBp+OBmeOBiyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6ogJyVzJyDjgavjga/jg5XjgqHjgqTjg6sgJyUuKnMnIOOBq+WvvuOBmeOCi+S4jeato+OBqiBpbm9kZSDnlarlj7fjgYzlkKvjgb7jgozjgabjgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDQxCittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIOWJiumZpOOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczog5LiN5q2j44Gq44OH44Kj44Os44Kv44OI44OqOiDmnIDliJ3jga7poIXnm67jgYwgJy4nIOOBp+OBr+OBguOCiuOBvuOBm+OCk1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IOS4jeato+OBquODh+OCo+ODrOOCr+ODiOODqjogMiDnlarnm67jga7poIXnm67jgYwgJy4uJyDjgafjga/jgYLjgorjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIzCittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIuWGhemDqOOCqOODqeODvCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiDkuI3mraPjgarjg4fjgqPjg6zjgq/jg4jjg6o6IOOCteOCpOOCuuOBjCAzMiDmnKrmuoDjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiDkuI3mraPjgarjg4fjgqPjg6zjgq/jg4jjg6o6IOeEoeWKueOBqiBpX3pvbmUg44Gn44GZ44CBLS1yZXBhaXIg44Gn5L+u5q2j44GX44Gm44GP44Gg44GV44GEXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzgKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiYmFkX3pvbmUg44Gn44GuIHNlZWsg44Gr5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJpbm9kZSAlbHUg44Gu44Oi44O844OJ44GM44Kv44Oq44Ki44GV44KM44Gm44GE44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiaW5vZGUgJWx1IOOBr+acquS9v+eUqOOBp+OBmeOBjOOAgeODk+ODg+ODiOODnuODg+ODl+OBp+OBr+S9v+eUqOS4reOBp+OBguOCi+OBqOODnuODvOOCr+OBleOCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJpbm9kZSAlbHUg44Gv5L2/55So5Lit44Gn44GZ44GM44CB44OT44OD44OI44Oe44OD44OX44Gn44Gv5pyq5L2/55So44Gn44GC44KL44Go44Oe44O844Kv44GV44KM44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjAKK21zZ2lkICJTZXQiCittc2dzdHIgIuioreWumuOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgImlub2RlICVsdSAo44Oi44O844OJID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI3Cittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJpX25saW5rcyDjga7lgKTjgpIgY291bnQg44Gu5YCk44Gr6Kit5a6a44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmUgJWx1OiDkvb/nlKjkuK3jgafjgYLjgovjgajjg57jg7zjgq/jgZXjgozjgabjgYTjgb7jgZnjgYzjgIHjganjga7jg5XjgqHjgqTjg6vjgoLkvb/nlKjjgZfjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAi44Oe44O844Kv44KS6Kej6Zmk44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25lICVsdTog5L2/55So5LitLCDjgqvjgqbjg7Pjg4g9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbmUgJWx1OiDmnKrkvb/nlKgsIOOCq+OCpuODs+ODiD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjk5Cittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgIuS4jeato+OBqiBpbm9kZSDjgrXjgqTjgroiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAi5LiN5q2j44GqIHYyIGlub2RlIOOCteOCpOOCuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgIuWvvuipseeahOOBquS/ruW+qeOCkuihjOOBhuOBq+OBr+OAgeerr+acq+OBjOW/heimgeOBp+OBmSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgIiVzIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyDjga/jgq/jg6rjg7zjg7PjgafjgZnjgIHjg4Hjgqfjg4Pjgq/jga/ooYzjgYTjgb7jgZvjgpPjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIuW8t+WItueahOOBqyAlcyDjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLjg4Hjgqfjg4Pjgq/jgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiJXMg44Gu44OV44Kh44Kk44Or44K344K544OG44Og44Gv5rGa5p+T44GV44KM44Gm44GE44G+44GZ44CC5qSc5p+744GM5b+F6KaB44Gn44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCDlgIvjga4gaW5vZGUg44GM5L2/55So5Lit44Gn44GZICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkIOWAi+OBruOCvuODvOODs+OBjOS9v+eUqOS4reOBp+OBmSAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQg5YCL44Gu6YCa5bi444OV44Kh44Kk44OrXG4iCisiJTZkIOWAi+OBruODh+OCo+ODrOOCr+ODiOODqlxuIgorIiU2ZCDlgIvjga7jgq3jg6Pjg6njgq/jgr/jg4fjg5DjgqTjgrnjg5XjgqHjgqTjg6tcbiIKKyIlNmQg5YCL44Gu44OW44Ot44OD44Kv44OH44OQ44Kk44K544OV44Kh44Kk44OrXG4iCisiJTZkIOWAi+OBruODj+ODvOODieODquODs+OCr1xuIgorIiU2ZCDlgIvjga7jgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq9cbiIKKyItLS0tLS1cbiIKKyIlNmQg5YCL44Gu44OV44Kh44Kk44OrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgYzlpInmm7TjgZXjgozjgb7jgZfjgZ9cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDMyIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzOAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1NDEgZGlzay11dGlscy9wYXJ0eC5jOjEwNTggZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTE0CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDAwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MSBzeXMtdXRpbHMvZG1lc2cuYzo2NjEgc3lzLXV0aWxzL3dkY3RsLmM6MzQ3CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTIgdGVybS11dGlscy9zY3JpcHQuYzoyOTggdGVybS11dGlscy9zY3JpcHQuYzozNzUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4NyB0ZXh0LXV0aWxzL3BnLmM6MTI1NgorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAi5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IElTTyDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgafjga/jgarjgYTjgoLjga7jgajmgJ3jgo/jgozjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMSBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAi6Kqt44G/6L6844G/44Ko44Op44O844Gn44GZOiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICLjgrvjgq/jgr/mlbA6ICVkLCDjgrvjgq/jgr/jgrXjgqTjgro6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+IC4uLlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPGlzbzk2NjAg44Kk44Oh44O844K444OV44Kh44Kk44OrPiAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIklTTy05NjYwIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBrumVt+OBleOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTUKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiICAtZCwgLS1kaXZpc29yPTzmlbDlgKQ+ICA85pWw5YCkPiDjgafmjIflrprjgZfjgZ/jg5DjgqTjg4jmlbDjga7jgrXjgqTjgrrjgafliIblibLjgZfjgZ/mlbDjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICDjgrvjgq/jgr/mlbDjgajjgrXjgqTjgrrjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICItLWRpdmlzb3Ig44Gu5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICLkvb/jgYTmlrk6ICVzIFvjgqrjg5fjgrfjg6fjg7NdIOODh+ODkOOCpOOCuSBb44OW44Ot44OD44Kv44Kr44Km44Oz44OIXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiU0NPIGJmcyDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAg5b+F6KaB44GqIGlub2RlcyDmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICDjg5zjg6rjg6Xjg7zjg6DlkI3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DlkI3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLoqbPjgZfjgY/ooajnpLrjgZfjgb7jgZlcbiIKKyIgLWMgICAgICAgICAgICAgICAgICDjgZPjga7jgqrjg5fjgrfjg6fjg7Pjga/nhKHoppbjgZXjgozjgb7jgZlcbiIKKyIgLWwgICAgICAgICAgICAgICAgICDjgZPjga7jgqrjg5fjgrfjg6fjg7Pjga/nhKHoppbjgZXjgozjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiaW5vZGUg5pWw44Gu5pWw5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIuODnOODquODpeODvOODoOWQjeOBjOmVt+OBmeOBjuOBvuOBmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1OAorbXNnaWQgImZzbmFtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DlkI3jgYzplbfjgZnjgY7jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICLjg5bjg63jg4Pjgq/jgqvjgqbjg7Pjg4jjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICIlcyDjga7jgrXjgqTjgrrjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgIuODluODreODg+OCr+OBruW8leaVsOOBjOWkp+OBjeOBmeOBjuOBvuOBmeOAguacgOWkp+OBryAlbGx1IOOBp+OBmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgImlub2RlIOaVsOOBjOWkmuOBmeOBjuOBvuOBmSAtIOacgOWkp+OBryA1MTIg44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIumgmOWfn+OBjOS4jei2s+OBl+OBpuOBhOOBvuOBmeOAguacgOS9juOBp+OCgiAlbGx1IOODluODreODg+OCr+W/heimgeOBp+OBmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIuODh+ODkOOCpOOCuTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICLjg5zjg6rjg6Xjg7zjg6A6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOWQjTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jgrXjgqTjgro6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgImlub2RlIOaVsDogJWxkICgxIOODluODreODg+OCr+OBguOBn+OCiilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgImlub2RlIOaVsDogJWxkICglbGx1IOODluODreODg+OCr+OBguOBn+OCiilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAi44OW44Ot44OD44Kv5pWwOiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgImlub2RlIOe1guerrzogJWQsIOODh+ODvOOCv+e1guerrzogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAi44K544O844OR44O844OW44Ot44OD44Kv5pu444GN6L6844G/5Lit44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICLjg6vjg7zjg4ggaW5vZGUg44Gu5pu444GN6L6844G/5Lit44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiaW5vZGUg44Gu5pu444GN6L6844G/5Lit44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAic2VlayDjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgIicuJyDjga7jgqjjg7Pjg4jjg6rjgpLmm7jjgY3ovrzjgoDpmpvjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDEKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICInLi4nIOOBruOCqOODs+ODiOODquOCkuabuOOBjei+vOOCgOmam+OBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICIlcyDjgpLplonjgZjjgovpmpvjgavjgafjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbLXQgPOOCv+OCpOODlz5dIFtmcy1vcHRpb25zXSA844OH44OQ44Kk44K5PiBbPOOCteOCpOOCuj5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkxpbnV4IOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuS9nOaIkOOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTzjgr/jgqTjg5c+ICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7nqK7poZ7jgpLmjIflrprjgZfjgb7jgZnjgILkvZXjgoLmjIflrprjgZfjgarjgYTloLTlkIjjgIEgIGV4dDIg44GM5oyH5a6a44GV44KM44Gf44KC44Gu44Go44G/44Gq44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgZnMtb3B0aW9ucyAgICAg5a6f6Zqb44Gu44OV44Kh44Kk44Or44K344K544OG44Og44OT44Or44OA44Gr5rih44GZ44Kq44OX44K344On44Oz44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA844OH44OQ44Kk44K5PiAgICAgICDkvb/nlKjjgZnjgbnjgY3jg4fjg5DjgqTjgrnjga7jg5HjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDzjgrXjgqTjgro+ICAgICAgICAg44GT44Gu44OH44OQ44Kk44K544Gn5L2/55So44GZ44KL44OW44Ot44OD44Kv5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIOS9leOBjOihjOOCj+OCjOOCi+OBruOBi+OCkuips+OBl+OBj+ihqOekuuOBl+OBvuOBmTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgMiDjgaTku6XkuIogLVYg44KS5oyH5a6a44GZ44KL44Go44CB5a6f6Zqb44Gr44Gv5L2V44KC6KGM44KP44Gq44GE44KI44GG44Gr44Gq44KK44G+44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBpbmNsdWRlL2MuaDoyMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQzNQorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MSBsb2dpbi11dGlscy9zdWxvZ2luLmM6Nzk1IHN5cy11dGlscy9mbG9jay5jOjEyMQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTUgdGVybS11dGlscy9zY3JpcHQuYzo2MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIiVzIOOBruWun+ihjOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyLkvb/jgYTmlrk6ICVzIFstaF0gWy12XSBbLWIg44OW44Ot44OD44Kv44K144Kk44K6XSBbLWUg44Ko44OH44Kj44K344On44OzXSBbLU4g44Ko44Oz44OH44Kj44Ki44OzXSAgWy1pIOODleOCoeOCpOODq10gWy1uIOWQjeWJjV0g44OH44Kj44Os44Kv44OI44Oq5ZCNIOWHuuWKm+ODleOCoeOCpOODq1xuIgorIiAtdiAgICAgICAgIOOCiOOCiuips+OBl+OBj+WHuuWKm+OBl+OBvuOBmVxuIgorIiAtRSAgICAgICAgIOOBmeOBueOBpuOBruitpuWRiuOCkuOCqOODqeODvOOBqOOBl+OBpuaJseOBhOOBvuOBmSAoMCDku6XlpJbjga7ntYLkuobjgrnjg4bjg7zjgr/jgrnjgavjgarjgorjgb7jgZkpXG4iCisiIC1iIOODluODreODg+OCr+OCteOCpOOCuiDmjIflrprjgZfjgZ/jg5bjg63jg4Pjgq/jgrXjgqTjgrrjgpLkvb/nlKjjgZfjgb7jgZkgKOODmuODvOOCuOOCteOCpOOCuuOBqOWQjOOBmOOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkylcbiIKKyIgLWUg44Ko44OH44Kj44K344On44OzIOOCqOODh+OCo+OCt+ODp+ODs+eVquWPtyAoZnNpZCDjga7kuIDpg6gpIOOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtTiDjgqjjg7Pjg4fjgqPjgqLjg7MgIOOCqOODs+ODh+OCo+OCouODsyAoYmlnLCBsaXR0bGUsIGhvc3QpIOOCkuaMh+WumuOBl+OBvuOBmeOAguaXouWumuWApOOBryBob3N0IOOBp+OBmVxuIgorIiAtaSDjg5XjgqHjgqTjg6sg44OV44Kh44Kk44Or44K344K544OG44Og5YaF44Gr44CB5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44KS5oy/5YWl44GX44G+44GZXG4iCisiIC1uIOWQjeWJjSAgICBjcmFtZnMg44OV44Kh44Kk44Or44K344K544OG44Og44Gu5ZCN5YmN44KS5oyH5a6a44GX44G+44GZXG4iCisiIC1wICAgICAgICAg44OW44O844OI44Kz44O844OJ55So44GrICVkIOODkOOCpOODiOOBp+ODkeODh+OCo+ODs+OCsOOBl+OBvuOBmVxuIgorIiAtcyAgICAgICAgIOODh+OCo+ODrOOCr+ODiOODquOCqOODs+ODiOODquOCkuS4puOBueabv+OBiOOCiyAo5Y+k44GE44Kq44OX44K344On44OzLCDnhKHoppbjgZXjgozjgb7jgZkpXG4iCisiIC16ICAgICAgICAg5piO56S655qE44Gq44Ob44O844Or44KS5oyH5a6a44GX44G+44GZXG4iCisiIOODh+OCo+ODrOOCr+ODiOODquWQjSDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLlnKfnuK7jgZnjgovmmYLjga7jg6vjg7zjg4jjgajjgarjgovjg4fjgqPjg6zjgq/jg4jjg6rjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIg5Ye65Yqb44OV44Kh44Kk44OrIOWHuuWKm+WFiOOBruODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rIOOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6ogJXMg44KS6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBjOWkp+OBjeOBmeOBjuOBvuOBmeOAgue1guS6huOBl+OBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFOiDjg5bjg63jg4Pjgq8gXCJjb21wcmVzc2VkXCIg44GMIDIq44OW44Ot44OD44Kv6ZW3ICglbGQpIOOCkui2heOBiOOBvuOBl+OBn1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIOODkOOCpOODiClcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgpLplonjgZjjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLjgqjjg4fjgqPjgrfjg6fjg7Pnlarlj7fjga7lvJXmlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIuOCqOODs+ODh+OCo+OCouODs+OBruaMh+WumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiAnYmlnJywgJ2xpdHRsZScsICdob3N0JyDjga7jgYTjgZrjgozjgYvjgpLmjIflrprjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICLorablkYo6IOODleOCoeOCpOODq+OCt+OCueODhuODoOOBq+W/heimgeOBquOCteOCpOOCuuOBjOOAgeacgOWkp+OBpyAlbGxkTUIg44Gn44GC44KL44Go5o6o5ris44GV44KM44Gm44GE44G+44GZ44CC44GT44KM44Gv44Kk44Oh44O844K444K144Kk44K644Gu5pyA5aSn5YCkICV1TUIg44KS6LaF44GI44Gm44GE44KL44Gf44KB44CB5L2c5oiQ44GM5aSx5pWX44GZ44KL44GL44KC44GX44KM44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiUk9NIOOCpOODoeODvOOCuOODnuODg+ODlyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIuS4i+iomOOBruOCguOBruOCkuaMv+WFpeOBl+OBvuOBmTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIuODh+OCo+ODrOOCr+ODiOODquODh+ODvOOCvzogJXpkIOODkOOCpOODiFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAi44GZ44G544GmOiAlemQg44Kt44Ot44OQ44Kk44OIXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq86ICV6ZCDjg5DjgqTjg4hcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICJST00g44Kk44Oh44O844K444Gr5a++44GX44Gm5Y2B5YiG44Gq6aCY5Z+f44KS56K65L+d44Gn44GN44G+44Gb44KTICglbGxkIOODkOOCpOODiOOBjOWJsuOCiuW9k+OBpua4iOOBvywgJXp1IOODkOOCpOODiOOBjOS9v+eUqOa4iOOBvykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlJPTSDjgqTjg6Hjg7zjgrjjga7mm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8gKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk0Cittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICJST00g44Kk44Oh44O844K4IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICLorablkYo6IOODleOCoeOCpOODq+WQjeOCkiAldSDjg5DjgqTjg4jjgavliIfjgoroqbDjgoHjgb7jgZfjgZ/jgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgIuitpuWRijog44Ko44Op44O844Gu44Gf44KB44CB44GE44GP44Gk44GL44Gu44OV44Kh44Kk44Or44KS6aOb44Gw44GX44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAi6K2m5ZGKOiDjg5XjgqHjgqTjg6vjgrXjgqTjgrrjgpIgJWx1TUIgKC0xIOODkOOCpOODiCkg44Gr5YiH44KK6Kmw44KB44G+44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTExCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIuitpuWRijogdWlkIOOCkiAldSDjg5Pjg4Pjg4jjgavliIfjgoroqbDjgoHjgb7jgZfjgZ8gKOOCu+OCreODpeODquODhuOCo+OBq+OBlOazqOaEj+OBj+OBoOOBleOBhCkg44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIuitpuWRijogZ2lkIOOCkiAldSDjg5Pjg4Pjg4jjgavliIfjgoroqbDjgoHjgb7jgZfjgZ8gKOOCu+OCreODpeODquODhuOCo+OBq+OBlOazqOaEj+OBj+OBoOOBleOBhCkg44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIuitpuWRijog44OH44OQ44Kk44K555Wq5Y+344KSICV1IOODk+ODg+ODiOOBq+WIh+OCiuipsOOCgeOBvuOBl+OBn+OAguOBk+OCjOOBr+S4u+OBq+OAgeOBhOOBj+OBpOOBi+OBruODh+ODkOOCpOOCueOBjOato+OBl+OBj+OBquOBhOOBk+OBqOOCkuekuuOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSDjg4fjg5DjgqTjgrkgW+ODluODreODg+OCr+OCq+OCpuODs+ODiF1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgIE1pbml4IHZlcnNpb24gMSDjgpLkvb/jgYZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIE1pbml4IHZlcnNpb24gMiDjgpLkvb/jgYZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiIC0zICAgICAgICAgICAgICAgICAgICAgIE1pbml4IHZlcnNpb24gMyDjgpLkvb/jgYZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA85pWw5YCkPiAg44OV44Kh44Kk44Or5ZCN44Gu5pyA6ZW344K144Kk44K6XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDzmlbDlgKQ+ICAgICAg44OV44Kh44Kk44Or44K344K544OG44Og44GuIGlub2RlcyDjga7mlbBcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIOODh+ODkOOCpOOCueOBruS4jeiJr+ODluODreODg+OCr+OCkuiqv+OBueOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDYKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIgLWwsIC0tYmFkYmxvY2tzIDzjg5XjgqHjgqTjg6s+ICDjg5XjgqHjgqTjg6vjga7kuI3oia/jg5bjg63jg4Pjgq/kuIDopqfjgpLooajnpLrjgZnjgotcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiB3cml0ZV90YWJsZXMg44Gn44OW44O844OI44OW44Ot44OD44Kv44G444Gu44K344O844Kv44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6IOODluODvOODiOOCu+OCr+OCv+OBrua2iOWOu+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiB3cml0ZV90YWJsZXMg44Gn44K344O844Kv44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IOOCueODvOODkeODvOODluODreODg+OCr+OBq+abuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczogaW5vZGUg44Oe44OD44OX44Gr5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IOOCvuODvOODs+ODnuODg+ODl+OBq+abuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczogaW5vZGUg44KS5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogd3JpdGVfYmxvY2sg44Gn44K344O844Kv44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHdyaXRlX2Jsb2NrIOOBp+abuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczog5LiN5q2j44OW44Ot44OD44Kv44GM5aSa44GZ44GO44G+44GZIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzOiDmraPluLjjgarjg5bjg63jg4Pjgq/jgYzotrPjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyLmnIDliJ3jga7jg4fjg7zjgr/jg5bjg63jg4Pjgq/jgYwgJWpkIOOBq+OBguOCiuOAgeOBk+OCjOOBr+mBoOOBmeOBjuOBvuOBmSjmnIDlpKfjgacgJWQpLlxuIgorIuOCiOOCiuWwkeOBquOBhCBpbm9kZSDjga7mlbDjgpIgLS1pbm9kZXMgPOaVsOWApD4g44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GEIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWx1IOWAi+OBriBpbm9kZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IOWAi+OBruODluODreODg+OCr1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIuOCvuODvOODs+OCteOCpOOCuj0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisi5pyA5aSn44K144Kk44K6PSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IOODluODreODg+OCr+OBruODhuOCueODiOS4reOBq+OCt+ODvOOCr+OBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJkb19jaGVjayDjgavlpInjgarlgKTjgYzjgYLjgorjgb7jgZk6IOWkmuWIhuODkOOCsOOBp+OBl+OCh+OBhlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6IGNoZWNrX2Jsb2NrcyDjgafjgrfjg7zjgq/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IOODh+ODvOOCv+mgmOWfn+OBruWJjeOBq+S4jeato+OBquODluODreODg+OCr+OBjOOBguOCiuOBvuOBmTog44OV44Kh44Kk44Or44K344K544OG44Og44KS5L2c5oiQ44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIOWAi+OBruS4jeato+ODluODreODg+OCr1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIlczog5LiN5q2j44OW44Ot44OD44Kv44Gu44OV44Kh44Kk44Or44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAi5LiN5q2j44OW44Ot44OD44Kv44Gu55Wq5Y+344GM5q2j44GX44GP44GC44KK44G+44Gb44KTICglZCDooYznm64pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiBiYWRibG9ja3Mg44OV44Kh44Kk44Or44KS6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgIuODluODreODg+OCr+OCteOCpOOCuuOBjCAlcyDjga7niannkIbjgrvjgq/jgr/jgrXjgqTjgrrjgojjgorjgoLlsI/jgZXjgY/jgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIiVzIOOBruOCteOCpOOCuuOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiDopoHmsYLjgZXjgozjgZ/jg5bjg63jg4Pjgq8gKCVsbHUpIOOBjOWIqeeUqOWPr+iDveOBqiAoJWxsdSkg44OW44Ot44OD44Kv44KS6LaF44GI44Gm44GE44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIiVzOiDjg5bjg63jg4Pjgq/mlbDjgYzlsI/jgZXjgZnjgY7jgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICLjgZPjga7lkI3liY3jga7plbfjgZXjgavjga/mnKrlr77lv5zjgafjgZk6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIuOBk+OBruODkOODvOOCuOODp+ODs+OBriBtaW5peCDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpM6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IOOBp+OBr+OCquODl+OCt+ODp+ODs+OCkueJueWumuOBp+OBjeOBvuOBm+OCk+OAgeS7o+OCj+OCiuOBqyAnLTInIOOCkuS9v+OBo+OBpuOBj+OBoOOBleOBhCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAi44OV44Kh44Kk44Or5ZCN44Gu5pyA5aSn44K144Kk44K644Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiaW5vZGUg5pWw44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAi44OW44Ot44OD44Kv5pWw44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIOOBr+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBmTsg44GT44GT44Gr44Gv44OV44Kh44Kk44Or44K344K544OG44Og44KS5L2c5oiQ44Gn44GN44G+44Gb44KTISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICLjg6bjg7zjgrbjgYzmjIflrprjgZfjgZ/jg5rjg7zjgrjjgrXjgqTjgrogJXUg44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICLjgrfjgrnjg4bjg6DlgKTjga4gJTIkZCDjgafjga/jgarjgY/jgIHjg6bjg7zjgrbmjIflrprlgKTjgafjgYLjgosgJTEkZCDjgpLkvb/nlKjjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIuODqeODmeODq+OCkuWIh+OCiuipsOOCgeOBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAi44Op44OZ44Or44Gv44GC44KK44G+44Gb44KTLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAidXVpZCDjgYzjgYLjgorjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisi5L2/44GE5pa5OlxuIgorIiAlcyBb44Kq44OX44K344On44OzXSDjg4fjg5DjgqTjgrkgW+OCteOCpOOCul1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTMKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgIkxpbnV4IOOBruOCueODr+ODg+ODl+mgmOWfn+OCkuioreWumuOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCquODl+OCt+ODp+ODszpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICDjgrnjg6/jg4Pjg5fpoJjln5/jgpLkvZzmiJDjgZnjgovliY3jgavjgIHkuI3mraPjg5bjg63jg4Pjgq/jgpLjg4Hjgqfjg4Pjgq/jgZfjgb7jgZlcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnjgojjgorjgoLlpKfjgY3jgarjgrnjg6/jg4Pjg5fpoJjln5/jgpLoqLHlj6/jgZfjgb7jgZlcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICDjg5rjg7zjgrjjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZkgKOODkOOCpOODiOWNmOS9jSlcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICDjg6njg5njg6vjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICDjgrnjg6/jg4Pjg5fpoJjln5/jga7jg5Djg7zjgrjjg6fjg7Pnlarlj7fjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICDkvb/nlKjjgZnjgosgdXVpZCDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgIuS4jeato+ODmuODvOOCuOOBjOWkmuOBmeOBjuOBvuOBmTogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiY2hlY2tfYmxvY2tzIOOBp+OCt+ODvOOCr+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IOWAi+OBruS4jeato+OBquODmuODvOOCuFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIuaWsOOBl+OBhCBsaWJibGtpZCDjg5fjg63jg7zjg5bjgpLlibLjgorlvZPjgabjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgImxpYmJsa2lkIOODl+ODreODvOODluOCkuODh+ODkOOCpOOCueOBq+WJsuOCiuW9k+OBpuOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAi6K2m5ZGKOiDjgrnjg6/jg4Pjg5fjg5XjgqHjgqTjg6vjga7kuI3oia/jg5bjg63jg4Pjgq/mpJzmn7vjga/jgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgb7jgZvjgpM6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIuOCueODr+ODg+ODl+ODh+ODkOOCpOOCueOCkuW3u+OBjeaIu+OBmeOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiYm9vdGJpdHMg44K744Kv44K/44KS5raI5Y6744Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlczog6K2m5ZGKOiDlj6TjgYQgJXMg572y5ZCN44KS5raI5Y6744GX44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXM6IOitpuWRijogYm9vdGJpdHMg44K744Kv44K/44KS5raI5Y6744GX44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzIOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuiqjeitmOOBl+OBvuOBl+OBnynjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKGxpYmJsa2lkIOOBquOBl+OBp+OCs+ODs+ODkeOCpOODq+OBleOCjOOBpuOBhOOBvuOBmSkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAi5by35Yi244GZ44KL44Gr44GvIC1mIOOCkuaMh+WumuOBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczog572y5ZCN44Oa44O844K444KS5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAi44Oa44O844K444K144Kk44K644Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OAorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICLjg5Djg7zjgrjjg6fjg7Pnlarlj7fjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIuOCueODr+ODg+ODl+mgmOWfn+ODkOODvOOCuOODp+ODsyAlZCDjga/mnKrlr77lv5zjgafjgZkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICLorablkYo6IC1VIOOCkueEoeimluOBl+OBvuOBmSAoVVVJRCDjga8gJXMg44Gn44K144Od44O844OI44GX44Gm44GE44Gq44GE44Gf44KBKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTYKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAi54++5pmC54K544Gn44Gv44CBIDEg44Gk44Gu44OH44OQ44Kk44K544Gu44G/44KS5oyH5a6a44Gn44GN44G+44GZIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQyMworbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICLjgqjjg6njg7w6IFVVSUQg44Gu6Kej5p6Q44Gr5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAi44Ko44Op44O8OiDjgrnjg6/jg4Pjg5fjga7kvZzmiJDlhYjjgYzjgarjgY/jgarjgaPjgabjgYTjgb7jgZk/IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzOAorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgIuODluODreODg+OCr+OCq+OCpuODs+ODiOOBruaMh+WumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAi44Ko44Op44O8OiDjgrXjgqTjgrogJWxsdSBLaUIg44Gv44OH44OQ44Kk44K544Gu44K144Kk44K6ICU8UFJJdTY0PiBLaUIg44KI44KK44KC5aSn44GN44GE5YCk44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIuOCqOODqeODvDog44K544Ov44OD44OX6aCY5Z+f44Gr44Gv5bCR44Gq44GP44Go44KCICVsZCBLaUIg44GM5b+F6KaB44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAi6K2m5ZGKOiDjgrnjg6/jg4Pjg5fpoJjln5/jga7jgrXjgqTjgrrjgpIgJWxsdSBLaUIg44Gr5YiH44KK6Kmw44KB44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIuOCqOODqeODvDogJXMg44Gv44Oe44Km44Oz44OI44GV44KM44Gm44GE44G+44GZOyDjgrnjg6/jg4Pjg5fpoJjln5/jgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IOODkeODvOODn+ODg+OCt+ODp+ODsyAlMDRvIOOBr+WuieWFqOOBquWApOOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgiAlMDRvIOOCkuOBiuWLp+OCgeOBl+OBvuOBmeOAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IOODleOCoeOCpOODq+OBruaJgOacieiAhSAlZCDjgYzlronlhajjgarlgKTjgafjga/jgYLjgorjgb7jgZvjgpPjgIIgMCAocm9vdCkg44KS44GK5Yun44KB44GX44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4OQorbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAi44K544Ov44OD44OX56m66ZaT44KS6Kit5a6a44Gn44GN44G+44Gb44KTOiDoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICLjgrnjg6/jg4Pjg5fnqbrplpPjg5Djg7zjgrjjg6fjg7MgJWQg44KS6Kit5a6a44GX44G+44GZ44CC44K144Kk44K6ID0gJXMgKCU8UFJJdTY0PiDjg5DjgqTjg4gpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IHNlbGludXgg44OV44Kh44Kk44Or44Op44OZ44Or44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNworbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAibWF0Y2hwYXRoY29uKCkg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi5paw44GX44GEIHNlbGludXgg44Kz44Oz44OG44Kt44K544OI44KS5L2c5oiQ44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMgorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJzZWxpbnV4IOOCs+ODs+ODhuOCreOCueODiOOCkuioiOeul+OBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIiVzIOOCkiAlcyDjgavjg6njg5njg6vlpInmm7TjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7plovlp4vkvY3nva4gKOOCu+OCr+OCv+WNmOS9jSkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrue1guS6huS9jee9riAo44K744Kv44K/5Y2Y5L2NKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIuOCu+OCr+OCv+aVsCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAi5Y+v6Kqt5b2i5byP44Gn44Gu44K144Kk44K6IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5ZCNIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44Gu56iu6aGeIChkb3MsIGdwdCwgLi4uKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+ODleODqeOCsCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrueorumhniAo5paH5a2X5YiX44CBVVVJROOAgTE26YCy44Gu44Gp44KM44GLKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImxvb3BjeHQg44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDmnKrkvb/nlKjjga7jg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjga7nmbropovjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAi44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Go44GX44GmICclcycg44KS5L2/55So44GX44KI44GG44Go44GX44Gm44GE44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczog5a6f6Zqb44Gu44OV44Kh44Kk44Or44KS6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczog44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICLkuI3mmI7jgarjgqvjg6njg6A6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7fjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIuaMh+WumuOBl+OBn+evhOWbsiA8JWQ6JWQ+IOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAi56+E5Zuy44Gu5YaN44Kr44Km44Oz44OIOiDmnIDlpKfjg5Hjg7zjg4bjgqPjgrfjg6fjg7M9JWQsIOWwj+OBleOBhOaWuT0lZCwg5aSn44GN44GE5pa5PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlZCDjga7liYrpmaTmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWQtJWQg44Gu5YmK6Zmk5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAjJWQg44KS5YmK6Zmk44GX44G+44GX44GfXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICMlZCDjga/lrZjlnKjjgZfjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgIyVkIOOBruWJiumZpOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlZCDjga7ov73liqDmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICVkLSVkIOOBrui/veWKoOaZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgIyVkIOOCkui/veWKoOOBl+OBvuOBl+OBn1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgIyVkIOOBrui/veWKoOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICVkIOOBruabtOaWsOaZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlZC0lZCDjga7mm7TmlrDmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgIyVkIOOBjOWtmOWcqOOBl+OBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgIyVkIOOBruOCteOCpOOCuuOCkuWkieabtOOBl+OBvuOBl+OBn1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAjJWQg44Gu5pu05paw44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIjJTJkOiAlOWp1LSU5anUgKCU5anUg44K744Kv44K/LCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi5Ye65Yqb5YWI44G444Gu5qGB5pWw5Ymy5b2T44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiJyVzJyDjgavlr77jgZnjgosgYmxraWQg44OV44Kj44Or44K/44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBruOCv+OCpOODlyAnJXMnIOOCkuaknOWHuuOBl+OBvuOBl+OBn1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz5oOF5aCx44GM6KaL44Gk44GL44KK44G+44GX44Gf44GM44CB44OR44O844OG44Kj44K344On44Oz44GM44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDzjg5Hjg7zjg4bjgqPjgrfjg6fjg7M+XSA844OH44Kj44K544KvPlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU3Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIuOCq+ODvOODjeODq+OBq+ODkeODvOODhuOCo+OCt+ODp+ODs+OBruWtmOWcqOOBqOeVquWPt+OCkuS8neOBiOOBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAg5oyH5a6a44GX44Gf44OR44O844OG44Kj44K344On44Oz44CB44G+44Gf44Gv44GZ44G544Gm44Gu44OR44O844OG44Kj44K344On44Oz44KS6L+95Yqg44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICDmjIflrprjgZfjgZ/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgIHjgb7jgZ/jga/jgZnjgbnjgabjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLliYrpmaTjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgIOaMh+WumuOBl+OBn+ODkeODvOODhuOCo+OCt+ODp+ODs+OAgeOBvuOBn+OBr+OBmeOBueOBpuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuabtOaWsOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkuIDopqfooajnpLrjgZfjgb7jgZlcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MCBzeXMtdXRpbHMvbHNtZW0uYzo1MDUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgIOWPr+iqreaAp+OBrumrmOOBhOW9ouW8j+OBp+OBr+OBquOBj+OAgeODkOOCpOODiOWNmOS9jeOBp+OCteOCpOOCuuOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIC0tc2hvdyDjgafjga7ooajnpLrjga7pmpvjgIHjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bT4gICAgICAg44OR44O844OG44Kj44K344On44Oz44KS56+E5Zuy44Gn5oyH5a6a44GX44G+44GZICjkvos6IC0tbnIgMjo0KVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4g5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIOOCreODvD1cIuWApFwiIOOBruWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCittc2dpZCAiIC1TLCAtLXNlY3Rvci1zaXplIDxudW0+ICBvdmVyd3JpdGUgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3Rvci1zaXplIDzjgrXjgqTjgro+ICDjgrvjgq/jgr/jgrXjgqTjgrrjgpLkuIrmm7jjgY3jgZnjgotcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA844K/44Kk44OXPiAg44OR44O844OG44Kj44K344On44Oz44Gu56iu6aGe44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0LXR5cGVzICAgICDoqK3lrprlj6/og73jgarjg5Hjgpvjg7zjg4bjgqPjgrfjg6fjg7Pjgr/jgqTjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAg5YaX6ZW35Ye65Yqb44Oi44O844OJ44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS1uciA8TS1OPiByYW5nZSIKK21zZ3N0ciAiLS1uciA8TS1OPiDjga7nr4Tlm7LmjIflrprjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBqOODh+OCo+OCueOCr+OBruWQjeWJjeOBjOS4gOiHtOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIg44GoIDzjg5Hjg7zjg4bjgqPjgrfjg6fjg7M+IOOCkuS4oeaWueaMh+WumuOBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzOiAlcywg44OH44Kj44K544KvOiAlcywg5LiL6ZmQOiAlZCwg5LiK6ZmQOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz44KS5YmK6Zmk44Gn44GN44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz44GM6Kit5a6a44GV44KM44Gf44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gr44Gv5a++5b+c44GX44Gm44GE44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczogYmxraWQgcHJvYmVyIOOBrua6luWCmeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAlMSRzICUyJHNyYXdOIDzjg6Hjgrjjg6Pjg7w+IDzjg57jgqTjg4rjg7w+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi8844OW44Ot44OD44Kv44OH44OQ44Kk44K5PlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgInJhdyDjgq3jg6Pjg6njgq/jgr/jg4fjg5DjgqTjgrnjgpLjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgavntZDjgbPjgaTjgZHjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAg5ZWP44GE5ZCI44KP44Gb44Oi44O844OJ44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDlhajjgabjga4gcmF3IOODh+ODkOOCpOOCueOBq+WvvuOBl+OBpuWVj+OBhOWQiOOCj+OBm+OCkuihjOOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIuODh+ODkOOCpOOCuSAnJXMnIOOBr+WItuW+oeeUqOOBriByYXcg44OH44OQ44Kk44K544Gn44GZIChyYXc8Tj4gKDxOPiDjga8gMCDjgojjgorlpKfjgY3jgYTlgKQpIOOCkuaMh+WumuOBl+OBpuOBj+OBoOOBleOBhCkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIuODluODreODg+OCr+ODh+ODkOOCpOOCuSAnJXMnIOOBrueKtuaFi+OCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrkgJyVzJyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAi5byV5pWw44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICLjg57jgrnjgr/jg7wgcmF3IOODh+ODkOOCpOOCuSAnJXMnIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgInJhdyDjg4fjg5DjgqTjgrkgJyVzJyDjga7nirbmhYvjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJyYXcg44OH44OQ44Kk44K5ICclcycg44Gv44Kt44Oj44Op44Kv44K/44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICLjg4fjg5DjgqTjgrkgJyVzJyDjga8gcmF3IOODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDkKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICJyYXcg44OH44OQ44Kk44K544Gr5a++44GZ44KL5ZWP44GE5ZCI44KP44Gb44Gu6Zqb44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiVzcmF3JWQ6ICDjg6Hjgrjjg6Pjg7wgJWQsIOODnuOCpOODiuODvCAlZCDjgavlibLjgorlvZPjgabjgb7jgZfjgZ9cbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgInJhdyDjg4fjg5DjgqTjgrnjga7oqK3lrprmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPOODh+OCo+OCueOCr+ODh+ODkOOCpOOCuT4gPOODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtz4gPOmVt+OBlT5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLjgqvjg7zjg43jg6vjgavjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7mlrDjgZfjgYTjgrXjgqTjgrrjgpLkvJ3jgYjjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz55Wq5Y+3ICVzIOOBrumWi+Wni+S9jee9ruOBruWPluW+l+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTExCittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCteOCpOOCuuWkieabtOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIuWFpeOCjOWtkOOBq+OBquOBo+OBnyBsaWJmZGlzayDjgrPjg7Pjg4bjgq3jgrnjg4jjga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICIlcyDjgpLjgrfjg7zjgq/jgafjgY3jgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgIiVzIOOBq+abuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzICjjgqrjg5Xjgrvjg4Pjg4ggJTVqdeOAgeOCteOCpOOCuiAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczog44OQ44OD44Kv44Ki44OD44OX5L2c5oiQ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICLjg5Djg4Pjgq/jgqLjg4Pjg5fkvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIkSE9NRSDjgYzlrprnvqnjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAi44OQ44OD44Kv44Ki44OD44OX44OV44Kh44Kk44OrOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi44OH44OQ44Kk44K544GL44KJ5paw44GX44GE44OR44O844OG44Kj44K344On44Oz44KS6Kqt44G/5Y+W44KM44G+44Gb44KT44Gn44GX44Gf44CCIC0tbW92ZS1kYXRhIOOCkueEoeimluOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLmlrDjgZfjgYTjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgrXjgqTjgrrjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ/jgIIgLS1tb3ZlLWRhdGEg44KS54Sh6KaW44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLmlrDjgZfjgYTjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7plovlp4vkvY3nva7jgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ/jgIIgLS1tb3ZlLWRhdGEg44KS54Sh6KaW44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuWFg+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCteOCpOOCuuOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn+OAgiAtLW1vdmUtZGF0YSDjgpLnhKHoppbjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuWFg+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OBrumWi+Wni+S9jee9ruOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn+OAgiAtLW1vdmUtZGF0YSDjgpLnhKHoppbjgZfjgb7jgZkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7plovlp4vkvY3nva7jgYzli5XjgYTjgabjgYTjgb7jgZvjgpPjgIIgLS1tb3ZlLWRhdGEg44KS54Sh6KaW44GX44G+44GZIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi5paw44GX44GE44OR44O844OG44Kj44K344On44Oz44Gv5YWD44Gu44OR44O844OG44Kj44K344On44Oz44KI44KK44KC5bCP44GV44GE44Gn44GZ44CCIC0tbW92ZS1kYXRhIOOCkueEoeimluOBl+OBvuOBmSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICLjg4fjg7zjgr/jga7np7vli5U6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiIOOCv+OCpOODl+OCueOCr+ODquODl+ODiOODleOCoeOCpOODqzogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiDlhYPjga7plovlp4vkvY3nva46ICVqdSwg5paw44GX44GE6ZaL5aeL5L2N572uOiAlanUgKCVqdSDjgrvjgq/jgr/np7vli5UpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUyCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruODh+ODvOOCv+OBruenu+WLleOCkuihjOOBquOBhOOBvuOBmeOBi++8nyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0CisjLCBmdXp6eQorbXNnaWQgIkxlYXZpbmcuIgorbXNnc3RyICLlhaXjgozlrZDjga7jg4fjgqPjgrnjgq/jg6njg5njg6vjgYvjgonpm6Ljgozjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczog44OH44O844K/44Gu56e75YuV44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga/lpInmm7TjgZfjgabjgYTjgb7jgZvjgpMgKC0tbm8tYWN0KeOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDgKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBjOWkieabtOOBleOCjOOBvuOBl+OBn+OAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAi5pyq5a++5b+c44Gu44Op44OZ44Or44Gn44GZOiAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSUQgIOWQjeWJjVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAi6KqN6K2Y44Gn44GN44Gq44GE44OR44O844OG44Kj44K344On44Oz6aCY5Z+f44K/44Kk44OX44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIiVzIOOBruOCteOCpOOCuuOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAi5ZCI6KiIOiAlanUg44OW44Ot44OD44KvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk0IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzIgZGlzay11dGlscy9zZmRpc2suYzoxMDk2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTEgZGlzay11dGlscy9zZmRpc2suYzoxMjA3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi44OH44OQ44Kk44K544GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMAorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAiUE1CUuOBuOOBruWIh+OCiuabv+OBiOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvciBQTUJSIG9ubHkiCittc2dzdHIgIui1t+WLleWPr+iDveODleODqeOCsOOBruWIh+OCiuabv+OBiOOBryBNQlIg44G+44Gf44GvIFBNQlIg44Gn44Gg44GR44K144Od44O844OI44GV44KM44Gm44GE44G+44GZIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg2NyBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTYgZGlzay11dGlscy9zZmRpc2suYzoxMjEyCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTkgZGlzay11dGlscy9zZmRpc2suYzoyMDU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPt+OBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICVkOiDotbfli5Xlj6/og73jg5Xjg6njgrDjga7liIfjgormm7/jgYjjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTA5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog5YmK6Zmk44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczog6KqN6K2Y5Y+v6IO944Gq44OR44O844OG44Kj44K344On44Oz5oOF5aCx44GM5ZCr44G+44KM44Gm44GE44G+44Gb44KT44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAi5Ye65Yqb55So44Gu5qeL6YCg5L2T44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44Oz5oOF5aCx44Gu5Ye65Yqb44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBjOimi+OBpOOBi+OCiuOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlenU6IOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBqyAlenUg44OR44O844OG44Kj44K344On44Oz44Gg44GR44GM5ZCr44G+44KM44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/kvb/jgo/jgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz55Wq5Y+344GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIuaDs+WumuOBl+OBpuOBhOOBquOBhOW8leaVsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44Oz44Gu44K/44Kk44OX44KS5Y+W5b6X44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIiVzIOOCkuino+aekOS4reOAgeODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODlyAnJXMnIOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44Oz44Gu44K/44Kk44OX44KS6Kit5a6a44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga4gVVVJRCDjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCquODluOCuOOCp+OCr+ODiOOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44Oz44GuIFVVSUQg44KS6Kit5a6a44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlkI3jgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlenU6IOODkeODvOODhuOCo+OCt+ODp+ODs+WQjeOCkuioreWumuOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44Oz44Gu5bGe5oCn44KS6Kit5a6a44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODcKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiDjgrPjg57jg7Pjg4k6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4OQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgd3JpdGUgICAg44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS44OH44Kj44K544Kv44Gr5pu444GN6L6844KT44Gn57WC5LqG44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MAorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIgICBxdWl0ICAgICDmlrDjgZfjgYTnirbms4HjgpLooajnpLrjgZfjgIHmm7jjgY3ovrzjgb/liY3jgavjg6bjg7zjgrbjg7zjgYvjgonjga7lv5znrZTjgpLlvoXjgaHjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAgc2ZkaXNrIOOCt+OCp+ODq+OCkue1guS6huOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcHJpbnQgICAg44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5NQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBDVFJMLUQgICAncXVpdCcg44Go5ZCM44GY44Gn44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiDlhaXlipvlvaLlvI86XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDzplovlp4s+LCA844K144Kk44K6PiwgPOOCv+OCpOODlz4sIDzotbfli5Xlj6/og70+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA86ZaL5aeLPiAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBrumWi+Wni+S9jee9ruOCkuOCu+OCr+OCv+aVsOOAgeOBvuOBn+OBr1xuIgorIiAgICAgICAgICAgIDzmlbDlgKQ+e0ssTSxHLFQsUCxFLFosWX0g44Gu5b2i5byP77yI44OQ44Kk44OI5pWw77yJ44Gn6KGo44GX44Gf44KC44Gu44CCXG4iCisiICAgICAgICAgICAg44OH44OV44Kp44Or44OI44GvIOacgOWIneOBruacquWJsuOCiuW9k+OBpumgmOWfn+OAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPOOCteOCpOOCuj4g44OR44O844OG44Kj44K344On44Oz44Gu44K144Kk44K644KS44K744Kv44K/5pWw44CB44G+44Gf44GvXG4iCisiICAgICAgICAgICAgPOaVsOWApD57SyxNLEcsVCxQLEUsWixZfSDjga7lvaLlvI/vvIjjg5DjgqTjg4jmlbDvvInjgafooajjgZfjgZ/jgoLjga7jgIJcbiIKKyIgICAgICAgICAgICDjg4fjg5Xjgqnjg6vjg4jjga/nqbrjgY3poJjln5/jga7lpKfjgY3jgZXjgafjgZnjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA844K/44Kk44OXPiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgr/jgqTjg5fjgILjg4fjg5Xjgqnjg6vjg4jjga8gTGludXgg44Gu44OH44O844K/44OR44O844OG44Kj44K344On44Oz44Gn44GZ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IDE26YCy44Gu44Kz44O844OJIOOBvuOBn+OBryBMLFMsRSxYLFUsUixWIOOBrueVpeWPt+OAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTYKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBHUFQ6IFVVSUQg44G+44Gf44GvIEwsUyxILFUsUixWIOOBrueVpeWPt+OAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPOi1t+WLleWPr+iDvT4gICcqJyDjgafotbfli5Xlj6/og73jgajjgZnjgosgTUJSIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjMKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIOS+izpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICDjg4fjg5Xjgqnjg6vjg4jjga7jgqrjg5Xjgrvjg4Pjg4jkvY3nva7jgojjgoogNEdpQiDjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLmnKrlr77lv5zjga7jgrPjg57jg7Pjg4njgafjgZkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLooYwgJWQ6IOacquWvvuW/nOOBruOCs+ODnuODs+ODieOBp+OBmSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICLlj6TjgYQgJXMg572y5ZCN44GM44OH44OQ44Kk44K544Gr5q6L44KL44GL44KC44GX44KM44G+44Gb44KT44CCd2lwZWZzKDgpIOOBvuOBn+OBryBmZGlzayAtLXdpcGUg44Gn44OH44OQ44Kk44K544KSIHdpcGUg44GZ44KL44GT44Go44KS5by344GP44GK5Yun44KB44GX44G+44GZ44CC6KGd56qB44Gu5Y+v6IO95oCn44KS6YG/44GR44KL44Gf44KB44Gn44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+WQjeOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg4/jg7Pjg4njg6njga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWQg44KS5aSJ5pu044Gn44GN44G+44Gb44KTOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog44OR44O844OG44Kj44K344On44OzICVkIOOCkuWkieabtOOBp+OBjeOBvuOBm+OCkzog44OR44O844OG44Kj44K344On44Oz5oOF5aCx44GrICV6dSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgaDjgZHjgYzlkKvjgb7jgozjgabjgYTjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAi6K2m5ZGKOiAlczog44OR44O844OG44Kj44K344On44OzICVkIOOBr+Wumue+qeOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorIlxuIgorInNmZGlzayAoJXMpIOOBuOOCiOOBhuOBk+OBneOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIuOBk+OBruODh+OCo+OCueOCr+OCkuS9v+eUqOOBl+OBpuOBhOOCi+ODpuODvOOCtuOBjOOBhOOBquOBhOOBi+OBqeOBhuOBi+OCkuiqv+OBueOBpuOBhOOBvuOBmSAuLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIg5L2/55So5LitXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyOAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisi44GT44Gu44OH44Kj44K544Kv44Gv54++5Zyo5L2/55So5Lit44Gn44GZIC0g44OR44O844OG44Kj44K344On44Oz44Gu5YaN6Kit5a6a44Gv6YG/44GR44Gm44GK44GE44Gf44G744GG44GM44KI44GE44Gn44GX44KH44GG44CCXG4iCisi44OH44Kj44K544Kv5LiK44Gr44GC44KL5YWo44Gm44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS44Ki44Oz44Oe44Km44Oz44OI44GX44CB5YWo44Gm44Gu44K544Ov44OD44OXXG4iCisi44OR44O844OG44Kj44K344On44Oz44KS54Sh5Yq55YyW44GX44Gm44GP44Gg44GV44GE44CCIC0tbm8tcmVyZWFkIOODleODqeOCsOOCkuaMh+WumuOBmeOCi+OBqOOAgVxuIgorIuOBk+OBruODgeOCp+ODg+OCr+OCkuecgeeVpeOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzMKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAi5YWo44Gm44Gu44OB44Kn44OD44Kv44KS55yB55Wl44GZ44KL44Gr44Gv44CBIC0tZm9yY2Ug44OV44Op44Kw44KS5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT0tcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjQ3Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisi5Y+k44GE54q25oWLOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIOOBr+aWsOOBl+OBhCAnJXMnIOODh+OCo+OCueOCr+ODqeODmeODq+OCkuS9nOaIkOOBl+OBvuOBmeOAglxuIgorIuaXouWumuWApOOCkuS4iuabuOOBjeOBmeOCi+OBq+OBryDmnIDliJ3jga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLlrprnvqnjgZnjgovliY3jgatcbiIKKyInbGFiZWw6IDxuYW1lPicg44KS5a6f6KGM44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLoqbPjgZfjgY/jga8gYGhlbHAnIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAi44GZ44G544Gm44Gu44OR44O844OG44Kj44K344On44Oz44GM5L2/44KP44KM44Gm44GE44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICLntYLkuobjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44KS54Sh6KaW44GX44G+44GZ44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MzUgZGlzay11dGlscy9zZmRpc2suYzoxNzk1Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44OY44OD44OA44Gu6YGp55So44Gr5aSx5pWX44GX44CB44OH44Kj44K544Kv44Op44OZ44Or44Gv5L2c5oiQ44GV44KM44G+44Gb44KT44Gn44GX44Gf44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICIjJWQg44OR44O844OG44Kj44K344On44Oz44KS6L+95Yqg44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44Gu44OY44OD44OA44KSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyLmlrDjgZfjgYTnirbmhYs6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICLjg4fjgqPjgrnjgq/jgbjjga7mm7jjgY3ovrzjgb/jgpLooYzjgarjgYTjgb7jgZnjgYvvvJ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNQorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICLjgrXjgrnjg5rjg7Pjg4njg6Ljg7zjg4k6IG5vOyDntYLkuobjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjg5DjgqTjgrk+IFtbLU5dIDzjg5Hjg7zjg4bjgqPjgrfjg6fjg7M+XVxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjgrPjg57jg7Pjg4k+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0g6LW35YuV5Y+v6IO944GqKFApTUJS44OR44O844OG44Kj44K344On44Oz44Gu5LiA6Kan44KS6KGo56S644G+44Gf44Gv5aSJ5pu044GX44G+44GZXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OCkuWHuuWKm+OBl+OBvuOBmSAo5YWl5Yqb44Go44GX44Gm5L2/44GE44KE44GZ44GE5b2i5byP44GnKVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44KS5Ye65Yqb44GX44G+44GZIChKU09O5b2i5byP44GnKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICDjgZ3jgozjgZ7jgozjga7jg4fjg5DjgqTjgrnjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PkuIDopqfjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIOOBneOCjOOBnuOCjOOBruODh+ODkOOCpOOCueOBruacquWJsuOCiuW9k+OBpuOCqOODquOCouOBruS4gOimp+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAg5oyH5a6a44GX44Gf44OR44O844OG44Kj44K344On44Oz44CB44G+44Gf44Gv44GZ44G544Gm44Gu44OR44O844OG44Kj44K344On44Oz44KS6L+95Yqg44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICDmjIflrprjgZfjgZ/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgIHjgb7jgZ/jga/jgZnjgbnjgabjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgrXjgqTjgrrjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICDliqDlt6XjgpLooYzjgarjgo/jgZrjgavjg6Hjg4Pjgrvjg7zjgrjjg5Djg4Pjg5XjgqHjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzmlbTlkIjjgZfjgabjgYTjgovjgYvjg4bjgrnjg4jjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAg5oyH5a6a44GX44Gf44OR44O844OG44Kj44K344On44Oz44CB44G+44Gf44Gv44GZ44G544Gm44Gu44OR44O844OG44Kj44K344On44Oz44KS5YmK6Zmk44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPOaWh+Wtl+WIlz5dIOODkeODvOODhuOCo+OCt+ODp+ODs+ODqeODmeODq+OCkuihqOekuuOBvuOBn+OBr+WkieabtOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIOODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODl+OCkuihqOekuuOBvuOBn+OBr+WkieabtOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIOODkeODvOODhuOCo+OCt+ODp+ODs+OBrlVVSUTjgpLooajnpLrjgb7jgZ/jga/lpInmm7TjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzzmloflrZfliJc+XSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7lsZ7mgKfjgpLooajnpLrjgb7jgZ/jga/lpInmm7TjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAg44OH44OQ44Kk44K577yI6YCa5bi444Gv44OH44Kj44K544Kv77yJ44Gu44OR44K5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz55Wq5Y+3XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NworbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODl+OAgUdQVCDjgafjga8gR1VJROOAgU1CUiDjgafjga8xNumAsuaVsFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzAKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44KS5pei5a2Y44Gu44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44Gr6L+95Yqg44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgrvjgq/jgr/jg7zjgpLjg5Djg4Pjgq/jgqLjg4Pjg5fjgZfjgb7jgZkgKC1PIOOCguWPgueFpylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAg5Y+v6Kqt5oCn44Gu6auY44GE5b2i5byP44Gn44Gv44Gq44GP44CB44OQ44Kk44OI5Y2Y5L2N44Gn44K144Kk44K644KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDjgZnjgbnjgabjga7mlbTlkIjmgKfjg4Hjgqfjg4Pjgq/jgpLnhKHlirnjgavjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9POOBhOOBpD5dICAgICAg44Oh44OD44K744O844K444KS6Imy44Gl44GR44GX44G+44GZKGF1dG/jgIFhbHdheXPjgIFuZXZlciDjga7jganjgozjgYspXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7fjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIOODh+ODkOOCpOOCueOBq+abuOOBjei+vOOBvuOBquOBhOOBk+OBqOS7peWkluOBr+mAmuW4uOOBq+WLleS9nOOBl+OBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm9jbGVhciAgICAgICAgICAgICDjg4fjg5DjgqTjgrnjgYzkvb/nlKjkuK3jgYvjganjgYbjgYvnorroqo3jgZfjgb7jgZvjgpNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAg44Kr44O844ON44Or44Gr5aSJ5pu044KS5Lyd44GI44G+44Gb44KTXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MgorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICDjg4fjg5Xjgqnjg6vjg4jjga7jg5Djg4Pjgq/jgqLjg4Pjg5fjg5XjgqHjgqTjg6vlkI3jgafjga/jgarjgY/jgIHmjIflrprjgZfjgZ/jg5HjgrnjgpLkvb/jgYTjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAg5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAg5Ye65Yqb44GZ44KL44Oh44OD44K744O844K444Gu6YeP44KS5oqR44GI44G+44GZXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA844Oi44O844OJPiAgICAgICDnvbLlkI3jgpLmtojljrvjgZnjgosgKGF1dG8sIGFsd2F5cywgbmV2ZXIg44Gu44Gp44KM44GLKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA85ZCN5YmNPiAgICAgICAg44Op44OZ44Or44Gu44K/44Kk44OX44KS5oyH5a6a44GX44G+44GZKERPUywgR1BULCAuLi4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorIywgZnV6enkKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPOOCv+OCpOODlz4gIOODkeODvOODhuOCo+OCt+ODp+ODs+OBrueorumhnuOCkuaMh+WumuOBl+OBvuOBmSAoZG9zLCBic2QsIHNvbGFyaXMg44Gq44GpKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIOmdnuaOqOWlqOOAgeW+jOaWueS6kuaPm+aAp+OBruOBn+OCgeOBruOBv+OBq+eUqOaEj+OBleOCjOOBpuOBhOOBvuOBmVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICDpnZ7mjqjlpajjgIHjgrvjgq/jgr/ljZjkvY3jga7mk43kvZzjga7jgb/jgrXjg53jg7zjg4jjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyDjga/pnZ7mjqjlpajjgafjgZnjgIItLXBhcnQtdHlwZSDjgpLkvb/nlKjjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIi0taWQg44Gv6Z2e5o6o5aWo44Gn44GZ44CCIC0tcGFydC10eXBlIOOCkuS9v+eUqOOBl+OBpuOBj+OBoOOBleOBhCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIi0tTGludXgg44Kq44OX44K344On44Oz44Gv5LiN6KaB44Gn6Z2e5o6o5aWo44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICLjgrXjg53jg7zjg4jjgZfjgabjgYTjgarjgYTljZjkvY0gJyVjJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDc1IGluY2x1ZGUvYy5oOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIGZyb20gJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSDjgavjga8gLU4g44GM5b+F6KaB44Gn44GZIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiVVVJRCDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiDjgrnjg6/jg4Pjg5cgVVVJRCDjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogVVVJRCDjga7mm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczog44K544Ov44OD44OX44Op44OZ44Or44KS5Y+W5b6X44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICLjg6njg5njg6vjgYzplbfjgZnjgY7jgb7jgZnjgIIgJyVzJyDjgavliIfjgoroqbDjgoHjgb7jgZnjgIIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiDjg6njg5njg6vjga7mm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIuOCueODr+ODg+ODl+mgmOWfn+OBruODqeODmeODq+OBvuOBn+OBryBVVUlEIOOCkuihqOekuuOAgeWkieabtOOBl+OBvuOBmeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiDmlrDjgZfjgYTjg6njg5njg6vjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICDmlrDjgZfjgYQgdXVpZCDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIi1VIOOCkueEoeimluOBl+OBvuOBmSAoVVVJRCDjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpMpIgorCisjOiBpbmNsdWRlL2MuaDoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLoqbPjgZfjgY/jga8gYCVzIC0taGVscCcg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuS9v+OBhOaWuTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzE5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLjgqrjg5fjgrfjg6fjg7M6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLmqZ/og706XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCs+ODnuODs+ODiTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIyCittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBvdXRwdXQgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuWIqeeUqOWPr+iDveOBquWHuuWKm+OBruWIlzpcbiIKKworIzogaW5jbHVkZS9jLmg6MzI1Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIuOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBvuOBmSIKKworIzogaW5jbHVkZS9jLmg6MzI2Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICLjg5Djg7zjgrjjg6fjg7PjgpLooajnpLrjgZfjgb7jgZkiCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLoqbPjgZfjgY/jga8gJXMg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5NSBzeXMtdXRpbHMvcnRjd2FrZS5jOjI5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTEKKyM6IHRleHQtdXRpbHMvY29sLmM6MTYwCittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgIuabuOOBjei+vOOBv+OCqOODqeODvOOBp+OBmSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLjgqvjg6njg7zooajnpLrjga/jg4fjg5Xjgqnjg6vjg4jjgafmnInlirnjgafjgZkiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIuOCq+ODqeODvOihqOekuuOBr+ODh+ODleOCqeODq+ODiOOBp+eEoeWKueOBp+OBmSIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDI2CisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMzAgdGVybS11dGlscy9hZ2V0dHkuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICIlcyDnkrDlooPlpInmlbDjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIiVzOiDlkIzmmYLjgavmjIflrprjgafjgY3jgarjgYTlvJXmlbDjgafjgZk6IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIuepuiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAi5ouh5by16aCY5Z+fIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIkZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMvZXhGQVQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCDotbfli5Xlj6/og70iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIk9TLzIg44OW44O844OI44Oe44ON44O844K444OjIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IOaLoeW8temgmOWfnyAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAi6Zqg44GXIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxIOiouuaWrSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAi6Zqg44GXIEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICLpmqDjgZcgRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAi6Zqg44GXIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAi6Zqg44GXIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICLpmqDjgZcgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIumaoOOBlyBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAi6Zqg44GXIE5URlMgV2luUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIOS/ruW+qSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCDnrKwy44OR44O844OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IOesrDPjg5Hjg7zjg4giCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQg44G+44Gf44GvIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAi5Y+k44GEIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIOWPpOOBhCBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXgg44K544Ov44OD44OXIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIumaoOOBlyBPUy8yIOOBvuOBn+OBryBJbnRlbCDjg4/jgqTjg5Djg43jg7zjgrfjg6fjg7MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IOaLoeW8temgmOWfnyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMg44Oc44Oq44Ol44O844Og44K744OD44OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXgg44OX44Os44O844Oz44OG44Kt44K544OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCDjg4/jgqTjg5Djg43jg7zjgrfjg6fjg7MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4g44OW44O844OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkg44K544Ov44OD44OXIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAi6Zqg44GXIEJvb3QgV2l6YXJkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJBY3JvbmlzIEZBVDMyIExCQSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIyOQorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyDjg5bjg7zjg4giCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAi6Z2eIEZTIOODh+ODvOOCvyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIOODpuODvOODhuOCo+ODquODhuOCoyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiMSDjgaTnm67jga7lgKQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mg44OW44O844OIIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mg44K744Kr44Oz44OA44OqIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIOiHquWLleaknOWHuiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAi6K2m5ZGKOiAlcyDjga7looPnlYzjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJWp1IOOCkumBuOaKniIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MworbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBr+S9leOCguioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCk++8gSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIuepuuOBjeODkeODvOODhuOCo+OCt+ODp+ODs+OBjOOBguOCiuOBvuOBm+OCk++8gSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtyIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjEwMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAi5paw44GX44GE44OR44O844OG44Kj44K344On44OzICVkIOOCkuOCv+OCpOODlyAlc+OAgeOCteOCpOOCuiAlcyDjgafkvZzmiJDjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXpkIOOBrumWi+Wni+eCueOCu+OCr+OCv+OBjOS4jeato+OBquWApCAoMCkg44Gr44Gq44Gj44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiJXMg44Gr44GvICpCU0Qg44OR44O844OG44Kj44K344On44Oz44Gv44GC44KK44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAi5pyA5Yid44Gu44K344Oq44Oz44OAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkxIGxpYmZkaXNrL3NyYy9kb3MuYzoxMjEzCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLmnIDlvozjga7jgrfjg6rjg7Pjg4AsICvjgrfjg6rjg7Pjg4Dnlarlj7fjgb7jgZ/jga8gK+OCteOCpOOCuntLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIuacgOe1guOCu+OCr+OCvywgK+OCu+OCr+OCv+eVquWPtyDjgb7jgZ/jga8gK+OCteOCpOOCuntLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAi44OH44OQ44Kk44K5ICVzIOOBq+OBryBCU0Qg44OH44Kj44K544Kv44Op44OZ44Or44GM44GC44KK44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIkJTRCDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLkvZzmiJDjgZfjgb7jgZnjgYs/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAi44OH44Kj44K544KvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICLjg5Xjg6njgrAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIg5Y+W44KK5Ye644GX5Y+v6IO9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgYmFkc2VjdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAi44OQ44Kk44OIL+OCu+OCr+OCvyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAi44OI44Op44OD44KvL+OCt+ODquODs+ODgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIuOCu+OCr+OCvy/jgrfjg6rjg7Pjg4AiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTAgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjgKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIuOCt+ODquODs+ODgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCittc2dpZCAiUnBtIgorbXNnc3RyICLlm57ou6LmlbAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDAgbGliZmRpc2svc3JjL3NnaS5jOjI5MSBsaWJmZGlzay9zcmMvc3VuLmM6NzkzCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAi44Kk44Oz44K/44O844Oq44O844OWIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA1Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICLjg4jjg6njg4Pjgq/jg7vjgrnjgq3jg6Xjg7wiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTAKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgIuOCt+ODquODs+ODgOODu+OCueOCreODpeODvCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIuODmOODg+ODieOCueOCpOODg+ODgSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIuODiOODqeODg+OCr+mWk+OCt+ODvOOCryIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMAorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAi44OQ44Kk44OIL+OCu+OCr+OCvyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgIuOCu+OCr+OCvy/jg4jjg6njg4Pjgq8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgIuODiOODqeODg+OCry/jgrfjg6rjg7Pjg4AiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgIuOCt+ODquODs+ODgOaVsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgIuOCu+OCr+OCvy/jgrfjg6rjg7Pjg4AiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgIuWbnui7ouaVsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgIuOCpOODs+OCv+ODvOODquODvOODliIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAi44OI44Op44OD44Kv44O744K544Kt44Ol44O8IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICLjgrfjg6rjg7Pjg4Djg7vjgrnjgq3jg6Xjg7wiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjcKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICLjg5jjg4Pjg4njgrnjgqTjg4Pjg4EiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICLjg4jjg6njg4Pjgq/plpPjgrfjg7zjgq8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICLjg5bjg7zjg4jjgrnjg4jjg6njg4Pjg5fjg5XjgqHjgqTjg6sgJXMg44Gu6Kqt44G/6L6844G/44Gr5oiQ5Yqf44GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIuODluODvOODiOOCueODiOODqeODg+ODlzogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKOaXouWumuWApCAlMSRzKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwMworbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIuODluODvOODiOOCueODiOODqeODg+ODl+OBjOODh+OCo+OCueOCr+ODqeODmeODq+OBqOmHjeOBquOBo+OBpuOBhOOBvuOBme+8gSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAi44OW44O844OI44K544OI44Op44OD44OX44KSICVzIOOBq+OCpOODs+OCueODiOODvOODq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAi44OH44Kj44K544Kv44Op44OZ44Or44KSICVzIOOBq+abuOOBjei+vOOBv+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICLjg4fjgqPjgrnjgq/jgpLlkIzmnJ/jgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiQlNEIOODqeODmeODq+OBryBET1Mg44OR44O844OG44Kj44K344On44Oz5YaF44Gn5YWl44KM5a2Q44Gr44Gq44Gj44Gm44GE44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJCU0Qg44OR44O844OG44Kj44K344On44OzICclYycg44KSIERPUyDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBq+ODquODs+OCr+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTYKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAi44K544Op44Kk44K5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkZzaXplIgorbXNnc3RyICJGc2l6ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiQnNpemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICJDcGciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczog44OH44OQ44Kk44K544Gu44Kv44Ot44O844K644Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgImlvY3RsKCkg44KS5ZG844Gz5Ye644GX44Gm44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS5YaN6Kqt44G/6L6844G/44GX44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjga7lho3oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICLjgqvjg7zjg43jg6vjga/lj6TjgYTmg4XloLHjgpLkvb/nlKjjgZfjgabjgYTjgb7jgZnjgILmlrDjgZfjgYTmg4XloLHjgpLliKnnlKjjgZnjgovjgavjga/jgIHjgrfjgrnjg4bjg6DjgpLlho3otbfli5XjgZnjgovjgYvjgIHjgoLjgZfjgY/jga8gcGFydHByb2JlKDgpIOOBvuOBn+OBryBrcGFydHgoOCkg44KS5a6f6KGM44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7liYrpmaTjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7mg4XloLHjgpLooajnpLrjgZfjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiAlenUgdG8gc3lzdGVtIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLov73liqDjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICLjgqvjg7zjg43jg6vjga/lj6TjgYTmg4XloLHjgpLkvb/nlKjjgZfjgabjgYTjgb7jgZnjgILmlrDjgZfjgYTmg4XloLHjgpLliKnnlKjjgZnjgovjgavjga/jgIHjgrfjgrnjg4bjg6DjgpLlho3otbfli5XjgZnjgovjgYvjgIHjgoLjgZfjgY/jga8gcGFydHByb2JlKDgpIOOBvuOBn+OBryBrcGFydHgoOCkg44KS5a6f6KGM44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICLjgrfjg6rjg7Pjg4AiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTA4NQorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAi44K744Kv44K/IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICLjgrjjgqrjg6Hjg4jjg6roqK3lrprjgYzkuI3lrozlhajjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICLlhajjgabjga7ln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzoqK3lrprmuIjjgb/jgafjgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIuepuuOBjeODkeODvOODhuOCo+OCt+ODp+ODs+OBjOOBguOCiuOBvuOBm+OCk++8gSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICLmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLEgKOOCquODleOCu+ODg+ODiD0lanUpIOOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAi54m55q6K5qmf6IO944GL44KJ44K444Kq44Oh44OI44Oq44KS44K744OD44OI44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQzCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiRE9TIOS6kuaPm+ODouODvOODieOBr+W7g+atouS6iOWumuOBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjgYvjgonmj5DkvpvjgZXjgozjgZ/mg4XloLHjgavjgojjgovjgajjgIHniannkIbjgrvjgq/jgr/jgrXjgqTjgrrjgojjgorjgoLlsI/jgZXjgaroq5bnkIbjgrvjgq/jgr/jgrXjgqTjgrrjgYzmj5DkvpvjgZXjgozjgabjgYTjgb7jgZnjgILmgKfog73jgbjjga7lvbHpn7/jgpLpgb/jgZHjgovjgZ/jgoHjgIHniannkIbjgrvjgq/jgr8gKOOBvuOBn+OBryBJL08pIOOBq+WQiOOCj+OBm+OBpuOCteOCpOOCuuWig+eVjOOCkuioreWumuOBl+OBpuOBiuOBj+OBk+OBqOOCkuOBiuWLp+OCgeOBl+OBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAi44K344Oq44Oz44OA44KS6KGo56S65Y2Y5L2N44Go44GZ44KL44GT44Go44Gv6Z2e5o6o5aWo44Gn44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIuOBk+OBruODh+OCo+OCueOCr+OBruOCteOCpOOCuuOBryAlcyAoJWp1IOODkOOCpOODiCkg44Gn44GZ44CCRE9TIOODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+W9ouW8j+OBp+OBryAlbHUg44OQ44Kk44OI5Lul5LiK44Gu44OJ44Op44Kk44OW44Gr44GvIOOCu+OCr+OCv+OCteOCpOOCuiAlbHUg44OQ44Kk44OI44KS5L2/55So44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KT44CCR1VJRCDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6sgKEdQVCkg5b2i5byP44KS5L2/55So44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0Cittc2dpZCAiQmFkIG9mZnNldCBpbiBwcmltYXJ5IGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIuWfuuacrOaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+WGheOBq+OAgeS4jeato+OBquOCquODleOCu+ODg+ODiOWApOOBjOioreWumuOBleOCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIyV6dSDjgojjgorlvozjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLnnIHnlaXjgZfjgb7jgZfjgZ/jgILjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLkv53lrZjjgZnjgovjgajjgIHnnIHnlaXjgZXjgozjgZ/liIbjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzliYrpmaTjgZXjgozjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLEgJXp1IOWGheOBq+i/veWKoOOBruODquODs+OCr+ODneOCpOODs+OCv+OBjOWtmOWcqOOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLEgJXp1IOWGheOBq+WtmOWcqOOBmeOCi+i/veWKoOOBruODh+ODvOOCv+OCkueEoeimluOBl+OBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIuepuuOBruODkeODvOODhuOCo+OCt+ODp+ODsyAoJXp1KSDjgpLnhKHoppbjgZfjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIuaWsOOBl+OBhCBET1Mg44OH44Kj44K544Kv44Op44OZ44Or44KS5L2c5oiQ44GX44G+44GX44Gf44CC6K2Y5Yil5a2Q44GvIDB4JTA4eCDjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MjYKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2Q44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCittc2dpZCAiSW5jb3JyZWN0IHZhbHVlLiIKK21zZ3N0ciAi5YCk44GM6Kqk44Gj44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIuODh+OCo+OCueOCr+itmOWIpeWtkOOCkiAweCUwOHgg44GL44KJIDB4JTA4eCDjgavlpInmm7TjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi5L2Z5YiG44Gq5ouh5by144OR44O844OG44Kj44K344On44OzICV6dSDjgpLnhKHoppbjgZfjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIueEoeWKueOBquODleODqeOCsCAweCUwMnglMDJ4IOOBjOODkeODvOODhuOCo+OCt+ODp+ODsyAlenUg44GuIEVCUiDjgavoqK3lrprjgZXjgozjgabjgYTjgb7jgZnjgIJ3ICjmm7jjgY3ovrzjgb8pIOOCs+ODnuODs+ODieOCkuWun+ihjOOBmeOCi+OBqOOAgeS/ruato+OBleOCjOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIumWi+Wni+OCu+OCr+OCv+eVquWPtyAlanUg44GM56+E5Zuy5aSW44Gu5YCk44Gn44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBr+Wumue+qea4iOOBv+OBp+OBmeOAguWGjei/veWKoOOCkuihjOOBhuOBq+OBr+OAgeOBvuOBmuWJiumZpOOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICLjgrvjgq/jgr8gJWxsdSDjga/ml6LjgavlibLjgorlvZPjgabmuIjjgb/jgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIuWIqeeUqOWPr+iDveOBquepuuOBjeOCu+OCr+OCv+OBjOOBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi6KuW55CG44OR44O844OG44Kj44K344On44OzICV6dSDjgpLov73liqDjgZfjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjgrvjgq/jgr8gMCDjgYvjgonlp4vjgb7jgaPjgabjgYTjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenU6IOODmOODg+ODiSAlZCDjga/mnIDlpKflgKQgJWQg44KI44KK44KC5aSn44GN44GE5YCk44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog44K744Kv44K/ICVkIOOBr+acgOWkp+WApCAlbGx1IOOCiOOCiuOCguWkp+OBjeOBhOWApOOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog44K344Oq44Oz44OAICVkIOOBr+acgOWkp+WApCAlbGx1IOOCiOOCiuOCguWkp+OBjeOBhOWApOOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog55u05YmN44Gu44K744Kv44K/ICV1IOOBr+WQiOioiOWApCAldSDjgajkuIDoh7TjgZfjgb7jgZvjgpMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlenU6IOeVsOOBquOBo+OBn+eJqeeQhu+8j+irlueQhumWi+Wni+S9jee9ruOBq+OBquOBo+OBpuOBhOOBvuOBmSAoTGludXgg44Gn44Gv54Sh44GEPyk6IOeJqeeQhj0oJWQsICVkLCAlZCksIOirlueQhj0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog54mp55CG77yP6KuW55CG57WC56uv44GM55Ww44Gq44Gj44Gm44GE44G+44GZOiDniannkIY9KCVkLCAlZCwgJWQpLCDoq5bnkIY9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDjgrfjg6rjg7Pjg4DlooPnlYzjgafntYLjgo/jgaPjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog44OH44O844K/6aCY5Z+f44Gu5aeL54K544GM55Ww5bi444Gn44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44OzICV6dSDjgajph43jgarjgaPjgabjgYTjgovpg6jliIbjgYzjgYLjgorjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGVtcHR5LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog56m644GN6aCY5Z+f44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi6KuW55CG44OR44O844OG44Kj44K344On44OzICV6dTog44OR44O844OG44Kj44K344On44OzICV6dSDjga7lhajpg6jjgafjga/jgYLjgorjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICLlibLjgorlvZPjgabmuIjjgb/jgrvjgq/jgr/jga7lkIjoqIjlgKQgJWxsdSDjgYzjgIHmnIDlpKflgKQgJWxsdSDjgojjgorjgoLlpKfjgY3jgYTlgKTjgavjgarjgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICLmnKrlibLjgorlvZPjgabjga4gJTIkbGQg44OQ44Kk44OI44K744Kv44K/44GMICUxJGxsZCDlgIvjgYLjgorjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAxIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDYzCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAi5ouh5by144OR44O844OG44Kj44K344On44Oz44Gv5pei44Gr5a2Y5Zyo44GX44G+44GZIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBr+acgOWkp+aVsOOBvuOBp+S9nOaIkOa4iOOBv+OBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICLlhajjgabjga7ln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzkvb/nlKjmuIjjgb/jgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgzIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk0Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAi5YWo44Gm44Gu5Z+65pys44OR44O844OG44Kj44K344On44Oz44GM5L2/55So5riI44G/44Gn44GZ44CCIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLjgZPjgozku6XkuIrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZfjgZ/jgYTloLTlkIjjga/jgIHjgb7jgZrml6LlrZjjga7ln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpIx44Gk44CB5ouh5by144OR44O844OG44Kj44K344On44Oz44Gr572u44GN5o+b44GI44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICLjgZnjgbnjgabjga7oq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzkvb/nlKjmuIjjgb/jgafjgZnjgILln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLov73liqDjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODlyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1IOODl+ODqeOCpOODnuODqiwgJWQg5ouh5by1LCAlenUg56m644GNIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworbXNnaWQgInByaW1hcnkiCittc2dzdHIgIuWfuuacrOODkeODvOODhuOCo+OCt+ODp+ODsyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAi5ouh5by16aCY5Z+fIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICLoq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzlhaXjgorjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAi6KuW55CG44OR44O844OG44Kj44K344On44OzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAiNSDku6XkuIrjga7nlarlj7ciCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrueorumhniBgJWMnIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICLjgrvjgq/jgr8gJWpkIOOBq+abuOOBjei+vOOCgeOBvuOBm+OCkzog44K344O844Kv44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2QIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2OAorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIuOCv+OCpOODlyAwIOOBr+WkmuOBj+OBruOCt+OCueODhuODoOOBp+epuuOBjemgmOWfn+OCkuaEj+WRs+OBl+OBvuOBmeOAguOCv+OCpOODlyAwIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkuaMgeOBpOOBk+OBqOOBr+OAgeWkmuWIhuOBguOBvuOCiuizouOBhOmBuOaKnuOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAi44GZ44Gn44Gr6KuW55CG44OR44O844OG44Kj44K344On44Oz44KS5ZCr44KA5ouh5by144OR44O844OG44Kj44K344On44Oz44Gu56iu6aGe44KS5aSJ5pu044GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KT44CC44G+44Ga6KuW55CG44OR44O844OG44Kj44K344On44Oz44KS5YmK6Zmk44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI1OSBsaWJmZGlzay9zcmMvZ3B0LmM6MzAzNworbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIuOBmeOBueOBjeOBk+OBqOOBr+S9leOCguOBguOCiuOBvuOBm+OCk+OAguaXouOBq+ato+W4uOOBqumghuW6j+OBq+OBquOBo+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dTog44OH44O844K/6aCY5Z+f44GM44GC44KK44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjM0NworbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAi5paw6KaP44OH44O844K/6ZaL5aeL5L2N572uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1OiDmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgafjgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBrui1t+WLleODleODqeOCsOOCkuacieWKueOBq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOBrui1t+WLleODleODqeOCsOOCkueEoeWKueOBq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIui1t+WLlSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIuWni+eCuSDjgrfjg6rjg7Pjg4Av44OY44OD44OJL+OCu+OCr+OCvyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIue1gueCuSDjgrfjg6rjg7Pjg4Av44OY44OD44OJL+OCu+OCr+OCvyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAi5bGe5oCnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiRUZJIOOCt+OCueODhuODoCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJNQlIg44OR44O844OG44Kj44K344On44Oz5b2i5byPIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUyDotbfli5UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjgKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJTT05ZIOi1t+WLleODkeODvOODhuOCo+OCt+ODp+ODsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiTGVub3ZvIOi1t+WLleODkeODvOODhuOCo+OCt+ODp+ODsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAg6LW35YuVIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc1Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJPTklFIOi1t+WLlSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICJPTklFIOioreWumiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiTWljcm9zb2Z0IOS6iOe0hOmgmOWfnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQg5Z+65pys44OH44O844K/IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETSDjg6Hjgr/jg4fjg7zjgr8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0g44OH44O844K/IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiV2luZG93cyDjg6rjgqvjg5Djg6rnkrDlooMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIOaxjueUqOODkeODqeODrOODqyBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IOiomOaGtuWfn+OCueODmuODvOOCuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYIOODh+ODvOOCvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYIOOCteODvOODk+OCuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXgg44K544Ov44OD44OXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXgg44OV44Kh44Kk44Or44K344K544OG44OgIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIkxpbnV4IOOCteODvOODkOODh+ODvOOCvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4NikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTYKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICJMaW51eCByb290IChBUk0pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTkKK21zZ2lkICJMaW51eCByb290XHQoSUEtNjQpIgorbXNnc3RyICJMaW51eCByb290XHQoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIkxpbnV4IOS6iOe0hOmgmOWfnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IOODm+ODvOODoCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMiBsaWJmZGlzay9zcmMvc2dpLmM6NjMKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzCittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiTGludXgg5ouh5by16LW35YuVIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIOODh+ODvOOCvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCDotbfli5UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0Qg44K544Ov44OD44OXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJBcHBsZSBIRlMvSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiQXBwbGUgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiQXBwbGUgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiQXBwbGUgUkFJRCDjgqrjg5Xjg6njgqTjg7MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICJBcHBsZSDotbfli5UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiQXBwbGUg44Op44OZ44OrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIkFwcGxlIFRWIOODquOCq+ODkOODqiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiQXBwbGUg44Kz44Ki44K544OI44Os44O844K4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJTb2xhcmlzIOODq+ODvOODiCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiU29sYXJpcyAvdXNyIOOBiuOCiOOBsyBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMg44K544Ov44OD44OXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMg44OQ44OD44Kv44Ki44OD44OXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIC92YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIC9ob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJTb2xhcmlzIOS7o+abv+OCu+OCr+OCvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcyDkuojntITpoJjln58gMSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyDkuojntITpoJjln58gMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU29sYXJpcyDkuojntITpoJjln58gMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcyDkuojntITpoJjln58gNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyDkuojntITpoJjln58gNSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qg44K544Ov44OD44OXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0Qg57WQ5ZCI6aCY5Z+fIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIOaal+WPt+WMlumgmOWfnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiQ2hyb21lT1Mg44Kr44O844ON44OrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiQ2hyb21lT1Mg44Or44O844OIIEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIOS6iOe0hOmgmOWfnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOODh+ODvOOCvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOi1t+WLlSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOOCueODr+ODg+ODlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgRGlhZ25vc3RpYyIKK21zZ3N0ciAiQ29tcGFxIOiouuaWrSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgVmlydHVhbCBTQU4iCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBWaXJzdG8iCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiQ2hyb21lT1Mg5LqI57SE6aCY5Z+fIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJPcGVuQlNEIOODh+ODvOOCvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIlFOWDYg44OV44Kh44Kk44Or44K344K544OG44OgIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGxhbiA5IOODkeODvOODhuOCo+OCt+ODp+ODsyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJHUFTjg5jjg4Pjg4Djga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICJHUFQgUE1CUiDjga7jgrXjgqTjgrrjgYzlkIjoh7TjgZfjgabjgYTjgb7jgZvjgpMgKCV1ICE9ICV1KSDjgYzjgIF3ICjmm7jjgY3ovrzjgb8pIOOCs+ODnuODs+ODieOBp+S/ruato+OBleOCjOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B0OiBzdGF0KCkg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgImdwdDog44Oi44O844OJICVvIOOBjOioreWumuOBleOCjOOBn+ODleOCoeOCpOODq+OCkuaJseOBhuOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiR1BUIOODmOODg+ODgCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiR1BUIOOCqOODs+ODiOODquODvCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMjgKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIuWFiOmgreOBriBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjMzCittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIuacgOW+jOOBriBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICLku6Pmm78gTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Ko44Oz44OI44Oq44O8IExCQTogJWp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI1MAorIywgZnV6enkKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIuWJsuOCiuW9k+OBpuOBn+ODkeODvOODhuOCo+OCt+ODp+ODs+OCqOODs+ODiOODquODvDogJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAi44OQ44OD44Kv44Ki44OD44OX44GuIEdQVCDjg4bjg7zjg5bjg6vjga/noLTmkI3jgZfjgabjgYTjgovjgojjgYbjgafjgZnjgIHjgZfjgYvjgZfjg5fjg6njgqTjg57jg6rjg4bjg7zjg5bjg6vjga/lpKfkuIjlpKvjga7jgojjgYbjgafjgZnjga7jgafjgIHjgZ3jgaHjgonjgpLkvb/nlKjjgZfjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjA1Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44GuIEdQVCDjg4bjg7zjg5bjg6vjga/noLTmkI3jgZfjgabjgYTjgovjgojjgYbjgafjgZnjgIHjgZfjgYvjgZfjg5Djg4Pjgq/jgqLjg4Pjg5fjg4bjg7zjg5bjg6vjga/lpKfkuIjlpKvjga7jgojjgYbjgafjgZnjga7jgafjgIHjgZ3jgaHjgonjgpLkvb/nlKjjgZfjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICLmnKrlr77lv5zjga4gR1BUIOWxnuaAp+ODk+ODg+ODiCAnJXMnIOOBp+OBmSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICLkuIDopqcgJyVzJyDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyBVVUlEIOOCkiBgJXMnIOOBi+OCiSBgJXMnIOOBq+WkieabtOOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+WQjeOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu5ZCN5YmN44KSIGAlcycg44GL44KJIGAlLipzJyDjgavlpInmm7TjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQ1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7plovlp4vkvY3nva4gKOOCu+OCr+OCv+WNmOS9jSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrue1guS6huS9jee9riAo44K744Kv44K/5Y2Y5L2NKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAi44OH44OQ44Kk44K544GM44OP44Kk44OW44Oq44OD44OJIE1CUiDlkKvjgpPjgafjgYTjgb7jgZkgLS0gR1BUIOOBruOBv+OCkuabuOOBjei+vOOBv+OBvuOBmeOAgk1CUiDjga7lkIzmnJ/jga/miYvli5XjgafooYzjgaPjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIuODh+OCo+OCueOCr+OBq+OBr+acieWKueOBquODkOODg+OCr+OCouODg+ODl+ODmOODg+ODgOOBjOWQq+OBvuOCjOOBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIuODl+ODqeOCpOODnuODquODmOODg+ODgOOBriBDUkMg44OB44Kn44OD44Kv44K144Og44GM5q2j44GX44GP44GC44KK44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICLjg5Djg4Pjgq/jgqLjg4Pjg5fjg5jjg4Pjg4Djga4gQ1JDIOODgeOCp+ODg+OCr+OCteODoOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+mgheebruOBruODgeOCp+ODg+OCr+OCteODoOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44OY44OD44OA44GuIExCQSDjgYzjg4Hjgqfjg4Pjgq/jgavlkIjmoLzjgZfjgb7jgZvjgpPjgafjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAi44OQ44OD44Kv44Ki44OD44OX44OY44OD44OA44GuIExCQSDjgYzjg4Hjgqfjg4Pjgq/jgavlkIjmoLzjgZfjgb7jgZvjgpPjgafjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44OY44OD44OA44Gr44GC44KLIE15TEJBIOOBruWApOOBjOOAgeWun+mam+OBruS9jee9ruOBqOOBr+eVsOOBquOBo+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIuODkOODg+OCr+OCouODg+ODl+OBq+OBguOCiyBNeUxCQSDjga7lgKTjgYzjgIHlrp/pmpvjga7kvY3nva7jgajjga/nlbDjgarjgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIuOBmeOBueOBpuOBruODh+ODvOOCv+OCkuWPjuOCgeOCi+OBq+OBr+OAgeODh+OCo+OCueOCr+OBjOWwj+OBleOBmeOBjuOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44OY44OD44OA44Go44OQ44OD44Kv44Ki44OD44OX44OY44OD44OA44Gu5YaF5a6544GM5ZCI6Ie044GX44Gm44GE44G+44Gb44KT44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXUg44Gv44CB44OR44O844OG44Kj44K344On44OzICV1IOOBqOmHjeikh+OBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV1IOOBr+ODh+OCo+OCueOCr+OBq+avlOOBueOBpuWkp+OBjeOBmeOBjuOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAldSDjga/plovlp4vkvY3nva7jgojjgorjgoLliY3jgafntYLjgo/jgaPjgabjgZfjgb7jgaPjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAi44Ko44Op44O844Gv5qSc5Ye644GV44KM44G+44Gb44KT44Gn44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIuODmOODg+ODgOODkOODvOOCuOODp+ODszogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV6dSBvdXQgb2YgJXp1IHBhcnRpdGlvbnMuIgorbXNnc3RyICIlMiR6dSDlgIvjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgYbjgaHjgIEgJTEkenUg5YCL44KS5L2/55So44GX44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICLlkIjoqIggJWp1IOWAi+OBruepuuOBjeOCu+OCr+OCv+OBjCAldSDjgrvjgrDjg6Hjg7Pjg4go5pyA5aSnICVzKeWGheOBq+OAgeOBguOCiuOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICLjgqjjg6njg7zjgYwgJWQg5YCL5qSc5Ye644GV44KM44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIuOBmeOBueOBpuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBjOS9v+eUqOa4iOOBv+OBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICLjgrvjgq/jgr8gJWp1IOOBr+aXouOBq+S9v+eUqOa4iOOBv+OBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXp1IOOCkuS9nOaIkOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAi5paw44GX44GEIEdQVCDjg4fjgqPjgrnjgq/jg6njg5njg6sgKEdVSUQ6ICVzKSDjgpLkvZzmiJDjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICLmlrDjgZfjgYTjg4fjgqPjgrnjgq8gVVVJRCDjgpIgKDgtNC00LTQtMTIg5b2i5byP44GnKSDlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIlVVSUQg44Gu6Kej5p6Q44Gr5aSx5pWX44GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2Q44KSIGAlcycg44GL44KJIGAlcycg44Gr5aSJ5pu044GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICLmlrDjgZfjgY/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZnjgovjgZ/jgoHjga7ljYHliIbjgarnqbrjgY3poJjln5/jgYzjgYLjgorjgb7jgZvjgpPvvIEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXpkIOOBrumWi+Wni+eCueOCu+OCr+OCv+OBjOS4jeato+OBquWApCAoMCkg44Gr44Gq44Gj44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gv5pyA5aSn5pWw44G+44Gn5L2c5oiQ5riI44G/44Gn44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICLjg6Hjg6Ljg6rjga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ8hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruWQjeWJjeOCkiBgJXMnIOOBi+OCiSBgJS4qcycg44Gr5aSJ5pu044GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dSDjga7jgr/jgqTjg5fjga/lpInmm7TjgZfjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICLjgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgarjgYTjg5Pjg4Pjg4ggJWx1IOOCkuWkieabtOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6dSDjga7jgr/jgqTjg5fjga/lpInmm7TjgZfjgabjgYTjgb7jgZvjgpM6ICVz44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIlcyDjg5Xjg6njgrAgKOODkeODvOODhuOCo+OCt+ODp+ODsyAlenUpIOOCkuacieWKueOBq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIlcyDjg5Xjg6njgrAgKOODkeODvOODhuOCo+OCt+ODp+ODsyAlenUpIOOCkueEoeWKueOBq+OBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBrueorumhniAoVVVJRCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAi5ZCN5YmNIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAi56m644GN6aCY5Z+fIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICMlenUg44Gu44K144Kk44K65aSJ5pu044Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTggbWlzYy11dGlscy9maW5kbW50LmM6NjU1CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5OSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNyBzY2hlZHV0aWxzL2NocnQuYzoyMDUKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICLkuI3mmI4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NgorbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIlNHSSB2b2xoZHIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NworbXNnaWQgIlNHSSB0cmtyZXBsIgorbXNnc3RyICJTR0kgdHJrcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIlNHSSBzZWNyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDkKK21zZ2lkICJTR0kgcmF3IgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSDjg5zjg6rjg6Xjg7zjg6AiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MworbXNnaWQgIlNHSSBlZnMiCittc2dzdHIgIlNHSSBlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NAorbXNnaWQgIlNHSSBsdm9sIgorbXNnc3RyICJTR0kgbHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU1Cittc2dpZCAiU0dJIHJsdm9sIgorbXNnc3RyICJTR0kgcmx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IOODjeOCpOODhuOCo+ODliIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjE1OAorbXNnaWQgIlNHSSBpbmZvIGNyZWF0ZWQgb24gc2Vjb25kIHNlY3Rvci4iCittc2dzdHIgIlNHSSDmg4XloLHjgYwy44Gk55uu44Gu44K744Kv44K/44Gr5L2c5oiQ44GV44KM44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAi6ZaT6YGV44Gj44Gf44OB44Kn44OD44Kv44K144Og5YCk44GM5pu444GL44KM44GfIFNHSSDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLmpJzlh7rjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi54mp55CG44K344Oq44Oz44OA5pWwIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICLjgrfjg6rjg7Pjg4Dmr47jga7ov73liqDjgrvjgq/jgr8iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTYKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAi6LW35YuV44OV44Kh44Kk44OrIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk0Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIuS4jeato+OBqui1t+WLleODleOCoeOCpOODq+OBp+OBmSEg6LW35YuV44OV44Kh44Kk44Or44Gv57W25a++44OR44K56KGo6KiY44Gn44CBIDAg44KI44KK44KC6ZW344GE5paH5a2X5YiX44Gn44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KT44CC5L6L44GI44GwIFwiL3VuaXhcIiDjgoQgXCIvdW5peC5zYXZlXCLjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAi6LW35YuV44OV44Kh44Kk44Or5ZCN44GM6ZW344GZ44GO44G+44GZOiDmnIDlpKcgJXp1IOODkOOCpOODiOOBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIui1t+WLleODleOCoeOCpOODq+OBr+e1tuWvvuODkeOCueOBp+aMh+WumuOBl+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLjgarjgYrjgIHotbfli5Xjg5XjgqHjgqTjg6vjga7lrZjlnKjjg4Hjgqfjg4Pjgq/jga/ooYzjgaPjgabjgYTjgb7jgZvjgpPjgIJTR0kg44Gu5pei5a6a5YCk44GvIFwiL3VuaXhcIiDjgafjgIHjg5Djg4Pjgq/jgqLjg4Pjg5fnlKjjgavjga8gXCIvdW5peC5zYXZlXCIg44KS5oyH5a6a44GX44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIuePvuWcqOOBrui1t+WLleODleOCoeOCpOODqzogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDAKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAi5paw44Gf44Gq6LW35YuV44OV44Kh44Kk44Or5ZCN44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ1Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIui1t+WLleODleOCoeOCpOODq+OCkuWkieabtOOBl+OBvuOBm+OCk+OBp+OBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgIui1t+WLleODleOCoeOCpOODq+OCkiBcIiVzXCIg44Gr5aSJ5pu044GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk1Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAi44OH44Kj44K544Kv5YWo5L2T44KS6KGo44GZ6aCF55uu44GM6KSH5pWw5a2Y5Zyo44GX44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzoqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJJUklYIOOBp+OBr+OAgeODkeODvOODhuOCo+OCt+ODp+ODsyAxMSDjgavjg4fjgqPjgrnjgq/lhajkvZPjgpLooajjgo/jgZnpoIXnm67jgpLoqK3lrprjgZfjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAi44OH44Kj44K544Kv5YWo5L2T44KS6KGo44KP44GZ44OR44O844OG44Kj44K344On44Oz44Gu6ZaL5aeL5L2N572u44Gv44OW44Ot44OD44KvICVkIOOBp+OBr+OBquOBj+OAgeODluODreODg+OCryAwIOOBp+OBguOCi+OBueOBjeOBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44OzIDExIOOBq+OBr+ODh+OCo+OCueOCr+WFqOS9k+OCkuihqOOCj+OBmemgheebruOCkuioreWumuOBmeOBueOBjeOBp+OBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIuODkeODvOODhuOCo+OCt+ODp+ODsyAlZCDjgaggJWQg44GvICVkIOOCu+OCr+OCv+WIhuOBoOOBkemHjeOBquOBo+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MiBsaWJmZGlzay9zcmMvc2dpLmM6Njg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIiU4dSDjgrvjgq/jgr/jga7mnKrkvb/nlKjjgq7jg6Pjg4Pjg5c6IOOCu+OCr+OCvyAlOHUtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTcKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLotbfli5Xjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzlrZjlnKjjgZfjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDEKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLjgrnjg6/jg4Pjg5fjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzlrZjlnKjjgZfjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIuOCueODr+ODg+ODl+ODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODl+OBjOOCueODr+ODg+ODl+OBq+OBquOBo+OBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOAorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICLotbfli5Xjg5XjgqHjgqTjg6vlkI3jgajjgZfjgabpgJrluLjjgajjga/nlbDjgarjgovlkI3liY3jgpLlhaXlipvjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBjOODh+OCo+OCueOCr+WGheOBp+mHjeikh+OBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0MworbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIuODh+OCo+OCueOCr+WFqOS9k+OCkuihqOOBmemgheebruOCkuiHquWLleeUn+aIkOOBl+OCiOOBhuOBqOOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAi44OH44Kj44K544Kv5YWo5L2T44KS6KGo44GZ6aCF55uu44GM6Kit5a6a5riI44G/44Gn44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICLjg4fjgqPjgrnjgq/kuIrjga7poJjln5/jgYzph43opIfjgZfjgabjgYTjgb7jgZnjgILjgb7jgZrjga/jgZPjgozjgpLop6PmsbrjgZfjgabjgY/jgaDjgZXjgYQhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc0IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIumWi+WniyAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OCBsaWJmZGlzay9zcmMvc2dpLmM6OTQ4Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIjExIOeVquebruOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBr+ODh+OCo+OCueOCr+WFqOS9k+OCkuihqOOCj+OBmeOCguOBruOBqOOBl+OAgWBTR0kgdm9sdW1lJyDjga7jgr/jgqTjg5fjgpLoqK3lrprjgZfjgabjgYrjgY/jgZPjgajjgpLlvLfjgY/jgYrli6fjgoHjgZfjgb7jgZnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLntYLnq68gJXMsICslcyDjgb7jgZ/jga8gK3NpemV7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NCBsaWJmZGlzay9zcmMvc3VuLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCDjgYwgJXMg44Gn5aSx5pWX44GX44G+44GX44Gf44CC44K444Kq44Oh44OI44Oq44Gu44K344Oq44Oz44OA5YCk44KS44CBJWxsdSDjgajjgb/jgarjgZfjgb7jgZnjgILjgZPjga7oqK3lrprjgavjgojjgorjgIEgMzMuOCBHQiDjgojjgorlpKfjgY3jgarjg4fjg5DjgqTjgrnjgYzliIfjgormjajjgabjgonjgozjgovjgZPjgajjgavjgarjgovjgYvjgoLjgZfjgozjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAi5paw44GX44GEIFNHSSDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLkvZzmiJDjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDY5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICLnlLPjgZfoqLPjgYLjgorjgb7jgZvjgpPjgILkvZXjgoLmm7jjgYvjgozjgabjgYTjgarjgYTjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgr/jgrDjgpLlpInmm7TjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiSVJJWCDjgafjga/jg5Hjg7zjg4bjgqPjgrfjg6fjg7MgOSDjgpLjg5zjg6rjg6Xjg7zjg6Djg5jjg4Pjg4AgKDApIOOBq+OAgeODkeODvOODhuOCo+OCt+ODp+ODsyAxMSDjgpLlhajkvZPjg5zjg6rjg6Xjg7zjg6AgKDYpIOOBq+ioreWumuOBmeOCi+OBk+OBqOOCkuacn+W+heOBl+OBpuOBhOOBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIumgmOWfn+OBruOCquODleOCu+ODg+ODiOS9jee9riAwIOOBryBcIlNHSSB2b2xoZHJcIiDlvaLlvI/jgavjgZfjgabjgYrjgY/jgZPjgajjgpLlvLfjgY/mjqjlpajjgZfjgb7jgZnjgILjgZPjgozjga8gSVJJWCDjgrfjgrnjg4bjg6Djgacgc2FzaCDjgoQgZngg44Gu44KI44GG44Gq44OE44O844Or44KS5Yip55So44GZ44KL6Zqb44CB44GT44GT44GL44KJ44OH44Kj44Os44Kv44OI44Oq5oOF5aCx44KS6Kqt44G/5Ye644GZ44KI44GG44Gr44Gq44Gj44Gm44GE44KL44Gf44KB44Gn44GZ44CC44Gq44GK44CBIFwiU0dJIOODnOODquODpeODvOODoFwiIOWFqOS9k+ODh+OCo+OCueOCr+OCu+OCr+OCt+ODp+ODs+OCkuioreWumuOBl+OBn+WgtOWQiOOBq+OBruOBv+W9semfv+OBjOOBguOCiuOBvuOBmeOAguacrOW9k+OBq+OBk+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCsOOCkuWkieabtOOBl+OBvuOBmeOBiz8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzozOQorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIuacquWJsuOCiuW9k+OBpiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mg44Or44O844OIIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyDjgrnjg6/jg4Pjg5ciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJXaG9sZSBkaXNrIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1Mg5Luj5pu/44K744Kv44K/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1Mg5LqI57SEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAi6ZaT6YGV44Gj44Gf44OB44Kn44OD44Kv44K144Og5YCk44Gu6Kit5a6a44GV44KM44GfIHN1biDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLmpJzlh7rjgZfjgb7jgZfjgZ/jgILjgYrjgZ3jgonjgY/jga/jgIHjg5jjg4Pjg4nmlbDjgoTjgrvjgq/jgr/mlbDjgIHjgrfjg6rjg7Pjg4DmlbDjgoTjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgarjganjgIHlhajjgabjga7lgKTjgpLoqK3lrprjgZnjgovjgYvjgIHmlrDjgZfjgYTjg6njg5njg6vjgpLlvLfliLbnmoTjgavkvZzmiJDjgZnjgosgKOODoeOCpOODs+ODoeODi+ODpeODvOOBi+OCiSBzIOOCs+ODnuODs+ODiSkg5b+F6KaB44GM44GC44KK44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICLplpPpgZXjgaPjgZ/jg5Djg7zjgrjjg6fjg7MgWyVkXSDjga4gc3VuIOODh+OCo+OCueOCr+ODqeODmeODq+OCkuaknOWHuuOBl+OBvuOBl+OBn+OAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICLplpPpgZXjgaPjgZ8gdnRvYy5zYW5pdHkg5YCkIFsweCUwOHhdIOOBriBzdW4g44OH44Kj44K544Kv44Op44OZ44Or44KS5qSc5Ye644GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAi6ZaT6YGV44Gj44GfIHZ0b2MubnBhcnRzIOWApCBbMHgldV0g44GuIHN1biDjg4fjgqPjgrnjgq/jg6njg5njg6vjgpLmpJzlh7rjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjIKK21zZ2lkICJXYXJuaW5nOiBXcm9uZyB2YWx1ZXMgbmVlZCB0byBiZSBmaXhlZCB1cCBhbmQgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKSIKK21zZ3N0ciAi6K2m5ZGKOiDplpPpgZXjgaPjgabjgYTjgovlgKTjga/jgIEgdyAo5pu444GN6L6844G/KSDjgrPjg57jg7Pjg4njgafkv67mraPjgZXjgozjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAi44OY44OD44OJ5pWwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAi44K744Kv44K/L+ODiOODqeODg+OCryIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5MworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIuaWsOOBl+OBhCBTdW4g44OH44Kj44K544Kv44Op44OZ44Or44KS5L2c5oiQ44GX44G+44GX44Gf44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAldSDjga/jgrfjg6rjg7Pjg4DlooPnlYzjgafntYLjgo/jgaPjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXUg44Gv44CB5LuW44Gu44OR44O844OG44Kj44K344On44Oz44GoIOOCu+OCr+OCvyAldS0ldSDjgacg6YeN6KSH44GX44Gm44GE44G+44GZ44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICLmnKrkvb/nlKjjgq7jg6Pjg4Pjg5cgLSDjgrvjgq/jgr8gMC0ldeOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAi5pyq5L2/55So44Ku44Oj44OD44OXIC0g44K744Kv44K/ICV1LSV144CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICLml6LlrZjjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzml6Ljgavjg4fjgqPjgrnjgq/lhajkvZPjgpLkvb/nlKjjgZfjgabjgYTjgb7jgZnjgILjgb7jgZrjga/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLliYrpmaTjgb7jgZ/jga/nuK7lsI/jgZfjgabjgYvjgonlho3luqblrp/ooYzjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIjMg55Wq55uu44Gu44OR44O844OG44Kj44K344On44Oz44Gv44OH44Kj44K544Kv5YWo5L2T44KS6KGo44GZ44KI44GG44Gr6Kit5a6a44GX44CBYFdob2xlIGRpc2snIOOBruOCv+OCpOODl+OBq+OBl+OBpuOBiuOBj+OBk+OBqOOCkuW8t+OBj+OBiuWLp+OCgeOBl+OBvuOBmSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLmnIDliJ3jga7jgrvjgq/jgr/jgpIgJXUg44GL44KJICV1IOOBq+mFjee9ruOBl+OBpuOCt+ODquODs+ODgOWig+eVjOOBq+WQiOOCj+OBm+OBvuOBmeOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIuOCu+OCr+OCvyAlZCDjga/ml6LjgavlibLjgorlvZPjgabmuIjjgb/jgafjgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJZb3UgaGF2ZW4ndCBjb3ZlcmVkIHRoZSB3aG9sZSBkaXNrIHdpdGggdGhlIDNyZCBwYXJ0aXRpb24sIGJ1dCB5b3VyIHZhbHVlXG4iCisiJWx1ICVzIGNvdmVycyBzb21lIG90aGVyIHBhcnRpdGlvbi4gWW91ciBlbnRyeSBoYXMgYmVlbiBjaGFuZ2VkXG4iCisidG8gJWx1ICVzIgorbXNnc3RyICIiCisiMyDnlarnm67jga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/jg4fjgqPjgrnjgq/lhajkvZPjgpLooajjgo/jgZfjgabjga/jgYTjgb7jgZvjgpPjgYzjgIEgJWQgJXNcbiIKKyLjga7lgKTjgYzku5bjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLooajjgo/jgZnjgojjgYbjgavoqK3lrprjgZfjgabjgYLjgorjgb7jgZnjgILoqK3lrprlgKTjgpJcbiIKKyIlZCAlcyDjgavlpInmm7TjgZfjgb7jgZkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIOOChCBTb2xhcmlzIOOBqOOBruS6kuaPm+aAp+OCkue2reaMgeOBl+OBn+OBhOWgtOWQiOOBr+OAgeOBk+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkiBXaG9sZSBkaXNrICg1KSDjgajjgZfjgaboqK3lrprjgZfjgIHplovlp4vkvY3nva7jgpIgMCDjgavjgIEgJXUg44K744Kv44K/5YiG44Gu44K144Kk44K644KS5oyB44Gk44KI44GG44Gr6Kit5a6a44GX44Gm44GP44Gg44GV44GE44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIuODqeODmeODqyBJRCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAi44Oc44Oq44Ol44O844OgIElEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi5Luj5pu/44K344Oq44Oz44OA5pWwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIuS7o+abv+OCt+ODquODs+ODgOaVsCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLjgrfjg6rjg7Pjg4Dmr47jga7ov73liqDjgrvjgq/jgr8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi44Kk44Oz44K/44O844Oq44O844OW5Zug5pWwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIuWbnui7ouaVsCAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIueJqeeQhuOCt+ODquODs+ODgOaVsCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyIzIOeVquebruOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBryBXaG9sZSBkaXNrICg1KSDjgajjgZfjgabmrovjgZfjgabjgYrjgY/jgojjgYbjgavjgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIKKyLjgZPjgozjga8gU3VuT1MvU29sYXJpcyDjgYzmnJ/lvoXjgZnjgovoqK3lrprjgafjgYLjgovjgbvjgYvjgIEgTGludXgg44Gn44KC44GT44Gu44KI44GG44Gr6Kit5a6a44GZ44KLXG4iCisi44GT44Go44KS5pyf5b6F44GX44Gm44GE44KL44Gf44KB44Gn44GZ44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisi44Kq44OV44K744OD44OIIDAg44Gr44GC44KL44OR44O844OG44Kj44K344On44Oz44GvIFVGUywgRVhUMkZTIOODleOCoeOCpOODq+OCt+OCueODhuODoOOAgVxuIgorIuOCguOBl+OBj+OBryBTdW5PUyDjgrnjg6/jg4Pjg5fjgavoqK3lrprjgZfjgabjgYrjgY/jgZPjgajjgpLlvLfjgY/jgYrli6fjgoHjgZfjgb7jgZnjgIIgTGludXggXG4iCisi44K544Ov44OD44OX44OR44O844OG44Kj44K344On44Oz44KS6YWN572u44GX44Gm44GX44G+44GG44Go44CB44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44GoXG4iCisi6LW35YuV44OW44Ot44OD44Kv44KS56C05aOK44GX44Gm44GX44G+44GE44G+44GZ44CCXG4iCisi44OR44O844OG44Kj44K344On44Oz44Gu44K/44Kw44KSIExpbnV4IHN3YXAg44Gr6Kit5a6a44GX44Gm44KI44KN44GX44GE44Gn44GZ44GL77yfIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJyZWFkbGluayDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICLorablkYo6IOS8neaSreODleODqeOCsOOBrumBqeeUqOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBkZXZpY2Ugd3JpdGUtcHJvdGVjdGVkLCBtb3VudGVkIHJlYWQtb25seSIKK21zZ3N0ciAiJXMg44Gv5pu444GN6L6844G/56aB5q2i44Gn44GZ44CB6Kqt44G/6L6844G/5bCC55So44Gn44Oe44Km44Oz44OI44GX44G+44GZIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICLjgZPjga7mk43kvZzjgpLlrp/ooYzjgafjgY3jgovjga7jga8gcm9vdCDjgaDjgZHjgafjgZkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIOOBr+ODnuOCpuODs+ODiOa4iOOBv+OBp+OBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIGluICVzIgorbXNnc3RyICIlMiRzIOWGheOBqyAlMSRzIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHBvaW50IGluICVzIgorbXNnc3RyICIlMiRzIOWGheOBqyAlMSRzIOOBruODnuOCpuODs+ODiOODneOCpOODs+ODiOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICIlMiRzIOWGheOBq+ODnuOCpuODs+ODiOWFgyAlMSRzIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzOiDjg57jgqbjg7Pjg4jlhYPjga7liKTliKXjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAi44OV44Kh44Kk44Or5ZCN44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAiJXMg44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiOOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9uczogJW0iCittc2dzdHIgIuODnuOCpuODs+ODiOOCquODl+OCt+ODp+ODs+OBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICLjg57jgqbjg7Pjg4jjgqrjg5fjgrfjg6fjg7Pjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiJXM6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICIlcyDjga8gbHAg44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KT44CCIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgIiVzIOOCkumWieOBmOOCi+mam+OBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICLjg57jgqbjg7Pjg4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczog44OV44Kh44Kk44Or44K344K544OG44Og44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GX44Gf44GM44CBIG1vdW50KDgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiVzOiDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZfjgZ/jgYzjgIEgbW91bnQoOCkg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiCAlcyDjga/jg4fjgqPjg6zjgq/jg4jjg6rjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIuOCouOCr+OCu+OCueOBjOaLkuWQpuOBleOCjOOBvuOBl+OBnyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAiIG1vdW50IOOCkuS9v+eUqOOBmeOCi+OBq+OBr+OCueODvOODkeODvOODpuODvOOCtuOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiOOBr+S9v+eUqOS4reOBp+OBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMg44GvICVzIOOBq+ODnuOCpuODs+ODiOa4iOOBv+OBp+OBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICIlcyDjga/jg57jgqbjg7Pjg4jmuIjjgb/jgIHjgoLjgZfjgY/jga/jg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgYzkvb/nlKjkuK3jgafjgZkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi44Oe44Km44Oz44OI44Od44Kk44Oz44OI44GM5a2Y5Zyo44GX44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiOOBr+WtmOWcqOOBl+OBquOBhOWgtOaJgOOCkuaMh+OBmeOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBp+OBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLjgrnjg5rjgrfjg6Pjg6vjg4fjg5DjgqTjgrkgJXMg44GM5a2Y5Zyo44GX44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50KDIpIOOCt+OCueODhuODoOOCs+ODvOODq+OBjOWkseaVl+OBl+OBvuOBl+OBnzogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICLjgrnjg5rjgrfjg6Pjg6vjg4fjg5DjgqTjgrkgJXMg44GM5a2Y5Zyo44GX44G+44Gb44KTICjjg5Hjgrnjg5fjg6zjg5XjgqPjgq/jgrnjgYzjg4fjgqPjg6zjgq/jg4jjg6rjgafjga/jgYLjgorjgb7jgZvjgpMpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAi44Oe44Km44Oz44OI44Od44Kk44Oz44OI44Gr44Gv44Oe44Km44Oz44OI44GV44KM44Gm44GE44Gq44GE44GL44CB44Kq44OX44K344On44Oz6Kit5a6a44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiOOBp+OBr+OBquOBhOOBi+OAgeOCquODl+OCt+ODp+ODs+ioreWumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorIuOCquODl+OCt+ODp+ODs+ioreWumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCk+OAguOBquOBiuOAgeWFseacieODnuOCpuODs+ODiOWGheOBq+ODnuOCpuODs+ODiOOCklxuIgorIiAgICAgICDnp7vli5XjgZnjgovlh6bnkIbjgavjga/jgIHlr77lv5zjgZfjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHQgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSIKK21zZ3N0ciAiIgorIiAgICAgICAobmZzLCBjaWZzIOOBquOBqeOAgeODleOCoeOCpOODq+OCt+OCueODhuODoOOBq+OCiOOBo+OBpuOBryAvc2Jpbi9tb3VudC4844K/44Kk44OXPlxuIgorIiAgICAgICDjga7jg5jjg6vjg5Hjg7zjg5fjg63jgrDjg6njg6DjgYzlv4XopoHjgafjgZkpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIuS9leOCieOBi+OBruOCqOODqeODvOOBq+OCiOOCiuOAgeODnuOCpuODs+ODiOOBjOWkseaVl+OBl+OBvuOBl+OBn+OAglxuIgorIiAgICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5csIOOCquODl+OCt+ODp+ODsywgJXMg5LiK44Gu44K544O844OR44O8XG4iCisiICAgICAgIOODluODreODg+OCrywg5b+F6KaB44Gq44Kz44O844OJ44Oa44O844K45oyH5a6a77yP44OY44Or44OR44O844OX44Ot44Kw44Op44OgXG4iCisiICAgICAgIOOBquOBqeOAgeS9leOCieOBi+OBruioreWumuOBjOmWk+mBleOBo+OBpuOBhOOCi+OCguOBruOBqOaAneOCj+OCjOOBvuOBmeOAgiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIuODnuOCpuODs+ODiOODhuODvOODluODq+OBjOOBhOOBo+OBseOBhOOBp+OBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAiJXMg44Gu44K544O844OR44O844OW44Ot44OD44Kv44KS6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAi5pyq55+l44Gu44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OXICclcycg44Gn44GZIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIuacquefpeOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCv+OCpOODl+OBp+OBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMgKOOBneOBruOBn+OCgeOBqyBzdGF0KDIpIOOBjOWkseaVl+OBl+OBn+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmSkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgIuOBk+OBruOCq+ODvOODjeODq+OBryAlcyDjgpLjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgajjgZfjgaboqo3orZjjgZfjgabjgYTjgb7jgZvjgpM744GK44Gd44KJ44GPIGBtb2Rwcm9iZSDjg4njg6njgqTjg5AnIOOCkuWun+ihjOOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZTsgdHJ5IFwiLW8gbG9vcFwiIgorbXNnc3RyICIlcyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMgKGAtbyBsb29wJyDjgpLmjIflrprjgZnjgovjgajop6PmsbrjgafjgY3jgovjgYvjgoLjgZfjgozjgb7jgZvjgpMpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMg44Gv44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyDjga/mraPluLjjgarjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICIlcyDjgpLoqq3jgb/ovrzjgb/lsILnlKjjgafjg57jgqbjg7Pjg4jjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiVzIOOBr+abuOOBjei+vOOBv+emgeatouOBp+OBmeOBjOOAgeaYjuekuueahOOBq+iqreOBv+abuOOBjeODouODvOODieOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAiJXMg44KS6Kqt44G/5pu444GN5Y+v6IO944Gq54q25oWL44Gn5YaN44Oe44Km44Oz44OI44Gn44GN44G+44Gb44KT44CB44Op44Kk44OI44OX44Ot44OG44Kv44OI44GV44KM44Gm44GE44G+44GZIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJpbmQgJXMgZmFpbGVkIgorbXNnc3RyICIlcyDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIiVzIOOBq+ODoeODh+OCo+OCouOBjOaMv+WFpeOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICInJXMnIOS4iuOBq+ODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuS9nOOCieOBquOBhOOCiOOBhuOBq+OBl+OBvuOBmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IOODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAi44Ki44Oz44Oe44Km44Oz44OI44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIiVzOiDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZfjgZ/jgYzjgIEgbW91bnQoOCkg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuOCouODs+ODnuOCpuODs+ODiOOBl+OBvuOBl+OBn+OBjOOAgSBtb3VudCg4KSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczog5LiN5q2j44Gq44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44GZIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlczog44K544O844OR44O844OW44Ot44OD44Kv44Gr5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAiJXMg44Gv5L2/55So5Lit44Gn44GZIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiOOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiJXM6IOOCouODs+ODnuOCpuODs+ODiOOBmeOCi+OBq+OBr+OCueODvOODkeODvOODpuODvOOCtuOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIlczog5oyH5a6a44GX44Gf44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gv44OV44Kh44Kk44Or44K344K544OG44Og5LiK44Gn6Kix5Y+v44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQoMikg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8gKCVzKSIKKworIzogbGliL3BhdGguYzoyMzkgc3lzLXV0aWxzL2xzY3B1LmM6MTc2MAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiY2FsbG9jYXRlIGNwdSBzZXQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsaWIvcGF0aC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgIkNQVSDjg6rjgrnjg4ggKCVzKSDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxpYi9wYXRoLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiQ1BVIOODnuOCueOCryAoJXMpIOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAi44Kz44Oz44K944O844Or44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiJXMg44Gr5a++44GZ44KL5Yi26ZmQ5pmC6ZaT44KS6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICLjgrPjg7Pjgr3jg7zjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICJsaWJjIOaTrOS8vOS5seaVsOmWouaVsCIKKworIzogbGliL3JhbmR1dGlscy5jOjE5OQorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgImxpYmMg5pOs5Ly85Lmx5pWw6Zai5pWwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzOiDjg4fjg5DjgqTjgrnjgpLmpJzlh7rjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiVzOiDnn5vnm77jgZnjgovntZDmnpzjgavjgarjgorjgb7jgZfjgZ/jgIIgd2lwZWZzKDgpIOOCkuOBiuS9v+OBhOOBj+OBoOOBleOBhCIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiDmraPjgZfjgYTjgrnjg6/jg4Pjg5fjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczog5pyq5a++5b+c44Gu44K544Ov44OD44OX44OQ44O844K444On44OzICclcycg44Gn44GZIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDU5Cittc2dpZCAiZm9ybWF0X2lzb190aW1lOiBidWZmZXIgb3ZlcmZsb3cuIgorbXNnc3RyICIiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NzcgbGliL3RpbWV1dGlscy5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi56+E5Zuy5aSW44Gu5YCk44Gn44GZ44CCIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYgbG9naW4tdXRpbHMvY2hzaC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbPOODpuODvOOCtuWQjT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAi44GC44Gq44Gf44GuIGZpbmdlciDmg4XloLHjgpLlpInmm7TjgZfjgb7jgZnjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDzlp5PlkI0+ICAgICAgIOODpuODvOOCtuOBruWun+WQjeOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDzjgqrjg5XjgqPjgrk+ICAgICAg44Kq44OV44Kj44K555Wq5Y+344KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPOmbu+ipseeVquWPtz4g44Kq44OV44Kj44K544Gu6Zu76Kmx55Wq5Y+344KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA86Zu76Kmx55Wq5Y+3PiAg6Ieq5a6F44Gu6Zu76Kmx55Wq5Y+344KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIuODleOCo+ODvOODq+ODiSBcIiVzXCIg44GM6ZW344GZ44GO44G+44GZIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICLjgq3jg7zjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMgKCVzKSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY0IGxvZ2luLXV0aWxzL2NoZm4uYzozMjYKK21zZ2lkICJPZmZpY2UiCittc2dzdHIgIuOCquODleOCo+OCuSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIuOCquODleOCo+OCueOBrumbu+ipsSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICLoh6rlroXjga7pm7voqbEiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxOTQgbG9naW4tdXRpbHMvY2hzaC5jOjE4NworbXNnaWQgImNhbm5vdCBoYW5kbGUgbXVsdGlwbGUgdXNlcm5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyNDgKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAi5Lit5q2i44GX44G+44GX44Gf44CCIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgImZpbmdlciDmg4XloLHjga8gKuWkieabtOOBleOCjOOBvuOBm+OCk+OBp+OBl+OBnyog44CC44G+44Gf44GC44Go44Gn6Kmm44GX44Gm44GP44Gg44GV44GE44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgImZpbmdlciDmg4XloLHjgpLlpInmm7TjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICLjgYLjgarjgZ8gKOODpuODvOOCtiAlZCkg44GM5a2Y5Zyo44GX44G+44Gb44KT44CCIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi44Om44O844K2IFwiJXNcIiDjgYzlrZjlnKjjgZfjgb7jgZvjgpPjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICLjg63jg7zjgqvjg6vpoIXnm67jga7jgb/jgpLlpInmm7TjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMg44Gr44Gv44CBICVzIOOBriBmaW5nZXIg5oOF5aCx44KS5aSJ5pu044GZ44KL5qip6ZmQ44GM44GC44KK44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAi5LiN5piO44Gq44Om44O844K244Kz44Oz44OG44Kt44K544OIIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzIOOBq+WvvuOBl+OBpuaXouWumuOBruOCs+ODs+ODhuOCreOCueODiOOCkuioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIuWHpueQhuOBq+S9v+eUqOOBl+OBpuOBhOOCiyBVSUQg44Go44CB5aSJ5pu044GX44KI44GG44Go44GX44Gm44GE44KLIFVJRCDjgYzlkIjoh7TjgZfjgb7jgZvjgpPjgILlpInmm7Tjga/mi5LlkKbjgZXjgozjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiJXMg44GuIGZpbmdlciDmg4XloLHjgpLlpInmm7TjgZfjgb7jgZnjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgImZpbmdlciDmg4XloLHjga/lpInmm7TjgZXjgozjgb7jgZvjgpPjgafjgZfjgZ/jgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3Cittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIuODreOCsOOCpOODs+OCt+OCp+ODq+OCkuWkieabtOOBl+OBvuOBmeOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODAKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAg44Ot44Kw44Kk44Oz44K344Kn44Or44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MQorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAg44K344Kn44Or44Gu5LiA6Kan44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgIuOCt+OCp+ODq+OBr+ODleODq+ODkeOCueOBp+eEoeOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIlwiJXNcIiDjga/lrZjlnKjjgZfjgb7jgZvjgpPjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICJcIiVzXCIg44Gv5a6f6KGM44Gn44GN44G+44Gb44KT44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAi6K2m5ZGKOiBcIiVzXCIg44GvICVzIOOBruS4gOimp+WGheOBq+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisiXCIlc1wiIOOBryAlcyDjga7kuIDopqflhoXjgavjgYLjgorjgb7jgZvjgpPjgIJcbiIKKyIlcyAtbCDjgpLlrp/ooYzjgZnjgovjgajjgIHkuIDopqfjgpLooajnpLrjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZnjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMg44Gr44Gv44CBICVzIOOBruOCt+OCp+ODq+OCkuWkieabtOOBmeOCi+aoqemZkOOBjOOBguOCiuOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIuWHpueQhuOBq+S9v+eUqOOBl+OBpuOBhOOCiyBVSUQg44Go44CB5aSJ5pu044GX44KI44GG44Go44GX44Gm44GE44KLIFVJRCDjgYzlkIjoh7TjgZfjgb7jgZvjgpPjgILjgrfjgqfjg6vjga7lpInmm7Tjga/mi5LlkKbjgZXjgozjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIuOBiuS9v+OBhOOBruOCt+OCp+ODq+OBryAlcyDlhoXjgavmm7jjgYvjgozjgabjgYTjgb7jgZvjgpPjgILjgrfjgqfjg6vjga7lpInmm7Tjga/mi5LlkKbjgZXjgozjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICIlcyDjga7jgrfjgqfjg6vjgpLlpInmm7TjgZfjgb7jgZnjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAi5paw44GX44GE44K344Kn44OrIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICLjgrfjgqfjg6vjgpLlpInmm7TjgZfjgb7jgZvjgpPjgafjgZfjgZ/jgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAi44K344Kn44Or44GvICrlpInmm7TjgZXjgozjgb7jgZvjgpPjgafjgZfjgZ8qIOOAguOBguOBqOOBp+OBvuOBn+ippuOBl+OBpuOBj+OBoOOBleOBhOOAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIOOBq+WkseaVl+OBl+OBvuOBl+OBn1xuIgorIuOCt+OCp+ODq+OBryAq5aSJ5pu044GV44KM44G+44Gb44KT44Gn44GX44GfKiDjgILjgYLjgajjgafjgb7jgZ/oqabjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAi44K344Kn44Or44KS5aSJ5pu044GX44G+44GX44Gf44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICLkvb/jgYTmlrk6ICVzIDzjg5Hjgrnjg6/jg7zjg4njg5XjgqHjgqTjg6s+IDzjg6bjg7zjgrblkI0+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAi5pmC6ZaT44Gu5b2i5byP44GM5LiN5piO44Gn44GZOiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI3NiBsb2dpbi11dGlscy9sYXN0LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIlcyDjgavlibLjgorovrzjgb/jgYzlhaXjgorjgb7jgZfjgZ8iCisKKyMgVHJhbnNsYXRvcidzIE5PVEU6IOaEj+WRs+S4jeaYjgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIuS6i+WJjeOBq+WJsuOCiuW9k+OBpuOBn+OCteOCpOOCuuOCkui2heOBiOOBpuOBhOOBvuOBmSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbPOODpuODvOOCtuWQjT4uLi5dIFs8VFRZPi4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzgKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTzmlbDlgKQ+ICAgICAgICAgICAgICAgICAg6KGo56S644GZ44KL6KGM5pWwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICAgICAg5pyA5b6M44Gu5YiX44Gr6KGo56S644GZ44KL44Ob44K544OI5ZCNXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgICAgICBJUCDjgqLjg4njg6zjgrnjgYvjgonjg5vjgrnjg4jlkI3jgavpgIblvJXjgY3lpInmj5vjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDzjg5XjgqHjgqTjg6s+ICAgICVzIOOBp+OBr+OBquOBj+OAgeaMh+WumuOBl+OBn+ODleOCoeOCpOODq+OCkuS9v+eUqOOBl+OBpuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgICAgICDjg63jgrDjgqTjg7PjgIHjg63jgrDjgqLjgqbjg4jjga7mmYLliLvjgajml6Xku5jjgpLlrozlhajjgarlvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXAgICAgICAgICAgICAgICAgIElQIOOCouODieODrOOCueOCkuaVsOWtl+OBqOODlOODquOCquODieOBruihqOiomOOBp+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDzmlbDlgKQ+ICAgICAgIOihqOekuuOBmeOCi+ihjOaVsFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICAgICAg44Ob44K544OI5ZCN44Gu6aCF55uu44KS6KGo56S644GX44Gq44GEXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA85pmC5Yi7PiAgICAgICDmjIflrprjgZfjgZ/mmYLliLvku6XpmY3jga7ooYzjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC10LCAtLXVudGlsIDzmmYLliLs+ICAgICAgIOaMh+WumuOBl+OBn+aZguWIu+S7peWJjeOBruihjOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPOaZguWIuz4gICAgIOaMh+WumuOBl+OBn+aZguWIu+OBq+ODreOCsOOCpOODs+OBl+OBpuOBhOOBn+ODpuODvOOCtuOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgICAgICDjg6bjg7zjgrblkI3jgajjg4njg6HjgqTjg7PlkI3jgpLlrozlhajjgarlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MQorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIgLXgsIC0tc3lzdGVtICAgICAgICAgICAgIOOCt+OCueODhuODoOOBruOCt+ODo+ODg+ODiOODgOOCpuODs+mgheebruOBqOODqeODs+ODrOODmeODq+OBruWkieabtOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDzlvaLlvI8+ICAgIOOCv+OCpOODoOOCueOCv+ODs+ODl+OBruihqOekuuW9ouW8j+OCkuaMh+WumuOBl+OBvuOBmTpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVzIOOBryAlcyDjgYvjgonlp4vjgb7jgorjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIuaVsOWApOOBruino+aekOOBq+WkseaVlyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk5MyBsb2dpbi11dGlscy9sYXN0LmM6OTk4IGxvZ2luLXV0aWxzL2xhc3QuYzoxMDAzCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICLmmYLplpPjga7lgKQgXCIlc1wiIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAi44Kw44Or44O844OX5qip6ZmQ44KS6JC944Go44GZ44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAibGlidXNlciDjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIuODpuODvOOCtuWxnuaAp+OBruWkieabtOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAi44Om44O844K25bGe5oCn44KS5aSJ5pu044GX44G+44Gb44KT44Gn44GX44GfOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICLoh7Tlkb3nmoTjgqjjg6njg7w6IHR0eSDjgpLlho3luqbplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIuiHtOWRveeahOOCqOODqeODvDogJXMg44Gv56uv5pyr44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXMsICVsdSwgJWx1KSDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG1vZCAoJXMsICV1KSDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM4MAorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICLoh7Tlkb3nmoTjgqjjg6njg7w6IOS4jeato+OBqiB0dHkg44Gn44GZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICLoh7Tlkb3nmoTjgqjjg6njg7w6ICVzOiDjg5Hjg7zjg5/jg4Pjgrfjg6fjg7Pjga7lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAi5YmN5Zue44Gu44Ot44Kw44Kk44OzOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgIuaOpee2muWFgzogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgIuerr+acqzogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJsYXN0bG9nIOOBuOOBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICLjg4DjgqTjg6Tjg6vjgqLjg4Pjg5fmjqXntpogKOerr+acqzogJXMsIOODpuODvOOCtjogJXMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgInJvb3Qg44Ot44Kw44Kk44OzICjnq6/mnKs6ICVzLCDmjqXntprlhYM6ICVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAicm9vdCDjg63jgrDjgqTjg7MgKOerr+acqzogJXMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICLjg63jgrDjgqTjg7MgKOerr+acqzogJXMsIOODpuODvOOCtjogJXMsIOaOpee2muWFgzogJXMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAi44Ot44Kw44Kk44OzICjnq6/mnKs6ICVzLCDjg6bjg7zjgrY6ICVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICLjg63jgrDjgqTjg7M6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiUEFNIOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBn+OAgeS4reatouOBl+OBpuOBhOOBvuOBmTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiUEFNIOOBrua6luWCmeOBjOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIuODreOCsOOCpOODs+WkseaVlyAo5Zue5pWwOiAldSwg5o6l57aa5YWDOiAlcywg44Om44O844K25ZCNOiAlcywg6Kmz57SwOiAlcykiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzk3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuODreOCsOOCpOODs+OBjOWkseaVl+OBl+OBvuOBl+OBn1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi5aSa44GZ44GO44KL44Ot44Kw44Kk44Oz6Kmm6KGMICjlm57mlbA6ICV1LCDmjqXntprlhYM6ICVzLCDjg6bjg7zjgrblkI06ICVzLCDoqbPntLA6ICVzKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICLjg63jgrDjgqTjg7PlpLHmlZcgKOaOpee2muWFgzogJXMsIOODpuODvOOCtuWQjTogJXMsIOips+e0sDogJXMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyLjg63jgrDjgqTjg7PjgYzlpLHmlZfjgZfjgb7jgZfjgZ9cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIuOCu+ODg+OCt+ODp+ODs+OBruOCu+ODg+ODiOOCouODg+ODl+aZguOBq+WVj+mhjOOBjOeZuueUn+OBl+OBvuOBl+OBn+OAguS4reatouOBl+OBvuOBmeOAgiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAi44Om44O844K25ZCN44GMIE5VTEwg44Gr44Gq44Gj44Gm44GE44KL566H5omA44GMICVzOiVkIOOBq+OBguOCiuOBvuOBmeOAguS4reaWreOBl+OBvuOBmeOAgiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAi5L2/44GE5pa5OiBsb2dpbiBbLXBdIFstaCA844Ob44K544OIPl0gWy1IXSBbWy1mXSA844Om44O844K25ZCNPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAwCisjLCBmdXp6eQorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJTZXNzaW9uIGtleSDjgYznorrnq4vjgZfjgb7jgZfjgZ86XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgLWYgICAgICAgICAgIOmVt+OBhOihjOOCkuWIhuWJsuOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDUKK21zZ2lkICIgLWggPGhvc3Q+ICAgICAgaG9zdG5hbWUgdG8gYmUgdXNlZCBmb3IgdXRtcCBsb2dnaW5nIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNgorIywgZnV6enkKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiIC11ICAgICAgICAgIOS4i+e3muOCkuW8leOBjeOBvuOBm+OCk1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiJXUg56eS44Gn5pmC6ZaT5YiH44KM44Gr44Gq44KK44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWgg44Gv44K544O844OR44O844Om44O844K25bCC55So44Gn44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAi54Sh5Yq544Gq44Om44O844K25ZCNIFwiJXNcIiDjgYwgJXM6JWQg44Gr44GC44KK44G+44GZ44CC5Lit5pat44GX44G+44GZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIuOCsOODq+ODvOODl+OBrua6luWCmeOBq+WkseaVl+OBl+OBvuOBl+OBnzogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIuaWsOOBl+OBhOODoeODvOODq+OBjOWxiuOBhOOBpuOBhOOBvuOBmeOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAi44Oh44O844Or44GM5bGK44GE44Gm44GE44G+44GZ44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiDjg4fjgqPjg6zjgq/jg4jjg6rjga7lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIuODm+ODvOODoOODh+OCo+ODrOOCr+ODiOODqiBcIi9cIiDjgafjg63jgrDjgqTjg7PjgZfjgb7jgZnjgIJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgIuOCt+OCp+ODq+OCueOCr+ODquODl+ODiOOCkuWun+ihjOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIuOCt+OCp+ODq+OBjOOBguOCiuOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyDjgavlkKvjgb7jgozjgabjgYTjgovmlbDlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICLjg4/jg4Pjgrfjg6Xjg63jgrDjgqTjg7PnirbmhYs6IOOCquODquOCuOODiuODq+OBriBJRCDjga7lvqnlhYPjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgIm5vIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICLjg6bjg7zjgrblkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIuODpuODvOOCtuODvOWQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAi44Om44O844K2IElEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAi44OR44K544Ov44O844OJ44Gv5LiN6KaB44Gn44GZIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAi44OR44K544Ov44O844OJ44Gv5LiN6KaB44Gn44GZIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4njgavjgojjgovjg63jgrDjgqTjg7PjgYznhKHlirnjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIuODkeOCueODr+ODvOODieOBq+OCiOOCi+ODreOCsOOCpOODs+OBjOeEoeWKueOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4njgYzlrprnvqnjgZXjgozjgabjgYTjgb7jgZnjgYzjgIHjg63jg4Pjgq/jgZXjgozjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4njgYzjg63jg4Pjgq/jgZXjgozjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIuODreOCsOOCpOODs+OBjCBub2xvZ2luKDgpIOOBvuOBn+OBryBwYW1fbm9sb2dpbig4KSDjgavjgojjgaPjgabnhKHlirnjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICLjg63jgrDjgqTjg7M6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIuODl+ODqeOCpOODnuODquOCsOODq+ODvOODl+WQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICLjg5fjg6njgqTjg57jg6rjgrDjg6vjg7zjg5ciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAi44OX44Op44Kk44Oe44Oq44Kw44Or44O844OXIElEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODl+WQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAi6KOc5Yqp44Kw44Or44O844OXIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICLoo5zliqnjgrDjg6vjg7zjg5cgSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODlyBJRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAi44Ob44O844Og44OH44Kj44Os44Kv44OI44OqIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICLjg5vjg7zjg6Djg4fjgqPjg6zjgq/jg4jjg6oiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIuODreOCsOOCpOODs+OCt+OCp+ODqyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAi44K344Kn44OrIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICLlrozlhajjgarjg6bjg7zjgrblkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICLjg5XjgqPjg7zjg6vjg4kiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICLliY3lm57jg63jgrDjgqTjg7Pjga7ml6Xku5giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAi5YmN5Zue44Ot44Kw44Kk44OzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIuWJjeWbnuS9v+eUqOOBl+OBn3R0eSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICLliY3lm57jga7nq6/mnKsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIuWJjeWbnuOCu+ODg+OCt+ODp+ODs+OBruODm+OCueODiOWQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICLliY3lm57jg5vjgrnjg4jlkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi5YmN5Zue44Gu44Gu5aSx5pWX44GX44Gf44Ot44Kw44Kk44Oz44Gu5pel5LuYIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi5aSx5pWX44GX44Gf44Ot44Kw44Kk44OzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJsYXN0bG9nIOOBuOOBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIuODreOCsOOCpOODs+OBq+WkseaVl+OBl+OBn+err+acqyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIuioreWumihfUykiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICLjg6bjg7zjgrbjgYzjg5Hjgrnjg6/jg7zjg4nmnJ/pmZDliIfjgozorablkYrjgpLlj5fjgZHjgovml6XmlbAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4nmnJ/pmZDliIfjgozorablkYrjga7plpPpmpQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICLjg5Hjgrnjg6/jg7zjg4nmnInlirnmnJ/pmZAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIuODkeOCueODr+ODvOODieacn+mZkOWIh+OCjOitpuWRiuOBrumWk+malCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICLliY3lm57jga7jg5Hjgrnjg6/jg7zjg4nlpInmm7Tjga7ml6Xku5giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIuWkieabtCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIuWkieabtOOBrumWk+OBq+W/heimgeOBquaXpeaVsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAi5aSJ5pu05pel5pmCPSUtMjYuMjRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIuODkeOCueODr+ODvOODieOCkuWkieabtOOBl+OBquOBj+OBpuOCiOOBhOaXpeaVsOOBruacgOWkp+WApCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAi5aSJ5pu05pel5pmCPSUtMjYuMjRzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAi44Om44O844K244O844Kz44Oz44OG44Kt44K544OI44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiU2VsaW51eCDjgrPjg7Pjg4bjgq3jgrnjg4giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIuODpuODvOOCtuOBq+OCiOOBo+OBpuWun+ihjOS4reOBruODl+ODreOCu+OCueaVsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAi5a6f6KGM5Lit44Gu44OX44Ot44K744K5IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIuOCteODneODvOODiOOBleOCjOOBpuOBquOBhCBMREFQIFVSSSDjgr/jgqTjg5fjgafjgZk6ICVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiLS10aW1lb3V0IOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAi6KOc5Yqp44Kw44Or44O844OXIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgIuWGhemDqOOCqOODqeODvDog5pyq55+l44Gu5qyE44GM44GC44KK44G+44GZIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLmnIDntYLmm7TmlrA6ICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs11cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI5Cittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMgorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMzCittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg54m544Gr5Yqg5bel44KS6KGM44KP44Ga44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIOODpuODvOOCtuOCueODmuODvOOCueOBruODoeODg+OCu+ODvOOCuOOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgICAg5L2/55So5rOVICjjgZPjgowpIOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICDjg6bjg7zjgrbjga7liY3lm57jga7jg63jgrDjgqTjg7Pjgrvjg4Pjgrfjg6fjg7PjgavjgaTjgYTjgabooajnpLrjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgICAgICDjg6bjg7zjgrblkI3jgajjg4njg6HjgqTjg7PlkI3jgpLlrozlhajjgarlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwIHN5cy11dGlscy9sc2lwYy5jOjI5OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgICDkvb/nlKjms5UgKOOBk+OCjCkg44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg44OS44Oz44OI44KS6KGo56S644GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+IOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgICDkvb/nlKjms5UgKOOBk+OCjCkg44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICDliqDlt6XjgpLooYzjgarjgo/jgarjgYTlh7rlipvlvaLlvI/jgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgICAgICDmnIDlvozjga7liJfjgavooajnpLrjgZnjgovjg5vjgrnjg4jlkI1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjI5NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQgPOW9ouW8jz4g44K/44Kk44Og44K544K/44Oz44OX44KS5oyH5a6a44GX44Gf5b2i5byP44Gn6KGo56S644GX44G+44GZOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICDjg6bjg7zjgrbjgrnjg5rjg7zjgrnjga7jg6Hjg4Pjgrvjg7zjgrjjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAg44Kr44O844ON44Or44Oh44OD44K744O844K444KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorIywgZnV6enkKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIOOCt+OCsOODiuODq+OCkumAgeS/oeOBm+OBmuOAgSBQSUQg44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAi5ZCN5YmN44Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfOiAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIuS4gOOBpOOBruODpuODvOOCtuOBruOBv+aMh+WumuOBp+OBjeOBvuOBmeOAguikh+aVsOOBruODpuODvOOCtuOCkuaMh+WumuOBmeOCi+OBq+OBryAtbCDjgpLkvb/nlKjjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICLnq6/mnKvlsZ7mgKfjgpLoqK3lrprjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAiZ2V0bGluZSgpIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAi44OR44K544Ov44O844OJOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJjcnlwdCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPOOCsOODq+ODvOODlz5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAi5paw6KaP44Kw44Or44O844OXIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIuiqsOOBp+OBmeOBi++8nyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjQKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICLjgZ3jga7jgojjgYbjgarjgrDjg6vjg7zjg5fjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIuOBk+OBruOCouOCq+OCpuODs+ODiOOBr+ePvuWcqOWIqeeUqOOBp+OBjeOBvuOBm+OCk+OAglxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyMjQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAi77yI44Kz44Ki44KS44OA44Oz44OX44GX44G+44GX44Gf77yJIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIuerr+acq+OBruWxnuaAp+WPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcHNldWRvLXRlcm1pbmFsIgorbXNnc3RyICLmlrDjgZfjgYTjg4fjgqPjgrnjgq/jg6njg5njg6vjga7kvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAi44K344Kw44OK44Or44KS44OW44Ot44OD44Kv44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkg44GM44Ko44Op44O844KS6L+U44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44Oq44KS6ZaL44GP5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgInJvb3Qg5Lul5aSW44Gu44Om44O844K244GM5L2/55So44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIuODkeOCueODr+ODvOODieOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICLjgrvjg4Pjgrfjg6fjg7PjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NzkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3ODcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siCittc2dzdHIgIuOCt+OCsOODiuODq+OCkuODluODreODg+OCr+OBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgIuOCt+OCsOODiuODq+ODj+ODs+ODieODqeOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODA1IG1pc2MtdXRpbHMvdXVpZGQuYzozOTggc3lzLXV0aWxzL2xzY3B1LmM6NzQzCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc5NgorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIuOCt+OCsOODiuODq+ODj+ODs+ODieODqeOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgIuOCt+OCsOODiuODq+ODj+ODs+ODieODqeOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICLlrZDjg5fjg63jgrvjgrnjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44Oq44KSICVzIOOBq+WkieabtOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyLjgrvjg4Pjgrfjg6fjg7PjgYzntYLkuobjgZfjgb7jgZfjgZ8sIOOCt+OCp+ODq+OCkuWBnOatouOBl+OBpuOBhOOBvuOBmS4uLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgIiAuLi7lgZzmraLjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTQxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIiVzIOeSsOWig+WkieaVsOOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICLjgrDjg6vjg7zjg5fjgpLoqK3lrprjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1c2VyIGNyZWRlbnRpYWxzOiAlcyIKK21zZ3N0ciAi44Os44OZ44OrICclcycg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIuOCsOODq+ODvOODlyBJRCDjgpLoqK3lrprjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjQgc3lzLXV0aWxzL2VqZWN0LmM6NjYzCittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICLjg6bjg7zjgrYgSUQg44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICDnkrDlooPlpInmlbDjgpLjg6rjgrvjg4Pjg4jjgZfjgb7jgZvjgpNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MworbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDzjgrDjg6vjg7zjg5c+ICAgICAgICAgIOODl+ODqeOCpOODnuODquOCsOODq+ODvOODl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDzjgrDjg6vjg7zjg5c+ICAgICAgICAgICAg6KOc5Yqp44Kw44Or44O844OX44KS5oyH5a6a44GX44G+44GZXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAgIOOBk+OBruOBoeOCh+OBo+OBqOOBl+OBn+S9v+OBhOaWueOCkuihqOekuuOBmeOCi1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk4Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29tbWFuZCA844Kz44Oe44Oz44OJPiAgICAgICAgLWMg44KS5Yip55So44GX44Gm5Y2Y5LiA44Gu44Kz44Oe44Oz44OJ44KSXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44K344Kn44Or44Gr5rih44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPOOCs+ODnuODs+ODiT4gICAgLWMg44KS5Yip55So44GX44Gm5Y2Y5LiA44Gu44Kz44Oe44Oz44OJ44KS44K344Kn44Or44Gr5rih44GX44CBXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5paw44GX44GE44K744OD44K344On44Oz44Gu5L2c5oiQ44Gv6KGM44GE44G+44Gb44KTXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAg44K344Kn44Or44GrIC1mIOOCkua4oeOBl+OBvuOBmVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNzaCDjgoQgdGNzaCDlkJHjgZHjga7mqZ/og70pXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDIKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaGVsbCA844K344Kn44OrPiAgICAgICAgICAgIC9ldGMvc2hlbGxzIOOBp+ioseWPr+OBl+OBpuOBhOOCjOOBsOOAgVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPOOCt+OCp+ODqz7jgpLotbfli5XjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAg6KGo44KS5L2c5oiQ44GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODh+ODkOOCpOOCuT4gW1stTl0gPOODkeODvOODhuOCo+OCt+ODp+ODsz5dXG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOOCs+ODnuODs+ODiT5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExOAorIywgZnV6enkKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiXG4iCisiPOODpuODvOOCtj4g44Gn5oyH5a6a44GX44Gf5a6f5Yq544Om44O844K2IElEIOOBqOOCsOODq+ODvOODlyBJRCDjgafjgIE844Kz44Oe44Oz44OJPuOCkuWun+ihjOOBl+OBvuOBmeOAglxuIgorIi11IOOCkuaMh+WumuOBl+OBquOBhOWgtOWQiOOAgeW+k+adpeOBriBzdSgxKSDjgajkupLmj5vmgKfjga7jgYLjgovli5XkvZzjgajjgarjgorjgIHjgrfjgqfjg6vjgYzotbfli5VcbiIKKyLjgZXjgozjgb7jgZnjgILjgarjgYrjgIEtYywgLWYsIC1sLCAtcyDjga7jgqrjg5fjgrfjg6fjg7Pjga8gLXUg44Go5o6S5LuW6Zai5L+C44Gr44GC44KK44G+44GZ44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMjMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPOODpuODvOOCtj4gICAgICAgICAgICAg44Om44O844K25ZCNXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbLV0gWzzjg6bjg7zjgrY+IFs85byV5pWwPi4uLl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlrp/lirnjg6bjg7zjgrYgSUQg44Go44Kw44Or44O844OXIElEIOOCkuOAgeaMh+WumuOBl+OBnzzjg6bjg7zjgrY+44Gu44KC44Gu44Gr5YiH44KK5pu/44GI44G+44GZ44CCXG4iCisi44Gq44GK44CBIC0g44GvIC1sIOOBruaEj+WRs+OCkuWQq+OBv+OBvuOBmeOAgjzjg6bjg7zjgrY+44KS5oyH5a6a44GX44Gq44GE5aC05ZCI44GvIHJvb3Qg44Gn44GC44KL44KC44Gu44GoXG4iCisi44G/44Gq44GV44KM44G+44GZ44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiVkIOWAi+S7peS4iuOBruijnOWKqeOCsOODq+ODvOODl+OCkuaMh+WumuOBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi44Kw44Or44O844OXICVzIOOBjOWtmOWcqOOBl+OBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTI5MAorIywgZnV6enkKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiLS1yZWxvYWQg44Gv44GC44Gq44Gf44Gu44K344K544OG44Og44Gn44Gv44K144Od44O844OI44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2CisjLCBmdXp6eQorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCDjgpLnhKHoppbjgZfjgb7jgZnjgIItLWxvZ2luIOOBqOaOkuS7lueahOOBquOBn+OCgeOBp+OBmeOAgiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MAorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0g44GoIC0tdXNlciDjga7jgqrjg5fjgrfjg6fjg7Pjga/jgIHlkIzmmYLjgavkvb/nlKjjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgIIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIuOCs+ODnuODs+ODieOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODl+OCkuaMh+WumuOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLjg6bjg7zjgrYgJXMg44GM5a2Y5Zyo44GX44Gm44GE44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIuWItumZkOOCt+OCp+ODqyAlcyDjgpLkvb/nlKjjgZfjgabjgYTjgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIuitpuWRijog44OH44Kj44Os44Kv44OI44Oq44KSICVzIOOBq+WkieabtOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjZ2V0YXR0ciDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogcm9vdCDnlKjjga7poIXnm67jgYzjgYLjgorjgb7jgZvjgpNcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiByb290IOeUqOOBrumgheebruOBjOOBguOCiuOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogcm9vdCDjga7jg5Hjgrnjg6/jg7zjg4njgpLmraPjgZfjgY/oqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICJyb290IOOBruODkeOCueODr+ODvOODieOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICLjg63jgrDjgqTjg7PjgZnjgovjgavjga8gRW50ZXIg44KS5oq844GX44Gm44GP44Gg44GV44GEOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLjg6Hjg7Pjg4bjg4rjg7PjgrnjgpLooYzjgYTjgb7jgZnjgIIgcm9vdCDjga7jg5Hjgrnjg6/jg7zjg4njgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYRcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIuODoeODs+ODhuODiuODs+OCueOCkuihjOOBhuOBq+OBryBFbnRlciDjgpLmirzjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKENvbnRyb2wtRCDjgpLmirzjgZnjgajjgIHlh6bnkIbjgpLntprooYzjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZkpOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzMKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAi44K344K544OG44Og44Or44O844OI44Gr44OH44Kj44Os44Kv44OI44Oq44KS5YiH44KK5pu/44GI44KL5Yem55CG44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24g44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbdHR5IOODh+ODkOOCpOOCuV1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICLjgrfjg7PjgrDjg6vjg6bjg7zjgrbjg7wg44Ot44Kw44Kk44Oz44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAg44Ot44Kw44Kk44Oz44K344Kn44Or44KS6LW35YuV44GX44G+44GZXG4iCisiIC10LCAtLXRpbWVvdXQgPOenkj4gICAgICAg44OR44K544Ov44O844OJ44Gu5YWl5Yqb5b6F44Gh5pmC6ZaT44KS5oyH5a6a44GX44G+44GZICjml6LlrprlgKQ6IOeEoeWItumZkClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGdldHB3bmFtKDMpIOOBjOWkseaVl+OBl+OBn+WgtOWQiOOAgeODkeOCueODr+ODvOODieODleOCoeOCpOODq+OCkuebtOaOpeiqreOBv+i+vOOBv+OBvuOBmVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODYzIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0Njggc3lzLXV0aWxzL3dkY3RsLmM6NTI0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgxNyB0ZXJtLXV0aWxzL3dhbGwuYzoyMTYKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIuaZgumWk+WIh+OCjOOBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg6bjg7zjgrbjgaDjgZHjgYzjgZPjga7jg5fjg63jgrDjg6njg6DjgpLotbDjgonjgZvjgovjgZPjgajjgYzjgafjgY3jgb7jgZkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICLjgrPjg7Pjgr3jg7zjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzQKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAi44OR44K544Ov44O844OJ44OH44O844K/44OZ44O844K544KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorInN1IOOCt+OCp+ODq+OCkui1t+WLleOBp+OBjeOBvuOBm+OCk1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIuaZgumWk+WIh+OCjOOBp+OBmVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA0OQorIywgZnV6enkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorInN1IOOCt+OCp+ODq+OCkui1t+WLleOBp+OBjeOBvuOBm+OCk1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IGlub3RpZnkg44Gu55uj6KaW44KS6L+95Yqg44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBpbm90aWZ5IOOCpOODmeODs+ODiOOCkuiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIuODleOCoeOCpOODq+WGheOBq+S4jeimgeOBquaUueihjOOBjOa3t+WFpeOBl+OBpuOBhOOBvuOBmeOAguWHpueQhuOCkue1guS6huOBl+OBvuOBmeOAgiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBb44OV44Kh44Kk44Or5ZCNXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwNgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICDjg5XjgqHjgqTjg6vjgYzov73oqJjjgZXjgozjgovjgZ/jgbPjgavjgZ3jga7lhoXlrrnjgpLooajnpLrjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTAKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgICAg44OA44Oz44OX44OH44O844K/44KSIHV0bXAg44OV44Kh44Kk44Or44Gr5pu444GN5oi744GX44G+44GZXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzExCittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA844OV44Kh44Kk44OrPiDmqJnmupblh7rlipvjgafjga/jgarjgY/jg5XjgqHjgqTjg6vjgavmm7jjgY3ovrzjgb/jgb7jgZlcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIuaomea6luWFpeWKm+OBq+WvvuOBl+OBpiAtLWZvbGxvdyDjgpLkvb/nlKjjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiVzIOOBriB1dG1wIOmAhuODgOODs+ODl1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiJXMg44GuIHV0bXAg44OA44Oz44OXXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDUKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICLkuIDmmYLjg5XjgqHjgqTjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogJXMg44Gr5a++44GX44Gm44Oq44Oz44Kv44KS5L2c5oiQ44GZ44KL5Yem55CG44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXMg44Gu44Kz44Oz44OG44Kt44K544OI44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXMg44Gu44Kz44Oz44OG44Kt44K544OI44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMg44Gv5aSJ5pu044GV44KM44G+44Gb44KT44Gn44GX44GfIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICLjg63jg4Pjgq8gKOaWvemMoCkg44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICLlpInmm7Tjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAi44OV44Kh44Kk44Or44KSIGNobW9kIOOBp+OBjeOBvuOBm+OCkyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIuODkeOCueODr+ODvOODieODleOCoeOCpOODq+OBvuOBn+OBr+OCsOODq+ODvOODl+ODleOCoeOCpOODq+OCkue3qOmbhuOBl+OBvuOBmeOAglxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICLjgZPjga7jgrfjgrnjg4bjg6Djgafjga/jgIEgc2hhZG93IOW9ouW8j+OBruOCsOODq+ODvOODl+OBjOS9v+OCj+OCjOOBpuOBhOOBvuOBmeOAglxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYyCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICLjgZPjga7jgrfjgrnjg4bjg6Djgafjga/jgIEgc2hhZG93IOW9ouW8j+OBruODkeOCueODr+ODvOODieOBjOS9v+OCj+OCjOOBpuOBhOOBvuOBmeOAglxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAi5LuK44GZ44GQICVzIOOCkue3qOmbhuOBl+OBvuOBmeOBiyBbeS9uXT8gIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworIywgZnV6enkKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA844OV44Kh44Kk44OrPiDoqr/mlbTjg5XjgqHjgqTjg6vjga7jg5HjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAg5pei5a6a5YCkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIOOCt+OCp+ODq+OBruS4gOimp+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTAKK21zZ2lkICIgLXMsIC0tbWF0Y2gtdGFnIDx0YWc+ICAgICAgc2hvdyBzcGVjaWZpZWQgdGFnKHMpIChkZWZhdWx0IHNob3cgYWxsIHRhZ3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICDlhajjgabjgIHjgoLjgZfjgY/jga/mjIflrprjgZfjgZ/jg4fjg5DjgqTjgrnjga7mg4XloLHjgpLkuIDopqfjgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICAgICBjb252ZXJ0IExBQkVMIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2l6ZSA844K144Kk44K6PiAgICAgICDjg4fjg5DjgqTjgrnjga7jgrXjgqTjgrpcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPOODpuODvOOCtj4gICAgICAgICAgICAg44Om44O844K25ZCNXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBkZXZpY2UocykgdG8gcHJvYmUgKGRlZmF1bHQ6IGFsbCBkZXZpY2VzKVxuIgorbXNnc3RyICIgPGRldj4gICAgICAgICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnvvIjpgJrluLjjga/jg4fjgqPjgrnjgq/vvInjga7jg5HjgrlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIuWHuuWKm+W9ouW8jzpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgUElEIOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOOCteODs+ODl+ODquODs+OCsOOCueODhuODg+ODl+OBq+mWouOBmeOCi+aDheWgseOBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaXplIDzjgrXjgqTjgro+ICAgICAgIOODh+ODkOOCpOOCueOBruOCteOCpOOCulxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDzjg5vjgrnjg4jlkI0+ICAgICAg44Ot44Kw44Kk44Oz44Ob44K544OI44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPOODquOCueODiD4gICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gu56iu6aGe44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPOODquOCueODiD4gICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gu56iu6aGe44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICLkvb/nlKjmuIjjgb/jgajjgZfjgabjg57jg7zjgq/jgZfjgb7jgZkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiJXM6IOODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIgorbXNnc3RyICLop6PmnpDjgqjjg6njg7w6ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpdmFsZW50IHJlc3VsdCAocHJvYmFibHkgbW9yZSBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlLCB1c2Ugd2lwZWZzKDgpIHRvIHNlZSBtb3JlIGRldGFpbHMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24ga2V5d29yZCBpbiAtdSA8bGlzdD4gYXJndW1lbnQ6ICclcyciCittc2dzdHIgIuS4jeaYjuOBquW8leaVsOOBp+OBmTogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgIuacquWvvuW/nOOBruOCquODl+OCt+ODp+ODs+W9ouW8j+OBp+OBmTogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTkgbWlzYy11dGlscy93aXBlZnMuYzo2OTcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAi44Kq44OV44K744OD44OI5YCk44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICLjgrPjg57jg7Pjg4njgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLmmYLliLvjga7lvJXmlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIumVt+OBleOBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICLlvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMgLSDntYLkuobjg4jjg6njg4Pjgq8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgIumAseOBruWApOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmTogMS01MyDjga7nr4Tlm7LjgafmjIflrprjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIuODleOCoeOCpOODq+WQjeOBruacgOWkp+OCteOCpOOCuuOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAi5pel5LuY44Gu5YCk44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIuaXpeOBruWApOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmTogMS0lZCDjga7nr4Tlm7LjgafmjIflrprjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIuaciOOBruWApOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmTogMS0xMiDjga7nr4Tlm7LjgafmjIflrprjgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICLkuI3mmI7jgarlhKrlhYjpoIbkvY3lkI3jgafjgZk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NgorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAi5bm044Gu5YCk44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5NAorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgIuW5tOOBruWApOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmTog6Ieq54S25pWw44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GEIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIumAseOBruWApOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmTogJWQg5bm044Gr44GvIOmAsSAlZCDjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbW1vml6VdIOaciF0g5bm0XVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844OV44Kh44Kk44Or5ZCNPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTgKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAi44Kr44Os44Oz44OA44O844G+44Gf44Gv44Gd44Gu5LiA6YOo44KS6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAi5byV5pWw44KS5LuY44GR44Gq44GE5aC05ZCI44Gv5LuK5pyI44KS6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIDEg44GL5pyI5YiG44Gg44GR44KS6KGo56S644GX44G+44GZICjml6LlrprlgKQpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICAzIOOBi+aciOWIhuOBruaXpeS7mOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICAzIOOBi+aciOWIhuOBruaXpeS7mOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDYKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIOmAseOBrumWi+Wni+OCkuaXpeabnOaXpeOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDcKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIOmAseOBrumWi+Wni+OCkuaciOabnOaXpeOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICDjg6bjg6rjgqbjgrnml6XjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgdCAtIOeUn+OBruW9ouW8j+OBruODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgsSIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAg5bm05YWo5L2T44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIOW5tOWFqOS9k+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTMKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgVVMg44G+44Gf44GvIElTTy04NjAxIOW9ouW8j+OBrumAseeVquWPt+OCkuihqOekulxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTQKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgICAgIC0tY29sb3JbPTzmmYLmnJ8+XSAg44Oh44OD44K744O844K444KS6Imy44Gl44GR44GX44G+44GZXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRv44CBYWx3YXlz44CBbmV2ZXIg44Gu44Gp44KM44GLKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MQorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIHBhZ2VzIgorbXNnc3RyICLlhbHmnInjg6Hjg6Ljg6ogSUQ6ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgIuWFseacieODoeODouODqiBJRDogJWRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu44K144Kk44K6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorIywgZnV6enkKK21zZ2lkICJmaWxlIG5hbWUiCittc2dzdHIgIuODleOCoeOCpOODq+WQjSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbWluY29yZTogJXMiCittc2dzdHIgIuOCt+ODs+ODnOODquODg+OCr+ODquODs+OCr+OBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1tYXA6ICVzIgorbXNnc3RyICIlcyDjgYvjgonjga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW46ICVzIgorbXNnc3RyICIlcyDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAiJXMg44GL44KJ44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODqz4uLi5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDnibnjgavliqDlt6XjgpLooYzjgo/jgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIOWPr+iqreaAp+OBrumrmOOBhOW9ouW8j+OBp+OBr+OBquOBj+OAgeODkOOCpOODiOWNmOS9jeOBp+OCteOCpOOCuuOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAg44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOeJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAi44OV44Kh44Kk44Or44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIuODqeODmeODq+OBvuOBn+OBryBVVUlEIOOBp+ODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuaOouOBl+OBvuOBmeOAglxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIiclcycg44KS6Kej5rG644Gn44GN44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgIuOCveODvOOCueODh+ODkOOCpOOCuSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAi44Oe44Km44Oz44OI44Od44Kk44Oz44OIIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44Gu56iu6aGeIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi44GZ44G544Gm44Gu44Oe44Km44Oz44OI44Kq44OX44K344On44OzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiVkZTIOWbuuacieOBruODnuOCpuODs+ODiOOCquODl+OCt+ODp+ODsyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og5Zu65pyJ44Gu44Oe44Km44Oz44OI44Kq44OX44K344On44OzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djg6njg5njg6siCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga4gVVVJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg6njg5njg6siCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1Cittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAi44Oh44K444Oj44O8OuODnuOCpOODiuODvOODh+ODkOOCpOOCueeVquWPtyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiLS1wb2xsIOOBp+aknOWHuuOBleOCjOOBn+WLleS9nCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICItLXBvbGwg44Gn5L+d5a2Y44GV44KM44Gf5Y+k44GE44Oe44Km44Oz44OI44Kq44OX44K344On44OzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIi0tcG9sbCDjgafkv53lrZjjgZXjgozjgZ/lj6TjgYTjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4giCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44Gu44K144Kk44K6ICjlhajkvZMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jgrXjgqTjgrogKOepuuOBjSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgrXjgqTjgrogKOS9v+eUqOa4iOOBvykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBruS9v+eUqOeOhyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jg6vjg7zjg4giCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgIuOCv+OCueOCryBJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIuODnuOCpuODs+ODiCBJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICLjgZ3jga7ku5bjga7jg57jgqbjg7Pjg4jpoIXnm64iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiVkZTIOS8neaSreODleODqeOCsCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgImR1bXAoOCkg5pyf6ZaTICjljZjkvY06IOaXpSkgW2ZzdGFiIOOBruOBv10iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJmc2NrKDgpIOOCkuWQjOaZguS4puihjOWHpueQhuOBleOBm+OCi+WgtOWQiOOBruODkeOCueeVquWPtyBbZnN0YWIg44Gu44G/XSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAi5LiN5piO44Gq5YuV5L2c44Gn44GZOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCittc2dpZCAibW91bnQiCittc2dzdHIgIuODnuOCpuODs+ODiCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICLjgqLjg7Pjg57jgqbjg7Pjg4giCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgIuWGjeODnuOCpuODs+ODiCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAi56e75YuVIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJsaWJtb3VudCDjg4bjg7zjg5bjg6vjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICIlcyDjgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJsaWJtb3VudCDliJfmjJnlrZDjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJsaWJtb3VudCB0YWJkaWZmIOOBrua6luWCmeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgInBvbGwoKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW+OCquODl+OCt+ODp+ODs11cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSA844OH44OQ44Kk44K5PiB8IDzjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4g+XG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODh+ODkOOCpOOCuT4gPOODnuOCpuODs+ODiOODneOCpOODs+ODiD5cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSBbLS1zb3VyY2UgPOODh+ODkOOCpOOCuT5dIFstLXRhcmdldCA844OR44K5Pl0gfCAtLW1vdW50cG9pbnQgPOODh+OCo+ODrOOCr+ODiOODqj4gXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi6Kmy5b2T44GZ44KL44OV44Kh44Kk44Or44K344K544OG44Og44GM6KaL44Gk44GL44KK44G+44Gb44KTOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgavplqLjgZnjgovmg4XloLHjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMworIywgZnV6enkKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiIKKyJcbiIKKyLjgqrjg5fjgrfjg6fjg7M6XG4iCisiIC1zLCAtLWZzdGFiICAgICAgICAgICAg6Kit5a6a44OV44Kh44Kk44Or44Gr5pu444GL44KM44Gf44OV44Kh44Kk44Or44K344K544OG44Og5YaF44KS5qSc57Si44GX44G+44GZXG4iCisiIC1tLCAtLW10YWIgICAgICAgICAgICAg44Oe44Km44Oz44OI5riI44G/44Gu44OV44Kh44Kk44Or44K344K544OG44Og5YaF44KS5qSc57Si44GX44G+44GZXG4iCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAg44Kr44O844ON44Or44GM6KqN6K2Y44GX44Gm44GE44KL44Oe44Km44Oz44OI5riI44G/44OV44Kh44Kk44Or44K344K544OG44OgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDlhoXjgpLmpJzntKLjgZfjgb7jgZkgKOaXouWumuWApClcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorIywgZnV6enkKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCquODl+OCt+ODp+ODszpcbiIKKyIgLXMsIC0tZnN0YWIgICAgICAgICAgICDoqK3lrprjg5XjgqHjgqTjg6vjgavmm7jjgYvjgozjgZ/jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DlhoXjgpLmpJzntKLjgZfjgb7jgZlcbiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICDjg57jgqbjg7Pjg4jmuIjjgb/jga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DlhoXjgpLmpJzntKLjgZfjgb7jgZlcbiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICDjgqvjg7zjg43jg6vjgYzoqo3orZjjgZfjgabjgYTjgovjg57jgqbjg7Pjg4jmuIjjgb/jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6BcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIOWGheOCkuaknOe0ouOBl+OBvuOBmSAo5pei5a6a5YCkKVxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICDjg57jgqbjg7Pjg4jmuIjjgb/jga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgavjgaTjgYTjgabjgIHlpInmm7TjgpLnm6PoppbjgZfjgb7jgZlcbiIKKyIgLXcsIC0tdGltZW91dCA8bnVtPiAgICAtLXBvbGwg44GM5b6F5qmf44GZ44G544GN5pmC6ZaT44Gu5LiK6ZmQ44KS44CB44Of44Oq56eS5Y2Y5L2N44Gn5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIOODnuOCpuODs+ODiOa4iOOBv+OBruODleOCoeOCpOODq+OCt+OCueODhuODoOOBq+OBpOOBhOOBpuOAgeWkieabtOOCkuebo+imluOBl+OBvuOBmVxuIgorIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIC0tcG9sbCDjgYzlvoXmqZ/jgZnjgbnjgY3mmYLplpPjga7kuIrpmZDjgpLjgIHjg5/jg6rnp5LljZjkvY3jgafmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEsIC0tYWxsICAgICAgICAgICAgICDlhoXolLXjg5XjgqPjg6vjgr/jgpLjgZnjgbnjgabnhKHlirnjgavjgZfjgIHjgZnjgbnjgabjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIOODhOODquODvOOBruihqOekuuOBqyBBU0NJSSDmloflrZfjgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICDlj6/oqq3mgKfjga7pq5jjgYTlvaLlvI/jgafjga/jgarjgY/jgIHjg5DjgqTjg4jljZjkvY3jgafjgrXjgqTjgrrjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIOODkeOCueOCkuato+imj+WMluOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDjg5HjgrnjgpLmraPopo/ljJbjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAg5Ye65Yqb44KS5ous44KJ44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxCittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDzjg6rjgrnjg4g+ICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBrueorumhnuOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIOS+neWtmOmWouS/guOCkumAhui7ouOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOeJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICDkuIDopqflvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAg44Oe44Km44Oz44OI44Kq44OX44K344On44Oz44Gn44OV44Kh44Kk44Or44K344K544OG44Og44Gu5Ye65Yqb44KS5Yi26ZmQ44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAg5oyH5a6a44GX44Gf5YiX44Gu44G/44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzAKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIOOCreODvD1cIuWApFwiIOOBruW9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gr6Zai44GZ44KL5oOF5aCx44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg54m544Gr5Yqg5bel44KS6KGM44KP44Ga44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAg5oyH5a6a44GX44Gf5YiX44Gu44G/44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRyZWUgICAgICAgICAgICAgZW5hYmxlIHRyZWUgZm9ybWF0IG91dHB1dCBpcyBwb3NzaWJsZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICDkuIDopqflvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLWNocm9vdCA844OH44Kj44Os44Kv44OI44OqPiDmjIflrprjgZfjgZ/jg4fjgqPjg6zjgq/jg4jjg6rjgpLjg6vjg7zjg4jjgavjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOAorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gu56iu6aGe44Gn5Ye65Yqb44KS5Yi26ZmQ44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxhenkgICAgICAgICAgICAgIOS7iuOBmeOBkOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuWIh+OCiumbouOBl+OBvuOBmeOBjOOAgVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOOCr+ODquODvOODs+OCouODg+ODl+OBr+W+jOOBi+OCieihjOOBhuOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIOODl+ODreOCu+OCuSBJRFxuIgorIiAtbywgLS1vdXRwdXQgPOS4gOimpz4gICAg5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAg5Yqg5bel44KS6KGM44Gq44KP44Gq44GE5b2i5byP44Gn5Ye65Yqb44GX44G+44GZXG4iCisiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAg44OG44Kt44K544OI44KS5YiX5pa55ZCR44Gr5YiH44KK6Kmw44KB44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgICDjg5Djg4rjg7zjgpLooajnpLrjgZfjgb7jgZvjgpPjgILkvb/jgYjjgovjga7jga8gcm9vdCDjgaDjgZHjgafjgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICAxIOOBi+aciOWIhuOBoOOBkeOCkuihqOekuuOBl+OBvuOBmSAo5pei5a6a5YCkKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDlhpfplbfjgarjg4fjg7zjgr/lh7rlipvjgpLooYzjgYTjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICLkuI3mmI7jgarmlrnlkJHooajoqJggJyVzJyDjgafjgZkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAiVElEIOW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICItLXBvbGwg44Gn44GvIDEg44Gk44Gu44OV44Kh44Kk44Or44GX44GL5oyH5a6a44Gn44GN44G+44Gb44KT44CC6KSH5pWw44KS5oyH5a6a44GZ44KL5aC05ZCI44Gv44CBIC0tdGFiLWZpbGUg44KS44GU5Yip55So44GP44Gg44GV44GEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTIwCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAi44Kq44OX44K344On44OzIC0tdGFyZ2V0IOOBqCAtLXNvdXJjZSDjga/ku7vmhI/mjIflrprjgafjgarjgYTloLTlkIjjgIHjgrPjg57jg7Pjg4njg6njgqTjg7PkuIrjgaflkIzmmYLjgavkvb/nlKjjgafjgY3jgb7jgZvjgpPjgIIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAibGlibW91bnQg44Kt44Oj44OD44K344Ol44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiVzIOWIl+OBjOimgeaxguOBleOCjOOBvuOBl+OBn+OBjOOAgSAtLXBvbGwg44GM5pyJ5Yq544Gr44Gq44Gj44Gm44GE44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiVzIOOBr+ikh+aVsOODreOCsOOCpOODs+OBl+OBpuOBhOOBvuOBmTsgJXMg44Gr5pu444GN6L6844G/44G+44GZIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczog44OH44Kj44Os44Kv44OI44Oq44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUyCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcyDjga8gJXMg44Gr6Zai6YCj5LuY44GR44KJ44KM44Gm44GE44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAi5pyq5a++5b+c44Gu5byV5pWw44Gn44GZOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMg44Gv44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICLjgr3jg7zjgrnjg4fjg5DjgqTjgrkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiJXM6IOOCquODl+OCt+ODp+ODsyAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICIlczog44Kq44OX44K344On44OzICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICLjg6rjgr3jg7zjgrnjgqrjg5fjgrfjg6fjg7M6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAi5pyq5a++5b+c44Gu56C05qOE44Od44Oq44K344O844Gn44GZOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICLlhKrlhYjpoIbkvY3jga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJDRC1ST00g6YCf5bqm6YG45oqe44Kz44Oe44Oz44OJ44Gv44CB44GT44Gu44Kr44O844ON44Or44Gn5a++5b+c44GX44Gm44GE44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE5IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi5pyq55+l44Gu44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OXICclcycg44Gn44GZIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiQ0QtUk9NIOmAn+W6pumBuOaKnuOCs+ODnuODs+ODieOBr+OAgeOBk+OBruOCq+ODvOODjeODq+OBp+WvvuW/nOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAi44K/44Kk44OXOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIiVk5YCLIOOBruino+aekOOCqOODqeODvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCAlZCDjgqjjg6njg7wiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIsICVkIOitpuWRiiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwMgorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAiLWwg44KEIC0tbG9uZyDlvJXmlbDjga7lvozjgavjg63jg7PjgrDjgqrjg5fjgrfjg6fjg7PjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICItcyDjgYsgLS1zaGVsbCDlvJXmlbDjga7lvozjgavmm7jjgYvjgozjgZ/jgrfjgqfjg6vjga/jgIHkuI3mmI7jgarjgoLjga7jgafjgZkiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIOino+aekOWvvuixoeaWh+Wtl+WIlyDjg5Hjg6njg6Hjg7zjgr9cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSBbLS1dIOino+aekOWvvuixoeaWh+Wtl+WIlyDjg5Hjg6njg6Hjg7zjgr9cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSAtb3wtLW9wdGlvbnMg6Kej5p6Q5a++6LGh5paH5a2X5YiXIFvjgqrjg5fjgrfjg6fjg7NdIFstLV0g44OR44Op44Oh44O844K/XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICLjgrPjg57jg7Pjg4njga7jgqrjg5fjgrfjg6fjg7PjgpLop6PmnpDjgZfjgb7jgZnjgIJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAg5Y2Y5LiA44GuIC0g44Gn5aeL44G+44KL44Ot44Oz44Kw44Kq44OX44K344On44Oz44KS6Kix5Y+v44GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1sLCAtLWxvbmdvcHRpb25zIDzop6PmnpDlr77osaHmloflrZfliJc+IOiqjeitmOOBmeOBueOBjeODreODs+OCsOOCquODl+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA844OX44Ot44Kw44Op44Og5ZCNPiAgICDjgqjjg6njg7zjgYzloLHlkYrjgZXjgozjgZ/loLTlkIjjgavkvb/nlKjjgZnjgovlkI3liY3jgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPOino+aekOWvvuixoeaWh+Wtl+WIlz4g6KqN6K2Y44GZ44G544GN44K344On44O844OI44Kq44OX44K344On44Oz44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDMpIOOBq+OCiOOCi+OCqOODqeODvOWgseWRiuOCkueEoeWKueWMluOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICDpgJrluLjjga7lh7rlipvjgpLnnIHnlaXjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAg5oyH5a6a44GX44Gf44K344Kn44Or55So44Gu44Ko44K544Kx44O844OX5Yem55CG44KS6KGM44GE44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICBnZXRvcHQoMSkg44Gu44OQ44O844K444On44Oz44KS56K66KqN44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICDlh7rlipvjgpLjgq/jgqnjg7zjg4jjgZfjgb7jgZvjgpNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAi6Kej5p6Q5a++6LGh44Gu5paH5a2X5YiX44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICLlhoXpg6jjgqjjg6njg7zjgafjgZnjgILkvZzogIXjgavjgZTpgKPntaHjgY/jgaDjgZXjgYTjgIIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgIuS4jeaYjuOBquOCt+OCsOODiuODqyAlcyDjgafjgZk7IOacieWKueOBquOCt+OCsOODiuODqzoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPHBpZD58PG5hbWU+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3OQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIuODl+ODreOCu+OCueOCkuW8t+WItueahOOBq+e1guS6huOBl+OBvuOBmeOAglxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAg5ZCN5YmN44KSIFBJRCDjgavlpInmj5vjgZnjgovpmpvjgIHnj77lnKjjga7jg5fjg63jgrvjgrnjgajlkIzjgZhcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBVSUQg44Gn44Gq44GE44KC44Gu44KC5a++6LGh44Go44GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA844K344Kw44OK44OrPiDmjIflrprjgZfjgZ/jgrfjgrDjg4rjg6vjgpIgU0lHVEVSTSDjga7ku6Pjgo/jgorjgavpgIHkv6HjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZSA85pWw5YCkPiAgICAga2lsbCgyKSDjgafjga/jgarjgY8gc2lncXVldWUoMikg44KS5L2/55So44GX44CBPOaVsOWApD7jgpLjg4fjg7zjgr/jgajjgZfjgabmuKHjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIOOCt+OCsOODiuODq+OCkumAgeS/oeOBm+OBmuOAgSBQSUQg44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWz0844K344Kw44OK44OrPl0g44K344Kw44OK44Or44KS5LiA6Kan6KGo56S644CB44KC44GX44GP44Gv44K344Kw44OK44Or44KS5ZCN5YmN44Gr5aSJ5o+b44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIOOCt+OCsOODiuODq+OBruWQjeWJjeOBqOeVquWPt+OCkuS4gOimp+OBp+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICDjgrfjgrDjg4rjg6vjgpLlj5fjgZHlj5bjgotQSUTjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjQwIG1pc2MtdXRpbHMva2lsbC5jOjI0OSBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIuS4jeaYjuOBquOCt+OCsOODiuODq+OBp+OBmTogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI2MCBtaXNjLXV0aWxzL2tpbGwuYzoyNjMgbWlzYy11dGlscy9raWxsLmM6MjcyCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODQgbWlzYy11dGlscy9raWxsLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlcyDjgaggJXMg44Gv5ZCM5pmC44Gr5oyH5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODcgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MDcgc3lzLXV0aWxzL3R1bmVscC5jOjE2NyBzeXMtdXRpbHMvdHVuZWxwLmM6MTc0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTgxIHN5cy11dGlscy90dW5lbHAuYzoxODggc3lzLXV0aWxzL3R1bmVscC5jOjE5NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIwMSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA1IHN5cy11dGlscy90dW5lbHAuYzoyMTIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjMzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjg5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzIxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjkgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzU4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTkwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MTMgdGVybS11dGlscy9zZXR0ZXJtLmM6NjQ2Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIuW8leaVsOOCqOODqeODvCIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAi54Sh5Yq544Gq44K344Kw44OK44Or5ZCNIOOBvuOBn+OBryDnlarlj7c6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIuOCt+OCsOODiuODqyAlZCDjgpIgUElEICVkIOOBq+mAgeS/oeOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlcyDjgbjjga7jgrfjgrDjg4rjg6vpgIHkv6HjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAi44OX44Ot44K744K5IFwiJXNcIiDjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIuS4jeaYjuOBquWIhumhnuWQjeOBp+OBmTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgIuS4jeaYjuOBquWEquWFiOmghuS9jeWQjeOBp+OBmTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvcGVubG9nICVzOiDjg5HjgrnlkI3jgYzplbfjgZnjgY7jgb7jgZkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAi44K944Kx44OD44OIICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICIlcyDjg53jg7zjg4ggJXMg44Gu5ZCN5YmN44KS6Kej5rG644Gn44GN44G+44Gb44KT44Gn44GX44GfOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAiJXMg44Od44O844OIICVzIOOBq+aOpee2muOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICLmnIDlpKflhaXlipvooYzmlbAgKCVkKSDjgpLotoXjgYjjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAi44Oh44OD44K744O844K444Gu6YCB5L+h44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjgKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgImxvY2FsdGltZSgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi44Ob44K544OI5ZCNICclcycg44GM6ZW344GZ44GO44G+44GZIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi44K/44KwICclcycg44GM6ZW344GZ44GO44G+44GZIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIuS4jeaYjuOBquOCquODl+OCt+ODp+ODs+W8leaVsOOCkueEoeimluOBl+OBvuOBmTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiLS1hdXRvLy1hIOOCquODl+OCt+ODp+ODs+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844Oh44OD44K744O844K4Pl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMzCittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAi44Oh44OD44K744O844K444KS44K344K544OG44Og44Ot44Kw44Gr6KiY6Yyy44GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorIywgZnV6enkKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgLWksIC0taWRbPTxpZD5dICAgICAgICAgIDxpZD4g44KS6KiY6Yyy44GX44G+44GZKOaXouWumuWApOOBryBQSUQpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLS1maWxlIDzjg5XjgqHjgqTjg6s+ICAg5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44Gu5YaF5a6544KS44Ot44Kw44Gr6KiY6Yyy44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICDjg63jgrDjgqTjg7Pjg5fjg63jg7Pjg5fjg4jjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAg44OH44OQ44Kk44K544Gr5pu444GN6L6844G+44Gq44GE44GT44Go5Lul5aSW44Gv6YCa5bi444Gr5YuV5L2c44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPOWEquWFiOmghuS9jT4g5a++6LGh44Gu44Oh44OD44K744O844K444KS5oyH5a6a44GX44Gf5YSq5YWI6aCG5L2N44Gr44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAg5qiZ5rqW5YWl5Yqb44Gu5ZCE6KGM44GL44KJ5YWI6aCt5LiA6Ie044Gn5qSc57Si44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIOODoeODg+OCu+ODvOOCuOOCkuaomea6luOCqOODqeODvOOBq+OCguWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIuS9v+OBhOaWuTpcbiIKKyIgJXMgW+OCquODl+OCt+ODp+ODs10g44OH44OQ44Kk44K5IFvjgrXjgqTjgrpdXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIC10LCAtLXRhZyA844K/44KwPiAgICAgICAgIOWQhOihjOWFqOOBpuOBq+OBk+OBruOCv+OCsOOCkuS7mOOBkeOBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIC1uLCAtLXNlcnZlciA85ZCN5YmNPiAgICAgIOaMh+WumuOBl+OBn+ODquODouODvOODiCBzeXNsb2cg44K144O844OQ44Gr5pu444GN6L6844G/44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA855Wq5Y+3PiAgICAgICAg5oyH5a6a44GX44GfIFVEUCDjg53jg7zjg4jjgpLliKnnlKjjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICBUQ1Ag44Gu44G/44KS5L2/55So44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgVURQIOOBruOBv+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIOWPpOOBhCBCU0Qgc3lzbG9nIOODl+ODreODiOOCs+ODq+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTIKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICDlrp/pmpvjga4gR0lEIOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAg5a6f6Zqb44GuIEdJRCDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPOOCveOCseODg+ODiD4gICDmjIflrprjgZfjgZ8gVW5peCDjgr3jgrHjg4Pjg4jjgavmm7jjgY3ovrzjgb/jgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIuODleOCoeOCpOODqyAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTYyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICJJRCDjga7op6PmnpDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICLjgrXjgqTjgrrmg4XloLHjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxNQorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgIuWItumZkOaZgumWk+OBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1MgorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzmloflrZfliJc+IFs844OV44Kh44Kk44OrPi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIuaMh+WumuOBl+OBn+aWh+Wtl+WIl+OBp+Wni+OBvuOCi+ihjOOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIOS7o+OCj+OCiuOBrui+nuabuOOCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPOaVsOWApD4gICAgICAgICAgIOOCueODquODvOODl+OBq+WFpeOCi+WJjeOBruWHuuWKm+OCreODo+ODqeOCr+OCv+aVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAg5L6d5a2Y6Zai5L+C44KS6YCG6Lui44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICLjg4fjg5DjgqTjgrnlkI0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIuOCq+ODvOODjeODq+WGhemDqOODh+ODkOOCpOOCueWQjSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIuimquOBruOCq+ODvOODjeODq+WGhemDqOODh+ODkOOCpOOCueWQjSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NyBzeXMtdXRpbHMvenJhbWN0bC5jOjg2Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICLjg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgovloLTmiYAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jg6njg5njg6siCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7nqK7poZ4gKFVVSUQpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jg6njg5njg6siCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIuODh+ODkOOCpOOCueOBruWFiOiqreOBvyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAi6Kqt44G/6L6844G/5bCC55So44OH44OQ44Kk44K5IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAi44Oq44Og44O844OQ44OW44Or44OH44OQ44Kk44K5IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIuODreODvOODhuODvOOCt+ODp+ODs+ODh+ODkOOCpOOCuSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAi5Lmx5pWw44K344O844OJ44G444Gu6L+95YqgIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIuODh+ODkOOCpOOCueitmOWIpeWtkCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAi44OH44Kj44K544Kv44Gu44K344Oq44Ki44Or55Wq5Y+3IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7jgrXjgqTjgroiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7nirbmhYsiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICLjgrDjg6vjg7zjg5flkI0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAi44OH44OQ44Kk44K544OO44O844OJ44Gu44OR44O844Of44OD44K344On44OzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAi44Ki44Op44Kk44Oh44Oz44OI44Kq44OV44K744OD44OIIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAi5pyA5bCPIEkvTyDjgrXjgqTjgroiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICLmnIDpgakgSS9PIOOCteOCpOOCuiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICLniannkIbjgrvjgq/jgr/jgrXjgqTjgroiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICLoq5bnkIbjgrvjgq/jgr/jgrXjgqTjgroiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIkkvTyDjgrnjgrHjgrjjg6Xjg7zjg6nlkI0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgIuimgeaxguOCreODpeODvOOCteOCpOOCuiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7nqK7poZ4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImRpc2NhcmQg44Ki44Op44Kk44Oh44Oz44OI44Kq44OV44K744OD44OIIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiZGlzY2FyZCDnspLluqYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiZGlzY2FyZCDmnIDlpKfjg5DjgqTjg4giCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJkaXNjYXJkIOOCvOODreODh+ODvOOCvyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICJ3cml0ZS1zYW1lIOacgOWkp+ODkOOCpOODiCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIuODpuODi+ODvOOCr+OBquOCueODiOODrOODvOOCuOitmOWIpeWtkCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJTQ1NJIOWQkeOBkeOBruODm+OCueODiDrjg4Hjg6Pjg7Pjg43jg6s644K/44O844Ky44OD44OIOkxVTiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAi44OH44OQ44Kk44K55Lyd6YCB44K/44Kk44OXIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDYKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgIuODh+ODkOOCpOOCueOBruODquODk+OCuOODp+ODsyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIuODh+ODkOOCpOOCueOBruijvemAoOWFgyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICJzeXNmcyDlhoXjgafjg4fjg5DjgqTjgrnjg4fjgqPjg6zjgq/jg4jjg6rjgpLplovjgY/lh6bnkIbjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogc3lzZnMg44OR44K544Gu5ZCI5oiQ5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IOODquODs+OCr+OBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IHN5c2ZzIOOBruWQjeWJjeOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczog44OH44Kj44K544Kv5YWo5L2T44KS56S644GZ44OH44OQ44Kk44K555Wq5Y+344Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAi5LiA6KanICclcycg44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIumZpOWkluOBmeOCi+ODh+ODkOOCpOOCueOBruS4gOimp+OBjOWkmuOBmeOBjuOBvuOBmSAo5pyA5aSnICVkIOWAi+OBruODh+ODkOOCpOOCueOBvuOBp+OBp+OBmSkiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAi5ZCr44KB44KL44OH44OQ44Kk44K544Gu5LiA6Kan44GM5aSa44GZ44GO44G+44GZICjmnIDlpKcgJWQg5YCL44Gu44OH44OQ44Kk44K544G+44Gn44Gn44GZKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844OH44OQ44Kk44K5PiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiJXM6IOODluODreODg+OCr+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOOBmeOBueOBpuOBruODh+ODkOOCpOOCueOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAg44K544Os44O844OW44OH44OQ44Kk44K544KE44Ob44Or44OA44O844KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICBkaXNjYXJkIOmWoumAo+OBruapn+iDveOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MworIywgZnV6enkKK21zZ2lkICIgLXosIC0tem9uZWQgICAgICAgICAgcHJpbnQgem9uZSBtb2RlbFxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAg44Kq44OV44Op44Kk44Oz44GuIENQVSDjga7jgb/jgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA85LiA6KanPiDjg6Hjgrjjg6Pjg7znlarlj7fjgpLliKnnlKjjgZfjgabjgIHpmaTlpJbjgZnjgovjg4fjg5DjgqTjgrnjgpLmjIflrprjgZfjgb7jgZkgKOaXouWumuWApDogUkFNIOODh+OCo+OCueOCrylcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDUKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZzICAgICAgICAgICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBq+mWouOBmeOCi+aDheWgseOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NgorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAtaSwgLS1hc2NpaSAgICAgICAgICBBU0NJSSDmloflrZfjga7jgb/jgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA85LiA6KanPiDmjIflrprjgZfjgZ/jg6Hjgrjjg6Pjg7znlarlj7fjga7jg4fjg5DjgqTjgrnjga7jgb/jgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICDliqDlt6XjgpLooYzjgarjgo/jgarjgYTlh7rlipvlvaLlvI/jgpLkvb/nlKjjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAg5LiA6Kan5b2i5byP44Gn5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10cmVlICAgICAgICAgICB1c2UgdHJlZSBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICDkuIDopqflvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTEKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgIOODkeODvOODn+ODg+OCt+ODp+ODs+OBq+mWouOBmeOCi+aDheWgseOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MiBzeXMtdXRpbHMvbHNtZW0uYzo1MDYKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgIOWujOWFqOOBquODh+ODkOOCpOOCueODkeOCueOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAg5L6d5a2Y6Zai5L+C44KS6YCG6Lui44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgLVMsIC0tc2NzaSAgICAgICAgICAgU0NTSSDjg4fjg5DjgqTjgrnjgavplqLjgZnjgovmg4XloLHjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIC10LCAtLXRvcG9sb2d5ICAgICAgIOODiOODneODreOCuOOBq+mWouOBmeOCi+aDheWgseOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgInN5c2ZzIOODh+OCo+ODrOOCr+ODiOODquOBuOOBruOCouOCr+OCu+OCueOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICLjg63jg4Pjgq/jgpLkv53mjIHjgZfjgabjgYTjgovjg5fjg63jgrvjgrnjga7jgrPjg57jg7Pjg4kiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIuODreODg+OCr+OCkuS/neaMgeOBl+OBpuOBhOOCi+ODl+ODreOCu+OCueOBriBQSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAi44Ot44OD44Kv44Gu44K144Kk44K6IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgIuODreODg+OCr+OBruOCteOCpOOCuiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICLjg63jg4Pjgq/jga7jgqLjgq/jgrvjgrnjg6Ljg7zjg4kiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAi44Ot44OD44Kv44Gu5by35Yi254q25oWLOiAwICjjgarjgZcpLCAxICjoqK3lrpopIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICLjg63jg4Pjgq/jga7nm7jlr77jg5DjgqTjg4jjgqrjg5Xjgrvjg4Pjg4giCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAi44Ot44OD44Kv44Gu57WC56uv44Kq44OV44K744OD44OIIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICLjg63jg4Pjgq/jgZXjgozjgZ/jg5XjgqHjgqTjg6vjga7jg5HjgrkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICLjg63jg4Pjgq/jgpLpmLLlvqHjgZfjgabjgYTjgovjg5fjg63jgrvjgrnjga4gUElEIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIklEIOOBruino+aekOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAicGlkIOOBruino+aekOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIo5LiN5piOKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLplovlp4vkvY3nva7jga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIue1guS6huS9jee9ruOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIuODreODvOOCq+ODq+OCt+OCueODhuODoOOBruODreODg+OCr+OCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+IOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOeJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiUElEIOW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAieGF1dGgg55So44Gu44Oe44K444OD44Kv44Kv44OD44Kt44O844KS55Sf5oiQ44GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA844OV44Kh44Kk44OrPiAgICAlcyDjgafjga/jgarjgY/jgIHmjIflrprjgZfjgZ/jg5XjgqHjgqTjg6vjgpLkvb/nlKjjgZfjgablh7rlipvjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLoqbPjgZfjgY/ooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlMiRzIOOBi+OCiSAlMSR6dSDjg5DjgqTjg4jlj5blvpfjgZfjgb7jgZfjgZ9cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICIlcyDjgpLplonjgZjjgovpmpvjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzEwCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICLplbfjgZXjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJTIkcyDjgYvjgokgJTEkZCDjg5DjgqTjg4jlj5blvpfjgZfjgb7jgZfjgZ9cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICLjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIlcyAtIOOBneOBruOCiOOBhuOBquODleOCoeOCpOODq+OChOODh+OCo+ODrOOCr+ODiOODquOBr+OBguOCiuOBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAib3BlbmxvZyAlczog44OR44K55ZCN44GM6ZW344GZ44GO44G+44GZIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44G+44GZXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAg44Oe44Km44Oz44OI44Od44Kk44Oz44OI44Gr44Gq44Gj44Gm44GE44KL44OH44Kj44Os44Kv44OI44Oq44KSICdEJyDjgafooajnpLrjgZfjgb7jgZlcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICDlkITjg5XjgqHjgqTjg6vjga7jg6Ljg7zjg4njg5Pjg4Pjg4jjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICDlkITjg5XjgqHjgqTjg6vjga7miYDmnInogIXjg6bjg7zjgrbvvI/jgrDjg6vjg7zjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICDplbfjgYTlvaLlvI/jgafkuIDopqfooajnpLrjgZfjgb7jgZkgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICDjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jgpLov73ot6HjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICDjg6Ljg7zjg4njgajmiYDmnInogIXmg4XloLHjgavjgaTjgYTjgabjgIHnuKbmlrnlkJHjgavmj4PjgYjjgabooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgIuODkeOCueWQjeOBruW8leaVsOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiR1BU44OY44OD44OA44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIkdQVOODmOODg+ODgOOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiVzOiDjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jga7liLbpmZDjgpLotoXpgY7jgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiDjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWRsaW5rIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVubGluayDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogJXMg44G444Gu44K344Oz44Oc44Oq44OD44Kv44Oq44Oz44Kv5L2c5oiQ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICIuLi7kuIvoqJjjga7mlbDjgaDjgZHjg5XjgqHjgqTjg6vjgpLpo5vjgbDjgZfjgb7jgZkgIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzIOOBuOOBruWQjeWJjeWkieabtOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844OV44Kh44Kk44OrPlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAi44OV44Kh44Kk44Or5ZCN44KS5aSJ5pu044GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOS9leOBjOihjOOCj+OCjOOCi+OBruOBi+OCkuips+OBl+OBj+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICDjgrfjg7Pjg5zjg6rjg4Pjgq/jg6rjg7Pjgq/jga7npLrjgZnlhYjjgavlr77jgZfjgablrp/ooYzjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJVVUlEIOOCkueUn+aIkOOBmeOCi+ODh+ODvOODouODs1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAg5oyH5a6a44GX44Gf5YiX44Gu44G/44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA844K944Kx44OD44OIPiAgIOaMh+WumuOBl+OBnyBVbml4IOOCveOCseODg+ODiOOBq+abuOOBjei+vOOBv+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDzmlbDlgKQ+ICAgICAgIOODreOCsOOCpOODs+WHpueQhuOBruWItumZkOaZgumWk+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIOOBmeOBueOBpuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuOCouODs+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOS9nOaIkOiAheOBqOaJgOacieiAheOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDzjg5/jg6rnp5I+ICAgICAgICAgIOODieODqeOCpOODkOOBruW+heapn+aZgumWk+OCkuODn+ODquenkuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA85pWw5YCkPiAgICAgICAgICAgIOODmOODg+ODieaVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgcGlkIOODleOCoeOCpOODq+OCkuS9nOaIkOOBl+OBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICAgPOODl+ODreOCsOODqeODoD4g44KS6LW35YuV44GZ44KL6Zqb44CBICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3JrIOOBm+OBmuOBq+Wun+ihjOOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICItLXNvY2tldC1hY3RpdmF0aW9uIOOBqCAtLXNvY2tldCDjga7kuKHmlrnjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZnjgIIgLS1zb2NrZXQg44KS54Sh6KaW44GX44Gm57aa6KGM44GX44G+44GZ44CCIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YaX6ZW344Gq44Oh44OD44K744O844K444KS5qiZ5rqW44Ko44Op44O85Ye65Yqb44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIOWHuuWKm+OBmeOCi+ODoeODg+OCu+ODvOOCuOOBrumHj+OCkuaKkeOBiOOBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTA5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAi5LiN5q2j44Gq5byV5pWw44Gn44GZIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2Cittc2dpZCAic29ja2V0IgorbXNnc3RyICLjgr3jgrHjg4Pjg4giCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjcKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICLmjqXntpoiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAi5pu444GN6L6844G/IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU1Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAi6Kqt44G/6L6844G/44Kr44Km44Oz44OIIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAi5q2j44GX44GP44Gq44GE5b+c562U6ZW344Gn44GZIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICIlcyDjgpLjg63jg4Pjgq/jgafjgY3jgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMzcKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJVbml4IOOCueODiOODquODvOODoOOCveOCseODg+ODiOOCkuS9nOaIkOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJVbml4IOOCveOCseODg+ODiCAlcyDjgavjg5DjgqTjg7Pjg4njgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyODkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAi44K344Kw44OK44Or5Y+X5L+h44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICLmmYLplpPliIfjgozjgavjgarjgorjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAi44K/44Kk44Oe44O844KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICJ1dWlkZCDjg4fjg7zjg6Ljg7Pjga/ml6LjgavjgasgcGlkICVzIOOBp+i1t+WLlea4iOOBv+OBp+OBmSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIlVuaXgg44K944Kx44OD44OIICVzIOOBruW+heOBoeWPl+OBkeWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICLjg5XjgqHjgqTjg6sgJXMg44KS44Kk44Oz44Od44O844OI44Gn44GN44G+44Gb44KT44CCIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2RfbGlzdGVuX2ZkcygpIOOBq+WkseaVl+OBl+OBvuOBl+OBn+OBqyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICLjg5XjgqHjgqTjg6voqJjov7DlrZDjgpLlj5fkv6HjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ/jgIJzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCDjga7ntZDmnpzjgpLnorroqo3jgZfjgabjgY/jgaDjgZXjgYQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODMKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIuODleOCoeOCpOODq+iomOi/sOWtkOOCkuS9v+eUqOOBl+OBmeOBjuOBpuOBhOOCi+eKtuaFi+OBp+OBmeOAgnV1aWRkLnNvY2tldOOAgOOCkueiuuiqjeOBl+OBpuOBj+OBoOOBleOBhCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgIuaZgumWk+WIh+OCjCBbJWQgc2VjXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAi6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICLjgq/jg6njgqTjgqLjg7Pjg4jjgYvjgonjga7oqq3jgb/ovrzjgb/mmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ/jgILplbfjgZUgPSAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIuaTjeS9nCAlZCwg5Yiw552A5pWwID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAi5pON5L2cICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAi5pmC5Yi744GL44KJIFVVSUQg44KS55Sf5oiQ44GX44G+44GX44GfOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAi5Lmx5pWw44GL44KJIFVVSUQg44KS55Sf5oiQ44GX44G+44GX44GfOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAi5pmC5Yi744GL44KJICUyJGQg5YCL44GuIFVVSUQgKCUxJHMgLi4uKSDjgpLnlJ/miJDjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICLnlJ/miJDjgZfjgZ8gJWQg5YCL44GuIFVVSUQ6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAi5LiN5q2j44Gq5pON5L2cICVkIOOBp+OBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICLjgrXjg7zjg5DjgYvjgonkuojmnJ/jgZfjgarjgYTlv5znrZQgJWQg44GM6L+U44GV44KM44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiAtLXV1aWQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjA4Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAi54++5Zyo44GuIHV1aWRkIOOBr+OAgeOCveOCseODg+ODiOOBruacieWKueWMluapn+iDveOCkuWQq+OCgeOBmuOBq+ani+evieOBleOCjOOBpuOBhOOBvuOBmeOAgiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIi0tdGltZW91dCDjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBuYW1lIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAi44Oc44Oq44Ol44O844Og5ZCN44GM6ZW344GZ44GO44G+44GZIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiLS1zb2NrZXQtYWN0aXZhdGlvbiDjgaggLS1zb2NrZXQg44Gu5Lih5pa544GM5oyH5a6a44GV44KM44Gm44GE44G+44GZ44CCIC0tc29ja2V0IOOCkueEoeimluOBl+OBpue2muihjOOBl+OBvuOBmeOAgiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgInV1aWRkIOODh+ODvOODouODsyAoJXMpIOOBruWRvOOBs+WHuuOBl+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAi5LqI5pyf44GX44Gq44GE44Ko44Op44O8IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJTIkZCDlgIvjga4gVVVJRCAoJTEkcyAuLi4pIOOBp+OBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIlVVSUQg44Gu5LiA6KanOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgInBpZCAlZCDjgafli5XkvZzkuK3jga4gdXVpZGQg44KSIGtpbGwg44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAicGlkICVkIOOBp+WLleS9nOS4reOBriB1dWlkZCDjgpLntYLkuobjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAi5paw44GX44GEIFVVSUTlgKTjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOS9nOaIkOiAheOBqOaJgOacieiAheOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPOODn+ODquenkj4gICAgICAgICAg44OJ44Op44Kk44OQ44Gu5b6F5qmf5pmC6ZaT44KS44Of44Oq56eS5Y2Y5L2N44Gn5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzUKK21zZ2lkICIgLU4sIC0tbmFtZSBuYW1lICAgICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgZnJvbSB0aGlzIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg44GZ44G544Gm44Gu44OH44OQ44Kk44K544KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYXRlIHNoYTEgaGFzaFxuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIOWFseacieODreODg+OCr+OCkuWPluW+l+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICDkvp3lrZjplqLkv4LjgpLpgIbou6LjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAi44Om44OL44O844Kv44Gq44K544OI44Os44O844K46K2Y5Yil5a2QIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5ZCNIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAi5paw44GX44GE5ZCN5YmNIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODqz4uLi5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg54m544Gr5Yqg5bel44KS6KGM44KP44Ga44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAg44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAg5oyH5a6a44GX44Gf5YiX44Gu44G/44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOeJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE3MiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5MQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCIKK21zZ3N0ciAiSUQg44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi5Ye65Yqb44Kr44Op44Og44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbLUJNUyA844OH44Kj44Os44Kv44OI44OqPi4uLiAtZl0gPOWQjeWJjT5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIuOCs+ODnuODs+ODieOBruODkOOCpOODiuODquOAgeOCveODvOOCueOAgeODnuODi+ODpeOCouODq+ODmuODvOOCuOODleOCoeOCpOODq+OBruWgtOaJgOOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1iICAgICAgICAg44OQ44Kk44OK44Oq44Gu44G/44KS5qSc57Si44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPOODh+OCo+ODrOOCr+ODiOODqj4g44OQ44Kk44OK44Oq44Gu5qSc57Si44OR44K544KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgLW0gICAgICAgICDjg57jg4vjg6XjgqLjg6vjgaggaW5mbyDjga7jgb/jgpLmpJzntKLjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPOODh+OCo+ODrOOCr+ODiOODqj4g44Oe44OL44Ol44Ki44Or44GoIGluZm8g44Gu5qSc57Si44OR44K544KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIOOCveODvOOCueOCs+ODvOODieOBruOBv+OCkuaknOe0ouOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLVMgPOODh+OCo+ODrOOCr+ODiOODqj4g44K944O844K544Kz44O844OJ44Gu5qSc57Si44OR44K544KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgLWYgICAgICAgICA844OH44Kj44Os44Kv44OI44OqPiDjga7lvJXmlbDjg6rjgrnjg4jjga7ntYLjgo/jgorjgpLnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAg6YCa5bi444Gu44KC44Gu5Lul5aSW44KS5qSc57Si5a++6LGh44Gr5ZCr44KB44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIOaknOe0ouWFiOOBruODkeOCueOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAi44Kq44OX44K344On44OzIC1mIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44GuIFVVSUQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA1Cittc2dpZCAibWFnaWMgc3RyaW5nIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNgorbXNnaWQgInN1cGVyYmxvayB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIm1hZ2ljIHN0cmluZyBvZmZzZXQiCittc2dzdHIgIuS4jeato+OBqmlub2Rl44Kq44OV44K744OD44OI5YCkIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOAorIywgZnV6enkKK21zZ2lkICJ0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICLjg5Xjg6njgrDjga7oqqzmmI4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICLjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrkgIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgsSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAi44Ko44Op44O8OiAlczog44OX44Ot44O844OW5Yem55CG44Gu5rqW5YKZ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJTEkczog44Kq44OV44K744OD44OIIDB4JTMkMDhqeCDjgavjgYLjgovjg57jgrjjg4Pjgq/mloflrZfliJcgJTIkcyDjga7mtojljrvjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiUxJHM6IOOCquODleOCu+ODg+ODiCAweCUzJDA4angg44Gr44GC44KLICUyJHpkIOODkOOCpOODiCAoJTQkcykg44KS5raI5Y6744GX44G+44GX44GfOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IOe9suWQjeOBruODkOODg+OCr+OCouODg+ODl+S9nOaIkOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiBpb2N0bCgpIOOCkuWRvOOBs+WHuuOBl+OBpuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuWGjeiqreOBv+i+vOOBv+OBl+OBvuOBmTogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICLnvbLlkI3jga7jg5Djg4Pjgq/jgqLjg4Pjg5fkvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIkSE9NRSDjgYzlrprnvqnjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiDjgqrjg5Xjgrvjg4Pjg4ggMHglangg44GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICLlvLfliLbmtojljrvjgZnjgovjgavjga8gLS1mb3JjZSDjgqrjg5fjgrfjg6fjg7PjgpLkvb/nlKjjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAi44K344Kw44ON44OB44Oj44KS44OH44OQ44Kk44K544GL44KJ5a6M5YWo44Gr5YmK6Zmk44GX44G+44GZ44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKSIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOOBmeOBueOBpuOBruODh+ODkOOCpOOCueOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FIgorbXNnc3RyICLnvbLlkI3jga7jg5Djg4Pjgq/jgqLjg4Pjg5fkvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIkSE9NRSDjgYzlrprnvqnjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmUiCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIOODgeOCp+ODg+OCr+OCkuW8t+WItuOBl+OBvuOBmVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAg5Yqg5bel44KS6KGM44Gq44KP44Gq44GE5Ye65Yqb5b2i5byP44KS5L2/55So44GX44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICDjg4fjg5DjgqTjgrnjgavmm7jjgY3ovrzjgb7jgarjgYTjgZPjgajku6XlpJbjga/pgJrluLjjgavli5XkvZzjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA855Wq5Y+3PiAgICDjg5XjgqHjgqTjg6vlhoXjga4gPOeVquWPtz4g44Gn56S644GV44KM44Gf44Kq44OV44K744OD44OI5L2N572u44GL44KJ5aeL44KB44G+44GZXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICDjg5fjg63jgrDjg6njg6Djgarjganjgaflh6bnkIbjgZfjgoTjgZnjgYTlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICDlh7rlipvjgZnjgovjg6Hjg4Pjgrvjg7zjgrjjga7ph4/jgpLmipHjgYjjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7nqK7poZ7jgaflh7rlipvjgpLliLbpmZDjgZfjgb7jgZlcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo3MjQKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiLS1iYWNrdXAg44Kq44OX44K344On44Oz44Gv44GT44Gu5Yem55CG44Gn44Gv54Sh5oSP5ZGz44Gn44GZIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIlxuIgorImNocnQgLSDjg5fjg63jgrvjgrnjga7jg6rjgqLjg6vjgr/jgqTjg6DlsZ7mgKfjgpLmk43kvZzjgZfjgb7jgZlcbiIKKyJcbiIKKyLjg53jg6rjgrfjg7zjga7oqK3lrpo6XG4iCisiICBjaHJ0IFvjgqrjg5fjgrfjg6fjg7NdIFs844Od44Oq44K344O8Pl0gPOWEquWFiOmghuS9jT4gWy1wIDzjg5fjg63jgrvjgrkgSUQ+IHwgPOOCs+ODnuODs+ODiT4gWzzlvJXmlbA+Li4uXV1cbiIKKyJcbiIKKyLjg53jg6rjgrfjg7zjga7lj5blvpc6XG4iCisiICBjaHJ0IFvjgqrjg5fjgrfjg6fjg7NdIC1wIDzjg5fjg63jgrvjgrkgSUQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICLjg53jg6rjgrfjg7zjgqrjg5fjgrfjg6fjg7M6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg44OR44Oq44OG44Kj5Yi25b6h44KSIFwi44Gq44GXXCIg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg44OR44Oq44OG44Kj5Yi25b6h44KSIFwi44Gq44GXXCIg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDjg5Hjg6rjg4bjgqPliLblvqHjgpIgXCLjgarjgZdcIiDjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOODkeODquODhuOCo+WItuW+oeOCkiBcIuOBquOBl1wiIOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIOODkeODquODhuOCo+WItuW+oeOCkiBcIuWlh+aVsFwiIOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgMSDjgYvmnIjliIbjgaDjgZHjgpLooajnpLrjgZfjgb7jgZkgKOaXouWumuWApClcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAi5Ye65Yqb5b2i5byPOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCueOCseOCuOODpeODvOODq+OBq+mWoumAo+OBmeOCi+ODleODqeOCsDpcbiIKKyIgIC1SIHwgLS1yZXNldC1vbi1mb3JrIEZJRk8g44KEIFJSIOOBq+WvvuOBl+OBpuOAgSBTQ0hFRF9SRVNFVF9PTl9GT1JLIOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICLjgZ3jga7ku5bjga7jgqrjg5fjgrfjg6fjg7M6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAg5Lq66ZaT44Gr44Go44Gj44Gm6Kqt44G/44KE44GZ44GE5b2i5byP44Gn44K/44Kk44Og44K544K/44Oz44OX44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8gICAgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgpLmnIDliJ3jgYvjgonkvZzmiJDjgZfjgb7jgZlcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7jg53jg6rjgrfjg7zjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7lsZ7mgKflj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu5paw44GX44GE44K544Kx44K444Ol44O844Or44Od44Oq44K344O8OiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu54++5Zyo44Gu44K544Kx44K444Ol44O844Or44Od44Oq44K344O8OiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu5paw44GX44GE44K544Kx44K444Ol44O844Or5YSq5YWI6aCG5L2NOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu54++5Zyo44Gu44K544Kx44K444Ol44O844Or5YSq5YWI6aCG5L2NOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7nj77lnKjjga7jgrnjgrHjgrjjg6Xjg7zjg6vlhKrlhYjpoIbkvY06ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICLjgr/jgrnjgq/jga7kuIDopqfjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICJTQ0hFRF8lcyDjgafjga7lhKrlhYjpoIbkvY3mnIDlsI/lgKTvvI/mnIDlpKflgKRcdDogJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJTQ0hFRF8lcyDjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpPvvJ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLjgr/jgrnjgq8gSUQgJWQg44Gu44Od44Oq44K344O86Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7jg53jg6rjgrfjg7zoqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIuaZguWIu+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICLpgJ/luqblvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLjg5jjg4Pjg4nmlbDjga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIuWEquWFiOmghuS9jeOBruaMh+WumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5CisjLCBmdXp6eQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJTQ0hFRF9SRVNFVF9PTl9GT1JLIOODleODqeOCsOOBr+OAgSBTQ0hSRF9GSUZPIOOBiuOCiOOBsyBTQ0hFRF9SUiDjg53jg6rjgrfjg7zjga7oqK3lrprjgZXjgozjgZ/jg5fjg63jgrvjgrnjga7jgb/jgavpgannlKjjgafjgY3jgb7jgZkiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTM5CisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF8lcyDjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpPvvJ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczog5YSq5YWI5bqmICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXVxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjg5DjgqTjgrk+IHwgPOODnuOCpuODs+ODiOODneOCpOODs+ODiD5cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSA844OH44OQ44Kk44K5PiA844Oe44Km44Oz44OI44Od44Kk44Oz44OIPlxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIFstLXNvdXJjZSA844OH44OQ44Kk44K5Pl0gWy0tdGFyZ2V0IDzjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4g+XVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNgorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICDkvp3lrZjplqLkv4LjgpLpgIbou6LjgZfjgb7jgZlcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjEKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICLjgq/jg6njgrnjg4fjg7zjgr/lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAi44Kv44Op44K55byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIuS4jeaYjuOBquOCueOCseOCuOODpeODvOODq+OCr+ODqeOCueOBp+OBmTogJyVzJyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiMeW6puOBq+aJseOBiOOCi+OBruOBryBQSUQsIFBHSUQsIFVJRCDjga7jganjgozjgYsx44Gk44Gu44G/44Gn44GZIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5Yq544GqIFBHSUQg5byV5pWw44Gn44GZIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICLnhKHlirnjgaogVUlEIOW8leaVsOOBp+OBmSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICLjgrnjgrHjgrjjg6Xjg7zjg6vjgq/jg6njgrnjgYwgbm9uZSDjga7loLTlkIjjgIEgY2xhc3NkYXRhIOW8leaVsOOBr+eEoeimluOBleOCjOOBvuOBmSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICLjgrnjgrHjgrjjg6Xjg7zjg6vjgq/jg6njgrnjgYwgaWRsZSDjga7loLTlkIjjgIEgY2xhc3NkYXRhIOW8leaVsOOBr+eEoeimluOBleOCjOOBvuOBmSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICLkuI3mmI7jgarlhKrlhYjpoIbkvY3jgq/jg6njgrkgJWQg44Gn44GZIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyLkvb/jgYTmlrk6ICVzIFvjgqrjg5fjgrfjg6fjg7NdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFvlvJXmlbAuLi5dXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCittc2dzdHIgIiIKKyLjgqrjg5fjgrfjg6fjg7M6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIOaMh+WumuOBl+OBn+ODl+ODreOCu+OCuSBJRCDjga7jgZnjgbnjgabjga7jgr/jgrnjgq8gKOOCueODrOODg+ODiSkg44Gr5a++44GX44Gm44CBXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIOaTjeS9nOOCkuihjOOBhOOBvuOBmVxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICDml6Ljgavlrp/ooYzkuK3jga7jg5fjg63jgrvjgrnjgavlr77jgZfjgablh6bnkIbjgpLooYzjgYTjgb7jgZlcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAg5LiA6Kan5b2i5byP44GnIENQVSDjgpLooajnpLrjgYrjgojjgbPoqK3lrprjgZfjgb7jgZlcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44G+44GZXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBvuOBmVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorIuaXouWumuOBruWLleS9nOOBr+OAgeaWsOOBl+OBhOODl+ODreOCu+OCueOBrui1t+WLleOBp+OBmTpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyLjgb7jgZ/jgIHml6LlrZjjga7jgr/jgrnjgq/jgavlr77jgZfjgabjg57jgrnjgq/jgpLlj5blvpfjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZk6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisi44Oe44K544Kv44Gu6Kit5a6a44Gv5LiL6KiY44Gu44KI44GG44Gr44GX44Gm6KGM44GE44G+44GZOlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIuODnuOCueOCr+W9ouW8j+OBp+OBr+OBquOBj+OAgeOCq+ODs+ODnuWMuuWIh+OCiuOBruS4gOimp+OBp+aMh+WumuOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmTpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisi56+E5Zuy5oyH5a6a44KS6KGM44GG44GT44Go44KC44Gn44GN44G+44GZOlxuIgorIiAgICAo5L6LKSAwLTMxOjIg44Gv44Oe44K544KvIDB4NTU1NTU1NTUg44Go5ZCM44GY5oSP5ZGz44Gr44Gq44KK44G+44GZXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu5paw44GX44GE6Kaq5ZKM5oCn44Oq44K544OIOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7nj77lnKjjga7opqrlkozmgKfjg6rjgrnjg4g6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu5paw44GX44GE6Kaq5ZKM5oCn44Oe44K544KvOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7nj77lnKjjga7opqrlkozmgKfjg57jgrnjgq86ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwMAorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIuWGhemDqOOCqOODqeODvDogQ1BVIOOCu+ODg+ODiOOCkuaWh+Wtl+WIl+OBq+WkieaPm+OBmeOCi+WHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCAlZCDjga7opqrlkozmgKfmg4XloLHjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICLjg5fjg63jgrvjgrkgSUQgJWQg44Gu6Kaq5ZKM5oCn5oOF5aCx44Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAiTlJfQ1BVUyDjgpLliKTmlq3jgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpM7IOS4reatouOBl+OBpuOBhOOBvuOBmSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2Mg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIkNQVSDjg6rjgrnjg4jjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAiQ1BVIOODnuOCueOCr+OBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiUxJHM6IOmWi+Wni+S9jee9riAlMyQ8UFJJdTY0PiDjgYvjgokgJTIkPFBSSXU2ND4g44OQ44Kk44OI44KSIDDjgafln4vjgoHjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiUxJHM6IOmWi+Wni+S9jee9riAlMyQ8UFJJdTY0PiDjgYvjgokgJTIkPFBSSXU2ND4g44OQ44Kk44OI44KS56C05qOE44GX44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIuODh+ODkOOCpOOCueOBruOCu+OCr+OCv+OBruWGheWuueOCkuegtOajhOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1jLCAtLWN5bGluZGVycyA85pWw5YCkPiDliKnnlKjjgZnjgovjgrfjg6rjg7Pjg4Djga7mlbDjgpLjgrvjg4Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1jLCAtLWN5bGluZGVycyA85pWw5YCkPiDliKnnlKjjgZnjgovjgrfjg6rjg7Pjg4Djga7mlbDjgpLjgrvjg4Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA855Wq5Y+3PiAgICDjg5XjgqHjgqTjg6vlhoXjga4gPOeVquWPtz4g44Gn56S644GV44KM44Gf44Kq44OV44K744OD44OI5L2N572u44GL44KJ5aeL44KB44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDzjg5Pjg4Pjg4g+ICAgIHNlY3VyZSBiaXQg44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICDlvoXmqZ/jgYzlv4XopoHjgarloLTlkIjjgIHlpLHmlZfjgZXjgZvjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOS9leOBjOihjOOCj+OCjOOCi+OBruOBi+OCkuips+OBl+OBj+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICLplovlp4vkvY3nva7jga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICLjgrXjgqTjgrrmg4XloLHjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICLlvJXmlbDjga7lgIvmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLR0VUU0laRTY0IGlvY3RsIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTIgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IOOCquODleOCu+ODg+ODiCAlPFBSSXU2ND4g44Gv44K744Kv44K/44Gu44K144Kk44K6ICVpIOOBruWAjeaVsOOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzOiDjgqrjg5Xjgrvjg4Pjg4jjgYzjg4fjg5DjgqTjgrnjgrXjgqTjgrrjgojjgorjgoLlpKfjgY3jgYTjgafjgZkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczog6ZW344GVICU8UFJJdTY0PiDjga/jgrvjgq/jgr/jga7jgrXjgqTjgrogJWkg44Gu5YCN5pWw44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0RJU0NBUkQgaW9jdGwg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCisjLCBmdXp6eQorbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIiVzOiDjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiDjg4fjgqPjg6zjgq/jg4jjg6rjga7lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTc3IHN5cy11dGlscy9ibGt6b25lLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiVzOiDjgr7jg7zjg7Pjg57jg4Pjg5fjgavmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiDjgqrjg5Xjgrvjg4Pjg4ggJTxQUkl1NjQ+IOOBr+OCu+OCr+OCv+OBruOCteOCpOOCuiAlaSDjga7lgI3mlbDjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiDjgqrjg5Xjgrvjg4Pjg4ggJTxQUkl1NjQ+IOOBr+OCu+OCr+OCv+OBruOCteOCpOOCuiAlaSDjga7lgI3mlbDjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NTWkdFVCBpb2N0bCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3VjY2Vzc2Z1bGx5IHJlc2V0IGluIHJhbmdlIGZyb20gJTxQUkl1NjQ+LCB0byAlPFBSSXU2ND4iCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruWQjeWJjeOCkiBgJXMnIOOBi+OCiSBgJS4qcycg44Gr5aSJ5pu044GX44G+44GX44Gf44CCIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg4fjg5DjgqTjgrk+XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPHNlY3Rvcj4gIHN0YXJ0IHNlY3RvciBvZiB6b25lIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA855Wq5Y+3PiAgICDjg5XjgqHjgqTjg6vlhoXjga4gPOeVquWPtz4g44Gn56S644GV44KM44Gf44Kq44OV44K744OD44OI5L2N572u44GL44KJ5aeL44KB44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgLXMsIC0tc2VjdG9ycyA85pWw5YCkPiAgIOWIqeeUqOOBmeOCi+OCu+OCr+OCv+OBruaVsOOCkuOCu+ODg+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDlhpfplbfjgarjg4fjg7zjgr/lh7rlipvjgpLooYzjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIiVzIOOBr+ato+W4uOOBquODluODreODg+OCr+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiB6b25lcyIKK21zZ3N0ciAi6KGM5pWw44Gu6Kej5p6Q44Gr5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIuihjOaVsOOBruino+aekOOBq+WkseaVlyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICLplovlp4vkvY3nva7jga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzkxIHN5cy11dGlscy9zZXRzaWQuYzo5MgorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHNwZWNpZmllZCIKK21zZ3N0ciAi44Kz44Oe44Oz44OJ44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJDUFUgJXUg44Gv5a2Y5Zyo44GX44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIkNQVSAldSDjga8g44Ob44OD44OI44OX44Op44Kw5a++5b+c44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSDjga/ml6LjgavmnInlirnljJbmuIjjgb/jgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSDjga/ml6LjgavnhKHlirnljJbmuIjjgb/jgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiQ1BVICV1IOOBruacieWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyAoQ1BVIOOBr+ioreWumuino+mZpOOBleOCjOOBpuOBhOOBvuOBmSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOOBruacieWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSDjgpLmnInlirnljJbjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkNQVSAldSDjga7nhKHlirnljJbjgavlpLHmlZfjgZfjgb7jgZfjgZ8gKOOBk+OCjOOBjOacieWKueWMluOBleOCjOOBpuOBhOOCi+acgOW+jOOBriBDUFUg44Gn44GZKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOOBrueEoeWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg44KS54Sh5Yq55YyW44GX44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICLjgZPjga7jgrfjgrnjg4bjg6Djga8gQ1BVIOOBruWGjeOCueOCreODo+ODs+OBq+WvvuW/nOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIkNQVSDjga7lho3jgrnjgq3jg6Pjg7Pjga7otbfli5XjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiQ1BVIOOBruWGjeOCueOCreODo+ODs+OCkui1t+WLleOBl+OBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAi44GT44Gu44K344K544OG44Og44GvIENQVSDjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njga7oqK3lrprjgavlr77lv5zjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLmsLTlubPjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLmsLTlubPjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njga7oqK3lrprjgavmiJDlip/jgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLlnoLnm7Tjg4fjgqPjgrnjg5Hjg4Pjg4Hjg6Ljg7zjg4njga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAi5Z6C55u044OH44Kj44K544OR44OD44OB44Oi44O844OJ44Gu6Kit5a6a44Gr5oiQ5Yqf44GX44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiQ1BVICV1IOOCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOOBr+ioreWumua4iOOBv+OBp+OBmVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSDjga/ml6LjgavoqK3lrprop6PpmaTmuIjjgb/jgafjgZlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICV1IOOBruioreWumuino+mZpOOBq+WkseaVl+OBl+OBvuOBl+OBnyhDUFUg44Gv5pyJ5Yq544Gn44GZKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUg44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOOCkuioreWumuOBl+OBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOOBruioreWumuino+mZpOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOOCkuioreWumuino+mZpOOBl+OBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiQ1BVIOODquOCueODiOWGheOBrueVquWPt+OBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOSB0ZXh0LXV0aWxzL2NvbC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisi5L2/44GE5pa5OlxuIgorIiAlcyBb44Kq44OX44K344On44OzXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDMKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIuODnuODq+ODgeODl+ODreOCu+ODg+OCteOCt+OCueODhuODoOOBriBDUFUg44KS6Kit5a6a44GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworIywgZnV6enkKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCquODl+OCt+ODp+ODszpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBvuOBmVxuIgorIiAgLWUsIC0tZW5hYmxlIDxDUFUg44Oq44K544OIPiAgICAgQ1BVIOOCkuacieWKueWMluOBl+OBvuOBmVxuIgorIiAgLWQsIC0tZGlzYWJsZSA8Q1BVIOODquOCueODiD4gICAgQ1BVIOOCkueEoeWKueWMluOBl+OBvuOBmVxuIgorIiAgLWMsIC0tY29uZmlndXJlIDxDUFUg44Oq44K544OIPiAgQ1BVIOOCkuioreWumuOBl+OBvuOBmVxuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPENQVSDjg6rjgrnjg4g+IENQVSDjgpLoqK3lrprop6PpmaTjgZfjgb7jgZlcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDzjg6Ljg7zjg4k+ICAgICAgIOODh+OCo+OCueODkeODg+ODgeODouODvOODieOCkuioreWumuOBl+OBvuOBmVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgQ1BVIOOCkuWGjeOCueOCreODo+ODs+OBl+OBvuOBmVxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIuacquWvvuW/nOOBruW8leaVsOOBp+OBmTogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgIklEIOOBruino+aekOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgIkNQVSAldSDjga7mnInlirnljJbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOOBrueEoeWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg44KS5pyJ5Yq55YyW44GX44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSDjgpLnhKHlirnljJbjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZW5hYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBkaXNhYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg44Gv5pei44Gr5pyJ5Yq55YyW5riI44G/44Gn44GZXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg44Gv5pei44Gr54Sh5Yq55YyW5riI44G/44Gn44GZXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiQ1BVICV1IOOBruacieWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiQ1BVICV1IOOBrueEoeWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUg44Gu5pyJ5Yq55YyW44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUg44Gu54Sh5Yq55YyW44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgIumAn+W6puOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBibG9jayBudW1iZXIiCittc2dzdHIgIuaVsOWApOOBruino+aekOOBq+WkseaVlyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICLjgrXjgqTjgrrmg4XloLHjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIumWi+Wni+S9jee9ruOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIue1guS6huS9jee9ruOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAi6ZaL5aeL5L2N572u44Gu5byV5pWw44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAi54Sh5Yq544Gq44K344Kw44OK44Or5ZCNIOOBvuOBn+OBryDnlarlj7c6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgIumWi+Wni+S9jee9ruOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAi57WC5LqG5L2N572u44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgIuW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIuW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gW3kgfCBuXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg5YaX6ZW35Ye65Yqb44Oi44O844OJ44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOWGl+mVt+WHuuWKm+ODouODvOODieOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDlhpfplbflh7rlipvjg6Ljg7zjg4njgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDlhpfplbflh7rlipvjg6Ljg7zjg4njgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLliKnnlKjlj6/og73jgarjg63jgrDliIbpoZ46XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIKK21zZ3N0ciAi5LiN5piO44Gq5YSq5YWI6aCG5L2N5ZCN44Gn44GZOiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIkN0cmwtQWx0LURlbCDjga7ntYTjgb/lkIjjgo/jgZvjga7mqZ/og73jgpLoqK3lrprjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICIlcyDjgafkuojmnJ/jgZfjgarjgYTlgKTjgYzopovjgaTjgYvjgorjgb7jgZfjgZ86ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIkN0cmwtQWx0LURlbCDjga7li5XkvZzjgpLoqK3lrprjgZnjgovjgavjga8gcm9vdCDjgafjgYLjgovlv4XopoHjgYzjgYLjgorjgb7jgZkiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5LiN5piO44Gq5byV5pWw44Gn44GZOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICLjgrfjgrnjg4bjg6DjgYzliKnnlKjjgafjgY3jgarjgYTnirbmhYvjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICLjgZnjgZDjgavlh6bnkIbjgZfjgarjgZHjgozjgbDjgarjgonjgarjgYTjgoLjga7jgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIuiHtOWRveeahOOBqueKtuaFi+OBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAi44Ko44Op44O854q25oWL44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIuitpuWRiueKtuaFi+OBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIueJueOBq+WVj+mhjOOBruOBquOBhOeKtuaFi+OBp+OBmeOBjOOAgeeJueWumuOBrueKtuazgeOCkuihqOOBmeOCguOBruOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAi5Y+C6ICD5oOF5aCx44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAi44OH44OQ44OD44Kw44Os44OZ44Or44Gu44Oh44OD44K744O844K444Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzAKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIuOCq+ODvOODjeODq+ODoeODg+OCu+ODvOOCuOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIueJueOBq+imj+WumuOBruOBquOBhOODpuODvOOCtuWumue+qeOBruODoeODg+OCu+ODvOOCuOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIuODoeODvOODq+OCt+OCueODhuODoOOBruODoeODg+OCu+ODvOOCuOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIuOCt+OCueODhuODoOODh+ODvOODouODs+OBruODoeODg+OCu+ODvOOCuOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAi44K744Kt44Ol44Oq44OG44Kj77yP6KqN5Y+v44Oh44OD44K744O844K444Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJzeXNsb2dkIOOBjOWGhemDqOOBp+eUn+aIkOOBl+OBn+ODoeODg+OCu+ODvOOCuOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAi44Op44Kk44Oz44OX44Oq44Oz44K/44K144OW44K344K544OG44Og44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJuZXR3b3JrIG5ld3Mg44K144OW44K344K544OG44Og44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiVVVDUCDjgrXjg5bjgrfjgrnjg4bjg6DjgafjgZkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAi44Kv44Ot44OD44Kv44OH44O844Oi44Oz44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAi44K744Kt44Ol44Oq44OG44Kj77yP6KqN5Y+v44Oh44OD44K744O844K4ICjmqZ/lr4bmibHjgYQpIOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiRlRQIOODh+ODvOODouODs+OBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIuOCq+ODvOODjeODq+OBruODquODs+OCsOODkOODg+ODleOCoeOCkuihqOekuuOAgeWItuW+oeOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICDjgqvjg7zjg43jg6vjga7jg6rjg7PjgrDjg5Djg4Pjg5XjgqHjgpLmtojljrvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICDoqq3jgb/ovrzjgpPjgafjgYvjgonjgZnjgbnjgabjga7jg6Hjg4Pjgrvjg7zjgrjjgpLmtojljrvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICDjgrPjg7Pjgr3jg7zjg6vjgavlr77jgZnjgovjg6Hjg4Pjgrvjg7zjgrjlh7rlipvjgpLnhKHlirnjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIOOCs+ODs+OCveODvOODq+OBq+WvvuOBmeOCi+ODoeODg+OCu+ODvOOCuOWHuuWKm+OCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIOOCq+ODvOODjeODq+OBruODreOCsOODkOODg+ODleOCoeOBp+OBr+OBquOBj+OAgeODleOCoeOCpOODq+OCkuS9v+eUqOOBl+OBpuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDzkuIDopqc+ICAgICAgIOaMh+WumuOBleOCjOOBn+WIhumhnuOBruODoeODg+OCu+ODvOOCuOOBruOBv+OCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIOS6uumWk+OBq+OBqOOBo+OBpuiqreOBv+OChOOBmeOBhOW9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAg44Kr44O844ON44Or44Oh44OD44K744O844K444KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1jb2xvcls9POaZguacnz5dICAgICAgICDjg6Hjg4Pjgrvjg7zjgrjjgpLoibLjgaXjgZHjgZfjgb7jgZlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGF1dG/jgIFhbHdheXPjgIFuZXZlciDjga7jganjgozjgYspXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAg5oyH5a6a44GV44KM44Gf44Os44OZ44Or44Gu44Oh44OD44K744O844K444Gu44G/44KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLW4sIC0tY29uc29sZS1sZXZlbCA844Os44OZ44OrPiDjgrPjg7Pjgr3jg7zjg6vjgavlh7rlipvjgZnjgbnjgY3jg6Hjg4Pjgrvjg7zjgrjjga7jg6zjg5njg6vjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAg5Ye65Yqb44KS44Oa44O844K444Oj44Gr5rih44GV44Ga44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBmuOBq+ODoeODg+OCu+ODvOOCuOODkOODg+ODleOCoeOCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgL2Rldi9rbXNnIOOBp+OBr+OBquOBj+OAgSBzeXNsb2coMikg44KS5by35Yi244GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLXMsIC0tYnVmZmVyLXNpemUgPOOCteOCpOOCuj4gIOOCq+ODvOODjeODq+OBruODquODs+OCsOODkOODg+ODleOCoeOBq+WVj+OBhOWQiOOCj+OBm+OCi+mam+OBruODkOODg+ODleOCoeOCteOCpOOCuuOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAg44Om44O844K244K544Oa44O844K544Gu44Oh44OD44K744O844K444KS5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAg5paw44GX44GE44Oh44OD44K744O844K444Gu5Yiw552A44KS5b6F44Gh44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICDliIbpoZ7jgajjg6zjg5njg6vjgpLoqq3jgb/jgoTjgZnjgYTlvaLlvI/jgavlpInmj5vjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAg5Ye65Yqb44GV44KM44Gf44Oh44OD44K744O844K46ZaT44Gn44Gu5pmC5Yi75beu44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIOODreODvOOCq+ODq+OBruaZguWIu+OBqOaZguWIu+W3ruOBruS4oeaWueOCkuOAgeiqreOBv+OChOOBmeOBhOW9ouW8j+OBp+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTUKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAg5Lq66ZaT44Gr44Go44Gj44Gm6Kqt44G/44KE44GZ44GE5b2i5byP44Gn44K/44Kk44Og44K544K/44Oz44OX44KS6KGo56S644GX44G+44GZKOeyvuW6puOBjOiQveOBoeOCi+OBi+OCguOBl+OCjOOBvuOBm+OCkyEpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICDjg6Hjg4Pjgrvjg7zjgrjjga7jgr/jgqTjg6Djgrnjgr/jg7Pjg5fjgpLlh7rlipvjgZfjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPOW9ouW8jz4gICAg44K/44Kk44Og44K544K/44Oz44OX44Gu6KGo56S65b2i5byP44KS5oyH5a6a44GX44G+44GZOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIuOCteOCueODmuODs+ODieOChOODrOOCuOODpeODvOODoOOCkuihjOOBhuOBqCBjdGltZSDjgaggaXNvIOOBruOCv+OCpOODoOOCueOCv+ODs+ODl+OBr+S4jeato+eiuuOBq+OBquOCiuOBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Yip55So5Y+v6IO944Gq44Ot44Kw5YiG6aGeOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Yip55So5Y+v6IO944Gq44Ot44Kw44Os44OZ44OrICjlhKrlhYjluqYpOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIuODrOODmeODqyAnJXMnIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAi5LiN5piO44Gq44Os44OZ44OrICclcycg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIuWIhumhniAnJXMnIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAi5LiN5piO44Gq5YiG6aGeICclcycg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJtbWFwIOOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLjg5Djg4Pjg5XjgqHjgrXjgqTjgrrjga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICLmmYLliLvjga7ooajnpLrlvaLlvI/jgajjgZfjgaYgaXNvODYwMSDjgpLlkIzmmYLjgavmjIflrprjgZfjgZ/loLTlkIggLS1zaG93LWRlbHRhIOOBr+eEoeimluOBleOCjOOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUxMQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICItLXJhdyDjgpIgLS1sZXZlbCwgLS1mYWNpbGl0eSDjgajlkIzmmYLjgavmjIflrprjgafjgY3jgovjga7jga/jg6Hjg4Pjgrvjg7zjgrjjgpIgL2Rldi9rbXNnIOOBi+OCieiqreOCk+OBp+OBhOOCi+aZguOBoOOBkeOBp+OBmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUyNgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIuOCq+ODvOODjeODq+ODkOODg+ODleOCoeOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJrbG9nY3RsIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844OH44OQ44Kk44K5Pnw844Oe44Km44Oz44OI44Od44Kk44Oz44OIPl1cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM4Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICLjg6rjg6Djg7zjg5Djg5bjg6vjg6Hjg4fjgqPjgqLjgpLmjpLlh7rjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICDoh6rli5XmjpLlh7rmqZ/og73jgpLmnInlirkgKG9uKSDjgb7jgZ/jga/nhKHlirkgKG9mZikg44Gr44GX44G+44GZXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBDRC1ST00g44OB44Kn44Oz44K444Oj44O844Gu44OH44Kj44K544Kv44KS5Lqk5o+b44GX44G+44GZXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICDml6Llrprjga7jg4fjg5DjgqTjgrnjgpLooajnpLrjgZfjgb7jgZlcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIOODleODreODg+ODlOOCo+ODh+OCo+OCueOCr+OCkuWPluOCiuWHuuOBl+OBvuOBmVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAg44OH44OQ44Kk44K544Gu56iu6aGe44KS54Sh6KaW44GX44Gm5a6f6KGM44GX44G+44GZXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICDmiYvli5XmjpLlh7rjgpLmnInlirkgKG9uKSDjgb7jgZ/jga/nhKHlirkgKG9mZikg44Gr44GX44G+44GZXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICDjg57jgqbjg7Pjg4jmuIjjgb/jga7loLTlkIjjgIHjgqLjg7Pjg57jgqbjg7Pjg4jjgpLooYzjgo/jgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IOS7luOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuOCouODs+ODnuOCpuODs+ODiOOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAg5a6f6Zqb44Gu5Y+W44KK5Ye644GX44Gv6KGM44KP44Ga44CB6KaL44Gk44GL44Gj44Gf44OH44OQ44Kk44K544KS6KGo56S644GX44G+44GZXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICAvZXRjL210YWIg44Gn44Gv44Gq44GPIC9wcm9jL21vdW50cyDjgpLkvb/nlKjjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIOODhuODvOODl+ODoeODh+OCo+OCouOCkuWPluOCiuWHuuOBl+OBvuOBmVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgQ0QtUk9NIOODoeODh+OCo+OCouOCkuWPluOCiuWHuuOBl+OBvuOBmVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgU0NTSSDjg4fjg5DjgqTjgrnjgpLlj5bjgorlh7rjgZfjgb7jgZlcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIOODiOODrOOCpOOCkumWieOBmOOBvuOBmVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAg44OI44Os44Kk44KS6ZaL44GP44GL44CB6ZaJ44GY44G+44GZXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICDlh7rlipvjgpLlhpfplbfjgavooYzjgYTjgb7jgZlcbiIKKyIgLXgsIC0tY2RzcGVlZCA86YCf5bqmPiAgICAgICAgQ0QtUk9NIOOBruacgOWkp+mAn+W6puOCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgQ0QtUk9NIOOBp+WIqeeUqOWPr+iDveOBqumAn+W6puOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuaXouWumuOBp+OBr+OAgeaIkOWKn+OBmeOCi+OBvuOBpyAtciwgLXMsIC1mLCAtcSDjgpLpoIbjgavoqabjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiLS1jaGFuZ2Vyc2xvdC8tYyDjgqrjg5fjgrfjg6fjg7Pjga7lvJXmlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAiLS1jZHNwZWVkLy14IOOCquODl+OCt+ODp+ODs+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDoh6rli5XmjpLlh7rjgrPjg57jg7Pjg4njgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiQ0QtUk9NIOODieOCouODreODg+OCr+OCs+ODnuODs+ODieOBr+OCteODneODvOODiOOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOODieOCouaWvemMoOOCs+ODnuODs+ODieOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ4Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0Qg44Oh44OH44Kj44Ki44KS44OH44OQ44Kk44K544Gu44Oc44K/44Oz44Gn5o6S5Ye644Gn44GN44Gq44GE5aC05ZCI44GM44GC44KK44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNEIOODoeODh+OCo+OCouOBr+ODh+ODkOOCpOOCueOBruODnOOCv+ODs+OBp+aOkuWHuuOBp+OBjeOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g44OH44Kj44K544Kv6YG45oqe44Kz44Oe44Oz44OJ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjUKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDjgrnjg63jg4Pjg4jjg63jg7zjg4njgrPjg57jg7Pjg4njgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIklERS9BVEFQSSBDRC1ST00g44OB44Kn44Oz44K444Oj44O844Gv44CB44GT44Gu44Kr44O844ON44Or44Gn5a++5b+c44GX44Gm44GE44G+44Gb44KTXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g44OI44Os44Kk6ZaJ6Y6W44Kz44Oe44Oz44OJ44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiQ0QtUk9NIOODiOODrOOCpOmWiemOluOCs+ODnuODs+ODieOBr+OAgeOBk+OBruOCq+ODvOODjeODq+OBp+WvvuW/nOOBl+OBpuOBhOOBvuOBm+OCk1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIkNELVJPTSDjga7mjpLlh7rjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMiBzeXMtdXRpbHMvZWplY3QuYzo0NTUgc3lzLXV0aWxzL2VqZWN0LmM6MTAwNgorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOaOkuWHuuOCs+ODnuODs+ODieOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAi5Yip55So5Y+v6IO944GqIENELVJPTSDmg4XloLHjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIkNELVJPTSDjg4njg6njgqTjg5bjgYzliKnnlKjlj6/og73jgarnirbmhYvjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDpgJ/luqbpgbjmip7jgrPjg57jg7Pjg4njgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MworbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJDRC1ST00g6YCf5bqm6YG45oqe44Kz44Oe44Oz44OJ44Gv44CB44GT44Gu44Kr44O844ON44Or44Gn5a++5b+c44GX44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogQ0QtUk9NIOOBruWQjeWJjeaknOWHuuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IOmAn+W6puOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIumAn+W6puOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTgzCittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAic2cg44OH44OQ44Kk44K544Gn44Gv44Gq44GE44GL44CB5Y+k44GEIHNnIOODieODqeOCpOODkOOBp+OBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bm1vdW50aW5nIgorbXNnc3RyICIlczog44Ki44Oz44Oe44Km44Oz44OI44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiZm9yayDjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJgJXMnIOOBruOCouODs+ODnuOCpuODs+ODiOOBjOato+W4uOe1guS6huOBl+OBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiYCVzJyDjga7jgqLjg7Pjg57jgqbjg7Pjg4jjgYzlpLHmlZfjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICLjg57jgqbjg7Pjg4jjg4bjg7zjg5bjg6vjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiAlcyDjgavjg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIkNELVJPTSDjga7pgJ/luqbjgpLoh6rli5XjgavoqK3lrprjgZfjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJDRC1ST00g44Gu6YCf5bqm44KSICVsZFgg44Gr6Kit5a6a44GX44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIuaXouWumuOBruODh+ODkOOCpOOCuTogYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIuaXouWumuWApCBgJXMnIOOCkuS9v+eUqOOBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzOiDjg4fjg5DjgqTjgrnjgpLmpJzlh7rjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICLjg4fjg5DjgqTjgrnlkI3jga8gYCVzJyDjgafjgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczog44Oe44Km44Oz44OI44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVzOiDjg4fjgqPjgrnjgq/jg4fjg5DjgqTjgrk6ICVzIChlamVjdCDjgafkvb/nlKjjgZnjgovjg4fjgqPjgrnjgq/jg4fjg5DjgqTjgrnjgafjgZkpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIlczog44Oe44Km44Oz44OI44Od44Kk44Oz44OI44G+44Gf44Gv5oyH5a6a44GX44Gf5ZCN5YmN44Gu44OH44OQ44Kk44K544GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlczog44GT44KM44Gv44OH44Kj44K544Kv5YWo5L2T44KS6KGo44GZ44OH44OQ44Kk44K544Gn44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IOODm+ODg+ODiOODl+ODqeOCsOWvvuW/nOOBruODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga8gYCVzJyDjgafjgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIi1uLy0tbm9vcCDjgqrjg5fjgrfjg6fjg7PjgYzmjIflrprjgZXjgozjgabjgYTjgovjgZ/jgoHjgIHntYLkuobjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczog6Ieq5YuV5o6S5Ye644Oi44O844OJ44KS5pyJ5Yq544Gr44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiDoh6rli5XmjpLlh7rjg6Ljg7zjg4njgpLnhKHlirnjgavjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIlczog44OI44Os44Kk44KS6ZaJ44GY44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiDjg4jjg6zjgqTjga7nirbmhYvjgpLliIfjgormm7/jgYjjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVzOiBDRC1ST00g44Gu6YCf5bqm44KS5LiA6Kan6KGo56S644GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICLjgqjjg6njg7w6ICVzOiDjg4fjg5DjgqTjgrnjga/kvb/nlKjkuK3jgafjgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiVzOiBDRC1ST00g44OH44Kj44K544KvICMlbGQg44KS6YG45oqe44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBDRC1ST00g5o6S5Ye644Kz44Oe44Oz44OJ44Gn5Y+W44KK5Ye644GX44KS6Kmm44G/44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJDRC1ST00g5o6S5Ye644Kz44Oe44Oz44OJ44GM5oiQ5Yqf44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiJXM6IFNDU0kg44Kz44Oe44Oz44OJ44Gn5Y+W44KK5Ye644GX44KS6Kmm44G/44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEyCittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIlNDU0kg5o6S5Ye644Kz44Oe44Oz44OJ44GM5oiQ5Yqf44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEzCittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIlNDU0kg5o6S5Ye644Kz44Oe44Oz44OJ44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiDjg5Xjg63jg4Pjg5TjgqPjg4fjgqPjgrnjgq/jga7mjpLlh7rjgrPjg57jg7Pjg4njgaflj5bjgorlh7rjgZfjgpLoqabjgb/jgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIuODleODreODg+ODlOOCo+ODh+OCo+OCueOCr+OBruaOkuWHuuOCs+ODnuODs+ODieOBjOaIkOWKn+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi44OV44Ot44OD44OU44Kj44OH44Kj44K544Kv44Gu5o6S5Ye644Kz44Oe44Oz44OJ44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiDjg4bjg7zjg5fjg6Hjg4fjgqPjgqLjga7jgqrjg5Xjg6njgqTjg7PjgrPjg57jg7Pjg4njgaflj5bjgorlh7rjgZfjgpLoqabjgb/jgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIuODhuODvOODl+ODoeODh+OCo+OCouOBruOCquODleODqeOCpOODs+OCs+ODnuODs+ODieOBjOaIkOWKn+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi44OG44O844OX44Oh44OH44Kj44Ki44Gu44Kq44OV44Op44Kk44Oz44Kz44Oe44Oz44OJ44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICLlj5bjgorlh7rjgZnjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5XjgqHjgqTjg6vlkI0+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MgorbXNnaWQgIiAtaSwgLS1pbnNlcnQtcmFuZ2UgICBpbnNlcnQgYSBob2xlIGF0IHJhbmdlLCBzaGlmdGluZyBleGlzdGluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPOmVt+OBlT4gICAgICAgICAgIOWFpeWKm+OBruOBhuOBoeWFiOmgreOBi+OCieaMh+WumuODkOOCpOODiOOBoOOBkeOCkuino+mHiFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAg44OV44Kh44Kk44Or44Gu6KaL44GL44GR44Gu44K144Kk44K644KS5L+d5oyB44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDznlarlj7c+ICAgIOODleOCoeOCpOODq+WGheOBriA855Wq5Y+3PiDjgafnpLrjgZXjgozjgZ/jgqrjg5Xjgrvjg4Pjg4jkvY3nva7jgYvjgonlp4vjgoHjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk2Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTcKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tcG9zaXggICAgICAgICAgdXNlIHBvc2l4X2ZhbGxvY2F0ZSgzKSBpbnN0ZWFkIG9mIGZhbGxvY2F0ZSgyKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg44GZ44G544Gm44Gu44OH44OQ44Kk44K544KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIuOCteOCpOOCuue2reaMgeODouODvOODiSAoLW4g44Kq44OX44K344On44OzKSDjgavjga/lr77lv5zjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgImZhbGxvY2F0ZSDjgYzlpLHmlZciCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczog6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIuODleOCoeOCpOODq+WQjeOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICLmjIflrprjgZXjgozjgZ/plbfjgZXjga7lgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLplbfjgZXjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIuaMh+WumuOBleOCjOOBn+OCquODleOCu+ODg+ODiOWApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODqz58POODh+OCo+ODrOOCr+ODiOODqj4gPOOCs+ODnuODs+ODiT4gWzzlvJXmlbA+Li4uXVxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5XjgqHjgqTjg6s+fDzjg4fjgqPjg6zjgq/jg4jjg6o+IC1jIDzjgrPjg57jg7Pjg4k+XG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODq+iomOi/sOWtkOeVquWPtz5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAg5YWx5pyJ44Ot44OD44Kv44KS5Y+W5b6X44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAg5o6S5LuW44Ot44OD44Kv44KS5Y+W5b6X44GX44G+44GZICjml6LlrprlgKQpXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAg44Ot44OD44Kv44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICDlvoXmqZ/jgYzlv4XopoHjgarloLTlkIjjgIHlpLHmlZfjgZXjgZvjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA856eSPiAgICAgICDmjIflrprjgZfjgZ/mmYLplpPjgb7jgaflvoXjgaTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDznlarlj7c+ICAgIOefm+ebvueKtuaFi+OChOaZgumWk+WIh+OCjOOBq+OBquOBo+OBn+WgtOWQiOOBrue1guS6huOCs+ODvOODieOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICDjgrPjg57jg7Pjg4njgpLlrp/ooYzjgZnjgovliY3jgavjg5XjgqHjgqTjg6vjg4fjgqPjgrnjgq/jg6rjg5fjgr/jgpLplonjgZjjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIgLWMsIC0tY29tbWFuZCA844Kz44Oe44Oz44OJPiDjgrfjgqfjg6vjgpLku4vjgZfjgabljZjkuIDjga7jgrPjg57jg7Pjg4njgpLlrp/ooYzjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgIDzjg5fjg63jgrDjg6njg6A+IOOCkui1t+WLleOBmeOCi+mam+OAgSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yayDjgZvjgZrjgavlrp/ooYzjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDjgojjgoroqbPjgZfjgY/lh7rlipvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAi44Ot44OD44Kv44OV44Kh44Kk44OrICVzIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA4Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICLmmYLplpPliLbpmZDjga7lgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIxMgorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICLkuI3mraPjgarntYLkuobjgrPjg7zjg4njgafjgZkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlcyDlvJXmlbDjgavjga/jgIEgMSDjgaTjga7ov73liqDlvJXmlbDjgYzlv4XopoHjgafjgZkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIuato+OBl+OBj+OBquOBhOODleOCoeOCpOODq+iomOi/sOWtkCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU4Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAi44OV44Kh44Kk44Or6KiY6L+w5a2Q44GL44OV44Kh44Kk44Or44CB44KC44GX44GP44Gv44OH44Kj44Os44Kv44OI44Oq44KS5oyH5a6a44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgIuODreODg+OCr+OBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg5Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAuJTA2ZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6ICVzIOOCkuWun+ihjOS4rVxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODnuOCpuODs+ODiOODneOCpOODs+ODiD5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKKyMsIGZ1enp5Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLjgZnjgbnjgabjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLmpJzmn7vjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtZiwgLS1mcmVlemUgICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLlh43ntZDnirbmhYvjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBruWHjee1kOeKtuaFi+OCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDUKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICItLWZyZWV6ZSDjgb7jgZ/jga8gLS11bmZyZWV6ZSDjga7jgYTjgZrjgozjgYvjgpLmjIflrprjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZkiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczog44OH44Kj44Os44Kv44OI44Oq44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiDlh43ntZDlh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczog5YeN57WQ54q25oWL44Gu6Kej6Zmk5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IOODh+OCo+ODrOOCr+ODiOODquOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogRklUUklNIGlvY3RsIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzOiAlcyAoJTxQUkl1NjQ+IOODkOOCpOODiCkg44Gr5YiH44KK5o+D44GI44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICIlcyDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844Oe44Km44Oz44OI44Od44Kk44Oz44OIPlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIOOBmeOBueOBpuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuOCouODs+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLWMsIC0tY3lsaW5kZXJzIDzmlbDlgKQ+IOWIqeeUqOOBmeOCi+OCt+ODquODs+ODgOOBruaVsOOCkuOCu+ODg+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWGl+mVt+OBquODh+ODvOOCv+WHuuWKm+OCkuihjOOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAi5pyA5bCP44Ko44Kv44K544OG44Oz44OI6ZW344Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzMxCittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIuODnuOCpuODs+ODiOODneOCpOODs+ODiOOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLmnKrlr77lv5zjga7noLTmo4Tjg53jg6rjgrfjg7zjgafjgZk6ICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIuODj+ODvOODieOCpuOCp+OCouOBruaZguWIu+OBjCAlcyDjgavoqK3lrprjgZXjgozjgabjgYTjgovjgoLjga7jgajku67lrprjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAi44Ot44O844Kr44Or5pmC5Yi7IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisi6K2m5ZGKOiBhZGp0aW1lIOODleOCoeOCpOODq+OBriAzIOihjOebruOBjOino+mHiOOBp+OBjeOBvuOBm+OCk1xuIgorIihgVVRDJywgYExPQ0FMJyDjgb7jgZ/jga/nqbrmloflrZfjga7jgYTjgZrjgozjgYvjgafjgYLjgovlv4XopoHjgYzjgYLjgorjgb7jgZkpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIuebtOWJjeOBruOCuuODrOOBruS/ruato+OBr+OAgSAxOTY5IOW5tOOBi+OCiSAlbGQg56eS57WM6YGO44GX44Gf5pmC54K544Gn6KGM44Gq44KP44KM44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIuebtOWJjeOBruiqv+aVtOOBryAxOTY5IOW5tOOBi+OCiSAlbGQg56eS57WM6YGO44GX44Gf5pmC54K544Gn6KGM44Gq44KP44KM44G+44GX44GfXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAi44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi744GvICVzIOOBp+OBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIuOCr+ODreODg+OCr+ODhuOCo+ODg+OCr+OCkuW+heOBo+OBpuOBhOOBvuOBmS4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIi4uLuWQjOacn+OBq+WkseaVl+OBl+OBvuOBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi7jgq/jg63jg4Pjgq/jg4bjgqPjg4Pjgq/jgpLlj5blvpfjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAi44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi75YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICLjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvlgKQgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gMTk2OSDlubTjgYvjgokgJWxkIOenkue1jOmBjlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICLjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLoqIjjgYvjgonoqq3jgb/ovrzjgpPjgaDmmYLliLs6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi75YCk44KSICUuMmQ6JS4yZDolLjJkICg9IDE5Njkg5bm044GL44KJICVsZCDnp5LntYzpgY4pIOOBq+ioreWumuOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgInNldHRpbWVvZmRheSDjgpLlkbzjgbPlh7rjgZfjgabjgYTjgb7jgZk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkg44KS5ZG844Gz5Ye644GX44Gm44GE44G+44GZOlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjU1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICLku6XliY3jgIHjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLoqIjlhoXjgavjgrTjg5/jgYzlkKvjgb7jgozjgabjgYTjgZ/jgZ/jgoHjgIHjgrrjg6zjga7lgKTjgpLoqr/mlbTjgZnjgovlh6bnkIbjga/ooYzjgYTjgb7jgZvjgpPjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyLnm7Tov5Hjga7moKHmraPmmYLliLvjgYzjgrzjg63jgavjgarjgaPjgabjgYTjgovjgZ/jgoHjgIHjgrrjg6zjga7lgKTjgpLoqr/mlbTjgZnjgovlh6bnkIbjga/ooYzjgYTjgb7jgZvjgpPjgIJcbiIKKyLjgZPjgozjga/moKHmraPlsaXmrbTjgYzmraPjgZfjgYTjgoLjga7jgafjga/jgarjgYTjgZ/jgoHjgIHmoKHmraPjgpLjgoTjgornm7TjgZnlv4XopoHjgYzjgYLjgovjgZ/jgoHjgafjgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIuebtOi/keOBruagoeato+aZguWIu+OBi+OCieOAgeWwkeOBquOBj+OBqOOCgiAxIOaXpeS7peS4iue1jOmBjuOBl+OBquOBhOOBqOOAgeOCuuODrOOBruWApOOCkuiqv+aVtOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIuOCuuODrOOBruWApOOBjCAxIOaXpeOBguOBn+OCiiAlMyRmIOenkuOBq+ioreWumuOBleOCjOOBpuOBhOOCi+OBq+OCgumWouOCj+OCieOBmuOAgemBjuWOuyAlMiRkIOenkumWk+OBqyUxJC4xZiDnp5Ljga7jgrrjg6zjgYznmbrnlJ/jgZfjgb7jgZfjgZ/jgIJcbiIKKyLjgrrjg6zjga7lgKTjgpIgJTQkZiDnp5LvvI/ml6Xjgavoqr/mlbTjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAi5YmN5Zue44Gu5L+u5q2j44GL44KJ44GuICVkIOenkuOBjOe1jOmBjuOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgLiUwNmQg56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAiJXMg44KSIG9wZW4g44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAi55u06L+R44Gu5qCh5q2j5pmC5Yi744GM44K844Ot44Gr44Gq44Gj44Gm44GE44Gm5bGl5q2044GM5Y+W5b6X44Gn44GN44Gq44GE44Gf44KB44CB5pmC5Yi76Kit5a6a44Gv6KGM44GE44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICLnm7Tov5Hjga7moKHmraPmmYLliLvjgYzjgrzjg63jgavjgarjgaPjgabjgYTjgablsaXmrbTjgYzlj5blvpfjgafjgY3jgarjgYTjgZ/jgoHjgIHmmYLliLvoqK3lrprjga/ooYzjgYTjgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIuWIqeeUqOWPr+iDveOBquOCr+ODreODg+OCr+OCpOODs+OCv+ODvOODleOCp+OCpOOCueOBjOimi+OBpOOBi+OCiuOBvuOBm+OCk+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAi5pei55+l44Gu44GE44Ga44KM44Gu5pa55rOV44KS5L2/55So44GX44Gm44KC44CB44OP44O844OJ44Km44Kn44Ki44Gu5pmC6KiI44Gr44Ki44Kv44K744K544GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KT44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4OQorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tdmVyYm9zZSBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICItLWRlYnVnIOOCquODl+OCt+ODp+ODs+OCkuS9v+eUqOOBmeOCi+OBqOOAgeOCouOCr+OCu+OCueaWueazleOBruaknOe0ouWHpueQhuOCkuips+OBl+OBj+eiuuiqjeOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGFyZ2V0IGRhdGU6ICAgJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlZGljdGVkIFJUQzogJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NzAKK21zZ2lkICJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIuW/heimgeOBquS/ruato+OBjCAxIOenkuacqua6gOOBquOBruOBp+OAgeaZguWIu+ioreWumuOBr+ihjOOBhOOBvuOBm+OCk+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIuOCueODvOODkeODvOODluODreODg+OCr+OCkuiqreOBv+i+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAi44K344K544OG44Og5pmC5Yi744KS6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KT44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIGh3Y2xvY2sgW+apn+iDvV0gW+OCquODl+OCt+ODp+ODsy4uLl1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIOOCq+ODvOODjeODq+ODoeODg+OCu+ODvOOCuOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOODneODvOODiOOCkuODquOCu+ODg+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjYKK21zZ2lkICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBSVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDzjg6rjgrnjg4g+ICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBrueorumhnuOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzIKK21zZ2lkICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBSVEMgZXBvY2ggYWNjb3JkaW5nIHRvIC0tZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc0Cittc2dpZCAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgdGhlIGRyaWZ0ZWQgUlRDIHRpbWUgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIFVUQyIKK21zZ3N0ciAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMg44GMIFVUQyDjgavjgarjgaPjgabjgYTjgovjgoLjga7jgajjgb/jgarjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbHRpbWUgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBMb2NhbCIKK21zZ3N0ciAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMg44GM44Ot44O844Kr44Or5pmC5Yi744Gr44Gq44Gj44Gm44GE44KL44KC44Gu44Go44G/44Gq44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDzjg5XjgqHjgqTjg6s+ICAgICVzIOOBp+OBr+OBquOBj+OAgeaMh+WumuOBl+OBn+ODleOCoeOCpOODq+OCkuS9v+eUqOOBl+OBpuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzZSB0aGUgSVNBIGJ1cyBpbnN0ZWFkIG9mICUxJHMgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lPiAgICBkYXRlL3RpbWUgaW5wdXQgZm9yIC0tc2V0IGFuZCAtLXByZWRpY3QiCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAg5b6p5biw44GZ44KL5pmC5Yi744KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAg44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWFkamZpbGUgPGZpbGU+IHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDzjg5XjgqHjgqTjg6s+ICAgICVzIOOBp+OBr+OBquOBj+OAgeaMh+WumuOBl+OBn+ODleOCoeOCpOODq+OCkuS9v+eUqOOBl+OBpuWHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAg5a6f6Zqb44Gr44GvIHVtb3VudCgyKSDjga7jgrfjgrnjg4bjg6DjgrPjg7zjg6vjgpLooYzjgYTjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YaX6ZW344Gq44OH44O844K/5Ye65Yqb44KS6KGM44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAi55uj5p+744K344K544OG44Og44Gr5o6l57aa44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICLlvJXmlbDjgYzlpJrjgZnjgY7jgb7jgZkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiLS1ub2FkamZpbGUg44KS5L2/55So44GZ44KL44Gr44Gv44CBIC0tdXRjIOOBvuOBn+OBryAtLWxvY2FsdGltZSDjga7jgYTjgZrjgozjgYvjgpLmjIflrprjgZfjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgIklEIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICLnj77lnKjjga7jgrfjgrnjg4bjg6DmmYLliLs6ICVsZCA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICLjgrnjg6/jg4Pjg5fpoJjln5/jga7jgrXjgqTjgroiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAi44OV44Kh44Kk44OrICVzIOOBq+OCouOCr+OCu+OCueOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5NworIywgZnV6enkKK21zZ2lkICJVc2luZyBkaXJlY3QgSVNBIGFjY2VzcyB0byB0aGUgY2xvY2siCittc2dzdHIgIuebtOaOpSBJL08g5ZG95Luk44KS5L2/44Gj44GmIElTQSDjgq/jg63jg4Pjgq/jgavjgqLjgq/jgrvjgrnjgZfjgb7jgZnjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIG9wZW46ICVzXG4iCittc2dzdHIgIiVzIOOCkuOCouODs+ODnuOCpuODs+ODiOOBl+OCiOOBhuOBqOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHJ0YyBkZXZpY2UiCittc2dzdHIgIuS4i+iomOOBruOCguOBruOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgIuaZguWIu+OCkuiqreOBv+i+vOOCgOmam+OAgSAlMiRzIOOBq+WvvuOBl+OBpiBpb2N0bCglMSRzKSDjgpLopoHmsYLjgZfjgb7jgZfjgZ/jgYzjgIHlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiJXMg44GL44KJ5pmC5Yi744KS6Kqt44G/5Ye644GX44CB5aSJ5YyW44GZ44KL44Gu44KS5b6F44Gj44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIuaZguWIu+WkieabtOW+heOBoeOBjOaZgumWk+WIh+OCjOOBq+OBquOCiuOBvuOBl+OBn+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICLjgq/jg63jg4Pjgq/jg4bjgqPjg4Pjgq/jgpLlvoXjgaTjgZ/jgoHjga4gJXMg44G444GuIHNlbGVjdCgpIOOBjOaZgumWk+WIh+OCjOOBq+OBquOCiuOBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICLjgq/jg63jg4Pjgq/jg4bjgqPjg4Pjgq/jgpLlvoXjgaTjgZ/jgoHjga4gJXMg44G444GuIHNlbGVjdCgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICLlibLjgorovrzjgb/mm7TmlrDjgpLnhKHlirnljJbjgZnjgovjgZ/jgoHjga4gJXMg44G444GuIGlvY3RsKCkg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzIOOBuOOBriBpb2N0bChSVENfRVBPQ0hfU0VUKSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgIiUyJHMg44Gr5a++44GX44Gm5pmC5Yi744KS6Kit5a6a44GZ44KL6Zqb44CBIGlvY3RsKCUxJHMpIOOBq+WkseaVl+OBl+OBvuOBl+OBn+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIOOBq+aIkOWKn+OBl+OBvuOBl+OBn+OAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAi44Kv44Ot44OD44Kv44GuIC9kZXYg44Kk44Oz44K/44O844OV44Kn44Kk44K5IOOCkuS9v+eUqOS4reOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg44G444GuIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIOOBuOOBriBpb2N0bChSVENfRVBPQ0hfUkVBRCkg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZXBvY2ggJyVzJy4iCittc2dzdHIgIklEIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlcyDjgbjjga4gaW9jdGwoUlRDX0VQT0NIX1NFVCkg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMg44G444GuIGlvY3RsKFJUQ19FUE9DSF9TRVQpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICLmp5jjgIXjgaogSVBDIOODquOCveODvOOCueOCkuS9nOaIkOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPOOCteOCpOOCuj4gICAgICAgICA844K144Kk44K6PiDjgafmjIflrprjgZfjgZ/jgrXjgqTjgrrjga7lhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4jjgpLkvZzmiJDjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDzjgrvjg57jg5XjgqnmlbA+IDzjgrvjg57jg5XjgqnmlbA+IOOBp+aMh+WumuOBl+OBn+WAi+aVsOOBruimgee0oOaVsOOBruOCu+ODnuODleOCqemFjeWIl+OCkuS9nOaIkOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICAgICDjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7zjgpLkvZzmiJDjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA844Oi44O844OJPiAgICAgIOizh+a6kOOBq+WJsuOCiuW9k+OBpuOCi+ODkeODvOODn+ODg+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBvuOBmSAo5pei5a6a5YCk44GvIDA2NDQg44Gn44GZKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo3MTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAi44K144Kk44K65oOF5aCx44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIuimgee0oOaVsOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIuWFseacieODoeODouODquOBruS9nOaIkOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIuWFseacieODoeODouODqiBJRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICLjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7zjga7kvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICLjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7wgSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICLjgrvjg57jg5Xjgqnjga7kvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIuOCu+ODnuODleOCqSBJRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIklQQyDjg6rjgr3jg7zjgrnjgpLliYrpmaTjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAg5oyH5a6a44GX44GfIElEIOOBruWFseacieODoeODouODquOCu+OCsOODoeODs+ODiOOCkuWJiumZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAg5oyH5a6a44GX44Gf44Kt44O844Gu5YWx5pyJ44Oh44Oi44Oq44K744Kw44Oh44Oz44OI44KS5YmK6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICDmjIflrprjgZfjgZ8gSUQg44Gu44Oh44OD44K744O844K444Kt44Ol44O844KS5YmK6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAg5oyH5a6a44GX44Gf44Kt44O844Gu44Oh44OD44K744O844K444Kt44Ol44O844KS5YmK6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIOaMh+WumuOBl+OBnyBJRCDjga7jgrvjg57jg5XjgqnjgpLliYrpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIOaMh+WumuOBl+OBn+OCreODvOOBruOCu+ODnuODleOCqeOCkuWJiumZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9PHNobXxtc2d8c2VtPl0gIOWFqOOBpuOBruWFseacieODoeODouODqu+8j+ODoeODg+OCu+ODvOOCuOOCreODpeODvO+8j+OCu+ODnuODleOCqeOCkuWJiumZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6Kmz44GX44GP6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIuWFseacieODoeODouODquOCu+OCsOODoeODs+ODiCBJRCBgJWQnIOOCkuWJiumZpOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAi44Oh44OD44K744O844K444Kt44Ol44O8IElEIGAlZCcg44KS5YmK6Zmk44GX44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIuOCu+ODnuODleOCqSBJRCBgJWQnIOOCkuWJiumZpOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAi44Kt44O844Gu6Kix5Y+v44GM44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIklEIOOBruioseWPr+OBjOOBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICLjgq3jg7zjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIklEIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIuaXouOBq+aMh+WumuOBl+OBn+OCreODvOOBr+WJiumZpOOBleOCjOOBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICLml6LjgavmjIflrprjgZfjgZ8gSUQg44Gv5YmK6Zmk44GV44KM44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAi44Kt44O844Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIklEIOOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJJRCDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICLos4fmupDjgpLliYrpmaTjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIuOCreODvOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIuWFseacieODoeODouODquOBjOOCq+ODvOODjeODq+WBtOOBp+ioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICLjgrvjg57jg5XjgqnjgYzjgqvjg7zjg43jg6vlgbTjgafoqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIuODoeODg+OCu+ODvOOCuOOCreODpeODvOOBjOOCq+ODvOODjeODq+WBtOOBp+ioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTcgc3lzLXV0aWxzL2xzaXBjLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICDmjIflrprjgZfjgZ8gSUQg44Gu6LOH5rqQ44Gr44Gk44GE44Gm6Kmz57Sw44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAi44Oq44K944O844K544Kq44OX44K344On44OzOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICDlhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4hcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIOODoeODg+OCu+ODvOOCuOOCreODpeODvFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICDjgrvjg57jg5XjgqlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICDlhajjgaYgKOaXouWumuWApClcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAi5Ye65Yqb5b2i5byPOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAg57WQ5ZCI77yP5YiG6Zui77yP5aSJ5pu044Gu5ZCE5pel5pmC44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICDkvZzmiJDjgYrjgojjgbPnm7Tov5Hjgavmk43kvZzjgpLooYzjgarjgaPjgZ8gUElEIOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOS9nOaIkOiAheOBqOaJgOacieiAheOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICDos4fmupDjga7liLbpmZDlgKTjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICDnirbmhYvjga7mpoLopoHjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworIywgZnV6enkKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICDkurrplpPjgavjgajjgaPjgaboqq3jgb/jgoTjgZnjgYTlvaLlvI/jgafjgr/jgqTjg6Djgrnjgr/jg7Pjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICDjgrXjgqTjgrrjgpLjg5DjgqTjg4jljZjkvY3jgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiSUQg44KS5L2/55So44GX44Gf5aC05ZCI44Gv44CB5Y2Y5LiA44Gu6LOH5rqQ44Gu44G/44KS5oyH5a6a44GX44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgIuWFseacieODoeODouODquOBruacgOWkp+WQiOioiOWApCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHmnInjg6Hjg6Ljg6rjga7liLbpmZAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICLjgrvjgrDjg6Hjg7Pjg4jjga7mnIDlpKfmlbAgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIuacgOWkp+OCu+OCsOODoeODs+ODiOOCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAi5YWx5pyJ44Oh44Oi44Oq44Gu5pyA5aSn5ZCI6KiI5YCkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyMAorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAi5pyA5bCP44K744Kw44Oh44Oz44OI44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAi5YWx5pyJ44Oh44Oi44Oq44GM44Kr44O844ON44Or5YG044Gn6Kit5a6a44GV44KM44Gm44GE44G+44Gb44KTXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g5YWx5pyJ44Oh44Oi44Oq44Gu54q25oWLIC0tLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorIuWJsuOCiuW9k+OBpua4iOOBv+OCu+OCsOODoeODs+ODiCAlZFxuIgorIuWJsuOCiuW9k+OBpua4iOOBv+ODmuODvOOCuCAlbGRcbiIKKyLluLjpp5DmuIjjgb/jg5rjg7zjgrggJWxkXG4iCisi44K544Ov44OD44OX5riI44G/44Oa44O844K4ICVsZFxuIgorIuOCueODr+ODg+ODl+aAp+iDvTogJWxkIOWbnuippuihjOa4iOOBv1x0ICVsZCDlm57miJDlip9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOWFseacieODoeODouODquOCu+OCsOODoeODs+ODiCDkvZzmiJDogIUv5omA5pyJ6ICFIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgIuaoqemZkCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHmnInjg6Hjg6Ljg6og57WQ5ZCI77yP5YiG6Zui77yP5aSJ5pu05pel5pmCIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mjg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJvd25lciIKK21zZ3N0ciAi5omA5pyJ6ICFIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICLntZDlkIgiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIuWIhumboiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICLlpInmm7QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHmnInjg6Hjg6Ljg6og5L2c5oiQ6ICF77yP55u06L+R44Gu5ZG95LukIFBJRCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOWFseacieODoeODouODquOCu+OCsOODoeODs+ODiCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAi44Kt44O8IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgIuOCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAi44OQ44Kk44OIIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAi54q25oWLIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICLmnKrjgrvjg4Pjg4giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICLliYrpmaQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjk4OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDAxCittc2dpZCAibG9ja2VkIgorbXNnc3RyICLjg63jg4Pjgq8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgIuOCu+ODnuODleOCqeOBruWItumZkOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g44K744Oe44OV44Kp44Gu5Yi26ZmQIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAi5pyA5aSn6YWN5YiX5pWwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAi6YWN5YiX44GU44Go44Gu5pyA5aSn44K744Oe44OV44Kp5pWwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICLjgrfjgrnjg4bjg6DlhajkvZPjga7mnIDlpKfjgrvjg57jg5XjgqnmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAic2Vtb3Ag5ZG844Gz5Ye644GX44GU44Go44Gu5pyA5aSn5ZG95Luk5pWwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgIuOCu+ODnuODleOCqeacgOWkp+WApCA9ICV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICLjgrvjg57jg5XjgqnjgYzjgqvjg7zjg43jg6vlgbTjgafoqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOOCu+ODnuODleOCqeOBrueKtuaFiyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIuS9v+eUqOa4iOOBv+mFjeWIl+aVsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAi5Ymy44KK5b2T44Gm5riI44G/44K744Oe44OV44Kp5pWwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDjgrvjg57jg5XjgqnphY3liJcg5L2c5oiQ6ICF77yP5omA5pyJ6ICFIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOOCu+ODnuODleOCqSDlkb3ku6TvvI/lpInmm7Tlm57mlbAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICLmnIDntYLmk43kvZwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICLmnIDntYLlpInmm7QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDjgrvjg57jg5XjgqnphY3liJcgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICLjg6Hjg4Pjgrvjg7zjgrjjga7liLbpmZDjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g44Oh44OD44K744O844K444Gu5Yi257SEIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICLjgrfjgrnjg4bjg6DlhajkvZPjgafjga7mnIDlpKfjgq3jg6Xjg7zmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIuODoeODg+OCu+ODvOOCuOOBruacgOWkp+OCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICLjgq3jg6Xjg7zjga7ml6LlrprmnIDlpKflgKQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAi44Oh44OD44K744O844K444Kt44Ol44O844GM44Kr44O844ON44Or5YG044Gn6Kit5a6a44GV44KM44Gm44GE44G+44Gb44KTXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOODoeODg+OCu+ODvOOCuOOBrueKtuaFiyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAi5Ymy44KK5b2T44Gm5riI44G/44Kt44Ol44O85pWwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAi5L2/55So5riI44G/44OY44OD44OAID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODgKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICLkvb/nlKjmuIjjgb/poJjln58iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIuODkOOCpOODiFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7wg5L2c5oiQ6ICF77yP5omA5pyJ6ICFIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOODoeODg+OCu+ODvOOCuOOCreODpeODvCDpgIHkv6HvvI/lj5fkv6HvvI/lpInmm7Tlm57mlbAgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICLpgIHkv6EiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAi5Y+X5L+hIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAi5aSJ5pu0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g44Oh44OD44K744O844K444Kt44Ol44O8IFBJRCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g44Oh44OD44K744O844K444Kt44Ol44O8IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAi5L2/55So5riI44G/44OQ44Kk44OI5pWwIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNQorbXNnaWQgIm1lc3NhZ2VzIgorbXNnc3RyICLjg6Hjg4Pjgrvjg7zjgrgiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgwIHN5cy11dGlscy9pcGNzLmM6NjEwIHN5cy11dGlscy9pcGNzLmM6NjQzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1Mzcgc3lzLXV0aWxzL2xzaXBjLmM6NzI5IHN5cy11dGlscy9sc2lwYy5jOjg4OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgIklEICVkIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi5YWx5pyJ44Oh44Oi44Oq44K744Kw44Oh44Oz44OIIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIuODouODvOODiT0lI29cdOOCouOCr+OCu+OCueODkeODvOODn+ODg+OCt+ODp+ODsz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAi44K144Kk44K6PSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJieXRlcz0iCittc2dzdHIgIuODkOOCpOODiD0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx057WQ5ZCI5pWwPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLntZDlkIjml6XmmYI9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi5YiG6Zui5pel5pmCPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk5IHN5cy11dGlscy9pcGNzLmM6NjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIuWkieabtOaXpeaZgj0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi44Oh44OD44K744O844K444Kt44Ol44O8IG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx044Oi44O844OJPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3NpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJxc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIumAgeS/oeaXpeaZgj0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLlj5fkv6Hml6XmmYI9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi44K744Oe44OV44Kp6YWN5YiXIHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIuODouODvOODiT0lI28sIOOCouOCr+OCu+OCueODkeODvOODn+ODg+OCt+ODp+ODsz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInZhbHVlIgorbXNnc3RyICLlgKQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyDjgavlpLHmlZfjgZfjgb7jgZfjgZ/jgIIiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAo44OQ44Kk44OIKSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAo44Kt44Ot44OQ44Kk44OIKSA9ICIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTg0Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiaWZsYWcg44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA85Zue57ea5Yi25b6hPiA844OH44OQ44Kk44K5PlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAi44K344Oq44Ki44Or44Od44O844OI44Gr5Zue57ea5Yi25b6h44KS5Ymy44KK5b2T44Gm44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YaX6ZW344Gq44Oh44OD44K744O844K444KS5qiZ5rqW44Ko44Op44O85Ye65Yqb44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDzlgKQ+ICAgICAgICDjgrfjg6rjgqLjg6vjg53jg7zjg4jjga7lm57nt5rpgJ/luqbjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAg44Kt44Oj44Op44Kv44K/44K144Kk44K644KSIDcg44OT44OD44OI44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICDjgq3jg6Pjg6njgq/jgr/jgrXjgqTjgrrjgpIgOCDjg5Pjg4Pjg4jjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg44OR44Oq44OG44Kj5Yi25b6h44KSIFwi44Gq44GXXCIg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIOODkeODquODhuOCo+WItuW+oeOCkiBcIuWBtuaVsFwiIOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIOODkeODquODhuOCo+WItuW+oeOCkiBcIuWlh+aVsFwiIOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTUKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIOOCueODiOODg+ODl+ODk+ODg+ODiOOCkiAxIOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTYKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIOOCueODiOODg+ODl+ODk+ODg+ODiOOCkiAyIOOBq+ioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTcKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgLWksIC0taWZsYWcgWy1dPOODleODqeOCsD4g5YWl5Yqb44Oi44O844OJ44OV44Op44Kw44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5pei55+l44GuIDzlm57nt5rliLblvqE+IOWQjeensDpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLml6Lnn6Xjga4gPOODleODqeOCsD4g5ZCN56ewOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDQKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICLpgJ/luqblvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJQYXVzZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIuWbnue3muWItuW+oeOBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyDjga/jgrfjg6rjgqLjg6vlm57nt5rjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICIlcyDjga7nq6/mnKvlsZ7mgKfjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi6YCf5bqmICVkIOOBr+OCteODneODvOODiOOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiVzIOOBruerr+acq+WxnuaAp+OCkuioreWumuOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAiJXMg44Gr5pu444GN6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzMKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAi5Zue57ea5Yi25b6h44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICLjg4fjg7zjg6Ljg7PljJbjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIuiHquWLleOCr+ODquOCouODleODqeOCsOOCu+ODg+ODiCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIuWvvuixoeODh+ODkOOCpOOCueOBruijj+WBtOOBq+OBguOCi+ODleOCoeOCpOODqyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIuijj+WBtOOBq+OBguOCi+ODleOCoeOCpOODq+OBriBpbm9kZSDnlarlj7ciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAi6KOP5YG044Gr44GC44KL44OV44Kh44Kk44Or44Gu44Oh44K444Oj44O8OuODnuOCpOODiuODvOODh+ODkOOCpOOCueeVquWPtyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIuODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueWQjSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIuWni+eCueOBi+OCieOBruOCquODleOCu+ODg+ODiOS9jee9riIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICLjg5Hjg7zjg4jjgrnjgq3jg6Pjg7Pjg5Xjg6njgrDjgrvjg4Pjg4giCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjga7jgrXjgqTjgrrliLbpmZAgKOODkOOCpOODiCkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIuODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruODoeOCuOODo+ODvDrjg57jgqTjg4rjg7znlarlj7ciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAi6KuW55CG44K744Kv44K/44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwg44Kq44OV44K744OD44OIICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDEgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIOOCteOCpOOCuuWItumZkCAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwg5pqX5Y+35YyWICVzICjjgr/jgqTjg5cgJXUpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOWIh+OCiumbouOBl+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIFs844Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K5Pl1cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSAtZiB8IDzjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrk+IDzjg5XjgqHjgqTjg6s+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAi44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu6Kit5a6a44Go5Yi25b6h44KS6KGM44GE44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICDkvb/nlKjjgZfjgabjgYTjgovjgZnjgbnjgabjga7jg4fjg5DjgqTjgrnjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA844Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K5Pi4uLiAgICAgIDHjgaTku6XkuIrjga7jg4fjg5DjgqTjgrnjgpLliIfjgorpm6LjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAg5L2/55So44GX44Gm44GE44KL44GZ44G544Gm44Gu44OH44OQ44Kk44K544KS5YiH44KK6Zui44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICDkvb/jgaPjgabjgYTjgarjgYTmnIDliJ3jga7jg4fjg5DjgqTjgrnjgpLmpJzntKLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA844Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K5PiAgIOODh+ODkOOCpOOCueOBruOCteOCpOOCuuOCkuWkieabtOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAtaiwgLS1hc3NvY2lhdGVkIDzjg5XjgqHjgqTjg6s+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgPOODleOCoeOCpOODqz7jgavplqLpgKPjgZnjgovlhajjg4fjg5DjgqTjgrnkuIDopqfjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICDkvb/jgaPjgabjgYTjgarjgYTjg4fjg5DjgqTjgrnjgpLmpJzntKLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDznlarlj7c+ICAgIOODleOCoeOCpOODq+WGheOBriA855Wq5Y+3PiDjgafnpLrjgZXjgozjgZ/jgqrjg5Xjgrvjg4Pjg4jkvY3nva7jgYvjgonlp4vjgoHjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAtLXNpemVsaW1pdCA85pWw5YCkPiAgICAgICAg44OH44OQ44Kk44K55LiK44Gu44OV44Kh44Kk44Or44Gu44K144Kk44K644KSIDzmlbDlgKQ+IOODkOOCpOODiOOBvuOBp+OBq+WItumZkOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA844K144Kk44K6PiAgICDniannkIbjgYrjgojjgbPoq5bnkIbjgrvjgq/jgr/jgrXjgqTjgrpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+WMluOBleOCjOOBn+ODq+ODvOODl+ODkeODg+OCr+ODh+ODkOOCpOOCueOCkuS9nOaIkOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIOiqreOBv+i+vOOBv+WwgueUqOOBruODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTgKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiAgICAgLS1zaG93ICAgICAgICAgICAgIOioreWumuW+jOOBq+ODh+ODkOOCpOOCueWQjeOCkuihqOekuuOBl+OBvuOBmSAoLWYg44Go5YWx44Gr5L2/55So44GX44G+44GZKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAg5YaX6ZW344Oi44O844OJ44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAtLWxpc3Qg44Gu57WQ5p6c44KS54m544Gr5Yqg5bel44KS6KGM44KP44Ga44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg5YWo44Gm44CB44KC44GX44GP44Gv5oyH5a6a44GX44Gf44OH44OQ44Kk44K544Gu5oOF5aCx44KS5LiA6Kan44Gn6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI1Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIC0tbGlzdCDjga7lh7rlipvjgavjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjYKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgIC0tbGlzdCDjgafooajnpLrjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjcKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAtLWxpc3Qg44Gu57WQ5p6c44KS54m544Gr5Yqg5bel44KS6KGM44KP44Ga44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVzOiDorablkYo6IOODleOCoeOCpOODq+OBjCA1MTIg44OQ44Kk44OI44KI44KK44KC5bCP44GV44GE44K144Kk44K644Gn44GZ44CC44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gv5Yip55So44Gn44GN44Gq44GP44Gq44KL44GL44CB44KC44GX44GP44Gv44K344K544OG44Og44OE44O844Or44GL44KJ6KaL44GI44Gq44GP44Gq44Gj44Gm44GX44G+44GG5aC05ZCI44GM44GC44KK44G+44GZ44CCIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlczog6K2m5ZGKOiDjg5XjgqHjgqTjg6vjga8gNTEyIOODkOOCpOODiOOCu+OCr+OCv+OBq+WQiOiHtOOBl+OBquOBhOOBn+OCgeOAgeODleOCoeOCpOODq+OBrue1guOCj+OCiuOBruOBu+OBhuOBjOeEoeimluOBleOCjOOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIOOBryBscCDjg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlczog44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlczog44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAi5pyq5L2/55So44Gu44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544GM6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiDoo4/lgbTjgavoqK3lrprjgZnjgovjg5XjgqHjgqTjg6vjgpLkvb/nlKjjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsb2dpY2FsIGJsb2NrIHNpemUiCittc2dzdHIgIuOCteOCpOOCuuaDheWgseOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6IOODh+ODkOOCpOOCueOBruS9v+eUqOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODUKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIuODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgIuOCquODl+OCt+ODp+ODsyAlcyDjga/jg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjga7oqK3lrprmmYLjgavjga7jgb/mnInlirnjgafjgZkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIuOCquODl+OCt+ODp+ODsyAtLW9mZnNldCDjga/jgIHjgZPjga7lh6bnkIbjgafjga/liKnnlKjjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogc3RhdCDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzOiDjg4fjgqPjg6zjgq/jg4jjg6rjga7lpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiDjgrXjgqTjgrrjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1Cittc2dpZCAibm9uZSIKK21zZ3N0ciAi44Gq44GXIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NgorbXNnaWQgInBhcmEiCittc2dzdHIgIua6luS7ruaDs+WMliIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKK21zZ2lkICJmdWxsIgorbXNnc3RyICLlrozlhajku67mg7PljJYiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk4Cittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICLjgrPjg7Pjg4bjg4oiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIuawtOW5syIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCittc2dpZCAidmVydGljYWwiCittc2dzdHIgIuWeguebtCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICLoq5bnkIYgQ1BVIOeVquWPtyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAi6KuW55CG44Kz44Ki55Wq5Y+3IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIuirlueQhuOCveOCseODg+ODiOeVquWPtyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICLoq5bnkIYgTlVNQSDjg47jg7zjg4nnlarlj7ciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIuirlueQhuODluODg+OCr+eVquWPtyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAi6KuW55CG44Kz44Ki55Wq5Y+3IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICJDUFUg6ZaT44Gn44Gp44Gu44KI44GG44Gr44Kt44Oj44OD44K344Ol44GM5YWx5pyJ44GV44KM44KL44GL44Gu6KGo56S6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDEKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICLku67mg7Pjg4/jg7zjg4njgqbjgqfjgqLkuIrjgafjga4gQ1BVIOODh+OCo+OCueODkeODg+ODgeODouODvOODiSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiQ1BVIOOBrueJqeeQhuOCouODieODrOOCuSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICLjg4/jgqTjg5Hjg7zjg5DjgqTjgrbjgYwgQ1BVIOOCkuWJsuOCiuW9k+OBpuOBn+OBi+OBqeOBhuOBi+OBruihqOekuiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJMaW51eCDjgYwgQ1BVIOOCkuWIqeeUqOOBl+OBpuOBhOOCi+OBi+OBqeOBhuOBi+OBruihqOekuiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIkNQVSDjga7mnIDlpKcgTUh6IOOCkuihqOekuuOBl+OBvuOBmSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIkNQVSDjga7mnIDlsI8gTUh6IOOCkuihqOekuuOBl+OBvuOBmSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6Mzk5Cittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAi44Ko44Op44O8OiB1bmFtZSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiQ1BVIOeVquWPt+OBruWIpOWIpeOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAi44K344Kw44OK44Or44OP44Oz44OJ44Op44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICLjg47jg7zjg4nnlarlj7fjga7mir3lh7rjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIlkiCittc2dzdHIgIlkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyDkuIvoqJjjga/jgIHku5bjga7jg5fjg63jgrDjg6njg6DjgavmuKHjgZfjgablh6bnkIbjgZnjgovjgZPjgajjga7jgafjgY3jgovlvaLlvI/jgafjga7lh7rlipvjgafjgZnjgIJcbiIKKyIjIOWQhOihjOOBruWGkumgreOBq+OBr+OAgTDjgYvjgonlp4vjgb7jgovjg6bjg4vjg7zjgq/jgarnlarlj7fjgYzmm7jjgYvjgozjgabjgYTjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIuOCouODvOOCreODhuOCr+ODgeODozoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVSDmk43kvZzjg6Ljg7zjg4k6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAi44OQ44Kk44OI6aCG5bqPOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi44Kq44Oz44Op44Kk44Oz44Gr44Gq44Gj44Gm44GE44KLIENQVSDjga7jg57jgrnjgq86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIuOCquODs+ODqeOCpOODs+OBq+OBquOBo+OBpuOBhOOCiyBDUFUg44Gu44Oq44K544OIOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi44Kq44OV44Op44Kk44Oz44Gr44Gq44Gj44Gm44GE44KLIENQVSDjga7jg57jgrnjgq86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICLjgqrjg5Xjg6njgqTjg7PjgavjgarjgaPjgabjgYTjgosgQ1BVIOOBruODquOCueODiDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICLjgrPjgqLjgYLjgZ/jgorjga7jgrnjg6zjg4Pjg4nmlbA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAi44K944Kx44OD44OI44GC44Gf44KK44Gu44Kz44Ki5pWwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwOAorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIuODluODg+OCr+OBguOBn+OCiuOBruOCveOCseODg+ODiOaVsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTEKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTMKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAi44OW44OD44Kv5pWwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIuOCveOCseODg+ODiOaVsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOVU1BIOODjuODvOODieaVsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICLjg5njg7Pjg4Djg7wgSUQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCv+OCpOODlzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiQ1BVIOODleOCoeODn+ODquODvDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIuODouODh+ODqzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAi44Oi44OH44Or5ZCNOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNAorbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAi44K544OG44OD44OU44Oz44KwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzOAorIywgZnV6enkKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJDUFUg5pyA5bCPIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICJDUFUg5pyA5aSnIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSDmnIDlpKcgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIOacgOWwjyBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAi5Luu5oOz5YyWOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICLjg4/jgqTjg5Hjg7zjg5DjgqTjgrY6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU2Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICLjg4/jgqTjg5Hjg7zjg5DjgqTjgrbjga7jg5njg7Pjg4Djg7w6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIuS7ruaDs+WMluOCv+OCpOODlzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAi44OH44Kj44K544OR44OD44OB44Oi44O844OJOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NCBzeXMtdXRpbHMvbHNjcHUuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiJXMg44Kt44Oj44OD44K344OlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJOVU1BIOODjuODvOODiSAlZCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICLniannkIbjgrfjg6rjg7Pjg4DmlbAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICLniannkIbjgrfjg6rjg7Pjg4DmlbAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIueJqeeQhuOCu+OCr+OCv+OCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OAorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAi44OV44Op44KwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIkNQVeOCouODvOOCreODhuOCr+ODgeODo+OBq+OBpOOBhOOBpuOBruaDheWgseOCkuihqOekuuOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg44Kq44Oz44Op44Kk44Oz44GuIENQVSDjgajjgqrjg5Xjg6njgqTjg7Pjga4gQ1BVIOOCkuS4oeaWueihqOekuuOBl+OBvuOBmSAoLWUg44KS5oyH5a6a44GX44Gf5aC05ZCI44Gu5pei5a6a5YCkKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAg44Kq44Oz44Op44Kk44Oz44GuIENQVSDjga7jgb/jgpLooajnpLrjgZfjgb7jgZkgKC1wIOOCkuaMh+WumuOBl+OBn+WgtOWQiOOBruaXouWumuWApClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAg44Kq44OV44Op44Kk44Oz44GuIENQVSDjga7jgb/jgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOeJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz0844Oq44K544OIPl0g6Kqt44G/44KE44GZ44GE5ouh5by15b2i5byP44Gn6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICDjg5fjg63jgrDjg6njg6Djgarjganjgaflh6bnkIbjgZfjgoTjgZnjgYTlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAg5oyH5a6a44GX44Gf44OH44Kj44Os44Kv44OI44Oq44KS44K344K544OG44Og44Or44O844OI44Go44G/44Gq44GZ44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgQ1BVIOOCkuODquOCueODiOOBp+OBr+OBquOBjyAxNiDpgLLmlbDjga7jg57jgrnjgq/lvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg44GZ44G544Gm44Gu44OH44OQ44Kk44K544KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OTkgc3lzLXV0aWxzL2xzbWVtLmM6NjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIgorbXNnc3RyICLlvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IC0tYWxsLCAtLW9ubGluZSwgLS1vZmZsaW5lIOOBruWQhOODkeODqeODoeODvOOCv+OBr+OAgSAtLWV4dGVuZGVkIOOBiyAtLXBhcnNlIOOBruOCquODl+OCt+ODp+ODs+OBqOWFseOBq+S9v+eUqOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICLos4fmupDlkI0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAi44Kt44O8IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIuizh+a6kElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICLmiYDmnInogIUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorIywgZnV6enkKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAi44OQ44O844K444On44OzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIuODl+ODqeOCpOODnuODquOCsOODq+ODvOODlyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAi44Om44O844K2IElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVSUQiCittc2dzdHIgIlVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICLjg6bjg7zjgrbjg7zlkI0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICLjgrDjg6vjg7zjg5flkI0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAi44K544Ov44OD44OX6aCY5Z+f44Gu44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIuacgOe1guWkieabtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAi5L2/55So5riI44G/44Gu44OQ44Kk44OI5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICLjg5jjg4Pjg4nmlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAi44Oh44OD44K744O844K4IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICLliY3lm57jg63jgrDjgqTjg7Pjga7ml6Xku5giCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAi44OW44Ot44OD44Kv44K144Kk44K644KS5Y+W5b6XIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAi44OX44Ot44K744K544Gu5pyA5aSn5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAi54q25oWLIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIue1kOWQiCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICLliIbpm6IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAi44Kz44Oe44Oz44OJ44Gu44Kq44OX44K344On44Oz44KS6Kej5p6Q44GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIuS4jeato+OBquOCs+ODnuODs+ODieOBp+OBmSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIkNyZWF0b3IgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgIuODpuODvOOCtiBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICLjgrvjgq/jgr/mlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICLjgrvjg57jg5XjgqkgSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAi5pON5L2cICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICLos4fmupDlkI0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAi6LOH5rqQ5ZCNIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIuODquOCveODvOOCueioreWumiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICLjg5Xjg6njgrDjga7oqqzmmI4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44Gu5L2/55So546HIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICLkvb/jgYTmlrk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICDmjIflrprjgZfjgZ8gSUQg44Gu6LOH5rqQ44Gr44Gk44GE44Gm6Kmz57Sw44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICDlj6/oqq3mgKfjga7pq5jjgYTlvaLlvI/jgafjga/jgarjgY/jgIHjg5DjgqTjg4jljZjkvY3jgafjgrXjgqTjgrrjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAg5L2c5oiQ6ICF44Go5omA5pyJ6ICF44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOeJueOBq+WKoOW3peOCkuihjOOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg5LiA6Kan5b2i5byP44Gn5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAg57WQ5ZCI77yP5YiG6Zui77yP5aSJ5pu044Gu5ZCE5pel5pmC44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuS4gOiIrOeahOOBquOCquODl+OCt+ODp+ODszpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4ggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIOOCu+ODnuODleOCqVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICLjg4fjg7zjgr/jga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICLjg6bjg4vjg7zjgq/jgarjgrnjg4jjg6zjg7zjgrjorZjliKXlrZAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAi44K744Kv44K/5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAg44K744Oe44OV44KpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjga7mnIDlpKfjgqrjg7zjg5fjg7PmlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNgorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIuOCu+ODnuODleOCqeacgOWkp+WApCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAi44OY44OD44OJ5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICLjg6Hjg4Pjgrvjg7zjgrjjga7mnIDlpKfjgrXjgqTjgroiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIuOCreODpeODvOOBruaXouWumuacgOWkp+WApCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1CisjLCBmdXp6eQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiTGludXgg5LqI57SE6aCY5Z+fIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDcyCisjLCBmdXp6eQorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgIiIKKyJcbiIKKyLlhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4ggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICLlhbHmnInjg6Hjg6Ljg6ogSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICDlhbHmnInjg6Hjg6Ljg6rjgrvjgrDjg6Hjg7Pjg4hcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NQorIywgZnV6enkKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIOWFseacieODoeODouODquOCu+OCsOODoeODs+ODiFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiSUQg44Gu6Kej5p6Q44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBpcyByZW1vdmFibGUiCittc2dzdHIgIiDlj5bjgorlh7rjgZflj6/og70iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICLjg6Hjg6Ljg6rjgYzkuI3otrPjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorIywgZnV6enkKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAib25saW5lIgorbXNnc3RyICIsIOOCquODs+ODqeOCpOODsyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiwg44Kq44Oz44Op44Kk44OzIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjMKK21zZ2lkICJvbi0+b2ZmIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiTWVtb3J5IGJsb2NrIHNpemU6IgorbXNnc3RyICLjg5bjg63jg4Pjgq/jgrXjgqTjgrrjgpLlj5blvpciCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgIuWFseacieODoeODouODquOBruacgOWkp+WQiOioiOWApCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzI0IHN5cy11dGlscy9sc21lbS5jOjMzNworbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICIlcyDjga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorIywgZnV6enkKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgIuOBk+OBruOCt+OCueODhuODoOOBryBDUFUg44Gu5YaN44K544Kt44Oj44Oz44Gr5a++5b+c44GX44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOOBmeOBueOBpuOBruODh+ODkOOCpOOCueOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICB1c2UgdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIOaMh+WumuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquOCkuOCt+OCueODhuODoOODq+ODvOODiOOBqOOBv+OBquOBmeOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTEKK21zZ2lkICIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIC0tc3VtbWFyeSBhcmd1bWVudCIKK21zZ3N0ciAi5pyq5a++5b+c44Gu5byV5pWw44Gn44GZOiAlcyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjMzCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSDjgaggLS11c2VyIOOBruOCquODl+OCt+ODp+ODs+OBr+OAgeWQjOaZguOBq+S9v+eUqOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjY0IHN5cy11dGlscy9sc25zLmM6NzgxCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLlh7rlipvjg4bjg7zjg5bjg6vjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICLlh7rlipvjgqvjg6njg6Djga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIuijj+WBtOOBq+OBguOCi+ODleOCoeOCpOODq+OBriBpbm9kZSDnlarlj7ciCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwCittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjga7nirbmhYsiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi44Om44O844K244Gr44KI44Gj44Gm5a6f6KGM5Lit44Gu44OX44Ot44K744K55pWwIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA4Cittc2dpZCAibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDkKK21zZ2lkICJuc2ZzIG1vdW50cG9pbnQgKHVzdWFsbHkgdXNlZCBuZXR3b3JrIHN1YnN5c3RlbSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICLlh7rlipvlhYjjgbjjga7ooYzov73liqDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844Oh44OD44K744O844K4Pl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAi44Ot44O844Kr44Or44K344K544OG44Og44Gu44Ot44OD44Kv44KS6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA1CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICDjg43jg7zjg6Djgrnjg5rjg7zjgrnjgpLlj5blvpfjgZnjgovjg5fjg63jgrvjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIC9ldGMvbXRhYiDjgavmm7jjgY3ovrzjgb7jgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICLmnKrnn6Xjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5cgJyVzJyDjgafjgZkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNAorIywgZnV6enkKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIuOCquODl+OCt+ODp+ODsyAtLWZpbmQg44GvIDxkZXZpY2U+IOOBqOWQjOaZguOBq+aMh+WumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJQYXVzZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIlwiLS0lc1wiIOOCquODl+OCt+ODp+ODs+OCkuS9v+eUqOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSAo5a6f5Yq5IFVJRCDjga8gJXUg44Gn44GZKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njggc3lzLXV0aWxzL3Vtb3VudC5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICLjgZPjgozjgpLlrp/ooYzjgafjgY3jgovjga7jga8gcm9vdCDjgaDjgZHjgafjgZkgKOWun+WKuSBVSUQg44GvICV1IOOBp+OBmSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcyIHN5cy11dGlscy91bW91bnQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJcIi0tJXNcIiDjgqrjg5fjgrfjg6fjg7PjgpLkvb/nlKjjgafjgY3jgovjga7jga8gcm9vdCDjgaDjgZHjgafjgZkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjgKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgIuOBk+OCjOOCkuWun+ihjOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODQgc3lzLXV0aWxzL3Vtb3VudC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAibXRhYiDjga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MSBzeXMtdXRpbHMvdW1vdW50LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVzOiDnhKHoppbjgZfjgb7jgZfjgZ9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiJS0yNXM6IOaXouOBq+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMg44KSICVzIOOBq+enu+WLleOBl+OBvuOBl+OBn+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMg44GvICVzIOOBq+ODkOOCpOODs+ODieOBleOCjOOBvuOBl+OBn+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMg44GvICVzIOOBq+ODnuOCpuODs+ODiOOBleOCjOOBvuOBl+OBn+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiAlcyDkvJ3mkq3jg5Xjg6njgrDjgpLlpInmm7TjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIOOBq+OBryBTRUxpbnV4IOOBruODqeODmeODq+OBjOWQq+OBvuOCjOOBpuOBhOOBvuOBm+OCk+OAglxuIgorIiAgICAgICDjgZPjga7lh6bnkIbjgavjgojjgorjgIEgU0VMaW51eCDjga7mkK3ovInjgZXjgozjgZ/jg57jgrfjg7Pjgavjg6njg5njg6vjgpLlkKvjgb7jgarjgYTjg5XjgqHjgqTjg6tcbiIKKyIgICAgICAg44K344K544OG44Og44KS44Oe44Km44Oz44OI44GZ44KL44GT44Go44Gr44Gq44KK44G+44GZ44CC44Gd44Gu57WQ5p6c44CB5Yi26ZmQ5LiL44Gr44GC44KLXG4iCisiICAgICAgIOOCouODl+ODquOCseODvOOCt+ODp+ODs+OBjCBBVkMg44Oh44OD44K744O844K444KS55Sf5oiQ44GX44CB44GT44Gu44OV44Kh44Kk44Or44K344K544OG44Og5YaF44GrXG4iCisiICAgICAgIOWtmOWcqOOBmeOCi+ODleOCoeOCpOODq+OBq+OCouOCr+OCu+OCueOBp+OBjeOBquOBhOWPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAguips+OBl+OBhOaDheWgseOBq1xuIgorIiAgICAgICDjgaTjgYTjgabjga/jgIEgcmVzdG9yZWNvbig4KSDjgYrjgojjgbMgbW91bnQoOCkg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMwNyBzeXMtdXRpbHMvdW1vdW50LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiDop6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAi5pyq5a++5b+c44Gu44Kq44OX44K344On44Oz5b2i5byP44Gn44GZOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgIuOCquODl+OCt+ODp+ODsyAnJXMnIOOCkui/veWKoOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW+OCquODl+OCt+ODp+ODs11cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSBbLS1zb3VyY2VdIDzjgr3jg7zjgrk+IHwgWy0tdGFyZ2V0XSA844OH44Kj44Os44Kv44OI44OqPlxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIDzjgr3jg7zjgrk+IDzjg4fjgqPjg6zjgq/jg4jjg6o+XG4iCisiICUxJHMgPOaTjeS9nD4gPOODnuOCpuODs+ODiOODneOCpOODs+ODiD4gWzzjgr/jg7zjgrLjg4Pjg4g+XVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKKyMsIGZ1enp5Cittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLjgZnjgbnjgabjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLmpJzmn7vjgZfjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBmc3RhYiDjgavoqK3lrprjgZXjgozjgZ/jgZnjgbnjgabjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAg44OR44K544KS5q2j6KaP5YyW44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIOWun+mam+OBq+OBryBtb3VudCgyKSDlh6bnkIbjgpLooYzjgo/jgZrjgIHjganjga7jgojjgYbjgapcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAg5Yem55CG44Gr44Gq44KL44Gu44GL44Gg44GR44KS6KGo56S644GX44G+44GZXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIOWQhOODh+ODkOOCpOOCueOBruODnuOCpuODs+ODiOWHpueQhuOCkiBmb3JrIOOBl+OBpuihjOOBhOOBvuOBmSAoLWEg44Go5L2155So44GX44G+44GZKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICAvZXRjL2ZzdGFiIOOBruS7o+abv+OBqOOBquOCi+ODleOCoeOCpOODq+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgdW1vdW50Ljzjgr/jgqTjg5c+IOOBruODmOODq+ODkeODvOOCkuWRvOOBs+WHuuOBleOBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIOOCteOCpOOCuuOCkuODkOOCpOODiOWNmOS9jeOBp+ihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIC9ldGMvbXRhYiDjgavmm7jjgY3ovrzjgb7jgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vcHRpb25zIDzjg6rjgrnjg4g+ICDjgqvjg7Pjg57ljLrliIfjgorjgafjg57jgqbjg7Pjg4jjgqrjg5fjgrfjg6fjg7PjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDzjg6rjgrnjg4g+IOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuaMh+WumuOBl+OBvuOBmSAoLWEg44Go5L2155So44GX44G+44GZKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLoqq3jgb/ovrzjgb/lsILnlKjjgafjg57jgqbjg7Pjg4jjgZfjgb7jgZkgKC1vIHJvIOOBqOWQjOOBmOWLleS9nOOBp+OBmSlcbiIKKyIgLXQsIC0tdHlwZXMgPOODquOCueODiD4gICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gu56iu6aGe44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICDjg57jgqbjg7Pjg4jlhYPjgpLmmI7npLrnmoTjgavmjIflrprjgZfjgb7jgZkgKOODkeOCuSwg44Op44OZ44OrLCB1dWlkIOOBruOBhOOBmuOCjOOBiylcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAg44Oe44Km44Oz44OI44Od44Kk44Oz44OI44KS5piO56S655qE44Gr5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyLjg57jgqbjg7Pjg4jlhYPjga7mjIflrpo6XG4iCisiIC1MLCAtLWxhYmVsIDzjg6njg5njg6s+ICAgIExBQkVMPTzjg6njg5njg6s+IOOBqOWQjOOBmOaEj+WRs+OBp+OBmVxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBVVUlEPTx1dWlkPiDjgajlkIzjgZjmhI/lkbPjgafjgZlcbiIKKyIgTEFCRUw9POODqeODmeODqz4gICAgICAgICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gu44Op44OZ44Or44Gn6K2Y5Yil44GX44G+44GZXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOBriBVVUlEIOOBp+itmOWIpeOBl+OBvuOBmVxuIgorIiBQQVJUTEFCRUw9POODqeODmeODqz4gICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jg6njg5njg6vjgaforZjliKXjgZfjgb7jgZlcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44GuIFVVSUQg44Gn6K2Y5Yil44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPOODh+ODkOOCpOOCuT4gICAgICAgICAgICAgIOODh+ODkOOCpOOCueODkeOCueOBp+itmOWIpeOBl+OBvuOBmVxuIgorIiA844OH44Kj44Os44Kv44OI44OqPiAgICAgICAgICDjg5DjgqTjg7Pjg4njg57jgqbjg7Pjg4jnlKjjga7jg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgpLmjIflrprjgZfjgb7jgZkgKC0tYmluZC9yYmluZCDjgpLlj4LnhacpXG4iCisiIDzjg5XjgqHjgqTjg6s+ICAgICAgICAgICAgICDjg6vjg7zjg5fjg5Djg4Pjgq/jg57jgqbjg7Pjg4jnlKjjga7jg5XjgqHjgqTjg6vjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIuaTjeS9nDpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAg44K144OW44OE44Oq44O844KS5Yil44Gu5aC05omA44Gr44Oe44Km44Oz44OI44GX44G+44GZICgtbyBiaW5kIOOBqOWQjOOBmOWLleS9nOOBp+OBmSlcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAg44K144OW44OE44Oq44O844KS5Yil44Gu5aC05omA44Gr56e75YuV44GX44G+44GZXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIOOCteODluODhOODquODvOOBqOOBmeOBueOBpuOBruOCteODluODnuOCpuODs+ODiOOCkuWIpeOBruWgtOaJgOOBq+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAg44K144OW44OE44Oq44O844KS5YWx5pyJ44Go44GX44Gm44Oe44O844Kv44GX44G+44GZXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIOOCteODluODhOODquODvOOCkuOCueODrOODvOODluOBqOOBl+OBpuODnuODvOOCr+OBl+OBvuOBmVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICDjgrXjg5bjg4Tjg6rjg7zjgpLjg5fjg6njgqTjg5njg7zjg4jjgajjgZfjgabjg57jg7zjgq/jgZfjgb7jgZlcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAg44K144OW44OE44Oq44O844KS44OQ44Kk44Oz44OJ5LiN5Y+v6IO944Go44GX44Gm44Oe44O844Kv44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICDjgrXjg5bjg4Tjg6rjg7zlhajkvZPjgpLlho3luLDnmoTjgavlhbHmnInjgajjgZfjgabjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAg44K144OW44OE44Oq44O85YWo5L2T44KS5YaN5biw55qE44Gr44K544Os44O844OW44Go44GX44Gm44Oe44Km44Oz44OI44GX44G+44GZXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIOOCteODluODhOODquODvOWFqOS9k+OCkuWGjeW4sOeahOOBq+ODl+ODqeOCpOODmeODvOODiOOBqOOBl+OBpuODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICDjgrXjg5bjg4Tjg6rjg7zlhajkvZPjgpLlho3luLDnmoTjgavjg5DjgqTjg7Pjg4nkuI3lj6/og73jgajjgZfjgabjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTQ0IHN5cy11dGlscy91bW91bnQuYzo0NDgKK21zZ2lkICJsaWJtb3VudCBjb250ZXh0IGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJsaWJtb3VudCDjga7jgrPjg7Pjg4bjgq3jgrnjg4jkvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgIuOCquODl+OCt+ODp+ODs+ODkeOCv+ODvOODs+OBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU3CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiVzIOOBr+ikh+aVsOODreOCsOOCpOODs+OBl+OBpuOBhOOBvuOBmTsgJXMg44Gr5pu444GN6L6844G/44G+44GZIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIzCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44Oq44GM44Oe44Km44Oz44OI44Od44Kk44Oz44OI44GL44Gp44GG44GL56K66KqN44GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIOmdmeWvguODouODvOODieOCkuaMh+WumuOBl+OBvuOBmSAtIOS9leOCguWHuuWKm+OBl+OBvuOBm+OCk1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gu44Oh44K444Oj44O8OuODnuOCpOODiuODvOODh+ODkOOCpOOCueeVquWPt+OCkuihqOekuuOBl+OBvuOBmVxuIgorIiAteCwgLS1kZXZubyAgICAgICAg44OW44Ot44OD44Kv44OH44OQ44Kk44K544Gu44Oh44K444Oj44O8OuODnuOCpOODiuODvOODh+ODkOOCpOOCueeVquWPt+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIOOBr+ODnuOCpuODs+ODiOODneOCpOODs+ODiOOBp+OBr+OBguOCiuOBvuOBm+OCk1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMg44Gv44Oe44Km44Oz44OI44Od44Kk44Oz44OI44Gn44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5fjg63jgrDjg6njg6A+IFvlvJXmlbAgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZW50ZXIgYWxsIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOOBmeOBueOBpuOBruODh+ODkOOCpOOCueOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICDjg43jg7zjg6Djgrnjg5rjg7zjgrnjgpLlj5blvpfjgZnjgovjg5fjg63jgrvjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgIOODnuOCpuODs+ODiOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0cyAgICAgICAgIFVUUyDjg43jg7zjg6Djgrnjg5rjg7zjgrkgKOODm+OCueODiOWQjeOBquOBqSkg44Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgU3lzdGVtIFYgSVBDIOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICDjg43jg4Pjg4jjg6/jg7zjgq/jg43jg7zjg6Djgrnjg5rjg7zjgrnjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBQSUQg44ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnQgICAgICAg44Oe44Km44Oz44OI44ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXIgICAgICAgIOODpuODvOOCtuODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgICAg44Om44O844K244ON44O844Og44K544Oa44O844K544Gn44GuIHVpZCDjgpLjgrvjg4Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgICAgIOODpuODvOOCtuODjeODvOODoOOCueODmuODvOOCueOBriBnaWQg44KS44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDzjg4fjgqPjg6zjgq/jg4jjg6o+IOaMh+WumuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquOCkuODq+ODvOODiOOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC13LCAtLXdkICAgIFs9PGRpcj5dICAgICAg5L2c5qWt55So44Gu44OH44Kj44Os44Kv44OI44Oq44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgIDzjg5fjg63jgrDjg6njg6A+IOOCkui1t+WLleOBmeOCi+mam+OAgSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yayDjgZvjgZrjgavlrp/ooYzjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIlcyDlkJHjgZHjga7jg5XjgqHjgqTjg6vlkI3jgoLjgIHjgr/jg7zjgrLjg4Pjg4jjga4gUElEIOOCguaMh+WumuOBleOCjOOBpuOBhOOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJ1aWQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgImdpZCDjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICLmlrDjgZfjgYQgc2VsaW51eCDjgrPjg7Pjg4bjgq3jgrnjg4jjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICLjg5Hjg7zjgr3jg4rjg6rjg4bjgqPjgpIgJXMg44Gr6Kit5a6a44GZ44KL5Yem55CG44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM2MQorIywgZnV6enkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1hbGwiCittc2dzdHIgIiVzIOOBr+ikh+aVsOODreOCsOOCpOODs+OBl+OBpuOBhOOBvuOBmTsgJXMg44Gr5pu444GN6L6844G/44G+44GZIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgIuODjeODvOODoOOCueODmuODvOOCuSAnJXMnIOOBruWGjeWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICLkvZzmpa3nlKjjga7jg4fjgqPjg6zjgq/jg4jjg6rjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQ4Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIuODq+ODvOODiOODleOCoeOCpOODq+iomOi/sOWtkOOBq+OCiOOCi+ODh+OCo+ODrOOCr+ODiOODquWkieabtOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NTEKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaHJvb3Qg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ2MQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAi5L2c5qWt55So44Gu44OH44Kj44Os44Kv44OI44Oq44Gu44OV44Kh44Kk44Or6KiY6L+w5a2Q44Gr44KI44KL44CB44OH44Kj44Os44Kv44OI44Oq5aSJ5pu044Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSDmlrDjgZfjgYTjg6vjg7zjg4gg5Y+k44GE44Or44O844OI44Gu56e75YuV5YWIXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOBruODq+ODvOODiCIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIuODq+ODvOODiOODh+OCo+ODrOOCr+ODiOODquOCkiBgJXMnIOOBi+OCiSBgJXMnIOOBq+WkieabtOOBmeOCi+WHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIuOCouODieODrOOCuemgmOWfn+OBruWItumZkCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAi44Kz44Ki44OV44Kh44Kk44Or44Gu5pyA5aSn44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIkNQVSDmmYLplpMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICLnp5IiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICLmnIDlpKfjg4fjg7zjgr/jgrXjgqTjgroiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICLmnIDlpKfjg5XjgqHjgqTjg6vjgrXjgqTjgroiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAi5L+d5oyB5Y+v6IO944Gq5pyA5aSn44OV44Kh44Kk44Or44Ot44OD44Kv5pWwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICLjg5bjg63jg4Pjgq8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICLmnIDlpKfjg63jg4Pjgq/jgqTjg7Pjg6Hjg6Ljg6rjgqLjg4njg6zjgrnpoJjln58iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiUE9TSVgg44Oh44OD44K744O844K444Kt44Ol44O844Gu5pyA5aSn44OQ44Kk44OI5pWwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICLoqLHlj6/jgZXjgozjgovmnIDkuIrkvY3jga4gbmljZSDlhKrlhYjpoIbkvY0iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIuODleOCoeOCpOODq+OBruacgOWkp+OCquODvOODl+ODs+aVsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAi44OV44Kh44Kk44OrICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIuODl+ODreOCu+OCueOBruacgOWkp+aVsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn44Gu5bi46aeQ44K744OD44OI44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAi5pyA5LiK5L2N44Gu44Oq44Ki44Or44K/44Kk44Og5YSq5YWI6aCG5L2NIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICLjg6rjgqLjg6vjgr/jgqTjg6Djgr/jgrnjgq/jga7liLbpmZDmmYLplpMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIuODnuOCpOOCr+ODreenkiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICLpgYXlu7bjgrfjgrDjg4rjg6vjga7mnIDlpKfmlbAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn44K544K/44OD44Kv44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIuizh+a6kOWQjSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi44Oq44K944O844K56Kit5a6aIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIuOCveODleODiOODquODn+ODg+ODiCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAi44OP44O844OJ44Oq44Of44OD44OIICjkuIrpmZApIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICLljZjkvY0iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFstcCBQSURdXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10g44Kz44Oe44Oz44OJXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAg6LOH5rqQ44Gu5Yi26ZmQ5YCk44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuS4gOiIrOeahOOBquOCquODl+OCt+ODp+ODszpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIOODl+ODreOCu+OCuSBJRCDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICDlh7rlipvjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICDliqDlt6XjgpLooYzjgarjgo/jgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICDlhpfplbfjgarlh7rlipvjgpLooYzjgYTjgb7jgZlcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLos4fmupDjgqrjg5fjgrfjg6fjg7M6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICDkvZzmiJDjgafjgY3jgovjgrPjgqLjg5XjgqHjgqTjg6vjga7mnIDlpKfjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICDjg5fjg63jgrvjgrnjga7jg4fjg7zjgr/jgrvjgrDjg6Hjg7Pjg4jjga7mnIDlpKfjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICDoqLHlj6/jgZXjgozjgovmnIDkuIrkvY3jga4gbmljZSDlhKrlhYjpoIbkvY3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICDjg5fjg63jgrvjgrnjgYzmm7jjgY3ovrzjgoDjgZPjgajjga7jgafjgY3jgovmnIDlpKfjg5XjgqHjgqTjg6vjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICDpgYXlu7bjgrfjgrDjg4rjg6vjga7mnIDlpKfmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICDjg5fjg63jgrvjgrnjgYzjg63jg4Pjgq/jgafjgY3jgovmnIDlpKfjga7jg6Hjg6Ljg6rjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICDmnIDlpKfluLjpp5Djgrvjg4Pjg4jjgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICDplovjgY/jgZPjgajjga7jgafjgY3jgovmnIDlpKfjg5XjgqHjgqTjg6vmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBQT1NJWCDjg6Hjg4Pjgrvjg7zjgrjjgq3jg6Xjg7zjga7mnIDlpKfjg5DjgqTjg4jmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICDmnIDkuIrkvY3jga7jg6rjgqLjg6vjgr/jgqTjg6DjgrnjgrHjgrjjg6Xjg7zjg6vlhKrlhYjpoIbkvY3jgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICDmnIDlpKfjgrnjgr/jg4Pjgq/jgrXjgqTjgrrjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBDUFUg5pmC6ZaT44Gu5pyA5aSn5YCk44KS56eS5Y2Y5L2N44Gn5oyH5a6a44GX44G+44GZXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAg44Om44O844K244OX44Ot44K744K544Gu5pyA5aSn5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAg5Luu5oOz44Oh44Oi44Oq44Gu44K144Kk44K644KS5oyH5a6a44GX44G+44GZXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAg44OV44Kh44Kk44Or44Ot44OD44Kv5pWw44Gu5pyA5aSn5YCk44KS5oyH5a6a44GX44G+44GZXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAg44Oq44Ki44Or44K/44Kk44Og44K544Kx44K444Ol44O844Or55Kw5aKD44Gn44CB44OX44Ot44K744K544Gr5Ymy44KK5b2T44Gm44KL5pyA5aSn44GuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgQ1BVIOaZgumWk+OCkuODnuOCpOOCr+ODreenkuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIuWItumZkOOBquOBlyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIuWPpOOBhCAlcyDliLbpmZDjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIiVzIOOBruOCveODleODiOODquODn+ODg+ODiOWApOOBr+OAgeODj+ODvOODieODquODn+ODg+ODiOOBruWApOOCiOOCiuWkp+OBjeOBj+OBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIuaWsOOBl+OBhCAlcyDjg6rjg5/jg4Pjg4g6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzIOizh+a6kOODquODn+ODg+ODiOOBruioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzIOizh+a6kOODquODn+ODg+ODiOOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICIlcyDjg6rjg5/jg4Pjg4jjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg0Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgLS1waWQg44Gv5LiA5bqm44Gg44GR5oyH5a6a44Gn44GN44G+44GZIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1waWQg44Go44Kz44Oe44Oz44OJ44Gv5ZCM5pmC44Gr5oyH5a6a44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIOOCq+ODvOODjeODq+ODoeODg+OCu+ODvOOCuOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDzjg57jg4Pjg5fjg5XjgqHjgqTjg6s+ICjml6LlrprlgKQ6IFwiJXNcIiDjgYrjgojjgbNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA844OX44Ot44OV44Kh44Kk44OrPiAo5pei5a6a5YCkOiAgXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA85LmX5pWwPiAgIOODl+ODreODleOCoeOCpOODq+aZguOBruS5l+aVsOOCkiA85LmX5pWwPiDjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOOCteODs+ODl+ODquODs+OCsOOCueODhuODg+ODl+OBq+mWouOBmeOCi+aDheWgseOBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YaX6ZW344Gq44OH44O844K/5Ye65Yqb44KS6KGM44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgMCDjgafjgYLjgovpoIXnm67jgpLlkKvjgoHjgIHjgZnjgbnjgabjga7jgrfjg7Pjg5zjg6vjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICDlgIvliKXjga7jg5Ljgrnjg4jjgrDjg6njg6Djg7vjg5Pjg7Pjgqvjgqbjg7Pjg4jjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCittc2dpZCAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCittc2dzdHIgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIOmWouaVsOWGheOBp+WAi+WIpeOBruOCq+OCpuODs+OCv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIOOBmeOBueOBpuOBruOCq+OCpuODs+OCv+OCkuODquOCu+ODg+ODiOOBl+OBvuOBmSAocm9vdCDjga7jgb8pXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICDjg5DjgqTjg4jpoIbluo/jga7oh6rli5XmpJzlh7rjgpLnhKHlirnljJbjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgIiVzIOOBuOOBruabuOOBjei+vOOBv+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcwCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAi44OQ44Kk44OI6aCG5bqP44GM6YCG44Gn44GC44KL44KC44Gu44Go5Luu5a6a44GX44G+44GZ44CCIC1uIOOCkuS9v+eUqOOBmeOCi+OBqOOAgeODjeOCpOODhuOCo+ODluOBquODkOOCpOODiOmghuW6j+OBq+ioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICLjgrXjg7Pjg5fjg6rjg7PjgrDjgrnjg4bjg4Pjg5c6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiDjg57jg4Pjg5fjg5XjgqHjgqTjg6vjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiVzIOWGheOBqyBcIl9zdGV4dFwiIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICLjg5fjg63jg5XjgqHjgqTjg6vjga7jgqLjg4njg6zjgrnjgYznr4Tlm7LlpJbjgavjgarjgaPjgabjgYTjgb7jgZnjgILjg57jg4Pjg5fjg5XjgqHjgqTjg6vjgYzplpPpgZXjgaPjgabjgYTjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZnjgIIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICLlkIjoqIgiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIuODl+ODreOCu+OCuSBJRCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAi44OX44Ot44K744K544Kw44Or44O844OXIElEIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLW5dIDzlhKrlhYjpoIbkvY0+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDzlhKrlhYjpoIbkvY0+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA85YSq5YWI6aCG5L2NPiAgLXV8LS11c2VyIDzjg6bjg7zjgrY+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA85pWw5YCkPiAgICAgICAg44K344Oq44Oz44OA5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1pLCAtLWlkICAgICAgICAgICAgICAgIOODl+ODreOCu+OCuSBJRCDjgavjgaTjgYTjgabjgoLjg63jgrDjgpLoqJjpjLLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIOODjeODvOODoOOCueODmuODvOOCueOCkuWPluW+l+OBmeOCi+ODl+ODreOCu+OCueOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICIlZCAoJXMpIOOBruWEquWFiOmghuS9jeOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIiVkICglcykg44Gu5YSq5YWI6aCG5L2N44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKSDlvpPmnaXjga7lhKrlhYjpoIbkvY3jga8gJWQg44GnLCDmlrDjgZfjgYTlhKrlhYjpoIbkvY3jga8gJWQg44Gn44GZXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAiSUQg44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIuS4jeaYjuOBquODpuODvOOCtiAlcyDjgafjgZkiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAi5Yi26ZmQ5pmC6ZaT44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIuOCq+ODvOODjeODq+WGhemDqOODh+ODkOOCpOOCueWQjSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAi44OH44OQ44Kk44K56K2Y5Yil5a2QIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi44Oq44K944O844K56Kit5a6aIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAi44Ot44OD44Kv44Gu44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBoYXJkd2FyZSBibG9jayIKK21zZ3N0ciAiIC11LCAtLXN1bW1hcnkgICAgIOeKtuaFi+OBruamguimgeOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IG5vbi1ibG9ja2luZyAlcyIKK21zZ3N0ciAiJXMg44KS44Ot44OD44Kv44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiJXMg44Gu5Yem55CG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzEzCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgaWRlbnRpZmllciIKK21zZ3N0ciAi44OH44OQ44Kk44K56K2Y5Yil5a2QIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAi44Ot44OD44KvIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICLjg63jg4Pjgq8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLjg4fjgqPjgrnjgq/orZjliKXlrZA6ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gWzzjg4fjg5DjgqTjgrk+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorbXNnaWQgIiBoZWxwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2QIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2QIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAi44OH44Kj44K544Kv6K2Y5Yil5a2QIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIOiqv+aVtOODleOCoeOCpOODq+OBi+OCieOCr+ODreODg+OCr+ODouODvOODieOCkuiqreOBv+i+vOOBv+OBvuOBmSAo5pei5a6a5YCkKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA844OV44Kh44Kk44OrPiDoqr/mlbTjg5XjgqHjgqTjg6vjga7jg5HjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAg5pei5a6a5YCkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIOW+qeW4sOOBmeOCi+aZguWIu+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiAtZCwgLS1kZXZpY2UgPOODh+ODkOOCpOOCuT4gUlRDIOODh+ODkOOCpOOCueOCkuaMh+WumuOBl+OBvuOBmSAocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICDlrp/pmpvjga7jgrXjgrnjg5rjg7Pjg4nlh6bnkIbku6XlpJbjga7jgZnjgbnjgabjgpLooYzjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIOOBjOODreODvOOCq+ODq+aZguWIu+OBq+OBquOBo+OBpuOBhOOCi+OCguOBruOBqOOBv+OBquOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPOODouODvOODiT4gICAgICBzdGFuZGJ5fG1lbXwuLi4g44K544Oq44O844OX44Gu44Oi44O844OJ44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDznp5I+ICAgICAgIOOCueODquODvOODl+OBmeOCi+enkuaVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAg5b6p5biw44GZ44KL5pmC5Yi744KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE2Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMg44GMIFVUQyDjgavjgarjgaPjgabjgYTjgovjgoLjga7jgajjgb/jgarjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTcKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDlhpfplbfjgarjg6Hjg4Pjgrvjg7zjgrjjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiUlRDIOOBruaZguWIu+iqreOBv+WHuuOBl+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi44K344K544OG44Og5pmC5Yi744Gu6Kqt44G/5Ye644GX44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJSVEMg5pmC5Yi744Gu5aSJ5o+b44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgIlJUQyDlvqnluLDjgqLjg6njg7zjg6Djga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgImRpc2NhcmQg44Ki44Op44Kk44Oh44Oz44OI44Kq44OV44K744OD44OIIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiVzIOOBp+S6iOacn+OBl+OBquOBhOODleOCoeOCpOODq+OBrue1guerr+OBjOimi+OBpOOBi+OCiuOBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgIlJUQyDjgqLjg6njg7zjg6Djga7oqq3jgb/ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAi44Ki44Op44O844OgOiBPRkZcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNTYKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICLoh6rlm73jga7lpInmj5vjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIuOCouODqeODvOODoDogT04gICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICIlcyDjgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIuacquefpeOBruOCteOCueODmuODs+ODieeKtuaFiyAnJXMnIOOBp+OBmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIuenkuaVsOOBruaMh+WumuOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgIuaZguWIu+OBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IFJUQyDjgYwgVVRDIOOCkuS9v+eUqOOBl+OBpuOBhOOCi+OCguOBruOBqOS7ruWumuOBl+OBvuOBmSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVVRDIOOCkuS9v+eUqOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIuODreODvOOCq+ODq+aZguWIu+OCkuS9v+eUqOOBl+OBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAi5b6p5biw5pmC5Yi744KS5oyH5a6a44GX44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KTICgtdCDjgYrjgojjgbMgLXMg44Kq44OX44K344On44Oz44Gn5oyH5a6a44Gn44GN44G+44GZKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIOOBr+W+qeW4sOOCpOODmeODs+ODiOOBqOOBl+OBpuacieWKueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICLjgqLjg6njg7zjg6AgJWxkLCDjgrfjgrnjg4bjg6DmmYLliLsgJWxkLCBSVEMg5pmC5Yi7ICVsZCwg56eS5pWwICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAi54++5Zyo44KI44KK44KC5YmN44Gu5pmC5Yi7ICglcykg44Gr6Kit5a6a44GZ44KL44GT44Go44Gv44Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlMSRzOiAlMyRzIOOBq+OBguOCiyAlMiRzIOOCkuWIqeeUqOOBl+OBpuW+qeW4sOOBl+OBvuOBmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJTEkczogJTQkcyDjgavjgYLjgosgJTMkcyDjgpLliKnnlKjjgZfjgabjgIEgXCIlMiRzXCIg44GL44KJ5b6p5biw44GX44G+44GZIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIuOCteOCueODmuODs+ODieODouODvOODiTogbm87IOe1guS6huOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIuOCteOCueODmuODs+ODieODouODvOODiTogb2ZmOyAlcyDjgpLlrp/ooYzjgZfjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAi44K144K544Oa44Oz44OJ44Oi44O844OJOiBvbjsgUlRDIOOCkuiqreOBv+i+vOOCk+OBp+OBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAiUlRDIOOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAi44K144K544Oa44Oz44OJ44Oi44O844OJOiDnhKHlirk7IOOCouODqeODvOODoOOCkueEoeWKueOBq+OBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAi44K144K544Oa44Oz44OJ44Oi44O844OJOiBzaG93OyDjgqLjg6njg7zjg6Dmg4XloLHjgpLooajnpLrjgZfjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAi44K144K544Oa44Oz44OJ44Oi44O844OJOiAlczsg44K344K544OG44Og44KS44K144K544Oa44Oz44OJ54q25oWL44Gr56e76KGM44GX44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiUlRDIOOCouODqeODvOODoOWJsuOCiui+vOOBv+OBrueEoeWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIiVzIOOCkuacieWKueOBq+OBl+OBpuOBhOOBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5fjg63jgrDjg6njg6A+IFvlvJXmlbAgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk4Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgQUREUl9MSU1JVF8zMkJJVCDjgpLmnInlirnjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICDplqLmlbDjg53jgqTjg7Pjgr/jgYzjg4fjgqPjgrnjgq/jg6rjg5fjgr/jgpLmjIfjgZnjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgU0hPUlRfSU5PREUg44KS5pyJ5Yq544Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQg5Luu5oOz44Oh44Oi44Oq44Gu5Ymy44KK5b2T44Gm5pa55rOV44KS5aSJ5pu044GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICDku67mg7PjgqLjg4njg6zjgrnpoJjln5/jga7kubHmlbDljJbjgpLnhKHlirnjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICBXSE9MRV9TRUNPTkRTIOOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgU1RJQ0tZX1RJTUVPVVRTIOOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICBSRUFEX0lNUExJRVNfRVhFQyDjgpLmnInlirnjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgTU1BUF9QQUdFX1pFUk8g44KS5pyJ5Yq544Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIOS9v+eUqOOBmeOCi+OCouODieODrOOCuemgmOWfn+OCkuOAgeacgOWkpyAzIEdCIOOBvuOBp+OBq+WItumZkOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICDnhKHoppbjgZXjgozjgb7jgZkgKOW+jOaWueS6kuaPm+aAp+OBrueiuuS/neOBruOBn+OCgeOBq+eUqOaEj+OBleOCjOOBpuOBhOOBvuOBmSlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICBVTkFNRTI2IOOCkuacieWKueOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLooajnpLrjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICDoqK3lrprlj6/og73jgarjgqLjg7zjgq3jg4bjgq/jg4Hjg6PjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczog6KqN6K2Y44Gn44GN44Gq44GE44Ki44O844Kt44OG44Kv44OB44Oj44Gn44GZIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICIlcyDjgavlr77jgZnjgovliLbpmZDmmYLplpPjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIuW8leaVsOOBjOS4jei2s+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi44OR44O844K944OK44Oq44OG44Kj44KSICVzIOOBq+ioreWumuOBmeOCi+WHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAi6KqN6K2Y44Gn44GN44Gq44GE44Kq44OX44K344On44OzICclYycg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2OAorIywgZnV6enkKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLjgqLjg7zjgq3jg4bjgq/jg4Hjg6M6IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi44OR44O844K944OK44Oq44OG44Kj44KSICVzIOOBq+ioreWumuOBmeOCi+WHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJkYXRlIOOCs+ODnuODs+ODieOCkueZuuihjOOBl+OBpuOBhOOBvuOBmTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844OX44Ot44Kw44Op44OgPiBbPOW8leaVsD4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExOQorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAg54++5Zyo44Gu54q25oWL44KS6KGo56S644GX44G+44GZICjkvZXjgoLooYzjgYTjgb7jgZvjgpMpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICDmlrDjgZfjgYTmqKnpmZDjga7oqLHlj6/jgpLnpoHmraLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICDntpnmib/lj6/og73jgarjgrHjg7zjg5Hjg5Pjg6rjg4bjgqMgKGNhcGFiaWxpdHkpIOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorIywgZnV6enkKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICDntpnmib/lj6/og73jgarjgrHjg7zjg5Hjg5Pjg6rjg4bjgqMgKGNhcGFiaWxpdHkpIOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNgorIywgZnV6enkKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgIOOCseODvOODkeODk+ODquODhuOCoyAoY2FwYWJpbGl0eSkg44Gu44OQ44Km44Oz44OH44Kj44Oz44Kw44K744OD44OI44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAg5a6f6Zqb44GuIFVJRCDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgIOWun+WKuSBVSUQg44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAg5a6f6Zqb44GuIEdJRCDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIOWun+WKuSBHSUQg44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICDlrp/pmpvjga4gVUlEIOOBqOWun+WKuSBVSUQg44Gu5Lih5pa544KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICDlrp/pmpvjga4gR0lEIOOBqOWun+WKuSBHSUQg44Gu5Lih5pa544KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICDoo5zliqnjgrDjg6vjg7zjg5fjgpLmtojljrvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAg6KOc5Yqp44Kw44Or44O844OX44KS57at5oyB44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM1CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIOijnOWKqeOCsOODq+ODvOODl+OCkue2reaMgeOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgIOijnOWKqeOCsOODq+ODvOODl+OCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPOODk+ODg+ODiD4gICAgc2VjdXJlIGJpdCDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDzjg6njg5njg6s+IFNFTGludXgg44Gu44Op44OZ44Or44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICBBcHBBcm1vciDjg5fjg63jg5XjgqHjgqTjg6vjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxNDQKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIOOBk+OBruODhOODvOODq+OBr+WNsemZuuOBquODhOODvOODq+OBp+OBmeOAguODnuODi+ODpeOCouODq+ODmuODvOOCuOOCkuOBiuiqreOBv+OBruS4iuOAgeazqOaEj+OBl+OBpuS9v+eUqOOBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAi44Kx44O844OR44OT44Oq44OG44Kj44Gu5paH5a2X44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIuODl+ODreOCu+OCueOBriBzZWN1cmUgYml0IOOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICJTZWN1cmViaXRzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJb44Gq44GXXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiDplbfjgZnjgY7jgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODlzogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJb44Gq44GXXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIkVVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIlNVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ1IHN5cy11dGlscy9zZXRwcml2LmM6NDQ1Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzdWlkIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXNnaWQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIuWun+WKueOCseODvOODkeODk+ODquODhuOCozogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIuioseWPr+OBleOCjOOCi+OCseODvOODkeODk+ODquODhuOCozogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAi57aZ5om/5Y+v6IO944Gq44Kx44O844OR44OT44Oq44OG44KjOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICLoqLHlj6/jgZXjgozjgovjgrHjg7zjg5Hjg5Pjg6rjg4bjgqM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIuacquWvvuW/nOOBruOCs+ODnuODs+ODieOBp+OBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAi44Kx44O844OR44OT44Oq44OG44Kj44OQ44Km44Oz44OH44Kj44Oz44Kw44K744OD44OIOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiU0VMaW51eCDjg6njg5njg6siCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiQXBwQXJtb3Ig44OX44Ot44OV44Kh44Kk44OrIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIOOBjOWjiuOCjOOBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIuijnOWKqeOCsOODq+ODvOODlyBJRCDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzdWlkIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NjgKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXNnaWQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIuOCteODneODvOODiOOBleOCjOOBpuOBquOBhCBMREFQIFVSSSDjgr/jgqTjg5fjgafjgZk6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAi44Kx44O844OR44OT44Oq44OG44Kj44Gu5paH5a2X44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgImxpYmNhcC1uZyDjga8gXCJhbGxcIiDjgpLkvb/nlKjjgZnjgovjgavjga/lj6TjgZnjgY7jgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIuacquefpeOBruOCseODvOODkeODk+ODquODhuOCoyBcIiVzXCIg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2MQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAi6KqN6K2Y44Gn44GN44Gq44GEIHNlY3VyZSBiaXQg44K744OD44OI44Gn44GZIC0tIOiqv+aVtOOBr+aLkuWQpuOBleOCjOOBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgInNlY3VyZSBiaXQg44Gu5paH5a2X5YiX44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiK2FsbCBzZWN1cmUgYml0IOOBr+ioseWPr+OBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImtlZXBfY2FwcyDjga7oqr/mlbTjga/mhI/lkbPjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAic2VjdXJlIGJpdCDjgYzoqo3orZjjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjA5Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCDjgYzli5XkvZzjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgIumWieOBmOOCi+OBruOBq+WkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjMyCittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIOOBjOWLleS9nOOBl+OBpuOBhOOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICItLW5vLW5ldy1wcml2cyDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgwCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgInJ1aWQg44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJydWlkIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTAKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAiZXVpZCDjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgImV1aWQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5NgorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgInJ1aWQg44G+44Gf44GvIGV1aWQg44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAicmV1aWQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJyZ2lkIOOBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAicmdpZCDjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgImVnaWQg44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICJlZ2lkIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJyZ2lkIOOBvuOBn+OBryByZ2lkIOOBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgInJlZ2lkIOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICItLWNsZWFyLWdyb3VwcyDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODMyCittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICItLWtlZXAtZ3JvdXBzIOOCquODl+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIC0taW5pdC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICItLWdyb3VwcyDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiLS1ncm91cHMg44Kq44OX44K344On44Oz44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiLS1pbmgtY2FwcyDjgqrjg5fjgrfjg6fjg7PjgYzph43opIfjgZfjgabjgYTjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgIi0taW5oLWNhcHMg44Kq44OX44K344On44Oz44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIi0tYm91bmRpbmctc2V0IOOCquODl+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiLS1zZWN1cmViaXRzIOOCquODl+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzcKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiLS1zZWxpbnV4LWxhYmVsIOOBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4ODMKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiLS1hcHBhcm1vci1wcm9maWxlIOOCquODl+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIi0tZHVtcCDjga/ku5bjga7jgqrjg5fjgrfjg6fjg7Pjgajjga7kupLmj5vmgKfjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIOOBr+WNmOeLrOOBp+aMh+WumuOBl+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAi44OX44Ot44Kw44Op44Og44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorIywgZnV6enkKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICItLVtyZV1naWQg44GvIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWdyb3VwcyDjga7jgYTjgZrjgozjgYvjgpLlv4XopoHjgajjgZfjgb7jgZkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIuaWsOOBl+OBhOaoqemZkOOBruioseWPr+emgeatouOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAi44OX44Ot44K744K544Gu44Kx44O844OR44OT44Oq44OG44Kj57at5oyB44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAi44Kx44O844OR44OT44Oq44OG44Kj44Gu5pyJ5Yq55YyWIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLjgrHjg7zjg5Hjg5Pjg6rjg4bjgqPjga7lho3mnInlirnljJYiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1CisjLCBmdXp6eQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICLjg5fjg63jgrvjgrnjga4gc2VjdXJlIGJpdCDjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICLjg5Djgqbjg7Pjg4fjgqPjg7PjgrDjgrvjg4Pjg4jjga7oqK3lrpoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLjgrHjg7zjg5Hjg5Pjg6rjg4bjgqPjga7pgannlKgiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5fjg63jgrDjg6njg6A+IFvlvJXmlbAgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICLlrp/ooYzjgZnjgovjgrPjg57jg7Pjg4njga7jgZ/jgoHjgavmlrDjgZfjgYQgUEFNIOOCu+ODg+OCt+ODp+ODs+OCkueUn+aIkOOBmeOCiyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICDliLblvqHnq6/mnKvjgpLnj77lnKjjga7nq6/mnKvjgavoqK3lrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICDjg4Hjgqfjg4Pjgq/jgpLlvLfliLbjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQyCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAg44OX44Ot44Kw44Op44Og44Gu57WC5LqG44KS5b6F44Gj44Gm5ZCM5LiA44Gu5oi744KK5YCk44KS5L2/44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDAKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAi5a2Q44OX44Ot44K744K5ICVkIOOBjOato+W4uOe1guS6huOBl+OBvuOBm+OCk+OBp+OBl+OBnyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExNworbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHNpZCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMjAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAi5Yi25b6h56uv5pyr44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAi44K544Ov44OD44OXICVzIOOCkueEoeWKueWMluOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNAorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICLjgrnjg7zjg5Hjg7zjg6bjg7zjgrbjg7zjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs85oyH5a6aPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIC9wcm9jL3N3YXBzIOOBq+OBguOCi+OBmeOBueOBpuOBruOCueODr+ODg+ODl+OCkueEoeWKueOBq+OBl+OBvuOBmVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIOWGl+mVt+WHuuWKm+OCkuihjOOBhOOBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjzmjIflrpo+IOOBp+WIqeeUqOOBp+OBjeOCi+ODkeODqeODoeODvOOCvzpcbiIKKyIgLUwgPOODqeODmeODqz4gICAgICAgICAgICDkvb/nlKjjgZnjgovjg4fjg5DjgqTjgrnjga7jg6njg5njg6tcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICDkvb/nlKjjgZnjgovjg4fjg5DjgqTjgrnjga4gVVVJRFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIOS9v+eUqOOBmeOCi+ODh+ODkOOCpOOCueOBruODqeODmeODq1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIOS9v+eUqOOBmeOCi+ODh+ODkOOCpOOCueOBriBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAg5L2/55So44GZ44KL44OH44OQ44Kk44K544Gu5ZCN5YmNXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAg5L2/55So44GZ44KL44OV44Kh44Kk44Or44Gu5ZCN5YmNXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICLjg4fjg5DjgqTjgrnjg5XjgqHjgqTjg6vjgb7jgZ/jga/jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg5HjgrkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi44OH44OQ44Kk44K544Gu56iu6aGeIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgIuOCueODr+ODg+ODl+mgmOWfn+OBruOCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICLkvb/nlKjmuIjjgb/jga7jg5DjgqTjg4jmlbAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICLjgrnjg6/jg4Pjg5fjga7lhKrlhYjpoIbkvY0iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIlczog44K544Ov44OD44OXIFVVSUQg44KS5Y+W5b6X44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgIiVzOiDjgrnjg6/jg4Pjg5fjg6njg5njg6vjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdOOCv+OCpOODl1x0XHTjgrXjgqTjgrpcdOS9v+eUqOa4iOOBv1x05YSq5YWI6aCG5L2NXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAi44OV44Kh44Kk44Or5ZCNIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzOiDjgrnjg6/jg4Pjg5fjgpLlho3liJ3mnJ/ljJbjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IOe9suWQjeOBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgLSBpdCBhcHBlYXJzIHRvIGhhdmUgaG9sZXMuIgorbXNnc3RyICIlczog6aOb44Gw44GX44Gm44GE44G+44GZIC0g44Ob44O844Or44KS5qSc5Ye644GX44G+44GX44Gf44CCIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiDjgrXjgqTjgrrjga7lj5blvpfjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIlczog44K544Ov44OD44OX44OY44OD44OA44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczog572y5ZCN44GM6KaL44Gk44GL44KK44G+44GX44GfOiBb44Oa44O844K444K144Kk44K6PSVkLCDnvbLlkI09JXNdIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIlczog44Oa44O844K444K144Kk44K6PSVkLCDjgrnjg6/jg4Pjg5fjgrXjgqTjgro9JWxsdSwg44OH44OQ44Kk44K544K144Kk44K6PSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiDmnIDntYLjg5rjg7zjgrggMHglMDhsbHgg44Gv44CB44K544Ov44OD44OX6aCY5Z+f44Gu5a6f6Zqb44Gu44K144Kk44K644KI44KK5aSn44GN44GE5YCk44Gn44GZIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzOiDjgrnjg6/jg4Pjg5fpoJjln5/jgavmm7jjgYvjgozjgZ/jg5rjg7zjgrjjgrXjgqTjgrrjgYzlkIjoh7TjgZfjgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXM6IOOCueODr+ODg+ODl+mgmOWfn+OBq+abuOOBi+OCjOOBn+ODmuODvOOCuOOCteOCpOOCuuOBjOWQiOiHtOOBl+OBvuOBm+OCkyAoLS1maXhwZ3N6IOOCkuS9v+eUqOOBmeOCi+OBqOOAgeWGjeWIneacn+WMluOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAgikiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiDjgr3jg5Xjg4jjgqbjgqfjgqLjga7jgrXjgrnjg5rjg7Pjg4njg4fjg7zjgr/jgpLmpJzlh7rjgZfjgb7jgZfjgZ/jgILjgrnjg6/jg4Pjg5fnvbLlkI3jgpLmm7jjgY3jgarjgYrjgZfjgabjgYTjgb7jgZnjgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgIuOCueODr+ODg+ODlyAlcyDjgpLmnInlirnljJbjgZfjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbiDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiAlZCDooYznm67jgafop6PmnpDjgqjjg6njg7zjgafjgZkgLS0g54Sh6KaW44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6ICVkIOihjOebruOBp+ino+aekOOCqOODqeODvOOBp+OBmSAtLSDnhKHoppbjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGlub2RlIOOCkuabuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAg5L2/55So44GX44Gm44GE44KL44GZ44G544Gm44Gu44OH44OQ44Kk44K544KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAg44Oe44Km44Oz44OI44Kq44OX44K344On44Oz44Gn44OV44Kh44Kk44Or44K344K544OG44Og44Gu5Ye65Yqb44KS5Yi26ZmQ44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDzlhKrlhYjpoIbkvY0+IOWvvuixoeOBruODoeODg+OCu+ODvOOCuOOCkuaMh+WumuOBl+OBn+WEquWFiOmghuS9jeOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA2CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAg44OH44OQ44Kk44K544Gu44K144Kk44K644KSIDUxMuODkOOCpOODiOOCu+OCr+OCv+aVsOOBp+ihqOekuuOBl+OBvuOBme+8iOmdnuaOqOWlqO+8iVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgLS1zaG93IOOBp+OBruihqOekuuOBrumam+OAgeODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgIC0tbGlzdCDjga7ntZDmnpzjgpLnibnjgavliqDlt6XjgpLooYzjgo/jgZrjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDlhpfplbflh7rlipvjg6Ljg7zjg4njgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjzmjIflrpo+IOOBp+WIqeeUqOOBp+OBjeOCi+ODkeODqeODoeODvOOCvzpcbiIKKyIgLUwgPOODqeODmeODqz4gICAgICAgICAgICBMQUJFTD0844Op44OZ44OrPiDjgajlkIzjgZhcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEPTx1dWlkPiDjgajlkIzjgZhcbiIKKyIgTEFCRUw9POODqeODmeODqz4gICAgICAgICDjgrnjg6/jg4Pjg5fpoJjln5/jga7jg6njg5njg6vjgafjg4fjg5DjgqTjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICDjgrnjg6/jg4Pjg5fpoJjln5/jga4gVVVJRCDjgafjg4fjg5DjgqTjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgUEFSVExBQkVMPTzjg6njg5njg6s+ICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jg6njg5njg6vjgafjg4fjg5DjgqTjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga4gVVVJRCDjgafjg4fjg5DjgqTjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgPOODh+ODkOOCpOOCuT4gICAgICAgICAgICAg5L2/55So44GZ44KL44OH44OQ44Kk44K544Gu5ZCN5YmNXG4iCisiIDzjg5XjgqHjgqTjg6s+ICAgICAgICAgICAgIOS9v+eUqOOBmeOCi+ODleOCoeOCpOODq+OBruWQjeWJjVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisi5Yip55So5Y+v6IO944Gq56C05qOE44Od44Oq44K344O844Gu56iu6aGeICgtLWRpc2NhcmQg44Gn5oyH5a6aKTpcbiIKKyIgb25jZSAgICA6IOmgmOWfn+OBruegtOajhOOCkuS4gOW6puOBoOOBkeWun+ihjOOBl+OBvuOBmeOAgihzd2Fwb24pXG4iCisiIHBhZ2VzICAgOiDplovmlL7jgZfjgZ/jg5rjg7zjgrjjgpLlho3liKnnlKjjgZnjgovliY3jgavnoLTmo4TjgZfjgb7jgZnjgIJcbiIKKyLjg53jg6rjgrfjg7zjgYzpgbjmip7jgZXjgozjgarjgYTloLTlkIjjga/jgIHnoLTmo4Tjga7nqK7poZ7jga/kuKHmlrnjgajjgoLmnInlirnljJbjgZXjgozjgb7jgZnjgIIo5pei5a6a5YCkKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICLlhKrlhYjpoIbkvY3jga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLmnKrlr77lv5zjga7noLTmo4Tjg53jg6rjgrfjg7zjgafjgZk6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlcyDnlKjjga7jg4fjg5DjgqTjgrnjgYzopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjYwCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICLjg4fjgqPjg6zjgq/jg4jjg6rjgpLplovjgY/lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY4Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInN0YXQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAi44OH44Kj44Os44Kv44OI44Oq44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiJXMg44Gu5YmK6Zmk44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAi44Oe44Km44Oz44OI44KSICVzIOOBi+OCiSAlcyDjgavnp7vli5XjgZnjgovlh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIiVzIOOCkuW8t+WItueahOOBq+OCouODs+ODnuOCpuODs+ODiOOBl+OBpuOBhOOBvuOBmSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICIlcyDjgbjjga7jg4fjgqPjg6zjgq/jg4jjg6rlpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIuODnuOCpuODs+ODiOOCkiAlcyDjgYvjgokgLyDjgavnp7vli5XjgZnjgovlh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAi44Or44O844OI44OH44Kj44Os44Kv44OI44Oq44Gu5aSJ5pu044Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIuWPpOOBhOODq+ODvOODiOODleOCoeOCpOODq+OCt+OCueODhuODoOOBjOOAgSBpbml0cmFtZnMg44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA85paw44GX44GE44Or44O844OI44OH44Kj44Os44Kv44OI44OqPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA5Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAi5aSx5pWX44GX44G+44GX44Gf44CC5q6L5b+144Gn44GZ44CCIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAiJXMg44Gr44Ki44Kv44K744K544Gn44GN44G+44Gb44KTIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPOeVquWPtz4gICAgICAgICAgICAg44OR44Op44Os44Or44Od44O844OI44GuIElSUSDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDzjg5/jg6rnp5I+ICAgICAgICAgIOODieODqeOCpOODkOOBruW+heapn+aZgumWk+OCkuODn+ODquenkuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAzCittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPOaVsOWApD4gICAgICAgICAgIOOCueODquODvOODl+OBq+WFpeOCi+WJjeOBruWHuuWKm+OCreODo+ODqeOCr+OCv+aVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA844Oe44Kk44Kv44Ot56eSPiAgICAgIHN0cm9iZSDjga7lvoXmqZ/mmYLplpPjgpLjg57jgqTjgq/jg63np5LljZjkvY3jgafmjIflrprjgZfjgb7jgZlcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAg44Ko44Op44O85pmC44Gr5Lit5pat44GZ44KL44GL44Gp44GG44GL44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAg5Y2w5Yi35YmN44Gr44OX44Oq44Oz44K/44Gu54q25oWL44KS56K66KqN44GZ44KL44GL44Gp44GG44GL44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAg54q25oWL56K66KqN44Gu6Zqb44CB6L+95Yqg44Gu44OB44Kn44OD44Kv44KS6KGM44GG44GL44Gp44GG44GL44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTEKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICDjg5fjg6rjg7Pjgr/jga7nirbmhYvjgpLllY/jgYTlkIjjgo/jgZvjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOODneODvOODiOOCkuODquOCu+ODg+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIOePvuWcqOOBriBJUlEg6Kit5a6a44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMg44GvIGxwIOODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCk+OAgiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJMUEdFVFNUQVRVUyDjgqjjg6njg7zjgafjgZkiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIlcyDjga7nirbmhYvjga8gJWQg44Gn44GZIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCDjg5Pjgrjjg7wiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCDliKnnlKjlj6/og70iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIiwg55So57SZ44Gq44GXIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCDjgqrjg7Pjg6njgqTjg7MiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCDjgqjjg6njg7wiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJMUEdFVElSUSDjgafjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIOOBryBJUlEgJWQg44KS5L2/55So44GX44Gm44GE44G+44GZXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyDjga/jg53jg7zjg6rjg7PjgrDjgpLkvb/nlKjjgZfjgabjgYTjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFvjgqrjg5fjgrfjg6fjg7NdXG4iCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODnuOCpuODs+ODiOWFgz4gfCA844OH44Kj44Os44Kv44OI44OqPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDjgZnjgbnjgabjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIOePvuWcqOOBruODjeODvOODoOOCueODmuODvOOCueWGheOBq+OBguOCi+OAgeaMh+WumuOBl+OBn+ODh+ODkOOCpOOCueOBrlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOODnuOCpuODs+ODiOODneOCpOODs+ODiOOCkuOBmeOBueOBpuOCouODs+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDjg5HjgrnjgpLmraPopo/ljJbjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICDjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjgpLkvb/nlKjjgZfjgabjgYTjgovloLTlkIjjgIHjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjgoLplovmlL7jgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICDlrp/pmpvjgavjga8gdW1vdW50KDIpIOOBruOCt+OCueODhuODoOOCs+ODvOODq+OCkuihjOOBhOOBvuOBm+OCk1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAg5by35Yi255qE44Gr44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GZICjliLDpgZTkuI3lj6/og73jgaogTkZTIOOCt+OCueODhuODoOOBquOBqeOBq+acieWKueOBp+OBmSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgdW1vdW50Ljzjgr/jgqTjg5c+IOOBruODmOODq+ODkeODvOOCkuWRvOOBs+WHuuOBleOBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbGF6eSAgICAgICAgICAgICAg5LuK44GZ44GQ44OV44Kh44Kk44Or44K344K544OG44Og44KS5YiH44KK6Zui44GX44G+44GZ44GM44CBXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAg44Kv44Oq44O844Oz44Ki44OD44OX44Gv5b6M44GL44KJ6KGM44GG44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIC1PLCAtLXRlc3Qtb3B0cyA844Oq44K544OIPiDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLmjIflrprjgZfjgb7jgZkgKC1hIOOBqOS9teeUqOOBl+OBvuOBmSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICDmjIflrprjgZfjgZ/jgoLjga7jgajjgIHjgZ3jgozku6XkuIvjga7jg4fjgqPjg6zjgq/jg4jjg6rjgZnjgbnjgabjgpLjgqLjg7Pjg57jgqbjg7Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIOOCouODs+ODnuOCpuODs+ODiOOBq+WkseaVl+OBl+OBn+WgtOWQiOOAgVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOiqreOBv+i+vOOBv+WwgueUqOOBp+WGjeODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPOODquOCueODiD4gICAg44OV44Kh44Kk44Or44K344K544OG44Og44Gu56iu6aGe44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykg44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXMg44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICLjgqLjg7Pjg57jgqbjg7Pjg4jjga7jgr/jg7zjgrLjg4Pjg4joqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg44Gu44OG44O844OW44Or5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg44Gu5YiX5oyZ5a2Q44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIiVzIOOBruWtkOODleOCoeOCpOODq+OCt+OCueODhuODoOOBruWPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiDopovjgaTjgYvjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIuacquWvvuW/nOOBruW8leaVsOOBp+OBmTogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAi5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIuacquWvvuW/nOOBruOCquODl+OCt+ODp+ODs+W9ouW8j+OBp+OBmTogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jg6vjg7zjg4giCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg44KSICVzIOOBq+ODnuOCpuODs+ODiOOBmeOCi+WHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgIiVzIOOCkiBzdGF0IOOBp+OBjeOBvuOBm+OCkyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAicGlwZSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAi44OR44Kk44OX44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIOODnuOCpuODs+ODiOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICBVVFMg44ON44O844Og44K544Oa44O844K5ICjjg5vjgrnjg4jlkI3jgarjgakpIOOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICBTeXN0ZW0gViBJUEMg44ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICDjg43jg4Pjg4jjg6/jg7zjgq/jg43jg7zjg6Djgrnjg5rjg7zjgrnjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgUElEIOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAg44Om44O844K244ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIGNncm91cCDjg43jg7zjg6Djgrnjg5rjg7zjgrnjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICAgICBmb3JrIOOBl+OBpuOBi+OCiSA844OX44Ot44Kw44Op44OgPiDjgpLotbfli5XjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NAorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisiICAgICAtLW1vdW50LXByb2NbPTzjg4fjgqPjg6zjgq/jg4jjg6o+XVxuIgorIiAgICAgICAgICAgICAgICAgICBwcm9jIOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuacgOWIneOBq+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorIiAgICAgICAgICAgICAgICAgICAgICjjgZPjgozjgavjga8gLS1tb3VudCDjga7mhI/lkbPjgpLlkKvjgb/jgb7jgZkpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgICAgIOODpuODvOOCtuODjeODvOODoOOCueODmuODvOOCueOBriBnaWQg44KS44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgIuWFseacieOBruino+mZpOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAi5a2Q44OX44Ot44K744K544Gu57WC5LqG44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0g44GoIC0tdXNlciDjga7jgqrjg5fjgrfjg6fjg7Pjga/jgIHlkIzmmYLjgavkvb/nlKjjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgIIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg44Gu44Oe44Km44Oz44OI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICLnm7Tov5HjgasgQ1BVIOOCkuODquOCu+ODg+ODiOOBl+OBn+OCq+ODvOODiSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICLlpJbpg6jjg6rjg6zjg7wgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICLlpJbpg6jjg6rjg6zjg7wgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICLlhrfljbTjg5XjgqHjg7Pjga7kuI3oia8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICLjgq3jg7zjg5fjgqLjg6njgqTjg5bjga4gcGluZyDlv5znrZQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAi44Oe44K444OD44Kv44Kv44Ot44O844K644Kt44Oj44Op44Kv44K/44Gu5a++5b+cIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIkNQVSDpgY7nhrHjgavjgojjgovjg6rjgrvjg4Pjg4giCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICLpm7vmupDpm7vlnKfjga7pgY7kuIrmmIciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICLpm7vmupDkuI3oia8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCittc2dpZCAiUHJldGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIuODl+ODrOOCv+OCpOODoOOCouOCpuODiCAo56eSKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIuOCv+OCpOODoOOCouOCpuODiCAo56eSKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIuWGjei1t+WLleOCkuWun+aWveOBl+OBquOBhCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICLjg5Xjg6njgrDlkI0iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgIuODleODqeOCsOOBruiqrOaYjiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgIuODleODqeOCsOOBrueKtuaFiyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAi44OV44Op44Kw44Gu6LW35YuV54q25oWLIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi44Km44Kq44OD44OB44OJ44OD44Kw44OH44OQ44Kk44K55ZCNIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAi5LiN5piO44Gq44OV44Op44Kw44Gn44GZOiAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc4Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAi44OP44O844OJ44Km44Kn44Ki44Km44Kp44OD44OB44OJ44OD44Kw44Gu54q25oWL44KS6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA844Oq44K544OIPiAgIOaMh+WumuOBl+OBn+ODleODqeOCsOOBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIOODleODqeOCsOOBq+mWouOBmeOCi+aDheWgseOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIOOCpuOCquODg+ODgeODieODg+OCsOOBruitmOWIpeaDheWgseOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOODleODqeOCsOihqOOBp+ODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIOWFqOOBpuOBruaDheWgseOCkiAxIOihjOOBp+ihqOekuuOBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorIiAtbywgLS1vdXRwdXQgPOODquOCueODiD4gIOihqOekuuOBmeOBueOBjeODleODqeOCsOWIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIOODleODqeOCsOihqOOBq+OBpOOBhOOBpuOAgeWKoOW3peOCkuihjOOBquOCj+OBquOBhOW9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIOOCpuOCquODg+ODgeODieODg+OCsOOBruWItumZkOaZgumWk+OCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDznp5I+ICDjgqbjgqrjg4Pjg4Hjg4njg4PjgrDjga7liLbpmZDmmYLplpPjgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICDjg5Xjg6njgrDooajjga7jgb/jgpLooajnpLrjgZfjgb7jgZkgKC1JIC1UIOOBqOWQjOOBmOaEj+WRs+OBp+OBmSlcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAi5pei5a6a44Gu44OH44OQ44Kk44K544GvICVzIOOBp+OBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczog5LiN5piO44Gq44OV44Op44KwIDB4JXgg44Gn44GZXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMCBzeXMtdXRpbHMvd2RjdGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiDjgqbjgqrjg4Pjg4Hjg4njg4PjgrDjga/ml6Ljgavkvb/nlKjjgZXjgozjgabjgYTjgb7jgZnjgILntYLkuobjgZfjgb7jgZnjgIIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzOiDjgqbjgqrjg4Pjg4Hjg4njg4PjgrDjga7op6PpmaTjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICIlcyDjgavlr77jgZnjgovliLbpmZDmmYLplpPjgpLoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIuWItumZkOaZgumWk+OBryAlZCDnp5Ljgavjgrvjg4Pjg4jjgZXjgozjgabjgYTjgb7jgZnjgIJcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIlczog44Km44Kq44OD44OB44OJ44OD44Kw44Gr6Zai44GZ44KL5oOF5aCx44Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUgc3lzLXV0aWxzL3dkY3RsLmM6NDY4IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSDnp5JcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY2Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIuWItumZkOaZgumWkzoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAi44OX44Os44K/44Kk44Og44Ki44Km44OIOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICLmrovjgormmYLplpM6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICLjg4fjg5DjgqTjgrk6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIuitmOWIpeWtkDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOAorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIuODkOODvOOCuOODp+ODsyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInpyYW0g44OH44OQ44Kk44K55ZCNIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAi5Zyn57iu5YmN44Gu44OH44O844K/5a656YeP44Gr44KI44KL5Yi26ZmQIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIuWcp+e4ruWJjeOBruagvOe0jeOBleOCjOOBn+ODh+ODvOOCv+OBruOCteOCpOOCuiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi5Zyn57iu5b6M44Gu5qC857SN44GV44KM44Gf44OH44O844K/44Gu44K144Kk44K6IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAi6YG45oqe44GV44KM44Gf5Zyn57iu44Ki44Or44K044Oq44K644OgIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAi5Lim6KGM44GX44Gm5a6f6KGM44GV44KM44KL5Zyn57iu44Kq44Oa44Os44O844K344On44Oz44Gu5pWwIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAi44Oh44Oi44Oq44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAi5Zyn57iu5YmN44Gu44OH44O844K/5a656YeP44Gr44KI44KL5Yi26ZmQIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIuWcp+e4ruWJjeOBruODh+ODvOOCv+WuuemHj+OBq+OCiOOCi+WItumZkCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICLkuKbooYzjgZfjgablrp/ooYzjgZXjgozjgovlnKfnuK7jgqrjg5rjg6zjg7zjgrfjg6fjg7Pjga7mlbAiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLplovlp4vkvY3nva7jga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOODh+ODkOOCpOOCuT5cbiIKKyIgJTEkcyAtciA844OH44OQ44Kk44K5PiBbLi4uXVxuIgorIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIC1mIHwgPOODh+ODkOOCpOOCuT4gLXMgPOOCteOCpOOCuj5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJ6cmFtIOODh+ODkOOCpOOCueOBruioreWumuOBqOWItuW+oeOCkuihjOOBhOOBvuOBmeOAglxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MQorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NHxsejRoY3xkZWZsYXRlfDg0MiAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAg5L2/55So44GZ44KL5Zyn57iu44Ki44Or44K044Oq44K644OgXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIOWPr+iqreaAp+OBrumrmOOBhOW9ouW8j+OBp+OBr+OBquOBj+OAgeODkOOCpOODiOWNmOS9jeOBp+OCteOCpOOCuuOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICDkvb/jgaPjgabjgYTjgarjgYTjg4fjg5DjgqTjgrnjgpLmpJzntKLjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICDnirbmhYvjgpLlh7rlipvjgZnjgovjga7jgavkvb/nlKjjgZnjgovliJfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDYKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOWHuuWKm+W9ouW8j+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICDjgZnjgbnjgabjga7mjIflrprjgZfjgZ/jg4fjg5DjgqTjgrnjgpLjg6rjgrvjg4Pjg4jjgZfjgb7jgZlcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNpemUgPOOCteOCpOOCuj4gICAgICAg44OH44OQ44Kk44K544Gu44K144Kk44K6XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAg5Zyn57iu44K544OI44Oq44O844Og44Gu55Wq5Y+3XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjMzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIuOCueODiOODquODvOODoOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTUKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgLS1maW5kIOOBryA8ZGV2aWNlPiDjgajlkIzmmYLjgavmjIflrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIjHluqbjgasx44Gk44Gu44OH44OQ44Kk44K544Gu44G/44KS5oyH5a6a44Gn44GN44G+44GZIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7MgLS1hbGdvcml0aG0g44GoIC0tc3RyZWFtcyDjga8gLS1zaXplIOOBqOe1hOOBv+WQiOOCj+OBm+OCi+W/heimgeOBjOOBguOCiuOBvuOBmSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IOODquOCu+ODg+ODiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICLnqbrjgY3jga7jgYLjgosgenJhbSDjg4fjg5DjgqTjgrnjgYzjgYLjgorjgb7jgZvjgpMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczog44K544OI44Oq44O844Og44Gu55Wq5Y+344Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiDjgqLjg6vjgrTjg6rjgrrjg6Djga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczog44OH44Kj44K544Kv44K144Kk44K6KCVqdSDjg5DjgqTjg4gp44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKOiHquWLleODreOCsOOCpOODsylcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiDjg6vjg7zjg4jjg4fjgqPjg6zjgq/jg4jjg6ogJXMg44KS5aSJ5pu044Gn44GN44G+44Gb44KTOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiDkvZzmpa3nlKjjga7jg4fjgqPjg6zjgq/jg4jjg6ogJXMg44KS5aSJ5pu044Gn44GN44G+44Gb44KTOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IOODl+ODreOCu+OCueOBruWEquWFiOmghuS9jeOCkuWkieabtOOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6ICVzIOOCkuWun+ihjOOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICLjg6Hjg6Ljg6rjga7libLjgorlvZPjgabjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMgZnJvbSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc0OAorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIumBheW7tuaZgumWk+OBruW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAiLS1sb2NhbC1saW5lIOOBruW8leaVsOOBjOmWk+mBleOBo+OBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MDUKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgIm5pY2Ug44Gu5byV5pWw44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICLpgJ/luqbjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgIuS7o+abv+mAn+W6puOBruaMh+WumuOBjOWkmuOBmeOBjuOBvuOBmSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiDmqJnmupblhaXlipvjgajjgZfjgabplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczog44Kt44Oj44Op44Kv44K/44OH44OQ44Kk44K544Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgdHR5IgorbXNnc3RyICIvZGV2LyVzOiB0dHkg44Gn44Gv44GC44KK44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczog5Yi25b6h56uv5pyr44Go44GX44Gm6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2aGFuZ3VwKCkg44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IOiqreOBv+abuOOBjeeUqOOBq+mWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6IOODl+ODreOCu+OCueOCsOODq+ODvOODl+OCkuioreWumuOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlczogZHVwIOOBp+WVj+mhjOOBjOeZuueUn+OBl+OBvuOBl+OBnzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IOerr+acq+OBruWxnuaAp+WPluW+l+OBq+WkseaVl+OBl+OBvuOBl+OBnzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIuerr+acq+OBruWxnuaAp+ioreWumuOBq+WkseaVl+OBl+OBvuOBl+OBnzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAib3MtcmVsZWFzZSDjg5XjgqHjgqTjg6vjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIuODquODreODvOODieODleOCoeOCpOODqyAlcyDjga7kvZzmiJDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4MzUKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJbRW50ZXIg44KS5oq844GZ44Go44Ot44Kw44Kk44Oz44Gn44GN44G+44GZXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayDjga/nhKHlirnjgarnirbmhYvjgafjgZkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0gTG9jayDjgYzmnInlirnjgarnirbmhYvjgafjgZkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2NQorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQ2FwcyBMb2NrIOOBjOacieWKueOBqueKtuaFi+OBp+OBmSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY4Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIlNjcm9sbCBMb2NrIOOBjOacieWKueOBqueKtuaFi+OBp+OBmSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisi44OS44Oz44OIOiAlc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczog6Kqt44G/6L6844G/OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczog5YWl5Yqb44GM5rqi44KM44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlczog44Ot44Kw44Kk44Oz5ZCN44Gu5paH5a2X5aSJ5o+b44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IOODreOCsOOCpOODs+WQjeOBq+S4jeato+OBquaWh+WtlyAweCV4IOOBjOWQq+OBvuOCjOOBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczog56uv5pyr5bGe5oCn44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW+OCquODl+OCt+ODp+ODs10gPOWbnue3mj4gWzzjg5zjg7zjg6zjg7zjg4g+LC4uLl0gW+err+acq+OCv+OCpOODl11cbiIKKyIgJTEkcyBb44Kq44OX44K344On44OzXSA844Oc44O844Os44O844OIPiwuLi4g5Zue57eaIFvnq6/mnKvjgr/jgqTjg5ddXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMAorbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICLnq6/mnKvjgpLplovjgY3jgIHjg6Ljg7zjg4njgpLmjIflrprjgZfjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIOerr+acq+OBjCA4IOODk+ODg+ODiOOBp+OBguOCi+OCguOBruOBqOOBv+OBquOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG9sb2dpbiA844Om44O844K2PiAgIOaMh+WumuOBl+OBn+ODpuODvOOCtuOBp+iHquWLleODreOCsOOCpOODs+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAg5Yi25b6h44Oi44O844OJ44KS44Oq44K744OD44OI44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIGxvZ2luKDEpIOOBq+WvvuOBl+OBpiAtciA844Ob44K544OI5ZCNPiDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgaXNzdWUg44OV44Kh44Kk44Or44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICDjg4/jg7zjg4njgqbjgqfjgqLjg5Xjg63jg7zliLblvqHjgpLmnInlirnjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgLUgsIC0taG9zdCA844Ob44K544OI5ZCNPiAgICAgIOODreOCsOOCpOODs+ODm+OCueODiOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgaXNzdWUg44OV44Kh44Kk44Or44KS6KGo56S644GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MQorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1JLCAtLWluaXQtc3RyaW5nIDzmloflrZfliJc+IOWIneacn+WMluaWh+Wtl+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDIKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAg44OX44Ot44Oz44OX44OI44Gu6KGo56S65YmN44Gr55S76Z2i5raI5Y6744KS6KGM44GE44G+44Gb44KTXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPOODleOCoeOCpOODqz4g44Ot44Kw44Kk44Oz44OX44Ot44Kw44Op44Og44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NAorbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTzjg6Ljg7zjg4k+XSDjg63jg7zjgqvjg6vlm57nt5rjg5Xjg6njgrDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICDmjqXntprmmYLjgavjg5zjg7zjg6zjg7zjg4jjgpLlj5blvpfjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICDjg63jgrDjgqTjg7Pjg5fjg63jg7Pjg5fjg4jjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBpc3N1ZSDjgpLooajnpLrjgZnjgovliY3jgavjgIHmlLnooYzjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDzjgqrjg5fjgrfjg6fjg7M+IGxvZ2luIOOCs+ODnuODs+ODieOBq+a4oeOBmeOCquODl+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICDjg63jgrDjgqTjg7PliY3jgavku7vmhI/jga7jgq3jg7zjgYzlhaXlipvjgZXjgozjgovjga7jgpLlvoXjgaTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLWNocm9vdCA844OH44Kj44Os44Kv44OI44OqPiDmjIflrprjgZfjgZ/jg4fjgqPjg6zjgq/jg4jjg6rjgpLjg6vjg7zjg4jjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgdHR5IOOCkuaTrOS8vOeahOOBq+ODj+ODs+OCsOOCouODg+ODl+OBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTIKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICBicmVhayDlvozjgoLjg5zjg7zjg6zjg7zjg4jjgpLntq3mjIHjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA85pWw5YCkPiAgICAgICDjg63jgrDjgqTjg7Plh6bnkIbjga7liLbpmZDmmYLplpPjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIOWkp+aWh+Wtl+OBruOBv+OCkuS9v+eUqOOBmeOCi+err+acq+OCkuaknOWHuuOBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIOOCreODo+ODquODg+OCuOODquOCv+ODvOODs+OCkuW+heapn+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICDjg5Ljg7Pjg4jjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU3Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICDjg5vjgrnjg4jlkI3jgpLlhajjgY/ooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU4Cittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIOWujOWFqOS/rumjvuODm+OCueODiOWQjeOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTkKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDzmloflrZfliJc+IOi/veWKoOOBruODkOODg+OCr+OCueODmuODvOOCueaWh+Wtl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjAKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoYXJzIDzmloflrZfliJc+ICDov73liqDjga4ga2lsbCDmloflrZfjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYxCittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDzjg4fjgqPjg6zjgq/jg4jjg6o+ICDjg63jgrDjgqTjg7PjgZnjgovliY3jgavjg4fjgqPjg6zjgq/jg4jjg6rjgpLlpInmm7TjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgIC0tZGVsYXkgPOenkuaVsD4gICAgICAgICDjg5fjg63jg7Pjg5fjg4jjgpLooajnpLrjgZnjgovliY3jgavmjIflrprjgZfjgZ/np5LmlbDlvoXjgaHjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPOWEquWFiOW6pj4gICAgICAgIGxvZ2luIOOCkuaMh+WumuOBl+OBn+WEquWFiOW6puOBp+Wun+ihjOOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjQKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICDlrp/ooYzkuK3jga4gYWdldHR5IOOCpOODs+OCueOCv+ODs+OCueOCkuODquODreODvOODieOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAg6Kit5a6a5Y+v6IO944Gq44Oc44O844Os44O844OI44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQg44Om44O844K2IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZWNrbmFtZSDjgavlpLHmlZfjgZfjgb7jgZfjgZ86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIuODleOCoeOCpOODqyAlcyDjgavjgqLjgq/jgrvjgrnjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCDjga/jgYLjgarjgZ/jga7jgrfjgrnjg4bjg6Djgafjga/jgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gW3kgfCBuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OQorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIuS7luOBruODpuODvOOCtuODvOOBi+OCieOBruOBguOBquOBn+OBruerr+acq+OBuOOBruabuOOBjei+vOOBv+OCouOCr+OCu+OCueOCkuWItuW+oeOBl+OBvuOBmeOAglxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6Kmz44GX44GP6KGo56S644GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ0dHluYW1lIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAi5pyJ5Yq544Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICLnhKHlirnjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICIlcyDjga7jg6Ljg7zjg4nlpInmm7TjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIuerr+acq+OBuOOBruabuOOBjei+vOOBv+OCouOCr+OCu+OCueOCkuioseWPr+OBl+OBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICLnq6/mnKvjgbjjga7mm7jjgY3ovrzjgb/jgqLjgq/jgrvjgrnjgpLnpoHmraLjgZfjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFvjg5XjgqHjgqTjg6tdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICLnq6/mnKvmk43kvZzjgajooajnpLrjga7lhpnjgZfjgpLkvZzmiJDjgZfjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjcKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAg5Ye65Yqb5YWI44Gr6L+96KiY44GX44G+44GZXG4iCisiIC1jLCAtLWNvbW1hbmQgPOOCs+ODnuODs+ODiT4g5a++6Kmx55qE44Gq44K344Kn44Or44Gn44Gv44Gq44GP44CB5oyH5a6a44GX44Gf44Kz44Oe44Oz44OJ44KS5a6f6KGM44GX44G+44GZXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgIOWtkOODl+ODreOCu+OCueOBrue1guS6huOCs+ODvOODieOCkui/lOOBl+OBvuOBmVxuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICDjgZ3jgozjgZ7jgozjga7mm7jjgY3ovrzjgb/lh6bnkIbjgacgZmx1c2gg44GX44G+44GZXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIOWHuuWKm+ODleOCoeOCpOODq+OBjOODquODs+OCr+OBp+OBguOBo+OBn+WgtOWQiOOCguOAgeOBneOBruOBvuOBvuS9v+eUqOOBl+OBvuOBmVxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDpnZnlr4Ljg6Ljg7zjg4njgpLmjIflrprjgZfjgb7jgZlcbiIKKyIgLXRbPOODleOCoeOCpOODqz5dLCAtLXRpbWluZ1s9POODleOCoeOCpOODqz5dIOOCv+OCpOODn+ODs+OCsOODh+ODvOOCv+OCkuaomea6luOCqOODqeODvOWHuuWKmyDjgb7jgZ/jga8g44OV44Kh44Kk44OrIOOBq+WHuuWKm+OBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisi5Ye65Yqb44OV44Kh44Kk44OrIGAlcycg44Gv44Oq44Oz44Kv44Gn44GZ44CCXG4iCisi44Gp44GG44GX44Gm44KC44GT44Gu44OV44Kh44Kk44Or44KS5L2/55So44GX44Gf44GE5aC05ZCI44Gv44CBIC0tZm9yY2Ug44KS5oyH5a6a44GX44Gm44GP44Gg44GV44GE44CCXG4iCisi44OX44Ot44Kw44Op44Og44Gu6LW35YuV44KS5Lit5q2i44GX44G+44GX44Gf44CCIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjgpLntYLkuobjgZfjgb7jgZfjgZ/jgILjg5XjgqHjgqTjg6vjga8gJXMg44Gn44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjg4Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLjgrnjgq/jg6rjg5fjg4jjg5XjgqHjgqTjg6vjgavmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLjgrvjg4Pjgrfjg6fjg7PjgYzlvLfliLbntYLkuobjgZfjgb7jgZfjgZ/jgIJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI6ZaL5aeLICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisi44K544Kv44Oq44OX44OI57WC5LqGICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAicHR5IOOBruWJsuOCiuW9k+OBpuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAi44K544Kv44Oq44OX44OI44KS6ZaL5aeL44GX44G+44GX44Gf44CC44OV44Kh44Kk44Or44GvICVzIOOBp+OBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIgJXMgWy10XSDjgr/jgqTjg5/jg7PjgrDjg5XjgqHjgqTjg6sgW+OCv+OCpOODl+OCueOCr+ODquODl+ODiF0gW+mZpOaVsF1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLnq6/mnKvjga4gdHlwZXNjcmlwdCDjga7lh7rlipvjgpLjgr/jgqTjg5/jg7PjgrDmg4XloLHjgoLkvb/jgaPjgablho3nlJ/jgZfjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPOODleOCoeOCpOODqz4g44K544Kv44Oq44OX44OI44Gu44K/44Kk44Of44Oz44Kw5Ye65Yqb44OV44Kh44Kk44Or44KS5oyH5a6a44GX44G+44GZXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPOODleOCoeOCpOODqz4g44K544Kv44Oq44OX44OI44Gu56uv5pyr44K744OD44K344On44Oz44GL44KJ44Gu5Ye65Yqb44OV44Kh44Kk44Or44KS5oyH5a6a44GX44G+44GZXG4iCisiIC1kLCAtLWRpdmlzb3IgPOmZpOaVsD4gICAg5oyH5a6a44GX44Gf5Ymy5ZCI44Gn5a6f6KGM6YCf5bqm44KS5aKX5Yqg44G+44Gf44Gv5rib5bCR44GV44Gb44G+44GZXG4iCisiIC1tLCAtLW1heGRlbGF5IDznp5LmlbA+ICAg5pu05paw44Gu6ZaT44Gr5pyA5aSn44Gn5oyH5a6a44GX44Gf56eS5pWw44G+44Gn5b6F44Gh44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEzCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAi5qiZ5rqW5Ye65Yqb44G444Gu5pu444GN6L6844G/44GM5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIlcyDjgafkuojmnJ/jgZfjgarjgYTjg5XjgqHjgqTjg6vjga7ntYLnq6/jgYzopovjgaTjgYvjgorjgb7jgZfjgZ8iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAi44K/44Kk44OX44K544Kv44Oq44OX44OI44OV44Kh44Kk44OrICVzIOOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICLlvJXmlbDjga7mlbDjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICLjgr/jgqTjg5/jg7PjgrDjg5XjgqHjgqTjg6sgJXMg44Gu6Kqt44G/6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICLjgr/jgqTjg5/jg7PjgrDjg5XjgqHjgqTjg6sgJXM6ICVsdTog5LqI5pyf44GX44Gq44GE5pu45byP44GM5L2/44KP44KM44Gm44GE44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLlvJXmlbDjgqjjg6njg7w6IOaYjuOCi+OBlSAlcyDjga/jgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyNgorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIuOCv+ODluOBjOWkmuOBmeOBjuOBvuOBmSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIuerr+acq+OBruWxnuaAp+OCkuioreWumuOBl+OBvuOBmeOAglxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA856uv5pyr5ZCNPiAgICAgICAgICBURVJNIOeSsOWig+WkieaVsOOBp+aMh+WumuOBl+OBn+err+acq+OBp+OBr+OBquOBj+OAgeOBk+OBruerr+acq+WQjeOCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAg56uv5pyr44KS6Zu75rqQT07nirbmhYvjgavjg6rjgrvjg4Pjg4jjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAg56uv5pyr44Gu6KGM5pWw44Go5YiX5pWw44KS44Oq44K744OD44OI44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLXEsIC0tc3RhdHMgICAgICAgICAgICAgICAgICAgICAgICB0dHkg44Gr6Zai44GZ44KL57Wx6KiI5oOF5aCx44KS6KGo56S644GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIkN0cmwtVSDjgafjg4fjg5Xjgqnjg6vjg4jlgKTjgpLliYrpmaTjgZfjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIOePvuWcqOOBruerr+acq+ioreWumuOCkuODh+ODleOCqeODq+ODiOOBqOOBl+OBpuS/neWtmOOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAg44Kr44O844K944Or6KGo56S6L+mdnuihqOekuuOCkuWIh+OCiuabv+OBiOOBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOOCreODvOODnOODvOODieOBruiHquWLleODquODlOODvOODiOOCkuWIh+OCiuabv+OBiOOBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorIywgZnV6enkKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgICDjgZPjga7jgaHjgofjgaPjgajjgZfjgZ/kvb/jgYTmlrnjgpLooajnpLrjgZnjgotcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICDmloflrZfjga7oibLjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIOiDjOaZr+iJsuOCkuioreWumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICDkuIvnt5rku5jjgY3mloflrZfjga7oibLjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAg5aSq5a2X44Gu5paH5a2X6Imy44KS6Kit5a6a44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOWkquWtl1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKK21zZ2lkICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIGRpbVxuIgorbXNnc3RyICIgLS1oYWxmLWJyaWdodCAgIFtvbnxvZmZdICAgICAgICAgIOiWhOaal+iJsiAo5Y2K6Lyd5bqmKSBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOeCuea7hVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIOS4i+e3mlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICDmloflrZfoibLjgajog4zmma/oibLjgpLlhaXjgozmm7/jgYjjgotcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICDnlLvpnaLjgpLmtojljrvjgZnjgovnr4Tlm7LjgpLmjIflrprjgIJhbGw65YWo55S76Z2i44CBcmVzdDrjgqvjg7zjgr3jg6vku6XpmY1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDzjg5XjgqHjgqTjg6vlkI0+ICAgICAg44OA44Oz44OX5YWI44Gu44OV44Kh44Kk44Or5ZCNXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorbXNnaWQgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2VuZCBrZXJuZWwgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIOOCq+ODvOODjeODq+ODoeODg+OCu+ODvOOCuOOCkuOCs+ODs+OCveODvOODq+OBq+mAgeOCiuOBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIOOCq+ODvOODjeODq+OCs+ODs+OCveODvOODq+ODreOCsOOBruODrOODmeODq1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVTQSDjga7nnIHpm7vlipvmqZ/og73oqK3lrppcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIFZFU0Eg44Gr44KI44KL6Zu75rqQT0ZGIOOBvuOBp+OBruaZgumWk+OCkuWIhuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIOODmeODq+mfs+OBrumVt+OBleOCkuODn+ODquenkuWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPOaVsOWApD4gICAgICAgICAgICDjg5njg6vpn7Pjga7lkajms6LmlbDjgpLjg5jjg6vjg4TjgafmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIuOCquODl+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICLmtojnga/jgpLlvLfliLbjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICLmtojnga/jga7nhKHlirnljJbjgpLlvLfliLbjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICLmtojnga/nirbmhYvjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAi44OA44Oz44OX44OV44Kh44Kk44OrICVzIOOCkuWHuuWKm+eUqOOBq+mWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIuerr+acqyAlcyDjga8gJXMg44KS44K144Od44O844OI44GX44Gm44GE44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4NTcKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAi44K344O844Kv44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKK21zZ2lkICJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIgorbXNnc3RyICLmqJnmupblhaXlipvjgYznq6/mnKvjgpLmjIfjgZfjgabjgYTjgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgIuOCq+ODvOOCveODq+S9jee9ruOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAi44Oq44K744OD44OI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDk3Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgIuecgembu+WKm+ODouODvOODieOBruioreWumiAo44G+44Gf44Gv6Kit5a6a6Kej6ZmkKSDjgYzjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMTYgdGVybS11dGlscy9zZXR0ZXJtLmM6MTEyNQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwg44Gn44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTQ2Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIkVEVSTSDjgYzoqK3lrprjgZXjgozjgabjgYTjgb7jgZvjgpPjgIIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTMKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgInRlcm1pbmZvIOODh+ODvOOCv+ODmeODvOOCueOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczog56uv5pyr44Gu56iu6aGe44GM5LiN5piO44Gn44GZIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU3Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIuerr+acq+OBr+ODj+ODvOODieOCs+ODlOODvOOBp+OBmSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgIuWGhemDqOOCqOODqeODvDogaW92IOOBjOWkmuOBmeOBjuOBvuOBmSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICLooYzlvJXmlbDjgYzplbfjgZnjgY7jgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJvcGVuIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVtIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAi5a2Q44OX44Ot44K744K544KS6LW35YuV44Gn44GN44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IOS4jeato+OBquOCqOODqeODvOOBp+OBmSwg44Oh44OD44K744O844K444GM6ZW344GZ44GO44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSBbPOODleOCoeOCpOODqz4gfCDjg6Hjg4Pjgrvjg7zjgrhdXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAi44GZ44G544Gm44Gu44Om44O844K244O844Gr44Oh44OD44K744O844K444KS6YCB44KK44G+44GZ44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICBvbmx5IHNlbmQgbWVzc2FnZSB0byBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPOOCsOODq+ODvOODlz4gICAgICAgICAg44OX44Op44Kk44Oe44Oq44Kw44Or44O844OX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkzCittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgICAg44OQ44OK44O844KS6KGo56S644GX44G+44Gb44KT44CC5L2/44GI44KL44Gu44GvIHJvb3Qg44Gg44GR44Gn44GZXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA85Yi26ZmQ5pmC6ZaTPiAg5pu444GN6L6844G/44Gu5Yi26ZmQ5pmC6ZaT44Gn44GZICjljZjkvY0656eSKVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBncm91cCBhcmd1bWVudCIKK21zZ3N0ciAi6YCf5bqm5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlczog5pyq55+l44Gu44Kw44Or44O844OXSUTjgafjgZkiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIg44GvIHJvb3Qg44Gg44GR44GM5L2/55So44Gn44GN44G+44GZIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5Yi26ZmQ5pmC6ZaT44Gu5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJwYXNzd2QgdWlkIOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAidHR5IOWQjeOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworIyBUcmFuc2xhdG9yJ3MgTk9URTogd2hvbSwgaG9zdG5hbWUsIHdoZXJlLCBkYXRlCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICIlc0AlcyDjgYvjgonmtYHjgozjgabjgY3jgZ/lhajkvZPlkajnn6Xjg6Hjg4Pjgrvjg7zjgrggKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIlcyDjgYvjgonjga/oqq3jgb/ovrzjgb/jgb7jgZvjgpMgLSDmqJnmupblhaXlipvjgpLjgYrkvb/jgYTjgY/jgaDjgZXjgYTjgIIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODpuODvOOCtj4gWzxUVFkg5ZCNPl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICLliKXjga7jg6bjg7zjgrbjg7zjgavjg6Hjg4Pjgrvjg7zjgrjjgpLpgIHjgorjgb7jgZnjgIJcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiJXMg44Gv44Ot44Kw44Kk44Oz44GX44Gm44GE44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgInR0eSDlkI3jgpLmpJzlh7rjgafjgY3jgb7jgZvjgpMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyDjga/jg6Hjg4Pjgrvjg7zjgrjjgpLnhKHlirnjgavjgZfjgabjgYTjgb7jgZkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyDjga/opIfmlbDjg63jgrDjgqTjg7PjgZfjgabjgYTjgb7jgZk7ICVzIOOBq+abuOOBjei+vOOBv+OBvuOBmSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIlMyRzIOOBqOOBl+OBpumAgeS/oeOBleOCjOOBn+OAgSAlMSRzQCUyJHMg44GL44KJ44Gu44Oh44OD44K744O844K444Gn44GZICjnq6/mnKs6ICU0JHMsIOaXpeaZgjogJTUkcykgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiJXNAJXMg44GL44KJ44Gu44Oh44OD44K744O844K444Gn44GZICjnq6/mnKs6ICVzLCDml6XmmYI6ICVzKSAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIuabuOOBjei+vOOBv+aoqemZkOOCkueEoeWKueOBq+OBl+OBn+OBvuOBvuOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyDjga8gJXMg44Gr44Ot44Kw44Kk44Oz44GX44Gm44GE44G+44Gb44KTIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMg44GvICVzIOOBp+ODoeODg+OCu+ODvOOCuOOCkueEoeWKueOBq+OBl+OBpuOBhOOBvuOBmSIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzUKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAi5YWl5Yqb44GL44KJ6YCG5pS56KGM44KS5Y+W44KK6Zmk44GP44OV44Kj44Or44K/44Gn44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIuOCquODl+OCt+ODp+ODszpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICDjg5Djg4Pjgq/jgrnjg5rjg7zjgrnjgpLooajnpLrjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICDljYrmlLnooYzjgpLoqLHlj6/jgZfjgb7jgZlcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICDmnKrnn6Xjga7liLblvqHmloflrZfjgpLjgZ3jga7jgb7jgb7ooajnpLrjgZfjgb7jgZlcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICDjgrnjg5rjg7zjgrnjgpLjgr/jg5bjgavlpInmj5vjgZfjgb7jgZlcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICDjgr/jg5bjgpLjgrnjg5rjg7zjgrnjgavlpInmj5vjgZfjgb7jgZlcbiIKKyIgLWwsIC0tbGluZXMgPOaVsOWApD4gICAgIOWwkeOBquOBj+OBqOOCgiA85pWw5YCkPiDooYzliIbjgaDjgZHjg5Djg4Pjg5XjgqHjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKyIlcyDjga/mqJnmupblhaXlipvjgYvjgonoqq3jgb/ovrzjgb/jgpLooYzjgarjgYTjgIHmqJnmupblh7rlipvjgavmm7jjgY3ovrzjgb/jgb7jgZnjgIJcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTUKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgIi1sIOW8leaVsOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgIuitpuWRijog44OQ44OD44Kv44Ki44OD44OX44Gn44GN44G+44Gb44KTOiAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgIuacgOWIneOBruihjOS7peWJjSIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAi6KGM44Gv5pei44Gr5pu444GN6L6844G+44KM44Gm44GX44G+44Gj44Gf44Gf44KBIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844OV44Kh44Kk44OrPi4uLl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICJucm9mZiDjga7lh7rlipvjgpLnlLvpnaLjgafooajnpLrjgZnjgovjgZ/jgoHjga7jg5XjgqPjg6vjgr/jgafjgZnjgIJcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIOS4i+e3muOCkuW8leOBjeOBvuOBm+OCk1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICDjgZnjgbnjgabjga7ooYzjgavljYrmlLnooYzjgYzjgYLjgovjgojjgYbjgavlh7rlipvjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisi5L2/44GE5pa5OlxuIgorIiAlcyBb6ZaL5aeL5qGBIFvntYLkuobmoYFdXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjUKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAi5YWl5Yqb44GL44KJ5oyH5a6a44GX44Gf5YiX44KS5YmK6Zmk44GX44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiMSDjgaTnm67jga7lgKQiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODcKK21zZ2lkICJzZWNvbmQgYXJndW1lbnQiCittc2dzdHIgIjIg44Gk55uu44Gu5YCkIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIgorbXNnc3RyICLntYLkuobkvY3nva7jga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgY29sdW1uIG5hbWUgJyVzJyIKK21zZ3N0ciAi44Oe44Km44Oz44OI44Od44Kk44Oz44OI44GM5a6a576p44GV44KM44Gm44GE44G+44Gb44KTIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1vcmRlciBsaXN0IgorbXNnc3RyICItLXRpbWVvdXQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjM5NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1yaWdodCBsaXN0IgorbXNnc3RyICLplovlp4vkvY3nva7jga7lh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXRydW5jIGxpc3QiCittc2dzdHIgIi0tdGltZW91dCDjga7op6Pph4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICItLXRpbWVvdXQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgIumWi+Wni+S9jee9ruOBruWHpueQhuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtaGlkZSBsaXN0IgorbXNnc3RyICItLXRpbWVvdXQg44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICLlh7rlipvjg4bjg7zjg5bjg6vjga7mupblgpnjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICLlhaXlipvjgpLliJfjgZTjgajjgavmlbTlvaLjgZfjgb7jgZnjgIJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAg6KGo44KS5L2c5oiQ44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA844OX44Ot44Kw44Op44Og5ZCNPiAgICDjgqjjg6njg7zjgYzloLHlkYrjgZXjgozjgZ/loLTlkIjjgavkvb/nlKjjgZnjgovlkI3liY3jgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MworIywgZnV6enkKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAg44Oe44Km44Oz44OI44Kq44OX44K344On44Oz44Gn44OV44Kh44Kk44Or44K344K544OG44Og44Gu5Ye65Yqb44KS5Yi26ZmQ44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ0Cittc2dpZCAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAg44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDjg5jjg4Pjg4DjgpLooajnpLrjgZfjgb7jgZvjgpNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDgKK21zZ2lkICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVtbnM+ICAgICAgcmlnaHQgYWxpZ24gdGV4dCBpbiB0aGVzZSBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhYmxlLXRydW5jYXRlIDxjb2x1bW5zPiAgIHRydW5jYXRlIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIOODl+ODreOCu+OCuSBJRFxuIgorIiAtbywgLS1vdXRwdXQgPOS4gOimpz4gICAg5Ye65Yqb44GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg44OY44OD44OA44KS6KGo56S644GX44G+44Gb44KTXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAg5Yqg5bel44KS6KGM44Gq44KP44Gq44GE5b2i5byP44Gn5Ye65Yqb44GX44G+44GZXG4iCisiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAg44OG44Kt44K544OI44KS5YiX5pa55ZCR44Gr5YiH44KK6Kmw44KB44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAtLWxpc3Qg44Gu57WQ5p6c44KS54m544Gr5Yqg5bel44KS6KGM44KP44Ga44Gr5Ye65Yqb44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU0CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS10cmVlIDxjb2x1bW4+ICAgICAgICAgICAgICBjb2x1bW4gdG8gdXNlIHRyZWUtbGlrZSBvdXRwdXQgZm9yIHRoZSB0YWJsZVxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAtLWxpc3Qg44Gn6KGo56S644GZ44KL5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPOeVquWPtz4gICAgICAgICAgICAg44OR44Op44Os44Or44Od44O844OI44GuIElSUSDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPOaVsOWApD4gICAgICAgICAgICDjg5jjg4Pjg4nmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tY29sdW1ucyA85bmFPiAgICAgICDlh7rlipvluYXjgpLmloflrZfmlbDjgafmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjAKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA85paH5a2X5YiXPiAg6KGo5Ye65Yqb5pmC44Gu5YiX5Yy65YiH44KK44KS5oyH5a6a44GX44G+44GZ44CCKOaXouWumuWApOOBr+OCueODmuODvOOCuSAyIOOBpClcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjEKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+ICAgICAgICAgcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIgLXMsIC0tc2VwYXJhdG9yIDzmloflrZfliJc+ICAgICAgICAg6KGo44Gu5Yy65YiH44KK5paH5a2X5YiX44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAg5YiX44Gu5YmN44Gr6KGM44KS5Z+L44KB44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICLliJfjga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAi5YiX44Gu5ZCN5YmN44Gu6Kej6YeI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODleOCoeOCpOODqz4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU5Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIuODleOCoeOCpOODq+OBruWGheWuueOCkiAxNumAsuaVsOOAgTEw6YCy5pWw44CBOOmAsuaVsOOAgUFTQ0lJ5paH5a2X44Gn6KGo56S644GX44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgICAgIDHjg5DjgqTjg4jjgZTjgajjgas46YCy6KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgICAgICAx44OQ44Kk44OI44GU44Go44Gr5paH5a2X6KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICAgICAg5qiZ5rqW55qE44GqMTbpgLIr44Ki44K544Kt44O86KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICAgICAgMuODkOOCpOODiOOBlOOBqOOBqzEw6YCy6KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgICAgIDLjg5DjgqTjg4jjgZTjgajjgas46YCy6KGo56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgICAgIDLjg5DjgqTjg4jjgZTjgajjgasxNumAsuihqOekulxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjgKK21zZ2lkICIgLUwsIC0tY29sb3JbPTxtb2RlPl0gICAgICBpbnRlcnByZXQgY29sb3IgZm9ybWF0dGluZyBzcGVjaWZpZXJzXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9POODouODvOODiT5dICAgICAgICDoibLooajnpLrjga7mlrnms5XjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIC1lLCAtLWZvcm1hdCA85b2i5byPPiAgICAgICAgICAg44OH44O844K/6KGo56S644Gr5Yip55So44GZ44KL44OV44Kp44O844Oe44OD44OI5paH5a2X5YiXXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIgLWYsIC0tZm9ybWF0LWZpbGUgPOODleOCoeOCpOODqz4gIOODleOCqeODvOODnuODg+ODiOaWh+Wtl+WIl+OCkuWPjumMsuOBmeOCi+ODleOCoeOCpOODq1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA86ZW344GVPiAgICAgICAgICAg5YWl5Yqb44Gu44GG44Gh5YWI6aCt44GL44KJ5oyH5a6a44OQ44Kk44OI44Gg44GR44KS6Kej6YeIXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIgLXMsIC0tc2tpcCA844Kq44OV44K744OD44OIPiAgICAgICDplovlp4vjgYvjgonmjIflrprjg5DjgqTjg4jpo5vjgbDjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICAg5ZCM5LiA6KGM44KS5Ye65YqbXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAi5YWo44Gm44Gu5YWl5Yqb44OV44Kh44Kk44Or5byV5pWw44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgIuWkieaPm+aWh+WtlyAlcyDjgavlr77jgZnjgovkuI3mraPjgarjg5DjgqTjg4jjgqvjgqbjg7Pjg4jjgafjgZkiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiUlcyDjgavjga/nsr7luqbjgb7jgZ/jga/jg5DjgqTjg4jjgqvjgqbjg7Pjg4jjgYzlv4XopoHjgafjgZkiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAi5pu45byP44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICLlpInmj5vmloflrZfjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMgJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAi6KSH5pWw44Gu5aSJ5o+b5paH5a2X44Gu44GC44KL44OQ44Kk44OI44Kr44Km44Oz44OI44Gn44GZIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIjHooYzjgpLoqq3jgb/ovrzjgb/jgb7jgZnjgIJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAi44OV44Kh44Kk44Or44KS55S76Z2i44Gn6Kqt44KA44Gf44KB44Gu44OV44Kj44Or44K/44Gn44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgIOODmeODq+OCkumztOOCieOBmeS7o+OCj+OCiuOBq+ODmOODq+ODl+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgIOeUu+mdouihqOekuuOBruihjOOBp+OBr+OBquOBj+OAgeirlueQhuihjOOCkuaVsOOBiOOBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAtbCAgICAgICAgICDmlLnjg5rjg7zjgrjoqJjlj7fjga7lvozjgafkuIDmmYLlgZzmraLjgZfjgb7jgZvjgpNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCittc2dpZCAiIC1jICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCittc2dzdHIgIiAtYyAgICAgICAgICDjgrnjgq/jg63jg7zjg6vjgZvjgZrjgIHjg4bjgq3jgrnjg4jjgpLkuIrmm7jjgY3jgZfjgabooYzmnKvjgpLjgq/jg6rjgqLjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQyCittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAtcCAgICAgICAgICDjgrnjgq/jg63jg7zjg6vjgZvjgZrjgIHmrKHjga7jg5rjg7zjgrjjgpLooajnpLrjgZnjgovliY3jgavnlLvpnaLjgpLmtojljrvjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQzCittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgIOmAo+e2muOBl+OBn+epuuihjOOCkjHooYzjgavjgb7jgajjgoHjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICDkuIvnt5rjgpLlvJXjgY3jgb7jgZvjgpNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTxudW1iZXI+ICAgMSDnlLvpnaLjgYLjgZ/jgorjga7ooYzmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzzmlbDlgKQ+ICAgICA85pWw5YCkPuihjOebruOBi+OCieODleOCoeOCpOODq+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiICsvPOaWh+Wtl+WIlz4gIOaWh+Wtl+WIl+OCkuaknOe0ouOBl+OAgeimi+OBpOOBi+OBo+OBn+WgtOaJgOOBi+OCieihqOekuuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBvcHRpb24gLSVzIgorbXNnc3RyICLkuI3mmI7jgarjgqrjg5fjgrfjg6fjg7MgLSVzIOOBp+OBmSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczog44OH44Kj44Os44Kv44OI44Oq44Gn44GZICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiDjg4bjgq3jgrnjg4jjg5XjgqHjgqTjg6vjgafjga/jgYLjgorjgb7jgZvjgpMgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJb57WC5LqG44GZ44KL44Gr44GvIHEg44G+44Gf44GvIFEg44KS5oq844GX44Gm5LiL44GV44GEXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLee2muOBjeOBvuOBmS0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIo5qyh44Gu44OV44Kh44Kk44OrOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIlvjgrnjg5rjg7zjgrnjgq3jg7zjgafntprooYzjgIEgJ3EnIOOBp+e1guS6huOBl+OBvuOBmV0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi4gJWQg44Oa44O844K45oi744KK44G+44GZIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi4gJWQg6KGM6aOb44Gw44GX44G+44GZIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKuaIu+OCiyoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjg0Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICLku6XliY3jgavkvb/nlKjjgZfjgZ/mraPopo/ooajnj77jga/jgYLjgorjgb7jgZvjgpMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisi44G744Go44KT44Gp44Gu44Kz44Oe44Oz44OJ44Gu5YmN44Gr44Gv44CB5pW05pWw44KS5oyH5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44GZICjkuIvoqJjjga7oqqzmmI7jgafjga/jgIEgayDjgajooajoqJjjgZfjgabjgYTjgb7jgZkpIOOAguaVtOaVsOOCkuaMh+WumuOBl+OBquOBhOWgtOWQiOOBruaXouWumuWApOOBr+OAgSBbXSDlhoXjgavmm7jjgYvjgozjgZ/lgKTjgafjgZnjgIJcbiIKKyLjgb7jgZ/jgIHjgqLjgrnjgr/jg6rjgrnjgq8gKCopIOOBjOabuOOBi+OCjOOBpuOBhOOCi+WgtOWQiOOBr+OAgeW8leaVsOOBjOaWsOOBl+OBhOaXouWumuWApOOBq+OBquOCi+OBk+OBqOOCkuihqOOCj+OBl+OBpuOBhOOBvuOBmeOAglxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAg5qyh44GuIGsg6KGM5YiG44Gu44OG44Kt44K544OI44KS6KGo56S644GX44G+44GZIFvnj77lnKjjga7nlLvpnaLjgrXjgqTjgrpdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAg5qyh44GuIGsg6KGM5YiG44Gu44OG44Kt44K544OI44KS6KGo56S644GX44G+44GZIFvnj77lnKjjga7nlLvpnaLjgrXjgqTjgrpdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIOasoeOBriBrIOihjOWIhuOBruODhuOCreOCueODiOOCkuihqOekuuOBl+OBvuOBmSBbMV0qXG4iCisiZCDjgb7jgZ/jga8gY3RybC1EICAgICAgICAgayDooYzliIbjgrnjgq/jg63jg7zjg6vjgZfjgb7jgZkgW+ePvuWcqOOBruOCueOCr+ODreODvOODq+OCteOCpOOCuiwg5Yid5pyf5YCk44GvIDExXSpcbiIKKyJxIOOBvuOBn+OBryBRIOOBvuOBn+OBryA8aW50ZXJydXB0PiBtb3JlIOOCkue1guS6huOBl+OBvuOBmVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIGsg6KGM5YWI44Gr56e75YuV44GX44G+44GZIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIGsg5Zue55S76Z2i44KS5YWI44Gr56e75YuV44GX44G+44GZIFsxXVxuIgorImIg44G+44Gf44GvIGN0cmwtQiAgICAgICAgIGsg5Zue55S76Z2i44KS5YmN44Gr56e75YuV44GX44G+44GZIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIOebtOi/keOBq+aknOe0ouOCkumWi+Wni+OBl+OBn+WcsOeCueOBq+enu+WLleOBl+OBvuOBmVxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIOePvuWcqOOBruihjOeVquWPt+OCkuihqOekuuOBl+OBvuOBmVxuIgorIi885q2j6KaP6KGo54++PiAgICAgICAgICAgICDmraPopo/ooajnj77jgavoqbLlvZPjgZnjgosgayDnlarnm67jga7kvY3nva7jgavnp7vli5XjgZfjgb7jgZkgWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAg5YmN5Zue44Gu5q2j6KaP6KGo54++44KS5Yip55So44GX44CBIGsg55Wq55uu44Gu6Kmy5b2T5L2N572u44Gr56e75YuV44GX44G+44GZIFsxXVxuIgorIiE844Kz44Oe44Oz44OJPiDjgb7jgZ/jga8gOiE844Kz44Oe44Oz44OJPiDjgrXjg5bjgrfjgqfjg6vjgacgPOOCs+ODnuODs+ODiT4g44KS5a6f6KGM44GX44G+44GZXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAg54++5Zyo44Gu6KGM44GnIC91c3IvYmluL3ZpIOOCkui1t+WLleOBl+OBvuOBmVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIOeUu+mdouOCkuWGjeaPj+eUu+OBl+OBvuOBmVxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIGsg5YCL5YiG44Gg44GR5YWI44Gu44OV44Kh44Kk44Or44Gr56e75YuV44GX44G+44GZIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIGsg5YCL5YiG44Gg44GR5YmN44Gu44OV44Kh44Kk44Or44Gr56e75YuV44GX44G+44GZIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIOePvuWcqOOBruODleOCoeOCpOODq+WQjeOBqOihjOeVquWPt+OCkuihqOekuuOBl+OBvuOBmVxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIOebtOWJjeOBruOCs+ODnuODs+ODieOCkue5sOOCiui/lOOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIlsnaCcg44Kt44O844Gn5pON5L2c5pa55rOV44KS6KGo56S644GX44G+44GZXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiICVkIOihjCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW+mdnuODleOCoeOCpOODq10gJWQg6KGMIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIOWkp+OBjeOBmeOBjuOBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTY0Cittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4u6aOb44Gw44GX44Gm44GE44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1OTgKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIuODkeOCv+ODvOODs+OBjOimi+OBpOOBi+OCiuOBvuOBm+OCk1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIuODkeOCv+ODvOODs+OBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIuWun+ihjOOBq+WkseaVl+OBl+OBvuOBl+OBn1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjY2Cittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICLlrZDjg5fjg63jgrvjgrnjgpLotbfli5XjgafjgY3jgb7jgZvjgpNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi7po5vjgbDjgZfjgabjgYTjgb7jgZkgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA0Cittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIi4uLuS4i+iomOOBruaVsOOBoOOBkeODleOCoeOCpOODq+OCkumjm+OBsOOBl+OBvuOBmSAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDYKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi7kuIvoqJjjga7mlbDjgaDjgZHjg5XjgqHjgqTjg6vjgpLmiLvjgZfjgb7jgZkgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAi6KGM44GM6ZW344GZ44GO44G+44GZIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAi5Lul5YmN44Gr5a6f6KGM44GX44Gf44Kz44Oe44Oz44OJ44GM44GC44KK44G+44Gb44KTIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIOOBk+OBrueUu+mdouOCkuihqOekuuOBl+OBvuOBmVxuIgorIiAgcSDjgb7jgZ/jga8gUSAgICAgICAgICAgICAg44OX44Ot44Kw44Op44Og44KS57WC5LqG44GX44G+44GZXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICDmrKHjga7jg5rjg7zjgrjjgavnp7vli5XjgZfjgb7jgZlcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIDEg44Oa44O844K45YiG44Gg44GR5qyh44Gr56e75YuV44GX44G+44GZXG4iCisiICBkIOOBvuOBn+OBryBeRCAgICAgICAgICAgICDljYrjg5rjg7zjgrjliIbjgaDjgZHmrKHjgavnp7vli5XjgZfjgb7jgZlcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIOasoeOBruihjOOBq+enu+WLleOBl+OBvuOBmVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAg5pyA57WC44Oa44O844K444Gr56e75YuV44GX44G+44GZXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICDmraPopo/ooajnj77jgafliY3pgLLmpJzntKLjgpLooYzjgarjgYTjgb7jgZlcbiIKKyIgID9yZWdleD8g44G+44Gf44GvIF5yZWdleF4gIOato+imj+ihqOePvuOBp+W+jOmAgOaknOafu+OCkuihjOOBquOBhOOBvuOBmVxuIgorIiAgLiDjgb7jgZ/jga8gXkwgICAgICAgICAgICAg55S76Z2i44KS5YaN5o+P55S744GX44G+44GZXG4iCisiICB3IOOBvuOBn+OBryB6ICAgICAgICAgICAgICDjg5rjg7zjgrjjgrXjgqTjgrrjgpLoqK3lrprjgZfjgIHmrKHjga7jg5rjg7zjgrjjgavnp7vli5XjgZfjgb7jgZlcbiIKKyIgIHMg44OV44Kh44Kk44Or5ZCNICAgICAgICAgICAg54++5Zyo44Gu44OV44Kh44Kk44Or44KS5oyH5a6a44GX44Gf44OV44Kh44Kk44Or5ZCN44Gr5L+d5a2Y44GX44G+44GZXG4iCisiICAh44Kz44Oe44Oz44OJICAgICAgICAgICAgICAg44K344Kn44Or44KS5a6f6KGM44GX44G+44GZXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICDliY3jga7jg5XjgqHjgqTjg6vjgavnp7vli5XjgZfjgb7jgZlcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIOasoeOBruODleOCoeOCpOODq+OBq+enu+WLleOBl+OBvuOBmVxuIgorIlxuIgorIuOBu+OBqOOCk+OBqeOBruOCs+ODnuODs+ODieOBruWJjeOBq+OBr+OAgeaVtOaVsOOCkuaMh+WumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmeOAguOBn+OBqOOBiOOBsDpcbiIKKyIrMTxuZXdsaW5lPiAo5qyh44Gu44Oa44O844K4KTsgLTE8bmV3bGluZT4gKOWJjeOBruODmuODvOOCuCk7IDE8bmV3bGluZT4gKOacgOWIneOBruODmuODvOOCuClcbiIKKyJcbiIKKyLoqbPjgZfjgY/jga8gcGcoMSkg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gWyvooYzmlbBdIFsrL+ODkeOCv+ODvOODsy9dIFvjg5XjgqHjgqTjg6tdXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICLjg5rjg7zjgrjjgZTjgajjgavjg4bjgq3jgrnjg4jjg5XjgqHjgqTjg6vjgpLooajnpLrjgZfjgb7jgZnjgIJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1udW1iZXIgICAgICAxIOODmuODvOOCuOOBguOBn+OCiuOBruihjOaVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICDooajnpLrjgpLooYzjgarjgYbliY3jgavnlLvpnaLjgpLmtojljrvjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MAorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICDjg5XjgqHjgqTjg6vntYLnq6/jgafkuIDmmYLlgZzmraLjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDplbfjgYTooYzjgpLliIblibLjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIOaUueihjOOBp+OCs+ODnuODs+ODieOBjOe1guOCj+OCiuOBp+OBguOCi+OCguOBruOBqOOBv+OBquOBmeOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIgLXAgPOODl+ODreODs+ODl+ODiD4g44OX44Ot44Oz44OX44OI44KS5oyH5a6a44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgIOOCs+ODnuODs+ODieOCkuWun+ihjOOBp+OBjeOBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ1Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICDjg6Hjg4Pjgrvjg7zjgrjjgpLmqJnmupblh7rlipvjgavooajnpLrjgZfjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICtudW1iZXIgICAgICDmjIflrprjgZfjgZ/ooYzjgYvjgonlh6bnkIbjgpLlp4vjgoHjgb7jgZlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NworbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL+ODkeOCv+ODvOODsy8gIOaMh+WumuOBl+OBn+ODkeOCv+ODvOODs+OCkuWQq+OCgOihjOOBi+OCieWHpueQhuOCkuWni+OCgeOBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAi44Kq44OX44K344On44Oz44Gr44Gv5byV5pWw44GM5b+F6KaB44Gn44GZIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjY0CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICLjgqrjg5fjgrfjg6fjg7PjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLumjm+OBsOOBl+OBpuOBhOOBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiLi4u5be744GN5oi744GX44Gm44GE44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODUKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIuasoeOBruODleOCoeOCpOODq+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy9wZy5jOjM4OQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIuS7peWJjeOBruODleOCoeOCpOODq+OBr+OBguOCiuOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAi44OV44Kh44Kk44OrICVzIOOBi+OCieOBruiqreOBv+i+vOOBv+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICLjg5XjgqHjgqTjg6sgJXMg44Gn5LqI5pyf44GX44Gq44GE44OV44Kh44Kk44Or57WC56uv44GM5qSc5Ye644GV44KM44G+44GX44GfIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAi44OV44Kh44Kk44OrICVzIOOBp+S4jeaYjuOBquOCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0OQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIuS4gOaZguODleOCoeOCpOODq+OCkuS9nOaIkOOBp+OBjeOBvuOBm+OCkyIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIlJFIOOCqOODqeODvDoiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTA1Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihFT0YpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEzMCB0ZXh0LXV0aWxzL3BnLmM6MTE1NgorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAi5qSc57Si5paH5a2X5YiX44Go44GX44Gm6KiY5oa244GX44Gm44GE44KL44KC44Gu44Gv44GC44KK44G+44Gb44KTIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIxMQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAi5LiL6KiY44Gu44KC44Gu44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAi5L+d5a2Y44GX44G+44GX44GfIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiAhY29tbWFuZCDjga8gcmZsYWcg44Oi44O844OJ44Gn44Gv6Kix5Y+v44GV44KM44G+44Gb44KT44CCXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzg3Cittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSDjgYzlpLHmlZfjgZfjgb7jgZfjgZ/jgIHlvozjgaflrp/ooYzjgZfnm7TjgZfjgabjgY/jgaDjgZXjgYRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NzUKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIijmrKHjga7jg5XjgqHjgqTjg6s6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICIxIOODmuODvOOCuOOBguOBn+OCiuOBruihjOaVsOOBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAi5L2/44GE5pa5OiAlcyBb44Kq44OX44K344On44OzXSBb44OV44Kh44Kk44OrIC4uLl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAi6KGM44Gu5YaF5a6544KS5paH5a2X5Y2Y5L2N44Gn6YCG6aCG44Gr5Lim44G55pu/44GI44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIFs844OV44Kh44Kk44OrPiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAi5LiL57ea44KS5byV44GE44Gm44GE44G+44GZ44CCXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIOerr+acqyAgICAgIFRFUk0g55Kw5aKD5aSJ5pWw44Gn5oyH5a6a44GX44Gf56uv5pyr44Gn44Gv44Gq44GP44CB44GT44Gu56uv5pyr44KS5L2/55So44GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICDkuIvnt5rjga7ku6Pjgo/jgorjgavjgIHmrKHjga7ooYzjga7lkIzjgZjkvY3nva7jgavjg4Djg4Pjgrfjg6UgJy0nIOOCkuihqOekuuOBl+OBvuOBmVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJ0ZXJtaW5mbyDjga7oqq3jgb/ovrzjgb/kuK3jgavjg4jjg6njg5bjg6vjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICLnq6/mnKsgYCVzJyDjga/kuI3mmI7jgarnq6/mnKvjgafjgZnjgIIgYGR1bWInIOOBqOOBl+OBpuWHpueQhuOBl+OBvuOBmSIKKworIzogdGV4dC11dGlscy91bC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICLmnKrnn6Xjga7jgqjjgrnjgrHjg7zjg5fjgrfjg7zjgrHjg7PjgrnjgYzlhaXlipvjgavlkKvjgb7jgozjgabjgYTjgb7jgZk6ICVvLCAlbyIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICLlhaXlipvooYzjgYzplbfjgZnjgY7jgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJHZW9tZXRyeSIKKyN+IG1zZ3N0ciAi44K444Kq44Oh44OI44OqIgorCisjfiBtc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCisjfiBtc2dzdHIgIuODreODg+OCr+OBrueorumhnjogRkxfRkxPQ0sg44G+44Gf44GvIEZMX1BPU0lYIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAiYCVzJyDjga4gL2Jpbi91bW91bnQg5a6f6KGM44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAic2xlZXBpbmcgfiVkIHVzZWNcbiIKKyN+IG1zZ3N0ciAic2xlZXBpbmcgfiVkIM6856eSXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiVsZC4lMDZkIDwgJWxkLiUwNmQgKCUuNmYpXG4iCisjfiBtc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorI34gbXNnc3RyICIlbGQuJTA2ZCA8ICVsZC4lMDZkICglLjZmKVxuIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWGl+mVt+OBquODh+ODvOOCv+WHuuWKm+OCkuihjOOBhOOBvuOBmVxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgIiVzIOOBi+OCieOBruiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKKyN+IG1zZ3N0ciAi5a6f6KGM44Gn44GN44G+44Gb44KTOiAlcyIKKworI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgIuacquWvvuW/nOOBruOCouODq+OCtOODquOCuuODoOOBp+OBmTogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29tbWFuZHM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLkvb/jgYTmlrk6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBb44OH44OQ44Kk44K5XVxuIgorI34gIiAlMSRzIFstdnwtcV0g44Kz44Oe44Oz44OJIOODh+ODkOOCpOOCuVxuIgorI34gIlxuIgorI34gIuWIqeeUqOWPr+iDveOBquOCs+ODnuODs+ODiTpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuWIqeeUqOWPr+iDveOBquWIlyAoLW8g44Gn5oyH5a6a44GX44G+44GZKTpcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIuOCt+ODvOOCr+OCqOODqeODvOOBp+OBmTogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZk7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC1WIOOBr+WNmOeLrOOBp+aMh+WumuOBl+OBn+WgtOWQiOOBq+OBruOBv+acieWKueOBp+OBmVxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Yip55So5Y+v6IO944Gq5YiXICgtLXNob3csIC0tcmF3LCAtLXBhaXJzIOOBp+aMh+WumuOBp+OBjeOBvuOBmSk6XG4iCisKKyN+IG1zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC12LCAtLXZlcnNpb24gIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiVHJ5ICclcyAtaCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIuips+OBl+OBj+OBryBgJXMgLWgnIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC11LCAtLWhlbHAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAi5LiN5piO44Gq44K344Kn44Or44Gn44GZ44CCIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Yip55So5Y+v6IO944Gq5YiXOlxuIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiA8Y29tbWFuZD5cbiIKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisjfiBtc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSAtdSA844Om44O844K2PiA844Kz44Oe44Oz44OJPlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Yip55So5Y+v6IO944Gq5YiXICgtLW91dHB1dCDjgafmjIflrprjgZfjgb7jgZkpOlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICLoqbPjgZfjgY/jga8gYCVzIC0taGVscCcg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLoqbPjgZfjgY/ooajnpLrjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorI34gIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIOS5seaVsOOCkuODmeODvOOCueOBq+OBl+OBnyB1dWlkIOOCkueUn+aIkOOBl+OBvuOBmVxuIgorI34gIiAtdCwgLS10aW1lICAgICAgIOaZguWIu+OCkuODmeODvOOCueOBq+OBl+OBnyB1dWlkIOOCkueUn+aIkOOBl+OBvuOBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorI34gIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorI34gIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorI34gIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAg44GZ44G544Gm44Gu44Oe44K444OD44Kv5paH5a2X5YiX44KS5raI5Y6744GX44G+44GZICjms6jmhI/jgZfjgabjgYrkvb/jgYTjgY/jgaDjgZXjgYTvvIEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAg572y5ZCN44Gu44OQ44OD44Kv44Ki44OD44OX44KSICRIT01FIOOBq+S9nOaIkOOBl+OBvuOBmVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIOW8t+WItueahOOBq+a2iOWOu+OBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIOOBk+OBruODmOODq+ODl+ODhuOCreOCueODiOOCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAtbiwgLS1uby1hY3QgICAgICAgIHdyaXRlKCkg44Kz44O844Or5Lul5aSW44Gu44GZ44G544Gm44Gu5Yem55CG44KS6KGM44GE44G+44GZXG4iCisjfiAiIC1vLCAtLW9mZnNldCA85pWw5YCkPiDmtojljrvjgZnjgovjgqrjg5Xjgrvjg4Pjg4jlgKTjgpLjg5DjgqTjg4jljZjkvY3jgafmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICDljbDlrZflj6/og73jgarlvaLlvI/jgafjga/jgarjgY/jgIHjg5fjg63jgrDjg6njg6Djgarjganjgaflh6bnkIbjgZfjgoTjgZnjgYTlvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICDlh7rlipvjgZXjgozjgovjg6Hjg4Pjgrvjg7zjgrjjgpLnnIHnlaXjgZfjgb7jgZlcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPOODquOCueODiD4g5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44K344K544OG44OgIChSQUlELCDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgarjgakpIOOBruOBv+OBq+WItumZkOOBl+OBvuOBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorI34gbXNnc3RyICLjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLoqIjjg6zjgrjjgrnjgr/jgYzmraPjgZfjgY/jgarjgYTlgKQgKOS+izog5pel44GMIDUwIOaXpeOBquOBqSkg44Gr44Gq44Gj44Gm44GE44KL44GL44CB5Yem55CG5Y+v6IO944Gq56+E5Zuy44KS6LaF44GI44Gf5pel5LuYICjkvos6IDIwOTUg5bm0KSDjgavjgarjgaPjgabjgYTjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICLjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLoqIjjgavjga/mraPjgZfjgYTmmYLliLvjgYzlkKvjgb7jgozjgabjgYTjgarjgYTjgZ/jgoHjgIHjgrfjgrnjg4bjg6Djga7mmYLliLvjgpLjg4/jg7zjg4njgqbjgqfjgqLjgYvjgonoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgIIiCisKKyN+IG1zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorI34gbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjfiBtc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisjfiBtc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCisjfiBtc2dzdHIgIuOCt+OCueODhuODoOOBruaZguWIu+OCkuioreWumuOBmeOCi+OBq+OBr+OAgeOCueODvOODkeODvOODpuODvOOCtuOBp+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAgiIKKworI34gbXNnaWQgIlx0VVRDOiAlc1xuIgorI34gbXNnc3RyICJcdFVUQzogJXNcbiIKKworI34gbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCisjfiBtc2dzdHIgIuS7peWJjeOAgeODj+ODvOODieOCpuOCp+OCouOBruaZguioiOWGheOBq+OCtOODn+OBjOWQq+OBvuOCjOOBpuOBhOOBn+OBn+OCgeOAgeOCuuODrOOBruWApOOCkuiqv+aVtOOBmeOCi+WHpueQhuOBr+ihjOOBhOOBvuOBm+OCk+OAglxuIgorCisjLCBmdXp6eQorI358IG1zZ2lkICJkZXZpY2UgJXMgaXMgbm90IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnaWQgIiIKKyN+ICJUZXN0IG1vZGU6ICVzIHdhcyBub3QgdXBkYXRlZCB3aXRoOlxuIgorI34gIiVzIgorI34gbXNnc3RyICLjg4fjg5DjgqTjgrkgJXMg44GvICVzIOOBq+mWoumAo+OBpeOBkeOCieOCjOOBpuOBhOOBvuOBm+OCk1xuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAi5pmC6KiI44Gu6Kq/5pW044OR44Op44Oh44O844K/44KS44OV44Kh44Kk44OrICglcykg44Gr5pu444GN6L6844KA6Zqb44CB44OV44Kh44Kk44Or44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorI34gbXNnc3RyICLmmYLoqIjjga7oqr/mlbTjg5Hjg6njg6Hjg7zjgr/jgpLjg5XjgqHjgqTjg6sgKCVzKSDjgavmm7jjgY3ovrzjgoDpmpvjgIHmm7TmlrDlh6bnkIbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorI34gbXNnc3RyICLlvq7oqr/mlbTjg5Hjg6njg6Hjg7zjgr/jga/mm7TmlrDjgZfjgb7jgZvjgpPjgafjgZfjgZ/jgIIiCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorI34gbXNnc3RyICLjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLoqIjjgYzmraPjgZfjgYTmmYLliLvjgavjgarjgaPjgabjgYTjgarjgYTjgZ/jgoHjgIHoqr/mlbTjgafjgY3jgb7jgZvjgpPjgIIiCisKKyN+IG1zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiMTk2OSDlubTjgYvjgokgJWxkIOenkue1jOmBjuOBl+OBn+autemajuOBp+OAgSBSVEMg44GvIDE5Njkg5bm044GL44KJICVsZCDnp5LntYzpgY7jgZfjgabjgYTjgovjgoLjga7jgajkuojmuKzjgZXjgozjgb7jgZnjgIJcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIuOCq+ODvOODjeODq+OBi+OCieOCqOODneODg+OCr+WApOOCkuWPluW+l+OBp+OBjeOBvuOBm+OCk+OAgiIKKworI34gbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKKyN+IG1zZ3N0ciAi44Kr44O844ON44Or44Gv44Ko44Od44OD44Kv5YCk44KSICVsdSDjgajku67lrprjgZfjgabjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIuOCqOODneODg+OCr+WApOOCkuioreWumuOBmeOCi+OBq+OBr+OAgSAnZXBvY2gnIOOCquODl+OCt+ODp+ODs+OCkuWIqeeUqOOBl+OBpuWApOOCkuaMh+WumuOBl+OBquOBkeOCjOOBsOOBquOCiuOBvuOBm+OCk+OAgiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVkIC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIuOCqOODneODg+OCr+WApOOCkiAlZCDjgavjga/oqK3lrprjgZfjgb7jgZvjgpMgLSDjg4bjgrnjg4jjgaDjgZHjgpLooYzjgaPjgabjgYTjgb7jgZnjgIJcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgIuOCq+ODvOODjeODq+OBq+OCqOODneODg+OCr+WApOOCkuioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn+OAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCisjfiBtc2dzdHIgIuODj+ODvOODieOCpuOCp+OCouOBruaZguWIu+OBryAlcyDjgafjgZlcbiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiIgorI358ICIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI358ICIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfnwgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+ODhuOCreOCueODiOOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICDjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvjgpLoqq3jgb/jgaDjgZfjgabjgIHjgZ3jga7ntZDmnpzjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAg44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi744KSIC0tZGF0ZSDjgafmjIflrprjgZfjgZ/mmYLliLvjgavoqK3lrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIOODj+ODvOODieOCpuOCp+OCouOBruaZguWIu+OCkuWFg+OBq+OBl+OBpuOCt+OCueODhuODoOOBruaZguWIu+OCkuioreWumuOBl+OBvuOBmVxuIgorI34gIiAtdywgLS1zeXN0b2hjICAgICAgICDjgrfjgrnjg4bjg6Djga7mmYLliLvjgpLlhYPjgavjgZfjgabjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvjgpLoqK3lrprjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tc3lzdHogICAgICAgICAg54++5Zyo44Gu44K/44Kk44Og44K+44O844Oz44KS5YWD44Gr44GX44Gm44K344K544OG44Og5pmC5Yi744KS6Kit5a6a44GX44G+44GZXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgICAgIOacgOW+jOOBq+ioreWumuOBvuOBn+OBr+iqv+aVtOOBleOCjOOBn+aZgueCueOBi+OCieOBqeOCjOOBoOOBkeOCuuODrOOBpuOBhOOCi+OBruOBi+OCklxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIOa4rOWumuOBmeOCi+OBn+OCgeOAgSBSVEMg44KS6Kq/5pW044GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAg44Kr44O844ON44Or44Gu44OP44O844OJ44Km44Kn44Ki5pmC5Yi744Gr6Kit5a6a44GV44KM44Gf44Ko44Od44OD44Kv5YCk44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAgICAtLXNldGVwb2NoICAgICAgIOOCq+ODvOODjeODq+OBruODj+ODvOODieOCpuOCp+OCouaZguWIu+OBq+WvvuOBl+OAgSAtLWVwb2NoIOOBp+aMh+WumuOBl+OBn+OCqOODneODg+OCr1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIOWApOOCkuioreWumuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tcHJlZGljdCAgICAgICAgLS1kYXRlIOOBp+aMh+WumuOBleOCjOOBn+aZguWIu+OBq+OBiuOBkeOCiyBSVEMg44Gu5YCk44KS5LqI5ris44GX44G+44GZXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIOODj+ODvOODieOCpuOCp+OCouOBruaZguioiOOBjCBVVEMg44Gr6Kit5a6a44GV44KM44Gm44GE44KL44KC44Gu44Go44G/44Gq44GX44G+44GZXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIOODj+ODvOODieOCpuOCp+OCouOBruaZguioiOOBjOODreODvOOCq+ODq+aZguWIu+OBq+ioreWumuOBleOCjOOBpuOBhOOCi+OCguOBruOBqOOBv+OBquOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZiwgLS1ydGMgPOODleOCoeOCpOODqz4g5L2/55So44GZ44KLIFJUQyDjg4fjg5DjgqTjgrnjg5XjgqHjgqTjg6sgKC9kZXYvLi4uKSDjgpLmjIflrprjgZfjgb7jgZlcbiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiIgorI358ICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfnwgIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI358ICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyN+fCAiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSBkcmlmdCBmYWN0b3IgaW4gJTEkcyAocmVxdWlyZXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAtLWFkamZpbGUgPGZpbGU+IHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGU7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgICVzIOOBq+OBr+OCouOCr+OCu+OCueOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmTsg44GT44KM44GvIC0tdXRjIOOBvuOBn+OBr1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tbG9jYWx0aW1lIOOBqOWFseOBq+S9v+eUqOOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmVxuIgorI34gIiAgICAgLS1hZGpmaWxlIDxmaWxlPiDoqr/mlbTnlKjjga7jg5XjgqHjgqTjg6vjga7jg5HjgrnjgpLmjIflrprjgZfjgb7jgZk7IFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIOaXouWumuWApOOBryAlcyDjgafjgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAg5pu05paw5Yem55CG44Gv6KGM44KP44Ga44CB5L2V44GM6KGM44KP44KM44KL44GL44Gg44GR44KS6KGo56S644GX44G+44GZXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIOODh+ODkOODg+OCsOODouODvOODieOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKKyN+IG1zZ3N0ciAi44Ko44Od44OD44Kv5YCk44Gu5oyH5a6a44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCisjfiBtc2dzdHIgIiVzIOOBq+OBr+WJsuOCiui+vOOBv+apn+iDveOBjOOBguOCiuOBvuOBm+OCk+OAgiAiCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAi5Ymy44KK6L6844G/5pu05paw44KS5pyJ5Yq55YyW44GZ44KL44Gf44KB44GuICVzIOOBuOOBriBpb2N0bCgpIOOBjOS6iOacn+OBm+OBmuWkseaVl+OBl+OBvuOBl+OBnyIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlICVzLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorI34gbXNnc3RyICLjgqvjg7zjg43jg6vlhoXjga7jgqjjg53jg4Pjgq/lgKTjgpLmk43kvZzjgZnjgovjgavjga/jgIHjg4fjg5DjgqTjgrnjgrnjg5rjgrfjg6Pjg6vjg5XjgqHjgqTjg6vjga4gJXMg44KS5Yip55So44GX44Gm44CBIExpbnV4IOOBriAncnRjJyDjg4fjg5DjgqTjgrnjg4njg6njgqTjg5DjgavjgqLjgq/jgrvjgrnjgZfjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpPjgYzjgIHlt6boqJjjga7jg5XjgqHjgqTjg6vjga/jgrfjgrnjg4bjg6DlhoXjgavlrZjlnKjjgZfjgabjgYTjgb7jgZvjgpPjgIIiCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbGQgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorI34gbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorI34gbXNnc3RyICJSVENfRVBPQ0hfUkVBRCBpb2N0bCDjgpLliKnnlKjjgZfjgabjgIEgJTIkcyDjgYvjgonjgqjjg53jg4Pjgq/lgKQgJTEkbGQg44KS6Kqt44G/5Y+W44KK44G+44GX44Gf44CCXG4iCisKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICLjgqjjg53jg4Pjgq/lgKTjgYwgMTkwMCDlubTku6XliY3jgafjga/jgarjgYTjgoLjga7jgajmgJ3jgo/jgozjgb7jgZnjgILmjIflrprlgKTjga8gJWxkIOOBp+OBmSIKKworIywgZnV6enkKKyN+fCBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbGQgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiVENfRVBPQ0hfU0VUIGlvY3RsIOOCkuWIqeeUqOOBl+OBpuOAgSAlMiRzIOOBq+OCqOODneODg+OCr+WApCAlMSRsZCDjgpLoqK3lrprjgZfjgabjgYTjgb7jgZnjgIJcbiIKKworI34gbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisjfiBtc2dzdHIgIiVzIOWQkeOBkeOBruOCq+ODvOODjeODq+ODh+ODkOOCpOOCueODieODqeOCpOODkOOBq+OBr+OAgSBSVENfRVBPQ0hfU0VUIGlvY3RsIOOBruapn+iDveOBjOOBguOCiuOBvuOBm+OCk+OAgiIKKworI34gbXNnaWQgIiIKKyN+ICIlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICIlc1xuIgorI34gIuips+OBl+OBhOaDheWgseOBq+OBpOOBhOOBpuOBr+OAgSBgJXMgLS1oZWxwJyDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIIiCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICLoqbPjgZfjgYTmg4XloLHjgavjgaTjgYTjgabjga/jgIEgYCVzIC0taGVscCcg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuWIqeeUqOWPr+iDveOBquWIlyAoLS1zaG93IOOBp+aMh+WumuOBl+OBvuOBmSk6XG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKKyN+IG1zZ3N0ciAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAg44OJ44Op44Kk44OQ44Gr5a++44GX44GmIElSUSDjgpLkv6HnlKjjgZnjgovjgojjgYbjgavoqK3lrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCisjfiBtc2dzdHIgIuODh+ODkOOCpOOCuSAlcyDjgavjga/ml6LjgasgJXMg572y5ZCN44GM5pu444GN6L6844G+44KM44Gm44GE44G+44GZ44CCIgorCisjfiBtc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCisjfiBtc2dzdHIgIiVzOiDjgZPjgozjgonjga7jgqrjg5fjgrfjg6fjg7Pjga/lkIzmmYLjgavmjIflrprjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpM6IgorCisjLCBmdXp6eQorI358IG1zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+IG1zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAg44GZ44G544Gm44Gu44OV44Kh44Kk44Or44K344K544OG44Og44KS44Ki44Oz44Oe44Km44Oz44OI44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAi5pmC6KiI44KS5aSJ5pu044GX44G+44Gb44KT44Gn44GX44GfIC0g44OG44K544OI44Gg44GR44KS6KGM44Gj44Gm44GE44G+44GZ44CCXG4iCisKKyN+IG1zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIi0tZGF0ZSDjgqrjg5fjgrfjg6fjg7PjgYzmjIflrprjgZXjgozjgabjgYTjgb7jgZvjgpPjgIIiCisKKyN+IG1zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCisjfiBtc2dzdHIgIi0tZGF0ZSDlvJXmlbDjga7mjIflrprjgYzplbfjgZnjgY7jgb7jgZkiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisjfiAiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKKyN+IG1zZ3N0ciAiIgorI34gIi0tZGF0ZSDjgqrjg5fjgrfjg6fjg7Pjga7lgKTjgYzmraPjgZfjgYTml6Xku5jjgafjga/jgYLjgorjgb7jgZvjgpPjgIJcbiIKKyN+ICLnibnjgavlvJXnlKjnrKbjgYzlkKvjgb7jgozjgabjgYTjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAiZGF0ZSDjgrPjg57jg7Pjg4njgpLnmbrooYzjgZfjgabjgYTjgb7jgZk6ICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorI34gbXNnc3RyICIiCisjfiAiL2Jpbi9zaCDjgrfjgqfjg6vlhoXjgacgJ2RhdGUnIOODl+ODreOCsOODqeODoOOCkuWun+ihjOOBp+OBjeOBvuOBm+OCk+OAglxuIgorI34gInBvcGVuKCkg44GM5aSx5pWX44GX44G+44GX44Gf44CCIgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJkYXRlIOOCs+ODnuODs+ODieOBi+OCieOBruW/nOetlCA9ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAiJXMg44Gr44KI44Gj44Gm55m66KGM44GV44KM44GfIGRhdGUg44Kz44Oe44Oz44OJ44Gv44CB5LqI5pyf44GX44Gq44GE57WQ5p6c44KS6L+U44GX44G+44GX44Gf44CCXG4iCisjfiAi44Kz44Oe44Oz44OJOlxuIgorI34gIiAgJXNcbiIKKyN+ICLlv5znrZQ6XG4iCisjfiAiICAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiJXMg44Gr44KI44Gj44Gm55m66KGM44GV44KM44GfIGRhdGUg44Kz44Oe44Oz44OJ44Gv5aSJ5o+b5b6M44Gu5pmC5Yi75YCk44KS6L+U44GV44Ga44CB5pW05pWw5Lul5aSW44Gu5YCk44KS6L+U5Y2044GX44G+44GX44Gf44CCXG4iCisjfiAi44Kz44Oe44Oz44OJOlxuIgorI34gIiAgJXNcbiIKKyN+ICLlv5znrZQ6XG4iCisjfiAiICVzXG4iCisKKyN+IG1zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCisjfiBtc2dzdHIgIuaXpeS7mOaWh+Wtl+WIlyAlcyDjga8gMTk2OSDlubTjgYvjgokgJWxkIOenkuebruOBq+OBguOBn+OCiuOBvuOBmeOAglxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCisjfiBtc2dzdHIgIuODhuOCueODiOODouODvOODieOBp+WLleS9nOOBl+OBpuOBhOOCi+OBn+OCgeOAgeOCt+OCueODhuODoOOBruaZguWIu+OCkuioreWumuOBl+OBvuOBm+OCk+OAglxuIgorCisjfiBtc2dpZCAiTm90IHVwZGF0aW5nIGFkanRpbWUgZmlsZSBiZWNhdXNlIG9mIHRlc3RpbmcgbW9kZS5cbiIKKyN+IG1zZ3N0ciAi44OG44K544OI44Oi44O844OJ44Gn5YuV5L2c44GX44Gm44GE44KL44Gf44KBIGFkanRpbWUg44OV44Kh44Kk44Or44KS5pu05paw44GX44G+44Gb44KT44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICLmnKzmnaXjgarjgonjgbAgJXMg44Gr5Lul5LiL44Gu44KI44GG44Gr5pu444GN6L6844G+44KM44KL44Gv44Ga44Gn44GX44GfOlxuIgorI34gIiVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisjfiAiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorI34gIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorI34gbXNnc3RyICIiCisjfiAi44Kr44O844ON44Or44GM44OP44O844OJ44Km44Kn44Ki5pmC6KiI55So44Gu44Ko44Od44OD44Kv5YCk44KS5L+d5oyB44Gn44GN44KL44Gu44Gv44CBIEFscGhhIOODnuOCt+ODs1xuIgorI34gIuOBoOOBkeOBp+OBmeOAglxuIgorI34gIuOBk+OBriBod2Nsb2NrIOOBryBBbHBoYSDku6XlpJbjga7jg57jgrfjg7PnlKjjgavmp4vnr4njgYrjgojjgbPlrp/ooYzjgZXjgozjgabjgYTjgovjgZ/jgoHjgIFcbiIKKyN+ICLlrp/ooYzjgafjgY3jgb7jgZvjgpPjgIIiCisKKyN+IG1zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCisjfiBtc2dzdHIgIiAtYywgLS1jb21wYXJlICAgICAgICDjgrfjgrnjg4bjg6Djga7mmYLliLvjgaggQ01PUyDjga7mmYLliLvjgpLlrprmnJ/nmoTjgavmr5TovIPjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyN+ICIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgICVzIOOBp+OBr+OBquOBj+OAgSBJU0Eg44OQ44K544Gr55u05o6l44Ki44Kv44K744K544GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiICAgICAtLWJhZHllYXIgICAgICAgIEJJT1Mg44Gu5LiN5YKZ44Gq44Gp44Gu55CG55Sx44Gn44CBIFJUQyDjga7lubTjgpLnhKHoppbjgZnjgovjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tZGF0ZSA8dGltZT4gICAg44OP44O844OJ44Km44Kn44Ki44Gu5pmC5Yi744KS6Kit5a6a44GZ44KL5pel5pmC44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIOODj+ODvOODieOCpuOCp+OCouOBq+ioreWumuOBmeOCi+OCqOODneODg+OCr+WApOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICDjgYrkvb/jgYTjga4gQWxwaGEg44Oe44K344Oz44K/44Kk44OX44KS5oyH5a6a44GX44G+44GZICjoqbPjgZfjgY/jga8gaHdjbG9jayg4KSDjgpLlj4LnhacpXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICLnlLPjgZfoqLPjgYLjgorjgb7jgZvjgpPjgILjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvjgpLlpInmm7TjgZnjgovjgavjga/jgrnjg7zjg5Hjg7zjg6bjg7zjgrbjga7mqKnpmZDjgYzlv4XopoHjgafjgZnjgIIiCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMg44Gr44Gv5L2V44KJ44GL44Gu44Kq44OX44K344On44Oz5byV5pWw44GM5b+F6KaB44Gn44GZ44CC54++5ZyoICVkIOWAi+OBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBmeOAglxuIgorCisjfiBtc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCisjfiBtc2dzdHIgIuS9v+eUqOWPr+iDveOBquioreWumuaZguWIu+OBjOOBguOCiuOBvuOBm+OCk+OAguaZguWIu+OBruS/ruato+OBr+ihjOOBhOOBvuOBm+OCk+OAgiIKKworI34gbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKKyN+IG1zZ3N0ciAiTUlMTyDjgYvjgonotbfli5XjgZfjgabjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCisjfiBtc2dzdHIgIlJ1ZmZpYW4gQkNEIOOCr+ODreODg+OCr+OBp+OBmVxuIgorCisjfiBtc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKKyN+IG1zZ3N0ciAi44Kv44Ot44OD44Kv44Od44O844OI44KSIDB4JXgg44Gr5L+u5q2j44GX44G+44GX44GfXG4iCisKKyN+IG1zZ2lkICJmdW5reSBUT1khXG4iCisjfiBtc2dzdHIgImZ1bmt5IFRPWSDjgafjgZlcbiIKKworI34gbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCisjfiBtc2dzdHIgIjEwMDAg5Zue44Gu5YiX5oyZ44Gr5a++44GX44CB5LiN5Y+v5YiG44GqICVzIOWHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBn++8gSIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKTog44Kz44Oz44OI44Ot44O844Or44Ki44OJ44Os44K5ICVYIOOBuOOBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NfcmVhZCgpOiDjgrPjg7Pjg4jjg63jg7zjg6vjgqLjg4njg6zjgrkgJVgg44G444Gu5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3dyaXRlKCk6IOOCs+ODs+ODiOODreODvOODq+OCouODieODrOOCuSAlWCDjgbjjga7mm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3Nfd3JpdGUoKTog44OH44O844K/44Ki44OJ44Os44K5ICVYIOOBuOOBruabuOOBjei+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKKyN+IG1zZ3N0ciAi5YaN6Kmm6KGM44GX44Gq44GL44Gj44Gf44Gf44KB44CB6Kix5Y+v44Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44Gf44CCIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCisjfiBtc2dzdHIgIkkvTyDjg53jg7zjg4jjgqLjgq/jgrvjgrnjgpLlj5blvpfjgafjgY3jgb7jgZvjgpM6IGlvcGwoMykg44Gu5ZG844Gz5Ye644GX44Gr5aSx5pWX44GX44G+44GX44Gf44CCIgorCisjfiBtc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorI34gbXNnc3RyICLmgZDjgonjgY8gcm9vdCDmqKnpmZDjgYzlv4XopoHjgafjgZnjgIJcbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorI34gbXNnc3RyICLlh7rlipvooYzjga7liJ3mnJ/ljJbjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgIuOCqOODqeODvDog44K344Kw44OK44Or44OP44Oz44OJ44Op44KS6Kit5a6a44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAi44Ko44Op44O8OiDjgrfjgrDjg4rjg6vjg4/jg7Pjg4njg6njgpLlvqnlhYPjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICIlMiRzIOS4iuOBriAlMSRzIOOCkuODnuOCpuODs+ODiOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICIlcyDjga/mm7jjgY3ovrzjgb/npoHmraLjgafjgZnjgIHoqq3jgb/ovrzjgb/lsILnlKjjgafjg57jgqbjg7Pjg4jjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiDopIfmlbDjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgYzmpJzlh7rjgZXjgozjgb7jgZfjgZ/jgILjgZPjgozjga/pgJrluLjjga/nmbrnlJ/jgZfjgarjgYRcbiIKKyN+ICIgICAgICAg44Gv44Ga44Gu57WQ5p6c44Gn44GZ44CCIC10IDzjgr/jgqTjg5c+IOOCkuaMh+WumuOBl+OBpueJueWumuOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuS9v+eUqOOBmeOCi+OBi+OAgVxuIgorI34gIiAgICAgICB3aXBlZnMoOCkg44KS5Yip55So44GX44Gm44OH44OQ44Kk44K544Gu5YaF5a6544KS44GE44Gj44Gf44KT5raI5Y6744GX44Gm44GP44Gg44GV44GE44CCIgorCisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm5vbmUg44GM5oyH5a6a44GV44KM44G+44GX44Gf44GM44CB44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OX44KS5Yik5Yil44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5fjgpLmjIflrprjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZkiCisKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIuODnuOCpuODs+ODiOWFg+OBjOioreWumuOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiDjg57jgqbjg7Pjg4jjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICIlczog44OV44Kh44Kk44Or44K344K544OG44Og44KS44Oe44Km44Oz44OI44GX44G+44GX44Gf44GM44CBIG1vdW50KDgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIOOBryAlcyDjgavjg57jgqbjg7Pjg4jmuIjjgb/jgafjgZlcbiIKKworI34gbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIiVzIOOBr+ODnuOCpuODs+ODiOOBleOCjOOBpuOBhOOBquOBhOOBi+OAgeOCquODl+OCt+ODp+ODs+ioreWumuOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisjfiAiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKG5mcywgY2lmcyDjgarjganjgIHjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgavjgojjgaPjgabjga8gL3NiaW4vbW91bnQuPOOCv+OCpOODlz5cbiIKKyN+ICIgICAgICAg44Gu44OY44Or44OR44O844OX44Ot44Kw44Op44Og44GM5b+F6KaB44Gn44GZKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgc3lzbG9nIOWGheOBq+iomOmMsuOBleOCjOOBn+aDheWgseOBjOaJi+WKqeOBkeOBq+OBquOCi+OCguOBruOBqOaAneOBhOOBvuOBmSAtIFxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwg44Gq44Gp44KS5a6f6KGM44GX44Gm44GK6Kqt44G/44GP44Gg44GV44GEXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgIuiqjeitmOOBp+OBjeOBquOBhOOCquODl+OCt+ODp+ODsyAnJWMnIOOBp+OBmSIKKworI34gbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorI34gbXNnc3RyICIlczog44Ki44Oz44Oe44Km44Oz44OI44GM5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorI34gIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyN+ICIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlczog44Oe44Km44Oz44OI44Od44Kk44Oz44OI44GM44OT44K444O854q25oWL44Gn44GZ44CCXG4iCisjfiAiICAgICAgICAobHNvZig4KSDjgoQgZnVzZXIoMSkg44Kz44Oe44Oz44OJ44KS5Yip55So44GZ44KL44GT44Go44Gn44CB44OH44OQ44Kk44K544KSXG4iCisjfiAiICAgICAgICAg5L2/55So44GX44Gm44GE44KL44OX44Ot44K744K544GM5Yik5piO44GZ44KL5aC05ZCI44GM44GC44KK44G+44GZ44CCKSIKKworI34gbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAiJXM6IOaMh+WumuOBl+OBn+ODnuOCpuODs+ODiOODneOCpOODs+ODiOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKKyN+IG1zZ3N0ciAi6KGMICVkIOOBjOmVt+OBmeOBjuOBvuOBmeOAguWHuuWKm+OCkuWIh+OCiuipsOOCgeOBvuOBmSIKKworI34gbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorI34gbXNnc3RyICJcIiVzXCIg44G444Gu5pu444GN6L6844G/44GM5a6M5LqG44GX44G+44Gb44KTICglemQg5pu444GN6L6844G/5a6M5LqG44CBJXpkIOabuOOBjei+vOOBv+S6iOWumilcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorI34gbXNnc3RyICIlczogaW5vdGlmeSDjga7nm6PoppbjgpLov73liqDjgafjgY3jgb7jgZvjgpMgKGlub3RpZnkg44Gu55uj6KaW5LiK6ZmQ44Gr6YGU44GX44G+44GX44GfKSDjgIIiCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbl0gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA844OV44Kh44Kk44OrPlxuIgorCisjfiBtc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKKyN+IG1zZ3N0ciAi44Ot44Kw44OV44Kh44Kk44Or44Gu6L+96KiY44Gr6L+96ZqP44GX44G+44GZ44CCXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiIC1uLCAtLWxpbmVzIDzmlbDlgKQ+ICAgICDmnIDlvozjga4gPOaVsOWApD7ooYzjgpLooajnpLrjgZnjgotcbiIKKworI34gbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorI34gbXNnc3RyICIgLTzmlbDlgKQ+ICAgICAgICAgICAgICAgICctbiA85pWw5YCkPicg44Go5ZCM44GYXG4iCisKKyN+IG1zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAi5YWl5Yqb44OV44Kh44Kk44Or44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgIiVzOiDjg5XjgqHjgqTjg6vjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44Op44OZ44OrOiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAiUEFUSCDjga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIlZCIKKyN+IG1zZ3N0ciAiJWQiCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgIuWItumZkOaZgumWk+OBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJXMiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICLmlbDlgKTjgpLmnJ/lvoXjgZfjgb7jgZfjgZ/jgYzjgIEgJyVzJyDjgYzmjIflrprjgZXjgozjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgIumZpOaVsCAnJXMnIgorCisjfiBtc2dpZCAiYXJndW1lbnQgZXJyb3I6ICVzIgorI34gbXNnc3RyICLlvJXmlbDjgqjjg6njg7w6ICVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInR0eSDjg5HjgrkgJXMg44GM6ZW344GZ44GO44G+44GZIgorCisjfiBtc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgc3BlY2lhbCBkZXZpY2UiCisjfiBtc2dzdHIgIiVzIOOBr+ODluODreODg+OCr+OCueODmuOCt+ODo+ODq+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIiVzOiBkZXZpY2UgaXMgbWlzYWxpZ25lZCIKKyN+IG1zZ3N0ciAiJXM6IOODh+ODkOOCpOOCueOBruWig+eVjOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIOmaoOOBlyBDOiDjg4njg6njgqTjg5YiCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiJXM6ICVkIOihjOebruOBp+WHpueQhuOCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICIlczog44OH44OQ44Kk44K544OR44K544Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIiVzOiDkuI3mmI7jgarjg4fjg5DjgqTjgrnlkI3jgafjgZkiCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkbSBuYW1lIgorI34gbXNnc3RyICIlczogRE0g5ZCN44Gu5Y+W5b6X44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCisjfiAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCisjfiAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorI34gIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCisjfiAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPOODkeOCuT4gICAgICAgIHBpZCDjg5XjgqHjgqTjg6vjga7jg5HjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDzjg5Hjgrk+ICAgICDjgr3jgrHjg4Pjg4jjga7jg5HjgrnjgpLmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA856eSPiAgICAgIOeEoeWLleS9nOaZguOBruWItumZkOaZgumWk+OCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICDlrp/ooYzkuK3jga7jg4fjg7zjg6Ljg7PjgpIga2lsbCDjgZfjgb7jgZlcbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAg5Lmx5pWw44KS44OZ44O844K544Gr44GX44Gf55Sf5oiQ44KS44OG44K544OI44GX44G+44GZXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIOaZguWIu+OCkuODmeODvOOCueOBq+OBl+OBn+eUn+aIkOOCkuODhuOCueODiOOBl+OBvuOBmVxuIgorI34gIiAtbiwgLS11dWlkcyA85pWwPiAgICAgICAgdXVpZCDjga7mlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgcGlkIOODleOCoeOCpOODq+OCkuS9nOaIkOOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICDkuozph43jga4gZm9yayDjgpLliKnnlKjjgZfjgabjg4fjg7zjg6Ljg7PljJbjgZnjgovlh6bnkIbjgpLooYzjgo/jgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24g5b6F44Gh5Y+X44GR44K944Kx44OD44OI44KS5L2c5oiQ44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOODh+ODkOODg+OCsOODouODvOODieOBp+WLleS9nOOBleOBm+OBvuOBmVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDpnZnlr4Ljg6Ljg7zjg4njgpLoqK3lrprjgZfjgb7jgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAi5LiN5piO44Gq44K544Kx44K444Ol44O844Or44Od44Oq44K344O844Gn44GZIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIiCisjfnwgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+fCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfnwgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+fCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCisjfiAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPOaVsOWApD4gZGlzY2FyZCDlh6bnkIbjga7plovlp4vkvY3nva4gKOODkOOCpOODiOWNmOS9jSkg44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA85pWw5YCkPiBkaXNjYXJkIOWHpueQhuOBrumWi+Wni+S9jee9ruOBi+OCieOBrumVt+OBlSAo44OQ44Kk44OI5Y2Y5L2NKSDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBzZWN1cmUgZGlzY2FyZCDjgpLooYzjgYbjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICDoqr/mlbTmuIjjgb/jga7plovlp4vkvY3nva7jgajplbfjgZXjgpLooajnpLrjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAuJTA2ZCDnp5JcbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICIlczog6Kej5p6Q44Ko44Op44O8OiAlZCDooYznm67jga7poIXnm67jgpLnhKHoppbjgZfjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJwYWdlcyIKKyN+IG1zZ3N0ciAi44Oa44O844K4IgorCisjfiBtc2dpZCAiZGlmZmVyZW50IgorI34gbXNnc3RyICLnlbDjgarjgosiCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICLlkIzjgZgiCisKKyN+IG1zZ2lkICJEZXZpY2Ugb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCisjfiBtc2dzdHIgIuODh+ODkOOCpOOCueOBr+iqreOBv+i+vOOBv+WwgueUqOOBp+OCquODvOODl+ODs+OBleOCjOOBpuOBhOOBvuOBmeOAgiIKKworI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIgLXYgIOOCiOOCiuips+e0sOOBquWHuuWKm+OCkuihjOOBhOOBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICLpnZ7luLjjgavplbfjgYQgKCV6dSDjg5DjgqTjg4gpIOODleOCoeOCpOODq+WQjSBgJXMnIOOBjOimi+OBpOOBi+OCiuOBvuOBl+OBn+OAglxuIgorI34gIiBta2NyYW1mcy5jIOWGheOBriBNQVhfSU5QVVRfTkFNRUxFTiDjgpLlopfjgoTjgZfjgablho3jgrPjg7Pjg5HjgqTjg6vjgZfjgabjgY/jgaDjgZXjgYTjgILntYLkuobjgZfjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICLkvb/jgYTmlrk6ICVzIFstYyB8IC1sIOODleOCoeOCpOODq+WQjV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW+ODluODreODg+OCr+aVsF0iCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAiJXM6IOOCueODvOODkeODvOODluODreODg+OCr+eUqOOBruODkOODg+ODleOCoeOCkuWJsuOCiuW9k+OBpuOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiJXM6IOODnuODg+ODl+eUqOOBruODkOODg+ODleOCoeOCkuWJsuOCiuW9k+OBpuOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiBpbm9kZSDnlKjjga7jg5Djg4Pjg5XjgqHjgpLlibLjgorlvZPjgabjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVzOiDkuI3mraPjgaogaW5vZGUg44K144Kk44K644Gn44GZIgorCisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgIuOCv+OCpOODlzogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq86ICUuKnMiCisKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAi44Op44OZ44OrOiAlLipzIgorCisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICLjg5Xjg6njgrA6ICVzIgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgIuODkOOCpOODiC/jgrvjgq/jgr86ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAi44K744Kv44K/L+ODiOODqeODg+OCrzogJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgIuODiOODqeODg+OCry/jgrfjg6rjg7Pjg4A6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAi44K744Kv44K/L+OCt+ODquODs+ODgDogJWxkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgOaVsDogJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAi5Zue6Lui5pWwOiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICLjgqTjg7Pjgr/jg7zjg6rjg7zjg5Y6ICVkIgorCisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAi44OI44Op44OD44Kv44O744K544Kt44Ol44O8OiAlZCIKKworI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgOODu+OCueOCreODpeODvDogJWQiCisKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIuODmOODg+ODieOCueOCpOODg+ODgTogJWxkIOODn+ODquenkiIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAi44OI44Op44OD44Kv6ZaT44K344O844KvOiAlbGQg44Of44Oq56eSIgorCisjfiBtc2dpZCAicGFydGl0aW9uczogJWQiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODszogJWQiCisKKyN+IG1zZ2lkICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhLiBEZWxldGUgaXQgZmlyc3QuIgorI34gbXNnc3RyICLml6LlrZjjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgavlpInmm7TjgZfjgZ/jgorjgIHjgZ3jga7pgIbjga7lpInmm7TjgpLooYzjgaPjgZ/jgorjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpPjgILjgb7jgZrjga/liYrpmaTjgpLooYzjgaPjgabjgY/jgaDjgZXjgYTjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gbXNnc3RyICIiCisjfiAi44Op44OZ44Or44K444Kq44Oh44OI44OqOiDjg5jjg4Pjg4kgJWQsIOOCu+OCr+OCvyAlbGx1XG4iCisjfiAiICAgICAgICAgICAgICAgICAg44K344Oq44Oz44OAICVsbHUgLCDniannkIbjgrfjg6rjg7Pjg4AgJWRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICDov73liqDjgrvjgq/jgr/vvI/jgrfjg6rjg7Pjg4AgJWQsIOOCpOODs+OCv+ODvOODquODvOODliAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAi44Op44OZ44Or44K444Kq44Oh44OI44OqOiDlm57ou6LmlbAgJWTjgIHku6Pmm7/jgrfjg6rjg7Pjg4AgJWTjgIHniannkIbjgrfjg6rjg7Pjg4AgJWRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICDov73liqDjgrvjgq/jgr/vvI/jgrfjg6rjg7Pjg4AgJWTjgIHjgqTjg7Pjgr/jg7zjg6rjg7zjg5YgJWQ6MSIKKworI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiPOOBquOBlz4iCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXkg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgInN5c2luZm8g44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgIuS9v+OBhOaWuTogbGFzdCBbLSNdIFstZiDjg5XjgqHjgqTjg6tdIFstdCDnq6/mnKtdIFstaCDjg5vjgrnjg4jlkI1dIFvjg6bjg7zjgrYgLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW1hcCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICDjg63jgrDjgqTjg7PjgZfjgZ/jgb7jgb7jgafjgZkiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIOOBryAlcyDjgYvjgonlp4vjgb7jgorjgb7jgZkiCisKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgImdldGhvc3RuYW1lIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Ymy44KK6L6844G/44GM5YWl44KK44G+44GX44GfICUxMC4xMHMgJTUuNXMgXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICDjg5fjg63jgrvjgrkgSURcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDzkuIDopqc+ICAgIOWHuuWKm+OBmeOCi+WIl+OCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBvuOBm+OCk1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBquOBhOW9ouW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOODhuOCreOCueODiOOCkuWIl+aWueWQkeOBq+WIh+OCiuipsOOCgeOBvuOBm+OCk1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuOCueOCseOCuOODpeODvOODq+OBq+mWoumAo+OBmeOCi+ODneODquOCt+ODvDpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIOODneODquOCt+ODvOOCkiBTQ0hFRF9CQVRDSCDjgavoqK3lrprjgZfjgb7jgZlcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIOODneODquOCt+ODvOOCkiBTQ0hFRF9GSUZPIOOBq+ioreWumuOBl+OBvuOBmVxuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAg44Od44Oq44K344O844KSIFNDSEVEX0lETEUg44Gr6Kit5a6a44GX44G+44GZXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICDjg53jg6rjgrfjg7zjgpIgU0NIRURfT1RIRVIg44Gr6Kit5a6a44GX44G+44GZXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICDjg53jg6rjgrfjg7zjgpIgU0NIRURfUlIgKOaXouWumuWApCkg44Gr6Kit5a6a44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLjgqrjg5fjgrfjg6fjg7M6XG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICDmjIflrprjgZfjgZ/jg5fjg63jgrvjgrkgSUQg44Gu44GZ44G544Gm44Gu44K/44K544KvICjjgrnjg6zjg4Pjg4kpIOOBq+WvvuOBl+OBpuOAgVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAg5pON5L2c44KS6KGM44GE44G+44GZXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIOWEquWFiOmghuS9jeOBruacgOWwj+WApOOBqOacgOWkp+WApOOCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAg5oyH5a6a44GX44Gf5pei5a2Y44Gu44OX44Ot44K744K5IElEIOOBq+WvvuOBl+OBpuWHpueQhuOCkuihjOOBhOOBvuOBmVxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAg54q25oWL44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1tYW51YWxlamVjdC8taSBvcHRpb24iCisjfiBtc2dzdHIgIi0tbWFudWFsZWplY3QvLWkg44Kq44OX44K344On44Oz44Gu5byV5pWw44GM6ZaT6YGV44Gj44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICLnlLPjgZfoqLPjgYLjgorjgb7jgZvjgpPjgILjgrfjgrnjg4bjg6Djga7mmYLliLvjgpLlpInmm7TjgZnjgovjgavjga/jgrnjg7zjg5Hjg7zjg6bjg7zjgrbjga7mqKnpmZDjgYzlv4XopoHjgafjgZnjgIIiCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICLnlLPjgZfoqLPjgYLjgorjgb7jgZvjgpPjgILjg4/jg7zjg4njgqbjgqfjgqLjga7mmYLliLvjga7jgqjjg53jg4Pjgq/lgKTjgpLlpInmm7TjgZnjgovjgavjga/jgIHjgrnjg7zjg5Hjg7zjg6bjg7zjgrbjga7mqKnpmZDjgYzlv4XopoHjgafjgZnjgIIiCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgIuOCr+ODreODg+OCr+ODhuOCo+ODg+OCr+OCkuW+heOBpOOBn+OCgeOBriAlcyDjgbjjga4gcmVhZCgpIOOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBsaXN0cyBhbGwgbW91bnRzIHdpdGggTEFCRUxzXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBtb3VudC4844K/44Kk44OXPiDjga7jg5jjg6vjg5Hjg7zjgpLlkbzjgbPlh7rjgZXjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAg44GZ44G544Gm44Gu44Oe44Km44Oz44OI44KS44Op44OZ44Or5LuY44GN44Gn6KGo56S644GX44G+44GZXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIC9ldGMvbXRhYiDjgavmm7jjgY3ovrzjgb7jgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICDkvZXjgYzooYzjgo/jgozjgovjga7jgYvjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIOODleOCoeOCpOODq+OCt+OCueODhuODoOOCkuiqreOBv+abuOOBjeWPr+iDveOBqueKtuaFi+OBp+ODnuOCpuODs+ODiOOBl+OBvuOBmSAo5pei5a6a5YCkKVxuIgorCisjfiBtc2dpZCAic2V0IHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgIlJUQyDjgqLjg6njg7zjg6Djga7oqK3lrprjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiUlRDIOOCouODqeODvOODoOOBruacieWKueWMluOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJcIiVzXCIg44G444Gu44K144K544Oa44Oz44OJ44Gv5Yip55So44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tb3VudCAgICAgICDjg57jgqbjg7Pjg4jjg43jg7zjg6Djgrnjg5rjg7zjgrnjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgLXUsIC0tdXRzICAgICAgICAgVVRTIOODjeODvOODoOOCueODmuODvOOCuSAo44Ob44K544OI5ZCN44Gq44GpKSDjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgU3lzdGVtIFYgSVBDIOODjeODvOODoOOCueODmuODvOOCueOBruWFseacieOCkuino+mZpOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW4sIC0tbmV0ICAgICAgICAg44ON44OD44OI44Ov44O844Kv44ON44O844Og44K544Oa44O844K544Gu5YWx5pyJ44KS6Kej6Zmk44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtVSwgLS11c2VyICAgICAgICDjg6bjg7zjgrbjg43jg7zjg6Djgrnjg5rjg7zjgrnjga7lhbHmnInjgpLop6PpmaTjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAiJXMg44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlbSIKKworI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnJlYWQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiTWluaW1hbCBzaXplIGlzICVqdSIKKyN+IG1zZ3N0ciAi5pyA5bCP44K144Kk44K644GvICVqdSIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlzayDjga7jg5jjg6vjg5fnlLvpnaIiCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAi44GZ44KL44GT44Go44GM44Gn44GN44G+44GZ44CCIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDjga7norroqo3lhaXlipvjgpLmsYLjgoHjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJUb28gc21hbGwgcGFydGl0aW9uIHNpemUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAi5bCP44GV44GZ44GO44KL44OR44O844OG44Kj44K344On44Oz44K144Kk44K644GM5oyH5a6a44GV44KM44G+44GX44Gf44CCIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIuODh+ODkOOCpOOCueOBr+iqreOBv+i+vOOBv+WwgueUqOOBp+OCquODvOODl+ODs+OBleOCjOOBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJzdGF0IOOBjOWkseaVl+OBl+OBvuOBl+OBnzogJXMiCisKKyN+IG1zZ2lkICJmYWlsZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKKyN+IG1zZ3N0ciAi5YiX5oyZ5a2Q44Gu5Ymy44KK5b2T44Gm44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzIgorI34gbXNnc3RyICLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVzIgorCisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogc3RhdCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIlczogbHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogbHN0YXQg44GM5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAi44Gp44GG44Ge44CB5L2c5oiQ44GZ44KL5paw44GX44GE44OH44Kj44K544Kv44Op44OZ44Or44Gu44K/44Kk44OX44KS6YG444KT44Gn44GP44Gg44GV44GE44CCIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAi5L2/44GE5pa5OiAlcyBb44Kq44OX44K344On44OzXSDjg4fjg5DjgqTjgrlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi44Kq44OX44K344On44OzOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIOODleOCqeODvOODnuODg+ODiOW+jOOBrueFp+WQiOOCkuihjOOCj+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi44KI44KK6Kmz44GX44GE5oOF5aCx44Gv44CBIG1rZnMoOCkg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworI34gbXNnaWQgIkJhZCBzd2FwIGhlYWRlciBzaXplLCBubyBsYWJlbCB3cml0dGVuLiIKKyN+IG1zZ3N0ciAi44K544Ov44OD44OX44OY44OD44OA44Gu44K144Kk44K644GM5q2j44GX44GP44GC44KK44G+44Gb44KT44CC44Op44OZ44Or44KS5pu444GN6L6844G/44G+44Gb44KT44CCIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiJXMg44Gn44K344O844Kv44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIC0gJWx1IOOCkuOCt+ODvOOCr+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgInNlZWsgZXJyb3I6IHdhbnRlZCAweCUwOHglMDh4LCBnb3QgMHglMDh4JTA4eCIKKyN+IG1zZ3N0ciAi44K344O844Kv44Ko44Op44O8OiAweCUwOHglMDh4IOOCkuacn+W+heOBl+OBvuOBl+OBn+OBjOOAgTB4JTA4eCUwOHgg44KS5Y+X44GR5Y+W44KK44G+44GX44GfIgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICIlcyDjgafoqq3jgb/lj5bjgorjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8gLSDjgrvjgq/jgr8gJWxsdSDjgpLoqq3jgb/ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiJXMg44Gn5pu444GN6L6844G/44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIC0tIOOCu+OCr+OCvyAlbGx1IOOBq+abuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OCu+OCr+OCv+S/neWtmOODleOCoeOCpOODqyAoJXMpIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIgorI34gbXNnc3RyICIlcyDjgafmm7jjgY3ovrzjgb/jgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+W+qeWFg+ODleOCoeOCpOODqyAoJXMpIOOBruaDheWgseOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PlvqnlhYPjg5XjgqHjgqTjg6vjga7jgrXjgqTjgrrjgYzplpPpgZXjgaPjgabjgYTjgb7jgZkgLSDlvqnlhYPjgpLooYzjgarjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+W+qeWFg+ODleOCoeOCpOODqyAoJXMpIOOCkumWi+OBkeOBvuOBm+OCkyIKKworI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgIiVzIOOBp+iqreOBv+i+vOOBv+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAi44OH44OQ44Kk44K5ICVzIOOCkuabuOOBjei+vOOBv+eUqOOBq+OCquODvOODl+ODs+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAiJTIkcyDjga7jgrvjgq/jgr8gJTEkbHUg44Gn5pu444GN6L6844G/44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAi44OH44Kj44K544KvICVzOiDjgrjjgqrjg6Hjg4jjg6rjgpLlj5blvpfjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCryAlczog44K144Kk44K644KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHN0YXJ0PSVsdSAtIHRoaXMgbG9va3MgbGlrZSBhIHBhcnRpdGlvbiByYXRoZXIgdGhhblxuIgorI34gInRoZSBlbnRpcmUgZGlzay4gVXNpbmcgZmRpc2sgb24gaXQgaXMgcHJvYmFibHkgbWVhbmluZ2xlc3MuXG4iCisjfiAiW1VzZSB0aGUgLS1mb3JjZSBvcHRpb24gaWYgeW91IHJlYWxseSB3YW50IHRoaXNdIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiBzdGFydD0lbHUgLSDjgZPjgozjga/jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgafjga/jgarjgY/jg4fjgqPjgrnjgq/jgZ3jga7jgoLjga7jgpLnpLrjgZlcbiIKKyN+ICLoqK3lrprjgajmgJ3jgo/jgozjgb7jgZnjgIIgZmRpc2sg44KS5Yip55So44GX44Gm44KC44CB5oSP5ZGz44Gv44Gq44GE44KC44Gu44Go5oCd44KP44KM44G+44GZ44CCXG4iCisjfiAiW+acrOW9k+OBq+OBk+OCjOOCkuihjOOBhuWgtOWQiOOBr+OAgSAtLWZvcmNlIOOCquODl+OCt+ODp+ODs+OCkuaMh+WumuOBl+OBpuOBj+OBoOOBleOBhF0iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBoZWFkcyIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiBIRElPX0dFVEdFTyDjgavjgojjgovjgajjgIHjg5jjg4Pjg4nmlbDjga8gJWx1IOOBp+OBmSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIuitpuWRijogSERJT19HRVRHRU8g44Gr44KI44KL44Go44CB44K744Kv44K/5pWw44GvICVsdSDjgafjgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIOOBq+OCiOOCi+OBqOOAgeOCt+ODquODs+ODgOaVsOOBryAlbHUg44Gn44GZIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiDjgrvjgq/jgr/mlbAgKCVsdSkg44GM5pyb44G+44GX44GE5YCk44Gn44Gv44GC44KK44G+44Gb44KT44CC6YCa5bi444GvIDYzIOOCkuioreWumuOBl+OBvuOBmeOAglxuIgorI34gIuOCt+ODquODs+ODgO+8j+ODmOODg+ODie+8j+OCu+OCr+OCv+W9ouW8j+OBp+OBruOCouODieODrOOCueaMh+WumuOCkuS9v+eUqOOBmeOCi+WFqOOBpuOBruOCveODleODiOOCpuOCp+OCouOBp+OAgVxuIgorI34gIuWVj+mhjOOBjOeZuueUn+OBmeOCi+WPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAgiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLjg4fjgqPjgrnjgq8gJXM6IOOCt+ODquODs+ODgOaVsCAlbHXjgIHjg5jjg4Pjg4nmlbAgJWx144CBJWx1IOOCu+OCr+OCv++8j+ODiOODqeODg+OCr1xuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiIKKyN+ICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJTIkcyDjga7jg5jjg4Pjg4nmlbDjgasgJTEkcyDjgpLmjIflrprjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpM6ICUzJGx1XG4iCisjfiAiKDAtJTQkbHUg44Gu56+E5Zuy44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GEKSIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSkiCisjfiBtc2dzdHIgIiIKKyN+ICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJTIkcyDjga7jgrvjgq/jgr/mlbDjgasgJTEkcyDjgpLmjIflrprjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpM6ICUzJGx1XG4iCisjfiAiKDAtJTQkbHUg44Gu56+E5Zuy44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GEKSIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiIKKyN+ICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJTIkcyDjga7jgrfjg6rjg7Pjg4DmlbDjgasgJTEkcyDjgpLmjIflrprjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpM6ICUzJGx1XG4iCisjfiAiKDAtJTQkbHUg44Gu56+E5Zuy44Gn5oyH5a6a44GX44Gm44GP44Gg44GV44GEKSIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS6Kqt44G/6L6844G/55u044GX44Gm44GE44G+44GZLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog44OR44O844OG44Kj44K344On44Oz5oOF5aCx44Gu5YaN6Kqt44G/6L6844G/44Kz44Oe44Oz44OJ44GM5aSx5pWX44GX44G+44GX44Gf44CCXG4iCisjfiAibWtmcyDjgpLkvb/nlKjjgZnjgovliY3jgasgcGFydHByb2JlKDgpIOOBvuOBn+OBryBrcGFydHgoOCkg44KS5a6f6KGM44GZ44KL44GL44CBXG4iCisjfiAi44K344K544OG44Og44KS5YaN6LW35YuV44GX44Gm44GP44Gg44GV44GEIgorCisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiJXMg44KS6ZaJ44GY44KL6Zqb44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiDjgZ3jga7jgojjgYbjgarjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/jgYLjgorjgb7jgZvjgpNcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICLoqo3orZjjgafjgY3jgarjgYTlvaLlvI/jgafjgZkgLSDjgrvjgq/jgr/mlbDjgpLliKnnlKjjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICLmnKrlrp/oo4Xjga7lvaLlvI/jgafjgZkgLSAlcyDjgpLliKnnlKjjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICLjgrvjgq/jgr/mlbAiCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLljZjkvY06IOOCt+ODquODs+ODgCAoJWx1IOODkOOCpOODiCksIOODluODreODg+OCryAoMTAyNCDjg5DjgqTjg4gpLCAlZCDjgYvjgonmlbDjgYjjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICLjg4fjg5DjgqTjgrkg6LW35YuVIOWni+eCuSAgICAgIOe1gueCuSAj44K344Oq44Oz44OAICPjg5bjg63jg4Pjgq8gSUQgIOOCt+OCueODhuODoFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBzZWN0b3JzIG9mIDUxMiBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Y2Y5L2NOiDjgrvjgq/jgr8gKDUxMiDjg5DjgqTjg4gpLCAlZCDjgYvjgonmlbDjgYjjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgIFN0YXJ0ICAgICAgIEVuZCAgICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIuODh+ODkOOCpOOCuSDotbfli5UgICAg5aeL54K5ICAgICAgICDntYLngrkgICPjgrvjgq/jgr8gICBJRCDjgrfjgrnjg4bjg6BcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWNmOS9jTog44OW44Ot44OD44KvICgxMDI0IOODkOOCpOODiCksICVkIOOBi+OCieaVsOOBiOOBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIOODh+ODkOOCpOOCuSDjg5bjg7zjg4gg5aeL54K5ICAgICAgICDntYLngrkgICPjg5bjg63jg4Pjgq8gSUQgIOOCt+OCueODhuODoFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Y2Y5L2NOiAxTWlCICgxMDI0KjEwMjQg44OQ44Kk44OIKSwg44OW44Ot44OD44KvICgxMDI0IOODkOOCpOODiCksICVkIOOBi+OCieaVsOOBiOOBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIuODh+ODkOOCpOOCuSDotbfli5Ug5aeL54K5ICAgIOe1gueCuSAgIE1pQiAgICAj44OW44Ot44OD44KvIElEICDjgrfjgrnjg4bjg6BcbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdOmWi+WnizogKGMsaCxzKSDmnJ/lvoXlgKQ9KCVsZCwlbGQsJWxkKSDmpJzlh7rlgKQ9KCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdOe1gueCuTogKGMsaCxzKSDmnJ/lvoXlgKQ9KCVsZCwlbGQsJWxkKSDmpJzlh7rlgKQ9KCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzjgrfjg6rjg7Pjg4AgJWxkIOOBp+e1guOCj+OBo+OBpuOBhOOBvuOBmeOAguOBk+OCjOOBr+ODh+OCo+OCueOCr+OBrue1guerr+OCkui2heOBiOOBpuOBhOOBvuOBmeOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44Gr44KI44KL44Go44CB44GT44Gu44OH44Kj44K544Kv44GvXG4iCisjfiAiICDjgrfjg6rjg7Pjg4DvvI/jg5jjg4Pjg4nvvI/jgrvjgq/jgr/jga7lgKTjgasgJTMkbGQvJTQkbGQvJTUkbGQg44Gn44Gv44Gq44GP44CBXG4iCisjfiAiICovJTEkbGQvJTIkbGQg44GM6Kit5a6a44GV44KM44Gm44GE44KL44KC44Gu44Go5o6o5ris44GV44KM44G+44GZ44CC5LiL6KiY44Gu5LiA6Kan44Gn44Gv44CBXG4iCisjfiAi44GT44Gu44K444Kq44Oh44OI44Oq6Kit5a6a44KS5Luu5a6a44GX44Gm6KGo56S644GX44G+44GZ44CCIgorCisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9uIGRlZmluZWQiCisjfiBtc2dpZF9wbHVyYWwgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyWzBdICLlpInjgafjgZksICVkIOWAi+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OBl+OBi+Wumue+qeOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjga7jgrXjgqTjgrrjga8gMCDjgafjgZnjgYzjgIHnqbrjgajjgZfjgabjg57jg7zjgq/jgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIuitpuWRijog44OR44O844OG44Kj44K344On44OzICVzIOOBruOCteOCpOOCuuOBryAwIOOBp+OBmeOBjOOAgei1t+WLleWPr+iDveOBq+OBquOBo+OBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0IgorI34gbXNnc3RyICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjga7jgrXjgqTjgrrjga8gMCDjgafjgZnjgYzjgIEgMCDku6XlpJbjga7plovlp4vkvY3nva7jgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXMiCisjfiBtc2dzdHIgIuitpuWRijog44OR44O844OG44Kj44K344On44OzICVzIOOBr+ODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDlhoXjgavlj47jgb7jgaPjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjgaggJXMg44Gv6YeN6KSH44GX44Gf5L2N572u6Zai5L+C44Gr44GC44KK44G+44GZIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg44Gr44Gv44OR44O844OG44Kj44K344On44Oz5oOF5aCx44Gu5LiA6YOoICjjgrvjgq/jgr8gJWxsdSlcbiIKKyN+ICLjgYzlkKvjgb7jgozjgabjgYTjgb7jgZnjgILjgZPjga7jgb7jgb7kvb/nlKjjgZnjgovjgajjgIHjgZPjgozjgonjga7mg4XloLHjgYznoLTlo4rjgZXjgozjgabjgZfjgb7jgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAwIgorI34gbXNnc3RyICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjgYzjgrvjgq/jgr8gMCDjgYvjgonlp4vjgb7jgaPjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjga/jg4fjgqPjgrnjgq/jga7ntYLnq6/jgpLotoXjgYjjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplICVkLiVkIFRCICglbGx1IGJ5dGVzKSxcbiIKKyN+ICJ3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgJWxsdSBieXRlcyBsaW1pdCBpbXBvc2VkXG4iCisjfiAiYnkgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgZm9yICVkLWJ5dGUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRijog44OR44O844OG44Kj44K344On44OzICUxJHMg44Gu44K144Kk44K644GMICUyJGQuJTMkZCBUQiAoJTQkbGx1IOODkOOCpOODiClcbiIKKyN+ICLjgavoqK3lrprjgZXjgozjgabjgYTjgb7jgZnjgILjgrvjgq/jgr/jgrXjgqTjgrrjgYwgJTYkZCDjg5DjgqTjg4jjga7loLTlkIjjgIHjgZPjga7jgrXjgqTjgrrjga9cbiIKKyN+ICJET1Mg44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44Gu5LiK6ZmQ44Gn44GC44KLICU1JGxsdSDjg5DjgqTjg4jjgpLotoXjgYjjgabjgYTjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgJWxsdSAoJWQuJWQgVEIgZm9yICVkLWJ5dGUgc2VjdG9ycyksXG4iCisjfiAid2hpY2ggZXhjZWVkcyB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBsaW1pdCBvZiAlbGx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYo6IOODkeODvOODhuOCo+OCt+ODp+ODsyAlMSRzIOOBr+OCu+OCr+OCvyAlMiRsbHUg44GL44KJ5aeL44G+44Gj44Gm44GE44G+44GZICjjgrvjgq/jgr/jgrXjgqTjgrrjgYxcbiIKKyN+ICIlNSRkIOODkOOCpOODiOOBruWgtOWQiOOAgSAlMyRkLiU0JGQgVEIg44Gu5L2N572u44Gr44GC44Gf44KK44G+44GZKeOAguOBk+OBruOCu+OCr+OCv+OBr+OAgSBET1Mg44Gu44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44Gu5LiK6ZmQ44Gn44GC44KLICU2JGxsdSDjgrvjgq/jgr/jgpLotoXjgYjjgabjgYTjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpIgorI34gbXNnc3RyICIiCisjfiAi5ouh5by144OR44O844OG44Kj44K344On44Oz44GvIDEg44Gk44GX44GL5a2Y5Zyo44Gn44GN44G+44Gb44KTXG4iCisjfiAiIChMaW51eCDjgafjga/nibnjgavllY/poYzjgajjgarjgovjgZPjgajjga/jgYLjgorjgb7jgZvjgpMpIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkiCisjfiBtc2dzdHIgIuitpuWRijog44OR44O844OG44Kj44K344On44OzICVzIOOBr+OCt+ODquODs+ODgOWig+eVjOOBi+OCieWni+OBvuOBo+OBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiDjg5Hjg7zjg4bjgqPjgrfjg6fjg7MgJXMg44Gv44K344Oq44Oz44OA5aKD55WM44Gn57WC44KP44Gj44Gm44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYo6IOikh+aVsOOBruWfuuacrOODkeODvOODhuOCo+OCt+ODp+ODs+OBjOi1t+WLleWPr+iDvSAo44Ki44Kv44OG44Kj44OWKSDjgavoqK3lrprjgZXjgozjgabjgYTjgb7jgZnjgIJcbiIKKyN+ICJMSUxPIOOBruWgtOWQiOOBr+eJueOBq+WVj+mhjOOBguOCiuOBvuOBm+OCk+OBjOOAgURPUyDjga4gTUJSIOOCkuS9v+eUqOOBmeOCi+WgtOWQiOOAgeOBk+OBruODh+OCo+OCueOCr+OBi+OCiVxuIgorI34gIui1t+WLleOBp+OBjeOBquOBj+OBquOCiuOBvuOBmeOAgiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiDpgJrluLjjga/ln7rmnKzjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jgYbjgaHjgIHjgYTjgZrjgozjgYsgMSDjgaTjgaDjgZHjgpLotbfli5Xlj6/og73jgavoqK3lrprjgZfjgb7jgZlcbiIKKyN+ICIoTElMTyDjga/otbfli5Xlj6/og73jg5Xjg6njgrDjgpLnhKHoppbjgZfjgb7jgZkp44CCIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiDotbfli5Xlj6/og70gKOOCouOCr+ODhuOCo+ODlikg44Gr6Kit5a6a44GV44KM44Gf5Z+65pys44OR44O844OG44Kj44K344On44Oz44GM44GC44KK44G+44Gb44KT44CCXG4iCisjfiAiTElMTyDjga7loLTlkIjjga/nibnjgavllY/poYzjgYLjgorjgb7jgZvjgpPjgYzjgIFET1Mg44GuIE1CUiDjgpLkvb/nlKjjgZnjgovloLTlkIjjgIHjgZPjga7jg4fjgqPjgrnjgq/jgYvjgolcbiIKKyN+ICLotbfli5XjgafjgY3jgarjgY/jgarjgorjgb7jgZnjgIIiCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAi6ZaL5aeLIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlczog5aeL54K5OiAoYyxoLHMpIOacn+W+heWApD0oJWxkLCVsZCwlbGQpIOaknOWHuuWApD0oJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICLntYLkuoYiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlczog57WC54K5OiAoYyxoLHMpIOacn+W+heWApD0oJWxkLCVsZCwlbGQpIOaknOWHuuWApD0oJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAi44K344Oq44Oz44OAICUyJGxkIOOBq+OBguOCi+ODkeODvOODhuOCo+OCt+ODp+ODsyAlMSRzIOOBrue1gueCueOBr+OAgeODh+OCo+OCueOCr+OBrue1guerr+OCkui2heOBiOOBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiDmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7plovlp4vkvY3nva7jgpIgJWxsZCDjgYvjgokgJWxsZCDjgavnp7vli5XjgZfjgb7jgZfjgZ9cbiIKKyN+ICLvvIjjg6rjgrnjg4jooajnpLrjga7jgZ/jgoHjgaDjgZHjgafjgZnjgILlhoXlrrnjgavlpInmm7Tjga/jgYLjgorjgb7jgZvjgpPjgILvvIkiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGKOiDmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzjgrfjg6rjg7Pjg4DlooPnlYzjgYvjgonlp4vjgb7jgaPjgabjgYTjgb7jgZvjgpPjgIJcbiIKKyN+ICJET1Mg44GoIExpbnV4IOOBp+OBr+OAgeOBneOCjOOBnuOCjOeVsOOBquOCi+ino+mHiOOBq+OBquOCi+OCguOBruOBqOaAneOCj+OCjOOBvuOBmeOAgiIKKworI34gbXNnaWQgIkVSUk9SOiBzZWN0b3IgJWxsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZSIKKyN+IG1zZ3N0ciAi44Ko44Op44O8OiDjgrvjgq/jgr8gJWxsdSDjgavjga8gbXNkb3Mg572y5ZCN44GM44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBjOWkmuOBmeOBjuOBvuOBmSAtIG5yICglenUpIOS7pemZjeOCkueEoeimluOBl+OBvuOBmSIKKworI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBruODhOODquODvD8iCisKKyN+IG1zZ2lkICJkZXRlY3RlZCBEaXNrIE1hbmFnZXIgLSB1bmFibGUgdG8gaGFuZGxlIHRoYXQiCisjfiBtc2dzdHIgIkRpc2sgTWFuYWdlciDjgpLmpJzlh7rjgZfjgb7jgZfjgZ8gLSDlh6bnkIbjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJETTYg572y5ZCN44KS55m66KaL44GX44G+44GX44GfIC0g5Yem55CG44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgIuWkieOBp+OBmS4uLiwg44K144Kk44K6IDAg44Gu5ouh5by144OR44O844OG44Kj44K344On44OzPyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICLlpInjgafjgZkuLi4sIOOCteOCpOOCuiAwIOOBriBCU0Qg44OR44O844OG44Kj44K344On44OzPyIKKworI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIi1uIOODleODqeOCsOOBjOaMh+WumuOBleOCjOOBpuOBhOOBvuOBmTog5L2V44KC5aSJ5pu044GX44G+44Gb44KTIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICLlj6TjgYTjgrvjgq/jgr/jga7kv53lrZjjgavlpLHmlZfjgZfjgb7jgZfjgZ8gLS0g5Lit5pat44GX44Gm44GE44G+44GZXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgd3JpdGluZyB0aGUgcGFydGl0aW9uIG9uICVzIgorI34gbXNnc3RyICIlcyDkuIrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmm7jjgY3ovrzjgb/jgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICLplbfjgZnjgY7jgovjgYvjgIHkuI3lrozlhajjgarooYzjga7lhaXlipvjgafjgZkgLS0g5Lit5q2i44GX44G+44GZIgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAi5YWl5Yqb44Ko44Op44O8OiBgPScg44GvICVzIOODleOCo+ODvOODq+ODieOBruW+jOOBq+WFpeWKm+OBl+OBpuOBj+OBoOOBleOBhCIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAi5YWl5Yqb44Ko44Op44O8OiAlMiRzIOODleOCo+ODvOODq+ODieOBruW+jOOBq+S6iOacn+OBl+OBquOBhOaWh+WtlyBgJTEkYycg44GM44GC44KK44G+44GZIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAi6KqN6K2Y44Gn44GN44Gq44GE5YWl5Yqb44Gn44GZOiAlcyIKKworI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICLmlbDlrZfjgYzlpKfjgY3jgZnjgY7jgb7jgZkiCisKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlciIKKyN+IG1zZ3N0ciAi5pWw5a2X44Gu5b6M44KN44Gr44K044Of44GM5LuY44GE44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+iomOi/sOWtkOOBruepuuOBjeOBjOOBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OBruWbsuOBhOOCkuani+evieOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkcyIKKyN+IG1zZ3N0ciAi5YWl5Yqb6aCF55uu44GM5aSa44GZ44GO44G+44GZIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAi44GT44KM5Lul5LiK44Gu56m644GN44GM44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICLkuI3mraPjgarjgr/jgqTjg5fjgafjgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIuitpuWRijog5oyH5a6a44GX44Gf44K144Kk44K6ICglbGx1KSDjga/jgIHoqLHlrrnjgafjgY3jgovmnIDlpKfjgrXjgqTjgrogKCVsbHUpIOOCkui2iuOBiOOBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiDnqbrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgafjgZkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiDkuI3mraPjgarjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pplovlp4vkvY3nva7jgafjgZkgKOWwkeOBquOBj+OBqOOCgiAlbGx1IOOBp+OBguOCi+OBueOBjeOBp+OBmSkiCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgIuiqjeitmOOBp+OBjeOBquOBhOi1t+WLleWPr+iDveODleODqeOCsOOBp+OBmSAtICctJyDjgYsgJyonIOOCkumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhCIKKworI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgImMsaCxzIOOCkuS4gOmDqOOBoOOBkeaMh+WumuOBl+OBpuOBhOOBvuOBm+OCk+OBiz8iCisKKyN+IG1zZ2lkICJiYWQgaW5wdXQiCisjfiBtc2dzdHIgIuS4jeato+OBquWFpeWKm+OBp+OBmSIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+OBjOWkmuOBmeOBjuOBvuOBmSIKKworI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIuS4i+iomOOBruW9ouW8j+OBp+WFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDsg5YCk44KS5oyH5a6a44GX44Gq44GL44Gj44Gf6aCF55uu44Gr44Gv44CB5pei5a6a5YCk44GM6Kit5a6a44GV44KM44G+44GZ44CCXG4iCisjfiAiPOmWi+Wni+S9jee9rj4gPOOCteOCpOOCuj4gPOOCv+OCpOODlyBbRSxTLEwsWCwxNumAsuaVsF0+IDzotbfli5Xlj6/og73jg5Xjg6njgrAgWy0sKl0+IDzjgrfjg6rjg7Pjg4As44OY44OD44OJLOOCu+OCr+OCvz4gPOOCt+ODquODs+ODgCzjg5jjg4Pjg4ks44K744Kv44K/PlxuIgorI34gIumAmuW4uOOBr+OAgSA86ZaL5aeL5L2N572uPiDjgaggPOOCteOCpOOCuj4gKOOBiuOCiOOBsyA844K/44Kk44OXPikg44Gg44GR44KS5oyH5a6a44GZ44KM44Gw5Y2B5YiG44Gn44GZ44CCIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPi4uLlxuIgorI34gbXNnc3RyICIgJXMgW+OCquODl+OCt+ODp+ODs10gPOODh+ODkOOCpOOCuT4uLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb25cbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICBjaGFuZ2Ugb3IgcHJpbnQgcGFydGl0aW9uIElkXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgY2hhbmdlIElkXG4iCisjfiAiICAgICAtLXByaW50LWlkICAgICAgICAgICAgcHJpbnQgSWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCteOCpOOCuuOCkuS4gOimp+ihqOekuuOBl+OBvuOBmVxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBriBJRCDjgpLooajnpLrvvI/lpInmm7TjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICBJRCDjgpLlpInmm7TjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBJRCDjgpLooajnpLrjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0XG4iCisjfiAiIC1pLCAtLWluY3JlbWVudCAgICAgICAgICAgbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXR0ZXI+ICAgICAgIHVuaXRzIHRvIGJlIHVzZWQ7IDxsZXR0ZXI+IGNhbiBiZSBvbmUgb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgKHNlY3RvcnMpLCBDIChjeWxpbmRlcnMpLCBCIChibG9ja3MpLCBvciBNIChNQilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIOWQhOODh+ODkOOCpOOCueOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuS4gOimp+ihqOekuuOBl+OBvuOBmVxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIOW+jOOBi+OCieWFpeWKm+ODh+ODvOOCv+OBqOOBl+OBpuS9v+eUqOOBmeOCi+OBruOBq+mDveWQiOOBruOCiOOBhOabuOW8j+OBp+WHuuWKm+OBl+OBvuOBmVxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIOOCt+ODquODs+ODgOOBquOBqeOBruaVsOWApOOCkuOAgSAwIOOBi+OCieOBp+OBr+OBquOBjyAxIOOBi+OCieaVsOOBiOOBvuOBmVxuIgorI34gIiAtdSwgLS11bml0IDzmloflrZc+ICAgICAgICAg5L2/55So44GZ44KL5Y2Y5L2N44KS5oyH5a6a44GX44G+44GZOyA85paH5a2XPiDjgavjga9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgKOOCu+OCr+OCvyksIEMgKOOCt+ODquODs+ODgCksIEIgKOODluODreODg+OCryksIE0gKE1CKSDjga7jgYTjgZrjgozjgYvjgpLmjIflrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAg54++5pmC54K544Gn44Gv5L2V44KC6KGM44Gq44GE44G+44Gb44KT44CC5LqI57SE44Kq44OX44K344On44Oz44Gn44GZXG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAg5pei55+l44Gu44OR44O844OG44Kj44K344On44Oz44K/44Kk44OX44Gu5LiA6Kan44KS6KGo56S644GX44G+44GZXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgRE9TIOOBqOOBruS6kuaPm+aAp+OCkueiuuS/neOBl+OBvuOBmTsg6aCY5Z+f44KS5bCR44GX5rWq6LK744GX44G+44GZXG4iCisjfiAiIC1FLCAtLURPUy1leHRlbmRlZCAgICAgICAgRE9TIOaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OBqOOBruS6kuaPm+aAp+OCkueiuuS/neOBl+OBvuOBmVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIOOCq+ODvOODjeODq+OBq+WvvuOBl+OBpuOAgeODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuiqreOBv+i+vOOBv+ebtOOBmeOCiOOBhuOBq+aMh+ekuuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTiA8bnVtYmVyPiAgICAgICAgICAgICAgIGNoYW5nZSBvbmx5IHRoZSBwYXJ0aXRpb24gd2l0aCB0aGlzIDxudW1iZXI+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IGFjdHVhbGx5IHdyaXRlIHRvIGRpc2tcbiIKKyN+ICIgLU8gPGZpbGU+ICAgICAgICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byA8ZmlsZT5cbiIKKyN+ICIgLUkgPGZpbGU+ICAgICAgICAgICAgICAgICByZXN0b3JlIHNlY3RvcnMgZnJvbSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTiA855Wq5Y+3PiAgICAgICAgICAgICAgICAg5oyH5a6a44GX44Gf55Wq5Y+344Gu44OR44O844OG44Kj44K344On44Oz44Gu44G/44KS5aSJ5pu044GX44G+44GZXG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAg5a6f6Zqb44Gr44Gv44OH44Kj44K544Kv44Gr5pu444GN6L6844G/44G+44Gb44KTXG4iCisjfiAiIC1PIDzjg5XjgqHjgqTjg6s+ICAgICAgICAgICAgIOOCu+OCr+OCv+aDheWgseOCkiA844OV44Kh44Kk44OrPiDjgafmjIflrprjgZfjgZ/jg5XjgqHjgqTjg6vjgavkuIrmm7jjgY3kv53lrZjjgZfjgb7jgZlcbiIKKyN+ICIgLUkgPOODleOCoeOCpOODqz4gICAgICAgICAgICAgPOODleOCoeOCpOODqz4g44GL44KJ44K744Kv44K/5oOF5aCx44KS5b6p5YWD44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgY2hlY2sgdGhhdCB0aGUgbGlzdGVkIHBhcnRpdGlvbnMgYXJlIHJlYXNvbmFibGVcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICDkuIDopqfooajnpLrjgZfjgZ/jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzjgIHmraPjgZfjgY/oqq3jgb/ovrzjgoHjgovjgYvjganjgYbjgYvjg4Hjgqfjg4Pjgq/jgZfjgb7jgZlcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuWNsemZuuOBquOCquODl+OCt+ODp+ODszpcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBwYXJ0aXRpb24gaXMgaW4gdXNlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZyBtZXNzYWdlc1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXhcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIOWFqOOBpuOBruS4gOiyq+aAp+ODgeOCp+ODg+OCr+OCkueEoeWKueOBq+OBl+OBvuOBmVxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OBjOS9v+eUqOS4reOBi+OBqeOBhuOBi+OCkuODgeOCp+ODg+OCr+OBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIOitpuWRiuODoeODg+OCu+ODvOOCuOOCkuecgeeVpeOBl+OBvuOBmVxuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIExpbnV4IOOBp+S4jemBqeWIh+OBquioreWumuOBq+OBpOOBhOOBpuOAgeODoeODg+OCu+ODvOOCuOOCkuihqOekuuOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICDjgqvjg7zjg43jg6vjgYzmpJzlh7rjgZfjgZ/jgrjjgqrjg6Hjg4jjg6rmg4XloLHjgpLlh7rlipvjgZfjgb7jgZlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgYvjgonmjqjmuKzjgafjgY3jgovjgrjjgqrjg6Hjg4jjg6rmg4XloLHjgpLlh7rlipvjgZfjgb7jgZlcbiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiIgorI358ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSBib290YWJsZSBmbGFnXG4iCisjfnwgIiAtVSwgLS11bmhpZGVbPTxkZXY+XSAgICAgIHNldCBwYXJ0aXRpb24gdW5oaWRkZW5cbiIKKyN+fCAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+fCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSDotbfli5Xlj6/og73jg5Xjg6njgrDjgpLoqK3lrprjgZfjgb7jgZlcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2Pl0gICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7pmqDjgZflsZ7mgKfjgpLop6PpmaTjgZfjgb7jgZlcbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICDlh7rlipvlhoXlrrnjgavmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgoLlkKvjgoDjgojjgYbjgavjgZfjgb7jgZnjgIJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICDjgb7jgZ/jgIHlhaXlipvjgajjgZfjgabjgZ3jgozjgonjgavlr77jgZnjgovoqK3lrprjgoLlj5fjgZHlhaXjgozjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICBkbyBub3QgYWxsb2NhdGUgdGhlIGxhc3QgY3lsaW5kZXJcbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICBzYW1lIGFzIC0tbGVhdmUtbGFzdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAg5pyA57WC44K344Oq44Oz44OA44KS5Ymy44KK5b2T44Gm44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgLS1sZWF2ZS1sYXN0IOOBqOWQjOOBmOaEj+WRs+OBp+OBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIGluIG9yZGVyXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgcGFydGl0aW9ucyBhcmUgbm90IGluIG9yZGVyXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICBub3QgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkumghuW6j+mAmuOCiuOBq+ioreWumuOBl+OBvuOBmVxuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkumghuW6j+OBqOOBr+eEoemWouS/guOBq+ioreWumuOBl+OBvuOBmVxuIgorI34gIiAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICAgIOWFqOOBpuOBruirlueQhuODkeODvOODhuOCo+OCt+ODp+ODs+OCkuaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OBruS4reOBq+WPjuOBvuOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIOirlueQhuODkeODvOODhuOCo+OCt+ODp+ODs+OCkuaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OBruS4reOBq+WPjuOCgeOBquOBj+OBpuOCguOBhOOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1uZXN0ZWQgICAgICAgICAgICAgIGV2ZXJ5IHBhcnRpdGlvbiBpcyBkaXNqb2ludCBmcm9tIGFsbCBvdGhlcnNcbiIKKyN+ICIgICAgIC0tY2hhaW5lZCAgICAgICAgICAgICBsaWtlIG5lc3RlZCwgYnV0IGV4dGVuZGVkIHBhcnRpdGlvbnMgbWF5IGxpZSBvdXRzaWRlXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgbXV0dWFsbHkgZGlzam9pbnRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1uZXN0ZWQgICAgICAgICAgICAgIOOBneOCjOOBnuOCjOOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuODkOODqeODkOODqeOBq+OBquOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgICctLW5lc3RlZCcg44Go5ZCM44GY44Gn44GZ44GM44CB5ouh5by144OR44O844OG44Kj44K344On44Oz44Gu44G/5aSW44Gr44Gv44G/5Ye644GZ44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAg44OR44O844OG44Kj44K344On44Oz44GM5LqS44GE44Gr44OQ44Op44OQ44Op44Gr44Gq44KL44KI44GG44Gr44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gIHNldCB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyB0byB1c2VcbiIKKyN+ICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICBzZXQgdGhlIG51bWJlciBvZiBzZWN0b3JzIHRvIHVzZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5qSc5Ye644GV44KM44Gf44K444Kq44Oh44OI44Oq5oOF5aCx44KS5LiK5pu444GN44GZ44KL44Kq44OX44K344On44OzOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPOaVsOWApD4gICAg5L2/55So44GZ44KL44K344Oq44Oz44OA5pWw44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1ILCAtLWhlYWRzIDzmlbDlgKQ+ICAgICAgICDkvb/nlKjjgZnjgovjg5jjg4Pjg4nmlbDjgpLmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA85pWw5YCkPiAgICAgIOS9v+eUqOOBmeOCi+OCu+OCr+OCv+aVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICIgJXMlc+ODh+ODkOOCpOOCuSAgICAgICAgICAg44OH44OQ44Kk44K55LiK44Gu44Ki44Kv44OG44Kj44OW6aCY5Z+f44KS5LiA6Kan6KGo56S644GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiVzJXPjg4fjg5DjgqTjgrkgbjEgbjIgLi4uICBuMSwgbjIuLi4g55Wq55uu44KS44Ki44Kv44OG44Kj44OW44Gr44GX44Gm44CB44Gd44KM5Lul5aSW44KS6Z2e44Ki44Kv44OG44Kj44OW44Gr44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBwYXJ0aXRpb25zIGFyZ3VtZW50IgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7fjga7lvJXmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlcyDjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpNcbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAi5L2/44GE5pa5OiBzZmRpc2sgLS1wcmludC1pZCDjg4fjg5DjgqTjgrkg44OR44O844OG44Kj44K344On44Oz55Wq5Y+3IgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAi5L2/44GE5pa5OiBzZmRpc2sgLS1jaGFuZ2UtaWQg44OH44OQ44Kk44K5IOODkeODvOODhuOCo+OCt+ODp+ODs+eVquWPtyBJRCIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBbSWRdIgorI34gbXNnc3RyICLkvb/jgYTmlrk6IHNmZGlzayAtLWlkIOODh+ODkOOCpOOCuSDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pnlarlj7cgW0lEXSIKKworI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICLjg4fjg5DjgqTjgrnjga8gMSDjgaTjgaDjgZHmjIflrprjgafjgY3jgb7jgZkgKC1sIOOChCAtcyDjgpLpmaTjgY3jgb7jgZkpIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAiJXMg44KS6Kqt44G/5pu444GN5Y+v6IO944Gq44Oi44O844OJ44Gn6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIiVzIOOCkuiqreOBv+i+vOOBv+eUqOOBq+mWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IE9LIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6IOOCt+ODquODs+ODgCAlbGQsIOODmOODg+ODiSAlbGQsICVsZCDjgrvjgq/jgr8v44OI44Op44OD44KvXG4iCisKKyN+IG1zZ2lkICJiYWQgYWN0aXZlIGJ5dGU6IDB4JXggaW5zdGVhZCBvZiAweDgwIgorI34gbXNnc3RyICLkuI3mraPjgarjgqLjgq/jg4bjgqPjg5bjg5DjgqTjg4jjgafjgZk6IDB4ODAg44Gn44Gq44GPIDB4JXgg44Gn44GZIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAi57WC5LqGIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiJWQg5YCL44Gu44Ki44Kv44OG44Kj44OW44Gq5Z+65pys44OR44O844OG44Kj44K344On44Oz44GM44GC44KK44G+44GZ44CCXG4iCisjfiAiTElMTyDjga7loLTlkIjjga/nibnjgavllY/poYzjgYLjgorjgb7jgZvjgpPjgYzjgIFET1MgTUJSIOOBruWgtOWQiOOBr+OAgeOBhOOBmuOCjOOBiyAxIOOBpOOBrlxuIgorI34gIuOCouOCr+ODhuOCo+ODluODkeODvOODhuOCo+OCt+ODp+ODs+OBruOBv+OCkui1t+WLleOBp+OBjeOBvuOBmeOAgiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlcyDjga8gSUQgJXgg44Gn44CB6Zqg44GX6Kit5a6a44Gr44Gv44Gq44Gj44Gm44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAiQmFkIElkICVseCIKKyN+IG1zZ3N0ciAi5LiN5q2j44GqIElEICglbHgpIOOBp+OBmSIKKworI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAi44GT44Gu44OH44Kj44K544Kv44Gv54++5Zyo5L2/55So5Lit44Gn44GZ44CCIgorCisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICLoh7Tlkb3nmoTjgarjgqjjg6njg7w6ICVzIOOBjOimi+OBpOOBi+OCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiAlcyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJPSyIKKyN+IG1zZ3N0ciAiT0siCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlZCDjga/lrZjlnKjjgZfjgarjgYTjgZ/jgoHjgIHlpInmm7TjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICLjgZPjgozjgonjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLlpInmm7TjgZnjgovjga7jga/ljbHpmbrjgajliKTmlq3jgZfjgIHkvZXjgoLlpInmm7TjgZvjgZrjgavntYLkuobjgZfjgabjgYTjgb7jgZnjgIJcbiIKKyN+ICIo44Gp44GG44GX44Gm44KC5aSJ5pu044GX44Gf44GE5aC05ZCI44Gv44CBIC0tZm9yY2Ug44Kq44OX44K344On44Oz44KS5oyH5a6a44GX44Gm44GP44Gg44GV44GEKSIKKworI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIuOBk+OCjOOCieOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBruWkieabtOOBr+WNsemZuuOBp+OBmSAtIOS4i+iomOOBruizquWVj+OBq+OBryBObyDjgajnrZTjgYjjgabjgYrjgY/jgZPjgajjgpLjgYrli6fjgoHjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJBcmUgeW91IHNhdGlzZmllZCB3aXRoIHRoaXM/IFt5bnFdICIKKyN+IG1zZ3N0ciAi44GT44Gu44KI44GG44Gq57WQ5p6c44Gn44KI44KN44GX44GE44Gn44GX44KH44GG44GL77yfIFt5bnFdICIKKworI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICLkuK3mraIgLSDkvZXjgoLlpInmm7TjgZfjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICJ5LG4scSDjga7jgYTjgZrjgozjgYvjgafnrZTjgYjjgabjgY/jgaDjgZXjgYRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuaWsOOBl+OBhOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBruabuOOBjei+vOOBv+OBq+aIkOWKn+OBl+OBvuOBl+OBn1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiRE9TIOODkeODvOODhuOCo+OCt+ODp+ODs+OCkuS9nOaIkOOBl+OBn+OCiuWkieabtOOBl+OBn+OCiuOBl+OBn+WgtOWQiOOBr+OAgeOBn+OBqOOBiOOBsCAvZGV2L2Zvbzcg44Gn44GC44KM44GwXG4iCisjfiAiZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MSDjga7jgojjgYbjgavlrp/ooYzjgZfjgIEgZGQoMSkg44Kz44Oe44Oz44OJ44GnXG4iCisjfiAi5pyA5Yid44GuIDUxMiDjg5DjgqTjg4jjgpLjgrzjg63jgafln4vjgoHjgabjgY/jgaDjgZXjgYQgKOips+OBl+OBj+OBryBmZGlzayg4KSDjga7jg57jg4vjg6XjgqLjg6vjg5rjg7zjgrjjgpJcbiIKKyN+ICLjgYroqq3jgb/jgY/jgaDjgZXjgYQp44CCIgorCisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiRE9TIDYueCDpoJjln5/jgpLkvZzmiJDjgIHjgb7jgZ/jga/lpInmm7TjgZfjgabjgZfjgb7jgaPjgZ/loLTlkIjjga/jgIFjZmRpc2sg5LuY5bGe5paH5pu444Gr44GC44KL6L+95Yqg5oOF5aCx44Oa44O844K444KS5Y+C54Wn44GX44Gm44GP44Gg44GV44GE44CCIgorCisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIuODleOCo+ODvOODq+ODieOBjOmVt+OBmeOBjuOBvuOBmSIKKworI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogJyVjJyDjga/oqLHlj6/jgZXjgozjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIOOBr+ioseWPr+OBleOCjOOBvuOBm+OCk+OAgiIKKworI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczog5Yi25b6h5paH5a2X44Gv5L2/55So44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAi5Yi25b6h5paH5a2X44Gv5L2/55So44Gn44GN44G+44Gb44KTIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKKyN+IG1zZ2lkICIgLW0sIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgc3VwcGxlbWVudGFyeSBncm91cHMgYXMgd2VsbFxuIgorI34gbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIOijnOWKqeOCsOODq+ODvOODl+OCkue2reaMgeOBl+OBvuOBmVxuIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIiCisjfnwgIlxuIgorI358ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2NwdSgxKS5cbiIKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLoqbPjgZfjgY/jga8gbHNjcHUoMSkg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY3J5cHQoKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUaGlzIHNtYWxsIHVzYWdlIGd1aWRlXG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIOS9v+OBhOaWueOBruamguimgeOCkuihqOekuuOBmeOCi1xuIgorCisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgT3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgdXNlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKKyN+ICIgLWQsIC0tYWxwaGFudW0gICAgICAgICBjb21wYXJlIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+IGRlZmluZSBzdHJpbmcgdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAg5Luj5pu/6L6e5pu444KS5L2/55So44GX44G+44GZXG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAg6Iux5pWw5a2X44Gu44G/44KS5q+U6LyD5a++6LGh44Go44GX44G+44GZXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAg5q+U6LyD44Gu6Zqb44CB5aSn5paH5a2X44Go5bCP5paH5a2X44KS5Yy65Yil44GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA85paH5a2XPiDmloflrZfliJfjga7ntYLnq6/mloflrZfjgpLmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLoqbPntLDmg4XloLHjga/jgIFuYW1laSgxKSDjgpLnorroqo3jgZfjgabjgY/jgaDjgZXjgYTjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgd2lwZWZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6Kmz44GX44GP44GvIHdpcGVmcyg4KSDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuips+OBl+OBj+OBryB0YXNrc2V0KDEpIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAiJXM6IGlzIHJlbW92YWJsZSBkZXZpY2UiCisjfiBtc2dzdHIgIiVzOiDlj5bjgorlh7rjgZflj6/og73jgarjg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIlczogY29ubmVjdGVkIGJ5IGhvdHBsdWcgc3Vic3lzdGVtOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IOODm+ODg+ODiOODl+ODqeOCsOOCteODluOCt+OCueODhuODoOOBp+aOpee2muOBleOCjOOBpuOBhOOBvuOBmTogJXMiCisKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICLmmYLplpPliLbpmZDjga7lgKTjga/jgrzjg63jgavjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnaWRfcGx1cmFsICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyWzBdICIlZCDnp5LjgpLmjL/lhaXjgZfjgIEgJS42ZiDnp5LliY3jgavmmYLliLvlj4LnhafjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZlcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICJLREdIV0NMSyDjgYvjgonlpInmm7Tjga7jgZ/jgoHjga7mmYLliLvjgpLlj5blvpfjgZnjgovlh6bnkIbjgpLjg6vjg7zjg5fjgaflvoXmqZ/jgZfjgabjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIOOBruaZguWIu+iqreOBv+WPluOCiuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAi5pmC5Yi76Kqt44G/6L6844G/44Gu44Gf44KB44GuIEtER0hXQ0xLIGlvY3RsIOWHpueQhuOBjOWkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICIlcyDjgYvjgonmmYLliLvjgpLoqq3jgb/ovrzjgoDpmpvjgIEgaW9jdGwoKSDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgIktEU0hXQ0xLIGlvY3RsIOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIlVzaW5nIHRoZSBLREdIV0NMSyBpbnRlcmZhY2UgdG8gbTY4ayBjbG9jay4iCisjfiBtc2dzdHIgIktER0hXQ0xLIOOCpOODs+OCv+ODleOCp+ODvOOCueOCkuS9v+OBo+OBpiBtNjhrIOOCr+ODreODg+OCr+OBq+OCouOCr+OCu+OCueOBl+OBvuOBmeOAgiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiL2Rldi90dHkxIOOBvuOBn+OBryAvZGV2L3ZjLzEg44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDjgavlpLHmlZfjgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLoqbPjgZfjgY/jga8gbHNjcHUoMSkg44KS44GK6Kqt44G/44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIDzjg5fjg63jgrDjg6njg6A+IFvlvJXmlbAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorI34gIiAtdSwgLS11c2VyIDxuYW1lfGlkPiAgIGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIOW8leaVsOOCkuODl+ODreOCu+OCueOBruOCsOODq+ODvOODlyBJRCDjgajjgZfjgabop6Pph4jjgZfjgb7jgZlcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPOeVquWPtz4gIG5pY2Ug5YCk44Gu5Yqg566X5YCk44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAg5byV5pWw44KS44OX44Ot44K744K5IElEIOOBqOOBl+OBpuino+mHiOOBl+OBvuOBmSAo5pei5a6a5YCkKVxuIgorI34gIiAtdSwgLS11c2VyIDzlkI3liY18aWQ+ICAg5byV5pWw44KS44Om44O844K25ZCN44G+44Gf44Gv44Om44O844K2IElEIOOBqOOBl+OBpuino+mHiOOBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLoqbPjgZfjgYTmg4XloLHjgavjgaTjgYTjgabjga/jgIEgcmVuaWNlKDEpIOOCkuOBiuiqreOBv+OBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIiAlcyVzIFvjgqrjg5fjgrfjg6fjg7NdIFvjg5fjg63jgrDjg6njg6AgW+ODl+ODreOCsOODqeODoOW8leaVsF1dXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiIKKyN+fCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorI358ICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCisjfnwgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfnwgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorI358ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI358ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlc1xuIgorI358ICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+fCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncywgdXNlIHdpdGggLS1zaG93XG4iCisjfnwgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfnwgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI358ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKKyN+ICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzLCB1c2Ugd2l0aCAtLXNob3dcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgIC9wcm9jL3N3YXBzIOOBq+OBguOCi+OBmeOBueOBpuOBruOCueODr+ODg+ODl+OCkuacieWKueOBq+OBl+OBvuOBmVxuIgorI34gIiAtZCwgLS1kaXNjYXJkWz0844Od44Oq44K344O8Pl1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgIOODh+ODkOOCpOOCueOBjOWvvuW/nOOBl+OBpuOBhOOCi+WgtOWQiOOBq1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAg44K544Ov44OD44OX44Gu56C05qOE44KS5pyJ5Yq55YyW44GX44G+44GZXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICDlrZjlnKjjgZfjgarjgYTjg4fjg5DjgqTjgrnjgafjgYLjgaPjgZ/loLTlkIjjgIHkvZXjgoLjgZvjgZrjgavpo5vjgbDjgZfjgb7jgZlcbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgIOW/heimgeOBp+OBguOCjOOBsOOAgeOCueODr+ODg+ODl+mgmOWfn+OBruWGjeWIneacn+WMluOCkuihjOOBhOOBvuOBmVxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA85YSq5YWI6aCG5L2NPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAg44K544Ov44OD44OX44OH44OQ44Kk44K544Gu5YSq5YWI6aCG5L2N44KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC1zLCAtLXN1bW1hcnkgICAgICDkvb/nlKjkuK3jga7jgrnjg6/jg4Pjg5fjg4fjg5DjgqTjgrnjgavjgaTjgYTjgabjgIHmpoLopoHjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tc2hvd1s9POWIlz5dICDoqK3lrprlj6/og73jgarooajlvaLlvI/jgafooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgIOODmOODg+ODgOOCkuihqOekuuOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmSAoLS1zaG93IOOBqOWFseOBq+S9v+eUqOOBl+OBvuOBmSlcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgIOWKoOW3peOCkuihjOOBquOCj+OBmuOBq+WHuuWKm+OBl+OBvuOBmSAoLS1zaG93IOOBqOWFseOBq+S9v+eUqOOBl+OBvuOBmSlcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgIOOCueODr+ODg+ODl+OCteOCpOOCuuOCkuODkOOCpOODiOWNmOS9jeOBp+ihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAoLS1zaG93IOOBqOWFseOBq+S9v+eUqOOBl+OBvuOBmSlcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgIOWGl+mVt+WHuuWKm+OCkuihjOOBhOOBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5L2/44GE5pa5OlxuIgorI34gIiAlcyBb44Kq44OX44K344On44OzXSBb44OV44Kh44Kk44OrIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICDkuIvnt5rjgpLlh7rlipvjgZfjgarjgYTjgojjgYbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIOWFqOOBpuOBruWNiuaUueihjOOCkuWHuuWKm+OBmeOCi+OCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLjgqrjg5fjgrfjg6fjg7M6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICDjg5Djg7zjgrjjg6fjg7Pmg4XloLHjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI358IG1zZ2lkICJjYWxsaW5nIGhleGR1bXAgYXMgb2QgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvdXIgdG8gR05VIGNvcmV1dGlscyBvZC4iCisjfiBtc2dpZCAiY2FsbGluZyBoZXhkdW1wIGFzIG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgR05VIGNvcmV1dGlscyBvZCIKKyN+IG1zZ3N0ciAib2Qg44Go44GX44GmIDE2IOmAsuaVsOOBruODgOODs+ODl+OCkuS9v+eUqOOBmeOCi+apn+iDveOBr+OAgSBHTlUgY29yZXV0aWxzIOOBriBvZCDjgafmj5DkvpvjgZXjgozjgovjgojjgYbjgavjgarjgorjgb7jgZfjgZ/jgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi44Kq44OX44K344On44OzOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6Kmz44GX44GP44GvIHJldigxKSDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5L2/44GE5pa5OlxuIgorI34gIiAlcyBb44Kq44OX44K344On44OzXSDjg5XjgqHjgqTjg6tcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1saW5lcyBOVU1CRVIgIG91dHB1dCB0aGUgbGFzdCBOVU1CRVIgbGluZXNcbiIKKyN+ICIgLU5VTUJFUiAgICAgICAgICAgICBzYW1lIGFzIGAtbiBOVU1CRVInXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi44Kq44OX44K344On44OzOlxuIgorI34gIiAtbiwgLS1saW5lcyA85pWw5YCkPiAg5oyH5a6a44GX44Gf6KGM5pWw5YiG44Gu5pyr5bC+44KS6KGo56S644GX44G+44GZXG4iCisjfiAiIC085pWw5YCkPiAgICAgICAgICAgICBgLW4gPOaVsOWApD4nIOOBqOWQjOOBmOaEj+WRs+OBp+OBmVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIndhaXRwaWQg44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICBleHRyYWN0IGludG8gZGlyZWN0b3J5XG4iCisjfiBtc2dzdHIgIiAteCwgLS1kZXN0aW5hdGlvbiA844OH44Kj44Os44Kv44OI44OqPiDjg4fjgqPjg6zjgq/jg4jjg6rlhoXjgavlsZXplovjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAiLXgg44K144Od44O844OI44Gq44GX44Gn44Kz44Oz44OR44Kk44Or44GV44KM44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiDjg6Hjg6Ljg6rjgYzotrPjgorjgb7jgZvjgpPvvIFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICLkvb/nlKjkuI3lj68iCisKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAi5pu444GN6L6844G/44Gr5aSx5pWX44GX44G+44GX44GfXG4iCisKKyN+IG1zZ2lkICJEaXNrIGhhcyBiZWVuIGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+OBjOWkieabtOOBleOCjOOBvuOBl+OBn+OAglxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIumgmOWfn+aDheWgseOCkuato+OBl+OBj+abtOaWsOOBleOBm+OCi+OBq+OBr+OAgeOCt+OCueODhuODoOOCkuWGjei1t+WLleOBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuitpuWRijogRE9TIDYueCDpoJjln5/jgpLkvZzmiJDjgIHjgb7jgZ/jga/lpInmm7TjgZfjgabjgZdcbiIKKyN+ICLjgb7jgaPjgZ/loLTlkIjjga/jgIFjZmRpc2sg44Oe44OL44Ol44Ki44Or44Gr44GC44KL6L+95Yqg5oOF5aCx44Oa44O844K4XG4iCisjfiAi44KS5Y+C54Wn44GX44Gm44GP44Gg44GV44GE44CCXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAi6Ie05ZG955qE44Gq44Ko44Op44O8IgorCisjfiBtc2dpZCAiUHJlc3MgYW55IGtleSB0byBleGl0IGNmZGlzayIKKyN+IG1zZ3N0ciAiY2ZkaXNrIOOCkue1guS6huOBmeOCi+OBq+OBr+OAgeS9leOBi+OCreODvOOCkuaKvOOBl+OBpuOBj+OBoOOBleOBhCIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+ODieODqeOCpOODluS4iuOBpyBzZWVrIOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+ODieODqeOCpOODluOCkuiqreOBv+i+vOOCgeOBvuOBm+OCkyIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq/jg4njg6njgqTjg5bjgavmm7jjgY3ovrzjgoHjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJUb28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzlpJrjgZnjgY7jgb7jgZkiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu6ZaL5aeL5L2N572u44GMIDAg44K744Kv44K/44KI44KK44KC5YmN44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7ntYLkuobkvY3nva7jgYwgMCDjgrvjgq/jgr/jgojjgorjgoLliY3jgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7plovlp4vkvY3nva7jgYzjg4fjgqPjgrnjgq/jga7ntYLjgo/jgorjgojjgorjgoLlvozjgavjgarjgaPjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44Gu57WC5LqG5L2N572u44GM44OH44Kj44K544Kv44Gu57WC44KP44KK44KI44KK44KC5b6M44Gr44Gq44Gj44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICLoq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYzjg4fjgqPjgrnjgq/jga7poIbluo/jgajlkIjjgaPjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAi6KuW55CG44OR44O844OG44Kj44K344On44Oz44GM6YeN6KSH44GX44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgIuaLoeWkp+OBleOCjOOBn+irlueQhuODkeODvOODhuOCo+OCt+ODp+ODs+OBjOmHjeikh+OBl+OBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIiEhISEgSW50ZXJuYWwgZXJyb3IgY3JlYXRpbmcgbG9naWNhbCBkcml2ZSB3aXRoIG5vIGV4dGVuZGVkIHBhcnRpdGlvbiAhISEhIgorI34gbXNnc3RyICIhISEhIOWGhemDqOOCqOODqeODvOOAguaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OBjOWtmOWcqOOBl+OBquOBhOOBruOBq+OAgeirlueQhuODieODqeOCpOODluOCkuS9nOaIkOOBl+OBpuOBhOOBvuOBmSAhISEhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICLjgZPjgZPjgavjga/oq5bnkIbjg4njg6njgqTjg5bjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpMgLS0gMiDjgaTjga7mi6HlvLXpoJjln5/jgafjgYLjgozjgbDkvZzmiJDjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAi44Oh44OL44Ol44O86aCF55uu5ZCN44GM6ZW344GZ44GO44G+44GZ44CC44Oh44OL44Ol44O86KGo56S644GM5Lmx44KM44Gm44GE44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZ44CCIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIuS4jeato+OBquOCreODvCIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi5paw44GX44GE5Z+65pys44OR44O844OG44Kj44K344On44Oz44KS5L2c5oiQ44GX44G+44GZIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICLmlrDjgZfjgYToq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLkvZzmiJDjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIuS4reatoiIKKworI34gbXNnaWQgIkRvbid0IGNyZWF0ZSBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi6aCY5Z+f44KS5L2c5oiQ44GX44G+44Gb44KTIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIOWGhemDqOOCqOODqeODvCAhISEiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAi44K144Kk44K6IChNQiDljZjkvY0pOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIuacgOWIneOBi+OCiSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIuepuuOBjemgmOWfn+OBruacgOWIneOBq+mgmOWfn+OCkui/veWKoCIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIuepuuOBjemgmOWfn+OBruacgOW+jOOBq+mgmOWfn+OCkui/veWKoCIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuaLoeW8teODkeODvOODhuOCo+OCt+ODp+ODs+OCkuS9nOaIkOOBmeOCi+OBn+OCgeOBrumgmOWfn+OBjOOBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44GM44GC44KK44G+44Gb44KT44CC5L2V44KC44Gq44GE54q25oWL44Gn6ZaL5aeL44GX44G+44GZ44CCIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBrue9suWQjeOBjOS4jeato+OBp+OBmSIKKworI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIuS4jeaYjuOBquODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OBruOCv+OCpOODlyIKKworI34gbXNnaWQgIkRvIHlvdSB3aXNoIHRvIHN0YXJ0IHdpdGggYSB6ZXJvIHRhYmxlIFt5L05dID8iCisjfiBtc2dzdHIgIuS9leOCguOBquOBhOeKtuaFi+OBp+mWi+Wni+OBl+OBvuOBmeOBiyBbeS9OXSA/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAi44OH44Kj44K544Kv44OJ44Op44Kk44OW44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAi44OH44Kj44K544Kv44KS6Kqt44G/6L6844G/5bCC55So44Gn6ZaL44GN44G+44GX44GfIC0g5pu444GN6L6844G/5qip6ZmQ44GM44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+OBruOCteOCpOOCuuOCkuWPluW+l+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi5LiN5q2j44Gq5Z+65pys44OR44O844OG44Kj44K344On44OzIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBUaGlzIG1heSBkZXN0cm95IGRhdGEgb24geW91ciBkaXNrISIKKyN+IG1zZ3N0ciAi6K2m5ZGKISEg44GT44Gu5Yem55CG44Gr44KI44KK44CB44OH44Kj44K544Kv5LiK44Gu44OH44O844K/44KS56C05aOK44GZ44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZISIKKworI34gbXNnaWQgIlBsZWFzZSBlbnRlciBgeWVzJyBvciBgbm8nIgorI34gbXNnc3RyICJgeWVzJyDjgYsgYG5vJyDjga7jgYTjgZrjgozjgYvjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQiCisKKyN+IG1zZ2lkICJXcml0aW5nIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLi4uIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLmm7jjgY3ovrzjgpPjgafjgYTjgb7jgZkuLi4iCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44Oz5oOF5aCx44KS44OH44Kj44K544Kv44Gr5pu444GN6L6844G/44G+44GX44GfIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlLCBidXQgcmUtcmVhZCB0YWJsZSBmYWlsZWQuICBSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHRvIHVwZGF0ZSB0YWJsZS4iCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuabuOOBjei+vOOBv+OBvuOBl+OBn+OBjOOAgeWGjeiqreOBv+i+vOOBv+OBq+WkseaVl+OBl+OBvuOBl+OBn+OAgiBwYXJ0cHJvYmUoOCkg44G+44Gf44GvIGtwYXJ0eCg4KSDjgpLlrp/ooYzjgZnjgovjgYvjgIHjgrfjgrnjg4bjg6DjgpLlho3otbfli5XjgZfjgabjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLoqq3jgb/ovrzjgb/nm7TjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAi44GE44Ga44KM44Gu44OR44O844OG44Kj44K344On44Oz44Gr44KC6LW35YuV5Y+v6IO944OV44Op44Kw44GM6Kit5a6a44GV44KM44Gm44GE44G+44Gb44KT44CCIERPUyBNQlIg44Gn44Gv44CB44GT44Gu44OH44Kj44K544Kv44GL44KJ6LW35YuV44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KT44CCIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIuikh+aVsOOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBq+WvvuOBl+OBpui1t+WLleWPr+iDveODleODqeOCsOOBjOioreWumuOBleOCjOOBpuOBhOOBvuOBmeOAgiBET1MgTUJSIOOBp+OBr+OAgeOBk+OBruODh+OCo+OCueOCr+OBi+OCiei1t+WLleOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCk+OAgiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICLjg5XjgqHjgqTjg6vlkI3jgpLlhaXlipvjgZnjgovjgYvjgIEgUkVUVVJOIOOCkuaKvOOBl+OBpueUu+mdouS4iuOBq+ihqOekuuOBleOBm+OBpuOBj+OBoOOBleOBhDogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAi44OH44Kj44K544Kv44OJ44Op44Kk44OWOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIuOCu+OCr+OCvyAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICLjgrvjgq/jgr8gJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICDnhKHjgZcgICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICDln7rmnKwv6KuW55CGIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAg5Z+65pysIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAg6KuW55CGIgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJOb25lIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIFRhYmxlIGZvciAlc1xuIgorI34gbXNnc3RyICIlcyDjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLFcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAg5pyA5YidICAgICAg5pyA5b6MXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIOmgmOWfnyAgICAgICDjgrvjgq/jgr8gICAg44K744Kv44K/IOOCquODleOCu+ODg+ODiCAgICDlpKfjgY3jgZUgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6AoSUQpIOODleODqeOCsFxuIgorCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tLeacgOWIneOBri0tLS0tICAgICAgLS0tLeacgOW+jOOBri0tLS0tICAgIOmWi+Wni1xuIgorCisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsIOOCu+OCr+OCv+eVquWPtyAgIOOCu+OCr+OCv+aVsFxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICLnlJ/jg4fjg7zjgr8iCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICLnlJ/jg4fjg7zjgr/jga7lvaLlvI/jgafjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLlh7rlipvjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICLjgrvjgq/jgr/poIbjgavjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgpLlh7rlipvjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAi44OG44O844OW44OrIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pmg4XloLHjgaDjgZHjgpLooajnpLrjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkuWHuuWKm+OBl+OBquOBhCIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgIGcgICAgICAgICAg44K344Oq44Oz44OA77yP44OY44OD44OJ77yP44OI44Op44OD44Kv44GC44Gf44KK44Gu44K744Kv44K/5pWw44KS5aSJ5pu044GX44G+44GZIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOitpuWRijog44GT44Gu44Kq44OX44K344On44Oz44Gv44CB44OH44Kj44K544Kv44Gr6Zai44GZ44KL6Kmz44GX44GE55+l6K2Y44KSIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDjgYrmjIHjgaHjga7mlrnjga7jgb/jgZTliKnnlKjjgY/jgaDjgZXjgYTjgIIiCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICDjgqvjg7zjgr3jg6vkuIrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga7jg4fjgqPjgrnjgq/kvb/nlKjjgpLmnIDlpKfljJbjgZnjgosiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgTm90ZTogVGhpcyBtYXkgbWFrZSB0aGUgcGFydGl0aW9uIGluY29tcGF0aWJsZSB3aXRoIgorI34gbXNnc3RyICIgICAgICAgICAgICAg5rOo5oSPOiDjgZPjga7jgqrjg5fjgrfjg6fjg7Pjga/jgIFET1MsIE9TLzIg562J44Go5LqS5o+b5oCn44Gu44Gq44GEIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICAg6aCY5Z+f44KS5L2c5oiQ44GZ44KL5Y+v6IO95oCn44GM44GC44KK44G+44GZ44CCIgorCisjfiBtc2dpZCAiICBwICAgICAgICAgIFByaW50IHBhcnRpdGlvbiB0YWJsZSB0byB0aGUgc2NyZWVuIG9yIHRvIGEgZmlsZSIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOCkueUu+mdouOBvuOBn+OBr+ODh+OCo+OCueOCr+OBq+WHuuWKm+OBl+OBvuOBmSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgseOBruWHuuWKm+OBp+OBr+OAgeS4i+iomOOBruW9ouW8j+OCkuaMh+WumuOBmeOCiyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAg44GT44Go44GM44Gn44GN44G+44GZOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIOeUn+ODh+ODvOOCvyAo44OH44Kj44K544Kv44Gr5pu444GN6L6844G+44KM44KL5oOF5aCx44Gd44Gu44KC44GuKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIOOCu+OCr+OCv+mghuOBruODkeODvOODhuOCo+OCt+ODp+ODs+aDheWgsSIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICDooajnpLrjgZnjgovpoJjln5/jgrXjgqTjgrrjga7ljZjkvY3jgpLlpInmm7TjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBNQiwg44K744Kv44K/LCDjgrfjg6rjg7Pjg4Djga7poIbjgavliIfjgormm7/jgYjjgovjgZPjgajjgYzjgafjgY3jgb7jgZkiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMLUwgICAgICAg55S76Z2i44KS5YaN5o+P55S744GX44G+44GZIgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAg44GT44Gu55S76Z2i44KS6KGo56S644GX44G+44GZIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICLjgrfjg6rjg7Pjg4Djga7jgrjjgqrjg6Hjg4jjg6rjgpLlpInmm7TjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAi44OY44OD44OJ44Gu44K444Kq44Oh44OI44Oq44KS5aSJ5pu044GX44G+44GZIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAi44K744Kv44K/44Gu44K444Kq44Oh44OI44Oq44KS5aSJ5pu044GX44G+44GZIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICLjgrjjgqrjg6Hjg4jjg6rjgpLlpInmm7TjgZfjgabntYLkuobjgZfjgb7jgZkiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICLjgrfjg6rjg7Pjg4DmlbDjgpLlhaXlipvjgZfjgabjgY/jgaDjgZXjgYQ6ICIKKworI34gbXNnaWQgIklsbGVnYWwgY3lsaW5kZXJzIHZhbHVlIgorI34gbXNnc3RyICLjgrfjg6rjg7Pjg4DmlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIuODmOODg+ODieaVsOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAi44OY44OD44OJ5pWwIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICIxIOODiOODqeODg+OCr+OBguOBn+OCiuOBruOCu+OCr+OCv+aVsOOCkuWFpeWKm+OBl+OBpuOBj+OBoOOBleOBhDogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICLjgrvjgq/jgr/mlbDjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44Gu44K/44Kk44OX44KS5YWl5Yqb44GX44Gm44GP44Gg44GV44GEOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIuODleOCoeOCpOODq+OCt+OCueODhuODoOOCv+OCpOODl+OCkuepuuOBq+WkieabtOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAi44OV44Kh44Kk44Or44K344K544OG44Og44K/44Kk44OX44KS5ouh5by144Gr5aSJ5pu044Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiVW5rKCUwMlgpIgorI34gbXNnc3RyICLkuI3mmI4oJTAyWCkiCisKKyN+IG1zZ2lkICIsIE5DIgorI34gbXNnc3RyICIsIE5DIgorCisjfiBtc2dpZCAiTkMiCisjfiBtc2dzdHIgIk5DIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAi5Z+65pysL+irlueQhiIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICLkuI3mmI4gKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+ODieODqeOCpOODljogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICLjgrXjgqTjgro6ICVsbGQg44OQ44Kk44OILCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICLjgrXjgqTjgro6ICVsbGQg44OQ44Kk44OILiAlbGxkLiVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIuODmOODg+ODieaVsDogJWQgICDjg4jjg6njg4Pjgq/jgYLjgZ/jgorjga7jgrvjgq/jgr/mlbA6ICVkICAg44K344Oq44Oz44OA5pWwOiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICLjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgr/jgqTjg5ciCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICJGUyDjgr/jgqTjg5ciCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJb44Op44OZ44OrXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAg44K744Kv44K/ICIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgIOOCt+ODquODs+ODgCAiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiIOOCteOCpOOCuihNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiIOOCteOCpOOCuihHQikiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIuOBk+OCjOS7peS4iuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBr+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICLjg4fjgqPjgrnjgq/jgrjjgqrjg6Hjg4jjg6rjgpLlpInmm7TjgZfjgb7jgZkgKOeGn+e3tOiAheWQkeOBkSkiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAi5pyA5aSn5YyWIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIuOCq+ODvOOCveODq+S4iuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBq+WvvuOBl+OAgeODh+OCo+OCueOCr+S9v+eUqOmHj+OCkuacgOWkp+WMluOBl+OBvuOBmSAo54af57e06ICF55SoKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICLooajnpLoiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdGhlIGZpbGVzeXN0ZW0gdHlwZSAoRE9TLCBMaW51eCwgT1MvMiBhbmQgc28gb24pIgorI34gbXNnc3RyICLjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jgr/jgqTjg5fjgpLlpInmm7TjgZnjgosgKERPUywgTGludXgsIE9TLzIg44Gq44GpKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICLljZjkvY0iCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICLooajnpLrjgZnjgovjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgrXjgqTjgrrjga7ljZjkvY0gKE1CLCDjgrvjgq/jgr8sIOOCt+ODquODs+ODgCkg44KS5aSJ5pu044GX44G+44GZIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIuOBk+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkui1t+WLleWPr+iDveOBq+OBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIkNhbm5vdCBkZWxldGUgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICLnqbrjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpLliYrpmaTjgZnjgovjgZPjgajjga/jgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuOBk+OBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuacgOWkp+WMluOBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICLjgZPjga7jg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjga/kvb/nlKjjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAi44GT44Gu44OH44Kj44K544Kv44Gv54++5Zyo5L2/55So5Lit44Gn44GZ44CCIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuepuuOBruODkeODvOODhuOCo+OCt+ODp+ODs+OBruOCv+OCpOODl+OCkuWkieabtOOBmeOCi+OBk+OBqOOBr+OBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgIHNldCB0aGUgbnVtYmVyIG9mIGhlYWRzIHRvIHVzZVxuIgorI34gbXNnc3RyICIgLWgsIC0taGVhZHMgPOaVsOWApD4gICAgIOWIqeeUqOOBmeOCi+ODmOODg+ODieOBruaVsOOCkuOCu+ODg+ODiOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICDjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjg4bjg7zjg5bjg6vjgYvjgonjgrjjgqrjg6Hjg4jjg6rjgpLmjqjmuKzjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtUCwgLS1wcmludCA8cnxzfHQ+ICAgICAgIHByaW50IHBhcnRpdGlvbiB0YWJsZSBpbiBzcGVjaWZpZWQgZm9ybWF0XG4iCisjfiBtc2dzdHIgIiAtUCwgLS1wcmludCA8cnxzfHQ+ICAgIOaMh+WumuOBl+OBn+W9ouW8j+OBp+ODkeODvOODhuOCo+OCt+ODp+ODs+ODhuODvOODluODq+OCkuWHuuWKm+OBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgIOefouWNsOOCkuS9v+OBo+OBpuePvuWcqOOBruODkeODvOODhuOCo+OCt+ODp+ODs+OCkuW8t+iqv+OBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIuOCt+ODquODs+ODgOaVsOOCkuWHpueQhuOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgIuODmOODg+ODieaVsOOCkuWHpueQhuOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAi44K744Kv44K/5pWw44KS5Yem55CG44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiIC1iIDxzaXplPiAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+IG1zZ3N0ciAiIC1iIDzjgrXjgqTjgro+ICAgICDjgrvjgq/jgr/jgrXjgqTjgrogKDUxMuOAgTEwMjTjgIEyMDQ444CBNDA5NiDjga7jganjgozjgYspXG4iCisKKyN+IG1zZ2lkICIgLWggICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+IG1zZ3N0ciAiIC1oICAgICAgICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIlxuIgorI34gbXNnc3RyICJcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIuODkeODvOODhuOCo+OCt+ODp+ODsyAlZCDjga/lrprnvqnmuIjjgb/jgafjgZnjgILlho3ov73liqDjgpLooYzjgYbjgavjga/jgIHjgb7jgZrliYrpmaTjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiUGFydGl0aW9uIHR5cGU6XG4iCisjfiAiICAgcCAgIHByaW1hcnkgKCV6ZCBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXpkIGZyZWUpXG4iCisjfiAiJXNcbiIKKyN+ICJTZWxlY3QgKGRlZmF1bHQgJWMpIgorI34gbXNnc3RyICIiCisjfiAi44OR44O844OG44Kj44K344On44Oz44Gu56iu6aGeOlxuIgorI34gIiAgIHAgICDln7rmnKwgKOePvuWcqOOAgeWfuuacrOODkeODvOODhuOCo+OCt+ODp+ODs+OBjCAlemQg5YCLLCDmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYwgJWQg5YCLLCDnqbrjgY3jg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgYwgJXpkIOWAiylcbiIKKyN+ICIlc1xuIgorI34gIumBuOaKnuOBl+OBpuOBj+OBoOOBleOBhCAo5pei5a6a5YCkICVjKSIKKworI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiICAgZSAgIOaLoeW8tSIKKworI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAi44GT44Gu5oOF5aCx44Gv44OR44O844OG44Kj44K344On44Oz44OG44O844OW44Or44Gn44Gv44Gq44GE44KI44GG44Gr5oCd44KP44KM44G+44GZ44CC44GK44Gd44KJ44GP6ZaT6YGV44Gj44Gf44OH44OQ44Kk44K544KS6YG45oqe44GX44Gm44GE44G+44GZ44CCIgorCisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAi44OW44Ot44OD44KvICIKKworI34gbXNnaWQgIlN5c3RlbSIKKyN+IG1zZ3N0ciAi44K344K544OG44OgIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAi44OR44O844OG44Kj44K344On44OzICV6ZCDjga/lrprnvqnmuIjjgb/jgafjgZnjgILlho3ov73liqDjgpLooYzjgarjgYbjgavjga/jgIHjgb7jgZrliYrpmaTjgZfjgabjgY/jgaDjgZXjgYTjgIIiCisKKyN+IG1zZ2lkICJQdCMiCisjfiBtc2dzdHIgIlB0IyIKKworI34gbXNnaWQgIkluZm8iCisjfiBtc2dzdHIgIuaDheWgsSIKKworI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAi44K744Kv44K/IgorCisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIuODh+OCo+OCueOCr+OBrumgmOWfn+OBjOmHjeikh+OBmeOCi+OBk+OBqOOBq+OBquOCiuOBvuOBmeOAguOBvuOBmuOBr+OBk+OCjOOCkuino+axuuOBl+OBpuOBj+OBoOOBleOBhCEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorI34gbXNnc3RyICLorablkYo6IEJMS0dFVFNJWkUgaW9jdGwg44GMICVzIOOBp+WkseaVl+OBl+OBvuOBl+OBn+OAguOCuOOCquODoeODiOODquOBruOCt+ODquODs+ODgOWApOOCkuOAgSVsbHUg44Go44G/44Gq44GX44G+44GZ44CC44GT44Gu6Kit5a6a44Gr44KI44KK44CBIDMzLjggR0Ig44KI44KK5aSn44GN44Gq44OH44OQ44Kk44K544GM5YiH44KK5o2o44Gm44KJ44KM44KL44GT44Go44Gr44Gq44KL44GL44KC44GX44KM44G+44Gb44KT44CCIgorCisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAi44OV44Op44KwIgorCisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICLjg63jg7zjgqvjg6vpoIXnm67jga7jgb/jgpLlpInmm7TjgafjgY3jgb7jgZnjgIIiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorCisjfiBtc2dpZCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAi44Kz44Oe44Oz44OJ44GM5oyH5a6a44GV44KM44Gm44GE44G+44Gb44KT44CCIgorCisjfiBtc2dpZCAiIgorI34gIiAlMSRzIFtvcHRpb25zXSBMQUJFTD08bGFiZWw+XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIFVVSUQ9PHV1aWQ+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgJTEkcyBb44Kq44OX44K344On44OzXSBMQUJFTD0844Op44OZ44OrPlxuIgorI34gIiAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIFVVSUQ9PHV1aWQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorI34gIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtLWZzdGFiLCAtLW10YWIgb3IgLS1rZXJuZWwgb3B0aW9uc1xuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQSwgLS1hbGwgICAgICAgICAgICAgIOOBmeOBueOBpuOBruWGheiUteODleOCo+ODq+OCv+OCkueEoeWKueWMluOBl+OAgeOBmeOBueOBpuOBruODleOCoeOCpOODq1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAg44K344K544OG44Og44KS6KGo56S644GX44G+44GZXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAg44OE44Oq44O85qeL6YCg44Gu6KGo56S644GrIEFTQ0lJIOaWh+Wtl+OCkuS9v+eUqOOBl+OBvuOBmVxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIOihqOekuuOBmeOCi+ODkeOCueOCkuato+imj+WMluOBl+OBvuOBmVxuIgorI34gIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGRmKDEpIOOBruWHuuWKm+W9ouW8j+OCkuaTrOS8vOOBl+OBvuOBmVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPOaWueWQkT4g5qSc57Si5pa55ZCR44KS5oyH5a6a44GX44G+44GZ44CCICdmb3J3YXJkJyAo5YmN5pa55ZCRKSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICdiYWNrd2FyZCcgKOW+jOaWueWQkSkg44GuIOOBhOOBmuOCjOOBi+OCkuaMh+WumuOBl+OBvuOBmeOAglxuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIOOCv+OCsCAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIOOCkuODh+ODkOOCpOOCueOBq1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAg5aSJ5o+b44GX44G+44GZXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgLS1mc3RhYiwgLS1tdGFiLCAtLWtlcm5lbCDjgavlr77jgZnjgovku6Pmm7/jg5XjgqHjgqTjg6vjgpJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIOaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIOacgOWIneOBq+imi+OBpOOBi+OBo+OBn+ODleOCoeOCpOODq+OCt+OCueODhuODoOOBruOBv+OCkuihqOekuuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICDpganlkIjlh6bnkIbjga7liKTmlq3jgpLpgIbjgavjgZfjgb7jgZlcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICDkuIDopqflvaLlvI/jgaflh7rlipvjgZfjgb7jgZlcbiIKKyN+ICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICDku6Pmm7/jga7lkI3liY3poJjln5/jgpLkvb/nlKjjgZfjgb7jgZkgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyDjg5XjgqHjgqTjg6spXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg5YiX44Gu44OY44OD44OA44KS6KGo56S644GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAg5YiX5pa55ZCR44Gr44OG44Kt44K544OI44KS5YiH44KK6Kmw44KB44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorI34gIiAtVCwgLS10YXJnZXQgPHN0cmluZz4gIHRoZSBtb3VudHBvaW50IHRvIHVzZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAg44OQ44Kk44Oz44OJ44Oe44Km44Oz44OI44KEIGJydGZzIOOBruODnuOCpuODs+ODiOOBq+WvvuOBl+OBpuOAgVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgWy9kaXJdIOOCkuihqOekuuOBl+OBquOBhOOCiOOBhuOBq+OBl+OBvuOBmVxuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIOipsuW9k+OBmeOCi+ODleOCoeOCpOODq+OCt+OCueODhuODoOOBruOCteODluODnuOCpuODs+ODiOOCglxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAg44GZ44G544Gm6KGo56S644GZ44KL44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA85paH5a2X5YiXPiAg44Oe44Km44Oz44OI44Gr5L2/55So44GZ44KL44OH44OQ44Kk44K544KS5oyH5a6a44GX44G+44GZICjlkI3liY0sXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICDjg6Hjgrjjg6Pjg7w644Oe44Kk44OK44O8LCAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDzmloflrZfliJc+ICDkvb/nlKjjgZnjgovjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4jjgpLmjIflrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1mLCAtLWZpbGUgPOODleOCoeOCpOODqz4g5oyH5a6a44GX44Gf44OV44Kh44Kk44Or44KSIENvb2tpZSDjga7jgrfjg7zjg4njgajjgZfjgabkvb/nlKjjgZfjgb7jgZlcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAg5L2V44GM6KGM44KP44KM44KL44Gu44GL44KS6Kmz44GX44GP6KGo56S644GX44G+44GZXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICDjgZPjga7jg5jjg6vjg5fjgpLooajnpLrjgZfjgabntYLkuobjgZfjgb7jgZlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvjgqrjg5fjgrfjg6fjg7NdIOODkeOCueWQjSBb44OR44K55ZCNIC4uLl1cbiIKKworI34gbXNnaWQgIkJvdGggLS1waWQgYW5kIC0tbm8tcGlkIHNwZWNpZmllZC4gSWdub3JpbmcgLS1uby1waWQuIgorI34gbXNnc3RyICItLXBpZCDjgaggLS1uby1waWQg44Gu5Lih5pa544GM5oyH5a6a44GV44KM44Gm44GE44G+44GZ44CCIC0tbm8tcGlkIOOCkueEoeimluOBl+OBpue2muihjOOBl+OBvuOBmeOAgiIKKworI34gbXNnaWQgIndhcm5pbmc6IGVycm9yIHJlYWRpbmcgJXM6ICVzIgorI34gbXNnc3RyICLorablkYo6ICVzIOOBruiqreOBv+i+vOOBv+aZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnzogJXMiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAi6K2m5ZGKOiAlcyDjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJtb3VudDogJXMg44KS6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44GfIC0g5Luj44KP44KK44GrICVzIOOCkuS9v+eUqOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAi44Ot44OD44Kv44OV44Kh44Kk44OrICVzIOOCkuS9nOaIkOOBp+OBjeOBvuOBm+OCkzogJXMgKC1uIOODleODqeOCsOOBp+eEoeimluOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmSkiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAi44Ot44OD44Kv44OV44Kh44Kk44OrICVzIOOCkuODquODs+OCr+OBp+OBjeOBvuOBm+OCkzogJXMgKC1uIOODleODqeOCsOOBp+eEoeimluOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmSkiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAi44Ot44OD44Kv44OV44Kh44Kk44OrICVzIOOCkumWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzogJXMgKC1uIOODleODqeOCsOOBp+eEoeimluOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBmSkiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAi44Ot44OD44Kv44OV44Kh44Kk44OrICVzIOOCkuODreODg+OCr+OBp+OBjeOBvuOBm+OCkzogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAi44Ot44OD44Kv44OV44Kh44Kk44OrICVzIOOCkuODreODg+OCr+OBp+OBjeOBvuOBm+OCkzogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuODquODs+OCryAlcyDjgpLkvZzmiJDjgafjgY3jgb7jgZvjgpPjgIJcbiIKKyN+ICLlj6TjgYTjg63jg4Pjgq/jg5XjgqHjgqTjg6vjgYzmrovjgaPjgabjgZfjgb7jgaPjgabjgYTjgovlj6/og73mgKfjgYzjgYLjgorjgb7jgZnjgIJcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICIlcyDjgpLplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpMgKCVzKSAtLSBtdGFiIOOBr+abtOaWsOOBleOCjOOBvuOBm+OCkyIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICIlcyDjgbjjga7mm7jjgY3ovrzjgb/mmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ86ICVzIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiDlpInmm7TjgZXjgozjgZ/lhoXlrrnjgpIgZmZsdXNoIOOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzogJXMiCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyDjga7jg6Ljg7zjg4nlpInmm7TmmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ86ICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBvd25lciBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMg44Gu5omA5pyJ6ICF5aSJ5pu05pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyDjga7lkI3liY3jgpIgJXMg44Gr5aSJ5pu044Gn44GN44G+44Gb44KTOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnQ6IOitpuWRijogL2V0Yy9tdGFiIOOBq+abuOOBjei+vOOCgOOBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyAo6Kqt44G/6L6844G/5bCC55So44Gu44OV44Kh44Kk44Or44K344K544OG44Og44Gn44GZKSDjgIJcbiIKKyN+ICIgICAgICAg44Gd44Gu44Gf44KBIG1vdW50KDgpIOOCkuWun+ihjOOBl+OBpuOCguOAgeacgOaWsOOBruaDheWgseOCkuihqOekuuOBp+OBjeOBquOBhOWPr+iDveaAp+OBjOOBguOCiuOBvuOBmeOAglxuIgorI34gIiAgICAgICDmnIDmlrDjga7mg4XloLHjga8gL3Byb2MvbW91bnRzIOODleOCoeOCpOODq+OCkuOBlOimp+OBj+OBoOOBleOBhOOAglxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGltcHJvcGVybHkgcXVvdGVkIG9wdGlvbiBzdHJpbmcgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IOOCquODl+OCt+ODp+ODs+aWh+Wtl+WIl+OBq+W8leeUqOespuOBjOato+OBl+OBj+OBpOOBkeOCieOCjOOBpuOBhOOBvuOBm+OCkyAnJXMnIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyAnJXMnIOOCkiAnJXMnIOOBqOino+mHiOOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAibW91bnQ6IFNFTGludXggKmNvbnRleHQ9IG9wdGlvbnMgYXJlIGlnbm9yZSBvbiByZW1vdW50LlxuIgorI34gbXNnc3RyICJtb3VudDog5YaN44Oe44Km44Oz44OI44Gu6Zqb44CBIFNFTGludXggKmNvbnRleHQ9IOOCquODl+OCt+ODp+ODs+OBr+eEoeimluOBleOCjOOBvuOBmeOAglxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBtdGFiIOOBq+OCiOOCi+OBqOOAgSVzIOOBryAlcyDjgavjg57jgqbjg7Pjg4jmuIjjgb/jgafjgZkiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBtdGFiIOOBq+OCiOOCi+OBqOOAgSVzIOOBryAlcyDjgavjg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjgpLmm7jjgY3ovrzjgb/nlKjjgavplovjgY/jgZPjgajjgYzjgafjgY3jgb7jgZvjgpM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogJXMg44G444Gu5pu444GN6L6844G/5pmC44Gr44Ko44Op44O844GM55m655Sf44GX44G+44GX44GfOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOBruODouODvOODieWkieabtOaZguOBq+OCqOODqeODvOOBjOeZuueUn+OBl+OBvuOBl+OBnzogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiDjgrDjg6vjg7zjg5cgSUQg44KS6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDog44Om44O844K2IElEIOOCkuioreWumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDog5a2Q44OX44Ot44K744K544Gu6LW35YuV44GM44Gn44GN44G+44Gb44KTOiAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICIlcyDjgpLoqabjgZfjgabjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgZGlkbid0IHNwZWNpZnkgYSBmaWxlc3lzdGVtIHR5cGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjgavjga/jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7jgr/jgqTjg5fmjIflrprjgYzjgYLjgorjgb7jgZvjgpNcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIOOCguOBl+OBj+OBryAlcyDjgavmm7jjgYvjgozjgZ/poIXnm67jgpLjgZnjgbnjgaboqabjgZfjgabjgb/jgb7jgZlcbiIKKworI34gbXNnaWQgIiAgICAgICBhbmQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIHN3YXBzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAg44G+44Gf44CB44GT44Gu6aCY5Z+f44Gv44K544Ov44OD44OX6aCY5Z+f44Go5oCd44KP44KM44G+44GZXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICDjgr/jgqTjg5cgJXMg44KS6Kmm44GX44Gm44G/44G+44GZXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyDjga/jgrnjg6/jg4Pjg5fpoJjln5/jgajmgJ3jgo/jgozjgb7jgZkgLSDjg57jgqbjg7Pjg4jjga/ooYzjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6ICVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorI34gIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisjfiAiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiAlczog6KSH5pWw44Gu44OV44Kh44Kk44Or44K344K544OG44Og44GM5qSc5Ye644GV44KM44G+44GX44Gf44CC44GT44KM44Gv6YCa5bi444Gv55m655Sf44GX44Gq44GEXG4iCisjfiAiICAgICAgIOOBr+OBmuOBrue1kOaenOOBp+OBmeOAgiAtdCA844K/44Kk44OXPiDjgpLmjIflrprjgZfjgabnibnlrprjga7jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6DjgpLkvb/nlKjjgZnjgovjgYvjgIFcbiIKKyN+ICIgICAgICAgd2lwZWZzKDgpIOOCkuWIqeeUqOOBl+OBpuODh+ODkOOCpOOCueOBruWGheWuueOCkuOBhOOBo+OBn+OCk+a2iOWOu+OBl+OBpuOBj+OBoOOBleOBhOOAglxuIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjgpIgJXMg44Gr44Oe44Km44Oz44OI44Gn44GN44KL44Gu44GvIHJvb3Qg44Gg44GR44Gn44GZIgorCisjfiBtc2dpZCAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBjCAyIOWbnuaMh+WumuOBleOCjOOBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IOOCv+OCpOODl+OBjCAyIOWbnuaMh+WumuOBleOCjOOBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudDog44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu6Kit5a6a44KS6aOb44Gw44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZW5hYmxpbmcgYXV0b2NsZWFyIGxvb3BkZXYgZmxhZ1xuIgorI34gbXNnc3RyICJtb3VudDogbG9vcGRldiDjg5Xjg6njgrDjga7oh6rli5XnhKHlirnljJbjgpLmnInlirnjgavjgZfjgabjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IOOCquODleOCu+ODg+ODiCAnJXMnIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IOOCteOCpOOCuuWItumZkCAnJXMnIOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMgYXMgbG9vcCIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWIg44Gr44KI44KL44Go44CBICVzIOOBr+ODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBqOOBl+OBpiAlcyDjgavjg57jgqbjg7Pjg4jmuIjjgafjgZkiCisKKyN+IG1zZ2lkICJlbmNyeXB0aW9uIG5vdCBzdXBwb3J0ZWQsIHVzZSBjcnlwdHNldHVwKDgpIGluc3RlYWQiCisjfiBtc2dzdHIgIuaal+WPt+WMluOBq+OBr+WvvuW/nOOBl+OBpuOBhOOBvuOBm+OCk+OAgiBjcnlwdHNldHVwKDgpIOOCkuOBiuS9v+OBhOOBj+OBoOOBleOBhOOAgiIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wZGV2IGNvbnRleHQiCisjfiBtc2dzdHIgIm1vdW50OiBsb29wZGV2IOOCs+ODs+ODhuOCreOCueODiOOBrua6luWCmeOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOODh+ODkOOCpOOCueOBruS9v+eUqOOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IOepuuOBjeODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruaknOWHuuOBq+WkseaVl+OBl+OBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byB1c2UgdGhlIGxvb3AgZGV2aWNlICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiDjg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrkgJXMg44KS5L2/55So44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICJtb3VudDogJXM6IGxvb3BkZXYg5bGe5oCn44Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIm1vdW50OiAlczog44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K544Gu6Kit5a6a44Gr5aSx5pWX44GX44G+44GX44GfOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCuT0lcyDjgYzkvb/nlKjjgZXjgozjgabjgZfjgb7jgYTjgb7jgZfjgZ8gLi4uIOWGjeippuihjOOBl+OBpuOBhOOBvuOBmVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICJtb3VudDog44Or44O844OX44OQ44OD44Kv44OH44OQ44Kk44K5PSVzIOOBjOS9v+eUqOOBleOCjOOBpuOBl+OBvuOBhOOBvuOBl+OBnyIKKworI34gbXNnaWQgIm1vdW50OiBzZXR1cCBsb29wIGRldmljZSBzdWNjZXNzZnVsbHlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IOODq+ODvOODl+ODkOODg+OCr+ODh+ODkOOCpOOCueOBruioreWumuOBq+aIkOWKn+OBl+OBvuOBl+OBn1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogJXMg44GM6KaL44Gk44GL44KK44G+44Gb44KTIC0g5L2c5oiQ44GX44G+44GZLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgb3BlbiAlcyBmb3Igc2V0dGluZyBzcGVlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOCkumAn+W6puioreWumueUqOOBq+mWi+OBj+OBk+OBqOOBjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IOmAn+W6puOBruioreWumuOBjOOBp+OBjeOBvuOBm+OCkzogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbXRhYiDjgavjgojjgovjgajjgIElcyDjga8gJXMg44Gr44Oe44Km44Oz44OI5riI44G/44Gn44GZXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLXdyaXRlLlxuIgorI34gbXNnc3RyICJtb3VudDog6K2m5ZGKOiAlcyDjga/oqq3jgb/mm7jjgY3lj6/og73jgarnirbmhYvjgafjg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgovjgojjgYbjgafjgZnjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IOitpuWRijogJXMg44Gv6Kqt44G/6L6844G/5bCC55So44Gu54q25oWL44Gn44Oe44Km44Oz44OI44GV44KM44Gm44GE44KL44KI44GG44Gn44GZ44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBub25lIOOBjOaMh+WumuOBleOCjOOBvuOBl+OBn+OBjOOAgeODleOCoeOCpOODq+OCt+OCueODhuODoOOCv+OCpOODl+OCkuWIpOWIpeOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIm1vdW50OiDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5fjgpLmjIflrprjgZnjgovlv4XopoHjgYzjgYLjgorjgb7jgZkiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDog44Oe44Km44Oz44OI44Gr5aSx5pWX44GX44G+44GX44GfIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IOODnuOCpuODs+ODiOODneOCpOODs+ODiCAlcyDjga/jg4fjgqPjg6zjgq/jg4jjg6rjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogcGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm1vdW50OiDoqLHlj6/jgYzjgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogbW91bnQg44KS5L2/55So44GZ44KL44Gr44Gv44K544O844OR44O844Om44O844K244Gn44Gq44GR44KM44Gw44Gq44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyDjga/jg57jgqbjg7Pjg4jmuIjjgb/jgafjgZkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga8g44Oe44Km44Oz44OI5riI44G/44CB44KC44GX44GP44GvICVzIOOBjOS9v+eUqOOBl+OBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IOODnuOCpuODs+ODiOODneOCpOODs+ODiCAlcyDjgYzlrZjlnKjjgZfjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW50OiDjg57jgqbjg7Pjg4jjg53jgqTjg7Pjg4ggJXMg44Gv5q2j44GX44GP44Gq44GE5aC05omA44KS5oyH44GX44Gm44GE44KL44K344Oz44Oc44Oq44OD44Kv44Oq44Oz44Kv44Gn44GZIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDog44K544Oa44K344Oj44Or44OH44OQ44Kk44K5ICVzIOOBjOWtmOWcqOOBl+OBvuOBm+OCkyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3RcbiIKKyN+ICIgICAgICAgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KVxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IOOCueODmuOCt+ODo+ODq+ODh+ODkOOCpOOCuSAlcyDjgYzlrZjlnKjjgZfjgb7jgZvjgpNcbiIKKyN+ICIgICAgICAgKOODkeOCueODl+ODrOODleOCo+OCr+OCueOBjOODh+OCo+ODrOOCr+ODiOODquOBp+OBr+OBguOCiuOBvuOBm+OCkylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogd3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisjfiAiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IOS9leOCieOBi+OBruOCqOODqeODvOOBq+OCiOOCiuOAgeODnuOCpuODs+ODiOOBjOWkseaVl+OBl+OBvuOBl+OBn+OAglxuIgorI34gIiAgICAgICDjg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djgr/jgqTjg5csIOOCquODl+OCt+ODp+ODsywgJXMg5LiK44Gu44K544O844OR44O8XG4iCisjfiAiICAgICAgIOODluODreODg+OCrywg5b+F6KaB44Gq44Kz44O844OJ44Oa44O844K45oyH5a6a77yP44OY44Or44OR44O844OX44Ot44Kw44Op44OgXG4iCisjfiAiICAgICAgIOOBquOBqeOAgeS9leOCieOBi+OBruioreWumuOBjOmWk+mBleOBo+OBpuOBhOOCi+OCguOBruOBqOaAneOCj+OCjOOBvuOBmeOAgiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoaWRlLXNjc2kg44KS5Yip55So44GX44GfIElERSDjg4fjg5DjgqTjgrnjga7loLTlkIjjgIEgc3IwIOOChCBzZGFcbiIKKyN+ICIgICAgICAg44Gq44Gp44KS5L2/55So44GZ44KL5b+F6KaB44GM44GC44KK44G+44GZKSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICjoq5bnkIbjg5Hjg7zjg4bjgqPjgrfjg6fjg7Pjgafjga/jgarjgY/jgIHmi6HlvLXjg5Hjg7zjg4bjgqPjgrfjg6fjg7PjgpJcbiIKKyN+ICIgICAgICAg55u05o6l44Oe44Km44Oz44OI44Gn44GN44KL44GL44KC44GX44KM44G+44Gb44KTKSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsICBvciBzb1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIHN5c2xvZyDlhoXjgavoqJjpjLLjgZXjgozjgZ/mg4XloLHjgYzmiYvliqnjgZHjgavjgarjgovjgoLjga7jgajmgJ3jgYTjgb7jgZkgLSBcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIOOBquOBqeOCkuWun+ihjOOBl+OBpuOBiuiqreOBv+OBj+OBoOOBleOBhFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczog44K544O844OR44O844OW44Ot44OD44Kv44KS6Kqt44G/6L6844KA44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiDkuI3mmI7jgarjg4fjg5DjgqTjgrnjgafjgZkiCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IOacquefpeOBruODleOCoeOCpOODq+OCt+OCueODhuODoOOCv+OCpOODlyAnJXMnIOOBp+OBmSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW50OiDjgYrjgZ3jgonjgY8gJXMg44KS5oyH5a6a44GX44Gf44GL44Gj44Gf44KC44Gu44Go5o6o5ris44GV44KM44G+44GZIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDog44GK44Gd44KJ44GPICdpc285NjYwJyDjgpLmjIflrprjgZfjgZ/jgYvjgaPjgZ/jgoLjga7jgajmjqjmuKzjgZXjgozjgb7jgZkiCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiDjgYrjgZ3jgonjgY8gJ3ZmYXQnIOOCkuaMh+WumuOBl+OBn+OBi+OBo+OBn+OCguOBruOBqOaOqOa4rOOBleOCjOOBvuOBmSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogJXMg44Gv6ZaT6YGV44Gj44Gf44OH44OQ44Kk44K555Wq5Y+344Gr44Gq44Gj44Gm44GE44KL44GL44CB44KC44GX44GP44Gv44OV44Kh44Kk44OrXG4iCisjfiAiICAgICAgIOOCt+OCueODhuODoOOBruOCv+OCpOODlyAlcyDjgYzjgrXjg53jg7zjg4jjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCBmYWlscz8iCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMgKHN0YXQg44GM5aSx5pWX44GX44Gf44Gu44KC44CB44GT44Gu44Gf44KB44Gn44GC44KL44Go5oCd44KP44KM44G+44GZKSIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDog44GT44Gu44Kr44O844ON44Or44GvICVzIOOCkuODluODreODg+OCr+ODh+ODkOOCpOOCueOBqOOBl+OBpuiqjeitmOOBl+OBpuOBhOOBvuOBm+OCk1xuIgorI34gIiAgICAgICAo44GK44Gd44KJ44GPIGBtb2Rwcm9iZSDjg4njg6njgqTjg5AnIOOCkuWun+ihjOOBmeOCi+W/heimgeOBjOOBguOCiuOBvuOBmSkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga/jg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMgKGAtbyBsb29wJyDjgpLmjIflrprjgZnjgovjgajop6PmsbrjgafjgY3jgovjgYvjgoLjgZfjgozjgb7jgZvjgpMpIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOBr+ODluODreODg+OCr+ODh+ODkOOCpOOCueOBp+OBr+OBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyDjga/mraPluLjjgarjg5bjg63jg4Pjgq/jg4fjg5DjgqTjgrnjgafjga/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG1vdW50ICVzJXMgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyDjgpLoqq3jgb/ovrzjgb/lsILnlKjjgafjg57jgqbjg7Pjg4jjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMg44Gv5pu444GN6L6844G/56aB5q2i44Gn44GZ44GM44CB5piO56S655qE44GrIGAtdycg44OV44Op44Kw44GM5oyH5a6a44GV44KM44Gm44GE44G+44GZIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCByZW1vdW50ICVzJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorI34gbXNnc3RyICJtb3VudDogJXMlcyDjgpLoqq3jgb/mm7jjgY3lj6/og73jgarnirbmhYvjgaflho3jg57jgqbjg7Pjg4jjgafjgY3jgb7jgZvjgpPjgIHjg6njgqTjg4jjg5fjg63jg4bjgq/jg4jjgZXjgozjgabjgYTjgb7jgZkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMg44Gv5pu444GN6L6844G/56aB5q2i44Gn44GZ44CB6Kqt44G/6L6844G/5bCC55So44Gn44Oe44Km44Oz44OI44GX44G+44GZIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIOOBq+ODoeODh+OCo+OCouOBjOaMv+WFpeOBleOCjOOBpuOBhOOBvuOBm+OCkyIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudDog44K/44Kk44OX44GM5LiO44GI44KJ44KM44Gm44GE44G+44Gb44KTIC0g44Kz44Ot44Oz44GM44GC44KL44Gu44GnIG5mcyDjgajmgJ3jgo/jgozjgb7jgZlcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW50OiDjgr/jgqTjg5fjgYzkuI7jgYjjgonjgozjgabjgYTjgb7jgZvjgpMgLS0gLy8g44GM44GC44KL44Gu44GnIGNpZnMg44Go5oCd44KP44KM44G+44GZXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaWdub3JlICVzICh1bnBhcnNhYmxlIG9mZnNldD0gb3B0aW9uKVxuIgorI34gbXNnc3RyICJtb3VudDogJXMg44KS54Sh6KaW44GX44G+44GZIChvZmZzZXQ9IOOCquODl+OCt+ODp+ODs+OCkuino+mHiOOBp+OBjeOBvuOBm+OCkylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogcHJpbnQgdmVyc2lvblxuIgorI34gIiAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgOiBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgIDogbGlzdCBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICA6IGlkZW0sIGluY2x1ZGluZyB2b2x1bWUgbGFiZWxzXG4iCisjfiAiU28gZmFyIHRoZSBpbmZvcm1hdGlvbmFsIHBhcnQuIE5leHQgdGhlIG1vdW50aW5nLlxuIgorI34gIlRoZSBjb21tYW5kIGlzIGBtb3VudCBbLXQgZnN0eXBlXSBzb21ldGhpbmcgc29tZXdoZXJlJy5cbiIKKyN+ICJEZXRhaWxzIGZvdW5kIGluIC9ldGMvZnN0YWIgbWF5IGJlIG9taXR0ZWQuXG4iCisjfiAiICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IG1vdW50IGFsbCBzdHVmZiBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAgIDogbW91bnQgZGV2aWNlIGF0IHRoZSBrbm93biBwbGFjZVxuIgorI34gIiAgICAgICBtb3VudCBkaXJlY3RvcnkgICAgICAgICAgOiBtb3VudCBrbm93biBkZXZpY2UgaGVyZVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0eXBlIGRldiBkaXIgICAgOiBvcmRpbmFyeSBtb3VudCBjb21tYW5kXG4iCisjfiAiTm90ZSB0aGF0IG9uZSBkb2VzIG5vdCByZWFsbHkgbW91bnQgYSBkZXZpY2UsIG9uZSBtb3VudHNcbiIKKyN+ICJhIGZpbGVzeXN0ZW0gKG9mIHRoZSBnaXZlbiB0eXBlKSBmb3VuZCBvbiB0aGUgZGV2aWNlLlxuIgorI34gIk9uZSBjYW4gYWxzbyBtb3VudCBhbiBhbHJlYWR5IHZpc2libGUgZGlyZWN0b3J5IHRyZWUgZWxzZXdoZXJlOlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQgb2xkZGlyIG5ld2RpclxuIgorI34gIm9yIG1vdmUgYSBzdWJ0cmVlOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIG1vdW50IGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUgbW91bnRzIGluIGEgbW91bnQgc3VidHJlZVxuIgorI34gImNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJBIGRldmljZSBjYW4gYmUgZ2l2ZW4gYnkgbmFtZSwgc2F5IC9kZXYvaGRhMSBvciAvZGV2L2Nkcm9tLFxuIgorI34gIm9yIGJ5IGxhYmVsLCB1c2luZyAgLUwgbGFiZWwgIG9yIGJ5IHV1aWQsIHVzaW5nICAtVSB1dWlkIC5cbiIKKyN+ICJPdGhlciBvcHRpb25zOiBbLW5mRnJzdnddIFstbyBvcHRpb25zXSBbLXAgcGFzc3dkZmRdLlxuIgorI34gIkZvciBtYW55IG1vcmUgZGV0YWlscywgc2F5ICBtYW4gOCBtb3VudCAuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLkvb/jgYTmlrk6IG1vdW50IC1WICAgICAgICAgICAgICAgIDog44OQ44O844K444On44Oz44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICA6IOOBk+OBruODmOODq+ODl+OCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgOiDjg57jgqbjg7Pjg4jmuIjjgb/jg5XjgqHjgqTjg6vjgrfjgrnjg4bjg6Djga7kuIDopqfjgpLooajnpLrjgZfjgb7jgZlcbiIKKyN+ICIgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgIDog5LiK6KiY44Gr5Yqg44GI44CB44Oc44Oq44Ol44O844Og44Op44OZ44Or44KC6KGo56S644GX44G+44GZXG4iCisjfiAi5Lul5LiK44GM5oOF5aCx6KGo56S644Gr6Zai44GZ44KL44KC44Gu44Gn44GZ44CC5qyh44GL44KJ44Gv44Oe44Km44Oz44OI5pON5L2c44Gr6Zai6YCj44GZ44KL44KC44Gu44Gn44GZ44CCXG4iCisjfiAi44Kz44Oe44Oz44OJ44GvIGBtb3VudCBbLXQg44K/44Kk44OXXSDkvZXjgpIg44Gp44GT44G4JyDjga7lvaLlvI/jgafjgZnjgIJcbiIKKyN+ICIvZXRjL2ZzdGFiIOOBp+ips+e0sOOCkuaMh+WumuOBl+OBpuOBiuOBj+OBk+OBqOOBp+OAgeecgeeVpeOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmeOAglxuIgorI34gIiAgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgOiAvZXRjL2ZzdGFiIOOBruWGheWuueWFqOOBpuOCkuODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorI34gIiAgICAgICAgbW91bnQg44OH44OQ44Kk44K5ICAgICAgICAgIDog44OH44OQ44Kk44K544KS5pei55+l44Gu5aC05omA44Gr44Oe44Km44Oz44OI44GX44G+44GZXG4iCisjfiAiICAgICAgICBtb3VudCDjg4fjgqPjg6zjgq/jg4jjg6ogICAgICA6IOaXouefpeOBruODh+ODkOOCpOOCueOCkuODh+OCo+ODrOOCr+ODiOODquOBq+ODnuOCpuODs+ODiOOBl+OBvuOBmVxuIgorI34gIiAgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgOiDpgJrluLjjga4gbW91bnQg44Kz44Oe44Oz44OJ44Gu5pu45byP44Gn44GZXG4iCisjfiAi5LiK6KiY44Gu44Kz44Oe44Oz44OJ44Gv44CB54q25rOB44Gr44KI44Gj44Gm44OH44OQ44Kk44K544KS5a6f6Zqb44Gr44Oe44Km44Oz44OI44GX44Gf44KK44GX44Gq44GL44Gj44Gf44KKXG4iCisjfiAi44GZ44KL44GT44Go44GM44GC44KL44Gu44Gn44CB44GU5rOo5oSP44GP44Gg44GV44GE44CC44G+44Gf44CB5LiL6KiY44Gu44KI44GG44Gr44GX44Gm44CB5pei44Gr44GC44KL44OH44Kj44Os44Kv44OI44Oq44KSXG4iCisjfiAi5LuW44Gu5aC05omA44Gr44Oe44Km44Oz44OI44GZ44KL44GT44Go44KC44Gn44GN44G+44GZOlxuIgorI34gIiAgICAgICAgbW91bnQgLS1iaW5kIOWPpOOBhOODh+OCo+ODrOOCr+ODiOODqiDmlrDjgZfjgYTjg4fjgqPjg6zjgq/jg4jjg6pcbiIKKyN+ICLjgrXjg5bjg4Tjg6rjg7zjgpLnp7vli5XjgZnjgovjgZPjgajjgoLjgafjgY3jgb7jgZk6XG4iCisjfiAiICAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIuOBvuOBn+OAgeaMh+WumuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquOBruODnuOCpuODs+ODiOOCv+OCpOODl+OCkuWkieabtOOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmTpcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQg44OH44Kj44Os44Kv44OI44OqXG4iCisjfiAiICAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUg44OH44Kj44Os44Kv44OI44OqXG4iCisjfiAiICAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSDjg4fjgqPjg6zjgq/jg4jjg6pcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIOODh+OCo+ODrOOCr+ODiOODqlxuIgorI34gIuOBleOCieOBq+OAgeaMh+WumuOBl+OBn+ODh+OCo+ODrOOCr+ODiOODquS7peS4i+OBruOBmeOBueOBpuOBruODnuOCpuODs+ODiOOCv+OCpOODl+OCkuWkieabtOOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmTpcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIOODh+OCo+ODrOOCr+ODiOODqlxuIgorI34gIiAgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSDjg4fjgqPjg6zjgq/jg4jjg6pcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSDjg4fjgqPjg6zjgq/jg4jjg6pcbiIKKyN+ICIgICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSDjg4fjgqPjg6zjgq/jg4jjg6pcbiIKKyN+ICLjg4fjg5DjgqTjgrnlkI3jga8gL2Rldi9oZGExLCAvZGV2L2Nkcm9tIOOBruOCiOOBhuOBq+WQjeWJjeOBp+aMh+WumuOBmeOCi+OBk+OBqOOBjOOBp+OBjeOCi+OBu+OBi+OAgVxuIgorI34gIuODqeODmeODqyAoLUwgPOODqeODmeODqz4pIOOChCBVVUlEICgtVSA8dXVpZD4pIOOBp+ODnuOCpuODs+ODiOOBmeOCi+OBk+OBqOOCguOBp+OBjeOBvuOBmeOAglxuIgorI34gIuOBneOBruS7luOBruOCquODl+OCt+ODp+ODszogWy1uZkZyc3Z3XSBbLW8g44Kq44OX44K344On44OzXSBbLXAg44OR44K544Ov44O844OJXVxuIgorI34gIuips+OBl+OBj+OBryBtYW4gOCBtb3VudCDjgpLjgYroqq3jgb/jgY/jgaDjgZXjgYTjgIJcbiIKKworI34gbXNnaWQgIi0tcGFzcy1mZCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorI34gbXNnc3RyICItLXBhc3MtZmQg44Gr44Gv5pei44Gr5a++5b+c44GX44Gm44GE44G+44Gb44KTIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiDjgZPjgozjgpLlrp/ooYzjgafjgY3jgovjga7jga8gcm9vdCDjgaDjgZHjgafjgZkgKOWun+WKuSBVSUQg44GvICV1IOOBp+OBmSkiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJtb3VudDog44GT44KM44KS5a6f6KGM44Gn44GN44KL44Gu44GvIHJvb3Qg44Gg44GR44Gn44GZIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAi5L2V44KC44Oe44Km44Oz44OI44GV44KM44G+44Gb44KT44Gn44GX44GfIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICJtb3VudDog44Gd44Gu44KI44GG44Gq44OR44O844OG44Kj44K344On44Oz44Gv6KaL44Gk44GL44KK44G+44Gb44KT44Gn44GX44GfIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGZpbmQgJXMgaW4gJXMgb3IgJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlMiRzIOOChCAlMyRzIOWGheOBqyAlMSRzIOOBjOOBguOCiuOBvuOBm+OCkyIKKworI34gbXNnaWQgIlttbnRlbnRdOiB3YXJuaW5nOiBubyBmaW5hbCBuZXdsaW5lIGF0IHRoZSBlbmQgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IOitpuWRijogJXMg44Gu5pyA5b6M44Gr5pS56KGM44GM44GC44KK44G+44Gb44KTXG4iCisKKyN+IG1zZ2lkICJbbW50ZW50XTogbGluZSAlZCBpbiAlcyBpcyBiYWQlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogJTIkcyDjga4gJTEkZCDooYznm67jgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMlMyRzXG4iCisKKyN+IG1zZ2lkICI7IHJlc3Qgb2YgZmlsZSBpZ25vcmVkIgorI34gbXNnc3RyICI7IOODleOCoeOCpOODq+WGheOBq+abuOOBi+OCjOOBn+aui+OCiuOBruioreWumuOBr+eEoeimluOBleOCjOOBvuOBmSIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJtb3VudDogLWYg44Kq44OX44K344On44Oz44Gu44K144Od44O844OI54Sh44GX44Gn44Kz44Oz44OR44Kk44Or44GV44KM44Gm44GE44G+44GZXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IOOCsOODq+ODvOODlyBJRCDjgpLoqK3lrprjgafjgY3jgb7jgZvjgpM6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IOODpuODvOOCtiBJRCDjgpLoqK3lrprjgafjgY3jgb7jgZvjgpM6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudDogZm9yayDjgafjgY3jgb7jgZvjgpM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IOS4jeato+OBquODluODreODg+OCr+ODh+ODkOOCpOOCueOBp+OBmSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiDjg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiDjgrnjg7zjg5Hjg7zjg5bjg63jg4Pjgq/jgavmm7jjgY3ovrzjgoDjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICIiCisjfiAidW1vdW50OiAlczogZGV2aWNlIGlzIGJ1c3kuXG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdCB1c2VcbiIKKyN+ICIgICAgICAgICB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkpIgorI34gbXNnc3RyICIiCisjfiAidW1vdW50OiAlczog44OH44OQ44Kk44K544GM44OT44K444O854q25oWL44Gn44GZ44CCXG4iCisjfiAiICAgICAgICAo44Gp44Gu44OX44Ot44K744K544GM5L2/55So44GX44Gm44GE44KL44Gu44GL44KS6Kq/44G544KL44Gr44Gv44CBIGxzb2YoOClcbiIKKyN+ICIgICAgICAgICDjgoQgZnVzZXIoMSkg44KS5L2/55So44GZ44KL44Gu44GM44KI44GE44Gn44GX44KH44GGKSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczog6KaL44Gk44GL44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiDjgqLjg7Pjg57jgqbjg7Pjg4jjgZnjgovjgavjga/jgrnjg7zjg5Hjg7zjg6bjg7zjgrbjgafjgarjgZHjgozjgbDjgarjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IOODleOCoeOCpOODq+OCt+OCueODhuODoOWGheOBp+OBr+ODluODreODg+OCr+ODh+ODkOOCpOOCueOBjOioseWPr+OBleOCjOOBvuOBm+OCkyIKKworI34gbXNnaWQgInVtb3VudDogJXM6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgYWJzIHBhdGg6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IOWGhemDqOOCqOODqeODvDog57W25a++44OR44K544GM5q2j44GX44GP44GC44KK44G+44Gb44KTOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyDjgavjg4fjgqPjg6zjgq/jg4jjg6rjgpLnp7vli5XjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ86ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiDjgqvjg6zjg7Pjg4jjg4fjgqPjg6zjgq/jg4jjg6rjgpLlj5blvpfjgafjgY3jgb7jgZvjgpPjgafjgZfjgZ86ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBtb3VudHBvaW50IG1vdmVkICglcyAtPiAlcykiCisjfiBtc2dzdHIgInVtb3VudDog44Oe44Km44Oz44OI44Od44Kk44Oz44OI44KS56e75YuV44GX44G+44GX44GfICglcyAtPiAlcykiCisKKyN+IG1zZ2lkICJjdXJyZW50IGRpcmVjdG9yeSBtb3ZlZCB0byAlc1xuIgorI34gbXNnc3RyICLjgqvjg6zjg7Pjg4jjg4fjgqPjg6zjgq/jg4jjg6rjgpIgJXMg44Gr56e75YuV44GX44G+44GX44GfXG4iCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgInVtb3VudDIg44GM44GC44KK44G+44Gb44KTLCB1bW91bnQg44KS6Kmm44GX44Gm44GE44G+44GZLi4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMg44Gv5L2/55So5Lit44Gn44GZIC0g6Kqt44G/6L6844G/5bCC55So44Go44GX44Gm5YaN44Oe44Km44Oz44OI44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvdWxkIG5vdCByZW1vdW50ICVzIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIOOCkuiqreOBv+i+vOOBv+WwgueUqOOBp+WGjeODnuOCpuODs+ODiOOBp+OBjeOBvuOBm+OCk+OBp+OBl+OBn1xuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIOOCkuOCouODs+ODnuOCpuODs+ODiOOBl+OBvuOBl+OBn1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZmluZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIHRvIHVubW91bnQiCisjfiBtc2dzdHIgInVtb3VudDog44Ki44Oz44Oe44Km44Oz44OI44GZ44G544GN44OV44Kh44Kk44Or44K344K544OG44Og44Gu5LiA6Kan44KS5qSc5Ye644Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuS9v+OBhOaWuTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc+OCv+OCpOODl10gWy1PIOOCquODl+OCt+ODp+ODs11cbiIKKyN+ICIgICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgIidvZmZzZXQ9JXMnIOOCquODl+OCt+ODp+ODs+OBruino+mHiOOBq+WkseaVl+OBl+OBvuOBl+OBn1xuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICLjg4fjg5DjgqTjgrkgJXMg44GvICVzIOOBq+mWoumAo+S7mOOBkeOCieOCjOOBpuOBhOOBvuOBmVxuIgorCisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJcIlwiIOOCkuOCouODs+ODnuOCpuODs+ODiOOBp+OBjeOBvuOBm+OCk1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb25mdXNlZCB3aGVuIGFuYWx5emluZyBtdGFiIgorI34gbXNnc3RyICJ1bW91bnQ6IG10YWIg44Gu6Kej6YeI5pmC44Gr5re35Lmx44GM55m655Sf44GX44G+44GX44GfIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgdW5tb3VudCAlcyAtLSAlcyBpcyBtb3VudGVkIG92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiCisjfiBtc2dzdHIgInVtb3VudDogJXMg44KS44Ki44Oz44Oe44Km44Oz44OI44Gn44GN44G+44Gb44KTIC0tICVzIOOBq+ikh+aVsOOBruODnuOCpuODs+ODiOOBjOihjOOCj+OCjOOBpuOBhOOBvuOBmSIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAibXRhYiDlhoXjgasgJXMg44GM6KaL44Gk44GL44KK44G+44Gb44KTXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IHdhcm5pbmc6ICVzIGlzIGFzc29jaWF0ZWQgd2l0aCBtb3JlIHRoYW4gb25lIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgInVtb3VudDog6K2m5ZGKOiAlcyDjga/opIfmlbDjga7jg6vjg7zjg5fjg5Djg4Pjgq/jg4fjg5DjgqTjgrnjgavplqLpgKPku5jjgZHjgonjgozjgabjgYTjgb7jgZlcbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IG1vdW50ZWQgKGFjY29yZGluZyB0byBtdGFiKSIKKyN+IG1zZ3N0ciAidW1vdW50OiBtdGFiIOOBruaDheWgseOBq+OCiOOCi+OBqOOAgSAlcyDjga/jg57jgqbjg7Pjg4jjgZXjgozjgabjgYTjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGl0IHNlZW1zICVzIGlzIG1vdW50ZWQgbXVsdGlwbGUgdGltZXMiCisjfiBtc2dzdHIgInVtb3VudDogJXMg44Gv6KSH5pWw5Zue44Oe44Km44Oz44OI44GV44KM44Gm44GE44KL44KI44GG44Gn44GZIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMg44GvIGZzdGFiIOWGheOBq+OBguOCiuOBvuOBm+OCkyAo44G+44Gf44CB44GC44Gq44Gf44GvIHJvb3Qg44Gn44KC44GC44KK44G+44Gb44KTKSIKKworI34gbXNnaWQgInVtb3VudDogJXMgbW91bnQgZGlzYWdyZWVzIHdpdGggdGhlIGZzdGFiIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIOOBryBmc3RhYiDjgajlkIjoh7TjgZfjgabjgYTjgarjgYTjg57jgqbjg7Pjg4jjgafjgZkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgJXMgY2FuIHVubW91bnQgJXMgZnJvbSAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlMSRzIOOBoOOBkeOBjCAlMyRzIOOBi+OCiSAlMiRzIOOCkuOCouODs+ODnuOCpuODs+ODiOOBp+OBjeOBvuOBmSIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnQ6IOOBk+OCjOOCkuWun+ihjOOBp+OBjeOCi+OBruOBryByb290IOOBoOOBkeOBp+OBmSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0gc2V0cyBvciBnZXRzIHByb2Nlc3MgaW8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkuXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlMSRzIFtPUFRJT05dIC1wIFBJRCBbUElELi4uXVxuIgorI34gIiAgJTEkcyBbT1BUSU9OXSBDT01NQU5EXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1jLCAtLWNsYXNzIDxjbGFzcz4gICBzY2hlZHVsaW5nIGNsYXNzIG5hbWUgb3IgbnVtYmVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgPG51bT4gc2NoZWR1bGluZyBjbGFzcyBkYXRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMC03IGZvciByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorI34gIiAgLXAsIC0tcGlkPVBJRCAgICAgICAgIHZpZXcgb3IgbW9kaWZ5IGFscmVhZHkgcnVubmluZyBwcm9jZXNzXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCisjfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJTEkcyAtIOODl+ODreOCu+OCueOBq+WvvuOBmeOCi+OCueOCseOCuOODpeODvOODq+OCr+ODqeOCueOBqOWEquWFiOmghuS9jeOCkuWPluW+l++8j+ioreWumuOBl+OBvuOBmeOAglxuIgorI34gIlxuIgorI34gIuS9v+OBhOaWuTpcbiIKKyN+ICIgICUxJHMgW+OCquODl+OCt+ODp+ODs10gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFvjgqrjg5fjgrfjg6fjg7NdIOOCs+ODnuODs+ODiVxuIgorI34gIlxuIgorI34gIuOCquODl+OCt+ODp+ODszpcbiIKKyN+ICIgIC1jLCAtLWNsYXNzIDzjgq/jg6njgrk+ICDjgrnjgrHjgrjjg6Xjg7zjg6vjgq/jg6njgrnjgpLlkI3liY3jgb7jgZ/jga/mlbDlgKTjgafmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lICjjgarjgZcpLCAxOiByZWFsdGltZSAo44Oq44Ki44Or44K/44Kk44OgKSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAyOiBiZXN0LWVmZm9ydCAo44OZ44K544OI44Ko44OV44Kp44O844OIKSwgMzogaWRsZSAo44Ki44Kk44OJ44OrKVxuIgorI34gIiAgLW4sIC0tY2xhc3NkYXRhIDzmlbDlgKQ+IOOCueOCseOCuOODpeODvOODq+OCr+ODqeOCueOBruODh+ODvOOCv+OCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOOCueOCseOCuOODpeODvOODq+OCr+ODqeOCueOBjOODquOCouODq+OCv+OCpOODoOOAgeOCguOBl+OBj+OBr1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOODmeOCueODiOOCqOODleOCqeODvOODiOOBruWgtOWQiOOAgSAwLTcg44Gn5oyH5a6a44GX44G+44GZXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAg5pei44Gr5a6f6KGM5Lit44Gu44OX44Ot44K744K544Gr5a++44GX44Gm5Yem55CG44KS6KGM44GE44G+44GZXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAg5aSx5pWX44KS54Sh6KaW44GX44G+44GZXG4iCisjfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAg44OQ44O844K444On44Oz5oOF5aCx44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAg44GT44Gu44OY44Or44OX44KS6KGo56S644GX44Gm57WC5LqG44GX44G+44GZXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb44Kq44OX44K344On44OzXSA8dHR5PiBbLi4uXVxuIgorCisjfiBtc2dpZCAiIC1zLCAtLXNldC10aHJlc2hvbGQgPG51bT4gICAgICAgICAgc2V0IGludGVycnVwdGlvbiB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1zLCAtLXNldC10aHJlc2hvbGQgPOeVquWPtz4gICAgICAgICDlibLjgorovrzjgb/plr7lgKTjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICDml6Llrprjga7plr7lgKTjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIHNldCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtdCwgLS1zZXQtZmx1c2ggPOaVsOWApD4gICAgICAgICAgICAg44OV44Op44OD44K344Ol44K/44Kk44Og44Ki44Km44OI5YCk44KS5oyH5a6a44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICDml6Llrprjga7jg5Xjg6njg4Pjgrfjg6Xjgr/jgqTjg6DjgqLjgqbjg4jlgKTjgpLoqK3lrprjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pbnRlcnZhbCA8c2Vjb25kcz4gICAgICAgICAgIGdhdGhlciBzdGF0aXN0aWNzIGV2ZXJ5IDxzZWNvbmRzPiBpbnRlcnZhbFxuIgorI34gbXNnc3RyICIgLWksIC0taW50ZXJ2YWwgPOenkj4gICAgICAgICAgICAgICAgPOenkj4g44Gn5oyH5a6a44GX44Gf6ZaT6ZqU44Gn57Wx6KiI5oOF5aCx44KS5Y+O6ZuG44GX44G+44GZXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAi44OV44Kh44Kk44OrICVzLCDplr7lgKQgJWx1LCDjg5HjgqTjg5flhoXjga7mnIDlpKfjgq3jg6Pjg6njgq/jgr/mlbDjga8gJWQg44Gn44GX44Gf44CCXG4iCisjfiAi44G+44Gf44CB56eS6ZaT5pyA5aSn44Kt44Oj44Op44Kv44K/6Lui6YCB44Os44O844OI44GvICVmIOOBp+OBl+OBn+OAgiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAi44OV44Kh44Kk44OrICVzLCDplr7lgKQgJWx1LCDjgr/jgqTjg6DjgqLjgqbjg4jlgKQgJWx1LCDjg5HjgqTjg5flhoXjga7mnIDlpKfjgq3jg6Pjg6njgq/jgr9cbiIKKyN+ICLmlbDjga8gJWQg44Gn44GX44Gf44CC56eS6ZaT5pyA5aSn44Kt44Oj44Op44Kv44K/6Lui6YCB44Os44O844OI44GvICVmIOOBp+OBl+OBn+OAgiIKKworI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMg44Gr5a++44GX44GmIENZR0VUTU9OIOOCkueZuuihjOOBp+OBjeOBvuOBm+OCkyIKKworI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAiJXMg44Gu6Za+5YCk44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiJXMg44Gu5pmC6ZaT5Yi26ZmQ44KS5Y+W5b6X44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiDlibLjgorovrzjgb8gJWx1LCDjgq3jg6Pjg6njgq/jgr8gJWx1LyVsdTsgZmlmbzog6Za+5YCkICVsdSwg44K/44Kk44Og44Ki44Km44OIICVsdSxcbiIKKyN+ICIgICAg5pyA5aSnICVsdSwg54++5ZyoICVsdVxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjLCAlZiBzZW5kIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYg5Ymy44KK6L6844G/L+enkjsg5Lyd6YCBICVmLCDpgIHkv6EgJWYgKOOCreODo+ODqeOCr+OCvy/np5IpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczog5Ymy44KK6L6844G/ICVsdSwg44Kt44Oj44Op44Kv44K/ICVsdTsgZmlmbzog6Za+5YCkICVsdSwg44K/44Kk44Og44Ki44Km44OIICVsdSxcbiIKKyN+ICIgICAg5pyA5aSnICVsdSwg54++5ZyoICVsdVxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYg5Ymy44KK6L6844G/L+enkjsg5Lyd6YCBICVmICjjgq3jg6Pjg6njgq/jgr8v56eSKVxuIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAi6ZaT6ZqU5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIumWk+malOWApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAi6Kit5a6a5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICLoqK3lrprlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICLml6LlrprlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICLml6LlrprlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAi5pmC6ZaT5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIuaZgumWk+WApOOBjOato+OBl+OBj+OBguOCiuOBvuOBm+OCkzogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAi5pei5a6a44Gu5pmC6ZaT5YCk44GM5q2j44GX44GP44GC44KK44G+44Gb44KTIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICLml6Llrprjga7mmYLplpPlgKTjgYzmraPjgZfjgY/jgYLjgorjgb7jgZvjgpM6ICVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIiVzIOOCkumWvuWApCAlZCDjgavoqK3lrprjgZnjgovjgZPjgajjgYzjgafjgY3jgb7jgZvjgpMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICIlcyDjgpLmmYLplpPplr7lgKQgJWQg44Gr6Kit5a6a44GZ44KL44GT44Go44GM44Gn44GN44G+44Gb44KTIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczog54++5Zyo44Gu6Za+5YCkICVsZCwg54++5Zyo44Gu44K/44Kk44Og44Ki44Km44OIICVsZFxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczog5pei5a6a44Gu6Za+5YCkICVsZCwg5pei5a6a44Gu44K/44Kk44Og44Ki44Km44OIICVsZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGRvbid0IG1vZGlmeSB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAgcHVuY2ggaG9sZXMgaW4gdGhlIGZpbGVcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAg44OV44Kh44Kk44Or44Gu6ZW344GV44Gv5aSJ5pu044GX44Gq44GE44KI44GG44Gr44GX44G+44GZXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAg44OV44Kh44Kk44Or5YaF44Gr44OR44Oz44OB44Ob44O844OrICjnqbQpIOOCkuS9nOaIkOOBl+OBvuOBmVxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIOWJsuOCiuW9k+OBpuOBruOCquODleOCu+ODg+ODiOWApOOCkuODkOOCpOODiOWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIOWJsuOCiuW9k+OBpuOBrumVt+OBleOCkuODkOOCpOODiOWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8bnVtPiBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPOaVsOWApD4gZGlzY2FyZCDlh6bnkIbjga7plovlp4vkvY3nva7jgpLjg5DjgqTjg4jljZjkvY3jgafmjIflrprjgZfjgb7jgZlcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDzmlbDlgKQ+IOmWi+Wni+S9jee9ruOBi+OCieOBriBkaXNjYXJkIOWHpueQhuOBrumVt+OBleOCkuODkOOCpOODiOWNmOS9jeOBp+aMh+WumuOBl+OBvuOBmVxuIgorI34gIiAtbSwgLS1taW5pbXVtIDzmlbDlgKQ+IGRpc2NhcmQg5Yem55CG44KS6KGM44GG5pyA5bCP44Ko44Kv44K544OG44Oz44OI6ZW344KS5oyH5a6a44GX44G+44GZXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgZGlzY2FyZCDlh6bnkIbjgpLooYzjgaPjgZ/plbfjgZXjgpLooajnpLrjgZfjgb7jgZlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAi5pmC5Yi744KS5Y+C54Wn44GX44Gf5pmC54K544GL44KJICUuNmYg56eS44GM57WM6YGO44GX44Gm44GE44G+44GZ44CCXG4iCisjfiAi5qyh44Gu56eS44G+44Gn6YGF44KJ44Gb44G+44GZ44CCXG4iCisKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAtdGVybSA856uv5pyr5ZCNPlxuIgorCisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC10YWJzIDzjgr/jg5YxIOOCv+ODljIg44K/44OWMyAuLi4+ICAgICAgKOOCv+ODliA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC1jbHJ0YWJzIDzjgr/jg5YxIOOCv+ODljIg44K/44OWMyAuLi4+ICAgKOOCv+ODliA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICLjgrnjgq/jg6rjg7zjg7Pjg4Djg7Pjg5fjga7mm7jjgY3ovrzjgb/mmYLjgavjgqjjg6njg7zjgYznmbrnlJ/jgZfjgb7jgZfjgZ8iCisKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICIvZGV2L3Zjc2EwIOOCgiAvZGV2L3Zjc2Eg44KC6ZaL44GP44GT44Go44GM44Gn44GN44G+44Gb44KT44Gn44GX44GfIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5L2/44GE5pa5OiAlcyBb44Kq44OX44K344On44OzXSDjg5XjgqHjgqTjg6suLi5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWQgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmcgYmVsbFxuIgorI34gIiAgLWYgICAgICAgIGNvdW50IGxvZ2ljYWwsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorI34gIiAgLWwgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorI34gIiAgLXAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCisjfiAiICAtYyAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKKyN+ICIgIC11ICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorI34gIiAgLXMgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKKyN+ICIgIC1OVU0gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorI34gIiAgK05VTSAgICAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlciBOVU1cbiIKKyN+ICIgICsvU1RSSU5HICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorI34gIiAgLVYgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICLjgqrjg5fjgrfjg6fjg7M6XG4iCisjfiAiICAtZCAgICAgICAg44OT44O844OX6Z+z44Gu5Luj44KP44KK44Gr44OY44Or44OX44KS6KGo56S644GX44G+44GZXG4iCisjfiAiICAtZiAgICAgICAg55S76Z2i6KGM5pWw44Gn44Gv44Gq44GP44CB6KuW55CG6KGM5pWw44KS5pWw44GI44G+44GZXG4iCisjfiAiICAtbCAgICAgICAgZm9ybSBmZWVkIOaWh+Wtl+OBp+OBruS4gOaZguWBnOatouOCkuecgeeVpeOBl+OBvuOBmVxuIgorI34gIiAgLXAgICAgICAgIOOCueOCr+ODreODvOODq+OCkuihjOOBquOCj+OBmuOAgeeUu+mdouOCkuOBhOOBo+OBn+OCk+a2iOWOu+OBl+OBpuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgLWMgICAgICAgIOOCueOCr+ODreODvOODq+OCkuihjOOBquOCj+OBmuOAgeS4iuerr+OBi+OCieODhuOCreOCueODiOOCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgLXUgICAgICAgIOS4i+e3muihqOekuuOCkuecgeeVpeOBl+OBvuOBmVxuIgorI34gIiAgLXMgICAgICAgIOikh+aVsOOBruepuuihjOOCkuecgeeVpeOBl+OAgSAxIOihjOOBq+OBvuOBqOOCgeOBvuOBmVxuIgorI34gIiAgLU5VTSAgICAgIOOBhOOBo+OBuuOCk+OBq+ihqOekuuOBmeOCi+ihjOaVsOOCkuaMh+WumuOBl+OBvuOBmVxuIgorI34gIiAgK05VTSAgICAgIOaMh+WumuOBl+OBn+ihjOOBi+OCieihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgKy9TVFJJTkcgIOaWh+Wtl+WIl+OBq+ipsuW9k+OBmeOCi+euh+aJgOOBi+OCieODleOCoeOCpOODq+OCkuihqOekuuOBl+OBvuOBmVxuIgorI34gIiAgLVYgICAgICAgIOODkOODvOOCuOODp+ODs+aDheWgseOCkuihqOekuuOBl+OBpue1guS6huOBl+OBvuOBmVxuIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIi4uLiAxIOODmuODvOOCuOaIu+OCiuOBvuOBmSIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi4gMSDooYzpo5vjgbDjgZfjgb7jgZkiCmRpZmYgLS1naXQgYS9wby9ubC5wbyBiL3BvL25sLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgxNWU2ZTgKLS0tIC9kZXYvbnVsbAorKysgYi9wby9ubC5wbwpAQCAtMCwwICsxLDI1NDEyIEBACisjIER1dGNoIHRyYW5zbGF0aW9ucyBmb3IgdGhlICd1dGlsLWxpbnV4JyBMaW51eCBVdGlsaXRpZXMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjCisjIFBlcm1pc3Npb24gaXMgZ3JhbnRlZCB0byBmcmVlbHkgY29weSBhbmQgZGlzdHJpYnV0ZSB0aGlzIGZpbGUKKyMgYW5kIG1vZGlmaWVkIHZlcnNpb25zLCBwcm92aWRlZCB0aGF0IHRoaXMgaGVhZGVyIGlzIG5vdCByZW1vdmVkCisjIGFuZCBtb2RpZmllZCB2ZXJzaW9ucyBhcmUgbWFya2VkIGFzIHN1Y2guCisjCisjICDilZLilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZDilZUKKyMgIOKUgiAgIEhlaiBoZWosIG1hc3oga2xlaj8gICDilIIKKyMgIOKUgiBIZWphIGhlamEsIG5lbWFtIGtsZWphLiDilIIKKyMgIOKVmOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVkOKVmworIworIyBDb252ZW50aWU6IGluIGhldCBOZWRlcmxhbmRzIHppam4gZGUgZG9jc3RyaW5ncyBpbiBkZSBkZXJkZSBwZXJzb29uLAorIyBuaWV0IGluIGRlIGltcGVyYXRpZWYgb2YgZGUgaW5maW5pdGllZi4KKyMKKyMgV29vcmRnZWJydWlrOgorIyBibG9jayAgICAtPiBibG9rCisjIHNlY3RvciAgIC0+IHNlY3RvcgorIyBjeWxpbmRlciAtPiBjaWxpbmRlcgorIyB2b2x1bWUgICAtPiB2b2x1bWVuCisjIGZpbGVzeXN0ZW0gdHlwZSAtPiBiZXN0YW5kc3N5c3RlZW1zb29ydAorIyBwYXJ0aXRpb24gdHlwZSAgLT4gcGFydGl0aWV0eXBlCisjIChpbm9kZSBibGlqZnQgb252ZXJ0YWFsZCkKKyMKKyMgQmVyaWNodHZlcnRhbGluZ2VuIGRpZSBtZXQgIyMjIGJlZ2lubmVuIHppam4gaW4gZmVpdGUgZGVidWctbWVsZGluZ2VuCisjIGVuIGRlIGJpamJlaG9yZW5kZSBtc2dpZHMgem91ZGVuIG5pZXQgaW4gZGl0IGJlc3RhbmQgbW9ldGVuIHZvb3Jrb21lbi4KKyMKKyMgVGFjbyBXaXR0ZSA8dGN3aXR0ZUBjcy51dS5ubD4sIDIwMDIsIDIwMDMuCisjIEx1ayBDbGFlcyA8bHVrLmNsYWVzQHVnZW50LmJlPiwgMjAwNS4KKyMgQmVubm8gU2NodWxlbmJlcmcgPGJlbm5vQHZlcnRhYWx0Lm5sPiwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMCwgMjAxMS4KKyMgQmVubm8gU2NodWxlbmJlcmcgPGJlbm5vQHZlcnRhYWx0Lm5sPiwgMjAxMiwgMjAxMywgMjAxNCwgMjAxNSwgMjAxNi4KK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXgtMi4yOS1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNi0xMC0zMCAxNzowMSswMTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBCZW5ubyBTY2h1bGVuYmVyZyA8YmVubm9AdmVydGFhbHQubmw+XG4iCisiTGFuZ3VhZ2UtVGVhbTogRHV0Y2ggPHZlcnRhbGluZ0B2cmlqc2NocmlmdC5vcmc+XG4iCisiTGFuZ3VhZ2U6IG5sXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuXG4iCisiWC1HZW5lcmF0b3I6IExva2FsaXplIDEuMFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgICVzIDxibG9rYXBwYXJhYXQ+IDxwYXJ0aXRpZW51bW1lcj4gPGJlZ2luPiA8bGVuZ3RlPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiVmVydGVsdCBkZSBrZXJuZWwgb3ZlciBoZXQgYmVzdGFhbiB2YW4gZGUgb3BnZWdldmVuIHBhcnRpdGllLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJ0ZSB3ZWluaWcgYXJndW1lbnRlbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTggZGlzay11dGlscy9ibG9ja2Rldi5jOjI5NSBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDM5CisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDY1IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjcxOCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1OQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY0IGRpc2stdXRpbHMvZmRpc2suYzoxMDY2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMjEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozODAgZGlzay11dGlscy9mc2NrLmM6MTQ3MAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEyCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDIgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MgorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYwCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODAwIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyNAorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTcgZGlzay11dGlscy9ta3N3YXAuYzoyNDYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTMKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMyBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjcxMQorIzogZGlzay11dGlscy9zZmRpc2suYzo3NjUgZGlzay11dGlscy9zZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzo4OTgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAwNgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY1IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjUgbGliZmRpc2svc3JjL2JzZC5jOjY0MAorIzogbGliL3BhdGguYzo5NSBsaWIvcGF0aC5jOjExMyBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3NAorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0MyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1MgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzQgbG9naW4tdXRpbHMvdmlwdy5jOjI2MSBsb2dpbi11dGlscy92aXB3LmM6Mjc5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk5IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyMyBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxOTggc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODIgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5NgorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI0IHN5cy11dGlscy9lamVjdC5jOjQ5OSBzeXMtdXRpbHMvZWplY3QuYzo2OTUKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozOTYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE3IHN5cy11dGlscy9mc3RyaW0uYzo3NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMjcgc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTQgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAwCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkyIHN5cy11dGlscy9uc2VudGVyLmM6MTI5CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTkzIHN5cy11dGlscy9yZmtpbGwuYzo1NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjg2IHN5cy11dGlscy9zZXRwcml2LmM6Mjc2IHN5cy11dGlscy9zZXRwcml2LmM6NjE0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzNyBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc1IHN5cy11dGlscy9zd2Fwb24uYzo1MTgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2NyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwOCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIyIHN5cy11dGlscy93ZGN0bC5jOjM3OCBzeXMtdXRpbHMvenJhbWN0bC5jOjUwOAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzUyIHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2MAorIzogdGVybS11dGlscy9zY3JpcHQuYzo0NjggdGVybS11dGlscy9zY3JpcHQuYzo1NTkKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk4IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAxCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTkgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTM0CisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3VsLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCBvcGVuZW4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgcGFydGl0aWVudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYmVnaW4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2UgbGVuZ3RlIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJ0b2V2b2VnZW4gdmFuIHBhcnRpdGllIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgImFsbGVlbi1sZXplbiBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJsZXplbi1lbi1zY2hyaWp2ZW4gaW5zdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICJzY2hyaWpmc3RhdHVzIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgIm9uZGVyc3RldW5pbmcgdm9vciB3ZWdsYXRlbiB2YW4gbnVsbGVuIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJsb2dpc2NoZSBzZWN0b3Jncm9vdHRlIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiZnlzaWVrZSBzZWN0b3Jncm9vdHRlIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm1pbmltYWxlIGluLS91aXR2b2VyZ3Jvb3R0ZSB0b25lbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvcHRpbWFsZSBpbi0vdWl0dm9lcmdyb290dGUgdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAidWl0bGlqbmluZ3Nwb3NpdGllIGluIGJ5dGVzIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBzZWN0b3JlbiBwZXIgdmVyem9layB0b25lbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgImJsb2tncm9vdHRlIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJibG9rZ3Jvb3R0ZSBpbnN0ZWxsZW4gb3AgYmVzdGFuZHNkZXNjcmlwdG9yIGRpZSBibG9rLWFwcGFyYWF0IG9wZW50IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiMzItYml0cy1zZWN0b3JhYW50YWwgdG9uZW4gKHZlcm91ZGVyZDsgZ2VicnVpayAnLS1nZXRzeicpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImdyb290dGUgaW4gYnl0ZXMgdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICJ2b29ydWl0bGV6aW5nIGluc3RlbGxlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgInZvb3J1aXRsZXppbmcgdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInZvb3J1aXRsZXppbmcgdmFuIGJlc3RhbmRzc3lzdGVlbSBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInZvb3J1aXRsZXppbmcgdmFuIGJlc3RhbmRzc3lzdGVlbSB0b25lbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgImJ1ZmZlcnMgbGVlZ21ha2VuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAicGFydGl0aWV0YWJlbCBvcG5pZXV3IGlubGV6ZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgIGV4dHJhIGluZm9ybWF0aWUgb25kZXJkcnVra2VuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICJCZXNjaGlrYmFyZSBrb2xvbW1lbjpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgICUtMjVzIGdyb290dGUgaW4gNTEyLWJ5dGUgc2VjdG9yZW4gdG9uZW5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGFwcGFyYWF0IGdlZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzAKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJrYW4gYXBwYXJhYXRncm9vdHRlIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiT25iZWtlbmRlIG9wZHJhY2h0OiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgdmVyZWlzdCBlZW4gYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiaW9jdGwoKS1mb3V0IHZvb3IgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICInJXMnIGlzIG1pc2x1a3QuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBpcyB2b2x0b29pZC5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXM6IGluaXRpYWxpc2VyZW4gdmFuICdzeXNmcyctdmVyd2Vya2VyIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogbGV6ZW4gdmFuIHBhcnRpdGllYmVnaW4gdWl0IHN5c2ZzIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiU3RhdC4gUkEgU2VjR3QgQmxrR3QgQmVnaW5TZWN0b3IgICAgICAgIEdyb290dGUgICBBcHBhcmFhdFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJvcHN0YXJ0YmFhciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkIgPSBodWlkaWdlIHBhcnRpdGllIHdlbC9uaWV0IGFscyBvcHN0YXJ0YmFhciBtYXJrZXJlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUiCittc2dzdHIgInZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIkQgPSBkZXplIHBhcnRpdGllIHZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJSZXNpemUiCittc2dzdHIgImdyb290dGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIlJlZHVjZSBvciBlbmxhcmdlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiRCA9IGRlemUgcGFydGl0aWUgdmVyd2lqZGVyZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiTmV3IgorbXNnc3RyICJOaWV1dyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIk4gPSBuaWV1d2UgcGFydGl0aWUgbWFrZW4gaW4gZGUgdnJpamUgcnVpbXRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgInN0b3BwZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJRID0gcHJvZ3JhbW1hIGFmc2x1aXRlbiB6b25kZXIgcGFydGl0aWV0YWJlbCB0ZSBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzggbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMxIGxpYmZkaXNrL3NyYy9ncHQuYzozMTMyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIlR5cGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiVCA9IGhldCBwYXJ0aXRpZXR5cGUgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAiSHVscCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiSCA9IGh1bHBzY2hlcm0gdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiU29ydGVyZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgInBhcnRpdGlldm9sZ29yZGUgcmVwYXJlcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICJzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiVyA9IHBhcnRpdGlldGFiZWwgbmFhciBzY2hpamYgc2NocmlqdmVuIChkaXQga2FuIGdlZ2V2ZW5zIHdpc3NlbikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiZHVtcGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJVID0gcGFydGl0aWV0YWJlbCBvcHNsYWFuIGFscyBlZW4gc2ZkaXNrLWNvbXBhdGliZWwgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjY0MiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAiKippbnRlcm5lIHByb2dyYW1tYWZvdXQqKjogbmlldC1vbmRlcnN0ZXVuZCBkaWFsb29ndHlwZSAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKGFhbmdla29wcGVsZCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5NworbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAiUGFydGl0aWVuYWFtOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJQYXJ0aXRpZS1VVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJQYXJ0aXRpZXR5cGU6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiRWlnZW5zY2hhcHBlbjoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIkJlc3RhbmRzc3lzdGVlbS1VVUlEOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkJlc3RhbmRzc3lzdGVlbWxhYmVsOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIkJlc3RhbmRzc3lzdGVlbToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJBYW5rb3BwZWxpbmdzcHVudDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiU2NoaWpmOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNpemU6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJHcm9vdHRlOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJMYWJlbDogJXMsICBJRDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIkxhYmVsOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODY2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICJLYW4gZ2V2b2xnZCB3b3JkZW4gZG9vciBNIHZvb3IgTWlCLCBHIGZvciBHaUIsIFQgdm9vciBUaUIsIG9mIFMgdm9vciBzZWN0b3Jlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiR2VlbiBncm9vdHRlIG9wZ2VnZXZlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiTWluaW11bSBncm9vdHRlIGlzICVqdSBieXRlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiTWF4aW11bSBncm9vdHRlIGlzICVqdSBieXRlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiT250bGVkZW4gdmFuIGdyb290dGUgaXMgbWlzbHVrdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk2OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiS2llcyBlZW4gcGFydGl0aWV0eXBlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJWb2VyIG5hYW0gdmFuIHNjcmlwdGJlc3RhbmQgaW46ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiSGV0IHNjcmlwdCB6YWwgd29yZGVuIHRvZWdlcGFzdCBvcCBlZW4gcGFydGl0aWV0YWJlbCBpbiBoZXQgZ2VoZXVnZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJLYW4gJXMgbmlldCBvcGVuZW4iCisKKyMgRklYTUU6IGNhcGl0YWwgKyBwZXJpb2QKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJPbnRsZWRlbiB2YW4gc2NyaXB0YmVzdGFuZCAlcyBpcyBtaXNsdWt0LiIKKworIyBGSVhNRTogY2FwaXRhbCArIHBlcmlvZAorIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJUb2VwYXNzZW4gdmFuIHNjcmlwdCAlcyBpcyBtaXNsdWt0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIkRlIGh1aWRpZ2UgcGFydGl0aWV0YWJlbCBpbiBoZXQgZ2VoZXVnZW4gemFsIHdvcmRlbiBvcGdlc2xhZ2VuIGluIGhldCBiZXN0YW5kLiIKKworIyBGSVhNRTogY2FwaXRhbCArIHBlcmlvZAorIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiUmVzZXJ2ZXJlbiB2YW4gZ2VoZXVnZW4gdm9vciBzY3JpcHQtdmVyd2Vya2VyIGlzIG1pc2x1a3QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIk9temV0dGVuIHZhbiBzY2hpamZpbmRlbGluZyBuYWFyIGVlbiBzY3JpcHQgaXMgbWlzbHVrdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJTY2hpamZpbmRlbGluZyBpcyBtZXQgc3VjY2VzIG9wZ2VzbGFnZW4uIgorCisjIEZJWE1FOiBjYXBpdGFsICsgcGVyaW9kCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIlNjaHJpanZlbiB2YW4gc2NyaXB0YmVzdGFuZCAlcyBpcyBtaXNsdWt0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE2Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIktpZXMgZWVuIGxhYmVsdHlwZSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJBcHBhcmFhdCBiZXZhdCBnZWVuIGhlcmtlbmJhcmUgcGFydGl0aWV0YWJlbC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiS2llcyBoaWVyYm92ZW4gZWVuIGxhYmVsdHlwZSwgb2YgdG9ldHMgJ0wnIG9tIGVlbiBzY3JpcHRiZXN0YW5kIHRlIGxhZGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJEaXQgaXMgJ2NmZGlzaycsIGVlbiBtZW51LWdlc3R1dXJkIHNjaGlqZnBhcnRpdGlvbmVyaW5nc3Byb2dyYW1tYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJVIGt1bnQgZXJtZWUgb3AgZWVuIGJsb2stYXBwYXJhYXQgcGFydGl0aWVzIGFhbm1ha2VuLCBhYW5wYXNzZW4gb2YgdmVyd2lqZGVyZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiVG9ldHMgICAgQmV0ZWtlbmlzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0gICAgLS0tLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAnb3BzdGFydGJhYXInLXZsYWcgdm9vciBodWlkaWdlIHBhcnRpdGllIGFhbi91aXR6ZXR0ZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICBodWlkaWdlIHBhcnRpdGllIHZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgIGRpdCBodWxwc2NoZXJtIHRvbmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICBuaWV1d2UgcGFydGl0aWUgbWFrZW4gaW4gZGUgdnJpamUgcnVpbXRlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgIHByb2dyYW1tYSBhZnNsdWl0ZW4gem9uZGVyIGRlIHBhcnRpdGlldGFiZWwgdGUgc2NocmlqdmVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgIHBhcnRpdGlldm9sZ29yZGUgY29ycmlnZXJlbiAod2FubmVlciBpbiB3YW5vcmRlKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgIHBhcnRpdGlldHlwZSB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgIHNjaGlqZmluZGVsaW5nIG9wc2xhYW4gYWxzIHNmZGlzay1jb21wYXRpYmVsIHNjcmlwdGJlc3RhbmQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgcGFydGl0aWV0YWJlbCBuYWFyIHNjaGlqZiBzY2hyaWp2ZW4gKG1vZXQgbWV0IGhvb2ZkbGV0dGVyKTsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MAorbXNnaWQgIiAgICAgICAgICAgICAgIHNpbmNlIHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhIG9uIHRoZSBkaXNrLCB5b3UgbXVzdCBlaXRoZXIiCittc2dzdHIgIiAgICAgICAgICAgb21kYXQgZGl0IG1vZ2VsaWprIGdlZ2V2ZW5zIG9wIGRlIHNjaGlqZiB3aXN0LCBkaWVudCB1IGhldCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgIHNjaHJpanZlbiB0ZSBiZXZlc3RpZ2VuIG1ldCAnamEnIG9mIHRlIHdlaWdlcmVuIG1ldCAnbmVlJyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgZXh0cmEgaW5mb3JtYXRpZSBvdmVyIHBhcnRpdGllIHRvbmVuL3ZlcmJlcmdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIm9taG9vZyAgIGFhbndpanplciBuYWFyIHZvcmlnZSBwYXJ0aXRpZSB2ZXJwbGFhdHNlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAib21sYWFnICAgYWFud2lqemVyIG5hYXIgdm9sZ2VuZGUgcGFydGl0aWUgdmVycGxhYXRzZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJsaW5rcyAgICBhYW53aWp6ZXIgbmFhciB2b3JpZ2UgbWVudS1pdGVtIHZlcnBsYWF0c2VuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJyZWNodHMgICBhYW53aWp6ZXIgbmFhciB2b2xnZW5kZSBtZW51LWl0ZW0gdmVycGxhYXRzZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIk9wbWVya2luZzogYWxsZSBvcGRyYWNodGVuIGt1bm5lbiB6b3dlbCBtZXQgaG9vZmRsZXR0ZXIgYWxzIGtsZWluZSBsZXR0ZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJ3b3JkZW4gaW5nZXZvZXJkIC0tIGJlaGFsdmUgVy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJHZWJydWlrIGxzYmxrKDgpIG9mIHBhcnR4KDgpIG9tIG1lZXIgZGV0YWlscyBvdmVyIGhldCBhcHBhcmFhdCB0ZSB6aWVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiRHJ1ayBvcCBlZW4gdG9ldHMgb20gdmVyZGVyIHRlIGdhYW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTcKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiS2FuIHZsYWcgbmlldCBvbXpldHRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJLYW4gcGFydGl0aWUgJXp1IG5pZXQgdmVyd2lqZGVyZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIlBhcnRpdGllICV6dSBpcyB2ZXJ3aWpkZXJkLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiUGFydGl0aWVncm9vdHRlOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkhldCB0eXBlIHZhbiBwYXJ0aXRpZSAlenUgaXMgZ2V3aWp6aWdkLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiSGV0IHR5cGUgdmFuIHBhcnRpdGllICV6dSBpcyBvbnZlcmFuZGVyZC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorIywgZnV6enkKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICJOaWV1d2Ugc2hlbGwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAiJXM6IHBhcnRpdGllICMlZCBpcyB2YW4gZ3Jvb3R0ZSBnZXdpanppZ2RcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICJBcHBhcmFhdCBpcyBnZW9wZW5kIGluIGFsbGVlbmxlemVuLW1vZHVzLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDMyCittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJXZWV0IHUgemVrZXIgZGF0IHUgZGUgcGFydGl0aWV0YWJlbCBuYWFyIHNjaGlqZiB3aWx0IHNjaHJpanZlbj8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJUeXAgXCJqYVwiIG9mIFwibmVlXCIsIG9mIGRydWsgb3AgRXNjIG9tIGRlemUgZGlhbG9vZyB0ZSB2ZXJsYXRlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzOSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgInllcyIKK21zZ3N0ciAiamEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0MAorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJQYXJ0aXRpZXRhYmVsIGlzIE5JRVQgbmFhciBzY2hpamYgZ2VzY2hyZXZlbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJTY2hyaWp2ZW4gdmFuIHNjaGlqZmxhYmVsIGlzIG1pc2x1a3QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiRGUgcGFydGl0aWV0YWJlbCBpcyBnZXdpanppZ2QuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICJNZXJrIG9wIGRhdCBwYXJ0aXRpZXRhYmVsLWl0ZW1zIG51IG5pZXQgaW4gc2NoaWpmdm9sZ29yZGUgbGlnZ2VuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTExCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiQXBwYXJhYXQgYmV2YXQgYWwgZWVuICVzLXZpbmdlcmFmZHJ1azsgZGV6ZSB6YWwgZ2V3aXN0IHdvcmRlbiBkb29yIGVlbiBzY2hyaWpmb3BkcmFjaHQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MjIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiYWFubWFrZW4gdmFuIG5pZXV3IHNjaGlqZmxhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUzMAorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgImxlemVuIHZhbiBwYXJ0aXRpZXMgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICAlMSRzIFtvcHRpZXNdIDxhcHBhcmFhdD5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjMyIGRpc2stdXRpbHMvZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzoxODQzCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIlRvb250IG9mIHdpanppZ3QgZWVuIHBhcnRpdGlldGFiZWwuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLUwsIC0tY29sb3JbPTx3YW5uZWVyPl0gICAgZGUgdWl0dm9lciBrbGV1cmVuICgnYXV0bycsICdhbHdheXMnLCBvZiAnbmV2ZXInKVxuIgorCisjIENPTU1BCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgIC16LCAtLXplcm8gICAgICAgICAgICAgICAgIG1ldCBlZW4gbGVnZSBwYXJ0aXRpZXRhYmVsIGJlZ2lubmVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJvbmdlbGRpZ2Uga2xldXJtb2R1cyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAicmVzZXJ2ZXJlbiB2YW4gZ2VoZXVnZW4gdm9vciAnbGliZmRpc2snLWNvbnRleHQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAgJXMgPGJsb2thcHBhcmFhdD4gPHBhcnRpdGllbnVtbWVyPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJWZXJ0ZWx0IGRlIGtlcm5lbCBkZSBvcGdlZ2V2ZW4gcGFydGl0aWUgdGUgdmVyZ2V0ZW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgInZlcndpamRlcmVuIHZhbiBwYXJ0aXRpZSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXR0ZXJlbi4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAidm9sdG9vaWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJDb250cm9sZXJlbi4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMDgKK21zZ2lkICJSZWFkOiAiCittc2dzdHIgIkdlbGV6ZW46ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAicHJvYmxlZW0gYmlqIGxlemVuIHZhbiBzcG9vciAldSwga29wICV1OyB2ZXJ3YWNodDogJWQsIGdlbGV6ZW46ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBkYXRhIGluIHRyYWNrL2hlYWQgJXUvJXVcbiIKKyJDb250aW51aW5nIC4uLiAiCittc2dzdHIgIiIKKyJzbGVjaHRlIGdlZ2V2ZW5zIG9wIHNwb29yICV1LCBrb3AgJXU7XG4iCisiZG9vcmdlZ2Fhbi4uLiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTgzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyMyBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwMiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxhcHBhcmFhdD5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OQorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiRm9ybWF0dGVlcnQgZWVuIGRpc2tldHRlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAgLWYsIC0tZnJvbSA8Z2V0YWw+ICAgICAgIHN0YXJ0ZW4gYmlqIGRpdCBzcG9vciAoc3RhbmRhYXJkIDApXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKK21zZ2lkICIgLXQsIC0tdG8gPE4+ICAgICAgc3RvcCBhdCB0aGUgdHJhY2sgTlxuIgorbXNnc3RyICIgIC10LCAtLXRvIDxnZXRhbD4gICAgICAgICBzdG9wcGVuIGJpaiBkaXQgc3Bvb3JcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NAorbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKyIgIC1yLCAtLXJlcGFpciA8YWFudGFsPiAgICBwcm9iZXJlbiBzcG9yZW4gZGllIG5pZXQgZG9vciBkZSBjb250cm9sZSBrd2FtZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRlIHJlcGFyZXJlbiAobWF4aW1hYWwgPGFhbnRhbD4gcG9naW5nZW4pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtbiwgLS1uby12ZXJpZnkgICAgICAgICAgZ2VlbiBjb250cm9sZSB1aXR2b2VyZW4gbmEgaGV0IGZvcm1hdHRlcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQgYmlqIC0tZnJvbSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQgYmlqIC0tdG8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCBiaWogLS1yZXBhaXIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE0OAorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM3CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzU4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3OTcKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyMSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MyBkaXNrLXV0aWxzL3BhcnR4LmM6OTUxCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg4IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM3IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODUgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5OQorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTcgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIwCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6Nzkgc3lzLXV0aWxzL25zZW50ZXIuYzoxNjQgc3lzLXV0aWxzL25zZW50ZXIuYzoxNjgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MjMgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzNyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICJzdGF0dXMgb3B2cmFnZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTAgbWlzYy11dGlscy9sc2Jsay5jOjE1MDEKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg3IHN5cy11dGlscy9ibGt6b25lLmM6MTAxCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogaXMgZ2VlbiBibG9rLWFwcGFyYWF0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJrYW4gaHVpZGlnZSBzb29ydCBmb3JtYXR0ZXJpbmcgbmlldCBhY2h0ZXJoYWxlbiIKKworIyBGSVhNRTogYWRkIHRyYW5zbGF0b3IgaGludAorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlc3ppamRpZywgJWQgc3BvcmVuLCAlZCBzZWN0b3Jlbi9zcG9vci4gIFRvdGFsZSBjYXBhY2l0ZWl0ICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJEdWJiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIkVua2VsIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJvcGdlZ2V2ZW4gYmVnaW5zcG9vciBpcyBncm90ZXIgZGFuIGRlIGZsb3BweSB0b2VzdGFhdCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIm9wZ2VnZXZlbiBlaW5kc3Bvb3IgaXMgZ3JvdGVyIGRhbiBkZSBmbG9wcHkgdG9lc3RhYXQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAib3BnZWdldmVuIGJlZ2luc3Bvb3IgaXMgZ3JvdGVyIGRhbiBlaW5kc3Bvb3IiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJzbHVpdGVuIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICJTZWxlY3RlZXIgKHN0YW5kYWFyZCBpcyAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiU3RhbmRhYXJkd2FhcmRlICVjIHdvcmR0IGdlYnJ1aWt0LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiV2FhcmRlIHZhbHQgYnVpdGVuIGJlcmVpay4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIHN0YW5kYWFyZCAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgc3RhbmRhYXJkICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgc3RhbmRhYXJkICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Piwgc3RhbmRhYXJkICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIyBGSVhNRTogZG9uJ3QgZ2V0dGV4dGl6ZQorIzogZGlzay11dGlscy9mZGlzay5jOjI2OSBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbSl1hL1tOXWVlOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJIZXgtY29kZSAodHlwIEwgb20gYWxsZSBjb2RlcyB0ZSB6aWVuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiUGFydGl0aWV0eXBlICh0eXAgTCBvbSBhbGxlIG1vZ2VsaWprZSB0eXBlcyB0ZSB6aWVuKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgyCittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiRE9TLWNvbXBhdGliaWxpdGVpdCBpcyBhYW5nZXpldCAgKFZFUk9VREVSRCEpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1MtY29tcGF0aWJpbGl0ZWl0IGlzIHVpdGdlemV0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA0IGRpc2stdXRpbHMvZmRpc2suYzo2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgYmVzdGFhdCBub2cgbmlldCEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIltvbmJla2VuZF0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICJIZXQgdHlwZSB2YW4gZGUgcGFydGl0aWUgaXMgdmVyYW5kZXJkIHZhbiAnJXMnIG5hYXIgJyVzJy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJIZXQgdHlwZSB2YW4gcGFydGl0aWUgJXp1IGlzIG9udmVyYW5kZXJkOiAlcy4iCisKKyMgRklYTUU6IGRvbid0IGdldHRleHRpemUKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBwb3NpdGllID0gJTxQUkl1NjQ+LCBncm9vdHRlID0gJXp1IGJ5dGVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMworbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJrYW4gZ2VlbiAnc2VlaycgZG9lbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyOAorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJrYW4gbmlldCBsZXplbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJFZXJzdGUgc2VjdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJpb2N0bChCTEtHRVRTSVpFKSBpcyBtaXNsdWt0IG9wICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkRlIHZpbmdlcmFmZHJ1ayB6YWwgZ2V3aXN0IHdvcmRlbiBkb29yIGVlbiBzY2hyaWpmb3BkcmFjaHQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJIZXQgd29yZHQgc3RlcmsgYWFuZ2VyYWRlbiBvcCBoZXQgYXBwYXJhYXQgbWV0IHdpcGVmcyg4KSB0ZSB3aXNzZW4sIG9tIG1vZ2VsaWprZSBcImJvdHNpbmdlblwiIHRlIHZlcm1pamRlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgICUxJHMgW29wdGllc10gPHNjaGlqZj4gICAgICAgcGFydGl0aWV0YWJlbCB3aWp6aWdlblxuIgorIiAgJTEkcyBbb3B0aWVzXSAtbCBbPHNjaGlqZj5dICBwYXJ0aXRpZXRhYmVsKGxlbikgdG9uZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1iLCAtLXNlY3Rvci1zaXplIDxnZXRhbD4gIGdyb290dGUgdmFuIGZ5c2lla2UgZW4gbG9naXNjaGUgc2VjdG9yXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTIKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIgIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgIGJvb3RiaXRzIG5pZXQgd2lzc2VuIGJpaiBhYW5tYWtlbiB2YW4gbmlldXcgbGFiZWxcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMworbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2R1cz5dICBjb21wYXRpYmlsaXRlaXRzbW9kdXM6ICdkb3MnLCBvZiAnbm9uZG9zJyAoc3RhbmRhYXJkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE0Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1MLCAtLWNvbG9yWz08d2FubmVlcj5dICAgIGRlIHVpdHZvZXIga2xldXJlbiAoJ2F1dG8nLCAnYWx3YXlzJywgb2YgJ25ldmVyJylcbiIKKworIyBBTkQgZXhpdAorIzogZGlzay11dGlscy9mZGlzay5jOjgxNworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICBwYXJ0aXRpZXMgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3V0cHV0IDxsaWpzdD4gICAgICAgdGUgdG9uZW4ga29sb21tZW4gaW4gZGUgdWl0dm9lclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgIGFsbGVlbiBkaXQgdHlwZSBwYXJ0aXRpZSBoZXJrZW5uZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5pdHNbPTxlZW5oZWlkPl0gICAgd2VlcmdhdmUtZWVuaGVpZDogJ2N5bGluZGVycycsIG9mICdzZWN0b3JzJyAoc3RhbmRhYXJkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIxCittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiICAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICBhcHBhcmFhdGdyb290dGUgdG9uZW4gaW4gNTEyLWJ5dGUgc2VjdG9yZW4gW1ZFUk9VREVSRF1cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgIGdyb290dGUgaW4gYnl0ZXMgd2VlcmdldmVuIGkucC52LiBpbiBsZWVzYmFyZSB2b3JtXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjMKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLXcsIC0td2lwZSA8d2FubmVlcj4gICAgICAgdmluZ2VyYWZkcnVra2VuIHdpc3NlbiAoJ2F1dG8nLCAnYWx3YXlzJywgJ25ldmVyJylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODYKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDx3YW5uZWVyPiAgICAgdmluZ2VyYWZkcnVra2VuIHZhbiBuaWV1d2UgcGFydGl0aWVzIHdpc3NlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoJ2F1dG8nLCAnYWx3YXlzJywgJ25ldmVyJylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNworbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiAgLUMsIC0tY3lsaW5kZXJzIDxnZXRhbD4gICAgaGV0IGFhbnRhbCB0ZSBnZWJydWlrZW4gY2lsaW5kZXJzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAgLUgsIGhlYWRzIDxnZXRhbD4gICAgICAgICAgaGV0IGFhbnRhbCB0ZSBnZWJydWlrZW4ga29wcGVuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIiAgLVMsIC0tc2VjdG9ycyA8Z2V0YWw+ICAgICAgaGV0IGFhbnRhbCBzZWN0b3JlbiBwZXIgc3Bvb3JcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTAwIGRpc2stdXRpbHMvcGFydHguYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2Ugc2VjdG9yZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxMAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBhYW50YWwgY2lsaW5kZXJzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgImthbiBET1MtbGFiZWwtc3R1dXJwcm9ncmFtbWEgbmlldCB2aW5kZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAib25iZWtlbmRlIGNvbXBhdGliaWxpdGVpdHNtb2R1cyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM1Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYWFudGFsIGtvcHBlbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYWFudGFsIHNlY3RvcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIm9uZ2VsZGlnIHNjaGlqZmxhYmVsOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kZSBlZW5oZWlkICclYyciCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9mZGlzay5jOjk4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4OQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAib25nZWxkaWdlIHdpc21vZHVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICIiCisiQXBwYXJhYXRlaWdlbnNjaGFwcGVuIChzZWN0b3Jncm9vdHRlIGVuIGdlb21ldHJpZSkgZGllbmVuXG4iCisibWV0IHNsZWNodHMgw6nDqW4gYXBwYXJhYXQgZ2VicnVpa3QgdGUgd29yZGVuLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMzMgZGlzay11dGlscy9mZGlzay5jOjEwNDggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY5NQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg3CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTY3IGRpc2stdXRpbHMvcmF3LmM6MTM3IGRpc2stdXRpbHMvcmF3LmM6MTUwCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2MiBkaXNrLXV0aWxzL3Jhdy5jOjIwMyBtaXNjLXV0aWxzL2NhbC5jOjUyMAorIzogbWlzYy11dGlscy9maW5kZnMuYzo1OCBtaXNjLXV0aWxzL2xvb2suYzoxNTAgbWlzYy11dGlscy93aGVyZWlzLmM6NTczCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo1ODQgbWlzYy11dGlscy93aGVyZWlzLmM6NTk1IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYzNworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTA0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYyIHNjaGVkdXRpbHMvdGFza3NldC5jOjE4OQorIzogc3lzLXV0aWxzL2NoY3B1LmM6MzQ0IHN5cy11dGlscy9jaG1lbS5jOjQxOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDY5CisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzIxIHN5cy11dGlscy9sb3NldHVwLmM6ODg4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDI1IHN5cy11dGlscy9sc21lbS5jOjYyOCBzeXMtdXRpbHMvbW91bnQuYzo2OTgKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxMSBzeXMtdXRpbHMvbW91bnQuYzo3ODAgc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxODEKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzIgc3lzLXV0aWxzL3N3YXBvZmYuYzoyMzAgc3lzLXV0aWxzL3N3YXBvbi5jOjk4OAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjUwIHN5cy11dGlscy91bW91bnQuYzo1MjggdGVybS11dGlscy9zZXR0ZXJtLmM6MTE3NgorIzogdGV4dC11dGlscy9jb2wuYzoyMzMgdGV4dC11dGlscy9tb3JlLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgImJhZCB1c2FnZSIKK21zZ3N0ciAib25nZWxkaWdlIHdhYXJkZSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiV2Vsa29tIGJpaiAnZmRpc2snICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTYKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiV2lqemlnaW5nZW4gd29yZGVuIGFsbGVlbiBpbiBoZXQgY29tcHV0ZXJnZWhldWdlbiBnZW1hYWt0LFxuIgorInRvdCBoZXQgbW9tZW50IGRhdCB1IGJlc2x1aXQgemUgbmFhciBzY2hpamYgdGUgc2NocmlqdmVuLlxuIgorIldlZXMgdm9vcnppY2h0aWcgdsOzw7NyIGhldCBnZWJydWlrIHZhbiBkZSBzY2hyaWpmb3BkcmFjaHQuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDc5Cittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIiIKKyJFZW4gaHlicmlkZSBHUFQgaXMgZ2VkZXRlY3RlZXJkLlxuIgorIlUgZGllbnQgZGUgaHlicmlkZSBNQlIgaGFuZG1hdGlnIHRlIHN5bmNocm9uaXNlcmVuIChleHBlcnRvcGRyYWNodCAnTScpLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJTY2hpamZsYWJlbHR5cGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJTY2hpamYtSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiU2NoaWpmICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiR2VvbWV0cmllOiAlZCBrb3BwZW4sICVsbHUgc2VjdG9yZW4vc3Bvb3IsICVsbHUgY2lsaW5kZXJzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJFZW5oZWlkOiAlcyB2YW4gJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiU2VjdG9yZ3Jvb3R0ZSAobG9naXNjaC9meXNpZWspOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkluLS91aXR2b2VyZ3Jvb3R0ZSAobWluaW1hYWwvb3B0aW1hYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAiVWl0bGlqbmluZ3Nwb3NpdGllOiAlbHUgYnl0ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgaXRlcmF0b3IgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTIyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0MgorIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkxNiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNjEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1OTYgbWlzYy11dGlscy9sc2Jsay5jOjE5MDggbWlzYy11dGlscy9sc2xvY2tzLmM6NDQ5CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI1MiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzEyIHN5cy11dGlscy9sc2lwYy5jOjMzOAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3Jma2lsbC5jOjQ1NyBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg0CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyNjAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODcgdGV4dC11dGlscy9jb2x1bW4uYzoyMDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIHVpdHZvZXJ0YWJlbCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAicmVzZXJ2ZXJlbiB2YW4gZ2VoZXVnZW4gdm9vciB1aXR2b2VycmVnZWwgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAidG9ldm9lZ2VuIHZhbiBnZWdldmVucyBhYW4gdWl0dm9lcnRhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGllICV6dSBiZWdpbnQgbmlldCBvcCBlZW4gZnlzaWVrZSBzZWN0b3JncmVucy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtL1JBSUQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiAlenUgd2lsbCBiZSB3aXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjA5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiUGFydGl0aWV0YWJlbC1pdGVtcyBsaWdnZW4gbmlldCBpbiBzY2hpamZ2b2xnb3JkZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiQmVnaW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNgorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjkgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMjEKK21zZ2lkICJFbmQiCittc2dzdHIgIkVpbmRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjcKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAiU2VjdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICJHcm9vdHRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5wYXJ0aXRpb25lZCBzcGFjZSAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIk9uZ2VwYXJ0aXRpb25lZXJkZSBydWltdGUgb3AgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JlbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAib25iZWtlbmRlIGtvbG9tICUyJHMgdm9vciBsYWJlbHR5cGUgJTEkcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICJBbGdlbWVlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgImVlbiBwYXJ0aXRpZSB2ZXJ3aWpkZXJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAidnJpamUsIG9uZ2VwYXJ0aXRpb25lZXJkZSBydWltdGUgd2VlcmdldmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAiYWxsZSBiZWtlbmRlIHBhcnRpdGlldHlwZW4gb3Bzb21tZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgImVlbiBuaWV1d2UgcGFydGl0aWUgdG9ldm9lZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJkZSBwYXJ0aXRpZXRhYmVsIHdlZXJnZXZlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgImVlbiBwYXJ0aXRpZXR5cGUgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJkZSBwYXJ0aXRpZXRhYmVsIGNvbnRyb2xlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiaW5mb3JtYXRpZSBvdmVyIGVlbiBwYXJ0aXRpZSB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiZGUgcmF1d2UgZ2VnZXZlbnMgdmFuIGRlIGVlcnN0ZSBhcHBhcmFhdHNlY3RvciB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiZGUgcmF1d2UgZ2VnZXZlbnMgdmFuIHNjaGlqZmxhYmVsIHZhbiBhcHBhcmFhdCB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJwYXJ0aXRpZXZvbGdvcmRlIHJlcGFyZXJlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiVmFyaWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAiZGl0IG1lbnUgdG9uZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICJlZW5oZWlkIHZhbiB3ZWVyZ2F2ZS9pbnZvZXIgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImV4dHJhIGZ1bmN0aW9uYWxpdGVpdCAoYWxsZWVuIHZvb3IgZXhwZXJ0cykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiU2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJzY2hpamZpbmRlbGluZyBsYWRlbiB1aXQgZWVuIHNmZGlzay1zY3JpcHRiZXN0YW5kIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTgKK21zZ2lkICJkdW1wIGRpc2sgbGF5b3V0IHRvIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAic2NoaWpmaW5kZWxpbmcgb3BzbGFhbiBpbiBlZW4gc2ZkaXNrLXNjcmlwdGJlc3RhbmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICJPcHNsYWFuIGVuIGFmc2x1aXRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiZGUgdGFiZWwgbmFhciBzY2hpamYgc2NocmlqdmVuIGVuIGFmc2x1aXRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAiZGUgdGFiZWwgbmFhciBzY2hpamYgc2NocmlqdmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjMKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgImFmc2x1aXRlbiB6b25kZXIgd2lqemlnaW5nZW4gb3AgdGUgc2xhYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgInRlcnVnIG5hYXIgaG9vZmRtZW51IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJ0ZXJ1Z2tlcmVuIHZhbiBCU0QgbmFhciBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiTWFrZW4gdmFuIG5pZXV3IGxhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZWVuIG5pZXV3ZSwgbGVnZSBHUFQtcGFydGl0aWV0YWJlbCBtYWtlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJlZW4gbmlldXdlLCBsZWdlIFNHSShJUklYKS1wYXJ0aXRpZXRhYmVsIG1ha2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDAKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZWVuIG5pZXV3ZSwgbGVnZSBET1MtcGFydGl0aWV0YWJlbCBtYWtlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImVlbiBuaWV1d2UsIGxlZ2UgU3VuLXBhcnRpdGlldGFiZWwgbWFrZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0NQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZWVuIG5pZXV3ZSwgbGVnZSBJUklYKFNHSSktcGFydGl0aWV0YWJlbCBtYWtlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgImFhbnRhbCBjaWxpbmRlcnMgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgImFhbnRhbCBrb3BwZW4gd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NworbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiYWFudGFsIHNlY3RvcmVuIHBlciBzcG9vciB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgInNjaGlqZi1HVUlEIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgInBhcnRpdGllbmFhbSB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJwYXJ0aXRpZS1VVUlEIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICJ0YWJlbGxlbmd0ZSB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICJiZXNjaGVybWVuZGUvaHlicmlkZSBNQlIgYmlubmVuZ2FhbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc0Cittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICJ3ZWwvbmlldCBhbHMgb3BzdGFydGJhYXIgaW5zdGVsbGVuICh2ZXJvdWRlcmRlIEJJT1MtdmxhZykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAibmlldC93ZWwgYmxvay1JTy1wcm90b2NvbCBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIndlbC9uaWV0IGFscyB2ZXJlaXN0ZSBwYXJ0aXRpZSBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJ3ZWwvbmlldCBkZSBHVUlELXNwZWNpZmlla2UgYml0cyBpbnN0ZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJ3ZWwvbmlldCBhbHMgYWxsZWVuLWxlemVuIGluc3RlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAid2VsL25pZXQgYWxzIGFhbmtvcHBlbGJhYXIgaW5zdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgImFhbnRhbCBhbHRlcm5hdGlldmUgY2lsaW5kZXJzIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJhYW50YWwgZXh0cmEgc2VjdG9yZW4gcGVyIGNpbGluZGVyIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgInR1c3NlbnJ1aW10ZWZhY3RvciB3aWp6aWdlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk0Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJyb3RhdGllc25lbGhlaWQgd2lqemlnZW4gKHJvbmRqZXMgcGVyIG1pbnV1dCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJhYW50YWwgZnlzaWVrZSBjaWxpbmRlcnMgd2lqemlnZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJvcHN0YXJ0YmFyZSBwYXJ0aXRpZSBzZWxlY3RlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICJvcHN0YXJ0YmVzdGFuZC1pdGVtIGJld2Vya2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDcKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJTR0ktd2lzc2VsZ2VoZXVnZW5wYXJ0aXRpZSBzZWxlY3RlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDgKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgIlNHSS1pbmZvIGFhbm1ha2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIyBIaWVybmEgd29yZHQgbm9nIG5hYXIgZWVuIHBhcnRpdGllbnVtbWVyIGdldnJhYWdkLiAtLSBCZW5ubworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAid2VsL25pZXQgYWxzIG9wc3RhcnRiYWFyIGluc3RlbGxlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiZ2VuZXN0IEJTRC1zY2hpamZsYWJlbCBiZXdlcmtlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICJ3ZWwvbmlldCBhbHMgRE9TLWNvbXBhdGliZWwgaW5zdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJiZWdpbiB2YW4gZ2VnZXZlbnMgaW4gZWVuIHBhcnRpdGllIHZlcnBsYWF0c2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAic2NoaWpmLUlEIHdpanppZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICJ0ZXJ1Z2tlZXIgdWl0IGJlc2NoZXJtZW5kZS9oeWJyaWRlIE1CUiBuYWFyIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAic2NoaWpmZ2VnZXZlbnMgYmV3ZXJrZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICJib290c3RyYXAgaW5zdGFsbGVyZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICJjb21wbGV0ZSBzY2hpamZsYWJlbCB3ZWVyZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiQlNELXBhcnRpdGllIGtvcHBlbGVuIGFhbiBuaWV0LUJTRC1wYXJ0aXRpZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiSHVscCAoZXhwZXJ0b3BkcmFjaHRlbik6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MyBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIdWxwOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiVSBiZXdlcmt0IGVlbiBnZW5lc3RlICclcyctcGFydGl0aWV0YWJlbDsgZGUgcHJpbWFpcmUgdGFiZWwgaXMgJyVzJy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJFeHBlcnRvcGRyYWNodCAobSB2b29yIGh1bHApOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyNQorbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIk9wZHJhY2h0IChtIHZvb3IgaHVscCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyJXaWx0IHUgZWNodCBhZnNsdWl0ZW4/ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBvbmJla2VuZGUgb3BkcmFjaHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJWb2VyIG5hYW0gdmFuIHNjcmlwdGJlc3RhbmQgaW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIlJlc2V0dGluZyBmZGlzayEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiU2NyaXB0IGlzIG1ldCBzdWNjZXMgdG9lZ2VwYXN0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTE4Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiT216ZXR0ZW4gdmFuIHNjaGlqZmluZGVsaW5nIG5hYXIgZWVuIHNjcmlwdCBpcyBtaXNsdWt0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIlNjcmlwdCBpcyBtZXQgc3VjY2VzIG9wZ2VzbGFnZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTUgZGlzay11dGlscy9zZmRpc2suYzoxNTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydGl0aWUgJXp1IGJldmF0IGVlbiAlcy12aW5nZXJhZmRydWsuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJXaWx0IHUgZGV6ZSB2aW5nZXJhZmRydWsgdmVyd2lqZGVyZW4/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiRGUgdmluZ2VyYWZkcnVrIHphbCBnZXdpc3Qgd29yZGVuIGRvb3IgZWVuIHNjaHJpamZvcGRyYWNodC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgInNjaHJpanZlbiB2YW4gc2NoaWpmbGFiZWwgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiSGVyb3JkZW5lbiB2YW4gcGFydGl0aWVzIGlzIG1pc2x1a3QuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiRGUgcGFydGl0aWVzIHppam4gaGVyb3JkZW5kLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiS2FuIHBhcnRpdGllICV6dSBuaWV0IHZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiRWVuaGVpZCB2b29yIHdlZXJnYXZlL2ludm9lciBpcyB2ZXJhbmRlcmQgbmFhciBjaWxpbmRlcnMgKFZFUk9VREVSRCEpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg3Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiRWVuaGVpZCB2b29yIHdlZXJnYXZlL2ludm9lciBpcyB2ZXJhbmRlcmQgbmFhciBzZWN0b3Jlbi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICJWZXJsYXRlbiB2YW4gZ2VuZXN0IHNjaGlqZmxhYmVsLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiTmlldXcgbWF4aW11bSBhYW50YWwgaXRlbXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc0NQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICJCaW5uZW5nYWFuIHZhbiBiZXNjaGVybWVuZC9oeWJyaWRlIE1CUi1zY2hpamZsYWJlbC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc2MQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIk5pZXV3ZSBVVUlEIChpbiA4LTQtNC00LTEyLXZvcm0pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiTmlldXdlIG5hYW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgzOQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiQmlubmVuZ2FhbiB2YW4gZ2VuZXN0IEJTRC1zY2hpamZsYWJlbC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMzcKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJBYW50YWwgY2lsaW5kZXJzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJBYW50YWwga29wcGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIkFhbnRhbCBzZWN0b3JlbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgaXMgYWFuZ2Vrb3BwZWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIlcyBpcyBuaWV0IGFhbmdla29wcGVsZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMjkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk4IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDUKKyM6IGxpYi9wYXRoLmM6MTQwIGxpYi9wYXRoLmM6MTYxIGxpYi9wYXRoLmM6MTgyIGxpYi9wYXRoLmM6MjMwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY1NQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxNCBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MjMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCBsZXplbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGxpYi9wYXRoLmM6MTYzIGxpYi9wYXRoLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAia2FuIHBhZCBuaWV0IG9udGxlZGVuOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJhYW5tYWtlbiB2YW4gbWFwICVzIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiVmVyZ3JlbmRlbGVuIHZhbiBzY2hpamYgZG9vciAlcy4uLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIod2FjaHRlbikgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiZ2VsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgIm1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIk9udGdyZW5kZWxlbiB2YW4gJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJpbnN0ZWxsZW4gdmFuIHZhbiBvbXNjaHJpanZpbmcgdm9vciAlcyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogb250bGVkaW5nc2ZvdXQgb3AgcmVnZWwgJWQgLS0gaXMgZ2VuZWdlZXJkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBvbnRsZWRlbiB2YW4gJ2ZzdGFiJy1iZXN0YW5kIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImZvcmsoKSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczogdWl0dm9lcmVuIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAid2FpdDogR2VlbiBkb2NodGVycHJvY2Vzc2VuIG1lZXI/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCgpIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiV2FhcnNjaHV3aW5nLi4uICVzIHZvb3IgYXBwYXJhYXQgJXMgZWluZGlnZGUgbWV0IHNpZ25hYWwgJWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBzdGF0dXMgaXMgJXggLS0gem91IG5vb2l0IG1vZ2VuIGdlYmV1cmVuLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICJLbGFhciBtZXQgJXMgKGFmc2x1aXR3YWFyZGUgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiZm91dCAlZCAoJW0pIHRpamRlbnMgdWl0dm9lcmVuIHZhbiAnZnNjay4lcycgdm9vciAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorIk9md2VsIGFsbGUgb2Z3ZWwgZ2VlbiB2YW4gZGUgYmVzdGFuZHNzeXN0ZWVtc29vcnRlbiBiaWogb3B0aWUgJy10J1xuIgorImRpZW5lbiB0ZSBiZWdpbm5lbiBtZXQgJ25vJyBvZiAnIScuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIiCisiJXM6IG9uanVpc3RlIHJlZ2VsIGluIC9ldGMvZnN0YWIgd29yZHQgb3Zlcmdlc2xhZ2VuOlxuIgorImVlbiAnYmluZCctYWFua29wcGVsaW5nIG1ldCBlZW4gbmlldC1udWwgZnNjay12b2xnb3JkZW51bW1lciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBuaWV0LWJlc3RhYW5kIGFwcGFyYWF0IHdvcmR0IG92ZXJnZXNsYWdlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiIKKyIlczogbmlldC1iZXN0YWFuZCBhcHBhcmFhdFxuIgorIihvcHRpZSBcIm5vZmFpbFwiIGthbiBpbiBmc3RhYiBnZWJydWlrdCB3b3JkZW4gb20gZGl0IGFwcGFyYWF0IG92ZXIgdGUgc2xhYW4pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiBvbmJla2VuZGUgYmVzdGFuZHNzeXN0ZWVtc29vcnQgd29yZHQgb3Zlcmdlc2xhZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAia2FuICVzIG5pZXQgY29udHJvbGVyZW46IGdlZW4gJ2ZzY2suJXMnIGdldm9uZGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiQWxsZSBiZXN0YW5kc3N5c3RlbWVuIHdvcmRlbiBnZWNvbnRyb2xlZXJkLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLXdhY2h0ZW4tLSAoc3RhcCAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICAlcyBbcHJvZ3JhbW1hb3B0aWVzXSBbLS0gYmVzdGFuZHNzeXN0ZWVtb3B0aWVzXSBbPGJlc3RhbmRzc3l0ZWVtPi4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJDb250cm9sZWVydCBlbiByZXBhcmVlcnQgZWVuIExpbnV4LWJlc3RhbmRzc3lzdGVlbS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NAorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1BICAgICAgICAgIGFsbGUgYmVzdGFuZHNzeXN0ZW1lbiBjb250cm9sZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgIC1DIFs8YmQ+XSAgIHZvb3J0Z2FuZ3NiYWxrIHRvbmVuOyBkZSBiZXN0YW5kc2Rlc2NyaXB0b3IgaXMgdm9vciBHVUknc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAgLWwgICAgICAgICAgaGV0IGFwcGFyYWF0IHZlcmdyZW5kZWxlbiBvbSBleGNsdXNpZXZlIHRvZWdhbmcgdGUgZ2FyYW5kZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk3Cittc2dpZCAiIC1NICAgICAgICAgZG8gbm90IGNoZWNrIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiICAtTSAgICAgICAgICBhYW5nZWtvcHBlbGRlIGJlc3RhbmRzc3lzdGVtZW4gbmlldCBjb250cm9sZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk4Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiICAtTiAgICAgICAgICBuaWV0cyBlY2h0IGRvZW4sIGFsbGVlbiB0b25lbiB3YXQgZXIgZ2VkYWFuIHpvdSB3b3JkZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgIC1QICAgICAgICAgIGJlc3RhbmRzc3lzdGVtZW4gcGFyYWxsZWwgY29udHJvbGVyZW4sIG9vayBoZXQgYmFzaXNzeXN0ZWVtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAgLVIgICAgICAgICAgaGV0IGJhc2lzYmVzdGFuZHNzeXRlZW0gb3ZlcnNsYWFuIChhbGxlZW4gbnV0dGlnIHNhbWVuIG1ldCAnLUEnKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAxCittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgIC1yIFs8YnM+XSAgIHN0YXRpc3RpZWtlbiB3ZWVyZ2V2ZW4gdm9vciBlbGtlIGFwcGFyYWF0Y29udHJvbGU7ICAgICAgICAgICAgICAgICAoZGUgYmVzdGFuZHNkZXNjcmlwdG9yIGlzIHZvb3IgR1VJJ3MpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDMKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiICAtcyAgICAgICAgICBkZSBjb250cm9sZS1hY3RpZXMgc2VyaWFsaXNlcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgIC1UICAgICAgICAgIGdlZW4gdGl0ZWwgdG9uZW4gYmlqIHByb2dyYW1tYXN0YXJ0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiICAtdCA8c29vcnQ+ICBhbGxlZW4gZGV6ZSBiZXN0YW5kc3N5c3RlZW1zb29ydGVuIGNvbnRyb2xlcmVuO1xuIgorIiAgICAgICAgICAgICAgICA8c29vcnQ+IG1hZyBlZW4ga29tbWFnZXNjaGVpZGVuIGxpanN0IHppam5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYgICAgICAgICAgd2VlcmdldmVuIHdhdCBlciBnZWRhYW4gd29yZHRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQxMworbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIlppZSBkZSBiZXRyZWZmZW5kZSAnZnNjay4qJy1vcGRyYWNodGVuIHZvb3IgYmVzdGFuZHNzeXN0ZWVtb3B0aWVzLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgInRlIHZlZWwgYXBwYXJhdGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcyCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIklzIC9wcm9jIHdlbCBhYW5nZWtvcHBlbGQ/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIlUgZGllbnQgcm9vdCB0ZSB6aWpuIG9tIG5hYXIgb3ZlcmVlbmtvbWVuZGUgYmVzdGFuZHNzeXN0ZW1lbiB0ZSB6b2VrZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIkthbiBnZWVuIG92ZXJlZW5rb21lbmQgYmVzdGFuZHNzeXN0ZWVtIHZpbmRlbjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAidGUgdmVlbCBhcmd1bWVudGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTQ3IGRpc2stdXRpbHMvZnNjay5jOjE1NTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCBiaWogLXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICJvcHRpZSAnLS1waWQnIG1hZyBzbGVjaHRzIMOpw6luIGtlZXIgZ2VnZXZlbiB3b3JkZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJvcHRpZSAnJXMnIHZlcmVpc3QgZWVuIGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCBiaWogLXI6ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgIm9wdGllICctbCcgaXMgYWxsZWVuIGdlbGRpZyBiaWogw6nDqW4gYXBwYXJhYXQgLS0gZ2VuZWdlZXJkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPGJlc3RhbmQ+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQ29udHJvbGVlcnQgZW4gcmVwYXJlZXJ0IGVlbiBnZWNvbXByaW1lZXJkIFJPTS1iZXN0YW5kc3N5c3RlZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiICAtYSAgICAgICAgICAgICAgICAgICAgICAgKGdlbmVnZWVyZCwgc2xlY2h0cyBoZXJrZW5kIHZvb3IgY29tcGF0aWJpbGl0ZWl0KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgZ2VkZXRhaWxsZWVyZGVyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgIC15ICAgICAgICAgICAgICAgICAgICAgICAoZ2VuZWdlZXJkLCBzbGVjaHRzIGhlcmtlbmQgdm9vciBjb21wYXRpYmlsaXRlaXQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiAgLWIsIC0tYmxvY2tzaXplIDxnZXRhbD4gIHRlIGdlYnJ1aWtlbiBibG9rZ3Jvb3R0ZTsgc3RhbmRhYXJkIGlzIHBhZ2luYWdyb290dGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgICAtLWV4dHJhY3RbPTxtYXA+XSAgICBkZWNvbXByZXNzaWUgdGVzdGVuICh1aXRwYWtrZW4gaW4gZ2VnZXZlbiA8bWFwPilcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCgpIGlzIG1pc2x1a3Q6IGthbiBncm9vdHRlIHZhbiBhcHBhcmFhdCBuaWV0IGFjaHRlcmhhbGVuOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgImlzIGdlZW4gYmxvay1hcHBhcmFhdCBub2NoIGJlc3RhbmQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDMKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImJlc3RhbmRzbGVuZ3RlIGlzIHRlIGtsZWluIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc2IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTEgbGliZmRpc2svc3JjL2JzZC5jOjcxNyBsaWJmZGlzay9zcmMvYnNkLmM6ODkyCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjAzIGxvZ2luLXV0aWxzL2xhc3QuYzoyMzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJ3NlZWsnIG9wICVzIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJnZWVuIG1hZ2lzY2ggZ2V0YWwgdmFuIHN1cGVyYmxvayBnZXZvbmRlbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJkZXplIGNyYW1mcyBpcyAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJiaWcgZW5kaWFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICJsaXR0bGUgZW5kaWFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkyCittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZGUgYmVzdGFuZHNzeXN0ZWVtZnVuY3RpZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJncm9vdHRlICglZCkgdmFuIHN1cGVyYmxvayBpcyB0ZSBrbGVpbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAibnVsIGJlc3RhbmRlbiBnZXRlbGQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAiYmVzdGFuZCBsb29wdCBkb29yIHRvdCB2b29yYmlqIGhldCBlaW5kZSB2YW4gaGV0IGJlc3RhbmRzc3lzdGVlbSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworbXNnaWQgIm9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICJvdWRlIGNyYW1mcy1pbmRlbGluZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImthbiBjb250cm9sZXNvbSBuaWV0IHRlc3Rlbjogb3VkZSBjcmFtZnMtaW5kZWxpbmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgImthbiBzY3JpcHRiZXN0YW5kICVzIG5pZXQgbGV6ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImZvdXRpZXZlIGNvbnRyb2xlc29tIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICInc2VlaycgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICJsZXplbiB2YW4gUk9NLUZTIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImhvb2ZkLWlub2RlIGlzIGdlZW4gbWFwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiZm91dGlldmUgcG9zaXRpZSAoJWx1KSB2YW4gaG9vZmRtYXAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiZGF0YWJsb2sgaXMgdGUgZ3Jvb3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImRlY29tcHJlc3NpZWZvdXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICBnYXQgb3AgJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIGRlY29tcHJpbWVyZW4gdmFuIGJsb2sgb3AgJWx1IG5hYXIgJWx1ICglbHUpXG4iCisKKyMgRklYTUU6IHdoYXQgaXMgdGhpcz8KKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJnZWVuIGJsb2sgKCVsZCBieXRlcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJvbmp1aXN0ZSBncm9vdHRlICglbGQgaS5wLnYuICVsZCBieXRlcykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxOAorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDkgbWlzYy11dGlscy91dWlkZC5jOjM2NiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NDA4CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTUxIHN5cy11dGlscy9zZXRwcml2LmM6NjIwIHN5cy11dGlscy9zZXRwcml2LmM6NjQzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzkzIHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgInNjaHJpanZlbiBpcyBtaXNsdWt0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiJ2xjaG93bicgaXMgbWlzbHVrdDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiJ2Nob3duJyBpcyBtaXNsdWt0OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICIndXRpbWUnIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJtYXAtaW5vZGUgJXMgaGVlZnQgcG9zaXRpZSBudWwgZW4gbmlldC1udWwgZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICInbWtkaXInIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgImxlbmd0ZSB2YW4gYmVzdGFuZHNuYWFtIGlzIG51bCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIm9uZ2VsZGlnZSBsZW5ndGUgdmFuIGJlc3RhbmRzbmFhbSAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODYKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJvbmdlbGRpZ2UgaW5vZGUtcG9zaXRpZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJiZXN0YW5kcy1pbm9kZSBoZWVmdCBwb3NpdGllIG51bCBlbiBuaWV0LW51bCBncm9vdHRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImJlc3RhbmRzLWlub2RlIGhlZWZ0IGdyb290dGUgbnVsIGVuIG5pZXQtbnVsIHBvc2l0aWUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAic3ltYm9saXNjaGUga29wcGVsaW5nIGhlZWZ0IHBvc2l0aWUgbnVsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJzeW1ib2xpc2NoZSBrb3BwZWxpbmcgaGVlZnQgZ3Jvb3R0ZSBudWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZm91dGlldmUgZ3Jvb3R0ZSBpbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3ltYm9saXNjaGUga29wcGVsaW5nIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAic3BlY2lhYWwgYmVzdGFuZCBoZWVmdCBuaWV0LW51bCBwb3NpdGllOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyBoZWVmdCBuaWV0IGxlbmd0ZSBudWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgInNvY2tldCBoZWVmdCBuaWV0IGxlbmd0ZSBudWw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIm9uZ2VsZGlnZSBtb2R1czogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICInbWtub2QnIGlzIG1pc2x1a3Q6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgImJlZ2luIHZhbiBtYXBkYXRhICglbHUpIGlzIGtsZWluZXIgZGFuIHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSBwbHVzIHN0YXJ0ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImVpbmRlIHZhbiBtYXBkYXRhICglbHUpIGlzIG9uZ2VsaWprIGFhbiBiZWdpbiB2YW4gYmVzdGFuZHNkYXRhICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJvbmdlbGRpZ2UgcG9zaXRpZSB2YW4gYmVzdGFuZHNnZWdldmVucyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnZSBibG9rZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkNvbnRyb2xlZXJ0IGVlbiBNaW5peC1iZXN0YW5kc3N5c3RlZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIC1sLCAtLWxpc3QgICAgICAgICBhbGxlIGJlc3RhbmRzbmFtZW4gdG9uZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgIC1hLCAtLWF1dG8gICAgICAgICBhdXRvbWF0aXNjaCByZXBhcmVyZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAgLXIsIC0tcmVwYWlyICAgICAgIGludGVyYWN0aWVmIHJlcGFyZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtcywgLS1zdXBlciAgICAgICAgaW5mb3JtYXRpZSBvdmVyIHN1cGVyYmxvayB0b25lblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAgLW0sIC0tdW5jbGVhcmVkICAgIG1lbGRpbmcgZ2V2ZW4gd2FubmVlciBtb2R1cyBuaWV0IGdld2lzdCB3ZXJkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MworbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAgLWYsIC0tZm9yY2UgICAgICAgIGNvbnRyb2xlIGFmZHdpbmdlblxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChqL24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi9qKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJqXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBpcyBhYW5nZWtvcHBlbGQuXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIldpbHQgdSBlY2h0IGRvb3JnYWFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAiRGUgY29udHJvbGUgaXMgYWZnZWJyb2tlbi5cbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJab25lbnVtbWVyIDwgRUVSU1RFWk9ORSBpbiBiZXN0YW5kICclcycuIgorCisjIEZJWE1FOiBiYWNrdGljaworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlpvbmVudW1tZXIgPj0gWk9ORVMgaW4gYmVzdGFuZCAnJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAiQmxvayB2ZXJ3aWpkZXJlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJMZWVzZm91dDoga2FuIGdlZW4gJ3NlZWsnIGRvZW4gbmFhciBibG9rIGluIGJlc3RhbmQgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJMZWVzZm91dDogc2xlY2h0IGJsb2sgaW4gYmVzdGFuZCAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIioqSW50ZXJuZSBwcm9ncmFtbWFmb3V0Kio6IHBvZ2luZyB0b3Qgc2NocmlqdmVuIG5hYXIgZWVuIHNsZWNodCBibG9rLlxuIgorIkhldCBzY2hyaWpmdmVyem9layBpcyBnZW5lZ2VlcmQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICInc2VlaycgaXMgbWlzbHVrdCBpbiB3cml0ZV9ibG9jaygpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiU2NocmlqZmZvdXQ6IHNsZWNodCBibG9rIGluIGJlc3RhbmQgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo0MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGJsb2NrIG91dCBvZiByYW5nZVxuIgorbXNnc3RyICJXYWFyc2NodXdpbmc6IGhldCBhYW50YWwgaW5vZGVzIGlzIHRlIGdyb290LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAiJ3NlZWsnIGlzIG1pc2x1a3QgaW4gd3JpdGVfc3VwZXJfYmxvY2soKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJrYW4gc3VwZXJibG9rIG5pZXQgc2NocmlqdmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJrYW4gaW5vZGUta2FhcnQgbmlldCBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAia2FuIHpvbmUta2FhcnQgbmlldCBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgImthbiBpbm9kZXMgbmlldCBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGJ1ZmZlciB2b29yIHN1cGVyYmxvayBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjcKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAia2FuIHN1cGVyYmxvayBuaWV0IGxlemVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJvbmdlbGRpZyBtYWdpc2NoIGdldGFsIGluIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJBbGxlZW4gYmxva2tlbi96b25lcyB2YW4gMUsgemlqbiBtb2dlbGlqayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkzCittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAib25nZWxkaWcgJ3Nfbmlub2RlcyctdmVsZCBpbiBzdXBlcmJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NQorbXNnaWQgImJhZCBzX2ltYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJvbmdlbGRpZyAnc19pbWFwX2Jsb2NrcyctdmVsZCBpbiBzdXBlcmJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NworbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIm9uZ2VsZGlnICdzX2ZpcnN0ZGF0YXpvbmUnLXZlbGQgaW4gc3VwZXJibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MDAKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAib25nZWxkaWcgJ3Nfem1hcF9ibG9ja3MnLXZlbGQgaW4gc3VwZXJibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIkthbiBnZWVuIGJ1ZmZlciByZXNlcnZlcmVuIHZvb3IgaW5vZGUta2FhcnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJLYW4gZ2VlbiBidWZmZXIgcmVzZXJ2ZXJlbiB2b29yIHpvbmUta2FhcnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiS2FuIGdlZW4gYnVmZmVyIHJlc2VydmVyZW4gdm9vciBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICJLYW4gZ2VlbiBidWZmZXIgcmVzZXJ2ZXJlbiB2b29yIGlub2RlLWFhbnRhbGxlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiS2FuIGdlZW4gYnVmZmVyIHJlc2VydmVyZW4gdm9vciB6b25lLWFhbnRhbGxlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMyCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJLYW4gaW5vZGUta2FhcnQgbmlldCBsZXplbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkthbiB6b25lLWthYXJ0IG5pZXQgbGV6ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiS2FuIGlub2RlcyBuaWV0IGxlemVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIldhYXJzY2h1d2luZzogRWVyc3RlWm9uZSAhPSBOb3JtYWxlRWVyc3RlWm9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaW5vZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9ra2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRWVyc3RlR2VnZXZlbnNab25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZUdyb290dGU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1heEdyb290dGU9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkJlc3RhbmRzc3lzdGVlbXN0YXR1cz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJuYWFtbGVuZ3RlPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQgaXMgZ2VtYXJrZWVyZCBhbHMgb25nZWJydWlrdCwgbWFhciB3b3JkdCBnZWJydWlrdCBkb29yIGJlc3RhbmQgJyVzJy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJNYXJrZXJlbiBhbHMgZ2VicnVpa3QiCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJIZXQgYmVzdGFuZCAnJXMnIGhlZWZ0IG1vZHVzICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJXYWFyc2NodXdpbmc6IGhldCBhYW50YWwgaW5vZGVzIGlzIHRlIGdyb290LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzY5Cittc2dpZCAicm9vdCBpbm9kZSBpc24ndCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiaG9vZmQtaW5vZGUgaXMgZ2VlbiBtYXAiCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvayBpcyBhbCBlZXJkZXIgZ2VicnVpa3QuICBOdSBpbiBiZXN0YW5kICclcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJXaXNzZW4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkJsb2sgJWQgaW4gYmVzdGFuZCAnJXMnIGlzIGdlbWFya2VlcmQgYWxzIG9uZ2VicnVpa3QuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI2Cittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiQ29ycmlnZXJlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJEZSBtYXAgJyVzJyBiZXZhdCBlZW4gb25nZWxkaWcgaW5vZGUtbnVtbWVyIHZvb3IgYmVzdGFuZCAnJS4qcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBWZXJ3aWpkZXJlbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczogb25nZWxkaWdlIG1hcDogJy4nIGlzIG5pZXQgZWVyc3RlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk5MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogb25nZWxkaWdlIG1hcDogJy4uJyBpcyBuaWV0IHR3ZWVkZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiKippbnRlcm5lIHByb2dyYW1tYWZvdXQqKiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiBvbmdlbGRpZ2UgbWFwOiBncm9vdHRlIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiBvbmdlbGRpZ2UgbWFwOiBvbmdlbGRpZ2UgJ2lfem9uZSc7IGdlYnJ1aWsgJy0tcmVwYWlyJyBvbSB0ZSBoZXJzdGVsbGVuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzgKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiJ3NlZWsnIGlzIG1pc2x1a3QgaW4gYmFkX3pvbmUoKSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiTW9kdXMgdmFuIGlub2RlICVsdSBpcyBuaWV0IGdld2lzdC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUgaXMgb25nZWJydWlrdCwgbWFhciBnZW1hcmtlZXJkIGFscyBnZWJydWlrdCBpbiBkZSBiaXRrYWFydC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWx1IGlzIGdlYnJ1aWt0LCBtYWFyIG5pZXQgYWxzIHpvZGFuaWcgZ2VtYXJrZWVyZCBpbiBkZSBiaXRrYWFydC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiTWFya2VyZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kZSAlbHUgKG1vZHVzID0gJTA3byksIGlfbmxpbmtzPSVkLCBnZXRlbGQ9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgImlfbmxpbmtzIG9wIGdldGVsZCBhYW50YWwgaW5zdGVsbGVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmUgJWx1IGlzIGdlbWFya2VlcmQgYWxzIGluIGdlYnJ1aWssIG1hYXIgZ2VlbiBiZXN0YW5kIGdlYnJ1aWt0IGhldC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiTWFya2VyaW5nIHZlcndpamRlcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25lICVsdTogaW4gZ2VicnVpaywgZ2V0ZWxkPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab25lICVsdTogbmlldCBpbiBnZWJydWlrLCBnZXRlbGQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJvbmdlbGRpZ2UgaW5vZGUtZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMwMQorbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJvbmdlbGRpZ2UgdjItaW5vZGUtZ3Jvb3R0ZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgInZvb3IgaW50ZXJhY3RpZXZlIHJlcGFyYXRpZXMgaXMgZWVuIHRlcm1pbmFsIHZlcmVpc3QiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCBvcGVuZW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgaXMgc2Nob29uLCBnZWVuIGNvbnRyb2xlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiR2Vkd29uZ2VuIGJlc3RhbmRzc3lzdGVlbWNvbnRyb2xlIHZhbiAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiQmVzdGFuZHNzeXN0ZWVtIG9wICVzIGlzIHZlcnZ1aWxkLCBlZW4gY29udHJvbGUgaXMgbm9kaWcuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpbm9kZXMgZ2VicnVpa3QgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uZXMgZ2VicnVpa3QgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIGdld29uZSBiZXN0YW5kZW5cbiIKKyIlNmQgbWFwcGVuXG4iCisiJTZkIGJ5dGUtYXBwYXJhdGVuXG4iCisiJTZkIGJsb2stYXBwYXJhdGVuXG4iCisiJTZkIGtvcHBlbGluZ2VuXG4iCisiJTZkIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuXG4iCisiLS0tLS0tXG4iCisiJTZkIGJlc3RhbmRlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJCRVNUQU5EU1NZU1RFRU0gSVMgVkVSQU5ERVJEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDMyIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzOAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1NDEgZGlzay11dGlscy9wYXJ0eC5jOjEwNTggZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTE0CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDAwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MSBzeXMtdXRpbHMvZG1lc2cuYzo2NjEgc3lzLXV0aWxzL3dkY3RsLmM6MzQ3CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTIgdGVybS11dGlscy9zY3JpcHQuYzoyOTggdGVybS11dGlscy9zY3JpcHQuYzozNzUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4NyB0ZXh0LXV0aWxzL3BnLmM6MTI1NgorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAic2NocmlqdmVuIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogaXMgbWlzc2NoaWVuIGdlZW4gSVNPLWJlc3RhbmRzc3lzdGVlbSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICJsZWVzZm91dCBpbiAlcyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlY3RvciBjb3VudDogJWQsIHNlY3RvciBzaXplOiAlZFxuIgorbXNnc3RyICJhYW50YWwgc2VjdG9yZW46ICVkLCBzZWN0b3Jncm9vdHRlOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPElTTzk2NjAtYmVzdGFuZD5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlRvb250IGRlIGxlbmd0ZSB2YW4gZWVuIElTTy05NjYwLWJlc3RhbmRzc3lzdGVlbS5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAgLWQsIC0tZGl2aXNvcj08Z2V0YWw+ICBkZSBsZW5ndGUgdmFuIGhldCBJU08tYmVzdGFuZCBkb29yIDxnZXRhbD4gZGVsZW5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAgLXgsIC0tc2VjdG9ycyAgICAgICAgICBoZXQgYWFudGFsIHNlY3RvcmVuIGVuIGRlIHNlY3Rvcmdyb290dGUgdG9uZW5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2UgZGVsZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSBhcHBhcmFhdCBbYmxva2tlbmFhbnRhbF1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc4Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1hYWt0IGVlbiBTQ08gQkZTLWJlc3RhbmRzc3lzdGVlbSBhYW4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aWVzOlxuIgorIiAgLU4sIC0taW5vZGVzPUdFVEFMICB0ZSBnZWJydWlrZW4gYWFudGFsIGlub2Rlc1xuIgorIiAgLVYsIC0tdm5hbWU9TkFBTSAgICB0ZSBnZWJydWlrZW4gdm9sdW1lbm5hYW1cbiIKKyIgIC1GLCAtLWZuYW1lPU5BQU0gICAgdGUgZ2VicnVpa2VuIGJlc3RhbmRzc3lzdGVlbW5hYW1cbiIKKyIgIC12LCAtLXZlcmJvc2UgICAgICAgd2VlcmdldmVuIHdhdCBlciBnZWRhYW4gd29yZHRcbiIKKyIgIC1jICAgICAgICAgICAgICAgICAgKGRlemUgb3B0aWUgd29yZHQgc3RpbHp3aWpnZW5kIGdlbmVnZWVyZClcbiIKKyIgIC1sICAgICAgICAgICAgICAgICAgKGRlemUgb3B0aWUgd29yZHQgc3RpbHp3aWpnZW5kIGdlbmVnZWVyZClcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW47IGhpZXJ2b29yXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbW9ldCAnLVYnIGRlIGVuaWdlIG9wdGllIHppam5cbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJvbmdlbGRpZyBhYW50YWwgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgInZvbHVtZW5uYWFtIGlzIHRlIGxhbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiYmVzdGFuZHNzeXN0ZWVtbmFhbSBpcyB0ZSBsYW5nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAib25nZWxkaWdlIGJsb2trZW5hYW50YWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJrYW4gZ3Jvb3R0ZSB2YW4gJXMgbmlldCBhY2h0ZXJoYWxlbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYXJndW1lbnQgdm9vciBibG9ra2VuIGlzIHRlIGdyb290IC0tIG1heGltdW0gaXMgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgInRlIHZlZWwgaW5vZGVzIC0tIG1heGltdW0gaXMgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIm5pZXQgZ2Vub2VnIHJ1aW10ZTogbWluc3RlbnMgJWxsdSBibG9ra2VuIG5vZGlnIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiQXBwYXJhYXQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiVm9sdW1lbjogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiQmVzdGFuZHNzeXN0ZWVtbmFhbTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9rZ3Jvb3R0ZTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSW5vZGVzOiAlbGQgKGluIDEgYmxvaylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2trZW4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIkJsb2trZW46ICVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUtZWluZGU6ICVkLCBHZWdldmVuc2VpbmRlOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjYyCittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJmb3V0IGJpaiBzY2hyaWp2ZW4gdmFuIHN1cGVyYmxvayIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZm91dCBiaWogc2NocmlqdmVuIHZhbiBlZXJzdGUgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJmb3V0IGJpaiBzY2hyaWp2ZW4gdmFuIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiJ3NlZWsnLWZvdXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImZvdXQgYmlqIHNjaHJpanZlbiB2YW4gLi1pdGVtIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiZm91dCBiaWogc2NocmlqdmVuIHZhbiAuLi1pdGVtIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgImZvdXQgYmlqIHNsdWl0ZW4gdmFuICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICIiCisiICAlcyBbb3B0aWVzXSBbLXQgPGJlc3RhbmRzc3lzdGVlbXNvb3J0Pl0gW2Jlc3RhbmRzc3lzdGVlbW9wdGllc11cbiIKKyIgICAgICAgICAgICAgICA8YXBwYXJhYXQ+IFs8Z3Jvb3R0ZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1hYWt0IGVlbiBMaW51eC1iZXN0YW5kc3N5c3RlZW0gYWFuLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAgLXQsIC0tdHlwZT08c29vcnQ+ICBiZXN0YW5kc3N5c3RlZW1zb29ydCAod2FubmVlciBuaWV0IGdlZ2V2ZW46IGV4dDIpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgIGJzLW9wdGllcyAgICAgICBhcmd1bWVudGVuIHZvb3IgZGUgZmVpdGVsaWprZSBiZXN0YW5kc3lzdGVlbW1ha2VyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8YXBwYXJhYXQ+ICAgICAgIHBhZCBuYWFyIHRlIGdlYnJ1aWtlbiBhcHBhcmFhdFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgIDxncm9vdHRlPiAgICAgICBhYW50YWwgdGUgZ2VicnVpa2VuIGJsb2trZW4gb3AgaGV0IGFwcGFyYWF0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgIC1WLCAtLXZlcmJvc2UgICAgICAgd2VlcmdldmVuIHdhdCBlciBnZWRhYW4gd29yZHQ7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbWVlcmRlcmUgJy1WJ3MgdmVyb29yemFrZW4gZWVuIGVmZmVjdGxvb3MgZG9lbi1hbHNvZlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJ1aXR2b2VyZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorIkdlYnJ1aWs6ICAlcyBbLWhdIFstdl0gWy1iIGJsb2tncm9vdHRlXSBbLWUgZWRpdGllXSBbLWkgYmVzdGFuZF1cbiIKKyIgICAgICAgICAgICAgICAgIFstTiBlbmRpYW5dIFstbiBuYWFtXSBtYXBuYWFtIHVpdHZvZXJiZXN0YW5kXG4iCisiXG4iCisiIC1oICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuXG4iCisiIC12ICAgICAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorIiAtViAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW5cbiIKKyIgLUUgICAgICAgICAgdmFuIGFsbGUgd2FhcnNjaHV3aW5nZW4gZm91dGVuIG1ha2VuIChtZXQgbmlldC1udWwgYWZzbHVpdHdhYXJkZSlcbiIKKyJcbiIKKyIgLWIgQkxPS0dST09UVEUgIGRlemUgYmxva2dyb290dGUgZ2VicnVpa2VuOyBtb2V0IGdlbGlqayB6aWpuIGFhbiBwYWdpbmFncm9vdHRlXG4iCisiIC1lIEVESVRJRSAgIGVkaXRpZW51bW1lciBpbnN0ZWxsZW4gKGRlZWwgdmFuIGJlc3RhbmRzc3lzdGVlbS1JRClcbiIKKyIgLWkgQkVTVEFORCAgZWVuIGJlc3RhbmRzYWZiZWVsZGluZyBpbnZvZWdlbiBpbiBoZXQgYmVzdGFuZHNzeXN0ZWVtXG4iCisiIC1OIEVORElBTiAgIHRlIGdlYnJ1aWtlbiBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3Q7IHN0YW5kYWFyZCBpcyBob3N0KVxuIgorIiAtbiBOQUFNICAgICB0ZSBnZWJydWlrZW4gbmFhbSB2YW4gJ2NyYW1mcyctYmVzdGFuZHNzeXN0ZWVtXG4iCisiIC1wICAgICAgICAgIG9wdnVsbGVuIG1ldCAlZCBieXRlcyB2b29yIG9wc3RhcnRjb2RlXG4iCisiIC1zICAgICAgICAgIChvdWRlIG9wdGllLCB3b3JkdCBnZW5lZ2VlcmQpIG1hcGluZ2FuZ2VuIHNvcnRlcmVuXG4iCisiIC16ICAgICAgICAgIGV4cGxpY2lldGUgZ2F0ZW4gbWFrZW5cbiIKKyJcbiIKKyIgbWFwbmFhbSA9IGJhc2lzbWFwIHZhbiBoZXQgaW4gdGUgcGFra2VuIGJlc3RhbmRzc3lzdGVlbVxuIgorIiB1aXR2b2VyYmVzdGFuZCA9IHRlIGdlYnJ1aWtlbiB1aXR2b2VyYmVzdGFuZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rKCkgaXMgbWlzbHVrdDogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJrYW4gbWFwICVzIG5pZXQgbGV6ZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDIKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAiYmVzdGFuZHNzeXN0ZWVtIGlzIHRlIGdyb290IC0tIGdlc3RvcHQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJPRVBTOiBibG9rIGlzIFwiZ2Vjb21wcmltZWVyZFwiIHRvdCA+IDIqYmxva2xlbmd0ZSAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKKworIyBGSVhNRTogc3RhbmRhcmRpemUgWFhYCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJrYW4gYmVzdGFuZCAlcyBuaWV0IHNsdWl0ZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBlZGl0aWVudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIm9uZ2VsZGlnZSBlbmRpYW4td2FhcmRlOyBtYWcgemlqbiAnYmlnJywgJ2xpdHRsZScgb2YgJ2hvc3QnIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiIgorIldhYXJzY2h1d2luZzogZGUgZ2VzY2hhdHRlIGJlbm9kaWdkZSBncm9vdHRlIGlzICVsbGQgTUIgKGJvdmVuZ3JlbnMpLFxuIgorIm1hYXIgZGUgbWF4aW1hbGUgYWZiZWVsZGluZ3Nncm9vdHRlIGlzICV1IE1CLlxuIgorIkRpdCBnYWF0IG1pc3NjaGllbiBuaWV0IGx1a2tlbi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJpbmxlemVuIHZhbiBST00tYWZiZWVsZGluZyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIkluZ2V2b2VnZDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIk1hcGdlZ2V2ZW5zOiAlemQgYnl0ZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIkFsbGVzOiAlemQga2lsb2J5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJTdXBlcmJsb2s6ICV6ZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JDOiAleFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIiIKKyJlciBpcyBuaWV0IGdlbm9lZyBydWltdGUgZ2VyZXNlcnZlZXJkIHZvb3IgUk9NLWFmYmVlbGRpbmdcbiIKKyIoJWxsZCBpcyBnZXJlc2VydmVlcmQsICV6dSBnZWJydWlrdCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlNjaHJpanZlbiB2YW4gUk9NLWFmYmVlbGRpbmcgaXMgbWlzbHVrdCAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIlJPTS1hZmJlZWxkaW5nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJXYWFyc2NodXdpbmc6IGVyIHppam4gYmVzdGFuZHNuYW1lbiBhZmdla2FwdCB0b3QgJXUgYnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJXYWFyc2NodXdpbmc6IGVyIHppam4gYmVzdGFuZGVuIG92ZXJnZXNsYWdlbiB2YW53ZWdlIGZvdXRlbi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJXYWFyc2NodXdpbmc6IGVyIHppam4gYmVzdGFuZHNncm9vdHRlcyBhZmdla2FwdCB0b3QgJWx1IE1CIChtaW51cyAxIGJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisiV2FhcnNjaHV3aW5nOiBlciB6aWpuIFVJRCdzIGFmZ2VrYXB0IHRvdCAldSBiaXRzLlxuIgorIihEaXQga2FuIGVlbiB2ZWlsaWdoZWlkc3Byb2JsZWVtIHppam4uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisiV2FhcnNjaHV3aW5nOiBlciB6aWpuIEdJRCdzIGFmZ2VrYXB0IHRvdCAldSBiaXRzLlxuIgorIihEaXQga2FuIGVlbiB2ZWlsaWdoZWlkc3Byb2JsZWVtIHppam4uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiV0FBUlNDSFVXSU5HOiBlciB6aWpuIGFwcGFyYWF0bnVtbWVycyBhZmdla2FwdCB0b3QgJXUgYml0cy4gIERpdCBiZXRla2VudFxuIgorInplZXIgd2FhcnNjaGlqbmxpamsgZGF0IHNvbW1pZ2UgYXBwYXJhYXRiZXN0YW5kZW4gbmlldCBqdWlzdCB6dWxsZW4gemlqbi4iCisKKyMgRklYTUU6IHVzZSBhbmd1bGFyCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSAvZGV2LzxuYWFtPiBbPGJsb2trZW5hYW50YWw+XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgIC0xICAgICAgICAgICAgICAgICAgICAgICAgIE1pbml4IHZlcnNpZSAxIGdlYnJ1aWtlblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgIC0yLCAtdiAgICAgICAgICAgICAgICAgICAgIE1pbml4IHZlcnNpZSAyIGdlYnJ1aWtlblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgIC0zICAgICAgICAgICAgICAgICAgICAgICAgIE1pbml4IHZlcnNpZSAzIGdlYnJ1aWtlblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAgLW4sIC0tbmFtZWxlbmd0aCA8Z2V0YWw+ICAgbWF4aW11bWxlbmd0ZSB2YW4gYmVzdGFuZHNuYW1lblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDQKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICAtaSwgLS1pbm9kZXMgPGdldGFsPiAgICAgICBhYW50YWwgdGUgZ2VicnVpa2VuIGlub2RlcyB2b29yIGJlc3RhbmRzc3lzdGVlbVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgIGhldCBhcHBhcmFhdCBvcCBzbGVjaHRlIGJsb2trZW4gY29udHJvbGVyZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiICAtbCwgLS1iYWRibG9ja3MgPGJlc3RhbmQ+ICBsaWpzdCBtZXQgc2xlY2h0ZSBibG9ra2VuIHVpdCBkaXQgYmVzdGFuZCBsZXplblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6ICdzZWVrJyBuYWFyIG9wc3RhcnRibG9rIGlzIG1pc2x1a3QgaW4gd3JpdGVfdGFibGVzKCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczoga2FuIG9wc3RhcnRzZWN0b3IgbmlldCB3aXNzZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogJ3NlZWsnIGlzIG1pc2x1a3QgaW4gd3JpdGVfdGFibGVzKCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIlczoga2FuIHN1cGVyYmxvayBuaWV0IHNjaHJpanZlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczogc2NocmlqdmVuIHZhbiBpbm9kZS1rYWFydCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IHNjaHJpanZlbiB2YW4gem9uZS1rYWFydCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIiVzOiBzY2hyaWp2ZW4gdmFuIGlub2RlcyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogJ3NlZWsnIGlzIG1pc2x1a3QgaW4gd3JpdGVfYmxvY2soKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBzY2hyaWp2ZW4gaXMgbWlzbHVrdCBpbiB3cml0ZV9ibG9jaygpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk4CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiB0ZSB2ZWVsIHNsZWNodGUgYmxva2tlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlczogb252b2xkb2VuZGUgZ29lZGUgYmxva2tlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorIkVlcnN0ZSBkYXRhYmxvayBpcyBvcCAlamQsIGVuIGRhdCBpcyB0ZSB2ZXIgKG1heGltdW0gaXMgJWQpLlxuIgorIlByb2JlZXIgbWluZGVyIGlub2RlcyBvcCB0ZSBnZXZlbiB2aWEgLS1pbm9kZXMgPGdldGFsPi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIlbHUgaW5vZGVcbiIKK21zZ3N0clsxXSAiJWx1IGlub2Rlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IGJsb2tcbiIKK21zZ3N0clsxXSAiJWx1IGJsb2trZW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJab25lR3Jvb3R0ZT0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTWF4R3Jvb3R0ZT0lenVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiVzOiAnc2VlaycgaXMgbWlzbHVrdCB0aWpkZW5zIHRlc3RlbiB2YW4gYmxva2tlbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJWcmVlbWRlIHdhYXJkZW4gaW4gZG9fY2hlY2soKTogd2FhcnNjaGlqbmxpamsgZWVuIGludGVybmUgcHJvZ3JhbW1hZm91dFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXM6ICdzZWVrJyBpcyBtaXNsdWt0IGluIGNoZWNrX2Jsb2NrcygpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgIiVzOiBzbGVjaHRlIGJsb2trZW4gdsOzw7NyIGdlZ2V2ZW5zZ2ViaWVkOiBrYW4gZ2VlbiBiZXN0YW5kc3N5c3RlZW0gbWFrZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0MSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQgc2xlY2h0IGJsb2tcbiIKK21zZ3N0clsxXSAiJWQgc2xlY2h0ZSBibG9ra2VuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBrYW4gc2xlY2h0ZWJsb2trZW5iZXN0YW5kIG5pZXQgb3BlbmVuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiaW52b2VyZm91dCBpbiBzbGVjaHRibG9rbnVtbWVyIG9wIHJlZ2VsICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiBrYW4gc2xlY2h0ZWJsb2trZW5iZXN0YW5kIG5pZXQgbGV6ZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAiYmxva2dyb290dGUgaXMga2xlaW5lciBkYW4gZnlzaWVrZSBzZWN0b3Jncm9vdHRlIHZhbiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAia2FuIGdyb290dGUgdmFuICVzIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIlczogZ2V2cmFhZ2RlIGJsb2trZW4gKCVsbHUpIG92ZXJzdGlqZ3QgYmVzY2hpa2JhcmUgYmxva2tlbiAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGFhbnRhbCBibG9ra2VuIGlzIHRlIGtsZWluIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MjUgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAib25nZWxkaWdlIG5hYW1zbGVuZ3RlOiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kZSBNaW5peC1iZXN0YW5kc3N5c3RlZW12ZXJzaWU6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIm9wdGllICctdicgaXMgbmlldCBlZW5kdWlkaWc7IGdlYnJ1aWsgbGlldmVyICctMiciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgIm9udGxlZGVuIHZhbiBtYXhpbXVtbGVuZ3RlIHZhbiBiZXN0YW5kc25hbWVuIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gYWFudGFsIGlub2RlcyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGFhbnRhbCBibG9ra2VuIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiJXMgaXMgYWFuZ2Vrb3BwZWxkOyB6YWwgaGllciBnZWVuIGJlc3RhbmRzc3lzdGVlbSBtYWtlbiEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAiT25nZWxkaWdlIGRvb3IgZ2VicnVpa2VyIGFhbmdlZ2V2ZW4gcGFnaW5hZ3Jvb3R0ZSAldSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiRGUgb3BnZWdldmVuIHBhZ2luYWdyb290dGUgJWQgd29yZHQgZ2VicnVpa3QsIGluIHBsYWF0cyB2YW4gc3lzdGVlbXdhYXJkZSAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiTGFiZWwgaXMgYWZnZWthcHQuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJnZWVuIGxhYmVsLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAiZ2VlbiBVVUlEXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSA8YXBwYXJhYXQ+IFs8Z3Jvb3R0ZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUzCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJQcmVwYXJlZXJ0IGVlbiBMaW51eC13aXNzZWxnZWhldWdlbmdlYmllZC5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aWVzOlxuIgorIiAgLWMsIC0tY2hlY2sgICAgICAgICAgICAgIGVlcnN0IG9wIHNsZWNodGUgYmxva2tlbiBjb250cm9sZXJlblxuIgorIiAgLWYsIC0tZm9yY2UgICAgICAgICAgICAgIHRvZXN0YWFuIGRhdCB3aXNzZWxnZWJpZWQgZ3JvdGVyIGlzIGRhbiBhcHBhcmFhdFxuIgorIiAgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgIHRlIGdlYnJ1aWtlbiBsYWJlbFxuIgorIiAgLXAsIC0tcGFnZXNpemUgR1JPT1RURSAgIHRlIGdlYnJ1aWtlbiBwYWdpbmFncm9vdHRlIChpbiBieXRlcylcbiIKKyIgIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICB0ZSBnZWJydWlrZW4gVVVJRFxuIgorIiAgLXYsIC0tc3dhcHZlcnNpb24gR0VUQUwgIHRlIGdlYnJ1aWtlbiB3aXNzZWxnZWhldWdlbnZlcnNpZVxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIHByb2dyYW1tYXZlcnNpZSB0b25lbiBlbiBzdG9wcGVuXG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAidGUgdmVlbCBzbGVjaHRlIHBhZ2luYSdzOiAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICInc2VlaycgaXMgbWlzbHVrdCBpbiBjaGVja19ibG9ja3MoKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IHNsZWNodGUgcGFnaW5hXG4iCittc2dzdHJbMV0gIiVsdSBzbGVjaHRlIHBhZ2luYSdzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIgdm9vciBuaWV1d2UgbGliYmxraWQtc29uZGUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgImthbiBhcHBhcmFhdCBuaWV0IGFhbiBsaWJibGtpZC1zb25kZSB0b2V3aWp6ZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIndhYXJzY2h1d2luZzogaGV0IGNvbnRyb2xlcmVuIG9wIHNsZWNodGUgYmxva2tlbiBpbiBlZW4gd2lzc2VsZ2VoZXVnZW5iZXN0YW5kIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgInRlcnVnc3BvZWxlbiB2YW4gd2lzc2VsZ2VoZXVnZW5hcHBhcmFhdCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MgorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJ3aXNzZW4gdmFuIGJvb3RiaXRzLXNlY3RvcmVuIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiB3YWFyc2NodXdpbmc6IHdpc3NlbiB2YW4gb3VkZSAlcy12aW5nZXJhZmRydWsuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXM6IHdhYXJzY2h1d2luZzogYm9vdGJpdHMtc2VjdG9yZW4gbmlldCB3aXNzZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMtcGFydGl0aWV0YWJlbCBnZWRldGVjdGVlcmQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKGdlY29tcGlsZWVyZCB6b25kZXIgJ2xpYmJsa2lkJykuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJHZWJydWlrICctZicgb20gY3JlYXRpZSBhZiB0ZSBkd2luZ2VuLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczogc2NocmlqdmVuIHZhbiB2aW5nZXJhZmRydWtwYWdpbmEgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODIKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBwYWdpbmFncm9vdHRlIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiB2ZXJzaWVudW1tZXIgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAid2lzc2VsZ2VoZXVnZW52ZXJzaWUgJWQgd29yZHQgbmlldCBvbmRlcnN0ZXVuZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgIiIKKyJ3YWFyc2NodXdpbmc6IG9wdGllICctVScgd29yZHQgZ2VuZWdlZXJkXG4iCisiKFVVSUQncyB3b3JkZW4gZG9vciAlcyBuaWV0IG9uZGVyc3RldW5kKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTYKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAibW9tZW50ZWVsIHdvcmR0IHNsZWNodHMgw6nDqW4gYXBwYXJhYXRhcmd1bWVudCBvbmRlcnN0ZXVuZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiZm91dDoga2FuIFVVSUQgbmlldCBvbnRsZWRlbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgImZvdXQ6IE5lcmdlbnMgb20gd2lzc2VsZ2VoZXVnZW4gb3AgaW4gdGUgc3RlbGxlbj8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYmxva2tlbmFhbnRhbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiZm91dDogZ3Jvb3R0ZSAlbGx1IEtpQiBpcyBncm90ZXIgZGFuIGFwcGFyYWF0Z3Jvb3R0ZSAoJTxQUkl1NjQ+IEtpQikiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiZm91dDogd2lzc2VsZ2VoZXVnZW4gbW9ldCBtaW5zdGVucyAlbGQgS2lCIHppam4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICJ3YWFyc2NodXdpbmc6IHdpc3NlbGdlaGV1Z2VuIGlzIGFmZ2VrYXB0IHRvdCAlbGx1IEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICJmb3V0OiAlcyBpcyBhYW5nZWtvcHBlbGQ7IHphbCBoaWVyIGdlZW4gd2lzc2VsZ2VoZXVnZW4gbWFrZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IG9udmVpbGlnZSB0b2VnYW5nc3JlY2h0ZW46ICUwNG8gLS0gYWFuZ2VyYWRlbiB3b3JkdDogJTA0byIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IG9udmVpbGlnZSBiZXN0YW5kc2VpZ2VuYWFyICVkIC0tIDAgKHJvb3QpIHdvcmR0IGFhbmdlcmFkZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJJbnN0ZWxsZW4gdmFuIHdpc3NlbGdlaGV1Z2VuIGlzIG1pc2x1a3Q6IG9ubGVlc2JhYXIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJJbnN0ZWxsZW4gdmFuIHdpc3NlbGdlaGV1Z2VuLCB2ZXJzaWUgJWQsIGdyb290dGUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiVzOiBrYW4gZ2VlbiBTRUxpbnV4LWJlc3RhbmRzbGFiZWwgdmVya3JpamdlbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgImthbiB1aXQgaGV0IHBhZCBnZWVuIGNvbnRleHQgYmVwYWxlbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImthbiBnZWVuIG5pZXV3ZSBTRUxpbnV4LWNvbnRleHQgYWFubWFrZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIyCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImthbiBnZWVuIG5pZXV3ZSBTRUxpbnV4LWNvbnRleHQgYmVyZWtlbmVuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAia2FuICVzIG5pZXQgaGVybGFiZWxlbiBuYWFyICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJwYXJ0aXRpZW51bW1lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJiZWdpbiB2YW4gZGUgcGFydGl0aWUgKGluIHNlY3RvcmVuKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiZWluZGUgdmFuIGRlIHBhcnRpdGllIChpbiBzZWN0b3JlbikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJhYW50YWwgc2VjdG9yZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgImxlZXNiYXJlIGdyb290dGUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorbXNnaWQgInBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJwYXJ0aXRpZW5hYW0iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJwYXJ0aXRpZS1VVUlEIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgInBhcnRpdGlldGFiZWx0eXBlIChkb3MsIGdwdCwgLi4uKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgInBhcnRpdGlldmxhZ2dlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgInBhcnRpdGlldHlwZSAoaGV4LCBvZiBVVUlELCBvZiB0ZWtlbnJlZWtzKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImluaXRpYWxpc2VyZW4gdmFuICdsb29wY3h0JyBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBrYW4gZ2VlbiBvbmdlYnJ1aWt0IGx1cy1hcHBhcmFhdCB2aW5kZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiRXIgd29yZHQgZ2Vwcm9iZWVyZCBvbSAnJXMnIGFscyBsdXMtYXBwYXJhYXQgdGUgZ2VicnVpa2VuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczoga2FuIGFjaHRlcmxpZ2dlbmQgYmVzdGFuZCBuaWV0IGluc3RlbGxlbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGluc3RlbGxlbiB2YW4gbHVzLWFwcGFyYWF0IGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIm9uYmVrZW5kZSBrb2xvbTogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IGthbiBwYXJ0aXRpZW51bW1lciBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJnZWdldmVuIGJlcmVpayA8JWQ6JWQ+IGlzIG9uemlubmlnIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICJoZXJ0ZWxsaW5nOiBtYXhpbXVtIHBhcnRpdGllbnVtbWVyPSVkLCBsYWFnc3RlPSVkLCBob29nc3RlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGZvdXQgYmlqIHZlcndpamRlcmVuIHZhbiBwYXJ0aXRpZSAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZvdXQgYmlqIHZlcndpamRlcmVuIHZhbiBwYXJ0aXRpZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogcGFydGl0aWUgIyVkIGlzIHZlcndpamRlcmRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAjJWQgYmVzdGFhdCBuaWV0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogdmVyd2lqZGVyZW4gdmFuIHBhcnRpdGllICMlZCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogZm91dCBiaWogdG9ldm9lZ2VuIHZhbiBwYXJ0aXRpZSAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBmb3V0IGJpaiB0b2V2b2VnZW4gdmFuIHBhcnRpdGllcyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAjJWQgaXMgdG9lZ2V2b2VnZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiB0b2V2b2VnZW4gdmFuIHBhcnRpdGllICMlZCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBmb3V0IGJpaiBiaWp3ZXJrZW4gdmFuIHBhcnRpdGllICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZm91dCBiaWogYmlqd2Vya2VuIHZhbiBwYXJ0aXRpZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiBlciBpcyBnZWVuIHBhcnRpdGllICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAjJWQgaXMgdmFuIGdyb290dGUgZ2V3aWp6aWdkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogYmlqd2Vya2VuIHZhbiBwYXJ0aXRpZSAjJWQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcmVuLCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgdWl0dm9lcnJlZ2VsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICJpbml0aWFsaXNlcmVuIHZhbiBibGtpZC1maWx0ZXIgdm9vciAnJXMnIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IGxlemVuIHZhbiBwYXJ0aXRpZXRhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiJXM6ICclcyctcGFydGl0aWV0YWJlbCBnZWRldGVjdGVlcmRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IHBhcnRpdGlldGFiZWwgbWV0IG51bCBwYXJ0aXRpZXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiAgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8TjpNPiB8IDxwYXJ0aXRpZT5dIDxhcHBhcmFhdD5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICJWZXJ0ZWx0IGRlIGtlcm5lbCBvdmVyIGhldCBiZXN0YWFuIGVuIGRlIG51bW1lcmluZyB2YW4gcGFydGl0aWVzLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgIC1hLCAtLWFkZCAgICAgICAgICAgIGdlZ2V2ZW4gcGFydGl0aWVzIChvZiBhbGxlKSB0b2V2b2VnZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiICAtZCwgLS1kZWxldGUgICAgICAgICBnZWdldmVuIHBhcnRpdGllcyAob2YgYWxsZSkgdmVyd2lqZGVyZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiICAtdSwgLS11cGRhdGUgICAgICAgICBnZWdldmVuIHBhcnRpdGllcyAob2YgYWxsZSkgYmlqd2Vya2VuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiICAtcywgLS1zaG93ICAgICAgICAgICBwYXJ0aXRpZXMgdG9uZW5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MCBzeXMtdXRpbHMvbHNtZW0uYzo1MDUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtYiwgLS1ieXRlcyAgICAgICAgICBncm9vdHRlIGluIGJ5dGVzIHdlZXJnZXZlbiBpbiBwbGFhdHMgdmFuIGluIGxlZXNiYXJlIHZvcm1cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAgLWcsIC0tbm9oZWFkaW5ncyAgICAgYmlqICctLXNob3cnIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgIC1uLCAtLW5yIDxOOk0+ICAgICAgIHRlIGdlYnJ1aWtlbiBiZXJlaWsgdmFuIHBhcnRpdGllcyAoYmlqdm9vcmJlZWxkICctbiAyOjQnKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgIHdlZXIgdGUgZ2V2ZW4gdWl0dm9lcmtvbG9tbWVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtUCwgLS1wYWlycyAgICAgICAgICB1aXR2b2VyIHByb2R1Y2VyZW4gaW4gZGUgdm9ybSB2YW4gc2xldXRlbD1cIndhYXJkZVwiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1yLCAtLXJhdyAgICAgICAgICAgIHJhdXdlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAgLWIsIC0tc2VjdG9yLXNpemUgPGdldGFsPiAgZ3Jvb3R0ZSB2YW4gZnlzaWVrZSBlbiBsb2dpc2NoZSBzZWN0b3JcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiICAtdCwgLS10eXBlIDx0eXBlPiAgICB0ZSBnZWJydWlrZW4gcGFydGl0aWV0eXBlICgnZG9zJywgJ2JzZCcsICdzb2xhcmlzJywgLi4uKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0LXR5cGVzICAgICBsaXN0IHN1cHBvcnRlZCBwYXJ0aXRpb24gdHlwZXMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtVCwgLS1saXN0LXR5cGVzICAgIGJla2VuZGUgcGFydGl0aWV0eXBlbiBvcHNvbW1lbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIm9udGxlZGVuIHZhbiBiZXJlaWsgaW4gJy0tbnIgPE0tTj4nIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIm5hYW0gdmFuIHBhcnRpdGllIGVuIHNjaGlqZiBrb21lbiBuaWV0IG92ZXJlZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICI8cGFydGl0aWU+IGVuIG9wdGllICctLW5yJyBnYWFuIG5pZXQgc2FtZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpdGllOiAlcywgc2NoaWpmOiAlcywgb25kZXJncmVuczogJWQsIGJvdmVuZ3JlbnM6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBrYW4gcGFydGl0aWVzIG5pZXQgdmVyd2lqZGVyZW4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBnZXBhcnRpdGlvbmVlcmRlIGx1cy1hcHBhcmF0ZW4gd29yZGVuIG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIiVzOiBpbml0aWFsaXNlcmVuIHZhbiBibGtpZC1zb25kZSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisiICAlMSRzICUyJHNyYXdOIDxob29mZG51bW1lcj4gPHN1Ym51bW1lcj5cbiIKKyIgICUxJHMgJTIkc3Jhd04gL2Rldi88Ymxva2FwcGFyYWF0PlxuIgorIiAgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1NworbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiQmluZHQgZWVuIHJhdXcgYnl0ZS1hcHBhcmFhdCBhYW4gZWVuIGJsb2stYXBwYXJhYXQuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWVyeSAgICAgYmluZGluZyB0b25lbiBpbiBwbGFhdHMgdmFuIGluc3RlbGxlblxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1hLCAtLWFsbCAgICAgIGFsbGUgYmVzdGFhbmRlICdyYXcnLWFwcGFyYXRlbiBsYW5nc2xvcGVuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorIkFwcGFyYWF0ICclcycgaXMgZGUgJ3JhdyctYmVzdHVyaW5nO1xuIgorIihnZWJydWlrIHJhd04sIHdhYXIgTiBncm90ZXIgaXMgZGFuIG51bCkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIkthbiBibG9rLWFwcGFyYWF0ICclcycgbmlldCBsb2thbGlzZXJlbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJBcHBhcmFhdCAnJXMnIGlzIGdlZW4gYmxvay1hcHBhcmFhdCIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTYgZGlzay11dGlscy9yYXcuYzoxOTkgc3lzLXV0aWxzL2lwY3JtLmM6MzUyCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjYgc3lzLXV0aWxzL2lwY3JtLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gYXJndW1lbnQgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiS2FuIGhvb2ZkLSdyYXcnLWFwcGFyYWF0ICclcycgbmlldCBvcGVuZW4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJLYW4gJ3JhdyctYXBwYXJhYXQgJyVzJyBuaWV0IGxva2FsaXNlcmVuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiJ3JhdyctYXBwYXJhYXQgJyVzJyBpcyBnZWVuIGJ5dGUtYXBwYXJhYXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIkFwcGFyYWF0ICclcycgaXMgZ2VlbiAncmF3Jy1hcHBhcmFhdCIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDkKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICJGb3V0IHRpamRlbnMgcG9sc2VuIHZhbiAncmF3Jy1hcHBhcmFhdCIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAgZ2Vib25kZW4gYWFuIGhvb2ZkbnVtbWVyICVkLCBzdWJudW1tZXIgJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkZvdXQgYmlqIGluc3RlbGxlbiB2YW4gJ3JhdyctYXBwYXJhYXQiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgICVzIDxibG9rYXBwYXJhYXQ+IDxwYXJ0aXRpZW51bW1lcj4gPGxlbmd0ZT5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICJWZXJ0ZWx0IGRlIGtlcm5lbCBvdmVyIGRlIG5pZXV3ZSBncm9vdHRlIHZhbiBkZSBvcGdlZ2V2ZW4gcGFydGl0aWUuXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXM6IGthbiBoZXQgYmVnaW4gdmFuIHBhcnRpdGllbnVtbWVyICVzIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJ2YW4gZ3Jvb3R0ZSB2ZXJhbmRlcmVuIHZhbiBwYXJ0aXRpZSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAicmVzZXJ2ZXJlbiB2YW4gZ2VoZXVnZW4gdm9vciBnZW5lc3RlICdsaWJmZGlzayctY29udGV4dCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAia2FuIGdlZW4gJ3NlZWsnIGRvZW4gb3AgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgImthbiBuaWV0IG5hYXIgJXMgbmlldCBzY2hyaWp2ZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAocG9zaXRpZSA9ICU1anUsIGdyb290dGUgPSAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogaGV0IG1ha2VuIHZhbiBlZW4gcmVzZXJ2ZWtvcGllIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgImhldCBtYWtlbiB2YW4gZWVuIHJlc2VydmVrb3BpZWJlc3RhbmQgaXMgbWlzbHVrdCwgd2FudCAkSE9NRSBpcyBuaWV0IGdlZGVmaW5pZWVyZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTUKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICJSZXNlcnZla29waWViZXN0YW5kZW46IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJsZXplbiB2YW4gbmlldXdlIHBhcnRpdGllIGlzIG1pc2x1a3Q7ICctLW1vdmUtZGF0YScgd29yZHQgZ2VuZWdlZXJkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImthbiBncm9vdHRlIHZhbiBuaWV1d2UgcGFydGl0aWUgbmlldCBhY2h0ZXJoYWxlbjsgJy0tbW92ZS1kYXRhJyB3b3JkdCBnZW5lZ2VlcmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImthbiBiZWdpbiB2YW4gbmlldXdlIHBhcnRpdGllIG5pZXQgYWNodGVyaGFsZW47ICctLW1vdmUtZGF0YScgd29yZHQgZ2VuZWdlZXJkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImthbiBncm9vdHRlIHZhbiBvdWRlIHBhcnRpdGllIG5pZXQgYWNodGVyaGFsZW47ICctLW1vdmUtZGF0YScgd29yZHQgZ2VuZWdlZXJkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJrYW4gYmVnaW4gdmFuIG91ZGUgcGFydGl0aWUgbmlldCBhY2h0ZXJoYWxlbjsgJy0tbW92ZS1kYXRhJyB3b3JkdCBnZW5lZ2VlcmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJiZWdpbiB2YW4gZGUgcGFydGl0aWUgaXMgbmlldCB2ZXJwbGFhdHN0OyAnLS1tb3ZlLWRhdGEnIHdvcmR0IGdlbmVnZWVyZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5pZXV3ZSBwYXJ0aXRpZSBpcyBrbGVpbmVyIGRhbiBkZSBvdWRlOyAnLS1tb3ZlLWRhdGEnIHdvcmR0IGdlbmVnZWVyZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICJHZWdldmVuc3ZlcnBsYWF0c2luZzoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICIgc2NyaXB0YmVzdGFuZDogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiBvdWRlIGJlZ2luOiAlanUsICBuaWV1d2UgYmVnaW46ICVqdSAgKCVqdSBzZWN0b3JlbiB2ZXJwbGFhdHNlbilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiV2lsdCB1IGRlIGdlZ2V2ZW5zIG9wIGRlIHBhcnRpdGllIHZlcnBsYWF0c2VuPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIkRhZy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogdmVycGxhYXRzZW4gdmFuIGdlZ2V2ZW5zIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQyCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIkRlIHBhcnRpdGlldGFiZWwgaXMgb25nZXdpanppZ2QgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJEZSBwYXJ0aXRpZXRhYmVsIGlzIGdld2lqemlnZC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIm5pZXQtb25kZXJzdGV1bmQgbGFiZWwgJyVzJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzQKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklEICBOYWFtXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICJvbmJla2VuZCBwYXJ0aXRpZXRhYmVsdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJrYW4gZ3Jvb3R0ZSB2YW4gJXMgbmlldCBvcHZyYWdlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAidG90YWFsOiAlanUgYmxva2tlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImdlZW4gc2NoaWpmYXBwYXJhYXQgZ2VnZXZlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHN3aXRjaCB0byBQTUJSIgorbXNnc3RyICJrYW4gc3RhdHVzIHZhbiAnJXMnIG5pZXQgb3B2cmFnZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9yIFBNQlIgb25seSIKK21zZ3N0ciAiaGV0IG9tc2NoYWtlbGVuIHZhbiBkZSBvcHN0YXJ0dmxhZyB3b3JkdCBhbGxlZW4gb25kZXJzdGV1bmQgdm9vciBlZW4gTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg2NyBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTYgZGlzay11dGlscy9zZmRpc2suYzoxMjEyCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTkgZGlzay11dGlscy9zZmRpc2suYzoyMDU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImthbiBwYXJ0aXRpZW51bW1lciBuaWV0IG9udGxlZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAlZDogb21zY2hha2VsZW4gdmFuIG9wc3RhcnR2bGFnIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTA5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1OiB2ZXJ3aWpkZXJlbiBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiQXBwYXJhYXQgYmV2YXQgZ2VlbiBoZXJrZW5iYXJlIHBhcnRpdGlldGFiZWwuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAicmVzZXJ2ZXJlbiB2YW4gZ2VoZXVnZW4gdm9vciBkdW1wc3RydWN0IGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGR1bXAgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJvcHNsYWFuIHZhbiBwYXJ0aXRpZXRhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogZ2VlbiBwYXJ0aXRpZXRhYmVsIGdldm9uZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1OiBwYXJ0aXRpZXRhYmVsIGJldmF0IHNsZWNodHMgJXp1IHBhcnRpdGllcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1IHdvcmR0IG5pZXQgZ2VicnVpa3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiZ2VlbiBwYXJ0aXRpZW51bW1lciBvcGdlZ2V2ZW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDYgZGlzay11dGlscy9zZmRpc2suYzoxMTYxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTcKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAib252ZXJ3YWNodGUgYXJndW1lbnRlbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1OiBhY2h0ZXJoYWxlbiB2YW4gcGFydGl0aWV0eXBlIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAib250bGVkZW4gdmFuICVzLXBhcnRpdGlldHlwZSAnJXMnIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IHBhcnRpdGllICV6dTogaW5zdGVsbGVuIHZhbiBwYXJ0aXRpZXR5cGUgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1OiBhY2h0ZXJoYWxlbiB2YW4gcGFydGl0aWUtVVVJRCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIHBhcnRpdGllLW9iamVjdCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAlenU6IGluc3RlbGxlbiB2YW4gcGFydGl0aWUtVVVJRCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAlenU6IGFjaHRlcmhhbGVuIHZhbiBwYXJ0aXRpZW5hYW0gaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGl0aWUgJXp1OiBpbnN0ZWxsZW4gdmFuIHBhcnRpdGllbmFhbSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBwYXJ0aXRpZSAlenU6IGluc3RlbGxlbiB2YW4gcGFydGl0aWUtZWlnZW5zY2hhcHBlbiBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODcKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiBPcGRyYWNodGVuOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIGRlIHRhYmVsIG5hYXIgc2NoaWpmIHNjaHJpanZlbiBlbiBhZnNsdWl0ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiAgIHF1aXQgICAgIG5pZXV3ZSBzaXR1YXRpZSB0b25lbiwgZW4gYW50d29vcmQgYWZ3YWNodGVuIGFsdm9yZW5zIHRlIHNjaHJpanZlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICBkZSBzZmRpc2stc2hlbGwgdmVybGF0ZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkyCittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHByaW50ICAgIGRlIHBhcnRpdGlldGFiZWwgd2VlcmdldmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgIGhldHplbGZkZSBhbHMgJ3F1aXQnXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBJbnZvZXJvcG1hYWs6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorIywgZnV6enkKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8YmVnaW4+LCA8Z3Jvb3R0ZT4sIDx0eXBlPiwgPG9wc3RhcnRiYWFyPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDQKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE5Cittc2dpZCAiICAgPGJvb3RhYmxlPiAgVXNlICcqJyB0byBtYXJrIGFuIE1CUiBwYXJ0aXRpb24gYXMgYm9vdGFibGUuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIlZvb3JiZWVsZDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZGUgb3BkcmFjaHQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJyZWdlbCAlZDogbmlldC1vbmRlcnN0ZXVuZGUgb3BkcmFjaHQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3Igc2ZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIkhldCB3b3JkdCBzdGVyayBhYW5nZXJhZGVuIG9wIGhldCBhcHBhcmFhdCBtZXQgd2lwZWZzKDgpIHRlIHdpc3Nlbiwgb20gbW9nZWxpamtlIFwiYm90c2luZ2VuXCIgdGUgdmVybWlqZGVuLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTI4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBydWltdGUgdm9vciBwYXJ0aXRpZW5hYW0gaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIHNjcmlwdC12ZXJ3ZXJrZXIgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAiJXM6IGthbiBwYXJ0aXRpZSAlZCBuaWV0IGFhbnBhc3NlbjogZ2VlbiBwYXJ0aXRpZXRhYmVsIGdldm9uZGVuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IGthbiBwYXJ0aXRpZSAlZCBuaWV0IGFhbnBhc3NlbjogcGFydGl0aWV0YWJlbCBiZXZhdCBzbGVjaHRzICV6dSBwYXJ0aXRpZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAid2FhcnNjaHV3aW5nOiAlczogcGFydGl0aWUgJWQgaXMgbm9nIG5pZXQgZ2VkZWZpbmllZXJkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisiV2Vsa29tIGJpaiAnc2ZkaXNrJyAoJXMpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIkV2ZW4gY29udHJvbGVyZW4gb2YgaWVtYW5kIGRlemUgc2NoaWpmIG51IGdlYnJ1aWt0Li4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisiIE1JU0xVS1RcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJEZXplIHNjaGlqZiBpcyBpbiBnZWJydWlrIC0tIG51IGhlcnBhcnRpdGlvbmVyZW4gaXMgZWVuIHNsZWNodCBpZGVlLlxuIgorIktvcHBlbCBlZXJzdCBhbGxlIGJlc3RhbmRzc3lzdGVtZW4gYWYsIGVuIHNjaGFrZWwgbWV0ICdzd2Fwb2ZmJyBhbGxlXG4iCisid2lzc2VsZ2VoZXVnZW5wYXJ0aXRpZXMgb3AgZGV6ZSBzY2hpamYgdWl0LlxuIgorIk9mIGdlYnJ1aWsgb3B0aWUgJy0tbm8tcmVyZWFkJyBvbSBkZXplIGNvbnRyb2xlIHRlIG9uZGVyZHJ1a2tlbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIkdlYnJ1aWsgJy0tZm9yY2UnIG9tIGFsbGUgY29udHJvbGVzIHRlIG5lZ2VyZW4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyJPS1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NDcKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJPdWRlIHNpdHVhdGllOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIGdhYXQgZWVuIG5pZXV3ICclcyctc2NoaWpmbGFiZWwgYWFubWFrZW4uXG4iCisiR2VicnVpayAnbGFiZWw6IDxuYWFtPicgb20gaGV0IHNjaGlqZmxhYmVsdHlwZSB0ZSB3aWp6aWdlblxuIgorInZvb3JkYXQgdSBkZSBlZXJzdGUgcGFydGl0aWUgYWFubWFha3QuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUeXAgJ2hlbHAnIHZvb3IgbWVlciBpbmZvcm1hdGllLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiQWxsZSBwYXJ0aXRpZXMgemlqbiBpbiBnZWJydWlrLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiS2xhYXIuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcnRpdGllIHdvcmR0IGdlbmVnZWVyZC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJUb2VwYXNzZW4gdmFuIHNjcmlwdGtvcHJlZ2VscyBpcyBtaXNsdWt0OyBnZWVuIHNjaGlqZmxhYmVsIGFhbmdlbWFha3QuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAiVG9ldm9lZ2VuIHZhbiBwYXJ0aXRpZSBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiU2NyaXB0a29wcmVnZWxzIHppam4gZ2VhY2NlcHRlZXJkLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiTmlldXdlIHNpdHVhdGllOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiV2lsdCB1IGRpdCBuYWFyIGRlIHNjaGlqZiBzY2hyaWp2ZW4/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJEYWcuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgzOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgICUxJHMgW29wdGllc10gPGFwcGFyYWF0PiBbWy1OXSA8cGFydGl0aWVudW1tZXI+XVxuIgorIiAgJTEkcyBbb3B0aWVzXSA8b3BkcmFjaHQ+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIChQKU1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAgLWQsIC0tZGVsZXRlICAgICAgICAgZ2VnZXZlbiBwYXJ0aXRpZXMgKG9mIGFsbGUpIHZlcndpamRlcmVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiIKKworIyBBTkQgZXhpdAorIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjIEFORCBleGl0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICBwYXJ0aXRpZXMgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjIEFORCBleGl0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgIHBhcnRpdGllcyB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIiCisKKyMgQU5EIGV4aXQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgIC1kLCAtLWRlbGV0ZSAgICAgICAgIGdlZ2V2ZW4gcGFydGl0aWVzIChvZiBhbGxlKSB2ZXJ3aWpkZXJlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjUKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgIC0tYnl0ZXMgICAgICAgICAgZ3Jvb3R0ZSBpbiBieXRlcyB3ZWVyZ2V2ZW4gaW4gcGxhYXRzIHZhbiBpbiBsZWVzYmFyZSB2b3JtXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtTCwgLS1jb2xvcls9PHdhbm5lZXI+XSAgICBkZSB1aXR2b2VyIGtsZXVyZW4gKCdhdXRvJywgJ2Fsd2F5cycsIG9mICduZXZlcicpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW91dHB1dCA8bGlqc3Q+ICAgICB0ZSB0b25lbiBrb2xvbW1lbiBpbiBkZSB1aXR2b2VyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgZXh0cmEgaW5mb3JtYXRpZSBvbmRlcmRydWtrZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg1Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLXcsIC0td2lwZSA8d2FubmVlcj4gICAgIHZpbmdlcmFmZHJ1a2tlbiB3aXNzZW4gKCdhdXRvJywgJ2Fsd2F5cycsICduZXZlcicpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODgKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAgLUwsIC0tTGludXggICAgICAgICAgICAgICh2ZXJvdWRlcmQsIHNsZWNodHMgaGVya2VuZCB2b29yIGNvbXBhdGliaWxpdGVpdClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkyCittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIm9wdGllICclcycgaXMgdmVyb3VkZXJkOyBnZWJydWlrICctLXBhcnQtdHlwZSciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIm9wdGllICctLWlkJyBpcyB2ZXJvdWRlcmQ7IGdlYnJ1aWsgJy0tcGFydC10eXBlJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgImRlIG9wdGllICctLUxpbnV4JyBpcyBvbm5vZGlnIGVuIHZlcm91ZGVyZCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZGUgZWVuaGVpZCAnJWMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJyVzJyB1aXQgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAib3B0aWUgJy0tbW92ZWRhdGEnIHZlcmVpc3QgJy1OJyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIm9udGxlZGVuIHZhbiBVVUlEICclcycgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogJ3NlZWsnIG5hYXIgd2lzc2VsZ2VoZXVnZW4tVVVJRCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6IHNjaHJpanZlbiB2YW4gd2lzc2VsZ2VoZXVnZW4tVVVJRCBpcyBtaXNsdWt0IgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6ICdzZWVrJyBuYWFyIHdpc3NlbGdlaGV1Z2VubGFiZWwgaXMgbWlzbHVrdCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAibGFiZWwgaXMgdGUgbGFuZzsgd29yZHQgYWZnZWthcHQgdG90ICclcyciCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBzY2hyaWp2ZW4gdmFuIGxhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIlRvb250IG9mIHdpanppZ3QgaGV0IGxhYmVsIG9mIGRlIFVVSUQgdmFuIGVlbiB3aXNzZWxnZWhldWdlbmdlYmllZC5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiICAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgdGUgZ2VicnVpa2VuIG5pZXV3IGxhYmVsXG4iCisiICAtVSwgLS11dWlkIDxVVUlEPiAgICAgdGUgZ2VicnVpa2VuIG5pZXV3ZSBVVUlEXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICJvcHRpZSAnLVUnIHdvcmR0IGdlbmVnZWVyZCAoVVVJRCdzIHdvcmRlbiBuaWV0IG9uZGVyc3RldW5kKSIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlR5cCAnJXMgLS1oZWxwJyB2b29yIG1lZXIgaW5mb3JtYXRpZS5cbiIKKworIzogaW5jbHVkZS9jLmg6MzE4Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisiR2VicnVpazpcbiIKKworIzogaW5jbHVkZS9jLmg6MzE5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcHRpZXM6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGdW5jdGllczpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BkcmFjaHRlbjpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCZXNjaGlrYmFyZSBrb2xvbW1lbiB2b29yICctLWxpc3QnOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiAgLT8gICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJ2ZXJzaWUiCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJWb29yIG1lZXIgaW5mb3JtYXRpZSB6aWUgJXMuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5NSBzeXMtdXRpbHMvcnRjd2FrZS5jOjI5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTEKKyM6IHRleHQtdXRpbHMvY29sLmM6MTYwCittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgInNjaHJpamZmb3V0IgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgImtsZXVyZW4gemlqbiBzdGFuZGFhcmQgaW5nZXNjaGFrZWxkIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJrbGV1cmVuIHppam4gc3RhbmRhYXJkIHVpdGdlc2NoYWtlbGQiCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyNgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDMwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBvbWdldmluZ3N2YXJpYWJlbGUgJXMgaXMgbWlzbHVrdCIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIm9wdGllcyBnYWFuIG5pZXQgc2FtZW4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgImxlZWciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgInVpdGdlYnJlaWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIG9wc3RhcnRiYWFyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIG9wc3RhcnRtYW5hZ2VyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiVzk1IHVpdGdlYi4gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgInZlcmJvcmdlbiBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGllayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAidmVyYm9yZ2VuIEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJ2ZXJib3JnZW4gRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAidmVyYm9yZ2VuIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAidmVyYm9yZ2VuIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJ2ZXJiLiBXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAidmVyYi4gVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgInZlcmJvcmdlbiBOVEZTIFdpblJFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgb3BzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyZGUgZGVlbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIlFOWDQueCAzZGUgZGVlbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2sgRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgLyBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAib3VkZSBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBvdWRlIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCB3aXNzZWxnZWhldWdlbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIk9TLzIgdmVyYm9yZ2VuIG9mIEludGVsIGhpYmVybmF0aWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IHVpdGdlYnJlaWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIHZvbHVtZW5zZXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQgbGliZmRpc2svc3JjL3NnaS5jOjYyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gb3BzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREktYmVzdGFuZHNzeXN0ZWVtIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESS13aXNzZWxnZWhldWdlbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3RXaXphcmQgdmVyYm9yZ2VuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJBY3JvbmlzIEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5Cittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIG9wc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFUMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQxNiA8MzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFUMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJub24tQlMtZ2VnZXZlbnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg0Cittc2dpZCAiQ1AvTSAvIENUT1MgLyAuLi4iCittc2dzdHIgIkNQL00gLyBDVE9TIC8gLi4uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCBVdGlsaXR5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBhY2Nlc3MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkwCittc2dpZCAiRE9TIFIvTyIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgIlJ1ZnVzIHVpdGxpam5pbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBiZXN0YW5kc3N5c3RlZW0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICJFRkkgKEZBVC0xMi8xNi8zMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJMaW51eC9QQS1SSVNDIG9wc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBzZWN1bmRhaXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMSBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0Cittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIHZta2NvcmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IHJhaWRhdXRvZGV0ZWN0aWUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgIndhYXJzY2h1d2luZzogJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDgwIGxpYmZkaXNrL3NyYy9hc2suYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiR2VzZWxlY3RlZXJkZSBwYXJ0aXRpZSBpcyAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJFciB6aWpuIG5vZyBnZWVuIHBhcnRpdGllcyBnZWRlZmluaWVlcmQhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk1Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiR2VlbiB2cmlqZSBwYXJ0aXRpZSBiZXNjaGlrYmFhciEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo1MDUKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJQYXJ0aXRpZW51bW1lciIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjEwMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiTmlldXdlIHBhcnRpdGllICVkIHZhbiB0eXBlICclcycgZW4gZ3Jvb3R0ZSAlcyBpcyBhYW5nZW1hYWt0LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXpkOiBoYXMgaW52YWxpZCBzdGFydGluZyBzZWN0b3IgMC4iCittc2dzdHIgIlBhcnRpdGllICV6ZCBoZWVmdCBvbmdlbGRpZ2UgYmVnaW5zZWN0b3IgMC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICJFciBpcyBnZWVuICpCU0QtcGFydGl0aWUgb3AgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAiRWVyc3RlIGNpbGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkxIGxpYmZkaXNrL3NyYy9kb3MuYzoxMjEzCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJMYWF0c3RlIGNpbGluZGVyLCArY2lsaW5kZXJzLCBvZiArZ3Jvb3R0ZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkxhYXRzdGUgc2VjdG9yLCArc2VjdG9yZW4sIG9mICtncm9vdHRle0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJBcHBhcmFhdCAlcyBiZXZhdCBnZWVuIEJTRC1zY2hpamZsYWJlbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiV2lsdCB1IGVlbiBCU0Qtc2NoaWpmbGFiZWwgYWFubWFrZW4/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiU2NoaWpmIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJWbGFnIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY1Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIHZlcndpamRlcmJhYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBzbGVjaHRlX3NlY3RvcmVuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJCeXRlcy9TZWN0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgIlNwb3Jlbi9DaWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIlNlY3RvcmVuL0NpbGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkwIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI4CisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTk3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJDaWxpbmRlcnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTUgbGliZmRpc2svc3JjL3N1bi5jOjc3MworbXNnaWQgIlJwbSIKK21zZ3N0ciAiUlBNIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTAwIGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTEgbGliZmRpc2svc3JjL3N1bi5jOjc5MworbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgIlR1c3NlbnJ1aW10ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiVHJhY2tza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJDaWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJLb3BvdmVyc2NoYWtlbGluZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIlNwb29yLXRvdC1zcG9vciAnc2VlayciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJ5dGVzL3NlY3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNlY3RvcmVuL3Nwb29yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJzcG9yZW4vY2lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgImNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgInNlY3RvcmVuL2NpbGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIyCittc2dpZCAicnBtIgorbXNnc3RyICJycG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJ0dXNzZW5ydWltdGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY2lsaW5kZXJza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAib3ZlcnNjaGFrZWxlbiB2YW4ga29wIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAic3Bvb3ItdG90LXNwb29yICdzZWVrJyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIkJvb3RzdHJhcC1iZXN0YW5kICVzIGlzIG1ldCBzdWNjZXMgZ2VsYWRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoc3RhbmRhYXJkICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiQm9vdHN0cmFwIG92ZXJsYXB0IG1ldCBzY2hpamZsYWJlbCEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIkJvb3RzdHJhcCBpcyBnZcOvbnN0YWxsZWVyZCBvcCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIlNjaGlqZmxhYmVsIGlzIGdlc2NocmV2ZW4gbmFhciAlcy4gIChWZXJnZWV0IG5pZXQgb20gb29rIGhldCAlcy1sYWJlbCB0ZSBzY2hyaWp2ZW4uKSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIlNjaGlqZmxhYmVsIGlzIGdlc2NocmV2ZW4gbmFhciAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MTEgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODgKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiTGVlZ21ha2VuIHZhbiBzY2hpamZidWZmZXJzLi4uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkJTRC1sYWJlbCBpcyBuaWV0IGdlbmVzdCBiaW5uZW4gZWVuIERPUy1wYXJ0aXRpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkJTRC1wYXJ0aXRpZSAnJWMnIGlzIGdla29wcGVsZCBhYW4gRE9TLXBhcnRpdGllICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIlNsaWNlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkZzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiBzbHVpdGVuIHZhbiBhcHBhcmFhdCBpcyBtaXNsdWt0IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkFhbnJvZXBlbiB2YW4gaW9jdGwoKSBvbSBwYXJ0aXRpZXRhYmVsIG9wbmlldXcgaW4gdGUgbGV6ZW4uLi4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY1Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIkhlcmlubGV6ZW4gdmFuIHBhcnRpdGlldGFiZWwgaXMgbWlzbHVrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiRGUga2VybmVsIGdlYnJ1aWt0IG5vZyBkZSBvdWRlIHRhYmVsLiAgRGUgbmlldXdlIHRhYmVsIHdvcmR0IGFsbGVlbiBuYVxuIgorIm9wbmlldXcgb3BzdGFydGVuIGdlYnJ1aWt0LCBvZiBuYSB1aXR2b2VyZW4gdmFuIHBhcnRwcm9iZSg4KSBvZiBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICJ2ZXJ3aWpkZXJlbiB2YW4gcGFydGl0aWUgaXMgbWlzbHVrdCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgImluZm9ybWF0aWUgb3ZlciBlZW4gcGFydGl0aWUgd2VlcmdldmVuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAidG9ldm9lZ2VuIHZhbiBwYXJ0aXRpZSBpcyBtaXNsdWt0IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAiIgorIkRlIGtlcm5lbCBnZWJydWlrdCBub2cgZGUgb3VkZSB0YWJlbC4gIERlIG5pZXV3ZSB0YWJlbCB3b3JkdCBhbGxlZW4gbmFcbiIKKyJvcG5pZXV3IG9wc3RhcnRlbiBnZWJydWlrdCwgb2YgbmEgdWl0dm9lcmVuIHZhbiBwYXJ0cHJvYmUoOCkgb2Yga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kZXIiCittc2dzdHJbMV0gImNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWN0b3IiCittc2dzdHJbMV0gInNlY3RvcmVuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJPbnZvbGxlZGlnZSBnZW9tZXRyaWUtaW5zdGVsbGluZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICJBbGxlIHByaW1haXJlIHBhcnRpdGllcyB6aWpuIGFsIGdlZGVmaW5pZWVyZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIkdlZW4gdnJpamUgcGFydGl0aWUgYmVzY2hpa2JhYXIhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIkxlemVuIHZhbiB1aXRnZWJyZWlkZSBwYXJ0aXRpZXRhYmVsIGlzIG1pc2x1a3QgKHBvc2l0aWU9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiVSBrdW50IGRlIGdlb21ldHJpZSBpbnN0ZWxsZW4gaW4gaGV0IG1lbnUgbWV0IGV4dHJhIGZ1bmN0aWVzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIkRPUy1jb21wYXRpYmlsaXRlaXRzbW9kdXMgaXMgdmVyb3VkZXJkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisiT3AgaGV0IGFwcGFyYWF0IGlzIGRlIGxvZ2lzY2hlIHNlY3Rvcmdyb290dGUga2xlaW5lciBkYW4gZGUgZnlzaWVrZS5cbiIKKyJVaXRsaWpuaW5nIG9wIGVlbiBmeXNpZWtlIHNlY3RvcmdyZW5zIChvZiBvcHRpbWFsZSBpbi0vdWl0dm9lcmdyb290dGUpXG4iCisid29yZHQgYWFuZ2VyYWRlbiwgYW5kZXJzIGt1bm5lbiBkZSBwcmVzdGF0aWVzIGVyIG9uZGVyIGxpamRlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkNpbGluZGVycyBhbHMgd2VlcmdhdmUtZWVuaGVpZCB6aWpuIHZlcm91ZGVyZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKyJXQUFSU0NIVVdJTkc6IERlIGdyb290dGUgdmFuIGRlemUgc2NoaWpmIGlzICVzICglanUgYnl0ZXMpLlxuIgorIkVlbiBET1MtcGFydGl0aWV0YWJlbCBpcyBuaWV0IG1vZ2VsaWprIG9wIHZvbHVtZW5zIGRpZSBncm90ZXJcbiIKKyJ6aWpuIGRhbiAlbHUgYnl0ZXMgKGJpaiBzZWN0b3JlbiB2YW4gJWx1IGJ5dGVzKS5cbiIKKyJHZWJydWlrIEdOVSBwYXJ0ZWQoMSkgZW4gZWVuIEdVSUQtcGFydGl0aWV0YWJlbCAoR1BUKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiT25nZWxkaWdlIHBsYWF0cyBpbiBwcmltYWlyZSB1aXRnZWJyZWlkZSBwYXJ0aXRpZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKyJQYXJ0aXRpZXMgbmEgIyV6dSB3b3JkZW4gd2VnZ2VsYXRlbi5cbiIKKyJaZSB6dWxsZW4gd29yZGVuICp2ZXJ3aWpkZXJkKiBhbHMgdSBkZXplIHBhcnRpdGlldGFiZWwgb3BzbGFhdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJFeHRyYSBrb3BwZWxpbmdzdmVyd2lqemVyIGluIHBhcnRpdGlldGFiZWwgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJFeHRyYSBnZWdldmVucyBpbiBwYXJ0aXRpZXRhYmVsICV6dSB3b3JkZW4gZ2VuZWdlZXJkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgImxlZ2UgcGFydGl0aWUgKCV6dSkgd29yZHQgd2VnZ2VsYXRlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiTmlldXcgRE9TLXNjaGlqZmxhYmVsIGlzIGFhbmdlbWFha3QgbWV0IHNjaGlqZi1JRCAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIlZvZXIgZGUgbmlldXdlIHNjaGlqZi1JRCBpbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIk9uZ2VsZGlnZSB3YWFyZGUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIlNjaGlqZi1JRCBpcyBnZXdpanppZ2QgdmFuIDB4JTA4eCBuYWFyIDB4JTA4eC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiRXh0cmEgdWl0Z2VicmVpZGUgcGFydGl0aWUgJXp1IHdvcmR0IGdlbmVnZWVyZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIk9uanVpc3RlIG9wdGllIDB4JTAyeCUwMnggdmFuIEVCUiAodm9vciBwYXJ0aXRpZSAlenUpIHphbCB3b3JkZW4gZ2Vjb3JyaWdlZXJkIGJpaiBoZXQgc2NocmlqdmVuLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIlN0YXJ0c2VjdG9yICVqdSB2YWx0IGJ1aXRlbiBiZXJlaWsuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgaXMgYWwgZ2VkZWZpbmllZXJkLiAgVmVyd2lqZGVyIGRlemUgZWVyc3QsIGVuIHZvZWcgaGVtIGRhbiBvcG5pZXV3IHRvZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiU2VjdG9yICVsbHUgaXMgYWwgZ2VyZXNlcnZlZXJkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODUgbGliZmRpc2svc3JjL2dwdC5jOjIzMzAKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiR2VlbiB2cmlqZSBzZWN0b3JlbiBiZXNjaGlrYmFhci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkxvZ2lzY2hlIHBhcnRpdGllICV6dSB3b3JkdCB0b2VnZXZvZWdkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIlBhcnRpdGllICV6dSBiZXZhdCBzZWN0b3IgMC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlBhcnRpdGllICV6dToga29wbnVtbWVyICVkIGlzIGdyb3RlciBkYW4gbWF4aW11bSAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpdGllICV6dTogc2VjdG9ybnVtbWVyICVkIGlzIGdyb3RlciBkYW4gbWF4aW11bSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJQYXJ0aXRpZSAlenU6IGNpbGluZGVybnVtbWVyICVkIGlzIGdyb3RlciBkYW4gbWF4aW11bSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQYXJ0aXRpZSAlenU6IGVpbmRlIHZhbiB2b3JpZ2UgcGFydGl0aWUgaW4gc2VjdG9yZW4gJXUgdmVyc2NoaWx0IHZhbiB0b3RhYWwgJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnRpdGllICV6dSBoZWVmdCB2ZXJzY2hpbGxlbmRlIGZ5c2lla2UvbG9naXNjaGUgZWluZHB1bnRlbiAobmlldC1MaW51eD8pOiBmeXNpZWs9KCVkLCAlZCwgJWQpLCBsb2dpc2NoPSglZCwgJWQsICVkKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGl0aWUgJXp1IGhlZWZ0IHZlcnNjaGlsbGVuZGUgZnlzaWVrZS9sb2dpc2NoZSBlaW5kcHVudGVuOiBmeXNpZWs9KCVkLCAlZCwgJWQpLCBsb2dpc2NoPSglZCwgJWQsICVkKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGllICV6dSBlaW5kaWd0IG5pZXQgb3AgZWVuIGNpbGluZGVyZ3JlbnMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBhcnRpdGllICV6dSBoZWVmdCBvbmp1aXN0IGJlZ2luIHZhbiBnZWdldmVuc2dlYmllZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgb3ZlcmxhcHQgcGFydGl0aWUgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgaXMgbGVlZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMb2dpc2NoZSBwYXJ0aXRpZSAlenUgbGlndCBuaWV0IGdlaGVlbCBiaW5uZW4gcGFydGl0aWUgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIlRvdGFhbCBhYW50YWwgZ2VyZXNlcnZlZXJkZSBzZWN0b3JlbiAoJWxsdSkgaXMgZ3JvdGVyIGRhbiBtYXhpbXVtICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiRXIgcmVzdGVyZW4gJWxsZCBuaWV0LWdlcmVzZXJ2ZWVyZGUgc2VjdG9yZW4gdmFuICVsZCBieXRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAxIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDYzCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiVWl0Z2VicmVpZGUgcGFydGl0aWUgYmVzdGFhdCBhbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiSGV0IG1heGltdW0gYWFudGFsIHBhcnRpdGllcyBpcyBhYW5nZW1hYWt0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJBbGxlIHByaW1haXJlIHBhcnRpdGllcyB6aWpuIGluIGdlYnJ1aWsuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MyBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NAorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIkFsbGUgcnVpbXRlIHZvb3IgcHJpbWFpcmUgcGFydGl0aWVzIGlzIGluIGdlYnJ1aWsuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJWZXJ2YW5nIHZvb3IgbWVlciBwYXJ0aXRpZXMgZWVyc3QgZWVuIHByaW1haXJlIHBhcnRpdGllIGRvb3IgZWVuIHVpdGdlYnJlaWRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiQWxsZSBsb2dpc2NoZSBwYXJ0aXRpZXMgemlqbiBpbiBnZWJydWlrLiAgRWVuIHByaW1haXJlIHBhcnRpdGllIHdvcmR0IHRvZWdldm9lZ2QuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJQYXJ0aXRpZXR5cGUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSBwcmltYWlyLCAgJWQgdWl0Z2VicmVpZCwgICV6dSB2cmlqIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworbXNnaWQgInByaW1hcnkiCittc2dzdHIgInByaW1haXIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgInVpdGdlYnJlaWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgImNvbnRhaW5lciB2b29yIGxvZ2lzY2hlIHBhcnRpdGllcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICJsb2dpc2NoIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAiZ2VudW1tZXJkIHZhbmFmIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIk9uZ2VsZGlnIHBhcnRpdGlldHlwZSAnJWMnLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJLYW4gc2VjdG9yICVqZCBuaWV0IHNjaHJpanZlbjogJ3NlZWsnIGlzIG1pc2x1a3QiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJTY2hpamYtSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorIlR5cGUgMCBiZXRla2VudCBvcCB2ZWVsIHN5c3RlbWVuICd2cmlqZSBydWltdGUnLiAgSGV0IGlzIGRhYXJvbVxuIgorInZlcm1vZWRlbGlqayBvbnZlcnN0YW5kaWcgb20gcGFydGl0aWVzIHZhbiBoZXQgdHlwZSAwIHRlIGhlYmJlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIkthbiBoZXQgdHlwZSB2YW4gZWVuIHVpdGdlYnJlaWRlIHBhcnRpdGllIGRpZSBhbCBkb29yIGxvZ2lzY2hlIHBhcnRpdGllcyBnZWJydWlrdCB3b3JkdCBuaWV0IHdpanppZ2VuLiAgVmVyd2lqZGVyIGVlcnN0IGRlIGxvZ2lzY2hlIHBhcnRpdGllcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiRXIgaG9lZnQgbmlldHMgZ2VkYWFuIHRlIHdvcmRlbi4gIERlIG9yZGVuaW5nIGlzIGFsIGdvZWQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJQYXJ0aXRpZSAlenUgaGVlZnQgZ2VlbiBnZWdldmVuc2dlYmllZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJOaWV1dyBiZWdpbiB2YW4gZ2VnZXZlbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcnRpdGllICV6dSBpcyBlZW4gdWl0Z2VicmVpZGUgcGFydGl0aWUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRGUgb3BzdGFydGJhYXJ2bGFnIG9wIHBhcnRpdGllICV6dSBpcyBudSBpbmdlc2NoYWtlbGQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkRlIG9wc3RhcnRiYWFydmxhZyBvcCBwYXJ0aXRpZSAlenUgaXMgbnUgdWl0Z2VzY2hha2VsZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiQXBwYXJhYXQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIk9wLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIkJlZ2luLUMvSy9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiRWluZC1DL0svUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiS2VubS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJFRkktc3lzdGVlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJNQlItcGFydGl0aWVzY2hlbWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICJJbnRlbCBcIlNuZWxsZSBmbGFzaFwiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY1Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJCSU9TLW9wc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjgKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJTb255LW9wc3RhcnRwYXJ0aXRpZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiTGVub3ZvLW9wc3RhcnRwYXJ0aXRpZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAgb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiT05JRS1vcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIk9OSUUtY29uZmlnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICJNaWNyb3NvZnQgZ2VyZXNlcnZlZXJkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBiYXNpc2dlZ2V2ZW5zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETS1tZXRhZ2VnZXZlbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0tZ2VnZXZlbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICJXaW5kb3dzIHJlY292ZXJ5LW9tZ2V2aW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg1Cittc2dpZCAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorbXNnc3RyICJNaWNyb3NvZnQgXCJPcHNsYWdydWltdGVzXCIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJIUC1VWCBnZWdldmVucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYIHNlcnZpY2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHdpc3NlbGdlaGV1Z2VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXggYmVzdGFuZHNzeXN0ZWVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgIkxpbnV4IHNlcnZlcmdlZ2V2ZW5zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNLTY0KSIKKworIyBGSVhNRTogbm8gdGFiCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIkxpbnV4IGdlcmVzZXJ2ZWVyZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIkxpbnV4IGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IHVpdGdlYnJlaWQgb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCBnZWdldmVucyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCBvcHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNEIHdpc3NlbGdlaGV1Z2VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJBcHBsZSBIRlMvSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiQXBwbGUgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiQXBwbGUgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiQXBwbGUgUkFJRCBvZmZsaW5lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiQXBwbGUgb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICJBcHBsZSBsYWJlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICJBcHBsZSBUViByZWNvdmVyeSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiQXBwbGUgQ29yZSBvcHNsYWciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgcm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIHdpc3NlbGdlaGV1Z2VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMgYmFja3VwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIC92YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIC9ob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJTb2xhcmlzIGFsdGVybmF0aWV2ZSBzZWN0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlNvbGFyaXMgZ2VyZXNlcnZlZXJkIDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlNvbGFyaXMgZ2VyZXNlcnZlZXJkIDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMgZ2VyZXNlcnZlZXJkIDMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDQiCittc2dzdHIgIlNvbGFyaXMgZ2VyZXNlcnZlZXJkIDQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlNvbGFyaXMgZ2VyZXNlcnZlZXJkIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNEIHdpc3NlbGdlaGV1Z2VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0Qgc2FtZW5nZXZvZWdkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIHZlcnNsZXV0ZWxkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJDaHJvbWVPUyBrZXJuZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICJDaHJvbWVPUyByb290LUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIGdlcmVzZXJ2ZWVyZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIk1pZG5pZ2h0QlNEIGdlZ2V2ZW5zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiTWlkbmlnaHRCU0Qgb3BzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIk1pbmRpZ2h0QlNEIHdpc3NlbGdlaGV1Z2VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJNaWRuaWdodEJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCBqb3VybmFsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCB2ZXJzbGV1dGVsZCBqb3VybmFsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIkNlcGggT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIkNlcGggdmVyc2xldXRlbGQgT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJDZXBoIHNjaGlqZiBpbiB3b3JkaW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJDZXBoIHZlcnNsZXV0ZWxkZSBzY2hpamYgaW4gd29yZGluZyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgRGlhZ25vc3RpYyIKK21zZ3N0ciAiQ29tcGFxIGRpYWdub3N0aWVrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFJlc2VydmVkIgorbXNnc3RyICJDaHJvbWVPUyBnZXJlc2VydmVlcmQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIk9wZW5CU0QgZ2VnZXZlbnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODQKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJRTlg2IGJlc3RhbmRzc3lzdGVlbSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBsYW4tOSBwYXJ0aXRpZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIEdQVC1rb3AgaXMgbWlzbHVrdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkVlcnN0ZSBkb29yIHNjcmlwdCBnZWdldmVuIExCQSB2YWx0IGJ1aXRlbiBnZWxkaWcgYmVyZWlrLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc1NgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiTGFhdHN0ZSBkb29yIHNjcmlwdCBnZWdldmVuIExCQSB2YWx0IGJ1aXRlbiBnZWxkaWcgYmVyZWlrLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICJHcm9vdHRldmVyc2NoaWwgaW4gR1BUIFBNQlIgKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHphbCB3b3JkZW4gZ2VyZXBhcmVlcmQgZG9vciBzY2hyaWp2ZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTE3Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHQ6IHN0YXQoKSBpcyBtaXNsdWt0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgImdwdDoga2FuIGJlc3RhbmRlbiBtZXQgbW9kdXMgJW8gbmlldCB2ZXJ3ZXJrZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiR1BULWtvcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiR1BULWl0ZW1zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiRWVyc3RlIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiTGFhdHN0ZSBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICJBbHRlcm5hdGlldmUgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJMQkEgdmFuIHBhcnRpdGllLWl0ZW1zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI1MAorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiR2VyZXNlcnZlZXJkZSBwYXJ0aXRpZS1pdGVtcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJEZSByZXNlcnZla29waWUgdmFuIGRlIEdQVC10YWJlbCBpcyBiZXNjaGFkaWdkLCBtYWFyIGRlIHByaW1haXJlIHRhYmVsIGxpamt0IGdvZWQuICBEZXplIGxhYXRzdGUgemFsIHdvcmRlbiBnZWJydWlrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjA1Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiRGUgcHJpbWFpcmUgR1BULXRhYmVsIGlzIGJlc2NoYWRpZ2QsIG1hYXIgZGUgcmVzZXJ2ZWtvcGllIGxpamt0IGdvZWQuICBEZXplIGxhYXRzdGUgemFsIHdvcmRlbiBnZWJydWlrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kIEdQVC1laWdlbnNjaGFwc2JpdCAnJXMnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIm9udGxlZGVuIHZhbiBsaWpzdCAnJXMnIGlzIG1pc2x1a3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIlBhcnRpdGllLVVVSUQgaXMgZ2V3aWp6aWdkIHZhbiAlcyBuYWFyICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgInJlc2VydmVyZW4gdmFuIHJ1aW10ZSB2b29yIHBhcnRpdGllbmFhbSBpcyBtaXNsdWt0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICJQYXJ0aXRpZW5hYW0gaXMgZ2V3aWp6aWdkIHZhbiAnJXMnIG5hYXIgJyUuKnMnLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiQmVnaW4gdmFuIGRlIHBhcnRpdGllIGlzIGtsZWluZXIgZGFuIEZpcnN0VXNhYmxlTEJBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJCZWdpbiB2YW4gZGUgcGFydGl0aWUgaXMgZ3JvdGVyIGRhbiBMYXN0VXNhYmxlTEJBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiIgorIkhldCBhcHBhcmFhdCBiZXZhdCBlZW4gaHlicmlkZSBNQlIgLS0gYWxsZWVuIGRlIEdQVCB3b3JkdCBnZXNjaHJldmVuLlxuIgorIlUgZGllbnQgZGUgTUJSIGhhbmRtYXRpZyB0ZSBzeW5jaHJvbmlzZXJlbiAoZXhwZXJ0b3BkcmFjaHQgJ00nKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIlNjaGlqZiBiZXZhdCBnZWVuIGdlbGRpZ2UgYmFja3VwLWhlYWRlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTU2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJPbmdlbGRpZ2UgQ1JDLWNvbnRyb2xlc29tIHZhbiBwcmltYWlyZSBoZWFkZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJPbmdlbGRpZ2UgQ1JDLWNvbnRyb2xlc29tIHZhbiBiYWNrdXAtaGVhZGVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIk9uZ2VsZGlnZSBjb250cm9sZXNvbSB2YW4gcGFydGl0aWUtaXRlbS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIk9uZ2VsZGlnZSBMQkEtZ2V6b25kdmVyc3RhbmRjb250cm9sZSB2YW4gcHJpbWFpcmUgaGVhZGVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJPbmdlbGRpZ2UgTEJBLWdlem9uZHZlcnN0YW5kY29udHJvbGUgdmFuIGJhY2t1cC1oZWFkZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk15TEJBIGtvbXQgbmlldCBvdmVyZWVuIG1ldCB3ZXJrZWxpamtlIHBvc2l0aWUgaW4gcHJpbWFpcmUgaGVhZGVyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIk15TEJBIGtvbXQgbmlldCBvdmVyZWVuIG1ldCB3ZXJrZWxpamtlIHBvc2l0aWUgaW4gYmFja3VwLWhlYWRlci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIlNjaGlqZiBpcyB0ZSBrbGVpbiBvbSBhbGxlIGdlZ2V2ZW5zIHRlIGJldmF0dGVuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiUHJpbWFpcmUgZW4gYmFja3VwLWhlYWRlciBrb21lbiBuaWV0IG92ZXJlZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJQYXJ0aXRpZSAldSBvdmVybGFwdCBwYXJ0aXRpZSAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIlBhcnRpdGllICV1IGlzIHRlIGdyb290IHZvb3IgZGUgc2NoaWpmLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIlBhcnRpdGllICV1IGVpbmRpZ3QgdsOzw7NyZGF0IGllIGJlZ2ludC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiR2VlbiBmb3V0ZW4gZ2V2b25kZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIkhlYWRlci12ZXJzaWU6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgIkVyIHdvcmRlbiAldSB2YW4gJWQgcGFydGl0aWVzIGdlYnJ1aWt0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiRWVuIHRvdGFhbCB2YW4gJWp1IHZyaWplIHNlY3RvcmVuIGlzIGJlc2NoaWtiYWFyIGluICV1IHNlZ21lbnQuIgorbXNnc3RyWzFdICJFZW4gdG90YWFsIHZhbiAlanUgdnJpamUgc2VjdG9yZW4gaXMgYmVzY2hpa2JhYXIgaW4gJXUgc2VnbWVudGVuIChkZSBncm9vdHN0ZSBpcyAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiVkIGZvdXQgZ2V2b25kZW4uIgorbXNnc3RyWzFdICIlZCBmb3V0ZW4gZ2V2b25kZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIkFsbGUgcGFydGl0aWVzIHppam4gYWwgaW4gZ2VicnVpay4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgzIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VjdG9yICVqdSB3b3JkdCBhbCBnZWJydWlrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiS2FuIHBhcnRpdGllICV6dSBuaWV0IGFhbm1ha2VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiRGUgbGFhdHN0ZSBicnVpa2JhcmUgR1BULXNlY3RvciBpcyAlanUsIG1hYXIgJWp1IHdlcmQgZ2V2cmFhZ2QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIkRlIGVlcnN0ZSBicnVpa2JhcmUgR1BULXNlY3RvciBpcyAlanUsIG1hYXIgJWp1IHdlcmQgZ2V2cmFhZ2QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIkVlbiBuaWV1dyBHUFQtc2NoaWpmbGFiZWwgaXMgYWFuZ2VtYWFrdCAoR1VJRDogJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NDYKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIlZvZXIgbmlldXdlIHNjaGlqZi1VVUlEIGluIChpbiA4LTQtNC00LTEyLXZvcm0pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY1MworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJPbnRsZWRlbiB2YW4gVVVJRCBpcyBtaXNsdWt0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIlNjaGlqZi1JRCBpcyBnZXdpanppZ2QgdmFuICVzIG5hYXIgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJOaWV0IGdlbm9lZyBydWltdGUgYmVzY2hpa2JhYXIgdm9vciBlZW4gbmlldXdlIHBhcnRpdGlldGFiZWwhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGl0aWUgJXUgZ2FhdCBidWl0ZW4gYm9vcmQgKGhldCBtaW5pbXVtIGJlZ2luIGlzICU8UFJJdTY0PiBzZWN0b3JlbikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGl0aWUgJXUgZ2FhdCBidWl0ZW4gYm9vcmQgKGhldCBtYXhpbXVtIGVpbmRlIGlzICU8UFJJdTY0PiBzZWN0b3JlbikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICJIZXQgbWF4aW11bSBhYW50YWwgcGFydGl0aWVzIGlzIGFhbmdlbWFha3QuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJPbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhciEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJQYXJ0aXRpZXRhYmVsbGVuZ3RlIGlzIGdld2lqemlnZCB2YW4gJTxQUkl1MzI+IG5hYXIgJTxQUkl1NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiRGUgZWlnZW5zY2hhcHBlbiB2YW4gcGFydGl0aWUgJXp1IHppam4gZ2V3aWp6aWdkIG5hYXIgMHglMDE2PFBSSXg2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJWb2VyIEdVSUQtc3BlY2lmaWVrIGJpdCBpbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJvbXNjaGFrZWxlbiB2YW4gbmlldC1vbmRlcnN0ZXVuZCBiaXQgJWx1IGlzIG1pc2x1a3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiR1VJRC1zcGVjaWZpZWsgYml0ICVkIG9wIHBhcnRpdGllICV6dSBpcyBudSBpbmdlc2NoYWtlbGQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJHVUlELXNwZWNpZmllayBiaXQgJWQgb3AgcGFydGl0aWUgJXp1IGlzIG51IHVpdGdlc2NoYWtlbGQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRGUgJXMtdmxhZyBvcCBwYXJ0aXRpZSAlenUgaXMgbnUgaW5nZXNjaGFrZWxkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJEZSAlcy12bGFnIG9wIHBhcnRpdGllICV6dSBpcyBudSB1aXRnZXNjaGFrZWxkLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlR5cGUtVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOYWFtIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiW3ZyaWplIHJ1aW10ZV0iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJWYW4gZ3Jvb3R0ZSB2ZXJhbmRlcmVuIHZhbiBwYXJ0aXRpZSAjJXp1IGlzIG1pc2x1a3QuIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTggbWlzYy11dGlscy9maW5kbW50LmM6NjU1CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5OSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNyBzY2hlZHV0aWxzL2NocnQuYzoyMDUKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJvbmJla2VuZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXV3IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSB2b2x1bWVuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICJTR0ktaW5mbyBpcyBhYW5nZW1hYWt0IG9wIHR3ZWVkZSBzZWN0b3IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAiU0dJLXNjaGlqZmxhYmVsIGdldm9uZGVuIG1ldCBmb3V0aWV2ZSBjb250cm9sZXNvbS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRnlzaWVrZSBjaWxpbmRlcnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODYgbGliZmRpc2svc3JjL3N1bi5jOjc4OAorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiRXh0cmEgc2VjdG9yZW4gcGVyIGNpbGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIk9wc3RhcnRiZXN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk0Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJPbmdlbGRpZyBvcHN0YXJ0YmVzdGFuZCEgIEhldCBvcHN0YXJ0YmVzdGFuZCBtb2V0IGVlbiBhYnNvbHV0ZSxcbiIKKyJuaWV0LW51bCBwYWRuYWFtIHppam4sIHpvYWxzICcvdW5peCcgb2YgJy91bml4LnNhdmUnLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICJOYWFtIHZhbiBvcHN0YXJ0YmVzdGFuZCBpcyB0ZSBsYW5nOiBtYXhpbWFhbCAlenUgYnl0ZS4iCittc2dzdHJbMV0gIk5hYW0gdmFuIG9wc3RhcnRiZXN0YW5kIGlzIHRlIGxhbmc6IG1heGltYWFsICV6dSBieXRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJPcHN0YXJ0YmVzdGFuZCBtb2V0IGVlbiB2b2xsZWRpZyBhYW5nZWdldmVuIHBhZG5hYW0gaGViYmVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiTGV0IG9wOiBlciBuaWV0IHdvcmR0IGdlY29udHJvbGVlcmQgb2YgaGV0IG9wc3RhcnRiZXN0YW5kIGJlc3RhYXQuXG4iCisiU0dJJ3Mgc3RhbmRhYXJkIGlzICcvdW5peCcsIGVuIHZvb3IgYmFja3VwICcvdW5peC5zYXZlJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiSGV0IGh1aWRpZ2Ugb3BzdGFydGJlc3RhbmQgaXM6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIkdlZWYgZGUgbmFhbSB2YW4gaGV0IG5pZXV3ZSBvcHN0YXJ0YmVzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJPcHN0YXJ0YmVzdGFuZCBibGlqZnQgb25nZXdpanppZ2QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiT3BzdGFydGJlc3RhbmQgaXMgdmVyYW5kZXJkIG5hYXIgJyVzJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJFciBpcyBtZWVyIGRhbiDDqcOpbiBnZWhlbGUtc2NoaWpmLWl0ZW0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJHZWVuIHBhcnRpdGllcyBnZWRlZmluaWVlcmQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEyCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCBob3VkdCBlcnZhbiBkYXQgcGFydGl0aWUgMTEgZGUgZ2VoZWxlIHNjaGlqZiBiZXNsYWF0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJEZSBnZWhlbGUtc2NoaWpmcGFydGl0aWUgbW9ldCBiZWdpbm5lbiBiaWogYmxvayAwLCBuaWV0IGJpaiBibG9rICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aWUgMTEgem91IGRlIGdlaGVsZSBzY2hpamYgbW9ldGVuIGJlc2xhYW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiRGUgcGFydGl0aWVzICVkIGVuICVkIG92ZXJsYXBwZW4gZWxrYWFyIG1ldCAlZCBzZWN0b3IuIgorbXNnc3RyWzFdICJEZSBwYXJ0aXRpZXMgJWQgZW4gJWQgb3ZlcmxhcHBlbiBlbGthYXIgbWV0ICVkIHNlY3RvcmVuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MiBsaWJmZGlzay9zcmMvc2dpLmM6Njg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIk9uZ2VicnVpa3QgZ2F0IHZhbiAlOHUgc2VjdG9yOiBzZWN0b3JlbiAlOHUuIgorbXNnc3RyWzFdICJPbmdlYnJ1aWt0IGdhdCB2YW4gJTh1IHNlY3RvcmVuOiBzZWN0b3JlbiAlOHUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiRGUgb3BzdGFydHBhcnRpdGllIGJlc3RhYXQgbmlldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDEKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJEZSB3aXNzZWxnZWhldWdlbnBhcnRpdGllIGJlc3RhYXQgbmlldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIkRlIHdpc3NlbGdlaGV1Z2VucGFydGl0aWUgaGVlZnQgZ2VlbiBzb29ydGFhbmR1aWRpbmcuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlUgaGVidCBlZW4gb25nZWJydWlrZWxpamtlIG5hYW0gZ2Vrb3plbiB2b29yIGhldCBvcHN0YXJ0YmVzdGFuZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlUgaGVidCBlZW4gcGFydGl0aWUtb3ZlcmxhcCBvcCBkZSBzY2hpamYuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiUG9naW5nIHRvdCBoZXQgYXV0b21hdGlzY2ggYWFubWFrZW4gdmFuIGVlbiBnZWhlbGUtc2NoaWpmLWl0ZW0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ4Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJEZSB2b2xsZWRpZ2Ugc2NoaWpmIGlzIGFsIGluZ2VkZWVsZCBpbiBwYXJ0aXRpZXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJVIGhlYnQgZWVuIHBhcnRpdGllLW92ZXJsYXAgb3AgZGUgc2NoaWpmLiAgTG9zIGRpdCBlZXJzdCBvcCEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiRWVyc3RlICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiIgorIkhldCB3b3JkdCBzdGVyayBhYW5nZXJhZGVuIG9tIGRlIGVsZmRlIHBhcnRpdGllIGRlIGdlaGVsZSBzY2hpamZcbiIKKyJ0ZSBsYXRlbiBiZXNsYWFuIGVuIHZhbiBoZXQgdHlwZSAnU0dJIHZvbHVtZW4nIHRlIGxhdGVuIHppam4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiTGFhdHN0ZSAlcywgKyVzIG9mICtncm9vdHRle0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIiIKKyJpb2N0bChCTEtHRVRTSVpFKSBpcyBtaXNsdWt0IG9wICVzLlxuIgorIkNpbGluZGVyZ2VvbWV0cmlld2FhcmRlICVsbHUgd29yZHQgbnUgZ2VicnVpa3QuXG4iCisiRGV6ZSB3YWFyZGUga2FuIHZvb3IgYXBwYXJhdGVuIGdyb3RlciBkYW4gMzMuOCBHQiBhZmdla2FwdCB6aWpuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTAKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICJFZW4gbmlldXcgU0dJLXNjaGlqZmxhYmVsIGlzIGFhbmdlbWFha3QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiU29ycnksIGFsbGVlbiB2YW4gbmlldC1sZWdlIHBhcnRpdGllcyBrdW50IHUgaGV0IHR5cGUgd2lqemlnZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKyJPdmVyd2VlZyBvbSBwYXJ0aXRpZSA5IGFscyB2b2x1bWVua29wICgwKSB0ZSBsYXRlbiwgZW5cbiIKKyJwYXJ0aXRpZSAxMSBhbHMgZ2VoZWVsIHZvbHVtZW4gKDYpLCB6b2FscyBJUklYIGhldCB2ZXJ3YWNodC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg0Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICIiCisiSGV0IHdvcmR0IHN0ZXJrIGFhbmdlcmFkZW4gb20gZGUgcGFydGl0aWUgb3AgcGxhYXRzIDAgdmFuIGhldCB0eXBlXG4iCisiJ1NHSSB2b2xoZHInIHRlIGxhdGVuIHppam4uICBJUklYIHZlcnRyb3V3dCBoaWVyb3AgYmlqIGhldCBvcHpvZWtlblxuIgorInZhbiBwcm9ncmFtbWEncyB6b2FscyAnc2FzaCcgZW4gJ2Z4Jy4gIEFsbGVlbiBoZXQgZ2VoZWxlLXNjaGlqZmRlZWxcbiIKKyInU0dJIHZvbHVtZW4nIG1hZyBkZXplIHJlZ2VsIG92ZXJ0cmVkZW4uXG4iCisiV2VldCB1IHpla2VyIGRhdCB1IGhldCB0eXBlIHZhbiBkZXplIHBhcnRpdGllIHdpbHQgd2lqemlnZW4/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICIobmlldC10b2VnZXdlemVuKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mgcm9vdCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mgd2lzc2VsZ2VoZXVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJnZWhlbGUgc2NoaWpmIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0LXNlY3RvcmVuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgZ2VyZXNlcnZlZXJkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiIgorIlN1bi1zY2hpamZsYWJlbCBnZXZvbmRlbiBtZXQgb25qdWlzdGUgY29udHJvbGVzb20uXG4iCisiV2FhcnNjaGlqbmxpamsgenVsdCB1IGFsbGUgd2FhcmRlbiBpbiBtb2V0ZW4gc3RlbGxlbixcbiIKKyJ6b2FscyBrb3BwZW4sIHNlY3RvcmVuLCBjaWxpbmRlcnMgZW4gcGFydGl0aWVzLCBvZiBlZW5cbiIKKyJ2ZXJzIGxhYmVsIG1vZXRlbiBtYWtlbiAob3BkcmFjaHQgJ3MnIGluIGhvb2ZkbWVudSkuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJTdW4tc2NoaWpmbGFiZWwgZ2V2b25kZW4gbWV0IGZvdXRpZWYgdmVyc2llbnVtbWVyIFslZF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlN1bi1zY2hpamZsYWJlbCBnZXZvbmRlbiBtZXQgZm91dGllZiBWVE9DLWNvbnRyb2xlbnVtbWVyIFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIlN1bi1zY2hpamZsYWJlbCBnZXZvbmRlbiBtZXQgZm91dGllZiBWVE9DLXBhcnRpdGllLWFhbnRhbCBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICIiCisiV2FhcnNjaHV3aW5nOiBvbmp1aXN0ZSB3YWFyZGVzIGRpZW5lbiB2ZXJiZXRlcmQgdGUgd29yZGVuIGVuXG4iCisienVsbGVuIGdlY29ycmlnZWVyZCB3b3JkZW4gYmlqIGhldCB3ZWdzY2hyaWp2ZW4gKCd3JykuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTg3Cittc2dpZCAiSGVhZHMiCittc2dzdHIgIktvcHBlbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNlY3RvcmVuL3Nwb29yIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiRWVuIG5pZXV3IFN1bi1zY2hpamZsYWJlbCBpcyBhYW5nZW1hYWt0LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpZSAldSBlaW5kaWd0IG5pZXQgb3AgZWVuIGNpbGluZGVyZ3JlbnMuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiUGFydGl0aWUgJXUgb3ZlcmxhcHQgbWV0IGFuZGVyZSBpbiBzZWN0b3JlbiAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIk9uZ2VicnVpa3QgZ2F0OiBzZWN0b3JlbiAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiT25nZWJydWlrdCBnYXQ6IHNlY3RvcmVuICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorIkFuZGVyZSBwYXJ0aXRpZXMgYmVzbGFhbiBhbCBkZSBnZWhlbGUgc2NoaWpmLlxuIgorIlZlcndpamRlci92ZXJrbGVpbiB6ZSBhbHZvcmVucyBoZXQgb3BuaWV1dyB0ZSBwcm9iZXJlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyJIZXQgd29yZHQgc3RlcmsgYWFuZ2VyYWRlbiBvbSBkZSBkZXJkZSBwYXJ0aXRpZSBkZSBnZWhlbGUgc2NoaWpmXG4iCisidGUgbGF0ZW4gYmVzbGFhbiBlbiB2YW4gaGV0IHR5cGUgJ2dlaGVsZSBzY2hpamYnIHRlIGxhdGVuIHppam4uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkVlcnN0ZSBzZWN0b3Igd29yZHQgdWl0Z2VsaWpuZCB2YW4gJXUgbmFhciAldSBvbSBvcCBjaWxpbmRlcmdyZW5zIHRlIGtvbWVuLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlNlY3RvciAlZCBpcyBhbCBnZXJlc2VydmVlcmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJVIGhlYnQgbWV0IGRlIGRlcmRlIHBhcnRpdGllIG5pZXQgZGUgZ2VoZWxlIHNjaGlqZiBpbmdlbm9tZW4sXG4iCisibWFhciB1dyB3YWFyZGUgJWx1ICVzIG92ZXJsYXB0IGVlbiBhbmRlcmUgcGFydGl0aWUuXG4iCisiVXcgaW52b2VyIGlzIGdld2lqemlnZCBuYWFyICVsdSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJBbHMgdSBTdW5PUy9Tb2xhcmlzLWNvbXBhdGliaWxpdGVpdCB3aWx0IGJlaG91ZGVuLCBrdW50IHUgZGV6ZSBwYXJ0aXRpZSBiZXRlclxuIgorImFscyBnZWhlbGUgc2NoaWpmICg1KSBsYXRlbiwgYmVnaW5uZW5kIGJpaiAwLCBtZXQgJXUgc2VjdG9yZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIkxhYmVsLUlEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJWb2x1bWVuLUlEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWx0ZXJuYXRpZXZlIGNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg4NAorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBYW50YWwgYWx0ZXJuYXRpZXZlIGNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJFeHRyYSBzZWN0b3JlbiBwZXIgY2lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiVHVzc2VucnVpbXRlZmFjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIlJvdGF0aWVzbmVsaGVpZCAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkFhbnRhbCBmeXNpZWtlIGNpbGluZGVycyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyJPdmVyd2VlZyBvbSBwYXJ0aXRpZSAzIGFscyBHZWhlbGUgU2NoaWpmICg1KSB0ZSBsYXRlbiwgem9hbHNcbiIKKyJTdW5PUy9Tb2xhcmlzIGhldCB2ZXJ3YWNodCBlbiBvb2sgTGludXggaGV0IGhldCBsaWVmc3QgaGVlZnQuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiSGV0IHdvcmR0IHN0ZXJrIGFhbmdlcmFkZW4gb20gZGUgcGFydGl0aWUgb3AgcGxhYXRzIDAgdmFuIGhldCBzb29ydCBVRlMtXG4iCisib2YgRVhUMkZTLWJlc3RhbmRzc3lzdGVlbSBvZiBTdW5PUy13aXNzZWxnZWhldWdlbiB0ZSBsYXRlbiB6aWpuLiAgT3AgZGV6ZVxuIgorInBsYWF0cyBMaW51eC13aXNzZWxnZWhldWdlbiBuZWVyemV0dGVuIHZlcm5pZWx0IG1vZ2VsaWprIHV3IHBhcnRpdGlldGFiZWxcbiIKKyJlbiBvcHN0YXJ0Ymxvay4gIFdlZXQgdSB6ZWtlciBkYXQgdSBkZXplIHBhcnRpdGllIGFscyBMaW51eC13aXNzZWxnZWhldWdlblxuIgorIndpbHQgbGFiZWxlbj8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0LmM6MjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIm9wZW5lbiB2YW4gJXMgaXMgbWlzbHVrdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiV0FBUlNDSFVXSU5HOiB0b2VwYXNzZW4gdmFuIGRvb3JnYXZldmxhZ2dlbiBpcyBtaXNsdWt0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICIlcyBpcyBzY2hyaWpmYmV2ZWlsaWdkIGVuIHdvcmR0IGFscyBhbGxlZW4tbGV6ZW4gYWFuZ2Vrb3BwZWxkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIGlzIGFsIGFhbmdla29wcGVsZCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIGluICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCB2aW5kZW4gaW4gJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAia2FuIGFhbmtvcHBlbGluZ3NwdW50ICVzIG5pZXQgdmluZGVuIGluICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgImthbiBhYW5rb3BwZWxpbmdzYnJvbiAlcyBuaWV0IHZpbmRlbiBpbiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzOiBiZXBhbGVuIHZhbiBicm9uIGlzIG1pc2x1a3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiZ2VlbiBiZXN0YW5kc25hYW0gZ2VnZXZlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgImthbiAlcyBuaWV0IHZpbmRlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGFhbmtvcHBlbGluZ3NwdW50IG9wZ2VnZXZlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9uczogJW0iCittc2dzdHIgIm9udGxlZGVuIHZhbiBhYW5rb3BwZWxpbmdzb3B0aWVzIGlzIG1pc2x1a3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGFhbmtvcHBlbGluZ3NvcHRpZXMgaXMgbWlzbHVrdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlczogaW5zdGVsbGVuIHZhbiBsdXMtYXBwYXJhYXQgaXMgbWlzbHVrdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICIlczogZXIgaXMgZWVuIG92ZXJsYXBwZW5kIGx1cy1hcHBhcmFhdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE0IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvY2tpbmcgZmFpbGVkIgorbXNnc3RyICJzbHVpdGVuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgImFhbmtvcHBlbGVuIGlzIG1pc2x1a3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogYmVzdGFuZHNzeXN0ZWVtIGlzIGFmZ2Vrb3BwZWxkLCBtYWFyIG1vdW50KDgpIGlzIG1pc2x1a3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICIlczogYmVzdGFuZHNzeXN0ZWVtIGlzIGFmZ2Vrb3BwZWxkLCBtYWFyIG1vdW50KDgpIGlzIG1pc2x1a3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiYWFua29wcGVsaW5nc3B1bnQgJXMgaXMgZ2VlbiBtYXAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgInRvZWdhbmcgZ2V3ZWlnZXJkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJ1IG1vZXQgcm9vdCB6aWpuIG9tIGFhbiB0ZSBrdW5uZW4ga29wcGVsZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIGlzIGJlemlnIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIGlzIGFsIGFhbmdla29wcGVsZCBvcCAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICIlcyBpcyBhbCBhYW5nZWtvcHBlbGQgb2YgJXMgaXMgYmV6aWciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImFhbmtvcHBlbGluZ3NwdW50ICVzIGJlc3RhYXQgbmlldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAiYWFua29wcGVsaW5nc3B1bnQgJXMgaXMgZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBkaWUgbmVyZ2VucyBuYWFyIHdpanN0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImFwcGFyYWF0ICVzIGJlc3RhYXQgbmlldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQoMikgaXMgbWlzbHVrdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgImFwcGFyYWF0ICVzIGJlc3RhYXQgbmlldCAgKGhldCBwYWQgYmV2YXQgaWV0cyBkYXQgZ2VlbiBtYXAgaXMpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm1vdW50OiAlcyBpcyBub2cgbmlldCBhYW5nZWtvcHBlbGQsIG9mIGVlbiBvbmdlbGRpZ2Ugb3B0aWUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIGlzIGdlZW4gYWFua29wcGVsaW5nc3B1bnQgb2YgZWVuIG9uZ2VsZGlnZSBvcHRpZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorIm9uZ2VsZGlnZSBvcHRpZSAtLSBoZXQgdmVycGxhYXRzZW4gdmFuIGVlbiBhYW5rb3BwZWxpbmdcbiIKKyJvbmRlciBlZW4gZ2VkZWVsZGUgYWFua29wcGVsaW5nIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHQgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSIKK21zZ3N0ciAiIgorIiAgICAgICAodm9vciBzb21taWdlIGJlc3RhbmRzc3lzdGVtZW4gKGJpanZvb3JiZWVsZCBuZnMgb2YgY2lmcykga2FuXG4iCisiICAgICAgIGVlbiAvc2Jpbi9tb3VudC48dHlwZT4gaHVscHByb2dyYW1tYSBub2RpZyB6aWpuKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcywgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJvbmp1aXN0ZSBiZXN0YW5kc3N5c3RlZW1zb29ydCwgb25nZWxkaWdlIG9wdGllLCBvbnRicmVrZW5kZSBjb2RlcGFnaW5hLFxuIgorIiAgICAgICBvbnRicmVrZW5kIGh1bHBwcm9ncmFtbWEsIHNsZWNodCBzdXBlcmJsb2sgb3AgJXMsIG9mIGVlbiBhbmRlcmUgZm91dCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgImFhbmtvcHBlbGluZ3N0YWJlbCBpcyB2b2wiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICIlczoga2FuIHN1cGVyYmxvayBuaWV0IGxlemVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAib25iZWtlbmRlIGJlc3RhbmRzc3lzdGVlbXNvb3J0ICclcyciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAib25iZWtlbmRlIGJlc3RhbmRzc3lzdGVlbXNvb3J0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIGlzIGdlZW4gYmxvay1hcHBhcmFhdCwgZW4gc3RhdCgyKSBpcyBtaXNsdWt0Li4uIGhlZWwgdnJlZW1kIgorCisjIEZJWE1FOiBiYWNrdGljaworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgIiIKKyJkZSBrZXJuZWwgaGVya2VudCAlcyBuaWV0IGFscyBlZW4gYmxvay1hcHBhcmFhdFxuIgorIiAgICAgICAobWlzc2NoaWVuIGlzICdtb2Rwcm9iZSBzdHV1cnByb2dyYW1tYScgbm9kaWc/KSIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIiVzIGlzIGdlZW4gYmxvay1hcHBhcmFhdCAgKG1pc3NjaGllbiAnLW8gbG9vcCcgcHJvYmVyZW4/KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiAlcyBpcyBnZWVuIGJsb2stYXBwYXJhYXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIGlzIGdlZW4gZ2VsZGlnIGJsb2stYXBwYXJhYXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJrYW4gJXMgbmlldCBhYW5rb3BwZWxlbiB2b29yIGFsbGVlbi1sZXplbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICIlcyBpcyBzY2hyaWpmYmV2ZWlsaWdkLCBtYWFyIGV4cGxpY2lldGUgb3B0aWUgJy13JyBpcyBnZWdldmVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJrYW4gJXMgbmlldCBoZXJhYW5rb3BwZWxlbiBhbHMgbGV6ZW4tZW4tc2NocmlqdmVuLCB3YW50IGlzIHNjaHJpamZiZXZlaWxpZ2QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgIiclcycgaXMgbWlzbHVrdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiZ2VlbiBtZWRpdW0gZ2V2b25kZW4gb3AgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAiemFsIG5pZXQgcHJvYmVyZW4gZWVuIGJlc3RhbmRzc3lzdGVlbSB0ZSBtYWtlbiBvcCAnJXMnIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDcyIGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudGVkIgorbXNnc3RyICIlcyBpcyBuaWV0IGFhbmdla29wcGVsZCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgImFhbmtvcHBlbGVuIGlzIG1pc2x1a3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogYmVzdGFuZHNzeXN0ZWVtIGlzIGFmZ2Vrb3BwZWxkLCBtYWFyIG1vdW50KDgpIGlzIG1pc2x1a3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICIlczogYmVzdGFuZHNzeXN0ZWVtIGlzIGFmZ2Vrb3BwZWxkLCBtYWFyIG1vdW50KDgpIGlzIG1pc2x1a3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogb25nZWxkaWcgYmxvay1hcHBhcmFhdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IGthbiBuaWV0IG5hYXIgc3VwZXJibG9rIHNjaHJpanZlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFyZ2V0IGlzIGJ1c3kiCittc2dzdHIgImRvZWwgYmVzdGFhdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGFhbmtvcHBlbGluZ3NwdW50IG9wZ2VnZXZlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiJXM6IHUgbW9ldCByb290IHppam4gb20gdGUga3VubmVuIGFma29wcGVsZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IGJsb2stYXBwYXJhdGVuIHppam4gbmlldCB0b2VnZXN0YWFuIG9wIGJlc3RhbmRzc3lzdGVlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50KDIpIGlzIG1pc2x1a3QiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkKCkgaXMgbWlzbHVrdCAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIHByb2Nlc3NvcmVuc2V0IGlzIG1pc2x1a3QiCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIHByb2Nlc3NvcmVubGlqc3QgJXMgaXMgbWlzbHVrdCIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcHJvY2Vzc29yZW5tYXNrZXIgJXMgaXMgbWlzbHVrdCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAia2FuIHNvY2tldCBuaWV0IG9wZW5lbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgImthbiBvcHRpZSB2b29yIHNvY2tldCBuaWV0IGluc3RlbGxlbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAia2FuIGdlZW4gdmVyYmluZGluZyBtYWtlbiBtZXQgc29ja2V0IgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIlBseW1vdXRoLXZlcnpvZWsgJWMgaXMgbmlldCBnZcOvbXBsZW1lbnRlZXJkIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICJwc2V1ZG8td2lsbGVrZXVyaWdlIGZ1bmN0aWVzIHZhbiBsaWJjIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAicHNldWRvLXdpbGxla2V1cmlnZSBmdW5jdGllcyB2YW4gbGliYyIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczoga2FuIGFwcGFyYWF0IG5pZXQgc29uZGVyZW4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IG9uZHVpZGVsaWprIHNvbmRlcmluZ3NyZXN1bHRhYXQ7IGdlYnJ1aWsgd2lwZWZzKDgpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IGdlZW4gZ2VsZGlnZSB3aXNzZWxnZWhldWdlbnBhcnRpdGllIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IG5pZXQtb25kZXJzdGV1bmRlIHdpc3NlbGdlaGV1Z2VudmVyc2llICclcyciCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NTkKKyMsIGZ1enp5Cittc2dpZCAiZm9ybWF0X2lzb190aW1lOiBidWZmZXIgb3ZlcmZsb3cuIgorbXNnc3RyICJuYW1laTogYnVmZmVyb3Zlcmxvb3BcbiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lICVsZCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJwb29ydCAnJWxkJyB2YWx0IGJ1aXRlbiBiZXJlaWsiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiICAgJXMgW29wdGllc10gWzxnZWJydWlrZXJzbmFhbT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiV2lqemlndCB1dyBmaW5nZXItaW5mb3JtYXRpZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgIC1mLCAtLWZ1bGwtbmFtZSA8bmFhbT4gICAgICAgdm9sbGVkaWdlLCBlY2h0ZSBuYWFtXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAgLW8sIC0tb2ZmaWNlIDxrYW50b29yPiAgICAgICBrYW50b29yLSBvZiBrYW1lcm51bW1lclxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgIC1wLCAtLW9mZmljZS1waG9uZSA8bnVtbWVyPiAgdGVsZWZvb25udW1tZXIgb3AgaGV0IHdlcmtcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAgLWgsIC0taG9tZS1waG9uZSA8bnVtbWVyPiAgICB0ZWxlZm9vbm51bW1lciB0aHVpc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJ2ZWxkICVzIGlzIHRlIGxhbmciCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjcgbG9naW4tdXRpbHMvY2hzaC5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiJXM6IGJldmF0IG9uZ2VsZGlnZSB0ZWtlbnMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICJsb2dpbi5kZWZzIHZlcmJpZWR0IGhldCBpbnN0ZWxsZW4gdmFuICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiS2FudG9vciIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIkthbnRvb3J0ZWxlZm9vbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJUaHVpc3RlbGVmb29uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIkFmZ2Vicm9rZW4uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgaGVlZnQgb252ZXJ3YWNodGUgd2FhcmRlOiAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1Qgc3RhYXQgZ2VlbiB2ZXJhbmRlcmluZ2VuIHRvZSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiRmluZ2VyLWluZm9ybWF0aWUgaXMgTklFVCBnZXdpanppZ2QuICBQcm9iZWVyIGhldCBsYXRlciBvcG5pZXV3LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXItaW5mb3JtYXRpZSBpcyBnZXdpanppZ2QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiVSBiZXN0YWF0IG5pZXQsIGdlYnJ1aWtlciAlZC4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJHZWJydWlrZXIgJyVzJyBiZXN0YWF0IG5pZXQuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKK21zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcyIKK21zZ3N0ciAia2FuIGFsbGVlbiBsb2thbGUgaXRlbXMgd2lqemlnZW4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMgaXMgbmlldCBnZXJlY2h0aWdkIG9tIGRlIGZpbmdlci1pbmZvcm1hdGllIHZhbiAlcyB0ZSB3aWp6aWdlbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIk9uYmVrZW5kZSBnZWJydWlrZXJzY29udGV4dCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJrYW4gZGUgc3RhbmRhYXJkY29udGV4dCB2b29yICVzIG5pZXQgaW5zdGVsbGVuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDY5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorInVpdHZvZXJlbmRlIFVJRCBrb210IG5pZXQgb3ZlcmVlbiBtZXQgZGUgVUlEIHZhbiBkZSBnZWJydWlrZXJcbiIKKyJ3aWVucyBnZWdldmVucyB3b3JkZW4gZ2V3aWp6aWdkIC0tIHdpanppZ2luZyBpcyBnZXdlaWdlcmQiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiV2lqemlnZW4gdmFuIGZpbmdlci1pbmZvcm1hdGllIHZvb3IgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXItaW5mb3JtYXRpZSBpcyBuaWV0IGdld2lqemlnZC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3Cittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIldpanppZ3QgdXcgbG9naW4tc2hlbGwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw9PHNoZWxsPiAgICB0ZSBnZWJydWlrZW4gbG9naW4tc2hlbGxcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdC1zaGVsbHMgICAgICBlZW4gbGlqc3QgdmFuIHNoZWxscyB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInNoZWxsIG1vZXQgZWVuIHZvbGxlZGlnZSBwYWRuYWFtIHppam4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICInJXMnIGJlc3RhYXQgbmlldCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIiclcycgaXMgbmlldCB1aXR2b2VyYmFhciIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIldhYXJzY2h1d2luZzogJyVzJyBzdGFhdCBuaWV0IGluICVzLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisiJyVzJyBzdGFhdCBuaWV0IGluICVzIC0tXG4iCisiZ2VicnVpayAnJXMgLWwnIG9tIGRlIGxpanN0IHRlIHppZW4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgaXMgbmlldCBnZXJlY2h0aWdkIG9tIGRlIHNoZWxsIHZhbiAlcyB0ZSB3aWp6aWdlbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKyJ1aXR2b2VyZW5kZSBVSUQga29tdCBuaWV0IG92ZXJlZW4gbWV0IGRlIFVJRCB2YW4gZGUgZ2VicnVpa2VyXG4iCisid2llbnMgZ2VnZXZlbnMgd29yZGVuIGdld2lqemlnZCAtLSBzaGVsbC13aWp6aWdpbmcgaXMgZ2V3ZWlnZXJkIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJ1dyBzaGVsbCBzdGFhdCBuaWV0IGluICVzIC0tIHNoZWxsLXdpanppZ2luZyBpcyBnZXdlaWdlcmQiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICJXaWp6aWdlbiB2YW4gc3RhbmRhYXJkLXNoZWxsIHZvb3IgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNDIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIk5pZXV3ZSBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiU2hlbGwgaXMgbmlldCBnZXdpanppZ2QuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIlNoZWxsIGlzIE5JRVQgZ2V3aWp6aWdkLiAgUHJvYmVlciBoZXQgbGF0ZXIgb3BuaWV1dy4iCisKKyMgRklYTUU6IHNwbGl0IGluIHR3byAgWFhYCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisiRnVuY3RpZSBzZXRwd25hbSgpIGlzIG1pc2x1a3QuXG4iCisiU2hlbGwgaXMgTklFVCBnZXdpanppZ2QuICBQcm9iZWVyIGhldCBsYXRlciBvcG5pZXV3LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJTaGVsbCBpcyBnZXdpanppZ2QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJHZWJydWlrOiAgJXMgPHdhY2h0d29vcmRiZXN0YW5kPiA8Z2VicnVpa2Vyc25hYW0+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAib25iZWtlbmRlIHRpamRvcG1hYWs6ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Mjc2IGxvZ2luLXV0aWxzL2xhc3QuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIk9uZGVyYnJva2VuICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM1IGxvZ2luLXV0aWxzL2xhc3QuYzo0NDYgbG9naW4tdXRpbHMvbGFzdC5jOjg5MgorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAiZGUgZ2VyZXNlcnZlZXJkZSBncm9vdHRlIGlzIG92ZXJzY2hyZWRlbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxnZWJydWlrZXJzbmFhbT4uLi5dIFs8dGVybWluYWxuYWFtPi4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICJUb29udCBlZW4gb3ZlcnppY2h0IHZhbiBkZSBsYWF0c3QtYWFuZ2VtZWxkZSBnZWJydWlrZXJzLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc4Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiICAtPGdldGFsPiAgICAgICAgICAgICAgaGV0IGFhbnRhbCB0ZSB0b25lbiByZWdlbHNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiICAtYSwgLS1ob3N0bGFzdCAgICAgICAgaG9zdG5hbWVuIHRvbmVuIGluIGRlIGxhYXRzdGUga29sb21cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgIC1kLCAtLWRucyAgICAgICAgICAgICBJUC1udW1tZXIgdGVydWd2ZXJ0YWxlbiBuYWFyIGVlbiBob3N0bmFhbVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiICAtZiwgLS1maWxlIDxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIGJlc3RhbmQgaW4gcGxhYXRzIHZhbiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiICAtRiwgLS1mdWxsdGltZXMgICAgICAgdm9sbGVkaWdlIGFhbi0gZW4gYWZtZWxkaW5nc3RpamRlbiBlbiAtZGF0YSB0b25lblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAgLWksIC0taXAgICAgICAgICAgICAgIElQLW51bW1lcnMgaW4gZ2V0YWxsZW4tZW4tcHVudGVubm90YXRpZSB0b25lblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiICAtbiwgLS1saW1pdCA8Z2V0YWw+ICAgaGV0IGFhbnRhbCB0ZSB0b25lbiByZWdlbHNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgIC1SLCAtLW5vaG9zdG5hbWUgICAgICBoZXQgaG9zdG5hYW12ZWxkIG5pZXQgdG9uZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiICAtcywgLS1zaW5jZSA8dGlqZD4gICAgZGUgaXRlbXMgdmFuYWYgZGV6ZSA8dGlqZD4gdG9uZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiICAtdCwgLS11bnRpbCA8dGlqZD4gICAgZGUgaXRlbXMgdG90IGRlemUgPHRpamQ+IHRvbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgIC1wLCAtLXByZXNlbnQgPHRpamQ+ICB0b25lbiB3aWUgb3AgZ2VnZXZlbiA8dGlqZD4gaW5nZWxvZ2Qgd2FyZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MAorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgLXcsIC0tZnVsbG5hbWVzICAgICAgIHZvbGxlZGlnZSBnZWJydWlrZXJzbmFtZW4gZW4gaG9zdG5hbWVuIHRvbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiICAteCwgLS1zeXN0ZW0gICAgICAgICAgcnVubGV2ZWwtd2lqemlnaW5nZW4gZW4gdWl0c2NoYWtlbGluZ2VuIHRvbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTIKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgICAtLXRpbWUtZm9ybWF0IDxvcG1hYWs+ICB0aWpkc3N0ZW1wZWxzIHRvbmVuIGluIGdlZ2V2ZW4gb3BtYWFrOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnbm90aW1lJywgJ3Nob3J0JywgJ2Z1bGwnLCBvZiAnaXNvJ1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlcyBiZWdpbnQgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIm9udGxlZGVuIHZhbiBnZXRhbCBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgIm9uZ2VsZGlnZSB0aWpkc3dhYXJkZSAnJXMnIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJLYW4gZ3JvZXBzcHJpdmlsZWdlcyBuaWV0IGxhdGVuIHZhbGxlbiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImluaXRpYWxpc2F0aWUgdmFuICdsaWJ1c2VyJyBpcyBtaXNsdWt0OiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAidmVyYW5kZXJpbmcgdmFuIGdlYnJ1aWtlcnNlaWdlbnNjaGFwIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgImdlYnJ1aWtlcnNlaWdlbnNjaGFwIGlzIG5pZXQgZ2V3aWp6aWdkOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICJGQVRBQUw6IGthbiB0dHkgbmlldCBoZXJvcGVuZW46ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIkZBVEFBTDogJXMgaXMgZ2VlbiB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJ2Nob3duJyAoJXMsICVsdSwgJWx1KSBpcyBtaXNsdWt0OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJ2NobW9kJyAoJXMsICV1KSBpcyBtaXNsdWt0OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiRkFUQUFMOiBzbGVjaHRlIHR0eSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiRkFUQUFMOiAlczogd2lqemlnZW4gdmFuIHRvZWdhbmdzcmVjaHRlbiBpcyBtaXNsdWt0OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIkxhYXRzdGUga2VlciBpbmdlbG9nZDogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJ2YW5hZiAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAib3AgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJzY2hyaWp2ZW4gdmFuICdsYXN0bG9nJyBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIklOQkVMTEVOIE9QICVzIERPT1IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVC1MT0dJTiBPUCAlcyBWQU5BRiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiUk9PVC1MT0dJTiBPUCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiTE9HSU4gT1AgJXMgRE9PUiAlcyBWQU5BRiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIkxPR0lOIE9QICVzIERPT1IgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiaW5sb2duYWFtOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIlBBTS1mb3V0IC0tIGdlc3RvcHQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIkthbiBQQU0gbmlldCBpbml0aWFsaXNlcmVuOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiSU5MT0dQT0dJTkcgJXUgSVMgTUlTTFVLVCBWQU5BRiAlcyBWT09SICVzIC0tICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJJbmxvZ2dlZ2V2ZW5zIG9uanVpc3RcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlRFIFZFRUwgSU5MT0dQT0dJTkdFTiAoJXUpIFZBTkFGICVzIFZPT1IgJXMgLS0gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiSU5MT0dTRVNTSUUgSVMgTUlTTFVLVCBWQU5BRiAlcyBWT09SICVzIC0tICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJJbmxvZ2dlZ2V2ZW5zIG9uanVpc3RcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3NpZS1pbnN0ZWxsaW5nc3Byb2JsZWVtIC0tIGdlc3RvcHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIkxlZ2UgZ2VicnVpa2Vyc25hYW0gaW4gJXM6JWQgLS0gZ2VzdG9wdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgImlvY3RsKFRJT0NTQ1RUWSkgaXMgbWlzbHVrdDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICJHZWJydWlrOiAgbG9naW4gWy1wXSBbLWggPGhvc3RuYWFtPl0gWy1IXSBbWy1mXSA8Z2VicnVpa2Vyc25hYW0+XVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDAKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAiQmVnaW50IGVlbiBzZXNzaWUgb3AgaGV0IHN5c3RlZW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgIC1mICAgICAgICAgICBsYW5nZSByZWdlbHMgbmlldCBvcHNwbGl0c2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNAorbXNnaWQgIiAtZiAgICAgICAgICAgICBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNQorbXNnaWQgIiAtaCA8aG9zdD4gICAgICBob3N0bmFtZSB0byBiZSB1c2VkIGZvciB1dG1wIGxvZ2dpbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA2CisjLCBmdXp6eQorbXNnaWQgIiAtSCAgICAgICAgICAgICBzdXBwcmVzcyBob3N0bmFtZSBpbiB0aGUgbG9naW4gcHJvbXB0IgorbXNnc3RyICIgIC11ICAgICAgICAgICBnZWVuIG9uZGVyc3RyZXBpbmdlbiBnZWJydWlrZW5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgImFmZ2Vicm9rZW4gbmEgJXUgc2Vjb25kZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiBvcHRpZSAnLWgnIGthbiBhbGxlZW4gZG9vciByb290IGdlYnJ1aWt0IHdvcmRlblxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIk9uanVpc3RlIGdlYnJ1aWtlcnNuYWFtICclcycgaW4gJXM6JWQgLS0gZ2VzdG9wdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJpbml0aWFsaXNhdGllIHZhbiBncm9lcGVuIGlzIG1pc2x1a3Q6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiVSBoZWJ0IG5pZXV3ZSBlLW1haWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJVIGhlYnQgZS1tYWlsLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzQKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IHdpanppZ2VuIHZhbiBtYXAgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiSW5nZWxvZ2QgbWV0IGhvbWUgPSAnLycuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3NgorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJrYW4gc2hlbGwtc2NyaXB0IG5pZXQgdWl0dm9lcmVuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiZ2VlbiBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyBiZXZhdCBvbmdlbGRpZ2UgbnVtZXJpZWtlIHdhYXJkZTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM4MworbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgImh1c2ggbG9naW4tc3RhdHVzOiBoZXJzdGVsbGVuIHZhbiBvcmlnaW5lbGUgSUQncyBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2IHN5cy11dGlscy9sc2NwdS5jOjE0NDYKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgIm5vIgorbXNnc3RyICJuZWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgImdlYnJ1aWtlcnNuYWFtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJHZWJydWlrZXJzbmFhbSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiR2VicnVpa2Vycy1JRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIndhY2h0d29vcmQgbmlldCB2ZXJlaXN0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiV2FjaHR3b29yZCBpcyBuaWV0IHZlcmVpc3QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgImlubG9nZ2VuIG1ldCB3YWNodHdvb3JkIGlzIHVpdGdlc2NoYWtlbGQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIklubG9nZ2VuIG1ldCB3YWNodHdvb3JkIGlzIHVpdGdlc2NoYWtlbGQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAid2FjaHR3b29yZCBpcyBnZWRlZmluaWVlcmQgbWFhciB2ZXJncmVuZGVsZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgIldhY2h0d29vcmQgaXMgdmVyZ3JlbmRlbGQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgImlubG9nZ2VuIGlzIHVpdGdlc2NoYWtlbGQgZG9vciBub2xvZ2luKDgpIG9mIHBhbV9ub2xvZ2luKDgpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJJbmxvZ2dlbiBpcyBnZWJsb2trZWVyZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgInByaW1haXJlIGdyb2Vwc25hYW0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiUHJpbWFpcmUgZ3JvZXAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAicHJpbWFpcmUgZ3JvZXBzLUlEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgInN1cHBsZW1lbnRhaXJlIGdyb2Vwc25hbWVuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJTdXBwbGVtZW50YWlyZSBncm9lcGVuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJzdXBwbGVtZW50YWlyZSBncm9lcHMtSUQncyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiU3VwcGxlbWVudGFpcmUgZ3JvZXBzLUlEJ3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgInRodWlzbWFwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJUaHVpc21hcCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiaW5sb2ctc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIlNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICJWb2xsZWRpZ2UgbmFhbSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiR2Vjb3MtdmVsZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImRhdHVtIHZhbiBsYWF0c3RlIGFhbm1lbGRpbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiTGFhdHN0ZSBrZWVyIGluZ2Vsb2dkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgImxhYXRzdC1nZWJydWlrdGUgVFRZIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIkxhYXRzdGUgdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgImhvc3RuYWFtIHRpamRlbnMgbGFhdHN0ZSBzZXNzaWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiTGFhdHN0ZSBob3N0bmFhbSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICJkYXR1bSB2YW4gbGFhdHN0ZSBtaXNsdWt0ZSBhYW5tZWxkaW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiTWlzbHVrdGUgYWFubWVsZGluZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJ3YWFyIG1pc2x1a3RlIGRlIGFhbm1lbGRpbmc/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiQWFubWVsZHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJodXNoLWluc3RlbGxpbmdlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIkdlaHVzaGVkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiYWFudGFsIGRhZ2VuIGRhdCBnZWJydWlrZXIgZ2V3YWFyc2NodXdkIHdvcmR0IHZvb3IgdmVybG9wZW4gdmFuIHdhY2h0d29vcmQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICJXYWNodHdvb3JkdmVybG9vcC13YWFyc2NodXdpbmdzaW50ZXJ2YWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJkYXR1bSBkYXQgd2FjaHR3b29yZCB2ZXJsb29wdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJXYWNodHdvb3JkIHZlcmxvb3B0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgImRhdHVtIHZhbiBsYWF0c3RlIHdhY2h0d29vcmR3aWp6aWdpbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiV2FjaHR3b29yZCBnZXdpanppZ2QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJtaW5pbXVtIGFhbnRhbCBkYWdlbiB0dXNzZW4gd2lqemlnaW5nZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiTWluaW11bSB3aWp6aWdpbmdzdGlqZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAibWF4aW11bSBhYW50YWwgZGFnZW4gZGF0IHdhY2h0d29vcmQgb25nZXdpanppZ2QgbWFnIGJsaWp2ZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiTWF4aW11bSB3aWp6aWdpbmdzdGlqZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgImJldmVpbGlnaW5nc2NvbnRleHQgdmFuIGRlIGdlYnJ1aWtlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIlNFTGludXgtY29udGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAiYWFudGFsIHByb2Nlc3NlbiBkYXQgZGUgZ2VicnVpa2VyIGRyYWFpZGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIkRyYWFpZW5kZSBwcm9jZXNzZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjQxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQgc3lzLXV0aWxzL2xzbWVtLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgInRlIHZlZWwga29sb21tZW4gb3BnZWdldmVuOyBtYXhpbXVtIGlzICV6dSBrb2xvbW1lbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6NDU3Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kZSB0aWpkc3Nvb3J0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICJzYW1lbnN0ZWxsZW4gdmFuIHRpamRzdGVrZW5yZWVrcyBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgImthbiBzdXBwbGVtZW50YWlyZSBncm9lcGVuIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA2OAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAiKippbnRlcm5lIHByb2dyYW1tYWZvdXQqKjogb25iZWtlbmRlIGtvbG9tIgorCisjIEZJWE1FOiBjbGFyaWZ5IHdpdGggdHJhbnNsYXRvciBjb21tZW50CisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxhYXRzdGUgbG9nYmVyaWNodGVuOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAgJXMgW29wdGllc11cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI5Cittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJUb29udCBpbmZvcm1hdGllIG92ZXIgZ2VicnVpa2VycyBpbiBoZXQgc3lzdGVlbS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAgLUcsIC0tc3VwcC1ncm91cCAgICAgICAgIGluZm9ybWF0aWUgb3ZlciBncm9lcGVuIHRvbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgIC1vLCAtLW91dHB1dFs9PGxpanN0Pl0gICB3ZWVyIHRlIGdldmVuIHVpdHZvZXJrb2xvbW1lblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDUgc3lzLXV0aWxzL2xzaXBjLmM6MzAzCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyMgRklYTUU6IHJlcXVlc3QgZmFpbGVkCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJvcHZyYWdlbiB2YW4gU0VMaW51eC10b2VzdGFuZCBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiU2xlY2h0cyDDqcOpbiBnZWJydWlrZXIgbWFnIHdvcmRlbiBnZWdldmVuLiAgR2VicnVpayAnLWwnIHZvb3IgbWVlcmRlcmUgZ2VicnVpa2Vycy4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJrYW4gdGVybWluYWxlaWdlbnNjaGFwcGVuIG5pZXQgaW5zdGVsbGVuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJXYWNodHdvb3JkOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJjcnlwdCgpIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgICVzIDxncm9lcD5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICJNZWxkdCB1IGFhbiBvbmRlciBlZW4gYW5kZXJlIGdyb2VwLlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIndpZSBiZW50IHU/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgImRpZSBncm9lcCBiZXN0YWF0IG5pZXQiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICJXZWlnZXJ0IGJlbGVlZmQgZWVuIGFhbm1lbGRpbmcuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIkRpdCBhY2NvdW50IGlzIG1vbWVudGVlbCBuaWV0IGJlc2NoaWtiYWFyLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyMjQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIChnZWhldWdlbmR1bXAgZ2VtYWFrdCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAia2FuIHRlcm1pbmFsZWlnZW5zY2hhcHBlbiBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgdWl0dm9lcnRhYmVsIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAia2FuIHNpZ25hbGVuIG5pZXQgYmxva2tlcmVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xzZW4gaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjcwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBtb2RpZnkgZW52aXJvbm1lbnQiCittc2dzdHIgIm9wZW5lbiB2YW4gbWFwIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwNgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAia2FuIG5pZXQgZ2VicnVpa3Qgd29yZGVuIGRvb3IgZ2V3b25lIGdlYnJ1aWtlcnMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAib25qdWlzdCB3YWNodHdvb3JkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgImthbiBzZXNzaWUgbmlldCBvcGVuZW46ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NzkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3ODcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siCittc2dzdHIgImthbiBzaWduYWxlbiBuaWV0IGJsb2trZXJlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgImthbiBnZWVuIHNpZ25hYWx2ZXJ3ZXJrZXIgaW5zdGVsbGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAia2FuIGdlZW4gc2lnbmFhbHZlcndlcmtlciBpbnN0ZWxsZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgxMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBtYXNrIgorbXNnc3RyICJrYW4gZ2VlbiBzaWduYWFsdmVyd2Vya2VyIGluc3RlbGxlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJrYW4gZ2VlbiBkb2NodGVycHJvY2VzIHN0YXJ0ZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGh1aWRpZ2UgbWFwIG5hYXIgJXMgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNzaWUgaXMgYmXDq2luZGlnZCwgc2hlbGwgd29yZHQgZ2XDq2xpbWluZWVyZC4uLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgIiAuLi5pcyBnZcOrbGltaW5lZXJkLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBvbWdldmluZ3N2YXJpYWJlbGUgJXMgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJrYW4gZGUgZ3JvZXBlbiBuaWV0IGluc3RlbGxlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gbml2ZWF1ICclcycgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyMiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJrYW4gZ3JvZXBzLUlEIG5pZXQgaW5zdGVsbGVuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAia2FuIGdlYnJ1aWtlcnMtSUQgbmlldCBpbnN0ZWxsZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBvbWdldmluZ3N2YXJpYWJlbGVuIG5pZXQgd2lzc2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAgLWcsIC0tZ3JvdXAgPGdyb2VwPiAgICAgICAgICAgICB0ZSBnZWJydWlrZW4gcHJpbWFpcmUgZ3JvZXBcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCittc2dzdHIgIiIKKyIgIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb2VwPiAgICAgICAgdGUgZ2VicnVpa2VuIHN1cHBsZW1lbnRhaXJlIGdyb2VwXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICB2YW4gZGUgc2hlbGwgZWVuIGxvZ2luLXNoZWxsIG1ha2VuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiICAtYywgLS1jb21tYW5kIDxvcGRyYWNodD4gICAgICAgIGRlemUgZW5lIG9wZHJhY2h0IGFhbiBkZSBzaGVsbCBnZXZlbiB2aWEgJy1jJ1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiICAtLXNlc3Npb24tY29tbWFuZCA8b3BkcmFjaHQ+ICAgIGRlemUgZW5lIG9wZHJhY2h0IGFhbiBkZSBzaGVsbCBnZXZlbiB2aWEgJy1jJ1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHpvbmRlciBlZW4gbmlldXdlIHNlc3NpZSBhYW4gdGUgbWFrZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICAnLWYnIGFhbiBkZSBzaGVsbCBnZXZlbiAodm9vciAnY3NoJyBvZiAndGNzaCcpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDIKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD08c2hlbGw+ICAgICAgICAgICAgIHRlIGdlYnJ1aWtlbiBzaGVsbCBhbHMgL2V0Yy9zaGVsbHMgZGl0IHRvZXN0YWF0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgIGVlbiB0YWJlbCBwcm9kdWNlcmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdIDxhcHBhcmFhdD4gW1stTl0gPHBhcnRpdGllbnVtbWVyPl1cbiIKKyIgICUxJHMgW29wdGllc10gPG9wZHJhY2h0PlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJWb2VydCA8b3BkcmFjaHQ+IHVpdCBtZXQgZWZmZWN0aWV2ZSBnZWJydWlrZXJzLUlEIGVuIGdyb2Vwcy1JRCB2YW4gPGdlYnJ1aWtlcj4uXG4iCisiWm9uZGVyICctdScgd29yZHQgZWVuIHNlbWFudGllayBnZWJydWlrdCBkaWUgY29tcGF0aWJlbCBpcyBtZXQgJ3N1KDEpJyBlbiB3b3JkdFxuIgorImVlbiBzdGFuZGFhcmQgc2hlbGwgdWl0Z2V2b2VyZC5cbiIKKyJEZSBvcHRpZXMgJy1jJywgJy1mJywgJy1sJyBlbiAnLXMnIGdhYW4gbmlldCBzYW1lbiBtZXQgJy11Jy5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEyMworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgIC11LCAtLXVzZXIgPGdlYnJ1aWtlcj4gICAgICBkZSBJRCdzIHZhbiBkZXplIGdlYnJ1aWtlciBnZWJydWlrZW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbLV0gWzxnZWJydWlrZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIldpanppZ3QgZGUgZWZmZWN0aWV2ZSBnZWJydWlrZXJzLUlEIGVuIGdyb2Vwcy1JRCBpbiBkaWUgdmFuIDxnZWJydWlrZXI+LlxuIgorIkVlbiBlbmtlbGUgJy0nIGJldGVrZW50ICctbCcuICBab25kZXIgZWVuIDxnZWJydWlrZXI+LCB3b3JkdCByb290IGJlZ3JlcGVuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICJoZXQgaXMgbmlldCBtb2dlbGlqayBvbSBtZWVyIGRhbiAlZCBzdXBwbGVtZW50YWlyZSBncm9lcCBvcCB0ZSBnZXZlbiIKK21zZ3N0clsxXSAiaGV0IGlzIG5pZXQgbW9nZWxpamsgb20gbWVlciBkYW4gJWQgc3VwcGxlbWVudGFpcmUgZ3JvZXBlbiBvcCB0ZSBnZXZlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZ3JvZXAgJXMgYmVzdGFhdCBuaWV0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCisjLCBmdXp6eQorbXNnaWQgIi0tcHR5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHlvdXIgc3lzdGVtIgorbXNnc3RyICJvcHRpZSAnLS1yZWxvYWQnIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQgb3AgdXcgc3lzdGVlbSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTMyNgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAib3B0aWUgJy0tcHJlc2VydmUtZW52aXJvbm1lbnQnIHdvcmR0IGdlbmVnZWVyZDsgZ2FhdCBuaWV0IHNhbWVuIG1ldCAnLS1sb2dpbiciCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3B0aWUgJy0tdXNlcicgZ2FhdCBuaWV0IHNhbWVuIG1ldCAnLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0nIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGNvbW1hbmRvIGdlZ2V2ZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJhbGxlZW4gcm9vdCBrYW4gYWx0ZXJuYXRpZXZlIGdyb2VwZW4gb3BnZXZlbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJnZWJydWlrZXIgJXMgYmVzdGFhdCBuaWV0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgImluZ2VwZXJrdGUgc2hlbGwgJXMgd29yZHQgZ2VicnVpa3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIndhYXJzY2h1d2luZzoga2FuIG1hcCBuaWV0IHdpanppZ2VuIGluICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNnZXRhdHRyKCkgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjc2V0YXR0cigpIGlzIG1pc2x1a3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiBlciBpcyBnZWVuIGl0ZW0gdm9vciByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczogZXIgaXMgZ2VlbiBpdGVtIHZvb3Igcm9vdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogaGV0IHJvb3R3YWNodHdvb3JkIGlzIHZlcmtub2VpZCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLYW4gZ2VlbiB0b2VnYW5nIGtyaWpnZW4gdG90IGVlbiBjb25zb2xlOyBoZXQgcm9vdC1hY2NvdW50IGlzIHZlcmdyZW5kZWxkLlxuIgorIlppZSBkZSBoYW5kbGVpZGluZyB2YW4gc3Vsb2dpbig4KSB2b29yIG1lZXIgaW5mb3JtYXRpZS5cbiIKKyJcbiIKKyJEcnVrIG9wIEVudGVyIG9tIHZlcmRlciB0ZSBnYWFuLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbG9naW46ICIKK21zZ3N0ciAiR2VlZiBoZXQgcm9vdHdhY2h0d29vcmQgb20gaW4gdGUgbG9nZ2VuOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIkRydWsgb3AgRW50ZXIgb20gaW4gdGUgbG9nZ2VuOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJHZWVmIGhldCByb290d2FjaHR3b29yZCB2b29yIG9uZGVyaG91ZFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJEcnVrIG9wIEVudGVyIHZvb3Igb25kZXJob3VkXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKG9mIGRydWsgb3AgQ3RybC1EIG9tIHZlcmRlciB0ZSBnYWFuKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIndpanppZ2VuIHZhbiBodWlkaWdlIG1hcCBuYWFyIHN5c3RlZW1ob29mZG1hcCBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24oKSBpcyBtaXNsdWt0IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxUVFktYXBwYXJhYXQ+XVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIkXDqW5nZWJydWlrZXJzbW9kdXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgICBlZW4gbG9naW4tc2hlbGwgc3RhcnRlblxuIgorIiAgLXQsIC0tdGltZW91dCA8c2Vjb25kZW4+ICBtYXhpbXVtIHRpamQgb20gdGUgd2FjaHRlbiBvcCBpbnZvZXIgdmFuIHdhY2h0d29vcmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhbmRhYXJkOiBnZWVuIGxpbWlldClcbiIKKyIgIC1lLCAtLWZvcmNlICAgICAgICAgICAgICAgd2FjaHR3b29yZGJlc3RhbmRlbiBkaXJlY3QgYmVraWprZW4gYWxzIGRlIGZ1bmN0aWVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRwd25hbSgzKSBmYWFsdFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODYzIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0Njggc3lzLXV0aWxzL3dkY3RsLmM6NTI0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgxNyB0ZXJtLXV0aWxzL3dhbGwuYzoyMTYKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnZSB0aWpkc2xpbWlldCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJhbGxlZW4gcm9vdCBrYW4gZGl0IHByb2dyYW1tYSB1aXR2b2VyZW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICJrYW4gY29uc29sZSBuaWV0IG9wZW5lbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJrYW4gd2FjaHR3b29yZGVuZ2VnZXZlbnNiYW5rIG5pZXQgb3BlbmVuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJLYW4gZGUgJ3N1Jy1zaGVsbCBuaWV0IHVpdHZvZXJlblxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkR1dXJkZSB0ZSBsYW5nXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisiS2FuIG5pZXQgb3AgJ3N1Jy1zaGVsbCB3YWNodGVuXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczoga2FuIGdlZW4gJ2lub3RpZnknLXdhY2h0ZXIgdG9ldm9lZ2VuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBrYW4gZ2VlbiAnaW5vdGlmeSctZ2ViZXVydGVuaXNzZW4gbGV6ZW4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ5Cittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICJPbmdlcGFzdCByZWdlbGVpbmRlIGluIGJlc3RhbmQgLS0gZ2VzdG9wdC4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFs8YmVzdGFuZD5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIlVUTVAtIGVuIFdUTVAtYmVzdGFuZGVuIGluIHJhdXdlIHZvcm0gd2VlcmdldmVuLlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgIC1mLCAtLWZvbGxvdyAgICAgdG9lZ2V2b2VnZGUgZ2VnZXZlbnMgdG9uZW4gd2FubmVlciBiZXN0YW5kIGdyb2VpdFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiAgLXIsIC0tcmV2ZXJzZSAgICBnZWR1bXB0ZSBnZWdldmVucyB0ZXJ1Z3NjaHJpanZlbiBuYWFyICd1dG1wJy1iZXN0YW5kXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzExCittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGJlc3RhbmQ+ICAgbmFhciBkaXQgYmVzdGFuZCBzY2hyaWp2ZW4gaS5wLnYuIHN0YW5kYWFyZHVpdHZvZXJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImhldCB2b2xnZW4gdmFuIHN0YW5kYWFyZGludm9lciB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wLW9udGR1bXBpbmcgdmFuICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wLWR1bXAgdmFuICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDUKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJrYW4gdGlqZGVsaWprIGJlc3RhbmQgbmlldCBvcGVuZW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogYWFubWFrZW4gdmFuIGVlbiBsaW5rIG5hYXIgJXMgaXMgbWlzbHVrdCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIkthbiBjb250ZXh0IHZhbiAlcyBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS2FuIGNvbnRleHQgdm9vciAlcyBuaWV0IGluc3RlbGxlbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzIGlzIG9uZ2V3aWp6aWdkIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJrYW4gZ2VlbiB2ZXJncmVuZGVsaW5nIHZlcmtyaWpnZW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODQKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgImdlZW4gd2lqemlnaW5nZW4gZ2VtYWFrdCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJrYW4gbW9kdXMgdmFuIGJlc3RhbmQgbmlldCB3aWp6aWdlbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIkJld2Vya3QgaGV0ICdwYXNzd2QnLSBvZiAnZ3JvdXAnLWJlc3RhbmQuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlUgZ2VicnVpa3Qgc2NoYWR1d2dyb2VwZW4gb3AgZGl0IHN5c3RlZW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIlUgZ2VicnVpa3Qgc2NoYWR1d3dhY2h0d29vcmRlbiBvcCBkaXQgc3lzdGVlbS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIldpbHQgdSAlcyBudSBiZXdlcmtlbiBbai9uXT8gIgorCisjIEZJWE1FOiBwYXJlbnRoZXNpcz8KKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiJyVzJyB1aXQgJXMgKGxpYm1vdW50ICVzKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxmaWxlPiAgICByZWFkIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBkZWZhdWx0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUgZmlsZSAoLWMgL2Rldi9udWxsIG1lYW5zIG5vIGNhY2hlKVxuIgorbXNnc3RyICIiCisiICAtQSwgLS1hZGpmaWxlPTxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIHZlcnNjaHVpdmluZ3NyZWdpc3RyYXRpZWJlc3RhbmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGFuZGFhcmQgaXMgJXMpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0LXNoZWxscyAgICAgIGVlbiBsaWpzdCB2YW4gc2hlbGxzIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIGluZm9ybWF0aWUgdG9uZW4gKG92ZXIgYWxsZSBvZiBnZWdldmVuIGFwcGFyYWF0KVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgICAgIGNvbnZlcnQgTEFCRUwgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiICAtcywgLS1zaXplIDxnZXRhbD4gICAgICAgZGUgZ3Jvb3R0ZSB2YW4gaGV0IFpSQU0tYXBwYXJhYXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiICAtdSwgLS11c2VyIDxnZWJydWlrZXI+ICAgICAgZGUgSUQncyB2YW4gZGV6ZSBnZWJydWlrZXIgZ2VicnVpa2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIlNjaGVkdWxpbmdvcHRpZXM6XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiICAtcCwgLS1waWQgICAgICAgICBQSUQtbmFhbXNydWltdGUgbmlldCBkZWxlblxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAgLWksIC0taW5mbyAgICAgICAgICAgICAgICBhbGxlZW4gaW5mbyBvdmVyIGRlIHNvbmRlcmluZ3NzdGFwIHRvbmVuIFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAtcywgLS1zaXplIDxnZXRhbD4gICAgICAgZGUgZ3Jvb3R0ZSB2YW4gaGV0IFpSQU0tYXBwYXJhYXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb2Zmc2V0IDxvZmZzZXQ+ICAgICAgcHJvYmUgYXQgdGhlIGdpdmVuIG9mZnNldFxuIgorbXNnc3RyICIgIC1ILCAtLWhvc3QgPGhvc3RuYWFtPiAgICAgbmFhbSB2YW4gaG9zdCB3YWFyb3AgaW4gdGUgbG9nZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgIC10LCAtLXR5cGVzIDxsaWpzdD4gICAgICAgZGUgc2V0IHZhbiBiZXN0YW5kc3N5c3RlZW1zb29ydGVuIGJlcGVya2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorbXNnc3RyICIgIC10LCAtLXR5cGVzIDxsaWpzdD4gICAgICAgZGUgc2V0IHZhbiBiZXN0YW5kc3N5c3RlZW1zb29ydGVuIGJlcGVya2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICJNYXJrZXJlbiBhbHMgZ2VicnVpa3QiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiJXMgaXMgbmlldCBhYW5nZWtvcHBlbGQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIgorbXNnc3RyICJmb3V0OiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICJvbmJla2VuZCBhcmd1bWVudDogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgIm9uZ2VsZGlnZSBvcHRpZS1vcG1hYWs6ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIHBvc2l0aWUtYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgImdlZW4gY29tbWFuZG8gZ2VnZXZlbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnZSB0aWpkIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6Nzc2Cittc2dpZCAiQ2FuIG9ubHkgc2VhcmNoIGZvciBvbmUgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3ODMKK21zZ2lkICItdCBuZWVkcyBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgzMworbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIGRvZXMgbm90IHN1cHBvcnQgJ2xpc3QnIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg0NgorbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIHJlcXVpcmVzIGEgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OTYKK21zZ2lkICJUaGUgbG9va3VwIG9wdGlvbiByZXF1aXJlcyBhIHNlYXJjaCB0eXBlIHNwZWNpZmllZCB1c2luZyAtdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxMQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIG1hYW5kYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyB3ZWVrYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIxCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAib25qdWlzdGUgd2FhcmRlIHZvb3Igd2VlazsgIGdlYnJ1aWsgMS01NCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gdGlqZHNzdGVtcGVsIGlzIG1pc2x1a3Qgb2Ygb25iZWtlbmRlIG1hYW5kbmFhbTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIm9uZ2VsZGlnZSB3YWFyZGUgdm9vciBkYWciCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc3IG1pc2MtdXRpbHMvY2FsLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAib25qdWlzdGUgd2FhcmRlIHZvb3IgZGFnOyAgZ2VicnVpayAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJvbmp1aXN0ZSB3YWFyZGUgdm9vciBtYWFuZDsgIGdlYnJ1aWsgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAib25iZWtlbmRlIG1hYW5kbmFhbTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJvbmdlbGRpZ2Ugd2FhcmRlIHZvb3IgamFhciIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJvbmp1aXN0ZSB3YWFyZGUgdm9vciBqYWFyOyAgZ2VicnVpayBlZW4gcG9zaXRpZWYgZ2VoZWVsIGdldGFsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIm9uanVpc3RlIHdhYXJkZSB2b29yIHdlZWs7ICBqYWFyICVkIGhlZWZ0IGdlZW4gd2VlayAlZCIKKworIyBGSVhNRTogYWRkIHRyYW5zbGF0b3IgY29tbWVudAorIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIlMDRkIgorCisjIEZJWE1FOiBhZGQgdHJhbnNsYXRvciBjb21tZW50CisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlMDRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFtbW2RhZ10gbWFhbmRdIGphYXJdXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDx0aWpkc3N0ZW1wZWw+fDxtYWFuZG5hYW0+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJUb29udCBlZW4ga2FsZW5kZXIgb2YgZWVuIGRlZWwgZXJ2YW4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiWm9uZGVyIGFyZ3VtZW50ZW4gd29yZHQgZGUgaHVpZGlnZSBtYWFuZCBnZXRvb25kLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtMSwgLS1vbmUgICAgICAgICAgICAgc2xlY2h0cyDDqcOpbiBtYWFuZCB0b25lbiAoc3RhbmRhYXJkKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDMKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAgLTMsIC0tdGhyZWUgICAgICAgICAgIGRyaWUgbWFhbmRlbiByb25kb20gZGUgZGF0dW0gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiICAtbiwgLS1tb250aHMgPGdldGFsPiAgZGl0IGFhbnRhbCBtYWFuZGVuIHRvbmVuIHZhbmFmIGRlIGRhdHVtXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAgLVMsIC0tc3BhbiAgICAgICAgICAgIGRlIGRhdHVtIG9tdmF0dGVuIGJpaiB3ZWVyZ2F2ZSB2YW4gbWVlcmRlcmUgbWFhbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDYKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgIC1zLCAtLXN1bmRheSAgICAgICAgICB6b25kYWcgaXMgZWVyc3RlIGRhZyB2YW4gZGUgd2Vla1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDcKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgIC1tLCAtLW1vbmRheSAgICAgICAgICBtYWFuZGFnIGlzIGVlcnN0ZSBkYWcgdmFuIGRlIHdlZWtcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiAgLWosIC0tanVsaWFuICAgICAgICAgIEp1bGlhYW5zZSBkYXR1bXMgd2VlcmdldmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOQorbXNnaWQgIiAgICAgLS1yZWZvcm0gPHZhbD4gICAgR3JlZ29yaWFuIHJlZm9ybSBkYXRlICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0taXNvICAgICAgICAgICAgIGFsaWFzIGZvciAtLXJlZm9ybT1pc29cbiIKK21zZ3N0ciAiICAgICAgICAgICAgIHQgLSB0YWJlbCBpbiBydXdlIG9wbWFhayIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAgLXksIC0teWVhciAgICAgICAgICAgIGVlbiBoZWVsIGphYXIgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEyCittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiICAtWSwgLS10d2VsdmUgICAgICAgICAgZGUgdm9sZ2VuZGUgdHdhYWxmIG1hYW5kZW4gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgIC13LCAtLXdlZWtbPTxnZXRhbD5dICBBbWVyaWthYW5zZSBvZiBJU08tODYwMS13ZWVrbnVtbWVycyB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTQKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgIC0tY29sb3JbPTx3YW5uZWVyPl0gIHVpdHZvZXIga2xldXJlbiAoJ2Fsd2F5cycsICdhdXRvJywgb2YgJ25ldmVyJylcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiR2VkZWVsZGdlaGV1Z2VuLXBhZ2luYSdzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MgorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIGJ5dGVzIgorbXNnc3RyICJHZWRlZWxkZ2VoZXVnZW4tcGFnaW5hJ3MiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgImFwcGFyYWF0Z3Jvb3R0ZSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBuYW1lIgorbXNnc3RyICJCZXN0YW5kc25hYW0iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJsZXplbiB2YW4gc3ltbGluayAlcyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtbWFwOiAlcyIKK21zZ3N0ciAib3BlbmVuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAib3BlbmVuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgImxlemVuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxiZXN0YW5kPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLUosIC0tanNvbiAgICAgICAgICAgICB1aXR2b2VyIGluIEpTT04tb3BtYWFrIHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLWIsIC0tYnl0ZXMgICAgICAgICAgICBncm9vdHRlcyBpbiBieXRlcyB3ZWVyZ2V2ZW4gaS5wLnYuIGluIGxlZXNiYXJlIHZvcm1cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgdGUgdG9uZW4ga29sb21tZW4gaW4gZGUgdWl0dm9lclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtciwgLS1yYXcgICAgICAgICAgICAgIHJhdXdlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiZ2VlbiBiZXN0YW5kc25hYW0gZ2VnZXZlbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHdhYXJkZT5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIlpvZWt0IGVlbiBiZXN0YW5kc3N5c3RlZW0gYWFuIGRlIGhhbmQgdmFuIGxhYmVsIG9mIFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAia2FuICclcycgbmlldCBoZXJsZWlkZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiYnJvbmFwcGFyYWF0ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiYWFua29wcGVsaW5nc3B1bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW1zb29ydCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImFsbGUgYWFua29wcGVsaW5nc29wdGllcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIlZGUy1zcGVjaWZpZWtlIGFhbmtvcHBlbGluZ3NvcHRpZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbXNwZWNpZmlla2UgYWFua29wcGVsaW5nc29wdGllcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiYmVzdGFuZHNzeXN0ZWVtbGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW0tVVVJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJwYXJ0aXRpZWxhYmVsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgImhvb2ZkLTpzdWJhcHBhcmFhdG51bW1lciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYWN0aWUgZ2VkZXRlY3RlZXJkIGRvb3IgJy0tcG9sbCciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAib3VkZSBhYW5rb3BwZWxpbmdzb3B0aWVzIGdlZGV0ZWN0ZWVyZCBkb29yICctLXBvbGwnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIm91ZCBhYW5rb3BwZWxpbmdzcHVudCBnZWRldGVjdGVlcmQgZG9vciAnLS1wb2xsJyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW1ncm9vdHRlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW1ncm9vdHRlIChiZXNjaGlrYmFhcikiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW1ncm9vdHRlIChnZWJydWlrdCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbWdlYnJ1aWsgKHBlcmNlbnRhZ2UpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbWhvb2ZkbWFwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJ0YWFrLUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibW91bnQtSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAib3B0aW9uZWxlIG1vdW50LXZlbGRlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJWRlMtZG9vcmdhdmV2bGFnZ2VuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZHVtcCg4KS1wZXJpb2RlIGluIGRhZ2VuIFthbGxlZW4gaW4gJ2ZzdGFiJ10iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJkb29ybG9vcG51bW1lciBiaWogcGFyYWxsZWxsZSBmc2NrKDgpIFthbGxlZW4gaW4gJ2ZzdGFiJ10iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIm9uYmVrZW5kZSBhY3RpZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJhYW5rb3BwZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiYWZrb3BwZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgImhlcmFhbmtvcHBlbGluZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjUyCittc2dpZCAibW92ZSIKK21zZ3N0ciAidmVycGxhYXRzaW5nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJpbml0aWFsaXNlcmVuIHZhbiBsaWJtb3VudC10YWJlbCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4NDEgdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCAlcyIKK21zZ3N0ciAia2FuICVzIG5pZXQgbGV6ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJpbml0aWFsaXNlcmVuIHZhbiBsaWJtb3VudC1pdGVyYXRvciBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAiaW5pdGlhbGlzZXJlbiB2YW4gbGlibW91bnQtdGFiZWx2ZXJzY2hpbCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE3Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdXG4iCisiICAlMSRzIFtvcHRpZXNdIDxhcHBhcmFhdD4gfCA8YWFua29wcGVsaW5nc3B1bnQ+XG4iCisiICAlMSRzIFtvcHRpZXNdIDxhcHBhcmFhdD4gPGFhbmtvcHBlbGluZ3NwdW50PlxuIgorIiAgJTEkcyBbb3B0aWVzXSBbLS1zb3VyY2UgPGFwcGFyYWF0Pl0gWy0tdGFyZ2V0IDxwYWQ+IHwgLS1tb3VudHBvaW50IDxtYXA+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJab2VrdCBlZW4gKGFhbmdla29wcGVsZCkgYmVzdGFuZHNzeXN0ZWVtLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAyCittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1zLCAtLWZzdGFiICAgICAgICAgICAgaW4gZGUgc3RhdGlzY2hlIHRhYmVsIHZhbiBiZXN0YW5kc3N5c3RlbWVuIHpvZWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiIgorIiAgLWssIC0ta2VybmVsICAgICAgICAgICBpbiBkZSBrZXJuZWx0YWJlbCB2YW4gYWFuZ2Vrb3BwZWxkZSBiZXN0YW5kc3N5c3RlbWVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgem9la2VuIChzdGFuZGFhcmQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAgLWssIC0ta2VybmVsICAgICAgICAgICBpbiBkZSBrZXJuZWx0YWJlbCB2YW4gYWFuZ2Vrb3BwZWxkZSBiZXN0YW5kc3N5c3RlbWVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgem9la2VuIChzdGFuZGFhcmQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisiICAtcCwgLS1wb2xsWz08bGlqc3Q+XSAgIHdpanppZ2luZ2VuIGluIHRhYmVsIHZhbiBhYW5nZWtvcHBlbGRlIGJlc3RhbmRzc3lzdGVtZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9uaXRvcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIgIC13LCAtLXRpbWVvdXQgPGdldGFsPiAgbWF4aW11bSB0aWpkIChpbiBtaWxsaXNlY29uZGVuKSBkYXQgJy0tcG9sbCcgYmxva2tlZXJ0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAgLUEsIC0tYWxsICAgICAgICAgICAgICBhbGxlIGluZ2Vib3V3ZGUgZmlsdGVycyB1aXRzY2hha2VsZW4gZW4gYWxsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGJlc3RhbmRzc3lzdGVtZW4gd2VlcmdldmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgIC1hLCAtLWFzY2lpICAgICAgICAgICAgQVNDSUktdGVrZW5zIGdlYnJ1aWtlbiB2b29yIGhldCB0ZWtlbmVuIHZhbiBkZSBib29tXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtYiwgLS1ieXRlcyAgICAgICAgICAgIGdyb290dGVzIGluIGJ5dGVzIHdlZXJnZXZlbiBpLnAudi4gaW4gbGVlc2JhcmUgdm9ybVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAgLUMsIC0tbm8tY2Fub25pY2FsaXplICBwYWRlbiBiaWogdmVyZ2VsaWprZW4gbmlldCBjYW5vbmllayBtYWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiICAtYywgLS1jYW5vbmljYWxpemUgICAgIGdldG9vbmRlIHBhZGVuIGNhbm9uaWVrIG1ha2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiICAtRCwgLS1kZiAgICAgICAgICAgICAgIGRlIHVpdHZvZXIgdmFuIGRmKDEpIG5hYm9vdHNlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiICAtZCwgLS1kaXJlY3Rpb24gPHdvb3JkPiAgem9la3JpY2h0aW5nLCAnZm9yd2FyZCcgb2YgJ2JhY2t3YXJkJ1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgIC1lLCAtLWV2YWx1YXRlICAgICAgICAgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIG9temV0dGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbmFhciBhcHBhcmFhdG5hbWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgIC1GLCAtLXRhYi1maWxlIDxwYWQ+ICAgYWx0ZXJuYXRpZWYgYmVzdGFuZCB2b29yIGRlIG9wdGllcyAnLWsnLCAnLW0nIG9mICctcydcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiICAtZiwgLS1maXJzdC1vbmx5ICAgICAgIGFsbGVlbiBoZXQgZWVyc3RnZXZvbmRlbiBiZXN0YW5kc3N5c3RlZW0gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiICAtaSwgLS1pbnZlcnQgICAgICAgICAgIGRlIG92ZXJlZW5rb21zdGVuIGludmVydGVyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLUosIC0tanNvbiAgICAgICAgICAgICB1aXR2b2VyIGluIEpTT04tb3BtYWFrIHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNSBzeXMtdXRpbHMvbHNucy5jOjkwMgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgIHVpdHZvZXIgaW4gdm9ybSB2YW4gbGlqc3QgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKyIgIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgYWx0ZXJuYXRpZXZlIG5hYW1zcnVpbXRlIGdlYnJ1aWtlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIChoZXQgL3Byb2MvPHRpZD4vbW91bnRpbmZvIGJlc3RhbmQpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgIC1PLCAtLW9wdGlvbnMgPGxpanN0PiAgc2V0IHZhbiBiZXN0YW5kc3N5c3RlbWVuIGJlcGVya2VuIHZpYSBhYW5rb3BwZWxpbmdzb3B0aWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgIHdlZXIgdGUgZ2V2ZW4gdWl0dm9lcmtvbG9tbWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzAKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVAsIC0tcGFpcnMgICAgICAgICAgICB1aXR2b2VyIHByb2R1Y2VyZW4gaW4gZGUgdm9ybSB2YW4gc2xldXRlbD1cIndhYXJkZVwiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAgLVIsIC0tc3VibW91bnRzICAgICAgICBhbGxlIHN1YmFhbmtvcHBlbGluZ2VuIHRvbmVuIHZvb3Igb3ZlcmVlbmtvbWVuZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBiZXN0YW5kc3N5c3RlbWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtciwgLS1yYXcgICAgICAgICAgICAgIHJhdXdlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiICAtUywgLS1zb3VyY2UgPHRla3N0PiAgIGhldCBhYW4gdGUga29wcGVsZW4gYXBwYXJhYXQgKHZpYSBuYWFtLCBMQUJFTD0sIFVVSUQ9LFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBUlRVVUlEPSwgUEFSVExBQkVMPSwgb2YgaG9vZmRudW1tbWVyOnN1Ym51bW1lcilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgIC1ULCAtLXRhcmdldCA8cGFkPiAgICAgaGV0IHBhZCB2YW4gaGV0IHRlIGdlYnJ1aWtlbiBiZXN0YW5kc3N5c3RlZW1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdCAgICAgICAgICAgICB1aXR2b2VyIGluIHZvcm0gdmFuIGxpanN0IHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgIC1NLCAtLW1vdW50cG9pbnQgPG1hcD4gICBkZSBtYXAgdmFuIGhldCBhYW5rb3BwZWxpbmdzcHVudFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM4Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgIC10LCAtLXR5cGVzIDxsaWpzdD4gICAgc2V0IHZhbiBiZXN0YW5kc3N5c3RlbWVuIGJlcGVya2VuIHRvdCBkZXplIHNvb3J0ZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiICAtVSwgLS11bmlxICAgICAgICAgICAgIGJlc3RhbmRzc3lzdGVtZW4gbWV0IHJlZWRzIGJlc3RhYW5kIGRvZWwgbmVnZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgdGVrc3QgaW4gZGUga29sb21tZW4gbmlldCBhZmthcHBlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIC12LCAtLW5vZnNyb290ICAgICAgICAgZ2VlbiBbL21hcF0gdG9uZW4gdm9vciBiaW5kIG9mIGJ0cmZzIGFhbmtvcHBlbGluZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDQKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIgorIiAgLXgsIC0tdmVyaWZ5ICAgICAgICAgICBpbmhvdWQgdmFuIGFhbmtvcHBlbGluZ3N0YWJlbCBjb250cm9sZXJlblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGFuZGFhcmQgZnN0YWIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAgLS12ZXJib3NlICAgICAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzczCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIm9uYmVrZW5kZSByaWNodGluZyAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQ1Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIFRJRC1hcmd1bWVudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICJvcHRpZSAnLS1wb2xsJyBhY2NlcHRlZXJ0IHNsZWNodHMgw6nDqW4gYmVzdGFuZCwgbWFhciAnLS10YWItZmlsZScgZ2VlZnQgZXIgbWVlcmRlcmUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJvcHRpZXMgJy0tdGFyZ2V0JyBlbiAnLS1zb3VyY2UnIGdhYW4gbmlldCBzYW1lbiBtZXQgYW5kZXJlIGFyZ3VtZW50ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiaW5pdGlhbGlzZXJlbiB2YW4gbGlibW91bnQtY2FjaGUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICJrb2xvbSAlcyB3b3JkdCBnZXZyYWFnZCwgbWFhciAnLS1wb2xsJyBpcyBuaWV0IGdlZ2V2ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJkb2VsIGlzIG1lZXIgZGFuIGVlbnMgZ2VnZXZlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAidmVya2VlcmRlIHZvbGdvcmRlOiAlcyBpcyBnZWdldmVuIHZvb3IgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAib25nZWRlZmluaWVlcmQgZG9lbCAoZnNfZmlsZSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICJuaWV0LWNhbm9uaWVrIGRvZWxwYWQgKHdlcmtlbGlqayBwYWQ6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIm9uYmVyZWlrYmFhciBiaWotb3BzdGFydGVuLXZlcmVpc3QgZG9lbDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAib25iZXJlaWtiYWFyIGRvZWw6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUwCittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiZG9lbCBpcyBnZWVuIG1hcCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgImRvZWwgYmVzdGFhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIm9uYmVyZWlrYmFyZSBiaWotb3BzdGFydGVuLXZlcmVpc3RlIGJyb24gJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJvbmJlcmVpa2JhYXI6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzPSVzIGlzIHZlcnRhYWxkIG5hYXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAib25nZWRlZmluaWVlcmRlIGJyb24gKGZzX3NwZWMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kZSBicm9uLXRhZzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiVzLWJyb24gbmlldCBjb250cm9sZXJlbiAocHNldWRvL25ldCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIm9uYmVyZWlrYmFyZSBicm9uICVzOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICJub24tYmluZCBhYW5rb3BwZWxpbmdzYnJvbiAlcyBpcyBlZW4gbWFwIG9mIGdld29vbiBiZXN0YW5kIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgImJyb24gJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgImJyb24gJXMgYmVzdGFhdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlZGUy1vcHRpZXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJCZXN0YW5kc3N5c3RlZW1vcHRpZXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiR2VicnVpa2Vyc29wdGllczogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAib25nZWxkaWcgdmVyd2VycGluZ3NiZWxlaWQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIm9udGxlZGVuIHZhbiBwcmlvcml0ZWl0IGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIlcy1iZXN0YW5kc3N5c3RlZW1zb29ydCBuaWV0IGNvbnRyb2xlcmVuIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiYmVzdGFuZHNzeXN0ZWVtc29vcnQgXCJub25lXCIgd29yZHQgYWxsZWVuIGFhbmdlcmFkZW4gdm9vciAnYmluZCcgb2YgJ21vdmUnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIkNELVJPTS1zbmVsaGVpZHNrZXV6ZWNvbW1hbmRvIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQgZG9vciBkZXplIGtlcm5lbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAia2FuIGJlc3RhbmRzc3lzdGVlbXNvb3J0IG9wIHNjaGlqZiBuaWV0IGRldGVybWluZXJlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiVzIGtvbXQgbmlldCBvdmVyZWVuIG1ldCAlcyBvcCBzY2hpamYiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICJDRC1ST00tc25lbGhlaWRza2V1emVjb21tYW5kbyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIGRvb3IgZGV6ZSBrZXJuZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAiQmVzdGFuZHNzeXN0ZWVtc29vcnQgaXMgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgImhldCBhYW5nZXJhZGVuIGZzY2stdm9sZ29yZGVudW1tZXIgdm9vciBoZXQgaG9vZmRiZXN0YW5kc3N5c3RlZW0gaXMgMSAobW9tZW50ZWVsIGlzIGhldCAlZCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQgb250bGVkaW5nc2ZvdXQiCittc2dzdHJbMV0gIiVkIG9udGxlZGluZ3Nmb3V0ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgJWQgZm91dCIKK21zZ3N0clsxXSAiLCAlZCBmb3V0ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIsICVkIHdhYXJzY2h1d2luZyIKK21zZ3N0clsxXSAiLCAlZCB3YWFyc2NodXdpbmdlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiR2VsdWt0IC0tIGdlZW4gZm91dGVuIG9mIHdhYXJzY2h1d2luZ2VuIGdldm9uZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICJsZWdlIG9wdGllcmVla3MgbmEgb3B0aWUgJy1sJyBvZiAnLS1sb25nJyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjMKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgIm9uYmVrZW5kZSBzaGVsbCBuYSBvcHRpZSAnLXMnIG9mICctLXNoZWxsJyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgICUxJHMgPG9wdGllcmVla3M+IDxwYXJhbWV0ZXJzPlxuIgorIiAgJTEkcyBbb3B0aWVzXSBbLS1dIDxvcHRpZXJlZWtzPiA8cGFyYW1ldGVycz5cbiIKKyIgICUxJHMgW29wdGllc10gLW98LS1vcHRpb25zIDxvcHRpZXJlZWtzPiBbb3B0aWVzXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzNgorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiT250bGVlZHQgZGUgYmlqIGVlbiBvcGRyYWNodCBnZWdldmVuIG9wdGllcy5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBsYW5nZSBvcHRpZXMgbWV0IMOpw6luICctJyB0b2VzdGFhblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MAorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucz08b3B0aWVyZWVrcz4gIHRlIGhlcmtlbm5lbiBsYW5nZSBvcHRpZXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9PHByb2dyYW1tYW5hYW0+ICAgIGZvdXRlbiByYXBwb3J0ZXJlbiBvbmRlciBkZXplIG5hYW1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9PG9wdGllcmVla3M+ICAgIHRlIGhlcmtlbm5lbiBrb3J0ZSBvcHRpZXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZm91dHJhcHBvcnRhZ2UgdmFuIGdldG9wdCgzKSB1aXR6ZXR0ZW5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIGdld29uZSB1aXR2b2VyIG9uZGVyZHJ1a2tlblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgYWFuaGFsaW5nc2NvbnZlbnRpZXMgdmFuIGRlemUgc2hlbGwgZ2VicnVpa2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgYmVwYWxlbiBvZiBkaXQgZWVuIHZlcmJldGVyZGUgZ2V0b3B0KDEpIGlzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZGUgdWl0dm9lciBuaWV0IGFhbmhhbGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgIm9udGJyZWtlbmRlIG9wdGllcmVla3MiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgIioqaW50ZXJuZSBwcm9ncmFtbWFmb3V0Kio7IG5lZW0gY29udGFjdCBvcCBtZXQgZGUgYXV0ZXVyIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJvbmJla2VuZCBzaWduYWFsICVzOyBnZWxkaWdlIHNpZ25hbGVuIHppam46IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8UElEPnw8cHJvY2VzbmFhbT4uLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiRWVuIHByb2NlcyBnZWZvcmNlZXJkIGJlw6tpbmRpZ2VuLCBvZnRld2VsIGVsaW1pbmVyZW4uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgaGVybGVpZGluZyB2YW4gbmFhbSBuYWFyIFBJRCBuaWV0IGJlcGVya2VuIHRvdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2Nlc3NlbiBtZXQgemVsZmRlIFVJRCBhbHMgaHVpZGlnZSBwcm9jZXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg0Cittc2dpZCAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2VuZCB0aGlzIDxzaWduYWw+IGluc3RlYWQgb2YgU0lHVEVSTVxuIgorbXNnc3RyICIgIC1zLCAtLXNpZ25hbCA8c2lnbmFhbD4gICAgdGUgemVuZGVuIHNpZ25hYWwgKGluIHBsYWF0cyB2YW4gU0lHVEVSTSlcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiAgLXEsIC0tcXVldWUgPGdldGFsPiAgICAgICBzaWdxdWV1ZSgyKSBnZWJydWlrZW4gbWV0IDxnZXRhbD4gYWxzIGRhdGFcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAgLXAsIC0tcGlkICAgICAgICAgICAgICAgICBQSUQncyB0b25lbiBpbiBwbGFhdHMgdmFuIGVlbiBzaWduYWFsIHRlIHplbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdFs9PHNpZ25hYWw+XSAgICBzaWduYWFsbmFtZW4gdG9uZW4sIG9mIGVlbnRqZSBuYWFyIG5hYW0gY29udmVydGVyZW5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkwCittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiICAtTCwgLS10YWJsZSAgICAgICAgICAgICAgIHRhYmVsIHZhbiBzaWduYWFsbmFtZW4gZW4gLW51bW1lcnMgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAgICAgLS12ZXJib3NlICAgICAgICAgICAgIHRvbmVuIHdlbGtlIFBJRCdzIGVlbiBzaWduYWFsIHp1bGxlbiBrcmlqZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJvbmJla2VuZCBzaWduYWFsICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3B0aWVzICVzIGVuICVzIGdhYW4gbmlldCBzYW1lbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJvbmp1aXN0IGFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJvbmdlbGRpZ2Ugc2lnbmFhbG5hYW0gb2YgLW51bW1lcjogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiemVuZGVuIHZhbiBzaWduYWFsICVkIG5hYXIgUElEICVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgInplbmRlbiB2YW4gc2lnbmFhbCBuYWFyICVzIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAia2FuIHByb2NlcyAnJXMnIG5pZXQgdmluZGVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJvbmJla2VuZGUgdm9vcnppZW5pbmdzbmFhbSBpbiBwcmlvcml0ZWl0OiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAib25iZWtlbmRlIHByaW9yaXRlaXRzbmFhbTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvcGVubG9nICVzOiBwYWRuYWFtIGlzIHRlIGxhbmciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAic29ja2V0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJoZXJsZWlkZW4gdmFuIG5hYW0gJXMgcG9vcnQgJXMgaXMgbWlzbHVrdDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgInZlcmJpbmRlbiBtZXQgJXMgcG9vcnQgJXMgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBpbnZvZXJyZWdlbHMgKCVkKSBpcyBvdmVyc2NocmVkZW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiemVuZGVuIHZhbiBiZXJpY2h0IGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIklEICclcycgdm9vciBnZXN0cnVjdHVyZWVyZGUgZGF0YSBpcyBuaWV0IHVuaWVrIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICInLS1zZC1pZCcgd2VyZCBuaWV0IGdlZ2V2ZW4gdm9vciAnLS1zZC1wYXJhbSAlcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJob3N0bmFhbSAnJXMnIGlzIHRlIGxhbmciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJsYWJlbCAnJXMnIGlzIHRlIGxhbmciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAib25iZWtlbmQgb3B0aWUtYXJndW1lbnQgJXMgd29yZHQgZ2VuZWdlZXJkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQ6ICVzIC0tICdhdXRvJyB3b3JkdCBnZWJydWlrdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGJlcmljaHQ+XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzMKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJTY2hyaWpmdCBiZXJpY2h0ZW4gbmFhciBoZXQgc3lzdGVlbWxvZ2JvZWsuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgIC1pICAgICAgICAgICAgICAgICAgICAgZGUgUElEIHZhbiBoZXQgbG9nZ2VyLWNvbW1hbmRvIGxvZ2dlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzcKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiICAgICAgLS1pZFs9PElEPl0gICAgICAgIG9uZGVyIDxJRD4gbG9nZ2VuICAoc3RhbmRhYXJkIGlzIGRlIFBJRClcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgIC1mLCAtLWZpbGUgPGJlc3RhbmQ+ICAgZGUgaW5ob3VkIHZhbiBkaXQgYmVzdGFuZCBsb2dnZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM5Cittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgIC1lLCAtLXNraXAtZW1wdHkgICAgICAgbGVnZSByZWdlbHMgbmlldCBsb2dnZW4gYmlqIHZlcndlcmtlbiB2YW4gYmVzdGFuZGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAgICAgLS1uby1hY3QgICAgICAgICAgIGFsbGVzIGRvZW4gYmVoYWx2ZSBoZXQgbG9nYmVyaWNodCBzY2hyaWp2ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQxCittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAgLXAsIC0tcHJpb3JpdHkgPGdldGFsPiAgIGdlZ2V2ZW4gYmVyaWNodCBtZXQgZGV6ZSBwcmlvcml0ZWl0IG1hcmtlcmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAgLS1vY3RldC1jb3VudCAgICAgIGRlIG9jdGV0LXRlbGxpbmcgdmFuIFJGQy02NTg3IGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgIC0tcHJpby1wcmVmaXggICAgICBuYWFyIHByZWZpeCBraWprZW4gb3AgZWxrZSByZWdlbCB2YW4gc3RhbmRhYXJkaW52b2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorbXNnaWQgIiAtcywgLS1zdGRlcnIgICAgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorbXNnc3RyICIgIC1zLCAtLXN0ZGVyciAgICAgICAgICAgYmVyaWNodCBvb2sgbmFhciBzdGFuZGFhcmRmb3V0dWl0dm9lciBzY2hyaWp2ZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiICAtUywgLS1zaXplIDxnZXRhbD4gICAgIG1heGltdW1ncm9vdHRlIHZhbiBlZW4gZW5rZWwgYmVyaWNodFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDYKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAgLXQsIC0tdGFnIDx0ZWtzdGplPiAgICBlbGtlIHJlZ2VsIGxhYmVsZW4gbWV0IGRpdCB0ZWtzdGplXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgIC1uLCAtLXNlcnZlciA8bmFhbT4gICAgbmFhciBkZXplIHN5c2xvZy1zZXJ2ZXIgb3AgYWZzdGFuZCBsb2dnZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ4Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiICAtUCwgLS1wb3J0IDxudW1tZXI+ICAgIHRlIGdlYnJ1aWtlbiBwb29ydCB2b29yIFVEUC0gb2YgVENQLXZlcmJpbmRpbmdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiICAtVCwgLS10Y3AgICAgICAgICAgICAgIGFsbGVlbiBUQ1AgZ2VicnVpa2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAgLWQsIC0tdWRwICAgICAgICAgICAgICBhbGxlZW4gVURQIGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgICAtLXJmYzMxNjQgICAgICAgICAgaGV0IHZlcm91ZGVyZGUgQlNELXN5c2xvZy1wcm90b2NvbCBnZWJydWlrZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUyCittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisiICAgICAgLS1yZmM1NDI0Wz08d2VnPl0gIGhldCBuaWV1d2UgcHJvdG9jb2wgZ2VicnVpa2VuICAoc3RhbmRhYXJkIG9wIGFmc3RhbmQpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8d2VnPiBrYW4gemlqbjogJ25vdGltZScsIG9mICdub3RxJywgZW4vb2YgJ25vaG9zdCdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgICAtLXNkLWlkIDxJRD4gICAgICAgZ2VzdHJ1Y3R1cmVlcmRlZGF0YS1JRCB2b29yIFJGQy01NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIgICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgZ2VzdHJ1Y3R1cmVlcmRlIGRhdGEgKG5hYW09d2FhcmRlKSB2b29yIFJGQy01NDI0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NgorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgICAgICAtLW1zZ2lkIDxiZXJpY2h0LUlEPiAgIGJlcmljaHQtSUQgdm9vciBSRkMtNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTcKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiICAtdSwgLS1zb2NrZXQgPGFwcGFyYWF0PiAgICBuYWFyIGRlemUgVW5peC1zb2NrZXQgc2NocmlqdmVuXG4iCisKKyMgRklYTUU6IG5vIGFuZ3VsYXIgYnJhY2tldHMgYXJvdW5kIGxpdGVyYWxzCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTgKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIgICAgICAtLXNvY2tldC1lcnJvcnNbPW9ufG9mZnxhdXRvXSAgdmVyYmluZGluZ3Nmb3V0ZW4gbWV0IFVuaXggc29ja2V0cyBtZWxkZW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgICAtLWpvdXJuYWxkWz08YmVzdGFuZD5dICAgZWVuIGpvdXJuYWxkLWl0ZW0gc2NocmlqdmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJiZXN0YW5kICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBJRCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gYmVyaWNodGdyb290dGUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiZWVuIGJlcmljaHQtSUQgbWFnIGdlZW4gc3BhdGllIGJldmF0dGVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIm9uZ2VsZGlnIElEIHZvb3IgZ2VzdHJ1Y3R1cmVlcmRlIGRhdGE6ICclcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZvb3IgZ2VzdHJ1Y3R1cmVlcmRlIGRhdGE6ICclcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1MgorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgImVlbiBiZXN0YW5kIGVuIGVlbiBiZXJpY2h0IGdhYW4gbmlldCBzYW1lbjsgaGV0IGJlcmljaHQgd29yZHQgZ2VuZWdlZXJkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTkKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiam91cm5hbGQtaXRlbSBrb24gbmlldCBnZXNjaHJldmVuIHdvcmRlbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8dGVrZW5yZWVrcz4gWzxiZXN0YW5kPi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIlRvb250IHJlZ2VscyBkaWUgbWV0IGRlIGFhbmdlZ2V2ZW4gdGVrZW5yZWVrcyBiZWdpbm5lbi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICBoZXQgYWx0ZXJuYXRpZXZlIHdvb3JkZW5ib2VrIGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLWQsIC0tYWxwaGFudW0gICAgICAgICAgICBhbGxlZW4gd2l0cnVpbXRlIGVuIGFsZmFudW1lcmlla2UgdGVrZW5zIHZlcmdlbGlqa2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OAorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiICAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgIHZlcnNjaGlsIHR1c3NlbiBob29mZC0gZW4ga2xlaW5lIGxldHRlcnMgbmVnZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIgIC10LCAtLXRlcm1pbmF0ZSA8dGVrZW4+ICAgaGV0IHRla2VuIGRhdCBlZW4gdGVrZW5yZWVrcyBiZcOraW5kaWd0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiYXBwYXJhYXRuYWFtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJpbnRlcm5lIGtlcm5lbGFwcGFyYWF0bmFhbSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImludGVybmUgb3VkZXIta2VybmVsYXBwYXJhYXRuYWFtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3IHN5cy11dGlscy96cmFtY3RsLmM6ODYKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgIndhYXIgaGV0IGFwcGFyYWF0IGlzIGFhbmdla29wcGVsZCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2OCBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNAorbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgImJlc3RhbmRzc3lzdGVlbWxhYmVsIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAicGFydGl0aWV0eXBlLVVVSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgInBhcnRpdGllbGFiZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInZvb3J1aXRsZXppbmcgdmFuIGhldCBhcHBhcmFhdCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiYWxsZWVubGV6ZW4tYXBwYXJhYXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJ2ZXJ3aWpkZXJiYWFyIGFwcGFyYWF0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAidmVyd2lqZGVyYmFhciBvZiBob3RwbHVnLWJhYXIgYXBwYXJhYXQgKFVTQiwgUENNQ0lBLCAuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInJvdGVyZW5kIGFwcGFyYWF0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJ2b2VndCB3aWxsZWtldXJpZ2hlaWQgdG9lIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgImFwcGFyYWF0LUlEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJzY2hpamYtc2VyaWVudW1tZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImFwcGFyYWF0Z3Jvb3R0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImFwcGFyYWF0dG9lc3RhbmQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJncm9lcHNuYWFtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgInRvZWdhbmdzcmVjaHRlbiB2YW4gYXBwYXJhYXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJ1aXRsaWpuaW5nc3Bvc2l0aWUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJtaW5pbWFsZSBpbi0vdWl0dm9lcmdyb290dGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvcHRpbWFsZSBpbi0vdWl0dm9lcmdyb290dGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAiZnlzaWVrZSBzZWN0b3Jncm9vdHRlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAibG9naXNjaGUgc2VjdG9yZ3Jvb3R0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAibmFhbSB2YW4gaW4tL3VpdHZvZXJzY2hlZHVsZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgImxlbmd0ZSB2YW4gdmVyem9la2VucmlqIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgImFwcGFyYWF0dHlwZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAidWl0bGlqbmluZ3Nwb3NpdGllIHZlcndlcnBlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgImdyYW51bGFyaXRlaXQgdmVyd2VycGVuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIm1heGJ5dGVzIHZlcndlcnBlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIm51bGxlbiB2ZXJ3ZXJwZW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiemVsZmRlIG1heGJ5dGVzIHNjaHJpanZlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgInVuaWVrIG9wc2xhZy1JRCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJIb3N0OkthbmFhbDpEb2VsOkxVTiB2b29yIFNDU0kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDQKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgImFwcGFyYWF0LXRyYW5zcG9ydHR5cGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIm9udGR1YmJlbGRlIGtldGVuIHZhbiBzdWJzeXN0ZW1lbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAiYXBwYXJhYXRyZXZpc2llIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiYXBwYXJhYXRwcm9kdWNlbnQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDgKK21zZ2lkICJ6b25lIG1vZGVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjkyCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAib3BlbmVuIHZhbiBhcHBhcmF0ZW5tYXAgaW4gJ3N5c2ZzJyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IGNvbXBvbmVyZW4gdmFuICdzeXNmcyctcGFkIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczogbGV6ZW4gdmFuIGtvcHBlbGluZyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogdmVya3JpamdlbiB2YW4gJ3N5c2ZzJy1uYWFtIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6IGFjaHRlcmhhbGVuIHZhbiBhcHBhcmFhdG51bW1lciB2YW4gZ2VoZWxlIHNjaGlqZiBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGxpanN0ICclcycgaXMgbWlzbHVrdCIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgZXhjbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJkZSBsaWpzdCB2YW4gdWl0Z2VzbG90ZW4gYXBwYXJhdGVuIGlzIHRlIGxhbmcgKGRlIGxpbWlldCBpcyAlZCBhcHBhcmF0ZW4pIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImRlIGxpanN0IHZhbiBpbmdlc2xvdGVuIGFwcGFyYXRlbiBpcyB0ZSBsYW5nIChkZSBsaW1pZXQgaXMgJWQgYXBwYXJhdGVuKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGFwcGFyYWF0Pi4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIlRvb250IGluZm9ybWF0aWUgb3ZlciBibG9rLWFwcGFyYXRlbi5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiICAtYSwgLS1hbGwgICAgICAgICAgICAgYWxsZSBhcHBhcmF0ZW4gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiICAtZCwgLS1ub2RlcHMgICAgICAgICAgZ2VlbiBzbGF2ZW4gb2YgaG91ZGVycyB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgIC1ELCAtLWRpc2NhcmQgICAgICAgICB2ZXJ3ZXJwaW5nc21vZ2VsaWpraGVkZW4gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiICAtYywgLS1vZmZsaW5lICAgICAgICAgICBhbGxlZW4gb2ZmbGluZSBDUFUncyB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NAorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKyIgIC1lLCAtLWV4Y2x1ZGUgPGxpanN0PiAgIGFwcGFyYXRlbiBtZXQgZGV6ZSBob29mZG51bW1lcnMgbmlldCB0b25lblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc3RhbmRhYXJkOiBSQU0tc2NoaWp2ZW4pXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLWYsIC0tZnMgICAgICAgICAgICAgIGluZm8gdG9uZW4gb3ZlciBiZXN0YW5kc3N5c3RlbWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiICAtaSwgLS1hc2NpaSAgICAgICAgICAgYWxsZWVuIEFTQ0lJLXRla2VucyBnZWJydWlrZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgIC1JLCAtLWluY2x1ZGUgPGxpanN0PiAgIGFsbGVlbiBhcHBhcmF0ZW4gdG9uZW4gbWV0IGRlemUgaG9vZmRudW1tZXJzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLUosIC0tanNvbiAgICAgICAgICAgIHVpdHZvZXIgaW4gSlNPTi1vcG1hYWsgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdCAgICAgICAgICAgIHVpdHZvZXIgaW4gdm9ybSB2YW4gbGlqc3QgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNlIHRyZWUgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgIC1sLCAtLWxpc3QgICAgICAgICAgICB1aXR2b2VyIGluIHZvcm0gdmFuIGxpanN0IHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTEKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiICAtbSwgLS1wZXJtcyAgICAgICAgICAgaW5mbyB0b25lbiBvdmVyIHRvZWdhbmdzcmVjaHRlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MiBzeXMtdXRpbHMvbHNtZW0uYzo1MDYKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtbiwgLS1ub2hlYWRpbmdzICAgICAgZ2VlbiBrb3ByZWdlbCB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgdGUgdG9uZW4ga29sb21tZW4gaW4gZGUgdWl0dm9lclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtTywgLS1vdXRwdXQtYWxsICAgICAgYWxsZSBrb2xvbW1lbiB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgIC1wLCAtLXBhdGhzICAgICAgICAgICB2b2xsZWRpZ2UgYXBwYXJhYXRwYWQgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTgKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiICAtcywgLS1pbnZlcnNlICAgICAgICAgaW52ZXJzZSBhZmhhbmtlbGlqa2hlZGVuIGdlYnJ1aWtlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiICAtUywgLS1zY3NpICAgICAgICAgICAgaW5mbyB0b25lbiBvdmVyIFNDU0ktYXBwYXJhdGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAgLXQsIC0tdG9wb2xvZ3kgICAgICAgIGluZm8gdG9uZW4gb3ZlciB0b3BvbG9naWVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiICAteCwgLS1zb3J0IDxrb2xvbT4gICAgdWl0dm9lciBzb3J0ZXJlbiBvcCBkZXplIDxrb2xvbT5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICJrYW4gZ2VlbiB0b2VnYW5nIGtyaWpnZW4gdG90ICdzeXNmcyctbWFwOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIm9wZHJhY2h0IHZhbiBoZXQgcHJvY2VzIGRhdCBkZSB2ZXJncmVuZGVsaW5nIGJleml0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgdmFuIGhldCBwcm9jZXMgZGF0IGRlIHZlcmdyZW5kZWxpbmcgYmV6aXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAiZ3Jvb3R0ZSB2YW4gdmVyZ3JlbmRlbGluZyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJncm9vdHRlIHZhbiB2ZXJncmVuZGVsaW5nIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgInRvZWdhbmdzbW9kdXMgdmFuIHZlcmdyZW5kZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAidmVycGxpY2h0ZSB0b2VzdGFuZCB2YW4gdmVyZ3JlbmRlbGluZzogMCAoZ2VlbiksIDEgKGluZ2VzdGVsZCkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInJlbGF0aWV2ZSBieXRlcG9zaXRpZSB2YW4gdmVyZ3JlbmRlbGluZyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJlaW5kcG9zaXRpZSB2YW4gdmVyZ3JlbmRlbGluZyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAicGFkIHZhbiBoZXQgdmVyZ3JlbmRlbGRlIGJlc3RhbmQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgdmFuIGhldCBwcm9jZXMgZGF0IGRlIHZlcmdyZW5kZWxpbmcgYmxva2tlZXJ0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBJRCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyNjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gUElEIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKG9uYmVrZW5kKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gYmVnaW4gaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAib250bGVkZW4gdmFuIGVpbmRlIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJUb29udCBsb2thbGUgc3lzdGVlbXZlcmdyZW5kZWxpbmdlbi5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAyCittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMyBzeXMtdXRpbHMvbHNucy5jOjkwMyBzeXMtdXRpbHMvcmZraWxsLmM6NTczCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3V0cHV0IDxsaWpzdD4gICB3ZWVyIHRlIGdldmVuIHVpdHZvZXJrb2xvbW1lblxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiICAtcCwgLS1waWQgPFBJRD4gICAgICAgIGFsbGVlbiB2ZXJncmVuZGVsaW5nZW4gdmFuIGRpdCBwcm9jZXMgdG9uZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLXIsIC0tcmF3ICAgICAgICAgICAgICByYXV3ZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIFBJRC1hcmd1bWVudCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiR2VuZXJlZXJ0IG1hZ2lzY2hlIGNvb2tpZXMgdm9vciB4YXV0aC5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiICAtZiwgLS1maWxlIDxiZXN0YW5kPiAgICAgYWxzIGNvb2tpZS1zZWVkIHRlIGdlYnJ1aWtlbiBiZXN0YW5kXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgIC1tLCAtLW1heC1zaXplIDxnZXRhbD4gICBiZXBlcmtlbiBob2V2ZWVsIHVpdCBzZWVkLWJlc3RhbmRlbiBnZWxlemVuIHdvcmR0XG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJtZWxkZW4gd2F0IGVyIGdlZGFhbiB3b3JkdFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiV6dSBieXRlIG9udHZhbmdlbiB2YW4gJXNcbiIKK21zZ3N0clsxXSAiJXp1IGJ5dGVzIG9udHZhbmdlbiB2YW4gJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJzbHVpdGVuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAib250bGVkZW4gdmFuIGxlbmd0ZSBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICJvcHRpZSAnLS1tYXgtc2l6ZScgd29yZHQgZ2VuZWdlZXJkIHpvbmRlciAnLS1maWxlJyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiJWQgYnl0ZSBvbnR2YW5nZW4gdmFuICVzXG4iCittc2dzdHJbMV0gIiVkIGJ5dGVzIG9udHZhbmdlbiB2YW4gJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJsZXplbiB2YW4gc3ltbGluayAlcyBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIlcyAtLSBCZXN0YW5kIG9mIG1hcCBiZXN0YWF0IG5pZXRcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8cGFkbmFhbT4uLi5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIlZvbGd0IGVlbiBwYWRuYWFtIHRvdGRhdCBlZW4gZWluZHB1bnQgZ2V2b25kZW4gaXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKyIgIC1sLCAtLWxvbmcgICAgICAgICAgIHVpdGdlYnJlaWRlIGV4dHJhIGluZm9ybWF0aWUgdG9uZW4gKCctbSAtbyAtdicpXG4iCisiICAtbSwgLS1tb2RlcyAgICAgICAgICBkZSBtb2R1cyB2YW4gZWxrIGJlc3RhbmQgdG9uZW5cbiIKKyIgIC1uLCAtLW5vc3ltbGlua3MgICAgIHN5bWJvbGlzY2hlIGtvcHBlbGluZ2VuIG5pZXQgdm9sZ2VuXG4iCisiICAtbywgLS1vd25lcnMgICAgICAgICBuYW1lbiB2YW4gZWlnZW5hYXIgZW4gZ3JvZXAgdmFuIGVsayBiZXN0YW5kIHRvbmVuXG4iCisiICAteCwgLS1tb3VudHBvaW50cyAgICBhYW5rb3BwZWxpbmdzcHVudGVuIG1hcmtlcmVuIG1ldCBlZW4gJ0QnXG4iCisiICAtdiwgLS12ZXJ0aWNhbCAgICAgICBiZXN0YW5kc21vZHVzIGVuIGVpZ2VuYWFybmFtZW4gdmVydGljYWFsIHVpdGxpam5lblxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgInBhZG5hYW0tYXJndW1lbnQgb250YnJlZWt0IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgInJlc2VydmVyZW4gdmFuIGdlaGV1Z2VuIHZvb3IgVUlELWNhY2hlIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIEdJRC1jYWNoZSBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IGxpbWlldCBvcCBhYW50YWwgc3ltYm9saXNjaGUga29wcGVsaW5nZW4gaXMgb3ZlcnNjaHJlZGVuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogaXMgZ2VlbiBzeW1ib2xpc2NoZSBrb3BwZWxpbmciCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWRsaW5rKCkgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHVubGluaygpIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbWFrZW4gdmFuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyBuYWFyICVzIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBmaWxlOiBgJXMnXG4iCittc2dzdHIgIi4uLlZlcmRlciBuYWFyIGJlc3RhbmQgIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGhlcm5vZW1lbiBuYWFyICVzIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPGV4cHJlc3NpZT4gPHZlcnZhbmdpbmc+IDxiZXN0YW5kPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiSGVybm9lbXQgYmVzdGFuZGVuLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJtZWxkZW4gd2F0IGVyIGdlZGFhbiB3b3JkdFxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgIC1zLCAtLXN5bWxpbmsgICAgb3AgZG9lbCB2YW4gZWVuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyB3ZXJrZW5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAtbiwgLS1ub2hlYWRpbmdzICAgICAgZ2VlbiBrb3ByZWdlbCB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJFZW4gYWNodGVyZ3JvbmRkaWVuc3Qgdm9vciBoZXQgZ2VuZXJlcmVuIHZhbiBVVUlEJ3MuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAgLXAsIC0tcGlkIDxwYWQ+ICAgICAgICAgIHBhZCBuYWFyIFBJRC1iZXN0YW5kXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NworbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgIC1zLCAtLXNvY2tldCA8cGFkPiAgICAgICBwYWQgbmFhciBzb2NrZXRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAgLVQsIC0tdGltZW91dCA8dGlqZD4gICAgIG1heGltYWxlIHRpamQgdmFuIGluYWN0aXZpdGVpdCAoaW4gc2Vjb25kZW4pXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAgLWssIC0ta2lsbCAgICAgICAgICAgICAgIGVlbiBkcmFhaWVuZGUgdXVpZGQtZGllbnN0IGVsaW1pbmVyZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwCittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtciwgLS1yYW5kb20gICAgICAgICAgICAgYWFubWFhayB2YW4gd2lsbGVrZXVyaWdlIFVVSUQncyB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLXQsIC0tdGltZSAgICAgICAgICAgICAgIGFhbm1hYWsgdmFuIHRpamRzLVVVSUQncyB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAgLW4sIC0tdXVpZHMgPGFhbnRhbD4gICAgIGRpdCBhYW50YWwgVVVJRCdzIGdlbmVyZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgIC1QLCAtLW5vLXBpZCAgICAgICAgICAgICBnZWVuIFBJRC1iZXN0YW5kIGFhbm1ha2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIG5pZXQgdG90IGFjaHRlcmdyb25kZGllbnN0IG1ha2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiICAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiAgZ2VlbiBsdWlzdGVyZW5kZSBzb2NrZXQgYWFubWFrZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgIC1kLCAtLWRlYnVnICAgICAgICAgICAgICBkZWJ1Z2dpbmctbWVsZGluZ2VuIHdlZXJnZXZlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgIGV4dHJhIGluZm9ybWF0aWUgb25kZXJkcnVra2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJvbmdlbGRpZ2UgYXJndW1lbnRlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExNgorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAic29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI3Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAidmVyYmluZGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTQ3Cittc2dpZCAid3JpdGUiCittc2dzdHIgInNjaHJpanZlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgImdlbGV6ZW4gYWFudGFsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAib25nZWxkaWdlIGFudHdvb3JkbGVuZ3RlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCB2ZXJncmVuZGVsZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMzcKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJrYW4gZ2VlbiBVTklYLXN0cmVhbS1zb2NrZXQgYWFubWFrZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAia2FuIFVOSVgtc29ja2V0ICVzIG5pZXQgYmluZGVuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjg5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIm9udHZhbmdlbiB2YW4gc2lnbmFhbCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJkdXVyZGUgdGUgbGFuZyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMzNiBzeXMtdXRpbHMvZmxvY2suYzoyNzIKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJrYW4gdGltZXIgbmlldCBpbnN0ZWxsZW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgInV1aWRkLWRpZW5zdCBkcmFhaXQgYWwgb25kZXIgUElEICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAia2FuIG5pZXQgbHVpc3RlcmVuIG9wIFVOSVgtc29ja2V0ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAia2FuIGJlc3RhbmQgJXMgbmlldCBhZmthcHBlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNkX2xpc3Rlbl9mZHMoKSBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgwCittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgImdlZW4gYmVzdGFuZHNkZXNjcmlwdG9ycyBvbnR2YW5nZW47IGNvbnRyb2xlZXIgc3lzdGVtY3RsIHN0YXR1cyB2YW4gdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJ0ZSB2ZWVsIGJlc3RhbmRzZGVzY3JpcHRvcnMgb250dmFuZ2VuOyBjb250cm9sZWVyIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgImR1dXJkZSB0ZSBsYW5nIFslZCBzZWNvbmRlbl1cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4OTkgdGV4dC11dGlscy9jb2x1bW4uYzo0OTYKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NTI5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImxlemVuIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImZvdXQgdGlqZGVucyBsZXplbiB2YW4gY2xpw6tudDsgbGVuZ3RlID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJiZXdlcmtpbmcgJWQsIGdlZ2V2ZW4gZ2V0YWwgPSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJiZXdlcmtpbmcgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICJHZWdlbmVyZWVyZGUgdGlqZHMtVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIkdlZ2VuZXJlZXJkZSB3aWxsZWtldXJpZ2UgVVVJRDogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIkdlZ2VuZXJlZXJkZSB0aWpkcy1VVUlEIGlzICVzLCBlbiAlZCBvcHZvbGdlbmRlXG4iCittc2dzdHJbMV0gIkdlZ2VuZXJlZXJkZSB0aWpkcy1VVUlEIGlzICVzLCBlbiAlZCBvcHZvbGdlbmRlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiRXIgaXMgJWQgVVVJRCBnZWdlbmVyZWVyZDpcbiIKK21zZ3N0clsxXSAiRXIgemlqbiAlZCBVVUlEJ3MgZ2VnZW5lcmVlcmQ6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiT25nZWxkaWdlIGJld2Vya2luZyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJPbnZlcndhY2h0ZSBhbnR3b29yZGxlbmd0ZSAoJWQpIHZhbiBzZXJ2ZXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGhldCBhYW50YWwgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIid1dWlkZCcgaXMgZ2Vjb21waWxlZXJkIHpvbmRlciBvbmRlcnN0ZXVuaW5nIHZvb3Igc29ja2V0LWFjdGl2YXRpZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIm9udGxlZGVuIHZhbiB3YWNodHRpamR3YWFyZGUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICJ2b2x1bWVubmFhbSBpcyB0ZSBsYW5nIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiWm93ZWwgJy0tc29ja2V0LWFjdGl2YXRpb24nIGFscyAnLS1zb2NrZXQnIGlzIGdlZ2V2ZW47ICctLXNvY2tldCcgd29yZHQgZ2VuZWdlZXJkLiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImZvdXQgYmlqIGFhbnJvZXBlbiB2YW4gdXVpZGQtZGllbnN0ICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgIm9udmVyd2FjaHRlIGZvdXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyBlbiAlZCBvcHZvbGdlbmRlIFVVSURcbiIKK21zZ3N0clsxXSAiJXMgZW4gJWQgb3B2b2xnZW5kZSBVVUlEJ3NcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJMaWpzdCB2YW4gVVVJRCdzOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgImthbiB1dWlkZCBtZXQgUElEICVkIG5pZXQgZWxpbWluZXJlbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIkRlIHV1aWRkIG1ldCBQSUQgJWQgaXMgZ2XDq2xpbWluZWVyZC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiTWFha3QgZWVuIG5pZXV3ZSBVVUlEIGFhbi5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiICAtciwgLS1yYW5kb20gICAgICAgICAgICAgYWFubWFhayB2YW4gd2lsbGVrZXVyaWdlIFVVSUQncyB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAgLXQsIC0tdGltZSAgICAgICAgICAgICAgIGFhbm1hYWsgdmFuIHRpamRzLVVVSUQncyB0ZXN0ZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgICAgIGFsbGUgYXBwYXJhdGVuIHRvbmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYXRlIHNoYTEgaGFzaFxuIgorbXNnc3RyICIgIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBlZW4gZ2VkZWVsZGUgdmVyZ3JlbmRlbGluZyB2ZXJrcmlqZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiICAtaSwgLS1pbnZlcnQgICAgICAgICAgIGRlIG92ZXJlZW5rb21zdGVuIGludmVydGVyZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAidW5pZWsgb3BzbGFnLUlEIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAicGFydGl0aWVuYWFtIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAiTmlldXdlIG5hYW0iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzkKK21zZ2lkICJ0aW1lc3RhbXAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPGJlc3RhbmQ+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLUosIC0tanNvbiAgICAgICAgICAgICB1aXR2b2VyIGluIEpTT04tb3BtYWFrIHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBnZWVuIGtvcHJlZ2VsIHRvbmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgIHdlZXIgdGUgZ2V2ZW4gdWl0dm9lcmtvbG9tbWVuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLXIsIC0tcmF3ICAgICAgICAgICAgICByYXV3ZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQiCittc2dzdHIgIm9uZ2VsZGlnIElEIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiaW5pdGlhbGlzZXJlbiB2YW4gdWl0dm9lcmtvbG9tIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbLUJNUyA8bWFwPi4uLiAtZl0gPG5hYW0+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJMb2thbGlzZWVydCBwcm9ncmFtbWFiZXN0YW5kLCBicm9udGVrc3QsIGVuIGhhbmRsZWlkaW5nZW4gdmFuIGVlbiBvcGRyYWNodC5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAgLWIgICAgICAgICAgICBhbGxlZW4gbmFhciBwcm9ncmFtbWEncyB6b2VrZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAgLUIgPG1hcHBlbj4gICB0ZSBnZWJydWlrZW4gem9la3BhZCB2b29yIHByb2dyYW1tYSdzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgIC1tICAgICAgICAgICAgYWxsZWVuIG5hYXIgaGFuZGxlaWRpbmdlbiB6b2VrZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgIC1NIDxtYXBwZW4+ICAgdGUgZ2VicnVpa2VuIHpvZWtwYWQgdm9vciBoYW5kbGVpZGluZ2VuICgnbWFuJyBlbiAnaW5mbycpXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAgLXMgICAgICAgICAgICBhbGxlZW4gbmFhciBicm9udGVrc3RiZXN0YW5kZW4gem9la2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAgLVMgPG1hcHBlbj4gICB0ZSBnZWJydWlrZW4gem9la3BhZCB2b29yIGJyb250ZWtzdGJlc3RhbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiICAtZiAgICAgICAgICAgIGxpanN0IHZhbiA8bWFwcGVuPiBhZnNsdWl0ZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiICAtdSAgICAgICAgICAgIG9uZ2VicnVpa2VsaWprZSBpdGVtcyB0b25lblxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgIC1sICAgICAgICAgICAgZWZmZWN0aWV2ZSB6b2VrcGFkZW4gdG9uZW5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgIm9wdGllICctZicgb250YnJlZWt0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJiZXN0YW5kc3N5c3RlZW0tVVVJRCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA2Cittc2dpZCAic3VwZXJibG9rIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAib25nZWxkaWdlIGlub2RlLXBvc2l0aWUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgInZsYWdvbXNjaHJpanZpbmciCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICJibG9rLWFwcGFyYWF0ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICJwYXJ0aXRpZXRhYmVsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IHByb2JpbmcgaW5pdGlhbGl6YXRpb24gZmFpbGVkIgorbXNnc3RyICJmb3V0OiAlczogaW5pdGlhbGlzYXRpZSB2YW4gc29uZGVyaW5nIGlzIG1pc2x1a3QiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogd2lzc2VuIHZhbiAlcyBtYWdpc2NoZSB0ZWtlbnJlZWtzIG9wIHBvc2l0aWUgMHglMDhqeCBpcyBtaXNsdWt0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIiCisiJXM6ICV6ZCBieXRlIGlzIGdld2lzdCBvcCBwb3NpdGllIDB4JTA4anggKCVzKVxuIgorImRlemUgYnl0ZSB3YXM6ICIKK21zZ3N0clsxXSAiIgorIiVzOiAlemQgYnl0ZXMgemlqbiBnZXdpc3QgdmFuYWYgcG9zaXRpZSAweCUwOGp4ICglcylcbiIKKyJkZXplIGJ5dGVzIHdhcmVuOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGhldCBtYWtlbiB2YW4gZWVuIHZpbmdlcmFmZHJ1ay1yZXNlcnZla29waWUgaXMgbWlzbHVrdCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiBhYW5yb2VwIHZhbiBpb2N0bCgpIG9tIHBhcnRpdGlldGFiZWwgb3BuaWV1dyBpbiB0ZSBsZXplbjogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJoZXQgbWFrZW4gdmFuIGVlbiB2aW5nZXJhZmRydWstcmVzZXJ2ZWtvcGllIGlzIG1pc2x1a3QsIHdhbnQgJEhPTUUgaXMgbmlldCBnZWRlZmluaWVlcmQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBnZW5lc3RlICclcyctcGFydGl0aWV0YWJlbCB3b3JkdCBnZW5lZ2VlcmQgb3AgbmlldGdlaGVsZXNjaGlqZi1hcHBhcmFhdCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBwb3NpdGllIDB4JWp4IGlzIG5pZXQgZ2V2b25kZW4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTgwCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIkdlYnJ1aWsgJy0tZm9yY2UnIG9tIGhldCB3aXNzZW4gdGUgZm9yY2VyZW4uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorIywgZnV6enkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIldpc3QgYmVzdGFuZHN5c3RlZW1oYW5kdGVrZW5pbmdlbiB2YW4gZWVuIGFwcGFyYWF0LlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgICAgIGFsbGUgYXBwYXJhdGVuIHRvbmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgImhldCBtYWtlbiB2YW4gZWVuIHZpbmdlcmFmZHJ1ay1yZXNlcnZla29waWUgaXMgbWlzbHVrdCwgd2FudCAkSE9NRSBpcyBuaWV0IGdlZGVmaW5pZWVyZCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZSIKK21zZ3N0ciAiICAtZiwgLS1mb3JjZSAgICAgICAgY29udHJvbGUgYWZkd2luZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC1uLCAtLW5vaGVhZGluZ3MgICAgICBnZWVuIGtvcHJlZ2VsIHRvbmVuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAgLUosIC0tanNvbiAgICAgICAgICAgIHVpdHZvZXIgaW4gSlNPTi1vcG1hYWsgcHJvZHVjZXJlblxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbCIKK21zZ3N0ciAiICAgICAgLS1uby1hY3QgICAgICAgICAgIGFsbGVzIGRvZW4gYmVoYWx2ZSBoZXQgbG9nYmVyaWNodCBzY2hyaWp2ZW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiICAtbywgLS1vZmZzZXQgPGdldGFsPiAgIG9wIGRlemUgcG9zaXRpZSBpbiBoZXQgYmVzdGFuZCBiZWdpbm5lbiwgaW4gYnl0ZXNcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTUKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxsaXN0PiBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiICAtcCwgLS1wYXJzZVs9TElKU1RdICAgICBvbnRsZWVkYmFyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICBleHRyYSBpbmZvcm1hdGllIG9uZGVyZHJ1a2tlblxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXMiCittc2dzdHIgIiAgLXQsIC0tdHlwZXMgPGxpanN0PiAgICBzZXQgdmFuIGJlc3RhbmRzc3lzdGVtZW4gYmVwZXJrZW4gdG90IGRlemUgc29vcnRlblxuIgorCisjIEZJWE1FOiBsb3dlcmNhc2UKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgImRlIG9wdGllICctLWJhY2t1cCcgaXMgemlubG9vcyBpbiBkZXplIGNvbnRleHQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVG9vbnQgb2YgemV0IGRlIHJlYWx0aW1lLXNjaGVkdWxpbmctZWlnZW5zY2hhcHBlbiB2YW4gZWVuIHByb2Nlcy5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisiQmVsZWlkIGluc3RlbGxlbjpcbiIKKyIgIGNocnQgW29wdGllc10gPHByaW9yaXRlaXQ+IDxvcGRyYWNodD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICBjaHJ0IFtvcHRpZXNdIC0tcGlkIDxwcmlvcml0ZWl0PiA8UElEPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIkJlbGVpZCBvcHZyYWdlbjpcbiIKKyIgIGNocnQgW29wdGllc10gLXAgPFBJRD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIkJlbGVpZHNvcHRpZXM6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiAgLWIsIC0tYmF0Y2ggICAgICAgICAgYmVsZWlkIG9wIFNDSEVEX0JBVENIIGluc3RlbGxlblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgIC1kLCAtLWRlYWRsaW5lICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9ERUFETElORSBpbnN0ZWxsZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgIC1mLCAtLWZpZm8gICAgICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9GSUZPIGluc3RlbGxlblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAgLWksIC0taWRsZSAgICAgICAgICAgYmVsZWlkIG9wIFNDSEVEX0lETEUgaW5zdGVsbGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAgLW8sIC0tb3RoZXIgICAgICAgICAgYmVsZWlkIG9wIFNDSEVEX09USEVSIGluc3RlbGxlblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKK21zZ2lkICIgLXIsIC0tcnIgICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtciwgLS1yciAgICAgICAgICAgICBiZWxlaWQgb3AgU0NIRURfUlIgaW5zdGVsbGVuIChzdGFuZGFhcmQpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiU2NoZWR1bGluZ29wdGllczpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiICAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgICAgIFNDSEVEX1JFU0VUX09OX0ZPUksgaW5zdGVsbGVuIHZvb3IgRklGTyBvZiBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiICAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gICAgIHJ1bnRpbWUtcGFyYW1ldGVyIHZvb3IgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiICAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgICAgIHBlcmlvZGUtcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiAgICBkZWFkbGluZS1wYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIkFuZGVyZSBvcHRpZXM6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgIC1hLCAtLWFsbC10YXNrcyAgICAgIGFsbGUgdGFrZW4vdGhyZWFkcyB2YW4gZGUgZ2VnZXZlbiBQSUQgYWFucGFra2VuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiICAtbSwgLS1tYXggICAgICAgICAgICBtaW5pbXVtIGVuIG1heGltdW0gZ2VsZGlnZSBwcmlvcml0ZWl0ZW4gdG9uZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAgLXAsIC0tcGlkICAgICAgICAgICAgZGUgZ2VnZXZlbiwgYmVzdGFhbmRlIFBJRCBiZcOvbnZsb2VkZW5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgc3RhdHVzaW5mb3JtYXRpZSB0b25lblxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzEgc2NoZWR1dGlscy9jaHJ0LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJvcHZyYWdlbiB2YW4gYmVsZWlkIHZvb3IgUElEICVkIGlzIG1pc2x1a3QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIm9wdnJhZ2VuIHZhbiBlaWdlbnNjaGFwcGVuIHZvb3IgUElEICVkIGlzIG1pc2x1a3QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJOaWV1dyBzY2hlZHVsaW5nLWJlbGVpZCB2b29yIFBJRCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiSHVpZGlnIHNjaGVkdWxpbmctYmVsZWlkIHZvb3IgUElEICVkOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJOaWV1d2Ugc2NoZWR1bGluZy1wcmlvcml0ZWl0IHZhbiBQSUQgJWQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIkh1aWRpZ2Ugc2NoZWR1bGluZy1wcmlvcml0ZWl0IHZhbiBQSUQgJWQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiTmlldXdlIHJ1bnRpbWUtL2RlYWRsaW5lL3BlcmlvZGUtcGFyYW1ldGVycyB2YW4gUElEICVkOiAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJIdWlkaWdlIHJ1bnRpbWUtL2RlYWRsaW5lL3BlcmlvZGUtcGFyYW1ldGVycyB2YW4gUElEICVkOiAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyOTkgc2NoZWR1dGlscy9jaHJ0LmM6Mzk1Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAia2FuIGdlZW4gbGlqc3QgbWV0IHRha2VuIHZlcmtyaWpnZW4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIiVzIG1pbmltdW0vbWF4aW11bSBwcmlvcml0ZWl0Olx0ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICIlcyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kP1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgImluc3RlbGxlbiB2YW4gYmVsZWlkIHZvb3IgVElEICVkIGlzIG1pc2x1a3QiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBiZWxlaWQgdm9vciBQSUQgJWQgaXMgbWlzbHVrdCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg0Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBydW50aW1lLWFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgcGVyaW9kZS1hcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgZGVhZGxpbmUtYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIHByaW9yaXRlaXRzYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxOQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJvcHRpZSAnLS1yZXNldC1vbi1mb3JrJyB3b3JkdCBhbGxlZW4gdm9vciBTQ0hFRF9GSUZPIGVuIFNDSEVEX1JSIG9uZGVyc3RldW5kIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjQKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICJvcHRpZXMgJy0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfScgd29yZGVuIGFsbGVlbiB2b29yIFNDSEVEX0RFQURMSU5FIG9uZGVyc3RldW5kIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiU0NIRURfREVBRExJTkUgd29yZHQgbmlldCBvbmRlcnN0ZXVuZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAib25nZWxkaWdlIHByaW9yaXRlaXRzd2FhcmRlICglZCkgdm9vciBiZWxlaWQ7IHppZSAnLS1tYXgnIHZvb3IgZ2VsZGlnIGJlcmVpayIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0KCkgaXMgbWlzbHVrdCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXM6IHByaW9yaXRlaXQgJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCgpIGlzIG1pc2x1a3QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wdGllc10gLXAgPFBJRD4uLi5cbiIKKyIgJTEkcyBbb3B0aWVzXSAtUCA8UEdJRD4uLi5cbiIKKyIgJTEkcyBbb3B0aWVzXSAtdSA8VUlEPi4uLlxuIgorIiAlMSRzIFtvcHRpZXNdIDxvcGRyYWNodD5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVG9vbnQgb2YgemV0IGRlIGludm9lci91aXR2b2VyLXNjaGVkdWxpbmcta2xhc3NlIGVuIC1wcmlvcml0ZWl0IHZhbiBwcm9jZXNzZW4uXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorIiAgLWMsIC0tY2xhc3MgPGtsYXNzZT4gICBuYWFtIG9mIG51bW1lciB2YW4gc2NoZWR1bGluZy1rbGFzc2UsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAgLW4sIC0tY2xhc3NkYXRhIDxnZXRhbD4gIHByaW9yaXRlaXQgKDAuLjcpIGluIGRlIG9wZ2VnZXZlbiBzY2hlZHVsaW5nLWtsYXNzZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVua2VsIHZvb3IgZGUga2xhc3NlbiAncmVhbHRpbWUnIGVuICdiZXN0LWVmZm9ydCdcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIgIC1wLCAtLXBpZCA8UElEPi4uLiAgICAgd2Vya2VuIG9wIGRlemUgYWwgZHJhYWllbmRlIHByb2Nlc3NlblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIgIC1QLCAtLXBnaWQgPFBHSUQ+Li4uICAgd2Vya2VuIG9wIGRyYWFpZW5kZSBwcm9jZXNzZW4gaW4gZGV6ZSBwcm9jZXNncm9lcGVuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAgLXQsIC0taWdub3JlICAgICAgICAgICBtaXNsdWtraW5nZW4gbmVnZXJlblxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAgLXUsIC0tdWlkIDxVSUQ+Li4uICAgICB3ZXJrZW4gb3AgZHJhYWllbmRlIHByb2Nlc3NlbiB2YW4gZGV6ZSBnZWJydWlrZXJzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBrbGFzc2VnZWdldmVucy1hcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBrbGFzc2UtYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAib25iZWtlbmRlIHNjaGVkdWxpbmcta2xhc3NlOiAnJXMnIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJrYW4gc2xlY2h0cyDDqcOpbiB2YW4gUElELCBQR0lEIG9mIFVJRCB0ZWdlbGlqayBhYW4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBQR0lELWFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBVSUQtYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAia2xhc3NlZ2VnZXZlbnMgdm9vciAnbm9uZScta2xhc3NlIHdvcmRlbiBnZW5lZ2VlcmQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAia2xhc3NlZ2VnZXZlbnMgdm9vciAnaWRsZScta2xhc3NlIHdvcmRlbiBnZW5lZ2VlcmQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAib25iZWtlbmRlIHByaW9yaXRlaXRza2xhc3NlICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyJHZWJydWlrOiAgJXMgW29wdGllc10gW21hc2tlcnxDUFUtbGlqc3RdIFtQSUR8b3BkcmFjaHQgW2FyZ3VtZW50Li4uXV1cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlRvb250IG9mIHdpanppZ3QgZGUgcHJvY2Vzc29yYWZmaW5pdGVpdCB2YW4gZWVuIHByb2NlcyxcbiIKKyJvZiBzdGFydCBlZW4gbmlldXcgcHJvY2VzIG1ldCBkZSBnZWdldmVuIGFmZmluaXRlaXQuXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCittc2dzdHIgIiIKKyJPcHRpZXM6XG4iCisiICAtYSwgLS1hbGwtdGFza3MgICBhbGxlIHRha2VuL3RocmVhZHMgdmFuIGRlIGdlZ2V2ZW4gUElEIGJlw69udmxvZWRlblxuIgorIiAgLXAsIC0tcGlkICAgICAgICAgZGUgZ2VnZXZlbiBiZXN0YWFuZGUgUElEIGJlw69udmxvZWRlblxuIgorIiAgLWMsIC0tY3B1LWxpc3QgICAgZGUgdGUgZ2VicnVpa2VuIHByb2Nlc3NvcmVuIChnZWdldmVuIGFscyBsaWpzdClcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuXG4iCisiICAtViwgLS12ZXJzaW9uICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW5cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJTdGFuZGFhcmQgd29yZHQgZWVuIG5pZXV3IHByb2NlcyBnZXN0YXJ0LCBiaWp2b29yYmVlbGQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiVSBrdW50IGhldCBtYXNrZXIgdmFuIGVlbiBiZXN0YWFuZCBwcm9jZXMgb3B2cmFnZW46XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT2YgaW5zdGVsbGVuOlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkluIHBsYWF0cyB2YW4gZWVuIG1hc2tlciBpcyBlZW4ga29tbWFnZXNjaGVpZGVuIGxpanN0IG1vZ2VsaWprOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJJbiBlZW4gbGlqc3Qga2FuIG9wIGVlbiBiZXJlaWsgZWVuIHN0YXBhcmd1bWVudCB2b2xnZW46XG4iCisiICAgIDAtMzE6MiBpcyBiaWp2b29yYmVlbGQgaGV0emVsZmRlIGFscyBtYXNrZXIgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiTmlldXdlIGFmZmluaXRlaXRzbGlqc3QgdmFuIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJIdWlkaWdlIGFmZmluaXRlaXRzbGlqc3QgdmFuIFBJRCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIk5pZXV3IGFmZmluaXRlaXRzbWFza2VyIHZhbiBQSUQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiSHVpZGlnIGFmZmluaXRlaXRzbWFza2VyIHZhbiBQSUQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwMAorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIioqaW50ZXJuZSBwcm9ncmFtbWFmb3V0Kio6IG9temV0dGVuIHZhbiBDUFUtc2V0IG5hYXIgdGVrZW5yZWVrcyBpcyBtaXNsdWt0IgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiBhZmZpbml0ZWl0IHZhbiBQSUQgJWQgaXMgbWlzbHVrdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIm9wdnJhZ2VuIHZhbiBhZmZpbml0ZWl0IHZhbiBQSUQgJWQgaXMgbWlzbHVrdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImthbiBhYW50YWwgcHJvY2Vzc29yZW4gbmlldCBiZXBhbGVuIC0tIGdlc3RvcHQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY3B1c2V0X2FsbG9jKCkgaXMgbWlzbHVrdCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI0IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcHJvY2Vzc29yZW5saWpzdCAlcyBpcyBtaXNsdWt0IgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAib250bGVkZW4gdmFuIHByb2Nlc3NvcmVubWFza2VyICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBFciB6aWpuICU8UFJJdTY0PiBieXRlcyBtZXQgbnVsIGdldnVsZCB2YW5hZiBwb3NpdGllICU8UFJJdTY0Pi5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBFciB6aWpuICU8UFJJdTY0PiBieXRlcyB2ZXJ3b3JwZW4gdmFuYWYgcG9zaXRpZSAlPFBSSXU2ND4uXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIlZlcndlcnB0IGRlIGluaG91ZCB2YW4gc2VjdG9yZW4gb3AgZWVuIGFwcGFyYWF0LlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgIC1vLCAtLW9mZnNldCA8Z2V0YWw+ICAgZGUgcG9zaXRpZSB2YW5hZiB3YWFyIG1ldCB2ZXJ3ZXJwZW4gdGUgYmVnaW5uZW5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgIC1sLCAtLWxlbmd0aCA8Z2V0YWw+ICAgaGV0IGFhbnRhbCB0ZSB2ZXJ3ZXJwZW4gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgIC1wLCAtLXN0ZXAgPGdldGFsPiAgICAgZ3Jvb3R0ZSB2YW4gZGUgdmVyd2VycGluZ3NzdGFwcGVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAgLXMsIC0tc2VjdXJlICAgICAgICAgICB2ZWlsaWdlIHZlcndlcnBpbmdzb3BlcmF0aWVzIHVpdHZvZXJlblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAteiwgLS16ZXJvb3V0ICAgICAgICAgIG1ldCBudWxsZW4gdnVsbGVuIGluIHBsYWF0cyB2YW4gdmVyd2VycGVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTYKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICB1aXRnZWxpam5kZSBsZW5ndGVzIGVuIHBvc2l0aWVzIHZlcm1lbGRlblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcG9zaXRpZSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gc3RhcGdyb290dGUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzYgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3MworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTExIHN5cy11dGlscy9mc3RyaW0uYzozMzYKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm9udmVyd2FjaHQgYWFudGFsIGFyZ3VtZW50ZW4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwoQkxLR0VUU0laRTY0KSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsKEJMS1NTWkdFVCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBwb3NpdGllICU8UFJJdTY0PiBpcyBuaWV0IHVpdGdlbGlqbmQgbWV0IHNlY3Rvcmdyb290dGUgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczogcG9zaXRpZSBpcyBncm90ZXIgZGFuIGFwcGFyYWF0Z3Jvb3R0ZSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxlbmd0aCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBsZW5ndGUgJTxQUkl1NjQ+IGlzIG5pZXQgdWl0Z2VsaWpuZCBtZXQgc2VjdG9yZ3Jvb3R0ZSAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwoQkxLWkVST09VVCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwoQkxLU0VDRElTQ0FSRCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwoQkxLRElTQ0FSRCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworIywgZnV6enkKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICJUb29udCBpbmZvcm1hdGllIG92ZXIgYmxvay1hcHBhcmF0ZW4uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpbnN0ZWxsZW4gdmFuIGRpcmVjdC1JTyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICIlczogc2NocmlqdmVuIHZhbiB6b25lLWthYXJ0IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bChCTEtHRVRTSVpFNjQpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvdW5kICVkIHpvbmVzIGZyb20gMHglPFBSSXg2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZW4gMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiJXM6IHBvc2l0aWUgJTxQUkl1NjQ+IGlzIG5pZXQgdWl0Z2VsaWpuZCBtZXQgc2VjdG9yZ3Jvb3R0ZSAlaSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2Ygc2VjdG9ycyAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiJXM6IHBvc2l0aWUgJTxQUkl1NjQ+IGlzIG5pZXQgdWl0Z2VsaWpuZCBtZXQgc2VjdG9yZ3Jvb3R0ZSAlaSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwoQkxLU1NaR0VUKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICJQYXJ0aXRpZXRhYmVsbGVuZ3RlIGlzIGdld2lqemlnZCB2YW4gJTxQUkl1MzI+IG5hYXIgJTxQUkl1NjQ+LiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPGFwcGFyYWF0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwMgorbXNnaWQgIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAgLW8sIC0tb2Zmc2V0IDxnZXRhbD4gICBvcCBkZXplIHBvc2l0aWUgaW4gaGV0IGJlc3RhbmQgYmVnaW5uZW4sIGluIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgIC10LCAtLXN0cmVhbXMgPGdldGFsPiAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBjb21wcmVzc2llc3RyZWFtc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgICAtLXZlcmJvc2UgICAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICIlcyBpcyBnZWVuIGdlbGRpZyBibG9rLWFwcGFyYWF0IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcmVnZWxhYW50YWwgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcmVnZWxhYW50YWwgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcG9zaXRpZSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgImdlZW4gY29tbWFuZG8gZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQ1BVICV1IGJlc3RhYXQgbmlldCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJXUgaXMgbmlldCBob3RwbHVnLWJhYXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzIGFsIGluZ2VzY2hha2VsZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzIGFsIHVpdGdlc2NoYWtlbGRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiSW5zY2hha2VsZW4gdmFuIENQVSAldSBpcyBtaXNsdWt0IChDUFUgaXMgZ2VkZWNvbmZpZ3VyZWVyZCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiSW5zY2hha2VsZW4gdmFuIENQVSAldSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzIGluZ2VzY2hha2VsZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiVWl0c2NoYWtlbGVuIHZhbiBDUFUgJXUgaXMgbWlzbHVrdCAoaXMgZGUgZW5pZ2UgaW5nZXNjaGFrZWxkZSBDUFUpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJVaXRzY2hha2VsZW4gdmFuIENQVSAldSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBpcyB1aXRnZXNjaGFrZWxkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgcmVzY2FubmluZyBvZiBDUFVzIgorbXNnc3RyICJEaXQgc3lzdGVlbSBvbmRlcnN0ZXVudCBoZXQgaGVyc2Nhbm5lbiB2YW4gQ1BVJ3MgbmlldCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIlN0YXJ0ZW4gdmFuIGVlbiBoZXJzY2FuIHZhbiBDUFUncyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIkhlcnNjYW4gdmFuIENQVSdzIGlzIGdlc3RhcnRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIkRpdCBzeXN0ZWVtIG9uZGVyc3RldW50IGhldCBpbnN0ZWxsZW4gdmFuIGRlIGRpc3BhdGNoaW5nLW1vZHVzIHZhbiBDUFUncyBuaWV0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiSW5zdGVsbGVuIHZhbiBob3Jpem9udGFsZSBkaXNwYXRjaGluZy1tb2R1cyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiSG9yaXpvbnRhbGUgZGlzcGF0Y2hpbmctbW9kdXMgaXMgbWV0IHN1Y2NlcyBpbmdlc3RlbGRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5Cittc2dpZCAiRmFpbGVkIHRvIHNldCB2ZXJ0aWNhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJJbnN0ZWxsZW4gdmFuIHZlcnRpY2FsZSBkaXNwYXRjaGluZy1tb2R1cyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlZlcnRpY2FsZSBkaXNwYXRjaGluZy1tb2R1cyBpcyBtZXQgc3VjY2VzIGluZ2VzdGVsZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkNQVSAldSBpcyBuaWV0IGNvbmZpZ3VyZWVyYmFhciIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzIGFsIGdlY29uZmlndXJlZXJkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzIGFsIGdlZGVjb25maWd1cmVlcmRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiRGVjb25maWd1cmVyZW4gdmFuIENQVSAldSBpcyBtaXNsdWt0IChDUFUgaXMgaW5nZXNjaGFrZWxkKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDb25maWd1cmVyZW4gdmFuIENQVSAldSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzIGdlY29uZmlndXJlZXJkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJEZWNvbmZpZ3VyZXJlbiB2YW4gQ1BVICV1IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBpcyBnZWRlY29uZmlndXJlZXJkXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJvbmdlbGRpZyBDUFUtbnVtbWVyIGluIENQVS1saWpzdDogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOSB0ZXh0LXV0aWxzL2NvbC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiR2VicnVpazogICVzIFtvcHRpZXNdXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiQ29uZmlndXJlZXJ0IENQVSdzIG9wIGVlbiBtdWx0aXByb2Nlc3NvcnN5c3RlZW0uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lbW9yeSBCbG9jayAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBpbmRleCIKK21zZ3N0ciAib250bGVkZW4gdmFuIElEIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICJJbnNjaGFrZWxlbiB2YW4gQ1BVICV1IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiVWl0c2NoYWtlbGVuIHZhbiBDUFUgJXUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgaXMgaW5nZXNjaGFrZWxkXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBpcyB1aXRnZXNjaGFrZWxkXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzIGFsIGluZ2VzY2hha2VsZFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGlzIGFsIHVpdGdlc2NoYWtlbGRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJJbnNjaGFrZWxlbiB2YW4gQ1BVICV1IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIlVpdHNjaGFrZWxlbiB2YW4gQ1BVICV1IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiSW5zY2hha2VsZW4gdmFuIENQVSAldSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJVaXRzY2hha2VsZW4gdmFuIENQVSAldSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgImxlemVuIHZhbiBzbmVsaGVpZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAib250bGVkZW4gdmFuIGdldGFsIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiT250bGVkZW4gdmFuIGdyb290dGUgaXMgbWlzbHVrdC4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBiZWdpbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAib250bGVkZW4gdmFuIGVpbmRlIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIm9uZ2VsZGlnIGJlZ2luIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAib25nZWxkaWdlIHNpZ25hYWxuYWFtIG9mIC1udW1tZXI6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgIm9udGxlZGVuIHZhbiBiZWdpbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCBhZGRyZXNzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gZWluZGUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IGFkZHJlc3MgYW5kIChlbmQgYWRkcmVzcyArIDEpIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJhbWV0ZXI6ICVzIgorbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWyB5IHwgbiBdXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNworbXNnaWQgIlNldCBhIHBhcnRpY3VsYXIgc2l6ZSBvciByYW5nZSBvZiBtZW1vcnkgb25saW5lIG9yIG9mZmxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1lbmFibGUgICAgICAgZW5hYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kaXNhYmxlICAgICAgZGlzYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9uZGVyc3RldW5kZSBsb2ctZmFjaWxpdGVpdGVuOlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgIm9uYmVrZW5kZSBtYWFuZG5hYW06ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIlN0ZWx0IGRlIGZ1bmN0aWUgaW4gdmFuIGRlIEN0cmwrQWx0K0RlbC10b2V0c2NvbWJpbmF0aWUuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiaW1wbGljaWV0IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAib252ZXJ3YWNodGUgd2FhcmRlIGluICVzOiAlanUiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJVIG1vZXQgcm9vdCB6aWpuIG9tIGhldCBnZWRyYWcgdmFuIEN0cmwtQWx0LURlbCBpbiB0ZSBrdW5uZW4gc3RlbGxlbi4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAib25iZWtlbmQgYXJndW1lbnQ6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgInN5c3RlZW0gaXMgb25icnVpa2JhYXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJvbm1pZGRlbGxpamtlIGFjdGllIGlzIHZlcmVpc3QiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgImtyaXRpZWtlIHRvZXN0YW5kIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJmb3V0dG9lc3RhbmQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAid2FhcnNjaHV3aW5nc3RvZXN0YW5kIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiZ2V3b25lIG1hYXIgc2lnbmlmaWNhbnRlIHRvZXN0YW5kIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICJ0ZXIgaW5mb3JtYXRpZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgImRlYnVnZ2luZy1tZWxkaW5nZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAia2VybmVsbWVsZGluZ2VuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAid2lsbGVrZXVyaWdlIGdlYnJ1aWtlcnNtZWxkaW5nZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJwb3N0c3lzdGVlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgInN5c3RlZW1kaWVuc3RlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiYmV2ZWlsaWdpbmdzLS9hdXRvcmlzYXRpZW1lbGRpbmdlbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiaW50ZXJuZSBtZWxkaW5nZW4gdmFuICdzeXNsb2dkJyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAicmVnZWxwcmludGVyLXN1YnN5c3RlZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIm5ldHdlcmtuaWV1d3Mtc3Vic3lzdGVlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIlVVQ1Atc3Vic3lzdGVlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJrbG9rZGllbnN0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiYmV2ZWlsaWdpbmdzLS9hdXRvcmlzYXRpZW1lbGRpbmdlbiAocHJpdsOpKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiRlRQLWRpZW5zdCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIlRvb250IG9mIG1hbmlwdWxlZXJ0IGRlIGluaG91ZCB2YW4gZGUga2VybmVscmluZ2J1ZmZlci5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGRlIGJlcmljaHRlbiBpbiBkZSBrZXJuZWxyaW5nYnVmZmVyIHdpc3NlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBhbGxlIGJlcmljaHRlbiBsZXplbiBlbiBkYW4gd2lzc2VuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIHRvbmVuIHZhbiBtZWxkaW5nZW4gb3AgY29uc29sZSB1aXRzY2hha2VsZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICB0b25lbiB2YW4gbWVsZGluZ2VuIG9wIGNvbnNvbGUgaW5zY2hha2VsZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtRiwgLS1maWxlIDxiZXN0YW5kPiAgICAgICAgZGl0IGJlc3RhbmQgZ2VicnVpa2VuIGkucC52LiBrZXJuZWxyaW5nYnVmZmVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIgIC1mLCAtLWZhY2lsaXR5IDxsaWpzdD4gICAgICB1aXR2b2VyIGJlcGVya2VuIHRvdCBkZSBhYW5nZWdldmVuIGZhY2lsaXRlaXRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBsZWVzYmFyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBrZXJuZWwtYmVyaWNodGVuIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtTCwgLS1jb2xvcls9PHdhbm5lZXI+XSAgICAgYmVyaWNodGVuIGtsZXVyZW4gKCdhbHdheXMnLCAnYXV0bycsIG9mICduZXZlcicpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAgLWwsIC0tbGV2ZWwgPGxpanN0PiAgICAgICAgIHVpdHZvZXIgYmVwZXJrZW4gdG90IGRlIGFhbmdlZ2V2ZW4gbml2ZWF1c1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtbiwgLS1jb25zb2xlLWxldmVsIDxuaXZlYXU+ICBuaXZlYXUgdmFuIGJlcmljaHRlbiBkaWUgb3AgY29uc29sZSBnZXRvb25kIHdvcmRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiICAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZGUgdWl0dm9lciBuaWV0IG5hYXIgZWVuICdwYWdlcicgc2x1aXplblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlIHRpbWVzdGFtcCBvdXRwdXQgb24gZWFjaCBsaW5lIG9mIG11bHRpLWxpbmUgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiICAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgZGUgYmVyaWNodGVuYnVmZmVyIGluIHJhdXdlIHZvcm0gd2VlcmdldmVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiICAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgJ3N5c2xvZygyKScgZ2VicnVpa2VuIGluIHBsYWF0cyB2YW4gJy9kZXYva21zZydcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAgLXMsIC0tYnVmZmVyLXNpemUgPGdldGFsPiAgIGJ1ZmZlcmdyb290dGUgdm9vciBiZXZyYWdlbiB2YW4ga2VybmVscmluZ2J1ZmZlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGJlcmljaHRlbiB1aXQgZ2VicnVpa2Vyc3J1aW10ZSB3ZWVyZ2V2ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgb3AgbmlldXdlIGJlcmljaHRlbiB3YWNodGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiICAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZmFjaWxpdGVpdCBlbiBuaXZlYXUgaW4gbGVlc2JhcmUgdGVrc3Qgb216ZXR0ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHRpamRzZGVsdGEgdHVzc2VuIGdldG9vbmRlIGJlcmljaHRlbiB3ZWVyZ2V2ZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIGxva2FsZSB0aWpkIGVuIHRpamRzZGVsdGEgaW4gbGVlc2JhcmUgdm9ybSB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTUKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiIKKyIgIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBlZW4gbGVlc2JhYXIgdGlqZHNzdGVtcGVsIHByb2R1Y2VyZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXQga2FuIG9ubmF1d2tldXJpZyB6aWpuKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTYKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGdlZW4gdGlqZHNzdGVtcGVsIHdlZXJnZXZlbiBiaWogYmVyaWNodGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAgLS10aW1lLWZvcm1hdCA8c29vcnQ+ICAgIHRpamRzc3RlbXBlbHMgdG9uZW4gdmFuIGRlemUgPHNvb3J0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnZGVsdGEnLCAncmVsdGltZScsICdjdGltZScsICdpc28nLCAnbm90aW1lJ1xuIgorIlxuIgorIlNsYXBlbi9oZXJ2YXR0ZW4gbWFha3QgJ2N0aW1lJyBlbiAnaXNvJyBvbm5hdXdrZXVyaWcuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPbmRlcnN0ZXVuZGUgbG9nLWZhY2lsaXRlaXRlbjpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA4Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9uZGVyc3RldW5kZSBsb2ctbml2ZWF1cyAocHJpb3JpdGVpdGVuKTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gbml2ZWF1ICclcycgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAib25iZWtlbmQgbml2ZWF1ICclcyciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAib250bGVkZW4gdmFuIGZhY2lsaXRlaXQgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICJvbmJla2VuZGUgZmFjaWxpdGVpdCAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJrYW4gYmVzdGFuZCAlcyBuaWV0IGdlaGVlbCBpbiBoZXQgZ2VoZXVnZW4gcGxhYXRzZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2UgYnVmZmVyZ3Jvb3R0ZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ4OAorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIm9wdGllICctLXNob3ctZGVsdGEnIHdvcmR0IGdlbmVnZWVyZCB3YW5uZWVyIHNhbWVuIGdlYnJ1aWt0IG1ldCBJU084NjAxLXRpamRvcG1hYWsiCisKKyMgRklYTUU6IGdyYW1tYXIKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAib3B0aWUgJy0tcmF3JyBnYWF0IGFsbGVlbiBzYW1lbiBtZXQgJy0tbGV2ZWwnIG9mICctLWZhY2lsaXR5JyB3YW5uZWVyIGRlIGJlcmljaHRlbiB1aXQgL2Rldi9rbXNnIGdlbGV6ZW4gd29yZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAibGV6ZW4gdmFuIGtlcm5lbGJ1ZmZlciBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFs8YXBwYXJhYXQ+fDxhYW5rb3BwZWxpbmdzcHVudD5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzOAorbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiV2VycHQgdmVyd2lqZGVyYmFyZSBtZWRpYSB1aXQuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MQorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlN0YW5kYWFyZCB3b3JkZW4gJy1yJywgJy1zJywgJy1mJywgZW4gZGFuICctcScgZ2Vwcm9iZWVyZCB0b3QgaGV0IGdlbHVrdCBpcy5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQgdmFuIG9wdGllICctLWNoYW5nZXJzbG90JyAoLWMpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZhbiBvcHRpZSAnLS1jZHNwZWVkJyAoLXgpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLWF1dG9tYXRpc2NodWl0d2VycGNvbW1hbmRvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiQ0QtUk9NLWRldXJ2ZXJncmVuZGVsaW5nIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJhbmRlcmUgZ2VicnVpa2VycyBoZWJiZW4gaGV0IGFwcGFyYWF0IG9wZW4gZW4gZ2VlbiBDQVBfU1lTX0FETUlOIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00tZGV1cnZlcmdyZW5kZWxpbmdzY29tbWFuZG8gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ4Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0QtUk9NIGthbiBOSUVUIHVpdGdld29ycGVuIHdvcmRlbiBtZXQgYXBwYXJhYXRrbm9wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIkNELVJPTSBrYW4gdWl0Z2V3b3JwZW4gd29yZGVuIG1ldCBhcHBhcmFhdGtub3AiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLXNjaGlqZmtldXplY29tbWFuZG8gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00tY29tbWFuZG8gdm9vciBsYWRlbiB1aXQgdmFrIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIklERS9BVEFQSSBDRC1ST00td2lzc2VsYWFyIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQgZG9vciBkZXplIGtlcm5lbFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLWxhZGVzbHVpdGNvbW1hbmRvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJDRC1ST00tbGFkZXNsdWl0Y29tbWFuZG8gd29yZHQgbmlldCBvbmRlcnN0ZXVuZCBkb29yIGRlemUga2VybmVsXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiVWl0d2VycGVuIHZhbiBDRC1ST00gd29yZHQgbmlldCBvbmRlcnN0ZXVuZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMyIHN5cy11dGlscy9lamVjdC5jOjQ1NSBzeXMtdXRpbHMvZWplY3QuYzoxMDA2Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00tdWl0d2VycGNvbW1hbmRvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgImdlZW4gQ0QtUk9NLWluZm9ybWF0aWUgYmVzY2hpa2JhYXIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIkNELVJPTS1hcHBhcmFhdCBpcyBuaWV0IGdlcmVlZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NLXNuZWxoZWlkc2tldXplY29tbWFuZG8gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgzCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIkNELVJPTS1zbmVsaGVpZHNrZXV6ZWNvbW1hbmRvIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQgZG9vciBkZXplIGtlcm5lbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IHZlcmtyaWpnZW4gdmFuIENELVJPTS1uYWFtIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBsZXplbiB2YW4gc25lbGhlaWQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgImxlemVuIHZhbiBzbmVsaGVpZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODMKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJpcyBnZWVuIFNHLWFwcGFyYWF0LCBvZiBlZW4gb3VkIFNHLXN0dXVycHJvZ3JhbW1hIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiBhZmtvcHBlbGVuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAia2FuIGdlZW4gbmlldXcgcHJvY2VzIHN0YXJ0ZW4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiYWZrb3BwZWxpbmcgdmFuICclcycgaXMgbmlldCBub3JtYWFsIGFmZ2VzbG90ZW4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJhZmtvcHBlbGVuIHZhbiAnJXMnIGlzIG1pc2x1a3RcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gYWFua29wcGVsaW5nc3RhYmVsIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiBpcyBhYW5nZWtvcHBlbGQgb3AgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIkNELVJPTS1zbmVsaGVpZCB3b3JkdCBpbmdlc3RlbGQgb3AgJ2F1dG8nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAiQ0QtUk9NLXNuZWxoZWlkIHdvcmR0IGluZ2VzdGVsZCBvcCAlbGRYIgorCisjIEZJWE1FOiBiYWNrdGljaworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICJzdGFuZGFhcmRhcHBhcmFhdDogJyVzJyIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICJzdGFuZGFhcmRhcHBhcmFhdCAnJXMnIHdvcmR0IGdlYnJ1aWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXM6IGthbiBhcHBhcmFhdCBuaWV0IHZpbmRlbiIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJhcHBhcmFhdG5hYW0gaXMgJyVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVzIGlzIG5pZXQgYWFuZ2Vrb3BwZWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVzOiBibG9rLWFwcGFyYWF0OiAlcyAoZGV6ZSB6YWwgZ2VicnVpa3Qgd29yZGVuIHZvb3IgdWl0d2VycGluZykiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiBnZWVuIGFwcGFyYWF0IG9mIGFhbmtvcHBlbGluZ3NwdW50IGdldm9uZGVuIG1ldCBkZSBnZWdldmVuIG5hYW0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzIGlzIGhldCBnZWhlbGUtc2NoaWpmLWFwcGFyYWF0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IGlzIGdlZW4gaG90cGx1Zy1iYWFyIGFwcGFyYWF0IgorCisjIEZJWE1FOiBiYWNrdGljaworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJhcHBhcmFhdCBpcyAnJXMnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICJhZnNsdWl0aW5nIHdlZ2VucyBvcHRpZSAnLS1ub29wJyAoLW4pIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IGF1dG8tdWl0d2VycGluZ3Ntb2R1cyB3b3JkdCBpbmdlc2NoYWtlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IGF1dG8tdWl0d2VycGluZ3Ntb2R1cyB3b3JkdCB1aXRnZXNjaGFrZWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiJXM6IHNsdWl0ZW4gdmFuIGxhZGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiJXM6IG9tc2NoYWtlbGVuIHZhbiBsYWRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIlc1wiIHRvbmVuIHZhbiBDRC1ST00tc25lbGhlaWQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgImZvdXQ6ICVzOiBhcHBhcmFhdCBpcyBiZXppZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXM6IGtpZXplbiB2YW4gQ0QtUk9NLXNjaGlqZiAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBwb2dpbmcgdG90IHVpdHdlcnBpbmcgbWV0IENELVJPTS11aXR3ZXJwY29tbWFuZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNELVJPTS11aXR3ZXJwY29tbWFuZG8gaXMgZ2VzbGFhZ2QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlczogcG9naW5nIHRvdCB1aXR3ZXJwaW5nIG1ldCBTQ1NJLWNvbW1hbmRvJ3MiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiU0NTSS11aXR3ZXJwaW5nIGlzIGdlc2xhYWdkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEzCittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIlNDU0ktdWl0d2VycGluZyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBwb2dpbmcgdG90IHVpdHdlcnBpbmcgbWV0IGZsb3BweS11aXR3ZXJwY29tbWFuZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgImZsb3BweS11aXR3ZXJwY29tbWFuZG8gaXMgZ2VzbGFhZ2QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImZsb3BweS11aXR3ZXJwY29tbWFuZG8gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlczogcG9naW5nIHRvdCB1aXR3ZXJwaW5nIG1ldCBiYW5kLW9mZmxpbmUtY29tbWFuZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgImJhbmQtb2ZmbGluZS1jb21tYW5kbyBpcyBnZXNsYWFnZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiYmFuZC1vZmZsaW5lLWNvbW1hbmRvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImthbiBuaWV0IHVpdHdlcnBlbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxiZXN0YW5kPlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiUmVzZXJ2ZWVydCBydWltdGUgdm9vciwgb2Ygb250bmVlbXQgZGV6ZSBhYW4gZWVuIGJlc3RhbmQuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgLWMsIC0tY29sbGFwc2UtcmFuZ2UgICBlZW4gYmVyZWlrIHVpdCBlZW4gYmVzdGFuZCB2ZXJ3aWpkZXJlblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAgLWQsIC0tZGlnLWhvbGVzICAgICAgICBibG9ra2VuIHZhbiBudWxsZW4gZGV0ZWN0ZXJlbiBlbiB2ZXJ2YW5nZW4gZG9vciBnYXRlblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAgLWwsIC0tbGVuZ3RoIDxnZXRhbD4gICBsZW5ndGUgdm9vciBiZXdlcmtpbmdlbiBvcCBlZW4gYmVyZWlrLCBpbiBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAtbiwgLS1rZWVwLXNpemUgICAgICAgIGRlIHNjaGlqbmJhcmUgZ3Jvb3R0ZSB2YW4gaGV0IGJlc3RhbmQgYmVob3VkZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiICAtbywgLS1vZmZzZXQgPGdldGFsPiAgIG9wIGRlemUgcG9zaXRpZSBpbiBoZXQgYmVzdGFuZCBiZWdpbm5lbiwgaW4gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk2Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiICAtcCwgLS1wdW5jaC1ob2xlICAgICAgIGVlbiBiZXJlaWsgdmVydmFuZ2VuIGRvb3IgZWVuIGdhdCAgKGltcGxpY2VlcnQgJy1uJylcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiICAteiwgLS16ZXJvLXJhbmdlICAgICAgIGVlbiBiZXJlaWsgcmVzZXJ2ZXJlbiBlbiBtZXQgbnVsbGVuIHZ1bGxlblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiICAteSwgLS1waHlzaWNhbCAgICAgICAgICBmeXNpZWtlIGluIHBsYWF0cyB2YW4gbG9naXNjaGUgSURzIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiZmFsbG9jYXRlKCkgaXMgbWlzbHVrdDogJ2tlZXAtc2l6ZSctbW9kdXMgKG9wdGllICctbicpIHdvcmR0IG5pZXQgb25kZXJzdGV1bmQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgImZhbGxvY2F0ZSgpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogcmVhZCgpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJ5dGVzKSB6aWpuIGdlY29udmVydGVlcmQgbmFhciBnYXRlblxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGJlc3RhbmRzbmFhbSBnZWdldmVuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIm9uZ2VsZGlnZSBsZW5ndGUgZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgImdlZW4gbGVuZ3RlIGdlZ2V2ZW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIm9uZ2VsZGlnZSBwbGFhdHN3YWFyZGUgZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdIDxiZXN0YW5kPnw8bWFwPiA8b3BkcmFjaHQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAgJTEkcyBbb3B0aWVzXSA8YmVzdGFuZD58PG1hcD4gLWMgPG9wZHJhY2h0PlxuIgorIiAgJTEkcyBbb3B0aWVzXSA8YmVzdGFuZHNkZWNyaXB0b3JudW1tZXI+XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJSZWdlbHQgYmVzdGFuZHN2ZXJncmVuZGVsaW5nZW4gdmFudWl0IHNoZWxsLXNjcmlwdHMuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBlZW4gZ2VkZWVsZGUgdmVyZ3JlbmRlbGluZyB2ZXJrcmlqZ2VuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGVlbiBleGNsdXNpZXZlIHZlcmdyZW5kZWxpbmcgdmVya3JpamdlbiAoc3RhbmRhYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgIC11LCAtLXVubG9jayAgICAgICAgICAgICBlZW4gdmVyZ3JlbmRlbGluZyB2ZXJ3aWpkZXJlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhbGVuIGluIHBsYWF0cyB2YW4gd2FjaHRlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAgLXcsIC0tdGltZW91dCA8Z2V0YWw+ICAgIGRpdCBhYW50YWwgc2Vjb25kZW4gd2FjaHRlblxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiAgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxnZXRhbD4gIGFmc2x1aXR3YWFyZGUgbmEgY29uZmxpY3Qgb2YgdGlqZHNvdmVyc2NocmlqZGluZ1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiICAtbywgLS1jbG9zZSAgICAgICAgICAgICAgYmVzdGFuZHNkZXNjcmlwdG9yIHNsdWl0ZW4gdsOzw7NyIHVpdHZvZXJlbiB2YW4gb3BkcmFjaHRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIgIC1jLCAtLWNvbW1hbmQgPG9wZHJhY2h0PiBkZXplIGVuZSBvcGRyYWNodCB1aXR2b2VyZW4gdmlhIGRlIHNoZWxsXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcwCittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIG9wZHJhY2h0IHVpdHZvZXJlbiB6b25kZXIgZWVuIG5pZXV3IHByb2NlcyB0ZSBzdGFydGVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAgLS12ZXJib3NlICAgICAgICAgICAgbWVlciBpbmZvcm1hdGllIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgImthbiB2ZXJncmVuZGVsaW5nc2Jlc3RhbmQgJXMgbmlldCBvcGVuZW4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOAorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAib25nZWxkaWdlIHRpamRzbGltaWV0IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAib25nZWxkaWdlIGFmc2x1aXR3YWFyZGUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICJvcHRpZXMgJy0tbm8tZm9yaycgZW4gJy0tY2xvc2UnIGdhYW4gbmlldCBzYW1lbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIHZlcmVpc3QgcHJlY2llcyDDqcOpbiBvcGRyYWNodGFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJvbmdlbGRpZ2UgYmVzdGFuZHNkZXNjcmlwdG9yIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTgKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICJ2ZXJlaXN0IGVlbiBiZXN0YW5kc2Rlc2NyaXB0b3IsIGVlbiBiZXN0YW5kLCBvZiBlZW4gbWFwIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgInZlcmtyaWpnZW4gdmFuIHZlcmdyZW5kZWxpbmcgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg5Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICJ0aWpkc2xpbWlldCBpcyB2ZXJzdHJla2VuIHRpamRlbnMgd2FjaHRlbiBvcCB2ZXJncmVuZGVsaW5nIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzOiB2ZXJrcmlqZ2VuIHZhbiB2ZXJncmVuZGVsaW5nIGR1dXJkZSAlbGQuJTA2bGQgc2Vjb25kZW5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6IHVpdHZvZXJlbiB2YW4gJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8YWFua29wcGVsaW5nc3B1bnQ+XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ0CisjLCBmdXp6eQorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS29wcGVsdCBlZW4gYmVzdGFuZHNzeXN0ZWVtIGFhbi5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgLWYsIC0tZnJlZXplICAgICAgaGV0IGJlc3RhbmRzc3lzdGVlbSBiZXZyaWV6ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICAtdSwgLS11bmZyZWV6ZSAgICBoZXQgYmVzdGFuZHNzeXN0ZWVtIG9udGRvb2llblxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDUKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICJub2NoICctLWZyZWV6ZScgbm9jaCAnLS11bmZyZWV6ZScgaXMgYWFuZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBpcyBnZWVuIG1hcCIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogYmV2cmllemVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogb250ZG9vaWVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogaXMgZ2VlbiBtYXAiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsKEZJVFJJTSkgaXMgbWlzbHVrdCIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSB0cmltbWVkXG4iCittc2dzdHIgIiVzOiAlcyAoJTxQUkl1NjQ+IGJ5dGVzKSBpcyBnZXRyaW1kXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8YWFua29wcGVsaW5nc3B1bnQ+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlZlcndlcnB0IG9uZ2VicnVpa3RlIGJsb2trZW4gb3AgZWVuIGFhbmdla29wcGVsZCBiZXN0YW5kc3N5c3RlZW0uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICBhbGxlIG9uZGVyc3RldW5kZSBhYW5nZWtvcHBlbGRlIGJlc3RhbmRzc3lzdGVtZW4gdHJpbW1lblxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8Z2V0YWw+ICAgZGUgcG9zaXRpZSB2YW5hZiB3YWFyIG1ldCB2ZXJ3ZXJwZW4gdGUgYmVnaW5uZW5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxnZXRhbD4gICBoZXQgYWFudGFsIHRlIHZlcndlcnBlbiBieXRlc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbSwgLS1taW5pbXVtIDxnZXRhbD4gIGRlIG1pbmltdW0gbGVuZ3RlIHZhbiBkZSB0ZSB2ZXJ3ZXJwZW4gZXh0ZW50c1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBoZXQgYWFudGFsIHZlcndvcnBlbiBieXRlcyB3ZWVyZ2V2ZW5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgIm9udGxlZGVuIHZhbiBtaW5pbXVtLWV4dGVudC1sZW5ndGUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGFhbmtvcHBlbGluZ3NwdW50IG9wZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVzOiB2ZXJ3ZXJwZW4gd29yZHQgbmlldCBvbmRlcnN0ZXVuZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJFciB3b3JkdCBhYW5nZW5vbWVuIGRhdCBkZSBoYXJkd2FyZWtsb2sgb3AgJXMgc3RhYXQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjA0IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMtdGlqZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAibG9rYWxlIHRpamQiCisKKyMgRklYTUU6IGJhY2t0aWNrcworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIldhYXJzY2h1d2luZzogZGVyZGUgcmVnZWwgaW4gYWRqdGltZS1iZXN0YW5kIGlzIG5pZXQgaGVya2VuZC5cbiIKKyIoVmVyd2FjaHQgd2VyZCAnVVRDJyBvZiAnTE9DQUwnIG9mIG5pZXRzLikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiTGFhdHN0ZSB2ZXJzY2h1aXZpbmdzY29ycmVjdGllIGlzICVsZCBzZWNvbmRlbiBuYSAxOTY5IGdlZGFhbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiTGFhdHN0ZSBjYWxpYnJhdGllIGlzICVsZCBzZWNvbmRlbiBuYSAxOTY5IGdlZGFhbi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJIYXJkd2FyZWtsb2sgc3RhYXQgb3AgJXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiV2FjaHRlbiBvcCBrbG9rdGlrLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uc3luY2hyb25pc2F0aWUgaXMgbWlzbHVrdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiLi4ua2xva3RpayBvbnR2YW5nZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIk9uZ2VsZGlnZSB3YWFyZGVuIGluIGhhcmR3YXJla2xvazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiSGFyZHdhcmVrbG9rdGlqZCBpczogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRlbiBzaW5kcyAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJUaWpkIGdlbGV6ZW4gdmFuIGRlIGhhcmR3YXJla2xvazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIEhhcmR3YXJlIENsb2NrIHRvICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJJbnN0ZWxsZW4gdmFuIGhhcmR3YXJla2xvayBvcCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRlbiBzaW5kcyAxOTY5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiZGUgdGlqZCBpcyAlLjZmIHNlY29uZGVuIGFjaHRlcndhYXJ0cyBnZXNwcm9uZ2VuIG5hYXIgJWxkLiUwNmxkIC0tIG5pZXV3IGRvZWwuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICJ2ZXJzbGFwZW4gLS0gJWxkLiUwNmxkIGlzIHRlIHZlciB2b29yYmlqICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisiJWxkLiUwNmxkIGlzIGRpY2h0IGdlbm9lZyBiaWogJWxkLiUwNmxkICglLjZmIDwgJS42Zik7XG4iCisiaW5zdGVsbGVuIHZhbiBSVEMgb3AgJWxkICglbGQgKyAlZDsgcmVmZXJlbnRpZXN5c3RlZW10aWpkID0gJWxkLiUwNmxkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgdG8gc2V0IHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjgKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAwKSB0byBsb2NrIHRoZSB3YXJwIGZ1bmN0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoJWxkLiUwNmxkLCAlZClcbiIKK21zZ3N0ciAiQWFucm9lcCB2YW4gc2V0dGltZW9mZGF5KCk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICJBYW5yb2VwIHZhbiBzZXR0aW1lb2ZkYXkoKTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzYKK21zZ2lkICJ0byBzZXQgdGhlIGtlcm5lbCB0aW1lem9uZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKK21zZ2lkICJ0byB3YXJwIFN5c3RlbSB0aW1lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY1NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiIgorIkRlIHZlcnNjaHVpdmluZ3NmYWN0b3Igd29yZHQgbmlldCBhYW5nZXBhc3QsXG4iCisib21kYXQgZGUgb3B0aWUgLS11cGRhdGUtZHJpZnQgbmlldCBpcyBnZWJydWlrdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgbGFzdCBjYWxpYnJhdGlvbiB0aW1lIGlzIHplcm8sXG4iCisic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciBpcyBuZWNlc3NhcnkuXG4iCittc2dzdHIgIiIKKyJEZSB2ZXJzY2h1aXZpbmdzZmFjdG9yIHdvcmR0IG5pZXQgYWFuZ2VwYXN0XG4iCisib21kYXQgZGUgbGFhdHN0ZSBjYWxpYnJhdGlldGlqZCBudWwgd2FzLlxuIgorIkVyIGlzIGR1cyBnZWVuIGJydWlrYmFyZSBnZXNjaGllZGVuaXMsXG4iCisiZW4gZWVuIGxhdGVyZSBoZXJjYWxpYnJhdGllIGlzIG5vZGlnLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICIiCisiRGUgdmVyc2NodWl2aW5nc2ZhY3RvciB3b3JkdCBuaWV0IGFhbmdlcGFzdCxcbiIKKyJvbWRhdCBkZSB2b3JpZ2UgY2FsaWJyYXRpZSBtaW5kZXIgZGFuIHZpZXIgdXVyIGdlbGVkZW4gaXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorIkRlIHZlcnNjaHVpdmluZ3NmYWN0b3Igd2VyZCBiZXJla2VuZCBvcCAlZiBzZWNvbmRlbi9kYWcuXG4iCisiRGF0IGlzIHZlZWwgdGUgdmVlbC4gIElzIHRlcnVnZ2V6ZXQgb3AgbnVsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJEZSBrbG9rIGlzICVmIHNlY29uZGVuIHZlcnNjaG92ZW4gaW4gZGUgbGFhdHN0ZSAlZiBzZWNvbmRlbixcbiIKKyJvbmRhbmtzIGVlbiB2ZXJzY2h1aXZpbmdzZmFjdG9yIHZhbiAlZiBzZWNvbmRlbi9kYWcuXG4iCisiRGUgdmVyc2NodWl2aW5nc2ZhY3RvciB3b3JkdCBtZXQgJWYgc2Vjb25kZW4vZGFnIGFhbmdlcGFzdC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiRGUgdmVybG9wZW4gdGlqZCBzaW5kcyBkZSB2b3JpZ2UgYWFucGFzc2luZyBpcyAlZCBzZWNvbmRlLlxuIgorbXNnc3RyWzFdICJEZSB2ZXJsb3BlbiB0aWpkIHNpbmRzIGRlIHZvcmlnZSBhYW5wYXNzaW5nIGlzICVkIHNlY29uZGVuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4MgorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIkRlIGJlcmVrZW5kZSBoYXJkd2FyZWtsb2tkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAia2FuICVzIG5pZXQgb3BlbmVuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICIiCisiRGUga2xvayB3b3JkdCBuaWV0IGluZ2VzdGVsZFxuIgorIm9tZGF0IGRlIGxhYXRzdGUgYWFucGFzc2luZ3N0aWpkIG51bCBpcy5cbiIKKyJFciBpcyBkdXMgZ2VlbiBicnVpa2JhcmUgZ2VzY2hpZWRlbmlzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKyJEZSBrbG9rIHdvcmR0IG5pZXQgaW5nZXN0ZWxkXG4iCisib21kYXQgdmVyc2NodWl2aW5nc2ZhY3RvciAlZiB2ZWVsIHRlIGhvb2cgaXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgIkdlZW4gYnJ1aWtiYXJlIGtsb2staW50ZXJmYWNlIGdldm9uZGVuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiS2FuIG9wIGdlZW4gZW5rZWxlIGJla2VuZGUgbWFuaWVyIHRvZWdhbmcga3JpamdlbiB0b3QgZGUgaGFyZHdhcmVrbG9rLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiIgorIkdlYnJ1aWsgZGUgb3B0aWUgJy0tZGVidWcnIG9tIGFsbGUgZGV0YWlscyBvdmVyIGRlIHpvZWt0b2NodFxuIgorIm5hYXIgZWVuIHRvZWdhbmdzbWV0aG9kZSB0ZSB6aWVuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICJwYWdpbmEncyBpbiB3aXNzZWxnZWhldWdlbiA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk3MAorbXNnaWQgIlJUQyByZWFkIHJldHVybmVkIGFuIGludmFsaWQgdmFsdWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiIgorIkRlIGJlbm9kaWdkZSBhYW5wYXNzaW5nIGlzIG1pbmRlciBkYW4gw6nDqW4gc2Vjb25kZTtcbiIKKyJkZSBrbG9rIHdvcmR0IG5pZXQgdmVyYW5kZXJkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgImthbiBzdXBlcmJsb2sgbmlldCBsZXplbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiSW5zdGVsbGVuIHZhbiBkZSBzeXN0ZWVta2xvayBpcyBtaXNsdWt0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiAgaHdjbG9jayBbZnVuY3RpZV0gW29wdGllLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIiCisiICAtcywgLS1zaG93ICAgICAgICAgICBwYXJ0aXRpZXMgdG9uZW5cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAgICAgLS1oZWxwICAgICAgICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgIC0zLCAtLXRocmVlICAgICAgICAgICBkcmllIG1hYW5kZW4gcm9uZG9tIGRlIGRhdHVtIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjcKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgIC10LCAtLXR5cGVzIDxsaWpzdD4gICAgICAgZGUgc2V0IHZhbiBiZXN0YW5kc3N5c3RlZW1zb29ydGVuIGJlcGVya2VuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorbXNnaWQgIiAgICAgLS1zeXN0eiAgICAgICAgICBzZW5kIHRpbWVzY2FsZSBjb25maWd1cmF0aW9ucyB0byB0aGUga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZGlzcGxheSB0aGUgUlRDIGVwb2NoIgorbXNnc3RyICIgICAgICAtLWhlbHAgICAgICAgICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzIKK21zZ2lkICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBSVEMgZXBvY2ggYWNjb3JkaW5nIHRvIC0tZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc0Cittc2dpZCAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgdGhlIGRyaWZ0ZWQgUlRDIHRpbWUgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIFVUQyIKK21zZ3N0ciAiICAtdSwgLS11dGMgICAgICAgICAgICAgICAgaGFyZHdhcmVrbG9rIGlzIGluIFVUQyAodW5pdmVyc2VsZSB0aWpkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIgIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBoYXJkd2FyZWtsb2sgaXMgaW4gbG9rYWxlIHRpamRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiICAtZiwgLS1maWxlIDxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIGJlc3RhbmQgaW4gcGxhYXRzIHZhbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzZSB0aGUgSVNBIGJ1cyBpbnN0ZWFkIG9mICUxJHMgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lPiAgICBkYXRlL3RpbWUgaW5wdXQgZm9yIC0tc2V0IGFuZCAtLXByZWRpY3QiCittc2dzdHIgIiAgICAgIC0tZGF0ZSA8ZGF0dW10aWpkPiAgIGhldCB0aWpkc3RpcCBvbSB3ZWVyIHdha2tlciB0ZSB3b3JkZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg2Cittc2dpZCAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIGVwb2NoIGlucHV0IGZvciAtLXNldGVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4OAorbXNnaWQgIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgdGhlIFJUQyBkcmlmdCBmYWN0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IHVzZSAlMSRzXG4iCittc2dzdHIgIiAgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiICAtZiwgLS1maWxlIDxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIGJlc3RhbmQgaW4gcGxhYXRzIHZhbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgICAtLWZha2UgICAgICAgICAgICAgICAgZG9lbiBhbHNvZjsgZGUgdW1vdW50KDIpLXN5c3RlZW1hYW5yb2VwIG92ZXJzbGFhblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgICAgICAtLXZlcmJvc2UgICAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiS2FuIGdlZW4gdmVyYmluZGluZyBtYWtlbiBtZXQgYXVkaXRzeXN0ZWVtIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICJ0ZSB2ZWVsIGFyZ3VtZW50ZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiQmlqICctLW5vYWRqZmlsZScgbW9ldCB1IG9mICctLXV0Yycgb2YgJy0tbG9jYWx0aW1lJyBhYW5nZXZlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgIm9uZ2VsZGlnIElEOiAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gVGltZTogJWxkLiUwNmxkXG4iCittc2dzdHIgIkh1aWRpZ2Ugc3lzdGVlbXRpamQ6ICVsZCA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICJUaWpkIHZhbiBsYWF0c3RlIHdpanppZ2luZyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM4OQorIywgZnV6enkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJQbHltb3V0aC12ZXJ6b2VrICVjIGlzIG5pZXQgZ2XDr21wbGVtZW50ZWVyZCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5MQorIywgZnV6enkKK21zZ2lkICJpb3BsKCkgcG9ydCBhY2Nlc3MgZmFpbGVkIgorbXNnc3RyICJrYW4gYmVzdGFuZCAlcyBuaWV0IGJlcmVpa2VuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAiR2VicnVpayB2YW4gZGlyZWN0ZSBpbnZvZXItL3VpdHZvZXJpbnN0cnVjdGllcyB2b29yIElTQS1rbG9rLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiUG9naW5nIHRvdCBhZmtvcHBlbGVuIHZhbiAlcy4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHJ0YyBkZXZpY2UiCittc2dzdHIgImthbiBkZXplIG5pZXQgb3BlbmVuOiAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCVzKSBvcCAlcyBvbSBkZSB0aWpkIHRlIGxlemVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiV2FjaHRlbiBpbiBsdXMgdG90ZGF0IGRlIHRpamQgdmFuICVzIHZlcmFuZGVydC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzMKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJXYWNodGVuIG9wIHZlcmFuZGVyZW5kZSB0aWpkIGR1dXJkZSB0ZSBsYW5nLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSB2YW4gJXMgdm9vciB3YWNodGVuIG9wIGtsb2t0aWsgZHV1cmRlIHRlIGxhbmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAic2VsZWN0KCkgdmFuICVzIHZvb3Igd2FjaHRlbiBvcCBrbG9rdGlrIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBvcCAlcyBvbSBiaWp3ZXJraW5nc29uZGVyYnJla2luZ2VuIHVpdCB0ZSB6ZXR0ZW4gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBvcCAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglcykgb3AgJXMgb20gdGlqZCBpbiB0ZSBzdGVsbGVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBpcyBnZXNsYWFnZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiR2VicnVpayB2YW4gL2Rldi1pbnRlcmZhY2Ugdm9vciBkZSBrbG9rLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1JFQUQpIG9wICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSBvcCAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZXBvY2ggJyVzJy4iCittc2dzdHIgIm9uZ2VsZGlnIElEOiAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIG9wICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBvcCAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIk1hYWt0IGRlIGFhbmdlZ2V2ZW4gSVBDLXZvb3J6aWVuaW5nZW4gYWFuLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0gPGdldGFsPiAgICAgICAgZ2VkZWVsZCBnZWhldWdlbnNlZ21lbnQgdmFuIGRlemUgZ3Jvb3R0ZSBhYW5tYWtlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPGdldGFsPiAgICBzZW1hZm9vci1hcnJheSBtZXQgZGl0IGFhbnRhbCBlbGVtZW50ZW4gYWFubWFrZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgICBiZXJpY2h0ZW53YWNodHJpaiBhYW5tYWtlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiAtcCwgLS1tb2RlIDxtb2R1cz4gICAgICAgICB0b2VnYW5nc3JlY2h0ZW4gdm9vciBodWxwYnJvbiAoc3RhbmRhYXJkIGlzIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gZ3Jvb3R0ZSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIm9udGxlZGVuIHZhbiBlbGVtZW50ZW4gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgImFhbm1ha2VuIHZhbiBnZWRlZWxkIGdlaGV1Z2Vuc2VnbWVudCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiR2VkZWVsZCBnZWhldWdlbnNlZ21lbnQtSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiYWFubWFrZW4gdmFuIGJlcmljaHRlbndhY2h0cmlqIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICJCZXJpY2h0ZW53YWNodHJpai1JRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgImFhbm1ha2VuIHZhbiBzZW1hZm9vciBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJTZW1hZm9vci1JRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcHRpZXNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPElEPi4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIlZlcndpamRlcnQgZGUgYWFuZ2VnZXZlbiBJUEMtdm9vcnppZW5pbmdlbi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPElEPiAgICAgICAgZ2VkZWVsZCBnZWhldWdlbnNlZ21lbnQgbWV0IGRlemUgSUQgdmVyd2lqZGVyZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtLWtleSA8c2xldXRlbD4gIGdlZGVlbGQgZ2VoZXVnZW5zZWdtZW50IG1ldCBkZXplIHNsZXV0ZWwgdmVyd2lqZGVyZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxJRD4gICAgICAgIGJlcmljaHRlbndhY2h0cmlqIG1ldCBkZXplIElEIHZlcndpamRlcmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxzbGV1dGVsPiAgYmVyaWNodGVud2FjaHRyaWogbWV0IGRlemUgc2xldXRlbCB2ZXJ3aWpkZXJlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPElEPiAgICBzZW1hZm9vciBtZXQgZGV6ZSBJRCB2ZXJ3aWpkZXJlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlLWtleSA8c2xldXRlbD4gIHNlbWFmb29yIG1ldCBkZXplIHNsZXV0ZWwgdmVyd2lqZGVyZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIGFsbGUgemFrZW4gKGluIGRlemUgY2F0ZWdvcmllKSB2ZXJ3aWpkZXJlblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgdG9uZW4gd2F0IGVyIGdlZGFhbiB3b3JkdFxuIgorCisjIEZJWE1FOiBiYWNrdGljaworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAidmVyd2lqZGVyZW4gdmFuIGdlZGVlbGQgZ2VoZXVnZW5zZWdtZW50IG1ldCBJRCAnJWQnXG4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAidmVyd2lqZGVyZW4gdmFuIGJlcmljaHRlbndhY2h0cmlqIG1ldCBJRCAnJWQnXG4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJ2ZXJ3aWpkZXJlbiB2YW4gc2VtYWZvb3IgbWV0IElEICclZCdcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgInRvZWdhbmcgZ2V3ZWlnZXJkIHZvb3Igc2xldXRlbCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJ0b2VnYW5nIGdld2VpZ2VyZCB2b29yIElEIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgIm9uZ2VsZGlnZSBzbGV1dGVsIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJvbmdlbGRpZyBJRCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgInNsZXV0ZWwgaXMgYWwgdmVyd2lqZGVyZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJJRCBpcyBhbCB2ZXJ3aWpkZXJkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAic2xldXRlbCBoZWVmdCBnZWZhYWxkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIklEIGhlZWZ0IGdlZmFhbGQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAib25nZWxkaWcgSUQ6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJodWxwYnJvbihuZW4pIHZlcndpamRlcmRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIm9uZ2VsZGlnZSBzbGV1dGVsICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiZGV6ZSBrZXJuZWwga2VudCBnZWVuIGdlZGVlbGQgZ2VoZXVnZW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAiZGV6ZSBrZXJuZWwga2VudCBnZWVuIHNlbWFmb3JlbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiZGV6ZSBrZXJuZWwga2VudCBnZWVuIGJlcmljaHR3YWNodHJpamVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyIgICUxJHMgW2h1bHBicm9ub3B0aWUuLi5dIFt1aXR2b2Vyb3B0aWVdXG4iCisiICAlMSRzIC1tfC1xfC1zIC1pIDxJRD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICJHZWVmdCBpbmZvcm1hdGllIG92ZXIgSVBDLXZvb3J6aWVuaW5nZW4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiICAtaSwgLS1pZCA8SUQ+ICAgICAgZGV0YWlscyB3ZWVyZ2V2ZW4gb3ZlciBkZSBtZXQgPElEPiBhYW5nZWdldmVuIGh1bHBicm9uXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiSHVscGJyb25vcHRpZXM6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiICAtbSwgLS1zaG1lbXMgICAgICAgZ2VkZWVsZGUgZ2VoZXVnZW5zZWdtZW50ZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWV1ZXMgICAgICAgYmVyaWNodHdhY2h0cmlqZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODcKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlcyAgc2VtYXBob3Jlc1xuIgorbXNnc3RyICIgIC1zLCAtLXNlbWFwaG9yZXMgICBzZW1hZm9yZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgIGFsbGUgZHJpZSAoc3RhbmRhYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIlVpdHZvZXJvcHRpZXM6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAgLXQsIC0tdGltZSAgICAgICAgIGFhbmhlY2h0aW5ncy0sIG9udGhlY2h0aW5ncy0gZW4gd2lqemlnaW5nc3RpamRlbiB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAgLXAsIC0tcGlkICAgICAgICAgIFBJRCdzIHZhbiBhYW5tYWtlciBlbiBsYWF0c3RlIG9wZXJhdGllIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgIC1jLCAtLWNyZWF0b3IgICAgICBhYW5tYWtlciBlbiBlaWdlbmFhciB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAgLWwsIC0tbGltaXRzICAgICAgIGh1bHBicm9uZ3JlbnplbiB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiICAtdSwgLS1zdW1tYXJ5ICAgICAgZWVuIHRvZXN0YW5kc3NhbWVudmF0dGluZyB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgIC0taHVtYW4gICAgICAgIGdyb290dGVzIGluIGxlZXNiYXJlIHZvcm0gdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAgLWIsIC0tYnl0ZXMgICAgICAgIGdyb290dGVzIGluIGJ5dGVzIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgImJpaiBnZWJydWlrIHZhbiBlZW4gSUQgZGllbnQgw6nDqW4gZW5rZWxlIGh1bHBicm9uIGFhbmdlZ2V2ZW4gdGUgd29yZGVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAia2FuIGxpbWlldGVuIHZhbiBnZWRlZWxkIGdlaGV1Z2VuIG5pZXQgYWNodGVyaGFsZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZWRlZWxkIGdlaGV1Z2VuOiBncmVuemVuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAibWF4aW11bSBhYW50YWwgc2VnbWVudGVuID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjEwCittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICJtYXhpbXVtIHNlZ21lbnRncm9vdHRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJtYXhpbXVtIHRvdGFhbCBnZWRlZWxkIGdlaGV1Z2VuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyMAorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAibWluaW11bSBzZWdtZW50Z3Jvb3R0ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImtlcm5lbCBpcyBuaWV0IGluZ2VzdGVsZCB2b29yIGdlZGVlbGQgZ2VoZXVnZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZWRlZWxkIGdlaGV1Z2VuOiBzdGF0dXMgLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisidG9lZ2V3ZXplbiBzZWdtZW50ZW46ICVkXG4iCisidG9lZ2V3ZXplbiBwYWdpbmEnczogICVsZFxuIgorInJlc2lkZW50ZSBwYWdpbmEnczogICAlbGRcbiIKKyJnZXN3YXB0ZSBwYWdpbmEnczogICAgJWxkXG4iCisiU3dhcHByZXN0YXRpZXM6ICAlbGQgcG9naW5nZW4gICVsZCBzdWNjZXNzZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEdlZGVlbGQgZ2VoZXVnZW46IHNlZ21lbnRhYW5tYWtlcnMvZWlnZW5hYXJzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG0tSUQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6MzkyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgInBlcm1zIgorbXNnc3RyICJyZWNodGVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgIm1ha2VyLVVJRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJtYWtlci1HSUQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJVSUQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZWRlZWxkIGdlaGV1Z2VuOiBhYW5oZWNodC0vb250aGVjaHQtL3dpanppZ2luZ3N0aWpkZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICJlaWdlbmFhciIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAiYWFuZ2VoZWNodCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAib250aGVjaHQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiZ2V3aWp6aWdkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gR2VkZWVsZCBnZWhldWdlbjogUElEJ3MgdmFuIGFhbm1ha2VyL2xhYXRzdGUtb3BlcmF0aWUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJtYWtlci1QSUQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibGFhdHN0ZS1QSUQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHZWRlZWxkIGdlaGV1Z2VuOiBzZWdtZW50ZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJrZXkiCittc2dzdHIgInNsZXV0ZWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAiZ3Jvb3R0ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYnl0ZXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg4Cittc2dpZCAibmF0dGNoIgorbXNnc3RyICJnZWhlY2h0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAic3RhdHVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICIoZ2VlbikiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICJkb2VsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAidmVyZ3JlbmRlbGQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgImthbiBsaW1pZXRlbiB2YW4gc2VtYWZvcmVuIG5pZXQgYWNodGVyaGFsZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3JlbjogZ3JlbnplbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm1heGltdW0gYWFudGFsIGFycmF5cyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm1heGltdW0gYWFudGFsIHNlbWFmb3JlbiBwZXIgYXJyYXkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm1heGltdW0gYWFudGFsIHNlbWFmb3JlbiBzeXN0ZWVtd2lqZCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBvcGVyYXRpZXMgcGVyIHNlbW9wKCktYWFucm9lcCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJtYXhpbWFsZSBzZW1hZm9vcndhYXJkZSA9ICV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJkZXplIGtlcm5lbCBrZW50IGdlZW4gc2VtYWZvcmVuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yZW46IHN0YXR1cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgImdlYnJ1aWt0ZSBhcnJheXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgImdlcmVzZXJ2ZWVyZGUgc2VtYWZvcmVuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yZW46IGFycmF5YWFubWFrZXJzLy1laWdlbmFhcnMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtLUlEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3Jlbjogb3BlcmF0aWUtL3dpanppZ2luZ3N0aWpkZW4gLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJsYWF0c3RlIG9wZXJhdGllIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAibGFhdHN0IGdld2lqemlnZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3JlbjogYXJyYXlzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAibnNlbXMiCittc2dzdHIgImFhbnRhbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgImthbiBsaW1pZXRlbiB2YW4gYmVyaWNodGVuIG5pZXQgYWNodGVyaGFsZW5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQmVyaWNodGVuOiBncmVuemVuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCB3YWNodHJpamVuIHN5c3RlZW13aWpkID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzEKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJtYXhpbXVtZ3Jvb3R0ZSB2YW4gYmVyaWNodCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJzdGFuZGFhcmQtbWF4aW11bWdyb290dGUgdmFuIHdhY2h0cmlqIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgImRlemUga2VybmVsIGtlbnQgZ2VlbiBiZXJpY2h0d2FjaHRyaWplblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBCZXJpY2h0ZW46IHN0YXR1cyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiZ2VyZXNlcnZlZXJkZSB3YWNodHJpamVuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAiZ2VicnVpa3RlIGtvcHBlbiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiZ2VicnVpa3RlIHJ1aW10ZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJlcmljaHR3YWNodHJpamVuOiBhYW5tYWtlcnMvZWlnZW5hYXJzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3EtSUQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBCZXJpY2h0d2FjaHRyaWplbjogdmVyemVuZC0vb250dmFuZy0vd2lqemlnaW5nc3RpamRlbiAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInNlbmQiCittc2dzdHIgInZlcnplbmRpbmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAib250dmFuZ3N0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAid2lqemlnaW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQmVyaWNodHdhY2h0cmlqZW46IFBJRCdzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgImxhLnplLlBJRCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibGEub3YuUElEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEJlcmljaHR3YWNodHJpamVuIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAiZ2VicnVpa3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgImJlcmljaHRlbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiSUQgJWQgaXMgbmlldCBnZXZvbmRlbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiR2VkZWVsZCBnZWhldWdlbnNlZ21lbnQgbWV0IHNobS1JRD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJVSUQ9JXUgIEdJRD0ldSwgIG1ha2VyLVVJRD0ldSAgbWFrZXItR0lEPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZHVzPSUjbyAgdG9lZ2FuZ3NyZWNodGVuPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgInNpemU9IgorbXNnc3RyICJncm9vdHRlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJsYWF0c3RlLVBJRD0ldSAgbWFrZXItUElEPSV1ICBhYW5oZWNodGluZ2VuPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJhYW5oZWNodHRpamQgICA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIm9udGhlY2h0dGlqZCAgID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAid2lqemlnaW5nc3RpamQgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiQmVyaWNodGVud2FjaHRyaWogbWV0IG1zcS1JRD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAiVUlEPSV1ICBHSUQ9JXUsICBtYWtlci1VSUQ9JXUgIG1ha2VyLUdJRD0ldSwgIG1vZHVzPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJ2ZXJ6ZW5kdGlqZCAgID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAib250dmFuZ3N0dGlqZCA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFmb29yYXJyYXkgbWV0IHNlbS1JRD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJVSUQ9JXUgIEdJRD0ldSwgIG1ha2VyLVVJRD0ldSAgbWFrZXItR0lEPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIm1vZHVzPSUjbywgdG9lZ2FuZ3NyZWNodGVuPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJhYW50YWwgc2VtYWZvcmVuID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAibGFhdHN0ZSBvcGVyYXRpZXRpamQgICA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAibGFhdHN0ZSB3aWp6aWdpbmdzdGlqZCA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICJudW1tZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgIndhYXJkZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJuY291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgIlBJRCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiclcycgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChieXRlcykgPSAiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoa2J5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGtieXRlcykgPSAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgIm9uZ2VsZGlnZSBpbnZvZXJ2bGFnIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPGxpam5wcm90b2NvbD4gPGFwcGFyYWF0PlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiU3RlbHQgZWVuIGxpam5wcm90b2NvbCBpbiBvcCBlZW4gc2VyacOrbGUgbGlqbi5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiAgLWQsIC0tZGVidWcgICAgICAgICAgICB1aXRnZWJyZWlkZSBtZWxkaW5nZW4gdG9uZW4gb3Agc3RhbmRhYXJkZm91dHVpdHZvZXJcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgIC1zLCAtLXNwZWVkIDxnZXRhbD4gICAgc25lbGhlaWQgdmFuIHNlcmnDq2xlIGxpam4gaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiAgLWMsIC0taW50cm8tY29tbWFuZCA8dGVrc3Q+ICB2b29yb3BkcmFjaHQgdmVyem9uZGVuIHZvb3IgZWlnZW5saWprZSBpbnN0ZWxsaW5nXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIgIC1wLCAtLXBhdXNlIDxnZXRhbD4gICAgYWFudGFsIHNlY29uZGVuIHBhdXplIHR1c3NlbiB2b29yb3BkcmFjaHQgZW4gaW5zdGVsbGluZ1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIgIC03LCAtLXNldmVuYml0cyAgICAgICAgemV2ZW4gYml0cyB2b29yIMOpw6luIHRla2VuIGdlYnJ1aWtlblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgYWNodCBiaXRzIHZvb3Igw6nDqW4gdGVrZW4gZ2VicnVpa2VuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiICAtbiwgLS1ub3Bhcml0eSAgICAgICAgIGdlZW4gcGFyaXRlaXRzYml0IGdlYnJ1aWtlblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAgLWUsIC0tZXZlbnBhcml0eSAgICAgICBldmVuIHBhcml0ZWl0IGdlYnJ1aWtlblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiICAtbywgLS1vZGRwYXJpdHkgICAgICAgIG9uZXZlbiBwYXJpdGVpdCBnZWJydWlrZW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAgLTEsIC0tb25lc3RvcGJpdCAgICAgICDDqcOpbiBzdG9wYml0IGdlYnJ1aWtlblxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTYKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiICAtMiwgLS10d29zdG9wYml0cyAgICAgIHR3ZWUgc3RvcGJpdHMgZ2VicnVpa2VuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAgLWksIC0taWZsYWcgWy1dPHZsYWc+ICBpbnZvZXJ2bGFnIGluc2NoYWtlbGVuIChvZiB1aXQgbWV0ICctJylcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJNb2dlbGlqa2UgbGlqbnByb3RvY29sbGVuIHppam46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyNgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTW9nZWxpamtlIGludm9lcnZsYWdnZW4gemlqbjpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWdlIHNuZWxoZWlkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2UgcGF1emVlcnRpamQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3NAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBsaWpucHJvdG9jb2wiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgaXMgZ2VlbiBzZXJpw6tsZSBsaWpuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAia2FuIHRlcm1pbmFsZWlnZW5zY2hhcHBlbiB2YW4gJXMgbmlldCBiZXBhbGVuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgInNuZWxoZWlkICVkIGlzIG5pZXQgbW9nZWxpamsiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJrYW4gdGVybWluYWxlaWdlbnNjaGFwcGVuIHZhbiAlcyBuaWV0IGluc3RlbGxlbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJrYW4gdm9vcm9wZHJhY2h0IG5pZXQgbmFhciAlcyBzY2hyaWp2ZW4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJrYW4gbGlqbnByb3RvY29sIG5pZXQgaW5zdGVsbGVuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJrYW4gZXIgZ2VlbiBhY2h0ZXJncm9uZGRpZW5zdCB2YW4gbWFrZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIidhdXRvY2xlYXInLXZsYWcgaXMgZ2V6ZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJhY2h0ZXJsaWdnZW5kIGFwcGFyYWF0YmVzdGFuZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgImlub2RlbnVtbWVyIHZhbiBhY2h0ZXJsaWdnZW5kIGJlc3RhbmQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiaG9vZmQtOnN1YmFwcGFyYWF0bnVtbWVyIHZhbiBhY2h0ZXJsaWdnZW5kIGJlc3RhbmQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJsdXMtYXBwYXJhYXRuYWFtIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAicG9zaXRpZSB2YW5hZiBoZXQgYmVnaW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAiJ3BhcnRzY2FuJy12bGFnIGlzIGdlemV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAiZ3Jvb3R0ZWxpbWlldCB2YW4gYmVzdGFuZCBpbiBieXRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiaG9vZmQtOnN1YmFwcGFyYWF0bnVtbWVyIHZhbiBsdXMtYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICJhY2h0ZXJsaWdnZW5kIGJlc3RhbmQgbWV0IGRpcmVjdC1JTyBiZW5hZGVyZW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAibG9naXNjaGUgc2VjdG9yZ3Jvb3R0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIGJlZ2lucHVudCAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBtYXhpbWFsZSBncm9vdHRlICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCB2ZXJzbGV1dGVsaW5nICVzIChzb29ydCAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczogb250aGVjaHRlbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdIFs8bHVzLWFwcGFyYWF0PiB8IC1mXVxuIgorIiAgJTEkcyBbb3B0aWVzXSA8bHVzLWFwcGFyYWF0PiA8YmVzdGFuZD5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICJJbml0aWFsaXNlZXJ0IGVuIGJlaGVlcnQgbHVzLWFwcGFyYXRlbi5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgICAgYWxsZSBnZWJydWlrdGUgbHVzLWFwcGFyYXRlbiB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1kLCAtLWRldGFjaCA8bHVzLWFwcGFyYWF0Pi4uLiAgIGRlemUgYXBwYXJhdGVuIG9udGhlY2h0ZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICAgICBhbGxlIGdlYnJ1aWt0ZSBsdXMtYXBwYXJhdGVuIG9udGhlY2h0ZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgICAgZWVyc3RlIG9uZ2VicnVpa3RlIGx1cy1hcHBhcmFhdCB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIgIC1jLCAtLXNldC1jYXBhY2l0eSA8bHVzLWFwcGFyYWF0PiAgZGUgZ3Jvb3R0ZSB2YW4gZGl0IGFwcGFyYWF0IHdpanppZ2VuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgIC1qLCAtLWFzc29jaWF0ZWQgPGJlc3RhbmQ+ICAgICAgIGdlcmVsYXRlZXJkZW4gYWFuIGRpdCBiZXN0YW5kIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA4Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgICAgIHZlcm1pamQgbW9nZWxpamtlIGNvbmZsaWN0ZW4gdHVzc2VuIGFwcGFyYXRlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAgLW8sIC0tb2Zmc2V0IDxnZXRhbD4gICAgICBvcCBkZXplIHBvc2l0aWUgaW4gaGV0IGJlc3RhbmQgYmVnaW5uZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAgLS1zaXplbGltaXQgPGdldGFsPiAgIHNsZWNodHMgZGl0IGFhbnRhbCBieXRlcyB2YW4gYmVzdGFuZCBnZWJydWlrZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgIC1iLCAtLXNlY3Rvci1zaXplIDxnZXRhbD4gIGdyb290dGUgdmFuIGZ5c2lla2UgZW4gbG9naXNjaGUgc2VjdG9yXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICBnZXBhcnRpdGlvbmVlcmQgbHVzLWFwcGFyYWF0IGFhbm1ha2VuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgZWVuIGFsbGVlbi1sZXplbiBsdXMtYXBwYXJhYXQgaW5zdGVsbGVuXG4iCisKKyMgRklYTUU6IG5vIGFuZ2xlcworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIgICAgICAtLWRpcmVjdC1pb1s9b258b2ZmXSAgYWNodGVybGlnZ2VuZCBiZXN0YW5kIHdlbC9uaWV0IG1ldCBPX0RJUkVDVCBvcGVuZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTgKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiAgICAgIC0tc2hvdyAgICAgICAgICAgICAgICBhcHBhcmFhdG5hYW0gdG9uZW4gbmEgaW5zdGVsbGVuIChtZXQgJy1mJylcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtSiwgLS1qc29uICAgICAgICAgICAgICAgIHVpdHZvZXIgaW4gSlNPTi1vcG1hYWsgcHJvZHVjZXJlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIGluZm9ybWF0aWUgdG9uZW4gKG92ZXIgYWxsZSBvZiBnZWdldmVuIGFwcGFyYWF0KVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgYmlqICctLWxpc3QnIGdlZW4ga29wcmVnZWwgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjYKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAgLU8sIC0tb3V0cHV0IDxsaWpzdD4gICAgICB0ZSB0b25lbiBrb2xvbW1lbiBpbiBkZSB1aXR2b2VyIHZhbiAnLS1saXN0J1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgIC0tcmF3ICAgICAgICAgICAgICAgICByYXV3ZSB1aXR2b2VyIHByb2R1Y2VyZW4gdm9vciAnLS1saXN0J1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogV2FhcnNjaHV3aW5nOiBoZXQgYmVzdGFuZCBpcyBrbGVpbmVyIGRhbiA1MTIgYnl0ZXMgLS0gaGV0IGx1cy1hcHBhcmFhdCBrYW4gb25icnVpa2JhYXIgemlqbiBvZiB6ZWxmcyBvbnppY2h0YmFhciB2b29yIHN5c3RlZW1wcm9ncmFtbWEncy4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBXYWFyc2NodXdpbmc6IGhldCBiZXN0YW5kIHBhc3QgbmlldCBpbiBlZW4gNTEyLWJ5dGUgc2VjdG9yIC0tIGhldCBlaW5kZSB2YW4gaGV0IGJlc3RhbmQgd29yZHQgZ2VuZWdlZXJkLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IGVyIGlzIGVlbiBvdmVybGFwcGVuZCBsdXMtYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogZXIgaXMgZWVuIG92ZXJsYXBwZW5kIGFsbGVlbi1sZXplbiBsdXMtYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogZXIgaXMgZWVuIG92ZXJsYXBwZW5kIHZlcnNsZXV0ZWxkIGx1cy1hcHBhcmFhdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBoZXJnZWJydWlrIHZhbiBsdXMtYXBwYXJhYXQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImluc3BlY3RlcmVuIHZhbiBsdXMtYXBwYXJhdGVuIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGNvbnRyb2xlIG9wIGNvbmZsaWN0ZXJlbmRlIGx1cy1hcHBhcmF0ZW4gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NDIgc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgImthbiBnZWVuIG9uZ2VicnVpa3QgbHVzLWFwcGFyYWF0IHZpbmRlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczoga2FuIGFjaHRlcmxpZ2dlbmQgYmVzdGFuZCBuaWV0IGdlYnJ1aWtlbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxvZ2ljYWwgYmxvY2sgc2l6ZSIKK21zZ3N0ciAib250bGVkZW4gdmFuIGdyb290dGUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6IGdlYnJ1aWsgdmFuIGFwcGFyYWF0IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg1Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGx1cy1hcHBhcmFhdCBnZWdldmVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiZGUgb3B0aWVzICclcycgemlqbiBhbGxlZW4gdG9lZ2VzdGFhbiBiaWogaW5zdGVsbGVuIHZhbiBsdXMtYXBwYXJhYXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgImRlIG9wdGllICctLW9mZnNldCcgaXMgbmlldCB0b2VnZXN0YWFuIGluIGRlemUgY29udGV4dCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiBpbnN0ZWxsZW4gdmFuIGNhcGFjaXRlaXQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogaW5zdGVsbGVuIHZhbiBkaXJlY3QtSU8gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGFjaHRlcmhhbGVuIHZhbiBncm9vdHRlIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1Cittc2dpZCAibm9uZSIKK21zZ3N0ciAiZ2VlbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICJzZW1pIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgImNvbXBsZWV0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAiY29udGFpbmVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICJob3Jpem9udGFhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCittc2dpZCAidmVydGljYWwiCittc2dzdHIgInZlcnRpY2FhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICJsb2dpc2NoIENQVS1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgImxvZ2lzY2gga2Vybm51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJsb2dpc2NoIHNvY2tldC1udW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAibG9naXNjaCBOVU1BLW5vZGUtbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTgKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICJsb2dpc2NoIGJvZWtudW1tZXIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAibG9naXNjaCBsYWRlbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICJ0b29udCBob2UgY2FjaGVzIGdlZGVlbGQgd29yZGVuIHR1c3NlbiBDUFUncyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiZGlzcGF0Y2hpbmctbW9kdXMgdmFuIENQVSBvcCB2aXJ0dWVsZSBoYXJkd2FyZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiZnlzaWVrIGFkcmVzIHZhbiBlZW4gQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDMKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgInRvb250IG9mIGRlIGh5cGVydmlzb3IgZGUgQ1BVIHRvZWdld2V6ZW4gaGVlZnQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNAorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAidG9vbnQgb2YgTGludXggZGUgQ1BVIG1vbWVudGVlbCBnZWJydWlrdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgInRvb250IGRlIG1heGltYWxlIHByb2Nlc3NvcmZyZXF1ZW50aWUgaW4gTUh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAidG9vbnQgZGUgbWluaW1hbGUgcHJvY2Vzc29yZnJlcXVlbnRpZSBpbiBNSHoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgImZvdXQ6IHVuYW1lKCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICJiZXBhbGVuIHZhbiBhYW50YWwgcHJvY2Vzc29yZW4gaXMgbWlzbHVrdDogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAia2FuIGdlZW4gc2lnbmFhbHZlcndlcmtlciBpbnN0ZWxsZW4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEzMDcKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgImthbiBub2RlLW51bW1lciBuaWV0IGFjaHRlcmhhbGVuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICJKIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgSGllcm9uZGVyIHZvbGd0IGRlIG9udGxlZWRiYXJlIHVpdHZvZXIgZGllIGFscyBpbnZvZXIgdm9vclxuIgorIiMgYW5kZXJlIHByb2dyYW1tYSdzIGdlYnJ1aWt0IGthbiB3b3JkZW4uICBFbGsgdmVyc2NoaWxsZW5kXG4iCisiIyBpdGVtIGluIGVsa2Uga29sb20gaGVlZnQgZWVuIHVuaWVrIElELCBiZWdpbm5lbmQgYmlqIG51bC5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIkFyY2hpdGVjdHV1cjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVS1tb2R1cyhzZW4pOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzQyCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIkJ5dGV2b2xnb3JkZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDQKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJDUFUnczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiT25saW5lIENQVSdzLW1hc2tlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDgKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiT25saW5lIENQVSdzLWxpanN0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiT2ZmbGluZSBDUFUncy1tYXNrZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJPZmZsaW5lIENQVSdzLWxpanN0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMworbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIkRyYWRlbiBwZXIga2VybjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDUKK21zZ2lkICJDb3JlKHMpIHBlciBzb2NrZXQ6IgorbXNnc3RyICJLZXJuZW4gcGVyIHZvZXQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiVm9ldGVuIHBlciBib2VrOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIkJvZWtlbiBwZXIgbGFkZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTMKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICJMYWRlczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiQm9la2VuOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIkNQVS12b2V0ZW46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiTlVNQS1ub2RlczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJQcm9kdWNlbnQtSUQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiTWFjaGluZXR5cGU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI4Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgIkNQVS1mYW1pbGllOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMAorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiTW9kZWw6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMyCittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIk1vZGVsbmFhbToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzQKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIlN0ZXBwaW5nOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICJDUFUtZnJlcXVlbnRpZSAoTUh6KToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzgKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICJkeW5hbWlzY2hlIENQVS1mcmVxdWVudGllIChNSHopOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MAorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAidmFzdGUgQ1BVLWZyZXF1ZW50aWUgKE1Ieik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQyCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJtYXguIENQVS1mcmVxdWVudGllIChNSHopOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAibWluLiBDUFUtZnJlcXVlbnRpZSAoTUh6KToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDYKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIkJvZ29NSVBTOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0OSBzeXMtdXRpbHMvbHNjcHUuYzoxODUxCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICJWaXJ0dWFsaXNhdGllOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIeXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiSHlwZXJ2aXNvcnByb2R1Y2VudDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiVmlydHVhbGlzYXRpZXNvb3J0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MAorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICJEaXNwYXRjaGluZy1tb2R1czoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiVzLWNhY2hlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJOVU1BLW5vZGUlZCBDUFUoJ3MpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJGeXNpZWtlIHZvZXRlbjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIkZ5c2lla2UgY2hpcHM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg0Cittc2dpZCAiUGh5c2ljYWwgY29yZXMvY2hpcDoiCittc2dzdHIgIkZ5c2lla2UgY29yZXMvY2hpcDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODgKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIlZsYWdnZW46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiVG9vbnQgaW5mb3JtYXRpZSBvdmVyIGRlIHByb2Nlc3NvcmFyY2hpdGVjdHV1ci5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiICAtYSwgLS1hbGwgICAgICAgICAgICAgICBvbmxpbmUgZW4gb2ZmbGluZSBDUFUncyB0b25lbiAoc3RhbmRhYXJkIGJpaiAnLWUnKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgIC1iLCAtLW9ubGluZSAgICAgICAgICAgIGFsbGVlbiBvbmxpbmUgQ1BVJ3MgdG9uZW4gKHN0YW5kYWFyZCBiaWogJy1wJylcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIGFsbGVlbiBvZmZsaW5lIENQVSdzIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgIC1KLCAtLWpzb24gICAgICAgICAgICAgdWl0dm9lciBpbiBKU09OLW9wbWFhayBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC1lLCAtLWV4dGVuZGVkWz1MSUpTVF0gIHVpdGdlYnJlaWRlLCBsZWVzYmFyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtcCwgLS1wYXJzZVs9TElKU1RdICAgICBvbnRsZWVkYmFyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgIC1zLCAtLXN5c3Jvb3QgTUFQICAgICAgIGRlemUgbWFwIGFscyBob29mZG1hcCBnZWJydWlrZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAgLXgsIC0taGV4ICAgICAgICAgICAgICAgaGV4YWRlY2ltYWxlIG1hc2tlcnMgdG9uZW4gaW4gcGxhYXRzIHZhbiBsaWpzdGVuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgIC15LCAtLXBoeXNpY2FsICAgICAgICAgIGZ5c2lla2UgaW4gcGxhYXRzIHZhbiBsb2dpc2NoZSBJRHMgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiIKKyIlczogZGUgb3B0aWVzICctLWFsbCcsICctLW9ubGluZScsIGVuICctLW9mZmxpbmUnIGt1bm5lblxuIgorImFsbGVlbiBnZWJydWlrdCB3b3JkZW4gc2FtZW4gbWV0ICctLWV4dGVuZGVkJyBvZiAnLS1wYXJzZSdcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJIdWxwYnJvbnNsZXV0ZWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiU2xldXRlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIkh1bHBicm9uLUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICJHZWJydWlrZXJzbmFhbSBvZiBVSUQgdmFuIGVpZ2VuYWFyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAiRWlnZW5hYXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJUb2VnYW5nc3JlY2h0ZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICJVSUQgdmFuIG1ha2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIk1ha2Vyc25hYW0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICJHSUQgdmFuIG1ha2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJNYWtlcnNncm9lcCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAiR2VicnVpa2Vycy1JRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiR2VicnVpa2Vyc25hYW0iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICJHcm9lcHMtSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJHcm9lcHNuYWFtIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiVGlqZCB2YW4gbGFhdHN0ZSB3aWp6aWdpbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJMYWF0c3QgZ2V3aWp6aWdkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJHZWJydWlrdGUgYnl0ZXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiQWFudGFsIGJlcmljaHRlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIkJlcmljaHRlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJWZXJ6ZW5kdGlqZCB2YW4gbGFhdHN0ZSBiZXJpY2h0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiVmVyem9uZGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJPbnR2YW5nc3R0aWpkIHZhbiBsYWF0c3RlIGJlcmljaHQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiT250dmFuZ3N0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiUElEIHZhbiBsYWF0c3RlIHplbmRlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiQWZ6ZW5kZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIlBJRCB2YW4gbGFhdHN0ZSBvbnR2YW5nZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiT250dmFuZ2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlNlZ21lbnRncm9vdHRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJBYW50YWwgYWFuZ2VoZWNodGUgcHJvY2Vzc2VuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIkFhbmdlaGVjaHRlIHByb2Nlc3NlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICJTdGF0dXMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJBYW5nZWhlY2h0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiT250aGVjaHQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICJBYW5tYWFrb3BkcmFjaHRyZWdlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJBYW5tYWFrb3BkcmFjaHQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiUElEIHZhbiBkZSBhYW1tYWtlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIlBJRCB2YW4gbWFrZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIlBJRCB2YW4gbGFhdHN0ZSBnZWJydWlrZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgIkxhYXRzdGUgUElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiQWFudGFsIHNlbWFmb3JlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAiU2VtYWZvcmVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiVGlqZCB2YW4gbGFhdHN0ZSBiZXdlcmtpbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJMYWF0c3RlIGJld2Vya2luZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiTmFhbSB2YW4gaHVscGJyb24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICJIdWxwYnJvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIk9tc2NocmlqdmluZyB2YW4gaHVscGJyb24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJPbXNjaHJpanZpbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJNb21lbnRlZWwgZ2VicnVpa3QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIkdlYnJ1aWt0IgorCisjIEZJWE1FOiBncmFtbWFyCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkdlYnJ1aWtzcGVyY2VudGFnZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJHZWIlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiU3lzdGVlbXdpamRlIGxpbWlldCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIkxpbWlldCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAia29sb20gJXMgaXMgbmlldCB2YW4gdG9lcGFzc2luZyBvcCBkZSBnZWdldmVuIElQQyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiICAtZywgLS1nbG9iYWwgICAgICAgaW5mbyB0b25lbiBvdmVyIHN5c3RlZW13aWpkIGdlYnJ1aWsgKG1ldCAnLW0nLCAnLXEnIG9mICctcycpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgIC1pLCAtLWlkIDxJRD4gICAgICBkZXRhaWxzIHdlZXJnZXZlbiBvdmVyIGRlIG1ldCA8SUQ+IGFhbmdlZ2V2ZW4gaHVscGJyb25cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC1iLCAtLWJ5dGVzICAgICAgICBncm9vdHRlIGluIGJ5dGVzIHdlZXJnZXZlbiBpbiBwbGFhdHMgdmFuIGluIGxlZXNiYXJlIHZvcm1cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk2Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAgLWMsIC0tY3JlYXRvciAgICAgIGFhbm1ha2VyIGVuIGVpZ2VuYWFyIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtSiwgLS1qc29uICAgICAgICAgdWl0dm9lciBpbiBKU09OLW9wbWFhayBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLWwsIC0tbGlzdCAgICAgICAgIHVpdHZvZXIgaW4gdm9ybSB2YW4gbGlqc3QgYWZkd2luZ2VuIChiLnYuIG1ldCAnLS1pZCcpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIgIC1QLCAtLW51bWVyaWMtcGVybXMgICAgdG9lZ2FuZ3NyZWNodGVuIG51bWVyaWVrIHdlZXJnZXZlbiAoUEVSTVMta29sb20pXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAgLXQsIC0tdGltZSAgICAgICAgIGFhbmhlY2h0aW5ncy0sIG9udGhlY2h0aW5ncy0gZW4gd2lqemlnaW5nc3RpamRlbiB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFsZ2VtZW5lIGtvbG9tbWVuOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29sb21tZW4gdm9vciBnZWRlZWxkIGdlaGV1Z2VuICgtLXNobWVtcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2xvbW1lbiB2b29yIGJlcmljaHR3YWNodHJpamVuICgtLXF1ZXVlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2xvbW1lbiB2b29yIHNlbWFmb3JlbiAoLS1zZW1hcGhvcmVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNhbWVudmF0dGluZ3Nrb2xvbW1lbiAoLS1nbG9iYWwpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisiRWxlbWVudGVuOlxuIgorIlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2ODcgc3lzLXV0aWxzL2xzaXBjLmM6ODQ4IHN5cy11dGlscy9sc2lwYy5jOjEwNDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGRhdGEiCittc2dzdHIgImluc3RlbGxlbiB2YW4gZ2VnZXZlbnMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAiQWFudGFsIHNlbWFmb29yaWRlbnRpZmllcnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJUb3RhYWwgYWFudGFsIHNlbWFmb3JlbiIKKworIyBGSVhNRTogcGVyaW9kPworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE0Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJNYXhpbXVtIGFhbnRhbCBzZW1hZm9yZW4gcGVyIHNlbWFmb29yc2V0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJNYXhpbXVtIGFhbnRhbCBiZXdlcmtpbmdlbiBwZXIgc2Vtb3AoMikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNgorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIk1heGltYWxlIHNlbWFmb29yd2FhcmRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIkFhbnRhbCBiZXJpY2h0d2FjaHRyaWplbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc0Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJNYXhpbXVtZ3Jvb3R0ZSB2YW4gYmVyaWNodCAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIlN0YW5kYWFyZC1tYXhpbXVtZ3Jvb3R0ZSB2YW4gd2FjaHRyaWogKGJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJHZWRlZWxkZ2VoZXVnZW4tc2VnbWVudGVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDczCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiR2VkZWVsZGdlaGV1Z2VuLXBhZ2luYSdzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc0Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm1heGltdW1ncm9vdHRlIHZhbiBnZWRlZWxkZSBnZWhldWdlbnNlZ21lbnRlbiAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIm1pbmltdW1ncm9vdHRlIHZhbiBnZWRlZWxkZSBnZWhldWdlbnNlZ21lbnRlbiAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gSVBDLWlkZW50aWZpZXIgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIzOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICJvcHRpZSAnLS1nbG9iYWwnIGdhYXQgbmlldCBzYW1lbiBtZXQgJy0tY3JlYXRvcicsICctLWlkJyBvZiAnLS10aW1lJyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiYXBwYXJhYXRncm9vdHRlIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBpcyByZW1vdmFibGUiCittc2dzdHIgIiB2ZXJ3aWpkZXJiYWFyIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibnVtYSBub2RlIG9mIG1lbW9yeSIKK21zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorIywgZnV6enkKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiYXBwYXJhYXRncm9vdHRlIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAib25saW5lIgorbXNnc3RyICIsIHN0YWF0IGFhbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiwgc3RhYXQgYWFuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjMKK21zZ2lkICJvbi0+b2ZmIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiTWVtb3J5IGJsb2NrIHNpemU6IgorbXNnc3RyICJibG9rZ3Jvb3R0ZSB0b25lbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICJvbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhciIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyIKK21zZ3N0ciAib3BlbmVuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICJEaXQgc3lzdGVlbSBvbmRlcnN0ZXVudCBoZXQgaGVyc2Nhbm5lbiB2YW4gQ1BVJ3MgbmlldCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgbGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrXG4iCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgICAgIGFsbGUgYXBwYXJhdGVuIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3V0cHV0IDxsaWpzdD4gICAgIHRlIHRvbmVuIGtvbG9tbWVuIGluIGRlIHVpdHZvZXJcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICB1c2UgdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiICAtcywgLS1zeXNyb290IE1BUCAgICAgICBkZXplIG1hcCBhbHMgaG9vZmRtYXAgZ2VicnVpa2VuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kIGFyZ3VtZW50IHZhbiAnLS1zZXRncm91cHMnOiAnJXMnIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wdGllcyAnLS1zZXRncm91cHM9YWxsb3cnIGVuICctLW1hcC1yb290LXVzZXInIGdhYW4gbmlldCBzYW1lbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjY0IHN5cy11dGlscy9sc25zLmM6NzgxCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJpbml0aWFsaXNlcmVuIHZhbiB1aXR2b2VydGFiZWwgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6Njc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgImluaXRpYWxpc2VyZW4gdmFuIHVpdHZvZXJrb2xvbSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjk5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgIm5hYW1zcnVpbXRlLWlkZW50aWZpZXIgKGlub2RlbnVtbWVyKSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAic29vcnQgbmFhbXNydWltdGUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJwYWQgbmFhciBkZSBuYWFtc3J1aW10ZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgImFhbnRhbCBwcm9jZXNzZW4gaW4gZGUgbmFhbXNydWltdGUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJsYWFnc3RlIFBJRCBpbiBkZSBuYWFtc3J1aW10ZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDQKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIlBQSUQgdmFuIGRlIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDUKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAib3BkcmFjaHRyZWdlbCB2YW4gZGUgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICJVSUQgdmFuIGRlIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICJnZWJydWlrZXJzbmFhbSB2YW4gZGUgUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAidG9ldm9lZ2VuIHZhbiByZWdlbCBhYW4gdWl0dm9lciBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPG5hYW1zcnVpbXRlPl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICJTb210IGRlIG5hYW1zcnVpbXRlcyBpbiBoZXQgc3lzdGVlbSBvcC5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtcCwgLS10YXNrIDxQSUQ+ICAgICAgIHByb2Nlc25hYW1zcnVpbXRlbiB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOAorIywgZnV6enkKK21zZ2lkICIgLVcsIC0tbm93cmFwICAgICAgICAgICBkb24ndCB1c2UgbXVsdGktbGluZSByZXByZXNlbnRhdGlvblxuIgorbXNnc3RyICIgIC1uLCAtLW5vLW10YWIgICAgICAgICAgICAgbmlldCBuYWFyIC9ldGMvbXRhYiBzY2hyaWp2ZW5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAgLXQsIC0tdHlwZSA8bmFhbT4gICAgICBzb29ydCBuYWFtc3J1aW10ZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMpXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAib25iZWtlbmQgc29vcnQgbmFhbXNydWltdGU6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjQKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIm9wdGllICctLXRhc2snIGdhYXQgbmlldCBzYW1lbiBtZXQgPG5hYW1zcnVpbXRlPiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIG5hYW1zcnVpbXRlYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIm5pZXQgZ2V2b25kZW4gbmFhbXNydWltdGU6ICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJhbGxlZW4gcm9vdCBrYW4gb3B0aWUgJy0tJXMnIGdlYnJ1aWtlbiAgKGVmZmVjdGlldmUgVUlEIGlzICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njggc3lzLXV0aWxzL3Vtb3VudC5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJhbGxlZW4gcm9vdCBrYW4gZGF0IGRvZW4gIChlZmZlY3RpZXZlIFVJRCBpcyAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcyIHN5cy11dGlscy91bW91bnQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJhbGxlZW4gcm9vdCBrYW4gb3B0aWUgJy0tJXMnIGdlYnJ1aWtlbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiYWxsZWVuIHJvb3Qga2FuIGRhdCBkb2VuIgorCisjIEZJWE1FOiBwYXJlbnRoZXNpcz8KKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJyVzJyB1aXQgJXMgKGxpYm1vdW50ICVzKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAibGV6ZW4gdmFuIG10YWIgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkxIHN5cy11dGlscy91bW91bnQuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGlnbm9yZWRcbiIKK21zZ3N0ciAiJS0yNXM6IGdlbmVnZWVyZFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czogaXMgYWwgYWFuZ2Vrb3BwZWxkXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBpcyB2ZXJwbGFhdHN0IG5hYXIgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIGlzIGluZ2Vib25kZW4gb3AgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIGlzIGFhbmdla29wcGVsZCBvcCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiAlcyBkb29yZ2F2ZXZsYWdnZW4gemlqbiBnZXdpanppZ2QuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBiZXZhdCBnZWVuIFNFTGludXgtbGFiZWxzLlxuIgorIiAgICBVIGhlYnQgem9qdWlzdCBvcCBlZW4gU0VMaW51eC1jb21wdXRlciBlZW4gYmVzdGFuZHNzeXN0ZWVtIGFhbmdla29wcGVsZCBkYXRcbiIKKyIgICAgbGFiZWxzIG9uZGVyc3RldW50IG1hYXIgZXIgZ2VlbiBiZXZhdC4gIFdhYXJzY2hpam5saWprIHp1bGxlbiBpbmdlcGVya3RlXG4iCisiICAgIHByb2dyYW1tYSdzIEFWQy1iZXJpY2h0ZW4gZ2VuZXJlcmVuIGVuIGdlZW4gdG9lZ2FuZyB0b3QgZGl0IGJlc3RhbmRzc3lzdGVlbVxuIgorIiAgICBrdW5uZW4ga3Jpamdlbi4gIFZvb3IgbWVlciBkZXRhaWxzIHppZSByZXN0b3JlY29uKDgpIGVuIG1vdW50KDgpLlxuIgorCisjIEZJWE1FOiBkb24ndCBnZXR0ZXh0aXplCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzLiIKK21zZ3N0ciAiJTE1czogJXMiCisKKyMgRklYTUU6IGZhaWxlZCB0byBwYXJzZSBXSEFUPworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBvbnRsZWRlbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIm9uZ2VsZGlnZSBvcHRpZS1vcG1hYWs6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAiaGV0IGFjaHRlcnZvZWdlbiB2YW4gb3B0aWUgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgICUxJHMgWy1obFZdIHwgLWEgW29wdGllc11cbiIKKyIgICUxJHMgW29wdGllc10gWy0tc291cmNlXSA8YnJvbj4gfCBbLS10YXJnZXRdIDxtYXA+XG4iCisiICAlMSRzIFtvcHRpZXNdIDxicm9uPiA8bWFwPlxuIgorIiAgJTEkcyA8YmV3ZXJraW5nPiA8YWFua29wcGVsaW5nc3B1bnQ+IFs8ZG9lbD5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS29wcGVsdCBlZW4gYmVzdGFuZHNzeXN0ZWVtIGFhbi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAgLWksIC0taW50ZXJuYWwtb25seSAgICAgICBuaWV0IGRlICd1bW91bnQuPHR5cGU+JyBodWxwcHJvZ3JhbW1hJ3MgZ2VicnVpa2VuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgICBvb2sgZGUgbGFiZWxzIHZhbiBiZXN0YW5kc3N5c3RlbWVuIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgIC1uLCAtLW5vLW10YWIgICAgICAgICAgICAgbmlldCBuYWFyIC9ldGMvbXRhYiBzY2hyaWp2ZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgbW91bnQgb3B0aW9uc1xuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5IChzYW1lIGFzIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI0IHN5cy11dGlscy91bW91bnQuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHRvbmVuIHdhdCBlciBnZWRhYW4gd29yZHRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgICAgYmVzdGFuZHNzeXN0ZWVtIGFhbmtvcHBlbGVuIGFscyBsZXplbi1zY2hyaWp2ZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImdlaGV1Z2VucmVzZXJ2ZXJpbmcgdm9vciBsaWJtb3VudC1jb250ZXh0IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgImhldCBpbnN0ZWxsZW4gdmFuIGhldCBvcHRpZXMtcGF0cm9vbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJicm9uIGlzIG1lZXIgZGFuIGVlbnMgZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgICUxJHMgWy1xZF0gL3BhZC9uYWFyL21hcFxuIgorIiAgJTEkcyAteCAvZGV2L2FwcGFyYWF0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIzCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiQ29udHJvbGVlcnQgb2YgZWVuIG1hcCBvZiBiZXN0YW5kIGVlbiBhYW5rb3BwZWxpbmdzcHVudCBpcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAgLXEsIC0tcXVpZXQgICAgICAgc3RpbGxlIG1vZHVzOyBuaWV0cyB3ZWVyZ2V2ZW5cbiIKKyIgIC1kLCAtLWZzLWRldm5vICAgIGhvb2ZkLTpzdWJhcHBhcmFhdG51bW1lciB2YW4gYmVzdGFuZHNzeXN0ZWVtIHRvbmVuXG4iCisiICAteCwgLS1kZXZubyAgICAgICBob29mZC06c3ViYXBwYXJhYXRudW1tZXIgdmFuIGJsb2stYXBwYXJhYXQgdG9uZW5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBpcyBnZWVuIGFhbmtvcHBlbGluZ3NwdW50XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBpcyBlZW4gYWFua29wcGVsaW5nc3B1bnRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MyBzeXMtdXRpbHMvc2V0YXJjaC5jOjkyIHN5cy11dGlscy91bnNoYXJlLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxwcm9ncmFtbWE+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiRHJhYWl0IGVlbiBwcm9ncmFtbWEgbWV0IGRlIG5hYW1zcnVpbXRlcyB2YW4gYW5kZXJlIHByb2Nlc3Nlbi5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1hLCAtLWFsbCAgICAgICAgICAgICBhbGxlIGFwcGFyYXRlbiB0b25lblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgIC10LCAtLXRhcmdldCA8UElEPiAgICAgICBuYWFtc3J1aW10ZXMgb3Zlcm5lbWVuIHZhbiBkaXQgcHJvY2VzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtbSwgLS1tb3VudFs9PGJlc3RhbmQ+XSAgYWFua29wcGVsaW5nc25hYW1zcnVpbXRlIGJpbm5lbmdhYW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtdSwgLS11dHNbPTxiZXN0YW5kPl0gICAgVVRTLW5hYW1zcnVpbXRlIGJpbm5lbmdhYW4gKGhvc3RuYWFtIGVuIGRlcmdlbGlqa2UpXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICBlbnRlciBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWksIC0taXBjWz08YmVzdGFuZD5dICAgIFN5c3RlbS1WLUlQQy1uYWFtc3J1aW10ZSBiaW5uZW5nYWFuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1uLCAtLW5ldFs9PGJlc3RhbmQ+XSAgICBuZXR3ZXJrbmFhbXNydWltdGUgYmlubmVuZ2FhblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1wLCAtLXBpZFs9PGJlc3RhbmQ+XSAgICBQSUQtbmFhbXNydWltdGUgYmlubmVuZ2FhblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1DLCAtLWNncm91cFs9PGJlc3RhbmQ+XSBjb250cm9sZ3JvZXBuYWFtc3J1aW10ZSBiaW5uZW5nYWFuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1VLCAtLXVzZXJbPTxiZXN0YW5kPl0gICBnZWJydWlrZXJzbmFhbXNydWltdGUgYmlubmVuZ2FhblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1TLCAtLXNldHVpZCA8VUlEPiAgICAgICBkZXplIFVJRCBpbiBiaW5uZW5nZWdhbmUgbmFhbXNydWltdGUgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLUcsIC0tc2V0Z2lkIDxHSUQ+ICAgICAgIGRlemUgR0lEIGluIGJpbm5lbmdlZ2FuZSBuYWFtc3J1aW10ZSBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgICBnZWVuIFVJRCdzIG5vY2ggR0lEJ3Mgd2lqemlnZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiICAtciwgLS1yb290Wz08bWFwPl0gICAgICAgdGUgZ2VicnVpa2VuIGhvb2ZkbWFwXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLXcsIC0td2RbPTxtYXA+XSAgICAgICAgIHRlIGdlYnJ1aWtlbiB3ZXJrbWFwXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGdlZW4gbmlldXcgcHJvY2VzIGFhbm1ha2VuIHZvb3IgPHByb2dyYW1tYT5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgZGUgU0VMaW51eC1jb250ZXh0IGluc3RlbGxlbiB2b2xnZW5zIFBJRCB2YW4gJy0tdGFyZ2V0J1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAibm9jaCBlZW4gYmVzdGFuZHNuYWFtIG5vY2ggZWVuIGRvZWwtUElEIGdlZ2V2ZW4gdm9vciAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gVUlEIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAib250bGVkZW4gdmFuIEdJRCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM0OQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICJnZWVuIGRvZWwtUElEIGdlZ2V2ZW4gdm9vciAnLS1mb2xsb3ctY29udGV4dCciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJrYW4gJWQgU0VMaW51eC1jb250ZXh0IG5pZXQgdmVya3JpamdlbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiB1aXR2b2VyaW5nc2NvbnRleHQgb3AgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM2MQorIywgZnV6enkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1hbGwiCittc2dzdHIgImdlZW4gZG9lbC1QSUQgZ2VnZXZlbiB2b29yICctLWZvbGxvdy1jb250ZXh0JyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJoZXJhc3NvY2lhdGllIG1ldCBuYWFtc3J1aW10ZSAnJXMnIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQxCittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAia2FuIGh1aWRpZ2Ugd2Vya21hcCBuaWV0IG9wZW5lbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGh1aWRpZ2UgbWFwIHZpYSBob29mZG1hcC1iZXN0YW5kc2Rlc2NyaXB0b3IgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NTEKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICInY2hyb290JyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ2MQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGh1aWRpZ2UgbWFwIHZpYSB3ZXJrbWFwLWJlc3RhbmRzZGVzY3JpcHRvciBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgIidzZXRncm91cHMnIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gbmlldXdlX2hvb2ZkbWFwIG91ZGVfaG9vZmRtYXBcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozOAorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJXaWp6aWd0IGhldCByb290LWJlc3RhbmRzc3lzdGVlbS5cbiIKKworIyBGSVhNRTogYmFja3RpY2tzCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGhvb2ZkbWFwIHZhbiAnJXMnIG5hYXIgJyVzJyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiYWRyZXNydWltdGVsaW1pZXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIm1heGltdW0gZ3Jvb3R0ZSB2YW4gY29yZWR1bXAtYmVzdGFuZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJDUFUtdGlqZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgInNlY29uZHMiCittc2dzdHIgInNlY29uZGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAibWF4aW11bSBnZWdldmVuc2dyb290dGUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJtYXhpbXVtIGJlc3RhbmRzZ3Jvb3R0ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBiZXN0YW5kc3ZlcmdyZW5kZWxpbmdlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICJ2ZXJncmVuZGVsaW5nZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICJtYXhpbXVtIHZhc3RnZXpldHRlIGdlaGV1Z2VucnVpbXRlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIm1heGltdW0gYWFudGFsIGJ5dGVzIGluIFBPU0lYLWJlcmljaHRlbndhY2h0cmlqZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIm1heGltdW0gdG9lZ2VzdGFuZSBiZWxlZWZkaGVpZHN2ZXJsYWdpbmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm1heGltdW0gYWFudGFsIG9wZW4gYmVzdGFuZGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAiZmlsZXMiCittc2dzdHIgImJlc3RhbmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJtYXhpbXVtIGFhbnRhbCBwcm9jZXNzZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgInByb2Nlc3NlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAibWF4aW11bSByZXNpZGVudCBnZWhldWdlbmdlYnJ1aWsiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJtYXhpbXVtIHJlYWx0aW1lLXByaW9yaXRlaXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgInRpamRzbGltaWV0IHZvb3IgcmVhbHRpbWUtdGFrZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pY3Jvc2Vjb25kZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibWF4aW11bSBhYW50YWwgd2FjaHRlbmRlIHNpZ25hbGVuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAic2lnbmFsZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAibWF4aW11bSBzdGFjay1ncm9vdHRlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIm5hYW0gdmFuIGh1bHBicm9uIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJvbXNjaHJpanZpbmcgdmFuIGh1bHBicm9uIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgInphY2h0ZSBncmVucyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiaGFyZGUgZ3JlbnMgKHBsYWZvbmQpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICJlZW5oZWlkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gT1BEUkFDSFRcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVG9vbnQgb2Ygd2lqemlndCBkZSBodWxwYnJvbmdyZW56ZW4gdmFuIGVlbiBwcm9jZXMuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFsZ2VtZW5lIG9wdGllczpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAgLXAsIC0tcGlkIDxQSUQ+ICAgICAgICAgYWxsZWVuIHZlcmdyZW5kZWxpbmdlbiB2YW4gZGl0IHByb2NlcyB0b25lblxuIgorIiAgLW8sIC0tb3V0cHV0IDxsaWpzdD4gICAgdGUgdG9uZW4gdWl0dm9lcmtvbG9tbWVuXG4iCisiICAtbiwgLS1ub2hlYWRpbmdzICAgICAgICBnZWVuIGtvbG9ta29wcGVuIHdlZXJnZXZlblxuIgorIiAgLXIsIC0tcmF3ICAgICAgICAgICAgICAgcnV3ZSB1aXR2b2Vyb3BtYWFrIGdlYnJ1aWtlblxuIgorIiAgLXUsIC0tbm90cnVuY2F0ZSAgICAgICAgdGVrc3QgYmlubmVuIGtvbG9tbWVuIG5pZXQgYWZrYXBwZW5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIdWxwYnJvbm9wdGllczpcbiIKKworIyBGSVhNRTogc2xpY2UgaXQgdXAKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoyNDMgc3lzLXV0aWxzL3BybGltaXQuYzoyNDkgc3lzLXV0aWxzL3BybGltaXQuYzozNjUKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzcwCittc2dpZCAidW5saW1pdGVkIgorbXNnc3RyICJvbmJlZ3JlbnNkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAib3B2cmFnZW4gdmFuIG91ZGUgbGltaWV0IHZvb3IgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiemFjaHRlIGdyZW5zICVzIG1hZyBuaWV0IGdyb3RlciB6aWpuIGRhbiBkZSBoYXJkZSBncmVucyIKKworIyBGSVhNRTogb29vaCwgY29tZSBvbiwgZG9uJ3QgdXNlIGZpbGwtaW4gd29yZHMhCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOaWV1d2UgJXMtZ3JlbnMgdm9vciBQSUQgJWQ6ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImluc3RlbGxlbiB2YW4gaHVscGJyb25ncmVucyAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAib3B2cmFnZW4gdmFuIGh1bHBicm9uZ3JlbnMgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gZ3JlbnMgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODQKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIm9wdGllICctLXBpZCcgbWFnIHNsZWNodHMgw6nDqW4ga2VlciBnZWdldmVuIHdvcmRlbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTQKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wdGllICctLXBpZCcgZW4gZWVuIE9QRFJBQ0hUIGdhYW4gbmlldCBzYW1lbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJUb29udCBwcm9maWxlcmluZ3NpbmZvcm1hdGllIHZhbiBkZSBrZXJuZWwuXG4iCisKKyMgRklYTUU6IG9uZSBzaW5nbGUgc3RyaW5nIQorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIgIC1tLCAtLW1hcGZpbGUgPGJlc3RhbmQ+ICAgKHN0YW5kYWFyZCB6aWpuOiAnJXMgZW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnJXMnKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAgLXAsIC0tcHJvZmlsZSA8YmVzdGFuZD4gICAoc3RhbmRhYXJkIGlzOiAgJyVzJylcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiICAtTSwgLS1tdWx0aXBsaWVyIDxtYWFsPiAgIHRlIGdlYnJ1aWtlbiBwcm9maWxlcmluZ3N2ZXJzbmVsbGVyXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgYWxsZWVuIGluZm8gb3ZlciBkZSBzb25kZXJpbmdzc3RhcCB0b25lbiBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgYWxsZSBzeW1ib2xlbiB0b25lbiwgemVsZnMgYWxzIGFhbnRhbCBudWwgaXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgaW5kaXZpZHVlbGUgYWFudGFsbGVuIHRvbmVuIHZvb3IgaGlzdG9ncmFtLWJpblxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiICAtcywgLS1jb3VudGVycyAgICAgICAgICAgIGluZGl2aWR1ZWxlIHRlbGxlcnMgdG9uZW4gYmlubmVuIGZ1bmN0aWVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiICAtciwgLS1yZXNldCAgICAgICAgICAgICAgIGFsbGUgdGVsbGVycyB0ZXJ1Z3pldHRlbiAoYWxsZWVuIGRvb3Igcm9vdClcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBhdXRvbWF0aXNjaGUgYnl0ZXZvbGdvcmRlZGV0ZWN0aWUgdWl0c2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJmb3V0IGJpaiBzY2hyaWp2ZW4gdmFuICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisiT21nZWtlZXJkZSBieXRlLXZvbGdvcmRlIHdvcmR0IGFhbmdlbm9tZW4uXG4iCisiR2VicnVpayAnLW4nIG9tIGRlIG5vcm1hbGUgYnl0ZS12b2xnb3JkZSB0ZSBnZWJydWlrZW4uIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiQmVtb25zdGVyaW5nc3N0YXA6ICV1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiBmb3V0aWV2ZSByZWdlbCBpbiBzeW1ib2xlbmJlc3RhbmQiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgImthbiBcIl9zdGV4dFwiIG5pZXQgdmluZGVuIGluICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgInByb2ZpbGVyaW5nc2FkcmVzIHZhbHQgYnVpdGVuIGJlcmVpay4gIFZlcmtlZXJkIHN5bWJvbGVuYmVzdGFuZD8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhYWwiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgInByb2Nlcy1JRCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAicHJvY2VzZ3JvZXBzLUlEIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKyIgICUxJHMgWy1uXSA8cHJpb3JpdGVpdD4gWy1wfC0tcGlkXSA8UElEPi4uLlxuIgorIiAgJTEkcyBbLW5dIDxwcmlvcml0ZWl0PiAgLWd8LS1wZ3JwIDxQR0lEPi4uLlxuIgorIiAgJTEkcyBbLW5dIDxwcmlvcml0ZWl0PiAgLXV8LS11c2VyIDxnZWJydWlrZXI+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiV2lqemlndCBkZSBwcmlvcml0ZWl0IHZhbiBlZW4gZHJhYWllbmQgcHJvY2VzLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgIC1uLCAtLXByaW9yaXR5IDxnZXRhbD4gICAgZGUgYmVsZWVmZGhlaWRzd2FhcmRlIG1ldCBkaXQgZ2V0YWwgdmVybGFnZW5cbiIKKworIyBGSVhNRTogWFhYIHRoaXMgPGlkPiBpc24ndCByaWdodCwgaXQgY2FuIGJlIG1vcmUgSURzIC0tCisjIHRoZSAtcCwgLWcgYW5kIC11IG9wdGlvbnMganVzdCBzd2l0Y2ggaG93IHRoZSBuZXh0IGFyZ3VtZW50cyBhcmUgaW50ZXJwcmV0ZWQKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC1wLCAtLXBpZCAgICAgICBuYXZvbGdlbmRlIGFyZ3VtZW50ZW4gYWxzIHByb2Nlcy1JRCBpbnRlcnByZXRlcmVuICAoc3RhbmRhYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIgIC1nLCAtLXBncnAgICAgICBuYXZvbGdlbmRlIGFyZ3VtZW50ZW4gYWxzIHByb2Nlc2dyb2VwLUlEIGludGVycHJldGVyZW5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjc0Cittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiICAtdSwgLS11c2VyICAgICAgbmF2b2xnZW5kZSBhcmd1bWVudGVuIGFscyBnZWJydWlrZXJzbmFhbSBvZiBVSUQgaW50ZXJwcmV0ZXJlblxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiYWNodGVyaGFsZW4gdmFuIHByaW9yaXRlaXQgdm9vciAlZCBpcyBtaXNsdWt0ICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJpbnN0ZWxsZW4gdmFuIHByaW9yaXRlaXQgdm9vciAlZCBpcyBtaXNsdWt0ICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpOiBvdWRlIHByaW9yaXRlaXQgaXMgJWQsIG5pZXV3ZSBwcmlvcml0ZWl0IGlzICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAib25nZWxkaWcgSUQ6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAib25iZWtlbmRlIGdlYnJ1aWtlciAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgIm9uZ2VsZGlnZSB3YWFyZGUgdm9vciAlczogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJpbnRlcm5lIGtlcm5lbGFwcGFyYWF0bmFhbSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAiYXBwYXJhYXQtSUQiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzEKK21zZ2lkICJkZXZpY2UgdHlwZSBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgYXMgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSB0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJ2bGFnb21zY2hyaWp2aW5nIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAiZ3Jvb3R0ZSB2YW4gdmVyZ3JlbmRlbGluZyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzNAorIywgZnV6enkKK21zZ2lkICJzdGF0dXMgb2YgaGFyZHdhcmUgYmxvY2siCittc2dzdHIgImdyb290dGUgdmFuIHZlcmdyZW5kZWxpbmciCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICJrYW4gJXMgbmlldCB2ZXJncmVuZGVsZW4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgc2l6ZSBvZiByZmtpbGwgZXZlbnQ6ICV6dSA8ICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwb2xsICVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjMxMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgImFwcGFyYWF0LUlEIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAidmVyZ3JlbmRlbGQiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgInZlcmdyZW5kZWxkIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDE1IHN5cy11dGlscy9yZmtpbGwuYzo0ODAgc3lzLXV0aWxzL3Jma2lsbC5jOjUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiU2NoaWpmLUlEOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGFwcGFyYWF0Pi4uLl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorbXNnaWQgIiBoZWxwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAiU2NoaWpmLUlEIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiU2NoaWpmLUlEIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiU2NoaWpmLUlEIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJaZXQgaGV0IHN5c3RlZW0gaW4gZWVuIHNsYWFwc3RhbmQgdG90IGVlbiBhYW5nZWdldmVuIG9udHdha2luZ3N0aWpkLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtYSwgLS1hdXRvICAgICAgICAgICAgICAgbGVlc3QgZGUga2xva21vZHVzIHVpdCByZWdpc3RyYXRpZWJlc3RhbmQgKHN0YW5kYWFyZClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisiICAtQSwgLS1hZGpmaWxlPTxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIHZlcnNjaHVpdmluZ3NyZWdpc3RyYXRpZWJlc3RhbmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChzdGFuZGFhcmQgaXMgJXMpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAgLS1kYXRlIDxkYXR1bXRpamQ+ICAgaGV0IHRpamRzdGlwIG9tIHdlZXIgd2Fra2VyIHRlIHdvcmRlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiAgLWQsIC0tZGV2aWNlIDxhcHBhcmFhdD4gIHRlIGdlYnJ1aWtlbiBoYXJkd2FyZWtsb2sgKHJ0YzB8cnRjMXwuLi4pXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiAgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXQgYWxsZXMsIGJlaGFsdmUgZ2FhbiBzbGFwZW5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIGhhcmR3YXJla2xvayBpcyBpbiBsb2thbGUgdGlqZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAgLS1saXN0LW1vZGVzICAgICAgICAgZGUgYmVzY2hpa2JhcmUgbW9kaSBvcHNvbW1lblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiICAtbSwgLS1tb2RlIDxtb2R1cz4gICAgICAgc2xhYXBtb2R1cyAoc3RhbmRieXxtZW18Li4uKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgIC1zLCAtLXNlY29uZHMgPGFhbnRhbD4gICBoZXQgYWFudGFsIHRlIHNsYXBlbiBzZWNvbmRlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAgLXQsIC0tdGltZSA8d2VrbW9tZW50PiAgIHRpamRzdGlwIG9tIHRlIG9udHdha2VuIChpbiBzZWNvbmRlbiBzaW5kcyAxOTcwKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNgorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAgLXUsIC0tdXRjICAgICAgICAgICAgICAgIGhhcmR3YXJla2xvayBpcyBpbiBVVEMgKHVuaXZlcnNlbGUgdGlqZClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTcKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgImxlemVuIHZhbiBoYXJkd2FyZWtsb2t0aWpkIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImxlemVuIHZhbiBzeXN0ZWVtdGlqZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJvbXpldHRlbiB2YW4gaGFyZHdhcmVrbG9rdGlqZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgInpldHRlbiB2YW4gZGUgd2Vra2VyIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgInVpdGxpam5pbmdzcG9zaXRpZSB2ZXJ3ZXJwZW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJvbnZlcndhY2h0ZSBkZXJkZSByZWdlbCBpbiAlczogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4IHN5cy11dGlscy9ydGN3YWtlLmM6NjQyCittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJsZXplbiB2YW4gZGUgd2Vra2VyIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAid2Vra2VyOiB1aXRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNTYKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJvbXpldHRlbiB2YW4gaGFyZHdhcmVrbG9rdGlqZCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJ3ZWtrZXI6IGFhbiAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAia2FuICVzIG5pZXQgbGV6ZW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIm9uYmVrZW5kZSBzbGFhcHRvZXN0YW5kICclcyciCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDkzCittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZyBhYW50YWwgc2Vjb25kZW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJvbmdlbGRpZ2UgdGlqZCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IGFhbmdlbm9tZW4gd29yZHQgZGF0IGRlIGhhcmR3YXJla2xvayBVVEMgYmV2YXQuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVVRDIHdvcmR0IGdlYnJ1aWt0LlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIkxva2FsZSB0aWpkIHdvcmR0IGdlYnJ1aWt0LlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJ1IGRpZW50IGVlbiB3ZWt0aWpkIG9wIHRlIGdldmVuLCB2aWEgJy1zJyBvZiAnLXQnIG9mICctLWRhdGUnIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMga2FuIGdlZW4gd2VrZ2ViZXVydGVuaXNzZW4gYWFuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIndla3RpamRzdGlwICVsZCwgc3lzdGVlbXRpamQgJWxkLCBoYXJkd2FyZWtsb2t0aWpkICVsZCwgc2Vjb25kZW4gJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJ0aWpkIGxvb3B0IG5pZXQgYWNodGVydWl0IG5hYXIgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBvbnR3YWtpbmcgdmlhICVzIG9wICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogb250d2FraW5nIHVpdCAnJXMnIHZpYSAlcyBvcCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJzbGFhcG1vZHVzOiBuZWUgLS0gZ2VzdG9wdFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgInNsYWFwbW9kdXM6IHVpdCAtLSB1aXR2b2VyZW4gdmFuICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgInNsYWFwbW9kdXM6IGFhbiAtLSBsZXplbiB2YW4gaGFyZHdhcmVrbG9rXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJsZXplbiB2YW4gaGFyZHdhcmVrbG9rIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgInNsYWFwbW9kdXM6IHVpdGdlc2NoYWtlbGQgLS0gd2Vra2VyIHdvcmR0IHVpdGdlc2NoYWtlbGRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgInNsYWFwbW9kdXM6IHRvbmVuIC0tIHdla2tlcmluZm8gd29yZHQgZ2V0b29uZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICJzbGFhcG1vZHVzOiAlcyAtLSBkZSBjb21wdXRlciBnYWF0IHNsYXBlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0NworbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgInVpdHNjaGFrZWxlbiB2YW4gaGFyZHdhcmVrbG9rLWludGVycnVwdCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiQWFuemV0dGVuIHZhbiAlcy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICAlcyA8YXJjaGl0ZWN0dXVyPiBbb3B0aWVzXSBbPHByb2dyYW1tYT4gWzxhcmd1bWVudD4uLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiV2lqemlndCBkZSBnZXJhcHBvcnRlZXJkZSBhcmNoaXRlY3R1dXIgZW4gc3RlbHQgcGVyc29vbmxpamtoZWlkc3ZsYWdnZW4gaW4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiICAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgIEFERFJfTElNSVRfMzJCSVQgaW5zY2hha2VsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiICAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgIGZ1bmN0aWVwb2ludGVycyBuYWFyIGRlc2NyaXB0b3JzIGxhdGVuIHdpanplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiICAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgIFNIT1JUX0lOT0RFIGluc2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiAgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0ICB2aXJ0dWVlbCBnZWhldWdlbiBvcCBhbmRlcmUgbWFuaWVyIHRvZXdpanplblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMgorbXNnaWQgIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCittc2dzdHIgIiAgLVIsIC0tYWRkci1uby1yYW5kb21pemUgICB2aXJ0dWVsZSBhZHJlc3J1aW10ZSBuaWV0IGh1c3NlbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiAgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgICBXSE9MRV9TRUNPTkRTIGluc2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiICAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgIFNUSUNLWV9USU1FT1VUUyBpbnNjaGFrZWxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiICAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgIFJFQURfSU1QTElFU19FWEVDIGluc2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIgIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICAgTU1BUF9QQUdFX1pFUk8gaW5zY2hha2VsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAgLTMsIC0tM2diICAgICAgICAgICAgICAgICBnZWJydWlrdGUgYWRyZXNydWltdGUgdG90IDMgR0IgYmVwZXJrZW5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiAgICAgIC0tNGdiICAgICAgICAgICAgICAgICAoZ2VuZWdlZXJkLCBzbGVjaHRzIGhlcmtlbmQgdm9vciBjb21wYXRpYmlsaXRlaXQpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiAgICAgIC0tdW5hbWUtMi42ICAgICAgICAgICBVTkFNRTI2IGluc2NoYWtlbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgbWVsZGVuIHdlbGtlIG9wdGllcyBpbmdlc2NoYWtlbGQgd29yZGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgIC0tbGlzdCAgICAgICAgICAgICAgICBpbnN0ZWxiYXJlIGFyY2hpdGVjdHVyZW4gdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXM6IE9uYmVrZW5kZSBhcmNoaXRlY3R1dXIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAia2VybmVsIGthbiBhcmNoaXRlY3R1dXIgbmlldCBvcCAlcyBpbnN0ZWxsZW4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIlRlIHdlaW5pZyBhcmd1bWVudGVuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJpbnN0ZWxsZW4gdmFuIHBlcnNvb25saWpraGVpZCBvcCAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIm5pZXQtdG9lZ2VzdGFuZSBvcHRpZSAnLS1saXN0JyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJnZWVuIGFyY2hpdGVjdHV1ciBvcGdlZ2V2ZW4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgImluc3RlbGxlbiB2YW4gcGVyc29vbmxpamtoZWlkIG9wICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJVaXR2b2VyaW5nIHZhbiBvcGRyYWNodCAnJXMnLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8cHJvZ3JhbW1hPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiRHJhYWl0IGVlbiBwcm9ncmFtbWEgbWV0IGFuZGVyZSBwcml2aWxlZ2UtaW5zdGVsbGluZ2VuLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjKVxuIgorbXNnc3RyICIgIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBodWlkaWdlIHRvZXN0YW5kIHRvbmVuIChlbiB2ZXJkZXIgbmlldHMgZG9lbilcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIgIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBoZXQgdG9la2VubmVuIHZhbiBuaWV1d2UgcHJpdmlsZWdlcyBuaWV0IHRvZXN0YWFuXG4iCisKKyMgRklYTUU6IHNpbmd1bGFyIGNhcAorIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiICAtLWluaC1jYXBzIDxjYXAsLi4uPiAgICAgb3ZlcmVyZmJhcmUgY2FwYWJpbGl0aWVzIGluc3RlbGxlblxuIgorCisjIEZJWE1FOiBzaW5ndWxhciBjYXAKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgIC0taW5oLWNhcHMgPGNhcCwuLi4+ICAgICBvdmVyZXJmYmFyZSBjYXBhYmlsaXRpZXMgaW5zdGVsbGVuXG4iCisKKyMgRklYTUU6IHNhbWUgImNhcCBjb21tYSIgYXMgYWJvdmUKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2CisjLCBmdXp6eQorbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiAgLS1ib3VuZGluZy1zZXQgPGNhcCwuLi4+ICAgYmVwZXJrZW5kZSBzZXQgdmFuIGNhcGFiaWxpdGllcyBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiICAtLXJ1aWQgPFVJRD4gICAgICAgICAgICAgd2Vya2VsaWprZSBVSUQgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAtLWV1aWQgPFVJRD4gICAgICAgICAgICAgZWZmZWN0aWV2ZSBVSUQgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAgLS1yZ2lkIDxHSUQ+ICAgICAgICAgICAgIHdlcmtlbGlqa2UgR0lEIGluc3RlbGxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMAorIywgZnV6enkKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAgLS1lZ2lkIDxHSUQ+ICAgICAgICAgICAgIGVmZmVjdGlldmUgR0lEIGluc3RlbGxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMQorIywgZnV6enkKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAgLS1yZXVpZCA8VUlEPiAgICAgICAgICAgIHdlcmtlbGlqa2UgZW4gZWZmZWN0aWV2ZSBVSUQgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiICAtLXJlZ2lkIDxHSUQ+ICAgICAgICAgICAgd2Vya2VsaWprZSBlbiBlZmZlY3RpZXZlIEdJRCBpbnN0ZWxsZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICBkZSBzdXBwbGVtZW50YWlyZSBncm9lcGVuIHdpc3NlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorIywgZnV6enkKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiICAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgZGUgc3VwcGxlbWVudGFpcmUgZ3JvZXBlbiBiZWhvdWRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorIywgZnV6enkKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiICAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgZGUgc3VwcGxlbWVudGFpcmUgZ3JvZXBlbiBiZWhvdWRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgIC0tZ3JvdXBzIDxncm9lcCwuLi4+ICAgICBzdXBwbGVtZW50YWlyZSBncm9lcGVuIGluc3RlbGxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgIGRlemUgJ3NlY3VyZWJpdHMnIGluc3RlbGxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gIFNFTGludXgtbGFiZWwgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiICAtLWFwcGFybW9yLXByb2ZpbGUgPHByb2ZpZWw+ICBBcHBBcm1vci1wcm9maWVsIGluc3RlbGxlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICJEaXQgZ2VyZWVkc2NoYXAga2FuIGdldmFhcmxpamsgemlqbi4gIExlZXMgZGUgaGFuZGxlaWRpbmcsIGVuIHdlZXMgdm9vcnppY2h0aWcuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJvbmdlbGRpZ2UgY2FwYWJpbGl0eS10ZWtlbnJlZWtzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgImhldCB2ZXJrcmlqZ2VuIHZhbiBkZSAnc2VjdXJlYml0cycgdmFuIHByb2NlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIlNlY3VyZWJpdHM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdXG4iCittc2dzdHIgIltnZWVuXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiB0ZSBsYW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJTdXBwbGVtZW50YWlyZSBncm9lcGVuOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltnZWVuXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIkVVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIlNVSUQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ1IHN5cy11dGlscy9zZXRwcml2LmM6NDQ1Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzdWlkKCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXNnaWQoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkVmZmVjdGlldmUgY2FwYWJpbGl0aWVzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiVG9lZ2VzdGFuZSBjYXBhYmlsaXRpZXM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIk92ZXJlcmZiYXJlIGNhcGFiaWxpdGllczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiVG9lZ2VzdGFuZSBjYXBhYmlsaXRpZXM6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIm5pZXQtb25kZXJzdGV1bmRlIG9wZHJhY2h0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICJCZXBlcmtlbmRlIHNldCB2YW4gY2FwYWJpbGl0aWVzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiU0VMaW51eC1sYWJlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MDAKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICJBcHBBcm1vci1wcm9maWVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogJ2xpYmNhcC1uZycgbWlzZnVuY3Rpb25lZXJ0IgorCisjIEZJWE1FOiBzdGFydCB3aXRoIGxvd2VyY2FzZQorIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIk9uZ2VsZGlnIElEIHZhbiBzdXBwbGVtZW50YWlyZSBncm9lcCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXN1aWQoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc2dpZCgpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZGUgdGlqZHNzb29ydCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgIm9uZ2VsZGlnZSBjYXBhYmlsaXR5LXRla2VucmVla3MiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiJ2xpYmNhcC1uZycgaXMgdGUgb3VkIHZvb3IgY2FwYWJpbGl0eSBcImFsbFwiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICJvbmJla2VuZGUgY2FwYWJpbGl0eSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJvbmJla2VuZGUgc2V0IHZhbiAnc2VjdXJlYml0cycgLS0gbmlldCBhYW5nZXBhc3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTY1Cittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICJvbmdlbGRpZ2UgJ3NlY3VyZWJpdHMnLXRla2VucmVla3MiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTcyCittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICInK2FsbCBzZWN1cmViaXRzJyBpcyBuaWV0IHRvZWdlc3RhYW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg1Cittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJoZXQgYWFucGFzc2VuIHZhbiAna2VlcF9jYXBzJyBpcyBvbnppbm5pZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJvbmJla2VuZGUgJ3NlY3VyZWJpdCciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjA5Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCBkcmFhaXQgbmlldCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAic2x1aXRlbiBpcyBtaXNsdWt0OiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3IgZHJhYWl0IG5pZXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiZHViYmVsZSBvcHRpZSAnLS1uby1uZXctcHJpdnMnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICJkdWJiZWxlIFJVSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBSVUlEIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkwCittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgImR1YmJlbGUgRVVJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAib250bGVkZW4gdmFuIEVVSUQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJkdWJiZWxlIFJVSUQgb2YgRVVJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBSRVVJRCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJkdWJiZWxlIFJHSUQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBSR0lEIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgImR1YmJlbGUgRUdJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAib250bGVkZW4gdmFuIEVHSUQgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJkdWJiZWxlIFJHSUQgb2YgRUdJRCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBSRUdJRCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImR1YmJlbGUgb3B0aWUgJy0tY2xlYXItZ3JvdXBzJyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImR1YmJlbGUgb3B0aWUgJy0ta2VlcC1ncm91cHMnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgImR1YmJlbGUgb3B0aWUgJy0tZ3JvdXBzJyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLWdyb3VwcyciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLWluaC1jYXBzJyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTkKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiZHViYmVsZSBvcHRpZSAnLS1pbmgtY2FwcyciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODY1Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiZHViYmVsZSBvcHRpZSAnLS1ib3VuZGluZy1zZXQnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3MQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLXNlY3VyZWJpdHMnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLXNlbGludXgtbGFiZWwnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg4MworbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICJkdWJiZWxlIG9wdGllICctLWFwcGFybW9yLXByb2ZpbGUnIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg5OQorbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAib3B0aWUgJy0tZHVtcCcgaXMgaW5jb21wYXRpYmVsIG1ldCBhbGxlIGFuZGVyZSBvcHRpZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIm9wdGllICctLWxpc3QtY2FwcycgbW9ldCBhbGzDqcOpbiBnZWdldmVuIHdvcmRlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiZ2VlbiBwcm9ncmFtbWEgYWFuZ2VnZXZlbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKKyMsIGZ1enp5Cittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAib3B0aWUgJy0tW3JlXWdpZCcgdmVyZWlzdCAnLS1ncm91cHMnLCAnLS1rZWVwLWdyb3VwcycsIG9mICctLWNsZWFyLWdyb3VwcyciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgImhldCB2ZXJiaWVkZW4gdmFuIGhldCB0b2VrZW5uZW4gdmFuIG5pZXV3ZSBwcml2aWxlZ2VzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgImhldCBiZWhvdWRlbiB2YW4gY2FwYWJpbGl0aWVzIHZhbiBwcm9jZXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImNhcGFiaWxpdGllcyBhY3RpdmVyZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTU0Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImNhcGFiaWxpdGllcyBoZXJhY3RpdmVyZW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1CisjLCBmdXp6eQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICInc2V0Z3JvdXBzJyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJoZXQgaW5zdGVsbGVuIHZhbiBkZSAnc2VjdXJlYml0cycgdmFuIHByb2NlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiZGUgYmVwZXJrZW5kZSBzZXQgdG9lcGFzc2VuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiY2FwYWJpbGl0aWVzIHRvZXBhc3NlbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxwcm9ncmFtbWE+IFs8YXJndW1lbnQ+Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIkRyYWFpdCBlZW4gcHJvZ3JhbW1hIGluIGVlbiBuaWV1d2Ugc2Vzc2llLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiICAtYywgLS1jdHR5ICAgICBkZSBzdHVyZW5kZSB0ZXJtaW5hbCBpbnN0ZWxsZW4gb3AgZGUgaHVpZGlnZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiAgLWYsIC0tZm9yY2UgICAgICAgIGNvbnRyb2xlIGFmZHdpbmdlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAgLXcsIC0td2FpdCAgICAgd2FjaHRlbiB0b3QgcHJvZ3JhbW1hIGFmc2x1aXQgZW4gZGllbnMgYWZzbHVpdHdhYXJkZSBvdmVybmVtZW5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwMAorbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmsoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiZG9jaHRlcnByb2NlcyAlZCBpcyBuaWV0IG5vcm1hYWwgYWZnZXNsb3RlbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExNworbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHNpZCgpIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMjAKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiaGV0IGluc3RlbGxlbiB2YW4gZGUgc3R1cmVuZGUgdGVybWluYWwgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInN3YXBvZmYgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiVSBiZW50IG5pZXQgcm9vdC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gWzxuYWFtPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJEZWFjdGl2ZWVydCBhcHBhcmF0ZW4gZW4gYmVzdGFuZGVuIG1ldCB3aXNzZWxnZWhldWdlbi5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiICAtYSwgLS1hbGwgICAgICAgICAgYWxsZSB3aXNzZWxnZWJpZWRlbiB1aXQgL3Byb2Mvc3dhcHMgdWl0c2NoYWtlbGVuXG4iCisiICAtdiwgLS12ZXJib3NlICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM0Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiRGUgcGFyYW1ldGVyIDxuYWFtPiBrYW4gemlqbjpcbiIKKyIgIC1MIDxsYWJlbD4gfCBMQUJFTD08bGFiZWw+ICAgIGxhYmVsIHZhbiB0ZSBnZWJydWlrZW4gYXBwYXJhYXRcbiIKKyIgIC1VIDx1dWlkPiB8IFVVSUQ9PHV1aWQ+ICAgICAgIFVVSUQgdmFuIHRlIGdlYnJ1aWtlbiBhcHBhcmFhdFxuIgorIiAgPGFwcGFyYWF0PiAgICAgICAgICAgICAgICAgICAgbmFhbSB2YW4gdGUgZ2VicnVpa2VuIGFwcGFyYWF0XG4iCisiICA8YmVzdGFuZD4gICAgICAgICAgICAgICAgICAgICBuYWFtIHZhbiB0ZSBnZWJydWlrZW4gYmVzdGFuZFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiYXBwYXJhYXRiZXN0YW5kIG9mIHBhcnRpdGllcGFkIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInNvb3J0IGFwcGFyYWF0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgImdyb290dGUgdmFuIHdpc3NlbGdlYmllZCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICJnZWJydWlrdGUgYnl0ZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJzd2FwLXByaW9yaXRlaXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgInN3YXAtVVVJRCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMgorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgInN3YXAtbGFiZWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdFNvb3J0XHRcdEdyb290dGVcdEdlYnJ1aWt0XHRQcmlvcml0ZWl0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiQmVzdGFuZHNuYWFtIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzOiBoZXJpbml0aWFsaXNhdGllIHZhbiBoZXQgd2lzc2VsZ2VoZXVnZW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICdsc2VlaycgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNjaHJpanZlbiB2YW4gdmluZ2VyYWZkcnVrIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IHdvcmR0IG92ZXJnZXNsYWdlbiAtLSBoZXQgbGlqa3QgZ2F0ZW4gdGUgaGViYmVuLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogYWNodGVyaGFsZW4gdmFuIGdyb290dGUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBsZXplbiB2YW4ga29wIHZhbiB3aXNzZWxnZWhldWdlbiBpcyBtaXNsdWt0IgorCisjIEZJWE1FOiAldWQ/CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogd2lzc2VsZ2VoZXVnZW52aW5nZXJhZmRydWsgZ2V2b25kZW4gW3BhZ2luYWdyb290dGU9JWQsIHZpbmdlcmFmZHJ1az0lc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiBwYWdpbmFncm9vdHRlPSVkLCB3aXNzZWxncm9vdHRlPSVsbHUsIGFwcGFyYWF0Z3Jvb3R0ZT0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogb3BnZXNsYWdlbiBncm9vdHRlICgweCUwOGxseCkgdmFuIHdpc3NlbGdlaGV1Z2VuIGlzIGdyb3RlciBkYW4gZGUgZmVpdGVsaWprZSBydWltdGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6IG9wZ2VzbGFnZW4gcGFnaW5hZ3Jvb3R0ZSBrbG9wdCBuaWV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKyIlczogb3BnZXNsYWdlbiBwYWdpbmFncm9vdHRlIGtsb3B0IG5pZXQ7XG4iCisiZ2VicnVpayAnLS1maXhwZ3N6JyBvbSBkaXQgdGUgY29ycmlnZXJlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IHNsYWFwZ2VnZXZlbnMgZ2V2b25kZW4gLS0gdmluZ2VyYWZkcnVrIHdvcmR0IG9wbmlldXcgZ2VzY2hyZXZlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiBzd2Fwb24gaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogaGVlZnQgbm9hdXRvIG9wdGllIC0tIGlzIG92ZXJnZXNsYWdlbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGlzIGFsIGFjdGllZiAtLSBnZW5lZ2VlcmQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogaXMgb250b2VnYW5rZWxpamsgLS0gZ2VuZWdlZXJkIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk3Cittc2dpZCAiRW5hYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICJBY3RpdmVlcnQgYXBwYXJhdGVuIGVuIGJlc3RhbmRlbiBtZXQgd2lzc2VsZ2VoZXVnZW4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBhbGxlIHdpc3NlbGdlaGV1Z2VucyBpbiAvZXRjL2ZzdGFiIGFjdGl2ZXJlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgIC1kLCAtLWRpc2NhcmRbPTxiZWxlaWQ+XSAgdmVyd2VycGluZ2VuIGFjdGl2ZXJlbiwgYWxzIGFwcGFyYWF0IGRhdCBrZW50XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICAgYXBwYXJhdGVuIGRpZSBuaWV0IGJlc3RhYW4gc3RpbHp3aWpnZW5kIG92ZXJzbGFhblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgLWYsIC0tZml4cGdzeiAgICAgICAgICAgICB3aXNzZWxnZWhldWdlbiBpbmRpZW4gbm9kaWcgaGVyaW5pdGlhbGlzZXJlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zIDxsaWpzdD4gICAgIGtvbW1hZ2VzY2hlaWRlbiBsaWpzdCB2YW4gd2lzc2VsZ2VoZXVnZW5vcHRpZXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiAgLXAsIC0tcHJpb3JpdHkgPGdldGFsPiAgICB0ZSBnZWJydWlrZW4gcHJpb3JpdGVpdCB2YW4gd2lzc2VsZ2VoZXVnZW5hcHBhcmFhdFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA2Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgICBnZWJydWlrdGUgd2lzc2VsZ2VoZXVnZW5hcHBhcmF0ZW4gb3Bzb21tZW4gIFtPVURdXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDcKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAgLS1zaG93Wz08bGlqc3Q+XSAgICAgIHNhbWVudmF0dGluZyB0b25lbiBpbiBkZWZpbmllZXJiYXJlIHRhYmVsXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgICAtLW5vaGVhZGluZ3MgICAgICAgICAgZ2VlbiBrb3ByZWdlbCB0b25lbiAoYmlqICctLXNob3cnKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHJhdXdlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODEwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICB3aXNzZWxnZWhldWdlbmdyb290dGUgdG9uZW4gaW4gYnl0ZXMgKGJpaiAnLS1zaG93JylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkRlIHBhcmFtZXRlciA8bmFhbT4ga2FuIHppam46XG4iCisiICAtTCA8bGFiZWw+IHwgTEFCRUw9PGxhYmVsPiAgICBsYWJlbCB2YW4gdGUgZ2VicnVpa2VuIGFwcGFyYWF0XG4iCisiICAtVSA8dXVpZD4gfCBVVUlEPTx1dWlkPiAgICAgICBVVUlEIHZhbiB0ZSBnZWJydWlrZW4gYXBwYXJhYXRcbiIKKyIgIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgICAgICAgIGxhYmVsIHZhbiB0ZSBnZWJydWlrZW4gcGFydGl0aWVcbiIKKyIgIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgICAgICAgIFVVSUQgdmFuIHRlIGdlYnJ1aWtlbiBwYXJ0aXRpZVxuIgorIiAgPGFwcGFyYWF0PiAgICAgICAgICAgICAgICAgICAgbmFhbSB2YW4gdGUgZ2VicnVpa2VuIGFwcGFyYWF0XG4iCisiICA8YmVzdGFuZD4gICAgICAgICAgICAgICAgICAgICBuYWFtIHZhbiB0ZSBnZWJydWlrZW4gYmVzdGFuZFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiQmVzY2hpa2JhcmUgdmVyd2VycGluZ3Nzb29ydGVuICh2b29yIG9wdGllICctLWRpc2NhcmQnKTpcbiIKKyIgIG9uY2UgICAgYWxsZWVuIGVlbm1hbGlnZSBnZWJpZWRzdmVyd2VycGluZ2VuIGdlYnJ1aWtlblxuIgorIiAgcGFnZXMgICB2cmlqZSBwYWdpbmEncyB2ZXJ3ZXJwZW4gYWx2b3JlbnMgemUgdGUgaGVyZ2VicnVpa2VuXG4iCisiQWxzIGdlZW4gYmVsZWlkIGdla296ZW4gd29yZHQsIHdvcmRlbiBiZWlkZSBzb29ydGVuIGdlYnJ1aWt0IChzdGFuZGFhcmQpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gcHJpb3JpdGVpdCBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAib25nZWxkaWcgdmVyd2VycGluZ3NiZWxlaWQ6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJrYW4gZ2VlbiBhcHBhcmFhdCB2aW5kZW4gdm9vciAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIm9wZW5lbiB2YW4gbWFwIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY4Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgIm9wdnJhZ2VuIHZhbiBiZXN0YW5kc3N0YXR1cyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAia2FuIG1hcCBuaWV0IGxlemVuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAidmVyd2lqZGVyZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICJhYW5rb3BwZWxlbiBtZXQgdmVycGxhYXRzaW5nIHZhbiAlcyBuYWFyICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgImdlZHdvbmdlbiBhZmtvcHBlbGluZyB2YW4gJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGh1aWRpZ2UgbWFwIG5hYXIgJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiYWFua29wcGVsZW4gbWV0IHZlcnBsYWF0c2luZyB2YW4gJXMgbmFhciAvIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAid2lqemlnZW4gdmFuIGhvb2ZkbWFwIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE5MgorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAib3VkZSBob29mZGJlc3RhbmRzc3lzdGVlbSBpcyBnZWVuICdpbml0cmFtZnMnIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAgJXMgW29wdGllc10gPG5pZXV3ZV9ob29mZG1hcD4gPGluaXQ+IDxhcmd1bWVudGVuX3Zvb3JfaW5pdD5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA5Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiTWFha3QgZWVuIGFuZGVyIGJlc3RhbmRzc3lzdGVlbSBkZSBob29mZG1hcCB2YW4gaGV0IGRyYWFpZW5kZSBzeXN0ZWVtLlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAiaXMgbWlzbHVrdCwgc29ycnkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJrYW4gZ2VlbiB0b2VnYW5nIHRvdCAlcyB2ZXJrcmlqZ2VuIgorCisjIE5OTiBmb3JnZXQgdHVuZWxwCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyMgTk5OIGZvcmdldCB0dW5lbHAKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyBpcyBnZWVuIHByaW50ZXJhcHBhcmFhdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJpb2N0bChMUEdFVFNUQVRVUykgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgInN0YXR1cyB2YW4gJXM6ICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBiZXppZyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIGdlcmVlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCBwYXBpZXIgaXMgb3AiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsIHN0YWF0IGFhbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGZvdXQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsKCkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJpb2N0bChMUEdFVElSUSkgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgZ2VicnVpa3QgSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyB3b3JkdCBhY3RpZWYgZ2Vwb2xzdFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAgJTEkcyBbLWhWXSB8IC1hIFtvcHRpZXNdXG4iCisiICAlMSRzIFtvcHRpZXNdIDxicm9uPiB8IDxtYXA+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIktvcHBlbHQgYmVzdGFuZHNzeXN0ZW1lbiBhZi5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBhbGxlIGJlc3RhbmRzc3lzdGVtZW4gYWZrb3BwZWxlblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgIC1BLCAtLWFsbC10YXJnZXRzICAgICAgICAgYWxsZSBhYW5rb3BwZWxpbmdzcHVudGVuIHZhbiBnZWdldmVuIGFwcGFyYWF0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gaHVpZGlnZSBuYWFtc3J1aW10ZSBhZmtvcHBlbGVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiICAtYywgLS1uby1jYW5vbmljYWxpemUgICAgIHBhZGVuIG5pZXQgY2Fub25pZWsgbWFrZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgICBpbmRpZW4gbHVzLWFwcGFyYWF0LCBkZXplIGJvdmVuZGllbiBvbnRoZWNodGVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgICAtLWZha2UgICAgICAgICAgICAgICAgZG9lbiBhbHNvZjsgZGUgdW1vdW50KDIpLXN5c3RlZW1hYW5yb2VwIG92ZXJzbGFhblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZ2Vmb3JjZWVyZCBhZmtvcHBlbGVuIChiaWogb25iZXJlaWtiYWFyIE5GUy1zeXN0ZWVtKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAgLWksIC0taW50ZXJuYWwtb25seSAgICAgICBuaWV0IGRlICd1bW91bnQuPHR5cGU+JyBodWxwcHJvZ3JhbW1hJ3MgZ2VicnVpa2VuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiICAtbCwgLS1sYXp5ICAgICAgICAgICAgICAgIGJlc3RhbmRzc3lzdGVlbSBudSBvbnRoZWNodGVuLCBsYXRlciBvcHJ1aW1lblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAgLU8sIC0tdGVzdC1vcHRzIDxsaWpzdD4gICBzZXQgdmFuIGJlc3RhbmRzc3lzdGVtZW4gYmVwZXJrZW4gKGJpaiAnLWEnKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiICAtUiwgLS1yZWN1cnNpdmUgICAgICAgICAgIGRvZWwgcmVjdXJzaWVmIGFma29wcGVsZW4gaW5jbHVzaWVmIGFsbCBkb2NodGVyc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiIKKyIgIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgd2FubmVlciBhZmtvcHBlbGVuIGZhYWx0LCBkYW4gaGVyYWFua29wcGVsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHMgYWxsZWVuLWxlemVuIHByb2JlcmVuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDEKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAgLXQsIC0tdHlwZXMgPGxpanN0PiAgICAgICBkZSBzZXQgdmFuIGJlc3RhbmRzc3lzdGVlbXNvb3J0ZW4gYmVwZXJrZW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgKCVzKSBpcyBhZmdla29wcGVsZCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGlzIGFmZ2Vrb3BwZWxkIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICJpbnN0ZWxsZW4gdmFuIGFma29wcGVsaW5nc2RvZWwgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJnZWhldWdlbnJlc2VydmVyaW5nIHZvb3IgbGlibW91bnQtdGFiZWwgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImdlaGV1Z2VucmVzZXJ2ZXJpbmcgdm9vciBsaWJtb3VudC1pdGVyYXRvciBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgInZlcmtyaWpnZW4gdmFuIGRvY2h0ZXJiZXN0YW5kc3N5c3RlZW0gdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMTAgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczogbmlldCBnZXZvbmRlbiIKKworIyBGSVhNRTogcmVtb3ZlIHBlcmlvZAorIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiIKKyIlczogYmVwYWxlbiB2YW4gYnJvbiBpcyBtaXNsdWt0XG4iCisiKCctLWFsbC10YXJnZXRzJyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIG9wIHN5c3RlbWVuIG1ldCBlZW4gZ2V3b29uICdtdGFiJy1iZXN0YW5kKSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kIGFyZ3VtZW50IHZhbiAnLS1zZXRncm91cHMnOiAnJXMnIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgInNjaHJpanZlbiB2YW4gJXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIm9uZ2VsZGlnZSBwcm9wYWdhdGllbW9kdXM6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJrYW4gcHJvcGFnYXRpZSB2b29yIHJvb3QtYmVzdGFuZHNzeXN0ZWVtIG5pZXQgd2lqemlnZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiYWFua29wcGVsZW4gdmFuICVzIG9wICVzIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICJrYW4gc3RhdHVzIHZhbiAnJXMnIG5pZXQgb3B2cmFnZW4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgInBpcGUoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgImxlemVuIHVpdCBwaWpwIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIkRyYWFpdCBlZW4gcHJvZ3JhbW1hIG1ldCBzb21taWdlIG5hYW1zcnVpbXRlcyBnZXNjaGVpZGVuIHZhbiBoZXQgb3VkZXJwcm9jZXMuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLW0sIC0tbW91bnRbPTxiZXN0YW5kPl0gIGFhbmtvcHBlbGluZ3NuYWFtc3J1aW10ZSBzY2hlaWRlblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC11LCAtLXV0c1s9PGJlc3RhbmQ+XSAgICBVVFMtbmFhbXNydWltdGUgc2NoZWlkZW4gKGhvc3RuYWFtIGVuIGRlcmdlbGlqa2UpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWksIC0taXBjWz08YmVzdGFuZD5dICAgIFN5c3RlbS1WLUlQQy1uYWFtc3J1aW10ZSBzY2hlaWRlblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtbiwgLS1uZXRbPTxiZXN0YW5kPl0gICAgbmV0d2Vya25hYW1zcnVpbXRlIHNjaGVpZGVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLXAsIC0tcGlkWz08YmVzdGFuZD5dICAgIFBJRC1uYWFtc3J1aW10ZSBzY2hlaWRlblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtVSwgLS11c2VyWz08YmVzdGFuZD5dICAgZ2VicnVpa2Vyc25hYW1zcnVpbXRlIHNjaGVpZGVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLUMsIC0tY2dyb3VwWz08YmVzdGFuZD5dIGNvbnRyb2xncm9lcG5hYW1zcnVpbXRlIHNjaGVpZGVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgIC1mLCAtLWZvcmsgICAgICAgIG5pZXV3IHByb2NlcyBzdGFydGVuIGFsdm9yZW5zIDxwcm9ncmFtbWE+IHRlIHN0YXJ0ZW5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NAorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisiICAgICAgLS1tb3VudC1wcm9jWz08bWFwPl0gICAgaGV0IHByb2MtYmVzdGFuZHNzeXN0ZWVtIGVlcnN0IGFhbmtvcHBlbGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1wbGljZWVydCAnLS1tb3VudCcpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorIiAgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICAgIGh1aWRpZ2UgZ2VicnVpa2VyIG9wIHJvb3QgYWZiZWVsZGVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoaW1wbGljZWVydCAnLS11c2VyJylcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvcGFnYXRpZSBpbiBhYW5rb3BwZWxpbmdzbmFhbXNydWltdGUgaW5zdGVsbGVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgZGUgc2V0Z3JvdXBzLXN5c3RlZW1hYW5yb2VwIHRvZXN0YWFuIG9mIHdlaWdlcmVuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmUoKSBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0NQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJhZnNsdWl0ZW4gdmFuIGRvY2h0ZXIgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3B0aWVzICctLXNldGdyb3Vwcz1hbGxvdycgZW4gJy0tbWFwLXJvb3QtdXNlcicgZ2FhbiBuaWV0IHNhbWVuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgImFhbmtvcHBlbGVuIHZhbiAlcyBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICJLYWFydCBoZWVmdCB2b29yZGllbiBkZSBwcm9jZXNzb3IgZ2VyZXNldCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJFeHRlcm5lIGRvb3J2b2VyIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiRXh0ZXJuZSBkb29ydm9lciAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIlZlbnRpbGF0b3IgaXMgc3R1ayIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIkFudHdvb3JkIG9wIGtlZXAtYWxpdmUtcGluZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICJPbmRlcnN0ZXVudCBtYWdpc2NoIGFmc2x1aXRpbmdzdGVrZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiUmVzZXQgd2VnZW5zIG92ZXJ2ZXJoaXR0aW5nIHZhbiBwcm9jZXNzb3IiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICJWb2VkaW5nc3NwYW5uaW5nIGlzIHRlIGhvb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJTbGVjaHRlIHZvZWRpbmdzc3Bhbm5pbmcgb2Ygdm9lZGluZyBpcyBzdHVrIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcmUtdGlqZHNsaW1pZXQgKGluIHNlY29uZGVuKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIlRpamRzbGltaWV0IGluc3RlbGxlbiAoaW4gc2Vjb25kZW4pIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiR2VlbiBoZXJzdGFydCB0cmlnZ2VyZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAidmxhZ25hYW0iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgInZsYWdvbXNjaHJpanZpbmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJ2bGFnc3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJ2bGFnb3BzdGFydHN0YXR1cyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIndhdGNoZG9nLWFwcGFyYWF0bmFhbSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgIm9uYmVrZW5kZSB2bGFnOiAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc4Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FOiBzbGljZSBpdCB1cAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIkhldCBzdGFuZGFhcmRhcHBhcmFhdCBpcyAlcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IG9uYmVrZW5kZSB2bGFnZ2VuIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIwIHN5cy11dGlscy93ZGN0bC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiJXM6IHdhdGNoZG9nIHdvcmR0IGFsIGdlYnJ1aWt0IC0tIGdlc3RvcHQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzOiB1aXRzY2hha2VsZW4gdmFuIHdhdGNoZG9nIGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJrYW4gdGlqZHNsaW1pZXQgdm9vciAlcyBuaWV0IGluc3RlbGxlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiVGlqZHNsaW1pZXQgaXMgaW5nZXN0ZWxkIG9wICVkIHNlY29uZGUuXG4iCittc2dzdHJbMV0gIlRpamRzbGltaWV0IGlzIGluZ2VzdGVsZCBvcCAlZCBzZWNvbmRlbi5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIlczoga2FuIGdlZW4gaW5mb3JtYXRpZSBvdmVyIHdhdGNoZG9nIHZlcmtyaWpnZW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIHNlY29uZGVcbiIKK21zZ3N0clsxXSAiJS0xNHMgJTJpIHNlY29uZGVuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NgorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICJUaWpkc2xpbWlldDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiUHJlLWxpbWlldDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiUmVzdHRpamQ6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJBcHBhcmFhdDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdGVpdDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOAorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInZlcnNpZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIlpSQU0tYXBwYXJhYXRuYWFtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAibGltaWV0IG9wIGRlIGhvZXZlZWxoZWlkIG9uZ2Vjb21wcmltZWVyZGUgZGF0YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJvbmdlY29tcHJpbWVlcmRlIGdyb290dGUgdmFuIG9wZ2VzbGFnZW4gZGF0YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiZ2Vjb21wcmltZWVyZGUgZ3Jvb3R0ZSB2YW4gb3BnZXNsYWdlbiBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAiaGV0IGdlc2VsZWN0ZWVyZGUgY29tcHJlc3NpZWFsZ29yaXRtZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgImFhbnRhbCBnZWxpamt0aWpkaWdlIGNvbXByZXNzaWViZXdlcmtpbmdlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAibGVnZSBwYWdpbmEncyB6b25kZXIgZ2VyZXNlcnZlZXJkIGdlaGV1Z2VuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJhbGxlIGdlaGV1Z2VuLCBpbmNsdXNpZWYgdG9ld2lqemluZ3NmcmFnbWVudGF0aWUgZW4gbWV0YWRhdGEtb3ZlcmhlYWQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgImxpbWlldCBvcCBkZSBob2V2ZWVsaGVpZCBnZWJydWlrdCBnZWhldWdlbiB2b29yIGdlY29tcHJpbWVlcmRlIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJkZSBob2V2ZWVsaGVpZCBnZWJydWlrdCBnZWhldWdlbiB2b29yIGdlY29tcHJpbWVlcmRlIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICJhYW50YWwgdmVycGxhYXRzdGUgb2JqZWN0ZW4gZG9vciBjb21wYWN0aWUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgIm9udGxlZGVuIHZhbiBtbV9zdGF0IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdIDxhcHBhcmFhdD5cbiIKKyIgICUxJHMgLXIgPGFwcGFyYWF0Pi4uLlxuIgorIiAgJTEkcyBbb3B0aWVzXSAtZnw8YXBwYXJhYXQ+IC1zIDxnZXRhbD5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJQcmVwYXJlZXJ0IGVuIGJlaGVlcnQgWlJBTS1hcHBhcmF0ZW4uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NHxsejRoY3xkZWZsYXRlfDg0MiAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiICAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgICB0ZSBnZWJydWlrZW4gY29tcHJlc3NpZWFsZ29yaXRtZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MgorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBncm9vdHRlcyBpbiBieXRlcyB3ZWVyZ2V2ZW4gaS5wLnYuIGluIGxlZXNiYXJlIHZvcm1cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAtZiwgLS1maW5kICAgICAgICAgICAgICAgZWVuIG9uZ2VicnVpa3QgWlJBTS1hcHBhcmFhdCB2aW5kZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICBnZWVuIGtvcHJlZ2VsIHRvbmVuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vdXRwdXQgPGxpanN0PiAgICAgd2VlciB0ZSBnZXZlbiBrb2xvbW1lbiBpbiBzdGF0dXN1aXR2b2VyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ2Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgICAtLXJhdyAgICAgICAgICAgICAgICByYXV3ZSBzdGF0dXN1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDcKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtciwgLS1yZXNldCAgICAgICAgICAgICAgYWxsZSBvcGdlZ2V2ZW4gYXBwYXJhdGVuIHJlc2V0dGVuXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAtcywgLS1zaXplIDxnZXRhbD4gICAgICAgZGUgZ3Jvb3R0ZSB2YW4gaGV0IFpSQU0tYXBwYXJhYXRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgIC10LCAtLXN0cmVhbXMgPGdldGFsPiAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBjb21wcmVzc2llc3RyZWFtc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJvbnRsZWRlbiB2YW4gc3RyZWFtc2FyZ3VtZW50IGlzIG1pc2x1a3QiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAib3B0aWUgJy0tZmluZCcgZ2FhdCBuaWV0IHNhbWVuIG1ldCA8YXBwYXJhYXQ+IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICJlciBtYWcgc2xlY2h0cyDDqcOpbiA8YXBwYXJhYXQ+IG9wZ2VnZXZlbiB3b3JkZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIm9wdGllcyAnLS1hbGdvcml0aG0nIGVuICctLXN0cmVhbXMnIG1vZXRlbiB2ZXJnZXplbGQgZ2FhbiB2YW4gJy0tc2l6ZSciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk0IHN5cy11dGlscy96cmFtY3RsLmM6NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiByZXNldHRlbiBpcyBtaXNsdWt0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgImVyIGlzIGdlZW4gdnJpaiBaUkFNLWFwcGFyYWF0IGdldm9uZGVuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IGluc3RlbGxlbiB2YW4gYWFudGFsIHN0cmVhbXMgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogaW5zdGVsbGVuIHZhbiBhbGdvcml0bWUgaXMgbWlzbHVrdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiBpbnN0ZWxsZW4gdmFuIHNjaGlqZmdyb290dGUgKCVqdSBieXRlcykgaXMgbWlzbHVrdCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIlcyVzIChhdXRvbWF0aXNjaGUgbG9naW4pXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczoga2FuIGhvb2ZkbWFwIG5pZXQgd2lqemlnZW4gbmFhciAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczoga2FuIGh1aWRpZ2Ugd2Vya21hcCBuaWV0IHdpanppZ2VuIG5hYXIgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczoga2FuIHByb2Nlc3ByaW9yaXRlaXQgbmlldCB3aWp6aWdlbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiAlcyBuaWV0IHVpdHZvZXJlbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiBpcyBtaXNsdWt0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiclcycgdWl0ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQgdmFuICctLWRlbGF5JyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQgdmFuICctLWxvY2FsLWxpbmUnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgwNQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQgdmFuICctLW5pY2UnIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJvbmdlbGRpZ2Ugc25lbGhlaWQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInRlIHZlZWwgYWx0ZXJuYXRpZXZlIHNuZWxoZWRlbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBrYW4gZGV6ZSBuaWV0IG9wZW5lbiBhbHMgc3RhbmRhYXJkaW52b2VyOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IGlzIGdlZW4gYnl0ZS1hcHBhcmFhdCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogaXMgZ2VlbiBUVFkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBrYW4gZ2VlbiBiZXN0dXJpbmdzdGVybWluYWwgdmVya3JpamdlbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogdmhhbmd1cCgpIGlzIG1pc2x1a3Q6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogaXMgbmlldCBvcGVuIHZvb3IgbGV6ZW4tZW4tc2NocmlqdmVuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIHByb2Nlc2dyb2VwIG5pZXQgaW5zdGVsbGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiBwcm9ibGVlbSBtZXQgdmVyZHViYmVsZW4gdmFuIHN0YW5kYWFyZGludm9lciBlbiAtdWl0dm9lcjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiB0ZXJtaW5hbGVpZ2Vuc2NoYXBwZW4gbmlldCBiZXBhbGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMzI1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAiaW5zdGVsbGVuIHZhbiB0ZXJtaW5hbGVpZ2Vuc2NoYXBwZW4gaXMgbWlzbHVrdDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAia2FuIG9zLXJlbGVhc2UtYmVzdGFuZCBuaWV0IG9wZW5lbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiYWFubWFrZW4gdmFuIGhlcmxhYWRiZXN0YW5kICBpcyBtaXNsdWt0OiAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIltkcnVrIG9wIEVudGVyIG9tIGluIHRlIGxvZ2dlbl0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg1OQorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiTnVtTG9jayB1aXQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW1Mb2NrIGFhbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzTG9jayBhYW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICJTY3JvbGxMb2NrIGFhbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiSGludDogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGdlbGV6ZW46ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBpbnZvZXJvdmVybG9vcCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IG9uZ2VsZGlnZSB0ZWtlbmNvbnZlcnNpZSBpbiBnZWJydWlrZXJzbmFhbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBvbmdlbGRpZyB0ZWtlbiAweCV4IGluIGdlYnJ1aWtlcnNuYWFtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBrYW4gdGVybWluYWxlaWdlbnNjaGFwcGVuIG5pZXQgaW5zdGVsbGVuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisiICAlMSRzIFtvcHRpZXNdIDxsaWpuPiA8YmF1ZHJhdGU+LC4uLiBbPHRlcm1pbmFsdHlwZT5dXG4iCisiICAlMSRzIFtvcHRpZXNdIDxiYXVkcmF0ZT4sLi4uIDxsaWpuPiBbPHRlcm1pbmFsdHlwZT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMAorbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICJPcGVudCBlZW4gdGVybWluYWwgZW4gc3RlbHQgZGllbnMgbW9kdXMgaW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMworbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICBlZW4gOC1iaXRzIHRlcm1pbmFsIGFhbm5lbWVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNAorbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIgIC1hLCAtLWF1dG9sb2dpbiA8Z2VicnVpa2VyPiAgIGRlemUgPGdlYnJ1aWtlcj4gYXV0b21hdGlzY2ggaW5sb2dnZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM1Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiICAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgIGJlc3R1cmluZ3Ntb2R1cyBuaWV0IHJlc2V0dGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiICAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgIG9wdGllICctciA8aG9zdG5hYW0+JyBnZWJydWlrZW4gYmlqICdsb2dpbicoMSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgIC1mLCAtLWlzc3VlLWZpbGUgPGJlc3RhbmQ+ICAgIGRpdCA8YmVzdGFuZD4gYWxzICdpc3N1ZSctYmVzdGFuZCB3ZWVyZ2V2ZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiICAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgIGhhcmR3YXJlLWZsb3ctY29udHJvbCBpbnNjaGFrZWxlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAgLUgsIC0taG9zdCA8aG9zdG5hYW0+ICAgICBuYWFtIHZhbiBob3N0IHdhYXJvcCBpbiB0ZSBsb2dnZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgIGhldCAnaXNzdWUnLWJlc3RhbmQgbmlldCB3ZWVyZ2V2ZW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIgIC1JLCAtLWluaXQtc3RyaW5nIDx0ZWtlbnJlZWtzPiAgdGUgZ2VicnVpa2VuIGluaXRpYWxpc2F0aWV0ZWtlbnJlZWtzXG4iCisKKyMgRklYTUU6IGNvbW1hCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDIKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC1KLCAtLW5vY2xlYXIgICAgICAgICAgICAgc2NoZXJtIG5pZXQgd2lzc2VuIHZvb3IgdG9uZW4gdmFuIHByb21wdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAgLWwsIC0tbG9naW4tcHJvZ3JhbSA8YmVzdGFuZD4gICB0ZSBnZWJydWlrZW4gJ2xvZ2luJy1wcm9ncmFtbWFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIgIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2R1cz5dICAgIGVlbiBsb2thbGUgbGlqbiBhZmR3aW5nZW4gKG9mIHVpdHNjaGFrZWxlbilcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICBiYXVkcmF0ZSBiZXBhbGVuIHRpamRlbnMgdmVyYmluZGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgbmlldCBvbSBsb2dpbiBwcm9tcHRlblxuIgorCisjIEZJWE1FOiBjb21tYQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAgLU4sIC0tbm9uZXdsaW5lICAgICAgICAgICBnZWVuIG5pZXV3ZSByZWdlbCB3ZWVyZ2V2ZW4gdm9vciAnaXNzdWUnXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdGllcz4gIG9wdGllcyBkaWUgYWFuICdsb2dpbicgZG9vcmdlZ2V2ZW4gd29yZGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgIG1ldCBsb2dpbiB3YWNodGVuIHRvdCBlZW4gdG9ldHNhYW5zbGFnXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLXIsIC0tY2hyb290IDxtYXA+ICAgICAgICBob29mZG1hcCB3aWp6aWdlbiBuYWFyIGRlemUgPG1hcD5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgZWVuIHZpcnR1ZWxlICdoYW5ndXAnIGRvZW4gb3AgZGUgdGVybWluYWxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgYmF1ZHJhdGUgcHJvYmVyZW4gdGUgYmVob3VkZW4gbmEgZWVuICdicmVhaydcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgIC10LCAtLXRpbWVvdXQgPGdldGFsPiAgICAgdGlqZHNsaW1pZXQgdm9vciBsb2dpbi1wcm9jZXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiICAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgIGVlbiB0ZXJtaW5hbCBtZXQgYWxsZWVuIGhvb2ZkbGV0dGVycyBkZXRlY3RlcmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgd2FjaHRlbiBvcCBDUi10ZWtlbiAoY2FycmlhZ2UtcmV0dXJuKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgIC0tbm9oaW50cyAgICAgICAgICAgICBnZWVuIGhpbnRzIG92ZXIgTG9jay10b2V0c2VuIGdldmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgZ2VlbiBob3N0bmFhbSB0b25lblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTgKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIgICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgdm9sbGVkaWdlIGhvc3RuYWFtIHRvbmVuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgICAtLWVyYXNlLWNoYXJzIDx0ZWtlbnM+ICAgIGV4dHJhIGJhY2tzcGFjZS10ZWtlbnNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgICAtLWtpbGwtY2hhcnMgPHRla2Vucz4gICAgIGV4dHJhIHJlZ2Vsd2lzLXRla2Vuc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgICAtLWNoZGlyIDxtYXA+ICAgICAgICAgdsOzw7NyIGRlIGFhbm1lbGRpbmcgbmFhciBkZXplIG1hcCBnYWFuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MgorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAgICAgLS1kZWxheSA8Z2V0YWw+ICAgICAgIGRpdCBhYW50YWwgc2Vjb25kZW4gc2xhcGVuIHbDs8OzciB0b25lbiB2YW4gcHJvbXB0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAgICAgIC0tbmljZSA8Z2V0YWw+ICAgICAgICAnbG9naW4nIGRyYWFpZW4gbWV0IGRlemUgcHJpb3JpdGVpdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjQKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgIC0tcmVsb2FkICAgICAgICAgICAgICBwcm9tcHRzIGhlcm5pZXV3ZW4gb3AgcmVlZHMgZHJhYWllbmRlIGFnZXR0eSdzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgIC1ULCAtLWxpc3QtdHlwZXMgICAgYmVrZW5kZSBwYXJ0aXRpZXR5cGVuIG9wc29tbWVuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIGdlYnJ1aWtlciIKK21zZ3N0clsxXSAiJWQgZ2VicnVpa2VycyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICInY2hlY2tuYW1lJyBpcyBtaXNsdWt0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJrYW4gYmVzdGFuZCAlcyBuaWV0IGFhbnJha2VuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAib3B0aWUgJy0tcmVsb2FkJyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIG9wIHV3IHN5c3RlZW0iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFsgeSB8IG4gXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OQorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIlJlZ2VsdCBkZSBzY2hyaWpmdG9lZ2FuZyB2YW4gYW5kZXJlIGdlYnJ1aWtlcnMgdG90IHV3IHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgdG9uZW4gd2F0IGVyIGdlZGFhbiB3b3JkdFxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSgpIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgImlzICd5JyAoamEpIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICJpcyAnbicgKG5lZSkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJ2ZXJhbmRlcmluZyB2YW4gbW9kdXMgdmFuICVzIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgInNjaHJpamZ0b2VnYW5nIHRvdCB1dyB0ZXJtaW5hbCBpcyB0b2VnZXN0YWFuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgInNjaHJpamZ0b2VnYW5nIHRvdCB1dyB0ZXJtaW5hbCBpcyBnZXdlaWdlcmQiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAib25nZWxkaWcgYXJndW1lbnQ6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFtiZXN0YW5kXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiTWFha3QgZWVuIGV4YWN0IGFmc2NocmlmdCB2YW4gZWVuIHRlcm1pbmFsc2Vzc2llLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworIywgZnV6enkKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKyIgIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIGFhbiBoZXQgdWl0dm9lcmJlc3RhbmQgdG9ldm9lZ2VuXG4iCisiICAtYywgLS1jb21tYW5kIE9QRFJBQ0hUICBkZXplIG9wZHJhY2h0IHVpdHZvZXJlbiBpLnAudi4gaW50ZXJhY3RpZXZlIHNoZWxsXG4iCisiICAtZSwgLS1yZXR1cm4gICAgICAgICAgICBkZSBhZnNsdWl0d2FhcmRlIHZhbiBoZXQgZG9jaHRlcnByb2NlcyByZXRvdXJuZXJlblxuIgorIiAgLWYsIC0tZmx1c2ggICAgICAgICAgICAgYnVmZmVyIGxlZWdtYWtlbiBuYSBlbGtlIHNjaHJpamZvcGRyYWNodFxuIgorIiAgICAgIC0tZm9yY2UgICAgICAgICAgICAgdWl0dm9lcmJlc3RhbmQgb29rIGdlYnJ1aWtlbiBhbHMgaGV0IGVlbiBrb3BwZWxpbmcgaXNcbiIKKyIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGdlZW4gbWVsZGluZ2VuIGdldmVuXG4iCisiICAtdCwgLS10aW1pbmdbPUJFU1RBTkRdICB0aW1pbmdzZ2VnZXZlbnMgbmFhciBzdGFuZGFhcmRmb3V0dWl0dm9lciAob2YgYmVzdGFuZClcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHByb2dyYW1tYXZlcnNpZSB0b25lbiBlbiBzdG9wcGVuXG4iCisiICAtaCwgLS1oZWxwICAgICAgICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lbiBlbiBzdG9wcGVuXG4iCisiXG4iCisKKyMgRklYTUU6IGJhY2t0aWNrCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisidWl0dm9lcmJlc3RhbmQgJyVzJyBpcyBlZW4gc3ltYm9saXNjaGUga29wcGVsaW5nO1xuIgorImdlYnJ1aWsgJy0tZm9yY2UnIGFscyB1IGRlemUgZWNodCB3aWx0IGdlYnJ1aWtlbi5cbiIKKyJTY3JpcHQgaXMgbmlldCBnZXN0YXJ0LiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGlzIGJlw6tpbmRpZ2QsIGhldCBiZXN0YW5kIGhlZXQgJyVzJy5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgImthbiBzY3JpcHRiZXN0YW5kIG5pZXQgc2NocmlqdmVuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiU2Vzc2llIGlzIGJlw6tpbmRpZ2QuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlc1xuIgorbXNnc3RyICJTY3JpcHQgaXMgZ2VzdGFydCBvcCAlcy4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNjcmlwdCBpcyBiZcOraW5kaWdkIG9wICVzLiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSgpIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJvbnZvbGRvZW5kZSBQVFkncyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGlzIGdlc3RhcnQsIGhldCBiZXN0YW5kIGhlZXQgJyVzJy5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbLXRdIHRpbWluZ3NiZXN0YW5kIFtzY3JpcHRiZXN0YW5kIFt2ZXJzbmVsbGluZ11dXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDgKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiU3BlZWx0IHRlcm1pbmFsc2Vzc2llLXNjcmlwdHMgYWYsIGdlYnJ1aWsgbWFrZW5kIHZhbiB0aW1pbmdzaW5mb3JtYXRpZS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorIywgZnV6enkKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKyIgIC10LCAtLXRpbWluZyA8YmVzdGFuZD4gICAgICB0ZSBnZWJydWlrZW4gc2NyaXB0LXRpbWluZ3NiZXN0YW5kXG4iCisiICAtcywgLS10eXBlc2NyaXB0IDxiZXN0YW5kPiAgdGUgZ2VicnVpa2VuIHRlcm1pbmFsc2Vzc2llLXNjcmlwdGJlc3RhbmRcbiIKKyIgIC1kLCAtLWRpdmlzb3IgPGdldGFsPiAgICAgICBkZSB1aXR2b2VyaW5nIHZlcnNuZWxsZW4gbWV0IGRlemUgZmFjdG9yXG4iCisiICAtbSwgLS1tYXhkZWxheSA8Z2V0YWw+ICAgICAgbWF4aW11bSBhYW50YWwgc2Vjb25kZW4gdHVzc2VuIHVwZGF0ZXNcbiIKKyIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJzY2hyaWp2ZW4gbmFhciBzdGFuZGFhcmR1aXR2b2VyIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIm9udmVyd2FjaHQgZWluZGUgdmFuIGJlc3RhbmQgb3AgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAia2FuIHNjcmlwdGJlc3RhbmQgJXMgbmlldCBsZXplbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJvbmp1aXN0IGFhbnRhbCBhcmd1bWVudGVuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAia2FuIHRpbWluZ3NiZXN0YW5kICVzIG5pZXQgbGV6ZW4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgInRpbWluZ3NiZXN0YW5kICVzOiByZWdlbCAlbHUgaGVlZnQgb252ZXJ3YWNodGUgb3BtYWFrIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJvbmp1aXN0IGFyZ3VtZW50OiAnYnJpZ2h0ICVzJyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJ0ZSB2ZWVsIHRhYnMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MgorbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICJTdGVsdCBkZSBlaWdlbnNjaGFwcGVuIHZhbiBkZSB0ZXJtaW5hbCBpbi5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPGtsZXVyPiBpcyBibGFja3xibHVlfHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIgorCisjIEZJWE1FOiBjb25jYXQgd2l0aCBuZXh0CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgIC0tcG93ZXJzYXZlIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICJkdWJiZWwgZ2VicnVpayB2YW4gZWVuIG9wdGllIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDAKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgImthbiBzY2hlcm0gbmlldCBvcCB6d2FydCB6ZXR0ZW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJrYW4gc2NoZXJtIG5pZXQgdWl0IHp3YXJ0c3RhbmQgaGFsZW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJrYW4gc2NoZXJtdG9lc3RhbmQgbmlldCBvcHZyYWdlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAia2FuIGR1bXBiZXN0YW5kICVzIG5pZXQgb3BlbmVuIG9tIHRlIHNjaHJpanZlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRlcm1pbmFsICVzIG9uZGVyc3RldW50ICVzIG5pZXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICJzZW1jdGwoKSBpcyBtaXNsdWt0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKKyMsIGZ1enp5Cittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAiSW5sb2dnZW4gZG9vciAlcyBvcCBkZXplIHRlcm1pbmFsIGlzIGdld2VpZ2VyZC4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjdXJzb3IgcG9zaXRpb246ICVzIgorbXNnc3RyICJvbmdlbGRpZ2Ugb3B0aWUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAia2FuIHN0cm9vbWJlc3BhcmluZ3Ntb2R1cyBuaWV0IGluc3RlbGxlbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bCgpIGlzIG1pc2x1a3QiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIGlzIG5pZXQgZ2VkZWZpbmllZXJkLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAia2FuICd0ZXJtaW5mbyctZ2VnZXZlbnNiYW5rIG5pZXQgdmluZGVuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiBvbmJla2VuZCB0ZXJtaW5hbHR5cGUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAidGVybWluYWwgaXMgZWVuIHRlbGV4IG9mIHByaW50ZXIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICIqKmludGVybmUgcHJvZ3JhbW1hZm91dCoqOiB0ZSB2ZWVsIElPVi1zIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgImV4Y2Vzc2llZiBsYW5nIGFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbmVuIGlzIG1pc2x1a3QiCisKKyMgRklYTUU6IGNyeXB0aWMKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrKCk6ICVtIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAia2FuIGdlZW4gbmlldXcgcHJvY2VzIHN0YXJ0ZW4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogU0xFQ0hURSBGT1VUTUVMRElORywgYmVyaWNodCBpcyB2ZWVsIHRlIGxhbmciCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGJlc3RhbmQ+IHwgPGJlcmljaHQ+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIlN0dXVydCBlZW4gYmVyaWNodCBuYWFyIGFsbGUgZ2VicnVpa2Vycy5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiAgLWcsIC0tZ3JvdXAgPGdyb2VwPiAgICAgICAgICAgICB0ZSBnZWJydWlrZW4gcHJpbWFpcmUgZ3JvZXBcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgIC1uLCAtLW5vYmFubmVyICAgICAgICAgZ2VlbiBrb3ByZWdlbHMgdG9uZW4gKHdlcmt0IGFsbGVlbiB2b29yIHJvb3QpXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgIC10LCAtLXRpbWVvdXQgPGR1dXI+ICAgbmEgZGl0IGFhbnRhbCBzZWNvbmRlbiBoZXQgc2NocmlqdmVuIG9wZ2V2ZW5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIHBlcmlvZGUtYXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlYzogb25iZWtlbmRlIG9wZHJhY2h0IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxNjcKK21zZ2lkICJnZXRncm91cGxpc3QgZm91bmQgbW9yZSBncm91cHMgdGhhbiBzeXNjb25mIGFsbG93cyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICJvcHRpZSAnLS1ub2Jhbm5lcicgaXMgYWxsZWVuIGJlc2NoaWtiYWFyIHZvb3Igcm9vdCIKKworIzogdGVybS11dGlscy93YWxsLmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgIm9uZ2VsZGlnZSB0aWpkc2xpbWlldDogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAia2FuIGdlYnJ1aWtlcnMtSUQgbmlldCBhY2h0ZXJoYWxlbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAia2FuIG5hYW0gdmFuIHRlcm1pbmFsIG5pZXQgYWNodGVyaGFsZW4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIkJlcmljaHQgYWFuIGFsbGVuIHZhbiAlc0AlcyAoJXMpICglcyk6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgInphbCAlcyBuaWV0IGxlemVuOyAgZ2VicnVpayBzdGFuZGFhcmRpbnZvZXIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIDxnZWJydWlrZXI+IFs8dGVybWluYWxuYWFtPl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICJTdHV1cnQgZWVuIGJlcmljaHQgbmFhciBlZW4gYW5kZXJlIGdlYnJ1aWtlci5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICJlZmZlY3RpZXZlIEdJRCBrb210IG5pZXQgb3ZlcmVlbiBtZXQgZ3JvZXAgdmFuICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIGlzIG5pZXQgaW5nZWxvZ2QiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAia2FuIGRlIG5hYW0gdmFuIHV3IHRlcm1pbmFsIG5pZXQgdmluZGVuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiJXMgaGVlZnQgYmVyaWNodGVuIHVpdGdlemV0IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMgaXMgbWVlcmRlcmUga2VyZW4gaW5nZWxvZ2Q7IGVyIHdvcmR0IGdlc2NocmV2ZW4gbmFhciAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMoKSBpcyBtaXNsdWt0IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIkJlcmljaHQgdmFuICVzQCVzIChhbHMgJXMpIG9wICVzIG9tICUwMmQ6JTAyZC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiQmVyaWNodCB2YW4gJXNAJXMgb3AgJXMgb20gJTAyZDolMDJkLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ1IGhlYnQgYmVyaWNodGVudG9lZ2FuZyB1aXRnZXpldCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyBpcyBuaWV0IGluZ2Vsb2dkIG9wICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgaGVlZnQgYmVyaWNodGVuIHVpdGdlemV0IG9wICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICJGaWx0ZXJ0IGFjaHRlcndhYXJ0c2UgcmVnZWxvcHNjaHVpdmluZ2VuIHdlZy5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisiXG4iCisiT3B0aWVzOlxuIgorIiAgLWIsIC0tbm8tYmFja3NwYWNlcyAgIGdlZW4gYmFja3NwYWNlcyBwcm9kdWNlcmVuXG4iCisiICAtZiwgLS1maW5lICAgICAgICAgICAgaGFsdmUgdm9vcndhYXJ0c2UgcmVnZWxvcHNjaHVpdmluZyB0b2VzdGFhblxuIgorIiAgLXAsIC0tcGFzcyAgICAgICAgICAgIG9uYmVrZW5kZSBzdHV1cmNvZGVyZWVrc2VuIGRvb3JnZXZlblxuIgorIiAgLWgsIC0tdGFicyAgICAgICAgICAgIHNwYXRpZXMgb216ZXR0ZW4gaW4gdGFic1xuIgorIiAgLXgsIC0tc3BhY2VzICAgICAgICAgIHRhYnMgb216ZXR0ZW4gaW4gc3BhdGllc1xuIgorIiAgLWwsIC0tbGluZXMgQUFOVEFMICAgIG1pbnN0ZW5zIGRpdCBhYW50YWwgcmVnZWxzIGJ1ZmZlcmVuXG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW5cbiIKKyIgIC1ILCAtLWhlbHAgICAgICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lbiBlbiBzdG9wcGVuXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMga2VlciBnZWxlemVuIHZhbiBzdGFuZGFhcmRpbnZvZXIgZW4gZ2VzY2hyZXZlbiBuYWFyIHN0YW5kYWFyZHVpdHZvZXJcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTUKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgIm9uZ2VsZGlnIGFyZ3VtZW50IHZhbiAnLWwnIgorCisjIFZvb3IgJXMgd29yZHQgw6nDqW4gdmFuIGRlIHR3ZWUgbmFrb21lbmRlIGJlcmljaHRqZXMgaW5nZXZ1bGQuCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiV2FhcnNjaHV3aW5nOiBrYW4gbmlldCB0ZXJ1ZyAlcy4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJ0b3QgdsOzw7NyIGVlcnN0ZSByZWdlbCIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0gcmVnZWwgaXMgYWwgZG9vcmdlc2x1aXNkIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGJlc3RhbmQ+Li4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIkZpbHRlcnQgbnJvZmYtdWl0dm9lciB2b29yIGhldCBiZWtpamtlbiBvcCBlZW4gc2NoZXJtLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgIC0sICAtLW5vLXVuZGVybGluaW5nICBhbGxlIG9uZGVyc3RyZXBpbmdlbiBvbmRlcmRydWtrZW5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgIC0yLCAtLWhhbGYtbGluZXMgICAgICBhbGxlIGhhbGZyZWdlbHMgd2VlcmdldmVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkdlYnJ1aWs6ICAlcyBbPGJlZ2lua29sb20+IFs8ZWluZGtvbG9tPl1dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICJGaWx0ZXJ0IGRlIGFhbmdlZ2V2ZW4gdGVrZW5rb2xvbW1lbiB1aXQuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiZWVyc3RlIGFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJ0d2VlZGUgYXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgIm9udGxlZGVuIHZhbiBrbGFzc2UgKGJpaiAnLWMnKSBpcyBtaXNsdWt0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIm9uZ2VkZWZpbmllZXJkIGFhbmtvcHBlbGluZ3NwdW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1vcmRlciBsaXN0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gd2FjaHR0aWpkd2FhcmRlIGlzIG1pc2x1a3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCittc2dzdHIgIm9udGxlZGVuIHZhbiBiZWdpbiBpcyBtaXNsdWt0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gd2FjaHR0aWpkd2FhcmRlIGlzIG1pc2x1a3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICJvbnRsZWRlbiB2YW4gd2FjaHR0aWpkd2FhcmRlIGlzIG1pc2x1a3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAib250bGVkZW4gdmFuIGJlZ2luIGlzIG1pc2x1a3QiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLWhpZGUgbGlzdCIKK21zZ3N0ciAib250bGVkZW4gdmFuIHdhY2h0dGlqZHdhYXJkZSBpcyBtaXNsdWt0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICJyZXNlcnZlcmVuIHZhbiBnZWhldWdlbiB2b29yIHVpdHZvZXJ0YWJlbCBpcyBtaXNsdWt0IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNworbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiWmV0IGRlIGludm9lciBpbiBrb2xvbW1lbi5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgZWVuIHRhYmVsIHByb2R1Y2VyZW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAgLW4sIC0tbmFtZT08cHJvZ3JhbW1hbmFhbT4gICAgZm91dGVuIHJhcHBvcnRlcmVuIG9uZGVyIGRlemUgbmFhbVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MgorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC14LCAtLXNvcnQgPGtvbG9tPiAgICB1aXR2b2VyIHNvcnRlcmVuIG9wIGRlemUgPGtvbG9tPlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MworIywgZnV6enkKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zIDxsaWpzdD4gICAgIGtvbW1hZ2VzY2hlaWRlbiBsaWpzdCB2YW4gd2lzc2VsZ2VoZXVnZW5vcHRpZXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICBnZWVuIGtvcHJlZ2VsIHRvbmVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZ2VlbiBrb3ByZWdlbCB0b25lblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OAorbXNnaWQgIiAtUiwgLS10YWJsZS1yaWdodCA8Y29sdW1ucz4gICAgICByaWdodCBhbGlnbiB0ZXh0IGluIHRoZXNlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgdGVrc3QgaW4gZGUga29sb21tZW4gbmlldCBhZmthcHBlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MAorbXNnaWQgIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCBmb3IgdGFibGVcbiIKK21zZ3N0ciAiICAtSiwgLS1qc29uICAgICAgICAgICAgICAgIHVpdHZvZXIgaW4gSlNPTi1vcG1hYWsgcHJvZHVjZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiICAtTywgLS1vdXRwdXQgPGxpanN0PiAgICAgIHRlIHRvbmVuIGtvbG9tbWVuIGluIGRlIHVpdHZvZXIgdmFuICctLWxpc3QnXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAgLWcsIC0tZ3JvdXAgPGdyb2VwPiAgICAgICAgICAgICB0ZSBnZWJydWlrZW4gcHJpbWFpcmUgZ3JvZXBcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1jLCAtLWNvbHVtbnMgPGJyZWVkdGU+ICAgIGJyZWVkdGUgdmFuIGRlIHVpdHZvZXIgaW4gYWFudGFsIHRla2Vuc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisiICAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDx0ZWtlbnJlZWtzPiAgICBrb2xvbXNjaGVpZGVyIHZvb3IgdGFiZWxsZW51aXR2b2VyO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFhcmQgemlqbiB0d2VlIHNwYXRpZXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiICAtcywgLS1zZXBhcmF0b3IgPHRla2Vucz4gICBtb2dlbGlqa2Ugc2NoZWlkaW5nc3Rla2VucyB2b29yIHRhYmVsbGVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAteCwgLS1maWxscm93cyAgICAgICAgICAgICByaWplbiBlZXJkZXIgdnVsbGVuIGRhbiBrb2xvbW1lblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAib25nZWxkaWcgYWFudGFsIGtvbG9tbWVuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIG5hbWVzIgorbXNnc3RyICJvbnRsZWRlbiB2YW4ga2xhc3NlIChiaWogJy1jJykgaXMgbWlzbHVrdCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTEKK21zZ2lkICJvcHRpb25zIC0tdHJlZS1pZCBhbmQgLS10cmVlLXBhcmVudCBhcmUgcmVxdWlyZWQgZm9yIHRyZWUgZm9ybWF0dGluZyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxOQorbXNnaWQgIm9wdGlvbiAtLXRhYmxlIHJlcXVpcmVkIGZvciBhbGwgLS10YWJsZS0qIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODIyCittc2dpZCAib3B0aW9uIC0tdGFibGUtY29sdW1ucyByZXF1aXJlZCBmb3IgLS1qc29uIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSA8YmVzdGFuZD4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU5Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIlRvb250IGRlIGJlc3RhbmRzaW5ob3VkIGluIGhleGFkZWNpbWFhbCwgZGVjaW1hYWwsIG9jdGFhbCwgb2YgQVNDSUkuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiICAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIGVua2VsLWJ5dGVzIG9jdGFsZSB3ZWVyZ2F2ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIgIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgZW5rZWwtYnl0ZXMtdGVrZW53ZWVyZ2F2ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiICAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWVrZSBoZXgrQVNDSUktd2VlcmdhdmVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d2VlLWJ5dGVzIGRlY2ltYWxlIHdlZXJnYXZlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiICAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3ZWUtYnl0ZXMgb2N0YWxlIHdlZXJnYXZlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiICAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3ZWUtYnl0ZXMgaGV4YWRlY2ltYWxlIHdlZXJnYXZlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiICAtTCwgLS1jb2xvcls9PHdhbm5lZXI+XSAgIGtsZXVyc3BlY2lmaWNhdGllcyBpbnRlcnByZXRlcmVuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAgLWUsIC0tZm9ybWF0IDxvcG1hYWs+ICAgICBvcG1hYWt0ZWtlbnJlZWtzIHZvb3Igd2VlcmdhdmUgdmFuIGdlZ2V2ZW5zXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIgIC1mLCAtLWZvcm1hdC1maWxlIDxiZXN0YW5kPiAgIGRlIG9wbWFha3Rla2VucmVla3NlbiB1aXQgZGl0IGJlc3RhbmQgbGV6ZW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiAgLW4sIC0tbGVuZ3RoIDxhYW50YWw+ICAgICBzbGVjaHRzIGRpdCBhYW50YWwgYnl0ZXMgdmFuIGRlIGludm9lciB2ZXJ3ZXJrZW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCittc2dzdHIgIiAgLXMsIC0tc2tpcCA8YWFudGFsPiAgICAgICBkaXQgYWFudGFsIGJ5dGVzIGFhbiBoZXQgYmVnaW4gb3ZlcnNsYWFuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiICAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIGlkZW50aWVrZSByZWdlbHMgb29rIHdlZXJnZXZlblxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgImFsbGUgaW52b2VyYmVzdGFuZHNhcmd1bWVudGVuIHppam4gcGF0YXQiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAib25nZWxkaWcgYnl0ZS1hYW50YWwgdm9vciBjb252ZXJzaWV0ZWtlbiAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIHZlcmVpc3QgZWVuIHByZWNpc2llIG9mIGVlbiBieXRlLWFhbnRhbCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJvbmdlbGRpZ2Ugb3BtYWFrIHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJvbmdlbGRpZyBjb252ZXJzaWV0ZWtlbiAlJSVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJieXRlLWFhbnRhbCBtZXQgbWVlcmRlcmUgY29udmVyc2lldGVrZW5zIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIkxlZXN0IMOpw6luIHJlZ2VsLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJCbGFkZXJ0IHBhZ2luYWdld2lqcyBkb29yIHRla3N0YmVzdGFuZGVuLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAgLWQgICAgICAgICAgIGh1bHB0ZWtzdCB0b25lbiBpbiBwbGFhdHMgdmFuIGJlbCB0ZSByaW5rZWxlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiICAtZiAgICAgICAgICAgbG9naXNjaGUgcmVnZWxzIGluIHBsYWF0cyB2YW4gc2NoZXJtcmVnZWxzIHRlbGxlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAgLWwgICAgICAgICAgIG5pZXQgcGF1emVyZW4gYmlqIGVlbiAnZm9ybSBmZWVkJ1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICAtYyAgICAgICAgICAgbmlldCBzY3JvbGxlbjsgdGVrc3Qgd2VlcmdldmVuIGVuIHJlZ2VsZWluZGVzIG9wc2Nob25lblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiICAtcCAgICAgICAgICAgbmlldCBzY3JvbGxlbjsgc2NoZXJtIHNjaG9vbm1ha2VuIGVuIHRla3N0IHdlZXJnZXZlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgIC1zICAgICAgICAgICBtZWVyZGVyZSBsZWdlIHJlZ2VscyB0b3QgZWVudGplIHJlZHVjZXJlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiICAtdSAgICAgICAgICAgZ2VlbiBvbmRlcnN0cmVwaW5nZW4gZ2VicnVpa2VuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiICAtPGdldGFsPiAgICAgaGV0IGFhbnRhbCByZWdlbHMgcGVyIHNjaGVybXZvbFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDYKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiAgKzxnZXRhbD4gICAgIGJlc3RhbmQgdG9uZW4gYmVnaW5uZW5kIHZhbmFmIGRpdCByZWdlbG51bW1lclxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiICArLzx0ZWtlbnM+ICAgYmVzdGFuZCB0b25lbiBiZWdpbm5lbmQgdmFuYWYgd2FhciBkZXplIHRla2VucyB2b29ya29tZW5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAib25iZWtlbmRlIG9wdGllICctJXMnIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBtYXAgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IEdlZW4gdGVrc3RiZXN0YW5kICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW0dlYnJ1aWsgUSBvZiBxIG9tIGFmIHRlIHNsdWl0ZW5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tTWVlci0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoVm9sZ2VuZCBiZXN0YW5kOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltEcnVrIG9wIGRlIHNwYXRpZWJhbGsgb20gdmVyZGVyIHRlIGdhYW47ICdxJyBvbSBhZiB0ZSBzbHVpdGVuLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi4lZCBwYWdpbmEgdGVydWciCittc2dzdHJbMV0gIi4uLiVkIHBhZ2luYSdzIHRlcnVnIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi4lZCByZWdlbCBvdmVyc2xhYW5kIgorbXNnc3RyWzFdICIuLi4lZCByZWdlbHMgb3ZlcnNsYWFuZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipUZXJ1ZyoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjg0Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJHZWVuIGVlcmRlcmUgcmVndWxpZXJlIGV4cHJlc3NpZSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJBYW4gZGUgbWVlc3RlIG9wZHJhY2h0ZW4ga2FuIGVlbiBnZWhlZWwgZ2V0YWwgKGspIHZvb3JhZmdhYW4uXG4iCisiRGUgc3RhbmRhYXJkd2FhcmRlIHN0YWF0IHR1c3NlbiByZWNodGUgaGFrZW4uICBFZW4gc3RlciAoKilcbiIKKyJnZWVmdCBhYW4gZGF0IGRlIGdlZ2V2ZW4gayBkZSBuaWV1d2Ugc3RhbmRhYXJkd2FhcmRlIHdvcmR0LlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHNwYXRpZT4gICAgICAgICAgICBEZSB2b2xnZW5kZSBrIHJlZ2VscyB0b25lbiAgW2h1aWRpZ2Ugc2NoZXJtZ3Jvb3R0ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgIERlIHZvbGdlbmRlIGsgcmVnZWxzIHRvbmVuICBbaHVpZGlnZSBzY2hlcm1ncm9vdHRlXSpcbiIKKyI8ZW50ZXI+ICAgICAgICAgICAgIERlIHZvbGdlbmRlIGsgcmVnZWxzIHRvbmVuICBbMV0qXG4iCisiZCBvZiBjdHJsLUQgICAgICAgICBEZSB0ZWtzdCBrIHJlZ2VscyBzY3JvbGxlbiAgWzExXSpcbiIKKyJxIG9mIFEgb2YgY3RybC1DICAgIEFmc2x1aXRlblxuIgorInMgICAgICAgICAgICAgICAgICAgRWVuIHNjaGVybSB2ZXJkZXIgZW4gayByZWdlbHMgb3ZlcnNsYWFuICBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgIEVlbiBzY2hlcm0gdmVyZGVyIGVuIGsgc2NoZXJtZW4gb3ZlcnNsYWFuICBbMV1cbiIKKyJiIG9mIGN0cmwtQiAgICAgICAgIEVlbiBzY2hlcm0gdGVydWcgZW4gayBzY2hlcm1lbiBvdmVyc2xhYW4gIFsxXVxuIgorIj0gICAgICAgICAgICAgICAgICAgSHVpZGlnZSByZWdlbG51bW1lciB0b25lblxuIgorIi88cmVndWxpZXJlIGV4cC4+ICAgRGUgay1kZSBvdmVyZWVua29tc3QgdmFuIGRlemUgZXhwcmVzc2llIHpvZWtlbiAgWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICBEZSBrLWRlIG92ZXJlZW5rb21zdCB2YW4gdm9yaWdlIGV4cHJlc3NpZSB6b2VrZW4gIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgVGVydWcgbmFhciB3YWFyIGRlIHZvcmlnZSB6b2Vrb3BkcmFjaHQgc3RhcnR0ZVxuIgorIiE8Y21kPiBvZiA6ITxjbWQ+ICAgRGUgb3BkcmFjaHQgPGNtZD4gaW4gZWVuIHN1Yi1zaGVsbCB1aXR2b2VyZW5cbiIKKyJ2ICAgICAgICAgICAgICAgICAgIEVkaXRvciBzdGFydGVuIChiZWdpbm5lbmQgb3AgZGUgaHVpZGlnZSByZWdlbClcbiIKKyJjdHJsLUwgICAgICAgICAgICAgIEhldCBzY2hlcm0gdmVydmVyc2VuIChvcG5pZXV3IHRla2VuZW4pXG4iCisiOm4gICAgICAgICAgICAgICAgICBOYWFyIGhldCBrLWRlIHZvbGdlbmRlIGJlc3RhbmQgIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgTmFhciBoZXQgay1kZSB2b3JpZ2UgYmVzdGFuZCAgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICBIdWlkaWdlIGJlc3RhbmRzbmFhbSBlbiByZWdlbG51bW1lciB0b25lblxuIgorIi4gICAgICAgICAgICAgICAgICAgRGUgdm9yaWdlIG9wZHJhY2h0IGhlcmhhbGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW0RydWsgb3AgJ2gnIHZvb3IgaW5zdHJ1Y3RpZXMuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiICByZWdlbCAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW0dlZW4gYmVzdGFuZF0gIHJlZ2VsICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIE92ZXJsb29wXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5vdmVyc2xhYW5kXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1OTgKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBhdHJvb24gbmlldCBnZXZvbmRlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIlBhdHJvb24gbmlldCBnZXZvbmRlbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgImV4ZWMoKSBpcyBtaXNsdWt0XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NjYKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgImthbiBnZWVuIG5pZXV3IHByb2NlcyBzdGFydGVuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uVmVyZGVyICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5WZXJkZXIgbmFhciBiZXN0YW5kICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNgorbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIi4uLlRlcnVnIG5hYXIgYmVzdGFuZCAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJSZWdlbCBpcyB0ZSBsYW5nIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiR2VlbiBlZXJkZXJlIG9wZHJhY2h0IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIGRpdCBodWxwc2NoZXJtIHRvbmVuXG4iCisiICBxIG9mIFEgICAgICAgICAgICAgICAgICBwcm9ncmFtbWEgYWZzbHVpdGVuXG4iCisiICA8RW50ZXI+ICAgICAgICAgICAgICAgICB2b2xnZW5kZSBwYWdpbmFcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHBhZ2luYSBvdmVyc2xhYW5cbiIKKyIgIGQgb2YgXkQgICAgICAgICAgICAgICAgIHZvbGdlbmRlIGhhbHZlIHBhZ2luYVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgdm9sZ2VuZGUgcmVnZWxcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhYXRzdGUgcGFnaW5hXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICB2b29ydWl0IHpvZWtlbiBuYWFyIHJlZ3VsaWVyZSBleHByZXNzaWVcbiIKKyIgID9yZWdleD8gb2YgXnJlZ2V4XiAgICAgIGFjaHRlcnVpdCB6b2VrZW4gbmFhciByZWd1bGllcmUgZXhwcmVzc2llXG4iCisiICAuIG9mIF5MICAgICAgICAgICAgICAgICBzY2hlcm0gdmVydmVyc2VuXG4iCisiICB3IG9mIHogICAgICAgICAgICAgICAgICBwYWdpbmFncm9vdHRlIGluc3RlbGxlbiBlbiBuYWFyIHZvbGdlbmRlIHBhZ2luYVxuIgorIiAgcyBCRVNUQU5EICAgICAgICAgICAgICAgaHVpZGlnZSBiZXN0YW5kIG9wc2xhYW4gaW4gQkVTVEFORFxuIgorIiAgIU9QRFJBQ0hUICAgICAgICAgICAgICAgZGV6ZSBPUERSQUNIVCB1aXR2b2VyZW4gaW4gZGUgc2hlbGxcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIG5hYXIgdm9yaWdlIGJlc3RhbmQgZ2FhblxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgbmFhciB2b2xnZW5kZSBiZXN0YW5kIGdhYW5cbiIKKyJcbiIKKyJWZWVsIG9wZHJhY2h0ZW4gYWNjZXB0ZXJlbiBlZW4gdm9vcmFmZ2FhbmQgZ2V0YWwsIGJpanZvb3JiZWVsZDorMTxFbnRlcj4gKHZvbGdlbmRlIHBhZ2luYSk7IC0xPEVudGVyPiAodm9yaWdlIHBhZ2luYSk7IDE8RW50ZXI+IChlZXJzdGUgcGFnaW5hKS5cbiIKKyJcbiIKKyJaaWUgcGcoMSkgdm9vciBtZWVyIGluZm9ybWF0aWUuXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgICVzIFtvcHRpZXNdIFsrcmVnZWxdIFsrL3BhdHJvb24vXSBbYmVzdGFuZGVuXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiQmxhZGVydCBwYWdpbmFnZXdpanMgZG9vciB0ZWtzdGJlc3RhbmRlbi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiICAtR0VUQUwgICAgICAgYWFudGFsIHJlZ2VscyBwZXIgcGFnaW5hXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIgIC1jICAgICAgICAgICBzY2hlcm0gd2lzc2VuIGFsdm9yZW5zIHdlZXJnYXZlIHRlIGJlZ2lubmVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAgLWUgICAgICAgICAgIG5pZXQgcGF1emVyZW4gYWFuIGVpbmRlIHZhbiBiZXN0YW5kXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDEKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAgLWYgICAgICAgICAgIGxhbmdlIHJlZ2VscyBuaWV0IG9wc3BsaXRzZW5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgIC1uICAgICAgICAgICBvcGRyYWNodCBhZnNsdWl0ZW4gbWV0IHJlZ2VsZWluZGV0ZWtlblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIgIC1wIDxwcm9tcHQ+ICB0ZSBnZWJydWlrZW4gcHJvbXB0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgIC1yICAgICAgICAgICBzaGVsbC1zdHV1cnRla2VucyBuaWV0IHRvZXN0YWFuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgIC1zICAgICAgICAgICBtZWxkaW5nZW4gdG9uZW4gb3Agc3RhbmRhYXJkdWl0dm9lclxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgICtHRVRBTCAgICAgICBiaWogZGl0IHJlZ2VsbnVtbWVyIGJlZ2lubmVuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgICsvcGF0cm9vbi8gICBiaWogcmVnZWwgYmVnaW5uZW4gZGllIGRpdCBwYXRyb29uIGJldmF0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJvcHRpZSB2ZXJlaXN0IGVlbiBhcmd1bWVudCAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAib25nZWxkaWdlIG9wdGllIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY3Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi52ZXJkZXIuLi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLnRlcnVnLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODUKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIkdlZW4gdm9sZ2VuZCBiZXN0YW5kIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiR2VlbiB2b29yZ2FhbmQgYmVzdGFuZCIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiTGVlc2ZvdXQgaW4gYmVzdGFuZCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICJPbnZlcndhY2h0ZSBFT0YgaW4gYmVzdGFuZCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIk9uYmVrZW5kZSBmb3V0IGluIGJlc3RhbmQgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJLYW4gZ2VlbiB0aWpkZWxpamsgYmVzdGFuZCBtYWtlbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkZvdXQgaW4gcmVndWxpZXJlIGV4cHJlc3NpZTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRU9GKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMzAgdGV4dC11dGlscy9wZy5jOjExNTYKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIkdlZW4gZWVyZGVyZSB6b2VrdGVrc3QiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJrYW4gZGV6ZSBuaWV0IG9wZW5lbjogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICJvcGdlc2xhZ2VuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiAhb3BkcmFjaHQgaXMgbmlldCB0b2VnZXN0YWFuIGluIGJlcGVya3RlIG1vZHVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4NworbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmb3JrKCkgaXMgbWlzbHVrdDsgcHJvYmVlciBoZXQgbGF0ZXIgb3BuaWV1d1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKFZvbGdlbmRlIGJlc3RhbmQ6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIKK21zZ3N0ciAiJXMgJXMgQ29weXJpZ2h0IChDKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gIEFsbGUgcmVjaHRlbiB2b29yYmVob3VkZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTk0IHRleHQtdXRpbHMvcGcuYzoxNjY3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAib250bGVkZW4gdmFuIHJlZ2VsYWFudGFsLXBlci1wYWdpbmEgaXMgbWlzbHVrdCIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiR2VicnVpazogICVzIFtvcHRpZXNdIFs8YmVzdGFuZD4uLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODEKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIktlZXJ0IHJlZ2VscyB0ZWtlbnNnZXdpanMgYWNodGVyc3Rldm9yZW4uXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICAlcyBbb3B0aWVzXSBbPGJlc3RhbmQ+Li4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ1Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIk9uZGVyc3RyZWVwdC5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OAorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICAgZGl0IHNvb3J0IHRlcm1pbmFsIGdlYnJ1aWtlbiAoaS5wLnYuICRURVJNKVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiICAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgICBvbmRlcnN0cmVwaW5nIHdvcmR0IGdldG9vbmQgb3AgZWVuIGFwYXJ0ZSByZWdlbFxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJwcm9ibGVtZW4gYmlqIGxlemVuIHZhbiB0ZXJtaW5mbyIKKworIyBGSVhNRTogYmFja3RpY2sKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICJ0ZXJtaW5hbCAnJXMnIGlzIG9uYmVrZW5kOyAnZHVtYicgd29yZHQgZ2VicnVpa3QiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAib25iZWtlbmRlIHN0dXVyY29kZSBpbiBpbnZvZXI6ICVvLCAlbyIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJJbnZvZXJyZWdlbCBpcyB0ZSBsYW5nLiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaWUiCisKKyN+IG1zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKKyN+IG1zZ3N0ciAic29vcnQgdmVyZ3JlbmRlbGluZzogRkxfRkxPQ0sgb2YgRkxfUE9TSVgiCisKKyMgRklYTUU6IGJhY2t0aWNrCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAia2FuICcvYmluL3Vtb3VudCcgdmFuICclcycgbmlldCB1aXR2b2VyZW4iCisKKyN+IG1zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorI34gbXNnc3RyICJvbmdldmVlciAlZCBtaWNyb3NlY29uZGVuIHNsYXBlblxuIgorCisjfiBtc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorI34gbXNnc3RyICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorI34gbXNnc3RyICIgICAgICAtLXZlcmJvc2UgICAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKKyN+IG1zZ3N0ciAibGV6ZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgImthbiAnJXMnIG5pZXQgdWl0dm9lcmVuIgorCisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAibmlldC1vbmRlcnN0ZXVuZCBhbGdvcml0bWU6ICclcyciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRlc3QgbW9kZTogJXMgd2FzIG5vdCB1cGRhdGVkIHdpdGg6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgImFwcGFyYWF0ICVzIGlzIG5pZXQgZ2VyZWxhdGVlcmQgYWFuICVzXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJLYW4gYmVzdGFuZCBtZXQga2xva2FhbnBhc3NpbmdzZ2VnZXZlbnMgKCVzKSBuaWV0IG9wZW5lbiBvbSB0ZSBzY2hyaWp2ZW4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCisjfiBtc2dzdHIgIkthbiBiZXN0YW5kIG1ldCBrbG9rYWFucGFzc2luZ3NnZWdldmVucyAoJXMpIG5pZXQgYmlqd2Vya2VuIgorCisjfiBtc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKKyN+IG1zZ3N0ciAiRGUgcGFyYW1ldGVycyB2b29yIGRlIHZlcnNjaHVpdmluZ3NhYW5wYXNzaW5nIHppam4gbmlldCBiaWpnZXdlcmt0LiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUZXN0IG1vZGU6IGVwb2NoIHdhcyBub3Qgc2V0IHRvICVzLlxuIgorI34gbXNnc3RyICJUaWpkIHZhbiBsYWF0c3RlIHdpanppZ2luZyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtVlxuIgorI34gIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb21tYW5kczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkdlYnJ1aWs6ICAlMSRzIC1WXG4iCisjfiAiICAgICAgICAgICUxJHMgLS1yZXBvcnQgW2FwcGFyYWF0Li4uXVxuIgorI34gIiAgICAgICAgICAlMSRzIFstdnwtcV0gb3BkcmFjaHQuLi4gYXBwYXJhYXQuLi5cbiIKKyN+ICJcbiIKKyN+ICJCZXNjaGlrYmFyZSBvcGRyYWNodGVuOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQmVzY2hpa2JhcmUga29sb21tZW4gKHZvb3IgJy1vLy0tb3V0cHV0JykgemlqbjpcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIidzZWVrJy1mb3V0IGluICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlbjtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBoaWVydm9vciBtb2V0ICctVicgZGUgZW5pZ2Ugb3B0aWUgemlqblxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQmVzY2hpa2JhcmUga29sb21tZW4gKHZvb3IgJy0tc2hvdycsICctLXJhdycgb2YgJy0tcGFpcnMnKSB6aWpuOlxuIgorCisjIERlemUgYnJlZWR0ZSBnZWJydWlrZW4sIG9tIHRlIHBhc3NlbiBiaWogZGUgZ2V3b25lIC0taGVscC4KKyN+IG1zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtdiwgLS12ZXJzaW9uICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJUeXAgJyVzIC0taGVscCcgdm9vciBtZWVyIGluZm9ybWF0aWUuXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjfiBtc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0taGVscCAgICAgICAgICAgICAgICAgICBkZXplIGh1bHB0ZWtzdCB0b25lbiBlbiBzdG9wcGVuXG4iCisKKyN+IG1zZ2lkICJObyBrbm93biBzaGVsbHMuIgorI34gbXNnc3RyICJHZWVuIGJla2VuZGUgc2hlbGxzLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJlc2NoaWtiYXJlIGtvbG9tbWVuOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiICAlcyBbb3B0aWVzXSAtdSA8Z2VicnVpa2VyPiA8b3BkcmFjaHQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJCZXNjaGlrYmFyZSBrb2xvbW1lbiAodm9vciAnLS1vdXRwdXQnKSB6aWpuOlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJUeXAgJyVzIC0taGVscCcgdm9vciBtZWVyIGluZm9ybWF0aWUuXG4iCisKKyN+IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgdG9uZW4gd2F0IGVyIGdlZGFhbiB3b3JkdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtciwgLS1yYW5kb20gICAgICAgZWVuIHRvdGFhbCB3aWxsZWtldXJpZ2UgVVVJRCBnZW5lcmVyZW5cbiIKKyN+ICIgIC10LCAtLXRpbWUgICAgICAgICBlZW4gb3AgaHVpZGlnZSB0aWpkIGdlYmFzZWVyZGUgVVVJRCBnZW5lcmVyZW5cbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyN+ICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWEsIC0tYWxsICAgICAgICAgICBhbGxlIG1hZ2lzY2hlIHRla2VucmVla3NlbiB3aXNzZW4gKFdFRVQgV0FUIFUgRE9FVCEpXG4iCisjfiAiICAtYiwgLS1iYWNrdXAgICAgICAgIHJlc2VydmVrb3BpZSB2YW4gdmluZ2VyYWZkcnVrIG1ha2VuIGluICRIT01FXG4iCisjfiAiICAtZiwgLS1mb3JjZSAgICAgICAgIGhldCB3aXNzZW4gYWZkd2luZ2VuXG4iCisjfiAiICAtaCwgLS1oZWxwICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuXG4iCisjfiAiICAtbiwgLS1uby1hY3QgICAgICAgIGRvZW4gYWxzb2Y6IGFsbGVzIGJlaGFsdmUgaGV0IGZlaXRlbGlqa2Ugc2NocmlqdmVuXG4iCisjfiAiICAtbywgLS1vZmZzZXQgR0VUQUwgIHN0YXJ0cG9zaXRpZSB2b29yIHdpc3NlbiwgaW4gYnl0ZXNcbiIKKyN+ICIgIC1wLCAtLXBhcnNhYmxlICAgICAgaGVyYnJ1aWtiYXJlIGkucC52LiBsZWVzYmFyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKyN+ICIgIC1xLCAtLXF1aWV0ICAgICAgICAgZ2VlbiB1aXR2b2VyYmVyaWNodGVuIHByb2R1Y2VyZW5cbiIKKyN+ICIgIC10LCAtLXR5cGVzIExJSlNUICAgYWxsZWVuIGRlemUgYmVzdGFuZHNzeXN0ZW1lbiwgUkFJRHMgb2YgcGFydGl0aWV0YWJlbGxlblxuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorI34gbXNnc3RyICJEZSBoYXJkd2FyZWtsb2sgYmV2YXQgd2FhcmRlbiBkaWUgb2Z3ZWwgb25qdWlzdCB6aWpuIChiaWp2b29yYmVlbGQgZGUgNTBlIGRhZyB2YW4gZGUgbWFhbmQpIG9mIGJ1aXRlbiBoZXQgb25kZXJzdGV1bmRlIGJlcmVpayB2YWxsZW4gKGJpanZvb3JiZWVsZCBoZXQgamFhciAyMDk1KS4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICJEZSBoYXJkd2FyZWtsb2sgYmV2YXQgZ2VlbiBnZWxkaWdlIHRpamQsIHpvZGF0IGRlIHN5c3RlZW10aWpkIGVyIG5pZXQgbWVlIGluZ2VzdGVsZCBrYW4gd29yZGVuLiIKKworI34gbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisjfiBtc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyN+IG1zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKKyN+IG1zZ3N0ciAiVSBtb2V0IHJvb3QgemlqbiBvbSBkZSBzeXN0ZWVta2xvayBpbiB0ZSBrdW5uZW4gc3RlbGxlbi4iCisKKyN+IG1zZ2lkICJcdFVUQzogJXNcbiIKKyN+IG1zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyN+IG1zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorI34gbXNnc3RyICIiCisjfiAiRGUgdmVyc2NodWl2aW5nc2ZhY3RvciB3b3JkdCBuaWV0IGFhbmdlcGFzdCxcbiIKKyN+ICJvbWRhdCBkZSBoYXJkd2FyZWtsb2sgZWVyZGVyIHJvbW1lbCBiZXZhdHRlLlxuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAiRGUgaGFyZHdhcmVrbG9rIGJldmF0IGdlZW4gZ2VsZGlnZSB0aWpkLCB6b2RhdCBkaWUgbmlldCBhYW5nZXBhc3Qga2FuIHdvcmRlbi4iCisKKyN+IG1zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiT3AgJWxkIHNlY29uZGVuIG5hIDE5NjkgaXMgZGUgdm9vcnNwZWxkZSB3YWFyZGUgdmFuIFJUQyAlbGQgc2Vjb25kZW4gbmEgMTk2OS5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIlZlcmtyaWpnZW4gdmFuIGRlIHRpamRwZXJrd2FhcmRlIHZhbiBkZSBrZXJuZWwgaXMgbWlzbHVrdC4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIktlcm5lbCBuZWVtdCBhbHMgdGlqZHBlcmt3YWFyZGUgJWx1IGFhbi5cbiIKKworI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIk9tIGRlIHRpamRwZXJrd2FhcmRlIGluIHRlIHN0ZWxsZW4gZGllbnQgdSBkZSBvcHRpZSAtLWVwb2NoIHRlIGdlYnJ1aWtlbi4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJUaWpkcGVyayB3b3JkdCBuaWV0IGluZ2VzdGVsZCBvcCAlbHUgLS0gaW4gdGVzdG1vZHVzLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKKyN+IG1zZ3N0ciAiSW5zdGVsbGVuIHZhbiBkZSB0aWpkcGVya3dhYXJkZSBpbiBkZSBrZXJuZWwgaXMgbWlzbHVrdC5cbiIKKworI34gbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCisjfiBtc2dzdHIgIkxlZXN0IGRlIGhhcmR3YXJla2xvayBvZiBzdGVsdCBkZXplIGluLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgLS1nZXQgICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCBkcmlmdCBjb3JyZWN0ZWQgcmVzdWx0XG4iCisjfiAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuXG4iCisjfiAiICAtciwgLS1zaG93ICAgICAgICBkZSBoYXJkd2FyZWtsb2sgbGV6ZW4gZW4gaGV0IHJlc3VsdGFhdCB0b25lblxuIgorI34gIiAgICAgIC0tZ2V0ICAgICAgICAgZGUgaGFyZHdhcmVrbG9rIGxlemVuIGVuIGRyaWZ0Z2Vjb3JyaWdlZXJkIHJlc3VsdGFhdCB0b25lblxuIgorI34gIiAgICAgIC0tc2V0ICAgICAgICAgZGUgaGFyZHdhcmVrbG9rIGluc3RlbGxlbiBvcCBkZSB0aWpkIGdlZ2V2ZW4gbWV0ICctLWRhdGUnXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLXMsIC0taGN0b3N5cyAgICAgYWFuIGRlIGhhbmQgdmFuIGRlIGhhcmR3YXJla2xvayBkZSBzeXN0ZWVta2xvayBpbnN0ZWxsZW5cbiIKKyN+ICIgIC13LCAtLXN5c3RvaGMgICAgIGFhbiBkZSBoYW5kIHZhbiBkZSBzeXN0ZWVta2xvayBkZSBoYXJkd2FyZWtsb2sgaW5zdGVsbGVuXG4iCisjfiAiICAgICAgLS1zeXN0eiAgICAgICBkZSBzeXN0ZWVta2xvayBpbnN0ZWxsZW4gYWFuIGRlIGhhbmQgdmFuIGRlIHRpamR6b25lXG4iCisjfiAiICAgICAgLS1hZGp1c3QgICAgICBkZSBoYXJkd2FyZWtsb2sgYWFucGFzc2VuIHRlciBjb21wZW5zYXRpZSB2YW4gc3lzdGVtYXRpc2NoZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2ZXJzY2h1aXZpbmcgc2luZHMgZGUgbGFhdHN0ZSBpbnN0ZWxsaW5nL2FhbnBhc3NpbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgIC0tZ2V0ZXBvY2ggICAgdGlqZHBlcmt3YWFyZGUgdmFuIGRlIGtlcm5lbCB0b25lblxuIgorI34gIiAgICAgIC0tc2V0ZXBvY2ggICAgdGlqZHBlcmt3YWFyZGUgdmFuIGRlIGtlcm5lbCBpbnN0ZWxsZW4gb3AgZGUgd2FhcmRlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGdlZ2V2ZW4gbWV0IGRlIG9wdGllICctLWVwb2NoJ1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAtLXByZWRpY3QgICAgIGhhcmR3YXJla2xva3RpamQgdm9vcnNwZWxsZW4gb3AgbW9tZW50IGdlZ2V2ZW4gbWV0ICctLWRhdGUnXG4iCisjfiAiICAtViwgLS12ZXJzaW9uICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtdSwgLS11dGMgICAgICAgICBkZSBoYXJkd2FyZWtsb2sgYmV2YXQgZGUgZ2Vjb8O2cmRpbmVlcmRlIHVuaXZlcnNlbGUgdGlqZFxuIgorI34gIiAgICAgIC0tbG9jYWx0aW1lICAgZGUgaGFyZHdhcmVrbG9rIGJldmF0IGRlIGxva2FsZSB0aWpkXG4iCisKKyN+IG1zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiICAtZiwgLS1ydGMgPGJlc3RhbmQ+ICB0ZSBnZWJydWlrZW4gUlRDLWJlc3RhbmQgaW4gL2Rldi8gaW4gcGxhYXRzIHZhbiBzdGFuZGFhcmRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAtLXVwZGF0ZS1kcmlmdCAgICAgICAgdmVyc2NodWl2aW5nc2ZhY3RvciBpbiAlMSRzIGJpandlcmtlblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChkaXQgdmVyZWlzdCAnLS1zZXQnIG9mICctLXN5c3RvaGMnKVxuIgorI34gIiAgICAgIC0tbm9hZGpmaWxlICAgICAgICAgICBiZXN0YW5kICUxJHMgbmlldCBnZWJydWlrZW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoc2FtZW4gbWV0ICctLXV0Yycgb2YgJy0tbG9jYWx0aW1lJylcbiIKKyN+ICIgICAgICAtLWFkamZpbGUgPGJlc3RhbmQ+ICAgdGUgZ2VicnVpa2VuIHZlcnNjaHVpdmluZ3MtcmVnaXN0cmF0aWViZXN0YW5kXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHN0YW5kYWFyZCBpcyAlMSRzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyN+ICIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgIC0tdGVzdCAgICAgICAgbmlldHMgZWNodCB3aWp6aWdlbiwgYWxsZWVuIHRvbmVuIHdhdCBnZWRhYW4gem91IHdvcmRlblxuIgorI34gIiAgLUQsIC0tZGVidWcgICAgICAgZGVidWctbW9kdXMgaW5zY2hha2VsZW5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCisjfiBtc2dzdHIgIm9uZ2VsZGlnZSB0aWpkcGVya3dhYXJkZSIKKworI34gbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorI34gbXNnc3RyICJBcHBhcmFhdCAlcyBoZWVmdCBnZWVuIG9uZGVyYnJla2luZ3NmdW5jdGllcy4gIgorCisjfiBtc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCisjfiBtc2dzdHIgImlvY3RsKCkgb3AgJXMgb20gYmlqd2Vya2luZ3NvbmRlcmJyZWtpbmdlbiBhYW4gdGUgemV0dGVuIGlzIG9udmVyd2FjaHQgbWlzbHVrdCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorI34gbXNnc3RyICIiCisjfiAiT20gZGUgdGlqZHBlcmt3YWFyZGUgaW4gZGUga2VybmVsIGFhbiB0ZSBrdW5uZW4gcGFzc2VuLCBpcyB0b2VnYW5nXG4iCisjfiAidG90IGhldCAncnRjJy1zdHV1cnByb2dyYW1tYSB2YW4gTGludXggbm9kaWcgdmlhIGhldCBzcGVjaWFsZVxuIgorI34gImFwcGFyYWF0YmVzdGFuZCAlcy4gIERpdCBiZXN0YW5kIGJlc3RhYXQgbmlldCBvcCBkaXQgc3lzdGVlbS4iCisKKyN+IG1zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKyN+IG1zZ3N0ciAiVGlqZHBlcmt3YWFyZGUgJWx1IGlzIGdlbGV6ZW4gdWl0ICVzIG1ldCBpb2N0bChSVENfRVBPQ0hfUkVBRCkuXG4iCisKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICJEZSB0aWpkcGVya3dhYXJkZSBtYWcgbmlldCBtaW5kZXIgemlqbiBkYW4gMTkwMC4gIFUgdnJvZWcgb20gJWxkLiIKKworI34gbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiSW5zdGVsbGVuIHZhbiB0aWpkcGVya3dhYXJkZSBvcCAlbHUgbmFhciAlcyBtZXQgaW9jdGwoUlRDX0VQT0NIX1NFVCkuXG4iCisKKyN+IG1zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorI34gbXNnc3RyICJIZXQga2VybmVsc3R1dXJwcm9ncmFtbWEgdm9vciAlcyBoZWVmdCBnZWVuIGlvY3RsKFJUQ19FUE9DSF9TRVQpLiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisjfiAiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAtcCwgLS1waWQgPHBpZD4gICAgICAgICBhbGxlZW4gbGltaWV0ZW4gdmFuIGRpdCBwcm9jZXMgdG9uZW5cbiIKKyN+ICIgIC1vLCAtLW91dHB1dCA8bGlqc3Q+ICAgIHRlIHRvbmVuIHVpdHZvZXJrb2xvbW1lblxuIgorI34gIiAgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgZ2VlbiBrb2xvbWtvcHBlbiB3ZWVyZ2V2ZW5cbiIKKyN+ICIgICAgICAtLXJhdyAgICAgICAgICAgICAgIHJhdXdlIHVpdHZvZXJvcG1hYWsgZ2VicnVpa2VuXG4iCisjfiAiICAgICAgLS12ZXJib3NlICAgICAgICAgICBnZWRldGFpbGxlZXJkZXJlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgZGV6ZSBodWxwdGVrc3QgdG9uZW4gZW4gc3RvcHBlblxuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworIyBGSVhNRTogYmFja3RpY2sgLS0gTk8sIHN0YW5kYXJkaXplCisjfiBtc2dpZCAiIgorI34gIiVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzXG4iCisjfiAiVHlwICclcyAtLWhlbHAnIHZvb3IgbWVlciBpbmZvcm1hdGllLiIKKworIyBGSVhNRTogYmFja3RpY2sKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJUeXAgJyVzIC0taGVscCcgdm9vciBtZWVyIGluZm9ybWF0aWUuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJlc2NoaWtiYXJlIGtvbG9tbWVuICh2b29yICctLXNob3cnKSB6aWpuOlxuIgorCisjfiBtc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjfiBtc2dpZCAiIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgICAgICAgICBzaG93IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmFtbWF2ZXJzaWUgdG9uZW4gZW4gc3RvcHBlblxuIgorCisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlemUgaHVscHRla3N0IHRvbmVuIGVuIHN0b3BwZW5cbiIKKworI34gbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtViAgICAgICAgICAgcHJvZ3JhbW1hdmVyc2llIHRvbmVuIGVuIHN0b3BwZW5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBhZGQgZGF0YSB0byBvdXRwdXQgdGFibGUiCisjfiBtc2dzdHIgInRvZXZvZWdlbiB2YW4gZ2VnZXZlbnMgYWFuIHVpdHZvZXJ0YWJlbCBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgImluaXRpYWxpc2VyZW4gdmFuIHVpdHZvZXJyZWdlbCBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorI34gbXNnc3RyICJBcHBhcmFhdCAlcyBiZXZhdCBhbCBlZW4gJXMtdmluZ2VyYWZkcnVrLiIKKworI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogZGUgdm9sZ2VuZGUgb3B0aWVzIGdhYW4gbmlldCBzYW1lbjoiCisKKyN+IG1zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gbXNnc3RyICIgIC1tLCAtLW10YWIgICAgICAgICAgICAgaW4gZGUgdGFiZWwgdmFuIGFhbmdla29wcGVsZGUgYmVzdGFuZHNzeXN0ZW1lbiB6b2VrZW5cbiIKKworI34gbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorI34gbXNnc3RyICJTY2hvcnQgdG9lZ2FuZyB0b3QgZWVuIGJlc3RhbmRzc3lzdGVlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpIG9wLlxuIgorCisjfiBtc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIktsb2sgbmlldCBnZXdpanppZ2QgLS0gaW4gdGVzdG1vZHVzLlxuIgorCisjfiBtc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJFciBpcyBnZWVuIG9wdGllICctLWRhdGUnIGdlZ2V2ZW4uIgorCisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICJhcmd1bWVudCB2YW4gJy0tZGF0ZScgaXMgdGUgbGFuZyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyN+ICJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorI34gbXNnc3RyICIiCisjfiAiSGV0IGFyZ3VtZW50IHZhbiAnLS1kYXRlJyBpcyBnZWVuIGdlbGRpZ2UgZGF0dW0uXG4iCisjfiAiSW4gaGV0IGJpanpvbmRlciBiZXZhdCBoZXQgYWFuaGFsaW5nc3Rla2Vucy4iCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAiVWl0dm9lcmluZyB2YW4gJ2RhdGUnLW9wZHJhY2h0OiAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS2FuICdkYXRlJy1wcm9ncmFtbWEgbmlldCBpbiAvYmluL3NoIHVpdHZvZXJlbjogcG9wZW4oKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJBbnR3b29yZCB2YW4gJ2RhdGUnLW9wZHJhY2h0ID0gJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCB1bmV4cGVjdGVkIHJlc3VsdHMuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJEZSAnZGF0ZSctb3BkcmFjaHQgdWl0Z2V2b2VyZCBkb29yICVzIGdhZiBvbnZlcndhY2h0ZSByZXN1bHRhdGVuLlxuIgorI34gIkRlIG9wZHJhY2h0IHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiSGV0IGFudHdvb3JkIHdhczpcbiIKKyN+ICIgICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEZSAnZGF0ZSctb3BkcmFjaHQgdWl0Z2V2b2VyZCBkb29yICVzIGdhZiBnZWVuIGdlaGVlbCBnZXRhbFxuIgorI34gImRhYXIgd2FhciBkZSBnZWNvbnZlcnRlZXJkZSB0aWpkc3dhYXJkZSB3ZXJkIHZlcndhY2h0LlxuIgorI34gIkRlIG9wZHJhY2h0IHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiSGV0IGFudHdvb3JkIHdhczpcbiIKKyN+ICIgJXNcbiIKKworI34gbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiRGF0dW10ZWtzdCAlcyBpcyBnZWxpamsgYWFuICVsZCBzZWNvbmRlbiBzaW5kcyAxOTY5LlxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCisjfiBtc2dzdHIgIkRlIHN5c3RlZW1rbG9rIHdvcmR0IG5pZXQgaW5nZXN0ZWxkIC0tIGluIHRlc3Rtb2R1cy5cbiIKKworI34gbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCisjfiBtc2dzdHIgIkhldCBiZXN0YW5kIC9ldGMvYWRqdGltZSB3b3JkdCBuaWV0IGFhbmdlcGFzdCAtLSBpbiB0ZXN0bW9kdXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJIZXQgdm9sZ2VuZGUgem91IG5hYXIgJXMgZ2VzY2hyZXZlbiB3b3JkZW46XG4iCisjfiAiJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJEZSBrZXJuZWwgYmV3YWFydCBhbGxlZW4gYmlqIEFscGhhJ3MgZWVuIHRpamRwZXJrd2FhcmRlIHZvb3IgZGUgaGFyZHdhcmVrbG9rLlxuIgorI34gIkRlemUgdmVyc2llIHZhbiAnaHdjbG9jaycgaXMgZ2VtYWFrdCB2b29yIGVlbiBhbmRlciBzeXN0ZWVtIGRhbiBkZSBBbHBoYVxuIgorI34gIihlbiBkcmFhaXQgbnUgZHVzIHZlcm1vZWRlbGlqayBuaWV0IG9wIGVlbiBBbHBoYSkuICBHZWVuIGFjdGllIG9uZGVybm9tZW4uIgorCisjfiBtc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorI34gbXNnc3RyICIgIC1jLCAtLWNvbXBhcmUgICAgIHBlcmlvZGllayBkZSBzeXN0ZWVta2xvayBtZXQgZGUgQ01PUy1rbG9rIHZlcmdlbGlqa2VuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisjfiAiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgIC0tZGlyZWN0aXNhICAgZGUgSVNBLWJ1cyBkaXJlY3QgYmVuYWRlcmVuIGluIHBsYWF0cyB2YW4gdmlhICVzXG4iCisjfiAiICAgICAgLS1iYWR5ZWFyICAgICBoZXQgamFhcnRhbCB2YW4gZGUgaGFyZHdhcmVrbG9rIG5lZ2VyZW4gb21kYXQgZGUgQklPUyBzdHVrIGlzXG4iCisjfiAiICAgICAgLS1kYXRlPVRJSkQgICBkZSB0aWpkIHdhYXJvcCBkZSBoYXJkd2FyZWtsb2sgbW9ldCB3b3JkZW4gaW5nZXN0ZWxkXG4iCisjfiAiICAgICAgLS1lcG9jaD1KQUFSICBoZXQgamFhcnRhbCBkYXQgaGV0IHRpamRwZXJrYmVnaW4gdm9vciBkZSBoYXJkd2FyZWtsb2sgaXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgICAgICAgICAgICAgICBoZXQgc29vcnQgQWxwaGEgZGF0IHUgZ2VicnVpa3QgICh6aWUgaHdjbG9jayg4KSlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJTb3JyeSwgYWxsZWVuIHJvb3Qga2FuIGRlIGhhcmR3YXJla2xvayBpbnN0ZWxsZW4uIgorCisjfiBtc2dpZCAiJXMgdGFrZXMgbm8gbm9uLW9wdGlvbiBhcmd1bWVudHMuICBZb3Ugc3VwcGxpZWQgJWQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlcyBrZW50IGdlZW4gYW5kZXJlIGFyZ3VtZW50ZW4gZGFuIGZ1bmN0aWVzIGVuIG9wdGllcy5cbiIKKyN+ICJVIGdhZiAlZC5cbiIKKworI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICJHZWVuIGJydWlrYmFyZSBpbnN0ZWx0aWpkLiAgS2FuIGtsb2sgbmlldCBpbnN0ZWxsZW4uIgorCisjfiBtc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorI34gbXNnc3RyICIjIyMgb3BnZXN0YXJ0IHZhbnVpdCBNSUxPXG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICIjIyMgUnVmZmlhYW5zZSBCQ0Qta2xva1xuIgorCisjfiBtc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKKyN+IG1zZ3N0ciAiIyMjIGtsb2twb29ydCBhYW5nZXBhc3QgbmFhciAweCV4XG4iCisKKyN+IG1zZ2lkICJmdW5reSBUT1khXG4iCisjfiBtc2dzdHIgIiMjIyB2cmVlbWRlIHRpamQtdmFuLWhldC1qYWFyIVxuIgorCisjfiBtc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKKyN+IG1zZ3N0ciAiYXRvbWlzY2hlICVzIGlzIGR1aXplbmQga2VlciBtaXNsdWt0ISIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICIjIyMgY21vc19yZWFkKCk6IHNjaHJpanZlbiBuYWFyIGJlc3R1cmluZ3NhZHJlcyAlWCBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICIjIyMgY21vc19yZWFkKCk6IGxlemVuIHZhbiBkYXRhLWFkcmVzICVYIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgIiMjIyBjbW9zX3dyaXRlKCk6IHNjaHJpanZlbiBuYWFyIGJlc3R1cmluZ3NhZHJlcyAlWCBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICIjIyMgY21vc193cml0ZSgpOiBzY2hyaWp2ZW4gbmFhciBkYXRhLWFkcmVzICVYIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCisjfiBtc2dzdHIgIkdlZW4gdG9lc3RlbW1pbmcgZ2VrcmVnZW4sIHdhbnQgbmlldCBnZXByb2JlZXJkLiIKKworI34gbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorI34gbXNnc3RyICJLYW4gZ2VlbiBJL08tcG9vcnR0b2VnYW5nIGtyaWpnZW46IGlvcGwoMykgaXMgbWlzbHVrdC4iCisKKyN+IG1zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCisjfiBtc2dzdHIgIldhYXJzY2hpam5saWprIGhlYnQgdSByb290LXByaXZpbGVnZXMgbm9kaWcuXG4iCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgImZvdXQ6IGthbiBnZWVuIHNpZ25hYWx2ZXJ3ZXJrZXIgaW5zdGVsbGVuIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAiZm91dDoga2FuIHNpZ25hYWx2ZXJ3ZXJrZXIgbmlldCBoZXJzdGVsbGVuIgorCisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAiYWxsZWVuIHJvb3Qga2FuICVzIGFhbmtvcHBlbGVuIG9wICVzIgorCisjfiBtc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICIlcyB3b3JkdCBnZWJydWlrdCBhbHMgYWxsZWVuLWxlemVuIGx1czsgd29yZHQgYWxzIGFsbGVlbi1sZXplbiBhYW5nZWtvcHBlbGQiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBFciB6aWpuIG1lZXJkZXJlIGJlc3RhbmRzc3lzdGVtZW4gZ2VkZXRlY3RlZXJkLlxuIgorI34gIiAgICBEaXQgem91IG5pZXQgbW9nZW4gZ2ViZXVyZW4uICBHZWJydWlrICctdCBTT09SVCcgb20gZXhwbGljaWV0IGRlXG4iCisjfiAiICAgIGJlc3RhbmRzc3lzdGVlbXNvb3J0IGFhbiB0ZSBnZXZlbiwgb2YgZ2VicnVpayB3aXBlZnMoOCkgb20gaGV0XG4iCisjfiAiICAgIGFwcGFyYWF0IG9wIHRlIHNjaG9uZW4uIgorCisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImthbiBiZXN0YW5kc3N5c3RlZW1zb29ydCBuaWV0IGJlcGFsZW4sIGVuIGVyIGlzIGdlZW4gYWFuZ2VnZXZlbiIKKworI34gbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAidSBtb2V0IGVlbiBiZXN0YW5kc3N5c3RlZW1zb29ydCBhYW5nZXZlbiIKKworI34gbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiYWFua29wcGVsaW5nc2Jyb24gaXMgbmlldCBnZWRlZmluaWVlcmQiCisKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICIlczogYWFua29wcGVsZW4gaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBiZXN0YW5kc3N5c3RlZW0gaXMgYWFuZ2Vrb3BwZWxkLCBtYWFyIG1vdW50KDgpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIlcyBpcyBidXN5IgorI34gbXNnc3RyICIlcyBpcyBiZXppZyIKKworI34gbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIGlzIGFsIGFhbmdla29wcGVsZCBvcCAlc1xuIgorCisjfiBtc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKKyN+IG1zZ3N0ciAiJXMgaXMgbm9nIG5pZXQgYWFuZ2Vrb3BwZWxkLCBvZiBlZW4gb25nZWxkaWdlIG9wdGllIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyN+ICIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAodm9vciBzb21taWdlIGJlc3RhbmRzc3lzdGVtZW4gKGJpanZvb3JiZWVsZCBuZnMgb2YgY2lmcykga2FuXG4iCisjfiAiICAgICAgIGVlbiAvc2Jpbi9tb3VudC48dHlwZT4gaHVscHByb2dyYW1tYSBub2RpZyB6aWpuKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgU29tcyBzdGFhdCBlciBudXR0aWdlIGluZm9ybWF0aWUgaW4gaGV0IHN5c3RlZW1sb2cgLS1cbiIKKyN+ICIgICAgICAgcHJvYmVlciB6b2lldHMgYWxzOiAgZG1lc2cgfCB0YWlsXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgIm9uYmVrZW5kZSBvcHRpZSAnJWMnIgorCisjfiBtc2dpZCAiJXM6IHVtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBhZmtvcHBlbGVuIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IHRhcmdldCBpcyBidXN5XG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorI34gIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBkb2VsIGlzIGJlemlnXG4iCisjfiAiICAgICAgICAoV2Vsa2UgcHJvY2Vzc2VuIGhldCBhcHBhcmFhdCBnZWJydWlrZW4ga2FuIG1vZ2VsaWprXG4iCisjfiAiICAgICAgICAgZ2V2b25kZW4gd29yZGVuIG1ldCBiZWh1bHAgdmFuIGxzb2YoOCkgb2YgZnVzZXIoMSkuKSIKKworI34gbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAiJXM6IGFhbmtvcHBlbGluZ3NwdW50IGlzIG5pZXQgZ2V2b25kZW4iCisKKyN+IG1zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCisjfiBtc2dzdHIgInJlZ2VsICVkIGlzIHRlIGxhbmc7IHVpdHZvZXIgd29yZHQgYWZnZWthcHQiCisKKyN+IG1zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKKyN+IG1zZ3N0ciAib252b2xsZWRpZ2Ugc2NocmlqZmFjdGllIG5hYXIgJyVzJyAoJXpkIGdlc2NocmV2ZW4sICV6ZCB2ZXJ3YWNodClcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorI34gbXNnc3RyICIlczoga2FuIGdlZW4gJ2lub3RpZnknLXdhY2h0ZXIgdG9ldm9lZ2VuIChtYXhpbXVtIGFhbnRhbCBpcyBiZXJlaWt0KSIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiICAlcyBbb3B0aWVdIDxiZXN0YW5kPlxuIgorCisjfiBtc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiVm9sZ3QgZGUgZ3JvZWkgdmFuIGVlbiBsb2diZXN0YW5kLlxuIgorCisjfiBtc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCisjfiBtc2dzdHIgIiAgLW4sIC0tbGluZXMgPGFhbnRhbD4gICAgZGl0IDxhYW50YWw+IGxhYXRzdGUgcmVnZWxzIHRvbmVuXG4iCisKKyN+IG1zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKKyN+IG1zZ3N0ciAiICAtPGFhbnRhbD4gICAgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctbiA8YWFudGFsPidcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHVzZSBvZiAndGFpbGYnIGlzIGRlcHJlY2F0ZWQsIHVzZSAndGFpbCAtZicgaW5zdGVhZC5cbiIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiAndGFpbGYnIGlzIHZlcm91ZGVyZCAtLSBnZWJydWlrIGxpZXZlciAndGFpbCAtZicuXG4iCisKKyN+IG1zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiZ2VlbiBpbnZvZXJiZXN0YW5kc25hYW0gZ2VnZXZlbiIKKworI34gbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorI34gbXNnc3RyICIlczogaXMgZ2VlbiBiZXN0YW5kIgorCisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIkJlc3RhbmRzc3lzdGVlbWxhYmVsOiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAiaW5zdGVsbGVuIHZhbiBQQVRIIGlzIG1pc2x1a3QiCisKKyMgRklYTUU6IGFkZCB0cmFuc2xhdG9yIGNvbW1lbnQKKyN+IG1zZ2lkICIlZCIKKyN+IG1zZ3N0ciAiJWQiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAiZ2VicnVpayB2YW4gJ3BpZCcgaW4gcGxhYXRzIHZhbiAna2lsbCAtLXBpZCcgaXMgdmVyb3VkZXJkIgorCisjfiBtc2dpZCAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKyN+IG1zZ3N0ciAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAib25nZWxkaWdlIHRpamRzbGltaWV0OiAlcyIKKworI34gbXNnaWQgImV4cGVjdGVkIGEgbnVtYmVyLCBidXQgZ290ICclcyciCisjfiBtc2dzdHIgImVyIHdlcmQgZWVuIGdldGFsIHZlcndhY2h0LCBtYWFyICclcycgd2VyZCBnZXZvbmRlbiIKKworI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAidmVyc25lbGxpbmcgaXMgJyVzJyIKKworI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAib25qdWlzdCBhcmd1bWVudDogJXMiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAidGVybWluYWxwYWQgJXMgaXMgdGUgbGFuZyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBpcyBnZWVuIGJsb2stYXBwYXJhYXQiCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiBhcHBhcmFhdCBpcyBvbmp1aXN0IHVpdGdlbGlqbmQiCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiT1MvMiB2ZXJib3JnZW4gQzoiCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAiJXM6IG9udGxlZGluZ3Nmb3V0IG9wIHJlZ2VsICVkIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIiVzOiBrYW4gYXBwYXJhYXRwYWQgbmlldCBhY2h0ZXJoYWxlbiIKKworI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICIlczogb25iZWtlbmRlIGFwcGFyYWF0bmFhbSIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiB2ZXJrcmlqZ2VuIHZhbiBETS1uYWFtIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJ0aGUgc29ydCBjb2x1bW4gaGFzIHRvIGJlIGFtb25nIHRoZSBvdXRwdXQgY29sdW1ucyIKKyN+IG1zZ3N0ciAiZGUgc29ydGVlcmtvbG9tIG1vZXQgYmlqIGRlIHVpdGdldm9lcmRlIGtvbG9tbWVuIHppdHRlbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorI34gIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorI34gIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKKyN+ICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgcmVxdWVzdCBudW1iZXIgb2YgdXVpZHNcbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCisjfiAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorI34gIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1wLCAtLXBpZCA8cGFkPiAgICAgICAgICBwYWQgbmFhciBQSUQtYmVzdGFuZFxuIgorI34gIiAgLXMsIC0tc29ja2V0IDxwYWQ+ICAgICAgIHBhZCBuYWFyIHNvY2tldFxuIgorI34gIiAgLVQsIC0tdGltZW91dCA8dGlqZD4gICAgIG1heGltYWxlIHRpamQgdmFuIGluYWN0aXZpdGVpdCAoaW4gc2Vjb25kZW4pXG4iCisjfiAiICAtaywgLS1raWxsICAgICAgICAgICAgICAgZWVuIGRyYWFpZW5kZSB1dWlkZC1kaWVuc3QgZWxpbWluZXJlblxuIgorI34gIiAgLXIsIC0tcmFuZG9tICAgICAgICAgICAgIGFhbm1hYWsgdmFuIHdpbGxla2V1cmlnZSBVVUlEJ3MgdGVzdGVuXG4iCisjfiAiICAtdCwgLS10aW1lICAgICAgICAgICAgICAgYWFubWFhayB2YW4gdGlqZHMtVVVJRCdzIHRlc3RlblxuIgorI34gIiAgLW4sIC0tdXVpZHMgPGFhbnRhbD4gICAgIGRpdCBhYW50YWwgVVVJRCdzIGdlbmVyZXJlblxuIgorI34gIiAgLVAsIC0tbm8tcGlkICAgICAgICAgICAgIGdlZW4gUElELWJlc3RhbmQgYWFubWFrZW5cbiIKKyN+ICIgIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBuaWV0IHRvdCBhY2h0ZXJncm9uZGRpZW5zdCBtYWtlblxuIgorI34gIiAgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gIGdlZW4gbHVpc3RlcmVuZGUgc29ja2V0IGFhbm1ha2VuXG4iCisjfiAiICAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICAgZGVidWdnaW5nLW1lbGRpbmdlbiB3ZWVyZ2V2ZW5cbiIKKyN+ICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICBnZWVuIG1lbGRpbmdlbiBnZXZlblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAib25iZWtlbmQgc2NoZWR1bGluZy1iZWxlaWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnc3RyICIiCisjfiAiICAtbywgLS1vZmZzZXQgPGdldGFsPiAgIGJ5dGVwb3NpdGllIHZhbmFmIHdhYXIgYmxva2tlbiB2ZXJ3b3JwZW4gbW9ldGVuIHdvcmRlblxuIgorI34gIiAgLWwsIC0tbGVuZ3RoIDxnZXRhbD4gICBsZW5ndGUgKGluIGJ5dGVzKSB2YW4gZ2ViaWVkIHdhYXJpbiBuYWFyIG9uZ2VicnVpa3RlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgYmxva2tlbiBnZXpvY2h0IG1vZXQgd29yZGVuXG4iCisjfiAiICAtcywgLS1zZWN1cmUgICAgICAgICAgIGRlIHZlcndlcnBpbmcgb3AgdmVpbGlnZSB3aWp6ZSB1aXR2b2VyZW5cbiIKKyN+ICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgaGV0IGFhbnRhbCB2ZXJ3b3JwZW4gYnl0ZXMgdG9uZW5cbiIKKworI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAuJTA2ZCBzZWNvbmRlblxuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgIiVzOiBvbnRsZWRpbmdzZm91dDogaGV0IGl0ZW0gb3AgcmVnZWwgJWQgd29yZHQgZ2VuZWdlZXJkIgorCisjfiBtc2dpZCAicGFnZXMiCisjfiBtc2dzdHIgInBhZ2luYSdzIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorI34gbXNnc3RyICJBcHBhcmFhdCBpcyBnZW9wZW5kIGluIGFsbGVlbmxlemVuLW1vZHVzLiIKKworI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIgIC12ICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJFcmcgbGFuZ2UgYmVzdGFuZHNuYWFtICclMiRzJyBnZXZvbmRlbiAoJTEkenUgYnl0ZXMpO1xuIgorI34gInZlcmhvb2cgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBlbiBoZXJjb21waWxlZXIgLS0gZ2VzdG9wdCIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLWMgfCAtbCBiZXN0YW5kc25hYW1dIFstblhYXSBbLWlYWF0gL2Rldi9uYWFtIFtibG9ra2VuXSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlczogcmVzZXJ2ZXJlbiB2YW4gYnVmZmVyIHZvb3Igc3VwZXJibG9rIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgIiVzOiByZXNlcnZlcmVuIHZhbiBidWZmZXJzIHZvb3IgYml0a2FhcnRlbiBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKKyN+IG1zZ3N0ciAiJXM6IHJlc2VydmVyZW4gdmFuIGJ1ZmZlciB2b29yIGlub2RlcyBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiJXM6IGJhZCBpbm9kZSBzaXplIgorI34gbXNnc3RyICIlczogb25nZWxkaWdlIGlub2RlLWdyb290dGUiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJzY2hpamY6ICUuKnMiCisKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAibGFiZWw6ICUuKnMiCisKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgInZsYWdnZW46ICVzIgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgImJ5dGVzL3NlY3RvcjogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZWN0b3Jlbi9zcG9vcjogJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNwb3Jlbi9jaWxpbmRlcjogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJzZWN0b3Jlbi9jaWxpbmRlcjogJWxkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgImNpbGluZGVyczogJWxkIgorCisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgInR1c3NlbnJ1aW10ZTogJWQiCisKKyN+IG1zZ2lkICJoZWFkc3dpdGNoOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIm92ZXJzY2hha2VsZW4gdmFuIGtvcDogJWxkIChtaWxsaXNlY29uZGVuKSIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAic3Bvb3ItdG90LXNwb29yICdzZWVrJzogJWxkIChtaWxsaXNlY29uZGVuKSIKKworI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICJwYXJ0aXRpZXM6ICVkIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiIgorI34gIlUga3VudCBlZW4gZ2V3b25lIHBhcnRpdGllIG5pZXQgdmVyYW5kZXJlbiBpbiBlZW4gdWl0Z2VicmVpZGUgb2YgYW5kZXJzb20uXG4iCisjfiAiVmVyd2lqZGVyIGRlIHBhcnRpdGllIGVlcnN0LiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMYWJlbGdlb21ldHJpZTogJWQga29wcGVuLCAlbGx1IHNlY3RvcmVuXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY2lsaW5kZXJzLCAlZCBmeXNpZWtlIGNpbGluZGVyc1xuIgorI34gIiAgICAgICAgICAgICAgICAlZCBleHRyYSBzZWN0b3Jlbi9jaWxpbmRlciwgdHVzc2VucnVpbXRlICVkOjFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgcnBtLCAlZCBhbHRlcm5hdGUgYW5kICVkIHBoeXNpY2FsIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjEiCisjfiBtc2dzdHIgIiIKKyN+ICJMYWJlbGdlb21ldHJpZTogJWQgcnBtLCAlZCBhbHRlcm5hdGlldmUgZW4gJWQgZnlzaWVrZSBjaWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdG9yZW4vY2lsaW5kZXIsIHR1c3NlbnJ1aW10ZSAlZDoxIgorCisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICI8Z2Vlbj4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogIGxhc3QgWy0jXSBbLWYgYmVzdGFuZF0gWy10IHR0eV0gWy1oIGhvc3RuYWFtXSBbZ2VicnVpa2VyIC4uLl1cbiIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgIG5vZyBpbmdlbG9nZCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGJlZ2lucyAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW50ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJvbmRlcmJyb2tlbiAlMTAuMTBzICU1LjVzIFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmctYmVsZWlkOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgIGJlbGVpZCBvcCBTQ0hFRF9CQVRDSCBpbnN0ZWxsZW5cbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgICBiZWxlaWQgb3AgU0NIRURfRklGTyBpbnN0ZWxsZW5cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgICBiZWxlaWQgb3AgU0NIRURfSURMRSBpbnN0ZWxsZW5cbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgICBiZWxlaWQgb3AgU0NIRURfT1RIRVIgaW5zdGVsbGVuXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICAgYmVsZWlkIG9wIFNDSEVEX1JSIGluc3RlbGxlbiAoc3RhbmRhYXJkKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtYSB8IC0tYWxsLXRhc2tzICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGllczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgICBhbGxlIHRha2VuL3RocmVhZHMgdmFuIGRlIGdlZ2V2ZW4gUElEIGFhbnBha2tlblxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgIG1pbmltdW0gZW4gbWF4aW11bSBnZWxkaWdlIHByaW9yaXRlaXRlbiB0b25lblxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgIGRlIGdlZ2V2ZW4gYmVzdGFhbmRlIFBJRCBiZcOvbnZsb2VkZW5cbiIKKyN+ICIgIC12IHwgLS12ZXJib3NlICAgICAgICBzdGF0dXNpbmZvcm1hdGllIHRvbmVuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tbWFudWFsZWplY3QvLWkgb3B0aW9uIgorI34gbXNnc3RyICJvbmdlbGRpZyBhcmd1bWVudCB2YW4gb3B0aWUgJy0tbWFudWFsZWplY3QnICgtaSkiCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIlNvcnJ5LCBhbGxlZW4gcm9vdCBrYW4gZGUgc3lzdGVlbWtsb2sgaW5zdGVsbGVuLiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIlNvcnJ5LCBhbGxlZW4gcm9vdCBrYW4gaW4gZGUga2VybmVsIGRlIHRpamRwZXJrd2FhcmRlIHZvb3IgZGUga2xvayBpbnN0ZWxsZW4uIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICJyZWFkKCkgdmFuICVzIHZvb3Igd2FjaHRlbiBvcCBrbG9rdGlrIGlzIG1pc2x1a3QiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIgIC12LCAtLXZlcmJvc2UgICAgdmVybWVsZGVuIHdhdCBlciBnZWRhYW4gd29yZHRcbiIKKworI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJ6ZXR0ZW4gdmFuIGRlIHdla2tlciBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZW5hYmxlIHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgImluc2NoYWtlbGVuIHZhbiBkZSB3ZWtrZXIgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJ0b2VzdGFuZCBvcHNsYWFuIG5hYXIgXCIlc1wiIGlzIG5pZXQgYmVzY2hpa2JhYXIiCisKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtbSwgLS1tb3VudCAgICAgICBuYWFtc3J1aW10ZSB2b29yIGFhbmtvcHBlbGluZ2VuIG5pZXQgZGVsZW5cbiIKKworI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgIC11LCAtLXV0cyAgICAgICAgIFVUUy1uYWFtc3J1aW10ZSBuaWV0IGRlbGVuIChob3N0bmFhbSBlbiBkZXJnZWxpamtlKVxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLWksIC0taXBjICAgICAgICAgSVBDLW5hYW1zcnVpbXRlIG5pZXQgZGVsZW4gKHNlbWFmb3JlbiBlbiBkZXJnZWxpamtlKVxuIgorCisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1uLCAtLW5ldCAgICAgICAgIG5ldHdlcmtuYWFtc3J1aW10ZSBuaWV0IGRlbGVuXG4iCisKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVUsIC0tdXNlciAgICAgICAgbmFhbXNydWltdGUgdmFuIGdlYnJ1aWtlcnMgbmlldCBkZWxlbiAoVUlEJ3MsIEdJRCdzLCBlbiB6bylcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAia2FuICVzIG5pZXQgb3BlbmVuOiAlbSIKKworI34gbXNnaWQgIk1pbmltYWwgc2l6ZSBpcyAlanUiCisjfiBtc2dzdHIgIk1pbmltdW0gZ3Jvb3R0ZSBpcyAlanUiCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJIdWxwc2NoZXJtIHZvb3IgJ2NmZGlzayciCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+ICIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IMKpIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAyMDE0ICIKKworI34gbXNnaWQgIkJhc2VkIG9uIHRoZSBvcmlnaW5hbCBjZmRpc2sgZnJvbSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIuIgorI34gbXNnc3RyICJHZWJhc2VlcmQgb3AgZGUgb3JpZ2luZWxlICdjZmRpc2snIHZhbiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIuIgorCisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk9wZ2VnZXZlbiBwYXJ0aXRpZWdyb290dGUgaXMgdGUga2xlaW4uIgorCisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIm9wdnJhZ2VuIHZhbiBzdGF0dXMgdmFuICVzIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU2V0cyBvciBnZXRzIHRoZSBJTyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBwcm9jZXNzZXMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUb29udCBvZiB6ZXQgZGUgaW52b2VyL3VpdHZvZXItc2NoZWR1bGluZy1rbGFzc2UgZW4gcHJpb3JpdGVpdCB2YW4gcHJvY2Vzc2VuLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiS2llcyBlZW4gdHlwZSBvbSBlZW4gbmlldXcgc2NoaWpmbGFiZWwgYWFuIHRlIG1ha2VuLiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSBhcHBhcmFhdFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9wdGllczpcbiIKKyN+ICIgIC1uLCAtLW5vLXZlcmlmeSAgICBnZWVuIGNvbnRyb2xlIHVpdHZvZXJlbiBuYSBoZXQgZm9ybWF0dGVyZW5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJHZWJydWlrOlxuIgorCisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJPbmp1aXN0ZSBncm9vdHRlIHZhbiBrb3AgdmFuIHdpc3NlbGdlaGV1Z2VuOyBlciBpcyBnZWVuIGxhYmVsIGdlc2NocmV2ZW4uIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiJ3NlZWsnLWZvdXQgb3AgJXMgLS0ga2FuIGdlZW4gJ3NlZWsnIGRvZW4gbmFhciAlbHUiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgIidzZWVrJy1mb3V0OiAweCUwOHglMDh4IHZlcndhY2h0LCAweCUwOHglMDh4IGdla3JlZ2VuIgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJmb3V0IGJpaiBsZXplbiB2YW4gJXMgLS0ga2FuIHNlY3RvciAlbGx1IG5pZXQgbGV6ZW4iCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAiZm91dCBiaWogc2NocmlqdmVuIG5hYXIgJXMgLS0ga2FuIHNlY3RvciAlbGx1IG5pZXQgc2NocmlqdmVuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAia2FuIHBhcnRpdGlvbmVyaW5ncy1iZXdhYXJiZXN0YW5kICglcykgbmlldCBvcGVuZW4iCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiZm91dCBiaWogc2NocmlqdmVuIG5hYXIgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcykiCisjfiBtc2dzdHIgImthbiBzdGF0dXMgdmFuIHBhcnRpdGlvbmVyaW5ncy1oZXJzdGVsYmVzdGFuZCAoJXMpIG5pZXQgYmVwYWxlbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJwYXJ0aXRpb25lcmluZ3MtaGVyc3RlbGJlc3RhbmQgaGVlZnQgb25qdWlzdGUgZ3Jvb3R0ZSAtLSBnZWVuIGhlcnN0ZWxsaW5nIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJrYW4gcGFydGl0aW9uZXJpbmdzLWhlcnN0ZWxiZXN0YW5kICglcykgbmlldCBvcGVuZW4iCisKKyN+IG1zZ2lkICJlcnJvciByZWFkaW5nICVzIgorI34gbXNnc3RyICJmb3V0IGJpaiBsZXplbiB2YW4gJXMiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBkZXZpY2UgJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgImthbiBhcHBhcmFhdCAlcyBuaWV0IG9wZW5lbiBvbSB0ZSBzY2hyaWp2ZW4iCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgImZvdXQgYmlqIHNjaHJpanZlbiB2YW4gc2VjdG9yICVsdSBvcCAlcyIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlNjaGlqZiAlczoga2FuIGdlb21ldHJpZSBuaWV0IGFjaHRlcmhhbGVuIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBzaXplIgorI34gbXNnc3RyICJTY2hpamYgJXM6IGthbiBncm9vdHRlIG5pZXQgYWNodGVyaGFsZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IGJlZ2luPSVsdSAtLSBkaXQgemlldCBlciB1aXQgYWxzIGVlbiBwYXJ0aXRpZVxuIgorI34gImluIHBsYWF0cyB2YW4gZWVuIGdlaGVsZSBzY2hpamYuICBIaWVyb3AgJ2ZkaXNrJyBnZWJydWlrZW5cbiIKKyN+ICJpcyB3YWFyc2NoaWpubGlqayB6aW5sb29zLlxuIgorI34gIihHZWJydWlrIGRlIG9wdGllICctLWZvcmNlJyBhbHMgdSBkaXQgZWNodCB3aWx0IGRvZW4uKSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IGlvY3RsKEhESU9fR0VUR0VPKSB6ZWd0IGRhdCBlciAlbHUga29wcGVuIHppam4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IGlvY3RsKEhESU9fR0VUR0VPKSB6ZWd0IGRhdCBlciAlbHUgc2VjdG9yZW4gemlqbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IGlvY3RsKEJMS0dFVFNJWkUvSERJT19HRVRHRU8pIHplZ3QgZGF0IGVyICVsdSBjaWxpbmRlcnMgemlqbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIldhYXJzY2h1d2luZzogb253YWFyc2NoaWpubGlqayBhYW50YWwgc2VjdG9yZW4gKCVsdSkgLS0gbWVlc3RhbCBob29nc3RlbnMgNjMuXG4iCisjfiAiRGl0IHphbCBwcm9ibGVtZW4gZ2V2ZW4gbWV0IGFsbGUgc29mdHdhcmUgZGllIEMvSy9TLWFkcmVzc2VyaW5nIGdlYnJ1aWt0LiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTY2hpamYgJXM6ICVsdSBjaWxpbmRlcnMsICVsdSBrb3BwZW4sICVsdSBzZWN0b3Jlbi9zcG9vclxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIHZhbiBwYXJ0aXRpZSAlcyBoZWVmdCBlZW4gb25tb2dlbGlqa2Ugd2FhcmRlIHZvb3Iga29wcGVuOiAlbHUgKG1vZXQgbGlnZ2VuIHR1c3NlbiAwIGVuICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyB2YW4gcGFydGl0aWUgJXMgaGVlZnQgZWVuIG9ubW9nZWxpamtlIHdhYXJkZSB2b29yIHNlY3RvcmVuOiAlbHUgKG1vZXQgbGlnZ2VuIHR1c3NlbiAxIGVuICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyB2YW4gcGFydGl0aWUgJXMgaGVlZnQgZWVuIG9ubW9nZWxpamtlIHdhYXJkZSB2b29yIGNpbGluZGVyczogJWx1IChtb2V0IGxpZ2dlbiB0dXNzZW4gMCBlbiAlbHUpIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJIZXJpbmxlemVuIHZhbiBwYXJ0aXRpZXRhYmVsLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIkhldCBvcG5pZXV3IGlubGV6ZW4gdmFuIGRlIHBhcnRpdGlldGFiZWwgaXMgbWlzbHVrdC5cbiIKKyN+ICJWb2VyIHBhcnRwcm9iZSg4KSBvZiBrcGFydHgoOCkgdWl0LCBvZiBoZXJzdGFydCB1dyBzeXN0ZWVtIG51LFxuIgorI34gImFsdm9yZW5zICdta2ZzJyB0ZSBnZWJydWlrZW4uIgorCisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiRm91dCBiaWogc2x1aXRlbiB2YW4gJXMiCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IGRpZSBwYXJ0aXRpZSBiZXN0YWF0IG5pZXRcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJvbmJla2VuZGUgZWVuaGVpZCAtLSBcInNlY3RvcmVuXCIgd29yZHQgZ2VicnVpa3QiCisKKyN+IG1zZ2lkICJ1bmltcGxlbWVudGVkIGZvcm1hdCAtIHVzaW5nICVzIgorI34gbXNnc3RyICJvbmJlc2NoaWtiYXJlIGVlbmhlaWQgLS0gXCIlc1wiIHdvcmR0IGdlYnJ1aWt0IgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic2VjdG9yZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZW5oZWRlbjogY2lsaW5kZXJzIHZhbiAlbHUgYnl0ZXMsIGJsb2trZW4gdmFuIDEwMjQgYnl0ZXMsIHRlbGxlbmQgdmFuYWYgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgQXBwYXJhYXQgT3BzdCBCZWdpbiAgIEVpbmRlICAgI2NpbHMgICAjYmxva2tlbiAgIElEICBTeXN0ZWVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZW5oZWRlbjogc2VjdG9yZW4gdmFuIDUxMiBieXRlcywgdGVsbGVuZCB2YW5hZiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICAgU3RhcnQgICAgICAgRW5kICAgI3NlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIEFwcGFyYWF0IE9wc3QgICAgQmVnaW4gICAgIEVpbmRlICAjc2VjdG9yZW4gIElEICBTeXN0ZWVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZW5oZWRlbjogYmxva2tlbiB2YW4gMTAyNCBieXRlcywgdGVsbGVuZCB2YW5hZiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIEFwcGFyYWF0IE9wc3QgICBCZWdpbiAgICAgRWluZGUgICAjYmxva2tlbiAgIElEICBTeXN0ZWVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFZW5oZWRlbjogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxva2tlbiB2YW4gMTAyNCBieXRlcywgdGVsbGVuZCB2YW5hZiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiBBcHBhcmFhdCBPcHMgQmVnaW4gIEVpbmRlICAgIE1pQiAgICNibG9ra2VuICAgSUQgIFN5c3RlZW1cbiIKKworI34gbXNnaWQgIlx0XHRzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiICAgIGJlZ2luOiAoYyxrLHMpIHZlcndhY2h0OiAoJWxkLCVsZCwlbGQpIGdldm9uZGVuOiAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJcdFx0ZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICIgICAgZWluZGU6IChjLGsscykgdmVyd2FjaHQ6ICglbGQsJWxkLCVsZCkgZ2V2b25kZW46ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAicGFydGl0aWUgZWluZGlndCBvcCBjaWxpbmRlciAlbGQsIG5hIGhldCBlaW5kZSB2YW4gZGUgc2NoaWpmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBoZXQgbGlqa3QgZXJvcCBkYXQgZGUgcGFydGl0aWV0YWJlbCBnZW1hYWt0IGlzIHZvb3JcbiIKKyN+ICIgICAgICAgICAgICAgIEMvSy9TPSovJWxkLyVsZCAoaW4gcGxhYXRzIHZhbiB2b29yICVsZC8lbGQvJWxkKTtcbiIKKyN+ICIgICAgICAgICAgICAgIGRpdCBvdmVyemljaHQgbmVlbXQgZGllIGVlcnN0ZSBDL0svUy1nZW9tZXRyaWUgYWFuLiIKKworI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50IgorI34gbXNnc3RyICJnZWVuIHBhcnRpdGlldGFiZWwgYWFud2V6aWciCisKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbiBkZWZpbmVkIgorI34gbXNnaWRfcGx1cmFsICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0clswXSAidnJlZW1kOiBzbGVjaHRzICVkIHBhcnRpdGllcyBnZWRlZmluaWVlcmQiCisjfiBtc2dzdHJbMV0gInZyZWVtZDogc2xlY2h0cyAlZCBwYXJ0aXRpZXMgZ2VkZWZpbmllZXJkIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogcGFydGl0aWUgJXMgaGVlZnQgZ3Jvb3R0ZSAwLCBtYWFyIGlzIG5pZXQgZ2VtYXJrZWVyZCBhbHMgbGVlZyIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBpcyBib290YWJsZSIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyBoZWVmdCBncm9vdHRlIDAgw6luIGlzIG9wc3RhcnRiYWFyIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogcGFydGl0aWUgJXMgaGVlZnQgZ3Jvb3R0ZSAwIG1hYXIgZWVuIG5pZXQtbnVsIGJlZ2luc2VjdG9yIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGlzIG5vdCBjb250YWluZWQgaW4gcGFydGl0aW9uICVzIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVzIHZhbHQgbmlldCBiaW5uZW4gcGFydGl0aWUgJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllcyAlcyBlbiAlcyBvdmVybGFwcGVuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyBiZXZhdCBlZW4gZGVlbCB2YW4gZGUgcGFydGl0aWV0YWJlbCAoc2VjdG9yICVsbHUpLFxuIgorI34gImVuIHphbCBkZXplIHZlcm5pZWxlbiBhbHMgemlqIHdvcmR0IGdldnVsZCIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogcGFydGl0aWUgJXMgYmVnaW50IG9wIHNlY3RvciAwIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyBsb29wdCBkb29yIHRvdCB2b29yYmlqIGhldCBlaW5kZSB2YW4gZGUgc2NoaWpmIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAlZC4lZCBUQiAoJWxsdSBieXRlcyksXG4iCisjfiAid2hpY2ggaXMgbGFyZ2VyIHRoYW4gdGhlICVsbHUgYnl0ZXMgbGltaXQgaW1wb3NlZFxuIgorI34gImJ5IHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGZvciAlZC1ieXRlIHNlY3RvcnMiCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVzIGhlZWZ0IGVlbiBncm9vdHRlIHZhbiAlZCwlZCBUQiAoJWxsdSBieXRlcylcbiIKKyN+ICItLSBkaXQgaXMgZ3JvdGVyIGRhbiBkZSBsaW1pZXQgdmFuICVsbHUgYnl0ZXMgZGllIGdlbGR0XG4iCisjfiAidm9vciBlZW4gRE9TLXBhcnRpdGlldGFiZWwgbWV0ICVkLWJ5dGUgc2VjdG9yZW4uIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyBiZWdpbnQgb3Agc2VjdG9yICVsbHUgKCVkLCVkIFRCIGJpaiAlZC1ieXRlIHNlY3RvcmVuKVxuIgorI34gIi0tIGRpdCBpcyBncm90ZXIgZGFuIGRlIGxpbWlldCB2YW4gJWxsdSBieXRlcyBkaWUgZ2VsZHQgdm9vciBlZW4gRE9TLXBhcnRpdGlldGFiZWwuIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIlZhbiBkZSBwcmltYWlyZSBwYXJ0aXRpZXMga2FuIGVyIHRlbiBob29nc3RlIMOpw6luIHVpdGdlYnJlaWQgemlqblxuIgorI34gIihvbmRlciBMaW51eCBpcyBkaXQgZWNodGVyIGdlZW4gcHJvYmxlZW0pLiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVzIGJlZ2ludCBuaWV0IG9wIGVlbiBjaWxpbmRlcmdyZW5zIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHBhcnRpdGllICVzIGVpbmRpZ3QgbmlldCBvcCBlZW4gY2lsaW5kZXJncmVucyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBtZWVyZGVyZSBwcmltYWlyZSBwYXJ0aXRpZXMgemlqbiBnZW1hcmtlZXJkIGFscyBvcHN0YXJ0YmFhci5cbiIKKyN+ICJWb29yIExJTE8gbWFha3QgZGl0IG5pZXRzIHVpdCwgbWFhciBET1MgTUJSIHphbCBuaWV0IHZhbiBkZXplIHNjaGlqZiBvcHN0YXJ0ZW4uIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IG5vcm1hYWwgZ2VzcHJva2VuIGthbiBtZW4gYWxsZWVuIHZhbiBwcmltYWlyZVxuIgorI34gInBhcnRpdGllcyBvcHN0YXJ0ZW4uICBMSUxPIG5lZ2VlcnQgZGUgJ29wc3RhcnRiYWFyJy12bGFnLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIldhYXJzY2h1d2luZzogZXIgaXMgZ2VlbiBwcmltYWlyZSBwYXJ0aXRpZSBnZW1hcmtlZXJkIGFscyBvcHN0YXJ0YmFhci5cbiIKKyN+ICJWb29yIExJTE8gbWFha3QgZGl0IG5pZXRzIHVpdCwgbWFhciBET1MgTUJSIHphbCBuaWV0IHZhbiBkZXplIHNjaGlqZiBvcHN0YXJ0ZW4uIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImJlZ2luIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpdGllICVzOiBiZWdpbjogKGMsayxzKSB2ZXJ3YWNodDogKCVsZCwlbGQsJWxkKSBnZXZvbmRlbjogKCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgImVuZCIKKyN+IG1zZ3N0ciAiZWluZGUiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpdGllICVzOiBlaW5kZTogKGMsayxzKSB2ZXJ3YWNodDogKCVsZCwlbGQsJWxkKSBnZXZvbmRlbjogKCVsZCwlbGQsJWxkKSIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2siCisjfiBtc2dzdHIgInBhcnRpdGllICVzIGVpbmRpZ3Qgb3AgY2lsaW5kZXIgJWxkLCBuYSBoZXQgZWluZGUgdmFuIGRlIHNjaGlqZiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBiZWdpbiB2YW4gdWl0Z2VicmVpZGUgcGFydGl0aWUgaXMgdmVyc2Nob3ZlbiB2YW4gJWxsZCBuYWFyICVsbGQuXG4iCisjfiAiKEFsbGVlbiB2b29yIHdlZXJnYXZlLiAgRGUgaW5ob3VkIHdvcmR0IG5pZXQgZ2V3aWp6aWdkLikiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiB1aXRnZWJyZWlkZSBwYXJ0aXRpZSBiZWdpbnQgbmlldCBvcCBlZW4gY2lsaW5kZXJncmVucy5cbiIKKyN+ICJET1MgZW4gTGludXggenVsbGVuIGRlIGluaG91ZCB2ZXJzY2hpbGxlbmQgaW50ZXJwcmV0ZXJlbi4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIkZPVVQ6IHNlY3RvciAlbGx1IGhlZWZ0IGdlZW4gTVNET1MtdmluZ2VyYWZkcnVrIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgInRlIHZlZWwgcGFydGl0aWVzIC0tIGRpZSBuYSBudW1tZXIgJXp1IHdvcmRlbiBnZW5lZ2VlcmQiCisKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJlZW4gYm9vbSB2YW4gcGFydGl0aWVzPyIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAiRGlzayBNYW5hZ2VyIGdlZGV0ZWN0ZWVyZDsga2FuIGRpdCBuaWV0IGFhbiAtLSBnZXN0b3B0IgorCisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAiRE02LXZpbmdlcmFmZHJ1ayBnZXZvbmRlbiAtLSBnZXN0b3B0IgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgInZyZWVtZC4uLiBlZW4gdWl0Z2VicmVpZGUgcGFydGl0aWUgbWV0IGdyb290dGUgMD8iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAidnJlZW1kLi4uIGVlbiBCU0QtcGFydGl0aWUgbWV0IGdyb290dGUgMD8iCisKKyN+IG1zZ2lkICItbiBmbGFnIHdhcyBnaXZlbjogTm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJvcHRpZSAnLW4nIHdlcmQgZ2VnZXZlbjogZXIgaXMgbmlldHMgZ2V3aWp6aWdkIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJPcHNsYWFuIHZhbiBvdWRlIHNlY3RvcmVuIGlzIG1pc2x1a3QgLS0gZ2VzdG9wdFxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAiU2NocmlqdmVuIHZhbiBwYXJ0aXRpZSBvcCAlcyBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAibGFuZ2Ugb2YgaW5jb21wbGV0ZSBpbnZvZXJyZWdlbCAtLSBnZXN0b3B0IgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAiaW52b2VyZm91dDogJz0nIHZlcndhY2h0IG5hIHZlbGQgJXMiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImludm9lcmZvdXQ6IG9udmVyd2FjaHQgdGVrZW4gJWMgbmEgdmVsZCAlcyIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgImludm9lciBuaWV0IGhlcmtlbmQ6ICVzIgorCisjfiBtc2dpZCAibnVtYmVyIHRvbyBiaWciCisjfiBtc2dzdHIgImdldGFsIGlzIHRlIGdyb290IgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgIm9uYmVncmVwZW4gdGVrZW5zIG5hIGdldGFsIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgImdlZW4gcnVpbXRlIHZvb3IgcGFydGl0aWViZXNjaHJpanZlciIKKworI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgImthbiBvbXZhdHRlbmRlIHVpdGdlYnJlaWRlIHBhcnRpdGllIG5pZXQgbWFrZW4iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBpbnB1dCBmaWVsZHMiCisjfiBtc2dzdHIgInRlIHZlZWwgaW52b2VydmVsZGVuIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiR2VlbiBydWltdGUgdm9vciBtZWVyIgorCisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJPbmp1aXN0IHR5cGUiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogZ2VnZXZlbiBncm9vdGUgKCVsbHUpIGlzIGdyb3RlciBkYW4gbWF4aW1hYWwgdG9lZ2VsYXRlbiBncm9vdHRlICglbGx1KSIKKworI34gbXNnaWQgIldhcm5pbmc6IGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBsZWdlIHBhcnRpdGllIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogb25nZWxkaWcgcGFydGl0aWViZWdpbiAoZWVyc3RlIG1vZ2VsaWpraGVpZCBpcyAlbGx1KSIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBib290YWJsZSBmbGFnIC0gY2hvb3NlIC0gb3IgKiIKKyN+IG1zZ3N0ciAib25iZWtlbmRlICdvcHN0YXJ0YmFhcictdmxhZyAtLSBraWVzICctJyBvZiAnKiciCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/IgorI34gbXNnc3RyICJlZW4gZ2VkZWVsdGVsaWprZSBjLGsscy1zcGVjaWZpY2F0aWU/IgorCisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiVWl0Z2VicmVpZGUgcGFydGl0aWUgd2FhciBkaWUgbmlldCB2ZXJ3YWNodCB3ZXJkIgorCisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJvbmdlbGRpZ2UgaW52b2VyIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAidGUgdmVlbCBwYXJ0aXRpZXMiCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJJbnZvZXIgaXMgaW4gZGUgdm9sZ2VuZGUgaW5kZWxpbmcgKGFmd2V6aWdlIHZlbGRlbiBrcmlqZ2VuIGVlbiBzdGFuZGFhcmR3YWFyZGUpOlxuIgorI34gIiAgPGJlZ2luPiA8Z3Jvb3R0ZT4gPHR5cGUgW0UsUyxMLFgsaGV4XT4gPG9wc3RhcnRiYWFyIFstLCpdPiA8YyxrLHM+IDxjLGsscz5cbiIKKyN+ICJNZWVzdGFsIGhvZWZ0IHUgYWxsZWVuIDxiZWdpbj4gZW4gPGdyb290dGU+IHRlIGdlYnJ1aWtlbiAoZW4gbW9nZWxpamsgPHR5cGU+KS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIiAgJXMgW29wdGllc10gPGFwcGFyYWF0Pi4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvblxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGNoYW5nZSBvciBwcmludCBwYXJ0aXRpb24gSWRcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICBjaGFuZ2UgSWRcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBwcmludCBJZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAtcywgLS1zaG93LXNpemUgICAgICAgICBncm9vdHRlIHZhbiBlZW4gcGFydGl0aWUgdG9uZW5cbiIKKyN+ICIgIC1jLCAtLWlkICAgICAgICAgICAgICAgIHBhcnRpdGllLUlEIHRvbmVuIG9mIHdpanppZ2VuXG4iCisjfiAiICAgICAgLS1jaGFuZ2UtaWQgICAgICAgICBJRCB3aWp6aWdlblxuIgorI34gIiAgICAgIC0tcHJpbnQtaWQgICAgICAgICAgSUQgdG9uZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0XG4iCisjfiAiIC1pLCAtLWluY3JlbWVudCAgICAgICAgICAgbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXR0ZXI+ICAgICAgIHVuaXRzIHRvIGJlIHVzZWQ7IDxsZXR0ZXI+IGNhbiBiZSBvbmUgb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgKHNlY3RvcnMpLCBDIChjeWxpbmRlcnMpLCBCIChibG9ja3MpLCBvciBNIChNQilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWwsIC0tbGlzdCAgICAgICAgICAgICAgcGFydGl0aWVzIHZhbiBlbGsgZ2VnZXZlbiBhcHBhcmFhdCB0b25lblxuIgorI34gIiAgLWQsIC0tZHVtcCAgICAgICAgICAgICAgaWRlbSwgbWFhciBpbiBlZW4gdm9ybSBkaWUgZ2VzY2hpa3QgaXMgYWxzIGludm9lclxuIgorI34gIiAgLWksIC0taW5jcmVtZW50ICAgICAgICAgZGluZ2VuIG51bW1lcmVuIHZhbmFmIDEgaW4gcGxhYXRzIHZhbiB2YW5hZiAwXG4iCisjfiAiICAtdSwgLS11bml0PTxsZXR0ZXI+ICAgICB0ZSBnZWJydWlrZW4gZWVuaGVpZDsgPGxldHRlcj4gbWFnIHppam46IE0gKE1CKSxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgQiAoYmxva2tlbiksIEMgKGNpbGluZGVycyksIFMgKHNlY3RvcmVuKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtMSwgLS1vbmUtb25seSAgICAgICAgICAgIHJlc2VydmVkIG9wdGlvbiB0aGF0IGRvZXMgbm90aGluZyBjdXJyZW50bHlcbiIKKyN+ICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICBsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXNcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlXG4iCisjfiAiIC1FLCAtLURPUy1leHRlbmRlZCAgICAgICAgRE9TIGV4dGVuZGVkIHBhcnRpdGlvbiBjb21wYXRpYmlsaXR5XG4iCisjfiAiIC1SLCAtLXJlLXJlYWQgICAgICAgICAgICAgbWFrZSB0aGUga2VybmVsIHJlcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgIChnZXJlc2VydmVlcmRlIG9wdGllOyBkb2V0IG1vbWVudGVlbCBuaWV0cylcbiIKKyN+ICIgIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgIGRlIG1vZ2VsaWprZSBwYXJ0aXRpZXNvb3J0ZW4gdG9uZW5cbiIKKyN+ICIgIC1ELCAtLURPUyAgICAgICAgICAgICAgIERPUy1jb21wYXRpYmVsIHppam4gKGVlbiBiZWV0amUgcnVpbXRlIHZlcnNwaWxsZW4pXG4iCisjfiAiICAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICBET1MtZXh0ZW5kZWQtY29tcGF0aWJlbCB6aWpuXG4iCisjfiAiICAtUiwgLS1yZS1yZWFkICAgICAgICAgICBkZSBwYXJ0aXRpZXRhYmVsIGRvb3IgZGUga2VybmVsIGxhdGVuIGhlcmlubGV6ZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgcGFydGl0aW9uIHdpdGggdGhpcyA8bnVtYmVyPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiIC1PIDxmaWxlPiAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gPGZpbGU+XG4iCisjfiAiIC1JIDxmaWxlPiAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1OIDxudW1tZXI+ICAgICAgICAgICAgIGFsbGVlbiBkZSBwYXJ0aXRpZSBtZXQgZGl0IG51bW1lciB3aWp6aWdlblxuIgorI34gIiAgLW4gICAgICAgICAgICAgICAgICAgICAgbmlldCBlY2h0IG5hYXIgc2NoaWpmIHNjaHJpanZlbiwgbWFhciBkb2VuIGFsc29mXG4iCisjfiAiICAtTyA8YmVzdGFuZD4gICAgICAgICAgICBzZWN0b3JlbiBkaWUgb3ZlcnNjaHJldmVuIHdvcmRlbiBvcHNsYWFuIGluIGJlc3RhbmRcbiIKKyN+ICIgIC1JIDxiZXN0YW5kPiAgICAgICAgICAgIG92ZXJzY2hyZXZlbiBzZWN0b3JlbiBoZXJzdGVsbGVuIHZhbnVpdCBkaXQgYmVzdGFuZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgY29udHJvbGVyZW4gZGF0IGRlIHBhcnRpdGllcyBjb25zaXN0ZW50IHppam5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkdldmFhcmxpamtlIG9wdGllczpcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBwYXJ0aXRpb24gaXMgaW4gdXNlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZyBtZXNzYWdlc1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXhcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWYsIC0tZm9yY2UgICAgICAgICAgICAgYWxsZSBjb25zaXN0ZW50aWVjb250cm9sZXMgdWl0c2NoYWtlbGVuXG4iCisjfiAiICAgICAgLS1uby1yZXJlYWQgICAgICAgICB2b29yIGhlcnBhcnRpdGlvbmVyZW4gZGUgcGFydGl0aWV0YWJlbCBuaWV0IGhlcmxlemVuXG4iCisjfiAiICAtTCwgLS1MaW51eCAgICAgICAgICAgICBuaWV0IGtsYWdlbiBvdmVyIGRpbmdlbiBkaWUgaXJyZWxldmFudCB6aWpuIHZvb3IgTGludXhcbiIKKyN+ICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHdhYXJzY2h1d2luZ2VuIG9uZGVyZHJ1a2tlblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgIGRlIGdlb21ldHJpZSB0b25lbiBkaWUgZG9vciBkZSBrZXJuZWwgYWFuZ2VnZXZlbiB3b3JkdFxuIgorI34gIiAgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgZGUgZ2VvbWV0cmllIHRvbmVuIGRpZSB1aXQgZGUgcGFydGl0aWV0YWJlbCBibGlqa3RcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiICAtQSwgLS1hY3RpdmF0ZVs9PGFwcD5dICBkZSAnb3BzdGFydGJhYXInLXZsYWcgaW5zY2hha2VsZW5cbiIKKyN+ICIgIC1VLCAtLXVuaGlkZVs9PGFwcD5dICAgIHBhcnRpdGllIGFscyBvbnZlcmJvcmdlbiBtYXJrZXJlblxuIgorI34gIiAgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgdWl0Z2VicmVpZGUgcGFydGl0aWVzIHZvbGxlZGlnIHdlZXJnZXZlbiBpbiB1aXR2b2VyLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBiZXNjaHJpanZlcnMgZXJ2YW4gdmVyd2FjaHRlbiBpbiBpbnZvZXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICBkbyBub3QgYWxsb2NhdGUgdGhlIGxhc3QgY3lsaW5kZXJcbiIKKyN+ICIgICAgIC0tSUJNICAgICAgICAgICAgICAgICBzYW1lIGFzIC0tbGVhdmUtbGFzdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICBkZSBsYWF0c3RlIGNpbGluZGVyIG5pZXQgdG9ld2lqemVuXG4iCisjfiAiICAgICAgLS1JQk0gICAgICAgICAgICAgICBoZXR6ZWxmZGUgYWxzICctLWxlYXZlLWxhc3QnXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vdCBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgLS1pbi1vcmRlciAgICAgICAgICBkZSBwYXJ0aXRpZXMgemlqbiBvcCB2b2xnb3JkZVxuIgorI34gIiAgICAgIC0tbm90LWluLW9yZGVyICAgICAgZGUgcGFydGl0aWVzIHppam4gbmlldCBvcCB2b2xnb3JkZVxuIgorI34gIiAgICAgIC0taW5zaWRlLW91dGVyICAgICAgYWxsZSBsb2dpc2NoZSB2YWxsZW4gYmlubmVuIGRlIGJ1aXRlbnN0ZSB1aXRnZWJyZWlkZVxuIgorI34gIiAgICAgIC0tbm90LWluc2lkZS1vdXRlciAgbmlldCBhbGxlIGxvZ2lzY2hlIGJpbm5lbiBkZSBidWl0ZW5zdGUgdWl0Z2VicmVpZGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAtLW5lc3RlZCAgICAgICAgICAgIGVsa2UgcGFydGl0aWUgdmFsdCBiaW5uZW4gZWVuIHVpdGdlYnJlaWRlIHBhcnRpdGllXG4iCisjfiAiICAgICAgLS1jaGFpbmVkICAgICAgICAgICBlbGtlIGxvZ2lzY2hlIHBhcnRpdGllIHZhbHQgYmlubmVuIGVlbiB1aXRnZWJyZWlkZVxuIgorI34gIiAgICAgIC0tb25lc2VjdG9yICAgICAgICAgZ2VlbiBlbmtlbGUgcGFydGl0aWUgdmFsdCBiaW5uZW4gZWVuIGFuZGVyZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlUga3VudCBlZW4gYW5kZXJlIGRhbiBkZSBnZXZvbmRlbiBnZW9tZXRyaWUgYWZkd2luZ2VuIG1ldDpcbiIKKyN+ICIgIC1DLCAtLWN5bGluZGVycyA8Z2V0YWw+ICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBjaWxpbmRlcnNcbiIKKyN+ICIgIC1ILCAtLWhlYWRzIDxnZXRhbD4gICAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBrb3BwZW5cbiIKKyN+ICIgIC1TLCAtLXNlY3RvcnMgPGdldGFsPiAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBzZWN0b3JlblxuIgorCisjfiBtc2dpZCAiICVzJXNkZXZpY2UgICAgICAgICAgICBsaXN0IGFjdGl2ZSBwYXJ0aXRpb25zIG9uIGRldmljZVxuIgorI34gbXNnc3RyICIgICVzJXM8YXBwYXJhYXQ+ICAgICAgICAgICAgYWN0aWV2ZSBwYXJ0aXRpZXMgb3AgPGFwcGFyYWF0PiB3ZWVyZ2V2ZW5cbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlIG4xIG4yIC4uLiAgYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiICAlcyVzPGFwcGFyYWF0PiBuMSBuMiAuLi4gIGdlZ2V2ZW4gcGFydGl0aWVzIGFjdGl2ZXJlbiwgZGUgcmVzdCBkZS1hY3RpdmVyZW5cbiIKKworI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIm9uZ2VsZGlnIGFhbnRhbCBwYXJ0aXRpZXMiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICBzZmRpc2sgLS1wcmludC1pZCBhcHBhcmFhdCBwYXJ0aXRpZW51bW1lciIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgSWQiCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICBzZmRpc2sgLS1jaGFuZ2UtaWQgYXBwYXJhYXQgcGFydGl0aWVudW1tZXIgSUQiCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAiR2VicnVpazogIHNmZGlzayAtLWlkIGFwcGFyYWF0IHBhcnRpdGllbnVtbWVyIFtJRF0iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAic2xlY2h0cyDDqcOpbiBhcHBhcmFhdCBpcyBtb2dlbGlqayAoYmVoYWx2ZSBtZXQgJy1sJyBvZiAnLXMnKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IG9wZW5lbiB2b29yIGxlemVuLWVuLXNjaHJpanZlbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICJrYW4gJXMgbmlldCBvcGVuZW4gb20gdGUgbGV6ZW4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIlczogJWxkIGNpbGluZGVycywgJWxkIGtvcHBlbiwgJWxkIHNlY3RvcmVuL3Nwb29yXG4iCisKKyN+IG1zZ2lkICJiYWQgYWN0aXZlIGJ5dGU6IDB4JXggaW5zdGVhZCBvZiAweDgwIgorI34gbXNnc3RyICJvbmp1aXN0ZSAnYWN0aWVmJy1ieXRlOiAweCV4IGluIHBsYWF0cyB2YW4gMHg4MCIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIktsYWFyIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiVSBoZWJ0ICVkIGFjdGlldmUsIHByaW1haXJlIHBhcnRpdGllcy4gIERpdCBtYWFrdCBuaWV0cyB1aXQgdm9vciBMSUxPLFxuIgorI34gIm1hYXIgRE9TIE1CUiBzdGFydCBhbGxlZW4gb3AgdmFuIGVlbiBzY2hpamYgbWV0IDEgYWN0aWV2ZSBwYXJ0aXRpZS4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJwYXJ0aXRpZSAlcyBoZWVmdCBJRCAleCBlbiBpcyBuaWV0IHZlcmJvcmdlbiIKKworI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIk9uZ2VsZGlnIElEICVseCIKKworI34gbXNnaWQgIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlLiIKKyN+IG1zZ3N0ciAiRGV6ZSBzY2hpamYgaXMgb3AgZGl0IG1vbWVudCBpbiBnZWJydWlrLiIKKworI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiRmF0YWxlIGZvdXQ6IGthbiAlcyBuaWV0IHZpbmRlbiIKKworI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiAlcyBpcyBnZWVuIGJsb2stYXBwYXJhYXQiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIlBhcnRpdGllICVkIGJlc3RhYXQgbmlldDsga2FuIGRlemUgZHVzIG5pZXQgdmVyYW5kZXJlbiEiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJIbW0uLi4gdnJlZW1kZSBwYXJ0aXRpZXMgLS0gZXIgaXMgbmlldHMgZ2V3aWp6aWdkLlxuIgorI34gIihBbHMgdSBkaXQgZWNodCB3aWx0LCBrdW50IHUgLS1mb3JjZSBnZWJydWlrZW4uKSIKKworI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIkhtbS4uLiB2cmVlbWRlIHBhcnRpdGllcyAtLSB3YWFyc2NoaWpubGlqayBtb2V0IHUgTmVlIGFudHdvb3JkZW4uIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIkJlbnQgdSBoaWVybWVlIHRldnJlZGVuPyBbeW5xXSAiCisKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiR2VzdG9wdCAtLSBlciBpcyBuaWV0cyBnZXdpanppZ2QuIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiQW50d29vcmQgbWV0ICd5JyAoamEpIG9mICduJyAobmVlKSBvZiAncScgKHN0b3BwZW4pLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiRGUgbmlldXdlIHBhcnRpdGlldGFiZWwgaXMgbWV0IHN1Y2NlcyB3ZWdnZXNjaHJldmVuLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiQWxzIHUgZWVuIERPUy1wYXJ0aXRpZSBnZW1hYWt0IG9mIGdld2lqemlnZCBoZWJ0LCBiaWp2b29yYmVlbGQgL2Rldi9mb283LFxuIgorI34gImdlYnJ1aWsgZGFuIGRkKDEpIG9tIGRlIGVlcnN0ZSA1MTIgYnl0ZXMgbnVsIHRlIG1ha2VuOlxuIgorI34gIiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MSAgKHppZSBtYW4gZmRpc2soOCkpIgorCisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIkFscyB1IERPUy02LngtcGFydGl0aWVzIGdlbWFha3Qgb2YgZ2V3aWp6aWdkIGhlYnQsXG4iCisjfiAicmFhZHBsZWVnIGRhbiBoZXQgZmRpc2staGFuZGJvZWsgdm9vciBtZWVyIGluZm9ybWF0aWUuIgorCisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInZlbGQgaXMgdGUgbGFuZyIKKworI34gbXNnaWQgIiVzOiAnJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogJyVjJyBpcyBuaWV0IHRvZWdlc3RhYW4iCisKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIGlzIG5pZXQgdG9lZ2VzdGFhbiIKKworI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogc3R1dXJ0ZWtlbnMgemlqbiBuaWV0IHRvZWdlc3RhYW4iCisKKyN+IG1zZ2lkICJjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJzdHV1cnRla2VucyB6aWpuIG5pZXQgdG9lZ2VzdGFhbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1c2UgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIGNvbXBhcmUgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gZGVmaW5lIHN0cmluZyB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIGVlbiBhbHRlcm5hdGllZiB3b29yZGVuYm9layBnZWJydWlrZW5cbiIKKyN+ICIgIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBhbGxlZW4gYWxmYW51bWVyaWVrZSB0ZWtlbnMgdmVyZ2VsaWprZW5cbiIKKyN+ICIgIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICB2ZXJzY2hpbCB0dXNzZW4gaG9vZmQtIGVuIGtsZWluZSBsZXR0ZXJzIG5lZ2VyZW5cbiIKKyN+ICIgIC10LCAtLXRlcm1pbmF0ZSA8dGVrZW4+ICBoZXQgdGVrZW4gZGF0IGVlbiB0ZWtlbnJlZWtzIGFmc2x1aXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlczogaXMgdmVyd2lqZGVyYmFhciBhcHBhcmFhdCIKKworI34gbXNnaWQgIiVzOiBjb25uZWN0ZWQgYnkgaG90cGx1ZyBzdWJzeXN0ZW06ICVzIgorI34gbXNnc3RyICIlczogdmVyYm9uZGVuIGRvb3IgaGV0ICdob3RwbHVnJy1zdWJzeXN0ZWVtOiAlcyIKKworI34gbXNnaWQgInRpbWVvdXQgY2Fubm90IGJlIHplcm8iCisjfiBtc2dzdHIgInRpamRzbGltaWV0IGthbiBuaWV0IG51bCB6aWpuIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIldhY2h0ZW4gaW4gbHVzIHRvdGRhdCBkZSB0aWpkIHZhbiBpb2N0bChLREdIV0NMSykgdmVyYW5kZXJ0Li4uXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJIZXQgbGV6ZW4gdmFuIGRlIHRpamQgdmlhIGlvY3RsKEtER0hXQ0xLKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJIZXQgbGV6ZW4gdmFuIGRlIHRpamQgdmlhIGlvY3RsKEtER0hXQ0xLKSBpcyBtaXNsdWt0IHRpamRlbnMgZGUgbHVzIgorCisjfiBtc2dpZCAiaW9jdGwoKSBmYWlsZWQgdG8gcmVhZCB0aW1lIGZyb20gJXMiCisjfiBtc2dzdHIgImlvY3RsKCkga2FuIGdlZW4gdGlqZCBsZXplbiB1aXQgJXMiCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsKEtEU0hXQ0xLKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiVXNpbmcgdGhlIEtER0hXQ0xLIGludGVyZmFjZSB0byBtNjhrIGNsb2NrLiIKKyN+IG1zZ3N0ciAiR2VicnVpayB2YW4gS0RHSFdDTEstaW50ZXJmYWNlIHZvb3IgbTY4ay1rbG9rLiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiT3BlbmVuIHZhbiAvZGV2L3R0eTEgb2YgL2Rldi92Yy8xIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsKEtER0hXQ0xLKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiAgJXMgW29wdGllc10gPHByb2dyYW1tYT4gWzxhcmd1bWVudD4uLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorI34gIiAtdSwgLS11c2VyIDxuYW1lfGlkPiAgIGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1nLCAtLXBncnAgPFBHSUQ+ICAgICAgIHRlIGJlw69udmxvZWRlbiBwcm9jZXNncm9lcHMtSURcbiIKKyN+ICIgIC1uLCAtLXByaW9yaXR5IDxnZXRhbD4gIHRlIGdlYnJ1aWtlbiBiZWxlZWZkaGVpZHN0b2VuYW1lXG4iCisjfiAiICAtcCwgLS1waWQgPFBJRD4gICAgICAgICB0ZSBiZcOvbnZsb2VkZW4gcHJvY2VzLUlEXG4iCisjfiAiICAtdSwgLS11c2VyIDxuYWFtfFVJRD4gICB0ZSBiZcOvbnZsb2VkZW4gZ2VicnVpa2VyIChuYWFtIG9mIFVJRClcbiIKKworI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIgICVzJXMgW29wdGllc10gW3Byb2dyYW1tYSBbcHJvZ3JhbW1hLWFyZ3VtZW50ZW5dXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKKyN+ICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzLCB1c2Ugd2l0aCAtLXNob3dcbiIKKyN+ICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1hLCAtLWFsbCAgICAgICAgICAgICBhbGxlIHdpc3NlbGdlYmllZGVuIHVpdCAvZXRjL2ZzdGFiIGluc2NoYWtlbGVuXG4iCisjfiAiICAtZCwgLS1kaXNjYXJkICAgICAgICAgdnJpamdlbWFha3RlIHBhZ2luYSdzIHZlcndlcnBlbiB2w7PDs3IgaGVyZ2VicnVpa1xuIgorI34gIiAgLWUsIC0taWZleGlzdHMgICAgICAgIG5pZXQtYmVzdGFhbmRlIGFwcGFyYXRlbiBzdGlsendpamdlbmQgb3ZlcnNsYWFuXG4iCisjfiAiICAtZiwgLS1maXhwZ3N6ICAgICAgICAgd2lzc2VsZ2ViaWVkIGhlcmluaXRpYWxpc2VyZW4gaW5kaWVuIG5vZGlnXG4iCisjfiAiICAtcCwgLS1wcmlvcml0eSA8cHJpPiAgdGUgZ2VicnVpa2VuIHByaW9yaXRlaXQgdm9vciB3aXNzZWxnZWJpZWRcbiIKKyN+ICIgIC1zLCAtLXN1bW1hcnkgICAgICAgICBhbGxlZW4gc2FtZW52YXR0aW5nIHZhbiBnZWJydWlrdGUgd2lzc2VsZ2ViaWVkZW4gdG9uZW5cbiIKKyN+ICIgIC12LCAtLXZlcmJvc2UgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSBbPGJlc3RhbmQ+Li4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtLCAgLS1uby11bmRlcmxpbmluZyAgYWxsZSBvbmRlcnN0cmVwaW5nZW4gb25kZXJkcnVra2VuXG4iCisjfiAiICAtMiwgLS1oYWxmLWxpbmVzICAgICAgYWxsZSBoYWxmcmVnZWxzIHdlZXJnZXZlblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2FsbGluZyBoZXhkdW1wIGFzIG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgR05VIGNvcmV1dGlscyBvZCIKKyN+IG1zZ3N0ciAiIgorI34gIkhldCBhYW5yb2VwZW4gdmFuICdoZXhkdW1wJyBhbHMgJ29kJyB3b3JkdCBvbnRyYWRlbjtcbiIKKyN+ICJnZWJydWlrIGhpZXJ2b29yIGluIGRlIHBsYWF0cyBkZSAnb2QnIHZhbiBHTlUgY29yZXV0aWxzLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiR2VicnVpazogICVzIFtvcHRpZV0gPGJlc3RhbmQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLW4sIC0tbGluZXMgQUFOVEFMICBkZSBsYWF0c3RlIEFBTlRBTCByZWdlbHMgd2VlcmdldmVuXG4iCisjfiAiICAtQUFOVEFMICAgICAgICAgICAgIGhldHplbGZlIGFscyAnLS1saW5lcyBBQU5UQUwnXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiICAlcyBbb3B0aWVzXSA8YmVzdGFuZD5cbiIKKworI34gbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAia2FuIGFsbGVlbiBsb2thbGUgaXRlbXMgd2lqemlnZW4iCisKKyN+IG1zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZSBzdGFtcCB1c2luZyBmb3JtYXQ6XG4iCisjfiBtc2dzdHIgIiAgICAgIC0tdGltZS1mb3JtYXQgPG9wbWFhaz4gIHRpamRzc3RlbXBlbHMgdG9uZW4gaW4gZ2VnZXZlbiBvcG1hYWs6XG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKKworI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgImdlZW4gPG9wZHJhY2h0PiBnZWdldmVuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICIgICVzIFtvcHRpZXNdIDxwYWRuYWFtPi4uLlxuIgorCisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiZ2VlbiBiZXN0YW5kc25hYW0gZ2VnZXZlbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi4xIHBhZ2luYSB0ZXJ1ZyIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi4xIHJlZ2VsIG92ZXJzbGFhbmQiCisKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAid2FpdHBpZCgpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIGV4dHJhY3QgaW50byBkaXJlY3RvcnlcbiIKKyN+IG1zZ3N0ciAiICAteCwgLS1kZXN0aW5hdGlvbiA8bWFwPiAgZXh0cmFoZXJlbiBuYWFyIGRlemUgbWFwXG4iCisKKyN+IG1zZ2lkICJjb21waWxlZCB3aXRob3V0IC14IHN1cHBvcnQiCisjfiBtc2dzdHIgImdlY29tcGlsZWVyZCB6b25kZXIgb25kZXJzdGV1bmluZyB2b29yICcteCciCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IE9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIltvbmJydWlrYmFhcl0iCisKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAic2NocmlqdmVuIGlzIG1pc2x1a3RcbiIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiRGUgc2NoaWpmIGlzIHZlcmFuZGVyZC5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICJIZXJzdGFydCBoZXQgc3lzdGVlbSBvbSBlciB6ZWtlciB2YW4gdGUgemlqbiBkYXQgZGUganVpc3RlIHBhcnRpdGlldGFiZWwgd29yZHQgZ2V6aWVuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55XG4iCisjfiAiRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBjZmRpc2sgbWFudWFsXG4iCisjfiAicGFnZSBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIldBQVJTQ0hVV0lORzogQWxzIHUgRE9TLTYueC1wYXJ0aXRpZXMgZ2VtYWFrdCBvZiBnZXdpanppZ2QgaGVidCxcbiIKKyN+ICJyYWFkcGxlZWcgZGFuIGhldCBjZmRpc2staGFuZGJvZWsgdm9vciBtZWVyIGluZm9ybWF0aWUuXG4iCisKKyN+IG1zZ2lkICJGQVRBTCBFUlJPUiIKKyN+IG1zZ3N0ciAiRkFUQUxFIEZPVVQiCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICJEcnVrIG9wIGVlbiB0b2V0cyBvbSAnY2ZkaXNrJyBhZiB0ZSBzbHVpdGVuIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiS2FuIGdlZW4gJ3NlZWsnIGRvZW4gb3Agc2NoaWpmIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiS2FuIHNjaGlqZiBuaWV0IGxlemVuIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkthbiBuaWV0IG5hYXIgc2NoaWpmIHNjaHJpanZlbiIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlRlIHZlZWwgcGFydGl0aWVzIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpdGllIGJlZ2ludCB2w7PDs3Igc2VjdG9yIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBhcnRpdGllIGVpbmRpZ3QgdsOzw7NyIHNlY3RvciAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgYmVnaW50IG5hIGVpbmRlIHZhbiBzY2hpamYiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgZWluZGlndCBuYSBlaW5kZSB2YW4gc2NoaWpmIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJsb2dpc2NoZSBwYXJ0aXRpZXMgbGlnZ2VuIG5pZXQgaW4gc2NoaWpmdm9sZ29yZGUiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAibG9naXNjaGUgcGFydGl0aWVzIG92ZXJsYXBwZW4iCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAidmVyZ3JvdGUgbG9naXNjaGUgcGFydGl0aWVzIG92ZXJsYXBwZW4iCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiKipJbnRlcm5lIHByb2dyYW1tYWZvdXQqKiBiaWogaGV0IG1ha2VuIHZhbiBsb2dpc2NoZSBzY2hpamYgem9uZGVyIHVpdGdlYnJlaWRlIHBhcnRpdGllIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJLYW4gaGllciBnZWVuIGxvZ2lzY2hlIHNjaGlqZiBtYWtlbiAtLSB6b3UgdHdlZSB1aXRnZWJyZWlkZSBwYXJ0aXRpZXMgbWFrZW4iCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiTWVudS1pdGVtIGlzIHRlIGxhbmcuICBNZW51IHppZXQgZXIgbWlzc2NoaWVuIHJhYXIgdWl0LiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJPbmdlbGRpZ2UgdG9ldHMiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlAgPSBlZW4gbmlldXdlIHByaW1haXJlIHBhcnRpdGllIG1ha2VuIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJMID0gZWVuIG5pZXV3ZSBsb2dpc2NoZSBwYXJ0aXRpZSBtYWtlbiIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiYW5udWxlcmVuIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICJFc2MsRXNjID0gR2VlbiBwYXJ0aXRpZSBtYWtlbiIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIioqSW50ZXJuZSBwcm9ncmFtbWFmb3V0KioiCisKKyN+IG1zZ2lkICJTaXplIChpbiBNQik6ICIKKyN+IG1zZ3N0ciAiR3Jvb3R0ZSAoaW4gTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIkJlZ2luIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiQiA9IHBhcnRpdGllIHRvZXZvZWdlbiBhYW4gYmVnaW4gdmFuIHZyaWplIHJ1aW10ZSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgZW5kIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIkUgPSBQYXJ0aXRpZSB0b2V2b2VnZW4gYWFuIGVpbmRlIHZhbiB2cmlqZSBydWltdGUiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJFciBpcyBnZWVuIHJ1aW10ZSBvbSBkZSB1aXRnZWJyZWlkZSBwYXJ0aXRpZSB0ZSBtYWtlbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiR2VlbiBwYXJ0aXRpZXRhYmVsIGFhbndlemlnLiAgR2VzdGFydCBtZXQgZWVuIGxlZ2UgdGFiZWwuIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIk9uanVpc3RlIHZpbmdlcmFmZHJ1ayBpbiBwYXJ0aXRpZXRhYmVsIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiT25iZWtlbmQgcGFydGl0aWV0YWJlbHR5cGUiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJXaWx0IHUgbWV0IGVlbiBsZWdlIHRhYmVsIGJlZ2lubmVuPyBbai9OXSIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkthbiBzY2hpamYgbmlldCBvcGVuZW4iCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJTY2hpamYgaXMgYWxzIGFsbGVlbi1sZXplbiBnZW9wZW5kIC0tIHUgaGVidCBnZWVuIHRvZWdhbmdzcmVjaHRlbiBvbSB0ZSBzY2hyaWp2ZW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAiS2FuIHNjaGlqZmdyb290dGUgbmlldCBhY2h0ZXJoYWxlbiIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIHByaW1haXJlIHBhcnRpdGllIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBUaGlzIG1heSBkZXN0cm95IGRhdGEgb24geW91ciBkaXNrISIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nISEgIERpdCBrYW4gZ2VnZXZlbnMgb3AgdXcgc2NoaWpmIHdpc3NlbiEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiQW50d29vcmQgbWV0ICdqYScgb2YgJ25lZScuIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAiU2NocmlqdmVuIHZhbiBwYXJ0aXRpZXRhYmVsIG5hYXIgc2NoaWpmLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIkRlIHBhcnRpdGlldGFiZWwgaXMgbmFhciBzY2hpamYgZ2VzY2hyZXZlbi4iCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAiIgorI34gIlBhcnRpdGlldGFiZWwgaXMgZ2VzY2hyZXZlbiwgbWFhciBvcG5pZXV3IGlubGV6ZW4gaXMgbWlzbHVrdC5cbiIKKyN+ICJEcmFhaSBwYXJ0cHJvYmUoOCkgb2Yga3BhcnR4KDgpLCBvZiBoZXJzdGFydCB1dyBzeXN0ZWVtIG9tIGRlXG4iCisjfiAianVpc3RlIHRhYmVsIHRlIGdlYnJ1aWtlbi4iCisKKyN+IG1zZ2lkICJObyBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiRXIgaXMgZ2VlbiBwcmltYWlyZSBwYXJ0aXRpZSBhbHMgb3BzdGFydGJhYXIgZ2VtYXJrZWVyZC4gIERPUyBNQlIga2FuIGRpdCBuaWV0IG9wc3RhcnRlbi4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiTWVlciBkYW4gw6nDqW4gcHJpbWFpcmUgcGFydGl0aWUgaXMgYWxzIG9wc3RhcnRiYWFyIGdlbWFya2VlcmQuICBET1MgTUJSIGthbiBkaXQgbmlldCBvcHN0YXJ0ZW4uIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIkdlZWYgZWVuIGJlc3RhbmRzbmFhbSBvcCwgb2YgZHJ1ayBvcCBFbnRlciB2b29yIHdlZXJnYXZlIG9wIGhldCBzY2hlcm06ICIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIlNjaGlqZjogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICJTZWN0b3IgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VjdG9yICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAgW2dlZW5dICIKKworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIiAgIHByaS9sb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICBwcmltYWlyIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgbG9naXNjaCIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiZ2VlbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBUYWJsZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiUGFydGl0aWV0YWJlbCB2YW4gJXM6XG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBFZXJzdGUgICAgIExhYXRzdGVcbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMgVHlwZSAgICAgICAgIHNlY3RvciAgICAgIHNlY3RvciBQbGFhdHMgICAgICBMZW5ndGUgQmVzdGFuZHNzeXN0ZWVtIChJRCkgVmxhZ1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAgLS0tLUJlZ2luLS0tLS0gICAgICAgLS0tLUVpbmRlLS0tLS0gICAgICAgICAgICAgICAgICBBYW50YWxcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyAgVmxhZyAgS29wICBTZWMgICBDaWwgICBJRCAgS29wICBTZWMgICBDaWwgU3RhcnRzZWN0b3IgICAgc2VjdG9yZW5cbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAgLS0tLSAgLS0tICAtLS0gIC0tLS0gLS0tLSAgLS0tICAtLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiUnV3IgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiUiA9IGRlIHRhYmVsIGluIHJ1d2UtZ2VnZXZlbnNpbmRlbGluZyB3ZWVyZ2V2ZW4iCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJTID0gZGUgdGFiZWwgZ2VvcmRlbmQgb3Agc2VjdG9yZW4gd2VlcmdldmVuIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmVsIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJUID0gZ2V3b29uIGRlIHBhcnRpdGlldGFiZWwgd2VlcmdldmVuIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJFc2MsRXNjID0gdGFiZWwgbmlldCB3ZWVyZ2V2ZW4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICAgIGcgICAgICBjaWxpbmRlcnMsIGtvcHBlbiwgc2VjdG9yZW4tcGVyLXNwb29yIHdpanppZ2VuOyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAqd2FhcnNjaHV3aW5nKjogZGV6ZSBvcHRpZSBkaWVudCBhbGxlZW4gdGUgd29yZGVuIGdlYnJ1aWt0IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGtub3cgd2hhdCB0aGV5IGFyZSBkb2luZy4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBkb29yIG1lbnNlbiBkaWUgZWNodCB3ZXRlbiB3YXQgemUgZG9lbiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIG0gICAgICBzY2hpamZnZWJydWlrIHZhbiBkZSBodWlkaWdlIHBhcnRpdGllIG1heGltYWxpc2VyZW47IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGRpdCBrYW4gZWVuIHBhcnRpdGllIGluY29tcGF0aWJlbCBtYWtlbiBtZXQgRE9TLCBPUy8yLCAuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgICAgcCAgICAgIHBhcnRpdGlldGFiZWwgd2VlcmdldmVuIG9wIHNjaGVybSBvZiBuYWFyIGJlc3RhbmQ7IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgZXIgemlqbiB2ZXJzY2hpbGxlbmRlIG9wbWFrZW4gd2FhcnVpdCB1IGt1bnQga2llemVuOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgciAtIHJ1d2UgZ2VnZXZlbnMgKGV4YWN0IHdhdCBuYWFyIHNjaGlqZiB6b3Ugd29yZGVuIGdlc2NocmV2ZW4pIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBzIC0gdGFiZWwgZ2VvcmRlbmQgb3Agc2VjdG9yZW4iCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgICAgdSAgICAgIGdlYnJ1aWt0ZSBlZW5oZWlkIHZvb3IgcGFydGl0aWVncm9vdHRlIHdpanppZ2VuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgKHJvdGVlcnQgZG9vciBNQiwgc2VjdG9yZW4gZW4gY2lsaW5kZXJzKSIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIiAgQ3RybC1MICAgaGV0IHNjaGVybSBvcG5pZXV3IHRla2VuZW4iCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgICA/ICAgICAgZGl0IGh1bHBzY2hlcm0gdG9uZW4iCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkNpbGluZGVyZ2VvbWV0cmllIHdpanppZ2VuIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIktvcHBlbmdlb21ldHJpZSB3aWp6aWdlbiIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlNlY3Rvcmdlb21ldHJpZSB3aWp6aWdlbiIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiS2xhYXIgbWV0IHdpanppZ2VuIHZhbiBnZW9tZXRyaWUiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJHZWVmIGhldCBhYW50YWwgY2lsaW5kZXJzOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiT25qdWlzdGUgd2FhcmRlIHZvb3IgY2lsaW5kZXJzIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJHZWVmIGhldCBhYW50YWwga29wcGVuOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJPbmp1aXN0ZSB3YWFyZGUgdm9vciBrb3BwZW4iCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIkdlZWYgaGV0IGFhbnRhbCBzZWN0b3JlbiBwZXIgc3Bvb3I6ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiT25qdWlzdGUgd2FhcmRlIHZvb3Igc2VjdG9yZW4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiR2VlZiBoZXQgc29vcnQgYmVzdGFuZHNzeXN0ZWVtOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIkthbiBiZXN0YW5kc3N5c3RlZW1zb29ydCBuaWV0IG5hYXIgJ2xlZWcnIHZlcmFuZGVyZW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZXh0ZW5kZWQiCisjfiBtc2dzdHIgIkthbiBiZXN0YW5kc3N5c3RlZW1zb29ydCBuaWV0IG5hYXIgJ3VpdGdlYnJlaWQnIHZlcmFuZGVyZW4iCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIj8/KCUwMlgpIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAicHJpL2xvZyIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICJvbmJla2VuZCAoJTAyWCkiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlcyIKKyN+IG1zZ3N0ciAiU2NoaWpmOiAlcyIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisjfiBtc2dzdHIgIkdyb290dGU6ICVsbGQgYnl0ZXMsICVsbGQgTUIiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIkdyb290dGU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAiS29wcGVuOiAlZCAgIFNlY3RvcmVuIHBlciBzcG9vcjogJWQgICBDaWxpbmRlcnM6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlBhcnQudHlwZSIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIkJlc3RhbmRzc3lzdGVlbSIKKworI34gbXNnaWQgIltMYWJlbF0iCisjfiBtc2dzdHIgIltMYWJlbF0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgU2VjdG9yZW4iCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRlcnMiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiR3Jvb3R0ZSAoTUIpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIkdyb290dGUgKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiRXIgemlqbiBnZWVuIHZlcmRlcmUgcGFydGl0aWVzIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIkcgPSBzY2hpamZnZW9tZXRyaWUgd2lqemlnZW4gKGFsbGVlbiB2b29yIGV4cGVydHMpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIk1heGltZXJlbiIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNID0gc2NoaWpmZ2VicnVpayBtYXhpbWFsaXNlcmVuIHZvb3IgaHVpZGlnZSBwYXJ0aXRpZSAoYWxsZWVuIHZvb3IgZXhwZXJ0cykiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiUDp0b25lbiIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIlQgPSBiZXN0YW5kc3N5c3RlZW1zb29ydCB3aWp6aWdlbiAoRE9TLCBMaW51eCwgT1MvMiwgLi4uKSIKKworI34gbXNnaWQgIlVuaXRzIgorI34gbXNnc3RyICJVOmVlbmhlaWQiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJVID0gd2VlcmdhdmUtZWVuaGVpZCB3aWp6aWdlbiAoTUIsIHNlY3RvcmVuLCBjaWxpbmRlcnMpIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIkthbiBkZXplIHBhcnRpdGllIG5pZXQgb3BzdGFydGJhYXIgbWFrZW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiS2FuIGVlbiBsZWdlIHBhcnRpdGllIG5pZXQgdmVyd2lqZGVyZW4iCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkthbiBkZXplIHBhcnRpdGllIG5pZXQgbWF4aW1hbGlzZXJlbiIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJEZXplIHBhcnRpdGllIGlzIG9uYnJ1aWtiYWFyIgorCisjfiBtc2dpZCAiVGhpcyBwYXJ0aXRpb24gaXMgYWxyZWFkeSBpbiB1c2UiCisjfiBtc2dzdHIgIkRlemUgcGFydGl0aWUgaXMgYWwgaW4gZ2VicnVpayIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdGhlIHR5cGUgb2YgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICJLYW4gaGV0IHR5cGUgdmFuIGVlbiBsZWdlIHBhcnRpdGllIG5pZXQgd2lqemlnZW4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIk9uanVpc3RlIG9wZHJhY2h0IgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVhZHMgPGdldGFsPiAgICAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBrb3BwZW5cbiIKKworI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiICAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGVlbiBnZW9tZXRyaWUgZ29ra2VuIG9wIGJhc2lzIHZhbiBwYXJ0aXRpZXRhYmVsXG4iCisKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIgIC1QLCAtLXByaW50IHtyfHN8dH0gICAgICAgcGFydGl0aWV0YWJlbCB0b25lbiBpbiBhYW5nZWdldmVuIG9wbWFha1xuIgorCisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICBlZW4gcGlqbCBnZWJydWlrZW4gb20gaHVpZGlnZSBwYXJ0aXRpZSBhYW4gdGUgZ2V2ZW5cbiIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICJrYW4gYWFudGFsIGNpbGluZGVycyBuaWV0IG9udGxlZGVuIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAia2FuIGFhbnRhbCBrb3BwZW4gbmlldCBvbnRsZWRlbiIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAia2FuIGFhbnRhbCBzZWN0b3JlbiBuaWV0IG9udGxlZGVuIgorCisjfiBtc2dpZCAiOiAiCisjfiBtc2dzdHIgIjogIgorCisjfiBtc2dpZCAiIC1iIDxzaXplPiAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+IG1zZ3N0ciAiICAtYiA8Z3Jvb3R0ZT4gICAgICB0ZSBnZWJydWlrZW4gc2VjdG9yZ3Jvb3R0ZSAoNTEyLCAxMDI0LCAyMDQ4LCBvZiA0MDk2KVxuIgorCisjfiBtc2dpZCAiXG4iCisjfiBtc2dzdHIgIlxuIgorCisjfiBtc2dpZCAiIyIKKyN+IG1zZ3N0ciAiIyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIiIKKyN+ICJQYXJ0aXRpZSAlZCBpcyBhbCBnZWRlZmluaWVlcmQuICBWZXJ3aWpkZXIgZGV6ZSBlZXJzdCxcbiIKKyN+ICJlbiB2b2VnIGhlbSBkYW4gb3BuaWV1dyB0b2UuIgorCisjfiBtc2dpZCAiIgorI34gIlBhcnRpdGlvbiB0eXBlOlxuIgorI34gIiAgIHAgICBwcmltYXJ5ICglemQgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6ZCBmcmVlKVxuIgorI34gIiVzXG4iCisjfiAiU2VsZWN0IChkZWZhdWx0ICVjKSIKKyN+IG1zZ3N0ciAiIgorI34gIlBhcnRpdGlldHlwZTpcbiIKKyN+ICIgICBwICAgcHJpbWFpciAoJXpkIHByaW1haXIsICVkIHVpdGdlYnJlaWQsICV6ZCB2cmlqKVxuIgorI34gIiVzXG4iCisjfiAiS2llcyAoc3RhbmRhYXJkIGlzICVjKSIKKworI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiICAgZSAgIHVpdGdlYnJlaWRlIHBhcnRpdGllIgorCisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5yIgorCisjfiBtc2dpZCAiSGQiCisjfiBtc2dzdHIgIktwIgorCisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJTZWMiCisKKyN+IG1zZ2lkICJDeWwiCisjfiBtc2dzdHIgIkNpbCIKKworI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpdCBsaWprdCBuaWV0IG9wIGVlbiBwYXJ0aXRpZXRhYmVsLlxuIgorI34gIldhYXJzY2hpam5saWprIGtvb3MgdSBlZW4gdmVya2VlcmQgYXBwYXJhYXQuIgorCisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAiQmxva2tlbiAiCisKKyN+IG1zZ2lkICJTeXN0ZW0iCisjfiBtc2dzdHIgIlN5c3RlZW0iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICIiCisjfiAiUGFydGl0aWUgJXpkIGlzIGFsIGdlZGVmaW5pZWVyZC4gIFZlcndpamRlciBkZXplIGVlcnN0LFxuIgorI34gImVuIHZvZWcgaGVtIGRhbiBvcG5pZXV3IHRvZS4iCisKKyN+IG1zZ2lkICJJbmZvIgorI34gbXNnc3RyICJJbmZvIgorCisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJTZWN0b3IiCisKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiVSB6dWx0IGVlbiBwYXJ0aXRpZS1vdmVybGFwIGtyaWpnZW4gb3AgZGUgc2NoaWpmLiAgTG9zIGRpdCBlZXJzdCBvcCEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorI34gbXNnc3RyICIiCisjfiAiV2FhcnNjaHV3aW5nOiBpb2N0bChCTEtHRVRTSVpFKSBpcyBtaXNsdWt0IG9wICVzLlxuIgorI34gIkNpbGluZGVyZ2VvbWV0cmlld2FhcmRlICVsbHUgd29yZHQgbnUgZ2VicnVpa3QuXG4iCisjfiAiRGV6ZSB3YWFyZGUga2FuIHZvb3IgYXBwYXJhdGVuIGdyb3RlciBkYW4gMzMuOCBHQiBhZmdla2FwdCB6aWpuLiIKKworI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIlZsYWciCisKKyN+IG1zZ2lkICIiCisjfiAiICUxJHMgW29wdGlvbnNdIExBQkVMPTxsYWJlbD5cbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gVVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgJTEkcyBbb3B0aWVzXSBMQUJFTD08bGFiZWw+XG4iCisjfiAiICAlMSRzIFtvcHRpZXNdIFVVSUQ9PHV1aWQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+IHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWYsIC0tZmlsZT1CRVNUQU5EICBkaXQgYmVzdGFuZCBhbHMgY29va2llLXNlZWQgZ2VicnVpa2VuXG4iCisjfiAiICAtdiwgLS12ZXJib3NlICAgICAgIHZlcm1lbGRlbiB3YXQgZXIgZ2VkYWFuIHdvcmR0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJCb3RoIC0tcGlkIGFuZCAtLW5vLXBpZCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tbm8tcGlkLiIKKyN+IG1zZ3N0ciAiWm93ZWwgJy0tcGlkJyBhbHMgJy0tbm8tcGlkJyBpcyBnZWdldmVuOyAnLS1uby1waWQnIHdvcmR0IGdlbmVnZWVyZC4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAid2FhcnNjaHV3aW5nOiBmb3V0IGJpaiBsZXplbiB2YW4gJXM6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIndhYXJzY2h1d2luZzoga2FuICVzIG5pZXQgb3BlbmVuOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiAlcyBuaWV0IG9wZW5lbiAtLSAlcyB3b3JkdCBnZWJydWlrdFxuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2FuIHZlcmdyZW5kZWxpbmdzYmVzdGFuZCAlcyBuaWV0IGFhbm1ha2VuOiAlcyAgKGdlYnJ1aWsgb3B0aWUgJy1uJyBvbSB0ZSBmb3JjZXJlbikiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2FuIHZlcmdyZW5kZWxpbmdzYmVzdGFuZCAlcyBuaWV0IGtvcHBlbGVuOiAlcyAgKGdlYnJ1aWsgb3B0aWUgJy1uJyBvbSB0ZSBmb3JjZXJlbikiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2FuIHZlcmdyZW5kZWxpbmdzYmVzdGFuZCAlcyBuaWV0IG9wZW5lbjogJXMgIChnZWJydWlrIG9wdGllICctbicgb20gdGUgZm9yY2VyZW4pIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgImthbiB2ZXJncmVuZGVsaW5nc2Jlc3RhbmQgJXMgbmlldCB2ZXJncmVuZGVsZW46ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgImthbiB2ZXJncmVuZGVsaW5nc2Jlc3RhbmQgJXMgbmlldCB2ZXJncmVuZGVsZW46ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLYW4ga29wcGVsaW5nICVzIG5pZXQgbWFrZW4uXG4iCisjfiAiTW9nZWxpamsgaXMgZXIgbm9nIGVlbiBvdWQgdmVyZ3JlbmRlbGluZ3NiZXN0YW5kP1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IG9wZW5lbiAoJXMpIC0tIG10YWIgaXMgbmlldCBiaWpnZXdlcmt0IgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImZvdXQgYmlqIHNjaHJpanZlbiB2YW4gJXM6ICVzIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVzOiBrYW4gd2lqemlnaW5nZW4gbmlldCB3ZWdzY2hyaWp2ZW46ICVzIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZm91dCBiaWogd2lqemlnZW4gdmFuIG1vZHVzIHZhbiAlczogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJmb3V0IGJpaiB3aWp6aWdlbiB2YW4gZWlnZW5hYXIgdmFuICVzOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICJrYW4gJXMgbmlldCBoZXJub2VtZW4gdG90ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnQ6IFdhYXJzY2h1d2luZzogL2V0Yy9tdGFiIGlzIG5pZXQgc2NocmlqZmJhYXIgKG1vZ2VsaWprIHdlZ2VucyBlZW5cbiIKKyN+ICIgICAgICAgYWxsZWVuLWxlemVuIGJlc3RhbmRzc3lzdGVlbSkuICBIZXQga2FuIGR1cyB6aWpuIGRhdCBkZSBpbmZvcm1hdGllXG4iCisjfiAiICAgICAgIGdlcmFwcG9ydGVlcmQgZG9vciBtb3VudCg4KSBuaWV0IGNvcnJlY3QgaXMuICBaaWUgdm9vciBhY3R1ZWxlXG4iCisjfiAiICAgICAgIGluZm8gb3ZlciBhYW5rb3BwZWxpbmdzcHVudGVuIGhldCBiZXN0YW5kICcvcHJvYy9tb3VudHMnLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGltcHJvcGVybHkgcXVvdGVkIG9wdGlvbiBzdHJpbmcgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IG9uanVpc3QgYWFuZ2VoYWFsZGUgdGVrZW5yZWVrcyAnJXMnIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhcmd1bWVudCB2YW4gJXMgaXMgdmVydGFhbGQgdmFuICclcycgbmFhciAnJXMnXG4iCisKKyN+IG1zZ2lkICJtb3VudDogU0VMaW51eCAqY29udGV4dD0gb3B0aW9ucyBhcmUgaWdub3JlIG9uIHJlbW91bnQuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBTRUxpbnV4LW9wdGllcyAnKmNvbnRleHQ9JyB3b3JkZW4gZ2VuZWdlZXJkIGJpaiBoZXJhYW5rb3BwZWxlbi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogdm9sZ2VucyAnbXRhYicgaXMgJXMgYWwgYWFuZ2Vrb3BwZWxkIG9wICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogdm9sZ2VucyAnbXRhYicgaXMgJXMgYWFuZ2Vrb3BwZWxkIG9wICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuICVzIG5pZXQgb3BlbmVuIG9tIHRlIHNjaHJpanZlbjogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBmb3V0IGJpaiBzY2hyaWp2ZW4gdmFuICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGZvdXQgYmlqIHdpanppZ2VuIHZhbiBtb2R1cyB2YW4gJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDoga2FuIGdyb2Vwcy1JRCBuaWV0IGluc3RlbGxlbjogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBnZWJydWlrZXJzLUlEIG5pZXQgaW5zdGVsbGVuOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlbjogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAic29vcnQgJXMgd29yZHQgZ2Vwcm9iZWVyZFxuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IFUgZ2FmIGdlZW4gYmVzdGFuZHNzeXN0ZWVtc29vcnQgYWFuIHZvb3IgJXM7XG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBhbGxlIHNvb3J0ZW4gZ2Vub2VtZCBpbiAlcyBvZiAlcyB3b3JkZW4gZ2Vwcm9iZWVyZFxuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICBoZXQgbGlqa3QgZXJvcCBkYXQgZGl0IHdpc3NlbGdlaGV1Z2VuIGlzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBzb29ydCAlcyB3b3JkdCBnZXByb2JlZXJkXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyB6aWV0IGVyIHVpdCBhbHMgd2lzc2VsZ2VoZXVnZW4gLS0gbmlldCBhYW5nZWtvcHBlbGQiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6ICVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorI34gIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisjfiAiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiAlczogZXIgemlqbiBtZWVyZGVyZSBiZXN0YW5kc3N5c3RlbWVuIGdlZGV0ZWN0ZWVyZC5cbiIKKyN+ICIgICAgRGl0IHpvdSBuaWV0IG1vZ2VuIGdlYmV1cmVuLiAgR2VicnVpayAnLXQgU09PUlQnIG9tIGV4cGxpY2lldCBkZVxuIgorI34gIiAgICBiZXN0YW5kc3N5c3RlZW1zb29ydCBhYW4gdGUgZ2V2ZW4sIG9mIGdlYnJ1aWsgd2lwZWZzKDgpIG9tIGhldFxuIgorI34gIiAgICBhcHBhcmFhdCBvcCB0ZSBzY2hvbmVuLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBhbGxlZW4gcm9vdCBrYW4gJXMgYWFua29wcGVsZW4gb3AgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogbHVzLWFwcGFyYWF0IGlzIHR3ZWUga2VlciBhYW5nZWdldmVuIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogc29vcnQgaXMgdHdlZSBrZWVyIGFhbmdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGluc3RlbGxlbiB2YW4gbHVzLWFwcGFyYWF0IHdvcmR0IG92ZXJnZXNsYWdlblxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGx1cy1hcHBhcmFhdHZsYWcgJ2F1dG9jbGVhcicgd29yZHQgaW5nZXNjaGFrZWxkXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBvbmdlbGRpZ2UgcG9zaXRpZSAnJXMnIG9wZ2VnZXZlbiIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG9uZ2VsZGlnZSBncm9vdHRlZ3JlbnMgJyVzJyBvcGdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiB2b2xnZW5zICdtdGFiJyBpcyAlcyBhbCBhbHMgbHVzLWFwcGFyYWF0IGFhbmdla29wcGVsZCBvcCAlcyIKKworI34gbXNnaWQgImVuY3J5cHRpb24gbm90IHN1cHBvcnRlZCwgdXNlIGNyeXB0c2V0dXAoOCkgaW5zdGVhZCIKKyN+IG1zZ3N0ciAidmVyc2xldXRlbGluZyB3b3JkdCBuaWV0IG9uZGVyc3RldW5kOyBnZWJydWlrIGNyeXB0c2V0dXAoOCkiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJtb3VudDogaW5pdGlhbGlzZXJlbiB2YW4gbHVzLWFwcGFyYWF0LWNvbnRleHQgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGdlYnJ1aWtlbiB2YW4gYXBwYXJhYXQgJXMgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBnZWVuIHZyaWogbHVzLWFwcGFyYWF0IHZpbmRlbiIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byB1c2UgdGhlIGxvb3AgZGV2aWNlICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsdXMtYXBwYXJhYXQgJXMgemFsIHdvcmRlbiBnZWJydWlrdFxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBpbnN0ZWxsZW4gdmFuIGVpZ2Vuc2NoYXBwZW4gdmFuIGx1cy1hcHBhcmFhdCBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIm1vdW50OiAlczogaW5zdGVsbGVuIHZhbiBsdXMtYXBwYXJhYXQgaXMgbWlzbHVrdDogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBsdXMtYXBwYXJhYXQgJXMgaXMgZG9vciBhbmRlciBwcm9jZXMgYWZnZXBha3Q7IC4uLiBuaWV1d2UgcG9naW5nXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgIm1vdW50OiBsdXMtYXBwYXJhYXQgJXMgaXMgZG9vciBhbmRlciBwcm9jZXMgYWZnZXBha3QiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBsdXMtYXBwYXJhYXQgaXMgbWV0IHN1Y2NlcyBpbmdlc3RlbGRcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGdlZW4gJXMgZ2V2b25kZW4gLS0gd29yZHQgbnUgYWFuZ2VtYWFrdC4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDoga2FuICVzIG5pZXQgb3BlbmVuIG9tIHNuZWxoZWlkIGluIHRlIHN0ZWxsZW4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gc25lbGhlaWQgbmlldCBpbnN0ZWxsZW46ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHZvbGdlbnMgJ210YWInIGlzICVzIGFsIGFhbmdla29wcGVsZCBvcCAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IFdhYXJzY2h1d2luZzogJXMgc2NoaWpudCBhYW5nZWtvcHBlbGQgYWxzIGxlemVuLWVuLXNjaHJpanZlblxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJtb3VudDogV2FhcnNjaHV3aW5nOiAlcyBzY2hpam50IGFhbmdla29wcGVsZCBhbHMgYWxsZWVuLWxlemVuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gYmVzdGFuZHNzeXN0ZWVtc29vcnQgbmlldCBiZXBhbGVuLCBlbiBlciBpcyBnZWVuIGFhbmdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogdSBtb2V0IGVlbiBiZXN0YW5kc3N5c3RlZW1zb29ydCBhYW5nZXZlbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBhYW5rb3BwZWxlbiBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnQ6IGFhbmtvcHBlbGluZ3NwdW50ICVzIGlzIGdlZW4gbWFwIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDogdG9lZ2FuZyBnZXdlaWdlcmQiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogdSBtb2V0IHJvb3QgemlqbiBvbSBhYW4gdGUga3VubmVuIGtvcHBlbGVuIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyBpcyBhbCBhYW5nZWtvcHBlbGQiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBpcyBhbCBhYW5nZWtvcHBlbGQgb2YgJXMgaXMgYmV6aWciCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiBhYW5rb3BwZWxpbmdzcHVudCAlcyBiZXN0YWF0IG5pZXQiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW50OiBhYW5rb3BwZWxpbmdzcHVudCAlcyBpcyBlZW4gc3ltYm9saXNjaGUga29wcGVsaW5nIGRpZSBuZXJnZW5zIG5hYXIgd2lqc3QiCisKKyN+IG1zZ2lkICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiBhcHBhcmFhdCAlcyBiZXN0YWF0IG5pZXQiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0XG4iCisjfiAiICAgICAgIChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFwcGFyYWF0ICVzIGJlc3RhYXQgbmlldCAgKGhldCBwYWQgYmV2YXQgaWV0cyBkYXQgZ2VlbiBtYXAgaXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBvbmp1aXN0ZSBiZXN0YW5kc3N5c3RlZW1zb29ydCwgb25nZWxkaWdlIG9wdGllLCBvbnRicmVrZW5kZSBjb2RlcGFnaW5hLFxuIgorI34gIiAgICAgICBvbnRicmVrZW5kIGh1bHBwcm9ncmFtbWEsIHNsZWNodCBzdXBlcmJsb2sgb3AgJXMsIG9mIGVlbiBhbmRlcmUgZm91dCIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoaXMgZGl0IG1pc3NjaGllbiBlZW4gSURFLWFwcGFyYWF0IHdhYXIgdSBpbiBmZWl0ZSBpZGUtc2NzaSBnZWJydWlrdCxcbiIKKyN+ICIgICAgICAgem9kYXQgc3IwIG9mIHNkYSBvZiBpZXRzIGRlcmdlbGlqa3Mgbm9kaWcgaXM/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChwcm9iZWVydCB1IG1pc3NjaGllbiBlZW4gdWl0Z2VicmVpZGUgcGFydGl0aWUgYWFuIHRlIGtvcHBlbGVuLFxuIgorI34gIiAgICAgICBpbiBwbGFhdHMgdmFuIGVlbiBkYWFyaW4gb3BnZW5vbWVuIGxvZ2lzY2hlIHBhcnRpdGllPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBTb21zIHN0YWF0IGVyIG51dHRpZ2UgaW5mb3JtYXRpZSBpbiBoZXQgc3lzdGVlbWxvZyAtLVxuIgorI34gIiAgICAgICBwcm9iZWVyIHpvaWV0cyBhbHM6ICBkbWVzZyB8IHRhaWxcbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtb3VudDogJXM6IGthbiBzdXBlcmJsb2sgbmlldCBsZXplbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlczogb25iZWtlbmQgYXBwYXJhYXQiCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IG9uYmVrZW5kZSBiZXN0YW5kc3N5c3RlZW1zb29ydCAnJXMnIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHdhYXJzY2hpam5saWprIGJlZG9lbGRlIHUgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICdpc285NjYwJz8iCisjfiBtc2dzdHIgIm1vdW50OiBtb2dlbGlqayBiZWRvZWxkZSB1ICdpc285NjYwJz8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiBtb2dlbGlqayBiZWRvZWxkZSB1ICd2ZmF0Jz8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgaGVlZnQgb25qdWlzdCBhcHBhcmFhdG51bW1lciwgb2YgYmVzdGFuZHNzeXN0ZWVtc29vcnQgJXMgd29yZHQgbmlldCBvbmRlcnN0ZXVuZCIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0IGZhaWxzPyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGlzIGdlZW4gYmxvay1hcHBhcmFhdCwgZW4gc3RhdCgpIGlzIG1pc2x1a3QuLi4gaGVlbCB2cmVlbWQiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGRlIGtlcm5lbCBoZXJrZW50ICVzIG5pZXQgYWxzIGVlbiBibG9rLWFwcGFyYWF0XG4iCisjfiAiICAgICAgIChtaXNzY2hpZW4gaXMgJ21vZHByb2JlIHN0dXVycHJvZ3JhbW1hJyBub2RpZz8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgaXMgZ2VlbiBibG9rLWFwcGFyYWF0ICAobWlzc2NoaWVuICctbyBsb29wJyBwcm9iZXJlbj8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGlzIGdlZW4gYmxvay1hcHBhcmFhdCIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBpcyBnZWVuIGdlbGRpZyBibG9rLWFwcGFyYWF0IgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiAlcyVzIG5pZXQgYWFua29wcGVsZW4gdm9vciBhbGxlZW4tbGV6ZW4iCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgaXMgc2NocmlqZmJldmVpbGlnZCwgbWFhciBleHBsaWNpZXRlIG9wdGllICctdycgaXMgZ2VnZXZlbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiAlcyVzIG5pZXQgaGVyYWFua29wcGVsZW4gYWxzIGxlemVuLWVuLXNjaHJpanZlbiwgd2FudCBpcyBzY2hyaWpmYmV2ZWlsaWdkIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGlzIHNjaHJpamZiZXZlaWxpZ2QgZW4gd29yZHQgYWxzIGFsbGVlbi1sZXplbiBhYW5nZWtvcHBlbGQiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogZ2VlbiBtZWRpdW0gZ2V2b25kZW4gb3AgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGdlZW4gc29vcnQgZ2VnZXZlbiAtLSBORlMgYWFuZ2Vub21lbiwgdmFud2VnZSBkZSBkdWJiZWxlIHB1bnRcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW50OiBnZWVuIHNvb3J0IGdlZ2V2ZW4gLS0gQ0lGUyBhYW5nZW5vbWVuLCB2YW53ZWdlIGhldCAvLy12b29ydm9lZ3NlbFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGlnbm9yZSAlcyAodW5wYXJzYWJsZSBvZmZzZXQ9IG9wdGlvbilcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHdvcmR0IGdlbmVnZWVyZCAob25iZWdyZXBlbiBvcHRpZSAnb2Zmc2V0PScpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogIG1vdW50ICAgICAgICAgICAgICAgICA6IGFhbmdla29wcGVsZGUgYmVzdGFuZHNzeXN0ZW1lbiB0b25lblxuIgorI34gIiAgICAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdXNpZWYgdm9sdW1lbmxhYmVsc1xuIgorI34gIlxuIgorI34gIlRvdCB6b3ZlciBoZXQgZGVlbCBkYXQgaW5mb3JtYXRpZSB3ZWVyZ2VlZnQuICBOdSBoZXQgYWFua29wcGVsZW4uXG4iCisjfiAiRGUgYWxnZW1lbmUgdm9ybSBpczogICdtb3VudCBbLXQgYmVzdGFuZHNzeXN0ZWVtc29vcnRdIGlldHMgZXJnZW5zJy5cbiIKKyN+ICJEZXRhaWxzIGRpZSBpbiAvZXRjL2ZzdGFiIHN0YWFuIGt1bm5lbiB3b3JkZW4gd2VnZ2VsYXRlbi5cbiIKKyN+ICIgICAgICAgICAgbW91bnQgLWEgWy10fC1PXSAgICAgIDogYWxsZXMgaW4gL2V0Yy9mc3RhYiBhYW5rb3BwZWxlblxuIgorI34gIiAgICAgICAgICBtb3VudCBhcHBhcmFhdCAgICAgICAgOiBhcHBhcmFhdCBhYW5rb3BwZWxlbiBvcCBkZSBiZWtlbmRlIHBsYWF0c1xuIgorI34gIiAgICAgICAgICBtb3VudCBtYXAgICAgICAgICAgICAgOiBiZWtlbmQgYXBwYXJhYXQgaGllciBhYW5rb3BwZWxlblxuIgorI34gIiAgICAgICAgICBtb3VudCAtdCBzb29ydCBhcHBhcmFhdCBtYXAgOiB2b2xsZWRpZ2UgbW91bnQtb3BkcmFjaHRcbiIKKyN+ICJNZXJrIG9wIGRhdCBtZW4gbmlldCBlY2h0IGVlbiBhcHBhcmFhdCBhYW5rb3BwZWx0LCBtYWFyIGhldCBiZXN0YW5kc3N5c3RlZW1cbiIKKyN+ICIodmFuIGRlIGdlZ2V2ZW4gc29vcnQpIGRhdCB6aWNoIG9wIGRhdCBhcHBhcmFhdCBiZXZpbmR0LlxuIgorI34gIlxuIgorI34gIk1lbiBrYW4gb29rIGVlbiByZWVkcyB6aWNodGJhcmUgbWFwcGVuYm9vbSBlcmdlbnMgYW5kZXJzIGFhbmtvcHBlbGVuOlxuIgorI34gIiAgICAgICAgICBtb3VudCAtLWJpbmQgb3VkZW1hcCBuaWV1d2VtYXBcbiIKKyN+ICJvZiBlZW4gc3ViYm9vbSB2ZXJwbGFhdHNlbjpcbiIKKyN+ICIgICAgICAgICAgbW91bnQgLS1tb3ZlIG91ZGVtYXAgbmlldXdlbWFwXG4iCisjfiAiTWVuIGthbiB2YW4gZWVuIGFhbmtvcHBlbGluZyBkZSBzb29ydCB2ZXJhbmRlcmVuLCBhbHMgJ21hcCcgZXJpbiB2b29ya29tdDpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBtYXBcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIG1hcFxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBtYXBcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgbWFwXG4iCisjfiAiTWVuIGthbiB2YW4gYWxsZSBhYW5rb3BwZWxpbmdlbiBpbiBlZW4gc3ViYm9vbSBkZSBzb29ydCB2ZXJhbmRlcmVuLFxuIgorI34gImFscyAnbWFwJyBlcmluIHZvb3Jrb210OlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBtYXBcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBtYXBcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIG1hcFxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgbWFwXG4iCisjfiAiXG4iCisjfiAiRWVuIGFwcGFyYWF0IGthbiB3b3JkZW4gb3BnZWdldmVuIHZpYSBkZSBuYWFtLCB6ZWcgL2Rldi9oZGExIG9mIC9kZXYvY2Ryb20sXG4iCisjfiAib2YgdmlhIGhldCBsYWJlbCwgbWV0IC1MIGxhYmVsLCBvZiB2aWEgZGUgVVVJRCwgbWV0IC1VIFVVSUQuXG4iCisjfiAiQW5kZXJlIG9wdGllcyB6aWpuOiBbLW5mRnJzdnddIFstbyBvcHRpZXNdIFstcCB3YWNodHdvb3JkYmVzdGFuZHNkZXNjcmlwdG9yXS5cbiIKKyN+ICJWb29yIG1lZXIgaW5mb3JtYXRpZSwgemllIG1hbiBtb3VudCg4KS5cbiIKKworI34gbXNnaWQgIi0tcGFzcy1mZCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorI34gbXNnc3RyICJvcHRpZSAnLS1wYXNzLWZkJyB3b3JkdCBuaWV0IGxhbmdlciBvbmRlcnN0ZXVuZCIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogYWxsZWVuIHJvb3Qga2FuIGRhdCBkb2VuIChmZWl0ZWxpamtlIFVJRCBpcyAldSkiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJtb3VudDogYWxsZWVuIHJvb3Qga2FuIGRhdCBkb2VuIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAiZXIgd2VyZCBuaWV0cyBhYW5nZWtvcHBlbGQiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW50OiBkaWUgcGFydGl0aWUgaXMgbmlldCBnZXZvbmRlbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuICVzIG5pZXQgdmluZGVuIGluICVzIG5vY2ggaW4gJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiB3YWFyc2NodXdpbmc6IGdlZW4gYWZzbHVpdGVuZCByZWdlbGVpbmRldGVrZW4gYWFuIGhldCBlaW5kIHZhbiAlc1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IHJlZ2VsICVkIGluICVzIGlzIG9uZ2VsZGlnJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgcmVzdCB2YW4gYmVzdGFuZCBpcyBnZW5lZ2VlcmQiCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAiJ3Vtb3VudCcgaXMgZ2Vjb21waWxlZXJkIHpvbmRlciBvbmRlcnN0ZXVuaW5nIHZvb3IgJy1mJ1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gZ3JvZXBzLUlEIG5pZXQgaW5zdGVsbGVuOiAlbSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gZ2VicnVpa2Vycy1JRCBuaWV0IGluc3RlbGxlbjogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlbjogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBpbnZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogb25nZWxkaWcgYmxvay1hcHBhcmFhdCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBuaWV0IGFhbmdla29wcGVsZCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudDogJXM6IGthbiBuaWV0IG5hYXIgc3VwZXJibG9rIHNjaHJpanZlbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1bW91bnQ6ICVzOiBkZXZpY2UgaXMgYnVzeS5cbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0IHVzZVxuIgorI34gIiAgICAgICAgIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ1bW91bnQ6ICVzOiBhcHBhcmFhdCBpcyBiZXppZ1xuIgorI34gIiAgICAgICAgKFdlbGtlIHByb2Nlc3NlbiBoZXQgYXBwYXJhYXQgZ2VicnVpa2VuIGthbiBtb2dlbGlqa1xuIgorI34gIiAgICAgICAgIGdldm9uZGVuIHdvcmRlbiBtZXQgYmVodWxwIHZhbiBsc29mKDgpIG9mIGZ1c2VyKDEpLikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5pZXQgZ2V2b25kZW4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHUgbW9ldCByb290IHppam4gb20gYWYgdGUga3VubmVuIGtvcHBlbGVuIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogYmxvY2sgZGV2aWNlcyBub3QgcGVybWl0dGVkIG9uIGZzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBibG9rLWFwcGFyYXRlbiBuaWV0IHRvZWdlc3RhYW4gb3AgYmVzdGFuZHNzeXN0ZWVtIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgInVtb3VudDogKmludGVybmUgcHJvZ3JhbW1hZm91dCo6IG9uZ2VsZGlnIGFic29sdXV0IHBhZDogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBjaGRpciB0byAlczogJW0iCisjfiBtc2dzdHIgInVtb3VudDogbmFhciBtYXAgJXMgZ2FhbiBpcyBtaXNsdWt0OiAlbSIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgInVtb3VudDogYWNodGVyaGFsZW4gdmFuIGh1aWRpZ2UgbWFwIGlzIG1pc2x1a3Q6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBtb3VudHBvaW50IG1vdmVkICglcyAtPiAlcykiCisjfiBtc2dzdHIgInVtb3VudDogYWFua29wcGVsaW5nc3B1bnQgaXMgdmVycGxhYXRzdCAoJXMgLT4gJXMpIgorCisjfiBtc2dpZCAiY3VycmVudCBkaXJlY3RvcnkgbW92ZWQgdG8gJXNcbiIKKyN+IG1zZ3N0ciAiaHVpZGlnZSBtYXAgaXMgdmVycGxhYXRzdCBuYWFyICVzXG4iCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgImdlZW4gdW1vdW50MiBhYW53ZXppZzsgcG9naW5nIG1ldCBnZXdvbmUgdW1vdW50Li4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgaXMgYmV6aWcgLS0gYWxzIGFsbGVlbi1sZXplbiBoZXJhYW5nZWtvcHBlbGRcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDoga2FuICVzIG5pZXQgYWxzIGFsbGVlbi1sZXplbiBoZXJhYW5rb3BwZWxlblxuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIHdlcmQgYWZnZWtvcHBlbGRcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IGthbiBnZWVuIGxpanN0IHZpbmRlbiBtZXQgYmVzdGFuZHNzeXN0ZW1lbiBvbSBhZiB0ZSBrb3BwZWxlbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgdW1vdW50IFstZGZucnZdIG1hcHxhcHBhcmFhdC4uLlxuIgorI34gIiAgICAgICAgICB1bW91bnQgLWEgWy1kZm5ydl0gWy10IGJlc3RhbmRzc3lzdGVlbXNvb3J0ZW5dIFstTyBvcHRpZXNdXG4iCisjfiAiICAgICAgICAgIHVtb3VudCAtaHwtVlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICdvZmZzZXQ9JXMnIG9wdGlvbnNcbiIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIG9wdGllcyAnb2Zmc2V0PSVzJyBpcyBtaXNsdWt0XG4iCisKKyN+IG1zZ2lkICJkZXZpY2UgJXMgaXMgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgImFwcGFyYWF0ICVzIGlzIGdlcmVsYXRlZXJkIGFhbiAlc1xuIgorCisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJLYW4gbmlldCBcIlwiIGFma29wcGVsZW5cbiIKKworI34gbXNnaWQgInVtb3VudDogY29uZnVzZWQgd2hlbiBhbmFseXppbmcgbXRhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiB2ZXJ3YXJkIHRpamRlbnMgYW5hbHlzZSB2YW4gJ210YWInLWJlc3RhbmQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCB1bm1vdW50ICVzIC0tICVzIGlzIG1vdW50ZWQgb3ZlciBpdCBvbiB0aGUgc2FtZSBwb2ludCIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gJXMgbmlldCBhZmtvcHBlbGVuIC0tICVzIGlzIGVyIG9wIGhldHplbGZkZSBwdW50IG92ZXJoZWVuIGFhbmdla29wcGVsZCIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiS2FuICVzIG5pZXQgdmluZGVuIGluIG10YWJcbiIKKworI34gbXNnaWQgInVtb3VudDogd2FybmluZzogJXMgaXMgYXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiB3YWFyc2NodXdpbmc6ICVzIGlzIGdlcmVsYXRlZXJkIGFhbiBtZWVyIGRhbiDDqcOpbiBsdXMtYXBwYXJhYXRcbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IG1vdW50ZWQgKGFjY29yZGluZyB0byBtdGFiKSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBpcyBuaWV0IGFhbmdla29wcGVsZCAodm9sZ2VucyBtdGFiKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBoZXQgbGlqa3QgZXJvcCBkYXQgJXMgbWVlcmRlcmUga2VyZW4gaXMgYWFuZ2Vrb3BwZWxkIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMgc3RhYXQgbmlldCBpbiBmc3RhYiAoZW4gdSBiZW50IG5pZXQgcm9vdCkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiBhYW5rb3BwZWxpbmcgb3AgJXMga29tdCBuaWV0IG92ZXJlZW4gbWV0IGZzdGFiIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVtb3VudDogYWxsZWVuICVzIGthbiAlcyBhZmtvcHBlbGVuIHZhbiAlcyIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnQ6IGFsbGVlbiByb290IGthbiBkYXQgZG9lbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiICAlcyBbb3B0aWVzXSA8dHR5Pi4uLlxuIgorCisjfiBtc2dpZCAiIC1zLCAtLXNldC10aHJlc2hvbGQgPG51bT4gICAgICAgICAgc2V0IGludGVycnVwdGlvbiB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiICAtcywgLS1zZXQtdGhyZXNob2xkIEdFVEFMICAgICAgICAgIG9uZGVyYnJla2luZ3NkcmVtcGVsd2FhcmRlIGluc3RlbGxlblxuIgorCisjfiBtc2dpZCAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bnVtPiAgc2V0IGRlZmF1bHQgdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIEdFVEFMICBzdGFuZGFhcmQgZHJlbXBlbHdhYXJkZSBpbnN0ZWxsZW5cbiIKKworI34gbXNnaWQgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIHNldCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAgLXQsIC0tc2V0LWZsdXNoIEdFVEFMICAgICAgICAgICAgICBkb29yc2x1aXMtdGlqZHNsaW1pZXQgaW5zdGVsbGVuXG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgIC1ULCAtLXNldC1kZWZhdWx0LWZsdXNoIEdFVEFMICAgICAgc3RhbmRhYXJkIGRvb3JzbHVpcy10aWpkc2xpbWlldCBpbnN0ZWxsZW5cbiIKKworI34gbXNnaWQgIiAtaSwgLS1pbnRlcnZhbCA8c2Vjb25kcz4gICAgICAgICAgIGdhdGhlciBzdGF0aXN0aWNzIGV2ZXJ5IDxzZWNvbmRzPiBpbnRlcnZhbFxuIgorI34gbXNnc3RyICIgIC1pLCAtLWludGVydmFsIEFBTlRBTCAgICAgICAgICAgICAgc3RhdGlzdGlla2VuIGVsayBBQU5UQUwgc2Vjb25kZW4gdmVyemFtZWxlblxuIgorCisjIFdhdCBkaWUgIkZvciIgYmV0ZWtlbnQ6IGdlZW4gaWRlZS4uLiAtLSBCZW5ubworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJWb29yIGJlc3RhbmQgJXMsIGVuIG1ldCBkcmVtcGVsd2FhcmRlICVsdSxcbiIKKyN+ICJ3YXMgaGV0IG1heGltdW0gYWFudGFsIHRla2VucyBpbiBkZSBmaWZvICVkLFxuIgorI34gImVuIGRlIG1heGltYWxlIG92ZXJkcmFjaHRzc25lbGhlaWQgJWYgdGVrZW5zL3NlY29uZGUuIgorCisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJWb29yIGJlc3RhbmQgJXMsIGVuIG1ldCBkcmVtcGVsd2FhcmRlICVsdSBlbiB0aWpkc2xpbWlldCAlbHUsXG4iCisjfiAid2FzIGhldCBtYXhpbXVtIGFhbnRhbCB0ZWtlbnMgaW4gZGUgZmlmbyAlZCxcbiIKKyN+ICJlbiBkZSBtYXhpbWFsZSBvdmVyZHJhY2h0c3NuZWxoZWlkICVmIHRla2Vucy9zZWNvbmRlLiIKKworI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAia2FuIGlvY3RsKENZR0VUTU9OKSBuaWV0IHVpdHZvZXJlbiBvcCAlcyIKKworI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAia2FuIGRyZW1wZWx3YWFyZGUgdm9vciAlcyBuaWV0IHZlcmtyaWpnZW4iCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJrYW4gdGlqZHNsaW1pZXQgdm9vciAlcyBuaWV0IHZlcmtyaWpnZW4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIiCisjfiAiJXM6ICVsdSBvbmRlcmJyZWtpbmdlbiwgJWx1LyVsdSB0ZWtlbnM7XG4iCisjfiAiZmlmbzogJWx1IGRyZW1wZWx3YWFyZGUsICVsdSB0aWpkc2xpbWlldCwgJWx1IG1heGltdW0sICVsdSBudVxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjLCAlZiBzZW5kIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYgb25kZXJicmVraW5nZW4vc2VjOyAlZiBvbnR2YW5nZW4sICVmIHZlcnpvbmRlbiAodGVrZW5zL3NlYylcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAlbHUgb25kZXJicmVraW5nZW4sICVsdSB0ZWtlbnM7XG4iCisjfiAiZmlmbzogJWx1IGRyZW1wZWx3YWFyZGUsICVsdSB0aWpkc2xpbWlldCwgJWx1IG1heGltdW0sICVsdSBudVxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYgb25kZXJicmVraW5nZW4vc2VjOyAlZiBvbnR2YW5nZW4gKHRla2Vucy9zZWMpXG4iCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJPbmdlbGRpZ2UgaW50ZXJ2YWx3YWFyZGUiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIGludGVydmFsd2FhcmRlOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICJPbmdlbGRpZ2UgZHJlbXBlbHdhYXJkZSIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIGRyZW1wZWx3YWFyZGU6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlIgorI34gbXNnc3RyICJPbmdlbGRpZ2Ugc3RhbmRhYXJkZHJlbXBlbHdhYXJkZSIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk9uZ2VsZGlnZSBzdGFuZGFhcmRkcmVtcGVsd2FhcmRlOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIk9uZ2VsZGlnZSB3YWFyZGUgdm9vciB0aWpkc2xpbWlldCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJPbmdlbGRpZ2Ugd2FhcmRlIHZvb3IgdGlqZHNsaW1pZXQ6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIk9uZ2VsZGlnZSBzdGFuZGFhcmR3YWFyZGUgdm9vciB0aWpkc2xpbWlldCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIHN0YW5kYWFyZHdhYXJkZSB2b29yIHRpamRzbGltaWV0OiAlZCIKKworI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJrYW4gJXMgbmlldCBpbnN0ZWxsZW4gb3AgZHJlbXBlbHdhYXJkZSAlZCIKKworI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IGluc3RlbGxlbiBvcCB0aWpkc2RyZW1wZWwgJWQiCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgaXMgaHVpZGlnZSBkcmVtcGVsd2FhcmRlIGVuICVsZCBpcyBodWlkaWdlIHRpamRzbGltaWV0XG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgaXMgc3RhbmRhYXJkIGRyZW1wZWx3YWFyZGUgZW4gJWxkIGlzIHN0YW5kYWFyZCB0aWpkc2xpbWlldFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGRvbid0IG1vZGlmeSB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAgcHVuY2ggaG9sZXMgaW4gdGhlIGZpbGVcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAtbiwgLS1rZWVwLXNpemUgICAgICAgICBsZW5ndGUgdmFuIGJlc3RhbmQgbmlldCB3aWp6aWdlblxuIgorI34gIiAgLXAsIC0tcHVuY2gtaG9sZSAgICAgICAgZ2F0ZW4gaW4gaGV0IGJlc3RhbmQgbWFrZW5cbiIKKyN+ICIgIC1vLCAtLW9mZnNldCA8Z2V0YWw+ICAgIHBvc2l0aWUgdmFuIGRlIHJlc2VydmVyaW5nLCBpbiBieXRlc1xuIgorI34gIiAgLWwsIC0tbGVuZ3RoIDxnZXRhbD4gICAgbGVuZ3RlIHZhbiBkZSByZXNlcnZlcmluZywgaW4gYnl0ZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPG51bT4gbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxnZXRhbD4gICBieXRlcG9zaXRpZSB2YW5hZiB3YWFyIGJsb2trZW4gdmVyd29ycGVuIG1vZXRlbiB3b3JkZW5cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxnZXRhbD4gICBsZW5ndGUgKGluIGJ5dGVzKSB2YW4gZ2ViaWVkIHdhYXJpbiBuYWFyIG9uZ2VicnVpa3RlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBibG9ra2VuIGdlem9jaHQgbW9ldCB3b3JkZW5cbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8Z2V0YWw+ICBtaW5pbXVtZ3Jvb3R0ZSAoaW4gYnl0ZXMpIHZhbiBlZW4gdGUgdmVyd2VycGVuXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBhYW5lZW5nZXNsb3RlbiBncm9lcCBvbmdlYnJ1aWt0ZSBibG9ra2VuXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgaGV0IGFhbnRhbCB2ZXJ3b3JwZW4gYnl0ZXMgdG9uZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiVmVybG9wZW4gdGlqZCBzaW5kcyBsYWF0c3RlIHJlZmVyZW50aWV0aWpkIGlzICUuNmYgc2Vjb25kZW4uXG4iCisjfiAiV29yZHQgdmVyZGVyIHVpdGdlc3RlbGQgb20gZGUgbmlldXdlIHRpamQgdGUgYmVyZWlrZW4uXG4iCisKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAgLXRlcm0gPHRlcm1pbmFsbmFhbT5cbiIKKworI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiICAtcmVzZXRcbiIKKworI34gbXNnaWQgIiAtaW5pdGlhbGl6ZVxuIgorI34gbXNnc3RyICIgIC1pbml0aWFsaXplXG4iCisKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIC1jdXJzb3Igb258b2ZmXG4iCisKKyN+IG1zZ2lkICIgLXJlcGVhdCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIC1yZXBlYXQgb258b2ZmXG4iCisKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtYXBwY3Vyc29ya2V5cyBvbnxvZmZcbiIKKworI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtbGluZXdyYXAgb258b2ZmXG4iCisKKyN+IG1zZ2lkICIgLWRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiICAtZGVmYXVsdFxuIgorCisjfiBtc2dpZCAiIC1mb3JlZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAgLWZvcmVncm91bmQgZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93XG4iCisKKyN+IG1zZ2lkICIgLWJhY2tncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiICAtYmFja2dyb3VuZCBkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3dcbiIKKworI34gbXNnaWQgIiAtaGJjb2xvciA8YmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiICAtaGJjb2xvciBibGFja3xibHVlfGJyaWdodHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93XG4iCisKKyN+IG1zZ2lkICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtaW52ZXJzZXNjcmVlbiBvbnxvZmZcbiIKKworI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIC1ib2xkIG9ufG9mZlxuIgorCisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIC1ibGluayBvbnxvZmZcbiIKKworI34gbXNnaWQgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIC1yZXZlcnNlIG9ufG9mZlxuIgorCisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICAtdW5kZXJsaW5lIG9ufG9mZlxuIgorCisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgIC1zdG9yZVxuIgorCisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAgLWNsZWFyIGFsbHxyZXN0XG4iCisKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICh0YWJuID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICh0YWJuID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gbXNnc3RyICIgIC1yZWd0YWJzIDxnZXRhbD4gICAgKDxnZXRhbD4gPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiICAtYmxhbmsgPGdldGFsPnxmb3JjZXxwb2tlICAgICg8Z2V0YWw+ID0gMC02MClcbiIKKworI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIC1kdW1wIDxjb25zb2xlbnVtbWVyPlxuIgorCisjfiBtc2dpZCAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgLWFwcGVuZCA8Y29uc29sZW51bW1lcj5cbiIKKworI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICAtZmlsZSA8ZHVtcGJlc3RhbmRzbmFhbT5cbiIKKworI34gbXNnaWQgIiAtbXNnIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgLW1zZyBvbnxvZmZcbiIKKworI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiICAtbXNnbGV2ZWwgPDAtOD5cbiIKKworI34gbXNnaWQgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorI34gbXNnc3RyICIgIC1wb3dlcmRvd24gPDAtNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiICAtYmxlbmd0aCA8MC0yMDAwPlxuIgorCisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAgLWJmcmVxIDxiZWxmcmVxdWVudGllPlxuIgorCisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJGb3V0IGJpaiBzY2hyaWp2ZW4gdmFuIHNjaGVybWFmZHJ1ayIKKworI34gbXNnaWQgIkNvdWxkbid0IHJlYWQgbmVpdGhlciAvZGV2L3Zjc2EwIG5vciAvZGV2L3Zjc2EiCisjfiBtc2dzdHIgIkthbiBub2NoIC9kZXYvdmNzYTAgbm9jaCAvZGV2L3Zjc2EgbGV6ZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJXMgW29wdGllc10gPGJlc3RhbmQ+Li4uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1kICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5nIGJlbGxcbiIKKyN+ICIgIC1mICAgICAgICBjb3VudCBsb2dpY2FsLCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKKyN+ICIgIC1sICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKKyN+ICIgIC1wICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorI34gIiAgLWMgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCisjfiAiICAtdSAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKKyN+ICIgIC1zICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCisjfiAiICAtTlVNICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKKyN+ICIgICtOVU0gICAgICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXIgTlVNXG4iCisjfiAiICArL1NUUklORyAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKKyN+ICIgIC1WICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLWQgICAgICAgIGh1bHAgdG9uZW4gaW4gcGxhYXRzIHZhbiB0ZSBwaWVwZW5cbiIKKyN+ICIgIC1mICAgICAgICBsb2dpc2NoZSByZWdlbHMgaW4gcGxhYXRzIHZhbiBzY2hlcm1yZWdlbHMgdGVsbGVuXG4iCisjfiAiICAtbCAgICAgICAgcGF1emUgbmEgbmlldXdlcGFnaW5hIChGRikgb25kZXJkcnVra2VuXG4iCisjfiAiICAtcCAgICAgICAgbmlldCBzY3JvbGxlbjsgc2NoZXJtIHdpc3NlbiBlbiB0ZWtzdCB3ZWVyZ2V2ZW5cbiIKKyN+ICIgIC1jICAgICAgICBuaWV0IHNjcm9sbGVuOyB0ZWtzdCB3ZWVyZ2V2ZW4gZW4gcmVnZWxlaW5kZW4gd2lzc2VuXG4iCisjfiAiICAtdSAgICAgICAgb25kZXJzdHJlcGluZ2VuIHdlZ2xhdGVuXG4iCisjfiAiICAtcyAgICAgICAgbWVlcmRlcmUgbGVnZSByZWdlbHMgc2FtZW5kcnVra2VuIHRvdCBlZW50amVcbiIKKyN+ICIgIC1HRVRBTCAgICB0ZSBnZWJydWlrZW4gYWFudGFsIHJlZ2VscyBwZXIgc2NoZXJtXG4iCisjfiAiICArR0VUQUwgICAgYmVzdGFuZCB3ZWVyZ2V2ZW4gdmFuYWYgZGl0IHJlZ2VsbnVtbWVyXG4iCisjfiAiICArL1RFS0VOUyAgYmVzdGFuZCB3ZWVyZ2V2ZW4gdmFuYWYgZGV6ZSB0ZWtlbnJlZWtzXG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJyZWdlbCBpcyB0ZSBsYW5nIgorCisjfiBtc2dpZCAic2V0IGJsb2Nrc2l6ZSIKKyN+IG1zZ3N0ciAiYmxva2dyb290dGUgaW5zdGVsbGVuIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICLDqcOpbiBzbGVjaHQgYmxva1xuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgInBhcnRpdGlldHlwZSAoaGV4IG9mIFVVSUQpIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICAlcyBbb3B0aWVzXSA8YXBwYXJhYXQ+XG4iCisKKyN+IG1zZ2lkICJyZWFkIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAibGV6ZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiJ3NlZWsnIG9wICVzIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJEZXRlY3RlZCAlZCBlcnJvcihzKS4iCisjfiBtc2dzdHIgIkdlZGV0ZWN0ZWVyZDogJWQgZm91dChlbikuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICJHZWVuIHBhcnRpdGllcyBnZWRlZmluaWVlcmQiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIGRldmljZVxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgICAgYWxsZSBnZWJydWlrdGUgbHVzLWFwcGFyYXRlbiB0b25lblxuIgorI34gIiAgLWQsIC0tZGV0YWNoIExVUy1BUFBBUkFBVC4uLiAgICAgZGV6ZSBhcHBhcmF0ZW4gb250aGVjaHRlblxuIgorI34gIiAgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgICAgYWxsZSBnZWJydWlrdGUgbHVzLWFwcGFyYXRlbiBvbnRoZWNodGVuXG4iCisjfiAiICAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICBlZXJzdGUgb25nZWJydWlrdGUgbHVzLWFwcGFyYWF0IHRvbmVuXG4iCisjfiAiICAtYywgLS1zZXQtY2FwYWNpdHkgTFVTLUFQUEFSQUFUICBkZSBncm9vdHRlIHZhbiBoZXQgYXBwYXJhYXQgd2lqemlnZW5cbiIKKyN+ICIgIC1qLCAtLWFzc29jaWF0ZWQgQkVTVEFORCAgICAgICAgIGdlcmVsYXRlZXJkZW4gYWFuIGRpdCBiZXN0YW5kIHRvbmVuXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSwgb2Zmc2V0IGlzIG5vdCA1MTItYnl0ZSBhbGlnbmVkIgorI34gbXNnc3RyICIlczogaW5zdGVsbGVuIHZhbiBsdXMtYXBwYXJhYXQgaXMgbWlzbHVrdCAtLSBkZSBwb3NpdGllIGlzIG5pZXQgNTEyLWJ5dGUtdWl0Z2VsaWpuZCIKKworI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICJuaWV0LW9uZGVyc3RldW5kIGFyZ3VtZW50OiAlcyIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJHZWJydWlrOlxuIgorCisjfiBtc2dpZCAiXHROT1RFOiBlbHZ0dW5lIG9ubHkgd29ya3Mgd2l0aCAyLjQga2VybmVsc1xuIgorI34gbXNnc3RyICIgICAgT3BtZXJraW5nOiAnZWx2dHVuZScgd2Vya3QgYWxsZWVuIG1ldCAyLjQga2VybmVsc1xuIgorCisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgIm9udGJyZWtlbmQgYmxvay1hcHBhcmFhdDsgZ2VicnVpayAnLWgnIHZvb3IgaHVscFxuIgorCisjfiBtc2dpZCAiIgorI34gImVsdnR1bmUgaXMgb25seSB1c2VmdWwgb24gb2xkZXIga2VybmVscztcbiIKKyN+ICJmb3IgMi42IHVzZSBJTyBzY2hlZHVsZXIgc3lzZnMgdHVuYWJsZXMgaW5zdGVhZC4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICInZWx2dHVuZScgaXMgZW5rZWwgbnV0dGlnIG9wIG91ZGVyZSBrZXJuZWxzO1xuIgorI34gImdlYnJ1aWsgdm9vciB2ZXJzaWUgMi42IGRlIElPLXNjaGVkdWxlciAnc3lzZnMgdHVuYWJsZXMnXG4iCisKKyN+IG1zZ2lkICJlZGl0aW9uIG51bWJlciBhcmd1bWVudCBmYWlsZWQiCisjfiBtc2dzdHIgIm9udGxlZGVuIHZhbiBlZGl0aWV3YWFyZGUgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJXMgW29wdGllc10gYXBwYXJhYXQgICAgICAgICAgICAgIGludGVyYWN0aWVmXG4iCisjfiAiICAgICAgICAgICVzIC1Qe3J8c3x0fSBbb3B0aWVzXSBhcHBhcmFhdCAgICBwYXJ0aXRpZXRhYmVsIHdlZXJnZXZlblxuIgorI34gIk9wdGllczpcbiIKKyN+ICItYSAgIGVlbiBwaWpsIGdlYnJ1aWtlbiBpbiBwbGFhdHMgdmFuIGVlbiBpbnZlcnNlIGJhbGs7XG4iCisjfiAiLXogICBtZXQgbGVnZSBwYXJ0aXRpZXRhYmVsIHN0YXJ0ZW4sIGluIHBsYWF0cyB2YW4gZGV6ZSB2YW4gc2NoaWpmIHRlIGxlemVuO1xuIgorI34gIi1jIEMgLWggSyAtcyBTICAgYW5kZXJlIHdhYXJkZW4gYWZkd2luZ2VuIHZvb3IgaGV0IGFhbnRhbCBjaWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICBrb3BwZW4gZW4gc2VjdG9yZW4vc3Bvb3IgZGFuIGRlIGtlcm5lbCBhYW5nZWVmdC5cbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJTY2hyaWp2ZW4gdmFuIHNjaGlqZmxhYmVsIG5hYXIgJXMuXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIkxhYXRzdGUgJXMgb2YgK2FhbnRhbCBvZiArYWFudGFsSyBvZiArYWFudGFsTSIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiTGV6ZW4gdmFuIHNjaGlqZmxhYmVsIHZhbiAlcyBiaWogc2VjdG9yICVkLlxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJCU0Qtc2NoaWpmbGFiZWxvcGRyYWNodCAobSB2b29yIGh1bHApOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAic2NoaWpmZ2VnZXZlbnM6ICIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICAgIGJlZ2luICAgICBlaW5kZSAgIGdyb290dGUgICBic3lzdGVlbSAgIFtncnR0ZSBibGdydCAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIk1vZXQgPD0gc2VjdG9yZW4vc3Bvb3IgKiBzcG9yZW4vY2lsaW5kZXIgemlqbi5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgKGEtJWMpOiAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB0b28gbWFueSBwYXJ0aXRpb25zICglZCwgbWF4aW11bSBpcyAlZCkuXG4iCisjfiBtc2dzdHIgIldhYXJzY2h1d2luZzogdGUgdmVlbCBwYXJ0aXRpZXMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKworI34gbXNnaWQgIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIkxlZWdtYWtlbiB2YW4gc2NoaWpmYnVmZmVycy4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAlMSRzIFtvcHRpb25zXSAtbCA8ZGlzaz4gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgJTEkcyAtcyA8cGFydGl0aW9uPiAgICAgIGdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgPHNpemU+ICAgICAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+ICIgLWNbPTxtb2RlPl0gICAgICAgICAgIGNvbXBhdGlibGUgbW9kZTogJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCisjfiAiIC11Wz08dW5pdD5dICAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBwcmludCBwcm9ncmFtIHZlcnNpb25cbiIKKyN+ICIgLUMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKKyN+ICIgLUggPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorI34gIiAtUyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJTEkcyBbb3B0aWVzXSA8c2NoaWpmPiAgICAgIHBhcnRpZXRhYmVsIHdpanppZ2VuXG4iCisjfiAiICAgICAgICAgICUxJHMgW29wdGllc10gLWwgPHNjaGlqZj4gICBwYXJ0aXRpZXRhYmVsKGxlbikgdG9uZW5cbiIKKyN+ICIgICAgICAgICAgJTEkcyAtcyA8cGFydGl0aWU+Li4uICAgICAgIHBhcnRpdGllZ3Jvb3R0ZShzKSB0b25lbiBpbiBibG9ra2VuXG4iCisjfiAiXG4iCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLWIgPGdyb290dGU+ICAgICAgdGUgZ2VicnVpa2VuIHNlY3Rvcmdyb290dGUgKDUxMiwgMTAyNCwgMjA0OCBvZiA0MDk2KVxuIgorI34gIiAgLWNbPTxtb2R1cz5dICAgICAgY29tcGF0aWJpbGl0ZWl0c21vZHVzOyAnbm9uZG9zJyAoc3RhbmRhYXJkKSBvZiAnZG9zJ1xuIgorI34gIiAgLXVbPTxlZW5oZWlkPl0gICAgZGUgd2VlcmdhdmUtZWVuaGVpZDsgJ3NlY3RvcnMnIChzdGFuZGFhcmQpIG9mICdjeWxpbmRlcnMnXG4iCisjfiAiICAtQyA8Z2V0YWw+ICAgICAgICB0ZSBnZWJydWlrZW4gYWFudGFsIGNpbGluZGVyc1xuIgorI34gIiAgLUggPGdldGFsPiAgICAgICAgdGUgZ2VicnVpa2VuIGFhbnRhbCBrb3BwZW5cbiIKKyN+ICIgIC1TIDxnZXRhbD4gICAgICAgIHRlIGdlYnJ1aWtlbiBhYW50YWwgc2VjdG9yZW4gcGVyIHNwb29yXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc2VlayBvbiAlcyIKKyN+IG1zZ3N0ciAia2FuIGdlZW4gJ3NlZWsnIGRvZW4gb3AgJXMiCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgImthbiBuaWV0IHNjaHJpanZlbiBuYWFyICVzIgorCisjfiBtc2dpZCAiZmF0YWwgZXJyb3IiCisjfiBtc2dzdHIgImZhdGFsZSBmb3V0IgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIk9wZHJhY2h0ICBBY3RpZSIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiVSBtb2V0IGluc3RlbGxlbjoiCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAia29wcGVuIgorCisjfiBtc2dpZCAiIGFuZCAiCisjfiBtc2dzdHIgIiBlbiAiCisKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgIk9uYmVrZW5kIGFjaHRlcnZvZWdzZWw6ICclcycuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VwcG9ydGVkOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgMl5OOiBLICAoS2liaUJ5dGUpLCBNICAoTWViaUJ5dGUpLCBHICAoR2liaUJ5dGUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJNb2dlbGlqayB6aWpuOiAxMF5OOiBLQiAoa2lsb2J5dGUpLCBNQiAoTWVnYWJ5dGUpLCBHQiAoR2lnYWJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgICAgIDJeTjogSyAgKEtpYmlieXRlKSwgTSAgKE1lYmlieXRlKSwgRyAgKEdpYmlieXRlKVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJTdGFuZGFhcmR3YWFyZGUgJXUgd29yZHQgZ2VicnVpa3RcbiIKKworI34gbXNnaWQgIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiU2NoaWpmICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisKKyN+IG1zZ2lkICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICJTY2hpamYgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisKKyN+IG1zZ2lkICIsICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIsICVsbHUgc2VjdG9yZW5cbiIKKworI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJrYW4gc2NoaWpmbGFiZWwgbmlldCBzY2hyaWp2ZW4iCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiRm91dCBiaWogc2x1aXRlbiB2YW4gYmVzdGFuZFxuIgorCisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IHNlY3RvcnBsYWF0cyB3b3JkdCBpbmdlc3RlbGQgdm9vciBET1MtY29tcGF0aWJpbGl0ZWl0XG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICJPU0YvMS1zY2hpamZsYWJlbCBnZXZvbmRlbiBvcCAlczsgb3ZlcmdlZ2FhbiBpbiBzY2hpamZsYWJlbG1vZHVzLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldBUk5JTkc6IERPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4gSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0b1xuIgorI34gIiAgICAgICAgIHN3aXRjaCBvZmYgdGhlIG1vZGUgKHdpdGggY29tbWFuZCAnYycpLiIKKyN+IG1zZ3N0ciAiIgorI34gIldBQVJTQ0hVV0lORzogRGUgRE9TLWNvbXBhdGliZWxlIG1vZHVzIHdvcmR0IHN0ZXJrIG9udHJhZGVuLlxuIgorI34gIiAgICAgICAgICAgICAgU2NoYWtlbCBkZSBtb2R1cyB1aXQgbWV0IG9wZHJhY2h0ICdjJy4iCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogY3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIFVzZSBjb21tYW5kICd1JyB0b1xuIgorI34gIiAgICAgICAgIGNoYW5nZSB1bml0cyB0byBzZWN0b3JzLlxuIgorI34gbXNnc3RyICIiCisjfiAiV0FBUlNDSFVXSU5HOiBEZSB3ZWVyZ2F2ZS1lZW5oZWlkICdjaWxpbmRlcnMnIHdvcmR0IG9udHJhZGVuLlxuIgorI34gIiAgICAgICAgICAgICAgR2VicnVpayAndScgb20gZGUgZWVuaGVpZCBvcCAnc2VjdG9yZW4nIGluIHRlIHN0ZWxsZW4uXG4iCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAiTmlldXcgc2NoaWpmLUlEIChodWlkaWdlIGlzIDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiR2VlbiB2cmlqZSBzZWN0b3JlbiBiZXNjaGlrYmFhclxuIgorCisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIkxhYXRzdGUgJXMsICslcyBvZiArZ3Jvb3R0ZXtLLE0sR30iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgICBmeXNpZWs9KCVkLCAlZCwgJWQpICAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJsb2dpc2NoPSglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJXYWFyc2NodXdpbmc6IG9uZ2VsZGlnZSBzdGFydC12YW4tZ2VnZXZlbnMgaW4gcGFydGl0aWUgJXpkXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJFZW4gcHJpbWFpcmUgcGFydGl0aWUgd29yZHQgdG9lZ2V2b2VnZC5cbiIKKworI34gbXNnaWQgIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiV0FBUlNDSFVXSU5HOiBBbHMgdSBET1MtNi54LXBhcnRpdGllcyBnZW1hYWt0IG9mIGdld2lqemlnZCBoZWJ0LFxuIgorI34gInJhYWRwbGVlZyBkYW4gaGV0IGZkaXNrLWhhbmRib2VrIHZvb3IgbWVlciBpbmZvcm1hdGllLlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIE9wc3RhcnQgICBCZWdpbiAgICAgICBFaW5kZSAgICAgQmxva2tlbiAgIElEICBTeXN0ZWVtXG4iCisKKyN+IG1zZ2lkICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gbXNnc3RyICJTY2hpamYgJXM6ICVkIGtvcHBlbiwgJWxsdSBzZWN0b3JlbiwgJWxsdSBjaWxpbmRlcnNcbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICJOciBBRiBLb3AgU2VjICBDaWwgS29wIFNlYyAgQ2lsICAgICAgQmVnaW4gICAgR3Jvb3R0ZSBJRFxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBNYWMgbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBmZGlzaygxKSBjYW5ub3QgaGFuZGxlIHRoZXNlIGRpc2tzLlxuIgorI34gIlx0VXNlIGVpdGhlciBwZGlzayBvciBwYXJ0ZWQgdG8gbW9kaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiXHROZXZlcnRoZWxlc3Mgc29tZSBhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgRXIgc3RhYXQgZWVuIGdlbGRpZyBNYWMtbGFiZWwgb3AgZGV6ZSBzY2hpamYuXG4iCisjfiAiICAgIEhlbGFhcyBvbmRlcnN0ZXVudCAnZmRpc2snIGRpdCB0eXBlIGxhYmVsIG5pZXQuXG4iCisjfiAiICAgIEdlYnJ1aWsgJ3BhcnRlZCcgb20gZGUgcGFydGl0aWV0YWJlbCBhYW4gdGUgcGFzc2VuLlxuIgorI34gIiAgICBUb2NoIHdhdCBhZHZpZXM6XG4iCisjfiAiICAgIDEuIEJpaiBzY2hyaWp2ZW4gemFsIGZkaXNrIGRlIGluaG91ZCBlcnZhbiBXSVNTRU4uXG4iCisjfiAiICAgIDIuIENvbnRyb2xlZXIgZGF0IGRlemUgc2NoaWpmIEVDSFQgTklFVCBub2cgZGVlbCB1aXRtYWFrdFxuIgorI34gIiAgICAgICB2YW4gZWVuIHZvbHVtZW5ncm9lcCAtLSBhbmRlcnMgd2lzdCB1IG1vZ2VsaWprIGRlIGFuZGVyZVxuIgorI34gIiAgICAgICBzY2hpanZlbiBvb2ssIGFscyBlciBnZWVuIG1pcnJvciBpcy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIFNvcnJ5IC0tIGRlemUgZmRpc2sgb25kZXJzdGV1bnQgZ2VlbiBNYWMtc2NoaWpmbGFiZWxzLlxuIgorI34gIiAgICBBbHMgdSBwYXJ0aXRpZXMgdmFuIGhldCBET1MtdHlwZSB3aWx0IHRvZXZvZWdlbiwgbWFhayBkYW5cbiIKKyN+ICIgICAgZWVyc3QgZWVuIG5pZXV3ZSwgbGVnZSBET1MtcGFydGl0aWV0YWJlbC4gIChHZWJydWlrICdvJy4pXG4iCisjfiAiICAgIFdBQVJTQ0hVV0lORzogRGl0IHphbCBkZSBodWlkaWdlIHNjaGlqZmluaG91ZCB3aXNzZW4uXG4iCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICJWb2xnZW5zICdNSVBTIENvbXB1dGVyIFN5c3RlbXMnIG1hZyBoZXQgbGFiZWwgbmlldCBtZWVyIGRhbiA1MTIgYnl0ZXMgYmV2YXR0ZW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNjaGlqZiAlcyAoU0dJLXNjaGlqZmxhYmVsKTogJWQga29wcGVuLCAlbGx1IHNlY3RvcmVuLCAlbGx1IGNpbGluZGVyc1xuIgorI34gIkVlbmhlaWQgPSAlcyB2YW4gJWQgKiAlbGQgYnl0ZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gUGFydGl0aWVzIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgQmVnaW4gICAgIEVpbmRlICBTZWN0b3JlbiAgSUQgIFN5c3RlZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBPcHN0YXJ0aW5mbyAtLS0tLVxuIgorI34gIk9wc3RhcnRiZXN0YW5kOiAlc1xuIgorI34gIi0tLS0tIE1hcGluZ2FuZ2VuIC0tLS0tXG4iCisKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgZ3Jvb3R0ZSU4dVxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkXG4iCisjfiBtc2dzdHIgIkdlZW4gcGFydGl0aWVzIGdlZGVmaW5pZWVyZFxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRlIGdlaGVsZS1zY2hpamZwYXJ0aXRpZSBpcyBzbGVjaHRzICVkIHNjaGlqZmJsb2trZW4gZ3Jvb3QsXG4iCisjfiAibWFhciBkZSBzY2hpamYgaXMgJWQgc2NoaWpmYmxva2tlbi5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgJWQgYmVnaW50IG5pZXQgb3AgZWVuIGNpbGluZGVyZ3JlbnMuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQYXJ0aXRpZSAlZCBlaW5kaWd0IG5pZXQgb3AgZWVuIGNpbGluZGVyZ3JlbnMuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiUGFydGl0aWUgJXpkIGlzIGFsIGdlZGVmaW5pZWVyZC4gIFZlcndpamRlciBkZXplIGVlcnN0LFxuIgorI34gImVuIHZvZWcgaGVtIGRhbiBvcG5pZXV3IHRvZS5cbiIKKworI34gbXNnaWQgIiBMYXN0ICVzIgorI34gbXNnc3RyICIgTGFhdHN0ZSAlcyIKKworI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuXG4iCisjfiBtc2dzdHIgIkFhbm1ha2VuIHZhbiBlZW4gbmlldXcgU0dJLXNjaGlqZmxhYmVsLlxuIgorCisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJpb2N0bChIRElPX0dFVEdFTykgaXMgbWlzbHVrdCBvcCAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuICBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LlxuIgorI34gIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IGlvY3RsKEJMS0dFVFNJWkUpIGlzIG1pc2x1a3Qgb3AgJXMuXG4iCisjfiAiQ2lsaW5kZXJnZW9tZXRyaWV3YWFyZGUgJWxsdSB3b3JkdCBudSBnZWJydWlrdC5cbiIKKyN+ICJEZXplIHdhYXJkZSBrYW4gdm9vciBhcHBhcmF0ZW4gZ3JvdGVyIGRhbiAzMy44IEdCIGFmZ2VrYXB0IHppam4uXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdFN0YXJ0PSVkXHRMZW5ndGU9JWRcbiIKKworI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiRXIgd29yZHQgZ2Vwcm9iZWVyZCByZWVkcyBpbmdlc3RlbGRlIHBhcnRpdGllcGFyYW1ldGVycyB0ZSBiZWhvdWRlbi5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJKQVxuIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCisjfiBtc2dzdHIgIkFhbm1ha2VuIHZhbiBlZW4gbmlldXcgU3VuLXNjaGlqZmxhYmVsLiIKKworI34gbXNnaWQgIiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiVsbHUgY3lsaW5kZXJzLCAlZCBhbHRlcm5hdGUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIlZCBleHRyYSBzZWN0cy9jeWwsIGludGVybGVhdmUgJWQ6MVxuIgorI34gIkxhYmVsIElEOiAlc1xuIgorI34gIlZvbHVtZSBJRDogJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTY2hpamYgJXMgKFN1bi1zY2hpamZsYWJlbCk6ICV1IGtvcHBlbiwgJWxsdSBzZWN0b3JlbiwgJWQgcnBtXG4iCisjfiAiJWxsdSBjaWxpbmRlcnMsICVkIGFsdGVybmF0aWV2ZSBjaWxpbmRlcnMsICVkIGZ5c2lla2UgY2lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdG9yZW4vY2lsaW5kZXIsIHR1c3NlbnJ1aW10ZSAlZDoxXG4iCisjfiAiTGFiZWwtSUQ6ICVzXG4iCisjfiAiVm9sdW1lbi1JRDogJXNcbiIKKyN+ICJFZW5oZWlkID0gJXMgdmFuICVkICogNTEyIGJ5dGVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlNjaGlqZiAlcyAoU3VuLXNjaGlqZmxhYmVsKTogJXUga29wcGVuLCAlbGx1IHNlY3RvcmVuLCAlbGx1IGNpbGluZGVyc1xuIgorI34gIkVlbmhlaWQgPSAlcyB2YW4gJWQgKiA1MTIgYnl0ZXNcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBPcHRpZSAgIEJlZ2luICAgICBFaW5kZSAgIEJsb2trZW4gICBJRCAgU3lzdGVlbVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1BbiBhcHBhcmFhdCAgICAgICAgcGFydGl0aWUgbiBhY3RpdmVyZW4sIGFsbGUgYW5kZXJlIGRlLWFjdGl2ZXJlblxuIgorCisjfiBtc2dpZCAiRG9uZVxuIgorI34gbXNnc3RyICJWb2x0b29pZFxuIgorCisjfiBtc2dpZCAiV0FSTklORzogZmRpc2sgR1BUIHN1cHBvcnQgaXMgY3VycmVudGx5IG5ldywgYW5kIHRoZXJlZm9yZSBpbiBhbiBleHBlcmltZW50YWwgcGhhc2UuIFVzZSBhdCB5b3VyIG93biBkaXNjcmV0aW9uLiIKKyN+IG1zZ3N0ciAiV0FBUlNDSFVXSU5HOiBHUFQtb25kZXJzdGV1bmluZyBpbiBmZGlzayBpcyBuaWV1dyBlbiBub2cgaW4gZWVuIGV4cGVyaW1lbnRlZWwgc3RhZGl1bS4gR2VicnVpayBvcCBlaWdlbiByaXNpY28uIgorCisjfiBtc2dpZCAiQ3JlYXRlZCBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIlBhcnRpdGllICV6ZCBpcyBhYW5nZW1hYWt0XG4iCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlMDhYLSUwNFgtJTA0WC0lMDJYJTAyWC0lMDJYJTAyWCUwMlglMDJYJTAyWCUwMlgpXG4iCisjfiBtc2dzdHIgIkFhbm1ha2VuIHZhbiBlZW4gbmlldXcgR1BULXNjaGlqZmxhYmVsIChHVUlEOiAlMDhYLSUwNFgtJTA0WC0lMDJYJTAyWC0lMDJYJTAyWCUwMlglMDJYJTAyWCUwMlgpXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIiAgJXMgW29wdGllc10gLXUgR0VCUlVJS0VSIE9QRFJBQ0hUXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiICAlcyBbb3B0aWVzXSBbLV0gW0dFQlJVSUtFUiBbPGFyZ3VtZW50Pi4uLl1dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZSAgICAgICAgc2hvdyBvbmx5IGN1cnJlbnQgbW9udGggKGRlZmF1bHQpXG4iCisjfiAiIC0zLCAtLXRocmVlICAgICAgc2hvdyBwcmV2aW91cywgY3VycmVudCBhbmQgbmV4dCBtb250aFxuIgorI34gIiAtcywgLS1zdW5kYXkgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKKyN+ICIgLXksIC0teWVhciAgICAgICBzaG93IHdob2xlIGN1cnJlbnQgeWVhclxuIgorI34gbXNnc3RyICIiCisjfiAiICAtMSwgLS1vbmUgICAgICAgIGh1aWRpZ2UgbWFhbmQgdG9uZW4gKHN0YW5kYWFyZClcbiIKKyN+ICIgIC0zLCAtLXRocmVlICAgICAgdm9yaWdlLCBodWlkaWdlIGVuIHZvbGdlbmRlIG1hYW5kIHRvbmVuXG4iCisjfiAiICAtcywgLS1zdW5kYXkgICAgIHpvbmRhZyBpcyBlZXJzdGUgZGFnIHZhbiBkZSB3ZWVrXG4iCisjfiAiICAtbSwgLS1tb25kYXkgICAgIG1hYW5kYWcgaXMgZWVyc3RlIGRhZyB2YW4gZGUgd2Vla1xuIgorI34gIiAgLWosIC0tanVsaWFuICAgICBKdWxpYWFuc2UgZGF0dW1zIHdlZXJnZXZlblxuIgorI34gIiAgLXksIC0teWVhciAgICAgICBoZXQgaGVsZSBodWlkaWdlIGphYXIgdG9uZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tdWRwICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorI34gIiAtaSwgLS1pZCAgICAgICAgICAgICAgbG9nIHRoZSBwcm9jZXNzIElEIHRvb1xuIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWQsIC0tdWRwICAgICAgICAgICAgICBhbGxlZW4gVURQIGdlYnJ1aWtlblxuIgorI34gIiAgLWksIC0taWQgICAgICAgICAgICAgICBoZXQgcHJvY2VzLUlEIG9vayB2YXN0bGVnZ2VuXG4iCisjfiAiICAtZiwgLS1maWxlIDxiZXN0YW5kPiAgIGRlIGluaG91ZCB2YW4gZGl0IGJlc3RhbmQgbG9nZ2VuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCisjfiAiIC1QLCAtLXBvcnQgPG51bWJlcj4gICB1c2UgdGhpcyBVRFAgcG9ydFxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorI34gbXNnc3RyICIiCisjfiAiICAtbiwgLS1zZXJ2ZXIgPG5hYW0+ICAgIG5hYXIgZGV6ZSBzeXNsb2ctc2VydmVyIG9wIGFmc3RhbmQgc2NocmlqdmVuXG4iCisjfiAiICAtUCwgLS1wb3J0IDxudW1tZXI+ICAgIGRlemUgVURQLXBvb3J0IGdlYnJ1aWtlblxuIgorI34gIiAgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICBkZSB0ZSBzY2hyaWp2ZW4gcmVnZWxzIG1ldCBkZXplIHByaW9yaXRlaXQgbWFya2VyZW5cbiIKKyN+ICIgIC1zLCAtLXN0ZGVyciAgICAgICAgICAgZGUgcmVnZWxzIG9vayBuYWFyIHN0YW5kYWFyZGZvdXR1aXR2b2VyIHNjaHJpanZlblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdCwgLS10YWcgPHRhZz4gICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKKyN+ICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+IHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLXQsIC0tdGFnIDx0ZWtzdGplPiAgICBlbGtlIHJlZ2VsIGxhYmVsZW4gbWV0IGRpdCB0ZWtzdGplXG4iCisjfiAiICAtdSwgLS1zb2NrZXQgPHNvY2tldD4gIG5hYXIgZGV6ZSBVbml4LXNvY2tldCBzY2hyaWp2ZW5cbiIKKworI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiT3BlbmVuL2Fhbm1ha2VuIHZhbiAlcyBpcyBtaXNsdWt0OiAlbVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgIlZlcmdyZW5kZWxlbiB2YW4gJXMgaXMgbWlzbHVrdDogJW1cbiIKKworI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIk9uZ2VsZGlnIGdldGFsOiAlc1xuIgorCisjfiBtc2dpZCAiLS1ub3RpbWUgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tY3RpbWUgb3IgLS1yZWx0aW1lIgorI34gbXNnc3RyICJvcHRpZSAnLS1ub3RpbWUnIGdhYXQgbmlldCBzYW1lbiAnLS1jdGltZScgIG9mICctLXJlbHRpbWUnIgorCisjfiBtc2dpZCAiZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UgZmFpbGVkIgorI34gbXNnc3RyICJrYW4gZ2VlbiBvbmdlYnJ1aWt0IGx1cy1hcHBhcmFhdCB2aW5kZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKKyN+ICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGtvcHJlZ2VscyBuaWV0IHdlZXJnZXZlbiAod2Vya3QgYWxsZWVuIHZvb3Igcm9vdClcbiIKKyN+ICIgIC10LCAtLXRpbWVvdXQgPGFhbnRhbD4gIG1heGltYWFsIGRpdCBhYW50YWwgc2Vjb25kZW4gd2FjaHRlbiwgZGFuIG9wZ2V2ZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFtvcHRpZXNdIDxiZXN0YW5kPi4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iICAgICAgICAgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCisjfiAiIC1jICAgICAgICAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorI34gIiAtQyAgICAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCisjfiAiIC1kICAgICAgICAgICAgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLWUgZm9ybWF0ICAgICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCisjfiAiIC1mIGZvcm1hdF9maWxlICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKKyN+ICIgLW4gbGVuZ3RoICAgICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorI34gIiAtcyBvZmZzZXQgICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCisjfiAiIC12ICAgICAgICAgICAgICBkaXNwbGF5IHdpdGhvdXQgc3F1ZWV6aW5nIHNpbWlsYXIgbGluZXNcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPcHRpZXM6XG4iCisjfiAiIC1iICAgICAgICAgICAgICBlZW5ieXRlcy1vY3RhbGUgd2VlcmdhdmVcbiIKKyN+ICIgLWMgICAgICAgICAgICAgIGVlbmJ5dGVzLXRla3N0dWVsZSB3ZWVyZ2F2ZVxuIgorI34gIiAtQyAgICAgICAgICAgICAga2Fub25pZWtlIHdlZXJnYXZlOiBoZXggcGx1cyBBU0NJSVxuIgorI34gIiAtZCAgICAgICAgICAgICAgdHdlZWJ5dGVzLWRlY2ltYWxlIHdlZXJnYXZlXG4iCisjfiAiIC1vICAgICAgICAgICAgICB0d2VlYnl0ZXMtb2N0YWxlIHdlZXJnYXZlXG4iCisjfiAiIC14ICAgICAgICAgICAgICB0d2VlYnl0ZXMtaGV4YWRlY2ltYWxlIHdlZXJnYXZlXG4iCisjfiAiIC1lIE9QTUFBSyAgICAgICB0ZSBnZWJydWlrZW4gb3BtYWFrdGVrZW5yZWVrcyB2b29yIHdlZXJnYXZlXG4iCisjfiAiIC1mIE9QTUFBS0JFU1RBTkQgIHRlIGdlYnJ1aWtlbiBvcG1hYWt0ZWtlbnJlZWtzZW4gdWl0IGRpdCBiZXN0YW5kIGhhbGVuXG4iCisjfiAiIC1uIEFBTlRBTCAgICAgICBzbGVjaHRzIGRpdCBhYW50YWwgYnl0ZXMgdmFuIGRlIGludm9lciB3ZWVyZ2V2ZW5cbiIKKyN+ICIgLXMgUE9TSVRJRSAgICAgIG9wIGRlemUgcG9zaXRpZSBpbiBoZXQgYmVzdGFuZCBiZWdpbm5lblxuIgorI34gIiAtdiAgICAgICAgICAgICAgZ2VsaWprZW5kZSByZWdlbHMgbmlldCBzYW1lbmRydWtrZW5cbiIKKworI34gbXNnaWQgImNyeXB0IGZhaWxlZDogJW1cbiIKKyN+IG1zZ3N0ciAiY3J5cHQoKSBpcyBtaXNsdWt0OiAlbVxuIgorCisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICJLYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlbjogJW1cbiIKKworI34gbXNnaWQgImJ1ZyBpbiB4c3RybmR1cCBjYWxsIgorI34gbXNnc3RyICIqcHJvZ3JhbW1lZXJmb3V0KiBpbiBhYW5yb2VwIHZhbiB4c3RybmR1cCgpIgorCisjfiBtc2dpZCAiIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggYC1BJ1xuIgorI34gIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisjfiAiICAgICAgICAgICAgICB0eXBlIGlzIGFsbG93ZWQgdG8gYmUgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKKyN+ICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKKyN+ICIgLXIgICAgICAgICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgZnNja1xuIgorI34gIiAtcyAgICAgICAgIHNlcmlhbGl6ZSBmc2NrIG9wZXJhdGlvbnNcbiIKKyN+ICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdXNpbmcgZmxvY2soKVxuIgorI34gIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCisjfiAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKKyN+ICIgLUMgPGZkPiAgICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCisjfiAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlNlZSBmc2NrLiogY29tbWFuZHMgZm9yIGZzLW9wdGlvbnMuIgorI34gbXNnc3RyICIiCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLUEgICAgICAgICAgYWxsZSBiZXN0YW5kc3N5c3RlbWVuIGNvbnRyb2xlcmVuXG4iCisjfiAiICAtUiAgICAgICAgICBoZXQgYmFzaXNiZXN0YW5kc3N5dGVlbSBvdmVyc2xhYW4gKG51dHRpZyBzYW1lbiBtZXQgJy1BJylcbiIKKyN+ICIgIC1NICAgICAgICAgIGFhbmdla29wcGVsZGUgYmVzdGFuZHNzeXN0ZW1lbiBuaWV0IGNvbnRyb2xlcmVuXG4iCisjfiAiICAtdCA8c29vcnQ+ICBhbGxlZW4gZGV6ZSBiZXN0YW5kc3N5c3RlZW1zb29ydGVuIGNvbnRyb2xlcmVuO1xuIgorI34gIiAgICAgICAgICAgICAgICA8c29vcnQ+IG1hZyBlZW4ga29tbWFnZXNjaGVpZGVuIGxpanN0IHppam5cbiIKKyN+ICIgIC1QICAgICAgICAgIGJlc3RhbmRzc3lzdGVtZW4gcGFyYWxsZWwgY29udHJvbGVyZW4sIG9vayBoZXQgYmFzaXNzeXN0ZWVtXG4iCisjfiAiICAtciAgICAgICAgICBzdGF0aXN0aWVrZW4gd2VlcmdldmVuIHZvb3IgZWxrZSBhcHBhcmFhdGNvbnRyb2xlXG4iCisjfiAiICAtcyAgICAgICAgICBkZSAnZnNjayctYmV3ZXJraW5nZW4gc2VyaWFsaXNlcmVuXG4iCisjfiAiICAtbCAgICAgICAgICBoZXQgYXBwYXJhYXQgdmVyZ3JlbmRlbGVuIG1ldCBmbG9jaygpXG4iCisjfiAiICAtTiAgICAgICAgICBuaWV0cyBlY2h0IGRvZW4sIGFsbGVlbiB0b25lbiB3YXQgZXIgZ2VkYWFuIHpvdSB3b3JkZW5cbiIKKyN+ICIgIC1UICAgICAgICAgIGdlZW4gdGl0ZWwgdG9uZW4gYmlqIGRlIHByb2dyYW1tYXN0YXJ0XG4iCisjfiAiICAtQyBbPGJkPl0gICB2b29ydGdhbmdzYmFsayB0b25lbjsgZGUgYmVzdGFuZHNkZXNjcmlwdG9yIGlzIHZvb3IgR1VJJ3NcbiIKKyN+ICIgIC1WICAgICAgICAgIHdlZXJnZXZlbiB3YXQgZXIgZ2VkYWFuIHdvcmR0XG4iCisjfiAiXG4iCisjfiAiWmllIGRlIGJldHJlZmZlbmRlICdmc2NrLionLW9wZHJhY2h0ZW4gdm9vciBiZXN0YW5kc3N5c3RlZW1vcHRpZXMuIgorCisjfiBtc2dpZCAiIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1kLCAtLWRpdmlzb3I9TlVNICAgICAgZGl2aWRlIGJ5dGVzIE5VTVxuIgorI34gIiAteCwgLS1zZWN0b3JzICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPcHRpZXM6XG4iCisjfiAiICAtZCwgLS1kaXZpc29yPUdFVEFMICAgIGRlIGxlbmd0ZSB2YW4gaGV0IElTTy1iZXN0YW5kIGRvb3IgR0VUQUwgZGVsZW5cbiIKKyN+ICIgIC14LCAtLXNlY3RvcnMgICAgICAgICAgaGV0IGFhbnRhbCBzZWN0b3JlbiBlbiBkZSBzZWN0b3Jncm9vdHRlIHRvbmVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXQsIC0tdHlwZT1UWVBFICBmaWxlIHN5c3RlbSB0eXBlLCB3aGVuIHVuZGVmaW5lZCBleHQyIGlzIHVzZWRcbiIKKyN+ICIgICAgIGZzLW9wdGlvbnMgICBwYXJhbWV0ZXJzIHRvIHJlYWwgZmlsZSBzeXN0ZW0gYnVpbGRlclxuIgorI34gIiAgICAgZGV2aWNlICAgICAgIHBhdGggdG8gYSBkZXZpY2VcbiIKKyN+ICIgICAgIHNpemUgICAgICAgICBudW1iZXIgb2YgYmxvY2tzIG9uIHRoZSBkZXZpY2VcbiIKKyN+ICIgLVYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgZG9uZVxuIgorI34gIiAgICAgICAgICAgICAgICAgIGRlZmluaW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPcHRpZXM6XG4iCisjfiAiICAtdCwgLS10eXBlPVNPT1JUICAgIGJlc3RhbmRzc3lzdGVlbXNvb3J0ICh3YW5uZWVyIG5pZXQgZ2VnZXZlbjogZXh0MilcbiIKKyN+ICIgICAgICBicy1vcHRpZXMgICAgICAgYXJndW1lbnRlbiB2b29yIGRlIGZlaXRlbGlqa2UgYmVzdGFuZHN5c3RlZW1tYWtlclxuIgorI34gIiAgICAgIGFwcGFyYWF0ICAgICAgICBwYWQgbmFhciBlZW4gYXBwYXJhYXRcbiIKKyN+ICIgICAgICBncm9vdHRlICAgICAgICAgYWFudGFsIGJsb2trZW4gb3AgaGV0IGFwcGFyYWF0XG4iCisjfiAiICAtViwgLS12ZXJib3NlICAgICAgIHdlZXJnZXZlbiB3YXQgZXIgZ2VkYWFuIHdvcmR0OyBtZWVyZGVyZSAnLVYnc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJvb3J6YWtlbiBlZW4gZWZmZWN0bG9vcyBkb2VuLWFsc29mXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiZm91dCBpbiBzdHJ0b2woKTogYWFudGFsIGJsb2trZW4gbmlldCBhYW5nZWdldmVuIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgIsOpw6luIHNsZWNodGUgcGFnaW5hXG4iCisKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgICAgICBvcCBkZSBnZWhlbGUgc2NoaWpmLiAiCisKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAib25kZXJzdGV1bnQgd2lzc2VsZ2VoZXVnZW52ZXJzaWUgJWQgbmlldC4iCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFVuc3VwcG9ydGVkIEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkLiBVc2UgR05VIFBhcnRlZC4iCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmchISAgTmlldC1vbmRlcnN0ZXVuZGUgR1BUIChHVUlELXBhcnRpdGlldGFiZWwpIGdldm9uZGVuIVxuIgorI34gIkdlYnJ1aWsgR05VICdwYXJ0ZWQnLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgQUlYIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgTGludXggY2Fubm90IGhhbmRsZSB0aGVzZVxuIgorI34gIlx0ZGlza3MgYXQgdGhlIG1vbWVudC4gIE5ldmVydGhlbGVzcyBzb21lXG4iCisjfiAiXHRhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiAiXHQzLiBCZWZvcmUgZGVsZXRpbmcgdGhpcyBwaHlzaWNhbCB2b2x1bWUgYmUgc3VyZVxuIgorI34gIlx0ICAgdG8gcmVtb3ZlIHRoZSBkaXNrIGxvZ2ljYWxseSBmcm9tIHlvdXIgQUlYXG4iCisjfiAiXHQgICBtYWNoaW5lLiAgKE90aGVyd2lzZSB5b3UgYmVjb21lIGFuIEFJWHBlcnQpLiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICBFciBzdGFhdCBlZW4gZ2VsZGlnIEFJWC1sYWJlbCBvcCBkZXplIHNjaGlqZi5cbiIKKyN+ICIgICAgSGVsYWFzIG9uZGVyc3RldW50IExpbnV4IGRlemUgc2NoaWp2ZW4gb3AgZGl0IG1vbWVudCBuaWV0LlxuIgorI34gIiAgICBUb2NoIHdhdCBhZHZpZXM6XG4iCisjfiAiICAgIDEuIEJpaiBzY2hyaWp2ZW4gemFsIGZkaXNrIGRlIGluaG91ZCBlcnZhbiBXSVNTRU4uXG4iCisjfiAiICAgIDIuIENvbnRyb2xlZXIgb2YgZGV6ZSBzY2hpamYgRUNIVCBOSUVUIG5vZyBkZWVsIHVpdG1hYWt0XG4iCisjfiAiICAgICAgIHZhbiBlZW4gdm9sdW1lbmdyb2VwIC0tIGFuZGVycyB3aXN0IHUgbW9nZWxpamsgZGUgYW5kZXJlXG4iCisjfiAiICAgICAgIHNjaGlqdmVuIG9vaywgYWxzIGVyIGdlZW4gbWlycm9yIGlzLlxuIgorI34gIiAgICAzLiBIYWFsLCB2b29yZGF0IHUgZGl0IGZ5c2lla2Ugdm9sdW1lbiB3aXN0LCBkZSBzY2hpamYgbG9naXNjaFxuIgorI34gIiAgICAgICB1aXQgdXcgQUlYLW1hY2hpbmUuICAoQW5kZXJzIHdvcmR0IHUgZWVuIEFJWHBlcnQpLiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIFNvcnJ5IC0tIGRlemUgZmRpc2sgb25kZXJzdGV1bnQgZ2VlbiBBSVgtc2NoaWpmbGFiZWxzLlxuIgorI34gIiAgICBBbHMgdSBwYXJ0aXRpZXMgdmFuIGhldCBET1MtdHlwZSB3aWx0IHRvZXZvZWdlbiwgbWFhayBkYW5cbiIKKyN+ICIgICAgZWVyc3QgZWVuIG5pZXV3ZSwgbGVnZSBET1MtcGFydGl0aWV0YWJlbC4gIChHZWJydWlrICdvJy4pXG4iCisjfiAiICAgIFdBQVJTQ0hVV0lORzogRGl0IHphbCBkZSBodWlkaWdlIHNjaGlqZmluaG91ZCB3aXNzZW4uXG4iCisKKyN+IG1zZ2lkICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiQlNELWxhYmVsIHZvb3IgYXBwYXJhYXQ6ICVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlZCBoZWVmdCBlZW4gbGVnZSB0eXBlYWFuZHVpZGluZ1xuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgJWkgZWluZGlndCBuaWV0IG9wIGVlbiBjaWxpbmRlcmdyZW5zLlxuIgorCisjfiBtc2dpZCAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IEdQVCAoR1VJRC1wYXJ0aXRpZXRhYmVsKSBnZXZvbmRlbiBvcCAnJXMnIVxuIgorI34gIkhldCBwcm9ncmFtbWEgJ2ZkaXNrJyBvbmRlcnN0ZXVudCBHUFQgbmlldC4gIEdlYnJ1aWsgR05VICdwYXJ0ZWQnLlxuIgorCisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIkxldCBvcDogc2VjdG9yZ3Jvb3R0ZSBpcyAlbGQgKG5pZXQgJWQpXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBzZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJXYWFyc2NodXdpbmc6IEdQVCAoR1VJRC1wYXJ0aXRpZXRhYmVsKSBnZXZvbmRlbiBvcCAnJXMnIVxuIgorI34gIkhldCBwcm9ncmFtbWEgJ3NmZGlzaycgb25kZXJzdGV1bnQgR1BUIG5pZXQuICBHZWJydWlrIEdOVSAncGFydGVkJy5cbiIKKworI34gbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIHRoaXMgY2hlY2suXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWsgJy0tZm9yY2UnIG9tIGRlemUgY29udHJvbGUgb3ZlciB0ZSBzbGFhbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCisjfiAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCisjfiAiIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgLW1cbiIKKyN+ICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICBydW4gc2hlbGwgaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgdmFuIGRlIHNoZWxsIGVlbiBsb2dpbi1zaGVsbCBtYWtlblxuIgorI34gIiAgLWMsIC0tY29tbWFuZCBDT01NQU5ETyAgICAgICBlZW4gZW5rZWwgQ09NTUFORE8gbmFhciBkZSBzaGVsbCBzdHVyZW4gbWV0ICctYydcbiIKKyN+ICIgIC0tc2Vzc2lvbi1jb21tYW5kIENPTU1BTkRPICAgZWVuIGVua2VsIENPTU1BTkRPIG5hYXIgZGUgc2hlbGwgc3R1cmVuIG1ldCAnLWMnXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZW4gZ2VlbiBuaWV1d2Ugc2Vzc2llIGFhbm1ha2VuXG4iCisjfiAiICAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICctZicgYWFuIGRlIHNoZWxsIG1lZWdldmVuICh2b29yICdjc2gnIG9mICd0Y3NoJylcbiIKKyN+ICIgIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAgZGUgb21nZXZpbmdzdmFyaWFiZWxlbiBuaWV0IHJlc2V0dGVuXG4iCisjfiAiICAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIGhldHplbGZkZSBhbHMgJy1tJ1xuIgorI34gIiAgLXMsIC0tc2hlbGwgU0hFTEwgICAgICAgICAgICBTSEVMTCB1aXR2b2VyZW4gKGFscyAvZXRjL3NoZWxscyBkaXQgdG9lc3RhYXQpXG4iCisKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBleGVjKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bChUSU9DU0NUVFkpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWytmb3JtYXRdIFtkYXkgbW9udGggeWVhcl1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFsrb3BtYWFrXSBbZGFnIG1hYW5kIGphYXJdXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJTaW50IFRpYnMtZGFnIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWyAtcyBzaWduYWFsIHwgLXAgXSBbIC1hIF0gUElELi4uXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgJXMgLWwgWyBzaWduYWFsIF1cbiIKKworI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgInZlcmJpbmRpbmcgJXMiCisKKyN+IG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIGFyZ3VtZW50IgorI34gbXNnc3RyICJvbmdlbGRpZyBwb29ydG51bW1lci1hcmd1bWVudCIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSBbYXBwYXJhYXQgLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiA8ZmlsZT4gIGRlZmluZSBzZWFyY2ggc2NvcGVcbiIKKyN+ICIgLWIgICAgICAgICBzZWFyY2ggb25seSBiaW5hcmllc1xuIgorI34gIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorI34gIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IG1hbnVhbCBwYXRoc1xuIgorI34gIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gbG9va3VwIHBhdGhcbiIKKyN+ICIgLXMgICAgICAgICBzZWFyY2ggb25seSBzb3VyY2VzIHBhdGhcbiIKKyN+ICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorI34gIiAtdSAgICAgICAgIHNlYXJjaCBmcm9tIHVudXN1YWwgZW50aXRpZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWIgICAgICAgICAgICBhbGxlZW4gbmFhciBwcm9ncmFtbWEncyB6b2VrZW5cbiIKKyN+ICIgIC1CIDxtYXBwZW4+ICAgdGUgZ2VicnVpa2VuIHpvZWtwYWQgdm9vciBwcm9ncmFtbWEnc1xuIgorI34gIiAgLWYgPGJlc3RhbmQ+ICBkZWZpbml0aWUgdmFuIGhldCB6b2VrYmVyZWlrXG4iCisjfiAiICAtbSAgICAgICAgICAgIGFsbGVlbiBuYWFyIGhhbmRsZWlkaW5nZW4gem9la2VuXG4iCisjfiAiICAtTSA8bWFwcGVuPiAgIHRlIGdlYnJ1aWtlbiB6b2VrcGFkIHZvb3IgaGFuZGxlaWRpbmdlblxuIgorI34gIiAgLXMgICAgICAgICAgICBhbGxlZW4gbmFhciBicm9udGVrc3RiZXN0YW5kZW4gem9la2VuXG4iCisjfiAiICAtUyA8bWFwcGVuPiAgIHRlIGdlYnJ1aWtlbiB6b2VrcGFkIHZvb3IgYnJvbnRla3N0YmVzdGFuZGVuXG4iCisjfiAiICAtdSAgICAgICAgICAgIG5hYXIgb25nZWJydWlrZWxpamtlIGRpbmdlbiB6b2VrZW5cbiIKKworI34gbXNnaWQgIlNlZSBob3cgdG8gdXNlIGZpbGUgYW5kIGRpcnMgYXJndW1lbnRzIGZyb20gd2hlcmVpcygxKSBtYW51YWwuXG4iCisjfiBtc2dzdHIgIlppZSBkZSB3aGVyZWlzKDEpIGhhbmRsZWlkaW5nIHZvb3IgaGV0IGdlYnJ1aWsgdmFuIDxiZXN0YW5kPiBlbiA8bWFwcGVuPi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5IgorI34gbXNnc3RyICJtb3VudDoga2FuIHBhZ2luYSdzIG5pZXQgdmFzdHpldHRlbiBpbiBoZXQgZ2VoZXVnZW4iCisKKyN+IG1zZ2lkICJtb3VudDogYXJndW1lbnQgdG8gLXAgb3IgLS1wYXNzLWZkIG11c3QgYmUgYSBudW1iZXIiCisjfiBtc2dzdHIgIm1vdW50OiBhcmd1bWVudCB2YW4gJy1wJyBvZiAnLS1wYXNzLWZkJyBtb2V0IGVlbiBnZXRhbCB6aWpuIgorCisjfiBtc2dpZCAiZXhlY3V0aW5nICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAidWl0dm9lcmVuIHZhbiAnJXMnIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJlamVjdDogY2Fubm90IHNldCB1c2VyIGlkIgorI34gbXNnc3RyICJlamVjdDoga2FuIGdlYnJ1aWtlcnMtSUQgbmlldCBpbnN0ZWxsZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorI34gIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtZiwgLS1mcmVlemUgICAgICBoZXQgYmVzdGFuZHNzeXN0ZWVtIGJldnJpZXplblxuIgorI34gIiAgLXUsIC0tdW5mcmVlemUgICAgaGV0IGJlc3RhbmRzc3lzdGVlbSBvbnRkb29pZW5cbiIKKworI34gbXNnaWQgIm1heCBzZWcgc2l6ZSAoa2J5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJtYXhpbWFsZSBzZWdtZW50Z3Jvb3R0ZSAoa2lsb2J5dGVzKSA9ICVsdVxuIgorCisjfiBtc2dpZCAibWluIHNlZyBzaXplIChieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAibWluaW1hbGUgc2VnbWVudGdyb290dGUgKGJ5dGVzKSA9ICVsdVxuIgorCisjfiBtc2dpZCAidXNlZCBzcGFjZSA9ICVkIGJ5dGVzXG4iCisjfiBtc2dzdHIgImdlYnJ1aWt0ZSBydWltdGUgPSAlZCBieXRlc1xuIgorCisjfiBtc2dpZCAic2htY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAic2htY3RsKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIm1zZ2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIm1zZ2N0bCgpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJnZWJydWlrdGUgYnl0ZXM9JWxkICB3YWNodHJpamJ5dGVzPSVsZCAgYWFudGFsIGJlcmljaHRlbj0lbGRcbiIKKyN+ICJsYWF0c3RlLXplbmRlci1QSUQ9JWQgIGxhYXRzdGUtb250dmFuZ2VyLVBJRD0lZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZSwgLS1lbmNyeXB0aW9uIDx0eXBlPiAgICAgICBlbmFibGUgZW5jcnlwdGlvbiB3aXRoIHNwZWNpZmllZCA8bmFtZS9udW0+XG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKKyN+ICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcGFzcy1mZCA8bnVtPiAgICAgICAgICAgcmVhZCBwYXNzcGhyYXNlIGZyb20gZmlsZSBkZXNjcmlwdG9yIDxudW0+XG4iCisjfiAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorI34gIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXR1cCByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKKyN+ICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtZSwgLS1lbmNyeXB0aW9uIFNPT1JUICAgIGRlemUgc29vcnQgdmVyc2xldXRlbGluZyBpbnNjaGFrZWxlblxuIgorI34gIiAgLW8sIC0tb2Zmc2V0IEdFVEFMICAgICAgICBvcCBkZXplIHBvc2l0aWUgaW4gaGV0IGJlc3RhbmQgYmVnaW5uZW5cbiIKKyN+ICIgICAgICAtLXNpemVsaW1pdCBHRVRBTCAgICAgc2xlY2h0cyBkaXQgYWFudGFsIGJ5dGVzIHZhbiBiZXN0YW5kIGdlYnJ1aWtlblxuIgorI34gIiAgLXAsIC0tcGFzcy1mZCBOVU1NRVIgICAgICB3YWNodHdvb3JkdGVrc3QgdWl0IGRlemUgYmVzdGFuZHNkZXNjcmlwdG9yIGxlemVuXG4iCisjfiAiICAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgIGdlcGFydGl0aW9uZWVyZCBsdXMtYXBwYXJhYXQgYWFubWFrZW5cbiIKKyN+ICIgIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgZWVuIGFsbGVlbi1sZXplbiBsdXMtYXBwYXJhYXQgaW5zdGVsbGVuXG4iCisjfiAiICAgICAgLS1zaG93ICAgICAgICAgICAgICAgIGFwcGFyYWF0bmFhbSB0b25lbiAoYmlqICctZiBCRVNUQU5EJylcbiIKKyN+ICIgIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgZ2VkZXRhaWxsZWVyZGUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHBhc3NwaHJhc2UgZmlsZSBkZXNjcmlwdG9yIgorI34gbXNnc3RyICJvbmdlbGRpZ2Ugd2FjaHR3b29yZHRla3N0LWJlc3RhbmRzZGVzY3JpcHRvciIKKworI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICIlczogZ2VicnVpa2VuIHZhbiBhcHBhcmFhdCBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAia2FuIHBhZ2luYSdzIG5pZXQgdmFzdHpldHRlbiBpbiBoZXQgZ2VoZXVnZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKKyN+ICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCisjfiAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCisjfiAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCisjfiAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBkaXJlY3RvcnkgRElSIGFzIHN5c3RlbSByb290XG4iCisjfiAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLWEsIC0tYWxsICAgICAgICAgICAgICAgb25saW5lIGVuIG9mZmxpbmUgQ1BVJ3MgdG9uZW4gKHN0YW5kYWFyZCBiaWogJy1lJylcbiIKKyN+ICIgIC1iLCAtLW9ubGluZSAgICAgICAgICAgIGFsbGVlbiBvbmxpbmUgQ1BVJ3MgdG9uZW4gKHN0YW5kYWFyZCBiaWogJy1wJylcbiIKKyN+ICIgIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIGFsbGVlbiBvZmZsaW5lIENQVSdzIHRvbmVuXG4iCisjfiAiICAtZSwgLS1leHRlbmRlZFs9TElKU1RdICB1aXRnZWJyZWlkZSwgbGVlc2JhcmUgdWl0dm9lciBwcm9kdWNlcmVuXG4iCisjfiAiICAtcCwgLS1wYXJzZVs9TElKU1RdICAgICBvbnRsZWVkYmFyZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKyN+ICIgIC1zLCAtLXN5c3Jvb3QgTUFQICAgICAgIGRlemUgbWFwIGFscyBob29mZG1hcCBnZWJydWlrZW5cbiIKKyN+ICIgIC14LCAtLWhleCAgICAgICAgICAgICAgIGhleGFkZWNpbWFsZSBtYXNrZXJzIHRvbmVuIGluIHBsYWF0cyB2YW4gbGlqc3RlblxuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSAocHJvYmFibHkgdW5rbm93biBlbmNyeXB0aW9uIHR5cGUpIgorI34gbXNnc3RyICIlczogaW5zdGVsbGVuIHZhbiBsdXMtYXBwYXJhYXQgaXMgbWlzbHVrdCAodmVybW9lZGVsaWprIG9uYmVrZW5kIHZlcnNsZXV0ZWxpbmdzdHlwZSkiCisKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICIncmVuaWNlJyB1aXQgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorI34gIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKKyN+ICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCisjfiAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCisjfiAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAtZCwgLS1kZXZpY2UgPGFwcGFyYWF0PiAgIHRlIGdlYnJ1aWtlbiBoYXJkd2FyZWtsb2sgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiICAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgIGRlIGhhcmR3YXJla2xvayBiZXZhdCBsb2thbGUgdGlqZFxuIgorI34gIiAgLW0sIC0tbW9kZSA8bW9kdXM+ICAgICAgICBzbGFhcG1vZHVzICh3YWFyZGVuOiBzdGFuZGJ5fG1lbXxkaXNrfC4uLlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZnRld2VsOiB3YWNodHN0YW5kLHBhdXplc3RhbmQsc2xhYXBzdGFuZCwuLi4pXG4iCisjfiAiICAtbiwgLS1kcnktcnVuICAgICAgICAgICAgIGFsbGVzIGRvZW4gYmVoYWx2ZSBnYWFuIHNsYXBlblxuIgorI34gIiAgLXMsIC0tc2Vjb25kcyA8c2Vjb25kZW4+ICBhYW50YWwgdGUgc2xhcGVuIHNlY29uZGVuXG4iCisjfiAiICAtdCwgLS10aW1lIDx0aWpkc3RpcD4gICAgIG9udHdha2luZ3N0aWpkc3RpcFxuIgorI34gIiAgLXUsIC0tdXRjICAgICAgICAgICAgICAgICBkZSBoYXJkd2FyZWtsb2sgYmV2YXQgVVRDXG4iCisjfiAiICAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGdlZGV0YWlsbGVlcmRlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWN1dGUgJXMiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IHVpdHZvZXJlbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheXMgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBtZWxkZW4gd2Vsa2Ugb3B0aWVzIGluZ2VzY2hha2VsZCB3b3JkZW5cbiIKKyN+ICIgIC1CLCAtLTMyYml0ICAgICAgICAgICAgICAgQUREUl9MSU1JVF8zMkJJVCBpbnNjaGFrZWxlblxuIgorI34gIiAgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgICBmdW5jdGllcG9pbnRlcnMgbmFhciBkZXNjcmlwdG9ycyBsYXRlbiB3aWp6ZW5cbiIKKyN+ICIgIC1JLCAtLXNob3J0LWlub2RlICAgICAgICAgU0hPUlRfSU5PREUgaW5zY2hha2VsZW5cbiIKKyN+ICIgIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCAgdmlydHVlZWwgZ2VoZXVnZW4gb3AgYW5kZXJlIG1hbmllciB0b2V3aWp6ZW5cbiIKKyN+ICIgIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICAgdmlydHVlbGUgYWRyZXNydWltdGUgbmlldCBodXNzZWxlblxuIgorI34gIiAgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgICBXSE9MRV9TRUNPTkRTIGluc2NoYWtlbGVuXG4iCisjfiAiICAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgIFNUSUNLWV9USU1FT1VUUyBpbnNjaGFrZWxlblxuIgorI34gIiAgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgICBSRUFEX0lNUExJRVNfRVhFQyBpbnNjaGFrZWxlblxuIgorI34gIiAgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgICBNTUFQX1BBR0VfWkVSTyBpbnNjaGFrZWxlblxuIgorI34gIiAgLTMsIC0tM2diICAgICAgICAgICAgICAgICBnZWJydWlrdGUgYWRyZXNydWltdGUgdG90IDMgR0IgYmVwZXJrZW5cbiIKKyN+ICIgICAgICAtLTRnYiAgICAgICAgICAgICAgICAgKGdlbmVnZWVyZCwgc2xlY2h0cyBoZXJrZW5kIHZvb3IgY29tcGF0aWJpbGl0ZWl0KVxuIgorI34gIiAgICAgIC0tdW5hbWUtMi42ICAgICAgICAgICBVTkFNRTI2IGluc2NoYWtlbGVuXG4iCisKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdnAoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdigpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1tLCAtLW1vdW50ICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gIiAtdSwgLS11dHMgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+ICIgLWksIC0taXBjICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiAiIC1uLCAtLW5ldCAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZvZXJ0IGVlbiBwcm9ncmFtbWEgdWl0IG1ldCBzb21taWdlIG5hYW1zcnVpbXRlbiBvbnRrb3BwZWxkIHZhbiBtb2VkZXJwcm9jZXMuXG4iCisjfiAiXG4iCisjfiAiICAtaSwgLS1pcGMgICAgICAnU3lzdGVtIFYgSVBDJy1uYWFtc3J1aW10ZSBuaWV0IGRlbGVuXG4iCisjfiAiICAtbSwgLS1tb3VudCAgICBhYW5rb3BwZWxpbmdlbm5hYW1zcnVpbXRlIG5pZXQgZGVsZW5cbiIKKyN+ICIgIC1uLCAtLW5ldCAgICAgIG5ldHdlcmtuYWFtc3J1aW10ZSBuaWV0IGRlbGVuXG4iCisjfiAiICAtdSwgLS11dHMgICAgICBVVFMtbmFhbXNydWltdGUgbmlldCBkZWxlbiAoaG9zdG5hYW0gZW4gZGVyZ2VsaWprZSlcbiIKKworI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiUtMTVzJXMgW3ZlcnNpZSAleF1cbiIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJnZWJydWlrZXJzIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICIiCisjfiAiKipJbnRlcm5lIHByb2dyYW1tYWZvdXQqKjogdGUgdmVlbCBJT1Ync1xuIgorI34gIltkZSBwcm9ncmFtbWFjb2RlIGluIHRlcm0tdXRpbHMvdHR5bXNnLmMgbW9ldCBhYW5nZXBhc3Qgd29yZGVuXSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yLiIKKyN+IG1zZ3N0ciAic2NocmlqZmZvdXQiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKKyN+ICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCisjfiAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiB0YWJsZSBkZWxpbWV0ZXJcbiIKKyN+ICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAtYywgLS1jb2x1bW5zIDxicmVlZHRlPiAgICBicmVlZHRlIHZhbiBkZSB1aXR2b2VyIGluIGFhbnRhbCB0ZWtlbnNcbiIKKyN+ICIgIC1zLCAtLXNlcGFyYXRvciA8dGVrZW5zPiAgIHNjaGVpZGluZ3N0ZWtlbnJlZWtzIHZvb3IgdGFiZWxsZW5cbiIKKyN+ICIgIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgIGVlbiB0YWJlbCBhYW5tYWtlblxuIgorI34gIiAgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgcmlqZW4gZWVyZGVyIHZ1bGxlbiBkYW4ga29sb21tZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgW29wdGllc10gWzxiZXN0YW5kPi4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorI34gIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorI34gbXNnc3RyICIiCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLXQsIC0tdGVybWluYWwgVEVSTUlOQUwgICAgbmlldCBvbWdldmluZ3N2YXJpYWJlbGUgVEVSTSBtYWFyIGRlemUgZ2VicnVpa2VuXG4iCisjfiAiICAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICBvbmRlcnN0cmVwaW5nZW4gd2VlcmdldmVuIG9wIGVlbiBleHRyYSByZWdlbFxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBpbnRvIGRpclxuIgorI34gIiAtdiAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorI34gIiBmaWxlICAgICAgIGZpbGUgdG8gdGVzdFxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIFstaHZdIFsteCBNQVBdIEJFU1RBTkRcbiIKKyN+ICJcbiIKKyN+ICIgIC12ICAgICAgICBtZWVyIGluZm9ybWF0aWUgd2VlcmdldmVuXG4iCisjfiAiICAteCBNQVAgICAgdWl0cGFra2VuIGluIGRlemUgbWFwXG4iCisjfiAiICBCRVNUQU5EICAgdGUgdGVzdGVuIGJlc3RhbmRcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWy1sYXJ2c21mXSAvZGV2L25hYW1cbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAia2FuIGFwcGFyYWF0ICVzIG5pZXQgdmluZGVuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJsb2Nrc2l6ZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIGJsb2tncm9vdHRld2FhcmRlIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnIgorI34gbXNnc3RyICJmb3V0OiB6YWwgbmlldCBwcm9iZXJlbiB3aXNzZWxnZWhldWdlbiB0ZSBtYWtlbiBvcCAnJXMnIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgIkthbiAncmF3Jy1iZXN0dXJpbmdzYXBwYXJhYXQgJyVzJyBuaWV0IG9wZW5lbiAoJXMpXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIG9wZW4iCisjfiBtc2dzdHIgIiVzOiBvcGVuZW4gaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXSA8YXBwYXJhYXQ+XG4iCisjfiAiXG4iCisjfiAiT3B0aWVzOlxuIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZmlsZSAnJXMnIgorI34gbXNnc3RyICJLYW4gYmVzdGFuZCAnJXMnIG5pZXQgb3BlbmVuIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZGlzayBoYXMgYm90aCBET1MgYW5kIEJTRCBtYWdpYy5cbiIKKyN+ICJHaXZlIHRoZSAnYicgY29tbWFuZCB0byBnbyB0byBCU0QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRlemUgc2NoaWpmIGJldmF0IHpvd2VsIERPUy0gYWxzIEJTRC12aW5nZXJhZmRydWtrZW4uXG4iCisjfiAiR2VlZiBkZSBvcGRyYWNodCAnYicgb20gbmFhciBCU0QtbW9kdXMgdGUgZ2Fhbi5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgJWkgYmVnaW50IG5pZXQgb3AgZWVuIGNpbGluZGVyZ3JlbnM6XG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgMSlcbiIKKyN+IG1zZ3N0ciAibW9ldCB6aWpuICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgIm1vZXQgemlqbiAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJEZXplIGtlcm5lbCB2aW5kdCB6ZWxmIGRlIHNlY3Rvcmdyb290dGUgLS0gb3B0aWUgJy1iJyB3b3JkdCBnZW5lZ2VlcmRcbiIKKworI34gbXNnaWQgInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICJzZmRpc2s6IHZvb3J0aWpkaWcgZWluZGUgdmFuIGRlIGludm9lclxuIgorCisjfiBtc2dpZCAiV0FSTklORzogY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiV0FBUlNDSFVXSU5HOiBrYW4gJXMgbmlldCBvcGVuZW4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBiYWQgZm9ybWF0IG9uIGxpbmUgJWQgb2YgJXMiCisjfiBtc2dzdHIgIldBQVJTQ0hVV0lORzogb25nZWxkaWdlIHN5bnRheCBvcCByZWdlbCAlZCB2YW4gJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogWW91ciAvZXRjL2ZzdGFiIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZzY2sgcGFzc25vXG4iCisjfiAiXHRmaWVsZC4gIEkgd2lsbCBrbHVkZ2UgYXJvdW5kIHRoaW5ncyBmb3IgeW91LCBidXQgeW91XG4iCisjfiAiXHRzaG91bGQgZml4IHlvdXIgL2V0Yy9mc3RhYiBmaWxlIGFzIHNvb24gYXMgeW91IGNhbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIldBQVJTQ0hVV0lORzogL2V0Yy9mc3RhYiBiZXZhdCBnZWVuIHplc2RlIHZlbGQgKGVlbiBmc2NrLXZvbGdudW1tZXIpLlxuIgorI34gIiAgICBFciB3b3JkdCBudSBvbWhlZW5nZXdlcmt0LCBtYWFyIHUgem91IGRpdCB2ZWxkIGJpalxuIgorI34gIiAgICBkZSBlZXJzdHZvbGdlbmRlIGdlbGVnZW5oZWlkIGRpZW5lbiB0b2UgdGUgdm9lZ2VuLlxuIgorCisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAia2FuICVzIG5pZXQgb3BlbmVuIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gL2Rldi9wb3J0IgorI34gbXNnc3RyICJLYW4gL2Rldi9wb3J0IG5pZXQgb3BlbmVuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVwb2NoIgorI34gbXNnc3RyICJvbnRsZWRlbiB2YW4gdGlqZHBlcmt3YWFyZGUgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSBzcGVjaWZpZWQgbXVsdGlwbGUgZnVuY3Rpb25zLlxuIgorI34gIllvdSBjYW4gb25seSBwZXJmb3JtIG9uZSBmdW5jdGlvbiBhdCBhIHRpbWUuIgorI34gbXNnc3RyICIiCisjfiAiVSBoZWJ0IHZlcnNjaGlsbGVuZGUgZnVuY3RpZXMgYWFuZ2VnZXZlbi5cbiIKKyN+ICJQZXIgYWFucm9lcCBrYW4gc2xlY2h0cyDDqcOpbiBmdW5jdGllIHdvcmRlbiBnZWJydWlrdC4iCisKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIkRlIG9wdGllcyAnLS11dGMnIGVuICctLWxvY2FsdGltZScgZ2FhbiBuaWV0IHNhbWVuLiIKKworI34gbXNnaWQgIlRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiRGUgb3B0aWVzICctLWFkanVzdCcgZW4gJy0tbm9hZGpmaWxlJyBnYWFuIG5pZXQgc2FtZW4uIgorCisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiRGUgb3B0aWVzICctLWFkamZpbGUnIGVuICctLW5vYWRqZmlsZScgZ2FhbiBuaWV0IHNhbWVuLiIKKworI34gbXNnaWQgIk9wZW4gb2YgJXMgZmFpbGVkIgorI34gbXNnc3RyICJPcGVuZW4gdmFuICVzIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIkthbiAlcyBuaWV0IG9wZW5lbiBvbSB0ZSBsZXplbiAtLSBnZXN0b3B0IgorCisjfiBtc2dpZCAiY2Fubm90IGxvY2sgZ3JvdXAgZmlsZSIKKyN+IG1zZ3N0ciAia2FuIGdyb2Vwc2Jlc3RhbmQgbmlldCB2ZXJncmVuZGVsZW4iCisKKyN+IG1zZ2lkICJ0aGUgJXMgZmlsZSBpcyBidXN5ICglcyBwcmVzZW50KSIKKyN+IG1zZ3N0ciAiaGV0IGJlc3RhbmQgJXMgaXMgaW4gZ2VicnVpayAoJXMgaXMgYWFud2V6aWcpIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIExBQkVMPTxsYWJlbD58VVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIExBQkVMPTxsYWJlbD58VVVJRD08dXVpZD5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgIm9udGxlZGVuIHZhbiBzaWduYWFsd2FhcmRlIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJjb3VsZCBub3Qgc3RhdCAnJXMnIgorI34gbXNnc3RyICJrYW4gc3RhdHVzIHZhbiAnJXMnIG5pZXQgb3B2cmFnZW4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAib25nZWxkaWdlIHBsYWF0c3dhYXJkZSAnJXMnIGdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJ3YWFyc2NodXdpbmc6IGxlemVuIHZhbiAnbXRhYicgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjbGFzcyBkYXRhIgorI34gbXNnc3RyICJvbnRsZWRlbiB2YW4ga2xhc3NlZGF0YSAoYmlqICctbicpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJjb25maWd1cmUsIGRlY29uZmlndXJlLCBkaXNhYmxlLCBkaXNwYXRjaCwgZW5hYmxlIGFuZCByZXNjYW4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAiJ2NvbmZpZ3VyZScsICdkZWNvbmZpZ3VyZScsICdkaXNhYmxlJywgJ2VuYWJsZScsICdkaXNwYXRjaCcgZW4gJ3Jlc2NhbicgZ2FhbiBuaWV0IHNhbWVuIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQ6ICVzIgorI34gbXNnc3RyICJrYW4gc3RhdHVzIHZhbiAlcyBuaWV0IG9wdnJhZ2VuIgorCisjfiBtc2dpZCAiY2xlYXIsIHJlYWQtY2xlYXIsIGNvbnNvbGUtbGV2ZWwsIGNvbnNvbGUtb24sIGFuZCBjb25zb2xlLW9mZiBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgIiIKKyN+ICJnZWVuIHZhbiBkZSBvcHRpZXMgJ2NsZWFyJywgJ3JlYWQtY2xlYXInLCAnY29uc29sZS1sZXZlbCcsXG4iCisjfiAiJ2NvbnNvbGUtb24nIGVuICdjb25zb2xlLW9mZicgZ2FhdCBzYW1lbiBtZXQgZWVuIGFuZGVyZSIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBidWZmZXIgc2l6ZSIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIGJ1ZmZlcmdyb290dGUgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBmc3RhdCgpIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICJvbmdlbGRpZ2Ugc25lbGhlaWQiCisKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAib25nZWxkaWdlIHBvc2l0aWUgJyVzJyBvcGdlZ2V2ZW4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNpemUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm9uZ2VsZGlnZSBncm9vdHRlICclcycgb3BnZWdldmVuIgorCisjfiBtc2dpZCAiZXh0ZW5kZWQgYW5kIHBhcnNhYmxlIGZvcm1hdHMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAidWl0Z2VicmVpZGUgZW4gb250bGVlZGJhcmUgb3BtYWtlbiBnYWFuIG5pZXQgc2FtZW4iCisKKyN+IG1zZ2lkICItLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgIm9wdGllcyAnLS1hbGwnLCAnLS1vbmxpbmUnLCBlbiAnLS1vZmZsaW5lJyBnYWFuIG5pZXQgc2FtZW4iCisKKyN+IG1zZ2lkICJvbmx5IG9uZSA8c291cmNlPiBtYXkgYmUgc3BlY2lmaWVkIgorI34gbXNnc3RyICJlciBtYWcgc2xlY2h0cyDDqcOpbiA8YnJvbj4gZ2VnZXZlbiB3b3JkZW4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAicmVzZXJ2ZXJlbiB2YW4gYnJvbmJ1ZmZlciBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAib25seSB1c2Ugb25lIFBJRCBhdCBhIHRpbWUiCisjfiBtc2dzdHIgInUga3VudCBzbGVjaHRzIMOpw6luIFBJRCB0ZWdlbGlqayBnZWJydWlrZW4iCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJvbnRsZWRlbiB2YW4gUElEIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2Vjb25kcyB2YWx1ZSIKKyN+IG1zZ3N0ciAib250bGVkZW4gdmFuIHNlY29uZGVud2FhcmRlIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZV90IHZhbHVlIgorI34gbXNnc3RyICJvbnRsZWRlbiB2YW4gdGlqZHN0aXB3YWFyZGUgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiclcycgaXMgdW5zdXBwb3J0ZWQgcHJvZ3JhbSBuYW1lIChtdXN0IGJlICdzd2Fwb24nIG9yICdzd2Fwb2ZmJykuIgorI34gbXNnc3RyICInJXMnIGlzIG5pZXQtdG9lZ2VzdGFuZSBwcm9ncmFtbWFuYWFtIChtb2V0ICdzd2Fwb24nIG9mICdzd2Fwb2ZmJyB6aWpuKSIKKworI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAia2FuIHN0YXR1cyB2YW4gbWFwIG5pZXQgb3B2cmFnZW4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc3RhdCBkaXJlY3RvcnkgJXMiCisjfiBtc2dzdHIgImthbiBzdGF0dXMgdmFuIG1hcCAlcyBuaWV0IG9wdnJhZ2VuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gdGltaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgImthbiB0aW1pbmdzYmVzdGFuZCAnJXMnIG5pZXQgb3BlbmVuIgorCisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAiYXJndW1lbnQgJWx1IGlzIHRlIGdyb290IgorCisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgImthbiBvbWdldmluZ3N2YXJpYWJlbGUgQ09MVU1OUyBuaWV0IHZlcmtyaWpnZW4iCisKKyN+IG1zZ2lkICJiYWQgY29sdW1ucyB3aWR0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAib25nZWxkaWdlIHdhYXJkZSB2b29yIGtvbG9tYnJlZWR0ZSIKKworI34gbXNnaWQgIi0lYyBwb3NpdGl2ZSBpbnRlZ2VyIGV4cGVjdGVkIGFzIGFuIGFyZ3VtZW50IgorI34gbXNnc3RyICJvcHRpZSAnLSVjJyB2ZXJ3YWNodCBlZW4gcG9zaXRpZWYgZ2VoZWVsIGdldGFsIGFscyBhcmd1bWVudCIKKworI34gbXNnaWQgImJhZCBsZW5ndGggdmFsdWUiCisjfiBtc2dzdHIgIm9uZ2VsZGlnZSB3YWFyZGUgdm9vciB0ZV9pbnRlcnByZXRlcmVuX2FhbnRhbCIKKworI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJvbmdlbGRpZ2Ugd2FhcmRlIHZvb3Igb3Zlcl90ZV9zbGFhbl9hYW50YWwiCisKKyN+IG1zZ2lkICIlczogVXNhZ2U6ICVzIFstbnVtYmVyXSBbLXAgc3RyaW5nXSBbLWNlZm5yc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEdlYnJ1aWs6ICAlcyBbLWFhbnRhbF9yZWdlbHNfcGVyX3BhZ2luYV0gWy1wIHRlX2dlYnJ1aWtlbl9wcm9tcHRdXG4iCisjfiAiICAgICAgICAgICAgICAgICBbLWNlZm5yc10gWytyZWdlbG51bW1lcl0gWysvcGF0cm9vbi9dIFtiZXN0YW5kIC4uLl1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiS2FuIGRlemUgbmlldCBvcGVuZW46ICIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAia2FuICclcycgbmlldCBvcGVuZW4gdm9vciBsZXplbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IFwiJXNcIiIKKyN+IG1zZ3N0ciAia2FuIHN0YXR1cyB2YW4gJyVzJyBuaWV0IG9wdnJhZ2VuIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICAgICBlZW4gQlNELXBhcnRpdGllIHZlcndpamRlcmVuIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgICAgZWVuIG5pZXV3ZSBCU0QtcGFydGl0aWUgdG9ldm9lZ2VuIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICAgICBiZXN0YW5kc3N5c3RlZW0tSUQgdmFuIHBhcnRpdGllIHdpanppZ2VuIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgICAgZ2VicnVpa3RlIGVlbmhlaWQgd2lqemlnZW4gKGNpbGluZGVycy9zZWN0b3JlbikiCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFciB3b3JkdCBlZW4gbmlldXdlIERPUy1wYXJ0aXRpZXRhYmVsIGFhbmdlbWFha3QgbWV0IHNjaGlqZi1JRCAweCUwOHguXG4iCisjfiAiV2lqemlnaW5nZW4gdmluZGVuIGVua2VsIGVuIGFsbGVlbiBpbiBoZXQgZ2VoZXVnZW4gcGxhYXRzLCB0b3RkYXQgdSBiZXNsdWl0IHplXG4iCisjfiAid2VnIHRlIHNjaHJpanZlbi4gIERhYXJuYSBpcyBkZSBvdWRlIGluaG91ZCB1aXRlcmFhcmQgbmlldCBtZWVyIGhlcnN0ZWxiYWFyLlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICJBcHBhcmFhdCBiZXZhdCBnZWVuIGdlbGRpZyBET1MtLCBTdW4tLCBTR0ktIG9mIE9TRi1zY2hpamZsYWJlbC5cbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIioqSW50ZXJuZSBwcm9ncmFtbWFmb3V0KipcbiIKKworI34gbXNnaWQgIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gbXNnc3RyICIgIFNvcnJ5LCBoZXQgZXhwZXJ0c21lbnUgaXMgbmlldCBiZXNjaGlrYmFhciB2b29yIFNHSS1wYXJ0aXRpZXRhYmVsbGVuLlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiV2VldCB1IGRhdCB1IGVlbiBwYXJ0aXRpZW92ZXJsYXAgaGVidCBvcCBkZSBzY2hpamY/XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVyIHdvcmR0IGVlbiBuaWV1dyBTR0ktc2NoaWpmbGFiZWwgZ2VtYWFrdC4gIFdpanppZ2luZ2VuIHZpbmRlbiBlbmtlbFxuIgorI34gImVuIGFsbGVlbiBpbiBoZXQgZ2VoZXVnZW4gcGxhYXRzLCB0b3RkYXQgdSBiZXNsdWl0IHplIHdlZyB0ZSBzY2hyaWp2ZW4uXG4iCisjfiAiRGFhcm5hIGlzIGRlIG91ZGUgaW5ob3VkIHVpdGVyYWFyZCBuaWV0IG1lZXIgaGVyc3RlbGJhYXIuXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIm9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIC0tIGdlc3RvcHRcbiIKKworI34gbXNnaWQgIiUtMjBzOiBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiUtMjBzOiBtaXNsdWt0OiAlc1xuIgorCisjfiBtc2dpZCAiJS0yMHM6IGZhaWxlZFxuIgorI34gbXNnc3RyICIlLTIwczogbWlzbHVrdFxuIgorCisjfiBtc2dpZCAibG9naW46IG1lbW9yeSBsb3csIGxvZ2luIG1heSBmYWlsXG4iCisjfiBtc2dzdHIgImxvZ2luOiBlciBpcyB3ZWluaWcgdnJpaiBnZWhldWdlbiwgaW5sb2dnZW4ga2FuIG1pc2x1a2tlblxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciB0dHljbGFzcyIKKyN+IG1zZ3N0ciAibWFsbG9jKCkgdm9vciB0dHljbGFzcyBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICJtYWxsb2MoKSB2b29yIGdycGxpc3QgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICJJbmxvZ2dlbiBvcCAlcyB2YW5hZiAlcyBpcyBnZXdlaWdlcmQuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstZiB2b2xsZWRpZ2VfbmFhbV0gWy1vIGthbnRvb3JdICIKKworI34gbXNnaWQgIiVzOiBQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorI34gbXNnc3RyICIlczogUEFNLWZvdXQgLS0gZ2VzdG9wdDogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1zIHNoZWxsXSBbdXNlcm5hbWVdXG4iCisjfiAiICAgb3I6ICUxJHMgKC0tbGlzdC1zaGVsbHMgfCAtLWhlbHAgfCAtLXZlcnNpb24pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJTEkcyBbLXMgc2hlbGxdIFtnZWJydWlrZXJzbmFhbV1cbiIKKyN+ICIgICAgIG9mOiAgJTEkcyAoLS1saXN0LXNoZWxscyB8IC0taGVscCB8IC0tdmVyc2lvbilcbiIKKworI34gbXNnaWQgIiVzOiBjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBrYW4gYWxsZWVuIGxva2FsZSBpdGVtcyB3aWp6aWdlbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IGthbiBkZSBzdGFuZGFhcmRjb250ZXh0IHZvb3IgL2V0Yy9wYXNzd2QgbmlldCBpbnN0ZWxsZW4iCisKKyN+IG1zZ2lkICJzZXRwd25hbSBmYWlsZWQiCisjfiBtc2dzdHIgInNldHB3bmFtKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogR2VicnVpayBvcHRpZSAnLWwnIG9tIGRlIGxpanN0IHRlIHppZW5cbiIKKworI34gbXNnaWQgIlVzZSAlcyAtbCB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiR2VicnVpayAnJXMgLWwnIG9tIGRlIGxpanN0IHRlIHppZW4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgbG9naW4gWy1mcF0gW2dlYnJ1aWtlcnNuYWFtXVxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiT25nZWxkaWdlIGdlYnJ1aWtlcnNuYWFtIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBGUk9NICVzIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiSU5MT0dHRU4gRE9PUiAlcyBWQU5BRiAlcyBJUyBHRVdFSUdFUkQgT1AgVFRZICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIklOTE9HR0VOIERPT1IgJXMgSVMgR0VXRUlHRVJEIE9QIFRUWSAlcyIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJJbmxvZ2dlZ2V2ZW5zIG9uanVpc3RcbiIKKworI34gbXNnaWQgImNoYW5nZSB0ZXJtaW5hbCBvd25lciBmYWlsZWQiCisjfiBtc2dzdHIgIndpanppZ2VuIHZhbiB0ZXJtaW5hbGVpZ2VuYWFyIGlzIG1pc2x1a3QiCisKKyN+IG1zZ2lkICJmYWlsdXJlIGZvcmtpbmciCisjfiBtc2dzdHIgImthbiBnZWVuIG5pZXV3IHByb2NlcyBzdGFydGVuIgorCisjfiBtc2dpZCAiJXMgbG9naW46ICIKKyN+IG1zZ3N0ciAiJXMgaW5sb2duYWFtOiAiCisKKyN+IG1zZ2lkICJOQU1FIHRvbyBsb25nIgorI34gbXNnc3RyICJOQUFNIGlzIHRlIGxhbmciCisKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuIgorI34gbXNnc3RyICJpbmxvZ25hYW0gaXMgdmVlbCB0ZSBsYW5nIgorCisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy4iCisjfiBtc2dzdHIgImlubG9nbmFtZW4gbW9nZW4gbmlldCBiZWdpbm5lbiBtZXQgJy0nIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiRVhDRVNTSUVGIGFhbnRhbCB3aXRyZWdlbHMiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBiYXJlIGxpbmVmZWVkcy4iCisjfiBtc2dzdHIgInRlIHZlZWwgd2l0cmVnZWxzIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiSU5MT0dHRU4gSVMgTUlTTFVLVCBWQU5BRiAlcyAtLSAlcyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgT04gJXMsICVzIgorI34gbXNnc3RyICJJTkxPR0dFTiBJUyBNSVNMVUtUIE9QICVzIC0tICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVkIElOTE9HTUlTTFVLS0lOR0VOIFZBTkFGICVzIC0tICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCBJTkxPR01JU0xVS0tJTkdFTiBPUCAlcyAtLSAgJXMiCisKKyN+IG1zZ2lkICIlczogdGhlIGdyb3VwIGZpbGUgaXMgYnVzeS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGhldCBiZXN0YW5kICdncm91cCcgaXMgaW4gZ2VicnVpa1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gJXMgbmlldCBvbnRncmVuZGVsZW46ICVzICh1dyB3aWp6aWdpbmdlbiBzdGFhbiBub2cgaW4gJXMpXG4iCisKKyN+IG1zZ2lkICJjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJjYWxsb2MoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiV0FBUlNDSFVXSU5HOiAlcyBzY2hpam50IGVlbiAnJXMnLXBhcnRpdGlldGFiZWwgdGUgYmV2YXR0ZW4iCisKKyN+IG1zZ2lkICJubyBtYWdpYyBzdHJpbmcgZm91bmQgYXQgb2Zmc2V0IDB4JWp4IC0tIGlnbm9yZWQiCisjfiBtc2dzdHIgImdlZW4gbWFnaXNjaGUgdGVrZW5yZWVrcyBnZXZvbmRlbiBvcCBwb3NpdGllIDB4JWp4IC0tIGdlbmVnZWVyZCIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBzY2hyaWp2ZW4gaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiBtYXAgJy9kZXYnIGJlc3RhYXQgbmlldC4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBrYW4gZ3Jvb3R0ZSB2YW4gYXBwYXJhYXQgJXMgbmlldCBpbnN0ZWxsZW46ICVzXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlPFBSSXU2ND4iCisjfiBtc2dzdHIgIiwgYmVnaW5wdW50ICU8UFJJdTY0PiIKKworI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIiwgdmVyc2xldXRlbGluZ3Nzb29ydCAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBrYW4gZ2VlbiBpbmZvcm1hdGllIHZlcmtyaWpnZW4gb3ZlciBhcHBhcmFhdCAlczogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBrYW4gYXBwYXJhYXQgJXMgbmlldCBvcGVuZW46ICVzXG4iCisKKyN+IG1zZ2lkICIlczogbm8gcGVybWlzc2lvbiB0byBsb29rIGF0IC9kZXYvbG9vcCVzPE4+IgorI34gbXNnc3RyICIlczogZ2VlbiB0b2VnYW5nc3JlY2h0ZW4gdG90IC9kZXYvbG9vcCVzPE4+IgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBLYW4gZ2VlbiBsdXMtYXBwYXJhYXQgdmluZGVuLiAgTWlzc2NoaWVuIGtlbnQgZGV6ZSBrZXJuZWwgZ2VlblxuIgorI34gIiAgICAgICAgbHVzLWFwcGFyYXRlbj8gIChEYW4gbW9ldCB1IGRlIGtlcm5lbCBvcG5pZXV3IGNvbXBpbGVyZW4sXG4iCisjfiAiICAgICAgICBvZiBtaXNzY2hpZW4gZWVuICdtb2Rwcm9iZSBsb29wJyBkb2VuPykiCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiT252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIgdGlqZGVucyBsZXplbiB2YW4gd2FjaHR3b29yZCIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIndhYXJzY2h1d2luZzogJXMgaXMgYWwgZ2VyZWxhdGVlcmQgYWFuICVzXG4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIndhYXJzY2h1d2luZzogJXMgaXMgc2NocmlqZmJldmVpbGlnZCBlbiB3b3JkdCBhbHMgYWxsZWVuLWxlemVuIGFhbmdla29wcGVsZC5cbiIKKworI34gbXNnaWQgImlvY3RsIExPT1BfU0VUX0ZEIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiaW9jdGwoTE9PUF9TRVRfRkQpIGlzIG1pc2x1a3Q6ICVzXG4iCisKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSkgaXMgZ2VsdWt0XG4iCisKKyN+IG1zZ2lkICJkZWxfbG9vcCglcyk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAibHVzLWFwcGFyYWF0ICVzIGlzIHVpdGdlc2NoYWtlbGRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImthbiBsdXMtYXBwYXJhYXQgJXMgbmlldCB1aXRzY2hha2VsZW46ICVzXG4iCisKKyN+IG1zZ2lkICJUaGlzIG1vdW50IHdhcyBjb21waWxlZCB3aXRob3V0IGxvb3Agc3VwcG9ydC4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRlemUgdmVyc2llIHZhbiAnbW91bnQnIGlzIGdlY29tcGlsZWVyZCB6b25kZXIgbHVzLW9uZGVyc3RldW5pbmcuXG4iCisjfiAiSGVyY29tcGlsYXRpZSBpcyBub2RpZy5cbiIKKworI34gbXNnaWQgInN0b2xlbiBsb29wPSVzLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgImFmZ2VwYWt0IGx1cy1hcHBhcmFhdD0lczsgLi4uIG5pZXV3ZSBwb2dpbmdcbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiQmlqIGhldCBjb21waWxlcmVuIHdhcyBnZWVuIGx1cy1vbmRlcnN0ZXVuaW5nIGJlc2NoaWtiYWFyLiAgSGVyY29tcGlsYXRpZSBpcyBub2RpZy5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIFstcSBbLWkgaW50ZXJ2YWxdXSAoWy1zIHdhYXJkZSB8IC1TIHdhYXJkZV0pXG4iCisjfiAiICAgICAgICAgICAgICAgICAoWy10IHdhYXJkZSB8IC1UIHdhYXJkZV0pIFstZ3wtR10gYmVzdGFuZC4uLlxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiS2FuICVzIG5pZXQgb3BlbmVuOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiB2ZXJncmVuZGVsaW5nc2Jlc3RhbmQgJXMgbmlldCBvcGVuZW46ICVzXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG9uZ2VsZGlnIGdldGFsOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGZvcmsgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICIlczogZm9yaygpIGlzIG1pc2x1a3Q6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1NIDxzaXplPiAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorI34gIiAtUyA8bnNlbXM+ICAgIGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnNlbXM+IGVsZW1lbnRzXG4iCisjfiAiIC1RICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKKyN+ICIgLXAgPG1vZGU+ICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLU0gPGdyb290dGU+ICAgZ2VkZWVsZCBnZWhldWdlbnNlZ21lbnQgYWFubWFrZW4gbWV0IGRlemUgZ3Jvb3R0ZVxuIgorI34gIiAgLVMgPGFhbnRhbD4gICAgc2VtYWZvb3JhcnJheSBhYW5tYWtlbiBtZXQgPGFhbnRhbD4gZWxlbWVudGVuXG4iCisjfiAiICAtUSAgICAgICAgICAgICBiZXJpY2h0ZW53YWNodHJpaiBhYW5tYWtlblxuIgorI34gIiAgLXAgPG1vZHVzPiAgICAgZGV6ZSB0b2VnYW5nc3JlY2h0ZW4gdG9la2VubmVuIChzdGFuZGFhcmQgMDY0NClcbiIKKworI34gbXNnaWQgImNhbm5vdCByZW1vdmUgaWQgJXMgKCVzKVxuIgorI34gbXNnc3RyICJrYW4gSUQgJXMgbmlldCB2ZXJ3aWpkZXJlbiAoJXMpXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiQWZnZXJhZGVuIGdlYnJ1aWs6ICAlcyBbc2htIHwgbXNnIHwgc2VtXSBJRC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgIFstUSBtc2drZXldIFstTSBzaG1rZXldIFstUyBzZW1rZXldIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJXMgWyBbLXEgbXNxLUlEXSBbLW0gc2htLUlEXSBbLXMgc2VtLUlEXVxuIgorI34gIiAgICAgICAgICAgICAgICAgIFstUSBtc3Etc2xldXRlbF0gWy1NIHNobS1zbGV1dGVsXSBbLVMgc2VtLXNsZXV0ZWxdIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGtleSIKKyN+IG1zZ3N0ciAib25iZWtlbmRlIGZvdXQgaW4gc2xldXRlbCIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgIm9uYmVrZW5kZSBmb3V0IGluIElEIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlMSRzIFstYXNtcV0gWy10fC1jfC1sfC11fC1wXVxuIgorI34gIiAgICAgICAlMSRzIFstc3wtbXwtcV0gLWkgaWRcbiIKKyN+ICIgICAgICAgJTEkcyAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogJTEkcyBbLWFzbXFdIFstdHwtY3wtbHwtdXwtcF1cbiIKKyN+ICIgICAgICAgICAlMSRzIFstc3wtbXwtcV0gLWkgSURcbiIKKyN+ICIgICAgICAgICAlMSRzIC1oICAgICh2b29yIGh1bHApXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKKyN+ICIgICAgLW0gICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCisjfiAiICAgIC1xICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKKyN+ICIgICAgLXMgICAgICBzZW1hcGhvcmVzXG4iCisjfiAiICAgIC1hICAgICAgYWxsIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiSHVscGJyb25vcHRpZXM6XG4iCisjfiAiICAgIC1tICAgICAgZ2VkZWVsZGUgZ2VoZXVnZW5zZWdtZW50ZW5cbiIKKyN+ICIgICAgLXEgICAgICBiZXJpY2h0d2FjaHRyaWplblxuIgorI34gIiAgICAtcyAgICAgIHNlbWFmb3JlblxuIgorI34gIiAgICAtYSAgICAgIGFsbGUgKGlzIHN0YW5kYWFyZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgZm9ybWF0OlxuIgorI34gIiAgICAtdCAgICAgIHRpbWVcbiIKKyN+ICIgICAgLXAgICAgICBwaWRcbiIKKyN+ICIgICAgLWMgICAgICBjcmVhdG9yXG4iCisjfiAiICAgIC1sICAgICAgbGltaXRzXG4iCisjfiAiICAgIC11ICAgICAgc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiVWl0dm9lcm9wbWFhazpcbiIKKyN+ICIgICAgLXQgICAgICB0aWpkXG4iCisjfiAiICAgIC1wICAgICAgUElEXG4iCisjfiAiICAgIC1jICAgICAgYWFubWFrZXJcbiIKKyN+ICIgICAgLWwgICAgICBncmVuemVuXG4iCisjfiAiICAgIC11ICAgICAgc2FtZW52YXR0aW5nXG4iCisKKyN+IG1zZ2lkICIgJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPHNwZWVkPiBdIFsgLWkgWy1dPGlmbGFnPiBdIDxsZGlzYz4gPGRldmljZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgJXMgWy1kaFY3OG5lbzEyXSBbLXMgPHNuZWxoZWlkPl0gWy1pIFstXTxpbnZvZXJ2bGFnPl1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICA8bGlqbnByb3RvY29sPiA8YXBwYXJhYXQ+XG4iCisKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIidsZGF0dGFjaCcgdWl0ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBhcnNlIDxsaXN0PiAgcHJpbnQgb3V0IGEgcGFyc2FibGUgaW5zdGVhZCBvZiBhIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtcywgLS1zeXNyb290IDxkaXI+IHVzZSBkaXJlY3RvcnkgRElSIGFzIHN5c3RlbSByb290XG4iCisjfiAiIC14LCAtLWhleCAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorI34gbXNnc3RyICIiCisjfiAiVG9vbnQgaW5mb3JtYXRpZSBvdmVyIGRlIHByb2Nlc3NvcmFyY2hpdGVjdHV1ci5cbiIKKyN+ICJcbiIKKyN+ICIgIC1wLCAtLXBhcnNlWz08bGlqc3Q+XSAgb250bGVlZGJhcmUgaS5wLnYuIGxlZXNiYXJlIHVpdHZvZXIgcHJvZHVjZXJlblxuIgorI34gIiAgLXMsIC0tc3lzcm9vdCA8bWFwPiAgICBkZXplIG1hcCBhbHMgaG9vZmRtYXAgZ2VicnVpa2VuXG4iCisjfiAiICAteCwgLS1oZXggICAgICAgICAgICAgIGhleGFkZWNpbWFhbCBtYXNrZXIgdG9uZW4gaW4gcGxhYXRzIHZhbiBsaWpzdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBVc2FnZTogXCIlcyBbb3B0aW9uc11cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorI34gIlx0IC12ICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCisjfiAiXHQgLXMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorI34gIlx0IC1WICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEdlYnJ1aWs6ICAlcyBbb3B0aWVzXVxuIgorI34gIlxuIgorI34gIiAgLU0gPG1hYWw+ICBwcm9maWxlZXJ2ZXJtZW5pZ3Z1bGRpZ2VyIG9wIDxtYWFsPiBpbnN0ZWxsZW5cbiIKKyN+ICIgIC1tIDxzeW1ib2xlbmJlc3RhbmQ+ICAgKHN0YW5kYWFyZDogJXMgZW5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXMpXG4iCisjfiAiICAtcCA8cHJvZmlsZWVyYmVzdGFuZD4gIChzdGFuZGFhcmQ6ICVzKVxuIgorI34gIiAgLWEgICAgICAgICBhbGxlIHN5bWJvbGVuIHRvbmVuLCBvb2sgYWxzIGhldCBhYW50YWwgbnVsIGlzXG4iCisjfiAiICAtYiAgICAgICAgIGluZGl2aWR1ZWxlIGhpc3RvZ3JhbWJhbGstYWFudGFsbGVuIHdlZXJnZXZlblxuIgorI34gIiAgLWkgICAgICAgICBhbGxlZW4gaW5mbyBvdmVyIGJlbW9uc3RlcmluZ3NzdGFwIHRvbmVuXG4iCisjfiAiICAtbiAgICAgICAgIGF1dG9kZXRlY3RpZSB2YW4gYnl0ZXZvbGdvcmRlIHVpdHpldHRlblxuIgorI34gIiAgLXIgICAgICAgICBhbGxlIHRlbGxlcnMgb3BuaWV1dyBvcCBudWwgaW5zdGVsbGVuIChhbGxlZW4gZG9vciByb290KVxuIgorI34gIiAgLXMgICAgICAgICBpbmRpdmlkdWVsZSB0ZWxsZXJzIGluIGZ1bmN0aWVzIHdlZXJnZXZlblxuIgorI34gIiAgLXYgICAgICAgICBnZWRldGFpbGxlZXJkZSB1aXR2b2VyIHByb2R1Y2VyZW5cbiIKKworI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJyZWFkcHJvZmlsZTogZm91dCBiaWogc2NocmlqdmVuIHZhbiAlczogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgPHByb2dyYW1tYT4gWzxhcmd1bWVudD4uLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIDxhcHBhcmFhdD4gWyAtYyA8YWFudGFsX3BvZ2luZ2VuX2Fsdm9yZW5zX3RlX3NsYXBlbj4gfFxuIgorI34gIiAgICAgICAgICAtdCA8c2xhYXB0aWpkPiB8IC13IDxzdHJvYmVfd2FjaHR0aWpkPiB8IC1pIDxJUlE+IHwgLWEgW29ufG9mZl0gfFxuIgorI34gIiAgICAgICAgICAtQyBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiJXM6IG9uZ2VsZGlnZSB3YWFyZGVcbiIKKworI34gbXNnaWQgIlNvcnJ5IFlvdSBtYXkgY2hhbmdlIHRoZSBUYWcgb2Ygbm9uLWVtcHR5IHBhcnRpdGlvbnMuXG4iCisjfiBtc2dzdHIgIlNvcnJ5LCBhbGxlZW4gdmFuIG5pZXQtbGVnZSBwYXJ0aXRpZXMga3VudCB1IGRlIHNvb3J0IHdpanppZ2VuLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzICIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZSAlcyAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzICIKKyN+IG1zZ3N0ciAiV2FhcnNjaHV3aW5nOiBwYXJ0aXRpZXMgJXMgIgorCisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAiZW4gJXMgb3ZlcmxhcHBlblxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgW29wdGlvbnNdIGRldmljZSBbLi4uXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgW29wdGllc10gYXBwYXJhYXQuLi5cbiIKKworI34gbXNnaWQgIkRldmljZSBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYVxuIgorI34gbXNnc3RyICIgIChhcHBhcmFhdCBpcyB6b2lldHMgYWxzIC9kZXYvaGRhIG9mIC9kZXYvc2RhKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLXMsIC0tc2hvdy1zaXplICAgICAgICAgbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uXG4iCisjfiAiICAtYywgLS1pZCAgICAgICAgICAgICAgICBjaGFuZ2Ugb3IgcHJpbnQgcGFydGl0aW9uIElkXG4iCisjfiAiICAgICAgLS1jaGFuZ2UtaWQgICAgICAgICBjaGFuZ2UgSWRcbiIKKyN+ICIgICAgICAtLXByaW50LWlkICAgICAgICAgIHByaW50IElkXG4iCisjfiAiICAtbCwgLS1saXN0ICAgICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKKyN+ICIgIC1kLCAtLWR1bXAgICAgICAgICAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXRcbiIKKyN+ICIgIC1pLCAtLWluY3JlbWVudCAgICAgICAgIG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDBcbiIKKyN+ICIgIC11LCAtLXVuaXQ9W1NCQ01dICAgICAgIHVuaXRzIGluIHNlY3RvcnMsIGJsb2NrcywgY3lsaW5kZXJzIG9yIE1CXG4iCisjfiAiICAtMSwgLS1vbmUtb25seSAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiICAtVCwgLS1saXN0LXR5cGVzICAgICAgICBsaXN0IHRoZSBrbm93biBwYXJ0aXRpb24gdHlwZXNcbiIKKyN+ICIgIC1ELCAtLURPUyAgICAgICAgICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2VcbiIKKyN+ICIgIC1FLCAtLURPUy1leHRlbmRlZCAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAgLU49TlVNICAgICAgICAgICAgICAgICAgY2hhbmdlIG9ubHkgdGhlIHBhcnRpdGlvbiB3aXRoIG51bWJlciBOVU1cbiIKKyN+ICIgIC1uICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiICAtTyBGSUxFICAgICAgICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byBmaWxlXG4iCisjfiAiICAtSSBGSUxFICAgICAgICAgICAgICAgICByZXN0b3JlIHNlY3RvcnMgZnJvbSBmaWxlXG4iCisjfiAiICAtViwgLS12ZXJpZnkgICAgICAgICAgICBjaGVjayB0aGF0IGxpc3RlZCBwYXJ0aXRpb24gaXMgcmVhc29uYWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLXMsIC0tc2hvdy1zaXplICAgICAgICAgZ3Jvb3R0ZSB2YW4gZWVuIHBhcnRpdGllIHRvbmVuXG4iCisjfiAiICAtYywgLS1pZCAgICAgICAgICAgICAgICBwYXJ0aXRpZS1JRCB0b25lbiBvZiB3aWp6aWdlblxuIgorI34gIiAgICAgIC0tY2hhbmdlLWlkICAgICAgICAgSUQgd2lqemlnZW5cbiIKKyN+ICIgICAgICAtLXByaW50LWlkICAgICAgICAgIElEIHRvbmVuXG4iCisjfiAiICAtbCwgLS1saXN0ICAgICAgICAgICAgICBwYXJ0aXRpZXMgdmFuIGVsayBnZWdldmVuIGFwcGFyYWF0IHRvbmVuXG4iCisjfiAiICAtZCwgLS1kdW1wICAgICAgICAgICAgICBpZGVtLCBtYWFyIGluIGVlbiB2b3JtIGRpZSBnZXNjaGlrdCBpcyBhbHMgaW52b2VyXG4iCisjfiAiICAtaSwgLS1pbmNyZW1lbnQgICAgICAgICBjaWxpbmRlcnMgbnVtbWVyZW4gdmFuYWYgMSBpbiBwbGFhdHMgdmFuIHZhbmFmIDBcbiIKKyN+ICIgIC11LCAtLXVuaXQ9W1NCQ01dICAgICAgIGFscyBlZW5oZWlkIHNlY3RvcmVuLCBibG9ra2VuLCBjaWxpbmRlcnMsIE1CIGdlYnJ1aWtlblxuIgorI34gIiAgLTEsIC0tb25lLW9ubHkgICAgICAgICAgKGdlcmVzZXJ2ZWVyZGUgb3B0aWU7IGRvZXQgbW9tZW50ZWVsIG5pZXRzKVxuIgorI34gIiAgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgZGUgbW9nZWxpamtlIHBhcnRpdGllc29vcnRlbiB0b25lblxuIgorI34gIiAgLUQsIC0tRE9TICAgICAgICAgICAgICAgRE9TLWNvbXBhdGliZWwgemlqbiAoZWVuIGJlZXRqZSBydWltdGUgdmVyc3BpbGxlbilcbiIKKyN+ICIgIC1FLCAtLURPUy1leHRlbmRlZCAgICAgIERPUy1leHRlbmRlZC1jb21wYXRpYmVsIHppam5cbiIKKyN+ICIgIC1SLCAtLXJlLXJlYWQgICAgICAgICAgIGRlIHBhcnRpdGlldGFiZWwgZG9vciBkZSBrZXJuZWwgbGF0ZW4gaGVyaW5sZXplblxuIgorI34gIiAgLU49TlVNTUVSICAgICAgICAgICAgICAgYWxsZWVuIGRlIHBhcnRpdGllIG1ldCBkaXQgbnVtbWVyIHdpanppZ2VuXG4iCisjfiAiICAtbiAgICAgICAgICAgICAgICAgICAgICBuaWV0IGVjaHQgbmFhciBzY2hpamYgc2NocmlqdmVuLCBtYWFyIGRvZW4gYWxzb2ZcbiIKKyN+ICIgIC1PIEJFU1RBTkQgICAgICAgICAgICAgIHNlY3RvcmVuIGRpZSBvdmVyc2NocmV2ZW4gd29yZGVuIG9wc2xhYW4gaW4gYmVzdGFuZFxuIgorI34gIiAgLUkgQkVTVEFORCAgICAgICAgICAgICAgb3ZlcnNjaHJldmVuIHNlY3RvcmVuIGhlcnN0ZWxsZW4gdmFudWl0IGRpdCBiZXN0YW5kXG4iCisjfiAiICAtViwgLS12ZXJpZnkgICAgICAgICAgICBjb250cm9sZXJlbiBkYXQgZGUgcGFydGl0aWVzIGNvbnNpc3RlbnQgemlqblxuIgorCisjfiBtc2dpZCAiIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gIiAgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKKyN+ICIgIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAgLUEsIC0tYWN0aXZhdGVbPWRldmljZV0gYWN0aXZhdGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgIC1VLCAtLXVuaGlkZVs9ZGV2aWNlXSAgIHNldCBwYXJ0aXRpb24gdW5oaWRkZW5cbiIKKyN+ICIgICAgICAtLW5vLXJlcmVhZCAgICAgICAgIHNraXAgcGFydGl0aW9uIHJlLXJlYWQgYXQgYm9vdFxuIgorI34gIiAgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgb24gb3V0cHV0XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gb24gaW5wdXRcbiIKKyN+ICIgICAgICAtLWxlYXZlLWxhc3QgICAgICAgIGRvIG5vdCBhbGxvY2F0ZSB0aGUgbGFzdCBjeWxpbmRlclxuIgorI34gIiAgICAgIC0tSUJNICAgICAgICAgICAgICAgc2FtZSBhcyAtLWxlYXZlLWxhc3RcbiIKKyN+ICIgICAgICAtLWluLW9yZGVyICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIGluIG9yZGVyXG4iCisjfiAiICAgICAgLS1ub3QtaW4tb3JkZXIgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgICAtLWluc2lkZS1vcmRlciAgICAgIGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiAiICAgICAgLS1ub3QtaW5zaWRlLW9yZGVyICBub3QgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+ICIgICAgICAtLW5lc3RlZCAgICAgICAgICAgIGV2ZXJ5IHBhcnRpdGlvbiBpcyBkaXNqb2ludCBmcm9tIGFsbCBvdGhlcnNcbiIKKyN+ICIgICAgICAtLWNoYWluZWQgICAgICAgICAgIGxpa2UgbmVzdGVkLCBidXQgZXh0ZW5kZWQgcGFydGl0aW9ucyBtYXkgbGllIG91dHNpZGVcbiIKKyN+ICIgICAgICAtLW9uZXNlY3RvciAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiAiICAtTCwgLS1MaW51eCAgICAgICAgICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4XG4iCisjfiAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICBzdXBwcmVzcyB3YXJuaW5nIG1lc3NhZ2VzXG4iCisjfiAiXG4iCisjfiAiICBPdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6XG4iCisjfiAiICAtQywgLS1jeWxpbmRlcnM9TlVNICAgICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiICAtSCwgLS1oZWFkcz1OVU0gICAgICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+ICIgIC1TLCAtLXNlY3RvcnM9TlVNICAgICAgIHNldCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZXZhYXJsaWprZSBvcHRpZXM6XG4iCisjfiAiICAtZiwgLS1mb3JjZSAgICAgICAgICAgICBhbGxlIGNvbnNpc3RlbnRpZWNvbnRyb2xlcyB1aXRzY2hha2VsZW5cbiIKKyN+ICIgIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgIGRlIGdlb21ldHJpZSB0b25lbiBkaWUgZG9vciBkZSBrZXJuZWwgYWFuZ2VnZXZlbiB3b3JkdFxuIgorI34gIiAgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgZGUgZ2VvbWV0cmllIHRvbmVuIGRpZSB1aXQgZGUgcGFydGl0aWV0YWJlbCBibGlqa3RcbiIKKyN+ICIgIC1BLCAtLWFjdGl2YXRlWz1BUFBSVF0gIGRlICdvcHN0YXJ0YmFhcictdmxhZyBpbnNjaGFrZWxlblxuIgorI34gIiAgLVUsIC0tdW5oaWRlWz1BUFBSVF0gICAgcGFydGl0aWUgYWxzIG9udmVyYm9yZ2VuIG1hcmtlcmVuXG4iCisjfiAiICAgICAgLS1uby1yZXJlYWQgICAgICAgICB2b29yIGhlcnBhcnRpdGlvbmVyZW4gZGUgcGFydGl0aWV0YWJlbCBuaWV0IGhlcmxlemVuXG4iCisjfiAiICAteCwgLS1zaG93LWV4dGVuZGVkICAgICB1aXRnZWJyZWlkZSBwYXJ0aXRpZXMgdm9sbGVkaWcgd2VlcmdldmVuIGluIHVpdHZvZXIsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGJlc2NocmlqdmVycyBlcnZhbiB2ZXJ3YWNodGVuIGluIGludm9lclxuIgorI34gIiAgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgZGUgbGFhdHN0ZSBjaWxpbmRlciBuaWV0IHRvZXdpanplblxuIgorI34gIiAgICAgIC0tSUJNICAgICAgICAgICAgICAgaGV0emVsZmRlIGFscyAnLS1sZWF2ZS1sYXN0J1xuIgorI34gIiAgICAgIC0taW4tb3JkZXIgICAgICAgICAgZGUgcGFydGl0aWVzIHppam4gb3Agdm9sZ29yZGVcbiIKKyN+ICIgICAgICAtLW5vdC1pbi1vcmRlciAgICAgIGRlIHBhcnRpdGllcyB6aWpuIG5pZXQgb3Agdm9sZ29yZGVcbiIKKyN+ICIgICAgICAtLWluc2lkZS1vdXRlciAgICAgIGFsbGUgbG9naXNjaGUgdmFsbGVuIGJpbm5lbiBkZSBidWl0ZW5zdGUgdWl0Z2VicmVpZGVcbiIKKyN+ICIgICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgIG5pZXQgYWxsZSBsb2dpc2NoZSBiaW5uZW4gZGUgYnVpdGVuc3RlIHVpdGdlYnJlaWRlXG4iCisjfiAiICAgICAgLS1uZXN0ZWQgICAgICAgICAgICBlbGtlIHBhcnRpdGllIHZhbHQgYmlubmVuIGVlbiB1aXRnZWJyZWlkZSBwYXJ0aXRpZVxuIgorI34gIiAgICAgIC0tY2hhaW5lZCAgICAgICAgICAgZWxrZSBsb2dpc2NoZSBwYXJ0aXRpZSB2YWx0IGJpbm5lbiBlZW4gdWl0Z2VicmVpZGVcbiIKKyN+ICIgICAgICAtLW9uZXNlY3RvciAgICAgICAgIGdlZW4gZW5rZWxlIHBhcnRpdGllIHZhbHQgYmlubmVuIGVlbiBhbmRlcmVcbiIKKyN+ICIgIC1MLCAtLUxpbnV4ICAgICAgICAgICAgIG5pZXQga2xhZ2VuIG92ZXIgZGluZ2VuIGRpZSBpcnJlbGV2YW50IHppam4gdm9vciBMaW51eFxuIgorI34gIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgd2FhcnNjaHV3aW5nZW4gb25kZXJkcnVra2VuXG4iCisjfiAiXG4iCisjfiAiVSBrdW50IGVlbiBhbmRlcmUgZGFuIGRlIGdldm9uZGVuIGdlb21ldHJpZSBhZmR3aW5nZW4gbWV0OlxuIgorI34gIiAgLUMsIC0tY3lsaW5kZXJzPUdFVEFMICAgaGV0IGFhbnRhbCB0ZSBnZWJydWlrZW4gY2lsaW5kZXJzXG4iCisjfiAiICAtSCwgLS1oZWFkcz1HRVRBTCAgICAgICBoZXQgYWFudGFsIHRlIGdlYnJ1aWtlbiBrb3BwZW5cbiIKKyN+ICIgIC1TLCAtLXNlY3RvcnM9R0VUQUwgICAgIGhldCBhYW50YWwgdGUgZ2VicnVpa2VuIHNlY3RvcmVuXG4iCisKKyN+IG1zZ2lkICJzdWNjZXNzIgorI34gbXNnc3RyICJnZWx1a3QiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgcHJpb3JpdHldIFstZF0gWy12XSBbLWZdIDxzcGVjaWFsPiAgZW5hYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtcyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgdXNhZ2Ugc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazpcbiIKKyN+ICIgICUxJHMgLWEgWy1lXSBbLXZdIFstZl0gICAgICAgICAgICAgICAgIGFsbGUgd2lzc2VsZ2VoZXVnZW5zIGluc2NoYWtlbGVuIGRpZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJtZWxkIHN0YWFuIGluIC9ldGMvZnN0YWJcbiIKKyN+ICIgICUxJHMgWy1wIFBSSU9SSVRFSVRdIFstZF0gWy12XSBbLWZdIE5BQU0gICAgZGl0IHdpc3NlbGdlaGV1Z2VuIGluc2NoYWtlbGVuXG4iCisjfiAiICAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZWJydWlrc3NhbWVudmF0dGluZyB0b25lblxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHNcbiIKKyN+ICIgJTEkcyBbLXZdIDxzcGVjaWFsPiAgICAgICAgICAgICAgIGRpc2FibGUgZ2l2ZW4gc3dhcFxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazpcbiIKKyN+ICIgICUxJHMgLWEgWy12XSAgICAgIGFsbGUgd2lzc2VsZ2VoZXVnZW5zIHVpdHNjaGFrZWxlblxuIgorI34gIiAgJTEkcyBbLXZdIE5BQU0gICAgZGl0IHdpc3NlbGdlaGV1Z2VuIHVpdHNjaGFrZWxlblxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgJXMgW29wdGllc10gPGJlc3RhbmRzbmFhbT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpZXM6XG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbb3B0aWVzXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogICVzIFtvcHRpZXNdXG4iCisjfiAiXG4iCisjfiAiT3B0aWVzOlxuIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBbYXBwYXJhdGVuXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIG9wZHJhY2h0ZW4gYXBwYXJhdGVuXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiAlcyBuaWV0IG9wZW5lblxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFsgLW4gXSBhcHBhcmFhdFxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIiVzOiBvcHRpb24gcGFyc2UgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IG9wdGllLW9udGxlZGluZ3Nmb3V0XG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFsteF0gWy1kIDxnZXRhbD5dIGlzbzk2NjAtYWZiZWVsZGluZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICAlcyBbLXZdIFstTiBhYW50YWxfaW5vZGVzXSBbLVYgdm9sdW1lbm5hYW1dXG4iCisjfiAiICAgICAgICAgIFstRiBiZXN0YW5kc3N5c3RlZW1uYWFtXSBhcHBhcmFhdCBbYWFudGFsX2Jsb2trZW5dXG4iCisKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAia2FuIHNlY3Rvcmdyb290dGUgdm9vciAlcyBuaWV0IGFjaHRlcmhhbGVuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstY10gWy1wcGFnaW5hZ3Jvb3R0ZV0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gIC9kZXYvbmFhbSAgW2Jsb2trZW5dXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IgorI34gbXNnc3RyICJPbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhciIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6XG4iCisjfiAiICAlcyAiCisKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJNZW51IHpvbmRlciByaWNodGluZy4gIFN0YW5kYWFyZCB3b3JkdCBnZWJydWlrdDogaG9yaXpvbnRhYWwuIgorCisjfiBtc2dpZCAiWW91IG11c3QgZGVsZXRlIHNvbWUgcGFydGl0aW9uIGFuZCBhZGQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIGZpcnN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVIGRpZW50IGVlcnN0IGVlbiBwYXJ0aXRpZSB0ZSB2ZXJ3aWpkZXJlblxuIgorI34gImVuIGVlbiB1aXRnZWJyZWlkZSBwYXJ0aXRpZSB0b2UgdGUgdm9lZ2VuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIkNvbW1hbmQgYWN0aW9uXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbWFyeSBwYXJ0aXRpb24gKDEtNClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wZHJhY2h0ICBBY3RpZVxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgICAgIHByaW1haXJlIHBhcnRpdGllICgxLTQpXG4iCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIC1zLCAtLXNob3ctc2l6ZSAgICAgcGFydGl0aWVncm9vdHRlcyB0b25lbiIKKworI34gbXNnaWQgIiAgICAtZCBbb3IgLS1kdW1wXTogICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0IgorI34gbXNnc3RyICIgIC1kLCAtLWR1bXAgICAgICAgICAgaWRlbSwgbWFhciBpbiBlZW4gb3BtYWFrIGdlc2NoaWt0IHZvb3IgbGF0ZXJlIGludm9lciIKKworI34gbXNnaWQgIiAgICAtaSBbb3IgLS1pbmNyZW1lbnRdOiBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwIgorI34gbXNnc3RyICIgIC1pLCAtLWluY3JlbWVudCAgICAgY2lsaW5kZXJzL3NlY3RvcmVuLy4uLiBudW1tZXJlbiB2YW5hZiAxIGluIHBsYWF0cyB2YW5hZiAwIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgIC11UywgLXVCLCAtdUMsIC11TSAgaW52b2VyZW4vd2VlcmdldmVuIGluIHNlY3RvcmVuL2Jsb2trZW4vY2lsaW5kZXJzL01CIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgLUQsIC0tRE9TICAgICAgICAgICBlZW4gYmVldGplIHJ1aW10ZSB2ZXJzcGlsbGVuICh2b29yIERPUy1jb21wYXRpYmlsaXRlaXQpIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgLVIsIC0tcmUtcmVhZCAgICAgICBkZSBwYXJ0aXRpZXRhYmVsIG9wbmlldXcgaW4gbGF0ZW4gbGV6ZW4gZG9vciBkZSBrZXJuZWwiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAtTyBiZXN0YW5kICAgICAgICAgIGRlIHRlIG92ZXJzY2hyaWp2ZW4gc2VjdG9yZW4gb3BzbGFhbiBpbiBkaXQgYmVzdGFuZCIKKworI34gbXNnaWQgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByZXN0b3JlIHRoZXNlIHNlY3RvcnMgYWdhaW4iCisjfiBtc2dzdHIgIiAgLUkgYmVzdGFuZCAgICAgICAgICBkZXplIG9wZ2VzbGFnZW4gc2VjdG9yZW4gaGVyc3RlbGxlbiIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgIGRlIGtlcm5lbHZpc2llIHZhbiBkZSBnZW9tZXRyaWUgd2VlcmdldmVuIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAtTCwgLS1MaW51eCAgICAgICAgIG5pZXQga2xhZ2VuIG92ZXIgZGluZ2VuIGRpZSBuaWV0IHJlbGV2YW50IHppam4gdm9vciBMaW51eCIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIlUga3VudCBlZW4gYW5kZXJlIGRhbiBkZSBnZXZvbmRlbiBnZW9tZXRyaWUgYWZkd2luZ2VuIG1ldDoiCisKKyN+IG1zZ2lkICIgICAgLWYgIFtvciAtLWZvcmNlXTogICAgICBkbyB3aGF0IEkgc2F5LCBldmVuIGlmIGl0IGlzIHN0dXBpZCIKKyN+IG1zZ3N0ciAiICAtZiwgLS1mb3JjZSAgICAgICAgIHByZWNpZXMgZG9lbiBhbHMgZ2VnZXZlbiwgKm9vayogYWxzIGhldCBkb20gaXMiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+IG1zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIgdm9vciBiZXN0YW5kc3N5c3RlZW1zb29ydGVuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IGZzdHlwZV0gW2ZzLW9wdGlvbnNdIFtmaWxlc3lzIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6IGZzY2sgWy1BTU5QUlRWXSBbLUMgW2Jlc3RhbmRzZGVzY3JpcHRvcl1dIFstdCBiZXN0YW5kc3N5dGVlbXNvb3J0XVxuIgorI34gIiAgICAgICAgICAgICAgW2Jlc3RhbmRzc3lzdGVlbW9wdGllc10gW2Jlc3RhbmRzc3lzdGVlbS4uLl1cbiIKKworI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkthbiAlcyBuaWV0IG9wZW5lbjogJXNcbiIKKworI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICInZnNjaycgdWl0ICVzXG4iCisKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIiVzOiBPbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhciB2b29yIGZzY2tfcGF0aCgpXG4iCisKKyN+IG1zZ2lkICJUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJQcm9iZWVyICdnZXRvcHQgLS1oZWxwJyB2b29yIG1lZXIgaW5mb3JtYXRpZS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBnZXRvcHQgb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogIGdldG9wdCBvcHRpZXJlZWtzIHBhcmFtZXRlcnNcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgIGdldG9wdCBbb3B0aWVzXSBbLS1dIG9wdGllcmVla3MgcGFyYW1ldGVyc1xuIgorCisjfiBtc2dpZCAiZ2V0b3B0IChlbmhhbmNlZCkgMS4xLjRcbiIKKyN+IG1zZ3N0ciAiZ2V0b3B0ICh2ZXJiZXRlcmRlKSAxLjEuNFxuIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoVmVyd2FjaHQ6ICdVVEMnIG9mICdMT0NBTCcgb2YgbmlldHMuKVxuIgorCisjfiBtc2dpZCAiIgorI34gImh3Y2xvY2sgLSBxdWVyeSBhbmQgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayAoUlRDKVxuIgorI34gIlxuIgorI34gIlVzYWdlOiBod2Nsb2NrIFtmdW5jdGlvbl0gW29wdGlvbnMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3Rpb25zOlxuIgorI34gIiAgLXIgfCAtLXNob3cgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgICAgLS1zZXQgICAgICAgICAgc2V0IHRoZSBydGMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIHRvIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAgYWRqdXN0IHRoZSBydGMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gIiAgICAgICAtLXByZWRpY3QgICAgICBwcmVkaWN0IHJ0YyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAgcHJpbnQgb3V0IHRoZSB2ZXJzaW9uIG9mIGh3Y2xvY2sgdG8gc3Rkb3V0XG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczogXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiAiICAtZiB8IC0tcnRjPXBhdGggICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiAiICAgICAgIC0tZGlyZWN0aXNhICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAgIC0tYmFkeWVhciAgICAgIGlnbm9yZSBydGMncyB5ZWFyIGJlY2F1c2UgdGhlIGJpb3MgaXMgYnJva2VuXG4iCisjfiAiICAgICAgIC0tZGF0ZSAgICAgICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAgIC0tZXBvY2g9eWVhciAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICBkbyBub3QgYWNjZXNzIC9ldGMvYWRqdGltZS4gUmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgICAgLS1hZGpmaWxlPXBhdGggc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZSAoZGVmYXVsdCBpc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAvZXRjL2FkanRpbWUpXG4iCisjfiAiICAgICAgIC0tdGVzdCAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IGFjdHVhbGx5IHVwZGF0aW5nIHRoZSBoYXJkd2FyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBjbG9jayBvciBhbnl0aGluZyBlbHNlXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGRlYnVnIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gImh3Y2xvY2sgLSBkZSBoYXJkd2FyZWtsb2sgKFJUQykgaW5zdGVsbGVuIG9mIHdhYXJkZW4gd2VlcmdldmVuXG4iCisjfiAiXG4iCisjfiAiR2VicnVpazogIGh3Y2xvY2sgW2Z1bmN0aWVdIFtvcHRpZXMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuY3RpZXM6XG4iCisjfiAiICAtcnwtLXNob3cgICAgICAgIGRlIGhhcmR3YXJla2xvayBsZXplbiBlbiBoZXQgcmVzdWx0YWF0IHdlZXJnZXZlblxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICBkZSBoYXJkd2FyZWtsb2sgaW5zdGVsbGVuIG9wIGRlIHRpamQgZ2VnZXZlbiBtZXQgJy0tZGF0ZSdcbiIKKyN+ICIgIC1zfC0taGN0b3N5cyAgICAgYWFuIGRlIGhhbmQgdmFuIGRlIGhhcmR3YXJla2xvayBkZSBzeXN0ZWVta2xvayBpbnN0ZWxsZW5cbiIKKyN+ICIgIC13fC0tc3lzdG9oYyAgICAgYWFuIGRlIGhhbmQgdmFuIGRlIHN5c3RlZW1rbG9rIGRlIGhhcmR3YXJla2xvayBpbnN0ZWxsZW5cbiIKKyN+ICIgICAgIC0tc3lzdHogICAgICAgZGUgc3lzdGVlbWtsb2sgaW5zdGVsbGVuIGFhbiBkZSBoYW5kIHZhbiBkZSB0aWpkem9uZVxuIgorI34gIiAgICAgLS1hZGp1c3QgICAgICBkZSBoYXJkd2FyZWtsb2sgYWFucGFzc2VuIHRlciBjb21wZW5zYXRpZSB2YW4gc3lzdGVtYXRpc2NoZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICB2ZXJzY2h1aXZpbmcgc2luZHMgZGUgbGFhdHN0ZSBpbnN0ZWxsaW5nL2FhbnBhc3NpbmdcbiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgdGlqZHBlcmt3YWFyZGUgdmFuIGRlIGtlcm5lbCB0b25lblxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICB0aWpkcGVya3dhYXJkZSB2YW4gZGUga2VybmVsIGluc3RlbGxlbiBvcCBkZSB3YWFyZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgZ2VnZXZlbiBtZXQgZGUgb3B0aWUgJy0tZXBvY2gnXG4iCisjfiAiICAgICAtLXByZWRpY3QgICAgIGhhcmR3YXJla2xva3RpamQgdm9vcnNwZWxsZW4gb3AgbW9tZW50IGdlZ2V2ZW4gbWV0ICctLWRhdGUnXG4iCisjfiAiXG4iCisjfiAiT3B0aWVzOiBcbiIKKyN+ICIgIC11fC0tdXRjICAgICAgICAgZGUgaGFyZHdhcmVrbG9rIGJldmF0IGRlIGdlY2/DtnJkaW5lZXJkZSB1bml2ZXJzZWxlIHRpamRcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgZGUgaGFyZHdhcmVrbG9rIGJldmF0IGRlIGxva2FsZSB0aWpkXG4iCisjfiAiICAtZnwtLXJ0Yz1CRVNUQU5EIHRlIGdlYnJ1aWtlbiBSVEMtYmVzdGFuZCBpbiAvZGV2LyBpbiBwbGFhdHMgdmFuIHN0YW5kYWFyZFxuIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICBkZSBJU0EtYnVzIGRpcmVjdCBiZW5hZGVyZW4gaW4gcGxhYXRzIHZhbiB2aWEgJXNcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgaGV0IGphYXJ0YWwgdmFuIGRlIGhhcmR3YXJla2xvayBuZWdlcmVuIG9tZGF0IGRlIEJJT1Mgc3R1ayBpc1xuIgorI34gIiAgICAgLS1kYXRlPVRJSkQgICBkZSB0aWpkIHdhYXJvcCBkZSBoYXJkd2FyZWtsb2sgbW9ldCB3b3JkZW4gaW5nZXN0ZWxkXG4iCisjfiAiICAgICAtLWVwb2NoPUpBQVIgIGhldCBqYWFydGFsIGRhdCBoZXQgdGlqZHBlcmtiZWdpbiB2b29yIGRlIGhhcmR3YXJla2xvayBpc1xuIgorI34gIiAgICAgLS1ub2FkamZpbGUgICAvZXRjL2FkanRpbWUgbmlldCBnZWJydWlrZW4gKG1ldCAnLS11dGMnIG9mICctLWxvY2FsdGltZScpXG4iCisjfiAiICAgICAtLWFkamZpbGU9QkVTVEFORCAgdGUgZ2VicnVpa2VuIHZlcnNjaHVpdmluZ3NyZWdpc3RyYXRpZWJlc3RhbmRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAoc3RhbmRhYXJkIGlzIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgYWxsZXMgZG9lbiBiZWhhbHZlIGRhYWR3ZXJrZWxpamsgaWV0cyB2ZXJhbmRlcmVuXG4iCisjfiAiICAtRHwtLWRlYnVnICAgICAgIGRlYnVnLW1vZHVzIGluc2NoYWtlbGVuXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAib252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIgdm9vciBzdGFydHRla2VucmVla3MiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstOGhpTG1zVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIm9yXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICAlcyBbLThoaUxtc1V3XSBbLWwgaW5sb2dwcm9ncmFtbWFdIFstdCB0aWpkc2xpbWlldF0gWy1IIGlubG9naG9zdF1cbiIKKyN+ICIgICAgICAgICAgWy1JIHN0YXJ0dGVrZW5yZWVrc10gIGJhdWRyYXRlLC4uLiAgbGlqbiAgW3Rlcm1pbmFsc29vcnRdXG4iCisjfiAiICAgICBvZjogIFstaGlMbXddIFstbCBpbmxvZ3Byb2dyYW1tYV0gWy10IHRpamRzbGltaWV0XSBbLUggaW5sb2dob3N0XVxuIgorI34gIiAgICAgICAgICBbLUkgc3RhcnR0ZWtlbnJlZWtzXSAgbGlqbiAgYmF1ZHJhdGUsLi4uICBbdGVybWluYWxzb29ydF1cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbeSB8IG5dIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgW3l8bl0iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlczogQkVST0VSREUgRk9VVE1FTERJTkcgLS0gdmVlbCB0ZSBsYW5nIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstbl0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLW5dIFtiZXN0YW5kXVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVhZDogJXMiCisjfiBtc2dzdHIgImthbiAlcyBuaWV0IGxlemVuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgbG9nZ2VyIFstaXNkXSBbLWYgYmVzdGFuZF0gWy1wIHByaW9yaXRlaXRdIFstdCB0YWddXG4iCisjfiAiICAgICAgICAgICAgICAgICBbLXUgc29ja2V0XSBbYmVyaWNodC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgbG9vayBbLWRmYV0gWy10IHRla2VuXSB0ZWtzdCBbYmVzdGFuZF1cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICJvbnZvbGRvZW5kZSBnZWhldWdlbiBiZXNjaGlrYmFhcj8iCisKKyN+IG1zZ2lkICJjYWxsOiAlcyBmcm9tIHRvIGZpbGVzLi4uXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyB2YW4gbmFhciBiZXN0YW5kZW4uLi5cbiIKKworI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgc2NyaXB0IFstYV0gWy1lXSBbLWZdIFstcV0gWy10XSBbYmVzdGFuZF1cbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IHNjaHJpamZmb3V0ICVkOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yOiAlc1xuIgorI34gbXNnc3RyICIlczogc2NocmlqZmZvdXQ6ICVzXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWy1kXSBbLXAgUElELWJlc3RhbmRdIFstcyBzb2NrZXQtcGFkXSBbLVQgdGlqc2xpbWlldF1cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyBbLXJ8dF0gWy1uIG51bV0gWy1zIHNvY2tldHBhdGhdXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAlcyBbLXJ8dF0gWy1uIG51bW1lcl0gWy1zIHNvY2tldC1wYWRdXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLXJdIFstdF1cbiIKKworI34gbXNnaWQgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbmFtZS4uLlxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgd2hlcmVpcyBbLWJtc3VdIFstQk1TIG1hcC4uLiAtZl0gbmFhbS4uLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogIHdyaXRlIGdlYnJ1aWtlciBbdHR5XVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuICVzIG5pZXQgb3BlbmVuOiAlcyIKKworI34gbXNnaWQgInVua25vd25cbiIKKyN+IG1zZ3N0ciAib25iZWtlbmRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJpb25pY2UgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgIGlvbmljZSBbIG9wdGlvbnMgXSAtcCA8cGlkPiBbPHBpZD4gLi4uXVxuIgorI34gIiAgaW9uaWNlIFsgb3B0aW9ucyBdIDxjb21tYW5kPiBbPGFyZz4gLi4uXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtbiA8Y2xhc3NkYXRhPiAgICAgIGNsYXNzIGRhdGEgKDAtNywgbG93ZXIgYmVpbmcgaGlnaGVyIHByaW8pXG4iCisjfiAiICAtYyA8Y2xhc3M+ICAgICAgICAgIHNjaGVkdWxpbmcgY2xhc3NcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorI34gbXNnc3RyICIiCisjfiAiaW9uaWNlIC0gemV0IG9mIHRvb250IGRlIGluLS91aXR2b2VyLXNjaGVkdWxpbmcta2xhc3NlIGVuIC1wcmlvcml0ZWl0XG4iCisjfiAiXG4iCisjfiAiR2VicnVpazpcbiIKKyN+ICIgIGlvbmljZSBbb3B0aWVzXSAtcCA8UElEPi4uLlxuIgorI34gIiAgaW9uaWNlIFtvcHRpZXNdIDxvcGRyYWNodD4gWzxhcmd1bWVudD4uLi5dXG4iCisjfiAiXG4iCisjfiAiT3B0aWVzOlxuIgorI34gIiAgLW4gPGtsYXNzZWRhdGE+ICAgIGtsYXNzZWRhdGEgKDAtNywgbGFnZXIgaXMgaG9nZXJlIHByaW9yaXRlaXQpXG4iCisjfiAiICAtYyA8a2xhc3NlPiAgICAgICAgc2NoZWR1bGluZy1rbGFzc2UgLS0gMD1nZWVuLCAxPXJlYWx0aW1lLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgMj16b19nb2VkX2Fsc19oZXRfZ2FhdCwgMz1hbHNfZXJfbmlrc19hbmRlcnNfaXNcbiIKKyN+ICIgIC10ICAgICAgICAgICAgICAgICBtaXNsdWtraW5nZW4gbmVnZXJlblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiQ1BVIG1hc2siCisjfiBtc2dzdHIgInByb2Nlc3NvcmVubWFza2VyIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fHV1OnNzfCttaW51dGVuXVxuIgorCisjfiBtc2dpZCAiU2h1dGRvd24gcHJvY2VzcyBhYm9ydGVkIgorI34gbXNnc3RyICJBZnNsdWl0aW5nc3Byb2NlcyBpcyBhZmdlYnJva2VuLiIKKworI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLiIKKyN+IG1zZ3N0ciAiQWxsZWVuIHJvb3Qga2FuIGVlbiBzeXN0ZWVtIGFmc2x1aXRlbi4iCisKKyN+IG1zZ2lkICJ0aGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj8iCisjfiBtc2dzdHIgIkRhdCBtb2V0IG1vcmdlbiB6aWpuOyBrdW50IHUgbmlldCB0b3QgZGFuIHdhY2h0ZW4/IgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAidm9vciBvbmRlcmhvdWQgLS0gam9lcGllIgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiSGV0IHN5c3RlZW0gd29yZHQgYmlubmVuIHZpamYgbWludXRlbiBhZmdlc2xvdGVuLiIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiSW5sb2dnZW4gaXMgZGFhcm9tIG5pZXQgdG9lZ2VzdGFhbi4iCisKKyN+IG1zZ2lkICJyZWJvb3RlZCBieSAlczogJXMiCisjfiBtc2dzdHIgIm9wbmlldXcgZ2VzdGFydCBkb29yICVzOiAlcyIKKworI34gbXNnaWQgImhhbHRlZCBieSAlczogJXMiCisjfiBtc2dzdHIgImFmZ2VzbG90ZW4gZG9vciAlczogJXMiCisKKyN+IG1zZ2lkICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICJXYWFyb20gYmVuIGlrIGVyIG5vZyBuYSBlZW4gaGVyc3RhcnQ/IgorCisjfiBtc2dpZCAiTm93IHlvdSBjYW4gdHVybiBvZmYgdGhlIHBvd2VyLi4uIgorI34gbXNnc3RyICJVIGt1bnQgZGUgY29tcHV0ZXIgbnUgdWl0c2NoYWtlbGVuLi4uIgorCisjfiBtc2dpZCAiQ2FsbGluZyBrZXJuZWwgcG93ZXItb2ZmIGZhY2lsaXR5Li4uXG4iCisjfiBtc2dzdHIgIkRlIHVpdHNjaGFrZWwtdm9vcnppZW5pbmcgdmFuIGRlIGtlcm5lbCB3b3JkdCBhYW5nZXJvZXBlbi4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJGb3V0IGJpaiBoZXQgdWl0c2NoYWtlbGVuXHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAiSGV0IHByb2dyYW1tYSAnJXMnIHdvcmR0IHVpdGdldm9lcmQuLi5cbiIKKworI34gbXNnaWQgIlVSR0VOVDogYnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlczoiCisjfiBtc2dzdHIgIkJFTEFOR1JJSks6IGJlcmljaHQgdmFuICVzIHZvb3IgaWVkZXJlZW46IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgaG91cnMgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiSGV0IHN5c3RlZW0gd29yZHQgb3ZlciAlZCB1dXIgZW4gJWQgbWludXRlbiBhZmdlc2xvdGVuLiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJIZXQgc3lzdGVlbSB3b3JkdCBvdmVyIDEgdXVyIGVuICVkIG1pbnV0ZW4gYWZnZXNsb3Rlbi4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIkhldCBzeXN0ZWVtIHdvcmR0IG92ZXIgJWQgbWludXRlbiBhZmdlc2xvdGVuLlxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBtaW51dGVcbiIKKyN+IG1zZ3N0ciAiSGV0IHN5c3RlZW0gd29yZHQgb3ZlciAxIG1pbnV1dCBhZmdlc2xvdGVuLlxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIkhldCBzeXN0ZWVtIHdvcmR0IE5VIGFmZ2VzbG90ZW4hXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJmb3JrKCkgdm9vciBzd2Fwb2ZmIGlzIG1pc2x1a3QgLS0gbm91IGphIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgc3dhcG9mZiwgaG9waW5nIHVtb3VudCB3aWxsIGRvIHRoZSB0cmljay4iCisjfiBtc2dzdHIgIlVpdHZvZXJlbiB2YW4gc3dhcG9mZiBpcyBtaXNsdWt0OyBob3BlbGlqayBsb3N0IHVtb3VudCBoZXQgb3AuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiZm9yaygpIHZvb3IgdW1vdW50IGlzIG1pc2x1a3Q7IGRhbiBtYWFyIHpvbmRlciBuaWV1dyBwcm9jZXMuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIlVpdHZvZXJlbiB2YW4gJXMgaXMgbWlzbHVrdDsgdW1vdW50IHdvcmR0IGdlcHJvYmVlcmQuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJVaXR2b2VyZW4gdmFuIHVtb3VudCBpcyBtaXNsdWt0IC0tIGdlc3RvcHQiCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIkFma29wcGVsZW4gdmFuIHJlc3RlcmVuZGUgYmVzdGFuZHNzeXN0ZW1lbi4uLiIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiBLYW4gJXMgbmlldCBhZmtvcHBlbGVuOiAlc1xuIgorCisjfiBtc2dpZCAiQm9vdGluZyB0byBzaW5nbGUgdXNlciBtb2RlLlxuIgorI34gbXNnc3RyICJPcHN0YXJ0ZW4gaW4gw6nDqW5nZWJydWlrZXJzbW9kdXMuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJVaXR2b2VyZW4gdmFuIMOpw6luZ2VicnVpa2Vyc3NoZWxsIGlzIG1pc2x1a3RcbiIKKworI34gbXNnaWQgImZvcmsgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgImZvcmsoKSB2YW4gw6nDqW5nZWJydWlrZXJzc2hlbGwgaXMgbWlzbHVrdFxuIgorCisjfiBtc2dpZCAiZXJyb3Igb3BlbmluZyBmaWZvXG4iCisjfiBtc2dzdHIgImZvdXQgYmlqIG9wZW5lbiB2YW4gZmlmb1xuIgorCisjfiBtc2dpZCAiZXJyb3Igc2V0dGluZyBjbG9zZS1vbi1leGVjIG9uIC9kZXYvaW5pdGN0bCIKKyN+IG1zZ3N0ciAiZm91dCBiaWogaW5zdGVsbGVuIHZhbiBzbHVpdGVuLWJpai11aXR2b2VyZW4gb3AgL2Rldi9pbml0Y3RsIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiZm91dCBiaWogdWl0dm9lcmVuIHZhbiBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImZvdXQgYmlqIGZvcmsoKSB2YW4gZmluYWxwcm9nXG4iCisKKyN+IG1zZ2lkICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiVmVya2VlcmQgd2FjaHR3b29yZC5cbiIKKworI34gbXNnaWQgImxzdGF0IG9mIHBhdGggZmFpbGVkXG4iCisjfiBtc2dzdHIgImxzdGF0KCkgdmFuIHBhZCBpcyBtaXNsdWt0XG4iCisKKyN+IG1zZ2lkICJyZXNwYXduaW5nOiBcIiVzXCIgdG9vIGZhc3Q6IHF1ZW5jaGluZyBlbnRyeVxuIgorI34gbXNnc3RyICJcIiVzXCIgd29yZHQgdGUgZnJlcXVlbnQgaGVyYm9yZW46IGl0ZW0gd29yZHQgYWZnZWtuZXBlblxuIgorCisjfiBtc2dpZCAiZm9yayBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiZm9yaygpIGlzIG1pc2x1a3RcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAia2FuIGJlc3RhbmQgJ2luaXR0YWInIG5pZXQgb3BlbmVuXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJnZWVuIFRFUk0gaW5nZXN0ZWxkLCBvZiBrYW4gc3RhdHVzIHZhbiB0ZXJtaW5hbCBuaWV0IG9wdnJhZ2VuXG4iCisKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJmb3V0IGJpaiBzdG9wcGVuIHZhbiBkaWVuc3QgXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJTdG9wcGVkIHNlcnZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIkdlc3RvcHRlIGRpZW5zdDogXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJlcnJvciBhdCBzdGFydGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJmb3V0IGJpaiBzdGFydGVuIHZhbiBkaWVuc3QgXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLWNdIFstbiBuaXZlYXVdIFstcl0gWy1zIGJ1ZmZlcmdyb290dGVdXG4iCisKKyN+IG1zZ2lkICJlcnJvcjogc3RyZHVwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZm91dDogc3RyZHVwKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgImVycm9yOiBjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJmb3V0OiBjYWxsb2MoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstYmZweF0gWy1sIHRlX2J1ZmZlcmVuX2FhbnRhbF9yZWdlbHNdIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiR2VicnVpazogICVzIFstXSBbLTJdIFtCRVNUQU5ELi4uXVxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgZm10X2ZpbGVdIFstbiBsZW5ndGhdIFstcyBza2lwXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZWJydWlrOiAgaGV4ZHVtcCBbLWJjQ2RvdnhdIFstZSBvcG1hYWt0ZWtlbnJlZWtzXSBbLWYgb3BtYWFrYmVzdGFuZF1cbiIKKyN+ICIgICAgICAgICAgWy1uIHRlX2ludGVycHJldGVyZW5fYWFudGFsXSBbLXMgb3Zlcl90ZV9zbGFhbl9hYW50YWxdIFtiZXN0YW5kIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbLWRmbHBjc3VdIFsrbGluZW51bSB8ICsvcGF0dGVybl0gbmFtZTEgbmFtZTIgLi4uXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICAlcyBbLWNkZmxwc3VdIFsrcmVnZWxudW1tZXIgfCArL3BhdHJvb25dIG5hYW0xIG5hYW0yIC4uLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGluZSBidWZmZXJcbiIKKyN+IG1zZ3N0ciAiaW5pdGlhbGlzZXJlbiB2YW4gcmVnZWxidWZmZXIgaXMgbWlzbHVrdFxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDoga2FuICVzIG5pZXQgbGV6ZW5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IHJlZ2VsIGlzIHRlIGxhbmdcbiIKKworI34gbXNnaWQgInJlYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJyZWFsbG9jKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJHZWJydWlrOiAgdGFpbGYgWy1uIDxnZXRhbD4gfCAtPGdldGFsPl0gIGxvZ2Jlc3RhbmQiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZmlsZS4uLlxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgJXMgWy1pXSBbLXQgdGVybWluYWx0eXBlXSBiZXN0YW5kLi4uXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBpbiB0aGUgZmluYWwgcGFydGlhbCBjeWxpbmRlciIKKyN+IG1zZ3N0ciAiUGFydGl0aWUgZWluZGlndCBpbiBkZSBsYWF0c3RlIGdlZGVlbHRlbGlqa2UgY2lsaW5kZXIiCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlc1xuIgorI34gbXNnc3RyICJLYW4gJXMgbmlldCBvcGVuZW5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBhbnkgbW9yZSBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiS2FuIGdlZW4gZ2VoZXVnZW4gbWVlciByZXNlcnZlcmVuXG4iCisKKyN+IG1zZ2lkICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICJkcmllbWFhbCBFT0Ygb250dmFuZ2VuIC0tIGFmc2x1aXRpbmcuLi5cbiIKKworI34gbXNnaWQgImxhc3Q6IG1hbGxvYyBmYWlsdXJlLlxuIgorI34gbXNnc3RyICJsYXN0OiBtYWxsb2MoKSBpcyBtaXNsdWt0XG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogT252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXJcbiIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2luOiBnZWVuIHNoZWxsOiAlc1xuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0Z2lkKCkgaXMgbWlzbHVrdCIKKworI34gbXNnaWQgIm5ld2dycDogUGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm5ld2dycDogVG9lZ2FuZyBnZXdlaWdlcmQiCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldHVpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXR1aWQoKSBpcyBtaXNsdWt0IgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBLYW4gZ2VlbiBuaWV1dyBwcm9jZXMgc3RhcnRlblxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gJXMgbmlldCBsZXplblxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gdGlqZGVsaWprIGJlc3RhbmQgbmlldCB2aW5kZW5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkIHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczoga2FuIHRpamRlbGlqayBiZXN0YW5kIG5pZXQgbGV6ZW5cbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBvbnRsZWRpbmdzZm91dDogJXMiCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogb252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXJcbiIKKworI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgIm9udGxlZGluZ3Nmb3V0ZW4gb3AgcmVnZWxzOiAiCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBvcHRpb24gLS0gJWNcbiIKKyN+IG1zZ3N0ciAiJXM6IG9uZ2VsZGlnZSBvcHRpZSAtLSAlY1xuIgorCisjfiBtc2dpZCAic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisjfiBtc2dzdHIgImdlcmVzZXJ2ZWVyZGUgc2VnbWVudGVuID0gICVkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisjfiBtc2dzdHIgImdlcmVzZXJ2ZWVyZGUgcGFnaW5hJ3MgPSAlbGRcbiIKKworI34gbXNnaWQgInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyN+IG1zZ3N0ciAicGFnaW5hJ3MgaW4gZ2VoZXVnZW4gPSAlbGRcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiV2lzc2VsZ2VoZXVnZW5wcmVzdGF0aWVzOiAlbGQgcG9naW5nZW4sICVsZCBzdWNjZXN2b2xcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBvbmJla2VuZGUgZ2VicnVpa2VyXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogb25nZWxkaWdlIHdhYXJkZVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgaW50ZXJ2YWwgJXMgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlczogb25nZWxkaWcgaW50ZXJ2YWw6ICVzIHNlY29uZGVuXG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCB0aW1lX3QgdmFsdWUgJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG9uZ2VsZGlnZSB3YWFyZGUgJXMgdm9vciBvbnR3YWtpbmdzdGlqZHN0aXBcbiIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiAnJXMnIG5pZXQgdWl0dm9lcmVuOiAlc1xuIgorCisjfiBtc2dpZCAicnRjIHJlYWQiCisjfiBtc2dzdHIgImxlemVuIHZhbiBoYXJkd2FyZWtsb2siCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgIm9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbHVtbiBbLXR4XSBbLWMgY29sdW1uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJHZWJydWlrOiAgY29sdW1uIFstYyBhYW50YWxfa29sb21tZW5dIFstdF0gWy14XSBbYmVzdGFuZCAuLi5dXG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IG9kKDEpIHdvcmR0IGFmZ2VyYWRlbjsgZ2VicnVpayBoZXhkdW1wKDEpLlxuIgorCisjfiBtc2dpZCAib2Q6IGhleGR1bXAoMSkgY29tcGF0aWJpbGl0eSBkb2Vzbid0IHN1cHBvcnQgdGhlIC0lYyBvcHRpb24lc1xuIgorI34gbXNnc3RyICJvZDogaGV4ZHVtcCgxKS1jb21wYXRpYmlsaXRlaXQgb25kZXJzdGV1bnQgZGUgb3B0aWUgJy0lYycgbmlldCVzXG4iCisKKyN+IG1zZ2lkICI7IHNlZSBzdHJpbmdzKDEpLiIKKyN+IG1zZ3N0ciAiOyB6aWUgc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk9udm9sZG9lbmRlIGdlaGV1Z2VuIGJlc2NoaWtiYWFyXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgImthbiBnZWVuIGJ1ZmZlcnJ1aW10ZSByZXNlcnZlcmVuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkdlYnJ1aWs6ICByZXYgW2Jlc3RhbmQgLi4uXVxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiUmVzZXJ2ZXJlbiB2YW4gYnVmZmVyIGlzIG1pc2x1a3RcbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiT252b2xkb2VuZGUgZ2VoZXVnZW4gYmVzY2hpa2JhYXIgdGlqZGVucyBncm9laWVuIHZhbiBidWZmZXJcbiIKKworIyBNZXQgZWVuIGhvb2ZkbGV0dGVyIHdhbnQga29tdCBhYW4gYmVnaW4gdmFuIHppbiwgZW4gdm9vciAiYmVsZWlkIiBvZiAicHJpb3JpdGVpdCIuCisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAiSHVpZGlnKGUpIgorCisjIE1ldCBlZW4gaG9vZmRsZXR0ZXIgd2FudCBrb210IGFhbiBiZWdpbiB2YW4gemluLCBlbiB2b29yICJiZWxlaWQiIG9mICJwcmlvcml0ZWl0Ii4KKyN+IG1zZ2lkICJuZXciCisjfiBtc2dzdHIgIk5pZXV3KGUpIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGdlZW4gbWVkaXVtIGdldm9uZGVuIG9wICVzOyAuLi4gbmlldXdlIHBvZ2luZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIFNwZWNpZmljYXRpb246XG4iCisjfiAiXHQtbSA6IHNoYXJlZF9tZW1cbiIKKyN+ICJcdC1xIDogbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkJyb25uZW5rZXV6ZTpcbiIKKyN+ICIgICAgLW0gOiBnZWRlZWxkIGdlaGV1Z2VuXG4iCisjfiAiICAgIC1xIDogYmVyaWNodGVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtcyA6IHNlbWFwaG9yZXNcbiIKKyN+ICJcdC1hIDogYWxsIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIC1zIDogc2VtYWZvcmVuXG4iCisjfiAiICAgIC1hIDogYWxsZSAoaXMgc3RhbmRhYXJkKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVpdHZvZXJpbmRlbGluZzpcbiIKKyN+ICIgICAgLXQgOiB0aWpkXG4iCisjfiAiICAgIC1wIDogUElEXG4iCisjfiAiICAgIC1jIDogYWFubWFrZXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1sIDogbGltaXRzXG4iCisjfiAiXHQtdSA6IHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAtbCA6IGdyZW56ZW5cbiIKKyN+ICIgICAgLXUgOiBzYW1lbnZhdHRpbmdcbiIKKworI34gbXNnaWQgImVycm9yIHBhcnNlOiAlcyIKKyN+IG1zZ3N0ciAib250bGVkaW5nc2ZvdXQ6ICVzIgorCisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAiR2VicnVpazogIHJkZXYgWy1ydl0gWy1vIFBMQUFUU10gW0FGQkVFTERJTkcgW1dBQVJERSBbUExBQVRTXV1dIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgIChvZiByZGV2IC9saW51eCwgZW56LikgIGh1aWRpZyBST09ULWFwcGFyYWF0IHRvbmVuIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBST09UIGluc3RlbGxlbiBvcCAvZGV2L2hkYTIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBST09URkxBR1MgKHJlYWRvbmx5IHN0YXR1cykiCisjfiBtc2dzdHIgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBST09URkxBR1MgaW5zdGVsbGVuIChhbGxlZW4tbGV6ZW5zdGF0dXMpIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgUkFNRElTSy1ncm9vdHRlIGluc3RlbGxlbiIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBWSURFT01PRFVTIGJpaiBvcHN0YXJ0ZW4gaW5zdGVsbGVuIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIGlzIGhldHplbGZkZSBhbHMgcmRldiAtUiIKKworI34gbXNnaWQgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXIiCisjfiBtc2dzdHIgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBpcyBoZXR6ZWxmZGUgYWxzIHJkZXYgLXIiCisKKyN+IG1zZ2lkICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC12IgorI34gbXNnc3RyICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgaXMgaGV0emVsZmRlIGFscyByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wbWVya2luZzogdmlkZW9tb2RpIHppam46IC0zPXZyYWdlbiwgLTI9dWl0Z2VicmVpZCwgLTE9Z2V3b29uLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDE9c2xldXRlbDEsIDI9c2xldXRlbDIsIC4uLiIKKworI34gbXNnaWQgIiAgICAgIHVzZSAtUiAxIHRvIG1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgZm9yIHJlYWQvd3JpdGUuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpayAnLVIgMScgb20gcm9vdCBhbHMgYWxsZWVuLWxlemVuIGFhbiB0ZSBrb3BwZWxlbixcbiIKKyN+ICIgICAgIG9mICctUiAwJyB2b29yIGxlemVuLWVuLXNjaHJpanZlbi4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGNvbW1hIgorI34gbXNnc3RyICJrb21tYSBvbnRicmVla3QiCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IGxhYmVsIG9ubHkgd2l0aCB2MSBzd2FwIGFyZWFcbiIKKyN+IG1zZ3N0ciAiJXM6IGZvdXQ6IGxhYmVsIGlzIGFsbGVlbiBtb2dlbGlqayBiaWogdmVyc2llLTEtd2lzc2VsZ2VoZXVnZW5cbiIKKworI34gbXNnaWQgImZhdGFsOiBmaXJzdCBwYWdlIHVucmVhZGFibGUiCisjfiBtc2dzdHIgImZhdGFhbDogZWVyc3RlIHBhZ2luYSBpcyBvbmxlZXNiYWFyIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBEZXZpY2UgJyVzJyBjb250YWlucyBhIHZhbGlkIFN1biBkaXNrbGFiZWwuXG4iCisjfiAiVGhpcyBwcm9iYWJseSBtZWFucyBjcmVhdGluZyB2MCBzd2FwIHdvdWxkIGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiTm8gc3dhcCB3YXMgY3JlYXRlZC4gSWYgeW91IHJlYWxseSB3YW50IHRvIGNyZWF0ZSB2MCBzd2FwIG9uIHRoYXQgZGV2aWNlLFxuIgorI34gInVzZSB0aGUgLWYgb3B0aW9uIHRvIGZvcmNlIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEFwcGFyYWF0ICclcycgYmV2YXQgZWVuIGdlbGRpZyBTdW4tc2NoaWpmbGFiZWwuXG4iCisjfiAiRGl0IGJldGVrZW50IHdhYXJzY2hpam5saWprIGRhdCBoZXQgbWFrZW4gdmFuIHZlcnNpZS0wLXdpc3NlbGdlaGV1Z2VuXG4iCisjfiAidXcgcGFydGl0aWV0YWJlbCB6b3UgdmVybmllbGVuLiAgRXIgaXMgZ2VlbiB3aXNzZWxnZWhldWdlbiBnZW1hYWt0LlxuIgorI34gIkFscyB1IGVjaHQgdmVyc2llLTAtd2lzc2VsZ2VoZXVnZW4gb3AgZGl0IGFwcGFyYWF0IHdpbHQgbWFrZW4sXG4iCisjfiAia3VudCB1IGRlIG9wdGllICctZicgZ2VicnVpa2VuIG9tIGhldCBhZiB0ZSBkd2luZ2VuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiR2VicnVpazogIGZkaXNrIFstYiBTRUNUT1JHUk9PVFRFXSBbLXVdIEFQUEFSQUFUICAgICAgIHBhcnRpdGlldGFiZWwgd2lqemlnZW5cbiIKKyN+ICIgICAgICAgICAgZmRpc2sgLWwgWy1iIFNFQ1RPUkdST09UVEVdIFstdV0gQVBQQVJBQVQgICAgcGFydGl0aWV0YWJlbCB3ZWVyZ2V2ZW5cbiIKKyN+ICIgICAgICAgICAgZmRpc2sgLXMgUEFSVElUSUUgICAgcGFydGl0aWVncm9vdHRlIGluIGJsb2trZW4gd2VlcmdldmVuXG4iCisjfiAiICAgICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgIHByb2dyYW1tYXZlcnNpZSB0b25lblxuIgorI34gIlxuIgorI34gIkhpZXIgaXMgQVBQQVJBQVQgem9pZXRzIGFscyAvZGV2L2hkYSBvZiAvZGV2L3NkYixcbiIKKyN+ICJlbiBQQVJUSVRJRSB6b2lldHMgYWxzIC9kZXYvaGRhNyBvZiAvZGV2L3NkYjQuXG4iCisjfiAiXG4iCisjfiAiLXUgICAgICAgIEJlZ2luIGVuIEVpbmRlIGluIHNlY3RvcmVlbmhlZGVuIChpbiBwbGFhdHMgdmFuIGNpbGluZGVyZWVuaGVkZW4pXG4iCisjfiAiLWIgMjA0OCAgICh2b29yIHNvbW1pZ2UgTU8tc2NoaWp2ZW4pIDIwNDgtYnl0ZSBzZWN0b3JlbiBnZWJydWlrZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRldmljZVxuIgorI34gIkUuZy46IGZkaXNrIC9kZXYvaGRhICAoZm9yIHRoZSBmaXJzdCBJREUgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3NkYyAgKGZvciB0aGUgdGhpcmQgU0NTSSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvZWRhICAoZm9yIHRoZSBmaXJzdCBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9yZC9jMGQwICBvcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKGZvciBSQUlEIGRldmljZXMpXG4iCisjfiAiICAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkdlYnJ1aWs6ICBmZGlzayBbLWxdIFstYiBTRUNUT1JHUk9PVFRFXSBbLXVdIEFQUEFSQUFUXG4iCisjfiAiXG4iCisjfiAiQmlqdm9vcmJlZWxkOiAgZmRpc2sgL2Rldi9oZGEgICAgICAodm9vciBkZSBlZXJzdGUgSURFLXNjaGlqZilcbiIKKyN+ICIgICAgICAgICAgb2Y6ICBmZGlzayAvZGV2L3NkYyAgICAgICh2b29yIGRlIGRlcmRlIFNDU0ktc2NoaWpmKVxuIgorI34gIiAgICAgICAgICBvZjogIGZkaXNrIC9kZXYvZWRiICAgICAgKHZvb3IgZGUgdHdlZWRlIFBTLzItRVNESS1zY2hpamYpXG4iCisjfiAiICAgICAgICAgIG9mOiAgZmRpc2sgL2Rldi9yZC9jMGQwICAodm9vciBSQUlELWFwcGFyYXRlbilcbiIKKyN+ICIgICAgICAgICAgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkhldCBhYW50YWwgY2lsaW5kZXJzIHZhbiBkZXplIHNjaGlqZiBpcyBpbmdlc3RlbGQgb3AgJWQuXG4iCisjfiAiSGllciBpcyBuaWV0cyBtaXMgbWVlLCBtYWFyIGhldCBpcyBncm90ZXIgZGFuIDEwMjQgZW4ga2FuXG4iCisjfiAiYmlqIGJlcGFhbGRlIGluc3RlbGxpbmdlbiBwcm9ibGVtZW4gdmVyb29yemFrZW4gbWV0OlxuIgorI34gIjEpIG9wc3RhcnRzb2Z0d2FyZSAoYmlqdm9vcmJlZWxkIG91ZGUgdmVyc2llcyB2YW4gTElMTyksXG4iCisjfiAiMikgcGFydGl0aW9uZXJpbmdzc29mdHdhcmUgdmFuIGFuZGVyZSBiZXN0dXJpbmdzc3l0ZW1lblxuIgorI34gIiAgIChiaWp2b29yYmVlbGQgRE9TIEZESVNLIG9mIE9TLzIgRkRJU0spLlxuIgorCisjfiBtc2dpZCAiIyBwYXJ0aXRpb24gdGFibGUgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiIyBQYXJ0aXRpZXRhYmVsIHZhbiAlc1xuIgorCisjfiBtc2dpZCAidW5pdDogc2VjdG9yc1xuIgorI34gbXNnc3RyICJlZW5oZWlkOiBzZWN0b3JlbiBcbiIKKworI34gbXNnaWQgIiBzdGFydD0lOWx1IgorI34gbXNnc3RyICIgYmVnaW49JTlsdSIKKworI34gbXNnaWQgIiwgYm9vdGFibGUiCisjfiBtc2dzdHIgIiwgb3BzdGFydGJhYXIiCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IGNoZGlyIHRvIHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBrYW4gbmlldCBuYWFyIGhvb2ZkbWFwIGdhYW4hXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IGthbiBzdGF0dXMgdmFuIGhvb2ZkbWFwIG5pZXQgYmVwYWxlbiFcbiIKKworI34gbXNnaWQgIiA/IGNvdWxkIG5vdCBjaGRpciBpbnRvICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICI/Pz8gbmFhciBtYXAgJXMgZ2FhbiBpcyBtaXNsdWt0IC0tICVzICglZClcbiIKKworI34gbXNnaWQgIiA/IHByb2JsZW1zIHJlYWRpbmcgc3ltbGluayAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiPz8/IHByb2JsZW1lbiBiaWogbGV6ZW4gdmFuIHN5bWJvbGlzY2hlIGtvcHBlbGluZyAlcyAtLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgICoqKiBFWENFRURFRCBVTklYIExJTUlUIE9GIFNZTUxJTktTICoqKlxuIgorI34gbXNnc3RyICIgICoqKiBNQVhJTVVNIEFBTlRBTCBTWU1CT0xJU0NIRSBLT1BQRUxJTkdFTiBJUyBPVkVSU0NIUkVERU4gKioqXG4iCisKKyN+IG1zZ2lkICJuYW1laTogdW5rbm93biBmaWxlIHR5cGUgMCUwNm8gb24gZmlsZSAlc1xuIgorI34gbXNnc3RyICJuYW1laTogb25iZWtlbmRlIGJlc3RhbmRzc29vcnQgMCUwNm8gYmlqIGJlc3RhbmQgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byBtb3VudCAlcyBieSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogYWFua29wcGVsZW4gdmFuICVzIHZpYSAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGdlZW4gTEFCRUw9IG5vY2ggVVVJRD07IGFhbmtvcHBlbGVuIHZhbiAlcyB2aWEgcGFkXG4iCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgdW1vdW50ICVzIC0gdHJ5aW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAia2FuICVzIG5pZXQgYWZrb3BwZWxlbjsgbnUgcG9naW5nIG1ldCAlcy4uLlxuIgpkaWZmIC0tZ2l0IGEvcG8vcGwucG8gYi9wby9wbC5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWYzNTkwCi0tLSAvZGV2L251bGwKKysrIGIvcG8vcGwucG8KQEAgLTAsMCArMSwxOTUwMyBAQAorIyBQb2xpc2ggdHJhbnNsYXRpb24gb2YgdXRpbC1saW51eC4KKyMgQ29weXJpZ2h0IChDKSAyMDA1IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBBbmRyemVqIEtyenlzenRvZm93aWN6IDxhbmtyeUBtaWYucGcuZ2RhLnBsPiwgMjAwNi4KKyMgSmFrdWIgQm9ndXN6IDxxYm9vc2hAcGxkLWxpbnV4Lm9yZz4sIDIwMDktMjAxOC4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXggMi4zMi1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxOC0wMy0wMiAxODozMCswMTAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBKYWt1YiBCb2d1c3ogPHFib29zaEBwbGQtbGludXgub3JnPlxuIgorIkxhbmd1YWdlLVRlYW06IFBvbGlzaCA8dHJhbnNsYXRpb24tdGVhbS1wbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IHBsXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuXG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0zOyBwbHVyYWw9bj09MSA/IDAgOiBuJTEwPj0yICYmIG4lMTA8PTQgJiYgKG4lMTAwPDEwIHx8IG4lMTAwPj0yMCkgPyAxIDogMjtcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDx1cnrEhWR6ZW5pZSBkeXNrb3dlPiA8bnVtZXIgcGFydHljamk+IDxwb2N6xIV0ZWs+IDxkxYJ1Z2/Fm8SHPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiUG93aWFkb21pZW5pZSBqxIVkcmEgbyBpc3RuaWVuaXUgcG9kYW5laiBwYXJ0eWNqaS5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiemEgbWHFgm8gYXJndW1lbnTDs3ciCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbnkgbnVtZXIgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIHBvY3rEhXRrdSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEwCittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBkxYJ1Z2/Fm2NpIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgZG9kYcSHIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJ1c3Rhd2llbmllIHR5bGtvIGRvIG9kY3p5dHUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICJ1c3Rhd2llbmllIGRvIG9kY3p5dHUgaSB6YXBpc3UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgInBvYnJhbmllIGZsYWdpIHR5bGtvIGRvIG9kY3p5dHUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAicG9icmFuaWUgc3RhdHVzdSBvYnPFgnVnaSB1c3V3YW5pYSB6ZXJhbWkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgInBvYnJhbmllIHJvem1pYXJ1IGJsb2t1IChzZWt0b3JhKSBsb2dpY3puZWdvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAicG9icmFuaWUgcm96bWlhcnUgYmxva3UgKHNla3RvcmEpIGZpenljem5lZ28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAicG9icmFuaWUgbWluaW1hbG5lZ28gcm96bWlhcnUgd2Uvd3kiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAicG9icmFuaWUgb3B0eW1hbG5lZ28gcm96bWlhcnUgd2Uvd3kiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAicG9icmFuaWUgd3lyw7N3bmFuaWEgdyBiYWp0YWNoIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJwb2JyYW5pZSBtYWtzeW1hbG5laiBsaWN6Ynkgc2VrdG9yw7N3IG5hIMW8xIVkYW5pZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgInBvYnJhbmllIHJvem1pYXJ1IGJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1c3Rhd2llbmllIHJvem1pYXJ1IGJsb2t1IGRsYSBkZXNrcnlwdG9yYSBwbGlrdSBwcnp5IG90d2llcmFuaXUgdXJ6xIVkemVuaWEgYmxva293ZWdvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAicG9icmFuaWUgMzItYml0b3dlaiBsaWN6Ynkgc2VrdG9yw7N3IChwcnplc3RhcnphxYJlLCBsZXBpZWogdcW8eXdhxIcgLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAicG9icmFuaWUgcm96bWlhcnUgdyBiYWp0YWNoIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAidXN0YXdpZW5pZSBvZGN6eXR1IHogd3lwcnplZHplbmllbSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgInBvYnJhbmllIHVzdGF3aWVuaWEgb2Rjenl0dSB6IHd5cHJ6ZWR6ZW5pZW0iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgInVzdGF3aWVuaWUgb2Rjenl0dSB6IHd5cHJ6ZWR6ZW5pZW0gZGxhIHN5c3RlbXUgcGxpa8OzdyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAicG9icmFuaWUgdXN0YXdpZW5pYSBvZGN6eXR1IHogd3lwcnplZHplbmllbSBkbGEgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAib3Byw7PFvG5pZW5pZSBidWZvcsOzdyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInBvbm93bmUgb2Rjenl0YW5pZSB0YWJsaWN5IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorbXNnc3RyICIiCisiICUxJHMgWy12fC1xXSBwb2xlY2VuaWEgdXJ6xIVkemVuaWFcbiIKKyIgJTEkcyAtLXJlcG9ydCBbdXJ6xIVkemVuaWFdXG4iCisiICUxJHMgLWh8LVZcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICJXeXdvxYJhbmllIGlvY3RsLWkgdXJ6xIVkemXFhCBibG9rb3d5Y2ggeiBsaW5paSBwb2xlY2XFhC4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC1xICAgICAgICAgICAgIHRyeWIgY2ljaHkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKK21zZ2lkICIgLXYgICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorbXNnc3RyICIgLXYgICAgICAgICAgICAgdHJ5YiBzemN6ZWfDs8WCb3d5IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiAgICAgLS1yZXBvcnQgICB3eXBpc2FuaWUgcmFwb3J0dSBkbGEgcG9kYW55Y2ggKGx1YiB3c3p5c3RraWNoKSB1cnrEhWR6ZcWEIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjAzCittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiRG9zdMSZcG5lIHBvbGVjZW5pYToiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIHBvYnJhbmllIHJvem1pYXJ1IHcgc2VrdG9yYWNoIDUxMi1iYWp0b3d5Y2hcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIHVyesSFZHplbmlhIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHBvYnJhxIcgcm96bWlhcnUgdXJ6xIVkemVuaWEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiTmllem5hbmUgcG9sZWNlbmllOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgd3ltYWdhIGFyZ3VtZW50dSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4NyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICJixYLEhWQgaW9jdGwgbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBuaWUgcG93aW9kxYJvIHNpxJkuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBwb3dpb2TFgm8gc2nEmS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgb2JzxYJ1Z2kgc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBwb2N6xIV0a3UgcGFydHljamkgeiBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFNla3RvclBvY3ogICAgICAgICBSb3ptaWFyIFVyesSFZHplbmllXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIlJvenJ1Y2giCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJQcnplxYLEhWN6ZW5pZSBmbGFnaSByb3pydWNodSBkbGEgYmllxbzEhWNlaiBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIlVzdcWEIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlVzdW5pxJljaWUgYmllxbzEhWNlaiBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZXNpemUiCittc2dzdHIgIlptaWFuYSByb3ptaWFydSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZWR1Y2Ugb3IgZW5sYXJnZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlptbmllanN6ZW5pZSBsdWIgcG93acSZa3N6ZW5pZSBiaWXFvMSFY2VqIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm93YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIlV0d29yemVuaWUgbm93ZWogcGFydHljamkgbmEgd29sbnltIG1pZWpzY3UiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCIKK21zZ3N0ciAiWmFrb8WEY3oiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJaYWtvxYRjemVuaWUgcHJvZ3JhbXUgYmV6IHphcGlzdSB6bWlhbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVHlwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlptaWFuYSB0eXB1IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIlBvbW9jIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJXecWbd2lldGxlbmllIGVrcmFudSBwb21vY3kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiU29ydHVqIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJQb3ByYXdpZW5pZSBrb2xlam5vxZtjaSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiWmFwaXN6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIlphcGlzIHRhYmxpY3kgcGFydHljamkgbmEgZHlzayAobW/FvGUgdG8gem5pc3pjennEhyBkYW5lKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICJacnp1dCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiWnJ6dXQgdGFibGljeSBvcGFydHljamkgZG8gcGxpa3Ugc2tyeXB0dSB6Z29kbmVnbyB6IHNmZGlza2llbSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgImLFgsSFZCB3ZXduxJl0cnpueTogbmllIG9ic8WCdWdpd2FueSByb2R6YWogZGlhbG9ndSAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKHphbW9udG93YW55KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICJOYXp3YSBwYXJ0eWNqaToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiVVVJRCBwYXJ0eWNqaToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMxNgorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiVHlwIHBhcnR5Y2ppOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzIzCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIkF0cnlidXR5OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQ3Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiVVVJRCBzeXN0ZW11IHBsaWvDs3c6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNTQKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiRXR5a2lldGEgc3lzdGVtdSBwbGlrw7N3OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIlN5c3RlbSBwbGlrw7N3OiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgIlB1bmt0IG1vbnRvd2FuaWE6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIkR5c2s6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIlJvem1pYXI6ICVzLCBiYWp0w7N3OiAlanUsIHNla3RvcsOzdzogJWp1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRXR5a2lldGE6ICVzLCBpZGVudHlmaWthdG9yOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiRXR5a2lldGE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIk1vxbxuYSBkb2RhxIcgcHJ6eXJvc3RlayBNIGRsYSBNaUIsIEcgZGxhIEdpQiwgVCBkbGEgVGlCIGx1YiBTIGRsYSBzZWt0b3LDs3cuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIlByb3N6xJkgcG9kYcSHIHJvem1pYXIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk1pbmltYWxueSByb3ptaWFyIHcgYmFqdGFjaCB0byAlanUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk1ha3N5bWFsbnkgcm96bWlhciB3IGJhanRhY2ggdG8gJWp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICJOaWV6cm96dW1pYcWCeSByb3ptaWFyLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJQcm9zesSZIHd5YnJhxIcgdHlwIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJOYXp3YSBwbGlrdSBza3J5cHR1OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIlBsaWsgc2tyeXB0dSB6b3N0YW5pZSBuYW5pZXNpb255IG5hIHRhYmxpY8SZIHBhcnR5Y2ppIHcgcGFtacSZY2kuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJOaWUgbW/FvG5hIG90d29yennEhyAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgcGxpa3Ugc2tyeXB0dSAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgbmFuaWXFm8SHIHNrcnlwdHUgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICJCaWXFvMSFY2EgdGFibGljYSBwYXJ0eWNqaSB6IHBhbWnEmWNpIHpvc3RhbmllIHpyenVjb25hIGRvIHBsaWt1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyB1Y2h3eXR1IHNrcnlwdHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA2MworbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyB1a8WCYWR1IGR5c2t1IGRvIHNrcnlwdHUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiVWvFgmFkIGR5c2t1IHpvc3RhxYIgcG9wcmF3bmllIHpyenVjb255LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgc2tyeXB0dSAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE2Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIlByb3N6xJkgd3licmHEhyB0eXAgZXR5a2lldHkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiVXJ6xIVkemVuaWUgbmllIHphd2llcmEgxbxhZG5laiB6bmFuZWogdGFibGljeSBwYXJ0eWNqaS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiUHJvc3rEmSB3eWJyYcSHIHR5cCwgYWJ5IHV0d29yennEhyBub3fEhSBldHlraWV0xJksIGFsYm8gbmFjaXNuxIXEhyAnTCcsIGFieSB3Y3p5dGHEhyBwbGlrIHNrcnlwdHUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzYKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIlRvIGplc3QgY2ZkaXNrIC0gb3BhcnR5IG5hIGN1cnNlcyBwcm9ncmFtIGRvIHBhcnR5Y2pvbm93YW5pYSBkeXNrdS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJQb3p3YWxhIHR3b3J6ecSHLCB1c3V3YcSHIGkgbW9keWZpa293YcSHIHBhcnR5Y2plIG5hIHVyesSFZHplbml1IGJsb2tvd3ltLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIlBvbGVjZW5pZSAgICBabmFjemVuaWUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tLS0gICAgLS0tLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgUHJ6ZcWCxIVjemVuaWUgZmxhZ2kgcm96cnVjaHUgZGxhIGJpZcW8xIVjZWogcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgVXN1bmnEmWNpZSBiaWXFvMSFY2VqIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBXecWbd2lldGxlbmllIHRlZ28gZWtyYW51IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgVXR3b3J6ZW5pZSBub3dlaiBwYXJ0eWNqaSBuYSB3b2xueW0gbWllanNjdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAgWmFrb8WEY3plbmllIHByb2dyYW11IGJleiB6YXBpc3UgdGFibGljeSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIHMgICAgICAgICAgUG9wcmF3aWVuaWUga29sZWpub8WbY2kgcGFydHljamkgKHR5bGtvIGplxZtsaSBuaWUgc8SFIHVwb3J6xIVka293YW5lKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBabWlhbmEgdHlwdSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICBacnp1dCB1a8WCYWR1IGR5c2t1IGRvIHBsaWt1IHNrcnlwdHUgemdvZG5lZ28geiBwcm9ncmFtZW0gc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICBaYXBpcyB0YWJsaWN5IHBhcnR5Y2ppIG5hIGR5c2sgKG11c2kgYnnEhyB3aWVsa2llIFcpOyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgICAgcG9uaWV3YcW8IG1vxbxlIHRvIHpuaXN6Y3p5xIcgZGFuZSBuYSBkeXNrdSwgbmFsZcW8eSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgICBwb3R3aWVyZHppxIcgbHViIGFudWxvd2HEhyB6YXBpcyB3cGlzdWrEhWMgXCJ0YWtcIiBsdWIgXCJuaWVcIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgIFd5xZt3aWV0bGVuaWUvdWtyeWNpZSBkb2RhdGtvd3ljaCBpbmZvcm1hY2ppIG8gcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJHw7NyYSAgICAgICAgIFByemVzdW5pxJljaWUga3Vyc29yYSBuYSBwb3ByemVkbmnEhSBwYXJ0eWNqxJkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIkTDs8WCICAgICAgICAgIFByemVzdW5pxJljaWUga3Vyc29yYSBuYSBuYXN0xJlwbsSFIHBhcnR5Y2rEmSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIkxld28gICAgICAgICBQcnplc3VuacSZY2llIGt1cnNvcmEgbmEgcG9wcnplZG5pxIUgcG96eWNqxJkgbWVudSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiUHJhd28gICAgICAgIFByemVzdW5pxJljaWUga3Vyc29yYSBuYSBuYXN0xJlwbsSFIHBvenljasSZIG1lbnUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIlV3YWdhOiB3c3p5c3RraWUgcG9sZWNlbmlhIG1vZ8SFIGJ5xIcgdXJ1Y2hvbWlvbmUgd2llbGtpbWkgbHViIG1hxYJ5bWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICJsaXRlcmFtaSAoeiB3eWrEhXRraWVtIHphcGlzdSAtIFcpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIldpxJljZWogc3pjemVnw7PFgsOzdyBkb3R5Y3rEhWN5Y2ggdXJ6xIVkemVuaWEgbW/FvG5hIHV6eXNrYcSHIHBvbGVjZW5pZW0gbHNibGsoOCkgbHViIHBhcnR4KDgpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiUHJvc3rEmSBuYWNpc27EhcSHIGtsYXdpc3osIGFieSBrb250eW51b3dhxIcuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTcKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHByemXFgsSFY3p5xIcgZmxhZ2kuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHVzdW7EhcSHIHBhcnR5Y2ppICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwOSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiUGFydHljamEgJXp1IHpvc3RhxYJhIHVzdW5pxJl0YS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIlJvem1pYXIgcGFydHljamk6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiWm1pZW5pb25vIHR5cCBwYXJ0eWNqaSAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJUeXAgcGFydHljamkgJXp1IG5pZSB6b3N0YcWCIHptaWVuaW9ueS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgIk5vd3kgcm96bWlhcjogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAiWm1pZW5pb25vIHJvem1pYXIgcGFydHljamkgJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICJVcnrEhWR6ZW5pZSBqZXN0IG90d2FydGUgdyB0cnliaWUgdHlsa28gZG8gb2Rjenl0dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiQ3p5IG5hIHBld25vIHphcGlzYcSHIG5hIGR5c2sgdGFibGljxJkgcGFydHljamk/ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0Cittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAiUHJvc3rEmSBuYXBpc2HEhyBcInRha1wiIGx1YiBcIm5pZVwiLCBhbGJvIG5hY2lzbsSFxIcgRXNjLCBhYnkgb3B1xZtjacSHIHRvIG9rbm8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgInRhayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQwCittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIk5pZSB6YXBpc2FubyB0YWJsaWN5IHBhcnR5Y2ppIG5hIGR5c2suIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHphcGlzYcSHIGV0eWtpZXR5IGR5c2t1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIlRhYmxpY2EgcGFydHljamkgem9zdGHFgmEgem1vZHlmaWtvd2FuYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIlV3YWdhOiB3cGlzeSB3IHRhYmxpY3kgcGFydHljamkgbmllIHPEhSB0ZXJheiB3IHRlaiBrb2xlam5vxZtjaSwgY28gbmEgZHlza3UuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJVcnrEhWR6ZW5pZSBqdcW8IHphd2llcmEgc3lnbmF0dXLEmSAlczsgYsSZZHppZSB1c3VuacSZdGEgcHJ6ZXogcG9sZWNlbmllIHphcGlzdS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUyMgorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIG5vd2VqIGV0eWtpZXR5IGR5c2t1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJTEkcyBbb3BjamVdIDxkeXNrPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiV3nFm3dpZXRsZW5pZSBsdWIgbW9keWZpa293YW5pZSB0YWJsaWN5IHBhcnR5Y2ppIGR5c2t1LlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzUKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxraWVkeT5dICAgIGtvbG9yb3dhbmllIHd5asWbY2lhIChhdXRvLCBhbHdheXMgbHViIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAgIHJvenBvY3rEmWNpZSB6IHd5emVyb3dhbsSFIHRhYmxpY8SFIHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IHRyeWIga29sb3J1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIGtvbnRla3N0dSBsaWJmZGlzayIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8dXJ6xIVkemVuaWUgZHlza293ZT4gPG51bWVyIHBhcnR5Y2ppPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJQb3dpYWRvbWllbmllIGrEhWRyYSwgYWJ5IHphcG9tbmlhxYJvIG8gcG9kYW5laiBwYXJ0eWNqaS5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjMKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdW7EhcSHIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRvd2FuaWUuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgInpha2/FhGN6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiV2VyeWZpa2FjamEuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJPZGN6eXQ6ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmxlbSBwcnp5IG9kY3p5Y2llIGN5bGluZHJhL2fFgm93aWN5ICV1LyV1LCBvY3pla2l3YW5vICVkLCBvZGN6eXRhbm8gJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImLFgsSZZG5lIGRhbmUgbmEgxZtjaWXFvGNlL2fFgm93aWN5ICV1LyV1XG4iCisiS29udHludWFjamEuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gPHVyesSFZHplbmllPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ5Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICJXeWtvbmFuaWUgbmlza29wb3ppb21vd2VnbyBmb3JtYXRvd2FuaWEgZHlza2lldGtpLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICByb3pwb2N6xJljaWUgb2QgxZtjaWXFvGtpIE4gKGRvbXnFm2xuaWUgMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtdCwgLS10byA8Tj4gICAgICB6YWtvxYRjemVuaWUgbmEgxZtjaWXFvGNlIE5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NAorbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgcHLDs2JhIG5hcHJhd2llbmlhIMWbY2llxbxlaywgbmEga3TDs3J5Y2ggem5hbGV6aW9ubyBixYLEmWR5XG4iCisiICAgICAgICAgICAgICAgICAgICAgdyB0cmFrY2llIHdlcnlmaWthY2ppIChtYWtzeW1hbG5pZSBOIHByw7NiKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICB3ecWCxIVjemVuaWUgd2VyeWZpa2FjamkgcG8gZm9ybWF0b3dhbml1XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgLSDFm2NpZcW8a2EgcG9jesSFdGtvd2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImLFgsSZZG55IGFyZ3VtZW50IC0gxZtjaWXFvGthIGtvxYRjb3dhIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgLSBvcGNqYSBuYXByYXd5IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCAlcyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTAgbWlzYy11dGlscy9sc2Jsay5jOjE1MDEKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg3IHN5cy11dGlscy9ibGt6b25lLmM6MTAxCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2tyZcWbbGnEhyBha3R1YWxuZWdvIGZvcm1hdHUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXNzdHJvbm5lLCAlZCDFm2NpZcW8ZWssICVkIHNla3QuL8WbY2llxbxrxJkuIMWBxIVjem5hIHBvamVtbm/Fm8SHICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJEd3UiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgIkplZG5vIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICLFm2NpZcW8a2EgcG9jesSFdGtvd2Egb2tyZcWbbG9uYSBwcnpleiB1xbx5dGtvd25pa2EgcHJ6ZWtyYWN6YSBtYWtzeW1hbG7EhSBkbGEgbm/Fm25pa2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICLFm2NpZcW8a2Ega2/FhGNvd2Egb2tyZcWbbG9uYSBwcnpleiB1xbx5dGtvd25pa2EgcHJ6ZWtyYWN6YSBtYWtzeW1hbG7EhSBkbGEgbm/Fm25pa2EiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAixZtjaWXFvGthIHBvY3rEhXRrb3dhIG9rcmXFm2xvbmEgcHJ6ZXogdcW8eXRrb3duaWthIHd5a3JhY3phIHBvemEga2/FhGNvd8SFIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUzIG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiemFta25pxJljaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiV3liw7NyIChkb215xZtsbmllICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJQcnp5asSZdG8gd2FydG/Fm8SHIGRvbXnFm2xuxIUgJWMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIyIGRpc2stdXRpbHMvZmRpc2suYzoyOTYgZGlzay11dGlscy9mZGlzay5jOjM3MQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyNDEgbGliZmRpc2svc3JjL2dwdC5jOjI0NjkKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJXYXJ0b8WbxIcgc3BvemEgemFrcmVzdS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXMsIGRvbXnFm2xuaWUgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTQgZGlzay11dGlscy9mZGlzay5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsIGRvbXnFm2xuaWUgJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjLCBkb215xZtsbmllICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZG9tecWbbG5pZSAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzggZGlzay11dGlscy9zZmRpc2suYzoxOTgKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIgW1RdYWsvW05daWU6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIktvZCBzemVzbmFzdGtvd3kgKEwgd3nFm3dpZXRsYSBsaXN0xJkgd3N6eXN0a2ljaCBrb2TDs3cpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJUeXAgcGFydHljamkgKEwgd3nFm3dpZXRsYSBsaXN0xJkgd3N6eXN0a2ljaCB0eXDDs3cpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJGbGFnYSBrb21wYXR5Ymlsbm/Fm2NpIHogRE9TLWVtIGplc3QgdXN0YXdpb25hIChQUlpFU1RBUlpBxYFFISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkZsYWdhIGtvbXBhdHliaWxub8WbY2kgeiBET1MtZW0gbmllIGplc3QgdXN0YXdpb25hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA0IGRpc2stdXRpbHMvZmRpc2suYzo2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJQYXJ0eWNqYSAlenUgamVzemN6ZSBuaWUgaXN0bmllamUhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA5IGRpc2stdXRpbHMvZmRpc2suYzo2MTggbGliZmRpc2svc3JjL2Fzay5jOjEwMDMKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJOaWV6bmFueSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIlptaWVuaW9ubyB0eXAgcGFydHljamkgJyVzJyBuYSAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlR5cCBwYXJ0eWNqaSAlenUgbmllIHpvc3RhxYIgem1pZW5pb255OiAlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHJvem1pYXIgPSAlenUgYmFqdMOzdy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAibmllIG1vxbxuYSBwcnplbWllxZtjacSHIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIm5pZSBtb8W8bmEgb2Rjenl0YcSHIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxIGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOTgKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIlBpZXJ3c3p5IHNla3RvciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiaW9jdGwgQkxLR0VUU0laRSBuaWUgcG93acOzZMWCIHNpxJkgbmEgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3ODYgZGlzay11dGlscy9zZmRpc2suYzoxNDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJTdGFyYSBzeWduYXR1cmEgJXMgYsSZZHppZSB1c3VuacSZdGEgcHJ6eSBwb2xlY2VuaXUgemFwaXN1LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJTdGFyYSBzeWduYXR1cmEgJXMgbW/FvGUgcG96b3N0YcSHIG5hIHVyesSFZHplbml1LiBaYWxlY2Egc2nEmSB3eW1hemHEhyB1cnrEhWR6ZW5pZSBwcnp5IHXFvHljaXUgd2lwZWZzKDgpIGx1YiBmZGlzayAtLXdpcGUsIGFieSB1bmlrbsSFxIcgbW/FvGxpd3ljaCBrb2xpemppLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNqZV0gPGR5c2s+ICAgICAgIHptaWFuYSB0YWJsaWN5IHBhcnR5Y2ppXG4iCisiICUxJHMgW29wY2plXSAtbCBbPGR5c2s+XSAgd3lwaXNhbmllIHRhYmxpY3kvdGFibGljIHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDxyb3ptaWFyPiAgIHJvem1pYXIgc2VrdG9yYSBmaXp5Y3puZWdvIGkgbG9naWN6bmVnb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGJleiB1c3V3YW5pYSBib290Yml0cyBwcnp5IHR3b3J6ZW5pdSBldHlraWV0eVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08dHJ5Yj5dICB0cnliIHpnb2Rub8WbY2k6ICdkb3MnIGx1YiAnbm9uZG9zJyAoZG9tecWbbG55KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE0Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxraWVkeT5dICAgICAgICAga29sb3Jvd2FuaWUgd3lqxZtjaWEgKGF1dG8sIGFsd2F5cyBsdWIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICB3ecWbd2lldGxlbmllIHBhcnR5Y2ppIGkgemFrb8WEY3plbmllXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTgKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgICAgIGtvbHVtbnkgZG8gd3lwaXNhbmlhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0eXA+ICAgICAgICAgICAgICByb3pwb3puYW5pZSB0eWxrbyBwb2RhbmVnbyB0eXB1IHRhYmxpY3kgcGFydHljamlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtdSwgLS11bml0c1s9PGplZG5vc3RrYT5dICAgIGplZG5vc3RraSB3ecWbd2lldGxhbmlhOiAnY3lsaW5kZXJzJyBsdWIgJ3NlY3RvcnMnIChkb215xZtsbmUpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjEKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgcG9kYW5pZSByb3ptaWFydSB1cnrEhWR6ZW5pYSB3IHNla3RvcmFjaCA1MTJiIFtQUlpFU1RBUlpBxYFFXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgd3lwaXN5d2FuaWUgcm96bWlhcsOzdyB3IGJhanRhY2ggemFtaWFzdCBmb3JtYXR1XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN6eXRlbG5lZ28gZGxhIGN6xYJvd2lla2FcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPHRyeWI+ICAgICAgICAgICAgIHd5bWF6eXdhbmllIHN5Z25hdHVyIChhdXRvLCBhbHdheXMgbHViIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDx0cnliPiAgd3ltYXp5d2FuaWUgc3lnbmF0dXIgeiBub3d5Y2ggcGFydHljamkgKGF1dG8sIGFsd2F5cyBsdWIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxsaWN6YmE+ICAgICAgb2tyZcWbbGVuaWUgbGljemJ5IGN5bGluZHLDs3dcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDxsaWN6YmE+ICAgICAgICAgIG9rcmXFm2xlbmllIGxpY3pieSBnxYJvd2ljXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3JzIDxsaWN6YmE+ICAgICAgICBva3JlxZtsZW5pZSBsaWN6Ynkgc2VrdG9yw7N3IG5hIMWbY2llxbxjZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyByb3ptaWFydSBzZWt0b3JhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTEwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIGxpY3piYSBjeWxpbmRyw7N3IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIHN0ZXJvd25pa2EgZXR5a2lldCBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAibmllem5hbnkgdHJ5YiB6Z29kbm/Fm2NpICclcyciCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgZ8WCb3dpYyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgbGljemJhIHNla3RvcsOzdyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5hIGV0eWtpZXRhIGR5c2t1OiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbmEgamVkbm9zdGthIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbnkgdHJ5YiB3eW1henl3YW5pYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDIKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiV8WCYcWbY2l3b8WbY2kgdXJ6xIVkemVuaWEgKHJvem1pYXIgc2VrdG9yYSBpIGdlb21ldHJpYSkgcG93aW5ueSBiecSHIHXFvHl3YW5lIHR5bGtvIHogamVkbnltIG9rcmXFm2xvbnltIHVyesSFZHplbmllbS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworbXNnaWQgImJhZCB1c2FnZSIKK21zZ3N0ciAiYsWCxJlkbmEgc2vFgmFkbmlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICJXaXRhbXkgdyBwcm9ncmFtaWUgZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJabWlhbnkgcG96b3N0YW7EhSB0eWxrbyB3IHBhbWnEmWNpIGRvIGNod2lsaSBpY2ggemFwaXNhbmlhLlxuIgorIlByemVkIHXFvHljaWVtIHBvbGVjZW5pYSB6YXBpc3UgcHJvc2lteSBvIG9zdHJvxbxub8WbxIcuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDc5Cittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgIld5a3J5dG8gaHlicnlkb3dlIEdQVC4gVHJ6ZWJhIHpzeW5jaHJvbml6b3dhxIcgaHlicnlkb3d5IE1CUiByxJljem5pZSAocG9sZWNlbmllIGVrc3BlcnRhICdNJykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIlR5cCBldHlraWV0eSBkeXNrdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIklkZW50eWZpa2F0b3IgZHlza3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiRHlzayAlczogJXMsIGJhanTDs3c6ICVqdSwgc2VrdG9yw7N3OiAlanUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiR2VvbWV0cmlhOiBnxYJvd2ljOiAlZCwgc2VrdG9yw7N3L8WbY2llxbxrxJk6ICVsbHUsIGN5bGluZHLDs3c6ICVsbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIkplZG5vc3RraTogJXMsIGN6eWxpICVkICogJWxkID0gJWxkIGJhanTDs3ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiUm96bWlhciBzZWt0b3JhIChsb2dpY3pueS9maXp5Y3pueSkgdyBiYWp0YWNoOiAlbHUgLyAlbHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlJvem1pYXIgd2Uvd3kgKG1pbmltYWxueS9vcHR5bWFsbnkpIHcgYmFqdGFjaDogJWx1IC8gJWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIld5csOzd25hbmllIHcgYmFqdGFjaDogJWx1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjM2CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIGl0ZXJhdG9yYSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTIyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0MgorIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkxNiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNjEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1OTYgbWlzYy11dGlscy9sc2Jsay5jOjE5MDggbWlzYy11dGlscy9sc2xvY2tzLmM6NDQ5CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI1MiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzEyIHN5cy11dGlscy9sc2lwYy5jOjMzOAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3Jma2lsbC5jOjQ1NyBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg0CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyNjAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODcgdGV4dC11dGlscy9jb2x1bW4uYzoyMDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIHRhYmVsaSB3eWrFm2Npb3dlaiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgbGluaWkgd3lqxZtjaW93ZWoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIGRvZGHEhyBkYW55Y2ggd3lqxZtjaW93eWNoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0eWNqYSAlenUgbmllIHphY3p5bmEgc2nEmSBuYSBncmFuaWN5IHNla3RvcmEgZml6eWN6bmVnby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtL1JBSUQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiAlenUgd2lsbCBiZSB3aXBlZC4iCittc2dzdHIgIlN5Z25hdHVyYSBzeXN0ZW11IHBsaWvDs3cvUkFJRCBuYSBwYXJ0eWNqaSAlenUgem9zdGFuaWUgd3ltYXphbmEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJXcGlzeSB3IHRhYmxpY3kgcGFydHljamkgbmllIHPEhSB3IHRlaiBrb2xlam5vxZtjaSwgY28gbmEgZHlza3UuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjUKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI4IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIlBvY3rEhXRlayIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiS29uaWVjIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjcKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAiU2VrdG9yeSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI5CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNAorbXNnaWQgIlNpemUiCittc2dzdHIgIlJvem1pYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiTWllanNjZSBuaWVzcGFydHljam9ub3dhbmUgJXM6ICVzLCBiYWp0w7N3OiAlanUsIHNla3RvcsOzdzogJWp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJuaWV6bmFuYSBrb2x1bW5hICVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICJPZ8OzbG5lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAidXN1bmnEmWNpZSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAid3lwaXNhbmllIHdvbG5lZ28sIG5pZXNwYXJ0eWNqb25vd2FuZWdvIG1pZWpzY2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJ3eXBpc2FuaWUgem5hbnljaCB0eXDDs3cgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgImRvZGFuaWUgbm93ZWogcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInd5cGlzYW5pZSB0YWJsaWN5IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiem1pYW5hIHR5cHUgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ3ZXJ5ZmlrYWNqYSB0YWJsaWN5IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAid3lwaXNhbmllIGluZm9ybWFjamkgbyBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJ3eXBpc2FuaWUgc3Vyb3d5Y2ggZGFueWNoIHBpZXJ3c3plZ28gc2VrdG9yYSB1cnrEhWR6ZW5pYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJ3eXBpc2FuaWUgc3Vyb3d5Y2ggZGFueWNoIGV0eWtpZXR5IGR5c2t1IHVyesSFZHplbmlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAicG9wcmF3aWVuaWUga29sZWpub8WbY2kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgIk1pc2MiCittc2dzdHIgIlLDs8W8bmUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAid3nFm3dpZXRsZW5pZSB0ZWdvIG1lbnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICJ6bWlhbmEgamVkbm9zdGVrIHd5xZt3aWV0bGFuaWEvd3Byb3dhZHphbmlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJkb2RhdGtvd2UgZnVua2NqZSAodHlsa28gZGxhIGVrc3BlcnTDs3cpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIlNrcnlwdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE3Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAid2N6eXRhbmllIHVrxYJhZHUgZHlza3UgeiBwbGlrdSBza3J5cHR1IHNmZGlza2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJ6cnp1dCB1a8WCYWR1IGR5c2t1IGRvIHBsaWt1IHNrcnlwdHUgc2ZkaXNrYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIlphcGlzIGkgemFrb8WEY3plbmllIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICJ6YXBpcyB0YWJsaWN5IHBhcnR5Y2ppIG5hIGR5c2sgaSB6YWtvxYRjemVuaWUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgInphcGlzYW5pZSB0YWJsaWN5IG5hIGR5c2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMworbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiemFrb8WEY3plbmllIGJleiB6YXBpc3l3YW5pYSB6bWlhbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAicG93csOzdCBkbyBnxYLDs3duZWdvIG1lbnUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgInBvd3LDs3QgeiBCU0QgZG8gRE9TLWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiVXR3b3J6ZW5pZSBub3dlaiBldHlraWV0eSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInV0d29yemVuaWUgbm93ZWosIHB1c3RlaiB0YWJsaWN5IHBhcnR5Y2ppIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ1dHdvcnplbmllIG5vd2VqLCBwdXN0ZWogdGFibGljeSBwYXJ0eWNqaSBTR0kgKElSSVgpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDAKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidXR3b3J6ZW5pZSBub3dlaiwgcHVzdGVqIERPUy1vd2VqIHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ1dHdvcnplbmllIG5vd2VqLCBwdXN0ZWogdGFibGljeSBwYXJ0eWNqaSB0eXB1IFN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ1dHdvcnplbmllIHRhYmxpY3kgcGFydHljamkgdHlwdSBJUklYIChTR0kpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJHZW9tZXRyeSAoZm9yIHRoZSBjdXJyZW50IGxhYmVsKSIKK21zZ3N0ciAiR2VvbWV0cmlhIChkbGEgYmllxbzEhWNlaiBldHlraWV0eSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IGN5bGluZHLDs3ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgInptaWFuYSBsaWN6YnkgZ8WCb3dpYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IHNla3RvcsOzdyBuYSDFm2NpZcW8a8SZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAiem1pYW5hIEdVSUQtYSBkeXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJ6bWlhbmEgbmF6d3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiem1pYW5hIFVVSUQtYSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcwCittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAiem1pYW5hIGTFgnVnb8WbY2kgdGFibGljeSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICJ3ZWrFm2NpZSB3IG9jaHJvbm55L2h5YnJ5ZG93eSBNQlIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiem1pYW5hIGZsYWdpIHJvenJ1Y2h1IHRyYWR5Y3lqbmVnbyBCSU9TLXUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiem1pYW5hIGZsYWdpIGJyYWt1IHByb3Rva2/FgnUgYmxva293ZWdvIHdlL3d5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJ6bWlhbmEgZmxhZ2kgd3ltYWdhbmVqIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzcKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAiem1pYW5hIGJpdMOzdyBzcGVjeWZpY3pueWNoIGRsYSBHVUlELWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJ6bWlhbmEgZmxhZ2kgXCJ0eWxrbyBkbyBvZGN6eXR1XCIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgInptaWFuYSBmbGFnaSBtb250b3dhbG5vxZtjaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IHptaWVubnljaCBjeWxpbmRyw7N3IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IGRvZGF0a293eWNoIHNla3RvcsOzdyBuYSBjeWxpbmRlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJ6bWlhbmEgd3Nww7PFgmN6eW5uaWthIHByemVwbG90dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk0Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJ6bWlhbmEgcHLEmWRrb8WbY2kgb2Jyb3Rvd2VqIChvYnIuL21pbikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJ6bWlhbmEgbGljemJ5IGZpenljem55Y2ggY3lsaW5kcsOzdyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA0Cittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorbXNnaWQgInNlbGVjdCBib290YWJsZSBwYXJ0aXRpb24iCittc2dzdHIgInd5YsOzciBwYXJ0eWNqaSByb3pydWNob3dlaiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiZWR5Y2phIHdwaXN1IHBsaWt1IHJvenJ1Y2hvd2VnbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAid3liw7NyIHBhcnR5Y2ppIHd5bWlhbnkgU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDgKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgInV0d29yemVuaWUgaW5mb3JtYWNqaSBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJ6bWlhbmEgZmxhZ2kgcm96cnVjaHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIm1vZHlmaWthY2phIHphZ25pZcW8ZMW8b25laiBldHlraWV0eSBkeXNrdSBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiem1pYW5hIGZsYWdpIGtvbXBhdHliaWxub8WbY2kgeiBET1MtZW0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgInByemVzdW5pxJljaWUgcG9jesSFdGt1IGRhbnljaCBuYSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgInptaWFuYSBpZGVudHlmaWthdG9yYSBkeXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAicG93csOzdCB6IG9jaHJvbm5lZ28vaHlicnlkb3dlZ28gTUJSIGRvIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiZWR5Y2phIGRhbnljaCB1cnrEhWR6ZW5pYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgInphaW5zdGFsb3dhbmllIGtvZHUgcm96cnVjaG93ZWdvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAid3lwaXNhbmllIGNhxYJlaiBldHlraWV0eSBkeXNrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICJwb8WCxIVjemVuaWUgcGFydHljamkgQlNEIHogcGFydHljasSFIG5pZS1CU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBvbW9jIChwb2xlY2VuaWEgZWtzcGVydGEpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9tb2M6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJUcndhIG1vZHlmaWtvd2FuaWUgemFnbmllxbxkxbxvbmVqIHRhYmxpY3kgcGFydHljamkgJyVzJywgZ8WCw7N3bmEgdGFibGljYSB0byAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIlBvbGVjZW5pZSBla3NwZXJ0YSAobSB3ecWbd2lldGxhIHBvbW9jKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJQb2xlY2VuaWUgKG0gd3nFm3dpZXRsYSBwb21vYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyJDenkgbmEgcGV3bm8gemFrb8WEY3p5xIcgcHJvZ3JhbT8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IG5pZXpuYW5lIHBvbGVjZW5pZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIk5hendhIHBsaWt1IHNrcnlwdHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIlJlc2V0dGluZyBmZGlzayEiCittc2dzdHIgIlJlc2V0b3dhbmllIGZkaXNrYSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIlNrcnlwdCB6b3N0YcWCIHBvcHJhd25pZSBuYW5pZXNpb255LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTE4Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHByemVrc3p0YcWCY2nEhyB1a8WCYWR1IGR5c2t1IGRvIHNrcnlwdHUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICJTa3J5cHQgem9zdGHFgiBwb3ByYXduaWUgemFwaXNhbnkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTUgZGlzay11dGlscy9zZmRpc2suYzoxNTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydHljamEgIyV6dSB6YXdpZXJhIHN5Z25hdHVyxJkgJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJDenkgdXN1bsSFxIcgc3lnbmF0dXLEmT8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJUYSBzeWduYXR1cmEgYsSZZHppZSB1c3VuacSZdGEgcHJ6eSBwb2xlY2VuaXUgemFwaXN1LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphcGlzYcSHIGV0eWtpZXR5IGR5c2t1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgcG9wcmF3acSHIGtvbGVqbm/Fm2NpIHBhcnR5Y2ppLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjQwCittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIlBvcHJhd2lvbm8ga29sZWpub8WbxIcgcGFydHljamkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXN1bsSFxIcgcGFydHljamkgJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiWm1pYW5hIGplZG5vc3RlayB3ecWbd2lldGxhbmlhL3dwcm93YWR6YW5pYSBuYSBjeWxpbmRyeSAoUFJaRVNUQVJaQcWBRSEpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg3Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiWm1pYW5hIGplZG5vc3RlayB3ecWbd2lldGxhbmlhL3dwcm93YWR6YW5pYSBuYSBzZWt0b3J5LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorbXNnaWQgIkxlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4iCittc2dzdHIgIlBvem9zdGF3aW9ubyB6YWduaWXFvGTFvG9uxIUgZXR5a2lldMSZIGR5c2t1LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiTm93YSBtYWtzeW1hbG5hIGxpY3piYSB3cGlzw7N3IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiV2VqxZtjaWUgdyBvY2hyb25uxIUvaHlicnlkb3fEhSBldHlraWV0xJkgZHlza3UgTUJSLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiTm93eSBVVUlEICh3IGZvcm1hY2llIDgtNC00LTQtMTIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiTm93YSBuYXp3YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJXZWrFm2NpZSB3IHphZ25pZcW8ZMW8b27EhSBldHlraWV0xJkgZHlza3UgQlNELiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIkxpY3piYSBjeWxpbmRyw7N3IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJMaWN6YmEgZ8WCb3dpYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJMaWN6YmEgc2VrdG9yw7N3IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBqZXN0IHphbW9udG93YW55XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIlcyBuaWUgamVzdCB6YW1vbnRvd2FueVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMjkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk4IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDUKKyM6IGxpYi9wYXRoLmM6MTQwIGxpYi9wYXRoLmM6MTYxIGxpYi9wYXRoLmM6MTgyIGxpYi9wYXRoLmM6MjMwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY1NQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxNCBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MjMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIG9kY3p5dGHEhyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGxpYi9wYXRoLmM6MTYzIGxpYi9wYXRoLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAiYsWCxIVkIHNrxYJhZG5pOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIHV0d29yennEhyBrYXRhbG9ndSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICJCbG9rb3dhbmllIGR5c2t1IHBsaWtpZW0gJXMuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKG9jemVraXdhbmllKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIk9kYmxva293eXdhbmllICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIG9waXN1IGRsYSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDcyIG1pc2MtdXRpbHMvZmluZG1udC5jOjc4NCBtaXNjLXV0aWxzL2xzYmxrLmM6NDQ2CisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDEgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGLFgsSFZCBza8WCYWRuaSB3IGxpbmlpICVkIC0gemlnbm9yb3dhbm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNCBkaXNrLXV0aWxzL2ZzY2suYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgcGxpa3UgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgInd5d2/FgmFuaWUgZm9yayBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiB1cnVjaG9taWVuaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODIKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIndhaXQ6IGJyYWsgcHJvY2VzdSBwb3RvbW5lZ28/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid3l3b8WCYW5pZSB3YWl0cGlkIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICJVd2FnYS4uLiAlcyBkbGEgdXJ6xIVkemVuaWEgJXMgemFrb8WEY3pvbmUgc3lnbmHFgmVtICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlczogc3RhdHVzIHRvICV4LCB0byBuaWUgcG93aW5ubyBzacSZIG5pZ2R5IHpkYXJ6ecSHLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmlzaGVkIHdpdGggJXMgKGV4aXQgc3RhdHVzICVkKVxuIgorbXNnc3RyICJaYWtvxYRjem9ubyAlcyAoa29kIHd5asWbY2lhICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImLFgsSFZCAlZCAoJW0pIHBvZGN6YXMgd3l3b8WCeXdhbmlhIGZzY2suJXMgZGxhICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiQWxibyB3c3p5c3RraWUsIGFsYm8gxbxhZGVuIHogdHlww7N3IHByemVrYXphbnljaCBvcGNqaSAtdCBtdXNpIGJ5xIdcbiIKKyJwb3ByemVkem9ueSAnbm8nIGx1YiAnIScuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogcG9taW5pxJl0byBixYLEmWRuxIUgbGluacSZIHcgL2V0Yy9mc3RhYjogbW9udG93YW5pZSB0eXB1IGJpbmQgeiBuaWV6ZXJvd3ltIG51bWVyZW0gcHJ6ZWJpZWd1IGZzY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogcG9taW5pxJl0byBuaWVpc3RuaWVqxIVjZSB1cnrEhWR6ZW5pZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiB1cnrEhWR6ZW5pZSBuaWUgaXN0bmllamUgKG1vxbxuYSB1xbx5xIcgb3BjamkgZnN0YWJhIFwibm9mYWlsXCIgZG8gcG9taW5pxJljaWEgdGVnbyB1cnrEhWR6ZW5pYSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAiJXM6IHBvbWluacSZdG8gbmllem5hbnkgdHlwIHN5c3RlbXUgcGxpa8Ozd1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIm5pZSBtb8W8bmEgc3ByYXdkemnEhyAlczogbmllIHpuYWxlemlvbm8gZnNjay4lcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI3MAorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIlNwcmF3ZHphbmllIHdzenlzdGtpY2ggc3lzdGVtw7N3IHBsaWvDs3cuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0tb2N6ZWtpd2FuaWUtLSAocHJ6ZWJpZWcgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIC0tIFtvcGNqZS1mc10gWzxzeXN0ZW0tcGxpa8Ozdz4gLi4uXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlNwcmF3ZHphbmllIGkgbmFwcmF3YSBsaW51a3Nvd2VnbyBzeXN0ZW11IHBsaWvDs3cuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTQKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BICAgICAgICAgc3ByYXdkemVuaWUgd3N6eXN0a2ljaCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxmZD5dICB3ecWbd2lldGxhbmllIHBhc2thIHBvc3TEmXB1OyBkZXNrcnlwdG9yIHBsaWt1IGplc3QgZGxhIEdVSVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHphYmxva293YW5pZSB1cnrEhWR6ZW5pYSB3IGNlbHUgemFnd2FyYW50b3dhbmlhIHd5xYLEhWN6bm/Fm2NpIGRvc3TEmXB1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBiZXogc3ByYXdkemFuaWEgemFtb250b3dhbnljaCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk4Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIC1OICAgICAgICAgYmV6IHd5a29ueXdhbmlhLCBqZWR5bmllIHBva2F6eXdhbmllLCBjbyB6b3N0YcWCb2J5IHpyb2Jpb25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAgcsOzd25vbGVnxYJlIHNwcmF3ZHphbmllIHN5c3RlbcOzdyBwbGlrw7N3LCB3cmF6IHogZ8WCw7N3bnltXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAtUiAgICAgICAgIHBvbWluacSZY2llIGfFgsOzd25lZ28gc3lzdGVtdSBwbGlrw7N3OyBwcnp5ZGF0bmUgdHlsa28geiAnLUEnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDEKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICB3eXBpc3l3YW5pZSBzdGF0eXN0eWsgZGxhIGthxbxkZWdvIHNwcmF3ZHpvbmVnbyB1cnrEhWR6ZW5pYTtcbiIKKyIgICAgICAgICAgICBkZXNrcnlwdG9yIHBsaWt1IGplc3QgZGxhIEdVSVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAzCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiAtcyAgICAgICAgIHN6ZXJlZ293ZSBvcGVyYWNqZSBzcHJhd2R6YW5pYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA0Cittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiIC1UICAgICAgICAgYmV6IHd5xZt3aWV0bGFuaWEgdHl0dcWCdSBuYSBwb2N6xIV0a3UgZHppYcWCYW5pYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA1Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorIiAtdCA8dHlwPiAgIG9rcmXFm2xlbmllIHR5cMOzdyBzeXN0ZW3Ds3cgcGxpa8OzdyBkbyBzcHJhd2R6ZW5pYTtcbiIKKyIgICAgICAgICAgICBtb8W8ZSB0byBiecSHIGxpc3RhIHR5cMOzdyBvZGR6aWVsb255Y2ggcHJ6ZWNpbmthbWlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIHd5amHFm25pYW5pZSB3eWtvbnl3YW55Y2ggY3p5bm5vxZtjaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiSW5mb3JtYWNqZSBvIG9wY2phY2gtZnMgbW/FvG5hIHpuYWxlxbrEhyB3IGtvbmtyZXRueWNoIGZzY2suKiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgInpieXQgZHXFvG8gdXJ6xIVkemXFhCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICJDenkgL3Byb2MgamVzdCB6YW1vbnRvd2FueT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAidHJ6ZWJhIGJ5xIcgcm9vdGVtLCBhYnkgem5hbGXFusSHIHBhc3VqxIVjZSBzeXN0ZW15IHBsaWvDs3c6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZG5hbGXFusSHIHBhc3VqxIVjZWdvIHN5c3RlbXUgcGxpa8OzdzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiemJ5dCBkdcW8byBhcmd1bWVudMOzdyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgb3BjamkgLXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIm9wY2phICclcycgbW/FvGUgYnnEhyBwb2RhbmEgdHlsa28gcmF6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAib3BjamEgJyVzJyB3eW1hZ2EgYXJndW1lbnR1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJixYLEmWRueSBhcmd1bWVudCBvcGNqaSAtcjogJWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAib3BjamkgLWwgbW/FvG5hIHXFvHnEhyB0eWxrbyB6IGplZG55bSB1cnrEhWR6ZW5pZW0gLSB6aWdub3Jvd2FubyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8cGxpaz5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNAorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJTcHJhd2R6YW5pZSBpIG5hcHJhd2Egc2tvbXByZXNvd2FuZWdvIHN5c3RlbXUgcGxpa8OzdyBST00uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICB0eWxrbyBkbGEga29tcGF0eWJpbG5vxZtjaSwgaWdub3Jvd2FuZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiYXJkemllaiBzemN6ZWfDs8WCb3dlIGtvbXVuaWthdHlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIHR5bGtvIGRsYSBrb21wYXR5Ymlsbm/Fm2NpLCBpZ25vcm93YW5lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1ibG9ja3NpemUgPHJvem0uPiAgdcW8eWNpZSBwb2RhbmVnbyByb3ptaWFydSBibG9rdSwgZG9tecWbbG5pZSBzdHJvbmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9PGthdD5dICAgIHRlc3QgZGVrb21wcmVzamksIG9wY2pvbmFsbmllIGRla29tcHJlc2phIGRvIDxrYXQ+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiaW9jdGwgbmllIHBvd2lvZMWCbyBzacSZOiBuaWUgbW/FvG5hIG9rcmXFm2xpxIcgcm96bWlhcnUgdXJ6xIVkemVuaWE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAibmllIGplc3QgdG8gdXJ6xIVkemVuaWUgYmxva293ZSBhbmkgcGxpazogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiZMWCdWdvxZvEhyBwbGlrdSB6Ynl0IG1hxYJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc2IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTEgbGliZmRpc2svc3JjL2JzZC5jOjcxNyBsaWJmZGlzay9zcmMvYnNkLmM6ODkyCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjAzIGxvZ2luLXV0aWxzL2xhc3QuYzoyMzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAicHJ6ZW1pZXN6Y3plbmllIHcgJXMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gbGljemJ5IG1hZ2ljem5laiBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImtvbGVqbm/Fm8SHIGJhanTDs3cgdyBzxYJvd2llIGNyYW1mcyB0byAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJiaWctZW5kaWFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICJsaXR0bGUtZW5kaWFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkyCittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FuZSBjZWNoeSBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJyb3ptaWFyIHN1cGVyYmxva3UgKCVkKSB6Ynl0IG1hxYJ5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJ6ZXJvd2EgbGljemJhIHBsaWvDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAicGxpayB3eWNob2R6aSBwb3phIGtvbmllYyBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAic3RhcnkgZm9ybWF0IGNyYW1mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIm5pZSBtb8W8bmEgc3ByYXdkemnEhyBDUkM6IHN0YXJ5IGZvcm1hdCBjcmFtZnMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJTxQUkl1MzI+IGJ5dGVzIGZyb20gZmlsZSAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyAlPFBSSXUzMj4gYmFqdMOzdyB6IHBsaWt1ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJixYLEhWQgQ1JDIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJwcnplbWllc3pjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA4Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIm9kY3p5dCByb21mcyBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImfFgsOzd255IGktd8SZemXFgiBuaWUgamVzdCBrYXRhbG9naWVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiYsWCxJlkbnkgb2Zmc2V0IGfFgsOzd25lZ28ga2F0YWxvZ3UgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiYmxvayBkYW55Y2ggemJ5dCBkdcW8eSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiYsWCxIVkIGRla29tcHJlc2ppOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgZHppdXJhIHBvZCAlbHUgKCV6dSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgZGVrb21wcmVzamEgYmxva3UgcG9kICVsdSBkbyAlbHUgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIm5pZSBibG9rICglbGQgYmFqdMOzdykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJixYLEmWRueSByb3ptaWFyICglbGQgdnMgJWxkIGJhanTDs3cpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDE1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTgKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA5IG1pc2MtdXRpbHMvdXVpZGQuYzozNjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjQwOAorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU1MSBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjY0MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM5MyB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ6YXBpcyBuaWUgcG93acOzZMWCIHNpxJk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24gbmllIHBvd2lvZMWCbyBzacSZOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biBuaWUgcG93aW9kxYJvIHNpxJk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIG5pZSBwb3dpb2TFgm8gc2nEmTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImktd8SZemXFgiBrYXRhbG9ndSBtYSB6ZXJvd3kgb2Zmc2V0IGkgbmllemVyb3d5IHJvem1pYXI6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIm1rZGlyIG5pZSBwb3dpb2TFgm8gc2nEmTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAiemVyb3dhIGTFgnVnb8WbxIcgbmF6d3kgcGxpa3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODAKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICJixYLEmWRuYSBkxYJ1Z2/Fm8SHIG5hend5IHBsaWt1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAiYsWCxJlkbnkgb2Zmc2V0IGktd8SZesWCYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJpLXfEmXplxYIgcGxpa3UgbWEgemVyb3d5IG9mZnNldCBpIG5pZXplcm93eSByb3ptaWFyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImktd8SZemXFgiBwbGlrdSBtYSB6ZXJvd3kgcm96bWlhciBpIG5pZXplcm93eSBvZmZzZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAiZG93acSFemFuaWUgc3ltYm9saWN6bmUgbWEgemVyb3d5IG9mZnNldCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAiZG93acSFemFuaWUgc3ltYm9saWN6bmUgbWEgemVyb3d5IHJvem1pYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiYsWCxIVkIHJvem1pYXJ1IGRvd2nEhXphbmlhIHN5bWJvbGljem5lZ286ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3ltbGluayBuaWUgcG93aW9kxYJvIHNpxJk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAicGxpayBzcGVjamFsbnkgbWEgbmllemVyb3d5IG9mZnNldDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImZpZm8gbWEgbmllemVyb3d5IHJvem1pYXI6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImduaWF6ZG8gbWEgbmllemVyb3d5IHJvem1pYXI6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgImLFgsSZZG55IHRyeWI6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgbmllIHBvd2lvZMWCbyBzacSZOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJwb2N6xIV0ZWsgZGFueWNoIGthdGFsb2d1ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAia29uaWVjIGRhbnljaCBrYXRhbG9ndSAoJWx1KSAhPSBwb2N6xIV0ZWsgZGFueWNoIHBsaWt1ICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM5Cittc2dpZCAiaW52YWxpZCBmaWxlIGRhdGEgb2Zmc2V0IgorbXNnc3RyICJuaWVwb3ByYXdueSBvZmZzZXQgZGFueWNoIHBsaWt1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIHJvem1pYXJ1IGJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiU3ByYXdkemFuaWUgc3DDs2pub8WbY2kgc3lzdGVtdSBwbGlrw7N3IE1pbml4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgbGlzdGEgd3N6eXN0a2ljaCBuYXp3IHBsaWvDs3dcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICBuYXByYXdhIGF1dG9tYXR5Y3puYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgICAgbmFwcmF3YSBpbnRlcmFrdHl3bmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICB0cnliIHN6Y3plZ8OzxYJvd3lcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zdXBlciAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gc3VwZXJibG9rdVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgIHfFgsSFY3plbmllIG9zdHJ6ZcW8ZcWEIG8gbmllIHd5Y3p5c3pjem9ueW0gdHJ5YmllXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MworbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIHd5bXVzemVuaWUgc3ByYXdkemVuaWFcbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIlcyAodC9uKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4vdCk/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAidFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICJuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkLlx0ICIKK21zZ3N0ciAiJXMgamVzdCB6YW1vbnRvd2FuZS5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiQ3p5IG5hIHBld25vIGNoY2VzeiBrb250eW51b3dhxIciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJzcHJhd2R6YW5pZSBwcnplcndhbmUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJTdHJlZmEgbnIgPCBGSVJTVFpPTkUgdyBwbGlrdSBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlN0cmVmYSBuciA+PSBaT05FUyB3IHBsaWt1IGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJVc3VuxIXEhyBibG9rIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkLFgsSFZCBvZGN6eXR1OiBuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgbmEgYmxvayB3IHBsaWt1ICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiQsWCxIVkIG9kY3p5dHU6IHdhZGxpd3kgYmxvayB3IHBsaWt1ICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiQsWCxIVkIHdld27EmXRyem55OiBwcsOzYmEgemFwaXN1IHdhZGxpd2VnbyBibG9rdVxuIgorIsW7xIVkYW5pZSB6YXBpc3Ugemlnbm9yb3dhbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgd2Ugd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJCxYLEhWQgemFwaXN1OiB3YWRsaXd5IGJsb2sgdyBwbGlrdSAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiVXdhZ2E6IGJsb2sgc3BvemEgemFrcmVzdS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgInByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgd2Ugd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphcGlzYcSHIHN1cGVyYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIk5pZSBtb8W8bmEgemFwaXNhxIcgbWFweSBpLXfEmXrFgsOzdyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJOaWUgbW/FvG5hIHphcGlzYcSHIG1hcHkgc3RyZWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIk5pZSBtb8W8bmEgemFwaXNhxIcgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgYnVmb3JhIGRsYSBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjcKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAibmllIG1vxbxuYSBvZGN6eXRhxIcgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmEgbGljemJhIG1hZ2ljem5hIHcgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJXc3BpZXJhbmUgc8SFIHR5bGtvIGJsb2tpL3N0cmVmeSAxayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkzCittc2dpZCAiYmFkIHNfbmlub2RlcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmUgcG9sZSBzX25pbm9kZXMgdyBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmUgcG9sZSBzX2ltYXBfYmxvY2tzIHcgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmUgcG9sZSBzX2ZpcnN0ZGF0YXpvbmUgdyBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MDAKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiYsWCxJlkbmUgcG9sZSBzX3ptYXBfYmxvY2tzIHcgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJOaWUgbW/FvG5hIHByenlkemllbGnEhyBidWZvcmEgZGxhIG1hcHkgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJOaWUgbW/FvG5hIHByenlkemllbGnEhyBidWZvcmEgZGxhIG1hcHkgc3RyZWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiTmllIG1vxbxuYSBwcnp5ZHppZWxpxIcgYnVmb3JhIGRsYSBpLXfEmXrFgsOzdyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIk5pZSBtb8W8bmEgcHJ6eWR6aWVsacSHIGJ1Zm9yYSBkbGEgbGljem5pa2EgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIk5pZSBtb8W8bmEgcHJ6eWR6aWVsacSHIGJ1Zm9yYSBkbGEgbGljem5pa2Egc3RyZWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiTmllIG1vxbxuYSBvZGN6eXRhxIcgbWFweSBpLXfEmXrFgsOzdyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIk5pZSBtb8W8bmEgb2Rjenl0YcSHIG1hcHkgc3RyZWYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiTmllIG1vxbxuYSBvZGN6eXRhxIcgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiVXdhZ2E6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaS13xJl6xYLDs3dcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2vDs3dcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ5IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2OAorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorbXNnc3RyICJGaXJzdGRhdGF6b25lPSVqZCAoJWpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiWm9uZXNpemU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIk1heHNpemU9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIlN0YW4gc3lzdGVtdSBwbGlrw7N3PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJLXfEmXplxYIgJWQgb3puYWN6b25vIGpha28gbmlldcW8eXdhbnkgYWxlIGplc3Qgb24gdcW8eXdhbnkgcHJ6ZXogcGxpayAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiWm5hY3puaWsgdyB1xbx5Y2l1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJQbGlrIGAlcycgbWEgdHJ5YiAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiVXdhZ2E6IGxpY3piYSBpLXfEmXrFgsOzdyB6YSBkdcW8YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImfFgsOzd255IGktd8SZemXFgiBuaWUgamVzdCBrYXRhbG9naWVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvayBiecWCIHdjemXFm25pZWogdcW8eXR5LiBPYmVjbmllIHcgcGxpa3UgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIld5Y3p5xZtjacSHIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkJsb2sgJWQgdyBwbGlrdSBgJXMnIGplc3Qgb3puYWN6b255IGpha28gbmlldcW8eXdhbnkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI2Cittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiTmFwcmF3acSHIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkthdGFsb2cgJyVzJyB6YXdpZXJhIGLFgsSZZG55IG51bWVyIGktd8SZesWCYSBkbGEgcGxpa3UgJyUuKnMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNDEKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgVXN1bsSFxIciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IGLFgsSZZG55IGthdGFsb2c6ICcuJyBuaWUgamVzdCBuYSBwb2N6xIV0a3VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiBixYLEmWRueSBrYXRhbG9nOiAnLi4nIG5pZSBqZXN0IG5hIGRydWdpZWogcG96eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiYsWCxIVkIHdld27EmXRyem55IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGLFgsSZZG55IGthdGFsb2c6IHJvem1pYXIgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IHVzemtvZHpvbnkga2F0YWxvZzogYsWCxJlkbmUgaV96b25lLCBuYWxlxbx5IHXFvHnEhyAtLXJlcGFpciB3IGNlbHUgbmFwcmF3eVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgInByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgdyBiYWRfem9uZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiVHJ5YiBpLXfEmXrFgmEgJWx1IG5pZSB3eWN6eXN6Y3pvbnkuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSS13xJl6ZcWCICVsdSBqZXN0IG5pZXXFvHl3YW55LCBhIHphem5hY3pvbnkgamFrbyB1xbx5d2FueSB3IG1hcGllIGJpdG93ZWouIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkktd8SZemXFgiAlbHUgamVzdCB1xbx5d2FueSwgYSB6YXpuYWN6b255IGpha28gbmlldcW8eXdhbnkgdyBtYXBpZSBiaXRvd2VqLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIwCittc2dpZCAiU2V0IgorbXNnc3RyICJVc3Rhd2nEhyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIkktd8SZemXFgiAlbHUgKHRyeWIgPSAlMDdvKSwgaV9ubGlua3M9JWQsIG9ibGljem9ubz0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiVXN0YXdpZW5pZSBpX25saW5rcyBuYSBsaWN6YsSZIG9ibGljem9uxIUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiU3RyZWZhICVsdTogemF6bmFjem9uYSBqYWtvIHXFvHl3YW5hLCBhIMW8YWRlbiBwbGlrIGplaiBuaWUgdcW8eXdhLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJPZHpuYWN6ecSHIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJTdHJlZmEgJWx1OiB1xbx5d2FuYSwgbmFsaWN6b25vPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJTdHJlZmEgJWx1OiBuaWUgdcW8eXdhbmEsIG5hbGljem9ubz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjk5Cittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgImLFgsSZZG55IHJvem1pYXIgaS13xJl6xYJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzAxCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgImLFgsSZZG55IHJvem1pYXIgaS13xJl6xYJhIHYyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiZG8gaW50ZXJha2N5am5laiBuYXByYXd5IHBvdHJ6ZWJueSBqZXN0IHRlcm1pbmFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgamVzdCBjenlzdHksIGJleiBzcHJhd2R6YW5pYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIld5bXVzemVuaWUgc3ByYXdkemFuaWUgc3lzdGVtdSBwbGlrw7N3IG5hICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJTeXN0ZW0gcGxpa8OzdyAlcyBuaWUgamVzdCBjenlzdHksIHd5bWFnYSBzcHJhd2R6ZW5pYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIHXFvHl3YW55Y2ggaS13xJl6xYLDs3cgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgdcW8eXdhbnljaCBzdHJlZiAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQgend5a8WCeWNoIHBsaWvDs3dcbiIKKyIlNmQga2F0YWxvZ8Ozd1xuIgorIiU2ZCBwbGlrw7N3IHVyesSFZHplxYQgem5ha293eWNoXG4iCisiJTZkIHBsaWvDs3cgdXJ6xIVkemXFhCBibG9rb3d5Y2hcbiIKKyIlNmQgZG93acSFemHFhFxuIgorIiU2ZCBkb3dpxIV6YcWEIHN5bWJvbGljem55Y2hcbiIKKyItLS0tLS1cbiIKKyIlNmQgcGxpa8Ozd1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIlpNT0RZRklLT1dBTk8gU1lTVEVNIFBMSUvDk1dcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQzMiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzgKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTQxIGRpc2stdXRpbHMvcGFydHguYzoxMDU4IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExNAorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwMAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTEgc3lzLXV0aWxzL2RtZXNnLmM6NjYxIHN5cy11dGlscy93ZGN0bC5jOjM0NworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDEyIHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjk4IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzc1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODcgdGV4dC11dGlscy9wZy5jOjEyNTYKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgInphcGlzIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVzOiB0byBtb8W8ZSBuaWUgYnnEhyBzeXN0ZW0gcGxpa8OzdyBJU08iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMSBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiYsWCxIVkIG9kY3p5dHUgJXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAibGljemJhIHNla3RvcsOzdzogJWQsIHJvem1pYXIgc2VrdG9yYTogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDxwbGlrX29icmF6dV9pc285NjYwPiAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgZMWCdWdvxZtjaSBzeXN0ZW11IHBsaWvDs3cgSVNPLTk2NjAuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj08bGljemJhPiAgcG9kemllbGVuaWUgbGljemJ5IGJhanTDs3cgcHJ6ZXogPGxpY3pixJk+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgd3lwaXNhbmllIGxpY3pieSBzZWt0b3LDs3cgaSBpY2ggcm96bWlhcnVcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRueSBwb2R6aWVsbmlrIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJTa8WCYWRuaWE6ICVzIFtvcGNqZV0gdXJ6xIVkemVuaWUgW2xpY3piYS1ibG9rw7N3XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVHdvcnplbmllIHN5c3RlbXUgcGxpa8OzdyBTQ08gYmZzLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjamU6XG4iCisiIC1OLCAtLWlub2Rlcz1JTEUgICAgb2tyZcWbbGVuaWUgcG/FvMSFZGFuZWogbGljemJ5IGktd8SZesWCw7N3XG4iCisiIC1WLCAtLXZuYW1lPU5BWldBICAgb2tyZcWbbGVuaWUgbmF6d3kgd29sdW1lbnVcbiIKKyIgLUYsIC0tZm5hbWU9TkFaV0EgICBva3JlxZtsZW5pZSBuYXp3eSBzeXN0ZW11IHBsaWvDs3dcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICB3eWphxZtuaWFuaWUgd3lrb255d2FueWNoIGN6eW5ub8WbY2lcbiIKKyIgLWMgICAgICAgICAgICAgICAgICBvcGNqYSBwbyBjaWNodSBpZ25vcm93YW5hXG4iCisiIC1sICAgICAgICAgICAgICAgICAgb3BjamEgcG8gY2ljaHUgaWdub3Jvd2FuYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAibmF6d2Egd29sdW1pbnUgemEgZMWCdWdhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5hendhIHN5c3RlbXUgcGxpa8OzdyB6YSBkxYJ1Z2EiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgYmxva8OzdyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgcG9icmHEhyByb3ptaWFydSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYXJndW1lbnQgbGljemJhLWJsb2vDs3cgemEgZHXFvHksIG1ha3NpbXVtIHRvICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJ6YSBkdcW8byBpLXfEmXrFgsOzdyAtIG1ha3NpbXVtIHRvIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJ6YSBtYcWCbyBtaWVqc2NhLCBwb3RyemViYSBjbyBuYWptbmllaiAlbGx1IGJsb2vDs3ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJVcnrEhWR6ZW5pZTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJXb2x1bWluOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJOYXp3YUZTOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIlJvem1pYXJCbG9rdTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSS13xJl6xYLDs3c6ICVsZCAodyAxIGJsb2t1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSS13xJl6xYLDs3c6ICVsZCAodyBibG9rYWNoOiAlbGx1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9rw7N3OiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIktvbmllYyBpLXfEmXrFgsOzdzogJWQsIEtvbmllYyBkYW55Y2g6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImLFgsSFZCB6YXBpc3Ugc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiYsWCxIVkIHphcGlzdSBnxYLDs3duZWdvIGktd8SZesWCYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4OAorbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgImLFgsSFZCB6YXBpc3UgaS13xJl6xYJhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiYsWCxIVkIHByemVtaWVzemN6YW5pYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiYsWCxIVkIHphcGlzdSB3cGlzdSAnLiciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDEKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICJixYLEhWQgemFwaXN1IHdwaXN1ICcuLiciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiYsWCxIVkIHphbXlrYW5pYSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWy10IDx0eXA+XSBbb3BjamUtZnNdIDx1cnrEhWR6ZW5pZT4gWzxyb3ptaWFyPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVHdvcnplbmllIGxpbnVrc293ZWdvIHN5c3RlbXUgcGxpa8Ozdy5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC10LCAtLXR5cGU9PHR5cGU+ICBmaWxlc3lzdGVtIHR5cGU7IHdoZW4gdW5zcGVjaWZpZWQsIGV4dDIgaXMgdXNlZFxuIgorbXNnc3RyICIgLXQsIC0tdHlwZT08dHlwPiAgIHR5cCBzeXN0ZW11IHBsaWvDs3c7IGRvbXnFm2xuaWUgdcW8eXdhbnkgamVzdCBleHQyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgb3BjamUtZnMgICAgICAgcGFyYW1ldHJ5IGZha3R5Y3puZWdvIHByb2dyYW11IHR3b3J6xIVjZWdvIHN5c3RlbSBwbGlrw7N3XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8dXJ6xIVkemVuaWU+ICAgxZtjaWXFvGthIGRvIHVyesSFZHplbmlhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8cm96bWlhcj4gICAgICBsaWN6YmEgYmxva8OzdyB1cnrEhWR6ZW5pYSBkbyB3eWtvcnp5c3RhbmlhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIHd5amHFm25pYW5pZSB3eWtvbnl3YW55Y2ggY3p5bm5vxZtjaTsgcG9kYW5pZSB0ZWogb3BjamlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgd2nEmWNlaiBuacW8IHJheiBwb3dvZHVqZSB1cnVjaG9taWVuaWUgYmV6IGZha3R5Y3puZWogYWtjamlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVydWNob21pxIcgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXNcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiU2vFgmFkbmlhOiAlcyBbLWhdIFstdl0gWy1iIHJvem1ibG9rdV0gWy1lIGVkeWNqYV0gWy1OIGVuZGlhbl0gWy1pIHBsaWtdIFstbiBuYXp3YV0ga2F0YWxvZyBwbGlrX3d5alxuIgorIiAtdiAgICAgICAgICAgIHdpxJlrc3phIGxpY3piYSBrb211bmlrYXTDs3dcbiIKKyIgLUUgICAgICAgICAgICB1Y3p5bmllbmllIHdzenlzdGtpY2ggb3N0cnplxbxlxYQgYsWCxJlkYW1pIChuaWV6ZXJvd3kga29kIHd5asWbY2lhKVxuIgorIiAtYiByb3ptYmxva3UgIHXFvHljaWUgdGVnbyByb3ptaWFydSBibG9rdSwgbXVzaSBiecSHIHLDs3dueSByb3ptaWFyb3dpIHN0cm9ueVxuIgorIiAtZSBlZHljamEgICAgIHVzdGF3aWVuaWUgbnVtZXJ1IGVkeWNqaSAoY3rEmcWbxIcgZnNpZGEpXG4iCisiIC1OIGVuZGlhbiAgICAga29sZWpub8WbxIcgYmFqdMOzdyB3IHPFgm93aWUgKGJpZ3xsaXR0bGV8aG9zdCksIGRvbXnFm2xuaWUgaG9zdFxuIgorIiAtaSBwbGlrICAgICAgIHdzdGF3aWVuaWUgb2JyYXp1IHBsaWt1IGRvIHN5c3RlbXUgcGxpa8OzdyAod3ltYWdhID49IDIuNC4wKVxuIgorIiAtbiBuYXp3YSAgICAgIHVzdGF3aWVuaWUgbmF6d3kgc3lzdGVtdSBwbGlrw7N3IGNyYW1mc1xuIgorIiAtcCAgICAgICAgICAgIHd5csOzd25hbmllIGRvICVkIGJhanTDs3cgZGxhIGtvZHUgcm96cnVjaG93ZWdvXG4iCisiIC1zICAgICAgICAgICAgc29ydG93YW5pZSB3cGlzw7N3IHcga2F0YWxvZ3UgKHN0YXJhIG9wY2phLCBpZ25vcm93YW5hKVxuIgorIiAteiAgICAgICAgICAgIHR3b3J6ZW5pZSBqYXdueWNoIGR6aXVyICh3eW1hZ2EgPj0gMi4zLjM5KVxuIgorIiBrYXRhbG9nICAgICAgIGfFgsOzd255IGthdGFsb2cgc3lzdGVtdSBwbGlrw7N3IGRvIGtvbXByZXNqaVxuIgorIiBwbGlrX3d5aiAgICAgIHBsaWsgd3lqxZtjaW93eVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rIG5pZSBwb3dpb2TFgm8gc2nEmTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIGthdGFsb2d1ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgInN5c3RlbSBwbGlrw7N3IHphIGR1xbx5LiBaYWtvxYRjemVuaWUuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQcWBQUFBOiBibG9rIFwic2tvbXByZXNvd2FueVwiIGRvID4gMipkxYJ1Z2/Fm8SHIGJsb2t1ICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQgYmFqdMOzdylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgemFta27EhcSHIHBsaWt1ICclcyciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRueSBudW1lciBlZHljamkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgInBvZGFubyBixYLEmWRuxIUga29sZWpub8WbxIcgYmFqdMOzdyB3IHPFgm93aWU7IG11c2kgYnnEhyBqZWRuxIUgeiAnYmlnJywgJ2xpdHRsZScgbHViICdob3N0JyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgInV3YWdhOiBzemFjb3dhbnkgd3ltYWdhbnkgcm96bWlhciAoZ8Ozcm5hIGdyYW5pY2EpIHRvICVsbGRNQiwgYWxlIG1ha3N5bWFsbnkgcm96bWlhciBvYnJhenUgdG8gJXVNQi4gUHJvZ3JhbSBtb8W8ZSB6Z2luxIXEhyBwcnplZHdjemXFm25pZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJNYXBhIG9icmF6dSBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJEb8WCxIVjemFuaWU6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJEYW5lIGthdGFsb2d1OiAlemQgYmFqdMOzd1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAixYHEhWN6bmllOiAlemQga2lsb2JhanTDs3dcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyYmxvY2s6ICV6ZCBiYWp0w7N3XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAicHJ6eWR6aWVsb25vIHphIG1hxYJvIG1pZWpzY2EgbmEgb2JyYXogUk9NIChwcnp5ZHppZWxvbm8gJWxsZCwgdcW8eXRvICV6dSkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgImLFgsSFZCB6YXBpc3Ugb2JyYXp1IFJPTSAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIm9icmF6IFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAidXdhZ2E6IG5hend5IHBsaWvDs3cgc2tyw7Njb25lIGRvICV1IGJhanTDs3cuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJ1d2FnYTogcG9taW5pxJl0byBwbGlraSB6IHBvd29kdSBixYLEmWTDs3cuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAidXdhZ2E6IHptbmllanN6b25vIHJvem1pYXJ5IHBsaWvDs3cgZG8gJWx1TUIgKG1pbnVzIDEgYmFqdCkuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTExCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHVpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgInV3YWdhOiB1aWR5IHNrcsOzY29uZSBkbyAldSBiaXTDs3cgKG1vxbxlIHRvIHJ6dXRvd2HEhyBuYSBiZXpwaWVjemXFhHN0d28pLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ1d2FnYTogZ2lkeSBza3LDs2NvbmUgZG8gJXUgYml0w7N3IChtb8W8ZSB0byByenV0b3dhxIcgbmEgYmV6cGllY3plxYRzdHdvKS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIlVXQUdBOiBudW1lcnkgdXJ6xIVkemXFhCBza3LDs2NvbmUgZG8gJXUgYml0w7N3LiBQcmF3aWUgbmEgcGV3bm8gb3puYWN6YSB0bywgxbxlXG4iCisia3TDs3JlxZsgcGxpa3UgdXJ6xIVkemXFhCBixJlkxIUgbmlld8WCYcWbY2l3ZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSAvZGV2L25hendhIFtibG9raV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgIHXFvHljaWUgd2Vyc2ppIDEgTWluaWtzYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdcW8eWNpZSB3ZXJzamkgMiBNaW5pa3NhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1xbx5Y2llIHdlcnNqaSAzIE1pbmlrc2FcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA8aWxlPiAgbWFrc3ltYWxuYSBkxYJ1Z2/Fm8SHIG5hencgcGxpa8Ozd1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDQKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWlub2RlcyA8bGljemJhPiAgIGxpY3piYSBpLXfEmXrFgsOzdyB3IHN5c3RlbWllIHBsaWvDs3dcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIHNwcmF3ZHplbmllIHVyesSFZHplbmlhIHBvZCBrxIV0ZW0gd2FkbGl3eWNoIGJsb2vDs3dcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA8cGxpaz4gIGxpc3RhIHdhZGxpd3ljaCBibG9rw7N3IHogcGxpa3VcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBwcnplbWllc3pjemVuaWUgbmEgYmxvayByb3pydWNob3d5IG5pZSBwb3dpb2TFgm8gc2nEmSB3ZSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHd5Y3p5xZtjacSHIHNla3RvcmEgcm96cnVjaG93ZWdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgd2Ugd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6YXBpc2HEhyBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgbWFweSBpLXfEmXrFgsOzdyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgbWFweSBzdHJlZiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHphcGlzYcSHIGktd8SZesWCw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogcHJ6ZW1pZXN6Y3plbmllIG5pZSBwb3dpb2TFgm8gc2nEmSB3ZSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiB6YXBpcyBuaWUgcG93acOzZMWCIHNpxJkgd2Ugd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHpieXQgZHXFvG8gd2FkbGl3eWNoIGJsb2vDs3ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHpieXQgbWHFgm8gZG9icnljaCBibG9rw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisiUGllcndzenkgYmxvayBkYW55Y2ggcG9kICVqZCwgYSB0byB6YSBkYWxla28gKG1ha3NpbXVtICVkKS5cbiIKKyJNb8W8bmEgc3Byw7Nib3dhxIcgcG9kYcSHIG1uaWVqIGktd8SZesWCw7N3IG9wY2rEhSAtLWlub2RlcyA8bGljemJhPiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpLXfEmXplxYJcbiIKK21zZ3N0clsxXSAiJWx1IGktd8SZesWCeVxuIgorbXNnc3RyWzJdICIlbHUgaS13xJl6xYLDs3c6XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUgYmxva1xuIgorbXNnc3RyWzFdICIlbHUgYmxva2lcbiIKK21zZ3N0clsyXSAiJWx1IGJsb2vDs3dcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJab25lc2l6ZT0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBwcnplbWllc3pjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZIHBvZGN6YXMgc3ByYXdkemFuaWEgYmxva8OzdyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJEeml3bmEgd2FydG/Fm8SHIHcgZG9fY2hlY2s6IHByYXdkb3BvZG9ibmllIGLFgsSZZHlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiBwcnplbWllc3pjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZIHcgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgIiVzOiB3YWRsaXdlIGJsb2tpIHByemVkIG9ic3phcmVtIGRhbnljaDogbmllIG1vxbxuYSB1dHdvcnp5xIcgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIHdhZGxpd3kgYmxva1xuIgorbXNnc3RyWzFdICIlZCB3YWRsaXdlIGJsb2tpXG4iCittc2dzdHJbMl0gIiVkIHdhZGxpd3ljaCBibG9rw7N3XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIG90d29yennEhyBwbGlrdSB6IHdhZGxpd3ltaSBibG9rYW1pIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiYsWCxJlkbnkgbnVtZXIgd2FkbGl3ZWdvIGJsb2t1IHcgbGluaWkgJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IG5pZSBtb8W8bmEgb2Rjenl0YcSHIHBsaWt1IHdhZGxpd3ljaCBibG9rw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgInJvem1pYXIgYmxva3UgbW5pZWpzenkgbmnFvCByb3ptaWFyIGZpenljem5lZ28gc2VrdG9yYSBuYSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBva3JlxZtsacSHIHJvem1pYXJ1ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXM6IMW8xIVkYW5hIGxpY3piYSBibG9rw7N3ICglbGx1KSBwcnpla3JhY3phIGxpY3pixJkgZG9zdMSZcG55Y2ggYmxva8OzdyAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGxpY3piYSBibG9rw7N3IHpieXQgbWHFgmEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5hIGTFgnVnb8WbxIcgbmF6dzogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FuYSB3ZXJzamEgc3lzdGVtdSBwbGlrw7N3IG1pbml4OiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICItdiBqZXN0IG5pZWplZG5vem5hY3puZSwgbmFsZcW8eSB1xbx5d2HEhyAnLTInIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIG1ha3N5bWFsbmVqIGTFgnVnb8WbY2kgbmF6dyBwbGlrw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaWN6YnkgaS13xJl6xYLDs3ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIGxpY3pieSBibG9rw7N3IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGplc3QgemFtb250b3dhbnk7IG9kbW93YSB1dHdvcnplbmlhIHRhbSBzeXN0ZW11IHBsaWvDs3chIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIkLFgsSZZG55IHBvZGFueSBwcnpleiB1xbx5dGtvd25pa2Egcm96bWlhciBzdHJvbnkgJXUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIlXFvHljaWUgcG9kYW5lZ28gcHJ6ZXogdcW8eXRrb3duaWthIHJvem1pYXJ1IHN0cm9ueSAlZCB6YW1pYXN0IHN5c3RlbW93ZWdvICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJFdHlraWV0YSB6b3N0YcWCYSBza3LDs2NvbmEuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJicmFrIGV0eWtpZXR5LCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAiYnJhayB1dWlkYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTa8WCYWRuaWE6XG4iCisiICVzIFtvcGNqZV0gdXJ6xIVkemVuaWUgW3Jvem1pYXJdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUzCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJUd29yemVuaWUgbGludWtzb3dlZ28gb2JzemFydSB3eW1pYW55LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2plOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIHRlc3QgYsWCxJlkbnljaCBibG9rw7N3IHByemVkIHV0dy4gb2JzemFydSB3eW1pYW55XG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgemV6d29sZW5pZSBuYSBvYnN6YXIgd3ltaWFueSB3acSZa3N6eSBuacW8IHVyesSFZHplbmllXG4iCisiIC1wLCAtLXBhZ2VzaXplIFJPWk1JQVIgICAgb2tyZcWbbGVuaWUgcm96bWlhcnUgc3Ryb255IHcgYmFqdGFjaFxuIgorIiAtTCwgLS1sYWJlbCBFVFlLSUVUQSAgICAgIG9rcmXFm2xlbmllIGV0eWtpZXR5XG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTUVSICAgb2tyZcWbbGVuaWUgbnVtZXJ1IHdlcnNqaSBvYnN6YXJ1IHd5bWlhbnlcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBva3JlxZtsZW5pZSB1dWlkYSBkbyB1xbx5Y2lhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICJ6YSBkdcW8byB3YWRsaXd5Y2ggc3Ryb246ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgInByemVtaWVzemN6ZW5pZSBuaWUgcG93aW9kxYJvIHNpxJkgdyBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSB3YWRsaXdhIHN0cm9uYVxuIgorbXNnc3RyWzFdICIlbHUgd2FkbGl3ZSBzdHJvbnlcbiIKK21zZ3N0clsyXSAiJWx1IHdhZGxpd3ljaCBzdHJvblxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgbm93ZWogc29uZHkgbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5cGlzYcSHIHVyesSFZHplbmlhIGRvIHNvbmR5IGxpYmJsa2lkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJ1d2FnYTogc3ByYXdkemFuaWUgd2FkbGl3eWNoIGJsb2vDs3cgeiBwbGlrdSB3eW1pYW55IG5pZSBqZXN0IG9ic8WCdWdpd2FuZTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYzIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg5IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM2Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemV3aW7EhcSHIHVyesSFZHplbmlhIHN3YXBhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MgorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN1bsSFxIcgc2VrdG9yw7N3IHJvenJ1Y2hvd3ljaCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IHV3YWdhOiB1c3V3YW5pZSBzdGFyZWogc3lnbmF0dXJ5ICVzLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVzOiB1d2FnYTogbmllIHVzdW5pxJl0byBzZWt0b3LDs3cgcm96cnVjaG93eWNoIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKHd5a3J5dG8gdGFibGljxJkgcGFydHljamkgJXMpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKHpidWRvd2FubyBiZXogbGliYmxraWQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiVyBjZWx1IHd5bXVzemVuaWEgbW/FvG5hIHXFvHnEhyBvcGNqaSAtZi5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6YXBpc2HEhyBzdHJvbnkgc3lnbmF0dXJ5IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyByb3ptaWFydSBzdHJvbnkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbnVtZXJ1IHdlcnNqaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAib2JzemFyIHd5bWlhbnkgdyB3ZXJzamkgJWQgbmllIGplc3Qgb2JzxYJ1Z2l3YW55IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAidXdhZ2E6IHppZ25vcm93YW5vIC1VIChVVUlELXkgbmllIHPEhSBvYnPFgnVnaXdhbmUgcHJ6ZXogJXMpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICJvYmVjbmllIG9ic8WCdWdpd2FueSBqZXN0IHR5bGtvIGplZGVuIGFyZ3VtZW50IGLEmWTEhWN5IHVyesSFZHplbmllbSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiYsWCxIVkOiBhbmFsaXphIFVVSUQtYSBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMyCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJixYLEhWQ6IE5pZSBtYSBnZHppZSB1dHdvcnp5xIcgb2JzemFydSB3eW1pYW55PyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBsaWN6YmEgYmxva8OzdyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiYsWCxIVkOiByb3ptaWFyICVsbHUgS2lCIGplc3Qgd2nEmWtzenkgbmnFvCByb3ptaWFyIHVyesSFZHplbmlhICU8UFJJdTY0PiBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiYsWCxIVkOiBvYnN6YXIgd3ltaWFueSBtdXNpIG1pZcSHIHByenluYWptbmllaiAlbGQgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAidXdhZ2E6IHptbmllanN6b25vIHJvem1pYXIgd3ltaWFueSBkbyAlbGx1IEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICJixYLEhWQ6ICVzIGplc3QgemFtb250b3dhbnk7IG9kbW93YSB1dHdvcnplbmlhIG9ic3phcnUgd3ltaWFueSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogbmllYmV6cGllY3puZSB1cHJhd25pZW5pYSAlMDRvLCBwb3dpbm5vIGJ5xIcgJTA0by4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBuaWViZXpwaWVjem55IHfFgmHFm2NpY2llbCBwbGlrdSAlZCwgc3VnZXJvd2FueSAwIChyb290KS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIG9ic3phcnUgd3ltaWFueTogbmllY3p5dGVsbnkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICJUd29yemVuaWUgb2JzemFydSB3eW1pYW55IHcgd2Vyc2ppICVkLCByb3ptaWFyID0gJXMgKGJhanTDs3c6ICU8UFJJdTY0PilcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHV6eXNrYcSHIGV0eWtpZXR5IHBsaWt1IFNFTGludWtzYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIm1hdGNocGF0aGNvbigpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcgbm93ZWdvIGtvbnRla3N0dSBTRUxpbnVrc2EiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIyCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB3eWxpY3p5xIcga29udGVrc3R1IFNFTGludWtzYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplZXR5a2lldG93YcSHICVzIG5hICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJudW1lciBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJwb2N6xIV0ZWsgcGFydHljamkgdyBzZWt0b3JhY2giCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImtvbmllYyBwYXJ0eWNqaSB3IHNla3RvcmFjaCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgImxpY3piYSBzZWt0b3LDs3ciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgInJvem1pYXIgdyBwb3N0YWNpIGN6eXRlbG5laiBkbGEgY3rFgm93aWVrYSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm5hendhIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiVVVJRCBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICJ0eXAgdGFibGljeSBwYXJ0eWNqaSAoZG9zLCBncHQuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiZmxhZ2kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICJ0eXAgcGFydHljamkgKMWCYcWEY3VjaCwgVVVJRCBsdWIgc3plc25hc3Rrb3dvKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgbG9vcGN0eCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIG9kbmFsZcW6xIcgxbxhZG5lZ28gbmllIHXFvHl3YW5lZ28gdXJ6xIVkemVuaWEgbG9vcCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJQcsOzYmEgdcW8eWNpYSAnJXMnIGpha28gdXJ6xIVkemVuaWEgbG9vcFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gdXN0YXdpxIcgcG93acSFemFuZWdvIHBsaWt1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHNrb25maWd1cm93YcSHIHVyesSFZHplbmlhIGxvb3AiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIm5pZXpuYW5hIGtvbHVtbmE6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgbnVtZXJ1IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJwb2RhbnkgcHJ6ZWR6aWHFgiA8JWQ6JWQ+IG5pZSBtYSBzZW5zdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAicHJ6ZWxpY3plbmllIHJvem1pYXJ1OiBtYWtzLiBudW1lciBwYXJ0eWNqaT0lZCwgZG9sbnk9JWQsIGfDs3JueT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBixYLEhWQgdXN1d2FuaWEgcGFydHljamkgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBixYLEhWQgdXN1d2FuaWEgcGFydHljamkgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogdXN1bmnEmXRvIHBhcnR5Y2rEmSAjJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAjJWQgbmllIGlzdG5pZWplXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogdXN1bmnEmWNpZSBwYXJ0eWNqaSAjJWQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogYsWCxIVkIHBvZGN6YXMgZG9kYXdhbmlhIHBhcnR5Y2ppICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGLFgsSFZCBwb2RjemFzIGRvZGF3YW5pYSBwYXJ0eWNqaSAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIiVzOiBkb2Rhbm8gcGFydHljasSZICMlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBkb2RhbmllIHBhcnR5Y2ppICMlZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGLFgsSFZCBha3R1YWxpemFjamkgcGFydHljamkgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBixYLEhWQgYWt0dWFsaXphY2ppIHBhcnR5Y2ppICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIlczogYnJhayBwYXJ0eWNqaSAjJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczogem1pZW5pb25vIHJvem1pYXIgcGFydHljamkgIyVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVwZGF0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogYWt0dWFsaXphY2phIHBhcnR5Y2ppICMlZCBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWt0b3IsICU2anUgTUIpXG4iCittc2dzdHJbMV0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWt0b3J5LCAlNmp1IE1CKVxuIgorbXNnc3RyWzJdICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VrdG9yw7N3LCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyBrb2x1bW55IHd5asWbY2lvd2VqIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphaW5pY2pvd2HEhyBmaWx0cmEgYmxraWQgZGxhICclcyciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgdGFibGljeSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczogd3lrcnl0byB0YWJsaWPEmSBwYXJ0eWNqaSB0eXB1ICclcydcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IHRhYmxpY2EgcGFydHljamkgYmV6IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0eWNqYT5dIDxkeXNrPlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU3Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIlBvd2lhZG9taWVuaWUgasSFZHJhIG8gb2JlY25vxZtjaSBpIG51bWVyYWNqaSBwYXJ0eWNqaS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1hLCAtLWFkZCAgICAgICAgICAgIGRvZGFuaWUgcG9kYW55Y2ggcGFydHljamkgbHViIHdzenlzdGtpY2hcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIHVzdW5pxJljaWUgcG9kYW55Y2ggcGFydHljamkgbHViIHdzenlzdGtpY2hcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgIGFrdHVhbGl6YWNqYSBwb2RhbnljaCBwYXJ0eWNqaSBsdWIgd3N6eXN0a2ljaFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0YSBwYXJ0eWNqaVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwIHN5cy11dGlscy9sc21lbS5jOjUwNQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiIC1iLCAtLWJ5dGVzICAgICAgICAgIHd5cGlzeXdhbmllIHJvem1pYXLDs3cgdyBiYWp0YWNoIHphbWlhc3QgZm9ybWF0dVxuIgorIiAgICAgICAgICAgICAgICAgICAgICBjenl0ZWxuZWdvIGRsYSBjesWCb3dpZWthXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8OzdyBwcnp5IC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bjptPiAgICAgICBva3JlxZtsZW5pZSBwcnplZHppYcWCdSBwYXJ0eWNqaSAobnAuIC0tbnIgMjo0KVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+IG9rcmXFm2xlbmllIGtvbHVtbiBkbyB3eXBpc2FuaWEgbmEgd3lqxZtjaXVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBrbHVjej1cIndhcnRvxZvEh1wiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBzdXJvd3ltXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9yLXNpemUgPHJvem1pYXI+ICB3eW11c3plbmllIHJvem1pYXJ1IHNla3RvcmFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8dHlwPiAgICAgb2tyZcWbbGVuaWUgdHlwdSBwYXJ0eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcyCittc2dpZCAiICAgICAtLWxpc3QtdHlwZXMgICAgIGxpc3Qgc3VwcG9ydGVkIHBhcnRpdGlvbiB0eXBlcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdGEgb2JzxYJ1Z2l3YW55Y2ggdHlww7N3IHBhcnR5Y2ppIGkgemFrb8WEY3plbmllXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzMgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEwMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIHRyeWIgc3pjemVnw7PFgm93eVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgcHJ6ZWR6aWHFgnUgLS1uciA8TS1OPiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAibmF6d2EgcGFydHljamkgaSBkeXNrdSBuaWUgemdhZHphasSFIHNpxJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5yIGkgPHBhcnR5Y2phPiB3eWtsdWN6YWrEhSBzacSZIHd6YWplbW5pZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJ0aXRpb246ICVzLCBkaXNrOiAlcywgbG93ZXI6ICVkLCB1cHBlcjogJWRcbiIKK21zZ3N0ciAicGFydHljamE6ICVzLCBkeXNrOiAlcywgcG9jesSFdGVrOiAlZCwga29uaWVjOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogbmllIG1vxbxuYSB1c3VuxIXEhyBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IHBhcnR5Y2pvbm93YW5pZSB1cnrEhWR6ZcWEIGxvb3AgbmllIGplc3Qgb2JzxYJ1Z2l3YW5lIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHphaW5pY2pvd2HEhyBwcsOzYm5pa2EgYmxraWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyJTa8WCYWRuaWE6XG4iCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88dXJ6xIVkemVuaWUtYmxva293ZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJEb3dpxIV6YW5pZSBzdXJvd2VnbyB1cnrEhWR6ZW5pYSB6bmFrb3dlZ28gZG8gdXJ6xIVkemVuaWEgYmxva293ZWdvLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWVyeSAgICB1c3Rhd2llbmllIHRyeWJ1IHphcHl0YW5pYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgb2RweXRhbmllIHdzenlzdGtpY2ggdXJ6xIVkemXFhCBzdXJvd3ljaFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIlVyesSFZHplbmllICclcycgamVzdCBzdGVydWrEhWN5bSB1cnrEhWR6ZW5pZW0gc3Vyb3d5bSAobmFsZcW8eSB1xbx5xIcgcmF3PE4+LCBnZHppZSA8Tj4gamVzdCB3acSZa3N6ZSBvZCB6ZXJhKSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTmllIG1vxbxuYSB6bG9rYWxpem93YcSHIHVyesSFZHplbmlhIGJsb2tvd2VnbyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIlVyesSFZHplbmllICclcycgbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgYXJndW1lbnR1IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJOaWUgbW/FvG5hIG90d29yennEhyBuYWRyesSZZG5lZ28gdXJ6xIVkemVuaWEgc3Vyb3dlZ28gJyVzJyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIk5pZSBtb8W8bmEgemxva2FsaXpvd2HEhyB1cnrEhWR6ZW5pYSBzdXJvd2VnbyAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiVXJ6xIVkemVuaWUgc3Vyb3dlICclcycgbmllIGplc3QgdXJ6xIVkemVuaWVtIHpuYWtvd3ltIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICJVcnrEhWR6ZW5pZSAnJXMnIG5pZSBqZXN0IHVyesSFZHplbmllbSBzdXJvd3ltIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkLFgsSFZCBvZHB5dHl3YW5pYSB1cnrEhWR6ZW5pYSBzdXJvd2VnbyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAgcHJ6eXBpc2FubyBkbyB1cnrEhWR6ZW5pYSBtYWpvciAlZCwgbWlub3IgJWRcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkLFgsSFZCB1c3Rhd2lhbmlhIHVyesSFZHplbmlhIHN1cm93ZWdvIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDx1cnrEhWR6ZW5pZSBkeXNrb3dlPiA8bnVtZXIgcGFydHljamk+IDxkxYJ1Z2/Fm8SHPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyNAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIlBvd2lhZG9taWVuaWUgasSFZHJhIG8gbm93eW0gcm96bWlhcnplIHBhcnR5Y2ppLlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBudW1iZXIgJXMiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgcG9jesSFdGt1IHBhcnR5Y2ppIG51bWVyICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTEKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHptaWVuacSHIHJvem1pYXJ1IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyB6YWduaWXFvGTFvG9uZWdvIGtvbnRla3N0dSBsaWJmZGlzayIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgcHJ6ZW1pZcWbY2nEhyAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDMgbGliZmRpc2svc3JjL2JzZC5jOjcyMiBsaWJmZGlzay9zcmMvYnNkLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSB6YXBpc2HEhyAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzIChvZmZzZXQgJTVqdSwgcm96bWlhciAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHV0d29yennEhyBrb3BpaSB6YXBhc293ZWoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcga29waWkgemFwYXNvd2VqIHBsaWt1IC0gJEhPTUUgbmllIGplc3QgemRlZmluaW93YW5lIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NQorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIlBsaWtpIGtvcGlpIHphcGFzb3d5Y2g6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgd2N6eXRhxIcgbm93ZWogcGFydHljamkgeiB1cnrEhWR6ZW5pYTsgemlnbm9yb3dhbm8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHV6eXNrYcSHIHJvem1pYXJ1IG5vd2VqIHBhcnR5Y2ppOyB6aWdub3Jvd2FubyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHV6eXNrYcSHIHBvY3rEhXRrdSBub3dlaiBwYXJ0eWNqaTsgemlnbm9yb3dhbm8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHV6eXNrYcSHIHJvem1pYXJ1IHN0YXJlaiBwYXJ0eWNqaTsgemlnbm9yb3dhbm8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1enlza2HEhyBwb2N6xIV0a3Ugc3RhcmVqIHBhcnR5Y2ppOyB6aWdub3Jvd2FubyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBvY3rEhXRlayBwYXJ0eWNqaSBuaWUgem9zdGHFgiBwcnplbmllc2lvbnk7IHppZ25vcm93YW5vIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibm93YSBwYXJ0eWNqYSBqZXN0IG1uaWVqc3phIG5pxbwgcGllcndvdG5hOyB6aWdub3Jvd2FubyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICJQcnplbm9zemVuaWUgZGFueWNoOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiBwbGlrIHNrcnlwdHU6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIgc3RhcnkgcG9jesSFdGVrOiAlanUsIG5vd3kgcG9jesSFdGVrOiAlanUgKHByemVuaWVzaWVuaWUgJWp1IHNla3RvcsOzdylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiQ3p5IHByemVuaWXFm8SHIGRhbmUgcGFydHljamk/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiUG96b3N0YXdpb25vLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgcHJ6ZW5pZcWbxIcgZGFueWNoIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICJUYWJsaWNhIHBhcnR5Y2ppIG5pZSB6b3N0YcWCYSB6bWllbmlvbmEgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyJUYWJsaWNhIHBhcnR5Y2ppIHpvc3RhxYJhIHptb2R5Zmlrb3dhbmEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5hIGV0eWtpZXRhICclcyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjM0Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCAgTmF6d2FcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NjQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgIm5pZXJvenBvem5hbnkgdHlwIHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiTmllIG1vxbxuYSBwb2JyYcSHIHJvem1pYXJ1ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJyYXplbTogJWp1IGJsb2vDs3dcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4OTQgZGlzay11dGlscy9zZmRpc2suYzo5MzUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzMiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwOTYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMDcgZGlzay11dGlscy9zZmRpc2suYzoxNTYxCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIHVyesSFZHplbmlhIGR5c2tvd2VnbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgIm5pZSBtb8W8bmEgcHJ6ZcWCxIVjennEhyBuYSBQTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMgorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9yIFBNQlIgb25seSIKK21zZ3N0ciAiem1pYW5hIGZsYWcgcm96cnVjaHUgamVzdCBvYnPFgnVnaXdhbmUgdHlsa28gZGxhIE1CUiBsdWIgUE1CUiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NjcgZGlzay11dGlscy9zZmRpc2suYzo5MTQgZGlzay11dGlscy9zZmRpc2suYzoxMDM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDEgZGlzay11dGlscy9zZmRpc2suYzoxMTU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIG51bWVydSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczogcGFydHljamEgJWQ6IG5pZSB1ZGHFgm8gc2nEmSB6bWllbmnEhyBmbGFnaSByb3pydWNodSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAlenU6IG5pZSB1ZGHFgm8gc2nEmSB1c3VuxIXEhyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6IG5pZSB6YXdpZXJhIMW8YWRuZWogem5hbmVqIHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIHN0cnVrdHVyeSB6cnp1dHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgd3lrb25hxIcgenJ6dXR1IHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogbmllIHpuYWxlemlvbm8gdGFibGljeSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IHBhcnR5Y2phICV6dTogdGFibGljYSBwYXJ0eWNqaSB6YXdpZXJhIG1uaWVqIHBhcnR5Y2ppICglenUpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAlenU6IHBhcnR5Y2phIG5pZSBqZXN0IHXFvHl3YW5hIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIm5pZSBwb2Rhbm8gbnVtZXJ1IHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIm5pZW9jemVraXdhbmUgYXJndW1lbnR5IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwYXJ0eWNqYSAlenU6IG5pZSB1ZGHFgm8gc2nEmSBwb2JyYcSHIHR5cHUgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyB0eXB1IHBhcnR5Y2ppICVzICclcyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IHBhcnR5Y2phICV6dTogbmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHR5cHUgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBhcnR5Y2phICV6dTogbmllIHVkYcWCbyBzacSZIHBvYnJhxIcgVVVJRC1hIHBhcnR5Y2ppIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIG9iaWVrdHUgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBhcnR5Y2phICV6dTogbmllIHVkYcWCbyBzacSZIHVzdGF3acSHIFVVSUQtYSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydHljamEgJXp1OiBuaWUgdWRhxYJvIHNpxJkgcG9icmHEhyBuYXp3eSBwYXJ0eWNqaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydHljamEgJXp1OiBuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgbmF6d3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6IHBhcnR5Y2phICV6dTogbmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGF0cnlidXTDs3cgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIFBvbGVjZW5pYTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICB6YXBpcyB0YWJsaWN5IHBhcnR5Y2ppIG5hIGR5c2sgaSB6YWtvxYRjemVuaWVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiAgIHF1aXQgICAgIHd5xZt3aWV0bGVuaWUgbm93ZWogc3l0dWFjamkgaSBvY3pla2l3YW5pZSBuYSByZWFrY2rEmSB1xbx5dGtvd25pa2EgcHJ6ZWQgemFwaXNlbVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICB6YWtvxYRjemVuaWUgcG93xYJva2kgc2ZkaXNrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICB3eXBpc2FuaWUgdGFibGljeSBwYXJ0eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgIHd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTUKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ3RybC1EICAgdG8gc2FtbywgY28gJ3F1aXQnXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBGb3JtYXQgd3lqxZtjaWE6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDxwb2N6xIV0ZWs+LCA8cm96bWlhcj4sIDx0eXA+LCA8cm96cnVjaD5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA0Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxwb2N6xIV0ZWs+ICBQb2N6xIV0ZWsgcGFydHljamkgdyBzZWt0b3JhY2ggbHViIGJhanRhY2gsIGplxZtsaSBwb2Rhbm9cbiIKKyIgICAgICAgICAgICAgICB3IGZvcm1hY2llIDxsaWN6YmE+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgICAgRG9tecWbbG5pZSBwaWVyd3N6ZSB3b2xuZSBtaWVqc2NlLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPHJvem1pYXI+ICAgUm96bWlhciBwYXJ0eWNqaSB3IHNla3RvcmFjaCBsdWIgYmFqdGFjaCwgamXFm2xpIHBvZGFub1xuIgorIiAgICAgICAgICAgICAgIHcgZm9ybWFjaWUgPGxpY3piYT57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICAgICBEb215xZtsbmllIGNhxYJlIGRvc3TEmXBuZSBtaWVqc2NlLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTQKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiAgIDx0eXA+ICAgIFR5cCBwYXJ0eWNqaS4gRG9tecWbbG5pZSBsaW51a3Nvd2EgcGFydHljamEgZGFueWNoLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTUKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYLFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgTUJSOiBzemVzbmFzdGtvd28gbHViIHNrcsOzdGVtIEwsUyxFLFgsVSxSLFYuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCBsdWIgc2tyw7N0ZW0gTCxTLEgsVSxSLFYuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA8cm96cnVjaD4gICAnKicgb3puYWN6YSBwYXJ0eWNqxJkgTUJSIGpha28gcm96cnVjaG93xIUuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyMworbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIgUHJ6eWvFgmFkOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjUKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgICwgNEcgICAgIFV0d29yemVuaWUgcGFydHljamkgNEdpQiBvZCBkb215xZtsbmVnbyBvZmZzZXR1IHBvY3rEhXRrb3dlZ28uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAicG9sZWNlbmllIG5pZSBvYnPFgnVnaXdhbmUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJsaW5pYSAlZDogcG9sZWNlbmllIG5pZSBvYnPFgnVnaXdhbmUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBzZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiU3RhcmEgc3lnbmF0dXJhICVzIG1vxbxlIHBvem9zdGHEhyBuYSB1cnrEhWR6ZW5pdS4gWmFsZWNhIHNpxJkgd3ltYXphxIcgdXJ6xIVkemVuaWUgcHJ6eSB1xbx5Y2l1IHdpcGVmcyg4KSBsdWIgc2ZkaXNrIC0td2lwZSwgYWJ5IHVuaWtuxIXEhyBtb8W8bGl3eWNoIGtvbGl6amkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgbmF6d3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyBuYWfFgsOzd2thIHNrcnlwdHUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIHptb2R5Zmlrb3dhxIcgcGFydHljamkgJWQ6IG5pZSB6bmFsZXppb25vIHRhYmxpY3kgcGFydHljamkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogbmllIG1vxbxuYSB6bW9keWZpa293YcSHIHBhcnR5Y2ppICVkOiB0YWJsaWNhIHBhcnR5Y2ppIGplc3QgbW5pZWpzemEgKCV6dSkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAidXdhZ2E6ICVzOiBuaWUgemRlZmluaW93YW5vIGplc3pjemUgcGFydHljamkgJWQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyJXaXRhbXkgdyBwcm9ncmFtaWUgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAiU3ByYXdkemFuaWUsIGN6eSBuaWt0IG5pZSB1xbx5d2EgdGVyYXogdGVnbyBkeXNrdS4uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBOSUUgVURBxYFPIFNJxJhcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJUZW4gZHlzayBqZXN0IGFrdHVhbG5pZSB1xbx5d2FueSAtIHJlcGFydHljam9ub3dhbmllIGplc3QgcmFjemVqIHrFgnltIHBvbXlzxYJlbS5cbiIKKyJQcm9zesSZIG9kbW9udG93YcSHIHdzenlzdGtpZSBzeXN0ZW15IHBsaWvDs3cgb3JheiB3ecWCxIVjennEhyBwYXJ0eWNqZSB3eW1pYW55XG4iCisieiB0ZWdvIGR5c2t1LlxuIgorIkFieSBwb21pbsSFxIcgdGVuIHRlc3QsIG1vxbxuYSB1xbx5xIcgZmxhZ2kgLS1uby1yZXJlYWQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJNb8W8bmEgdcW8ecSHIGZsYWdpIC0tZm9yY2UsIGFieSBwb21pbsSFxIcgd3N6eXN0a2llIHRlc3R5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiIE9LXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIlN0YXJhIHN5dHVhY2phOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIHV0d29yenkgbm93xIUgZXR5a2lldMSZIGR5c2t1ICclcycuXG4iCisiQWJ5IHptaWVuacSHIHR5cCBkb215xZtsbnksIG5hbGXFvHkgdcW8ecSHICdsYWJlbDogPG5hendhPidcbiIKKyJwcnplZCB6ZGVmaW5pb3dhbmllbSBwaWVyd3N6ZWogcGFydHljamkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQb2xlY2VuaWUgJ2hlbHAnIHd5xZt3aWV0bGkgd2nEmWNlaiBpbmZvcm1hY2ppLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiV3N6eXN0a2llIHBhcnR5Y2plIHPEhSB3IHXFvHljaXUuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICJHb3Rvd2UuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIlppZ25vcm93YW5vIHBhcnR5Y2rEmS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgbmFuaWXFm8SHIG5hZ8WCw7N3a8OzdyBza3J5cHR1LCBldHlraWV0YSBkeXNrdSBuaWUgem9zdGHFgmEgdXR3b3J6b25hLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIGRvZGHEhyBwYXJ0eWNqaSAjJWQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJOYWfFgsOzd2VrIHNrcnlwdHUgcHJ6eWrEmXR5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiTm93YSBzeXR1YWNqYToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIkN6eSB6YXBpc2HEhyB6bWlhbnkgbmEgZHlzaz8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNQorbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIlBvem9zdGF3aW9uby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNqZV0gPHVyesSFZHplbmllPiBbWy1OXSA8cGFydHljamE+XVxuIgorIiAlMSRzIFtvcGNqZV0gPHBvbGVjZW5pZT5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgLUEsIC0tYWN0aXZhdGUgPHVyej4gWzxwYXJ0PiAuLi5dIGxpc3RhIGx1YiB1c3Rhd2llbmllIHBhcnR5Y2ppIHJvenJ1Y2hvd3ljaCAoUClNQlJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3Cittc2dpZCAiIC1kLCAtLWR1bXAgPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSAodXNhYmxlIGZvciBsYXRlciBpbnB1dClcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgPHVyej4gICAgICAgICAgICAgICAgICB6cnp1dCB0YWJsaWN5IHBhcnR5Y2ppIChqYWtvIHDDs8W6bmllanN6ZSB3ZWrFm2NpZSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiA8dXJ6PiAgICAgICAgICAgICAgICAgIHpyenV0IHRhYmxpY3kgcGFydHljamkgdyBmb3JtYWNpZSBKU09OXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzx1cno+IC4uLl0gICBsaXN0YSBnZW9tZXRyaWkgd3N6eXN0a2ljaCBsdWIgcG9kYW55Y2ggdXJ6xIVkemXFhFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCBbPHVyej4gLi4uXSAgICAgICAgICAgIGxpc3RhIHBhcnR5Y2ppIGthxbxkZWdvIHVyesSFZHplbmlhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1GLCAtLWxpc3QtZnJlZSBbPHVyej4gLi4uXSAgICAgICBsaXN0YSB3b2xuZWdvIG1pZWpzY2Ega2HFvGRlZ28gdXJ6xIVkemVuaWFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLXIsIC0tcmVvcmRlciA8dXJ6PiAgICAgICAgICAgICAgIHBvcHJhd2llbmllIGtvbGVqbm/Fm2NpIHBhcnR5Y2ppICh3ZyBwb2N6xIV0a3UpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNob3ctc2l6ZSBbPHVyej4gLi4uXSAgICAgICBsaXN0YSByb3ptaWFyw7N3IHdzenlzdGtpY2ggbHViIHBvZGFueWNoIHVyesSFZHplxYRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHd5cGlzYW5pZSB6bmFueWNoIHR5cMOzdyAocC4gLVgpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgWzx1cno+IC4uLl0gICAgICAgICAgdGVzdCwgY3p5IHBhcnR5Y2plIHd5Z2zEhWRhasSFIHBvcHJhd25pZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiICAgICAtLWRlbGV0ZSA8dXJ6PiBbPHBhcnQ+IC4uLl0gICB1c3VuacSZY2llIHdzenlzdGtpY2ggbHViIHBvZGFueWNoIHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIgLS1wYXJ0LWxhYmVsIDx1cno+IDxwYXJ0PiBbPMWCYcWEYz5dIHd5cGlzYW5pZSBsdWIgem1pYW5hIGV0eWtpZXR5IHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtLXBhcnQtdHlwZSA8dXJ6PiA8cGFydD4gWzx0eXA+XSAgd3lzcGlzYW5pZSBsdWIgem1pYW5hIHR5cHUgcGFydHljamlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIC0tcGFydC11dWlkIDx1cno+IDxwYXJ0PiBbPHV1aWQ+XSB3eXBpc2FuaWUgbHViIHptaWFuYSBVVUlELWEgcGFydHljamlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIC0tcGFydC1hdHRycyA8dXJ6PiA8cGFydD4gWzzFgmHFhGM+XSB3eXBpc2FuaWUgbHViIHptaWFuYSBhdHJ5YnV0w7N3IHBhcnR5Y2ppXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA8dXJ6PiAgICAgICAgICAgICAgICAgICAgIMWbY2llxbxrYSBkbyB1cnrEhWR6ZW5pYSAoend5a2xlIGR5c2tvd2VnbylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBudW1lciBwYXJ0eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIgPHR5cD4gICAgICAgICAgICAgICAgICAgICB0eXAgcGFydHljamk6IEdVSUQgZGxhIEdQVCwgc3plc25hc3Rrb3dvIGRsYSBNQlJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGRvxYLEhWN6ZW5pZSBwYXJ0eWNqaSBkbyBpc3RuaWVqxIVjZWogdGFibGljeVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAga29waWEgemFwYXNvd2Egc2VrdG9yw7N3IHRhYmxpY3kgcGFydHljamkgKHAuIC1PKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzIKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgd3lwaXN5d2FuaWUgcm96bWlhcsOzdyB3IGJhanRhY2ggemFtaWFzdCBmb3JtYXR1XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3p5dGVsbmVnbyBkbGEgY3rFgm93aWVrYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzMKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiAgICAgLS1tb3ZlLWRhdGFbPTxza3J5cHQ+XSBwcnplbmllc2llbmllIGRhbnljaCBwYXJ0eWNqaSBwbyBwcnplc3VuacSZY2l1ICh3eW1hZ2EgLU4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIHd5xYLEhWN6ZW5pZSB3c3plbGtpZWdvIHNwcmF3ZHphbmlhIHNww7Nqbm/Fm2NpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgLS1jb2xvcls9PGtpZWR5Pl0gICAgICBrb2xvcm93YW5pZSB3eWrFm2NpYSAoYXV0bywgYWx3YXlzIGx1YiBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPG51bWVyPiAgICAgIG9rcmXFm2xlbmllIG51bWVydSBwYXJ0eWNqaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgd3lrb25hbmllIHdzenlzdGtpZWdvIHBvemEgemFwaXNlbSBuYSB1cnrEhWR6ZW5pZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBiZXogc3ByYXdkemFuaWEsIGN6eSB1cnrEhWR6ZW5pZSBqZXN0IHcgdcW8eWNpdVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBiZXogaW5mb3Jtb3dhbmlhIGrEhWRyYSBvIHptaWFuYWNoXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MgorbXNnaWQgIiAtTywgLS1iYWNrdXAtZmlsZSA8cGF0aD4gIG92ZXJyaWRlIGRlZmF1bHQgYmFja3VwIGZpbGUgbmFtZVxuIgorbXNnc3RyICIgLU8sIC0tYmFja3VwLWZpbGUgPMWbY2llxbxrYT4gbmFkcGlzYW5pZSBkb215xZtsbmVqIG5hend5IHBsaWt1IGtvcGlpIHphcGFzb3dlalxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICAgICBrb2x1bW55IGRvIHd5cGlzYW5pYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHBvbWluacSZY2llIGRvZGF0a293eWNoIGtvbXVuaWthdMOzdyBpbmZvcm1hY3lqbnljaFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPHRyeWI+ICAgICAgICAgd3ltYXp5d2FuaWUgc3lnbmF0dXIgKGF1dG8sIGFsd2F5cyBsdWIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDxuYXp3YT4gICAgICAgb2tyZcWbbGVuaWUgdHlwdSBldHlraWV0eSAoZG9zLCBncHQuLi4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYXp3YT4gb2tyZcWbbGVuaWUgdHlwdSBldHlraWV0eSB6YWduaWXFvGTFvG9uZWogKGRvcywgYnNkKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTAKK21zZ2lkICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBkZXByZWNhdGVkLCBhbGlhcyB0byAtLXNob3ctZ2VvbWV0cnlcbiIKK21zZ3N0ciAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJ6ZXN0YXJ6YcWCZSwgYWxpYXMgZGxhIC0tc2hvdy1nZW9tZXRyeVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIHByemVzdGFyemHFgmUsIHR5bGtvIGRsYSB6Z29kbm/Fm2NpIHdzdGVjem5lalxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBwcnplc3RhcnphxYJlLCBvYnPFgnVnaXdhbmUgc8SFIHR5bGtvIHNla3RvcnlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIlcyBqZXN0IHByemVzdGFyemHFgmUsIG5hbGXFvHkgdcW8eXdhxIcgLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIi0taWQgamVzdCBwcnplc3RhcnphxYJlLCBuYWxlxbx5IHXFvHl3YcSHIC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzEKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiLS1zaG93LXB0LWdlb21ldHJ5IG5pZSBqZXN0IGp1xbwgemFpbXBsZW1lbnRvd2FuZTsgdcW8eWNpZSAtLXNob3ctZ2VvbWV0cnkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiT3BjamEgLS1MaW51eCBqZXN0IHpixJlkbmEgaSBwcnplc3RhcnphxYJhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5hIGplZG5vc3RrYSAnJWMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgeiBwYWtpZXR1ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjE1MgorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIi0tbW92ZWRhdGEgd3ltYWdhIC1OIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBVVUlELWE6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgem1pZW5pxIcgcG/Fgm/FvGVuaWEgbmEgVVVJRCBvYnN6YXJ1IHd5bWlhbnkiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHphcGlzYcSHIFVVSUQtYSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgem1pZW5pxIcgcG/Fgm/FvGVuaWEgbmEgZXR5a2lldMSZIG9ic3phcnUgd3ltaWFueSAiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgImV0eWtpZXRhIGplc3QgemJ5dCBkxYJ1Z2EuIE9iY2nEmXRvIGRvICclcyciCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgemFwaXNhxIcgZXR5a2lldHkiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgbHViIHptaWFuYSBldHlraWV0eSBsdWIgVVVJRC1hIG9ic3phcnUgd3ltaWFueS5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiIC1MLCAtLWxhYmVsIDxldHlraWV0YT4gIG9rcmXFm2xlbmllIG5vd2VqIGV0eWtpZXR5XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIG9rcmXFm2xlbmllIG5vd2VnbyBVVUlELWFcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgInppZ25vcm93YW5vIC1VIChVVUlELXkgbmllIHPEhSBvYnPFgnVnaXdhbmUgcHJ6ZXopIgorCisjOiBpbmNsdWRlL2MuaDoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICInJXMgLS1oZWxwJyB3ecWbd2lldGxpIHdpxJljZWogaW5mb3JtYWNqaS5cbiIKKworIzogaW5jbHVkZS9jLmg6MzE4Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisiU2vFgmFkbmlhOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wY2plOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjAKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRnVua2NqZTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9sZWNlbmlhOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjIKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiRG9zdMSZcG5lIGtvbHVtbnkgd3lqxZtjaW93ZTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzI1Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgInd5xZt3aWV0bGVuaWUgdGVnbyBvcGlzdSIKKworIzogaW5jbHVkZS9jLmg6MzI2Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJ3ecWbd2lldGxlbmllIG51bWVydSB3ZXJzamkiCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJXacSZY2VqIGluZm9ybWFjamkgdyAlcy5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiYsWCxIVkIHphcGlzdSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJrb2xvcnkgc8SFIGRvbXnFm2xuaWUgd8WCxIVjem9uZSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAia29sb3J5IHPEhSBkb215xZtsbmllIHd5xYLEhWN6b25lIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyB6bWllbm5laiDFm3JvZG93aXNrb3dlaiAlcyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXR1YWxseSBleGNsdXNpdmUgYXJndW1lbnRzOiIKK21zZ3N0ciAiJXM6IGFyZ3VtZW50eSB3eWtsdWN6YWrEhSBzacSZIHd6YWplbW5pZToiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiQnJhayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiUm96c3plcnpvbmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIHN0YXJ0b3dhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIEJvb3QgTWFuYWdlciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBSb3pzei4gKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIlVrcnl0YSBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiVWtyeXRhIEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJVa3J5dGEgRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiVWtyeXRhIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiVWtyeXRhIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJVa3J5dGEgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlVrcnl0YSBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiVWtyeXRhIEhQRlMgV2luUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBCb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IHBhcnQuIDIuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IHBhcnQuIDMuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIGx1YiBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIlN0YXJ5IE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIHN0YXJ5IExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBzd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIk9TLzIgLSB1a3J5dGEgbHViIEludGVsIC0gaGliZXJuYWNqYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiTlRGUyB2b2x1bWUgc2V0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIlVrcnl0YSBCb290IFdpemFyZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiQWNyb25pcyBGQVQzMiBMQkEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJOb24tRlMgZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiUnVmdXMgLSB3eXLDs3duYXdjemEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0MgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNlY29uZGFyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTXdhcmUgVk1LQ09SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggUkFJRCBhdXRvZGV0ZWN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJ1d2FnYTogJXMgamVzdCBixYLEmWRuaWUgd3lyw7N3bmFuZSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MCBsaWJmZGlzay9zcmMvYXNrLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIld5YnJhbm8gcGFydHljasSZICVqdSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MworbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIk5pZSB6ZGVmaW5pb3dhbm8gamVzemN6ZSBwYXJ0eWNqaSEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJOaWUgbWEganXFvCB3b2xueWNoIHBhcnR5Y2ppISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIk51bWVyIHBhcnR5Y2ppIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJVdHdvcnpvbm8gbm93xIUgcGFydHljasSZICVkIHR5cHUgJyVzJyBvIHJvem1pYXJ6ZSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0eWNqYSAlemQgbWEgbmllcG9wcmF3bnkgc2VrdG9yIHBvY3rEhXRrb3d5IDAuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTmEgJXMgbmllIG1hIHBhcnR5Y2ppICpCU0QuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAiUGllcndzenkgY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIk9zdGF0bmkgY3lsaW5kZXIsICtjeWxpbmRyw7N3IGx1YiArcm96bWlhcntLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIk9zdGF0bmkgc2VrdG9yLCArc2VrdG9yw7N3IGx1YiArcm96bWlhcntLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiVXJ6xIVkemVuaWUgJXMgbmllIHphd2llcmEgZXR5a2lldHkgZHlza3UgQlNELiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MgorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJVdHdvcnp5xIcgZXR5a2lldMSZIGR5c2t1IEJTRD8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDgKK21zZ2lkICJEaXNrIgorbXNnc3RyICJEeXNrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIk5hendhIGR5c2t1IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYyIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgIkZsYWdpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY1Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIHd5am1vd2FsbnkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgRUNDIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiB3YWRsaXdlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJCYWp0w7N3L3Nla3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAixZpjaWXFvGVrL2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiU2VrdG9yw7N3L2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkwIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI4CisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTk3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJDeWxpbmRyeSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCittc2dpZCAiUnBtIgorbXNnc3RyICJPYnIuL21pbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICJQcnplcGxvdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiUHJ6ZXN1bmnEmWNpZSBkbGEgxZtjaWXFvGtpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJQcnplc3VuacSZY2llIGRsYSBjeWxpbmRyYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgIlptaWFuYSBnxYJvd2ljeSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIlptaWFuYSDFm2NpZcW8a2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgImJhanTDs3cvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEzCittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdG9yw7N3L8WbY2llxbxrxJkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgIsWbY2llxbxlay9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY3lsaW5kcsOzdyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgInNla3RvcsOzdy9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMgorbXNnaWQgInJwbSIKK21zZ3N0ciAib2JyLi9taW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJwcnplcGxvdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAicHJ6ZXN1bmnEmWNpZSBkbGEgxZtjaWXFvGtpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJwcnplc3VuacSZY2llIGRsYSBjeWxpbmRyYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNworbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgInptaWFuYSBnxYJvd2ljeSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgInptaWFuYSDFm2NpZcW8a2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJQbGlrIHJvenJ1Y2hvd3kgJXMgb2Rjenl0YW55IHBvcHJhd25pZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiS29kIHJvenJ1Y2hvd3k6ICUxJHNib290IC0+IGJvb3QlMSRzIChkb215xZtsbmllICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiS29kIHJvenJ1Y2hvd3kgemFjaG9kemkgbmEgZXR5a2lldMSZIGR5c2t1ISIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiWmFpbnN0YWxvd2FubyBrb2Qgcm96cnVjaG93eSBuYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIkV0eWtpZXRhIGR5c2t1IHphcGlzYW5hIG5hICVzIChwcm9zenQgbmllIHphcG9tbmllxIcgemFwaXNhxIcgdGFrxbxlIGV0eWtpZXR5IGR5c2t1ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJFdHlraWV0YSBkeXNrdSB6YXBpc2FuYSBuYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MTEgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODgKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiU3luY2hyb25pemFjamEgZHlza8Ozdy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiRXR5a2lldGEgQlNEIG5pZSBqZXN0IHphZ25pZcW8ZMW8b25hIHcgcGFydHljamkgRE9TLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydHljamEgQlNEICclYycgcG/FgsSFY3pvbmEgZG8gcGFydHljamkgRE9TICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIlBsYXN0ZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgIlJvem1GIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNAorbXNnaWQgIkJzaXplIgorbXNnc3RyICJSb3ptQiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIkNwZyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiB6YW1rbmnEmWNpZSB1cnrEhWR6ZW5pYSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2Cittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiV3l3b8WCeXdhbmllIGlvY3RsKCkgdyBjZWx1IHBvbm93bmVnbyBvZGN6eXR1IHRhYmxpY3kgcGFydHljamkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJQb25vd255IG9kY3p5dCB0YWJsaWN5IHBhcnR5Y2ppIG5pZSBwb3dpw7NkxYIgc2nEmS4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICJKxIVkcm8gbmFkYWwgdcW8eXdhIHN0YXJlaiB0YWJsaWN5LiBOb3dhIHRhYmxpY2EgYsSZZHppZSB1xbx5d2FuYSBwbyBuYXN0xJlwbnltIHJlc3RhcmNpZSBzeXN0ZW11IGFsYm8gcG8gdXJ1Y2hvbWllbml1IHBhcnRwcm9iZSg4KSBsdWIga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXN1bsSFxIcgcGFydHljamkgJXp1IHogc3lzdGVtdSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBzeXN0ZW0gaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHVha3R1YWxuacSHIGluZm9ybWFjamkgc3lzdGVtb3d5Y2ggbyBwYXJ0eWNqaSAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBkb2RhxIcgcGFydHljamkgJXp1IGRvIHN5c3RlbXUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290LiAiCittc2dzdHIgIkrEhWRybyBuYWRhbCB1xbx5d2Egc3RhcmVqIHRhYmxpY3kgcGFydHljamkuIE5vd2EgdGFibGljYSBixJlkemllIHXFvHl3YW5hIHBvIG5hc3TEmXBueW0gcmVzdGFyY2llIHN5c3RlbXUuICIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY3lsaW5kZXIiCittc2dzdHJbMV0gImN5bGluZHJ5IgorbXNnc3RyWzJdICJjeWxpbmRyw7N3IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNla3RvciIKK21zZ3N0clsxXSAic2VrdG9yeSIKK21zZ3N0clsyXSAic2VrdG9yw7N3IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICJOaWVrb21wbGV0bmUgdXN0YXdpZW5pYSBnZW9tZXRyaWkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiV3N6eXN0a2llIHBhcnR5Y2plIGfFgsOzd25lIHpvc3RhxYJ5IGp1xbwgemRlZmluaW93YW5lLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNgorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICJQYXJ0eWNqYSBnxYLDs3duYSBuaWUgamVzdCBkb3N0xJlwbmEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgcm96c3plcnpvbmVqIHRhYmxpY3kgcGFydHljamkgKG9mZnNldD0lanUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICJHZW9tZXRyacSZIG1vxbxuYSB1c3Rhd2nEhyB6IHBvemlvbXUgbWVudSBmdW5rY2ppIGRvZGF0a293eWNoLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIlRyeWIgemdvZG5vxZtjaSB6IERPUy1lbSBqZXN0IHByemVzdGFyemHFgnkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ3Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIlVyesSFZHplbmllIHByemVkc3Rhd2lhIGxvZ2ljem55IHJvem1pYXIgc2VrdG9yYSBtbmllanN6eSBvZCByb3ptaWFydSBmaXp5Y3puZWdvLiBaYWxlY2Egc2nEmSB3eXLDs3duYW5pZSBkbyBncmFuaWN5IHNla3RvcmEgZml6eWN6bmVnbyAobHViIG9wdHltYWxuZWdvIGRsYSB3ZS93eSksIHcgcHJ6ZWNpd255bSB3eXBhZGt1IG1vxbxlIHRvIHdwxYJ5bsSFxIcgbmEgd3lkYWpub8WbxIcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzUzCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJDeWxpbmRyeSBqYWtvIGplZG5vc3RraSB3ecWbd2lldGxhbmlhIHPEhSBwcnplc3RhcnphxYJlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbm5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICJSb3ptaWFyIHRlZ28gZHlza3UgdG8gJXMgKCVqdSBiYWp0w7N3KS4gRE9TLW93eSBmb3JtYXQgdGFibGljeSBwYXJ0eWNqaSBuaWUgbW/FvGUgYnnEhyB1xbx5d2FueSBkbGEgZHlza8OzdyBuYSB3b2x1bWVuYWNoIHdpxJlrc3p5Y2ggbmnFvCAlbHUgYmFqdMOzdyBkbGEgJWx1LWJhanRvd3ljaCBzZWt0b3LDs3cuIE5hbGXFvHkgdcW8ecSHIGZvcm1hdHUgdGFibGljeSBwYXJ0eWNqaSBHVUlEIChHUFQpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUzNAorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJCxYLEmWRueSBvZmZzZXQgdyBnxYLDs3duZWogcGFydHljamkgcm96c3plcnpvbmVqLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiUG9taW5pxJl0byBwYXJ0eWNqZSBwbyAjJXp1LiBCxJlkxIUgdXN1bmnEmXRlLCBqZcWbbGkgdGEgdGFibGljYSBwYXJ0eWNqaSB6b3N0YW5pZSB6YXBpc2FuYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJOYWRtaWFyb3d5IHdza2HFum5payDFgsSFY3rEhWN5IHcgdGFibGljeSBwYXJ0eWNqaSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlppZ25vcm93YW5vIG5hZG1pYXJvd2UgZGFuZSB3IHRhYmxpY3kgcGFydHljamkgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgInBvbWluacSZdG8gcHVzdMSFIHBhcnR5Y2rEmSAoJXp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiVXR3b3J6b25vIG5vd8SFIGV0eWtpZXTEmSBkeXNrdSBET1MgeiBpZGVudHlmaWthdG9yZW0gZHlza3UgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcyNgorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJQcm9zesSZIHdwcm93YWR6acSHIG5vd3kgaWRlbnR5ZmlrYXRvciBkeXNrdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIkLFgsSZZG5hIHdhcnRvxZvEhy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiSWRlbnR5ZmlrYXRvciBkeXNrdSB6bWllbmlvbnkgeiAweCUwOHggbmEgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJaaWdub3Jvd2FubyBuYWRtaWFyb3fEhSBwYXJ0eWNqxJkgcm96c3plcnpvbsSFICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiTmllcG9wcmF3bmEgZmxhZ2EgMHglMDJ4JTAyeCBFQlIgKGRsYSBwYXJ0eWNqaSAlenUpIGLEmWR6aWUgcG9wcmF3aW9uYSBwcnp5IHphcGlzaWUgKHcpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIlNla3RvciBwb2N6xIV0a293eSAlanUgc3BvemEgemFrcmVzdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDc2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIxIGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzgKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIlBhcnR5Y2phICV6dSBqZXN0IGp1xbwgemRlZmluaW93YW5hLiBOYWxlxbx5IGrEhSB1c3VuxIXEhyBwcnplZCBwb25vd255bSBkb2RhbmllbS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiU2VrdG9yICVsbHUgamVzdCBqdcW8IHByenlkemllbG9ueS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIk5pZSBtYSBqdcW8IHdvbG55Y2ggc2VrdG9yw7N3LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiRG9kYXdhbmllIHBhcnR5Y2ppIGxvZ2ljem5laiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQYXJ0eWNqYSAlenU6IHphd2llcmEgc2VrdG9yIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlBhcnR5Y2phICV6dTogZ8WCb3dpY2EgJWQgd2nEmWtzemEgbmnFvCBtYWtzeW1hbG5hICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBzZWt0b3IgJWQgd2nEmWtzenkgbmnFvCBtYWtzeW1hbG55ICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnR5Y2phICV6dTogY3lsaW5kZXIgJWQgd2nEmWtzenkgbmnFvCBtYWtzeW1hbG55ICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIlBhcnR5Y2phICV6dTogcG9wcnplZG5pYSBsaWN6YmEgc2VrdG9yw7N3ICV1IG5pZSB6Z2FkemEgc2nEmSB6IGNhxYJrb3dpdMSFICV1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0eWNqYSAlenU6IHLDs8W8bmUgcG9jesSFdGtpIGZpenljem55IGkgbG9naWN6bnkgKG5pZSBqZXN0IGxpbnVrc293YT8pOiBmaXo9KCVkLCAlZCwgJWQpLCBsb2c9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnR5Y2phICV6dTogcsOzxbxuZSBrb8WEY2UgZml6eWN6bnkgaSBsb2dpY3pueTogZml6PSglZCwgJWQsICVkKSwgbG9nPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBuaWUga2/FhGN6eSBzacSZIG5hIGdyYW5pY3kgY3lsaW5kcmEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBhcnR5Y2phICV6dTogYsWCxJlkbnkgcG9jesSFdGVrIGRhbnljaC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0eWNqYSAlenU6IHphY2hvZHppIG5hIHBhcnR5Y2rEmSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIlBhcnR5Y2phICV6dTogamVzdCBwdXN0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0eWNqYSBsb2dpY3puYSAlenU6IG5pZSB6YXdpZXJhIHNpxJkgdyBwZcWCbmkgdyBwYXJ0eWNqaSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiQ2HFgmtvd2l0YSBsaWN6YmEgcHJ6eWR6aWVsb255Y2ggc2VrdG9yw7N3ICVsbHUgamVzdCB3acSZa3N6YSBuacW8IG1ha3N5bWFsbmEgJWxsdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICJQb3pvc3RhxYJvICVsbGQgbmllcHJ6eWR6aWVsb255Y2ggc2VrdG9yw7N3ICVsZC1iYWp0b3d5Y2guIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMSBsaWJmZGlzay9zcmMvZG9zLmM6MTYxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2MworbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIlBhcnR5Y2phIHJvenN6ZXJ6b25hIGp1xbwgaXN0bmllamUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uIgorbXNnc3RyICJUYWJsaWNhIHJvenN6ZXJ6b25hIG5pZSBpc3RuaWVqZS4gTmllIHVkYcWCbyBzacSZIGRvZGHEhyBwYXJ0eWNqaSBsb2dpY3puZWouIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY2NworbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJVdHdvcnpvbm8ganXFvCBtYWtzeW1hbG7EhSBsaWN6YsSZIHBhcnR5Y2ppLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJXc3p5c3RraWUgcGFydHljamUgZ8WCw7N3bmUgc8SFIHd5a29yenlzdGFuZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgzIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk0Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiQ2HFgmUgbWllanNjZSBuYSBwYXJ0eWNqZSBnxYLDs3duZSBqZXN0IGp1xbwgd3lrb3J6eXN0YW5lLiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NworbXNnaWQgIlRvIGNyZWF0ZSBtb3JlIHBhcnRpdGlvbnMsIGZpcnN0IHJlcGxhY2UgYSBwcmltYXJ5IHdpdGggYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiQWJ5IHV0d29yennEhyB3acSZY2VqIHBhcnR5Y2ppLCBuYWxlxbx5IG5hanBpZXJ3IHphbWllbmnEhyBqZWRuxIUgcGFydHljasSZIGfFgsOzd27EhSBuYSByb3pzemVyem9uxIUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJXc3p5c3RraWUgcGFydHljamUgbG9naWN6bmUgc8SFIHd5a29yenlzdGFuZS4gRG9kYXdhbmllIHBhcnR5Y2ppIGfFgsOzd25lai4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlR5cCBwYXJ0eWNqaSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiZ8WCw7N3bnljaCAlenUsIHJvenN6ZXJ6b255Y2ggJWQsIHdvbG55Y2ggJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworbXNnaWQgInByaW1hcnkiCittc2dzdHIgImfFgsOzd25hIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICJyb3pzemVyem9uYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAia29udGVuZXIgbmEgcGFydHljamUgbG9naWN6bmUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAibG9naWN6bmEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJudW1lcm93YW5hIG9kIDUgd3p3ecW8IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJOaWVwb3ByYXdueSB0eXAgcGFydHljamkgYCVjJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiTmllIG1vxbxuYSB6YXBpc2HEhyBzZWt0b3JhICVqZCBuaWUgcG93acOzZMWCIHNpxJk6IHNlZWsgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiSWRlbnR5ZmlrYXRvciBkeXNrdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJUeXAgMCBkbGEgd2llbHUgc3lzdGVtw7N3IG96bmFjemEgd29sbmUgbWllanNjZS4gVHJ6eW1hbmllIHBhcnR5Y2ppIG8gdHlwaWUgMCBwcmF3ZG9wb2RvYm5pZSBqZXN0IG5pZW3EhWRyZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIk5pZSBtb8W8bmEgem1pZW5pxIcgdHlwdSBwYXJ0eWNqaSByb3pzemVyem9uZWosIGt0w7NyYSBqZXN0IGp1xbwgdcW8eXdhbmEgcHJ6ZXogcGFydHljamUgbG9naWN6bmUuIE5hanBpZXJ3IHRyemViYSB1c3VuxIXEhyBwYXJ0eWNqZSBsb2dpY3puZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiTmllIG1hIG5pYyBkbyB6cm9iaWVuaWEsIGtvbGVqbm/Fm8SHIGp1xbwgamVzdCBwcmF3aWTFgm93YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIlBhcnR5Y2phICV6dTogbmllIG1hIG9ic3phcnUgZGFueWNoLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk5vd3kgcG9jesSFdGVrIGRhbnljaCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiUGFydHljamEgJXp1OiBqZXN0IHBhcnR5Y2rEhSByb3pzemVyem9uxIUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRmxhZ2Egcm96cnVjaHUgZGxhIHBhcnR5Y2ppICV6dSBqZXN0IHRlcmF6IHfFgsSFY3pvbmEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkZsYWdhIHJvenJ1Y2h1IGRsYSBwYXJ0eWNqaSAlenUgamVzdCB0ZXJheiB3ecWCxIVjem9uYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiVXJ6xIVkemVuaWUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIlJvenJ1Y2giCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI1Cittc2dpZCAiSWQiCittc2dzdHIgIklkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICJQb2N6xIV0ZWstQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICJLb25pZWMtQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgIkF0cnlidXR5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiU3lzdGVtIEVGSSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJTY2hlbWF0IHBhcnR5Y2ppIE1CUiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIEZhc3QgRmxhc2giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkJJT1MgLSByb3pydWNob3dhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY4Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFydHljamEgcm96cnVjaG93YSBTb255IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5Cittc2dpZCAiTGVub3ZvIGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJQYXJ0eWNqYSByb3pydWNob3dhIExlbm92byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAgLSByb3pydWNob3dhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc1Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJPTklFIC0gcm96cnVjaG93YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICJPTklFIC0ga29uZmlndXJhY2phIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICJNaWNyb3NvZnQgLSB6YXJlemVyd293YW5hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCAtIGRhbmUgcG9kc3Rhd293ZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCAtIG1ldGFkYW5lIExETSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IC0gZGFuZSBMRE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICLFmnJvZG93aXNrbyBvZHR3b3J6ZW5pb3dlIFdpbmRvd3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYIC0gZGFuZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYIC0gc2Vyd2lzb3dhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MCBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXggLSBzeXN0ZW0gcGxpa8OzdyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eCAtIGRhbmUgc2Vyd2Vyb3dlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiTGludXggLSBnxYLDs3duYSAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IC0gZ8WCw7N3bmEgKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJMaW51eCAtIGfFgsOzd25hICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiTGludXggLSBnxYLDs3duYSAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIkxpbnV4IC0gZ8WCw7N3bmEgKElBLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eCAtIHphcmV6ZXJ3b3dhbmEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCAtIGthdGFsb2dpIGRvbW93ZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMiBsaWJmZGlzay9zcmMvc2dpLmM6NjMKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzCittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAiTGludXggLSByb3pzemVyem9uYSByb3pydWNob3dhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIC0gZGFuZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNEIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIG9mZmxpbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICJBcHBsZSBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkFwcGxlIGxhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIkFwcGxlIFRWIHJlY292ZXJ5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlIHN0b3JhZ2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMgcm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiU29sYXJpcyAvdXNyIC8gQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBiYWNrdXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcyAtIHphcmV6ZXJ3b3dhbmEgMSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyAtIHphcmV6ZXJ3b3dhbmEgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU29sYXJpcyAtIHphcmV6ZXJ3b3dhbmEgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcyAtIHphcmV6ZXJ3b3dhbmEgNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyAtIHphcmV6ZXJ3b3dhbmEgNSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCBGRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QgTEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiTmV0QlNEIC0gxYLEhWN6b25hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIC0gc3p5ZnJvd2FuYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiQ2hyb21lT1Mga2VybmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiQ2hyb21lT1Mgcm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJDaHJvbWVPUyAtIHphcmV6ZXJ3b3dhbmEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTgKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICJNaWRuaWdodEJTRCAtIGRhbmUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICJNaWRuaWdodEJTRCBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiTWlkbmlnaHRCU0Qgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkNlcGggLSBrcm9uaWthIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCAtIHphc3p5ZnJvd2FuYSBrcm9uaWthIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIkNlcGggLSBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaCAtIHphc3p5ZnJvd2FuYSBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGggLSBkeXNrIHBvZGN6YXMgdHdvcnplbmlhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJDZXBoIC0gemFzenlmcm93YW55IGR5c2sgcG9kY3phcyB0d29yemVuaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKK21zZ2lkICJWTXdhcmUgRGlhZ25vc3RpYyIKK21zZ3N0ciAiVk13YXJlIERpYWdub3N0aWMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzYKK21zZ2lkICJWTXdhcmUgVmlydHVhbCBTQU4iCittc2dzdHIgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NworbXNnaWQgIlZNd2FyZSBWaXJzdG8iCittc2dzdHIgIlZNd2FyZSBWaXJzdG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIlZNd2FyZSAtIHphcmV6ZXJ3b3dhbmEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIk9wZW5CU0QgLSBkYW5lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiU3lzdGVtIHBsaWvDs3cgUU5YNiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIlBhcnR5Y2phIFBsYW4gOSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIG5hZ8WCw7N3a2EgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzQ0Cittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiUGllcndzenkgTEJBIHBvZGFuZSBwcnpleiBza3J5cHQgamVzdCBwb3phIHpha3Jlc2VtLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc1NgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiT3N0YXRuaSBMQkEgcG9kYW5lIHByemV6IHNrcnlwdCBqZXN0IHBvemEgemFrcmVzZW0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAibmllemdvZG5vxZvEhyByb3ptaWFydSBQTUJSIEdQVCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgem9zdGFuaWUgbmFwcmF3aW9uYSBwcnp5IHphcGlzaWUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTE3Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHQ6IHN0YXQoKSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiBuaWUgbW/FvG5hIG9ic8WCdcW8ecSHIHBsaWvDs3cgeiB1cHJhd25pZW5pYW1pICVvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIk5hZ8WCw7N3ZWsgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJXcGlzeSBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJQaWVyd3N6eSBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjMzCittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIk9zdGF0bmkgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiTEJBIGFsdGVybmF0eXduZWdvIG5hZ8WCw7N3a2EgR1BUIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICJMQkEgd3Bpc8OzdyBwYXJ0eWNqaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNTAKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIlByenlkemllbG9ubyB3cGlzeSBwYXJ0eWNqaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJaYXBhc293YSB0YWJsaWNhIEdQVCBqZXN0IHVzemtvZHpvbmEsIGFsZSBnxYLDs3duYSB3eWdsxIVkYSBkb2JyemUsIHdpxJljIHpvc3RhbmllIHXFvHl0YSBnxYLDs3duYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjA1Cittc2dpZCAiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiR8WCw7N3bmEgdGFibGljYSBHUFQgamVzdCB1c3prb2R6b25hLCBhbGUgemFwYXNvd2Egd3lnbMSFZGEgZG9icnplLCB3acSZYyB6b3N0YW5pZSB1xbx5dGEgemFwYXNvd2EuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxOAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIG5vdCBvbiB0aGUgZW5kIG9mIHRoZSBkZXZpY2UuIFRoaXMgcHJvYmxlbSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIlphcGFzb3dhIHRhYmxpY2EgR1BUIG5pZSBqZXN0IG5hIGtvxYRjdSB1cnrEhWR6ZW5pYS4gVGVuIHByb2JsZW0gem9zdGFuaWUgbmFwcmF3aW9ueSBwcnp5IHphcGlzaWUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IGJpdCBhdHJ5YnV0dSBHUFQgJyVzJyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgxYJhxYRjdWNoYSBhdHJ5YnV0dSBHUFQgJyVzJyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiVVVJRCBwYXJ0eWNqaSB6bWllbmlvbnkgeiAlcyBuYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBwcnpldMWCdW1hY3p5xIcgbmF6d3kgcGFydHljamksIG5hendhIG5pZSB6b3N0YcWCYSB6bWllbmlvbmEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICJOYXp3YSBwYXJ0eWNqaSB6bWllbmlvbmEgeiAnJXMnIG5hICclLipzJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQ1Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIlBvY3rEhXRlayBwYXJ0eWNqaSBqZXN0IHBvbmnFvGVqIEZpcnN0VXNhYmxlTEJBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICJLb25pZWMgcGFydHljamkgcHJ6ZWtyYWN6YSBMYXN0VXNhYmxlTEJBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiVXJ6xIVkemVuaWUgemF3aWVyYSBoeWJyeWRvd3kgTUJSIC0gemFwaXMgdHlsa28gR1BULiBNQlIgdHJ6ZWJhIHpzeW5jaHJvbml6b3dhxIcgcsSZY3puaWUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1MQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJEeXNrIG5pZSB6YXdpZXJhIHBvcHJhd25lZ28gbmFnxYLDs3drYSB6YXBhc293ZWdvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTYKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIkLFgsSZZG5hIHN1bWEgQ1JDIG5hZ8WCw7N3a2EgZ8WCw7N3bmVnby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIkLFgsSZZG5hIHN1bWEgQ1JDIG5hZ8WCw7N3a2EgemFwYXNvd2Vnby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJCxYLEmWRuYSBzdW1hIGtvbnRyb2xuYSB3cGlzdSBwYXJ0eWNqaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIkLFgsSFZCBrb250cm9saSBwb3ByYXdub8WbY2kgTEJBIG5hZ8WCw7N3a2EgZ8WCw7N3bmVnby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiQsWCxIVkIGtvbnRyb2xpIHBvcHJhd25vxZtjaSBMQkEgbmFnxYLDs3drYSB6YXBhc293ZWdvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICJOaWV6Z29kbm/Fm8SHIE15TEJBIHogcnplY3p5d2lzdMSFIHBvenljasSFIHcgbmFnxYLDs3drdSBnxYLDs3dueW0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTmllemdvZG5vxZvEhyBNeUxCQSB6IHJ6ZWN6eXdpc3TEhSBwb3p5Y2rEhSB3IG5hZ8WCw7N3a3UgemFwYXNvd3ltLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiRHlzayBqZXN0IHpieXQgbWHFgnksIGFieSBwb21pZcWbY2nEhyB3c3p5c3RraWUgZGFuZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIk5pZXpnb2Rub8WbxIcgZ8WCw7N3bmVnbyBpIHphcGFzb3dlZ28gbmFnxYLDs3drYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIlBhcnR5Y2phICV1IHphY2hvZHppIG5hIHBhcnR5Y2rEmSAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIlBhcnR5Y2phICV1IGplc3QgemJ5dCBkdcW8YSBkbGEgdGVnbyBkeXNrdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQYXJ0eWNqYSAldSBrb8WEY3p5IHNpxJkgcHJ6ZWQgcG9jesSFdGtpZW0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIk5pZSB3eWtyeXRvIGLFgsSZZMOzdy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiV2Vyc2phIG5hZ8WCw7N3a2E6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiVyB1xbx5Y2l1IGplc3QgJXp1IHogJXp1IHBhcnR5Y2ppLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiRG9zdMSZcG5lIHNla3Rvcnk6IHJhemVtICVqdSB3ICV1IHNlZ21lbmNpZS4iCittc2dzdHJbMV0gIkRvc3TEmXBuZSBzZWt0b3J5OiByYXplbSAlanUgdyAldSBzZWdtZW50YWNoIChuYWp3acSZa3N6eSAlcykuIgorbXNnc3RyWzJdICJEb3N0xJlwbmUgc2VrdG9yeTogcmF6ZW0gJWp1IHcgJXUgc2VnbWVudGFjaCAobmFqd2nEmWtzenkgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICJXeWtyeXRvICVkIGLFgsSFZC4iCittc2dzdHJbMV0gIld5a3J5dG8gJWQgYsWCxJlkeS4iCittc2dzdHJbMl0gIld5a3J5dG8gJWQgYsWCxJlkw7N3LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJXc3p5c3RraWUgcGFydHljamUgc8SFIGp1xbwgdyB1xbx5Y2l1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJTZWt0b3IgJWp1IGplc3QganXFvCB3IHXFvHljaXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcgcGFydHljamkgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiT3N0YXRuaSB1xbx5d2Fsbnkgc2VrdG9yIEdQVCB0byAlanUsIGFsZSDFvMSFZGFubyAlanUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIlBpZXJ3c3p5IHXFvHl3YWxueSBzZWt0b3IgR1BUIHRvICVqdSwgYWxlIMW8xIVkYW5vICVqdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiVXR3b3J6b25vIG5vd8SFIGV0eWtpZXTEmSBkeXNrdSBHUFQgKEdVSUQ6ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJQcm9zesSZIHdwcm93YWR6acSHIG5vd3kgVVVJRCBkeXNrdSAodyBmb3JtYWNpZSA4LTQtNC00LTEyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBVVUlELWEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiSWRlbnR5ZmlrYXRvciBkeXNrdSB6bWllbmlvbnkgeiAlcyBuYSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjg3Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIlphIG1hxYJvIG1pZWpzY2EgbmEgbm93xIUgdGFibGljxJkgcGFydHljamkhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJQYXJ0eWNqYSAjJXp1IHBvemEgemFrcmVzZW0gKG1pbmltYWxueSBwb2N6xIV0ZWsgdyBzZWt0b3JhY2g6ICU8UFJJdTY0PikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJQYXJ0eWNqYSAjJXp1IHBvemEgemFrcmVzZW0gKG1ha3N5bWFsbnkga29uaWVjIHcgc2VrdG9yYWNoOiAlPFBSSXU2ND4pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICJOdW1lciBwYXJ0eWNqaSBtdXNpIGJ5xIcgbW5pZWpzenkgbmnFvCAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgcHJ6eWR6aWVsacSHIHBhbWnEmWNpISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIkTFgnVnb8WbxIcgdGFibGljeSBwYXJ0eWNqaSB6bWllbmnFgmEgc2nEmSB6ICU8UFJJdTMyPiBuYSAlPFBSSXU2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJBdHJ5YnV0eSBwYXJ0eWNqaSAlenUgem1pZW5pb25vIG5hIDB4JTAxNjxQUkl4NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NTgKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiQml0IHNwZWN5Zmljem55IGRsYSBHVUlELWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemXFgsSFY3p5xIcgbmllIG9ic8WCdWdpd2FuZWdvIGJpdHUgJWx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlNwZWN5Zmljem55IGRsYSBHVUlELWEgYml0ICVkIGRsYSBwYXJ0eWNqaSAlenUgamVzdCB0ZXJheiB3xYLEhWN6b255LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiU3BlY3lmaWN6bnkgZGxhIEdVSUQtYSBiaXQgJWQgZGxhIHBhcnR5Y2ppICV6dSBqZXN0IHRlcmF6IHd5xYLEhWN6b255LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkZsYWdhICVzIGRsYSBwYXJ0eWNqaSAlenUgamVzdCB0ZXJheiB3xYLEhWN6b25hLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJGbGFnYSAlcyBkbGEgcGFydHljamkgJXp1IGplc3QgdGVyYXogd3nFgsSFY3pvbmEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVHlwLVVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiTmF6d2EiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICJXb2xuZSBtaWVqc2NlIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHptaWVuacSHIHJvem1pYXJ1IHBhcnR5Y2ppICMlenUuIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTggbWlzYy11dGlscy9maW5kbW50LmM6NjU1CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5OSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNyBzY2hlZHV0aWxzL2NocnQuYzoyMDUKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICJuaWV6bmFueSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHZvbHVtZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggbmF0aXZlIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiSW5mb3JtYWNqZSBTR0kgdXR3b3J6b25lIHcgZHJ1Z2ltIHNla3RvcnplLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OAorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIld5a3J5dG8gZXR5a2lldMSZIGR5c2t1IFNHSSB6IGLFgsSZZG7EhSBzdW3EhSBrb250cm9sbsSFLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MSBsaWJmZGlzay9zcmMvc3VuLmM6NzgzCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJDeWxpbmRyeSBmaXp5Y3puZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJEb2RhdGtvd2Ugc2VrdG9yeSBuYSBjeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJQbGlrIHJvenJ1Y2hvd3kiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiTmllcG9wcmF3bnkgcGxpayByb3pydWNob3d5ISBQbGlrIHJvenJ1Y2hvd3kgbXVzaSBiecSHIGJlend6Z2zEmWRuxIUsIG5pZXB1c3TEhSDFm2NpZcW8a8SFLCBucC4gXCIvdW5peFwiIGx1YiBcIi91bml4LnNhdmVcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiTmF6d2EgcGxpa3Ugcm96cnVjaG93ZWdvIHpieXQgZMWCdWdhOiBtYWtzaW11bSB0byAlenUgYmFqdC4iCittc2dzdHJbMV0gIk5hendhIHBsaWt1IHJvenJ1Y2hvd2VnbyB6Ynl0IGTFgnVnYTogbWFrc2ltdW0gdG8gJXp1IGJhanR5LiIKK21zZ3N0clsyXSAiTmF6d2EgcGxpa3Ugcm96cnVjaG93ZWdvIHpieXQgZMWCdWdhOiBtYWtzaW11bSB0byAlenUgYmFqdMOzdy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJQbGlrIHJvenJ1Y2hvd3kgbXVzaSBtaWXEhyBwZcWCbsSFIMWbY2llxbxrxJkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIlV3YWdhOiBwcm9ncmFtIG5pZSBzcHJhd2R6YSBpc3RuaWVuaWEgcGxpa3Ugcm96cnVjaG93ZWdvLiBEb215xZtsbnkgZGxhIFNHSSB0byBcIi91bml4XCIgb3JheiBcInVuaXguc2F2ZVwiIGRsYSBrb3BpaSB6YXBhc293ZWouIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgIkJpZcW8xIVjeSBwbGlrIHJvenJ1Y2hvd3kgdG86ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIlByb3N6xJkgd3Bpc2HEhyBuYXp3xJkgbm93ZWdvIHBsaWt1IHJvenJ1Y2hvd2VnbyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJQbGlrIHJvenJ1Y2hvd3kgcG96b3N0YcWCIGJleiB6bWlhbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICJQbGlrIHJvenJ1Y2hvd3kgem1pZW5pb255IG5hIFwiJXNcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICJJc3RuaWVqZSB3acSZY2VqIG5pxbwgamVkZW4gd3BpcyBkbGEgY2HFgmVnbyBkeXNrdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIk5pZSB6ZGVmaW5pb3dhbm8gxbxhZG5laiBwYXJ0eWNqaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJJUklYIGx1YmkgZ2R5IHBhcnR5Y2phIDExIHBva3J5d2EgY2HFgnkgZHlzay4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiUGFydHljamEgY2HFgmVnbyBkeXNrdSBwb3dpbm5hIHphY3p5bmHEhyBzacSZIG9kIGJsb2t1IDAsIGEgbmllIGJsb2t1ICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFydHljamEgMTEgcG93aW5uYSBwb2tyeXdhxIcgY2HFgnkgZHlzay4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJQYXJ0eWNqZSAlZCBpICVkIHphY2hvZHrEhSBuYSBzaWViaWUgJWQgc2VrdG9yZW0uIgorbXNnc3RyWzFdICJQYXJ0eWNqZSAlZCBpICVkIHphY2hvZHrEhSBuYSBzaWViaWUgJWQgc2VrdG9yYW1pLiIKK21zZ3N0clsyXSAiUGFydHljamUgJWQgaSAlZCB6YWNob2R6xIUgbmEgc2llYmllICVkIHNla3RvcmFtaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJOaWV1xbx5d2FueSBvZHN0xJlwICU4dSBzZWt0b3IgLSBzZWt0b3IgJTh1IgorbXNnc3RyWzFdICJOaWV1xbx5d2FueSBvZHN0xJlwICU4dSBzZWt0b3J5IC0gc2VrdG9yeSAlOHUtJXUiCittc2dzdHJbMl0gIk5pZXXFvHl3YW55IG9kc3TEmXAgJTh1IHNla3RvcsOzdyAtIHNla3RvcnkgJTh1LSV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiUGFydHljamEgcm96cnVjaG93YSBuaWUgaXN0bmllamUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiUGFydHljamEgd3ltaWFueSBuaWUgaXN0bmllamUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA1Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICJQYXJ0eWNqYSB3eW1pYW55IG5pZSBqZXN0IHR5cHUgc3dhcC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiV3licmFubyBuaWVzdGFuZGFyZG93xIUgbmF6d8SZIHBsaWt1IHJvenJ1Y2hvd2Vnby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIk5hIGR5c2t1IHBhcnR5Y2plIHphY2hvZHrEhSBuYSBzaWViaWUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiUHLDs2JhIGF1dG9tYXR5Y3puZWdvIHd5Z2VuZXJvd2FuaWEgd3Bpc3kgZGxhIGNhxYJlZ28gZHlza3UuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ4Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJDYcWCeSBkeXNrIGplc3QganXFvCBwb2tyeXR5IHBhcnR5Y2phbWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJOYSB0eW0gZHlza3UgcGFydHljamUgemFjaG9kesSFIG5hIHNpZWJpZS4gTmFqcGllcncgdHJ6ZWJhIHRvIHBvcHJhd2nEhyEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiUGllcndzenkgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTggbGliZmRpc2svc3JjL3NnaS5jOjk0OAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICJaZGVjeWRvd2FuaWUgemFsZWNhIHNpxJksIGFieSBwYXJ0eWNqYSBqZWRlbmFzdGEgcG9rcnl3YcWCYSBjYcWCeSBkeXNrIGkgYnnFgmEgdHlwdSBgU0dJIHZvbHVtZScuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiT3N0YXRuaSAlcywgKyVzIGx1YiArcm96bWlhcntLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg0IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICJpb2N0bCBCTEtHRVRTSVpFIG5hICVzIG5pZSBwb3dpw7NkxYIgc2nEmS4gUHJ6eWrEmXRvIGxpY3pixJkgY3lsaW5kcsOzdyAlbGx1LiBUYSB3YXJ0b8WbxIcgbW/FvGUgYnnEhyB1Y2nEmXRhIGRsYSB1cnrEhWR6ZcWEID4gMzMuOCBHQi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiVXR3b3J6b25vIG5vd8SFIGV0eWtpZXTEmSBkeXNrdSBTR0kuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiTmllc3RldHkgem5hY3puaWsgbW/FvG5hIHptaWVuaWHEhyB0eWxrbyBkbGEgbmllcHVzdHljaCBwYXJ0eWNqaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiTmFqbGVwaWVqIHBvem9zdGF3acSHIHBhcnR5Y2rEmSA5IGpha28gbmFnxYLDs3dlayB3b2x1bWVudSAoMCksIGEgcGFydHljasSZIDExIGpha28gY2HFgnkgd29sdW1lbiAoNiksIHBvbmlld2HFvCB0ZWdvIG9jemVrdWplIElSSVguIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiWmRlY3lkb3dhbmllIHphbGVjYSBzacSZLCBhYnkgcGFydHljamEgcG9kIG9mZnNldGVtIDAgYnnFgmEgdHlwdSBcIlNHSSB2b2xoZHJcIjsgc3lzdGVtIElSSVggcG9sZWdhIG5hIHR5bSBwcnp5IG9kY3p5Y2llIHoga2F0YWxvZ3Ugc2Ftb2R6aWVsbnljaCBuYXJ6xJlkemksIHRha2ljaCBqYWsgc2FzaCBpIGZ4LiBKZWR5bmllIHNla2NqYSBjYcWCZWdvIGR5c2t1IFwiU0dJIHZvbHVtZVwiIG1vxbxlIGJ5xIcgbmllemdvZG5hIHogdHltIHphbGVjZW5pZW0uIEN6eSBuYSBwZXdubyB0YSBwYXJ0eWNqYSBtYSBiecSHIG96bmFjem9uYSBpbmFjemVqPyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiQmV6IHByenlkemlhxYJ1IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiQ2HFgnkgZHlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIGFsdCBzZWN0b3JzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzAKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICJXeWtyeXRvIGV0eWtpZXTEmSBkeXNrdSBTdW5hIHogYsWCxJlkbsSFIHN1bcSFIGtvbnRyb2xuxIUuIFByYXdkb3BvZG9ibmllIGLEmWR6aWUgdHJ6ZWJhIHVzdGF3acSHIHdzenlzdGtpZSB3YXJ0b8WbY2ksIHR6bi4gZ8WCb3dpY2UsIHNla3RvcnksIGN5bGluZHJ5IGkgcGFydHljamUgYWxibyB3eW11c2nEhyB1dHdvcnplbmllIG5vd2VqIGV0eWtpZXR5IChwb2xlY2VuaWUgcyB3IG1lbnUgZ8WCw7N3bnltKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiV3lrcnl0byBldHlraWV0xJkgZHlza3UgU3VuYSB6IGLFgsSZZG7EhSB3ZXJzasSFIFslZF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIld5a3J5dG8gZXR5a2lldMSZIGR5c2t1IFN1bmEgeiBixYLEmWRuxIUgd2FydG/Fm2NpxIUgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiV3lrcnl0byBldHlraWV0xJkgZHlza3UgU3VuYSB6IGLFgsSZZG7EhSB3YXJ0b8WbY2nEhSB2dG9jLm5wYXJ0cyBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJVd2FnYTogQsWCxJlkbmUgd2FydG/Fm2NpIG11c3rEhSBiecSHIHBvcHJhd2lvbmUsIGNvIG5hc3TEhXBpIHByenkgemFwaXNpZSAodykiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiR8WCb3dpY2UiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICJTZWt0b3LDs3cvxZtjaWXFvGvEmSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5MworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIlV0d29yem9ubyBub3fEhSBldHlraWV0xJkgZHlza3UgU3VuYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydHljamEgJXUgbmllIGtvxYRjenkgc2nEmSBuYSBncmFuaWN5IGN5bGluZHJhLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIlBhcnR5Y2phICV1IHphY2hvZHppIG5hIGlubmUgdyBzZWt0b3JhY2ggJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJOaWV1xbx5d2FueSBvZHN0xJlwIC0gc2VrdG9yeSAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiTmlldcW8eXdhbnkgb2RzdMSZcCAtIHNla3RvcnkgJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICJJbm5lIHBhcnR5Y2plIGp1xbwgcG9rcnl3YWrEhSBjYcWCeSBkeXNrLiBOYWpwaWVydyB0cnplYmEgamUgdXN1bsSFxIcgYWxibyB6bW5pZWpzennEhy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIlpkZWN5ZG93YW5pZSB6YWxlY2Egc2nEmSwgYWJ5IHRyemVjaWEgcGFydHljamEgcG9rcnl3YcWCYSBjYcWCeSBkeXNrIGkgYnnFgmEgdHlwdSBgQ2HFgnkgZHlzayciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiV3lyw7N3bmFuaWUgcGllcndzemVnbyBzZWt0b3JhIHogJXUgbmEgJXUgZG8gZ3JhbmljeSBjeWxpbmRyYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJTZWt0b3IgJWQgamVzdCBqdcW8IHByenlkemllbG9ueSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIk5pZSBwb2tyeXRvIGNhxYJlZ28gZHlza3UgdHJ6ZWNpxIUgcGFydHljasSFLCBhbGUgd2FydG/Fm8SHICVsdSAlc1xuIgorInBva3J5d2EgaW5uxIUgcGFydHljasSZLiBXcGlzIHpvc3RhxYIgem1pZW5pb255IG5hICVsdSAlcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiQWJ5IHphY2hvd2HEhyBrb21wYXR5Ymlsbm/Fm8SHIHogU3VuT1MtZW0vU29sYXJpc2VtLCBuYWpsZXBpZWogcG96b3N0YXdpxIcgdMSZIHBhcnR5Y2rEmSBqYWtvIGNhxYJ5IGR5c2sgKDUpLCB6YWN6eW5hasSFY8SFIHNpxJkgb2QgMCwgbyAldSBzZWt0b3JhY2giCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjMKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiSUQgZXR5a2lldHkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjgKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIklEIHdvbHVtaW51IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiWm1pZW5uZSBjeWxpbmRyeSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg4NAorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJMaWN6YmEgem1pZW5ueWNoIGN5bGluZHLDs3ciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiRG9kYXRrb3d5Y2ggc2VrdG9yw7N3IG5hIGN5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIldzcMOzxYJjenlubmlrIHByemVwbG90dSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJQcsSZZGtvxZvEhyBvYnJvdG93YSAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkxpY3piYSBmaXp5Y3pueWNoIGN5bGluZHLDs3ciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ2Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiTmFqbGVwaWVqIHBvem9zdGF3acSHIHBhcnR5Y2rEmSAzIGpha28gY2HFgnkgZHlzayAoNSksXG4iCisicG9uaWV3YcW8IHRlZ28gb2N6ZWt1amUgU3VuT1MvU29sYXJpcyBpIG5hd2V0IExpbnV4IHRvIGx1YmkuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiWmRlY3lkb3dhbmllIHphbGVjYSBzacSZLCBhYnkgcGFydHljamEgcG9kIG9mZnNldGVtIDAgYnnFgmFcbiIKKyJ0eXB1IFVGUywgRVhUMkZTIGx1YiBTdW5PUyBzd2FwLiBVbWllc3pjemVuaWUgdHV0YWogcGFydHljamlcbiIKKyJ3eW1pYW55IExpbnVrc2EgbW/FvGUgem5pc3pjennEhyB0YWJsaWPEmSBwYXJ0eWNqaSBpIGJsb2tcbiIKKyJyb3pydWNob3d5LiBDenkgbmEgcGV3bm8gdGEgcGFydHljamEgbWEgYnnEhyBvem5hY3pvbmEgamFrb1xuIgorImxpbnVrc293YSBwYXJ0eWNqYSB3eW1pYW55PyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHQuYzoyMzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJvcGVyYWNqYSBuaWUgcG93aW9kxYJhIHNpxJk6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJVV0FHQTogbmllIHVkYcWCbyBzacSZIHV3emdsxJlkbmnEhyBmbGFnIHByb3BhZ2FjamkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBkZXZpY2Ugd3JpdGUtcHJvdGVjdGVkLCBtb3VudGVkIHJlYWQtb25seSIKK21zZ3N0ciAiVVdBR0E6IHVyesSFZHplbmllIGplc3QgemFiZXpwaWVjem9uZSBwcnplZCB6YXBpc2VtLCBtb250b3dhbmllIHR5bGtvIGRvIG9kY3p5dHUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gcGVybWl0dGVkIGZvciByb290IG9ubHkiCittc2dzdHIgIm9wZXJhY2phIGRvendvbG9uYSB0eWxrbyBkbGEgcm9vdGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIGplc3QganXFvCB6YW1vbnRvd2FueSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIHcgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHBvaW50IGluICVzIgorbXNnc3RyICJuaWUgem5hbGV6aW9ubyBwdW5rdHUgbW9udG93YW5pYSB3ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIMW6csOzZMWCYSBwdW5rdHUgbW9udG93YW5pYSAlcyB3ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZCBvbiAlczsgdXNlIC10IDx0eXBlPiBvciB3aXBlZnMoOCkiCittc2dzdHIgIm5hICVzIHd5a3J5dG8gd2nEmWNlaiBzeXN0ZW3Ds3cgcGxpa8OzdzsgbmFsZcW8eSB1xbx5xIcgLXQgPHR5cD4gbHViIHdpcGVmcyg4KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgd3lrcnnEhyB0eXB1IHN5c3RlbXUgcGxpa8OzdyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGZpbGVzeXN0ZW0gdHlwZSBzcGVjaWZpZWQiCittc2dzdHIgIm5pZSBwb2Rhbm8gdHlwdSBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICJuaWUgem5hbGV6aW9ubyAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIm5pZSBwb2Rhbm8gxbpyw7NkxYJhIG1vbnRvd2FuaWEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9uczogJW0iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgb3BjamkgbW9udG93YW5pYTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBvcGNqaSBtb250b3dhbmlhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHNrb25maWd1cm93YcSHIHVyesSFZHplbmlhIGxvb3AgZGxhICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiZGxhICVzIGlzdG5pZWplIHphY2hvZHrEhWNlIHVyesSFZHplbmllIGxvb3AiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgImxvY2tpbmcgZmFpbGVkIgorbXNnc3RyICJ6YWJsb2tvd2FuaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW9udG93YW5pZSBuaWUgcG93aW9kxYJvIHNpxJk6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJzeXN0ZW0gcGxpa8OzdyB6b3N0YcWCIHphbW9udG93YW55LCBhbGUgbmllIHVkYcWCbyBzacSZIHVha3R1YWxuacSHIHRhYmxpY3kgbW9udG93YcWEIHcgcHJ6ZXN0cnplbmkgdcW8eXRrb3duaWthIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJzeXN0ZW0gcGxpa8OzdyB6b3N0YcWCIHphbW9udG93YW55LCBhbGUgxbxhZG5hIGtvbGVqbmEgb3BlcmFjamEgbmllIHBvd2lvZMWCYSBzacSZOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgInB1bmt0IG1vbnRvd2FuaWEgbmllIGplc3Qga2F0YWxvZ2llbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiYnJhayB1cHJhd25pZcWEIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJkbyB1xbx5d2FuaWEgbW91bnRhIHRyemViYSBiecSHIHN1cGVydcW8eXRrb3duaWtpZW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJwdW5rdCBtb250b3dhbmlhIGplc3QgemFqxJl0eSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMgamVzdCBqdcW8IHphbW9udG93YW55IHcgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAiJXMgamVzdCBqdcW8IHphbW9udG93YW55IGx1YiBwdW5rdCBtb250b3dhbmlhIGplc3QgemFqxJl0eSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJwdW5rdCBtb250b3dhbmlhIG5pZSBpc3RuaWVqZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJwdW5rdCBtb250b3dhbmlhIGplc3QgZG93acSFemFuaWVtIHN5bWJvbGljem55bSBkb25pa8SFZCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJ1cnrEhWR6ZW5pZSBzcGVjamFsbmUgJXMgbmllIGlzdG5pZWplIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgInd5d2/FgmFuaWUgc3lzdGVtb3dlIG1vdW50KDIpIG5pZSBwb3dpb2TFgm8gc2nEmTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJ1cnrEhWR6ZW5pZSBzcGVjamFsbmUgJXMgbmllIGlzdG5pZWplIChwcnplZHJvc3RlayDFm2NpZcW8a2kgbmllIGplc3Qga2F0YWxvZ2llbSkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJwdW5rdCBtb250b3dhbmlhIG5pZSBqZXN0IHphbW9udG93YW55IGFsYm8gcG9kYW5vIG5pZXfFgmHFm2Npd8SFIG9wY2rEmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJuaWUgamVzdCBwdW5rdGVtIG1vbnRvd2FuaWEgbHViIHBvZGFubyBuaWV3xYJhxZtjaXfEhSBvcGNqxJkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAibmlld8WCYcWbY2l3YSBvcGNqYTsgcHJ6ZW5vc3plbmllIG1vbnRvd2FuaWEgaXN0bmllasSFY2VnbyBwb25pxbxlaiBtb250b3dhbmlhIHdzcMOzxYJkemllbG9uZWdvIG5pZSBqZXN0IG9ic8WCdWdpd2FuZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0iCittc2dzdHIgIm5pZXfFgmHFm2Npd2Egb3BjamE7IGRsYSBuaWVrdMOzcnljaCBzeXN0ZW3Ds3cgcGxpa8OzdyAobnAuIG5mcywgY2lmcykgbW/FvGUgYnnEhyBwb3RyemVibnkgcHJvZ3JhbSBwb21vY25pY3p5IC9zYmluL21vdW50Ljx0eXA+IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICJuaWV3xYJhxZtjaXd5IHR5cCBzeXN0ZW11IHBsaWvDs3csIGLFgsSZZG5hIG9wY2phLCBixYLEmWRueSBzdXBlcmJsb2sgbmEgJXMsIGJyYWsgc3Ryb255IGtvZG93ZWogbHViIHByb2dyYW11IHBvbW9jbmljemVnbyBhbGJvIGplc3pjemUgaW5ueSBixYLEhWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJ0YWJsaWNhIG1vbnRvd2FuaWEgcGXFgm5hIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIG9kY3p5dGHEhyBzdXBlcmJsb2t1IG5hICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibmllem5hbnkgdHlwIHN5c3RlbXUgcGxpa8OzdyAnJXMnIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm5pZXpuYW55IHR5cCBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiJXMgbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltLCBhIHN0YXQoMikgbmllIHVkYWplIHNpxJk/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICJqxIVkcm8gbmllIHJvenBvem5hamUgJXMgamFrbyB1cnrEhWR6ZW5pYSBibG9rb3dlZ287IG1vxbxlIGtvbmllY3puZSBqZXN0IFwibW9kcHJvYmUgc3Rlcm93bmlrXCIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXMgbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltOyBtb8W8bmEgc3Byw7Nib3dhxIcgXCItbyBsb29wXCIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiAlcyBuaWUgamVzdCB1cnrEhWR6ZW5pZW0gYmxva293eW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIG5pZSBqZXN0IHBvcHJhd255bSB1cnrEhWR6ZW5pZW0gYmxva293eW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICJuaWUgbW/FvG5hIHphbW9udG93YcSHICVzIHR5bGtvIGRvIG9kY3p5dHUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiVzIGplc3QgemFiZXpwaWVjem9uZSBwcnplZCB6YXBpc2VtLCBhbGUgxbzEhWRhbm8gd3Byb3N0IHRyeWJ1IG9kY3p5dHUvemFwaXN1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJuaWUgbW/FvG5hIHByemVtb250b3dhxIcgJXMgZG8gb2Rjenl0dSBpIHphcGlzdSAtIHphYmV6cGllY3pvbmUgcHJ6ZWQgemFwaXNlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmQgJXMgZmFpbGVkIgorbXNnc3RyICJiaW5kICVzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiYnJhayBub8WbbmlrYSB3ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSB6YW1vbnRvd2HEhzsgcHJhd2RvcG9kb2JuaWUgdXN6a29kem9ueSBzeXN0ZW0gcGxpa8OzdyBuYSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudGVkIgorbXNnc3RyICJuaWUgemFtb250b3dhbnkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgIm9kbW9udG93YW5pZSBuaWUgcG93aW9kxYJvIHNpxJk6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJzeXN0ZW0gcGxpa8OzdyBvZG1vbnRvd2FueSwgYWxlIG5pZSB1ZGHFgm8gc2nEmSB1YWt0dWFsbmnEhyB0YWJsaWN5IG1vbnRvd2HFhCB3IHByemVzdHJ6ZW5pIHXFvHl0a293bmlrYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAic3lzdGVtIHBsaWvDs3cgb2Rtb250b3dhbnksIGFsZSDFvGFkbmEga29sZWpuYSBvcGVyYWNqYSBuaWUgcG93aW9kxYJhIHNpxJk6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJuaWVwcmF3aWTFgm93ZSB1cnrEhWR6ZW5pZSBibG9rb3dlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHdyaXRlIHN1cGVyYmxvY2siCittc2dzdHIgIm5pZSBtb8W8bmEgemFwaXNhxIcgc3VwZXJibG9rdSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAiY2VsIGplc3QgemFqxJl0eSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIm5pZSBwb2Rhbm8gcHVua3R1IG1vbnRvd2FuaWEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAidHJ6ZWJhIGJ5xIcgc3VwZXJ1xbx5dGtvd25pa2llbSwgxbxlYnkgb2Rtb250b3dhxIciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJ1cnrEhWR6ZW5pYSBibG9rb3dlIG5pZSBzxIUgZG96d29sb25lIHcgc3lzdGVtaWUgcGxpa8OzdyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAid3l3b8WCYW5pZSBzeXN0ZW1vd2UgdW1vdW50KDIpIG5pZSBwb3dpb2TFgm8gc2nEmTogJW0iCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3eXdvxYJhbmllIHdhaXRwaWQgbmllIHBvd2lvZMWCbyBzacSZICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB3eWtvbmHEhyBjYWxsb2MgZGxhIHpiaW9ydSBDUFUiCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaXN0eSBDUFUgJXMiCisKKyM6IGxpYi9wYXRoLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiYsWCxIVkIHNrxYJhZG5pIG1hc2tpIENQVSAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJuaWUgbW/FvG5hIG90d29yennEhyBnbmlhemRhIHVuaWtzb3dlZ28iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzkKK21zZ2lkICJjYW5ub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgb3BjamkgZ25pYXpkYSB1bmlrc293ZWdvIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5pZSBtb8W8bmEgcG/FgsSFY3p5xIcgc2nEmSB6IGduaWF6ZGVtIHVuaWtzb3d5bSIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICLFvMSFZGFuaWUgcGx5bW91dGggJWMgbmllIGplc3QgemFpbXBsZW1lbnRvd2FuZSIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICJmdW5rY2phIGdldHJhbmRvbSgpIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiZnVua2NqZSBwc2V1ZG9sb3Nvd2UgbGliYyIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHNwcmF3ZHppxIcgdXJ6xIVkemVuaWEiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IG5pZWplZG5vem5hY3pueSB3eW5payBwcsOzYnk7IHByb3N6xJkgdcW8ecSHIHdpcGVmcyg4KSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBuaWUgamVzdCBwb3ByYXduxIUgcGFydHljasSFIHd5bWlhbnkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczogbmllIG9ic8WCdWdpd2FuYSB3ZXJzamEgb2JzemFydSB3eW1pYW55ICclcyciCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NTkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgImZvcm1hdF9pc29fdGltZTogcHJ6ZXBlxYJuaWVuaWUgYnVmb3JhLiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgImN6YXMgJWxkIGplc3QgcG96YSB6YWtyZXNlbS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzx1xbx5dGtvd25paz5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiWm1pYW5hIHfFgmFzbnljaCBpbmZvcm1hY2ppIGZpbmdlci5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDxwZcWCbmUgZGFuZT4gaW1pxJkgaSBuYXp3aXNrb1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxwb2vDs2o+ICAgICAgICAgbnVtZXIgcG9rb2p1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHRlbGVmb24+IG51bWVyIHRlbGVmb251IGJpdXJvd2Vnb1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA1Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1oLCAtLWhvbWUtcGhvbmUgPHRlbGVmb24+ICAgbnVtZXIgdGVsZWZvbnUgZG9tb3dlZ29cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAicG9sZSAlcyBqZXN0IHpieXQgZMWCdWdpZSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczogemF3aWVyYSBuaWVkb3p3b2xvbmUgem5ha2kiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICJsb2dpbi5kZWZzIG5pZSBwb3p3YWxhIG5hIHVzdGF3aWFuaWUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzI2Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICJCaXVybyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE2OCBsb2dpbi11dGlscy9jaGZuLmM6MTcwIGxvZ2luLXV0aWxzL2NoZm4uYzozMjgKK21zZ2lkICJPZmZpY2UgUGhvbmUiCittc2dzdHIgIlRlbC4gYml1cm93eSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJUZWwuIGRvbW93eSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE5NCBsb2dpbi11dGlscy9jaHNoLmM6MTg3Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtdWx0aXBsZSB1c2VybmFtZXMiCittc2dzdHIgIm5pZSBtb8W8bmEgb2JzxYJ1xbx5xIcgd2llbHUgbmF6dyB1xbx5dGtvd25pa8OzdyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI0OAorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICJQcnplcndhbm8uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgbWEgbmllb2N6ZWtpd2FuxIUgd2FydG/Fm8SHOiAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1QgbmllIHBvendhbGEgbmEgxbxhZG5lIHptaWFueSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiSW5mb3JtYWNqZSBmaW5nZXIgKk5JRSogem9zdGHFgnkgem1pZW5pb25lLiBQcm9zesSZIHNwcsOzYm93YcSHIHDDs8W6bmllai5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiSW5mb3JtYWNqZSBmaW5nZXIgem1pZW5pb25lLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDI1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgIlR5ICh1xbx5dGtvd25payAlZCkgbmllIGlzdG5pZWplc3ouIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAidcW8eXRrb3duaWsgXCIlc1wiIG5pZSBpc3RuaWVqZS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICJtb8W8bmEgem1pZW5pxIcgdHlsa28gd3Bpc3kgbG9rYWxuZSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyBuaWUgamVzdCBhdXRvcnl6b3dhbnkgZG8gem1pYW55IGluZm9ybWFjamkgZmluZ2VyIHXFvHl0a293bmlrYSAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIk5pZXpuYW55IGtvbnRla3N0IHXFvHl0a293bmlrYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIHVzdGF3acSHIGRvbXnFm2xuZWdvIGtvbnRla3N0dSBkbGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NjkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJiaWXFvMSFY3kgVUlEIG5pZSB6Z2FkemEgc2nEmSB6IFVJRC1lbSB1xbx5dGtvd25pa2EsIGt0w7NyZWdvIGRvdHljenkgem1pYW5hOyB6bWlhbmEgemFicm9uaW9uYSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJabWlhbmEgaW5mb3JtYWNqaSBmaW5nZXIgZGxhICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiSW5mb3JtYWNqZSBmaW5nZXIgbmllIHpvc3RhxYJ5IHptaWVuaW9uZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3Cittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgIlptaWFuYSB3xYJhc25laiBwb3fFgm9raSBsb2dvd2FuaWEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8cG93xYJva2E+ICBva3JlxZtsZW5pZSBwb3fFgm9raSBsb2dvd2FuaWFcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICB3eXBpc2FuaWUgbGlzdHkgcG93xYJvayBpIHpha2/FhGN6ZW5pZVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMwCittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICJwb3fFgm9rYSBtdXNpIGJ5xIcgcG9kYW5hIHBlxYJuxIUgxZtjaWXFvGvEhSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIlwiJXNcIiBuaWUgaXN0bmllamUiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICJcIiVzXCIgbmllIGplc3Qgd3lrb255d2FsbnkiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICJVd2FnYTogXCIlc1wiIG5pZSB3eXN0xJlwdWplIHcgJXMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKyJcIiVzXCIgbmllIHd5c3TEmXB1amUgdyAlcy5cbiIKKyJQb2xlY2VuaWUgJXMgLWwgd3nFm3dpZXRsaSBsaXN0xJkuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIG5pZSBqZXN0IGF1dG9yeXpvd2FueSBkbyB6bWlhbnkgcG93xYJva2kgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJiaWXFvMSFY3kgVUlEIG5pZSB6Z2FkemEgc2nEmSB6IFVJRC1lbSB1xbx5dGtvd25pa2EsIGt0w7NyZWdvIGRvdHljenkgem1pYW5hOyB6bWlhbmEgcG93xYJva2kgemFicm9uaW9uYSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAicG93xYJva2EgbmllIGplc3QgdyAlcywgem1pYW5hIHphYnJvbmlvbmEiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICJabWlhbmEgcG93xYJva2kgZGxhICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOb3dhIHBvd8WCb2thIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJQb3fFgm9rYSBuaWUgem9zdGHFgmEgem1pZW5pb25hLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJQb3fFgm9rYSAqTklFKiB6b3N0YcWCYSB6bWllbmlvbmEuIFByb3N6xJkgc3Byw7Nib3dhxIcgcMOzxbpuaWVqLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorInNldHB3bmFtIG5pZSBwb3dpb2TFgm8gc2nEmVxuIgorIlBvd8WCb2thICpOSUUqIHpvc3RhxYJhIHptaWVuaW9uYS4gUHJvc3rEmSBzcHLDs2Jvd2HEhyBww7PFum5pZWouIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIlBvd8WCb2thIHptaWVuaW9uYS5cbiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIlNrxYJhZG5pYTogJXMgPHBsaWtfaGFzxYJhPiA8dcW8eXRrb3duaWs+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAibmllem5hbnkgZm9ybWF0IGN6YXN1OiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI3NiBsb2dpbi11dGlscy9sYXN0LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICJQcnplcndhbm8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzUgbG9naW4tdXRpbHMvbGFzdC5jOjQ0NiBsb2dpbi11dGlscy9sYXN0LmM6ODkyCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJwcnpla3JvY3pvbm8gcm96bWlhciBwcmVhbG9rYWNqaSIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFs8dcW8eXRrb3duaWs+Li4uXSBbPHRlcm1pbmFsPi4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICJXecWbd2lldGxlbmllIGxpc3R5IG9zdGF0bmlvIGxvZ3VqxIVjeWNoIHNpxJkgdcW8eXRrb3duaWvDs3cuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzgKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTxsaWN6YmE+ICAgICAgICAgICAgbGljemJhIGxpbmlpIGRvIHd5xZt3aWV0bGVuaWFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIHd5xZt3aWV0bGFuaWUgbmF6dyBob3N0w7N3IHcgb3N0YXRuaWVqIGtvbHVtbmllXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgIHTFgnVtYWN6ZW5pZSBhZHJlc8OzdyBJUCB6IHBvd3JvdGVtIG5hIG5hend5IGhvc3TDs3dcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxwbGlrPiAgICB1xbx5Y2llIG9rcmXFm2xvbmVnbyBwbGlrdSB6YW1pYXN0ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcGXFgm5lIGN6YXN5IG9yYXogZGF0eSBsb2dvd2FuaWEgaSB3eWxvZ293YW5pYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcCAgICAgICAgICAgICB3ecWbd2lldGxhbmllIGFkcmVzw7N3IElQIHcgbm90YWNqaSBsaWN6Ym93by1rcm9wa293ZWpcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtbiwgLS1saW1pdCA8bGljemJhPiBsaWN6YmEgbGluaWkgZG8gd3nFm3dpZXRsZW5pYVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBiZXogd3nFm3dpZXRsYW5pYSBwb2xhIHogbmF6d8SFIGhvc3RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8Y3phcz4gICB3ecWbd2lldGxlbmllIGxpbmlpIG9kIG9rcmXFm2xvbmVnbyBjemFzdVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPGN6YXM+ICAgd3nFm3dpZXRsZW5pZSBsaW5paSBkbyBva3JlxZtsb25lZ28gY3phc3VcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcCwgLS1wcmVzZW50IDxjemFzPiB3ecWbd2lldGxlbmllLCBrdG8gYnnFgiBvYmVjbnkgbyBva3JlxZtsb255bSBjemFzaWVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MAorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAtdywgLS1mdWxsbmFtZXMgICAgICB3ecWbd2lldGxhbmllIHBlxYJueWNoIG5hencgdcW8eXRrb3duaWvDs3cgaSBkb21lblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICB3cGlzeSBkb3R5Y3rEhWNlIHd5xYLEhWN6YW5pYSBpIHptaWFuIHBvemlvbcOzdyBzeXN0ZW11XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTIKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHd5xZt3aWV0bGFuaWUgem5hY3puaWvDs3cgY3phc3UgdyA8Zm9ybWFjaWU+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlcyB6YWN6eW5hIHNpxJkgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaWN6YnkiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGN6YXN1IFwiJXNcIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHpyenVjacSHIHVwcmF3bmllxYQiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJpbmljamFsaXphY2phIGxpYnVzZXIgbmllIHBvd2lvZMWCYSBzacSZOiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAiem1pYW5hIGF0cnlidXR1IHXFvHl0a293bmlrYSBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgImF0cnlidXQgdcW8eXRrb3duaWthIG5pZSB6bWllbmlvbnk6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIkLFgcSERCBLUllUWUNaTlk6IG5pZSBtb8W8bmEgcG9ub3duaWUgb3R3b3J6ecSHIHR0eTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiQsWBxIREIEtSWVRZQ1pOWTogJXMgbmllIGplc3QgdGVybWluYWxlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gKCVzLCAlbHUsICVsdSkgbmllIHBvd2lvZMWCbyBzacSZOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gKCVzLCAldSkgbmllIHBvd2lvZMWCbyBzacSZOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiQsWBxIREIEtSWVRZQ1pOWTogYsWCxJlkbnkgdHR5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICJCxYHEhEQgS1JZVFlDWk5ZOiAlczogem1pYW5hIHVwcmF3bmllxYQgbmllIHBvd2lvZMWCYSBzacSZOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIk9zdGF0bmllIGxvZ293YW5pZTogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJ6ICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJuYSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgInphcGlzIHdwaXN1IGxhc3Rsb2cgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIldEWldPTklFTklFIE5BICVzIFBSWkVaICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIkxPR09XQU5JRSBOQSBST09UQSBOQSAlcyBaICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJMT0dPV0FOSUUgTkEgUk9PVEEgTkEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIkxPR09XQU5JRSBOQSAlcyBOQSBLT05UTyAlcyBaICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiTE9HT1dBTklFIE5BICVzIE5BIEtPTlRPICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY4NgorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIk5pZXBvd29kemVuaWUgUEFNLCBwcnplcndhbm86ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgUEFNOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiQsWBxJhETkUgTE9HT1dBTklFICV1IFogJXMgTkEgS09OVE8gJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJOaWVwb3ByYXduZSBsb2dvd2FuaWVcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlpCWVQgRFXFu08gUFLDk0IgTE9HT1dBTklBICgldSkgWiAlcyBOQSBLT05UTyAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiTklFVURBTkEgU0VTSkEgTE9HT1dBTklBIFogJXMgTkEgS09OVE8gJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOaWVwb3ByYXduZSBsb2dvd2FuaWVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIlByb2JsZW0geiB1c3Rhbm93aWVuaWVtIHNlc2ppLCBwcnplcndhbm8uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJQVVNUQSBuYXp3YSB1xbx5dGtvd25pa2EgdyAlczolZC4gUHJ6ZXJ3YW5vLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBuaWUgcG93aW9kxYJvIHNpxJk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1xbx5dGtvd25paz5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJSb3pwb2N6xJljaWUgc2VzamkgdyBzeXN0ZW1pZS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCittc2dpZCAiIC1wICAgICAgICAgICAgIGRvIG5vdCBkZXN0cm95IHRoZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIC1wICAgICAgICAgICAgIGJleiBuaXN6Y3plbmlhIMWbcm9kb3dpc2thIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICAgIHBvbWluacSZY2llIGRydWdpZWdvIHV3aWVyenl0ZWxuaWFuaWEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNQorbXNnaWQgIiAtaCA8aG9zdD4gICAgICBob3N0bmFtZSB0byBiZSB1c2VkIGZvciB1dG1wIGxvZ2dpbmciCittc2dzdHIgIiAtaCA8aG9zdD4gICAgICBuYXp3YSBob3N0YSBkbyB1xbx5Y2lhIHByenkgbG9nb2R3YW5pdSB1dG1wIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiIC1IICAgICAgICAgICAgIHBvbWluacSZY2llIG5hend5IGhvc3RhIHcgemFjaMSZY2llIGRvIGxvZ293YW5pYSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiJXM6IHByemVrcm9jem9ueSBsaW1pdCBjemFzdSBsb2dvd2FuaWEgKCV1IHMpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWggamVzdCB0eWxrbyBkbGEgc3VwZXJ1xbx5dGtvd25pa2FcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJOaWVwb3ByYXduYSBuYXp3YSB1xbx5dGtvd25pa2EgXCIlc1wiIHcgJXM6JWQuIFByemVyd2Fuby4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiaW5pY2phbGl6YWNqYSBncnVwIG5pZSBwb3dpb2TFgmEgc2nEmTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIkplc3Qgbm93YSBwb2N6dGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJKZXN0IHBvY3p0YS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IHptaWFuYSBrYXRhbG9ndSBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIkxvZ293YW5pZSB6IGthdGFsb2dpZW0gZG9tb3d5bSA9IFwiL1wiLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVydWNob21pxIcgc2tyeXB0dSBwb3fFgm9raSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgImJyYWsgcG93xYJva2kiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMgemF3aWVyYSBixYLEmWRuxIUgd2FydG/Fm8SHIGxpY3pib3fEhTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM4MworbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgInN0YXR1cyBjaWNoZWdvIGxvZ293YW5pYTogb2R0d29yemVuaWUgb3J5Z2luYWxueWNoIElEIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTQzNiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2CisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJubyIKK21zZ3N0ciAibmllIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJuYXp3YSB1xbx5dGtvd25pa2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIk5hendhIHXFvHl0a293bmlrYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAiSUQgdcW8eXRrb3duaWthIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiaGFzxYJvIG5pZSBqZXN0IHd5bWFnYW5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAiSGFzxYJvIG5pZSBqZXN0IHd5bWFnYW5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICJsb2dvd2FuaWUgeiB1xbx5Y2llbSBoYXPFgmEgd3nFgsSFY3pvbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIkxvZ293YW5pZSB6IHXFvHljaWVtIGhhc8WCYSB3ecWCxIVjem9uZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJoYXPFgm8gemRlZmluaW93YW5lLCBhbGUgemFibG9rb3dhbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJIYXPFgm8gamVzdCB6YWJsb2tvd2FuZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAibG9nb3dhbmllIHphYmxva293YW5lIHBvcHJ6ZXogbm9sb2dpbig4KSBsdWIgcGFtX25vbG9naW4oOCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIkJyYWsgbG9nb3dhbmlhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAibmF6d2EgZ3J1cHkgcG9kc3Rhd293ZWoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAiR3J1cGEgcG9kc3Rhd293YSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJJRCBncnVweSBwb2RzdGF3b3dlaiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICJuYXp3eSBncnVwIGRvZGF0a293eWNoIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJHcnVweSBkb2RhdGtvd2UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEIGdydXAgZG9kYXRrb3d5Y2giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEIGdydXAgZG9kYXRrb3d5Y2giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImthdGFsb2cgZG9tb3d5IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJLYXRhbG9nIGRvbW93eSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAicG93xYJva2EgbG9nb3dhbmlhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJQb3fFgm9rYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAicGXFgm5hIG5hendhIHXFvHl0a293bmlrYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiUG9sZSBHRUNPUyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgImRhdGEgb3N0YXRuaWVnbyBsb2dvd2FuaWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAiT3N0YXRuaWUgbG9nb3dhbmllIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgIm9zdGF0bmlvIHXFvHl3YW55IHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIk9zdGF0bmkgdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIm5hendhIGhvc3RhIHBvZGN6YXMgb3N0YXRuaWVqIHNlc2ppIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIk9zdGF0bmlhIG5hendhIGhvc3RhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImRhdGEgb3N0YXRuaWVnbyBuaWV1ZGFuZWdvIGxvZ293YW5pYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIk5pZXVkYW5lIGxvZ293YW5pZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJza8SFZCBsb2dvd2FuaWUgc2nEmSBuaWUgcG93aW9kxYJvPyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIlRlcm1pbmFsIG5pZXVkYW5lZ28gbG9nb3dhbmlhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJ1c3Rhd2llbmlhIHNwb2tvanUgdcW8eXRrb3duaWthIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiV3ljaXN6b255IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAibGljemJhIGRuaSwga2llZHkgdcW8eXRrb3duaWsgamVzdCBvc3RyemVnYW55IG8gd3lnYcWbbmnEmWNpdSBoYXPFgmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICJQcnplZHppYcWCIG9zdHJ6ZcW8ZW5pYSBvIHd5Z2HFm25pxJljaXUgaGFzxYJhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiZGF0YSB3eWdhxZtuacSZY2lhIGhhc8WCYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJXeWdhxZtuacSZY2llIGhhc8WCYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICJkYXRhIG9zdGF0bmllaiB6bWlhbnkgaGFzxYJhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIkhhc8WCbyB6bWllbmlvbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJsaWN6YmEgZG5pIHd5bWFnYW55Y2ggbWnEmWR6eSB6bWlhbmFtaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJNaW5pbWFsbnkgY3phcyB6bWlhbnkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIm1ha3N5bWFsbmEgbGljemJhIGRuaSwgcHJ6ZXoga3TDs3JlIGhhc8WCbyBtb8W8ZSBuaWUgYnnEhyB6bWllbmlhbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiTWFrc3ltYWxueSBjemFzIHptaWFueSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgImtvbnRla3N0IGJlenBpZWN6ZcWEc3R3YSB1xbx5dGtvd25pa2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJLb250ZWtzdCBTRUxpbnVrc2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgImxpY3piYSBwcm9jZXPDs3cgdXJ1Y2hvbWlvbnljaCBwcnpleiB1xbx5dGtvd25pa2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIlVydWNob21pb25lIHByb2Nlc3kiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjQxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQgc3lzLXV0aWxzL2xzbWVtLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgInBvZGFubyB6Ynl0IGR1xbxvIGtvbHVtbiwgbGltaXQgdG8gJXp1IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbnkgcm9kemFqIGN6YXN1IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgesWCb8W8ecSHIMWCYcWEY3VjaGEgY3phc3UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHBvYnJhxIcgZ3J1cCBkb2RhdGtvd3ljaCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJixYLEhWQgd2V3bsSZdHJ6bnk6IG5pZXpuYW5hIGtvbHVtbmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3N0YXRuaWUgbG9naTpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW29wY2plXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUgaW5mb3JtYWNqaSBvIHpuYW55Y2ggdcW8eXRrb3duaWthY2ggdyBzeXN0ZW1pZS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHd5Z2HFm25pxJljaXUgaGFzZcWCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMworbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICB3ecWbd2lldGxlbmllIGRhbnljaCB3IGZvcm1hY2llIHBvZG9ibnltIGRvIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgd3lqxZtjaWEgdyBmb3JtYWNpZSBla3Nwb3J0b3dhbG55bVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIHd5cGlzYW5pZSBkYW55Y2ggbyBvc3RhdG5pY2ggbmlldWRhbnljaCBsb2dvd2FuaWFjaFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyBncnVwYWNoXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTxncnVweT4gICAgIHd5cGlzYW5pZSB1xbx5dGtvd25pa8OzdyBuYWxlxbzEhWN5Y2ggZG8ga3TDs3JlasWbIHogPGdydXA+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHd5cGlzYW5pZSBpbmZvcm1hY2ppIG8gb3N0YXRuaWNoIHNlc2phY2ggdcW8eXRrb3duaWvDs3dcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIgLWwsIC0tbG9naW5zPTxuYXp3eT4gICAgIHd5xZt3aWV0bGFuaWUgdHlsa28gdcW8eXRrb3duaWvDs3cgbyBuYXp3YWNoIHNwb8WbcsOzZCA8bmF6dz5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQwIHN5cy11dGlscy9sc2lwYy5jOjI5OQorbXNnaWQgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBrYcW8ZGEgaW5mb3JtYWNqYSB3IG5vd2VqIGxpbmlpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8Ozd1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBiZXogdWNpbmFuaWEgd3lqxZtjaWFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0Wz08bGlzdGE+XSAgIG9rcmXFm2xlbmllIGtvbHVtbiBkbyB3eXBpc2FuaWFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgendpxIV6YW55Y2ggeiBsb2dvd2FuaWVtIGhhc8WCZW0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDMKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICB3ecWbd2lldGxlbmllIHcgdHJ5YmllIHN1cm93eW1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIHd5cGlzYW5pZSBrb250IHN5c3RlbW93eWNoXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cD4gIGZvcm1hdCB3ecWbd2lldGxhbmlhIGRhdCAoc2hvcnQsIGZ1bGwsIGlzbylcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICB3eXBpc2FuaWUga29udCB1xbx5dGtvd25pa8Ozd1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIHd5cGlzYW5pZSBrb250ZWtzdMOzdyBTRUxpbnVrc2FcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIG9kZHppZWxhbmllIHdwaXPDs3cgdcW8eXRrb3duaWvDs3cgem5ha2llbSBOVUxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiICAgICAtLXd0bXAtZmlsZSA8cGxpaz4gICB1c3Rhd2llbmllIGFsdGVybmF0eXduZWogxZtjaWXFvGtpIGRvIHd0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA8cGxpaz4gICB1c3Rhd2llbmllIGFsdGVybmF0eXduZWogxZtjaWXFvGtpIGRvIGJ0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDM0Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAixbzEhWRhbmllIHN0YW51IFNFTGludWtzYSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJNb8W8bmEgcG9kYcSHIHR5bGtvIGplZG5lZ28gdcW8eXRrb3duaWthLiBEbGEgd2llbHUgdcW8eXRrb3duaWvDs3cgcHJvc3rEmSB1xbx5xIcgLWwuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGF0cnlidXTDs3cgdGVybWluYWxhIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIkhhc8WCbzogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAiY3J5cHQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDxncnVwYT5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICJMb2dvd2FuaWUgZG8gbm93ZWogZ3J1cHkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAia2ltIGplc3RlxZs/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIm5pZSBtYSB0YWtpZWogZ3J1cHkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICJHcnplY3puZSBvZG3Ds3dpZW5pZSBsb2dvd2FuaWEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgIlRvIGtvbnRvIGplc3QgYWt0dWFsbmllIG5pZWRvc3TEmXBuZS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAoenJ6dXQgcGFtacSZY2kpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwb2JyYcSHIGF0cnlidXTDs3cgdGVybWluYWxhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHV0d29yennEhyBwc2V1ZG90ZXJtaW5hbGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAibmllIG1vxbxuYSB6YWJsb2tvd2HEhyBzeWduYcWCw7N3IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjcwCittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHptb2R5Zmlrb3dhxIcgxZtyb2Rvd2lza2EiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwNgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAicnVudXNlciBtb8W8ZSBiecSHIHXFvHl3YW5lIHR5bGtvIHByemV6IHJvb3RhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgImLFgsSZZG5lIGhhc8WCbyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIG90d29yennEhyBzZXNqaTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICJuaWUgbW/FvG5hIHphaW5pY2pvd2HEhyBtYXNraSBzeWduYcWCw7N3IGRsYSBzZXNqaSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siCittc2dzdHIgIm5pZSBtb8W8bmEgemFpbmljam93YcSHIG1hc2tpIHN5Z25hxYLDs3ciCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc5NworbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgcHJvY2VkdXJ5IG9ic8WCdWdpIHN5Z25hxYLDs3cgZGxhIHNlc2ppIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAibmllIG1vxbxuYSB1c3Rhd2nEhyBwcm9jZWR1cnkgb2JzxYJ1Z2kgc3lnbmHFgnUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgxMworbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgbWFza2kgc3lnbmHFgsOzdyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJuaWUgbW/FvG5hIHV0d29yennEhyBwcm9jZXN1IHBvdG9tbmVnbyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIHptaWVuacSHIGthdGFsb2d1IG5hICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc2phIHByemVyd2FuYSwgemFiaWphbmllIHBvd8WCb2tpLi4uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIC4uLnphYml0by5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTQxCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHptaWVubmVqIMWbcm9kb3dpc2tvd2VqIFBBVEgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMDYKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAibmllIG1vxbxuYSB1c3Rhd2nEhyBncnVwIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1c2VyIGNyZWRlbnRpYWxzOiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemV0d29yennEhyBkYW55Y2ggdXdpZXJ6eXRlbG5pYWrEhWN5Y2ggdcW8eXRrb3duaWthOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyMiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJuaWUgbW/FvG5hIHVzdGF3acSHIGlkZW50eWZpa2F0b3JhIGdydXB5IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAibmllIG1vxbxuYSB1c3Rhd2nEhyBpZGVudHlmaWthdG9yYSB1xbx5dGtvd25pa2EiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGJleiBrYXNvd2FuaWEgem1pZW5ueWNoIMWbcm9kb3dpc2tvd3ljaFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkzCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPGdydXBhPiAgICAgICAgICAgICBva3JlxZtsZW5pZSBncnVweSBnxYLDs3duZWpcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdydXBhPiAgICAgICAgb2tyZcWbbGVuaWUgZ3J1cHkgZG9kYXRrb3dlalxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICB1Y3p5bmllbmllIHBvd8WCb2tpIHBvd8WCb2vEhSBsb2dvd2FuaWFcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIgLWMgIC0tY29tbWFuZCA8cG9sZWNlbmllPiAgICAgICBwcnpla2F6YW5pZSBwb2xlY2VuaWEgZG8gcG93xYJva2kgcHJ6ZXogLWNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8cG9sZWNlbmllPiAgIHByemVrYXphbmllIHBvamVkeW5jemVnbyBwb2xlY2VuaWEgZG8gcG93xYJva2lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByemV6IC1jIGJleiB0d29yemVuaWEgbm93ZWogc2VzamlcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHByemVrYXphbmllIC1mIGRvIHBvd8WCb2tpIChkbGEgY3NoIGkgdGNzaClcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHBvd8WCb2thPiAgICAgICAgICAgdXJ1Y2hvbWllbmllIDxwb3fFgm9raT4sIGplxZtsaSAvZXRjL3NoZWxscyBwb3p3YWxhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIHV0d29yemVuaWUgbm93ZWdvIHBzZXVkb3Rlcm1pbmFsYVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2plXSAtdSA8dcW8eXRrb3duaWs+IFtbLS1dIDxwb2xlY2VuaWU+XVxuIgorIiAlMSRzIFtvcGNqZV0gWy1dIFs8dcW8eXRrb3duaWs+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExOAorbXNnaWQgIiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJVcnVjaG9taWVuaWUgPHBvbGVjZW5pYT4geiBlZmVrdHl3bnltIGlkZW50eWZpa2F0b3JlbSBpIGdydXDEhSA8dcW8eXRrb3duaWthPi5cbiIKKyJKZcWbbGkgbmllIHBvZGFubyAtdSwgbmFzdMSZcHVqZSBwcnplasWbY2llIGRvIHNlbWFudHlraSB6Z29kbmVqIHogc3UoMSlcbiIKKyJpIHd5d2/FgmFuaWUgc3RhbmRhcmRvd2VqIHBvd8WCb2tpLlxuIgorIk9wY2plIC1jLCAtZiwgLWwgaSAtcyB3eWtsdWN6YWrEhSBzacSZIHogLXUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMjMKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8dcW8eXRrb3duaWs+ICAgICAgICAgbmF6d2EgdcW8eXRrb3duaWthXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFstXSBbPHXFvHl0a293bmlrPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlptaWFuYSBlZmVrdHl3bmVnbyBJRCB1xbx5dGtvd25pa2EgaSBncnVweSBuYSBpZGVudHlmaWthdG9yeSA8dcW8eXRrb3duaWthPi5cbiIKKyJTYW0gLSBvem5hY3phIC1sLiBKZcWbbGkgbmllIHBvZGFubyA8dcW8eXRrb3duaWthPiwgcHJ6eWptb3dhbnkgamVzdCByb290LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICJwb2RhbmllIHdpxJljZWogbmnFvCAlZCBncnVweSBkb2RhdGtvd2VqIG5pZSBqZXN0IG1vxbxsaXdlIgorbXNnc3RyWzFdICJwb2RhbmllIHdpxJljZWogbmnFvCAlZCBncnVwIGRvZGF0a293eWNoIG5pZSBqZXN0IG1vxbxsaXdlIgorbXNnc3RyWzJdICJwb2RhbmllIHdpxJljZWogbmnFvCAlZCBncnVwIGRvZGF0a293eWNoIG5pZSBqZXN0IG1vxbxsaXdlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJncnVwYSAlcyBuaWUgaXN0bmllamUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiLS1wdHkgbmllIGplc3Qgb2JzxYJ1Z2l3YW5lIGRsYSB0ZWdvIHN5c3RlbXUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzMjYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgInppZ25vcm93YW5vIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIHd5a2x1Y3phIHNpxJkgeiAtLWxvZ2luIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQwCittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wY2plIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IG9yYXogLS11c2VyIHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIHBvbGVjZW5pYSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgInR5bGtvIHJvb3QgbW/FvGUgcG9kYXdhxIcgZ3J1cHkgYWx0ZXJuYXR5d25lIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgInXFvHl0a293bmlrICVzIG5pZSBpc3RuaWVqZS4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAidcW8eWNpZSBvZ3Jhbmljem9uZWogcG93xYJva2kgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgInV3YWdhOiBuaWUgbW/FvG5hIHptaWVuacSHIGthdGFsb2d1IG5hICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNnZXRhdHRyIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjc2V0YXR0ciBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiBicmFrIHdwaXN1IGRsYSByb290YVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXM6IGJyYWsgd3Bpc3UgZGxhIHJvb3RhIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiBoYXPFgm8gcm9vdGEgdXN6a29kem9uZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOaWUgbW/FvG5hIG90d29yennEhyBkb3N0xJlwdSBkbyBrb25zb2xpLCBrb250byByb290YSBqZXN0IHphYmxva293YW5lLlxuIgorIldpxJljZWogaW5mb3JtYWNqaSBuYSBzdHJvbmllIHBvZHLEmWN6bmlrYSBzdWxvZ2luKDgpLlxuIgorIlxuIgorIlByb3N6xJkgbmFjaXNuxIXEhyBFbnRlciB3IGNlbHUga29udHludWFjamkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICJQcm9zesSZIHBvZGHEhyBoYXPFgm8gcm9vdGEgZG8gemFsb2dvd2FuaWE6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiUHJvc3rEmSBuYWNpc27EhcSHIEVudGVyIHcgY2VsdSB6YWxvZ293YW5pYTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiUHJvc3rEmSBwb2RhxIcgaGFzxYJvIHJvb3RhIHcgY2VsdSBuYXByYXd5XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIlByb3N6xJkgbmFjaXNuxIXEhyBFbnRlciB3IGNlbHUgbmFwcmF3eVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIihsdWIgbmFjaXNuxIXEhyBDb250cm9sLUQsIGFieSBrb250eW51b3dhxIcpOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzMKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAiem1pYW5hIGthdGFsb2d1IG5hIGfFgsOzd255IGthdGFsb2cgc3lzdGVtdSBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3ODIKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAid3l3b8WCYW5pZSBzZXRleGVjY29uIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt0dHkgZGV2aWNlXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbdXJ6xIVkemVuaWUgdHR5XVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIkxvZ293YW5pZSB3IHRyeWJpZSBqZWRuZWdvIHXFvHl0a293bmlrYS5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICB1cnVjaG9taWVuaWUgcG93xYJva2kgbG9nb3dhbmlhXG4iCisiIC10LCAtLXRpbWVvdXQgPHNla3VuZHk+ICBtYWtzeW1hbG55IGN6YXMgb2N6ZWtpd2FuaWEgbmEgaGFzxYJvIChkb215xZtsbmllOiBicmFrKVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgYmV6cG/Fm3JlZG5pZSBzcHJhd2R6YW5pZSBwbGlrw7N3IGhhc2XFgiwgZ2R5IGdldHB3bmFtKDMpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB6YXdvZHppXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGxpbWl0dSBjemFzdSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJ0eWxrbyBzdXBlcnXFvHl0a293bmlrIG1vxbxlIHVydWNob21pxIcgdGVuIHByb2dyYW0iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MjcKK21zZ2lkICJjYW5ub3Qgb3BlbiBjb25zb2xlIgorbXNnc3RyICJuaWUgbW/FvG5hIG90d29yennEhyBrb25zb2xpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM0Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHIGJhenkgZGFueWNoIGhhc2XFgiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJuaWUgbW/FvG5hIHVydWNob21pxIcgcG93xYJva2kgc3VcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKyJVcMWCeW7EhcWCIGxpbWl0IGN6YXN1XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5Cittc2dpZCAiIgorImNhbm5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJuaWUgbW/FvG5hIG9jemVraXdhxIcgdyBwb3fFgm9jZSBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IG5pZSBtb8W8bmEgZG9kYcSHIG9ic2Vyd2F0b3JhIGlub3RpZnkuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIG9kY3p5dGHEhyB6ZGFyemXFhCBpbm90aWZ5IgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0OQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiTmFkbWlhcm93eSB6bmFrIGtvxYRjYSBsaW5paSB3IHBsaWt1LiBaYWtvxYRjemVuaWUuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gW25hendhX3BsaWt1XVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwNgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICJacnp1dCBwbGlrw7N3IFVUTVAgaSBXVE1QIHcgZm9ybWFjaWUgc3Vyb3d5bS5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvbGxvdyAgICAgICAgIHd5cGlzeXdhbmllIGRvxYLEhWN6YW55Y2ggZGFueWNoIHcgbWlhcsSZIHJvenJvc3R1IHBsaWt1XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEwCittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJldmVyc2UgICAgICAgIHphcGlzIHpyenVjb255Y2ggZGFueWNoIHogcG93cm90ZW0gZG8gcGxpa3UgdXRtcFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPHBsaWs+ICB6YXBpcyBkbyBwbGlrdSB6YW1pYXN0IHN0YW5kYXJkb3dlZ28gd3lqxZtjaWFcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgInBvZMSFxbxhbmllIHphIHN0YW5kYXJkb3d5bSB3ZWrFm2NpZW0gbmllIGplc3Qgb2JzxYJ1Z2l3YW5lIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJPZHdyb3RueSB6cnp1dCB1dG1wIHogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIlpyenV0IHV0bXAgeiAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgcGxpa3UgdHltY3phc293ZWdvIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHR3b3J6ZW5pZSBkb3dpxIV6YW5pYSBkbyAlcyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJOaWUgbW/FvG5hIHV6eXNrYcSHIGtvbnRla3N0dSBkbGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJOaWUgbW/FvG5hIHVzdGF3acSHIGtvbnRla3N0dSBkbGEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlcyBuaWV6bWllbmlvbnkiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTcKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgIm5pZSBtb8W8bmEgcG9icmHEhyBibG9rYWR5IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICJuaWUgd3lrb25hbm8gem1pYW4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAibmllIG1vxbxuYSB3eWtvbmHEhyBjaG1vZCBwbGlrdSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIk1vZHlmaWthY2phIHBsaWt1IGhhc2XFgiBsdWIgZ3J1cC5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVyB0eW0gc3lzdGVtaWUgdcW8eXdhbmUgc8SFIGdydXB5IHVrcnl0ZSAoc2hhZG93KS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiVyB0eW0gc3lzdGVtaWUgdcW8eXdhbmUgc8SFIGhhc8WCYSB1a3J5dGUgKHNoYWRvdykuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICJDenkgbW9keWZpa293YcSHIHRlcmF6ICVzIFt0L25dPyAiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIgorbXNnc3RyICIlcyB6IHBha2lldHUgJXMgKGxpYmJsa2lkICVzLCAlcylcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisiICVzIC0tbGFiZWwgPGV0eWtpZXRhPiB8IC0tdXVpZCA8dXVpZD5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAlcyBbLS1jYWNoZS1maWxlIDxwbGlrPl0gWy1naGxMdl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSBbLS1tYXRjaC10YWcgPHpuYWN6bmlrPl1cbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzx1cnrEhWR6ZW5pZT4gLi4uXVxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8em5hY3puaWs+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHJvem1pYXI+XVxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDx1cnrEhWR6ZW5pZSAuLi5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyAtaSBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCittc2dzdHIgIiAlcyAtaSBbLS1tYXRjaC10YWcgPHpuYWN6bmlrPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8dXJ6xIVkemVuaWU+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8cGxpaz4gICAgb2Rjenl0IHogPHBsaWt1PiB6YW1pYXN0IHogZG9tecWbbG5lZ28gcGxpa3UgcGFtacSZY2lcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RyxJljem5laiAoLWMgL2Rldi9udWxsIG96bmFjemEgYnJhayBjYWNoZSlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg1Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgYmV6IGtvZG93YW5pYSB6bmFrw7N3IG5pZWRydWtvd2FsbnljaFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODYKK21zZ2lkICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgZ2FyYmFnZSBjb2xsZWN0IHRoZSBibGtpZCBjYWNoZVxuIgorbXNnc3RyICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgb2TFm21pZWNlbmllIHBhbWnEmWNpIHBvZHLEmWN6bmVqIGJsa2lkXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NworbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0IDxmb3JtYXQ+ICAgICAgb3V0cHV0IGZvcm1hdDsgY2FuIGJlIG9uZSBvZjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3IgZnVsbDsgKGRlZmF1bHQ6IGZ1bGwpXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0IDxmb3JtYXQ+ICAgICAgZm9ybWF0IHd5asWbY2lvd3k7IG1vxbxlIGJ5xIcgamVkbnltIHo6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IGx1YiBmdWxsIChkb215xZtsbmllOiBmdWxsKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3RhIHpuYW55Y2ggc3lzdGVtw7N3IHBsaWvDs3cvUkFJRC3Ds3cgaSB6YWtvxYRjemVuaWVcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIgLXMsIC0tbWF0Y2gtdGFnIDx6bmFjem5paz4gcG9rYXphbmllIGRhbnljaCB6bmFjem5pa8OzdyAoZG9tecWbbG5pZTogd3N6eXN0a2ljaClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRva2VuPiAgem5hbGV6aWVuaWUgdXJ6xIVkemVuaWEgZGxhIHBhcnkgTkFaV0E9d2FydG/Fm8SHXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MgorbXNnaWQgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBsb29rIHVwIG9ubHkgZmlyc3QgZGV2aWNlIHdpdGggdG9rZW4gc3BlY2lmaWVkIGJ5IC10XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBzenVrYW5pZSB0eWxrbyBwaWVyd3N6ZWdvIHVyesSFZHplbmlhIHBhc3VqxIVjZWdvIGRvIC10XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworbXNnaWQgIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICAgICBjb252ZXJ0IExBQkVMIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAtTCwgLS1sYWJlbCA8ZXR5a2lldGE+ICAgICB6YW1pYW5hIEVUWUtJRVRZIG5hIG5henfEmSB1cnrEhWR6ZW5pYVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTQKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICB6YW1pYW5hIFVVSUQtYSBuYSBuYXp3xJkgdXJ6xIVkemVuaWFcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgZGV2aWNlKHMpIHRvIHByb2JlIChkZWZhdWx0OiBhbGwgZGV2aWNlcylcbiIKK21zZ3N0ciAiIDx1cnrEhWR6ZW5pZT4gICAgICAgICAgICAgICB1cnrEhWR6ZW5pYSBkbyBzcHJhd2R6ZW5pYSAoZG9tecWbbG5pZTogd3N6eXN0a2llKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTcKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICJOaXNrb3BvemlvbW93ZSBvcGNqZSBzcHJhd2R6YW5pYTpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBuaXNrb3BvemlvbW93ZSBzcHJhd2R6YW5pZSBzdXBlcmJsb2vDs3cgKGJleiBjYWNoZSlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICB6ZWJyYW5pZSBpbmZvcm1hY2ppIG8gbGltaXRhY2ggd2Uvd3lcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHJvem1pYXI+ICAgICAgIHd5bXVzemVuaWUgcm96bWlhcnUgdXJ6xIVkemVuaWFcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBzcHJhd2R6ZW5pZSBuYSBwb2RhbmVqIHBvenljamlcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMgorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiIC11LCAtLXVzYWdlcyA8bGlzdGE+ICAgICAgIGZpbHRyIHdnIHphc3Rvc293YW5pYSAobnAuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0YT4gIGZpbHRyIHdnIHR5cHUgc3lzdGVtdSBwbGlrw7N3IChucC4gLW4gdmZhdCxleHQzKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM1Cittc2dpZCAiKG1vdW50ZWQsIG10cHQgdW5rbm93bikiCittc2dzdHIgIih6YW1vbnRvd2FueSwgcHVua3QgbW9udG93YW5pYSBuaWV6bmFueSkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiKHcgdcW8eWNpdSkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzkKK21zZ2lkICIobm90IG1vdW50ZWQpIgorbXNnc3RyICIobmllIHphbW9udG93YW55KSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImLFgsSFZDogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiVzOiBuaWVqZWRub3puYWN6bnkgd3luaWsgKHByYXdkb3BvZG9ibmllIHdpxJljZWogc3lzdGVtw7N3IHBsaWvDs3cgbmEgdXJ6xIVkemVuaXU7IHdpxJljZWogaW5mb3JtYWNqaSB3IHdpcGVmcyg4KSkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAibmllem5hbmUgc8WCb3dvIGtsdWN6b3dlIHcgYXJndW1lbmNpZSAtdSA8bGlzdGE+OiAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjExCittc2dpZCAiZXJyb3I6IC11IDxsaXN0PiBhcmd1bWVudCBpcyBlbXB0eSIKK21zZ3N0ciAiYsWCxIVkOiBwdXN0eSBhcmd1bWVudCAtdSA8bGlzdGE+IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbnkgZm9ybWF0IHd5asWbY2lhICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBvZmZzZXR1IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIlBvZGFubyB6Ynl0IGR1xbxvIHpuYWN6bmlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCittc2dpZCAiaW52YWxpZCBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgcm96bWlhcnUiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIk1vxbxuYSBzenVrYcSHIHR5bGtvIGplZG5laiBwYXJ5IE5BWldBPXdhcnRvxZvEhyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiLXQgd3ltYWdhIHBhcnkgTkFaV0E9d2FydG/Fm8SHIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiTmlza29wb3ppb21vd3kgdHJ5YiBzcHJhd2R6YW5pYSBuaWUgb2JzxYJ1Z3VqZSBmb3JtYXR1IHd5asWbY2lhICdsaXN0JyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg0NgorbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIHJlcXVpcmVzIGEgZGV2aWNlIgorbXNnc3RyICJOaXNrb3BvemlvbW93eSB0cnliIHNwcmF3ZHphbmlhIHd5bWFnYSB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICJPcGNqYSB3eXN6dWtpd2FuaWEgd3ltYWdhIG9rcmXFm2xlbmlhIHR5cHUgd3lzenVraXdhbmlhIHByenkgdcW8eWNpdSAtdCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBwb3N0YcSHIG1pZXNpxIVjYSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHBvc3RhxIcgdHlnb2RuaWEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIxCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAibmllZG96d29sb25hIHdhcnRvxZvEhyB0eWdvZG5pYTogZG9wdXN6Y3phbG5lIHRvIDEtNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyB6bmFjem5pa2EgY3phc3UgbHViIG5pZXpuYW5hIG5hendhIG1pZXNpxIVjYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWUiCittc2dzdHIgIm5pZWRvendvbG9uYSB3YXJ0b8WbxIcgZG5pYSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzcgbWlzYy11dGlscy9jYWwuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJuaWVkb3p3b2xvbmEgd2FydG/Fm8SHIGRuaWE6IGRvcHVzemN6YWxuZSB0byAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICJuaWVkb3p3b2xvbmEgd2FydG/Fm8SHIG1pZXNpxIVjYTogZG9wdXN6Y3phbG5lIHRvIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIm5pZXpuYW5hIG5hendhIG1pZXNpxIVjYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJuaWVkb3p3b2xvbmEgd2FydG/Fm8SHIHJva3UiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAibmllZG96d29sb25hIHdhcnRvxZvEhyByb2t1OiBkb3B1c3pjemFsbmUgdHlsa28gY2HFgmtvd2l0ZSBkb2RhdG5pZSIKKworIzogbWlzYy11dGlscy9jYWwuYzo1MzAgbWlzYy11dGlscy9jYWwuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICJuaWVkb3p3b2xvbmEgd2FydG/Fm8SHIHR5Z29kbmlhOiByb2sgJWQgbmllIG1hIHR5Z29kbmlhICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICU0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gW1tbZHppZcWEXSBtaWVzacSFY10gcm9rXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gPHpuYWN6bmlrX2N6YXN1fG5hendhX21pZXNpxIVjYT5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIld5xZt3aWV0bGVuaWUga2FsZW5kYXJ6YSBsdWIgcGV3bmVqIGplZ28gY3rEmcWbY2kuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiQmV6IMW8YWRueWNoIGFyZ3VtZW50w7N3IHd5xZt3aWV0bGFueSBqZXN0IGJpZcW8xIVjeSBtaWVzacSFYy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAyCittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgd3nFm3dpZXRsZW5pZSB0eWxrbyBqZWRuZWdvIG1pZXNpxIVjYSAoZG9tecWbbG5lKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDMKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAtMywgLS10aHJlZSAgICAgICAgICAgd3nFm3dpZXRsZW5pZSB0cnplY2ggbWllc2nEmWN5IHBva3J5d2FqxIVjeWNoIGRhdMSZXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAtbiwgLS1tb250aHMgPGlsZT4gICAgd3nFm3dpZXRsZW5pZSBwb2RhbmVqIGxpY3pieSBtaWVzacSZY3kgb2QgZGF0eVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHJvenN6ZXJ6ZW5pZSBkYXR5IHByenkgd3nFm3dpZXRsYW5pdSB3aWVsdSBtaWVzacSZY3lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA2Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bmRheSAgICAgICAgICBuaWVkemllbGEgamFrbyBwaWVyd3N6eSBkemllxYQgdHlnb2RuaWFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA3Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1tLCAtLW1vbmRheSAgICAgICAgICBwb25pZWR6aWHFgmVrIGpha28gcGllcndzenkgZHppZcWEIHR5Z29kbmlhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdcW8eWNpZSBkbmlhIHJva3UgZGxhIHdzenlzdGtpY2gga2FsZW5kYXJ6eVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiICAgICAtLXJlZm9ybSA8d2FydD4gICBkYXRhIHJlZm9ybXkgZ3JlZ29yaWHFhHNraWVqICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKK21zZ2lkICIgICAgIC0taXNvICAgICAgICAgICAgIGFsaWFzIGZvciAtLXJlZm9ybT1pc29cbiIKK21zZ3N0ciAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBkbGEgLS1yZWZvcm09aXNvXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgY2HFgmVnbyByb2t1XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAgd3nFm3dpZXRsZW5pZSBuYXN0xJlwbnljaCBkd3VuYXN0dSBtaWVzacSZY3lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9PG51bWVyPl0gIHd5xZt3aWV0bGVuaWUgbnVtZXLDs3cgdHlnb2RuaSBVUyBsdWIgSVNPLTg2MDFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxraWVkeT5dIGtvbG9yb3dhbmllIGtvbXVuaWthdMOzdyAoYXV0bywgYWx3YXlzIGx1YiBuZXZlcilcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjEKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIHBhZ2VzIgorbXNnc3RyICJkYW5lIHBsaWt1IG9iZWNuZSB3IHBhbWnEmWNpIHcgc3Ryb25hY2giCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiZGFuZSBwbGlrdSBvYmVjbmUgdyBwYW1pxJljaSB3IGJhanRhY2giCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAicm96bWlhciBwbGlrdSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKK21zZ2lkICJmaWxlIG5hbWUiCittc2dzdHIgIm5hendhIHBsaWt1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgd3lrb25hxIcgbWluY29yZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB3eWtvbmHEhyBtbWFwOiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG90d29yennEhzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gZnN0YXQ6ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgd3lrb25hxIcgZnN0YXQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIHBsaWsuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcm96bWlhcnkgdyBiYWp0YWNoIHphbWlhc3QgY3p5dGVsbmllIGRsYSBjesWCb3dpZWthXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBiZXogd3lwaXN5d2FuaWEgbmFnxYLDs3drw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICBrb2x1bW55IGRvIHd5cGlzYW5pYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzMKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHd5asWbY2llIHcgZm9ybWFjaWUgc3Vyb3d5bVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyBwbGlrdSIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW29wY2plXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx3YXJ0b8WbxIc+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJPZG5hbGV6aWVuaWUgc3lzdGVtdSBwbGlrw7N3IHdnIGV0eWtpZXR5IGx1YiBVVUlELWEuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAibmllIG1vxbxuYSBvZG5hbGXFusSHICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAidXJ6xIVkemVuaWUgxbpyw7NkxYJvd2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgInB1bmt0IG1vbnRvd2FuaWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJ0eXAgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDIKK21zZ2lkICJhbGwgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAid3N6eXN0a2llIG9wY2plIG1vbnRvd2FuaWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJvcGNqZSBtb250b3dhbmlhIHNwZWN5Zmljem5lIGRsYSBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm9wY2plIG1vbnRvd2FuaWEgc3BlY3lmaWN6bmUgZGxhIEZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJldHlraWV0YSBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEIHN5c3RlbXUgcGxpa8OzdyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJldHlraWV0YSBwYXJ0eWNqaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICJudW1lciB1cnrEhWR6ZW5pYSBnxYLDs3dueTpwb2JvY3pueSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiYWtjamEgd3lrcnl0YSBwcnpleiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAic3RhcmUgb3BjamUgbW9udG93YW5pYSB6YXBpc2FuZSBwcnpleiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAic3RhcnkgcHVua3QgbW9udG93YW5pYSB6YXBpc2FueSBwcnpleiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAicm96bWlhciBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgImRvc3TEmXBueSByb3ptaWFyIHN5c3RlbXUgcGxpa8OzdyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgInXFvHl3YW55IHJvem1pYXIgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJwcm9jZW50b3dlIHXFvHljaWUgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgImfFgsOzd255IGthdGFsb2cgc3lzdGVtdSBwbGlrw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJJRCB6YWRhbmlhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAiSUQgbW9udG93YW5pYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJvcGNqb25hbG5lIHBvbGEgbW9udG93YW5pYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJmbGFnaSBwcm9wYWdhY2ppIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgIm9rcmVzb3dvxZvEhyB3eWtvbnl3YW5pYSBkdW1wKDgpIHcgZG5pYWNoIFt0eWxrbyBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJudW1lciBwcnplYmllZ3UgcHJ6eSByw7N3bm9sZWfFgnltIGZzY2soOCkgW3R5bGtvIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAibmllem5hbmEgb3BjamE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibW9udG93YW5pZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJvZG1vbnRvd2FuaWUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInByemVtb250b3dhbmllIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJwcnplbmllc2llbmllIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFpbmljam93YcSHIHRhYmxpY3kgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIG9kY3p5dGHEhyAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgaXRlcmF0b3JhIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphaW5pY2pvd2HEhyB0YWJsaWN5IHRhYmRpZmYgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNqZV1cbiIKKyIgJTEkcyBbb3BjamVdIDx1cnrEhWR6ZW5pZT4gfCA8cHVua3RfbW9udG93YW5pYT5cbiIKKyIgJTEkcyBbb3BjamVdIDx1cnrEhWR6ZW5pZT4gPHB1bmt0X21vbnRvd2FuaWE+XG4iCisiICUxJHMgW29wY2plXSBbLS1zb3VyY2UgPHVyesSFZHplbmllPl0gWy0tdGFyZ2V0IDzFm2NpZcW8a2E+IHwgLS1tb3VudHBvaW50IDxrYXRhbG9nPl1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiT2RuYWxlemllbmllICh6YW1vbnRvd2FuZWdvKSBzeXN0ZW11IHBsaWvDs3cuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHN6dWthbmllIHcgc3RhdHljem5laiB0YWJsaWN5IHN5c3RlbcOzdyBwbGlrw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzenVrYW5pZSB3IHRhYmxpY3kgemFtb250b3dhbnljaCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKHphd2llcmEgb3BjamUgbW9udG93YW5pYSBwcnplc3RyemVuaSB1xbx5dGtvd25pa2EpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHN6dWthbmllIHcgdGFibGljeSBqxIVkcmEgemFtb250b3dhbnljaCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGRvbXnFm2xuZSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcCwgLS1wb2xsWz08bGlzdGE+XSAgIG1vbml0b3Jvd2FuaWUgem1pYW4gdyB0YWJsaWN5IHphbW9udG93YW55Y2ggc3lzdC5wbGlrw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDkKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8bnVtPiAgICB1cHBlciBsaW1pdCBpbiBtaWxsaXNlY29uZHMgdGhhdCAtLXBvbGwgd2lsbCBibG9ja1xuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA8aWxlPiAgICBnw7NybnkgbGltaXQgb2N6ZWtpd2FuaWEgcHJ6eSAtLXBvbGwgKHcgbWlsaXNla3VuZGFjaClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbCAgICAgICAgICAgICAgd3nFgsSFY3plbmllIHdzenlzdGtpY2ggd2J1ZG93YW55Y2ggZmlsdHLDs3csXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3eXBpc2FuaWUgd3N6eXN0a2ljaCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdcW8eWNpZSB6bmFrw7N3IEFTQ0lJIGRvIGZvcm1hdG93YW5pYSBkcnpld2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgd3lwaXN5d2FuaWUgcm96bWlhcsOzdyB3IGJhanRhY2ggemFtaWFzdCBmb3JtYXR1XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjenl0ZWxuZWdvIGRsYSBjesWCb3dpZWthXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgcG9yw7N3bnl3YW5pZSDFm2NpZcW8ZWsgYmV6IGRvcHIuIGRvIHBvc3QuIGthbm9uaWN6bmVqXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTYKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tY2Fub25pY2FsaXplICAgICB3eXBpc3l3YW5pZSDFm2NpZcW8ZWsgdyBwb3N0YWNpIGthbm9uaWN6bmVqXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdG93YW5pZSB3eWrFm2NpYSBkZigxKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIC1kLCAtLWRpcmVjdGlvbiA8amFrPiAga2llcnVuZWsgd3lzenVraXdhbmlhIChmb3J3YXJkIGx1YiBiYWNrd2FyZClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgemFtaWFuYSB6bmFjem5pa8OzdyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBuYSBuYXp3eSB1cnrEhWR6ZcWEXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgLUYsIC0tdGFiLWZpbGUgPHBsaWs+ICBhbHRlcm5hdHl3bnkgcGxpayBkbGEgb3BjamkgLXMsIC1tIGx1YiAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICB3eXBpc2FuaWUgdHlsa28gcGllcndzemVnbyB6bmFsZXppb25lZ28gc3lzdC4gcGxpa8Ozd1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBvZHdyw7NjZW5pZSBkb3Bhc293YW5pYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUgc3lzLXV0aWxzL2xzbnMuYzo5MDIKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHd5asWbY2llIHcgZm9ybWFjaWUgbGlzdHlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdcW8eWNpZSBhbHRlcm5hdHl3bmVqIHByemVzdHJ6ZW5pIG5hencgKHBsaWt1XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAvcHJvYy88dGlkPi9tb3VudGluZm8pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8OzdyBrb2x1bW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgLU8sIC0tb3B0aW9ucyA8bGlzdGE+ICBvZ3JhbmljemVuaWUgemJpb3J1IHN5c3RlbcOzdyBwbGlrw7N3IHdnIG9wY2ppIG1vbnRvd2FuaWFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBrb2x1bW55IGRvIHd5cGlzYW5pYSBuYSB3eWrFm2NpdVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIGtsdWN6PVwid2FydG/Fm8SHXCJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLVIsIC0tc3VibW91bnRzICAgICAgICB3eXBpc2FuaWUgd3N6eXN0a2ljaCBtb250b3dhxYQgZGxhIHBhc3VqxIVjeWNoIGZzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBzdXJvd3ltXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc291cmNlIDzFgmHFhGN1Y2g+IHVyesSFZHplbmllIGRvIHphbW9udG93YW5pYSAobmF6d2EsIG1ham9yOm1pbm9yLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAtVCwgLS10YXJnZXQgPMWbY2llxbxrYT4gxZtjaWXFvGthIHN5c3RlbXUgcGxpa8OzdyBkbyB1xbx5Y2lhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAgICAgLS10cmVlICAgICAgICAgICAgIHd5asWbY2llIHcgZm9ybWFjaWUgZHJ6ZXdpYXN0eW0sIGplxZtsaSBtb8W8bGl3ZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM3Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtTSwgLS1tb3VudHBvaW50IDxrYXRhbG9nPiBrYXRhbG9nIHB1bmt0dSBtb250b3dhbmlhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgIG9ncmFuaWN6ZW5pZSB6YmlvcnUgc3lzdGVtw7N3IHBsaWvDs3cgd2cgdHlww7N3IEZTXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIHppZ25vcm93YW5pZSBzeXN0ZW3Ds3cgcGxpa8OzdyB6IHBvd3TDs3J6b255bSBjZWxlbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBiZXogdWNpbmFuaWEgdGVrc3R1IHcga29sdW1uYWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGJleiB3eXBpc3l3YW5pYSBbL2thdGFsb2ddIGRsYSBtb250b3dhxYQgYmluZCBsdWIgYnRyZnNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NAorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICBzcHJhd2R6ZW5pZSB6YXdhcnRvxZtjaSB0YWJsaWN5IG1vbnRvd2HFhCAoZG9tecWbbG5hIHRvIGZzdGFiKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHd5cGlzYW5pZSB3acSZa3N6ZWogaWxvxZtjaSBzemN6ZWfDs8WCw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAibmllem5hbnkga2llcnVuZWsgJyVzJyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0NQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgVElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCBwcnp5am11amUgdHlsa28gamVkZW4gcGxpaywgYSBwcnpla2F6YW5vIHdpxJljZWogb3BjasSFIC0tdGFiLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJvcGNqaSAtLXRhcmdldCBpIC0tc291cmNlIG5pZSBtb8W8bmEgdcW8eXdhxIcgamVkbm9jemXFm25pZSB6IGVsZW1lbnRlbSBwb2xlY2VuaWEsIGt0w7NyeSBuaWUgamVzdCBvcGNqxIUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphaW5pY2pvd2HEhyBwYW1pxJljaSBwb2RyxJljem5laiBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICJ6YcW8xIVkYW5vIGtvbHVtbnkgJXMsIGFsZSBuaWUgd8WCxIVjem9ubyAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJjZWwgcG9kYW55IHdpxJljZWogbmnFvCByYXoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgInrFgmEga29sZWpub8WbxIc6ICVzIHBvZGFubyBwcnplZCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICJuaWUgb2tyZcWbbG9ubyBjZWx1IChmc19maWxlKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIm5pZXpub3JtYWxpem93YW5hIMWbY2llxbxrYSBjZWx1IChwcmF3ZHppd2E6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIm5pZW9zacSFZ2FsbnkgY2VsIHd5bWFnYW55IGRvIHJvenJ1Y2h1OiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJuaWVvc2nEhWdhbG55IGNlbDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJjZWwgbmllIGplc3Qga2F0YWxvZ2llbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgImNlbCBpc3RuaWVqZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIm5pZW9zacSFZ2FsbmUgxbpyw7NkxYJvIHd5bWFnYW5lIGRvIHJvenJ1Y2h1OiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIm5pZW9zacSFZ2FsbmU6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzPSVzIHByemV0xYJ1bWFjem9ubyBuYSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE4OQorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICJuaWUgb2tyZcWbbG9ubyDFunLDs2TFgmEgKGZzX3NwZWMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHNvdXJjZSB0YWc6ICVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IHpuYWN6bmlrIMW6csOzZMWCYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgImJleiBzcHJhd2R6YW5pYSDFunLDs2TFgmEgJXMgKHBzZXVkby9zaWXEhykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIm5pZW9zacSFZ2FsbmUgxbpyw7NkxYJvOiAlczogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAixbpyw7NkxYJvIG1vbnRvd2FuaWEgYmV6IGJpbmQgJXMgamVzdCBrYXRhbG9naWVtIGx1YiB6d3lrxYJ5bSBwbGlraWVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiDFunLDs2TFgm8gJXMgbmllIGplc3QgdXJ6xIVkemVuaWVtIGJsb2tvd3ltIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIsW6csOzZMWCbyAlcyBpc3RuaWVqZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIm9wY2plIFZGUzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIm9wY2plIEZTOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgIm9wY2plIHByemVzdHJ6ZW5pIHXFvHl0a293bmlrYTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW5hIHBvbGl0eWthIGthc293YW5pYSBwcnplc3RyemVuaSB3eW1pYW55OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgb3BjamkgcHJpb3J5dGV0dSBwcnplc3RyemVuaSB3eW1pYW55IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiYmV6IHNwcmF3ZHphbmlhIHR5cHUgRlMgJXMgKHBzZXVkby9zaWXEhykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgInR5cCBGUyBcIm5vbmVcIiBqZXN0IHphbGVjYW55IHR5bGtvIGRsYSBvcGVyYWNqaSBiaW5kIGx1YiBtb3ZlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiJXMgd3lnbMSFZGEgbmEgbmllIG9ic8WCdWdpd2FueSBwcnpleiBiaWXFvMSFY2UgasSFZHJvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE5IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgd3lrcnnEhyB0eXB1IHN5c3RlbXUgcGxpa8OzdyBuYSBkeXNrdSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiVzIG5pZSB6Z2FkemEgc2nEmSB6ICVzIG5hIGR5c2t1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIlcyBuYSBkeXNrdSB3eWdsxIVkYSBuYSBuaWUgb2JzxYJ1Z2l3YW55IHByemV6IGJpZcW8xIVjZSBqxIVkcm8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAidHlwIEZTIHRvICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICJ6YWxlY2FuZSBwYXNzbm8gZGxhIGfFgsOzd25lZ28gRlMgdG8gMSAob2JlY25pZSAlZCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQgYsWCxIVkIHNrxYJhZG5pIgorbXNnc3RyWzFdICIlZCBixYLEmWR5IHNrxYJhZG5pIgorbXNnc3RyWzJdICIlZCBixYLEmWTDs3cgc2vFgmFkbmkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgJWQgYsWCxIVkIgorbXNnc3RyWzFdICIsICVkIGLFgsSZZHkiCittc2dzdHJbMl0gIiwgJWQgYsWCxJlkw7N3IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiLCAlZCBvc3RyemXFvGVuaWUiCittc2dzdHJbMV0gIiwgJWQgb3N0cnplxbxlbmlhIgorbXNnc3RyWzJdICIsICVkIG9zdHJ6ZcW8ZcWEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICJTdWtjZXMsIG5pZSB3eWtyeXRvIGLFgsSZZMOzdyBhbmkgb3N0cnplxbxlxYRcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgInB1c3RhIG9wY2phIGTFgnVnYSBwbyBvcGNqaSAtbCBsdWIgLS1sb25nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyMworbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAibmllem5hbmEgcG93xYJva2EgcG8gb3BjamkgLXMgbHViIC0tc2hlbGwiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRyeT5cbiIKKyIgJTEkcyBbb3BjamVdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRyeT5cbiIKKyIgJTEkcyBbb3BjamVdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3BjamVdIFstLV0gPHBhcmFtZXRyeT5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIkFuYWxpemEgb3BjamkgcG9sZWNlbmlhLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgemV6d29sZW5pZSBuYSBkxYJ1Z2llIG9wY2plIHogamVkbnltIC0gbmEgcG9jesSFdGt1XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQwCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLWwsIC0tbG9uZ29wdGlvbnMgPG9wY2plPiAgICAgZMWCdWdpZSBvcGNqZSwgamFraWUgbWFqxIUgYnnEhyByb3pwb3puYXdhbmVcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWUgPHByb2dyYW0+ICAgICAgICAgbmF6d2EsIHogamFrxIUgbWFqxIUgYnnEhyB6Z8WCYXN6YW5lIGLFgsSZZHlcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAga3LDs3RraWUgb3BjamUsIGpha2llIG1hasSFIGJ5xIcgcm96cG96bmF3YW5lXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgd3nFgsSFY3plbmllIGtvbXVuaWthdMOzdyBixYLEmWTDs3cgeiBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgYmV6IG5vcm1hbG5lZ28gd3lqxZtjaWFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHBvd8WCb2thPiAgICAgICAgIHVzdGF3aWVuaWUga29ud2VuY2ppIGN5dG93YW5pYSA8cG93xYJva2k+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICBzcHJhd2R6ZW5pZSB3ZXJzamkgZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBiZXogY3l0b3dhbmlhIHd5asWbY2lhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImJyYWsgcGFyYW1ldHJ1IG9wdHN0cmluZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzo0NTEKK21zZ2lkICJpbnRlcm5hbCBlcnJvciwgY29udGFjdCB0aGUgYXV0aG9yLiIKK21zZ3N0ciAiYsWCxIVkIHdld27EmXRyem55LCBwcm9zesSZIHNrb250YWt0b3dhxIcgc2nEmSBhdXRvcmVtLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAibmllem5hbnkgc3lnbmHFgiAlczsgcG9wcmF3bmUgc3lnbmHFgnk6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gPHBpZD58PG5hendhPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJXeW11c3plbmllIHpha2/FhGN6ZW5pYSBwcm9jZXN1LlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgYmV6IG9ncmFuaWN6YW5pYSBwcnpla3N6dGHFgmNlbmlhIG5hendhLXBpZCBkbyBwcm9jZXPDs3dcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHogdHltIHNhbXltIHVpZGVtLCBjbyBwcm9jZXMgYmllxbzEhWN5XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA8c3lnbmHFgj4gIHd5c8WCYW5pZSBwb2RhbmVnbyA8c3lnbmHFgnU+IHphbWlhc3QgU0lHVEVSTVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlIDx3YXJ0b8WbxIc+ICB1xbx5Y2llIHNpZ3F1ZXVlKDIpIHphbWlhc3Qga2lsbCgyKSBpIHByemVrYXphbmllIDx3YXJ0b8WbY2k+XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgICB3eXBpc2FuaWUgcGlkw7N3IGJleiB3eXN5xYJhbmlhIHN5Z25hxYJ1XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3RbPTxzeWduYcWCPl0gIHd5cGlzYW5pZSBuYXp3IHN5Z25hxYLDs3cgbHViIHphbWlhbmEgbnVtZXJ1IG5hIG5henfEmVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0YSBuYXp3IGkgbnVtZXLDs3cgc3lnbmHFgsOzd1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICB3eXBpc2FuaWUgcGlkw7N3LCBkbyBrdMOzcnljaCBtYSBiecSHIHd5c8WCYW55IHN5Z25hxYJcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjQwIG1pc2MtdXRpbHMva2lsbC5jOjI0OSBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIm5pZXpuYW55IHN5Z25hxYI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMgaSAlcyB3eWtsdWN6YWrEhSBzacSZIHd6YWplbW5pZSIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJixYLEhWQgYXJndW1lbnR1IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJixYLEmWRuYSBuYXp3YSBsdWIgbnVtZXIgc3lnbmHFgnU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgInd5c3nFgmFuaWUgc3lnbmHFgnUgJWQgZG8gcGlkdSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJ3eXPFgmFuaWUgc3lnbmHFgnUgZG8gJXMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIHByb2Nlc3UgXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJuaWV6bmFuYSBuYXp3YSBrYXRlZ29yaWk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICJuaWV6bmFuYSBuYXp3YSBwcmlvcnl0ZXR1OiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXM6IMWbY2llxbxrYSB6Ynl0IGTFgnVnYSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICJzb2NrZXQgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSByb3p3acSFemHEhyBuYXp3eSAlcyBwb3J0ICVzOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHBvxYLEhWN6ecSHIGRvICVzIG5hIHBvcnQgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAicHJ6ZWtyb2N6b25vIG1ha3N5bWFsbsSFIGxpY3pixJkgbGluaWkgd2VqxZtjaWEgKCVkKSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgd3lzxYJhxIcga29tdW5pa2F0dSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiSUQgZGFueWNoIHN0cnVrdHVyYWxueWNoICclcycgbmllIGplc3QgdW5pa2F0b3d5IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICJuaWUgcG9kYW5vIC0tc2QtaWQgZGxhIC0tc2QtcGFyYW0gJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIm5hendhIGhvc3RhICclcycgamVzdCB6Ynl0IGTFgnVnYSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInpuYWN6bmlrICclcycgamVzdCB6Ynl0IGTFgnVnaSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJ6aWdvcm93YW5vIG5pZXpuYW7EhSBvcGNqxJk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQ6ICVzOiB1xbx5Y2llIGLFgsSZZMOzdyBhdXRvbWF0eWN6bnljaCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzxrb211bmlrYXQ+XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzMKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJXcHJvd2FkemVuaWUga29tdW5pa2F0w7N3IGRvIGxvZ3Ugc3lzdGVtb3dlZ28uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZ293YW5pZSBQSUQtdSBwb2xlY2VuaWEgbG9nZ2VyYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzcKK21zZ2lkICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyB0aGUgZ2l2ZW4gPGlkPiwgb3Igb3RoZXJ3aXNlIHRoZSBQSURcbiIKK21zZ3N0ciAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2dvd2FuaWUgcG9kYW5lZ28gPGlkPiAoZG9tecWbbG5pZSBsb2dvd2FueSBqZXN0IFBJRClcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8cGxpaz4gICAgICAgIHphbG9nb3dhbmllIHphd2FydG/Fm2NpIHBvZGFuZWdvIHBsaWt1XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBiZXogbG9nb3dhbmlhIHB1c3R5Y2ggbGluaWkgcHJ6eSBwcnpldHdhcnphbml1IHBsaWvDs3dcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQwCittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIHd5a29uYW5pZSB3c3p5c3RraWVnbyBwb3phIHphcGlzZW0gZG8gbG9ndVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDEKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBvem5hY3plbmllIGtvbXVuaWthdHUgcG9kYW55bSBwcmlvcnl0ZXRlbVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDIKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdcW8eWNpZSB6bGljemFuaWEgb2t0ZXTDs3cgd2cgcmZjNjU4N1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgc3p1a2FuaWUgcHJlZmlrc3UgdyBrYcW8ZGVqIGxpbmlpIGN6eXRhbmVqIHogc3RkaW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ0Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIHd5cGlzYW5pZSBrb211bmlrYXTDs3cgdGFrxbxlIG5hIHN0YW5kYXJkb3dlIHd5asWbY2llXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpYWdub3N0eWN6bmVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHJvem1pYXI+ICAgICBtYWtzeW1hbG55IHJvem1pYXIgcG9qZWR5bmN6ZWdvIGtvbXVuaWthdHVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDx6bmFjem5paz4gICAgIG96bmFjemFuaWUga2HFvGRlaiBsaW5paSBwb2RhbnltIHpuYWN6bmlraWVtXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDxuYXp3YT4gICAgIHphcGlzIGRvIGRhbmVnbyB6ZGFsbmVnbyBzZXJ3ZXJhIHN5c2xvZ2FcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ4Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1xbx5Y2llIHBvZGFuZWdvIGRvIHBvxYLEhWN6ZW5pYSBVRFAgbHViIFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHXFvHljaWUgdHlsa28gVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdcW8eWNpZSB0eWxrbyBVRFBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUxCittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1xbx5Y2llIHByemVzdGFyemHFgmVnbyBwcm90b2tvxYJ1IHN5c2xvZ2EgQlNEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdcW8eWNpZSBwcm90b2tvxYJ1IHN5c2xvZyAoZG9tecWbbG5lIGRsYSB6ZGFsbnljaCk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBtb8W8ZSBiecSHOiBub3RpbWUsIG5vdHEgaS9sdWIgbm9ob3N0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICBJRCBkYW55Y2ggc3RydWt0dXJhbG55Y2ggd2cgcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDxkYW5lPiAgICBkYW5lIHN0cnVrdHVyYWxuZSB3ZyByZmM1NDI0IHcgcG9zdGFjaSBuYXp3YT13YXJ0b8WbxIdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgdXN0YXdpZW5pZSBwb2xhIGlkIHdpYWRvbW/Fm2NpIHdnIHJmYzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPGduaWF6ZG8+ICAgemFwaXMgZG8gcG9kYW5lZ28gZ25pYXpkYSB1bmlrc293ZWdvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHd5cGlzeXdhbmllIGLFgsSZZMOzdyBwb8WCxIVjemVuaWEgcG9kY3phcyB1xbx5Y2lhIGduaWF6ZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdW5pa3Nvd3ljaFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiAgICAgLS1qb3VybmFsZFs9PHBsaWs+XSAgemFwaXMgd3Bpc3Ugam91cm5hbGRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgInBsaWsgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE2MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHJvem1pYXIga29tdW5pa2F0dSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiLS1tc2dpZCBuaWUgbW/FvGUgemF3aWVyYcSHIHNwYWNqaSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICJixYLEmWRueSBJRCBkYW55Y2ggc3RydWt0dXJhbG55Y2g6ICclcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgImLFgsSZZG55IHBhcmFtZXRyIGRhbnljaCBzdHJ1a3R1cmFsbnljaDogJyVzJyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxwbGlrPiBvcmF6IDxrb211bmlrYXQ+IHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllLCB6aWdvcm93YW5vIGtvbXVuaWthdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIm5pZSBtb8W8bmEgemFwaXNhxIcgd3Bpc3Ugam91cm5hbGQiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDzFgmHFhGN1Y2g+IFs8cGxpaz4uLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJXecWbd2lldGxhbmllIGxpbmlpIHphY3p5bmFqxIVjeWNoIHNpxJkgb2Qgb2tyZcWbbG9uZWdvIMWCYcWEY3VjaGEuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NgorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdcW8eWNpZSBhbHRlcm5hdHl3bmVnbyBzxYJvd25pa2FcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY3Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIHBvcsOzd255d2FuaWUgdHlsa28gem5ha8OzdyBiaWHFgnljaCBpIGFsZmFudW1lcnljem55Y2hcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yb3dhbmllIHLDs8W8bmljIHcgd2llbGtvxZtjaSBsaXRlclxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXQsIC0tdGVybWluYXRlIDx6bmFrPiAgIG9rcmXFm2xlbmllIHpuYWt1IGtvxYRjesSFY2VnbyDFgmHFhGN1Y2hcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJuYXp3YSB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAid2V3bsSZdHJ6bmEgbmF6d2EgdXJ6xIVkemVuaWEgdyBqxIVkcnplIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAid2V3bsSZdHJ6bmEgbmF6d2EgdXJ6xIVkemVuaWEgcm9kemljYSB3IGrEhWRyemUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAibWllanNjZSB6YW1vbnRvd2FuaWEgdXJ6xIVkemVuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJldHlraWV0YSBzeXN0ZW11IHBsaWvDs3ciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICJVVUlEIHR5cHUgcGFydHljamkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgImV0eWtpZXRhIHBhcnR5Y2ppIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJvZGN6eXQgeiBnw7NyeSBkbGEgdXJ6xIVkemVuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgInVyesSFZHplbmllIHR5bGtvIGRvIG9kY3p5dHUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICJ1cnrEhWR6ZW5pZSB3eWptb3dhbG5lIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAidXJ6xIVkemVuaWUgd3lqbW93YWxuZSBsdWIgaG90cGx1ZyAoVVNCLCBQQ01DSUEuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInVyesSFZHplbmllIG9icm90b3dlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJkb2RhbmllIGxvc293b8WbY2kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiaWRlbnR5ZmlrYXRvciB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAibnVtZXIgc2VyeWpueSBkeXNrdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAicm96bWlhciB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInN0YW4gdXJ6xIVkemVuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJuYXp3YSBncnVweSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICJ1cHJhd25pZW5pYSBwbGlrdSB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgInd5csOzd25hbmllIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibWluaW1hbG55IHJvem1pYXIgd2Uvd3kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvcHR5bWFsbnkgcm96bWlhciB3ZS93eSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJyb3ptaWFyIHNla3RvcmEgZml6eWN6bmVnbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgInJvem1pYXIgc2VrdG9yYSBsb2dpY3puZWdvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJuYXp3YSBwbGFuaXN0eSB3ZS93eSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAicm96bWlhciBrb2xlamtpIMW8xIVkYcWEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgInR5cCB1cnrEhWR6ZW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAid3lyw7N3bmFuaWUgdXN1d2FuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICJyb3pkemllbGN6b8WbxIcgdXN1d2FuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAibWFrcy4gYmFqdMOzdyB1c3V3YW5pYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgImRhbmUgdXN1d2FuaWEgemVyYW1pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgInphcGlzYW5pZSB0YWtpY2ggc2FteWNoIG1ha3MuIGJhanTDs3ciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICJ1bmlrYWxueSBpZGVudHlmaWthdG9yIG5vxZtuaWthIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAzCittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIkhvc3Q6S2FuYcWCOkNlbDpMdW4gZGxhIFNDU0kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDQKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgInR5cCB0cmFuc3BvcnR1IGRvIHVyesSFZHplbmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICLFgmHFhGN1Y2ggcG9kc3lzdGVtw7N3IGJleiBwb3d0w7NyemXFhCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAid2Vyc2phIHVyesSFZHplbmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAicHJvZHVjZW50IHVyesSFZHplbmlhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAibW9kZWwgc3RyZWYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjkyCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG90d29yennEhyBrYXRhbG9ndSB1cnrEhWR6ZW5pYSB3IHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcgxZtjaWXFvGtpIHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgZG93acSFemFuaWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgbmF6d3kgc3lzZnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBwb2JyYcSHIG51bWVydSB1cnrEhWR6ZW5pYSBjYcWCZWdvIGR5c2t1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaXN0eSAnJXMnIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImxpc3RhIHd5a2x1Y3pvbnljaCB1cnrEhWR6ZcWEIHpieXQgZMWCdWdhIChsaW1pdCBsaWN6YnkgdXJ6xIVkemXFhCB0byAlZCkiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAibGlzdGEgZG/FgsSFY3pvbnljaCB1cnrEhWR6ZcWEIHpieXQgZMWCdWdhIChsaW1pdCBsaWN6YnkgdXJ6xIVkemXFhCB0byAlZCkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzIHN5cy11dGlscy93ZGN0bC5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFs8dXJ6xIVkemVuaWU+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIkluZm9ybWFjamUgbyB1cnrEhWR6ZW5pYWNoIGJsb2tvd3ljaC5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIHd5cGlzYW5pZSB3c3p5c3RraWNoIHVyesSFZHplxYRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGJleiB3eXBpc3l3YW5pYSB1cnrEhWR6ZcWEIHphbGXFvG55Y2ggaSBuYWRyesSZZG55Y2hcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHd5cGlzYW5pZSBtb8W8bGl3b8WbY2kgdXN1d2FuaWEgc2VrdG9yw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiIC16LCAtLXpvbmVkICAgICAgICAgIHd5cGlzYW5pZSBtb2RlbHUgc3RyZWZcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA8bGlzdGE+IHd5a2x1Y3plbmllIHVyesSFZHplxYQgd2cgbnVtZXJ1IGfFgi4gKGRvbXnFm2xuaWU6IHJhbWR5c2tpKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyBzeXN0ZW1hY2ggcGxpa8Ozd1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NgorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1xbx5d2FuaWUgd3nFgsSFY3puaWUgem5ha8OzdyBBU0NJSVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiAtSSwgLS1pbmNsdWRlIDxsaXN0YT4gcG9rYXphbmllIHR5bGtvIHVyesSFZHplxYQgbyBwb2RhbnljaCBudW1lcmFjaCBnxYLDs3dueWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIEpTT05cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBsaXN0eVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MAorbXNnaWQgIiAtVCwgLS10cmVlICAgICAgICAgICB1c2UgdHJlZSBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtVCwgLS10cmVlICAgICAgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIGRyemV3YVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLW0sIC0tcGVybXMgICAgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyB1cHJhd25pZW5pYWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUyIHN5cy11dGlscy9sc21lbS5jOjUwNgorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8Ozd1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+IGtvbHVtbnkgZG8gd3lwaXNhbmlhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU0Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgd3lwaXNhbmllIHdzenlzdGtpY2gga29sdW1uXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU1Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICB3eXBpc3l3YW5pZSBwZcWCbmVqIMWbY2llxbxraSB1cnrEhWR6ZcWEXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU4Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICBvZHdyw7NjZW5pZSB6YWxlxbxub8WbY2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTkKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtUywgLS1zY3NpICAgICAgICAgICB3eXBpc2FuaWUgaW5mb3JtYWNqaSBvIHVyesSFZHplbmlhY2ggU0NTSVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgd3lwaXNhbmllIGluZm9ybWFjamkgbyB0b3BvbG9naWlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPGtvbHVtbmE+IHNvcnRvd2FuaWUgd3lqxZtjaWEgd2cgPGtvbHVtbnk+XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIGRvc3RhxIcgZG8ga2F0YWxvZ3Ugc3lzZnM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAicG9sZWNlbmllIHByb2Nlc3UgdHJ6eW1hasSFY2VnbyBibG9rYWTEmSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIHByb2Nlc3UgdHJ6eW1hasSFY2VnbyBibG9rYWTEmSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2siCittc2dzdHIgInJvZHphaiBibG9rYWR5IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgInJvem1pYXIgYmxva2FkeSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJ0cnliIGRvc3TEmXB1IGRvIGJsb2thZHkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAib2Jvd2nEhXprb3dvxZvEhyBibG9rYWR5OiAwIChicmFrKSwgMSAodXN0YXdpb25hKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAid3pnbMSZZG55IG9mZnNldCBibG9rYWR5IHcgYmFqdGFjaCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJrb8WEY293eSBvZmZzZXQgYmxva2FkeSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAixZtjaWXFvGthIGRvIHphYmxva293YW5lZ28gcGxpa3UiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgcHJvY2VzdSB0cnp5bWFqxIVjZWdvIGJsb2thZMSZIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgaWRlbnR5ZmlrYXRvcmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjI2NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIobmllem5hbmUpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IG9mZnNldCBwb2N6xIV0a3UiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IG9mZnNldCBrb8WEY2EiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJMaXN0YSBsb2thbG55Y2ggYmxva2FkIHN5c3RlbW93eWNoLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yb3dhbmllIGJsb2thZCBiZXogcHJhd2Egb2Rjenl0dVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDMgc3lzLXV0aWxzL2xzbnMuYzo5MDMgc3lzLXV0aWxzL3Jma2lsbC5jOjU3MworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3dcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIG9rcmXFm2xlbmllIGtvbHVtbiBkbyB3eXBpc2FuaWEgbmEgd3lqxZtjaXVcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHd5xZt3aWV0bGFuaWUgdHlsa28gYmxva2FkIHRyenltYW55Y2ggcHJ6ZXogdGVuIHByb2Nlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBzdXJvd3ltXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU2MyBzY2hlZHV0aWxzL2NocnQuYzo0NzUgc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE3MSBzeXMtdXRpbHMvbHNucy5jOjk4MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgUElELXUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIkdlbmVyb3dhbmllIG1hZ2ljem55Y2ggY2lhc3RlY3playBkbGEgeGF1dGguXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxwbGlrPiAgICAgdcW8eWNpZSBwbGlrdSBqYWtvIHphcm9ka2EgY2lhc3RlY3prYVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDxpbGU+ICBsaW1pdCBvZGN6eXR1IHogcGxpa8OzdyB6YXJvZGvDs3dcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgd3lqYcWbbmlhbmllLCBjbyBzacSZIGR6aWVqZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlBvYnJhbm8gJXp1IGJhanQgeiAlc1xuIgorbXNnc3RyWzFdICJQb2JyYW5vICV6dSBiYWp0eSB6ICVzXG4iCittc2dzdHJbMl0gIlBvYnJhbm8gJXp1IGJhanTDs3cgeiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgInphbWtuacSZY2llICVzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJhIGTFgnVnb8WbxIciCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIlppZ25vcm93YW5vIC0tbWF4LXNpemUgdcW8eXRlIGJleiAtLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIlBvYnJhbm8gJWQgYmFqdCB6ICVzXG4iCittc2dzdHJbMV0gIlBvYnJhbm8gJWQgYmFqdHkgeiAlc1xuIgorbXNnc3RyWzJdICJQb2JyYW5vICVkIGJhanTDs3cgeiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgZG93acSFemFuaWEgc3ltYm9saWN6bmVnbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIC0gbmllIG1hIHRha2llZ28gcGxpa3UgYW5pIGthdGFsb2d1XG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDzFm2NpZcW8a2E+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJQb2TEhcW8YW5pZSB6YSDFm2NpZcW8a8SFIGRvIHpuYWxlemllbmlhIHB1bmt0dSBrb8WEY293ZWdvLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICB3eXBpc2FuaWUga2F0YWxvZ8OzdyBwdW5rdMOzdyBtb250b3dhbmlhIHogJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgd3lwaXNhbmllIGJpdMOzdyB1cHJhd25pZcWEIGthxbxkZWdvIHBsaWt1XG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgd3lwaXNhbmllIHfFgmHFm2NpY2llbGEgaSBncnVweSBrYcW8ZGVnbyBwbGlrdVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHXFvHljaWUgZMWCdWdpZWdvIGZvcm1hdHUgbGlzdHkgKC1tIC1vIC12KVxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGJleiBwb2TEhcW8YW5pYSB6YSBkb3dpxIV6YW5pYW1pIHN5bWJvbGljem55bWlcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBwaW9ub3dlIHd5csOzd25hbmllIHVwcmF3bmllxYQgaSB3xYJhxZtjaWNpZWxpXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJicmFrIGFyZ3VtZW50dSBixJlkxIVjZWdvIMWbY2llxbxrxIUiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzoxMDU3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyBwYW1pxJljaSBwb2RyxJljem5laiBVSUQtw7N3IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyBwYW1pxJljaSBwb2RyxJljem5laiBHSUQtw7N3IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IHByemVrcm9jem9ubyBsaW1pdCBkb3dpxIV6YcWEIHN5bWJvbGljem55Y2giCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBuaWUgamVzdCBkb3dpxIV6YW5pZW0gc3ltYm9saWN6bnltIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkbGluayBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICJQb21pamFuaWUgaXN0bmllasSFY2VnbyBkb3dpxIV6YW5pYTogYCVzJ1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogdW5saW5rIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3ltbGlua2luZyB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiB0d29yemVuaWUgZG93acSFemFuaWEgc3ltYm9saWN6bmVnbyBkbyAlcyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiUG9taWphbmllIGlzdG5pZWrEhWNlZ28gcGxpa3U6IGAlcydcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiB6bWlhbmEgbmF6d3kgbmEgJXMgbmllIHBvd2lvZMWCYSBzacSZIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8d3lyYcW8ZW5pZT4gPHphbWllbm5paz4gPHBsaWs+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM4Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJabWlhbmEgbmF6dyBwbGlrw7N3LlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIHd5amHFm25pYW5pZSwgY28gc2nEmSBkemllamVcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICAgICBkemlhxYJhbmllIG5hIGNlbHUgZG93acSFemHFhCBzeW1ib2xpY3pueWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQzCittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgYmV6IHd5a29ueXdhbmlhIMW8YWRueWNoIHptaWFuXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQ0Cittc2dpZCAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgZG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzXG4iCittc2dzdHIgIiAtbywgLS1uby1vdmVyd3JpdGUgIGJleiBuYWRwaXN5d2FuaWEgaXN0bmllasSFY3ljaCBwbGlrw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJEZW1vbiBkbyBnZW5lcm93YW5pYSBVVUlELcOzdy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8xZtjaWXFvGthPiAgICAgxZtjaWXFvGthIGRvIHBsaWt1IHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNvY2tldCA8xZtjaWXFvGthPiAgxZtjaWXFvGthIGRvIGduaWF6ZGFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtVCwgLS10aW1lb3V0IDxsaWN6YmE+ICBva3JlxZtsZW5pZSBsaW1pdHUgY3phc3UgbmllYWt0eXdub8WbY2lcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIHphYmljaWUgZHppYcWCYWrEhWNlZ28gZGVtb25hXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgICAgICBzcHJhd2R6ZW5pZSBnZW5lcmF0b3JhIGxvc293ZWdvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgc3ByYXdkemVuaWUgZ2VuZXJhdG9yYSBvcGFydGVnbyBuYSBjemFzaWVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtbiwgLS11dWlkcyA8bGljemJhPiAgICDFvMSFZGFuaWUgb2tyZcWbbG9uZWogbGljemJ5IFVVSUQtw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBiZXogdHdvcnplbmlhIHBsaWt1IHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgYmV6IGRlbW9uaXpvd2FuaWEgcHJ6ZXogcG9kd8Ozam5lIHd5a29uYW5pZSBmb3JrXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGJleiB0d29yemVuaWEgZ25pYXpkYSBuYXPFgnVjaHVqxIVjZWdvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHVydWNob21pZW5pZSB3IHRyeWJpZSBkaWFnbm9zdHljem55bVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB3xYLEhWN6ZW5pZSB0cnlidSBjaWNoZWdvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJixYLEmWRuZSBhcmd1bWVudHkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImNvbm5lY3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiemFwaXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJvZGN6eXRhbnkgcm96bWlhciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2MQorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgImLFgsSZZG5hIGTFgnVnb8WbxIcgb2Rwb3dpZWR6aSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSB6YWJsb2tvd2HEhyAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcgc3RydW1pZW5pb3dlZ28gZ25pYXpkYSB1bmlrc293ZWdvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBkb3dpxIV6YcSHIGduaWF6ZGEgdW5pa3Nvd2VnbyAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICJvZGVicmFuaWUgc3lnbmHFgnUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJ1cMWCeW7EhcWCIGxpbWl0IGN6YXN1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgc3RvcGVyYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAiZGVtb24gdXVpZGQganXFvCBkemlhxYJhIHogcGlkZW0gJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcm96cG9jesSFxIcgbmFzxYJ1Y2hpd2FuaWEgbmEgZ25pZcW6ZHppZSB1bmlrc293eW0gJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2JjacSFxIcgcGxpa3U6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2RfbGlzdGVuX2ZkcygpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICJuaWUgb2RlYnJhbm8gZGVza3J5cHRvcsOzdyBwbGlrw7N3LCBwcm9zesSZIHNwcmF3ZHppxIcgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODMKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIm9kZWJyYW5vIHpieXQgZHXFvG8gZGVza3J5cHRvcsOzdyBwbGlrw7N3LCBwcm9zesSZIHNwcmF3ZHppxIcgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWVvdXQgWyVkIHNlY11cbiIKK21zZ3N0ciAicHJ6ZWtyb2N6b255IGxpbWl0IGN6YXN1IFslZCBzXVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAib2Rjenl0IG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiYsWCxIVkIG9kY3p5dHUgb2Qga2xpZW50YSwgZMWCdWdvxZvEhyA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAib3BlcmFjamEgJWQsIG9kZWJyYW5hIGxpY3piYSA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIm9wZXJhY2phICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiV3lnZW5lcm93YW55IFVVSUQgY3phc293eTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIld5Z2VuZXJvd2FueSBVVUlEIGxvc293eTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIld5Z2VuZXJvd2FueSBVVUlEIGN6YXNvd3kgJXMgaSAlZCBrb2xlam55XG4iCittc2dzdHJbMV0gIld5Z2VuZXJvd2FueSBVVUlEIGN6YXNvd3kgJXMgaSAlZCBrb2xlam5lXG4iCittc2dzdHJbMl0gIld5Z2VuZXJvd2FueSBVVUlEIGN6YXNvd3kgJXMgaSAlZCBrb2xlam55Y2hcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICJXeWdlbmVyb3dhbm8gJWQgVVVJRDpcbiIKK21zZ3N0clsxXSAiV3lnZW5lcm93YW5vICVkIFVVSUQteTpcbiIKK21zZ3N0clsyXSAiV3lnZW5lcm93YW5vICVkIFVVSUQtw7N3OlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk5pZXByYXdpZMWCb3dhIG9wZXJhY2phICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIk5pZW9jemVraXdhbmEgZMWCdWdvxZvEhyBvZHBvd2llZHppIG9kIHNlcndlcmEgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyAtLXV1aWRzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjA4Cittc2dpZCAidXVpZGQgaGFzIGJlZW4gYnVpbHQgd2l0aG91dCBzdXBwb3J0IGZvciBzb2NrZXQgYWN0aXZhdGlvbiIKK21zZ3N0ciAidXVpZGQgem9zdGHFgiB6YnVkb3dhbnkgYmV6IG9ic8WCdWdpIGFrdHl3YWNqaSBnbmlhemRlbSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIm5hendhIHdvbHVtaW51IHphIGTFgnVnYSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIlBvZGFubyBvcGNqxJkgLS1zb2NrZXQtYWN0aXZhdGlvbiBvcmF6IC0tc29ja2V0LiBaaWdub3Jvd2FubyAtLXNvY2tldC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJixYLEhWQgd3l3b8WCYW5pYSBkZW1vbmEgdXVpZGQgKCVzKSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAibmllb2N6ZWtpd2FueSBixYLEhWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyBpICVkIGtvbGVqbnkgVVVJRFxuIgorbXNnc3RyWzFdICIlcyBpICVkIGtvbGVqbmUgVVVJRC15XG4iCittc2dzdHJbMl0gIiVzIGkgJWQga29sZWpueWNoIFVVSUQtw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiTGlzdGEgVVVJRC3Ds3c6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphYmnEhyB1dWlkZCBkemlhxYJhasSFY2VnbyB6IHBpZGVtICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiWmFiaXRvIHV1aWRkIGR6aWHFgmFqxIVjZWdvIHogcGlkZW0gJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIlV0d29yemVuaWUgbm93ZWogd2FydG/Fm2NpIFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMyCittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhbmRvbSAgICAgICAgd3lnZW5lcm93YW5pZSBsb3Nvd2VnbyB1dWlkLWFcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgd3lnZW5lcm93YW5pZSB1dWlkLWEgb3BhcnRlZ28gbmEgY3phc2llXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIHd5Z2VuZXJvd2FuaWUgdXVpZC1hIG9wYXJ0ZWdvIG5hIHNrcsOzY2llIHcgcHJ6ZXN0cnplbmkgbmF6d1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIgLU4sIC0tbmFtZSBuYXp3YSAgICB3eWdlbmVyb3dhbmllIHV1aWQtYSBvcGFydGVnbyBuYSBza3LDs2NpZSB6IG5hend5XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiIC1tLCAtLW1kNSAgICAgICAgICAgd3lnZW5lcm93YW5pZSBza3LDs3R1IG1kNVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNworbXNnaWQgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYXRlIHNoYTEgaGFzaFxuIgorbXNnc3RyICIgLXMsIC0tc2hhMSAgICAgICAgICB3eWdlbmVyb3dhbmllIHNrcsOzdHUgc2hhMVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgaW50ZXJwcmV0b3dhbmllIG5hend5IGpha28gxYJhxYRjdWNoYSBzemVzbmFzdGtvd2Vnb1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc2Cittc2dpZCAidW5pcXVlIGlkZW50aWZpZXIiCittc2dzdHIgInVuaWthdG93eSBpZGVudHlmaWthdG9yIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3Cittc2dpZCAidmFyaWFudCBuYW1lIgorbXNnc3RyICJuYXp3YSB3YXJpYW50dSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAibmF6d2EgdHlwdSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAiem5hY3puaWsgY3phc3UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDx1dWlkIC4uLj5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIEpTT04iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3ciCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBLT0xVTU5ZIGRvIHd5cGlzYW5pYSAocC4gbmnFvGVqKSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB3eWrFm2NpZSB3IGZvcm1hY2llIHN1cm93eW0iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorbXNnaWQgImludmFsaWQiCittc2dzdHIgImLFgsSZZG55IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICJpbm55IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5NworbXNnaWQgIm5pbCIKK21zZ3N0ciAibmlsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwMgorbXNnaWQgInRpbWUtYmFzZWQiCittc2dzdHIgIm9wYXJ0eSBuYSBjemFzaWUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjA4Cittc2dpZCAibmFtZS1iYXNlZCIKK21zZ3N0ciAib3BhcnR5IG5hIG5hendpZSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgImxvc293eSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICJvcGFydHkgbmEgc2hhMSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNjcgbWlzYy11dGlscy93aXBlZnMuYzoxNzAgc3lzLXV0aWxzL2xzY3B1LmM6MTcyMgorIzogc3lzLXV0aWxzL2xzbnMuYzo4MDYgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgemFpbmljam93YcSHIGtvbHVtbnkgd3lqxZtjaW93ZWoiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWy1CTVMgPGthdGFsb2c+Li4uIC1mXSA8bmF6d2E+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJabmFsZXppZW5pZSBwbGlrw7N3IGJpbmFya2ksIMW6csOzZGXFgiBvcmF6IHN0cm9ueSBwb2RyxJljem5pa2EgZGxhIHBvbGVjZW5pYS5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgICAgICB3eXN6dWtpd2FuaWUgdHlsa28gYmluYXJpw7N3XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPGthdGFsb2dpPiAgb2tyZcWbbGVuaWUgxZtjaWXFvGVrIHd5c3p1a2l3YW5pYSBiaW5hcmnDs3dcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgICAgICB3eXN6dWtpd2FuaWUgdHlsa28gc3Ryb24gcG9kcsSZY3puaWthIG1hbiBpIGluZm9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPGthdGFsb2dpPiAgb2tyZcWbbGVuaWUgxZtjaWXFvGVrIHd5c3p1a2l3YW5pYSBzdHJvbiBtYW4gaSBpbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgICAgICB3eXN6dWtpd2FuaWUgdHlsa28gxbpyw7NkZcWCXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtUyA8a2F0YWxvZ2k+ICBva3JlxZtsZW5pZSDFm2NpZcW8ZWsgd3lzenVraXdhbmlhIMW6csOzZGXFglxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICAgIHpha2/FhGN6ZW5pZSBsaXN0eSA8a2F0YWxvZ8Ozdz4gamFrbyBhcmd1bWVudMOzd1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgICAgd3lzenVraXdhbmllIHR5bGtvIHdwaXPDs3cgbmllend5a8WCeWNoXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgICAgICB3eXBpc2FuaWUgZWZla3R5d255Y2ggxZtjaWXFvGVrIHd5c3p1a2l3YW5pYVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiYnJhayBvcGNqaSAtZiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEIHBhcnR5Y2ppL3N5c3RlbXUgcGxpa8OzdyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICJkxYJ1Z2/Fm8SHIMWCYcWEY3VjaGEgbWFnaWN6bmVnbyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAidHlwIHN1cGVyYmxva3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA3Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAib2Zmc2V0IMWCYcWEY3VjaGEgbWFnaWN6bmVnbyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKK21zZ2lkICJ0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJvcGlzIHR5cHUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5Cittc2dpZCAiYmxvY2sgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5hendhIHVyesSFZHplbmlhIGJsb2tvd2VnbyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgInRhYmxpY2EgcGFydHljamkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImLFgsSFZDogJXM6IGluaWNqYWxpemFjamEgcHLDs2Jvd2FuaWEgbmllIHBvd2lvZMWCYSBzacSZIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB1c3VuxIXEhyDFgmHFhGN1Y2hhIG1hZ2ljem5lZ28gJXMgcG9kIG9mZnNldGVtIDB4JTA4angiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlemQgYnl0ZSB3YXMgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ2lkX3BsdXJhbCAiJXM6ICV6ZCBieXRlcyB3ZXJlIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMF0gIiVzOiB1c3VuacSZdG8gJXpkIGJhanQgcG9kIG9mZnNldGVtIDB4JTA4anggKCVzKTogIgorbXNnc3RyWzFdICIlczogdXN1bmnEmXRvICV6ZCBiYWp0eSBwb2Qgb2Zmc2V0ZW0gMHglMDhqeCAoJXMpOiAiCittc2dzdHJbMl0gIiVzOiB1c3VuacSZdG8gJXpkIGJhanTDs3cgcG9kIG9mZnNldGVtIDB4JTA4anggKCVzKTogIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXR3b3J6ecSHIGtvcGlpIHphcGFzb3dlaiBzeWduYXR1cnkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczogd3l3b8WCeXdhbmllIGlvY3RsIHcgY2VsdSBwb25vd25lZ28gb2Rjenl0dSB0YWJsaWN5IHBhcnR5Y2ppOiAlbVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1dHdvcnp5xIcga29waWkgemFwYXNvd2VqIHN5Z25hdHVyeSAtICRIT01FIG5pZSBqZXN0IHpkZWZpbmlvd2FuZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IHppZ25vcm93YW5vIHphZ25pZcW8ZMW8b27EhSB0YWJsaWPEmSBwYXJ0eWNqaSBcIiVzXCIgbmEgdXJ6xIVkemVuaXUgbmllIGLEmWTEhWN5bSBjYcWCeW0gZHlza2llbSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuaWUgem5hbGV6aW9ubyBvZmZzZXR1IDB4JWp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJNb8W8bmEgdcW8ecSHIGZsYWdpIC0tZm9yY2UsIGFieSB3eW11c2nEhyB1c3VuacSZY2llLiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDUKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIlVzdW5pxJljaWUgc3lnbmF0dXIgeiB1cnrEhWR6ZW5pYS4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICB1c3VuacSZY2llIHdzenlzdGtpY2ggxYJhxYRjdWNow7N3IG1hZ2ljem55Y2ggKE9TVFJPxbtOSUUhKSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICB1dHdvcnplbmllIGtvcGlpIHphcGFzb3dlaiBzeWduYXR1cnkgdyAkSE9NRSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICB3eW11c3plbmllIHVzdW5pxJljaWEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCittc2dpZCAiIC1pLCAtLW5vaGVhZGluZ3MgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3ciCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBKU09OIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICB3eWtvbmFuaWUgd3N6eXN0a2llZ28gcG96YSB3xYJhxZtjaXd5bSB3eXdvxYJhbmllbSB3cml0ZSgpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXMiCittc2dzdHIgIiAtbyAtLW9mZnNldCA8aWxlPiAgIG9mZnNldCBkbyB1c3VuacSZY2lhLCB3IGJhanRhY2giCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgLUksIC0tb3V0cHV0IDxsaXN0YT4gS09MVU1OWSBkbyB3ecWbd2lldGxlbmlhIChwLiBuacW8ZWopIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHd5cGlzYW5pZSB3IGZvcm1hY2llIHpkYXRueW0gZG8gYW5hbGl6eSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgIHBvbWluacSZY2llIGtvbXVuaWthdMOzdyB3eWrFm2Npb3d5Y2giCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE4Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RhPiBvZ3JhbmljemVuaWUgemJpb3J1IHN5c3RlbcOzdyBwbGlrw7N3LCBSQUlELcOzdyBsdWIgdGFibGljIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJPcGNqYSAtLWJhY2t1cCBuaWUgbWEgem5hY3plbmlhIHcgdHltIGtvbnRla8WbY2llIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk9kY3p5dCBsdWIgem1pYW5hIGF0cnlidXTDs3cgc3plcmVnb3dhbmlhIGN6YXN1IHJ6ZWN6eXdpc3RlZ28gcHJvY2VzdS5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM3Cittc2dpZCAiIgorIlNldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIDxwcmlvcml0eT4gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyIgY2hydCBbb3B0aW9uc10gLS1waWQgPHByaW9yaXR5PiA8cGlkPlxuIgorbXNnc3RyICIiCisiVXN0YXdpYW5pZSBwb2xpdHlraTpcbiIKKyIgIGNocnQgW29wY2plXSA8cHJpb3J5dGV0PiA8cG9sZWNlbmllPiBbPGFyZz4uLi5dXVxuIgorIiAgY2hydCBbb3BjamVdIC0tcGlkIDxwcmlvcnl0ZXQ+IDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisiT2Rjenl0IHBvbGl0eWtpOlxuIgorIiBjaHJ0IFtvcGNqZV0gLXAgPHBpZD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIk9wY2plIHBvbGl0eWtpOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAgdXN0YXdpZW5pZSBwb2xpdHlraSBuYSBTQ0hFRF9CQVRDSFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLWQsIC0tZGVhZGxpbmUgICAgICAgdXN0YXdpZW5pZSBwb2xpdHlraSBuYSBTQ0hFRF9ERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtZiwgLS1maWZvICAgICAgICAgICB1c3Rhd2llbmllIHBvbGl0eWtpIG5hIFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAgdXN0YXdpZW5pZSBwb2xpdHlraSBuYSBTQ0hFRF9JRExFXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS10aGVyICAgICAgICAgICB1c3Rhd2llbmllIHBvbGl0eWtpIG5hIFNDSEVEX09USEVSXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXIsIC0tcnIgICAgICAgICAgICAgdXN0YXdpZW5pZSBwb2xpdHlraSBuYSBTQ0hFRF9SUiAoZG9tecWbbG5lKVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIk9wY2plIHN6ZXJlZ293YW5pYTpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgdXN0YXdpZW5pZSBTQ0hFRF9SRVNFVF9PTl9GT1JLIGRsYSBGSUZPIGx1YiBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcGFyYW1ldHIgY3phc3UgZHppYcWCYW5pYSBkbGEgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGFyYW1ldHIgb2tyZXN1IGRsYSBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IHBhcmFtZXRyIHRlcm1pbnUgZGxhIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIklubmUgb3BjamU6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3Blcm93YW5pZSBuYSB3c3p5c3RraWNoIHphZGFuaWFjaCAod8SFdGthY2gpIGRhbmVnbyBQSUQtdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXggICAgICAgICAgICB3ecWbd2lldGxlbmllIG1pbi4gaSBtYWtzLiBwb3ByYXduZWdvIHByaW9lcnl0dVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJvd2FuaWUgbmEgcG9kYW55bSwgaXN0bmllasSFY3ltIFBJRC1pZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIHd5xZt3aWV0bGFuaWUgaW5mb3JtYWNqaSBvIHN0YW5pZVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzEgc2NoZWR1dGlscy9jaHJ0LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIHBvbGl0eWtpIGRsYSBwaWR1ICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIGF0cnlidXTDs3cgcGlkdSAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIm5vd2EgcG9saXR5a2Egc3plcmVnb3dhbmlhIHBpZHUgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgImFrdHVhbG5hIHBvbGl0eWthIHN6ZXJlZ293YW5pYSBkbGEgcGlkdSAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAibm93eSBwcmlvcnl0ZXQgc3plcmVnb3dhbmlhIGRsYSBwaWR1ICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJha3R1YWxueSBwcmlvcnl0ZXQgc3plcmVnb3dhbmlhIGRsYSBwaWR1ICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIm5vd2UgcGFyYW1ldHJ5IGN6YXN1IGR6aWHFgmFuaWEvdGVybWludS9va3Jlc3UgZGxhIHBpZHUgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgImFrdHVhbG5lIHBhcmFtZXRyeSBjemFzdSBkemlhxYJhbmlhL3Rlcm1pbnUvb2tyZXN1IGRsYSBwaWR1ICVkOiAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyOTkgc2NoZWR1dGlscy9jaHJ0LmM6Mzk1Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAibmllIG1vxbxuYSB1enlza2HEhyBsaXN0eSB6YWRhxYQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIk1pbmltYWxueS9tYWtzeW1hbG55IHByaW9yeXRldCAlc1x0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiUG9saXR5a2EgJXMgbmllIGplc3Qgb2JzxYJ1Z2l3YW5hP1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBwb2xpdHlraSBkbGEgdGlkdSAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgcG9saXR5a2kgZGxhIHBpZHUgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGN6YXN1IGR6aWHFgmFuaWEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgb2tyZXN1IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgdGVybWludSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE1Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIHByaW9yeXRldHUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxOQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJvcGNqYSAtLXJlc2V0LW9uLWZvcmsgamVzdCBvYnPFgnVnaXdhbmEgdHlsa28gZGxhIHBvbGl0eWsgU0NIRURfRklGTyBpIFNDSEVEX1JSIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjQKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICJvcGNqZSAtLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gc8SFIG9ic8WCdWdpd2FuZSB0eWxrbyBkbGEgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUzOQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF9ERUFETElORSBuaWUgamVzdCBvYnPFgnVnaXdhbmUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbmEgd2FydG/Fm8SHIHByaW9yeXRldHUgZGxhIHBvbGl0eWtpOiAlZDogLS1tYXggcG9rYcW8ZSBwb3ByYXdueSB6YWtyZXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzOiBwcmlvcnl0ZXQgJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2plXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcGNqZV0gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wY2plXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcGNqZV0gPHBvbGVjZW5pZT5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiT2Rjenl0IGx1YiB6bWlhbmEga2xhc3kgaSBwcmlvcnl0ZXR5IHN6ZXJlZ293YW5pYSB3ZS93eSBwcm9jZXN1LlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNAorbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2xhc3MgPGtsYXNhPiAgICBuYXp3YSBsdWIgbnVtZXIga2xhc3kgc3plcmVnb3dhbmlhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTYKK21zZ2lkICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiAgcHJpb3JpdHkgKDAuLjcpIGluIHRoZSBzcGVjaWZpZWQgc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIgorbXNnc3RyICIiCisiIC1uLCAtLWNsYXNzZGF0YSA8aWxlPiAgcHJpb3J5dGV0ICgwLi43KSB3IHBvZGFuZWoga2xhc2llIHN6ZXJlZ293YW5pYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHR5bGtvIGRsYSBrbGFzIHJlYWx0aW1lIGkgYmVzdC1lZmZvcnRcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBkemlhxYJhbmllIG5hIGp1xbwgZHppYcWCYWrEhWN5Y2ggcHJvY2VzYWNoXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGR6aWHFgmFuaWUgbmEganXFvCBkemlhxYJhasSFY3ljaCBwcm9jZXNhY2ggeiBwb2RhbnljaCBncnVwXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIHppZ25vcm93YW5pZSBixYLEmWTDs3dcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjEKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBkemlhxYJhbmllIG5hIGp1xbwgZHppYcWCYWrEhWN5Y2ggcHJvY2VzYWNoIHXFvHl0a293bmlrw7N3XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuZSBkYW5lIGtsYXN5IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBrbGFzeSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICJuaWV6bmFuYSBrbGFzYSBzemVyZWdvd2FuaWE6ICclcyciCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIm1vxbxuYSBvYnPFgnXFvHnEhyBuYXJheiB0eWxrbyBqZWRuxIUgb3BjasSZIHogcGlkLCBwZ2lkIGx1YiB1aWQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgUEdJRC1hIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgVUlELWEiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAiemlnbm9yb3dhbm8gcG9kYW5lIGRhbmUga2xhc3kgZGxhIGtsYXN5IG5vbmUiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiemlnbm9yb3dhbm8gcG9kYW5lIGRhbmUga2xhc3kgZGxhIGtsYXN5IGlkbGUiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAibmllem5hbmEga2xhc2EgcHJpb3J5dGV0dSAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICIiCisiU2vFgmFkbmlhOiAlcyBbb3BjamVdIFttYXNrYSB8IGxpc3RhLWNwdV0gW3BpZHxwb2xlY2VuaWUgW2FyZy4uLl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIk9kY3p5dCBsdWIgem1pYW5hIHByenl3acSFemFuaWEgcHJvY2Vzb3JhIGRvIHByb2Nlc3UuXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIk9wY2plOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyb3dhbmllIG5hIHdzenlzdGtpY2ggemFkYW5pYWNoICh3xIV0a2FjaCkgcGlkdVxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyb3dhbmllIG5hIHBvZGFueW0sIGlzdG5pZWrEhWN5bSBwaWR6aWVcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgd3lwaXN5d2FuaWUgaSBva3JlxZtsYW5pZSBDUFUgdyBwb3N0YWNpIGxpc3R5XG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisiRG9tecWbbG5lIHphY2hvd2FuaWUgdG8gdXJ1Y2hvbWllbmllIG5vd2VnbyBwb2xlY2VuaWE6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiTW/FvG5hIHRlxbwgdXp5c2thxIcgbWFza8SZIGRsYSBpc3RuaWVqxIVjZWdvIHphZGFuaWE6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiTHViIHVzdGF3acSHIGrEhTpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJNb8W8bmEgdcW8ecSHIGZvcm1hdHUgbGlzdHkgb2RkemllbG9uZWogcHJ6ZWNpbmthbWkgemFtaWFzdCBtYXNraTpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUHJ6ZWR6aWHFgnkgdyBmb3JtYWNpZSBsaXN0eSBtb2fEhSBtaWXEhyBhcmd1bWVudCBrcm9rdTpcbiIKKyIgICAgbnAuIDAtMzE6MiBvZHBvd2lhZGEgbWFzY2UgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiTm93YSBsaXN0YSBwcnp5cGlzYcWEIGRsYSBwaWR1ICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgImFrdHVhbG5hIGxpc3RhIHByenlwaXNhxYQgZGxhIHBpZHUgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJOb3dhIG1hc2thIHByenlwaXNhxYQgZGxhIHBpZHUgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiYWt0dWFsbmEgbWFza2EgcHJ6eXBpc2HFhCBkbGEgcGlkdSAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiYsWCxIVkIHdld27EmXRyem55OiBuaWUgdWRhxYJvIHNpxJkgcHJ6ZWtzenRhxYJjacSHIGNwdXNldCBkbyDFgmHFhGN1Y2hhIHpuYWvDs3ciCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgcHJ6eXBpc2HFhCBkbGEgcGlkdSAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1enlza2HEhyBwcnp5cGlzYcWEIGRsYSBwaWR1ICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAibmllIG1vxbxuYSBva3JlxZtsacSHIE5SX0NQVVM7IHByemVyd2FubyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2MgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGlzdHkgQ1BVOiAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbWFza2kgQ1BVOiAlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6IFd5cGXFgm5pb25vIHplcmFtaSAlPFBSSXU2ND4gQiBvZCBvZmZzZXR1ICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6IFVzdW5pxJl0byAlPFBSSXU2ND4gQiBvZCBvZmZzZXR1ICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICJQb3J6dWNlbmllIHphd2FydG/Fm2NpIHNla3RvcsOzdyBuYSB1cnrEhWR6ZW5pdS5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8aWxlPiAgb2Zmc2V0IHcgYmFqdGFjaCBkbyBwb2N6xIV0a3UgdXN1d2FuaWFcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxpbGU+ICBsaWN6YmEgYmFqdMOzdyBkbyB1c3VuacSZY2lhIG9kIG9mZnNldHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLXAsIC0tc3RlcCA8aWxlPiAgICByb3ptaWFyIGl0ZXJhY2ppIHVzdXdhbmlhIG9kIG9mZnNldHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY3VyZSAgICAgICAgd3lrb25hbmllIGJlenBpZWN6bmVnbyB1c3V3YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC16LCAtLXplcm9vdXQgICAgICAgd3lwZcWCbmlhbmllIHplcmFtaSB6YW1pYXN0IHVzdXdhbmlhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTYKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIHd5cGlzYW5pZSB3eXLDs3duYW5laiBkxYJ1Z2/Fm2NpIGkgb2Zmc2V0dVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJuaWV6cm96dW1pYcWCeSBvZmZzZXQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IGtyb2siCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJuaWVvY3pla2l3YW5hIGxpY3piYSBhcmd1bWVudMOzdyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBCTEtHRVRTSVpFNjQgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS1NTWkdFVCBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogb2Zmc2V0ICU8UFJJdTY0PiBuaWUgamVzdCB3eXLDs3duYW55IGRvIHJvem1pYXJ1IHNla3RvcmEgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczogb2Zmc2V0IGplc3Qgd2nEmWtzenkgbmnFvCByb3ptaWFyIHVyesSFZHplbmlhIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IGTFgnVnb8WbxIcgJTxQUkl1NjQ+IG5pZSBqZXN0IHd5csOzd25hbmEgZG8gcm96bWlhcnUgc2VrdG9yYSAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgQkxLWkVST09VVCBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS1NFQ0RJU0NBUkQgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBCTEtESVNDQVJEIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIlJhcG9ydCBpbmZvcm1hY2ppIG8gc3RyZWZhY2ggZG90eWN6xIVjeWNoIHBvZGFuZWdvIHVyesSFZHplbmlhIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjc0Cittc2dpZCAiUmVzZXQgYSByYW5nZSBvZiB6b25lcy4iCittc2dzdHIgIlJlc2V0IHByemVkemlhxYJ1IHN0cmVmLiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBibGtkZXZfZ2V0X3NlY3RvcnMgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgb2tyZcWbbGnEhyByb3ptaWFydSBzdHJlZnkiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIEJMS1JFUE9SVFpPTkUgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIlpuYWxlemlvbm8gJWQgc3RyZWYoeSkgb2QgMHglPFBSSXg2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiAgcG9jesSFdGVrOiAweCUwOTxQUkl4NjQ+LCBkxYJ1Z2/Fm8SHIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXA6ICV1KCVzKV1cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiJXM6IG9mZnNldCAlPFBSSXU2ND4gbmllIGplc3Qgd3lyw7N3bmFueSBkbyByb3ptaWFydSBzdHJlZnkgJWx1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBsaWN6YmEgc2VrdG9yw7N3ICU8UFJJdTY0PiBuaWUgamVzdCB3eXLDs3duYW5hIGRvIHJvem1pYXJ1IHN0cmVmeSAlbHUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgQkxLUkVTRVRaT05FIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICIlczogdWRhxYIgc2nEmSByZXNldCB3IHByemVkemlhbGUgb2QgJTxQUkl1NjQ+IGRvICU8UFJJdTY0PiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIDxwb2xlY2VuaWU+IFtvcGNqZV0gPHVyesSFZHplbmllPlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwMgorbXNnaWQgIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiVXJ1Y2hvbWllbmllIHBvbGVjZW5pYSBzdHJlZm93ZWdvIG5hIHBvZGFueW0gdXJ6xIVkemVuaXUgYmxva293eW0uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxzZWt0b3I+ICBwb2N6xIV0a293eSBzZWt0b3Igc3RyZWZ5IGRvIGR6aWHFgmFuaWEgKHBvIDUxMiBiYWp0w7N3KVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMAorbXNnaWQgIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPHNla3Rvcnk+IG1ha3N5bWFsbmEgbGljemJhIHNla3RvcsOzdyBkbyBkemlhxYJhbmlhIChwbyA1MTIgYmFqdMOzdylcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgLWMsIC0tY291bnQgPGxpY3piYT4gICBtYWtzeW1hbG5hIGxpY3piYSBzdHJlZlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHd5cGlzYW5pZSB3acSZa3N6ZWogaWxvxZtjaSBzemN6ZWfDs8WCw7N3XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIiVzIG5pZSBqZXN0IHBvcHJhd27EhSBuYXp3xIUgcG9sZWNlbmlhIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGljemJ5IHN0cmVmIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaWN6Ynkgc2VrdG9yw7N3IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBvZmZzZXR1IHN0cmVmeSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgIm5pZSBwb2Rhbm8gcG9sZWNlbmlhIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJDUFUgJXUgbmllIGlzdG5pZWplIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIkNQVSAldSBuaWUgb2JzxYJ1Z3VqZSBmdW5rY2ppIGhvdC1wbHVnIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBqZXN0IGp1xbwgd8WCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGplc3QganXFvCB3ecWCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJXxYLEhWN6ZW5pZSBDUFUgJXUgbmllIHBvd2lvZMWCbyBzacSZIChwcm9jZXNvciBqZXN0IHpkZWtvbmZpZ3Vyb3dhbnkpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIlfFgsSFY3plbmllIENQVSAldSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgd8WCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiV3nFgsSFY3plbmllIENQVSAldSBuaWUgcG93aW9kxYJvIHNpxJkgKG9zdGF0bmkgd8WCxIVjem9ueSBDUFUpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJXecWCxIVjemVuaWUgQ1BVICV1IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgd3nFgsSFY3pvbnlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIlRlbiBzeXN0ZW0gbmllIG9ic8WCdWd1amUgcG9ub3duZWdvIHByemVzenVraXdhbmlhIENQVSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB3eXp3b2xpxIcgcG9ub3duZWdvIHByemVzenVrYW5pYSBDUFUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiV3l6d29sb25vIHBvbm93bmUgcHJ6ZXN6dWthbmllIENQVVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiVGVuIHN5c3RlbSBuaWUgb2JzxYJ1Z3VqZSB1c3Rhd2lhbmlhIHRyeWJ1IHByemVrYXp5d2FuaWEgQ1BVIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHBvemlvbWVnbyB0cnlidSBwcnpla2F6eXdhbmlhIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiVXN0YXdpb25vIHBvemlvbXkgdHJ5YiBwcnpla2F6eXdhbmlhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHBpb25vd2VnbyB0cnlidSBwcnpla2F6eXdhbmlhIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIlVzdGF3aW9ubyBwaW9ub3d5IHRyeWIgcHJ6ZWthenl3YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkNQVSAldSBuaWUgZGFqZSBzacSZIGtvbmZpZ3Vyb3dhxIciCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBqZXN0IGp1xbwgc2tvbmZpZ3Vyb3dhbnlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgamVzdCBqdcW8IHpkZWtvbmZpZ3Vyb3dhbnlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiRGVrb25maWd1cmFjamEgQ1BVICV1IG5pZSBwb3dpb2TFgmEgc2nEmSAoamVzdCB3xYLEhWN6b255KSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJLb25maWd1cmFjamEgQ1BVICV1IG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBza29uZmlndXJvd2FueVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiRGVrb25maWd1cmFjamEgQ1BVICV1IG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IHpkZWtvbmZpZ3Vyb3dhbnlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgImLFgsSZZG55IG51bWVyIENQVSBuYSBsacWbY2llOiAlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTa8WCYWRuaWE6XG4iCisiICVzIFtvcGNqZV1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICJLb25maWd1cmFjamEgcHJvY2Vzb3LDs3cgdyBzeXN0ZW1pZSB3aWVsb3Byb2Nlc29yb3d5bS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ3Cittc2dpZCAiIgorIiAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCittc2dzdHIgIiIKKyIgIC1lLCAtLWVuYWJsZSA8bGlzdGEtY3B1PiAgICAgd8WCxIVjemVuaWUgcHJvY2Vzb3LDs3dcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGxpc3RhLWNwdT4gICAgd3nFgsSFY3plbmllIHByb2Nlc29yw7N3XG4iCisiICAtYywgLS1jb25maWd1cmUgPGxpc3RhLWNwdT4gIHNrb25maWd1cm93YW5pZSBwcm9jZXNvcsOzd1xuIgorIiAgLWcsIC0tZGVjb25maWd1cmUgPGxpc3RhLWNwdT4gemRla29uZmlndXJvd2FuaWUgcHJvY2Vzb3LDs3dcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDx0cnliPiAgICAgICAgdXN0YXdpZW5pZSB0cnlidSBwcnpla2F6eXdhbmlhXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgIHd5endvbGVuaWUgcHJ6ZXNrYW5vd2FuaWEgQ1BVXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbnkgYXJndW1lbnQ6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVtb3J5IEJsb2NrICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorbXNnc3RyICJCbG9rIHBhbWnEmWNpICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICJOaWV6cm96dW1pYcWCeSBpbmRla3MiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgInfFgsSFY3plbmllICVzIG5pZSBwb3dpb2TFgm8gc2nEmVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAid3nFgsSFY3plbmllICVzIG5pZSBwb3dpb2TFgm8gc2nEmVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTYgc3lzLXV0aWxzL2NobWVtLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiJXMgd8WCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIiVzIHd5xYLEhWN6b255XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB3xYLEhWN6ecSHICVzIHBhbWnEmWNpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBkaXNhYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIHd5xYLEhWN6ecSHICVzIHBhbWnEmWNpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIiVzIGp1xbwgd8WCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICIlcyBqdcW8IHd5xYLEhWN6b255XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICIlczogd8WCxIVjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZOiBOaWV6Z29kbm/Fm8SHIHN0cmVmeSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICIlczogd3nFgsSFY3plbmllIG5pZSBwb3dpb2TFgm8gc2nEmTogTmllemdvZG5vxZvEhyBzdHJlZnkiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICIlczogd8WCxIVjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIiVzOiB3ecWCxIVjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAiTmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAiTmllenJvenVtaWHFgnkgbnVtZXIgYmxva3UiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJOaWV6cm96dW1pYcWCeSByb3ptaWFyIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiUm96bWlhciBtdXNpIGJ5xIcgd3lyw7N3bmFueSBkbyByb3ptaWFydSBibG9rdSBwYW1pxJljaSAoJXMpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIk5pZXpyb3p1bWlhxYJ5IHBvY3rEhXRlayIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiTmllenJvenVtaWHFgnkga29uaWVjIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIkLFgsSZZG55IGZvcm1hdCBhZHJlc3UgcG9jesSFdGtvd2VnbzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIkLFgsSZZG5hIGZvcm1hdCBhZHJlc3Uga2/FhGNvd2VnbzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICJOaWV6cm96dW1pYcWCeSBhZHJlcyBwb2N6xIV0a293eSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCBhZGRyZXNzIgorbXNnc3RyICJOaWV6cm96dW1pYcWCeSBhZHJlcyBrb8WEY293eSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IGFkZHJlc3MgYW5kIChlbmQgYWRkcmVzcyArIDEpIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICJBZHJlcyBwb2N6xIV0a293eSBpIChhZHJlcyBrb8WEY293eSArIDEpIG11c3rEhSBiecSHIHd5csOzd25hbmUgZG8gcm96bWlhcnUgYmxva3UgcGFtacSZY2kgKCVzKSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiQsWCxJlkbnkgcGFyYW1ldHI6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIkLFgsSZZG55IHByemVkemlhxYI6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbUk9aTUlBUnxQUlpFRFpJQcWBfFBSWkVEWklBxYFfQkxPS8OTV11cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM3Cittc2dpZCAiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIKK21zZ3N0ciAiVXN0YXdpZW5pZSBva3JlxZtsb25lZ28gcm96bWlhcnUgbHViIHByemVkemlhxYJ1IHBhbWnEmWNpIGpha28gYWt0eXduZWogbHViIG5pZWFrdHl3bmVqLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC1lLCAtLWVuYWJsZSAgICAgICB3xYLEhWN6ZW5pZSBwYW1pxJljaVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtZCwgLS1kaXNhYmxlICAgICAgd3nFgsSFY3plbmllIHBhbWnEmWNpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorbXNnaWQgIiAtYiwgLS1ibG9ja3MgICAgICAgdXNlIG1lbW9yeSBibG9ja3NcbiIKK21zZ3N0ciAiIC1iLCAtLWJsb2NrcyAgICAgICB1xbx5Y2llIGJsb2vDs3cgcGFtacSZY2lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIC16LCAtLXpvbmEgPG5hendhPiB3eWLDs3Igc3RyZWZ5IHBhbWnEmWNpIChwLiBuacW8ZWopXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICB0cnliIHN6Y3plZ8OzxYJvd3lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9ic8WCdWdpd2FuZSBzdHJlZnk6XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgInN0cmVmYSB6aWdub3Jvd2FuYSwgYnJhayBhdHJ5YnV0dSBzeXNmcyB2YWxpZF96b25lcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbWVtb3J5IHpvbmU6ICVzIgorbXNnc3RyICJuaWV6bmFuYSBzdHJlZmEgcGFtacSZY2k6ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiVXN0YXdpZW5pZSBmdW5rY2ppIGtvbWJpbmFjamkga2xhd2lzenkgQ3RybC1BbHQtRGVsLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgImRvbXnFm2xuYSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgIm5pZW9jemVraXdhbmEgd2FydG/Fm8SHIHcgJXM6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIkFieSB6bWllbmnEhyB6YWNob3dhbmllIEN0cmwtQWx0LURlbCwgdHJ6ZWJhIGJ5xIcgcm9vdGVtIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIm5pZXpuYW55IGFyZ3VtZW50OiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJzeXN0ZW0gamVzdCBiZXp1xbx5dGVjem55IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiYWtjasSZIHRyemViYSBwb2RqxIXEhyBuYXR5Y2htaWFzdCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAid2FydW5raSBrcnl0eWN6bmUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgInd5c3TEhXBpxYIgYsWCxIVkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgInd5c3TEhXBpxYJvIG9zdHJ6ZcW8ZW5pZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIm5vcm1hbG5lLCBhbGUgem5hY3rEhWNlIHpkYXJ6ZW5pZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiaW5mb3JtYWNqYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgImtvbXVuaWthdHkgZGlhZ25vc3R5Y3puZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMwCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJrb211bmlrYXR5IG9kIGrEhWRyYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgImtvbXVuaWthdHkgcG96aW9tdSB1xbx5dGtvd25pa2EiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJzeXN0ZW0gcG9jenRvd3kiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICJkZW1vbnkgc3lzdGVtb3dlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICJrb211bmlrYXR5IGRvdC4gYmV6cGllY3plxYRzdHdhL2F1dG9yeXphY2ppIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJrb211bmlrYXR5IHd5Z2VuZXJvd2FuZSB3ZXduxJl0cnpuaWUgcHJ6ZXogc3lzbG9nZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAicG9kc3lzdGVtIHd5ZHJ1a3UiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgInBvZHN5c3RlbSBzaWVjaW93eSBuZXdzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAicG9kc3lzdGVtIFVVQ1AiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAiZGVtb24gemVnYXJhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAia29tdW5pa2F0eSBkb3QuIGJlenBpZWN6ZcWEc3R3YS9hdXRvcnl6YWNqaSAocHJ5d2F0bmUpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJkZW1vbiBGVFAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICJXecWbd2lldGxhbmllIGx1YiBzdGVyb3dhbmllIGJ1Zm9yZW0gasSFZHJhLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICB3eWN6eXN6Y3plbmllIGJ1Zm9yYSB3IGrEhWRyemVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBvZGN6eXQgaSB3eWN6eXN6Y3plbmllIHdzenlzdGtpY2gga29tdW5pa2F0w7N3XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgd3nFgsSFY3plbmllIHd5cGlzeXdhbmlhIGtvbXVuaWthdMOzdyBuYSBrb25zb2zEmVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgd8WCxIVjemVuaWUgd3lwaXN5d2FuaWEga29tdW5pa2F0w7N3IG5hIGtvbnNvbMSZXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDxwbGlrPiAgICAgICAgICAgdcW8eWNpZSBwbGlrdSB6YW1pYXN0IGJ1Zm9yYSBsb2d1IGrEhWRyYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0YT4gICAgICBvZ3JhbmljemVuaWUgd3lqxZtjaWEgZG8gb2tyZcWbbG9ueWNoIGthdGVnb3JpaVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIHd5asWbY2llIGN6eXRlbG5lIGRsYSBjesWCb3dpZWthXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICB3ecWbd2lldGxlbmllIGtvbXVuaWthdMOzdyBqxIVkcmFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxraWVkeT5dICAgICAgIGtvbG9yb3dhbmllIGtvbXVuaWthdMOzdyAoYXV0bywgYWx3YXlzIGx1YiBuZXZlcilcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxldmVsIDxsaXN0YT4gICAgICAgICBvZ3JhbmljemVuaWUgd3lqxZtjaWEgZG8gb2tyZcWbbG9ueWNoIHBvemlvbcOzd1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPHBvemlvbT4gdXN0LiBwb3ppb211IGtvbXVuaWthdMOzdyB3eXBpc3l3YW55Y2ggbmEga29uc29sxJlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgYmV6IHByemVwdXN6Y3phbmlhIHd5asWbY2lhIGRvIHN0cm9uaWNvd2FuaWFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgd3ltdXN6ZW5pZSB3eXBpc2FuaWEgY3phc3UgdyBrYcW8ZHltIHogd2llbHUgd2llcnN6eSBrb211bmlrYXR1XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHd5cGlzYW5pZSBidWZvcmEga29tdW5pa2F0w7N3IHcgcG9zdGFjaSBzdXJvd2VqXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICB3eW11c3plbmllIHXFvHljaWEgc3lzbG9nKDIpIHphbWlhc3QgL2Rldi9rbXNnXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLXMsIC0tYnVmZmVyLXNpemUgPHJvem1pYXI+IHJvem1pYXIgYnVmb3JhIHByenkgb2RweXR5d2FuaXUgYnVmb3JhIGrEhWRyYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgd3nFm3dpZXRsYW5pZSBrb211bmlrYXTDs3cgcHJ6ZXN0cnplbmkgdcW8eXRrb3duaWthXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgb2N6ZWtpd2FuaWUgbmEgbm93ZSBrb211bmlrYXR5XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWtvZG93YW5pZSBrYXRlZ29yaWkgaSBwb3ppb211IGRvIGZvcm15IGN6eXRlbG5lalxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBwb2Rhd2FuaWUgcsOzxbxuaWN5IGN6YXN1IG1pxJlkenkga29tdW5pa2F0YW1pXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHBvZGF3YW5pZSBjemFzdSBpIHLDs8W8bmljIHcgY3p5dGVsbnltIGZvcm1hY2llXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICB6bmFjem5pa2kgY3phc3UgY3p5dGVsbmUgZGxhIGx1ZHppIChtbmllaiBkb2vFgmFkbmUpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBiZXogd3lwaXN5d2FuaWEgem5hY3puaWvDs3cgY3phc3UgeiBrb211bmlrYXRhbWlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHd5xZt3aWV0bGFuaWUgem5hY3puaWvDs3cgY3phc3UgdyBwb2RhbnltIGZvcm1hY2llOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlphbXJvxbxlbmllL3ByemVidWR6ZW5pZSBzcG93b2R1amUgbmllZG9rxYJhZG5vxZvEhyB6bmFjem5pa8OzdyBjemFzdSBjdGltZSBpIGlzby5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAyCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9ic8WCdWdpd2FuZSBrYXRlZ29yaWUgbG9nb3dhbmlhOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiT2JzxYJ1Z2l3YW5lIHBvemlvbXkgKHByaW9yeXRldHkpIGxvZ293YW5pYTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIHBvemlvbXUgJyVzJyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAibmllem5hbnkgcG96aW9tICclcyciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBrYXRlZ29yaWkgJyVzJyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAibmllem5hbmEga2F0ZWdvcmlhICclcyciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgd3lrb25hxIcgbW1hcDogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgcm96bWlhcnUgYnVmb3JhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDg4Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAib3BjamEgLS1zaG93LWRlbHRhIGplc3QgaWdub3Jvd2FuYSB3IHByenlwYWRrdSB1xbx5Y2lhIHogZm9ybWF0ZW0gY3phc3UgaXNvODYwMSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUxMQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICJvcGNqYSAtLXJhdyBtb8W8ZSBiecSHIHXFvHl0YSB3cmF6IHogLS1sZXZlbCBsdWIgLS1mYWNpbGl0eSB0eWxrbyBwcnp5IGN6eXRhbml1IGtvbXVuaWthdMOzdyB6IC9kZXYva21zZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUyNgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIm9kY3p5dCBidWZvcmEgasSFZHJhIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJrbG9nY3RsIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzx1cnrEhWR6ZW5pZT58PHB1bmt0IG1vbnRvd2FuaWE+XVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIld5c3V3YW5pZSBub8Wbbmlrw7N3IHd5am1vd2FsbnljaC5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB3xYLEhWN6ZW5pZS93ecWCxIVjemVuaWUgYXV0b21hdHljem5lZ28gd3lzdXdhbmlhXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBwcnplxYLEhWN6ZW5pZSBwxYJ5dCB3IHptaWVuaWFyY2UgQ0QtUk9NXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICB3eXBpc2FuaWUgZG9tecWbbG5lZ28gdXJ6xIVkemVuaWFcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIHd5c3VuacSZY2llIGR5c2tpZXRraVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgYmV6IHNwcmF3ZHphbmlhIHJvZHphanUgdXJ6xIVkemVuaWFcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHfFgsSFY3plbmllL3d5xYLEhWN6ZW5pZSBibG9rYWR5IHLEmWN6bmVnbyB3eXN1d2FuaWFcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGJleiBvZG1vbnRvd3l3YW5pYSB1cnrEhWR6ZW5pYSBraWVkeSB6YW1vbnRvd2FuZVxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgYmV6IG9kbW9udG93eXdhbmlhIGlubnljaCBwYXJ0eWNqaVxuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgYmV6IHd5c3V3YW5pYSwgc2FtbyB3c2themFuaWUgdXJ6xIVkemVuaWFcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHXFvHljaWUgL3Byb2MvbW91bnRzIHphbWlhc3QgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICB3eXN1bmnEmWNpZSB0YcWbbXlcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIHd5c3VuacSZY2llIHDFgnl0eSBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIHd5c3VuacSZY2llIHogdXJ6xIVkemVuaWEgU0NTSVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgemFta25pxJljaWUgc3p1ZmxhZHlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHByemXFgsSFY3plbmllIHN6dWZsYWR5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICB3xYLEhWN6ZW5pZSBzemN6ZWfDs8WCb3d5Y2gga29tdW5pa2F0w7N3XG4iCisiIC14LCAtLWNkc3BlZWQgPHN6eWJrb8WbxIc+ICAgIHVzdGF3aWVuaWUgbWFrc3ltYWxuZWogcHLEmWRrb8WbY2kgQ0QtUk9NLXVcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIHd5cGlzYW5pZSBkb3N0xJlwbnljaCBwcsSZZGtvxZtjaSBDRC1ST00tdVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkRvbXnFm2xuZSBwcsOzYm93YW5lIHPEhSBrb2xlam5vIC1yLCAtcywgLWYgaSAtcSBkbyBwaWVyd3N6ZWdvIHBvd29kemVuaWEuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgImLFgsSZZG55IGFyZ3VtZW50IG9wY2ppIC0tY2hhbmdlcnNsb3QvLWMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgb3BjamkgLS1jZHNwZWVkLy14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicG9sZWNlbmllIGF1dG9tYXR5Y3puZWdvIHd5c3V3YW5pYSBDRC1ST00tdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiYmxva2FkYSBkcnp3aWN6ZWsgbmFwxJlkdSBDRC1ST00gbmllIGplc3Qgb2JzxYJ1Z2l3YW5hIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDEKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiaW5uaSB1xbx5dGtvd25pY3kgbWFqxIUgbmFwxJlkIG90d2FydHkgaSBicmFrIHVwcmF3bmllbmlhIENBUF9TWVNfQURNSU4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MworbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInBvbGVjZW5pZSBibG9rb3dhbmlhIHd5c3V3YW5pYSBDRC1ST00tdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OAorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgInDFgnl0eSBDRCBOSUUgbW/FvG5hIHd5c3VuxIXEhyBwcnp5Y2lza2llbSBuYSB1cnrEhWR6ZW5pdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUwCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJwxYJ5dMSZICIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwb2xlY2VuaWUgd3lib3J1IHDFgnl0eSBDRC1ST00gbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjUKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInBvbGVjZW5pZSB6YcWCYWRvd2FuaWEgcMWCeXR5IENELVJPTSB6ZSBzbG90dSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgInptaWVuaWFya2EgQ0QtUk9NIElERS9BVEFQSSBuaWUgamVzdCBvYnPFgnVnaXdhbmEgcHJ6ZXogdG8gasSFZHJvXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwb2xlY2VuaWUgemFta25pxJljaWEgc3p1ZmxhZHkgQ0QtUk9NLXUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAicG9sZWNlbmllIHphbWtuacSZY2lhIHN6dWZsYWR5IENELVJPTS11IG5pZSBqZXN0IG9ic8WCdWdpd2FuZSBwcnpleiB0byBqxIVkcm9cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA0Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICJ3eXN1d2FuaWUgQ0QtUk9NLXUgbmllIGplc3Qgb2JzxYJ1Z2l3YW5lIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInBvbGVjZW5pZSB3eXN1bmnEmWNpYSBDRC1ST00tdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgImJyYWsgZG9zdMSZcG55Y2ggaW5mb3JtYWNqaSBvIG5hcMSZZHppZSBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIm5hcMSZZCBDRC1ST00gbmllIGplc3QgZ290b3d5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJwb2xlY2VuaWUgd3lib3J1IHByxJlka2/Fm2NpIENELVJPTS11IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgzCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgInBvbGVjZW5pZSB3eWJvcnUgcHLEmWRrb8WbY2kgQ0QtUk9NLXUgbmllIGplc3Qgb2JzxYJ1Z2l3YW5lIHByemV6IHRvIGrEhWRybyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBvZG5hbGXFusSHIG5hend5IENELVJPTS11IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBwcsSZZGtvxZtjaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQzCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgcHLEmWRrb8WbY2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgIm5pZSBqZXN0IHRvIHVyesSFZHplbmllIHNnIGFuaSBzdGFyeSBzdGVyb3duaWsgc2ciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6IG9kbW9udG93eXdhbmllIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAibmllIG1vxbxuYSB3eWtvbmHEhyBmb3JrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAib2Rtb250b3dhbmllIGAlcycgbmllIHpha2/FhGN6ecWCbyBzacSZIHBvcHJhd25pZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAib2Rtb250b3dhbmllIGAlcycgbmllIHBvd2lvZMWCbyBzacSZXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjcyNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyB0YWJsaWN5IG1vbnRvd2HFhCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6IHphbW9udG93YW5lIHBvZCAlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODI4Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIKK21zZ3N0ciAidXN0YXdpYW5pZSBwcsSZZGtvxZtjaSBDRC1ST00tdSBuYSBhdXRvbWF0eWN6bsSFIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAidXN0YXdpYW5pZSBwcsSZZGtvxZtjaSBDRC1ST00tdSBuYSAlbGRYIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgInVyesSFZHplbmllIGRvbXnFm2xuZTogYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgInXFvHljaWUgdXJ6xIVkemVuaWEgZG9tecWbbG5lZ28gYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgb2RuYWxlxbrEhyB1cnrEhWR6ZW5pYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgIm5hendhIHVyesSFZHplbmlhIHRvIGAlcyciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczogbmllIHphbW9udG93YW55IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVzOiB1cnrEhWR6ZW5pZSBkeXNrb3dlOiAlcyAoem9zdGFuaWUgdcW8eXRlIGRvIHd5c3VuacSZY2lhKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXM6IG5pZSBvZG5hbGV6aW9ubyBwdW5rdHUgbW9udG93YW5pYSBhbmkgdXJ6xIVkemVuaWEgbyBwb2RhbmVqIG5hendpZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IHVyesSFZHplbmllIG9iZWptdWrEhWNlIGNhxYJ5IGR5c2siCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogbmllIGplc3QgdXJ6xIVkemVuaWVtIHR5cHUgaG90cGx1ZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJ1cnrEhWR6ZW5pZSB0byBgJXMnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICJ6YWtvxYRjemVuaWUgeiBwb3dvZHUgb3BjamkgLW4vLS1ub29wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IHfFgsSFY3phbmllIHRyeWJ1IGF1dG9tYXR5Y3puZWdvIHd5c3V3YW5pYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogd3nFgsSFY3phbmllIHRyeWJ1IGF1dG9tYXR5Y3puZWdvIHd5c3V3YW5pYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiB6YW15a2FuaWUgc3p1ZmxhZHkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiJXM6IHByemXFgsSFY3phbmllIHN6dWZsYWR5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIlczogd3lwaXN5d2FuaWUgcHLEmWRrb8WbY2kgQ0QtUk9NLXUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgImLFgsSFZDogJXM6IHVyesSFZHplbmllIHcgdcW8eWNpdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXM6IHd5YsOzciBkeXNrdSBDRC1ST00gIyVsZCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogcHLDs2JhIHd5c3VuacSZY2lhIHByenkgdcW8eWNpdSBwb2xlY2VuaWEgZGxhIENELVJPTS11IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJwb2xlY2VuaWUgd3lzdW5pxJljaWEgZGxhIENELVJPTS11IHNpxJkgcG93aW9kxYJvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiJXM6IHByw7NiYSB3eXN1bmnEmWNpYSBwcnp5IHXFvHljaXUgcG9sZWNlxYQgU0NTSSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJ3eXN1bmnEmWNpZSBwcnp5IHXFvHljaXUgcG9sZWNlxYQgU0NTSSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJ3eXN1bmnEmWNpZSBwcnp5IHXFvHljaXUgcG9sZWNlxYQgU0NTSSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IHByw7NiYSB3eXN1bmnEmWNpYSBwcnp5IHXFvHljaXUgcG9sZWNlbmlhIGRsYSBkeXNraWV0ZWsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgInBvbGVjZW5pZSB3eXN1bmnEmWNpYSBkeXNraWV0a2kgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInBvbGVjZW5pZSB3eXN1bmnEmWNpYSBkeXNraWV0a2kgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiBwcsOzYmEgd3lzdW5pxJljaWEgcHJ6eSB1xbx5Y2l1IHBvbGVjZW5pYSBvZMWCxIVjemVuaWEgdGHFm215IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJwb2xlY2VuaWUgb2TFgsSFY3plbmlhIHRhxZtteSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAicG9sZWNlbmllIG9kxYLEhWN6ZW5pYSB0YcWbbXkgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgd3lzdW7EhcSHIG5vxZtuaWthIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDxuYXp3YV9wbGlrdT5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIlByenlkemllbGVuaWUgbWllanNjYSBsdWIgendvbG5pZW5pZSBtaWVqc2NhIHogcGxpa3UuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSB1c3VuacSZY2llIHByemVkemlhxYJ1IHogcGxpa3VcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgLWQsIC0tZGlnLWhvbGVzICAgICAgd3lrcnljaWUgemVyIGkgemFzdMSFcGllbmllIGljaCBkeml1cmFtaVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIgLWksIC0taW5zZXJ0LXJhbmdlICAgd3N0YXdpZW5pZSBkeml1cnkgdyBwcnplZHppYWxlIHogcHJ6ZXN1bmnEmWNpZW0gaXN0bmllasSFY3ljaCBkYW55Y2hcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bGljemJhPiBkxYJ1Z2/Fm8SHIGRsYSBvcGVyYWNqaSBwcnplZHppYcWCb3d5Y2gsIHcgYmFqdGFjaFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIHphY2hvd2FuaWUgd2lkb2N6bmVnbyByb3ptaWFydSBwbGlrdVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8gLS1vZmZzZXQgPGlsZT4gICAgb2Zmc2V0IGRsYSBvcGVyYWNqaSBwcnplZHppYcWCb3d5Y2gsIHcgYmFqdGFjaFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgemFzdMSFcGllbmllIHByemVkemlhxYJ1IGR6aXVyxIUgKHfFgsSFY3phIC1uKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTcKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgd3l6ZXJvd2FuaWUgaSB6YXBld25pZW5pZSBwcnp5ZHppZWxlbmlhIHByemVkemlhxYJ1XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiAteCwgLS1wb3NpeCAgICAgICAgICB1xbx5Y2llIHBvc2l4X2ZhbGxvY2F0ZSgzKSB6YW1pYXN0IGZhbGxvY2F0ZSgyKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImZhbGxvY2F0ZSBuaWUgcG93aW9kxYJvIHNpxJk6IHRyeWIgdXRyenlteXdhbmlhIHJvem1pYXJ1IG5pZSBqZXN0IG9ic8WCdWdpd2FueSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTQ1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiBvZGN6eXQgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIlczogJXMgKGJhanTDs3c6ICVqdSkgcHJ6ZWtzenRhxYJjb25vIG5hIHJ6YWRraWUgZHppdXJ5LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICJvYnPFgnVnYSBwb3NpeF9mYWxsb2NhdGUgbmllIGplc3Qgd2tvbXBpbG93YW5hIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyBuYXp3eSBwbGlrdSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJwb2Rhbm8gYsWCxJlkbsSFIHdhcnRvxZvEhyBkxYJ1Z2/Fm2NpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg0Cittc2dpZCAibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyBhcmd1bWVudHUgZMWCdWdvxZtjaSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4OQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAicG9kYW5vIGLFgsSZZG7EhSB3YXJ0b8WbxIcgb2Zmc2V0dSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2plXSA8cGxpaz58PGthdGFsb2c+IDxwb2xlY2VuaWU+IFs8YXJndW1lbnR5Pi4uLl1cbiIKKyIgJTEkcyBbb3BjamVdIDxwbGlrPnw8a2F0YWxvZz4gLWMgPHBvbGVjZW5pZT5cbiIKKyIgJTEkcyBbb3BjamVdIDxudW1lciBkZXNrcnlwdG9yYSBwbGlrdT5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIlphcnrEhWR6YW5pZSBibG9rYWRhbWkgcGxpa293eW1pIHogcG96aW9tdSBza3J5cHTDs3cgcG93xYJva2kuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIHBvYnJhbmllIGJsb2thZHkgd3Nww7PFgmR6aWVsb25lalxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIHBvYnJhbmllIGJsb2thZHkgd3nFgsSFY3puZWogKGRvbXnFm2xuZSlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICB1c3VuacSZY2llIGJsb2thZHlcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIG5pZXBvd29kemVuaWUgemFtaWFzdCBvY3pla2l3YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWs+ICAgICAgb2N6ZWtpd2FuaWUgb2dyYW5pY3pvbsSFIGxpY3pixJkgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8a29kPiAga29kIHd5asWbY2lhIHBvIGtvbmZsaWtjaWUgbHViIHByemVrcm9jemVuaXUgY3phc3VcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgemFta25pxJljaWUgZGVza3J5cHRvcmEgcGxpa3UgcHJ6ZWQgd3lrb25hbmllbSBwb2xlY2VuaWFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIgLWMsIC0tY29tbWFuZCA8cG9sZWNlbmllPiAgdXJ1Y2hvbWllbmllIHBvbGVjZW5pYSBwb3ByemV6IHBvd8WCb2vEmVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIHd5d2/FgmFuaWUgcG9sZWNlbmlhIGJleiBvZGdhxYLEmXppYW5pYSBwcm9jZXN1XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICB6d2nEmWtzemVuaWUgc3pjemVnw7PFgm93b8WbY2kga29tdW5pa2F0w7N3XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHIHBsaWt1IGJsb2thZHkgJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOAorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIGxpbWl0dSBjemFzdSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImLFgsSZZG55IGtvZCB3eWrFm2NpYSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI5Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIm9wY2plIC0tbm8tZm9yayBpIC0tY2xvc2UgbmllIHPEhSB6Z29kbmUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlcyB3eW1hZ2EgZG9rxYJhZG5pZSBqZWRuZWdvIGFyZ3VtZW50dSBixJlkxIVjZWdvIHBvbGVjZW5pZW0iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgImLFgsSZZG55IGRlc2tyeXB0b3IgcGxpa3UiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgInd5bWFnYSBkZXNrcnlwdG9yYSBwbGlrdSwgcGxpa3UgbHViIGthdGFsb2d1IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwb2JyYcSHIGJsb2thZHkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OQorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAidXDFgnluxIXFgiBsaW1pdCBjemFzdSBwb2RjemFzIG9jemVraXdhbmlhIG5hIGJsb2thZMSZIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzOiBwb2JyYW5pZSBibG9rYWR5IHphasSZxYJvICVsZC4lMDZsZCBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6IHd5a29ueXdhbmllICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDxwdW5rdF9tb250b3dhbmlhPlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiV3N0cnp5bWFuaWUgZG9zdMSZcHUgZG8gc3lzdGVtdSBwbGlrw7N3LlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgIHphbXJvxbxlbmllIHN5c3RlbXUgcGxpa8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgb2Rtcm/FvGVuaWUgc3lzdGVtdSBwbGlrw7N3XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIm5pZSBwb2Rhbm8gLS1mcmVlemUgYW5pIC0tdW5mcmVlemUiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogbmllIGplc3Qga2F0YWxvZ2llbSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogemFtcm/FvGVuaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG9kbXJvxbxlbmllIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBuaWUgamVzdCBrYXRhbG9naWVtIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBGSVRSSU0gbmllIHBvd2nDs2TFgiBzacSZIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6IG9iY2nEmXRvICVzIChiYWp0w7N3OiAlPFBSSXU2ND4pXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIHdwaXN1ICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8cHVua3QgbW9udG93YW5pYT5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUG9yenVjZW5pZSBuaWUgdcW8eXdhbnljaCBibG9rw7N3IG5hIHphbW9udG93YW55bSBzeXN0ZW1pZSBwbGlrw7N3LlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgb2JjacSZY2llIHdzenlzdGtpY2ggemFtb250b3dhbnljaCwgb2JzxYJ1Z2l3YW55Y2ggc3lzdC4gcGwuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICB0aGUgb2Zmc2V0IGluIGJ5dGVzIHRvIHN0YXJ0IGRpc2NhcmRpbmcgZnJvbVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxpbGU+ICBvZmZzZXQgdyBiYWp0YWNoIGRvIHJvenBvY3rEmWNpYSB1c3V3YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPGlsZT4gIGxpY3piYSBiYWp0w7N3IGRvIHVzdW5pxJljaWFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLW0sIC0tbWluaW11bSA8aWxlPiBtaW5pbWFsbmEgZMWCdWdvxZvEhyBla3N0ZW50dSBkbyB1c3VuacSZY2lhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIHd5cGlzYW5pZSBsaWN6YnkgdXN1d2FueWNoIGJhanTDs3dcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJhIG1pbmltYWxuZWogZMWCdWdvxZvEhyBla3N0ZW50dSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIHB1bmt0dSBtb250b3dhbmlhIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IG9wZXJhY2phIHVzdW5pxJljaWEgbmllIGplc3Qgb2JzxYJ1Z2l3YW5hIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIlByenlqxJl0bywgxbxlIHplZ2FyIHNwcnrEmXRvd3kgcHJ6ZWNob3d1amUgY3phcyAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAibG9rYWxueSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIlV3YWdhOiBuaWVyb3pwb3puYW5hIHRyemVjaWEgbGluaWEgdyBwbGlrdSBhZGp0aW1lXG4iCisiKE9jemVraXdhbm86IGBVVEMnLCBgTE9DQUwnIGx1YiBuaWN6ZWdvKS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiT3N0YXRuaWEga29yZWt0YSBuaWVkb2vFgmFkbm/Fm2NpIHd5a29uYW5hICVsZCBzZWt1bmQgcG8gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJPc3RhdG5pYSBrYWxpYnJhY2phIHd5a29uYW5hICVsZCBzZWt1bmQgcG8gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIlplZ2FyIHNwcnrEmXRvd3kgcHJ6ZWNob3d1amUgY3phcyAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIk9jemVraXdhbmllIG5hIHByemVza29rIHplZ2FyYS4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIi4uLnN5bmNocm9uaXphY2phIG5pZSBwb3dpb2TFgmEgc2nEmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi53ecWCYXBhbm8gcHJ6ZXNrb2sgemVnYXJhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIkLFgsSZZG5lIHdhcnRvxZtjaSB3IHplZ2FyemUgc3ByesSZdG93eW06ICU0ZC0lLjJkLSUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkN6YXMgemVnYXJhIHNwcnrEmXRvd2VnbzogJTRkLSUuMmQtJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmQgcG8gMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICJDemFzIG9kY3p5dGFueSB6IHplZ2FyYSBzcHJ6xJl0b3dlZ286ICU0ZC0lLjJkLSUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiVXN0YXdpYW5pZSB6ZWdhcmEgc3ByesSZdG93ZWdvIG5hICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VuZCBvZCAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICJjemFzIHByemVza29jennFgiB3c3RlY3ogJS42ZiBzZWsgbmEgJWxkLiUwNmxkIC0gcG9ub3duZSB3eWxpY3phbmllXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAiY2h5YmllbmllIC0gJWxkLiUwNmxkIGplc3QgemEgYmFyZHpvIHdzdGVjeiBvZCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZsZCBqZXN0IHd5c3RhcmN6YWrEhWNvIGJsaXNrbyAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlVzdGF3aWVuaWUgUlRDIG5hICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiV3l3b8WCeXdhbmllIHNldHRpbWVvZmRheShOVUxMLCAlZCkgdyBjZWx1IHVzdGF3aWVuaWEgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjgKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAwKSB0byBsb2NrIHRoZSB3YXJwIGZ1bmN0aW9uLiIKK21zZ3N0ciAiV3l3b8WCeXdhbmllIHNldHRpbWVvZmRheShOVUxMLCAwKSB3IGNlbHUgemFibG9rb3dhbmlhIGZ1bmtjamkgd2FycF9jbG9jay4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIld5d2/Fgnl3YW5pZSBzZXR0aW1lb2ZkYXkoJWxkLiUwNmxkLCAlZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIKK21zZ3N0ciAiV3l3b8WCeXdhbmllIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAidyBjZWx1IHVzdGF3aWVuaWEgc3RyZWZ5IGN6YXNvd2VqIGrEhWRyYS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgIncgY2VsdSBwcnpla3LEmWNlbmlhIGN6YXN1IHN5c3RlbW93ZWdvLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiQmV6IHptaWFueSB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSwgcG9uaWV3YcW8IG5pZSBwb2Rhbm8gb3BjamkgLS11cGRhdGUtZHJpZnQuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiQmV6IHptaWFueSB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSwgcG9uaWV3YcW8IGN6YXMgb3N0YXRuaWVqIGthbGlicmFjamkgamVzdCB6ZXJvd3ksXG4iCisid2nEmWMgaGlzdG9yaWEgamVzdCBixYLEmWRuYSBpIHRyemViYSBwb25vd25pZSB6YWN6xIXEhyBrYWxpYnJhY2rEmS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiQmV6IHptaWFueSB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSwgcG9uaWV3YcW8IG9kIHBvcHJ6ZWRuaWVqIGthbGlicmFjamkgbWluxJnFgm8gbW5pZWogbmnFvCBjenRlcnkgZ29kemlueS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiV3Nww7PFgmN6eW5uaWsga29yZWt0eSB6ZWdhcmEgem9zdGHFgiB3eWxpY3pvbnkgbmEgJWYgcy9kemllxYQuXG4iCisiSmVzdCB0byB6ZGVjeWRvd2FuaWUgemEgZHXFvG8gLSBwcnp5d3LDs2Nvbm8gemVyby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiWmVnYXIgemJvY3p5xYIgbyAlZiBzZWt1bmQgcHJ6ZXogb3N0YXRuaWUgJWYgc2VrdW5kXG4iCisibWltbyB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSAlZiBzZWt1bmQvZHppZcWELlxuIgorIlptaWFuYSB3c3DDs8WCY3p5bm5pa2Ega29yZWt0eSBvICVmIHNla3VuZC9kemllxYRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJDemFzIG9kIG9zdGF0bmllaiBrb3Jla3R5IHRvICVsZCBzZWt1bmRhXG4iCittc2dzdHJbMV0gIkN6YXMgb2Qgb3N0YXRuaWVqIGtvcmVrdHkgdG8gJWxkIHNla3VuZHlcbiIKK21zZ3N0clsyXSAiQ3phcyBvZCBvc3RhdG5pZWoga29yZWt0eSB0byAlbGQgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiT2JsaWN6b255IGRyeWYgemVnYXJhIHNwcnrEmXRvd2VnbyB0byAlbGQuJTA2bGQgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIk5vd2UgZGFuZSAlczpcbiIKKyIlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSB1YWt0dWFsbmnEhyAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiQmV6IHVzdGF3aWFuaWEgemVnYXJhLCBwb25pZXdhxbwgY3phcyBvc3RhdG5pZWogcG9wcmF3a2kgamVzdCB6ZXJvd3ksIHdpxJljIGhpc3RvcmlhIGplc3QgYsWCxJlkbmEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiQmV6IHVzdGF3aWFuaWEgemVnYXJhLCB3c3DDs8WCY3p5bm5payBrb3Jla3R5ICVmIGplc3QgemRlY3lkb3dhbmllIHphIGR1xbx5LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJOaWUgem5hbGV6aW9ubyB1xbx5dGVjem5lZ28gaW50ZXJmZWpzdSB6ZWdhcmEuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg2Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJOaWUgbW/FvG5hIHV6eXNrYcSHIGRvc3TEmXB1IGRvIHplZ2FyYSBzcHJ6xJl0b3dlZ28gxbxhZG7EhSB6bmFuxIUgbWV0b2TEhS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAiUHJvc3rEmSB1xbx5xIcgb3BjamkgLS12ZXJib3NlLCBhYnkgem9iYWN6ecSHIHN6Y3plZ8OzxYJ5IHBvc3p1a2l3YW5pYSBtZXRvZHkgZG9zdMSZcHUuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAiRGF0YSBkb2NlbG93YTogJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICJQcnpld2lkeXdhbnkgUlRDOiAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NzAKK21zZ2lkICJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIKK21zZ3N0ciAiT2Rjenl0IFJUQyB6d3LDs2NpxYIgYsWCxJlkbsSFIHdhcnRvxZvEhy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiV3ltYWdhbmEga29yZWt0YSBqZXN0IG1uaWVqc3phIG5pxbwgamVkbmEgc2VrdW5kYSAtIGJleiB1c3Rhd2lhbmlhIHplZ2FyYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM1Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBvZGN6eXRhxIcgZXBva2kgUlRDLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiRXBva2EgUlRDIHVzdGF3aW9uYSBuYSAlbHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICItLWVwb2NoIGplc3Qgd3ltYWdhbmUgZGxhIC0tc2V0ZXBvY2guIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKK21zZ2lkICJ1bmFibGUgdG8gc2V0IHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgZXBva2kgUlRDLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiAlcyBbZnVua2NqYV0gW29wY2phLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiTmFyesSZZHppZSBkbyBvYnPFgnVnaSB6ZWdhcsOzdyBjemFzdSByemVjenl3aXN0ZWdvLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIgLXIsIC0tc2hvdyAgICAgICAgICAgd3nFm3dpZXRsZW5pZSBjemFzdSBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAgICAtLWdldCAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgY3phc3UgUlRDIHoga29yZWt0xIUgZHJ5ZnUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgICAgIC0tc2V0ICAgICAgICAgICAgdXN0YXdpZW5pZSBSVEMgemdvZG5pZSB6IC0tZGF0ZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY2Cittc2dpZCAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgUlRDIgorbXNnc3RyICIgLXMsIC0taGN0b3N5cyAgICAgICAgdXN0YXdpZW5pZSBjemFzdSBzeXN0ZW1vd2VnbyB6IFJUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgLXcsIC0tc3lzdG9oYyAgICAgICAgdXN0YXdpZW5pZSBSVEMgeiBjemFzdSBzeXN0ZW1vd2VnbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY4Cittc2dpZCAiICAgICAtLXN5c3R6ICAgICAgICAgIHNlbmQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb25zIHRvIHRoZSBrZXJuZWwiCittc2dzdHIgIiAgICAgLS1zeXN0eiAgICAgICAgICB3eXPFgmFuaWUga29uZmlndXJhY2ppIHNrYWxpIGN6YXN1IGRvIGrEhWRyYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY5Cittc2dpZCAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQiCittc2dzdHIgIiAtYSwgLS1hZGp1c3QgICAgICAgICByZWd1bGFjamEgUlRDIHcgY2VsdSB1d3pnbMSZZG5pZW5pYSBzeXN0ZW1hdHljem5lZ28gZHJ5ZnUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorbXNnaWQgIiAgICAgLS1nZXRlcG9jaCAgICAgICBkaXNwbGF5IHRoZSBSVEMgZXBvY2giCittc2dzdHIgIiAgICAgLS1nZXRlcG9jaCAgICAgICB3ecWbd2lldGxlbmllIGVwb2tpIFJUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIgICAgIC0tc2V0ZXBvY2ggICAgICAgdXN0YXdpZW5pZSBlcG9raSBSVEMgemdvZG5pZSB6IC0tZXBvY2giCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcnpld2lkemVuaWUgY3phc3UgUlRDIHogZHJ5ZmVtIHpnb2RuaWUgeiAtLWRhdGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICBSVEMgdcW8eXdhIHNrYWxpIGN6YXN1IFVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgUlRDIHXFvHl3YSBza2FsaSBjemFzdSBsb2thbG5lZ28iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8cGxpaz4gICAgIHXFvHljaWUgYWx0ZXJuYXR5d25lZ28gcGxpa3UgemFtaWFzdCAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiICAgICAtLWRpcmVjdGlzYSAgICAgIHXFvHljaWUgc3p5bnkgSVNBIHphbWlhc3QgZG9zdMSZcHUgZG8gJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIgICAgIC0tZGF0ZSA8Y3phcz4gICAgd2VqxZtjaWUgZGF0eS9jemFzdSBkbGEgLS1zZXQgaSAtLXByZWRpY3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiICAgICAtLWVwb2NoIDxyb2s+ICAgIHdlasWbY2llIGVwb2tpIGRsYSAtLXNldGVwb2NoIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdWFrdHVhbG5pZW5pZSB3c3DDs8WCY3p5bm5pa2EgZHJ5ZnUgUlRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgIC0tbm9hZGpmaWxlICAgICAgYmV6IHd5a29yenlzdGFuaWEgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWFkamZpbGUgPGZpbGU+IHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAgICAgLS1hZGpmaWxlIDxwbGlrPiB1xbx5Y2llIGFsdGVybmF0eXduZWdvIHBsaWt1IHphbWlhc3QgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgICAgLS10ZXN0ICAgICAgICAgICB0ZXN0b3dlIHVydWNob21pZW5pZTsgd8WCxIVjemEgLS12ZXJib3NlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICB3eXBpc2FuaWUgd2nEmWtzemVqIGlsb8WbY2kgc3pjemVnw7PFgsOzdyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICJOaWUgbW/FvG5hIHBvxYLEhWN6ecSHIHNpxJkgeiBzeXN0ZW1lbSBhdWR5dHUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgInByb3N6xJkgdcW8ecSHIG9wY2ppIC0tdmVyYm9zZSwgLS1kZWJ1ZyBqZXN0IHd5Y29meXdhbmEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICJwb2Rhbm8gbyAlZCB6YSBkdcW8byBhcmd1bWVudMOzdyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzE3Cittc2dpZCAiLS11cGRhdGUtZHJpZnQgcmVxdWlyZXMgLS1zZXQgb3IgLS1zeXN0b2hjIgorbXNnc3RyICItLXVwZGF0ZS1kcmlmdCB3eW1hZ2EgLS1zZXQgbHViIC0tc3lzdG9oYyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIlcgcHJ6eXBhZGt1IHXFvHljaWEgLS1ub2FkamZpbGUgdHJ6ZWJhIHBvZGHEhyAtLXV0YyBsdWIgLS1sb2NhbHRpbWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICItLWRhdGUgamVzdCB3eW1hZ2FuZSBkbGEgLS1zZXQgbHViIC0tcHJlZGljdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJixYLEmWRuYSBkYXRhICclcyciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gVGltZTogJWxkLiUwNmxkXG4iCittc2dzdHIgIkN6YXMgc3lzdGVtb3d5OiAlbGQuJTA2bGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAiVHJ5YiB0ZXN0b3d5OiBuaWMgbmllIHpvc3RhxYJvIHptaWVuaW9uZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJkb3N0xJlwIGRvIHBvcnTDs3cgSVNBIG5pZSBqZXN0IHphaW1wbGVtZW50b3dhbnkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKK21zZ2lkICJpb3BsKCkgcG9ydCBhY2Nlc3MgZmFpbGVkIgorbXNnc3RyICJkb3N0xJlwIGRvIHBvcnTDs3cgcHJ6ZXogaW9wbCgpIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5NworbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAiVcW8eWNpZSBiZXpwb8WbcmVkbmllZ28gZG9zdMSZcHUgSVNBIGRvIHplZ2FyYS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiUHLDs2JhIG90d2FyY2lhOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgdXJ6xIVkemVuaWEgcnRjIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJuaWUgcG93acOzZMWCIHNpxJkgaW9jdGwoJXMpIG5hICVzIHcgY2VsdSBvZGN6eXR1IGN6YXN1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIk9jemVraXdhbmllIHcgcMSZdGxpIG5hIHptaWFuxJkgY3phc3UgeiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzMKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJQcnpla3JvY3pvbm8gbGltaXQgY3phc3Ugb2N6ZWtpd2FuaWEgbmEgem1pYW7EmSBjemFzdS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAic2VsZWN0KCkgbmEgJXMgdyBjZWx1IG9jemVraXdhbmlhIG5hIHByemVza29rIHplZ2FyYSBwcnpla3JvY3p5xYIgbGltaXQgY3phc3UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAibmllIHBvd2nDs2TFgiBzacSZIHNlbGVjdCgpIG5hICVzIHcgY2VsdSBvY3pla2l3YW5pYSBuYSBwcnplc2tvayB6ZWdhcmEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAibmllIHBvd2nDs2TFgiBzacSZIGlvY3RsKCkgbmEgJXMgdyBjZWx1IHd5xYLEhWN6ZW5pYSBwcnplcndhxYQgdWFrdHVhbG5pZcWEIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAibmllIHBvd2nDs2TFgiBzacSZIGlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSBuYSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzU2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJuaWUgcG93acOzZMWCIHNpxJkgaW9jdGwoJXMpIG5hICVzIHcgY2VsdSB1c3Rhd2llbmlhIGN6YXN1IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykgcG93acOzZMWCIHNpxJkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MworbXNnaWQgIlVzaW5nIHRoZSBydGMgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIlXFvHljaWUgaW50ZXJmZWpzdSBydGMgZG8gemVnYXJhLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJuaWUgcG93acOzZMWCIHNpxJkgaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSBuYSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDExCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIG5hICVzIHBvd2nDs2TFgiBzacSZLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAiYsWCxJlkbmEgZXBva2EgJyVzJy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgIm5pZSBwb3dpw7NkxYIgc2nEmSBpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSBuYSAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgbmEgJXMgcG93acOzZMWCIHNpxJkuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiVHdvcnplbmllIHLDs8W8bnljaCB6YXNvYsOzdyBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8cm96bWlhcj4gICAgdXR3b3J6ZW5pZSBzZWdtZW50dSBwYW1pxJljaSBkemllbG9uZWogcG9kYW5lZ28gcm96bWlhcnVcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDxpbGU+ICAgIHV0d29yemVuaWUgdGFibGljeSBzZW1hZm9yw7N3IG8gdHlsdSBlbGVtZW50YWNoXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgLVEsIC0tcXV1ZSAgICAgICAgICAgICAgIHV0d29yemVuaWUga29sZWpraSBrb211bmlrYXTDs3dcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8dHJ5Yj4gICAgICAgIHVwcmF3bmllbmlhIGRvIHphc29idSAoZG9tecWbbG5lIGRvIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJuaWV6cm96dW1pYcWCeSByb3ptaWFyIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgZWxlbWVudMOzdyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgInR3b3J6ZW5pZSBwYW1pxJljaSBkemllbG9uZWogbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiSWRlbnR5ZmlrYXRvciBwYW1pxJljaSBkemllbG9uZWo6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAidHdvcnplbmllIGtvbGVqa2kga29tdW5pa2F0w7N3IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIklkZW50eWZpa2F0b3Iga29sZWpraSBrb211bmlrYXTDs3c6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJ0d29yemVuaWUgc2VtYWZvcsOzdyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIklkZW50eWZpa2F0b3IgdGFibGljeSBzZW1hZm9yw7N3OiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2plXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJVc3V3YW5pZSB6YXNvYsOzdyBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHVzdW5pxJljaWUgc2VnbWVudHUgcGFtacSZY2kgZHppZWxvbmVqIG8gcG9kYW55bSBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDxrbHVjej4gICAgdXN1bmnEmWNpZSBzZWdtZW50dSBwYW1pxJljaSBkemllbG9uZWogbyBwb2RhbnltIGtsdWN6dVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgdXN1bmnEmWNpZSBrb2xlamtpIGtvbXVuaWthdMOzdyBvIHBvZGFueW0gaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPGtsdWN6PiAgICB1c3VuacSZY2llIGtvbGVqa2kga29tdW5pa2F0w7N3IG8gcG9kYW55bSBrbHVjenVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgdXN1bmnEmWNpZSBzZW1hZm9yYSBvIHBvZGFueW0gaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtsdWN6PiB1c3VuacSZY2llIHNlbWFmb3JhIG8gcG9kYW55bSBrbHVjenVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHVzdW5pxJljaWUgd3N6eXN0a2llZ28gKHogcG9kYW5laiBrYXRlZ29yaWkpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBvcGlzeXdhbmllIHd5a29ueXdhbnljaCBjenlubm/Fm2NpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgInVzdXdhbmllIHNlZ21lbnR1IHBhbWnEmWNpIGR6aWVsb25laiBvIGlkIGAlZCdcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgInVzdXdhbmllIGtvbGVqa2kga29tdW5pa2F0w7N3IG8gaWQgYCVkJ1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJ1c3V3YW5pZSBzZW1hZm9yYSBvIGlkIGAlZCdcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgImJyYWsgdXByYXduaWXFhCBkbyB0ZWdvIGtsdWN6YSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJicmFrIHVwcmF3bmllxYQgZG8gdGVnbyBpZGVudHlmaWthdG9yYSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJixYLEmWRueSBrbHVjeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAiYsWCxJlkbnkgaWRlbnR5ZmlrYXRvciIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgImtsdWN6IGp1xbwgdXN1bmnEmXR5IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImlkZW50eWZpa2F0b3IganXFvCB1c3VuacSZdHkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJvZHdvxYJhbmllIGRvIGtsdWN6YSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAib2R3b8WCYW5pZSBkbyBpZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAiYsWCxJlkbnkgaWRlbnR5ZmlrYXRvcjogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgInphc29ieSB1c3VuacSZdGVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIm5pZWRvendvbG9ueSBrbHVjeiAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgImrEhWRybyBuaWUgem9zdGHFgm8gc2tvbmZpZ3Vyb3dhbmUgZG8gb2JzxYJ1Z2kgcGFtacSZY2kgZHppZWxvbmVqIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgImrEhWRybyBuaWUgem9zdGHFgm8gc2tvbmZpZ3Vyb3dhbmUgZG8gb2JzxYJ1Z2kgc2VtYWZvcsOzdyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiasSFZHJvIG5pZSB6b3N0YcWCbyBza29uZmlndXJvd2FuZSBkbyBvYnPFgnVnaSBrb2xlamVrIGtvbXVuaWthdMOzdyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2phLXphc29idS4uLl0gW29wY2phLXd5asWbY2lhXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICJXecWbd2lldGxhbmllIGluZm9ybWFjamkgbyB6YXNvYmFjaCBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gIHd5cGlzYW5pZSBzemN6ZWfDs8WCw7N3IHphc29idSBvIHBvZGFueW0gPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgIk9wY2plIHphc29idTpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgc2VnbWVudHkgcGFtacSZY2kgZHppZWxvbmVqXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjYgc3lzLXV0aWxzL2xzaXBjLmM6Mjg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZXMgICAgICBrb2xlamtpIGtvbXVuaWthdMOzd1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hZm9yeVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIHdzenlzdGtvIChkb215xZtsbmUpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3BjamUgd3lqxZtjaWE6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICB3ecWbd2lldGxlbmllIGN6YXN1IHBvZMWCxIVjemVuaWEsIG9kxYLEhWN6ZW5pYSBpIHptaWFueVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICB3ecWbd2lldGxlbmllIFBJRC3Ds3cgdHfDs3JjeSBpIHd5a29uYXdjeSBvc3RhdG5pZWogb3BlcmFjamlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICB3ecWbd2lldGxlbmllIHR3w7NyY3kgaSB3xYJhxZtjaWNpZWxhXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpbWl0cyAgICAgIHd5xZt3aWV0bGVuaWUgbGltaXTDs3cgemFzb2LDs3dcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICB3ecWbd2lldGxlbmllIHBvZHN1bW93YW5pYSBzdGFudVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICB3ecWbd2lldGxhbmllIHJvem1pYXLDs3cgdyBwb3N0YWNpIGN6eXRlbG5laiBkbGEgY3rFgm93aWVrYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIHd5xZt3aWV0bGVuaWUgcm96bWlhcsOzdyB3IGJhanRhY2hcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAidyBwcnp5cGFka3UgdcW8eWNpYSBJRCwgb2tyZcWbbG9ueSBtdXNpIGJ5xIcgcG9qZWR5bmN6eSB6YXPDs2IiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJuaWUgbW/FvG5hIHBvYnJhxIcgbGltaXTDs3cgcGFtacSZY2kgZHppZWxvbmVqXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTGltaXR5IHBhbWnEmWNpIGR6aWVsb25laiAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIKK21zZ3N0ciAibWFrc3ltYWxuYSBsaWN6YmEgc2VnbWVudMOzdyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAibWFrc3ltYWxueSByb3ptaWFyIHNlZ21lbnR1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJtYWtzeW1hbG55IHJvem1pYXIgY2HFgmVqIHBhbWnEmWNpIGR6aWVsb25laiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIm1pbmltYWxueSByb3ptaWFyIHNlZ21lbnR1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiasSFZHJvIG5pZSB6b3N0YcWCbyBza29uZmlndXJvd2FuZSBkbyBvYnPFgnVnaSBwYW1pxJljaSBkemllbG9uZWpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTdGFuIHBhbWnEmWNpIGR6aWVsb25laiAtLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisic2VnbWVudMOzdyBwcnp5ZHppZWxvbnljaCAlZFxuIgorInN0cm9uIHByenlkemllbG9ueWNoICVsZFxuIgorInN0cm9uIHcgcGFtacSZY2kgICAgICAlbGRcbiIKKyJzdHJvbiB3eW1pZW5pb255Y2ggICAlbGRcbiIKKyJXeWRham5vxZvEhyBzd2FwYTogJWxkIHByw7NiXHQgJWxkIHN1a2Nlc8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gVHfDs3JjeS93xYJhxZtjaWNpZWxlIHBhbWnEmWNpIGR6aWVsb25laiAtLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgImlkX3NobSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgInVwcmF3bi4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gQ3phcyBkb8WCxIVjemFuaWEvb2TFgsSFY3phbmlhL3ptaWFuIHBhbS5kemllbC4gLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICJ3xYJhxZtjaWNpZWwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgInBvZMWCxIVjemVuaWUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgIm9kxYLEhWN6ZW5pZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJ6bWlhbmEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQSUQgdHfDs3JjeS9vc3Qub3AuIG5hIHBhbWnEmWNpIGR6aWVsLiAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZWdtZW50eSBwYW1pxJljaSBkemllbG9uZWogLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAia2x1Y3oiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAicm96bWlhciIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAiYmFqdMOzdyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgInBvZMWCxIVjemXFhCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInN0YW4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzEyIHN5cy11dGlscy9pcGNzLmM6MzE0IHN5cy11dGlscy9pcGNzLmM6MzE2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQzMCBzeXMtdXRpbHMvaXBjcy5jOjQzMiBzeXMtdXRpbHMvaXBjcy5jOjUzOAorIzogc3lzLXV0aWxzL2lwY3MuYzo1NDAgc3lzLXV0aWxzL2lwY3MuYzo1NDIgc3lzLXV0aWxzL2lwY3MuYzo1OTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk4IHN5cy11dGlscy9pcGNzLmM6NjI3IHN5cy11dGlscy9pcGNzLmM6NjI5CisjOiBzeXMtdXRpbHMvaXBjcy5jOjYzMSBzeXMtdXRpbHMvaXBjcy5jOjY1NQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIk5pZSB1c3Rhd2lvbm8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICJkZXN0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAiYmxvay4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgIm5pZSBtb8W8bmEgcG9icmHEhyBsaW1pdMOzdyBzZW1hZm9yw7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMaW1pdHkgc2VtYWZvcsOzdyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIm1ha3N5bWFsbmEgbGljemJhIHRhYmxpYyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm1ha3N5bWFsbmEgbGljemJhIHNlbWFmb3LDs3cgdyB0YWJsaWN5ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBzZW1hZm9yw7N3IHcgc3lzdGVtaWUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAibWFrc3ltYWxuYSBsaWN6YmEgb3BlcmFjamkgbmEgc2VtLiB3IHd5d2/FgmFuaXUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAibWFrc3ltYWxuYSB3YXJ0b8WbxIcgc2VtYWZvcmEgPSAldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiasSFZHJvIG5pZSB6b3N0YcWCbyBza29uZmlndXJvd2FuZSBkbyBvYnPFgnVnaSBzZW1hZm9yw7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTdGFuIHNlbWFmb3LDs3cgLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgInRhYmxpYyB1xbx5d2FueWNoOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgInNlbWFmb3LDs3cgcHJ6eWR6aWVsb255Y2g6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gVHfDs3JjeS93xYJhxZtjaWNpZWxlIHRhYmxpYyBzZW1hZm9yw7N3IC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgImlkX3NlbSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBDemFzeSBvcGVyYWNqaS96bWlhbiBzZW1hZm9yw7N3IC0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJvc3Qub3AuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAib3N0LnptaWFuYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFRhYmxpY2Ugc2VtYWZvcsOzdyAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAibnNlbXMiCittc2dzdHIgImxzZW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJuaWUgbW/FvG5hIHBvYnJhxIcgbGltaXTDs3cga29tdW5pa2F0w7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIExpbWl0eSBrb211bmlrYXTDs3cgLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBrb2xlamVrIHcgc3lzdGVtaWUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIm1ha3N5bWFsbnkgcm96bWlhciBrb211bmlrYXR1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgImRvbXnFm2xueSBtYWtzeW1hbG55IHJvem1pYXIga29sZWpraSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJqxIVkcm8gbmllIHpvc3RhxYJvIHNrb25maWd1cm93YW5lIGRvIG9ic8WCdWdpIGtvbGVqZWsga29tdW5pa2F0w7N3XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFN0YW4ga29tdW5pa2F0w7N3IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJrb2xlamtpIHByenlkemllbG9uZTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAidcW8eXdhbmUgbmFnxYLDs3draTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODgKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJ1xbx5d2FuZSBtaWVqc2NlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIgYmFqdMOzd1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIFR3w7NyY3kvd8WCYcWbY2ljaWVsZSBrb2xlamVrIGtvbXVuaWthdMOzdyAtXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJpZF9tc3EiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBLb2xlamtpIGtvbXVuaWthdMOzdzogY3phcyBvZGIuL3d5cy4vem1pYW55IC0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInNlbmQiCittc2dzdHIgInd5c8WCYW5pZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJyZWN2IgorbXNnc3RyICJvZGJpw7NyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiem1pYW5hIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gS29sZWpraSBrb211bmlrYXTDs3c6IFBJRC15IC1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEtvbGVqa2kga29tdW5pa2F0w7N3IC0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgImJhanTDs3ciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgImtvbXVuaWthdMOzdyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiSUQgJWQgbmllIHpvc3RhxYIgem5hbGV6aW9ueSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiSWRlbnR5ZmlrYXRvciBzZWdtZW50dSBwYW1pxJljaSBkemllbG9uZWogKHNobWlkKT0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJ0cnliPSUjb1x0cHJhd2FfZG9zdMSZcHU9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgInJvem1pYXI9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYmFqdMOzdz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx0cG9kxYLEhWN6ZcWEPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjemFzX3BvZMWCPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImN6YXNfb2TFgj0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjemFzX3ptaWFueT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiSWRlbnR5ZmlrYXRvciBrb2xlamtpIGtvbXVuaWthdMOzdyAobXNxaWQpPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0dHJ5Yj0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgImNyb3ptaWFyPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJjYmFqdMOzdz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJxcm96bWlhcj0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJhanTDs3c9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY3phc193eXPFgmFuaWE9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY3phc19vZGJpb3J1PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIklkZW50eWZpa2F0b3IgdGFibGljeSBzZW1hZm9yw7N3IChzZW1pZCk9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAidHJ5Yj0lI28sIHVwcmF3bmllbmlhPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJsc2VtID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgIm4uc2VtLiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAid2FydG/Fm8SHIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAib2N6ZWsubi4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJvY3play56LiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgInBpZCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChiYWp0w7N3KSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoa0IpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJixYLEmWRuYSBmbGFnYSBpZmxhZyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8ZHlzY3lwbGluYT4gPHVyesSFZHplbmllPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiRG/FgsSFY3plbmllIGR5c2N5cGxpbnkgbGluaWkgZG8gbGluaWkgc3plcmVnb3dlai5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgdG8gc3RkZXJyXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICB3eXBpc3l3YW5pZSBzemN6ZWfDs8WCw7N3IG5hIHN0ZGVyclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8d2FydG/Fm8SHPiAgIHVzdGF3aWVuaWUgc3p5YmtvxZtjaSBsaW5paSBzemVyZWdvd2VqXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtYywgLS1pbnRyby1jb21tYW5kIDzFgmHFhGN1Y2g+IHdwcm93YWR6ZW5pZSBkbyB3eXPFgmFuaWEgcHJ6ZWQgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA8c2VrdW5kPiAgICBvZGN6ZWthbmllIG1pxJlkenkgd3Byb3dhZHplbmllbSBhIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICB1c3Rhd2llbmllIHJvem1pYXJ1IHpuYWt1IG5hIDcgYml0w7N3XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICB1c3Rhd2llbmllIHJvem1pYXJ1IHpuYWt1IG5hIDggYml0w7N3XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHVzdGF3aWVuaWUgYnJha3UgcGFyenlzdG/Fm2NpXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHVzdGF3aWVuaWUgcGFyenlzdG/Fm2NpIG5hIHBhcnp5c3TEhVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHVzdGF3aWVuaWUgcGFyenlzdG/Fm2NpIG5hIG5pZXBhcnp5c3TEhVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTUKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHVzdGF3aWVuaWUgamVkbmVnbyBiaXR1IHN0b3B1XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgdXN0YXdpZW5pZSBkd8OzY2ggYml0w7N3IHN0b3B1XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICB1c3Rhd2llbmllIGZsYWdpIHRyeWJ1IHdlasWbY2lhXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiWm5hbmUgbmF6d3kgPGR5c2N5cGxpbnk+OlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjYKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlpuYW5lIG5hend5IDxpZmxhZz46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBzenlia2/Fm2NpIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBvcGNqYSBwYXV6eSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIGR5c2N5cGxpbmEgbGluaWkiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgbmllIGplc3QgaW50ZXJmZWpzZW0gc3plcmVnb3d5bSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgcG9icmHEhyBhdHJ5YnV0w7N3IHRlcm1pbmFsYSBkbGEgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAic3p5YmtvxZvEhyAlZCBuaWUgamVzdCBvYnPFgnVnaXdhbmEiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIHVzdGF3acSHIGF0cnlidXTDs3cgdGVybWluYWxhIGRsYSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIG5hcGlzYcSHIHBvbGVjZW5pYSByb3pwb2N6eW5hasSFY2VnbyBkbyAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgZHlzY3lwbGlueSBsaW5paSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAibmllIG1vxbxuYSBzdGHEhyBzacSZIGRlbW9uZW0iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgInVzdGF3aW9uYSBmbGFnYSBhdXRvY2xlYXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJwbGlrIHBvd2nEhXphbnkgeiB1cnrEhWR6ZW5pZW0iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICJudW1lciBpLXfEmXrFgmEgcG93acSFemFuZWdvIHBsaWt1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIm51bWVyIGfFgsOzd255OnBvYm9jem55IHVyesSFZHplbmlhIHBvd2nEhXphbmVnbyBwbGlrdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5hendhIHVyesSFZHplbmlhIGxvb3AiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzUKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICJvZmZzZXQgb2QgcG9jesSFdGt1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgInVzdGF3aW9uYSBmbGFnYSBwYXJ0c2NhbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgImxpbWl0IHJvem1pYXJ1IHBsaWt1IHcgYmFqdGFjaCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAibnVtZXIgZ8WCw7N3bnk6cG9ib2N6bnkgdXJ6xIVkemVuaWEgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgImRvc3TEmXAgZG8gcG93acSFemFuZWdvIHBsaWt1IHogdcW8eWNpZW0gYmV6cG/Fm3JlZG5pZWdvIHdlL3d5IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAicm96bWlhciBzZWt0b3JhIGxvZ2ljem5lZ28gdyBiYWp0YWNoIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgb2Zmc2V0ICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDEgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICIsIGxpbWl0IHJvem1pYXJ1ICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCBzenlmcm93YW5pZSAlcyAodHlwICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBvZMWCxIVjemVuaWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29wY2plXSBbPHVyesSFZHplbmllX2xvb3A+XVxuIgorIiAlMSRzIFtvcGNqZV0gLWYgfCA8dXJ6xIVkemVuaWVfbG9vcD4gPHBsaWs+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiS29uZmlndXJhY2phIGkgc3Rlcm93YW5pZSB1cnrEhWR6ZW5pYW1pIGxvb3BiYWNrLlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3RhIHdzenlzdGtpY2ggdcW8eXdhbnljaCB1cnrEhWR6ZcWEXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPHVyesSFZHouPi4uLiAgICAgb2TFgsSFY3plbmllIGplZG5lZ28gbHViIHdpxJlrc3plaiBsaWN6YnkgdXJ6xIVkemXFhFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgb2TFgsSFY3plbmllIHdzenlzdGtpY2ggdcW8eXdhbnljaCB1cnrEhWR6ZcWEXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgem5hbGV6aWVuaWUgcGllcndzemVnbyBuaWUgdcW8eXdhbmVnbyB1cnrEhWR6ZW5pYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIgLWMsIC0tc2V0LWNhcGFjaXR5IDx1cnrEhWR6Lj4gIHptaWFuYSByb3ptaWFydSB1cnrEhWR6ZW5pYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIC1qLCAtLWFzc29jaWF0ZWQgPHBsaWs+ICAgICAgIGxpc3RhIHVyesSFZHplxYQgcG93acSFemFueWNoIHogPHBsaWtpZW0+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA4Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgdW5pa2FuaWUgbW/FvGxpd3ljaCBrb25mbGlrdMOzdyBtacSZZHp5IHVyesSFZHplbmlhbWlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8gLS1vZmZzZXQgPGlsZT4gICAgICAgICAgICAgcm96cG9jesSZY2llIG9kIHBvZGFuZWdvIG9mZnNldHUgdyBwbGlrdVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgICAgIC0tc2l6ZWxpbWl0IDxpbGU+ICAgICAgICAgb2dyYW5pY3plbmllIGRvIHBvZGFuZWogbGljemJ5IGJhanTDs3cgcGxpa3VcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKK21zZ2lkICIgLWIgIC0tc2VjdG9yLXNpemUgPG51bT4gICAgICAgc2V0IHRoZSBsb2dpY2FsIHNlY3RvciBzaXplIHRvIDxudW0+XG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8aWxlPiAgICAgICB1c3Rhd2llbmllIHJvem1pYXJ1IHNla3RvcmEgbG9naWN6bmVnb1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgdXR3b3J6ZW5pZSBwYXJ0eWNqb25vd2FuZWdvIHVyesSFZHplbmlhIGxvb3BcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICB1c3Rhd2llbmllIHVyesSFZHplbmlhIGxvb3AgdHlsa28gZG8gb2Rjenl0dVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvdHdhcmNpZSBwb3dpxIV6YW5lZ28gcGxpa3UgeiBPX0RJUkVDVFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHd5cGlzYW5pZSBuYXp3eSB1cnrEhWR6ZW5pYSAoeiAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB0cnliIHplIHN6Y3plZ8OzxYJvd3ltaSBpbmZvcm1hY2phbWlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjMKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHXFvHljaWUgSlNPTiBqYWtvIGZvcm1hdHUgd3lqxZtjaWEgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgaW5mb3JtYWNqZSBvIHdzenlzdGtpY2ggbHViIHBvZGFueWNoIChkb215xZtsbmUpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI1Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBiZXogd3lwaXN5d2FuaWEgbmFnxYLDs3drw7N3IHByenkgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxrb2x1bW55PiAgICAgICAgb2tyZcWbbGVuaWUga29sdW1uIHd5asWbY2lhIGRsYSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjcKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdcW8eWNpZSBzdXJvd2VnbyBmb3JtYXR1IHd5asWbY2lhIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogVXdhZ2E6IHBsaWsgamVzdCBrcsOzdHN6eSBuacW8IDUxMiBiYWp0w7N3LCB1cnrEhWR6ZW5pZSBsb29wIG1vxbxlIGJ5xIcgYmV6dcW8eXRlY3puZSBsdWIgbmlld2lkb2N6bmUgZGxhIG5hcnrEmWR6aSBzeXN0ZW1vd3ljaC4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBVd2FnYTogcGxpayBuaWUgcGFzdWplIGRvIDUxMi1iYWp0b3dlZ28gc2VrdG9yYSwga29uaWVjIHBsaWt1IHpvc3RhbmllIHppZ25vcm93YW55LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXMgaXN0bmllamUgemFjaG9kesSFY2UgdXJ6xIVkemVuaWUgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiBpc3RuaWVqZSB6YWNob2R6xIVjZSB1cnrEhWR6ZW5pZSBsb29wIHR5bGtvIGRvIG9kY3p5dHUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogaXN0bmllamUgemFjaG9kesSFY2UgemFzenlmcm93YW5lIHVyesSFZHplbmllIGxvb3AiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHXFvHnEhyBwb25vd25pZSB1cnrEhWR6ZW5pYSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwNworbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHpiYWRhxIcgdXJ6xIVkemXFhCBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgc3ByYXdkemnEhyB1cnrEhWR6ZcWEIGxvb3AgcG9kIGvEhXRlbSBrb25mbGlrdMOzdyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NDIgc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIm5pZSBtb8W8bmEgb2RuYWxlxbrEhyBuaWUgdcW8eXdhbmVnbyB1cnrEhWR6ZW5pYSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdcW8ecSHIHBvd2nEhXphbmVnbyBwbGlrdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICJuaWV6cm96dW1pYcWCeSByb3ptaWFyIGJsb2t1IGxvZ2ljem5lZ28iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdcW8ecSHIHVyesSFZHplbmlhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibmllIHBvZGFubyB1cnrEhWR6ZW5pYSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAib3BjamUgJXMgc8SFIGRvendvbG9uZSB0eWxrbyBwcnp5IGtvbmZpZ3VyYWNqaSB1cnrEhWR6ZW5pYSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJvcGNqYSAtLW9mZnNldCBuaWUgamVzdCBkb3p3b2xvbmEgdyB0eW0ga29udGVrxZtjaWUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogdXN0YXdpZW5pZSBwb2plbW5vxZtjaSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogdXN0YXdpZW5pZSBiZXpwb8WbcmVkbmllZ28gd2Uvd3kgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiB1c3Rhd2llbmllIHJvem1pYXJ1IGJsb2t1IGxvZ2ljem5lZ28gbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorbXNnaWQgIm5vbmUiCittc2dzdHIgImJyYWsiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAicGFyYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKK21zZ2lkICJmdWxsIgorbXNnc3RyICJwZcWCbmEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk4Cittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICJrb250ZW5lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAicG96aW9teSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCittc2dpZCAidmVydGljYWwiCittc2dzdHIgInBpb25vd3kiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAibnVtZXIgbG9naWN6bmVnbyBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgIm51bWVyIGxvZ2ljem5lZ28gcmR6ZW5pYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJudW1lciBsb2dpY3puZWdvIGduaWF6ZGEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAibnVtZXIgbG9naWN6bmVnbyB3xJl6xYJhIE5VTUEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIm51bWVyIGxvZ2ljem5lZ28gdG9tdSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJudW1lciBsb2dpY3puZWogcMOzxYJraSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAwCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiaW5mb3JtYWNqYSBqYWsgcGFtacSZY2kgcG9kcsSZY3puZSBzxIUgd3Nww7PFgmR6aWVsb25lIG1pxJlkenkgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDEKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICJ0cnliIHByemVrYXp5d2FuaWEgQ1BVIG5hIG1hc3p5bmFjaCB3aXJ0dWFsbnljaCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiZml6eWN6bnkgYWRyZXMgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDMKK21zZ2lkICJzaG93cyBpZiB0aGUgaHlwZXJ2aXNvciBoYXMgYWxsb2NhdGVkIHRoZSBDUFUiCittc2dzdHIgImluZm9ybWFjamEgY3p5IGhpcGVybmFkem9yY2EgcHJ6eWR6aWVsacWCIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJpbmZvcm1hY2phIGN6eSBMaW51eCBvYmVjbmllIHd5a29yenlzdHVqZSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNQorbXNnaWQgInNob3dzIHRoZSBtYXhpbXVtIE1IeiBvZiB0aGUgQ1BVIgorbXNnc3RyICJ3ecWbd2lldGxlbmllIG1ha3N5bWFsbmVqIGxpY3pieSBNSHogcHJvY2Vzb3JhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAid3nFm3dpZXRsZW5pZSBtaW5pbWFsbmVqIGxpY3pieSBNSHogcHJvY2Vzb3JhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJixYLEhWQ6IHVuYW1lIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2tyZcWbbGnEhyBsaWN6YnkgQ1BVOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIm5pZSBtb8W8bmEgb2R0d29yennEhyBwcm9jZWR1cnkgb2JzxYJ1Z2kgc3lnbmHFgnUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEzMDcKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSB6YXBpc2HEhyBudW1lcnUgd8SZesWCYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQzMyBzeXMtdXRpbHMvbHNjcHUuYzoxNDQzCittc2dpZCAiWSIKK21zZ3N0ciAiVCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQzMyBzeXMtdXRpbHMvbHNjcHUuYzoxNDQzCittc2dpZCAiTiIKK21zZ3N0ciAiTiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKyIjIFBvbmnFvGVqIGxpc3RhIHcgZm9ybWFjaWUgxYJhdHd5bSBkbyBwcnpldHdvcnplbmlhIHByemV6IGlubmUgcHJvZ3JhbXkuXG4iCisiIyBLYcW8ZHkgaW5ueSBlbGVtZW50IHcga2HFvGRlaiBrb2x1bW5pZSBtYSB1bmlrYWxueSBpZGVudHlmaWthdG9yXG4iCisiIyB6IG51bWVyYWNqxIUgemFjenluYWrEhWPEhSBvZCB6ZXJhLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJjaGl0ZWt0dXJhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczNworbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiVHJ5Yih5KSBwcmFjeSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiS29sZWpub8WbxIcgYmFqdMOzdzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDQKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ3Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIk1hc2thIGFrdHl3bnljaCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkxpc3RhIGFrdHl3bnljaCBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNYXNrYSBuaWVha3R5d255Y2ggQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiTGlzdGEgbmllYWt0eXdueWNoIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICJXxIV0a8OzdyBuYSByZHplxYQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiUmR6ZW5pIG5hIGduaWF6ZG86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiR25pYXpkIG5hIHRvbToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTEKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICJUb23Ds3cgbmEgcMOzxYJrxJk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiUMOzxYJlazoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiVG9tw7N3OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIkduaWF6ZDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJXxJl6xYLDs3cgTlVNQToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJJRCBwcm9kdWNlbnRhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIlR5cCBtYXN6eW55OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJSb2R6aW5hIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZGVsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJOYXp3YSBtb2RlbHU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICJXZXJzamE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIGR5bmFtaWN6bmUgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MAorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIHN0YXR5Y3puZSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQyCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUgbWF4IE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDQKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIkNQVSBtaW4gTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NgorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ5IHN5cy11dGlscy9sc2NwdS5jOjE4NTEKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIldpcnR1YWxpemFjamE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0Cittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIkhpcGVybmFkem9yY2E6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU2Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJQcm9kdWNlbnQgaGlwZXJuYWR6b3JjeToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiVHlwIHdpcnR1YWxpemFjamk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYwCittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIlRyeWIgcHJ6ZWthenl3YW5pYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIkNhY2hlICVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJQcm9jZXNvcnkgd8SZesWCYSBOVU1BICVkOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJGaXp5Y3puZSBnbmlhemRhOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiRml6eWN6bmUgdWvFgmFkeToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiRml6eWN6bmUgcmR6ZW5pZS91a8WCYWQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJGbGFnaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICJXecWbd2lldGxlbmllIGluZm9ybWFjamkgbyBhcmNoaXRla3R1cnplIHByb2Nlc29yYS5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICB3eXBpc2FuaWUgd8WCLiBpIHd5xYIuIENQVSAoZG9tecWbbG5lIGRsYSAtZSlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgICB3eXBpc2FuaWUgdHlsa28gd8WCxIVjem9ueWNoIENQVSAoZG9tecWbbG5lIGRsYSAtcClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgIHd5cGlzYW5pZSB0eWxrbyB3ecWCxIVjem9ueWNoIENQVVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgd3lqxZtjaWUgZG9tecWbbG5lIGx1YiByb3pzemVyem9uZSB3IGZvcm1hY2llIEpTT05cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3RhPl0gd3lwaXNhbmllIHcgcm96c3plcnpvbnltLCBjenl0ZWxueW0gZm9ybWFjaWVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08bGlzdGE+XSAgICB3eXBpc2FuaWUgdyBmb3JtYWNpZSB6ZGF0bnltIGRvIGFuYWxpenlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8a2F0YWxvZz4gIHXFvHljaWUgcG9kYW5lZ28ga2F0YWxvZ3UgamFrbyBnxYLDs3duZWdvIHN5c3RlbW93ZWdvXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgIHd5cGlzeXdhbmllIG1hc2VrIHN6ZXNuYXN0a293eWNoIHphbWlhc3QgbGlzdCBDUFVcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNAorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICB3eXBpc2FuaWUgaWRlbnR5ZmlrYXRvcsOzdyBmaXp5Y3pueWNoIHphbWlhc3QgbG9naWN6bnljaFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIgorbXNnc3RyICJixYLEmWRueSBhcmd1bWVudCBvcGNqaSAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiVzOiBvcGNqZSAtLWFsbCwgLS1vbmxpbmUgb3JheiAtLW9mZmxpbmUgbW9nxIUgYnnEhyB1xbx5d2FuZSB0eWxrbyB6IG9wY2phbWkgLS1leHRlbmRlZCBsdWIgLS1wYXJzZS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICJLbHVjeiB6YXNvYnUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAia2x1Y3oiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJJRCB6YXNvYnUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICJJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIk5hendhIGx1YiBVSUQgd8WCYcWbY2ljaWVsYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIiCittc2dzdHIgIlfFgmHFm2NpY2llbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlVwcmF3bmllbmlhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiVUlEIHR3w7NyY3kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiTmF6d2EgdHfDs3JjYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIkdJRCB0d8OzcmN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJHcnVwYSB0d8OzcmN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJJRCB1xbx5dGtvd25pa2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIk5hendhIHXFvHl0a293bmlrYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIklEIGdydXB5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIkdJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiTmF6d2EgZ3J1cHkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJDemFzIG9zdGF0bmllaiB6bWlhbnkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJPc3RhdG5pYSB6bWlhbmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIkJhanTDs3cgdcW8eXR5Y2giCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiTGljemJhIGtvbXVuaWthdMOzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIktvbXVuaWthdMOzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJDemFzIHd5c8WCYW5pYSBvc3RhdG5pZWdvIGtvbXVuaWthdHUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICJLb211bmlrYXQgd3lzxYIuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJDemFzIG9kZWJyYW5pYSBvc3RhdG5pZWdvIGtvbXVuaWthdHUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAiS29tdW5pa2F0IG9kZWJyLiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIlBJRCBvc3RhdG5pZWdvIG5hZGF3Y3kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIk5hZGF3Y2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgIlBJRCBvc3RhdG5pZWdvIG9kYmlvcmN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIk9kYmlvcmNhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlJvem1pYXIgc2VnbWVudHUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIkxpY3piYSBkb8WCxIVjem9ueWNoIHByb2Nlc8OzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJEb8WCxIVjem9uZSBwcm9jZXN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgIlN0YW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJDemFzIGRvxYLEhWN6ZW5pYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIkN6YXMgb2TFgsSFY3plbmlhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiTGluaWEgcG9sZWNlxYQgdHfDs3JjeSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJQb2xlY2VuaWUgdHfDs3JjeSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgdHfDs3JjeSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIlBJRCB0d8OzcmN5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJQSUQgb3N0YXRuaWVnbyB1xbx5dGtvd25pa2EiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIkxhc3QgdXNlciBQSUQiCittc2dzdHIgIlBJRCBvc3RhdG5pZWdvIHXFvHl0a293bmlrYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIkxpY3piYSBzZW1hZm9yw7N3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICJTZW1hZm9yw7N3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiQ3phcyBvc3RhdG5pZWogb3BlcmFjamkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJPc3RhdG5pYSBvcGVyYWNqYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiTmF6d2EgemFzb2J1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiWmFzw7NiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiT3BpcyB6YXNvYnUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJPcGlzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiQWt0dWFsbmllIHcgdcW8eWNpdSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiVyB1xbx5Y2l1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIkFrdHVhbG5lIHByb2NlbnRvd2UgdcW8eWNpZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVxbx5Y2llIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiTGltaXQgc3lzdGVtb3d5IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiTGltaXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgImtvbHVtbmEgJXMgbmllIG9kbm9zaSBzacSZIGRvIHBvZGFuZWdvIElQQyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm9ybWFjamEgbyBzeXN0ZW1vd3ltIHXFvHljaXUgKG1vxbxlIGJ5xIcgdcW8eXRlIHogLW0sIC1xIGkgLXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgICAgd3lwaXNhbmllIHN6Y3plZ8OzxYLDs3cgemFzb2J1IG8gcG9kYW55bSA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgd3lwaXN5d2FuaWUgcm96bWlhcsOzdyB3IGJhanRhY2ggemFtaWFzdCBmb3JtYXR1XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBjenl0ZWxuZWdvIGRsYSBjesWCb3dpZWthXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgdHfDs3JjeSBpIHfFgmHFm2NpY2llbGFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk4Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHd5asWbY2llIHcgZm9ybWFjaWUgSlNPTlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDAKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIHd5bXVzemVuaWUgd3lqxZtjaWEgdyBmb3JtYWNpZSBsaXN0eSAobnAuIHogLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgd3lwaXN5d2FuaWUgdXByYXduaWXFhCBsaWN6Ym93eWNoIChrb2x1bW5hIFBFUk1TKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgY3phc3UgZG/FgsSFY3plbmlhLCBvZMWCxIVjemVuaWEgaSB6bWlhbnlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2x1bW55IG9nw7NsbmU6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2x1bW55IHBhbWnEmWNpIGR6aWVsb25laiAoLS1zaG1lbXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29sdW1ueSBrb2xlamVrIGtvbXVuaWthdMOzdyAoLS1xdWV1ZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29sdW1ueSBzZW1hZm9yw7N3ICgtLXNlbWFwaG9yZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjamUgcG9kc3Vtb3dhbmlhICgtLWdsb2JhbCk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKyJFbGVtZW50eTpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgZGFueWNoIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJMaWN6YmEgaWRlbnR5ZmlrYXRvcsOzdyBzZW1hZm9yw7N3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiQ2HFgmtvd2l0YSBsaWN6YmEgc2VtYWZvcsOzdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE0Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJNYWtzeW1hbG5hIGxpY3piYSBzZW1hZm9yw7N3IHcgemVzdGF3aWUuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJNYWtzeW1hbG5hIGxpY3piYSBvcGVyYWNqaSBuYSBzZW1vcCgyKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiTWFrc3ltYWxuYSB3YXJ0b8WbxIcgc2VtYWZvcmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3MworbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAiTGljemJhIGtvbGVqZWsga29tdW5pa2F0w7N3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIk1ha3N5bWFsbnkgcm96bWlhciBrb211bmlrYXR1ICh3IGJhanRhY2gpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIkRvbXnFm2xueSBtYWtzeW1hbG55IHJvem1pYXIga29sZWpraSAodyBiYWp0YWNoKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAibm9yZXNlcnZlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDcyCittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiU2VnbWVudHkgcGFtacSZY2kgZHppZWxvbmVqIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDczCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiU3Ryb255IHBhbWnEmWNpIGR6aWVsb25laiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJNYWtzeW1hbG55IHJvem1pYXIgc2VnbWVudHUgcGFtacSZY2kgZHppZWxvbmVqICh3IGJhanRhY2gpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIk1pbmltYWxueSByb3ptaWFyIHNlZ21lbnR1IHBhbWnEmWNpIGR6aWVsb25laiAodyBiYWp0YWNoKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTE0NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgaWRlbnR5ZmlrYXRvciBJUEMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiLS1nbG9iYWwgd3lrbHVjemEgc2nEmSB3emFqZW1uaWUgeiAtLWNyZWF0b3IsIC0taWQgb3JheiAtLXRpbWUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJwb2N6xIV0a293eSBpIGtvxYRjb3d5IGFkcmVzIHByemVkemlhxYJ1IHBhbWnEmWNpIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInJvem1pYXIgcHJ6ZWR6aWHFgnUgcGFtacSZY2kiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMAorbXNnaWQgIm9ubGluZSBzdGF0dXMgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAic3RhbiBha3R5d25vxZtjaSBwcnplZHppYcWCdSBwYW1pxJljaSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCittc2dpZCAibWVtb3J5IGlzIHJlbW92YWJsZSIKK21zZ3N0ciAicGFtacSZxIcgamVzdCB3eWptb3dhbG5hIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAibnVtZXIgYmxva3UgbHViIHByemVkemlhxYIgYmxva8OzdyBwYW1pxJljaSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMzCittc2dpZCAibnVtYSBub2RlIG9mIG1lbW9yeSIKK21zZ3N0ciAid8SZemXFgiBwYW1pxJljaSBOVU1BIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAicHJhd2lkxYJvd2Ugc3RyZWZ5IGRsYSBwcnplZHppYcWCdSBwYW1pxJljaSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYxCittc2dpZCAib25saW5lIgorbXNnc3RyICJha3R5d25hIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjIKK21zZ2lkICJvZmZsaW5lIgorbXNnc3RyICJuaWVha3R5d25hIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjMKK21zZ2lkICJvbi0+b2ZmIgorbXNnc3RyICJ3xYIuLT53ecWCLiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIyIHN5cy11dGlscy9sc21lbS5jOjMyOQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAiUm96bWlhciBibG9rdSBwYW1pxJljaToiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiUm96bWlhciBwYW1pxJljaSBha3R5d25lajoiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKK21zZ2lkICJUb3RhbCBvZmZsaW5lIG1lbW9yeToiCittc2dzdHIgIlJvem1pYXIgcGFtacSZY2kgbmllYWt0eXduZWo6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIk5pZSB1ZGHFgm8gc2nEmSBvdHdvcnp5xIcgJXMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgbWVtb3J5IGJsb2NrcyIKK21zZ3N0ciAiVGVuIHN5c3RlbSBuaWUgb2JzxYJ1Z3VqZSBibG9rw7N3IHBhbWnEmWNpIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIkxpc3RhIHByemVkemlhxYLDs3cgZG9zdMSZcG5laiBwYW1pxJljaSB6IGljaCBzdGFuZW0gYWt0eXdub8WbY2kuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIHd5c3pjemVnw7NsbmllbmllIHdzenlzdGtpY2ggYmxva8OzdyBwYW1pxJljaVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtUywgLS1zcGxpdCA8bGlzdGE+ICBwb2R6aWHFgiBwcnplZHppYcWCw7N3IHdnIHBvZGFueWNoIGtvbHVtblxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTAKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgdXNlIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxrYXRhbG9nPiB1xbx5Y2llIHBvZGFuZWdvIGthdGFsb2d1IGpha28gZ8WCw7N3bmVnbyBzeXN0ZW1vd2Vnb1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTEKK21zZ2lkICIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS1zdW1tYXJ5Wz1raWVkeV0gd3lwaXNhbmllIHBvZHN1bW93YW5pYSAobmV2ZXIsIGFsd2F5cyBsdWIgb25seSlcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IGFyZ3VtZW50IC0tc3VtbWFyeSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjMzCittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wY2plIC0te3Jhdyxqc29uLHBhaXJzfSBvcmF6IC0tc3VtbWFyeT1vbmx5IHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YWluaWNqb3dhxIcgdGFiZWxpIHd5asWbY2lvd2VqIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgemFpbmljam93YcSHIGtvbHVtbnkgd3lqxZtjaW93ZWoiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiaWRlbnR5ZmlrYXRvciBwcnplc3RyemVuaSBuYXp3IChudW1lciBpLXfEmXrFgmEpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICJyb2R6YWogcHJ6ZXN0cnplbmkgbmF6dyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDEKK21zZ2lkICJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIsWbY2llxbxrYSBkbyBwcnplc3RyemVuaSBuYXp3IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibGljemJhIHByb2Nlc8OzdyB3IHByemVzdHJ6ZW5pIG5henciCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJuYWpuacW8c3p5IFBJRCB3IHByemVzdHJ6ZW5pIG5henciCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQUElEIHRlZ28gUElELXUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgImxpbmlhIHBvbGVjZcWEIFBJRC11IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICJVSUQgdGVnbyBQSUQtdSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICJuYXp3YSB1xbx5dGtvd25pa2EgUElELXUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA4Cittc2dpZCAibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iCittc2dzdHIgIklEIHByemVzdHJ6ZW5pIG5hencgdcW8eXdhbmUgcHJ6ZXogcG9kc3lzdGVtIHNpZWNpb3d5IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAicHVua3QgbW9udG93YW5pYSBuc2ZzICh6d3lrbGUgdcW8eXdhbnkgcHJ6ZXogcG9kc3lzdGVtIHNpZWNpb3d5KSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgZG9kYcSHIGxpbmlpIGRvIHd5asWbY2lhIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzxwcnplc3RyemXFhD5dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk4Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiTGlzdGEgc3lzdGVtb3d5Y2ggcHJ6ZXN0cnplbmkgbmF6dy5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgd3lwaXNhbmllIHByemVzdHJ6ZW5pIG5hencgcHJvY2Vzw7N3XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgYmV6IHXFvHl3YW5pYSByZXByZXplbnRhY2ppIHdpZWxvd2llcnN6b3dlalxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOQorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8bmF6d2E+ICAgICByb2R6YWogcHJ6ZXN0cnplbmkgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAibmllem5hbnkgcm9kemFqIHByemVzdHJ6ZW5pIG5henc6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjQKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIm9wY2phIC0tdGFzayB3eWtsdWN6YSBzacSZIHogPHByemVzdHJ6ZW5pxIU+IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjUKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgcHJ6ZXN0cnplbmkgbmF6dyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gcHJ6ZXN0cnplbmk6ICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJ0eWxrbyByb290IG1vxbxlIHXFvHnEhyBvcGNqaSBcIi0tJXNcIiAoZWZla3R5d255IFVJRCB0byAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAidHlsa28gcm9vdCBtb8W8ZSB0byB6cm9iacSHIChlZmVrdHl3bnkgVUlEIHRvICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgInR5bGtvIHJvb3QgbW/FvGUgdcW8ecSHIG9wY2ppIFwiLS0lc1wiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJ0eWxrbyByb290IG1vxbxlIHRvIHpyb2JpxIciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgeiBwYWtpZXR1ICVzIChsaWJtb3VudCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBtdGFiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czogemlnbm9yb3dhbm9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiJS0yNXM6IGp1xbwgemFtb250b3dhbnlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIHByemVuaWVzaW9uZSBkbyAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIHByenlwaXNhbmUgZG8gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MyBzeXMtdXRpbHMvbW91bnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyB6YW1vbnRvd2FuZSBwb2QgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiJXM6IGZsYWdpIHByb3BhZ2FjamkgJXMgem9zdGHFgnkgem1pZW5pb25lLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudDogJXMgbmllIHphd2llcmEgZXR5a2lldCBTRUxpbnVrc2EuXG4iCisiICAgICAgIFcgc3lzdGVtaWUgeiBTRUxpbnVrc2VtIHphbW9udG93YW5vIHN5c3RlbSBwbGlrw7N3IG9ic8WCdWd1asSFY3lcbiIKKyIgICAgICAgZXR5a2lldHksIGFsZSBpY2ggbmllIHphd2llcmFqxIVjeS4gTmFqcHJhd2RvcG9kb2JuaWVqIGFwbGlrYWNqZVxuIgorIiAgICAgICBixJlkxIUgZ2VuZXJvd2HEhyBrb211bmlrYXR5IEFWQyBpIG5pZSBixJlkxIUgbW9nxYJ5IGRvc3RhxIcgc2nEmSBkbyB0ZWdvXG4iCisiICAgICAgIHN5c3RlbXUgcGxpa8Ozdy4gV2nEmWNlaiBzemN6ZWfDs8WCw7N3IHcgcmVzdG9yZWNvbig4KSBpIG1vdW50KDgpLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICIlczogJXMuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FueSBmb3JtYXQgb3Bjamk6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIGRvxYLEhWN6ecSHIG9wY2ppICclcyciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcGNqZV1cbiIKKyIgJTEkcyBbb3BjamVdIFstLXNvdXJjZV0gPMW6csOzZMWCbz4gfCBbLS10YXJnZXRdIDxrYXRhbG9nPlxuIgorIiAlMSRzIFtvcGNqZV0gPMW6csOzZMWCbz4gPGthdGFsb2c+XG4iCisiICUxJHMgPG9wZXJhY2phPiA8cHVua3RfbW9udG93YW5pYT4gWzxjZWw+XVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1vbnRvd2FuaWUgc3lzdGVtdSBwbGlrw7N3LlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHphbW9udG93YW5pZSB3c3p5c3RraWNoIHN5c3RlbcOzdyBwbGlrw7N3IHogZnN0YWJhXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGJleiBkb3Byb3dhZHphbmlhIMWbY2llxbxlayBkbyBwb3N0YWNpIGthbm9uaWN6bmVqXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIHRlc3Rvd2UgdXJ1Y2hvbWllbmllOyBwb21pbmnEmWNpZSB3eXdvxYJhxYQgbW91bnQoMilcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgb3NvYm55IHByb2NlcyBkbGEga2HFvGRlZ28gdXJ6xIVkemVuaWEgKHdyYXogeiAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPMWbY2llxbxrYT4gICBhbHRlcm5hdHl3bnkgcGxpayB6YW1pYXN0IC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgYmV6IHd5d2/Fgnl3YW5pYSBwcm9ncmFtw7N3IHBvbW9jbmljenljaCBtb3VudC48dHlwPlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgd3nFm3dpZXRsZW5pZSB0YWvFvGUgZXR5a2lldCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGJleiB6YXBpc3UgZG8gL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdGE+ICAgcm96ZHppZWxvbmEgcHJ6ZWNpbmthbWkgbGlzdGEgb3BjamkgbW9udG93YW5pYVxuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBvZ3JhbmljemVuaWUgemJpb3J1IHN5c3RlbcOzdyBwbGlrw7N3ICh3cmF6IHogLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vbnRvd2FuaWEgc3lzdGVtdSBwbGlrw7N3IHR5bGtvIGRvIG9kY3p5dHUgKC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgICBvZ3JhbmljemVuaWUgemJpb3J1IHR5cMOzdyBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDzFunLDs2TFgm8+ICAgb2tyZcWbbGVuaWUgxbpyw7NkxYJhICjFm2NpZcW8a2ksIGV0eWtpZXR5LCB1dWlkLWEpXG4iCisiICAgICAtLXRhcmdldCA8Y2VsPiAgICAgIG9rcmXFm2xlbmllIHB1bmt0dSBtb250b3dhbmlhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBpbmZvcm1vd2FuaWUgbyB3eWtvbnl3YW55Y2ggY3p5bm5vxZtjaWFjaFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICB6YW1vbnRvd2FuaWUgc3lzdC4gcGwuIGRvIG9kY3p5dHUgaSB6YXBpc3UgKGRvbXnFm2xuZSlcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorIlxuIgorIsW5csOzZMWCbzpcbiIKKyIgLUwsIC0tbGFiZWwgPGV0eWtpZXRhPiAgc3lub25pbSBMQUJFTD08ZXR5a2lldGE+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9uaW0gVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGV0eWtpZXRhPiAgICAgICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgcG8gZXR5a2llY2llIHN5c3RlbXUgcGxpa8Ozd1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBva3JlxZtsZW5pZSB1cnrEhWR6ZW5pYSBwbyB3YXJ0b8WbY2kgVVVJRCBzeXN0ZW11IHBsaWvDs3dcbiIKKyIgUEFSVExBQkVMPTxldHlraWV0YT4gICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgcG8gZXR5a2llY2llIHBhcnR5Y2ppXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIG9rcmXFm2xlbmllIHVyesSFZHplbmlhIHBvIHdhcnRvxZtjaSBVVUlEIHBhcnR5Y2ppXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPHVyesSFZHplbmllPiAgICAgICAgICAgIG9rcmXFm2xlbmllIHVyesSFZHplbmlhIHBvIMWbY2llxbxjZVxuIgorIiA8a2F0YWxvZz4gICAgICAgICAgICAgICBwdW5rdCBtb250b3dhbmlhIGRsYSBtb250b3dhxYQgYmluZCAocC4gLS1iaW5kL3JiaW5kKVxuIgorIiA8cGxpaz4gICAgICAgICAgICAgICAgICB6d3lrxYJ5IHBsaWsgZG8gdXN0YXdpZW5pYSB1cnrEhWR6ZW5pYSBsb29wYmFja1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisiXG4iCisiT3BlcmFjamU6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIHphbW9udG93YW5pZSBwb2Rkcnpld2EgdyBpbm55bSBtaWVqc2N1ICgtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBwcnplbmllc2llbmllIHBvZGRyemV3YSB3IGlubmUgbWllanNjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBwcnplbmllc2llbmllIHBvZGRyemV3YSB3cmF6IHogd2V3bi4gbW9udG93YW5pYW1pXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBvem5hY3plbmllIHBvZGRyemV3YSBqYWtvIHdzcMOzxYJkemllbG9uZWdvXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG96bmFjemVuaWUgcG9kZHJ6ZXdhIGpha28gcG9kcnrEmWRuZWdvXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG96bmFjemVuaWUgcG9kZHJ6ZXdhIGpha28gcHJ5d2F0bmVnb1xuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBvem5hY3plbmllIHBvZGRyemV3YSBqYWtvIG5pZWJpbmRvd2FsbmVnb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVrdXJlbmN5am5lIG96bmFjemVuaWUgcG9kZHJ6ZXdhIGpha28gd3Nww7PFgmR6aWVsb25lZ29cbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVrdXJlbmN5am5lIG96bmFjemVuaWUgcG9kZHJ6ZXdhIGpha28gcG9kcnrEmWRuZWdvXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJla3VyZW5jeWpuZSBvem5hY3plbmllIHBvZGRyemV3YSBqYWtvIHByeXdhdG5lZ29cbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVrdXJlbmN5am5lIG96bmFjemVuaWUgcG9kZHJ6ZXdhIGpha28gbmllYmluZG93YWxuZWdvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAicHJ6eWR6aWVsZW5pZSBrb250ZWtzdHUgbGlibW91bnQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgd3pvcmNhIG9wY2ppIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICLFunLDs2TFgm8gcG9kYW5vIHdpxJljZWogbmnFvCByYXoiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1xZF0gL8WbY2llxbxrYS9kby9rYXRhbG9ndVxuIgorIiAlMSRzIC14IC9kZXYvdXJ6xIVkemVuaWVcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICJTcHJhd2R6ZW5pZSwgY3p5IGthdGFsb2cgbHViIHBsaWsgamVzdCBwdW5rdGVtIG1vbnRvd2FuaWEuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHRyeWIgY2ljaHkgLSBiZXogd3lwaXN5d2FuaWEgbmljemVnb1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgd3lwaXNhbmllIG51bWVydSBtYWpvcjptaW5vciB1cnrEhWR6ZW5pYSBzeXN0ZW11IHBsaWvDs3dcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHd5cGlzYW5pZSBudW1lcnUgbWFqb3I6bWlub3IgdXJ6xIVkemVuaWEgYmxva293ZWdvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgbmllIGplc3QgcHVua3RlbSBtb250b3dhbmlhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBqZXN0IHB1bmt0ZW0gbW9udG93YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIlVydWNob21pZW5pZSBwcm9ncmFtdSB6IHByemVzdHJ6ZW5pYW1pIG5hencgaW5ueWNoIHByb2Nlc8Ozdy5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIHdlasWbY2llIGRvIHdzenlzdGtpY2ggcHJ6ZXN0cnplbmkgbmF6d1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICBwcm9jZXMgZG9jZWxvd3kgZG8gcG9icmFuaWEgcHJ6ZXN0cnplbmkgbmF6d1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PHBsaWs+XSAgIHdlasWbY2llIGRvIHByemVzdHJ6ZW5pIG1vbnRvd2FuaWFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PHBsaWs+XSAgICAgd2VqxZtjaWUgZG8gcHJ6ZXN0cnplbmkgVVRTIChob3N0bmFtZSBpdHAuKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08cGxpaz5dICAgICB3ZWrFm2NpZSBkbyBwcnplc3RyemVuaSBTeXN0ZW0gViBJUENcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxwbGlrPl0gICAgIHdlasWbY2llIGRvIHByemVzdHJ6ZW5pIHNpZWNpb3dlalxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz08cGxpaz5dICAgICB3ZWrFm2NpZSBkbyBwcnplc3RyemVuaSBwaWTDs3dcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PHBsaWs+XSAgd2VqxZtjaWUgZG8gcHJ6ZXN0cnplbmkgY2dyb3VwXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PHBsaWs+XSAgICB3ZWrFm2NpZSBkbyBwcnplc3RyemVuaSB1xbx5dGtvd25pa8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICB1c3Rhd2llbmllIHVpZGEgcG8gd2VqxZtjaXUgdyBwcnplc3RyemXFhFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICB1c3Rhd2llbmllIGdpZGEgcG8gd2VqxZtjaXUgdyBwcnplc3RyemXFhFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGJleiBtaWFueSB1aWTDs3cgaSBnaWTDs3dcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTxrYXRhbG9nPl0gdXN0YXdpZW5pZSBrYXRhbG9ndSBnxYLDs3duZWdvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PGthdGFsb2c+XSAgIHVzdGF3aWVuaWUga2F0YWxvZ3Ugcm9ib2N6ZWdvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGJleiB3eWtvbmFuaWEgZm9yayBwcnplZCB1cnVjaG9taWVuaWVtIDxwcm9ncmFtdT5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgLVosIC0tZm9sbG93LWNvbnRleHQgICB1c3Rhd2llbmllIGtvbnRla3N0dSBTRUxpbnVrc2EgemdvZG5pZSB6IC0tdGFyZ2V0IFBJRFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAibmllIHBvZGFubyBuYXp3eSBwbGlrdSBhbmkgcGlkdSBkb2NlbG93ZWdvIGRsYSAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJuaWV6cm96dW1pYcWCeSB1aWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgZ2lkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM0OQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICJuaWUgcG9kYW5vIGRvY2Vsb3dlZ28gUElELXUgZGxhIC0tZm9sbG93LWNvbnRleHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJuaWUgdWRhxYJvIHBvYnJhxIcga29udGVrc3R1IFNFTGludWtzYSAlZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGtvbnRla3N0dSB3eWtvbnl3YW5pYSBuYSAnJXMnIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM2MQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAibmllIHBvZGFubyBkb2NlbG93ZWdvIFBJRC11IGRsYSAtLWFsbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJwcnplxYLEhWN6ZW5pZSBkbyBwcnplc3RyemVuaSBuYXp3ICclcycgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHIGJpZcW8xIVjZWdvIGthdGFsb2d1IHJvYm9jemVnbyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiem1pYW5hIGthdGFsb2d1IHByemV6IGRlc2tyeXB0b3IgcGxpa3Uga2F0YWxvZ3UgZ8WCw7N3bmVnbyBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAiY2hyb290IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgInptaWFuYSBrYXRhbG9ndSBwcnpleiBkZXNrcnlwdG9yIHBsaWt1IGthdGFsb2d1IHJvYm9jemVnbyBuaWUgcG93aW9kxYJhIHNpxJkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDcyIHN5cy11dGlscy9zZXRwcml2LmM6OTYyIHN5cy11dGlscy9zZXRwcml2LmM6OTY5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic2V0Z3JvdXBzIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gbm93eV9rYXRhbG9nX2fFgsOzd255IG1pZWpzY2VfbmFfc3RhcnlcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozOAorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJabWlhbmEgZ8WCw7N3bmVnbyBrYXRhbG9ndSBzeXN0ZW11IHBsaWvDs3cuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgem1pZW5pxIcga2F0YWxvZ3UgZ8WCw7N3bmVnbyB6IGAlcycgbmEgYCVzJyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImxpbWl0IHByemVzdHJ6ZW5pIGFkcmVzb3dlaiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAibWFrc3ltYWxueSByb3ptaWFyIHBsaWt1IGNvcmUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiY3phcyBDUFUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICJzZWt1bmR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAibWFrc3ltYWxueSByb3ptaWFyIGRhbnljaCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIm1ha3N5bWFsbnkgcm96bWlhciBwbGlrdSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBibG9rYWQgcGxpa8OzdyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICJibG9rYWR5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAibWFrc3ltYWxueSByb3ptaWFyIHphYmxva293YW5laiBwYW1pxJljaSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBiYWp0w7N3IHcgUE9TSVggbXF1ZXVlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICJtYWtzeW1hbG5lIGRvendvbG9uZSBuaWNlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAibWF4IG51bWJlciBvZiBvcGVuIGZpbGVzIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBvdHdhcnR5Y2ggcGxpa8OzdyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICJwbGlraSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBwcm9jZXPDs3ciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgInByb2Nlc3kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIm1ha3N5bWFsbnkgcm96bWlhciBwYW1pxJljaSByZXp5ZGVudG5laiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgIm1ha3N5bWFsbnkgcHJpb3J5dGV0IHJlYWwtdGltZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAibGltaXQgY3phc3UgZGxhIHphZGHFhCByZWFsLXRpbWUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pa3Jvc2VrdW5keSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJtYWtzeW1hbG5hIGxpY3piYSBzeWduYcWCw7N3IG9jemVrdWrEhWN5Y2giCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICJzeWduYcWCeSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJtYWtzeW1hbG55IHJvem1pYXIgc3Rvc3UiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAibmF6d2EgemFzb2J1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJvcGlzIHphc29idSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICJsaW1pdCBtacSZa2tpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJsaW1pdCB0d2FyZHkgKG1ha3N5bWFsbnkpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICJqZWRub3N0a2kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFBPTEVDRU5JRVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NworbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJXecWbd2lldGxhbmllIGx1YiB6bWlhbmEgbGltaXTDs3cgemFzb2LDs3cgcHJvY2VzdS5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3BjamUgb2fDs2xuZTpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgaWRlbnR5ZmlrYXRvciBwcm9jZXN1XG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgb2tyZcWbbGVuaWUga29sdW1uIG5hIHd5asWbY2l1XG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgcG9taW5pxJljaWUgd3lwaXN5d2FuaWEgbmFnxYLDs3drw7N3XG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgc3Vyb3d5IGZvcm1hdCB3eWrFm2NpYVxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHN6Y3plZ8OzxYJvd2Ugd3lqxZtjaWVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcGNqZSB6YXNvYsOzdzpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1ha3N5bWFsbnkgcm96bWlhciB0d29yem9ueWNoIHBsaWvDs3cgY29yZVxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1ha3N5bWFsbnkgcm96bWlhciBzZWdtZW50dSBkYW55Y2ggcHJvY2VzdVxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1ha3N5bWFsbmUgZG96d29sb25lIHBvZHd5xbxzemVuaWUgbmljZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1ha3N5bWFsbnkgcm96bWlhciBwbGlrw7N3IHphcGlzeXdhbnljaCBwcnpleiBwcm9jZXNcbiIKKyIgLWksIC0tc2lncGVuZG5pZyAgICAgICBtYWtzeW1hbG5hIGxpY3piYSBvY3pla3VqxIVjeWNoIHN5Z25hxYLDs3dcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYWtzeW1hbG55IHJvem1pYXIgcGFtacSZY2kgemFibG9rb3dhbmVqIHByemV6IHByb2Nlc1xuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1ha3N5bWFsbnkgcm96bWlhciBwYW1pxJljaSByZXp5ZGVudG5laiAoUlNTKVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1ha3N5bWFsbmEgbGljemJhIG90d2FydHljaCBwbGlrw7N3XG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWFrc3ltYWxuYSBsaWN6YmEgYmFqdMOzdyB3IGtvbGVqa2FjaCBrb211bmlrYXTDs3cgUE9TSVhcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYWtzeW1hbG55IHByaW9yeXRldCBzemVyZWdvd2FuaWEgcmVhbC10aW1lXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWFrc3ltYWxueSByb3ptaWFyIHN0b3N1XG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWFrc3ltYWxueSBjemFzIHByb2Nlc29yYSB3IHNla3VuZGFjaFxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1ha3N5bWFsbmEgbGljemJhIHByb2Nlc8OzdyB1xbx5dGtvd25pa2FcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICByb3ptaWFyIHBhbWnEmWNpIHdpcnR1YWxuZWpcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYWtzeW1hbG5hIGxpY3piYSBibG9rYWQgcGxpa8Ozd1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIGN6YXMgQ1BVIHcgbWlrcm9zZWt1bmRhY2ggc3plcmVnb3dhbmlhIHJlYWwtdGltZVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgImJyYWsiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgdXp5c2thxIcgc3RhcmVnbyBsaW1pdHUgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIm1pxJlra2kgbGltaXQgXCIlc1wiIG5pZSBtb8W8ZSBwcnpla3JvY3p5xIcgbGltaXR1IHR3YXJkZWdvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJOb3d5IGxpbWl0ICVzIGRsYSBQSUQtdSAlZDogIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGxpbWl0dSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIGxpbWl0dSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaW1pdHUgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAib3BjamEgLS1waWQgbW/FvGUgYnnEhyBwb2RhbmEgdHlsa28gcmF6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3BjamUgLS1waWQgaSBQT0xFQ0VOSUUgd3lrbHVjemFqxIUgc2nEmSB3emFqZW1uaWUiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiV3nFm3dpZXRsYW5pZSBpbmZvcm1hY2ppIHByb2ZpbHVqxIVjeWNoIGrEhWRyYS5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIgLW0sIC0tbWFwZmlsZSA8cGxpa19tYXB5PiAoZG9tecWbbG5pZTogXCIlc1wiIG9yYXpcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA8cHJvZmlsPiAgICAoZG9tecWbbG5pZTogXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIgLU0sIC0tbXVsdGlwbGllciA8bW5vxbw+ICAgdXN0YXdpZW5pZSBwb2RhbmVnbyBtbm/FvG5pa2EgcHJvZmlsb3dhbmlhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICB3eXBpc2FuaWUgdHlsa28gaW5mb3JtYWNqaSBvIGtyb2t1IHByw7Nia293YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgd3lwaXNhbmllIHN6Y3plZ8OzxYJvd3ljaCBkYW55Y2hcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICB3eXBpc2FuaWUgd3N6eXN0a2ljaCBzeW1ib2xpLCBuYXdldCB6IGxpY3puaWtpZW0gMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHd5cGlzYW5pZSBwb3N6Y3plZ8OzbG55Y2ggbGljem5pa8OzdyBoaXN0b2dyYW0tYmluXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICB3eXBpc2FuaWUgcG9zemN6ZWfDs2xueWNoIGxpY3puaWvDs3cgdyBmdW5rY2phY2hcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICB3eXplcm93YW5pZSB3c3p5c3RraWNoIGxpY3puaWvDs3cgKHR5bGtvIHJvb3QpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICB3ecWCxIVjemVuaWUgd3lrcnl3YW5pYSBrb2xlam5vxZtjaSBiYWp0w7N3XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICJixYLEhWQgemFwaXN1ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICJQcnp5asSZdG8gb2R3csOzY29uxIUga29sZWpub8WbxIcgYmFqdMOzdy4gT3BjamEgLW4gd3ltdXNpIG5hdHl3bsSFIGtvbGVqbm/Fm8SHLiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIktyb2sgcHLDs2Jrb3dhbmlhOiAldVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDEgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzKCVpKTogYsWCxJlkbmEgbGluaWEgbWFweSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAibmllIHpuYWxlemlvbm8gXCJfc3RleHRcIiB3ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgImFkcmVzIHByb2ZpbHUgc3BvemEgemFrcmVzdS4gQsWCxJlkbnkgcGxpayBtYXB5PyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDAzCittc2dpZCAidG90YWwiCittc2dzdHIgInJhemVtIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICJJRCBwcm9jZXN1IgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJJRCBncnVweSBwcm9jZXPDs3ciCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPHByaW9yeXRldD4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yeXRldD4gIC1nfC0tcGdycCA8Z3J1cGFwcm9jPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yeXRldD4gIC11fC0tdXNlciA8dcW8eXRrb3duaWs+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiWm1pYW5hIHByaW9yeXRldHUgZHppYcWCYWrEhWN5Y2ggcHJvY2Vzw7N3LlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLW4sIC0tcHJpb3JpdHkgPGxpY3piYT4gIG9rcmXFm2xlbmllIHdhcnRvxZtjaSB6bWlhbnkgcHJpb3J5dGV0dVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgICBpbnRlcnByZXRhY2phIGFyZ3VtZW50dSBqYWtvIElEIHByb2Nlc3UgKGRvbXnFm2xuZSlcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgICBpbnRlcnByZXRhY2phIGFyZ3VtZW50dSBqYWtvIElEIGdydXB5IHByb2Nlc8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8bmF6d2E+fDxpZD4gIGludGVycHJldGFjamEgYXJndW1lbnR1IGpha28gbmF6d3kgbHViIElEIHXFvHl0a293bmlrYVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBwcmlvcnl0ZXR1IGRsYSAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIHByaW9yeXRldHUgZGxhICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpOiBzdGFyeSBwcmlvcnl0ZXQgJWQsIG5vd3kgcHJpb3J5dGV0ICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSAnJXMnIgorbXNnc3RyICJixYLEmWRueSBwcmlvcnl0ZXQgJyVzJyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIm5pZXpuYW55IHXFvHl0a293bmlrICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibmF6d2EgdXJ6xIVkemVuaWEgdyBqxIVkcnplIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgIndhcnRvxZvEhyBpZGVudHlmaWthdG9yYSB1cnrEhWR6ZW5pYSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICJuYXp3YSB0eXB1IHVyesSFZHplbmlhLCBrdMOzcsSFIG1vxbxuYSB1xbx5xIcgamFrbyBpZGVudHlmaWthdG9yIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMyCittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgIm9waXMgdHlwdSB1cnrEhWR6ZW5pYSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMworbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAic3RhbiBibG9rYWR5IHByb2dyYW1vd2VqIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJzdGFuIGJsb2thZHkgc3ByesSZdG93ZWoiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgdXN0YXdpxIcgdHJ5YnUgbmllYmxva3VqxIVjZWdvICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiYsWCxJlkbnkgcm96bWlhciB6ZGFyemVuaWEgcmZraWxsOiAlenUgPCAlZCIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHBvbGwgbmEgJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgImLFgsSZZG55IGlkZW50eWZpa2F0b3IiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgImFrdHl3bmEiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorbXNnaWQgInVuYmxvY2tlZCIKK21zZ3N0ciAibmllYWt0eXduYSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiYsWCxJlkbnkgaWRlbnR5ZmlrYXRvcjogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gcG9sZWNlbmllIFtpZGVudHlmaWthdG9yIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiTmFyesSZZHppZSBkbyB3xYLEhWN6YW5pYSBpIHd5xYLEhWN6YW5pYSB1cnrEhWR6ZcWEIGJlenByemV3b2Rvd3ljaC5cbiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIgaGVscCAgICAgICAgICAgICAgICAgICAgIHBvbW9jXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTMKK21zZ2lkICIgZXZlbnRcbiIKK21zZ3N0ciAiIGV2ZW50ICAgICAgICAgICAgICAgICAgICB6ZGFyemVuaWVcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIiBsaXN0ICAgW2lkZW50eWZpa2F0b3JdICAgbGlzdGFcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiIGJsb2NrICAgaWRlbnR5ZmlrYXRvciAgICB3xYLEhWN6ZW5pZSBibG9rYWR5XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKK21zZ2lkICIgdW5ibG9jayBpZGVudGlmaWVyXG4iCittc2dzdHIgIiB1bmJsb2NrIGlkZW50eWZpa2F0b3IgICAgd3nFgsSFY3plbmllIGJsb2thZHlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAiV2VqxZtjaWUgdyBzdGFuIHXFm3BpZW5pYSBzeXN0ZW11IGRvIHBvZGFuZWdvIGN6YXN1IHBvYnVka2kuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgICBvZGN6eXQgdHJ5YnUgemVnYXJhIHogcGxpa3Uga29yZWtjamkgKGRvbXnFm2xuZSlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtQSwgLS1hZGpmaWxlIDxmaWxlPiAgICAgc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIgorbXNnc3RyICIiCisiIC1BLCAtLWFkamZpbGUgPHBsaWs+ICAgICAgb2tyZcWbbGVuaWUgxZtjaWXFvGtpIHBsaWt1IGtvcmVrY2ppO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9tecWbbG5hIHRvICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICB1c3Rhd2llbmllIGN6YXN1IG9idWR6ZW5pYSBuYSBwb2RhbnlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDx1cnrEhWR6ZW5pZT4gd3liw7NyIHVyesSFZHplbmlhIHJ0YyAocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICAgd3lrb25hbmllIHdzenlzdGtpZWdvIHBvemEgdcWbcGllbmllbVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICAgUlRDIHXFvHl3YSBjemFzdSBsb2thbG5lZ29cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdGEgZG9zdMSZcG55Y2ggdHJ5YsOzd1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPHRyeWI+ICAgICAgICAgdHJ5YiB1xZtwaWVuaWEgc3RhbmRieXxtZW18Li4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxzZWt1bmQ+ICAgIGxpY3piYSBzZWt1bmQgdcWbcGllbmlhXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE1Cittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICAgY3phcyBvYnVkemVuaWFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgICBSVEMgdcW8eXdhIGN6YXN1IFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBzemN6ZWfDs8WCb3dlIGtvbXVuaWthdHlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAib2Rjenl0IGN6YXN1IFJUQyBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgIm9kY3p5dCBjemFzdSBzeXN0ZW1vd2VnbyBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInByemVsaWN6YW5pZSBjemFzdSBSVEMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgInVzdGF3aWFuaWUgYnVkemlrYSBSVEMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgInBvcnp1Y2FuaWUgc3RkaW4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJuaWVvY3pla2l3YW5hIHRyemVjaWEgbGluaWEgdzogJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAib2Rjenl0IGFsYXJtdSBSVEMgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgImFsYXJtOiB3ecWCxIVjem9ueVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgInByemVsaWN6YW5pZSBjemFzdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgImFsYXJtOiB3xYLEhWN6b255ICAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAibmllem5hbnkgc3RhbiB1xZtwaWVuaWEgJyVzJyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIGxpY3piYSBzZWt1bmQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSB3YXJ0b8WbxIcgY3phc3UiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVzOiB6YcWCb8W8b25vLCDFvGUgUlRDIHXFvHl3YSBVVEMuLi5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVcW8eWNpZSBjemFzdSBVVEMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiVcW8eWNpZSBjemFzdSBsb2thbG5lZ28uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMzCittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgInRyemViYSBwb2RhxIcgY3phcyBwb2J1ZGtpIChvcGNqZSAtLXNlY29uZHMsIC0tdGltZSBvcmF6IC0tZGF0ZSkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyBuaWUgbWEgd8WCxIVjem9ueWNoIHpkYXJ6ZcWEIGJ1ZHplbmlhIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNla3VuZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJjemFzIG5pZSBiaWVnbmllIHdzdGVjeiBkbyAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IHBvYnVka2EgcHJ6eSB1xbx5Y2l1ICVzIHcgY2h3aWxpICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogcG9idWRrYSB6IHRyeWJ1IFwiJXNcIiBwcnp5IHXFvHljaXUgJXMgdyBjaHdpbGkgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAidHJ5YiB1xZtwaWVuaWE6IGJyYWs7IG9wdXN6Y3phbmllXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAidHJ5YiB1xZtwaWVuaWE6IHd5xYLEhWN6ZW5pZTsgd3l3b8WCeXdhbmllICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgInRyeWIgdcWbcGllbmlhOiB3xYLEhWN6b255OyBvZGN6eXR5d2FuaWUgUlRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJvZGN6eXQgUlRDIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAidHJ5YiB1xZtwaWVuaWE6IHd5xYLEhWN6b255OyB3ecWCxIVjemFuaWUgYnVkemlrYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAidHJ5YiB1xZtwaWVuaWE6IHd5xZt3aWV0bGVuaWU7IHd5cGlzeXdhbmllIGluZm9ybWFjamkgbyBidWR6aWt1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgInRyeWIgdcWbcGllbmlhOiAlczsgdXN5cGlhbmllIHN5c3RlbXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICJ3ecWCxIVjemFuaWUgcHJ6ZXJ3YW5pYSBwb2J1ZGtpIFJUQyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICJXxYLEhWN6YW5pZSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIDxhcmNoPiBbb3BjamVdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiWm1pYW5hIHpnxYJhc3phbmVqIGFyY2hpdGVrdHVyeSBpIHVzdGF3aWFuaWUgZmxhZyBvc29ib3dvxZtjaS5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OAorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHfFgsSFY3plbmllIEFERFJfTElNSVRfMzJCSVRcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OQorbXNnaWQgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKK21zZ3N0ciAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICB3c2thxbpuaWtpIGZ1bmtjamkgd3NrYXp1asSFY2UgbmEgZGVza3J5cHRvcnlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgd8WCxIVjemVuaWUgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCB6bWlhbnkgdyBzcG9zb2JpZSBwcnp5ZHppZWxhbmlhIHBhbWnEmWNpIHdpcnR1YWxuZWpcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIHd5xYLEhWN6ZW5pZSBsb3Nvd2/Fm2NpIHdpcnR1YWxuZWogcHJ6ZXN0cnplbmkgYWRyZXNvd2VqXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgd8WCxIVjemVuaWUgV0hPTEVfU0VDT05EU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgd8WCxIVjemVuaWUgU1RJQ0tZX1RJTUVPVVRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHfFgsSFY3plbmllIFJFQURfSU1QTElFU19FWEVDXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHfFgsSFY3plbmllIE1NQVBfUEFHRV9aRVJPXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIG9ncmFuaWN6ZW5pZSBwcnplc3RyemVuaSBhZHJlc293ZWogZG8gbWFrc2ltdW0gMyBHQlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcm93YW5lICh0eWxrbyBkbGEga29tcGF0eWJpbG5vxZtjaSB3c3RlY3puZWopXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgd8WCxIVjemVuaWUgVU5BTUUyNlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzemN6ZWfDs8WCb3dhIGluZm9ybWFjamEgbyB3xYLEhWN6YW55Y2ggb3BjamFjaFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMworbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3RhIG1vxbxsaXd5Y2ggYXJjaGl0ZWt0dXIgaSB6YWtvxYRjemVuaWVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVzOiBOaWV6bmFuYSBhcmNoaXRla3R1cmEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiSsSFZHJvIG5pZSBtb8W8ZSB1c3Rhd2nEhyBhcmNoaXRla3R1cnkgbmEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIlphIG1hxYJvIGFyZ3VtZW50w7N3IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJOaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgb3NvYm93b8WbY2kgbmEgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzYwCittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAibmllcm96cG96bmFuYSBvcGNqYSAnLS1saXN0JyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuaWUgcG9kYW5vIGFyZ3VtZW50dSBhcmNoaXRla3R1cnkiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBvc29ib3dvxZtjaSBuYSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIld5d2/FgmFuaWUgcG9sZWNlbmlhIGAlcycuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIlVydWNob21pZW5pZSBwcm9ncmFtdSB6IGlubnltaSB1c3Rhd2llbmlhbWkgdXByYXduaWXFhC5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjIKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjKVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHd5cGlzYW5pZSBzdGFudSBiaWXFvMSFY2VnbyAoYmV6IHd5a29ueXdhbmlhKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMworbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICB6YWJyb25pZW5pZSBuYWRhd2FuaWEgbm93eWNoIHVwcmF3bmllxYRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1hbWJpZW50LWNhcHMgPHVwciwuLi4+ICAgIHVzdGF3aWVuaWUgemRvbG5vxZtjaSBvdGFjemFqxIVjeWNoXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDx1cHIsLi4uPiAgICAgICAgdXN0YXdpZW5pZSB6ZG9sbm/Fm2NpIGR6aWVkemljem9ueWNoXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIC0tYm91bmRpbmctc2V0IDx1cHI+ICAgICAgICB1c3Rhd2llbmllIHpiaW9ydSBvZ3JhbmljemFqxIVjZWdvIHpkb2xub8WbY2lcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjcKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHVzdGF3aWVuaWUgdWlkdSByemVjenl3aXN0ZWdvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHVzdGF3aWVuaWUgdWlkdSBlZmVrdHl3bmVnb1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgdXN0YXdpZW5pZSBnaWR1IHJ6ZWN6eXdpc3RlZ29cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgdXN0YXdpZW5pZSBnaWR1IGVmZWt0eXduZWdvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHVzdGF3aWVuaWUgdWlkdSByemVjenl3aXN0ZWdvIGkgZWZla3R5d25lZ29cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgdXN0YXdpZW5pZSBnaWR1IHJ6ZWN6eXdpc3RlZ28gaSBlZmVrdHl3bmVnb1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMworbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICB3eWN6eXN6Y3plbmllIGdydXAgZG9kYXRrb3d5Y2hcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICB6YWNob3dhbmllIGdydXAgZG9kYXRrb3d5Y2hcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICB6YWluaWNqb3dhbmllIGdydXAgZG9kYXRrb3d5Y2hcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1ncm91cHMgPGdydXBhLC4uLj4gICAgICAgIHVzdGF3aWVuaWUgZ3J1cCBkb2RhdGtvd3ljaFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA8Yml0eT4gICAgICAgICB1c3Rhd2llbmllIGJpdMOzdyBiZXpwaWVjemXFhHN0d2EgKHNlY3VyZWJpdHMpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDxldHlrLj4gICAgIHVzdGF3aWVuaWUgZXR5a2lldHkgU0VMaW51a3NhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gICAgIHVzdGF3aWVuaWUgcHJvZmlsdSBBcHBBcm1vclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIgVG8gbmFyesSZZHppZSBtb8W8ZSBiecSHIG5pZWJlenBpZWN6bmUuIFByb3N6xJkgcHJ6ZWN6eXRhxIcgc3Ryb27EmSBtYW4gaSBiecSHIG9zdHJvxbxueW0uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3Cittc2dpZCAiaW52YWxpZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgImLFgsSZZG55IHR5cCB6ZG9sbm/Fm2NpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgInBvYmllcmFuaWUgYml0w7N3IGJlenBpZWN6ZcWEc3R3YSBwcm9jZXN1IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICJCaXR5IGJlenBpZWN6ZcWEc3R3YToiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJbYnJha11cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogemJ5dCBkxYJ1Z2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIkdydXB5IGRvZGF0a293ZTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJbYnJha10iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU0IHN5cy11dGlscy9zZXRwcml2LmM6NDYwCittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzZ2lkIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJFZmVrdHl3bmUgemRvbG5vxZtjaTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkRvendvbG9uZSB6ZG9sbm/Fm2NpOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJEemllZHppY3pvbmUgemRvbG5vxZtjaTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICJaZG9sbm/Fm2NpIG90YWN6YWrEhWNlOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIltuaWUgb2JzxYJ1Z2l3YW5lXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiWmJpw7NyIG9ncmFuaWN6YWrEhWN5IHpkb2xub8WbY2k6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTcKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJFdHlraWV0YSBTRUxpbnVrc2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiUHJvZmlsIEFwcEFybW9yIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIGplc3QgdXN6a29kem9uYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIkLFgsSZZG55IGlkZW50eWZpa2F0b3IgZ3J1cHkgZG9kYXRrb3dlaiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXN1aWQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc2dpZCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJuaWUgb2JzxYJ1Z2l3YW55IHR5cCB6ZG9sbm/Fm2NpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUxNworbXNnaWQgImJhZCBjYXBhYmlsaXR5IHN0cmluZyIKK21zZ3N0ciAiYsWCxJlkbnkgxYJhxYRjdWNoIHpkb2xub8WbY2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAibGliY2FwLW5nIGplc3QgemJ5dCBzdGFyYSBkbGEgemRvbG5vxZtjaSBcImFsbFwiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICJuaWV6bmFuYSB6ZG9sbm/Fm8SHIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIm5pZXJvenBvem5hbnkgemJpw7NyIGJpdMOzdyBiZXpwaWVjemXFhHN0d2EgLSBvZG1vd2Egem1pYW55IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiYsWCxJlkbnkgxYJhxYRjdWNoIGJpdMOzdyBiZXpwaWVjemXFhHN0d2EiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTcyCittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICJiaXR5IGJlenBpZWN6ZcWEc3R3YSArYWxsIG5pZSBzxIUgZG96d29sb25lIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiem1pYW5hIGtlZXBfY2FwcyBuaWUgbWEgc2Vuc3UiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAibmllcm96cG96bmFueSBiaXQgYmV6cGllY3plxYRzdHdhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYwOQorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXggbmllIGplc3Qgd8WCxIVjem9ueSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiemFta25pxJljaWUgbmllIHBvd2lvZMWCbyBzacSZOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3IgbmllIGplc3Qgd8WCxIVjem9ueSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICJwb3d0w7Nyem9uYSBvcGNqYSAtLW5vLW5ldy1wcml2cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAicG93dMOzcnpvbnkgcnVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgcnVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTAKK21zZ2lkICJkdXBsaWNhdGUgZXVpZCIKK21zZ3N0ciAicG93dMOzcnpvbnkgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJwb3d0w7Nyem9ueSBydWlkIGx1YiBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgcmV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgInBvd3TDs3J6b255IHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHJwaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgInBvd3TDs3J6b255IGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAicG93dMOzcnpvbnkgcmdpZCBsdWIgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIm5pZXpyb3p1bWlhxYJ5IHJlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25hIG9wY2phIC0tY2xlYXItZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAicG93dMOzcnpvbmEgb3BjamEgLS1rZWVwLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKK21zZ2lkICJkdXBsaWNhdGUgLS1pbml0LWdyb3VwcyBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25hIG9wY2phIC0taW5pdC1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAicG93dMOzcnpvbmEgb3BjamEgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICJwb3d0w7Nyem9uYSBvcGNqYSAtLWluaC1jYXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1OQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25hIG9wY2phIC0tYW1iaWVudC1jYXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25hIG9wY2phIC0tYm91bmRpbmctc2V0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3MQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICJwb3d0w7Nyem9uYSBvcGNqYSAtLXNlY3VyZWJpdHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgInBvd3TDs3J6b25hIG9wY2phIC0tc2VsaW51eC1sYWJlbCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4ODMKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAicG93dMOzcnpvbmEgb3BjamEgLS1hcHBhcm1vci1wcm9maWxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg5OQorbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiLS1kdW1wIGplc3Qgbmlla29tcGF0eWJpbG5lIHogaW5ueW1pIG9wY2phbWkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIG11c2kgYnnEhyBwb2RhbmUgc2Ftb2R6aWVsbmllIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJOaWUgcG9kYW5vIHByb2dyYW11IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCB3eW1hZ2EgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMgbHViIC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIi0taW5pdC1ncm91cHMgd3ltYWdhIC0tcnVpZCBsdWIgLS1yZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICJuaWUgem5hbGV6aW9ubyB1aWR1ICVsZCwgLS1pbml0LWdyb3VwcyB3eW1hZ2EgdcW8eXRrb3duaWthIGlzdG5pZWrEhWNlZ28gdyBzeXN0ZW1pZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgInphYnJvbmllbmllIG5hZGF3YW5pYSBub3d5Y2ggdXByYXduaWXFhCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgInphY2hvd2FuaWUgemRvbG5vxZtjaSBwcm9jZXN1IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgInfFgsSFY3plbmllIHpkb2xub8WbY2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTU0Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgInBvbm93bmUgd8WCxIVjemVuaWUgemRvbG5vxZtjaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiaW5pdGdyb3VwcyBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgInVzdGF3aWVuaWUgYml0w7N3IGJlenBpZWN6ZcWEc3R3YSBwcm9jZXN1IG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgInVzdGF3aWVuaWUgemJpb3J1IG9ncmFuaWN6ZcWEIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAidXN0YXdpZW5pZSB6ZG9sbm/Fm2NpIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDxwcm9ncmFtPiBbYXJndW1lbnR5Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIlVydWNob21pZW5pZSBwcm9ncmFtdSB3IG5vd2VqIHNlc2ppLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIHVzdGF3aWVuaWUgdGVybWluYWxhIHN0ZXJ1asSFY2VnbyBuYSBiaWXFvMSFY3lcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICB6YXdzemUgb2RnYcWCxJl6aWVuaWUgbm93ZWdvIHByb2Nlc3VcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQyCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAgb2N6ZWtpd2FuaWUgbmEgemFrb8WEY3plbmllIHByb2dyYW11LCB6d3LDs2NlbmllIHRlZ28gc2FtZWdvXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMDAKK21zZ2lkICJmb3JrIgorbXNnc3RyICJmb3JrIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAicG90b21layAlZCBuaWUgemFrb8WEY3p5xYIgc2nEmSBub3JtYWxuaWUiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTIwCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyB0ZXJtaW5hbGEgc3RlcnVqxIVjZWdvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNAorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJUcnplYmEgYnnEhyBzdXBlcnXFvHl0a293bmlraWVtLiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9mZiBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbPHNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIld5xYLEhWN6ZW5pZSB1cnrEhWR6ZcWEIGkgcGxpa8OzdyB6IHByemVzdHJ6ZW5pIHN0cm9uaWNvd2FuaWEgaSB3eW1pYW55LlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICB3ecWCxIVjemVuaWUgd3N6eXN0a2ljaCBvYnN6YXLDs3cgd3ltaWFueSB6IC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdHJ5YiBzemN6ZWfDs8WCb3d5Y2ggaW5mb3JtYWNqaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcmFtZXRyIDxzcGVjPjpcbiIKKyIgLUwgPGV0eWtpZXRhPiAgICAgICAgICBFVFlLSUVUQSB1cnrEhWR6ZW5pYSBkbyB1xbx5Y2lhXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCB1cnrEhWR6ZW5pYSBkbyB1xbx5Y2lhXG4iCisiIExBQkVMPTxldHlraWV0YT4gICAgICAgRVRZS0lFVEEgdXJ6xIVkemVuaWEgZG8gdcW8eWNpYVxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgdXJ6xIVkemVuaWEgZG8gdcW8eWNpYVxuIgorIiA8dXJ6xIVkemVuaWU+ICAgICAgICAgICBuYXp3YSB1cnrEhWR6ZW5pYSBkbyB1xbx5Y2lhXG4iCisiIDxwbGlrPiAgICAgICAgICAgICAgICAgbmF6d2EgcGxpa3UgZG8gdcW8eWNpYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAixZtjaWXFvGthIGRvIHBsaWt1IHVyesSFZHplbmlhIGx1YiBwYXJ0eWNqaSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJyb2R6YWogdXJ6xIVkemVuaWEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAicm96bWlhciBvYnN6YXJ1IHd5bWlhbnkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiYmFqdMOzdyB3IHXFvHljaXUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJwcmlvcnl0ZXQgb2JzemFydSB3eW1pYW55IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJVVUlEIG9ic3phcnUgd3ltaWFueSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMgorbXNnaWQgInN3YXAgbGFiZWwiCittc2dzdHIgImV0eWtpZXRhIG9ic3phcnUgd3ltaWFueSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx0VHlwXHRcdFJvem1pYXJcdFXFvHl0ZVx0UHJpb3J5dGV0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAiTmF6d2EgcGxpa3UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IHBvbm93bmEgaW5pY2phbGl6YWNqYSBzd2FwYS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHphcGlzIHN5Z25hdHVyeSBuaWUgcG93acOzZMWCIHNpxJkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IHBvbWluacSZdG8gLSB3eWRhamUgc2nEmSBtaWXEhyBkeml1cnkuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBvZGN6eXQgcm96bWlhcnUgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG9kY3p5dCBuYWfFgsOzd2thIHN3YXBhIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6IHpuYWxlemlvbm8gc3lnbmF0dXLEmSBbcm96bWlhciBzdHJvbnk9JWQsIHN5Z25hdHVyYT0lc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IHd5bm9zaSB3acSZY2VqIG5pxbwgcm96bWlhciBwcnplc3RyemVuaSB3eW1pYW55IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzOiByb3ptaWFyIHN0cm9ueSBmb3JtYXR1IHN3YXBhIG5pZSB6Z2FkemEgc2nEmS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXM6IHJvem1pYXIgc3Ryb255IGZvcm1hdHUgc3dhcGEgbmllIHpnYWR6YSBzacSZICgtLWZpeHBnc3ogcG96d2FsaSB0byBwcnplaW5pY2pvd2HEhykuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogd3lrcnl0byBkYW5lIHByb2dyYW1vd2VnbyB3c3RyenltYW5pYS4gUG9ub3dueSB6YXBpcyBzeWduYXR1cnkgc3dhcGEuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbiBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IG9wY2phIG5vYXV0byAtIHppZ25vcm93YW5vIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczoganXFvCBha3R5d255IC0gemlnbm9yb3dhbm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogbmllZG9zdMSZcG55IC0gemlnbm9yb3dhbm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIlfFgsSFY3plbmllIHVyesSFZHplxYQgaSBwbGlrw7N3IHcgcHJ6ZXN0cnplxYQgc3Ryb25pY293YW5pYSBpIHd5bWlhbnkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgd8WCxIVjemVuaWUgd3N6eXN0a2ljaCBwcnplc3RyemVuaSB3eW1pYW55IHogL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbGl0eWthPl0gd8WCxIVjemVuaWUga2Fzb3dhbmlhIHN3YXBhLCBqZcWbbGkgdXJ6xIVkemVuaWUgb2JzxYJ1Z3VqZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBjaWNoZSBwb21pbmnEmWNpZSB1cnrEhWR6ZcWEIG5pZWlzdG5pZWrEhWN5Y2hcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHBvbm93bmUgaW5pY2pvd2FuaWUgcHJ6ZXN0cnpuaSB3eW1pYW55IHcgcmF6aWUgcG90cnplYnlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxsaXN0YT4gICAgcm96ZHppZWxvbmEgcHJ6ZWNpbmthbWkgbGlzdGEgb3BjamkgcHJ6ZXN0cnpuaSB3eW1pYW55XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG9rcmXFm2xlbmllIHByaW9yeXRldHUgZGFuZWdvIHVyesSFZHplbmlhIHd5bWlhbnlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgcG9kc3Vtb3dhbmlhIHXFvHl3YW55Y2ggcHJ6ZXN0cnplbmkgKFBSWkVTVEFSWkHFgUUpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDcKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTxrb2x1bW55Pl0gICB3ecWbd2lldGxlbmllIHBvZHN1bW93YW5pYSB3IGRlZmluaW93YWxuZWogdGFiZWxpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3cgdGFiZWxpIChwcnp5IC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgd3lqxZtjaWUgdyBmb3JtYWNpZSBzdXJvd3ltIChwcnp5IC0tc2hvdylcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgcm96bWlhcnUgd3ltaWFueSB3IGJhanRhY2ggKHByenkgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB0cnliIHN6Y3plZ8OzxYJvd3lcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBhcmFtZXRyIDxzcGVjPjpcbiIKKyIgLUwgPGV0eWtpZXRhPiAgICAgICAgICBzeW5vbmltIExBQkVMPTxldHlraWV0YT5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbmltIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxldHlraWV0YT4gICAgICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgd2cgZXR5a2lldHkgb2JzemFydSB3eW1pYW55XG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgd2cgVVVJRC1hIG9ic3phcnUgd3ltaWFueVxuIgorIiBQQVJUTEFCRUw9PGV0eWtpZXRhPiAgIG9rcmXFm2xlbmllIHVyesSFZHplbmlhIHdnIGV0eWtpZXR5IHBhcnR5Y2ppXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgb2tyZcWbbGVuaWUgdXJ6xIVkemVuaWEgd2cgVVVJRC1hIHBhcnR5Y2ppXG4iCisiIDx1cnrEhWR6ZW5pZT4gICAgICAgICAgIG5hendhIHVyesSFZHplbmlhIGRvIHXFvHljaWFcbiIKKyIgPHBsaWs+ICAgICAgICAgICAgICAgICBuYXp3YSBwbGlrdSBkbyB1xbx5Y2lhXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEb3N0xJlwbmUgcG9saXR5a2kga2Fzb3dhbmlhIChkbGEgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IHR5bGtvIGplZG5vcmF6b3dlIGthc293YW5pZSBvYnN6YXLDs3dcbiIKKyIgcGFnZXMgICA6IGthc293YW5pZSB3b2xueWNoIHN0cm9uIHByemVkIHBvbm93bnltIHXFvHljaWVtXG4iCisiSmXFm2xpIG5pZSB3eWJyYW5vIHBvbGl0eWtpLCB3xYLEhWN6YW5lIHPEhSBvYmEgcm9kemFqZSAoZG9tecWbbG5lKS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAibmllenJvenVtaWHFgnkgcHJpb3J5dGV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FuYSBwb2xpdHlrYSBrYXNvd2FuaWE6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIG9kbmFsZcW6xIcgdXJ6xIVkemVuaWEgZGxhICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG90d29yennEhyBrYXRhbG9ndSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic3RhdCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIGthdGFsb2d1IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdW7EhcSHICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHphbW9udG93YcSHIHByemVub3N6xIVjICVzIGRvICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJ3eW11c3plbmllIG9kbW9udG93YW5pYSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgem1pZW5pxIcga2F0YWxvZ3UgbmEgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6YW1vbnRvd2HEhyBwcnplbm9zesSFYyAlcyBkbyAvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB6bWllbmnEhyBrYXRhbG9ndSBnxYLDs3duZWdvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgInN0YXJ5IGfFgsOzd255IHN5c3RlbSBwbGlrw7N3IG5pZSBqZXN0IHR5cHUgaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbb3BjamVdIDxub3d5IGthdGFsb2cgZ8WCw7N3bnk+IDxpbml0PiA8YXJndW1lbnR5IGluaXRhPlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDkKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICJabWlhbmEgbmEgaW5ueSBzeXN0ZW0gcGxpa8OzdyBqYWtvIGtvcnplxYQgZHJ6ZXdhIG1vbnRvd2FuaWEuXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1NQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJuaWUgcG93aW9kxYJvIHNpxJkuIE5pZXN0ZXR5LiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIm5pZSBtb8W8bmEgZG9zdGHEhyBzacSZIGRvICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICJVc3Rhd2lhbmllIHLDs8W8bnljaCBwYXJhbWV0csOzdyBkcnVrYXJraSBsaW5pb3dlai5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMQorbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtZXI+ICAgICAgICAgICAgb2tyZcWbbGVuaWUgSVJRIHBvcnR1IHLDs3dub2xlZ8WCZWdvXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBjemFzIG9jemVraXdhbmlhIHN0ZXJvd25pa2EgdyBtaWxpc2VrdW5kYWNoXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiAtYywgLS1jaGFycyA8bGljemJhPiAgICAgICAgIGxpY3piYSB6bmFrw7N3IHd5asWbY2lvd3ljaCBwcnplZCBvY3pla2l3YW5pZW1cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgb2N6ZWtpd2FuaWUgc3Ryb2JlIHcgbWlrcm9zZWt1bmRhY2hcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgcHJ6ZXJ3YW5pZSBwcm9ncmFtdSBwbyBixYLEmWR6aWVcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBzcHJhd2R6YW5pZSBzdGFudSBkcnVrYXJraSBwcnplZCBkcnVrb3dhbmllbVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGRvZGF0a293ZSBzcHJhd2R6YW5pZSBzdGFudVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgemFweXRhbmllIG8gc3RhbiBkcnVrYXJraVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgcG9ydHVcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICB3ecWbd2lldGxlbmllIGJpZcW8xIVjZWdvIHVzdGF3aWVuaWEgSVJRXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgbmllIGplc3QgdXJ6xIVkemVuaWVtIGxwIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjc4Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgImLFgsSFZCBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIlN0YW4gZHJ1a2Fya2kgJXM6ICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCB6YWrEmXRhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgZ290b3dhIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGJyYWsgcGFwaWVydSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgd8WCxIVjem9uYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGLFgsSFZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzA4Cittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgImLFgsSFZCBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgdcW8eXdhIElSUSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMgdcW8eXdhIG9kcHl0eXdhbmlhXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3BjamVdXG4iCisiICUxJHMgW29wY2plXSA8xbpyw7NkxYJvPiB8IDxrYXRhbG9nPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJPZG1vbnRvd3l3YW5pZSBzeXN0ZW3Ds3cgcGxpa8Ozdy5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBvZG1vbnRvd2FuaWUgd3N6eXN0a2ljaCBzeXN0ZW3Ds3cgcGxpa8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgb2Rtb250b3dhbmllIHdzenlzdGtpY2ggcHVua3TDs3cgbW9udG93YW5pYSBkbGFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RhbmVnbyB1cnrEhWR6ZW5pYSB3IGJpZcW8xIVjZWogcHJ6ZXN0cnplbmkgbmF6d1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBiZXogZG9wcm93YWR6YW5pYSDFm2NpZcW8ZWsgZG8gcG9zdGFjaSBrYW5vbmljem5lalxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTIKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIHp3YWxuaWFuaWUgdXJ6xIVkemXFhCBsb29wIHByenkgb2Rtb250b3d5d2FuaXUgaWNoXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgdGVzdG93ZSB1cnVjaG9taWVuaWU7IHBvbWluacSZY2llIHd5d2/FgmHFhCB1bW91bnQoMilcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIHd5bXVzemVuaWUgb2Rtb250b3dhbmlhICh3IHByenlwLiBuaWVvc2nEhWdhbG5lZ28gTkZTKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBiZXogd3l3b8WCeXdhbmlhIHByb2dyYW3Ds3cgcG9tb2NuaWN6eWNoIHVtb3VudC48dHlwPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBvZMWCxIVjemVuaWUgc3lzdGVtdSBwbGlrw7N3IG9kIHJhenUsIHNwcnrEhXRhbmllIHDDs8W6bmllalxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBvZ3JhbmljemVuaWUgemJpb3J1IHN5c3RlbcOzdyBwbGlrw7N3ICh3cmF6IHogLWEpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVrdXJlbmN5am5lIG9kbW9udG93YW5pZSBjZWx1IHdyYXogeiBwb3RvbWthbWlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgcHJ6ZW1vbnRvd2FuaWUgcm8gdyBwcnp5cGFka3UgbmllbW/FvG5vxZtjaSBvZG1vbnRvd2FuaWFcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0YT4gICAgIG9ncmFuaWN6ZW5pZSB6YmlvcnUgdHlww7N3IHN5c3RlbcOzdyBwbGlrw7N3XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgb2Rtb250b3dhbnkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBvZG1vbnRvd2FueSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGNlbHUgb2Rtb250b3dhbmlhIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgInByenlkemllbGVuaWUgdGFibGljeSBsaWJtb3VudCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjM0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJwcnp5ZHppZWxlbmllIGl0ZXJhdG9yYSBsaWJtb3VudCBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHBvYnJhxIcgcG90b21uZWdvIGZzIGRsYSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuaWUgem5hbGV6aW9ubyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoIHJlZ3VsYXIgbXRhYiBmaWxlKS4iCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXN0YWxpxIcgxbpyw7NkxYJhICgtLWFsbC10YXJnZXRzIG5pZSBqZXN0IG9ic8WCdWdpd2FuZSBuYSBzeXN0ZW1hY2ggemUgend5a8WCeW0gcGxpa2llbSBtdGFiKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAibmllIG9ic8WCdWdpd2FueSBhcmd1bWVudCAtLXNldGdyb3VwcyAnJXMnIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgInphcGlzICVzIG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIm5pZSBvYnPFgnVnaXdhbnkgdHJ5YiBwcm9wYWdvd2FuaWE6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJuaWUgbW/FvG5hIHptaWVuacSHIHByb3BhZ293YW5pYSBnxYLDs3duZWdvIHN5c3RlbXUgcGxpa8OzdyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICJtb250b3dhbmllICVzIHcgJXMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSB3eWtvbmHEhyBzdGF0IG5hICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxNQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJ1dHdvcnplbmllIHBvdG9rdSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBwb3Rva3UiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIlVydWNob21pZW5pZSBwcm9ncmFtdSB6IGN6xJnFm2NpxIUgcHJ6ZXN0cnplbmkgbmF6dyBvZGR6aWVsb255Y2ggb2Qgcm9kemljYS5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08cGxpaz5dICAgICAgb2RkemllbGVuaWUgcHJ6ZXN0cnplbmkgbW9udG93YW5pYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz08cGxpaz5dICAgICAgICBvZGR6aWVsZW5pZSBwcnplc3RyemVuaSBVVFMgKGhvc3RuYW1lIGl0cC4pXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtaSwgLS1pcGNbPTxwbGlrPl0gICAgICAgIG9kZHppZWxlbmllIHByemVzdHJ6ZW5pIFN5c3RlbSBWIElQQ1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PHBsaWs+XSAgICAgICAgb2RkemllbGVuaWUgcHJ6ZXN0cnplbmkgc2llY2lvd2VqXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxwbGlrPl0gICAgICAgIG9kZHppZWxlbmllIHByemVzdHJ6ZW5pIHBpZMOzd1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxwbGlrPl0gICAgICAgb2RkemllbGVuaWUgcHJ6ZXN0cnplbmkgdcW8eXRrb3duaWvDs3dcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PHBsaWs+XSAgICAgb2RkemllbGVuaWUgcHJ6ZXN0cnplbmkgY2dyb3VwXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICB3eWtvbmFuaWUgZm9yayBwcnplZCB1cnVjaG9taWVuaWVtIDxwcm9ncmFtdT5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hpbGRbPTxzeWduYcWCPl0gICBwcnp5IMWbbWllcmNpLCB6YWJpY2llIHBvdG9ta2EgKHfFgsSFY3phIC0tZm9yayk7IGRvbXnFm2xuaWUgU0lHS0lMTFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NAorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIgICAgIC0tbW91bnQtcHJvY1s9PGthdD5dICB6YW1vbnRvd2FuaWUgbmFqcGllcncgc3lzdGVtdSBwcm9jICh3eW11c3phIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG9kd3pvcm93YW5pZSBiaWXFvMSFY2VnbyB1xbx5dGtvd25pa2EgbmEgcm9vdGFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh3eW11c3phIC0tdXNlcilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICB6bW9keWZpa293YW5pZSBwcm9wYWdvd2FuaWEgdyBwcnplc3RyemVuaSBtb250b3dhbmlhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBkb3B1c3pjemFsbm/Fm8SHIHNldGdyb3VwcyB3IHByemVzdHJ6ZW5pYWNoIHXFvHl0a293bmlrw7N3XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0NQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICJ6YWtvxYRjemVuaWUgcG90b21rYSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU0Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIm9wY2plIC0tc2V0Z3JvdXBzPWFsbG93IG9yYXogLS1tYXAtcm9vdC11c2VyIHd5a2x1Y3phasSFIHNpxJkgd3phamVtbmllIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIm1vbnRvd2FuaWUgJXMgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICJLYXJ0YSB1cHJ6ZWRuaW8genJlc2V0b3dhxYJhIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJaZXduxJl0cnpuZSBwcnpla2F6eXdhbmllIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiWmV3bsSZdHJ6bmUgcHJ6ZWthenl3YW5pZSAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIldlbnR5bGF0b3IgemF3acOzZMWCIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiT2Rwb3dpZWTFuiBuYSBwaW5nIGtlZXAtYWxpdmUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiT2JzxYJ1Z2Egem5ha3UgbWFnaWMtY2xvc2UiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiUmVzZXQgeiBwb3dvZHUgcHJ6ZWdyemFuaWEgQ1BVIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiTmFkbWllcm5lIG5hcGnEmWNpZSB6YXNpbGFuaWEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJBd2FyaWEgemFzaWxhbmlhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJXY3plc255IGxpbWl0IGN6YXN1ICh3IHNla3VuZGFjaCkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJVc3Rhd2llbmllIGxpbWl0dSBjemFzdSAodyBzZWt1bmRhY2gpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiQmV6IHd5endvbGVuaWEgcHJ6ZcWCYWRvd2FuaWEgc3lzdGVtdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICJuYXp3YSBmbGFnaSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAib3BpcyBmbGFnaSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgInN0YW4gZmxhZ2kiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgInN0YW4gZmxhZ2kgcG8gc3RhcmNpZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5hendhIHVyesSFZHplbmlhIHdhdGNoZG9nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAibmllem5hbmEgZmxhZ2E6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJXecWbd2lldGxhbmllIHN0YW51IHdhdGNoZG9nYSBzcHJ6xJl0b3dlZ28uXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdGE+ICAgIHd5cGlzYW5pZSB0eWxrbyB3eWJyYW55Y2ggZmxhZ1xuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGJleiB3eXBpc3l3YW5pYSBpbmZvcm1hY2ppIG8gZmxhZ2FjaFxuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGJleiB3eXBpc3l3YW5pYSBpbmZvcm1hY2ppIGlkZW50eWZpa3VqxIVjeWNoIHdhdGNoZG9nYVxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGJleiB3eXBpc3l3YW5pYSBuYWfFgsOzd2vDs3cgZGxhIHRhYmVsaSBmbGFnXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgd3lwaXNhbmllIHdzenlzdGtpY2ggaW5mb3JtYWNqaSB3IGplZG5laiBsaW5paVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIGtvbHVtbnkgd3lqxZtjaWEgZGxhIGZsYWdcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICBzdXJvd3kgZm9ybWF0IHd5asWbY2lhIGRsYSB0YWJlbGkgZmxhZ1xuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGJleiB3eXBpc3l3YW5pYSBsaW1pdMOzdyBjemFzdSB3YXRjaGRvZ2FcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VrPiB1c3Rhd2llbmllIGxpbWl0dSBjemFzdSB3YXRjaGRvZ2FcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICB3eXBpc2FuaWUgdHlsa28gdGFiZWxpIGZsYWcgKHN5bm9uaW0gLUkgLVQpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIlVyesSFZHplbmllIGRvbXnFm2xuZSB0byAlcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IG5pZXpuYW5lIGZsYWdpIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIwIHN5cy11dGlscy93ZGN0bC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiJXM6IHVyesSFZHplbmllIHdhdGNoZG9nIGp1xbwgdyB1xbx5Y2l1LCB6YWtvxYRjemVuaWUuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzQgc3lzLXV0aWxzL3dkY3RsLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHJvemJyb2nEhyB3YXRjaGRvZ2EiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJuaWUgbW/FvG5hIHVzdGF3acSHIGxpbWl0dSBjemFzdSBkbGEgJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIkxpbWl0IGN6YXN1IHpvc3RhxYIgdXN0YXdpb255IG5hICVkIHNla3VuZMSZLlxuIgorbXNnc3RyWzFdICJMaW1pdCBjemFzdSB6b3N0YcWCIHVzdGF3aW9ueSBuYSAlZCBzZWt1bmR5LlxuIgorbXNnc3RyWzJdICJMaW1pdCBjemFzdSB6b3N0YcWCIHVzdGF3aW9ueSBuYSAlZCBzZWt1bmQuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB1enlza2HEhyBpbmZvcm1hY2ppIG8gd2F0Y2hkb2d1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUgc3lzLXV0aWxzL3dkY3RsLmM6NDY4IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTRzICUyaSBzZWt1bmRhXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSBzZWt1bmR5XG4iCittc2dzdHJbMl0gIiUtMTRzICUyaSBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY2Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIkxpbWl0IGN6YXN1OiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICJXc3TEmXBueSBsaW1pdCBjemFzdToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiUG96b3N0YcWCeSBjemFzOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiVXJ6xIVkemVuaWU6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIk5hendhOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAid2Vyc2phIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1Cittc2dpZCAienJhbSBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibmF6d2EgdXJ6xIVkemVuaWEgenJhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgImxpbWl0IG5pZXNrb21wcmVzb3dhbmVqIGlsb8WbY2kgZGFueWNoIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIm5pZXNrb21wcmVzb3dhbnkgcm96bWlhciB6YXBpc2FueWNoIGRhbnljaCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAic2tvbXByZXNvd2FueSByb3ptaWFyIHphcGlzYW55Y2ggZGFueWNoIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAid3licmFueSBhbGdvcnl0bSBrb21wcmVzamkiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJsaWN6YmEgamVkbm9jemVzbnljaCBvcGVyYWNqaSBrb21wcmVzamkiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInB1c3RlIHN0cm9ueSBiZXogcHJ6eWR6aWVsb25laiBwYW1pxJljaSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiY2HFgmEgcGFtacSZxIcgd3JheiB6IGZyYWdtZW50YWNqxIUgYWxva2F0b3JhIGkgbmFyenV0ZW0gbWV0YWRhbnljaCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAibGltaXQgcGFtacSZY2kgdcW8eXdhbmVqIGRvIHByemVjaG93eXdhbmlhIGRhbnljaCBza29tcHJlc293YW55Y2giCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJwYW1pxJnEhyB1xbx5dGEgcHJ6ZXogenJhbSBuYSBwcnplY2hvd3l3YW5pZSBkYW55Y2ggc2tvbXByZXNvd2FueWNoIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg1Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAibGljemJhIG9iaWVrdMOzdyB6bWlncm93YW55Y2ggcHJ6ZXogdXNww7NqbmlhbmllIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJOaWV6cm96dW1pYcWCeSBtbV9zdGF0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcGNqZV0gPHVyesSFZHplbmllPlxuIgorIiAlMSRzIC1yIDx1cnrEhWR6ZW5pZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3BjamVdIC1mIHwgPHVyesSFZHplbmllPiAtcyA8cm96bWlhcj5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJLb25maWd1cmFjamEgaSBzdGVyb3dhbmllIHVyesSFZHplbmlhbWkgenJhbS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NHxsejRoY3xkZWZsYXRlfDg0MiAgIHd5YsOzciBhbGdvcnl0bXUga29tcHJlc2ppXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHBvZGF3YW5pZSByb3ptaWFyw7N3IHcgYmFqdGFjaCB6YW1pYXN0IGZvcm1hdHUgbHVkemtpZWdvXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIG9kbmFsZXppZW5pZSB3b2xuZWdvIHVyesSFZHplbmlhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a8Ozd1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICAgIGtvbHVtbnkgZG8gdW1pZXN6Y3plbmlhIHcgd3lqxZtjaXUgc3RhbnVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDYKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHXFvHljaWUgc3Vyb3dlZ28gZm9ybWF0dSB3eWrFm2NpYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCB3c3p5c3RraWNoIHBvZGFueWNoIHVyesSFZHplxYRcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8cm96bWlhcj4gICAgICByb3ptaWFyIHVyesSFZHplbmlhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPGxpY3piYT4gICAgbGljemJhIHN0cnVtaWVuaSBrb21wcmVzdWrEhWN5Y2hcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBzdHJ1bWllbmkiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAib3BjamUgLS1maW5kIHd5a2x1Y3phIHNpxJkgeiA8dXJ6xIVkemVuaWVtPiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjEKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiZG96d29sb25lIGplc3QgdHlsa28gPHVyesSFZHplbmllPiBqZWRub2N6ZcWbbmllIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICJvcGNqZSAtLWFsZ29yaXRobSBvcmF6IC0tc3RyZWFtcyBtdXN6xIUgYnnEhyBwb8WCxIVjem9uZSB6IC0tc2l6ZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB6cmVzZXRvd2HEhyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICJuaWUgem5hbGV6aW9ubyB3b2xuZWdvIHVyesSFZHplbmlhIHpyYW0iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczogbmllIHVkYcWCbyBzacSZIHVzdGF3acSHIGxpY3pieSBzdHJ1bWllbmkiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gdXN0YXdpxIcgYWxnb3J5dG11IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IG5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyByb3ptaWFydSBkeXNrdSAoYmFqdMOzdzogJWp1KSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIlcyVzIChhdXRvbWF0eWN6bmUgemFsb2dvd2FuaWUpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbmllIG1vxbxuYSB6bWllbmnEhyBrYXRhbG9ndSBnxYLDs3duZWdvICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIHptaWVuacSHIGthdGFsb2d1IHJvYm9jemVnbyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBuaWUgbW/FvG5hIHptaWVuacSHIHByaW9yeXRldHUgcHJvY2VzdTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IG5pZSBtb8W8bmEgd3l3b8WCYcSHICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NzQgdGVybS11dGlscy9hZ2V0dHkuYzo5MDEgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzcgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ4NAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNTI2IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5MyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnp5ZHppZWxpxIcgcGFtacSZY2k6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIgorbXNnc3RyICIlcyB6IHBha2lldHUgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIG9ww7PFum5pZW5pYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAiYsWCxJlkbnkgYXJndW1lbnQgb3BjamkgLS1sb2NhbC1saW5lIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgwNQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiYsWCxJlkbmEgd2FydG/Fm8SHIHByaW9yeXRldHUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgImLFgsSZZG5hIHN6eWJrb8WbxIc6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInpieXQgZHXFvG8gemFtaWVubnljaCBzenlia2/Fm2NpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IG5pZSBtb8W8bmEgb3R3b3J6ecSHIGpha28gc3RhbmRhcmRvd2Ugd2VqxZtjaWU6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczogdG8gbmllIGplc3QgdXJ6xIVkemVuaWUgem5ha293ZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogdG8gbmllIGplc3QgdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBuaWUgbW/FvG5hIHV6eXNrYcSHIHRlcm1pbmFsYSBzdGVydWrEhWNlZ286ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6IHZoYW5ndXAoKSBuaWUgcG93aW9kxYJvIHNpxJk6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogbmllIGplc3Qgb3R3YXJ0ZSBkbyBvZGN6eXR1IGkgemFwaXN1IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmllIG1vxbxuYSB1c3Rhd2nEhyBncnVweSBwcm9jZXPDs3c6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IHByb2JsZW0geiBkdXA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgcG9icmHEhyBhdHJ5YnV0w7N3IHRlcm1pbmFsYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSB1c3Rhd2nEhyBhdHJ5YnV0w7N3IHRlcm1pbmFsYTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgcGxpa3Ugb3MtcmVsZWFzZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHV0d29yennEhyBwbGlrdSBwcnplxYJhZG93YW5pYTogJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4MzUKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJbcHJvc3rEmSBuYWNpc27EhcSHIEVOVEVSIHcgY2VsdSB6YWxvZ293YW5pYV0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg1OQorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiTnVtIExvY2sgd3nFgsSFY3pvbnkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0gTG9jayB3xYLEhWN6b255IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkNhcHMgTG9jayB3xYLEhWN6b255IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sgd8WCxIVjem9ueSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiVXdhZ2E6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiByZWFkOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogcHJ6ZXBlxYJuaWVuaWUgd2VqxZtjaWEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBixYLEmWRuYSBrb253ZXJzamEgem5ha3UgZGxhIG5hend5IHXFvHl0a293bmlrYSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBixYLEmWRueSB6bmFrIDB4JXggdyBuYXp3aWUgdcW8eXRrb3duaWthIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBuaWUgdWRhxYJvIHNpxJkgdXN0YXdpxIcgYXRyeWJ1dMOzdyB0ZXJtaW5hbGE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3BjamVdIDxsaW5pYT4gWzxzenlia2/Fm8SHPiwuLi5dIFs8dHlwX3Rlcm1pbmFsYT5dXG4iCisiICUxJHMgW29wY2plXSA8c3p5YmtvxZvEhz4sLi4uIDxsaW5pYT4gWzx0eXBfdGVybWluYWxhPl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIk90d29yemVuaWUgdGVybWluYWxhIGkgdXN0YXdpZW5pZSBqZWdvIHRyeWJ1LlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzMKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgICBwcnp5asSZY2llIHRlcm1pbmFsYSA4LWJpdG93ZWdvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNAorbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIgLWEsIC0tYXV0b2xvZ2luIDx1xbx5dGtvd25paz4gYXV0b21hdHljem5lIHphbG9nb3dhbmllIHBvZGFuZWdvIHXFvHl0a293bmlrYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgICBiZXogcmVzZXRvd2FuaWEgdHJ5YnUgc3RlcnVqxIVjZWdvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgICAgdcW8eWNpZSAtciA8aG9zdD4gZGxhIHByb2dyYW11IGxvZ2luKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNworbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWlzc3VlLWZpbGUgPHBsaWs+ICAgICAgd3nFm3dpZXRsZW5pZSBwbGlrdSB3eWRhbmlhIChpc3N1ZSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgICAgd8WCxIVjemVuaWUgc3ByesSZdG93ZWoga29udHJvbGkgcHJ6ZXDFgnl3dVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDxob3N0PiAgICAgICAgICAgIHBvZGFuaWUgaG9zdGEgbG9nb3dhbmlhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MAorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICAgIGJleiB3ecWbd2lldGxhbmlhIHBsaWt1IHd5ZGFuaWEgKGlzc3VlKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA8xYJhxYRjdWNoPiAgcG9kYW5pZSDFgmHFhGN1Y2hhIGluaWNqdWrEhWNlZ29cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgICAgYmV6IGN6eXN6Y3plbmlhIGVrcmFudSBwcnplZCB3eXBpc2FuaWVtIHphY2jEmXR5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPHBsaWs+ICAgb2tyZcWbbGVuaWUgcHJvZ3JhbXUgbG9naW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIgLUwsIC0tbG9jYWwtbGluZVs9PHRyeWI+XSAgICBzdGVyb3dhbmllIGZsYWfEhSBsaW5paSBsb2thbG5lalxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDUKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgICAgd3ljacSFZ25pxJljaWUgc3p5YmtvxZtjaSB3IGJvZGFjaCBwcnp5IHBvxYLEhWN6ZW5pdVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDYKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgICAgYmV6IHB5dGFuaWEgbyBuYXp3xJkgbG9nb3dhbmlhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NworbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgICBiZXogd3lwaXN5d2FuaWEgem5ha3Ugbm93ZWogbGluaWkgcHJ6ZWQgaXNzdWVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcGNqZT4gIG9wY2plIHByemVrYXp5d2FuZSBkbyBwcm9ncmFtdSBsb2dpblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICAgIG9jemVraXdhbmllIG5hIGRvd29sbnkga2xhd2lzeiBwcnplZCBsb2dvd2FuaWVtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1jaHJvb3QgPGthdGFsb2c+ICAgICAgIHptaWFuYSBrYXRhbG9ndSBnxYLDs3duZWdvIG5hIHBvZGFueVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICAgIHdpcnR1YWxuZSByb3rFgsSFY3plbmllIG5hIHRlcm1pbmFsdVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTIKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICAgIHphY2hvd2FuaWUgc3p5YmtvxZtjaSB3IGJvZGFjaCBwbyBzeWduYWxlIGJyZWFrXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MworbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPGxpY3piYT4gICAgICAgbGltaXQgY3phc3UgcHJvY2VzdSBsb2dpblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgICB3eWtyeXdhbmllIHRlcm1pbmFsYSB6IHNhbXltaSB3aWVsa2ltaSBsaXRlcmFtaVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgICAgb2N6ZWtpd2FuaWUgbmEgem5hayBwb3dyb3R1IGthcmV0a2kgKENSKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICAgIGJleiB3eXBpc3l3YW5pYSBwb2Rwb3dpZWR6aVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgICAgYmV6IHd5xZt3aWV0bGFuaWEgbmF6d3kgaG9zdGFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU4Cittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgICAgd3nFm3dpZXRsZW5pZSBwZcWCbmVqIG5hend5IGhvc3RhICh6IGRvbWVuxIUpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0tZXJhc2UtY2hhcnMgPMWCYcWEY3VjaD4gIGRvZGF0a293ZSB6bmFraSBrYXN1asSFY2UgKGJhY2tzcGFjZSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA8xYJhxYRjdWNoPiAgIGRvZGF0a293ZSB6bmFraSBrYXN1asSFY2UgbGluacSZIChraWxsKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgIC0tY2hkaXIgPGthdGFsb2c+ICAgICAgICB6bWlhbmEga2F0YWxvZ3UgcHJ6ZWQgbG9nb3dhbmllbVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjIKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8bGljemJhPiAgICAgICAgIG9jemVraXdhbmllICh3IHNla3VuZGFjaCkgcHJ6ZWQgemFjaMSZdMSFXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAgICAgLS1uaWNlIDxsaWN6YmE+ICAgICAgICAgIHVydWNob21pZW5pZSBwcm9ncmFtdSBsb2dpbiB6IHBvZGFueW0gcHJpb3J5dGV0ZW1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgICBwcnplxYJhZG93YW5pZSB6YWNoxJl0IHcgZHppYcWCYWrEhWN5Y2ggaW5zdGFuY2phY2hcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY1Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIHd5xZt3aWV0bGVuaWUgb2JzxYJ1Z2l3YW55Y2ggbGljemIgYm9kw7N3XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQgdcW8eXRrb3duaWsiCittc2dzdHJbMV0gIiVkIHXFvHl0a293bmljeSIKK21zZ3N0clsyXSAiJWQgdcW8eXRrb3duaWvDs3ciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hlY2tuYW1lIG5pZSBwb3dpb2TFgm8gc2nEmTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAibmllIG1vxbxuYSBkb3RrbsSFxIcgcGxpa3UgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBuaWUgamVzdCBvYnPFgnVnaXdhbmUgdyB0eW0gc3lzdGVtaWUiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbeSB8IG5dXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiU3Rlcm93YW5pZSBwcmF3ZW0gemFwaXN1IGlubnljaCB1xbx5dGtvd25pa8OzdyBuYSB0ZXJtaW5hbC5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6ODIKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgIG9waXN5d2FuaWUgd3lrb255d2FueWNoIGN6eW5ub8WbY2lcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInR0eW5hbWUgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICJqZXN0IHfFgsSFY3pvbmUgKHkpIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICJqZXN0IHd5xYLEhWN6b25lIChuKSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgInptaWFuYSB1cHJhd25pZcWEICVzIG5pZSBwb3dpb2TFgmEgc2nEmSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiemFwaXMgbmEgdGVybWluYWwgdcW8eXRrb3duaWthIGplc3QgZG96d29sb255IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgInphcGlzIG5hIHRlcm1pbmFsIHXFvHl0a293bmlrYSBqZXN0IG5pZWRvendvbG9ueSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJixYLEmWRueSBhcmd1bWVudDogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiAlcyBbb3BjamVdIFtwbGlrXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiVXR3b3J6ZW5pZSBza3J5cHR1IHogc2VzamkgdGVybWluYWxvd2VqLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBkb8WCxIVjemVuaWUgd3lqxZtjaWFcbiIKKyIgLWMsIC0tY29tbWFuZCA8cG9sZWNlbmllPiAgICAgcG9sZWNlbmllIHphbWlhc3QgcG93xYJva2kgaW50ZXJha3R5d25lalxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICB6d3LDs2NlbmllIGtvZHUgd3lqxZtjaWEgcHJvY2VzdSBwb3RvbW5lZ29cbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgd3l3b8WCYW5pZSBmbHVzaCBwbyBrYcW8ZHltIHphcGlzaWVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdcW8eWNpZSBwbGlrdSB3eWouIG5hd2V0IGdkeSBqZXN0IGRvd2nEhXphbmllbVxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICB0cnliIGNpY2h5XG4iCisiIC10WzxwbGlrPl0sIC0tdGltaW5nWz08cGxpaz5dIHd5cGlzYW5pZSBkYW55Y2ggbyBjemFzaWUgbmEgc3RkZXJyIGx1YiBkbyBwbGlrdVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisicGxpayB3eWrFm2Npb3d5IGAlcycgamVzdCBkb3dpxIV6YW5pZW0uXG4iCisiUHJvc3rEmSB1xbx5xIcgb3BjamkgLS1mb3JjZSwgamXFvGVsaSBuYXByYXdkxJkgbWEgYnkgdcW8eXR5LlxuIgorIlNrcnlwdCBuaWUgdXJ1Y2hvbWlvbnkuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTa3J5cHQgd3lrb25hbnksIHBsaWsgdG8gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIm5pZSBtb8W8bmEgemFwaXNhxIcgcGxpa3Ugc2tyeXB0dSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc2phIHByemVyd2FuYS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAiU2tyeXB0IHVydWNob21pb255ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiU2tyeXB0IHd5a29uYW55ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiYnJhayB3b2xueWNoIHB0eSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyeXB0IHVydWNob21pb255LCBwbGlrIHRvICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiVzIFstdF0gcGxpa19jemFzw7N3IFtza3J5cHRdIFtkemllbG5pa11cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJPZHR3b3J6ZW5pZSBza3J5cHR1IHNlc2ppIHRlcm1pbmFsb3dlaiB6IHXFvHljaWVtIGluZm9ybWFjamkgbyBjemFzaWUuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxwbGlrPiAgICAgcGxpayB3eWrFm2Npb3d5IGN6YXPDs3cgc2tyeXB0dVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxwbGlrPiBwbGlrIHd5asWbY2lvd3kgc2VzamkgdGVybWluYWxhIHNrcnlwdHVcbiIKKyIgLWQsIC0tZGl2aXNvciA8aWxlPiAgICAgcHJ6eXNwaWVzemVuaWUgbHViIHp3b2xuaWVuaWUgd3lrb255d2FuaWEgdHlsZSByYXp5XG4iCisiIC1tLCAtLW1heGRlbGF5IDxpbGU+ICAgIG9jemVraXdhbmllIG5hand5xbxlaiB0eWx1IHNla3VuZCBtacSZZHp5IHptaWFuYW1pXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEzCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAiemFwaXMgbmEgc3RhbmRhcmRvd2Ugd3lqxZtjaWUgbmllIHBvd2nDs2TFgiBzacSZIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICJuaWVvY3pla2l3YW55IGtvbmllYyBwbGlrdSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgb2Rjenl0YcSHIHBsaWt1IHNrcnlwdHUgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg1Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiYsWCxJlkbmEgbGljemJhIGFyZ3VtZW50w7N3IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIG9kY3p5dGHEhyBwbGlrdSBjemFzw7N3ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICJwbGlrIGN6YXPDs3cgJXM6IGxpbmlhICVsdTogbmllc3BvZHppZXdhbnkgZm9ybWF0IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJixYLEhWQgYXJndW1lbnR1OiBqYXNub8WbxIcgJXMgbmllIGplc3Qgb2JzxYJ1Z2l3YW5hIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJ6Ynl0IGR1xbxvIHRhYnVsYWNqaSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIlVzdGF3aWVuaWUgYXRyeWJ1dMOzdyB0ZXJtaW5hbGEuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NQorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLS10ZXJtICAgICAgICAgIDxuYXp3YV90ZXJtaW5hbGE+IG5hZHBpc2FuaWUgem1pZW5uZWogxZtyb2Rvd2lza293ZWogVEVSTVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWxhIGRvIHN0YW51IHBvIHfFgsSFY3plbml1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworbXNnaWQgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgcm93cyBhbmQgY29sdW1uc1xuIgorbXNnc3RyICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHdpZXJzenkgaSBrb2x1bW4gdGVybWluYWxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiIKKyIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIHd5xZt3aWV0bGVuaWUgxYJhxYRjdWNoYSBpbmljanVqxIVjZWdvLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1xbx5Y2llIHVzdGF3aWXFhCBkb215xZtsbnljaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdcW8eWNpZSBkb215xZtsbnljaCB1c3Rhd2llxYQgdGVybWluYWxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MAorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICB6YXBpc2FuaWUgb2JlY255Y2ggdXN0YXdpZcWEIGpha28gZG9tecWbbG55Y2hcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmYgICAgICAgICAgIHd5xZt3aWV0bGFuaWUga3Vyc29yYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHBvd3RhcnphbmllIGtsYXdpc3p5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgdHJ5YiBhcGxpa2Fjamkga2xhd2lzenkga3Vyc29yYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGtvbnR5bnVhY2phIHcgbm93ZWogbGluaWkgcG8gemFwZcWCbmllbml1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICB6YW1pYW5hIGtvbG9yw7N3IGRsYSBjYcWCZWdvIGVrcmFudVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8a29sb3I+ICAgdXN0YXdpZW5pZSBrb2xvcnUgdGVrc3R1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxrb2xvcj4gICB1c3Rhd2llbmllIGtvbG9ydSB0xYJhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxrb2xvcj4gIHVzdGF3aWVuaWUga29sb3J1IHRla3N0dSBwb2RrcmXFm2xvbmVnb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8a29sb3I+ICB1c3Rhd2llbmllIGtvbG9ydSB0ZWtzdHUgcG9ncnViaW9uZWdvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPGtvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHBvZ3J1YmllbmllXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgcHJ6eXTFgnVtaWVuaWVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIG1pZ290YW5pZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHBvZGtyZcWbbGVuaWVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgemFtaWFuYSBrb2xvcsOzdyB0ZWtzdHUgaSB0xYJhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgd3ljenlzemN6ZW5pZSBla3JhbnUgaSB1c3Rhd2llbmllIGt1cnNvcmFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIC0tdGFicyAgICAgICAgICBbPG51bWJlcj4uLi5dICAgICBzZXQgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBzaG93IHRoZW1cbiIKK21zZ3N0ciAiIC0tdGFicyAgICAgICAgICBbPGxpY3piYT4uLi5dICAgICB1c3Rhd2llbmllIGx1YiB3eXBpc2FuaWUgcG96eWNqaSB0YWJ1bGFjamlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIgLS1jbHJ0YWJzICAgICAgIFs8bGljemJhPi4uLl0gICAgIHNrYXNvd2FuaWUgcG9kYW55Y2ggbHViIHdzenlzdGtpY2ggdGFidWxhY2ppXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHVzdGF3aWVuaWUgcsOzd255Y2ggb2RzdMSZcMOzdyB0YWJ1bGFjamlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gY3phcyBuaWVha3R5d25vxZtjaSBwcnplZCB3eWdhc3plbmllbSBla3JhbnVcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tZHVtcCAgICAgICAgICBbPG51bWVyPl0gICAgICAgICB6YXBpcyB6cnp1dCBrb25zb2xpIHZjc2E8bnVtZXI+IGRvIHBsaWt1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs8bnVtZXI+XSAgICAgICAgIGRvcGlzYW5pZSB6cnp1dHUga29uc29saSB2Y3NhPG51bWVyPiBkbyBwbGlrdVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxuYXp3YV9wbGlrdT4gICAgIG5hendhIHBsaWt1IHpyenV0dVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICB3eXN5xYJhbmllIGtvbXVuaWthdMOzdyBqxIVkcmEgbmEga29uc29sxJlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBwb3ppb20gbG9nb3dhbmlhIGrEhWRyYSBuYSBrb25zb2zEmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXN0YXdpZW5pZSBvcGNqaSBvc3pjesSZZHphbmlhIGVuZXJnaWkgVkVTQVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgbGljemJhIG1pbnV0IGRvIHd5xYLEhWN6ZW5pYSBtb25pdG9yYSBWRVNBXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgY3phcyB0cndhbmlhIGR6d29ua2EgdyBtaWxpc2VrdW5kYWNoXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIC0tYmZyZXEgICAgICAgICA8bGljemJhPiAgICAgICAgICBjesSZc3RvdGxpd2/Fm8SHIGR6d29ua2EgdyBoZXJjYWNoXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICJwb3d0w7Nyem9uZSB1xbx5Y2llIG9wY2ppIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDAKK21zZ2lkICJjYW5ub3QgZm9yY2UgYmxhbmsiCittc2dzdHIgIm5pZSBtb8W8bmEgd3ltdXNpxIcgd3lnYXN6ZW5pYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgIm5pZSBtb8W8bmEgd3ltdXNpxIcgYnJha3Ugd3lnYXN6ZW5pYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzUxCittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIm5pZSBtb8W8bmEgb2Rjenl0YcSHIHN0YW51IHd5Z2FzemVuaWEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAibmllIG1vxbxuYSBvdHdvcnp5xIcgcGxpa3UgenJ6dXR1ICVzIGRvIHphcGlzdSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRlcm1pbmFsICVzIG5pZSBvYnPFgnVndWplICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4NTcKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QgbmllIHBvd2lvZMWCbyBzacSZIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKK21zZ2lkICJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIgorbXNnc3RyICJzdGFuZGFyZG93ZSB3ZWrFm2NpZSBuaWUgb2Rub3NpIHNpxJkgZG8gdGVybWluYWxhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjdXJzb3IgcG9zaXRpb246ICVzIgorbXNnc3RyICJixYLEmWRuYSBwb3p5Y2phIGt1cnNvcmE6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MzMKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInJlc2V0IG5pZSBwb3dpw7NkxYIgc2nEmSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJuaWUgbW/FvG5hIHfFgsSFY3p5xIcvd3nFgsSFY3p5xIcgdHJ5YnUgb3N6Y3rEmWR6YW5pYSBlbmVyZ2lpIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJixYLEhWQga2xvZ2N0bCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE0NgorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiTmllIHpkZWZpbmlvd2FubyAkVEVSTS4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTMKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIGJhenkgZGFueWNoIHRlcm1pbmZvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiBuaWV6bmFueSB0eXAgc3lnbmHFgnUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAidGVybWluYWwgbyB0cndhxYJ5bSB6YXBpc2llIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAiYsWCxIVkIHdld27EmXRyem55OiB6YSBkdcW8byBpb3YiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiemJ5dCBkxYJ1Z2kgYXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICJvdHdhcmNpZSBuaWUgcG93aW9kxYJvIHNpxJkiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgIm5pZSBtb8W8bmEgd3lrb25hxIcgZm9yayIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiVzOiBaxYFZIELFgcSERCwga29tdW5pa2F0IGplc3QgbyB3aWVsZSB6YSBkxYJ1Z2kiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzxwbGlrPiB8IDxrb211bmlrYXQ+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4OQorbXNnaWQgIldyaXRlIGEgbWVzc2FnZSB0byBhbGwgdXNlcnMuXG4iCittc2dzdHIgIk5hcGlzYW5pZSBrb211bmlrYXR1IGRvIHdzenlzdGtpY2ggdcW8eXRrb3duaWvDs3cuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3J1cGE+ICAgICB3eXPFgmFuaWUga29tdW5pa2F0dSB0eWxrbyBkbyBncnVweVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MworbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBiZXogd3lwaXN5d2FuaWEgbmFnxYLDs3drYSwgdHlsa28gZGxhIHJvb3RhXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bGltaXQ+ICAgbGltaXQgY3phc3UgemFwaXN1IHcgc2VrdW5kYWNoXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBncnVweSIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGdpZCIKK21zZ3N0ciAiJXM6IG5pZXpuYW55IGdpZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgImdldGdyb3VwbGlzdCB6bmFsYXrFgm8gd2nEmWNlaiBncnVwIG5pxbwgcG96d2FsYSBzeXNjb25mIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyIGplc3QgZG9zdMSZcG5lIHR5bGtvIGRsYSByb290YSIKKworIzogdGVybS11dGlscy93YWxsLmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgImLFgsSZZG5hIHdhcnRvxZvEhyBsaW1pdHUgY3phc3U6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNTcKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIm5pZSBtb8W8bmEgcG9icmHEhyBpZGVudHlmaWthdG9yYSB1xbx5dGtvd25pa2EgeiBwYXNzd2QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIm5pZSBtb8W8bmEgcG9icmHEhyBuYXp3eSB0ZXJtaW5hbGEiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIlpiaW9yb3d5IGtvbXVuaWthdCBvZCB1xbx5dGtvd25pa2EgJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICJvZG1vd2EgY3p5dGFuaWEgJXMgLSB1xbx5dGUgYsSZZHppZSBzdGFuZGFyZG93ZSB3ZWrFm2NpZS4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29wY2plXSA8dcW8eXRrb3duaWs+IFs8bmF6d2EgdGVybWluYWxhPl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICJXeXPFgmFuaWUga29tdW5pa2F0dSBkbyBpbm5lZ28gdcW8eXRrb3duaWthLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgImVmZWt0eXdueSBnaWQgbmllIHBhc3VqZSBkbyBncnVweSAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyBuaWUgamVzdCB6YWxvZ293YW55IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgIm5pZSB6bmFsZXppb25vIG5hend5IHR0eSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiVzIG1hIHd5xYLEhWN6b25lIGtvbXVuaWthdHkiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyBqZXN0IHphbG9nb3dhbnkgd2nEmWNlaiBuacW8IHJhejsgbmFwaXNhbm8gbmEgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhcmVmdWxwdXRjIG5pZSBwb3dpb2TFgm8gc2nEmSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJLb211bmlrYXQgb2QgJXNAJXMgKGpha28gJXMpIG5hICVzIG8gJTAyZDolMDJkLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJLb211bmlrYXQgb2QgJXNAJXMgbmEgJXMgbyAlMDJkOiUwMmQuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgInByYXdvIHphcGlzdSB1xbx5dGtvd25pa2EgamVzdCB3ecWCxIVjem9uZSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyBuaWUgamVzdCB6YWxvZ293YW55IG5hICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAiJXMgbWEgd3nFgsSFY3pvbmUga29tdW5pa2F0eSBuYSAlcyIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzUKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiT2RmaWx0cm93YW5pZSBjb2ZhbmlhIHdpZXJzenkuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisiXG4iCisiT3BjamU6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgYmV6IHd5cGlzeXdhbmlhIHpuYWvDs3cgY29mbmnEmWNpYSAoYmFja3NwYWNlKVxuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHplendvbGVuaWUgbmEgcHJ6ZXN1bmnEmWNpYSBvIHDDs8WCIGxpbmlpIGRvIHByem9kdVxuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHByemVrYXp5d2FuaWUgbmllem5hbnljaCBzZWt3ZW5jamkgc3RlcnVqxIVjeWNoXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgemFtaWFuYSBzcGFjamkgbmEgdGFidWxhY2plXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgemFtaWFuYSB0YWJ1bGFjamkgbmEgc3BhY2plXG4iCisiIC1sLCAtLWxpbmVzIExJQ1pCQSAgICAgYnVmb3Jvd2FuaWUgY28gbmFqbW5pZWogcG9kYW5laiBsaWN6YnkgbGluaWlcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKyIlcyBjenl0YSB6ZSBzdGFuZGFyZG93ZWdvIHdlasWbY2lhIGkgemFwaXN1amUgbmEgc3RhbmRhcmRvd2Ugd3lqxZtjaWVcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTUKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImLFgsSZZG55IGFyZ3VtZW50IC1sIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAidXdhZ2E6IG5pZSBtb8W8bmEgY29mbsSFxIcgJXMuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAicG8gcGllcndzemVqIGxpbmlpIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItIGxpbmlhIGp1xbwgemFwaXNhbmEiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODIgdGV4dC11dGlscy9jb2x1bW4uYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbPHBsaWs+Li4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIkZpbHRyb3dhbmllIHd5asWbY2lhIG5yb2ZmIGRvIHBvZGdsxIVkdSBuYSBtb25pdG9yemUuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBwb21pbmnEmWNpZSBwb2RrcmXFm2xhbmlhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHd5cGlzYW5pZSB3c3p5c3RraWNoIGxpbmlpIHBvxYLDs3drb3d5Y2hcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisiU2vFgmFkbmlhOlxuIgorIiAlcyBba29sdW1uYV9wb2N6xIV0a293YSBba29sdW1uYV9rb8WEY293YV1dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICJPZGZpbHRyb3dhbmllIHBvZGFueWNoIGtvbHVtbi5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJwaWVyd3N6eSBhcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiZHJ1Z2kgYXJndW1lbnQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBrb2x1bW55IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgY29sdW1uIG5hbWUgJyVzJyIKK21zZ3N0ciAibmllIHpkZWZpbmlvd2FuYSBuYXp3YSBrb2x1bW55ICclcyciCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBsaXN0eSAtLXRhYmxlLW9yZGVyIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjM5NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGlzdHkgLS10YWJsZS1yaWdodCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIGxpc3R5IC0tdGFibGUtdHJ1bmMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtbm9leHRyZW1lIGxpc3QiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGlzdHkgLS10YWJsZS1ub2V4dHJlbWUiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtd3JhcCBsaXN0IgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIGxpc3R5IC0tdGFibGUtd3JhcCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgIm5pZSB1ZGHFgm8gc2nEmSBwcnplYW5hbGl6b3dhxIcgbGlzdHkgLS10YWJsZS1oaWRlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgImxpbmlhICV6dTogZGxhIGZvcm1hdHUgSlNPTiB3eW1hZ2FuYSBqZXN0IG5hendhIGtvbHVtbnkgJXp1IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByenlkemllbGnEhyBkYW55Y2ggd3lqxZtjaW93eWNoIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNworbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiV3lwaXN5d2FuaWUgbGlzdCB3IGtvbHVtbmFjaC5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIHV0d29yemVuaWUgdGFiZWxpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAgLW4sIC0tdGFibGUtbmFtZSA8bmF6d2E+ICAgICAgICBuYXp3YSB0YWJlbGkgZG8gd3lqxZtjaWEgSlNPTlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MgorbXNnaWQgIiAtTywgLS10YWJsZS1vcmRlciA8Y29sdW1ucz4gICAgICBzcGVjaWZ5IG9yZGVyIG9mIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS10YWJsZS1vcmRlciA8a29sdW1ueT4gICAgICBva3JlxZtsZW5pZSBrb2xlam5vxZtjaSBrb2x1bW4gd3lqxZtjaW93eWNoXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiAtTiwgLS10YWJsZS1jb2x1bW5zIDxuYXp3eT4gICAgICBuYXp3eSBrb2x1bW4gb2RkZHppZWxvbmUgcHJ6ZWNpbmthbWlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGtvbHVtbnk+ICBiZXogbGljemVuaWEgZMWCdWdpY2ggdGVrc3TDs3cgeiBrb2x1bW4gZG8gaWNoIHN6ZXJva2/Fm2NpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgYmV6IHd5cGlzeXdhbmlhIG5hZ8WCw7N3a2FcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDYKK21zZ2lkICIgLWUsIC0tdGFibGUtaGVhZGVyLXJlcGVhdCAgICAgICAgcmVwZWF0IGhlYWRlciBmb3IgZWFjaCBwYWdlXG4iCittc2dzdHIgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICBwb3d0w7NyemVuaWUgbmFnxYLDs3drYSBuYSBrYcW8ZGVqIHN0cm9uaWVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1ILCAtLXRhYmxlLWhpZGUgPGtvbHVtbnk+ICAgICAgIGJleiB3eXBpc3l3YW5pYSBrb2x1bW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDgKK21zZ2lkICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVtbnM+ICAgICAgcmlnaHQgYWxpZ24gdGV4dCBpbiB0aGVzZSBjb2x1bW5zXG4iCittc2dzdHIgIiAtUiwgLS10YWJsZS1yaWdodCA8a29sdW1ueT4gICAgICB3eXLDs3duYW5pZSB0ZWtzdHUgdyB0eWNoIGtvbHVtbmFjaCBkbyBwcmF3ZWpcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGtvbHVtbnk+ICAgdWNpxJljaWUgdGVrc3R1IHcga29sdW1uYWNoIGplxZtsaSB0cnplYmFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtVywgLS10YWJsZS13cmFwIDxrb2x1bW55PiAgICAgICB6YXdpbmnEmWNpZSB0ZWtzdHUgdyBrb2x1bW5hY2ggamXFm2xpIHRyemViYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdcW8eWNpZSBKU09OIGpha28gZm9ybWF0dSB3eWrFm2NpYSB0YWJlbGlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIC1yLCAtLXRyZWUgPGtvbHVtbnk+ICAgICAgICAgICAgIGtvbHVtbnkgZG8gdcW8eWNpYSB3eWrFm2NpYSBkcnpld2lhc3RlZ28gZGxhIHRhYmVsaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS10cmVlLWlkIDxrb2x1bW5hPiAgICAgICAgICBJRCB3aWVyc3phIGRvIG9rcmXFm2xlbmlhIHJlbGFjamkgZHppZWNrby1yb2R6aWNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtcCwgLS10cmVlLXBhcmVudCA8a29sdW1uYT4gICAgICByb2R6aWMgZG8gb2tyZcWbbGVuaWEgcmVsYWNqaSBkemllY2tvLXJvZHppY1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorbXNnaWQgIiAtYywgLS1vdXRwdXQtd2lkdGggPHdpZHRoPiAgICAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1jLCAtLW91dHB1dC13aWR0aCA8c3plcm9rb8WbxIc+ICAgc3plcm9rb8WbxIcgd3lqxZtjaWEgdyB6bmFrYWNoXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPMWCYcWEY3VjaD4gc2VwYXJhdG9yIGtvbHVtbiB3IHRhYmVsaSB3eWrFm2Npb3dlaiAoZG9tecWbbG5pZSBkd2llIHNwYWNqZSlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjEKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+ICAgICAgICAgcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIgLXMsIC0tc2VwYXJhdG9yIDzFgmHFhGN1Y2g+ICAgICAgICBtb8W8bGl3ZSB6bmFraSByb3pkemllbGFqxIVjZSBkbGEgdGFiZWxpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgd3lwZcWCbmlhbmllIHdpZXJzenkgcHJ6ZWQga29sdW1uYW1pXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJixYLEmWRuYSBzemVyb2tvxZvEhyBrb2x1bW4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAibmllIHVkYcWCbyBzacSZIHByemVhbmFsaXpvd2HEhyBuYXp3IGtvbHVtbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTEKK21zZ2lkICJvcHRpb25zIC0tdHJlZS1pZCBhbmQgLS10cmVlLXBhcmVudCBhcmUgcmVxdWlyZWQgZm9yIHRyZWUgZm9ybWF0dGluZyIKK21zZ3N0ciAib3BjamUgLS10cmVlLWlkIG9yYXogLS10cmVlLXBhcmVudCBzxIUgd3ltYWdhbmUgZG8gZm9ybWF0b3dhbmlhIGRyemV3aWFzdGVnbyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAib3BjamEgLS10YWJsZSBqZXN0IHd5bWFnYW5hIGRsYSB3c3p5c3RraWNoIC0tdGFibGUtKiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIm9wY2phIC0tdGFibGUtY29sdW1ucyBqZXN0IHd5bWFnYW5hIGRsYSAtLWpzb24iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gPHBsaWs+Li4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OQorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJXecWbd2lldGxlbmllIHphd2FydG/Fm2NpIHBsaWt1IHN6ZXNuYXN0a293bywgZHppZXNpxJl0bmllLCDDs3NlbWtvd28gbHViIHcgQVNDSUkuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgd3nFm3dpZXRsYW5pZSDDs3NlbWtvd2UgamVkbm9iYWp0b3dlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIHd5xZt3aWV0bGFuaWUgem5ha293ZSBqZWRub2JhanRvd2VcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIHd5xZt3aWV0bGFuaWUga2Fub25pY3puZSBoZXgrQVNDSUlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHd5xZt3aWV0bGFuaWUgZHppZXNpxJl0bmUgZHd1YmFqdG93ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHd5xZt3aWV0bGFuaWUgw7NzZW1rb3dlIGR3dWJhanRvd2VcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB3ecWbd2lldGxhbmllIHN6ZXNuYXN0a293ZSBkd3ViYWp0b3dlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08dHJ5Yj5dICAgICAgaW50ZXJwcmV0b3dhbmllIGtvbG9yb3d5Y2ggc2Vrd2VuY2ppIGZvcm1hdHVqxIVjeWNoXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIMWCYcWEY3VjaCBmb3JtYXR1asSFY3kgZG8gd3nFm3dpZXRsYW5pYSBkYW55Y2hcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiAtZiwgLS1mb3JtYXQtZmlsZSA8cGxpaz4gIHBsaWsgemF3aWVyYWrEhWN5IMWCYcWEY3VjaHkgZm9ybWF0dWrEhWNlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDxsaWN6YmE+ICAgICBpbnRlcnByZXRhY2phIHR5bGtvIHBvZGFuZWogbGljemJ5IGJhanTDs3cgd2VqxZtjaWFcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCittc2dzdHIgIiAtcywgLS1za2lwIDxsaWN6YmE+ICAgICAgIHBvbWluacSZY2llIHBvZGFuZWogbGljemJ5IGJhanTDs3cgeiBwb2N6xIV0a3VcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICB3eXBpc3l3YW5pZSBpZGVudHljem55Y2ggbGluaWlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJ3c3p5c3RraWUgcGxpa2kgcHJ6ZWthemFuZSBqYWtvIGFyZ3VtZW50eSB6YXdpb2TFgnkiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAiYsWCxJlkbmEgbGljemJhIGJhanTDs3cgZGxhIHpuYWt1IGtvbndlcnNqaSAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIHd5bWFnYSBwb2RhbmlhIHByZWN5emppIGx1YiBsaWN6YnkgYmFqdMOzdyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJixYLEmWRueSBmb3JtYXQgeyVzfSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgImLFgsSZZG55IHpuYWsga29ud2Vyc2ppICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImxpY3piYSBiYWp0w7N3IHogd2llbG9tYSB6bmFrYW1pIGtvbndlcnNqaSIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICJPZGN6eXQgamVkbmVqIGxpbmlpLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJGaWx0ciBkbyBkb2vFgmFkbmVnbyBwcnplZ2zEhWRhbmlhIHBsaWvDs3cgbmEgbW9uaXRvcnplLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAtZCAgICAgICAgICB3ecWbd2lldGxlbmllIHBvbW9jeSB6YW1pYXN0IGR6d29ua2FcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICBsaWN6ZW5pZSBsaW5paSBsb2dpY3pueWNoIHphbWlhc3QgbGluaWkgZWtyYW51XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgIHBvbWluacSZY2llIG9jemVraXdhbmlhIHByemVkIHByemV3aW5pxJljaWVtIHN0cm9ueVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgIGJleiBwcnpld2lqYW5pYSwgd3nFm3dpZXRsYW5pZSB0ZWtzdHUgaSBjenlzemN6ZW5pZSBrb8WEY8OzdyBsaW5paVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgIGJleiBwcnpld2lqYW5pYSwgY3p5c3pjemVuaWUgZWtyYW51IGkgd3nFm3dpZXRsYW5pZSB0ZWtzdHVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQzCittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgIMWbY2lza2FuaWUgd2llbHUgcHVzdHljaCBsaW5paSB3IGplZG7EhVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgIHBvbWluacSZY2llIHBvZGtyZcWbbGFuaWFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTxsaWN6YmE+ICAgbGljemJhIGxpbmlpIG5hIHBlxYJueSBla3JhblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDYKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiArPGxpY3piYT4gICB3ecWbd2lldGxlbmllIHBvY3rEhXRrdSBwbGlrdSBvZCBwb2RhbmVnbyBudW1lcnUgbGluaWlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ3Cittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiArLzzFgmHFhGN1Y2g+IHd5xZt3aWV0bGVuaWUgcG9jesSFdGt1IHBsaWt1IG9kIGRvcGFzb3dhbmlhIHBvZGFuZWdvIMWCYcWEY3VjaGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAibmllem5hbmEgb3BjamEgLSVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBrYXRhbG9nICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiBOaWUgamVzdCBwbGlraWVtIHRla3N0b3d5bSAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIltLbGF3aXN6IHEgbHViIFEga2/FhGN6eV0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1XacSZY2VqLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIihOYXN0xJlwbnkgcGxpazogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJbU3BhY2phIGtvbnR5bnV1amUsICdxJyBrb8WEY3p5Ll0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi53c3RlY3ogbyAlZCBzdHJvbsSZIgorbXNnc3RyWzFdICIuLi53c3RlY3ogbyAlZCBzdHJvbnkiCittc2dzdHJbMl0gIi4uLndzdGVjeiBvICVkIHN0cm9uIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5wb21pamFuaWUgJWQgbGluaWkiCittc2dzdHJbMV0gIi4uLnBvbWlqYW5pZSAlZCBsaW5paSIKK21zZ3N0clsyXSAiLi4ucG9taWphbmllICVkIGxpbmlpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKldzdGVjeioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjg0Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJCcmFrIHBvcHJ6ZWRuaWVnbyB3eXJhxbxlbmlhIHJlZ3VsYXJuZWdvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzE0Cittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIldpxJlrc3pvxZvEhyBwb2xlY2XFhCBvcGNqb25hbG5pZSBtb8W8ZSBiecSHIHBvcHJ6ZWR6b25hIGxpY3pixIUgY2HFgmtvd2l0xIUgayAoZG9tecWbbG5hXG4iCisidyBuYXdpYXNhY2gpLlxuIgorIkd3aWF6ZGthICgqKSBvem5hY3phIGFyZ3VtZW50LCBrdMOzcnkgc3RhamUgc2nEmSBub3fEhSB3YXJ0b8WbY2nEhSBkb215xZtsbsSFLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHNwYWNqYT4gICAgICAgICAgICAgICBXecWbd2lldGxlbmllIG5hc3TEmXBueWNoIGsgbGluaWkgdGVrc3R1IFtyb3ptaWFyIGVrcmFudV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgIFd5xZt3aWV0bGVuaWUgbmFzdMSZcG55Y2ggayBsaW5paSB0ZWtzdHUgW3Jvem1pYXIgZWtyYW51XSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgIFd5xZt3aWV0bGVuaWUgbmFzdMSZcG55Y2ggayBsaW5paSB0ZWtzdHUgWzFdKlxuIgorImQgbHViIEN0cmwtRCAgICAgICAgICAgUHJ6ZXdpbmnEmWNpZSBrIGxpbmlpIFtyb3ptaWFyIHByemV3aWphbmlhLCBwb2N6LiAxMV0qXG4iCisicSwgUSBsdWIgPHByemVyd2FuaWU+ICBaYWtvxYRjemVuaWUgbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgUHJ6ZXdpbmnEmWNpZSBvIGsgbGluaWkgdGVrc3R1IHcgcHJ6w7NkIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgUHJ6ZXdpbmnEmWNpZSBvIGsgZWtyYW7Ds3cgdGVrc3R1IHcgcHJ6w7NkIFsxXVxuIgorImIgbHViIEN0cmwtQiAgICAgICAgICAgUHJ6ZXdpbmnEmWNpZSBvIGsgZWtyYW7Ds3cgdGVrc3R1IHcgdHnFgiBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgIFByemVqxZtjaWUgZG8gbWllanNjYSByb3pwb2N6xJljaWEgcG9wcnouIHd5c3p1a2l3YW5pYVxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgV3nFm3dpZXRsZW5pZSBiaWXFvMSFY2VnbyBudW1lcnUgbGluaWlcbiIKKyIvPHd5cmHFvGVuaWUgcmVndWxhcm5lPiBTenVrYW5pZSBrLiB3eXN0xIVwaWVuaWEgd3lyYcW8ZW5pYSByZWd1bGFybmVnbyBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgIFN6dWthbmllIGsuIHd5c3TEhXBpZW5pYSBvc3RhdG5pZWdvIHd5ci4gcmVndWxhcm5lZ28gWzFdXG4iCisiITxwb2xlYz4gbHViIDohPHBvbGVjPiBXeWtvbmFuaWUgPHBvbGVjZW5pYT4gdyBwb2Rwb3fFgm9jZVxuIgorInYgICAgICAgICAgICAgICAgICAgICAgVXJ1Y2hvbWllbmllIC91c3IvYmluL3ZpIG5hIGJpZcW8xIVjZWogbGluaWlcbiIKKyJDdHJsLUwgICAgICAgICAgICAgICAgIE9kcnlzb3dhbmllIGVrcmFudVxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgUHJ6ZWrFm2NpZSBkbyBrLiBuYXN0xJlwbmVnbyBwbGlrdSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgIFByemVqxZtjaWUgZG8gay4gcG9wcnplZG5pZWdvIHBsaWt1IFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgV3nFm3dpZXRsZW5pZSBiaWXFvMSFY2VqIG5hend5IHBsaWt1IGkgbnVtZXJ1IGxpbmlpXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICBQb3d0w7NyemVuaWUgcG9wcnplZG5pZWdvIHBvbGVjZW5pYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIltLbGF3aXN6ICdoJyB3ecWbd2lldGxhIG9waXMuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiIGxpbmlhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbTmllIHBsaWtdIGxpbmlhICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIFByemVwZcWCbmllbmllXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5wb21pamFuaWVcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiTmllIHpuYWxlemlvbm8gd3pvcmNhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAiTmllIHpuYWxlemlvbm8gd3pvcmNhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAiZXhlYyBuaWUgcG93aW9kxYJvIHNpxJlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAibmllIG1vxbxuYSB3eWtvbmHEhyBmb3JrXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uUHJ6ZXdpamFuaWUgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA0Cittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIi4uLlByemVqxZtjaWUgZG8gcGxpa3UgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4uUHJ6ZWrFm2NpZSB3c3RlY3ogZG8gcGxpa3UgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiTGluaWEgemJ5dCBkxYJ1Z2EiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMzIKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJCcmFrIHBvcHJ6ZWRuaWVnbyBwb2xlY2VuaWEgZG8gcG9kc3Rhd2llbmlhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRlbiBla3JhblxuIgorIiAgcSBsdWIgUSAgICAgICAgICAgICAgICAgemFrb8WEY3plbmllIHByb2dyYW11XG4iCisiICA8bm93YSBsaW5pYT4gICAgICAgICAgICBuYXN0xJlwbmEgc3Ryb25hXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBwcnpld2luacSZY2llIHN0cm9ueSB3IHByesOzZFxuIgorIiAgZCBsdWIgXkQgICAgICAgICAgICAgICAgbmFzdMSZcG5lIHDDs8WCIHN0cm9ueVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmFzdMSZcG5hIGxpbmlhXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBvc3RhdG5pYSBzdHJvbmFcbiIKKyIgIC93eXJfcmVnLyAgICAgICAgICAgICAgIHN6dWthbmllIHd5cmHFvGVuaWEgcmVndWxhcm5lZ28gdyBwcnrDs2RcbiIKKyIgID93eXJfcmVnPyBsdWIgXnd5cl9yZWdeIHN6dWthbmllIHd5cmHFvGVuaWEgcmVndWxhcm5lZ28gdyB0ecWCXG4iCisiICAuIGx1YiBeTCAgICAgICAgICAgICAgICBwcnplcnlzb3dhbmllIGVrcmFudVxuIgorIiAgdyBsdWIgeiAgICAgICAgICAgICAgICAgdXN0YXdpZW5pZSByb3ptaWFydSBzdHJvbnkgaSBwcnplasWbY2llIG5hIG5hc3TEmXBuxIVcbiIKKyIgIHMgbmF6d2FfcGxpa3UgICAgICAgICAgIHphcGlzYW5pZSBiaWXFvMSFY2VnbyBwbGlrdSBwb2QgcG9kYW7EhSBuYXp3xIVcbiIKKyIgICFwb2xlY2VuaWUgICAgICAgICAgICAgIHd5d2/FgmFuaWUgcG9sZWNlbmlhIHcgcG93xYJvY2VcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIHByemVqxZtjaWUgZG8gcG9wcnplZG5pZWdvIHBsaWt1XG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBwcnplasWbY2llIGRvIG5hc3TEmXBuZWdvIHBsaWt1XG4iCisiXG4iCisiV2llbGUgcG9sZWNlxYQgcHJ6eWptdWplIGxpY3pieSBwb3ByemVkemFqxIVjZSwgbnAuOlxuIgorIisxPG5vd2EgbGluaWE+IChuYXN0xJlwbmEgc3Ryb25hKTsgLTE8bm93YSBsaW5pYT4gKHBvcHJ6ZWRuaWEgc3Ryb25hKTtcbiIKKyIxPG5vd2EgbGluaWE+IChwaWVyd3N6YSBzdHJvbmEpLlxuIgorIlxuIgorIldpxJljZWogaW5mb3JtYWNqaSBtb8W8bmEgem5hbGXFusSHIHcgcGcoMSkuXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW29wY2plXSBbK2xpbmlhXSBbKy93em9yemVjL10gW3BsaWtpXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiUHJ6ZWdsxIVkYW5pZSBwbGlrw7N3IHRla3N0b3d5Y2ggcG8gc3Ryb25pZS5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1saWN6YmEgICAgICBsaW5paSBuYSBzdHJvbsSZXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIgLWMgICAgICAgICAgIHd5Y3p5c3pjemVuaWUgZWtyYW51IHByemVkIHd5xZt3aWV0bGVuaWVtXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAgYmV6IG9jemVraXdhbmlhIG5hIGtvxYRjdSBwbGlrdVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIGJleiBkemllbGVuaWEgZMWCdWdpY2ggbGluaWlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIHByemVyd2FuaWUgcG9sZWNlbmlhIG5hIG5vd2VqIGxpbmlpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiAtcCA8Y2nEhWc+ICAgIG9rcmXFm2xlbmllIHpuYWvDs3cgemFjaMSZdHlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAgemFibG9rb3dhbmllIHd5asWbY2lhIGRvIHBvd8WCb2tpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIHd5cGlzYW5pZSBrb211bmlrYXTDs3cgbmEgc3RhbmRhcmRvd2Ugd3lqxZtjaWVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICtsaWN6YmEgICAgICByb3pwb2N6xJljaWUgb2QgcG9kYW5laiBsaW5paVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiICsvd3pvcnplYy8gICByb3pwb2N6xJljaWUgb2QgbGluaWkgemF3aWVyYWrEhWNlaiB3em9yemVjXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICJvcGNqYSBtdXNpIG1pZcSHIGFyZ3VtZW50IC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjY0CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICJuaWVkb3p3b2xvbmEgb3BjamEgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLnByemV3aWphbmllIHcgcHJ6w7NkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjkKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi5wcnpld2lqYW5pZSB3IHR5xYJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiQnJhayBuYXN0xJlwbmVnbyBwbGlrdSIKKworIzogdGV4dC11dGlscy9wZy5jOjM4OQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIkJyYWsgcG9wcnplZG5pZWdvIHBsaWt1IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICJCxYLEhWQgb2Rjenl0dSB6IHBsaWt1ICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIk5pZW9jemVraXdhbnkgRU9GIHcgcGxpa3UgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJOaWV6bmFueSBixYLEhWQgdyBwbGlrdSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0OQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIk5pZSBtb8W8bmEgdXR3b3J6ecSHIHBsaWt1IHR5bWN6YXNvd2VnbyIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkLFgsSFZCB3eXJhxbxlbmlhIHJlZ3VsYXJuZWdvOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTA1Cittc2dpZCAiKEVPRikiCittc2dzdHIgIihFT0YpIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEzMCB0ZXh0LXV0aWxzL3BnLmM6MTE1NgorbXNnaWQgIk5vIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyIKK21zZ3N0ciAiQnJhayB6YXBhbWnEmXRhbmVnbyBzenVrYW5lZ28gxYJhxYRjdWNoYSIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMTEKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgIm5pZSBtb8W8bmEgb3R3b3J6ecSHICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAiemFwaXNhbm8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzUzCittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICFwb2xlY2VuaWUgbmllIGplc3QgZG96d29sb25lIHcgdHJ5YmllIHogb3BjasSFIC1yLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4NworbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJmb3JrKCkgbmllIHBvd2nDs2TFgiBzacSZLCBwcm9zesSZIHNwcsOzYm93YcSHIHDDs8W6bmllalxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKE5hc3TEmXBueSBwbGlrOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIFdzemVsa2llIHByYXdhIHphc3RyemXFvG9uZS5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICJuaWUgdWRhxYJvIHNpxJkgcHJ6ZWFuYWxpem93YcSHIGxpY3pieSBsaW5paSBuYSBzdHJvbmllIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJTa8WCYWRuaWE6ICVzIFtvcGNqZV0gW3BsaWsgLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgxCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICJPZHdyYWNhbmllIGxpbmlpIHpuYWsgcG8gem5ha3UuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcGNqZV0gWzxwbGlrPiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiUG9ka3JlxZtsYW5pZS5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OAorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIHd5bXVzemVuaWUgem1pZW5uZWogxZtyb2Rvd2lza293ZWogVEVSTVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgcG9ka3JlxZtsYW5pZSBvem5hY3pvbmUgZG9kYXRrb3fEhSBsaW5pxIVcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAicHJvYmxlbSB6IG9kY3p5dGVtIHRlcm1pbmZvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAidGVybWluYWwgYCVzJyBqZXN0IG5pZXpuYW55LCB1xbx5Y2llIGRvbXnFm2xuZWdvIGBkdW1iJyIKKworIzogdGV4dC11dGlscy91bC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJuaWV6bmFuYSBzZWt3ZW5jamEgc3BlY2phbG5hIG5hIHdlasWbY2l1OiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiTGluaWEgd2VqxZtjaW93YSB6Ynl0IGTFgnVnYS4iCmRpZmYgLS1naXQgYS9wby9wdF9CUi5wbyBiL3BvL3B0X0JSLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhYjFjMTUKLS0tIC9kZXYvbnVsbAorKysgYi9wby9wdF9CUi5wbwpAQCAtMCwwICsxLDI1NTEzIEBACisjIEJyYXppbGlhbiBQb3J0dWd1ZXNlIHRyYW5zbGF0aW9uIGZvciB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgKEMpIDIwMTggRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENvcHlyaWdodCAoQykgMjAxOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgUGVybWlzc2lvbiBpcyBncmFudGVkIHRvIGZyZWVseSBjb3B5IGFuZCBkaXN0cmlidXRlCisjIHRoaXMgZmlsZSBhbmQgbW9kaWZpZWQgdmVyc2lvbnMsIHByb3ZpZGVkIHRoYXQgdGhpcworIyBoZWFkZXIgaXMgbm90IHJlbW92ZWQgYW5kIG1vZGlmaWVkIHZlcnNpb25zIGFyZSBtYXJrZWQKKyMgYXMgc3VjaC4KKyMgQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQGNvbmVjdGl2YS5jb20uYnI+LCAxOTk5LTIwMDAKKyMgUmljYXJkbyBTdGVmYW5pIDxyaWNhcmRvc0BmcmFuY2FuZXQuY29tLmJyPiwgMTk5OQorIyBNYXJjdXMgTW9yZWlyYSA8bWFyY3VzbXNAZnJiLmJyPgorIyBQYXVsbyBIZW5yaXF1ZSBSIFBpbmhlaXJvIDxudWxvQHN1bC5jb20uYnI+CisjIEFsdmFybyBBbnR1bmVzIDxhbHZhcm9AbmV0cGFyLmNvbS5icj4sIDIwMDAKKyMgUm9kcmlnbyBTdHVsemVyIExvcGVzIDxyb2RyaWdvQGNvbmVjdGl2YS5jb20uYnI+LCAyMDAwLTIwMDEKKyMgUmFmYWVsIEZvbnRlbmVsbGUgPHJhZmFlbGZmQGdub21lLm9yZz4sIDIwMTMtMjAxNCwgMjAxNi0yMDE4LgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjMyLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE4LTAzLTAyIDA4OjA0LTAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFJhZmFlbCBGb250ZW5lbGxlIDxyYWZhZWxmZkBnbm9tZS5vcmc+XG4iCisiTGFuZ3VhZ2UtVGVhbTogQnJhemlsaWFuIFBvcnR1Z3Vlc2UgPGxkcGJyLXRyYW5zbGF0aW9uQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD5cbiIKKyJMYW5ndWFnZTogcHRfQlJcbiIKKyJNSU1FLVZlcnNpb246IDEuMFxuIgorIkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPTI7IHBsdXJhbD0obiA+IDEpO1xuIgorIlgtR2VuZXJhdG9yOiBWaXJ0YWFsIDEuMC4wLWJldGExXG4iCisiWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8ZGlzcG9zaXRpdm8+IDxudW0uIHBhcnRpw6fDo28+IDxpbsOtY2lvPiA8Y29tcHJpbWVudG8+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJBdmlzYSBvIGtlcm5lbCBzb2JyZSBhIGV4aXN0w6puY2lhIGRlIHVtYSBwYXJ0acOnw6NvIGVzcGVjaWZpY2FkYS5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXJndW1lbnRvcyBpbnN1ZmljaWVudGVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIG7Dum1lcm8gZGUgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIGluw61jaW8iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIGNvbXByaW1lbnRvIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJmYWxoYSBhbyBhZGljaW9uYXIgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAiY29uZmlndXJhIHNvbWVudGUgbGVpdHVyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgImNvbmZpZ3VyYSBsZWl0dXJhIGUgZ3JhdmHDp8OjbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAib2J0w6ltIHNvbWVudGUgbGVpdHVyYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJvYnTDqW0gZXN0YWRvIGRlIHN1cG9ydGUgYSBkZXNjYXJ0ZSBkZSB6ZXJvcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAib2J0w6ltIHRhbWFuaG8gZGUgYmxvY28gbMOzZ2ljbyAoc2V0b3IpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAib2J0w6ltIHRhbWFuaG8gZGUgYmxvY28gZsOtc2ljbyAoc2V0b3IpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIm9idMOpbSB0YW1hbmhvIGRlIEUvUyBtw61uaW1vIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIm9idMOpbSB0YW1hbmhvIGRlIEUvUyDDs3RpbW8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAib2J0w6ltIHBvc2nDp8OjbyBkZSBhbGluaGFtZW50byBlbSBieXRlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAib2J0w6ltIG3DoXhpbW8gZGUgc2V0b3JlcyBwb3IgcmVxdWlzacOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAib2J0w6ltIHRhbWFuaG8gZGUgYmxvY28iCisKKyMgZGVzY3Jpw6fDo28gZGUgb3DDp8OjbzsgYWxpbmhhZG8gYSA4MCBjYXJhY3RlcmVzIHBvciBsaW5oYQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorImRlZmluZSB0YW1hbmhvIGRvIGJsb2NvIG5vIGRlc2NyaXRvciBkZSBhcnF1aXZvXG4iCisiXHRcdFx0ICAgICBhYnJpbmRvIG8gZGlzcG9zaXRpdm8gZGUgYmxvY28iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICIiCisib2J0w6ltIGNvbnRhZ2VtIGRlIHNldG9yIGRlIDMyIGJpdHNcbiIKKyJcdFx0XHQgICAgIChvYnNvbGV0bywgdXNlIC0tZ2V0c3opIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgIm9idMOpbSB0YW1hbmhvIGVtIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiY29uZmlndXJhIHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgIm9idMOpbSByZWFkYWhlYWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImNvbmZpZ3VyYSByZWFkYWhlYWQgZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAib2J0w6ltIHJlYWRhaGVhZCBkZSBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAiZGVzY2FycmVnYSBidWZmZXJzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibMOqIG5vdmFtZW50ZSB0YWJlbGEgZGUgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstdnwtcV0gY29tYW5kb3MgZGlzcG9zaXRpdm9zXG4iCisiICUxJHMgLS1yZXBvcnQgW2Rpc3Bvc2l0aXZvc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIkNoYW1hZGEgZGUgaW9jdGxzIGRlIGRpc3Bvc2l0aXZvIHBlbGEgbGluaGEgZGUgY29tYW5kby4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC1xICAgICAgICAgICAgIG1vZG8gc2lsZW5jaW9zbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAtdiAgICAgICAgICAgICBtb2RvIGRldGFsaGFkbyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIgICAgIC0tcmVwb3J0ICAgZW1pdGUgcmVsYXTDs3JpbyBwYXJhIGRpc3Bvc2l0aXZvcyBlc3BlY2lmaWNhZG9zIChvdSB0b2RvcykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICJDb21hbmRvcyBkaXNwb27DrXZlaXM6IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiAlLTI1cyBvYnTDqW0gdGFtYW5obyBlbSBzZXRvcmVzIGRlIDUxMiBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorbXNnaWQgIm5vIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSBkaXNwb3NpdGl2byBlc3BlY2lmaWNhZG8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzAKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgbyB0YW1hbmhvIGRvIGRpc2NvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIkNvbWFuZG8gZGVzY29uaGVjaWRvOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgZXhpZ2UgdW0gYXJndW1lbnRvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgImVycm8gZGUgaW9jdGwgZW0gJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBmYWxob3UuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBvYnRldmUgc3VjZXNzby5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGluaWNpYWxpemFyIG1hbmlwdWxhZG9yIGRlIHN5c2ZzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGxlciBvIGluw61jaW8gZGEgcGFydGnDp8OjbyBkZSBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFNlY0luaWMuICAgICAgICAgICAgVGFtLiAgIERpc3BvLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICJJbmljaWFsaS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJBbHRlcm5hIGEgb3DDp8OjbyBkZSBpbmljaWFsaXphw6fDo28gZGEgcGFydGnDp8OjbyBhdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIkV4Y2x1aXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiRXhjbHVpIGEgcGFydGnDp8OjbyBhdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZXNpemUiCittc2dzdHIgIlJlZGltZW5zaW9uYXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJSZWR1eiBvdSBhdW1lbnRhIGEgcGFydGnDp8OjbyBhdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIk5vdmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJDcmlhIG5vdmEgcGFydGnDp8OjbyBhIHBhcnRpciBkbyBlc3Bhw6dvIGxpdnJlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIlNhaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJTYWkgZG8gcHJvZ3JhbWEgc2VtIGdyYXZhciBhcyBhbHRlcmHDp8O1ZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzggbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMxIGxpYmZkaXNrL3NyYy9ncHQuYzozMTMyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNgorbXNnaWQgIlR5cGUiCittc2dzdHIgIlRpcG8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiQWx0ZXJhIG8gdGlwbyBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIkFqdWRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICJNb3N0cmEgdGVsYSBkZSBhanVkYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJTb3J0IgorbXNnc3RyICJPcmRlbmFyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJDb3JyaWdlIG9yZGVtIGRhcyBwYXJ0acOnw7VlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiR3JhdmFyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIkdyYXZhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIG5vIGRpc2NvIChpc3RvIHBvZGVyw6EgZGVzdHJ1aXIgZGFkb3MpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAiCittc2dzdHIgIkRlc3BlamFyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICJEZXNwZWphIHRhYmVsYSBkZSBwYXJ0acOnw6NvIHBhcmEgdW0gYXJxdWl2byBkZSBzY3JpcHQgY29tcGF0w612ZWwgY29tIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgImVycm8gaW50ZXJubzogc2VtIHN1cG9ydGUgYW8gdGlwbyBkZSBkacOhbG9nbyAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKG1vbnRhZG8pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTcKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIk5vbWUgZGEgcGFydGnDp8OjbzoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMwNAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiVVVJRCBkYSBwYXJ0acOnw6NvOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICJUaXBvIGRhIHBhcnRpw6fDo286IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiQXRyaWJ1dG9zOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQ3Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiVVVJRCBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIkxBQkVMIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3M6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjAKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiU2lzdGVtYSBkZSBhcnF1aXZvczoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJQb250byBkZSBtb250YWdlbToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiVW5pZGFkZTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiVGFtYW5obzogJXMsICVqdSBieXRlcywgJWp1IHNldG9yZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMworIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMsIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJSw7N0dWxvOiAlcywgaWRlbnRpZmljYWRvcjogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIlLDs3R1bG86ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIlBvZGUgc2VyIHNlZ3VpZG8gcG9yIE0gcGFyYSBNQiwgRyBwYXJhIEdCLCBUIHBhcmEgVEIgb3UgUyBwYXJhIHNldG9yZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NzIKK21zZ2lkICJQbGVhc2UsIHNwZWNpZnkgc2l6ZS4iCittc2dzdHIgIlBvciBmYXZvciwgZXNwZWNpZmlxdWUgdW0gdGFtYW5oby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiVGFtYW5obyBtw61uaW1vIMOpICVqdSBieXRlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiVGFtYW5obyBtw6F4aW1vIMOpICVqdSBieXRlcy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiRmFsaGEgYW8gYW5hbGlzYXIgbyB0YW1hbmhvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJTZWxlY2lvbmUgdW0gdGlwbyBkZSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICJEaWdpdGUgbyBub21lIGRvIGFycXVpdm8gZGUgc2NyaXB0OiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk8gYXJxdWl2byBzY3JpcHQgc2Vyw6EgYXBsaWNhZG8gbmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZW0gbWVtw7NyaWEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJGYWxoYSBhbyBhbmFsaXNhciBvIGFycXVpdm8gZGUgc2NyaXB0ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIkZhbGhhIGFvIGFwbGljYXIgbyBzY3JpcHQgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICJBIHRhYmVsYSBkZSBwYXJ0acOnw6NvIGF0dWFsbWVudGUgZW0gbWVtw7NyaWEgc2Vyw6EgZGVzcGVqYWRhIG5vIGFycXVpdm8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTEyCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJGYWxoYSBhbyBhbG9jYXIgbWFuaXB1bGFkb3IgZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIkZhbGhhIGFvIGxlciBvIGxheW91dCBkbyBkaXNjbyBwYXJhIG8gc2NyaXB0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDc3Cittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIkxheW91dCBkbyBkaXNjbyBkZXNwZWphZG8gY29tIHN1Y2Vzc28uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIkZhbGhhIGFvIGVzY3JldmVyIG8gc2NyaXB0ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiU2VsZWNpb25lIHVtIHRpcG8gZGUgcsOzdHVsbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJBIHVuaWRhZGUgbsOjbyBjb250w6ltIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBjb25oZWNpZGEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMjcKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIlNlbGVjaW9uZSB1bSB0aXBvIHBhcmEgY3JpYXIgdW0gbm92byByw7N0dWxvIG91IHByZXNzaW9uZSBcIkxcIiBwYXJhIGNhcnJlZ2FyIHVtIGFycXVpdm8gZGUgc2NyaXB0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJFc3RlIMOpIG8gY2ZkaXNrLCB1bSBwcm9ncmFtYSBkZSBwYXJ0aWNpb25hbWVudG8gZGUgZGlzY28gYmFzZWFkbyBubyBcImN1cnNlc1wiLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc3Cittc2dpZCAiSXQgbGV0cyB5b3UgY3JlYXRlLCBkZWxldGUsIGFuZCBtb2RpZnkgcGFydGl0aW9ucyBvbiBhIGJsb2NrIGRldmljZS4iCittc2dzdHIgIkVsZSBwZXJtaXRlIHF1ZSB2b2PDqiBjcmllLCBleGNsdWEgZSBtb2RpZmlxdWUgcGFydGnDp8O1ZXMgZW0gdW0gZGlzcG9zaXRpdm8gZGUgYmxvY28uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiQ29tYW5kbyAgICAgIFNpZ25pZmljYWRvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBBbHRlcm5hIGEgb3DDp8OjbyBkZSBpbmljaWFsaXphw6fDo28gZGEgcGFydGnDp8OjbyBhdHVhbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBFeGNsdWkgYSBwYXJ0acOnw6NvIGF0dWFsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBNb3N0cmEgZXN0YSB0ZWxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgQ3JpYSB1bWEgbm92YSBwYXJ0acOnw6NvIGEgcGFydGlyIGRvIGVzcGHDp28gbGl2cmUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIFNhaSBkbyBwcm9ncmFtYSBzZW0gZ3JhdmFyIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIENvcnJpZ2UgYSBvcmRlbSBkYXMgcGFydGnDp8O1ZXMgKGFwZW5hcyBxdWFuZG8gZW0gZGVzYXJyYW5qbykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgQWx0ZXJhIG8gdGlwbyBkZSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIERlc3BlamEgbGF5b3V0IGRlIGRpc2NvIHBhcmEgc2NyaXB0IGNvbXBhdMOtdmVsIGNvbSBzZmRpc2siCisKKyMgTWVuc2FnZW0gdHJ1bmNhZGEuIFZlamEgQUJBSVhPCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICBHcmF2YSB0YWJlbGEgZGUgcGFydGnDp8OjbyBubyBkaXNjbyAoZGV2ZSBzZXIgVyBtYWnDunNjdWxvKSIKKworIyBNZW5zYWdlbSB0cnVuY2FkYS4gVmVqYSBBQ0lNQSBlIEFCQUlYTworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgICAgY29tbyBlc3RhIG9ww6fDo28gcG9kZSBkZXN0cnVpciBkYWRvcyBubyBkaXNjbywgdm9jw6ogZGV2ZSIKKworIyBNZW5zYWdlbSB0cnVuY2FkYS4gVmVqYSBBQ0lNQQorIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgICBjb25maXJtYXIgb3UgY2FuY2VsYXIgYSBncmF2YcOnw6NvIGluZGljYW5kbyBcInNpbVwiIG91IFwibsOjb1wiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIHggICAgICAgICAgRXhpYmUvb2N1bHRhIGluZm9ybWHDp8O1ZXMgZXh0cmFzIHNvYnJlIHVtYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTMKK21zZ2lkICJVcCBBcnJvdyAgICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIHBhcnRpdGlvbiIKK21zZ3N0ciAiU2V0YSBwLyBjaW1hIE1vdmUgbyBjdXJzb3IgcGFyYSBhIHBhcnRpw6fDo28gYW50ZXJpb3IiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKyJTZXRhIHAvIGJhaXhvXG4iCisiICAgICAgICAgICAgIE1vdmUgbyBjdXJzb3IgcGFyYSBhIHByw7N4aW1hIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICIiCisiU2V0YSBwLyBlc3F1ZXJkYVxuIgorIiAgICAgICAgICAgICBNb3ZlIG8gY3Vyc29yIHBhcmEgbyBpdGVtIGRlIG1lbnUgYW50ZXJpb3IiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIiIKKyJTZXRhIHAvIGRpcmVpdGFcbiIKKyIgICAgICAgICAgICAgTW92ZSBvIGN1cnNvciBwYXJhIG8gcHLDs3hpbW8gaXRlbSBkZSBtZW51IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJOb3RhOiBUb2RvcyBvcyBjb21hbmRvcyBwb2RlbSBzZXIgZGlnaXRhZG9zIGVtIGxldHJhcyBtYWnDunNjdWxhcyBvdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgIm1pbsO6c2N1bGFzIChleGNldG8gcGFyYSBXKS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICJVc2UgbHNibGsoOCkgb3UgcGFydHgoOCkgcGFyYSB2ZXIgbWFpcyBkZXRhbGhlcyBzb2JyZSBvIGRpc3Bvc2l0aXZvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiUHJlc3Npb25lIHVtYSB0ZWNsYSBwYXJhIGNvbnRpbnVhci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYXRpdmFyL2Rlc2F0aXZhciBhIG9ww6fDo28uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGV4Y2x1aXIgYSBwYXJ0acOnw6NvICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwOSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV6dSBmb2kgZXhjbHXDrWRhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiVGFtYW5obyBkYSBwYXJ0acOnw6NvOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkFsdGVyYWRvIG8gdGlwbyBkYSBwYXJ0acOnw6NvICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIk8gdGlwbyBkYSBwYXJ0acOnw6NvICV6dSBmb2kgYWx0ZXJhZG8uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTQKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICJOb3ZvIHRhbWFuaG86ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIlBhcnRpw6fDo28gJXp1IHJlZGltZW5zaW9uYWRhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIGVzdMOhIGFiZXJ0byBubyBtb2RvIHNvbWVudGUgbGVpdHVyYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiVm9jw6ogdGVtIGNlcnRlemEgZGUgcXVlIGRlc2VqYSBncmF2YXIgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBubyBkaXNjbz8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJEaWdpdGUgXCJzaW1cIiBvdSBcIm7Do29cIiBvdSBwcmVzc2lvbmUgRVNDIHBhcmEgc2FpciBkbyBkacOhbG9nby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzOSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgInllcyIKK21zZ3N0ciAic2ltIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiQSB0YWJlbGEgZGUgcGFydGnDp8OjbyBOw4NPIGZvaSBncmF2YWRhIG5vIGRpc2NvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIkZhbGhhIGFvIGdyYXZhciByw7N0dWxvIGRvIGRpc2NvLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIkEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZm9pIGFsdGVyYWRhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiTm90ZSBxdWUgYXMgZW50cmFkYXMgZGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gbsOjbyBlc3TDoSBuYSBvcmRlbSBkbyBkaXNjbyBhZ29yYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIk8gZGlzcG9zaXRpdm8gasOhIGNvbnTDqW0gdW1hIGFzc2luYXR1cmEgJXM7IGVsYSBzZXLDoSByZW1vdmlkYSBwb3IgdW0gY29tYW5kbyBkZSBlc2NyaXRhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgImZhbGhhIGFvIGVzY3JldmVyIHVtIG5vdm8gcsOzdHVsbyBkbyBkaXNjbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyIHBhcnRpw6fDtWVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJTEkcyBbb3DDp8O1ZXNdIDx1bmlkYWRlPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiRXhpYmUgb3UgbWFuaXB1bGEgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBkZSB1bWEgdW5pZGFkZS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08cXVhbmRvPl0gICBjb2xvcmUgYSBzYcOtZGEgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM4Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8gICAgICAgICAgICAgIGluaWNpYSBjb20gdW1hIHRhYmVsYSBkZSBwYXJ0acOnw6NvIHplcmFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2NzYgZGlzay11dGlscy9mZGlzay5jOjk1MCBkaXNrLXV0aWxzL3NmZGlzay5jOjIxMjAKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDI5IHN5cy11dGlscy9kbWVzZy5jOjE0MTAgdGV4dC11dGlscy9oZXhkdW1wLmM6MTE0Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAic2VtIHN1cG9ydGUgYSBtb2RvIGRlIGNvcmVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgY29udGV4dG8gZGUgbGliZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICIgJXMgPGRpc3Bvc2l0aXZvPiA8bnVtLiBwYXJ0acOnw6NvPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJBdmlzYSBvIGtlcm5lbCBwYXJhIGVzcXVlY2VyIHNvYnJlIHVtYSBwYXJ0acOnw6NvIGVzcGVjw61maWNhLlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICJmYWxoYSBhbyByZW1vdmVyIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIkZvcm1hdGFuZG8gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICJjb25jbHXDrWRvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiVmVyaWZpY2FuZG8gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiTGVyOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIlByb2JsZW1hIGFvIGxlciB0cmlsaGEvY2FiZcOnYSAldS8ldTogZXNwZXJhZG8gJWQsIGxpZG8gJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorImRhZG9zIGludsOhbGlkb3MgbmEgdHJpbGhhL2NhYmXDp2EgJXUvJXVcbiIKKyJDb250aW51YW5kbyAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPGRpc3Bvc2l0aXZvPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ5Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICJFeGVjdXRhIHVtYSBmb3JtYXRhw6fDo28gZGUgYmFpeG8gbsOtdmVsIGVtIHVtIGRpc3F1ZXRlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICBpbmljaWEgYSB0cmlsaGEgTiAocGFkcsOjbyAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIHBhcmEgbmEgdHJpbGhhIE5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NAorbXNnaWQgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdHJ5IHRvIHJlcGFpciB0cmFja3MgZmFpbGVkIGR1cmluZ1xuIgorIiAgICAgICAgICAgICAgICAgICAgIHRoZSB2ZXJpZmljYXRpb24gKG1heCBOIHJldHJpZXMpXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVwYWlyIDxOPiAgdGVudGEgY29ycmlnaXIgdHJpbGhhcyBmYWxoYWRhcyBkdXJhbnRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgYSB2ZXJpZmljYcOnw6NvIChtw6F4IE4gdGVudGF0aXZhcylcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NgorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGVzYWJpbGl0YSBhIHZlcmlmaWNhw6fDo28gYXDDs3MgYSBmb3JtYXRhw6fDo29cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIC0gZnJvbSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyAtIHRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyAtIHJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTQ4CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzcKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc5NworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODIxIGRpc2stdXRpbHMvbWtzd2FwLmM6MjQzIGRpc2stdXRpbHMvcGFydHguYzo5NTEKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODggbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzcgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NSBzeXMtdXRpbHMvYmxrem9uZS5jOjk5CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5NyBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjAKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo3OSBzeXMtdXRpbHMvbnNlbnRlci5jOjE2NCBzeXMtdXRpbHMvbnNlbnRlci5jOjE2OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUyMyBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5NAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTM3IHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIm9idGVuw6fDo28gZGUgZXN0YWRvIGRlICVzIGZhbGhvdSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBvIHRpcG8gZGUgZm9ybWF0YcOnw6NvIGF0dWFsIgorCisjIE5vdGE6IHByaW1laXJvICIlcyIgw6kgcmVmZXJlbnRlIMOgcyBtZW5zYWdlbnMgRG91YmxlIGUgU2luZ2xlCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzIGZhY2UsICVkIHRyaWxoYXMsICVkIHNldG9yZXMvdHJpbGhhLiBDYXBhY2lkYWRlIHRvdGFsIGRlICVkIEtCLlxuIgorCisjICJEdXBsYSBmYWNlIgorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRHVwbGEiCisKKyMgIlVtYSBmYWNlIgorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIlNpbmdsZSIKK21zZ3N0ciAiVW1hIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJ0cmlsaGEgaW5pY2lhbCBkZWZpbmlkYSBwZWxvIHVzdcOhcmlvIGV4Y2VkZSBtw6F4aW1vIGVzcGVjw61maWNvIGRhIG3DrWRpYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgInRyaWxoYSBmaW5hbCBkZWZpbmlkYSBwZWxvIHVzdcOhcmlvIGV4Y2VkZSBtw6F4aW1vIGVzcGVjw61maWNvIGRhIG3DrWRpYSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICJ0cmlsaGEgaW5pY2lhbCBkZWZpbmlkYSBwZWxvIHVzdcOhcmlvIGV4Y2VkZSBhIHRyaWxoYSBmaW5hbCBkZWZpbmlkYSBwZWxvIG1lc21vIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUzIG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiY2xvc2UgZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiU2VsZWNpb25lIChwYWRyw6NvICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJVc2FuZG8gcmVzcG9zdGEgcGFkcsOjbyAlYy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjIgZGlzay11dGlscy9mZGlzay5jOjI5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzcxCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI0MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlZhbG9yIGZvcmEgZG8gaW50ZXJ2YWxvLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywgcGFkcsOjbyAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgcGFkcsOjbyAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsIHBhZHLDo28gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBwYWRyw6NvICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2OSBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbU11pbS9bTl3Do286ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIkPDs2RpZ28gaGV4YWRlY2ltYWwgKGRpZ2l0ZSBMIHBhcmEgbGlzdGFyIHRvZG9zIG9zIGPDs2RpZ29zKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiVGlwbyBkZSBwYXJ0acOnw6NvIChkaWdpdGUgTCBwYXJhIGxpc3RhciB0b2RvcyBvcyB0aXBvcyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkEgb3DDp8OjbyBkZSBjb21wYXRpYmlsaWRhZGUgRE9TIGVzdMOhIGF0aXZhZGEgKE9CU09MRVRBISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgIkEgb3DDp8OjbyBkZSBjb21wYXRpYmlsaWRhZGUgRE9TIG7Do28gZXN0w6EgYXRpdmFkYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV6dSBhaW5kYSBuw6NvIGV4aXN0ZSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIkRlc2NvbmhlY2lkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIk8gdGlwbyBkYSBwYXJ0acOnw6NvIFwiJXNcIiBmb2kgYWx0ZXJhZG8gcGFyYSBcIiVzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiTyB0aXBvIGRhIHBhcnRpw6fDo28gJXp1IGVzdMOhIGluYWx0ZXJhZG86ICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisiXG4iCisiJXM6IHBvc2nDp8OjbyA9ICU8UFJJdTY0PiwgdGFtYW5oYSA9ICV6dSBieXRlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJ1c2NhciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyOAorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxIGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOTgKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgIlByaW1laXJvIHNldG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJpb2N0bCBkZSBCTEtHRVRTSVpFIGZhbGhvdSBlbSAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkEgYXNzaW5hdHVyYSBhbnRpZ2EgJXMgc2Vyw6EgcmVtb3ZpZGEgcG9yIHVtIGNvbWFuZG8gZGUgZXNjcml0YS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiQSBhc3NpbmF0dXJhIGFudGlnYSAlcyBwb2RlIHNlciBtYW50aWRhIG5vIGRpc3Bvc2l0aXZvLiDDiSByZWNvbWVuZGFkbyBhcGFnYXIgbyBkaXNwb3NpdGl2byBjb20gd2lwZWZzKDgpIG91IGZkaXNrIC0td2lwZSwgcGFyYSBldml0YXIgcG9zc8OtdmVpcyBjb2xpc8O1ZXMuIgorCisjIEFsaW5oYW1lbnRvIHJlYWp1c3RhZG8gw6BzIGRlbWFpcyBvcMOnw7VlcyBhYmFpeG87IHZpZGUgZmRpc2sgLS1oZWxwIAorIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcMOnw7Vlc10gPGRpc2NvPiAgICAgICAgYWx0ZXJhIGEgdGFiZWxhIGRlIHBhcnRpw6fDo29cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIC1sIFs8ZGlzY28+XSAgIGxpc3RhIHRhYmVsYShzKSBkZSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDx0YW1hbmhvPiAgIHRhbWFuaG8gZGUgc2V0b3IgbMOzZ2ljbyBlIGbDrXNpY29cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKyIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgbsOjbyBhcGFnYSBiaXRzIGRlIGluaWNpYWxpemHDp8OjbyBhbyBjcmlhclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVtIG5vdm8gcsOzdHVsb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kbz5dICBtb2RvIMOpIFwiZG9zXCIgb3UgXCJub25kb3NcIiAocGFkcsOjbylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08cXVhbmRvPl0gICAgICAgIGNvbG9yaXphIGEgc2HDrWRhIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBleGliZSBhcyBwYXJ0acOnw7VlcyBlIHNhaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICAgICAgICBtb3N0cmEgY29sdW5hc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIiCisiIC10LCAtLXR5cGUgPHRpcG8+ICAgICAgICAgICAgIHJlY29uaGVjZSBvIHRpcG8gZGUgdGFiZWxhIGRlIHBhcnRpw6fDo29cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3BlY2lmaWNhZGEgYXBlbmFzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC11LCAtLXVuaXRzWz08dW5pZGFkZT5dICAgICAgIGV4aWJlIHVuaWRhZGVzOiBcImN5bGluZGVyc1wiIG91IFwic2VjdG9yc1wiXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhZHLDo28pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjEKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIiCisiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGV4aWJlIG8gdGFtYW5obyBkbyBkaXNwb3NpdGl2byBlbSBzZXRvcmVzIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTEyIGJ5dGVzIFtPQlNPTEVUT11cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgZXhpYmUgU0laRSBlbSBieXRlcywgbsOjbyBlbSB1bSBmb3JtYXRvIGxlZ8OtdmVsXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjMKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDxtb2RvPiAgICAgICAgICAgICBhcGFnYSBhc3NpbmF0dXJhcyAoYXV0bywgYWx3YXlzIG91IG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC13LCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kbz4gIGFwYWdhIGFzc2luYXR1cmFzIGRlIG5vdmFzIHBhcnRpw6fDtWVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNworbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgPG7Dum1lcm8+ICAgICAgZXNwZWNpZmljYSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA8bsO6bWVybz4gICAgICAgICAgZXNwZWNpZmljYSBvIG7Dum1lcm8gZGUgY2FiZcOnYXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPG7Dum1lcm8+ICAgICAgICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkZSBzZXRvcmVzIHBvciB0cmlsaGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTAwIGRpc2stdXRpbHMvcGFydHguYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRhbWFuaG8gZGUgc2V0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBjaWxpbmRyb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiZHJpdmVyIGRlIHLDs3R1bG8gZGUgRE9TIG7Do28gZW5jb250cmFkbyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJtb2RvIGRlIGNhcGFjaWRhZGUgZGVzY29uaGVjaWRhIFwiJXNcIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgY2FiZcOnYXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgc2V0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJyw7N0dWxvIGRlIGRpc2NvIHNlbSBzdXBvcnRlOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQiCittc2dzdHIgInNlbSBzdXBvcnRlIMOgIHVuaWRhZGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9mZGlzay5jOjk4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4OQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAic2VtIHN1cG9ydGUgYSBtb2RvIGRlIGFwYWdhciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDIKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiQXMgcHJvcHJpZWRhZGVzIGRlIGRpc3Bvc2l0aXZvICh0YW1hbmhvIGUgZ2VvbWV0cmlhIGRvIHNldG9yKSBkZXZlbSBzZXIgdXNhZGFzIGNvbSBhcGVuYXMgdW0gZGlzcG9zaXRpdm8gZXNwZWNpZmljYWRvLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMzMgZGlzay11dGlscy9mZGlzay5jOjEwNDggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY5NQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg3CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTY3IGRpc2stdXRpbHMvcmF3LmM6MTM3IGRpc2stdXRpbHMvcmF3LmM6MTUwCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2MiBkaXNrLXV0aWxzL3Jhdy5jOjIwMyBtaXNjLXV0aWxzL2NhbC5jOjUyMAorIzogbWlzYy11dGlscy9maW5kZnMuYzo1OCBtaXNjLXV0aWxzL2xvb2suYzoxNTAgbWlzYy11dGlscy93aGVyZWlzLmM6NTczCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo1ODQgbWlzYy11dGlscy93aGVyZWlzLmM6NTk1IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYzNworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTA0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYyIHNjaGVkdXRpbHMvdGFza3NldC5jOjE4OQorIzogc3lzLXV0aWxzL2NoY3B1LmM6MzQ0IHN5cy11dGlscy9jaG1lbS5jOjQxOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDY5CisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzIxIHN5cy11dGlscy9sb3NldHVwLmM6ODg4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDI1IHN5cy11dGlscy9sc21lbS5jOjYyOCBzeXMtdXRpbHMvbW91bnQuYzo2OTgKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxMSBzeXMtdXRpbHMvbW91bnQuYzo3ODAgc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxODEKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzIgc3lzLXV0aWxzL3N3YXBvZmYuYzoyMzAgc3lzLXV0aWxzL3N3YXBvbi5jOjk4OAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjUwIHN5cy11dGlscy91bW91bnQuYzo1MjggdGVybS11dGlscy9zZXR0ZXJtLmM6MTE3NgorIzogdGV4dC11dGlscy9jb2wuYzoyMzMgdGV4dC11dGlscy9tb3JlLmM6MzM3Cittc2dpZCAiYmFkIHVzYWdlIgorbXNnc3RyICJ1c28gaW52w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICJCZW0tdmluZG8gYW8gZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJBcyBhbHRlcmHDp8O1ZXMgcGVybWFuZWNlcsOjbyBhcGVuYXMgbmEgbWVtw7NyaWEsIGF0w6kgcXVlIHZvY8OqIGRlY2lkYSBncmF2w6EtbGFzLlxuIgorIlRlbmhhIGN1aWRhZG8gYW50ZXMgZGUgdXNhciBvIGNvbWFuZG8gZGUgZ3JhdmHDp8Ojby5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiTyBHUFQgaMOtYnJpZG8gZm9pIGRldGVjdGFkby4gVm9jw6ogdGVtIHF1ZSBzaW5jcm9uaXphciBhIE1CUiBow61icmlkYSBtYW51YWxtZW50ZSAoY29tYW5kbyBcIk1cIiBhdmFuw6dhZG8pLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJUaXBvIGRlIHLDs3R1bG8gZG8gZGlzY286ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJJZGVudGlmaWNhZG9yIGRvIGRpc2NvOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkRpc2NvICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2V0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICJHZW9tZXRyaWE6ICVkIGNhYmXDp2FzLCAlbGx1IHNldG9yZXMvdHJpbGhhLCAlbGx1IGNpbGluZHJvcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiVW5pZGFkZXM6ICVzIGRlICVkICogJWxkID0gJWxkIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlRhbWFuaG8gZGUgc2V0b3IgKGzDs2dpY28vZsOtc2ljbyk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiVGFtYW5obyBFL1MgKG3DrW5pbW8vw7N0aW1vKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIlBvc2nDp8OjbyBkZSBhbGluaGFtZW50bzogJWx1IGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjM2CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgaXRlcmFkb3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIHRhYmVsYSBkYSBzYcOtZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE2MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjYKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5NzQgbWlzYy11dGlscy9maW5jb3JlLmM6MTIzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA2IG1pc2MtdXRpbHMvbHNibGsuYzoxMTc2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNTQgbWlzYy11dGlscy93aXBlZnMuYzoyMTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzQwIHN5cy11dGlscy9sb3NldHVwLmM6MzY5IHN5cy11dGlscy9sc2NwdS5jOjE2MzUKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2NjMgc3lzLXV0aWxzL2xzaXBjLmM6NDcwIHN5cy11dGlscy9sc2lwYy5jOjU0NQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjQ3IHN5cy11dGlscy9sc2lwYy5jOjczOSBzeXMtdXRpbHMvbHNpcGMuYzo5MDAKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5IHN5cy11dGlscy9yZmtpbGwuYzozNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjE3OQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjE0IHN5cy11dGlscy96cmFtY3RsLmM6NDA3IHRleHQtdXRpbHMvY29sdW1uLmM6NDUzCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgbGluaGEgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgImZhbGhhIGFvIGFkaWNpb25hciBkYWRvcyBkZSBzYcOtZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIkEgcGFydGnDp8OjbyAlenUgbsOjbyBpbmljaWEgZW0gdW0gbGltaXRlIGRlIHNldG9yIGbDrXNpY28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICJBc3NpbmF0dXJhIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MvUkFJRCBuYSBwYXJ0acOnw6NvICV6dSBzZXLDoSBhcGFnYWRhLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjA5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiUGFydGnDp8O1ZXMgbMOzZ2ljYXMgZm9yYSBkYSBvcmRlbSBkbyBkaXNjby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiSW7DrWNpbyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiRmltIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjcKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAiU2V0b3JlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI5CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNAorbXNnaWQgIlNpemUiCittc2dzdHIgIlRhbWFuaG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiRXNwYcOnbyBuw6NvIHBhcnRpY2lvbmFkbyAlczogJXMsICVqdSBieXRlcywgJWp1IHNldG9yZXMiCisKKyMgcHJpbWVpcm8gJXMgw6kgbm9tZSBkZSB1bSBjYW1wbworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiQ29sdW5hIGRlc2NvbmhlY2lkYSBkZSAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiR2Vuw6lyaWNvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiZXhjbHVpIHVtYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICJsaXN0YSBwYXJ0acOnw7VlcyBuw6NvIHBhcnRpY2lvbmFkYXMgbGl2cmVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAibGlzdGEgb3MgdGlwb3MgZGUgcGFydGnDp8O1ZXMgY29uaGVjaWRhcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiYWRpY2lvbmEgdW1hIG5vdmEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibW9zdHJhIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJhbHRlcmEgbyB0aXBvIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ2ZXJpZmljYSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAibW9zdHJhIGluZm9ybWHDp8OjbyBzb2JyZSB1bWEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJtb3N0cmEgb3MgZGFkb3Mgc2VtIGZvcm1hdGHDp8OjbyBkbyBwcmltZWlybyBzZXRvciBkbyBkaXNwb3NpdGl2byIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJtb3N0cmEgb3MgZGFkb3Mgc2VtIGZvcm1hdGHDp8OjbyBkbyByw7N0dWxvIGRvIGRpc2NvIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiY29ycmlnZSBvcmRlbSBkZSBwYXJ0acOnw7VlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiTWlzY2Vsw6JuZWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAibW9zdHJhIGVzdGUgbWVudSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgImFsdGVyYSBhcyB1bmlkYWRlcyBkYXMgZW50cmFkYXMgbW9zdHJhZGFzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJmdW5jaW9uYWxpZGFkZSBhZGljaW9uYWwgKHNvbWVudGUgcGFyYSB1c3XDoXJpb3MgYXZhbsOnYWRvcykiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiU2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJjYXJyZWdhIGxheW91dCBkZSBkaXNjbyBkZSB1bSBhcnF1aXZvIHNjcmlwdCBkZSBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJkZXNwZWphIGxheW91dCBkZSBkaXNjbyBwYXJhIHVtIGFycXVpdm8gc2NyaXB0IGRlIHNmZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIlNhbHZhciAmIHNhaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgImdyYXZhIGEgdGFiZWxhIG5vIGRpc2NvIGUgc2FpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICJncmF2YSBhIHRhYmVsYSBubyBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICJzYWkgc2VtIHNhbHZhciBhcyBhbHRlcmHDp8O1ZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgInZvbHRhIGFvIG1lbnUgcHJpbmNpcGFsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJyZXRvcm5hIGRlIEJTRCBwYXJhIERPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJDcmlhIHVtIG5vdm8gcsOzdHVsbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyaWEgdW1hIG5vdmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gR1BUIHZhemlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyaWEgdW1hIG5vdmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gU0dJIChJUklYKSB2YXppYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImNyaWEgdW1hIG5vdmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gRE9TIHZhemlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3JpYSB1bWEgbm92YSB0YWJlbGEgZGUgcGFydGnDp8OjbyBTdW4gdmF6aWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0NQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiY3JpYSB1bWEgdGFiZWxhIGRlIHBhcnRpw6fDo28gSVJJWCAoU0dJKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIkdlb21ldHJpYSAocGFyYSBvIHLDs3R1bG8gYXR1YWwpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiYWx0ZXJhIG8gbsO6bWVybyBkZSBjaWxpbmRyb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgImFsdGVyYSBuw7ptZXJvIGRlIGNhYmXDp2FzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTcKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgImFsdGVyYSBvIG7Dum1lcm8gZGUgc2V0b3Jlcy90cmlsaGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJhbHRlcmEgR1VJRCBkbyBkaXNjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJhbHRlcmEgbyBub21lIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiYWx0ZXJhIG8gVVVJRCBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICJhbHRlcmEgbyBjb21wcmltZW50byBkYSB0YWJlbGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiaW5zZXJlIE1CUiBwcm90ZXRpdmEvaMOtYnJpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiYWx0ZXJuYSBhIG9ww6fDo28gZGUgaW5pY2lhbGl6YcOnw6NvIGRlIEJJT1MgbGVnYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgImFsdGVybmEgYSBvcMOnw6NvIGRlIHByb3RvY29sbyBFL1Mgc2VtIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJhbHRlcm5hIGEgb3DDp8OjbyBkZSBwYXJ0acOnw6NvIGV4aWdpZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJhbHRlcm5hIG9zIGJpdHMgZXNwZWPDrWZpY29zIGRlIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJhbHRlcm5hIGEgb3DDp8OjbyBkZSBzb21lbnRlIGxlaXR1cmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgImFsdGVybmEgYSBvcMOnw6NvIGRlIFwibW9udMOhdmVsXCIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiYWx0ZXJhIG8gbsO6bWVybyBkZSBjaWxpbmRyb3MgYWx0ZXJuYXRpdm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJhbHRlcmEgbsO6bWVybyBkZSBzZXRvcmVzIGV4dHJhcyBwb3IgY2lsaW5kcm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiYWx0ZXJhIGZhdG9yIGRlIGludGVyY2FsYcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgImFsdGVyYSBhIHZlbG9jaWRhZGUgZGUgcm90YcOnw6NvIChSUE0pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiYWx0ZXJhIG8gbsO6bWVybyBkZSBjaWxpbmRyb3MgZsOtc2ljb3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJ0b3JuYSBhIHBhcnRpw6fDo28gaW5pY2lhbGl6w6F2ZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgImVkaXRhIHVtYSBlbnRyYWRhIGRlIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDcKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJzZWxlY2lvbmEgdW1hIHBhcnRpw6fDo28gZGUgc3dhcCBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiY3JpYSBpbmZvcm1hw6fDo28gU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiYWx0ZXJuYSBhIG9ww6fDo28gZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICJlZGl0YSBvIHLDs3R1bG8gZG8gZGlzY28gQlNEIGFuaW5oYWRvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgImFsdGVybmEgYSBvcMOnw6NvIFwiY29tcGF0aWJpbGlkYWRlXCIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIm1vdmUgbyBpbsOtY2lvIGRvcyBkYWRvcyBlbSB1bWEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgImFsdGVyYSBhcyBpZGVudGlmaWNhZG9yIGRhIHVuaWRhZGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyNQorbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgInJldG9ybmEgZGEgTUJSIHByb3RldGl2YS9ow61icmlkYSBwYXJhIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1Cittc2dpZCAiQlNEIgorbXNnc3RyICJCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNgorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiZWRpdGEgb3MgZGFkb3MgZG8gZGlzY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICJpbnN0YWxhIGPDs2RpZ28gZGUgaW5pY2lhbGl6YcOnw6NvIChib290c3RyYXApIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAibW9zdHJhIG8gcsOzdHVsbyBkbyBkaXNjbyBjb21wbGV0byIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICJ2aW5jdWxhIHBhcnRpw6fDo28gQlNEIGEgcGFydGnDp8OjbyBuw6NvIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWp1ZGEgKGNvbWFuZG9zIGF2YW7Dp2Fkb3MpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWp1ZGE6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJWb2PDqiBlc3TDoSBlZGl0YW5kbyB1bSB0YWJlbGEgZGUgcGFydGnDp8OjbyBcIiVzXCIgYW5pbmhhZGEsIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gcHJpbcOhcmlhIMOpIFwiJXNcIi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJDb21hbmRvIGF2YW7Dp2FkbyAobSBwYXJhIGFqdWRhKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJDb21hbmRvIChtIHBhcmEgYWp1ZGEpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzNQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisiXG4iCisiVm9jw6ogcmVhbG1lbnRlIGRlc2VqYSBzYWlyPyAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogY29tYW5kbyBkZXNjb25oZWNpZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJEaWdpdGUgbyBub21lIGRvIGFycXVpdm8gZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICJSZWluaWNpYW5kbyBmZGlzayEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgIlNjcmlwdCBhcGxpY2FkbyBjb20gc3VjZXNzby4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIkZhbGhhIGFvIHRyYW5zZm9ybWFyIGxheW91dCBkZSBkaXNjbyBlbSB1bSBzY3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICJTY3JpcHQgc2Fsdm8gY29tIHN1Y2Vzc28uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTUgZGlzay11dGlscy9zZmRpc2suYzoxNTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydGnDp8OjbyBuwrogJXp1OiBjb250w6ltIHVtYSBhc3NpbmF0dXJhIGRlICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiRGVzZWphIHJlbW92ZXIgYSBhc3NpbmF0dXJhPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTYzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUxMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIkEgYXNzaW5hdHVyYSBzZXLDoSByZW1vdmlkYSBwb3IgdW0gY29tYW5kbyBkZSBlc2NyaXRhLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiZmFsaGEgYW8gZ3JhdmFyIHLDs3R1bG8gZG8gZGlzY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzOAorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIkZhbGhhIGFvIGNvcnJpZ2lyIG9yZGVtIGRlIHBhcnRpw6fDtWVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjQwCittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIk9yZGVtIGRlIHBhcnRpw6fDtWVzIGNvcnJpZ2lkYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBleGNsdWlyIGEgcGFydGnDp8OjbyAlenUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICJBbHRlcmFuZG8gYXMgdW5pZGFkZXMgZGFzIGVudHJhZGFzIG1vc3RyYWRhcyBwYXJhIGNpbGluZHJvcyAoT0JTT0xFVE8hKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIkFsdGVyYW5kbyBhcyB1bmlkYWRlcyBkYXMgZW50cmFkYXMgbW9zdHJhZGFzIHBhcmEgc2V0b3Jlcy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICJEZWl4YW5kbyBvIHLDs3R1bG8gZGUgZGlzY28gYW5pbmhhZG8uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICJOb3ZhcyBtw6F4aW1vIGRlIGVudHJhZGFzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiRW50cmFuZG8gbm8gcsOzdHVsbyBkZSBkaXNjbyBNQlIgcHJvdGV0aXZvL2jDrWJyaWRvLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiTm92byBVVUlEIChubyBmb3JtYXRvIDgtNC00LTQtMTIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiTm92byBub21lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIkVudHJhbmRvIG5vIHLDs3R1bG8gZGUgZGlzY28gQlNEIGFuaW5oYWRvLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIk7Dum1lcm8gZGUgY2lsaW5kcm9zIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICJOw7ptZXJvIGRlIGNhYmXDp2FzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIk7Dum1lcm8gZGUgc2V0b3JlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgZXN0w6EgbW9udGFkb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgbsOjbyBlc3TDoSBtb250YWRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMyOSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTUgZGlzay11dGlscy9zZmRpc2suYzoyOTggbGliZmRpc2svc3JjL2JzZC5jOjY0NQorIzogbGliL3BhdGguYzoxNDAgbGliL3BhdGguYzoxNjEgbGliL3BhdGguYzoxODIgbGliL3BhdGguYzoyMzAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0NSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjU1CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE0IHN5cy11dGlscy9zZXRwcml2LmM6Mjg1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcyMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlYWQgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgImVycm8gZGUgYW7DoWxpc2U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBkaXJldMOzcmlvICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIkJsb3F1ZWFuZG8gZGlzY28gcG9yICVzIC4uLiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIoZXNwZXJhbmRvKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICJjb25zZWd1aXUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAiZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJEZXNibG9xdWVhbmRvICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gY29uZmlndXJhciBkZXNjcmnDp8OjbyBwYXJhICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogZXJybyBkZSBhbsOhbGlzZSBuYSBsaW5oYSAlZCAtLSBpZ25vcmFkbyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA0IGRpc2stdXRpbHMvZnNjay5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogZmFsaGEgYW8gYW5hbGlzYXIgZnN0YWIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1Cittc2dpZCAiZm9yayBmYWlsZWQiCittc2dzdHIgImZvcmsgZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczogZXhlY3XDp8OjbyBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiZXNwZXJhOiBuZW5odW0gcHJvY2Vzc28gZmlsaG8/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nLi4uICVzIGZvciBkZXZpY2UgJXMgZXhpdGVkIHdpdGggc2lnbmFsICVkLiIKK21zZ3N0ciAiQXZpc28uLi4gJXMgcGFyYSBkaXNwb3NpdGl2byAlcyBzYWl1IGNvbSBzaW5hbCAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiJXMgJXM6IHN0YXR1cyDDqSAleCwgbnVuY2EgZGV2ZXJpYSBhY29udGVjZXIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIkZpbmFsaXphZG8gY29tICVzIChzdGF0dXMgZGUgc2HDrWRhICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImVycm8gJWQgKCVtKSBhbyBleGVjdXRhciBmc2NrLiVzIG5vICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisiVG9kbyBvdSBuZW5odW0gZG9zIHRpcG9zIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFzc2Fkb3MgcGFyYSAtdCBkZXZlbSBzZXJcbiIKKyJwcmVmaXhhZG9zIGNvbSBcIm5vXCIgb3UgXCIhXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogcHVsYW5kbyBsaW5oYSBpbnbDoWxpZGEgZW0gL2V0Yy9mc3RhYjogbW9udGFnZW0gYmluZCBjb20gbsO6bWVybyBkZSBcInBhc3NcIiBkZSBmc2NrIG7Do28temVybyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiBwdWxhbmRvIGRpc3Bvc2l0aXZvIG7Do28gZXhpc3RlbnRlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiIgorIiVzOiBkaXNwb3NpdGl2byBuw6NvIGV4aXN0ZW50ZSAob3DDp8OjbyBmc3RhYiBcIm5vZmFpbFwiIHBvZGUgc2VyIHVzYWRhXG4iCisicGFyYSBwdWxhciBlc3RlIGRpc3Bvc2l0aXZvKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczogcHVsYW5kbyB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgZGVzY29uaGVjaWRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHZlcmlmaWNhciAlczogZnNjay4lcyBuw6NvIGVuY29udHJhZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJWZXJpZmljYW5kbyB0b2RvcyBvcyBzaXN0ZW1hcyBkZSBhcnF1aXZvcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS1lc3BlcmFuZG8tLSAocGFzcyAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gLS0gW29ww6fDtWVzLXNpcy5hcnEuXSBbPHNpc3RlbWEgZGUgYXJxdWl2b3M+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWZXJpZmljYSBlIHJlcGFyYSB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zIGRvIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIHZlcmlmaWNhIHRvZG9zIG9zIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtQyBbPGZkPl0gIGV4aWJlIHVtYSBiYXJyYSBkZSBwcm9ncmVzc287IGRlc2NyaXRvciBkZSBhcnF1aXZvIHBhcmEgR1VJc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIHRyYXZhIG8gZGlzcG9zaXRpdm8gcGFyYSBnYXJhbnRpciBhY2Vzc28gZXhjbHVzaXZvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBuw6NvIHZlcmlmaWNhIHNpc3RlbWFzIGRlIGFycXVpdm9zIG1vbnRhZG9zXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTgKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICBuw6NvIGV4ZWN1dGEsIGFwZW5hcyBtb3N0cmEgbyBxdWUgc2VyaWEgZmVpdG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgLVAgICAgICAgICB2ZXJpZmljYSBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBlbSBwYXJhbGVsbywgaW5jbHVpbmRvIG8gcmFpelxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAwCittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICBpZ25vcmEgbyBzaXN0ZW1hIGRlIGFycXVpdm9zIHJhaXo7IMO6dGlsIGFwZW5hcyBjb20gXCItQVwiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDEKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICByZWxhdGEgZXN0YXTDrXN0aWNhcyBwYXJhIGNhZGEgZGlzcG9zaXRpdm8gdmVyaWZpY2FkbztcbiIKKyIgICAgICAgICAgICBkZXNjcml0b3IgZGUgYXJxdWl2b3MgZmQgw6kgcGFyYSBpbnRlcmZhY2UgZ3LDoWZpY2EgKEdVSSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICBzZXJpYWxpemFyIGFzIG9wZXJhw6fDtWVzIGRlIHZlcmlmaWNhw6fDo29cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIG7Do28gbW9zdHJhIG8gdMOtdHVsbyBubyBpbsOtY2lvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0aXBvPiAgZXNwZWNpZmljYSB0aXBvcyBkZSBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBhIHNlcmVtIHZlcmlmaWNhZG9zO1xuIgorIiAgICAgICAgICAgIDx0aXBvPiBwb2RlIHNlciB1bWEgbGlzdGEgc2VwYXJhZGEgcG9yIHbDrXJndWxhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MTMKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICJWZWphIG9zIGNvbWFuZG9zIGVzcGVjw61maWNvcyBkbyBmc2NrLiogZGFzIG9ww6fDtWVzIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zIGRpc3BvbsOtdmVpcy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSBkaXNwb3NpdGl2b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiTyAvcHJvYyBlc3TDoSBtb250YWRvPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJkZXZlIHNlciByb290IHBhcmEgcHJvY3VyYXIgcG9yIHNpc3RlbWFzIGRlIGFycXVpdm9zIGNvcnJlc3BvbmRlbnRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBjb3JyZXNwb25kZW50ZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIGFyZ3VtZW50b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgLXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uICclcycgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgImEgb3DDp8OjbyBcIiVzXCIgc8OzIHBvZGUgc2VyIGVzcGVjaWZpY2FkYSB1bWEgdmV6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiYSBvcMOnw6NvIFwiJXNcIiBleGlnZSB1bSBhcmd1bWVudG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgLXI6ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgImEgb3DDp8OjbyAtbCBwb2RlIHNlciB1c2FkYSBjb20gYXBlbmFzIHVtIGRpc3Bvc2l0aXZvIC0tIGlnbm9yYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPGFycXVpdm8+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVmVyaWZpY2EgZSByZXBhcmEgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBkZSBST00gY29tcHJpbWlkYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIHBvciBjb21wYXRpYmlsaWRhZGUgYXBlbmFzLCBpZ25vcmFkb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBtZW5zYWdlbnMgbWFpcyBkZXRhbGhhZGFzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICBwb3IgY29tcGF0aWJpbGlkYWRlIGFwZW5hcywgaWdub3JhZG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorIiAtYiwgLS1ibG9ja3NpemUgPHRhbWFuaG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYSBlc3NlIHRhbWFuaG8gZGUgYmxvY28sIHNlbmRvIHF1ZSBvIHBhZHLDo29cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgw6kgbyB0YW1hbmhvIGRhIHDDoWdpbmFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3RhIGRlc2NvbXByZXNzw6NvLCBvcGNpb25hbG1lbnRlIGV4dHJhaSBwYXJhIDxkaXI+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiaW9jdGwgZmFsaG91OiBuw6NvIGZvaSBwb3Nzw612ZWwgZGV0ZXJtaW5hciB0YW1hbmhvIGRvIGRpc3Bvc2l0aXZvOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIm7Do28gw6kgdW0gZGlzcG9zaXRpdm8gZGUgYmxvY28gb3UgYXJxdWl2bzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAidGFtYW5obyBkZSBhcnF1aXZvIG11aXRvIHBlcXVlbm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzYgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MSBsaWJmZGlzay9zcmMvYnNkLmM6NzE3IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTIKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDMgbG9naW4tdXRpbHMvbGFzdC5jOjIzNyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJidXNjYSBlbSAlcyBmYWxob3UiCisKKyMgIlN1cGVyYmxvY2sgbWFnaWMgaXMgYSBjb2RlIHRoYXQgaWRlbnRpZmllcyB0aGlzIGFzIGEgY3JhbWZzLCBleHRmcywgd2hhdGV2ZXIiCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAibcOhZ2ljYSBkZSBzdXBlcmJsb2NvIG7Do28gZW5jb250cmFkYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICJuw612ZWwgZGUgZW5kaWFuIGRlIGNyYW1mcyDDqSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJncmFuZGUgKGJpZykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgInBlcXVlbm8gKGxpdHRsZSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJTZW0gc3Vwb3J0ZSBhIHJlY3Vyc29zIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICJ0YW1hbmhvIGRvIHN1cGVyYmxvY28gKCVkKSDDqSBtdWl0byBwZXF1ZW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJjb250YWdlbSBkZSBhcnF1aXZvIHplcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAibyBhcnF1aXZvIHNlIGVzdGVuZGUgYWzDqW0gZG8gZmltIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiZm9ybWF0byBkZSBjcmFtZnMgYW50aWdvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE2Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHRlc3RhciBDUkM6IGZvcm1hdG8gZGUgY3JhbWZzIGFudGlnbyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICJmYWxoYSBhbyBsZXIgJTxQUkl1MzI+IGJ5dGVzIGRvIGFycXVpdm8gJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImVycm8gZGUgY3JjIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICJidXNjYSBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDgKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAibGVpdHVyYSBkZSByb21mcyBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImlub2RlIHJhaXogbsOjbyDDqSB1bSBkaXJldMOzcmlvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAicG9zacOnw6NvIHJhaXogaW52w6FsaWRhICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgImJsb2NvIGRlIGRhZG9zIG11aXRvIGdyYW5kZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiZXJybyBkZSBkZXNjb21wcmVzc8OjbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGJ1cmFjbyBlbSAlbHUgKCV6dSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgZGVzY29tcHJpbWluZG8gYmxvY28gZW0gJWx1IHBhcmEgJWx1ICglbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJuw6NvIGJsb2NvICglbGQpIGJ5dGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAibsOjbyB0YW1hbmhvICglbGQgdnMgJWxkKSBieXRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZ3JhdmHDp8OjbyBmYWxob3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24gZmFsaG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biBmYWxob3U6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIGZhbGhvdTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImlub2RlIGRlIGRpcmV0w7NyaW8gcG9zc3VpIHBvc2nDp8OjbyB6ZXJvIGNvbSB0YW1hbmhvIG7Do28gemVybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIgZmFsaG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJ0YW1hbmhvIGRlIG5vbWUgZGUgYXJxdWl2byDDqSB6ZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAidGFtYW5obyBkZSBub21lIGRlIGFycXVpdm8gaW52w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAicG9zacOnw6NvIGRlIGlub2RlIGludsOhbGlkYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJpbm9kZSBkZSBhcnF1aXZvIHBvc3N1aSBwb3Npw6fDo28gemVybyBlIHRhbWFuaG8gbsOjbyB6ZXJvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImlub2RlIGRlIGFycXVpdm8gcG9zc3VpIHRhbWFuaG8gemVybyBlIHBvc2nDp8OjbyBuw6NvIHplcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAibGluayBzaW1iw7NsaWNvIHBvc3N1aSBwb3Npw6fDo28gemVybyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAibGluayBzaW1iw7NsaWNvIHBvc3N1aSB0YW1hbmhvIHplcm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZXJybyBkZSB0YW1hbmhvIG5vIGxpbmsgc2ltYsOzbGljbzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJsaW5rIHNpbWLDs2xpY28gZmFsaG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgImFycXVpdm8gZXNwZWNpYWwgcG9zc3VpIHBvc2nDp8OjbyBuw6NvIHplcm86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJmaWZvIHBvc3N1aSB0YW1hbmhvIG7Do28gemVybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAibyBzb3F1ZXRlIHBvc3N1aSB0YW1hbmhvIG7Do28gemVybzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAibW9kbyBpbnbDoWxpZG86ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgZmFsaG91OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJpbsOtY2lvIGRlIGRhZG9zIGRvIGRpcmV0w7NyaW8gKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBpbsOtY2lvICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImZpbSBkYWRvcyBkZSBkaXJldMOzcmlvICglbHUpICE9IGluw61jaW8gZGUgZGFkb3MgZGUgYXJxdWl2byAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAicG9zacOnw6NvIGRlIGRhZG9zIGRlIGFycXVpdm8gaW52w6FsaWRhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSB0YW1hbmhvIGRlIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogT0tcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiVmVyaWZpY2EgYSBjb25zaXN0w6puY2lhIGRlIHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MgZGUgTWluaXguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICBsaXN0YSB0b2RvcyBub21lcyBkZSBhcnF1aXZvc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgIHJlcGFyYcOnw6NvIGF1dG9tw6F0aWNhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICByZXBhcmHDp8OjbyBpbnRlcmF0aXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgbW9kbyBkZXRhbGhhZG9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zdXBlciAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkZSBzdXBlcmJsb2NvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAgYXRpdmEgYXZpc29zIGRlIG1vZG8gbsOjbyBsaW1wb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBmb3LDp2EgdmVyaWZpY2HDp8Ojb1xuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChzL24pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAobi9zKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIm5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBlc3TDoSBtb250YWRvLlx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICJWb2PDqiByZWFsbWVudGUgZGVzZWphIGNvbnRpbnVhcj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJ2ZXJpZmljYcOnw6NvIGFib3J0YWRhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTsO6bWVybyBkZSB6b25hIG1lbm9yIHF1ZSBGSVJTVFpPTkUgbm8gYXJxdWl2byBcIiVzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiTsO6bWVybyBkZSB6b25hIG1haW9yIG91IGlndWFsIGEgWk9ORVMgbm8gYXJxdWl2byBcIiVzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJSZW1vdmVyIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkVycm8gZGUgbGVpdHVyYTogbsOjbyBmb2kgcG9zc8OtdmVsIGJ1c2NhciBibG9jbyBubyBhcnF1aXZvIFwiJXNcIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJFcnJvIGRlIGxlaXR1cmE6IGJsb2NvIGRlZmVpdHVvc28gbm8gYXJxdWl2byBcIiVzXCJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisiRXJybyBpbnRlcm5vOiB0ZW50YW5kbyBncmF2YXIgYmxvY28gZGVmZWl0dW9zb1xuIgorIlNvbGljaXRhw6fDo28gZGUgZ3JhdmHDp8OjbyBpZ25vcmFkYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiYnVzY2EgZmFsaG91IGVtIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiRXJybyBkZSBlc2NyaXRhOiBibG9jbyBkZWZlaXR1b3NvIG5vIGFycXVpdm8gXCIlc1wiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiQXZpc286IGJsb2NvIGZvcmEgZG8gaW50ZXJ2YWxvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJidXNjYSBmYWxob3UgZW0gd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBzdXBlcmJsb2NvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG1hcGEgZGUgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBtYXBhIGRlIHpvbmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWxvY2FyIGJ1ZmZlciBwYXJhIHN1cGVyYmxvY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIHN1cGVyYmxvY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIm7Dum1lcm8gbcOhZ2ljbyBpbnbDoWxpZG8gbm8gc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJIw6Egc3Vwb3J0ZSBhcGVuYXMgYSAxSyBibG9jb3Mvem9uYXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfbmlub2RlcyBpbnbDoWxpZG8gbm8gc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfaW1hcF9ibG9ja3MgaW52w6FsaWRvIG5vIHN1cGVyYmxvY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NworbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfZmlyc3RkYXRhem9uZSBpbnbDoWxpZG8gbm8gc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImNhbXBvIHNfem1hcF9ibG9ja3MgaW52w6FsaWRvIG5vIHN1cGVyYmxvY28iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXIgcGFyYSBtYXBhIGRlIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVyIHBhcmEgbWFwYSBkZSB6b25hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVyIHBhcmEgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXIgcGFyYSBjb250YWdlbSBkZSBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVyIHBhcmEgY29udGFnZW0gZGUgem9uYXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciBtYXBhIGRlIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbWFwYSBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJBdmlzbzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpbm9kZXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2Nvc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlByaW1laXJhIHpvbmEgZGUgZGFkb3MgPSAlamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlRhbWFuaG8gZGEgem9uYSA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJUYW1hbmhvIG3DoXhpbW8gPSAlenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAiRXN0YWRvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJDb21wcmltZW50byBkbyBub21lID0gJXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJbm9kZSAlZCBtYXJjYWRvIGNvbW8gbsOjbyB1dGlsaXphZG8sIG1hcyB1c2FkbyBwZWxvIGFycXVpdm8gXCIlc1wiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTWFyY2EgZW0gdXNvIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaWxlIGAlcycgaGFzIG1vZGUgJTA1b1xuIgorbXNnc3RyICJPIGFycXVpdm8gXCIlc1wiIHRlbSBtb2RvICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJBdmlzbzogY29udGFnZW0gZGUgaW5vZGVzIGdyYW5kZSBkZW1haXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJpbm9kZSByYWl6IG7Do28gw6kgdW0gZGlyZXTDs3JpbyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIk8gYmxvY28gasOhIGZvaSB1c2Fkby4gQWdvcmEgbm8gYXJxdWl2byBcIiVzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJMaW1wYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiQmxvY28gJWQgbm8gYXJxdWl2byBcIiVzXCIgZXN0w6EgbWFyY2FkbyBjb21vIG7Do28gdXNhZG8uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI2Cittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAiQ29ycmV0byIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJPIGRpcmV0w7NyaW8gXCIlc1wiIGNvbnTDqW0gdW0gbsO6bWVybyBkZSBpbm9kZSBpbnbDoWxpZG8gcGFyYSBvIGFycXVpdm8gXCIlLipzXCIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBSZW1vdmVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBkaXJldMOzcmlvIGludsOhbGlkbzogXCIuXCIgbsOjbyDDqSBvIHByaW1laXJvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk5MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogZGlyZXTDs3JpbyBpbnbDoWxpZG86IFwiLi5cIiBuw6NvIMOpIG8gc2VndW5kb1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiZXJybyBpbnRlcm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IGRpcmV0w7NyaW8gaW52w6FsaWRvOiB0YW1hbmhvIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiBkaXJldMOzcmlvIGludsOhbGlkbzogaV96b25lIGludsOhbGlkbywgdXNlIC0tcmVwYWlyIHBhcmEgY29ycmlnaXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJidXNjYSBmYWxob3UgZW0gYmFkX3pvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIk8gbW9kbyBkbyBpbm9kZSAlbHUgbsOjbyBmb2kgbGltcG8uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiTyBpbm9kZSAlbHUgbsOjbyBlc3TDoSBzZW5kbyB1c2FkbywgbWFzIGVzdMOhIG1hcmNhZG8gY29tbyBlbSB1c28gbm8gYml0bWFwLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJPIGlub2RlICVsdSBlbSB1c28sIG1hcyBlc3TDoSBtYXJjYWRvIGNvbW8gbsOjbyBzZW5kbyB1c2FkbyBubyBiaXRtYXAuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjAKK21zZ2lkICJTZXQiCittc2dzdHIgIkNvbmZpZ3VyYXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kZSAlbHUgKG1vZG8gPSAlMDdvKSwgaV9ubGlua3MgPSAlZCwgY29udGFkb3MgPSAlZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiQ29uZmlndXJhciBpX25saW5rcyBwYXJhIGNvbnRhZ2VtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbmEgJWx1OiBtYXJjYWRhIGNvbW8gZW0gdXNvLCBtYXMgbmVuaHVtIGFycXVpdm8gYSB1c2EuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDEKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIkRlc21hcmNhciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlbHU6IGVtIHVzbywgY29udGFkb3MgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiWm9uYSAlbHU6IG7Do28gZW0gdXNvLCBjb250YWRvcyA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTkKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBkZSBpbm9kZSBpbnbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBkZSBpbm9kZSB2MiBpbnbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDYKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICLDqSBuZWNlc3PDoXJpbyB1bSB0ZXJtaW5hbCBwYXJhIHJlcGFyb3MgaW50ZXJhdGl2b3MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgZXN0w6EgbGltcG87IHNlbSB2ZXJpZmljYcOnw6NvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiRm9yw6dhbmRvIHZlcmlmaWNhw6fDo28gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyBlbSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiTyBzaXN0ZW1hIGRlIGFycXVpdm9zIGVtICVzIGVzdMOhIHN1am87IHByZWNpc2EgZGUgdmVyaWZpY2HDp8Ojby5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2Fkb3MgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgem9uYXMgdXNhZGFzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCBhcnF1aXZvcyByZWd1bGFyZXNcbiIKKyIlNmQgZGlyZXTDs3Jpb3NcbiIKKyIlNmQgYXJxdWl2b3MgZGUgZGlzcG9zaXRpdm9zIGRlIGNhcmFjdGVyZXNcbiIKKyIlNmQgYXJxdWl2b3MgZGUgZGlzcG9zaXRpdm9zIGRlIGJsb2NvXG4iCisiJTZkIHbDrW5jdWxvc1xuIgorIiU2ZCB2w61uY3Vsb3Mgc2ltYsOzbGljb3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgYXJxdWl2b3NcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiTyBTSVNURU1BIERFIEFSUVVJVk9TIEZPSSBBTFRFUkFET1xuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQzMiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzgKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTQxIGRpc2stdXRpbHMvcGFydHguYzoxMDU4IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExNAorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwMAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTEgc3lzLXV0aWxzL2RtZXNnLmM6NjYxIHN5cy11dGlscy93ZGN0bC5jOjM0NworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDEyIHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjk4IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzc1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODcgdGV4dC11dGlscy9wZy5jOjEyNTYKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgImdyYXZhw6fDo28gZmFsaG91IgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IHBvZGUgbsOjbyBzZXIgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBJU08iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMSBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiZXJybyBkZSBsZWl0dXJhIGVtICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgImNvbnRhZ2VtIGRlIHNldG9yOiAlZCwgdGFtYW5obyBkZSBzZXRvcjogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxhcnF1aXZvX2ltYWdlbV9pc285NjYwPiAuLi5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIk1vc3RyYSBvIHRhbWFuaG8gZGUgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBJU08tOTY2MC5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTxuw7ptZXJvPiAgZGl2aWRlIGEgcXVhbnRpZGFkZSBkZSBieXRlcyBwb3IgPG7Dum1lcm8+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorbXNnaWQgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzaG93IHNlY3RvciBjb3VudCBhbmQgc2l6ZVxuIgorbXNnc3RyICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgbW9zdHJhIHRhbWFuaG8gZSBjb250YWdlbSBkZSBzZXRvcnNcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gZGl2aXNvciBpbnbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIlVzbzogJXMgW29ww6fDtWVzXSBkaXNwb3NpdGl2byBbY29udGFnZW0tYmxvY29dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJGYXogdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBiZnMgZGEgU0NPLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisiXG4iCisiT3DDp8O1ZXM6XG4iCisiIC1OLCAtLWlub2Rlcz1Ow5pNICAgIGVzcGVjaWZpY2EgbsO6bWVybyBkZXNlamFkbyBkZSBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9Tk9NRSAgICBlc3BlY2lmaWNhIG5vbWUgZG8gdm9sdW1lXG4iCisiIC1GLCAtLWZuYW1lPU5PTUUgICAgZXNwZWNpZmljYSBub21lIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3NcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisiIC1jICAgICAgICAgICAgICAgICAgZXN0YSBvcMOnw6NvIMOpIGlnbm9yYWRhIHNpbGVuY2lvc2FtZW50ZVxuIgorIiAtbCAgICAgICAgICAgICAgICAgIGVzdGEgb3DDp8OjbyDDqSBpZ25vcmFkYSBzaWxlbmNpb3NhbWVudGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAibsO6bWVybyBkZSBpbm9kZXMgaW52w6FsaWRvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbWUgZGUgdm9sdW1lIG11aXRvIGxvbmdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm5vbWUgZGUgZnNuYW1lIG11aXRvIGxvbmdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAiY29udGFnZW0gZGUgYmxvY29zIGludsOhbGlkYSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIHRhbWFuaG8gZGUgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImFyZ3VtZW50byBkZSBibG9jbyBtdWl0byBncmFuZGUsIG3DoXhpbW8gw6kgJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIGlub2RlcyAtIG3DoXhpbW8gw6kgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgImVzcGHDp28gaW5zdWZpY2llbnRlLCDDqSBuZWNlc3PDoXJpbyBwZWxvIG1lbm9zICVsbHUgYmxvY29zIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAiRGlzcG9zaXRpdm86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiVm9sdW1lOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJGU25hbWU6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiVGFtQmxvY286ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlczogJWxkIChlbSAxIGJsb2NvKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGVzOiAlbGQgKGVtICVsbHUgYmxvY29zKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJCbG9jb3M6ICVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUgZmltOiAlZCwgRGFkb3MgZmltOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjYyCittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZGUgc3VwZXJibG9jbyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAiZXJybyBkZSBncmF2YcOnw6NvIGRlIGlub2RlIGRlIHJvb3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZGUgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTEKK21zZ2lkICJzZWVrIGVycm9yIgorbXNnc3RyICJlcnJvIGRlIGJ1c2NhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk3Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZGUgZW50cmFkYSAuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiZXJybyBkZSBncmF2YcOnw6NvIGRlIGVudHJhZGEgLi4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZXJybyBhbyBmZWNoYXIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFstdCA8dGlwbz5dIFtvcMOnw7Vlcy1zaXN0LmFycS5dIDxkaXNwb3NpdGl2bz4gWzx0YW1hbmhvPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRmF6IHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10eXBlPTx0aXBvPiAgdGlwbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zOyBxdWFuZG8gbsOjbyBlc3BlY2lmaWNhZG8sXG4iCisiICAgICAgICAgICAgICAgICAgICBleHQyIMOpIHVzYWRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiIKKyIgICAgIG9ww6fDtWVzLXNpc3QuYXJxLlxuIgorIiAgICAgICAgICAgICAgICAgICAgcGFyw6JtZXRyb3MgcGFyYSBvIHJlYWwgY29uc3RydXRvciBkZSBzaXN0ZW1hIGRlIGFycXVpdm9zXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8ZGlzcG9zaXRpdm8+ICBjYW1pbmhvIHBhcmEgbyBkaXNwb3NpdGl2byBhIHNlciB1c2Fkb1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgPHRhbWFuaG8+ICAgICAgbsO6bWVybyBkZSBibG9jb3MgYSBzZXIgdXNhZG8gbm8gZGlzcG9zaXRpdm9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGljYSBvIHF1ZSBlc3TDoSBzZW5kbyBmZWl0bztcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYXIgLVYgbWFpcyBkZSB1bWEgdmV6LCByZXN1bHRhIGVtIHVtYSBzaW11bGHDp8Ojb1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJmYWxoYSBhbyBleGVjdXRhciAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJ1c286ICVzIFstaF0gWy12XSBbLWIgdGFtLWJsa10gWy1lIGVkacOnw6NvXSBbLU4gZW5kaWFuXSBbLWkgYXJxdWl2b10gWy1uIG5vbWVdIG5vbWUtZGlyIGFycS1zYcOtZGFcbiIKKyIgLXYgICAgICAgICBtZW5zYWdlbnMgZGV0YWxoYWRhc1xuIgorIiAtRSAgICAgICAgIHRvcm5hIHRvZG9zIG9zIGF2aXNvcyBlcnJvcyAoc3RhdHVzIGRlIHNhw61kYSBuw6NvIHplcm8pXG4iCisiIC1iIHRhbS1ibGsgdXNhIGVzdGUgdGFtYW5obyBkZSBibG9jbzsgZGV2ZSBzZXIgaWd1YWwgZW0gdGFtYW5obyBkZSBww6FnaW5hc1xuIgorIiAtZSBlZGnDp8OjbyAgZGVmaW5lIG7Dum1lcm8gZGUgZWRpw6fDo28gKHBhcnRlIGRlIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgZGVmaW5lIG7DrXZlbCBkZSBlbmRpYW4gZG8gY3JhbWZzIChiaWd8bGl0dGxlfGhvc3QpLCBwYWRyw6NvIMOpIGhvc3RcbiIKKyIgLWkgYXJxdWl2byBpbnNlcmUgdW1hIGltYWdlbSBkZSBhcnF1aXZvIG5vIHNpc3RlbWEgZGUgYXJxdWl2b3NcbiIKKyIgLW4gbm9tZSAgICBkZWZpbmUgbyBub21lIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgY3JhbWZzXG4iCisiIC1wICAgICAgICAgcHJlZW5jaGUgZW0gJWQgYnl0ZXMgcGFyYSBjw7NkaWdvIGRlIGluaWNpYWxpemHDp8Ojb1xuIgorIiAtcyAgICAgICAgIG9yZGVuYSByZWdpc3Ryb3MgZG8gZGlyZXTDs3JpbyAob3DDp8OjbyBhbnRpZ2EsIGlnbm9yYWRhKVxuIgorIiAteiAgICAgICAgIHRvcm5hIGJ1cmFjb3MgZXhwbMOtY2l0b3NcbiIKKyIgbm9tZS1kaXIgICByYWl6IGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgYSBzZXIgY29tcHJpbWlkb1xuIgorIiBhcnEtc2HDrWRhICBhcnF1aXZvIGRlIHNhw61kYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rIGZhbGhvdTogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gZGlyZXTDs3JpbyAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICJzaXN0ZW1hIGRlIGFycXVpdm8gw6kgZ3JhbmRlIGRlbWFpcy4gU2FpbmRvLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFLCBibG9jbyBcImNvbXByZXNzZWRcIiBwYXJhID4gMiAqIHRhbWFuaG8gZG8gYmxvY28gKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBmZWNoYXIgbyBhcnF1aXZvIFwiJXNcIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgbsO6bWVybyBkZSBlZGnDp8OjbyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1MgorbXNnaWQgImludmFsaWQgZW5kaWFubmVzcyBnaXZlbjsgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIKK21zZ3N0ciAiZm9pIGRhZG8gdW0gbsOtdmVsIGRlIGVuZGlhbiBpbnbDoWxpZG87IGRldmUgc2VyIFwiYmlnXCIsIFwibGl0dGxlXCIgb3UgXCJob3N0XCIiCisKKyMgZ3Vlc3RpbWF0ZSA9IGd1ZXNzICYgZXN0aW1hdGUKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJhdmlzbzogZXN0aW1hdGl2YS9jaHV0ZSBkZSB0YW1hbmhvIG5lY2Vzc8OhcmlvIChsaW1pdGUgbcOheGltbykgw6kgZGUgJWxsZE1CLCBtYXMgbyB0YW1hbmhvIG3DoXhpbW8gZGUgaW1hZ2VtIMOpICV1TUIuIFBvZGVtb3MgbW9ycmVyIHByZW1hdHVyYW1lbnRlLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIm1hcGEgZGUgaW1hZ2VtIGRlIFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIkluY2x1aW5kbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIkRhZG9zIGRlIGRpcmV0w7NyaW86ICV6ZCBieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiVHVkbzogJXpkIGtpbG9ieXRlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9jbzogJXpkIGJ5dGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiZXNwYcOnbyBhbG9jYWRvIGluc3VmaWNpZW50ZSBwYXJhIGltYWdlbSBST00gKCVsbGQgYWxvY2FkbywgJXp1IHVzYWRvKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiZ3JhdmHDp8OjbyBkZSBpbWFnZW0gUk9NIGZhbGhvdSAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgImltYWdlbSBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgImF2aXNvOiBub21lcyBkZSBhcnF1aXZvcyB0cnVuY2Fkb3MgZW0gJXUgYnl0ZXMuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJhdmlzbzogYXJxdWl2b3MgZm9yYW0gcHVsYWRvcyBwb3IgY2F1c2EgZGUgZXJyb3MuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAiYXZpc286IHRhbWFuaG9zIGRlIGFycXVpdm8gdHJ1bmNhZG9zIGVtICVsdU1CIChtZW5vcyAxIGJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJhdmlzbzogdWlkcyB0cnVuY2Fkb3MgZW0gJXUgYml0cy4gKElzc28gcG9kZSBzZXIgdW0gcHJvYmxlbWEgZGUgc2VndXJhbsOnYSkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiYXZpc286IGdpZHMgdHJ1bmNhZG9zIGVtICV1IGJpdHMuIChJc3NvIHBvZGUgc2VyIHVtIHByb2JsZW1hIGRlIHNlZ3VyYW7Dp2EpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyJBVklTTzogbsO6bWVyb3MgZGUgZGlzcG9zaXRpdm9zIHRydW5jYWRvcyBlbSAldSBiaXRzLiBJc3NvIGNvbSBxdWFzZSBjZXJ0ZXphXG4iCisic2lnbmlmaWNhIHF1ZSBhbGd1bnMgZGlzcG9zaXRpdm9zIGZpY2Fyw6NvIGVycmFkb3MuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gL2Rldi9ub21lIFtibG9jb3NdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2EgTWluaXggdmVyc8OjbyAxXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2EgTWluaXggdmVyc8OjbyAyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2EgTWluaXggdmVyc8OjbyAzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVsZW5ndGggPG7Dum0+ICB0YW1hbmhvIG3DoXhpbW8gZGUgbm9tZXMgZGUgYXJxdWl2b3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ0Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtaSwgLS1pbm9kZXMgPG7Dum0+ICAgICAgbsO6bWVybyBkZSBpbm9kZXMgcGFyYSBvIHNpc3RlbWEgZGUgYXJxdWl2b3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1Cittc2dpZCAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIGNoZWNrIHRoZSBkZXZpY2UgZm9yIGJhZCBibG9ja3NcbiIKK21zZ3N0ciAiIC1jLCAtLWNoZWNrICAgICAgICAgICAgIHZlcmlmaWNhIG8gZGlzcG9zaXRpdm8gcG9yIGJsb2NvcyBkZWZlaXR1b3Nvc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDYKK21zZ2lkICIgLWwsIC0tYmFkYmxvY2tzIDxmaWxlPiAgbGlzdCBvZiBiYWQgYmxvY2tzIGZyb20gZmlsZVxuIgorbXNnc3RyICIgLWwsIC0tYmFkYmxvY2tzIDxhcnE+ICAgbGlzdGEgZGUgYmxvY29zIGRlZmVpdHVvc29zIGRvIGFycXVpdm9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiBidXNjYSBkZSBibG9jbyBkZSBpbmljaWFsaXphw6fDo28gZmFsaG91IGVtIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgbGltcGFyIG8gc2V0b3IgZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IGJ1c2NhIGZhbGhvdSBlbSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBzdXBlcmJsb2NvIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG1hcGEgZGUgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgbWFwYSBkZSB6b25hcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiBidXNjYSBmYWxob3UgZW0gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogZ3JhdmHDp8OjbyBmYWxob3UgZW0gd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IG7Dum1lcm8gZXhjZXNzaXZvIGRlIGJsb2NvcyBkZWZlaXR1b3NvcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlczogYmxvY29zIHNlbSBwcm9ibGVtYXMgaW5zdWZpY2llbnRlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorIlByaW1laXJvIGJsb2NvIGRlIGRhZG9zIGVtICVqZCwgbyBxdWUgw6kgbXVpdG8gbG9uZ2UgKG3DoXggJWQpLlxuIgorIlRlbnRlIGVzcGVjaWZpY2FyIG1lbm9zIGlub2RlcyBjb20gYSBvcMOnw6NvIC0taW5vZGVzIDxuw7ptPiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpbm9kZVxuIgorbXNnc3RyWzFdICIlbHUgaW5vZGVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUgYmxvY29cbiIKK21zZ3N0clsxXSAiJWx1IGJsb2Nvc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIlRhbWFuaG8gZGEgem9uYSA9ICV6dVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyJUYW1hbmhvIG3DoXhpbW8gPSAlenVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiVzOiBidXNjYSBmYWxob3UgZHVyYW50ZSB0ZXN0ZSBkZSBibG9jb3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiVmFsb3JlcyBlc3RyYW5ob3MgZW0gZG9fY2hlY2s6IHByb3ZhdmVsbWVudGUgZXJyb3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiBidXNjYSBmYWxob3UgZW0gY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgIiVzOiBibG9jb3MgZGVmZWl0dW9zb3MgYW50ZXMgZGEgw6FyZWEgZGUgZGFkb3M6IG7Do28gw6kgcG9zc8OtdmVsIGNyaWFyIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0MSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgYmFkIGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVkIGJhZCBibG9ja3NcbiIKK21zZ3N0clswXSAiJWQgYmxvY28gZGVmZWl0dW9zb1xuIgorbXNnc3RyWzFdICIlZCBibG9jb3MgZGVmZWl0dW9zb3NcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBhcnF1aXZvIGRlIGJsb2NvcyBkZWZlaXR1b3NvcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgImVycm8gZGUgZW50cmFkYSBkZSBuw7ptZXJvIGRlIGJsb2NvcyBkZWZlaXR1b3NvcyBuYSBsaW5oYSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGxlciBhcnF1aXZvIGRlIGJsb2NvcyBkZWZlaXR1b3NvcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICJ0YW1hbmhvIGRlIGJsb2NvIG1lbm9yIGRvIHF1ZSBvIHRhbWFuaG8gZG8gc2V0b3IgZsOtc2ljbyBkZSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRldGVybWluYXIgbyB0YW1hbmhvIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXM6IG9zIGJsb2NvcyByZXF1aXNpdGFkb3MgKCVsbHUpIGV4Y2VkZW0gb3MgKCVsbHUpIGJsb2NvcyBkaXNwb27DrXZlaXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IG7Dum1lcm8gZGUgYmxvY29zIHBlcXVlbm9zIGRlbWFpcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI1IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgInNlbSBzdXBvcnRlIGFvIHRhbWFuaG8gZGUgbm9tZTogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAiU2VtIHN1cG9ydGUgw6AgdmVyc8OjbyBkZSBzaXN0ZW1hIGRlIGFycXVpdm9zIG1pbml4OiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICItdiDDqSBhbWLDrWd1bywgdXNlIFwiLTJcIiBhbyBpbnbDqXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGNvbXByaW1lbnRvIG3DoXhpbW8gZGUgbm9tZXMgZGUgYXJxdWl2b3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBuw7ptZXJvIGRlIGlub2RlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG7Dum1lcm8gZGUgYmxvY29zIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGVzdMOhIG1vbnRhZG87IG7Do28gY3JpYXLDoSB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zIGFxdWkhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIlRhbWFuaG8gZGUgcMOhZ2luYSBlc3BlY2lmaWNhZG8gcGVsbyB1c3XDoXJpbyAldSBpbnbDoWxpZG8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIlVzYW5kbyB0YW1hbmhvIGRlIHDDoWdpbmEgZXNwZWNpZmljYWRvIHBlbG8gdXN1w6FyaW8gJWQsIGVtIHZleiBkb3MgdmFsb3JlcyBkbyBzaXN0ZW1hICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICJSw7N0dWxvIGVzdGF2YSB0cnVuY2Fkby4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgIm5lbmh1bSByw7N0dWxvLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAibmVuaHVtIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisiVXNvOlxuIgorIiAlcyBbb3DDp8O1ZXNdIGRpc3Bvc2l0aXZvIFt0YW1hbmhvXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiUHJlcGFyYSB1bWEgw6FyZWEgZGUgc3dhcCBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcMOnw7VlczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICB2ZXJpZmljYSBwb3IgYmxvY29zIGRlZmVpdHVvc29zIGFudGVzIGRlIGNyaWFyIGFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMOhcmVhIGRlIHN3YXBcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBwZXJtaXRlIHF1ZSBhIMOhcmVhIGRlIHRhbWFuaG8gZGUgc3dhcCBzZWphXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlvciBkbyBxdWUgYSBkbyBkaXNwb3NpdGl2b1xuIgorIiAtcCwgLS1wYWdlc2l6ZSBUQU1BTkhPICAgIGVzcGVjaWZpY2EgbyB0YW1hbmhvIGRlIHDDoWdpbmFzIGVtIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIFLDk1RVTE8gICAgICAgIGVzcGVjaWZpY2EgbyByw7N0dWxvXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE7Dmk1FUk8gIGVzcGVjaWZpY2EgbyBuw7ptZXJvIGRhIHZlcnPDo28gZG8gZXNwYcOnbyBkZSBzd2FwXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgZXNwZWNpZmljYSBvIHV1aWQgYSBzZXIgdXNhZG9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIHDDoWdpbmFzIGludsOhbGlkYXM6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgImJ1c2NhIGZhbGhvdSBlbSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBiYWQgcGFnZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgYmFkIHBhZ2VzXG4iCittc2dzdHJbMF0gIiVsdSBww6FnaW5hcyBpbnbDoWxpZGFzXG4iCittc2dzdHJbMV0gIiVsdSBww6FnaW5hcyBpbnbDoWxpZGFzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBub3ZhIGV4YW1pbmHDp8OjbyBjb20gbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBkZXNpZ25hciB1bSBkaXNwb3NpdGl2byBwYXJhIGV4YW1pbmFyIGNvbSBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiYXZpc286IHNlbSBzdXBvcnRlIGEgdmVyaWZpY2HDp8OjbyBkZSBibG9jb3MgZGVmZWl0dW9zb3MgZGUgYXJxdWl2byBzd2FwOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVib2JpbmFyIG8gZGlzcG9zaXRpdm8gZGUgc3dhcCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFwYWdhciBzZXRvcmVzIGRlIGJpdHMgZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlczogYXZpc286IGFwYWdhbmRvIGFzc2luYXR1cmFzIGFudGlnYXMgZGUgJXMuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXM6IGF2aXNvOiBuw6NvIGFwYWd1ZSBvcyBzZXRvcmVzIGRlIGJpdHMgZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKHRhYmVsYSBkZSBwYXJ0acOnw6NvICVzIGRldGVjdGFkYSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAoY29tcGlsYWRvIHNlbSBsaWJibGtpZCkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICJVc2UgLWYgcGFyYSBmb3LDp2FyLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBhIHDDoWdpbmEgZGUgYXNzaW5hdHVyYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODIKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgImFuw6FsaXNlIGRlIHRhbWFuaG8gZGUgcMOhZ2luYSBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgImFuw6FsaXNlIGRlIG7Dum1lcm8gZGUgdmVyc8OjbyBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzkxCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgInNlbSBzdXBvcnRlIGEgZXNwYcOnbyBkZSBzd2FwIHZlcnPDo28gJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICJhdmlzbzogaWdub3JhbmRvIC1VICglcyBuw6NvIG9mZXJlY2Ugc3Vwb3J0ZSBhIFVVSURzKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTYKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAiaMOhIHN1cG9ydGUsIGF0dWFsbWVudGUsIGFwZW5hcyBhIHVtIGFyZ3VtZW50byBkZSBkaXNwb3NpdGl2byIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiZXJybzogYW7DoWxpc2UgZGUgVVVJRCBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMyCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJlcnJvOiBuZW5odW0gbHVnYXIgcGFyYSBzZSBjb25maWd1cmFyIHN3YXA/IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzOAorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgY29udGFnZW0gZGUgYmxvY29zIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICJlcnJvOiB0YW1hbmhvICVsbHUgS0Igw6kgbWFpb3IgZG8gcXVlIG8gdGFtYW5obyBkbyBkaXNwb3NpdGl2bywgJTxQUkl1NjQ+IEtCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgImVycm86IMOhcmVhIGRlIHN3YXAgcHJlY2lzYSB0ZXIgcGVsbyBtZW5vcyAlbGQgS0IiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICJhdmlzbzogcmVkdXppbmRvIMOhcmVhIGRlIHN3YXAgcGFyYSAlbGx1IEtCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgImVycm86ICVzIGVzdMOhIG1vbnRhZG87IG7Do28gY3JpYXLDoSB1bSBlc3Bhw6dvIGRlIHN3YXAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IHBlcm1pc3PDtWVzIGluc2VndXJhcyAlMDRvLCBzdWdlcmUtc2UgJTA0by4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBwcm9wcmlldMOhcmlvIGRlIGFycXVpdm8gaW5zZWd1cm8gJWQ7IHN1Z2VyZS1zZSAwIChyb290KS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgY29uZmlndXJhciBlc3Bhw6dvIGRlIHN3YXA6IGlsZWfDrXZlbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIkNvbmZpZ3VyYW5kbyBlc3Bhw6dvIGRlIHN3YXAgdmVyc8OjbyAlZCwgdGFtYW5obyA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIHLDs3R1bG8gZGUgYXJxdWl2byBzZWxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNworbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGZhemVyIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBub3ZvIGNvbnRleHRvIHNlbGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIyCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjb21wdXRhciBvIGNvbnRleHRvIHNlbGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcm90dWxhciBub3ZhbWVudGUgJXMgcGFyYSAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODcKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImluw61jaW8gZGEgcGFydGnDp8OjbyBlbSBzZXRvcmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJmaW0gZGEgcGFydGnDp8OjbyBlbSBzZXRvcmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAibsO6bWVybyBkZSBzZXRvcmVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICJ0YW1hbmhvIGxlZ8OtdmVsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAibm9tZSBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiVVVJRCBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgInRpcG8gZGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAib3DDp8O1ZXMgZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgInRpcG8gZGUgcGFydGnDp8OjbyAodW1hIHN0cmluZywgdW0gVVVJRCBvdSBoZXhhZGVjaW1hbCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJmYWxoYSBhbyBpbmljaWFsaXphciBsb29wY3h0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBsb2NhbGl6YXIgZGlzcG9zaXRpdm8gZGUgbG9vcCBsaXZyZSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJUZW50YW5kbyB1c2FyIFwiJXNcIiBwYXJhIG8gZGlzcG9zaXRpdm8gZGUgbG9vcFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGNvbmZpZ3VyYXIgYXJxdWl2byBkZSBiYWNrZW5kIChwYXJhIGxvb3ApIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogZmFsaGEgYW8gY29uZmlndXJhciBkaXNwb3NpdGl2byBkZSBsb29wIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJjb2x1bmEgZGVzY29uaGVjaWRhOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczogZmFsaGEgZW0gb2J0ZXIgbyBuw7ptZXJvIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImZhaXhhIGVzcGVjaWZpY2FkYSA8JWQ6JWQ+IG7Do28gZmF6IHNlbnRpZG8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgInJlY29udGFnZW0gZGUgaW50ZXJ2YWxvOiBtw6F4LiBwYXJ0LiBuwro9JWQsIGJhaXhvPSVkLCBhbHRvPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGVycm8gbmEgZXhjbHVzw6NvIGRhIHBhcnRpw6fDo28gJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBlcnJvIG5hIGV4Y2x1c8OjbyBkYXMgcGFydGnDp8O1ZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAjJWQgcmVtb3ZpZGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBwYXJ0acOnw6NvICMlZCBuw6NvIGV4aXN0ZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGV4Y2x1c8OjbyBkYSBwYXJ0acOnw6NvICMlZCBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBlcnJvIG5hIGFkacOnw6NvIGRhIHBhcnRpw6fDo28gJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZXJybyBuYSBhZGnDp8OjbyBkYXMgcGFydGnDp8O1ZXMgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAjJWQgYWRpY2lvbmFkYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBhZGnDp8OjbyBkYSBwYXJ0acOnw6NvICMlZCBmYWxob3UiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGVycm8gbmEgYXR1YWxpemHDp8OjbyBkYSBwYXJ0acOnw6NvICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZXJybyBuYSBhdHVhbGl6YcOnw6NvIGRhcyBwYXJ0acOnw7VlcyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiJXM6IG5lbmh1bWEgcGFydGnDp8OjbyAjJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAjJWQgcmVkaW1lbnNpb25hZGFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBhdHVhbGl6YcOnw6NvIGRhIHBhcnRpw6fDo28gIyVkIGZhbGhvdSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNldG9yLCAlNmp1IE1CKVxuIgorbXNnc3RyWzFdICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2V0b3JlcywgJTZqdSBNQilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgImZhbGhhIGFvIGFsb2NhciBjb2x1bmEgZGUgc2HDrWRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gaW5pY2lhbGl6YXIgZmlsdHJvIGJsa2lkIHBhcmEgXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBsZXIgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczogdGlwbyBkZSB0YWJlbGEgZGUgcGFydGnDp8OjbyBcIiVzXCIgZGV0ZWN0YWRhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB3aXRoIG5vIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiB0YWJlbGEgZGUgcGFydGnDp8OjbyBjb20gbmVuaHVtYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0acOnw6NvPl0gPGRpc2NvPlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU3Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIkF2aXNhIG8ga2VybmVsIHNvYnJlIGEgcHJlc2Vuw6dhIGUgcXVhbnRpZGFkZSBkZSBwYXJ0acOnw7Vlcy5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkaWNpb25hIGFzIHBhcnRpw6fDtWVzIGVzcGVjaWZpY2FkYXMgb3UgdG9kYXMgZWxhc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICAgZXhjbHVpIGFzIHBhcnRpw6fDtWVzIGVzcGVjaWZpY2FkYXMgb3UgdG9kYXMgZWxhc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAgYXR1YWxpemEgYXMgcGFydGnDp8O1ZXMgZXNwZWNpZmljYWRhcyBvdSB0b2RhcyBlbGFzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3RhIGFzIHBhcnRpw6fDtWVzXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICBleGliZSBTSVpFIGVtIGJ5dGVzIGVtIHZleiBkZSB1bSBmb3JtYXRvIGxlZ8OtdmVsXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgbsOjbyBleGliZSBjYWJlw6dhbGhvcyBwYXJhIC0tc2hvd1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bjptPiAgICAgICBlc3BlY2lmaWNhIGEgZmFpeGEgZGUgcGFydGnDp8O1ZXMgKGV4LjogLS1uciAyOjQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gZGVmaW5lIHF1YWlzIGNvbHVuYXMgZGUgc2HDrWRhIHNlIGRldmUgdXNhclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU2IHN5cy11dGlscy9sc21lbS5jOjUwMworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2EgbyBmb3JtYXRvIGRlIHNhw61kYSBjaGF2ZT1cInZhbG9yXCJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2EgbyBmb3JtYXRvIGRlIHNhw61kYSBuw6NvIHRyYXRhZG8gKHJhdylcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bsO6bT4gIHNvYnJlc2NyZXZlIG8gdGFtYW5obyBkbyBzZXRvclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcxCittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDx0aXBvPiAgICBlc3BlY2lmaWNhIG8gdGlwbyBkYSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0LXR5cGVzICAgICBsaXN0YSBvcyB0aXBvcyBkZSBwYXJ0acOnw6NvIGNvbmhlY2lkb3MgZSBzYWlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgbW9kbyBkZXRhbGhhZG9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBhIGZhaXhhIC0tbnIgPE0tTj4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIm5vbWUgZGUgZGlzY28gZSBwYXJ0acOnw6NvIG7Do28gY29uZmVyZW0iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5yIGUgPHBhcnRpw6fDo28+IHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdmFzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICJwYXJ0acOnw6NvOiAlcywgZGlzY286ICVzLCBiYWl4bzogJWQsIGFsdG86ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZXhjbHVpciBwYXJ0acOnw7VlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IHNlbSBzdXBvcnRlIGEgZGlzcG9zaXRpdm9zIGRlIGxvb3AgcGFydGljaW9uYWRvcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGluaWNpYWxpemFyIGV4YW1pbmFkb3IgYmxraWQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFpb3I+IDxtZW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxkaXNwb3NpdGl2by1kZS1ibG9jbz5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJWaW5jdWxhIHVtIGNhcmFjdGVyZSBuw6NvIHRyYXRhZG8gYSB1bSBkaXNwb3NpdGl2byBkZSBibG9jby5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAgY29uZmlndXJhIG8gbW9kbyBkZSBjb25zdWx0YVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgY29uc3VsdGEgdG9kb3Mgb3MgZGlzcG9zaXRpdm9zXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiRGlzcG9zaXRpdm8gXCIlc1wiIMOpIG8gZGlzcG9zaXRpdm8gcmF3IGRlIGNvbnRyb2xlICh1c2UgcmF3PE4+LCBzZW5kbyA8Tj4gbWFpb3IgZG8gcXVlIHplcm8pIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG8gZGlzcG9zaXRpdm8gZGUgYmxvY28gXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkRpc3Bvc2l0aXZvIFwiJXNcIiBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGFyZ3VtZW50byIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIGRpc3Bvc2l0aXZvIHJhdyBtZXN0cmUgXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBvIGRpc3Bvc2l0aXZvIHJhdyBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIHJhdyBcIiVzXCIgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBjYXJhY3RlcmVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIFwiJXNcIiBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIHJhdyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNDkKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICJFcnJvIGFvIGNvbnN1bHRhciBvIGRpc3Bvc2l0aXZvIHJhdyIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIlc3JhdyVkOiAgdmluY3VsYWRvIHBhcmEgbWFpb3IgJWQsIG1lbm9yICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJFcnJvIGFvIGRlZmluaXIgbyBkaXNwb3NpdGl2byByYXciCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc3Bvc2l0aXZvPiA8bnVtLiBwYXJ0acOnw6NvPiA8Y29tcHJpbWVudG8+XG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjI0Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiQXZpc2EgbyBrZXJuZWwgc29icmUgbyBub3ZvIHRhbWFuaG8gZGUgdW1hIHBhcnRpw6fDo28uXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIG9idGVyIGluw61jaW8gZGEgcGFydGnDp8OjbyBkZSBuw7ptZXJvICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTEKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAiZmFsaGEgYW8gcmVkaW1lbnNpb25hciBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIGNvbnRleHRvIGRlIGxpYmZkaXNrIGFuaW5oYWRvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJ1c2NhciAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMDMgbGliZmRpc2svc3JjL2JzZC5jOjcyMiBsaWJmZGlzay9zcmMvYnNkLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSAlcyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZXNjcmV2ZXIgZW0gXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiUxMnMgKHBvc2nDp8OjbyAlNWp1LCB0YW1hbmhvICU1anUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBjcmlhciB1bSBiYWNrdXAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgImZhbGhhIGFvIGNyaWFyIHVtIGFycXVpdm8gYmFja3VwLCAkSE9NRSBpbmRlZmluaWRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NQorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIkFycXVpdm9zIGJhY2t1cDoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImZhbGhhIGFvIGxlciBub3ZhIHBhcnRpw6fDo28gZG8gZGlzcG9zaXRpdm87IGlnbm9yYW5kbyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciB0YW1hbmhvIGRhIG5vdmEgcGFydGnDp8OjbzsgaWdub3JhbmRvIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciBpbsOtY2lvIGRhIG5vdmEgcGFydGnDp8OjbzsgaWdub3JhbmRvIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImZhbGhhIGFvIG9idGVyIHRhbWFuaG8gZGEgcGFydGnDp8OjbyBhbnRpZ2E7IGlnbm9yYW5kbyAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODgKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgaW7DrWNpbyBkYSBwYXJ0acOnw6NvIGFudGlnYTsgaWdub3JhbmRvIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MAorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibyBpbsOtY2lvIGRhIHBhcnRpw6fDo28gbsOjbyBmb2kgbW92aWRvOyBpZ25vcmFuZG8gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkyCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJhIG5vdmEgcGFydGnDp8OjbyDDqSBtZW5vciBxdWUgYSBvcmlnaW5hbDsgaWdub3JhbmRvIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIk1vdmltZW50YcOnw6NvIGRlIGRhZG9zOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiBhcnF1aXZvIGRlIHNjcmlwdC1ncmF2YWRvOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIGluw61jaW8gYW50aWdvOiAlanUsIG5vdm8gaW7DrWNpbzogJWp1IChtb3ZlciAlanUgc2V0b3JlcylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiRGVzZWphIG1vdmVyIGRhZG9zIGRhIHBhcnRpw6fDo28/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiRGVpeGFuZG8uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIG1vdmVyIGRhZG9zIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICJPIHRhYmVsYSBkYSBwYXJ0acOnw6NvIG7Do28gZm9pIGFsdGVyYWRhICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiQSB0YWJlbGEgZGUgcGFydGnDp8OjbyBmb2kgYWx0ZXJhZGEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICJyw7N0dWxvIHNlbSBzdXBvcnRlIFwiJXNcIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzQKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk5vbWUgSWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NjQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgInRpcG8gZGUgdGFiZWxhIGRlIHBhcnRpw6fDo28gbsOjbyByZWNvbmhlY2lkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgbyB0YW1hbmhvIGRlICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJ0b3RhbDogJWp1IGJsb2Nvc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSBkaXNwb3NpdGl2byBkZSBkaXNjbyBlc3BlY2lmaWNhZG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCittc2dpZCAiY2Fubm90IHN3aXRjaCB0byBQTUJSIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbXVkYXIgcGFyYSBQTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMgorbXNnaWQgInRvZ2dsZSBib290IGZsYWdzIGlzIHN1cHBvcnRlZCBmb3IgTUJSIG9yIFBNQlIgb25seSIKK21zZ3N0ciAiaMOhIHN1cG9ydGUgw6AgYWx0ZXJhw6fDo28gZGEgb3DDp8OjbyBkZSBpbmljaWFsaXrDoXZlbCBhcGVuYXMgcGFyYSBNQlIgb3UgUE1CUiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NjcgZGlzay11dGlscy9zZmRpc2suYzo5MTQgZGlzay11dGlscy9zZmRpc2suYzoxMDM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDEgZGlzay11dGlscy9zZmRpc2suYzoxMTU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJmYWxoYSBlbSBhbmFsaXNhciBuw7ptZXJvIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJWQ6IGZhbGhhIGFvIGFsdGVyYXIgYSBvcMOnw6NvIGluaWNpYWxpesOhdmVsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJXp1OiBmYWxoYSBhbyBleGNsdWlyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogbsOjbyBjb250w6ltIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBjb25oZWNpZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgc3RydWN0IGRlIGRlc3Blam8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBkZXNwZWphciBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6IG5lbmh1bWEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZW5jb250cmFkYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJXp1OiB0YWJlbGEgZGUgcGFydGnDp8OjbyBjb250w6ltIGFwZW5hcyAlenUgcGFydGnDp8O1ZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJXp1OiBwYXJ0acOnw6NvIG7Do28gZXN0w6Egc2VuZG8gdXNhZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAibmVuaHVtIG7Dum1lcm8gZGUgcGFydGnDp8OjbyBlc3BlY2lmaWNhZG8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDYgZGlzay11dGlscy9zZmRpc2suYzoxMTYxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTcKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiYXJndW1lbnRvcyBpbmVzcGVyYWRvcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAlenU6IGZhbGhhIGVtIG9idGVyIG8gdGlwbyBkYSBwYXJ0acOnw6NvIgorCisjIHByaW1laXJvICVzIMOpIHLDs3R1bG8sIHNlZ3VuZG8gJXMgw6kgbyB0aXBvCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIHBhcnRpw6fDo28gJXMgZG8gdGlwbyBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJXp1OiBmYWxoYSBhbyBkZWZpbmlyIG8gdGlwbyBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0acOnw6NvICV6dTogZmFsaGEgYW8gb2J0ZXIgVVVJRCBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgb2JqZXRvIGRlIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IHBhcnRpw6fDo28gJXp1OiBmYWxoYSBhbyBkZWZpbmlyIFVVSUQgZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAlenU6IGZhbGhhIGVtIG9idGVyIG8gbsO6bWVybyBkYSBwYXJ0acOnw6NvIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBwYXJ0acOnw6NvICV6dTogZmFsaGEgZW0gZGVmaW5pciBvIG5vbWUgZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczogcGFydGnDp8OjbyAlenU6IGZhbGhhIGFvIGRlZmluaXIgYXRyaWJ1dG9zIGRhIHBhcnRpw6fDo28iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIENvbWFuZG9zOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIGdyYXZhIGEgdGFiZWxhIG5vIGRpc2NvIGUgc2FpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MAorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIgICBxdWl0ICAgICBtb3N0cmEgbm92YSBzaXR1YcOnw6NvIGUgZXNwZXJhIHBlbG8gZmVlZGJhY2sgZG8gdXN1w6FyaW8gYW50ZXMgZGUgZ3JhdmFyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MQorbXNnaWQgIiAgIGFib3J0ICAgIGV4aXQgc2ZkaXNrIHNoZWxsXG4iCittc2dzdHIgIiAgIGFib3J0ICAgIHNhaSBkbyBzaGVsbCBkbyBzZmRpc2tcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkyCittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHByaW50ICAgIGV4aWJlIGEgdGFiZWxhIGRlIHBhcnRpw6fDo29cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkzCittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICBtb3N0cmEgZXN0YSBhanVkYSBlIHNhaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTUKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ3RybC1EICAgbyBtZXNtbyBxdWUgXCJxdWl0XCJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIEZvcm1hdG8gZGEgZW50cmFkYTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiICAgPGluw61jaW8+LCA8dGFtYW5obz4sIDx0aXBvPiwgPGluaWNpYS4+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8aW7DrWNpbz4gICBJbsOtY2lvIGRhIHBhcnRpw6fDo28gZW0gc2V0b3JlcyBvdSBieXRlcyBzZVxuIgorIiAgICAgICAgICAgICAgZXNwZWNpZmljYWRvIG5vIGZvcm1hdG8gPG7Dum1lcm8+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgICBPIHBhZHLDo28gw6kgbyBwcmltZWlybyBlc3Bhw6dvIGxpdnJlLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPHRhbWFuaG8+ICBUYW1hbmhvIGRhIHBhcnRpw6fDo28gZW0gc2V0b3JlcyBvdSBieXRlcyBzZVxuIgorIiAgICAgICAgICAgICAgZXNwZWNpZmljYWRvIG5vIGZvcm1hdG8gPG7Dum1lcm8+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgICBPIHBhZHLDo28gw6kgdG9kbyBvIGVzcGHDp28gZGlzcG9uw612ZWwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPHRpcG8+ICAgICBPIHRpcG8gZGEgcGFydGnDp8Ojby4gUGFkcsOjbyDDqSB1bWEgcGFydGnDp8OjbyBkZSBkYWRvcyBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIE1CUjogaGV4YSBvdSBhdGFsaG9zIEwsUyxFLFgsVSxSLFYuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCBvdSBhdGFsaG9zIEwsUyxILFUsUixWLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPGluaWNpYS4+ICBVc2UgXCIqXCIgcGFyYSBtYXJjYXIgdW1hIHBhcnRpw6fDo28gY29tbyBpbmljaWFsaXrDoXZlbC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiBFeGVtcGxvOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjUKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgICwgNEcgICAgIENyaWEgdW1hIHBhcnRpw6fDo28gZGUgNEdCIG5hIHBvc2nDp8OjbyBpbmljaWFsIHBhZHLDo28uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAiY29tYW5kbyBzZW0gc3Vwb3J0ZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgImxpbmhhICVkOiBjb21hbmRvIHNlbSBzdXBvcnRlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3Igc2ZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIkEgYXNzaW5hdHVyYSBhbnRpZ2EgJXMgcG9kZSBzZXIgbWFudGlkYSBubyBkaXNwb3NpdGl2by4gw4kgcmVjb21lbmRhZG8gYXBhZ2FyIG8gZGlzcG9zaXRpdm8gY29tIHdpcGVmcyg4KSBvdSBzZmRpc2sgLS13aXBlLCBwYXJhIGV2aXRhciBwb3Nzw612ZWlzIGNvbGlzw7Vlcy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIG5vbWUgZGEgcGFydGnDp8OjbyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgbWFuaXB1bGFkb3IgZGUgc2NyaXB0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIG1vZGlmaWNhciBhIHBhcnRpw6fDo28gJWQ6IG5lbmh1bWEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZm9pIGVuY29udHJhZGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIG1vZGlmaWNhciBhIHBhcnRpw6fDo28gJWQ6IHRhYmVsYSBkZSBwYXJ0acOnw6NvIGNvbnTDqW0gYXBlbmFzICV6dSBwYXJ0acOnw7VlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJhdmlzbzogJXM6IHBhcnRpw6fDo28gJWQgbsOjbyBlc3TDoSBkZWZpbmlkYSBhaW5kYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorIlxuIgorIkJlbS12aW5kbyBhbyBzZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJWZXJpZmljYW5kbyBzZSBuaW5ndcOpbSBlc3TDoSB1c2FuZG8gZXN0ZSBkaXNjbyBubyBtb21lbnRvIC4uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBGQUxIT1VcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKyJFc3RlIGRpc2NvIGVzdMOhIGVtIHVzYWRvIC0gcmVwYXJ0aWNpb27DoS1sbyBuw6NvIHBhcmVjZSBzZXIgdW1hIGJvYSBpZGVpYS5cbiIKKyJEZXNtb250ZSB0b2RvcyBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBlIHN3YXBvZmYgdG9kYXMgcGFydGnDp8O1ZXMgc3dhcCBkbyBkaXNjby5cbiIKKyJVc2UgYSBvcMOnw6NvIC0tbm8tcmVyZWFkIHBhcmEgc3VwcmltaXIgZXN0YSB2ZXJpZmljYcOnw6NvLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzMKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiVXNlIGEgb3DDp8OjbyAtLWZvcmNlIHBhcmEgY2FuY2VsYXIgdG9kYXMgYXMgdmVyaWZpY2HDp8O1ZXMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIgT0tcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjQ3Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiU2l0dWHDp8OjbyBhbnRpZ2E6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKyJcbiIKKyJzZmRpc2sgdmFpIGNyaWFyIHVtIG5vdm8gcsOzdHVsbyBkZSBkaXNjbyBcIiVzXCIuXG4iCisiVXNlIFwibGFiZWw6IDxub21lPlwiIGFudGVzIGRlIGRlZmluaXIgdW1hIHByaW1laXJhXG4iCisicGFydGnDp8OjbyBwYXJhIHNvYnJlc2NyZXZlciBvIHBhZHLDo28uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUZW50ZSBcIiVzIC0taGVscFwiIHBhcmEgbWFpb3JlcyBpbmZvcm1hw6fDtWVzLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiVG9kYXMgcGFydGnDp8O1ZXMgdXNhZGFzLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiQ29uY2x1w61kby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiSWdub3JhbmRvIHBhcnRpw6fDo28uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MzUgZGlzay11dGlscy9zZmRpc2suYzoxNzk1Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiRmFsaGEgYW8gYXBsaWNhciBjYWJlw6dhbGhvcyBkZSBzY3JpcHQsIHLDs3R1bG8gZG8gZGlzY28gbsOjbyBjcmlhZG8uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJGYWxoYSBhbyBhZGljaW9uYXIgcGFydGnDp8OjbyBuwrogJWQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJDYWJlw6dhbGhvIGRlIHNjcmlwdCBhY2VpdG8uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJTaXR1YcOnw6NvIG5vdmE6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJEZXNlamEgZ3JhdmFyIGlzdG8gbm8gZGlzY28/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJEZWl4YW5kby5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcMOnw7Vlc10gWzxkaXNwPiBbWy1OXSA8cGFydGnDp8Ojbz5dXG4iCisiICUxJHMgW29ww6fDtWVzXSA8Y29tYW5kbz5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisiIC1BLCAtLWFjdGl2YXRlIDxkaXNwPiBbPHBhcnQ+IC4uLl0gbGlzdGEvZGVmaW5lIHBhcnRpw6fDtWVzIChQKU1CUlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5pY2lhbGl6w6F2ZWlzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZHVtcCA8ZGlzcD4gICAgICAgICAgICAgICAgIGRlc3BlamEgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyAodXPDoXZlbCBwYXJhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBvc3RlcmlvciBlbnRyYWRhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gPGRpc3A+ICAgICAgICAgICAgICAgICBkZXNwZWphIHRhYmVsYSBkZSBwYXJ0acOnw6NvIG5vIGZvcm1hdG8gSlNPTlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKyIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRpc3A+IC4uLl0gIGxpc3RhIGdlb21ldHJpYSBkZSB0b2RvcyBkaXNwb3NpdGl2b3Mgb3VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc29tZW50ZSBkYXF1ZWxlcyBlc3BlY2lmaWNhZG9zXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs8ZGlzcD4gLi4uXSAgICAgICAgICAgbGlzdGEgcGFydGnDp8O1ZXMgZGUgY2FkYSBkaXNwb3NpdGl2b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLUYsIC0tbGlzdC1mcmVlIFs8ZGlzcD4gLi4uXSAgICAgIGxpc3RhIMOhcmVhcyBsaXZyZXMgbsOjbyBwYXJ0aWNpb25hZGFzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIGNhZGEgZGlzcG9zaXRpdm9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlb3JkZXIgPGRpc3A+ICAgICAgICAgICAgICBjb3JyaWdlIG9yZGVtIGRlIHBhcnRpw6fDtWVzIChhIHBhcnRpciBkYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3Npw6fDo28gaW5pY2lhbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdy1zaXplIFs8ZGlzcD4gLi4uXSAgICAgIGxpc3RhIHRhbWFuaG9zIGRlIHRvZG9zIGRpc3Bvc2l0aXZvcyBvdVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb21lbnRlIGFxdWVsZXMgZXNwZWNpZmljYWRvc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTQKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgbW9zdHJhIG9zIHRpcG9zIHJlY29uaGVjaWRvcyAodmVqYSAtWClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSBbPGRpc3A+IC4uLl0gICAgICAgICB2ZXJpZmljYSBzZSBhIHBhcnRpw6fDo28gZXN0w6EgY29ycmV0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiICAgICAtLWRlbGV0ZSA8ZGlzcD4gWzxwYXJ0PiAuLi5dICBleGNsdWkgdG9kYXMgcGFydGnDp8O1ZXMgb3UgYXMgZXNwZWNpZmljYWRhc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTkKK21zZ2lkICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gbGFiZWxcbiIKK21zZ3N0ciAiIC0tcGFydC1sYWJlbCA8ZGlzcD4gPHBhcnQ+IFs8c3RyPl0gbW9zdHJhIG91IGFsdGVyYSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtLXBhcnQtdHlwZSA8ZGlzcD4gPHBhcnQ+IFs8dGlwbz5dIG1vc3RyYSBvdSBhbHRlcmEgbyB0aXBvIGRhIHBhcnRpw6fDo29cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIC0tcGFydC11dWlkIDxkaXNwPiA8cGFydD4gWzx1dWlkPl0gbW9zdHJhIG91IGFsdGVyYSBvIFVVSUQgZGEgcGFydGnDp8Ojb1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDxkaXNwPiA8cGFydD4gWzxzdHI+XSBtb3N0cmEgb3UgYWx0ZXJhIGF0cmlidXRvcyBkYSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA8ZGlzcD4gICAgICAgICAgICAgICAgICAgIGNhbWluaG8gZG8gZGlzcG9zaXRpdm8gKGdlcmFsbWVudGUgZGlzY28pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgbsO6bWVybyBkYSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NworbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA8dGlwbz4gICAgICAgICAgICAgICAgICAgIHRpcG8gZGEgcGFydGnDp8OjbywgR1VJRCBwYXJhIEdQVCwgaGV4IHBhcmEgTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhbmV4YSBwYXJ0acOnw7VlcyBwYXJhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIGV4aXN0ZW50ZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgZmF6IGJhY2t1cCBkZSBzZXRvcmVzIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvICh2ZWphIC1PKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzIKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBtb3N0cmEgVEFNQU5ITyBlbSBieXRlcyBlbSB2ZXogZGUgdW0gZm9ybWF0byBsZWfDrXZlbFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzMKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKyIgICAgIC0tbW92ZS1kYXRhWz08c2NyaXB0LWdyYXZhZG8+XSBtb3ZlIGRhZG9zIGRlIHBhcnRpw6fDo28gYXDDs3MgcmVhbG9jYcOnw6NvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVxdWVyIC1OKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkZXNhYmlsaXRhIHRvZGEgdmVyaWZpY2HDp8OjbyBkZSBjb25zaXN0w6puY2lhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxxdWFuZG8+XSAgICBjb2xvcmUgYSBzYcOtZGEgKGF1dG8sIGFsd2F5cyBvdSBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPG7Dum0+ICAgICAgICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkYSBwYXJ0acOnw6NvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBmYXogdHVkbywgZXhjZXRvIGdyYXZhciBubyBkaXNwb3NpdGl2b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBuw6NvIHZlcmlmaWNhIHNlIG8gZGlzcG9zaXRpdm8gZXN0w6EgZW0gdXNvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIG7Do28gYXZpc2EgYW8ga2VybmVsIHNvYnJlIGFzIGFsdGVyYcOnw7Vlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxjYW1pbmhvPiAgc29icmVzY3JldmUgbyBub21lIGRvIGFycXVpdm8gYmFja3VwIHBhZHLDo29cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgbW9zdHJhIGNvbHVuYXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg0Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXByaW1lIG1lbnNhZ2VucyBkZSBpbmZvcm1hw6fDo28gZXh0cmFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg1Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlIDxtb2RvPiAgICAgICAgIGFwYWdhIGFzc2luYXR1cmFzIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDxub21lPiAgICAgICAgZXNwZWNpZmljYSB0aXBvIGRlIHLDs3R1bG8gKGRvcywgZ3B0LCAuLi4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIgLVksIC0tbGFiZWwtbmVzdGVkIDxub21lPiBlc3BlY2lmaWNhIG8gdGlwbyBkZSByw7N0dWxvIGFuaW5oYWRvIChkb3MsIGJzZClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkwCittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIG9ic29sZXRvLCBhcGVsaWRvIHBhcmEgLS1zaG93LWdlb21ldHJ5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgb2Jzb2xldG8sIGFwZW5hcyBwYXJhIGNvbXBhdGliaWxpZGFkZSByZXZlcnNhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorbXNnaWQgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgc2VjdG9yIHVuaXQgaXMgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtdSwgLS11bml0IFMgICAgICAgICAgICAgIG9ic29sZXRvLCBow6Egc3Vwb3J0ZSBhcGVuYXMgw6AgdW5pZGFkZSBzZXRvclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzIGVzdMOhIG9ic29sZXRvIGVtIGZhdm9yIGRlIC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICItLWlkIGVzdMOhIG9ic29sZXRvIGVtIGZhdm9yIGRlIC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzEKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiLS1zaG93LXB0LWdlb21ldHJ5IG7Do28gbWFpcyBlc3TDoSBpbXBsZW1lbnRhZG8uIFVzYW5kbyAtLXNob3ctZ2VvbWV0cnkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiYSBvcMOnw6NvIC0tTGludXggw6kgZGVzbmVjZXNzw6FyaWEgZSBvYnNvbGV0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAic2VtIHN1cG9ydGUgw6AgdW5pZGFkZSBcIiVjXCIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NSBpbmNsdWRlL2MuaDozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyBkZSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxNTIKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICItLW1vdmVkYXRhIHJlcXVlciAtTiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIFVVSUQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBidXNjYXIgVVVJRCBkYSBzd2FwIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGdyYXZhciBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGJ1c2NhciByw7N0dWxvIGRhIHN3YXAgIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJsYWJlbCBpcyB0b28gbG9uZy4gVHJ1bmNhdGluZyBpdCB0byAnJXMnIgorbXNnc3RyICJyw7N0dWxvIMOpIG11aXRvIGdyYW5kZS4gUXVlYnJhbmRvLW8gcGFyYSBcIiVzXCIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBncmF2YXIgcsOzdHVsbyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiRXhpYmUgb3UgYWx0ZXJhIG8gcsOzdHVsbyBvdSBVVUlEIGRlIHVtYSDDoXJlYSBkZSBzd2FwLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPHLDs3R1bG8+IGVzcGVjaWZpY2EgdW0gbm92byByw7N0dWxvXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgIGVzcGVjaWZpY2EgdW0gbm92byB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICJpZ25vcmEgLVUgKHNlbSBzdXBvcnRlIGEgVVVJRHMpIgorCisjOiBpbmNsdWRlL2MuaDoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJUZW50ZSBcIiVzIC0taGVscFwiIHBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTgKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJVc286XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiT3DDp8O1ZXM6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGdW7Dp8O1ZXM6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbWFuZG9zOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjIKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW5hcyBkZSBzYcOtZGEgZGlzcG9uw612ZWlzOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKK21zZ2lkICJkaXNwbGF5IHRoaXMgaGVscCIKK21zZ3N0ciAiZXhpYmUgZXN0YSBhanVkYSBlIHNhaSIKKworIzogaW5jbHVkZS9jLmg6MzI2Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJleGliZSBhIHZlcnPDo28iCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYXJhIG1haXMgZGV0YWxoZXMsIHZlamEgJXMuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5NSBzeXMtdXRpbHMvcnRjd2FrZS5jOjI5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTEKKyM6IHRleHQtdXRpbHMvY29sLmM6MTYwCittc2dpZCAid3JpdGUgZXJyb3IiCittc2dzdHIgImVycm8gZGUgZXNjcml0YSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJjb3JlcyBlc3TDo28gaGFiaWxpdGFkYXMgcG9yIHBhZHLDo28iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgImNvcmVzIGVzdMOjbyBkZXNhYmlsaXRhZGFzIHBvciBwYWRyw6NvIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgYSB2YXJpw6F2ZWwgZGUgYW1iaWVudGUgJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIiVzOiBhcmd1bWVudG9zIG11dHVhbWVudGUgZXhjbHVzaXZvczoiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiVmF6aWEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJyb290IFhFTklYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJ1c3IgWEVOSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIkVzdGVuZGlkYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggaW5pY2lhbGl6w6F2ZWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjExCittc2dpZCAiT1MvMiBCb290IE1hbmFnZXIiCittc2dzdHIgIkdlcmVuYy4gaW5pY2kuIE9TLzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJGQVQzMiBXOTUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJGQVQzMiBXOTUgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJGQVQxNiBXOTUgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJFc3RlbmRpZGEgVzk1IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJGQVQxMiBFc2NvbmRpZGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJEaWFnbsOzc3RpY28gQ29tcGFxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiBFc2NvbmRpZGEgPCAzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJGQVQxNiBFc2NvbmRpZGEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiSFBGUyBvdSBOVEZTIEVzY29uZGlkYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiRkFUMzIgVzk1IEVzY29uZGlkYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJGQVQzMiBXOTUgRXNjLiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJGQVQxNiBXOTUgRXNjLiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJET1MgTkVDIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJXaW5SRSBOVEZTIEVzY29uZGlkYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMgcmVjdXBlcmHDp8OjbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiQm9vdCBQUmVQIFBQQyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAywqogcGFydGUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggM8KqIHBhcnRlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIkRNIE9uVHJhY2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiRE02IE9uVHJhY2sgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIkRNNiBPblRyYWNrIEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiRE02IE9uVHJhY2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIkVkaXNrIFByaWFtIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCBvdSBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiTXVsdGktQm9vdCBEaXNrU2VjdXJlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIk1pbml4IGFudGlnbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTGludXggYW50aWdvL01pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBzd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIk9TLzIgZXNjb25kaWRvIG91IGhpYmVybmHDp8OjbyBJbnRlbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiRXN0ZW5kaWRhIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1OQorbXNnaWQgIk5URlMgdm9sdW1lIHNldCIKK21zZ3N0ciAiQ29uanVudG8gZGUgdm9sdW1lcyBOVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggdGV4dG8gc2ltcGxlcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJIaWJlcm5hw6fDo28gSUJNIFRoaW5rcGFkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiaW5pYy4gRGFyd2luIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAic2lzdC4gYXJxLiBCU0RJIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSBzd2FwIgorCisjIEFzc2lzdGVudGUgZGUgaW5pY2lhbGl6YcOnw6NvIGVzY29uZGlkbworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkFzc2lzdC4gSW5pY2kuIGVzY29uZGlkbyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiRkFUMzIgTEJBIEFjcm9uaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgImluaWNpYWxpemHDp8OjbyBkbyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVDEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFUMTY8MzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFUMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJEYWRvcyBOw6NvLUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIlV0aWxpdMOhcmlvIERlbGwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiQWNlc3NvIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiQWxpbmhhbWVudG8gUnVmdXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAic2lzdC4gYXJxLiBCZU9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiaW5pYy4gTGludXgvUEEtUklTQyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNlY3VuZMOhcmlvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCBSQUlEIGF1dG9kZXRlY8Onw6NvIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICJhdmlzbzogJXMgZXN0w6EgZGVzYWxpbmhhZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJTZWxlY2lvbm91IGEgcGFydGnDp8OjbyAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJOZW5odW1hIHBhcnRpw6fDo28gZXN0w6EgZGVmaW5pZGEgYWluZGEhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk1Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiTsOjbyBow6EgcGFydGnDp8O1ZXMgbGl2cmVzIGRpc3BvbsOtdmVpcyEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo1MDUKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJOw7ptZXJvIGRhIHBhcnRpw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIkNyaWFkYSB1bWEgbm92YSBwYXJ0acOnw6NvICVkIGRvIHRpcG8gXCIlc1wiIGUgZGUgdGFtYW5obyAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0acOnw6NvICV6ZDogcG9zc3VpIHNldG9yIGluaWNpYWwgMCBpbnbDoWxpZG8uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiTsOjbyBleGlzdGUgcGFydGnDp8OjbyAqQlNEIGVtICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIlByaW1laXJvIGNpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkxIGxpYmZkaXNrL3NyYy9kb3MuYzoxMjEzCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLDmmx0aW1vIGNpbGluZHJvLCArY2lsaW5kcm9zIG91ICt0YW1hbmhve0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTYgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTggbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiw5psdGltbyBzZXRvciwgK3NldG9yZXMgb3UgK3RhbWFuaG97SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIk8gZGlzcG9zaXRpdm8gJXMgbsOjbyBjb250w6ltIHVtIHLDs3R1bG8gZGUgZGlzY28gQlNELiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MgorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJWb2PDqiBkZXNlamEgY3JpYXIgdW0gcsOzdHVsbyBkZSBkaXNjbyBCU0Q/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiVW5pZGFkZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NQorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICJOb21lIGRlIHBhY290ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJPcMOnw7VlcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiByZW1vdmFibGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBiYWRzZWN0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJCeXRlcy9TZXRvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAiVHJpbGhhcy9DaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIlNldG9yZXMvQ2lsaW5kcm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTAgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjgKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZHJvcyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCittc2dpZCAiUnBtIgorbXNnc3RyICJSUE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDAgbGliZmRpc2svc3JjL3NnaS5jOjI5MSBsaWJmZGlzay9zcmMvc3VuLmM6NzkzCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiSW50ZXJsZWF2ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiVHJhY2tza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJDeWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJIZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiQnVzY2EgdHJpbGhhIGEgdHJpbGhhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlcy9zZXRvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNldG9yZXMvdHJpbGhhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJ0cmlsaGFzL2NpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE1Cittc2dpZCAiY3lsaW5kZXJzIgorbXNnc3RyICJjaWxpbmRyb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTkKK21zZ2lkICJzZWN0b3JzL2N5bGluZGVyIgorbXNnc3RyICJzZXRvcmVzL2NpbGluZHJvIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIyCittc2dpZCAicnBtIgorbXNnc3RyICJSUE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJpbnRlcmxlYXZlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJ0cmFja3NrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNworbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgImhlYWRzd2l0Y2giCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJidXNjYSB0cmlsaGEgYSB0cmlsaGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJPIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvICVzIGZvaSBjYXJyZWdhZG8gY29tIHN1Y2Vzc28uIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKHBhZHLDo28gJTEkcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDMKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJCb290c3RyYXAgKGPDs2RpZ28gZGUgaW5pY2lhbGl6YcOnw6NvKSBzb2JyZXDDtWUgYW8gcsOzdHVsbyBkbyBkaXNjbyEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwIGluc3RhbGxlZCBvbiAlcy4iCittc2dzdHIgIkJvb3RzdHJhcCAoY8OzZGlnbyBkZSBpbmljaWFsaXphw6fDo28pIGluc3RhbGFkbyBlbSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIlRpcG8gZGUgcsOzdHVsbyBkZSBkaXNjbyBncmF2YWRvIGVtICVzLiAobGVtYnJlLXNlIGRlIGdyYXZhciAlcyB0YW1iw6ltLikiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJUaXBvIGRlIHLDs3R1bG8gZG8gZGlzY28gZ3JhdmFkbyBlbSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MTEgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODgKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiU2luY3Jvbml6YW5kbyBkaXNjb3MuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgInLDs3R1bG8gQlNEIG7Do28gZXN0w6EgYW5pbmhhZG8gZW0gdW1hIHBhcnRpw6fDo28gRE9TLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGnDp8OjbyBCU0QgXCIlY1wiIHZpbmN1bGFkYSDDoCBwYXJ0acOnw6NvIERPUyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJGYXRpYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRnNpemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgIkJzaXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNQorbXNnaWQgIkNwZyIKK21zZ3N0ciAiQ3BnIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZlY2hhbWVudG8gZG8gZGlzcG9zaXRpdm8gZmFsaG91IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkNoYW1hbmRvIGlvY3RsKCkgcGFyYSByZWxlciB0YWJlbGEgZGUgcGFydGnDp8Ojby4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY1Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIlJlbGVpdHVyYSBkYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBmYWxob3UuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiTyBrZXJuZWwgYWluZGEgdXNhIGEgdGFiZWxhIGFudGlnYS4gQSBub3ZhIHRhYmVsYSBzZXLDoSB1c2FkYSBuYSBwcsOzeGltYSByZWluaWNpYWxpemHDp8OjbyBvdSBhcMOzcyB2b2PDqiBleGVjdXRhciBwYXJ0cHJvYmUoOCkgb3Uga3BhcnR4KDgpLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICJGYWxoYSBhbyByZW1vdmVyIHBhcnRpw6fDo28gJXp1IGRvIHNpc3RlbWEiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkZhbGhhIGFvIGF0dWFsaXphciBpbmZvcm1hw6fDtWVzIGRvIHNpc3RlbWEgc29icmUgYSBwYXJ0acOnw6NvICV6dSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAiRmFsaGEgYW8gYWRpY2lvbmFyIHBhcnRpw6fDo28gJXp1IGFvIHNpc3RlbWEiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290LiAiCittc2dzdHIgIk8ga2VybmVsIGFpbmRhIHVzYSBhcyBwYXJ0acOnw7VlcyBhbnRpZ2FzLiBBIG5vdmEgdGFiZWxhIHNlcsOhIHVzYWRhIG5hIHByw7N4aW1hIHJlaW5pY2lhbGl6YcOnw6NvLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAiY2lsaW5kcm8iCittc2dzdHJbMV0gImNpbGluZHJvcyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZXRvciIKK21zZ3N0clsxXSAic2V0b3JlcyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMzg4Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiQ29uZmlndXJhw6fDo28gZGUgZ2VvbWV0cmlhIGluY29tcGxldGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiVG9kYXMgYXMgcGFydGnDp8O1ZXMgcHJpbcOhcmlhcyBqw6EgZm9yYW0gZGVmaW5pZGFzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNgorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICJBIHBhcnRpw6fDo28gcHJpbcOhcmlhIG7Do28gZXN0w6EgZGlzcG9uw612ZWwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIkZhbGhhIGFvIGxlciB0YWJlbGEgZGUgcGFydGnDp8OjbyBlc3RlbmRpZGEgKHBvc2nDp8Ojbz0lanUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICJWb2PDqiBwb2RlIGZhemVyIGlzdG8gYSBwYXJ0aXIgZG8gbWVudSBkZSBmdW7Dp8O1ZXMgZXh0cmFzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIk1vZG8gY29tcGF0w612ZWwgY29tIERPUyBlc3TDoSBvYnNvbGV0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiTyBkaXNwb3NpdGl2byBhcHJlc2VudGEgdW0gdGFtYW5obyBkZSBzZXRvciBsw7NnaWNvIHF1ZSDDqSBtZW5vciBkbyBxdWUgbyB0YW1hbmhvIGRvIHNldG9yIGbDrXNpY28uIMOJIHJlY29tZW5kYWRvIGFsaW5oYXIgYW8gbGltaXRlIGRlIHRhbWFuaG8gZG8gc2V0b3IgZsOtc2ljbyAob3UgRS9TIMOzdGltbykgb3UsIGRvIGNvbnRyw6FyaW8sIGEgcGVyZm9ybWFuY2UgcG9kZSBzZXIgaW1wYWN0YWRhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiQ2lsaW5kcm9zIGNvbW8gdW5pZGFkZXMgZGUgZXhpYmnDp8OjbyBlc3TDoSBvYnNvbGV0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiTyB0YW1hbmhvIGRlc3RlIGRpc2NvIMOpICVzICglanUgYnl0ZXMpLiBPIGZvcm1hdG8gZGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gRE9TIG7Do28gcG9kZSBzZXIgdXNhZG8gZW0gdW5pZGFkZXMgY29tIHZvbHVtZXMgbWFpb3JlcyBkbyBxdWUgKCVsdSBieXRlcykgcGFyYSBzZXRvcmVzIGRlICVsdSBieXRlcy4gVXNlIG8gZm9ybWF0byBkZSB0YWJlbGEgZGUgcGFydGnDp8OjbyBHVUlEIChHUFQpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUzNAorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQb3Npw6fDo28gaW52w6FsaWRhIGVtIHVtYSBwYXJ0acOnw6NvIHByaW3DoXJpYSBlc3RlbmRpZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJPbWl0aW5kbyBwYXJ0acOnw7VlcyBhcMOzcyAjJXp1LiBFbGFzIHNlcsOjbyBleGNsdcOtZGFzIHNlIHZvY8OqIHNhbHZhciBlc3RhIHRhYmVsYSBkZSBwYXJ0acOnw6NvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIlBvbnRlaXJvIGRlIHbDrW5jdWxvIGV4dHJhIG5hIHRhYmVsYSBkZSBwYXJ0acOnw6NvICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiSWdub3JhbmRvIGRhZG9zIGV4dHJhcyBuYSB0YWJlbGEgZGUgcGFydGnDp8OjbyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAib21pdGluZG8gcGFydGnDp8OjbyB2YXppYSAoJXp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiQ3JpYWRvIHVtIG5vdm8gcsOzdHVsbyBkZSBkaXNjbyBET1MgY29tIG8gaWRlbnRpZmljYWRvciBkZSBkaXNjbyAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIkRpZ2l0ZSBvIGlkZW50aWZpY2Fkb3IgZG8gbm92byBkaXNjbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIlZhbG9yIGluY29ycmV0by4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiSWRlbnRpZmljYWRvciBkbyBkaXNjbyBhbHRlcmFkbyBkZSAweCUwOHggcGFyYSAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIklnbm9yYW5kbyBwYXJ0acOnw6NvIGVzdGVuZGlkYSBleHRyYSAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkEgb3DDp8OjbyBpbnbDoWxpZGEgMHglMDJ4JTAyeCBkYSBFQlIgKHBhcmEgYSBwYXJ0acOnw6NvICV6dSkgc2Vyw6EgY29ycmlnaWRhIHBvciBncmF2YcOnw6NvICh3KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJTZXRvciBpbmljaWFsICVqdSBmb3JhIGRvIGludGVydmFsby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDc2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIxIGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzgKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIkEgcGFydGnDp8OjbyAlenUgasOhIGVzdMOhIGRlZmluaWRhLiBFeGNsdWEtYSBhbnRlcyBkZSBhZGljaW9uw6EtbGEgbm92YW1lbnRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVsbHUgaXMgYWxyZWFkeSBhbGxvY2F0ZWQuIgorbXNnc3RyICJPIHNldG9yICVsbHUgasOhIGVzdMOhIGFsb2NhZG8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4NSBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzMAorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJOw6NvIGjDoSBzZXRvcmVzIGxpdnJlcyBkaXNwb27DrXZlaXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJBZGljaW9uYW5kbyB1bWEgcGFydGnDp8OjbyBsw7NnaWNhICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIlBhcnRpw6fDo28gJXp1OiBjb250w6ltIHNldG9yIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlBhcnRpw6fDo28gJXp1OiBhIGNhYmXDp2EgJWQgw6kgbWFpb3IgZG8gcXVlIG8gbcOheGltbyAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpw6fDo28gJXp1OiBvIHNldG9yICVkIMOpIG1haW9yIGRvIHF1ZSBvIG3DoXhpbW8gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGnDp8O1ZXMgJXp1OiBvIGNpbGluZHJvICVkIMOpIG1haW9yIGRvIHF1ZSBvIG3DoXhpbW8gJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IG9zIHNldG9yZXMgYW50ZXJpb3JlcyAldSBuw6NvIGVzdMOjbyBkZSBhY29yZG8gY29tIG8gdG90YWwgJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIlBhcnRpw6fDo28gJXp1OiBpbsOtY2lvcyBmw61zaWNvL2zDs2dpY28gZGlmZXJlbnRlcyAobsOjbyBMaW51eD8pOiBmw61zaWNvPSglZCwgJWQsICVkKSwgbMOzZ2ljbz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IGZpbnMgZsOtc2ljby9sw7NnaWNvIGRpZmVyZW50ZXM6IGbDrXNpY289KCVkLCAlZCwgJWQpLCBsw7NnaWNvPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IG7Do28gdGVybWluYSBlbSB1bSBsaW1pdGUgZGUgY2lsaW5kcm8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBhcnRpw6fDo28gJXp1OiBpbsOtY2lvIGRlIGRhZG9zIGludsOhbGlkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQYXJ0acOnw6NvICV6dTogc29icmVww7VlLXNlIMOgIHBhcnRpw6fDo28gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJQYXJ0acOnw6NvICV6dTogdmF6aWEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGnDp8OjbyBsw7NnaWNhICV6dTogbsOjbyBlc3TDoSBjb21wbGV0YW1lbnRlIG5hIHBhcnRpw6fDo28gJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIk8gdG90YWwgZGUgc2V0b3JlcyBhbG9jYWRvcywgJWxsdSwgw6kgbWFpb3IgZG8gcXVlIG8gbcOheGltbywgJWxsdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICJSZXN0YW0gJWxsZCBzZXRvcmVzIG7Do28gYWxvY2Fkb3MgZGUgJWxkIGJ5dGVzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICJQYXJ0acOnw6NvIGVzdGVuZGlkYSBqw6EgZXhpc3RlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzEKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3RzLiBGYWlsZWQgdG8gYWRkIGxvZ2ljYWwgcGFydGl0aW9uLiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvIGVzdGVuZGlkYSBuw6NvIGV4aXN0ZS4gRmFsaGEgYW8gYWRpY2lvbmFyIGEgcGFydGnDp8OjbyBsw7NnaWNhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiTyBuw7ptZXJvIG3DoXhpbW8gZGUgcGFydGnDp8O1ZXMgZm9pIGNyaWFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiVG9kYXMgYXMgcGFydGnDp8O1ZXMgcHJpbcOhcmlhcyBlc3TDo28gZW0gdXNvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJUb2RvIGVzcGHDp28gcGFyYSBwYXJ0acOnw7VlcyBwcmltw6FyaWFzIGVzdMOhIGVtIHVzby4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcmEgY3JpYXIgbWFpcyBwYXJ0acOnw7Vlcywgc3Vic3RpdHVhIHVtYSBwYXJ0acOnw6NvIHByaW3DoXJpYSBwb3IgdW1hIGVzdGVuZGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzAyCittc2dpZCAiQWxsIGxvZ2ljYWwgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiBBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvbi4iCittc2dzdHIgIlRvZGFzIGFzIHBhcnRpw6fDtWVzIGzDs2dpY2FzIGVzdMOjbyBlbSB1c28uIEFkaWNpb25hbmRvIHVtYSBwYXJ0acOnw6NvIHByaW3DoXJpYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlRpcG8gZGEgcGFydGnDp8OjbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiJXp1IHByaW3DoXJpYXMsICVkIGVzdGVuZGlkYXMsICV6dSBsaXZyZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJwcmltw6FyaWEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgImVzdGVuZGlkYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAicmVjaXBpZW50ZSBwYXJhIHBhcnRpw6fDtWVzIGzDs2dpY2FzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImzDs2dpY2EiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJudW1lcmFkbyBhIHBhcnRpciBkZSA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJUaXBvIGRlIHBhcnRpw6fDo28gaW52w6FsaWRhIFwiJWNcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBvIHNldG9yICVqZDogYnVzY2EgZmFsaG91IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiSWRlbnRpZmljYWRvciBkbyBkaXNjbyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJUaXBvIDAgc2lnbmlmaWNhIGVzcGHDp28gbGl2cmUgcGFyYSBtdWl0b3Mgc2lzdGVtYXMuIE1hbnRlciBwYXJ0acOnw7VlcyB0aXBvIDAgbsOjbyDDqSByZWNvbWVuZMOhdmVsLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsdGVyYXIgbyB0aXBvIGRhIHBhcnRpw6fDo28gZXN0ZW5kaWRhLCBhIHF1YWwgasOhIGVzdMOhIHNlbmRvIHVzYWRhIHBvciBwYXJ0acOnw7VlcyBsw7NnaWNhcy4gRXhjbHVhIGFzIHBhcnRpw6fDtWVzIGzDs2dpY2FzIHByaW1laXJvLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJOYWRhIGEgZmF6ZXIuIE9yZGVtIGrDoSBlc3TDoSBjb3JyZXRhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGFydGnDp8OjbyAlenU6IG7Do28gcG9zc3VpIMOhcmVhIGRlIGRhZG9zLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk5vdm8gaW7DrWNpbyBkb3MgZGFkb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBhcnRpw6fDo28gJXp1OiDDqSB1bWEgcGFydGnDp8OjbyBlc3RlbmRpZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiQSBvcMOnw6NvIGRlIGluaWNpYWxpemHDp8OjbyBuYSBwYXJ0acOnw6NvICV6dSBlc3TDoSBhZ29yYSBoYWJpbGl0YWRhLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJBIG9ww6fDo28gZGUgaW5pY2lhbGl6YcOnw6NvIGRhIHBhcnRpw6fDo28gJXp1IGVzdMOhIGFnb3JhIGRlc2FiaWxpdGFkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiRGlzcG9zaXRpdm8iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIkluaWNpYWxpemFyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNQorbXNnaWQgIklkIgorbXNnc3RyICJJZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzQKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiSW7DrWNpby1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIkZpbS1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXR0cnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJTaXN0ZW1hIEVGSSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICJFc3F1ZW1hIGRlIHBhcnRpw6fDtWVzIE1CUiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIEZhc3QgRmxhc2giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkJJT1MgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY4Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFydGnDp8OjbyBkZSBpbmljaWFsaXphw6fDo28gU29ueSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGFydGnDp8OjbyBkZSBpbmljaWFsaXphw6fDo28gTGVub3ZvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcyCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBvd2VyUEMgUFJlUCBpbmljaWFsaXphw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIk9OSUUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIk9OSUUgY29uZmlnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICJNaWNyb3NvZnQgcmVzZXJ2YWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBkYWRvcyBiw6FzaWNvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IG1ldGFkYWRvcyBMRE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBkYWRvcyBMRE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICJXaW5kb3dzIGFtYmllbnRlIGRlIHJlY3VwZXJhw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFyYWxlbG8gZ2VyYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIk1pY3Jvc29mdCBlc3Bhw6dvcyBkZSBhcm1hemVuYW1lbnRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg4Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiSFAtVVggZGFkb3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJIUC1VWCBzZXJ2acOnbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MworbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkxpbnV4IHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiTGludXggZGFkb3MgZGUgc2Vydmlkb3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJMaW51eCByYWl6ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiTGludXggcmFpeiAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIkxpbnV4IHJhaXogKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJMaW51eCByYWl6IChBUk0tNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiTGludXggcmFpelx0KElBLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eCByZXNlcnZhZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBlc3RlbmRpZGEgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExCittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIGRhZG9zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIGluaWNpYWxpemHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiRnJlZUJTRCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJBcHBsZSBIRlMvSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiQXBwbGUgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiQXBwbGUgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiQXBwbGUgUkFJRCBvZmZsaW5lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiQXBwbGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkFwcGxlIHLDs3R1bG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYgcmVjdXBlcmHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiQXBwbGUgYXJtYXplbmFtZW50byBjZW50cmFsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCittc2dpZCAiU29sYXJpcyByb290IgorbXNnc3RyICJTb2xhcmlzIHJhaXoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIKK21zZ2lkICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCittc2dzdHIgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMworbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMgYmFja3VwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIC92YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIC9ob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJTb2xhcmlzIHNldG9yIGFsdGVybmF0aXZvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmFkbyAxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmFkbyAyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQwCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmFkbyAzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmFkbyA0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmFkbyA1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ1Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIk5ldEJTRCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0QgY29uY2F0ZW5hZG8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICJOZXRCU0QgY3JpcHRvZ3JhZmFkbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiQ2hyb21lT1Mga2VybmVsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiQ2hyb21lT1Mgc2lzdGVtYSByYWl6IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIHJlc2VydmFkbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIk1pZG5pZ2h0QlNEIGRhZG9zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiTWlkbmlnaHRCU0Qgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkNlcGggSm9ybmFsIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCBqb3JuYWwgY3JpcHRvZ3JhZmFkbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICJDZXBoIE9TRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICJDZXBoIE9TRCBjcmlwdG9ncmFmYWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJEaXNjbyBDZXBoIGVtIGNyaWHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiRGlzY28gQ2VwaCBjcmlwdG9ncmFmYWRvIGVtIGNyaWHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJEaWFnbsOzc3RpY28gVk13YXJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICJWTXdhcmUgVmlydHVhbCBTQU4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICJWTXdhcmUgVmlyc3RvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4Cittc2dpZCAiVk13YXJlIFJlc2VydmVkIgorbXNnc3RyICJWTXdhcmUgUmVzZXJ2YWRvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJPcGVuQlNEIGRhZG9zIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiU2lzdGVtYSBkZSBhcnF1aXZvcyBRTlg2IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGxhbiA5IHBhcnRpw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NjEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiZmFsaGEgYW8gYWxvY2FyIGNhYmXDp2FsaG8gR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzQ0Cittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiUHJpbWVpcm8gTEJBIGVzcGVjaWZpY2FkbyBwZWxvIHNjcmlwdCBlc3TDoSBmb3JhIGRvIGludGVydmFsby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIsOabHRpbW8gTEJBIGVzcGVjaWZpY2FkbyBwZWxvIHNjcmlwdCBlc3TDoSBmb3JhIGRvIGludGVydmFsby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICJEZXNjb21wYXNzbyBubyB0YW1hbmhvIGRhIFBNQlIgR1BUICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSBzZXLDoSBjb3JyaWdpZG8gYW8gZ3JhdmFyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B0OiBzdGF0KCkgZmFsaG91IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgImdwdDogY2Fubm90IGhhbmRsZSBmaWxlcyB3aXRoIG1vZGUgJW8iCittc2dzdHIgImdwdDogbsOjbyBmb2kgcG9zc8OtdmVsIG1hbmlwdWxhciBhcnF1aXZvcyBjb20gbW9kbyAlbyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTEKK21zZ2lkICJHUFQgSGVhZGVyIgorbXNnc3RyICJDYWJlw6dhbGhvIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiRW50cmFkYXMgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiUHJpbWVpcm8gTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzMworbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICLDmmx0aW1vIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIkxCQSBhbHRlcm5hdGl2byIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiTEJBIGRlIGVudHJhZGFzIGRlIHBhcnRpw6fDo28iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJFbnRyYWRhcyBkZSBwYXJ0acOnw6NvIGFsb2NhZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiQSB0YWJlbGEgR1BUIHJlc2VydmEgZXN0w6EgYmFja3VwLCBtYXMgYSBwcmltw6FyaWEgcGFyZWNlIGVzdGFyIE9LIGUsIHBvciBpc3NvLCBlc3RhIHNlcsOhIHVzYWRhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJBIHRhYmVsYSBHUFQgcHJpbcOhcmlhIGVzdMOhIGNvcnJvbXBpZGEsIG1hcyBhIGJhY2t1cCBwYXJlY2UgZXN0YXIgT0sgZSwgcG9yIGlzc28sIGVzdGEgc2Vyw6EgdXNhZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxOAorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIG5vdCBvbiB0aGUgZW5kIG9mIHRoZSBkZXZpY2UuIFRoaXMgcHJvYmxlbSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIkEgdGFiZWxhIEdQVCBiYWNrdXAgbsOjbyBlc3TDoSBubyBmaW0gZG8gZGlzcG9zaXRpdm8uIEVzc2UgcHJvYmxlbWEgc2Vyw6EgY29ycmlnaWRvIGFvIGdyYXZhci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgInNlbSBzdXBvcnRlIGFvIGJpdCBcIiVzXCIgYXRyaWJ1dG8gZGUgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgc3RyaW5nIGRlIGF0cmlidXRvIEdQVCBcIiVzXCIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIlVVSUQgZGEgcGFydGnDp8OjbyBhbHRlcmFkYSBkZSAlcyBwYXJhICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNsYXRlIHBhcnRpdGlvbiBuYW1lLCBuYW1lIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiRmFsaGEgYW8gdHJhZHV6aXIgbyBub21lIGRhIHBhcnRpw6fDo28sIG5vbWUgbsOjbyBhbHRlcmFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk5vbWUgZGEgcGFydGnDp8OjbyBhbHRlcmFkbyBkZSBcIiVzXCIgdG8gXCIlLipzXCIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0NQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJPIGluw61jaW8gZGEgcGFydGnDp8OjbyDDqSBtZW5vciBxdWUgRmlyc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1MgorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIk8gZmltIGRlIHBhcnRpw6fDo28gZXhjZWRlIExhc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIGNvbnTDqW0gTUJSIGjDrWJyaWRhIC0tIGVzY3JldmVuZG8gYXBlbmFzIEdQVC4gVm9jw6ogdGVtIHF1ZSBzaW5jcm9uaXphciBhIE1CUiBtYW51YWxtZW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIk8gZGlzY28gbsOjbyBjb250w6ltIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyB2w6FsaWRhLiIKKworIyBjYWJlw6dhbGhvIHByaW3DoXJpbyBvdSBjYWJlw6dhbGhvIGRlIHVtYSBwYXJ0acOnw6NvIHByaW3DoXJpYSwgb3UgZGEgcHJpbWVpcmE/CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiVmVyaWZpY2HDp8OjbyBkZSBzb21hIENSQyBkbyBjYWJlw6dhbGhvIHByaW3DoXJpbyBpbnbDoWxpZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJWZXJpZmljYcOnw6NvIGRlIHNvbWEgQ1JDIGRvIGNhYmXDp2FsaG8gYmFja3VwIGludsOhbGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICJWZXJpZmljYcOnw6NvIGRlIHNvbWEgZGUgZW50cmFkYSBkZSBwYXJ0acOnw6NvIGludsOhbGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIlZlcmlmaWNhw6fDo28gZGUgc2FuaWRhZGUgZG8gTEJBIGRvIGNhYmXDp2FsaG8gcHJpbcOhcmlvIGludsOhbGlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiVmVyaWZpY2HDp8OjbyBkZSBzYW5pZGFkZSBkbyBMQkEgZG8gY2FiZcOnYWxobyBiYWNrdXAgaW52w6FsaWRhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSBuw6NvIGNvbmZlcmUgY29tIGEgcG9zacOnw6NvIHJlYWwgbm8gY2FiZcOnYWxobyBwcmltw6FyaW8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgbsOjbyBjb25mZXJlIGNvbSBhIHBvc2nDp8OjbyByZWFsIG5vIGNhYmXDp2FsaG8gYmFja3VwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiTyBkaXNjbyDDqSBwZXF1ZW5vIGRlbWFpcyBwYXJhIG1hbnRlciB0b2RvcyBvcyBkYWRvcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIkNhYmXDp2FsaG9zIHByaW3DoXJpbyBlIGJhY2t1cCBuw6NvIGNvbmZlcmVtLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV1IHNvYnJlcMO1ZS1zZSDDoCBwYXJ0acOnw6NvICV1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV1IMOpIGdyYW5kZSBkZW1haXMgcGFyYSBvIGRpc2NvLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIkEgcGFydGnDp8OjbyAldSB0ZXJtaW5hIGFudGVzIGRlbGEgY29tZcOnYXIuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIk5lbmh1bSBlcnJvIGRldGVjdGFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiVmVyc8OjbyBkbyBjYWJlw6dhbGhvOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgIlVzYWRvICV6dSBkZSAlenUgcGFydGnDp8O1ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJVbSB0b3RhbCBkZSAlanUgc2V0b3JlcyBsaXZyZXMgZGlzcG9uw612ZWlzIGVtICV1IHNlZ21lbnRvLiIKK21zZ3N0clsxXSAiVW0gdG90YWwgZGUgJWp1IHNldG9yZXMgbGl2cmVzIGRpc3BvbsOtdmVpcyBlbSAldSBzZWdtZW50byhzKSAobWFpb3IgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICIlZCBlcnJvIGRldGVjdGFkby4iCittc2dzdHJbMV0gIiVkIGVycm9zIGRldGVjdGFkb3MuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIkVzdGEgcGFydGnDp8OjbyBqw6EgZXN0w6Egc2VuZG8gdXNhZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIk8gc2V0b3IgJWp1IGrDoSBlc3TDoSBlbSB1c28uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBhIHBhcnRpw6fDo28gJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiTyDDumx0aW1vIHNldG9yIEdQVCB1c8OhdmVsIMOpICVqdSwgbWFzICVqdSDDqSByZXF1aXNpdGFkby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBmaXJzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiTyBwcmltZWlybyBzZXRvciBHUFQgdXPDoXZlbCDDqSAlanUsIG1hcyAlanUgw6kgcmVxdWlzaXRhZG8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICVzKS4iCittc2dzdHIgIkNyaWFkbyB1bSBub3ZvIHLDs3R1bG8gZGUgZGlzY28gR1BUIChHVUlEOiAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0NgorbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiRGlnaXRlIHVtIG5vdm8gVVVJRCBkZSBkaXNjbyAobm8gZm9ybWF0byA4LTQtNC00LTEyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiRmFsaGEgYW8gYW5hbGlzYXIgc2V1IFVVSUQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiSWRlbnRpZmljYWRvciBkZSBkaXNjbyBhbHRlcmFkbyBkZSAlcyBwYXJhICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiTsOjbyBow6EgZXNwYcOnbyBzdWZpY2llbnRlIHBhcmEgbm92YSB0YWJlbGEgZGUgcGFydGnDp8OjbyEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpw6fDo28gbsK6ICV6dSBlc3TDoSBmb3JhIGRvIGludGVydmFsbyAoaW7DrWNpbyBtw61uaW1vIMOpICU8UFJJdTY0PiBzZXRvcmVzKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpw6fDo28gbsK6ICV6dSBlc3TDoSBmb3JhIGRvIGludGVydmFsbyAoZmluYWwgbcOheGltbyDDqSAlPFBSSXU2ND4gc2V0b3JlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgdG8gYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIk8gbsO6bWVybyBkYSBwYXJ0acOnw6NvIHRlbSBxdWUgc2VyIG1lbm9yIHF1ZSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWxvY2FyIG1lbcOzcmlhISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIkNvbXByaW1lbnRvIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIGFsdGVyYWRvIGRlICU8UFJJdTMyPiBwYXJhICU8UFJJdTY0Pi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIk9zIGF0cmlidXRvcyBuYSBwYXJ0acOnw6NvICV6dSBmb3JhbSBhbHRlcmFkb3MgcGFyYSAweCUwMTY8UFJJeDY0Pi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIkluc2lyYSBvIGJpdCBlc3BlY8OtZmljbyBkZSBHVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgImZhbGhhIGFvIGF0aXZhciBiaXQgc2VtIHN1cG9ydGUgJWx1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIk8gYml0IGVzcGVjw61maWNvIGRlIEdVSUQgJWQgbmEgcGFydGnDp8OjbyAlenUgZXN0w6EgaGFiaWxpdGFkbyBhZ29yYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIk8gYml0IGVzcGVjw61maWNvIGRlIEdVSUQgJWQgbmEgcGFydGnDp8OjbyAlenUgZXN0w6EgZGVzYWJpbGl0YWRvIGFnb3JhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkEgb3DDp8OjbyAlcyBuYSBwYXJ0acOnw6NvICV6dSBlc3TDoSBoYWJpbGl0YWRhIGFnb3JhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJBIG9ww6fDo28gJXMgbmEgcGFydGnDp8OjbyAlenUgZXN0w6EgZGVzYWJpbGl0YWRhIGFnb3JhLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlRpcG8tVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOb21lIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiRXNwYcOnbyBsaXZyZSIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIkZhbGhhIGFvIHJlZGltZW5zaW9uYXIgcGFydGnDp8OjbyAjJXp1LiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiZGVzY29uaGVjaWRhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0kgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICJJbmZvcm1hw6fDo28gU0dJIGNyaWFkYSBubyBzZWd1bmRvIHNldG9yLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OAorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIkRldGVjdGFkbyB1bSByw7N0dWxvIGRlIGRpc2NvIFNHSSBjb20gc29tYSBkZSB2ZXJpZmljYcOnw6NvIGluY29ycmV0YS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiQ2lsaW5kcm9zIGbDrXNpY29zIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIlNldG9yZXMvY2lsaW5kcm8gZXh0cmFzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIkFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk0Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIkFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIGludsOhbGlkbyEgTyBhcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbyBkZXZlIHNlciBhIHVtIGNhbWluaG8gZGlmZXJlbnRlIGRlIHplcm87IHBvciBleGVtcGxvLCBcIi91bml4XCIgb3UgXCIvdW5peC5zYXZlXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIk5vbWUgZGUgYXJxdWl2byBkZSBpbmljaWFsaXphw6fDo28gZ3JhbmRlIGRlbWFpczogbcOheGltbyBkZSAlenUgYnl0ZS4iCittc2dzdHJbMV0gIk5vbWUgZGUgYXJxdWl2byBkZSBpbmljaWFsaXphw6fDo28gZ3JhbmRlIGRlbWFpczogbcOheGltbyBkZSAlenUgYnl0ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA3Cittc2dpZCAiQm9vdGZpbGUgbXVzdCBoYXZlIGEgZnVsbHkgcXVhbGlmaWVkIHBhdGhuYW1lLiIKK21zZ3N0ciAiTyBhcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbyBkZXZlIHRlciB1bSBjYW1pbmhvIGFic29sdXRvIChjb21wbGV0bykuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIkVzdGVqYSBjaWVudGUgZGUgcXVlIGEgZXhpc3TDqm5jaWEgZG8gYXJxdWl2byBkZSBpbmljaWFsaXphw6fDo28gbsOjbyDDqSBjb25mZXJpZGEuIE8gcGFkcsOjbyBkYSBTR0kgw6kgXCIvdW5peFwiIGUsIHBhcmEgbyBiYWNrdXAsIFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICJPIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIGF0dWFsIMOpOiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MAorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICJEaWdpdGUgbyBub3ZvIGFycXVpdm8gZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ1Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIk8gYXJxdWl2byBkZSBpbmljaWFsaXphw6fDo28gbsOjbyBmb2kgYWx0ZXJhZG8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiTyBhcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbyBmb2kgYWx0ZXJhZG8gcGFyYSBcIiVzXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk1Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiTWFpcyBkbyBxdWUgdW1hIGVudHJhZGEgZGUgZGlzY28gaW50ZWlybyBwcmVzZW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIk5lbmh1bWEgcGFydGnDp8OjbyBkZWZpbmlkYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKK21zZ2lkICJJUklYIGxpa2VzIGl0IHdoZW4gcGFydGl0aW9uIDExIGNvdmVycyB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJPIElSSVggZ29zdGEgcXVhbmRvIGEgcGFydGnDp8OjbyAxMSBhYnJhbmdlIHRvZG8gbyBkaXNjby4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvIGRlIGRpc2NvIGludGVpcm8gZGV2ZSBpbmljaWFyIG5vIGJsb2NvIDAsIG7Do28gbm8gYmxvY28gZGUgZGlzY28gJWQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjI3Cittc2dpZCAiUGFydGl0aW9uIDExIHNob3VsZCBjb3ZlciB0aGUgZW50aXJlIGRpc2suIgorbXNnc3RyICJBIHBhcnRpw6fDo28gMTEgZGV2ZXJpYSBhYnJhbmdlciB0b2RvIG8gZGlzY28uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiQXMgcGFydGnDp8O1ZXMgJWQgZSAlZCBzZSBzb2JyZXDDtWVtIHBvciAlZCBzZXRvci4iCittc2dzdHJbMV0gIkFzIHBhcnRpw6fDtWVzICVkIGUgJWQgc2Ugc29icmVww7VlbSBwb3IgJWQgc2V0b3Jlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICJJbnRlcnZhbG8gbsOjbyB1dGlsaXphZG8gZGUgJTh1IHNldG9yIC0gc2V0b3IgJTh1IgorbXNnc3RyWzFdICJJbnRlcnZhbG8gbsOjbyB1dGlsaXphZG8gZGUgJTh1IHNldG9yZXMgLSBzZXRvcmVzICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIkEgcGFydGnDp8OjbyBkZSBpbmljaWFsaXphw6fDo28gbsOjbyBleGlzdGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvIHN3YXAgbsOjbyBleGlzdGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA1Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICJBIHBhcnRpw6fDo28gc3dhcCBuw6NvIHBvc3N1aSBvIHRpcG8gc3dhcC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAiVm9jw6ogZXNjb2xoZXUgdW0gbm9tZSBkZSBhcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbyBpbmNvbXVtLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OAorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAiU29icmVwb3Npw6fDo28gZGUgcGFydGnDp8O1ZXMgbm8gZGlzY28uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAiVGVudGFuZG8gZ2VyYXIgZW50cmFkYSBkZSBkaXNjbyBpbnRlaXJvIGF1dG9tYXRpY2FtZW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDgKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIk8gZGlzY28gaW50ZWlybyBqw6EgZXN0w6EgY29iZXJ0byBjb20gcGFydGnDp8O1ZXMuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJFeGlzdGUgdW1hIHNvYnJlcG9zacOnw6NvIGRlIHBhcnRpw6fDtWVzIG5vIGRpc2NvLiBDb3JyaWphLWEgYW50ZXMhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc0IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIlByaW1laXJvICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiw4kgYWx0YW1lbnRlIHJlY29tZW5kw6F2ZWwgcXVlIGEgZMOpY2ltYSBwcmltZWlyYSBwYXJ0acOnw6NvIGN1YnJhIHRvZG8gbyBkaXNjbyBlIHNlamEgZG8gdGlwbyBcInZvbHVtZSBTR0lcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLDmmx0aW1vICVzIG91ICslcyBvdSArdGFtYW5ob3tLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg0IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICJBdmlzbzogaW9jdGwgZGUgQkxLR0VUU0laRSBmYWxob3UgZW0gJXMuIFVzYW5kbyBvIHZhbG9yIGdlb23DqXRyaWNvIGRlIGNpbGluZHJvIGRvICVsbHUuIEVzdGUgdmFsb3IgcG9kZSBzZXIgdHJ1bmNhZG8gZW0gZGlzcG9zaXRpdm9zID4gMzMuOCBHQi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTR0kgZGlza2xhYmVsLiIKK21zZ3N0ciAiQ3JpYWRvIHVtIG5vdm8gcsOzdHVsbyBkZSBkaXNjbyBTR0kuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAiU2ludG8gbXVpdG8sIHZvY8OqIHBvZGUgYWx0ZXJhciBhIHRhZyBhcGVuYXMgcGFyYSBwYXJ0acOnw7VlcyBuw6NvIHZhemlhcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiQ29uc2lkZXJlIG1hbnRlciBhIHBhcnRpw6fDo28gOSBjb21vIGNhYmXDp2FsaG8gZGUgdm9sdW1lICgwKSBlIGEgcGFydGnDp8OjbyAxMSBjb21vIHVtIHZvbHVtZSBpbnRlaXJvICg2KSwgdW1hIHZleiBxdWUgw6kgaXN0byBxdWUgSVJJWCBlc3BlcmEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiUmVjb21lbmRhLXNlIHF1ZSBhIHBhcnRpw6fDo28gbmEgcG9zacOnw6NvIDAgc2VqYSBkbyB0aXBvIFwidm9saGRyIFNHSVwiLCBqw6EgcXVlIG8gc2lzdGVtYSBJUklYIGlyw6EgdXPDoS1sYSBwYXJhIHJlY3VwZXJhciBkZSBzZXUgZGlyZXTDs3JpbyBmZXJyYW1lbnRhcyBpbmRlcGVuZGVudGVzIGNvbW8gbyBzYXNoIGUgbyBmeC4gQXBlbmFzIGEgc2XDp8OjbyBkZSBkaXNjbyBpbnRlaXJvIFwidm9sdW1lIFNHSVwiIHBvZGUgdmlvbGFyIGlzdG8uIFRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgZXRpcXVldGFyIGVzdGEgcGFydGnDp8OjbyBkZSBtb2RvIGRpZmVyZW50ZT8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzozOQorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIk7Do28gYXNzaW5hZGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgInJvb3QgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgInN3YXAgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAidXNyIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJEaXNjbyBpbnRlaXJvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAic3RhbmQgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAidmFyIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJob21lIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAic2V0b3JlcyBhbHQuIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJjYWNoZWZzIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAicmVzZXJ2YWRvIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiRGV0ZWN0YWRvIHLDs3R1bG8gZGUgZGlzY28gU3VuIGNvbSBzb21hIGRlIHZlcmlmaWNhw6fDo28gaW5jb3JyZXRhLiBQcm92YXZlbG1lbnRlIHNlcsOhIG5lY2Vzc8OhcmlvIGNvbmZpZ3VyYXIgdG9kb3Mgb3MgdmFsb3Jlcy4gUG9yIGV4ZW1wbG86IGNhYmXDp2FzLCBzZXRvcmVzIGUgcGFydGnDp8O1ZXMgb3UgZm9yw6dhciB1bSByw7N0dWxvIG5vdm8gKGNvbWFuZG8gcyBubyBtZW51IHByaW5jaXBhbCkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIkRldGVjdGFkbyByw7N0dWxvIGRlIGRpc2NvIFN1biBjb20gc29tYSBkZSB2ZXJpZmljYcOnw6NvIGluY29ycmV0YSBbJWRdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJEZXRlY3RhZG8gcsOzdHVsbyBkZSBkaXNjbyBTdW4gY29tIHZ0b2Muc2FuaXR5IGluY29ycmV0YSBbMHglMDh4XS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJEZXRlY3RhZG8gcsOzdHVsbyBkZSBkaXNjbyBTR0kgY29tIHZ0b2MubnBhcnRzIGluY29ycmV0YSBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJBdmlzbzogdmFsb3JlcyBpbmNvcnJldG9zIHByZWNpc2FtIHNlciBjb3JyaWdpZG9zIGUgc2Vyw6NvIGNvcnJpZ2lkb3MgcG9yIGdyYXZhw6fDo28gKHcpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTg3Cittc2dpZCAiSGVhZHMiCittc2dzdHIgIkNhYmXDp2FzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2V0b3Jlcy90cmlsaGEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJDcmlhZG8gdW0gbm92byByw7N0dWxvIGRlIGRpc2NvIFN1bi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV1IG7Do28gdGVybWluYSBlbSB1bSBsaW1pdGUgZGUgY2lsaW5kcm8uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiQSBwYXJ0acOnw6NvICV1IHNvYnJlcMO1ZS1zZSBhIG91dHJhcyBub3Mgc2V0b3JlcyAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIkludGVydmFsbyBuw6NvIHV0aWxpemFkbyAtIHNldG9yZXMgMC0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIkludGVydmFsbyBuw6NvIHV0aWxpemFkbyAtIHNldG9yZXMgJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICJPdXRyYXMgcGFydGnDp8O1ZXMgasOhIGNvYnJlbSBvIGRpc2NvIGludGVpcm8uIEV4Y2x1YSBvdSByZWR1emEgYWxndW1hcyBhbnRlcyBkZSB0ZW50YXIgbm92YW1lbnRlLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiw4kgcmVjb21lbmRhZG8gcXVlIGEgdGVyY2VpcmEgcGFydGnDp8OjbyBjdWJyYSBvIGRpc2NvIGludGVpcm8gZSBzZWphIGRvIHRpcG8gXCJEaXNjbyBpbnRlaXJvXCIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiQWxpbmhhbWVudG8gZG8gcHJpbWVpcm8gc2V0b3IgZGUgJXUgcGFyYSAldSBwYXJhIHNlciBubyBsaW1pdGUgZG8gY2lsaW5kcm8uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiTyBzZXRvciAlZCBqw6EgZXN0w6EgYWxvY2FkbyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIlZvY8OqIG7Do28gY29icml1IG8gZGlzY28gaW50ZWlybyBjb20gYSAzwqogcGFydGnDp8OjbywgbWFzIHNldSB2YWxvclxuIgorIiVsdSAlcyBjb2JyZSBhbGd1bWEgb3V0cmEgcGFydGnDp8Ojby4gU3VhIGVudHJhZGEgZm9pIGFsdGVyYWRhXG4iCisicGFyYSAlbHUgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIlNlIHZvY8OqIGRlc2VqYSBtYW50ZXIgY29tcGF0aWJpbGlkYWRlIGNvbSBTdW5PUy9Tb2xhcmlzLCBjb25zaWRlcmUgZGVpeGFyIGVzdGEgcGFydGnDp8OjbyBjb21vIHVtIGRpc2NvIGludGVpcm8gKDUpLCBjb21lw6dhbmRvIGVtIDAsIGNvbSAldSBzZXRvcmVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIlLDs3R1bG8gSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjgKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIlZvbHVtZSBJRCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc3OAorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkNpbGluZHJvcyBBbHRlcm5hdGl2b3MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiTsO6bWVybyBkZSBjaWxpbmRyb3MgYWx0ZXJuYXRpdm9zIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTA5Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIlNldG9yZXMgZXh0cmFzIHBvciBjaWxpbmRybyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkzMworbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJGYXRvciBkZSBpbnRlcmNhbGHDp8OjbyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJWZWxvY2lkYWRlIGRlIHJvdGHDp8OjbyAoUlBNKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIk7Dum1lcm8gZGUgY2lsaW5kcm9zIGbDrXNpY29zIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0NgorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIkNvbnNpZGVyZSBtYW50ZXIgYSBwYXJ0acOnw6NvIDMgY29tbyBEaXNjbyBpbnRlaXJvICg1KSxcbiIKKyJ1bWEgdmV6IHF1ZSBvIFN1bk9TL1NvbGFyaXMgZXNwZXJhIGlzdG8gZSBhdMOpIG1lc21vIG8gTGludXggZ29zdGEgZGlzdG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisiUmVjb21lbmRhLXNlIGZvcnRlbWVudGUgcXVlIGEgcGFydGnDp8OjbyBuYSBwb3Npw6fDo28gMFxuIgorInNlamEgZG8gdGlwbyBVRlMsIHNpc3RlbWEgZGUgYXJxdWl2b3MgRVhUMkZTIG91IHN3YXAgU3VuT3MuXG4iCisiQ29sb2NhciBhIHN3YXAgTGludXggYWxpIHBvZGUgZGVzdHJ1aXIgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBlXG4iCisidHJhdmFyIGEgaW5pY2lhbGl6YcOnw6NvLlxuIgorIlZvY8OqIHRlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgbWFyY2FyIGEgcGFydGnDp8OjbyBjb21vIExpbnV4IHN3YXA/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImEgb3BlcmHDp8OjbyBmYWxob3U6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJBVklTTzogZmFsaGEgYW8gYXBsaWNhciBhcyBvcMOnw7VlcyBkZSBwcm9wYWdhw6fDo28iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBkZXZpY2Ugd3JpdGUtcHJvdGVjdGVkLCBtb3VudGVkIHJlYWQtb25seSIKK21zZ3N0ciAiQVZJU086IGRpc3Bvc2l0aXZvIHByb3RlZ2lkbyBjb250cmEgZ3JhdmHDp8OjbzsgbW9udGFkbyBjb21vIHNvbWVudGUtbGVpdHVyYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAib3BlcmHDp8OjbyBwZXJtaXRpZGEgYXBlbmFzIHBhcmEgcm9vdCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMgasOhIGVzdMOhIG1vbnRhZGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIGluICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIGVtICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBwb250byBkZSBtb250YWdlbSBlbSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJuw6NvIGZvaSBtb250YXIgYSBvcmlnZW0gJXMgZW0gJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkIG9uICVzOyB1c2UgLXQgPHR5cGU+IG9yIHdpcGVmcyg4KSIKK21zZ3N0ciAibWFpcyBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBkZXRlY3RhZG9zIGVtICVzOyB1c2UgLXQgPHRpcG8+IG91IHdpcGVmcyg4KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJmYWxoYSBhbyBkZXRlcm1pbmFyIHRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGZpbGVzeXN0ZW0gdHlwZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgZXNwZWNpZmljYWRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bWEgZm9udGUgZGUgbW9udGFnZW0gZXNwZWNpZmljYWRhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvcMOnw7VlcyBkZSBtb250YWdlbTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgb3DDp8O1ZXMgZGUgbW9udGFnZW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJmYWxoYSBhbyBjb25maWd1cmFyIGRpc3Bvc2l0aXZvIGRlIGxvb3AgcGFyYSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgJXMiCittc2dzdHIgImRpc3Bvc2l0aXZvIGRlIGxvb3AgZW0gc29icmVwb3Npw6fDo28gZXhpc3RlIHBhcmEgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgImxvY2tpbmcgZmFpbGVkIgorbXNnc3RyICJibG9xdWVpbyBmYWxob3UiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudCBmYWxob3U6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJzaXN0ZW1hIGRlIGFycXVpdm9zIGZvaSBtb250YWRvLCBtYXMgZmFsaG91IGFvIGF0dWFsaXphciBhIHRhYmVsYSBkZSBtb250YWdlbSBkZSBlc3Bhw6dvIGRlIHVzdcOhcmlvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJzaXN0ZW1hIGRlIGFycXVpdm9zIGZvaSBtb250YWRvLCBtYXMgcXVhbHF1ZXIgb3BlcmHDp8OjbyBzdWJzZXF1ZW50ZSBmYWxob3U6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibyBwb250byBkZSBtb250YWdlbSBuw6NvIMOpIHVtIGRpcmV0w7NyaW8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgInBlcm1pc3PDo28gbmVnYWRhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICLDqSBuZWNlc3PDoXJpbyBzZXIgc3VwZXJ1c3XDoXJpbyBwYXJhIG1vbnRhciIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgIm8gcG9udG8gZGUgbW9udGFnZW0gZXN0w6Egb2N1cGFkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXMgasOhIG1vbnRhZG8gZW0gJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAiJXMgasOhIG1vbnRhZG8gb3UgcG9udG8gZGUgbW9udGFnZW0gb2N1cGFkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDg5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJvIHBvbnRvIGRlIG1vbnRhZ2VtIG7Do28gZXhpc3RlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIm8gcG9udG8gZGUgbW9udGFnZW0gw6kgdW0gdsOtbmN1bG8gc2ltYsOzbGljbyBwYXJhIGx1Z2FyIG5lbmh1bSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJvIGRpc3Bvc2l0aXZvIGVzcGVjaWFsICVzIG7Do28gZXhpc3RlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgImEgY2hhbWFkYSBkZSBzaXN0ZW1hIGRlIG1vdW50KDIpIGZhbGhvdTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJvIGRpc3Bvc2l0aXZvIGVzcGVjaWFsICVzIG7Do28gZXhpc3RlICh1bSBwcmVmaXhvIGRlIGNhbWluaG8gbsOjbyDDqSB1bSBkaXJldMOzcmlvKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgInBvbnRvIGRlIG1vbnRhZ2VtIG7Do28gbW9udGFkbyBvdSBvcMOnw6NvIGludsOhbGlkYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJuw6NvIMOpIHVtIHBvbnRvIGRlIG1vbnRhZ2VtIG91IG9ww6fDo28gaW52w6FsaWRhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIm9ww6fDo28gaW52w6FsaWRhOyBuw6NvIGjDoSBzdXBvcnRlIGEgbW92ZXIgdW1hIG1vbnRhZ2VtIHJlc2lkZW50ZSBzb2IgdW1hIG1vbnRhZ2VtIGNvbXBhcnRpbGhhZGEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICJvcMOnw6NvIGludsOhbGlkYTsgcGFyYSB2w6FyaW9zIHNpc3RlbWFzIGRlIGFycXVpdm9zIChleC46IG5mcywgY2lmcykgdm9jw6ogcG9kZSBwcmVjaXNhciBkZSB1bSBwcm9ncmFtYSBhdXhpbGlhciAvc2Jpbi9tb3VudC48dGlwbz4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcywgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgInRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyBpbmNvcnJldG8sIG9ww6fDo28gaW52w6FsaWRhLCBzdXBlcmJsb2NvIGludsOhbGlkbyBlbSAlcywgcMOhZ2luYSBkZSBjw7NkaWdvIG91IHByb2dyYW1hIGF1eGlsaWFyIGZhbHRhbmRvIG91IG91dHJvIGVycm8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICJ0YWJlbGEgZGUgbW9udGFnZW0gY2hlaWEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkIHN1cGVyYmxvY2sgb24gJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyBzdXBlcmJsb2NvIGVtICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAidGlwbyBkZSBzaXN0ZW1hIGRlIGFycXVpdm9zIGRlc2NvbmhlY2lkbyBcIiVzXCIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAidGlwbyBkZSBzaXN0ZW1hIGRlIGFycXVpdm9zIGRlc2NvbmhlY2lkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvIGUgc3RhdCgyKSBmYWxoYT8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgIm8ga2VybmVsIG7Do28gcmVjb25oZWNlICVzIGNvbW8gdW0gZGlzcG9zaXRpdm8gZGUgYmxvY287IHRhbHZleiBcIm1vZHByb2JlIGRyaXZlclwiIHNlamEgbmVjZXNzw6FyaW8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbzsgdGVudGUgXCItbyBsb29wXCIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIG7Do28gw6kgdW0gZGlzcG9zaXRpdm8gZGUgYmxvY28iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIG7Do28gw6kgdW0gZGlzcG9zaXRpdm8gZGUgYmxvY28gdsOhbGlkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBtb250YXIgJXMgY29tbyBzb21lbnRlLWxlaXR1cmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiVzIMOpIHByb3RlZ2lkbyBjb250cmEgZ3JhdmHDp8OjbywgbWFzIG8gbW9kbyBkZSBncmF2YcOnw6NvIGZvaSByZXF1aXNpdGFkbyBleHBsaWNpdGFtZW50ZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZW1vdW50ICVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG1vbnRhciBub3ZhbWVudGUgJXMgcGFyYSBncmF2YcOnw6NvLCBwb2lzIGVzdMOhIHByb3RlZ2lkbyBjb250cmEgZ3JhdmHDp8OjbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImJpbmQgJXMgZmFpbGVkIgorbXNnc3RyICJiaW5kICVzIGZhbGhvdSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAibmVuaHVtYSBtw61kaWEgbG9jYWxpemFkYSBlbSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudDsgcHJvYmFibHkgY29ycnVwdGVkIGZpbGVzeXN0ZW0gb24gJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBtb250YXI7IHNpc3RlbWEgZGUgYXJxdWl2b3MgcHJvdmF2ZWxtZW50ZSBjb3Jyb21waWRvIGVtICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDcyIGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgIm7Do28gbW9udGFkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAidW1vdW50IGZhbGhvdTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgInNpc3RlbWEgZGUgYXJxdWl2b3MgZm9pIGRlc21vbnRhZG8sIG1hcyBmYWxob3UgYW8gYXR1YWxpemFyIGEgdGFiZWxhIGRlIG1vbnRhZ2VtIGRlIGVzcGHDp28gZGUgdXN1w6FyaW8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgInNpc3RlbWEgZGUgYXJxdWl2b3MgZm9pIGRlc21vbnRhZG8sIG1hcyBxdWFscXVlciBvcGVyYcOnw6NvIHN1YnNlcXVlbnRlIGZhbGhvdTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIGRlIGJsb2NvIGludsOhbGlkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIHN1cGVyYmxvY28iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFyZ2V0IGlzIGJ1c3kiCittc2dzdHIgIm8gYWx2byBlc3TDoSBvY3VwYWRvIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmVuaHVtIHBvbnRvIGRlIG1vbnRhZ2VtIGVzcGVjaWZpY2FkbyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICLDqSBuZWNlc3PDoXJpbyBzZXIgc3VwZXJ1c3XDoXJpbyBwYXJhIGRlc21vbnRhciIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgImRpc3Bvc2l0aXZvcyBkZSBibG9jbyBuw6NvIHPDo28gcGVybWl0aWRvcyBubyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICJhIGNoYW1hZGEgZGUgc2lzdGVtYSBkZSB1bW91bnQoMikgZmFsaG91OiAlbSIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgIndhaXRwaWQgZmFsaG91ICglcykiCisKKyMgc2V0ID0gY29uanVudG8gZGUgaW5zdHJ1w6fDtWVzPyBvdSBvdXRyYSBjYXJhY3RlcsOtc3RpY2EgZG8gY3B1PworIzogbGliL3BhdGguYzoyMzkgc3lzLXV0aWxzL2xzY3B1LmM6MTc2MAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiZmFsaGEgYW8gY2FsbG9jYXRlIG8gY29uanVudG8gZGEgY3B1IgorCisjOiBsaWIvcGF0aC5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3QgJXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGEgbGlzdGEgZGUgQ1BVICVzIgorCisjOiBsaWIvcGF0aC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGEgbcOhc2NhcmEgZGEgQ1BVICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjczCittc2dpZCAiY2Fubm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIHNvcXVldGUgVU5JWCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgb3DDp8OjbyBwYXJhIHNvcXVldGUgVU5JWCIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo5MAorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY29uZWN0YXIgYW8gc29xdWV0ZSBVTklYIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgImEgcmVxdWlzacOnw6NvIHBseW1vdXRoICVjIG7Do28gZXN0w6EgaW1wbGVtZW50YWRhIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2Cittc2dpZCAiZ2V0cmFuZG9tKCkgZnVuY3Rpb24iCittc2dzdHIgImZ1bsOnw6NvIGdldHJhbmRvbSgpIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiZnVuw6fDtWVzIHBzZXVkby1hbGVhdMOzcmlhcyBkbyBsaWJjIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZXhhbWluYXIgbyBkaXNwb3NpdGl2byIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIlczogcmVzdWx0YWRvIGRlIGV4YW1lIGFtYsOtZ3VvOyB1c2Ugd2lwZWZzKDgpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IG7Do28gw6kgdW1hIHBhcnRpw6fDo28gZGUgc3dhcCB2w6FsaWRhIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IHNlbSBzdXBvcnRlIMOgIHZlcnPDo28gZGUgc3dhcCBcIiVzXCIiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NTkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgImZvcm1hdF9pc29fdGltZTogZXN0b3VybyBkZSBidWZmZXIuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAidGVtcG8gJWxkIGVzdMOhIGZvcmEgZG8gaW50ZXJ2YWxvLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbdXN1w6FyaW8+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkFsdGVyZSBzdWEgaW5mb3JtYcOnw6NvIGRlIGZpbmdlci5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDxub21lLWNvbXBsZXRvPiAgbm9tZSByZWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPGVzY3JpdMOzcmlvPiAgICAgICAgbsO6bWVybyBkbyBlc2NyaXTDs3Jpb1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDx0ZWxlZm9uZT4gICAgbsO6bWVybyBkbyB0ZWxlZm9uZSBjb21lcmNpYWxcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDx0ZWxlZm9uZT4gICAgICBuw7ptZXJvIGRvIHRlbGVmb25lIHJlc2lkZW5jaWFsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImNhbXBvICVzIMOpIGxvbmdvIGRlbWFpcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczogcG9zc3VpIGNhcmFjdGVyZXMgaWxlZ2FpcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgcHJvw61iZSBhIGRlZmluacOnw6NvIGRlICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiRXNjcml0w7NyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICJUZWxlZm9uZSBjb21lcmNpYWwiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiVGVsZWZvbmUgcmVzaWRlbmNpYWwiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxOTQgbG9naW4tdXRpbHMvY2hzaC5jOjE4NworbXNnaWQgImNhbm5vdCBoYW5kbGUgbXVsdGlwbGUgdXNlcm5hbWVzIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBsaWRhciBjb20gbcO6bHRpcGxvcyBub21lcyBkZSB1c3XDoXJpbyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI0OAorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICJBYm9ydGFkby4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBwb3NzdWkgdW0gdmFsb3IgaW5lc3BlcmFkbzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIG7Do28gcGVybWl0ZSBxdWFpc3F1ZXIgYWx0ZXJhw6fDtWVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJBcyBpbmZvcm1hw6fDtWVzIGRlIGZpbmdlciAqTsODTyogZm9yYW0gYWx0ZXJhZGFzLiBUZW50ZSBub3ZhbWVudGUgbWFpcyB0YXJkZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiQXMgaW5mb3JtYcOnw7VlcyBkZSBmaW5nZXIgZm9yYW0gYWx0ZXJhZGFzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDI1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgInZvY8OqICh1c3XDoXJpbyAlZCkgbsOjbyBleGlzdGUuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAidXN1w6FyaW8gXCIlc1wiIG7Do28gZXhpc3RlLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNyBsb2dpbi11dGlscy9jaHNoLmM6Mjg0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgInPDsyBwb2RlIGFsdGVyYXIgZW50cmFkYXMgbG9jYWlzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzIG7Do28gZXN0w6EgYXV0b3JpemFkbyBhIG1vc3RyYXIgYXMgaW5mb3JtYcOnw7VlcyBkZSBmaW5nZXIgZGUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIgbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICJDb250ZXh0byBkZSB1c3XDoXJpbyBkZXNjb25oZWNpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTggbG9naW4tdXRpbHMvY2hzaC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgbyBjb250ZXh0byBwYWRyw6NvIHBhcmEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NjkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJVSUQgdXNhZG8gbsOjbyBjb25mZXJlIGNvbSBvIFVJRCBkbyB1c3XDoXJpbyBwYXJhIG8gcXVhbCBlc3RhbW9zIGFsdGVyYW5kbywgYWx0ZXJhw6fDo28gbmVnYWRhIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIkFsdGVyYW5kbyBpbmZvcm1hw6fDtWVzIGRlIGZpbmdlciBkZSAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkluZm9ybWHDp8O1ZXMgZGUgZmluZ2VyIG7Do28gYWx0ZXJhZGFzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzcKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAiQWx0ZXJlIHNldSBzaGVsbCBkZSBsb2dpbi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgwCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIGVzcGVjaWZpY2EgbyBzaGVsbCBkZSBsb2dpblxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODEKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIGV4aWJlIHVtYSBsaXN0YSBkZSBzaGVsbHMgZSBzYWlcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAibyBzaGVsbCBwcmVjaXNhIHNlciB1bSBub21lIGRlIGNhbWluaG8gY29tcGxldG8iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJcIiVzXCIgbsOjbyBleGlzdGUiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICJcIiVzXCIgbsOjbyDDqSBleGVjdXTDoXZlbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIkF2aXNvOiBcIiVzXCIgbsOjbyBlc3TDoSBsaXN0YWRvIGVtICVzLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisiXCIlc1wiIG7Do28gZXN0w6EgbGlzdGFkbyBlbSAlcy5cbiIKKyJVc2UgJXMgLWwgcGFyYSB2ZXIgYSBsaXN0YS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgbsOjbyBlc3TDoSBhdXRvcml6YWRvIGEgYWx0ZXJhciBvIHNoZWxsIGRlICVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiVUlEIHVzYWRvIG7Do28gY29uZmVyZSBjb20gbyBVSUQgZG8gdXN1w6FyaW8gcGFyYSBvIHF1YWwgZXN0YW1vcyBhbHRlcmFuZG8sIGFsdGVyYcOnw6NvIGRlIHNoZWxsIG5lZ2FkYSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAic2V1IHNoZWxsIG7Do28gZXN0w6EgZW0gJXMsIGFsdGVyYcOnw6NvIGRlIHNoZWxsIG5lZ2FkYSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIkFsdGVyYW5kbyBvIHNoZWxsIHBhcmEgbyB1c3XDoXJpbyAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAiTm92byBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiU2hlbGwgbsOjbyBhbHRlcmFkby4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2hlbGwgKk7Dg08qIGFsdGVyYWRvLiBUZW50ZSBub3ZhbWVudGUgbWFpcyB0YXJkZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwYXduYW0gZmFsaG91XG4iCisiU2hlbGwgKk7Dg08qIGFsdGVyYWRvLiBUZW50ZSBub3ZhbWVudGUgbWFpcyB0YXJkZS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiU2hlbGwgYWx0ZXJhZG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJVc286ICVzIDxhcnF1aXZvLXNlbmhhPiA8dXN1w6FyaW8+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiZm9ybWF0byBkZSBob3JhIGRlc2NvbmhlY2lkbzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiSW50ZXJyb21waWRvICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM1IGxvZ2luLXV0aWxzL2xhc3QuYzo0NDYgbG9naW4tdXRpbHMvbGFzdC5jOjg5MgorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAidGFtYW5obyBkZSBwcsOpLWFsb2Nhw6fDo28gZXhjZWRpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbPHVzdcOhcmlvPi4uLl0gWzx0dHk+Li4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIk1vc3RyYSB1bWEgbGlzdGFnZW0gZG9zIMO6bHRpbW9zIHVzdcOhcmlvcyBhdXRlbnRpY2Fkb3MuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzgKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTxuw7ptZXJvPiAgICAgICAgICAgIHF1YW50aWRhZGUgZGUgbGluaGFzIHBhcmEgbW9zdHJhclxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIgLWEsIC0taG9zdGxhc3QgICAgICAgZXhpYmUgbm9tZXMgZGUgbcOhcXVpbmEgbmEgw7psdGltYSBjb2x1bmFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MAorbXNnaWQgIiAtZCwgLS1kbnMgICAgICAgICAgICB0cmFuc2xhdGUgdGhlIElQIG51bWJlciBiYWNrIGludG8gYSBob3N0bmFtZVxuIgorbXNnc3RyICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhZHV6IG8gbsO6bWVybyBkZSBJUCBwYXJhIHVtIG5vbWUgZGUgbcOhcXVpbmFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxhcnF1aXZvPiB1c2EgdW0gYXJxdWl2byBlc3BlY8OtZmljbyBlbSB2ZXogZGUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiAtRiwgLS1mdWxsdGltZXMgICAgICBtb3N0cmEgaG9yw6FyaW9zIGUgZGF0YXMgY29tcGxldG9zIGRlIGxvZ2luIGUgbG9nb3V0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlwICAgICAgICAgICAgIGV4aWJlIG7Dum1lcm9zIGRlIElQIG5hIGFub3Rhw6fDo28gbsO6bWVyb3MtZS1wb250b3NcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtbiwgLS1saW1pdCA8bsO6bWVybz4gcXVhbnRpZGFkZSBkZSBsaW5oYXMgcGFyYSBtb3N0cmFyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIG7Do28gZXhpYmUgbyBjYW1wbyBkZSBub21lIGRlIG3DoXF1aW5hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8aG9yYT4gICBleGliZSBhcyBsaW5oYXMgZGVzZGUgbyBob3LDoXJpbyBlc3BlY2lmaWNhZG9cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC10LCAtLXVudGlsIDxob3JhPiAgIGV4aWJlIGFzIGxpbmhhcyBhdMOpIG8gaG9yw6FyaW8gZXNwZWNpZmljYWRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXAsIC0tcHJlc2VudCA8aG9yYT4gZXhpYmUgcXVlbSBlc3RhdmEgcHJlc2VudGUgbm8gaG9yw6FyaW8gZXNwZWNpZmljYWRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZXhpYmUgb3Mgbm9tZXMgZGUgZG9tw61uaW8gZSB1c3XDoXJpbyBjb21wbGV0b3NcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MQorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisiIC14LCAtLXN5c3RlbSAgICAgICAgIGV4aWJlIGVudHJhZGFzIGRlIGRlc2xpZ2FtZW50byBkbyBzaXN0ZW1hIGUgYWx0ZXJhw6fDtWVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbm8gbsOtdmVsIGRlIGV4ZWN1w6fDo29cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0bz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgbW9zdHJhIG1hcmNhcyBkZSB0ZW1wbyB1c2FuZG8gbyA8Zm9ybWF0bz46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJXMgaW5pY2lhICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG7Dum1lcm8iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAidmFsb3IgZGUgaG9yw6FyaW8gaW52w6FsaWRvIFwiJXNcIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHJldGlyYXIgcHJpdmlsw6lnaW9zIGRvIGdydXBvIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiaW5pY2lhbGl6YcOnw6NvIGRlIGxpYnVzZXIgZmFsaG91OiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAiYWx0ZXJhw6fDo28gZGUgYXRyaWJ1dG8gZGUgdXN1w6FyaW8gZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJhdHJpYnV0byBkZSB1c3XDoXJpbyBuw6NvIGFsdGVyYWRvOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICJGQVRBTDogbsOjbyBmb2kgcG9zc8OtdmVsIHJlYWJyaXIgdHR5OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJGQVRBTDogJXMgbsOjbyDDqSB1bSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFsaG91OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2htb2QgKCVzLCAldSkgZmFsaG91OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiRkFUQUw6IHR0eSBpbnbDoWxpZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIkZBVEFMOiAlczogYWx0ZXJhw6fDo28gZGUgcGVybWlzc8O1ZXMgZmFsaG91OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIsOabHRpbW8gbG9naW46ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAiYSBwYXJ0aXIgZGUgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgImVtOiAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgImdyYXZhw6fDo28gZG8gw7psdGltbyBsb2cgZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIkRJU0NBR0VNIEVNICVzIFBPUiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBDT01PIFJPT1QgRU0gJXMgQSBQQVJUSVIgREUgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIkxPR0lOIENPTU8gUk9PVCBFTSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiTE9HSU4gRU0gJXMgUE9SICVzIEEgUEFSVElSIERFICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiTE9HSU4gRU0gJXMgUE9SICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY4NgorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgImxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgImZhbGhhIGRlIFBBTTsgYWJvcnRhbmRvOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgaW5pY2lhbGl6YXIgbyBQQU06ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJMT0dJTiBGQUxIT1U6ICV1IEEgUEFSVElSIERFICVzIFBBUkEgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJMb2dpbiBpbmNvcnJldG9cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIk7Dmk1FUk8gRVhDRVNTSVZPIERFIFRFTlRBVElWQVMgREUgTE9HSU4gKCV1KSBBIFBBUlRJUiBERSAlcyBQQVJBICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJTRVNTw4NPIERFIExPR0lOIEZBTEhPVTogQSBQQVJUSVIgREUgJXMgUEFSQSAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxvZ2luIGluY29ycmV0b1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiUHJvYmxlbWEgbmEgY29uZmlndXJhw6fDo28gZGUgc2Vzc8OjbywgYWJvcnRhbmRvLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAibm9tZSBkZSB1c3XDoXJpbyBOVUxPIGVtICVzOiVkLiBBYm9ydGFuZG8uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIGZhbGhvdTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBbLXBdIFstaCA8bcOhcXVpbmE+XSBbLUhdIFstZl0gPHVzdcOhcmlvPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAwCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkluaWNpYSB1bWEgc2Vzc8OjbyBubyBzaXN0ZW1hLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDMKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgLXAgICAgICAgICAgICAgbsOjbyBkZXN0csOzaSBvIGFtYmllbnRlIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICAgIGlnbm9yYSBhdXRlbnRpY2HDp8OjbyBkZSB1bSBzZWd1bmRvIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDUKK21zZ2lkICIgLWggPGhvc3Q+ICAgICAgaG9zdG5hbWUgdG8gYmUgdXNlZCBmb3IgdXRtcCBsb2dnaW5nIgorbXNnc3RyICIgLWggPG3DoXF1aW5hPiAgIG5vbWUgZGUgbcOhcXVpbmEgYSBzZXIgdXNhZGEgbm8gbG9naW4gdXRtcCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA2Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAtSCAgICAgICAgICAgICBzdXByaW1lIG5vbWUgZGUgbcOhcXVpbmEgbm8gcHJvbXB0IGRlIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICIlczogdGVtcG8gZXNnb3RhZG8gYXDDs3MgJXUgc2VndW5kb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCDDqSBwYXJhIGFwZW5hcyBzdXBlcnVzdcOhcmlvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTm9tZSBkZSB1c3XDoXJpbyBpbnbDoWxpZG8gXCIlc1wiIGVtICVzOiVkLiBBYm9ydGFuZG8uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImluaWNpYWxpemHDp8OjbyBkZSBncnVwb3MgZmFsaG91OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjg4Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiVm9jw6ogdGVtIHVtYSBub3ZhIG1lbnNhZ2VtLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiVm9jw6ogdGVtIHVtYSBtZW5zYWdlbS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGFsdGVyYcOnw6NvIGRlIGRpcmV0w7NyaW8gZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJGYXplbmRvIGxvZ2luIGNvbSBob21lID0gXCIvXCIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3NgorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgbyBzaGVsbCBzY3JpcHQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3OAorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJuZW5odW0gc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMgY29udMOpbSB1bSB2YWxvciBudW3DqXJpY28gaW52w6FsaWRvOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MzgzCittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAic3RhdHVzIGRlIGxvZ2luIGRhIGh1c2g6IHJlc3RhdXJhw6fDo28gZGUgSURzIG9yaWdpbmFpcyBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgIm7Do28iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3IG1pc2MtdXRpbHMvbHNibGsuYzoxODYKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIm5vbWUgZGUgdXN1w6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIk5vbWUgZGUgdXN1w6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIklEIGRvIHVzdcOhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAic2VuaGEgbsOjbyDDqSBuZWNlc3PDoXJpYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIlNlbmhhIG7Do28gbmVjZXNzw6FyaWEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgImxvZ2luIHBvciBzZW5oYSBkZXNhYmlsaXRhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIkxvZ2luIHBvciBzZW5oYSBkZXNhYmlsaXRhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAic2VuaGEgZGVmaW5pZGEsIG1hcyB0cmF2YWRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiU2VuaGEgZXN0w6EgdHJhdmFkYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAibG9naW4gZGVzYWJpbGl0YWRvIHBvciBub2xvZ2luKDgpIG91IHBhbV9ub2xvZ2luKDgpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJsb2dpbiBkZXNhYmlsaXRhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICJub21lIHByaW3DoXJpbyBkbyBncnVwbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJHcnVwbyBwcmltw6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiSUQgZG8gZ3J1cG8gcHJpbcOhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIm5vbWVzIGRlIGdydXBvcyBzdXBsZW1lbnRhcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJHcnVwb3Mgc3VwbGVtZW50YXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSURzIGRlIGdydXBvcyBzdXBsZW1lbnRhcmVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJJRHMgZGUgZ3J1cG9zIHN1cGxlbWVudGFyZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgImRpcmV0w7NyaW8gaG9tZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiRGlyZXTDs3JpbyBob21lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJzaGVsbCBkZSBsb2dpbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiU2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIm5vbWUgY29tcGxldG8gZGUgdXN1w6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkNhbXBvIGdlY29zIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAiZGF0YSBkbyDDumx0aW1vIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIsOabHRpbW8gbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiw7psdGltbyB0dHkgdXNhZG8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiw5psdGltbyB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAibm9tZSBkZSBtw6FxdWluYSBkYSDDumx0aW1hIHNlc3PDo28iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiw5psdGltbyBub21lIGRlIG3DoXF1aW5hIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgImRhdGUgb2YgbGFzdCBmYWlsZWQgbG9naW4iCittc2dzdHIgImRhdGEgZGEgw7psdGltYSBmYWxoYSBkZSBsb2dpbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkZhbGhhIGRlIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIm9uZGUgcXVlIG8gbG9naW4gZmFsaG91PyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIlRlcm1pbmFsIGRlIGZhbGhhIGRvIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJDb25maWd1cmHDp8O1ZXMgZGUgaHVzaCBkbyB1c3XDoXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIkh1c2giCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJkaWFzIHF1ZSBvIHVzdcOhcmlvIMOpIGF2aXNhZG8gZGEgZXhwaXJhw6fDo28gZGEgc2VuaGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICJJbnRlcnZhbG8gZGUgYXZpc28gZGUgZXhwaXJhw6fDo28gZGEgc2VuaGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJkYXRhIGRlIGV4cGlyYcOnw6NvIGRhIHNlbmhhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIkV4cGlyYcOnw6NvIGRhIHNlbmhhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgImRhdGEgZGEgw7psdGltYSBhbHRlcmHDp8OjbyBkYSBzZW5oYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJTZW5oYSBhbHRlcmFkYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJudW1iZXIgb2YgZGF5cyByZXF1aXJlZCBiZXR3ZWVuIGNoYW5nZXMiCittc2dzdHIgIm7Dum1lcm8gZGUgZGlhcyBleGlnaWRvcyBlbnRyZSBhbHRlcmHDp8O1ZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiVGVtcG8gbcOtbmltbyBwYXJhIGFsdGVyYcOnw6NvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICJuw7ptZXJvIG3DoXhpbW8gZGUgZGlhcyBxdWUgdW1hIHNlbmhhIHBvZGUgcGVybWFuZWNlciBpbmFsdGVyYWRhIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIlRlbXBvIG3DoXhpbW8gcGFyYSBhbHRlcmHDp8OjbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIm8gY29udGV4dG8gZGUgc2VndXJhbsOnYSBkbyB1c3XDoXJpbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkNvbnRleHRvIFNlbGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgcHJvY2Vzc29zIGV4ZWN1dGFkbyBwZWxvIHVzdcOhcmlvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICJQcm9jZXNzb3MgZW0gZXhlY3XDp8OjbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAibsO6bWVybyBleGNlc3Npdm8gZGUgY29saW5hcyBlc3BlY2lmaWNhZGFzLCBvIGxpbWl0ZSDDqSAlenUgY29sdW5hcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6NDU3Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIGhvcsOhcmlvIHNlbSBzdXBvcnRlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICJmYWxoYSBhbyBjb21wb3IgbyB0ZXh0byBkZSB0ZW1wbyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDMKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciBncnVwb3Mgc3VwbGVtZW50YXJlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJlcnJvIGludGVybm86IGNvbHVuYSBkZXNjb25oZWNpZGEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisiw5psdGltbyBsb2dpbjpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSB1c3XDoXJpb3MgY29uaGVjaWRvcyBubyBzaXN0ZW1hLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzIKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSBleHBpcmHDp8OjbyBkZSBzZW5oYXNcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMzCittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGV4aWJlIGRhZG9zIGVtIHVtIGZvcm1hdG8gc2ltaWxhciBhIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGV4aWJlIGVtIHVtIGZvcm1hdG8gZGUgc2HDrWRhIGV4cG9ydMOhdmVsXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZXhpYmUgZGFkb3MgZGFzIMO6bHRpbWFzIGZhbGhhcyBkZSBsb2dpbiBkbyB1c3XDoXJpb1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIHNvYnJlIGdydXBvc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz08Z3J1cG9zPiAgICBleGliZSB1c3XDoXJpb3MgcGVydGVuY2VudGVzIGEgdW0gZ3J1cG8gZW0gPGdydXBvcz5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIG1vc3RyYSBpbmZvcm1hw6fDtWVzIHNvYnJlIHNlc3PDtWVzIGRvIMO6bHRpbW8gbG9naW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgZG9zIHVzdcOhcmlvc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZXhpYmUgYXBlbmFzIHVzdcOhcmlvcyBkZSA8bG9naW5zPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGV4aWJlIGNhZGEgcGVkYcOnbyBkZSBpbmZvcm1hw6fDo28gZW0gdW1hIG5vdmEgbGluaGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBuw6NvIGV4aWJlIGNhYmXDp2FsaG9zXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIG7Do28gdHJ1bmNhIGEgc2HDrWRhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3RhPl0gICBkZWZpbmUgYXMgY29sdW5hcyBhIHNlcmVtIGV4aWJpZGFzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NAorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyByZWxhY2lvbmFkYSBhIGxvZ2luIHBvciBzZW5oYS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGV4aWJlIGVtIG1vZG8gbsOjbyB0cmF0YWRvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBleGliZSBjb250YXMgZGUgc2lzdGVtYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0PTx0aXBvPiBleGliZSBkYXRhcyBubyBmb3JtYXRvLCBjdXJ0bywgY29tcGxldG8gb3UgaXNvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZXhpYmUgY29udGFzIGRlIHVzdcOhcmlvc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkKK21zZ2lkICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGRpc3BsYXkgU0VMaW51eCBjb250ZXh0c1xuIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGV4aWJlIGNvbnRleHRvcyBTRUxpbnV4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0YSBlbnRyYWRhcyBkZSB1c3XDoXJpb3MgY29tIHVtIGNhcmFjdGVyZSBudWxvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKyIgICAgIC0td3RtcC1maWxlIDxjYW1pbmhvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIHVtIGNhbWluaG8gYWx0ZXJuYXRpdm8gcGFyYSB3dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiIKKyIgICAgIC0tYnRtcC1maWxlIDxjYW1pbmhvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIHVtIGNhbWluaG8gYWx0ZXJuYXRpdm8gcGFyYSBidG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQzNAorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgImZhbGhhIGFvIHJlcXVpc2l0YXIgZXN0YWRvIGRlIHNlbGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICJBcGVuYXMgdW0gdXN1w6FyaW8gcG9kZSBzZXIgZXNwZWNpZmljYWRvLiBVc2UgLWwgcGFyYSBtw7psdGlwbG9zIHVzdcOhcmlvcy4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBhdHJpYnV0b3MgZG8gdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAiZ2V0bGluZSgpIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiU2VuaGE6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTYwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5OTUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyaXB0b2dyYWZpYSBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPGdydXBvPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIkFjZXNzYSB1bSBub3ZvIGdydXBvLlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgInF1ZW0gw6kgdm9jw6o/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgImdydXBvIGluZXhpc3RlbnRlIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzYKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQgZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiUmVjdXJzYXIgZWR1Y2FkYW1lbnRlIHVtIGxvZ2luLlxuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJFc3RhIGNvbnRhIG7Do28gZXN0w6EgZGlzcG9uw612ZWwgbm8gbW9tZW50by5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAobsO6Y2xlbyBkZXNwZWphZG8pIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgImZhbGhhIGFvIG9idGVyIGF0cmlidXRvcyBkbyB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgImZhbGhhIGFvIGNyaWFyIG8gcHNldWRvdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQ4OCBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NjIKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGJsb3F1ZWFyIHNpbmFpcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI0IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzo0OTQKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAicG9sbCBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY3MAorbXNnaWQgImZhaWxlZCB0byBtb2RpZnkgZW52aXJvbm1lbnQiCittc2dzdHIgImZhbGhhIGFvIG1vZGlmaWNhciBvIGFtYmllbnRlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIm7Do28gcG9kZSBzZXIgdXNhZG8gcG9yIHVzdcOhcmlvcyBuw6NvIHJvb3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAic2VuaGEgaW5jb3JyZXRhIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBhIHNlc3PDo286ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NzkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGluaWNpYWxpemFyIGEgbcOhc2NhcmEgZGUgc2luYWwgcGFyYSBhIHNlc3PDo28iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc4NworbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgaW5pY2lhbGl6YXIgYSBtw6FzY2FyYSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgbWFuaXB1bGFkb3IgcGFyYSBhIHNlc3PDo28iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBtYW5pcHVsYWRvciBkZSBzaW5hbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgbcOhc2NhcmEgZGUgc2luYWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNyaWFyIHByb2Nlc3NvIGZpbGhvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbHRlcmFyIG8gZGlyZXTDs3JpbyBwYXJhICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3PDo28gdGVybWluYWRhLCBtYXRhbmRvIG8gc2hlbGwuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4ubW9ydG8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgYSB2YXJpw6F2ZWwgZGUgYW1iaWVudGUgUEFUSCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvcyBncnVwb3MiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJmYWxoYSBhbyB1c2FyIGNyZWRlbmNpYWlzOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyMiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvIGlkIGRlIGdydXBvIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgbyBpZCBkZSB1c3XDoXJpbyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MgorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCBuw6NvIHJlc3RhdXJhbSB2YXJpw6F2ZWlzIGRlIGFtYmllbnRlXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3J1cG8+ICAgICAgICAgICAgIGVzcGVjaWZpY2EgbyBncnVwbyBwcmltw6FyaW9cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdydXBvPiAgICAgICAgZXNwZWNpZmljYSB1bSBncnVwbyBzdXBsZW1lbnRhclxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBmYXogZG8gc2hlbGwgdW0gc2hlbGwgZGUgbG9naW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIgLWMsIC0tY29tbWFuZCA8Y29tYW5kbz4gICAgICAgICBwYXNzYSB1bSBjb21hbmRvIHBhcmEgbyBzaGVsbCBjb20gLWNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tYW5kbz4gICAgIHBhc3NhIHVtIGNvbWFuZG8gcGFyYSBvIHNoZWxsIGNvbSAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZSBuw6NvIGNyaWEgdW1hIG5vdmEgc2Vzc8Ojb1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAxCittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzc2EgLWYgcGFyYSBvIHNoZWxsIChwYXJhIGNzaCBvdSB0Y3NoKVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAyCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIGV4ZWN1dGEgPHNoZWxsPiBzZSAvZXRjL3NoZWxscyBwZXJtaXRpclxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmlhIHVtIG5vdm8gcHNldWRvdGVybWluYWxcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisiICUxJHMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcMOnw7Vlc10gLXUgPHVzdcOhcmlvPiBbWy0tXSA8Y29tYW5kbz5dXG4iCisiICUxJHMgW29ww6fDtWVzXSBbLV0gWzx1c3XDoXJpbz4gWzxhcmd1bWVudG8+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExOAorbXNnaWQgIiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJFeGVjdXRhIDxjb21hbmRvPiBjb20gbyBpZCBkZSB1c3XDoXJpbyBlIGlkIGRlIGdydXBvIGRvIDx1c3XDoXJpbz4uIFNlIC11IG7Do29cbiIKKyJmb3IgcGFzc2FkbywgdXNhLXNlIHNlbcOibnRpY2EgY29tcGF0w612ZWwgY29tIHN1KDEpIGUgbyBzaGVsbCDDqSBleGVjdXRhZGFcbiIKKyJBcyBvcMOnw7VlcyAtYywgLWYsIC1sIGUgLXMgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMgcGFyYSAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEyMworbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx1c3XDoXJpbz4gICAgICAgICAgICBub21lIGRlIHVzdcOhcmlvXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFstXSBbPHVzdcOhcmlvPiBbPGFyZ3VtZW50bz4uLi5dXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM4Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJBbHRlcmEgbyBpZCBkZSB1c3XDoXJpbyBlIGlkIGRlIGdydXBvIGVmZXRpdm8gcGFyYSBvIDx1c3XDoXJpbz4uXG4iCisiVW0gbWVybyAtIHJlc3VsdGEgZW0gLWwuIFNlIDx1c3XDoXJpbz4gbsOjbyBmb3IgZGFkbywgcHJlc3VtZSByb290LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICJuw6NvIGZvaSBwb3Nzw612ZWwgZXNwZWNpZmljYXIgbWFpcyBkbyBxdWUgJWQgZ3J1cG8gc3VwbGVtZW50YXIiCittc2dzdHJbMV0gIm7Do28gZm9pIHBvc3PDrXZlbCBlc3BlY2lmaWNhciBtYWlzIGRvIHF1ZSAlZCBncnVwb3Mgc3VwbGVtZW50YXJlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiZ3J1cG8gJXMgbsOjbyBleGlzdGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAibsOjbyBow6Egc3Vwb3J0ZSBhIC0tcHR5IG5vIHNldSBzaXN0ZW1hIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICJpZ25vcmFuZG8gLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgw6kgbXV0dWFtZW50ZSBleGNsdXNpdmEgY29tIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3DDp8O1ZXMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gZSAtLXVzZXIgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2b3MiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSBjb21hbmRvIGZvaSBlc3BlY2lmaWNhZG8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJhcGVuYXMgbyByb290IHBvZGUgZXNwZWNpZmljYXIgZ3J1cG9zIGFsdGVybmF0aXZvcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJ1c3XDoXJpbyBcIiVzXCIgbsOjbyBleGlzdGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAidXNhbmRvIHNoZWxsIHJlc3RyaW5naWRvICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJhdmlzbzogbsOjbyBmb2kgcG9zc8OtdmVsIGFsdGVyYXIgbyBkaXJldMOzcmlvIHBhcmEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNzZXRhdHRyIGZhbGhvdSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IG5lbmh1bWEgZW50cmFkYSBwYXJhIHJvb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBuZW5odW1hIGVudHJhZGEgcGFyYSByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiBzZW5oYSBkZSByb290IGlsZWfDrXZlbCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgYWNlc3NvIGFvIGNvbnNvbGUsIGEgY29udGEgcm9vdCBlc3TDoSB0cmF2YWRhLlxuIgorIlZlamEgYSBww6FnaW5hIG1hbiBkbyBzdWxvZ2luKDgpIHBhcmEgbWFpcyBkZXRhbGhlcy5cbiIKKyJcbiIKKyJQcmVzc2lvbmUgRW50ZXIgcGFyYSBjb250aW51YXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICJGb3JuZcOnYSBhIHNlbmhhIGRlIHJvb3QgcGFyYSBvIGxvZ2luOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIlByZXNzaW9uZSBFTlRFUiBwYXJhIG8gbG9naW46ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkZvcm5lw6dhIGEgc2VuaGEgZGUgcm9vdCBwYXJhIG1hbnV0ZW7Dp8Ojb1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJQcmVzc2lvbmUgRU5URVIgcGFyYSBtYW51dGVuw6fDo29cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIob3UgcHJlc3Npb25lIENvbnRybC1EIHBhcmEgY29udGludWFyKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgImFsdGVyYcOnw6NvIGRlIGRpcmV0w7NyaW8gcGFyYSByYWl6IGRvIHNpc3RlbWEgZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gZmFsaG91IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFtkaXNwb3NpdGl2byB0dHldXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDYKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiTG9naW4gY29tbyB1bSB1c3XDoXJpbyDDum5pY28uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgaW5pY2lhIHVtIHNoZWxsIGRlIGxvZ2luXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlZ3VuZG9zPiB0ZW1wbyBtw6F4aW1vIGRlIGVzcGVyYSBwb3IgdW1hIHNlbmhhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAocGFkcsOjbzogc2VtIGxpbWl0ZSlcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmEgYXJxdWl2b3MgZGUgc2VuaGEgZGlyZXRhbWVudGUsIHNlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRwd25hbSgzKSBmYWxoYXJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRlbXBvIGxpbWl0ZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJhcGVuYXMgbyBzdXBlcnVzdcOhcmlvIHBvZGUgZXhlY3V0YXIgZXN0ZSBwcm9ncmFtYSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGNvbnNvbGUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzQKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYmFuY28gZGUgZGFkb3MgZGUgc2VuaGFzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhciBzaGVsbCBkZSBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlRlbXBvIGVzZ290YWRvXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5Cittc2dpZCAiIgorImNhbm5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJuw6NvIGZvaSBwb3Nzw612ZWwgZXNwZXJhciBvIHNoZWxsIGRlIHN1XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFkaWNpb25hciBtb25pdG9yYW1lbnRvIGRlIGlub3RpZnkuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGV2ZW50b3MgZGUgaW5vdGlmeSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIk5vdmEgbGluaGEgZXN0cmFuaGEgbm8gYXJxdWl2by4gU2FpbmRvLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFtub21lLWFycXVpdm9dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIkRlc3BlamEgYXJxdWl2b3MgVVRNUCBlIFdUTVAgZW0gZm9ybWF0byBuw6NvIHRyYXRhZG8gKHJhdykuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICBleGliZSBkYWRvcyBhcGVuc2Fkb3MgbmEgbWVkaWRhIHF1ZSBjcmVzY2VcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTAKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgZXNjcmV2ZSBkYWRvcyBkZXNwZWphZG9zIG5vIGFycXVpdm8gdXRtcFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0IDxhcnF1aXZvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICBlc2NyZXZlIG5vIGFycXVpdm8gZW0gdmV6IGRhIHNhw61kYSBwYWRyw6NvXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSDDoCBlbnRyYWRhIHBhZHLDo28gYSBzZWd1aXIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIkRlc2ZhemltZW50byBkZSBkZXNwZWpvIHV0bXAgZGUgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIkRlc3Blam8gdXRtcCBkZSAlc1xuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIGFycXVpdm8gdGVtcG9yw6FyaW8iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogY3JpYcOnw6NvIGRlIHVtIGxpbmsgcGFyYSAlcyBmYWxob3UiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgdW0gY29udGV4dG8gcGFyYSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBzZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciB1bSBjb250ZXh0byBwYXJhICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMgaW5hbHRlcmFkbyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NworbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIHRyYXZhIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0Cittc2dpZCAibm8gY2hhbmdlcyBtYWRlIgorbXNnc3RyICJuZW5odW1hIGFsdGVyYcOnw6NvIHJlYWxpemFkYSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZmF6ZXIgY2htb2Qgbm8gYXJxdWl2byIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIkVkaXRhIG8gYXJxdWl2byBkZSBncnVwb3Mgb3UgZGUgc2VuaGFzLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJWb2PDqiBlc3TDoSB1c2FuZG8gZ3J1cG9zIHNvbWJyYSAoc2hhZG93KSBuZXN0ZSBzaXN0ZW1hLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYyCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJWb2PDqiBlc3TDoSB1c2FuZG8gc2VuaGFzIHNvbWJyYSAoc2hhZG93KSBuZXN0ZSBzaXN0ZW1hLlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiVm9jw6ogZ29zdGFyaWEgZGUgZWRpdGFyICVzIGFnb3JhIFtzL25dPyAiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIgorbXNnc3RyICIlcyBkZSAlcyAobGliYmxraWQgJXMsICVzKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgLS1sYWJlbCA8csOzdHVsbz4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCisKKyMgIi0tbWF0Y2gtdGFnIiBmb2kgam9nYWRvIHBhcmEgbGluaGEgZGUgYmFpeG8gcGFyYSByZXNwZWl0YXIgb3MgODAgY2FyYWN0ZXJlcy9saW5oYXMKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8YXJxdWl2bz5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0bz5dXG4iCisiICAgICAgIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkaXNwPiAuLi5dXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb2Zmc2V0IDxvZmZzZXQ+XSBbLS1zaXplIDxzaXplPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHRhbT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdG8+XSA8ZGlzcD4gLi4uXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdG8+XSA8ZGlzcD4gLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgZGVmYXVsdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhY2hlIGZpbGUgKC1jIC9kZXYvbnVsbCBtZWFucyBubyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxhcnF1aXZvPiBsw6ogZG8gPGFycXVpdm8+IGVtIHZleiBlIGxlciBkbyBhcnF1aXZvIGRlIGNhY2hlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFkcsOjbyAoLWMgL2Rldi9udWxsIHNpZ25pZmljYSBzZW0gY2FjaGUpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NQorbXNnaWQgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBkb24ndCBlbmNvZGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIG7Do28gY29kaWZpY2EgY2FyYWN0ZXJlcyBuw6NvIGltcHJpbcOtdmVpc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODYKK21zZ2lkICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgZ2FyYmFnZSBjb2xsZWN0IHRoZSBibGtpZCBjYWNoZVxuIgorbXNnc3RyICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgY29sZXRhIGRlIGxpeG8gbm8gY2FjaGUgZGUgYmxraWRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdG8+ICAgICBmb3JtYXRvIGRlIHNhw61kYTsgcG9kZSBzZXIgdW0gZGVudHJlOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvdSBmdWxsOyAocGFkcsOjbzogZnVsbClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5Cittc2dpZCAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3QgYWxsIGtub3duIGZpbGVzeXN0ZW1zL1JBSURzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKyIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdGEgdG9kb3Mgc2lzdGVtYXMgZGUgYXJxdWl2b3MvUkFJRHMgY29uaGVjaWRvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGUgc2FpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MAorbXNnaWQgIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBtb3N0cmEgdGFnKHMpIGVzcGVjaWZpY2FkYShzKSAocGFkcsOjbyDDqSBtb3N0cmFyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG9kYXMgYXMgdGFncylcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIiCisiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGxvY2FsaXphIGRpc3Bvc2l0aXZvIGNvbSB1bSB0b2tlbiBlc3BlY8OtZmljb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYXIgTk9NRT12YWxvcilcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkyCittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiIgorIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBwcm9jdXJhIGFwZW5hcyBvIHByaW1laXJvIGRpc3Bvc2l0aXZvIGNvbSBvIHRva2VuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYWRvIHBvciAtdFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTMKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLUwsIC0tbGFiZWwgPHLDs3R1bG8+ICAgICAgIGNvbnZlcnRlIFLDk1RVTE8gcGFyYSBub21lIGRlIGRpc3Bvc2l0aXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGNvbnZlcnRlIFVVSUQgcGFyYSBub21lIGRlIGRpc3Bvc2l0aXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiIKKyIgPGRpc3A+ICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYSBkaXNwb3NpdGl2byhzKSBwYXJhIHNvbmRhclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRyw6NvOiB0b2RvcyBkaXNwb3NpdGl2b3MpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIk9ww6fDtWVzIGRlIHNvbmRhZ2VtIGRlIGJhaXhvIG7DrXZlbDpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgc29uZGFnZW0gZGUgc3VwZXJibG9jb3MgZGUgYmFpeG8gbsOtdmVsIChpZ25vcmFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvIGNhY2hlKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IEkvTyBsaW1pdHNcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGp1bnRhIGluZm9ybWHDp8O1ZXMgc29icmUgbGltaXRlcyBFL1NcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHRhbT4gICAgICAgICAgIHNvYnJlc2NyZXZlIG8gdGFtYW5obyBkbyBkaXNwb3NpdGl2b1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHNvbmRhIG5hIHBvc2nDp8OjbyBkYWRhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDIKK21zZ2lkICIgLXUsIC0tdXNhZ2VzIDxsaXN0PiAgICAgICAgZmlsdGVyIGJ5IFwidXNhZ2VcIiAoZS5nLiAtdSBmaWxlc3lzdGVtLHJhaWQpXG4iCittc2dzdHIgIiAtdSwgLS11c2FnZXMgPGxpc3RhPiAgICAgICBmaWx0cmEgcGVsbyBcInVzb1wiIChleC46IC11IGZpbGVzeXN0ZW0scmFpZClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdGE+ICBmaWx0cmEgcG9yIHRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChleC46IC1uIHZmYXQsZXh0MylcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIobW9udGFkbywgcHRvIG1vbnQuIGRlc2NvbmhlY2lkbykiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiKGVtIHVzbykiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzkKK21zZ2lkICIobm90IG1vdW50ZWQpIgorbXNnc3RyICIobsOjbyBtb250YWRvKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImVycm86ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpdmFsZW50IHJlc3VsdCAocHJvYmFibHkgbW9yZSBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlLCB1c2Ugd2lwZWZzKDgpIHRvIHNlZSBtb3JlIGRldGFpbHMpIgorbXNnc3RyICIlczogcmVzdWx0YWRvIGFtYml2YWxlbnRlIChwcm92YXZlbG1lbnRlIG1haXMgc2lzdGVtYXMgZGUgYXJxdWl2b3Mgbm8gZGlzcG9zaXRpdm8sIHVzZSB3aXBlZnMoOCkgcGFyYSB2ZXIgbWFpcyBkZXRhbGhlcykiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAicGFsYXZyYS1jaGF2ZSBkZXNjb25oZWNpZGEgbm8gYXJndW1lbnRvIC11IDxsaXN0YT46IFwiJXNcIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgImVycm86IG8gYXJndW1lbnRvIC11IDxsaXN0YT4gZXN0w6EgdmF6aW8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAiZm9ybWF0byBkZSBzYcOtZGEgc2VtIHN1cG9ydGUgJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTkgbWlzYy11dGlscy93aXBlZnMuYzo2OTcKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBwb3Npw6fDo28iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKK21zZ2lkICJUb28gbWFueSB0YWdzIHNwZWNpZmllZCIKK21zZ3N0ciAiTsO6bWVybyBleGNlc3Npdm8gZGUgdGFncyBlc3BlY2lmaWNhZGFzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCittc2dpZCAiaW52YWxpZCBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRhbWFuaG8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIsOJIHBvc3PDrXZlbCBwZXNxdWlzYXIgYXBlbmFzIHBvciB1bSBwYXIgTk9NRT12YWxvciIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiLXQgcHJlY2lzYSBkZSB1bSBwYXIgTk9NRT12YWxvciIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgzMworbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIGRvZXMgbm90IHN1cHBvcnQgJ2xpc3QnIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIk8gbW9kbyBkZSBzb25kYWdlbSBkZSBiYWl4byBuw612ZWwgbsOjbyBvZmVyZWNlIHN1cG9ydGUgYW8gZm9ybWF0byBkZSBzYcOtZGEgXCJsaXN0XCIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiTyBtb2RvIGRlIHNvbmRhZ2VtIGRlIGJhaXhvIG7DrXZlbCByZXF1ZXIgdW0gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OTYKK21zZ2lkICJUaGUgbG9va3VwIG9wdGlvbiByZXF1aXJlcyBhIHNlYXJjaCB0eXBlIHNwZWNpZmllZCB1c2luZyAtdCIKK21zZ3N0ciAiQSBvcMOnw6NvIGRlIHByb2N1cmUgcmVxdWVyIHVtIHRpcG8gZGUgcGVzcXVpc2EgZXNwZWNpZmljYWRhIHVzYW5kbyAtdCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIG3DqnMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHNlbWFuYSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJ2YWxvciBkZSBzZW1hbmEgaW52w6FsaWRvOiB1c2UgMS01NCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBtYXJjYSBkZSB0ZW1wbyBvdSBub21lIGRlIG3DqnMgZGVzY29uaGVjaWRvOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAidmFsb3IgaW52w6FsaWRvIGRlIGRpYSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzcgbWlzYy11dGlscy9jYWwuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJ2YWxvciBkZSBkaWEgaW52w6FsaWRvOiB1c2UgMS0lZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODEgbWlzYy11dGlscy9jYWwuYzo0ODkKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAidmFsb3IgZGUgbcOqcyBpbnbDoWxpZG86IHVzZSAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJub21lIGRlIG3DqnMgZGVzY29uaGVjaWRvOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgInZhbG9yIGRlIGFubyBpbnbDoWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAidmFsb3IgZGUgYW5vIGludsOhbGlkbzogdXNlIGludGVpcm8gcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NTMwIG1pc2MtdXRpbHMvY2FsLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAidmFsb3IgZGUgc2VtYW5hIGludsOhbGlkbzogbyBhbm8gJWQgbsOjbyBwb3NzdWkgc2VtYW5hICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFtbW2RpYV0gbcOqc10gYW5vXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPG1hcmNhLWRlLXRlbXBvfG5vbWUtbcOqcz5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIkV4aWJlIHVtIGNhbGVuZMOhcmlvIG91IGFsZ3VtYSBwYXJ0ZSBkZWxlLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTkKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIkhhdmVuZG8gbmVuaHVtIGFyZ3VtZW50bywgZXhpYmUgbyBtw6pzIGF0dWFsLlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKK21zZ2lkICIgLTEsIC0tb25lICAgICAgICAgICAgIHNob3cgb25seSBhIHNpbmdsZSBtb250aCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICBtb3N0cmEgYXBlbmFzIHVtIMO6bmljbyBtw6pzIChwYWRyw6NvKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDMKK21zZ2lkICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHNob3cgdGhyZWUgbW9udGhzIHNwYW5uaW5nIHRoZSBkYXRlXG4iCittc2dzdHIgIiAtMywgLS10aHJlZSAgICAgICAgICAgbW9zdHJhIHRyw6pzIG1lc2VzIGFicmFuZ2VuZG8gYSBkYXRhXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAtbiwgLS1tb250aHMgPG7Dum0+ICAgIG1vc3RyYSBuw7ptIG1lc2VzIGluaWNpYW5kbyBjb20gbcOqcyBhdHVhbFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgLVMsIC0tc3BhbiAgICAgICAgICAgIGV4cGFuZGUgYSBkYXRhIGFvIGV4aWJpciBtw7psdGlwbG9zIG1lc2VzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgZG9taW5nbyBjb21vIHByaW1laXJvIGRpYSBkYSBzZW1hbmFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA3Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1tLCAtLW1vbmRheSAgICAgICAgICBzZWd1bmRhLWZlaXJhIGNvbW8gcHJpbWVpcm8gZGlhIGRhIHNlbWFuYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDgKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIHVzZSBkYXktb2YteWVhciBmb3IgYWxsIGNhbGVuZGFyc1xuIgorbXNnc3RyICIgLWosIC0tanVsaWFuICAgICAgICAgIHVzYSBkaWEgZG8gYW5vIHBhcmEgdG9kb3Mgb3MgY2FsZW5kw6FyaW9zXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOQorbXNnaWQgIiAgICAgLS1yZWZvcm0gPHZhbD4gICAgR3JlZ29yaWFuIHJlZm9ybSBkYXRlICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorbXNnc3RyICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIGRhdGEgZGUgcmVmb3JtYSBncmVnb3JpYW5hICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKK21zZ2lkICIgICAgIC0taXNvICAgICAgICAgICAgIGFsaWFzIGZvciAtLXJlZm9ybT1pc29cbiIKK21zZ3N0ciAiICAgICAtLWlzbyAgICAgICAgICAgICBhcGVsaWRvIHBhcmEgLS1yZWZvcm09aXNvXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIG1vc3RyYSB0b2RvIG8gYW5vXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAgbW9zdHJhIG9zIHByw7N4aW1vcyBkb3plIG1lc2VzXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTxuw7ptPl0gICAgbW9zdHJhIG7Dum1lcm9zIGRlIHNlbWFuYSBlbSBVUyBvdSBJU08tODYwMVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTQKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgICAgIC0tY29sb3JbPTxxdWFuZG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgY29sb3JpemEgbWVuc2FnZW5zIChhdXRvLCBhbHdheXMgb3UgbmV2ZXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiZGFkb3MgZGUgYXJxdWl2byByZXNpZGVudGUgbmEgbWVtw7NyaWEgZW0gcMOhZ2luYXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiZGFkb3MgZGUgYXJxdWl2byByZXNpZGVudGUgbmEgbWVtw7NyaWEgZW0gYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAidGFtYW5obyBkbyBhcnF1aXZvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAibm9tZSBkbyBhcnF1aXZvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJmYWxoYSBhbyBmYXplciBtaW5jb3JlOiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtbWFwOiAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gZmF6ZXIgbW1hcDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgImZhbGhhIGFvIGFicmlyOiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgImZhbGhhIGFvIGZhemVyIGZzdGF0OiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBhcnF1aXZvLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzYSBmb3JtYXRvIGRlIHNhw61kYSBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgZXhpYmUgdGFtYW5ob3MgZW0gYnl0ZXMgZW0gdmV6IGRlIHVtIGZvcm1hdG8gbGVnw612ZWxcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcxCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIG7Do28gZXhpYmUgb3MgY2FiZcOnYWxob3NcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcyCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gIG1vc3RyYSBjb2x1bmFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNhIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkb1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAibmVuaHVtIGFycXVpdm8gZXNwZWNpZmljYWRvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbG9yPlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiTG9jYWxpemEgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBwZWxvIHLDs3R1bG8gb3UgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgcmVzb2x2ZXIgXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgImRpc3Bvc2l0aXZvIGZvbnRlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICJwb250byBkZSBtb250YWdlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgInRpcG8gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgInRvZGFzIGFzIG9ww6fDtWVzIGRlIG1vbnRhZ2VtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib3DDp8O1ZXMgZGUgbW9udGFnZW0gZXNwZWPDrWZpY2FzIGRlIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0Cittc2dpZCAiRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAib3DDp8O1ZXMgZGUgbW9udGFnZW0gZXNwZWPDrWZpY2FzIGRlIEZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJyw7N0dWxvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAicsOzdHVsbyBkYSBwYXJ0acOnw6NvIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gbWFpb3I6bWVub3IgZG8gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgImHDp8OjbyBkZXRlY3RhZGEgcG9yIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJvcMOnw7VlcyBkZSBtb250YWdlbSBhbnRpZ2Egc2FsdmFzIHBvciAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAicG9udG8gZGUgbW9udGFnZW0gYW50aWdvIHNhbHZhIHBvciAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJ0YW1hbmhvIGRpc3BvbsOtdmVsIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJ0YW1hbmhvIHVzYWRvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgInBvcmNlbnRhZ2VtIGRlIHVzbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgInJhaXogZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiSUQgZGEgdGFyZWZhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAiSUQgZGUgbW9udGFnZW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAiY2FtcG9zIGRlIG1vbnRhZ2VtIG9wY2lvbmFpcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJvcMOnw7VlcyBkZSBwcm9wYWdhw6fDo28gVkZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZnJlcXXDqm5jaWEgZGUgZHVtcCg4KSBlbSBkaWFzIFthcGVuYXMgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAibsO6bWVybyBkZSBwYXNzYWdlbSBlbSBmc2NrKDgpIHBhcmFsZWxhIFthcGVuYXMgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICJhw6fDo28gZGVzY29uaGVjaWRhOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQzCittc2dpZCAibW91bnQiCittc2dzdHIgIm1vbnRhciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJkZXNtb250YXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInJlbW9udGFyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJtb3ZlciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODE0IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzcgc3lzLXV0aWxzL2VqZWN0LmM6NzE0CisjOiBzeXMtdXRpbHMvbW91bnQuYzozMjQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAiZmFsaGEgYW8gaW5pY2lhbGl6YXIgYSB0YWJlbGEgZG8gbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiZmFsaGEgYW8gaW5pY2lhbGl6YXIgbyBpdGVyYWRvciBkbyBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgImZhbGhhIGFvIGluaWNpYWxpemFyIHRhYmRpZmYgZG8gbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcMOnw7Vlc11cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIDxkaXNwLj4gfCA8cG9udG8tbW9udGFnZW0+XG4iCisiICUxJHMgW29ww6fDtWVzXSA8ZGlzcC4+IDxwb250by1tb250YWdlbT5cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIFstLXNvdXJjZSA8ZGlzcC4+XSBbLS10YXJnZXQgPGNhbWluaG8+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJMb2NhbGl6YSB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zIChtb250YWRvKS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgcGVzcXVpc2EgbmEgdGFiZWxhIGVzdMOhdGljYSBkZSBzaXN0ZW1hcyBkZSBhcnF1aXZvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgcGVzcXVpc2EgbmEgdGFiZWxhIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBtb250YWRvcyAoaW5jbHVpIG9ww6fDtWVzIGRlIGVzcGHDp28gZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHVzdcOhcmlvKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBwZXNxdWlzYSBuYSB0YWJlbGEgZG8ga2VybmVsIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBtb250YWRvcyAocGFkcsOjbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcG9sbFs9PGxpc3RhPl0gICBtb25pdG9yYSBhbHRlcmHDp8O1ZXMgbmEgdGFiZWxhIGRlIHNpc3RlbWFzIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBhcnF1aXZvcyBtb250YWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPG7Dum0+ICAgIGxpbWl0ZSBtw6F4aW1vIGVtIG1pbGlzc2VndW5kb3MgcXVlIC0tcG9sbCBibG9xdWVhcsOhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRlc2FiaWxpdGEgdG9kb3Mgb3MgZmlsdHJvcyBlbWJhcmNhZG9zLCBleGliZSB0b2Rvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb3Mgc2lzdGVtYXMgZGUgYXJxdWl2b3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzYSBjYXJhY3RlcmVzIEFTQ0lJIHBhcmEgZm9ybWF0YcOnw6NvIGRhIMOhcnZvcmVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBleGliZSB0YW1hbmhvcyBlbSBieXRlcyBlbSB2ZXogZGUgdW0gZm9ybWF0byBsZWfDrXZlbFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIG7Do28gY2Fub25pemEgYW8gY29tcGFyYXIgY2FtaW5ob3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaXphIGNhbWluaG9zIGV4aWJpZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGEgYSBzYcOtZGEgZGUgZGYoMSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiIKKyIgLWQsIC0tZGlyZWN0aW9uIDxwYWxhdnJhPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmXDp8OjbyBkYSBwZXNxdWlzYSwgXCJmb3J3YXJkXCIgb3UgXCJiYWNrd2FyZFwiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnRlIHLDs3R1bG9zIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTClcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmEgbm9tZXMgZGUgZGlzcG9zaXRpdm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIiCisiIC1GLCAtLXRhYi1maWxlIDxjYW1pbmhvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIGFycXVpdm8gYWx0ZXJuYXRpdm8gcGFyYSBvcMOnw7VlcyAtcywgLW0gb3UgLWtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgZXhpYmUgYXBlbmFzIG8gcHJpbWVpcm8gc2lzdGVtYSBkZSBhcnF1aXZvcyBlbmNvbnRyYWRvXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydGUgbyBzZW50aWRvIGRhcyBvY29ycsOqbmNpYXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzYSBmb3JtYXRvIGRlIHNhw61kYSBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUgc3lzLXV0aWxzL2xzbnMuYzo5MDIKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzYSBzYcOtZGEgbm8gZm9ybWF0byBkZSBsaXN0YVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKyIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2EgZXNwYcOnbyBkZSBub21lcyBhbHRlcm5hdGl2b3NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChhcnF1aXZvIC9wcm9jLzx0aWQ+L21vdW50aW5mbylcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuw6NvIGV4aWJlIG9zIGNhYmXDp2FsaG9zIGRlIGNvbHVuYXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisiIC1PLCAtLW9wdGlvbnMgPGxpc3RhPiAgbGltaXRhIG8gY29uanVudG8gZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3MgcG9yXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvcMOnw7VlcyBkZSBtb250YWdlbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIGFzIGNvbHVuYXMgZGUgc2HDrWRhIGEgc2VyZW0gbW9zdHJhZGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzAKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzYSBvIGZvcm1hdG8gZGUgc2HDrWRhIGNoYXZlPVwidmFsb3JcIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKyIgLVIsIC0tc3VibW91bnRzICAgICAgICBleGliZSB0b2RhcyBhcyBzdWJtb250YWdlbnMgcGFyYSBvcyBzaXN0ZW1hcyBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJxdWl2b3MgY29ycmVzcG9uZGVudGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNhIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkb1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8dGV4dG8+ICAgZGlzcG9zaXRpdm8gYSBzZXIgbW9udGFkbyAocG9yIG5vbWUsIG1haW9yOm3DrW5pbW8sXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8Y2FtaW5obz4gbyBjYW1pbmhvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFyYSB1c2FyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAgICAgLS10cmVlICAgICAgICAgICAgIGhhYmlsaXRhIHNhw61kYSBubyBmb3JtYXRvIGRlIMOhcnZvcmUgc2UgcG9zc8OtdmVsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gbyBkaXJldMOzcmlvIGRvIHBvbnRvIGRlIG1vbnRhZ2VtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgIGxpbWl0YSBvIGNvbmp1bnRvIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zIHBvciB0aXBvc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmEgc2lzdGVtYXMgZGUgYXJxdWl2b3MgY29tIGFsdm9zIGR1cGxpY2Fkb3NcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo5MDcKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbsOjbyB0cnVuY2EgdGV4dG8gZW0gY29sdW5hc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBuw6NvIG1vc3RyYSBbL2Rpcl0gcGFyYSBtb250YWdlbnMgYmluZCBvdSBidHJmc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiIKKyIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZmljYSBvIGNvbnRlw7pkbyBkYSB0YWJlbGEgZGUgbW9udGFnZW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRyw6NvIMOpIGZzdGFiKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIG1vc3RyYSBtYWlzIGRldGFsaGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiZGlyZcOnw6NvIGRlc2NvbmhlY2lkYTogXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQ1Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgVElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCBzw7MgYWNlaXRhIHVtIGFycXVpdm8sIG1hcyBtYWlzIGVzcGVjaWZpY2FtZW50ZSBwb3IgLS10YWItZmlsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgImFzIG9ww6fDtWVzIC0tdGFyZ2V0IGUgLS1zb3VyY2UgbsOjbyBwb2RlIHNlciB1c2FkYSBqdW50byBjb20gdW0gZWxlbWVudG8gZGUgbGluaGEgZGUgY29tYW5kbyBxdWUgbsOjbyDDqSB1bWEgb3DDp8OjbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJmYWxoYSBhbyBpbmljaWFsaXphciBvIGNhY2hlIGRvIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgImNvbHVuYSAlcyDDqSBuZWNlc3PDoXJpYSwgbWFzIC0tcG9sbCBuw6NvIGVzdMOhIGhhYmlsaXRhZGEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJhbHZvIGVzcGVjaWZpY2FkbyBtYWlzIGRlIHVtYSB2ZXoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgIm9yZGVtIGluY29ycmV0YTogJXMgZXNwZWNpZmljYWRvIGFudGVzIGRlICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMyCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgImFsdm8gbsOjbyBkZWZpbmlkbyAoZnNfZmlsZSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWNhbm9uaWNhbCB0YXJnZXQgcGF0aCAocmVhbDogJXMpIgorbXNnc3RyICJjYW1pbmhvIGRlIGFsdm8gbsOjbyBjYW7DtG5pY28gKHJlYWw6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgImFsdm8gbsOjbyBhbGNhbsOnw6F2ZWwgbmEgaW5pY2lhbGl6YcOnw6NvOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJhbHZvIG7Do28gYWxjYW7Dp8OhdmVsOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIm8gYWx2byBuw6NvIMOpIHVtIGRpcmV0w7NyaW8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICJhbHZvIGV4aXN0ZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgImZvbnRlIG7Do28gYWxjYW7Dp8OhdmVsIG5hIGluaWNpYWxpemHDp8OjbzogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICJuw6NvIGFsY2Fuw6fDoXZlbDogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXM9JXMgc2UgdHJhZHV6aXUgcGFyYSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE4OQorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICJmb250ZSBuw6NvIGRlZmluaWRhIChmc19zcGVjKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAic2VtIHN1cG9ydGUgw6AgdGFnIGZvbnRlOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAibsOjbyB2ZXJpZmljYSBhIGZvbnRlICVzIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAiZm9udGUgbsOjbyBhbGNhbsOnw6F2ZWw6ICVzOiAlbSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICJvIGZvbnRlIGRlIG1vbnRhZ2VtIG7Do28gXCJiaW5kXCIgJXMgw6kgdW0gZGlyZXTDs3JpbyBvdSBhcnF1aXZvIGNvbXVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgImEgZm9udGUgJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJmb250ZSAlcyBleGlzdGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJPcMOnw7VlcyBkZSBWRlM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJPcMOnw7VlcyBkZSBGUzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICJvcMOnw7VlcyBkZSBlc3Bhw6dvIGRlIHVzdcOhcmlvOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgInNlbSBzdXBvcnRlIMOgIHBvbMOtdGljYSBkZSBkZXNjYXJ0ZSBkZSDDoXJlYSBkZSBzd2FwOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG9ww6fDo28gZGUgcHJpb3JpZGFkZSBkZSDDoXJlYSBkZSBzd2FwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAibsOjbyB2ZXJpZmljYSBvIHRpcG8gZGUgRlMgJXMgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA1Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICJUaXBvIGRlIEZTIFwibm9uZVwiIMOpIHJlY29tZW5kYWRvIHBhcmEgYXBlbmFzIG9wZXJhw6fDtWVzIGRlIG1vdmUgb3UgXCJiaW5kXCIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIlcyBwYXJlY2UgbsOjbyBwb3NzdWlyIHN1cG9ydGUgbm8ga2VybmVsIGF0dWFsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE5IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAKK21zZ2lkICJjYW5ub3QgZGV0ZWN0IG9uLWRpc2sgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGV0ZWN0YXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgZW0gZGlzY28iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZG9lcyBub3QgbWF0Y2ggd2l0aCBvbi1kaXNrICVzIgorbXNnc3RyICIlcyBuw6NvIGNvcnJlc3BvbmRlIGNvbSAlcyBlbSBkaXNjbyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiJXMgZW0gZGlzY28gcGFyZWNlIG7Do28gcG9zc3VpciBzdXBvcnRlIG5vIGtlcm5lbCBhdHVhbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJ0aXBvIGRlIEZTIMOpICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICJwYXNzbm8gcmVjb21lbmRhZG8gZGUgRlMgcmFpeiDDqSAxIChhdHVhbCDDqSAlZCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQgZXJybyBkZSBhbsOhbGlzZSIKK21zZ3N0clsxXSAiJWQgZXJyb3MgZGUgYW7DoWxpc2UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgJWQgZXJybyIKK21zZ3N0clsxXSAiLCAlZCBlcnJvcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiwgJWQgYXZpc28iCittc2dzdHJbMV0gIiwgJWQgYXZpc29zIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICJTdWNlc3NvLCBuZW5odW0gZXJybyBvdSBhdmlzbyBkZXRlY3RhZG9cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIm9ww6fDo28gbG9uZ2EgdmF6aWEgYXDDs3MgYXJndW1lbnRvIC1sIG91IC0tbG9uZyIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjMKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgInNoZWxsIGRlc2NvbmhlY2lkbyBhcMOzcyBhcmd1bWVudG8gLXMgb3UgLS1zaGVsbCIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyw6JtZXRyb3M+XG4iCisiICUxJHMgW29ww6fDtWVzXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXLDom1ldHJvcz5cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3DDp8O1ZXNdIFstLV0gcGFyw6JtZXRyb3NcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIkFuYWxpc2Egb3DDp8O1ZXMgZGUgY29tYW5kby5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIHBlcm1pdGUgb3DDp8O1ZXMgbG9uZ2FzIGluaWNpYW5kbyBjb20gdW0gw7puaWNvIC1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbG9uZ29wdGlvbnMgPG9ww6fDtWVzLWxvbmdhcz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3DDp8O1ZXMgbG9uZ2FzIGEgc2VyZW0gcmVjb25oZWNpZGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPG5vbWUtcHJvZ3JhbWE+ICAgIG8gbm9tZSBzb2IgbyBxdWFsIGVycm9zIHPDo28gcmVsYXRhZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIGFzIG9ww6fDtWVzIGN1cnRhcyBhIHNlcmVtIHJlY29uaGVjaWRhc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRlc2FiaWxpdGEgcmVsYXRvcyBkZSBlcnJvcyBwb3IgZ2V0b3B0KDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIHNlbSBzYcOtZGEgbm9ybWFsXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIGNvbmZpZ3VyYSBhcyBjb252ZW7Dp8O1ZXMgcGFyYSBhcyBkbyA8c2hlbGw+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0ZSBhIHZlcnPDo28gZG8gZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBuw6NvIHDDtWUgYSBzYcOtZGEgZW50cmUgYXNwYXNcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAiZmFsdGFuZG8gbyBhcmd1bWVudG8gb3B0c3RyaW5nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICJlcnJvIGludGVybm8sIGVudHJlIGVtIGNvbnRhdG8gY29tIG8gYXV0b3IuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJzaW5hbCBkZXNjb25oZWNpZG8gJXM7IHNpbmFpcyB2w6FsaWRvczoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwaWQ+fDxuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSA8cGlkPnw8bm9tZT4uLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVGVybWluYSBmb3LDp2FkYW1lbnRlIHVtIHByb2Nlc3NvLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgbsOjbyByZXN0cmluZ2UgYSBjb252ZXJzw6NvIG5vbWUtcGFyYS1waWQgYSBwcm9jZXNzb3NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbSBhIG1lc21hIHVpZCBxdWUgbyBwcmVzZW50ZSBwcm9jZXNzb1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODQKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPHNpbmFsPiAgIGVudmlhIGVzdGUgPHNpbmFsPiBhbyBpbnbDqXMgZGUgU0lHVEVSTVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWV1ZSA8dmFsb3I+ICAgIHVzYSBzaWdxdWV1ZSgyKSwgZSBuw6NvIGtpbGwoMiksIGUgcGFzc2EgPHZhbG9yPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbyBkYWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODgKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgZXhpYmUgcGlkcyBzZW0gc2luYWxpesOhLWxvc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs9PHNpbmFsPl0gIGxpc3RhIG9zIG5vbWVzIGRlIHNpbmFsIG91IGNvbnZlcnRlIHVtIHBhcmEgdW0gbm9tZVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0YSBvcyBub21lcyBlIG7Dum1lcm9zIGRlIHNpbmFpc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBtb3N0cmEgcGlkcyBxdWUgc2Vyw6NvIHNpbmFsaXphZG9zXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJzaW5hbCBkZXNjb25oZWNpZG8gJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI2MCBtaXNjLXV0aWxzL2tpbGwuYzoyNjMgbWlzYy11dGlscy9raWxsLmM6MjcyCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODQgbWlzYy11dGlscy9raWxsLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlcyBlICVzIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdmFzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODcgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MDcgc3lzLXV0aWxzL3R1bmVscC5jOjE2NyBzeXMtdXRpbHMvdHVuZWxwLmM6MTc0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTgxIHN5cy11dGlscy90dW5lbHAuYzoxODggc3lzLXV0aWxzL3R1bmVscC5jOjE5NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIwMSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA1IHN5cy11dGlscy90dW5lbHAuYzoyMTIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjMzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjg5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzIxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjkgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzU4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTkwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MTMgdGVybS11dGlscy9zZXR0ZXJtLmM6NjQ2Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgImVycm8gZGUgYXJndW1lbnRvIgorCisjICdzaWd2YWwnIMOpIG8gbm9tZSBkYSB2YXJpw6F2ZWwgZSDDqSBhIG9ww6fDo28gZXhpYmlkYSBuYSBsaW5oYSBkZSBjb21hbmRvLCBwb3IgaXNzbyBuw6NvIHRyYWR1emkgLS0gUmFmYWVsCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJub21lIG91IG7Dum1lcm8gZGUgc2luYWwgaW52w6FsaWRvczogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiZW52aWFuZG8gc2luYWwgJWQgcGFyYSBvIHBpZCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJlbnZpbyBkZSBzaW5hbCBwYXJhICVzIGZhbGhvdSIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG8gcHJvY2Vzc28gXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJub21lIGRlIHJlY3Vyc28gZGVzY29uaGVjaWRvOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAibm9tZSBkZSBwcmlvcmlkYWRlIGRlc2NvbmhlY2lkbzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvcGVubG9nICVzOiBub21lIGRvIGNhbWluaG8gbG9uZ28gZGVtYWlzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNvcXVldGUgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgImZhbGhhIGFvIHJlc29sdmVyIG5vbWUgJXMgbmEgcG9ydGEgJXM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY29ubmVjdCB0byAlcyBwb3J0ICVzIgorbXNnc3RyICJmYWxoYSBhbyBjb25lY3RhciBhICVzIG5hIHBvcnRhICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm3DoXhpbW8gZGUgbGluaGFzIGRlIGVudHJhZGFzICglZCkgZXhjZWRpZG8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiZW52aW8gZGUgbWVuc2FnZW0gZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICJJRCBcIiVzXCIgZGUgZGFkb3MgZXN0cnV0dXJhZG9zIG7Do28gw6kgw7puaWNvIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICItLXNkLWlkIG7Do28gZm9pIGVzcGVjaWZpY2FkbyBwYXJhIC0tc2QtcGFyYW0gJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBmYWxob3UiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIm5vbWUgZGUgbcOhcXVpbmEgXCIlc1wiIMOpIGxvbmdvIGRlbWFpcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInRhZyBcIiVzXCIgw6kgbG9uZ28gZGVtYWlzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgImlnbm9yYW5kbyBhcmd1bWVudG8gZGUgb3DDp8OjbyBkZXNjb25oZWNpZG86ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg1OQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbzogJXM6IHVzYW5kbyBlcnJvcyBhdXRvbcOhdGljb3MiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFs8bWVuc2FnZW0+XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzMKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJJbnNlcmUgbWVuc2FnZW5zIG5vIHNpc3RlbWEgZGUgcmVnaXN0cm8gZGUgbG9ncy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgcmVnaXN0cmEgbyBQSUQgZG8gY29tYW5kbyBsb2dnZXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3Cittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgcmVnaXN0cmEgbyA8aWQ+IGZvcm5lY2lkbyBvdSwgc2Vuw6NvLCBvIFBJRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxhcnF1aXZvPiAgICAgcmVnaXN0cmEgbyBjb250ZcO6ZG8gZGVzdGUgYXJxdWl2b1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgbsOjbyByZWdpc3RyYSBsaW5oYXMgdmF6aWFzIGFvIHByb2Nlc3NhciBhcnF1aXZvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKK21zZ2lkICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSB3cml0ZSB0aGUgbG9nXG4iCittc2dzdHIgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZmF6IHR1ZG8sIGV4Y2V0byBncmF2YXIgbm8gbG9nXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmNhIGEgbWVuc2FnZW0gZGFkYSBjb20gZXN0YSBwcmlvcmlkYWRlXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2EgYSBjb250YWdlbSBkZSBvY3RldG8gZG8gcmZjNjU4N1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgcHJvY3VyYSBwb3IgcHJlZml4byBlbSBjYWRhIGxpbmhhIGxpZGEgZGEgZW50cmFkYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBtb3N0cmEgbWVuc2FnZW0gcGFyYSBhIHNhw61kYSBkZSBlcnJvIHRhbWLDqW1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHRhbWFuaG8+ICAgICB0YW1hbmhvIG3DoXhpbW8gZGUgdW1hIMO6bmljYSBtZW5zYWdlbVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDYKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyY2EgY2FkYSBsaW5oYSBjb20gZXN0YSB0YWdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ3Cittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiAtbiwgLS1zZXJ2ZXIgPG5vbWU+ICAgICAgZXNjcmV2ZSBwYXJhIGVzdGUgc2Vydmlkb3Igc3lzbG9nIHJlbW90b1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDgKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA8cG9ydGE+ICAgICAgIHVzYSBlc3RhIHBvcnRhIHBhcmEgY29uZXjDo28gVURQIG91IFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDkKK21zZ2lkICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzZSBUQ1Agb25seVxuIgorbXNnc3RyICIgLVQsIC0tdGNwICAgICAgICAgICAgICAgIHVzYSBhcGVuYXMgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNhIGFwZW5hcyBVRFBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUxCittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2EgbyBwcm90b2NvbG8gb2Jzb2xldG8gZGUgc3lzbG9nIGRvIEJTRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTIKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHRyZWNobz5dIHVzYSBvIHByb3RvY29sbyBzeXNsb2cgKHBhZHLDo28gcGFyYSByZW1vdG8pO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dHJlY2hvPiBwb2RlIHNlciBub3RpbWUgb3Ugbm90cSBlL291IG5vaG9zdFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgSUQgZGUgZGFkb3MgZXN0cnV0dXJhZG9zIHJmYzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiAgICAgLS1zZC1wYXJhbSA8ZGFkb3M+ICAgbm9tZT12YWxvciBkZSBkYWRvcyBlc3RydXR1cmFkb3MgcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTYKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBkZWZpbmUgY2FtcG8gaWQgZGEgbWVuc2FnZW0gZGUgcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTcKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA8c29xdWV0ZT4gICBncmF2YSBuZXN0ZSBzb3F1ZXRlIFVuaXhcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgbW9zdHJhIGVycm9zIGRlIGNvbmV4w6NvIGFvIHVzYXIgc29xdWV0ZSBVbml4XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA2MQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1qb3VybmFsZFs9PGFycXVpdm8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZXNjcmV2ZSBlbnRyYWRhIGpvdXJuYWxkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJhcnF1aXZvICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG8gaWQiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG8gdGFtYW5obyBkYSBtZW5zYWdlbSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiLS1tc2dpZCBuw6NvIHBvZGUgdGVyIGVzcGHDp28iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAiSUQgZGUgZGFkb3MgZXN0cnV0dXJhZG9zIGludsOhbGlkbzogXCIlc1wiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJwYXLDom1ldHJvIGRlIGRhZG9zIGVzdHJ1dHVyYWRvcyBpbnbDoWxpZG86IFwiJXNcIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxhcnF1aXZvPiBlIDxtZW5zYWdlbT4gc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2b3MsIG1lbnNhZ2VtIMOpIGlnbm9yYWRhIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTkKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiZW50cmFkYSBkZSBqb3VybmFsZCBuw6NvIHDDtGRlIHNlciBncmF2YWRhIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSA8dGV4dG8+IFs8YXJxdWl2bz4uLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJFeGliZSBsaW5oYXMgaW5pY2lhbmRvIGNvbSB1bSB0ZXh0byBlc3BlY2lmaWNhZG8uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NgorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNhIG8gZGljaW9uw6FyaW8gYWx0ZXJuYXRpdm9cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY3Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmEgYXBlbmFzIHZhemlvcyBlIGNhcmFjdGVyZXMgYWxmYW51bcOpcmljb3NcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIG7Do28gZGlmZXJlbmNpYSBtYWnDunNjdWxvL21pbsO6c2N1bG8gbmEgY29tcGFyYcOnw6NvXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIG8gY2FyYWN0ZXJlIGRlIHRlcm1pbmHDp8OjbyBkZSB0ZXh0b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyCittc2dpZCAiZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbWUgZG8gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbWUgaW50ZXJubyBkbyBkaXNwb3NpdGl2byBkZSBrZXJuZWwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJub21lIGludGVybm8gZG8gcGFpIGRvIGRpc3Bvc2l0aXZvIGRlIGtlcm5lbCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NyBzeXMtdXRpbHMvenJhbWN0bC5jOjg2Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICJvbmRlIG8gZGlzcG9zaXRpdm8gZXN0w6EgbW9udGFkbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2OCBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNAorbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgIkxBQkVMIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICJVVUlEIGRvIHRpcG8gZGUgcGFydGnDp8OjbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MgorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAiTEFCRUwgZGEgcGFydGnDp8OjbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAicmVhZC1haGVhZCBkbyBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gc29tZW50ZSBsZWl0dXJhIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gcmVtb3bDrXZlbCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgImRpc3Bvc2l0aXZvIHJlbW92w612ZWwgb3UgaG90cGx1ZyAodXNiLCBwY21jaWEsIC4uLikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gcm90YXTDs3JpbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiYWRpY2lvbmEgYWxlYXRvcmllZGFkZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRlIHNlcmlhbCBkbyBkaXNjbyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidGFtYW5obyBkbyBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImVzdGFkbyBkbyBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIm5vbWUgZG8gZ3J1cG8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAicGVybWlzc8O1ZXMgZG8gbsOzIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAicG9zacOnw6NvIGRlIGFsaW5oYW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibcOtbmltbyB0YW1hbmhvIGRhIEUvUyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgInRhbWFuaG8gw7N0aW1vIGRhIEUvUyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ0YW1hbmhvIGbDrXNpY28gZG8gc2V0b3IiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJ0YW1hbmhvIGzDs2dpY28gZG8gc2V0b3IiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIm5vbWUgZG8gYWdlbmRhZG9yIGRlIEUvUyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NQorbXNnaWQgInJlcXVlc3QgcXVldWUgc2l6ZSIKK21zZ3N0ciAicmVxdWlzaXRhIG8gdGFtYW5obyBkYSBmaWxlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgInRpcG8gZG8gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTcKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgImRlc2NhcnRlIGRhIHBvc2nDp8OjbyBkZSBhbGluaGFtZW50byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgImRlc2NhcnRlIGRlIGdyYW51bGFyaWRhZGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiZGVzY2FydGUgZGUgbcOheGltbyBkZSBieXRlcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgImRlc2NhcnRlIGRlIGRhZG9zIHplcm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiZXNjcmV2ZSBvIG1lc21vIG3DoXhpbW8gZGUgYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIMO6bmljbyBkZSBhcm1hemVuYW1lbnRvIgorCisjIExVTiA9IExvZ2ljYWwgdW5pdCBudW1iZXIKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiSG9zdDpDYW5hbDpBbHZvOkxVTiBkZSBTQ1NJIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIGRpc3Bvc2l0aXZvIGRlIHRyYW5zcG9ydGUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgImRlLWR1cGxpY2EgY2FkZWlhIGRlIHN1YnNpc3RlbWFzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJyZXZpc8OjbyBkbyBkaXNwb3NpdGl2byIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgImZhYnJpY2FudGUgZG8gZGlzcG9zaXRpdm8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDgKK21zZ2lkICJ6b25lIG1vZGVsIgorbXNnc3RyICJtb2RlbG8gZGUgem9uYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICJmYWxoYSBhbyBhYnJpciBvIGRpcmV0w7NyaW8gZG8gZGlzcG9zaXRpdm8gbm8gc3lzZnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY29tcG9zZSBzeXNmcyBwYXRoIgorbXNnc3RyICIlczogZmFsaGEgYW8gY29tcG9yIG8gY2FtaW5obyBkbyBzeXNmcyIKKworIyBuw6NvIMOpIFVSTCwgbWFzIHNlcmlhIHbDrW5jdWxvIHVtYSBtZWxob3IgdHJhZHXDp8Ojbz8KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczogZmFsaGEgYW8gbGVyIG8gbGluayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIG9idGVyIG8gbm9tZSBubyBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogZmFsaGEgYW8gb2J0ZXIgbsO6bWVybyBkZSBkaXNwb3NpdGl2byBkZSBkaXNjbyBpbnRlaXJvIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgYSBsaXN0YSBcIiVzXCIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiYSBsaXN0YSBkZSBkaXNwb3NpdGl2b3MgZXhjbHXDrWRvcyDDqSBtdWl0byBncmFuZGUgKGxpbWl0ZSDDqSAlZCBkaXNwb3NpdGl2b3MpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImEgbGlzdGEgZGUgZGlzcG9zaXRpdm9zIGluY2x1w61kb3Mgw6kgbXVpdG8gZ3JhbmRlIChsaW1pdGUgw6kgJWQgZGlzcG9zaXRpdm9zKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxkaXNwb3NpdGl2bz4gLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiTGlzdGEgaW5mb3JtYcOnw6NvIHNvYnJlIGRpc3Bvc2l0aXZvcyBkZSBibG9jby5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGV4aWJlIHRvZG9zIG9zIGRpc3Bvc2l0aXZvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAgbsOjbyBleGliZSBkaXNwb3NpdGl2b3MgZXNjcmF2b3Mgb3UgbWFudGVuZWRvcmVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICBleGliZSBhcyBjYXBhY2lkYWRlcyBkZSBkZXNjYXJ0ZXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDMKK21zZ2lkICIgLXosIC0tem9uZWQgICAgICAgICAgcHJpbnQgem9uZSBtb2RlbFxuIgorbXNnc3RyICIgLXosIC0tem9uZWQgICAgICAgICAgZXhpYmUgbW9kZWxvIGRlIHpvbmFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisiIC1lLCAtLWV4Y2x1ZGUgPGxpc3RhPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICBleGNsdWkgZGlzcG9zaXRpdm9zIHBlbG8gbsO6bWVybyBtYWlvclxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIChwYWRyw6NvOiBkaXNjb3MgUkFNKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIHNvYnJlIG9zIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzYSBhcGVuYXMgY2FyYWN0ZXJlcyBhc2NpaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKyIgLUksIC0taW5jbHVkZSA8bGlzdGE+XG4iCisiICAgICAgICAgICAgICAgICAgICAgIG1vc3RyYSBhcGVuYXMgb3MgZGlzcG9zaXRpdm9zIGNvbSBuw7ptZXJvcyBtYWlvcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgZXNwZWNpZmljYWRvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OCBzeXMtdXRpbHMvbHNtZW0uYzo1MDIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgSlNPTlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2Egc2HDrWRhIG5vIGZvcm1hdG8gZGUgbGlzdGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKK21zZ2lkICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNlIHRyZWUgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNhIMOhcnZvcmUgbm8gZm9ybWF0byBkZSBsaXN0YVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLW0sIC0tcGVybXMgICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIHNvYnJlIHBlcm1pc3PDtWVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUyIHN5cy11dGlscy9sc21lbS5jOjUwNgorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgbsOjbyBleGliZSBvcyBjYWJlw6dhbGhvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MyBzeXMtdXRpbHMvbHNtZW0uYzo1MDcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+IG1vc3RyYSBjb2x1bmFzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU0Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgbW9zdHJhIHRvZGFzIGFzIGNvbHVuYXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgIGV4aWJlIG8gY2FtaW5obyBjb21wbGV0byBkbyBkaXNwb3NpdGl2b1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAgZGVwZW5kw6puY2lhcyBpbnZlcnNhc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSBkaXNwb3NpdGl2b3MgU0NTSVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIHNvYnJlIGEgdG9wb2xvZ2lhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYxCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAteCwgLS1zb3J0IDxjb2x1bmE+ICBvcmRlbmEgYSBzYcOtZGEgcG9yIDxjb2x1bmE+XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gYWNlc3NhciBkaXJldMOzcmlvIGRvIHN5c2ZzOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgImNvbWFuZG8gZG8gcHJvY2Vzc28gbWFudGVuZG8gYSB0cmF2YSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIGRvIHByb2Nlc3NvIG1hbnRlbmRvIGEgdHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICJ0aXBvIGRlIHRyYXZhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgInRhbWFuaG8gZGEgdHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAibW9kbyB0cmF2YSBkZSBhY2Vzc28iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAiZXN0YWRvIG9icmlnYXTDs3JpbyBkYSB0cmF2YTogMCAobmVuaHVtYSksIDEgKGRlZmluaWRvKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAicG9zacOnw6NvIHJlbGF0aXZhIGRlIGJ5dGUgZGEgdHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgwCittc2dpZCAiZW5kaW5nIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAicG9zacOnw6NvIGZpbmFsIGRhIHRyYXZhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJjYW1pbmhvIGRvIGFycXVpdm8gdHJhdmFkbyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBkbyBwcm9jZXNzbyBibG9xdWVhbmRvIGEgdHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyBwaWQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorbXNnaWQgIih1bmtub3duKSIKK21zZ3N0ciAiKGRlc2NvbmhlY2lkYSkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI5MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyBpbsOtY2lvIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIGZpbmFsIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTgKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiTGlzdGEgdHJhdmFzIGRvIHNpc3RlbWEgbG9jYWwuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMgorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JhIHRyYXZhcyBzZW0gcGVybWlzc8OjbyBkZSBsZWl0dXJhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMyBzeXMtdXRpbHMvbHNucy5jOjkwMyBzeXMtdXRpbHMvcmZraWxsLmM6NTczCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbsOjbyBleGliZSBvcyBjYWJlw6dhbGhvc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgZGVmaW5lIHF1YWlzIGNvbHVuYXMgZGUgc2HDrWRhIHNlIGRldmUgdXNhclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZXhpYmUgYXBlbmFzIHRyYXZhcyBtYW50aWRhcyBwb3IgZXN0ZSBwcm9jZXNzb1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNhIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkbyAocmF3KVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBQSUQiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIkdlcmEgY29va2llcyBtw6FnaWNvcyBwYXJhIHhhdXRoLlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8YXJxdWl2bz4gIHVzYSBvIGFycXVpdm8gY29tbyB1bWEgc2VtZW50ZSBkbyBjb29raWVcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXgtc2l6ZSA8bsO6bT4gIGxpbWl0YSBxdWFudG8gw6kgbGlkbyBkZSBhcnF1aXZvcyBzZW1lbnRlXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxpY2EgbyBxdWUgZXN0w6Egc2VuZG8gZmVpdG9cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJPYnRpZG8gJXp1IGJ5dGUgZGUgJXNcbiIKK21zZ3N0clsxXSAiT2J0aWRvcyAlenUgYnl0ZXMgZGUgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJmZWNoYW1lbnRvIGRlICVzIGZhbGhvdSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGNvbXByaW1lbnRvIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICItLW1heC1zaXplIGlnbm9yYWRvIHF1YW5kbyB1c2FkbyBzZW0gLS1maWxlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJPYnRpZG8gJWQgYnl0ZSBkZSAlc1xuIgorbXNnc3RyWzFdICJPYnRpZG8gJWQgYnl0ZXMgZGUgJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJmYWxoYSBhbyBsZXIgbGluayBzaW1iw7NsaWNvOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMgLSBhcnF1aXZvIG91IGRpcmV0w7NyaW8gaW5leGlzdGVudGVcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPGNhbWluaG9zPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiU2VndWUgdW0gY2FtaW5obyBhdMOpIHVtIHBvbnRvIGRlIHRlcm1pbmHDp8OjbyBzZXIgZW5jb250cmFkby5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC14LCAtLW1vdW50cG9pbnRzICAgbW9zdHJhIGRpcmV0w7NyaW9zIGRlIHBvbnRvIGRlIG1vbnRhZ2VtIGNvbSB1bSBcIkRcIlxuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIG1vc3RyYSBvcyBiaXRzIGRlIG1vZG8gZGUgY2FkYSBhcnF1aXZvXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgbW9zdHJhIG8gbm9tZSBkbyBkb25vIGUgZG8gZ3J1cG8gZGUgY2FkYSBhcnF1aXZvXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNhIHVtIGZvcm1hdG8gbG9uZ28gZGUgbGlzdGFnZW0gKC1tIC1vIC12KVxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIG7Do28gc2VndWUgbGlua3Mgc2ltYsOzbGljb3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBhbGluaGFtZW50byB2ZXJ0aWNhbCBkZSBtb2RvcyBlIGRvbm9zXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJhcmd1bWVudG8gZGUgbm9tZSBkZSBjYW1pbmhvIGVzdMOhIGZhbHRhbmRvIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgImZhbGhhIGFvIGFsb2NhciBjYWNoZSBkZSBVSUQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR0lEIGNhY2hlIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgY2FjaGUgZGUgR0lEIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IGV4Y2VkaWRvIG8gbGltaXRlIGRlIGxpbmtzIHNpbWLDs2xpY29zIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczogbsOjbyDDqSB1bSBsaW5rIHNpbWLDs2xpY28iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlYWRsaW5rIGZhbGhvdSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIklnbm9yYW5kbyBsaW5rIGV4aXN0ZW50ZTogXCIlc1wiXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiB1bmxpbmsgZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxpbmsgc2ltYsOzbGljbyBwYXJhICVzIGZhbGhvdSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICJJZ25vcmFuZG8gYXJxdWl2byBleGlzdGVudGU6IFwiJXNcIlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHJlbm9tZWFyIHBhcmEgJXMgZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSA8ZXhwcmVzc8Ojbz4gPHN1YnN0aXR1acOnw6NvPiA8YXJxdWl2bz4uLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIlJlbm9tZWlhIGFycXVpdm9zLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxpY2EgbyBxdWUgZXN0w6Egc2VuZG8gZmVpdG9cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLXMsIC0tc3ltbGluayAgICAgICBhZ2Ugbm8gYWx2byBkZSBsaW5rcyBzaW1iw7NsaWNvc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MworbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIG5vdCBtYWtlIGFueSBjaGFuZ2VzXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgIG7Do28gZmF6IG5lbmh1bWEgYWx0ZXJhw6fDo29cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDQKK21zZ2lkICIgLW8sIC0tbm8tb3ZlcndyaXRlICBkb24ndCBvdmVyd3JpdGUgZXhpc3RpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgbsOjbyBzb2JyZXNjcmV2ZSBhcnF1aXZvcyBleGlzdGVudGVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJVbSBkYWVtb24gcGFyYSBnZXJhw6fDo28gZGUgVVVJRHMuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBjYW1pbmhvIHBhcmEgbyBhcnF1aXZvIHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNvY2tldCA8Y2FtaW5obz4gIGNhbWluaG8gZG8gc29xdWV0ZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPHNlZz4gICAgIGVzcGVjaWZpY2EgdGVtcG8gbGltaXRlIGRlIGluYXRpdmlkYWRlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtaywgLS1raWxsICAgICAgICAgICAgICBtYXRhIHRvZG9zIG9zIGRhZW1vbiBlbSBleGVjdcOnw6NvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0YSBnZXJhw6fDo28gYWxlYXTDs3JpYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3RhIGdlcmHDp8OjbyBiYXNlYWRhIGVtIHRlbXBvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLW4sIC0tdXVpZHMgPG7Dum0+ICAgICAgIHJlcXVpc2l0YSBuw7ptZXJvIGRlIHV1aWRzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBuw6NvIGNyaWEgYXJxdWl2byBwaWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIG7Do28gZmF6IGRhZW1vbiB1c2FuZG8gZm9yayBkdXBsb1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBuw6NvIGNyaWEgc29xdWV0ZSBkZSBlc2N1dGFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgZXhlY3V0YSBubyBtb2RvIGRlIGRlcHVyYcOnw6NvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGF0aXZhIG8gbW9kbyBzaWxlbmNpb3NvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJhcmd1bWVudG9zIGludsOhbGlkb3MiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgInNvcXVldGUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjcKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICJjb25lY3RhciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworbXNnaWQgIndyaXRlIgorbXNnc3RyICJncmF2YXIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICJxdWFudGlkYWRlIGRlIGxlaXR1cmEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICJjb21wcmltZW50byBkZSByZXNwb3N0YSBpbnbDoWxpZG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCB0cmF2YXIgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMzcKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgdW0gc29xdWV0ZSBwYXJhIGZsdXhvIHVuaXgiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHZpbmN1bGFyIHNvcXVldGUgdW5peCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICJyZWNlcMOnw6NvIGRlIHNpbmFsIGZhbGhvdSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAidGVtcG8gZXNnb3RhZG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgbyB0ZW1wb3JpemFkb3IiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgInVtIGRhZW1vbiBkZSB1dWlkZCBqw6EgZW0gZXhlY3XDp8OjbyBjb20gcGlkICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG91dmlyIG5vIHNvcXVldGUgdW5peCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCB0cnVjYXIgYXJxdWl2bzogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzcKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICJzZF9saXN0ZW5fZmRzKCkgZmFsaG91IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgwCittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgIm5lbmh1bSBkZXNjcml0b3IgZGUgYXJxdWl2byByZWNlYmlkbywgdmVyaWZpcXVlIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSBkZXNjcml0b3JlcyBkZSBhcnF1aXZvIHJlY2ViaWRvcywgdmVyaWZpY2EgdXVpZGQuc29xdWV0ZSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgInRlbXBvIGxpbWl0ZSBbJWQgc2VndW5kb3NdXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICJsZWl0dXJhIGZhbGhvdSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiZXJybyBkZSBsZWl0dXJhIGRvIGNsaWVudGUsIGNvbXByaW1lbnRvID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJvcGVyYcOnw6NvICVkLCBuw7ptZXJvIHJlY2ViaWRvID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAib3BlcmHDp8OjbyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIkdlcmFkbyB1bSBVVUlEIGRlIHRlbXBvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiR2VyYWRvIHVtIFVVSUQgYWxlYXTDs3JpbzogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIkdlcmFkb3MgdW0gVVVJRCBkZSB0ZW1wbyAlcyBlICVkIHNlZ3VpbnRlXG4iCittc2dzdHJbMV0gIkdlcmFkb3MgdW0gVVVJRCBkZSB0ZW1wbyAlcyBlICVkIHNlZ3VpbnRlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIkdlcmFkbyAlZCBVVUlEOlxuIgorbXNnc3RyWzFdICJHZXJhZG9zICVkIFVVSURzOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIk9wZXJhw6fDo28gaW52w6FsaWRhOiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJDb21wcmltZW50byBkZSByZXNwb3N0YSBpbmVzcGVyYWRvIGRvIHNlcnZpZG9yICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIC0tdXVpZHMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCBmb2kgY29uc3RydcOtZG8gc2VtIHN1cG9ydGUgYSBhdGl2YcOnw6NvIGRlIHNvcXVldGUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciAtLXRpbWVvdXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBuYW1lIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAibm9tZSBkZSB2b2x1bWUgbXVpdG8gbG9uZ28iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDcKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICJFc3BlY2lmaWNhZG9zIHRhbnRvIC0tc29ja2V0LWFjdGl2YXRpb24gcXVhbnRvIC0tc29ja2V0LiBJZ25vcmFuZG8gLS1zb2NrZXQuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU0IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAiZXJybyBuYSBjaGFtYWRhIGRvIGRhZW1vbiB1dWlkZCAoJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU1IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODMKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJlcnJvIGluZXNwZXJhZG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyBlICVkIFVVSUQgc3Vic2VxdWVudGVcbiIKK21zZ3N0clsxXSAiJXMgZSAlZCBVVUlEcyBzdWJzZXF1ZW50ZXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJMaXN0YSBkZSBVVUlEczpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbWF0YXIgbyB1dWlkZCBlbSBleGVjdcOnw6NvIG5vIHBpZCAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIk1hdG91IG8gdXVpZGQgZXhlY3V0YW5kbyBzb2IgcGlkICVkLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyOQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICJDcmlhIHVtIG5vdm8gdmFsb3IgZGUgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICBnZXJhIHV1aWQgYWxlYXRvcmlhbWVudGVcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VyYSB1dWlkIGNvbSBiYXNlIG5vIHRlbXBvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlcmEgdXVpZCBiYXNlYWRvIGVtIGhhc2ggbm8gZXNwYcOnbyBkZSBub21lXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiAtTiwgLS1uYW1lIG5vbWUgICAgIGdlcmEgdXVpZCBiYXNlYWRvIGVtIGhhc2ggZGVzdGUgbm9tZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNgorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlcmEgaGFzaCBkZSBtZDVcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKK21zZ2lkICIgLXMsIC0tc2hhMSAgICAgICAgICBnZW5lcmF0ZSBzaGExIGhhc2hcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VyYSBoYXNoIGRlIHNoYTFcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzgKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldGEgbm9tZSBjb21vIHN0cmluZyBoZXhcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIMO6bmljbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NworbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAibm9tZSBkYSB2YXJpYW50ZSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAibm9tZSBkbyB0aXBvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICJtYXJjYSBkZSB0ZW1wbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPHV1aWQ+IC4uLj5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2EgZm9ybWF0byBkZSBzYcOtZGEgSlNPTiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgbsOjbyBleGliZSBvcyBjYWJlw6dhbGhvcyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIENPTFVOQVMgcGFyYSBleGliaXIgKHZlciBhYmFpeG8pIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzYSBmb3JtYXRvIGRlIHNhw61kYSBuw6NvIHRyYXRhZG8gKHJhdykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorbXNnaWQgImludmFsaWQiCittc2dzdHIgImludsOhbGlkbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxODYKK21zZ2lkICJvdGhlciIKK21zZ3N0ciAib3V0cm8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICJ6ZXJvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwMgorbXNnaWQgInRpbWUtYmFzZWQiCittc2dzdHIgImJhc2VhZGEgZW0gdGVtcG8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjA4Cittc2dpZCAibmFtZS1iYXNlZCIKK21zZ3N0ciAiYmFzZWFkYSBlbSBub21lIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxMQorbXNnaWQgInJhbmRvbSIKK21zZ3N0ciAiYWxlYXTDs3JpbyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICJiYXNlYWRvIGVtIHNoYTEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiZmFsaGEgYW8gaW5pY2lhbGl6YXIgY29sdW5hIGRhIHNhw61kYSIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5vbWU+XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICJMb2NhbGl6YSBvcyBhcnF1aXZvcyBkZSBww6FnaW5hIGRlIG1hbnVhbCwgZm9udGUgZSBleGVjdXTDoXZlaXMgZGUgdW0gY29tYW5kby5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIHBlc3F1aXNhIGFwZW5hcyBwb3IgZXhlY3V0w6F2ZWlzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPGRpcnM+ICBkZWZpbmUgbyBjYW1pbmhvIGRlIHByb2N1cmEgcG9yIGV4ZWN1dMOhdmVpc1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAgcGVzcXVpc2EgYXBlbmFzIHBvciBtYW51YWlzIGUgaW5mb3NcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPGRpcnM+ICBkZWZpbmUgbyBjYW1pbmhvIGRlIHByb2N1cmEgcG9yIHDDoWdpbmFzIG1hbiBlIGluZm9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgcGVzcXVpc2EgYXBlbmFzIHBvciBmb250ZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDxkaXJzPiAgZGVmaW5lIG8gY2FtaW5obyBkZSBwcm9jdXJhIHBvciBmb250ZXNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjExCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAtZiAgICAgICAgIHRlcm1pbmEgYSBsaXN0YSBkZSBhcmd1bWVudG9zIGRlIDxkaXJzPlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgLXUgICAgICAgICBwZXNxdWlzYSBwb3IgZW50cmFkYXMgaW5jb211bnNcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgZXhpYmUgb3MgY2FtaW5ob3MgZWZldGl2b3MgZGUgcHJvY3VyYVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAiYSBvcMOnw6NvIC1mIGVzdMOhIGZhbHRhbmRvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworbXNnaWQgInBhcnRpdGlvbi9maWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIlVVSUQgZG8gc2lzdGVtYSBkZSBhcnF1aXZvcy9kYSBwYXJ0acOnw6NvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgImNvbXByaW1lbnRvIGRlIHN0cmluZyBtw6FnaWNhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNgorbXNnaWQgInN1cGVyYmxvayB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIHN1cGVyYmxvY28iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA3Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAicG9zacOnw6NvIGRlIHN0cmluZyBtw6FnaWNhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOAorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgImRlc2NyacOnw6NvIGRlIHRpcG8iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5Cittc2dpZCAiYmxvY2sgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbWUgZGUgZGlzcG9zaXRpdm8gZGUgYmxvY28iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE4Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICJ0YWJlbGEgZGUgcGFydGnDp8OjbyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiZXJybzogJXM6IGluaWNpYWxpemHDp8OjbyBkYSBkZXRlY8Onw6NvIGZhbGhvdSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBhcGFnYXIgbyB0ZXh0byBtw6FnaWNvICVzIG5hIHBvc2nDp8OjbyAweCUwOGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogJXpkIGJ5dGUgZm9pIGFwYWdhZGEgbmEgcG9zacOnw6NvIDB4JTA4anggKCVzKTogIgorbXNnc3RyWzFdICIlczogJXpkIGJ5dGVzIGZvcmFtIGFwYWdhZG9zIG5hIHBvc2nDp8OjbyAweCUwOGp4ICglcyk6ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlczogZmFsaGEgYW8gY3JpYXIgdW1hIGFzc2luYXR1cmEgYmFja3VwIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiJXM6IGNoYW1hbmRvIGlvY3RsIHBhcmEgcmVsZXIgdGFiZWxhIGRlIHBhcnRpw6fDo286ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiZmFsaGEgYW8gY3JpYXIgdW1hIGFzc2luYXR1cmEgYmFja3VwLCAkSE9NRSBpbmRlZmluaWRhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogaWdub3JhciB0YWJlbGEgZGUgcGFydGnDp8OjbyBcIiVzXCIgYW5pbmhhZGEgZW0gdW0gZGlzcG9zaXRpdm8gZGUgZGlzY28gbsOjby1pbnRlaXJvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IHBvc2nDp8OjbyAweCVqeCBuw6NvIGVuY29udHJhZGEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTgwCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIlVzZSBhIG9ww6fDo28gLS1mb3JjZSBwYXJhIGZvcsOnYXIgYXBhZ2FtZW50by4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuIgorbXNnc3RyICJBcGFnYSBhc3NpbmF0dXJhcyBkZSB1bSBkaXNwb3NpdGl2by4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgYXBhZ2EgdG9kb3Mgb3MgdGV4dG9zIG3DoWdpY29zIChURU5IQSBDVUlEQURPISkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JpYSB1bWEgYXNzaW5hdHVyYSBiYWNrdXAgZW0gJEhPTUUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZSIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yw6dhIG8gYXBhZ2FtZW50byIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTEKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1pLCAtLW5vaGVhZGluZ3MgICAgbsOjbyBleGliZSBvcyBjYWJlw6dhbGhvcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICB1c2EgbyBmb3JtYXRvIGRlIHNhw61kYSBKU09OIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICBmYXogdHVkbywgZXhjZXRvIGEgcmVhbCBjaGFtYWRhIGRlIHdyaXRlKCkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bsO6bT4gIHBvc2nDp8OjbyBwYXJhIGFwYWdhciwgZW0gYnl0ZXMiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxsaXN0YT4gIENPTFVOQVMgcGFyYSBleGliaXIgKHZlciBhYmFpeG8pIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAtcCwgLS1wYXJzYWJsZSAgICAgIGV4aWJlIGVtIGZvcm1hdG8gYW5hbGlzw6F2ZWwgYW8gaW52w6lzIGRlIGltcHJpbcOtdmVsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlcyIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcmltZSBhcyBtZW5zYWdlbnMgZGUgc2HDrWRhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxOAorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlcyIKK21zZ3N0ciAiIgorIiAtdCwgLS10eXBlcyA8bGlzdGE+IGxpbWl0YSBvIGNvbmp1bnRvIGRlIHNpc3RlbWFzIGRlIGFycXVpdm9zLCBSQUlEcyBvdVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgdGFiZWxhcyBkZSBwYXJ0acOnw6NvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJBIG9ww6fDo28gLS1iYWNrdXAgbsOjbyB0ZW0gc2VudGlkbyBuZXN0ZSBjb250ZXh0byIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJNb3N0cmEgb3UgYWx0ZXJhIG9zIGF0cmlidXRvcyBkZSB0ZW1wby1yZWFsIGRlIGFnZW5kYW1lbnRvIGRlIHVtIHByb2Nlc3NvLlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJDb25maWd1cmEgcG9sw610aWNhOlxuIgorIiAgY2hydCBbb3DDp8O1ZXNdIDxwcmlvcmlkYWRlPiA8Y29tYW5kbz4gWzxhcmc+Li5dXG4iCisiICBjaHJ0IFtvcMOnw7Vlc10gLS1waWQgPHByaW9yaWRhZGU+IDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisiT2J0ZXIgcG9sw610aWNhOlxuIgorIiBjaHJ0IFtvcMOnw7Vlc10gLXAgPHBpZD5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIk9ww6fDtWVzIGRlIHBvbMOtdGljYTpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIC1iLCAtLWJhdGNoICAgICAgICAgIGRlZmluZSBhIHBvbMOtdGljYSBwYXJhIFNDSEVEX0JBVENIXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAtZCwgLS1kZWFkbGluZSAgICAgICBkZWZpbmUgYSBwb2zDrXRpY2EgcGFyYSBTQ0hFRF9ERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtZiwgLS1maWZvICAgICAgICAgICBkZWZpbmUgYSBwb2zDrXRpY2EgcGFyYSBTQ0hFRF9GSUZPXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIC1uaSwgLS1pZGxlICAgICAgICAgIGRlZmluZSBhIHBvbMOtdGljYSBwYXJhIFNDSEVEX0lETEVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW90aGVyICAgICAgICAgIGRlZmluZSBhIHBvbMOtdGljYSBwYXJhIFNDSEVEX09USEVSXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXIsIC0tcnIgICAgICAgICAgICAgZGVmaW5lIGEgcG9sw610aWNhIHBhcmEgU0NIRURfUlIgKHBhZHLDo28pXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3DDp8O1ZXMgZGUgYWdlbmRhbWVudG86XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAtUiB8IC0tcmVzZXQtb24tZm9yayAgICAgIGRlZmluZSBTQ0hFRF9SRVNFVF9PTl9GT1JLIHBhcmEgRklGTyBvdSBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcGFyw6JtZXRybyBkZSB0ZW1wbyByZWFsIHBhcmEgREVBRExJTkVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGFyw6JtZXRybyBkZSBwZXLDrW9kbyBwYXJhIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gcGFyw6JtZXRybyBkZSBwcmF6byBwYXJhIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIk9ww6fDtWVzIGRlIFwib3RoZXJcIjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYSBlbSB0b2RhcyBhcyB0YXJlZmFzICh0aHJlYWRzKSBwYXJhIG8gcGlkIGRhZG9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4ICAgICAgICAgICAgbW9zdHJhIG3DrW4gZSBtw6F4IHByaW9yaWRhZGVzIHbDoWxpZGFzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmEgbm9zIHBpZCBleGlzdGVudGVzIGZvcm5lY2lkb3NcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gZG8gc3RhdHVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgImZhbGhhIGFvIG9idGVyIGEgcG9sw610aWNhIGRvIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgYXRyaWJ1dG9zIGRvIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIm5vdmEgcG9sw610aWNhIGRlIGFnZW5kYW1lbnRvIGRvIHBpZCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiYXR1YWwgcG9sw610aWNhIGRlIGFnZW5kYW1lbnRvIGRvIHBpZCAlZDogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAibm92YSBwcmlvcmlkYWRlIGRlIGFnZW5kYW1lbnRvIGRvIHBpZCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiYXR1YWwgcHJpb3JpZGFkZSBkZSBhZ2VuZGFtZW50byBkbyBwaWQgJWQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAibm92b3MgcGFyw6JtZXRyb3MgZGUgdGVtcG8gcmVhbC9wcmF6by9wZXLDrW9kbyBkbyBwaWQgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgImF0dWFpcyBwYXLDom1ldHJvcyBkZSB0ZW1wbyByZWFsL3ByYXpvL3BlcsOtb2RvIGRvIHBpZCAlZDogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBhIGxpc3RhIGRlIHRhcmVmYXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgInByaW9yaWRhZGUgbcOtbi9tw6F4IGRlICVzXHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhICVzP1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgImZhbGhhIGFvIGNvbmZpZ3VyYXIgcG9sw610aWNhIGRvIHRpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJmYWxoYSBhbyBjb25maWd1cmFyIGEgcG9sw610aWNhIGRvIHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg0Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRlbXBvIHJlYWwiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHBlcsOtb2RvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHByYXpvIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHByaW9yaWRhZGUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxOQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJow6Egc3Vwb3J0ZSDDoCBvcMOnw6NvIC0tcmVzZXQtb24tZm9yayBwYXJhIGFwZW5hcyBhcyBwb2zDrXRpY2FzIFNDSEVEX0ZJRk8gZSBTQ0hFRF9SUiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiaMOhIHN1cG9ydGUgw6BzIG9ww6fDtWVzIC0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBwYXJhIGFwZW5hcyBTQ0hFRF9ERUFETElORSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTM5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIlNlbSBzdXBvcnRlIGEgU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgInZhbG9yIGRlIHByaW9yaWRhZGUgc2VtIHN1cG9ydGUgcGFyYSBhIHBvbMOtdGljYTogJWQ6IHZlamEgLS1tYXggcGFyYSBpbnRlcnZhbG8gdsOhbGlkbyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IGZhbGhvdSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXM6IHByaW9yaWRhZGUgJWx1XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKK21zZ2lkICJpb3ByaW9fc2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX3NldCBmYWxob3UiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29ww6fDtWVzXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcMOnw7Vlc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29ww6fDtWVzXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcMOnw7Vlc10gPGNvbWFuZG8+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKyJNb3N0cmEgb3UgYWx0ZXJhIGEgY2xhc3NlIGUgYSBwcmlvcmlkYWRlIGRlIGFnZW5kYW1lbnRvIGRlIEUvUyBkZSB1bSBwcm9jZXNzby5cbiIKKyJcbiIKKyJEZWZpbmUgb3Ugb2J0w6ltIGEgY2xhc3NlIGRlIGFnZW5kYW1lbnRvIGRlIEUvUyBlIHByaW9yaWRhZGUgZGUgcHJvY2Vzc29zLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNAorbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzZT4gICBub21lIG91IG7Dum1lcm8gZGEgY2xhc3NlIGRlIGFnZW5kYW1lbnRvLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG7Dum0+ICBwcmlvcmlkYWRlICgwLi43KSBuYSBjbGFzc2UgZGUgYWdlbmRhbWVudG8gZGFkYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGFwZW5hcyBwYXJhIGNsYXNzZXMgcmVhbHRpbWUgZSBiZXN0LWVmZm9ydFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFnZSBuZXNzZXMgcHJvY2Vzc29zIGrDoSBlbSBleGVjdcOnw6NvXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFnZSBlbSBwcm9jZXNzb3MgasOhIGVtIGV4ZWN1w6fDo28gbmVzc2VzIGdydXBvc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmEgZmFsaGFzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIxCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWdlIGVtIHByb2Nlc3NvcyBqw6EgZW0gZXhlY3XDp8OjbyBkZXNzZXMgdXN1w6FyaW9zXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIGRhZG9zIGRlIGNsYXNzZTogJXMiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBjbGFzc2UiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiY2xhc3NlIGRlIGFnZW5kYW1lbnRvIGRlc2NvbmhlY2lkYTogXCIlc1wiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICLDqSBwb3Nzw612ZWwgbGlkYXIgYXBlbmFzIGNvbSB1bSBlbnRyZSBwaWQsIHBnaWQgb3UgdWlkIGRlIGNhZGEgdmV6IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBQR0lEIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworbXNnaWQgImludmFsaWQgVUlEIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIFVJRCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICJpZ25vcmFuZG8gZGFkb3MgZGUgY2xhc3NlIGRhZG9zIHBhcmEgY2xhc3NlIFwibm9uZVwiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgImlnbm9yYW5kbyBkYWRvcyBkZSBjbGFzc2UgZGFkb3MgcGFyYSBjbGFzc2UgXCJpZGxlXCIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiY2xhc3NlIGRlIHByaW9yaWRhZGUgZGVzY29uaGVjaWRhICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyJVc286ICVzIFtvcMOnw7Vlc10gW23DoXNjYXJhIHwgbGlzdGEtY3B1XSBbcGlkfGNvbWFuZG8gW2FyZ3VtZW50b3MuLi5dXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJNb3N0cmEgb3UgYWx0ZXJhIGEgYWZpbmlkYWRlIGRhIENQVSBkZSB1bSBwcm9jZXNzby5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisiT3DDp8O1ZXM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhIGVtIHRvZGFzIGFzIHRhcmVmYXMgKHRocmVhZHMpIHBhcmEgdW0gcGlkIGRhZG9cbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmEgZW0gdW0gZGFkbyBwaWQgZXhpc3RlbnRlXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGV4aWJlIGUgZXNwZWNpZmljYSBjcHVzIGVtIHVtIGZvcm1hdG8gZGUgbGlzdGFcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJPIGNvbXBvcnRhbWVudG8gcGFkcsOjbyDDqSBleGVjdXRhciB1bSBub3ZvIGNvbWFuZG86XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiVm9jw6ogcG9kZSBvYnRlciBhIG3DoXNjYXJhIGRlIHVtYSB0YXJlZmEgZXhpc3RlbnRlOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk91IGRlZmluaS1sYTpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJGb3JtYXRvIGxpc3RhIHVzYSB1bWEgbGlzdGEgc2VwYXJhIHBvciB2w61yZ3VsYSBlbSB2ZXogZGUgdW1hIG3DoXNjYXJhOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJGYWl4YXMgbm8gZm9ybWF0byBsaXN0YSBwb2RlIGxldmFyIHVtIGFyZ3VtZW50byBhbXBsbzpcbiIKKyIgICAgZXguOiAwLTMxOjIgw6kgZXF1aXZhbGVudGUgw6AgbcOhc2NhcmEgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAibm92YSBsaXN0YSBkZSBhZmluaWRhZGUgZG8gcGlkICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgImF0dWFsIGxpc3RhIGRlIGFmaW5pZGFkZSBkbyBwaWQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJub3ZhIG3DoXNjYXJhIGRlIGFmaW5pZGFkZSBkbyBwaWQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiYXR1YWwgbcOhc2NhcmEgZGUgYWZpbmlkYWRlIGRvIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiZXJybyBpbnRlcm5vOiBjb252ZXJzw6NvIGRlIGNwdXNldCBwYXJhIHRleHRvIGZhbGhvdSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgYSBhZmluaWRhZGUgZG8gcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgYSBhZmluaWRhZGUgZG8gcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRldGVybWluYXIgTlJfQ1BVUzsgYWJvcnRhbmRvIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDQgc2NoZWR1dGlscy90YXNrc2V0LmM6MjE3IHN5cy11dGlscy9jaGNwdS5jOjI5OAorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNwdXNldF9hbGxvYyBmYWxob3UiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNCBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbGlzdGEgZGUgQ1BVczogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBtw6FzY2FyYSBkZSBDUFU6ICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczogJTxQUkl1NjQ+IGJ5dGVzIHByZWVuY2hpZG9zIGNvbSB6ZXJvIGRhIHBvc2nDp8OjbyAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiAlPFBSSXU2ND4gYnl0ZXMgZGVzY2FydGFkb3MgZGEgcG9zacOnw6NvICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICJEZXNjYXJ0YSBvIGNvbnRlw7pkbyBkZSBzZXRvcmVzIGVtIHVtIGRpc3Bvc2l0aXZvLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxuw7ptPiAgcG9zacOnw6NvIGVtIGJ5dGVzIGRlIG9uZGUgaW5pY2lhcsOhIG8gZGVzY2FydGVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxuw7ptPiAgcXVhbnRpZGFkZSBkZSBieXRlcyBwYXJhIGRlc2NhcnRhciBhIHBhcnRpciBwb3Npw6fDo29cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLXAsIC0tc3RlcCA8bsO6bT4gICAgdGFtYW5obyBkYXMgaXRlcmHDp8O1ZXMgZGUgZGVzY2FydGUgbmEgcG9zacOnw6NvXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtcywgLS1zZWN1cmUgICAgICAgIGV4ZWN1dGEgZGVzY2FydGUgc2VndXJvXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLXosIC0temVyb291dCAgICAgICBwcmVlbmNoZSBjb20gemVybywgYW8gaW52w6lzIGRlIGRlc2NhcnRhclxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICBlbWl0ZSBxdWFudGlkYWRlIGUgcG9zacOnw6NvIGFsaW5oYWRvc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBwb3Npw6fDo28iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGEgZXRhcGEiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJuw7ptZXJvIGluZXNwZXJhZG8gZGUgYXJndW1lbnRvcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBkZSBCTEtHRVRTSVpFNjQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIGRlIEJMS1NTWkdFVCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogYSBwb3Npw6fDo28gJTxQUkl1NjQ+IG7Do28gZXN0w6EgYWxpbmhhZGEgYW8gdGFtYW5obyBkZSBzZXRvciAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzOiBhIHBvc2nDp8OjbyDDqSBtYWlvciBxdWUgbyB0YW1hbmhvIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IG8gY29tcHJpbWVudG8gJTxQUkl1NjQ+IG7Do28gZXN0w6EgYWxpbmhhZG8gYW8gdGFtYW5obyBkZSBzZXRvciAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgZGUgQkxLWkVST09VVCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIGRlIEJMS1NFQ0RJU0NBUkQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBkZSBCTEtESVNDQVJEIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIlJlbGF0YSBpbmZvcm1hw6fDtWVzIGRlIHpvbmEgc29icmUgbyBkaXNwb3NpdGl2byBmb3JuZWNpZG8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiUmVkZWZpbmUgdW0gaW50ZXJ2YWxvIGRlIHpvbmFzLiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBpb2N0bCBkZSBibGtkZXZfZ2V0X3NlY3RvcnMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBvIHRhbWFuaG8gZGUgem9uYSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFUE9SVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogaW9jdGwgZGUgQkxLUkVQT1JUWk9ORSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvdW5kICVkIHpvbmVzIGZyb20gMHglPFBSSXg2ND5cbiIKK21zZ3N0ciAiTG9jYWxpemFkYXMgJWQgem9uYXMgZGUgMHglPFBSSXg2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiAgaW7DrWNpbzogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBuw6NvLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdGlwbzogJXUoJXMpXVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIlczogYSBwb3Npw6fDo28gJTxQUkl1NjQ+IG7Do28gZXN0w6EgYWxpbmhhZGEgYW8gdGFtYW5obyBkZSB6b25hICVsdSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIlczogbyBuw7ptZXJvIGRlIHNldG9ycyAlPFBSSXU2ND4gbsOjbyBlc3TDoSBhbGluaGFkYSBhbyB0YW1hbmhvIGRlIHpvbmEgJWx1IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIGRlIEJMS1JFU0VUWk9ORSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWNjZXNzZnVsbHkgcmVzZXQgaW4gcmFuZ2UgZnJvbSAlPFBSSXU2ND4sIHRvICU8UFJJdTY0PiIKK21zZ3N0ciAiJXM6IHJlZGVmaW5pZG8gY29tIHN1Y2Vzc28gbm8gaW50ZXJ2YWxvIGRlICU8UFJJdTY0PiwgcGFyYSAlPFBSSXU2ND4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyA8Y29tYW5kbz4gW29ww6fDtWVzXSA8ZGlzcG9zaXRpdm8+XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJFeGVjdXRhIGNvbWFuZG8gZGUgem9uYSBubyBkaXNwb3NpdGl2byBkZSBibG9jbyBkYWRvLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPHNlY3Rvcj4gIHN0YXJ0IHNlY3RvciBvZiB6b25lIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vZmZzZXQgPHNldG9yPiAgIHNldG9yIGluaWNpYWwgZGEgem9uYSBwYXJhIGFnaXIgKGVtIHNldG9yZXMgZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDUxMiBieXRlcylcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxzZXRvcmVzPiBtw6F4aW1vIGRlIHNldG9yZXMgcGFyYSBhZ2lyIChlbSBzZXRvcmVzIGRlIDUxMiBieXRlcylcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgLWMsIC0tY291bnQgPG7Dum1lcm8+ICAgbcOheGltbyBkZSBuw7ptZXJvIGRlIHpvbmFzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZXhpYmUgbWFpcyBkZXRhbGhlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICIlcyBuw6NvIMOpIHVtIG5vbWUgZGUgY29tYW5kbyB2w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG8gbsO6bWVybyBkZSB6b25hcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG8gbsO6bWVybyBkZSBzZXRvcmVzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgcG9zacOnw6NvIGRhIHpvbmEiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzkxIHN5cy11dGlscy9zZXRzaWQuYzo5MgorbXNnaWQgIm5vIGNvbW1hbmQgc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gY29tYW5kbyBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSBuw6NvIGV4aXN0ZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJXUgbsOjbyDDqSBob3QtcGx1ZyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUgasOhIGVzdMOhIGhhYmlsaXRhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBqw6EgZXN0w6EgZGVzYWJpbGl0YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIkNQVSAldSBmYWxob3UgYW8gaGFiaWxpdGFyIChDUFUgZXN0w6EgZGVzY29uZmlndXJhZGEpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAldSBmYWxob3UgYW8gaGFiaWxpdGFyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGhhYmlsaXRhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkNQVSAldSBmYWxob3UgYW8gZGVzYWJpbGl0YXIgKMO6bHRpbWEgQ1BVIGhhYmlsaXRhZGEpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUgZmFsaG91IGFvIGRlc2FiaWxpdGFyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBkZXNhYmlsaXRhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIkVzdGUgc2lzdGVtYSBuw6NvIG9mZXJlY2Ugc3Vwb3J0ZSBhIHZhc2N1bGhhciBub3ZhbWVudGUgcG9yIENQVXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJGYWxoYSBhbyBpbmljaWFyIHZhc2N1bGhhciBub3ZhbWVudGUgcG9yIENQVXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJUcmlnZ2VyZWQgcmVzY2FuIG9mIENQVXNcbiIKK21zZ3N0ciAiSW5pY2lhZG8gdmFzY3VsaGEgZGUgQ1BVc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiRXN0ZSBzaXN0ZW1hIG7Do28gb2ZlcmVjZSBzdXBvcnRlIGEgZGVmaW5pw6fDo28gZGUgbW9kbyBkZSBkZXNwYWNobyBkZSBDUFVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiRmFsaGEgYW8gZGVmaW5pciBtb2RvIGRlc3BhY2hhbnRlIGhvcml6b250YWwiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJEZWZpbmlkbyBjb20gc3VjZXNzbyBvIG1vZG8gZGUgZGVzcGFjaG8gaG9yaXpvbnRhbFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIkZhbGhhIGFvIGRlZmluaXIgbW9kbyBkZXNwYWNoYW50ZSB2ZXJ0aWNhbCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJEZWZpbmlkbyBjb20gc3VjZXNzbyBvIG1vZG8gZGUgZGVzcGFjaG8gdmVydGljYWxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICJDUFUgJXUgbsOjbyBlc3TDoSBjb25maWd1cmFkbyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGrDoSBlc3TDoSBjb25maWd1cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBqw6EgZXN0w6EgZGVzY29uZmlndXJhZGFcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICV1IGZhbGhvdSBhbyBkZXNjb25maWd1cmFyIChDUFUgZXN0w6EgaGFiaWxpdGFkYSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IGZhbGhvdSBhbyBjb25maWd1cmFyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IGNvbmZpZ3VyYWRhXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUgZmFsaG91IGFvIGRlc2NvbmZpZ3VyYXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBkZXNjb25maWd1cmFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAibsO6bWVybyBkZSBDUFUgaW52w6FsaWRvIG5hIGxpc3RhIGRlIENQVXM6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorIlVzbzpcbiIKKyIgJXMgW29ww6fDtWVzXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDMKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIkNvbmZpZ3VyYSBDUFVzIGVtIHVtIHNpc3RlbWEgbXVsdGlwcm9jZXNzYWRvLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1lbmFibGUgPGxpc3RhLWNwdT4gICAgICBoYWJpbGl0YSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGxpc3RhLWNwdT4gICAgIGRlc2FiaWxpdGEgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGxpc3RhLWNwdT4gICBjb25maWd1cmEgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8bGlzdGEtY3B1PiBkZXNjb25maWd1cmEgY3B1c1xuIgorIiAtcCwgLS1kaXNwYXRjaCA8bW9kbz4gICAgICAgICBkZWZpbmUgbW9kbyBkZSBkZXNwYWNob1xuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICBpbmljaWEgdmFzY3VsaGEgZGUgY3B1c1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhbyBhcmd1bWVudG86ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVtb3J5IEJsb2NrICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorbXNnc3RyICJCbG9jbyBkZSBtZW3Ds3JpYSAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBpbmRleCIKK21zZ3N0ciAiRmFsaGEgYW8gYW5hbGlzYXIgbyDDrW5kaWNlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICJoYWJpbGl0YcOnw6NvIGRlICVzIGZhbGhvdVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiZGVzYWJpbGl0YcOnw6NvIGRlICVzIGZhbGhvdVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTYgc3lzLXV0aWxzL2NobWVtLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiJXMgaGFiaWxpdGFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIiVzIGRlc2FiaWxpdGFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICJTw7MgZm9pIHBvc3PDrXZlbCBoYWJpbGl0YXIgJXMgZGUgbWVtw7NyaWEiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICJTw7MgZm9pIHBvc3PDrXZlbCBkZXNhYmlsaXRhciAlcyBkZSBtZW3Ds3JpYSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICIlcyBqw6EgaGFiaWxpdGFkYVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICIlcyBqw6EgZGVzYWJpbGl0YWRhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJIYWJpbGl0YcOnw6NvIGRlICVzIGZhbGhvdTogWm9uYSBpbmNvbXBhdMOtdmVsIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkRlc2FiaWxpdGHDp8OjbyBkZSAlcyBmYWxob3U6IFpvbmEgaW5jb21wYXTDrXZlbCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgImhhYmlsaXRhw6fDo28gZGUgJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgImRlc2FiaWxpdGHDp8OjbyBkZSAlcyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI2NiBzeXMtdXRpbHMvbHNtZW0uYzo0NzYgc3lzLXV0aWxzL2xzbWVtLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICJGYWxoYSBhbyBsZXIgJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBibG9jayBudW1iZXIiCittc2dzdHIgIkZhbGhhIGFvIGFuYWxpc2FyIG7Dum1lcm8gZG8gYmxvY28iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJGYWxoYSBhbyBhbmFsaXNhciBvIHRhbWFuaG8iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICJUYW1hbmhvIGRldmUgZXN0YXIgYWxpbmhhZGEgYW8gdGFtYW5obyBkbyBibG9jbyBkZSBtZW3Ds3JpYSAoJXMpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIkZhbGhhIGFvIGFuYWxpc2FyIG8gaW7DrWNpbyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiRmFsaGEgYW8gYW5hbGlzYXIgbyBmaW5hbCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgc3RhcnQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJGb3JtYXRvIGRlIGVuZGVyZcOnbyBpbmljaWFsIGludsOhbGlkbzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIkZvcm1hdG8gZGUgZW5kZXJlw6dvIGZpbmFsIGludsOhbGlkbzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICJGYWxoYSBhbyBhbmFsaXNhciBvIGVuZGVyZcOnbyBpbmljaWFsIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDEKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIGFkZHJlc3MiCittc2dzdHIgIkZhbGhhIGFvIGFuYWxpc2FyIG8gZW5kZXJlw6dvIGZpbmFsIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIkVuZGVyZcOnbyBpbmljaWFsIGUgKGVuZGVyZcOnbyBmaW5hbCArIDEpIGRldmVtIGVzdGFyIGFsaW5oYWRvcyBhbyB0YW1hbmhvIGRvIGJsb2NvIGRlIG1lbcOzcmlhICglcykiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgIlBhcsOibWV0cm8gaW52w6FsaWRvOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICJJbnRlcnZhbG8gaW52w6FsaWRvOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1NJWkV8UkFOR0V8QkxPQ0tSQU5HRV1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gW1RBTUFOSE98SU5URVJWQUxPfElOVEVSVkFMT0JMT0NPXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICJEZWZpbmUgdW0gdGFtYW5obyBlbSBwYXJ0aWN1bGFyIG91IGludGVydmFsbyBkZSBtZW3Ds3JpYSBvbmxpbmUgZSBvZmZsaW5lLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC1lLCAtLWVuYWJsZSAgICAgICBoYWJpbGl0YSBtZW3Ds3JpYVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtZCwgLS1kaXNhYmxlICAgICAgZGVzYWJpbGl0YSBtZW3Ds3JpYVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDIKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAtYiwgLS1ibG9ja3MgICAgICAgdXNhIGJsb2NvcyBkZSBtZW3Ds3JpYVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIgLXosIC0tem9uZSA8bm9tZT4gIHNlbGVjaW9uYSB6b25hIGRhIG1lbcOzcmlhICh2ZWphIGFiYWl4bylcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgIHNhw61kYSBkZXRhbGhhZGFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlpvbmFzIGFjZWl0YXM6XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgInpvbmEgaWdub3JhZGEsIG5lbmh1bWEgYXRyaWJ1dG8gc3lzZnMgZGUgdmFsaWRfem9uZXMgcHJlc2VudGUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIKK21zZ3N0ciAiem9uYSBkZSBtZW3Ds3JpYSBkZXNjb25oZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIGEgZnVuw6fDo28gZGEgY29tYmluYcOnw6NvIEN0cmwtQWx0LURlbC5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICJpbXBsw61jaXRvIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAidmFsb3IgaW5lc3BlcmFkbyBlbSAlczogJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiVm9jw6ogZGV2ZSBzZXIgcm9vdCBwYXJhIGNvbmZpZ3VyYXIgbyBjb21wb3J0YW1lbnRvIGRlIEN0cmwtQWx0LURlbCIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTUgc3lzLXV0aWxzL2lwY3JtLmM6NDE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudG8gZGVzY29uaGVjaWRvOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICJzaXN0ZW1hIGVzdMOhIGludXRpbGl6w6F2ZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJhw6fDo28gZGV2ZSBzZXIgdG9tYWRhIGltZWRpYXRhbWVudGUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgImNvbmRpw6fDtWVzIGNyw610aWNhcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiY29uZGnDp8O1ZXMgZGUgZXJybyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJjb25kacOnw7VlcyBkZSBhdmlzbyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgImNvbmRpw6fDo28gbm9ybWFsLCBtYXMgc2lnbmlmaWNhdGl2YSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiaW5mb3JtYXRpdm8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWdlbnMgZGUgbsOtdmVsIGRlIGRlcHVyYcOnw6NvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzAKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIm1lbnNhZ2VucyBkZSBrZXJuZWwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWdlbnMgYWxlYXTDs3JpYXMgZGUgbsOtdmVsIGRlIHVzdcOhcmlvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAic2lzdGVtYSBkZSBjb3JyZWlvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiZGVhbW9ucyBkZSBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICJtZW5zYWdlbnMgZGUgc2VndXJhbsOnYS9hdXRvcml6YcOnw6NvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJtZW5zYWdlbnMgZ2VyYWRhcyBpbnRlcm5hbWVudGUgcGVsbyBzeXNsb2dkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICJzdWJzaXN0ZW1hIGRlIGltcHJlc3NvcmEgZGUgbGluaGEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgInN1YnNpc3RlbWEgZGUgbm90w61jaWEgZGUgcmVkZSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgInN1YnNpc3RlbWEgVVVDUCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICJkYWVtb24gZGUgcmVsw7NnaW8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICJtZW5zYWdlbnMgZGUgc2lzdGVtYS9hdXRvcml6YcOnw6NvIChwcml2YXRpdm8pIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJkYWVtb24gZGUgRlRQIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjkKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAiRXhpYmUgb3UgY29udHJvbGEgbyBidWZmZXIgZG8ga2VybmVsLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBsaW1wYSBvIGJ1ZmZlciBkbyBrZXJuZWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBsw6ogZSBhcGFnYSB0b2RhcyBhcyBtZW5zYWdlbnNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkZXNhYmlsaXRhIGltcHJlc3PDo28gZGUgbWVuc2FnZW5zIHBhcmEgbyBjb25zb2xlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBoYWJpbGl0YSBpbXByZXNzw6NvIGRlIG1lbnNhZ2VucyBwYXJhIG8gY29uc29sZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8YXJxdWl2bz4gICAgICAgIHVzYSBvIGFycXVpdm8gZW0gdmV6IGRvIGJ1ZmZlciBkZSBsb2dzIGRvIGtlcm5lbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0YT4gICAgICByZXN0cmluZ2UgYSBzYcOtZGEgYSByZWN1cnNvcyBkZWZpbmlkb3NcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBzYcOtZGEgbGVnw612ZWwgcG9yIGh1bWFub3NcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGV4aWJlIG1lbnNhZ2VucyBkZSBrZXJuZWxcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxxdWFuZG8+XSAgICAgIGNvbG9yaXphIG1lbnNhZ2VucyAoYXV0bywgYWx3YXlzIG91IG5ldmVyKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIgLWwsIC0tbGV2ZWwgPGxpc3RhPiAgICAgICAgIHJlc3RyaW5nZSBzYcOtZGEgcGFyYSBuw612ZWlzIGRlZmluaWRvc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPG7DrXZlbD4gZGVmaW5lIG8gbsOtdmVsIGRhcyBtZW5zYWdlbnMgZXhpYmlkYXMgbm8gY29uc29sZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBuw6NvIHJlZGlyZWNpb25hIGEgc2HDrWRhIHBhcmEgdW0gcGFnaW5hZG9yXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3LDp2Egc2HDrWRhIGRlIG1hcmNhIGRlIHRlbXBvIGVtIGNhZGEgbGluaGEgZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbWVuc2FnZW5zIG11bHRpbGluaGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgbW9zdHJhIGJ1ZmZlciBkZSBtZW5zYWdlbnMgbsOjbyB0cmF0YWRhc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yw6dhIG8gdXNvIGRvIHN5c2xvZygyKSBlbSB2ZXogZG8gL2Rldi9rbXNnXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLXMsIC0tYnVmZmVyLXNpemUgPHRhbWFuaG8+ICB0YW1hbmhvIGRvIGJ1ZmZlciBkZSBjb25zdWx0YSBkZSBidWZmZXIgZG8ga2VybmVsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBleGliZSBtZW5zYWdlbnMgZG8gZXNwYcOnbyBkZSB1c3XDoXJpb1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIGVzcGVyYSBwb3Igbm92YXMgbWVuc2FnZW5zXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBkZWNvZGlmaWNhIG8gcmVjdXJzbyBlIG7DrXZlbCBwYXJhIHRleHRvIGxlZ8OtdmVsXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBtb3N0cmEgZGlmZXJlbsOnYSBkZSB0ZW1wbyBlbnRyZSBhcyBtZW5zYWdlbnNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9zdHJhZGFzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBtb3N0cmEgbyBob3LDoXJpbyBsb2NhbCBlIGRpZmVyZW7Dp2EgZGUgdGVtcG8gZW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0byBsZWfDrXZlbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTUKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiIKKyIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIG1vc3RyYSBtYXJjYSBkZSB0ZW1wbyBsZWfDrXZlbCBwYXJhIGh1bWFub3NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBvZGUgc2VyIGltcHJlY2lzbyEpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBuw6NvIG1vc3RyYSBtYXJjYXMgZGUgdGVtcG8gY29tIG1lbnNhZ2Vuc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTcKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0bz4gbW9zdHJhIG1hcmNhIGRlIHRlbXBvIHVzYW5kbyBvIGZvcm1hdG8gZm9ybmVjaWRvOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRlci9yZXN1bWlyIHRvcm5hcsOhIGFzIG1hcmNhcyBkZSB0ZW1wbyBkZSBjdGltZSBlIGlzbyBpbXByZWNpc2FzLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiUmVjdXJzb3MgZGUgbG9nOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiTsOtdmVpcyBkZSBsb2cgKHByaW9yaWRhZGVzKTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIG7DrXZlbCBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIm7DrXZlbCBkZXNjb25oZWNpZG8gXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG8gcmVjdXJzbyBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgInJlY3Vyc28gZGVzY29uaGVjaWRvIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGV4ZWN1dGFyIG1tYXA6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSB0YW1hbmhvIGRlIGJ1ZmZlciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ4OAorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIi0tc2hvdy1kZWx0YSDDqSBpZ25vcmFkbyBxdWFuZG8gdXNhZG8ganVudG8gZG8gZm9ybWF0byBkZSB0ZW1wbyBpc284NjAxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3IHBvZGUgc2VyIHVzYWRvIGNvbSAtLWxldmVsIG91IC0tZmFjaWxpdHkgYXBlbmFzIGFvIGxlciBtZW5zYWdlbnMgZGUgL2Rldi9rbXNnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAibGVpdHVyYSBkZSBidWZmZXIgZGUga2VybmVsIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJrbG9nY3RsIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxkaXNwb3NpdGl2bz58PHBvbnRvLW1vbnRhZ2VtPl1cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM4Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICJFamV0YSBtw6lkaWFzIHJlbW92w612ZWlzLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDEKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIGF0aXZhIG91IGRlc2F0aXZhIHJlY3Vyc28gZGUgYXV0b2VqZXRhclxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgYWx0ZXJuYSBkaXNjb3MgZW0gdW0gYWx0ZXJuYWRvciBkZSBDRC1ST01zXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBleGliZSBvIGRpc3Bvc2l0aXZvIHBhZHLDo29cbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZXRhIHVtIGRpc3F1ZXRlXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBpZ25vcmEgbyB0aXBvIGRlIGRpc3Bvc2l0aXZvXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICBhdGl2YSBvdSBkZXNhdGl2YSBwcm90ZcOnw6NvIGRlIGVqZcOnw6NvIG1hbnVhbFxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgbsOjbyBkZXNtb250YSBkaXNwb3NpdGl2byBtZXNtbyBzZSBtb250YWRvXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBuw6NvIGRlc21vbnRhIG91dHJhcyBwYXJ0acOnw7Vlc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgbsOjbyBlamV0YSwgYXBlbmFzIGV4aWJlIG8gZGlzcG9zaXRpdm8gZW5jb250cmFkb1xuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNhIC9wcm9jL21vdW50cyBlbSB2ZXogZG8gL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamV0YSBmaXRhXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamV0YSBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZXRhIGRpc3Bvc2l0aXZvIFNDU0lcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGZlY2hhIGEgYmFuZGVqYVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgYWJyZSBhIGJhbmRlamFcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGhhYmlsaXRhIG1lbnNhZ2VucyBkZXRhbGhhZGFzXG4iCisiIC14LCAtLWNkc3BlZWQgPHZlbG9jaWRhZGU+ICBkZWZpbmUgYSB2ZWxvY2lkYWRlIG3DoXhpbWEgZG8gQ0QtUk9NXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0YSBhcyB2ZWxvY2lkYWRlcyBkaXNwb27DrXZlaXMgZG8gQ0QtUk9NXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisiXG4iCisiUG9yIHBhZHLDo28sIHRlbnRhIC1yLCAtcywgLWYgZSAtcSwgbmVzdGUgb3JkZW0sIGF0w6kgb2J0ZXIgc3VjZXNzby5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBwYXJhIGEgb3DDp8OjbyAtLWNoYW5nZXJzbG90Ly1jIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gcGFyYSBhIG9ww6fDo28gLS1jZHNwZWVkLy14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiY29tYW5kbyBkZSBhdXRvZWpldGFyIENELVJPTSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiU2VtIHN1cG9ydGUgw6AgdHJhdmEgZGUgcG9ydGEgZGUgdW5pZGFkZSBkZSBEVkQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICJvdXRyb3MgdXN1w6FyaW9zIHTDqm0gYSB1bmlkYWRlIGFiZXJ0YSBlIG7Do28gQ0FQX1NZU19BRE1JTiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiY29tYW5kbyBkZSB0cmF2YXIgcG9ydGEgZGUgQ0QtUk9NIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ4Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAidW5pZGFkZSBkZSBDRCBOw4NPIHBvZGUgc2VyIGVqZXRhZGEgY29tIG8gYm90w6NvIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgInVuaWRhZGUgZGUgQ0QgcG9kZSBzZXIgZWpldGFkYSBjb20gbyBib3TDo28gZG8gZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiY29tYW5kbyBwYXJhIHNlbGVjaW9uYXIgZGlzY28gQ0QtUk9NIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJjb21hbmRvIGRlIGNhcnJlZ2FyIENELVJPTSBkZSBzbG90IGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY3Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAic2VtIHN1cG9ydGUgYSBhbHRlcm5hZG9yIGRlIENELVJPTSBJREUvQVRBUEkgbmVzdGUga2VybmVsXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJjb21hbmRvIHBhcmEgZmVjaGFyIGJhbmRlamEgZGUgQ0QtUk9NIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg3Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgInNlbSBzdXBvcnRlIGEgZmVjaGFyIGJhbmRlamEgZGUgQ0QtUk9NIG5lc3RlIGtlcm5lbFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgInNlbSBzdXBvcnRlIGEgZWplw6fDo28gZGUgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImNvbWFuZG8gZGUgZWplw6fDo28gZGUgQ0QtUk9NIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAibmVuaHVtYSBpbmZvcm1hw6fDo28gZGUgQ0QtUk9NIGRpc3BvbsOtdmVsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzgKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJ1bmlkYWRlIGRlIENELVJPTSBuw6NvIGVzdMOhIHByb250YSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiY29tYW5kbyBwYXJhIHNlbGVjaW9uYXIgdmVsb2NpZGFkZSBkZSBDRC1ST00gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAic2VtIHN1cG9ydGUgYW8gY29tYW5kbyBwYXJhIHNlbGVjaW9uYXIgZGUgdmVsb2NpZGFkZSBuZXN0ZSBrZXJuZWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBsb2NhbGl6YXIgbm9tZSBkbyBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBsZXIgYSB2ZWxvY2lkYWRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyIGEgdmVsb2NpZGFkZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTgzCittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAibsOjbyDDqSB1bSBkaXNwb3NpdGl2byBzZyBvdSBkcml2ZXIgYW50aWdvIHNnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiBkZXNtb250YW5kbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjczCittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBmYXplciBmb3JrIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiZGVzbW9udGFnZW0gZGUgXCIlc1wiIG7Do28gdGVybWlub3Ugbm9ybWFsbWVudGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iCittc2dzdHIgImRlc21vbnRhZ2VtIGRlIFwiJXNcIiBmYWxob3VcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBhIHRhYmVsYSBkZSBtb250YWdlbSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6IG1vbnRhZG8gZW0gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgImRlZmluaW5kbyBhIHZlbG9jaWRhZGUgZG8gQ0QtUk9NIHBhcmEgYXV0b23DoXRpY2EiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJkZWZpbmluZG8gYSB2ZWxvY2lkYWRlIGRvIENELVJPTSBwYXJhICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiZGlzcG9zaXRpdm8gcGFkcsOjbzogXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAidXNhbmRvIG8gZGlzcG9zaXRpdm8gcGFkcsOjbyBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MSBzeXMtdXRpbHMvcnRjd2FrZS5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIlczogbsOjbyBmb2kgbG9jYWxpemFyIG8gZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJub21lIGRvIGRpc3Bvc2l0aXZvIMOpIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiBuw6NvIG1vbnRhZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiJXM6IGRpc3Bvc2l0aXZvIGRlIGRpc2NvOiAlcyAoZGlzcG9zaXRpdm8gZGUgZGlzY28gc2Vyw6EgdXNhZG8gcGFyYSBlamXDp8OjbykiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiVzOiBwb250byBkZSBtb250YWdlbSBvdSBkaXNwb3NpdGl2byBuw6NvIGVuY29udHJhZG8gY29tIG5vbWUgZGFkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGRpc2NvIGludGVpcm8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczogbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBob3QtcGx1ZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJkaXNwb3NpdGl2byDDqSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgInRlcm1pbmFuZG8gcG9yIGNhdXNhIGRhIG9ww6fDo28gLW4vLS1ub29wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IGhhYmlsaXRhbmRvIG8gbW9kbyBkZSBhdXRvZWpldGFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBkZXNhYmlsaXRhbmRvIG8gbW9kbyBkZSBhdXRvZWpldGFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiJXM6IGZlY2hhbmRvIGJhbmRlamEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiJXM6IGFicmluZG8gYmFuZGVqYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6IGxpc3RhbmRvIHZlbG9jaWRhZGUgZG8gQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICJlcnJvOiAlczogZGlzcG9zaXRpdm8gZW0gdXNvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczogc2VsZWNpb25hbmRvIGRpc2NvIGRlIENELVJPTSAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiB0ZW50YW5kbyBlamV0YXIgdXNhbmRvIG8gY29tYW5kbyBkZSBlamV0YXIgQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJjb21hbmRvIGRlIGVqZcOnw6NvIGRlIENELVJPTSBvYnRldmUgc3VjZXNzbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiB0ZW50YW5kbyBlamV0YXIgdXNhbmRvIGNvbWFuZG8gU0NTSSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJlamXDp8OjbyBkZSBTQ0lTIG9idGV2ZSBzdWNlc3NvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEzCittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgImVqZcOnw6NvIGRlIFNDU0kgb2J0ZXZlIHN1Y2Vzc28iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IHRlbnRhbmRvIGVqZXRhciB1c2FuZG8gbyBjb21hbmRvIGRlIGVqZXRhciBkaXNxdWV0ZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiY29tYW5kbyBkZSBlamV0YXIgZGlzcXVldGUgb2J0ZXZlIHN1Y2Vzc28iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImNvbWFuZG8gZGUgZWpldGFyIGRpc3F1ZXRlIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlczogdGVudGFuZG8gZWpldGFyIHVzYW5kbyBjb21hbmRvIGRlIGZpdGEgZGVzY29uZWN0YWRhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJjb21hbmRvIGRlIGZpdGEgZGVzY29uZWN0YWRhIG9idGV2ZSBzdWNlc3NvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI3Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJjb21hbmRvIGRlIGZpdGEgZGVzY29uZWN0YWRhIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGVqZXRhciIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSA8bm9tZS1hcnF1aXZvPlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiUHLDqS1hbG9jYSBlc3Bhw6dvIGEsIG91IGRlc2Fsb2NhIGVzcGHDp28gZGUsIHVtIGFycXVpdm8uXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgdW0gaW50ZXJ2YWxvIGRvIGFycXVpdm9cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0YSB6ZXJvcyBlIHN1YnN0aXR1aSBjb20gYnVyYWNvc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJlIHVtIGJ1cmFjbyBubyBpbnRlcnZhbG8sIHRyb2NhbmRvIGRhZG9zIGV4aXN0ZW50ZVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTMKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxuw7ptPiAgIGNvbXByaW1lbnRvIHBhcmEgb3BlcmHDp8O1ZXMgZGUgaW50ZXJ2YWxvIGVtIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NAorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFudMOpbSBvIHRhbWFuaG8gYXBhcmVudGUgZG8gYXJxdWl2b1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxuw7ptPiAgIHBvc2nDp8OjbyBwYXJhIG9wZXJhw6fDtWVzIGRlIGludGVydmFsbywgZW0gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk2Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHN1YnN0aXR1aSB1bSBpbnRlcnZhbG8gY29tIHVtIGJ1cmFjbyAocmVzdWx0YSBlbSAtbilcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcmEgZSBhc3NlZ3VyYSB1bWEgYWxvY2HDp8OjbyBkZSB1bSBpbnRlcnZhbG9cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzYSBwb3NpeF9mYWxsb2NhdGUoMykgZW0gdmV6IGRlIGZhbGxvY2F0ZSgyKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImZhbGxvY2F0ZSBmYWxob3U6IHNlbSBzdXBvcnRlIGFvIG1vZG8gZGUgbWFudXRlbsOnw6NvIGRlIHRhbWFuaG8iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgImZhbGxvY2F0ZSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICIlczogbGVpdHVyYSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0aWRhIHBhcmEgYnVyYWNvcyBlc3BhcnNvcy5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1NAorbXNnaWQgInBvc2l4X2ZhbGxvY2F0ZSBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCIKK21zZ3N0ciAic3Vwb3J0ZSBhIHBvc2l4X2ZhbGxvY2F0ZSBuw6NvIGVzdMOhIGNvbXBpbGFkbyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSBub21lIGRlIGFycXVpdm8gZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInZhbG9yIGludsOhbGlkbyBkZSBjb21wcmltZW50byBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gYXJndW1lbnRvIGRlIGNvbXByaW1lbnRvIGVzcGVjaWZpY2FkbyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4OQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAidmFsb3IgaW52w6FsaWRvIGRlIHBvc2nDp8OjbyBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtvcMOnw7Vlc10gPGFycXVpdm8+fDxkaXJldMOzcmlvPiA8Y29tYW5kbz4gWzxhcmd1bWVudG9zPi4uLl1cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIDxhcnF1aXZvfGRpcmV0w7NyaW8+IC1jIDxjb21hbmRvPlxuIgorIiAlMSRzIFtvcMOnw7Vlc10gPG7Dum1lcm8gZGUgZGVzY3JpdG9yIGRlIGFycXVpdm8+XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJHZXJlbmNpYSB0cmF2YXMgZGUgYXJxdWl2byBkZSBzY3JpcHRzIHNoZWxsLlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBvYnTDqW0gdW1hIHRyYXZhIGNvbXBhcnRpbGhhZGFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBvYnTDqW0gdW1hIHRyYXZhIGV4Y2x1c2l2YSAocGFkcsOjbylcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgdW1hIHRyYXZhXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY1Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWxoYSBlbSB2ZXogZGUgZXNwZXJhclxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxzZWdzPiAgICAgZXNwZXJhIHBvciB1bWEgcXVhbnRpZGFkZSBsaW1pdGFkYSBkZSB0ZW1wb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKyIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxuw7ptZXJvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgY8OzZGlnbyBkZSBzYcOtZGEgYXDDs3MgY29uZmxpdG8gb3UgdGVtcG8gZXNnb3RhZG9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGZlY2hhIG8gZGVzY3JpdG9yIGRlIGFycXVpdm8gYW50ZXMgZGUgZXhlY3V0YXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbyBjb21hbmRvXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPGNvbWFuZG8+ICBleGVjdXRhIHVtYSDDum5pY2Egc3RyaW5nIGRlIGNvbWFuZG8gY29tIG8gc2hlbGxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRhIG8gY29tYW5kbyBzZW0gZm9yayBkdXBsb1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgYXVtZW50YSBkZXRhbGhhbWVudG9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYXJxdWl2byBkZSB0cmF2YSAlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA4Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJ2YWxvciBkZSB0ZW1wbyBsaW1pdGUgaW52w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAiY8OzZGlnbyBkZSBzYcOtZGEgaW52w6FsaWRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiYXMgb3DDp8O1ZXMgLS1uby1mb3JrIGUgLS1jbG9zZSBzw6NvIGluY29tcGF0w612ZWlzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgcmVxdWVyIGV4YXRhbWVudGUgdW0gYXJndW1lbnRvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJkZXNjcml0b3IgZGUgYXJxdWl2byBpbnbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgInJlcXVlciB1bSBkZXNjcml0b3IgZGUgYXJxdWl2bywgYXJxdWl2byBvdSBkaXJldMOzcmlvIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgImZhbGhhIGFvIG9idGVyIHRyYXZhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgInRlbXBvIGVzZ290YWRvIGVucXVhbnRvIGVzcGVyYXZhIHBhcmEgb2J0ZXIgdHJhdmEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6IG9idGVuw6fDo28gZGEgdHJhdmEgbGV2b3UgJWxkLiUwNmxkIHNlZ3VuZG9zXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiBleGVjdXRhbmRvICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxwb250by1tb250YWdlbT5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlN1c3BlbmRlIGFjZXNzbyBhIHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MuXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ3Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWYsIC0tZnJlZXplICAgICAgY29uZ2VsYSBvIHNpc3RlbWEgZGUgYXJxdWl2b3NcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIGRlc2NvbmdlbGEgbyBzaXN0ZW1hIGRlIGFycXVpdm9zXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIm7Do28gZm9pIGVzcGVjaWZpY2FkbyAtLWZyZWV6ZSBuZW0gLS11bmZyZWV6ZSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBuw6NvIMOpIHVtIGRpcmV0w7NyaW8iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGNvbmdlbGFtZW50byBmYWxob3UiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogZGVzY29uZ2VsYW1lbnRvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBuw6NvIMOpIHVtIGRpcmV0w7NyaW8iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGlvY3RsIGRlIEZJVFJJTSBmYWxob3UiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgdHJpbW1lZFxuIgorbXNnc3RyICIlczogJXMgKCU8UFJJdTY0PiBieXRlcykgZGVzY2FydGFkb1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkzIHN5cy11dGlscy9sc25zLmM6MTA2NiBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgJXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxwb250by1tb250YWdlbT5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiRGVzY2FydGEgYmxvY29zIG7Do28gdXNhZG9zIGVtIHVtIHNpc3RlbWEgZGUgYXJxdWl2b3MgbW9udGFkb3MuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgZGVzY2FydGEgdG9kb3Mgc2lzdGVtYXMgZGUgYXJxdWl2b3MgbW9udGFkb3NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgIHBhcmEgb3MgcXVhaXMgaMOhIHN1cG9ydGVcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG7Dum0+ICBhIHBvc2nDp8OjbyBlbSBieXRlcyBvbmRlIHNlcsOhIGluaWNpYWRvIG8gZGVzY2FydGVcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxuw7ptPiAgbyBuw7ptZXJvIGRlIGJ5dGVzIHBhcmEgZGVzY2FydGFyXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjMKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPG7Dum0+IG8gY29tcHJpbWVudG8gZGUgZXh0ZW5zw6NvIG3DrW5pbWEgcGFyYSBkZXNjYXJ0YXJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgbW9zdHJhIG8gbsO6bWVybyBkZSBieXRlcyBkZXNjYXJ0YWRvc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgY29tcHJpbWVudG8gbcOtbmltbyBkYSBleHRlbnPDo28iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMzEKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAibmVuaHVtIHBvbnRvIGRlIG1vbnRhZ2VtIGVzcGVjaWZpY2FkYSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBzZW0gc3Vwb3J0ZSBhIG9wZXJhw6fDo28gZGUgZGVzY2FydGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAiUHJlc3N1cG9uZG8gcXVlIG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgw6kgbWFudGlkbyBuYSBob3JhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJsb2NhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIkF2aXNvOiBhIHRlcmNlaXJhIGxpbmhhIGRvIGFycXVpdm8gYWRqdGltZSBuw6NvIGZvaSByZWNvbmhlY2lkYVxuIgorIihFc3BlcmF2YTogXCJVVENcIiBvdSBcIkxPQ0FMXCIgb3UgbmFkYS4pIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIsOabHRpbW8gYWp1c3RlIGRlIHZhcmlhw6fDo28gZmVpdG8gJWxkIHNlZ3VuZG9zIGFww7NzIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBjYWxpYnJhdGlvbiBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiw5psdGltYSBjYWxpYnJhw6fDo28gZmVpdGEgJWxkIHNlZ3VuZG9zIGFww7NzIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJPIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGVzdMOhIG5hIGhvcmEgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJBZ3VhcmRhbmRvIHRpcXVlIGRvIHJlbMOzZ2lvLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uc2luY3Jvbml6YcOnw6NvIGZhbGhvdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi50aXF1ZSBkbyByZWzDs2dpbyBvYnRpZG9cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiVmFsb3JlcyBpbnbDoWxpZG9zIG5vIHJlbMOzZ2lvIGRlIGhhcmR3YXJlOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJIb3JhIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlZ3VuZG9zIGRlc2RlIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiSG9yYSBsaWRhIGRvIHJlbMOzZ2lvIGRlIEhhcmR3YXJlOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkNvbmZpZ3VyYW5kbyBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIHBhcmEgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2VndW5kb3MgZGVzZGUgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAidGVtcG8gdm9sdG91ICUuNmYgc2VndW5kb3MgcGFyYSAlbGQuJTA2bGQgLSByZWZhemVuZG8gYWx2b1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgInBlcmRpIC0gJWxkLiUwNmxkIMOpIG11aXRvIGRpc3RhbnRlIGRlICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisiJWxkLiUwNmxkIMOpIHBlcnRvIHN1ZmljaWVudGUgZGUgJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJEZWZpbmlkbyBSVEMgcGFyYSAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgdG8gc2V0IHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCittc2dzdHIgIkNoYW1hbmRvIHNldHRpbWVvZmRheShOVUxMLCAlZCkgcGFyYSBkZWZpbmlyIHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIkNoYW1hbmRvIHNldHRpbWVvZmRheShOVUxMLCAwKSBwYXJhIGJsb3F1ZWFyIGEgZnVuw6fDo28gZGUgYWp1c3RlICh3YXJwKS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIkNoYW1hbmRvIHNldHRpbWVvZmRheSglbGQuJTA2bGQsICVkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICJDaGFtYW5kbyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzYKK21zZ2lkICJ0byBzZXQgdGhlIGtlcm5lbCB0aW1lem9uZS4iCittc2dzdHIgInBhcmEgZGVmaW5pciBvIGZ1c28gaG9yw6FyaW8gZG8ga2VybmVsLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKK21zZ2lkICJ0byB3YXJwIFN5c3RlbSB0aW1lLiIKK21zZ3N0ciAicGFyYSBhanVzdGFyICh3YXJwKSBvIHRlbXBvIGRvIFNpc3RlbWEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY1NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICJPIGZhdG9yIGRlIHZhcmlhw6fDo28gbsOjbyBlc3TDoSBzZW5kbyBhanVzdGFkbyBwb3JxdWUgYSBvcMOnw6NvIC0tdXBkYXRlLWRyaWZ0IG7Do28gZm9pIHVzYWRhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIk8gZmF0b3IgZGUgdmFyaWHDp8OjbyBuw6NvIGVzdMOhIHNlbmRvIGFqdXN0YWRvIHBvcnF1ZSBhIGRhdGEgZGUgc3VhIMO6bHRpbWEgY2FsaWJyYcOnw6NvIMOpIHplcm8sXG4iCisiZW50w6NvIG8gaGlzdMOzcmljbyDDqSBpbnbDoWxpZG8gZSDDqSBuZWNlc3PDoXJpbyByZWluaWNpYXIgYSBjYWxpYnJhw6fDo28uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzIGJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgY2FsaWJyYXRpb24uXG4iCittc2dzdHIgIk8gZmF0b3IgZGUgdmFyaWHDp8OjbyBuw6NvIGVzdMOhIHNlbmRvIGFqdXN0YWRvIHBvcnF1ZSBtZW5vcyBkZSBxdWF0cm8gaG9yYXMgc2UgcGFzc2FyYW0gZGVzZGUgYSDDumx0aW1hIGNhbGlicmHDp8Ojby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiTyBmYXRvciBkZSB2YXJpYcOnw6NvIGRvIHJlbMOzZ2lvIGZvaSBjYWxjdWxhZG8gY29tbyAlZiBzZWd1bmRvcy9kaWEuXG4iCisiSXNzbyDDqSBkaXN0YW50ZSBkZW1haXMuIFJlZGVmaW5pbmRvIHBhcmEgemVyby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiTyByZWzDs2dpbyB2YXJpb3UgJWYgc2VndW5kb3Mgbm9zIMO6bHRpbW9zICVmIHNlZ3VuZG9zLFxuIgorImFwZXNhciBkZSB1bSBmYXRvciBkZSB2YXJpYcOnw6NvIGRlICVmIHNlZ3VuZG9zL2RpYS5cbiIKKyJBanVzdGFuZG8gbyBmYXRvciBkZSB2YXJpYcOnw6NvIGVtICVmIHNlZ3VuZG9zL2RpYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIk8gdGVtcG8gZGVzZGUgbyDDumx0aW1vIGFqdXN0ZSDDqSBkZSAlbGQgc2VndW5kb1xuIgorbXNnc3RyWzFdICJPIHRlbXBvIGRlc2RlIG8gw7psdGltbyBhanVzdGUgw6kgZGUgJWxkIHNlZ3VuZG9zXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiVmFyaWHDp8OjbyBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBjYWxjdWxhZGEgw6kgJWxkLiUwNmxkIHNlZ3VuZG9zXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorIk5vdm9zIGRhZG9zIGRlICVzOlxuIgorIiVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdXBkYXRlICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYXR1YWxpemFyICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJPIGZhdG9yIGRlIHZhcmlhw6fDo28gbsOjbyBlc3TDoSBzZW5kbyBhanVzdGFkbyBwb3JxdWUgYSBkYXRhIGRvIMO6bHRpbW8gYWp1c3RlIMOpIHplcm8sIGVudMOjbyBvIGhpc3TDs3JpY28gw6kgaW52w6FsaWRvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIk8gZmF0b3IgZGUgdmFyaWHDp8OjbyBuw6NvIGVzdMOhIHNlbmRvIGFqdXN0YWRvIHBvcnF1ZSBvIGZhdG9yIGRlIGRpZmVyZW5jaWHDp8OjbyAlZiBlc3TDoSBhbHRvIGRlbWFpcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiTsOjbyBmb2kgZW5jb250cmFkYSB1bWEgaW50ZXJmYWNlIGRlIHJlbMOzZ2lvIHV0aWxpesOhdmVsLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFjZXNzYXIgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBwb3IgbmVuaHVtIG3DqXRvZG8gY29uaGVjaWRvLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKK21zZ2lkICJVc2UgdGhlIC0tdmVyYm9zZSBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJVc2UgYSBvcMOnw6NvIC0tdmVyYm9zZSBwYXJhIGNvbnN1bHRhciBvcyBkZXRhbGhlcyBkZSBub3NzYSBwZXNxdWlzYSBwb3IgdW0gbcOpdG9kbyBkZSBhY2Vzc28uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAiRGF0YSBhbHZvOiAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlZGljdGVkIFJUQzogJWxkXG4iCittc2dzdHIgIlJUQyBwcmVkaXppZG86ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk3MAorbXNnaWQgIlJUQyByZWFkIHJldHVybmVkIGFuIGludmFsaWQgdmFsdWUuIgorbXNnc3RyICJBIGxlaXR1cmEgZG8gUlRDIHJldG9ybm91IHVtIHZhbG9yIGludsOhbGlkby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiTyBhanVzdGUgbmVjZXNzw6FyaW8gw6kgbWVub3IgZG8gcXVlIHVtIHNlZ3VuZG8sIHBvcnRhbnRvIG8gcmVsw7NnaW8gbsOjbyBzZXLDoSBhanVzdGFkby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM1Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgbyB2YWxvciBkZSBlcG9jaCBkbyBSVEMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICJPIGVwb2NoIGRvIFJUQyBlc3TDoSBkZWZpbmlkbyBwYXJhICVsdS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQwCittc2dpZCAiLS1lcG9jaCBpcyByZXF1aXJlZCBmb3IgLS1zZXRlcG9jaC4iCittc2dzdHIgIi0tZXBvY2ggw6kgZXhpZ2lkbyBwYXJhIC0tc2V0ZXBvY2guIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKK21zZ2lkICJ1bmFibGUgdG8gc2V0IHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gdmFsb3IgZGUgZXBvY2ggZG8gUlRDLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiAlcyBbZnVuw6fDo29dIFtvcMOnw6NvLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiVXRpbGl0w6FyaW8gZGUgcmVsw7NnaW9zLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIgLXIsIC0tc2hvdyAgICAgICAgICAgZXhpYmUgbyB0ZW1wbyBkbyBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAgICAtLWdldCAgICAgICAgICAgIGV4aWJlIHRlbXBvIGRlIFJUQyBjb3JyaWdpZG8gY29tIGFqdXN0ZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY1Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAgICAgLS1zZXQgICAgICAgICAgICBkZWZpbmEgbyBSVEMgZGUgYWNvcmRvIGNvbSAtLWRhdGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIC1zLCAtLWhjdG9zeXMgICAgICAgIGRlZmluYSBvIHRlbXBvIGRvIHNpc3RlbWEgYSBwYXJ0aXIgZG8gUlRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjcKK21zZ2lkICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBSVEMgZnJvbSB0aGUgc3lzdGVtIHRpbWUiCittc2dzdHIgIiAtdywgLS1zeXN0b2hjICAgICAgICBkZWZpbmEgbyBSVEMgYSBwYXJ0aXIgZGEgaG9yYSBkbyBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiICAgICAtLXN5c3R6ICAgICAgICAgIGVudmlhciBjb25maWd1cmHDp8O1ZXMgZGUgbWFyY2EgZGUgdGVtcG8gcGFyYSBvIGtlcm5lbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY5Cittc2dpZCAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQiCittc2dzdHIgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhanVzdGEgbyBSVEMgcGFyYSBkYXIgY29udGEgZG8gYWp1c3RlIHNpc3RlbcOhdGljbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcxCittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAgICAtLWdldGVwb2NoICAgICAgIGV4aWJlIG8gZXBvY2ggZG8gUlRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzIKK21zZ2lkICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBSVEMgZXBvY2ggYWNjb3JkaW5nIHRvIC0tZXBvY2giCittc2dzdHIgIiAgICAgLS1zZXRlcG9jaCAgICAgICBkZWZpbmUgbyBlcG9jaCBkbyBSVEMgY29uZm9ybWUgbyAtLWVwb2NoIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGl6IG8gdGVtcG8gYWp1c3RhZG8gZG8gUlRDIGNvbmZvcm1lIG8gLS1kYXRlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgYSBlc2NhbGEgZGUgdGVtcG8gZG8gUlRDIHVzYSBVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NworbXNnaWQgIiAtbCwgLS1sb2NhbHRpbWUgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBMb2NhbCIKK21zZ3N0ciAiIC1sLCAtLWxvY2FsdGltZSAgICAgIGEgZXNjYWxhIGRlIHRlbXBvIGRvIFJUQyDDqSBMb2NhbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIgLWYsIC0tcnRjIDxhcnF1aXZvPiAgdXNhIHVtIGFycXVpdm8gYWx0ZXJuYXRpdm8gYSAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzYSBvIGJhcnJhbWVudG8gSVNBIGVtIHZleiBkbyBhY2Vzc28gJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZW50cmFkYSBkZSBkYXRhL3RlbXBvIHBhcmEgLS1zZXQgZSAtLXByZWRpY3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiICAgICAtLWVwb2NoIDxhbm8+ICAgIGVudHJhZGEgZG8gZXBvY2ggcGFyYSAtLXNldGVwb2NoIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgYXR1YWxpemEgbyBmYXRvciBkZSBhanVzdGUgZG8gUlRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgIC0tbm9hZGpmaWxlICAgICAgbsOjbyB1c2UgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWFkamZpbGUgPGZpbGU+IHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAgICAgLS1hZGpmaWxlIDxhcnF1aXZvPiB1c2EgdW0gYXJxdWl2byBhbHRlcm5hdGl2byBwYXJhICUxJHNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkzCittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgIC0tdGVzdCAgICAgICAgICAgc2ltdWxhw6fDo287IGltcGxpY2EgZW0gLS12ZXJib3NlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBleGliZSBtYWlzIGRldGFsaGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExODYKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBjb25lY3RhciBhbyBzaXN0ZW1hIGRlIGF1ZGl0b3JpYSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEwCittc2dpZCAidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBoYXMgYmVlbiBkZXByZWNhdGVkLiIKK21zZ3N0ciAidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBlc3TDoSBvYnNvbGV0by4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgIiVkIG7Dum1lcm8gZXhjZXNzaXZvIGRlIGFyZ3VtZW50b3MgZGFkbyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzE3Cittc2dpZCAiLS11cGRhdGUtZHJpZnQgcmVxdWlyZXMgLS1zZXQgb3IgLS1zeXN0b2hjIgorbXNnc3RyICItLXVwZGF0ZS1kcmlmdCBleGlnZSAtLXNldCBvdSAtLXN5c3RvaGMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyMgorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICJDb20gLS1ub2FkamZpbGUsIHZvY8OqIGRldmUgZXNwZWNpZmljYXIgLS11dGMgb3UgLS1sb2NhbHRpbWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICItLWRhdGUgw6kgZXhpZ2lkbyBwYXJhIC0tc2V0IG91IC0tcHJlZGljdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICJkYXRhIGludsOhbGlkYSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gVGltZTogJWxkLiUwNmxkXG4iCittc2dzdHIgIlRlbXBvIGRvIHNpc3RlbWE6ICVsZC4lMDZsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICJNb2RvIGRlIHRlc3RlOiBuYWRhIGZvaSBhbHRlcmFkby4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJhY2Vzc28gYSBwb3J0YSBJU0EgbsOjbyBlc3TDoSBpbXBsZW1lbnRhZGEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKK21zZ2lkICJpb3BsKCkgcG9ydCBhY2Nlc3MgZmFpbGVkIgorbXNnc3RyICJhY2Vzc28gYSBwb3J0YSBpb3BsKCkgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICJVc2FuZG8gYWNlc3NvIGRpcmV0byBhIElTQSBwYXJhIG8gcmVsw7NnaW8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiVGVudGFuZG8gYWJyaXI6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKK21zZ2lkICJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgZGlzcG9zaXRpdm8gcnRjIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglcykgcGFyYSAlcyBwYXJhIGxlciBhIGhvcmEgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gJXMgdG8gY2hhbmdlXG4iCittc2dzdHIgIkFndWFyZGFuZG8gZW0gbG9vcCBhdMOpIHF1ZSBhIGhvcmEgZGUgJXMgbXVkZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzMKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJUZW1wbyBsaW1pdGUgZXhjZWRpZG8gYW8gZXNwZXJhciBwZWxhIGFsdGVyYcOnw6NvIGRhIGhvcmEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgInNlbGVjdCgpIHBhcmEgJXMgcGFyYSBhZ3VhcmRhciB0aXF1ZSBkbyByZWzDs2dpbyBleHBpcm91IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgInNlbGVjdCgpIHBhcmEgJXMgcGFyYSBhZ3VhcmRhciB0aXF1ZSBkbyByZWzDs2dpbyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSBwYXJhICVzIHBhcmEgZGVzbGlnYXIgaW50ZXJydXDDp8O1ZXMgZGUgYXR1YWxpemHDp8OjbyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgcGFyYSAlcyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIHBhcmEgJXMgcGFyYSBkZWZpbmlyIGEgaG9yYSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSBvYnRldmUgc3VjZXNzby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiVXNhbmRvIGEgaW50ZXJmYWNlIHJ0YyBwYXJhIG8gcmVsw7NnaW8uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgcGFyYSAlcyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSBwYXJhICVzIGJlbS1zdWNlZGlkby5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZXBvY2ggJyVzJy4iCittc2dzdHIgImVwb2NoIGludsOhbGlkbyBcIiVzXCIuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSBwYXJhICVzIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgcGFyYSAlcyBiZW0tc3VjZWRpZG8uXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiQ3JpYSB2w6FyaW9zIHJlY3Vyc29zIGRlIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAtTSwgLS1zaG1lbSA8dGFtYW5obz4gICAgY3JpYSB1bSBzZWdtZW50byBkZSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRhbWFuaG8gPHRhbWFuaG8+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8bsO6bT4gICAgY3JpYSBkZSB2ZXRvciBzZW3DoWZvcm9zIGNvbSA8bsO6bT4gZWxlbWVudG9zXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyaWEgdW1hIGZpbGEgZGUgbWVuc2FnZW1cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8bW9kbz4gICAgICAgIHBlcm1pc3PDo28gZG8gcmVjdXJzbyAocGFkcsOjbyDDqSAwNjQ0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo3MTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgbyB0YW1hbmhvIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG9zIGVsZW1lbnRvcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgImNyaWHDp8OjbyBkZSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIklEIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGE6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiY3JpYcOnw6NvIGRlIGZpbGEgZGUgbWVuc2FnZW0gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiSUQgZGUgZmlsYSBkZSBtZW5zYWdlbnM6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJjcmlhw6fDo28gZGUgc2Vtw6Fmb3JvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiSUQgZG8gc2Vtw6Fmb3JvOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW29ww6fDtWVzXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJSZW1vdmUgY2VydG9zIHJlY3Vyc29zIGRlIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNlZ21lbnRvIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEgcGVsbyBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIiCisiIC1NLCAtLXNobWVtLWtleSA8Y2hhdmU+ICAgIHJlbW92ZSBzZWdtZW50byBkZSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGVsYSBjaGF2ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIGZpbGEgZGUgbWVuc2FnZW5zIHBlbG8gaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPGNoYXZlPiAgICByZW1vdmUgZmlsZSBkZSBtZW5zYWdlbnMgcGVsYSBjaGF2ZVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2Vtw6Fmb3JvIHBlbG8gaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorIiAtUywgLS1zZW1hcGhvcmUta2V5IDxjaGF2ZT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlIHNlbcOhZm9ybyBwZWxhIGNoYXZlXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPTxzaG18bXNnfHNlbT5dICByZW1vdmUgdHVkbyAobmEgY2F0ZWdvcmlhIGVzcGVjaWZpY2FkYSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxpY2EgbyBxdWUgZXN0w6Egc2VuZG8gZmVpdG9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAicmVtb3ZlbmRvIElEIGRlIHNlZ21lbnRvIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEgXCIlZFwiXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJyZW1vdmVuZG8gSUQgZGUgZmlsYSBkZSBtZW5zYWdlbnMgXCIlZFwiXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgInJlbW92ZW5kbyBJRCBkZSBzZW3DoWZvcm8gXCIlZFwiXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJwZXJtaXNzw6NvIG5lZ2FkYSBwZWxhIGNoYXZlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgInBlcm1pc3PDo28gbmVnYWRhIHBlbG8gSUQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAiY2hhdmUgaW52w6FsaWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJJRCBpbnbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJjaGF2ZSBqw6EgcmVtb3ZpZGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiSUQgasOhIHJlbW92aWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiY2hhdmUgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIklEIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJJRCBpbnbDoWxpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJyZWN1cnNvKHMpIGV4Y2x1w61kb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiY2hhdmUgaWxlZ2FsICglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAibyBrZXJuZWwgbsOjbyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAibyBrZXJuZWwgbsOjbyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIHNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIm8ga2VybmVsIG7Do28gZXN0w6EgY29uZmlndXJhZG8gcGFyYSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3DDp8Ojby1yZWN1cnNvLi4uXSBbb3DDp8Ojby1zYcOtZGFdXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3IHN5cy11dGlscy9sc2lwYy5jOjI4MQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIk1vc3RyYSBpbmZvcm1hw6fDtWVzIHNvYnJlIGZhY2lsaWRhZGVzIElQQy5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgZXhpYmUgZGV0YWxoZXMgc29icmUgbyByZWN1cnNvIGlkZW50aWZpY2FkbyBwZWxvIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJPcMOnw7VlcyBkZSByZWN1cnNvczpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgc2VnbWVudG9zIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIGZpbGFzIGRlIG1lbnNhZ2Vuc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBzZW3DoWZvcm9zXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgdG9kb3MgKHBhZHLDo28pXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiT3DDp8O1ZXMgZGUgc2HDrWRhOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgbW9zdHJhIGhvcsOhcmlvcyBkZSBhbmV4YcOnw6NvLCBkZXN0YWNhbWVudG8gZSBhbHRlcmHDp8Ojb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICBtb3N0cmEgUElEcyBkbyBjcmlhZG9yIGUgZG8gw7psdGltbyBvcGVyYWRvclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIG1vc3RyYSBjcmlhZG9yIGUgZG9ub1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICBtb3N0cmEgbGltaXRlcyBkZSByZWN1cnNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAgbW9zdHJhIHJlc3VtbyBkZSBlc3RhZG9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAgbW9zdHJhIHRhbWFuaG9zIGVtIHVtIGZvcm1hdG8gbGVnw612ZWwgcG9yIGh1bWFub3NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICBtb3N0cmEgdGFtYW5ob3MgZW0gYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiYW8gdXNhciB1bSBJRCwgYXBlbmFzIHVtIHJlY3Vyc28gZGV2ZSBzZXIgZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGxpbWl0ZXMgZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLSBMaW1pdGVzIGRhIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEgLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIk7Dum1lcm8gbcOheGltbyBkZSBzZWdtZW50b3MgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIlRhbWFuaG8gbcOheGltbyBkZSBzZWdtZW50b3MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE4Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgInRvdGFsIG3DoXhpbW8gZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgIlRhbWFuaG8gbcOtbmltbyBkZSBzZWdtZW50b3MiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJvIGtlcm5lbCBuw6NvIGVzdMOhIGNvbmZpZ3VyYWRvIHBhcmEgbWVtw7NyaWEgY29tcGFydGlsaGFkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLSBTdGF0dXMgZGEgbWVtw7NyaWEgY29tcGFydGlsaGFkYSAtXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorInNlZ21lbnRvcyBhbG9jYWRvcyAlZFxuIgorInDDoWdpbmFzIGFsb2NhZGFzICAgJWxkXG4iCisicMOhZ2luYXMgcmVzaWRlbnRlcyAlbGRcbiIKKyJww6FnaW5hcyB0cm9jYWRhcyAgICVsZFxuIgorIlBlcmZvcm1hbmNlIGRlIHRyb2NhOiAlbGQgdGVudGF0aXZhc1x0ICVsZCBzdWNlc3Nvc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICJDcmlhZG9yZXMvZG9ub3MgZGUgc2VnbWVudG9zIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAicGVybXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICJIb3LDoXJpb3MgZGUgYW5leGHDp8Ojby9kZXN0YWNhbWVudG8vYWx0ZXJhw6fDo28gZGEgbWVtw7NyaWEgY29tcGFydGlsaGFkYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MCBzeXMtdXRpbHMvaXBjcy5jOjI4NgorIzogc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MDEKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAib3duZXIiCittc2dzdHIgInByb3ByaWV0w6FyaW8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgImFuZXhhZG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgImRlc3RhY2FkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICJhbHRlcmFkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLVBJRHMgQ3JpYWRvci/Dumx0aW1hIG9wIGRhIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEtXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAiY3BpZCIKK21zZ3N0ciAiY3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJscGlkIgorbXNnc3RyICJscGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIgorbXNnc3RyICItIFNlZ21lbnRvcyBkYSBtZW3Ds3JpYSBjb21wYXJ0aWxoYWRhIC1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJrZXkiCittc2dzdHIgImNoYXZlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgInRhbWFuaG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJ5dGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAic3RhdHVzIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICJOw6NvIGRlZmluaWRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiZGVzdCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgImJsb3F1ZWFkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGxpbWl0ZXMgZGUgc2Vtw6Fmb3JvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBMaW1pdGVzIGRlIHNlbcOhZm9ybyAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJuw7ptZXJvIG3DoXhpbW8gZGUgdmV0b3JlczogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAibcOheGltbyBkZSBzZW3DoWZvcm9zIHBvciB2ZXRvcjogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtw6F4aW1vIGdlcmFsIGRlIHNlbcOhZm9yb3MgZG8gc2lzdGVtYTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIm3DoXhpbW8gZGUgb3BzIHBvciBjaGFtYWRhIHNlbW9wOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAidmFsb3IgbcOheGltbyBkZSBzZW3DoWZvcm86ICV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJvIGtlcm5lbCBuw6NvIGVzdMOhIGNvbmZpZ3VyYWRvIHBhcmEgc2Vtw6Fmb3Jvc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBTdGF0dXMgZGUgc2Vtw6Fmb3JvIC0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJhcnJheXMgdXNhZG9zOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgInNlbcOhZm9yb3MgYWxvY2Fkb3M6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLSBDcmlhZG9yZXMvZG9ub3MgZGUgYXJyYXlzIGRlIHNlbcOhZm9yb3MgLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLSBIb3LDoXJpb3MgZGUgYWx0ZXJhw6fDo28vb3BlcmHDp8OjbyBkZSBzZW3DoWZvcm8gLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICLDumx0aW1hLW9wIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAiw7psdGltYS1hbHRlcmHDp8OjbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEFycmF5cyBkZSBzZW3DoWZvcm9zIC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICJuc2VtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBsaW1pdGVzIGRlIG1lbnNhZ2VtXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBMaW1pdGVzIGRlIG1lbnNhZ2VucyAtLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAibsO6bWVybyBtw6F4aW1vIGdlcmFsIGRlIGZpbGFzIG5vIHNpc3RlbWE6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAidGFtYW5obyBtw6F4aW1vIGRhIG1lbnNhZ2VtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgInRhbWFuaG8gbcOheGltbyBwYWRyw6NvIGRhIGZpbGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAibyBrZXJuZWwgbsOjbyBlc3TDoSBjb25maWd1cmFkbyBwYXJhIGZpbGFzIGRlIG1lbnNhZ2VtXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gTWVuc2FnZW5zIGRlIGVzdGFkbyAtLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiZmlsYXMgYWxvY2FkYXMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJjYWJlw6dhbGhvcyB1c2Fkb3M6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiZXNwYcOnbyB1c2FkbyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIENyaWFkb3Jlcy9kb25vcyBkZSBmaWxhcyBkZSBtZW5zYWdlbnMgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAibXNxaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIkhvcsOhcmlvcyBkZSBlbnZpby9yZWNlcMOnw6NvL2FsdGVyYcOnw6NvIGRlIGZpbGFzIGRlIG1lbnNhZ2Vuc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInNlbmQiCittc2dzdHIgImVudmlvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgInJlY2ViaW1lbnRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiYWx0ZXJhw6fDo28iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLSBQSURzIGRlIGZpbGFzIGRlIG1lbnNhZ2VucyAtLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gRmlsYXMgZGUgbWVuc2FnZW5zIC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgImJ5dGVzIHVzYWRvcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAibWVuc2FnZW5zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MCBzeXMtdXRpbHMvaXBjcy5jOjYxMCBzeXMtdXRpbHMvaXBjcy5jOjY0MworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM3IHN5cy11dGlscy9sc2lwYy5jOjcyOSBzeXMtdXRpbHMvbHNpcGMuYzo4ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJJRCAlZCBuw6NvIGVuY29udHJhZG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk1lbcOzcmlhIGNvbXBhcnRpbGhhZGE6IHNobWlkIGRlIHNlZ21lbnRvID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiVGFtYW5obz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkyCisjLCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJhdHRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisibXNxaWQgZGEgZmlsYSBkZSBtZW5zYWdlbnM6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kbz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgImNzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJjYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAicXNpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgInFieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAicmN2X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgZGUgdmV0b3IgZGUgc2Vtw6Fmb3Jvcz0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJtb2RvPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJjdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICJzZW1udW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgInZhbG9yIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGJ5dGVzKSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoa2J5dGVzKSA9ICIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTg0Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAiaWZsYWcgaW52w6FsaWRhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxsZGlzYz4gPGRpc3Bvc2l0aXZvPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiQW5leGEgdW1hIGRpc2NpcGxpbmEgZGUgbGluaGEgYSB1bWEgbGluaGEgc2VyaWFsLlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGV4aWJlIG1lbnNhZ2VucyBkZXRhbGhhZGFzIHBhcmEgZXJybyBwYWRyw6NvXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWxvcj4gICAgIGRlZmluZSBhIHZlbG9jaWRhZGUgZGEgbGluaGEgc2VyaWFsXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOAorbXNnaWQgIiAtYywgLS1pbnRyby1jb21tYW5kIDxzdHJpbmc+IGludHJvIHNlbnQgYmVmb3JlIGxkYXR0YWNoXG4iCittc2dzdHIgIiIKKyIgLWMsIC0taW50cm8tY29tbWFuZCA8dGV4dG8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIGludHJvZHXDp8OjbyBlbnZpYWRhIGFudGVzIGRlIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIgLXAsIC0tcGF1c2UgPHNlZ3VuZG9zPiAgcGF1c2EgZW50cmUgZW50cmFkYSBlIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBkZWZpbmUgbyB0YW1hbmhvIGRvIGNhcmFjdGVyZSBwYXJhIDcgYml0c1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgZGVmaW5lIG8gdGFtYW5obyBkbyBjYXJhY3RlcmUgcGFyYSA4IGJpdHNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgZGVmaW5lIGEgcGFyaWRhZGUgcGFyYSBuZW5odW1hXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIGRlZmluZSBwYXJpZGFkZSBwYXJhIHBhclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIGRlZmluZSBwYXJpZGFkZSBwYXJhIMOtbXBhclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTUKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIGRlZmluZSBvcyBiaXRzIGRlIHBhcmFkYSBwYXJhIHVtXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgZGVmaW5lIG9zIGJpdHMgZGUgcGFyYWRhIHBhcmEgZG9pc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTcKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgZGVmaW5lIGEgb3DDp8O1ZXMgZGUgbW9kbyBkZSBlbnRyYWRhXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTm9tZXMgZGUgPGxkaXNjPiBjb25oZWNpZG9zOlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjYKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5vbWVzIGRlIDxpZmxhZz4gY29uaGVjaWRvczpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSB2ZWxvY2lkYWRlIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHBhdXNhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzQKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBkaXNjaXBsaW5hIGRlIGxpbmhhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIG7Do28gw6kgdW1hIGxpbmhhIHNlcmlhbCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvcyBhdHJpYnV0b3MgcGFyYSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSDDoCB2ZWxvY2lkYWRlICVkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgb3MgYXRyaWJ1dG9zIGRvIHRlcm1pbmFsIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBjb21hbmRvIGRlIGludHJvZHXDp8OjbyBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzMKK21zZ2lkICJjYW5ub3Qgc2V0IGxpbmUgZGlzY2lwbGluZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgYSBkaXNjaXBsaW5hIGRlIGxpbmhhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZXhlY3V0YXIgY29tbyBkYWVtb24iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIm9ww6fDo28gYXV0b2NsZWFyIGRlZmluaWRhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiYXJxdWl2byBkZSBkaXNwb3NpdGl2byBkZSBiYWNrZW5kIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkZSBpbm9kZSBkZSBhcnF1aXZvIGRlIGJhY2tlbmQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBtYWlvcjptZW5vciBkZSBhcnF1aXZvIGRlIGJhY2tlbmQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJub21lIGRvIGRpc3Bvc2l0aXZvIGRlIGxvb3AiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzUKK21zZ2lkICJvZmZzZXQgZnJvbSB0aGUgYmVnaW5uaW5nIgorbXNnc3RyICJwb3Npw6fDo28gYSBwYXJ0aXIgZG8gY29tZcOnbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICJvcMOnw6NvIHBhcnRzY2FuIGRlZmluaWRhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAibGltaXRlIGRlIHRhbWFuaG8gZG8gYXJxdWl2byBlbSBieXRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBtYWlvcjptZW5vciBkZSBkaXNwb3NpdGl2byBkZSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiYWNlc3NhIGFycXVpdm8gZGUgYmFja2VuZCBjb20gZS9zIGRpcmV0YSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgInRhbWFuaG8gbMOzZ2ljbyBkbyBzZXRvciBlbSBieXRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIHBvc2nDp8OjbyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBsaW1pdGUgZGUgdGFtYW5obyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwgY3JpcHRvZ3JhZmlhICVzICh0aXBvICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBkZXN0YWNhbWVudG8gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29ww6fDtWVzXSBbPGRpc3Bvc2l0aXZvLWxvb3A+XVxuIgorIiAlMSRzIFtvcMOnw7Vlc10gLWYgfCA8ZGlzcG9zaXRpdm8tbG9vcD4gPGFycXVpdm8+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiQ29uZmlndXJhIGUgY29udHJvbGEgZGlzcG9zaXRpdm9zIGRlIGxvb3AuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdGEgdG9kb3Mgb3MgZGlzcG9zaXRpdm9zIHVzYWRvc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMworbXNnaWQgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorbXNnc3RyICIiCisiIC1kLCAtLWRldGFjaCA8ZGlzcG9zaXRpdm8tbG9vcD4uLi5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzdGFjYSB1bSBvdSBtYWlzIGRpc3Bvc2l0aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGVzdGFjYSB0b2RvcyBvcyBkaXNwb3NpdGl2b3MgdXNhZG9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGxvY2FsaXphIG8gcHJpbWVpcm8gZGlzcG9zaXRpdm9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuw6NvIHVzYWRvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA2Cittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tc2V0LWNhcGFjaXR5IDxkaXNwb3NpdGl2by1sb29wPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZWRpbWVuc2lvbmEgbyBkaXNwb3NpdGl2b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAtaiwgLS1hc3NvY2lhdGVkIDxhcnF1aXZvPiAgICBsaXN0YSB0b2RvcyBvcyBkaXNwb3NpdGl2b3MgYXNzb2NpYWRvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbSA8YXJxdWl2bz5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDgKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBldml0YSBwb3Nzw612ZWwgY29uZmxpdG8gZW50cmUgZGlzcG9zaXRpdm9zXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bsO6bT4gICAgICAgICAgICBpbmljaWEgbmEgcG9zacOnw6NvIDxuw7ptPiBkbyBhcnF1aXZvXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPG7Dum0+ICAgICAgICAgZGlzcG9zaXRpdm8gbGltaXRhZG8gYSA8bsO6bT4gYnl0ZXMgZG8gYXJxdWl2b1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorbXNnaWQgIiAtYiAgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgICAgICBzZXQgdGhlIGxvZ2ljYWwgc2VjdG9yIHNpemUgdG8gPG51bT5cbiIKK21zZ3N0ciAiIC1iICAtLXNlY3Rvci1zaXplIDxuw7ptPiAgICAgICBkZWZpbmUgbyB0YW1hbmhvIGRlIHNldG9yIGzDs2dpY28gcGFyYSA8bsO6bT5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyaWEgdW0gZGlzcG9zaXRpdm8gZGUgbG9vcCBwYXJ0aWNpb25hZG9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgY29uZmlndXJhIHVtIGRpc3Bvc2l0aXZvIGRlIGxvb3BcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzb21lbnRlIGxlaXR1cmFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgYWJyZSBhcnF1aXZvIGRlIGJhY2tlbmQgY29tIE9fRElSRUNUXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIGV4aWJlIG8gbm9tZSBkbyBkaXNwb3NpdGl2byBhcMOzcyBhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uZmlndXJhw6fDo28gKGNvbSAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICBtb2RvIGRldGFsaGFkb1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgSlNPTiBkZSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjQKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdGEgaW5mb3JtYcOnw6NvIHNvYnJlIHRvZG9zIG91IHVtIGFwZW5hc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzcGVjaWZpY2FkbyAocGFkcsOjbylcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIG7Do28gZXhpYmUgY2FiZcOnYWxob3MgZGEgc2HDrWRhIGRlIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dCA8Y29sdW5hcz4gICAgICAgIGVzcGVjaWZpY2EgY29sdW5hcyBwYXJhIGV4aWJpciBkZSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjcKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgbsOjbyB0cmF0YWRhIGRlIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogQXZpc286IG8gYXJxdWl2byDDqSBtZW5vciBkbyBxdWUgNTEyIGJ5dGVzOyBvIGRpc3Bvc2l0aXZvIGRlIGxvb3AgcG9kZSBzZXIgaW7DunRpbCBvdSBpbnZpc8OtdmVsIHBhcmEgYXMgZmVycmFtZW50YXMgZG8gc2lzdGVtYS4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBBdmlzbzogbyBhcnF1aXZvIG7Do28gY2FiZSBlbSB1bSBzZXRvciBkZSA1MTIgYnl0ZXM7IG8gZmluYWwgZG8gYXJxdWl2byBzZXLDoSBpZ25vcmFkby4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc3IHN5cy11dGlscy9sb3NldHVwLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiBkaXNwb3NpdGl2byBkZSBsb29wIGVtIHNvYnJlcG9zacOnw6NvIGV4aXN0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiBkaXNwb3NpdGl2byBkZSBsb29wIHNvbWVudGUgbGVpdHVyYSBlbSBzb2JyZXBvc2nDp8OjbyBleGlzdGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogZGlzcG9zaXRpdm8gZGUgbG9vcCBjcmlwdG9ncmFmYWRvIGVtIHNvYnJlcG9zacOnw6NvIGV4aXN0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBmYWxoYSBhbyByZXVzYXIgZGlzcG9zaXRpdm8gZGUgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImZhbGhhIGFvIGluc3BlY2lvbmFyIGRpc3Bvc2l0aXZvcyBkZSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIiVzOiBmYWxoYSBhbyB2ZXJpZmljYXIgcG9yIGRpc3Bvc2l0aXZvcyBkZSBsb29wIGNvbmZsaXRhbnRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NDIgc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsb2NhbGl6YXIgZGlzcG9zaXRpdm8gZGUgbG9vcCBuw6NvIHVzYWRvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBmYWxoYSBhbyB1c2FyIGFycXVpdm8gZGUgYmFja2VuZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIHRhbWFuaG8gZGUgYmxvY28gbMOzZ2ljbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIHVzYXIgZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg1Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJuZW5odW0gZGlzcG9zaXRpdm8gZm9pIGVzcGVjaWZpY2FkbyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgImFzIG9ww6fDtWVzICVzIHPDo28gcGVybWl0aWRhcyBhcGVuYXMgZHVyYW50ZSBjb25maWd1cmHDp8OjbyBkZSBkaXNwb3NpdGl2byBkZSBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJhIG9ww6fDo28gLS1vZmZzZXQgbsOjbyDDqSBwZXJtaXRpZGEgbmVzdGUgY29udGV4dG8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogZGVmaW5pw6fDo28gZGUgY2FwYWNpZGFkZSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGRlZmluacOnw6NvIGRlIGUvcyBkaXJldGEgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBkZWZpbmnDp8OjbyBkZSB0YW1hbmhvIGRlIGJsb2NvIGzDs2dpY28gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorbXNnaWQgIm5vbmUiCittc2dzdHIgIm5lbmh1bSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICJwYXJhIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgImNvbXBsZXRvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAicmVjaXBpZW50ZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiaG9yaXpvbnRhbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCittc2dpZCAidmVydGljYWwiCittc2dzdHIgInZlcnRpY2FsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGEgQ1BVIGzDs2dpY2EiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZG8gbsO6Y2xlbyBsw7NnaWNvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZG8gc29xdWV0ZSBsw7NnaWNvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIm7Dum1lcm8gZGUgbsOzIE5VTUEiCisKKyMgTsOjbyDDqSBsaXZybywgw6kgdW0gZ3J1cG8gZGUgcHJvY2Vzc2Fkb3JlcywgYXJxdWl0ZXR1cmEgZGEgSUJNLiBEZXNjb25oZcOnbyB0cmFkdcOnw6NvIG1haXMgYXByb3ByaWFkYSAtLVJhZmFlbAorIyBodHRwczovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Qcm9jZXNzb3JfYm9vaworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAibsO6bWVybyBkZSBib29rcyBsw7NnaWNvcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJuw7ptZXJvIGRvIGRyYXdlcnMgbMOzZ2ljb3MiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIm1vc3RyYSBjb21vIGNhY2hlcyBzw6NvIGNvbXBhcnRpbGhhZG9zIGVudHJlIENQVXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMQorbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIm1vZG8gZGUgZGVzcGFjaG8gZGEgQ1BVIGVtIGhhcmR3YXJlIHZpcnR1YWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMgorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgImVuZGVyZcOnbyBmw61zaWNvIGRlIHVtYSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAibW9zdHJhIHNlIG8gaGlwZXJ2aXNvciBhbG9jb3UgYSBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNAorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAibW9zdHJhIHNlIExpbnV4IGZheiB1c28gZGEgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDUKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAibW9zdHJhIG8gTUh6IG3DoXhpbW8gZGEgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAibW9zdHJhIG8gTUh6IG3DrW5pbW8gZGEgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJlcnJvOiB1bmFtZSBmYWxob3UiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gZGV0ZXJtaW5hciBuw7ptZXJvIGRlIENQVXM6ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo3NDgKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHJlc3RhdXJhciBtYW5pcHVsYWRvciBkZSBzaW5hbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTMwNworbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiRmFsaGEgYW8gZXh0cmFpciBvIG7Dum1lcm8gZG8gbsOzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICJTIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgRXN0ZSDDqSBvIGZvcm1hdG8gYW5hbGlzw6F2ZWwsIHF1ZSBwb2RlIGFsaW1lbnRhciBvdXRyb3MgcHJvZ3JhbWFzLlxuIgorIiMgY2FkYSBpdGVtIGRpZmVyZW50ZSBlbSBjYWRhIGNvbHVuYSB0ZW0gdW0gSUQgw7puaWNvIGNvbWXDp2FuZG8gY29tXG4iCisiIyB6ZXJvLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJxdWl0ZXR1cmE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJNb2RvKHMpIG9wZXJhY2lvbmFsIGRhIENQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTc0MgorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJPcmRlbSBkb3MgYnl0ZXM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNw6FzY2FyYSBkZSBDUFUocykgb24tbGluZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDgKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiTGlzdGEgZGUgQ1BVKHMpIG9uLWxpbmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNw6FzY2FyYSBkZSBDUFUocykgb2ZmLWxpbmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0YSBkZSBDUFUocykgb2ZmLWxpbmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAzCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiVGhyZWFkKHMpIHBvciBuw7pjbGVvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIk7DumNsZW8ocykgcG9yIHNvcXVldGU6IgorCisjIE7Do28gw6kgbGl2cm8sIMOpIHVtIGdydXBvIGRlIHByb2Nlc3NhZG9yZXMsIGFycXVpdGV0dXJhIGRhIElCTS4gRGVzY29uaGXDp28gdHJhZHXDp8OjbyBtYWlzIGFwcm9wcmlhZGEgLS1SYWZhZWwKKyMgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUHJvY2Vzc29yX2Jvb2sKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICJTb3F1ZXRlKHMpIHBvciBib29rOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIkJvb2socykgcG9yIGRyYXdlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTMKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICJEcmF3ZXIocyk6IgorCisjIE7Do28gw6kgbGl2cm8sIMOpIHVtIGdydXBvIGRlIHByb2Nlc3NhZG9yZXMsIGFycXVpdGV0dXJhIGRhIElCTS4gRGVzY29uaGXDp28gdHJhZHXDp8OjbyBtYWlzIGFwcm9wcmlhZGEgLS1SYWZhZWwKKyMgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUHJvY2Vzc29yX2Jvb2sKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAiQm9vayhzKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJTb3F1ZXRlKHMpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyMgorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk7DsyhzKSBkZSBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIklEIGRlIGZvcm5lY2Vkb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiVGlwbyBkYSBtw6FxdWluYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiRmFtw61saWEgZGEgQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMAorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiTW9kZWxvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJOb21lIGRvIG1vZGVsbzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzQKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIlN0ZXA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIGNvbSBNSHogZGluw6JtaWNvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MAorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIGNvbSBNSHogZXN0w6F0aWNvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MgorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiQ1BVIE1IeiBtw6F4LjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDQKK21zZ2lkICJDUFUgbWluIE1IejoiCittc2dzdHIgIkNQVSBNSHogbcOtbi46IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGl6YcOnw6NvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIaXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiRmFicmljYW50ZSBkbyBoaXBlcnZpc29yOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NworbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICJUaXBvIGRlIHZpcnR1YWxpemHDp8OjbzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiTW9kbyBkZSBkZXNwYWNobzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgImNhY2hlIGRlICVzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJDUFUocykgZGUgbsOzJWQgTlVNQToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODIKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiU29xdWV0ZXMgZsOtc2ljb3M6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJDaGlwcyBmw61zaWNvczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAibsO6Y2xlb3MvY2hpcHMgZsOtc2ljb3M6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICJPcMOnw7VlczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICJFeGliZSBpbmZvcm1hw6fDtWVzIHNvYnJlIGEgYXJxdWl0ZXR1cmEgZGEgQ1BVLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGV4aWJlIENQVXMgb24tbGluZXMgZSBvZmYtbGluZXMgKHBhZHLDo28gcGFyYSAtZSlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgICBleGliZSBhcGVuYXMgQ1BVcyBvbi1saW5lIChwYWRyw6NvIHBhcmEgLXApXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgICBleGliZSBhcGVuYXMgQ1BVcyBvZmYtbGluZVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzYSBKU09OIHBhcmEgZm9ybWF0byBwYWRyw6NvIG91IGVzdGVuZGlkb1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdGE+XSBleGliZSB1bSBmb3JtYXRvIGxlZ8OtdmVsIGVzdGVuZGlkb1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTExCittc2dpZCAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTxsaXN0YT5dICAgIGV4aWJlIHVtIGZvcm1hdG8gYW5hbGlzw6F2ZWxcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgIHVzYSBvIGRpcmV0w7NyaW8gZXNwZWNpZmljYWRvIGNvbW8gcmFpeiBkbyBzaXN0ZW1hXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgIGV4aWJlIG3DoXNjYXJhcyBoZXhhZGVjaW1haXMgZW0gdmV6IGRlIGxpc3RhcyBkZSBDUFVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgIGV4aWJlIElEcyBmw61zaWNvcyBlbSB2ZXogZGUgbMOzZ2ljb3NcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IGFzIG9ww6fDtWVzIC0tYWxsLCAtLW9ubGluZSBlIC0tb2ZmbGluZSBwb2RlbSBzw7MgcG9kZW0gc2VyIHVzYWRhcyBjb20gYXMgb3DDp8O1ZXMgLS1leHRlbmRlZCBvdSAtLXBhcnNlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIkNoYXZlIGRvIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiQ2hhdmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJJRCBkbyByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICJOb21lIGRlIHVzdcOhcmlvIG91IFVJRCBkbyBkb25vIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAiRG9ubyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgIlBlcm1pc3PDtWVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiVUlEIGNyaWFkb3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAidXN1w6FyaW8gY3JpYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIkdJRCBjcmlhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICJHcnVwbyBjcmlhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJJRCBkbyB1c3XDoXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU4Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJOb21lIGRlIHVzdcOhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiSUQgZGUgZ3J1cG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJOb21lIGRvIGdydXBvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiVGFtYW5obyBkYSDDumx0aW1hIG11ZGFuw6dhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiw5psdGltYSBtb2RpZmljYcOnw6NvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJCeXRlcyB1c2Fkb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiTsO6bWVybyBkZSBtZW5zYWdlbnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJNZW5zYWdlbnMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAiSG9yw6FyaW8gZGEgw7psdGltYSBtZW5zYWdlbSBlbnZpYWRhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJNc2cgc2VudCIKK21zZ3N0ciAiTWVuc2FnZW0gZW52aWFkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiSG9yw6FyaW8gZGEgw7psdGltYSBtZW5zYWdlbSByZWNlYmlkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICJNZW5zYWdlbSByZWNlYmlkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIlBJRCBkbyByZW1ldGVudGUgZGEgw7psdGltYSBtZW5zYWdlbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiUmVtZXRlbnRlIGRhIG1lbnNhZ2VtIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICJQSUQgZG8gcmVjZXB0b3IgZGEgw7psdGltYSBtZW5zYWdlbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICJSZWNlcHRvciBkYSBtZW5zYWdlbSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJUYW1hbmhvIGRvIHNlZ21lbnRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJOw7ptZXJvIGRlIHByb2Nlc3NvcyBhbmV4YWRvcyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJQcm9jZXNzb3MgYW5leGFkb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiU3RhdHVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiQW5leGFyIGhvcsOhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAiRGVzYW5leGFyIGhvcsOhcmlvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiTGluaGEgZGUgY29tYW5kbyBkbyBjcmlhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIkNvbWFuZG8gY3JpYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgZG8gY3JpYWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIlBJZCBkbyBjcmlhZG9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJQSUQgZG8gw7psdGltbyB1c3XDoXJpbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiUElEIGRvIMO6bHRpbW8gdXN1w6FyaW8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJOw7ptZXJvIGRlIHNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbcOhZm9yb3MiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJIb3LDoXJpbyBkYSDDumx0aW1hIG9wZXJhw6fDo28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICLDmmx0aW1hIG9wZXJhw6fDo28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIk5vbWUgZG8gcmVjdXJzbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIlJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJEZXNjcmnDp8OjbyBkbyByZWN1cnNvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiRGVzY3Jpw6fDo28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICJVc2FkbyBhdHVhbG1lbnRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICJVc2FkbyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICJQb3JjZW50YWdlbSBkZSB1c28gYXR1YWxtZW50ZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVc28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICJMaW1pdGUgZ2xvYmFsIGRvIHNpc3RlbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICJMaW1pdGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgImEgY29sdW5hICVzIG7Do28gc2UgYXBsaWNhIGFvIElQQyBlc3BlY2lmaWNhZG8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKyIgLWcsIC0tZ2xvYmFsICAgICAgaW5mb3JtYcOnw6NvIHNvYnJlIG8gdXNvIGdsb2JhbCBkbyBzaXN0ZW1hIChwb2RlIHNlciB1c2Fkb1xuIgorIiAgICAgICAgICAgICAgICAgICAgIGNvbSAtbSwgLXEgZSAtcylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICAgICBleGliZSBkZXRhbGhlcyBzb2JyZSBvIHJlY3Vyc28gaWRlbnRpZmljYWRvIHBlbG8gPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgZXhpYmUgVEFNQU5ITyBlbSBieXRlcyBlbSB2ZXogZGUgZm9ybWF0byBsZWfDrXZlbFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTYKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBtb3N0cmEgY3JpYWRvciBlIGRvbm9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk4Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzYSBmb3JtYXRvIGRlIHNhw61kYSBKU09OXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yw6dhIGZvcm1hdG8gZGUgc2HDrWRhIGRlIGxpc3RhIChwb3IgZXhlbXBsbyBjb20gLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgbW9zdHJhIHBlcm1pc3PDtWVzIG51bcOpcmljb3MgKGNvbHVuYSBQRVJNUylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA0Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgbW9zdHJhIGhvcsOhcmlvcyBkZSBhbmV4YcOnw6NvLCBkZXN0YWNhbWVudG8gZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHRlcmHDp8Ojb1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZ2Vuw6lyaWNhczpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYSAoLS1zaG1lbXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW5hcyBkZSBlbmZpbGVpcmFtZW50byBkZSBtZW5zYWdlbnMgKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkNvbHVuYXMgZGUgc2Vtw6Fmb3JvICgtLXNlbWFwaG9yZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ29sdW5hcyBkZSByZXN1bW8gKC0tZ2xvYmFsKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkVsZW1lbnRvczpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJmYWxoYSBhbyBkZWZpbmlyIGRhZG9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJOw7ptZXJvIGRlIGlkZW50aWZpY2Fkb3JlcyBkZSBzZW3DoWZvcm9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiTsO6bWVybyB0b3RhbCBkZSBzZW3DoWZvcm9zIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgIk3DoXhpbW8gZGUgc2Vtw6Fmb3JvcyBwb3IgY29uanVudG8uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJOw7ptZXJvIG3DoXhpbW8gZGUgb3BlcmHDp8O1ZXMgcG9yIHNlbW9wKDIpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJWYWxvciBtw6F4aW1vIGRlIHNlbcOhZm9ybyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJOw7ptZXJvIGRlIGZpbGFzIGRlIG1lbnNhZ2VtIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIlRhbWFuaG8gbcOheGltbyBkYSBtZW5zYWdlbSAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIlRhbWFuaG8gbcOheGltbyBwYWRyw6NvIGRhIGZpbGEgKGJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICJodWdldGxiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAic2VtLXJlc2VydmEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJTZWdtZW50b3MgZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIlDDoWdpbmFzIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiVGFtYW5obyBtw6F4aW1vIGRlIHNlZ21lbnRvIGRlIG1lbcOzcmlhIGNvbXBhcnRpbGhhZGEgKGJ5dGVzKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJUYW1hbmhvIG3DrW5pbW8gZGUgc2VnbWVudG8gZGUgbWVtw7NyaWEgY29tcGFydGlsaGFkYSAoYnl0ZXMpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIGlkZW50aWZpY2Fkb3IgZGUgSVBDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tZ2xvYmFsIMOpIG11dHVhbG1lbnRlIGV4Y2x1c2l2byBjb20gLS1jcmVhdG9yLCAtLWlkIGUgLS10aW1lIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjgKK21zZ2lkICJzdGFydCBhbmQgZW5kIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiZW5kZXJlw6dvIGluaWNpYWwgb3UgZmluYWwgZG8gaW50ZXJ2YWxvIGRlIG1lbcOzcmlhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInRhbWFuaG8gZG8gaW50ZXJ2YWxvIGRlIG1lbcOzcmlhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInN0YXR1cyBvbmxpbmUgZG8gaW50ZXJ2YWxvIGRlIG1lbcOzcmlhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICJtZW3Ds3JpYSDDqSByZW1vdsOtdmVsIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAibsO6bWVybyBkZSBibG9jbyBkZSBtZW3Ds3JpYSBvdSBpbnRlcnZhbG8gZGUgYmxvY29zIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzMKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICJuw7MgXCJudW1hXCIgZGUgbWVtw7NyaWEiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorbXNnaWQgInZhbGlkIHpvbmVzIGZvciB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJ6b25hcyB2w6FsaWRhcyBwYXJhIG8gaW50ZXJ2YWxvIGRlIG1lbcOzcmlhIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgIm9uLWxpbmUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIm9mZmxpbmUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIm9uLT5vZmYiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgIlRhbWFuaG8gZGUgYmxvY28gZGUgbWVtw7NyaWE6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjMgc3lzLXV0aWxzL2xzbWVtLmM6MzMzCittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgIk1lbcOzcmlhIHRvdGFsIG9ubGluZToiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKK21zZ2lkICJUb3RhbCBvZmZsaW5lIG1lbW9yeToiCittc2dzdHIgIk1lbcOzcmlhIHRvdGFsIG9mZmxpbmU6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIkZhbGhhIGFvIGFicmlyICVzIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgIkVzdGUgc2lzdGVtYSBuw6NvIG9mZXJlY2Ugc3Vwb3J0ZSBhIGJsb2NvcyBkZSBtZW3Ds3JpYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICJMaXN0YSBkZSBpbnRlcnZhbG9zIGRlIG1lbcOzcmlhIGRpc3BvbsOtdmVsIGNvbSBzZXVzIHN0YXR1cyBvbmxpbmUuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGxpc3RhIGNhZGEgYmxvY28gZGUgbWVtw7NyaWEgaW5kaXZpZHVhbFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtUywgLS1zcGxpdCA8bGlzdGE+ICBkaXZpZGUgaW50ZXJ2YWxvcyBwb3IgY29sdW5hcyBlc3BlY2lmaWNhZGFzXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMAorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICB1c2UgdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzYSBvIGRpcmV0w7NyaW8gZXNwZWNpZmljYWRvIGNvbW8gcmFpeiBkbyBzaXN0ZW1hXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zdW1tYXJ5Wz1xdWFuZG9dXG4iCisiICAgICAgICAgICAgICAgICAgICAgIG1vc3RyYSBpbmZvcm1hw6fDo28gcmVzdW1pZGEgKG5ldmVyLCBhbHdheXMgb3Ugb25seSlcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhbyBhcmd1bWVudG8gZGUgLS1zdW1tYXJ5IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKK21zZ2lkICJvcHRpb25zIC0te3Jhdyxqc29uLHBhaXJzfSBhbmQgLS1zdW1tYXJ5PW9ubHkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3DDp8O1ZXMgLS17cmF3LGpzb24scGFpcnN9IGUgLS1zdW1tYXJ5PW9ubHkgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY2NCBzeXMtdXRpbHMvbHNucy5jOjc4MQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiZmFsaGEgYW8gaW5pY2lhbGl6YXIgdGFiZWxhIGRhIHNhw61kYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6Njc2Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiRmFsaGEgYW8gaW5pY2lhbGl6YXIgY29sdW5hIGRhIHNhw61kYSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5OQorbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICJpZGVudGlmaWNhZG9yIGRlIGVzcGHDp28gZGUgbm9tZSAobsO6bWVybyBkZSBpbm9kZSkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwCittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgInRpcG8gZGUgZXNwYcOnbyBkZSBub21lIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiY2FtaW5obyBkbyBlc3Bhw6dvIGRlIG5vbWUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJuw7ptZXJvIGRlIHByb2Nlc3NvcyBubyBlc3Bhw6dvIGRlIG5vbWUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJtZW5vciBQSUQgbm8gZXNwYcOnbyBkZSBub21lIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiUFBJRCBkbyBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgImxpbmhhIGRlIGNvbWFuZG8gZG8gUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICJVSUQgZG8gUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNworbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIm5vbWUgZGUgdXN1w6FyaW8gZG8gUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICJJRCBkZSBlc3Bhw6dvIGRlIG5vbWVzIGNvbmZvcm1lIHVzYWRvIHBvciBzdWJzaXN0ZW1hIGRlIHJlZGUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICJwb250byBkZSBtb250YWdlbSBuc2ZzIChnZXJhbG1lbnRlIG8gc3Vic2lzdGVtYSBkZSByZWRlIHVzYWRvKSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICJmYWxoYSBhbyBhZGljaW9uYXIgbGluaGEgw6Agc2HDrWRhIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxlc3Bhw6dvIGRlIG5vbWU+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIkxpc3RhIGVzcGHDp29zIGRlIG5vbWVzIGRlIHNpc3RlbWEuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA1Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIGV4aWJlIGVzcGHDp29zIGRlIG5vbWVzIGRvIHByb2Nlc3NvXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgbsOjbyB1c2EgcmVwcmVzZW50YcOnw6NvIG11bHRpbGluaGFcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10eXBlIDxub21lPiAgICAgIHRpcG8gZGUgZXNwYcOnbyBkZSBub21lIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNncm91cClcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJ0aXBvIGRlIGVzcGHDp28gZGUgbm9tZSBkZXNjb25oZWNpZG86ICVzIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjQKK21zZ2lkICItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iCittc2dzdHIgIi0tdGFzayDDqSBtdXR1YW1lbnRlIGV4Y2x1c2l2YSBjb20gPGVzcGHDp28gZGUgbm9tZT4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIGVzcGHDp28gZGUgbm9tZSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiZXNwYcOnbyBkZSBub21lIG7Do28gZW5jb250cmFkbzogJWp1IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgImFwZW5hcyBvIHJvb3QgcG9kZSB1c2FyIGEgb3DDp8OjbyBcIi0tJXNcIiAoVUlEIGVmZXRpdmEgw6kgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiBhcGVuYXMgcm9vdCBwb2RlIGZhemVyIGlzc28gKFVJRCBlZmV0aXZhIMOpICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzIgc3lzLXV0aWxzL3Vtb3VudC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgImFwZW5hcyBvIHJvb3QgcG9kZSB1c2FyIGEgb3DDp8OjbyBcIi0tJXNcIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiYXBlbmFzIG8gcm9vdCBwb2RlIGZhemVyIGlzc28iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiJXMgZGUgJXMgKGxpYm1vdW50ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMjkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJmYWxoYSBuYSBsZWl0dXJhIGRvIG10YWIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MSBzeXMtdXRpbHMvdW1vdW50LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVzOiBpZ25vcmFkb1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czogasOhIG1vbnRhZGFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIG1vdmlkYSBwYXJhICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgdmluY3VsYWRhIGEgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MyBzeXMtdXRpbHMvbW91bnQuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBtb250YWRhIGVtICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiBvcMOnw7VlcyBkZSBwcm9wYWdhw6fDo28gZGUgJXMgYWx0ZXJhZGFzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudDogJXMgbsOjbyBjb250w6ltIHLDs3R1bG9zIFNFTGludXguXG4iCisiICAgICAgIFZvY8OqIGFjYWJvdSBkZSBtb250YXIgdW0gc2lzdGVtYSBkZSBhcnF1aXZvcyBxdWUgdGVtIHN1cG9ydGUgYSByw7N0dWxvcyxcbiIKKyIgICAgICAgbWFzIHF1ZSBuw6NvIGNvbnTDqW0gcsOzdHVsb3MsIGVtIHVtYSBtw6FxdWluYSBjb20gU0VMaW51eC4gw4kgYmVtIHBvc3PDrXZlbFxuIgorIiAgICAgICBxdWUgYXBsaWNhdGl2b3MgY29uZmluYWRvcyB2ZW5oYW0gYSBnZXJhciBtZW5zYWdlbnMgQVZDIGUgbsOjbyB0ZW5oYW1cbiIKKyIgICAgICAgcGVybWlzc8OjbyBwYXJhIGFjZXNzYXIgZXN0ZSBzaXN0ZW1hIGRlIGFycXVpdm9zLiBQYXJhIG1haXMgZGV0YWxoZXMsXG4iCisiICAgICAgIHZlamEgcmVzdG9yZWNvbig4KSBlIG1vdW50KDgpLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICIlczogJXMuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIGFuYWxpc2FyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgIkZvcm1hdG8gZGUgb3DDp8OjbyBzZW0gc3Vwb3J0ZTogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJmYWxoYSBhbyBhbmV4YXIgYSBvcMOnw6NvIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29ww6fDtWVzXVxuIgorIiAlMSRzIFtvcMOnw7Vlc10gWy0tc291cmNlXSA8b3JpZ2VtPiB8IFstLXRhcmdldF0gPGRpcmV0w7NyaW9cbiIKKyIgJTEkcyBbb3DDp8O1ZXNdIDxmb250ZT4gPGRpcmV0w7NyaW8+XG4iCisiICUxJHMgPG9wZXJhw6fDo28+IDxwb250by1tb250YWdlbT4gWzxhbHZvPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNb250YSB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vbnRhIHRvZG9zIG9zIHNpc3RlbWFzIGRlIGFycXVpdm9zIG1lbmNpb25hZG9zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbm8gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgbsOjbyBjYW5vbml6YSBjYW1pbmhvc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICB0ZXN0ZTsgaWdub3JhIGEgY2hhbWFkYSBkZSBzaXN0ZW1hIGRvIG1vdW50KDIpXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZheiBmb3JrIGRlIGNhZGEgZGlzcG9zaXRpdm8gKHVzYSBjb20gLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxjYW1pbmhvPiAgIGFycXVpdm8gYWx0ZXJuYXRpdm8gYW8gL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBuw6NvIGNoYW1hIG9zIGFqdWRhbnRlcyBkZSBtb3VudC48dGlwbz5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIG1vc3RyYSB0YW1iw6ltIG9zIHLDs3R1bG9zIGRvcyBzaXN0ZW1hcyBkZSBhcnF1aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIG7Do28gZXNjcmV2ZSBwYXJhIG5vIC9ldGMvbXRhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3RhPiAgIGxpc3RhIHNlcGFyYWRhIHBvciB2w61yZ3VsYSBkZSBvcMOnw7VlcyBkZSBtb250YWdlbVxuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBsaW1pdGEgbyBjb25qdW50byBkZSBzaXN0ZW1hcyBkZSBhcnF1aXZvc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICh1c2EgY29tIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb250YSBvIHNpc3RlbWEgZGUgYXJxdWl2b3MgY29tbyBzb21lbnRlIGxlaXR1cmFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAobWVzbW8gcXVlIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgICBsaW1pdGEgbyBjb25qdW50byBkZSB0aXBvcyBkZSBzaXN0ZW1hcyBkZSBhcnF1aXZvc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxvcmlnZW0+ICAgZXNwZWNpZmljYSBvcmlnZW0gZXhwbGljaXRhbWVudGUgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPGFsdm8+ICAgICBlc3BlY2lmaWNhIHBvbnRvIGRlIG1vbnRhZ2VtIGV4cGxpY2l0YW1lbnRlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vbnRhIHBhcmEgbGVpdHVyYSBlIGVzY3JpdGEgKHBhZHLDo28pXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcmlnZW06XG4iCisiIC1MLCAtLWxhYmVsIDxyw7N0dWxvPiAgICBzaW7DtG5pbW8gcGFyYSBMQUJFTD08csOzdHVsbz5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc2luw7RuaW1vIHBhcmEgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PHLDs3R1bG8+ICAgICAgICAgIGVzcGVjaWZpY2EgbyBkaXNwb3NpdGl2byBwZWxvIHLDs3R1bG8gZG8gc2lzdGVtYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIGFycXVpdm9zXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIGVzcGVjaWZpY2EgbyBkaXNwb3NpdGl2byBwZWxvIFVVSUQgZG8gc2lzdGVtYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIGFycXVpdm9zXG4iCisiIFBBUlRMQUJFTD08csOzdHVsbz4gICAgICBlc3BlY2lmaWNhIG8gZGlzcG9zaXRpdm8gcGVsbyByw7N0dWxvIGRhIHBhcnRpw6fDo29cbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgZXNwZWNpZmljYSBvIGRpc3Bvc2l0aXZvIHBlbG8gVVVJRCBkYSBwYXJ0acOnw6NvXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGRpc3Bvc2l0aXZvPiAgICAgICAgICAgZXNwZWNpZmljYSBvIGRpc3Bvc2l0aXZvIHBlbG8gY2FtaW5ob1xuIgorIiA8ZGlyZXTDs3Jpbz4gICAgICAgICAgICAgcG9udG8gZGUgbW9udGFnZW0gcGFyYSBtb250YWdlbnMgXCJiaW5kXCJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAodmVqYSAtLWJpbmQvcmJpbmQpXG4iCisiIDxhcnF1aXZvPiAgICAgICAgICAgICAgIGFycXVpdm8gbm9ybWFsIGRlIGNvbmZpZ3VyYcOnw6NvIGRlIGRpc3Bvc2l0aXZvIGRlIGxvb3BcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIk9wZXJhw6fDtWVzOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb250YSBhIHN1YsOhcnZvcmUgZW0gb3V0cm8gbHVnYXIgKG1lc21vIHF1ZSAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIHVtYSBzdWLDoXJ2b3JlIHBhcmEgb3V0cm8gbHVnYXJcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW9udGEgdW1hIHN1YsOhcnZvcmUgYSB0b2RhcyBhcyBzdWJtb250YWdlbnMgcGFyYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHJvIGx1Z2FyXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJjYSB1bWEgc3Viw6Fydm9yZSBjb21vIGNvbXBhcnRpbGhhZGFcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyY2EgdW1hIHN1YsOhcnZvcmUgY29tbyBlc2NyYXZhXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmNhIHVtYSBzdWLDoXJ2b3JlIGNvbW8gcHJpdmFkYVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJjYSB1bWEgc3Viw6Fydm9yZSBjb21vIG7Do28gdmluY3Vsw6F2ZWxcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIG1hcmNhIHJlY3Vyc2l2YW1lbnRlIHVtIGNvbmp1bnRvIGRlIHN1YsOhcnZvcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbyBjb21wYXJ0aWxoYWRhc1xuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICBtYXJjYSByZWN1cnNpdmFtZW50ZSB1bSBjb25qdW50byBkZSBzdWLDoXJ2b3Jlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbW8gZXNjcmF2YXNcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgbWFyY2EgcmVjdXJzaXZhbWVudGUgdW0gY29uanVudG8gZGUgc3Viw6Fydm9yZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21vIHByaXZhZGFzXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIG1hcmNhIHJlY3Vyc2l2YW1lbnRlIHVtIGNvbmp1bnRvIGRlIHN1YsOhcnZvcmVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29tbyBuw6NvIHZpbmN1bMOhdmVsXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiQWxvY2HDp8OjbyBkYSBjb250ZXh0byBkZSBsaWJtb3VudCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgcGFkcsOjbyBkYXMgb3DDp8O1ZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImZvbnRlIGVzcGVjaWZpY2FkYSBtYWlzIGRlIHVtYSB2ZXoiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1xZF0gL2NhbWluaG8vcGFyYS9kaXJldMOzcmlvXG4iCisiICUxJHMgLXggL2Rldi9kaXNwb3NpdGl2b1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMworbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIlZlcmlmaWNhIHNlIHVtIGRpcmV0w7NyaW8gb3UgYXJxdWl2byDDqSB1bSBwb250byBkZSBtb250YWdlbS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgbW9kbyBzaWxlbmNpb3NvIC0gZXhpYmUgbmFkYVxuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgZXhpYmUgbyBuw7ptZXJvIG1haW9yOm1lbm9yIGRvIGRpc3Bvc2l0aXZvIGRvIHNpc3RlbWFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgZGUgYXJxdWl2b3NcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIGV4aWJlIG8gbsO6bWVybyBtYWlvcjptZW5vciBkbyBkaXNwb3NpdGl2byBkbyBkaXNwb3NpdGl2b1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBkZSBibG9jb3NcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBuw6NvIMOpIHVtIHBvbnRvIGRlIG1vbnRhZ2VtXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDDqSB1bSBwb250byBkZSBtb250YWdlbVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxwcm9ncmFtYT4gWzxhcmd1bWVudG9zPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIkV4ZWN1dGEgdW0gcHJvZ3JhbWEgY29tIGVzcGHDp29zIGRlIG5vbWUgZGUgb3V0cm9zIHByb2Nlc3NvLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZW50ZXIgYWxsIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGluc2VyZSB0b2RvcyBvcyBkaXNwb3NpdGl2b3NcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgIHByb2Nlc3NvIGFsdm8gcGFyYSBzZSBvYnRlciBlc3Bhw6dvcyBkZSBub21lc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGFycXVpdm8+XSBpbmZvcm1hIG8gZXNwYcOnbyBkZSBub21lIGRhIG1vbnRhZ2VtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxhcnF1aXZvPl0gICBpbmZvcm1hIG8gZXNwYcOnbyBkZSBub21lIFVUUyAobm9tZSBkYSBtw6FxdWluYSBldGMuKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1pLCAtLWlwY1s9PGFycXVpdm8+XSAgIGluZm9ybWEgbyBlc3Bhw6dvIGRlIG5vbWUgZGUgY29tdW5pY2HDp8OjbyBlbnRyZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jZXNzb3MgZGUgU3lzdGVtIFZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxhcnF1aXZvPl0gICBpbmZvcm1hIG8gZXNwYcOnbyBkZSBub21lIGRhIHJlZGVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wIC0tcGlkWz08YXJxdWl2bz5dICAgIGluZm9ybWEgbyBlc3Bhw6dvIGRlIG5vbWUgZG8gcGlkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxhcnF1aXZvPl0gaW5mb3JtYSBvIGVzcGHDp28gZGUgbm9tZSBkZSBjZ3JvdXBcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08YXJxdWl2bz5dICBpbmZvcm1hIG8gZXNwYcOnbyBkZSBub21lIGRvIHVzdcOhcmlvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgICBkZWZpbmUgdWlkIG5vIGVzcGHDp28gZGUgbm9tZSBkbyB1c3XDoXJpb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCittc2dpZCAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgc2V0IGdpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICAgZGVmaW5lIGdpZCBubyBlc3Bhw6dvIGluZm9ybWFkb1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFsc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBuw6NvIHRvY2EgbmFzIHVpZHMgb3UgZ2lkc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICAgZGVmaW5lIG8gZGlyZXTDs3JpbyByYWl6XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgICBkZWZpbmUgbyBkaXJldMOzcmlvIGRlIHRyYWJhbGhvXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBuw6NvIGZheiBmb3JrIGFudGVzIGRlIGV4ZWN1dGFyIG8gPHByb2dyYW1hPlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk2Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgICBkZWZpbmUgY29udGV4dG8gU0VMaW51eCBjb25mb3JtZSBvIFBJRCBkZSAtLXRhcmdldFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAibmVtIG5vbWUgZGUgYXJxdWl2byBuZW0gcGlkIGFsdm8gZm9ybmVjaWRvcyBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIHVpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBnaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgIm5lbmh1bSBQSUQgYWx2byBlc3BlY2lmaWNhZG8gcGFyYSAtLWZvbGxvdy1jb250ZXh0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgY29udGV4dG8gU0VMaW51eCBkZSAlZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gZGVmaW5pciBjb250ZXh0byBkZSBleGVjdcOnw6NvIHBhcmEgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM2MQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAibmVuaHVtIFBJRCBhbHZvIGVzcGVjaWZpY2FkbyBwYXJhIC0tYWxsIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgInJlYXNzb2NpYcOnw6NvIGFvIGVzcGHDp28gZGUgbm9tZSBcIiVzXCIgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gYXR1YWwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQ4Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgImFsdGVyYcOnw6NvIGRlIGRpcmV0w7NyaW8gcGVsbyBkZXNjcml0b3IgZGUgYXJxdWl2byByYWl6IGZhbGhvdSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NTEKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJjaHJvb3QgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ2MQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiYWx0ZXJhw6fDo28gZGUgZGlyZXTDs3JpbyBwZWxvIGRlc2NyaXRvciBkZSBhcnF1aXZvIGRlIGRpcmV0w7NyaW8gZGUgdHJhYmFsaG8gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIG5vdmFfcmFpeiBjb2xvY2FfYW50aWdvXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQWx0ZXJhIG8gc2lzdGVtYSBkZSBhcnF1aXZvcyByYWl6LlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiZmFsaGEgYW8gYWx0ZXJhciByYWl6IGRlIFwiJXNcIiBwYXJhIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImxpbWl0ZSBkZSBlc3Bhw6dvIGRlIGVuZGVyZcOnb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgInRhbWFuaG8gbcOheGltbyBkZSBhcnF1aXZvIGRvIG7DumNsZW8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiVGVtcG8gZGEgQ1BVIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2VndW5kb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJ0YW1hbmhvIG3DoXhpbW8gZGUgZGFkb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJ0YW1hbmhvIG3DoXhpbW8gZGUgYXJxdWl2byIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJuw7ptZXJvIG3DoXhpbW8gZGUgdHJhdmFzIGRlIGFycXVpdm8gbWFudGlkYXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAidHJhdmFzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiZXNwYcOnbyBtw6F4aW1vIGRlIGVuZGVyZcOnbyB0cmF2YWRvIG5hIG1lbcOzcmlhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIm3DoXhpbW8gZGUgYnl0ZXMgbm9zIG3Ds2R1bG9zIFBPU0lYIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICJwcmlvcmlkYWRlIG3DoXhpbWEgZGUgbmljZSBwZXJtaXRpZGEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIm7Dum1lcm8gbcOheGltbyBkZSBhcnF1aXZvcyBhYmVydG9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAiZmlsZXMiCittc2dzdHIgImFycXVpdm9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm7Dum1lcm8gbcOheGltbyBkZSBwcm9jZXNzb3MiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgInByb2Nlc3NvcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAidGFtYW5obyBtw6F4aW1vIGRlIGNvbmp1bnRvIHJlc2lkZW50ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgInByaW9yaWRhZGUgbcOheGltYSBkZSB0ZW1wbyByZWFsIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICJ0ZW1wbyBsaW1pdGUgcGFyYSB0YXJlZmFzIGVtIHRlbXBvIHJlYWwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pY3Jvc3NlZ3VuZG9zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAibWF4IG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMiCittc2dzdHIgIm7Dum1lcm8gbcOheGltbyBkZSBzaW5haXMgcGVuZGVudGVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAic2luYWlzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgInRhbWFuaG8gbcOheGltbyBkYSBwaWxoYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJub21lIGRvIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImRlc2NyacOnw6NvIGRvIHJlY3Vyc28iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAibGltaXRlIHNvZnQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgImxpbWl0ZSBoYXJkICh0ZXRvKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAidW5pZGFkZXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIENPTUFORE9cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiTW9zdHJhIG91IGFsdGVyYSBvcyBsaW1pdGVzIGRlIHJlY3Vyc29zIGRlIHVtIHByb2Nlc3NvLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcMOnw7VlcyBnZXJhaXM6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIElEIGRvIHByb2Nlc3NvXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgZGVmaW5lIHF1YWlzIGNvbHVuYXMgZGUgc2HDrWRhIHNlcsOjbyB1c2FkYXNcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBuw6NvIGV4aWJlIGNhYmXDp2FsaG9zXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgbsOjbyB0cmF0YWRhXG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgbWVuc2FnZW5zIGRldGFsaGFkYXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJPcMOnw7VlcyBkZSByZWN1cnNvczpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIHRhbWFuaG8gbcOheGltbyBkZSBhcnF1aXZvcyBkZSBuw7pjbGVvIGNyaWFkb3NcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICB0YW1hbmhvIG3DoXhpbW8gZGUgdW0gc2VnbWVudG8gZGUgZGFkb3MgZG8gcHJvY2Vzc29cbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBwcmlvcmlkYWRlIG3DoXhpbWEgcGVybWl0aWRhIGRvIG5pY2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICB0YW1hbmhvIG3DoXhpbW8gZGUgYXJxdWl2b3MgZXNjcml0b3MgcGVsbyBwcm9jZXNzb1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG7Dum1lcm8gbcOheGltbyBkZSBzaW5haXMgcGVuZGVudGVzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgdGFtYW5obyBtw6F4aW1vIHF1ZSB1bSBwcm9jZXNzbyBwb2RlIHRyYXZhciBkYSBtZW3Ds3JpYVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIHRhbWFuaG8gbcOheGltbyBkZSBjb25qdW50byByZXNpZGVudGVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBuw7ptZXJvIG3DoXhpbW8gZGUgYXJxdWl2b3MgYWJlcnRvc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIGJ5dGVzIG3DoXhpbW9zIGVtIGZpbGFzIGRlIG1lbnNhZ2VucyBQT1NJWFxuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIHByaW9yaWRhZGUgbcOheGltYSBlbSBhZ2VuZGFtZW50byBlbSB0ZW1wbyByZWFsXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgdGFtYW5obyBtw6F4aW1vIGRhIHBpbGhhXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgcXVhbnRpZGFkZSBtw6F4aW1hIGRlIHRlbXBvIGRlIENQVSBlbSBzZWd1bmRvc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG7Dum1lcm8gbcOheGltbyBkZSBwcm9jZXNzb3MgZGUgdXN1w6FyaW9cbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICB0YW1hbmhvIGRhIG1lbcOzcmlhIHZpcnR1YWxcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBuw7ptZXJvIG3DoXhpbW8gZGUgdHJhdmFzIGRlIGFycXVpdm9cbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICB0ZW1wbyBkZSBDUFUgZW0gbWljcm9zc2VndW5kb3MgZGUgdW0gcHJvY2Vzc29cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICBhZ2VuZGFkbyBzb2IgYWdlbmRhbWVudG8gZGUgdGVtcG8gcmVhbFxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgImlsaW1pdGFkbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgImZhbGhhIGFvIG9idGVyIGxpbWl0ZSBhbnRpZ28gJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgIm8gbGltaXRlIHNvZnQgZGUgJXMgbsOjbyBwb2RlIGV4Y2VkZXIgbyBsaW1pdGUgaGFyZCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAiTm92byBsaW1pdGUgZGUgJXMgcGFyYSBvIHBpZCAlZDogIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiZmFsaGEgYW8gZGVmaW5pciBvIGxpbWl0ZSBkbyByZWN1cnNvIGRlICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgbyBsaW1pdGUgZG8gcmVjdXJzbyBkZSAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvIGxpbWl0ZSBkZSAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODQKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgImEgb3DDp8OjbyAtLXBpZCBzw7MgcG9kZSBzZXIgZXNwZWNpZmljYWRhIHVtYSB2ZXoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJhcyBvcMOnw7VlcyAtLXBpZCBlIENPTUFORE8gc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiRXhpYmUgYXMgaW5mb3JtYcOnw7VlcyBkZSBwZXJmaWwgZG8ga2VybmVsLlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKyIgLW0sIC0tbWFwZmlsZSA8YXJxdWl2by1tYXBhPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRyw6NvOiBcIiVzXCIgZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcHJvZmlsZSA8YXJxdWl2by1wZXJmaWw+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKHBhZHLDo286IFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgZGVmaW5lIG8gbXVsdGlwbGljYWRvciBkZSBwZXJmaWwgcGFyYSA8bXVsdD5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIG1vc3RyYSBpbmZvcm1hw6fDtWVzIGFwZW5hcyBzb2JyZSBwYXNzbyBkZSBhbW9zdHJhZ2VtXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBtb3N0cmEgZGFkb3MgZGV0YWxoYWRvc1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIG1vc3RyYSB0b2RvcyBzw61tYm9sb3MsIGFpbmRhIHF1ZSBxdWFudGlkYWRlIGZvciAwXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgbW9zdHJhIGNvbnRhZ2VucyBpbmRpdmlkdWFpcyBkZSBoaXN0b2dyYW0tYmluXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBtb3N0cmEgY29udGFkb3JlcyBpbmRpdmlkdWFpcyBuYXMgZnVuw6fDtWVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVub3ZhIHRvZG9zIG9zIGNvbnRhZG9yZXMgKGFwZW5hcyByb290KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGVzYWJpbGl0YSBkZXRlY8Onw6NvIGF1dG9tw6F0aWNhIGRlIG9yZGVtIGRlIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgImVycm8gYW8gZXNjcmV2ZXIgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MAorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIlByZXN1bWluZG8gb3JkZW0gZGUgYnl0ZSBpbnZlcnNhLiBVc2UgLW4gcGFyYSBmb3LDp2FyIG9yZGVtIGRlIGJ5dGUgbmF0aXZhLiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlBhc3NvIGRlIGFtb3N0cmFnZW06ICV1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiBsaW5oYSBkZSBtYXBhIGluY29ycmV0byIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBcIl9zdGV4dFwiIGVtICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgImVuZGVyZcOnbyBkZSBwZXJmaWwgZm9yYSBkbyBpbnRlcnZhbG8uIEFycXVpdm8gZGUgbWFwYSBpbmNvcnJldG8/IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDMKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAidG90YWwiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIklEIGRvIHByb2Nlc3NvIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICJJRCBkbyBncnVwbyBkbyBwcm9jZXNzbyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA8cHJpb3JpZGFkZT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaWRhZGU+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpZGFkZT4gIC11fC0tdXNlciA8dXN1w6FyaW8+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiQWx0ZXJhIGEgcHJpb3JpZGFkZSBkZSBwcm9jZXNzb3MgZW0gZXhlY3XDp8Ojby5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIC1uLCAtLXByaW9yaXR5IDxuw7ptPiAgIGVzcGVjaWZpY2EgbyB2YWxvciBkZSBhdW1lbnRvIGRvIFwibmljZVwiXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXRhIHVtIGFyZ3VtZW50byBjb21vIElEIGRlIHByb2Nlc3NvIChwYWRyw6NvKVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXRhIHVtIGFyZ3VtZW50byBjb21vIElEIGRlIGdydXBvIGRlIHByb2Nlc3NvXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3NAorbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDxub21lPnw8aWQ+IGludGVycHJldGEgYXJndW1lbnRvIGNvbW8gbm9tZSBvdSBJRCBkZSB1c3XDoXJpb1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgYSBwcmlvcmlkYWRlIHBhcmEgJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgcHJpb3JpZGFkZSBwcmEgJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkICglcykgY29tIHByaW9yaWRhZGUgYW50aWdhICVkLCBwcmlvcmlkYWRlIG5vdmEgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgInByaW9yaWRhZGUgaW52w6FsaWRhIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgInVzdcOhcmlvIGRlc2NvbmhlY2lkbyAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgInZhbG9yIGRlICVzIGludsOhbGlkbzogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKK21zZ2lkICJrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIm5vbWUgZG8gZGlzcG9zaXRpdm8gZGUga2VybmVsIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgInZhbG9yIGRvIGlkZW50aWZpY2Fkb3IgZG8gZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzEKK21zZ2lkICJkZXZpY2UgdHlwZSBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgYXMgaWRlbnRpZmllciIKK21zZ3N0ciAibm9tZSBkbyB0aXBvIGRlIGRpc3Bvc2l0aXZvIHBvZGUgc2VyIHVzYWRvIGNvbW8gaWRlbnRpZmljYWRvciIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorbXNnaWQgImRldmljZSB0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJkZXNjcmnDp8OjbyBkbyB0aXBvIGRvIGRpc3Bvc2l0aXZvIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCittc2dpZCAic3RhdHVzIG9mIHNvZnR3YXJlIGJsb2NrIgorbXNnc3RyICJzdGF0dXMgZG8gYmxvY28gZGUgc29mdHdhcmUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKK21zZ2lkICJzdGF0dXMgb2YgaGFyZHdhcmUgYmxvY2siCittc2dzdHIgInN0YXR1cyBkbyBibG9jbyBkZSBoYXJkd2FyZSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IG5vbi1ibG9ja2luZyAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgJXMgbsOjbyBibG9xdWVhbnRlIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAidGFtYW5obyBpbmNvcnJldG8gZGUgZXZlbnRvIHJma2lsbDogJXp1IDwgJWQiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgImZhbGhhIGFvIGNvbnN1bHRhciAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjMxMworbXNnaWQgImludmFsaWQgaWRlbnRpZmllciIKK21zZ3N0ciAiaWRlbnRpZmljYWRvciBpbnbDoWxpZG8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgImJsb3F1ZWFkbyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICJkZXNibG9xdWVhZG8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgImlkZW50aWZpY2Fkb3IgaW52w6FsaWRvOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBjb21hbmRvIFtpZGVudGlmaWNhZG8gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY5Cittc2dpZCAiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIgorbXNnc3RyICJGZXJyYW1lbnRhIHBhcmEgaGFiaWxpdGFyIGUgZGVzYWJpbGl0YXIgb3MgZGlzcG9zaXRpdm9zIHNlbSBmaW8uXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBjb21tYW5kIG5hbWVzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCwgZXhwbGFpbmluZworIy4gdGhlbSBhcyBhZGRpdGlvbmFsIGZpZWxkIGFmdGVyIGlkZW50aWZpZXIgaXMgZmluZSwgZm9yIGV4YW1wbGUKKyMuICoKKyMuIGxpc3QgICBbaWRlbnRpZmllcl0gICAobGlzdGEgW3Rhcmtlbm5lXSkKKyMuCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkyCittc2dpZCAiIGhlbHBcbiIKK21zZ3N0ciAiIGhlbHBcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIgZXZlbnRcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIiBsaXN0ICAgW2lkZW50aWZpY2Fkb3JdXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTUKK21zZ2lkICIgYmxvY2sgICBpZGVudGlmaWVyXG4iCittc2dzdHIgIiBibG9jayAgIGlkZW50aWZpY2Fkb3JcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NgorbXNnaWQgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiIHVuYmxvY2sgaWRlbnRpZmljYWRvclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJJbnNlcmUgdW0gZXN0YWRvIGRlIGRvcm1pZGEgZGUgc2lzdGVtYSBhdMOpIHVtIGhvcsOhcmlvIGRlIGFjb3JkYXIgZXNwZWNpZmljYWRvLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICBsw6ogbyBtb2RvIGRvIHJlbMOzZ2lvIGRvIGFycXVpdm8gZGUgYWp1c3RlIChwYWRyw6NvKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8YXJxdWl2bz4gIGVzcGVjaWZpY2EgbyBjYW1pbmhvIGRvIGFycXVpdm8gZGUgYWp1c3RlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwYWRyw6NvICVzKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiAgICAgLS1kYXRlIDxtYXJjYS10ZW1wbz4gZGF0YSBlIGhvcmEgZGEgbWFyY2EgZGUgdGVtcG8gcGFyYSBhY29yZGFyXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorIiAtZCwgLS1kZXZpY2UgPGRpc3Bvc2l0aXZvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWNpb25hIG8gZGlzcG9zaXRpdm8gZG8gcnRjIChydGMwfHJ0YzF8Li4uKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGZheiB0dWRvLCBtZW5vcyBzdXNwZW5kZXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzYSBvIGZ1c28gaG9yw6FyaW8gbG9jYWxcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdGEgbW9kb3MgZGlzcG9uw612ZWlzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8bW9kbz4gICAgICAgIG1vZG8gcGFyYSBkb3JtaXIgZW0gc3RhbmRieXxtZW18Li4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxzZWd1bmRvcz4gc2VndW5kb3MgcGFyYSBkb3JtaXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTUKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8aG9yw6FyaW8+ICAgICBob3LDoXJpbyBwYXJhIGFjb3JkYXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2EgVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbWVuc2FnZW5zIGRldGFsaGFkYXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibGVpdHVyYSBkbyBob3LDoXJpbyBkbyBydGMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICJsZWl0dXJhIGRvIGhvcsOhcmlvIGRvIHNpc3RlbWEgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorbXNnaWQgImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJjb252ZXJzw6NvIGRvIGhvcsOhcmlvIGRvIHJ0YyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiZGVmaW5pw6fDo28gZGUgYWxhcm1lIGRvIHJ0YyBwYXJhIGFjb3JkYXIgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgImRlc2NhcnRhbmRvIHN0ZGluIChlbnRyYWRhIHBhZHLDo28pIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAidGVyY2VpcmEgbGluaGEgaW5lc3BlcmFkYSBlbTogJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAibGVpdHVyYSBkZSBhbGFybWUgZG8gcnRjIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICJhbGFybWU6IGRlc2xpZ2Fkb1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgImNvbnZlcnPDo28gZGUgaG9yw6FyaW8gZmFsaG91IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJhbGFybWU6IGxpZ2FkbyAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxlcjogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgImVzdGFkbyBkZSBzdXNwZW5zw6NvIGRlc2NvbmhlY2lkYSBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDkzCittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHNlZ3VuZG9zIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5NworbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSBob3LDoXJpbyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IHByZXN1bWluZG8gcXVlIFJUQyB1c2EgVVRDIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJVc2FuZG8gaG9yw6FyaW8gVVRDLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIlVzYW5kbyBob3LDoXJpbyBsb2NhbC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzMKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiZGV2ZS1zZSBmb3JuZWNlciBob3LDoXJpbyBwYXJhIGFjb3JkYXIgKHZlamEgYXMgb3DDp8O1ZXMgLS1zZWNvbmRzLCAtLXRpbWUgZSAtLWRhdGUpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMgbsOjbyBoYWJpbGl0YWRvIHBhcmEgZXZlbnRvcyBkZSB3YWtldXAiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiYWxhcm1lICVsZCwgaG9yw6FyaW9fc2lzdCAlbGQsIGhvcsOhcmlvX3J0YyAlbGQsIHNlZ3VuZG9zICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAiaG9yw6FyaW8gbsOjbyBwb2RlIHJldHJvYWdpciBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogYWNvcmRhciB1c2FuZG8gJXMgZW0gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiBhY29yZGFyIGRlIFwiJXNcIiB1c2FuZG8gJXMgZW0gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAibW9kbyBkZSBzdXNwZW5zw6NvOiBuw6NvOyBzYWluZG9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnPDo286IGRlc2xpZ2FkbzsgZXhlY3V0YW5kbyAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJtb2RvIGRlIHN1c3BlbnPDo286IGxpZ2FkbzsgbGVuZG8gcnRjXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICJsZWl0dXJhIGRlIHJ0YyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIm1vZG8gZGUgc3VzcGVuc8OjbzogZGVzYWJpbGl0YWRvOyBkZXNhYmlsaXRhbmRvIGFsYXJtZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAibW9kbyBkZSBzdXNwZW5zw6NvOiBtb3N0cmFyOyBleGliaW5kbyBpbmZvcm1hw6fDo28gc29icmUgYWxhcm1lXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIm1vZG8gZGUgc3VzcGVuc8OjbzogJXM7IHN1c3BlbmRlbmRvIHNpc3RlbWFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICJmYWxoYSBhbyBkZXNhYmlsaXRhciBpbnRlcnJ1cMOnw6NvIGRlIGFsYXJtZSBydGMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICJBbHRlcm5hbmRvIGVtICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgPGFycXVpdGV0dXJhPiBbb3DDp8O1ZXNdIFs8cHJvZ3JhbWE+IFs8YXJndW1lbnRvPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICJBbHRlcmEgYSBhcnF1aXRldHVyYSByZWxhdGFkYSBlIGRlZmluZSBhcyBvcMOnw7VlcyBkZSBwZXJzb25hbGlkYWRlLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk4Cittc2dpZCAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCittc2dzdHIgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgbGlnYSBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgZmF6IHBvbnRlaXJvcyBkZSBmdW7Dp8OjbyBhcG9udGFyIHBhcmEgZGVzY3JpdG9yZXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgbGlnYSBTSE9SVF9JTk9ERVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGFsdGVyYSBhIGZvcm1hIGNvbW8gbWVtw7NyaWEgdmlydHVhbCDDqSBhbG9jYWRhXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkZXNhYmlsaXRhIGFsZWF0b3JpemHDp8OjbyBkbyBlc3Bhw6dvIGRvIGVuZGVyZcOnbyB2aXJ0dWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgbGlnYSBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBsaWdhIFNUSUNLWV9USU1FT1VUU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICBsaWdhIFJFQURfSU1QTElFU19FWEVDXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIGxpZ2EgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRhIG8gZXNwYcOnbyBkZSBlbmRlcmXDp28gdXNhZG8gYSB1bSBtw61uaW1vIGRlIDMgR0JcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JhZG8gKHBhcmEgY29tcGF0aWJpbGlkYWRlIGFwZW5hcylcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICBsaWdhIFVOQU1FMjZcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgZmFsYSBxdWFpcyBvcMOnw7VlcyBzZSBlc3TDoSBsaWdhbmRvXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdGEgYXJxdWl0ZXR1cmFzIGNvbmZpZ3Vyw6F2ZWlzIGUgc2FpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczogQXJxdWl0ZXR1cmEgbsOjbyByZWNvbmhlY2lkYSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJPIGtlcm5lbCBuw6NvIHDDtGRlIGRlZmluaXIgYXJxdWl0ZXR1cmEgcGFyYSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiQXJndW1lbnRvcyBpbnN1ZmljaWVudGVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJGYWxoYSBhbyBkZWZpbmlyIGEgcGVyc29uYWxpZGFkZSBkZSAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICJvcMOnw6NvIFwiLS1saXN0XCIgZGVzY29uaGVjaWRhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2OAorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIm5lbmh1bSBhcmd1bWVudG8gZGUgYXJxdWl0ZXR1cmEgZXNwZWNpZmljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJmYWxoYSBhbyBkZWZpbmlyIGEgcGVyc29uYWxpZGFkZSBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiRXhlY3V0YXIgY29tYW5kb1wiJXNcIi5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxwcm9ncmFtYT4gWzxhcmd1bWVudG9zPi4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiRXhlY3V0YSB1bSBwcm9ncmFtYSBjb20gY29uZmlndXJhw6fDtWVzIGRlIHByaXZpbMOpZ2lvcyBkaWZlcmVudGVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMgorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgbW9zdHJhIGVzdGFkbyBhdHVhbCAoZSBuw6NvIGV4ZWN1dGEpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIHByb8OtYmUgY29uY2Vzc8OjbyBkZSBub3ZvcyBwcml2aWzDqWdpb3NcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIGRlZmluZSBjYXBhY2lkYWRlcyBkbyBhbWJpZW50ZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgICAgIGRlZmluZSBjYXBhY2lkYWRlcyBoZXJkw6F2ZWlzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBkZWZpbmUgY29uanVudG8gZGVsaW1pdGFkb3IgZGUgY2FwYWNpZGFkZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgZGVmaW5lIHVpZCByZWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgICAgIGRlZmluZSB1aWQgZWZldGl2b1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgZGVmaW5lIGdpZCByZWFsXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIGRlZmluZSBnaWQgZWZldGl2b1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBkZWZpbmUgdWlkIHJlYWwgZSBlZmV0aXZvXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIGRlZmluZSB1aWQgcmVhbCBlIGVmZXRpdm9cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgbGltcGEgZ3J1cG9zIHN1cGxlbWVudGFyZXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBtYW50w6ltIGdydXBvcyBzdXBsZW1lbnRhcmVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM1Cittc2dpZCAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbml0aWFsaXplIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pY2lhbGl6YSBncnVwb3Mgc3VwbGVtZW50YXJlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWdyb3VwcyA8Z3J1cG8sLi4uPiAgICAgICAgZGVmaW5lIGdydXBvcyBzdXBsZW1lbnRhcmVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3Cittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIGRlZmluZSBzZWN1cmViaXRzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDxyw7N0dWxvPiAgICBkZWZpbmUgcsOzdHVsbyBTRUxpbnV4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gICAgIGRlZmluZSBwZXJmaWwgQXBwQXJtb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxNDQKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIEVzc2EgZmVycmFtZW50YSBwb2RlIHNlciBwZXJpZ29zYS4gTGVpYSBhIHDDoWdpbmEgbWFuIGUgdGVuaGEgY3VpZGFkby5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxODcKK21zZ2lkICJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAidGlwbyBkZSBjYXBhY2lkYWRlIGludsOhbGlkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICJmYWxoYSBhbyBvYnRlciBiaXRzIGRlIHNlZ3VyYW7Dp2EgZG8gcHJvY2Vzc28iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiU2VjdXJlYml0czogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiW25lbmh1bV1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogbG9uZ28gZGVtYWlzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJHcnVwb3Mgc3VwbGVtZW50YXJlczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICJbbmVuaHVtXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJ1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgImV1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgInN1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ1IHN5cy11dGlscy9zZXRwcml2LmM6NDQ1Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzdWlkIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXNnaWQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkNhcGFjaWRhZGVzIGVmZXRpdmFzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpZGFkZXMgcGVybWl0aWRhczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ2FwYWNpZGFkZXMgaGVyZMOhdmVpczogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICJDYXBhY2lkYWRlcyBkbyBhbWJpZW50ZTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICJbc2VtIHN1cG9ydGVdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICJDb25qdW50byBkZWxpbWl0YWRvciBkZSBjYXBhY2lkYWRlOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiUsOzdHVsbyBTRUxpbnV4IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIlBlcmZpbCBBcHBBcm1vciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICJjYXAgJWQ6IGxpYmNhcC1uZyBlc3TDoSBxdWVicmFkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIklEIGRlIGdydXBvIHN1cGxlbWVudGFyIGludsOhbGlkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXN1aWQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc2dpZCBmYWxob3UiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJ0aXBvIGRlIGNhcGFjaWRhZGUgc2VtIHN1cG9ydGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICJzdHJpbmcgZGUgY2FwYWNpZGFkZSBpbnbDoWxpZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAibGliY2FwLW5nIMOpIG11aXRvIGFudGlnbyBwYXJhIHRvZGFzIChcImFsbFwiKSBjYXBhY2lkYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiY2FwYWNpZGFkZSBkZXNjb25oZWNpZGEgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2MQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAiY29uanVudG8gZGUgc2VjdXJlYml0IG7Do28gcmVjb25oZWNpZG8gLS0gcmVjdXNhbmRvIG8gYWp1c3RlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAic3RyaW5nIGRlIHNlY3VyZWJpdHMgaW52w6FsaWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAic2VjdXJlYml0cyArYWxsIG7Do28gw6kgcGVybWl0aWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiYWp1c3RhciBrZWVwX2NhcHMgbsOjbyBmYXogc2VudGlkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICJzZWN1cmViaXQgZGVzY29uaGVjaWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYwOQorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXggbsOjbyBlc3TDoSBlbSBleGVjdcOnw6NvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJjbG9zZSBmYWxob3U6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciBuw6NvIGVzdMOhIGVtIGV4ZWN1w6fDo28iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAib3DDp8OjbyBkdXBsaWNhZGEgLS1uby1uZXctcHJpdnMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgwCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgInJ1aWQgZHVwbGljYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBydWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJldWlkIGR1cGxpY2FkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJydWlkIG91IGV1aWQgZHVwbGljYWRvcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIHJldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJyZ2lkIGR1cGxpY2FkbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgcmdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTMKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiZWdpZCBkdXBsaWNhZG8iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAicmdpZCBvdSBlZ2lkIGR1cGxpY2Fkb3MiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciByZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJvcMOnw6NvIC0tY2xlYXItZ3JvdXBzIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm9ww6fDo28gLS1rZWVwLWdyb3VwcyBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM4Cittc2dpZCAiZHVwbGljYXRlIC0taW5pdC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICJvcMOnw6NvIC0taW5pdC1ncm91cHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0NAorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIm9ww6fDo28gLS1ncm91cHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAib3DDp8OjbyAtLWluaC1jYXBzIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTkKK21zZ2lkICJkdXBsaWNhdGUgLS1hbWJpZW50LWNhcHMgb3B0aW9uIgorbXNnc3RyICJvcMOnw6NvIC0tYW1iaWVudC1jYXBzIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NjUKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJvcMOnw6NvIC0tYm91bmRpbmctc2V0IGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAib3DDp8OjbyAtLXNlY3VyZWJpdHMgZHVwbGljYWRhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICJvcMOnw6NvIC0tc2VsaW51eC1sYWJlbCBkdXBsaWNhZGEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIm9ww6fDo28gLS1hcHBhcm1vci1wcm9maWxlIGR1cGxpY2FkYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIi0tZHVtcCDDqSBpbmNvbXBhdMOtdmVsIGNvbSB0b2RhcyBhcyBvdXRyYXMgb3DDp8O1ZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIGRldmUgc2VyIGVzcGVjaWZpY2FkYSBzb3ppbmhhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJOZW5odW0gcHJvZ3JhbWEgZXNwZWNpZmljYWRvIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCByZXF1ZXIgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMgb3UgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiLS1pbml0LWdyb3VwcyBleGlnZSAtLXJ1aWQgb3UgLS1yZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICJ1aWQgJWxkIG7Do28gbG9jYWxpemFkbywgLS1pbml0LWdyb3VwcyBleGlnZSB1bSB1c3XDoXJpbyBxdWUgcG9zc2Egc2VyIGxvY2FsaXphZG8gbm8gc2lzdGVtYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgImZhbGhhIGFvIHByb2liaXIgY29uY2Vzc8OjbyBkZSBub3ZvcyBwcml2aWzDqWdpb3MiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgImZhbGhhIGFvIG1hbnRlciBjYXBhY2lkYWRlcyBkZSBwcm9jZXNzbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImF0aXZhciBjYXBhY2lkYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAicmVhdGl2YXIgY2FwYWNpZGFkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgImluaXRncm91cHMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJkZWZpbmnDp8OjbyBkZSBzZWN1cmViaXRzIGRlIHByb2Nlc3NvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzkKK21zZ2lkICJhcHBseSBib3VuZGluZyBzZXQiCittc2dzdHIgImFwbGljYXIgY29uanVudG8gZGVsaW1pdGFkb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJhcGxpY2FyIGNhcGFjaWRhZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxwcm9ncmFtYT4gW2FyZ3VtZW50b3MgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIkV4ZWN1dGEgdW0gcHJvZ3JhbWEgZW0gdW1hIG5vdmEgc2Vzc8Ojby5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICBkZWZpbmUgbyB0ZXJtaW5hbCBkZSBjb250cm9sZSBwYXJhIG8gYXR1YWxcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICBzZW1wcmUgZmF6IGZvcmtcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQyCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAgZXNwZXJhIG8gcHJvZ3JhbWEgcGFyYSBzYWlyIGUgdXNhIG8gbWVzbW8gcmV0b3Jub1xuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAiZm9yayIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm8gZmlsaG8gJWQgbsOjbyBzYWl1IG5vcm1hbG1lbnRlIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTE3Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0c2lkIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJmYWxoYSBhbyBkZWZpbmlyIG8gdGVybWluYWwgZGUgY29udHJvbGUiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICJzd2Fwb2ZmICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIk7Do28gw6kgc3VwZXJ1c3XDoXJpby4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxlc3BlYz5dXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiRGVzYWJpbGl0YSBwYWdpbmHDp8OjbyBlIHRyb2NhIChzd2FwcGluZykgZGUgZGlzcG9zaXRpdm9zIGUgYXJxdWl2b3MuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRlc2FiaWxpdGEgdG9kYXMgc3dhcHMgZGUgL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBtb2RvIGRldGFsaGFkb1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIm8gcGFyw6JtZXRybyA8ZXNwZWM+OlxuIgorIiAtTCA8csOzdHVsbz4gICAgICAgICAgICBSw5NUVUxPIGRlIGRpc3Bvc2l0aXZvIGEgc2VyIHVzYWRvXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBkZSBkaXNwb3NpdGl2byBhIHNlciB1c2Fkb1xuIgorIiBMQUJFTD08csOzdHVsbz4gICAgICAgICBSw5NUVUxPIGRlIGRpc3Bvc2l0aXZvIGEgc2VyIHVzYWRvXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBkZSBkaXNwb3NpdGl2byBhIHNlciB1c2Fkb1xuIgorIiA8ZGlzcG9zaXRpdm8+ICAgICAgICAgIG5vbWUgZG8gZGlzcG9zaXRpdm8gYSBzZXIgdXNhZG9cbiIKKyIgPGFycXVpdm8+ICAgICAgICAgICAgICBub21lIGRvIGFycXVpdm8gYSBzZXIgdXNhZG9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgImNhbWluaG8gZGUgcGFydGnDp8OjbyBvIGFycXVpdm8gZGlzcG9zaXRpdm8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidGlwbyBkbyBkaXNwb3NpdGl2byIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICJ0YW1hbmhvIGRhIMOhcmVhIGRlIHN3YXAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiYnl0ZXMgZW0gdXNvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAicHJpb3JpZGFkZSBkZSBzd2FwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJ1dWlkIGRlIHN3YXAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJyw7N0dWxvIGRlIHN3YXAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiJXNcdFx0XHRcdFRpcG9cdFx0VGFtYW5ob1x0XHRVc2Fkb1x0UHJpb3JpZGFkZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIk5vbWUgZG8gYXJxdWl2byIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIlczogcmVpbmljaWFsaXphbmRvIGEgc3dhcC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGFzc2luYXR1cmEgZGUgZ3JhdmHDp8OjbyBmYWxob3UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IHB1bGFuZG8gLSBlbGUgcGFyZWNlIHRlciBidXJhY29zLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogZmFsaGEgYW8gb2J0ZXIgdGFtYW5obyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBmYWxoYSBhbyBsZXIgY2FiZcOnYWxobyBkZSBzd2FwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogZW5jb250cmFkYSBhc3NpbmF0dXJhIFt0YW1hbmhvIGRlIHDDoWdpbmE9JWQsIGFzc2luYXR1cmE9JXNdIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCDDqSBtYWlvciBkbyBxdWUgbyB0YW1hbmhvIGF0dWFsIGRvIGVzcGHDp28gZGUgc3dhcCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlczogdGFtYW5obyBkZSBww6FnaW5hIGRvIGZvcm1hdG8gZGUgc3dhcCBuw6NvIGNvbmZlcmUuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiB0YW1hbmhvIGRlIHDDoWdpbmEgZG8gZm9ybWF0byBkZSBzd2FwIG7Do28gY29uZmVyZS4gKFVzZSAtLWZpeHBnc3ogcGFyYSByZWluaWNpYWxpesOhLWxvKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IGRhZG9zIGRlIHN1c3BlbnPDo28gZGUgc29mdHdhcmUgZGV0ZWN0YWRvLiBSZWVzY3JldmVuZG8gYSBhc3NpbmF0dXJhIGRhIHN3YXAuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvbiBmYWxob3UiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IG9ww6fDo28gbm9hdXRvIC0tIGlnbm9yYWRvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogasOhIGF0aXZvIC0tIGlnbm9yYWRvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGluYWNlc3PDrXZlbCAtLSBpZ25vcmFkbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiSGFiaWxpdGEgZGlzcG9zaXRpdm9zIGUgYXJxdWl2b3MgcGFyYSBwYWdpbmHDp8OjbyBlIHRyb2NhIChzd2FwcGluZykuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgaGFiaWxpdGEgdG9kYXMgc3dhcHMgZG8gL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisiIC1kLCAtLWRpc2NhcmRbPTxwb2zDrXRpY2E+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFiaWxpdGEgZGVzY2FydGUgZGUgc3dhcCwgc2UgaG91dmVyIHN1cG9ydGVcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMgorbXNnaWQgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCittc2dzdHIgIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgaWdub3JhIHNpbGVuY2lvc2FtZW50ZSBkaXNwb3NpdGl2b3MgaW5leGlzdGVudGVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaWNpYWxpemEgbyBlc3Bhw6dvIGRlIHN3YXAsIHNlIG5lY2Vzc8OhcmlvXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8bGlzdGE+ICAgIGxpbWl0YSBzZXBhcmFkYSBwb3IgdsOtcmd1bGEgZGUgb3DDp8O1ZXMgZGUgc3dhcFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBlc3BlY2lmaWNhIGEgcHJpb3JpZGFkZSBkbyBkaXNwb3NpdGl2byBkYSBzd2FwXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZXhpYmUgdW0gcmVzdW1vIHNvYnJlIG9zIGRpc3Bvc2l0aXZvcyBkZSBzd2FwXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHVzYWRvcyAoT0JTT0xFVE8pXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDcKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTxjb2x1bmFzPl0gICBleGliZSB1bSByZXN1bW8gZW0gdW1hIHRhYmVsYSBkZWZpbsOtdmVsXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIG7Do28gZXhpYmUgY2FiZcOnYWxobyBkYSB0YWJlbGEgKGNvbSAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzYSBmb3JtYXRvIGRlIHNhw61kYSBuw6NvIHRyYXRhZG8gKGNvbSAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBleGliZSB0YW1hbmhvIGRhIHN3YXAgZW0gYnl0ZXMgbmEgc2HDrWRhIGRlIC0tc2hvd1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBtb2RvIGRldGFsaGFkb1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODE2Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiTyBwYXLDom1ldHJvIDxlc3BlYz46XG4iCisiIC1MIDxyw7N0dWxvPiAgICAgICAgICAgIHNpbsO0bmltbyBkZSBMQUJFTD08csOzdHVsbz5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzaW7DtG5pbW8gZGUgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PHLDs3R1bG8+ICAgICAgICAgZXNwZWNpZmljYSBvIGRpc3Bvc2l0aXZvIHBvciByw7N0dWxvIGRhIMOhcmVhIGRlIHN3YXBcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBlc3BlY2lmaWNhIG8gZGlzcG9zaXRpdm8gcG9yIFVVSUQgZGEgw6FyZWEgZGUgc3dhcFxuIgorIiBQQVJUTEFCRUw9PHLDs3R1bG8+ICAgICBlc3BlY2lmaWNhIG8gZGlzcG9zaXRpdm8gcG9yIHLDs3R1bG8gZGEgcGFydGnDp8Ojb1xuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIGVzcGVjaWZpY2EgbyBkaXNwb3NpdGl2byBwb3IgVVVJRCBkYSBwYXJ0acOnw6NvXG4iCisiIDxkaXNwb3NpdGl2bz4gICAgICAgICAgbm9tZSBkbyBkaXNwb3NpdGl2byBhIHNlciB1c2Fkb1xuIgorIiA8YXJxdWl2bz4gICAgICAgICAgICAgIG5vbWUgZG8gYXJxdWl2byBhIHNlciB1c2Fkb1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlwb3MgZGUgcG9sw610aWNhcyBkZSBkZXNjYXJ0ZSBkaXNwb27DrXZlaXMgKHBhcmEgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IGFwZW5hcyBkZXNjYXJ0ZXMgZGUgw6FyZWEgZGUgdXNvIMO6bmljbyBzw6NvIHVzYWRhc1xuIgorIiBwYWdlcyAgIDogcMOhZ2luYXMgbGliZXJhZGFzIHPDo28gZGVzY2FydGFkYXMgYW50ZXMgZGUgc2VyZW0gcmV1c2FkYXNcbiIKKyJTZSBuZW5odW1hIHBvbMOtdGljYSBmb3Igc2VsZWNpb25hZGEsIGFtYm9zIHRpcG9zIGRlIGRlc2NhcnRlIHPDo28gaGFiaWxpdGFkb3MuIChwYWRyw6NvKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBwcmlvcmlkYWRlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAic2VtIHN1cG9ydGUgw6AgcG9sw610aWNhIGRlIGRlc2NhcnRlOiAlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBvIGRpc3Bvc2l0aXZvIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjYwCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICJmYWxoYSBhbyBhYnJpciBvIGRpcmV0w7NyaW8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY4Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInN0YXQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyIG8gZGlyZXTDs3JpbyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgImZhbGhhIGFvIHJlbW92ZXIgYSBsaWdhw6fDo28gJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICJmYWxoYSBhbyBtb250YXIgbW92ZW5kbyAlcyBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICJmb3LDp2FuZG8gZGVzbW9udGFnZW0gZGUgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gYWx0ZXJhciBkaXJldMOzcmlvIHBhcmEgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgImZhbGhhIGFvIG1vbnRhciBtb3ZlbmRvICVzIHBhcmEgLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc5Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJmYWxoYSBhbyBhbHRlcmFyIGEgcmFpeiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJzaXN0ZW1hIGRlIGFycXVpdm9zIHJhaXogYW50aWdvIG7Do28gw6kgdW0gaW5pdHJhbWZzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxub3ZvZGlycmFpej4gPGluaXQ+IDxhcmdzIHBhcmEgaW5pY2lhbGl6YXI+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIkFsdGVybmEgcGFyYSB1bSBvdXRybyBzaXN0ZW1hIGRlIGFycXVpdm9zIGNvbW8gYSByYWl6IGRhIMOhcnZvcmUgZGEgbW9udGFnZW0uXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1NQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICJmYWxob3UuIFNpbnRvIG11aXRvLiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhY2Vzc2FyICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICJEZWZpbmUgdsOhcmlvcyBwYXLDom1ldHJvcyBwYXJhIGEgaW1wcmVzc8OjbyBkZSBsaW5oYS5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMQorbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bsO6bT4gICAgICAgICAgICAgIGVzcGVjaWZpY2EgcG9ydGEgcGFyYWxlbGEgaXJxXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICB0ZW1wbyBkZSBlc3BlcmEgZG8gZHJpdmVyIGVtIG1pbGlzc2VndW5kb3NcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbsO6bWVybyBkZSBjYXJhY3RlcmVzIGRlIHNhw61kYSBhbnRlcyBkZSBkb3JtaXJcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgZXhpYmUgYSBlc3BlcmEgZW0gbWljcm9zc2VndW5kb3NcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnRhIHNlIG9jb3JyZXIgYWxndW0gZXJyb1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIHZlcmlmaWNhIHN0YXR1cyBkYSBpbXByZXNzb3JhIGFudGVzIGRlIGltcHJpbWlyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgdmVyaWZpY2HDp8OjbyBleHRyYSBwYXJhIHZlcmlmaWNhciBvIHN0YXR1c1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgY29uc3VsdGEgbyBzdGF0dXMgZGEgaW1wcmVzc29yYVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVpbmljaWEgYSBwb3J0YVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGV4aWJlIGNvbmZpZ3VyYcOnw6NvIGF0dWFsIGRlIGlycVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIG7Do28gw6kgdW0gZGlzcG9zaXRpdm8gbHAiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNzgKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAiZXJybyBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIm8gc3RhdHVzIGRlICVzIMOpICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBvY3VwYWRvIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgcHJvbnRvIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIHNlbSBwYXBlbCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIGVycm8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImlvY3RsIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJlcnJvIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyB1c2FuZG8gSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyB1c2FuZG8gY29uc3VsdGEgKHBvbGxpbmcpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3DDp8O1ZXNdXG4iCisiICUxJHMgW29ww6fDtWVzXSA8Zm9udGU+IHwgPGRpcmV0w7NyaW8+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkRlc21vbnRhIHNpc3RlbWEgZGUgYXJxdWl2b3MuXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgZGVzbW9udGEgdG9kb3Mgb3Mgc2lzdGVtYXMgZGUgYXJxdWl2b3NcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIGRlc21vbnRhIHRvZG9zIG9zIHBvbnRvcyBkZSBtb250YWdlbSBkbyBkaXNwb3NpdGl2b1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhZG8gbm8gZXNwYcOnbyBkZSBub21lcyBhdHVhbFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBuw6NvIGNhbm9uaXphIGNhbWluaG9zXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MgorbXNnaWQgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIHNlIG8gZGlzcG9zaXRpdm8gZGUgbG9vcCBlc3RpdmVyIG1vbnRhZG8sIHRhbWLDqW1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBsaWJlcmEgZXN0ZSBkaXNwb3NpdGl2byBkZSBsb29wXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgc2ltdWxhw6fDo287IHB1bGEgYSBjaGFtYWRhIGRlIHNpc3RlbWEgZG8gdW1vdW50KDIpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3LDp2EgZGVzbW9udGFnZW0gKGVtIGNhc28gZGUgc2lzdGVtYSBORlMgaW5hbGNhbsOnw6F2ZWwpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG7Do28gY2hhbWEgb3MgYWp1ZGFudGVzIGRlIHVtb3VudC48dGlwbz5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRlc3RhY2EgbyBzaXN0ZW1hIGRlIGFycXVpdm9zIGFnb3JhLCBsaW1wYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFzIGNvaXNhcyBkZXBvaXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk4Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0YT4gbGltaXRhIG8gY29uanVudG8gZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3MgKHVzZSBjb20gLWEpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgZGVzbW9udGEgcmVjdXJzaXZhbWVudGUgdW0gYWx2byBjb20gdG9kYXMgc2V1cyBmaWxob3NcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGNhc28gYSBkZXNtb250YWdlbSBmYWxoZSwgdGVudGEgcmVtb250YXIgY29tbyBzb21lbnRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbGVpdHVyYVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RhPiAgICAgbGltaXRhIG8gY29uanVudG8gZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3MgcG9yIHRpcG9zXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykgZGVzbW9udGFkbyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGRlc21vbnRhZG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgYWx2byBkbyB1bW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiYWxvY2HDp8OjbyBkYSB0YWJlbGEgZG8gbGlibW91bnQgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiYWxvY2HDp8OjbyBkbyBpdGVyYWRvciBkbyBsaWJtb3VudCBmYWxob3UiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiZmFsaGEgYW8gb2J0ZXIgc2lzdGVtYSBkZSBhcnF1aXZvcyBmaWxobyBkZSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBuw6NvIGVuY29udHJhZG8iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlczogZmFsaGEgYW8gZGV0ZXJtaW5hciBmb250ZSAoc2VtIHN1cG9ydGUgYSAtLWFsbC10YXJnZXRzIGVtIHNpc3RlbWFzIGNvbSBhcnF1aXZvIG10YWIgY29tdW0pLiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICJzZW0gc3Vwb3J0ZSBhbyBhcmd1bWVudG8gZGUgLS1zZXRncm91cHMgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgImdyYXZhw6fDo28gZGUgJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAibW9kbyBkZSBwcm9wYWdhw6fDo28gc2VtIHN1cG9ydGU6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWx0ZXJhciBhIHByb3BhZ2HDp8OjbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIHJhaXoiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAibW9udGFnZW0gZGUgJXMgZW0gJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGVzdGFkbyBkZSAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAicmVkaXJlY2lvbmFtZW50byBmYWxob3UiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiZmFsaGEgYW8gbGVyIG8gcmVkaXJlY2lvbmFtZW50byIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiRXhlY3V0YSB1bSBwcm9ncmFtYSBjb20gYWxndW5zIGVzcGHDp29zIGRlIG5vbWUgbsOjbyBjb21wYXJ0aWxoYWRvcyBkbyBwcm9jZXNzbyBwYWkuXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGFycXVpdm8+XSAgIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZSBkZSBtb250YWdlbnNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGFycXVpdm8+XSAgICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lIFVUUyAoaG9zdG5hbWUgZXRjLilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PGFycXVpdm8+XSAgICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lIGRlIElQQyBkZSBTeXN0ZW0gVlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PGFycXVpdm8+XSAgICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lIGRlIHJlZGVcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wIC0tcGlkWz08YXJxdWl2bz5dICAgICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lIGRvIHBpZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxhcnF1aXZvPl0gICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lIGRvIHVzdcOhcmlvXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtYywgLS1jZ3JvdXBbPTxhcnF1aXZvPl0gIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZSBkZSBjZ3JvdXBcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGJpZnVyY2EgYW50ZXMgZGUgZXhlY3V0YXIgPHByb2dyYW1hPlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisiICAgICAtLWtpbGwtY2hpbGRbPTxzaWduYW1lPl0gIGFvIG1vcnJlciwgbWF0YSBvIGZvcmsgZmlsaG8gKGFwbGljYSAgLS1mb3JrKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRyw6NvIHBhcmEgU0lHS0lMTFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NAorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW9udGEgc2lzdGVtYSBkZSBhcnF1aXZvcyBwcm9jIHByaW1laXJvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVzdWx0YSBlbSAtLW1vdW50KVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcGVpYSB1c3XDoXJpbyBhdHVhbCBwYXJhIHJvb3QgKHJlc3VsdGEgZW0gLS11c2VyKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWNhIHByb3BhZ2HDp8OjbyBkZSBtb250YWdlbSBubyBlc3Bhw6dvIGRlIG5vbWVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlIG1vbnRhZ2VtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xhIGFzIGNoYW1hZGFzIGRlIHNpc3RlbWEgZGUgc2V0Z3JvdXBzIG5vc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXNwYcOnb3MgZGUgbm9tZSBkbyB1c3XDoXJpb1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJ1bnNoYXJlIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAic2HDrWRhIGRvIGZpbGhvIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAib3DDp8O1ZXMgLS1zZXRncm91cHM9YWxsb3cgZSAtLW1hcC1yb290LXVzZXIgc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAibW9udGFnZW0gZGUgJXMgZmFsaG91IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICJBIHBsYWNhIHJlaW5pY2lhbGl6b3UgYW50ZXJpb3JtZW50ZSBhIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJUcmFuc21pc3PDo28gZXh0ZXJuYSAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIlRyYW5zbWlzc8OjbyBleHRlcm5hIDIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc2Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiVmVudG9pbmhhIGZhbGhvdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIlJlc3Bvc3RhIGRvIHBpbmcgZGUgXCJrZWVwIGFsaXZlXCIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiU3Vwb3J0ZSBhIGNhcmFjdGVyZSBkZSBmZWNoYW1lbnRvIG3DoWdpY28iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiUmVpbmljaWFsaXphw6fDo28gcG9yIGNhdXNhIGRlIHNvYnJlYXF1ZWNpbWVudG8gZGUgQ1BVIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiRW5lcmdpYSBwb3Igdm9sdGFnZW0iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJFbmVyZ2lhIGluc3VmaWNpZW50ZS9wcm9ibGVtYSBkZSBlbmVyZ2lhIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcsOpLXRlbXBvIGxpbWl0ZSAoZW0gc2VndW5kb3MpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiRGVmaW5lIG8gdGVtcG8gbGltaXRlIChlbSBzZWd1bmRvcykiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICJOw6NvIGF0aXZhIHJlaW5pY2lhbGl6YcOnw6NvIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIm9ww6fDo28gbm9tZSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAib3DDp8OjbyBkZXNjcmnDp8OjbyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgIm9ww6fDo28gc3RhdHVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJvcMOnw6NvIHN0YXR1cyBkZSBpbmljaWFsaXphw6fDo28iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJub21lIGRvIGRpc3Bvc2l0aXZvIHdhdGNoZG9nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAib3DDp8OjbyBkZXNjb25oZWNpZGE6ICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICJNb3N0cmEgbyBzdGF0dXMgZG8gd2F0Y2hkb2cgZG8gaGFyZHdhcmUuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdGE+ICAgIGV4aWJlIGFwZW5hcyBhcyBvcMOnw7VlcyBzZWxlY2lvbmFkYXNcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBuw6NvIGV4aWJlIGluZm9ybWHDp8OjbyBzb2JyZSBvcMOnw7Vlc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIG7Do28gZXhpYmUgaW5mb3JtYcOnw6NvIHNvYnJlIGEgaWRlbnRpZGFkZSBkbyB3YXRjaGRvZ1xuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG7Do28gZXhpYmUgY2FiZcOnYWxob3MgZGEgdGFiZWxhIGRlIG9ww6fDtWVzXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgZXhpYmUgdG9kYXMgYXMgaW5mb3JtYcOnw7VlcyBlbSB1bWEgbGluaGFcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICByZXRvcm5hIGFzIGNvbHVuYXMgZGFzIG9ww6fDtWVzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNhIGZvcm1hdG8gZGUgc2HDrWRhIG7Do28gdHJhdGFkYSBuYSB0YWJlbGEgZGUgb3DDp8O1ZXNcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBuw6NvIGV4aWJlIG9zIHRlbXBvcyBsaW1pdGVzIGRvIHdhdGNoZG9nXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlZz4gZGVmaW5lIG8gdGVtcG8gbGltaXRlIGRvIHdhdGNoZG9nXG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgZXhpYmUgYXBlbmFzIGFzIHRhYmVsYSBkZSBvcMOnw7VlcyAobWVzbW8gcXVlIC1JIC1UKVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICJPIGRpc3Bvc2l0aXZvIHBhZHLDo28gw6kgJXMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBvcMOnw7VlcyBkZXNjb25oZWNpZGFzIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIwIHN5cy11dGlscy93ZGN0bC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiJXM6IHdhdGNoZG9nIGrDoSBlbSB1c28sIHRlcm1pbmFuZG8uIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzQgc3lzLXV0aWxzL3dkY3RsLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlczogZmFsaGEgYW8gZGVzYXJtYXIgd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciBvIHRlbXBvIGxpbWl0ZSBwYXJhICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICJPIHRlbXBvIGxpbWl0ZSBmb2kgZGVmaW5pZG8gY29tbyAlZCBzZWd1bmRvLlxuIgorbXNnc3RyWzFdICJPIHRlbXBvIGxpbWl0ZSBmb2kgZGVmaW5pZG8gY29tbyAlZCBzZWd1bmRvcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIlczogZmFsaGEgYW8gb2J0ZXIgaW5mb3JtYcOnw6NvIHNvYnJlIG8gd2F0Y2hkb2ciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIHNlZ3VuZG9zXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSBzZWd1bmRvc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiVGVtcG8gbGltaXRlOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICJQcsOpLXRlbXBvIGxpbWl0ZToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiVGVtcG8gcmVzdGFudGU6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJEaXNwb3NpdGl2bzoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpZGFkZToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOAorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInZlcnPDo28iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJub21lIGRvIGRpc3Bvc2l0aXZvIGRlIHpyYW0iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICJsaW1pdGEgYSBxdWFudGlkYWRlIGRlIGRhZG9zIGRlc2NvbXByaW1pZG9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgInRhbWFuaG8gZGVzY29tcHJpbWlkbyBkb3MgZGFkb3MgYXJtYXplbmFkb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgInRhbWFuaG8gY29tcHJpbWlkbyBkb3MgZGFkb3MgYXJtYXplbmFkb3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJvIGFsZ29yaXRtbyBkZSBjb21wcmVzc8OjbyBzZWxlY2lvbmFkbyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIm7Dum1lcm8gZGUgb3BlcmHDp8O1ZXMgZGUgY29tcHJlc3PDo28gY29uY29ycmVudGVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJww6FnaW5hcyB2YXppYXMgY29tIG5lbmh1bWEgbWVtw7NyaWEgYWxvY2FkYSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAidG9kYSBtZW3Ds3JpYSBpbmNsdWluZG8gZnJhZ21lbnRhw6fDo28gZSBzb2JyZWNhcmdhIGRlIG1ldGFkYWRvcyBkbyBhbG9jYWRvciIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAibGltaXRlIGRlIG1lbcOzcmlhIHVzYWRvIHBhcmEgYXJtYXplbmFyIGRhZG9zIGNvbXByaW1pZG9zIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiYSBtZW1vcmlhIHpyYW0gZm9pIGNvbnN1bWlkYSBwYXJhIGFybWF6ZW5hciBkYWRvcyBjb21wcmltaWRvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NQorbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgIm7Dum1lcm8gZGUgb2JqZXRvcyBtaWdyYWRvcyBwb3IgY29tcGFjdGHDp8OjbyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNzYKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiRmFsaGEgYW8gYW5hbGlzYXIgbW1fc3RhcnQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW29ww6fDtWVzXSA8ZGlzcG9zaXRpdm8+XG4iCisiICUxJHMgLXIgPGRpc3Bvc2l0aXZvPiBbLi4uXVxuIgorIiAlMSRzIFtvcMOnw7Vlc10gLWYgfCA8ZGlzcG9zaXRpdm8+IC1zIDx0YW1hbmhvPlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIkNvbmZpZ3VyYSBlIGNvbnRyb2xhIGRpc3Bvc2l0aXZvcyB6cmFtLlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MQorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NHxsejRoY3xkZWZsYXRlfDg0MiAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgYWxnb3JpdG1vIGRlIGNvbXByZXNzw6NvIHBhcmEgdXNhclxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MgorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBleGliZSB0YW1hbmhvcyBlbSBieXRlcyBlbSB2ZXogZGUgZm9ybWF0byBsZWfDrXZlbFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBsb2NhbGl6YSB1bSBkaXNwb3NpdGl2byBsaXZyZVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIG7Do28gZXhpYmUgY2FiZcOnYWxob3NcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICAgICBjb2x1bmFzIGEgc2VyZW0gdXNhZGFzIHBhcmEgYSBzYcOtZGEgZGUgc3RhdHVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ2Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgdXNlIHJhdyBzdGF0dXMgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2EgbyBmb3JtYXRvIGRlIHNhw61kYSBkZSBzdGF0dXMgbsOjbyB0cmF0YWRvXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlZGVmaW5lIHRvZG9zIGRpc3Bvc2l0aXZvcyBlc3BlY2lmaWNhZG9zXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPHRhbWFuaG8+ICAgICAgdGFtYW5obyBkbyBkaXNwb3NpdGl2b1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDxuw7ptZXJvPiAgICBuw7ptZXJvIGRlIGZsdXhvcyBkZSBjb21wcmVzc8Ojb1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBmbHV4b3MiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiYSBvcMOnw6NvIC0tZmluZCBlIDxkaXNwb3NpdGl2bz4gc8OjbyBtdXR1YW1lbnRlIGV4Y2x1c2l2YXMiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgInBvZGUtc2UgdXNhciBhcGVuYXMgdW0gPGRpc3Bvc2l0aXZvPiBwb3IgdmV6IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICJvcMOnw7VlcyAtLWFsZ29yaXRobSBlIC0tc3RyZWFtcyBkZXZlbSBzZXIgY29tYmluYWRvcyBjb20gLS1zaXplIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5NCBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczogZmFsaGEgYW8gcmVkZWZpbmlyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIm5lbmh1bSBkaXNwb3NpdGl2byB6cmFtIGxpdnJlIGxvY2FsaXphZG8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczogZmFsaGEgYW8gZGVmaW5pciBuw7ptZXJvIGRlIGZsdXhvcyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogZmFsaGEgYW8gZGVmaW5pciBhbGdvcml0bW8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogZmFsaGEgYW8gZGVmaW5pciB0YW1hbmhvIGRvIGRpc2NvICglanUgYnl0ZXMpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKGluw61jaW8gZGUgc2Vzc8OjbyBhdXRvbcOhdGljbylcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgYWx0ZXJhciBvIGRpcmV0w7NyaW8gcmFpeiAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFsdGVyYXIgbyBkaXJldMOzcmlvIGRlIHRyYWJhbGhvICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhbHRlcmFyIGEgcHJpb3JpZGFkZSBkbyBwcm9jZXNzbzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhciAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJmYWxoYSBhbyBhbG9jYXIgbWVtw7NyaWE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIgorbXNnc3RyICIlcyBkZSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NDgKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIGF0cmFzbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSAtLWxvY2FsLWxpbmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIG5pY2UiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgInZlbG9jaWRhZGUgaW52w6FsaWRhOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDgKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSB2ZWxvY2lkYWRlcyBhbHRlcm5hdGl2YXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTkgdGVybS11dGlscy9hZ2V0dHkuYzoxMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIGNvbW8gZW50cmFkYSBwYWRyw6NvOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IG7Do28gw6kgdW0gZGlzcG9zaXRpdm8gZGUgY2FyYWN0ZXJlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogbsOjbyDDqSB1bSB0dHkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgdHR5IGRlIGNvbnRyb2xlOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFsaG91OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IG7Do28gZXN0w6EgYWJlcnRvIHBhcmEgbGVpdHVyYS9ncmF2YcOnw6NvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgZ3J1cG8gZG8gcHJvY2Vzc286ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IHByb2JsZW1hIGRlIGR1cDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IGZhbGhhIGFvIG9idGVyIGF0cmlidXRvcyBkbyB0ZXJtaW5hbDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImZhbGhhIGFvIGRlZmluaXIgYXRyaWJ1dG9zIGRvIHRlcm1pbmFsOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY0Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBhcnF1aXZvIG9zLXJlbGVhc2UiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImZhbGhhIGFvIGNyaWFyIGFycXVpdm8gZGUgcmVjYXJyZWdhbWVudG86ICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW3ByZXNzaW9uZSBFTlRFUiBwYXJhIG8gaW5pY2lhciBhIHNlc3PDo29dIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIk51bSBMb2NrIGRlc2F0aXZhZG8iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2MgorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0gTG9jayBhdGl2YWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkNhcHMgTG9jayBhdGl2YWRvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sgYXRpdmFkbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisiRGljYTogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IGxlaXR1cmE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiBlbnRyYWRhIGV4Y2VkaWRhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogY29udmVyc8OjbyBkZSBjYXJhY3RlcmUgaW52w6FsaWRhIHBhcmEgbm9tZSBwYXJhIGluaWNpYXIgc2Vzc8OjbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBjYXJhY3RlcmUgaW52w6FsaWRvIDB4JXggbm8gbm9tZSBwYXJhIGluaWNpYXIgc2Vzc8OjbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlczogZmFsaGEgYW8gZGVmaW5pciBhdHJpYnV0b3MgZG8gdGVybWluYWw6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbb3DDp8O1ZXNdIDxsaW5oYT4gWzx0YXhhLXRyYW5zbWlzc8Ojbz4sLi4uXSBbPHRpcG8tdGVybWluYWw+XVxuIgorIiAlMSRzIFtvcMOnw7Vlc10gPHRheGEtdHJhbnNtaXNzw6NvPiwuLi4gPGxpbmhhPiBbPHRpcG8tdGVybWluYWw+XVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzAKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiQWJyZSB1bSB0ZXJtaW5hbCBlIGRlZmluZSBzZXUgbW9kby5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIHByZXN1bWUgdHR5IGRlIDggYml0c1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvbG9naW4gPHVzdcOhcmlvPiAgaW5pY2lhIHNlc3PDo28gYXV0b21hdGljYW1lbnRlIHBhcmEgbyB1c3XDoXJpb1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzcGVjaWZpY2Fkb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgaW5pY2lhIHJlaW5pY2lhIG8gbW9kbyBkZSBjb250cm9sZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2EgLXIgPG3DoXF1aW5hPiBwYXJhIGxvZ2luKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNworbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWlzc3VlLWZpbGUgPGFycXVpdm8+IGV4aWJlIG8gYXJxdWl2byBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzgKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgaGFiaWxpdGEgY29udHJvbGUgZGUgZmx1eG8gZGUgaGFyZHdhcmVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgLUgsIC0taG9zdCA8bcOhcXVpbmE+ICAgICAgIGVzcGVjaWZpY2EgbcOhcXVpbmEgcHJhIGluw61jaW8gZGUgc2Vzc8Ojb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgbsOjbyBleGliZSBvIGFycXVpdm8gaXNzdWVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIgLUksIC0taW5pdC1zdHJpbmcgPHRleHRvPiAgZGVmaW5lIG8gdGV4dG8gZGUgaW5pY2lhbGl6YcOnw6NvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBuw6NvIGxpbXBhIGEgdGVsYSBhbnRlcyBkZSBwZXJndW50YXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQzCittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIiCisiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGFycXVpdm8+XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIGVzcGVjaWZpY2EgbyBwcm9ncmFtYSB1c2FkbyBwYXJhIGluaWNpYXIgc2Vzc8Ojb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kbz5dICBjb250cm9sYSBhIG9ww6fDo28gZGUgbGluaGEgbG9jYWxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWkgdGF4YSBkZSB0cmFuc21pc3PDo28gZHVyYW50ZSBjb25leMOjb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDYKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIG7Do28gcGVyZ3VudGEgcGVsbyBub21lIHBhcmEgaW5jaWFyIHNlc3PDo29cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiIKKyIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgbsOjbyBhY3Jlc2NlbnRhIG5vdmEgbGluaGEgYW50ZXMgZGEgbWVuc2FnZW0gZG9cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcImlzc3VlXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHM+ICBvcMOnw7VlcyBxdWUgc8OjbyBwYXNzYWRhcyBhbyBpbmNpYXIgc2Vzc8Ojb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICBlc3BlcmEgcG9yIGFsZ3VtYSB0ZWNsYSBhbnRlcyBkZSBpbmljaWFyIHNlc3PDo29cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGFsdGVyYSBhIHJhaXogcGFyYSBvIGRpcmV0w7NyaW8gZGFkb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBmZWNoYSB2aXJ0dWFsbWVudGUgYSBzZXNzw6NvIG5vIHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTIKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0ZW50YSBtYW50ZXIgYSB0YXhhIGRlIHRyYW5zbWlzc8OjbyBhcMOzcyBxdWVicmFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bsO6bWVybz4gICAgIHRlbXBvIGxpbWl0ZSBkbyBwcm9jZXNzbyBkZSBpbsOtY2lvIGRlIHNlc3PDo29cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdGEgdGVybWluYWwgZW0gY2FpeGEgYWx0YVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIGVzcGVyYSBwZWxvIGNhcmFjdGVyZSBkZSByZXRvcm5vIGRlIGNhcnJvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIG7Do28gbW9zdHJhIGRpY2FzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbmVuaHVtYSBtw6FxdWluYSBzZXLDoSBtb3N0cmFkYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTgKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgbW9zdHJhIG8gbm9tZSBjb21wbGV0byBkYSBtw6FxdWluYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTkKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDx0ZXh0bz4gIGNhcmFjdGVyZXMgYWRpY2lvbmFpcyBkZSBiYWNrc3BhY2VcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA8dGV4dG8+ICAgY2FyYWN0ZXJlcyBhZGljaW9uYWlzIGRlIGtpbGxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYxCittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDxkaXJldMOzcmlvPiAgICBtdWRhIGRlIGRpcmV0w7NyaW8gYW50ZXMgZGUgZmF6ZXIgbG9naW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgIC0tZGVsYXkgPG7Dum1lcm8+ICAgICAgIHNlZ3VuZG9zIGRlIGF0cmFzbyBhbnRlcyBkZSBwZXJndW50YXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPG7Dum1lcm8+ICAgICAgICBleGVjdXRhIG8gbG9naW4gY29tIGVzc2EgcHJpb3JpZGFkZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjQKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWNhcnJlZ2EgcHJvbXB0cyBlbSBpbnN0w6JuY2lhcyBhZ2V0dHkgZW0gZXhlY3XDp8Ojb1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZXhpYmUgdGF4YXMgZGUgdHJhbnNtaXNzw6NvIGFjZWl0YXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIlZCB1c3XDoXJpbyIKK21zZ3N0clsxXSAiJWQgdXN1w6FyaW9zIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZWNrbmFtZSBmYWxob3U6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCB0b2NhciAoY3JpYXIpIG8gYXJxdWl2byAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU5Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIm7Do28gaMOhIHN1cG9ydGUgYSAtLXJlbG9hZCBubyBzZXUgc2lzdGVtYSIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFtzIHwgbl1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICJDb250cm9sYSBhY2Vzc28gZGUgZXNjcml0YSBkZSBvdXRyb3MgdXN1w6FyaW9zIGEgc2V1IHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgZXhwbGljYSBvIHF1ZSBlc3TDoSBzZW5kbyBmZWl0b1xuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSBmYWxob3UiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgIsOpIHMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgIsOpIG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJhbHRlcmHDp8OjbyBkZSBtb2RvICVzIGZhbGhvdSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiYWNlc3NvIHBhcmEgZXNjcml0YSBhbyBzZXUgdGVybWluYWwgZXN0w6EgcGVybWl0aWRvIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgImFjZXNzbyBwYXJhIGVzY3JpdGEgYW8gc2V1IHRlcm1pbmFsIGVzdMOhIG5lZ2FkbyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvOiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gW2FycXVpdm9dXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICJDcmlhIHVtIHNjcmlwdC1ncmF2YWRvIGRlIHVtYSBzZXNzw6NvIGRlIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBhbmV4YSBhIHNhw61kYVxuIgorIiAtYywgLS1jb21tYW5kIDxjb21hbmRvPiAgICAgICBleGVjdXRhIGNvbWFuZG8gYW8gaW52w6lzIGRlIHNoZWxsIGludGVyYXRpdm9cbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0b3JuYSBjw7NkaWdvIGRlIHNhw61kYSBkbyBwcm9jZXNzbyBmaWxob1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBlc3ZhemlhIGFww7NzIGNhZGEgZ3JhdmHDp8Ojb1xuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2EgbyBhcnF1aXZvIGRlIHNhw61kYSBtZXNtbyBzZW5kbyB1bSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIHNlIG1hbnTDqW0gc2lsZW5jaW9zb1xuIgorIiAtdFs8YXJxdWl2bz5dLCAtLXRpbWluZ1s9PGFycXVpdm8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3N0cmEgZGFkb3MgZGUgdGVtcG8gcGFyYSBzdGRlcnIgb3UgcGFyYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvIGFycXVpdm8gZGFkb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisiYXJxdWl2byBkZSBzYcOtZGEgXCIlc1wiIMOpIHVtIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBzZSB2b2PDqiByZWFsbWVudGUgZGVzZWphIHVzw6EtbG8uXG4iCisiUHJvZ3JhbWEgbsOjbyBpbmljaWFkby4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNjcmlwdCBjb25jbHXDrWRvLCBvIGFycXVpdm8gw6kgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgbm8gYXJxdWl2byBkZSBzY3JpcHQiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZXNzw6NvIHRlcm1pbmFkYS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAiU2NyaXB0IGluaWNpYWRvIGVtICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiU2NyaXB0IGNvbmNsdcOtZG8gZW0gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBmYWxob3UiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJwdHkncyBpbnN1ZmljaWVudGVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgaW5pY2lhZG8sIG8gYXJxdWl2byDDqSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIgJXMgWy10XSBhcnF1aXZvLXRlbXBvIFtkYWRvcy1kaWdpdGFkb3NdIFtkaXZpc29yXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlJlcHJvZHV6IGRhZG9zIGRpZ2l0YWRvcyBkbyB0ZXJtaW5hbCwgdXNhbmRvIGluZm9ybWHDp8OjbyBkZSB0ZW1wby5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPGFycXVpdm8+ICBhcnF1aXZvIGRlIHNhw61kYSBkZSB0ZW1wbyBkbyBzY3JpcHRcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8YXJxdWl2bz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgYXJxdWl2byBkZSBzYcOtZGEgZGEgc2Vzc8OjbyBkZSB0ZXJtaW5hbCBkbyBzY3JpcHRcbiIKKyIgLWQsIC0tZGl2aXNvciA8bsO6bT4gICAgIGFjZWxlcmEgb3UgcmVkdXogYSBleGVjdcOnw6NvIGNvbSBkaXZpc29yIGRlIHRlbXBvXG4iCisiIC1tLCAtLW1heGRlbGF5IDxuw7ptPiAgICBlc3BlcmEgYXTDqSBlc3NlcyBtdWl0b3Mgc2VndW5kb3MgZW50cmUgYXR1YWxpemHDp8Ojb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMworbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgImdyYXZhw6fDo28gcGFyYSBhIHNhw61kYSBwYWRyw6NvIGZhbGhvdSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiZmltIGRlIGFycXVpdm8gaW5lc3BlcmFkbyBlbSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJmYWxoYSBhbyBsZXIgbyBhcnF1aXZvIGRlIGRhZG9zIGdyYXZhZG9zICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm7Dum1lcm8gaW5jb3JyZXRvIGRlIGFyZ3VtZW50b3MiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJmYWxoYSBhbyBsZXIgZG8gYXJxdWl2byBkZSB0ZW1wbyAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAiYXJxdWl2byBkZSB0ZW1wb3MgJXM6IGxpbmhhICVsdTogZm9ybWF0byBpbmVzcGVyYWRvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJlcnJvIGRlIGFyZ3VtZW50bzogc2VtIHN1cG9ydGUgYW8gYnJpbGhvICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSB0YWJ1bGHDp8O1ZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MgorbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICJEZWZpbmUgb3MgYXRyaWJ1dG9zIGRlIHVtIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA8bm9tZS10ZXJtaW5hbD4gICBzb2JyZXNjcmV2ZSB2YXJpw6F2ZWwgZGUgYW1iaWVudGUgVEVSTVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVpbmljaWEgbyB0ZXJtaW5hbCBwYXJhIG8gZXN0YWRvIGxpZ2Fkb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZWRlZmluZSBsaW5oYXMgZSBjb2x1bmFzIGRlIHRlcm1pbmFsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZXhpYmUgc3RyaW5nIGluaWNpYWwgZSB1c2EgY29uZnMgcGFkcsO1ZXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzYSBjb25maWd1cmHDp8O1ZXMgcGFkcsOjbyBkZSB0ZXJtaW5hbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FsdmEgY29uZnMgZGUgdGVybWluYWwgYXR1YWwgY29tbyBwYWRyw6NvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBleGliZSBvIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHJlcGV0acOnw6NvIGRlIHRlY2xhZG9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBtb2RvIGRlIGFwbGljYcOnw6NvIGRlIHRlY2xhIGRlIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIiCisiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51YSBlbSB1bWEgbm92YSBsaW5oYSBxdWFuZG8gYSBsaW5oYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXN0aXZlciBjaGVpYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgdHJvY2EgY29yZXMgcGFyYSBhIHRlbGEgaW50ZWlyYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29yPiAgICAgZGVmaW5lIGEgY29yIGRlIHRleHRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb3I+ICAgICBkZWZpbmUgYSBjb3JlIGRlIGZ1bmRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb3I+ICAgIGRlZmluZSBjb3IgZGUgdGV4dG8gc3VibGluaGFkb1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29yPiAgICBkZWZpbmUgYSBjb3IgZGUgdGV4dG8gZW0gbmVncml0b1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBuZWdyaXRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgcGlzY2FyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBwaXNjYXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICBzdWJsaW5oYWRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHRyb2NhIGFzIGNvcmVzIGRlIGZyZW50ZSBlIGZ1bmRvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgbGltcGEgYSB0ZWxhIGUgZGVmaW5lIGEgcG9zacOnw6NvIGRvIGN1cnNvclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIiCisiIC0tdGFicyAgICAgICAgICBbPG7Dum1lcm8+Li4uXSAgICAgZGVmaW5lIHBvc2nDp8OjbyBkZSBwYXJhZGEgZGVzc2FzIHRhYnVsYcOnw7Vlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91IG1vc3RyYS1hc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKyIgLS1jbHJ0YWJzICAgICAgIFs8bsO6bWVybz4uLi5dICAgICBkZWZpbmUgZXNzYXMgcG9zacOnw7VlcyBkZSBwYXJhZGEgZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJ1bGHDp8OjbyBvdSBtb3N0cmEtYXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKyIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIGRlZmluZSB1bSBpbnRlcnZhbG8gZGUgcGFyYWRhIGRlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFidWxhw6fDtWVzIHJlZ3VsYXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKyIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIGRlZmluZSB0ZW1wbyBkZSBpbmF0aXZpZGFkZSBhbnRlcyBkZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbXBhciBhIHRlbGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorIiAtLWR1bXAgICAgICAgICAgWzxuw7ptZXJvPl0gICAgICAgIGVzY3JldmUgZGVzcGVqbyBkbyBjb25zb2xlIHZjc2E8bsO6bWVybz5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJhIHVtIGFycXVpdm9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKyIgLS1hcHBlbmQgICAgICAgIFs8bsO6bWVybz5dICAgICAgICBhbmV4YSBkZXNwZWpvIGRvIGNvbnNvbGUgdmNzYTxuw7ptZXJvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmEgdW0gYXJxdWl2b1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxhcnF1aXZvPiAgICAgICAgbm9tZSBkbyBhcnF1aXZvIGRlIGRlc3Blam9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgZW52aWEgbWVuc2FnZW5zIGRvIGtlcm5lbCBwYXJhIG8gY29uc29sZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIG7DrXZlbCBkZSBsb2cgZGUgY29uc29sZSBkZSBrZXJuZWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZSByZWN1cnNvcyBkZSBlY29ub21pYSBkZSBlbmVyZ2lhIHZlc2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIiCisiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBkZWZpbmUgbyBpbnRlcnZhbG8gZGUgZGVzbGlnYW1lbnRvIHZlc2FcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbSBtaW51dG9zXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYcOnw6NvIGRvIGFwaXRvIGVtIG1pbGlzc2VndW5kb3NcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxuw7ptZXJvPiAgICAgICAgICBmcmVxdcOqbmNpYSBkZSBhcGl0byBlbSBIZXJ0elxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzEKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAidXNvIGR1cGxpY2FkbyBkZSB1bWEgb3DDp8OjbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBmb3LDp2FyIHZhemlvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgZm9yw6dhciBuw6NvIHZhemlvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NTEKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAibsOjbyDDqSBwb3Nzw612ZWwgb2J0ZXIgc3RhdHVzIHZhemlvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGFycXVpdm8gZGUgZGVzcGVqbyAlcyBwYXJhIHNhw61kYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRlcm1pbmFsICVzIG7Do28gb2ZlcmVjZSBzdXBvcnRlIGEgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgInNlbGXDp8OjbyBmYWxob3UiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgInN0ZGluIG7Do28gZmF6IHJlZmVyw6puY2lhIGEgdW0gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgInBvc2nDp8OjbyBkZSBjdXJzb3IgaW52w6FsaWRhOiAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCittc2dpZCAicmVzZXQgZmFpbGVkIgorbXNnc3RyICJyZWRlZmluacOnw6NvIGZhbGhvdSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJuw6NvIMOpIHBvc3PDrXZlbCBhbHRlcmFyIG8gZXN0YWRvIGRvIG1vZG8gZGUgY29uc2VydmHDp8OjbyBkZSBlbmVyZ2lhIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJlcnJvIG5vIGtsb2djdGwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIG7Do28gZXN0w6EgZGVmaW5pZGEuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTUzCittc2dpZCAidGVybWluZm8gZGF0YWJhc2UgY2Fubm90IGJlIGZvdW5kIgorbXNnc3RyICJPIGJhbmNvIGRlIGRhZG9zIGRlIHRlcm1pbmZvIG7Do28gcMO0ZGUgc2VyIGxvY2FsaXphZG8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IHRpcG8gZGUgdGVybWluYWwgZGVzY29uaGVjaWRvIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU3Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIm8gdGVybWluYWwgw6kgdW0gXCJoYXJkLWNvcHlcIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgImVycm8gaW50ZXJubzogaW92J3MgZW0gZXhjZXNzbyIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJsaW5oYSBkZSBhcmd1bWVudG9zIGxvbmdhIGRlbWFpcyIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbiBmYWlsZWQiCittc2dzdHIgImFiZXJ0dXJhIGZhbGhvdSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgImZvcms6ICVtIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHJlYWxpemFyIGZvcmsiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogRVJSTyBSVUlNLCBtZW5zYWdlbSDDqSBsb25nYSBkZW1haXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWzxhcnF1aXZvPiB8IDxtZW5zYWdlbT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiRXNjcmV2ZSB1bWEgbWVuc2FnZW0gcGFyYSB0b2RvcyBvcyB1c3XDoXJpb3MuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3J1cG8+ICAgICBzw7MgZW52aWEgbWVuc2FnZW0gYW8gZ3J1cG9cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgbsOjbyBtb3N0cmEgbyBiYW5uZXIsIGZ1bmNpb25hIGFwZW5hcyBwYXJhIHJvb3RcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltZW91dCA8dGVtcG8tbGltaXRlPiBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgZXNjcmV2ZSBvIHRlbXBvIGxpbWl0ZSBlbSBzZWd1bmRvc1xuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjIKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIGdydXBvIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlczogZ2lkIGRlc2NvbmhlY2lkbyIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgImdldGdyb3VwbGlzdCBsb2NhbGl6b3UgbWFpcyBncnVwb3MgZG8gcXVlIHN5c2NvbmYgcGVybWl0ZSIKKworIzogdGVybS11dGlscy93YWxsLmM6MjEzCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiLS1ub2Jhbm5lciBlc3TDoSBkaXNwb27DrXZlbCBhcGVuYXMgcGFyYSBvIHJvb3QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIGRlIHRlbXBvIGxpbWl0ZTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIG8gdWlkIGRlIHBhc3N3ZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIG8gbm9tZSBkbyB0dHkiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIk1lbnNhZ2VtIGRlIGJyb2FkY2FzdCBkZSAlc0AlcyAoJXMpICglcyk6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIm7Do28gc2Vyw6EgcG9zc8OtdmVsIGxlciAlcyAtIHVzZSBhIGVudHJhZGEgcGFkcsOjby4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSA8dXN1w6FyaW8+IFs8bm9tZS10dHk+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIkVudmlhIHVtYSBtZW5zYWdlbSBwYXJhIG91dHJvIHVzdcOhcmlvLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgImdpZCBlZmV0aXZvIG7Do28gY29ycmVzcG9uZGUgYW8gZ3J1cG8gZGUgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiIKK21zZ3N0ciAiJXMgbsOjbyBlc3TDoSBjb25lY3RhZG8iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciBvIG5vbWUgZGUgc2V1IHR0eSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiVzIGVzdMOhIGNvbSBtZW5zYWdlbnMgZGVzYXRpdmFkYXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyBlc3TDoSBjb25lY3RhZG8gbWFpcyBkZSB1bWEgdmV6OyBlc2NyZXZlbmRvIHBhcmEgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhcmVmdWxwdXRjIGZhbGhvdSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJNZW5zYWdlbSBkZSAlc0AlcyAoY29tbyAlcykgZW0gJXMgZW0gJTAyZDolMDJkIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVuc2FnZW0gZGUgJXNAJXMgZW0gJXMgZW0gJTAyZDolMDJkIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMAorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAidm9jw6ogbsOjbyBlc3TDoSBjb20gcGVybWlzc8O1ZXMgZGVzYXRpdmFkYXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiJXMgbsOjbyBlc3TDoSBjb25lY3RhZG8gZW0gJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIlcyBlc3TDoSBjb20gbWVuc2FnZW5zIGRlc2FiaWxpdGFkYXMgZW0gJXMiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM1Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIkZpbHRyYSBzYWx0b3MgZGUgbGluaGEgcmV2ZXJzb3MuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisiXG4iCisiT3DDp8O1ZXM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgbsOjbyBtb3N0cmEgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdGUgYXZhbsOnbyBkZSBtZXRhZGUgZGFzIGxpbmhhc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3NhIHNlcXXDqm5jaWEgZGUgY29udHJvbGUgZGVzY29uaGVjaWRhXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydGUgZXNwYcOnb3MgcGFyYSB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydGUgdGFidWxhw6fDtWVzIHBhcmEgZXNwYcOnb3NcbiIKKyIgLWwsIC0tbGluZXMgTsOaTSAgICAgICAgYXJtYXplbmEgcGVsbyBtZW5vcyBOw5pNIGxpbmhhc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1MSB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzIGzDqiBkYSBlbnRyYWRhIHBhZHLDo28gZSBlc2NyZXZlIHBhcmEgYSBzYcOtZGEgcGFkcsOjb1xuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxNQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRvIGludsOhbGlkbyBkZSAtbCIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgImF2aXNvOiBuw6NvIMOpIHBvc3PDrXZlbCBmYXplciBjw7NwaWEgZGUgc2VndXJhbsOnYSBkZSAlcy4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICJhbMOpbSBkYSBwcmltZWlyYSBsaW5oYSIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0gbGluaGEgasOhIGRlc2NhcnJlZ2FkYSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFs8YXJxdWl2bz4uLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODUKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiRmlsdHJhIHNhw61kYSBkZSBucm9mZiBwYXJhIHZpc3VhbGl6YcOnw6NvIGVtIENSVC5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHJpbWUgdG9kb3Mgb3Mgc3VibGluaGFkb3NcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgZXhpYmUgdG9kYXMgYXMgc2VtaWxpbmhhc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJVc286XG4iCisiICVzIFtjb2wtaW5pY2lhbCBbY29sLWZpbmFsXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIkZpbHRyYSBhcyBjb2x1bmFzIGVzcGVjaWZpY2FkYXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAicHJpbWVpcm8gYXJndW1lbnRvIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJzZWd1bmRvIGFyZ3VtZW50byIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyMzUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBhIGNvbHVuYSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIm5vbWUgZGUgY29sdW5hIGluZGVmaW5pZGEgXCIlc1wiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIGEgbGlzdGEgZGUgLS10YWJsZS1vcmRlciIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1yaWdodCBsaXN0IgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBhIGxpc3RhIGRlIC0tdGFibGUtcmlnaHQiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtdHJ1bmMgbGlzdCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgYSBsaXN0YSBkZSAtLXRhYmxlLXRydW5jIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBhIGxpc3RhIGRlIC0tdGFibGUtbm9leHRyZW1lIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiZmFsaGEgYW8gYW5hbGlzYXIgYSBsaXN0YSBkZSAtLXRhYmxlLXdyYXAiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtaGlkZSBsaXN0IgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBhIGxpc3RhIGRlIC0tdGFibGUtaGlkZSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICJsaW5oYSAlenU6IHBhcmEgSlNPTiBvIG5vbWUgZGEgY29sdW5hICV6dSDDqSBuZWNlc3PDoXJpbyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGRhdGEiCittc2dzdHIgImZhbGhhIGFvIGFsb2NhciBkYWRvcyBkZSBzYcOtZGEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICJMaXN0YXMgZGUgY29sdW5hcy5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyaWEgdW1hIHRhYmVsYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tdGFibGUtbmFtZSA8bm9tZT4gICAgICAgICAgbm9tZSBkYSB0YWJlbGEgcGFyYSBzYcOtZGEgSlNPTlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MgorbXNnaWQgIiAtTywgLS10YWJsZS1vcmRlciA8Y29sdW1ucz4gICAgICBzcGVjaWZ5IG9yZGVyIG9mIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS10YWJsZS1vcmRlciA8Y29sdW5hcz4gICAgICBlc3BlY2lmaWNhIGEgb3JkZW0gZGUgY29sdW5hcyBkZSBzYcOtZGFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5vbWVzPiAgICAgIG5vbWVzIGRlIGNvbHVuYXMgc2VwYXJhZGFzIHBvciB2w61yZ3VsYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVuYXM+ICBuw6NvIGNvbnRhIHRleHRvIGxvbmdvcyBkZSBjb2x1bmFzIHBhcmFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsYXJndXJhIGRlIGNvbHVuYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIG7Do28gZXhpYmUgY2FiZcOnYWxob3NcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDYKK21zZ2lkICIgLWUsIC0tdGFibGUtaGVhZGVyLXJlcGVhdCAgICAgICAgcmVwZWF0IGhlYWRlciBmb3IgZWFjaCBwYWdlXG4iCittc2dzdHIgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBldGUgbyBjYWJlw6dhbGhvIGRlIGNhZGEgcMOhZ2luYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW5hcz4gICAgICAgbsOjbyBleGlnZSBhcyBjb2x1bmFzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVuYXM+ICAgICAgYWxpbmhhIHRleHRvIMOgIGRpcmVpdGEgbmVzdGVzIGNvbHVuYXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVuYXM+ICAgdHJ1bmNhIHRleHRvIG5hcyBjb2x1bmFzIHF1YW5kbyBuZWNlc3PDoXJpb1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MAorbXNnaWQgIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVuYXM+ICAgICAgIHF1ZWJyYSBsaW5oYSBuYXMgY29sdW5hcyBxdWFuZG8gbmVjZXNzw6FyaW9cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTEKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCBmb3IgdGFibGVcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHVzYSBvIGZvcm1hdG8gZGUgc2HDrWRhIEpTT04gcGFyYSB0YWJlbGFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIgorIiAtciwgLS10cmVlIDxjb2x1bmE+ICAgICAgICAgICAgICBjb2x1bmEgcGFyYSB1c2FyIGEgc2HDrWRhIHRpcG8gw6Fydm9yZSBwYXJhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSB0YWJlbGFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTUKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIiCisiIC1pLCAtLXRyZWUtaWQgPGNvbHVuYT4gICAgICAgICAgIElEIGRlIGxpbmhhIHBhcmEgZXNwZWNpZmljYXIgYSByZWxhw6fDo29cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxoby1wYWlcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW5hPiAgICAgICBwYWkgcGFyYSBlc3BlY2lmaWNhciByZWxhw6fDo28gZmlsaG8tcGFpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tb3V0cHV0LXdpZHRoIDxsYXJndXJhPiAgICAgbGFyZ3VyYSBkYSBzYcOtZGEgZW0gbsO6bWVybyBkZSBjYXJhY3RlcmVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDx0ZXh0bz4gICBzZXBhcmFkb3IgZGUgY29sdW5hcyBwYXJhIHNhw61kYSBkZSB0YWJlbGFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocGFkcsOjbyDDqSBkb2lzIGVzcGHDp29zKVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPHRleHRvPiAgICAgICAgICBkZWxpbWl0YWRvcmVzIGRlIHRhYmVsYSBwb3Nzw612ZWlzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgcHJlZW5jaGUgbGluaGFzIGFudGVzIGRlIGNvbHVuYXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3MzEKK21zZ2lkICJpbnZhbGlkIGNvbHVtbnMgYXJndW1lbnQiCittc2dzdHIgImFyZ3VtZW50byBpbnbDoWxpZG8gZGUgY29sdW5hcyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3NTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIG5hbWVzIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBvcyBub21lcyBkZSBjb2x1bmEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgImFzIG9ww6fDtWVzIC0tdHJlZS1pZCBlIC0tdHJlZS1wYXJlbnQgc8OjbyBleGlnaWRhcyBwYXJhIGZvcm1hdGHDp8OjbyBlbSDDoXJ2b3JlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxOQorbXNnaWQgIm9wdGlvbiAtLXRhYmxlIHJlcXVpcmVkIGZvciBhbGwgLS10YWJsZS0qIgorbXNnc3RyICJvcMOnw6NvIC0tdGFibGUgZXhpZ2lkYSBwYXJhIHRvZGFzIC0tdGFibGUtKiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIm9ww6fDo28gLS10YWJsZS1jb2x1bW5zIGV4aWdpZGEgcGFyYSAtLWpzb24iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPGFycXVpdm8+Li4uXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OQorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJFeGliZSBjb250ZcO6ZG9zIGRlIGFycXVpdm8gZW0gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsIG91IEFTQ0lJLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIHZpc3VhbGl6YcOnw6NvIG9jdGFsIGRlIHVtIGJ5dGVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgdmlzdWFsaXphw6fDo28gZGUgY2FyYWN0ZXJlIGRlIHVtIGJ5dGVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY0Cittc2dpZCAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCittc2dzdHIgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIHZpc3VhbGl6YcOnw6NvIGRlIGhleCtBU0NJSSBjYW7DtG5pY29cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHZpc3VhbGl6YcOnw6NvIGRlIGRlY2ltYWwgZGUgZG9pcyBieXRlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHZpc3VhbGl6YcOnw6NvIGRlIG9jdGFsIGRlIGRvaXMgYnl0ZXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB2aXN1YWxpemHDp8OjbyBkZSBoZXhhZGVjaW1hbCBkZSBkb2lzIGJ5dGVzXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bW9kbz5dICAgICAgaW50ZXJwcmV0YSBlc3BlY2lmaWNhZG9yZXMgZGUgZm9ybWF0YcOnw6NvIGRlIGNvclxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXRvPiAgICB0ZXh0byBkZSBmb3JtYXRvIGEgc2VyIHVzYWRvIHBhcmEgZXhpYmlyIGRhZG9zXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisiIC1mLCAtLWZvcm1hdC1maWxlIDxhcnF1aXZvPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycXVpdm8gcXVlIGNvbnTDqW0gdGV4dG9zIGRlIGZvcm1hdG9zXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDxuw7ptPiAgICAgICAgaW50ZXJwcmV0YSBhcGVuYXMgbsO6bS4gYnl0ZXMgZGUgZW50cmFkYVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPG7Dum0+ICAgICAgICAgIGlnbm9yYSBuw7ptIGJ5dGVzIGEgcGFydGlyIGRvIGluw61jaW9cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBtb3N0cmEgbGluaGFzIGlkw6pudGljYXNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJ0b2RvcyBvcyBhcmd1bWVudG9zIGRlIGFycXVpdm8gZGUgZW50cmFkYSBmYWxoYXJhbSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJjb250YWdlbSBkZSBieXRlcyBpbnbDoWxpZGEgcGFyYSBjYXJhY3RlcmUgZGUgY29udmVyc8OjbyAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIHJlcXVlciB1bWEgcHJlY2lzw6NvIG91IHVtYSBjb250YWdlbSBkZSBieXRlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJmb3JtYXRvIGludsOhbGlkbyB7JXN9IgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAiY2FyYWN0ZXJlIGRlIGNvbnZlcnPDo28gaW52w6FsaWRvICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImNvbnRhZ2VtIGRlIGJ5dGVzIGNvbSBtw7psdGlwbG9zIGNhcmFjdGVyZXMgZGUgY29udmVyc8OjbyIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICJMw6ogdW1hIGxpbmhhLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJVbSBmaWx0cm8gcGFyYSBsZWl0dXJhIGF0ZW5jaW9zYSBkZSBhcnF1aXZvcyBwYXJhIHZpc3VhbGl6YcOnw6NvIGVtIENSVC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICBleGliZSBhanVkYSBhbyBpbnbDqXMgZGUgYXBpdGFyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgbMOzZ2ljYSBkZSBjb250YWdlbSBhbyBpbnbDqXMgZGUgbGluaGFzIGRlIHRlbGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgc3VwcmltZSBwYXVzYSBhcMOzcyBxdWVicmEgZGUgcMOhZ2luYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgIG7Do28gdXNhIHNjcm9sbCwgZXhpYmUgdGV4dG8gZSBsaW1wYSBmaW5zIGRlIGxpbmhhc1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgIG7Do28gdXNhIHNjcm9sbCwgbGltcGEgdGVsYSBlIGV4aWJlIHRleHRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MworbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAtcyAgICAgICAgICBjb21wYWN0YSBsaW5oYXMgdmF6aWFzIG3Dumx0aXBsYXMgZW0gdW1hXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NAorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLXUgICAgICAgICAgc3VwcmltZSBzdWJsaW5oYWRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08bsO6bWVybz4gICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkZSBsaW5oYXMgcG9yIHRlbGFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzxuw7ptZXJvPiAgIGV4aWJlIG8gYXJxdWl2byBjb21lw6dhbmRvIGRhIGxpbmhhIG7Dum1lcm8gTlVNXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIgKy88dGV4dG8+ICAgZXhpYmUgYXJxdWl2byBjb21lw6dhbmRvIGRvIHRleHRvIGRlIHBlc3F1aXNhIGNvcnJlc3BvbmRlbnRlXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIm9ww6fDo28gZGVzY29uaGVjaWRhIC0lcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogZGlyZXTDs3JpbyAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTsOjbyDDqSB1bSBhcnF1aXZvIGRlIHRleHRvICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW1VzZSBxIG91IFEgcGFyYSBzYWlyXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLU1haXMtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKFByw7N4aW1vIGFycXVpdm86ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW1ByZXNzaW9uZSBlc3Bhw6dvIHBhcmEgY29udGludWFyLCBcInFcIiBwYXJhIHNhaXIuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE4MworIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLnZvbHRhICVkIHDDoWdpbmEiCittc2dzdHJbMV0gIi4uLnZvbHRhICVkIHDDoWdpbmFzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi5wdWxhbmRvICVkIGxpbmhhIgorbXNnc3RyWzFdICIuLi5wdWxhbmRvICVkIGxpbmhhcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipWb2x0YXIqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI4NAorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiTmVuaHVtYSBleHByZXNzw6NvIHJlZ3VsYXIgYW50ZXJpb3IiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisiQSBtYWlvcmlhIGRvcyBjb21hbmRvcyBvcGNpb25hbG1lbnRlIHPDo28gcHJlY2VkaWRvcyBwb3IgdW0gYXJndW1lbnRvIGludGVpcm8gay5cbiIKKyJPIHBhZHLDo28gw6kgY29sY2hldGVzLiBBc3RlcmlzY28gKCopIGluZGljYSBvIGFyZ3VtZW50byBub3ZvIHBhZHLDo28uXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMjEKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8ZXNwYcOnbz4gICAgICAgICAgICAgICAgRXhpYmUgYXMgcHLDs3hpbWFzIGsgbGluaGFzIGRlIHRleHRvIFtlc3Bhw6dvIGRhIHRlbGFdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRXhpYmUgYXMgcHLDs3hpbWFzIGsgbGluaGFzIGRlIHRleHRvIFtlc3Bhw6dvIGRhIHRlbGFdKlxuIgorIjxlbnRlcj4gICAgICAgICAgICAgICAgIEV4aWJlIGFzIHByw7N4aW1hcyBsIGxpbmhhcyBkZSB0ZXh0byBbMV0qXG4iCisiZCBvdSBjdHJsLUQgICAgICAgICAgICAgRGVzY2UgayBsaW5oYXMgW3RhbWFuaG8gZGUgc2Nyb2xsIGF0dWFsLCBpbmljaWEgZW0gMTFdKlxuIgorInEgb3UgUSBvdSA8aW50ZXJydXDDp8Ojbz4gU2FpIGRvIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBQdWxhIGsgbGluaGFzIGRlIHRleHRvIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFB1bGEgayB0ZWxhcyBkZSB0ZXh0byBbMV1cbiIKKyJiIG91IGN0cmwtQiAgICAgICAgICAgICBQdWxhIHBhcmEgdHLDoXMgayB0ZWxhcyBkZSB0ZXh0byBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBWYWkgcGFyYSBvIGx1Z2FyIG9uZGUgYSBwZXNxdWlzYSBhbnRlcmlvciBzZSBpbmljaW91XG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRXhpYmUgbyBuw7ptZXJvIGRlIGxpbmhhIGF0dWFsXG4iCisiLzxleHByZXNzw6NvIHJlZ3VsYXI+ICAgIFBlc3F1aXNhIHBlbGEgay3DqXNpbWEgb2NvcnLDqm5jaWEgZGEgZXhwcmVzc8OjbyBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBQZXNxdWlzYSBwZWxhIGstw6lzaW1hIG9jb3Jyw6puY2lhIGRhIMO6bHRpbWEgZXhwLiBbMV1cbiIKKyIhPGNtZD4gb3UgOiE8Y21kPiAgICAgICBFeGVjdXRhIDxjbWQ+IGVtIHVtIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgSW5pY2lhIG8gL3Vzci9iaW4vdmkgbmEgbGluaGEgYXR1YWxcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRlc2VuaGEgYSB0ZWxhXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgVmFpIHBhcmEgbyBrLcOpc2ltYSBwcsOzeGltbyBhcnF1aXZvIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIFZhaSBwYXJhIG8gay3DqXNpbWEgYXJxdWl2byBhbnRlcmlvciBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBFeGliZSBvIG7Dum1lcm8gZGEgbGluaGEgZSBvIG5vbWUgZG8gYXJxdWl2byBhdHVhbFxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGV0ZSBvIGNvbWFuZG8gYW50ZXJpb3JcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM5NCB0ZXh0LXV0aWxzL21vcmUuYzoxNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbUHJlc3Npb25lIFwiaFwiIHBhcmEgb2J0ZXIgaW5zdHJ1w6fDtWVzLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIlwiJXNcIiBsaW5oYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW07Do28gw6kgdW0gYXJxdWl2b10gbGluaGEgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgRXN0b3Vyb1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTY0Cittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4ucHVsYW5kb1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQYWRyw6NvIG7Do28gZW5jb250cmFkb1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIlBhZHLDo28gbsOjbyBlbmNvbnRyYWRvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAiZXhlYyBmYWxob3VcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHJlYWxpemFyIGZvcmtcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi5QdWxhbmRvICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi5QdWxhbmRvIHBhcmEgYXJxdWl2byAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDYKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi5QdWxhbmRvIGRlIHZvbHRhIHBhcmEgYXJxdWl2byAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJMaW5oYSBsb25nYSBkZW1haXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMzIKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICJOw6NvIGjDoSBjb21hbmRvIGFudGVyaW9yIHBhcmEgc2VyIHN1YnN0aXR1w61kbyIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICBlc3NhIHRlbGFcbiIKKyIgIHEgb3UgUSAgICAgICAgICAgICAgICAgIHNhaSBkbyBwcm9ncmFtYVxuIgorIiAgPG5vdmFsaW5oYT4gICAgICAgICAgICAgcHLDs3hpbWEgcMOhZ2luYVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgcHVsYSB1bWEgcMOhZ2luYSBwYXJhIGZyZW50ZVxuIgorIiAgZCBvdSBeRCAgICAgICAgICAgICAgICAgcHLDs3hpbWEgbWVpYSBww6FnaW5hXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBwcsOzeGltYSBsaW5oYVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgw7psdGltYSBww6FnaW5hXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBwZXNxdWlzYSBwYXJhIGZyZW50ZSBwZWxhIGV4cHJlc3PDo28gcmVndWxhclxuIgorIiAgP3JlZ2V4PyBvdSBecmVnZXheICAgICAgcGVzcXVpc2EgcGFyYSB0csOhcyBwZWxhIGV4cHJlc3PDo28gcmVndWxhclxuIgorIiAgLiBvdSBeTCAgICAgICAgICAgICAgICAgcmVkZXNlbmhhIGEgdGVsYVxuIgorIiAgdyBvdSB6ICAgICAgICAgICAgICAgICAgZGVmaW5lIG8gdGFtYW5obyBkYSBww6FnaW5hIGUgdmFpIHBhcmEgYSBwcsOzeGltYVxuIgorIiAgcyBhcnF1aXZvICAgICAgICAgICAgICAgc2FsdmEgbyBhcnF1aXZvIGF0dWFsIHBhcmEgbyBhcnF1aXZvIGluZm9ybWFkb1xuIgorIiAgIWNvbWFuZG8gICAgICAgICAgICAgICAgZXNjYXBhIHBhcmEgbyBzaGVsbFxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgdmFpIHBhcmEgbyBhcnF1aXZvIGFudGVyaW9yXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICB2YWkgcGFyYSBvIHByw7N4aW1vIGFycXVpdm9cbiIKKyJcbiIKKyJNdWl0b3MgY29tYW5kb3MgYWNlaXRhbSBzZXIgcHJlY2VkaWRvcyBwb3IgbsO6bWVyb3MsIHBvciBleGVtcGxvOlxuIgorIisxPG5vdmFsaW5oYT4gKHByw7N4aW1hIHBnLik7IC0xPG5vdmFsaW5oYT4gKHBnLiBhbnRlcmlvcik7IDE8bm92YWxpbmhhPiAocHJpbWVpcmEgcGcuKS5cbiIKKyJcbiIKKyJWZWphIHBnKDEpIHBhcmEgbWFpcyBpbmZvcm1hw6fDo28uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW29ww6fDtWVzXSBbK2xpbmhhXSBbKy9wYWRyw6NvL10gW2FycXVpdm9zXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiTmF2ZWdhIHDDoWdpbmEgcG9yIHDDoWdpbmEgZW0gYXJxdWl2b3MgdGV4dG9zLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIgLW7Dum1lcm8gICAgICBsaW5oYXMgcG9yIHDDoWdpbmFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOQorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgbGltcGEgdGVsYSBhbnRlcyBkZSBleGliaS1sYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQwCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgLWUgICAgICAgICAgIG7Do28gcGF1c2EgYW8gZmluYWwgZGUgdW0gYXJxdWl2b1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIG7Do28gZGl2aWRlIGxpbmhhcyBsb25nYXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIHRlcm1pbmEgdW0gY29tYW5kbyBjb20gbm92YSBsaW5oYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIgLXAgPHByb21wdD4gIGVzcGVjaWZpY2EgbyBwcm9tcHRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiAtciAgICAgICAgICAgdmVkYSBvIGVzY2FwZSBwYXJhIHNoZWxsXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIGV4aWJlIG1lbnNhZ2VucyBwYXJhIGEgc2HDrWRhIHBhZHLDo29cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICtuw7ptZXJvICAgICAgaW5pY2lhIG5hIGxpbmhhIGluZm9ybWFkYVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiICsvcGFkcsOjby8gICAgaW5pY2lhIG5hIGxpbmhhIGNvbnRlbmRvIG8gcGFkcsOjb1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiYSBvcMOnw6NvIHJlcXVlciB1bSBhcmd1bWVudG8gLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgImEgb3DDp8OjbyDDqSBpbGVnYWwgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLnB1bGFuZG8gcGFyYSBmcmVudGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLnB1bGFuZG8gcGFyYSB0csOhc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg1Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICJOZW5odW0gcHLDs3hpbW8gYXJxdWl2byIKKworIzogdGV4dC11dGlscy9wZy5jOjM4OQorbXNnaWQgIk5vIHByZXZpb3VzIGZpbGUiCittc2dzdHIgIk5lbmh1bSBhcnF1aXZvIGFudGVyaW9yIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICJFcnJvIGFvIGxlciBkbyBhcnF1aXZvICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIkZpbSBkZSBhcnF1aXZvIGluZXNwZXJhZG8gbm8gYXJxdWl2byAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIkVycm8gZGVzY29uaGVjaWRvIG5vIGFycXVpdm8gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgdW0gYXJxdWl2byB0ZW1wb3LDoXJpbyIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIkVycm8gUkU6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJOZW5odW0gdGV4dG8gZGUgcGVzcXVpc2EgZ3VhcmRhZG8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICJzYWx2byIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIWNvbWFuZG8gbsOjbyBwZXJtaXRpZG8gbm8gbW9kbyByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIGZhbGhvdSwgdGVudGUgbm92YW1lbnRlIG1haXMgdGFyZGVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NzUKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIihQcsOzeGltbyBhcnF1aXZvOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIFRvZG9zIG9zIGRpcml0b3MgcmVzZXJ2YWRvcy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICJmYWxoYSBhbyBhbmFsaXNhciBuw7ptZXJvIGRlIGxpbmhhcyBwb3IgcMOhZ2luYSIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiVXNvOiAlcyBbb3DDp8O1ZXNdIFthcnF1aXZvIC4uLl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiSW52ZXJ0ZSBsaW5oYXMgY2FyYWN0ZXJlIGEgY2FyYWN0ZXJlLlxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIFs8YXJxdWl2bz4gLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ1Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIlN1YmxpbmhhIG8gdGV4dG8uXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBzb2JyZXNjcmV2ZSBhIHZhcmnDoXZlbCBkZSBhbWJpZW50ZSBURVJNXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBzdWJsaW5oYWRvIMOpIGluZGljYWRvIGNvbSBsaW5oYSBzZXBhcmFkYVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJwcm9ibGVtYXMgbmEgbGVpdHVyYSBkZSB0ZXJtaW5mbyIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgIm8gdGVybWluYWwgXCIlc1wiIG7Do28gw6kgY29uaGVjaWRvLCB1c2FuZG8gbyBwYWRyw6NvIFwiZHVtYlwiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgInNlcXXDqm5jaWEgZGUgZXNjYXBlIGRlc2NvbmhlY2lkbyBuYSBlbnRyYWRhOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiTGluaGEgZGUgZW50cmFkYSBtdWl0byBsb25nYS4iCisKKyN+IG1zZ2lkICJHZW9tZXRyeSIKKyN+IG1zZ3N0ciAiR2VvbWV0cmlhIgorCisjfiBtc2dpZCAia2luZCBvZiBsb2NrOiBGTF9GTE9DSyBvciBGTF9QT1NJWC4iCisjfiBtc2dzdHIgInRpcG8gZGUgdHJhdmE6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKKworI34gbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhciAvYmluL3Vtb3VudCBkZSBcIiVzXCIiCisKKyN+IG1zZ2lkICJzbGVlcGluZyB+JWQgdXNlY1xuIgorI34gbXNnc3RyICJkb3JtaW5kbyB+JWQgdXNlY1xuIgorCisjfiBtc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorI34gbXNnc3RyICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCisKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBleGliZSBtYWlzIGRldGFsaGVzIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgImZhbGhhIGFvIGxlciBkZTogJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBleGVjdXRhcjogJXMiCisKKyN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorI34gbXNnc3RyICJzZW0gc3Vwb3J0ZSBhbyBhbGdvcml0bW86ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiAiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXNvOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2Rpc3Bvc2l0aXZvc11cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGNvbWFuZG9zIGRpc3Bvc2l0aXZvc1xuIgorI34gIlxuIgorI34gIkNvbWFuZG9zIGRpc3BvbsOtdmVpczpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkNvbHVuYXMgZGlzcG9uw612ZWlzIChwYXJhIC1vKTpcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgImVycm8gZGUgcHJvY3VyYSBlbSAlcyIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIGV4aWJlIGluZm9ybWHDp8O1ZXMgZGEgdmVyc8OjbyBlIHNhaTtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgLVYsIGNvbW8gLS12ZXJzaW9uLCBkZXZlIHNlciBhIMO6bmljYSBvcMOnw6NvXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29sdW5hcyBkaXNwb27DrXZlaXMgKHBhcmEgLS1zaG93LCAtLXJhdyBvdSAtLXBhaXJzKTpcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgbW9zdHJhIGluZm9ybWHDp8O1ZXMgZGEgdmVyc8OjbyBlIHNhaVxuIgorCisjfiBtc2dpZCAiVHJ5ICclcyAtaCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlRlbnRlIFwiJXMgLWhcIiBwYXJhIG1haXMgaW5mb3JtYcOnw7Vlcy5cbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorCisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtViwgLS12ZXJzaW9uICBtb3N0cmEgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKworI34gbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXUsIC0taGVscCAgICAgZXhpYmUgZXN0YSBtZW5zYWdlbSBkZSBhanVkYSBlIHNhaVxuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiTmVuaHVtIHNoZWxsIGNvbmhlY2lkby4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb2x1bmFzIGRpc3BvbsOtdmVpczpcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtvcMOnw7Vlc10gLXUgPHVzdcOhcmlvPiBbWy0tXSA8Y29tYW5kbz5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDb2x1bmFzIGRpc3BvbsOtdmVpcyAocGFyYSAtLW91dHB1dCk6XG4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlRlbnRlIFwiJXMgLS1oZWxwXCIgcGFyYSBtYWlvcmVzIGluZm9ybWHDp8O1ZXMuXG4iCisKKyN+IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICBnZXJhIHVtIHV1aWQgYmFzZWFkbyBlbSBhbGVhdG9yaWVkYWRlXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgZ2VyYSB1bSB1dWlkIGJhc2VhZG8gZW0gdGVtcG9cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBleGliZSBpbmZvcm1hw6fDo28gZGUgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGV4aWJlIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyN+ICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgIGFwYWdhIHRvZG9zIG9zIHRleHRvcyBtw6FnaWNvcyAoVEVOSEEgQ1VJREFETyEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JpYSB1bWEgYXNzaW5hdHVyYSBiYWNrdXAgZW0gJEhPTUVcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3LDp2EgbyBhcGFnYW1lbnRvXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgbW9zdHJhIGVzc2UgdGV4dG8gZGUgYWp1ZGFcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICBmYXogdHVkbywgZXhjZXRvIGEgcmVhbCBjaGFtYWRhIGRlIHdyaXRlKClcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxuw7ptPiAgcG9zacOnw6NvIHBhcmEgYXBhZ2FyLCBlbSBieXRlc1xuIgorI34gIiAtcCwgLS1wYXJzYWJsZSAgICAgIGV4aWJlIGVtIGZvcm1hdG8gYW5hbGlzw6F2ZWwgYW8gaW52w6lzIGRlIGltcHJpbcOtdmVsXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcmltZSBhcyBtZW5zYWdlbnMgZGUgc2HDrWRhXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0YT4gbGltaXRhIG8gY29uanVudG8gZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3MsIFJBSURzIG91XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgdGFiZWxhcyBkZSBwYXJ0acOnw6NvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIGRlIHZlcnPDo28gZSBzYWlcbiIKKworI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKKyN+IG1zZ3N0ciAiT3MgcmVnaXN0cmFkb3JlcyBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBjb250w6ptIHZhbG9yZXMgaW52w6FsaWRvcyAoZXguOiA1MMK6IGRpYSBkbyBtw6pzKSBvdSBhbMOpbSBkbyBpbnRlcnZhbG8gcXVlIHBvZGVtb3MgbWFuaXB1bGFyIChleC46IGFubyAyMDk1KS4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICJPIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIG7Do28gY29udMOpbSB1bWEgaG9yYSB2w6FsaWRhLiBFbSBmdW7Dp8OjbyBkaXNzbywgbsOjbyDDqSBwb3Nzw612ZWwgY29uZmlndXJhciBhIGhvcmEgZG8gc2lzdGVtYSBhIHBhcnRpciBkZWxlLiIKKworI34gbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisjfiBtc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyN+IG1zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKKyN+IG1zZ3N0ciAiw4kgbmVjZXNzw6FyaW8gc2VyIHN1cGVydXN1w6FyaW8gcGFyYSBhanVzdGFyIG8gcmVsw7NnaW8gZG8gc2lzdGVtYS4iCisKKyN+IG1zZ2lkICJcdFVUQzogJXNcbiIKKyN+IG1zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyN+IG1zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorI34gbXNnc3RyICJPIGZhdG9yIGRlIHZhcmlhw6fDo28gbsOjbyBlc3TDoSBzZW5kbyBhanVzdGFkbyBwb3JxdWUgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBjb250aW5oYSBsaXhvIGFudGVyaW9ybWVudGUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGVzdCBtb2RlOiAlcyB3YXMgbm90IHVwZGF0ZWQgd2l0aDpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAiIgorI34gIk1vZG8gdGVzdGU6ICVzIG7Do28gZXN0w6EgYXR1YWxpemFkbyBjb206XG4iCisjfiAiJXMiCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBhcnF1aXZvIGNvbSBvcyBwYXLDom1ldHJvcyBkZSBhanVzdGUgZG8gcmVsw7NnaW8gKCVzKSBwYXJhIGdyYXZhw6fDo28iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhdHVhbGl6YXIgbyBhcnF1aXZvIGNvbSBvcyBwYXLDom1ldHJvcyBkZSBhanVzdGUgZG8gcmVsw7NnaW8gKCVzKSIKKworI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIlBhcsOibWV0cm9zIGRlIGFqdXN0ZSBkZSB2YXJpYcOnw6NvIG7Do28gYXR1YWxpemFkb3MuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAiTyByZWzDs2dpbyBkZSBoYXJkd2FyZSBuw6NvIGNvbnTDqW0gdW1hIGhvcmEgdsOhbGlkYSwgbsOjbyBzZW5kbyBwb3Nzw612ZWwgYWp1c3TDoS1sby4iCisKKyN+IG1zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiRW0gJWxkIHNlZ3VuZG9zIGFww7NzIDE5NjksIG8gUlRDIMOpIHByZXZpc3RvIHBhcmEgbGVyICVsZCBzZWd1bmRvcyBhcMOzcyAxOTY5LlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgY29uZmlndXJhciBvIHZhbG9yIGRlIGVwb2NoIG5vIGtlcm5lbC4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIk8ga2VybmVsIGVzdMOhIHByZXNzdXBvbmRvIHVtIHZhbG9yIGRlIGVwb2NoIGRlICVsdVxuIgorCisjfiBtc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKKyN+IG1zZ3N0ciAiUGFyYSBjb25maWd1cmFyIG8gdmFsb3IgZGUgZXBvY2gsIMOpIG5lY2Vzc8OhcmlvIHVzYXIgYSBvcMOnw6NvIFwiZXBvY2hcIiBwYXJhIGluZm9ybWFyIHBhcmEgcXVlIHZhbG9yIGNvbmZpZ3Vyw6EtbG8uIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiRXBvY2ggbsOjbyBjb25maWd1cmFkbyBwYXJhICVsdTsgYXBlbmFzIHRlc3RhbmRvLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgY29uZmlndXJhciBvIHZhbG9yIGRlIGVwb2NoIG5vIGtlcm5lbC5cbiIKKworI34gbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCisjfiBtc2dzdHIgIkNvbnN1bHRhIG91IGRlZmluZSBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlLlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgLS1nZXQgICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCBkcmlmdCBjb3JyZWN0ZWQgcmVzdWx0XG4iCisjfiAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgbW9zdHJhIGVzc2UgdGV4dG8gZGUgYWp1ZGEgZSBzYWlcbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgbMOqIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGUgbW9zdHJhIG8gcmVzdWx0YWRvXG4iCisjfiAiICAgICAtLWdldCAgICAgICAgICAgIGzDqiByZWzDs2dpbyBkZSBoYXJkd2FyZSBlIG1vc3RyYSBvIHJlc3VsdGFkbyBkYVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHZhcmlhw6fDo28gY29ycmlnaWRhXG4iCisjfiAiICAgICAtLXNldCAgICAgICAgICAgIGRlZmluZSBvIFJUQyBwYXJhIG8gaG9yw6FyaW8gZGFkbyBjb20gLS1kYXRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICBkZWZpbmUgbyBob3LDoXJpbyBkZSBzaXN0ZW1hIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIGRlZmluZSBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGRvIGhvcsOhcmlvIGRlIHNpc3RlbWFcbiIKKyN+ICIgICAgIC0tc3lzdHogICAgICAgICAgZGVmaW5lIG8gaG9yw6FyaW8gZGUgc2lzdGVtYSBiYXNlYWRvIG5vIGZ1c28gaG9yw6FyaW9cbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgYWp1c3RhIG8gUlRDIHBhcmEgbGV2YXIgZW0gY29udGEgYSBkaWZlcmVuY2lhw6fDo29cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBzaXN0ZW3DoXRpY2EgasOhIHF1ZSBvIHJlbMOzZ2lvIGZvaSBvIMO6bHRpbW8gYSBzZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBkZWZpbmlkbyBvdSBhanVzdGFkb1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIG1vc3RyYSBvIHZhbG9yIGRlIGVwb2NoIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGRvIGhlcm5lbFxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBkZWZpbmUgbyB2YWxvciBkZSBlcG9jaCBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBkbyBrZXJuZWxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBwYXJhIG8gdmFsb3IgZGFkbyBjb20gYSBvcMOnw6NvIC0tZXBvY2hcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIHByZXbDqiBvIFJUQyBsZW5kbyBubyBob3LDoXJpbyBkYWRvIGNvbSAtLWRhdGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIMOpIG1hbnRpZG8gZW0gVVRDXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgw6kgbWFudGlkbyBubyBob3LDoXJpbyBsb2NhbFxuIgorCisjfiBtc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZiwgLS1ydGMgPGFycXVpdm8+IGFycXVpdm8gZXNwZWNpYWwgL2Rldi8uLi4gcGFyYSB1c2FyIGVtIHZleiBkbyBwYWRyw6NvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNlc3NhIG8gYmFycmFtZW50byBJU0EgZGlyZXRhbWVudGUgZW0gdmV6IGRlICVzXG4iCisjfiAiICAgICAtLWRhdGUgPGhvcsOhcmlvPiBlc3BlY2lmaWNhIG8gaG9yw6FyaW8gcGFyYSBkZWZpbmlyIG8gcmVsw7NnaW8gZGUgaGFyZHdhcmVcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgYXR1YWxpemEgbyBmYXRvciBlbSAlMSRzIChyZXF1ZXIgLS1zZXQgb3VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAtLXN5c3RvaGMpXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgIG7Do28gYWNlc3NhICUxJHM7IGlzc28gZXhpZ2UgbyB1c28gZGUgLS11dGMgb3VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgLS1hZGpmaWxlIDxhcnF1aXZvPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBlc3BlY2lmaWNhIG8gY2FtaW5obyBwYXJhIG8gYXJxdWl2byBkZSBhanVzdGU7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgbyBwYWRyw6NvIMOpICUxJHNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgYXR1YWxpemEgbmFkYSwgYXBlbmFzIG1vc3RyYSBvIHF1ZSBhY29udGVjZXJpYVxuIgorI34gIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBtb2RvIGRlIGRlcHVyYcOnw6NvXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorI34gbXNnc3RyICJhcmd1bWVudG8gaW52YcyBbGlkbyBkZSBlcG9jaCIKKworI34gbXNnaWQgInJvb3QgcHJpdmlsZWdlcyBtYXkgYmUgcmVxdWlyZWQiCisjfiBtc2dzdHIgInByaXZpbMOpZ2lvcyBkZSByb290IHBvZGVtIHNlciBleGlnaWRvcyIKKworI34gbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorI34gbXNnc3RyICIlcyBuw6NvIHBvc3N1aSBmdW7Dp8O1ZXMgZGUgaW50ZXJydXDDp8Ojby4gIgorCisjfiBtc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCisjfiBtc2dzdHIgImlvY3RsKCkgcGFyYSAlcyBwYXJhIGxpZ2FyIGludGVycnVww6fDtWVzIGRlIGF0dWFsaXphw6fDo28gZmFsaG91IGluZXNwZXJhZGFtZW50ZSIKKworI34gbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZS4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCisjfiBtc2dzdHIgIlBhcmEgbWFuaXB1bGFyIG8gdmFsb3IgZGUgZXBvY2ggbm8ga2VybmVsLCDDqSBuZWNlc3PDoXJpbyBhY2Vzc2FyIG8gZHJpdmVyIGRlIGRpc3Bvc2l0aXZvIFwicnRjXCIgZG8gTGludXgsIGF0cmF2w6lzIGRvIGFycXVpdm8gZGUgZGlzcG9zaXRpdm8gZXNwZWNpYWwuIE5vIGVudGFudG8sIGVzc2UgYXJxdWl2byBuw6NvIGV4aXN0ZSBuZXN0ZSBzaXN0ZW1hLiIKKworI34gbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorI34gbXNnc3RyICJuw7NzIGxlbW9zIGVwb2NoICVsdSBkZSAlcyBjb20gaW9jdGwgUlRDX0VQT0NIX1JFQUQuXG4iCisKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICJPIHZhbG9yIGRlIGVwb2NoIG7Do28gcG9kZSBzZXIgbWVub3IgcXVlIDE5MDAuICBWb2PDqiBzb2xpY2l0b3UgJWxkIgorCisjfiBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnc3RyICJjb25maWd1cmFuZG8gZXBvY2ggY29tbyAlbHUgY29tIGlvY3RsIFJUQ19FUE9DSF9TRVQgcGFyYSAlcy5cbiIKKworI34gbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisjfiBtc2dzdHIgIk8gZHJpdmVyIGRlIGRpc3Bvc2l0aXZvIGRvIGtlcm5lbCBwYXJhICVzIG7Do28gcG9zc3VpIG8gaW9jdGwgUlRDX0VQT0NIX1NFVC4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiJXNcbiIKKyN+ICJUZW50ZSBcIiVzIC0taGVscFwiIHBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLiIKKworI34gbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIlV0aWxpemUgXCIlcyAtLWhlbHBcIiBwYXJhIG1haXMgaW5mb3JtYcOnw7Vlcy4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ29sdW5hcyBkaXNwb27DrXZlaXMgKHBhcmEgLS1zaG93KTpcbiIKKworI34gbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorI34gbXNnc3RyICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBmYXogbyBkcml2ZXIgY29uZmlhciBubyBpcnFcbiIKKworI34gbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgbW9zdHJhIGluZm9ybWHDp8OjbyBzb2JyZSBhIHZlcnPDo28gZSBzYWlcbiIKKworI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgbW9zdHJhIGluZm9ybWHDp8OjbyBzb2JyZSBhIHZlcnPDo28gZSBzYWlcbiIKKworI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBtb3N0cmEgZXN0YSBhanVkYSBlIHNhaVxuIgorCisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYgICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw7VlcyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisKKyN+IG1zZ2lkICJEZXZpY2UgJXMgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCisjfiBtc2dzdHIgIk8gZGlzcG9zaXRpdm8gJXMgasOhIGNvbnTDqW0gdW1hIGFzc2luYXR1cmEgJXMuIgorCisjfiBtc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCisjfiBtc2dzdHIgIiVzOiBlc3NhcyBvcMOnw7VlcyBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZhczoiCisKKyN+IG1zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gbXNnc3RyICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBwZXNxdWlzYSBuYSB0YWJlbGEgZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3MgbW9udGFkb3NcbiIKKworI34gbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorI34gbXNnc3RyICJTdXNwZW5kZSBhY2Vzc28gYSB1bSBzaXN0ZW1hIGRlIGFycXVpdm9zIChleHQzLzQsIFJlaXNlckZTLCBKRlMgZSBYRlMpLlxuIgorCisjfiBtc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIlJlbMOzZ2lvIG7Do28gYWx0ZXJhZG8gLSBhcGVuYXMgdGVzdGFuZG8uXG4iCisKKyN+IG1zZ2lkICJObyAtLWRhdGUgb3B0aW9uIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIk5lbmh1bWEgb3DDp8OjbyAtLWRhdGUgZXNwZWNpZmljYWRhLiIKKworI34gbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiQXJndW1lbnRvIC0tZGF0ZSBtdWl0byBsb25nbyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyN+ICJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorI34gbXNnc3RyICIiCisjfiAiTyB2YWxvciBkYSBvcMOnw6NvIC0tZGF0ZSBuw6NvIMOpIHVtYSBkYXRhIHbDoWxpZGEuXG4iCisjfiAiRXNwZWNpZmljYW1lbnRlLCBlbGUgY29udMOpbSBhc3Bhcy4iCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAiRW1pdGluZG8gY29tYW5kbyBkYXRlOiAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGV4ZWN1dGFyIG8gcHJvZ3JhbWEgXCJkYXRlXCIgbm8gc2hlbGwgL2Jpbi9zaDogcG9wZW4oKSBmYWxob3UiCisKKyN+IG1zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCisjfiBtc2dzdHIgInJlc3Bvc3RhIGRvIGNvbWFuZG8gZGF0ZSA9ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAiTyBjb21hbmRvIGRhdGUgZW1pdGlkbyBwb3IgJXMgcmV0b3Jub3UgcmVzdWx0YWRvcyBpbmVzcGVyYWRvcy5cbiIKKyN+ICJPIGNvbWFuZG8gZm9pOlxuIgorI34gIiAgJXNcbiIKKyN+ICJBIHJlc3Bvc3RhIGZvaTpcbiIKKyN+ICIgICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPIGNvbWFuZG8gZGF0ZSBlbWl0aWRvIHBvciAlcyByZXRvcm5vdSB1bSB2YWxvciBkaWZlcmVudGUgZGUgdW0gaW50ZWlybyBvbmRlIG8gdmFsb3IgZGUgaG9yYSBjb252ZXJ0aWRvIGVyYSBlc3BlcmFkby5cbiIKKyN+ICJPIGNvbWFuZG8gZm9pOlxuIgorI34gIiAgJXNcbiIKKyN+ICJBIHJlc3Bvc3RhIGZvaTpcbiIKKyN+ICIgICVzXG4iCisKKyN+IG1zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCisjfiBtc2dzdHIgIlN0cmluZyBkZSBkYXRlICVzIGVxdWl2YWxlIGEgJWxkIHNlZ3VuZG9zIGRlc2RlIDE5NjkuXG4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiTyByZWzDs2dpbyBkbyBzaXN0ZW1hIG7Do28gZXN0w6Egc2VuZG8gYWp1c3RhZG8gcG9ycXVlIGVzdGF2YSBleGVjdXRhbmRvIGVtIG1vZG8gZGUgdGVzdGUuXG4iCisKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICJPIGFycXVpdm8gYWRqdGltZSBuw6NvIGVzdMOhIHNlbmRvIGF0dWFsaXphZG86IG1vZG8gZGUgdGVzdGUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJUZXJpYSBncmF2YWRvIG8gc2VndWludGUgZW0gJXM6XG4iCisjfiAiJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJPIGtlcm5lbCBtYW50w6ltIHVtIHZhbG9yIGRlIGVwb2NoIHBhcmEgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBzb21lbnRlIGVtIHVtYSBtw6FxdWluYSBBbHBoYS5cbiIKKyN+ICJFc3RhIGPDs3BpYSBkZSBod2Nsb2NrIGZvaSBjb21waWxhZGEgcGFyYSB1bWEgbcOhcXVpbmEgZGlmZXJlbnRlIGRlIEFscGhhXG4iCisjfiAiKGUsIGFzc2ltLCBzdXDDtWUtc2UgcXVlIG7Do28gZXN0w6Egc2VuZG8gZXhlY3V0YWRhIGVtIHVtYSBBbHBoYSBubyBtb21lbnRvKS4gTmVuaHVtYSBhw6fDo28gZm9pIHJlYWxpemFkYS4iCisKKyN+IG1zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWMsIC0tY29tcGFyZSAgICAgICAgY29tcGFyYSBwZXJpb2RpY2FtZW50ZSBvIHJlbMOzZ2lvIGRvIHNpc3RlbWEgY29tIG9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgcmVsw7NnaW8gZGEgQ01PU1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorI34gIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNlc3NvIGRpcmV0byBhbyBiYXJyYW1lbnRvIElTQSBlbSB2ZXogZGUgJXNcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JhIG8gYW5vIGRvIFJUQyBwb3JxdWUgYSBCSU9TIGVzdMOhIGRlZmVpdHVvc2FcbiIKKyN+ICIgICAgIC0tZGF0ZSA8aG9yw6FyaW8+IGVzcGVjaWZpY2EgbyBob3LDoXJpbyBwYXJhIG8gcXVhbCBzZSBkZWZpbmlyw6Egb1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHJlbMOzZ2lvIGRlIGhhcmR3YXJlXG4iCisjfiAiICAgICAtLWVwb2NoIDxhbm8+ICAgIGVzcGVjaWZpY2EgbyBhbm8gcXVlIMOpIG8gY29tZcOnbyBkbyB2YWxvciBkZSBlcG9jaCBkZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHJlbMOzZ2lvIGRlIGhhcmR3YXJlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisjfiAiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIGluZm9ybWEgYW8gaHdjbG9jayBvIHRpcG8gZGUgYWxmYSBxdWUgdm9jw6ogdGVtIChjb25zdWx0ZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIkRlc2N1bHBlLCBhcGVuYXMgbyBzdXBlcnVzdcOhcmlvIHBvZGUgdXNhciBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlLiIKKworI34gbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorI34gbXNnc3RyICIlcyBuw6NvIGFjZWl0YSBhcmd1bWVudG9zIHF1ZSBuw6NvIHNlamFtIGRlIG9ww6fDo28uIFZvY8OqIGZvcm5lY2V1ICVkLlxuIgorCisjfiBtc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCisjfiBtc2dzdHIgIk5lbmh1bWEgaG9yw6FyaW8gdXRpbGl6w6F2ZWwuIE7Do28gZm9pIHBvc3PDrXZlbCBjb25maWd1cmFyIG8gcmVsw7NnaW8uIgorCisjfiBtc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorI34gbXNnc3RyICJpbmljaWFsaXphw6fDo28gZG8gTUlMT1xuIgorCisjfiBtc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiUmVsw7NnaW8gQkNEIFJ1ZmZpYW5cbiIKKworI34gbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCisjfiBtc2dzdHIgInBvcnRhIGRvIHJlbMOzZ2lvIGFqdXN0YWRhIHBhcmEgMHgleFxuIgorCisjIFF1YWwgYSBtZWxob3IgdHJhZHXDp8Ojbz8gVE9ZIMOpICJ0aW1lIG9mIHllYXIiCisjfiBtc2dpZCAiZnVua3kgVE9ZIVxuIgorI34gbXNnc3RyICJmdW5reSBUT1khXG4iCisKKyN+IG1zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorI34gbXNnc3RyICIlcyBhdMO0bWljbyBmYWxob3UgcG9yIDEwMDAgaXRlcmHDp8O1ZXMhIgorCisjfiBtc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NfcmVhZCgpOiBncmF2YcOnw6NvIHBhcmEgY29udHJvbGUgZGUgZW5kZXJlw6dvICVYIGZhbGhvdSIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiByZWFkIGZyb20gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCk6IGxlaXR1cmEgZGUgZW5kZXJlw6dvIGRlIGRhZG9zICVYIGZhbGhvdSIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc193cml0ZSgpOiBncmF2YcOnw6NvIHBhcmEgY29udHJvbGUgZGUgZW5kZXJlw6dvICVYIGZhbGhvdSIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc193cml0ZSgpOiBncmF2YcOnw6NvIGRlIGRhZG9zIGRlIGVuZGVyZcOnbyAlWCBmYWxob3UiCisKKyN+IG1zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCisjfiBtc2dzdHIgIkV1IGZhbGhlaSBlbSBvYnRlciBwZXJtaXNzw6NvIHBvcnF1ZSBuw6NvIHRlbnRlaS4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGFjZXNzbyBhIHBvcnRhIEUvUzogYSBjaGFtYWRhIGlvcGwoMykgZmFsaG91LiIKKworI34gbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKKyN+IG1zZ3N0ciAiUHJvdmF2ZWxtZW50ZSBzw6NvIG5lY2Vzc8OhcmlvcyBwcml2aWzDqWdpb3MgZGUgcm9vdC5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorI34gbXNnc3RyICJmYWxoYSBhbyBpbmljaWFsaXphciBsaW5oYSBkYSBzYcOtZGEiCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgImVycm86IG7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyIG1hbmlwdWxhZG9yIGRlIHNpbmFsIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHJlc3RhdXJhciBtYW5pcHVsYWRvciBkZSBzaW5hbCIKKworI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgImFwZW5hcyBvIHJvb3QgcG9kZSBtb250YXIgJXMgZW0gJXMiCisKKyN+IG1zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIiVzIMOpIHVzYWRvIGNvbW8gbG9vcCBzb21lbnRlIGxlaXR1cmE7IG1vbnRhbmRvIGNvbW8gc29tZW50ZSBsZWl0dXJhIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorI34gIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisjfiAiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogbWFpcyBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBkZXRlY3RhZG9zLiBJc3NvIG7Do28gZGV2ZXJpYSBhY29udGVjZXIsXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dGlwbz4gcGFyYSBlc3BlY2lmaWNhciBleHBsaWNpdGFtZW50ZSBvIHRpcG8gZGUgc2lzdGVtYSBkZVxuIgorI34gIiAgICAgICBhcnF1aXZvcyBvdSB1c2Ugd2lwZWZzKDgpIHBhcmEgYXBhZ2FyIG8gZGlzcG9zaXRpdm8uIgorCisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBkZXRlcm1pbmFyIG8gdGlwbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIGUgbmVuaHVtIGZvaSBlc3BlY2lmaWNhZG8iCisKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgInZvY8OqIHByZWNpc2EgZXNwZWNpZmljYXIgbyB0aXBvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIm9yaWdlbSBkYSBtb250YWdlbSBuw6NvIGRlZmluaWRhIgorCisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IG1vbnRhZ2VtIGZhbGhvdSIKKworI34gbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBvIHNpc3RlbWEgZGUgYXJxdWl2b3MgbW9udG91LCBtYXMgbW91bnQoOCkgZmFsaG91IgorCisjfiBtc2dpZCAiJXMgaXMgYnVzeSIKKyN+IG1zZ3N0ciAiJXMgZXN0w6Egb2N1cGFkbyIKKworI34gbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIGrDoSBtb250YWRvIGVtICVzXG4iCisKKyN+IG1zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICIlcyBuw6NvIGVzdMOhIG1vbnRhZG8gb3Ugb3DDp8OjbyBpbnbDoWxpZGEiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorI34gIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChwYXJhIHbDoXJpb3Mgc2lzdGVtYXMgZGUgYXJxdWl2b3MgKGV4LjogbmZzLCBjaWZzKSB2b2PDqlxuIgorI34gIiAgICAgICBwb2RlIHByZWNpc2FyIGRlIHVtIHByb2dyYW1hIGF1eGlsaWFyIC9zYmluL21vdW50Ljx0aXBvPilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiICAgICAgIEVtIGFsZ3VucyBjYXNvcywgaW5mb3JtYcOnw7VlcyDDunRlaXMgc8OjbyBlbmNvbnRyYWRhcyBub1xuIgorI34gIiAgICAgICBzeXNsb2cgLSB0ZW50ZSBcImRtZXNnIHwgdGFpbFwiIG91IGFsZ28gYXNzaW0uXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgIm9ww6fDo28gXCIlY1wiIGRlc2NvbmhlY2lkYSIKKworI34gbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorI34gbXNnc3RyICIlczogdW1vdW50IGZhbGhvdSIKKworI34gbXNnaWQgIiIKKyN+ICIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisjfiAiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IGRpc3Bvc2l0aXZvIGVzdMOhIG9jdXBhZG8uXG4iCisjfiAiICAgICAgICAoRW0gYWxndW5zIGNhc29zLCBpbmZvcm1hw6fDtWVzIMO6dGVpcyBzb2JyZSBwcm9jZXNzb3NcbiIKKyN+ICIgICAgICAgICBxdWUgdXNhbSBvIGRpc3Bvc2l0aXZvIHPDo28gZW5jb250cmFkYXMgcG9yIGxzb2YoOClcbiIKKyN+ICIgICAgICAgICBvdSBmdXNlcigxKSkiCisKKyN+IG1zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCisjfiBtc2dzdHIgIiVzOiBwb250byBkZSBtb250YWdlbSBuw6NvIGVuY29udHJhZG8iCisKKyN+IG1zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCisjfiBtc2dzdHIgImxpbmhhICVkIMOpIGxvbmdhIGRlbWFpczsgYSBzYcOtZGEgc2FpcsOhIHRydW5jYWRhIgorCisjfiBtc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCisjfiBtc2dzdHIgImVzY3JpdGEgaW5jb21wbGV0YSBwYXJhIFwiJXNcIiAoZXNjcmV2ZXUgJXpkLCBlc3BlcmF2YS1zZSAlemQpXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhY29tcGFuaGFyIGlub3RpZnkgKGxpbWl0ZSBkZSBhY29tcGFuaGFtZW50b3MgZGUgaW5vdGlmeSBmb2kgYWxjYW7Dp2FkbykuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICIgJXMgW29ww6fDo29dIDxhcnF1aXZvPlxuIgorCisjfiBtc2dpZCAiRm9sbG93IHRoZSBncm93dGggb2YgYSBsb2cgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiU2VndWUgbyBjcmVzY2ltZW50byBkZSB1bSBhcnF1aXZvIGRlIGxvZy5cbiIKKworI34gbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorI34gbXNnc3RyICIgLW4sIC0tbGluZXMgPG7Dum1lcm8+ICAgZXhpYmUgYXMgw7psdGltYXMgPG7Dum1lcm8+IGxpbmhhc1xuIgorCisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIiAtPG7Dum1lcm8+ICAgICAgICAgICAgICBtZXNtbyBxdWUgXCItbiA8bsO6bWVybz5cIlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorI34gbXNnc3RyICJBdmlzbzogbyB1c28gZGUgXCJ0YWlsZlwiIGVzdMOhIG9ic29sZXRvLCB1c2UgXCJ0YWlsIC1mXCIgZW0gdmV6IGRpc3NvLlxuIgorCisjfiBtc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm5lbmh1bSBhcnF1aXZvIGRlIGVudHJhZGEgZXNwZWNpZmljYWRvIgorCisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgIiVzOiBuw6NvIMOpIHVtIGFycXVpdm8iCisKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAiUsOzdHVsbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zOiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgbyBQQVRIIgorCisjfiBtc2dpZCAiJWQiCisjfiBtc2dzdHIgIiVkIgorCisjfiBtc2dpZCAidXNlIG9mICdraWxsIC0tcGlkJyBvcHRpb24gYXMgY29tbWFuZCBuYW1lIGlzIGRlcHJlY2F0ZWQiCisjfiBtc2dzdHIgIm8gdXNvIGRhIG9ww6fDo28gXCJraWxsIC0tcGlkXCIgY29tbyBub21lIGRlIGNvbWFuZG8gZXN0w6Egb2Jzb2xldG8iCisKKyN+IG1zZ2lkICIlNGQtJS4yZC0lLjJkICUwMmQ6JTAyZDolMDJkLiUwNmxkJSswMmQ6JTAyZFxuIgorI34gbXNnc3RyICIlNGQtJS4yZC0lLjJkICUwMmQ6JTAyZDolMDJkLiUwNmxkJSswMmQ6JTAyZFxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJ2YWxvciBkZSB0ZW1wbyBsaW1pdGUgaW52w6FsaWRvOiAlcyIKKworI34gbXNnaWQgImV4cGVjdGVkIGEgbnVtYmVyLCBidXQgZ290ICclcyciCisjfiBtc2dzdHIgImVzcGVyYXZhIHVtIG7Dum1lcm8sIG1hcyBvYnRldmUgXCIlc1wiIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJkaXZpc29yIFwiJXNcIiIKKworI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiZXJybyBkZSBhcmd1bWVudG86ICVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgImNhbWluaG8gZG8gdHR5ICVzIMOpIGxvbmdvIGRlbWFpcyIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvIGVzcGVjaWFsIgorCisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlczogbyBkaXNwb3NpdGl2byBlc3TDoSBkZXNhbGluaGFkbyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJVbmlkYWRlIEM6IE9TLzIgZXNjb25kaWRhIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgIiVzOiBlcnJvIGRlIGFuw6FsaXNlIG5hIGxpbmhhICVkIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIiVzOiBmYWxoYSBhbyBvYnRlciBvIGNhbWluaG8gZG8gZGlzcG9zaXRpdm8iCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IG5vbWUgZGUgZGlzcG9zaXRpdm8gZGVzY29uaGVjaWRvIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZG0gbmFtZSIKKyN+IG1zZ3N0ciAiJXM6IGZhbGhhIGFvIG9idGVyIG5vbWUgZGUgZG0iCisKKyN+IG1zZ2lkICJ0aGUgc29ydCBjb2x1bW4gaGFzIHRvIGJlIGFtb25nIHRoZSBvdXRwdXQgY29sdW1ucyIKKyN+IG1zZ3N0ciAiYSBjb2x1bmEgb3JkZW5hZGEgdGVtIHF1ZSBlc3RhciBlbnRyZSBhcyBjb2x1bmFzIGRlIHNhw61kYS4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8Y2FtaW5obz4gICAgIGNhbWluaG8gcGFyYSBvIGFycXVpdm8gZGUgcGlkXG4iCisjfiAiIC1zLCAtLXNvY2tldCA8Y2FtaW5obz4gIGNhbWluaG8gcGFyYSBvIHNvcXVldGVcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VnPiAgICAgZXNwZWNpZmljYSBvIHRlbXBvIGxpbWl0ZSBkZSBpbmF0aXZpZGFkZVxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICBtYXRhIHVtIGRhZW1vbiBlbSBleGVjdcOnw6NvXG4iCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3RhIGEgZ2VyYcOnw6NvIGJhc2VhZGEgZW0gYWxlYXRvcmllZGFkZVxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0YSBhIGdlcmHDp8OjbyBiYXNlYWRhIGVtIHRlbXBvXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxuw7ptZXJvPiAgICByZXF1aXNpdGEgbyBuw7ptZXJvIGRlIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIG7Do28gY3JpYSB1bSBhcnF1aXZvIGRlIHBpZFxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBuw6NvIGRhZW1vbml6YSB1c2FuZG8gZm9yayBkdXBsb1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBuw6NvIGNyaWEgdW0gc29xdWV0ZSBkZWRpY2FkbyBwYXJhIG91dmlyXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGV4ZWN1dGEgbm8gbW9kbyBkZSBkZXB1cmHDp8Ojb1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBhdGl2YSBvIG1vZG8gcXVpZXRvLCBzaWxlbmNpb3NvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkZSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGV4aWJlIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBwb2xpY3kiCisjfiBtc2dzdHIgInBvbMOtdGljYSBkZSBhZ2VuZGFtZW50byBkZXNjb25oZWNpZGEiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxuw7ptPiAgcG9zacOnw6NvIGVtIGJ5dGVzIHBhcmEgZGVzY2FydGVcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxuw7ptPiAgY29tcHJpbWVudG8gZGUgYnl0ZXMgcGFyYSBkZXNjYXJ0YXIgZGEgcG9zacOnw6NvXG4iCisjfiAiIC1wLCAtLXN0ZXAgPG7Dum0+ICAgIHRhbWFuaG8gZGFzIGl0ZXJhw6fDtWVzIGRlIGRlc2NhcnRlIGF0w6kgYSBwb3Npw6fDo29cbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICByZWFsaXphIGRlc2NhcnRlIHNlZ3Vyb1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIG1vc3RyYSBwb3Npw6fDo28gZSBjb21wcmltZW50byBhbGluaGFkYVxuIgorCisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgIC4lMDZkIHNlZ3VuZG9zXG4iCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiJXM6IGVycm8gZGUgYW7DoWxpc2U6IGlnbm9yYW5kbyBlbnRyYWRhIG5hIGxpbmhhICVkLiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICJww6FnaW5hcyIKKworI34gbXNnaWQgImRpZmZlcmVudCIKKyN+IG1zZ3N0ciAiZGlmZXJlbnRlIgorCisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiaWd1YWwiCisKKyN+IG1zZ2lkICJNaW5pbWFsIHNpemUgaXMgJWp1IgorI34gbXNnc3RyICJUYW1hbmhvIG3DrW5pbW8gw6kgJWp1IgorCisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiUG9yIGZhdm9yLCBzZWxlY2lvbmUgdW0gdGlwbyBwYXJhIGNyaWFyIHVtIG5vdm8gcsOzdHVsbyBkZSBkaXNjby4iCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJUZWxhIGRlIGFqdWRhIGRvIGNmZGlzayIKKworI34gbXNnaWQgImRpc2sgZHJpdmUuIgorI34gbXNnc3RyICJkZSBkaXNjbyByw61naWRvLiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+IgorCisjfiBtc2dpZCAiQmFzZWQgb24gdGhlIG9yaWdpbmFsIGNmZGlzayBmcm9tIEtldmluIEUuIE1hcnRpbiAmIGFlYi4iCisjfiBtc2dzdHIgIkJhc2VhZG8gbm8gY2ZkaXNrIG9yaWdpbmFsIGRlIEtldmluIEUuIE1hcnRpbiAmIGFlYi4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgYG5vJyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIFwibsOjb1wiIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIkRpc3Bvc2l0aXZvIGFiZXJ0byBubyBtb2RvIHNvbWVudGUgbGVpdHVyYSIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29ww6fDtWVzXSBkaXNwb3NpdGl2b1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJvcMOnw7VlczpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICBkZXNhYmlsaXRhIGEgdmVyaWZpY2HDp8OjbyBhcMOzcyBhIGZvcm1hdGHDp8Ojb1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGV4aWJlIGluZm9ybWHDp8O1ZXMgZGEgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGV4aWJlIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKyN+ICJcbiIKKworIyBub3RhOiByZXN1bHRhZG8gZGUgdGVzdGUgZGUgc3RhdCgpICgnbWFuIDIgZnN0YXQnKQorI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJmYWxoYSBhbyBvYnRlciBlc3RhZG8gZG8gYXJxdWl2byAlcyIKKworI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIgLXYgIG1lbnNhZ2VucyBkZXRhbGhhZGFzXG4iCisKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiVXNvOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtYWlzIGluZm9ybWHDp8O1ZXMsIHZlamEgbWtmcyg4KS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJWZXJ5IGxvbmcgKCV6dSBieXRlcykgZmlsZW5hbWUgYCVzJyBmb3VuZC5cbiIKKyN+ICIgUGxlYXNlIGluY3JlYXNlIE1BWF9JTlBVVF9OQU1FTEVOIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuIgorI34gbXNnc3RyICIiCisjfiAiRW5jb250cmFkbyBub21lIGRlIGFycXVpdm8gbXVpdG8gZ3JhbmRlICglenUgYnl0ZXMpIHBhcmEgXCIlc1wiLlxuIgorI34gIiBQb3IgZmF2b3IsIGF1bWVudGUgTUFYX0lOUFVUX05BTUVMRU4gZW0gbWtjcmFtZnMuYyBlbSByZWNvbXBpbGUuIFNhaW5kby4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jIHwgLWwgZmlsZW5hbWVdIFstblhYXSBbLWlYWF0gL2Rldi9uYW1lIFtibG9ja3NdIgorI34gbXNnc3RyICJVc286ICVzIFstYyB8IC1sIG5vbWUtYXJxdWl2b10gWy1uWFhdIFstaVhYXSBkaXNwb3NpdGl2byBbYmxvY29zXSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXJzIHBhcmEgc3VwZXJibG9jb3MiCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgYWxvY2FyIGJ1ZmZlcnMgcGFyYSBtYXBhcyIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiBuw6NvIGZvaSBwb3Nzw612ZWwgYWxvY2FyIGJ1ZmZlcnMgcGFyYSBpbm9kZXMiCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAiJXM6IHRhbWFuaG8gZGUgaW5vZGUgaW52w6FsaWRvIgorCisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uIgorI34gbXNnc3RyICJUYW1hbmhvIGRlIGNhYmXDp2FsaG8gZGUgc3dhcCBpbnbDoWxpZG8sIG5lbmh1bSByw7N0dWxvIGdyYXZhZG8uIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAiZXJybyBkZSBidXNjYSBlbSAlcyAtIG7Do28gZm9pIHBvc3PDrXZlbCBidXNjYXIgYXTDqSAlbHUiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgImVycm8gZGUgYnVzY2E6IGRlc2VqYWRvIDB4JTA4eCUwOHgsIG9idGlkbyAweCUwOHglMDh4IgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJlcnJvIGRlIGxlaXR1cmEgZW0gJXMgLSBuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIG8gc2V0b3IgJWxsdSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZW0gJXMgLSBuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG5vIHNldG9yICVsbHUiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgbyBhcnF1aXZvIGRlIHNhbHZhbWVudG8gZGUgc2V0b3IgZGEgcGFydGnDp8OjbyAoJXMpIgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgImVycm8gZGUgZ3JhdmHDp8OjbyBlbSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG9idGVyIGVzdGFkbyBkbyBhcnF1aXZvIGRlIHJlc3RhdXJhw6fDo28gZGUgcGFydGnDp8OjbyAoJXMpIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgIm8gYXJxdWl2byBkZSByZXN0YXVyYcOnw6NvIGRhIHBhcnRpw6fDo28gcG9zc3VpIHRhbWFuaG8gaW5jb3JyZXRvIC0gbsOjbyByZXN0YXVyYW5kbyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYXJxdWl2byBkZSByZXN0YXVyYcOnw6NvIGRlIHBhcnRpw6fDo28gKCVzKSIKKworI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgImVycm8gbmEgbGVpdHVyYSBkZSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGRldmljZSAlcyBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gZGlzcG9zaXRpdm8gJXMgcGFyYSBncmF2YcOnw6NvIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJlcnJvIG5hIGdyYXZhw6fDo28gZG8gc2V0b3IgJWx1IGVtICVzIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiRGlzY28gJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBhIGdlb21ldHJpYSIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzY28gJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIHRhbWFuaG8iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc3RhcnQ9JWx1IC0gdGhpcyBsb29rcyBsaWtlIGEgcGFydGl0aW9uIHJhdGhlciB0aGFuXG4iCisjfiAidGhlIGVudGlyZSBkaXNrLiBVc2luZyBmZGlzayBvbiBpdCBpcyBwcm9iYWJseSBtZWFuaW5nbGVzcy5cbiIKKyN+ICJbVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiBpZiB5b3UgcmVhbGx5IHdhbnQgdGhpc10iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogaW7DrWNpbyA9ICAlbHUgLSBJc3RvIHBhcmVjZSBzZXIgdW1hIHBhcnRpw6fDo28gZSBuw6NvIG8gZGlzY29cbiIKKyN+ICJpbnRlaXJvLiBVc2FyIGZkaXNrIG5lbGEgcHJvdmF2ZWxtZW50ZSBuw6NvIHRyYXLDoSBxdWFscXVlciByZXN1bHRhZG9cbiIKKyN+ICJbdXNlIGEgb3DDp8OjbyAtLWZvcmNlIHNlIHJlYWxtZW50ZSBxdWlzZXIgcmVhbGl6YXIgZXN0YSBvcGVyYcOnw6NvXSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJBdmlzbzogSERJT19HRVRHRU8gaW5mb3JtYSBxdWUgaMOhICVsdSBjYWJlw6dhcyIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIkF2aXNvOiBIRElPX0dFVEdFTyBpbmZvcm1hIHF1ZSBow6EgJWx1IHNldG9yZXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiQXZpc286IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gaW5mb3JtYSBxdWUgaMOhICVsdSBjaWxpbmRyb3MiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogbsO6bWVybyBkZSBzZXRvcmVzIGltcHJvdsOhdmVsICglbHUpIC0gbm9ybWFsbWVudGUgbm8gbcOheGltbyA2My5cbiIKKyN+ICJJc3RvIGNhdXNhcsOhIHByb2JsZW1hcyBhIHRvZG8gc29mdHdhcmUgcXVlIHVzYXIgZW5kZXJlw6dhbWVudG8gQ2lsL0NhYi9TZXRvci4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXM6ICVsdSBjaWxpbmRyb3MsICVsdSBjYWJlw6dhcywgJWx1IHNldG9yZXMvdHJpbGhhXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgZGEgcGFydGnDp8OjbyAlcyBwb3NzdWkgdmFsb3IgaW1wb3Nzw612ZWwgcGFyYSBjYWJlw6dhOiAlbHUgKGRldmVyaWEgZXN0YXIgZW50cmUgMCBlICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyBkYSBwYXJ0acOnw6NvICVzIHBvc3N1aSB2YWxvciBpbXBvc3PDrXZlbCBwYXJhIHNldG9yOiAlbHUgKGRldmVyaWEgZXN0YXIgZW50cmUgMSBlICVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyBkYSBwYXJ0acOnw6NvICVzIHBvc3N1aSB2YWxvciBpbXBvc3PDrXZlbCBwYXJhIG8gY2lsaW5kcm86ICVsdSAoZGV2ZXJpYSBlc3RhciBlbnRyZSAwIGUgJWx1KSIKKworI34gbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSAuLi5cbiIKKyN+IG1zZ3N0ciAiUmVsZW5kbyBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIC4uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJPIGNvbWFuZG8gcGFyYSByZWxlciBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIGZhbGhvdS5cbiIKKyN+ICJFeGVjdXRlIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG91IHJlaW5pY2llIG8gc2V1XG4iCisjfiAic2lzdGVtYSBhZ29yYSwgYW50ZXMgZGUgdXNhciBvIG1rZnMiCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJFcnJvIG5vIGZlY2hhbWVudG8gZGUgJXMiCisKKyN+IG1zZ2lkICIlczogbm8gc3VjaCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IHBhcnRpw6fDo28gaW5leGlzdGVudGVcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICJmb3JtYXRvIG7Do28gcmVjb25oZWNpZG8gLSB1c2FuZG8gc2V0b3JlcyIKKworI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgImZvcm1hdG8gbsOjbyBpbXBsZW1lbnRhZG8gLSB1c2FuZG8gJXMiCisKKyN+IG1zZ2lkICJzZWN0b3JzIgorI34gbXNnc3RyICJzZXRvcmVzIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVW5pZGFkZXM6IGNpbGluZHJvcyBkZSAlbHUgYnl0ZXMsIGJsb2NvcyBkZSAxMDI0IGJ5dGVzLCBjb250YW5kbyBkZSAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgICBEaXNwICBCb290IEluw61jaW8gICAgRmltICAgI2NpbHMgICAgI2Jsb2NvcyAgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbmlkYWRlczogc2V0b3JlcyBkZSA1MTIgYnl0ZXMsIGNvbnRhbmRvIGEgcGFydGlyIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICAgRGlzcCAgQm9vdCAgICBJbsOtY2lvICAgICAgRmltICAgI3NldG9yZXMgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVbmlkYWRlczogYmxvY29zIGRlIDEwMjQgYnl0ZXMsIGNvbnRhbmRvIGRlICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICAgRGlzcCAgQm9vdCAgICBJbsOtY2lvICAgICAgRmltICAgI2Jsb2NvcyAgSWQgIFNpc3RlbWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVuaWRhZGVzOiAxIE1CID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9jb3MgZGUgMTAyNCBieXRlcywgY29udGFuZG8gZGUgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgRW5kICAgIE1pQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICAgRGlzcCAgQm9vdCBJbsOtY2lvICBGaW0gICAgIE1CICAgICNibG9jb3MgICBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0aW7DrWNpbzogKGNpbCxjYWIsc2V0KSBlc3BlcmFkbyAoJWxkLCVsZCwlbGQpIGVuY29udHJhZG8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGZpbTogKGNpbCxjYWIsc2V0KSBlc3BlcmFkbyAoJWxkLCVsZCwlbGQpIGVuY29udHJhZG8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICJhIHBhcnRpw6fDo28gdGVybWluYSBubyBjaWxpbmRybyAlbGQsIGFsw6ltIGRvIGZpbmFsIGRvIGRpc2NvXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiQXZpc286IGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gcGFyZWNlIHRlciBzaWRvIGZlaXRhXG4iCisjfiAiIHBhcmEgQ2lsL0NhYi9TZXQgPSAqLyVsZC8lbGQgKGVtIHZleiBkZSAlbGQvJWxkLyVsZCkuXG4iCisjfiAiUGFyYSBlc3RhIGxpc3RhZ2VtIHNlcsOhIHByZXN1bWlkYSBhcXVlbGEgZ2VvbWV0cmlhLiIKKworI34gbXNnaWQgIm5vIHBhcnRpdGlvbiB0YWJsZSBwcmVzZW50IgorI34gbXNnc3RyICJuZW5odW1hIHRhYmVsYSBkZSBwYXJ0acOnw6NvIHByZXNlbnRlIgorCisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb24gZGVmaW5lZCIKKyN+IG1zZ2lkX3BsdXJhbCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHJbMF0gImVzdHJhbmhvLCBzb21lbnRlICVkIHBhcnRpw6fDo28gZXN0w6EgZGVmaW5pZGEiCisjfiBtc2dzdHJbMV0gImVzdHJhbmhvLCBzb21lbnRlICVkIHBhcnRpw6fDtWVzIGVzdMOjbyBkZWZpbmlkYXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBwb3NzdWkgdGFtYW5obyAwLCBtYXMgbsOjbyBlc3TDoSBtYXJjYWRhIGNvbW8gdmF6aWEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkF2aXNvOiBhIHBhcnRpw6fDo28gJXMgcG9zc3VpIHRhbWFuaG8gMCBlIMOpIGluaWNpYWxpesOhdmVsIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIkF2aXNvOiBhIHBhcnRpw6fDo28gJXMgcG9zc3VpIHRhbWFuaG8gMCBlIGluw61jaW8gZGlmZXJlbnRlIGRlIHplcm8iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJBdmlzbzogYXMgcGFydGnDp8O1ZXMgJXMgZSAlcyBzb2JyZXDDtWUtc2UiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGNvbnRhaW5zIHBhcnQgb2YgdGhlIHBhcnRpdGlvbiB0YWJsZSAoc2VjdG9yICVsbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWQiCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogYSBwYXJ0acOnw6NvICVzIGNvbnTDqW0gdW1hIHBhcnRlIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIChzZXRvciAlbGx1KSxcbiIKKyN+ICJlIHZhaSBkZXN0cnXDrS1sYSBxdWFuZG8gcHJlZW5jaGlkYSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkF2aXNvOiBhIHBhcnRpw6fDo28gJXMgY29tZcOnYSBubyBzZXRvciAwIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBzZSBlc3RlbmRlIGFsw6ltIGRvIGZpbSBkbyBkaXNjbyIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gIndoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSAlbGx1IGJ5dGVzIGxpbWl0IGltcG9zZWRcbiIKKyN+ICJieSB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3IgJWQtYnl0ZSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBwb3NzdWkgdGFtYW5obyAlZC4lZCBUQiAoJWxsdSBieXRlcyksXG4iCisjfiAibyBxdWUgw6kgbWFpb3IgZG8gcXVlIG8gbGltaXRlIGRlICVsbHUgYnl0ZXMgaW1wb3N0b1xuIgorI34gInBlbGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gRE9TIGRvcyBzZXRvcmVzIGRlICVkIGJ5dGVzIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBjb21lw6dhIG5vIHNldG9yICVsbHUgKCVkLiVkIFRCIHBhcmEgc2V0b3JlcyBkZSAlZCBieXRlcyksXG4iCisjfiAibyBxdWUgZXhjZWRlIG8gbGltaXRlIGRhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIERPUyBkb3MgJWxsdSBzZXRvcmVzIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIkRlbnRyZSBhcyBwYXJ0acOnw7VlcyBwcmltw6FyaWFzLCBwZWxvIG1lbm9zIHVtYSBwb2RlIHNlciBlc3RlbmRpZGFcbiIKKyN+ICIgKGFwZXNhciBkZSBxdWUgaXNzbyBuw6NvIMOpIHVtIHByb2JsZW1hIG5vIExpbnV4KSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJBdmlzbzogYSBwYXJ0acOnw6NvICVzIG7Do28gaW5pY2lhIGVtIHVtIGxpbWl0ZSBkZSBjaWxpbmRybyIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQXZpc286IGEgcGFydGnDp8OjbyAlcyBuw6NvIHRlcm1pbmEgZW0gdW0gbGltaXRlIGRlIGNpbGluZHJvIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogbWFpcyBkZSB1bWEgcGFydGnDp8OjbyBwcmltw6FyaWEgZXN0w6EgbWFyY2FkYSBjb21vIGluaWNpYWxpesOhdmVsIChhdGl2YSkuXG4iCisjfiAiSXN0byBuw6NvIGltcG9ydGEgcGFyYSBvIExJTE8sIG1hcyBvIERPUyBNQlIgbsOjbyBpbmljaWFsaXphcsOhIGVzdGUgZGlzY28uIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVzdWFsbHkgb25lIGNhbiBib290IGZyb20gcHJpbWFyeSBwYXJ0aXRpb25zIG9ubHlcbiIKKyN+ICJMSUxPIGRpc3JlZ2FyZHMgdGhlIGBib290YWJsZScgZmxhZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogbm9ybWFsbWVudGUgYSBpbmljaWFsaXphw6fDo28gw6kgcG9zc8OtdmVsIGFwZW5hcyBkZSBwYXJ0acOnw7VlcyBwcmltw6FyaWFzLlxuIgorI34gIk8gTElMTyBkZXNjb25zaWRlcmEgYSBvcMOnw6NvIFwiaW5pY2lhbGl6w6F2ZWxcIi4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogbmVuaHVtYSBwYXJ0acOnw6NvIHByaW3DoXJpYSBlc3TDoSBtYXJjYWRhIGNvbW8gaW5pY2lhbGl6w6F2ZWwgKGF0aXZhKS5cbiIKKyN+ICJJc3RvIG7Do28gZmF6IGRpZmVyZW7Dp2EgcGFyYSBvIExJTE8sIG1hcyBvIE1CUiBET1MgbsOjbyBpbmljaWFsaXphcsOhIGVzdGUgZGlzY28uIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgImluw61jaW8iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAicGFydGnDp8OjbyAlczogaW7DrWNpbzogKGNpbCwgY2FiLCBzZXQpIGVzcGVyYWRvICglbGQsJWxkLCVsZCkgZW5jb250cmFkbyAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJmaW0iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBhcnRpw6fDo28gJXM6IGZpbTogKGNpbCwgY2FiLCBzZXQpIGVzcGVyYWRvICglbGQsJWxkLCVsZCkgZW5jb250cmFkbyAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAiYSBwYXJ0acOnw6NvICVzIHRlcm1pbmEgbm8gY2lsaW5kcm8gJWxkLCBhbMOpbSBkbyBmaW0gZG8gZGlzY28iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkF2aXNvOiBkZXNsb2NhbWVudG8gaW5pY2lhIG5hIHBhcnRpw6fDo28gZXh0ZCBkZSAgJWxsZCBwYXJhICVsbGRcbiIKKyN+ICJQYXJhIHByb3DDs3NpdG9zIHNvbWVudGUgZGUgbGlzdGFnZW0uIE7Do28gYWx0ZXJlIHNldSBjb250ZcO6ZG8uKSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICJBdmlzbzogYSBwYXJ0acOnw6NvIGVzdGVuZGlkYSBuw6NvIGluaWNpYSBlbSB1bSBsaW1pdGUgZGUgY2lsaW5kcm9cbiIKKyN+ICJET1MgZSBMaW51eCB2w6NvIGludGVycHJldGFyIHNldSBjb250ZcO6ZG8gZGlmZXJlbnRlbWVudGUuIgorCisjfiBtc2dpZCAiRVJST1I6IHNlY3RvciAlbGx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlIgorI34gbXNnc3RyICJFUlJPOiBvIHNldG9yICVsbHUgbsOjbyBwb3NzdWkgdW1hIGFzc2luYXR1cmEgTVMtRE9TIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgIm7Dum1lcm8gZXhjZXNzaXZvIGRlIHBhcnRpw6fDtWVzIC0gaWdub3JhbmRvIGFxdWVsYXMgYWzDqW0gZG8gbsK6ICV6dSIKKworI34gbXNnaWQgInRyZWUgb2YgcGFydGl0aW9ucz8iCisjfiBtc2dzdHIgIsOhcnZvcmUgZGUgcGFydGnDp8O1ZXM/IgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICJnZXJlbmNpYWRvciBkZSBkaXNjbyBkZXRlY3RhZG8gLSBuw6NvIMOpIHBvc3PDrXZlbCB0cmF0YXIiCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJBc3NpbmF0dXJhIERNNiBlbmNvbnRyYWRhIC0gZGVzaXN0aW5kbyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJlc3RyYW5oby4uLiB1bWEgcGFydGnDp8OjbyBlc3RlbmRpZGEgZGUgdGFtYW5obyAwPyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJlc3RyYW5oby4uLiB1bWEgcGFydGnDp8OjbyBCU0QgZGUgdGFtYW5obyAwPyIKKworI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgImEgb3DDp8OjbyAtbiBmb2kgZm9ybmVjaWRhOiBuYWRhIGZvaSBhbHRlcmFkbyIKKworI34gbXNnaWQgIkZhaWxlZCBzYXZpbmcgdGhlIG9sZCBzZWN0b3JzIC0gYWJvcnRpbmdcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIHNhbHZhciBvcyBzZXRvcmVzIGFudGlnb3MgLSBhYm9ydGFuZG9cbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBncmF2YXIgYSBwYXJ0acOnw6NvIGVtICVzIgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAibGluaGEgZGUgZW50cmFkYSBsb25nYSBkZW1haXMgb3UgaW5jb21wbGV0YSAtIGVuY2VycmFuZG8iCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkIgorI34gbXNnc3RyICJlcnJvIGRlIGVudHJhZGE6IFwiPVwiIGVzcGVyYWRvIGFww7NzIG8gY2FtcG8gJXMiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImVycm8gZGUgZW50cmFkYTogY2FyYWN0ZXJlIGluZXNwZXJhZG8gJWMgYXDDs3MgbyBjYW1wbyAlcyIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBpbnB1dDogJXMiCisjfiBtc2dzdHIgImVudHJhZGEgbsOjbyByZWNvbmhlY2lkYTogJXMiCisKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZyIKKyN+IG1zZ3N0ciAibsO6bWVybyBncmFuZGUgZGVtYWlzIgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXIiCisjfiBtc2dzdHIgImxpeG8gYXDDs3MgbyBuw7ptZXJvIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgInNlbSBlc3Bhw6dvIHBhcmEgbyBkZXNjcml0b3IgZGEgcGFydGnDp8OjbyIKKworI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBhIHBhcnRpw6fDo28gZXN0ZW5kaWRhIGVudm9sdMOzcmlhIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJuw7ptZXJvIGV4Y2Vzc2l2byBkZSBjYW1wb3MgZGUgZW50cmFkYSIKKworI34gbXNnaWQgIk5vIHJvb20gZm9yIG1vcmUiCisjfiBtc2dzdHIgIk7Do28gaMOhIGVzcGHDp28gcGFyYSBtYWlzIgorCisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJUaXBvIGludsOhbGlkbyIKKworI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiQXZpc286IHRhbWFuaG8gZGFkbyAoJWxsdSkgZXhjZWRlIG8gdGFtYW5obyBtw6F4aW1vIHBlcm1pdGlkbyAoJWxsdSkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiQXZpc286IGluw61jaW8gZGUgcGFydGnDp8OjbyBpbnbDoWxpZG8gKG1haXMgYWRpYW50YWRvICVsbHUpIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICJvcMOnw6NvIGRlIGluaWNpYWxpemHDp8OjbyBuw6NvIHJlY29uaGVjaWRhOiBzZWxlY2lvbmUgLSBvdSAqIgorCisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAiZXNwZWNpZmljYcOnw6NvIGNpbCxjYWIsc2V0IHBhcmNpYWw/IgorCisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiUGFydGnDp8OjbyBlc3RlbmRpZGEgbsOjbyBlc3TDoSBubyBsdWdhciBlc3BlcmFkbyIKKworI34gbXNnaWQgImJhZCBpbnB1dCIKKyN+IG1zZ3N0ciAiZW50cmFkYSBpbnbDoWxpZGEiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJOw7ptZXJvIGV4Y2Vzc2l2byBkZSBwYXJ0acOnw7VlcyIKKworI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIkVudHJhZGEgbm8gZm9ybWF0byBhIHNlZ3VpcjsgY2FtcG9zIGF1c2VudGVzIHJlY2ViZW0gdmFsb3IgcGFkcsOjby5cbiIKKyN+ICI8aW7DrWNpbz4gPHRhbWFuaG8+IDx0aXBvIFtFLFMsTCxYLGhleGFdPiA8aW5pY2lhbGl6w6F2ZWwgWy0sKl0+IDxjaWwsY2FiLHNldD4gPGNpbCxjYWIsc2V0PlxuIgorI34gIk5vcm1hbG1lbnRlIHPDsyDDqSBuZWNlc3PDoXJpbyBlc3BlY2lmaWNhciA8aW7DrWNpbz4gZSA8dGFtYW5obz4gKGUsIHRhbHZleiwgPHRpcG8+KS4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+Li4uXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIDxkaXNwb3NpdGl2bz4uLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb25cbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICBjaGFuZ2Ugb3IgcHJpbnQgcGFydGl0aW9uIElkXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgY2hhbmdlIElkXG4iCisjfiAiICAgICAtLXByaW50LWlkICAgICAgICAgICAgcHJpbnQgSWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3RhIG8gdGFtYW5obyBkZSB1bWEgcGFydGnDp8Ojb1xuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGFsdGVyYSBvdSBleGliZSBvIElEIGRlIHVtYSBwYXJ0acOnw6NvXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgYWx0ZXJhIG8gSURcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBleGliZSBvIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dFxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDBcbiIKKyN+ICIgLXUsIC0tdW5pdCA8bGV0dGVyPiAgICAgICB1bml0cyB0byBiZSB1c2VkOyA8bGV0dGVyPiBjYW4gYmUgb25lIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTIChzZWN0b3JzKSwgQyAoY3lsaW5kZXJzKSwgQiAoYmxvY2tzKSwgb3IgTSAoTUIpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0YSBhcyBwYXJ0acOnw7VlcyBkZSBjYWRhIGRpc3Bvc2l0aXZvXG4iCisjfiAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgaWRlbSwgbWFzIGVtIHVtIGZvcm1hdG8gYWRlcXVhZG8gYSBlbnRyYWRhIGV4dGVybmFcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICBudW1lcmEgY2lsaW5kcm9zIGV0Yy4gZGUgMSBlbSB2ZXogZGUgMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXRyYT4gICAgICAgIHVuaWRhZGVzIGEgc2VyZW0gdXNhZGFzOyA8bGV0cmE+IHBvZGUgc2VyIGRlbnRyZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2V0b3JzKSwgQyAoY2lsaW5kcm9zKSwgQiAoYmxvY29zKSBvdSBNIChNQilcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgb3DDp8OjbyByZXNlcnZhZGEgcXVlIGF0dWFsbWVudGUgZmF6IG5hZGFcbiIKKyN+ICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICBsaXN0YSBvcyB0aXBvcyBkZSBwYXJ0acOnw6NvIGNvbmhlY2lkb3NcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBjb21wYXRpYmlsaWRhZGUgY29tIERPUzsgZGVzcGVyZGnDp2EgYWxndW0gZXNwYcOnb1xuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIGNvbXBhdGliaWxpZGFkZSBjb20gcGFydGnDp8OjbyBlc3RlbmRpZGEgZGUgRE9TXG4iCisjfiAiIC1SLCAtLXJlLXJlYWQgICAgICAgICAgICAgZmF6IG8ga2VybmVsIHJlbGVyIGEgdGFiZWxhIGRlIHBhcnRpw6fDo29cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgcGFydGl0aW9uIHdpdGggdGhpcyA8bnVtYmVyPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiIC1PIDxmaWxlPiAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gPGZpbGU+XG4iCisjfiAiIC1JIDxmaWxlPiAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU4gPG7Dum1lcm8+ICAgICAgICAgICAgICAgYWx0ZXJhIGFwZW5hcyBhIHBhcnRpw6fDo28gY29tIGVzdGUgPG7Dum1lcm8+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgbsOjbyBncmF2YSBubyBkaXNjbywgcmVhbG1lbnRlXG4iCisjfiAiIC1PIDxhcnF1aXZvPiAgICAgICAgICAgICAgc2FsdmEgb3Mgc2V0b3JlcyBxdWUgc2Vyw6NvIHNvYnJlc2NyaXRvcyBlbSA8YXJxdWl2bz5cbiIKKyN+ICIgLUkgPGFycXVpdm8+ICAgICAgICAgICAgICByZXN0YXVyYSBvcyBzZXRvcmVzIGRlIDxhcnF1aXZvPlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgdmVyaWZpY2Egc2UgYXMgcGFydGnDp8O1ZXMgbGlzdGFkYXMgc8OjbyByYXpvw6F2ZWlzXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw7VlcyBkZSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRhbmdlcm91cyBvcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3DDp8O1ZXMgcGVyaWdvc2FzOlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCisjfiAiICAgICAtLW5vLXJlcmVhZCAgICAgICAgICAgZG8gbm90IGNoZWNrIHdoZXRoZXIgdGhlIHBhcnRpdGlvbiBpcyBpbiB1c2VcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyB3YXJuaW5nIG1lc3NhZ2VzXG4iCisjfiAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGVzYXRpdmEgdG9kYXMgYXMgdmVyaWZpY2HDp8O1ZXMgZGUgY29uc2lzdMOqbmNpYVxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIG7Do28gdmVyaWZpY2Egc2UgYSBwYXJ0acOnw6NvIGVzdMOhIGVtIHVzb1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHJpbWUgbWVuc2FnZW5zIGRlIGF2aXNvXG4iCisjfiAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgbsOjbyByZWNsYW1hIGRlIGNvaXNhcyBpcnJlbGV2YW50ZXMgcGFyYSBvIExpbnV4XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIG1vc3RyYSBhIHN1cG9zacOnw6NvIGRvIGtlcm5lbCBzb2JyZSBhIGdlb21ldHJpYVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIG1vc3RyYSBnZW9tZXRyaWEgYWRpdmluaGFkYSBkYSB0YWJlbGEgZGUgcGFydGnDp8Ojb1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkaXNwb3NpdGl2bz5dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgYXRpdmEgYSBvcMOnw6NvIGRlIGluaWNpYWxpemHDp8Ojb1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkaXNwb3NpdGl2bz5dXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lIGEgcGFydGnDp8OjbyBjb21vIG7Do28gZXNjb25kaWRhXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgdGFtYsOpbSBsaXN0YSBhcyBwYXJ0acOnw7VlcyBlc3RlbmRpZGFzIG5hIHNhw61kYVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3UgZXNwZXJhIGRlc2NyaXRvcmVzIHBhcmEgZWxhcyBuYSBlbnRyYWRhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgZG8gbm90IGFsbG9jYXRlIHRoZSBsYXN0IGN5bGluZGVyXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLWxlYXZlLWxhc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIG7Do28gYWxvY2EgbyDDumx0aW1vIGNpbGluZHJvXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgbyBtZXNtbyBxdWUgLS1sZWF2ZS1sYXN0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vdCBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGnDp8O1ZXMgZXN0w6NvIGVtIG9yZGVtXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgcGFydGnDp8O1ZXMgbsOjbyBlc3TDo28gZW0gb3JkZW1cbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICB0b2RhcyBhcyBwYXJ0acOnw7VlcyBsw7NnaWNhcyBlbSB1bWEgZXN0ZW5kaWRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFpcyBhZmFzdGFkYSBkbyBpbsOtY2lvXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAgdG9kYXMgYXMgcGFydGnDp8O1ZXMgbsOjbyBsw7NnaWNhcyBlbSB1bWEgZXN0ZW5kaWRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtYWlzIGFmYXN0YWRhIGRvIGluw61jaW9cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICB0b2RhcyBhcyBwYXJ0acOnw7VlcyBlc3TDo28gZGVzY29uZWN0YWRhcyB1bWFzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGFzIG91dHJhc1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGNvbW8gZW0gXCJuZXN0ZWRcIiwgbWFzIGFzIHBhcnRpw6fDtWVzIGVzdGVuZGlkYXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICBwb2RlbSBmaWNhciBmb3JhXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAgYXMgcGFydGnDp8O1ZXMgZXN0w6NvIG11dHVhbWVudGUgZGVzY29uZWN0YWRhc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlNvYnJlc2NyZXZhIGEgZ2VvbWV0cmlhIGRldGVjdGFkYSB1c2FuZG86XG4iCisjfiAiIC1DLCAtLWN5bGluZGVycyA8bsO6bWVybz4gIGRlZmluZSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zIGEgc2VyIHVzYWRvXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxuw7ptZXJvPiAgICAgIGRlZmluZSBvIG7Dum1lcm8gZGUgY2FiZcOnYXMgYSBzZXIgdXNhZG9cbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA8bsO6bWVybz4gICAgZGVmaW5lIG8gbsO6bWVybyBkZSBzZXRvcmVzIGEgc2VyIHVzYWRvXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAlcyVzZGlzcG9zaXRpdm8gICAgICAgbGlzdGEgcGFydGnDp8O1ZXMgYXMgYXRpdmFzIG5vIGRpc3Bvc2l0aXZvXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgJXMlc2Rpc3Bvc2l0aXZvIG4xIG4yIC4uLlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgYXRpdmEgYXMgcGFydGnDp8O1ZXMgbjEuLi4sIGRlc2F0aXZhbmRvIGFzIGRlbWFpc1xuIgorCisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAibsO6bWVybyBpbnbDoWxpZG8gZGUgYXJndW1lbnRvIGRlIHBhcnRpw6fDtWVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgInVzbzogc2ZkaXNrIC0tcHJpbnQtaWQgZGlzcG9zaXRpdm8gbsO6bWVyby1wYXJ0acOnw6NvIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAidXNvOiBzZmRpc2sgLS1jaGFuZ2UtaWQgZGlzcG9zaXRpdm8gbsO6bWVyby1wYXJ0acOnw6NvIElEIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIFtJZF0iCisjfiBtc2dzdHIgInVzbzogc2ZkaXNrIC0taWQgZGlzcG9zaXRpdm8gbsO6bWVyby1wYXJ0acOnw6NvIFtJRF0iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAicG9kZSBlc3BlY2lmaWNhciBzb21lbnRlIHVtIGRpc3Bvc2l0aXZvIChleGNldG8gY29tIC1sIG91IC1zKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGUiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyBwYXJhIGxlaXR1cmEgZSBncmF2YcOnw6NvIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyBwYXJhIGxlaXR1cmEiCisKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBPSyIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgY2lsaW5kcm9zLCAlbGQgY2FiZcOnYXMsICVsZCBzZXRvcmVzL3RyaWxoYVxuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAiYnl0ZSBhdGl2byBpbnbDoWxpZG86IDB4JXggZW0gdmV6IGRlIDB4ODAiCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJDb25jbHXDrWRvIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiVm9jw6ogcG9zc3VpICVkIHBhcnRpw6fDtWVzIHByaW3DoXJpYXMgYXRpdmFzLiBJc3RvIG7Do28gZmF6IGRpZmVyZW7Dp2EgcGFyYSBvXG4iCisjfiAiTElMTywgbWFzIG8gTUJSIERPUyBzw7MgaW5pY2lhbGl6YXLDoSBlbSBkaXNjb3MgY29tIHVtYSBwYXJ0acOnw6NvIGF0aXZhLiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgImEgcGFydGnDp8OjbyAlcyBwb3NzdWkgSUQgJXggZSBuw6NvIGVzdMOhIGVzY29uZGlkYSIKKworI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIklEIGludsOhbGlkYTogJWx4IgorCisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICJFc3RlIGRpc2NvIGVzdMOhIGF0dWFsbWVudGUgc2VuZG8gdXNhZG8uIgorCisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICJFcnJvIGZhdGFsOiBuw6NvIGZvaSBwb3Nzw612ZWwgZW5jb250cmFyICVzIgorCisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJBdmlzbzogJXMgbsOjbyDDqSB1bSBkaXNwb3NpdGl2byBkZSBibG9jbyIKKworI34gbXNnaWQgIk9LIgorI34gbXNnc3RyICJPSyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvICVkIG7Do28gZXhpc3RlOyBuw6NvIMOpIHBvc3PDrXZlbCBhbHRlcsOhLWxhIgorCisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAiRXUgbsOjbyBnb3N0byBkZXN0YXMgcGFydGnDp8O1ZXM6IG5hZGEgZm9pIGFsdGVyYWRvLlxuIgorI34gIihzZSB2b2PDqiByZWFsbWVudGUgcXVpc2VyIHVzw6EtbGFzLCB1c2UgYSBvcMOnw6NvIC0tZm9yY2UpIgorCisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAiRXUgbsOjbyBnb3N0byBkaXN0byAtIHByb3ZhdmVsbWVudGUgdm9jw6ogZGV2ZXJpYSByZXNwb25kZXIgTsOjbyIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICJWb2PDqiBlc3TDoSBzYXRpc2ZlaXRvIGNvbSBpc3RvPyBbc25mXSAiCisKKyMgdXRpbGl6YW5kbyB0ZXJtbyBmZWNoYW5kbyBwYXJhIHVzYXIgJ2YnIG5hcyBvcMOnw7VlcworI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICJGZWNoYW5kbyAtIG5hZGEgZm9pIGFsdGVyYWRvIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiUG9yIGZhdm9yLCByZXNwb25kYSBzLCBuIG91IGZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk5vdmEgdGFiZWxhIGRlIHBhcnRpw6fDo28gZ3JhdmFkYSBjb20gc3VjZXNzb1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiU2Ugdm9jw6ogY3Jpb3Ugb3UgYWx0ZXJvdSB1bWEgcGFydGnDp8OjbyBET1MsIHBvciBleGVtcGxvLCAvZGV2L2ZvbzcsIHVzZSBkZCgxKVxuIgorI34gInBhcmEgemVyYXIgb3MgcHJpbWVpcm9zIDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoY29uc3VsdGUgZmRpc2soOCkpLiIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSBmYWxob3UiCisKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3lzaW5mbyBmYWxob3UiCisKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAidGlwbzogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICJ1bmlkYWRlOiAlLipzIgorCisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgInLDs3R1bG86ICUuKnMiCisKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgIm9ww6fDtWVzOiAlcyIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJieXRlcy9zZXRvcjogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy90cmFjazogJWxkIgorI34gbXNnc3RyICJzZXRvcmVzL3RyaWxoYTogJWxkIgorCisjfiBtc2dpZCAidHJhY2tzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInRyaWxoYXMvY2lsaW5kcm86ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAic2V0b3Jlcy9jaWxpbmRybzogJWxkIgorCisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgImNpbGluZHJvczogJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAiUlBNOiAlZCIKKworI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJpbnRlcmxlYXZlOiAlZCIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInRyYWNrc2tldzogJWQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJjeWxpbmRlcnNrZXc6ICVkIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJoZWFkc3dpdGNoOiAlbGQgKG1pbGlzc2VndW5kb3MpIgorCisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJidXNjYSB0cmlsaGEgYSB0cmlsaGE6ICVsZCAobWlsaXNzZWd1bmRvcykiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb25zOiAlZCIKKyN+IG1zZ3N0ciAicGFydGnDp8O1ZXM6ICVkIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiVm9jw6ogbsOjbyBwb2RlIGFsdGVyYXIgdW1hIHBhcnRpw6fDo28gbm9ybWFsIHBhcmEgZXN0ZW5kaWRhIG91IHZpY2UtdmVyc2EuIEV4Y2x1YSBhIHBhcnRpw6fDo28gYW50ZXMuIgorCisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiU2Ugdm9jw6ogdGl2ZXIgY3JpYWRvIG91IG1vZGlmaWNhZG8gcXVhbHF1ZXIgcGFydGnDp8OjbyBET1MgNi54LCBwb3IgZmF2b3IgY29uc3VsdGUgYSBww6FnaW5hIGRlIGRvY3VtZW50YcOnw6NvIGRvIGZkaXNrIHBhcmEgb2J0ZXIgaW5mb3JtYcOnw7VlcyBhZGljaW9uYWlzLiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZW9tZXRyaWEgZGUgcsOzdHVsbzogJWQgY2FiZcOnYXMsICVsbHUgc2V0b3Jlc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGNpbGluZHJvcywgJWQgY2lsaW5kcm9zIGbDrXNpY29zXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIHNldC4gZXh0cmFzL2NpbGlkLiwgaW50ZXJsZWF2ZSAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAiR2VvbWV0cmlhIHLDs3R1bG86ICVkIHJwbSwgJWQgY2lsaW5kcm9zIGFsdGVybmFkb3MgZSAlZCBmw61zaWNvcyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAlZCBzZXQuL2NpbC4gZXh0cmFzLCBpbnRlcmxlYXZlICVkOjEiCisKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIjxuZW5odW1hPiIKKworI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICJjYW1wbyBsb25nbyBkZW1haXMiCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IFwiJWNcIiBuw6NvIMOpIHBlcm1pdGlkbyIKKworI34gbXNnaWQgIiclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIlwiJWNcIiBuw6NvIMOpIHBlcm1pdGlkbyIKKworI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlczogY2FyYWN0ZXJlcyBkZSBjb250cm9sZSBuw6NvIHPDo28gcGVybWl0aWRvcyIKKworI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgImNhcmFjdGVyZXMgZGUgY29udHJvbGUgbsOjbyBzw6NvIHBlcm1pdGlkb3MiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAidXNvOiBsYXN0IFstI10gWy1mIGFycXVpdm9dIFstdCB0dHldIFstaCBub21lLW3DoXF1aW5hXSBbdXN1w6FyaW8gLi4uXVxuIgorCisjfiBtc2dpZCAiJXM6IG1tYXAgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW1hcCBmYWxob3UiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICBhaW5kYSBjb25lY3RhZG8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIGluaWNpYSAlcyIKKworI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0aG9zdG5hbWUgZmFsaG91IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJvbXBpZG8gJTEwLjEwcyAlNS41cyBcbiIKKworI34gbXNnaWQgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBzdXBwbGVtZW50YXJ5IGdyb3VwcyBhcyB3ZWxsXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgZXhpYmUgdGFtYsOpbSBncnVwb3Mgc3VwbGVtZW50YXJlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtYWlzIGRldGFsaGVzLCB2ZWphIGxzbG9naW5zKDEpLlxuIgorCisjfiBtc2dpZCAiY3J5cHQoKSBmYWlsZWQiCisjfiBtc2dzdHIgImNyeXB0KCkgZmFsaG91IgorCisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogZmFsaGEgYW8gb2J0ZXIgZXN0YWRvIGRvIGFycXVpdm8iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUaGlzIHNtYWxsIHVzYWdlIGd1aWRlXG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1vc3RyYSBlc3RlIHBlcXVlbm8gZ3VpYSBkZSB1c29cbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiBtc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE1vc3RyYSBpbmZvcm1hw6fDtWVzIGRlIHZlcnPDo29cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1c2UgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIGNvbXBhcmUgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gZGVmaW5lIHN0cmluZyB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1c2EgdW0gZGljaW9uw6FyaW8gYWx0ZXJuYXRpdm9cbiIKKyN+ICIgLWQsIC0tYWxwaGFudW0gICAgICAgICBjb21wYXJhIGFwZW5hcyBjYXJhY3RlcmVzIGFsZmFudW3DqXJpY29zXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgaWdub3JhIGRpZmVyZW7Dp2EgZW50cmUgbWFpw7pzY3VsbyBlIG1pbsO6c2N1bG9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBuYSBjb21wYXJhw6fDo29cbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiBkZWZpbmUgbyBjYXJhY3RlcmUgZGUgdMOpcm1pbm8gZGUgdGV4dG9zXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBpZCBkbyBwcm9jZXNzb1xuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgIGRlZmluZSBxdWFpcyBjb2x1bmFzIHVzYXJcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBuw6NvIGV4aWJlIGNhYmXDp2FsaG9zXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgbsOjbyB0cmF0YWRvXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbsOjbyB0cnVuY2EgbyB0ZXh0byBuYXMgY29sdW5hc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGV4aWJlIGVzdGEgYWp1ZGEgZSBzYWlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBleGliZSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLCB2ZWphIG5hbWVpKDEpLlxuIgorCisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGxzdGF0IGZhbGhvdSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgd2lwZWZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUGFyYSBtYWlzIGluZm9ybWHDp8O1ZXMsIHZlamEgd2lwZWZzKDgpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBvbMOtdGljYXMgZGUgYWdlbmRhbWVudG86XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBjb25maWd1cmEgcG9sw610aWNhIGVtIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBjb25maWd1cmEgcG9sw610aWNhIGVtIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIGNvbmZpZ3VyYSBwb2zDrXRpY2EgZW0gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgY29uZmlndXJhIHBvbMOtdGljYSBlbSBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgY29uZmlndXJhIHBvbMOtdGljYSBlbSBTQ0hFRF9SUiAocGFkcsOjbylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWEgfCAtLWFsbC10YXNrcyAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9ww6fDtWVzOlxuIgorI34gIiAgLWEgfCAtLWFsbC10YXNrcyAgICAgb3BlcmEgbmFzIHRhcmVmYXMgKHRocmVhZHMpIGRlIHVtIHBpZCBmb3JuZWNpZG9cbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGV4aWJlIGVzdGEgYWp1ZGFcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIG1vc3RyYSBwcmlvcmlkYWRlcyBtw61uaW1hcyBlIG3DoXhpbWFzIHbDoWxpZGFzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYSBubyBwaWQgZXhpc3RlbnRlIGZvcm5lY2lkb1xuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIGRlIGVzdGFkb1xuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgZXhpYmUgaW5mb3JtYcOnw6NvIGRlIHZlcnPDo29cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLCB2ZWphIHRhc2tzZXQoMSkuXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tbWFudWFsZWplY3QvLWkgb3B0aW9uIgorI34gbXNnc3RyICJhcmd1bWVudG8gaW52w6FsaWRvIHBhcmEgYSBvcMOnw6NvIC0tbWFudWFsZWplY3QvLWkiCisKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiJXM6IMOpIHVtIGRpc3Bvc2l0aXZvIHJlbW92w612ZWwiCisKKyN+IG1zZ2lkICIlczogY29ubmVjdGVkIGJ5IGhvdHBsdWcgc3Vic3lzdGVtOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGNvbmVjdGFkbyBwZWxvIHNpc3RlbWEgZGUgaG90cGx1ZzogJXMiCisKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJ0ZW1wbyBsaW1pdGUgbsOjbyBwb2RlIHNlciB6ZXJvIgorCisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnaWRfcGx1cmFsICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmRzIGFuZCByZWZlciB0aW1lIGJhY2sgJS42ZiBzZWNvbmRzIGFnb1xuIgorI34gbXNnc3RyWzBdICLDiSBuZWNlc3PDoXJpbyBpbnNlcmlyICVkIHNlZ3VuZG9zIGUgcmVmZXJlbmNpYXIgYSBob3JhIGRlICUuNmYgc2VndW5kbyBhdHLDoXNcbiIKKyN+IG1zZ3N0clsxXSAiw4kgbmVjZXNzw6FyaW8gaW5zZXJpciAlZCBzZWd1bmRvcyBlIHJlZmVyZW5jaWFyIGEgaG9yYSBkZSAlLjZmIHNlZ3VuZG9zIGF0csOhc1xuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICJEZXNjdWxwZSwgYXBlbmFzIG8gc3VwZXJ1c3XDoXJpbyBwb2RlIGFsdGVyYXIgbyByZWzDs2dpbyBkZSBzaXN0ZW1hLiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIkRlc2N1bHBlLCBhcGVuYXMgbyBzdXBlcnVzdcOhcmlvIHBvZGUgYWx0ZXJhciBvIGVwb2NoIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIG5vIGtlcm5lbC4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiQWd1YXJkYW5kbyBlbSBsYcOnbyBhdMOpIHF1ZSBhIGhvcmEgZGUgS0RHSFdDTEsgbXVkZS5cbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsIEtER0hXQ0xLIHBhcmEgbGVyIGEgaG9yYSBmYWxob3UiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgImlvY3RsIEtER0hXQ0xLIHBhcmEgbGVyIGEgaG9yYSBmYWxob3Ugbm8gbGHDp28iCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSBmYWxob3UgZW0gbGVyIGhvcsOhcmlvIGRlICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLRFNIV0NMSyBmYWxob3UiCisKKyN+IG1zZ2lkICJVc2luZyB0aGUgS0RHSFdDTEsgaW50ZXJmYWNlIHRvIG02OGsgY2xvY2suIgorI34gbXNnc3RyICJVc2FuZG8gYSBpbnRlcmZhY2UgS0RHSFdDTEsgcGFyYSByZWzDs2dpbyBtNjhrLiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIC9kZXYvdHR5MSBvdSAvZGV2L3ZjLzEiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsIEtER0hXQ0xLIGZhbGhvdSIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmVhZCgpIHBhcmEgJXMgcGFyYSBhZ3VhcmRhciB0aXF1ZSBkbyByZWzDs2dpbyBmYWxob3UiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG1haXMgZGV0YWxoZXMsIHZlamEgbHNjcHUoMSkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbGlzdHMgYWxsIG1vdW50cyB3aXRoIExBQkVMc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBleGliZSBlc3NlIHRleHRvIGRlIGFqdWRhIGUgc2FpXG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIG7Do28gY2hhbWEgb3MgYXV4aWxpYXJlcyBtb3VudC48dGlwbz5cbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgbGlzdGEgdG9kYXMgYXMgbW9udGFnZW5zIGNvbSBMQUJFTHNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgbsOjbyBncmF2YSBlbSAvZXRjL210YWJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBleHBsaWNhIG8gcXVlIGVzdMOhIHNlbmRvIGZlaXRvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vbnRhIG8gc2lzdGVtYSBkZSBhcnF1aXZvcyBwYXJhIGdyYXZhw6fDo28gKHBhZHLDo28pXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtvcMOnw7Vlc10gPHByb2dyYW1hPiBbYXJndW1lbnRvcy4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorI34gIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCisjfiAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCisjfiAiIC11LCAtLXVzZXIgPG5hbWV8aWQ+ICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0YSB1bSBhcmd1bWVudG8gY29tbyBJRCBkZSBncnVwbyBkZSBwcm9jZXNzb3NcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG7Dum0+ICAgZXNwZWNpZmljYSBvIHZhbG9yIGRlIGluY3JlbWVudG8gZG8gbmljZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldGEgdW0gYXJndW1lbnRvIGNvbW8gSUQgZGUgcHJvY2Vzc28gKHBhZHLDo28pXG4iCisjfiAiIC11LCAtLXVzZXIgPG5vbWV8aWQ+ICAgaW50ZXJwcmV0YSB1bSBhcmd1bWVudG8gY29tbyBub21lIG91IElEIGRlIHVzdcOhcmlvXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGV4aWJlIGluZm9ybWHDp8O1ZXMgZGEgdmVyc8OjbyBlIHNhaVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJQYXJhIG1haXMgaW5mb3JtYcOnw7VlcywgdmVqYSByZW5pY2UoMSkuXG4iCisKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZGVmaW5pw6fDo28gZGUgYWxhcm1lIGRvIHJ0YyBmYWxob3UiCisKKyN+IG1zZ2lkICJlbmFibGUgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaGFiaWxpdGHDp8OjbyBkZSBhbGFybWUgZG8gcnRjIGZhbGhvdSIKKworI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJzdXNwZW5zw6NvIHBhcmEgXCIlc1wiIGluZGlzcG9uw612ZWwiCisKKyN+IG1zZ2lkICIgJXMlcyBbb3B0aW9uc10gW3Byb2dyYW0gW3Byb2dyYW0gYXJndW1lbnRzXV1cbiIKKyN+IG1zZ3N0ciAiICVzJXMgW29ww6fDtWVzXSBbcHJvZ3JhbWEgW3Byb2dyYW1hIGFyZ3VtZW50b3NdXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgaGFiaWxpdGEgdG9kYXMgc3dhcHMgZGUgL2V0Yy9mc3RhYlxuIgorI34gIiAtZCwgLS1kaXNjYXJkWz08cG9sw610aWNhPl1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIGhhYmlsaXRhIGRlc2NhcnRlcyBkZSBzd2FwLCBzZSBob3V2ZXIgc3Vwb3J0ZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgcGVsbyBkaXNwb3NpdGl2b1xuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgcHVsYSBzaWxlbmNpb3NhbWVudGUgZGlzcG9zaXRpdm9zIHF1ZSBuw6NvIGV4aXN0aXJlbVxuIgorI34gIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbmljaWFsaXphIG8gZXNwYcOnbyBkZSBzd2FwIHNlIG5lY2Vzc8OhcmlvXG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBlc3BlY2lmaWNhIGEgcHJpb3JpZGFkZSBkbyBkaXNwb3NpdGl2byBkZSBzd2FwXG4iCisjfiAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBleGliZSByZXN1bW8gc29icmUgZGlzcG9zaXRpdm9zIGRlIHN3YXAgdXNhZG9zXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgKE9CU09MRVRPKVxuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW5hcz5dICAgZXhpYmUgcmVzdW1vIGVtIHRhYmVsYSBkZWZpbsOtdmVsXG4iCisjfiAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBuw6NvIGV4aWJlIGNhYmXDp2FsaG9zLCB1c2UgY29tIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNhIG8gZm9ybWF0byBkZSBzYcOtZGEgbsOjbyB0cmF0YWRvLCB1c2UgY29tIC0tc2hvd1xuIgorI34gIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZXhpYmUgdGFtYW5obyBkZSBzd2FwIGVtIGJ5dGVzIG5hIHNhw61kYSBkZSAtLXNob3dcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG1vZG8gZGV0YWxoYWRvXG4iCisKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lcyBkZSBtb250YWdlbnNcbiIKKworI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgZGVzY29tcGFydGlsaGEgZXNwYcOnbyBkZSBub21lcyBkZSBVVFNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChob3N0bmFtZSwgZXRjKVxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZXMgZGUgU3lzdGVtIFYgSVBDXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIGRlc2NvbXBhcnRpbGhhIGVzcGHDp28gZGUgbm9tZXMgZGUgcmVkZVxuIgorCisjfiBtc2dpZCAiIC1VLCAtLXVzZXIgICAgICAgICAgICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICBkZXNjb21wYXJ0aWxoYSBlc3Bhw6dvIGRlIG5vbWVzIGRlIHVzdcOhcmlvXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbjogJXM6ICVtIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXI6ICVzOiAlbSIKKworI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnJlYWQgZmFsaG91IgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG1vc3RyYSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGV4aWJlIGVzc2EgYWp1ZGEgZSBzYWlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVzbzpcbiIKKyN+ICIgJXMgW29ww6fDtWVzXSBbYXJxdWl2byAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAgc3VwcmltZSB0b2RvcyBvcyBzdWJsaW5oYWRvc1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgbW9zdHJhIHRvZG9zIG1ldGFkZXMgZGUgbGluaGFzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBtb3N0cmEgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGV4aWJlIGVzc2EgYWp1ZGEgZSBzYWlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJPcMOnw7VlczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG1vc3RyYSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZXhpYmUgZXNzYSBhanVkYSBlIHNhaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY2FsbGluZyBoZXhkdW1wIGFzIG9kIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gZmF2b3Igb2YgR05VIGNvcmV1dGlscyBvZCIKKyN+IG1zZ3N0ciAiYSBjaGFtYWRhIGRlIGhleGR1bXAgY29tbyBvZCBlc3TDoSBvYnNvbGV0byBlbSBmYXZvciBkbyBHTlUgY29yZXV0aWxzIG9kIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9ww6fDtWVzOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgbW9zdHJhIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBleGliZSBlc3NhIGFqdWRhIGUgc2FpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJldigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcmEgbWFpcyBpbmZvcm1hw6fDtWVzLCB2ZWphIHJldigxKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVXNvOiBcbiIKKyN+ICIgJXMgW29ww6fDo29dIGFycXVpdm9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1saW5lcyBOVU1CRVIgIG91dHB1dCB0aGUgbGFzdCBOVU1CRVIgbGluZXNcbiIKKyN+ICIgLU5VTUJFUiAgICAgICAgICAgICBzYW1lIGFzIGAtbiBOVU1CRVInXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3DDp8O1ZXM6XG4iCisjfiAiIC1uLCAtLWxpbmVzIE7Dmk1FUk8gIG1vc3RyYSBhcyDDumx0aW1hcyBOw5pNRVJPIGxpbmhhc1xuIgorI34gIiAtTsOaTUVSTyAgICAgICAgICAgICBpZ3VhbCBhIFwiLW4gTsOaTUVST1wiXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgbW9zdHJhIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZXhpYmUgZXNzYSBhanVkYSBlIHNhaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIiAlcyBbb3DDp8O1ZXNdIGFycXVpdm9cbiIKKworI34gbXNnaWQgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBvcHRpb24gZG9lcyBub3QgdXNlIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAtbiwgLS1uby1hcmd1bWVudCAgICAgICBhIG9ww6fDo28gbsOjbyB1c2EgYXJndW1lbnRvXG4iCisKKyN+IG1zZ2lkICIgLW8sIC0tb3B0aW9uYWxbPTxhcmc+XSAgb3B0aW9uIGFyZ3VtZW50IGlzIG9wdGlvbmFsXG4iCisjfiBtc2dzdHIgIiAtbywgLS1vcHRpb25hbFs9PGFyZz5dICBvIGFyZ3VtZW50byBkYSBvcMOnw6NvIMOpIG9wY2lvbmFsXG4iCisKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIiAtciwgLS1yZXF1aXJlZCA8YXJnPiAgICBhIG9ww6fDo28gcmVxdWVyIHVtIHVtIGFyZ3VtZW50b1xuIgorCisjfiBtc2dpZCAiIC1lLCAtLWV4dHJlbWVseS1sb25nLWxvbmctb3B0aW9uXG4iCisjfiBtc2dzdHIgIiAtZSwgLS1leHRyZW1lbHktbG9uZy1sb25nLW9wdGlvblxuIgorCisjfiBtc2dpZCAiIC1sLCAtLWxvbmctZXhwbGFuYXRpb24gIGFuIGV4YW1wbGUgb2YgdmVyeSB2ZXJib3NlLCBhbmQgY2hhdHR5IG9wdGlvblxuIgorI34gbXNnc3RyICIgLWwsIC0tbG9uZy1leHBsYW5hdGlvbiAgdW0gZXhlbXBsbyBkZSBkZXNjcmnDp8OjbyBkZSBvcMOnw6NvIGRldGFsaGFkYSBlIGNvbVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb24gb24gdHdvLCBvciBtdWx0aXBsZSBsaW5lcywgd2hlcmUgdGhlXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG11aXRvIHRleHRvIGVtIGR1YXMsIG91IG3Dumx0aXBsYXMgbGluaGFzLCBvbmRlIGFzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5oYXMgY29uc2VjdXRpdmFzIHTDqm0gcmVjdW8gY29tIGRvaXMgZXNwYcOnb3NcbiIKKworI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBhIHByw7N4aW1hIGRlc2NyacOnw6NvIGRlIG9ww6fDo28gcmVpbmljaWEgbyByZWN1b1xuIgorCisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICJzw7MgcG9kZSBhbHRlcmFyIGVudHJhZGFzIGxvY2Fpcy4iCisKKyN+IG1zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZSBzdGFtcCB1c2luZyBmb3JtYXQ6XG4iCisjfiBtc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0bz4gbW9zdHJhIG1hcmNhIGRlIHRlbXBvIHVzYW5kbyBvIGZvcm1hdG86XG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisKKyN+IG1zZ2lkICJDT01NQU5EIG5vdCBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJDT01BTkRPIG7Do28gZXNwZWNpZmljYWRvLiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtvcMOnw7Vlc10gbm9tZS1jYW1pbmhvIFtub21lLWNhbWluaG8gLi4uXVxuIgorCisjfiBtc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAibmVuaHVtIG5vbWUgZGUgYXJxdWl2byBlc3BlY2lmaWNhZG8uIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIi4uLnZvbHRhIDEgcMOhZ2luYSIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi5wdWxhbmRvIHVtYSBsaW5oYSIKKworI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJ3YWlkZGlkIGZhbGhvdSIKKworI34gbXNnaWQgIiAteCwgLS1kZXN0aW5hdGlvbiA8ZGlyPiAgZXh0cmFjdCBpbnRvIGRpcmVjdG9yeVxuIgorI34gbXNnc3RyICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIGV4dHJhaSBwYXJhIGRpcmV0w7NyaW9cbiIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAiY29tcGlsYWRvIHNlbSBzdXBvcnRlIGEgLXgiCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IG1lbcOzcmlhIGluc3VmaWNpZW50ZSFcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJJbnV0aWxpesOhdmVsIgorCisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgImdyYXZhw6fDo28gZmFsaG91XG4iCisKKyN+IG1zZ2lkICJEaXNrIGhhcyBiZWVuIGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIk8gZGlzY28gZm9pIGFsdGVyYWRvLlxuIgorCisjfiBtc2dpZCAiUmVib290IHRoZSBzeXN0ZW0gdG8gZW5zdXJlIHRoZSBwYXJ0aXRpb24gdGFibGUgaXMgY29ycmVjdGx5IHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIlJlaW5pY2lhbGl6ZSBvIHNpc3RlbWEgcGFyYSBhc3NlZ3VyYXIgcXVlIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gc2VqYSBhdHVhbGl6YWRhIGNvcnJldGFtZW50ZS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBVklTTzogU2Ugdm9jw6ogdGl2ZXIgY3JpYWRvIG91IGFsdGVyYWRvIHF1YWxxdWVyXG4iCisjfiAicGFydGnDp8OjbyBET1MgNi54LCBjb25zdWx0ZSBhIHDDoWdpbmEgZGUgbWFudWFsXG4iCisjfiAiZG8gY2ZkaXNrIHBhcmEgb2J0ZXIgaW5mb3JtYcOnw7VlcyBhZGljaW9uYWlzLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIkVSUk8gRkFUQUwiCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICJQcmVzc2lvbmUgcXVhbHF1ZXIgdGVjbGEgcGFyYSBzYWlyIGRvIGNmZGlzayIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCByZWFsaXphciBidXNjYSBuYSB1bmlkYWRlIGRlIGRpc2NvIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciBhIHVuaWRhZGUgZGUgZGlzY28iCisKKyN+IG1zZ2lkICJDYW5ub3Qgd3JpdGUgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBuYSB1bmlkYWRlIGRlIGRpc2NvIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTsO6bWVybyBleGNlc3Npdm8gZGUgcGFydGnDp8O1ZXMiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvIGNvbWXDp2EgYW50ZXMgZG8gc2V0b3IgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvIHRlcm1pbmEgYW50ZXMgZG8gc2V0b3IgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyBjb21lw6dhIGRlcG9pcyBkbyBmaW0gZG8gZGlzY28iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvIHNlIGVzdGVuZGUgYXTDqSBkZXBvaXMgZG8gZmltIGRvIGRpc2NvIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJwYXJ0acOnw7VlcyBsw7NnaWNhcyBmb3JhIGRhIG9yZGVtIGRvIGRpc2NvIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgInBhcnRpw6fDtWVzIGzDs2dpY2FzIHNvYnJlcG9zdGFzIgorCisjfiBtc2dpZCAiZW5sYXJnZWQgbG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgInBhcnRpw6fDtWVzIGzDs2dpY2FzIGF1bWVudGFkYXMgc29icmVwb3N0YXMiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBFcnJvIGludGVybm8gYW8gY3JpYXIgdW5pZGFkZSBsw7NnaWNhIHNlbSBwYXJ0acOnw6NvIGVzdGVuZGlkYSAhISEhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBjcmlhciB1bmlkYWRlIGzDs2dpY2EgYXF1aSAtLSBjcmlhcmlhIGR1YXMgcGFydGnDp8O1ZXMgZXN0ZW5kaWRhcyIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICJJdGVtIGRlIG1lbnUgbG9uZ28gZGVtYWlzLiBPIG1lbnUgcG9kZSBmaWNhciBjb20gYXNwZWN0byBlc3RyYW5oby4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAiVGVjbGEgaWxlZ2FsIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJDcmlhIHVtYSBub3ZhIHBhcnRpw6fDo28gcHJpbcOhcmlhIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJDcmlhIHVtYSBub3ZhIHBhcnRpw6fDo28gbMOzZ2ljYSIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiQ2FuY2VsYXIiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk7Do28gY3JpYSB1bWEgcGFydGnDp8OjbyIKKworI34gbXNnaWQgIiEhISBJbnRlcm5hbCBlcnJvciAhISEiCisjfiBtc2dzdHIgIiEhISBFcnJvIGludGVybm8gISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIlRhbWFuaG8gKGVtIE1CKTogIgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICJJbsOtY2lvIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiQWRpY2lvbmFyIHBhcnRpw6fDo28gbm8gaW7DrWNpbyBkbyBlc3Bhw6dvIGxpdnJlIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBlbmQgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiQWRpY2lvbmFyIHBhcnRpw6fDo28gbm8gZmluYWwgZG8gZXNwYcOnbyBsaXZyZSIKKworI34gbXNnaWQgIk5vIHJvb20gdG8gY3JlYXRlIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkVzcGHDp28gaW5zdWZpY2llbnRlIHBhcmEgY3JpYcOnw6NvIGRlIHBhcnRpw6fDo28gZXN0ZW5kaWRhIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLlxuIgorI34gbXNnc3RyICJOZW5odW1hIHRhYmVsYSBkZSBwYXJ0acOnw6NvLlxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJOZW5odW1hIHRhYmVsYSBkZSBwYXJ0acOnw6NvLiBJbmljaWFuZG8gY29tIHVtYSB0YWJlbGEgemVyYWRhIgorCisjfiBtc2dpZCAiQmFkIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIkFzc2luYXR1cmEgaW52w6FsaWRhIG5hIHRhYmVsYSBkZSBwYXJ0acOnw6NvIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiVGlwbyBkZSB0YWJlbGEgZGUgcGFydGnDp8OjbyBkZXNjb25oZWNpZG8iCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJWb2PDqiBkZXNlamEgaW5pY2lhciBjb20gdW1hIHRhYmVsYSB6ZXJhZGEgW3MvTl0gPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBhIHVuaWRhZGUgZGUgZGlzY28iCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJEaXNjbyBhYmVydG8gc29tZW50ZSBwYXJhIGxlaXR1cmEgLSB2b2PDqiBuw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgZ3JhdmFyIgorCisjfiBtc2dpZCAiQ2Fubm90IGdldCBkaXNrIHNpemUiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBvIHRhbWFuaG8gZG8gZGlzY28iCisKKyN+IG1zZ2lkICJCYWQgcHJpbWFyeSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlBhcnRpw6fDo28gcHJpbcOhcmlhIGludsOhbGlkYSIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIkF2aXNvISEgSXN0byBwb2RlIGRlc3RydWlyIGRhZG9zIGV4aXN0ZW50ZXMgbm8gZGlzY28hIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIlJlc3BvbmRhIFwic2ltXCIgb3UgXCJuw6NvXCIiCisKKyN+IG1zZ2lkICJXcml0aW5nIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLi4uIgorI34gbXNnc3RyICJHcmF2YW5kbyB0YWJlbGEgZGUgcGFydGnDp8OjbyBubyBkaXNjby4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJBIHRhYmVsYSBkZSBwYXJ0acOnw6NvIGZvaSBncmF2YWRhIG5vIGRpc2NvIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlLCBidXQgcmUtcmVhZCB0YWJsZSBmYWlsZWQuICBSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHRvIHVwZGF0ZSB0YWJsZS4iCisjfiBtc2dzdHIgIlRhYmVsYSBkZSBwYXJ0acOnw6NvIGdyYXZhZGEsIG1hcyBhIHJlbGVpdHVyYSBkYSB0YWJlbGEgZmFsaG91LiBFeGVjdXRlIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG91IHJlaW5pY2llIHBhcmEgYXR1YWxpemFyIGEgdGFiZWxhLiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICJOw6NvIGV4aXN0ZW0gcGFydGnDp8O1ZXMgcHJpbcOhcmlhcyBtYXJjYWRhcyBjb21vIGluaWNpYWxpesOhdmVpcy4gTUJSIERPUyBuw6NvIHBvZGUgaW5pY2lhbGl6YXIgaXNzby4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiTWFpcyBkZSB1bWEgcGFydGnDp8OjbyBwcmltw6FyaWEgZXN0w6EgbWFyY2FkYSBjb21vIGluaWNpYWxpesOhdmVsLiBNQlIgRE9TIG7Do28gcG9kZSBpbmljaWFsaXphciBpc3NvLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJEaWdpdGUgdW0gbm9tZSBkZSBhcnF1aXZvIG91IHByZXNzaW9uZSBFTlRFUiBwYXJhIGV4aWJpciBuYSB0ZWxhOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJVbmlkYWRlIGRlIGRpc2NvOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNldG9yIDA6XG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgJWQ6XG4iCisjfiBtc2dzdHIgIlNldG9yICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICBOZW5odW0gICIKKworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIiAgIFByaS9sw7NnIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAgUHJpbcOhcmlhIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgTMOzZ2ljYSIKKworI34gbXNnaWQgIiglMDJYKSIKKyN+IG1zZ3N0ciAiKCUwMlgpIgorCisjIEFwZXNhciBkZSAibmVuaHVtYSIgc2VyIG1lbGhvciwgIm5hZGEiIGNhYmUgbmEgdGVsYQorI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIk5hZGEiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIlRhYmVsYSBkZSBwYXJ0acOnw6NvIGRlICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICBGaXJzdCAgICAgICBMYXN0XG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBQcmltZWlybyAgICDDmmx0aW1vXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFRpcG8gICAgICAgU2V0b3IgICAgICAgU2V0b3IgICAgUG9zacOnw6NvICAgQ29tcHIuICAgVGlwbyBzaXN0LmFycS4oSUQpIE9ww6fDo29cbiIKKworI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS0tLVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tIEluw61jaW8gLS0tLSAgICAgIC0tLS0tIEZpbSAtLS0tLSAgICBTZXRvciAgICBOw7ptZXJvIGRlXG4iCisKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgT3DDp3MuIENhYi4gU2V0LiAgQ2lsLiAgSUQgIENhYi4gU2V0LiAgQ2lsLiAgIEluaWNpYWwgICAgU2V0b3Jlc1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICJCcnV0b3MiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICJNb3N0cmFyIGEgdGFiZWxhIHVzYW5kbyBmb3JtYXRvIGRlIGRhZG9zIGJydXRvcyIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIk1vc3RyYXIgYSB0YWJlbGEgb3JkZW5hZGEgcG9yIHNldG9yZXMiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiVGFiZWxhIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJNb3N0cmFyIHNvbWVudGUgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAiTsOjbyBtb3N0cmFyIGEgdGFiZWxhIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICBBbHRlcmEgcGFyw6JtZXRyb3MgZGUgY2lsaW5kcm9zLCBjYWJlw6dhcywgc2V0b3JlcyBwb3IgdHJpbGhhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEFWSVNPOiBFc3RhIG9ww6fDo28gc8OzIGRldmUgc2VyIHVzYWRhIHBvciBwZXNzb2FzIHF1ZSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBrbm93IHdoYXQgdGhleSBhcmUgZG9pbmcuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgc2FpYmFtIGV4YXRhbWVudGUgbyBxdWUgZXN0w6NvIGZhemVuZG8uIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAgTWF4aW1pemEgbyB1c28gZGUgZGlzY28gZGEgcGFydGnDp8OjbyBhdHVhbC4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgTm90ZTogVGhpcyBtYXkgbWFrZSB0aGUgcGFydGl0aW9uIGluY29tcGF0aWJsZSB3aXRoIgorI34gbXNnc3RyICIgICAgICAgICAgICAgTm90YTogSXN0byBwb2RlIHRvcm5hciBhIHBhcnRpw6fDo28gaW5jb21wYXTDrXZlbCBjb20iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBET1MsIE9TLzIgLi4uIgorCisjfiBtc2dpZCAiICBwICAgICAgICAgIFByaW50IHBhcnRpdGlvbiB0YWJsZSB0byB0aGUgc2NyZWVuIG9yIHRvIGEgZmlsZSIKKyN+IG1zZ3N0ciAiICBwICAgICAgICAgIE1vc3RyYSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIG5hIHRlbGEgb3UgZW0gdW0gYXJxdWl2by4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBQb2RlLXNlIHNlbGVjaW9uYXIgZGl2ZXJzb3MgZm9ybWF0b3MgZGlmZXJlbnRlcyBwYXJhIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIHRoYXQgeW91IGNhbiBjaG9vc2UgZnJvbToiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICB1bWEgcGFydGnDp8OjbzoiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgciAtIFJhdyBkYXRhIChleGFjdGx5IHdoYXQgd291bGQgYmUgd3JpdHRlbiB0byBkaXNrKSIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHIgLSBEYWRvcyBicnV0b3MgKGV4YXRhbWVudGUgbyBxdWUgc2VyaWEgZ3JhdmFkbyBubyBkaXNjbykuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVGFiZWxhIG9yZGVuYWRhIHBvciBzZXRvcmVzLiIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICBBbHRlcmEgdW5pZGFkZXMgZGUgZXhpYmnDp8OjbyBkbyB0YW1hbmhvIGRhcyBwYXJ0acOnw7Vlcy4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBBbHRlcm5hIGVudHJlIE1CLCBzZXRvcmVzIGUgY2lsaW5kcm9zLiIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICBSZWRlc2VuaGEgYSB0ZWxhLiIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIE1vc3RyYSBlc3RhIHRlbGEuIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJBbHRlcmFyIGdlb21ldHJpYSBkb3MgY2lsaW5kcm9zIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkFsdGVyYXIgZ2VvbWV0cmlhIGRhcyBjYWJlw6dhcyIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkFsdGVyYXIgZ2VvbWV0cmlhIGRvcyBzZXRvcmVzIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJBIGFsdGVyYcOnw6NvIGRhIGdlb21ldHJpYSBmb2kgY29uY2x1w61kYSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzOiAiCisjfiBtc2dzdHIgIkRpZ2l0ZSBvIG7Dum1lcm8gZGUgY2lsaW5kcm9zOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgY2lsaW5kcm9zIGludsOhbGlkbyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAiRGlnaXRlIG8gbsO6bWVybyBkZSBjYWJlw6dhczogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgY2FiZcOnYXMgaW52w6FsaWRvIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICJEaWdpdGUgbyBuw7ptZXJvIGRlIHNldG9yZXMgcG9yIHRyaWxoYTogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBzZWN0b3JzIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSBzZXRvcmVzIGludsOhbGlkbyIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICJEaWdpdGUgbyB0aXBvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3M6ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsdGVyYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFyYSB2YXppbyIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsdGVyYXIgbyB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFyYSBlc3RlbmRpZG8iCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIkRlc2MgKCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIk5DIgorI34gbXNnc3RyICJOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIlByaS9sw7NnIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIkRlc2NvbmhlY2lkbyAoJTAyWCkiCisKKyMgTmVtIHNlbXByZSDDqSBkaXNjbywgcG9ydGFudG8gdW5pZGFkZSDDqSBtYWlzIGFkZXF1YWRvCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIlVuaWRhZGU6ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiVGFtYW5obzogJWxsZCBieXRlcywgJWxsZCBNQiIKKworI34gbXNnaWQgIlNpemU6ICVsbGQgYnl0ZXMsICVsbGQuJWxsZCBHQiIKKyN+IG1zZ3N0ciAiVGFtYW5obzogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJDYWJlw6dhczogJWQgIFNldG9yZXMgcG9yIHRyaWxoYTogJWQgIENpbGluZHJvczogJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiVGlwbyBQYXJ0LiIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIlRpcG8gU0EiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbUsOzdHVsb10iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgIFNldG9yZXMiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDaWxpbmRyb3MiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBUYW0uIChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBUYW0uIChHQikiCisKKyN+IG1zZ2lkICJObyBtb3JlIHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIlNlbSBtYWlzIHBhcnRpw6fDtWVzIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIkFsdGVyYSBhIGdlb21ldHJpYSBkbyBkaXNjbyAoc29tZW50ZSBwYXJhIHVzdcOhcmlvcyBhdmFuw6dhZG9zKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICJNYXhpbWl6YXIiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiTWF4aW1pemEgbyB1c28gZGUgZGlzY28gcGFyYSBhIHBhcnRpw6fDo28gYXR1YWwgKHNvbWVudGUgcGFyYSB1c3XDoXJpb3MgYXZhbsOnYWRvcykiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiTW9zdHJhciIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIkFsdGVyYSBvIHRpcG8gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyAoRE9TLCBMaW51eCwgT1MvMiBlIG91dHJvcykiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAiVW5pZGFkZXMiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJNdWRhIHVuaWRhZGVzIG1vc3RyYWRhcyBwYXJhIG8gdGFtYW5obyBkYXMgcGFydGnDp8O1ZXMgKE1CLCBzZXRvcmVzLCBjaWxpbmRyb3MpIgorCisjfiBtc2dpZCAiQ2Fubm90IG1ha2UgdGhpcyBwYXJ0aXRpb24gYm9vdGFibGUiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCB0b3JuYXIgZXN0YSBwYXJ0acOnw6NvIGluaWNpYWxpesOhdmVsIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBleGNsdWlyIHVtYSBwYXJ0acOnw6NvIHZhemlhIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbWF4aW1pemFyIGVzdGEgcGFydGnDp8OjbyIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJFc3RhIHBhcnRpw6fDo28gw6kgaW51dGlsaXrDoXZlbCIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICJFc3RhIHBhcnRpw6fDo28gasOhIGVzdMOhIHNlbmRvIHVzYWRhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbHRlcmFyIG8gdGlwbyBkZSB1bWEgcGFydGnDp8OjbyB2YXppYSIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAiQ29tYW5kbyBpbnbDoWxpZG8iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlYWRzIDxuw7ptZXJvPiAgICAgIGRlZmluZSBvIG7Dum1lcm8gZGUgY2FiZcOnYXMgYSB1c2FyXG4iCisKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGFkdmluaGEgdW1hIGdlb21ldHJpYSBkYSB0YWJlbGEgZGUgcGFydGnDp8Ojb1xuIgorCisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtUCwgLS1wcmludCA8cnxzfHQ+ICAgICAgIG1vc3RyYSBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIG5vIGZvcm1hdG9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICBlc3BlY2lmaWNhZG9cbiIKKworI34gbXNnaWQgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIHVzZSBhcnJvdyBmb3IgaGlnaGxpZ2h0aW5nIHRoZSBjdXJyZW50IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2Egc2V0YSBwYXJhIGRlc2F0YWNhciBhIHBhcnRpw6fDo28gYXR1YWxcbiIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYW5hbGlzYXIgbyBuw7ptZXJvIGRlIGNpbGluZHJvcyIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2YgaGVhZHMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIG7Dum1lcm8gZGUgY2FiZcOnYXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhbmFsaXNhciBvIG7Dum1lcm8gZGUgc2V0b3JlcyIKKworI34gbXNnaWQgIjogIgorI34gbXNnc3RyICI6ICIKKworI34gbXNnaWQgIiAtYiA8c2l6ZT4gICAgICAgICBzZWN0b3Igc2l6ZSAoNTEyLCAxMDI0LCAyMDQ4IG9yIDQwOTYpXG4iCisjfiBtc2dzdHIgIiAtYiA8dGFtYW5obz4gICAgICB0YW1hbmhvIGRvIHNldG9yICg1MTIsIDEwMjQsIDIwNDggb3UgNDA5NilcbiIKKworI34gbXNnaWQgIiAtaCAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gbXNnc3RyICIgLWggICAgICAgICAgICAgICAgbW9zdHJhIGVzdGUgdGV4dG8gZGUgYWp1ZGFcbiIKKworI34gbXNnaWQgIlxuIgorI34gbXNnc3RyICJcbiIKKworI34gbXNnaWQgIiMiCisjfiBtc2dzdHIgIiMiCisKKyN+IG1zZ2lkICJmc2l6ZSIKKyN+IG1zZ3N0ciAiZnNpemUiCisKKyN+IG1zZ2lkICJic2l6ZSIKKyN+IG1zZ3N0ciAiYnNpemUiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJBIHBhcnRpw6fDo28gJWQgasOhIGVzdMOhIGRlZmluaWRhLiBFeGNsdWEtYSBhbnRlcyBkZSBhZGljaW9uw6EtbGEgbm92YW1lbnRlLiIKKworI34gbXNnaWQgIiIKKyN+ICJQYXJ0aXRpb24gdHlwZTpcbiIKKyN+ICIgICBwICAgcHJpbWFyeSAoJXpkIHByaW1hcnksICVkIGV4dGVuZGVkLCAlemQgZnJlZSlcbiIKKyN+ICIlc1xuIgorI34gIlNlbGVjdCAoZGVmYXVsdCAlYykiCisjfiBtc2dzdHIgIiIKKyN+ICJUaXBvIGRlIHBhcnRpw6fDo286XG4iCisjfiAiICAgcCAgIHByaW3DoXJpYSAoJXpkIHByaW3DoXJpYSwgJWQgZXN0ZW5kaWRhLCAlemQgbGl2cmUpXG4iCisjfiAiJXNcbiIKKyN+ICJTZWxlY2lvbmFyIChwYWRyw6NvICVjKSIKKworI34gbXNnaWQgIiAgIGUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiICAgZSAgIGVzdGVuZGlkYSIKKworI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOciIKKworI34gbXNnaWQgIkFGIgorI34gbXNnc3RyICJBRiIKKworI34gbXNnaWQgIkhkIgorI34gbXNnc3RyICJIZCIKKworI34gbXNnaWQgIlNlYyIKKyN+IG1zZ3N0ciAiU2V0IgorCisjfiBtc2dpZCAiQ3lsIgorI34gbXNnc3RyICJDaWwiCisKKyN+IG1zZ2lkICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlLiBQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS4iCisjfiBtc2dzdHIgIklzc28gbsOjbyBzZSBwYXJlY2UgY29tIHVtYSB0YWJlbGEgZGUgcGFydGnDp8O1ZXMuIFByb3ZhdmVsbWVudGUgdm9jw6ogc2VsZWNpb25vdSBvIGRpc3Bvc2l0aXZvIGVycmFkby4iCisKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICJCbG9jb3MgIgorCisjfiBtc2dpZCAiU3lzdGVtIgorI34gbXNnc3RyICJTaXN0ZW1hIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvICV6ZCBqw6EgZXN0w6EgZGVmaW5pZGEuIEV4Y2x1YS1hIGFudGVzIGRlIGFkaWNpb27DoS1sYSBub3ZhbWVudGUuIgorCisjfiBtc2dpZCAiUHQjIgorI34gbXNnc3RyICJQdCMiCisKKyN+IG1zZ2lkICJJbmZvIgorI34gbXNnc3RyICJJbmZvcm1hw6fDo28iCisKKyN+IG1zZ2lkICJTZWN0b3IiCisjfiBtc2dzdHIgIlNldG9yIgorCisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIkhhdmVyw6EgdW1hIHNvYnJlcG9zacOnw6NvIGRlIHBhcnRpw6fDtWVzIG5vIGRpc2NvLiBDb3JyaWphLWEgYW50ZXMhIgorCisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiQXZpc286IGlvY3RsIGRlIEJMS0dFVFNJWkUgZmFsaG91IGVtICVzLiBVc2FuZG8gbyB2YWxvciBnZW9tw6l0cmljbyBkZSBjaWxpbmRybyBkbyAlbGx1LiBFc3RlIHZhbG9yIHBvZGUgc2VyIHRydW5jYWRvIGVtIGRpc3Bvc2l0aXZvcyA+IDMzLjggR0IuIgorCisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAiT3DDp8O1ZXMiCisKKyN+IG1zZ2lkICIiCisjfiAiICUxJHMgW29wdGlvbnNdIExBQkVMPTxsYWJlbD5cbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gVVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAlMSRzIFtvcMOnw7Vlc10gTEFCRUw9PHLDs3R1bG8+XG4iCisjfiAiICUxJHMgW29ww6fDtWVzXSBVVUlEPTx1dWlkPlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKKyN+ICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLS1mc3RhYiwgLS1tdGFiIG9yIC0ta2VybmVsIG9wdGlvbnNcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkZXNhYmlsaXRhIHRvZG9zIG9zIGZpbHRyb3MgZW1idXRpZG9zLCBleGliZSB0b2Rvc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIG9zIHNpc3RlbWFzIGRlIGFycXVpdm9zXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNhIGNhcmFjdGVyZXMgQVNDSUkgcGFyYSBmb3JtYXRhw6fDo28gZW0gw6Fydm9yZVxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaXphIG9zIGNhbWluaG9zIGV4aWJpZG9zXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGEgYSBzYcOtZGEgZG8gZGYoMSlcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDxwYWxhdnJhPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGRpcmXDp8OjbyBkYSBwZXNxdWlzYSwgXCJmb3J3YXJkXCIgb3UgXCJiYWNrd2FyZFwiXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydGUgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgIHBhcmEgbm9tZXMgZGUgZGlzcG9zaXRpdm9zXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDxjYW1pbmhvPlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGFycXVpdm8gYWx0ZXJuYXRpdm8gcGFyYSBhcyBvcMOnw7VlcyAtLWZzdGFiLCAtLW10YWJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgb3UgLS1rZXJuZWxcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBleGliZSBzw7MgbyBwcmltZWlybyBzaXN0ZW1hIGRlIGFycXVpdm9zIGVuY29udHJhZG9cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorI34gIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0ZSBvIHNlbnRpZG8gZGEgY29ycmVzcG9uZMOqbmNpYVxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzYSB1bWEgc2HDrWRhIGZvcm1hdGFkYSBlbSBsaXN0YVxuIgorI34gIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzYSB1bSBlc3Bhw6dvIGRlIG5vbWUgYWx0ZXJhbnRpdm9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgKGFycXVpdm8gL3Byb2MvPHRpZD4vbW91bnRpbmZvKVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIG7Do28gZXhpYmUgb3MgY2FiZcOnYWxob3MgZGEgY29sdW5hXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgbsOjbyB0cnVuY2EgdGV4dG8gbmFzIGNvbHVuYXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAgdGhlIG1vdW50cG9pbnQgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBuw6NvIGV4aWJlIFsvZGlyXSBwYXJhIG1vbnRhZ2VucyBcImJpbmRcIiBvdSBidHJmc1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIGV4aWJlIHRvZGFzIGFzIHN1Ym1vbnRhZ2VucyBwYXJhIG9zIHNpc3RlbWFzIGRlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgYXJxdWl2b3MgY29ycmVzcG9uZGVudGVzXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8dGV4dG8+ICAgbyBkaXNwb3NpdGl2byBwYXJhIG1vbnRhciAocG9yIG5vbWUsIG1haW9yOm3DrW5pbW8sXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8dGV4dG8+ICAgbyBwb250byBkZSBtb250YWdlbSBwYXJhIHVzYXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1mLCAtLWZpbGUgPGFycXVpdm8+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgIHVzYSBvIGFycXVpdm8gY29tbyB1bWEgc2VtZW50ZSBkbyBjb29raWVcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgZXhwbGljYSBvIHF1ZSBlc3TDoSBzZW5kbyBmZWl0b1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICBleGliZSBpbmZvcm1hw6fDo28gZGEgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICBleGliZSBlc3RhIGFqdWRhIGUgc2FpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJCb3RoIC0tcGlkIGFuZCAtLW5vLXBpZCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tbm8tcGlkLiIKKyN+IG1zZ3N0ciAiRXNwZWNpZmljYWRvcyB0YW50byAtLXBpZCBxdWFudG8gLS1uby1waWQuIElnbm9yYW5kbyAtLW5vLXBpZC4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAiYXZpc286IGVycm8gbmEgbGVpdHVyYSBkZSAlczogJXMiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAiYXZpc286IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMgLSB1c2FuZG8gJXNcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBjcmlhciBvIGFycXVpdm8gZGUgYmxvcXVlaW8gJXM6ICVzICh1c2UgYSBvcMOnw6NvIC1uIHBhcmEgYW51bGFyKSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgdmluY3VsYXIgbyBhcnF1aXZvIGRlIGJsb3F1ZWlvICVzOiAlcyAodXNlIGEgb3DDp8OjbyAtbiBwYXJhIGFudWxhcikiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYXJxdWl2byBkZSBibG9xdWVpbyAlczogJXMgKHVzZSBhIG9ww6fDo28gLW4gcGFyYSBhbnVsYXIpIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBibG9xdWVhciBvIGFycXVpdm8gZGUgYmxvcXVlaW8gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBibG9xdWVhciBvIGFycXVpdm8gZGUgYmxvcXVlaW8gJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJOw6NvIGZvaSBwb3Nzw612ZWwgY3JpYXIgbyB2w61uY3VsbyAlc1xuIgorI34gIlRhbHZleiBoYWphIHVtIGFycXVpdm8gZGUgYmxvcXVlaW8gdmVuY2lkbz9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMgKCVzKSAtIG10YWIgbsOjbyBhdHVhbGl6YWRvIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgImVycm8gYW8gZ3JhdmFyICVzOiAlcyIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGZmbHVzaCBuYXMgYWx0ZXJhw6fDtWVzOiAlcyIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImVycm8gYW8gYWx0ZXJhciBvIG1vZG8gZGUgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBvd25lciBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZXJybyBhbyBhbHRlcmFyIG8gZG9ubyBkZSAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHJlbm9tZWFyICVzIHBhcmEgJXM6ICVzXG4iCisKKyMgQWx0ZXJlaSBvIGV4ZW1wbG8gZW50cmUgcGFyw6pudGVzZXMgcGFyYSBjYWJlciBuYSBsaW5oYS4gQSB0cmFkdcOnw6NvIG7Do28gZmljb3UKKyMgbGl0ZXJhbCwgbWFzIHBlbnNvIHNlciB1bSBleGVtcGxvIGFjZWl0w6F2ZWwgbWFudGVuZG8gYSBlc3RydXR1cmEgdGV4dHVhbC4KKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAibW91bnQ6IHdhcm5pbmc6IC9ldGMvbXRhYiBpcyBub3Qgd3JpdGFibGUgKGUuZy4gcmVhZC1vbmx5IGZpbGVzeXN0ZW0pLlxuIgorI34gIiAgICAgICBJdCdzIHBvc3NpYmxlIHRoYXQgaW5mb3JtYXRpb24gcmVwb3J0ZWQgYnkgbW91bnQoOCkgaXMgbm90XG4iCisjfiAiICAgICAgIHVwIHRvIGRhdGUuIEZvciBhY3R1YWwgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtIG1vdW50IHBvaW50c1xuIgorI34gIiAgICAgICBjaGVjayB0aGUgL3Byb2MvbW91bnRzIGZpbGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJtb3VudDogYXZpc286IC9ldGMvbXRhYiBuw6NvIMOpIGdyYXbDoXZlbCAoZXguOiBhcnF1aXZvIHNvbWVudGUgbGVpdHVyYSkuXG4iCisjfiAiICAgICAgIMOJIHBvc3PDrXZlbCBxdWUgYSBpbmZvcm1hw6fDo28gcmVsYXRhZGEgcG9yIG1vdW50KDgpIG7Do28gZXN0ZWphXG4iCisjfiAiICAgICAgIGF0dWFsaXphZGEuIFBhcmEgaW5mb3JtYcOnw7VlcyBtYWlzIGF0dWFpcyBzb2JyZSBvcyBwb250b3MgZGUgbW9udGFnZW1cbiIKKyN+ICIgICAgICAgdmVyaWZpcXVlIG8gYXJxdWl2byAvcHJvYy9tb3VudHMuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW1wcm9wZXJseSBxdW90ZWQgb3B0aW9uIHN0cmluZyAnJXMnIgorI34gbXNnc3RyICJtb3VudDogdGV4dG8gZGUgb3DDp8OjbyBpbmFwcm9wcmlhZGFtZW50ZSBlbnRyZSBhcyBhc3BhcyBcIiVzXCIiCisKKyMgMS0gbm9tZSBvcMOnw6NvOyAyLSBkYWRvczsgMy0gZGFkb3MgdHJhdGFkb3MKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHRyYWR1emlkYSBkZSBcIiVzXCIgcGFyYSBcIiVzXCJcbiIKKworI34gbXNnaWQgIm1vdW50OiBTRUxpbnV4ICpjb250ZXh0PSBvcHRpb25zIGFyZSBpZ25vcmUgb24gcmVtb3VudC5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG9ww6fDtWVzIFNFTGludXggKmNvbnRleHQ9IHPDo28gaWdub3JhZGFzIGFvIHJlbW9udGFyLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBkZSBhY29yZG8gY29tIG10YWIsICVzIGrDoSBlc3TDoSBtb250YWRvIGVtICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogZGUgYWNvcmRvIGNvbSBvIG10YWIsICVzIGVzdMOhIG1vbnRhZG8gZW0gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMgcGFyYSBncmF2YcOnw6NvOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm8gYW8gZ3JhdmFyICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm8gYW8gYWx0ZXJhciBtb2RvIGRlICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyIGlkIGRvIGdydXBvOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIGRlZmluaXIgaWQgZG8gdXN1w6FyaW86ICVtIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCByZWFsaXphciBmb3JrOiAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICJFeHBlcmltZW50YW5kbyAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIGVzcGVjaWZpY2FkbyB1bSB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgcGFyYSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgYWxsIHR5cGVzIG1lbnRpb25lZCBpbiAlcyBvciAlc1xuIgorI34gbXNnc3RyICIgICAgICAgVm91IHRlbnRhciB0b2RvcyBvcyB0aXBvcyBtZW5jaW9uYWRvcyBlbSAlcyBvdSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICBlIHBhcmVjZSBzZXIgdW0gZXNwYcOnbyBkZSBzd2FwXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBWb3UgdGVudGFyIG8gdGlwbyAlc1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMgcGFyZWNlIGVzcGHDp28gZGUgc3dhcCAtIG7Do28gbW9udGFkbyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLlxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6ICVzOiBtYWlzIHNpc3RlbWFzIGRlIGFycXVpdm9zIGRldGVjdGFkb3MuIElzc28gbsOjbyBkZXZlcmlhIGFjb250ZWNlcixcbiIKKyN+ICIgICAgICAgdXNlIC10IDx0aXBvPiBwYXJhIGVzcGVjaWZpY2FyIGV4cGxpY2l0YW1lbnRlIG8gdGlwbyBkZSBzaXN0ZW1hIGRlXG4iCisjfiAiICAgICAgIGFycXVpdm9zIG91IHVzZSB3aXBlZnMoOCkgcGFyYSBhcGFnYXIgbyBkaXNwb3NpdGl2by5cbiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogc29tZW50ZSBvIHJvb3QgcG9kZSBtb250YXIgJXMgZW0gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogZGlzcG9zaXRpdm8gZGUgbG9vcCBlc3BlY2lmaWNhZG8gZHVhcyB2ZXplcyIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcG8gZXNwZWNpZmljYWRvIGR1YXMgdmV6ZXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHB1bGFuZG8gYSBjb25maWd1cmHDp8OjbyBkZSB1bSBkaXNwb3NpdGl2byBkZSBsb29wXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZW5hYmxpbmcgYXV0b2NsZWFyIGxvb3BkZXYgZmxhZ1xuIgorI34gbXNnc3RyICJtb3VudDogaGFiaWxpdGFuZG8gYSBvcMOnw6NvIGF1dG9jbGVhciBkZSBkaXNwb3NpdGl2byBkZSBsb29wXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBlc3BlY2lmaWNhZGEgcG9zacOnw6NvIGludsOhbGlkYSBcIiVzXCIiCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBlc3BlY2lmaWNhZG8gbGltaXRlIGRlIHRhbWFuaG8gaW52w6FsaWRvIFwiJXNcIiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMgYXMgbG9vcCIKKyN+IG1zZ3N0ciAibW91bnQ6IGRlIGFjb3JkbyBjb20gbyBtdGFiLCAlcyBqw6EgZXN0w6EgbW9udGFkbyBlbSAlcyBjb21vIGxvb3AiCisKKyN+IG1zZ2lkICJlbmNyeXB0aW9uIG5vdCBzdXBwb3J0ZWQsIHVzZSBjcnlwdHNldHVwKDgpIGluc3RlYWQiCisjfiBtc2dzdHIgInNlbSBzdXBvcnRlIGEgY3JpcHRvZ3JhZmlhLCB1c2UgY3J5cHRzZXR1cCg4KSIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wZGV2IGNvbnRleHQiCisjfiBtc2dzdHIgIm1vdW50OiBmYWxoYSBhbyBpbmljaWFsaXphciBjb250ZXh0byBkZSBkaXNwb3NpdGl2byBkZSBsb29wIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogZmFsaGEgYW8gdXNhciBkaXNwb3NpdGl2byBkZSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGZhbGhhIGVtIGxvY2FsaXphciBkaXNwb3NpdGl2byBkZSBsb29wIGxpdnJlIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHNlcsOhIHVzYWRvIG8gZGlzcG9zaXRpdm8gZGUgbG9vcCAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBmYWxoYSBhbyBjb25maWd1cmFyIGF0cmlidXRvcyBkbyBkaXNwb3NpdGl2byBkZSBsb29wIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIm1vdW50OiAlczogZmFsaGEgYW8gY29uZmlndXJhciBkaXNwb3NpdGl2byBkZSBsb29wOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyAuLi50cnlpbmcgYWdhaW5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3A6JXMgZnVydGFkbyAuLi50ZW50YW5kbyBub3ZhbWVudGVcbiIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBsb29wPSVzIGZ1cnRhZG8iCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBjb25maWd1cmHDp8OjbyBkZSBkaXNwb3NpdGl2byBkZSBsYcOnbyByZWFsaXphZGEgY29tIHN1Y2Vzc29cbiIKKworI34gbXNnaWQgIm1vdW50OiBubyAlcyBmb3VuZCAtIGNyZWF0aW5nIGl0Li5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbmh1bSAlcyBlbmNvbnRyYWRvIC0gY3JpYW5kby1vLi4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMgcGFyYSBjb25maWd1cmHDp8OjbyBkYSB2ZWxvY2lkYWRlIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgdmVsb2NpZGFkZTogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogZGUgYWNvcmRvIGNvbSBvIG10YWIsICVzIGrDoSBlc3TDoSBtb250YWRvIGVtICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLXdyaXRlLlxuIgorI34gbXNnc3RyICJtb3VudDogYXZpc286ICVzIHBhcmVjZSBlc3RhciBtb250YWRvIHBhcmEgbGVpdHVyYSBlIGdyYXZhw6fDo28uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhdmlzbzogJXMgcGFyZWNlIGVzdGFyIG1vbnRhZG8gc29tZW50ZSBwYXJhIGxlaXR1cmEuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgZGV0ZXJtaW5hciBvIHRpcG8gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyBlIG5lbmh1bSBmb2kgZXNwZWNpZmljYWRvIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHZvY8OqIHByZWNpc2EgZXNwZWNpZmljYXIgbyB0aXBvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogYSBtb250YWdlbSBmYWxob3UiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogbyBwb250byBkZSBtb250YWdlbSAlcyBuw6NvIMOpIHVtIGRpcmV0w7NyaW8iCisKKyN+IG1zZ2lkICJtb3VudDogcGVybWlzc2lvbiBkZW5pZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwZXJtaXNzw6NvIG5lZ2FkYSIKKworI34gbXNnaWQgIm1vdW50OiBtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCisjfiBtc2dzdHIgIm1vdW50OiDDqSBuZWNlc3PDoXJpbyBzZXIgc3VwZXJ1c3XDoXJpbyBwYXJhIG1vbnRhciIKKworI34gbXNnaWQgIm1vdW50OiBwcm9jIGFscmVhZHkgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByb2MgasOhIG1vbnRhZG8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgYWxyZWFkeSBtb3VudGVkIG9yICVzIGJ1c3kiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBqw6EgbW9udGFkbyBvdSAlcyBvY3VwYWRvIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogbyBwb250byBkZSBtb250YWdlbSAlcyBuw6NvIGV4aXN0ZSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKKyN+IG1zZ3N0ciAibW91bnQ6IG8gcG9udG8gZGUgbW9udGFnZW0gJXMgw6kgdW0gbGluayBzaW1iw7NsaWNvIHBhcmEgbHVnYXIgbmVuaHVtIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogbyBkaXNwb3NpdGl2byBlc3BlY2lhbCAlcyBuw6NvIGV4aXN0ZSIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3RcbiIKKyN+ICIgICAgICAgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KVxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IG8gZGlzcG9zaXRpdm8gZXNwZWNpYWwgJXMgbsOjbyBleGlzdGVcbiIKKyN+ICIgICAgICAgKHVtIHByZWZpeG8gZGUgY2FtaW5obyBuw6NvIMOpIHVtIGRpcmV0w7NyaW8pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiB0aXBvIGRlIHNpc3RlbWEgZGUgYXJxdWl2b3MgaW5jb3JyZXRvLCBvcMOnw6NvIGludsOhbGlkYSxcbiIKKyN+ICIgICAgICAgc3VwZXJibG9jbyBpbnbDoWxpZG8gZW0gJXMsIHDDoWdpbmEgZGUgY8OzZGlnbyBvdSBwcm9ncmFtYVxuIgorI34gIiAgICAgICBhdXhpbGlhciBmYWx0YW5kbyBvdSBvdXRybyBlcnJvIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChwb2RlcmlhIHNlciBlc3RlIG8gZGlzcG9zaXRpdm8gSURFIG5vIHF1YWwgdm9jw6ogZGVcbiIKKyN+ICIgICAgICAgZmF0byB1c2EgaWRlLXNjc2ksIGRlIGZvcm1hIHF1ZSBzcjAgb3Ugc2RhLCBvdSBxdWFsXG4iCisjfiAiICAgICAgIHNlamEsIHNlamEgbmVjZXNzw6FyaW8/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICh2b2PDqiBuw6NvIGVzdMOhIHRlbnRhbmRvIG1vbnRhciB1bWEgcGFydGnDp8OjbyBlc3RlbmRpZGEsXG4iCisjfiAiICAgICAgIGVtIHZleiBkZSB1bWEgcGFydGnDp8OjbyBsw7NnaWNhIGRlbnRybyBkZXN0YT8iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICBFbSBhbGd1bnMgY2Fzb3MsIGluZm9ybWHDp8O1ZXMgw7p0ZWlzIHPDo28gZW5jb250cmFkYXMgbm9cbiIKKyN+ICIgICAgICAgc3lzbG9nIC0gdGVudGUgXCJkbWVzZyB8IHRhaWxcIiBvdSBhbGdvIGFzc2ltLlxuIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBjYW4ndCByZWFkIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIm1vdW50OiAlczogbsOjbyBmb2kgcG9zc8OtdmVsIGxlciBvIHN1cGVyYmxvY28iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IHVua25vd24gZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXM6IGRpc3Bvc2l0aXZvIGRlIGJsb2NvIGRlc2NvbmhlY2lkbyIKKworI34gbXNnaWQgIm1vdW50OiB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorI34gbXNnc3RyICJtb3VudDogdGlwbyBkZSBzaXN0ZW1hIGRlIGFycXVpdm9zIFwiJXNcIiBkZXNjb25oZWNpZG8iCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogcHJvdmF2ZWxtZW50ZSB2b2PDqiBxdWlzIGRpemVyICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogdGFsdmV6IHZvY8OqIHF1aXNlc3NlIGRpemVyIFwiaXNvOTY2MFwiPyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRhbHZleiB2b2PDqiBxdWlzZXNzZSBkaXplciBcInZmYXRcIj8iCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaGFzIHdyb25nIGRldmljZSBudW1iZXIgb3IgZnMgdHlwZSAlcyBub3Qgc3VwcG9ydGVkIgorI34gbXNnc3RyICJtb3VudDogJXMgcG9zc3VpIG7Dum1lcm8gZGUgZGlzcG9zaXRpdm8gaW5jb3JyZXRvIG91IHNlbSBzdXBvcnRlIGFvIHRpcG8gZGUgc2lzdGVtYSBkZSBhcnF1aXZvcyAlcyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0IGZhaWxzPyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG7Do28gw6kgdW0gZGlzcG9zaXRpdm8gZGUgYmxvY28gZSBmYWxoYSBhbyBvYnRlciBlc3RhZG8gZG8gYXJxdWl2bz8iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IG8ga2VybmVsIG7Do28gcmVjb25oZWNlICVzIGNvbW8gZGlzcG9zaXRpdm8gZGUgYmxvY29cbiIKKyN+ICIgICAgICAgKHRhbHZleiBcIm1vZHByb2JlIGRyaXZlclwiPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvICh0ZW50ZSB0YWx2ZXogXCItbyBsb29wXCI/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuw6NvIMOpIHVtIGRpc3Bvc2l0aXZvIGRlIGJsb2NvIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG7Do28gw6kgdW0gZGlzcG9zaXRpdm8gZGUgYmxvY28gdsOhbGlkbyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgbW9udGFyICVzJXMgc29tZW50ZSBwYXJhIGxlaXR1cmEiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgw6kgcHJvdGVnaWRvIGNvbnRyYSBncmF2YcOnw6NvLCBtYXMgYSBvcMOnw6NvIFwiLXdcIiBmb2kgcGFzc2FkYSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBtb250YXIgJXMlcyBzb21lbnRlIHBhcmEgbGVpdHVyYSIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICJtb3VudDogJXMlcyDDqSBwcm90ZWdpZG8gY29udHJhIGdyYXZhw6fDo287IG1vbnRhbmRvIHNvbWVudGUgcGFyYSBsZWl0dXJhIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbmh1bWEgbcOtZGlhIGxvY2FsaXphZGEgZW0gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5lbmh1bSB0aXBvIGZvaSBmb3JuZWNpZG8gLSBzdXBvbmRvIG5mcyBwb3IgY2F1c2EgZG9zIGRvaXMtcG9udG9zXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudDogbmVuaHVtIHRpcG8gZm9pIGZvcm5lY2lkbyAtIHN1cG9uZG8gY2lmcyBwb3IgY2F1c2EgZG8gcHJlZml4IC8vXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaWdub3JlICVzICh1bnBhcnNhYmxlIG9mZnNldD0gb3B0aW9uKVxuIgorI34gbXNnc3RyICJtb3VudDogaWdub3JhZG8gJXMgKG9ww6fDo28gbsOjbyBhbmFsaXPDoXZlbCBvZmZzZXQ9KVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBwcmludCB2ZXJzaW9uXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IHByaW50IHRoaXMgaGVscFxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0IG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVkaW5nIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTbyBmYXIgdGhlIGluZm9ybWF0aW9uYWwgcGFydC4gTmV4dCB0aGUgbW91bnRpbmcuXG4iCisjfiAiVGhlIGNvbW1hbmQgaXMgYG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmUnLlxuIgorI34gIkRldGFpbHMgZm91bmQgaW4gL2V0Yy9mc3RhYiBtYXkgYmUgb21pdHRlZC5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbW91bnQgYWxsIHN0dWZmIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkZXZpY2UgICAgICAgICAgICAgOiBtb3VudCBkZXZpY2UgYXQgdGhlIGtub3duIHBsYWNlXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmVjdG9yeSAgICAgICAgICA6IG1vdW50IGtub3duIGRldmljZSBoZXJlXG4iCisjfiAiICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgICA6IG9yZGluYXJ5IG1vdW50IGNvbW1hbmRcbiIKKyN+ICJOb3RlIHRoYXQgb25lIGRvZXMgbm90IHJlYWxseSBtb3VudCBhIGRldmljZSwgb25lIG1vdW50c1xuIgorI34gImEgZmlsZXN5c3RlbSAob2YgdGhlIGdpdmVuIHR5cGUpIGZvdW5kIG9uIHRoZSBkZXZpY2UuXG4iCisjfiAiT25lIGNhbiBhbHNvIG1vdW50IGFuIGFscmVhZHkgdmlzaWJsZSBkaXJlY3RvcnkgdHJlZSBlbHNld2hlcmU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAib3IgbW92ZSBhIHN1YnRyZWU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgbW91bnQgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgYWxsIHRoZSBtb3VudHMgaW4gYSBtb3VudCBzdWJ0cmVlXG4iCisjfiAiY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGRpclxuIgorI34gIkEgZGV2aWNlIGNhbiBiZSBnaXZlbiBieSBuYW1lLCBzYXkgL2Rldi9oZGExIG9yIC9kZXYvY2Ryb20sXG4iCisjfiAib3IgYnkgbGFiZWwsIHVzaW5nICAtTCBsYWJlbCAgb3IgYnkgdXVpZCwgdXNpbmcgIC1VIHV1aWQgLlxuIgorI34gIk90aGVyIG9wdGlvbnM6IFstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiRm9yIG1hbnkgbW9yZSBkZXRhaWxzLCBzYXkgIG1hbiA4IG1vdW50IC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogICBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBtb3N0cmEgdmVyc8Ojb1xuIgorI34gIiAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgOiBtb3N0cmEgZXN0YSBhanVkYVxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0YSBzaXN0ZW1hcyBkZSBhcnF1aXZvcyBtb250YWRvc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWluZG8gcsOzdHVsb3MgZGUgdm9sdW1lc1xuIgorI34gIkVzdGFzIGVyYW0gYXMgb3DDp8O1ZXMgZGUgaW5mb3JtYcOnw6NvLiBBZ29yYSBhcyBkZSBtb250YWdlbS5cbiIKKyN+ICJPIGNvbWFuZG8gw6kgXCJtb3VudCBbLXQgdGlwb1NBXSBhbGd1bWEtY29pc2EgYWxndW0tbHVnYXJcIi5cbiIKKyN+ICJEZXRhbGhlcyBlbmNvbnRyYWRvcyBlbSAvZXRjL2ZzdGFiIHBvZGVtIHNlciBvbWl0aWRvcy5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgICAgICAgICAgICAgICAgIDogbW9udGEgdHVkbyBjb250aWRvIGVtIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgbW91bnQgZGlzcG9zaXRpdm8gICAgICAgIDogbW9udGEgZGlzcG9zaXRpdm8gbm8gbHVnYXIgY29uaGVjaWRvXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmV0w7NyaW8gICAgICAgICAgOiBtb250YSBkaXNwb3NpdGl2byBjb25oZWNpZG8gYXF1aVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0aXBvIGRldiBkaXIgICAgOiBjb21hbmRvIG5vcm1hbCBkZSBtb250YWdlbVxuIgorI34gIk5vdGUgcXVlIG7Do28gc2UgbW9udGEgcmVhbG1lbnRlIHVtIGRpc3Bvc2l0aXZvLCBtb250YS1zZSB1bVxuIgorI34gInNpc3RlbWEgZGUgYXJxdWl2b3MgKGRlIHVtIGRldGVybWluYWRvIHRpcG8pIGVuY29udHJhZG8gbm8gZGlzcG9zaXRpdm8uXG4iCisjfiAiUG9kZS1zZSBtb250YXIgdGFtYsOpbSBlbSBvdXRybyBsdWdhciB1bWEgw6Fydm9yZSBkZSBkaXJldMOzcmlvcyBcbiIKKyN+ICJhbnRlcmlvcm1lbnRlIHZpc8OtdmVsOlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQgZGlyLWFudGlnbyBkaXItbm92b1xuIgorI34gIsOJIHBvc3PDrXZlbCBhbHRlcmFyIG8gdGlwbyBkZSBtb250YWdlbSBjb250ZW5kbyBvIGRpcmV0w7NyaW86XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyZXTDs3Jpb1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyZXTDs3Jpb1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJldMOzcmlvXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpcmV0w7NyaW9cbiIKKyN+ICLDiSBwb3Nzw612ZWwgYWx0ZXJhciBvIHRpcG8gZGUgdG9kYXMgYXMgbW9udGFnZW5zIGVtIHVtYSBzdWLDoXJ2b3JlIGRlIG1vbnRhZ2VtXG4iCisjfiAiY29udGVuZG8gbyBkaXJldMOzcmlvOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJldMOzcmlvXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyZXTDs3Jpb1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyZXTDs3Jpb1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyZXTDs3Jpb1xuIgorI34gIlVtIGRpc3Bvc2l0aXZvIHBvZGUgc2VyIGluZm9ybWFkbyBwZWxvIG5vbWUsIGRpZ2Ftb3MgL2Rldi9oZGExIG91IC9kZXYvY2Ryb20sXG4iCisjfiAib3UgcG9yIHVtIHLDs3R1bG8sIHVzYW5kbyAtTCByw7N0dWxvIG91IHBvciB1dWlkLCB1c2FuZG8gLVUgdXVpZC5cbiIKKyN+ICJPdXRyYXMgb3DDp8O1ZXM6IFstbmZGcnN2d10gWy1vIG9ww6fDtWVzXS5cbiIKKyN+ICJQYXJhIG1haXMgZGV0YWxoZXMsIGNvbnN1bHRlIFwibWFuIDggbW91bnRcIi5cbiIKKworI34gbXNnaWQgIi0tcGFzcy1mZCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorI34gbXNnc3RyICJuw6NvIGjDoSBtYWlzIHN1cG9ydGUgYSAtLXBhc3MtZnMiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKKyN+IG1zZ3N0ciAibW91bnQ6IGFwZW5hcyByb290IHBvZGUgZmF6ZXIgaXNzbyAoVUlEIGVmZXRpdmEgw6kgJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IG9wZXJhw6fDo28gZXhjbHVzaXZhIGRlIHJvb3QiCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJuYWRhIGZvaSBtb250YWRvIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICJtb3VudDogcGFydGnDp8OjbyBuw6NvIGZvaSBlbmNvbnRyYWRhIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGZpbmQgJXMgaW4gJXMgb3IgJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyICVzIGVtICVzIG91ICVzIgorCisjfiBtc2dpZCAiW21udGVudF06IHdhcm5pbmc6IG5vIGZpbmFsIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiAlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogYXZpc286IG7Do28gaMOhIG5vdmEgbGluaGEgZmluYWwgbm8gZmluYWwgZGUgJXNcbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBsaW5oYSAlZCBlbSAlcyB0ZW0gJXMgaW52w6FsaWRvKGEpXG4iCisKKyN+IG1zZ2lkICI7IHJlc3Qgb2YgZmlsZSBpZ25vcmVkIgorI34gbXNnc3RyICI7IHJlc3RvIGRvIGFycXVpdm8gaWdub3JhZG8iCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAibWVtw7NyaWEgaW5zdWZpY2llbnRlIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudDogY29tcGlsYWRvIHNlbSBzdXBvcnRlIGEgLWZcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIGNvbmZpZ3VyYXIgaWQgZG8gZ3J1cG86ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBjb25maWd1cmFyIGlkIGRvIHVzdcOhcmlvOiAlbSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCByZWFsaXphciBmb3JrOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl2byBkZSBibG9jbyBpbnbDoWxpZG8iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbsOjbyBtb250YWRvIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBzdXBlcmJsb2NvIgorCisjfiBtc2dpZCAiIgorI34gInVtb3VudDogJXM6IGRldmljZSBpcyBidXN5LlxuIgorI34gIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXQgdXNlXG4iCisjfiAiICAgICAgICAgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpKSIKKyN+IG1zZ3N0ciAiIgorI34gInVtb3VudDogJXM6IGRpc3Bvc2l0aXZvIGVzdMOhIG9jdXBhZG8uXG4iCisjfiAiICAgICAgICAoRW0gYWxndW5zIGNhc29zLCBpbmZvcm1hw6fDtWVzIMO6dGVpcyBzb2JyZSBwcm9jZXNzb3NcbiIKKyN+ICIgICAgICAgICBxdWUgdXNhbSBvIGRpc3Bvc2l0aXZvIHPDo28gZW5jb250cmFkYXMgbm8gbHNvZig4KVxuIgorI34gIiAgICAgICAgIG91IGZ1c2VyKDEpKSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbsOjbyBlbmNvbnRyYWRvIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBwcmVjaXNhIHNlciBzdXBlcnVzdcOhcmlvIHBhcmEgZGVzbW9udGFyIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogYmxvY2sgZGV2aWNlcyBub3QgcGVybWl0dGVkIG9uIGZzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBkaXNwb3NpdGl2b3MgZGUgYmxvY28gbsOjbyBwZXJtaXRpZG9zIG5vIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGludGVybmFsIGVycm9yOiBpbnZhbGlkIGFicyBwYXRoOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBlcnJvIGludGVybm86IGNhbWluaG8gYWJzb2x1dG8gaW52w6FsaWRvOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBmYWxoYSBhbyBtdWRhciBwYXJhIG8gZGlyZXTDs3JpbyAlczogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJ1bW91bnQ6IGZhbGhhIGFvIG9idGVyIG8gZGlyZXTDs3JpbyBhdHVhbDogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAidW1vdW50OiBvIHBvbnRvIGRlIG1vbnRhZ2VtIG1vdmV1ICglcyAtPiAlcykiCisKKyN+IG1zZ2lkICJjdXJyZW50IGRpcmVjdG9yeSBtb3ZlZCB0byAlc1xuIgorI34gbXNnc3RyICJvIGRpcmV0w7NyaW8gYXR1YWwgbW92ZXUgcGFyYSAlc1xuIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICJuw6NvIGV4aXN0ZSB1bW91bnQyLCB0ZW50YW5kbyB1bW91bnQuLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBlc3TDoSBvY3VwYWRvIC0gcmVtb250YWRvIHNvbWVudGUgcGFyYSBsZWl0dXJhXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvdWxkIG5vdCByZW1vdW50ICVzIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCByZW1vbnRhciAlcyBzb21lbnRlIHBhcmEgbGVpdHVyYVxuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIGZvaSBkZXNtb250YWRvXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmaW5kIGxpc3Qgb2YgZmlsZXN5c3RlbXMgdG8gdW5tb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIGEgbGlzdGEgZGUgc2lzdGVtYXMgZGUgYXJxdWl2b3MgYSBkZXNtb250YXIiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdGlwb3NTQVZdIFstTyBvcMOnw7Vlc11cbiIKKyN+ICIgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gZXNwZWNpYWwgfCBuw7MuLi5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgImZhbGhhIGFvIGFuYWxpc2FyIG9ww6fDtWVzIFwib2Zmc2V0PSVzXCJcbiIKKworI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiZGlzcG9zaXRpdm8gJXMgZXN0w6EgYXNzb2NpYWRvIGNvbSAlc1xuIgorCisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgZGVzbW9udGFyIFwiXCJcbiIKKworI34gbXNnaWQgInVtb3VudDogY29uZnVzZWQgd2hlbiBhbmFseXppbmcgbXRhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiBjb25mdXNvIGFvIGFuYWxpc2FyIG8gbXRhYiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHVubW91bnQgJXMgLS0gJXMgaXMgbW91bnRlZCBvdmVyIGl0IG9uIHRoZSBzYW1lIHBvaW50IgorI34gbXNnc3RyICJ1bW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBkZXNtb250YXIgJXMgLS0gJXMgZXN0w6EgbW9udGFyIHNvYnJlIGVsZSBubyBtZXNtbyBwb250byIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxvY2FsaXphciAlcyBlbSBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IHdhcm5pbmc6ICVzIGlzIGFzc29jaWF0ZWQgd2l0aCBtb3JlIHRoYW4gb25lIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgInVtb3VudDogYXZpc286ICVzIGVzdMOhIGFzc29jaWFkbyBjb20gbWFpcyBkZSB1bSBkaXNwb3NpdGl2byBkZSBsb29wXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbsOjbyBlc3TDoSBtb250YWRvIChkZSBhY29yZG8gY29tIG10YWIpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHBhcmVjZSBxdWUgJXMgZXN0w6EgbW9udGFkbyBtw7psdGlwbGFzIHZlemVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbsOjbyBlc3TDoSBuYSBmc3RhYiAoZSB2b2PDqiBuw6NvIMOpIHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogYSBtb250YWdlbSBkZSAlcyBuw6NvIGVzdMOhIGRlIGFjb3JkbyBjb20gYSBmc3RhYiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IHNvbWVudGUgJXMgcG9kZSBkZXNtb250YXIgJXMgZGUgJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAidW1vdW50OiBvcGVyYcOnw6NvIGV4Y2x1c2l2YSBkZSByb290IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiUxJHMgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICUxJHMgW09QVElPTl0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFtPUFRJT05dIENPTU1BTkRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHNjaGVkdWxpbmcgY2xhc3MgbmFtZSBvciBudW1iZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiBzY2hlZHVsaW5nIGNsYXNzIGRhdGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgZm9yIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgdmlldyBvciBtb2RpZnkgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0gZGVmaW5lIG91IG9idMOpbSBjbGFzc2UgZSBwcmlvcmlkYWRlIGRlIGFnZW5kYW1lbnRvIGRlIGUvcyBkbyBwcm9jZXNzby5cbiIKKyN+ICJcbiIKKyN+ICJVc286XG4iCisjfiAiICAlMSRzIFtPUMOHw4NPXSAtcCBQSUQgW1BJRC4uLl1cbiIKKyN+ICIgICUxJHMgW09Qw4fDg09dIENPTUFORE9cbiIKKyN+ICJcbiIKKyN+ICJPcMOnw7VlczpcbiIKKyN+ICIgIC1jLCAtLWNsYXNzIDxjbGFzc2U+ICBub21lIG91IG7Dum1lcm8gZGEgY2xhc3NlIGRlIGFnZW5kYW1lbnRvXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtbiwgLS1jbGFzc2RhdGEgPG7Dum0+IGRhZG9zIGRhIGNsYXNzZSBkZSBhZ2VuZGFtZW50b1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDAtNyBwYXJhIGNsYXNzZXMgcmVhbHRpbWUgb3UgYmVzdC1lZmZvcnRcbiIKKyN+ICIgIC1wLCAtLXBpZD1QSUQgICAgICAgICB2w6ogb3UgbW9kaWZpY2EgcHJvY2Vzc28gYXR1YWxtZW50ZSBlbSBleGVjdcOnw6NvXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAgaWdub3JhIGZhbGhhc1xuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgZXhpYmUgZXN0YSBhanVkYSBlIHNhaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8dHR5PiBbLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW29ww6fDtWVzXSA8dHR5PiBbLi4uXVxuIgorCisjfiBtc2dpZCAiIC1zLCAtLXNldC10aHJlc2hvbGQgPG51bT4gICAgICAgICAgc2V0IGludGVycnVwdGlvbiB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1zLCAtLXNldC10aHJlc2hvbGQgPG7Dum0+ICAgICAgICAgIGRlZmluZSBvIHZhbG9yIGxpbWlhciBkZSBpbnRlcnJ1cMOnw6NvXG4iCisKKyN+IG1zZ2lkICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICBzZXQgZGVmYXVsdCB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bsO6bT4gIGRlZmluZSBvIHZhbG9yIHBhZHLDo28gZGUgbGltaWFyXG4iCisKKyN+IG1zZ2lkICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICBzZXQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxuw7ptPiAgICAgICAgICAgICAgZGVmaW5lIGNvbSB2YWxvciBvIHRlbXBvIGxpbWl0ZSBhdMOpIGVzdmF6aWFyXG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLXNldC1kZWZhdWx0LWZsdXNoIDxuw7ptPiAgICAgIGRlZmluZSBvIHZhbG9yIHBhZHLDo28gZGUgdGVtcG8gbGltaXRlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdMOpIGVzdmF6aWFyXG4iCisKKyN+IG1zZ2lkICIgLWksIC0taW50ZXJ2YWwgPHNlY29uZHM+ICAgICAgICAgICBnYXRoZXIgc3RhdGlzdGljcyBldmVyeSA8c2Vjb25kcz4gaW50ZXJ2YWxcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaSwgLS1pbnRlcnZhbCA8c2VndW5kb3M+ICAgICAgICAgIG9idMOpbSBlc3RhdMOtc3RpY2FzIGEgY2FkYSBpbnRlcnZhbG8gZGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzZWd1bmRvcz4gaW50ZXJ2YWxcbiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJBcnF1aXZvICVzLCBwYXJhIG8gdmFsb3IgZGUgbGltaWFyIGRlICVsdSwgbyBuw7ptZXJvIG3DoXhpbW8gZGUgY2FyYWN0ZXJlc1xuIgorI34gImVtIGZpZm8gZXJhIGRlICVkIGUgYSB0YXhhIGRlIHRyYW5zZmVyw6puY2lhIG3DoXhpbWEsIGVtIGNhcmFjdGVyZXMgcG9yXG4iCisjfiAic2VndW5kbywgZXJhIGRlICVmIgorCisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICJBcnF1aXZvICVzLCBwYXJhIG8gdmFsb3IgZGUgbGltaWFyIGRlICVsdSBlIHZhbG9yIGRlIHRlbXBvIGxpbWl0ZSBkZSAlbHUsXG4iCisjfiAibyBuw7ptZXJvIG3DoXhpbW8gZGUgY2FyYWN0ZXJlcyBlbSBmaWZvIGVyYSBkZSAlZCBlIGEgdGF4YSBkZSB0cmFuc2ZlcsOqbmNpYVxuIgorI34gIm3DoXhpbWEsIGVtIGNhcmFjdGVyZXMgcG9yIHNlZ3VuZG8sIGVyYSBkZSAlZiIKKworI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGV4ZWN1dGFyIGEgZnVuw6fDo28gQ1lHRVRNT04gZW0gJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBvYnRlciBsaW1pdGFyIHBhcmEgJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgdGVtcG8gbGltaXRlIHBhcmEgJXMiCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSBsaW1pYXIsICVsdSB0ZW1wbyBsaW1pdGUsICVsdSBtw6F4LCAlbHUgYWdvcmFcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYywgJWYgc2VuZCAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGludC9zOyAlZiByZWNlYmlkb3MsICVmIGVudmlhZG9zIChjaGFyL3MpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgbGltaWFyLCAlbHUgdGVtcG8gbGltaXRlLCAlbHUgbcOheCwgJWx1IGFnb3JhXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQvczsgJWYgcmVjZWJpZG9zIChjaGFyL3MpXG4iCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSBpbnRlcnZhbG8gaW52w6FsaWRvIgorCisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIlZhbG9yIGRlIGludGVydmFsbyBpbnbDoWxpZG86ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWUiCisjfiBtc2dzdHIgIlZhbG9yIGRlZmluaWRvIGludsOhbGlkbyIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGVmaW5pZG8gaW52w6FsaWRvOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiVmFsb3IgcGFkcsOjbyBpbnbDoWxpZG8iCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJWYWxvciBwYWRyw6NvIGludsOhbGlkbzogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSB0ZW1wbyBkZWZpbmlkbyBpbnbDoWxpZG8iCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgdGVtcG8gZGVmaW5pZG8gaW52w6FsaWRvOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJWYWxvciBkZSB0ZW1wbyBwYWRyw6NvIGludsOhbGlkbyIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiVmFsb3IgZGUgdGVtcG8gcGFkcsOjbyBpbnbDoWxpZG86ICVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBkZWZpbmlyICVzIGNvbSBsaW1pYXIgJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRpbWUgdGhyZXNob2xkICVkIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZGVmaW5pciAlcyBjb21vIGxpbWlhciBkZSB0ZW1wbyAlZCIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCDDqSBvIGxpbWlhciBhdHVhbCBlICVsZCDDqSBvIHRlbXBvIGxpbWl0ZSBhdHVhbFxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBkZWZhdWx0IHRocmVzaG9sZCBhbmQgJWxkIGRlZmF1bHQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIMOpIG8gbGltaWFyIHBhZHLDo28gZSAlbGQgw6kgbyB0ZW1wbyBsaW1pdGUgcGFkcsOjb1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIGRvbid0IG1vZGlmeSB0aGUgbGVuZ3RoIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXB1bmNoLWhvbGUgICAgcHVuY2ggaG9sZXMgaW4gdGhlIGZpbGVcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgbsOjbyBtb2RpZmljYSBvIGNvbXByaW1lbnRvIGRvIGFycXVpdm9cbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICBmYXogYnVyYWNvcyBubyBhcnF1aXZvXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bsO6bT4gIHBvc2nDp8OjbyBkYSBhbG9jYcOnw6NvLCBlbSBieXRlc1xuIgorI34gIiAtbCwgLS1sZW5ndGggPG7Dum0+ICBjb21wcmltZW50byBkYSBhbG9jYcOnw6NvLCBlbSBieXRlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8bnVtPiBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPG7Dum0+ICBwb3Npw6fDo28gZW0gYnl0ZXMgZGEgcXVhbCBzZSB2YWkgZGVzY2FydGFyXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bsO6bT4gIGNvbXByaW1lbnRvIGRlIGJ5dGVzIHBhcmEgZGVzY2FydGFyIGRhIHBvc2nDp8Ojb1xuIgorI34gIiAtbSwgLS1taW5pbXVtIDxuw7ptPiBjb21wcmltZW50byBtw61uaW1vIGRhIGV4dGVuc8OjbyBwYXJhIGRlc2NhcnRhclxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIG1vc3RyYSBuw7ptZXJvIGRlIGJ5dGVzIGRlc2NhcnRhZG9zXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIk8gdGVtcG8gZGVjb3JyaWRvIGRlc2RlIG8gaG9yw6FyaW8gZGUgcmVmZXLDqm5jaWEgZm9pIGRlICUuNmYgc2VndW5kb3MuXG4iCisjfiAiQXRyYXNhbmRvIG1haXMgcGFyYSBjaGVnYXIgYW8gcHLDs3hpbW8gc2VndW5kbyBjaGVpby5cbiIKKworI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiIC10ZXJtIDxub21lLXRlcm1pbmFsPlxuIgorCisjfiBtc2dpZCAiIC1yZXNldFxuIgorI34gbXNnc3RyICIgLXJlc2V0XG4iCisKKyN+IG1zZ2lkICIgLWluaXRpYWxpemVcbiIKKyN+IG1zZ3N0ciAiIC1pbml0aWFsaXplXG4iCisKKyN+IG1zZ2lkICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWN1cnNvciA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtYXBwY3Vyc29ya2V5cyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1kZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZGVmYXVsdFxuIgorCisjfiBtc2dpZCAiIC1mb3JlZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAtZm9yZWdyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1iYWNrZ3JvdW5kIDxkZWZhdWx0fGJsYWNrfGJsdWV8Y3lhbnxncmVlbnxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisjfiBtc2dzdHIgIiAtYmFja2dyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1oYmNvbG9yIDxibGFja3xibHVlfGJyaWdodHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWhiY29sb3IgPGJsYWNrfGJsdWV8YnJpZ2h0fGN5YW58Z3JlZW58Z3JleXxtYWdlbnRhfHJlZHx3aGl0ZXx5ZWxsb3c+XG4iCisKKyN+IG1zZ2lkICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1ib2xkIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXN0b3JlXG4iCisjfiBtc2dzdHIgIiAtc3RvcmVcbiIKKworI34gbXNnaWQgIiAtY2xlYXIgPGFsbHxyZXN0PlxuIgorI34gbXNnc3RyICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKworI34gbXNnaWQgIiAtdGFicyA8dGFiMSB0YWIyIHRhYjMgLi4uPiAgICAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAtdGFicyA8YWJhMSBhYmEyIGFiYTMgLi4uPiAgICAgIChhYmFOID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLWNscnRhYnMgPGFiYTEgYWJhMiBhYmEzIC4uLj4gICAoYWJhTiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKworI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorCisjfiBtc2dpZCAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAtZHVtcCAgIDwxLU5VTUVST19ERV9DT05TT0xFUz5cbiIKKworI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWFwcGVuZCA8MS1OVU1FUk9fREVfQ09OU09MRVM+XG4iCisKKyN+IG1zZ2lkICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiBtc2dzdHIgIiAtZmlsZSBhcnF1aXZvLWRlLWRlc3Blam9cbiIKKworI34gbXNnaWQgIiAtbXNnIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtbXNnIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiBtc2dzdHIgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKworI34gbXNnaWQgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorI34gbXNnc3RyICIgLXBvd2VyZG93biA8MC02MD5cbiIKKworI34gbXNnaWQgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorI34gbXNnc3RyICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKworI34gbXNnaWQgIiAtYmZyZXEgZnJlcW51bWJlclxuIgorI34gbXNnc3RyICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKworI34gbXNnaWQgIkVycm9yIHdyaXRpbmcgc2NyZWVuZHVtcCIKKyN+IG1zZ3N0ciAiRXJybyBhbyBncmF2YXIgbyBkZXNwZWpvIGRlIHRlbGEiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgbGVyIHRhbnRvIC9kZXYvdmNzYTAgcXVhbnRvIC9kZXYvdmNzYSIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgW29ww6fDtWVzXSBhcnF1aXZvLi4uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1kICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5nIGJlbGxcbiIKKyN+ICIgIC1mICAgICAgICBjb3VudCBsb2dpY2FsLCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKKyN+ICIgIC1sICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKKyN+ICIgIC1wICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorI34gIiAgLWMgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCisjfiAiICAtdSAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKKyN+ICIgIC1zICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCisjfiAiICAtTlVNICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKKyN+ICIgICtOVU0gICAgICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXIgTlVNXG4iCisjfiAiICArL1NUUklORyAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKKyN+ICIgIC1WICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiT3DDp8O1ZXM6XG4iCisjfiAiICAtZCAgICAgICAgZXhpYmUgYWp1ZGEgYW8gaW52w6lzIGRlIGFwaXRhclxuIgorI34gIiAgLWYgICAgICAgIGNvbnRhIGxpbmhhcyBsw7NnaWNhcywgZW0gdmV6IGRhcyBsaW5oYXMgZGUgdGVsYVxuIgorI34gIiAgLWwgICAgICAgIHN1cHJpbWUgcGF1c2EgYXDDs3MgcXVlYnJhIGRlIHDDoWdpbmFcbiIKKyN+ICIgIC1wICAgICAgICBuw6NvIHVzYSBzY3JvbGwsIGxpbXBhIHRlbGEgZSBleGliZSB0ZXh0b1xuIgorI34gIiAgLWMgICAgICAgIG7Do28gdXNhIHNjcm9sbCwgZXhpYmUgdGV4dG8gZSBsaW5oYSBmaW5zIGRlIGxpbmhhXG4iCisjfiAiICAtdSAgICAgICAgc3VwcmltZSBzdWJsaW5oYWRvc1xuIgorI34gIiAgLXMgICAgICAgIGNvbXBhY3RhIGxpbmhhcyB2YXppYXMgbcO6bHRpcGxhcyBlbSB1bWFcbiIKKyN+ICIgIC1Ow5pNICAgICAgZXNwZWNpZmljYSBvIG7Dum1lcm8gZGUgbGluaGFzIHBvciB0ZWxhXG4iCisjfiAiICArTsOaTSAgICAgIGV4aWJlIG8gYXJxdWl2byBjb21lw6dhbmRvIGRhIGxpbmhhIG7Dum1lcm8gTlVNXG4iCisjfiAiICArL1RFWFRPICAgZXhpYmUgbyBhcnF1aXZvIGNvbWXDp2FuZG8gZG8gdGV4dG8gZGUgcGVzcXVpc2EgY29ycmVzcG9uZGVudGVcbiIKKyN+ICIgIC1WICAgICAgICBtb3N0cmEgaW5mb3JtYcOnw6NvIGRhIHZlcnPDo28gZSBzYWlcbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgImxpbmhhIGxvbmdhIGRlbWFpcyIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImNvbmZpZ3VyYSB0YW1hbmhvIGRlIGJsb2NvIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJ1bSBibG9jbyBkZWZlaXR1b3NvXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gdHlwZSBoZXggb3IgdXVpZCIKKyN+IG1zZ3N0ciAidGlwbyBkZSB0YWJlbGEgZGUgcGFydGnDp8OjbyAoaGV4IG91IHV1aWQpIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzIFtvcMOnw7Vlc10gZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgInJlYWQgZmFpbGVkICVzIgorI34gbXNnc3RyICJmYWxoYSBuYSBsZWl0dXJhOiAlcyIKKworI34gbXNnaWQgInNlZWsgZmFpbGVkICVzIgorI34gbXNnc3RyICJidXNjYSBkZSAlcyBmYWxob3UiCisKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImJ1c2NhIGZhbGhvdTogJWQiCisKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJncmF2YcOnw6NvIGZhbGhvdTogJWQiCisKKyN+IG1zZ2lkICJEZXRlY3RlZCAlZCBlcnJvcihzKS4iCisjfiBtc2dzdHIgIkRldGVjdGFkbyhzKSAlZCBlcnJvKHMpLiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiTmVuaHVtYSBwYXJ0acOnw6NvIGRlZmluaWRhIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2PiBbLi4uXSAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSBkZXZpY2VcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdGEgdG9kb3Mgb3MgZGlzcG9zaXRpdm9zIHVzYWRvc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXNhbmV4YSB1bSBvdSBtYWlzIGRpc3Bvc2l0aXZvc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXNhbmV4YSB0b2RvcyBvcyBkaXNwb3NpdGl2b3MgdXNhZG9zXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGxvY2FsaXphIG8gcHJpbWVpcm8gZGlzcG9zaXRpdm8gbsOjbyB1c2Fkb1xuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGRpc3Bvc2l0aXZvLWxvb3A+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZGltZW5zaW9uYSBvIGRpc3Bvc2l0aXZvXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGFycXVpdm8+XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3RhIHRvZG9zIG9zIGRpc3Bvc2l0aXZvcyBhc3NvY2lhZG9zIGNvbVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxhcnF1aXZvPlxuIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgIiVzOiBmYWxoYSBhbyBjb25maWd1cmFyIGRpc3Bvc2l0aXZvIGRlIGxvb3AsIHBvc2nDp8OjbyBuw6NvIGVzdMOhIGFsaW5oYWRvIGEgNTEyIGJ5dGVzLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IHNpbmFsIGRlc2NvbmhlY2lkbyAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6XG4iCisjfiBtc2dzdHIgInVzbzpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHROT1RBOiBlbHZ0dW5lIGZ1bmNpb25hIGFwZW5hcyBjb20ga2VybmVscyAyLjRcbiIKKworI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICJmYWx0YW5kbyBvIGRpc3Bvc2l0aXZvIGRlIGJsb2NvLCB1c2UgLWggcGFyYSBhanVkYVxuIgorCisjICJzeXNmcyB0dW5hYmxlcyIgw6kgdW0gdGVybW8gZGUgZGVzZW52b2x2aW1lbnRvIGUgbsOjbyBlbmNvbnRyZWkgcmVsYXRvcyBkZSB0cmFkdcOnw6NvIHBhcmEgZWxlIC0gbmVtIG1lc21vIG5vcyBvdXRyb3MgaWRpb21hcworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJlbHZ0dW5lIGlzIG9ubHkgdXNlZnVsIG9uIG9sZGVyIGtlcm5lbHM7XG4iCisjfiAiZm9yIDIuNiB1c2UgSU8gc2NoZWR1bGVyIHN5c2ZzIHR1bmFibGVzIGluc3RlYWQuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSDDqSDDunRpbCBhcGVuYXMgZW0ga2VybmVscyBtYWlzIGFudGlnb3M7XG4iCisjfiAicGFyYSAyLjYsIHVzZSBhZ2VuZGFkb3IgZGUgRS9TIHN5c2ZzIHR1bmFibGVzLi5cbiIKKworI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiYXJndW1lbnRvIGRlIG7Dum1lcm8gZGUgZWRpw6fDo28gZmFsaG91IgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBmYWxob3UiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlVzbzpcbiIKKyN+ICJNb3N0cmFyIHZlcnPDo286XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIk1vc3RyYXIgdGFiZWxhIGRlIHBhcnRpw6fDo286XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcMOnw7Vlc10gZGlzcG9zaXRpdm9cbiIKKyN+ICJVc28gaW50ZXJhdGl2bzpcbiIKKyN+ICIgICAgICAgICVzIFtvcMOnw7Vlc10gZGlzcG9zaXRpdm9cbiIKKyN+ICJcbiIKKyN+ICJPcMOnw7VlczpcbiIKKyN+ICItYTogVXNhIHNldGEgZW0gdmV6IGRlIHJlYWxjZS5cbiIKKyN+ICItejogSW5pY2lhIGNvbSB1bWEgdGFiZWxhIGRlIHplcm8gcGFydGnDp8O1ZXMsIGVtIHZleiBkZSBsZXIgYSB0YWJlbGEgZG8gZGlzY28uXG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IFNvYnJlcMO1ZSBhcyBzdXBvc2nDp8O1ZXMgZG8ga2VybmVsIHF1YW50byBhIG7Dum1lcm8gZGUgY2lsaW5kcm9zLFxuIgorI34gIiAgICAgICAgICAgICAgICBuw7ptZXJvIGRlIGNhYmXDp2FzIGUgbsO6bWVybyBkZSBzZXRvcmVzL3RyaWxoYS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldyaXRpbmcgZGlza2xhYmVsIHRvICVzLlxuIgorI34gbXNnc3RyICJHcmF2YW5kbyByw7N0dWxvIGRlIGRpc2NvIGVtICVzLlxuIgorCisjfiBtc2dpZCAiTGFzdCAlcyBvciArc2l6ZSBvciArc2l6ZU0gb3IgK3NpemVLIgorI34gbXNnc3RyICLDmmx0aW1vICVzIG91ICt0YW1hbmhvIG91ICt0YW1hbmhvIE0gb3UgK3RhbWFuaG8gSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiTGVuZG8gcsOzdHVsbyBkZSBkaXNjbyBkZSAlcyBubyBzZXRvciAlZC5cbiIKKworI34gbXNnaWQgIkJTRCBkaXNrbGFiZWwgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKKyN+IG1zZ3N0ciAiQ29tYW5kbyBwYXJhIHLDs3R1bG8gZGUgZGlzY28gQlNEICh0ZWNsZSBtIHBhcmEgb2J0ZXIgYWp1ZGEpOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZHJpdmVkYXRhOiAiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICBpbsOtY2lvICAgICAgZmltICAgICAgdGFtYW5obyAgdGlwb1NBICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiUHJlY2lzYSBzZXIgPD0gc2V0b3Jlcy90cmlsaGEgKiB0cmlsaGFzL2NpbGluZHJvIChwYWRyw6NvKS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAoYS0lYyk6ICIKKyN+IG1zZ3N0ciAiUGFydGnDp8OjbyAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiQXZpc286IG7Dum1lcm8gZGUgcGFydGnDp8O1ZXMgZXhjZXNzaXZvICglZDsgbyBtw6F4aW1vICDDqSAlZCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU3luY2luZyBkaXNrcy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlNpbmNyb25pemFuZG8gZGlzY29zLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAlMSRzIFtvcHRpb25zXSAtbCA8ZGlzaz4gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgJTEkcyAtcyA8cGFydGl0aW9uPiAgICAgIGdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgPHNpemU+ICAgICAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+ICIgLWNbPTxtb2RlPl0gICAgICAgICAgIGNvbXBhdGlibGUgbW9kZTogJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCisjfiAiIC1oICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gIiAtdVs9PHVuaXQ+XSAgICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorI34gIiAtdiAgICAgICAgICAgICAgICAgICAgcHJpbnQgcHJvZ3JhbSB2ZXJzaW9uXG4iCisjfiAiIC1DIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCisjfiAiIC1IIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKKyN+ICIgLVMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOlxuIgorI34gIiAlMSRzIFtvcMOnw7Vlc10gPHVuaWRhZGU+ICAgICBhbHRlcmEgdGFiZWxhIGRlIHBhcnRpw6fDo29cbiIKKyN+ICIgJTEkcyBbb3DDp8O1ZXNdIC1sIDx1bmlkYWRlPiAgbGlzdGEgdGFiZWxhcyBkZSBwYXJ0acOnw6NvXG4iCisjfiAiICUxJHMgLXMgPHBhcnRpw6fDo28+ICAgICAgICAgIGZvcm5lY2UgbyB0YW1hbmhvIGRhIHBhcnRpw6fDo28gZW0gYmxvY29zXG4iCisjfiAiXG4iCisjfiAiT3DDp8O1ZXM6XG4iCisjfiAiIC1iIDx0YW1hbmhvPiAgICAgICAgICB0YW1hbmhvIGRvIHNldG9yICg1MTIsIDEwMjQsIDIwNDggb3UgNDA5NilcbiIKKyN+ICIgLWNbPTxtb2RvPl0gICAgICAgICAgIG1vZG8gZGUgY29tcGF0aWJpbGlkYWRlOiBcImRvc1wiIG91IFwibm9uZG9zXCIgKHBhZHLDo28pXG4iCisjfiAiIC1oICAgICAgICAgICAgICAgICAgICBtb3N0cmEgZXN0YSBtZW5zYWdlbSBkZSB0ZXh0b1xuIgorI34gIiAtdVs9PHVuaWRhZGU+XSAgICAgICAgZXhpYmUgYXMgdW5pZGFkZXM6IFwiY2lsaW5kcm9zXCIgb3UgXCJzZXRvcmVzXCIgKHBhZHLDo28pXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBleGliZSBhIHZlcnPDo28gZG8gcHJvZ3JhbWFcbiIKKyN+ICIgLUMgPG7Dum1lcm8+ICAgICAgICAgICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkZSBjaWxpbmRyb3NcbiIKKyN+ICIgLUggPG7Dum1lcm8+ICAgICAgICAgICBlc3BlY2lmaWNhIG8gbsO6bWVybyBkZSBjYWJlw6dhc1xuIgorI34gIiAtUyA8bsO6bWVybz4gICAgICAgICAgIGVzcGVjaWZpY2EgbyBuw7ptZXJvIGRlIHNldG9yZXMgcG9yIHRyaWxoYVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCByZWFsaXphciBidXNjYSBlbSAlcyIKKworI34gbXNnaWQgInVuYWJsZSB0byB3cml0ZSAlcyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGdyYXZhciBlbSAlcyIKKworI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICJlcnJvIGZhdGFsIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIkNvbWFuZG8gLSBhw6fDo28iCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBzZXQiCisjfiBtc2dzdHIgIlZvY8OqIHByZWNpc2EgY29uZmlndXJhciIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJjYWJlw6dhcyIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgZSAiCisKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgIk7Do28gc3Vwb3J0ZSBhbyBzdWZpeG86IFwiJXNcIi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdXBwb3J0ZWQ6IDEwXk46IEtCIChLaWxvQnl0ZSksIE1CIChNZWdhQnl0ZSksIEdCIChHaWdhQnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAyXk46IEsgIChLaWJpQnl0ZSksIE0gIChNZWJpQnl0ZSksIEcgIChHaWJpQnl0ZSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkjDoSBzdXBvcnRlOiAxMF5OOiBLQiAoS2lsb0J5dGUpLCBNQiAoTWVnYUJ5dGUpLCBHQiAoR2lnYUJ5dGUpXG4iCisjfiAiICAgICAgICAgICAgIDJeTjogSyAgKEtpYmlCeXRlKSwgTSAgKE1lYmlCeXRlKSwgRyAgKEdpYmlCeXRlKVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJVc2FuZG8gdmFsb3IgcGFkcsOjbyAldVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorCisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCAlbGx1IHNldG9yZXNcbiIKKworI34gbXNnaWQgImNhbm5vdCB3cml0ZSBkaXNrIGxhYmVsIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZ3JhdmFyIG8gcsOzdHVsbyBkbyBkaXNjbyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkVycm8gbm8gZmVjaGFtZW50byBkbyBhcnF1aXZvXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIkF2aXNvOiBjb25maWd1cmFuZG8gbyBkZXNsb2NhbWVudG8gZGUgc2V0b3IgcGFyYSBjb21wYXRpYmlsaWRhZGUgY29tIERPU1xuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiRGV0ZWN0YWRvIHVtIHLDs3R1bG8gZGUgZGlzY28gT1NGLzEgZW0gJXMsIGVudHJhbmRvIGVtIG1vZG8gZGUgcsOzdHVsby5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIEl0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG9cbiIKKyN+ICIgICAgICAgICBzd2l0Y2ggb2ZmIHRoZSBtb2RlICh3aXRoIGNvbW1hbmQgJ2MnKS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBVklTTzogbyBtb2RvIGNvbXBhdMOtdmVsIGNvbSBET1MgZXN0w6Egb2Jzb2xldG8uIMOJIGFsdGFtZW50ZSByZWNvbWVuZMOhdmVsXG4iCisjfiAiICAgICAgIGRlc2F0aXZhciBlc3RlIG1vZG8gKGNvbSBvIGNvbWFuZG8gXCJjXCIpLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBjeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4gVXNlIGNvbW1hbmQgJ3UnIHRvXG4iCisjfiAiICAgICAgICAgY2hhbmdlIHVuaXRzIHRvIHNlY3RvcnMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJBVklTTzogb3MgY2lsaW5kcm9zIGNvbW8gdW5pZGFkZSBkZSBleGliacOnw6NvIGVzdMOjbyBvYnNvbGV0b3MuIFVzZSBvXG4iCisjfiAiICAgICAgIGNvbWFuZG8gXCJ1XCIgcGFyYSBhbHRlcmFyIGFzIHVuaWRhZGVzIHBhcmEgc2V0b3Jlcy5cbiIKKworI34gbXNnaWQgIk5ldyBkaXNrIGlkZW50aWZpZXIgKGN1cnJlbnQgMHglMDh4KTogIgorI34gbXNnc3RyICJOb3ZvIGlkZW50aWZpY2Fkb3IgZG8gZGlzY28gKGF0dWFsIDB4JTA4eCk6ICIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAiTsOjbyBow6Egc2V0b3JlcyBsaXZyZXMgZGlzcG9uw612ZWlzXG4iCisKKyMgw5psdGltbyBjaWxpbmRybywgK2NpbGluZHJvcywgK3RhbWFuaG9LLCArdGFtYW5ob00gb3UgK3RhbWFuaG9HCisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIsOabHRpbW8gJTEkcywgKyUyJHMgb3UgK3RhbWFuaG97SyxNLEd9IgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAgZsOtcy4gPSAoJWQsICVkLCAlZCkgIgorCisjfiBtc2dpZCAibG9naWNhbD0oJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAibMOzZ2ljbyA9ICglZCwgJWQsICVkKVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJBdmlzbzogaW7DrWNpbyBkZSBkYWRvcyBpbnbDoWxpZG8gbmEgcGFydGnDp8OjbyAlemRcbiIKKworI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIkFkaWNpb25hbmRvIHVtYSBwYXJ0acOnw6NvIHByaW3DoXJpYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQVZJU086IFNlIHZvY8OqIHRpdmVyIGNyaWFkbyBvdSBhbHRlcmFkbyBxdWFscXVlciBwYXJ0acOnw6NvIERPUyA2LngsIGNvbnN1bHRlIGEgcMOhZ2luYSBkZSBtYW51YWwgZG8gZmRpc2sgcGFyYSBvYnRlciBpbmZvcm1hw6fDtWVzIGFkaWNpb25haXMuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgQm9vdCAgICAgIEluw61jaW8gICAgICAgIEZpbSAgICAgIEJsb2NvcyAgIElkICBTaXN0ZW1hXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2NvICVzOiAlZCBjYWJlw6dhcywgJWxsdSBzZXRvcmVzLCAlbGx1IGNpbGluZHJvc1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTnIgQUYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisjfiBtc2dzdHIgIk5vIE9BICBDYiBTZXQgIENpbCAgQ2IgU2V0ICBDaWwgICAgIEluw61jaW8gICAgIFRhbSAgSURcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgTWFjIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgZmRpc2soMSkgY2Fubm90IGhhbmRsZSB0aGVzZSBkaXNrcy5cbiIKKyN+ICJcdFVzZSBlaXRoZXIgcGRpc2sgb3IgcGFydGVkIHRvIG1vZGlmeSB0aGUgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIlx0TmV2ZXJ0aGVsZXNzIHNvbWUgYWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRFeGlzdGUgdW0gcsOzdHVsbyBNYWMgdsOhbGlkbyBuZXN0ZSBkaXNjby5cbiIKKyN+ICJcdEluZmVsaXptZW50ZSwgbyBmZGlzaygxKSBuw6NvIMOpIGNhcGF6IGRlIG1hbmlwdWxhciBlc3RlcyBkaXNjb3NcbiIKKyN+ICJcdFVzZSBvIHBkaXNrIG91IHBhcnRlZCBwYXJhIG1vZGlmaWNhciBhIHRhYmVsYSBkZSBwYXJ0acOnw6NvLlxuIgorI34gIlx0TsOjbyBvYnN0YW50ZSwgYWxndW5zIGNvbnNlbGhvczpcbiIKKyN+ICJcdDEuIGZkaXNrIGRlc3RydWlyw6Egc2V1IGNvbnRlw7pkbyBuYSBncmF2YcOnw6NvLlxuIgorI34gIlx0Mi4gQ2VydGlmaXF1ZS1zZSBkZSBxdWUgbyBkaXNjbyBOw4NPIMOpIG1haXMgdW1hIHBhcnRlIHZpdGFsXG4iCisjfiAiXHQgICBkZSB1bSBncnVwbyBkZSB2b2x1bWVzIChkbyBjb250csOhcmlvLCB2b2PDqiBwb2RlcsOhIGFwYWdhclxuIgorI34gIlx0ICAgdGFtYsOpbSBvdXRyb3MgZGlzY29zLCBzZSBuw6NvIGhvdXZlciBlc3BlbGhhbWVudG8pLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgTWFjIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdFNpbnRvIG11aXRvIC0gZXN0ZSBmZGlzayBuw6NvIHBvZGUgbWFuaXB1bGFyIHLDs3R1bG9zIGRlIGRpc2NvcyBNYWMuXG4iCisjfiAiXHRTZSB2b2PDqiBkZXNlamEgYWRpY2lvbmFyIHBhcnRpw6fDtWVzIGRvIHRpcG8gRE9TLCBwcmltZWlyIGNyaWUgdW1hXG4iCisjfiAiXHRub3ZhIHRhYmVsYSBkZSBwYXJ0acOnw6NvIERPUyB2YXppYS4gKFVzZSBvLilcbiIKKyN+ICJcdEFWSVNPOiBJc3NvIHZhaSBkZXN0cnVpciBvIGF0dWFsIGNvbnRlw7pkbyBkbyBkaXNjby5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIkRlIGFjb3JkbyBjb20gYSBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYy4sIG8gcsOzdHVsbyBuw6NvIHBvZGUgY29udGVyIG1haXMgZG8gcXVlIDUxMiBieXRlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlcyAocsOzdHVsbyBkZSBkaXNjbyBTR0kpOiAlZCBjYWJlw6dhcywgJWxsdSBzZXRvcmVzLCAlbGx1IGNpbGluZHJvc1xuIgorI34gIlVuaWRhZGVzID0gJXMgZGUgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0tIHBhcnRpw6fDtWVzIC0tLS0tLVxuIgorI34gInB0IyAlKnMgIEluZm8gICAgIEluw61jaW8gICAgICBGaW0gICBTZXRvcmVzICBJZCAgU2lzdGVtYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBJbmZvLiBkZSBpbmljaWFsaXphw6fDo28gLS0tLS1cbiIKKyN+ICJBcnF1aXZvIGRlIGluaWNpYWxpemHDp8OjbzogJXNcbiIKKyN+ICItLS0tLSBFbnRyYWRhcyBkZSBkaXJldMOzcmlvIC0tLS0tXG4iCisKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMnpkOiAlLTEwcyBzZXRvciAlNXUgdGFtYW5obyAlOHVcbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZFxuIgorI34gbXNnc3RyICJOZW5odW1hIHBhcnRpw6fDo28gZGVmaW5pZGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIGlzIG9ubHkgJWQgZGlza2Jsb2NrIGxhcmdlLFxuIgorI34gImJ1dCB0aGUgZGlzayBpcyAlZCBkaXNrYmxvY2tzIGxvbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBIHBhcnRpw6fDo28gZGUgZGlzY28gaW50ZWlybyB0ZW0gdW0gdGFtYW5obyBkZSBhcGVuYXMgJWQgYmxvY29zIGRlIGRpc2NvLFxuIgorI34gIm1hcyBvIGRpc2NvIHRlbSAlZCBibG9jb3MgZGUgdGFtYW5oby5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvICVkIG7Do28gaW5pY2lhIGVtIHVtIGxpbWl0ZSBkZSBjaWxpbmRyby5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyAlZCBuw6NvIHRlcm1pbmEgZW0gdW0gbGltaXRlIGRlIGNpbGluZHJvLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvICV6ZCBqw6EgZXN0w6EgZGVmaW5pZGEuIEV4Y2x1YS1hIGFudGVzIGRlIGFkaWNpb27DoS1sYSBub3ZhbWVudGUuXG4iCisKKyN+IG1zZ2lkICIgTGFzdCAlcyIKKyN+IG1zZ3N0ciAiIMOabHRpbW8gJXMiCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLlxuIgorI34gbXNnc3RyICJDb25zdHJ1aW5kbyB1bSBub3ZvIHLDs2R1bG8gZGUgZGlzY28gU0dJLlxuIgorCisjfiBtc2dpZCAiSERJT19HRVRHRU8gaW9jdGwgZmFpbGVkIG9uICVzIgorI34gbXNnc3RyICJpb2N0bCBIRElPX0dFVEdFTyBmYWxob3UgZW0gJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAgVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS5cbiIKKyN+ICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLlxuIgorI34gbXNnc3RyICIiCisjfiAiQXZpc286IGlvY3RsIEJMS0dFVFNJWkUgZmFsaG91IGVtICVzLiBVc2FuZG8gbyB2YWxvciBnZW9tw6l0cmljbyBkbyBjaWxpbmRybyBkZSAlbGx1LlxuIgorI34gIkVzdGUgdmFsb3IgcG9kZSBzZXIgdHJ1bmNhZG8gZW0gZGlzcG9zaXRpdm9zID4gMzMuOCBHQi5cbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx0SU7DjUNJTz0lZFx0Q09NUFJJTUVOVE89JWRcbiIKKworI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiVGVudGFuZG8gbWFudGVyIG9zIHBhcsOibWV0cm9zIGRhIHBhcnRpw6fDtWVzIGrDoSBkZWZpbmlkYXMuXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiU0lNXG4iCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBTdW4gZGlza2xhYmVsLiIKKyN+IG1zZ3N0ciAiQ29uc3RydWluZG8gdW0gbm92byByw7NydWxvIGRlIGRpc2NvIFN1bi4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzY28gJXMgKHLDs3R1bG8gZGUgZGlzY28gU3VuKTogJXUgY2FiZcOnYXMsICVsbHUgc2V0b3JlcywgJWQgUlBNXG4iCisjfiAiJWxsdSBjaWxpbmRyb3MsICVkIGNpbGluZHJvcyBhbHRlcm5hdGl2b3MsICVkIGNpbGluZHJvcyBmw61zaWNvc1xuIgorI34gIiVkIHNldG9yZXMvY2lsaW5kcm9zIGV4dHJhcywgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiSUQgcsOzdHVsbzogJXNcbiIKKyN+ICJJRCB2b2x1bWU6ICVzXG4iCisjfiAiVW5pZGFkZXMgPSAlcyBkZSAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlcyAocsOzdHVsbyBkZSBkaXNjbyBTdW4pOiAldSBjYWJlw6dhcywgJWxsdSBzZXRvcmVzLCAlbGx1IGNpbGluZHJvc1xuIgorI34gIlVuaWRhZGVzID0gJXMgZGUgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBPcMOnw6NvICAgSW7DrWNpbyAgICAgIEZpbSAgICBCbG9jb3MgICBJZCAgU2lzdGVtYVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1BbiBkaXNwb3NpdGl2b1x0IGF0aXZhIGEgcGFydGnDp8OjbyBuLCBkZXNhdGl2YSBhcyBkZW1haXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDb25jbHXDrWRvXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBmZGlzayBHUFQgc3VwcG9ydCBpcyBjdXJyZW50bHkgbmV3LCBhbmQgdGhlcmVmb3JlIGluIGFuIGV4cGVyaW1lbnRhbCBwaGFzZS4gVXNlIGF0IHlvdXIgb3duIGRpc2NyZXRpb24uIgorI34gbXNnc3RyICJBVklTTzogU3Vwb3J0ZSBkbyBmZGlzayBhIEdQVCDDqSBub3ZvIGUsIHBvcnRhbnRvLCBlbSB1bWEgZmFzZSBleHBlcmltZW50YWwuIFVzZSBhIHNldSBwcsOzcHJpbyBjcml0w6lyaW8iCisKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvICV6ZCBmb2kgY3JpYWRhXG4iCisKKyN+IG1zZ2lkICJCdWlsZGluZyBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlMDhYLSUwNFgtJTA0WC0lMDJYJTAyWC0lMDJYJTAyWCUwMlglMDJYJTAyWCUwMlgpXG4iCisjfiBtc2dzdHIgIkNvbnN0cnVpbmRvIHVtIG5vdm8gcsOzZHVsbyBkZSBkaXNjbyBHUFQgKEdVSUQ6ICUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWClcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiICVzIFtvcMOnw7Vlc10gLXUgPFVTVcOBUklPPiBDT01BTkRPXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbVVNFUiBbYXJnXS4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtvcMOnw7Vlc10gWy1dIFtVU1XDgVJJTyBbYXJnXS4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICBzaG93IG9ubHkgY3VycmVudCBtb250aCAoZGVmYXVsdClcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICBzaG93IHByZXZpb3VzLCBjdXJyZW50IGFuZCBuZXh0IG1vbnRoXG4iCisjfiAiIC1zLCAtLXN1bmRheSAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1tLCAtLW1vbmRheSAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1qLCAtLWp1bGlhbiAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorI34gIiAteSwgLS15ZWFyICAgICAgIHNob3cgd2hvbGUgY3VycmVudCB5ZWFyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZSAgICAgICAgbW9zdHJhIGFwZW5hcyBvIG3DqnMgYXR1YWwgKHBhZHLDo28pXG4iCisjfiAiIC0zLCAtLXRocmVlICAgICAgbW9zdHJhIG3DqnMgYW50ZXJpb3IsIGF0dWFsIGUgcHLDs3hpbW9cbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBEb21pbmdvIGNvbW8gcHJpbWVpcm8gZGlhIGRhIHNlbWFuYVxuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIFNlZ3VuZGEtZmVpcmEgY29tbyBwcmltZWlybyBkaWEgZGEgc2VtYW5hXG4iCisjfiAiIC1qLCAtLWp1bGlhbiAgICAgZXhpYmUgZGF0YXMganVsaWFuYXNcbiIKKyN+ICIgLXksIC0teWVhciAgICAgICBtb3N0cmEgbyBhbm8gYXR1YWwgaW50ZWlyb1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGV4aWJlIGluZm9ybWHDp8O1ZXMgZGUgdmVyc8OjbyBlIHNhaVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGV4aWJlIGVzdGUgdGV4dG8gZGUgYWp1ZGEgZSBzYWlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImdldGFkZHJpbmZvICVzOiVzOiAlcyIKKyN+IG1zZ3N0ciAiZ2V0YWRkcmluZm8gJXM6JXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICBsb2cgdGhlIHByb2Nlc3MgSUQgdG9vXG4iCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1kLCAtLXVkcCAgICAgICAgICAgICB1c2EgYXBlbmFzIFVEUFxuIgorI34gIiAtaSwgLS1pZCAgICAgICAgICAgICAgcmVnaXN0cmEgbyBsb2cgZG8gSUQgZG8gcHJvY2Vzc28gdGFtYsOpbVxuIgorI34gIiAtZiwgLS1maWxlIDxhcnF1aXZvPiAgcmVnaXN0cmEgbyBjb250ZcO6ZG8gZGVzdGUgYXJxdWl2byB0YW1iw6ltXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBleGliZSBlc3RlIHRleHRvIGRlIGFqdWRhIGUgc2FpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCisjfiAiIC1QLCAtLXBvcnQgPG51bWJlcj4gICB1c2UgdGhpcyBVRFAgcG9ydFxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLXNlcnZlciA8bm9tZT4gICBncmF2YSBuZXN0ZSBzZXJ2aWRvciByZW1vdG8gZGUgc3lzbG9nXG4iCisjfiAiIC1QLCAtLXBvcnQgPG7Dum1lcm8+ICAgdXNhIGVzdGEgcG9ydGEgVURQXG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiBtYXJjYSBhIG1lbnNhZ2VtIGZvcm5lY2lkYSBjb20gZXN0YSBwcmlvcmlkYWRlXG4iCisjfiAiIC1zLCAtLXN0ZGVyciAgICAgICAgICBlbnZpYSBhIG1lbnNhZ2VtIHBhcmEgYSBzYcOtZGEgZGUgZXJybyB0YW1iw6ltXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC10LCAtLXRhZyA8dGFnPiAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorI34gIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdCwgLS10YWcgPHRhZz4gICAgICAgbWFyY2EgY2FkYSBsaW5oYSBjb20gZXN0YSB0YWdcbiIKKyN+ICIgLXUsIC0tc29ja2V0IDxzb3F1ZXRlPiBncmF2YSBuZXN0ZSBzb3F1ZXRlIFVuaXhcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIGV4aWJlIGluZm9ybWHDp8OjbyBkYSB2ZXJzw6NvIGUgc2FpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIkZhbGhhIGFvIGFicmlyL2NyaWFyICVzOiAlbVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgIkZhbGhhIGFvIHRyYXZhciAlczogJW1cbiIKKworI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIk7Dum1lcm8gaW52w6FsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGEgbW9udGFnZW0gZmFsaG91IgorCisjLCBmdXp6eQorI358IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSAuLi5cbiIKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgW29ww6fDtWVzXSBkaXNwb3NpdGl2byAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICVzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorI34gbXNnc3RyICJVc286ICVzIFstVl0gWy12fC1xXSBjb21hbmRvcyBkaXNwb3NpdGl2b3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlczogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1uIF0gZGV2aWNlXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWyAtbiBdIGRpc3Bvc2l0aXZvXG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgZmFsaG91IgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWyAtbGFydnNtZl0gZGlzcG9zaXRpdm9cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJVc286ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstdl0gWy1OIG5yLW9mLWlub2Rlc10gWy1WIHZvbHVtZS1uYW1lXVxuIgorI34gIiAgICAgICBbLUYgZnNuYW1lXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAlcyBbLXZdIFstTiBuci1kZS1pbm9kZXNdIFstViBub21lLXZvbHVtZV1cbiIKKyN+ICIgICAgICAgWy1GIG5vbWUgZGUgc2lzdCBhcnF1aXZvc10gZGlzcG9zaXRpdm8gW2NvbnRhZ2VtLWRlLWJsb2Nvc11cbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIHZlcmlmaWNhciBzdGF0dXMgZGUgZGlzcG9zaXRpdm8gJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibWtmcyAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgdmVyc8OjbyAlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiZXJybyBkZSBzdHJ0b2w6IG7Dum1lcm8gZGUgYmxvY29zIG7Do28gZXNwZWNpZmljYWRvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJOw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgbyB0YW1hbmhvIGRlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYWxsb2MoKSBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIm1hbGxvYyBmYWxob3UiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWNdIFstdjB8LXYxXSBbLXBUYW1Qw6FnXSBkaXNwb3NpdGl2byBbYmxvY29zXVxuIgorCisjfiBtc2dpZCAib25lIGJhZCBwYWdlXG4iCisjfiBtc2dzdHIgInVtYSBww6FnaW5hIGludsOhbGlkYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICBzICAgbW9zdHJhIG8gcsOzdHVsbyBkbyBkaXNjbyBjb21wbGV0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZG9lcyBub3Qgc3VwcG9ydCBzd2Fwc3BhY2UgdmVyc2lvbiAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgLSBlcnJvOiB2ZXJzw6NvICVkIGRlc2NvbmhlY2lkYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnXG4iCisjfiBtc2dzdHIgIk7Do28gc2Vyw6EgdGVudGFkbyBjcmlhciBkaXNwb3NpdGl2byBkZSBwZXJtdXRhIChzd2FwKSBlbSAnJXMnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiVXNvOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJNZW51IHNlbSBkaXJlw6fDo28uIEFzc3VtaW5kbyBob3Jpem9udGFsIGNvbW8gcGFkcsOjby4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIEFJWCBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IExpbnV4IGNhbm5vdCBoYW5kbGUgdGhlc2VcbiIKKyN+ICJcdGRpc2tzIGF0IHRoZSBtb21lbnQuICBOZXZlcnRoZWxlc3Mgc29tZVxuIgorI34gIlx0YWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gIlx0My4gQmVmb3JlIGRlbGV0aW5nIHRoaXMgcGh5c2ljYWwgdm9sdW1lIGJlIHN1cmVcbiIKKyN+ICJcdCAgIHRvIHJlbW92ZSB0aGUgZGlzayBsb2dpY2FsbHkgZnJvbSB5b3VyIEFJWFxuIgorI34gIlx0ICAgbWFjaGluZS4gIChPdGhlcndpc2UgeW91IGJlY29tZSBhbiBBSVhwZXJ0KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdEV4aXN0ZSB1bSByw7N0dWxvIEFJWCB2w6FsaWRvIG5lc3RlIGRpc2NvLlxuIgorI34gIlx0SW5mZWxpem1lbnRlLCBvIExpbnV4IG7Do28gw6kgY2FwYXogZGUgbWFuaXB1bGFyIGRpc2Nvc1xuIgorI34gIlx0ZGUgdGFsIHRpcG8gYXR1YWxtZW50ZS4gTsOjbyBvYnN0YW50ZSwgYWxndW5zXG4iCisjfiAiXHRjb25zZWxob3M6XG4iCisjfiAiXHQxLiBmZGlzayBkZXN0cnVpcsOhIHNldSBjb250ZcO6ZG8gbmEgZ3JhdmHDp8Ojby5cbiIKKyN+ICJcdDIuIENlcnRpZmlxdWUtc2UgZGUgcXVlIG8gZGlzY28gTsODTyDDqSBtYWlzIHVtYSBwYXJ0ZSB2aXRhbFxuIgorI34gIlx0ICAgZGUgdW0gZ3J1cG8gZGUgdm9sdW1lcyAoZG8gY29udHLDoXJpbywgdm9jw6ogcG9kZXLDoSBhcGFnYXJcbiIKKyN+ICJcdCAgIHRhbWLDqW0gb3V0cm9zIGRpc2Nvcywgc2UgbsOjbyBob3V2ZXIgZXNwZWxoYW1lbnRvKS5cbiIKKyN+ICJcdDMuIEFudGVzIGRlIGV4Y2x1aXIgZXN0ZSB2b2x1bWUgZsOtc2ljbywgY2VydGlmaXF1ZS1zZSBkZVxuIgorI34gIlx0ICAgcmVtb3ZlciBvIGRpc2NvIGxvZ2ljYW1lbnRlIGRlIHN1YSBtw6FxdWluYSBBSVhcbiIKKyN+ICJcdCAgIChkbyBjb250csOhcmlvIHZvY8OqIGlyw6Egc2UgdG9ybmFyIHVtIEFJWHBlcnQpLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlLDs3R1bG8gQlNEIGRvIGRpc3Bvc2l0aXZvOiAlc1xuIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICBleGNsdWkgdW1hIHBhcnRpw6fDo28gQlNEIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgY3JpYSB1bWEgbm92YSBwYXJ0acOnw6NvIEJTRCIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCBCU0QgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgbW9zdHJhIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gQlNEIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICBhbHRlcmEgYSBpZGVudGlmaWNhw6fDo28gZG8gc2lzdGVtYSBkZSBhcnF1aXZvcyIKKworI34gbXNnaWQgIiAgIHUgICBjaGFuZ2UgdW5pdHMgKGN5bGluZGVycy9zZWN0b3JzKSIKKyN+IG1zZ3N0ciAiICAgdSAgIGFsdGVyYSB1bmlkYWRlcyAoY2lsaW5kcm9zL3NldG9yZXMpIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYW55IG1vcmUgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgbWFpcyBxdWFscXVlciBtZW3Ds3JpYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC5cbiIKKyN+ICJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisjfiAiQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXMgY29udGVudCB3b24ndCBiZSByZWNvdmVyYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNyaWFuZG8gdW0gbm92byByw7N0dWxvIGRlIGRpc2NvIERPUy4gQXMgYWx0ZXJhw6fDtWVzIHBlcm1hbmVjZXLDo29cbiIKKyN+ICJzb21lbnRlIGVtIG1lbcOzcmlhIGF0w6kgcXVlIHZvY8OqIGRlY2lkYSBncmF2w6EtbGFzLiBBcMOzcyBpc3RvLCDDqSBjbGFybyxcbiIKKyN+ICJvIGNvbnRlw7pkbyBhbnRlcmlvciBuw6NvIHBvZGVyw6EgbWFpcyBzZXIgcmVjdXBlcmFkby5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5vdGU6IHNlY3RvciBzaXplIGlzICVkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIk5vdGE6IG8gdGFtYW5obyBkbyBzZXRvciDDqSAlZCAobsOjbyAlZClcbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAiTyBkaXNwb3NpdGl2byBuw6NvIGNvbnTDqW0gbmVtIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBET1MgdsOhbGlkYSBuZW0gdW0gcsOzdHVsbyBkZSBkaXNjbyBTdW4sIE9TRiBvdSBTR0lcbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIkVycm8gaW50ZXJub1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJFT0YgKGZpbSBkZSBhcnF1aXZvKSByZWNlYmlkbyB0csOqcyB2ZXplcyAtIHNhaW5kby4uLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIkF2aXNvOiBhIHBhcnRpw6fDo28gJWQgcG9zc3VpIHRpcG8gdmF6aW9cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiQSBwYXJ0acOnw6NvICVpIG7Do28gaW5pY2lhIGVtIHVtIGxpbWl0ZSBkZSBjaWxpbmRybzpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJkZXZlcmlhIHNlciAoJWQsICVkLCAxKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIkEgcGFydGnDp8OjbyAlZCBuw6NvIHRlcm1pbmEgZW0gdW0gbGltaXRlIGRlIGNpbGluZHJvLlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJkZXZlcmlhIHNlciAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIllvdSBtdXN0IGRlbGV0ZSBzb21lIHBhcnRpdGlvbiBhbmQgYWRkIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBmaXJzdFxuIgorI34gbXNnc3RyICJWb2PDqiBwcmVjaXNhIGV4Y2x1aXIgYWxndW1hIHBhcnRpw6fDo28gZSBhZGljaW9uYXIgdW1hIHBhcnRpw6fDo28gZXN0ZW5kaWRhIGFudGVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiQ29tYW5kbyAtIGHDp8Ojb1xuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHBhcnRpw6fDo28gcHJpbcOhcmlhICgxLTQpXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiRXN0ZSBrZXJuZWwgbG9jYWxpemEgbyB0YW1hbmhvIGRlIHNldG9yIHBvciBjb250YSBwcsOzcHJpYSAtIG9ww6fDo28gLWIgaWdub3JhZGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RGVzY3VscGUuIE7Do28gaMOhIHVtIG1lbnUgYXZhbsOnYWRvIGRpc3BvbsOtdmVsIHBhcmEgdGFiZWxhcyBkZSBwYXJ0acOnw6NvIFNHSS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNvcnJ5IFlvdSBtYXkgY2hhbmdlIHRoZSBUYWcgb2Ygbm9uLWVtcHR5IHBhcnRpdGlvbnMuXG4iCisjfiBtc2dzdHIgIkRlc2N1bHBlLiBWb2PDqiBwb2RlIGFsdGVyYXIgYXBlbmFzIGEgZXRpcXVldGEgZGUgcGFydGnDp8O1ZXMgbsOjbyB2YXppYXMuXG4iCisKKyN+IG1zZ2lkICJEbyBZb3Uga25vdywgWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrP1xuIgorI34gbXNnc3RyICJWb2PDqiBzYWJpYSBxdWUgdGVtIHVtYSBzb2JyZXBvc2nDp8OjbyBkZSBwYXJ0acOnw7VlcyBubyBkaXNjbz9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLiBDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LFxuIgorI34gInVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4gQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXNcbiIKKyN+ICJjb250ZW50IHdpbGwgYmUgdW5yZWNvdmVyYWJseSBsb3N0LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiQ3JpYW5kbyB1bSBub3ZvIHLDs3R1bG8gZGUgZGlzY28gU0dJLiBBcyBhbHRlcmHDp8O1ZXMgcGVybWFuZWNlcsOjb1xuIgorI34gInNvbWVudGUgZW0gbWVtw7NyaWEgYXTDqSBxdWUgdm9jw6ogZGVjaWRhIGdyYXbDoS1sYXMuIEFww7NzIGlzdG8sIMOpIGNsYXJvLFxuIgorI34gIm8gY29udGXDumRvIGFudGVyaW9yIG7Do28gcG9kZXLDoSBtYWlzIHNlciByZWN1cGVyYWRvLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJtZW3Ds3JpYSBpbnN1ZmljaWVudGUgLSBkZXNpc3RpbmRvXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJtZW3Ds3JpYSBpbnN1ZmljaWVudGU/XG4iCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJlICVzIHNlIHNvYnJlcMO1ZW1cbiIKKworI34gbXNnaWQgImRldmljZTogc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGEiCisjfiBtc2dzdHIgImRpc3Bvc2l0aXZvOiBhbGdvIGNvbW8gL2Rldi9oZGEgb3UgL2Rldi9zZGEiCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgLXMgW291IC0tc2hvdy1zaXplXTogbGlzdGEgbyB0YW1hbmhvIGRlIHVtYSBwYXJ0acOnw6NvIgorCisjfiBtc2dpZCAiICAgIC1kIFtvciAtLWR1bXBdOiAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXQiCisjfiBtc2dzdHIgIiAgICAtZCBbb3UgLS1kdW1wXTogICAgICBpZGVtLCBtYXMgZW0gdW0gZm9ybWF0byBhZGVxdWFkbyBwYXJhIGVudHJhZGEgcG9zdGVyaW9yIgorCisjfiBtc2dpZCAiICAgIC1pIFtvciAtLWluY3JlbWVudF06IG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDAiCisjfiBtc2dzdHIgIiAgICAtaSBbb3UgLS1pbmNyZW1lbnRdOiBudW1lcmEgb3MgY2lsaW5kcm9zLCBldGMuIGEgcGFydGlyIGRlIDEsIGVtIHZleiBkZSAwIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNlaXRhL2luZm9ybWEgZW0gdW5pZGFkZXMgZGUgc2V0b3Jlcy9ibG9jb3MvY2lsaW5kcm9zL01CIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbb3UgLS1ET1NdOiAgICAgICBwYXJhIGNvbXBhdGliaWxpZGFkZSBjb20gRE9TOiBkZXNwZXJkacOnYSB1bSBwb3VjbyBkZSBlc3Bhw6dvIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbb3UgLS1yZS1yZWFkXTogICBmYXogbyBrZXJuZWwgcmVsZXIgYSB0YWJlbGEgZGUgcGFydGnDp8OjbyIKKworI34gbXNnaWQgIiAgICAtTyBmaWxlIDogICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byBmaWxlIgorI34gbXNnc3RyICIgICAgLU8gYXJxdWl2byA6ICAgICAgICAgIHNhbHZhIG9zIHNldG9yZXMgcXVlIHNlcsOjbyBzb2JyZXNjcml0b3MgZW0gYXJxdWl2byIKKworI34gbXNnaWQgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByZXN0b3JlIHRoZXNlIHNlY3RvcnMgYWdhaW4iCisjfiBtc2dzdHIgIiAgICAtSSBhcnF1aXZvIDogICAgICAgICByZXN0YXVyYSBvcyBzZXRvcmVzIGdyYXZhZG9zIGVtIGFycXVpdm8iCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12IFtvdSAtLXZlcnNpb25dOiAgIG1vc3RyYSBhIHZlcnPDo28iCisKKyN+IG1zZ2lkICIgICAgLWcgW29yIC0tc2hvdy1nZW9tZXRyeV06IHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiICAgIC1nIFtvdSAtLXNob3ctZ2VvbWV0cnldOiBtb3N0cmEgYSBzdXBvc2nDp8OjbyBkbyBrZXJuZWwgc29icmUgYSBnZW9tZXRyaWEiCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFtvdSAtLUxpbnV4XTogICAgICBuw6NvIHJlY2xhbWEgZGUgY29pc2FzIGlycmVsZXZhbnRlcyBwYXJhIG8gTGludXgiCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAgVm9jw6ogcG9kZSBhbnVsYXIgYSBnZW9tZXRyaWEgZGV0ZWN0YWRhIHVzYW5kbzoiCisKKyN+IG1zZ2lkICIgICAgLWYgIFtvciAtLWZvcmNlXTogICAgICBkbyB3aGF0IEkgc2F5LCBldmVuIGlmIGl0IGlzIHN0dXBpZCIKKyN+IG1zZ3N0ciAiICAgIC1mICBbb3UgLS1mb3JjZV06ICAgICAgZmHDp2EgbyBxdWUgZXUgbWFuZGFyLCBtZXNtbyBxdWUgc2VqYSBpZGlvdGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgdGhpcyBjaGVjay5cbiIKKyN+IG1zZ3N0ciAiVXNlIGEgb3DDp8OjbyAtLWZvcmNlIHBhcmEgY2FuY2VsYXIgdG9kYXMgYXMgdmVyaWZpY2HDp8O1ZXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBwcmVtYXR1cmUgZW5kIG9mIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IGZpbmFsIGRlIGVudHJhZGEgcHJlbWF0dXJvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogY291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHZvY8OqIHByZWNpc2EgZXNwZWNpZmljYXIgbyB0aXBvIGRvIHNpc3RlbWEgZGUgYXJxdWl2b3MiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogbWtmcyBbLVZdIFstdCB0aXBvU2lzdEFycV0gW29ww6fDtWVzLXNpc3RBcnFdIGRpc3Bvc2l0aXZvIFt0YW1hbmhvXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmc2NrIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgZGUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhbG9jYXIgYnVmZmVyIHBhcmEgaW5vZGVzIgorCisjfiBtc2dpZCAiVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiVGVudGUgYGdldG9wdCAtLWhlbHAnIHBhcmEgbWFpb3JlcyBpbmZvcm1hw6fDtWVzLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJVc286IGdldG9wdCB0ZXh0b19vcMOnw7VlcyBwYXLDom1ldHJvc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGdldG9wdCBbb3B0aW9uc10gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgZ2V0b3B0IFtvcMOnw7Vlc10gWy0tXSB0ZXh0b19vcMOnw7VlcyBwYXLDom1ldHJvc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImdldG9wdCAoZW5oYW5jZWQpIDEuMS40XG4iCisjfiBtc2dzdHIgImdldG9wdCAobWVsaG9yYWRvKSAxLjEuMClcbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydDogJXMiCisjfiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGFicmlyIC9kZXYvcG9ydDogJXMiCisKKyN+IG1zZ2lkICIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pXG4iCisjfiBtc2dzdHIgIihFc3BlcmFkbzogYFVUQycsIGBMT0NBTCcgIG91IG5hZGEuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0gY29uc3VsdGEgZSBhanVzdGEgbyByZWzDs2dpbyBkZSBoYXJkd2FyZSAoUlRDKS5cbiIKKyN+ICJcbiIKKyN+ICJVc286IGh3Y2xvY2sgW2Z1bsOnw6NvXSBbb3DDp8O1ZXMuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVuw6fDtWVzOlxuIgorI34gIiAgLS1oZWxwICAgICAgICBNb3N0cmEgZXN0YSBhanVkYS5cbiIKKyN+ICIgIC0tc2hvdyAgICAgICAgTMOqIG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgZSBpbXByaW1lIG8gcmVzdWx0YWRvLlxuIgorI34gIiAgLS1zZXQgICAgICAgICBDb25maWd1cmEgbyBSVEMgcGFyYSBhIGhvcmEgZm9ybmVjaWRhIGNvbSAtLWRhdGUuXG4iCisjfiAiICAtLWhjdG9zeXMgICAgIENvbmZpZ3VyYSBhIGhvcmEgZG8gc2lzdGVtYSBhIHBhcnRpciBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZS5cbiIKKyN+ICIgIC0tc3lzdG9oYyAgICAgQ29uZmlndXJhIG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgcGFyYSBhIGhvcmEgYXR1YWwgZG8gc2lzdGVtYS5cbiIKKyN+ICIgIC0tYWRqdXN0ICAgICAgQWp1c3RhIG8gUlRDIHBhcmEgbGV2YXIgZW0gY29udGEgdmFyaWHDp8OjbyBzaXN0ZW3DoXRpY2EgZGVzZGUgXG4iCisjfiAiICAgICAgICAgICAgICAgIHF1ZSBvIHJlbMOzZ2lvIGZvaSBhanVzdGFkbyBvdSBjb25maWd1cmFkbyBkYSDDumx0aW1hIHZlei5cbiIKKyN+ICIgIC0tZ2V0ZXBvY2ggICAgRXhpYmUgbyB2YWxvciBkZSBlcG9jaCBkbyByZWzDs2dpbyBkZSBoYXJkd2FyZSBkbyBrZXJuZWwuXG4iCisjfiAiICAtLXNldGVwb2NoICAgIENvbmZpZ3VyYSBvIHZhbG9yIGRlIGVwb2NoIGRvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIGRvIGtlcm5lbCBwYXJhIG8gXG4iCisjfiAiICAgICAgICAgICAgICAgIHZhbG9yIGZvcm5lY2lkbyBjb20gLS1lcG9jaC5cbiIKKyN+ICIgIC0tdmVyc2lvbiAgICAgQ29sb2NhIGEgdmVyc8OjbyBkZSBod2Nsb2NrIGVtIHN0ZG91dC5cbiIKKyN+ICJcbiIKKyN+ICJPcMOnw7VlczogXG4iCisjfiAiICAtLXV0YyAgICAgICAgIE8gcmVsw7NnaW8gZGUgaGFyZHdhcmUgw6kgbWFudGlkbyBlbSBVVEMgKGhvcmEgdW5pdmVyc2FsIGNvb3JkZW5hZGEpLlxuIgorI34gIiAgLS1sb2NhbHRpbWUgICBPIHJlbMOzZ2lvIGRlIGhhcmR3YXJlIMOpIG1hbnRpZG8gZW0gaG9yYSBsb2NhbC5cbiIKKyN+ICIgIC0tZGlyZWN0aXNhICAgQWNlc3NhIG8gYmFycmFtZW50byBJU0EgZGlyZXRhbWVudGUsIGVtIHZleiBkZSAlcy5cbiIKKyN+ICIgIC0tYmFkeWVhciAgICAgSWdub3JhIG8gYW5vIGRvIFJUQywgcG9pcyBhIEJJT1MgZXN0w6EgY29tIHByb2JsZW1hcy5cbiIKKyN+ICIgIC0tZGF0ZSAgICAgICAgRXNwZWNpZmljYSBhIGhvcmEgcGFyYSBhIHF1YWwgY29uZmlndXJhciBvIHJlbMOzZ2lvIGRlIGhhcmR3YXJlLlxuIgorI34gIiAgLS1lcG9jaD1hbm8gIEVzcGVjaWZpY2EgbyBhbm8gaW5pY2lhbCBkbyB2YWxvciBcbiIKKyN+ICIgICAgICAgICAgICAgICAgZGUgZXBvY2ggZG8gcmVsw7NnaW8gZGUgaGFyZHdhcmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlIHNwZWNpZmllZCBtdWx0aXBsZSBmdW5jdGlvbnMuXG4iCisjfiAiWW91IGNhbiBvbmx5IHBlcmZvcm0gb25lIGZ1bmN0aW9uIGF0IGEgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZvY8OqIGVzcGVjaWZpY291IG3Dumx0aXBsYXMgb3DDp8O1ZXMgZGUgZnVuw6fDo28uXG4iCisjfiAiVm9jw6ogc8OzIHBvZGUgZXhlY3V0YXIgdW1hIGZ1bsOnw6NvIHBvciB2ZXouXG4iCisKKyN+IG1zZ2lkICIlczogVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguXG4iCisjfiBtc2dzdHIgIiVzOiBBcyBvcMOnw7VlcyAtLXV0YyBlIC0tbG9jYWx0aW1lIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdmFzLiBWb2PDqiBlc3BlY2lmaWNvdSBhbWJhcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguXG4iCisjfiBtc2dzdHIgIiVzOiBBcyBvcMOnw7VlcyAtLXV0YyBlIC0tbG9jYWx0aW1lIHPDo28gbXV0dWFtZW50ZSBleGNsdXNpdmFzLiBWb2PDqiBlc3BlY2lmaWNvdSBhbWJhcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLlxuIgorI34gbXNnc3RyICIlczogQXMgb3DDp8O1ZXMgLS11dGMgZSAtLWxvY2FsdGltZSBzw6NvIG11dHVhbWVudGUgZXhjbHVzaXZhcy4gVm9jw6ogZXNwZWNpZmljb3UgYW1iYXMuXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAiY2FuJ3QgbWFsbG9jIGluaXRzdHJpbmciCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAidXN1w6FyaW9zIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbVV3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstaGlMbXddIFstbCBwcm9ncmFtYV9sb2dpbl0gWy10IHRlbXBvX2xpbWl0ZV0gWy1JIHN0cmluZ19pbmljXSBbLUggaG9zdF9sb2dpbl0gdGF4YV9iYXVkLC4uLiBsaW5oYSBbdGlwb190ZXJtXVxuIgorI34gIm91XHRbLWhpTG13XSBbLWwgcHJvZ3JhbWFfbG9naW5dIFstdCB0ZW1wb19saW1pdGVdIFstSSBzdHJpbmdfaW5pY10gWy1IIGhvc3RfbG9naW5dIGxpbmhhIHRheGFfYmF1ZCwuLi4gW3RpcG9fdGVybV1cbiIKKworI34gbXNnaWQgImxvZ2luOiBtZW1vcnkgbG93LCBsb2dpbiBtYXkgZmFpbFxuIgorI34gbXNnc3RyICJsb2dpbjogcG91Y2EgbWVtw7NyaWE7IG8gbG9naW4gcG9kZSBmYWxoYXJcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgdHR5Y2xhc3MiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBtYWxsb2MgcGFyYSB0dHljbGFzcyIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgZ3JwbGlzdCIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIG1hbGxvYyBwYXJhIGdycGxpc3QiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAiTG9naW4gZW0gJXMgZGUgJXMgbmVnYWRvLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIlVzbzogJXMgWyAtZiBub21lX2NvbXBsZXRvIF0gWyAtbyBsb2NhbF9kZV90cmFiYWxobyBdICIKKworI34gbXNnaWQgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gbXNnc3RyICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFsgLXMgc2hlbGwgXSBbIC0tbGlzdC1zaGVsbHMgXSBbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+ICIgICAgICAgWyB1c2VybmFtZSBdXG4iCisjfiBtc2dzdHIgIlsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlczogdXNlIGEgb3DDp8OjbyAtbCBwYXJhIHZlciBhIGxpc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgYWJyaXIgJXMgcGFyYSBsZWl0dXJhIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IGZhbGhhIGRlIG1hbGxvYy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogbWVtw7NyaWEgaW5zdWZpY2llbnRlIVxuIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBGUk9NICVzIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiJXM6IExPR0lOIFJFQ1VTQURPIEEgUEFSVElSIERFICVzIE5PIFRUWSAlcyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICIlczogTE9HSU4gUkVDVVNBRE8gTk8gVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkxvZ2luIGluY29ycmV0b1xuIgorCisjfiBtc2dpZCAibG9naW46IGZhaWx1cmUgZm9ya2luZzogJXMiCisjfiBtc2dzdHIgImxvZ2luOiBmYWxoYSBlbSBmb3JrOiAlcyIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2luOiBuw6NvIGV4aXN0ZSBpbnRlcnByZXRhZG9yIGRlIGNvbWFuZG9zOiAlcy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgdXN1w6FyaW86ICIKKworI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAibm9tZSBkZSBsb2dpbiBsb25nbyBkZW1haXMuXG4iCisKKyN+IG1zZ2lkICJsb2dpbiBuYW1lcyBtYXkgbm90IHN0YXJ0IHdpdGggJy0nLlxuIgorI34gbXNnc3RyICJub21lcyBkZSBsb2dpbiBuw6NvIHBvZGVtIGluaWNpYXIgY29tICctJy5cbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIlNhbHRvcyBkZSBsaW5oYSBFWENFU1NJVk9TIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiRkFMSEEgREUgTE9HSU4gQSBQQVJUSVIgREUgJXMsICVzIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIkZBTEhBIERFIExPR0lOIEVNICVzLCAlcyIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlZCBGQUxIQVMgREUgTE9HSU4gQSBQQVJUSVIgREUgJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCBGQUxIQVMgREUgTE9HSU4gRU0gJXMsICVzIgorCisjfiBtc2dpZCAidXNhZ2U6IG1lc2cgW3kgfCBuXVxuIgorI34gbXNnc3RyICJVc286IG1lc2cgW3kgfCBuXVxuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBwZXJtaXNzw6NvIG5lZ2FkYSIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IHNldHVpZCIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJVc286IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIlByb2Nlc3NvIGRlIGRlc2xpZ2FtZW50byBhYm9ydGFkbyIKKworI34gbXNnaWQgIiVzOiBPbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi5cbiIKKyN+IG1zZ3N0ciAiJXM6IHNvbWVudGUgbyByb290IHBvZGUgZGVzbGlnYXIgdW0gc2lzdGVtYS5cbiIKKworI34gbXNnaWQgIlRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuP1xuIgorI34gbXNnc3RyICJJc3RvIHByZWNpc2Egc2VyIGFtYW5ow6MuIFZvY8OqIHBvZGUgZXNwZXJhcj9cbiIKKworI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgInBhcmEgbWFudXRlbsOnw6NvOyBib3VuY2UsIGJvdW5jZSIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIk8gc2lzdGVtYSBzZXLDoSBkZXNsaWdhZG8gZGVudHJvIGRlIDUgbWludXRvcyIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiQXNzaW0sIGxvZ2lucyBlc3TDo28gcHJvaWJpZG9zLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWJvb3RlZCBieSAlczogJXMiCisjfiBtc2dzdHIgIiVzIHBvciAlczogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiJXMgcG9yICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiUG9yIHF1ZSBldSBhaW5kYSBlc3RvdSB2aXZvIGFww7NzIGEgcmVpbmljaWFsaXphw6fDo28/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkFnb3JhIHZvY8OqIHBvZGUgZGVzbGlnYXIgYSBlbmVyZ2lhLi4uIgorCisjfiBtc2dpZCAiQ2FsbGluZyBrZXJuZWwgcG93ZXItb2ZmIGZhY2lsaXR5Li4uXG4iCisjfiBtc2dzdHIgIkNoYW1hbmRvIHJlY3Vyc28gZGUgZGVzbGlnYW1lbnRvIGRvIGtlcm5lbC4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJFcnJvIGFvIGRlc2xpZ2FyXHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAiRXhlY3V0YW5kbyBvIHByb2dyYW1hIFwiJXNcIiAuLi5cbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIGhvdXJzICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIk8gc2lzdGVtYSBzZXLDoSBkZXNsaWdhZG8gZW0gJWQgaG9yYXMgZSAlZCBtaW51dG8ocykiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIGhvdXIgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiTyBzaXN0ZW1hIHNlcsOhIGRlc2xpZ2FkbyBlbSAxIGhvcmEgZSAlZCBtaW51dG8ocykiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIk8gc2lzdGVtYSBzZXLDoSBkZXNsaWdhZG8gZW0gJWQgbWludXRvc1xuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBtaW51dGVcbiIKKyN+IG1zZ3N0ciAiTyBzaXN0ZW1hIHNlcsOhIGRlc2xpZ2FkbyBlbSAxIG1pbnV0b1xuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIk8gc2lzdGVtYSBzZXLDoSBkZXNsaWdhZG8gSU1FRElBVEFNRU5URSFcbiIKKworI34gbXNnaWQgIlx0Li4uICVzIC4uLlxuIgorI34gbXNnc3RyICJcdC4uLiAlcyAuLi5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciBzd2Fwb2ZmLiBTaHJ1ZyEiCisjfiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGZhemVyIGZvcmsgcGFyYSBzd2Fwb2ZmLiBEcm9nYSEiCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZXhlYyBzd2Fwb2ZmLiBFc3BlcmFuZG8gcXVlIHVtb3VudCByZXNvbHZhIG8gcHJvYmxlbWEuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHVtb3VudCwgdHJ5aW5nIG1hbnVhbGx5LiIKKyN+IG1zZ3N0ciAiTsOjbyDDqSBwb3Nzw612ZWwgZmF6ZXIgZm9yayBwYXJhIHVtb3VudDsgdGVudGFuZG8gbWFudWFsbWVudGUuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGV4ZWMgJXM7IHRlbnRhbmRvIHVtb3VudC5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIk7Do28gw6kgcG9zc8OtdmVsIGV4ZWMgdW1vdW50OyBkZXNpc3RpbmRvIGRlIHVtb3VudC4iCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIkRlc21vbnRhbmRvIHF1YWlzcXVlciBzaXN0ZW1hcyBkZSBhcnF1aXZvcyByZW1hbmVzY2VudGVzLi4uIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IG7Do28gZm9pIHBvc3PDrXZlbCBkZXNtb250YXIgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIkluaWNpYWxpemFuZG8gZW0gbW9kbyBtb25vdXN1w6FyaW8uXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJleGVjIGRlIGludGVycHJldGFkb3IgZGUgY29tYW5kb3MgbW9ub3VzdcOhcmlvIGZhbGhvdVxuIgorCisjfiBtc2dpZCAiZm9yayBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiZm9yayBkZSBpbnRlcnByZXRhZG9yIGRlIGNvbWFuZG9zIG1vbm91c3XDoXJpbyBmYWxob3VcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJlcnJvIGFicmluZG8gZmlmb1xuIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiZXJybyBleGVjdXRhbmRvIGZuYWxwcm9nXG4iCisKKyN+IG1zZ2lkICJlcnJvciBmb3JraW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJlcnJvIGZhemVuZG8gZm9yayBmaW5hbHByb2dcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlNlbmhhIGluY29ycmV0YS5cbiIKKworI34gbXNnaWQgImZvcmsgZmFpbGVkXG4iCisjfiBtc2dzdHIgIm8gZm9yayBmYWxob3VcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAibsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIGluaXR0YWJcbiIKKworI34gbXNnaWQgIm5vIFRFUk0gb3IgY2Fubm90IHN0YXQgdHR5XG4iCisjfiBtc2dzdHIgInNlbSBURVJNIG91IG7Do28gw6kgcG9zc8OtdmVsIHN0YXQgdHR5XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZXJybyBhbyBncmF2YXIgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiZXJybyBhbyBncmF2YXIgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgImVycm8gYW8gZ3JhdmFyICVzOiAlcyIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAibsO6bWVybyBleGNlc3Npdm8gZGUgaW92cyAoYWx0ZXJlIG8gY8OzZGlnbyBkZSB3YWxsL3R0eW1zZy5jKSIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBFUlJPIEdSQVZFIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogbyBhcnF1aXZvICVzIGVzdMOhIG9jdXBhZG8uXG4iCisKKyN+IG1zZ2lkICIlczogdGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudClcbiIKKyN+IG1zZ3N0ciAiJXM6IG8gYXJxdWl2byAlcyBlc3TDoSBvY3VwYWRvICglcyBwcmVzZW50ZSkuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgbGluayAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCB2aW5jdWxhciAlczogJXNcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGRlc2Jsb3F1ZWFyICVzOiAlcyAoYXMgYWx0ZXJhw6fDtWVzIGFpbmRhIGVzdMOjbyBlbSAlcylcbiIKKworI34gbXNnaWQgIiVzOiBDYW5ub3QgZm9ya1xuIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIHJlYWxpemFyIGZvcmtcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbYXJxdWl2b11cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGxlciAlcy5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzdGF0IHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIHN0YXQgYXJxdWl2byB0ZW1wb3LDoXJpby5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkIHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGxlciBhcnF1aXZvIHRlbXBvcsOhcmlvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBjYWwgWy0xM3NtanlWXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorI34gbXNnc3RyICJVc286IGNhbCBbLW1qeVZdIFtbbcOqc10gYW5vXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiRGlhIGRlIFPDo28gVGliIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVzOiBlcnJvIGRlIHByb2N1cmEgZW0gJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbIC1zIHNpbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2luYWwgXVxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIlVzbzogbG9nZ2VyIFstaXNdIFstZiBhcnF1aXZvXSBbLXAgcHJpb3JpZGFkZV0gWy10IGV0aXF1ZXRhXSBbLXUgc29xdWV0ZV0gWyBtZW5zYWdlbSAuLi4gXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvb2sgWy1kZmFdIFstdCBjaGFyXSBzdHJpbmcgW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlVzbzogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbYXJxdWl2b11cbiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICJtZW3Ds3JpYSBpbnN1ZmljaWVudGU/XG4iCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczogbWVtw7NyaWEgaW5zdWZpY2llbnRlIVxuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICJjaGFtYWRhOiAlcyBkZSBwYXJhIGFycXVpdm9zLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlVzbzogc2NyaXB0IFstYV0gWy1mXSBbLXFdIFthcnF1aXZvXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiZXJybyBkZSBncmF2YcOnw6NvIGVtICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yOiAlc1xuIgorI34gbXNnc3RyICJlcnJvIGRlIGdyYXZhw6fDo28gZW0gJXNcbiIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1kZWZhdWx0IF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1kZWZhdWx0IF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyBzb2NrZXRwYXRoXSBbLVQgdGltZW91dF1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBsYXN0IFstI10gWy1mIGFycXVpdm9dIFstdCB0dHldIFstaCBub21lX2hvc3RdIFt1c3XDoXJpbyAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIHNpbmFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWyAtcyBpbnRlcnByZXRhZG9yX2RlX2NvbWFuZG9zIF0gIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBkaXIgLi4uIC1mIF0gbm9tZS4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6ICVzOiBhcHBlYXJzIHRvIGNvbnRhaW4gJyVzJyBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIk8gZGlzY28gJXMgbsOjbyBjb250w6ltIHVtYSB0YWJlbGEgZGUgcGFydGnDp8OjbyB2w6FsaWRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIlZhbG9yIGRlZmluaWRvIGludsOhbGlkbzogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgIlVzbzogd3JpdGUgdXN1w6FyaW8gW3R0eV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgaW5mb3JtYcOnw7VlcyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgZW5jcnlwdGlvbiB0eXBlICVkXG4iCisjfiBtc2dzdHIgIlRpcG8gZGUgY3JpcHRvZ3JhZmlhIG7Do28gc3Vwb3J0YWRvOiAlc1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgaW5mb3JtYcOnw7VlcyBzb2JyZSBvIGRpc3Bvc2l0aXZvICVzOiAlc1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgb3BlbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciBvIGRpc3Bvc2l0aXZvICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiB1c3XDoXJpbyBcIiVzXCIgbsOjbyBleGlzdGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBOw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG5lbmh1bSBkaXNwb3NpdGl2byBkZSBsYcOnbyBlLCBkZSBhY29yZG8gY29tICVzLFxuIgorI34gIiAgICAgICBlc3RlIGtlcm5lbCBuw6NvIGNvbmhlY2UgbyBkaXNwb3NpdGl2byBkZSBsYcOnb1xuIgorI34gIiAgICAgICAoc2UgZm9yIGVzdGUgbyBjYXNvLCByZWNvbXBpbGUgb3UgdXNlIGBpbnNtb2QgbG9vcC5vJykuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hpbGUgcmVhZGluZyBwYXNzcGhyYXNlIgorI34gbXNnc3RyICJGYWx0YSBtZW3Ds3JpYSBxdWFuZG8gbyBidWZmZXIgY3Jlc2NlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIk8gc2V0b3IgJWQgasOhIGVzdMOhIGFsb2NhZG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIMOpIHByb3RlZ2lkbyBjb250cmEgZ3JhdmHDp8OjbzsgbW9udGFuZG8gc29tZW50ZSBwYXJhIGxlaXR1cmEiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBsb2NrIGludG8gbWVtb3J5LCBleGl0aW5nLlxuIgorI34gbXNnc3RyICJOw6NvIMOpIHBvc3PDrXZlbCBibG9xdWVhciAobG9jaykgbmEgbWVtw7NyaWEsIHNhaW5kb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWQpOiBzdWNlc3NvXG4iCisKKyN+IG1zZ2lkICJkZWxfbG9vcCglcyk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAiZGVsX2xvb3AoJXMpOiBzdWNlc3NvXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBkZWxldGUgZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBuw6NvIGZvaSBwb3Nzw612ZWwgZXhjbHVpciBvIGRpc3Bvc2l0aXZvICVzOiAlc1xuIgorCisjfiBtc2dpZCAiVGhpcyBtb3VudCB3YXMgY29tcGlsZWQgd2l0aG91dCBsb29wIHN1cHBvcnQuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIkVzdGUgbW91bnQgZm9pIGNvbXBpbGFkbyBzZW0gc3Vwb3J0ZSBhIGxhw6dvcy4gUmVjb21waWxlLW8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIGxvb3BfZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaXZlIGluZm9cbiIKKyN+ICIgJTEkcyAtYSB8IC0tYWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZFxuIgorI34gIiAlMSRzIC1kIHwgLS1kZXRhY2ggPGxvb3BkZXY+IFs8bG9vcGRldj4gLi4uXSBkZWxldGVcbiIKKyN+ICIgJTEkcyAtZiB8IC0tZmluZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluZCB1bnVzZWRcbiIKKyN+ICIgJTEkcyAtYyB8IC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgICAgICAgICAgcmVzaXplXG4iCisjfiAiICUxJHMgLWogfCAtLWFzc29jaWF0ZWQgPGZpbGU+IFstbyA8bnVtPl0gICAgIGxpc3QgYWxsIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+ICIgJTEkcyBbIG9wdGlvbnMgXSB7LWZ8LS1maW5kfGxvb3BkZXZ9IDxmaWxlPiAgc2V0dXBcbiIKKyN+IG1zZ3N0ciAiIgorI34gInVzYWdlOlxuIgorI34gIiAgJXMgZGlzcG9zaXRpdm9fbGHDp28gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBkw6EgaW5mb3JtYcOnw7Vlc1xuIgorI34gIiAgJXMgLWQgZGlzcG9zaXRpdm9fbGHDp28gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBleGNsdWlcbiIKKyN+ICIgICVzIFsgLWUgY3JpcHRvZ3JhZmlhIF0gWyAtbyBkZXNsb2NhbWVudG8gXSBkaXNwb3NpdGl2b19sYcOnbyBhcnF1aXZvICMgY29uZmlndXJhw6fDo29cbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiTsOjbyBoYXZpYSBzdXBvcnRlIGEgbGHDp28gZGlzcG9uw612ZWwgcXVhbmRvIGRhIGNvbXBpbGHDp8Ojby4gUmVjb21waWxlLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzOiAlcyIKKworI34gbXNnaWQgImJ1ZyBpbiB4c3RybmR1cCBjYWxsIgorI34gbXNnc3RyICJlcnJvIG5hIGNoYW1hZGEgYSB4c3RybmR1cCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWMgZmFsaG91XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJkZXNjb25oZWNpZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiBlICIKKworI34gbXNnaWQgIlVzYWdlOiBjdHJsYWx0ZGVsIGhhcmR8c29mdFxuIgorI34gbXNnc3RyICJVc286IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsdWVdfFstUyB2YWx1ZV0pIChbLXQgdmFsdWVdfFstVCB2YWx1ZV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLXEgWy1pIGludGVydmFsb11dIChbLXMgdmFsb3JdfFstUyB2YWxvcl0pIChbLXQgdmFsb3JdfFstVCB2YWxvcl0pIFstZ3wtR10gYXJxdWl2byBbYXJxdWl2by4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWy1jXSBbLW4gbsOtdmVsXSBbLXMgdGFtYW5ob19idWZmZXJdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIk7Dum1lcm8gaW52w6FsaWRvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAibyBmb3JrIGZhbGhvdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgImVzdGFkbyBkYSByb3RhIGZhbGhvdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRlcHJlY2F0ZWQgdXNhZ2U6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIC4uLlxuIgorI34gbXNnc3RyICJVc286ICVzIFtzaG0gfCBtc2cgfCBzZW1dIGlkLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXMgZW0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtYXggc2VnIHNpemUgKGtieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAidGFtYW5obyBtw6F4aW1vIGRvIHNlZ21lbnRvIChLYik6ICVsZFxuIgorCisjfiBtc2dpZCAic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisjfiBtc2dzdHIgInNlZ21lbnRvcyBhbG9jYWRvczogJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAicMOhZ2luYXMgYWxvY2FkYXMgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgInDDoWdpbmFzIHJlc2lkZW50ZXM6ICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJEZXNlbXBlbmhvIGRlIHBlcm11dGE6ICVsZCB0ZW50YXRpdmFzXHQgJWxkIHN1Y2Vzc29zXG4iCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGRlICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBVc286IFwiJXMgW29ww6fDtWVzXVxuIgorI34gIlx0IC1tIDxhcnFfbWFwYT4gIChwYWRyw6NvID0gXCIlc1wiKVxuIgorI34gIlx0IC1wIDxhcnFfcHJvPiAocGFkcsOjbyA9IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIGNvbmZpZ3VyYSBvIHBlcmZpbCBkZSBtdWx0aXBsaWNhw6fDo28gcGFyYSA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIG1vc3RyYSBzb21lbnRlIGluZm9ybWHDp8O1ZXMgc29icmUgbyBwYXNzbyBkZSBhbW9zdHJhZ2VtLlxuIgorI34gIlx0IC12ICAgICAgICAgICAgbW9zdHJhIGRhZG9zIGRldGFsaGFkb3MuXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBtb3N0cmEgdG9kb3Mgb3Mgc8OtbWJvbG9zLCBtZXNtbyBzZSBhIGNvbnRhZ2VtIGZvciAwLlxuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVpbmljaWFsaXphIHRvZG9zIG9zIGNvbnRhZG9yZXMgKHNvbWVudGUgcm9vdClcbiIKKyN+ICJcdCAtViAgICAgICAgICAgIG1vc3RyYSBhIHZlcnPDo28gZSBzYWlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGVycm8gYW8gZ3JhdmFyICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBkZSAlc1xuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IHVzdcOhcmlvIGRlc2NvbmhlY2lkb1xuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IHZhbG9yIGludsOhbGlkb1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiVGVjbGEgaWxlZ2FsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpbGxlZ2FsIHRpbWVfdCB2YWx1ZSAlc1xuIgorI34gbXNnc3RyICIlczogbsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicnRjIHJlYWQiCisjfiBtc2dzdHIgIiwgcHJvbnRvIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgcHJvZ3JhbWEgW2FyZyAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiVXNvOiAlcyA8ZGlzcG9zaXRpdm8+IFsgLWkgPElSUT4gfCAtdCA8SE9SQT4gfCAtYyA8Q0hBUlM+IHwgLXcgPEVTUEVSQT4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgImVycm8gZGUgbWFsbG9jIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJleGVjIGZhbGhvdVxuIgorCisjfiBtc2dpZCAiY29sOiBiYWQgLWwgYXJndW1lbnQgJXMuXG4iCisjfiBtc2dzdHIgImNvbDogYXJndW1lbnRvIGludsOhbGlkbyBwYXJhIC1sICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbCBbLWJmcHhdIFstbCBubGluZV1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBjb2wgWy1iZnB4XSBbLWwgbmxpbmhhXVxuIgorCisjfiBtc2dpZCAiY29sOiB3cml0ZSBlcnJvci5cbiIKKyN+IG1zZ3N0ciAiY29sOiBlcnJvIGRlIGdyYXZhw6fDo28uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtIF0gWyAtMiBdIFsgZmlsZSAuLi4gXVxuIgorI34gbXNnc3RyICJVc286ICVzIFsgLSBdIFsgLTIgXSBbIGFycXVpdm8gLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXNvOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVuYXNdIFthcnF1aXZvIC4uLl1cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGJhZCBsZW5ndGggdmFsdWUuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IHZhbG9yIGRlIGNvbXByaW1lbnRvIGluY29ycmV0by5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGJhZCBza2lwIHZhbHVlLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiB2YWxvciBwYXJhIHB1bGFyIGluY29ycmV0by5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRfZmlsZV0gWy1uIGxlbmd0aF0gWy1zIHNraXBdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogWy1iY2RvdnhdIFstZSBmbXRdIFstZiBhcnFfZm10XSBbLW4gY29tcHJdIFstcyBwdWxhcl0gW2FycXVpdm8gLi4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbLWRmbHBjc3VdIFsrbsO6bWVyb19kYV9saW5oYSB8ICsvcGFkcsOjb10gbm9tZTEgbm9tZTIgLi4uXG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IG9kKDEpIGZvaSBkZXByZWNpYWRvIHBhcmEgaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGEgY29tcGF0aWJpbGlkYWRlIGNvbSBoZXhkdW1wKDEpIG7Do28gc3Vwb3J0YSBhIG9ww6fDo28gLSVjJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IGNvbnN1bHRlIHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogbsOjbyBmb2kgcG9zc8OtdmVsIGxlciAlcy5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGxpbmhhIGxvbmdhIGRlbWFpcy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIk1lbcOzcmlhIGluc3VmaWNpZW50ZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiAiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBlc3Bhw6dvIGVtIGJ1ZmZlclxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIlVzbzogcmV2IFthcnF1aXZvIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAiVXNvOiAlcyBbYXJxdWl2b11cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIlVzbzogJXMgWyAtaSBdIFsgLXRUZXJtIF0gYXJxdWl2by4uLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFsb2NhciBidWZmZXIuXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoZW4gZ3Jvd2luZyBidWZmZXIuXG4iCisjfiBtc2dzdHIgIkZhbHRhIG1lbcOzcmlhIHF1YW5kbyBvIGJ1ZmZlciBjcmVzY2UuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCisjfiBtc2dzdHIgIjogZGlyZXTDs3JpbyBpbnbDoWxpZG86ICcuJyBuw6NvIMOpIG8gcHJpbWVpcm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICI6IGRpcmV0w7NyaW8gaW52w6FsaWRvOiAnLi4nIG7Do28gw6kgbyBzZWd1bmRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGVycm9yOiBsYWJlbCBvbmx5IHdpdGggdjEgc3dhcCBhcmVhXG4iCisjfiBtc2dzdHIgIiVzIC0gZXJybzogbmVuaHVtIGx1Z2FyIHBhcmEgYXRpdmFyIHBlcm11dGEgKHN3YXApP1xuIgorCisjfiBtc2dpZCAiZmF0YWw6IGZpcnN0IHBhZ2UgdW5yZWFkYWJsZSIKKyN+IG1zZ3N0ciAiZmF0YWw6IHByaW1laXJhIHDDoWdpbmEgaWxlZ8OtdmVsIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBEZXZpY2UgJyVzJyBjb250YWlucyBhIHZhbGlkIFN1biBkaXNrbGFiZWwuXG4iCisjfiAiVGhpcyBwcm9iYWJseSBtZWFucyBjcmVhdGluZyB2MCBzd2FwIHdvdWxkIGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJObyBzd2FwIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgc3dhcCB2MCBvbiB0aGF0IGRldmljZSwgdXNlXG4iCisjfiAidGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBvIGRpc3Bvc2l0aXZvICclcycgY29udMOpbSB1bSByw7N0dWxvIGRlIGRpc2NvIFN1biB2w6FsaWRvLlxuIgorI34gIiBJc3RvIHByb3ZhdmVsbWVudGUgc2lnbmlmaWNhIHF1ZSBjcmlhciBhIHBlcm11dGEgKHN3YXApIHYwIGRlc3RydWlyw6Egc3VhIHRhYmVsYSBkZSBwYXJ0acOnw6NvLlxuIgorI34gIiBOZW5odW1hIHBlcm11dGEgY3JpYWRhLiBTZSB2b2PDqiByZWFsbWVudGUgZGVzZWphIGNyaWFyIHVtYSBwZXJtdXRhIHYwIG5lc3NlIGRpc3Bvc2l0aXZvLCB1c2VcbiIKKyN+ICJhIG9ww6fDo28gLWYgcGFyYSBmb3LDp2FyIGEgY3JpYcOnw6NvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxpbnV4IGV4dDMiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBuYXRpdmEiCisKKyN+IG1zZ2lkICJPUy8yIElGUyIKKyN+IG1zZ3N0ciAiSUZTIGRvIE9TLzIiCisKKyN+IG1zZ2lkICJOVEZTIgorI34gbXNnc3RyICJOVEZTIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNLICAgICBDaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTSyAgTGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBHaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIiAgICAgICBmZGlzayAtdiAgICAgICAgICAgICAgICAgICAgIEdpdmUgZmRpc2sgdmVyc2lvblxuIgorI34gIkhlcmUgRElTSyBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYiBvciAvZGV2L3NkYVxuIgorI34gImFuZCBQQVJUSVRJT04gaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGE3XG4iCisjfiAiLXU6IGdpdmUgU3RhcnQgYW5kIEVuZCBpbiBzZWN0b3IgKGluc3RlYWQgb2YgY3lsaW5kZXIpIHVuaXRzXG4iCisjfiAiLWIgMjA0ODogKGZvciBjZXJ0YWluIE1PIGRpc2tzKSB1c2UgMjA0OC1ieXRlIHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogZmRpc2sgWy1iIFNTWl0gWy11XSBESVNDTyAgICAgQWx0ZXJhIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28uXG4iCisjfiAiICAgICAgIGZkaXNrIC1sIFstYiBTU1pdIFstdV0gRElTQ08gIExpc3RhIGEocykgdGFiZWxhKHMpIGRlIHBhcnRpw6fDtWVzLlxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUScOHw4NPICAgICAgICAgICBEw6EgbyB0YW1hbmhvIGRhKHMpIHBhcnRpw6fDo28ow7VlcyksIGVtIGJsb2Nvcy5cbiIKKyN+ICIgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBEw6EgYSB2ZXJzw6NvIGRvIGZkaXNrLlxuIgorI34gIkFxdWksIERJU0NPIMOpIGFsZ28gY29tbyAvZGV2L2hkYiBvdSAvZGV2L3NkYVxuIgorI34gImUgUEFSVEnDh8ODTyDDqSBhbGdvIGNvbW8gL2Rldi9oZGE3LlxuIgorI34gIi11OiBkw6EgSW7DrWNpbyBlIEZpbSBlbSB1bmlkYWRlcyBkZSBzZXRvciAoZW0gdmV6IGRlIGNpbGluZHJvKS5cbiIKKyN+ICItYiAyMDQ4OiAocGFyYSBjZXJ0YXMgdW5pZGFkZXMgTU8pIHVzYXIgc2V0b3JlcyBkZSAgMjA0OCBieXRlcy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRldmljZVxuIgorI34gIkUuZy46IGZkaXNrIC9kZXYvaGRhICAoZm9yIHRoZSBmaXJzdCBJREUgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3NkYyAgKGZvciB0aGUgdGhpcmQgU0NTSSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvZWRhICAoZm9yIHRoZSBmaXJzdCBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9yZC9jMGQwICBvcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKGZvciBSQUlEIGRldmljZXMpXG4iCisjfiAiICAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRpc3Bvc2l0aXZvXG4iCisjfiAiRXguOiBmZGlzayAvZGV2L2hkYSAgKHBhcmEgbyBwcmltZWlybyBkaXNjbyBJREUpO1xuIgorI34gIiBvdSA6IGZkaXNrIC9kZXYvc2RjICAocGFyYSBvIHRlcmNlaXJvIGRpc2NvIFNDU0kgKTtcbiIKKyN+ICIgb3UgOiBmZGlzayAvZGV2L2VkYSAgKHBhcmEgYSBwcmltZWlyYSB1bmlkYWRlIEVTREkgUFMvMik7XG4iCisjfiAiIG91IDogZmRpc2sgL2Rldi9yZC9jMGQwICBvdSA6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChwYXJhIGRpc3Bvc2l0aXZvcyBSQUlEKVxuIgorI34gIiAgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk8gbsO6bWVvciBkZSBjaWxpbmRyb3MgcGFyYSBlc3RlIGRpc2NvIGVzdMOhIGNvbmZpZ3VyYWRvIHBhcmEgJWQuXG4iCisjfiAiTsOjbyBleGlzdGUgbmFkYSBkZSBlcnJhZG8sIG1hcyBpc3RvIMOpIG1haW9yIHF1ZSAxMDI0LFxuIgorI34gImUgcG9kZSBlbSBjZXJ0YXMgY29uZmlndXJhw6fDtWVzIGNhdXNhciBwcm9ibGVtYXMgY29tOlxuIgorI34gIjEpIHByb2dyYW1hcyBxdWUgZXhlY3V0YW0gZW0gdGVtcG8gZGUgaW5pY2lhbGl6YcOnw6NvICh2ZXJzw7VlcyB2ZWxoYXMgZG8gTElMTylcbiIKKyN+ICIyKSBpbmljaWFsaXphw6fDo28gZSBwcm9ncmFtYXMgZGUgcGFydGljaW9uYW1lbnRvIGRlIG91dHJvcyBPU3NcbiIKKyN+ICIgICAocC5leC4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAiY2FsbGluZyBvcGVuX3R0eVxuIgorCisjfiBtc2dpZCAiY2FsbGluZyB0ZXJtaW9faW5pdFxuIgorI34gbXNnc3RyICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisKKyN+IG1zZ2lkICJ3cml0aW5nIGluaXQgc3RyaW5nXG4iCisjfiBtc2dzdHIgIndyaXRpbmcgc3RyaW5nIGluaXRcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJiZWZvcmUgYXV0b2JhdWRcbiIKKworI34gbXNnaWQgIndhaXRpbmcgZm9yIGNyLWxmXG4iCisjfiBtc2dzdHIgIndhaXRpbmcgZm9yIGNyLWxmXG4iCisKKyN+IG1zZ2lkICJyZWFkaW5nIGxvZ2luIG5hbWVcbiIKKyN+IG1zZ3N0ciAicmVhZGluZyBsb2dpbiBuYW1lXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJhZnRlciBnZXRvcHQgbG9vcFxuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZWFyZ3NcbiIKKyN+IG1zZ3N0ciAiZXhpdGluZyBwYXJzZWFyZ3NcbiIKKworI34gbXNnaWQgImVudGVyZWQgcGFyc2Vfc3BlZWRzXG4iCisjfiBtc2dzdHIgImVudGVyZWQgcGFyc2Vfc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlc3BlZWRzXG4iCisjfiBtc2dzdHIgImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIKKworI34gbXNnaWQgIm9wZW4oMilcbiIKKyN+IG1zZ3N0ciAib3BlbigyKVxuIgorCisjfiBtc2dpZCAiZHVwaW5nXG4iCisjfiBtc2dzdHIgImR1cGluZ1xuIgorCisjfiBtc2dpZCAidGVybV9pbyAyXG4iCisjfiBtc2dzdHIgInRlcm1faW8gMlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gL2V0Yy9zaGVsbHNcbiIKKyN+IG1zZ3N0ciAiQXZpc286ICBcIiVzXCIgbsOjbyBlc3TDoSBsaXN0YWRvIGVtIC9ldGMvc2hlbGxzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCByZWFkICVzLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGxlciAlczsgc2FpbmRvLiIKKworI34gbXNnaWQgInRpbWVvdXQgPSAlZCwgcXVpZXQgPSAlZCwgcmVib290ID0gJWRcbiIKKyN+IG1zZ3N0ciAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laTogbsOjbyBmb2kgcG9zc8OtdmVsIG11ZGFyIHBhcmEgbyBkaXJldMOzcmlvIHJhaXohXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IG7Do28gZm9pIHBvc3PDrXZlbCBzdGF0IHJhaXohXG4iCisKKyN+IG1zZ2lkICIgPyBjb3VsZCBub3QgY2hkaXIgaW50byAlcyAtICVzICglZClcbiIKKyN+IG1zZ3N0ciAiID8gbsOjbyBmb2kgcG9zc8OtdmVsIG11ZGFyIHBhcmEgbyBkaXJldMOzcmlvICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiID8gcHJvYmxlbXMgcmVhZGluZyBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIgPyBwcm9ibGVtYXMgYW8gbGVyIGxpbmsgc2ltYsOzbGljbyAlcyAtICVzICglZClcbiIKKworI34gbXNnaWQgIiAgKioqIEVYQ0VFREVEIFVOSVggTElNSVQgT0YgU1lNTElOS1MgKioqXG4iCisjfiBtc2dzdHIgIiAgKioqIExJTUlURSBERSBMSU5LUyBTSU1Cw5NMSUNPUyBETyBVTklYIEVYQ0VESURPICoqKlxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVua25vd24gZmlsZSB0eXBlIDAlMDZvIG9uIGZpbGUgJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHRpcG8gZGUgYXJxdWl2byBkZXNjb25oZWNpZG8gMCUwNm8gbm8gYXJxdWl2byAlc1xuIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCAlcywgYW5kIGNhbm5vdCBpb2N0bCBkdW1wXG4iCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgJXMgZSBuw6NvIMOpIHBvc3PDrXZlbCByZWFsaXphciBpb2N0bCBkYSBkZXNjYXJnYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byBtb3VudCAlcyBieSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbW9udGFuZG8gJXMgcG9yICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vbnRhbmRvICVzIHBvciAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIm1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIHF1YWxxdWVyIGRpc3Bvc2l0aXZvIC9kZXYvbG9vcCMiCisKKyN+IG1zZ2lkICJtb3VudDogYmFja2dyb3VuZGluZyBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRlbnRhbmRvIG1vbnRhciBlbSBzZWd1bmRvIHBsYW5vIFwiJXNcIlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdpdmluZyB1cCBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGRlc2lzdGluZG8gZGUgXCIlc1wiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWhWXVxuIgorI34gIiAgICAgICAlcyAtYSBbLWVdIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpdHldIHNwZWNpYWx8TEFCRUw9dm9sdW1lX25hbWUgLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVzbzogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIFstcCBwcmlvcmlkYWRlXSBlc3BlY2lhbCAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVc286ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBbLXAgcHJpb3JpZGFkZV0gZXNwZWNpYWwgLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGNhbm9uaWNhbGl6ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlczogJXNcbiIKKworI34gbXNnaWQgImNvdWxkIG5vdCB1bW91bnQgJXMgLSB0cnlpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgZWZldHVhciB1bW91bnQgZW0gJXMgLSB0ZW50YW5kbyAlcyBlbSB2ZXogZGVsZVxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgIlVzbyA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKworI34gbXNnaWQgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorI34gbXNnc3RyICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKworI34gbXNnaWQgIlx0JXMgLWggZm9yIGhlbHAuXG4iCisjfiBtc2dzdHIgIlx0JXMgLWggcGFyYSBhanVkYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBTcGVjaWZpY2F0aW9uOlxuIgorI34gIlx0LW0gOiBzaGFyZWRfbWVtXG4iCisjfiAiXHQtcSA6IG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFc3BlY2lmaWNhw6fDo28gZGUgcmVjdXJzbzpcbiIKKyN+ICJcdC1tIDogbWVtw7NyaWEgY29tcGFydGlsaGFkYVxuIgorI34gIlx0LXEgOiBtZW5zYWdlbnNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1zIDogc2VtYXBob3Jlc1xuIgorI34gIlx0LWEgOiBhbGwgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdC1zIDogc2Vtw6Fmb3Jvc1xuIgorI34gIlx0LWEgOiB0dWRvIChwYWRyw6NvKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkZvcm1hdG8gZGUgc2HDrWRhOlxuIgorI34gIlx0LXQgOiBob3LDoXJpb1xuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JpYWRvclxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IGxpbWl0ZXNcbiIKKyN+ICJcdC11IDogcmVzdW1vXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEwcyUtMTBzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyAgJS0yMHMlLTIwcyUtMjBzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyUtMTBzJS0xMHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyUtMTBzJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEyc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtOHMgJS0xMHMgJS0yNi4yNHMgJS0yNi4yNHNcbiIKKyN+IG1zZ3N0ciAiJS04cyUtMTBzICAlLTI2LjI0cyAlLTI2LjI0c1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzJS0xMHMlLTEwcyUtMTBzJS0xMHNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisjfiBtc2dzdHIgIiUtOHMlLTEwcyAgJS0yMHMlLTIwcyUtMjBzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMnMgJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEycyUtMTJzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAiVXNvOiByZGV2IFsgLXJzdiBdIFsgLW8gREVTTE9DQU1FTlRPIF0gWyBJTUFHRU0gWyBWQUxPUiBbIERFU0xPQ0FNRU5UT10gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgIChvdSByZGV2IC9saW51eCwgZXRjLikgZXhpYmUgbyBkaXNwb3NpdGl2byBSQUlaIGF0dWFsIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBkZWZpbmUgYSBSQUlaIGNvbW8gL2Rldi9oZGEyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgZGVmaW5lIFJPT1RGTEFHUyAoc3RhdHVzIGRlIHNvbWVudGUgbGVpdHVyYSkiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBkZWZpbmUgbyB0YW1hbmhvIGRvIFJBTURJU0sgKGRpc2NvIGRlIFJBTSkiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBib290dXAgVklERU9NT0RFIgorI34gbXNnc3RyICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgZGVmaW5lIG8gVklERU9NT0RFIChtb2RvIGRlIHbDrWRlbykgZGUgaW5pY2lhbGl6YcOnw6NvIgorCisjfiBtc2dpZCAiICByZGV2IC1vIE4gLi4uICAgICAgICAgICAgICAgICAgIHVzZSB0aGUgYnl0ZSBvZmZzZXQgTiIKKyN+IG1zZ3N0ciAiICByZGV2IC1vIE4gLi4uICAgICAgICAgICAgICAgICAgIHVzYSBvIGRlc2xvY2FtZW50byBkZSBieXRlcyBOIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIG8gbWVzbW8gcXVlIHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgbyBtZXNtbyBxdWUgcmRldiAtciIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBvIG1lc21vIHF1ZSByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiTm90YTogb3MgbW9kb3MgZGUgdsOtZGVvIHPDo286IC0zPUFzaywgLTI9RXh0ZW5kZWQsIC0xPU5vcm1hbFZnYSwgMT1rZXkxLCAyPWtleTIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgIHVzZSAtUiAxIHBhcmEgbW9udGFyIGEgcmFpeiBzb21lbnRlIHBhcmEgbGVpdHVyYSwgLVIgMCBmb3IgbGVpdHVyYS9ncmF2YcOnw6NvLiIKKworI34gbXNnaWQgInVzYWdlOiByZW5pY2UgcHJpb3JpdHkgWyBbIC1wIF0gcGlkcyBdIFsgWyAtZyBdIHBncnBzIF0gWyBbIC11IF0gdXNlcnMgXVxuIgorI34gbXNnc3RyICJyZW5pY2UgcHJpb3JpZGFkZSBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSB1c3XDoXJpb3MgXVxuIgorCisjfiBtc2dpZCAiQXNzdW1pbmcgcGFnZXMgb2Ygc2l6ZSAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJBc3N1bWluZG8gcMOhZ2luYXMgZGUgdGFtYW5obyAlZCAobsOjbyAlZClcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiQSBjb25maWd1cmHDp8OjbyBhdXRvbcOhdGljYSBlbmNvbnRyb3UgdW0oYSkgJXMlcyVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRHJpdmUgdHlwZVxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKHdpdGggaGFyZHdhcmUgZGV0ZWN0ZWQgZGVmYXVsdHMpIgorI34gbXNnc3RyICIiCisjfiAiVGlwbyBkYSB1bmlkYWRlXG4iCisjfiAiICAgPyAgIGNvbmZpZ3VyYcOnw6NvIGF1dG9tw6F0aWNhXG4iCisjfiAiICAgMCAgIHBlcnNvbmFsaXphZGEgKGNvbSBwYWRyw7VlcyBkZXRlY3RhZG9zIHBvciBoYXJkd2FyZSkiCisKKyN+IG1zZ2lkICJTZWxlY3QgdHlwZSAoPyBmb3IgYXV0bywgMCBmb3IgY3VzdG9tKTogIgorI34gbXNnc3RyICJTZWxlY2lvbmUgbyB0aXBvICg/IHBhcmEgYXV0b23DoXRpY2EsIDAgcGFyYSBwZXJzb25hbGl6YWRhKTogIgorCisjfiBtc2dpZCAiWW91IG1heSBjaGFuZ2UgYWxsIHRoZSBkaXNrIHBhcmFtcyBmcm9tIHRoZSB4IG1lbnUiCisjfiBtc2dzdHIgIlZvY8OqIHBvZGUgYWx0ZXJhciB0b2RvcyBvcyBwYXLDom1ldHJvcyBkbyBkaXNjbyBhIHBhcnRpciBkbyBtZW51IHgiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIkRpc3F1ZXRlIGRlIDMsNSBwb2wuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICIlcyBkZSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcywgc28gVVVJRCBhbmQgTEFCRUwgY29udmVyc2lvbiBjYW5ub3QgYmUgZG9uZS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAlcyAtIGNvbnZlcnPDtWVzIGRlIFVVSUQgZSBMQUJFTCBuw6NvIHBvZGVtIHNlciBmZWl0YXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIFVVSUQiCisjfiBtc2dzdHIgIm1vdW50OiBVVUlEIGludsOhbGlkYSIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgd2l0aCBuZnMgbW91bnQgdmVyc2lvbiA0LCB0cnlpbmcgMy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogZmFsaG91IGNvbSBvIG1vdW50IGRvIG5mcyB2ZXJzw6NvIDQsIHRlbnRhbmRvIGNvbSBvIDMuLlxuIgorI34gIiBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd2hpbGUgZ3Vlc3NpbmcgZmlsZXN5c3RlbSB0eXBlXG4iCisjfiBtc2dzdHIgIm1vdW50OiB2b2PDqiBwcmVjaXNhIGVzcGVjaWZpY2FyIG8gdGlwbyBkbyBzaXN0ZW1hIGRlIGFycXVpdm9zIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ3VtZW50byBob3N0OmRpciBleGNlc3NpdmFtZW50ZSBsb25nb1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6IG11bHRpcGxlIGhvc3RuYW1lcyBub3Qgc3VwcG9ydGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBhdmlzbzogbm9tZXMgZGUgaG9zdCBtw7psdGlwbG9zIG7Do28gc8OjbyBzdXBvcnRhZG9zXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZGlyZWN0b3J5IHRvIG1vdW50IG5vdCBpbiBob3N0OmRpciBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGRpcmV0w7NyaW8gYSBtb250YXIgbsOjbyBlc3TDoSBubyBmb3JtYXRvIGhvc3Q6ZGlyXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG9idGlkbyBocC0+aF9sZW5ndGggaW52w6FsaWRvXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZXhjZXNzaXZlbHkgbG9uZyBvcHRpb24gYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGFyZ3VtZW50byBkZSBvcMOnw6NvIGV4Y2Vzc2l2YW1lbnRlIGxvbmdvXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBVbnJlY29nbml6ZWQgcHJvdG89IG9wdGlvbi5cbiIKKyN+IG1zZ3N0ciAiQXZpc286IG9ww6fDo28gcHJvdG89IG7Do28gcmVjb25oZWNpZGEuXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBPcHRpb24gbmFtbGVuIGlzIG5vdCBzdXBwb3J0ZWQuXG4iCisjfiBtc2dzdHIgIkF2aXNvOiBhIG9ww6fDo28gbmFtbGVuIG7Do28gw6kgc3Vwb3J0YWRhLlxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgcGFyYW1ldGVyOiAlcz0lZFxuIgorI34gbXNnc3RyICJwYXLDom1ldHJvIGRlIG1vbnRhZ2VtIGRlIG5mcyBkZXNjb25oZWNpZG86ICVzPSVkXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBvcHRpb246ICVzJXNcbiIKKyN+IG1zZ3N0ciAib3DDp8OjbyBkZSBtb250YWdlbSBkZSBuZnMgZGVzY29uaGVjaWRhOiAlcyVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGg/XG4iCisjfiBtc2dzdHIgIm1vdW50OiBvYnRpZG8gaHAtPmhfbGVuZ3RoIGludsOhbGlkbz9cbiIKKworI34gbXNnaWQgIm5mcyBiaW5kcmVzdnBvcnQiCisjfiBtc2dzdHIgIm5mcyBiaW5kcmVzdnBvcnQiCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJ1c2FkbyBwb3J0bWFwcGVyIHBhcmEgbG9jYWxpemFyIHBvcnRhIE5GU1xuIgorCisjfiBtc2dpZCAidXNpbmcgcG9ydCAlZCBmb3IgbmZzIGRlYW1vblxuIgorI34gbXNnc3RyICJ1c2FuZG8gcG9ydGEgJWQgcGFyYSBvIGRhZW1vbiBkbyBuZnNcbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIHN0YXR1cyByZXR1cm4gdmFsdWU6ICVkIgorI34gbXNnc3RyICJ2YWxvciBkZSByZXRvcm5vIGRlIHN0YXR1cyBkZSBuZnMgZGVzY29uaGVjaWRvOiAlZCIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgImhvc3Q6ICVzLCBkaXJldMOzcmlvOiAlc1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBuw6NvIGZvaSBwb3Nzw612ZWwgb2J0ZXIgZW5kZXJlw6dvIGRlICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGdvdCBiYWQgaG9zdHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgInVtb3VudDogb2J0aWRvIGhvc3RwLT5oX2xlbmd0aCBpbnbDoWxpZG9cbiIKKworI34gbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCIKKyN+IG1zZ3N0ciAiTyBibG9jbyAlZCBubyBhcnF1aXZvIGAiCisKKyN+IG1zZ2lkICI6IGJhZCBkaXJlY3Rvcnk6IHNpemU8MzIiCisjfiBtc2dzdHIgIjogZGlyZXTDs3JpbyBpbnbDoWxpZG86IHRhbWFuaG8gPCAzMiIKKworI34gbXNnaWQgIm5vdCAiCisjfiBtc2dzdHIgIm7Do28gIgorCisjfiBtc2dpZCAiJXM6IG5vdCBjb21waWxlZCB3aXRoIG1pbml4IHYyIHN1cHBvcnRcbiIKKyN+IG1zZ3N0ciAiJXM6IG7Do28gY29tcGlsYWRvIGNvbSBzdXBvcnRlIGEgbWluaXggdjJcbiIKKworI34gbXNnaWQgIlN5bnRheCBlcnJvcjogJyVzJ1xuIgorI34gbXNnc3RyICJFcnJvIGRlIHNpbnRheGU6ICclcydcbiIKKworI34gbXNnaWQgIk5vIHN1Y2ggcGFyYW1ldGVyIHNldDogJyVzJ1xuIgorI34gbXNnc3RyICJOw6NvIGjDoSB0YWwgcGFyw6JtZXRybyBkZWZpbmlkbzogJyVzJ1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXAgXSBkZXYgbmFtZVxuIgorI34gbXNnc3RyICJVc286ICVzIFsgLXAgXSBkaXNwb3NpdGl2b1xuIgorCisjfiBtc2dpZCAiICAgICAgICVzIFsgLXAgXSBkZXYgc2l6ZSBzZWN0IGhlYWRzIHRyYWNrcyBzdHJldGNoIGdhcCByYXRlIHNwZWMxIGZtdF9nYXBcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIFsgLXAgXSBkaXNwIHRhbSBzZXQgY2FiZcOnIHRyaWxoYXMgZXh0ICAgaW50ZXJ2IHRheGEgc3BlYzEgZm10X2ludGVydlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkaXNwXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgWyAtYyB8IC15IHwgLW4gXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIFsgLWMgfCAteSB8IC1uIF0gZGlzcFxuIgorCisjfiBtc2dpZCAiQm9vdCAoJTAyWCkiCisjfiBtc2dzdHIgIkJvb3QgKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSAoJTAyWCkiCisjfiBtc2dzdHIgIk5lbmh1bSAoJTAyWCkiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICJBIHBhcnRpw6fDo28gJWkgbsOjbyB0ZXJtaW5hIGVtIHVtIGxpbWl0ZSBkZSBjaWxpbmRybzpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWQgc2VjdG9ycywgJWQgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNjbyAlczogJWQgY2FiZcOnYXMsICVkIHNldG9yZXMsICVkIGNpbGluZHJvc1xuIgorI34gIlVuaWRhZGVzID0gJXMgZGUgJWQgKiAlZCBieXRlc1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBhbiBvZGQgbnVtYmVyIG9mIHNlY3RvcnMuXG4iCisjfiBtc2dzdHIgIkF2aXNvOiBhIHBhcnRpw6fDo28gJWQgcG9zc3VpIHVtIG7Dum1lcm8gw61tcGFyIGRlIHNldG9yZXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiUmUtcmVhZCB0YWJsZSBmYWlsZWQgd2l0aCBlcnJvciAlZDogJXMuXG4iCisjfiAiUmVib290IHlvdXIgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIHVwZGF0ZWQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBIHJlbGVpdHVyYSBkYSB0YWJlbGEgZGUgcGFydGnDp8OjbyBmYWxob3UuIEVycm8gJWQ6ICVzLlxuIgorI34gIlJlaW5pY2lhbGl6ZSBvIHNpc3RlbWEgcGFyYSBhc3NlZ3VyYXItc2UgZGUgcXVlIGEgdGFiZWxhIGRlIHBhcnRpw6fDo28gc2VqYSBhdHVhbGl6YWRhLlxuIgorCisjfiBtc2dpZCAiQVNUIFdpbmRvd3Mgc3dhcGZpbGUiCisjfiBtc2dzdHIgIkFycXVpdm8gZGUgcGVybXV0YSBXaW5kb3dzIEFTVCIKKworI34gbXNnaWQgIkJTRC8zODYiCisjfiBtc2dzdHIgIkJTRC8zODYiCisKKyN+IG1zZ2lkICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkXG4iCisjfiBtc2dzdHIgImUgZGVzdHJ1aXLDoSBhIHRhYmVsYSBxdWFuZG8gY2hlaWFcbiIKKworI34gbXNnaWQgIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KVxuIgorI34gbXNnc3RyICIgKGVtYm9yYSBpc3RvIG7Do28gc2VqYSB1bSBwcm9ibGVtYSBubyBMaW51eClcbiIKKworI34gbXNnaWQgIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pXG4iCisjfiBtc2dzdHIgIihQYXJhIHByb3DDs3NpdG9zIHNvbWVudGUgZGUgbGlzdGFnZW0uIE7Do28gYWx0ZXJlIHNldSBjb250ZcO6ZG8uKVxuIgorCisjfiBtc2dpZCAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuXG4iCisjfiBtc2dzdHIgIkRPUyBlIExpbnV4IHbDo28gaW50ZXJwcmV0YXIgc2V1IGNvbnRlw7pkbyBkaWZlcmVudGVtZW50ZS5cbiIKKworI34gbXNnaWQgImZvciByZWFkaW5nIgorI34gbXNnc3RyICJwYXJhIGxlaXR1cmEiCisKKyN+IG1zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiaW9jdGwgQkxLR0VUU0laRSBmYWxob3UgcGFyYSAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IGJhbm5lciBbLXcgd2lkdGhdXG4iCisjfiBtc2dzdHIgIlVzbzogYmFubmVyIFstdyBsYXJndXJhXVxuIgorCisjfiBtc2dpZCAiTWVzc2FnZTogIgorI34gbXNnc3RyICJNZW5zYWdlbTogIgorCisjfiBtc2dpZCAiVGhlIGNoYXJhY3RlciAnJWMnIGlzIG5vdCBpbiBteSBjaGFyYWN0ZXIgc2V0IgorI34gbXNnc3RyICJPIGNhcmFjdGVyZSAnJWMnIG7Do28gZmF6IHBhcnRlIGRvIG1ldSBjb25qdW50byBkZSBjYXJhY3RlcmVzIgorCisjfiBtc2dpZCAiTWVzc2FnZSAnJXMnIGlzIE9LXG4iCisjfiBtc2dzdHIgIkEgbWVuc2FnZW0gJyVzJyBlc3TDoSBPS1xuIgorCisjfiBtc2dpZCAibnVtYmVyIGAlcycgdG8gYCVzJyBvdXQgb2YgcmFuZ2VcbiIKKyN+IG1zZ3N0ciAibsO6bWVybyBgJXMnIGEgYCVzJyBmb3JhIGRvIGludGVydmFsb1xuIgorCisjfiBtc2dpZCAib3B0aW9uIGAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJhIG9ww6fDo28gYCVzJyBuw6NvIHBlcm1pdGUgdW0gYXJndW1lbnRvXG4iCisKKyN+IG1zZ2lkICIgICAgICAgWyB1c2VybmFtZSBdXG4iCisjfiBtc2dzdHIgIiAgICAgICBbIG5vbWVfdXN1w6FyaW8gXVxuIgorCisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAvZGV2L3VyYW5kb20iCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBhYnJpciAvZGV2L3VyYW5kb20iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkIHJhbmRvbSBkYXRhIGZyb20gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgbGVyIGRhZG9zIGFsZWF0w7NyaW9zIGRlIC9kZXYvdXJhbmRvbSIKKworI34gbXNnaWQgImNhbid0IHN0YXQoJXMpIgorI34gbXNnc3RyICJuw6NvIGZvaSBwb3Nzw612ZWwgc3RhdCglcykiCisKKyN+IG1zZ2lkICIlcyBkb2Vzbid0IGhhdmUgdGhlIGNvcnJlY3QgZmlsZW1vZGVzIgorI34gbXNnc3RyICIlcyBuw6NvIHBvc3N1aSBvcyBtb2RvcyBkZSBhcnF1aXZvIGNvcnJldG9zIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVhZCBkYXRhIGZyb20gJXMiCisjfiBtc2dzdHIgIm7Do28gZm9pIHBvc3PDrXZlbCBsZXIgZGFkb3MgZGUgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVG9vIG1hbnkgdXNlcnMgbG9nZ2VkIG9uIGFscmVhZHkuXG4iCisjfiAiVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICIiCisjfiAiTsO6bWVybyBtw6F4aW1vIGRlIHVzdcOhcmlvcyBqw6EgY29uZWN0YWRvcy5cbiIKKyN+ICJUZW50ZSBub3ZhbWVudGUgbWFpcyB0YXJkZS5cbiIKKworI34gbXNnaWQgIllvdSBoYXZlIHRvbyBtYW55IHByb2Nlc3NlcyBydW5uaW5nLlxuIgorI34gbXNnc3RyICJOw7ptZXJvIGV4Y2Vzc2l2byBkZSBwcm9jZXNzb3MgZW0gZXhlY3XDp8Ojby5cbiIKKworI34gbXNnaWQgIm5ldyAiCisjfiBtc2dzdHIgIm5vdmFzICIKKworI34gbXNnaWQgIlRoZSBwYXNzd29yZCBtdXN0IGhhdmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzLCB0cnkgYWdhaW4uXG4iCisjfiBtc2dzdHIgIkEgc2VuaGEgZGV2ZSB0ZXIgcGVsbyBtZW5vcyA2IGNhcmFjdGVyZXM7IHRlbnRlIG5vdmFtZW50ZS5cbiIKKworI34gbXNnaWQgIlRoZSBwYXNzd29yZCBtdXN0IGNvbnRhaW4gY2hhcmFjdGVycyBvdXQgb2YgdHdvIG9mIHRoZSBmb2xsb3dpbmdcbiIKKyN+IG1zZ3N0ciAiQSBzZW5oYSBkZXZlIGNvbnRlciBjYXJhY3RlcmVzIGRlIHVtYSBkYXMgZHVhcyBjbGFzc2VzIHNlZ3VpbnRlczpcbiIKKworI34gbXNnaWQgImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+IG1zZ3N0ciAibGV0cmFzIG1hacO6c2N1bGFzIGUgbWluw7pzY3VsYXMsIGTDrWdpdG9zIGUgY2FyYWN0ZXJlcyBuw6NvIGFsZmFudW3DqXJpY29zLlxuIgorCisjfiBtc2dpZCAiY2hhcmFjdGVycy4gU2VlIHBhc3N3ZCgxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiQ29uc3VsdGUgcGFzc3dkKDEpIHBhcmEgbWFpb3JlcyBpbmZvcm1hw6fDtWVzLlxuIgorCisjfiBtc2dpZCAiWW91IGNhbm5vdCByZXVzZSB0aGUgb2xkIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJWb2PDqiBuw6NvIHBvZGUgcmV1dGlsaXphciBhIHNlbmhhIGFudGlnYS5cbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciB1c2VybmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiTsOjbyB1c2UgYWxnbyBjb21vIHNldSBub21lIGRlIHVzdcOhcmlvIGNvbW8gc2VuaGEhXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgcmVhbG5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIk7Do28gdXNlIGFsZ28gY29tbyBzZXUgbm9tZSByZWFsIGNvbW8gc2VuaGEhXG4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgbWF5IHVzZSB0aGUgb25lIGFuZCB0d28gYXJndW1lbnQgZm9ybXMuXG4iCisjfiBtc2dzdHIgIlNvbWVudGUgcm9vdCBwb2RlIHVzYXIgb3MgZm9ybWF0b3MgZGUgdW0gZSBkb2lzIGFyZ3VtZW50b3MuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFstZm9xc3ZWXSBbdXNlciBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJVc286IHBhc3N3ZCBbLWZvcXN2Vl0gW25vbWVfdXN1w6FyaW8gW3NlbmhhXV1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmaW5kIGxvZ2luIG5hbWUiCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBsb2NhbGl6YXIgbyBub21lIGRlIGxvZ2luIgorCisjfiBtc2dpZCAiT25seSByb290IGNhbiBjaGFuZ2UgdGhlIHBhc3N3b3JkIGZvciBvdGhlcnMuXG4iCisjfiBtc2dzdHIgIlNvbWVudGUgcm9vdCBwb2RlIGFsdGVyYXIgc2VuaGFzIGRlIHRlcmNlaXJvcy5cbiIKKworI34gbXNnaWQgIkNhbid0IGZpbmQgdXNlcm5hbWUgYW55d2hlcmUuIElzIGAlcycgcmVhbGx5IGEgdXNlcj8iCisjfiBtc2dzdHIgIk7Do28gZm9pIHBvc3PDrXZlbCBlbmNvbnRyYXIgbyBub21lIGRlIHVzdcOhcmlvIGVtIG5lbmh1bSBsdWdhci4gYCVzJyByZWFsbWVudGUgw6kgdW0gbm9tZSBkZSB1c3XDoXJpbz8iCisKKyN+IG1zZ2lkICJTb3JyeSwgSSBjYW4gb25seSBjaGFuZ2UgbG9jYWwgcGFzc3dvcmRzLiBVc2UgeXBwYXNzd2QgaW5zdGVhZC4iCisjfiBtc2dzdHIgIkV1IHPDsyBwb3NzbyBhbHRlcmFyIHNlbmhhcyBsb2NhaXMuIFVzZSB5cHBhc3N3ZC4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIk5vbWUgZGUgdXN1w6FyaW8gZSBVSUQgbsOjbyBjb3JyZXNwb25kZW0sIGltcG9zdG9yISIKKworI34gbXNnaWQgIkNoYW5naW5nIHBhc3N3b3JkIGZvciAlc1xuIgorI34gbXNnc3RyICJBbHRlcmFuZG8gYSBzZW5oYSBwYXJhIG8gdXN1w6FyaW8gJXNcbiIKKworI34gbXNnaWQgIklsbGVnYWwgcGFzc3dvcmQsIGltcG9zdGVyLiIKKyN+IG1zZ3N0ciAiU2VuaGEgaW5jb3JyZXRhLCBpbXBvc3Rvci4iCisKKyN+IG1zZ2lkICJFbnRlciBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiSW5mb3JtZSBhIG5vdmEgc2VuaGE6ICIKKworI34gbXNnaWQgIlJlLXR5cGUgbmV3IHBhc3N3b3JkOiAiCisjfiBtc2dzdHIgIlJlZGlnaXRlIGEgbm92YSBzZW5oYTogIgorCisjfiBtc2dpZCAiWW91IG1pc3NwZWxsZWQgaXQuIFBhc3N3b3JkIG5vdCBjaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiVm9jw6ogbsOjbyBhIGluZm9ybW91IGNvcnJldGFtZW50ZS4gQSBzZW5oYSBuw6NvIGZvaSBhbHRlcmFkYS4iCisKKyN+IG1zZ2lkICJST09UIFBBU1NXT1JEIENIQU5HRUQiCisjfiBtc2dzdHIgIkEgU0VOSEEgRE8gUk9PVCBGT0kgQUxURVJBREEiCisKKyN+IG1zZ2lkICJwYXNzd29yZCBjaGFuZ2VkIGJ5IHJvb3QsIHVzZXIgJXMiCisjfiBtc2dzdHIgInNlbmhhIGFsdGVyYWRhIHBlbG8gcm9vdCwgdXN1w6FyaW8gJXMiCisKKyN+IG1zZ2lkICJjYWxsaW5nIHNldHB3bmFtIHRvIHNldCBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiY2hhbWFuZG8gc2V0cHduYW0gcGFyYSBkZWZpbmlyIGEgc2VuaGEuXG4iCisKKyN+IG1zZ2lkICJoYWx0ZWQiCisjfiBtc2dzdHIgInBhcmFkbyIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lXG4iCisjfiBtc2dzdHIgImVycm8gZXhlY3V0YW5kbyBwcm9ncmFtYVxuIgorCisjfiBtc2dpZCAiJXM6IFslMDR4XTolbGQgKCVzKSBvZmZzZXQgJWQsICVzIGVuY3J5cHRpb25cbiIKKyN+IG1zZ3N0ciAiJXM6IFslMDR4XTolbGQgKCVzKSBkZXNsb2NhbWVudG8gJWQsIGNyaXB0b2dyYWZpYSAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuXG4iCisjfiAiICAgICAgIE1heWJlIC9kZXYvbG9vcCMgaGFzIGEgd3JvbmcgbWFqb3IgbnVtYmVyPyIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBOw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG5lbmh1bSBkaXNwb3NpdGl2byBkZSBsYcOnby5cbiIKKyN+ICIgICAgICAgVGFsdmV6IGRldi9sb29wIyB0ZW5oYSB1bSBuw7ptZXJvIHByaW5jaXBhbCBpbmNvcnJldG8/IgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlICh0aGVuIHJlY29tcGlsZSBvciBgaW5zbW9kIGxvb3AubycpLCBvclxuIgorI34gIiAgICAgICBtYXliZSAvZGV2L2xvb3AjIGhhcyB0aGUgd3JvbmcgbWFqb3IgbnVtYmVyPyIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBOw6NvIGZvaSBwb3Nzw612ZWwgbG9jYWxpemFyIG5lbmh1bSBkaXNwb3NpdGl2byBkZSBsYcOnby4gVGFsdmV6IGVzdGUga2VybmVsXG4iCisjfiAiICAgICAgIG7Do28gY29uaGXDp2EgbyBkaXNwb3NpdGl2byBkZSBsYcOnbyAoc2UgZm9yIGVzdGUgbyBjYXNvLCByZWNvbXBpbGUgb3UgdXNlIGBpbnNtb2QgbG9vcC5vJylcbiIKKyN+ICIgICAgICAgb3UgdGFsdmV6IGRldi9sb29wIyB0ZW5oYSB1bSBuw7ptZXJvIHByaW5jaXBhbCBpbmNvcnJldG8/IgorCisjfiBtc2dpZCAiSW5pdCAodXAgdG8gMTYgaGV4IGRpZ2l0cyk6ICIKKyN+IG1zZ3N0ciAiSW5pY2lhbGl6YcOnw6NvIChhdMOpIDE2IGTDrWdpdG9zIGhleGFkZWNpbWFpcyk6IgorCisjfiBtc2dpZCAiTm9uLWhleCBkaWdpdCAnJWMnLlxuIgorI34gbXNnc3RyICJEaWdpdG8gbsOjbyBoZXhhZGVjaW1hbCAnJWMnLlxuIgorCisjfiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZ2V0IGtleSBmb3IgZW5jcnlwdGlvbiBzeXN0ZW0gJWRcbiIKKyN+IG1zZ3N0ciAiTyBtb2RvIGRlIG9idGVyIGEgY2hhdmUgcGFyYSBvIHNpc3RlbWEgZGUgY3JpcHRvZ3JhZmlhICVkIG7Do28gw6kgY29uaGVjaWRvXG4iCisKKyN+IG1zZ2lkICJtb3VudDogdGhpcyB2ZXJzaW9uIHdhcyBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIHRoZSB0eXBlIGBuZnMnIgorI34gbXNnc3RyICJtb3VudDogZXN0YSB2ZXJzw6NvIGZvaSBjb21waWxhZGEgc2VtIHN1cG9ydGUgYW8gdGlwbyBgbmZzJyIKKworI34gbXNnaWQgIm5vdCBtb3VudGVkIGFueXRoaW5nIgorI34gbXNnc3RyICJuYWRhIGZvaSBtb250YWRvIgorCisjfiBtc2dpZCAiY3VycmVudCIKKyN+IG1zZ3N0ciAiYXR1YWwiCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7ICIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyAiCisKKyN+IG1zZ2lkICJmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICIKKyN+IG1zZ3N0ciAiZmlmbzogJWx1IGxpbWlhciwgJWx1IHRlbXBvLWxpbWl0ZSwgIgorCisjfiBtc2dpZCAiJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlbHUgbcOheCwgJWx1IGFnb3JhXG4iCisKKyN+IG1zZ2lkICIgd2hpY2ggeW91IGhhdmUgcmVhZCBhY2Nlc3MuXG4iCisjfiBtc2dzdHIgIiBvcyBxdWFpcyB2b2PDqiB0ZW0gYWNlc3NvIGRlIGxlaXR1cmEuXG4iCisKKyN+IG1zZ2lkICIlLTEwcyUtMTBzJS0xMHMlLTEwcyUtMTBzJS0xMnNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMlLTEwcyUtMTBzJS0xMHMlLTEwcyUtMTJzXG4iCisKKyN+IG1zZ2lkICIgIHJkZXYgLXMgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgc2V0IHRoZSBTV0FQIGRldmljZSIKKyN+IG1zZ3N0ciAiICByZGV2IC1zIC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgIGRlZmluZSBvIGRpc3Bvc2l0aXZvIGRlIFNXQVAgKHBlcm11dGEpIgorCisjfiBtc2dpZCAiICBzd2FwZGV2IC4uLiAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtcyIKKyN+IG1zZ3N0ciAiICBzd2FwZGV2IC4uLiAgICAgICAgICAgICAgICAgICAgIG8gbWVzbW8gcXVlIHJkZXYgLXMiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIGhlbHAgZmlsZSIKKyN+IG1zZ3N0ciAiTsOjbyBmb2kgcG9zc8OtdmVsIGFicmlyIG8gYXJxdWl2byBkZSBhanVkYSIKZGlmZiAtLWdpdCBhL3BvL3J1LnBvIGIvcG8vcnUucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZjOWY4ZQotLS0gL2Rldi9udWxsCisrKyBiL3BvL3J1LnBvCkBAIC0wLDAgKzEsMjA0MzkgQEAKKyMgVHJhbnNsYXRpb24gb2YgdXRpbC1saW51eC0yLjI3LXJjMi5wbyB0byBSdXNzaWFuCisjIENvcHlyaWdodCAoQykgMjAwMyBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gSW5jLgorIyBUaGlzIGZpbGUgaXMgcHV0IGluIHRoZSBwdWJsaWMgZG9tYWluLgorIyBQYXZlbCBNYXJ5YW5vdiA8YWNpZEBqYWNrLmtpZXYudWE+LCAyMDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDE1LgorIyBFdmdlbml5IFlha3VzaGV2IDx5ZW44MUBtYWlsLnJ1PiwgMjAxNS4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXggMi4yNy1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNS0xMi0yOSAyMjo1NSswMzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBFdmdlbml5IFlha3VzaGV2IDx5ZW44MUBtYWlsLnJ1PlxuIgorIkxhbmd1YWdlLVRlYW06IFJ1c3NpYW4gPGdudUBkMDcucnU+XG4iCisiTGFuZ3VhZ2U6IHJ1XG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1HZW5lcmF0b3I6IEd0cmFuc2xhdG9yIDIuOTEuNlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MzsgcGx1cmFsPShuJTEwPT0xICYmIG4lMTAwIT0xMSA/IDAgOiBuJTEwPj0yICYmIG4lMTA8PTQgJiYgKG4lMTAwPDEwIHx8IG4lMTAwPj0yMCkgPyAxIDogMilcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDzRg9GB0YLRgNC+0LnRgdGC0LLQvj4gPNC90L7QvNC10YAg0YDQsNC30LTQtdC70LA+IDzQvdCw0YfQsNC70L4+IDzQtNC70LjQvdCwPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAi0KHQvtC+0LHRidC40YLRjCDRj9C00YDRgyDQviDRgdGD0YnQtdGB0YLQstC+0LLQsNC90LjQuCDRg9C60LDQt9Cw0L3QvdC+0LPQviDRgNCw0LfQtNC10LvQsC5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L3QtdC00L7RgdGC0LDRgtC+0YfQvdC+INCw0YDQs9GD0LzQtdC90YLQvtCyIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMICVzIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDAKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINC90L7QvNC10YAg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0L3QsNGH0LDQu9CwIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTAKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LTQu9C40L3RiyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMINGA0LDQt9C00LXQuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCDRh9GC0LXQvdC40LUt0LfQsNC/0LjRgdGMIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINGC0L7Qu9GM0LrQviDQtNC70Y8g0YfRgtC10L3QuNGPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODIKK21zZ2lkICJnZXQgZGlzY2FyZCB6ZXJvZXMgc3VwcG9ydCBzdGF0dXMiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INC/0L7QtNC00LXRgNC20LrQuCDQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjRjyDQvdGD0LvQtdCy0YvRhSDQtNCw0L3QvdGL0YUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAINC70L7Qs9C40YfQtdGB0LrQvtCz0L4g0LHQu9C+0LrQsCAo0YHQtdC60YLQvtGA0LApIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAg0YTQuNC30LjRh9C10YHQutC+0LPQviDQsdC70L7QutCwICjRgdC10LrRgtC+0YDQsCkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDQvNC40L3QuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCBJL08iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDQvtC/0YLQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCBJL08iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDRgdC80LXRidC10L3QuNC1INCy0YvRgNCw0LLQvdC40LLQsNC90LjRjyDQsiDQsdCw0LnRgtCw0YUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0LzQsNC60YEuINGH0LjRgdC70L4g0YHQtdC60YLQvtGA0L7QsiDQt9CwINC30LDQv9GA0L7RgSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAINCx0LvQvtC60LAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgItGD0YHRgtCw0L3QvtCy0LjRgtGMINGA0LDQt9C80LXRgCDQsdC70L7QutCwINC90LAg0LTQtdGB0LrRgNC40L/RgtC+0YDQtSDRhNCw0LnQu9CwLCDRg9C60LDQt9GL0LLQsNGO0YnQtdCz0L4g0L3QsCDQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgItC/0L7Qu9GD0YfQuNGC0Ywg0LrQvtC70LjRh9C10YHRgtCy0L4gMzIt0LHQuNGC0L3Ri9GFINGB0LXQutGC0L7RgNC+0LIgKNGD0YHRgtCw0YDQtdC70L4sINC40YHQv9C+0LvRjNC30YPQudGC0LUgLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAg0LIg0LHQsNC50YLQsNGFIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YPQv9GA0LXQttC00LDRjtGJ0LXQtSDRh9GC0LXQvdC40LUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINGD0L/RgNC10LbQtNCw0Y7RidC10LUg0YfRgtC10L3QuNC1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICLRg9GB0YLQsNC90L7QstC40YLRjCDRg9C/0YDQtdC20LTQsNGO0YnQtdC1INGH0YLQtdC90LjQtSDQpNChIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINGD0L/RgNC10LbQtNCw0Y7RidC10LUg0YfRgtC10L3QuNC1INCk0KEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICLQvtGH0LjRgdGC0LjRgtGMINCx0YPRhNC10YDRiyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItC/0LXRgNC10YfQuNGC0LDRgtGMINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiCittc2dzdHIgIiAgICAtcSAgW9C40LvQuCAtLXF1aWV0XTogICAgICDQv9C+0LTQsNCy0LvQtdC90LjQtSDQv9GA0LXQtNGD0L/RgNC10LbQtNCw0Y7RidC40YUg0YHQvtC+0LHRidC10L3QuNC5IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICLQlNC+0YHRgtGD0L/QvdGL0LUg0LrQvtC80LDQvdC00Ys6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzINC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAINCyINGB0LXQutGC0L7RgNCw0YUg0L/QviA1MTIg0LHQsNC50YJcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdC+INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGA0LDQt9C80LXRgCDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGNvbW1hbmQ6ICVzIgorbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3QsNGPINC60L7QvNCw0L3QtNCwOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAi0JTQu9GPICVzINGC0YDQtdCx0YPQtdGC0YHRjyDQsNGA0LPRg9C80LXQvdGCIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDRg9C/0YDQsNCy0LvQtdC90LjRjyDQstCy0L7QtNC+0Lwt0LLRi9Cy0L7QtNC+0Lwg0L3QsCAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyDQt9Cw0LLQtdGA0YjRkdC9INGD0YHQv9C10YjQvdC+LlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDQvtCx0YDQsNCx0L7RgtGH0LjQuiBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDQvdCw0YfQsNC70L4g0YDQsNC30LTQtdC70LAg0LjQtyBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICLQp9GCICAgINCX0L8gICDQodC60YIgICDQkdC70LogICDQndCw0YfQodC10LrRgiAgICAgICAgICAgICDQoNCw0LfQvNC10YAg0KPRgdGC0YDQvtC50YHRgtCy0L5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAi0JfQsNCz0YDRg9C3LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgItCf0LXRgNC10LrQu9GO0YfQuNGC0Ywg0LfQsNCz0YDRg9C30L7Rh9C90YvQuSDRhNC70LDQsyDRgtC10LrRg9GJ0LXQs9C+INGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAi0KPQtNCw0LvQuNGC0YwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi0KPQtNCw0LvQuNGC0Ywg0YLQtdC60YPRidC40Lkg0YDQsNC30LTQtdC7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJSZXNpemUiCittc2dzdHIgItGA0LDQt9C80LXRgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICLQo9C00LDQu9C40YLRjCDRgtC10LrRg9GJ0LjQuSDRgNCw0LfQtNC10LsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiTmV3IgorbXNnc3RyICLQndC+0LLRi9C5IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAi0KHQvtC30LTQsNGC0Ywg0L3QvtCy0YvQuSDRgNCw0LfQtNC10Lsg0L3QsCDRgdCy0L7QsdC+0LTQvdC+0Lwg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgItCS0YvRhdC+0LQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAi0JLRi9C50YLQuCDQuNC3INC/0YDQvtCz0YDQsNC80LzRiyDQsdC10Lcg0LfQsNC/0LjRgdC4INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxIGxpYmZkaXNrL3NyYy9ic2QuYzo0MzggbGliZmRpc2svc3JjL2JzZC5jOjEwMjIKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMxIGxpYmZkaXNrL3NyYy9ncHQuYzozMTMyIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU5CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNgorbXNnaWQgIlR5cGUiCittc2dzdHIgItCi0LjQvyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLQmNC30LzQtdC90LjRgtGMINGC0LjQvyDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgItCh0L/RgNCw0LLQutCwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINGB0L/RgNCw0LLQutGDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIlNvcnQiCittc2dzdHIgItCh0L7RgNGC0LjRgNC+0LLQutCwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLQmNGB0L/RgNCw0LLQuNGC0Ywg0L/QvtGA0Y/QtNC+0Log0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAi0JfQsNC/0LjRgdGMIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgItCX0LDQv9C40YHQsNGC0Ywg0YLQsNCx0LvQuNGG0YMg0YDQsNC30LTQtdC70L7QsiDQvdCwINC00LjRgdC6ICjRjdGC0L4g0LzQvtC20LXRgiDRgNCw0LfRgNGD0YjQuNGC0Ywg0LTQsNC90L3Ri9C1KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICLQlNCw0LzQvyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAi0JfQsNC/0LjRgdCw0YLRjCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyINCyINGE0LDQudC7INGB0YbQtdC90LDRgNC40Y8sINC/0L7QtNC00LXRgNC20LjQstCw0LXQvNC+0LPQviBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjQyIGRpc2stdXRpbHMvZmRpc2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICLQstC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LA6INC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INGC0LjQvyDQtNC40LDQu9C+0LPQsCAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKNC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICLQmNC80Y8g0YDQsNC30LTQtdC70LA6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIlVVSUQg0YDQsNC30LTQtdC70LA6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMTYKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgItCi0LjQvyDRgNCw0LfQtNC10LvQsDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyMworbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICLQkNGC0YDQuNCx0YPRgtGLOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQ3Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiVVVJRCDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICLQnNCV0KLQmtCQINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICLQpNCw0LnQu9C+0LLQsNGPINGB0LjRgdGC0LXQvNCwOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1Cittc2dpZCAiTW91bnRwb2ludDoiCittc2dzdHIgItCi0L7Rh9C60LAg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICLQlNC40YHQujogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi0KDQsNC30LzQtdGAOiAlcywgJWp1INCx0LDQudGCLCAlanUg0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgItCc0LXRgtC60LA6ICVzLCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgItCc0LXRgtC60LA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgItCc0L7QttC90L4g0YPQutCw0LfQsNGC0YwgTSDQtNC70Y8g0JzQsSwgRyDQtNC70Y8g0JPQsSwgVCDQtNC70Y8gVGIg0LjQu9C4IFMg0LTQu9GPINGB0LXQutGC0L7RgNC+0LIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAi0KPQutCw0LbQuNGC0LUg0YDQsNC30LzQtdGALiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICLQnNC40L3QuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgMKg4oCUICVqdSDQsdCw0LnRgi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgMKg4oCUICVqdSAo0LHQsNC50YIpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICLQndC1INGD0LTQsNGR0YLRgdGPINC+0L/RgNC10LTQtdC70LjRgtGMINGA0LDQt9C80LXRgC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk2OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi0JLRi9Cx0LXRgNC40YLQtSDRgtC40L8g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDgKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgItCj0LrQsNC20LjRgtC1INC40LzRjyDRhNCw0LnQu9CwINGB0YbQtdC90LDRgNC40Y86ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi0Jog0YLQsNCx0LvQuNGG0LUg0YDQsNC30LTQtdC70L7Qsiwg0L3QsNGF0L7QtNGP0YnQtdC50YHRjyDQsiDQv9Cw0LzRj9GC0LgsINCx0YPQtNC10YIg0L/RgNC40LzQtdC90LXQvSDRhNCw0LnQuyDRgdGG0LXQvdCw0YDQuNGPLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHRgNCw0LHQvtGC0LDRgtGMINGE0LDQudC7INGB0YbQtdC90LDRgNC40Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAi0J3QtdGD0LTQsNC70L7RgdGMINC/0YDQuNC80LXQvdC40YLRjCDRgdGG0LXQvdCw0YDQuNC5ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDkKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAi0KLQtdC60YPRidCw0Y8g0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDQsiDQv9Cw0LzRj9GC0Lgg0LHRg9C00LXRgiDRgdC+0YXRgNCw0L3QtdC90LAg0LIg0YTQsNC50LsuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTEyCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHRgNCw0YLQuNGC0YzRgdGPINC6INC+0LHRgNCw0LHQvtGC0YfQuNC60YMg0YHRhtC10L3QsNGA0LjRjyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGB0YfQuNGC0LDRgtGMINGA0LDQt9C80LXRgtC60YMg0LTQuNGB0LrQsCDQtNC70Y8g0YHQutGA0LjQv9GC0LAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAi0KDQsNC30LzQtdGC0LrQsCDQtNC40YHQutCwINGD0YHQv9C10YjQvdC+INGB0L7RhdGA0LDQvdC10L3QsC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINGB0LrRgNC40L/RgiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE2Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgItCS0YvQsdC10YDQuNGC0LUg0YLQuNC/INC80LXRgtC60LgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi0KPRgdGC0YDQvtC50YHRgtCy0L4g0L3QtSDRgdC+0LTQtdGA0LbQuNGCINGB0YLQsNC90LTQsNGA0YLQvdC+0Lkg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7Qsi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAi0KfRgtC+0LHRiyDQt9Cw0LTQsNGC0Ywg0L3QvtCy0YPRjiDQvNC10YLQutGDLCDQstGL0LHQtdGA0LjRgtC1INGC0LjQvyDQuNC70Lgg0L3QsNC20LzQuNGC0LUgJ0wnINC00LvRjyDQt9Cw0LPRgNGD0LfQutC4INGE0LDQudC70LAg0YHRhtC10L3QsNGA0LjRjy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAi0K3RgtC+IGNmZGlzayAtINC/0YDQvtC60LvRj9GC0LDRjyDQv9GA0L7Qs9GA0LDQvNC80LAg0LTQu9GPINGA0LDQt9C80LXRgtC60Lgg0LTQuNGB0LrQsC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICLQntC90LAg0L/QvtC30LLQvtC70Y/QtdGCINCy0LDQvCDRgdC+0LfQtNCw0LLQsNGC0YwsINGD0LTQsNC70Y/RgtGMINC4INC40LfQvNC10L3Rj9GC0Ywg0YDQsNC30LTQtdC70Ysg0L3QsCDQsdC70L7Rh9C90YvRhSDRg9GB0YLRgNC+0LnRgdGC0LLQsNGFLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgItCa0L7QvNCw0L3QtNCwICAgICAg0JfQvdCw0YfQtdC90LjQtSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgINCf0LXRgNC10LrQu9GO0YfQtdC90LjQtSDQt9Cw0LPRgNGD0LfQvtGH0L3QvtCz0L4g0YTQu9Cw0LPQsCDRgtC10LrRg9GJ0LXQs9C+INGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgINCj0LTQsNC70LXQvdC40LUg0YLQtdC60YPRidC10LPQviDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAg0JLRi9Cy0L7QtCDRjdGC0L7QuSDRgdC/0YDQsNCy0LrQuCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgINCh0L7Qt9C00LDQvdC40LUg0L3QvtCy0L7Qs9C+INGA0LDQt9C00LXQu9CwINC90LAg0YHQstC+0LHQvtC00L3QvtC8INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQtSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAg0JLRi9GF0L7QtCDQuNC3INC/0YDQvtCz0YDQsNC80LzRiyDQsdC10Lcg0LfQsNC/0LjRgdC4INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgINCY0YHQv9GA0LDQstC70LXQvdC40LUg0L/QvtGA0Y/QtNC60LAg0YDQsNC30LTQtdC70L7QsiAo0YLQvtC70YzQutC+INC/0YDQuCDQvdC10L/RgNCw0LLQuNC70YzQvdC+0Lwg0L/QvtGA0Y/QtNC60LUg0YHQu9C10LTQvtCy0LDQvdC40Y8g0YDQsNC30LTQtdC70L7QsikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAg0KHQvNC10L3QsCDRgtC40L/QsCDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICDQl9Cw0L/QuNGB0LDRgtGMINGB0L7QtNC10YDQttC40LzQvtC1INC00LjRgdC60LAg0LIg0YTQsNC50Lsg0YHRhtC10L3QsNGA0LjRjywg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80L7Qs9C+IHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAg0JfQsNC/0LjRgdGMINGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIg0L3QsCDQtNC40YHQuiAo0YLRgNC10LHRg9C10YLRgdGPINCy0LLQtdGB0YLQuCDQt9Cw0LPQu9Cw0LLQvdGD0Y4gVyk7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAg0KIu0LouINGN0YLQviDQvNC+0LbQtdGCINGA0LDQt9GA0YPRiNC40YLRjCDQtNCw0L3QvdGL0LUg0L3QsCDQtNC40YHQutC1LCDQstGLINC00L7Qu9C20L3RiyDQu9C40LHQviIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAg0L/QvtC00YLQstC10YDQtNC40YLRjCDQuNC70Lgg0L7RgtC80LXQvdC40YLRjCDQt9Cw0L/QuNGB0YwsINC90LDQsdGA0LDQsiAn0LTQsCcg0LjQu9C4ICfQvdC10YInIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIHggICAgICAgICAg0J7RgtC+0LHRgNCw0LfQuNGC0Ywv0YHQutGA0YvRgtGMINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0YDQsNC30LTQtdC70LUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICLQodGC0YDQtdC70LrQsCDQstCy0LXRgNGFINCf0LXRgNC10LzQtdGJ0LXQvdC40LUg0LrRg9GA0YHQvtGA0LAg0L3QsCDQv9GA0LXQtNGL0LTRg9GJ0LjQuSDRgNCw0LfQtNC10LsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgItCh0YLRgNC10LvQutCwINCy0L3QuNC3INCf0LXRgNC10LzQtdGJ0LXQvdC40LUg0LrRg9GA0YHQvtGA0LAg0L3QsCDRgdC70LXQtNGD0Y7RidC40Lkg0YDQsNC30LTQtdC7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAi0KHRgtGA0LXQu9C60LAg0LLQu9C10LLQviAg0J/QtdGA0LXQvNC10YnQtdC90LjQtSDQutGD0YDRgdC+0YDQsCDQvdCwINC/0YDQtdC00YvQtNGD0YnQuNC5INC/0YPQvdC60YIg0LzQtdC90Y4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgItCh0YLRgNC10LvQutCwINCy0L/RgNCw0LLQviDQn9C10YDQtdC80LXRidC10L3QuNC1INC60YPRgNGB0L7RgNCwINC90LAg0YHQu9C10LTRg9GO0YnQuNC5INC/0YPQvdC60YIg0LzQtdC90Y4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgItCf0YDQuNC80LXRh9Cw0L3QuNC1OiDQktGB0LUg0LrQvtC80LDQvdC00Ysg0LzQvtCz0YPRgiDQsdGL0YLRjCDQstCy0LXQtNC10L3RiyDQutCw0Log0LIg0LLQtdGA0YXQvdC10LwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICLRgtCw0Log0Lgg0L3QuNC20L3QtdC8INGA0LXQs9C40YHRgtGA0LUgKNC30LAg0LjRgdC60LvRjtGH0LXQvdC40LXQvCDQutC+0LzQsNC90LTRiyBXcml0ZSkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMDEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSBsc2Jsayg4KSDQuNC70LggcGFydHgoOCksINGH0YLQvtCx0Ysg0L/QvtGB0LzQvtGC0YDQtdGC0Ywg0LHQvtC70LXQtSDQv9C+0LTRgNC+0LHQvdGD0Y4g0LjQvdGE0L7RgNC80LDRhtC40Y4g0L7QsSDRg9GB0YLRgNC+0LnRgdGC0LLQtS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgItCd0LDQttC80LjRgtC1INC60LvQsNCy0LjRiNGDINC00LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQutC70Y7Rh9C40YLRjCDQv9GA0LjQt9C90LDQui4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGA0LDQt9C00LXQuyAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMDkgZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgItCg0LDQt9C00LXQuyAlenUg0LHRi9C7INGD0LTQsNC70LXQvS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgItCg0LDQt9C80LXRgCDRgNCw0LfQtNC10LvQsDogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLQmNC30LzQtdC90LXQvSDRgtC40L8g0YDQsNC30LTQtdC70LAgJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAi0KLQuNC/INGA0LDQt9C00LXQu9CwICV6dSDQvdC1INC40LfQvNC10L3QuNC70YHRjyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0CisjLCBmdXp6eQorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgItCd0L7QstGL0Lkg0YjQtdC70LsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyDRgNCw0LfQtNC10LvQsCAjJWQg0LjQt9C80LXQvdC10L1cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICLQo9GB0YLRgNC+0LnRgdGC0LLQviDQvtGC0LrRgNGL0YLQviDQsiDRgNC10LbQuNC80LUg0LTQu9GPINGH0YLQtdC90LjRjy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAi0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDQt9Cw0L/QuNGB0LDRgtGMINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIg0L3QsCDQtNC40YHQuj8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICLQndCw0LHQtdGA0LjRgtC1IFwieWVzXCIg0LjQu9C4IFwibm9cIiwg0LjQu9C4INC90LDQttC80LjRgtC1IEVTQyDQtNC70Y8g0LLQvtC30LLRgNCw0YLQsC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzOSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgInllcyIKK21zZ3N0ciAi0LTQsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQwCittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgItCi0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIg0L3QtSDQt9Cw0L/QuNGB0LDQvdCwINC90LAg0LTQuNGB0LouIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC80LXRgtC60YMg0LTQuNGB0LrQsC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ1MSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICLQotCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyINCx0YvQu9CwINC40LfQvNC10L3QtdC90LAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICLQntCx0YDQsNGC0LjRgtC1INCy0L3QuNC80LDQvdC40LUsINGH0YLQviDQt9Cw0L/QuNGB0Lgg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiDRgNCw0YHQv9C+0LvQvtC20LXQvdGLINC90LUg0LIg0LTQuNGB0LrQvtCy0L7QvCDQv9C+0YDRj9C00LrQtSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTExCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MjIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQvdC+0LLRg9GOINC80LXRgtC60YMg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YDQsNC30LTQtdC70YsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0YtdIDzQtNC40YHQuj5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjMyIGRpc2stdXRpbHMvZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzoxODQzCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgItCS0YvQstC10YHRgtC4INC40LvQuCDQvtGC0YDQtdC00LDQutGC0LjRgNC+0LLQsNGC0Ywg0YLQsNCx0LvQuNGG0YMg0YDQsNC30LTQtdC70L7QsiDQtNC40YHQutCwLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzUKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgINCy0YvQstC+0LQg0YHQvtC+0LHRidC10L3QuNC5INGA0LDQt9C90YvQvNC4INGG0LLQtdGC0LDQvNC4ICjQt9C90LDRh9C10L3QuNGPOiBhdXRvPdCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4LCBhbHdheXM90LLRgdC10LPQtNCwLCBuZXZlcj3QvdC40LrQvtCz0LTQsClcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM4Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8gICAgICAgICAgICAgICDQvdCw0YfQsNGC0Ywg0YEg0L7QsdC90YPQu9C10L3QvdC+0Lkg0YLQsNCx0LvQuNGG0LXQuSDRgNCw0LfQtNC10LvQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQuSDRhtCy0LXRgtC+0LLQvtC5INGA0LXQttC40LwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICIgJXMgPNC00LjRgdC60L7QstC+0LUg0YPRgdGC0YDQvtC50YHRgtCy0L4+IDzQvdC+0LzQtdGAINGA0LDQt9C00LXQu9CwPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICLQodC+0L7QsdGJ0LjRgtGMINGP0LTRgNGDINGB0LjRgdGC0LXQvNGLINC+0LEg0YPQtNCw0LvQtdC90LjQuCDRg9C60LDQt9Cw0L3QvdC+0LPQviDRgNCw0LfQtNC10LvQsCDQuNC3INC/0LDQvNGP0YLQuC5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjMKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDRgNCw0LfQtNC10LsiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgItCS0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjQtSAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgItCz0L7RgtC+0LLQvlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgItCS0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0L/RgNC+0LLQtdGA0LrQsCAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICLQp9GC0LXQvdC40LU6IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICLQntGI0LjQsdC60LAg0YfRgtC10L3QuNGPINC00L7RgNC+0LbQutC4L9Cz0L7Qu9C+0LLQutC4ICV1LyV1LCDQvtC20LjQtNCw0LvQvtGB0YwgJWQsINC/0YDQvtGH0LjRgtCw0L3QviAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisi0L/Qu9C+0YXQuNC1INC00LDQvdC90YvQtSDQsiDQtNC+0YDQvtC20LrQtS/Qs9C+0LvQvtCy0LrQtSAldS8ldVxuIgorItCf0YDQvtC00L7Qu9C20LXQvdC40LUgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdIDzRg9GB0YLRgNC+0LnRgdGC0LLQvj5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OQorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAi0J/RgNC+0LjQt9Cy0LXRgdGC0Lgg0L3QuNC30LrQvtGD0YDQvtCy0L3QtdCy0L7QtSDRhNC+0YDQvNCw0YLQuNGA0L7QstCw0L3QuNC1INC00LjRgdC60LXRgtGLLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICDQvdCw0YfQsNGC0Ywg0YEg0LTQvtGA0L7QttC60LggTiAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtdCwgLS10byA8Tj4gICAgICDQvtGB0YLQsNC90L7QstC40YLRjNGB0Y8g0L3QsCDQtNC+0YDQvtC20LrQtSBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gINC/0YvRgtCw0YLRjNGB0Y8g0LLQvtGB0YHRgtCw0L3QvtCy0LjRgtGMINC00L7RgNC+0LbQutC4LCDQvdC1INC/0YDQvtGH0LjRgtCw0L3QvdGL0LVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgINCy0L4g0LLRgNC10LzRjyDQv9GA0L7QstC10YDQutC4ICjQvNCw0LrRgdC40LzRg9C8IE4g0L/QvtC/0YvRgtC+0LopXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLXZlcmlmeSAgINC90LUg0L/RgNC+0LLQtdGA0Y/RgtGMINC/0L7RgdC70LUg0YTQvtGA0LzQsNGC0LjRgNC+0LLQsNC90LjRj1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCIC0gZnJvbSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSB0byIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIgLSB0byIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCIC0gcmVwYWlyIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAi0LLRi9C/0L7Qu9C10L3QuNC1INC60L7QvNCw0L3QtNGLIHN0YXQg0LTQu9GPICVzINC30LDQstC10YDRiNC40LvQvtGB0Ywg0L3QtdGD0LTQsNGH0L3QviIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCx0LvQvtGH0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtC/0YDQtdC00LXQu9C40YLRjCDRgtC10LrRg9GJ0LjQuSDRgtC40L8g0YTQvtGA0LzQsNGC0LAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMt0YHRgtC+0YDQvtC90L3QuNC5LCAlZCDQtNC+0YDQvtC20LXQuiwgJWQg0YHQtdC60YIv0LTQvtGA0L7QttC6LiDQntCx0YnQsNGPINC10LzQutC+0YHRgtGMICVkINC60JEuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJEb3VibGUiCittc2dzdHIgItCU0LLQvtC50L3QvtC5IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICLQntC00LjQvdCw0YDQvdGL0LkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgItC90L7QvNC10YAg0L3QsNGH0LDQu9GM0L3QvtC5INC00L7RgNC+0LbQutC4LCDQt9Cw0LTQsNC90L3QvtC5INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC8LCDQv9GA0LXQstGL0YjQsNC10YIg0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INGH0LjRgdC70L4g0LTQvtGA0L7QttC10Log0L3QvtGB0LjRgtC10LvRjyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgItC90L7QvNC10YAg0LrQvtC90LXRh9C90L7QuSDQtNC+0YDQvtC20LrQuCwg0LfQsNC00LDQvdC90L7QuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQvCwg0L/RgNC10LLRi9GI0LDQtdGCINC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDRh9C40YHQu9C+INC00L7RgNC+0LbQtdC6INC90L7RgdC40YLQtdC70Y8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAi0L3QvtC80LXRgCDQvdCw0YfQsNC70YzQvdC+0Lkg0LTQvtGA0L7QttC60LgsINC30LDQtNCw0L3QvdC+0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LwsINC/0YDQtdCy0YvRiNCw0LXRgiDQvdC+0LzQtdGAINC60L7QvdC10YfQvdC+0Lkg0LTQvtGA0L7QttC60LgiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQutGA0YvRgtGMIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAi0JLRi9Cx0LXRgNC40YLQtSAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSAlYyk6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0L7RgtCy0LXRgiDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAlYyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi0JfQvdCw0YfQtdC90LjQtSDQt9CwINC/0YDQtdC00LXQu9Cw0LzQuCDQtNC40LDQv9Cw0LfQvtC90LAuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAtICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSAlanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJWp1LSVqdSwg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSAlanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglanUtJWp1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIFtZXSDQlNCwL1tOXSDQndC10YI6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ3OQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgItCo0LXRgdGC0L3QsNC00YbQsNGC0LXRgNC40YfQvdGL0Lkg0LrQvtC0ICjQstCy0LXQtNC40YLQtSBMINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0YHQv9C40YHQutCwINC60L7QtNC+0LIpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICLQotC40L8g0YDQsNC30LTQtdC70LAgKNCy0LLQtdC00LjRgtC1IEwg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDRgdC/0LjRgdC60LAg0YLQuNC/0L7QsiDRgNCw0LfQtNC10LvQvtCyKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgyCittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAi0KTQu9Cw0LMgRE9TLdGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4INGD0YHRgtCw0L3QvtCy0LvQtdC9ICjQo9GB0YLQsNGA0LXQu9C+ISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgItCk0LvQsNCzIERPUy3RgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCDQvdC1INGD0YHRgtCw0L3QvtCy0LvQtdC9IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA0IGRpc2stdXRpbHMvZmRpc2suYzo2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1INC10YnQtSDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCISIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE4IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAzCittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAi0J3QtdC40LfQstC10YHRgtC90YvQuSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgItCi0LjQvyDRgNCw0LfQtNC10LvQsCAnJXMnINC40LfQvNC10L3QtdC9INC90LAgJyVzJy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICLQotC40L8g0YDQsNC30LTQtdC70LAgJXp1INC90LUg0LjQt9C80LXQvdC10L0gOiVzLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiDRgdC80LXRidC10L3QuNC1ID0gJWp1LCDRgNCw0LfQvNC10YIgPSAlenUg0LHQsNC50YIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQv9C+0LjRgdC60LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAi0L7RiNC40LHQutCwINGH0YLQtdC90LjRjyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICLQn9C10YDQstGL0Lkg0YHQtdC60YLQvtGAIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10Lkg0L3QsCAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiJXM6INGD0YHRgtGA0L7QudGB0YLQstC+INGB0L7QtNC10YDQttC40YIg0LTQtdC50YHRgtCy0LjRgtC10LvRjNC90YPRjiDRgdC40LPRgNCw0YLRg9GA0YMgJyVzJzsg0LXRgdC70Lgg0Y3RgtC+INC+0YjQuNCx0L7Rh9C90L4sINC90LDRgdGC0L7Rj9GC0LXQu9GM0L3QviDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjyDQvtGH0LjRgdGC0LjRgtGMINGD0YHRgtGA0L7QudGB0YLQstC+INGBINC/0L7QvNC+0YnRjNGOIHdpcGVmcyg4KSDQstC+INC40LfQsdC10LbQsNC90LjQtSDQstC+0LfQvNC+0LbQvdGL0YUg0L/RgNC+0LHQu9C10LwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgF0gPNC00LjRgdC6PiAgICAgINC40LfQvNC10L3QuNGC0Ywg0YLQsNCx0LvQuNGG0YMg0YDQsNC30LTQtdC70L7QslxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGAXSAtbCBbPNC00LjRgdC6Pl0g0LLRi9Cy0LXRgdGC0Lgg0YLQsNCx0LvQuNGG0YMg0YDQsNC30LTQtdC70L7QslxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA80YDQsNC30LzQtdGAPiAgICDRgNCw0LfQvNC10YAg0YTQuNC30LjRh9C10YHQutC+0LPQviDQuCDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNC+0LJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorIywgZnV6enkKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAg0L3QtSDQvtGH0LjRidCw0YLRjCDQsdC40YLRiyDQt9Cw0LPRgNGD0LfQutC4INC/0YDQuCDRgdC+0LfQtNCw0L3QuNC4INC90L7QstC+0Lkg0LzQtdGC0LrQuFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz080YDQtdC20LjQvD5dICDRgNC10LbQuNC8INGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4ICdkb3MnINC40LvQuCAnbm9uZG9zJyAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICDQstGL0LLQvtC0INGB0L7QvtCx0YnQtdC90LjQuSDRgNCw0LfQvdGL0LzQuCDRhtCy0LXRgtCw0LzQuCAo0LfQvdCw0YfQtdC90LjRjzogYXV0bz3QsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCwgYWx3YXlzPdCy0YHQtdCz0LTQsCwgbmV2ZXI90L3QuNC60L7Qs9C00LApXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRgdC/0LjRgdC+0Log0YDQsNC30LTQtdC70L7QsiDQuCDQstGL0LnRgtC4XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTgKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAgICAgICAgINC/0L7Qu9GPINCy0YvQstC+0LTQsFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA80YLQuNC/INGA0LDQt9C00LXQu9CwPiAgICAgINC/0YDQuNC90LjQvNCw0YLRjCDRgtC+0LvRjNC60L4g0YPQutCw0LfQsNC90L3Ri9C1INGC0LjQv9GLINGC0LDQsdC70LjRhiDRgNCw0LfQtNC10LvQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAg0L7RgtC+0LHRgNCw0LbQtdC90LjQtTog0YbQuNC70LjQvdC00YDRiyAnY3lsaW5kZXJzJyDQuNC70Lgg0YHQtdC60YLQvtGA0LAgJ3NlY3RvcnMnICjQv9C+INGD0LzQvtC70YfQsNC90LjRjilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICDQvtGC0L7QsdGA0LDQt9C40YLRjCDRgNCw0LfQvNC10YAg0YPRgdGC0YDQvtC50YHRgtCy0LAg0LIgNTEyLdCx0LDQudGC0L7QstGL0YUg0YHQtdC60YLQvtGA0LDRhSBb0YPRgdGC0LDRgNC10LvQvl1cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAg0LLRi9Cy0LXRgdGC0Lgg0KDQkNCX0JzQldCgICDQsiDQsdCw0LnRgtCw0YUsINCwINC90LUg0LIg0LrRgNCw0YLQvdGL0YUg0LXQtNC40L3QuNGG0LDRhVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICAgINCy0YvQstC+0LQg0YHQvtC+0LHRidC10L3QuNC5INGA0LDQt9C90YvQvNC4INGG0LLQtdGC0LDQvNC4ICjQt9C90LDRh9C10L3QuNGPOiBhdXRvPdCw0LLRgtC+0LzQsNGC0LjRh9C10YHQutC4LCBhbHdheXM90LLRgdC10LPQtNCwLCBuZXZlcj3QvdC40LrQvtCz0LTQsClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICDQstGL0LLQvtC0INGB0L7QvtCx0YnQtdC90LjQuSDRgNCw0LfQvdGL0LzQuCDRhtCy0LXRgtCw0LzQuCAo0LfQvdCw0YfQtdC90LjRjzogYXV0bz3QsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCwgYWx3YXlzPdCy0YHQtdCz0LTQsCwgbmV2ZXI90L3QuNC60L7Qs9C00LApXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDzRh9C40YHQu9C+PiAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRhtC40LvQuNC90LTRgNC+0LJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDzRh9C40YHQu9C+PiAgICAgICAgICAg0YPQutCw0LbQuNGC0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LPQvtC70L7QstC+0LpcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPNGH0LjRgdC70L4+ICAgICAgICAg0YPQutCw0LbQuNGC0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiDQvdCwINC00L7RgNC+0LbQutGDXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTggZGlzay11dGlscy9mZGlzay5jOjkwMCBkaXNrLXV0aWxzL3BhcnR4LmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0YDQsNC30LzQtdGA0LAg0YHQtdC60YLQvtGA0LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgItC/0YDQuNCy0L7QtCDRgSDQvNC10YLQutC+0LkgRE9TINC90LUg0L3QsNC50LTQtdC9IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YDQtdC20LjQvCDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCAnJXMnIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM1Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LPQvtC70L7QstC+0LoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINGB0LXQutGC0L7RgNC+0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LzQtdGC0LrQsCDQtNC40YHQutCwOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80LDRjyDQtdC00LjQvdC40YbQsDonJWMnIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQuSDRhtCy0LXRgtC+0LLQvtC5INGA0LXQttC40LwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YDRiyDRg9GB0YLRgNC+0LnRgdGC0LLQsCAo0YDQsNC30LzQtdGA0LAg0YHQtdC60YLQvtGA0LAg0Lgg0LPQtdC+0LzQtdGC0YDQuNGPKSDQtNC+0LvQttC90Ysg0LHRi9GC0Ywg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdGLINGC0L7Qu9GM0LrQviDRgSDQvtC00L3QuNC8INGD0LrQsNC30LDQvdC90YvQvCDRg9GB0YLRgNC+0LnRgdGC0LLQvtC8IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAzMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA0OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njk1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODcKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NjcgZGlzay11dGlscy9yYXcuYzoxMzcgZGlzay11dGlscy9yYXcuYzoxNTAKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTYyIGRpc2stdXRpbHMvcmF3LmM6MjAzIG1pc2MtdXRpbHMvY2FsLmM6NTIwCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjU4IG1pc2MtdXRpbHMvbG9vay5jOjE1MCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1NzMKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU4NCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1OTUgbWlzYy11dGlscy93aGVyZWlzLmM6NjM3CisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MDQgc2NoZWR1dGlscy9pb25pY2UuYzoyNjIgc2NoZWR1dGlscy90YXNrc2V0LmM6MTg5CisjOiBzeXMtdXRpbHMvY2hjcHUuYzozNDQgc3lzLXV0aWxzL2NobWVtLmM6NDE5IHN5cy11dGlscy9kbWVzZy5jOjE0NjkKKyM6IHN5cy11dGlscy9pcGNtay5jOjEzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozMjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMjUgc3lzLXV0aWxzL2xzbWVtLmM6NjI4IHN5cy11dGlscy9tb3VudC5jOjY5OAorIzogc3lzLXV0aWxzL21vdW50LmM6NzExIHN5cy11dGlscy9tb3VudC5jOjc4MCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE4MQorIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3MiBzeXMtdXRpbHMvc3dhcG9mZi5jOjIzMCBzeXMtdXRpbHMvc3dhcG9uLmM6OTg4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTAgc3lzLXV0aWxzL3Vtb3VudC5jOjUyOCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTc2CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIzMyB0ZXh0LXV0aWxzL21vcmUuYzozMzcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHVzYWdlIgorbXNnc3RyICIlbHUg0L/Qu9C+0YXQsNGPINGB0YLRgNCw0L3QuNGG0LBcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAi0JTQvtCx0YDQviDQv9C+0LbQsNC70L7QstCw0YLRjCDQsiBmZGlzayAoJXMpLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTYgZGlzay11dGlscy9zZmRpc2suYzoxNjE2Cittc2dpZCAiIgorIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyJCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC5cbiIKK21zZ3N0ciAiIgorItCY0LfQvNC10L3QtdC90LjRjyDQvtGB0YLQsNC90YPRgtGB0Y8g0YLQvtC70YzQutC+INCyINC/0LDQvNGP0YLQuCDQtNC+INGC0LXRhSDQv9C+0YAsINC/0L7QutCwINCy0Ysg0L3QtSDRgNC10YjQuNGC0LUg0LfQsNC/0LjRgdCw0YLRjCDQuNGFLlxuIgorItCR0YPQtNGM0YLQtSDQstC90LjQvNCw0YLQtdC70YzQvdGLLCDQuNGB0L/QvtC70YzQt9GD0Y8g0LrQvtC80LDQvdC00YMgd3JpdGUuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDc5Cittc2dpZCAiQSBoeWJyaWQgR1BUIHdhcyBkZXRlY3RlZC4gWW91IGhhdmUgdG8gc3luYyB0aGUgaHlicmlkIE1CUiBtYW51YWxseSAoZXhwZXJ0IGNvbW1hbmQgJ00nKS4iCittc2dzdHIgItCe0LHRgNCw0YDRg9C20LXQvdCwINCz0LjQsdGA0LjQtNC90LDRjyDRgtCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyIEdQVC4g0J3QtdC+0LHRhdC+0LTQuNC80L4g0YHQuNC90YXRgNC+0L3QuNC30LjRgNC+0LLQsNGC0Ywg0LXQtSDRgSDQs9C40LHRgNC40LTQvdC+0Lkg0YLQsNCx0LvQuNGG0LXQuSBNQlIg0LLRgNGD0YfQvdGD0Y4gKNGN0LrRgdC/0LXRgNGC0L3QsNGPINC60L7QvNCw0L3QtNCwICdNJykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgItCi0LjQvyDQvNC10YLQutC4INC00LjRgdC60LA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQtNC40YHQutCwOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgItCU0LjRgdC6ICVzOiAlcywgJWp1INCx0LDQudGCLCAlanUg0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICLQk9C10L7QvNC10YLRgNC40Y86ICVkINCz0L7Qu9C+0LLQvtC6LCAlbGx1INGB0LXQutGC0L7RgNC+0LIv0LTQvtGA0L7QttC60YMsICVsbHUg0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICLQldC00LjQvdC40YbRizogJXMg0L/QviAlZCAqICVsZCA9ICVsZCDQsdCw0LnRgiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzggZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICLQoNCw0LfQvNC10YAg0YHQtdC60YLQvtGA0LAgKNC70L7Qs9C40YfQtdGB0LrQuNC5L9GE0LjQt9C40YfQtdGB0LrQuNC5KTogJWx1INCx0LDQudGCIC8gJWx1INCx0LDQudGCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICLQoNCw0LfQvNC10YAgSS9PICjQvNC40L3QuNC80LDQu9GM0L3Ri9C5L9C+0L/RgtC40LzQsNC70YzQvdGL0LkpOiAlbHUg0LHQsNC50YIgLyAlbHUg0LHQsNC50YIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAi0KHQvNC10YnQtdC90LjQtSDQstGL0YDQsNCy0L3QuNCy0LDQvdC40Y86ICVsdSDQsdCw0LnRgiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIzNgorIzogZGlzay11dGlscy9mc2NrLmM6MTI1NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTIyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0MgorIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkxNiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNjEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1OTYgbWlzYy11dGlscy9sc2Jsay5jOjE5MDggbWlzYy11dGlscy9sc2xvY2tzLmM6NDQ5CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI1MiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzEyIHN5cy11dGlscy9sc2lwYy5jOjMzOAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3Jma2lsbC5jOjQ1NyBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg0CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyNjAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODcgdGV4dC11dGlscy9jb2x1bW4uYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMINC00LDQvdC90YvQtSDQsiDRgtCw0LHQu9C40YbRgyDQstGL0LLQvtC00LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgItCg0LDQt9C00LXQuyAlenUg0L3QsNGH0LjQvdCw0LXRgtGB0Y8g0L3QtSDQvdCwINCz0YDQsNC90LjRhtC1INGE0LjQt9C40YfQtdGB0LrQvtCz0L4g0YHQtdC60YLQvtGA0LAuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwOQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgItCt0LvQtdC80LXQvdGC0Ysg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiDRg9C/0L7RgNGP0LTQvtGH0LXQvdGLINC90LUg0YLQsNC6LCDQutCw0Log0L3QsCDQtNC40YHQutC1LiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICLQvdCw0YfQsNC70L4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNgorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjkgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMjEKK21zZ2lkICJFbmQiCittc2dzdHIgItCa0L7QvdC10YYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICLQodC10LrRgtC+0YDRiyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI5CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNAorbXNnaWQgIlNpemUiCittc2dzdHIgItCg0LDQt9C80LXRgCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICLQndC10YDQsNC30LzQtdGH0LXQvdC90L7QtSDQvNC10YHRgtC+ICVzOiAlcywgJWp1INCx0LDQudGCLCAlanUg0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6INCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0YHRgtC+0LHQtdGGOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICLQntCx0YnQuNC1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0YPQtNCw0LvQuNGC0Ywg0YDQsNC30LTQtdC7IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICLQv9C+0LrQsNC30LDRgtGMINGB0LLQvtCx0L7QtNC90L7QtSDQvdC10YDQsNC30LzQtdGH0LXQvdC90L7QtSDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICLRgdC/0LjRgdC+0Log0LjQt9Cy0LXRgdGC0L3Ri9GFINGC0LjQv9C+0LIg0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAi0LTQvtCx0LDQstC70LXQvdC40LUg0L3QvtCy0L7Qs9C+INGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLQstGL0LLQtdGB0YLQuCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INGC0LjQv9CwINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0L/RgNC+0LLQtdGA0LrQsCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLRi9Cy0LXRgdGC0Lgg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0YDQsNC30LTQtdC70LUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAi0LLRi9Cy0L7QtCDRgdGL0YDRi9GFINC00LDQvdC90YvRhSDQv9C10YDQstC+0LPQviDRgdC10LrRgtC+0YDQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLQstGL0LLQvtC0INGB0YvRgNGL0YUg0LTQsNC90L3Ri9GFINC80LXRgtC60Lgg0YPRgdGC0YDQvtC50YHRgtCy0LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLQt9Cw0YTQuNC60YHQuNGA0L7QstCw0YLRjCDQv9C+0YDRj9C00L7QuiDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICLQoNCw0LfQvdC+0LUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAi0LLRi9Cy0L7QtCDRjdGC0L7Qs9C+INC80LXQvdGOIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTMKK21zZ2lkICJjaGFuZ2UgZGlzcGxheS9lbnRyeSB1bml0cyIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC10LTQuNC90LjRhiDQuNC30LzQtdGA0LXQvdC40Y8g0Y3QutGA0LDQvdCwL9GB0L7QtNC10YDQttC40LzQvtCz0L4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgItC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdCw0Y8g0YTRg9C90LrRhtC40L7QvdCw0LvRjNC90L7RgdGC0YwgKNGC0L7Qu9GM0LrQviDQtNC70Y8g0Y3QutGB0L/QtdGA0YLQvtCyKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICLQodGG0LXQvdCw0YDQuNC5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQt9Cw0LPRgNGD0LfQuNGC0Ywg0YDQsNC30LzQtdGC0LrRgyDQuNC3INGE0LDQudC70LAg0YHRhtC10L3QsNGA0LjRjyBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQt9Cw0L/QuNGB0LDRgtGMINGA0LDQt9C80LXRgtC60YMg0LIg0YTQsNC50Lsg0YHRhtC10L3QsNGA0LjRjyBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICLQl9Cw0L/QuNGB0LDRgtGMINC4INCy0YvQudGC0LgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgItC30LDQv9C40YHRjCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyINC90LAg0LTQuNGB0Log0Lgg0LLRi9GF0L7QtCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAi0LfQsNC/0LjRgdGMINGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIg0L3QsCDQtNC40YHQuiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICLQstGL0YXQvtC0INCx0LXQtyDRgdC+0YXRgNCw0L3QtdC90LjRjyDQuNC30LzQtdC90LXQvdC40LkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgItCy0L7Qt9Cy0YDQsNGCINCyINCz0LvQsNCy0L3QvtC1INC80LXQvdGOIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICLQstC+0LfQstGA0LDRgiDQvtGCIEJTRCDQuiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAi0KHQvtC30LTQsNGC0Ywg0L3QvtCy0YPRjiDQvNC10YLQutGDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0YHQvtC30LTQsNC90LjQtSDQvdC+0LLQvtC5INC/0YPRgdGC0L7QuSDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgdC+0LfQtNCw0L3QuNC1INC90L7QstC+0Lkg0L/Rg9GB0YLQvtC5INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIgU0dJIChJUklYKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItGB0L7Qt9C00LDQvdC40LUg0L3QvtCy0L7QuSDQv9GD0YHRgtC+0Lkg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgdC+0LfQtNCw0L3QuNC1INC90L7QstC+0Lkg0L/Rg9GB0YLQvtC5INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIgU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDUKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItGB0L7Qt9C00LDQvdC40LUg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiBJUklYIChTR0kpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJHZW9tZXRyeSAoZm9yIHRoZSBjdXJyZW50IGxhYmVsKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwINGG0LjQu9C40L3QtNGA0L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU2Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwINCz0L7Qu9C+0LLQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTcKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgItC40LfQvNC10L3QtdC90LjQtSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRgdC10LrRgtC+0YDQvtCyINC90LAg0LTQvtGA0L7QttC60YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICLQuNC30LzQtdC90LjRgtGMIEdVSUQg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLQuNC30LzQtdC90LjRgtGMINC40LzRjyDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICLQuNC30LzQtdC90LjRgtGMIFVVSUQg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC00LvQuNC90YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAi0LLRhdC+0LQg0LIg0L3QsNGB0LvQtdC00YHRgtCy0LXQvdC90YvQuS/Qs9C40LHRgNC40LTQvdGL0LkgTUJSIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRhNC70LDQs9CwINC30LDQs9GA0YPQt9C60LggQklPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRhNC70LDQs9CwINGC0YDQtdCx0YPQtdC80L7Qs9C+INGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzcKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INCx0LjRgtC+0LIgR1VJRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAiU3VuIgorbXNnc3RyICJTdW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OAorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRhNC70LDQs9CwINGC0L7Qu9GM0LrQviDQtNC70Y8g0YfRgtC10L3QuNGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICLQv9C10YDQtdC60LvRjtGH0LXQvdC40LUg0YTQu9Cw0LPQsCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC60L7Qu9C40YfQtdGB0YLQstCwINCw0LvRjNGC0LXRgNC90LDRgtC40LLQvdGL0YUg0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLQuNC30LzQtdC90LXQvdC40LUg0LrQvtC70LjRh9C10YHRgtCy0LAg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDRgdC10LrRgtC+0YDQvtCyINC90LAg0YbQuNC70LjQvdC00YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC60L7RjdGE0YTQuNGG0LjQtdC90YLQsCDRh9C10YDQtdC00L7QstCw0L3QuNGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgItC40LfQvNC10L3QtdC90LjQtSDRgdC60L7RgNC+0YHRgtC4INCy0YDQsNGJ0LXQvdC40Y8gKNC+0LEv0LzQuNC9KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgItC40LfQvNC10L3QtdC90LjQtSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRhNC40LfQuNGH0LXRgdC60LjRhSDRhtC40LvQuNC90LTRgNC+0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICLQstGL0LHQvtGAINC30LDQs9GA0YPQt9C+0YfQvdC+0LPQviDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAi0YDQtdC00LDQutGC0LjRgNC+0LLQsNC90LjQtSDRgdC+0LTQtdGA0LbQuNC80L7Qs9C+INC30LDQs9GA0YPQt9C+0YfQvdC+0LPQviDRhNCw0LnQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDcKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICLQstGL0LHQvtGAINGA0LDQt9C00LXQu9CwINC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwIHNnaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA4Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICLRgdC+0LfQtNCw0L3QuNC1INC00LDQvdC90YvRhSBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICLQv9C10YDQtdC60LvRjtGH0LXQvdC40LUg0YTQu9Cw0LPQsCDQt9Cw0LPRgNGD0LfQutC4IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INCy0LvQvtC20LXQvdC90L7QuSDQvNC10YLQutC4INC00LjRgdC60LAgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgItC/0LXRgNC10LrQu9GO0YfQtdC90LjQtSDRhNC70LDQs9CwIGRvcy3RgdC+0LLQvNC10YHRgtC40LzQvtGB0YLQuCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0L/QtdGA0LXQvNC10YnQtdC90LjQtSDQvdCw0YfQsNC70LAg0LTQsNC90L3Ri9GFINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC1INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0LAg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAi0LLQvtC30LLRgNCw0LQg0LjQtyDQvdCw0YHQu9C10LTRgdGC0LLQtdC90L3QvtCz0L4v0LPQuNCx0YDQuNC00L3QvtCz0L4gTUJSIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICLRgNC10LTQsNC60YLQuNGA0L7QstCw0L3QuNC1INC00LDQvdC90YvRhSDQtNC40YHQutCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzcKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAi0YPRgdGC0LDQvdC+0LLQutCwIGJvb3RzdHJhcCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM4Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgItC+0YLQvtCx0YDQsNC20LXQvdC40LUg0L/QvtC70L3QvtC5INC80LXRgtC60Lgg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICLRgdCy0Y/Qt9GL0LLQsNC90LjQtSDRgNCw0LfQtNC10LvQsCBCU0Qg0YEg0YDQsNC30LTQtdC70L7QvCDQvdC1LUJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwIChleHBlcnQgY29tbWFuZHMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHQv9GA0LDQstC60LAgKNC00LvRjyDRjdC60YHQv9C10YDRgtC+0LIpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHQv9GA0LDQstC60LA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICLQktGLINGA0LXQtNCw0LrRgtC40YDRg9C10YLQtSDQstC70L7QttC10L3QvdGD0Y4g0YLQsNC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIgJyVzJywg0L/QtdGA0LLQuNGH0L3QsNGPINGC0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIgLSAnJXMnLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgItCa0L7QvNCw0L3QtNGLINGN0LrRgdC/0LXRgNGC0LAgKG0g0LTQu9GPINGB0L/RgNCw0LLQutC4KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsCAobSDQtNC70Y8g0YHQv9GA0LDQstC60LgpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzNQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisiXG4iCisi0JLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0LLRi9C50YLQuD8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzog0L3QtdC40LfQstC10YHRgtC90LDRjyDQutC+0LzQsNC90LTQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgItCS0LLQtdC00LjRgtC1INC40LzRjyDRhNCw0LnQu9CwINGB0LrRgNC40L/RgtCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ5MgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgYXBwbGllZC4iCittc2dzdHIgItCh0YbQtdC90LDRgNC40Lkg0L/RgNC40LzQtdC90LXQvSDRg9GB0L/QtdGI0L3Qvi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC10L7QsdGA0LDQt9C+0LLQsNGC0Ywg0YDQsNC30LzQtdGC0LrRgyDQtNC40YHQutCwINCyINGB0YbQtdC90LDRgNC40LkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICLQodGG0LXQvdCw0YDQuNC5INC30LDQv9C40YHQsNC9INGD0YHQv9C10YjQvdC+LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDRgdC+0LTQtdGA0LbQuNGCINC90YPQu9C10LLQvtC5INGB0LXQutGC0L7RgCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgItCS0Ysg0YXQvtGC0LjRgtC1INC30LDQv9C40YHQsNGC0Ywg0Y3RgtC+INC90LAg0LTQuNGB0Lo/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NjMgZGlzay11dGlscy9zZmRpc2suYzoxNTEyCittc2dpZCAiVGhlIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9C40YHQsNGC0Ywg0LzQtdGC0LrRgyDQtNC40YHQutCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAi0LfQsNGE0LjQutGB0LjRgNC+0LLQsNGC0Ywg0L/QvtGA0Y/QtNC+0Log0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICLQoNCw0LfQtNC10LvRiyDQvdC1INC+0L/RgNC10LTQtdC70LXQvdGLLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRg9C00LDQu9C40YLRjCDRgNCw0LfQtNC10LsgJXp1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAi0K3QutGA0LDQvS/RgdC+0LTQtdGA0LbQuNC80L7QtSDQsdGD0LTQtdGCINC+0YLQvtCx0YDQsNC20LDRgtGM0YHRjyDQsiDRhtC40LvQuNC90LTRgNCw0YUgKNCj0KHQotCQ0KDQldCb0J4hKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgItCt0LrRgNCw0L0v0YHQvtC00LXRgNC20LjQvNC+0LUg0LHRg9C00LXRgiDQvtGC0L7QsdGA0LDQttCw0YLRjNGB0Y8g0LIg0YHQtdC60YLQvtGA0LDRhS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICLQktGL0YXQvtC0INC40Lcg0LLQu9C+0LbQtdC90L3QvtC5INC80LXRgtC60Lgg0LTQuNGB0LrQsC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgItCS0LLQvtC0INC80LXRgtC60Lgg0L3QsNGB0LvQtdC00YHRgtCy0LXQvdC90L7Qs9C+L9Cz0LjQsdGA0LjQtNC90L7Qs9C+IE1CUi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc2MQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgItCd0L7QstGL0LkgVVVJRCAo0LIg0YTQvtGA0LzQsNGC0LUgOC00LTQtNC0xMikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICLQndC+0LLQvtC1INC40LzRjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICLQktGF0L7QtCDQstC+INCy0LvQvtC20LXQvdC90YPRjiDQvNC10YLQutGDINC00LjRgdC60LAgQlNELiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INGG0LjQu9C40L3QtNGA0L7QsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0NAorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0LPQvtC70L7QstC+0LoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzINC90LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDRkdGC0YHRjyDQv9GA0L7Rh9C40YLQsNGC0YwgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDRgNCw0LfQsdC+0YDQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDRkdGC0YHRjyDRgdC+0LfQtNCw0YLRjCDQutCw0YLQsNC70L7QsyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICLQkdC70L7QutC40YDQvtCy0LrQsCDQtNC40YHQutCwINC/0L4gJXMgLi4uICIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIijQvtC20LjQtNCw0L3QuNC1KSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgItGD0YHQv9C10YjQvdC+IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgItC+0YjQuNCx0LrQsCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAi0KDQsNC30LHQu9C+0LrQuNGA0L7QstC60LAgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCDQvtC/0LjRgdCw0L3QuNC1INC00LvRjyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDcyIG1pc2MtdXRpbHMvZmluZG1udC5jOjc4NCBtaXNjLXV0aWxzL2xzYmxrLmM6NDQ2CisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDEgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0YDQsNC30LHQvtGA0LAg0LIg0YHRgtGA0L7QutC1ICVkIOKAlCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNCBkaXNrLXV0aWxzL2ZzY2suYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6INC+0YjQuNCx0LrQsCDRgNCw0LfQsdC+0YDQsCBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQtNC+0YfQtdGA0L3QuNC5INC/0YDQvtGG0LXRgdGBIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0L/QvtC70L3QuNGC0YwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAid2FpdDog0LHQvtC70YzRiNC1INC90LXRgiDQtNC+0YfQtdGA0L3QuNGFINC/0YDQvtGG0LXRgdGB0L7Qsj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LUuICVzINC00LvRjyDRg9GB0YLRgNC+0LnRgdGC0LLQsCAlcyDQt9Cw0LLQtdGA0YjQuNC7INGA0LDQsdC+0YLRgyDQv9C+0YHQu9C1INGB0LjQs9C90LDQu9CwICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAi0KDQsNCx0L7RgtCwINGBICVzINC30LDQutC+0L3Rh9C10L3QsCAo0YHRgtCw0YLRg9GBINC30LDQstC10YDRiNC10L3QuNGPINGA0LDQsdC+0YLRiyAtICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCAlZCAoJW0pINC/0YDQuCDQt9Cw0L/Rg9GB0LrQtSBmc2NrLiVzINC00LvRjyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorItCb0LjQsdC+INC90Lgg0L7QtNC40L0g0LjQtyDRgtC40L/QvtCyINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8LCDQu9C40LHQviDQstGB0LUg0YLQuNC/0Ysg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwsXG4iCisi0L/QtdGA0LXQtNCw0L3QvdGL0YUg0YEg0L/QsNGA0LDQvNC10YLRgNC+0LwgLXQsINC00L7Qu9C20L3RiyDQsdGL0YLRjCDRg9C60LDQt9Cw0L3RiyDRgSDQv9GA0LjRgdGC0LDQstC60L7QuSAnbm8nINC40LvQuCAnIScuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczog0L/RgNC+0L/Rg9GB0Log0YHRgtGA0L7QutC4INCyINGE0LDQudC70LUgL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVzOiDQv9GA0L7Qv9GD0YHQuiDQvdC10YHRg9GJ0LXRgdGC0LLRg9GO0YnQtdCz0L4g0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczog0L3QtdGB0YPRidC10YHRgtCy0YPRjtGJ0LXQtSDRg9GB0YLRgNC+0LnRgdGC0LLQviAo0LzQvtC20L3QviDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L/QsNGA0LDQvNC10YLRgCBcIm5vZmFpbFwiLCDRh9GC0L7QsdGLINC/0YDQvtC/0YPRgdGC0LjRgtGMINGN0YLQviDRg9GB0YLRgNC+0LnRgdGC0LLQvilcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAiJXM6INC/0YDQvtC/0YPRgdC6INC90LXQuNC30LLQtdGB0YLQvdC+0Lkg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgItC90LUg0LzQvtCz0YMg0L/RgNC+0LLQtdGA0LjRgtGMICVzOiDQvdC1INC90LDQudC00LXQvSBmc2NrLiVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDQstGB0LXRhSDRhNCw0LnQu9C+0LLRi9GFINGB0LjRgdGC0LXQvC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS3QvtC20LjQtNCw0L3QuNC1LS0gKNC/0YDQvtC50LTQtdC90L4gJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAtLSBbZnMtb3B0aW9uc10gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgF0gLS0gW9C/0LDRgNCw0LzQtdGC0YDRiyDQpNChXSBbPNGE0LDQudC70L7QstCw0Y8g0YHQuNGB0YLQtdC80LA+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQn9GA0L7QstC10YDQutCwINC4INC40YHQv9GA0LDQstC70LXQvdC40LUg0L7RiNC40LHQvtC6INC90LAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzQtSBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NAorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICDQv9GA0L7QstC10YDQuNGC0Ywg0LLRgdC1INGE0LDQudC70L7QstGL0LUg0YHQuNGB0YLQtdC80YtcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIC1DIFs8ZmQ+XSAg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0YHRgtCw0YLRg9GBINCy0YvQv9C+0LvQvdC10L3QuNGPOyBmZCAtINC00LXRgdC60YDQuNC/0YLQvtGAINGE0LDQudC70LAg0L/RgNC4INGA0LDQsdC+0YLQtSDQsiDQs9GA0LDRhNC40YfQtdGB0LrQvtC8INC40L3RgtC10YDRhNC10LnRgdC1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIC1sICAgICAgICAg0LfQsNCx0LvQvtC60LjRgNC+0LLQsNGC0Ywg0YPRgdGC0YDQvtC50YHRgtCy0L4g0LTQu9GPINCz0LDRgNCw0L3RgtC40Lgg0LjRgdC60LvRjtGH0LjRgtC10LvRjNC90L7Qs9C+INC00L7RgdGC0YPQv9CwXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICDQvdC1INC/0YDQvtCy0LXRgNGP0YLRjCDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvdC90YvQtSDRhNCw0LnQu9C+0LLRi9C1INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTgKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICDQvdC1INC30LDQv9GD0YHQutCw0YLRjCwg0L/QvtC60LDQt9Cw0YLRjCDQuNC80LjRgtCw0YbQuNGOINCy0YvQv9C+0LvQvdC10L3QuNGPXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAg0L/RgNC+0LLQtdGA0LjRgtGMINGE0LDQudC70L7QstGL0LUg0YHQuNGB0YLQtdC80Ysg0L7QtNC90L7QstGA0LXQvNC10L3QvdC+LCDQstC60LvRjtGH0LDRjyDQutC+0YDQvdC10LLRg9GOXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiAtUiAgICAgICAgINC/0YDRgNC+0L/Rg9GB0YLQuNGC0Ywg0LrQvtGA0L3QtdCy0YPRjiDRhNCw0LnQu9C+0LLRg9GOINGB0LjRgdGC0LXQvNGDOyDQvNC+0LbQtdGCINCx0YvRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L3QviDRgtC+0LvRjNC60L4g0YEgJy1BJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiICAgIC1sIFvQuNC70LggLS1saXN0XTogICAgICDRgdC/0LjRgdC+0Log0YDQsNC30LTQtdC70L7QsiDQutCw0LbQtNC+0LPQviDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDQv9C+0YHQu9C10LTQvtCy0LDRgtC10LvRjNC90L7QtSDQstGL0L/QvtC70L3QtdC90LjQtSDQv9GA0L7QstC10YDQvtC6XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINC30LDQs9C+0LvQvtCy0L7QuiDQv9GA0Lgg0LfQsNC/0YPRgdC60LVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPNGC0LjQvz4gINGD0LrQsNC30LDRgtGMINGE0LDQudC70L7QstGD0Y4g0YHQuNGB0YLQtdC80YMg0LTQu9GPINC/0YDQvtCy0LXRgNC60Lg7XG4iCisiICAgICAgICAgICDQsiDQutCw0YfQtdGB0YLQstC1INC/0LDRgNCw0LzQtdGC0YDQsCDQvNC+0LbQvdC+INC/0LXRgNC10YfQuNGB0LvQuNGC0Ywg0L3QtdGB0LrQvtC70YzQutC+INGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8INGH0LXRgNC10Lcg0LfQsNC/0Y/RgtGD0Y5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgINC/0L7QtNGA0L7QsdC90L7QtSDQvtC/0LjRgdCw0L3QuNC1INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAi0J/QvtGB0LzQvtGC0YDQuNGC0LUg0LrQvtC90LrRgNC10YLQvdGD0Y4g0LrQvtC80LDQvdC00YMgZnNjay4qINC00LvRjyDQtNC+0YHRgtGD0L/QvdGL0YUg0L/QsNGA0LDQvNC10YLRgNC+0LIg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYwCittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDRg9GB0YLRgNC+0LnRgdGC0LIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAi0KTQsNC50LvQvtCy0LDRjyDRgdC40YHRgtC10LzQsCAvcHJvYyDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvdCwPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICLQvdC10L7QsdGF0L7QtNC40LzQviDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L7RgiDQuNC80LXQvdC4INGD0YfQtdGC0L3QvtC5INC30LDQv9C40YHQuCByb290LCDRh9GC0L7QsdGLINC/0YDQvtGB0LrQsNC90LjRgNC+0LLQsNGC0Ywg0LLRi9Cx0YDQsNC90L3Ri9C1INGE0LDQudC70L7QstGL0LUg0YHQuNGB0YLQtdC80Ys6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgItC90LUg0L3QsNC50LTQtdC90Ysg0L/QvtC00YXQvtC00Y/RidC40LUg0YTQsNC50LvQvtCy0YvQtSDRgdC40YHRgtC10LzRizogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0L7QsiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBp0LDRgNCz0LzQtdC90YIg0L/QsNGA0LDQvNC10YLRgNCwIC1yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAi0JLRiyDRg9C60LDQt9Cw0LvQuCDRhtC40LvQuNC90LTRgNC+0LIg0LHQvtC70YzRiNC1LCDRh9C10Lwg0LzQvtC20LXRgiDQsdGL0YLRjCDQvdCwINC00LjRgdC60LUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICLQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNCwICclcycg0YLRgNC10LHRg9C10YLRgdGPINCw0YDQs9GD0LzQtdC90YIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgItC90LXQstC10YDQvdGL0LkgadCw0YDQs9C80LXQvdGCINC/0LDRgNCw0LzQtdGC0YDQsCAtcjogJWQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtbCDQvNC+0LbQtdGCINCx0YvRgtGMINC40YHQv9C+0LvRjNC30L7QstCw0L0g0YLQvtC70YzQutC+INGBINC+0LTQvdC40Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCAtLSDQuNCz0L3QvtGA0LjRgNGD0LXQvCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPlxuIgorbXNnc3RyICIlcyBb0L/QsNGA0LDQvNC10YLRgNGLXSA80YTQsNC50Ls+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LjRgtGMINC4INC40YHQv9GA0LDQstC40YLRjCDQvtGI0LjQsdC60Lgg0L3QsCDRgdC20LDRgtC+0LkgUk9NLdGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80LUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICDRgtC+0LvRjNC60L4g0LTQu9GPINGB0L7QstC80LXRgdGC0LjQvNC+0YHRgtC4LCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg0L/QvtC00YDQvtCx0L3Ri9C5INGA0LXQttC40LxcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgINGC0L7Qu9GM0LrQviDQtNC70Y8g0YHQvtCy0LzQtdGB0YLQuNC80L7RgdGC0LgsINC40LPQvdC+0YDQuNGA0YPQtdGC0YHRj1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDzRgNCw0LfQvNC10YA+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQt9Cw0LTQsNC90L3Ri9C5INGA0LDQt9C80LXRgCDQsdC70L7QutCwLCDQv9C+INGD0LzQvtC70YfQsNC90LjRjiAtINGA0LDQt9C80LXRgCDRgdGC0YDQsNC90LjRhtGLXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICDQv9GA0L7QstC10YDQutCwINGA0LDRgdC/0LDQutC+0LLQutC4LCDQvtC/0YbQuNC+0L3QsNC70YzQvdC+INCyINC60LDRgtCw0LvQvtCzIDxkaXI+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCy0YvQt9C+0LLQsCBpb2NsdDog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YDQsNC30LzQtdGAINGD0YHRgtGA0L7QudGB0YLQstCwOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgItC90LUg0Y/QstC70Y/QtdGC0YHRjyDQsdC70L7Rh9C90YvQvCDRg9GB0YLRgNC+0LnRgdGC0LLQvtC8INC40LvQuCDRhNCw0LnQu9C+0Lw6ICVzICIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNCw0LvQsNGPINC00LvQuNC90LAg0YTQsNC50LvQsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgItC/0L7QuNGB0Log0L3QsCAlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgItC/0L7RgNGP0LTQvtC6INCx0LDQudGCIGNyYW1mcyAtICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJiaWciCittc2dzdHIgItCx0L7Qu9GM0YjQvtC5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICLQt9Cw0LPQvtC70L7QstC+0LoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQtSDQvtGB0L7QsdC10L3QvdC+0YHRgtC4INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICLRgNCw0LfQvNC10YAg0YHRg9C/0LXRgNCx0LvQvtC60LAg0YHQu9C40YjQutC+0Lwg0LHQvtC70YzRiNC+0LkgKCVkKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAi0L/QvtC00YHRh9C10YIg0LrQvtC70LjRh9C10YHRgtCy0LAg0YTQsNC50LvQvtCyINC90YPQu9C10LLQvtC5INC00LvQuNC90YsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAi0YTQsNC50Lsg0LLRi9GF0L7QtNC40YIg0LfQsCDQv9GA0LXQtNC10LvRiyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA3Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgItGB0YLQsNGA0YvQuSDRhNC+0YDQvNCw0YIgY3JhbWZzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjE2Cittc2dpZCAidW5hYmxlIHRvIHRlc3QgQ1JDOiBvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0LLQtdGA0LjRgtGMINC60L7QvdGC0YDQvtC70YzQvdGD0Y4g0YHRg9C80LzRgyBDUkM6INGB0YLQsNGA0YvQuSDRhNC+0YDQvNCw0YIgY2ZyYW1mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJTxQUkl1MzI+IGJ5dGVzIGZyb20gZmlsZSAlcyIKK21zZ3N0ciAiaW9jdGwoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC/0YDQuCDRh9GC0LXQvdC40Lgg0LLRgNC10LzQtdC90Lgg0LjQtyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3NAorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC60L7QvdGC0YDQvtC70YzQvdC+0Lkg0YHRg9C80LzRiyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC/0L7QuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCByb21mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiaW5vZGUg0LrQvtGA0L3RjyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LrQsNGC0LDQu9C+0LPQvtC8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90L7QtSDRgdC80LXRidC10L3QuNC1INC60L7RgNC90Y8gKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAi0LHQu9C+0Log0LTQsNC90L3Ri9C5INGB0LvQuNGI0LrQvtC8INCx0L7Qu9GM0YjQvtC5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0YDQsNGB0L/QsNC60L7QstC60Lg6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICDCq9C00YvRgNCwwrsg0LIgJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgINGA0LDRgdC/0LDQutC+0LLRi9Cy0LDQtdGC0YHRjyDQsdC70L7QuiAlbHUg0LIgJWx1ICglbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICLQvdC10LHQu9C+0YfQvdGL0LUgKCVsZCkg0LHQsNC50YLRiyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgItCx0LXQt9GA0LDQt9C80LXRgNC90YvQtSAoJWxkINC/0YDQvtGC0LjQsiAlbGQpINCx0LDQudGC0YsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxOAorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDkgbWlzYy11dGlscy91dWlkZC5jOjM2NiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NDA4CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTUxIHN5cy11dGlscy9zZXRwcml2LmM6NjIwIHN5cy11dGlscy9zZXRwcml2LmM6NjQzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzkzIHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCB3cml0ZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCBsY2hvd246ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCBjaG93bjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwIHV0aW1lOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiaW5vZGUg0LrQsNGC0LDQu9C+0LPQsCDQuNC80LXQtdGCINC90YPQu9C10LLQvtC1INGB0LzQtdGJ0LXQvdC40LUg0Lgg0L3QtdC90YPQu9C10LLQvtC5INGA0LDQt9C80LXRgDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAi0LLRi9C/0L7Qu9C10L3QuNC1IG1rZGlyINC30LDQstC10YDRiNC40LvQvtGB0Ywg0L3QtdGD0LTQsNGH0LXQuTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAi0L3Rg9C70LXQstCw0Y8g0LTQu9C40L3QsCDQuNC80LXQvdC4INGE0LDQudC70LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODAKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCw0Y8g0LTQu9C40L3QsCDQuNC80LXQvdC4INGE0LDQudC70LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODYKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INGB0LzQtdGJ0LXQvdC40LUgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDEKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiaW5vZGUg0YTQsNC50LvQsCDQuNC80LXQtdGCINC90YPQu9C10LLQvtC1INGB0LzQtdGJ0LXQvdC40LUg0Lgg0L3QtdC90YPQu9C10LLQvtC5INC+0LHRitC10LwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiaW5vZGUg0YTQsNC50LvQsCDQuNC80LXQtdGCINC90YPQu9C10LLQvtC5INC+0LHRitC10Lwg0Lgg0L3QtdC90YPQu9C10LLQvtC1INGB0LzQtdGJ0LXQvdC40LUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAi0YHQuNC80LLQvtC70LjRh9C10YHQutCw0Y8g0YHRgdGL0LvQutCwINC40LzQtdC10YIg0L3Rg9C70LXQstC+0LUg0YHQvNC10YnQtdC90LjQtSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAi0YHQuNC80LLQvtC70LjRh9C10YHQutCw0Y8g0YHRgdGL0LvQutCwINC40LzQtdC10YIg0L3Rg9C70LXQstC+0Lkg0YDQsNC30LzQtdGAIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDRgNCw0LfQvNC10YDQsCDQsiDRgdC40LzQstC+0LvQuNGH0LXRgdC60L7QuSDRgdGB0YvQu9C60LU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINGB0LjQvNCy0L7Qu9C40YfQtdGB0LrQvtC5INGB0YHRi9C70LrQuDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICLQvtGB0L7QsdGL0Lkg0YTQsNC50Lsg0LjQvNC10LXRgiDQvdC10L3Rg9C70LXQstC+0LUg0YHQvNC10YnQtdC90LjQtTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgItC+0YfQtdGA0LXQtNGMIGZpZm8g0LjQvNC10LXRgiDQvdC10L3Rg9C70LXQstGD0Y4g0LTQu9C40L3RgzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAi0YHQvtC60LXRgiDQuNC80LXQtdGCINC90LXQvdGD0LvQtdCy0YPRjiDQtNC70LjQvdGDOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICLRhNC40LrRgtC40LLQvdGL0Lkg0YDQtdC20LjQvDogJXMgKCVvKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5OQorIywgYy1mb3JtYXQKK21zZ2lkICJta25vZCBmYWlsZWQ6ICVzIgorbXNnc3RyICLQstGL0L/QvtC70L3QtdC90LjQtSBta25vZCDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10Lk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICLQvdCw0YfQsNC70L4g0LTQsNC90L3Ri9GFINC60LDRgtCw0LvQvtCz0LAgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAi0LrQvtC90LXRhiDQtNCw0L3QvdGL0YUg0LrQsNGC0LDQu9C+0LPQsCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80L7QtSDRgdC80LXRidC10L3QuNC1INC00LDQvdC90YvRhSDRhNCw0LnQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0YDQsNC30LzQtdGA0LAg0LHQu9C+0LrQsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6INCe0JpcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1Cittc2dpZCAiQ2hlY2sgdGhlIGNvbnNpc3RlbmN5IG9mIGEgTWluaXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0LrQsCDRhtC10LvQvtGB0YLQvdC+0YHRgtC4INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgTWluaXguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICDQstGL0LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LLRgdC10YUg0YTQsNC50LvQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAg0LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60L7QtSDQuNGB0L/RgNCw0LLQu9C10L3QuNC1INC+0YjQuNCx0L7QulxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlcGFpciAgICAg0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+0LUg0LjRgdC/0YDQsNCy0LvQtdC90LjQtSDQvtGI0LjQsdC+0LpcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDQv9C+0LTRgNC+0LHQvdGL0Lkg0YDQtdC20LjQvFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDRgdGD0L/QtdGA0LHQu9C+0LrQtVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgICDQstC60LvRjtGH0LjRgtGMINC/0YDQtdC00YPQv9GA0LXQttC10L3QuNGPIFwibW9kZSBub3QgY2xlYXJlZFwiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MworbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgINC/0YDQuNC90YPQtNC40YLQtdC70YzQvdCw0Y8g0L/RgNC+0LLQtdGA0LrQsFxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICjQtC/QvSk/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiVzICjQvS/QtCk/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAi0LRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAi0L1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvS5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAi0JLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0L/RgNC+0LTQvtC70LbQuNGC0YwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICLQv9GA0L7QstC10YDQutCwINC/0YDQtdGA0LLQsNC90LAuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLQl9C+0L3QsCBuciA8IEZJUlNUWk9ORSDQsiDRhNCw0LnQu9C1IGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAi0JfQvtC90LAgbnIgPj0gWk9ORVMg0LIg0YTQsNC50LvQtSBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAi0KPQtNCw0LvQuNGC0Ywg0LHQu9C+0LoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi0J7RiNC40LHQutCwINGH0YLQtdC90LjRjzog0L3QtdCy0L7Qt9C80L7QttC90L4g0L3QsNC50YLQuCDQsdC70L7QuiDQsiDRhNCw0LnQu9C1ICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi0J7RiNC40LHQutCwINGH0YLQtdC90LjRjzog0L7RiNC40LHQvtGH0L3Ri9C5INCx0LvQvtC6INCyINGE0LDQudC70LUgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyLQktC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LA6INC/0L7Qv9GL0YLQutCwINC30LDQv9C40YHQsNGC0Ywg0L7RiNC40LHQvtGH0L3Ri9C5INCx0LvQvtC6XG4iCisi0JfQsNC/0YDQvtGBINC90LAg0LfQsNC/0LjRgdGMINC/0YDQvtC40LPQvdC+0YDQuNGA0L7QstCw0L1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgItC/0L7QuNGB0Log0LIgd3JpdGVfYmxvY2sg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lg6INC90LXQstC10YDQvdGL0Lkg0LHQu9C+0Log0LIg0YTQsNC50LvQtSAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INGH0LjRgdC70L4gaW5vZGUg0YHQu9C40YjQutC+0Lwg0LLQtdC70LjQutC+LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAi0L/QvtC40YHQuiDQsiB3cml0ZV9zdXBlcl9ibG9jayDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0Ywg0YHRg9C/0LXRgNCx0LvQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINC60LDRgNGC0YMgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCDQutCw0YDRgtGDIHpvbmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0YwgaW5vZGUn0YsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgCDQtNC70Y8g0YHRg9C/0LXRgNCx0LvQvtC60LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHRg9C/0LXRgNCx0LvQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INC80LDQs9C40YfQtdGB0LrQvtC1INGH0LjRgdC70L4g0LIg0YHRg9C/0LXRgNCx0LvQvtC60LUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAi0J/QvtC00LTQtdGA0LbQuNCy0LDRjtGC0YHRjyDRgtC+0LvRjNC60L4gMWsg0LHQu9C+0LrQuC/Qt9C+0L3RiyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkzCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0L/QvtC70LUgc19pbWFwX2Jsb2NrcyDQsiDRgdGD0L/QtdGA0LHQu9C+0LrQtSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0L/QvtC70LUgc19pbWFwX2Jsb2NrcyDQsiDRgdGD0L/QtdGA0LHQu9C+0LrQtSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0L/QvtC70LUgc19pbWFwX2Jsb2NrcyDQsiDRgdGD0L/QtdGA0LHQu9C+0LrQtSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0L/QvtC70LUgc196bWFwX2Jsb2NrcyDQsiDRgdGD0L/QtdGA0LHQu9C+0LrQtSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRgNCw0LfQvNC10YHRgtC40YLRjCDQsdGD0YTQtdGAINC00LvRjyDQutCw0YDRgtGLIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGAINC00LvRjyDQutCw0YDRgtGLINC30L7QvdGLIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGA0LDQt9C80LXRgdGC0LjRgtGMINCx0YPRhNC10YAg0LTQu9GPIGlub2RlJ9C+0LIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAg0LTQu9GPINGH0LjRgdC70LAgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgCDQtNC70Y8g0YfQuNGB0LvQsCDQt9C+0L0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0YfQuNGC0LDRgtGMINC60LDRgNGC0YMgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0Ywg0LrQsNGA0YLRgyDQt9C+0L0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0YfQuNGC0LDRgtGMIGlub2RlJ9GLIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INCf0LXRgNCy0LDRjyDQt9C+0L3QsCAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQgaW5vZGUn0L7QslxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQg0LHQu9C+0LrQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAi0J/QtdGA0LLQsNGPINC30L7QvdCwINC00LDQvdC90YvRhT0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgItCg0LDQt9C80LXRgCDQt9C+0L3Riz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAi0JzQsNC60YEuINGA0LDQt9C80LXRgD0lenVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAi0KHQvtGB0YLQvtGP0L3QuNC1INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ys9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisi0LTQu9C40L3QsCDQuNC80LXQvdC4PSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQg0L/QvtC80LXRh9C10L0g0LrQsNC6INC90LXQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LksINC90L4g0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINGE0LDQudC70L7QvCAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAi0J/QvtC80LXRgtC40YLRjCwg0LrQsNC6INC40YHQv9C+0LvRjNC30YPQtdC80YvQuSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAi0KTQsNC50LsgYCVzJyDQvdCw0YXQvtC00LjRgtGB0Y8g0LIg0YDQtdC20LjQvNC1ICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDRh9C40YHQu9C+IGlub2RlINGB0LvQuNGI0LrQvtC8INCy0LXQu9C40LrQvi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgItC60L7RgNC90LXQstC+0LkgaW5vZGUg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgItCR0LvQvtC6INCx0YvQuyDQuNGB0L/QvtC70YzQt9C+0LLQsNC9INGA0LDQvdC10LUuINCi0LXQv9C10YDRjCDQsiDRhNCw0LnQu9C1IGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICLQntGH0LjRgdGC0LjRgtGMIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgItCR0LvQvtC6ICVkINCyINGE0LDQudC70LUgYCVzJyDQv9C+0LzQtdGH0LXQvSDQutCw0Log0L3QtdC40YHQv9C+0LvRjNC30YPQtdC80YvQuS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICLQmNGB0L/RgNCw0LLQuNGC0YwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAi0JrQsNGC0LDQu9C+0LMgJyVzJyDRgdC+0LTQtdGA0LbQuNGCINC90LXQstC10YDQvdGL0Lkg0L3QvtC80LXRgCBpbm9kZSDQtNC70Y8g0YTQsNC50LvQsCAnJS4qcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiDQo9C00LDQu9C40YLRjCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlczog0L3QtdCy0LXRgNC90YvQuSDQutCw0YLQsNC70L7QszogJy4nINC90LUg0L/QtdGA0LLRi9C5XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk5MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczog0L3QtdCy0LXRgNC90YvQuSDQutCw0YLQsNC70L7QszogJy4uJyDQvdC1INCy0YLQvtGA0L7QuVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAi0LLQvdGD0YLRgNC10L3QvdGP0Y8g0L7RiNC40LHQutCwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6INC90LXQstC10YDQvdGL0Lkg0LrQsNGC0LDQu9C+0LM6INGA0LDQt9C80LXRgCA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6INC90LXQstC10YDQvdGL0Lkg0LrQsNGC0LDQu9C+0LM6ICcuJyDQvdC1INC/0LXRgNCy0YvQuVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgItC/0L7QuNGB0Log0LIgYmFkX3pvbmUg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAi0KDQtdC20LjQvCBpbm9kZSAlbHUg0L3QtSDQvtGH0LjRidC10L0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWx1INC90LUg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPLCDQv9C+0LzQtdGH0LXQvSDQutCw0Log0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INCyIGJpdG1hcCfQtS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgdXNlZCwgbWFya2VkIHVudXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWx1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjywg0L/QvtC80LXRh9C10L0g0LrQsNC6INC90LXQuNGB0L/QvtC70YzQt9GD0LXQvNGL0Lkg0LIgYml0bWFwJ9C1LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIwCittc2dpZCAiU2V0IgorbXNnc3RyICLQn9GA0LjRgdCy0L7QuNGC0YwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kZSAlbHUgKNGA0LXQttC40LwgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgItCf0YDQuNGB0LLQvtC40YLRjCBpX25saW5rcyfRgyDRh9C40YHQu9C+IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgItCX0L7QvdCwICVsdTog0L/QvtC80LXRh9C10L3QsCDQutCw0Log0LjRgdC/0L7Qu9GM0LfRg9C10LzQsNGPLCDQvdC+INC40YHQv9C+0LvRjNC30YPRjtGJ0LjRhSDQtdC1INGE0LDQudC70L7QsiDQvdC10YIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDEKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgItCh0L3Rj9GC0Ywg0LzQtdGC0LrRgyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAi0JfQvtC90LAgJWx1OiDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8sIGNvdW50ZWQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgItCX0L7QvdCwICVsdTog0L3QtSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8sIGNvdW50ZWQ9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5INGA0LDQt9C80LXRgCBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMwMQorbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5INGA0LDQt9C80LXRgCB2MiBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgItC90YPQttC10L0g0YLQtdGA0LzQuNC90LDQuyDQtNC70Y8g0LjQvdGC0LXRgNCw0LrRgtC40LLQvdC+0LPQviDQuNGB0L/RgNCw0LLQu9C10L3QuNGPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMg0YfQuNGB0YIsINC/0YDQvtCy0LXRgNC60LAg0L3QtSDQvdGD0LbQvdCwLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAi0JfQsNC/0YPRgdC60LDQtdGC0YHRjyDQv9GA0L7QstC10YDQutCwINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ysg0L3QsCAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAi0KTQsNC50LvQvtCy0LDRjyDRgdC40YHRgtC10LzQsCDQvdCwICVzINC/0L7QstGA0LXQttC00LXQvdCwLCDQvdGD0LbQvdCwINC/0YDQvtCy0LXRgNC60LAuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisi0JjRgdC/0L7Qu9GM0LfRg9GO0YLRgdGPICU2bGQgaW5vZGVzICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8gJTZsZCDQt9C+0L0gKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkINC+0LHRi9GH0L3Ri9GFINGE0LDQudC70L7QslxuIgorIiU2ZCDQutCw0YLQsNC70L7Qs9C+0LJcbiIKKyIlNmQg0YTQsNC50LvQvtCyINGB0LjQvNCy0L7Qu9GM0L3Ri9GFINGD0YHRgtGA0L7QudGB0YLQslxuIgorIiU2ZCDRhNCw0LnQu9C+0LIg0LHQu9C+0YfQvdGL0YUg0YPRgdGC0YDQvtC50YHRgtCyXG4iCisiJTZkINGB0YHRi9C70L7QulxuIgorIiU2ZCDRgdC40LzQstC+0LvQuNGH0LXRgdC60LjRhSDRgdGB0YvQu9C+0LpcbiIKKyItLS0tLS1cbiIKKyIlNmQg0YTQsNC50LvQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorItCk0JDQmdCb0J7QktCQ0K8g0KHQmNCh0KLQldCc0JAg0JHQq9Cb0JAg0JjQl9Cc0JXQndCV0J3QkFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQzMiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzgKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTQxIGRpc2stdXRpbHMvcGFydHguYzoxMDU4IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExNAorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwMAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTEgc3lzLXV0aWxzL2RtZXNnLmM6NjYxIHN5cy11dGlscy93ZGN0bC5jOjM0NworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDEyIHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjk4IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzc1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODcgdGV4dC11dGlscy9wZy5jOjEyNTYKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgItC30LDQv9C40YHRjCDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C90L4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczog0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80L7QuSBJU08iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMSBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINGH0YLQtdC90LjRjyDQvdCwICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgItGH0LjRgdC70L4g0YHQtdC60YLQvtGA0L7QsjogJWQsINGA0LDQt9C80LXRgCDRgdC10LrRgtC+0YDQsDogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxpc285NjYwX2ltYWdlX2ZpbGU+IC4uLlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YBdIDzRhNCw0LnQuyDQvtCx0YDQsNC30LAg0YHRgtCw0L3QtNCw0YDRgtCwIGlzbzk2NjA+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINC00LvQuNC90YMg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyDRgdGC0LDQvdC00LDRgNGC0LAgSVNPLTk2NjAuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj080YfQuNGB0LvQvj4gINGA0LDQt9C00LXQu9C40YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDQsdCw0LnRgiDQvdCwIDzRh9C40YHQu9C+PlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTYKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiDQuCDRgNCw0LfQvNC10YBcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LTQtdC70LjRgtC10LvRjCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdINGD0YHRgtGA0L7QudGB0YLQstC+IFvQutC+0Lst0LLQviDQsdC70L7QutC+0LJdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQodC+0LfQtNCw0YLRjCDRhNCw0LnQu9C+0LLRg9GOINGB0LjRgdGC0LXQvNGDIFNDTyBiZnMuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNGLOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgINGD0LrQsNC30LDRgtGMINC20LXQu9Cw0LXQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4gaW5vZGVcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICDRg9C60LDQt9Cw0YLRjCDQuNC80Y8g0YLQvtC80LBcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICDRg9C60LDQt9Cw0YLRjCDQuNC80Y8g0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgINC/0L7QtNGA0L7QsdC90LDRjyDQuNC90YTQvtGA0LzQsNGG0LjRjyDQviDQstGL0L/QvtC70L3Rj9C10LzRi9GFINC00LXQudGB0YLQstC40Y/RhVxuIgorIiAtYyAgICAgICAgICAgICAgICAgINGN0YLQvtGCINC/0LDRgNCw0LzQtdGC0YAg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPXG4iCisiIC1sICAgICAgICAgICAgICAgICAg0Y3RgtC+0YIg0L/QsNGA0LDQvNC10YLRgCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y9cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICDQstGL0LLQtdGB0YLQuCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQstC10YDRgdC40Lgg0Lgg0LLRi9C50YLQuFxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WINC60LDQuiDQv9Cw0YDQsNC80LXRgtGAINCy0LXRgNGB0LjQuCDQtNC+0LvQttC10L0g0LHRi9GC0Ywg0LXQtNC40L3RgdGC0LLQtdC90L3Ri9C8INCw0YDQs9GD0LzQtdC90YLQvtC8XG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRjdGC0YMg0YHQv9GA0LDQstC60YMg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4gaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAi0LjQvNGPINGC0L7QvNCwINGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgItC40LzRjyDRhNCw0LnQuy4g0YHQuNGB0YLQtdC80Ysg0YHQu9C40YjQutC+0Lwg0LTQu9C40L3QvdC+0LUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LHQu9C+0LrQvtCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgItCw0YDQs9GD0LzQtdC90YIg0LHQu9C+0LrQvtCyINGB0LvQuNGI0LrQvtC8INCy0LXQu9C40LosINC80LDQutGB0LjQvNGD0LwgLSAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviBpbm9kZSfQvtCyLCDQvNCw0LrRgdC40LzRg9C8IC0gNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgItC90LUg0YXQstCw0YLQsNC10YIg0LzQtdGB0YLQsCwg0L3Rg9C20L3QviDQutCw0Log0LzQuNC90LjQvNGD0LwgJWxsdSDQsdC70L7QutC+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICLQo9GB0YLRgNC+0LnRgdGC0LLQvjogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICLQotC+0Lw6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZTbmFtZTogPCUtNnM+XG4iCittc2dzdHIgItCY0LzRjyDRhNCw0LnQuy4g0YHQuNGB0YLQtdC80Ys6IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAi0KDQsNC30LzQtdGAINCx0LvQvtC60LA6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlJ9GLOiAlbGQgKNCyIDEg0LHQu9C+0LrQtSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlJ9GLOiAlbGQgKNCyICVsbHUg0LHQu9C+0LrQsNGFKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICLQkdC70L7QutC4OiAlbGx1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgItCa0L7QvdC10YYgaW5vZGU6ICVkLCDQutC+0L3QtdGGINC00LDQvdC90YvRhTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgdGD0L/QtdGA0LHQu9C+0LrQsCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCDQutC+0YDQvdC10LLQvtCz0L4gaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LfQsNC/0LjRgdC4IGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC/0L7QuNGB0LrQsCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCAuINGN0LvQtdC80LXQvdGC0LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDEKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LfQsNC/0LjRgdC4IC4uINGN0LvQtdC80LXQvdGC0LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQutGA0YvRgtC40Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNGLXSBbLXQgPNGC0LjQvz5dIFvQv9Cw0YDQsNC80LXRgtGA0Ysg0KTQoV0gPNGD0YHRgtGA0L7QudGB0YLQstC+PiBbPNGA0LDQt9C80LXRgD5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCh0L7Qt9C00LDRgtGMINGE0LDQudC70L7QstGD0Y4g0YHQuNGB0YLQtdC80YMgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PNGC0LjQvz4gINGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLOyBleHQyLCDQtdGB0LvQuCDQvdC40YfQtdCz0L4g0L3QtSDRg9C60LDQt9Cw0L3QvlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIgICAgIGZzLW9wdGlvbnMgICAgINC/0LDRgNCw0LzQtdGC0YDRiyDQtNC70Y8g0L/RgNC+0LPRgNCw0LzQvNGLINGB0L7Qt9C00LDQvdC40Y8g0YDQtdCw0LvRjNC90L7QuSDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA80YPRgdGC0YDQvtC50YHRgtCy0L4+ICAgICAgINC/0YPRgtGMINC6INC40YHQv9C+0LvRjNC30YPQtdC80L7QvNGDINGD0YHRgtGA0L7QudGB0YLQstGDXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8c2l6ZT4gICAgICAgICDRh9C40YHQu9C+INC40YHQv9C+0LvRjNC30YPQtdC80YvRhSDQsdC70L7QutC+0LIg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorIiAtViwgLS12ZXJib3NlICAgICAg0L/QvtC00YDQvtCx0L3QsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC+INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjRj9GFO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICDRg9C60LDQt9Cw0L3QuNC1INC/0LDRgNCw0LzQtdGC0YDQsCAtViDQsdC+0LvQtdC1INC+0LTQvdC+0LPQviDRgNCw0LfQsCDQv9GA0LjQstC10LTQtdGCINC6INGC0LXRgdGC0L7QstC+0LzRgyDQt9Cw0L/Rg9GB0LrRg1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0YwgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBbLWhdIFstdl0gWy1iINGA0LfQvF/QsdC70LpdIFstZSDQuNC30LTQsNC90LjQtV0gWy1OINC+0LHRgNCw0YLQvdGL0LldIFstaSDRhNCw0LnQu10gWy1uINC40LzRj10g0LjQvNGPX9C60LDRgiDQstGL0YVf0YTQsNC50LtcbiIKKyIgLWggICAgICAgICDQstGL0LLQvtC0INGN0YLQvtC5INGB0L/RgNCw0LLQutC4XG4iCisiIC12ICAgICAgICAg0L/QvtC00YDQvtCx0L3Ri9C5INGA0LXQttC40LxcbiIKKyIgLUUgICAgICAgICDRgdGH0LjRgtCw0YLRjCDQvtGI0LjQsdC60LDQvNC4INCy0YHQtSDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNGPICjQvdC10L3Rg9C70LXQstC+0Lkg0YHRgtCw0YLRg9GBINCy0YvRhdC+0LTQsClcbiIKKyIgLWIg0YDQt9C8X9Cx0LvQuiDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDRjdGC0L7Qs9C+INGA0LDQt9C80LXRgNCwINCx0LvQvtC60LA7INC00L7Qu9C20LXQvSDRgNCw0LLQvdGP0YLRjNGB0Y8g0YDQsNC30LzQtdGA0YMg0YHRgtGA0LDQvdC40YbRi1xuIgorIiAtZSDQuNC30LTQsNC90LjQtSDRg9GB0YLQsNC90L7QstC60LAg0L3QvtC80LXRgNCwINC40LfQtNCw0L3QuNGPICjRh9Cw0YHRgtGMIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAg0YPRgdGC0LDQvdC+0LLQutCwINC/0L7RgNGP0LTQutCwINCx0LDQudGCIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgaG9zdCDQv9C+LdGD0LzQvtC70YfQsNC90LjRjlxuIgorIiAtaSDRhNCw0LnQuyAgICDQstGB0YLQsNCy0LrQsCDRhNCw0LnQu9CwINC+0LHRgNCw0LfQsCDQsiDRhNCw0LnQu9C+0LLRg9GOINGB0LjRgdGC0LXQvNGDICjRgtGA0LXQsdGD0LXRgtGB0Y8g0LLQtdGA0YHQuNGPID49IDIuNC4wKVxuIgorIiAtbiDQuNC80Y8gICAgINGD0YHRgtCw0L3QvtCy0LrQsCDQuNC80LXQvdC4INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgY3JhbWZzXG4iCisiIC1wICAgICAgICAg0LfQsNC/0L7Qu9C90LXQvdC40LUgJWQg0LHQsNC50YLQsNC80Lgg0LTQu9GPINC30LDQs9GA0YPQt9C+0YfQvdC+0LPQviDQutC+0LTQsFxuIgorIiAtcyAgICAgICAgINGB0L7RgNGC0LjRgNC+0LLQutCwINGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQsNGC0LDQu9C+0LPQsCAo0YPRgdGC0LDRgNC10LLRiNCw0Y8g0L7Qv9GG0LjRjywg0LjQs9C90L7RgNC40YDRg9C10YLRgdGPKVxuIgorIiAteiAgICAgICAgINGB0L7Qt9C00LDQvdC40LUg0Y/QstC90YvRhSDQtNGL0YAgKNGC0YDQtdCx0YPQtdGC0YHRjyDQstC10YDRgdC40Y8gPj0gMi4zLjM5KVxuIgorIiDQuNC80Y9f0LrQsNGCICAgINC60L7RgNC90LXQstC+0Lkg0LrQsNGC0LDQu9C+0LMg0YHQttC40LzQsNC10LzQvtC5INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YtcbiIKKyIg0LLRi9GFX9GE0LDQudC7ICAg0LLRi9GF0L7QtNC90L7QuSDRhNCw0LnQu1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgItC30LDQv9GD0YHQuiByZWFkbGluayDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQvdC+OiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINC60LDRgtCw0LvQvtCzICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgItGE0LDQudC70L7QstCw0Y8g0YHQuNGB0YLQtdC80LAg0YHQu9C40YjQutC+0Lwg0LLQtdC70LjQutCwLiAg0JfQsNCy0LXRgNGI0LXQvdC40LUg0YDQsNCx0L7RgtGLLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFOiDQsdC70L7QuiBcItGB0LbQsNGCXCIg0LIgPiAyKtC00LvQuNC90LBf0LHQu9C+0LrQsCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkINCx0LDQudGCKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC60YDRi9GC0Ywg0YTQsNC50LsgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0L3QvtC80LXRgCDQsNGA0LPRg9C80LXQvdGC0LAg0LjQt9C00LDQvdC40Y8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgItGD0LrQsNC30LDQvSDQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0L/QvtGA0Y/QtNC+0Log0LHQsNC50YI7INC30L3QsNGH0LXQvdC40LUg0LTQvtC70LbQvdC+INCx0YvRgtGMICdiaWcnLCAnbGl0dGxlJywg0LjQu9C4ICdob3N0JyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC/0YDQuNCx0LvQuNC30LjRgtC10LvRjNC90L4g0YLRgNC10LHRg9C10LzRi9C5INGA0LDQt9C80LXRgCAo0LLQtdGA0YXQvdGP0Y8g0LPRgNCw0L3QuNGG0LApINGB0L7RgdGC0LDQstC70Y/QtdGCICVsbGTQnNCRLCDQsCDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC+0LHRgNCw0LfQsCAtICV10JzQkS4gINCS0L7Qt9C80L7QttC90L4g0L/RgNC10LbQtNC10LLRgNC10LzQtdC90L3QvtC1INC30LDQstC10YDRiNC10L3QuNC1INGA0LDQsdC+0YLRiy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICLQmtCw0YDRgtCwINC+0LHRgNCw0LfQsCBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICLQktC60LvRjtGH0LDRjzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgItCU0LDQvdC90YvQtSDQutCw0YLQsNC70L7Qs9CwOiAlemQg0LHQsNC50YJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgItCS0YHQtTogJXpkINC60LjQu9C+0LHQsNC50YJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgItCh0YPQv9C10YDQsdC70L7QujogJXpkINCx0LDQudGCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAi0L3QtSDRhdCy0LDRgtCw0LXRgiDQvNC10YHRgtCwLCDQstGL0LTQtdC70LXQvdC90L7Qs9C+INC00LvRjyBST00t0L7QsdGA0LDQt9CwICglbGxkINCy0YvQtNC10LvQtdC90L4sICV6dSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICLQl9Cw0L/QuNGB0YwgUk9NLdC+0LHRgNCw0LfQsCDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LkgKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk0Cittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICLQvtCx0YDQsNC3IFJPTSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0LjQvNC10L3QsCDRhNCw0LnQu9C+0LIg0YPQvNC10L3RjNGI0LXQvdGLINC00L4gJXUg0LHQsNC50YIuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQuNC3LdC30LAg0L7RiNC40LHQvtC6INCx0YvQu9C4INC/0YDQvtC/0YPRidC10L3RiyDRhNCw0LnQu9GLLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgItC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INGA0LDQt9C80LXRgNGLINGE0LDQudC70L7QsiDRg9C80LXQvdGM0YjQtdC90Ysg0LTQviAlbHXQnNCRICjQvNC40L3Rg9GBIDEg0LHQsNC50YIpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiB1aWQn0Ysg0YPQvNC10L3RjNGI0LXQvdGLINC00L4gJXUg0LHQuNGCLiAgKNCt0YLQviDQvNC+0LbQtdGCINC60LDRgdCw0YLRjNGB0Y8g0LHQtdC30L7Qv9Cw0YHQvdC+0YHRgtC4LikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogZ2lkJ9GLINGD0LzQtdC90YzRiNC10L3RiyDQtNC+ICV1INCx0LjRgi4gICjQrdGC0L4g0LzQvtC20LXRgiDQutCw0YHQsNGC0YzRgdGPINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuC4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKyLQn9Cg0JXQlNCj0J/QoNCV0JbQlNCV0J3QmNCVOiDRh9C40YHQu9C+INGD0YHRgtGA0L7QudGB0YLQsiDRg9C80LXQvdGM0YjQtdC90L4g0LTQviAldSDQsdC40YIuICDQrdGC0L4g0L/RgNCw0LrRgtC40YfQtdGB0LrQuFxuIgorItCy0YHQtdCz0LTQsCDQvtC30L3QsNGH0LDQtdGCLCDRh9GC0L4g0L3QtdC60L7RgtC+0YDRi9C1INGE0LDQudC70Ysg0YPRgdGC0YDQvtC50YHRgtCyINCx0YPQtNGD0YIg0L3QtdC/0YDQsNCy0LjQu9GM0L3Ri9C80LguIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gL2Rldi9uYW1lIFvQsdC70L7QutC+0LJdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgMdGOINCy0LXRgNGB0LjRjiBNaW5peFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMIDLRjiDQstC10YDRgdC40Y4gTWluaXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiIC0zLCAtdiAgICAgICAgICAgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCAz0Y4g0LLQtdGA0YHQuNGOIE1pbml4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVsZW5ndGggPNC60L7Quy3QstC+PiAg0LzQsNC60YHQuNC80LDQu9GM0L3QsNGPINC00LvQuNC90LAg0LjQvNC10L0g0YTQsNC50LvQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDzQutC+0Lst0LLQvj4gICDQutC+0LvQuNGH0LXRgdGC0LLQviBpbm9kZSfQsiDQtNC70Y8g0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAg0L/RgNC+0LLQtdGA0LrQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvdCwINCx0Y3QtC3QsdC70L7QutC4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAtbCwgLS1iYWRibG9ja3MgPNGE0LDQudC7PiAg0YHQv9C40YHQvtC6INCx0Y3QtNCx0LvQvtC60L7QsiDQuNC3INGE0LDQudC70LBcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiDQv9C+0LjRgdC6INC30LDQs9GA0YPQt9C+0YfQvdC+0LPQviDQsdC70L7QutCwINCyIHdyaXRlX3RhYmxlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Rh9C40YHRgtC40YLRjCDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C5INGB0LXQutGC0L7RgCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiDQv9C+0LjRgdC6INCyIHdyaXRlX3RhYmxlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0Ywg0YHRg9C/0LXRgNCx0LvQvtC6IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINC60LDRgNGC0YMgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCDQutCw0YDRgtGDINC30L7QvSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCBpbm9kZSfRiyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6INC/0L7QuNGB0Log0LIgd3JpdGVfYmxvY2sg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiDQt9Cw0L/QuNGB0Ywg0LIgd3JpdGVfYmxvY2sg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMjMgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Mjk4CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzozNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiDRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LvQvtGF0LjRhSDQsdC70L7QutC+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6INC90LUg0YXQstCw0YLQsNC10YIg0YXQvtGA0L7RiNC40YUg0LHQu9C+0LrQvtCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisi0J/QtdGA0LLRi9C5INCx0LvQvtC6INC00LDQvdC90YvRhSDQsiAlamQsINGN0YLQviDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QtSDQt9C90LDRh9C10L3QuNC1ICjQvNCw0LrRgdC40LzRg9C8IC0gJWQpLlxuIgorItCf0L7Qv9GA0L7QsdGD0LnRgtC1INGD0LrQsNC30LDRgtGMINC80LXQvdGM0YjQtSBpbm9kZSfQvtCyINGBINC/0LDRgNCw0LzQtdGC0YDQvtC8IC0taW5vZGVzIDxudW0+IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWx1IGlub2RlXG4iCittc2dzdHJbMV0gIiVsdSBpbm9kZSfQsFxuIgorbXNnc3RyWzJdICIlbHUgaW5vZGUn0L7QslxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1INCx0LvQvtC6XG4iCittc2dzdHJbMV0gIiVsdSDQsdC70L7QutCwXG4iCittc2dzdHJbMl0gIiVsdSDQsdC70L7QutC+0LJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICLQoNCw0LfQvNC10YAg0LfQvtC90Ys9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCc0LDQutGBLiDRgNCw0LfQvNC10YA9JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczog0L/QvtC40YHQuiDQstC+INCy0YDQtdC80Y8g0L/RgNC+0LLQtdGA0LrQuCDQsdC70L7QutC+0LIg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICLQndC10L/QvtC90Y/RgtC90YvQtSDQt9C90LDRh9C10L3QuNGPINCyIGRvX2NoZWNrOiDQstC+0LfQvNC+0LbQvdC+INGB0LHQvtC5XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIlczog0L/QvtC40YHQuiDQsiBjaGVja19ibG9ja3Mg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlczog0L/Qu9C+0YXQuNC1INCx0LvQvtC60Lgg0L/QtdGA0LXQtCBkYXRhLWFyZWE6INC90LUg0YPQtNCw0ZHRgtGB0Y8g0YHQvtC30LTQsNGC0Ywg0KTQoSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCDQv9C70L7RhdC+0Lkg0LHQu9C+0LpcbiIKK21zZ3N0clsxXSAiJWQg0L/Qu9C+0YXQuNGFINCx0LvQvtC60LBcbiIKK21zZ3N0clsyXSAiJWQg0L/Qu9C+0YXQuNGFINCx0LvQvtC60L7QslxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IG9wZW4gZmlsZSBvZiBiYWQgYmxvY2tzIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDRkdGC0YHRjyDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyDQv9C70L7RhdC40YUg0LHQu9C+0LrQvtCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCy0LLQvtC00LAg0L3QvtC80LXRgNCwINCx0Y3QtNCx0LvQvtC60LAg0LIg0YHRgtGA0L7QutC1ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNGR0YLRgdGPINC/0YDQvtGH0LjRgtCw0YLRjCDRhNCw0LnQuyDQv9C70L7RhdC40YUg0LHQu9C+0LrQvtCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgItGA0LDQt9C80LXRgCDQsdC70L7QutCwINC80LXQvdGM0YjQtSDRgNCw0LfQvNC10YDQsCDRhNC40LfQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNCwINGD0YHRgtGA0L7QudGB0YLQstCwICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtC/0YDQtdC00LXQu9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIlczog0LfQsNC/0YDQvtGI0LXQvdC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQsdC70L7QutC+0LIgKCVsbHUpINC/0YDQtdCy0YvRiNCw0LXRgiDQtNC+0L/Rg9GB0YLQuNC80L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviAoJWxsdSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6INGB0LvQuNGI0LrQvtC8INC80LDQu9C+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI1IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQsNGPINC00LvQuNC90LAg0LjQvNC10L3QuDogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LLQtdGA0YHQuNGPINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgbWluaXg6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgItC90LXQvtC00L3QvtC30L3QsNGH0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAgLXYsINC40YHQv9C+0LvRjNC30YPQudGC0LUgJy0yJyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvNCw0LrRgdC40LzQsNC70YzQvdGD0Y4g0LTQu9C40L3RgyDQuNC80LXQvSDRhNCw0LnQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC60L7Qu9C40YfQtdGB0YLQstC+IGlub2RlJ9C+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC60L7Qu9C40YfQtdGB0YLQstC+INCx0LvQvtC60L7QsiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvTsg0L3QtSDRgdC+0LfQtNCw0LLQsNC50YLQtSDQt9C00LXRgdGMINGE0LDQudC70L7QstGD0Y4g0YHQuNGB0YLQtdC80YMhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgItCd0LXQstC10YDQvdGL0Lkg0YDQsNC30LzQtdGAINGB0YLRgNCw0L3QuNGG0YsgJXUsINGD0LrQsNC30LDQvdC90YvQuSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQvCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC30LDQtNCw0L3QvdGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10Lwg0YDQsNC30LzQtdGAINGB0YLRgNCw0L3QuNGG0YsgJWQsINCy0LzQtdGB0YLQviDRgdC40YHRgtC10LzQvdC+0LPQviDQt9C90LDRh9C10L3QuNGPICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICLQnNC10YLQutCwINCx0YvQu9C+INGD0LrQvtGA0L7Rh9C10L3QsC4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgItCx0LXQtyDQvNC10YLQutC4LCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAi0L3QtdGCIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6XG4iCisiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10g0YPRgdGC0YDQvtC50YHRgtCy0L4uW9GA0LDQt9C80LXRgF1cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTMKK21zZ2lkICJTZXQgdXAgYSBMaW51eCBzd2FwIGFyZWEuXG4iCittc2dzdHIgItCd0LDRgdGC0YDQvtC50LrQsCDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0LAg0LTQu9GPIHN3YXBcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNGLOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgINC/0YDQvtCy0LXRgNC60LAg0L3QsCDQsdGN0LTQsdC70L7QutC4INC/0LXRgNC10LQg0YHQvtC30LTQsNC90LjQtdC8IHN3YXBcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDRgNCw0LfRgNC10YjQuNGC0Ywg0YDQsNC30LzQtdGA0YMgc3dhcCDQsdGL0YLRjCDQsdC+0LvRjNGI0LUg0YDQsNC30LzQtdGA0LAg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICDRg9C60LDQt9Cw0YLRjCDRgNCw0LfQvNC10YAg0YHRgtGA0LDQvdC40YbRiyDQsiDQsdCw0LnRgtCw0YVcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICDRg9C60LDQt9Cw0YLRjCDQvNC10YLQutGDXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAg0YPQutCw0LfQsNGC0Ywg0L3QvtC80LXRgCDQstC10YDRgdC40Lggc3dhcC3Qv9GA0L7RgdGC0YDQsNC90YHRgtCy0LBcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICDRg9C60LDQt9Cw0YLRjCDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LkgVVVJRFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgINCy0YvQstC10YHRgtC4INC90L7QvNC10YAg0LLQtdGA0YHQuNC4INC4INCy0YvQudGC0LhcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGN0YLRgyDRgdC/0YDQsNCy0LrRgyDQuCDQstGL0LnRgtC4XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INC/0LvQvtGF0LjRhSDRgdGC0YDQsNC90LjRhjogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAi0L/QvtC40YHQuiDQsiBjaGVja19ibG9ja3Mg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1INC/0LvQvtGF0LDRjyDRgdGC0YDQsNC90LjRhtCwXG4iCittc2dzdHJbMV0gIiVsdSDQv9C70L7RhdC40LUg0YHRgtGA0LDQvdC40YbRi1xuIgorbXNnc3RyWzJdICIlbHUg0L/Qu9C+0YXQuNGFINGB0YLRgNCw0L3QuNGGXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgNGLINC00LvRjyBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L/RgNC+0LLQtdGA0LrQsCDQvdCwINCx0Y3QtNCx0LvQvtC60Lgg0LIgc3dhcC3RhNCw0LnQu9Cw0YUg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC80L7RgtCw0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQtNC70Y8g0YHQstC+0L/QuNC90LPQsCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Rh9C40YHRgtC40YLRjCDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C1INGB0LXQutGC0L7RgNCwIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L7Rh9C40YHRgtC60LAg0YHRgtCw0YDQvtC5INGB0LjQs9C90LDRgtGD0YDRiyAlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L3QtSDQvtGH0LjRidCw0YLRjCDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C5INGB0LXQutGC0L7RgCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgICjQvtCx0L3QsNGA0YPQttC10L3QsCDRgtCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyICVzKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgICjRgdC60L7QvNC/0LjQu9C40YDQvtCy0LDQvdC+INCx0LXQtyBsaWJibGtpZCkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNlIC1mIHRvIGZvcmNlLlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LnRgtC1IC1mINC00LvRjyDQv9GA0LjQvdGD0LTQuNGC0LXQu9GM0L3QvtCz0L4g0L/RgNC40LzQtdC90LXQvdC40Y8uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINGB0YLRgNCw0L3QuNGG0YMg0YEg0YHQuNCz0L3QsNGC0YPRgNC+0LkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgyCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINGA0LDQt9C80LXRgCDRgdGC0YDQsNC90LjRhtGLIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4OAorbXNnaWQgInBhcnNpbmcgdmVyc2lvbiBudW1iZXIgZmFpbGVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90L7QvNC10YAg0LLQtdGA0YHQuNC4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLQstC10YDRgdC40Y8gc3dhcCAlZCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQuNCz0L3QvtGA0LjRgNC+0LLQsNC90LjQtSAtVSAoJXMg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YIgVVVJRCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgItCyINC00LDQvdC90YvQuSDQvNC+0LzQtdC90YIg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjyDRgtC+0LvRjNC60L4g0L7QtNC90L4g0YPRgdGC0YDQvtC50YHRgtCy0L4g0LIg0LrQsNGH0LXRgdGC0LLQtSDQsNGA0LPRg9C80LXQvdGC0LAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgItC+0YjQuNCx0LrQsDog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCBVVUlEIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAi0L7RiNC40LHQutCwOiDQvdC10LPQtNC1INGB0L7Qt9C00LDRgtGMINGA0LDQt9C00LXQuyDQv9C+0LTQutCw0YfQutC4PyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQutC+0LvQuNGH0LXRgdGC0LLQsCDQsdC70L7QutC+0LIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICLQvtGI0LjQsdC60LA6INGA0LDQt9C80LXRgCAlbGx1INCa0LjQkSDQsdC+0LvRjNGI0LUsINGH0LXQvCDRgNCw0LfQvNC10YAg0YPRgdGC0YDQvtC50YHRgtCy0LAgJWp1INCa0LjQkSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICLQvtGI0LjQsdC60LA6INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQviDQtNC70Y8gc3dhcCDQtNC+0LvQttC90L4g0LHRi9GC0Ywg0L/QviDQutGA0LDQudC90LXQuSDQvNC10YDQtSAlbGQg0JrQuNCRIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC00LvRjyBzd2FwINGD0LzQtdC90YzRiNCw0LXRgtGB0Y8g0LTQviAlbGx1INCa0LjQkSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICLQvtGI0LjQsdC60LA6ICVzINC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9OyDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4gc3dhcCDQvdC1INCx0YPQtNC10YIg0YHQvtC30LTQsNC90L4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAlcyDQuNC80LXQtdGCINC90LXQsdC10LfQvtC/0LDRgdC90YvQtSDRgNCw0LfRgNC10YjQtdC90LjRjyAlMDRvLCDRgNC10LrQvtC80LXQvdC00YPQtdGC0YHRjyAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczog0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogJXMg0LjQvNC10LXRgiDQvdC10LHQtdC30L7Qv9Cw0YHQvdGL0LUg0YDQsNC30YDQtdGI0LXQvdC40Y8gJTA0bywg0YDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8gJTA0b1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4OQorbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwOiDQvdC10YfQuNGC0LDQtdC80YvQuSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICLQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgtGB0Y8g0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+INC00LvRjyBzd2FwINCy0LXRgNGB0LjQuCAlZCwg0YDQsNC30LzQtdGAID0gJXMgKCVqdSDQsdCw0LnRgilcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtCx0L3QsNGA0YPQttC40YLRjCDRhNCw0LnQu9C+0LLRg9GOINC80LXRgtC60YMgc2VsaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LLRi9C/0L7Qu9C90LjRgtGMIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDQvdC+0LLRi9C5INC60L7QvdGC0LXQutGB0YIgc2VsaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0YfQuNGB0LvQuNGC0Ywg0LrQvtC90YLQtdC60YHRgiBzZWxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0YwgJXMg0LIgJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAi0L3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwINCyINGB0LXQutGC0L7RgNCw0YUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgItC60L7QvdC10YYg0YDQsNC30LTQtdC70LAg0LIg0YHQtdC60YLQvtGA0LDRhSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQutGC0L7RgNC+0LIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgItC40LzRjyDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIlVVSUQg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAi0YLQuNC/INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIgKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAi0YTQu9Cw0LPQuCDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAi0YLQuNC/INGA0LDQt9C00LXQu9CwICjRgdGC0YDQvtC60LAsIFVVSUQg0LjQu9C4INCyIGhleC3RhNC+0YDQvNCw0YLQtSkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC40L3QuNGG0LjQsNC70LjQt9C40YDQvtCy0LDRgtGMIGxvb3BjeHQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L3QsNC50YLQuCDQvdC4INC+0LTQvdC+0LPQviDRgdCy0L7QsdC+0LTQvdC+0LPQviDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30LgiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAi0J/QvtC/0YvRgtC60LAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMICclcycg0LrQsNC6INGD0YHRgtGA0L7QudGB0YLQstC+INC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YTQsNC50Lsg0L/QvtC00LTQtdGA0LbQutC4IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvdCw0YHRgtGA0L7QuNGC0Ywg0YPRgdGC0YDQvtC50YHRgtCy0L4g0L7QsdGA0LDRgtC90L7QuSDRgdCy0Y/Qt9C4IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGB0YLQvtC70LHQtdGGOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINC90L7QvNC10YAg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgItGD0LrQsNC30LDQvdC90YvQuSDQtNC40LDQv9Cw0LfQvtC9IDwlZDolZD4g0L3QtSDQuNC80LXQtdGCINGB0LzRi9GB0LvQsCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0YPQtNCw0LvQtdC90LjRjyDRgNCw0LfQtNC10LvQsCAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6INC+0YjQuNCx0LrQsCDRg9C00LDQu9C10L3QuNGPINGA0LDQt9C00LXQu9C+0LIgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICMlZCDRg9C00LDQu9C10L1cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgIyVkINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGA0LDQt9C00LXQuyAjJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0LTQvtCx0LDQstC70LXQvdC40Y8g0YDQsNC30LTQtdC70LAgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczog0L7RiNC40LHQutCwINC00L7QsdCw0LLQu9C10L3QuNGPINGA0LDQt9C00LXQu9CwICVkLSVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAjJWQg0LTQvtCx0LDQstC70LXQvVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0YDQsNC30LTQtdC7ICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczog0L7RiNC40LHQutCwINC+0LHQvdC+0LLQu9C10L3QuNGPINGA0LDQt9C00LXQu9CwICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczog0L7RiNC40LHQutCwINC+0LHQvdC+0LLQu9C10L3QuNGPINGA0LDQt9C00LXQu9C+0LIgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiDQvdC10YIg0YDQsNC30LTQtdC70LAgIyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyDRgNCw0LfQtNC10LvQsCAjJWQg0LjQt9C80LXQvdC10L1cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC+0LHQvdC+0LLQuNGC0Ywg0YDQsNC30LTQtdC7ICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1INGB0LXQutGC0L7RgCwgJTZqdSDQnNCRKVxuIgorbXNnc3RyWzFdICIjJTJkOiAlOWp1LSU5anUgKCU5anUg0YHQtdC60YLQvtGA0LAsICU2anUg0JzQkSlcbiIKK21zZ3N0clsyXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1INGB0LXQutGC0L7RgNC+0LIsICU2anUg0JzQkSlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10YfQuNGC0LDRgtGMINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiJXM6INC+0LHQvdCw0YDRg9C20LXQvdCwINGC0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDQsdC10Lcg0LXQtNC40L3QvtCz0L4g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPNGA0LDQt9C00LXQuz5dIDzQtNC40YHQuj5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICLQn9C10YDQtdC00LDRgtGMINC60L7QvNCw0L3QtNGDINGP0LTRgNGDINC+INGB0YPRidC10YHRgtCy0L7QstCw0L3QuNC4INC4INC/0L7RgNGP0LTQutC1INGB0LvQtdC00L7QstCw0L3QuNGPINGA0LDQt9C00LXQu9C+0LJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1hLCAtLWFkZCAgICAgICAgICAgINC00L7QsdCw0LLQuNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INGA0LDQt9C00LXQuyDQuNC70Lgg0LLRgdC1INGA0LDQt9C00LXQu9GLXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICDRg9C00LDQu9C40YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0YDQsNC30LTQtdC7INC40LvQuCDQstGB0LUg0YDQsNC30LTQtdC70YtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgINC+0LHQvdC+0LLQuNGC0Ywg0YPQutCw0LfQsNC90L3Ri9C5INGA0LDQt9C00LXQuyDQuNC70Lgg0LLRgdC1INGA0LDQt9C00LXQu9GLXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgINGB0L/QuNGB0L7QuiDRgNCw0LfQtNC10LvQvtCyXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NQorbXNnaWQgIiAtZywgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1zaG93XG4iCittc2dzdHIgIiAtZywgLS1ub2hlYWRpbmdzICAgICDQvdC1INCy0YvQstC+0LTQuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQutC4INC00LvRjyDQv9Cw0YDQsNC80LXRgtGA0LAgLS1zaG93XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIC1uLCAtLW5yIDxuOm0+ICAgICAgINC30LDQtNCw0YLRjCDQtNC40LDQv9Cw0LfQvtC9INGA0LDQt9C00LXQu9C+0LIgKNC90LDQv9GALiwgLS1uciAyOjQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAg0LLRi9Cx0YDQsNGC0Ywg0LLRi9Cy0L7QtNC40LzRi9C1INGB0YLQvtC70LHRhtGLXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgINCy0YvQstC+0LTQuNGC0Ywg0LIg0YTQvtGA0LzQsNGC0LUg0LrQu9GO0Yc9XCLQt9C90LDRh9C10L3QuNC1XCJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAg0LLRi9Cy0L7QtNC40YLRjCDQsiBcItGB0YvRgNC+0LxcIiDRhNC+0YDQvNCw0YLQtVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA80YDQsNC30LzQtdGAPiAgICDRgNCw0LfQvNC10YAg0YTQuNC30LjRh9C10YHQutC+0LPQviDQuCDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNC+0LJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHR5cGU+ICAgINC30LDQtNCw0YLRjCDRgtC40L8g0YDQsNC30LTQtdC70LAgKGRvcywgYnNkLCBzb2xhcmlzLCBldGMuKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0LXR5cGVzICAgICBsaXN0IHN1cHBvcnRlZCBwYXJ0aXRpb24gdHlwZXMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgINCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRiNC10LvQu9C+0LIg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzczIHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMDEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICDRgNC10LbQuNC8INC/0L7QtNGA0L7QsdC90L7Qs9C+INCy0YvQstC+0LTQsFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YDQsNGB0L/QvtC30L3QsNGC0Ywg0LTQuNCw0L/QsNC30L7QvSAtLW5yIDxNLU4+IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAi0KLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDQvdC1INC40LfQvNC10L3QtdC90LAgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0YsgLS1uciDQuCA8cGFydGl0aW9uPiDQstC30LDQuNC80L7QuNGB0LrQu9GO0YfQsNGO0YnQuNC1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICLRgNCw0LfQtNC10Ls6ICVzLCDQtNC40YHQujogJXMsINC90LjQti46ICVkLCDQstC10YDRhS46ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDRg9C00LDQu9C40YLRjCDRgNCw0LfQtNC10LvRiyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YDQtdC20LjQvCDQvtGH0LXRgNC10LTQuFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90LDRhdC+0LbQtNC10L3QuNC1INCx0LvQvtGH0L3QvtCz0L4g0YPRgdGC0YDQvtC50YHRgtCy0LAgJyVzJyIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTYgZGlzay11dGlscy9yYXcuYzoxOTkgc3lzLXV0aWxzL2lwY3JtLmM6MzUyCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjYgc3lzLXV0aWxzL2lwY3JtLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0LHRgNCw0LHQvtGC0LDRgtGMINCw0YDQs9GD0LzQtdC90YIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtC/0YDQtdC00LXQu9C40YLRjCDRgdC+0YHRgtC+0Y/QvdC40LUg0YPRgdGC0YDQvtC50YHRgtCy0LAgJXMiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1INGD0YHRgtGA0L7QudGB0YLQstCwICVzIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIi9kZXYvJXM6INC90LXQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6ICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQsdC70L7Rh9C90YvQvCDRg9GB0YLRgNC+0LnRgdGC0LLQvtC8XG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQvtGB0YLQsNC90L7QstC60Lgg0YHQtdGA0LLQuNGB0LA6IFwiJXNcIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNTggZGlzay11dGlscy9yYXcuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNyYXclZDogIGJvdW5kIHRvIG1ham9yICVkLCBtaW5vciAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC+0YHRgtCw0L3QvtCy0LrQuCDRgdC10YDQstC40YHQsDogXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiBzZmRpc2sgLS1pZCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQvdC+0LzQtdGAX9GA0LDQt9C00LXQu9CwIFtJZF1cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLQodC+0L7QsdGJ0LjRgtGMINGP0LTRgNGDINC+INC90L7QstC+0Lwg0YDQsNC30LzQtdGA0LUg0YDQsNC30LTQtdC70LBcbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvdCw0YfQsNC70L4g0YDQsNC30LTQtdC70LAgJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICLQvdC10YPQtNCw0LvQvtGB0Ywg0LjQt9C80LXQvdC40YLRjCDQvdC+0LzQtdGAINGA0LDQt9C80LXRgNCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQv9C+0LjRgdC60LAgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0LggJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAo0YHQvNC10YnQtdC90LjQtSAlNWp1LCDRgNCw0LfQvNC10YAgJTVqdSk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YDQtdC30LXRgNCy0L3Rg9GOINC60L7Qv9C40Y4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGA0LXQt9C10YDQstC90YPRjiDQutC+0L/QuNGOINGB0LjQs9C90LDRgtGD0YDRiywg0L/QtdGA0LXQvNC10L3QvdCw0Y8gJEhPTUUg0L3QtSDQvtC/0YDQtdC00LXQu9C10L3QsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTUKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICLQoNC10LfQtdGA0LLQvdGL0LUg0YTQsNC50LvRizoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgNCw0YHRiNC40YDQtdC90L3Rg9GOINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIgKNGB0LzQtdGJ0LXQvdC40LU9JWp1KSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvdCw0YfQsNC70L4g0YDQsNC30LTQtdC70LAgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQvdCw0YfQsNC70L4g0YDQsNC30LTQtdC70LAgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHRgNCw0LHQvtGC0LDRgtGMINGE0LDQudC7INGB0YbQtdC90LDRgNC40Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgItCS0Ysg0YXQvtGC0LjRgtC1INC30LDQv9C40YHQsNGC0Ywg0Y3RgtC+INC90LAg0LTQuNGB0Lo/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAi0JLRi9GF0L7QtC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LTQsNGC0Ywg0LTQsNC90L3Ri9C1IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICLQotCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyINC90LUg0LjQt9C80LXQvdC10L3QsCAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDgKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorItCi0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIg0LHRi9C70LAg0LjQt9C80LXQvdC10L3QsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LzQtdGC0LrQsCDQtNC40YHQutCwICclcyciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjM0Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCAg0JjQvNGPXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICLQvdC10YDQsNGB0L/QvtC30L3QsNC90L3Ri9C5INGC0LjQvyDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICLQstGB0LXQs9C+OiAlanUg0LHQu9C+0LrQvtCyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODE2IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk0IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzIgZGlzay11dGlscy9zZmRpc2suYzoxMDk2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTEgZGlzay11dGlscy9zZmRpc2suYzoxMjA3IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2MQorbXNnaWQgIm5vIGRpc2sgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDRg9C60LDQt9Cw0L3QviDQtNC40YHQutC+0LLQvtC1INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0L/RgNC10LTQtdC70LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICLQv9C10YDQtdC60LvRjtGH0LXQvdC40LUg0YDQtdC20LjQvNCwINC30LDQs9GA0YPQt9C60Lgg0L/QvtC00LTQtdGA0LbQuNCy0LDRgtGB0Y8g0YLQvtC70YzQutC+INC00LvRjyBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QvtC80LXRgCDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICVkOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0Ywg0YTQu9Cw0LMg0LfQsNCz0YDRg9C30LrQuCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICV6dTog0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMINGC0LjQvyDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItCj0YHRgtGA0L7QudGB0YLQstC+INC90LUg0YHQvtC00LXRgNC20LjRgiDRgdGC0LDQvdC00LDRgNGC0L3QvtC5INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LIuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDRgdGC0YDRg9C60YLRg9GA0YMg0LLRi9Cy0L7QtNCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQstGL0LLQtdGB0YLQuCDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6INC90LXRgiDQvdCw0LnQtNC10L3QsCDRgtCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICV6dTog0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDRgdC+0LTQtdGA0LbQuNGCINGC0L7Qu9GM0LrQviAlenUg0YDQsNC30LTQtdC70L7QsiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczog0YDQsNC30LTQtdC7ICV6dTog0YDQsNC30LTQtdC7INC90LUg0LjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0YPQutCw0LfQsNC9INC90L7QvNC10YAg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDYgZGlzay11dGlscy9zZmRpc2suYzoxMTYxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTcKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L3QtdC/0YDQtdC00LLQuNC00LXQvdC90YvQtSDQsNGA0LPRg9C80LXQvdGC0YsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAlenU6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDRgtC40L8g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C+0LvRg9GH0LjRgtGMICVzINGC0LjQvyDRgNCw0LfQtNC10LvQsCAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCDRgtC40L8g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAlenU6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCBVVUlEINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQtNC10LvQuNGC0Ywg0L7QsdGK0LXQutGCINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCBVVUlEINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LjQvNGPINGA0LDQt9C00LXQu9CwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiDRgNCw0LfQtNC10LsgJXp1OiDQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCDQuNC80Y8g0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcyIKK21zZ3N0ciAiJXM6INGA0LDQt9C00LXQuyAlenU6INC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC00LDRgtGMINCw0YLRgNC40LHRg9GC0Ysg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiINCa0L7QvNCw0L3QtNGLOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgINC30LDQv9C40YHRjCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyINC90LAg0LTQuNGB0Log0Lgg0LLRi9GF0L7QtFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICDQstGL0LnRgtC4INC40Lcg0L7QsdC+0LvQvtGH0LrQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcHJpbnQgICAg0LLRi9Cy0LXRgdGC0Lgg0YLQsNCx0LvQuNGG0YMg0YDQsNC30LTQtdC70L7QslxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiAgIGhlbHAgICAgINC/0L7QutCw0LfQsNGC0Ywg0Y3RgtGDINGB0L/RgNCw0LLQutGDINC4INCy0YvQudGC0LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgINGC0L4g0LbQtSwg0YfRgtC+INC4ICdxdWl0J1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTkKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIg0KTQvtGA0LzQsNGCINCy0LLQvtC00LA6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiAgIDzQvdCw0Yc+LCA80YDQsNC30Lw+LCA80YLQuNC/PiwgPNC30LDQs9GAPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDQKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPNC90LDRhz4gICAg0J3QsNGH0LDQu9C+INGA0LDQt9C00LXQu9CwINCyINGB0LXQutGC0L7RgNCw0YUg0LjQu9C4INCx0LDQudGC0LDRhSwg0LXRgdC70LhcbiIKKyIgICAgICAgICAgICDQt9Cw0LTQsNC9INGE0L7RgNC80LDRgiA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgINCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0g0L/QtdGA0LLQsNGPINC90LXRgNCw0LfQvNC10YfQtdC90L3QsNGPINC+0LHQu9Cw0YHRgtGMLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPNGA0LDQt9C8PiAgINCg0LDQt9C80LXRgCDRgNCw0LfQtNC10LvQsCDQsiDRgdC10LrRgtC+0YDQsNGFINC40LvQuCDQsdCw0LnRgtCw0YUsINC10YHQu9C4XG4iCisiICAgICAgICAgICAg0LfQsNC00LDQvSDRhNC+0YDQvNCw0YIgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICDQn9C+INGD0LzQvtC70YfQsNC90LjRjiAtINCy0YHRjyDQvdC10YDQsNC30LzQtdGH0LXQvdC90LDRjyDQvtCx0LvQsNGB0YLRjC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA80YLQuNC/PiAgICDQotC40L8g0YDQsNC30LTQtdC70LAuINCf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOIC0g0YDQsNC30LTQtdC7INC00LDQvdC90YvRhSBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6INGI0LXRgdGC0L3QsNC00YbQsNGC0LXRgNC40YfQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQuNC70LggTCxTLEUsWC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCDQuNC70LggTCxTLEguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA80LfQsNCz0YA+ICAgICAg0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRgdC40LzQstC+0LsgJyonLCDRh9GC0L7QsdGLINC/0L7QvNC10L3QuNGC0Ywg0YDQsNC30LTQtdC7IE1CUiDQutCw0Log0LfQsNCz0YDRg9C30L7Rh9C90YvQuVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjMKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiINCf0YDQuNC80LXRgDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LrQvtC80LDQvdC00LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLRgdGC0YDQvtC60LAgJWQ6INC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzQsNGPINC60L7QvNCw0L3QtNCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIlczog0YPRgdGC0YDQvtC50YHRgtCy0L4g0YHQvtC00LXRgNC20LjRgiDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3Rg9GOINGB0LjQs9GA0LDRgtGD0YDRgyAnJXMnOyDQtdGB0LvQuCDRjdGC0L4g0L7RiNC40LHQvtGH0L3Qviwg0L3QsNGB0YLQvtGP0YLQtdC70YzQvdC+INGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPINC+0YfQuNGB0YLQuNGC0Ywg0YPRgdGC0YDQvtC50YHRgtCy0L4g0YEg0L/QvtC80L7RidGM0Y4gd2lwZWZzKDgpINCy0L4g0LjQt9Cx0LXQttCw0L3QuNC1INCy0L7Qt9C80L7QttC90YvRhSDQv9GA0L7QsdC70LXQvCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTI4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC40LzRjyDRgNCw0LfQtNC10LvQsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC90LDQt9C90LDRh9C40YLRjCDQvtCx0YDQsNCx0L7RgtGH0LjQuiDRgdGG0LXQvdCw0YDQuNGPIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczog0L3QtSDQvNC+0LPRgyDQuNC30LzQtdC90LjRgtGMINGA0LDQt9C00LXQuyAlZDog0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiDQvdC1INC90LDQudC00LXQvdCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6INC90LUg0LzQvtCz0YMg0LjQt9C80LXQvdC40YLRjCDRgNCw0LfQtNC10LsgJWQ6INGC0LDQsdC70LjRhtCwINGA0LDQt9C00LXQu9C+0LIg0YHQvtC00LXRgNC20LjRgiDRgtC+0LvRjNC60L4gJXp1INGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAi0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogJXMg0YDQsNC30LTQtdC7ICVkINC10YnQtSDQvdC1INC+0L/RgNC10LTQtdC70LXQvSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorIlxuIgorItCU0L7QsdGA0L4g0L/QvtC20LDQu9C+0LLQsNGC0Ywg0LIgc2ZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAi0J/RgNC+0LLQtdGA0Y/QtdGC0YHRjywg0YfRgtC+0LHRiyDRgdC10LnRh9Cw0YEg0L3QuNC60YLQviDQvdC1INC40YHQv9C+0LvRjNC30L7QstCw0Lsg0Y3RgtC+0YIg0LTQuNGB0LouLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIg0J7QqNCY0JHQmtCQXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyOAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisi0JTQuNGB0Log0YHQtdC50YfQsNGBINC40YHQv9C+0LvRjNC30YPQtdGC0YHRjywg0YHQutC+0YDQtdC1INCy0YHQtdCz0L4sINGA0LDQt9C80LXRgtC60LAgLSDRjdGC0L4g0L/Qu9C+0YXQsNGPINC40LTQtdGPLlxuIgorItCg0LDQt9C80L7QvdGC0LjRgNGD0LnRgtC1INCy0YHQtSDRhNCw0LnQu9C+0LLRi9C1INGB0LjRgdGC0LXQvNGLINC4INC+0YLQutC70Y7Rh9C40YLQtSDQstGB0LUg0YDQsNC30LTQtdC70Ysg0YHQstC+0L/QuNC90LPQsCDRjdGC0L7Qs9C+INC00LjRgdC60LAuXG4iCisi0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSDRhNC70LDQsyAtLW5vLXJlcmVhZCDQtNC70Y8g0L7RgtC80LXQvdGLINGN0YLQvtC5INC/0YDQvtCy0LXRgNC60LguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGE0LvQsNCzIC0tZm9yY2Ug0LTQu9GPINC+0YLQutC70Y7Rh9C10L3QuNGPINCy0YHQtdGFINC/0YDQvtCy0LXRgNC+0LouIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiDQntCaXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorItCh0YLQsNGA0LDRjyDRgdC40YLRg9Cw0YbQuNGPOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrINGB0L7Qt9C00LDRgdGCINC90L7QstGD0Y4g0LzQtdGC0LrRgyDQtNC40YHQutCwICclcycuXG4iCisi0JTQu9GPINC/0LXRgNC10L7Qv9GA0LXQtNC10LvQtdC90LjRjyDQv9Cw0YDQsNC80LXRgtGA0L7QsiDQv9C+INGD0LzQvtC70YfQsNC90LjRjlxuIgorItC40YHQv9C+0LvRjNC30YPQudGC0LUgJ2xhYmVsOiA80LjQvNGPPicg0L/QtdGA0LXQtCDRgdC+0LfQtNCw0L3QuNC10Lwg0L/QtdGA0LLQvtCz0L4g0YDQsNC30LTQtdC70LAuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQktCy0LXQtNC40YLQtSBgaGVscCcg0LTQu9GPINC/0L7Qu9GD0YfQtdC90LjRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INC40L3RhNC+0YDQvNCw0YbQuNC4LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAi0JLRgdC1INGA0LDQt9C00LXQu9GLINC40YHQv9C+0LvRjNC30L7QstCw0L3Riy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNAorIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICLQk9C+0YLQvtCy0L4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjYKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICLQmNCz0L3QvtGA0LjRgNC+0LLQsNC90LjQtSDRgNCw0LfQtNC10LvQsC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQuNC80LXQvdC40YLRjCDQt9Cw0LPQvtC70L7QstC60Lgg0YHRhtC10L3QsNGA0LjRjywg0LzQtdGC0LrQsCDQtNC40YHQutCwINC90LUg0YHQvtC30LTQsNC90LAuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMINGA0LDQt9C00LXQuyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzc3Cittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgItCX0LDQs9C+0LvQvtCy0L7QuiDRgdC60YDQuNC/0YLQsCDQv9GA0LjQvdGP0YIuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyLQndC+0LLQsNGPINGB0LjRgtGD0LDRhtC40Y86IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICLQktGLINGF0L7RgtC40YLQtSDQt9Cw0L/QuNGB0LDRgtGMINGN0YLQviDQvdCwINC00LjRgdC6PyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAi0JLRi9GF0L7QtC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXY+IFtbLU5dIDxwYXJ0Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiBta2ZzIFstVl0gWy10INGC0LjQv1/RhNGBXSBb0L7Qv9GG0LjQuF/RhNGBXSDRg9GB0YLRgNC+0LnRgdGC0LLQviBb0YDQsNC30LzQtdGAXVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dINCy0YvQstC10YHRgtC4INC40LvQuCDRgdC00LXQu9Cw0YLRjCDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C80Lgg0YDQsNC30LTQtdC70YsgTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INGA0LDQt9C00LXQu9C+0LIg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDkKK21zZ2lkICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDRgNCw0LfQtNC10LvQvtCyINC4INCy0YvQudGC0LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0YHQv9C40YHQvtC6INGA0LDQt9C00LXQu9C+0LIg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAg0LTQvtCx0LDQstC40YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0YDQsNC30LTQtdC7INC40LvQuCDQstGB0LUg0YDQsNC30LTQtdC70YtcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiICBxICAgICAgICAgINCS0YvRhdC+0LQg0LjQtyDQv9GA0L7Qs9GA0LDQvNC80Ysg0LHQtdC3INC30LDQv9C40YHQuCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0g0LLRi9Cy0LXRgdGC0Lgg0LjQu9C4INGB0LTQtdC70LDRgtGMINC30LDQs9GA0YPQt9C+0YfQvdGL0LzQuCDRgNCw0LfQtNC10LvRiyBNQlJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYwCittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKKyMsIGZ1enp5Cittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiICAgIC1jIFvQuNC70LggLS1pZF06ICAgICAgICDQstGL0LLQvtC0INC40LvQuCDQuNC30LzQtdC90LXQvdC40LUgSWQg0YDQsNC30LTQtdC70LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MgorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGN0YLRgyDRgdC/0YDQsNCy0LrRgyDQuCDQstGL0LnRgtC4XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtTiMgOiAgICAgICAgICAgICAgICAg0LjQt9C80LXQvdC10L3QuNC1INGC0L7Qu9GM0LrQviDRgNCw0LfQtNC10LvQsCDRgSDQvdC+0LzQtdGA0L7QvCAjIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICBhcHBlbmQgcGFydGl0aW9ucyB0byBleGlzdGluZyBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICBxICAgICAgICAgINCS0YvRhdC+0LQg0LjQtyDQv9GA0L7Qs9GA0LDQvNC80Ysg0LHQtdC3INC30LDQv9C40YHQuCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAgbiAgICAgICAgICDQodC+0LfQtNCw0L3QuNC1INC90L7QstC+0LPQviDRgNCw0LfQtNC10LvQsCDQvdCwINGB0LLQvtCx0L7QtNC90L7QvCDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0LUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODczCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICLQktGLINC80L7QttC10YLQtSDQvtGC0LrQu9GO0YfQuNGC0Ywg0L/RgNC+0LLQtdGA0LrRgyDQstGB0LXRhSDQv9GA0L7RgtC40LLQvtGA0LXRh9C40Lk6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzUKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA80YfQuNGB0LvQvj4gICAgICAgICAgINGD0LrQsNC20LjRgtC1INC60L7Qu9C40YfQtdGB0YLQstC+INCz0L7Qu9C+0LLQvtC6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAg0L3QtSDQvtGH0LjRidCw0YLRjCDRjdC60YDQsNC9INC00L4g0YHRgtGA0L7QutC4INC/0YDQuNCz0LvQsNGI0LXQvdC40Y9cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgINCR0LXQtyDQvtCx0YvRh9C90YvRhSDQstGL0YXQvtC00L3Ri9GFINC00LDQvdC90YvRhVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgLXEgIFvQuNC70LggLS1xdWlldF06ICAgICAg0L/QvtC00LDQstC70LXQvdC40LUg0L/RgNC10LTRg9C/0YDQtdC20LTQsNGO0YnQuNGFINGB0L7QvtCx0YnQtdC90LjQuSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAg0LLRi9Cy0L7QtCDRgdC+0L7QsdGJ0LXQvdC40Lkg0YDQsNC30L3Ri9C80Lgg0YbQstC10YLQsNC80LggKNC30L3QsNGH0LXQvdC40Y86IGF1dG890LDQstGC0L7QvNCw0YLQuNGH0LXRgdC60LgsIGFsd2F5cz3QstGB0LXQs9C00LAsIG5ldmVyPdC90LjQutC+0LPQtNCwKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg4Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkwCittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkxCisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LXQtNC40L3QuNGG0LA6JyVjJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDc1IGluY2x1ZGUvYy5oOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzINC40LcgJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7QsdGA0LDQsdC+0YLQsNGC0YwgVVVJRDogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgItGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QsNGPINC80LXRgtC60LAuINCh0L7QutGA0LDRidCw0LXRgtGB0Y8g0LTQviAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0L/QuNGB0LDRgtGMINC80LXRgtC60YMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Ywg0LjQu9C4INC40LfQvNC10L3QuNGC0Ywg0LzQtdGC0LrRgyDQuNC70LggVVVJRCBzd2FwLdC+0LHQu9Cw0YHRgtC4LlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPNC80LXRgtC60LA+INGD0LrQsNC30LDRgtGMINC90L7QstGD0Y4g0LzQtdGC0LrRg1xuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgINGD0LrQsNC30LDRgtGMINC90L7QstGL0LkgdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE3MgorbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAi0L/RgNC+0L/Rg9GB0YLQuNGC0YwgLVUgKFVVSUQn0Ysg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNGO0YLRgdGPKSIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgItCf0L7Qv9GA0L7QsdGD0LnRgtC1IGBnZXRvcHQgLS1oZWxwJyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LguXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCf0LDRgNCw0LzQtdGC0YDRizpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIwCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCDRgNCw0LfQtNC10LvRizpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JrQvtC80LDQvdC00Ys6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICLQlNC+0YHRgtGD0L/QvdGL0LUg0LrQvtC80LDQvdC00Ys6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNQorIywgZnV6enkKK21zZ2lkICJkaXNwbGF5IHRoaXMgaGVscCIKK21zZ3N0ciAiIC0/ICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDRjdGC0YMg0YHQv9GA0LDQstC60YMg0Lgg0LLRi9C50YLQuFxuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICLQstC10YDRgdC40Y8iCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQlNC70Y8g0LHQvtC70LXQtSDQtNC10YLQsNC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40Lgg0YHQvNC+0YLRgNC40YLQtSAlcy5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC30LDQv9C40YHQuCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLRhtCy0LXRgtC90L7QuSDRiNGA0LjRhNGCINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKK21zZ2lkICJjb2xvcnMgYXJlIGRpc2FibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgItGG0LLQtdGC0L3QvtC5INGI0YDQuNGE0YIg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNC10YLRgdGPIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIiVzINC4ICVzINGP0LLQu9GP0Y7RgtGB0Y8g0LLQt9Cw0LjQvNC90L4g0LjRgdC60LvRjtGH0LDRjtGJ0LjQvNC4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgItCf0YPRgdGC0L7QuSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICJGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MworbXNnaWQgIlhFTklYIHJvb3QiCittc2dzdHIgIlhFTklYIHJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAi0KDQsNGB0YjQuNGA0LXQvdC90YvQuSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVgg0LfQsNCz0YDRg9C30L7Rh9C90YvQuSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiBCb290LdC80LXQvdC10LTQttC10YAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUg0YDQsNGB0YjQuNGALiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAi0KHQutGA0YvRgtGL0LkgRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEg0LTQuNCw0LPQvdC+0YHRgtC40LrQsCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAi0KHQutGA0YvRgtGL0LkgRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgItCh0LrRgNGL0YLRi9C5IEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgItCh0LrRgNGL0YLRi9C5IEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAi0KHQutGA0YvRgtGL0LkgVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgItCh0LrRgNGL0YLRi9C5IFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICLQodC60YDRi9GC0YvQuSBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAi0KHQutGA0YvRgtGL0LkgTlRGUyBXaW5SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMg0LLQvtGB0YHRgtCw0L3QvtCy0LvQtdC90LjQtSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyLdGPINGH0LDRgdGC0YwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMy3RjyDRh9Cw0YHRgtGMIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEINC40LvQuCBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OQorbXNnaWQgIlBDL0lYIgorbXNnc3RyICJQQy9JWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIk9sZCBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyDRgdGC0LDRgNGL0LkgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4INGB0LLQvtC/IC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXgg0YDQsNGB0YjQuNGA0LXQvSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMg0L3QsNCx0L7RgCDRgtC+0LzQvtCyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggcGxhaW50ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiDQt9Cw0LPRgNGD0LfQvtGH0L3Ri9C5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSDRhNGBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSDRgdCy0L7QvyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkINGB0LrRgNGL0YLRi9C5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJBY3JvbmlzIEZBVDMyIExCQSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIyOQorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyDQt9Cw0LPRgC4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAi0JTQsNC90L3Ri9C1INC90LUg0KTQoSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGFjY2VzcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgImNvbDog0L3QtdCy0LXRgNC90YvQuSDQsNGA0LPRg9C80LXQvdGCIC1sICVzLlxuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIkJlT1Mg0YTRgSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mg0LfQsNCz0YAuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mg0LLRgtC+0YDQuNGH0L3Ri9C5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICLQkNCy0YLQvtC+0L/RgNC10LTQtdC70LXQvdC40LUgTGludXggcmFpZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAi0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTogJXMg0L3QtSDQstGL0YDQvtCy0L3QtdC9IgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDgwIGxpYmZkaXNrL3NyYy9hc2suYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAi0JLRi9Cx0YDQsNC90L3Ri9C5INGA0LDQt9C00LXQuyAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICLQoNCw0LfQtNC10LvRiyDQtdGJ0LUg0L3QtSDQvtC/0YDQtdC00LXQu9C10L3RiyEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICLQndC10YIg0YHQstC+0LHQvtC00L3Ri9GFINC00L7RgdGC0YPQv9C90YvRhSDRgNCw0LfQtNC10LvQvtCyISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgItCd0L7QvNC10YAg0YDQsNC30LTQtdC70LAiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgItCh0L7Qt9C00LDQvSDQvdC+0LLRi9C5INGA0LDQt9C00LXQuyAlZCDRgSDRgtC40L/QvtC8ICclcycg0Lgg0YDQsNC30LzQtdGA0L7QvCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXpkINGB0L7QtNC10YDQttC40YIg0L3QtdCy0LXRgNC90YvQuSDQvdCw0YfQsNC70YzQvdGL0Lkg0L3Rg9C70LXQstC+0Lkg0YHQtdC60YLQvtGALiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgItCd0LAgJXMg0L3QtdGCINGA0LDQt9C00LXQu9C+0LIgKkJTRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICLQn9C10YDQstGL0Lkg0YbQuNC70LjQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LjQuSDRhtC40LvQuNC90LTRgCArINGH0LjRgdC70L4g0YbQuNC70LjQvdC00YDQvtCyINC40LvQuCArINGA0LDQt9C80LXRgHtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LjQuSDRgdC10LrRgtC+0YAgKyDRh9C40YHQu9C+INGB0LXQutGC0L7RgNC+0LIg0LjQu9C4ICsg0YDQsNC30LzQtdGAe0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICLQo9GB0YLRgNC+0LnRgdGC0LLQviAlcyDQvdC1INGB0L7QtNC10YDQttC40YIg0LzQtdGC0LrQuCDQtNC40YHQutCwIEJTRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAi0KXQvtGC0LjRgtC1INGB0L7Qt9C00LDRgtGMINC80LXRgtC60YMg0LTQuNGB0LrQsCBCU0Q/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAi0JTQuNGB0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NTUKK21zZ2lkICJQYWNrbmFtZSIKK21zZ3N0ciAi0JjQvNGPINC/0LDQutC10YLQsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICLQpNC70LDQs9C4IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY1Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiINGB0YrQtdC80L3Ri9C5IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiINC60L7RgNGA0LXQutGG0LjRjyDQvtGI0LjQsdC+0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJhZC3RgdC10LrRgtC+0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKK21zZ2lkICJCeXRlcy9TZWN0b3IiCittc2dzdHIgItCR0LDQudGCL9Ch0LXQutGC0L7RgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorbXNnaWQgIlRyYWNrcy9DeWxpbmRlciIKK21zZ3N0ciAi0JTQvtGA0L7QttC60Lgv0KbQuNC70LjQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODUKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICLQodC10LrRgtC+0YDRiy/QptC40LvQuNC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAi0KbQuNC70LjQvdC00YDRiyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCittc2dpZCAiUnBtIgorbXNnc3RyICLQntCxL9C80LjQvSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICLQp9C10YDQtdC00L7QstCw0L3QuNC1IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA1Cittc2dpZCAiVHJhY2tza2V3IgorbXNnc3RyICLQn9C10YDQtdC60L7RgSDQtNC+0YDQvtC20LrQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMAorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAi0J/QtdGA0LXQutC+0YEg0YbQuNC70LjQvdC00YDQsCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgItCf0LXRgNC10LrQu9GO0YfQtdC90LjQtSDQs9C+0LvQvtCy0LrQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUyMAorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgItCf0L7QuNGB0Log0LTQvtGA0L7QttC60LgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTAKK21zZ2lkICJieXRlcy9zZWN0b3IiCittc2dzdHIgItCx0LDQudGCL9GB0LXQutGC0L7RgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgItGB0LXQutGC0L7RgNGLL9C00L7RgNC+0LbQutCwIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICLQtNC+0YDQvtC20LrQuC/RhtC40LvQuNC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAi0YbQuNC70LjQvdC00YDRiyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgItGB0LXQutGC0L7RgNGLL9GG0LjQu9C40L3QtNGAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIyCittc2dpZCAicnBtIgorbXNnc3RyICLQvtCxL9C80LjQvSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgItGH0LXRgNC10LTQvtCy0LDQvdC40LUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgItC/0LXRgNC10LrQvtGBINC00L7RgNC+0LbQutC4IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICLQv9C10YDQtdC60L7RgSDRhtC40LvQuNC90LTRgNCwIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAi0L/QtdGA0LXQutC70Y7Rh9C10L3QuNC1INCz0L7Qu9C+0LLQutC4IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAi0L/QvtC40YHQuiDQtNC+0YDQvtC20LrQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgItCk0LDQudC7INC90LDRh9Cw0LvRjNC90L7QuSDQt9Cw0LPRgNGD0LfQutC4ICVzINGD0YHQv9C10YjQvdC+INC30LDQs9GA0YPQttC10L0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAi0JfQsNCz0YDRg9C30YfQuNC6OiAlMSRzYm9vdCAtPiBib290JTEkcyAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gJTEkcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDMKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfRh9C40Log0L/QtdGA0LXQutGA0YvQstCw0LXRgtGB0Y8g0YEg0LzQtdGC0LrQvtC5INC00LjRgdC60LAhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfRh9C40Log0YPRgdGC0LDQvdC+0LLQu9C10L0g0L3QsCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgItCc0LXRgtC60LAg0LTQuNGB0LrQsCDQt9Cw0L/QuNGB0LDQvdCwICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICLQodC40L3RhdGA0L7QvdC40LfQuNGA0YPRjtGC0YHRjyDQtNC40YHQutC4LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MgorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICLQnNC10YLQutCwIEJTRCDQvdC1INC90LDRhdC+0LTQuNGC0YHRjyDQsiBET1Mt0YDQsNC30LTQtdC70LUuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgQlNEICclYycg0YHQstGP0LfQsNC9INGBINGA0LDQt9C00LXQu9C+0LwgRE9TICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNAorbXNnaWQgIkJzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zZSBkZXZpY2UgZmFpbGVkIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NTYKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLQktGL0LfRi9Cy0LDQtdGC0YHRjyBpb2N0bCgpINC00LvRjyDQv9C10YDQtdGH0LjRgtGL0LLQsNC90LjRjyDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAi0J/QtdGA0LXRh9C40YLRi9Cy0LDQvdC40LUg0YLQsNCx0LvQuNGG0Ysg0YDQsNC30LTQtdC70L7QsiDQvdC1INGD0LTQsNC70L7RgdGMLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgItCv0LTRgNC+INCy0YHQtSDQtdGJ0LUg0LjRgdC/0L7Qu9GM0LfRg9C10YIg0YHRgtCw0YDRg9GOINGC0LDQsdC70LjRhtGDLiDQndC+0LLQsNGPINGC0LDQsdC70LjRhtCwINCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINC/0YDQuCDRgdC70LXQtNGD0Y7RidC10Lkg0L/QtdGA0LXQt9Cw0LPRgNGD0LfQutC1INC40LvQuCDQv9GA0Lgg0LfQsNC/0YPRgdC60LUgcGFydHByb2JlKDgpINC40LvQuCBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGD0LTQsNC70LjRgtGMINGA0LDQt9C00LXQuyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgItCy0YvQstC10YHRgtC4INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGA0LDQt9C00LXQu9C1IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQtNC+0LHQsNCy0LjRgtGMINGA0LDQt9C00LXQuyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NzQKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290LiAiCittc2dzdHIgItCv0LTRgNC+INCy0YHQtSDQtdGJ0LUg0LjRgdC/0L7Qu9GM0LfRg9C10YIg0YHRgtCw0YDRg9GOINGC0LDQsdC70LjRhtGDLiDQndC+0LLQsNGPINGC0LDQsdC70LjRhtCwINCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINC/0YDQuCDRgdC70LXQtNGD0Y7RidC10Lkg0L/QtdGA0LXQt9Cw0LPRgNGD0LfQutC1INC40LvQuCDQv9GA0Lgg0LfQsNC/0YPRgdC60LUgcGFydHByb2JlKDgpINC40LvQuCBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICLRhtC40LvQuNC90LTRgCIKK21zZ3N0clsxXSAi0YbQuNC70LjQvdC00YDQsCIKK21zZ3N0clsyXSAi0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gItGB0LXQutGC0L7RgCIKK21zZ3N0clsxXSAi0YHQtdC60YLQvtGA0LAiCittc2dzdHJbMl0gItGB0LXQutGC0L7RgNC+0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTM4OAorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgItCd0LXQv9C+0LvQvdGL0LUg0L/QsNGA0LDQvNC10YLRgNGLINCz0LXQvtC80LXRgtGA0LjQuC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICLQktGB0LUg0L7RgdC90L7QstC90YvQtSDRgNCw0LfQtNC10LvRiyDRg9C20LUg0LHRi9C70Lgg0L7Qv9GA0LXQtNC10LvQtdC90YsuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICLQndC10YIg0YHQstC+0LHQvtC00L3Ri9GFINC00L7RgdGC0YPQv9C90YvRhSDRgNCw0LfQtNC10LvQvtCyISIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgNCw0YHRiNC40YDQtdC90L3Rg9GOINGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIgKNGB0LzQtdGJ0LXQvdC40LU9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAi0JLRiyDQvNC+0LbQtdGC0LUg0L3QsNGB0YLRgNC+0LjRgtGMINCz0LXQvtC80LXRgtGA0LjRjiDQsiDQvNC10L3RjiDRgNCw0YHRiNC40YDQtdC90L3Ri9GFINGE0YPQvdC60YbQuNC5LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIkRPUy3RgdC+0LLQvNC10YHRgtC40LzRi9C5INGA0LXQttC40Lwg0YPRgdGC0LDRgNC10LsuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ3Cittc2dpZCAiVGhlIGRldmljZSBwcmVzZW50cyBhIGxvZ2ljYWwgc2VjdG9yIHNpemUgdGhhdCBpcyBzbWFsbGVyIHRoYW4gdGhlIHBoeXNpY2FsIHNlY3RvciBzaXplLiBBbGlnbmluZyB0byBhIHBoeXNpY2FsIHNlY3RvciAob3Igb3B0aW1hbCBJL08pIHNpemUgYm91bmRhcnkgaXMgcmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgItCg0LDQt9C80LXRgCDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNCwINGD0YHRgtGA0L7QudGB0YLQstCwINC80LXQvdGM0YjQtSDRgNCw0LfQvNC10YDQsCDRhNC40LfQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNCwLiDQoNC10LrQvtC80LXQvdC00YPQtdGC0YHRjyDQstGL0YDQsNCy0L3QuNCy0LDQvdC40LUg0L/QviDQs9GA0LDQvdC40YbQtSDRhNC40LfQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNCwICjQuNC70Lgg0L7Qv9GC0LjQvNCw0LvRjNC90L7QvNGDIEkvTyksINC40L3QsNGH0LUg0LzQvtC20LXRgiDRgdC90LjQt9C40YLRjNGB0Y8g0L/QvtC70LjQt9Cy0L7QtNC40YLQtdC70YzQvdC+0YHRgtGMLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAi0KbQuNC70LjQvdC00YDRiyDQutCw0Log0LXQtNC40L3QuNGG0Ysg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQtNCw0L3QvdGL0YUg0L3QtSDQv9C+0LTQtNC10YDQttC40LLQsNGO0YLRgdGPLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAi0KDQsNC30LzQtdGAINGN0YLQvtCz0L4g0LTQuNGB0LrQsCAtICVzICglanUg0LHQsNC50YIpLiDQotCw0LHQu9C40YbQsCDRgNCw0LfQtNC10LvQvtCyIERPUyDQvdC1INC80L7QttC10YIg0LHRi9GC0Ywg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwINC90LAg0YPRgdGC0YDQvtC50YHRgtCy0LDRhSDQtNC70Y8g0YLQvtC80L7QsiDQsdC+0LvRjNGI0LUgJWx1INCx0LDQudGCINC00LvRjyDRgdC10LrRgtC+0YDQvtCyINGA0LDQt9C80LXRgNC+0LwgJWx1INCx0LDQudGCLiDQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGC0LDQsdC70LjRhtGDINGA0LDQt9C00LXQu9C+0LIgR1VJRCAoR1BUKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAi0J3QtdCy0LXRgNC90L7QtSDRgdC80LXRidC10L3QuNC1INCyINC+0YHQvdC+0LLQvdC+0Lwg0YDQsNGB0YjQuNGA0LXQvdC90L7QvCDRgNCw0LfQtNC10LvQtS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgItCf0YDQvtC/0YPRgdC60LDRjtGC0YHRjyDRgNCw0LfQtNC10LvRiyDQv9C+0YHQu9C1ICMlenUuINCe0L3QuCDQsdGD0LTRg9GCINGD0LTQsNC70LXQvdGLLCDQtdGB0LvQuCDQstGLINGB0L7RhdGA0LDQvdC40YLQtSDRjdGC0YMg0YLQsNCx0LvQuNGG0YMg0YDQsNC30LTQtdC70L7Qsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICLQo9C60LDQt9Cw0YLQtdC70Ywg0L3QsCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Rg9GOINGB0YHRi9C70LrRgyDQsiDRgtCw0LHQu9C40YbQtSDRgNCw0LfQtNC10LvQvtCyICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAi0JjQs9C90L7RgNC40YDRg9GO0YLRgdGPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0LUg0LTQsNC90L3Ri9C1INCyINGC0LDQsdC70LjRhtC1INGA0LDQt9C00LXQu9C+0LIgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgItCY0LPQvdC+0YDQuNGA0YPQtdGC0YHRjyDQv9GD0YHRgtC+0Lkg0YDQsNC30LTQtdC7ICglenUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICLQodC+0LfQtNCw0L3QsCDQvdC+0LLQsNGPINC80LXRgtC60LAgRE9TINGBINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QvCAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgItCS0LLQtdC00LjRgtC1INC90L7QstGL0Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LTQuNGB0LrQsCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgItCd0LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAi0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LTQuNGB0LrQsCDQuNC30LzQtdC90LXQvSDRgSAweCUwOHgg0L3QsCAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgItCY0LPQvdC+0YDQuNGA0YPQtdGC0YHRjyDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C5INGA0LDRgdGI0LjRgNC10L3QvdGL0Lkg0YDQsNC30LTQtdC7ICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAi0J3QtdCy0LXRgNC90YvQuSDRhNC70LDQsyAweCUwMnglMDJ4INGA0LDRgdGI0LjRgNC10L3QvdC+0Lkg0LfQsNCz0YDRg9C30L7Rh9C90L7QuSDQt9Cw0L/QuNGB0LggKNC00LvRjyDRgNCw0LfQtNC10LvQsCAlenUpINCx0YPQtNC10YIg0LjRgdC/0YDQsNCy0LvQtdC9INC30LDQv9C40YHRjNGOLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLQl9C90LDRh9C10L3QuNC1INC30LAg0L/RgNC10LTQtdC70LDQvNC4INC00LjQsNC/0LDQt9C+0L3QsC5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dSDRg9C20LUg0L7Qv9GA0LXQtNC10LvQtdC9LiAg0KPQtNCw0LvQuNGC0LUg0LXQs9C+INC/0LXRgNC10LQg0YLQtdC8LCDQutCw0Log0YHQvdC+0LLQsCDQtNC+0LHQsNCy0LjRgtGMINC10LPQvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAi0KHQtdC60YLQvtGAICVsbHUg0YPQttC1INCy0YvQtNC10LvQtdC9IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4NSBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzMAorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICLQntGC0YHRg9GC0YHRgtCy0YPRjtGCINC00L7RgdGC0YPQv9C90YvQtSDRgdCy0L7QsdC+0LTQvdGL0LUg0YHQtdC60YLQvtGA0YsuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLQlNC+0LHQsNCy0LvQtdC90LjQtSDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INGA0LDQt9C00LXQu9CwICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INGB0L7QtNC10YDQttC40YIg0L3Rg9C70LXQstC+0Lkg0YHQtdC60YLQvtGAIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDQs9C+0LvQvtCy0LrQsCAlZCDQsdC+0LvRjNGI0LUsINGH0LXQvCDQvNCw0LrRgdC40LzRg9C8ICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dTog0YHQtdC60YLQvtGAICVkINCx0L7Qu9GM0YjQtSwg0YfQtdC8INC80LDQutGB0LjQvNGD0LwgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dTog0YbQuNC70LjQvdC00YAgJWQg0LHQvtC70YzRiNC1LCDRh9C10Lwg0LzQsNC60YHQuNC80YPQvCAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDQv9GA0LXQtNGL0LTRg9GJ0LjQtSDRgdC10LrRgtC+0YDRiyAldSDQv9GA0L7RgtC40LLQvtGA0LXRh9Cw0YIg0YHRg9C80LzQsNGA0L3QvtC80YMg0LfQvdCw0YfQtdC90LjRjiAldSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dTog0YDQsNC30LvQuNGH0L3Ri9C1INGE0LjQt9C40YfQtdGB0LrQuNC1L9C70L7Qs9C40YfQtdGB0LrQuNC1INC90LDRh9Cw0LvQsCAo0L3QtS1MaW51eD8pOiDRhNC40LfQuNGHPSglZCwgJWQsICVkKSwg0LvQvtCz0LjRhz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGVuZGluZ3M6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6dTog0YDQsNC30LvQuNGH0L3Ri9C1INGE0LjQt9C40YfQtdGB0LrQuNC1L9C70L7Qs9C40YfQtdGB0LrQuNC1INC+0LrQvtC90YfQsNC90LjRjyAo0L3QtS1MaW51eD8pOiDRhNC40LfQuNGHPSglZCwgJWQsICVkKSwg0LvQvtCz0LjRhz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgItCg0LDQt9C00LXQuyAlenUg0L3QtSDQt9Cw0LrQsNC90YfQuNCy0LDQtdGC0YHRjyDQvdCwINCz0YDQsNC90LjRhtC1INGG0LjQu9C40L3QtNGA0LAuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INC90LXQstC10YDQvdC+0LUg0L3QsNGH0LDQu9C+INC00LDQvdC90YvRhS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDQv9C10YDQtdC60YDRi9Cy0LDQtdGCINGA0LDQt9C00LXQuyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgItCg0LDQt9C00LXQuyAlenU6INC/0YPRgdGCLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgItCb0L7Qs9C40YfQtdGB0LrQuNC5INGA0LDQt9C00LXQuyAlenU6INC90LUg0L3QsNGF0L7QtNC40YLRgdGPINGG0LXQu9C40LrQvtC8INCyINGA0LDQt9C00LXQu9C1ICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICLQodGD0LzQvNCw0YDQvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LLRi9C00LXQu9C10L3QvdGL0YUg0YHQtdC60YLQvtGA0L7QsiAlbGx1INCx0L7Qu9GM0YjQtSwg0YfQtdC8INC80LDQutGB0LjQvNGD0LwgJWxsdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICLQntGB0YLQsNC70L7RgdGMICVsbGQg0L3QtdC30LDQvdGP0YLRi9GFICVsZC3QsdCw0LnRgtC+0LLRi9GFINGB0LXQutGC0L7RgNC+0LIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMSBsaWJmZGlzay9zcmMvZG9zLmM6MTYxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2MworbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgItCg0LDRgdGI0LjRgNC10L3QvdGL0Lkg0YDQsNC30LTQtdC7INGD0LbQtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAi0JHRi9C70L4g0YHQvtC30LTQsNC90L4g0LzQsNC60YHQuNC80LDQu9GM0L3QviDQstC+0LfQvNC+0LbQvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YDQsNC30LTQtdC70L7Qsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAi0JfQsNC00LXQudGB0YLQstC+0LLQsNC90Ysg0LLRgdC1INC+0YHQvdC+0LLQvdGL0LUg0YDQsNC30LTQtdC70YsuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MyBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NAorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgItCS0YHQtSDQv9GA0L7RgdGC0YDQsNC90YHRgtCy0L4g0LTQu9GPINC70L7Qs9C40YfQtdGB0LrQuNGFINGA0LDQt9C00LXQu9C+0LIg0LfQsNC00LXQudGB0YLQstC+0LLQsNC90L4uIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLQp9GC0L7QsdGLINGB0L7Qt9C00LDRgtGMINCx0L7Qu9GM0YjQtSDRgNCw0LfQtNC10LvQvtCyLCDRgdC90LDRh9Cw0LvQsCDQv9C+0LzQtdC90Y/QudGC0LUg0L7RgdC90L7QstC90L7QuSDRgNCw0LfQtNC10Lsg0L3QsCDRgNCw0YHRiNC40YDQtdC90L3Ri9C5LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAi0JfQsNC00LXQudGB0YLQstC+0LLQsNC90Ysg0LLRgdC1INC70L7Qs9C40YfQtdGB0LrQuNC1INGA0LDQt9C00LXQu9GLLiDQlNC+0LHQsNCy0LvQtdC90LjQtSDQvtGB0L3QvtCy0L3QvtCz0L4g0YDQsNC30LTQtdC70LAuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLQotC40L8g0YDQsNC30LTQtdC70LAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSDQv9C10YDQstC40YfQvdGL0LksICVkINGA0LDRgdGI0LjRgNC10L3Ri9C5LCAlenUg0YHQstC+0LHQvtC00L3QviIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICLQvtGB0L3QvtCy0L3QvtC5IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICLRgNCw0YHRiNC40YDQtdC90L3Ri9C5IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICLQutC+0L3RgtC10LnQvdC10YAg0LTQu9GPINC70L7Qs9C40YfQtdGB0LrQuNGFINGA0LDQt9C00LXQu9C+0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAi0LvQvtCz0LjRh9C10YHQutC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICLRh9C40YHQu9C+INC+0YIgNSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAi0J3QtdCy0LXRgNC90YvQuSDRgtC40L8g0YDQsNC30LTQtdC70LAgYCVjJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCDRgdC10LrRgtC+0YAgJWpkOiDQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQtNC40YHQutCwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2OAorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgItCi0LjQvyAwINC+0LfQvdCw0YfQsNC10YIg0YHQstC+0LHQvtC00L3QvtC1INC/0YDQvtGB0YLRgNCw0L3RgdGC0LLQviDQtNC70Y8g0LzQvdC+0LPQuNGFINGB0LjRgdGC0LXQvC4g0J3QsNC70LjRh9C40LUg0YDQsNC30LTQtdC70L7QsiDRgtC40L/QsCAwINCy0LXRgNC+0Y/RgtC90L4sINC90LXRgNCw0LfRg9C80L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjaGFuZ2UgdHlwZSBvZiB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIHdoaWNoIGlzIGFscmVhZHkgdXNlZCBieSBsb2dpY2FsIHBhcnRpdGlvbnMuIERlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMgZmlyc3QuIgorbXNnc3RyICLQndC1INGD0LTQsNC10YLRgdGPINC40LfQvNC10L3QuNGC0Ywg0YLQuNC/INGA0LDRgdGI0LjRgNC10L3QvdC+0LPQviDRgNCw0LfQtNC10LvQsCwg0LIg0LrQvtGC0L7RgNC+0Lwg0YPQttC1INC10YHRgtGMINC70L7Qs9C40YfQtdGB0LrQuNC1INGA0LDQt9C00LXQu9GLLiDQodC90LDRh9Cw0LvQsCDRg9C00LDQu9C40YLQtSDQuNGFLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKKyMsIGZ1enp5Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAi0J3QtdGH0LXQs9C+INCy0YvQv9C+0LvQvdGP0YLRjC4g0J7Rh9C10YDQtdC00L3QvtGB0YLRjCDRg9C20LUg0L/RgNCw0LLQuNC70YzQvdCw0Y8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDQvdC10YIg0L7QsdC70LDRgdGC0Lgg0YEg0LTQsNC90L3Ri9C80LguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjM0NworbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAi0J3QvtCy0L7QtSDQvdCw0YfQsNC70L4g0LTQsNC90L3Ri9GFIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLQoNCw0LfQtNC10LsgJXp1OiDRj9Cy0LvRj9C10YLRgdGPINGA0LDRgdGI0LjRgNC10L3QvdGL0Lwg0YDQsNC30LTQtdC70L7QvC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLQpNC70LDQsyDQt9Cw0LPRgNGD0LfQutC4INGA0LDQt9C00LXQu9CwICV6dSDQstC60LvRjtGH0LXQvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAi0KTQu9Cw0LMg0LfQsNCz0YDRg9C30LrQuCDRgNCw0LfQtNC10LvQsCAlenUg0LLRi9C60LvRjtGH0LXQvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAi0KPRgdGC0YAt0LLQviIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjQgbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiQm9vdCIKK21zZ3N0ciAi0JfQsNCz0YDRg9C30L7Rh9C90YvQuSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAi0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgItCd0LDRh9Cw0LvQvi1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgItCa0L7QvdC10YYtQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgItCQ0YLRgNC40LHRg9GC0YsiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJFRkkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgItCg0LDQt9C00LXQu9GLINC90LUg0L7Qv9GA0LXQtNC10LvQtdC90YtcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY4Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAi0JfQsNCz0YDRg9C30L7Rh9C90YvQuSDRgNCw0LfQtNC10LsgU29ueSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAi0JfQsNCz0YDRg9C30L7Rh9C90YvQuSDRgNCw0LfQtNC10LsgTGVub3ZvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQUEMgUFJlUCBCb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc1Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICLQl9Cw0YDQtdC30LXRgNCy0LjRgNC+0LLQsNC90L3Ri9C5INGA0LDQt9C00LXQuyBNaWNyb3NvZnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAKK21zZ2lkICJNaWNyb3NvZnQgYmFzaWMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICLQodGA0LXQtNCwINC00LvRjyDQstC+0YHRgdGC0LDQvdC+0LLQu9C10L3QuNGPIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgItCU0LDQvdC90YvQtSBIUC1VWCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgItCh0LvRg9C20LHQsCBIUC1VWCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXgg0YHQstC+0L8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICLQpNCw0LnQu9C+0LLQsNGPINGB0LjRgdGC0LXQvNCwIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0Cittc2dpZCAiTGludXggc2VydmVyIGRhdGEiCittc2dzdHIgItCU0LDQvdC90YvQtSDRgdC10YDQstC10YDQsCBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgItCa0L7RgNC90LXQstC+0Lkg0YDQsNC30LTQtdC7IExpbnV4ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAi0JrQvtGA0L3QtdCy0L7QuSDRgNCw0LfQtNC10LsgTGludXggKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICLQmtC+0YDQvdC10LLQvtC5INGA0LDQt9C00LXQuyBMaW51eCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgItCa0L7RgNC90LXQstC+0Lkg0YDQsNC30LTQtdC7IExpbnV4IChBUk0tNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgItCa0L7RgNC90LXQstC+0Lkg0YDQsNC30LTQtdC7IExpbnV4IChBUk0tNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgItCX0LDRgNC10LfQtdGA0LLQuNGA0L7QstCw0L3QviDRgdC40YHRgtC10LzQvtC5IExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAi0JTQvtC80LDRiNC90LjQuSDRgNCw0LfQtNC10LsgTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgItCg0LDRgdGI0LjRgNC10L3QvdCw0Y8g0LfQsNCz0YDRg9C30LrQsCBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSDRgdCy0L7QvyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5CisjLCBmdXp6eQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIkFwcGxlIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIkFwcGxlIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkFwcGxlIFJBSUQg0L7RgtC60LvRjtGH0LXQvSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMg0LrQvtGA0L0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTb2xhcmlzINC30LDQs9GALiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyAvdmFyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyAvaG9tZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgItGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvRhSDRgdC60L7RgNC+0YHRgtC10LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIkJTREkg0YHQstC+0L8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QgRkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIExGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIk5ldEJTRCDRiNC40YTRgNC+0LLQsNC90L3Ri9C5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICLRj9C00YDQviBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgItC60L7RgNC90LXQstCw0Y8g0KTQoSBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorIywgZnV6enkKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIkJTREkg0YHQstC+0L8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIkNlcGggT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIERpYWdub3N0aWMiCittc2dzdHIgIkNvbXBhcSDQtNC40LDQs9C90L7RgdGC0LjQutCwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFJlc2VydmVkIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAi0KTQsNC50LvQvtCy0LDRjyDRgdC40YHRgtC10LzQsCBRTlg2IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGQgICDRg9C00LDQu9C10L3QuNC1INGA0LDQt9C00LXQu9CwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjYxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LfQsNCz0L7Qu9C+0LLQvtC6IEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgItCd0LDRh9Cw0LvRjNC90YvQuSDQsNC00YDQtdGBIExCQSwg0YPQutCw0LfQsNC90L3Ri9C5INCyINGB0LrRgNC40L/RgtC1LCDQstC90LUg0LTQvtC/0YPRgdGC0LjQvNC+0LPQviDQtNC40LDQv9Cw0LfQvtC90LAuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLQmtC+0L3QtdGH0L3Ri9C5INCw0LTRgNC10YEgTEJBLCDRg9C60LDQt9Cw0L3QvdGL0Lkg0LIg0YHQutGA0LjQv9GC0LUsINCy0L3QtSDQtNC+0L/Rg9GB0YLQuNC80L7Qs9C+INC00LjQsNC/0LDQt9C+0L3QsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MTcKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDog0LLRi9C/0L7Qu9C90LXQvdC40LUgc3RhdCgpINC30LDQstC10YDRiNC40LvQvtGB0Ywg0L3QtdGD0LTQsNGH0L3QviIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAi0JfQsNCz0L7Qu9C+0LLQvtC6IEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAi0JfQsNC/0LjRgdC4IEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMjgKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgItCd0LDRh9Cw0LvRjNC90YvQuSDQsNC00YDQtdGBIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAi0JrQvtC90LXRh9C90YvQuSDQsNC00YDQtdGBIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgItCQ0LvRjNGC0LXRgNC90LDRgtC40LLQvdGL0Lkg0LDQtNGA0LXRgSBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICLQoNCw0LfQtNC10LsgKGEtJWMpOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAi0KDQtdC30LXRgNCy0L3QsNGPINGC0LDQsdC70LjRhtCwIEdQVCDQv9C+0LLRgNC10LbQtNC10L3QsCwg0L3QviDRgSDQvtGB0L3QvtCy0L3QvtC5LCDQutCw0LbQtdGC0YHRjywg0LLRgdC1INCyINC/0L7RgNGP0LTQutC1LCDQv9C+0Y3RgtC+0LzRgyDQvtC90LAg0LHRg9C00LXRgiDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LAuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgItCe0YHQvdC+0LLQvdCw0Y8g0YLQsNCx0LvQuNGG0LAgR1BUINC/0L7QstGA0LXQttC00LXQvdCwLCDQvdC+INGBINGA0LXQt9C10YDQstC90L7QuSwg0LrQsNC20LXRgtGB0Y8sINCy0YHQtSDQsiDQv9C+0YDRj9C00LrQtSwg0L/QvtGN0YLQvtC80YMg0L7QvdCwINCx0YPQtNC10YIg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdCwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INCx0LjRgiDQsNGC0YDQuNCx0YPRgtCwIEdQVCAnJXMnIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIlVVSUQg0YDQsNC30LTQtdC70LAg0LjQt9C80LXQvdC10L0g0YEgJXMg0L3QsCAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2xhdGUgcGFydGl0aW9uIG5hbWUsIG5hbWUgbm90IGNoYW5nZWQuIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC40LzRjyDRgNCw0LfQtNC10LvQsCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAi0JjQvNGPINGA0LDQt9C00LXQu9CwINC40LfQvNC10L3QtdC90L4g0YEgJyVzJyDQvdCwICclLipzJy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQ1CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICLQl9Cw0LPRgNGD0LfQvtGH0L3Ri9C5INGA0LDQt9C00LXQuyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAi0LrQvtC90LXRhiDRgNCw0LfQtNC10LvQsCDQsiDRgdC10LrRgtC+0YDQsNGFIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgItCd0LAg0LTQuNGB0LrQtSDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINC00L7Qv9GD0YHRgtC40LzRi9C5INGA0LXQt9C10YDQstC90YvQuSDQt9Cw0LPQvtC70L7QstC+0LouIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQsNGPINC60L7QvdGC0YDQvtC70YzQvdCw0Y8g0YHRg9C80LzQsCBDUkMg0L/QtdGA0LLQuNGH0L3QvtCz0L4g0LfQsNCz0L7Qu9C+0LLQutCwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAi0J3QtdC00L7Qv9GD0YHRgtC40LzQsNGPINC60L7QvdGC0YDQvtC70YzQvdCw0Y8g0YHRg9C80LzQsCBDUkMg0YDQtdC30LXRgNCy0L3QvtCz0L4g0LfQsNCz0L7Qu9C+0LLQutCwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgItCd0LXQtNC+0L/Rg9GB0YLQuNC80LDRjyDQutC+0L3RgtGA0L7Qu9GM0L3QsNGPINGB0YPQvNC80LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgItCg0LDQt9C80LXRgCDQtNC40YHQutCwINGB0LvQuNGI0LrQvtC8INC80LDQuywg0YfRgtC+0LHRiyDQstC80LXRgdGC0LjRgtGMINCy0YHQtSDQtNCw0L3QvdGL0LUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICLQn9C10YDQstC40YfQvdGL0Lkg0Lgg0YDQtdC30LXRgNCy0L3Ri9C5INC30LDQs9C+0LvQvtCy0LrQuCDQvdC1INGB0L7QstC/0LDQtNCw0Y7Rgi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INGA0LDQt9C00LXQuyAldSDQv9C10YDQtdC60YDRi9Cy0LDQtdGCINGA0LDQt9C00LXQuyAldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgItCg0LDQt9C00LXQuyAldSDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0L7QuSDQtNC70Y8g0LTQuNGB0LrQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICLQmtC+0L3QtdGGINGA0LDQt9C00LXQu9CwICV1INC90LDRhdC+0LTQuNGC0YHRjyDRgNCw0L3RjNGI0LUg0LXQs9C+INC90LDRh9Cw0LvQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAi0J7RiNC40LHQvtC6INC90LUg0L7QsdGA0LDRgNGD0LbQtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgItCS0LXRgNGB0LjRjyDQt9Cw0LPQvtC70L7QstC60LA6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30YPRjtGC0YHRjyAldSDRgNCw0LfQtNC10LvQvtCyINC40LcgJWQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gItCe0LHRgNCw0YDRg9C20LXQvdCwICVkINC+0YjQuNCx0LrQsC4iCittc2dzdHJbMV0gItCe0LHQvdCw0YDRg9C20LXQvdGLICVkINC+0YjQuNCx0LrQuC4iCittc2dzdHJbMl0gItCe0LHQvdCw0YDRg9C20LXQvdC+ICVkINC+0YjQuNCx0L7Qui4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzI2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAi0JLRgdC1INGA0LDQt9C00LXQu9GLINGD0LbQtSDQuNGB0L/QvtC70YzQt9GD0Y7RgtGB0Y8uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgItCh0LXQutGC0L7RgCAlanUg0YPQttC1INC40YHQv9C+0LvRjNC30YPQtdGC0YHRjy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRgNCw0LfQtNC10LsgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICLQktCy0LXQtNC40YLQtSDQvdC+0LLRi9C5IFVVSUQg0LTQuNGB0LrQsCAo0LIg0YTQvtGA0LzQsNGC0LUgOC00LTQtNC0xMikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgItCd0LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0LLQsNGIIFVVSUQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAi0JjQtNC10L3QtNC40YTQuNC60LDRgtC+0YAg0LTQuNGB0LrQsCDQuNC30LzQtdC90LXQvSDRgSAlcyDQvdCwICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgItCd0LXRgiDRgdCy0L7QsdC+0LTQvdGL0YUg0LTQvtGB0YLRg9C/0L3Ri9GFINGA0LDQt9C00LXQu9C+0LIhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtaW5pbWFsIHN0YXJ0IGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV6ZCDRgdC+0LTQtdGA0LbQuNGCINC90LXQstC10YDQvdGL0Lkg0L3QsNGH0LDQu9GM0L3Ri9C5INC90YPQu9C10LLQvtC5INGB0LXQutGC0L7RgC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICLQkdGL0LvQviDRgdC+0LfQtNCw0L3QviDQvNCw0LrRgdC40LzQsNC70YzQvdC+INCy0L7Qt9C80L7QttC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgNCw0LfQtNC10LvQvtCyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICLQmNC80Y8g0YDQsNC30LTQtdC70LAg0LjQt9C80LXQvdC10L3QviDRgSAnJXMnINC90LAgJyUuKnMnLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgItCh0LjRgdGC0LXQvNC90YvQuSDRgtC40L8g0YDQsNC30LTQtdC70LAgJWQg0LjQt9C80LXQvdC10L0g0L3QsCAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LrQu9GO0YfQuNGC0Ywg0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0Lkg0LHQuNGCICVsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgItCk0LvQsNCzICVzINGA0LDQt9C00LXQu9CwICV6dSDRgtC10L/QtdGA0Ywg0LLQutC70Y7Rh9C10L0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgItCk0LvQsNCzICVzINGA0LDQt9C00LXQu9CwICV6dSDRgtC10L/QtdGA0Ywg0LLRi9C60LvRjtGH0LXQvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM0Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICLQotC40L8gVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICLQmNC80Y8iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICLQodCy0L7QsdC+0LTQvdC+0LUg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC+IgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAi0J3QtSDRg9C00LDQu9C+0YHRjCDQuNC30LzQtdC90LjRgtGMINGA0LDQt9C80LXRgCDRgNCw0LfQtNC10LvQsCAjJXp1LiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByYXciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIHZvbHVtZSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXgg0YHQvtCx0YHRgtCy0LXQvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAi0J7QsdC90LDRgNGD0LbQtdC90LAg0LzQtdGC0LrQsCDQtNC40YHQutCwIHNnaSDRgSDQvdC10LLQtdGA0L3QvtC5INC60L7QvdGC0YDQvtC70YzQvdC+0Lkg0YHRg9C80LzQvtC5LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgItCk0LjQt9C40YfQtdGB0LrQuNC1INGG0LjQu9C40L3QtNGA0YsiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODYgbGliZmRpc2svc3JjL3N1bi5jOjc4OAorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAi0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDRgdC10LrRgtC+0YDRiyDQvdCwINGG0LjQu9C40L3QtNGAIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgItCk0LDQudC7INC30LDQs9GA0YPQt9GH0LjQutCwIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk0Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgItCd0LXQstC10YDQvdGL0LkgQm9vdC3RhNCw0LnQuyEgIEJvb3Qt0YTQsNC50Lsg0LTQvtC70LbQtdC9INCx0YvRgtGMINCw0LHRgdC+0LvRjtGC0L3Ri9C8INC90LXQv9GD0YHRgtGL0Lwg0L/Rg9GC0LXQstGL0Lwg0LjQvNC10L3QtdC8LCDQvdCw0L/RgC4gXCIvdW5peFwiINC40LvQuCBcIi91bml4LnNhdmVcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAi0KHQu9C40YjQutC+0Lwg0LTQu9C40L3QvdC+0LUg0LjQvNGPIEJvb3Qt0YTQsNC50LvQsDogINC80LDQutGB0LjQvNGD0LwgJXp1INCx0LDQudGCLiIKK21zZ3N0clsxXSAi0KHQu9C40YjQutC+0Lwg0LTQu9C40L3QvdC+0LUg0LjQvNGPIEJvb3Qt0YTQsNC50LvQsDogINC80LDQutGB0LjQvNGD0LwgJXp1INCx0LDQudGC0LAuIgorbXNnc3RyWzJdICLQodC70LjRiNC60L7QvCDQtNC70LjQvdC90L7QtSDQuNC80Y8gQm9vdC3RhNCw0LnQu9CwOiAg0LzQsNC60YHQuNC80YPQvCAlenUg0LHQsNC50YIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA3CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIkJvb3Qt0YTQsNC50Lsg0LTQvtC70LbQtdC9INC40LzQtdGC0Ywg0L/QvtC70L3QvtGB0YLRjNGOINGD0YLQvtGH0L3QtdC90L3QvtC1INC/0YPRgtC10LLQvtC1INC40LzRjy5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLQl9C90LDQudGC0LUsINGH0YLQviDRgdGD0YnQtdGB0YLQstC+0LLQsNC90LjQtSBib290LdGE0LDQudC70LAg0L3QtSDQv9GA0L7QstC10YDRj9C10YLRgdGPLiDQkiBTR0kg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gLSBcIi91bml4XCIg0Lgg0LTQu9GPINGA0LXQt9C10YDQstC90L7QuSDQutC+0L/QuNC4IFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICLQotC10LrRg9GJ0LjQuSBib290LdGE0LDQudC7OiAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MAorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICLQktCy0LXQtNC40YLQtSDQuNC80Y8g0L3QvtCy0L7Qs9C+IGJvb3Qt0YTQsNC50LvQsCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJCb290LdGE0LDQudC7INC90LUg0LjQt9C80LXQvdC10L0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiQm9vdC3RhNCw0LnQuyDQuNC30LzQtdC90LXQvSDQvdCwIFwiJXNcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICLQn9GA0LjRgdGD0YLRgdGC0LLRg9C10YIg0LHQvtC70LXQtSDQvtC00L3QvtC5INC30LDQv9C40YHQuCDQtNC70Y8g0LLRgdC10LPQviDQtNC40YHQutCwLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMiBsaWJmZGlzay9zcmMvc3VuLmM6NDU5Cittc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkLiIKK21zZ3N0ciAi0KDQsNC30LTQtdC70Ysg0L3QtSDQvtC/0YDQtdC00LXQu9C10L3Riy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCDQu9GO0LHQuNGCLCDQutC+0LPQtNCwINCg0LDQt9C00LXQuyAxMSDQvtGF0LLQsNGC0YvQstCw0LXRgiDQstC10YHRjCDQtNC40YHQui5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICLQoNCw0LfQtNC10Lsg0LLRgdC10LPQviDQtNC40YHQutCwINC00L7Qu9C20LXQvSDQvdCw0YfQuNC90LDRgtGM0YHRjyDRgSDQsdC70L7QutCwIDAsINCwINC90LUg0YEg0LHQu9C+0LrQsCAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgItCg0LDQt9C00LXQuyAjMTEg0LTQvtC70LbQtdC9INC+0YXQstCw0YLRi9Cy0LDRgtGMINCy0LXRgdGMINC00LjRgdC6LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gItCg0LDQt9C00LXQu9GLICVkINC4ICVkINC/0LXRgNC10LrRgNGL0LLQsNGO0YLRgdGPINCyICVkINGB0LXQutGC0L7RgNC1LiIKK21zZ3N0clsxXSAi0KDQsNC30LTQtdC70YsgJWQg0LggJWQg0L/QtdGA0LXQutGA0YvQstCw0Y7RgtGB0Y8g0LIgJWQg0YHQtdC60YLQvtGA0LDRhS4iCittc2dzdHJbMl0gItCg0LDQt9C00LXQu9GLICVkINC4ICVkINC/0LXRgNC10LrRgNGL0LLQsNGO0YLRgdGPINCyICVkINGB0LXQutGC0L7RgNCw0YUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gItCd0LXQuNGB0L/QvtC70YzQt9GD0LXQvNGL0Lkg0L/RgNC+0LzQtdC20YPRgtC+0Log0LjQtyAlOHUg0YHQtdC60YLQvtGA0LA6INGB0LXQutGC0L7RgCAlOHUiCittc2dzdHJbMV0gItCd0LXQuNGB0L/QvtC70YzQt9GD0LXQvNGL0Lkg0L/RgNC+0LzQtdC20YPRgtC+0Log0LjQtyAlOHUg0YHQtdC60YLQvtGA0L7Qsjog0YHQtdC60YLQvtGA0YsgJTh1LSV1IgorbXNnc3RyWzJdICLQndC10LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INC/0YDQvtC80LXQttGD0YLQvtC6INC40LcgJTh1INGB0LXQutGC0L7RgNC+0LI6INGB0LXQutGC0L7RgNGLICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgItCX0LDQs9GA0YPQt9C+0YfQvdGL0Lkg0YDQsNC30LTQtdC7INC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi0KDQsNC30LTQtdC7INGB0LLQvtC/0LjQvdCz0LAg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgItCg0LDQt9C00LXQuyDRgdCy0L7Qv9C40L3Qs9CwINC90LUg0LjQvNC10LXRgiDRgtC40L8gc3dhcC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAi0JLRiyDQstGL0LHRgNCw0LvQuCDQvdC10L7QsdGL0YfQvdC+0LUg0LjQvNGPIGJvb3Qt0YTQsNC50LvQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgItCf0LXRgNC10LrRgNGL0LLQsNC90LjQtSDRgNCw0LfQtNC10LvQvtCyINC90LAg0LTQuNGB0LrQtS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKKyMsIGZ1enp5Cittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAi0JLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQv9C+0L/Ri9GC0LrQsCDQsNCy0YLQvtC80LDRgtC40YfQtdGB0LrQuCDRgdC+0LfQtNCw0YLRjCDQv9GD0L3QutGCINCy0YHQtdCz0L4g0LTQuNGB0LrQsC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAi0JLQtdGB0Ywg0LTQuNGB0Log0YPQttC1INGA0LDQt9Cx0LjRgiDQvdCwINGA0LDQt9C00LXQu9GLLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAi0JLRiyDQv9C+0LvRg9GH0LjQu9C4INC/0LXRgNC10LrRgNGL0LLQsNC90LjQtSDRgNCw0LfQtNC10LvQvtCyINC90LAg0LTQuNGB0LrQtS4g0KHQvdCw0YfQsNC70LAg0LjRgdC/0YDQsNCy0YzRgtC1INGN0YLQviEiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAi0J/QtdGA0LLRi9C5ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAi0J3QsNGB0YLQvtGP0YLQtdC70YzQvdC+INGA0LXQutC+0LzQtdC90LTRg9C10YLRgdGPLCDRh9GC0L7QsdGLINC+0LTQuNC90L3QsNC00YbQsNGC0YvQuSDRgNCw0LfQtNC10Lsg0L7RhdCy0LDRgtGL0LLQsNC7INCy0LXRgdGMINC00LjRgdC6INC4INC40LzQtdC7INGC0LjQvyBgU0dJIHZvbHVtZScuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgItCf0L7RgdC70LXQtNC90LjQuSAlcyDQuNC70LggK3NpemUg0LjQu9C4ICtzaXplTSDQuNC70LggK3NpemVLIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg0IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6IEJMS0dFVFNJWkUgaW9jdGwg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSDQvdCwICVzLiDQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LfQvdCw0YfQtdC90LjQtSDQs9C10L7QvNC10YLRgNC40Lgg0YbQuNC70LjQvdC00YDQsCAlZC5cbiIKKyLQrdGC0L4g0LfQvdCw0YfQtdC90LjQtSDQvNC+0LbQtdGCINCx0YvRgtGMINGD0LzQtdC90YzRiNC10L3QviDQtNC70Y8g0YPRgdGC0YDQvtC50YHRgtCyID4gMzMuOCDQk9CRLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBzICAg0YHQvtC30LTQsNC90LjQtSDQvdC+0LLQvtC5INGH0LjRgdGC0L7QuSDQvNC10YLQutC4INC00LjRgdC60LAgU3VuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAi0Jog0YHQvtC20LDQu9C10L3QuNGOLCDQstGLINC80L7QttC10YLQtSDQuNC30LzQtdC90LjRgtGMINGN0YLQvtGCINC/0YDQuNC30L3QsNC6INGC0L7Qu9GM0LrQviDQtNC70Y8g0L3QtdC/0YPRgdGC0YvRhSDRgNCw0LfQtNC10LvQvtCyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorItCf0YDQtdC00LvQsNCz0LDQtdGC0YHRjyDQvtGB0YLQsNCy0LjRgtGMINGA0LDQt9C00LXQuyA5INCyINCy0LjQtNC1INC30LDQs9C+0LvQvtCy0LrQsCDRgtC+0LzQsCAoMCksXG4iCisi0LAg0YDQsNC30LTQtdC7IDExINCyINCy0LjQtNC1INGG0LXQu9C+0LPQviDRgtC+0LzQsCAoNiksINC60LDQuiDRgtC+0LPQviDQvtC20LjQtNCw0LXRgiBJUklYLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyLQndCw0YHRgtC+0Y/RgtC10LvRjNC90L4g0YDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8sINGH0YLQvtCx0Ysg0YDQsNC30LTQtdC7INGB0L5cbiIKKyLRgdC80LXRidC10L3QuNC10LwgMCDQuNC80LXQuyDRgtC40L8gXCJTR0kgdm9saGRyXCIsINGB0LjRgdGC0LXQvNCwIElSSVhcbiIKKyLQsdGD0LTQtdGCINC90LDQtNC10Y/RgtGM0YHRjyDQvdCwINC90LXQs9C+INC00LvRjyDQuNC30LLQu9C10YfQtdC90LjRjyDQuNC3INC10LPQviDQutCw0YLQsNC70L7Qs9CwXG4iCisi0YHQsNC80L7RgdGC0L7Rj9GC0LXQu9GM0L3Ri9GFINGD0YLQuNC70LjRgiDRgtC40L/QsCBzYXNoINC4IGZ4LlxuIgorItCi0L7Qu9GM0LrQviDRgNCw0LfQtNC10Lsg0LLRgdC10LPQviDQtNC40YHQutCwIFwiU0dJIHZvbHVtZVwiINC80L7QttC10YIg0L3QsNGA0YPRiNC40YLRjCDRjdGC0L4uXG4iCisi0JLQstC10LTQuNGC0LUg0JTQkCwg0LXRgdC70Lgg0LLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGA0LDQt9C80LXRgtC40LvQuCDRjdGC0L7RgiDRgNCw0LfQtNC10Lsg0L7RgtC00LXQu9GM0L3Qvi5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAi0J3QtdC90LDQt9C90LDRh9C10L0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIHJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlN1bk9TIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MworbXNnaWQgIlN1bk9TIHVzciIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDQKK21zZ2lkICJXaG9sZSBkaXNrIgorbXNnc3RyICJXaG9sZSBkaXNrIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKKyMsIGZ1enp5Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIiVsbGQg0L3QtdC30LDQvdGP0YLRi9GFINGB0LXQutGC0L7RgNC+0LJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorIywgZnV6enkKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyLQntCx0L3QsNGA0YPQttC10L3QsCDQvNC10YLQutCwINC00LjRgdC60LAgc3VuINGBINC90LXQstC10YDQvdC+0LlcbiIKKyLQutC+0L3RgtGA0L7Qu9GM0L3QvtC5INGB0YPQvNC80L7QuS4g0JLQvtC30LzQvtC20L3QviDQstCw0LxcbiIKKyLQv9C+0L3QsNC00L7QsdC40YLRgdGPINGD0YHRgtCw0L3QvtCy0LjRgtGMINCy0YHQtSDQt9C90LDRh9C10L3QuNGPLFxuIgorItC90LDQv9GALiDQs9C+0LvQvtCy0LrQuCwg0YHQtdC60YLQvtGA0YssINGG0LjQu9C40L3QtNGA0Ysg0Lgg0YDQsNC30LTQtdC70YssXG4iCisi0LjQu9C4INC/0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC+0LHQvdC+0LLQuNGC0Ywg0LzQtdGC0LrRgyAo0LrQvtC80LDQvdC00LBcbiIKKyJzINCyINCz0LvQsNCy0L3QvtC8INC80LXQvdGOKVxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAi0J7QsdC90LDRgNGD0LbQtdC90LAg0LzQtdGC0LrQsCDQtNC40YHQutCwIHNnaSDRgSDQvdC10LLQtdGA0L3QvtC5INC60L7QvdGC0YDQvtC70YzQvdC+0Lkg0YHRg9C80LzQvtC5LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICLQntCx0L3QsNGA0YPQttC10L3QsCDQvNC10YLQutCwINC00LjRgdC60LAgc2dpINGBINC90LXQstC10YDQvdC+0Lkg0LrQvtC90YLRgNC+0LvRjNC90L7QuSDRgdGD0LzQvNC+0LkuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAi0J7QsdC90LDRgNGD0LbQtdC90LAg0LzQtdGC0LrQsCDQtNC40YHQutCwIHNnaSDRgSDQvdC10LLQtdGA0L3QvtC5INC60L7QvdGC0YDQvtC70YzQvdC+0Lkg0YHRg9C80LzQvtC5LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQvdC10LLQtdGA0L3Ri9C5INGE0LvQsNCzIDB4JTA0eCDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyICVkINCx0YPQtNC10YIg0LjRgdC/0YDQsNCy0LvQtdC9INC30LDQv9C40YHRjNGOXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAi0JPQvtC70L7QstC60LgiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICLQodC10LrRgtC+0YDRiy/QtNC+0YDQvtC20LrQsCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5MworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgItCh0L7Qt9C00LDQvdCwINC90L7QstCw0Y8g0LzQtdGC0LrQsCDQtNC40YHQutCwIFN1bi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAi0KDQsNC30LTQtdC7ICV1INC90LUg0LfQsNC60LDQvdGH0LjQstCw0LXRgtGB0Y8g0L3QsCDQs9GA0LDQvdC40YbQtSDRhtC40LvQuNC90LTRgNCwLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgItCg0LDQt9C00LXQuyAldSDQv9C10YDQtdC60YDRi9Cy0LDQtdGC0YHRjyDRgSDQtNGA0YPQs9C40LzQuCDQsiDRgdC10LrRgtC+0YDQsNGFICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAi0J3QtdC40YHQv9C+0LvRjNC30YPQtdC80YvQuSDQv9GA0L7QvNC10LbRg9GC0L7QuiAtINGB0LXQutGC0L7RgNGLIDAtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY2IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICLQndC10LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5INC/0YDQvtC80LXQttGD0YLQvtC6IC0g0YHQtdC60YLQvtGA0YsgJXUtJXUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiIgorItCU0YDRg9Cz0LjQtSDRgNCw0LfQtNC10LvRiyDRg9C20LUg0L7RhdCy0LDRgtGL0LLQsNGO0YIg0LLQtdGB0Ywg0LTQuNGB0LouXG4iCisi0KPQtNCw0LvQuNGC0LUg0L3QtdC60L7RgtC+0YDRi9C1INC40LvQuCDRg9C80LXQvdGM0YjQuNGC0LUg0LjRhSDQv9C10YDQtdC0INC/0L7QstGC0L7RgNC90L7QuSDQv9C+0L/Ri9GC0LrQvtC5LlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTUxCittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICLQndCw0YHRgtC+0Y/RgtC10LvRjNC90L4g0YDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8sINGH0YLQvtCx0Ysg0YLRgNC10YLQuNC5INGA0LDQt9C00LXQuyDQvtGF0LLQsNGC0YvQstCw0Lsg0LLQtdGB0Ywg0LTQuNGB0Log0Lgg0LjQvNC10Lsg0YLQuNC/IGDQstC10YHRjCDQtNC40YHQuiciCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25pbmcgdGhlIGZpcnN0IHNlY3RvciBmcm9tICV1IHRvICV1IHRvIGJlIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAi0KHQtdC60YLQvtGAICVkINGD0LbQtSDQstGL0LTQtdC70LXQvSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyLQktGLINC90LUg0L7RhdCy0LDRgtC40LvQuCDQstC10YHRjCDQtNC40YHQuiAzLdC8INGA0LDQt9C00LXQu9C+0LwsINC90L4g0LLQsNGI0LUg0LfQvdCw0YfQtdC90LjQtVxuIgorIiVkICVzINC30LDRhdCy0LDRgtC40LvQviDQtNGA0YPQs9C+0Lkg0YDQsNC30LTQtdC7LiDQktCw0Ygg0L/Rg9C90LrRgiDQsdGL0Lsg0LjQt9C80LXQvdC10L1cbiIKKyLQvdCwICVkICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgItCV0YHQu9C4INCy0Ysg0YXQvtGC0LjRgtC1INC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgdC+0LLQvNC10YHRgtC40LzQvtGB0YLRjCDRgSBTdW5PUy9Tb2xhcmlzLCDQv9C+0YHRgtCw0YDQsNC50YLQtdGB0Ywg0L7RgdGC0LDQstC40YLRjCDRjdGC0L7RgiDRgNCw0LfQtNC10Lsg0LrQsNC6INCy0LXRgdGMIGRpc2sgKDUpLCDQvdCw0YfQuNC90LDRjyDRgSAwLCDRgSAldSDRgdC10LrRgtC+0YDQsNC80LgiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjMKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiSUQg0LzQtdGC0LrQuCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiSUQg0YLQvtC80LAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzgKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLQkNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C1INGG0LjQu9C40L3QtNGA0YsiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvRhSDRhtC40LvQuNC90LTRgNC+0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAi0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDRgdC10LrRgtC+0YDRiyDQvdCwINGG0LjQu9C40L3QtNGAIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgItCa0L7RjdGE0YTQuNGG0LjQtdC90YIg0YfQtdGA0LXQtNC+0LLQsNC90LjRjyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICLQodC60L7RgNC+0YHRgtGMINCy0YDQsNGJ0LXQvdC40Y8gKNC+0LEv0LzQuNC9KSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INGE0LjQt9C40YfQtdGB0LrQuNGFINGG0LjQu9C40L3QtNGA0L7QsiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyLQn9GA0LXQtNC70LDQs9Cw0LXRgtGB0Y8g0L7RgdGC0LDQstC40YLRjCDRgNCw0LfQtNC10LsgMyDQsiDQstC40LTQtSDRhtC10LvQvtCz0L4g0LTQuNGB0LrQsCAoNSksXG4iCisi0LrQsNC6INGC0L7Qs9C+INC+0LbQuNC00LDQtdGCIFN1bk9TL1NvbGFyaXMsINC4INC60L7RgtC+0YDRi9C5INCz0L7QtNC40YLRgdGPINC00LDQttC1INC00LvRjyBMaW51eC5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyLQndCw0YHRgtC+0Y/RgtC10LvRjNC90L4g0YDQtdC60L7QvNC10L3QtNGD0LXRgtGB0Y8sINGH0YLQvtCx0Ysg0YDQsNC30LTQtdC7INGB0L4g0YHQvNC10YnQtdC90LjQtdC8IDBcbiIKKyLQsdGL0Lsg0YEg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzQvtC5IFVGUywgRVhUMkZTINC40LvQuCDRgdCy0L7Qv9C+0LwgU3VuT1MuXG4iCisi0KDQsNC30LzQtdGJ0LXQvdC40LUg0L3QsCDQvdC10Lwg0YHQstC+0L/QsCBMaW51eCDQvNC+0LbQtdGCINGA0LDQt9GA0YPRiNC40YLRjCDQstCw0YjRgyDRgtCw0LHQu9C40YbRgyDRgNCw0LfQtNC10LvQvtCyXG4iCisi0Lgg0LfQsNCz0YDRg9C30L7Rh9C90YvQuSDQsdC70L7Qui4g0JLRiyDRg9Cy0LXRgNC10L3Riywg0YfRgtC+INGF0L7RgtC40YLQtSDQv9C+0LzQtdGC0LjRgtGMINGN0YLQvtGCINGA0LDQt9C00LXQuyDQutCw0LogTGludXgg0YHQstC+0L8/ICIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHQuYzoyMzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAi0LfQsNC/0YPRgdC6IHJlYWRsaW5rINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C90L46ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgIm1vdW50OiAlcyVzINC30LDRidC40YnQtdC9INC+0YIg0LfQsNC/0LjRgdC4LCDQvNC+0L3RgtC40YDRg9C10YLRgdGPINGC0L7Qu9GM0LrQviDQtNC70Y8g0YfRgtC10L3QuNGPIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICJtb3VudDogcHJvYyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAibW91bnQ6INC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0LggJXMg0LIgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAibW91bnQ6INC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0LggJXMg0LIgJXMg0LjQu9C4ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJzaHV0ZG93bjog0J3QtdCy0L7Qt9C80L7QttC90L4g0YDQsNC30LzQvtC90YLQuNGA0L7QstCw0YLRjCAlczogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiDQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLICclcyciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQt9Cw0LTQsNC90L4g0LjQvNGPINGE0LDQudC70LAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCAlcy5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdGLINGC0L7Rh9C60Lgg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICJtb3VudDog0YPRgdGC0LDQvdC+0LLQutCwINGD0YHRgtGA0L7QudGB0YLQstCwINC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuCDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LlcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICIlcyDQvdC1IGxwLdGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LfQsNC60YDRi9GC0YwgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibW91bnQ6INGC0L7Rh9C60LAg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgItC00L7RgdGC0YPQvyDQt9Cw0L/RgNC10YnQtdC9IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibW91bnQ6INC90LXQvtCx0YXQvtC00LjQvNC+INC40LzQtdGC0Ywg0L/RgNCw0LLQsCDRgdGD0L/QtdGA0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyBtb3VudCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICLRgtC+0YfQutCwINC80L7QvdGC0LjRgNC+0LLQsNC90LjRjyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0LjQu9C4ICVzINC30LDQvdGP0YIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0LjQu9C4ICVzINC30LDQvdGP0YIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiDRgtC+0YfQutCwINC80L7QvdGC0LjRgNC+0LLQsNC90LjRjyAlcyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJtb3VudDog0YLQvtGH0LrQsCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8gJXMg0Y/QstC70Y/QtdGC0YHRjyDRgdC40LzQstC+0LvQuNGH0LXRgdC60L7QuSDRgdGB0YvQu9C60L7QuSDQsiDQvdC40LrRg9C00LAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiDRgdC/0LXRhtC40LDQu9GM0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+ICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTYKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiDRgdC/0LXRhtC40LDQu9GM0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+ICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YJcbiIKKyIgICAgICAgKNC/0YDQtdGE0LjQutGBINC/0YPRgtC4INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwpXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzINGD0LbQtSDQvdC1INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9INC40LvQuCDQvdC10LLQtdGA0L3QsNGPINC+0L/RhtC40Y8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L3QtSDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvSDQuNC70Lgg0L3QtdCy0LXRgNC90LDRjyDQvtC/0YbQuNGPIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTMzCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcywgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCittc2dzdHIgIiIKKyJtb3VudDog0L3QtdCy0LXRgNC90YvQuSDRgtC40L8g0KTQoSwg0L3QtdCy0LXRgNC90LDRjyDQvtC/0YbQuNGPLCDQvdC10LLQtdGA0L3Ri9C5INGB0YPQv9C10YDQsdC70L7QulxuIgorIiAgICAgICDQvdCwICVzLCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCINC60L7QtNC+0LLQsNGPINGB0YLRgNCw0L3QuNGG0LAg0LjQu9C4INC00YDRg9Cz0LDRjyDQvtGI0LjQsdC60LAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICLRgtCw0LHQu9C40YbQsCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8g0LfQsNC/0L7Qu9C90LXQvdCwIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHRg9C/0LXRgNCx0LvQvtC6IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIm1vdW50OiDQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLICclcyciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiDQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLICclcyciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIm1vdW50OiAlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCwg0LAg0L7Qv9GA0LXQtNC10LvQtdC90LjQtSDRgdC+0YHRgtC+0Y/QvdC40Y8g0L3QtdCy0L7Qt9C80L7QttC90L4/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlOyBtYXliZSBcIm1vZHByb2JlIGRyaXZlclwiIGlzIG5lY2Vzc2FyeSIKK21zZ3N0ciAiIgorIm1vdW50OiDRj9C00YDQviDQvdC1INGA0LDRgdC/0L7Qt9C90LDQtdGCICVzINC60LDQuiDQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQvlxuIgorIiAgICAgICAo0LzQvtC20LXRgiDQsdGL0YLRjCBgaW5zbW9kIGRyaXZlcic/KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAibW91bnQ6ICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQsdC70L7Rh9C90YvQvCDRg9GB0YLRgNC+0LnRgdGC0LLQvtC8ICjQvNC+0LbQtdGCINC/0L7Qv9GA0L7QsdC+0LLQsNGC0YwgYC1vIGxvb3AnPykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJtb3VudDogJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINCx0LvQvtGH0L3Ri9C8INGD0YHRgtGA0L7QudGB0YLQstC+0LwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJtb3VudDogJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINCy0LXRgNC90YvQvCDQsdC70L7Rh9C90YvQvCDRg9GB0YLRgNC+0LnRgdGC0LLQvtC8IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIm1vdW50OiDQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDRgtGMICVzJXMg0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICJtb3VudDogJXMlcyDQt9Cw0YnQuNGJ0LXQvSDQvtGCINC30LDQv9C40YHQuCwg0L3QviDRj9Cy0L3QviDRg9C60LDQt9Cw0L0g0YTQu9Cw0LMgYC13JyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIm1vdW50OiDQvdC10LLQvtC30LzQvtC20L3QviDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDRgtGMICVzJXMg0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgItC/0L7QuNGB0Log0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0L3QsCAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDcyIGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudGVkIgorbXNnc3RyICIlczog0L3QtSDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAidW1vdW50OiAlczog0L3QtdCy0LXRgNC90L7QtSDQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAidW1vdW50OiAlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCDRgdGD0L/QtdGA0LHQu9C+0LoiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICJtb3VudDogJXMg0LfQsNC90Y/RgiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdGLINGC0L7Rh9C60Lgg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICJ1bW91bnQ6ICVzOiDQvdC10L7QsdGF0L7QtNC40LzQviDQuNC80LXRgtGMINC/0YDQsNCy0LAg0YHRg9C/0LXRgNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQtNC70Y8g0YDQsNC30LzQvtC90YLQuNGA0L7QstCw0L3QuNGPIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgInVtb3VudDogJXM6INCx0LvQvtGH0L3Ri9C1INGD0YHRgtGA0L7QudGB0YLQstCwINC90LAgZnMg0LfQsNC/0YDQtdGJ0LXQvdGLIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIndhaXRwaWQgZmFpbGVkICglcykiCittc2dzdHIgItCy0YvQv9C+0LvQvdC10L3QuNC1IHdhaXRwaWQg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5ICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7QsdGA0LDQsdC+0YLQsNGC0Ywg0YHQv9C40YHQvtC6INCm0J/QoyAlcyIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0Ywg0LrQvtC90YHQvtC70YwiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINGC0LDQudC8LdCw0YPRgiDQtNC70Y8gJXM6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINC60L7QvdGB0L7Qu9GMIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0LXRgNC10LzQvtGC0LDRgtGMINGD0YHRgtGA0L7QudGB0YLQstC+INC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LTQvtC/0YPRgdGC0LjQvNGL0Lwg0YHQstC+0L8t0YDQsNC30LTQtdC70L7QvCIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiVzOiDQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80LDRjyDQstC10YDRgdC40Y8g0YHQstC+0L8gJyVzJyIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAiIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgItCX0L3QsNGH0LXQvdC40LUg0LfQsCDQv9GA0LXQtNC10LvQsNC80Lgg0LTQuNCw0L/QsNC30L7QvdCwLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgItCY0LfQvNC10L3QtdC90LjQtSDQuNC90YTQvtGA0LzQsNGG0LjQuCBmaW5nZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDIKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAg0L3QsNGB0YLQvtGP0YnQtdC1INC40LzRj1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICDQvdC+0LzQtdGAINC60LDQsdC40L3QtdGC0LBcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAg0YLQtdC70LXRhNC+0L3QvdGL0Lkg0L3QvtC80LXRgCDQutCw0LHQuNC90LXRgtCwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICDQtNC+0LzQsNGI0L3QuNC5INC90L7QvNC10YAg0YLQtdC70LXRhNC+0L3QsFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICLQv9C+0LvQtSAlcyDRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90L7QtSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczog0LjQvNC10Y7RgtGB0Y8g0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C1INGB0LjQvNCy0L7Qu9GLIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAi0JrQsNCx0LjQvdC10YIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICLQotC10LvQtdGE0L7QvSDQsiDQutCw0LHQuNC90LXRgtC1IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzYgbG9naW4tdXRpbHMvY2hmbi5jOjMzMAorbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgItCU0L7QvNCw0YjQvdC40Lkg0YLQtdC70LXRhNC+0L0iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxOTQgbG9naW4tdXRpbHMvY2hzaC5jOjE4NworbXNnaWQgImNhbm5vdCBoYW5kbGUgbXVsdGlwbGUgdXNlcm5hbWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoyNDgKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAi0J/RgNC10YDQstCw0L0uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgItCY0L3RhNC+0YDQvNCw0YbQuNGPIGZpbmdlciAq0J3QlSog0LjQt9C80LXQvdC10L3QsC4g0J/QvtC/0YDQvtCx0YPQudGC0LUg0LXRidC1INGA0LDQtyDQv9C+0L/QvtC30LbQtS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAi0JjQvdGE0L7RgNC80LDRhtC40Y8gZmluZ2VyINC40LfQvNC10L3QtdC90LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAi0LLRiyAo0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMICVkKSDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGC0LUuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAi0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMIFwiJXNcIiDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNyBsb2dpbi11dGlscy9jaHNoLmM6Mjg0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgItC80L7QttC90L4g0YLQvtC70YzQutC+INC40LfQvNC10L3QuNGC0Ywg0LvQvtC60LDQu9GM0L3Ri9C1INGN0LvQtdC80LXQvdGC0YsiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9INC00LvRjyDQuNC30LzQtdC90LXQvdC40Y8gZmluZ2VyLdC40L3RhNC+0YDQvNCw0YbQuNC4INC+0LEgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIgbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICLQndC10LjQt9Cy0LXRgdGC0L3Ri9C5INC60L7QvdGC0LXQutGB0YIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0ZHRgtGB0Y8g0LfQsNC00LDRgtGMINC60L7QvdGC0LXQutGB0YIg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0LTQu9GPICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiDQl9Cw0L/Rg9GJ0LXQvdC90YvQuSBVSUQg0L3QtSDRgdC+0LLQv9Cw0LTQsNC10YIg0YEgVUlEJ9C+0Lwg0YDQtdC00LDQutGC0LjRgNGD0LXQvNC+0LPQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8sINC40LfQvNC10L3QtdC90LjQtSDRiNC10LvQu9CwINC30LDQv9GA0LXRidC10L3QvlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgItCY0LfQvNC10L3QtdC90LjQtSDQuNC90YTQvtGA0LzQsNGG0LjQuCBmaW5nZXIg0LTQu9GPICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAi0JjQvdGE0L7RgNC80LDRhtC40Y8gZmluZ2VyINC90LUg0LjQt9C80LXQvdC10L3QsC5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3Cittc2dpZCAiQ2hhbmdlIHlvdXIgbG9naW4gc2hlbGwuXG4iCittc2dzdHIgItCY0LfQvNC10L3QtdC90LjQtSDRiNC10LvQu9CwINC00LvRjyDQstGF0L7QtNCwLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODAKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAg0YPQutCw0LfQsNGC0Ywg0YjQtdC70Lsg0LTQu9GPINCy0YXQvtC00LBcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICDQstGL0LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YjQtdC70LvQvtCyINC4INCy0YvQudGC0LhcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAi0YjQtdC70Lsg0LTQvtC70LbQtdC9INCx0YvRgtGMINC/0L7Qu9C90YvQvCDRgdC+0YHRgtCw0LLQvdGL0Lwg0LjQvNC10L3QtdC8IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiXCIlc1wiINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICJcIiVzXCIg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC40YHQv9C+0LvQvdGP0LXQvNGL0LwiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuIgorbXNnc3RyICLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiBcIiVzXCIg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQsiDRgdC/0LjRgdC60LUgJXMuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKyJcIiVzXCIg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQsiDRgdC/0LjRgdC60LUgJXMuXG4iCisi0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSAlcyAtbCDQtNC70Y8g0L/RgNC+0YHQvNC+0YLRgNCwINGB0L/QuNGB0LrQsC4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMg0L3QtSDQsNCy0YLQvtGA0LjQt9C+0LLQsNC9INC00LvRjyDQuNC30LzQtdC90LXQvdC40Y8g0YjQtdC70LvQsCAlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgItCX0LDQv9GD0YnQtdC90L3Ri9C5IFVJRCDQvdC1INGB0L7QstC/0LDQtNCw0LXRgiDRgSBVSUQn0L7QvCDRgNC10LTQsNC60YLQuNGA0YPQtdC80L7Qs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjywg0LjQt9C80LXQvdC10L3QuNC1INGI0LXQu9C70LAg0LfQsNC/0YDQtdGJ0LXQvdC+IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLQktCw0Ygg0YjQtdC70Lsg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQsiAlcywg0LjQt9C80LXQvdC10L3QuNC1INGI0LXQu9C70LAg0LfQsNC/0YDQtdGJ0LXQvdC+IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAi0JjQt9C80LXQvdC10L3QuNC1INGI0LXQu9C70LAg0LTQu9GPICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICLQndC+0LLRi9C5INGI0LXQu9C7IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICLQqNC10LvQuyDQvdC1INC40LfQvNC10L3RkdC9LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICLQqNC10LvQuyAq0J3QlSog0LjQt9C80LXQvdGR0L0uINCf0L7Qv9GA0L7QsdGD0LnRgtC1INC10YnQtSDRgNCw0Lcg0L/QvtC/0L7Qt9C20LUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAi0KjQtdC70LsgKtCd0JUqINC40LfQvNC10L3RkdC9LiDQn9C+0L/RgNC+0LHRg9C50YLQtSDQtdGJ0LUg0YDQsNC3INC/0L7Qv9C+0LfQttC1LlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgItCo0LXQu9C7INC40LfQvNC10L3RkdC9LlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIiVzOiDRhNCw0LnQuyDQv9Cw0YDQvtC70LXQuSDQt9Cw0L3Rj9GCLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTY5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIxNyBzeXMtdXRpbHMvZG1lc2cuYzoxMjY5CisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdGL0Lkg0YTQvtGA0LzQsNGCINCy0YDQtdC80LXQvdC4OiAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjI3NiBsb2dpbi11dGlscy9sYXN0LmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICLQn9GA0LXRgNCy0LDQvSAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMg0L/RgNC+0LPRgNCw0LzQvNCwIFvQsNGA0LPRg9C80LXQvdGCIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtGMINGB0L/QuNGB0L7QuiDQv9C+0YHQu9C10LTQvdC40YUg0LLRhdC+0LTQuNCy0YjQuNGFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc4Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC08bnVtYmVyPiAgICAgICAgICAgINCy0YvQstC+0LTQuNC80L7QtSDRh9C40YHQu9C+INGB0YLRgNC+0LpcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgINC+0YLQvtCx0YDQsNC30LjRgtGMINC40LzQtdC90LAg0YXQvtGB0YLQvtCyINCyINC/0L7RgdC70LXQtNC90LXQuSDQutC+0LvQvtC90LrQtVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiAtZCwgLS1kbnMgICAgICAgICAgICDQv9C10YDQtdCy0LXRgdGC0LggSVAt0LDQtNGA0LXRgSDQvtCx0YDQsNGC0L3QviDQsiDQuNC80Y8g0YXQvtGB0YLQsFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0YTQsNC50Lsg0LLQvNC10YHRgtC+ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDxudW1iZXI+INC60L7Qu9C40YfQtdGB0YLQstC+INC+0YLQvtCx0YDQsNC20LDQtdC80YvRhSDRgdGC0YDQvtC6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXMsIC0tc2luY2UgPHRpbWU+ICAg0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0YHRgtGA0L7QutC4INC90LDRh9C40L3QsNGPINGBINGD0LrQsNC30LDQvdC90L7Qs9C+INCy0YDQtdC80LXQvdC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8dGltZT4gICDQvtGC0L7QsdGA0LDQttCw0YLRjCDRgdGC0YDQvtC60Lgg0LTQviDRg9C60LDQt9Cw0L3QvdC+0LPQviDQstGA0LXQvNC10L3QuFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlcyDQvdCw0YfQsNC70YHRjyAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0L3QvtC80LXRgCIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk5MyBsb2dpbi11dGlscy9sYXN0LmM6OTk4IGxvZ2luLXV0aWxzL2xhc3QuYzoxMDAzCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LLRgNC10LzQtdC90Lg6ICclcyciCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgItC+0YjQuNCx0LrQsCDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuCBsaWJ1c2VyOiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQuNC30LzQtdC90LjRgtGMINCw0YLRgNC40LHRg9GC0Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICLQsNGC0YDQuNCx0YPRgtGLINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQvdC1INC40LfQvNC10L3QtdC90Ys6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgItCk0JDQotCQ0JvQrNCd0JDQryDQntCo0JjQkdCa0JA6INC90LUg0YPQtNCw0ZHRgtGB0Y8g0L/QvtCy0YLQvtGA0L3QviDQvtGC0LrRgNGL0YLRjCB0dHk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgItCk0JDQotCQ0JvQrNCd0JDQryDQntCo0JjQkdCa0JA6ICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgtC10YDQvNC40L3QsNC70L7QvCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0L7RiNC40LHQutCwIGNob3duICglcywgJWx1LCAlbHUpOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0L7RiNC40LHQutCwIGNobW9kICglcywgJXUpOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAi0KTQkNCi0JDQm9Cs0J3QkNCvINCe0KjQmNCR0JrQkDog0L3QtdCy0LXRgNC90YvQuSB0dHkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgItCk0JDQotCQ0JvQrNCd0JDQryDQntCo0JjQkdCa0JA6ICVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC40LfQvNC10L3QuNGC0Ywg0YDQsNC30YDQtdGI0LXQvdC40Y86ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAi0J/QvtGB0LvQtdC00L3QuNC5INCy0YXQvtC0INCyINGB0LjRgdGC0LXQvNGDOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgItC40LcgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgItCyICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgItCe0YLQutGA0YvRgtC40LUgJXMg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIkRJQUxVUCDQndCQICVzINCn0JXQoNCV0JcgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAi0JLQpdCe0JQgUk9PVCDQkiAlcyDQoSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAi0JLQpdCe0JQgUk9PVCDQkiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAi0JLQpdCe0JQg0JIgJXMg0KfQldCg0JXQlyAlcyDQmNCXICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAi0JLQpdCe0JQg0JIgJXMg0KfQldCg0JXQlyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICLQu9C+0LPQuNC9OiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgItGB0LHQvtC5IFBBTSwg0LLRi9C/0L7Qu9C90Y/QtdGC0YHRjyDQv9GA0LXRgNGL0LLQsNC90LjQtTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0YwgUEFNOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi0KHQkdCe0Jkg0JLQpdCe0JTQkCAldSDQmNCXICVzINCU0JvQryAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzk3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCd0LXQstC10YDQvdGL0Lkg0LvQvtCz0LjQvVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi0KHQm9CY0KjQmtCe0Jwg0JzQndCe0JPQniDQn9Ce0J/Qq9Ci0J7QmiDQktCl0J7QlNCQICgldSkg0JjQlyAlcyDQlNCb0K8gJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgItCh0JHQntCZINCh0JXQodCh0JjQmCDQktCl0J7QlNCQINCY0JcgJXMg0JTQm9CvICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisi0J3QtdCy0LXRgNC90YvQuSDQu9C+0LPQuNC9XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MSBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9GA0L7QsdC70LXQvNCwINC90LDRgdGC0YDQvtC50LrQuCDRgdC10LDQvdGB0LAuINCf0YDQtdGA0YvQstCw0L3QuNC1LiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAi0J/Qo9Ch0KLQntCVINC40LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8g0LIgJXM6JWQuINCf0YDQtdGA0YvQstCw0L3QuNC1LiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiBsb2dpbiBbLXBdIFstaCA80LrQvtC80L/RjNGO0YLQtdGAPl0gW1stZl0gPNC40LzRj1/Qv9C+0LvRjNC30L7QstCw0YLQtdC70Y8+XVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDAKKyMsIGZ1enp5Cittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgItCS0Ysg0LjRgdC/0L7Qu9GM0LfRg9C10YLQtSDRgtC10L3QtdCy0YvQtSDQv9Cw0YDQvtC70Lgg0L3QsCDRjdGC0L7QuSDRgdC40YHRgtC10LzQtS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAtZiAgICAgICAgICAg0L3QtSDRgNCw0LfQsdC40LLQsNGC0Ywg0LTQu9C40L3QvdGL0LUg0YHRgtGA0L7QutC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNAorbXNnaWQgIiAtZiAgICAgICAgICAgICBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNQorbXNnaWQgIiAtaCA8aG9zdD4gICAgICBob3N0bmFtZSB0byBiZSB1c2VkIGZvciB1dG1wIGxvZ2dpbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA2Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgItC40YHRgtC10LrQu9C+INCy0YDQtdC80Y8g0L7QttC40LTQsNC90LjRjyDQsiAldSDRgdC10LrRg9C90LQiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCDRgtC+0LvRjNC60L4g0LTQu9GPINGB0YPQv9C10YDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y9cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICLQndC10LLQtdGA0L3QvtC1INC40LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8gXCIlc1wiINCyICVzOiVkLiDQn9GA0LXRgNGL0LLQsNC90LjQtS4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAi0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40Y8g0LPRgNGD0L/QvyDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10Lk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgItC+0YjQuNCx0LrQsCBzZXRnaWQoKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICLQktCw0Lwg0L3QvtCy0L7QtSDQv9C40YHRjNC80L4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICLQktCw0Lwg0L/QuNGB0YzQvNC+LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzQKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QtdGA0LXQudGC0Lgg0LIg0LrQsNGC0LDQu9C+0LMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgItCS0YXQvtC0INCyINGB0LjRgdGC0LXQvNGDINGBINC00L7QvNCw0YjQvdC40Lwg0LrQsNGC0LDQu9C+0LPQvtC8ID0gXCIvXCIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3NgorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINCy0YvQv9C+0LvQvdC40YLRjCDRiNC10LvQuy3RgdC60YDQuNC/0YIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3OAorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICLQvdC10YIg0YjQtdC70LvQsCIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyDRgdC+0LTQtdGA0LbQuNGCINC90LXQtNC+0L/Rg9GB0YLQuNC80L7QtSDRh9C40YHQu9C+0LLQvtC1INC30L3QsNGH0LXQvdC40LU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgItC90LXRgiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAi0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKK21zZ2lkICJVc2VybmFtZSIKK21zZ3N0ciAi0JjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAi0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAi0L/QsNGA0L7Qu9GMINC90LUg0YLRgNC10LHRg9C10YLRgdGPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAi0J/QsNGA0L7Qu9GMINC90LUg0YLRgNC10LHRg9C10YLRgdGPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgImxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICLQstGF0L7QtCDQv9C+INC/0LDRgNC+0LvRjiDQvtGC0LrQu9GO0YfQtdC9IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICLQktGF0L7QtCDQv9C+INC/0LDRgNC+0LvRjiDQvtGC0LrQu9GO0YfQtdC9IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJQYXNzd29yZCBpcyBsb2NrZWQiCittc2dzdHIgItCf0LDRgNC+0LvRjCDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAi0J3QtdGCIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAi0LjQvNGPINC/0LXRgNCy0LjRh9C90L7QuSDQs9GA0YPQv9C/0YsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAiUHJpbWFyeSBncm91cCIKK21zZ3N0ciAi0J7RgdC90L7QstC90LDRjyDQs9GA0YPQv9C/0LAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiSUQg0L/QtdGA0LLQuNGH0L3QvtC5INCz0YDRg9C/0L/RiyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICLQuNC80LXQvdCwINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0YUg0LPRgNGD0L/QvyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAi0JTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvQtSDQs9GA0YPQv9C/0YsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGL0YUg0LPRgNGD0L/QvyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSUQg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQs9GA0YPQv9C/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICLQtNC+0LzQsNGI0L3QuNC5INC60LDRgtCw0LvQvtCzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICLQlNC+0LzQsNGI0L3QuNC5INC60LDRgtCw0LvQvtCzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICLQutC+0LzQsNC90LTQvdGL0Lkg0L/RgNC+0YbQtdGB0YHQvtGAIGxvZ2luIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICLQmtC+0LzQsNC90LTQvdGL0Lkg0L/RgNC+0YbQtdGB0YHQvtGAIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICLQv9C+0LvQvdC+0LUg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgImRhdGUgb2YgbGFzdCBsb2dpbiIKK21zZ3N0ciAi0LTQsNGC0LAg0L/QvtGB0LvQtdC00L3QtdCz0L4g0LLRhdC+0LTQsCDQsiDRgdC40YHRgtC10LzRgyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICLQn9C+0YHQu9C10LTQvdC40Lkg0LLRhdC+0LQg0LIg0YHQuNGB0YLQtdC80YMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAi0L/QvtGB0LvQtdC00L3QuNC5INC40YHQv9C+0LvRjNC30L7QstCw0L3QvdGL0Lkg0YLQtdGA0LzQuNC90LDQuyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICLQmNC80Y8g0L/QvtGB0LvQtdC00L3QtdCz0L4g0LrQvtC80L/RjNGO0YLQtdGA0LAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi0LTQsNGC0LAg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L3QtdGD0LTQsNGH0L3QvtCz0L4g0LLRhdC+0LTQsCDQsiDRgdC40YHRgtC10LzRgyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgItCd0LXRg9C00LDRh9C90YvQuSDQstGF0L7QtCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INC00L3QtdC5LNC30LAg0LrQvtGC0L7RgNGL0LUg0L/RgNC10LTRg9C/0YDQtdC20LTQsNGC0Ywg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPINC+0LEg0LjRgdGC0LXRh9C10L3QuNC4INGB0YDQvtC60LAg0LTQtdC50YHRgtCy0LjRjyDQv9Cw0YDQvtC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICLQmNC90YLQtdGA0LLQsNC7INC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40Y8g0L7QsSDQuNGB0YLQtdGH0LXQvdC40Lgg0YHRgNC+0LrQsCDQtNC10LnRgdGC0LLQuNGPINC/0LDRgNC+0LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgItC00LDRgtCwINC40YHRgtC10YfQtdC90LjQtSDRgdGA0L7QutCwINC00LXQudGB0YLQstC40Y8g0L/QsNGA0L7Qu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgItCh0YDQvtC6INC00LXQudGB0YLQstC40Y8g0L/QsNGA0L7Qu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgItC00LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDRgdC80LXQvdGLINC/0LDRgNC+0LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICLQn9Cw0YDQvtC70Ywg0LjQt9C80LXQvdGR0L0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICLRgtGA0LXQsdGD0LXQvNC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LTQvdC10Lkg0LzQtdC20LTRgyDQuNC30LzQtdC90LXQvdC40Y/QvNC4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGRheXMgYSBwYXNzd29yZCBtYXkgcmVtYWluIHVuY2hhbmdlZCIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INGH0LjRgdC70L4g0LTQvdC10LksINCyINGC0LXRh9C10L3QuNC1INC60L7RgtC+0YDRi9GFINC/0LDRgNC+0LvRjCDQvNC+0LbQtdGCINC90LUg0LzQtdC90Y/RgtGM0YHRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICLQutC+0L3RgtC10LrRgdGCINCx0LXQt9C+0L/QsNGB0L3QvtGB0YLQuCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICLQmtC+0L3RgtC10LrRgdGCIFNlbGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INC/0YDQvtGG0LXRgdGB0L7Qsiwg0LrQvtGC0L7RgNGL0LUg0LfQsNC/0YPRgdGC0LjQuyDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgItCX0LDQv9GD0YnQtdC90L3Ri9C1INC/0YDQvtGG0LXRgdGB0YsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjQxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQgc3lzLXV0aWxzL2xzbWVtLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgItGD0LrQsNC30LDQvdC+INGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0L/QvtC70LXQuSwg0L7Qs9GA0LDQvdC40YfQtdC90LjQtSAtICV6dSDQv9C+0LvQtdC5IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INGC0LjQvyDQstGA0LXQvNC10L3QuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9C1INCz0YDRg9C/0L/RiyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICLQstC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LA6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YHRgtC+0LvQsdC10YYiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QvtGB0LvQtdC00L3QuNC1INCy0YXQvtC00Ysg0LIg0YHQuNGB0YLQtdC80YM6XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyNiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5NSBtaXNjLXV0aWxzL21jb29raWUuYzo4MyBtaXNjLXV0aWxzL3V1aWRkLmM6NjIKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI2IHN5cy11dGlscy9kbWVzZy5jOjI2NiBzeXMtdXRpbHMvaXBjbWsuYzo2NworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMCBzeXMtdXRpbHMvbHNpcGMuYzoyNzggc3lzLXV0aWxzL2xzbWVtLmM6NDk2CisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzkKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINC40LfQstC10YHRgtC90YvRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y/RhSDRgdC40YHRgtC10LzRiy5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICDQstGL0LLQtdGB0YLQuCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQvtCxINC40YHRgtC10YfQtdC90LjQuCDRgdGA0L7QutCwINC00LXQudGB0YLQstC40Y8g0L/QsNGA0L7Qu9C10LlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMzCittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgINCy0YvQstC10YHRgtC4INC00LDQvdC90YvQtSDQsiDRhNC+0YDQvNCw0YLQtSDRgdGF0L7QttC10Lwg0YEg0YTQvtGA0LzQsNGC0L7QvCDRhNCw0LnQu9CwIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgINCy0YvQstC10YHRgtC4INCyINGE0L7RgNC80LDRgtC1INC00LvRjyDRjdC60YHQv9C+0YDRgtC40YDQvtCy0LDQvdC40Y8g0LTQsNC90L3Ri9GFXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAg0LLRi9Cy0LXRgdGC0Lgg0LTQsNC90L3Ri9C1INC/0L4g0L/QvtGB0LvQtdC00L3QuNC8INC90LXRg9C00LDRh9C90YvQvCDQstGF0L7QtNCw0Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LlcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgINCy0YvQstC10YHRgtC4INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCz0YDRg9C/0L/QsNGFXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTzQs9GA0YPQv9C/0Ys+ICAgINCy0YvQstC10YHRgtC4INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvQtdC5LCDQstGF0L7QtNGP0YnQuNGFINCyINCz0YDRg9C/0L/RgyDQuNC3IDzQs9GA0YPQv9C/0Ys+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0L/QvtGB0LvQtdC00L3QtdC8INCy0YXQvtC00LUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICDQstGL0LLQtdGB0YLQuCDRgtC+0LvRjNC60L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10Lkg0LjQtyA8bG9naW5zPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgINCy0YvQstC+0LTQuNGC0Ywg0LrQsNC20LTRi9C5INCx0LvQvtC6INC40L3RhNC+0YDQvNCw0YbQuNC4INGBINC90L7QstC+0Lkg0YHRgtGA0L7QutC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgINC+0L/RgNC10LTQtdC70LjRgtGMINCy0YvQstC+0LTQuNC80YvQtSDRgdGC0L7Qu9Cx0YbRi1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICDQstGL0LLQtdGB0YLQuCDQuNC90YTQvtGA0LzQsNGG0LjRjiwg0YHQstGP0LfQsNC90L3Rg9GOINGB0L4g0LLRhdC+0LTQvtC8INC/0L4g0L/QsNGA0L7Qu9GOLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDUgc3lzLXV0aWxzL2xzaXBjLmM6MzAzCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAg0L7RgtC+0LHRgNCw0LfQuNGC0Ywg0LIg0YTQvtGA0LzQsNGC0LUg0YHRi9GA0YvRhSDQtNCw0L3QvdGL0YVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgINCy0YvQstC10YHRgtC4INGB0LjRgdGC0LXQvNC90YvRhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiDQstGL0LLQtdGB0YLQuCDQtNCw0YLRiyDQsiDQutC+0YDQvtGC0LrQvtC8LCDQv9C+0LvQvdC+0Lwg0YTQvtGA0LzQsNGC0LUg0LjQu9C4INGE0L7RgNC80LDRgtC1IGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgINC+0YLQvtCx0YDQsNC30LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNC1INCw0LrQutCw0YPQvdGC0YtcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINC60L7QvdGC0LXQutGB0YIgU0VMaW51eFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAteiwgLS1wcmludDAgICAgICAgICAgICAg0YDQsNC30LPRgNCw0L3QuNGH0LjRgtGMINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNC1INC00LDQvdC90YvQtSDQvdGD0LvRjC3RgdC40LzQstC+0LvQvtC8XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAg0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L/Rg9GC0Ywg0LTQu9GPIHd0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICDRg9GB0YLQsNC90L7QstC40YLRjCDQv9GD0YLRjCDQtNC70Y8gd3RtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQv9GA0L7RgdC40YLRjCDRgdC+0YHRgtC+0Y/QvdC40LUgc2VsaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgItCc0L7QttC10YIg0LHRi9GC0Ywg0YPQutCw0LfQsNC9INGC0L7Qu9GM0LrQviDQvtC00LjQvSDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwuINCY0YHQv9C+0LvRjNC30YPQudGC0LUgLWwg0LTQu9GPINGD0LrQsNC30LDQvdC40Y8g0L3QtdGB0LrQvtC70YzQutC40YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRg9GB0YLQsNC90L7QstC40YLRjCDQsNGC0YDQuNCx0YPRgtGLINGC0LXRgNC80LjQvdCw0LvQsCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LLRi9C30L7QstCwIGdldGxpbmUoKSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAi0J/QsNGA0L7Qu9GMOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICLRiNC40YTRgNC+0LLQsNC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPNCz0YDRg9C/0L/QsD5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworbXNnaWQgIndobyBhcmUgeW91PyIKK21zZ3N0ciAi0LrRgtC+INCy0Ys/IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTcgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI5IHN5cy11dGlscy9uc2VudGVyLmM6NDc0Cittc2dpZCAic2V0Z2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjQKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICLQvdC10YIg0YLQsNC60L7QuSDQs9GA0YPQv9C/0YsuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzYKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICLQrdGC0LAg0YPRh9C10YLQvdCw0Y8g0LfQsNC/0LjRgdGMINCyINC00LDQvdC90YvQuSDQvNC+0LzQtdC90YIg0L3QtdC00L7RgdGC0YPQv9C90LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjIyNAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg4IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICLQvdC1INC80L7Qs9GDINC30LDQsdC70L7QutC40YDQvtCy0LDRgtGMINGB0LjQs9C90LDQu9GLIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAi0L7RiNC40LHQutCwIHBvbGwoKSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjcwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBtb2RpZnkgZW52aXJvbm1lbnQiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgItC90LUg0LzQvtC20LXRgiDQsdGL0YLRjCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90L4g0L3QtSDRgdGD0L/QtdGA0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GP0LzQuCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzMwCittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5INC/0LDRgNC+0LvRjCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICLQvdC1INC80L7Qs9GDINC+0YLQutGA0YvRgtGMINGB0LXRgdGB0LjRjjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc4NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayIKK21zZ3N0ciAi0L3QtSDQvNC+0LPRgyDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0YLRjCDRgdC40LPQvdCw0LvRiyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINC+0LHRgNCw0LHQvtGC0YfQuNC6INGB0LjQs9C90LDQu9CwIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L7QsdGA0LDQsdC+0YLRh9C40Log0YHQuNCz0L3QsNC70LAiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgxMworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBtYXNrIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDQvtCx0YDQsNCx0L7RgtGH0LjQuiDRgdC40LPQvdCw0LvQsCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICLQvdC1INC80L7Qs9GDINGB0L7Qt9C00LDRgtGMINC00L7Rh9C10YDQvdC40Lkg0L/RgNC+0YbQtdGB0YEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi0L3QtSDQvNC+0LPRgyDRgdC80LXQvdC40YLRjCDQutCw0YLQsNC70L7QsyDQvdCwICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorItCh0LXRgdGB0LjRjyDQt9Cw0LLQtdGA0YjQtdC90LAsINC30LDQstC10YDRiNC10L3QuNC1INGA0LDQsdC+0YLRiyDRiNC10LvQu9CwLi4uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIC4uLtC30LDQstC10YDRiNC10L0uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICLQvdC1INC80L7QsyDQt9Cw0LTQsNGC0Ywg0LPRgNGD0L/Qv9GLIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdXNlciBjcmVkZW50aWFsczogJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjIgc3lzLXV0aWxzL2VqZWN0LmM6NjYwCittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAi0L3QtSDQvNC+0LMg0LfQsNC00LDRgtGMIElEINCz0YDRg9C/0L/RiyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgItC90LUg0LzQvtCzINC30LDQtNCw0YLRjCBJRCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MworbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAg0YPQutCw0LfQsNGC0Ywg0L/QtdGA0LLQuNGH0L3Rg9GOINCz0YDRg9C/0L/Rg1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgINGD0LrQsNC30LDRgtGMINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGD0Y4g0LPRgNGD0L/Qv9GDXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTkKK21zZ2lkICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAg0J/RgNC+0LLQtdGA0LrQsCDQstC10YDRgdC40LggZ2V0b3B0KDEpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgICAgcnVuIDxzaGVsbD4gaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCittc2dzdHIgIiAgLXMsIC0tc2hlbGw90YjQtdC70LsgICAgICAgICAgICAg0KPRgdGC0LDQvdC+0LLQutCwINGD0YHQu9C+0LLQuNC5INC30LDQutC7LiDQsiDQutCw0LLRi9GH0LrQuCDQtNC70Y8g0YjQtdC70LvQsFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIG5ldyBwc2V1ZG8tdGVybWluYWxcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICDQv9Cw0YDQsNC80LXRgtGA0YtcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiBta2ZzIFstVl0gWy10INGC0LjQv1/RhNGBXSBb0L7Qv9GG0LjQuF/RhNGBXSDRg9GB0YLRgNC+0LnRgdGC0LLQviBb0YDQsNC30LzQtdGAXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQl9Cw0L/Rg9GB0YLQuNGC0YwgPGNvbW1hbmQ+INC+0YIg0LjQvNC10L3QuCDRgtC10LrRg9GJ0LXQs9C+INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQuCDQs9GA0YPQv9C/0Ysg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIDx1c2VyPi4g0JXRgdC70LhcbiIKKyItdSDQvdC1INC30LDQtNCw0L0sINCy0LXRgNC90YPRgtGM0YHRjyDQuiBzdSgxKS3RgdC+0LLQvNC10YHRgtC40LzQvtC80YMg0LfQvdCw0YfQtdC90LjRjiDQuCDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDRiNC10LvQuy5cbiIKKyLQn9Cw0YDQsNC80LXRgtGA0YsgLWMsIC1mLCAtbCDQuCAtcyDRj9Cy0LvRj9GO0YLRgdGPINCy0LfQsNC40LzQvtC40YHQutC70Y7RidCw0Y7RidC40LzQuCDRgSAtdS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEyMworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAg0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRj1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICLRg9C60LDQt9Cw0L3QuNC1INCx0L7Qu9C10LUsINGH0LXQvCAlZCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3QvtC5INCz0YDRg9C/0L/RiyDQvdC10LLQvtC30LzQvtC20L3QviIKK21zZ3N0clsxXSAi0YPQutCw0LfQsNC90LjQtSDQsdC+0LvQtdC1LCDRh9C10LwgJWQg0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90YvRhSDQs9GA0YPQv9C/INC90LXQstC+0LfQvNC+0LbQvdC+IgorbXNnc3RyWzJdICLRg9C60LDQt9Cw0L3QuNC1INCx0L7Qu9C10LUsINGH0LXQvCAlZCDQtNC+0L/QvtC70L3QuNGC0LXQu9GM0L3Ri9GFINCz0YDRg9C/0L8g0L3QtdCy0L7Qt9C80L7QttC90L4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgItCz0YDRg9C/0L/QsCAlcyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCisjLCBmdXp6eQorbXNnaWQgIi0tcHR5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8g0L3QsCDQstCw0YjQtdC5INGB0LjRgdGC0LXQvNC1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNGLIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59INC4IC0tdXNlciAtINCy0LfQsNC40LzQvtC40YHQutC70Y7Rh9Cw0Y7RidC40LUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0YPQutCw0LfQsNC90LAg0LrQvtC80LDQvdC00LAiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMICVzINC90LUg0YHRg9GJ0LXRgdGC0LLRg9C10YIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQvdC1INC80L7Qs9GDINC/0L7QvNC10L3Rj9GC0Ywg0LrQsNGC0LDQu9C+0LMg0L3QsCAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorIywgZnV6enkKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICIo0KHQu9C10LTRg9GO0YnQuNC5INGE0LDQudC7OiAlcykiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiKNCh0LvQtdC00YPRjtGJ0LjQuSDRhNCw0LnQuzogJXMpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6INC90LUg0L7RgtC60YDRi9GCINC00LvRjyDRh9GC0LXQvdC40Y8v0LfQsNC/0LjRgdC4IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiDQvdC1INC+0YLQutGA0YvRgiDQtNC70Y8g0YfRgtC10L3QuNGPL9C30LDQv9C40YHQuCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6INGE0LDQudC7INC/0LDRgNC+0LvQtdC5INC30LDQvdGP0YIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICLQlNC70Y8g0LLRhdC+0LTQsCDQstCy0LXQtNC40YLQtSDQv9Cw0YDQvtC70Ywgcm9vdDogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICLQndCw0LbQvNC40YLQtSBFbnRlciDQtNC70Y8g0LLRhdC+0LTQsCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgItCU0LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPINCy0LLQtdC00LjRgtC1INC/0LDRgNC+0LvRjCByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgItCU0LvRjyDQv9GA0L7QtNC+0LvQttC10L3QuNGPINC90LDQttC80LjRgtC1IEVudGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKNC40LvQuCDQvdCw0LbQvNC40YLQtSBDb250cm9sLUQg0LTQu9GPINC/0YDQvtC00L7Qu9C20LXQvdC40Y8pOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzMKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC80LXQvdC40YLRjCDQtNC40YDQtdC60YLQvtGA0LjRjiDQvdCwINC60L7RgNC90LXQstGD0Y4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3ODIKK21zZ2lkICJzZXRleGVjY29uIGZhaWxlZCIKK21zZ3N0ciAi0LLRi9C/0L7Qu9C90LXQvdC40LUgc2V0ZXhlY2NvbiDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICLQntC00L3QvtC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjNGB0LrQuNC5INCy0YXQvtC0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA5Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgINC30LDQv9GD0YHQuiDRiNC10LvQu9CwINC00LvRjyDQstGF0L7QtNCwXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICDQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LLRgNC10LzRjyDQvtC20LjQtNCw0L3QuNGPINCy0LLQvtC00LAg0L/QsNGA0L7Qu9GPICjQv9C+INGD0LzQvtC70YfQsNC90LjRjiAtINCx0LXQtyDQvtCz0YDQsNC90LjRh9C10L3QuNGPKVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAg0L/RgNC+0YfQuNGC0LDRgtGMINGE0LDQudC70YsgcGFzc3dvcmQg0L3QtdC/0L7RgdGA0LXQtNGB0YLQstC10L3QvdC+INC10YHQu9C4IGdldHB3bmFtKDMpINC30LDQstC10YDRiNCw0LXRgtGB0Y8g0L3QtdGD0LTQsNGH0L3QvlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODYzIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0Njggc3lzLXV0aWxzL3dkY3RsLmM6NTI0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgxNyB0ZXJtLXV0aWxzL3dhbGwuYzoyMTYKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCIHRpbWVvdXQiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4ODQKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAi0Y3RgtGDINC/0YDQvtCz0YDQsNC80LzRgyDQvNC+0LbQtdGCINC30LDQv9GD0YHRgtC40YLRjCDRgtC+0LvRjNC60L4g0YHRg9C/0LXRgNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINC60L7QvdGB0L7Qu9GMIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM0Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINCx0LDQt9GDINC/0LDRgNC+0LvQtdC5IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywgc3Ugc2hlbGxcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKyLQstGA0LXQvNGPINC+0LbQuNC00LDQvdC40Y8g0LjRgdGC0LXQutC70L5cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKKyMsIGZ1enp5Cittc2dpZCAiIgorImNhbm5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyLQndC10LLQvtC30LzQvtC20L3QviDQstGL0L/QvtC70L3QuNGC0Ywgc3Ugc2hlbGxcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ5Cittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICLQn9C+0YHRgtC+0YDQvtC90L3QuNC1INGB0YLRgNC+0LrQuCDQsiDRhNCw0LnQu9C1LiDQktGL0YXQvtC0LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgItC90LUg0LzQvtCz0YMg0L7RgtC60YDRi9GC0Ywg0LLRgNC10LzQtdC90L3Ri9C5INGE0LDQudC7IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L7Qt9C00LDQvdC40LUg0YHRgdGL0LvQutC4INC00LvRjyAlcyDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINC60L7QvdGC0LXQutGB0YIg0LTQu9GPICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0LrQvtC90YLQtdC60YHRgiDQtNC70Y8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlcyDQvdC1INC40LfQvNC10L3QtdC9IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0YHQvtC30LTQsNGC0Ywg0LTQvtGH0LXRgNC90LjQuSDQv9GA0L7RhtC10YHRgSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAi0LjQt9C80LXQvdC10L3QuNC5INC90LUg0LHRi9C70L4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0YHQvNC10L3QuNGC0Ywg0YDQsNC30YDQtdGI0LXQvdC40Y8g0LTQu9GPINGE0LDQudC70LAiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDgKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgItCS0Ysg0LjRgdC/0L7Qu9GM0LfRg9C10YLQtSDRgtC10L3QtdCy0YvQtSDQs9GA0YPQv9C/0Ysg0L3QsCDRjdGC0L7QuSDRgdC40YHRgtC10LzQtS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAi0JLRiyDQuNGB0L/QvtC70YzQt9GD0LXRgtC1INGC0LXQvdC10LLRi9C1INC/0LDRgNC+0LvQuCDQvdCwINGN0YLQvtC5INGB0LjRgdGC0LXQvNC1LlxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAi0KXQvtGC0LjRgtC1INC70Lgg0LLRiyDRgdC10LnRh9Cw0YEg0L7RgtGA0LXQtNCw0LrRgtC40YDQvtCy0LDRgtGMICVzIFvQtC/QvV0/ICIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIgorbXNnc3RyICIlcyDQuNC3ICVzJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBkb24ndCBlbmNvZGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3QgYWxsIGtub3duIGZpbGVzeXN0ZW1zL1JBSURzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICDQstGL0LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YjQtdC70LvQvtCyINC4INCy0YvQudGC0LhcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgINC40LzRjyDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y9cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGN0YLRgyDRgdC/0YDQsNCy0LrRgyDQuCDQstGL0LnRgtC4XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworIywgZnV6enkKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICLQlNGA0YPQs9C40LUg0L/QsNGA0LDQvNC10YLRgNGLOlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTgKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LLRgdC1INGD0YHRgtGA0L7QudGB0YLQstCwXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICDRgNCw0LfRitGP0YHQvdC10L3QuNC1INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiICAgbCAgINGB0L/QuNGB0L7QuiDRgtC40L/QvtCyINC40LfQstC10YHRgtC90YvRhSDRhNCw0LnQu9C+0LLRi9GFINGB0LjRgdGC0LXQvCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiAgIGwgICDRgdC/0LjRgdC+0Log0YLQuNC/0L7QsiDQuNC30LLQtdGB0YLQvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICLQn9C+0LzQtdGC0LjRgtGMLCDQutCw0Log0LjRgdC/0L7Qu9GM0LfRg9C10LzRi9C5IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgIiVzOiDQvdC1INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgItC+0YjQuNCx0LrQsCDRgNCw0LfQsdC+0YDQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAiJXM6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgjogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjYxMQorbXNnaWQgImVycm9yOiAtdSA8bGlzdD4gYXJndW1lbnQgaXMgZW1wdHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAi0JLQstC10LTQuNGC0LUg0YLQuNC/INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ys6IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgdC80LXRidC10L3QuNGPIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdCwINC60L7QvNCw0L3QtNCwIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LLRgNC10LzQtdC90LgiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LzQtdGB0Y/RhtCwIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxOQorbXNnaWQgImludmFsaWQgd2VlayBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0L3QtdC00LXQu9C4IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQvdC10LTQtdC70Lg6INC40YHQv9C+0LvRjNC30YPQudGC0LUgMS01MyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0LTQvdGPIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INC00L3Rjzog0LjRgdC/0L7Qu9GM0LfRg9C50YLQtSAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQvNC10YHRj9GG0LA6INC40YHQv9C+0LvRjNC30YPQudGC0LUgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdC+0LUg0LjQvNGPINC/0YDQuNC+0YDQuNGC0LXRgtCwOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INCz0L7QtNCwIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5NAorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INCz0L7QtNCwOiDQuNGB0L/QvtC70YzQt9GD0LnRgtC1INC/0L7Qu9C+0LbQuNGC0LXQu9GM0L3QvtC1INGG0LXQu9C+0LUg0YfQuNGB0LvQviIKKworIzogbWlzYy11dGlscy9jYWwuYzo1MzAgbWlzYy11dGlscy9jYWwuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDQvdC10LTQtdC70Lg6ICVk0Lkg0LPQvtC0INC90LUg0YHQvtC00LXRgNC20LjRgiDQvdC10LTQtdC70LggJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgWyvRhNC+0YDQvNCw0YJdIFvQtNC10L3RjCDQvNC10YHRj9GGINCz0L7QtF1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICLQntGC0L7QsdGA0LDQt9C40YLRjCDQutCw0LvQtdC90LTQsNGA0Ywg0LjQu9C4INC60LDQutGD0Y4t0YLQviDQtdCz0L4g0YfQsNGB0YLRjC5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICLQldGB0LvQuCDQvdC10YIg0LDRgNCz0YPQvNC10L3RgtC+0LIsINC+0YLQvtCx0YDQsNC20LDQtdGC0YHRgdGPINGC0LXQutGD0YnQuNC5INC80LXRgdGP0YYuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0L7QtNC40L0g0LzQtdGB0Y/RhiAo0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4pXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGC0YDQuCDQvNC10YHRj9GG0LAsINGB0L7QtNC10YDQttCw0YnQuNGFINC00LDRgtGDXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorbXNnaWQgIiAtbiwgLS1tb250aHMgPG51bT4gICAgc2hvdyBudW0gbW9udGhzIHN0YXJ0aW5nIHdpdGggZGF0ZSdzIG1vbnRoXG4iCittc2dzdHIgIiAtbiwgLS1tb250aHMgPG51bT4gICAg0L/QvtC60LDQt9Cw0YLRjCBudW0g0LzQtdGB0Y/RhtC10LIsINC90LDRh9C40L3QsNGPINGBINC80LXRgdGP0YbQsCDQtNCw0YLRi1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICDQvtGC0L7QsdGA0LDQt9C40YLRjCDQsiDRhNC+0YDQvNCw0YLQtSDRgdGL0YDRi9GFINC00LDQvdC90YvRhVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDYKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgINC/0LXRgNCy0YvQuSDQtNC10L3RjCDQvdC10LTQtdC70LggLSDQstC+0YHQutGA0LXRgdC10L3RjNC1XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAg0L/QtdGA0LLRi9C5INC00LXQvdGMINC90LXQtNC10LvQuCAtINC/0L7QvdC10LTQtdC70YzQvdC40LpcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAg0LLRi9Cy0L7QtCDQtNCw0YIg0LIg0Y7Qu9C40LDQvdGB0LrQvtC8INGB0YLQuNC70LVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDRgdC+0LLQtdGC0YtcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQstC10YHRjCDQs9C+0LRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEyCittc2dpZCAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICBzaG93IHRoZSBuZXh0IHR3ZWx2ZSBtb250aHNcbiIKK21zZ3N0ciAiIC1ZLCAtLXR3ZWx2ZSAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGB0LvQtdC00YPRjtGJ0LjQtSAxMiDQvNC10YHRj9GG0LXQslxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTMKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gcGFnZXMiCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LPQvNC10L3RgiDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0Lggc2htaWQ9JWRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiIgorIlxuIgorItCh0LXQs9C80LXQvdGCINGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCBzaG1pZD0lZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MworIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBmaWxlIgorbXNnc3RyICLRgNCw0LfQvNC10YAg0YPRgdGC0YDQvtC50YHRgtCy0LAiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjY0CisjLCBmdXp6eQorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAi0JjQvNGPINGE0LDQudC70LAiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdC40LzQstC+0LvRjNC90YPRjiDRgdGB0YvQu9C60YM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtbWFwOiAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQuNC80LLQvtC70YzQvdGD0Y4g0YHRgdGL0LvQutGDOiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7Rh9C40YLQsNGC0Ywg0YHQuNC80LLQvtC70YzQvdGD0Y4g0YHRgdGL0LvQutGDOiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAg0JHQtdC3INC+0LHRi9GH0L3Ri9GFINCy0YvRhdC+0LTQvdGL0YUg0LTQsNC90L3Ri9GFXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MzQzIHN5cy11dGlscy9sb3NldHVwLmM6NzkzCisjLCBmdXp6eQorbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICLQndC1INGD0LrQsNC30LDQvdCwINC+0L/RhtC40Y8gLS1kYXRlLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgItCf0L7QuNGB0Log0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyDQv9C+INC80LXRgtC60LUg0LjQu9C4IFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0YDQsNC30YDQtdGI0LjRgtGMICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAi0YPRgdGC0YDQvtC50YHRgtCy0L4t0LjRgdGC0L7Rh9C90LjQuiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAi0YLQvtGH0LrQsCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLRgtC40L8g0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgItCy0YHQtSDQv9Cw0YDQsNC80LXRgtGA0Ysg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi0J7Qv9GG0LjQuCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8sINGB0L/QtdGG0LjRhNC40YfQvdGL0LUg0LTQu9GPIFZGUyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgItCf0L7Qu9C10LfQvdGL0LUg0L7Qv9GG0LjQuDoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgItC80LXRgtC60LAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIlVVSUQg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICLQvNC10YLQutCwINGA0LDQt9C00LXQu9CwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgItC00L7RgdGC0YPQv9C90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QvdGL0Lkg0YDQsNC30LzQtdGAINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ysg0LIg0L/RgNC+0YbQtdC90YLQsNGFIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgItC60L7RgNC10L3RjCDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJJRCDQt9Cw0LTQsNGH0LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorIywgZnV6enkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnQ6INC80L7QvdGC0LjRgNC+0LLQsNC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QvtC1INC00LXQudGB0YLQstC40LU6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAi0LzQvtC90YLQuNGA0L7QstCw0YLRjCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ2Cittc2dpZCAidW1vdW50IgorbXNnc3RyICLRgNCw0LfQvNC+0L3RgtC40YDQvtCy0LDRgtGMIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICLQv9C10YDQtdC80L7QvdGC0LjRgNC+0LLQsNGC0YwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgItC/0LXRgNC10LzQtdGB0YLQuNGC0YwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxNCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc3IHN5cy11dGlscy9lamVjdC5jOjcxNAorIzogc3lzLXV0aWxzL21vdW50LmM6MzI0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgItC+0YjQuNCx0LrQsCDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuCBsaWJtb3VudCB0YWJsZSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0ZHRgtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtGMICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4IGxpYm1vdW50IGl0ZXJhdG9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC40L3QuNGG0LjQsNC70LjQt9Cw0YbQuNC4IGxpYm1vdW50IHRhYmRpZmYiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICLQvtGI0LjQsdC60LAgcG9sbCgpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5CisjLCBmdXp6eQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiTGludXgg0LfQsNC60LDQt9C90L7QuSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1zLCAtLWZzdGFiICAgICAgICAgICAg0L/QvtC40YHQuiDQsiDRgdGC0LDRgtC40YfQvdC+0Lkg0YLQsNCx0LvQuNGG0LUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMworIywgZnV6enkKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICDQv9C+0LjRgdC6INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC90L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg0LIg0YLQsNCx0LvQuNGG0LUg0Y/QtNGA0LAgKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICDQv9C+0LjRgdC6INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC90L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg0LIg0YLQsNCx0LvQuNGG0LUg0Y/QtNGA0LAgKNC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3CisjLCBmdXp6eQorbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+INC90LDQv9GA0LDQstC70LXQvdC40LUg0L/QvtC40YHQutCwOiAnZm9yd2FyZCcgLSDQstC/0YDQtdGA0LXQtCwgJ2JhY2t3YXJkJyAtINC90LDQt9Cw0LRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOQorbXNnaWQgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworbXNnaWQgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgINCR0LXQtyDQvtCx0YvRh9C90YvRhSDQstGL0YXQvtC00L3Ri9GFINC00LDQvdC90YvRhVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNworbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgINGB0L/QuNGB0L7QuiDQstGL0LLQvtC00LjQvNGL0YUg0YHRgtC+0LvQsdGG0L7QslxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgICBsICAg0YHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LjQt9Cy0LXRgdGC0L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgINCR0LXQtyDQvtCx0YvRh9C90YvRhSDQstGL0YXQvtC00L3Ri9GFINC00LDQvdC90YvRhVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICJtb3VudDog0YLQvtGH0LrQsCDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y8gJXMg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICDRgdC/0LjRgdC+0Log0YLQuNC/0L7QsiDQuNC30LLQtdGB0YLQvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo5MDcKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDQKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQvtC00LjQvSDQvNC10YHRj9GGICjQv9C+INGD0LzQvtC70YfQsNC90LjRjilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90L7QtSDQvdCw0L/RgNCw0LLQu9C10L3QuNC1ICclcyciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIgVElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgItCS0Ysg0YPQutCw0LfQsNC70Lgg0YbQuNC70LjQvdC00YDQvtCyINCx0L7Qu9GM0YjQtSwg0YfQtdC8INC80L7QttC10YIg0LHRi9GC0Ywg0L3QsCDQtNC40YHQutC1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczog0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAibW91bnQ6ICVzINGD0LbQtSDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvSDQvdCwICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgjogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAibW91bnQ6ICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQsdC70L7Rh9C90YvQvCDRg9GB0YLRgNC+0LnRgdGC0LLQvtC8IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICLRg9GB0YLRgNC+0LnRgdGC0LLQvi3QuNGB0YLQvtGH0L3QuNC6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCAtJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INC/0LDRgNCw0LzQtdGC0YAgLSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgItCf0L7Qu9C10LfQvdGL0LUg0L7Qv9GG0LjQuDoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAi0L3QtdC/0L7QtNC00LXRgNC20LjQstCw0LXQvNCw0Y8g0LzQtdGC0LrQsCDQtNC40YHQutCwOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE5IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAibW91bnQ6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YLQuNC/INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgJyVzJyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICLQndC1INGD0LTQsNC70L7RgdGMINC+0LHRgNCw0LHQvtGC0LDRgtGMINGE0LDQudC7INGB0YbQtdC90LDRgNC40Y8gJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAi0L7RiNC40LHQutCwINGA0LDQt9Cx0L7RgNCwOiAlcyIKK21zZ3N0clsxXSAi0L7RiNC40LHQutCwINGA0LDQt9Cx0L7RgNCwOiAlcyIKK21zZ3N0clsyXSAi0L7RiNC40LHQutCwINGA0LDQt9Cx0L7RgNCwOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwg0L7RiNC40LHQutCwIgorbXNnc3RyWzFdICIsINC+0YjQuNCx0LrQsCIKK21zZ3N0clsyXSAiLCDQvtGI0LjQsdC60LAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKK21zZ3N0clsyXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICLQv9GD0YHRgtCw0Y8g0L7Qv9GG0LjRjyBsb25nINC/0L7RgdC70LUg0LDRgNCz0YPQvNC10L3RgtCwIC1sINC40LvQuCAtLWxvbmciCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGI0LXQu9C7INC/0L7RgdC70LUg0LDRgNCz0YPQvNC10L3RgtCwIC1zINC40LvQuCAtLXNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1dIDxvcHRzdHJpbmc+IDxwYXJhbWV0ZXJzPlxuIgorIiAlMSRzIFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgPG9wdHN0cmluZz4gW29wdGlvbnNdIFstLV0gPHBhcmFtZXRlcnM+XG4iCittc2dzdHIgIiAgICAgICBnZXRvcHQgW9C+0L/RhtC40LhdIC1vfC0tb3B0aW9ucyDRgdGC0YDQvtC60LBf0L7Qv9GG0LjQuSBb0L7Qv9GG0LjQuF0gWy0tXVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzNgorIywgZnV6enkKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgItCe0L/QsNGB0L3Ri9C1INC+0L/RhtC40Lg6IgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiICAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgINCg0LDQt9GA0LXRiNC10L3QuNC1INC00LvQuNC90L3Ri9GFINC+0L/RhtC40LksINC90LDRh9C40L3QsNGO0YnQuNGF0YHRjyDRgSDQvtC00L3QvtCz0L4gLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwsIC0tbG9uZ29wdGlvbnM9bG9uZ29wdHMgICDQlNC70LjQvdC90YvQtSDQvtC/0YbQuNC4INC00LvRjyDRgNCw0YHQv9C+0LfQvdCw0LLQsNC90LjRj1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU90LjQvNGPX9C/0YDQvtCz0YDQsNC80LzRiyAgICAg0JjQvNGPLCDQvtGCINC60L7RgtC+0YDQvtCz0L4g0LLQtdC00LXRgtGB0Y8g0L7RgtGH0LXRgiDQvtCxINC+0YjQuNCx0LrQsNGFXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz3RgdGC0YDQvtC60LBf0L7Qv9GG0LjQuSAgINCa0L7RgNC+0YLQutC40LUg0L7Qv9GG0LjQuCDQtNC70Y8g0YDQsNGB0L/QvtC30L3QsNCy0LDQvdC40Y9cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAg0J7RgtC60LvRjtGH0LXQvdC40LUg0L7RgtGH0LXRgtCwINC+0LEg0L7RiNC40LHQutCw0YUgZ2V0b3B0KDMpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDQkdC10Lcg0L7QsdGL0YfQvdGL0YUg0LLRi9GF0L7QtNC90YvRhSDQtNCw0L3QvdGL0YVcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD3RiNC10LvQuyAgICAgICAgICAgICDQo9GB0YLQsNC90L7QstC60LAg0YPRgdC70L7QstC40Lkg0LfQsNC60LsuINCyINC60LDQstGL0YfQutC4INC00LvRjyDRiNC10LvQu9CwXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAg0J/RgNC+0LLQtdGA0LrQsCDQstC10YDRgdC40LggZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAi0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQsNGA0LPRg9C80LXQvdGCINGB0YLRgNC+0LrQuCDQvtC/0YbQuNC5IgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICLQstC90YPRgtGA0LXQvdC90Y/RjyDQvtGI0LjQsdC60LAsINGB0LLRj9C20LjRgtC10YHRjCDRgSDQsNCy0YLQvtGA0L7QvC4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbCAlczsgdmFsaWQgc2lnbmFsczoiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YHQuNCz0L3QsNC7ICVzOyDQtNC+0L/Rg9GB0YLQuNC80YvQtSDRgdC40LPQvdCw0LvRizoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3OQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgItCf0YDQuNC90YPQtNC40YLQtdC70YzQvdC+INC30LDQstC10YDRiNC40YLRjCDQv9GA0L7RhtC10YHRgS5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTgyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODQKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg5Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNDAgbWlzYy11dGlscy9raWxsLmM6MjQ5IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90YvQuSDRgdC40LPQvdCw0Ls6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMg0LggJXMg0Y/QstC70Y/RjtGC0YHRjyDQstC30LDQuNC80L3QviDQuNGB0LrQu9GO0YfQsNGO0YnQuNC80LgiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwINCw0YDQs9GD0LzQtdC90YLQsCIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QvtC1INC40LzRjyDQuNC70Lgg0L3QvtC80LXRgCDRgdC40LPQvdCw0LvQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAi0L7RgtC/0YDQsNCy0LrQsCDRgdC40LPQvdCw0LvQsCAlZCDQv9GA0L7RhtC10YHRgdGDINGBINC90L7QvNC10YDQvtC8ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgItC+0YLQv9GA0LDQstC60LAg0YHQuNCz0L3QsNC70LAg0LTQu9GPICVzINC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INC/0YDQvtGG0LXRgdGBIFwiJXNcIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90L7QtSDQuNC80Y8g0L7QsdGK0LXQutGC0LA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3QvtC1INC40LzRjyDQv9GA0LjQvtGA0LjRgtC10YLQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAi0LjQvNGPINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90L7QtS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICLRgdC+0LrQtdGCICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0YwgJXMg0LIgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC00LrQu9GO0YfQuNGC0YzRgdGPINC6ICVzLCDQv9C+0YDRgiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2OAorIywgZnV6enkKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICLRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90L7QtSDQuNC80Y8g0YXQvtGB0YLQsCAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgItC/0L7Qu9C1INGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1LlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgItC40LPQvdC+0YDQuNGA0L7QstCw0L3QuNC1INC90LXQuNC30LLQtdGB0YLQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0LAg0L/QsNGA0LDQvNC10YLRgNCwOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDRgdC40YHRgtC10LzQvdGL0LUg0YfQsNGB0YsuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorIywgZnV6enkKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg0L3QtSDQtNC10LvQsNGC0Ywg0L/QsNGD0LfRgyDQsiDQutC+0L3RhtC1INGE0LDQudC70LBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM5CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgINC90LUg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0L/RgNC40LPQu9Cw0YjQtdC90LjQtSDQtNC70Y8g0LLRhdC+0LTQsFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDRgdC+0LLQtdGC0YtcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQxCittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg0LLRi9Cy0L7QtNC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40Y8g0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC+0LTQvdC+0LPQviDRgdC+0L7QsdGJ0LXQvdC40Y9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA8bnVtYmVyPiAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRjdGC0L7RgiBVRFAt0L/QvtGA0YJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0YLQvtC70YzQutC+IFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTAKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4gVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUyCittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTYKK21zZ2lkICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIHNldCByZmM1NDI0IG1lc3NhZ2UgaWQgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTcKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTgKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA2MQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAi0YTQsNC50LsgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE2MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/RgNC+0YbQtdGB0YHQsCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxNQorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIi0tbXNnaWQg0L3QtSDQvNC+0LbQtdGCINGB0L7QtNC10YDQttCw0YLRjCDQv9GA0L7QsdC10LvQsCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBpZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgtCw0LnQvC3QsNGD0YLQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1MgorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgItCe0YLQvtCx0YDQsNC30LjRgtGMINGB0YLRgNC+0LrQuCwg0L3QsNGH0LjQvdCw0Y7RidC40LXRgdGPINGBINC30LDQtNCw0L3QvdC+0Lkg0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtC4LlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3Ri9C5INGB0LvQvtCy0LDRgNGMXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAg0YHRgNCw0LLQvdC40LLQsNGC0Ywg0YLQvtC70YzQutC+INCw0LvRhNCw0LLQuNGC0L3Qvi3RhtC40YTRgNC+0LLRi9C1INGB0LjQvNCy0L7Qu9GLXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OAorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAi0LjQvNGPINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAi0LrRg9C00LAg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L3QviDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2OCBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNAorbXNnaWQgImZpbGVzeXN0ZW0gTEFCRUwiCittc2dzdHIgItCc0JXQotCa0JAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIlVVSUQg0YLQuNC/0LAg0YDQsNC30LTQtdC70LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgItCc0JXQotCa0JAg0YDQsNC30LTQtdC70LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAi0YPRgdGC0YDQvtC50YHRgtCy0L4g0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzgKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICLRgdGK0ZHQvNC90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgItGB0YrQtdC80L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+INC40LvQuCDRg9GB0YLRgNC+0LnRgdGC0LLQviDRgSDQs9C+0YDRj9GH0LjQvCDQv9C+0LTQutC70Y7Rh9C10L3QuNC10LwgKHVzYiwgcGNtY2lhLCAuLi4pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAi0LTQvtCx0LDQstC70Y/QtdGCINGB0LvRg9GH0LDQudC90L7QtSDQt9C90LDRh9C10L3QuNC1IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgItC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICLRgdC10YDQuNC50L3Ri9C5INC90L7QvNC10YAg0LTQuNGB0LrQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YHQvtGB0YLQvtGP0L3QuNC1INGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsNC90LjQtSDQs9GA0YPQv9C/0YsiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAi0YHQvNC10YnQtdC90LjQtSDQstGL0YDQsNCy0L3QuNCy0LDQvdC40Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICLQvNC40L3QuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICLQvtC/0YLQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGE0LjQt9C40YfQtdGB0LrQvtCz0L4g0YHQtdC60YLQvtGA0LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICLRgNCw0LfQvNC10YAg0LvQvtCz0LjRh9C10YHQutC+0LPQviDRgdC10LrRgtC+0YDQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAi0LjQvNGPINC/0LvQsNC90LjRgNC+0LLRidC40LrQsCBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgItC30LDQv9GA0L7RgdC40YLRjCDRgNCw0LfQvNC10YAg0L7Rh9C10YDQtdC00LgiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAi0YLQuNC/INGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAi0L7RgtCx0YDQvtGB0LjRgtGMINGB0LzQtdGJ0LXQvdC40LUg0LLRi9GA0LDQstC90LjQstCw0L3QuNGPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICLRg9C90LjQutCw0LvRjNC90YvQuSDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRhdGA0LDQvdC40LvQuNGJ0LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAi0YDQtdCy0LjQt9C40Y8g0YPRgdGC0YDQvtC50YHRgtCy0LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDcKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICLQv9GA0L7QuNC30LLQvtC00LjRgtC10LvRjCDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjCDRgdGB0YvQu9C60YMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NjcgbWlzYy11dGlscy9sc2Jsay5jOjE1NjkgbWlzYy11dGlscy9sc2Jsay5jOjE1OTQKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgItGB0L/QuNGB0L7QuiDQuNGB0LrQu9GO0YfQtdC90L3Ri9GFINGD0YHRgtGA0L7QudGB0YLQsiDRgdC70LjRiNC60L7QvCDQstC10LvQuNC6ICjQv9GA0LXQtNC10LsgLSAlZCDRg9GB0YLRgNC+0LnRgdGC0LIpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgItGB0L/QuNGB0L7QuiDQstC60LvRjtGH0LXQvdC90YvRhSDRg9GB0YLRgNC+0LnRgdGC0LIg0YHQu9C40YjQutC+0Lwg0LLQtdC70LjQuiAo0L/RgNC10LTQtdC7IC0gJWQg0YPRgdGC0YDQvtC50YHRgtCyKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdIFs80YPRgdGC0YDQvtC50YHRgtCy0L4+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgItCS0YvQstC10YHRgtC4INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCx0LvQvtGH0L3Ri9GFINGD0YHRgtGA0L7QudGB0YLQstCw0YUuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ0Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDRhNCw0LnQu9C+0LLRi9GFINGB0LjRgdGC0LXQvNCw0YVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgLWksIC0tYXNjaWkgICAgICAgICAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDRgtGMINGC0L7Qu9GM0LrQviBBU0NJSS3RgdC40LzQstC+0LvRi1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQtNC70Y8g0LLRi9Cy0L7QtNCwINGE0L7RgNC80LDRgiBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LTQsNC90L3Ri9C1INCyINCy0LjQtNC1INGB0L/QuNGB0LrQsFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNlIHRyZWUgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQtNCw0L3QvdGL0LUg0LIg0LLQuNC00LUg0YHQv9C40YHQutCwXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGA0LDQt9GA0LXRiNC10L3QuNGP0YVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICDQstGL0LLQvtC00LjRgtGMINCy0YHQtSDRgdGC0L7Qu9Cx0YbRi1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXAsIC0tcGF0aHMgICAgICAgICAg0L/QtdGH0LDRgtCw0YLRjCDQv9C+0LvQvdGL0Lkg0L/Rg9GC0Ywg0Log0YPRgdGC0YDQvtC50YHRgtCy0YNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTgKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgINCy0YvQstC10YHRgtC4INC40L3RhNC+0YDQvNCw0YbQuNGOINC+0LEg0YPRgdGC0YDQvtC50YHRgtCy0LDRhSBTQ1NJXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICDQstGL0LLQtdGB0YLQuCDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDRgtC+0L/QvtC70L7Qs9C40LhcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/QvtC70YPRh9C40YLRjCDQtNC+0YHRgtGD0L8g0Log0LrQsNGC0LDQu9C+0LPRgyBzeXNmczogJXMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC30LDQtNCw0YLRjCDQtNCw0L3QvdGL0LUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgItC/0YPRgtGMINC6INC30LDQsdC70L7QutC40YDQvtCy0LDQvdC90L7QvNGDINGE0LDQudC70YMiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQv9GA0L7RhtC10YHRgdCwLCDQsdC70L7QutC40YDRg9GO0YnQtdCz0L4g0LTQvtGB0YLRg9C/IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4MSBzeXMtdXRpbHMvbnNlbnRlci5jOjI2NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/RgNC+0YbQtdGB0YHQsCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIo0L3QtdC40LfQstC10YHRgtC90L4pIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC60L7QvdC10YYiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YHQuNGB0YLQtdC80L3Ri9C1INGH0LDRgdGLLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNCBzeXMtdXRpbHMvbHNucy5jOjkwNCBzeXMtdXRpbHMvcmZraWxsLmM6NTc0Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNiBzeXMtdXRpbHMvbHNucy5jOjkwNiBzeXMtdXRpbHMvcmZraWxsLmM6NTc1CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU2MyBzY2hlZHV0aWxzL2NocnQuYzo0NzUgc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE3MSBzeXMtdXRpbHMvbHNucy5jOjk4MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiBQSUQiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICDRgNCw0LfRitGP0YHQvdC10L3QuNC1INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gItCf0L7Qu9GD0YfQtdC9ICV6dSDQsdCw0LnRgiDQuNC3ICVzXG4iCittc2dzdHJbMV0gItCf0L7Qu9GD0YfQtdC90L4gJXp1INCx0LDQudGC0LAg0LjQtyAlc1xuIgorbXNnc3RyWzJdICLQn9C+0LvRg9GH0LXQvdC+ICV6dSDQsdCw0LnRgiDQuNC3ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LrRgNGL0YLRjCAlcyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LTQu9C40L3RgyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICLQn9C+0LvRg9GH0LXQvSAlZCDQsdCw0LnRgiDQuNC3ICVzXG4iCittc2dzdHJbMV0gItCf0L7Qu9GD0YfQtdC90L4gJWQg0LHQsNC50YLQsCDQuNC3ICVzXG4iCittc2dzdHJbMl0gItCf0L7Qu9GD0YfQtdC90L4gJWQg0LHQsNC50YIg0LjQtyAlc1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIOKAlCDQvdC10YIg0YLQsNC60L7Qs9C+INGE0LDQudC70LAg0LjQu9C4INC60LDRgtCw0LvQvtCz0LBcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvQvtC/0YbQuNC4XSA80L/Rg9GC0Yw+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozNDAKK21zZ2lkICIiCisiIC14LCAtLW1vdW50cG9pbnRzICAgc2hvdyBtb3VudCBwb2ludCBkaXJlY3RvcmllcyB3aXRoIGEgJ0QnXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgc2hvdyB0aGUgbW9kZSBiaXRzIG9mIGVhY2ggZmlsZVxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIHNob3cgb3duZXIgYW5kIGdyb3VwIG5hbWUgb2YgZWFjaCBmaWxlXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgdXNlIGEgbG9uZyBsaXN0aW5nIGZvcm1hdCAoLW0gLW8gLXYpIFxuIgorIiAtbiwgLS1ub3N5bWxpbmtzICAgIGRvbid0IGZvbGxvdyBzeW1saW5rc1xuIgorIiAtdiwgLS12ZXJ0aWNhbCAgICAgIHZlcnRpY2FsIGFsaWduIG9mIG1vZGVzIGFuZCBvd25lcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAi0L7RgtGB0YPRgtGB0YLQstGD0LXRgiDQsNGA0LPRg9C80LXQvdGCINC/0YPRgtC4IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC30LDQs9C+0LvQvtCy0L7QuiBHUFQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQt9Cw0LPQvtC70L7QstC+0LogR1BUIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlczog0L3QtSDRgdC40LzQstC+0LvRjNC90LDRjyDRgdGB0YvQu9C60LAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC+0YjQuNCx0LrQsCByZWFkbGluayIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC+0YjQuNCx0LrQsCB1bmxpbmsiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDRgdC+0LfQtNCw0YLRjCDRgdC40LzQstC+0LvRjNC90YPRjiDRgdGB0YvQu9C60YMg0L3QsCAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiLi4u0J/RgNC+0L/Rg9GB0LrQsNC10YLRgdGPINC00L4g0YTQsNC50LvQsCAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczog0L3QtSDRg9C00LDQu9C+0YHRjCDQv9C10YDQtdC40LzQtdC90L7QstCw0YLRjCDQsiAlcyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAi0J/QtdGA0LXQuNC80LXQvdC+0LLQsNGC0Ywg0YTQsNC50LvRiy5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICDRgNCw0LfRitGP0YHQvdC10L3QuNC1INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDQv9GA0LjQs9C70LDRiNC10L3QuNC1INC00LvRjyDQstGF0L7QtNCwXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIG5vdCBtYWtlIGFueSBjaGFuZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgICBsICAg0YHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LjQt9Cy0LXRgdGC0L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAgIGwgICDRgdC/0LjRgdC+0Log0YLQuNC/0L7QsiDQuNC30LLQtdGB0YLQvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDzRh9C40YHQu9C+PiAgICAgICAgICAg0YPQutCw0LbQuNGC0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0LPQvtC70L7QstC+0LpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDRgNCw0LfQvNC+0L3RgtC40YDQvtCy0LDRgtGMINCy0YHQtSDRhNCw0LnQu9C+0LLRi9C1INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPNGH0LjRgdC70L4+ICAgICAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQs9C+0LvQvtCy0L7QulxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgINC90LUg0L/QvtC60LDQt9GL0LLQsNGC0Ywg0YTQsNC50LsgaXNzdWVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgICDQstC60LvRjtGH0LjRgtGMINC/0YDQtdC00YPQv9GA0LXQttC10L3QuNGPIFwibW9kZSBub3QgY2xlYXJlZFwiXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgICAgLXEgIFvQuNC70LggLS1xdWlldF06ICAgICAg0L/QvtC00LDQstC70LXQvdC40LUg0L/RgNC10LTRg9C/0YDQtdC20LTQsNGO0YnQuNGFINGB0L7QvtCx0YnQtdC90LjQuSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEwOQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQtSDQsNGA0LPRg9C80LXQvdGC0YsiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgItGB0L7QutC10YIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjcKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICLQv9C+0LTQutC70Y7Rh9C10L3QuNC1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTQ3Cittc2dpZCAid3JpdGUiCittc2dzdHIgItC30LDQv9C40YHRjCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgItGH0LjRgdC70L4g0YfRgtC10L3QuNC5IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90LDRjyDQtNC70LjQvdCwINC+0YLQstC10YLQsCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDRkdGC0YHRjyDQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0YLRjCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YHQvtC60LXRgiDQv9C+0YLQvtC60LAgdW5peCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQuNCy0Y/Qt9Cw0YLRjNGB0Y8g0Log0YHQvtC60LXRgtGDIHVuaXggJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyODkKKyMsIGZ1enp5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgItC+0YLQv9GA0LDQstC60LAg0YHQuNCz0L3QsNC70LAg0LTQu9GPICVzINC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorIywgZnV6enkKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgIiIKKyLQstGA0LXQvNGPINC+0LbQuNC00LDQvdC40Y8g0LjRgdGC0LXQutC70L5cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMzNiBzeXMtdXRpbHMvZmxvY2suYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgItC00LXQvNC+0L0gdXVpZGQg0LTQtdC80L7QvSDRg9C20LUg0LfQsNC/0YPRidC10L0g0YEg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YDQvtC8INC/0YDQvtGG0LXRgdGB0LAgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGB0LvRg9GI0LDRgtGMINGB0L7QutC10YIgdW5peCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7QsdGA0LXQt9Cw0YLRjCDRhNCw0LnQuzogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODMKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICLQuNGB0YLQtdC60LvQviDQstGA0LXQvNGPINC+0LbQuNC00LDQvdC40Y8g0LIgJXUg0YHQtdC60YPQvdC0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAi0L7RiNC40LHQutCwINGH0YLQtdC90LjRjyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgItCe0YjQuNCx0LrQsCDRh9GC0LXQvdC40Y8gJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAi0L7Qv9C10YDQsNGG0LjRjyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorbXNnc3RyWzJdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICLQndC10LTQvtC/0YPRgdGC0LjQvNCw0Y8g0L7Qv9C10YDQsNGG0LjRjyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBuYW1lIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAi0LjQvNGPINGC0L7QvNCwINGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3QvtC1IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU0IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgItC+0YjQuNCx0LrQsCDRgdC80LXQvdGLINGA0LXQttC40LzQsCAlczogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgItC90LXQv9GA0LXQtNCy0LjQtNC10L3QvdCw0Y8g0L7RiNC40LHQutCwIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCittc2dzdHJbMl0gIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICLQodC/0LjRgdC+0LogVVVJRDpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICLQodC+0LfQtNCw0YLRjCDQvdC+0LLRi9C5INC70L7Qs9C40YfQtdGB0LrQuNC5INGA0LDQt9C00LXQuyIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICDQv9Cw0YDQsNC80LXRgtGA0YtcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhMSAgICAgICAgICBnZW5lcmF0ZSBzaGExIGhhc2hcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICDQv9Cw0YDQsNC80LXRgtGA0YtcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzgKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgaW50ZXJwcmV0IG5hbWUgYXMgaGV4IHN0cmluZ1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAi0YPQvdC40LrQsNC70YzQvdGL0Lkg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0YXRgNCw0L3QuNC70LjRidCwIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAi0LjQvNGPINGA0LDQt9C00LXQu9CwIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAi0J3QvtCy0L7QtSDQuNC80Y8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzkKK21zZ2lkICJ0aW1lc3RhbXAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICDRgdC/0LjRgdC+0Log0LLRi9Cy0L7QtNC40LzRi9GFINGB0YLQvtC70LHRhtC+0LJcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7QuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDRgdGC0L7Qu9Cx0LXRhiDQstGL0LLQvtC00LAiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjE5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA3CisjLCBmdXp6eQorbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4Cittc2dpZCAib3B0aW9uIC1mIGlzIG1pc3NpbmciCittc2dzdHIgItC+0YLRgdGD0YLRgdGC0LLRg9C10YIg0L/QsNGA0LDQvNC10YLRgCAtZiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INGB0LzQtdGJ0LXQvdC40LUgaW5vZGUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgItGA0LXRgdGD0YDRgdGLKNGLKSDRg9C00LDQu9C10L0o0YspXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICLQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MzE4CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi10YWJsZSIKK21zZ3N0ciAi0YLQsNCx0LvQuNGG0LAg0YDQsNC30LTQtdC70L7QsiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorbXNnc3RyWzFdICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorbXNnc3RyWzJdICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0Ywg0YHRgtGA0LDQvdC40YbRgyDRgSDRgdC40LPQvdCw0YLRg9GA0L7QuSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICLQktGL0LfRi9Cy0LDQtdGC0YHRjyBpb2N0bCgpINC00LvRjyDQv9C10YDQtdGH0LjRgtGL0LLQsNC90LjRjyDRgtCw0LHQu9C40YbRiyDRgNCw0LfQtNC10LvQvtCyLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQvtC30LTQsNGC0Ywg0YDQtdC30LXRgNCy0L3Rg9GOINC60L7Qv9C40Y4g0YHQuNCz0L3QsNGC0YPRgNGLLCDQv9C10YDQtdC80LXQvdC90LDRjyAkSE9NRSDQvdC1INC+0L/RgNC10LTQtdC70LXQvdCwIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczog0L3QtSDQvdCw0LnQtNC10L0iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTgwCisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LnRgtC1INGE0LvQsNCzIC0tZm9yY2Ug0LTQu9GPINC+0YLQutC70Y7Rh9C10L3QuNGPINCy0YHQtdGFINC/0YDQvtCy0LXRgNC+0LouXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAi0J7Rh9C40YHRgtC60LAg0YHQuNCz0L3QsNGC0YPRgCDQvdCwINGD0YHRgtGA0L7QudGB0YLQstC1LlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsFxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINGB0L7Qt9C00LDRgtGMINGA0LXQt9C10YDQstC90YPRjiDQutC+0L/QuNGOINGB0LjQs9C90LDRgtGD0YDRiywg0L/QtdGA0LXQvNC10L3QvdCw0Y8gJEhPTUUg0L3QtSDQvtC/0YDQtdC00LXQu9C10L3QsCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZSIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAg0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90LDRjyDQv9GA0L7QstC10YDQutCwXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDQtNC70Y8g0LLRi9Cy0L7QtNCwINGE0L7RgNC80LDRgiBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDRgdC+0LLQtdGC0YtcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICDRgNCw0LfRitGP0YHQvdC10L3QuNC1INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNQorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGxpc3Q+IENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgICAgLXEgIFvQuNC70LggLS1xdWlldF06ICAgICAg0L/QvtC00LDQstC70LXQvdC40LUg0L/RgNC10LTRg9C/0YDQtdC20LTQsNGO0YnQuNGFINGB0L7QvtCx0YnQtdC90LjQuSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgICBsICAg0YHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LjQt9Cy0LXRgdGC0L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQxCittc2dpZCAiIgorIkdldCBwb2xpY3k6XG4iCisiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ1Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YDRiyDQv9C+0LvQuNGC0LjQutC4OlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0g0KLQsNCx0LvQuNGG0LAg0LIg0YTQvtGA0LzQsNGC0LUg0YHRi9GA0YvRhSDQtNCw0L3QvdGL0YUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgItCU0YDRg9Cz0LjQtSDQv9Cw0YDQsNC80LXRgtGA0Ys6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAi0JTRgNGD0LPQuNC1INC/0LDRgNCw0LzQtdGC0YDRizpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiICAtcywgLS1zaGVsbD3RiNC10LvQuyAgICAgICAgICAgICDQo9GB0YLQsNC90L7QstC60LAg0YPRgdC70L7QstC40Lkg0LfQsNC60LsuINCyINC60LDQstGL0YfQutC4INC00LvRjyDRiNC10LvQu9CwXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L3QsNC50YLQuCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQtNC70Y8gJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIk5GUyDRh9C10YDQtdC3IFRDUCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8uXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjM5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LLRgNC10LzQtdC90LgiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBlcmlvZCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBpZDogJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINCz0L7Qu9C+0LLQvtC6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBpZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKKyMsIGZ1enp5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIk5GUyDRh9C10YDQtdC3IFRDUCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8uXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlcyDQvdCwICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNgorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICIlczog0L3QtdCy0LXRgNC90YvQuSBjcmFtZnMgLSDQvtGI0LjQsdC+0YfQvdC+0LUg0YHQvNC10YnQtdC90LjQtSDQtNCw0L3QvdGL0YUg0YTQsNC50LvQsFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6INC90LXQstC10YDQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiAtbCAlcy5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAiJXM6INCd0LXQuNC30LLQtdGB0YLQvdCw0Y8g0LrQvtC80LDQvdC00LA6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJjb2w6INC90LXQstC10YDQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgiAtbCAlcy5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgImNvbDog0L3QtdCy0LXRgNC90YvQuSDQsNGA0LPRg9C80LXQvdGCIC1sICVzLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdCw0Y8g0L7RiNC40LHQutCwINCyIGlkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDQgc2NoZWR1dGlscy90YXNrc2V0LmM6MjE3IHN5cy11dGlscy9jaGNwdS5jOjI5OAorIywgZnV6enkKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJtYWxsb2Mg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI0IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IERpc2NhcmRlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA80LrQvtC7LdCy0L4+ICDQvNCw0LrRgdC40LzQsNC70YzQvdCw0Y8g0LTQu9C40L3QsCDQuNC80LXQvSDRhNCw0LnQu9C+0LJcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICDQv9C+0LrQsNC30LDRgtGMIG51bSDQvNC10YHRj9GG0LXQsiwg0L3QsNGH0LjQvdCw0Y8g0YEg0LzQtdGB0Y/RhtCwINC00LDRgtGLXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAg0YDQtdC20LjQvCDQv9C+0LTRgNC+0LHQvdC+0LPQviDQstGL0LLQvtC00LBcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICDRgNCw0LfRitGP0YHQvdC10L3QuNC1INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2CisjLCBmdXp6eQorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQs9C80LXQvdGC0L7QsiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10Lkg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJLREdIV0NMSyBpb2N0bCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJLREdIV0NMSyBpb2N0bCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCisjLCBmdXp6eQorbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgItCS0YvQstC10YHRgtC4INC40L3RhNC+0YDQvNCw0YbQuNGOINC+INCx0LvQvtGH0L3Ri9GFINGD0YHRgtGA0L7QudGB0YLQstCw0YUuXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LnRgtC4INCyINC60LDRgtCw0LvQvtCzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LfQsNC/0LjRgdCw0YLRjCDQutCw0YDRgtGDINC30L7QvSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm91bmQgJWQgem9uZXMgZnJvbSAweCU8UFJJeDY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisiXG4iCisiJXM6INGB0LzQtdGJ0LXQvdC40LUgPSAlanUsINGA0LDQt9C80LXRgiA9ICV6dSDQsdCw0LnRgi4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2Ygc2VjdG9ycyAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFU0VUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3VjY2Vzc2Z1bGx5IHJlc2V0IGluIHJhbmdlIGZyb20gJTxQUkl1NjQ+LCB0byAlPFBSSXU2ND4iCittc2dzdHIgItCY0LzRjyDRgNCw0LfQtNC10LvQsCDQuNC30LzQtdC90LXQvdC+INGBICclcycg0L3QsCAnJS4qcycuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gPNGD0YHRgtGA0L7QudGB0YLQstC+PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwMgorbXNnaWQgIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPHNlY3Rvcj4gIHN0YXJ0IHNlY3RvciBvZiB6b25lIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMAorbXNnaWQgIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNvdW50IDxudW1iZXI+ICAgbWF4aW11bSBudW1iZXIgb2Ygem9uZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPNGH0LjRgdC70L4+ICAgICAgICAg0YPQutCw0LbQuNGC0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiDQvdCwINC00L7RgNC+0LbQutGDXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IHZhbGlkIGNvbW1hbmQgbmFtZSIKK21zZ3N0ciAibW91bnQ6ICVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQstC10YDQvdGL0Lwg0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiB6b25lcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdGC0YDQvtC6IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHRgtGA0L7QuiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0YPQutCw0LfQsNC90LAg0LrQvtC80LDQvdC00LAiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICIlczogJXMg0L3QtSBscC3Rg9GB0YLRgNC+0LnRgdGC0LLQvi5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg0YPQttC1INC30LDQtNC10LnRgdGC0LLQvtCy0LDQvVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1INGD0LbQtSDQstGL0LrQu9GO0YfQtdC9XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICLQodC10LrRgtC+0YAgJWQg0YPQttC1INCy0YvQtNC10LvQtdC9XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1INC30LDQtNC10LnRgdGC0LLQvtCy0LDQvVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIiVzINGB0L7RgdGC0L7Rj9C90LjQtSAtICVkIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiJXMg0YHQvtGB0YLQvtGP0L3QuNC1IC0gJWQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1INC+0YLQutC70Y7Rh9C10L1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAi0JDQstGC0L7QutC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1INGD0LbQtSDQvdCw0YHRgtGA0L7QtdC9XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgItCh0LXQutGC0L7RgCAlZCDRg9C20LUg0LLRi9C00LXQu9C10L1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgItCQ0LLRgtC+0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGPINC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAi0JDQstGC0L7QutC+0L3RhNC40LPRg9GA0LDRhtC40Y8g0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5LlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgItCQ0LLRgtC+0LrQvtC90YTQuNCz0YPRgNCw0YbQuNGPINC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICLQkNCy0YLQvtC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjyDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICLQkNCy0YLQvtC60L7QvdGE0LjQs9GD0YDQsNGG0LjRjyDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC90LXRg9C00LDRh9C10LkuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OlxuIgorIiVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQuSDQsNGA0LPRg9C80LXQvdGCOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lbW9yeSBCbG9jayAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBpbmRleCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQv9GA0L7RhtC10YHRgdCwIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAib3BlbnB0eSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiJXMg0YHQvtGB0YLQvtGP0L3QuNC1IC0gJWQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1NiBzeXMtdXRpbHMvY2htZW0uYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1INC30LDQtNC10LnRgdGC0LLQvtCy0LDQvVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg0L7RgtC60LvRjtGH0LXQvVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSDRg9C20LUg0LfQsNC00LXQudGB0YLQstC+0LLQsNC9XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg0YPQttC1INCy0YvQutC70Y7Rh9C10L1cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJvcGVucHR5INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiJXMg0YHQvtGB0YLQvtGP0L3QuNC1IC0gJWQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIiVzINGB0L7RgdGC0L7Rj9C90LjQtSAtICVkIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDRgNCw0LfQvtCx0YDQsNGC0Ywg0L3QvtC80LXRgCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICLQndC1INGD0LTQsNGR0YLRgdGPINC+0L/RgNC10LTQtdC70LjRgtGMINGA0LDQt9C80LXRgC4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQutC+0L3QtdGGIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgc3RhcnQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQvdCw0YfQsNC70LAiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBlbmQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC+0LUg0LjQvNGPINC40LvQuCDQvdC+0LzQtdGAINGB0LjQs9C90LDQu9CwOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90LDRh9Cw0LvQviIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQvtC/0YDQtdC00LXQu9C40YLRjCDQutC+0L3QtdGGIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgItC90LXQstC10YDQvdGL0LkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgItC90LXQstC10YDQvdGL0LkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gW3kgfCBuXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg0L/QvtC00YDQvtCx0L3Ri9C5INGA0LXQttC40LxcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kaXNhYmxlICAgICAgZGlzYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg0L/QvtC00YDQvtCx0L3Ri9C5INGA0LXQttC40LxcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQyCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ibG9ja3MgICAgICAgdXNlIG1lbW9yeSBibG9ja3NcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg0L/QvtC00YDQvtCx0L3Ri9C5INGA0LXQttC40LxcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDQv9C+0LTRgNC+0LHQvdGL0Lkg0YDQtdC20LjQvFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCf0L7QtNC00LXRgNC20LjQstCw0LXQvNGL0LUg0LLQvtC30LzQvtC20L3QvtGB0YLQuCDQttGD0YDQvdCw0LvQuNGA0L7QstCw0L3QuNGPOlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdC+0LUg0LjQvNGPINC/0YDQuNC+0YDQuNGC0LXRgtCwOiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAi0L3QtdC/0YDQtdC00LLQuNC00LXQvdC90YvQtSDQsNGA0LPRg9C80LXQvdGC0YsiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICLQktGLINC00L7Qu9C20L3RiyDQuNC80LXRgtGMINC/0YDQsNCy0LAgcm9vdCfQsCDQtNC70Y8g0L3QsNC30L3QsNGH0LXQvdC40Y8g0LTQtdC50YHRgtCy0LjRjyDQv9GA0Lgg0L3QsNC20LDRgtC40LggQ3RybC1BbHQtRGVsIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczog0L3QtdC40LfQstC10YHRgtC90YvQuSDQsNGA0LPRg9C80LXQvdGCOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgItGB0LjRgdGC0LXQvNCwINC90LXQuNGB0L/QvtC70YzQt9GD0LXQvNCw0Y8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICLQtNC10LnRgdGC0LLQuNC1INC00L7Qu9C20L3QviDQsdGL0YLRjCDQv9GA0L7QuNC30LLQtdC00LXQvdC+INC90LXQvNC10LTQu9C10L3QvdC+IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICLRg9GB0LvQvtCy0LjRjyDQutGA0LjRgtC40YfQvdC+0YHRgtC4IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICLRg9GB0LvQvtCy0LjRjyDQvtGI0LjQsdC+0LoiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAi0YPRgdC70L7QstC40Y8g0L/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQuSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgItC+0LHRi9GH0L3Ri9C1LCDQvdC+INC30L3QsNGH0LjQvNGL0LUg0YPRgdC70L7QstC40Y8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgItC40L3RhNC+0YDQvNCw0YbQuNC+0L3QvdGL0LkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICLQvtGC0LvQsNC00L7Rh9C90YvQtSDRgdC+0L7QsdGJ0LXQvdC40Y8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAi0YHQvtC+0LHRidC10L3QuNGPINGP0LTRgNCwIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAi0L/QvtGH0YLQvtCy0LDRjyDRgdC40YHRgtC10LzQsCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgItGB0LjRgdGC0LXQvNC90YvQtSDRgdC70YPQttCx0YsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgItGB0L7QvtCx0YnQtdC90LjRjyDQsdC10LfQvtC/0LDRgdC90L7RgdGC0Lgv0LDQstGC0L7RgNC40LfQsNGG0LjQuCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5Cittc2dpZCAiY2xvY2sgZGFlbW9uIgorbXNnc3RyICLRgdC70YPQttCx0LAg0LLRgNC10LzQtdC90LgiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgItGB0LvRg9C20LHQsCBGVFAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgINCe0YLQutC70Y7Rh9C10L3QuNC1INC+0YLRh9C10YLQsCDQvtCxINC+0YjQuNCx0LrQsNGFIGdldG9wdCgzKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorbXNnaWQgIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAg0L7RgtC+0LHRgNCw0LbQsNGC0Ywg0YHQvtC+0LHRidC10L3QuNGPINGP0LTRgNCwXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTcKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QvtC00LTQtdGA0LbQuNCy0LDQtdC80YvQtSDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC20YPRgNC90LDQu9C40YDQvtCy0LDQvdC40Y86XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9C+0LTQtNC10YDQtNC40LLQsNC10LzRi9C1INGD0YDQvtCy0L3QuCDQttGD0YDQvdCw0LvQuNGA0L7QstCw0L3QuNGPICjQv9GA0LjQvtGA0LjRgtC10YLRiyk6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICLQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGC0LjQvyDRgNC10YHRg9GA0YHQsDogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YLQuNC/INGA0LXRgdGD0YDRgdCwOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAi0YfRgtC10L3QuNC1INCx0YPRhNC10YDQsCDRj9C00YDQsCDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C90L4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1NDUKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImZzeW5jINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzOAorIywgZnV6enkKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgItGB0YrRkdC80L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDEKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzI1Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi0J/QvtC00LTQtdGA0LbQuNCy0LDRjtGC0YHRjyDRgtC+0LvRjNC60L4gMWsg0LHQu9C+0LrQuC/Qt9C+0L3RiyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjEKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg1Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg3Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA0Cittc2dpZCAiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMiBzeXMtdXRpbHMvZWplY3QuYzo0NTUgc3lzLXV0aWxzL2VqZWN0LmM6MTAwNgorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzUKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAi0L/QvtC40YHQuiDQsiB3cml0ZV90YWJsZXMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0YfQuNGC0LDRgtGMICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0LHQu9C+0YfQvdGL0Lwg0YPRgdGC0YDQvtC50YHRgtCy0L7QvCDQuNC70Lgg0YTQsNC50LvQvtC8XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6INGA0LDQt9C80L7QvdGC0LjRgNGD0LXRgtGB0Y8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3MworbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRgdC+0LfQtNCw0YLRjCDQtNC+0YfQtdGA0L3QuNC5INC/0YDQvtGG0LXRgdGBIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIm1vdW50OiDRgtC+0YfQutCwINC80L7QvdGC0LjRgNC+0LLQsNC90LjRjyAlcyDQvdC1INGB0YPRidC10YHRgtCy0YPQtdGCIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAib3BlbigpICVzINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjcyNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiDQvNC+0L3RgtC40YDQvtCy0LDQvdC+INCyICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAi0YPRgdGC0YDQvtC50YHRgtCy0L4g0L/QviDRg9C80L7Qu9GH0LDQvdC40Y46IGAlcyciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfRg9C10YLRgdGPINC30L3QsNGH0LXQvdC40LUg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4gJXVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC80L7RgtCw0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQtNC70Y8g0YHQstC+0L/QuNC90LPQsCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgItC40LzRjyDRg9GB0YLRgNC+0LnRgdGC0LLQsCAtIGAlcyciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIlczog0L3QtSDQv9GA0LjQvNC+0L3RgtC40YDQvtCy0LDQvSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiAlcyDQvdC1IGxwLdGD0YHRgtGA0L7QudGB0YLQstC+LlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiAlcyDQvdC1IGxwLdGD0YHRgtGA0L7QudGB0YLQstC+LlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJsb29wOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIlczog0LfQsNC60YDRi9GC0LjQtSDQu9C+0YLQutCwIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAidW1vdW50OiAlczog0YPRgdGC0YDQvtC50YHRgtCy0L4g0LfQsNC90Y/RgtC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEzCisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICLQstGL0L/QvtC70L3QtdC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI3CisjLCBmdXp6eQorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi0L7RgtC60YDRi9GC0LjQtSDQutCw0YLQsNC70L7Qs9CwINC30LDQstC10YDRiNC40LvQvtGB0Ywg0L3QtdGD0LTQsNGH0LXQuVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQuNC30LLQu9C10YfRjCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk0Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NworbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgItC/0L7QuNGB0Log0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INC30LDQtNCw0L3QviDQuNC80Y8g0YTQsNC50LvQsCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAi0J3QtdCy0LXRgNC90L7QtSDQt9C90LDRh9C10L3QuNC1INGD0YHRgtCw0L3QvtCy0LrQuDogJXNcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorIywgZnV6enkKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC10YXQstCw0YLQutCwINC/0LDQvNGP0YLQuCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4OQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgItCd0LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRg9GB0YLQsNC90L7QstC60Lg6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorIywgZnV6enkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgImxvZ2luOiDQvdC10YIg0L/QsNC80Y/RgtC4INC00LvRjyDRiNC10LvQuy3RgdC60YDQuNC/0YLQsC5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgINC90LUg0L7Rh9C40YnQsNGC0Ywg0Y3QutGA0LDQvSDQtNC+INGB0YLRgNC+0LrQuCDQv9GA0LjQs9C70LDRiNC10L3QuNGPXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICDQv9Cw0YDQsNC80LXRgtGA0YtcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDQv9C+0LTRgNC+0LHQvdGL0Lkg0YDQtdC20LjQvFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0YLQsNC50Lwt0LDRg9GC0LA6ICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSDQutC+0LQg0LLRi9GF0L7QtNCwIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgItCU0LvRjyAlcyDRgtGA0LXQsdGD0LXRgtGB0Y8g0LDRgNCz0YPQvNC10L3RglxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICLQuNGB0L/QvtGA0YfQtdC90L3Ri9C5INC00LXRgdC60YDQuNC/0YLQvtGAINGE0LDQudC70LAiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LTQsNGC0Ywg0LTQsNC90L3Ri9C1IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiDQstGL0L/QvtC70L3Rj9C10YLRgdGPICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKKyMsIGZ1enp5Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQl9Cw0L/Rg9GB0LrQsNC10YLRgdGPINC/0YDQvtCy0LXRgNC60LAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiyDQvdCwICVzLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgdCAgICAgICAgICDQodC80LXQvdCwINGC0LjQv9CwINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ4Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA1Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQutCw0YLQsNC70L7Qs9C+0LwiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgItC/0L7QuNGB0Log0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczog0L3QtSDQutCw0YLQsNC70L7QsyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC40YHQuiDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkzIHN5cy11dGlscy9sc25zLmM6MTA2NiBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgdHJpbSBhbGwgbW91bnRlZCBmaWxlc3lzdGVtcyB0aGF0IGFyZSBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdGLINGC0L7Rh9C60Lgg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgItCf0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LU6INC+0L/RhtC40Y8gbm9sb2NrINC90LUg0L/QvtC00LTQtdGA0LbQuNCy0LDQtdGC0YHRjy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICLQn9C+0LTRgNCw0LfRg9C80LXQstCw0LXRgtGB0Y8sINGH0YLQviDQsNC/0L/QsNGA0LDRgtC90YvQtSDRh9Cw0YHRiyDQstGL0YHRgtCw0LLQu9C10L3RiyDQv9C+ICVzINCy0YDQtdC80LXQvdC4LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICLQvNC10YHRgtC90L7QvNGDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAi0J/RgNC10LTRg9C/0YDQtdC20LTQtdC90LjQtTog0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90LDRjyDRgtGA0LXRgtGM0Y8g0YHRgtGA0L7QutCwINCyINGE0LDQudC70LUgYWRqdGltZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgItCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDQutC+0YDRgNC10LrRgtC40YDQvtCy0LrQuCDQvtGC0LrQu9C+0L3QtdC90LjRjyAtICVsZCDRgdC10LrRg9C90LQg0L/QvtGB0LvQtSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgItCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQuSDQutCw0LvQuNCx0YDQvtCy0LrQuCAtICVsZCDRgdC10LrRg9C90LQg0L/QvtGB0LvQtSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0Ysg0LLRi9GB0YLQsNCy0LvQtdC90Ysg0L/QviAlcyDQstGA0LXQvNC10L3QuFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgItCe0LbQuNC00LDQtdGC0YHRjyDRgtC40LrQsNC90YzQtSDRh9Cw0YHQvtCyLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4u0YHQuNC90YXRgNC+0L3QuNC30LDRhtC40Y8g0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIi4uLtC/0L7Qu9GD0YfQtdC90L4g0YLQuNC60LDQvdGM0LUg0YfQsNGB0L7QslxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorbXNnc3RyICLQndC10LLQtdGA0L3Ri9C1INC30L3QsNGH0LXQvdC40Y8g0LIg0LDQv9C/0LDRgNCw0YLQvdGL0YUg0YfQsNGB0LDRhTogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdC+0LUg0LLRgNC10LzRjzogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCDRgdC10LrRg9C90LQg0YEgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICLQktGA0LXQvNGPLCDQv9GA0L7Rh9C40YLQsNC90L3QvtC1INGBINCw0L/Qv9Cw0YDQsNGC0L3Ri9GFINGH0LDRgdC+0LI6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0Ysg0YPRgdGC0LDQvdCw0LLQu9C40LLQsNGO0YLRgdGPINCyICUuMmQ6JS4yZDolLjJkID0gJWxkINGB0LXQutGD0L3QtCDRgSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgdG8gc2V0IHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjgKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAwKSB0byBsb2NrIHRoZSB3YXJwIGZ1bmN0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoJWxkLiUwNmxkLCAlZClcbiIKK21zZ3N0ciAi0JLRi9C30YvQstCw0LXRgtGB0Y8gc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIKK21zZ3N0ciAi0JLRi9C30YvQstCw0LXRgtGB0Y8gc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjU1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAi0JrQvtGA0YDQtdC60YLQuNGA0L7QstC60LAg0LrQvtGN0YTRhNC40YbQuNC10L3RgtCwINC+0YLQutC70L7QvdC10L3QuNGPINC90LUg0LLRi9C/0L7Qu9C90LXQvdCwLCDQv9C+0YLQvtC80YMg0YfRgtC+INCw0L/Qv9Cw0YDQsNGC0L3Ri9C1INGH0LDRgdGLINGA0LDQvdC10LUg0YHQvtC00LXRgNC20LDQu9C4INC80YPRgdC+0YAuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisi0JrQvtGA0YDQtdC60YLQuNGA0L7QstC60LAg0LrQvtGN0YTRhNC40YbQuNC10L3RgtCwINC+0YLQutC70L7QvdC10L3QuNGPINC90LUg0LLRi9C/0L7Qu9C90LXQvdCwLCDQv9C+0YLQvtC80YNcbiIKKyLRh9GC0L4g0L/QvtGB0LvQtdC00L3Rj9GPINC60LDQu9C40LHRgNC+0LLQutCwINCx0YvQu9CwINC90YPQu9C10LLQvtC5LCDQv9C+0Y3RgtC+0LzRgyDQvdC10LLQtdGA0L3QsFxuIgorItGF0YDQvtC90L7Qu9C+0LPQuNGPINC4INC90LXQvtCx0YXQvtC00LjQvCDQt9Cw0L/Rg9GB0Log0LrQsNC70LjQsdGA0L7QstC60LguXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICLQmtC+0YDRgNC10LrRgtC40YDQvtCy0LrQsCDQutC+0Y3RhNGE0LjRhtC40LXQvdGC0LAg0L7RgtC60LvQvtC90LXQvdC40Y8g0L3QtSDQstGL0L/QvtC70L3QtdC90LAsINC/0L7RgtC+0LzRgyDRh9GC0L4g0YHQviDQstGA0LXQvNC10L3QuCDQv9C+0YHQu9C10LTQvdC10Lkg0LrQsNC70LjQsdGA0L7QstC60Lgg0L/RgNC+0YjQu9C+INC80LXQvdC10LUg0LTQvdGPLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorItCn0LDRgdGLINC/0LXRgNC10LLQtdC00LXQvdGLINC90LAgJS4xZiDRgdC10LrRg9C90LQg0L3QsNC30LDQtCwgJWQg0YHQtdC60YPQvdC0INC90LXRgdC80L7RgtGA0Y8g0L3QsCDQutC+0Y3RhNGE0LjRhtC40LXQvdGCINC+0YLQutC70L7QvdC10L3QuNGPICVmINGB0LXQutGD0L3QtCDQsiDQtNC10L3RjC5cbiIKKyLQmtC+0Y3RhNGE0LjRhtC40LXQvdGCINC+0YLQutC70L7QvdC10L3QuNGPINC90LDRgdGC0YDQsNC40LLQsNC10YLRgdGPINC90LAgJWYg0YHQtdC60YPQvdC0INCyINC00LXQvdGMXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gItCS0YDQtdC80Y8g0L/QvtGB0LvQtSDQv9C+0YHQu9C10LTQvdC10Lkg0LrQvtGA0YDQtdC60YLQuNGA0L7QstC60Lgg0YHQvtGB0YLQsNCy0LvRj9C10YIgJWQg0YHQtdC60YPQvdC0XG4iCittc2dzdHJbMV0gItCS0YDQtdC80Y8g0L/QvtGB0LvQtSDQv9C+0YHQu9C10LTQvdC10Lkg0LrQvtGA0YDQtdC60YLQuNGA0L7QstC60Lgg0YHQvtGB0YLQsNCy0LvRj9C10YIgJWQg0YHQtdC60YPQvdC0XG4iCittc2dzdHJbMl0gIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICIiCisi0JrQvtGA0YDQtdC60YLQuNGA0L7QstC60LAg0LrQvtGN0YTRhNC40YbQuNC10L3RgtCwINC+0YLQutC70L7QvdC10L3QuNGPINC90LUg0LLRi9C/0L7Qu9C90LXQvdCwLCDQv9C+0YLQvtC80YNcbiIKKyLRh9GC0L4g0L/QvtGB0LvQtdC00L3Rj9GPINC60LDQu9C40LHRgNC+0LLQutCwINCx0YvQu9CwINC90YPQu9C10LLQvtC5LCDQv9C+0Y3RgtC+0LzRgyDQvdC10LLQtdGA0L3QsFxuIgorItGF0YDQvtC90L7Qu9C+0LPQuNGPINC4INC90LXQvtCx0YXQvtC00LjQvCDQt9Cw0L/Rg9GB0Log0LrQsNC70LjQsdGA0L7QstC60LguXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKyLQmtC+0YDRgNC10LrRgtC40YDQvtCy0LrQsCDQutC+0Y3RhNGE0LjRhtC40LXQvdGC0LAg0L7RgtC60LvQvtC90LXQvdC40Y8g0L3QtSDQstGL0L/QvtC70L3QtdC90LAsINC/0L7RgtC+0LzRg1xuIgorItGH0YLQviDQv9C+0YHQu9C10LTQvdGP0Y8g0LrQsNC70LjQsdGA0L7QstC60LAg0LHRi9C70LAg0L3Rg9C70LXQstC+0LksINC/0L7RjdGC0L7QvNGDINC90LXQstC10YDQvdCwXG4iCisi0YXRgNC+0L3QvtC70L7Qs9C40Y8g0Lgg0L3QtdC+0LHRhdC+0LTQuNC8INC30LDQv9GD0YHQuiDQutCw0LvQuNCx0YDQvtCy0LrQuC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAi0J3QtSDQvdCw0LnQtNC10L0g0L/RgNC40LPQvtC00L3Ri9C5INGH0LDRgdC+0LLQvtC5INC40L3RgtC10YDRhNC10LnRgS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINC00L7RgdGC0YPQvyDQuiDQsNC/0L/QsNGA0LDRgtC90YvQvCDRh9Cw0YHQsNC8INC60LDQutC40Lwg0LHRiyDRgtC+INC90Lgg0LHRi9C70L4g0LjQt9Cy0LXRgdGC0L3Ri9C8INGB0L/QvtGB0L7QsdC+0LwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQudGC0LUg0L7Qv9GG0LjRjiAtLWRlYnVnLCDRh9GC0L7QsdGLINGD0LLQuNC00LXRgtGMINC/0L7QtNGA0L7QsdC90YPRjiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQvdCw0YjQtdC8INC/0L7QuNGB0LrQtSDQtNC70Y8g0LzQtdGC0L7QtNCwINC00L7RgdGC0YPQv9CwLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk3MAorbXNnaWQgIlJUQyByZWFkIHJldHVybmVkIGFuIGludmFsaWQgdmFsdWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAi0J3QtdC+0LHRhdC+0LTQuNC80LDRjyDQutC+0YDRgNC10LrRgtC40YDQvtCy0LrQsCDRgdC+0YHRgtCw0LLQu9GP0LXRgiDQvNC10L3RjNGI0LUg0YHQtdC60YPQvdC00YssINC/0L7RjdGC0L7QvNGDINGH0LDRgdGLINC90LUg0L3QsNGB0YLRgNCw0LjQstCw0Y7RgtGB0Y8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0YfQuNGC0LDRgtGMINGB0YPQv9C10YDQsdC70L7QuiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YHQuNGB0YLQtdC80L3Ri9C1INGH0LDRgdGLLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICDQvtGC0L7QsdGA0LDQt9C40YLRjCDQsiDRhNC+0YDQvNCw0YLQtSDRgdGL0YDRi9GFINC00LDQvdC90YvRhVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LrQvtC90YLQtdC60YHRgiBTRUxpbnV4XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjcKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgICBsICAg0YHQv9C40YHQvtC6INGC0LjQv9C+0LIg0LjQt9Cy0LXRgdGC0L3Ri9GFINGE0LDQudC70L7QstGL0YUg0YHQuNGB0YLQtdC8IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAgICAtLWhlbHAgICAgICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0Y3RgtGDINGB0L/RgNCw0LLQutGDINC4INCy0YvQudGC0LhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0YTQsNC50Lsg0LLQvNC10YHRgtC+ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDRgdC+0LLQtdGC0YtcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRg9C60LDQt9Cw0L3QvdGL0Lkg0YTQsNC50Lsg0LLQvNC10YHRgtC+ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDQktGL0LLQvtC0INC40L3RhNC+0YDQvNCw0YbQuNC4INC+INCy0LXRgNGB0LjQuFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YHQuNGB0YLQtdC80L3Ri9C1INGH0LDRgdGLLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICLRgdC70LjRiNC60L7QvCDQvNC90L7Qs9C+INCw0YDQs9GD0LzQtdC90YLQvtCyIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMTcKK21zZ2lkICItLXVwZGF0ZS1kcmlmdCByZXF1aXJlcyAtLXNldCBvciAtLXN5c3RvaGMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCisjLCBmdXp6eQorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICIlczog0KEgLS1ub2FkamZpbGUg0LLRiyDQtNC+0LvQttC90Ysg0YPQutCw0LfQsNGC0Ywg0LvQuNCx0L4gLS11dGMsINC70LjQsdC+IC0tbG9jYWx0aW1lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSBpZDogJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICLQotC10LrRg9GJ0LXQtSDRgdC40YHRgtC10LzQvdC+0LUg0LLRgNC10LzRjzogJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgImlvcGwoKSBwb3J0IGFjY2VzcyBmYWlsZWQiCittc2dzdHIgItC90LXRgiDQtNC+0YHRgtGD0L/QsCDQuiDRhNCw0LnQu9GDICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIG9wZW46ICVzXG4iCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHJ0YyBkZXZpY2UiCittc2dzdHIgItC90LUg0YPQtNCw0ZHRgtGB0Y8g0L7RgtC60YDRi9GC0YwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpICVzINC/0YDQuCDRh9GC0LXQvdC40Lgg0LLRgNC10LzQtdC90Lgg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICLQkiDRhtC40LrQu9C1INC+0LbQuNC00LDQtdGC0YHRjyDQtNC70Y8g0YHQvNC10L3RiyDQstGA0LXQvNGPINC40LcgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgItCY0YHRgtC10LrQu9C+INCy0YDQtdC80Y8g0L7QttC40LTQsNC90LjRjyDQtNC70Y8g0YHQvNC10L3RiyDQstGA0LXQvNC10L3QuC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAi0JjRgdGC0LXQutC70L4g0LLRgNC10LzRjyDQvtC20LjQtNCw0L3QuNGPINGC0LjQutCw0L3RjNGPINGH0LDRgdC+0LIgc2VsZWN0KCkg0LIgJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QoKSDQsiAlcyDQtNC70Y8g0L7QttC40LTQsNC90LjRjyDRgtC40LrQsNC90YzRjyDRh9Cw0YHQvtCyINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSDQsiAlcyDQtNC70Y8g0LLRi9C60LvRjtGH0LXQvdC40Y8g0L/RgNC10YDRi9Cy0LDQvdC40Lkg0L7QsdC90L7QstC70LXQvdC40Y8g0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSDQsiAlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpINCyICVzINC00LvRjyDRg9GB0YLQsNC90L7QstC60Lgg0LLRgNC10LzQtdC90Lgg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpINC30LDQstC10YDRiNC40LvRgdGPINGD0YHQv9C10YjQvdC+LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKK21zZ2lkICJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSDQsiAlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfUkVBRCkg0LIgJXMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGVwb2NoICclcycuIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0LkgaWQ6ICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkg0LIgJXMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpINCyICVzINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworbXNnaWQgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgY3JlYXRlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZiBzaXplIDxzaXplPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDQkdC10Lcg0L7QsdGL0YfQvdGL0YUg0LLRi9GF0L7QtNC90YvRhSDQtNCw0L3QvdGL0YVcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQxCittc2dpZCAiY3JlYXRlIHNoYXJlIG1lbW9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCz0LzQtdC90YIg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0OQorbXNnaWQgImNyZWF0ZSBtZXNzYWdlIHF1ZXVlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQntGH0LXRgNC10LTRjCDRgdC+0L7QsdGJ0LXQvdC40LkgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICLQstGL0LTQtdC70LXQvdC+INGB0LXQvNCw0YTQvtGA0L7QsiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICIiCisiXG4iCisi0JzQsNGB0YHQuNCyINGB0LXQvNCw0YTQvtGA0L7QsiBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LPQvNC10L3RgiDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0Lggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisi0J7Rh9C10YDQtdC00Ywg0YHQvtC+0LHRidC10L3QuNC5IG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisi0JzQsNGB0YHQuNCyINGB0LXQvNCw0YTQvtGA0L7QsiBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAi0LTQu9GPINC60LvRjtGH0LAg0LTQvtGB0YLRg9C/INC30LDQv9GA0LXRidC10L0iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAi0LTQu9GPIGlkINC00L7RgdGC0YPQvyDQt9Cw0L/RgNC10YnQtdC9IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEgc3lzLXV0aWxzL2lwY3JtLmM6MjI4Cittc2dpZCAiaW52YWxpZCBrZXkiCittc2dzdHIgItC90LXQstC10YDQvdGL0Lkg0LrQu9GO0YciCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgItC90LXQstC10YDQvdGL0LkgaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICLQutC70Y7RhyDRg9C20LUg0YPQtNCw0LvQtdC9IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImlkINGD0LbQtSDRg9C00LDQu9C10L0iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC40YHQuiDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSBpZDogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgItGA0LXRgdGD0YDRgdGLKNGLKSDRg9C00LDQu9C10L0o0YspXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAiJXM6INC90LXQstC10YDQvdGL0Lkg0LrQu9GO0YcgKCVzKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICLRj9C00YDQviDQvdC1INC90LDRgdGC0YDQvtC10L3QviDQtNC70Y8g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y8g0YHQvtCy0LzQtdGB0YLQvdC+INC40YHQv9C+0LvRjNC30YPQtdC80L7QuSDQv9Cw0LzRj9GC0LhcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAi0Y/QtNGA0L4g0L3QtSDQvdCw0YHRgtGA0L7QtdC90L4g0L3QsCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDRgdC10LzQsNGE0L7RgNC+0LJcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgItGP0LTRgNC+INC90LUg0L3QsNGB0YLRgNC+0LXQvdC+INC90LAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0L7Rh9C10YDQtdC00Lgg0YHQvtC+0LHRidC10L3QuNC5XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3IHN5cy11dGlscy9sc2lwYy5jOjI4MQorIywgZnV6enkKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICIlcyDQv9GA0LXQtNC+0YHRgtCw0LLQu9GP0LXRgiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDRgdGA0LXQtNGB0YLQstCw0YUgaXBjLCDQuiDQutC+0YLQvtGA0YvQvCDQstGLINC40LzQtdC10YLQtSDQtNC+0YHRgtGD0L8g0L3QsCDRh9GC0LXQvdC40LUuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIi1pIGlkIFstcyAtcSAtbV0gOiDQv9C+0LTRgNC+0LHQvdC+0YHRgtC4INC+INGA0LXRgdGD0YDRgdC1LCDQuNC00LXQvdGC0LjRhNC40YbQuNGA0L7QstCw0L3QvdC+0Lwg0L/QviBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICLQn9C+0LvQtdC30L3Ri9C1INC+0L/RhtC40Lg6IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkINGA0LDQt9C00LXQu9GLOlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICLQvNCw0LrRgdC40LzRg9C8INGB0YPQvNC80LDRgNC90L7QuSDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0LggKNC60LHQsNC50YIpID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0J/RgNC10LTQtdC70Ysg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC10LPQvNC10L3RgtC+0LIgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5INGA0LDQt9C80LXRgCBpbm9kZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKKyMsIGZ1enp5Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0YHRg9C80LzQsNGA0L3QvtC5INGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCAo0LrQsdCw0LnRgikgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICLQvNC40L3QuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRgdC10LPQvNC10L3RgtCwICjQsdCw0LnRgikgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgItGP0LTRgNC+INC90LUg0L3QsNGB0YLRgNC+0LXQvdC+INC00LvRjyDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjyDRgdC+0LLQvNC10YHRgtC90L4g0LjRgdC/0L7Qu9GM0LfRg9C10LzQvtC5INC/0LDQvNGP0YLQuFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0L7RgdGC0L7Rj9C90LjQtSDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0LggLS0tLS0tLS1cbiIKKworIy4gVFJBTlNMQVRPUlM6IFRoaXMgb3V0cHV0IGZvcm1hdCBpcyBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorIy4gY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisjLiB3aXRoIHRoZSByZXN0LCB0aGUgdHJhbnNsYXRlZCBmb3JtIGNhbiBmb2xsb3cgdGhpcyBtb2RlbDoKKyMuICoKKyMuICJzZWdtZW50cyBhbGxvY2F0ZWQgPSAlZFxuIgorIy4gInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorIy4gInBhZ2VzIHJlc2lkZW50ID0gJWxkXG4iCisjLiAicGFnZXMgc3dhcHBlZCA9ICVsZFxuIgorIy4gInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKyMuCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQodC+0LfQtNCw0YLQtdC70Lgv0LLQu9Cw0LTQtdC70YzRhtGLINGB0LXQs9C80LXQvdGC0LAg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgItC/0YDQsNCy0LAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY3VpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjZ2lkIgorbXNnc3RyICJjZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgInVpZCIKK21zZ3N0ciAidWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImdpZCIKK21zZ3N0ciAiZ2lkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KfQuNGB0LvQviDQv9C+0LTQutC70Y7Rh9C10L3QuNC5L9C+0YLQutC70Y7Rh9C10L3QuNC5L9C40LfQvNC10L3QtdC90LjRjyDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0LggLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICLQstC70LDQtNC10LvQtdGGIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICLQv9C+0LTQutC70Y7Rh9C10L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAi0L7RgtC60LvRjtGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgItC40LfQvNC10L3QtdC90L4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHQvtC30LTQsNGC0LXQu9GML9C/0L7RgdC70LXQtNC90Y/RjyDQvtC/0LXRgNCw0YbQuNGPINGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0LXQs9C80LXQvdGC0Ysg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAia2V5IgorbXNnc3RyICLQutC70Y7RhyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJzaXplIgorbXNnc3RyICLRgNCw0LfQvNC10YAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgItCx0LDQudGC0YsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg4Cittc2dpZCAibmF0dGNoIgorbXNnc3RyICJuYXR0Y2giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg4Cittc2dpZCAic3RhdHVzIgorbXNnc3RyICLRgdC+0YHRgtC+0Y/QvdC40LUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzEyIHN5cy11dGlscy9pcGNzLmM6MzE0IHN5cy11dGlscy9pcGNzLmM6MzE2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQzMCBzeXMtdXRpbHMvaXBjcy5jOjQzMiBzeXMtdXRpbHMvaXBjcy5jOjUzOAorIzogc3lzLXV0aWxzL2lwY3MuYzo1NDAgc3lzLXV0aWxzL2lwY3MuYzo1NDIgc3lzLXV0aWxzL2lwY3MuYzo1OTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk4IHN5cy11dGlscy9pcGNzLmM6NjI3IHN5cy11dGlscy9pcGNzLmM6NjI5CisjOiBzeXMtdXRpbHMvaXBjcy5jOjYzMSBzeXMtdXRpbHMvaXBjcy5jOjY1NQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgItCd0LUg0YPRgdGC0LDQvdC+0LLQu9C10L0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICLQvdCw0LfQvdCw0YfQtdC90LjQtSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgItC30LDQsdC70L7QutC40YDQvtCy0LDQvSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0J/RgNC10LTQtdC70Ysg0YHQtdC80LDRhNC+0YDQvtCyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC80LDRgdGB0LjQstC+0LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICLQvNCw0LrRgdC40LzRg9C8INGB0LXQvNCw0YTQvtGA0L7QsiDQvdCwINC80LDRgdGB0LjQsiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80YPQvCDRgdC10LzQsNGE0L7RgNC+0LIg0L3QsCDQstGB0Y4g0YHQuNGB0YLQtdC80YMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80YPQvCDQvtC/0LXRgNCw0YbQuNC5INC90LAg0LLRi9C30L7QsiDRgdC10LzQsNGE0L7RgNCwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQt9C90LDRh9C10L3QuNC1INGB0LXQvNCw0YTQvtGA0LAgPSAldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAi0Y/QtNGA0L4g0L3QtSDQvdCw0YHRgtGA0L7QtdC90L4g0L3QsCDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtSDRgdC10LzQsNGE0L7RgNC+0LJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0L7RgdGC0L7Rj9C90LjQtSDRgdC10LzQsNGE0L7RgNCwIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC+INC80LDRgdGB0LjQstC+0LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgItCy0YvQtNC10LvQtdC90L4g0YHQtdC80LDRhNC+0YDQvtCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQodC+0LfQtNCw0YLQtdC70Lgv0LLQu9Cw0LTQtdC70YzRhtGLINC80LDRgdGB0LjQstC+0LIg0YHQtdC80LDRhNC+0YDQvtCyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQmtC+0LvQuNGH0LXRgdGC0LLQviDQvtC/0LXRgNCw0YbQuNC5L9C40LfQvNC10L3QtdC90LjQuSDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0LggLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICLQv9C+0YHQu9C10LTQvdGP0Y8g0L7Qv9C10YDQsNGG0LjRjyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgItC/0L7RgdC70LXQtNC90LXQtSDQuNC30LzQtdC90LXQvdC40LUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQnNCw0YHRgdC40LLRiyDRgdC10LzQsNGE0L7RgNC+0LIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0LPQvtC70L7QstC+0LoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQodC+0L7QsdGJ0LXQvdC40Y86INCf0YDQtdC00LXQu9GLIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICLQvNCw0LrRgdC40LzRg9C8INC+0YfQtdGA0LXQtNC10Lkg0LTQu9GPINCy0YHQtdC5INGB0LjRgdGC0LXQvNGLID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzEKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGB0L7QvtCx0YnQtdC90LjRjyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0L/QviDRg9C80L7Qu9GH0LDQvdC40Y4g0YDQsNC30LzQtdGAINGB0L7QvtCx0YnQtdC90LjRjyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICLRj9C00YDQviDQvdC1INC90LDRgdGC0YDQvtC10L3QviDQvdCwINC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1INC+0YfQtdGA0LXQtNC4INGB0L7QvtCx0YnQtdC90LjQuVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHQvtC+0LHRidC10L3QuNGPOiDQodC+0YHRgtC+0Y/QvdC40LUtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAi0LLRi9C00LXQu9C10L3QviDQvtGH0LXRgNC10LTQtdC5ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC+INC30LDQs9C+0LvQvtCy0LrQvtCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODgKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90L4g0L/RgNC+0YHRgtGA0LDQvdGB0YLQstCwIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIg0LHQsNC50YJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCe0YfQtdGA0LXQtNC4INGB0L7QvtCx0YnQtdC90LjQuTog0KHQvtC30LTQsNGC0LXQu9C4L9Cy0LvQsNC00LXQu9GM0YbRiy0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCa0L7Qu9C40YfQtdGB0YLQstC+INC+0YLQv9GA0LDQstC70LXQvdC40Lkv0L/RgNC40LXQvNCwL9C40LfQvNC10L3QtdC90LjQuSDQvtGH0LXRgNC10LTQuCDRgdC+0L7QsdGJ0LXQvdC40LkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICLQvtGC0L/RgNCw0LLQu9C10L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJyZWN2IgorbXNnc3RyICLQv9GA0LjQvdGP0YLQviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgItC40LfQvNC10L3QtdC90L4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQSUQn0Ysg0L7Rh9C10YDQtdC00Lgg0YHQvtC+0LHRidC10L3QuNC5IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQntGH0LXRgNC10LTQuCDRgdC+0L7QsdGJ0LXQvdC40LkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICLQuNGB0L8uINCx0LDQudGC0YsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgItGB0L7QvtCx0YnQtdC90LjRjyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6INC90LUg0L3QsNC50LTQtdC9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LPQvNC10L3RgiDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0Lggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0lZFx0Z2lkPSVkXHRjdWlkPSVkXHRjZ2lkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgItGA0LXQttC40Lw9JSNvXHTQv9GA0LDQstCwX9C00L7RgdGC0YPQv9CwPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgInNpemU9IgorbXNnc3RyICLRgNCw0LfQvNC10YA9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAi0LHQsNC50YLRiyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAi0LHQsNC50YLRiz0lbGRcdGxwaWQ9JWRcdGNwaWQ9JWRcdG5hdHRjaD0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi0LLRgNC10LzRj1/Qv9C+0LTQutC7PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItCy0YDQtdC80Y9f0L7RgtC60Ls9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi0LLRgNC10LzRj1/QuNC30LzQtdC9PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQntGH0LXRgNC10LTRjCDRgdC+0L7QsdGJ0LXQvdC40LkgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHTRgNC10LbQuNC8PSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICLQsdCw0LnRgtGLIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorIywgZnV6enkKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICLQsdCw0LnRgtGLIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi0LLRgNC10LzRj1/QvtGC0L/RgNCw0LLQutC4PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItCy0YDQtdC80Y9f0L/QvtC70YPRh9C10L3QuNGPPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorItCc0LDRgdGB0LjQsiDRgdC10LzQsNGE0L7RgNC+0LIgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi0YDQtdC20LjQvD0lI28sINC/0YDQsNCy0LBf0LTQvtGB0YLRg9C/0LA9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICLQui3QstC+X9GB0LXQvCA9ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgItCy0YDQtdC80Y9f0L7Qv9C10YAgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgItCy0YDQtdC80Y9f0LjQt9C8PSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAi0YfQuNGB0LvQviDRgdC10LzQsNGE0L7RgNC+0LIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgItC30L3QsNGH0LXQvdC40LUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC40YHQuiDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgItCx0LDQudGC0YsiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgItCx0LDQudGC0YsiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgItC90LXQstC10YDQvdGL0LkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0LDRgNCz0YPQvNC10L3RgiDQs9C+0LvQvtCy0L7QuiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LLQtdGA0L3Ri9C5IGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L7RgdC+0LHRi9C8INCx0LvQvtGH0L3Ri9C8INGD0YHRgtGA0L7QudGB0YLQstC+0LwiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNGR0YLRgdGPINGB0L7Qt9C00LDRgtGMINC60LDRgtCw0LvQvtCzICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NzMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0L3QsCDQtNC40YHQutC+0LLQvtC8INC90LDQutC+0L/QuNGC0LXQu9C1IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKKyMsIGZ1enp5Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi0LHQu9C+0YfQvdC+0LUg0YPRgdGC0YDQvtC50YHRgtCy0L4gIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OAorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgItGA0LDQt9C80LXRgCDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INGB0LXQutGC0L7RgNCwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsINGB0LzQtdGJ0LXQvdC40LUgJWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwg0L7Qs9GA0LDQvdC40YfQtdC90LjQtSDQvdCwINGA0LDQt9C80LXRgCAlbGxkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLCBlbmNyeXB0aW9uICVzICh0eXBlICV1KSIKK21zZ3N0ciAiLCDRiNC40YTRgNC+0LLQsNC90LjQtSAlcyAo0YLQuNC/ICVkKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlcyDRgdC+0YHRgtC+0Y/QvdC40LUgLSAlZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA2Cittc2dpZCAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDcKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPNGA0LDQt9C80LXRgD4gICAg0YDQsNC30LzQtdGAINGE0LjQt9C40YfQtdGB0LrQvtCz0L4g0Lgg0LvQvtCz0LjRh9C10YHQutC+0LPQviDRgdC10LrRgtC+0YDQvtCyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIG4gICAgICAgICAg0KHQvtC30LTQsNC90LjQtSDQvdC+0LLQvtCz0L4g0YDQsNC30LTQtdC70LAg0L3QsCDRgdCy0L7QsdC+0LTQvdC+0Lwg0L/RgNC+0YHRgtGA0LDQvdGB0YLQstC1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTgKK21zZ2lkICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgcHJpbnQgZGV2aWNlIG5hbWUgYWZ0ZXIgc2V0dXAgKHdpdGggLWYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzINC90LUgbHAt0YPRgdGC0YDQvtC50YHRgtCy0L4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAibW91bnQ6INGD0YHRgtCw0L3QvtCy0LrQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30Lgg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTA3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibW91bnQ6INGD0YHRgtCw0L3QvtCy0LrQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30Lgg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNoZWNrIGZvciBjb25mbGljdGluZyBsb29wIGRldmljZXMiCittc2dzdHIgIm1vdW50OiDRg9GB0YLQsNC90L7QstC60LAg0YPRgdGC0YDQvtC50YHRgtCy0LAg0L7QsdGA0LDRgtC90L7QuSDRgdCy0Y/Qt9C4INC30LDQstC10YDRiNC40LvQsNGB0Ywg0L3QtdGD0LTQsNGH0LXQuVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4INC90Lgg0L7QtNC90L7Qs9C+INGB0LLQvtCx0L7QtNC90L7Qs9C+INGD0YHRgtGA0L7QudGB0YLQstCwINC+0LHRgNCw0YLQvdC+0Lkg0YHQstGP0LfQuCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiaW9jdGwoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC/0YDQuCDRh9GC0LXQvdC40Lgg0LLRgNC10LzQtdC90Lgg0LjQtyAlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxvZ2ljYWwgYmxvY2sgc2l6ZSIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0LXRgNC10LzQvtGC0LDRgtGMINGD0YHRgtGA0L7QudGB0YLQstC+INC00LvRjyDRgdCy0L7Qv9C40L3Qs9CwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorIywgZnV6enkKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIm1vdW50OiDRg9GB0YLRgNC+0LnRgdGC0LLQviDQvtCx0YDQsNGC0L3QvtC5INGB0LLRj9C30Lgg0YPQutCw0LfQsNC90L4g0LTQstCw0LbQtNGLIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXMg0YHQvtGB0YLQvtGP0L3QuNC1IC0gJWQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0LXRgNC10LnRgtC4INCyINC60LDRgtCw0LvQvtCzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBsb2dpY2FsIGJsb2NrIHNpemUgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1Cittc2dpZCAibm9uZSIKK21zZ3N0ciAi0L3QtdGCIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NgorbXNnaWQgInBhcmEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKK21zZ2lkICJmdWxsIgorbXNnc3RyICLQv9C+0LvQvdGL0LkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk4Cittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICLQutC+0L3RgtC10LnQvdC10YAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgItCz0L7RgNC40LfQvtC90YLQsNC70YzQvdGL0LkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICLQstC10YDRgtC40LrQsNC70YzQvdGL0LkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INCm0J/QoyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INGP0LTRgNCwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQu9C+0LPQuNGH0LXRgdC60L7Qs9C+INGP0LTRgNCwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKK21zZ2lkICJzaG93cyBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMQorbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAi0YTQuNC30LjRh9C10YHQutC40Lkg0LDQtNGA0LXRgSDQptCf0KMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgItC/0L7QutCw0LfQsNGC0Ywg0LzQsNC60YHQuNC80LDQu9GM0L3Rg9GOINGH0LDRgdGC0L7RgtGDINCm0J/QoyDQsiBNSHogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAi0L/QvtC60LDQt9Cw0YLRjCDQvNC40L3QuNC80LDQu9GM0L3Rg9GOINGH0LDRgdGC0L7RgtGDINCm0J/QoyDQsiBNSHogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiJXM6INC/0YDQtdC00YPQv9GA0LXQttC00LXQvdC40LUgLSDQvdC10LLQvtC30LzQvtC20L3QviDQvtC/0YDQtdC00LXQu9C40YLRjCDRgNCw0LfQvNC10YAg0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRi1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo3NDgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINC+0LHRgNCw0LHQvtGC0YfQuNC6INGB0LjQs9C90LDQu9CwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICLQlCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQzMyBzeXMtdXRpbHMvbHNjcHUuYzoxNDQzCittc2dpZCAiTiIKK21zZ3N0ciAi0J0iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MjQKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICLQkNGA0YXQuNGC0LXQutGC0YPRgNCwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczNworbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAi0J/QvtGA0Y/QtNC+0Log0LHQsNC50YI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ3Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjcKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAzCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAi0K/QtNC10YAg0L3QsCDRgdC+0LrQtdGCOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwOAorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMworbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxNQorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICLQodC+0LrQtdGC0L7QsjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICJJRCDQv9GA0YDQvtC40LfQstC+0LTQuNGC0LXQu9GPOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorIywgZnV6enkKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICLQotC40L8g0YDQsNC30LTQtdC70LA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI4Cittc2dpZCAiQ1BVIGZhbWlseToiCittc2dzdHIgItCh0LXQvNC10LnRgdGC0LLQviDQptCf0KM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICLQnNC+0LTQtdC70Yw6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMyCittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgItCY0LzRjyDQvNC+0LTQtdC70Lg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICLQodGC0LXQv9C/0LjQvdCzOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzgKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MgorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ0Cittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDYKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0OSBzeXMtdXRpbHMvbHNjcHUuYzoxODUxCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICLQktC40YDRgtGD0LDQu9C40LfQsNGG0LjRjzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTQKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAi0JPQuNC/0LXRgNCy0LjQt9C+0YA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU2Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICLQoNCw0LfRgNCw0LHQvtGC0YfQuNC6INCz0LjQv9C10YDQstC40LfQvtGA0LA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgItCi0LjQvyDQstC40YDRgtGD0LDQu9C40LfQsNGG0LjQuDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICLQpNC40LfQuNGH0LXRgdC60LjQtSDRhtC40LvQuNC90LTRgNGLIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAi0KTQuNC30LjRh9C10YHQutC40LUg0YbQuNC70LjQvdC00YDRiyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAi0YDQsNC30LzQtdGAINGE0LjQt9C40YfQtdGB0LrQvtCz0L4g0YHQtdC60YLQvtGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODgKK21zZ2lkICJGbGFnczoiCittc2dzdHIgItCk0LvQsNCz0Lg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDcKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLRjCDQstGB0LUg0YPRgdGC0YDQvtC50YHRgtCy0LBcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgItC90LXQstC10YDQvdGL0LkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgItGA0LXRgdGD0YDRgdGLKNGLKSDRg9C00LDQu9C10L0o0YspXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgItC60LvRjtGHIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgItGA0LXRgdGD0YDRgdGLKNGLKSDRg9C00LDQu9C10L0o0YspXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAi0LLQu9Cw0LTQtdC70LXRhiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICIlcyDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAi0J7RgdC90L7QstC90LDRjyDQs9GA0YPQv9C/0LAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworIywgZnV6enkKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICLQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICLQmNC80Y8g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKKyMsIGZ1enp5Cittc2dpZCAiR0lEIgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsNC90LjQtSDQs9GA0YPQv9C/0YsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAi0L/QvtGB0LvQtdC00L3QtdC1INC40LfQvNC10L3QtdC90LjQtSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgItCf0L7QvNC10YLQuNGC0YwsINC60LDQuiDQuNGB0L/QvtC70YzQt9GD0LXQvNGL0LkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INCz0L7Qu9C+0LLQvtC6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgItGB0L7QvtCx0YnQtdC90LjRjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2CisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAi0LTQsNGC0LAg0L/QvtGB0LvQtdC00L3QtdCz0L4g0LLRhdC+0LTQsCDQsiDRgdC40YHRgtC10LzRgyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICLQv9C+0LvRg9GH0LjRgtGMINGA0LDQt9C80LXRgCDQsdC70L7QutCwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQs9C80LXQvdGC0L7QsiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAi0YHQvtGB0YLQvtGP0L3QuNC1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgItC/0L7QtNC60LvRjtGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgItC+0YLQutC70Y7Rh9C10L3QviIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAi0L3QtdGCINC60L7QvNCw0L3QtNGLP1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAi0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INGB0LXQutGC0L7RgNC+0LIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICIiCisiXG4iCisi0JzQsNGB0YHQuNCyINGB0LXQvNCw0YTQvtGA0L7QsiBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgItC+0L/QtdGA0LDRhtC40Y8gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgItGA0LXRgdGD0YDRgdGLKNGLKSDRg9C00LDQu9C10L0o0YspXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICLRgNC10YHRg9GA0YHRiyjRiykg0YPQtNCw0LvQtdC9KNGLKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgItGA0LXRgdGD0YDRgdGLKNGLKSDRg9C00LDQu9C10L0o0YspXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi0KHQvtGB0YLQvtGP0L3QuNC1INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ys9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJTeXN0ZW0td2lkZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxOTAKK21zZ2lkICJMaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICItaSBpZCBbLXMgLXEgLW1dIDog0L/QvtC00YDQvtCx0L3QvtGB0YLQuCDQviDRgNC10YHRg9GA0YHQtSwg0LjQtNC10L3RgtC40YTQuNGG0LjRgNC+0LLQsNC90L3QvtC8INC/0L4gaWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICDQv9Cw0YDQsNC80LXRgtGA0YtcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAg0JHQtdC3INC+0LHRi9GH0L3Ri9GFINCy0YvRhdC+0LTQvdGL0YUg0LTQsNC90L3Ri9GFXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQg0YDQsNC30LTQtdC70Ys6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCz0LzQtdC90YIg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgItCU0L7RgdGC0YPQv9C90YvQtSDQutC+0LzQsNC90LTRizpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQt9Cw0LTQsNGC0Ywg0LTQsNC90L3Ri9C1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvRhSDRhtC40LvQuNC90LTRgNC+0LIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAi0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdC60YLQvtGA0L7QsiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80YPQvCDRgdC10LzQsNGE0L7RgNC+0LIg0L3QsCDQvNCw0YHRgdC40LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQs9C80LXQvdGC0L7QsiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0YHQtdC80LDRhNC+0YDQsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgItCa0L7Qu9C40YfQtdGB0YLQstC+INCz0L7Qu9C+0LLQvtC6IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINGB0L7QvtCx0YnQtdC90LjRjyAo0LHQsNC50YIpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc1CisjLCBmdXp6eQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINGA0LDQt9C80LXRgCDRgdC+0L7QsdGJ0LXQvdC40Y8gKNCx0LDQudGCKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk4OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA4Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCz0LzQtdC90YIg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiIgorIlxuIgorItCh0LXQs9C80LXQvdGCINGB0L7QstC8LiDQuNGB0L8uINC/0LDQvNGP0YLQuCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICIiCisiXG4iCisi0KHQtdCz0LzQtdC90YIg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LPQvNC10L3RgiDRgdC+0LLQvC4g0LjRgdC/LiDQv9Cw0LzRj9GC0Lggc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTE0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/RgNC+0YbQtdGB0YHQsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIzOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgItGA0LDQt9C80LXRgCDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMQorIywgZnV6enkKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICIg0YHRitC10LzQvdGL0LkiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICLQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC10LrRgtC+0YDQvtCyIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgItGA0LDQt9C80LXRgCDRg9GB0YLRgNC+0LnRgdGC0LLQsCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIm9ubGluZSIKK21zZ3N0ciAiLCDQvtC90LvQsNC50L0iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorIywgZnV6enkKK21zZ2lkICJvZmZsaW5lIgorbXNnc3RyICIsINC+0L3Qu9Cw0LnQvSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAi0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAg0LHQu9C+0LrQsCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80YPQvCDRgdGD0LzQvNCw0YDQvdC+0Lkg0YHQvtCy0LwuINC40YHQvy4g0L/QsNC80Y/RgtC4ICjQutCx0LDQudGCKSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgbWVtb3J5IGJsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LLRgdC1INGD0YHRgtGA0L7QudGB0YLQstCwXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDQkdC10Lcg0L7QsdGL0YfQvdGL0YUg0LLRi9GF0L7QtNC90YvRhSDQtNCw0L3QvdGL0YVcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICIlczog0L3QtdC40LfQstC10YHRgtC90YvQuSDQsNGA0LPRg9C80LXQvdGCOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDRiyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSDQuCAtLXVzZXIgLSDQstC30LDQuNC80L7QuNGB0LrQu9GO0YfQsNGO0YnQuNC1IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0Ywg0YLQsNCx0LvQuNGG0YMg0LLRi9Cy0L7QtNCwIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi0L3QtSDRg9C00LDQu9C+0YHRjCDQv9GA0L7QuNC90LjRhtC40LDQu9C40LfQuNGA0L7QstCw0YLRjCDRgdGC0L7Qu9Cx0LXRhiDQstGL0LLQvtC00LAiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi0YHQvtGB0YLQvtGP0L3QuNC1INGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgItC60L7Qu9C40YfQtdGB0YLQstC+INC/0YDQvtGG0LXRgdGB0L7Qsiwg0LrQvtGC0L7RgNGL0LUg0LfQsNC/0YPRgdGC0LjQuyDQv9C+0LvRjNC30L7QstCw0YLQtdC70YwiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDYKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNworbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDgKK21zZ2lkICJuYW1lc3BhY2UgSUQgYXMgdXNlZCBieSBuZXR3b3JrIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxOQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LTQvtCx0LDQstC40YLRjCDRgdGC0YDQvtC60YMg0LLRi9Cy0L7QtNCwIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyDQv9GA0L7Qs9GA0LDQvNC80LAgW9Cw0YDQs9GD0LzQtdC90YIgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorIywgZnV6enkKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDRgdC40YHRgtC10LzQvdGL0LUg0YfQsNGB0YsuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA1CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAibW91bnQ6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YLQuNC/INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80YsgJyVzJyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INCw0YDQs9GD0LzQtdC90YIg0LPQvtC70L7QstC+0LoiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6INGC0L7Qu9GM0LrQviByb290INC80L7QttC10YIg0YHQtNC10LvQsNGC0Ywg0Y3RgtC+IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJtb3VudDog0YLQvtC70YzQutC+IHJvb3Qg0LzQvtC20LXRgiDRgdC00LXQu9Cw0YLRjCDRjdGC0L4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcyIHN5cy11dGlscy91bW91bnQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6INGC0L7Qu9GM0LrQviByb290INC80L7QttC10YIg0LzQvtC90YLQuNGA0L7QstCw0YLRjCAlcyDQvdCwICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6INGC0L7Qu9GM0LrQviByb290INC80L7QttC10YIg0YHQtNC10LvQsNGC0Ywg0Y3RgtC+IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyDQuNC3ICVzJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0YDQvtGH0LjRgtCw0YLRjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICJtb3VudDogJXMg0YPQttC1INC/0YDQuNC80L7QvdGC0LjRgNC+0LLQsNC9INC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiBcIiVzXCIg0L3QtSDRgdGD0YnQtdGB0YLQstGD0LXRgi5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0L/QvtC40YHQutCwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iCittc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlczogJXMg0L3QtSDQuNC30LzQtdC90LXQvVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3B0aW9uIGZvcm1hdDogJXMiCittc2dzdHIgItCS0LLQtdC00LjRgtC1INGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLOiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBmdXp6eQorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0JfQsNC/0YPRgdC60LDQtdGC0YHRjyDQv9GA0L7QstC10YDQutCwINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ysg0L3QsCAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgIGwgICDRgdC/0LjRgdC+0Log0YLQuNC/0L7QsiDQuNC30LLQtdGB0YLQvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1zLCAtLXNoZWxsPdGI0LXQu9C7ICAgICAgICAgICAgINCj0YHRgtCw0L3QvtCy0LrQsCDRg9GB0LvQvtCy0LjQuSDQt9Cw0LrQuy4g0LIg0LrQsNCy0YvRh9C60Lgg0LTQu9GPINGI0LXQu9C70LBcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXRoXG4iCisiIDxkaXJlY3Rvcnk+ICAgICAgICAgICAgIG1vdW50cG9pbnQgZm9yIGJpbmQgbW91bnRzIChzZWUgLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTQ0IHN5cy11dGlscy91bW91bnQuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibW91bnQ6INC80L7QvdGC0LjRgNC+0LLQsNC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU3CisjLCBmdXp6eQorbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgItCS0Ysg0YPQutCw0LfQsNC70Lgg0YbQuNC70LjQvdC00YDQvtCyINCx0L7Qu9GM0YjQtSwg0YfQtdC8INC80L7QttC10YIg0LHRi9GC0Ywg0L3QsCDQtNC40YHQutC1IgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMworbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzINC90LUg0Y/QstC70Y/QtdGC0YHRjyDRgtC+0YfQutC+0Lkg0LzQvtC90YLQuNGA0L7QstCw0L3QuNGPXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDRj9Cy0LvRj9C10YLRgdGPINGC0L7Rh9C60L7QuSDQvNC+0L3RgtC40YDQvtCy0LDQvdC40Y9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3MyBzeXMtdXRpbHMvc2V0YXJjaC5jOjkyIHN5cy11dGlscy91bnNoYXJlLmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMg0L/RgNC+0LPRgNCw0LzQvNCwIFvQsNGA0LPRg9C80LXQvdGCIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODIKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgINCe0YLQutC70Y7Rh9C10L3QuNC1INC+0YLRh9C10YLQsCDQvtCxINC+0YjQuNCx0LrQsNGFIGdldG9wdCgzKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgINCf0YDQvtCy0LXRgNC60LAg0LLQtdGA0YHQuNC4IGdldG9wdCgxKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MworbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTYKK21zZ2lkICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzZXQgU0VMaW51eCBjb250ZXh0IGFjY29yZGluZyB0byAtLXRhcmdldCBQSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM0OQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0LrQvtC90YLQtdC60YHRgiBTRUxpbnV4INC00LvRjyAlZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM2MQorIywgZnV6enkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1hbGwiCittc2dzdHIgItCS0Ysg0YPQutCw0LfQsNC70Lgg0YbQuNC70LjQvdC00YDQvtCyINCx0L7Qu9GM0YjQtSwg0YfQtdC8INC80L7QttC10YIg0LHRi9GC0Ywg0L3QsCDQtNC40YHQutC1IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0Ywg0YTQsNC50LsgJyVzJyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorIywgZnV6enkKK21zZ2lkICJjaHJvb3QgZmFpbGVkIgorbXNnc3RyICJtb3VudCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ2MQorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgd29ya2luZyBkaXJlY3RvcnkgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0JjQt9C80LXQvdC40YLRjCDQutC+0YDQvdC10LLRg9GOINGE0LDQudC70L7QstGD0Y4g0YHQuNGB0YLQtdC80YMuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgItC/0YDQtdC00LXQuyDQsNC00YDQtdGB0L3QvtCz0L4g0L/RgNC+0YHRgtGA0LDQvdGB0YLQstCwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAi0L/RgNC+0YbQtdGB0YHQvtGA0L3QvtC1INCy0YDQtdC80Y8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICLRgdC10LrRg9C90LQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdGL0Lkg0YDQsNC30LzQtdGAINC00LDQvdC90YvRhSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90YvQuSDRgNCw0LfQvNC10YAg0YTQsNC50LvQsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INGB0LXQs9C80LXQvdGC0L7QsiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICLQsdC70L7QutC+0LIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQvtGC0LrRgNGL0YLRi9GFINGE0LDQudC70L7QsiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAi0YTQsNC50LsgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QvtC1INC60L7Qu9C40YfQtdGB0YLQstC+INC/0YDQvtGG0LXRgdGB0L7QsiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIklEINC/0YDQvtGG0LXRgdGB0LAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NworIywgZnV6enkKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJnZXRwcmlvcml0eSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICLQvNC40LrRgNC+0YHQtdC60YPQvdC0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC+0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YHQtdCz0LzQtdC90YLQvtCyID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3Ri9C5INGA0LDQt9C80LXRgCDRgdGC0LXQutCwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICLRgNC10YHRg9GA0YHRiyjRiykg0YPQtNCw0LvQtdC9KNGLKVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAi0JXQtC4g0LjQt9C8LiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAi0J/QvtGB0LzQvtGC0YDQtdGC0Ywg0LjQu9C4INC40LfQvNC10L3QuNGC0Ywg0L/RgNC10LTQtdC70Ysg0YDQtdGB0YPRgNGB0L7QsiDQv9GA0L7RhtC10YHRgdCwLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmFsIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQntCx0YnQuNC1INC/0LDRgNCw0LzQtdGC0YDRizpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkINGA0LDQt9C00LXQu9GLOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OQorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAi0L3QtdC+0LPRgNCw0L3QuNGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODQKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTQKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyVzJylcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAg0J/RgNC+0LLQtdGA0LrQsCDQstC10YDRgdC40LggZ2V0b3B0KDEpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICLQvtGI0LjQsdC60LAg0LfQsNC/0LjRgdC4ICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAi0KjQsNCzX9C00LjRgdC60YDQtdGC0LjQt9Cw0YbQuNC4OiAlaVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDEgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlczogJXMoJWkpOiDQvdC10LLQtdGA0L3QsNGPINGB0YLRgNC+0LrQsCBtYXBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvdCw0LnRgtC4IFwiX3N0ZXh0XCIg0LIgJXNcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiJXM6INCw0LTRgNC10YEgcHJvZmlsZSDQt9CwINC/0YDQtdC00LXQu9Cw0LzQuCDQtNC40LDQv9Cw0LfQvtC90LAuINCd0LXQstC10YDQvdGL0Lkg0YTQsNC50LsgbWFwP1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDMKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAi0LLRgdC10LPQviIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAiSUQg0L/RgNC+0YbQtdGB0YHQsCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCittc2dpZCAicHJvY2VzcyBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+Li4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDzRh9C40YHQu9C+PiAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRhtC40LvQuNC90LTRgNC+0LJcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQ6INGB0YLQsNGA0YvQuSDQv9GA0LjQvtGA0LjRgtC10YIgJWQsINC90L7QstGL0Lkg0L/RgNC40L7RgNC40YLQtdGCICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5IGlkOiAlcyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgtCw0LnQvC3QsNGD0YLQsDogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICLQsdC70L7Rh9C90L7QtSDRg9GB0YLRgNC+0LnRgdGC0LLQviAiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgItC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi0YDQtdGB0YPRgNGB0Yso0YspINGD0LTQsNC70LXQvSjRiylcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMworbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNGR0YLRgdGPINC30LDQsdC70L7QutC40YDQvtCy0LDRgtGMICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjMxMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgItC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAi0LfQsNCx0LvQvtC60LjRgNC+0LLQsNC9IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAidW5ibG9ja2VkIgorbXNnc3RyICLQt9Cw0LHQu9C+0LrQuNGA0L7QstCw0L0iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQtNC40YHQutCwOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdIFs80YPRgdGC0YDQvtC50YHRgtCy0L4+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorbXNnaWQgIiBoZWxwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAi0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LTQuNGB0LrQsCIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorIywgZnV6enkKK21zZ2lkICIgYmxvY2sgICBpZGVudGlmaWVyXG4iCittc2dzdHIgItCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC00LjRgdC60LAiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICLQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQtNC40YHQutCwIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgImdldHRpbWVvZmRheSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworIywgZnV6enkKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi0LLRi9C00LXQu9C10L3QviDRgdC10LzQsNGE0L7RgNC+0LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgItC+0YLQsdGA0L7RgdC40YLRjCDRgdC80LXRidC10L3QuNC1INCy0YvRgNCw0LLQvdC40LLQsNC90LjRjyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICLQstGL0LTQtdC70LXQvdC+INGB0LXQvNCw0YTQvtGA0L7QsiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM1NgorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0YHQutC+0L3QstC10YDRgtC40YDQvtCy0LDRgtGMINCy0YDQtdC80Y8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC/0YDQvtGH0LjRgtCw0YLRjDogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICIgJXM6INC90LXRgNCw0YHQv9C+0LfQvdCw0L3QvdGL0Lkg0YLQuNC/INGC0LDQsdC70LjRhtGLINGA0LDQt9C00LXQu9C+0LJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINGB0LXQutGD0L3QtCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINCy0YDQtdC80LXQvdC4IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI5Cittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30YPQtdGC0YHRjyDQstGB0LXQvNC40YDQvdC+0LUg0LLRgNC10LzRjy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzAKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8g0LzQtdGB0YLQvdC+0LUg0LLRgNC10LzRjy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzMKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiAlcyDQvdC1IGxwLdGD0YHRgtGA0L7QudGB0YLQstC+LlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICLQodC+0L7QsdGJ0LXQvdC40LUg0L7RgiAlc0AlcyDQvdCwICVzINCyICVzIC4uLiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgItCh0L7QvtCx0YnQtdC90LjQtSDQvtGCICVzQCVzINC90LAgJXMg0LIgJXMgLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTAKKyMsIGZ1enp5Cittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICIo0KHQu9C10LTRg9GO0YnQuNC5INGE0LDQudC7OiAlcykiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0NworbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgItCf0LXRgNC10LrQu9GO0YfQtdC90LjQtSDQvdCwICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzINC/0YDQvtCz0YDQsNC80LzQsCBb0LDRgNCz0YPQvNC10L3RgiAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAg0KDQsNC30YDQtdGI0LXQvdC40LUg0LTQu9C40L3QvdGL0YUg0L7Qv9GG0LjQuSwg0L3QsNGH0LjQvdCw0Y7RidC40YXRgdGPINGBINC+0LTQvdC+0LPQviAtXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiAlczog0J3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90LDRjyDQsNGA0YXQuNGC0LXQutGC0YPRgNCwIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINGC0LDQudC8LdCw0YPRgiDQtNC70Y8gJXM6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgItCd0LXQtNC+0YHRgtCw0YLQvtGH0L3QviDQsNGA0LPRg9C80LXQvdGC0L7QsiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgItC90LXRgNCw0YHQv9C+0LfQvdCw0L3QvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCAnLS1saXN0JyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INGD0LrQsNC30LDQvdCwINCw0YDRhdC40YLQtdC60YLRg9GA0LAiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICLQn9C+0LTQsNC10YLRgdGPINC60L7QvNCw0L3QtNGLINC00LDRgtGLOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyDQv9GA0L7Qs9GA0LDQvNC80LAgW9Cw0YDQs9GD0LzQtdC90YIgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExOQorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBkaWZmZXJlbnQgcHJpdmlsZWdlIHNldHRpbmdzLlxuIgorbXNnc3RyICLQl9Cw0L/Rg9GB0Log0L/RgNC+0LPRgNCw0LzQvNGLINGBINGA0LDQt9C70LjRh9C90YvQvNC4INC90LDRgdGC0YDQvtC50LrQsNC80Lgg0LTQvtGB0YLRg9C/0LAuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAg0L/QsNGA0LDQvNC10YLRgNGLXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgINC40YHQv9C+0LvRjNC30L7QstCw0YLRjCDRgtC+0LvRjNC60L4gVURQXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMAorIywgZnV6enkKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMQorIywgZnV6enkKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMgorIywgZnV6enkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMworIywgZnV6enkKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgINGD0LrQsNC30LDRgtGMINC/0LXRgNCy0LjRh9C90YPRjiDQs9GA0YPQv9C/0YNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgINGD0LrQsNC30LDRgtGMINC/0LXRgNCy0LjRh9C90YPRjiDQs9GA0YPQv9C/0YNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbml0aWFsaXplIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgINGD0LrQsNC30LDRgtGMINC/0LXRgNCy0LjRh9C90YPRjiDQs9GA0YPQv9C/0YNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgINGD0LrQsNC30LDRgtGMINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdGD0Y4g0LPRgNGD0L/Qv9GDXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgINGA0LXQttC40Lwg0L/QvtC00YDQvtCx0L3QvtCz0L4g0LLRi9Cy0L7QtNCwXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgICAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LLRgdC1INGD0YHRgtGA0L7QudGB0YLQstCwXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5Cittc2dpZCAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICAgICBzZXQgQXBwQXJtb3IgcHJvZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTQ0Cittc2dpZCAiIFRoaXMgdG9vbCBjYW4gYmUgZGFuZ2Vyb3VzLiAgUmVhZCB0aGUgbWFucGFnZSwgYW5kIGJlIGNhcmVmdWwuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgItCd0LXQstC10YDQvdGL0Lkg0YLQuNC/INGA0LDQt9C00LXQu9CwIGAlYycuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJb0L3QtdGCXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiDRgdC70LjRiNC60L7QvCDQsdC+0LvRjNGI0LDRjyDQtNC70LjQvdCwIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIlvQvdC10YJdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgInVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiZXVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAic3VpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNTQgc3lzLXV0aWxzL3NldHByaXYuYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICLQrdGE0YTQtdC60YLQuNCy0L3Ri9C1INCy0L7Qt9C80L7QttC90L7RgdGC0Lg6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICLQoNCw0LfRgNC10YjQtdC90L3Ri9C1INCy0L7Qt9C80L7QttC90L7RgdGC0Lg6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgItCd0LDRgdC70LXQtNGD0LXQvNGL0LUg0LLQvtC30LzQvtC20L3QvtGB0YLQuDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAi0KDQsNC30YDQtdGI0LXQvdC90YvQtSDQstC+0LfQvNC+0LbQvdC+0YHRgtC4OiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICLQvdC10L/QvtC00LTQtdGA0LbQuNCy0LDQtdC80LDRjyDQutC+0LzQsNC90LTQsCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgItCc0LXRgtC60LAgU0VMaW51eCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MDAKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgItC90LXQv9C+0LTQtNC10YDQttC40LLQsNC10LzRi9C5INGC0LjQvyDQstGA0LXQvNC10L3QuCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjUKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICIlczog0J3QtdC40LfQstC10YHRgtC90LDRjyDQutC+0LzQsNC90LTQsDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICLQvdC10YDQsNGB0L/QvtC30L3QsNC90L3Ri9C5INGE0L7RgNC80LDRgiAtINC40YHQv9C+0LvRjNC30YPRjtGC0YHRjyDRgdC10LrRgtC+0YDRi1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorIywgZnV6enkKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiclYycg0LfQsNC/0YDQtdGJ0LXQvS5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAi0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90YvQuSDQstCy0L7QtDogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4INC90LUg0YDQsNCx0L7RgtCw0LXRgiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNsb3NlIGZhaWxlZDogJXMiCittc2dzdHIgIm9wZW5wdHkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciDQvdC1INGA0LDQsdC+0YLQsNC10YIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5NgorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxMworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIC0taW5pdC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICLQntC/0LDRgdC90YvQtSDQvtC/0YbQuNC4OiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAi0J7Qv9Cw0YHQvdGL0LUg0L7Qv9GG0LjQuDoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgItCe0L/QsNGB0L3Ri9C1INC+0L/RhtC40Lg6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MDcKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICLQn9GA0L7Qs9GA0LDQvNC80LAg0L3QtSDRg9C60LDQt9Cw0L3QsCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1CisjLCBmdXp6eQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgItC40YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyDQv9GA0L7Qs9GA0LDQvNC80LAgW9Cw0YDQs9GD0LzQtdC90YIgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgItCX0LDQv9GD0YHRgtC40YLRjCDQv9GA0L7Qs9GA0LDQvNC80YMg0LIg0L3QvtCy0L7QuSDRgdC10YHRgdC40LguXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgYWx3YXlzIGZvcmtcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAg0L/RgNC40L3Rg9C00LjRgtC10LvRjNC90LDRjyDQv9GA0L7QstC10YDQutCwXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAi0YHQvtC30LTQsNC90LjQtSDQtNC+0YfQtdGA0L3QtdCz0L4g0L/RgNC+0YbQtdGB0YHQsCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJjaGlsZCAlZCBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExNworIywgZnV6enkKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTIwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjCDQsiDRj9C00YDQtSDQt9C90LDRh9C10L3QuNC1INCy0LXQutCwLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiVzINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAi0J3QtSDRgdGD0L/QtdGA0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GMLiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM0Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NgorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICLQv9GD0YLRjCDQuiDRg9GB0YLRgNC+0LnRgdGC0LLRgyDQuNC70Lgg0YDQsNC30LTQtdC70YMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YLQuNC/INGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgItGA0LDQt9C80LXRgCDRgdCy0L7Qvy3QvtCx0LvQsNGB0YLQuCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICLQsdCw0LnRgiDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAic2V0cHJpb3JpdHkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMgorIywgZnV6enkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICLQsdC10Lcg0LzQtdGC0LrQuCwgIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHTQotC40L9cdFx00KDQsNC30LzQtdGAXHTQmNGB0L8t0L3Qvlx00J/RgNC40L7RgNC40YLQtdGCXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAi0JjQvNGPINGE0LDQudC70LAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/QuNGB0LDRgtGMINGB0YLRgNCw0L3QuNGG0YMg0YEg0YHQuNCz0L3QsNGC0YPRgNC+0LkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiDQn9GA0L7Qv9GD0YHQutCw0LXRgtGB0Y8g0YTQsNC50LsgJXMgLSDQv9C+0YXQvtC20LUg0LIg0L3RkdC8INC40LzQtdGO0YLRgdGPINC00YvRgNGLLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAiJXMg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6INC+0YjQuNCx0LrQsCDRgNCw0LfQsdC+0YDQsCDQsiDRgdGC0YDQvtC60LUgJWQg4oCUINC40LPQvdC+0YDQuNGA0YPQtdGC0YHRjyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0YDQsNC30LHQvtGA0LAg0LIg0YHRgtGA0L7QutC1ICVkIOKAlCDQuNCz0L3QvtGA0LjRgNGD0LXRgtGB0Y8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC30LDQv9C40YHQsNGC0YwgaW5vZGUn0YsiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA2Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNworbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINGN0YLRgyDRgdC/0YDQsNCy0LrRgyDQuCDQstGL0LnRgtC4XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTYKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L3QsNC50YLQuCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQtNC70Y8gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKKyMsIGZ1enp5Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgIijQodC70LXQtNGD0Y7RidC40Lkg0YTQsNC50Ls6ICVzKSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0YwgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgImlvY3RsKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSDQv9GA0Lgg0YfRgtC10L3QuNC4INCy0YDQtdC80LXQvdC4INC40LcgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICLQktGL0L/QvtC70L3Rj9C10YLRgdGPINC/0L7Qv9GL0YLQutCwINGA0LDQt9C80L7QvdGC0LjRgNC+0LLQsNGC0YwgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMIDogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgImlvY3RsKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSDQv9GA0Lgg0YfRgtC10L3QuNC4INCy0YDQtdC80LXQvdC4INC40LcgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgItC90LXRg9C00LDRh9CwLiDQltCw0LvRjC4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMQorbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAyCittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAzCittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTMKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzINC90LUgbHAt0YPRgdGC0YDQvtC50YHRgtCy0L4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNzgKK21zZ2lkICJMUEdFVFNUQVRVUyBlcnJvciIKK21zZ3N0ciAi0L7RiNC40LHQutCwIExQR0VUU1RBVFVTIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMg0YHQvtGB0YLQvtGP0L3QuNC1IC0gJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsINC30LDQvdGP0YIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCDQs9C+0YLQvtCyIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsINC90LXRgiDQsdGD0LzQsNCz0LgiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIsINC+0L3Qu9Cw0LnQvSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsINC+0YjQuNCx0LrQsCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICLQvtGI0LjQsdC60LAgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzINC40YHQv9C+0LvRjNC30YPQtdGCINC/0YDQtdGA0YvQstCw0L3QuNC1ICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyDQuNGB0L/QvtC70YzQt9GD0LXRgiDQvtC/0YDQvtGBXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgItCg0LDQt9C80L7QvdGC0LjRgNC+0LLQsNC90LjQtSDRhNCw0LnQu9C+0LLRi9GFINGB0LjRgdGC0LXQvC5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDRgNCw0LfQvNC+0L3RgtC40YDQvtCy0LDRgtGMINCy0YHQtSDRhNCw0LnQu9C+0LLRi9C1INGB0LjRgdGC0LXQvNGLXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICDRgdC/0LjRgdC+0Log0YLQuNC/0L7QsiDQuNC30LLQtdGB0YLQvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LwiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykg0YDQsNC30LzQvtC90YLQuNGA0L7QstCw0L0iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyDRgNCw0LfQvNC+0L3RgtC40YDQvtCy0LDQvS4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjM0NgorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzEwIHN5cy11dGlscy91bW91bnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6INC90LUg0L3QsNC50LTQtdC9IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICIlczog0L3QtdC40LfQstC10YHRgtC90YvQuSDQsNGA0LPRg9C80LXQvdGCOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICIo0KHQu9C10LTRg9GO0YnQuNC5INGE0LDQudC7OiAlcykiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAi0JLQstC10LTQuNGC0LUg0YLQuNC/INGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ys6IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIm1vdW50OiDQvNC+0L3RgtC40YDQvtCy0LDQvdC40LUg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC+0L/RgNC10LTQtdC70LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsCAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0YwgJXNcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgINCd0LUg0LfQsNC60LvRjtGH0LDRgtGMINCyINC60LDQstGL0YfQutC4INCy0YvRhdC+0LTQvdGL0LUg0LTQsNC90L3Ri9C1XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAg0J7RgtC60LvRjtGH0LXQvdC40LUg0L7RgtGH0LXRgtCwINC+0LEg0L7RiNC40LHQutCw0YUgZ2V0b3B0KDMpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAg0J/RgNC+0LLQtdGA0LrQsCDQstC10YDRgdC40LggZ2V0b3B0KDEpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg0K3RgtC+INC90LXQsdC+0LvRjNGI0L7QtSDRgNGD0LrQvtCy0L7QtNGB0YLQstC+INC/0L4g0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40Y5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjUKK21zZ2lkICIgLXIsIC0tbWFwLXJvb3QtdXNlciAgICAgICBtYXAgY3VycmVudCB1c2VyIHRvIHJvb3QgKGltcGxpZXMgLS11c2VyKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY2Cittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjgKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICLQv9C+0LjRgdC6INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgImNoaWxkIGV4aXQgZmFpbGVkIgorbXNnc3RyICLQstGL0L/QvtC70L3QtdC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LlcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKK21zZ2lkICJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAtLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICJtb3VudCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAi0J/QtdGA0LXQt9Cw0L/Rg9GB0YIg0LjQty3Qt9CwINC/0LXRgNC10LPRgNC10LLQsCDQptCfIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorIywgZnV6enkKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAi0YHQvtGB0YLQvtGP0L3QuNC1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAiJXM6INCd0LXQuNC30LLQtdGB0YLQvdCw0Y8g0LrQvtC80LDQvdC00LA6ICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICJsb29wOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiDQvdC10LjQt9Cy0LXRgdGC0L3Ri9C5INGB0LjQs9C90LDQuyAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0L7Qu9GD0YfQuNGC0Ywg0YLQsNC50Lwt0LDRg9GCINC00LvRjyAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gItCS0YDQtdC80Y8g0L/QvtGB0LvQtSDQv9C+0YHQu9C10LTQvdC10Lkg0LrQvtGA0YDQtdC60YLQuNGA0L7QstC60Lgg0YHQvtGB0YLQsNCy0LvRj9C10YIgJWQg0YHQtdC60YPQvdC0XG4iCittc2dzdHJbMV0gItCS0YDQtdC80Y8g0L/QvtGB0LvQtSDQv9C+0YHQu9C10LTQvdC10Lkg0LrQvtGA0YDQtdC60YLQuNGA0L7QstC60Lgg0YHQvtGB0YLQsNCy0LvRj9C10YIgJWQg0YHQtdC60YPQvdC0XG4iCittc2dzdHJbMl0gIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHdhdGNoZG9nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpINGB0LXQutGD0L3QtNCwXG4iCittc2dzdHJbMV0gIiIKKyIlLTE0cyAlMmkg0YHQtdC60YPQvdC00YtcbiIKKyJcbiIKK21zZ3N0clsyXSAiJS0xNHMgJTJpINGB0LXQutGD0L3QtFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAi0KLQsNC50LzQsNGD0YI6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKKyMsIGZ1enp5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICLQstGA0LXQvNGPINC+0LbQuNC00LDQvdC40Y8g0LjRgdGC0LXQutC70L4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAi0J7RgdGC0LDQstGI0LXQtdGB0Y8g0LLRgNC10LzRjzoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNAorbXNnaWQgIkRldmljZToiCittc2dzdHIgItCj0YHRgtGALdCy0L46IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAi0LLQtdGA0YHQuNGPIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgItCx0LvQvtGH0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+ICIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICLQvdC10YHQttCw0YLRi9C5INGA0LDQt9C80LXRgCDRhdGA0LDQvdC40LzRi9GFINC00LDQvdC90YvRhSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi0YHQttCw0YLRi9C5INGA0LDQt9C80LXRgCDRhdGA0LDQvdC40LzRi9GFINC00LDQvdC90YvRhSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgItCy0YvQsdGA0LDQvdC90YvQuSDQsNC70LPQvtGA0LjRgtC8INGB0LbQsNGC0LjRjyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INCy0YvQtNC10LvQuNGC0Ywg0LHRg9GE0LXRgC5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC90LDRh9Cw0LvQviIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogbWtmcyBbLVZdIFstdCDRgtC40L9f0YTRgV0gW9C+0L/RhtC40Lhf0YTRgV0g0YPRgdGC0YDQvtC50YHRgtCy0L4gW9GA0LDQt9C80LXRgF1cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LTQsNC90L3Ri9C1INCyINCy0LjQtNC1INGB0L/QuNGB0LrQsFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgLVMsIC0tc2VjdG9ycyA80YfQuNGB0LvQvj4gICAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC10LrRgtC+0YDQvtCyINC90LAg0LTQvtGA0L7QttC60YNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjEKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk0IHN5cy11dGlscy96cmFtY3RsLmM6NzIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINC60L7Qu9C40YfQtdGB0YLQstC+INGB0YLRgNC+0LoiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGD0YHRgtCw0L3QvtCy0LjRgtGMINGE0LDQudC7INC/0L7QtNC00LXRgNC20LrQuCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQv9C10YDQtdC80L7RgtCw0YLRjCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQtNC70Y8g0YHQstC+0L/QuNC90LPQsCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHJvb3QgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjCAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L3QsNC50YLQuCDQv9GA0L7RhtC10YHRgSBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NzQgdGVybS11dGlscy9hZ2V0dHkuYzo5MDEgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzcgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ4NAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNTI2IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5MyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIgorbXNnc3RyICIlcyDQuNC3ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINCz0L7Qu9C+0LLQvtC6IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAi0JrQvtC70LjRh9C10YHRgtCy0L4g0YbQuNC70LjQvdC00YDQvtCyIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgwNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgItC90LXQtNC+0L/Rg9GB0YLQuNC80YvQuSDQsNGA0LPRg9C80LXQvdGCINCy0YDQtdC80LXQvdC4IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICLQvdC10LLQtdGA0L3QsNGPINGB0LrQvtGA0L7RgdGC0Yw6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgItGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90YvRhSDRgdC60L7RgNC+0YHRgtC10LkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTkgdGVybS11dGlscy9hZ2V0dHkuYzoxMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0Ywg0LrQsNC6INGB0YLQsNC90LTQsNGA0YLQvdGL0Lkg0LLQstC+0LQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtdCx0LvQvtGH0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtdCx0LvQvtGH0L3QvtC1INGD0YHRgtGA0L7QudGB0YLQstC+IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINC60LDQuiDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0LLQvtC0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2RldjogY2hkaXIoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6INC90LUg0L7RgtC60YDRi9GCINC00LvRjyDRh9GC0LXQvdC40Y8v0LfQsNC/0LjRgdC4IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6INC90LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINC60LDQuiDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0LLQvtC0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVzOiDQv9GA0L7QsdC70LXQvNCwINC00YPQsdC70LjRgNC+0LLQsNC90LjRjzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjUgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAi0L3QtSDQvNC+0LPRgyDQvtGC0LrRgNGL0YLRjCDRhNCw0LnQuyBvcy1yZWxlYXNlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAiaW9jdGwoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC/0YDQuCDRh9GC0LXQvdC40Lgg0LLRgNC10LzQtdC90Lgg0LjQtyAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW9C90LDQttC80LjRgtC1IEVOVEVSINC00LvRjyDQstGF0L7QtNCwXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayDQstGL0LrQu9GO0YfQtdC9IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjIKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtIExvY2sg0LLQutC70Y7Rh9C10L0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2NQorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQ2FwcyBMb2NrINCy0LrQu9GO0YfQtdC9IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sg0LLQutC70Y7Rh9C10L0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCh0L7QstC10YI6ICVzXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjAwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZDogJW0iCittc2dzdHIgIiVzOiDRh9GC0LXQvdC40LU6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlucHV0IG92ZXJydW4iCittc2dzdHIgIiVzOiDQv9C10YDQtdC/0L7Qu9C90LXQvdC40LUg0LLQstC+0LTQsCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINGD0YHRgtCw0L3QvtCy0LjRgtGMINCw0YLRgNC40LHRg9GC0Ysg0YLQtdGA0LzQuNC90LDQu9CwOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGxpbmU+IFs8YmF1ZF9yYXRlPiwuLi5dIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8YmF1ZF9yYXRlPiwuLi4gPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMAorbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMworbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICA4LdCx0LjRgtC90YvQuSB0dHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM1Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgINC90LUg0YHQsdGA0LDRgdGL0LLQsNGC0Ywg0YDQtdC20LjQvCDRg9C/0YDQsNCy0LvQtdC90LjRj1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0YwgLXIgPNC40LzRjyDQutC+0LzQv9GM0Y7RgtC10YDQsD4g0LTQu9GPIGxvZ2luKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNworbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzgKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YvQstCw0YLRjCDRhNCw0LnQuyBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgINC90LUg0L7Rh9C40YnQsNGC0Ywg0Y3QutGA0LDQvSDQtNC+INGB0YLRgNC+0LrQuCDQv9GA0LjQs9C70LDRiNC10L3QuNGPXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINC/0YDQuNCz0LvQsNGI0LXQvdC40LUg0LTQu9GPINCy0YXQvtC00LBcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDzQv9Cw0YDQsNC8PiDQv9Cw0YDQsNC80LXRgtGA0YssINC/0LXRgNC10LTQsNCy0LDQtdC80YvQtSDQsiBsb2dpblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICDQstC40YDRgtGD0LDQu9GM0L3Ri9C5INGB0LHRgNC+0YEg0YHQvtC10LTQuNC90LXQvdC40Y8g0LIgdHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINGB0L7QstC10YLRi1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTgKK21zZ2lkICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MgorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjMKK21zZ2lkICIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAgcmVsb2FkIHByb21wdHMgb24gcnVubmluZyBhZ2V0dHkgaW5zdGFuY2VzXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICDQvdC1INC/0L7QutCw0LfRi9Cy0LDRgtGMINGB0L7QstC10YLRi1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgINCy0YvQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRiNC10LvQu9C+0LIg0Lgg0LLRi9C50YLQuFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCIKK21zZ3N0clsxXSAiJWQg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPIgorbXNnc3RyWzJdICIlZCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaGVja25hbWUg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC+0YLQutGA0YvRgtGMINGE0LDQudC7ICclcyciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCDQvdC1INC/0L7QtNC00LXRgNC20LjQstCw0LXRgtGB0Y8g0L3QsCDQstCw0YjQtdC5INGB0LjRgdGC0LXQvNC1IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdIFt5IHwgbl1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInR0eW5hbWUg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAi0LTQsCIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAi0L3QtdGCIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgItCy0YvQtNC10LvQtdC90L4g0YHQtdC80LDRhNC+0YDQvtCyID0gJWRcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0L3QtdCy0LXRgNC90YvQuSBpZDogJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L7Qv9GG0LjQuF0g0YPRgdGC0YDQvtC50YHRgtCy0L4uLi5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjQKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjcKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyLQn9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiBgJXMnINGP0LLQu9GP0LXRgtGB0Y8g0YHRgdGL0LvQutC+0LkuXG4iCisi0JjRgdC/0L7Qu9GM0LfRg9C50YLQtSBgJXMgW9C+0L/RhtC40LhdICVzJywg0LXRgdC70Lgg0LLRiyDQtNC10LnRgdGC0LLQuNGC0LXQu9GM0L3QviDRhdC+0YLQuNGC0LUg0Y3RgtC+INC40YHQv9C+0LvRjNC30L7QstCw0YLRjC5cbiIKKyLQodC60YDQuNC/0YIg0L3QtSDQt9Cw0L/Rg9GJ0LXQvS5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAi0KHQutGA0LjQv9GCINCy0YvQv9C+0LvQvdC10L0sINGE0LDQudC7IC0gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHdyaXRlIHNjcmlwdCBmaWxlIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L3QsNC50YLQuCDRg9GB0YLRgNC+0LnRgdGC0LLQviDQtNC70Y8gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAi0KHQutGA0LjQv9GCINC30LDQv9GD0YnQtdC9ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodC60YDQuNC/0YIg0LLRi9C/0L7Qu9C90LXQvSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworIywgZnV6enkKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgItCd0LUg0YXQstCw0YLQsNC10YIgcHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgItCh0LrRgNC40L/RgiDQt9Cw0L/Rg9GJ0LXQvSwg0YTQsNC50LvCoOKAlCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDgKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUxCittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIHRvIHN0ZG91dCBmYWlsZWQiCittc2dzdHIgItCe0YLQutGA0YvRgtC40LUgJXMg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImlvY3RsKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSDQv9GA0Lgg0YfRgtC10L3QuNC4INCy0YDQtdC80LXQvdC4INC40LcgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90L7QtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRgdC10LPQvNC10L3RgtC+0LIgPSAlbHVcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJpb2N0bCgpINC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10Lkg0L/RgNC4INGH0YLQtdC90LjQuCDQstGA0LXQvNC10L3QuCDQuNC3ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgItGB0LvQuNGI0LrQvtC8INC80L3QvtCz0L4g0L/Qu9C+0YXQuNGFINCx0LvQvtC60L7QsiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiICAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgINCf0YDQvtCy0LXRgNC60LAg0LLQtdGA0YHQuNC4IGdldG9wdCgxKVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDQn9GA0L7QstC10YDQutCwINCy0LXRgNGB0LjQuCBnZXRvcHQoMSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODkKKyMsIGZ1enp5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIHJkZXYgLW8gTiAuLi4gICAgICAgICAgICAgICAgICAg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LUg0YHQvNC10YnQtdC90LjRjyDQsdCw0LnRgtC+0LIgTiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICDQn9C10YDQstGL0LkgICDQn9C+0YHQu9C10LTQvS5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCisjLCBmdXp6eQorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAgWyAtaGFsZi1icmlnaHQgW29ufG9mZl0gXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAgWyAtdW5kZXJsaW5lIFtvbnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKKyMsIGZ1enp5Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiICBbIC1wb3dlcnNhdmUgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQyMAorbXNnaWQgIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MzEKK21zZ2lkICJkdXBsaWNhdGUgdXNlIG9mIGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRgdC+0LfQtNCw0YLRjCDQtNC+0YfQtdGA0L3QuNC5INC/0YDQvtGG0LXRgdGBIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INGB0L7Qt9C00LDRgtGMINC00L7Rh9C10YDQvdC40Lkg0L/RgNC+0YbQtdGB0YEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0Ywg0YPRgdGC0YDQvtC50YHRgtCy0L4gJXMg0LTQu9GPINC30LDQv9C40YHQuFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4NTcKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAi0L7RiNC40LHQutCwINC/0L7QuNGB0LrQsCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY3Vyc29yIHBvc2l0aW9uOiAlcyIKK21zZ3N0ciAi0L3QtdC00L7Qv9GD0YHRgtC40LzRi9C5INC/0LDRgNCw0LzQtdGC0YAiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInNldGdpZCDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRg9GB0YLQsNC90L7QstC40YLRjC/RgdC90Y/RgtGMINGA0LXQttC40Lwg0Y3QvdC10YDQs9C+0YHQsdC10YDQtdC20LXQvdC40Y9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgItC+0YjQuNCx0LrQsCBrbG9nY3RsOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTQ2CisjLCBmdXp6eQorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJXM6INC/0LXRgNC10LzQtdC90L3QsNGPICRURVJNINC90LUg0L7Qv9GA0LXQtNC10LvQtdC90LAuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTMKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0YHQuNCz0L3QsNC7ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgItCy0L3Rg9GC0YDQtdC90L3Rj9GPINC+0YjQuNCx0LrQsCIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICLRh9GA0LXQt9Cy0YvRh9Cw0LnQvdC+INC00LvQuNC90L3QsNGPINGB0YLRgNC+0LrQsCBhcmciCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAi0YHQvtC30LTQsNC90LjQtSDQtNC+0YfQtdGA0L3QtdCz0L4g0L/RgNC+0YbQtdGB0YHQsDogJXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDRgdC+0LfQtNCw0YLRjCDQtNC+0YfQtdGA0L3QuNC5INC/0YDQvtGG0LXRgdGBIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAg0YPQutCw0LfQsNGC0Ywg0L/QtdGA0LLQuNGH0L3Rg9GOINCz0YDRg9C/0L/Rg1xuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MworbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgItC90LXQstC10YDQvdGL0LkgaWQ6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlYzog0L3QtdC40LfQstC10YHRgtC90LDRjyDQutC+0LzQsNC90LTQsCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjEzCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgItC90LXQstC10YDQvdC+0LUg0LfQvdCw0YfQtdC90LjQtSDRgtCw0LnQvC3QsNGD0YLQsDogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INC/0L7Qu9GD0YfQuNGC0Ywg0YDQsNC30LzQtdGAICVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNjIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfQvNC10YAg0LTQuNGB0LrQsCIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgItCo0LjRgNC+0LrQvtCy0LXRidCw0YLQtdC70YzQvdC+0LUg0YHQvtC+0LHRidC10L3QuNC1INC+0YIgJXNAJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgIiVzOiDQvdC1INCx0YPQtNC10YIg0L/RgNC+0YfQuNGC0LDQvSAlcyAtINC40YHQv9C+0LvRjNC30YPQudGC0LUg0YHRgtCw0L3QtNCw0YDRgtC90YvQuSDQstCy0L7QtC5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICLQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogbmFtZWkgWy1teF0g0L/Rg9GC0LXQstC+0LVf0LjQvNGPIFvQv9GD0YLQtdCy0L7QtV/QuNC80Y8gLi4uXVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIndyaXRlOiAlcyDQvdC1INCy0L7RiNC10Lsg0LIg0YHQuNGB0YLQtdC80YNcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNgorIywgZnV6enkKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAid3JpdGU6INC90LXQstC+0LfQvNC+0LbQvdC+INC90LDQudGC0Lgg0LjQvNGPINCy0LDRiNC10LPQviB0dHlcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICJ3cml0ZTog0LTQu9GPICVzINGB0L7QvtCx0YnQtdC90LjRjyDQvtGC0LrQu9GO0YfQtdC90YtcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICJ3cml0ZTogJXMg0LLQvtGI0LXQuyDQsiDRgdC40YHRgtC10LzRgyDQsdC+0LvQtdC1INC+0LTQvdC+0LPQviDRgNCw0LfQsDsg0LfQsNC/0LjRgdGMINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0LIgJXNcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgIm1hbGxvYyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICLQodC+0L7QsdGJ0LXQvdC40LUg0L7RgiAlc0AlcyAo0LrQsNC6ICVzKSDQvdCwICVzINCyICVzIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgItCh0L7QvtCx0YnQtdC90LjQtSDQvtGCICVzQCVzINC90LAgJXMg0LIgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCisjLCBmdXp6eQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAid3JpdGU6INCy0LDRiNC1INGA0LDQt9GA0LXRiNC10L3QuNC1INC90LAg0LfQsNC/0LjRgdGMINCx0YvQu9C+INCy0YvQutC70Y7Rh9C10L3Qvi5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzINC90LUg0LLQvtGI0LXQuyDQsiDRgdC40YHRgtC10LzRgyAlcy5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICJ3cml0ZTog0LTQu9GPICVzINGB0L7QvtCx0YnQtdC90LjRjyDQvtGC0LrQu9GO0YfQtdC90Ysg0L3QsCAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorIywgZnV6enkKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAi0YHQu9C40YjQutC+0Lwg0LzQvdC+0LPQviDQv9GD0YHRgtGL0YUg0L/QtdGA0LXQstC+0LTQvtCyINGB0YLRgNC+0LouXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTUxIHRleHQtdXRpbHMvY29scm0uYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiDQvdC10LLQtdGA0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgLWwgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiY29sOiDQv9GA0LXQtNGD0L/RgNC10LbQtNC10L3QuNC1OiDQvdC10LLQvtC30LzQvtC20L3QviDQv9C+0LTQtNC10YDQttCw0YLRjCAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgItC/0L7RgdC70LXQtNC90Y/RjyDQv9C10YDQstCw0Y8g0YHRgtGA0L7QutCwIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSDRgdGC0YDQvtC60LAg0YPQttC1INCy0YvRgNC+0LLQvdC10L3QsCIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODUKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDQv9C+0LrQsNC30LDRgtGMINCy0YHQtSDRg9GB0YLRgNC+0LnRgdGC0LLQsFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTogJXMgW9C+0L/RhtC40LhdINGD0YHRgtGA0L7QudGB0YLQstC+Li4uXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgImNvbDog0L3QtdCy0LXRgNC90YvQuSDQsNGA0LPRg9C80LXQvdGCIC1sICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiDQvdC10LLQtdGA0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgLWwgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0LrQvtC90LXRhiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAi0J7RiNC40LHQutCwINC30LDQv9C40YHQuCDRgNCw0LfQtNC10LvQsCDQvdCwICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICLQntGI0LjQsdC60LAg0LfQsNC/0LjRgdC4INGA0LDQt9C00LXQu9CwINC90LAgJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtbm9leHRyZW1lIGxpc3QiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L7Qv9GA0LXQtNC10LvQuNGC0Ywg0L3QsNGH0LDQu9C+IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgItCe0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0YDQsNC30LTQtdC70LAg0L3QsCAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQstGL0LTQtdC70LjRgtGMINCx0YPRhNC10YAuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0LDRgNCw0LzQtdGC0YDRi1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdGFibGUtbmFtZSA8bmFtZT4gICAgICAgICAgdGFibGUgbmFtZSBmb3IgSlNPTiBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbiwgLS1uYW1lPdC40LzRj1/Qv9GA0L7Qs9GA0LDQvNC80YsgICAgINCY0LzRjywg0L7RgiDQutC+0YLQvtGA0L7Qs9C+INCy0LXQtNC10YLRgdGPINC+0YLRh9C10YIg0L7QsSDQvtGI0LjQsdC60LDRhVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MgorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzRgdC/0LjRgdC+0Lo+ICAgICAgICAg0L/QvtC70Y8g0LLRi9Cy0L7QtNCwXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAg0J3QtSDQt9Cw0LrQu9GO0YfQsNGC0Ywg0LIg0LrQsNCy0YvRh9C60Lgg0LLRi9GF0L7QtNC90YvQtSDQtNCw0L3QvdGL0LVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDYKK21zZ2lkICIgLWUsIC0tdGFibGUtaGVhZGVyLXJlcGVhdCAgICAgICAgcmVwZWF0IGhlYWRlciBmb3IgZWFjaCBwYWdlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLXRhYmxlLWhpZGUgPGNvbHVtbnM+ICAgICAgIGRvbid0IHByaW50IHRoZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OAorbXNnaWQgIiAtUiwgLS10YWJsZS1yaWdodCA8Y29sdW1ucz4gICAgICByaWdodCBhbGlnbiB0ZXh0IGluIHRoZXNlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQgZm9yIHRhYmxlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICDQndC1INC30LDQutC70Y7Rh9Cw0YLRjCDQsiDQutCw0LLRi9GH0LrQuCDQstGL0YXQvtC00L3Ri9C1INC00LDQvdC90YvQtVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgINGD0LrQsNC30LDRgtGMINC/0LXRgNCy0LjRh9C90YPRjiDQs9GA0YPQv9C/0YNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPNGH0LjRgdC70L4+ICAgICAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDQs9C+0LvQvtCy0L7QulxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPNGB0L/QuNGB0L7Quj4gICAgICAgICDQv9C+0LvRjyDQstGL0LLQvtC00LBcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjAKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjczMQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjc1NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIG5hbWVzIgorbXNnc3RyICIlczog0L3QtdCy0L7Qt9C80L7QttC90L4g0L7RgtC60YDRi9GC0YwgOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAi0JjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6ICVzIFvQvtC/0YbQuNC4XSDRg9GB0YLRgNC+0LnRgdGC0LLQvi4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorIywgZnV6enkKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICLQvdC10YXQstCw0YLQutCwINC/0LDQvNGP0YLQuCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAiaGV4ZHVtcDog0L3QtdCy0LXRgNC90L7QtSDRh9C40YHQu9C+INCx0LDQudGCINC00LvRjyDRgdC40LzQstC+0LvQsCDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNGPICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiaGV4ZHVtcDog0LTQu9GPICUlcyDRgtGA0LXQsdGD0LXRgtGB0Y8g0YLQvtGH0L3QvtGB0YLRjCDQuNC70Lgg0YfQuNGB0LvQviDQsdCw0LnRgi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiaGV4ZHVtcDog0L3QtdCy0LXRgNC90YvQuSDRhNC+0YDQvNCw0YIgeyVzfVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgImhleGR1bXA6INC90LXQstC10YDQvdGL0Lkg0YHQuNC80LLQvtC7INC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC40Y8gJSUlcy5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2CisjLCBmdXp6eQorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgImhleGR1bXA6INGH0LjRgdC70L4g0LHQsNC50YIg0YEg0LzQvdC+0LPQvtGH0LjRgdC70LXQvdC90YvQvNC4INGB0LjQvNCy0L7Qu9Cw0LzQuCDQv9GA0LXQvtCx0YDQsNC30L7QstCw0L3QuNGPLlxuIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MworbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAi0JLQstC10LTQuNGC0LUg0LrQvtC70LjRh9C10YHRgtCy0L4g0YbQuNC70LjQvdC00YDQvtCyOiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NworbXNnaWQgIiArLzxzdHJpbmc+ICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgItC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0L/QsNGA0LDQvNC10YLRgCAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6INC60LDRgtCw0LvQvtCzICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiDQndC1INGC0LXQutGB0YLQvtCy0YvQuSDRhNCw0LnQuyAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIlvQmNGB0L/QvtC70YzQt9GD0LnRgtC1IHEg0LjQu9C4IG9yIFEg0LTQu9GPINCy0YvRhdC+0LTQsF0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS3QlNCw0LvQtdC1LS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIijQodC70LXQtNGD0Y7RidC40Lkg0YTQsNC50Ls6ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW9Cd0LDQttC80LjRgtC1INC/0YDQvtCx0LXQuyDQtNC70Y8g0L/RgNC+0LTQvtC70LbQtdC90LjRjywgJ3EnINC00LvRjyDQstGL0YXQvtC00LAuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE4MworIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLtC90LDQt9Cw0LQg0L3QsCAlZCDRgdGC0YDQsNC90LjRhtGDIgorbXNnc3RyWzFdICIuLi7QvdCw0LfQsNC0INC90LAgJWQg0YHRgtGA0LDQvdC40YbRiyIKK21zZ3N0clsyXSAiLi4u0L3QsNC30LDQtCDQvdCwICVkINGB0YLRgNCw0L3QuNGGIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi7Qv9GA0L7Qv9GD0YHQutCw0LXRgtGB0Y8gJWQg0YHRgtGA0L7QutCwIgorbXNnc3RyWzFdICIuLi7Qv9GA0L7Qv9GD0YHQutCw0Y7RgtGB0Y8gJWQg0YHRgtGA0L7QutC4IgorbXNnc3RyWzJdICIuLi7Qv9GA0L7Qv9GD0YHQutCw0Y7RgtGB0Y8gJWQg0YHRgtGA0L7QuiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKirQndCw0LfQsNC0KioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgItCd0LXRgiDQv9GA0LXQtNGL0LTRg9GJ0LXQs9C+INGA0LXQs9GD0LvRj9GA0L3QvtCz0L4g0LLRi9GA0LDQttC10L3QuNGPIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzE0Cittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorItCR0L7Qu9GM0YjQuNC90YHRgtCy0YMg0LrQvtC80LDQvdC0INC+0L/RhtC40L7QvdCw0LvRjNC90L4g0L/RgNC10LTRiNC10YHRgtCy0YPQtdGCINGH0LjRgdC70L7QstC+0Lkg0LDRgNCz0YPQvNC10L3RgiBrLiDQl9C90LDRh9C10L3QuNGPINC/0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINCyINC60LDQstGL0YfQutCw0YUuXG4iCisi0JfQstC10LfQtNC+0YfQutCwICgqKSDQvtC30L3QsNGH0LDQtdGCLCDRh9GC0L4g0LDRgNCz0YPQvNC10L3RgiDRgdGC0LDQvdC+0LLQuNGC0YHRjyDQvdC+0LLRi9C8INC30L3QsNGH0LXQvdC40LXQvCDQv9C+INGD0LzQvtC70YfQsNC90LjRji5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMyMQorbXNnaWQgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdKlxuIgorIjxyZXR1cm4+ICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgWzFdKlxuIgorImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorInEgb3IgUSBvciA8aW50ZXJydXB0PiAgIEV4aXQgZnJvbSBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dCBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiYiBvciBjdHJsLUIgICAgICAgICAgICAgU2tpcCBiYWNrd2FyZHMgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAgR28gdG8gcGxhY2Ugd2hlcmUgcHJldmlvdXMgc2VhcmNoIHN0YXJ0ZWRcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKyIvPHJlZ3VsYXIgZXhwcmVzc2lvbj4gICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbiBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIGxhc3Qgci5lIFsxXVxuIgorIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0IHVwIC91c3IvYmluL3ZpIGF0IGN1cnJlbnQgbGluZVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIFJlZHJhdyBzY3JlZW5cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBwcmV2aW91cyBmaWxlIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBmaWxlIG5hbWUgYW5kIGxpbmUgbnVtYmVyXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIKK21zZ3N0ciAiIgorIjzQv9GA0L7QsdC10Ls+ICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0YHQu9C10LTRg9GO0YnQuNGFIGsg0YHRgtGA0L7QuiDRgtC10LrRgdGC0LAgW9GC0LXQutGD0YnQuNC5INGA0LDQt9C80LXRgCDRjdC60YDQsNC90LBdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDRgdC70LXQtNGD0Y7RidC40YUgayDRgdGC0YDQvtC6INGC0LXQutGB0YLQsCBb0YLQtdC60YPRidC40Lkg0YDQsNC30LzQtdGAINGN0LrRgNCw0L3QsF0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDRgdC70LXQtNGD0Y7RidC40YUgayDRgdGC0YDQvtC6INGC0LXQutGB0YLQsCBbMV0qXG4iCisiZCDQuNC70LggY3RybC1EICAgICAgICAgICAg0J/RgNC+0LrRgNGD0YLQutCwIGsg0YHRgtGA0L7QuiBb0YLQtdC60YPRidC10LUg0LfQvdCw0YfQtdC90LjQtSDQv9GA0L7QutGA0YPRgtC60LgsINC40LfQvdCw0YfQsNC70YzQvdC+IDExXSpcbiIKKyJxINC40LvQuCBRINC40LvQuCA80L/RgNC10YDRi9CyLj4gICDQktGL0YXQvtC0INC40LcgbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgINCf0YDQvtC/0YPRgdC6INCy0L/QtdGA0LXQtCBrINGB0YLRgNC+0Log0YLQtdC60YHRgtCwIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgINCf0YDQvtC/0YPRgdC6INCy0L/QtdGA0LXQtCBrINC/0L7Qu9C90YvRhSDRjdC60YDQsNC90L7QsiDRgtC10LrRgdGC0LAgWzFdXG4iCisiYiDQuNC70LggY3RybC1CICAgICAgICAgICAg0J/RgNC+0L/Rg9GB0Log0L3QsNC30LDQtCBrINC/0L7Qu9C90YvRhSDRjdC60YDQsNC90L7QsiDRgtC10LrRgdGC0LAgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAg0J/QtdGA0LXRhdC+0LQg0LIg0LzQtdGB0YLQviwg0YEg0LrQvtGC0L7RgNC+0LPQviDQsdGL0Lsg0L3QsNGH0LDRgiDQv9GA0LXQtNGL0LTRg9GJ0LjQuSDQv9C+0LjRgdC6XG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAg0J7RgtC+0LHRgNCw0LbQtdC90LjQtSDQvdC+0LzQtdGA0LAg0YLQtdC60YPRidC10Lkg0YHRgtGA0L7QutC4XG4iCisiLzzRgNC10LPRg9C70Y/RgNC90L7QtSDQstGL0YDQsNC20LXQvdC40LU+INCf0L7QuNGB0Logay3Qs9C+INCy0YXQvtC20LTQtdC90LjRjyDRgNC10LPRg9C70Y/RgNC90L7Qs9C+INCy0YvRgNCw0LbQtdC90LjRjyBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICDQn9C+0LjRgdC6IGst0LPQviDQstGF0L7QttC00LXQvdC40Y8g0L/QvtGB0LvQtdC00L3QtdCz0L4g0YAu0LIuIFsxXVxuIgorIiE8Y21kPiDQuNC70LggOiE8Y21kPiAgICAgINCS0YvQv9C+0LvQvdC10L3QuNC1IDxjbWQ+INCyINGB0YPQsS3RiNC10LvQu9C1XG4iCisidiAgICAgICAgICAgICAgICAgICAgICAg0JfQsNC/0YPRgdC6IC91c3IvYmluL3ZpINGBINGC0LXQutGD0YnQtdC5INGB0YLRgNC+0LrQuFxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgINCf0LXRgNC10YDQuNGB0L7QstGL0LLQsNC90LjQtSDRjdC60YDQsNC90LBcbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICDQn9C10YDQtdGF0L7QtCDQuiBrLdC80YMg0YHQu9C10LTRg9GO0YnQtdC80YMg0YTQsNC50LvRgyBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICDQn9C10YDQtdGF0L7QtCDQuiBrLdC80YMg0L/RgNC10LTRi9C00YPRidC10LzRgyDRhNCw0LnQu9GDIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgINCe0YLQvtCx0YDQsNC20LXQvdC40LUg0LjQvNC10L3QuCDRgtC10LrRg9GJ0LXQs9C+INGE0LDQudC70LAg0Lgg0L3QvtC80LXRgNCwINGB0YLRgNC+0LrQuFxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgINCf0L7QstGC0L7RgNC10L3QuNC1INC/0YDQtdC00YvQtNGD0YnQtdC5INC60L7QvNCw0L3QtNGLXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW9Cd0LDQttC80LjRgtC1ICdoJyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC40L3RgdGC0YDRg9C60YbQuNC5Ll0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIlwiJXNcIiDRgdGC0YDQvtC60LAgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIlvQndC1INGE0LDQudC7XSDRgdGC0YDQvtC60LAgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAg0J/QtdGA0LXQv9C+0LvQvdC10L3QuNC1XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi7Qv9GA0L7Qv9GD0YHQutCw0LXRgtGB0Y9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisi0KjQsNCx0LvQvtC9INC90LUg0L3QsNC50LTQtdC9XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAi0KjQsNCx0LvQvtC9INC90LUg0L3QsNC50LTQtdC9IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAi0LLRi9C/0L7Qu9C90LXQvdC40LUg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjCDQvdC10YPQtNCw0YfQtdC5XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NjYKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INGB0L7Qt9C00LDRgtGMINC00L7Rh9C10YDQvdC40Lkg0L/RgNC+0YbQtdGB0YFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi7Qn9GA0L7Qv9GD0YHQutCw0LXRgtGB0Y8gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA0Cittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIi4uLtCf0YDQvtC/0YPRgdC60LDQtdGC0YHRjyDQtNC+INGE0LDQudC70LAgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4u0J/RgNC+0L/Rg9GB0LrQsNC10YLRgdGPINC+0LHRgNCw0YLQvdC+INC00L4g0YTQsNC50LvQsCAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICLQodGC0YDQvtC60LAg0YHQu9C40YjQutC+0Lwg0LTQu9C40L3QvdCw0Y8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIwMzIKK21zZ2lkICJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIgorbXNnc3RyICLQndC10YIg0L/RgNC10LTRi9C00YPRidC10Lkg0LrQvtC80LDQvdC00Ysg0LTQu9GPINC30LDQvNC10L3RiyIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gWyvRgdGC0YDQvtC60LBdIFsrL9GI0LDQsdC70L7QvS9dIFvRhNCw0LnQu9GLXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKK21zZ2lkICIgLWMgICAgICAgICAgIGNsZWFyIHNjcmVlbiBiZWZvcmUgZGlzcGxheWluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg0L3QtSDQtNC10LvQsNGC0Ywg0L/QsNGD0LfRgyDQsiDQutC+0L3RhtC1INGE0LDQudC70LBcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDQvdC1INGA0LDQt9Cx0LjQstCw0YLRjCDQtNC70LjQvdC90YvQtSDRgdGC0YDQvtC60LhcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg0LLRi9Cy0L7QtNC40YLRjCDRgdC+0L7QsdGJ0LXQvdC40Y8g0L3QsCDRgdGC0LDQvdC00LDRgNGC0L3Ri9C5INCy0YvQstC+0LRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAi0JTQu9GPINC/0LDRgNCw0LzQtdGC0YDQsCDQvdGD0LbQtdC9INCw0YDQs9GD0LzQtdC90YIg4oCUICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjY0CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICLQvdC10LTQvtC/0YPRgdGC0LjQvNGL0Lkg0L/QsNGA0LDQvNC10YLRgCDigJQgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLtC/0YDQvtC/0YPRgdC60LDQtdGC0YHRjyDQstC/0LXRgNC10LRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLtC/0YDQvtC/0YPRgdC60LDQtdGC0YHRjyDQvdCw0LfQsNC0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODUKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgItCd0LXRgiDRgdC70LXQtNGD0Y7RidC10LPQviDRhNCw0LnQu9CwIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAi0J3QtdGCINC/0YDQtdC00YvQtNGD0YnQtdCz0L4g0YTQsNC50LvQsCIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAi0J7RiNC40LHQutCwINGH0YLQtdC90LjRjyDQuNC3INGE0LDQudC70LAgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAi0J3QtdC+0LbQuNC00LDQvdC90YvQuSDQutC+0L3QtdGGINGE0LDQudC70LAg0LIg0YTQsNC50LvQtSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgItCd0LXQuNC30LLQtdGB0YLQvdCw0Y8g0L7RiNC40LHQutCwINCyINGE0LDQudC70LUgJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAi0J3QtSDRg9C00LDRkdGC0YHRjyDRgdC+0LfQtNCw0YLRjCDQstGA0LXQvNC10L3QvdGL0Lkg0YTQsNC50LsiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTggdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICLQntGI0LjQsdC60LAgUkU6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKNC60L7QvdC10YYg0YTQsNC50LvQsCkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICLQndC10YIg0LfQsNC/0L7QvNC90LXQvdC90YvRhSDRgdGC0YDQvtC6INC/0L7QuNGB0LrQsCIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMTEKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgItC90LUg0YPQtNCw0ZHRgtGB0Y8g0L7RgtC60YDRi9GC0YwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjYzCittc2dpZCAic2F2ZWQiCittc2dzdHIgItGB0L7RhdGA0LDQvdC10L0iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzUzCittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6ICHQutC+0LzQsNC90LTQsCDQvdC1INGA0LDQt9GA0LXRiNC10L3QsCDQsiDRgNC10LbQuNC80LUgcmZsYWcuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzg3Cittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5LCDQv9C+0L/RgNC+0LHRg9C50YLQtSDQtdGJ0LUg0YDQsNC3INC/0L7Qv9C+0LfQttC1XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIo0KHQu9C10LTRg9GO0YnQuNC5INGE0LDQudC7OiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC+0L/RgNC10LTQtdC70LjRgtGMINGH0LjRgdC70L4g0YHRgtGA0L7QuiDQvdCwINGB0YLRgNCw0L3QuNGG0LUiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCittc2dzdHIgItCY0YHQv9C+0LvRjNC30L7QstCw0L3QuNC1OiAlcyBb0L/QsNGA0LDQvNC10YLRgNGLXSBb0YTQsNC50LsgLi4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgxCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0YtdIFs80YTQsNC50Ls+IC4uLl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgItC+0YjQuNCx0LrQsCDRh9GC0LXQvdC40Y8gdGVybWluZm8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgYCVzJyBpcyBub3Qga25vd24sIGRlZmF1bHRpbmcgdG8gYGR1bWInIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAi0L3QtdC40LfQstC10YHRgtC90LDRjyBlc2NhcGUt0L/QvtGB0LvQtdC00L7QstCw0YLQtdC70YzQvdC+0YHRgtGMINCy0L4g0LLRhdC+0LTQvdGL0YUg0LTQsNC90L3Ri9GFOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAi0KHRgtGA0L7QutCwINCy0YXQvtC00L3Ri9GFINC00LDQvdC90YvRhSDRgdC70LjRiNC60L7QvCDQtNC70LjQvdC90LDRjy4iCisKKyN+IG1zZ2lkICJHZW9tZXRyeSIKKyN+IG1zZ3N0ciAi0JPQtdC+0LzQtdGC0YDQuNGPIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAi0L3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C/0L7Qu9C90LjRgtGMIC9iaW4vdW1vdW50INC00LvRjyAnJXMnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0L/RgNC+0YfQuNGC0LDRgtGMINGB0LjQvNCy0L7Qu9GM0L3Rg9GOINGB0YHRi9C70LrRgzogJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgItC90LXQstC+0LfQvNC+0LbQvdC+INCy0YvQv9C+0LvQvdC40YLRjDogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAiJXM6INC90LXQuNC30LLQtdGB0YLQvdGL0Lkg0LDRgNCz0YPQvNC10L3RgjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorI34gbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGA0Ysg0LrQvtGA0YDQtdC60YLQuNGA0L7QstC60Lgg0L7RgtC60LvQvtC90LXQvdC40Y8g0L3QtSDQvtCx0L3QvtCy0LvQtdC90YsuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29tbWFuZHM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLQmNGB0L/QvtC70YzQt9C+0LLQsNC90LjQtTpcbiIKKyN+ICIgJTEkcyAtVlxuIgorI34gIiAlMSRzIC0tcmVwb3J0IFvRg9GB0YLRgNC+0LnRgdGC0LLQsF1cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdINC60L7QvNCw0L3QtNGLINGD0YHRgtGA0L7QudGB0YLQstCwXG4iCisjfiAiXG4iCisjfiAi0JTQvtGB0YLRg9C/0L3Ri9C1INC60L7QvNCw0L3QtNGLOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi0JTQvtGB0YLRg9C/0L3Ri9C1INC/0L7Qu9GPICjQtNC70Y8gLW8pOlxuIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAi0L7RiNC40LHQutCwINC/0L7QuNGB0LrQsCDQvdCwICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtViDQutCw0Log0L/QsNGA0LDQvNC10YLRgCDQstC10YDRgdC40Lgg0LTQvtC70LbQtdC9INCx0YvRgtGMINC10LTQuNC90YHRgtCy0LXQvdC90YvQvCDQv9Cw0YDQsNC80LXRgtGA0L7QvFxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0Y3RgtGDINGB0L/RgNCw0LLQutGDINC4INCy0YvQudGC0LhcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLQlNC+0YHRgtGD0L/QvdGL0LUg0YHRgtC+0LvQsdGG0YsgKNC00LvRjyDQv9Cw0YDQsNC80LXRgtGA0L7QsiAtLXNob3csIC0tcmF3INC40LvQuCAtLXBhaXJzKTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5ICclcyAtaCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgItCf0L7Qv9GA0L7QsdGD0LnRgtC1IGBnZXRvcHQgLS1oZWxwJyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LguXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgINC/0L7QutCw0LfQsNGC0Ywg0Y3RgtGDINGB0L/RgNCw0LLQutGDINC4INCy0YvQudGC0LhcbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gINCy0YvQstC10YHRgtC4INC90L7QvNC10YAg0LLQtdGA0YHQuNC4INC4INCy0YvQudGC0LhcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXUsIC0taGVscCAgICAg0L/QvtC60LDQt9Cw0YLRjCDRjdGC0YMg0YHQv9GA0LDQstC60YMg0Lgg0LLRi9C50YLQuFxuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAi0J3QtdGCINC40LfQstC10YHRgtC90YvRhSDRiNC10LvQu9C+0LIuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi0JTQvtGB0YLRg9C/0L3Ri9C1INC/0L7Qu9GPOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAi0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LU6IG5hbWVpIFstbXhdINC/0YPRgtC10LLQvtC1X9C40LzRjyBb0L/Rg9GC0LXQstC+0LVf0LjQvNGPIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gItCU0L7RgdGC0YPQv9C90YvQtSDRgdGC0L7Qu9Cx0YbRiyAo0LTQu9GPIC0tb3V0cHV0KTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgItCf0L7Qv9GA0L7QsdGD0LnRgtC1IGBnZXRvcHQgLS1oZWxwJyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LguXG4iCisKKyN+IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDRgNCw0LfRitGP0YHQvdC10L3QuNC1INCy0YvQv9C+0LvQvdGP0LXQvNGL0YUg0LTQtdC50YHRgtCy0LjQuVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKKyN+IG1zZ3N0ciAi0KDQtdCz0LjRgdGC0YDRiyDQsNC/0L/QsNGA0LDRgtC90YvRhSDRh9Cw0YHQvtCyINGB0L7QtNC10YDQttCw0YIg0LfQvdCw0YfQtdC90LjRjywg0LrQvtGC0L7RgNGL0LUg0LvQuNCx0L4g0L3QtdCy0LXRgNC90YsgKNC90LDQv9GALiwgNTAt0Lkg0LTQtdC90Ywg0LzQtdGB0Y/RhtCwKSwg0LvQuNCx0L4g0L3QsNGF0L7QtNGP0YLRgdGPINC30LAg0L/RgNC10LTQtdC70LDQvNC4INGN0YTRhNC10LrRgtC40LLQvdC+0LPQviDQtNC40LDQv9Cw0LfQvtC90LAgKNC90LDQv9GALCAyMDk1INCz0L7QtCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKKyN+IG1zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0Ysg0L3QtSDRgdC+0LTQtdGA0LbQsNGCINCy0LXRgNC90L7Qs9C+INCy0YDQtdC80LXQvdC4LCDQv9C+0Y3RgtC+0LzRgyDRgSDQvdC40YUg0L3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0YHQuNGB0YLQtdC80L3QvtC1INCy0YDQtdC80Y8uXG4iCisKKyN+IG1zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorI34gbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjfiBtc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisjfiBtc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSBzdXBlcnVzZXIgdG8gc2V0IHN5c3RlbSBjbG9jay4iCisjfiBtc2dzdHIgItCU0LvRjyDRg9GB0YLQsNC90L7QstC60Lgg0YHQuNGB0YLQtdC80L3Ri9GFINGH0LDRgdC+0LIg0L3Rg9C20L3RiyDQv9GA0LDQstCwINGB0YPQv9C10YDQv9C+0LvRjNC30L7QstCw0YLQtdC70Y8uIgorCisjfiBtc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKKyN+IG1zZ3N0ciAi0JrQvtGA0YDQtdC60YLQuNGA0L7QstC60LAg0LrQvtGN0YTRhNC40YbQuNC10L3RgtCwINC+0YLQutC70L7QvdC10L3QuNGPINC90LUg0LLRi9C/0L7Qu9C90LXQvdCwLCDQv9C+0YLQvtC80YMg0YfRgtC+INCw0L/Qv9Cw0YDQsNGC0L3Ri9C1INGH0LDRgdGLINGA0LDQvdC10LUg0YHQvtC00LXRgNC20LDQu9C4INC80YPRgdC+0YAuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAi0JDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0Ysg0L3QtSDRgdC+0LTQtdGA0LbQsNGCINCy0LXRgNC90L7Qs9C+INCy0YDQtdC80LXQvdC4LCDQv9C+0Y3RgtC+0LzRgyDQvtGC0LrQvtGA0YDQtdC60YLQuNGA0L7QstCw0YLRjCDQuNGFINC90LXQstC+0LfQvNC+0LbQvdC+LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INC/0L7Qu9GD0YfQuNGC0Ywg0LfQvdCw0YfQtdC90LjQtSDQstC10LrQsCDQuNC3INGP0LTRgNCwLlxuIgorCisjfiBtc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorI34gbXNnc3RyICLQr9C00YDQviDQv9C+0LTRgNCw0LfRg9C80LXQstCw0LXRgiwg0YfRgtC+INC30L3QsNGH0LXQvdC40LUg0LLQtdC60LAgJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKKyN+IG1zZ3N0ciAi0KfRgtC+0LHRiyDRg9GB0YLQsNC90L7QstC40YLRjCDQt9C90LDRh9C10L3QuNC1INCy0LXQutCwLCDQstGLINC00L7Qu9C20L3RiyDQuNGB0L/QvtC70YzQt9C+0LLQsNGC0Ywg0L7Qv9GG0LjRjiAnZXBvY2gnINC00LvRjyDRg9C60LDQt9Cw0L3QuNGPINC90YPQttC90L7Qs9C+INC30L3QsNGH0LXQvdC40Y8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAi0JLQtdC6INC90LUg0YPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YLRgdGPINCyICVkIC0g0YLQvtC70YzQutC+INGC0LXRgdGC0LjRgNC+0LLQsNC90LjQtS5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgItCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINCyINGP0LTRgNC1INC30L3QsNGH0LXQvdC40LUg0LLQtdC60LAuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiY29sOiDQvdC10LLQtdGA0L3Ri9C5INCw0YDQs9GD0LzQtdC90YIgLWwgJXMuXG4iCisKKyN+IG1zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKKyN+IG1zZ3N0ciAiJXMg0L3QtSDQuNC80LXQtdGCINGE0YPQvdC60YbQuNC5INC/0YDQtdGA0YvQstCw0L3QuNGPLiAiCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAiaW9jdGwoKSDQsiAlcyDQtNC70Y8g0LLQutC70Y7Rh9C10L3QuNGPINC/0YDQtdGA0YvQstCw0L3QuNC5INC+0LHQvdC+0LLQu9C10L3QuNGPINC90LXQvtC20LjQtNCw0L3QvdC+INC30LDQstC10YDRiNC40LvRgdGPINC90LXRg9C00LDRh9C10LkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAi0JTQu9GPINC40LfQvNC10L3QtdC90LjRjyDQt9C90LDRh9C10L3QuNGPINCy0LXQutCwINCyINGP0LTRgNC1INC90LXQvtCx0YXQvtC00LjQvNC+INC/0L7Qu9GD0YfQuNGC0Ywg0LTQvtGB0YLRg9C/INC6INC00YDQsNC50LLQtdGA0YMg0YPRgdGC0YDQvtC50YHRgtCy0LAgTGludXggJ3J0Yycg0L/QvtGB0YDQtdC00YHRgtCy0L7QvCDRgdC/0LXRhtC40LDQu9GM0L3QvtCz0L4g0YTQsNC50LvQsCDRg9GB0YLRgNC+0LnRgdGC0LLQsCAlcy4g0JIg0LTQsNC90L3QvtC5INGB0LjRgdGC0LXQvNC1INGN0YLQvtGCINGE0LDQudC7INC+0YLRgdGD0YLRgdGC0LLRg9C10YIuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisjfiBtc2dzdHIgItCx0YvQuyDQv9GA0L7Rh9C40YLQsNC9INCy0LXQuiAlbGQg0LjQtyAlcyDRh9C10YDQtdC3IFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCisjfiBtc2dzdHIgItCX0L3QsNGH0LXQvdC40LUg0LLQtdC60LAg0L3QtSDQvNC+0LbQtdGCINCx0YvRgtGMINC80LXQvdGM0YjQtSAxOTAwLiDQktGLINC30LDQv9GA0L7RgdC40LvQuCAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCisjfiBtc2dzdHIgItCy0LXQuiDRg9GB0YLQsNC90LDQstC70LjQstCw0LXRgtGB0Y8g0LIgJWxkINGBIFJUQ19FUE9DSF9TRVQgaW9jdGwg0LIgJXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKKyN+IG1zZ3N0ciAi0JTRgNCw0LnQstC10YAg0YPRgdGC0YDQvtC50YHRgtCy0LAg0Y/QtNGA0LAg0LTQu9GPICVzINC90LUg0LjQvNC10LXRgiBSVENfRVBPQ0hfU0VUIGlvY3RsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgItCf0L7Qv9GA0L7QsdGD0LnRgtC1IGBnZXRvcHQgLS1oZWxwJyDQtNC70Y8g0L/QvtC70YPRh9C10L3QuNGPINC00L7Qv9C+0LvQvdC40YLQtdC70YzQvdC+0Lkg0LjQvdGE0L7RgNC80LDRhtC40LguXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAi0J/QvtC/0YDQvtCx0YPQudGC0LUgYGdldG9wdCAtLWhlbHAnINC00LvRjyDQv9C+0LvRg9GH0LXQvdC40Y8g0LTQvtC/0L7Qu9C90LjRgtC10LvRjNC90L7QuSDQuNC90YTQvtGA0LzQsNGG0LjQuC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorI34gbXNnc3RyICLQlNC+0YHRgtGD0L/QvdGL0LUg0LrQvtC80LDQvdC00Ys6XG4iCisKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Ywg0LjQvdGE0L7RgNC80LDRhtC40Y4g0L4g0LLQtdGA0YHQuNC4INC4INCy0YvQudGC0LhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg0JLRi9Cy0L7QtCDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQstC10YDRgdC40LhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDQrdGC0L4g0L3QtdCx0L7Qu9GM0YjQvtC1INGA0YPQutC+0LLQvtC00YHRgtCy0L4g0L/QviDQuNGB0L/QvtC70YzQt9C+0LLQsNC90LjRjlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgINCS0YvQstC+0LQg0LjQvdGE0L7RgNC80LDRhtC40Lgg0L4g0LLQtdGA0YHQuNC4XG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorI34gbXNnc3RyICLQvdC1INGD0LTQsNC70L7RgdGMINC00L7QsdCw0LLQuNGC0Ywg0LTQsNC90L3Ri9C1INCyINGC0LDQsdC70LjRhtGDINCy0YvQstC+0LTQsCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKKyN+IG1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LLRi9C00LXQu9C40YLRjCDQsdGD0YTQtdGALlxuIgorCisjfiBtc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCisjfiBtc2dzdHIgIiVzOiDRjdGC0Lgg0L/QsNGA0LDQvNC10YLRgNGLINGP0LLQu9GP0Y7RgtGB0Y8g0LLQt9Cw0LjQvNC+0LjRgdC60LvRjtGH0LDRjtGJ0LjQvNC4OiIKKworI34gbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tdGFiICAgICAgICAgICAgINC/0L7QuNGB0Log0LIg0YLQsNCx0LvQuNGG0LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L3QvdGL0YUg0YTQsNC50LvQvtCy0YvRhSDRgdC40YHRgtC10LxcbiIKKworI34gbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICLQp9Cw0YHRiyDQvdC1INC40LfQvNC10L3QtdC90YsgLSDRgtC+0LvRjNC60L4g0YLQtdGB0YLQuNGA0L7QstCw0L3QuNC1LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAi0J3QtSDRg9C60LDQt9Cw0L3QsCDQvtC/0YbQuNGPIC0tZGF0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCisjfiBtc2dzdHIgItCQ0YDQs9GD0LzQtdC90YIgLS1kYXRlINGB0LvQuNGI0LrQvtC8INC00LvQuNC90L3Ri9C5XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorI34gIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCisjfiBtc2dzdHIgIiIKKyN+ICLQl9C90LDRh9C10L3QuNC1INC+0L/RhtC40LggLS1kYXRlINC90LUg0Y/QstC70Y/QtdGC0YHRjyDQstC10YDQvdC+0Lkg0LTQsNGC0L7QuS5cbiIKKyN+ICLQkiDRh9Cw0YHRgtC90L7RgdGC0LgsINC+0L3QviDRgdC+0LTQtdGA0LbQuNGCINC60LDQstGL0YfQutC4LlxuIgorCisjfiBtc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCisjfiBtc2dzdHIgItCf0L7QtNCw0LXRgtGB0Y8g0LrQvtC80LDQvdC00Ysg0LTQsNGC0Ys6ICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorI34gbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQt9Cw0L/Rg9GB0YLQuNGC0Ywg0L/RgNC+0LPRgNCw0LzQvNGDICdkYXRlJyDQsiDRiNC10LvQu9C1IC9iaW4vc2guIHBvcGVuKCkg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworI34gbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKKyN+IG1zZ3N0ciAi0L7RgtCy0LXRgiDQutC+0LzQsNC90LTRiyBkYXRlID0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAi0JrQvtC80LDQvdC00LAgZGF0ZSwg0LLRi9C30LLQsNC90L3QsNGPICVzLCDQstC+0LfQstGA0LDRgtC40LvQsCDQvdC10L7QttC40LTQsNC90L3Ri9C1INGA0LXQt9GD0LvRjNGC0LDRgtGLLlxuIgorI34gItCa0L7QvNCw0L3QtNCwINCx0YvQu9CwOlxuIgorI34gIiAgJXNcbiIKKyN+ICLQntGC0LLQtdGCINCx0YvQuzpcbiIKKyN+ICIgICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gItCa0L7QvNCw0L3QtNCwIGRhdGUsINCy0YvQt9Cy0LDQvdC90LDRjyAlcywg0LLQvtC30LLRgNCw0YLQuNC70LAg0YfRgtC+LdGC0L4g0LrRgNC+0LzQtSDRhtC10LvQvtCz0L4g0YfQuNGB0LvQsCwg0YLQvtCz0LTQsCDQutCw0Log0L7QttC40LTQsNC70L7RgdGMINC/0YDQtdC+0LHRgNCw0LfQvtCy0LDQvdC90L7QtSDQt9C90LDRh9C10L3QuNC1INCy0YDQtdC80LXQvdC4LlxuIgorI34gItCa0L7QvNCw0L3QtNCwINCx0YvQu9CwOlxuIgorI34gIiAgJXNcbiIKKyN+ICLQntGC0LLQtdGCINCx0YvQuzpcbiIKKyN+ICIgICVzXG4iCisKKyN+IG1zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCisjfiBtc2dzdHIgItGB0YLRgNC+0LrQsCDQtNCw0YLRiyAlcyDRgNCw0LLQvdGP0LXRgtGB0Y8gJWxkINGB0LXQutGD0L3QtNCw0Lwg0YEgMTk2OS5cbiIKKworI34gbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorI34gbXNnc3RyICLQodC40YHRgtC10LzQvdGL0LUg0YfQsNGB0Ysg0L3QtSDRg9GB0YLQsNC90L7QstC70LXQvdGLLCDQv9C+0YLQvtC80YMg0YfRgtC+INC30LDQv9GD0YHQuiDQsiDRgtC10YHRgtC+0LLQvtC8INGA0LXQttC40LzQtS5cbiIKKworI34gbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCisjfiBtc2dzdHIgItCk0LDQudC7IGFkanRpbWUg0L3QtSDQvtCx0L3QvtCy0LvRj9C10YLRgdGPLCDQv9C+0YLQvtC80YMg0YfRgtC+INCy0LrQu9GO0YfQtdC9INGA0LXQttC40Lwg0YLQtdGB0YLQuNGA0L7QstCw0L3QuNGPLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorI34gIiVzIgorI34gbXNnc3RyICIiCisjfiAi0KHQu9C10LTRg9GO0YnQtdC1INCx0YPQtNC10YIg0LfQsNC/0LjRgdCw0L3QviDQsiAlczpcbiIKKyN+ICIlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICLQl9C90LDRh9C10L3QuNC1INCy0LXQutCwINC00LvRjyDQsNC/0L/QsNGA0LDRgtC90YvRhSDRh9Cw0YHQvtCyINGP0LTRgNC+INGF0YDQsNC90LjRgiDRgtC+0LvRjNC60L4g0L3QsCBBbHBoYS3QvNCw0YjQuNC90LDRhS5cbiIKKyN+ICLQrdGC0LAg0LrQvtC/0LjRjyBod2Nsb2NrINCx0YvQu9CwINGB0L7Qt9C00LDQvdCwINC00LvRjyDQvNCw0YjQuNC90YssINC+0YLQu9C40YfQvdC+0Lkg0L7RgiBBbHBoYVxuIgorI34gIijQuCwg0YLQsNC60LjQvCDQvtCx0YDQsNC30L7QvCwg0YHQtdC50YfQsNGBLCDQv9C+LdCy0LjQtNC40LzQvtC80YMsINC90LAgQWxwaGEg0L3QtSDRgNCw0LHQvtGC0LDQtdGCKS4gINCU0LXQudGB0YLQstC40LUg0L7RgtC60LvQvtC90LXQvdC+LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtLWplbnNlbiwgLS1hcmMsIC0tc3JtLCAtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgICAgICAgICAgICDRgdC+0L7QsdGJ0LDQtdGCIGh3Y2xvY2sn0YMg0YLQuNC/INCy0LDRiNC10LkgYWxwaGEgKNGB0LwuIGh3Y2xvY2soOCkpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgItCaINGB0L7QttCw0LvQtdC90LjRjiDRgtC+0LvRjNC60L4g0YHRg9C/0LXRgNC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjCDQvNC+0LbQtdGCINC40LfQvNC10L3Rj9GC0Ywg0LDQv9C/0LDRgNCw0YLQvdGL0LUg0YfQsNGB0YsuXG4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMg0L/RgNC40L3QuNC80LDQtdGCINC90LXQvtC/0YbQuNC+0L3QsNC70YzQvdGL0LUg0LDRgNCz0YPQvNC10L3RgtGLLiAg0JLQsNC8INC/0YDQtdC00L7RgdGC0LDQstC70LXQvdGLICVkLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICLQntGC0YHRg9GC0YHRgtCy0YPQtdGCINC/0YDQuNCz0L7QtNC90L7QtSDQtNC70Y8g0YPRgdGC0LDQvdC+0LLQutC4INCy0YDQtdC80Y8uINCd0LXQstC+0LfQvNC+0LbQvdC+INGD0YHRgtCw0L3QvtCy0LjRgtGMINGH0LDRgdGLLlxuIgorCisjfiBtc2dpZCAiYm9vdGVkIGZyb20gTUlMT1xuIgorI34gbXNnc3RyICLQt9Cw0LPRgNGD0LbQtdC9INC40LcgTUlMT1xuIgorCisjfiBtc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiUnVmZmlhbiBCQ0Qt0YfQsNGB0YtcbiIKKworI34gbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCisjfiBtc2dzdHIgItC/0L7RgNGCINGH0LDRgdC+0LIg0LLRi9GB0YLQsNCy0LvQtdC9INC90LAgMHgleFxuIgorCisjfiBtc2dpZCAiZnVua3kgVE9ZIVxuIgorI34gbXNnc3RyICLQutC70LDRgdGB0L3QsNGPINCY0JPQoNCj0KjQmtCQIVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCisjfiBtc2dzdHIgIiVzOiDQsNGC0L7QvNC90YvQuSAlcyDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5INC00LvRjyAxMDAwINC40YLQtdGA0LDRhtC40LkhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKKyN+IG1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0LHRi9C70L4g0L/QvtC70YPRh9C40YLRjCDRgNCw0LfRgNC10YjQtdC90LjQtSwg0L/QvtGC0L7QvNGDINC90LUg0LHRi9C70LAg0LLRi9C/0L7Qu9C90LXQvdCwINC/0L7Qv9GL0YLQutCwLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorI34gbXNnc3RyICIlcyDQvdC10LLQvtC30LzQvtC20L3QviDQv9C+0LvRg9GH0LjRgtGMINC00L7RgdGC0YPQvyDQuiDQv9C+0YDRgtGDIEkvTzogINCy0YvQt9C+0LIgaW9wbCgzKSDQt9Cw0LLQtdGA0YjQuNC70YHRjyDQvdC10YPQtNCw0YfQtdC5LlxuIgorCisjfiBtc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorI34gbXNnc3RyICLQktC+0LfQvNC+0LbQvdC+LCDQstCw0Lwg0L3Rg9C20L3RiyDQv9GA0LjQstC40LvQtdCz0LjQuCByb290J9CwLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L7QsdGA0LDQsdC+0YLRh9C40Log0YHQuNCz0L3QsNC70LAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0YPRgdGC0LDQvdC+0LLQuNGC0Ywg0L7QsdGA0LDQsdC+0YLRh9C40Log0YHQuNCz0L3QsNC70LAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6INGC0L7Qu9GM0LrQviByb290INC80L7QttC10YIg0LzQvtC90YLQuNGA0L7QstCw0YLRjCAlcyDQvdCwICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGlzIHVzZWQgYXMgcmVhZCBvbmx5IGxvb3AsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMg0LfQsNGJ0LjRidC10L0g0L7RgiDQt9Cw0L/QuNGB0LgsINC80L7QvdGC0LjRgNGD0LXRgtGB0Y8g0YLQvtC70YzQutC+INC00LvRjyDRh9GC0LXQvdC40Y8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiDQvdC10LLQvtC30LzQvtC20L3QviDQvtC/0YDQtdC00LXQu9C40YLRjCDRgtC40L8g0YTQsNC50LvQvtCy0L7QuSDRgdC40YHRgtC10LzRiywg0Lgg0L3QuCDQvtC00L3QsCDQvdC1INCx0YvQu9CwINGD0LrQsNC30LDQvdCwIgorCisjLCBmdXp6eQorI34gbXNnaWQgInlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnQ6INCy0Ysg0LTQvtC70LbQvdGLINGD0LrQsNC30LDRgtGMINGC0LjQvyDRhNCw0LnQu9C+0LLQvtC5INGB0LjRgdGC0LXQvNGLIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50IHNvdXJjZSBub3QgZGVmaW5lZCIKKyN+IG1zZ3N0ciAibW91bnQ6INC80L7QvdGC0LjRgNC+0LLQsNC90LjQtSDQt9Cw0LLQtdGA0YjQuNC70L7RgdGMINC90LXRg9C00LDRh9C10LkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQg0LfQsNCy0LXRgNGI0LjQu9GB0Y8g0L3QtdGD0LTQsNGH0LXQuSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyDRg9C20LUg0L/RgNC40LzQvtC90YLQuNGA0L7QstCw0L0g0L3QsCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgINCSINC90LXQutC+0YLQvtGA0YvRhSDRgdC70YPRh9Cw0Y/RhSDQv9C+0LvQtdC30L3QsNGPINC40L3RhNC+0YDQvNCw0YbQuNGPINC80L7QttC10YIg0LHRi9GC0YxcbiIKKyN+ICIgICAgICAg0L3QsNC50LTQtdC90LAg0LIgc3lzbG9nIC0g0L/QvtC/0YDQvtCx0YPQudGC0LUgZG1lc2cgfCB0YWlsINC40LvQuCDRh9GC0L4t0YLQvlxuIgorI34gIiAgICAgICDQsiDRjdGC0L7QvCDRgNC+0LTQtVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKKyN+IG1zZ3N0ciAi0L3QtdGA0LDRgdC/0L7Qt9C90LDQvdC90YvQuSDQstCy0L7QtDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6INC90LUg0L3QsNC50LTQtdC9IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiJXMgW9C/0LDRgNCw0LzQtdGC0YDRi10gPNGE0LDQudC7PlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorI34gbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDzRh9C40YHQu9C+PiAgICAgICDRg9C60LDQttC40YLQtSDQutC+0LvQuNGH0LXRgdGC0LLQviDRhtC40LvQuNC90LTRgNC+0LJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKKyN+IG1zZ3N0ciAiICAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgINCt0YLQviDQvdC10LHQvtC70YzRiNC+0LUg0YDRg9C60L7QstC+0LTRgdGC0LLQviDQv9C+INC40YHQv9C+0LvRjNC30L7QstCw0L3QuNGOXG4iCisKKyN+IG1zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAi0J3QtSDRg9C60LDQt9Cw0L0g0LLRhdC+0LTQvdC+0Lkg0YTQsNC50LsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgItC60L7RgNC90LXQstC+0LkgaW5vZGUg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINC60LDRgtCw0LvQvtCz0L7QvCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzZWNjb21wIGNvbnRleHQiCisjfiBtc2dzdHIgItC90LUg0YPQtNCw0LvQvtGB0Ywg0LjQvdC40YbQuNCw0LvQuNC30LjRgNC+0LLQsNGC0YwgbG9vcGN4dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIHNlY2NvbXAgcnVsZSIKKyN+IG1zZ3N0ciAi0J3QtdCy0L7Qt9C80L7QttC90L4g0L/RgNC+0YfQuNGC0LDRgtGMICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICLQndC10LLQvtC30LzQvtC20L3QviDQv9GA0L7Rh9C40YLQsNGC0YwgJXNcbiIKKworI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICLQnNC10YLQutCwINGE0LDQudC70L7QstC+0Lkg0YHQuNGB0YLQtdC80Ys6IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHNldCBQQVRIIgorI34gbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQt9Cw0LTQsNGC0YwgUEFUSCIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgItC+0YjQuNCx0LrQsCDQt9Cw0L/QuNGB0Lgg0L3QsCAlc1xuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICLQvdC10LLQtdGA0L3QvtC1INC30L3QsNGH0LXQvdC40LUg0YLQsNC50Lwt0LDRg9GC0LA6ICVzIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgIiVzOiDQvtGI0LjQsdC60LAg0YDQsNC30LHQvtGA0LAg0LIg0YHRgtGA0L7QutC1ICVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICLQv9C+0YHQu9C10LTQvdGP0Y8g0L/QtdGA0LLQsNGPINGB0YLRgNC+0LrQsCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICLQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCAlcyIKKworI34gbXNnaWQgImRpZmZlcmVudCIKKyN+IG1zZ3N0ciAi0L7RgtC70LjRh9Cw0LXRgtGB0Y8iCisKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICLQvtC00LjQvdCw0LrQvtCy0YvQuSIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyDQvdC1INGP0LLQu9GP0LXRgtGB0Y8g0L7RgdC+0LHRi9C8INCx0LvQvtGH0L3Ri9C8INGD0YHRgtGA0L7QudGB0YLQstC+0LwiCisKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgIiVzOiDQs9GA0LDQvdC40YbRiyDRg9GB0YLRgNC+0LnRgdGC0LLQsCDQvdC1INCy0YvRgNCw0LLQvdC10L3RiyIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yINGB0LrRgNGL0YLRi9C5INC00LjRgdC6IEM6IgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIiVzOiDQvdC1INGD0LTQsNC70L7RgdGMINC/0L7Qu9GD0YfQuNGC0Ywg0L/Rg9GC0Ywg0Log0YPRgdGC0YDQvtC50YHRgtCy0YMiCisKKyN+IG1zZ2lkICIlczogdW5rbm93biBkZXZpY2UgbmFtZSIKKyN+IG1zZ3N0ciAiJXM6INC90LXQuNC30LLQtdGB0YLQvdC+0LUg0LjQvNGPINGD0YHRgtGA0L7QudGB0YLQstCwIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiDQvdC10LLQvtC30LzQvtC20L3QviDQvtGC0LrRgNGL0YLRjCA6ICVzXG4iCisKKyMsIGZ1enp5CisjfnwgbXNnaWQgIiVzICAlLjZmIHNlY29uZHNcbiIKKyN+IG1zZ2lkICIlcyAgLiUwNmQgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlcyAgJS42ZiDRgdC10LrRg9C90LRcbiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICLRgdGC0YDQsNC90LjRhiIKZGlmZiAtLWdpdCBhL3BvL3NsLnBvIGIvcG8vc2wucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDU1OTMxNgotLS0gL2Rldi9udWxsCisrKyBiL3BvL3NsLnBvCkBAIC0wLDAgKzEsMjYwNTYgQEAKKyMgLSotIG1vZGU6IHBvIC0qLSBTbG92ZW5pYW4gdHJhbnNsYXRpb24gZm9yIHV0aWwtbGludXggcGFja2FnZS4KKyMgQ29weXJpZ2h0IChDKSAyMDAyLCAyMDAzIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgorIyBQcmltb74gUGV0ZXJsaW4gPHByaW1vei5wZXRlcmxpbkBiaW9maXoubWYudW5pLWxqLnNpPiwgMjAwMiwgMjAwMy4KKyMgU2ltb24gTWloZXZjIDxzaW1vbm1paGV2Y0B2b2xqYS5uZXQ+LCAyMDA1LCAyMDA2CisjICRJZDogdXRpbC1saW51eC0yLjEzLXByZTYuc2wucG8sdiAxLjMgMjAwNi8wMy8wNCAxOToyOTozNCBwZXRlcmxpbiBFeHAgJAorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQgdGhhdCB0aGlzCisjIGhlYWRlciBpcyBub3QgcmVtb3ZlZCBhbmQgbW9kaWZpZWQgdmVyc2lvbnMgYXJlIG1hcmtlZAorIyBhcyBzdWNoLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjEzLXByZTZcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAwNi0wMy0wNSAxMjoyOSswMjAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBTaW1vbiBNaWhldmMgPHNpbW9ubWloZXZjQGVtYWlsLnNpPlxuIgorIkxhbmd1YWdlLVRlYW06IFNsb3ZlbmlhbiA8dHJhbnNsYXRpb24tdGVhbS1zbEBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IHNsXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9SVNPLTg4NTktMlxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAiUHJldmXoIGFyZ3VtZW50b3YuXG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICJuYXN0YXZpIHNhbW8gemEgYnJhbmplIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAibmFzdGF2aSB6YSBwaXNhbmplIGluIGJyYW5qZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAicHJlYmVyaSBzYW1vIHphIGJyYW5qZSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorIywgZnV6enkKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJwcmViZXJpIHZlbGlrb3N0IHNla3RvcmphIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJEb2RhdG5pIHNla3RvcmppIG5hIHN0ZXpvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCBibG9rYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzMQorbXNnaWQgInNldCBibG9ja3NpemUgb24gZmlsZSBkZXNjcmlwdG9yIG9wZW5pbmcgdGhlIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgInByZWJlcmkgMzItYml0bm8guXRldmlsbyBzZWt0b3JqZXYiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3QodiBiYWp0aWgpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAibmFzdGF2aSBicmFuamUtdm5hcHJlaiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgInByZWJlcmkgYnJhbmplLXZuYXByZWoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJuYXN0YXZpIGJyYW5qZS12bmFwcmVqIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAicHJlYmVyaSBicmFuamUtdm5hcHJlaiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgIml6cHJhem5pIG1lZHBvbW5pbG5pa2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NgorIywgZnV6enkKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiICAgIC1xICBbYWxpIC0tcXVpZXRdOiAgICAgbmUgcHJpa2G+aSBvcG96b3JpbCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworIywgZnV6enkKK21zZ2lkICIgLXYgICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTgKK21zZ2lkICIgICAgIC0tcmVwb3J0ICAgcHJpbnQgcmVwb3J0IGZvciBzcGVjaWZpZWQgKG9yIGFsbCkgZGV2aWNlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb21tYW5kczoiCittc2dzdHIgIlJhenBvbG++bGppdmkgdWthemk6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3QodiBiYWp0aWgpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjg4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMTkKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDEgZGlzay11dGlscy9pc29zaXplLmM6MjA1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTgxIGRpc2stdXRpbHMvbWtmcy5jOjExNiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTgxIG1pc2MtdXRpbHMvd2lwZWZzLmM6NzE4CisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3MSBzeXMtdXRpbHMvYmxrem9uZS5jOjM5NCBzeXMtdXRpbHMvdHVuZWxwLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY4OSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxNQorIywgZnV6enkKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogbG9vcCBuYXByYXZhIGplIHBvZGFuYSBkdmFrcmF0IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIlZlbGlrb3N0aSBkaXNrb3ZuZSBzdGV6ZSBuaSBtb2dv6GUgcHJlYnJhdGkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gY29tbWFuZDogJXMiCittc2dzdHIgIiVzOiBOZXpuYW4gdWthejogJXNcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIHphaHRldmEgYXJndW1lbnRcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4NyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiJXM6IG5hcGFrYSBpb2N0bCBuYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyBqZSB1c3BlbG8uXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgInNhbW8gemEgYnJhbmplICAgIGJyYW5qZS12bmFwcmVqICAgIHZlbGlrb3N0IHNla3RvcmphICAgIHZlbGlrb3N0IGJsb2thIHph6GV0bmkgc2VrdG9yICAgIHZlbGlrb3N0ICAgIE5hcHJhdmFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiWmFnb25za2kiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJQcmVrbG9waSB6YWdvbnNrbyB6YXN0YXZpY28gdHJlbnV0bmVnYSByYXpkZWxrYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUiCittc2dzdHIgIkl6YnJpuWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiSXpicmm5aSB0YSByYXpkZWxlayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVzaXplIgorbXNnc3RyICJOYWp2ZehqYSB2ZWxpa29zdD0lbGRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJJemJyablpIHRhIHJhemRlbGVrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiTm92YSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIlVzdHZhcmkgbm92IHJhemRlbGVrIGl6IG5lemFzZWRlbmVnYSBwcm9zdG9yYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IgorbXNnc3RyICJJemhvZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJJemhvZCBpeiBwcm9ncmFtYSBicmV6IHphcGlzYSB0YWJlbGUgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MSBsaWJmZGlzay9zcmMvYnNkLmM6NDM4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMSBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OQorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMjYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUaXAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgIHQgICBzcHJlbWVuaSBzaXN0ZW1za2kgSUQgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAiUG9tb+giCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIkl6cGm5aSBzdHJhbiB6IG5hdm9kaWxpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIlNvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBwb3ByYXZpIHZyc3RuaSByZWQgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICJaYXBpuWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiWmFwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgZGlzayAodG8gbGFoa28gdW5p6GkgcG9kYXRrZSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorIywgZnV6enkKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiSXpwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSBzaHJhbmkgdiBkYXRvdGVrbyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAobW91bnRlZCkiCittc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTcKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMyMworbXNnaWQgIkF0dHJpYnV0ZXM6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzU0CisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCisjLCBmdXp6eQorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbi5cdCAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2sgJXM6ICVsdSBzdGV6LCAlbHUgZ2xhdiwgJWx1IHNla3Rvcmpldi9zdGV6b1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkRpc2tvdm5pIFBvZ29uOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIm96bmFrYTogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCh2IGJhanRpaCkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3QodiBiYWp0aWgpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MTAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4CisjLCBmdXp6eQorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiSXpicmFuIHJhemRlbGVrICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDgKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICIlczogemEgJXMgbmkgbW9nb+hlIG5hanRpIG5hcHJhdmVcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIk5lIGJvc3RlIG1vZ2xpIHphcGlzYXRpIHRhYmVsZSByYXpkZWxrb3YuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAyOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzAKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIlcyBuZSBtb3JlbSBvZHByZXRpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDkKK21zZ2lkICJUaGUgY3VycmVudCBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlIHdpbGwgYmUgZHVtcGVkIHRvIHRoZSBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTEyCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIk5lcHJhdmlsZW4gdGlwXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzYKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJDZmRpc2sgamUgdGVrc3Rvdm5pIHByb2dyYW0gemEgdXJlamFuamUgZGlza292bmloIHJhemRlbGtvdiwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworIywgZnV6enkKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAicyBrYXRlcmltIGxhaGtvIHVzdHZhcmphdGUsIGJyablldGUgYWxpIHNwcmVtaW5qYXRlIHJhemRlbGtlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAiICBVa2F6ICAgICAgICBQb21lbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAgUHJla2xvcCBtZWQgemFnb25za2ltL25lemFnb25za2ltIHJhemRlbGtvbSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICBJemJyablpIHRyZW51dG5pIHJhemRlbGVrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICBwcmlrYb5pIHRvIHBvbW/oIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgVXN0dmFyaSBub3YgcmF6ZGVsZWsgbmEgbmV6YXNlZGVuZWdhIHByb3N0b3JhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBaYXB1c3RpIHByb2dyYW0sIG5lIGRhIGJpIHphcGlzYWwgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg2CisjLCBmdXp6eQorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0cmlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgU3ByZW1lbmkgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg5CisjLCBmdXp6eQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIFphcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIGRpc2sgKG1vcmEgYml0aSB2ZWxpa2kgVyEpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIEtlciBsYWhrbyB0YSBpemJpcmEgdW5p6GkgcG9kYXRrZSBuYSBkaXNrdSwgbW9yYXRlLCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGl6YmlybyBwb3RyZGl0aSBhbGkgcHJla2xpY2F0aSB6IHZub3NvbSAsZGFgIGFsaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIlB1uehpY2EgZ29yICBQcmVtYWtuaSBrYXphbGVjIG5hIHByZWq5bmppIHJhemRlbGVrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJQdbnoaWNhIGRvbCAgUHJlbWFrbmkga2F6YWxlYyBuYSBuYXNsZWRuamkgcmF6ZGVsZWsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorIywgZnV6enkKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiUHW56GljYSBnb3IgIFByZW1ha25pIGthemFsZWMgbmEgcHJlarluamkgcmF6ZGVsZWsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJQdbnoaWNhIGRvbCAgUHJlbWFrbmkga2F6YWxlYyBuYSBuYXNsZWRuamkgcmF6ZGVsZWsiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIk9wb21iYTogVnNlIHVrYXplIGxhaGtvIHZwablldGUgeiB2ZWxpa2ltaSBhbGkgbWFsaW1pIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTkKKyMsIGZ1enp5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgInRpc2thbmltaSDocmthbWkgKHogaXpqZW1vIFcpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorIywgZnV6enkKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIlByaXRpc25pdGUga2F0ZXJva29saSB0aXBrbyB6YSBuYWRhbGpldmFuamUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworIywgZnV6enkKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiTmkgbW9nb+hlIG9kcHJldGkgJXNcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJJemJyYW4gcmF6ZGVsZWsgJWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA5IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiUmF6ZGVsZWsgJWQgbmltYSBwb2RhdGtvdm5lZ2Egb2Jtb+hqYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiVGlwIHJhemRlbGthICVkIGplIHNwcmVtZW5qZW4gdiAleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorIywgZnV6enkKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICJOb3ZhIGx1cGluYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IHJlc2l6ZWQuIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQyNyBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDMgZGlzay11dGlscy9mZGlzay5jOjEwNjMKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5MQorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzIKKyMsIGZ1enp5Cittc2dpZCAiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHdyaXRlIHRoZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzaz8gIgorbXNnc3RyICJTdGUgcHJlcHJp6GFuaSwgZGEgvmVsaXRlIHphcGlzYXRpIHRhYmVsbyByYXpkZWxrb3YgbmEgZGlzaz8gKGRhIGFsaSBuZSk6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0Cittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgImRhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIlRhYmVsYSByYXpkZWxrb3YgbmkgYmlsYSB6YXBpc2FuYSBuYSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJUYWJlbGEgcmF6ZGVsa292IGplIGJpbGEgc3ByZW1lbmplbmEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisiXG4iCisiVm5vc2kgdGFiZWxlIHJhemRlbGtvdiBuaXNvIHYgZGlza292bmVtIHZyc3RuZW0gcmVkdVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUyMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworIywgZnV6enkKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzNQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjc2IGRpc2stdXRpbHMvZmRpc2suYzo5NTAgZGlzay11dGlscy9zZmRpc2suYzoyMTIwCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDEwIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJuaSB1a2F6YT9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICJ1cG9yYWJhOiBzZmRpc2sgLS1pZCBuYXByYXZhILl0LiByYXpkZWxrYSBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJGb3JtYXRpcmFtbyAuLi4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAib3ByYXZsamVub1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlByZXZlcmphbmplLi4uIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJCZXJpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICJUZb5hdmEgcHJpIGJyYW5qdSBzdGV6ZSAlZDogcHJp6GFrb3Zhbm8gJWQsIHByZWJyYW5vICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisic2xhYmkgcG9kYXRraSBuYSBzdGV6aSAlZFxuIgorIk5hZGFsanVqZW1vLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ5Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTQ4CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzcKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc5NworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODIxIGRpc2stdXRpbHMvbWtzd2FwLmM6MjQzIGRpc2stdXRpbHMvcGFydHguYzo5NTEKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODggbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzcgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NSBzeXMtdXRpbHMvYmxrem9uZS5jOjk5CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5NyBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjAKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo3OSBzeXMtdXRpbHMvbnNlbnRlci5jOjE2NCBzeXMtdXRpbHMvbnNlbnRlci5jOjE2OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUyMyBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5NAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTM3IHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTAgbWlzYy11dGlscy9sc2Jsay5jOjE1MDEKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg3IHN5cy11dGlscy9ibGt6b25lLmM6MTAxCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pIGJsb+huYSBuYXByYXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICJUcmVudXRuZSB2cnN0ZSBmb3JtYXRpcmFuamEgbmkgbW/oIHVnb3Rvdml0aSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlc3N0cmFuc2thLCAlZCBzdGV6LCAlZCBzZWt0b3JqZXYvc3Rlem8uIFNrdXBuYSB2ZWxpa29zdCAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRHZvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJFbm8iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHByaXZ6ZXRvICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiVXBvcmJsamVuYSBibyBwcml2emV0YSB2cmVkbm9zdCAldVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIyIGRpc2stdXRpbHMvZmRpc2suYzoyOTYgZGlzay11dGlscy9mZGlzay5jOjM3MQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyNDEgbGliZmRpc2svc3JjL2dwdC5jOjI0NjkKKyMsIGZ1enp5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiVnJlZG5vc3QgaXp2ZW4gZG9zZWdhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwgcHJpdnpldG8gJXUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTQgZGlzay11dGlscy9mZGlzay5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBwcml2emV0byAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXUtJXUsIHByaXZ6ZXRvICV1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCBwcml2emV0byAldSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY5IGRpc2stdXRpbHMvZmRpc2suYzozMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlczogJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDc5CisjLCBmdXp6eQorbXNnaWQgIkhleCBjb2RlICh0eXBlIEwgdG8gbGlzdCBhbGwgY29kZXMpOiAiCittc2dzdHIgIqllc3RuYWpzdGm5a2Ega29kYSAocHJpdGlzbmkgTCB6YSBpemJvciBrb2QpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiqWVzdG5hanN0ablrYSBrb2RhIChwcml0aXNuaSBMIHphIGl6Ym9yIGtvZCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJaZHJ1vmxqaXZvc3QgeiBET1MgamUgbmFzdGF2bGplbmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJaZHJ1vmxqaXZvc3QgeiBET1MgbmkgbmFzdGF2bGplbmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJSYXpkZWxlayAlZCC5ZSBuZSBvYnN0YWphIVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA5IGRpc2stdXRpbHMvZmRpc2suYzo2MTggbGliZmRpc2svc3JjL2Fzay5jOjEwMDMKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJOZXpuYW5vIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICclcycgdG8gJyVzJy4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiZGlzazogJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJ2ZWppdGV2IG5pIG1vZ2/oYSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyOAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAiJXMgJXMgbmkgbW9nb+hlIGJyYXRpLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxIGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOTgKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICJQcnZpICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiQkxLR0VUU0laRSBvZCBpb2N0bCBuaSB1c3BlbCBuYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIGZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTIKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTMKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE0CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHN0ZXo6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCittc2dzdHIgIiAgICAtSCMgW2FsaSAtLWhlYWRzICNdOiAgIG5hc3RhdmkguXRldmlsbyBnbGF2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHNla3RvcmpldiBuYSBzdGV6bzogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTEwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCisjLCBmdXp6eQorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICIlczogemEgJXMgbmkgbW9nb+hlIG5hanRpIG5hcHJhdmVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiSW1lbmlrICVzIG5lIG9ic3RhamEhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NzUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDg5CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAibmkgdWthemE/XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJPcG96b3JpbG86IGl6YmlyYSAtYiAobmFzdGF2aSB2ZWxpa29zdCBzZWt0b3JqYSkgc2UgbmFqIHVwb3JhYmxqYSBzIHBvZGFubyBuYXByYXZvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIm5lcHJhdmlsbmEgdnJlZG5vc3QgemEgcHJla29yYehpdGV2IOhhc2E6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiVXN0dmFyamEgc2Ugbm92YSBkaXNrb3ZuYSBvem5ha2EgdGlwYSBzdW4uIFNwcmVtZW1iZSBib2RvIG9zdGFsZSB2XG4iCisicG9tbmlsbmlrdSBzYW1vIGRva2xlciBzZSBuZSBvZGxv6Gl0ZSwgZGEgamloIGJvc3RlIHphcGlzYWxpLiBQbyB0ZW1cbiIKKyJibyBwcmVquW5qYSB2c2ViaW5hIG5lcG92cm5saml2YS5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJEaXNrb3ZuYSBlbm90YTogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkRpc2tvdm5pIFBvZ29uOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisiRGlzayAlczogJWx1IHN0ZXosICVsdSBnbGF2LCAlbHUgc2VrdG9yamV2L3N0ZXpvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiVkIGdsYXYsICVkIHNla3Rvcmpldi9zdGV6bywgJWQgc3RleiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIiIKKyJFbm90ZSA9ICVzIG9kICVkIHggJWQgPSAlZCBiYWp0b3ZcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzggZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFsaWdubWVudCBvZmZzZXQ6ICVsdSBieXRlcyIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE3MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNzMKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NDQgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDcyIG1pc2MtdXRpbHMvZmluY29yZS5jOjE1OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6NjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjcxMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTE2NworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDM2IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjM5IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjUwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMwMSBzeXMtdXRpbHMvbHNjcHUuYzoxNjQzIHN5cy11dGlscy9sc2NwdS5jOjE2NzQKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUwNCBzeXMtdXRpbHMvbHNpcGMuYzo2Mjkgc3lzLXV0aWxzL3BybGltaXQuYzoyNjEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MDIgc3lzLXV0aWxzL3N3YXBvbi5jOjIyNyBzeXMtdXRpbHMvd2RjdGwuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NDcyIHRleHQtdXRpbHMvY29sdW1uLmM6NDYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlJhemRlbGVrICVpIHNlIG5lIHph6G5lIG5hIG1lamkgc3RlejpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLiIKK21zZ3N0ciAiIgorIlxuIgorIlZub3NpIHRhYmVsZSByYXpkZWxrb3YgbmlzbyB2IGRpc2tvdm5lbSB2cnN0bmVtIHJlZHVcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorIywgZnV6enkKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiemHoZXRlayIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAiS29uZWMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJTZWt0b3JqaSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI5CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNAorbXNnaWQgIlNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIlxuIgorIkRpc2sgJXM6ICVsdSBzdGV6LCAlbHUgZ2xhdiwgJWx1IHNla3Rvcmpldi9zdGV6b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IE5lem5hbiB1a2F6OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgemJyablpIHJhemRlbGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiICAgZSAgIGl6cGm5aSByYXq5aXJqZW5lIHJhemRlbGtlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIiAgIGwgICBpenBpuWkgem5hbmUgdnJzdGUgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgbiAgIGRvZGFqIG5vdiByYXpkZWxlayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIlNhbW8gaXpwaXMgdGFiZWxlIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgICB0ICAgc3ByZW1lbmkgc2lzdGVtc2tpIElEIHJhemRlbGthIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIHYgICBwcmV2ZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorIywgZnV6enkKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IG5pIGJsb+huYSBuYXByYXZhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiAgIGQgICBpenBpuWkgc3Vyb3ZlIHBvZGF0a2UgaXogdGFiZWxlIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAiICAgZCAgIGl6cGm5aSBzdXJvdmUgcG9kYXRrZSBpeiB0YWJlbGUgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiAgIGYgICBwb3ByYXZpIHZyc3RuaSByZWQgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIiAgIG0gICBpenBpuWkgdGEgbWVuaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgcHJpa2F6bmUvdm5vc25lIGVub3RlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAiICAgeCAgIGRvZGF0bmUgbW++bm9zdGkgKHNhbW8gemEgcG96bmF2YWxjZSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICIgICB3ICAgemFwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgZGlzayBpbiBrb27oYWoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICIgICB3ICAgemFwablpIG96bmFrbyBkaXNrYSBuYSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICIgICBxICAga29u6GFqLCBuZSBkYSBiaSBzaHJhbmlsIHNwcmVtZW1iZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIiAgIHIgICB2cm5pIHNlIHYgZ2xhdm5pIG1lbmkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAiICAgcyAgIHVzdHZhcmkgbm92byBwcmF6bm8gb3puYWtvIGRpc2thIHRpcGEgU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICB1c3R2YXJpIG5vdm8gcHJhem5vIHRhYmVsbyByYXpkZWxrb3YgdGlwYSBNUy1ET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgIG8gICB1c3R2YXJpIG5vdm8gcHJhem5vIHRhYmVsbyByYXpkZWxrb3YgdGlwYSBNUy1ET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MAorIywgZnV6enkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICAgbyAgIHVzdHZhcmkgbm92byBwcmF6bm8gdGFiZWxvIHJhemRlbGtvdiB0aXBhIE1TLURPUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBvICAgdXN0dmFyaSBub3ZvIHByYXpubyB0YWJlbG8gcmF6ZGVsa292IHRpcGEgTVMtRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgICBnICAgdXN0dmFyaSB0YWJlbG8gcmF6ZGVsa3ZvIHRpcGEgSVJJWCAoU0dJKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIgICBjICAgc3ByZW1lbmkguXRldmlsbyBzdGV6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiICAgaCAgIHNwcmVtZW5pILl0ZXZpbG8gZ2xhdiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiICAgcyAgIHNwcmVtZW5pILl0ZXZpbG8gc2VrdG9yamV2L3NsZWQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorIywgZnV6enkKK21zZ2lkICJHUFQiCittc2dzdHIgIkVGSSBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJzcHJlbWVuamVubyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTcxCittc2dpZCAiZW50ZXIgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiAgIGEgICBwcmVrbG9waSB6YWdvbnNrbyB6YXN0YXZpY28iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIiAgIGMgICBwcmVrbG9waSB6ZHJ1vmxqaXZvIHogRE9TIHphc3RhdmljbyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc2CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIiAgIGEgICBwcmVrbG9waSBzYW1vIHphIGJyYW5qZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAiU3VuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICIgICBhICAgcHJla2xvcGkgc2FtbyB6YSBicmFuamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICIgICBjICAgcHJla2xvcGkgemFzdGF2aWNvIHByaWtsb3Bsaml2byIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiICAgYSAgIHNwcmVtZW5pILl0ZXZpbG8gaXptZW5p6G5paCBzdGV6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiICAgZSAgIHNwcmVtZW5pILl0ZXZpbG8gZG9kYXRraWggc2VrdG9yamV2IG5hIHN0ZXpvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICIgICBpICAgc3ByZW1lbmkga29lZmljaWVudCBwcmVwbGV0ZW5vc3RpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIgICBvICAgc3ByZW1lbmkgaGl0cm9zdCB2cnRlbmphIChvYnJhdGkvbWluKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIgICB5ICAgc3ByZW1lbmkguXRldmlsbyBmaXpp6G5paCBzdGV6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kgc3Vyb3YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNQorIywgZnV6enkKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIgICBhICAgaXpiZXJpIHphZ29uc2tpIHJhemRlbGVrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAiICAgYiAgIHVyZWRpIHphZ29uc2tvZGF0b3Rl6G5pIHZub3MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworIywgZnV6enkKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIgICBjICAgaXpiZXJpIGl6bWVuamFsbmkgcmF6ZGVsZWsgdGlwYSBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1Mgc2FtbyB6YSBicmFuamUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICIgICBhICAgcHJla2xvcGkgemFnb25za28gemFzdGF2aWNvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiICAgYiAgIHNwcmVtZW5pIG96bmFrbyBkaXNrYSB0aXBhIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAiICAgYyAgIHByZWtsb3BpIHpkcnW+bGppdm8geiBET1MgemFzdGF2aWNvIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYiAgIHByZW1ha25pIHph6GV0ZWsgcG9kYXRrb3YgdiByYXpkZWxrdSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgcHJpa2F6bmUvdm5vc25lIGVub3RlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorIywgZnV6enkKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRC9PUyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2CisjLCBmdXp6eQorbXNnaWQgImVkaXQgZHJpdmUgZGF0YSIKK21zZ3N0ciAiICAgZSAgIGG+dXJpcmFqIGRpc2tvdm5lIHBvZGF0a2UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworIywgZnV6enkKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAiICAgaSAgIG5hbWVzdGkgemHoZXRuaSBuYWxhZ2FsbmlrIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiAgIHMgICBwcmlrYb5pIGNlbG9zdG5vIG96bmFrbyBkaXNrYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5CisjLCBmdXp6eQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgeCAgIHBvdmW+aSByYXpkZWxlayB0aXBhIEJTRCB6IHJhemRlbGtvbSBkcnVnZWdhIHRpcGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiUG9tb+giCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyMworbXNnaWQgIkV4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJTdHJva292bmkgdWtheiAobSB6YSBwb21v6Ck6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDI1Cittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiVWtheiAobSB6YSBwb21v6Ck6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICJBbGkgcmVzIL5lbGl0ZSBuYWRhbGpldmF0aSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogbmV6bmFuIHVrYXpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIlczogemEgJXMgbmkgbW9nb+hlIG5hanRpIG5hcHJhdmVcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlZCB2c2VidWplIHNla3RvciAwXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1OCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDcKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJBbGkgvmVsaXRlIHphcGlzYXRpIHRvIG5hIGRpc2s/IFt5bnFdICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTYzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUxMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAiICAgZiAgIHBvcHJhdmkgdnJzdG5pIHJlZCByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY0MAorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgZG9sb+hlblxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiSXpicmFuIHJhemRlbGVrICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIGN5bGluZGVycyAoREVQUkVDQVRFRCEpLiIKK21zZ3N0ciAiU3ByZW1pbmphbSBlbm90ZSBwcmlrYXphL3Zub3NhIG5hICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworIywgZnV6enkKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICJTcHJlbWluamFtIGVub3RlIHByaWthemEvdm5vc2EgbmEgJXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgc3ByZW1lbmkgb3puYWtvIGRpc2thIHRpcGEgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgYiAgIHNwcmVtZW5pIG96bmFrbyBkaXNrYSB0aXBhIEJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKKyMsIGZ1enp5Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIk5ldmVsamF2bm8gdXBvcmFibmm5a28gaW1lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIgICBiICAgc3ByZW1lbmkgb3puYWtvIGRpc2thIHRpcGEgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiqXRldmlsbyBzdGV6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICKpdGV2aWxvIGdsYXYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiqXRldmlsbyBzZWt0b3JqZXYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbi5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAidW1vdW50OiAlczogbmV1c3BluW5vIGlza2FuamUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMyOSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTUgZGlzay11dGlscy9zZmRpc2suYzoyOTggbGliZmRpc2svc3JjL2JzZC5jOjY0NQorIzogbGliL3BhdGguYzoxNDAgbGliL3BhdGguYzoxNjEgbGliL3BhdGguYzoxODIgbGliL3BhdGguYzoyMzAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0NSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjU1CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE0IHN5cy11dGlscy9zZXRwcml2LmM6Mjg1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcyMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICIlcyAlcyBuaSBtb2dv6GUgYnJhdGkuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICJuYXBha2EgcHJpIGlza2FuanUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIm5hbWVpOiB0cmVudXRuZWdhIGltZW5pa2EgbmkgbW9nb+hlIGRvYml0aSAtICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIlNpbmhyb25pemlyYW0gZGlza2UuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgamUgdXNwZWxvLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiVXBvcmFibGphbSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICJrbGljIGlvY3RsKCkgbmkgdXNwZWwgcHJlYnJhdGkg6GFzYSBpeiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDcyIG1pc2MtdXRpbHMvZmluZG1udC5jOjc4NCBtaXNjLXV0aWxzL2xzYmxrLmM6NDQ2CisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDEgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIm5hcGFrYSBwcmkgaXNrYW5qdSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA0IGRpc2stdXRpbHMvZnNjay5jOjUwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY4NyBsb2dpbi11dGlscy9sb2dpbi5jOjk0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAyNAorIzogbG9naW4tdXRpbHMvdmlwdy5jOjIwOCBzeXMtdXRpbHMvZmxvY2suYzozNDYgc3lzLXV0aWxzL25zZW50ZXIuYzoxODAKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMjAgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjEgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MzUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6ODA1CisjLCBmdXp6eQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJ2ZWppdGV2IG5pIHVzcGVsYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODIKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzg1IHN5cy11dGlscy9mbG9jay5jOjM2NCBzeXMtdXRpbHMvc3dhcG9uLmM6MzUyCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0MAorIywgZnV6enkKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR1aWQoKSBuaSB1c3BlbCIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiJXM6IG5hcGFrYSAlZCBwcmkgcmF6uWlyamFuanUhICVwKCVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogJXMgbmkgbHAgbmFwcmF2YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICJtb3VudDogbmV6bmFuIHRpcCBkYXQuIHNpc3RlbWEgJyVzJyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiUHJpc2lsbmkgcHJlZ2xlZCBkYXRvdGXobmVnYSBzaXN0ZW1hIG5hICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJQcmlzaWxuaSBwcmVnbGVkIGRhdG90ZehuZWdhIHNpc3RlbWEgbmEgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIlByaXNpbG5pIHByZWdsZWQgZGF0b3Rl6G5lZ2Egc2lzdGVtYSBuYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworIywgZnV6enkKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAgU3ByZW1lbmkgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAgICAtbCBbYWxpIC0tbGlzdF06ICAgICBpenBpuWkgcmF6ZGVsa2UgemEgdnNha28gbmFwcmF2byIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiICBkICAgICAgICAgIEl6YnJpuWkgdHJlbnV0bmkgcmF6ZGVsZWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA1Cittc2dpZCAiIgorIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIDx0eXBlPiBpcyBhbGxvd2VkIHRvIGJlIGEgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA3CisjLCBmdXp6eQorbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQxMworbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICIlczogJXMgbmkgbHAgbmFwcmF2YS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorIywgZnV6enkKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiJXMgamUgb2RrbG9wbGplblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJPZGtsYXBsamFtIHByZW9zdGFsZSBkYXRvdGXobmUgc2lzdGVtZS4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAiT2RrbGFwbGphbSBwcmVvc3RhbGUgZGF0b3Rl6G5lIHNpc3RlbWUuLi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiTmF2ZWRsaSBzdGUgdmXoIHN0ZXosIGtvdCBqaWggamUgbmEgZGlza3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMgemFodGV2YSBhcmd1bWVudFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTY0MworbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE3Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICIlczogb3Bvem9yaWxvIC0gdmVsaWtvc3RpIGRhdG90ZehuZWdhIHNpc3RlbWEgbmkgbW/oIHVnb3Rvdml0aSBcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICIlcyBuaSBibG/obmEgZW5vdGEgb3ouIGRhdG90ZWthXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworIywgZnV6enkKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgIiVzOiBuZXZlbGphdmVuIGNyYW1mcyAtIGltZSBkYXRvdGVrZSBqZSBwcmVrcmF0a29cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImJpZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAiVm5lc2l0ZSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hOiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAiqXRldmlsbyBzZWt0b3JqZXYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDEKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNQorIywgZnV6enkKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyBwb3Rla2EgemEga29uY2VtIGRpc2thXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiVzOiBvcG96b3JpbG8gLSBzdGFyYSBzbGlrYSBjcmFtZnMsIG1hbmprYSBDUkNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgJTxQUkl1MzI+IGJ5dGVzIGZyb20gZmlsZSAlcyIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICIsIG5hcGFrYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorIywgZnV6enkKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHJvb3Qgb2Zmc2V0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAgIGx1a25qYSB2ICVsZCAoJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICByYXq5aXJqYW0gYmxvayBtZWQgJWxkIGluICVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIiVzOiBuZWJsb+huaWggKCVsZCkgYmFqdG92XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiJXM6IFphcGlzYW5paCBzYW1vICVsdSBvZCBza3Vwbm8gJWx1IGJhanRvdiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgInByaWtsb3AgbmkgdXNwZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgInByaWtsb3AgbmkgdXNwZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgIm5lcHJhdmlsbmEgdnJlZG5vc3QgemEgcHJla29yYehpdGV2IOhhc2E6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIi9kZXY6IGNoZGlyKCkgbmkgdXNwZWw6ICVtIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorIywgZnV6enkKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJzbGFiYSB2ZWxpa29zdCBpbm9kYSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICIlczogbmFwYehuYSB2ZWxpa29zdCBzaW1ib2xuZSBwb3ZlemF2ZSAsJXNgXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAiZnN5bmMgbmkgdXNwZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIiVzOiBwb25hcmVqZW4gbmHoaW4gbmEgYCVzJyAoJW8pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgInByaWtsb3AgbmkgdXNwZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIiVzOiBuZXZlbGphdmVuIGNyYW1mcyAtIGtvbmVjIHBvZGF0a292IGltZW5pa2EgKCVsZCkgbmkgZW5hayB6YehldGt1IGRhdG90ZehuaWggcG9kYXRrb3YgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAiJXM6IG5ldmVsamF2ZW4gY3JhbWZzIC0ga29uZWMgcG9kYXRrb3YgaW1lbmlrYSAoJWxkKSBuaSBlbmFrIHph6GV0a3UgZGF0b3Rl6G5paCBwb2RhdGtvdiAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiJXMgbmV2ZWxqYXZlbiBjcmFtZnMgLSBuZXZlbGphdmVuIG9kbWlrIGRhdG90ZehuaWggcG9kYXRrb3ZcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXZlbGphdm5hIGJsb+huYSBuYXByYXZhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlczogVnJlZHVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlByaXNpbG5pIHByZWdsZWQgZGF0b3Rl6G5lZ2Egc2lzdGVtYSBuYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgIFsgLWZpbGUgaXpob2RuYV9kYXQgXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICJ6YSBpbnRlcmFrdGl2bmEgb3ByYXZpbGEgamUgcG90cmViZW4gdGVybWluYWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIFNwcmVtZW5pIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWEiCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbi5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiQWxpIHJlcyC+ZWxpdGUgbmFkYWxqZXZhdGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICJwcmV2ZXJqYW5qZSBwcmVraW5qZW5vLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiuXRldmlsbyBvYm1v6GphIDwgUFJWT09CTU/ISkUgdiBkYXRvdGVraSBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzIyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yID49IFpPTkVTIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIrl0ZXZpbG8gb2Jtb+hqYSA+PSBPQk1PyEpBIHYgZGF0b3Rla2kgYCVzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIk9kc3RyYW5pIGJsb2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiTmFwYWthIHByaSBicmFuanU6IGlza2FuamUgZG8gYmxva2EgdiBkYXRvdGVraSBuaSBtb75ubyAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIk5hcGFrYSBwcmkgYnJhbmp1OiBwb7lrb2RvdmFuIGJsb2sgdiBkYXRvdGVraSAsJXNgXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIk5vdHJhbmphIG5hcGFrYTogcG9za3VzIHBpc2FuamEgdiBwb7lrb2RvdmFuIGJsb2tcbiIKKyJaYWh0ZXZhIHBvIHBpc2FuanUgamUgaWdub3JpcmFuYS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJOYXBha2EgcHJpIHBpc2FuanU6IHBvuWtvZG92YW4gYmxvayB2IGRhdG90ZWtpICclcydcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiT3Bvem9yaWxvOiC5dGV2aWxvIGlub2RvdiBwcmV2ZWxpa28uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICJuZXVzcGW5bm8gaXNrYW5qZSB2IHdyaXRlX3N1cGVyX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyYmxva2EgbmkgbW++bm8gemFwaXNhdGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgInNlem5hbWEgaW5vZG92IG5pIG1vvm5vIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjkKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgInNlem5hbWEgb2Jtb+hpaiBuaSBtb75ubyB6YXBpc2F0aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiWmFwaXMgaW5vZG92IG5pIG1vvmVuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAiZG9kZWxpdGV2IG1lZHBvbW5pbG5pa2EgemEgc2V6bmFtZSBuaSB1c3BlbGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICJicmFuamUgc3VwZXJibG9rYSBuaSBtb75ubyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAicG+5a29kb3ZhbiB0aXAgZGF0b3Rla2UgdiBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIlNhbW8gMWsgdmVsaWtpIGJsb2tpL3BvZHJv6GphIHNvIHBvZHBydGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworIywgZnV6enkKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJwb7lrb2RvdmFubyBzX2ltYXBfYmxvY2tzIHBvbGplIHYgc3VwZXJibG9rdSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInBvuWtvZG92YW5vIHNfaW1hcF9ibG9ja3MgcG9samUgdiBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKKyMsIGZ1enp5Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAicG+5a29kb3Zhbm8gc19pbWFwX2Jsb2NrcyBwb2xqZSB2IHN1cGVyYmxva3UiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJwb7lrb2RvdmFuIHNfem1hcF9ibG9ja3MgcG9samUgdiBzdXBlcmJsb2t1IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIkRvZGVsaXRldiBtZWRwb21uaWxuaWthIHphIHNlem5hbSBpbm9kb3YgbmkgbW++bmEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorIywgZnV6enkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAiRG9kZWxpdGV2IG1lZHBvbW5pbG5pa2EgemEgc2V6bmFtIGlub2RvdiBuaSBtb75uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJEb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSBpbm9kZSBuaSBtb75uYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIkRvZGVsaXRldiBtZWRwb21uaWxuaWthIHphILl0ZXZpbG8gaW5vZG92IG5pIG1vvm5hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjgKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJEb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSC5dGV2aWxvIHBvZHJv6GlqIG5pIG1vvm5hIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkJyYW5qZSBzZXpuYW1hIGlub2RvdiBuaSBtb75ubyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIkJyYW5qZSBzZXpuYW1hIHBvZHJv6GlqIG5pIG1vvm5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIkJyYW5qZSBpbm9kb3YgbmkgbW++bm8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKK21zZ3N0ciAiT3Bvem9yaWxvOiBGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2RvdlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQgYmxva292XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIlBydm8gcG9kYXRrb3ZubyBwb2Ryb+hqZT0lbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIlZlbGlrb3N0IHBvZHJv6GphPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIlN0YW5qZSBkYXQuIHNpc3RlbWE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorImRvbL5pbmEgZGF0b3Rla2U9JWRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIklub2QgJWQgb3puYehlbiBrb3QgcHJvc3QsIHZlbmRhciBqZSC+ZSB6YXNlZGVuIHphIGRhdG90ZWtvICwlc2BcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJPem5h6GksIGRhIGplIHYgcmFiaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiVGEgZGF0b3Rla2EgYCVzJyBqZSB2IHN0YW5qdSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiT3Bvem9yaWxvOiC5dGV2aWxvIGlub2RvdiBwcmV2ZWxpa28uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIkJsb2sgamUgvmUgYmlsIHYgcmFiaS4gU2VkYWogamUgdiBkYXRvdGVraSBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxNAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiUG/oaXN0aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICJCbG9rICVkIHYgZGF0b3Rla2kgLCVzYCBqZSBvem5h6GVuIGtvdCBwcm9zdC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJQb3ByYXZpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIkRpcmVrdG9yeSAnJXMnIHZzZWJ1amUgcG+5a29kb3ZhbiC5dGV2aWxrbyBpbm9kYSB6YSBkYXRvdGVrbyAnJS4qcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIk9kc3RyYW5pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBwb7lrb2RvdmFuIGltZW5pazogJy4nIG5pIG5hIHBydmVtIG1lc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk5MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczogcG+5a29kb3ZhbiBpbWVuaWs6ICcuLicgbmkgbmEgZHJ1Z2VtIG1lc3R1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICJub3RyYW5qYSBuYXBha2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczogcG+5a29kb3ZhbiBpbWVuaWs6IHZlbGlrb3N0IDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogcG+5a29kb3ZhbiBpbWVuaWs6ICcuJyBuaSBuYSBwcnZlbSBtZXN0dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgImlza2FuamUgdiBiYWRfem9uZSBuaSB1c3BlbG8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJzdGFuamUgJWQgaW5vZGEgbmkgcG/oabnoZW5vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2QgJWQgbmkgdiByYWJ1LCBvem5h6GVuIGtvdCB2IHJhYmkgdiBzbGlraS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2QgJWQgdiByYWJpLCBvem5h6GVuIGtvdCBuaSB2IHJhYmkgdiBzbGlraS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiTmFzdGF2aSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kICVkIChzdGFuamUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgImlfbmxpbmtzIG5hc3RhdmkgbmEgY291bnQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICJQb2Ryb+hqZSAlZDogb3puYehlbm8ga290IHYgcmFiaSwgdmVuZGFyIGdhIG5vYmVuYSBkYXRvdGVrYSBuZSB1cG9yYWJsamEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTg1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDEKK21zZ2lkICJVbm1hcmsiCittc2dzdHIgIk9kem5h6GkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJQb2Ryb+hqZSAlZDogdiByYWJpLCBjb3VudGVkPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiUG9kcm/oamUgJWQ6IG5pIHYgcmFiaSwgY291bnRlZD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjk5Cittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgInNsYWJhIHZlbGlrb3N0IGlub2RhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzAxCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInNsYWJhIHZlbGlrb3N0IHYyIGlub2RhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiemEgaW50ZXJha3Rpdm5hIG9wcmF2aWxhIGplIHBvdHJlYmVuIHRlcm1pbmFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgamUg6GlzdCwgcHJldmVyamFuamUgbmkgcG90cmVibm8uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJQcmlzaWxuaSBwcmVnbGVkIGRhdG90ZehuZWdhIHNpc3RlbWEgbmEgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBvbiAlcyBpcyBkaXJ0eSwgbmVlZHMgY2hlY2tpbmcuXG4iCittc2dzdHIgIkRhdG90ZehuaSBzaXN0ZW0gbmEgJXMgbmkg6GlzdCwgcG90cmVidWplIHByZWdsZWQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBpbm9kb3YgcG9yYWJsamVuaWggKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgcG9kcm/oaWogcG9yYWJsamVuaWggKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIG5hdmFkbmloIGRhdG90ZWtcbiIKKyIlNmQgaW1lbmlrb3ZcbiIKKyIlNmQgZGF0b3RlayB6bmFrb3ZuaWggbmFwcmF2XG4iCisiJTZkIGRhdG90ZWsgYmxv6G5paCBuYXByYXZcbiIKKyIlNmQgcG92ZXphdlxuIgorIiU2ZCBzaW1ib2xuaWggcG92ZXphdlxuIgorIi0tLS0tLVxuIgorIiU2ZCBkYXRvdGVrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkRBVE9URchOSSBTSVNURU0gSkUgQklMIFNQUkVNRU5KRU5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIlczogbmFwYWthIHByaSBicmFuanUgeiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgIrl0ZXZpbG8gc2VrdG9yamV2OiAlZCwgdmVsaWtvc3Qgc2VrdG9yamV2OiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG51bWJlciBvZiBpbm9kZXMiCittc2dzdHIgIk5ldmVsamF2bm8guXRldmlsbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICJpbWUgb2JzZWdhIGplIHByZWRvbGdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImltZSBkYXRvdGXobmVnYSBzaXN0ZW1hIGplIHByZWRvbGdvIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgImJsb2NrcyBhcmd1bWVudCBwcmV2ZWxpaywgbmFqdmXoamkgamUgJWx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAicHJldmXoIGlub2RvdiAtIG5hanZl6CA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIm5pIHphZG9zdGkgcHJvc3RvcmEsIG5ham1hbmogJWx1IGJsb2tvdiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIk5hcHJhdmEgJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJPYnNlZzogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiaW1lIGRhdC4gc2lzdGVtYTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJWZWxpa29zdCBibG9rYTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RpOiAlZCAodiBlbmVtIGJsb2t1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RpOiAlZCAodiAlbGQgYmxva2loKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxva2k6ICVsZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICJrb25lYyBpbm9kb3Y6ICVkLCBrb25lYyBwb2RhdGtvdjogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAibmFwYWthIHByaSB6YXBpc292YW5qdSBzdXBlcmJsb2thIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjgzCittc2dpZCAiZXJyb3Igd3JpdGluZyByb290IGlub2RlIgorbXNnc3RyICJuYXBha2EgcHJpIHphcGlzb3Zhbmp1IGtvcmVuc2tlZ2EgaW5vZGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICJuYXBha2EgcHJpIHphcGlzb3Zhbmp1IGlub2RhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk3Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICJuYXBha2EgcHJpIHphcGlzb3Zhbmp1IHZub3NhIC4gIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAibmFwYWthIHByaSB6YXBpc292YW5qdSB2bm9zYSAuLiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJuYXBha2EgcHJpIHphcGlyYW5qdSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIlVwb3JhYmE6IG1rZnMgWy1WXSBbLXQgdGlwIGRhdC4gc2lzdGVtYV0gW2l6YmlyZSBkYXQuIHNpc3QuXSBuYXByYXZhIFt2ZWxpa29zdF1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDkKKyMsIGZ1enp5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJ1cG9yYWJhOiAlcyBbLWhdIFstdl0gWy1iIHZlbGlrb3N0IGJsb2thXSBbLWUgaXpkYWphXSBbLWkgZGF0b3Rla2FdIFstbiBpbWVdIGltZW5payBpemhvZG5hX2RhdG90ZWthXG4iCisiIC1oICAgICAgICAgICAgICAgICAgcHJpa2G+aSB0byBwb21v6FxuIgorIiAtdiAgICAgICAgICAgICAgICAgIHByaWthvmkgdmXoIGluZm9ybWFjaWpcbiIKKyIgLUUgICAgICAgICAgICAgICAgICBzcHJlbWVuaSB2c2Egb3Bvem9yaWxhIHYgbmFwYWtlKG5lbmnoZWxuYSB2cmVkbm9zdCBpemhvZGEpXG4iCisiIC1iIHZlbGlrb3N0IGJsb2thICAgdXBvcmFiaSB0byB2ZWxpa29zdCBibG9rYSwgbW9yYSBiaXRpIGVuYWsgdmVsaWtvc3RpIHN0cmFuaVxuIgorIiAtZSBpemRhamEgICAgICAgICAgIG5hc3RhdmkguXRldmlsa28gaXpkYWplIChkZWwgaWRlbnRpZmlrYWNpamUoZnNpZCkgZGF0LiBzaXN0ZW1hKVxuIgorIiAtaSBkYXRvdGVrYSAgICAgICAgIHZzdGF2aSBzbGlrbyBkYXRvdGVrZSB2IGRhdG90ZehuaSBzaXN0ZW0gKHJhemxp6GljYSA+PSAyLjQuMClcbiIKKyIgLW4gaW1lICAgICAgICAgICAgICBuYXN0YXZpbSBpbWUgZGF0b3Rl6G5lZ2Egc2lzdGVtYSBjcmFtZnNcbiIKKyIgLXAgICAgICAgICAgICAgICAgICBwb3Zl6GFqIHphICVkIGJhanRvdiB6YSB6YWdvbnNraSBrb2RcbiIKKyIgLXMgICAgICAgICAgICAgICAgICByYXp2cnN0aSB2bm9zZSBpbWVuaWtvdiAoc3RhcmVquWkgYXJndW1lbnQgLSBzZSBuZSB1cG+5dGV2YSlcbiIKKyIgLXogICAgICAgICAgICAgICAgICBuYXJlZGkgamFzbmUgbHVrbmplIChyYXpsaehpY2EgPj0gMi4zLjM5KVxuIgorIiBpbWVuaWsgICAgICAgICAgICAgIGtvcmVuIGRhdG90ZehuZWdhIHNpc3RlbWEsIGtpIGdhIHN0aXNrYW1vXG4iCisiIGl6aG9kbmFfZGF0b3Rla2EgICAgaXpob2RuYSBkYXRvdGVrYVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo0NDIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImRhdG90ZehuaSBzaXN0ZW0gamUgcHJldmVsaWsuIEtvbuh1amVtLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQUlFRUU6IGJsb2sgXCJzdGlzbmplblwiIGRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStkIGJhanRvdilcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjbG9zZSBmaWxlICVzIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJvcG96b3JpbG86IHByaWJsab5layB6YWh0ZXZhbmUgdmVsaWtvc3RpICh6Z29ybmphIG1lamEpIGplICVMZE1CLCBhbXBhayBuYWp2ZehqYSB2ZWxpa29zdCBzbGlrZSBqZSAldU1CLiBMYWhrbyBrb27oYW1vIHByZWQga29uY2VtLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiVmtsanXobm86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiUG9kYXRraSBpbWVuaWthOiAlZCBiYWp0b3ZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJWc2Ugc2t1cGFqOiAlZCBraWxvYmFqdG92XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU3VwZXJibG9rOiAlZCBiYWp0b3ZcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQzogJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiemEgUk9NIHNsaWtvIG5pIHphZG9zdGkgcHJvc3RvcmEgKCVMZCByZXplcnZpcmFubywgJWQgdiByYWJpKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiemFwaXNvdmFuamUgUk9NIHNsaWtlIG5pIHVzcGVsbyAoJWQgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIm9wb3pvcmlsbzogaW1lbmEgZGF0b3RlayBzbyBza3LoZW5hIG5hIDI1NSBiYWp0b3YuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKKyMsIGZ1enp5Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJvcG96b3JpbG86IG5la2F0ZXJlIGRhdG90ZWtlIHNvIGJpbGUgaWdub3JpcmFuZSB6YXJhZGkgbmFwYWsuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAid2FybmluZzogdmVsaWtvc3RpIGRhdG90ZWsgem1hbmphuWFuZSBuYSAlbHVNQiAoMSBiYWp0IG1hbmopLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJvcG96b3JpbG86IHVpZC1pIHptYW5quWFuaSBuYSAldSBiaXRvdi4gIChMYWhrbyB2cGxpdmEgbmEgdmFybm9zdC4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgIm9wb3pvcmlsbzogZ2lkLWkgem1hbmq5YW5pIG5hICV1IGJpdG92LiAgKExhaGtvIHZwbGl2YSBuYSB2YXJub3N0LilcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorIk9QT1pPUklMTzoguXRldmlsa2UgbmFwcmF2IHptYW5quWFuZSBuYSAldSBiaXRvdi4gVG8gc2tvcmFqIHphZ290b3ZvIHBvbWVuaSxcbiIKKyJkYSBzZSBib2RvIHBvamF2aWxlIG5hcGFrZSB2IGRhdG90ZWthaCBuYXByYXYuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHN0ZXo6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJpc2thbmplIGRvIHphZ29uc2tlZ2EgYmxva2EgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgInphZ29uc2tlZ2Egc2VrdG9yamEgbmkgbW9nb+hlIHBv6GlzdGl0aSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2thIG5pIG1vvm5vIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICJ6YXBpcyBzZXpuYW1hIGlub2RvdiBuaSB1c3BlbCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJ6YXBpcyBzZXpuYW1hIHBvZHJv6GlqIG5pIHVzcGVsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJ6YXBpcyBpbm9kb3YgbmkgdXNwZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInBpc2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgInByZXZl6CBwb7lrb2RvdmFuaWggYmxva292IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICJwcmVtYWxvIG5lcG+5a29kb3ZhbmloIGJsb2tvdiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsZCBpbm9kb3ZcbiIKK21zZ3N0clsxXSAiJWxkIGlub2RvdlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsZCBibG9rb3ZcbiIKK21zZ3N0clsxXSAiJWxkIGJsb2tvdlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSV6dVxuIgorbXNnc3RyICJWZWxpa29zdCBwb2Ryb+hqYT0lZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiaXNrYW5qZSBtZWQgdGVzdGlyYW5qZW0gYmxva292IG5pIHVzcGVsbyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIldlaXJkIHZhbHVlcyBpbiBkb19jaGVjazogcHJvYmFibHkgYnVnc1xuIgorbXNnc3RyICJOZW5hdmFkbmUgdnJlZG5vc3RpIHYgZG9fY2hlY2s6IHZlcmpldG5vIHByb2dyYW1za2EgbmFwYWthXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiaXNrYW5qZSB2IGNoZWNrX2Jsb2NrcyBuaSB1c3BlbG8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgInNsYWJpIGJsb2tpIHByZWQgcG9kYXRrb3ZuaW0gb2Jtb+hqZW06IGRhdG90ZehuZWdhIHNpc3RlbWEgbmUgbW9yZW0gbmFyZWRpdGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY0MSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIHBvuWtvZG92YW5paCBibG9rb3ZcbiIKK21zZ3N0clsxXSAiJWQgcG+5a29kb3ZhbmloIGJsb2tvdlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAibmUgbW9yZW0gb2RwcmV0aSBkYXRvdGVrZSBzIHBvuWtvZG92YW5pbWkgYmxva2kiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICJEaXNrb3ZuZWdhIHBvZ29uYSBuaSBtb2dv6GUgcHJlYnJhdGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2l6ZSBvZiAlcyIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICKpdGV2aWxvIHNla3RvcmpldiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI1IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Nzg2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyBqZSBwcmlrbG9wbGplbjsgZGF0LiBzaXN0ZW1hIHphdG8gbmUgYm8gbmFyZWplbiEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIlBvZGFuYSB2ZWxpa29zdCBzdHJhbmkgbmkgZG9icmElZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiVXBvcmFibGphbW8gcG9kYW5vIHZlbGlrb3N0IHN0cmFuaSAlZCBuYW1lc3RvIHNpc3RlbXNrZSB2cmVkbm9zdGkgJWQvJWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIk96bmFrYSBqZSBiaWxhIHNrcmFquWFuYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAibmkgb3puYWtlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIm5pIHV1aWQtYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgInByZXZl6CBwb7lrb2RvdmFuaWggc3RyYW5pIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiaXNrYW5qZSB2IGNoZWNrX2Jsb2NrcyBuaSB1c3BlbG8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgcG+5a29kb3ZhbmloIHN0cmFuaVxuIgorbXNnc3RyWzFdICIlbHUgcG+5a29kb3ZhbmloIHN0cmFuaVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJkb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSBpbm9kZSBuaSB1c3BlbGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJkb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSBpbm9kZSBuaSB1c3BlbGEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjaGVja2luZyBiYWQgYmxvY2tzIGZyb20gc3dhcCBmaWxlIGlzIG5vdCBzdXBwb3J0ZWQ6ICVzIgorbXNnc3RyICJPcG96b3JpbG86IEl6YmlyYSBuYW1sZW4gbmkgcG9kcHJ0YS5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkyCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJ6YWdvbnNrZWdhIHNla3RvcmphIG5pIG1vZ2/oZSBwb+hpc3RpdGkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICJ6YWdvbnNrZWdhIHNla3RvcmphIG5pIG1vZ2/oZSBwb+hpc3RpdGkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgIHAgICBpenBpuWkgQlNELWpldm8gdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgIHMgICBwcmlrYb5pIGNlbG9zdG5vIG96bmFrbyBkaXNrYSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiVXBvcmFiaXRlICVzIC1sIHphIGl6cGlzIHNlem5hbWEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICJzdHJhbmkgcyBwb2RwaXNvbSBuaSBtb2dv6GUgemFwaXNhdGkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDE2Cittc2dpZCAib25seSBvbmUgZGV2aWNlIGFyZ3VtZW50IGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJOYXBha2EgcHJpIHphcGlyYW5qdSBkYXRvdGVrZVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorIywgZnV6enkKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiVzOiBuYXBha2E6IGl6bWVuamFsbmVnYSBwcm9zdG9yYSBuaSBtb75ubyBuaWthbW9yIG5hbWVzdGl0aT9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIiVzOiBuYXBha2E6IHZlbGlrb3N0ICVsdSBqZSB2ZehqYSBvZCB2ZWxpa29zdGkgbmFwcmF2ZSAlbHVcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiJXM6IG5hcGFrYTogdmVsaWtvc3QgaXptZW5qYWxuZWdhIHByb3N0b3JhIG1vcmEgYml0aSB2c2FqICVsZCBLQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIiVzOiBvcG96b3JpbG86IG1lamEgaXptZW5qYWxuZWdhIHByb3N0b3JhIHBvc3RhdmxqZW5hIG5hICVsZEtCXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIiVzIGplIHByaWtsb3BsamVuOyBkYXQuIHNpc3RlbWEgemF0byBuZSBibyBuYXJlamVuISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IG9wb3pvcmlsbzogJXMgaW1hIG5ldmFybmEgZG92b2xqZW5qYSAlMDRvLCBzdmV0dWplbSAlMDRvXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogb3Bvem9yaWxvOiAlcyBpbWEgbmV2YXJuYSBkb3ZvbGplbmphICUwNG8sIHN2ZXR1amVtICUwNG9cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0ODkKK21zZ2lkICJVbmFibGUgdG8gc2V0IHVwIHN3YXAtc3BhY2U6IHVucmVhZGFibGUiCittc2dzdHIgIkl6bWVuamFsbmVnYSBwcm9zdG9yYSBuaSBtb2dv6GUgbmFzdGF2aXRpOiBuZWJlcmxqaXYiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiUHJpcHJhdmxqYW1vIGl6bWVuamFsbmkgcHJvc3RvciByYXpsaehpY2UgJWQsIHZlbGlrb3N0ID0gJWxsdSBrQlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiemFwaXMgaW5vZG92IG5pIHVzcGVsIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMgorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAibmkgbW9nb+hlIHByZWltZW5vdmF0aSAlcyB2ICVzOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIlNhbW8gaXpwaXMgdGFiZWxlIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4CisjLCBmdXp6eQorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIql0ZXZpbG8gc2VrdG9yamV2IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MQorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE3MworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAiVGFiZWxhIHJhemRlbGtvdiBzZSB6YXBpc3VqZSBuYSBkaXNrLi4uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGN4dCIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogaXNrYW5qZSBwcm9zdGUgbG9vcCBuYXByYXZlIG5pIGJpbG8gdXNwZblub1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICJtb3VudDogbG9vcCBuYXByYXZhICVzIGJvIHVwb3JhYmxqZW5hXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlczogTmV6bmFuIHVrYXo6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiSXpicmFuIHJhemRlbGVrICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiVGEgcmF6ZGVsZWsgvmUgb2JzdGFqYS5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICJJemJyYW4gcmF6ZGVsZWsgJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIm5pIHZzZWJvdmFuIHYgcmF6ZGVsa3UgJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGtpICVzICIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxraSAlcyAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgZG9sb+hlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIkl6YnJhbiByYXpkZWxlayAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiICAgcCAgIGl6cGm5aSBCU0QtamV2byB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiRGlzayAlcyBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3ZcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzU3Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBwcmVzZW5jZSBhbmQgbnVtYmVyaW5nIG9mIHBhcnRpdGlvbnMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MworIywgZnV6enkKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIgICAgICAgICAgICAgIHBhcmFtZXRyaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwIHN5cy11dGlscy9sc21lbS5jOjUwNQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3QtdHlwZXMgICAgIGxpc3Qgc3VwcG9ydGVkIHBhcnRpdGlvbiB0eXBlcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgLVQgW2FsaSAtLWxpc3QtdHlwZXNdOml6cGm5aSB6bmFuZSB0aXBlIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIiIKKyJUYWJlbGEgcmF6ZGVsa292IGplIGJpbGEgc3ByZW1lbmplbmEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIlByYXpuZWdhIHJhemRlbGthIHNlIG5lIG1vcmUgemJyaXNhdGkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiT21laml0dmVuZSBkYXRvdGVrZSAlcyBuaSBtb2dv6GUgemFrbGVuaXRpOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJPcG96b3JpbG86ICVzIG5pIGJsb2tvdm5hIG5hcHJhdmFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTYgZGlzay11dGlscy9yYXcuYzoxOTkgc3lzLXV0aWxzL2lwY3JtLmM6MzUyCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjYgc3lzLXV0aWxzL2lwY3JtLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJzdGFuamEgbmFwcmF2ZSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgInN0YW5qYSBuYXByYXZlICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiL2Rldi8lczogbmkgem5ha292bmEgbmFwcmF2YSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIHJhdyBkZXYiCittc2dzdHIgIiVzIG5pIHBvc2VibmEgYmxv6G5hIG5hcHJhdmEiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5CisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIm5hcGFrYSBwcmkgemF1c3RhdmxqYW5qdSBzdG9yaXR2ZTogXCIlc1wiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJuYXBha2EgcHJpIHphdXN0YXZsamFuanUgc3Rvcml0dmU6IFwiJXNcIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICJ1cG9yYWJhOiBzZmRpc2sgLS1pZCBuYXByYXZhILl0LiByYXpkZWxrYSBbSWRdXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjI0Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBuZXcgc2l6ZSBvZiBhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTExCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAidmVqaXRldiBuaSBtb2dv6GEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAic3RyYW5pIHMgcG9kcGlzb20gbmkgbW9nb+hlIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAic3RyYW5pIHMgcG9kcGlzb20gbmkgbW9nb+hlIHphcGlzYXRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NQorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MAorIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJBbGkgvmVsaXRlIHphcGlzYXRpIHRvIG5hIGRpc2s/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIiIKKyJUYWJlbGEgcmF6ZGVsa292IGplIGJpbGEgc3ByZW1lbmplbmEhXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiVGFiZWxhIHJhemRlbGtvdiBqZSBiaWxhIHNwcmVtZW5qZW5hIVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbGFiZWwgJyVzJyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzQKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIklkICBJbWVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NjQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICIgJXM6IG5lcHJlcG96bmFuIHRpcCB0YWJlbGUgcmF6ZGVsa292IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJWZWxpa29zdGkgJXMgbmkgbW9nb+hlIHVnb3Rvdml0aVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAic2t1cG5vOiAlbGx1IGJsb2tvdlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKKyMsIGZ1enp5Cittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJtb3VudDogbG9vcCBuYXByYXZhIGplIHBvZGFuYSBkdmFrcmF0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgzMAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgInN0YW5qYSBuYXByYXZlICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiTmkgdGFiZWxlIHJhemRlbGtvdi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJWQgcHJla3JpdmEgcmF6ZGVsZWsgJWQuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDYgZGlzay11dGlscy9zZmRpc2suYzoxMTYxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTcKKyMsIGZ1enp5Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICJEaXNrICVzIG5lIHZzZWJ1amUgdmVsamF2bmUgdGFiZWxlIHJhemRlbGtvdlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJEaXNrICVzIG5lIHZzZWJ1amUgdmVsamF2bmUgdGFiZWxlIHJhemRlbGtvdlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJEaXNrICVzIG5lIHZzZWJ1amUgdmVsamF2bmUgdGFiZWxlIHJhemRlbGtvdlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJpc2thbmplIG5pIHVzcGVsbyB2IHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIkRpc2sgJXMgbmUgdnNlYnVqZSB2ZWxqYXZuZSB0YWJlbGUgcmF6ZGVsa292XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworIywgZnV6enkKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIlJhenBvbG++bGppdmkgdWthemk6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4OQorIywgZnV6enkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHcgICB6YXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSBkaXNrIGluIGtvbuhhaiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICBpenBpuWkgQlNELWpldm8gdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkzCisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTUKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTkKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA0Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTUKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYLFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTYKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorIywgZnV6enkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiTmUgYm9zdGUgbW9nbGkgemFwaXNhdGkgdGFiZWxlIHJhemRlbGtvdi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1CisjLCBmdXp6eQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICBuICAgICAgICAgIFVzdHZhcmkgbm92IHJhemRlbGVrIG5hIG5lemFzZWRlbmVnYSBwcm9zdG9yYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmkgdWthemE/XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAibmkgdWthemE/XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBzZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogbm8gcGFydGl0aW9uIHRhYmxlIHdhcyBmb3VuZCIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiRGlzayAlcyBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3ZcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsguWUgbmkgZG9sb+hlbiFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIlByZXZlcmphbSwgZGEgbmlo6GUgbmUgdXBvcmFibGphIHRlZ2EgZGlza2EgLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGEgZGlzayBqZSB0cmVudXRubyB2IHJhYmkgLSBwb25vdm5vIHJhemRlbGpldmFuamUgamUgdmVyamV0bm8gc2xhYmEgaWRlamEuXG4iCisiT2RrbG9waXRlIHZzZSBkYXQuIHNpc3RlbWUgaW4gaXprbGp16Gl0ZSB2c2UgaXptZW5qYWxuZSByYXpkZWxrZSBuYSB0ZW0gZGlza3UuXG4iCisiVXBvcmFiaXRlIC0tbm8tcmVyZWFkIHphc3RhdmljbyBkYSBpemtsanXoaXRlIHRvIHByZXZlcmphbmplLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzMKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIlVwb3JhYml0ZSAtLWZvcmNlIGl6YmlybyBkYSBvYmlkZXRlIHZzYSBwcmV2ZXJqYW5qYS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiJXM6IFZyZWR1XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIlN0YXJvIHN0YW5qZTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlBvc2t1c2l0ZSBgZ2V0b3B0IC0taGVscCcgemEgdmXoIGluZm9ybWFjaWouXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgYmlsIG5hamRlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKKyMsIGZ1enp5Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiIgorIk9wcmF2bGplbm9cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2CisjLCBmdXp6eQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIk5lIHVzdHZhcmkgcmF6ZGVsa2EiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzc3Cittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiTm92byBzdGFuamU6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJBbGkgvmVsaXRlIHphcGlzYXRpIHRvIG5hIGRpc2s/IFt5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAidXBvcmFiYTogbmFtZWkgWy1teF0gaW1lbmlrIFtpbWVuaWsgLi4uXVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIChQKU1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbGlzdC1mcmVlIFs8ZGV2PiAuLi5dICAgICAgIGxpc3QgdW5wYXJ0aXRpb25lZCBmcmVlIGFyZWFzIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLVQuIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHphIHJhemxp6GljbyBnZXRvcHQoMSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorIywgZnV6enkKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCisjLCBmdXp6eQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAgICAtYyBbYWxpIC0taWRdOiAgICAgICBpenBpuWkgYWxpIHNwcmVtZW5pIElkIHJhemRlbGthIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorIywgZnV6enkKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICBkZXZpY2UgKHVzdWFsbHkgZGlzaykgcGF0aFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorIywgZnV6enkKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAgICAtTiMgOiAgICAgICAgICAgICAgICBzcHJlbWVuaSBzYW1vIHJhemRlbGtlIHMguXRldmlsa28gIyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY3Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzMKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIlZzYSBkb3NsZWRub3N0bmEgcHJldmVyamFuamEgbGFoa28gb25lbW9nb+hpdGUgejoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4CisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgICAgLUgjIFthbGkgLS1oZWFkcyAjXTogICBuYXN0YXZpILl0ZXZpbG8gZ2xhdiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgLXEgIFthbGkgLS1xdWlldF06ICAgICBuZSBwcmlrYb5pIG9wb3pvcmlsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworIywgZnV6enkKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAgLXMsICAtLXNoZWxsPWx1cGluYSAgICAgICAgICBOYXN0YXZpIGx1cGluc2tvIGtvbnZlbmNpam8gY2l0aXJhbmphXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MworbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgaXogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBsYWJlbCIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJQb3NrdXNpdGUgYGdldG9wdCAtLWhlbHAnIHphIHZl6CBpbmZvcm1hY2lqLlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICJVcG9yYWJhOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzIyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgIlJhenBvbG++bGppdmkgdWthemk6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNQorIywgZnV6enkKK21zZ2lkICJkaXNwbGF5IHRoaXMgaGVscCIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJyYXpsaehpY2EiCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyM6IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0NiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDggbG9naW4tdXRpbHMvdmlwdy5jOjI3NgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5NSBzeXMtdXRpbHMvcnRjd2FrZS5jOjI5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTEKKyM6IHRleHQtdXRpbHMvY29sLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJjb2w6IHBpc2FsbmEgbmFwYWthLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJWcGlzIG5hICVzIGl6ICVzIGplIHphbmlrYW4ocHJpdnpldG8pLlxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiVnBpcyBuYSAlcyBpeiAlcyBqZSB6YW5pa2FuKHByaXZ6ZXRvKS5cbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDI2CisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMzAgdGVybS11dGlscy9hZ2V0dHkuYzoxMTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICIlczogLS1hZGp1c3QgaW4gLS1ub2FkamZpbGUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJQcmF6bm8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCBrb3JlbnNraSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJSYXq5aXJqZW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKKyMsIGZ1enp5Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCB6YWdvbnNraSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiB6YWdvbnNraSB1cHJhdmxqYWxuaWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgUmF6uSdhIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJTa3JpdGkgRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEgZGlhZ25vc3Rpa2EiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIlNrcml0aSBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiU2tyaXRpIEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIlNrcml0aSBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlNrcml0aSBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiU2tyaXRpIFc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjUKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJTa3JpdGkgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3CisjLCBmdXp6eQorbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJTa3JpdGkgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyBva3JldmFsbmkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIHphZ29uc2tpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDIuIGRlbCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIlFOWDQueCAzLiBkZWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQgYWxpIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiU3RhcmkgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8gc3RhcmkgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IGl6bWVuamFsbmkgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCByYXq5aXJqZW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIG9ic2VnbmEgbW5vvmljYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKKyMsIGZ1enp5Cittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICJMaW51eCBwbGFpbnRleHQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQgbGliZmRpc2svc3JjL3NnaS5jOjYyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIkxpbnV4IExWTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIkFtb2ViYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICJBbW9lYmEgQkJUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NAorbXNnaWQgIkJTRC9PUyIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NQorbXNnaWQgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiRGFyd2luIHphZ29uc2tpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorIywgZnV6enkKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJPUy8yIEhQRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBkYXQuIHNpc3RlbSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgaXptZW5qYWxuaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgInNrcml0aSBCb290IFdpenphcmQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMgemFnb25za2kiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NrdHIgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9za3RyIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2t0ciAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAibmVkYXRvdGXobm9zaXN0ZW1za2kgcG9kYXRraSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV0aWxpdHkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIGRvc3RvcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1Mgc2FtbyB6YSBicmFuamUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiY29sOiBzbGFiIGFyZ3VtZW50IC1sOiAlcy5cbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGRhdC4gc2lzdC4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICJFRkkgKEZBVC0xMi8xNi8zMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICJMaW51eC9QQS1SSVNDIHphZ29uc2tpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mgc2VrdW5kYXJuaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIHNhbW96YXpuYXZhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiT3Bvem9yaWxvOiAlcyBuaSBibG9rb3ZuYSBuYXByYXZhXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiSXpicmFuIHJhemRlbGVrICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsguWUgbmkgZG9sb+hlbiFcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorIywgZnV6enkKK21zZ2lkICJObyBmcmVlIHBhcnRpdGlvbiBhdmFpbGFibGUhIgorbXNnc3RyICJOaSB2ZeggcHJvc3RpaCBzZWt0b3JqZXZcbiIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIql0ZXZpbGthIHJhemRlbGthIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiUmF6ZGVsZWsgJWQguWUgbmUgb2JzdGFqYSFcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJSYXpkZWxlayAlcyBpbWEgbmV2ZWxqYXZuaSB6YehldG5pIHNla3RvciAwLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIk5hICVzIG5pIHJhemRlbGthIHRpcGEgKkJTRC5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICJzdGV6YSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworIywgZnV6enkKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlphZG5qaSAlcyBhbGkgK3NpemUgYWxpICtzaXplTSBhbGkgK3NpemVLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3CisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJaYWRuamkgJXMgYWxpICtzaXplIGFsaSArc2l6ZU0gYWxpICtzaXplSyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIlcyBuZSB2c2VidWplIG96bmFrZSBkaXNrYS5cbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiQWxpIL5lbGl0ZSB1c3R2YXJpdGkgb3puYWtvIGRpc2thPyAoeS9uKSAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiZGlzazogJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJPem5ha2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIgb2RzdHJhbmxqaXYiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgZWNjIgorbXNnc3RyICIgZWNjIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY3Cittc2dpZCAiIGJhZHNlY3QiCittc2dzdHIgIiBwb7lzZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJiYWp0aS9zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICJzbGVkaS9zdGV6byIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NQorIywgZnV6enkKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJzZWt0b3JqaS9zdGV6byIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiU3RleiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCisjLCBmdXp6eQorbXNnaWQgIlJwbSIKK21zZ3N0ciAib2JyYXRpL21pbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAicHJlcGxldGVubyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInBvuWV2bm9zdHNsZWRpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAicG+5ZXZub3N0c3RlemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAicHJlaG9kIGdsYXYiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiaXNrYW5qZSBzbGVkaS1kby1zbGVkaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMAorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiYmFqdGkvc2VrdG9yIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEzCittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdG9yamkvc2xlZCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAic2xlZGkvc3Rlem8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgInN0ZXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yamkvc3Rlem8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgIm9icmF0aS9taW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICJwcmVwbGV0ZW5vIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJwb7lldm5vc3RzbGVkaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAicG+5ZXZub3N0c3RlemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjcKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJwcmVob2QgZ2xhdiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgImlza2FuamUgc2xlZGktZG8tc2xlZGkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIlph6GV0bmkgbmFsYWdhbG5pazogJXNib290IC0+IGJvb3QlcyAoJXMpOiAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDMKKyMsIGZ1enp5Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiWmHoZXRuaSBuYWxhZ2FsbmlrIHNlIHByZWtyaXZhIHogb3puYWtvIGRpc2thIVxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiWmHoZXRuaSBuYWxhZ2FsbmlrIGplIG5hbWW56GVuIG5hICVzLlxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiRGlza292bmEgZW5vdGE6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MTEgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODgKKyMsIGZ1enp5Cittc2dpZCAiU3luY2luZyBkaXNrcy4iCittc2dzdHIgIlNpbmhyb25pemlyYW0gZGlza2UuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiICAgeCAgIHBvdmW+aSByYXpkZWxlayB0aXBhIEJTRCB6IHJhemRlbGtvbSBkcnVnZWdhIHRpcGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKKyMsIGZ1enp5Cittc2dpZCAiRnNpemUiCittc2dzdHIgIk5hanZl6GphIHZlbGlrb3N0PSVsZFxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNAorIywgZnV6enkKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiS2xp6GVtIGlvY3RsKCkgemEgcG9ub3ZubyBicmFuamUgdGFiZWxlIHJhemRlbGtvdi5cbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKKyMsIGZ1enp5Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIlBvbm92bm8gYmVyZW0gdGFiZWxvIHJhemRlbGtvdiAuLi5cbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisiXG4iCisiT1BPWk9SSUxPOiBQb25vdm5vIGJyYW5qZSB0YWJlbGUgcmF6ZGVsa292IG5lIGJvIHVzcGVsbywgbmFwYWthICVkOiAlcy5cbiIKKyJKZWRybyC5ZSB2ZWRubyB1cG9yYWJsamEgc3Rhcm8gdGFiZWxvLlxuIgorIk5vdmEgdGFiZWxvIGJvIHYgdXBvcmFiaSC5ZWxlIHBvIG5hc2xlZG5qZW0gemFnb251LlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgIiVzOiBuaSBibG/obmEgbmFwcmF2YVxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICIiCisiXG4iCisiT1BPWk9SSUxPOiBQb25vdm5vIGJyYW5qZSB0YWJlbGUgcmF6ZGVsa292IG5lIGJvIHVzcGVsbywgbmFwYWthICVkOiAlcy5cbiIKKyJKZWRybyC5ZSB2ZWRubyB1cG9yYWJsamEgc3Rhcm8gdGFiZWxvLlxuIgorIk5vdmEgdGFiZWxvIGJvIHYgdXBvcmFiaSC5ZWxlIHBvIG5hc2xlZG5qZW0gemFnb251LlxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAic3RlemEiCittc2dzdHJbMV0gInN0ZXphIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKKyMsIGZ1enp5Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJzZWt0b3IiCittc2dzdHJbMV0gInNla3RvciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMzg4Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIlZzaSBwcmltYXJuaSByYXpkZWxraSBzbyC+ZSBkb2xv6GVuaSFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxNgorIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IHBhcnRpdGlvbiBub3QgYXZhaWxhYmxlLiIKK21zZ3N0ciAiTmkgdmXoIHByb3N0aWggc2VrdG9yamV2XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgInBvbm92bm8gcHJlYmVyaSB0YWJlbG8gcmF6ZGVsa292IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorIiVzJXMuXG4iCisiVG8gbGFoa28gc3Rvcml0ZSB2IG1lbmlqdSB6IGRvZGF0bmltaSBtb75ub3N0bWkuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzUzCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJQb7lrb2RvdmFuIG9kbWlrIHYgcHJpbWFybmVtIHJherlpcmplbmVtIHJhemRlbGt1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICIiCisiT3Bvem9yaWxvOiBvbWVqdWplbSByYXpkZWxrZSBwbyAjJWQuXG4iCisiyGUgc2hyYW5pdGUgdGEgcmF6ZGVsZWsgYm9kbyBpemJyaXNhbmkuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiT3Bvem9yaWxvOiBkb2RhdG5pIHBvdmV6b3ZhbG5pIGthemFsZWMgdiB0YWJlbGkgcmF6ZGVsa292ICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIk9wb3pvcmlsbzogZG9kYXRuaSBwb2RhdGtpIHYgdGFiZWxpIHJhemRlbGtvdiAlZCBuZSBib2RvIHVwb7l0ZXZhbmlcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJPcG96b3JpbG86IHByYXplbiByYXpkZWxla1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiICAgcyAgIHVzdHZhcmkgbm92byBwcmF6bm8gb3puYWtvIGRpc2thIHRpcGEgU3VuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgcHJpa2F6bmUvdm5vc25lIGVub3RlIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgbmFzdGF2bGphbmphOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gMHglMDh4IHRvIDB4JTA4eC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiRG9kYXRuaSByYXq5aXJqZW4gcmF6ZGVsZWsgJWQgbmUgYm8gdXBvuXRldmFuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJPcG96b3JpbG86IG5ldmVsamF2bmEgemFzdGF2aWNhIDB4JTA0eCB0YWJlbGUgcmF6ZGVsa292ICVkIGJvIHBvcHJhdmxqZW5hIHogdyhyaXRlKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIlZyZWRub3N0IGl6dmVuIGRvc2VnYS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIlJhemRlbGVrICVkIGplIL5lIGRvbG/oZW4uIFpicmm5aXRlIGdhIHByZWRlbiBnYSBwb25vdm5vIGRvZGF0ZS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJOaSB2ZeggcHJvc3RpaCBzZWt0b3JqZXZcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIlBvuWtvZG92YW4gbG9naehuaSByYXpkZWxlayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVkIHZzZWJ1amUgc2VrdG9yIDBcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlJhemRlbGVrICVkOiBnbGF2YSAlZCBqZSB2ZehqYSBvZCBuYWp2ZehqZSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlJhemRlbGVrICVkOiBzZWt0b3IgJWQgamUgdmXoamkgb2QgbmFqdmXoamVnYSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUmF6ZGVsa2kgJWQ6IHN0ZXphICVkIGplIHZl6GphIG9kIG5hanZl6GplICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJSYXpkZWxlayAlZDogcHJlarluamkgc2VrdG9yamkgJWQgc2UgbmUgdWplbWFqbyBzIGNlbG90byAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiRml6aehuaSB6YehldGVrIHJhemRlbGthICVkIG5pIGVuYWsgbG9naehuZW11IChuZS1MaW51eD8pOlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJGaXpp6G5hL2xvZ2nobmEga29uY2EgcmF6ZGVsa2EgJWQgc2UgbmUgdWplbWF0YTpcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlJhemRlbGVrICVkIHNlIG5lIGtvbuhhIG5hIG1lamkgcyBjaWxpbmRyb20uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlJhemRlbGVrICVkIG5pbWEgcG9kYXRrb3ZuZWdhIG9ibW/oamFcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVkIHByZWtyaXZhIHJhemRlbGVrICVkLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVkIGplIHByYXplblxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkxvZ2nobmkgcmF6ZGVsZWsgJWQgbmkgdiBjZWxvdGkgdiByYXpkZWxrdSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIlZzb3RhIGRvZGVsamVuaWggc2VrdG9yamV2ICVkIGplIHZl6GphIG9kIG5hanZl6GplICVsbGRcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICIlbGxkIG5lZG9kZWxqZW5paCBzZWt0b3JqZXZcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiVGEgcmF6ZGVsZWsgvmUgb2JzdGFqYS5cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzEKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3RzLiBGYWlsZWQgdG8gYWRkIGxvZ2ljYWwgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY2NworIywgZnV6enkKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiTmFqdmXoamUgbW++bm8guXRldmlsbyByYXpkZWxrb3YgamUgYmlsbyB1c3R2YXJqZW5vXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCisjLCBmdXp6eQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIlZzaSBsb2dp6G5pIHJhemRlbGtpIHNvIHYgdXBvcmFiaVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MyBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NAorIywgZnV6enkKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJWc2kgbG9naehuaSByYXpkZWxraSBzbyB2IHVwb3JhYmlcbiIKKworIy4gVFJBTlNMQVRPUlM6IFRyeSB0byBrZWVwIHRoaXMgd2l0aGluIDgwIGNoYXJhY3RlcnMuCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NworIywgZnV6enkKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkl6YnJpc2F0aSBtb3JhdGUgbmVrIHJhemRlbGVrIGluIG5hanByZWogZG9kYXRpIHJherlpcmplbiByYXpkZWxla1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorIywgZnV6enkKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAiVnNpIGxvZ2nobmkgcmF6ZGVsa2kgc28gdiB1cG9yYWJpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworIywgZnV6enkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJQcmltYXJlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKKyMsIGZ1enp5Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIlJherlpcmplbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKKyMsIGZ1enp5Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgIlBvuWtvZG92YW4gbG9naehuaSByYXpkZWxlayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAiTG9naehlbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICJsICAgbG9naehuaSAoNSBhbGkgdmXoKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIHR5cGUgYCVjJy4iCittc2dzdHIgIk5ldmVsamF2bmEguXRldmlsa2EgcmF6ZGVsa2EgemEgdGlwIGAlYydcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHphICVzIG5pIG1vZ2/oZSBuYWp0aSBuYXByYXZlXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiRGlza292bmkgUG9nb246ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2OAorIywgZnV6enkKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICIiCisiViBtbm9naWggc2lzdGVtaWggcG9tZW5pIHRpcCAwIHByYXplbiBwcm9zdG9yLFxuIgorInYgTGludXh1IHBhIG5lLiBSYXpkZWxrb3YgdGlwYSAwIG5pIHBhbWV0bm8gaW1ldGlcbiIKKyJSYXpkZWxlayBsYWhrbyB6YnJpuWV0ZSB6IHVrYXpvbSBgZCcuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKKyMsIGZ1enp5Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiIgorIk5p6CBuaSB0cmViYSBzcHJlbWVuaXRpLiBSZWQgamUgvmUgcHJhdmlsZW4uXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJSYXpkZWxlayAlZCBuaW1hIHBvZGF0a292bmVnYSBvYm1v6GphXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICJOb3YgemHoZXRlayBwb2RhdGtvdiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIk9QT1pPUklMTzogUmF6ZGVsZWsgJWQgamUgcmF6uWlyamVuaSByYXpkZWxla1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJUaXAgcmF6ZGVsa2EgJWQgamUgc3ByZW1lbmplbiB2ICV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJOYXByYXZhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJaYWdvbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorIywgZnV6enkKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiemHoZXRlayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NQorIywgZnV6enkKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjgKKyMsIGZ1enp5Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiICAgYSAgIGl6YmVyaSB6YWdvbnNraSByYXpkZWxlayIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiAgIGEgICBpemJlcmkgemFnb25za2kgcmF6ZGVsZWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBQQyBQUmVQIHphZ29uc2tpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzkKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICIgICBkICAgemJyablpIHJhemRlbGVrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5CisjLCBmdXp6eQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIk5pIHZl6CByYXpkZWxrb3YiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IGl6bWVuamFsbmkgcHJvc3RvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MworIywgZnV6enkKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXggcG8gbWVyaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMiBsaWJmZGlzay9zcmMvc2dpLmM6NjMKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IHJherlpcmplbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSBpem1lbmphbG5pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIk9TLzIgSFBGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjMKK21zZ2lkICJBcHBsZSBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjQKK21zZ2lkICJBcHBsZSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI1Cittc2dpZCAiQXBwbGUgVFYgcmVjb3ZlcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyB6YWdvbnNraSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgc3dhcCIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyB6YWdvbnNraSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyB6YWdvbnNraSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgInByZXZl6CByYXpsaehuaWggaGl0cm9zdGkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgaXptZW5qYWxuaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorIywgZnV6enkKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTMKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NQorIywgZnV6enkKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIkJTREkgaXptZW5qYWxuaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MAorbXNnaWQgIkNlcGggZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIERpYWdub3N0aWMiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGlrYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICIgICBkICAgemJyablpIHJhemRlbGVrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjYxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworIywgZnV6enkKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorIywgZnV6enkKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIlBydmkgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIgWmFkbmppICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiSXpicmFuIHJhemRlbGVrICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiSXpicmFuIHJhemRlbGVrICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2xhdGUgcGFydGl0aW9uIG5hbWUsIG5hbWUgbm90IGNoYW5nZWQuIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0NQorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorIlxuIgorIlphZ29uc2tpIHJhemRlbGVrIG5lIG9ic3RhamEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJEaXNrICVzIG5lIHZzZWJ1amUgdmVsamF2bmUgdGFiZWxlIHJhemRlbGtvdlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiTmV2ZWxqYXZuYSC5dGV2aWxrYSByYXpkZWxrYSB6YSB0aXAgYCVjJ1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVkIHByZWtyaXZhIHJhemRlbGVrICVkLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiTmEgZGlza3Ugc2UgdmFtIHByZWtyaXZham8gcmF6ZGVsa2kuIFBvcHJhdml0ZSBqaWghXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiUmF6ZGVsZWsgc2Uga29u6GEgcHJlZCBzZWt0b3JqZW0gMCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIm5hcGFrYSBwcmkgaXNrYW5qdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV6dSBvdXQgb2YgJXp1IHBhcnRpdGlvbnMuIgorbXNnc3RyICJ6YW5pbWl2bywgc2FtbyAlZCByYXpkZWxrb3YgamUgZG9sb+hlbmloLlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAiTmkgdmXoIHByb3N0aWggc2VrdG9yamV2XG4iCittc2dzdHJbMV0gIk5pIHZl6CBwcm9zdGloIHNla3RvcmpldlxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorIywgZnV6enkKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJUYSByYXpkZWxlayBzZSC+ZSB1cG9yYWJsamEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgzIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJOZSB1c3R2YXJpIHJhemRlbGthIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiICAgcyAgIHVzdHZhcmkgbm92byBwcmF6bm8gb3puYWtvIGRpc2thIHRpcGEgU3VuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0NgorbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY1MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjg3CisjLCBmdXp6eQorbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICJOaSB2ZeggcHJvc3RpaCBzZWt0b3JqZXZcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlJhemRlbGVrICVzIGltYSBuZXZlbGphdm5pIHph6GV0bmkgc2VrdG9yIDAuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICJOYWp2ZehqZSBtb75ubyC5dGV2aWxvIHJhemRlbGtvdiBqZSBiaWxvIHVzdHZhcmplbm9cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgInZlaml0ZXYgbmkgbW9nb+hhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAiVGlwIHJhemRlbGthICVkIGplIHNwcmVtZW5qZW4gdiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiVGlwIHJhemRlbGthICVkIGplIHNwcmVtZW5qZW4gdiAleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIlRpcCByYXpkZWxrYSAlZCBqZSBzcHJlbWVuamVuIHYgJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNAorIywgZnV6enkKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIlRpcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJJbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKKyMsIGZ1enp5Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiTmV1cG9yYWJsamVuIHByb3N0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgIm5lem5hbmVtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgZ2xhdmFvYnNnYSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSBvZHppdnN0ZXplIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIG9keml2c2VrdCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHN1cm92IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIlNHSSBvYnNlZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggZG9tYehhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIlphem5hbmEgamUgYmlsYSBkaXNrb3ZuYSBvem5ha2EgdGlwYSBTR0kgeiBuYXBh6G5vIGtvbnRyb2xubyB2c290by5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MSBsaWJmZGlzay9zcmMvc3VuLmM6NzgzCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJGaXpp6G5lIHN0ZXplIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJEb2RhdG5pIHNla3RvcmppIG5hIHN0ZXpvIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJOZXZlbGphdm5hIHphZ29uc2thIGRhdC4hXG4iCisiXHRaYWdvbnNrYSBkYXRvdGVrYSBtb3JhIGJpdGkgYWJzb2x1dG5hIG5lbmnoZWxuYSBwb3QsXG4iCisiXHRucHIuIFwiL3VuaXhcIiBhbGkgXCIvdW5peC5zYXZlXCIuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIiIKKyJcbiIKKyJcdEltZSB6YWdvbnNrZSBkYXQuIGplIHByZWRvbGdvOiBuYWp2ZeggMTYgYmFqdG92LlxuIgorbXNnc3RyWzFdICIiCisiXG4iCisiXHRJbWUgemFnb25za2UgZGF0LiBqZSBwcmVkb2xnbzogbmFqdmXoIDE2IGJhanRvdi5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworIywgZnV6enkKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisiXG4iCisiXHRaYWdvbnNrYSBkYXRvdGVrYSBtb3JhIGJpdGkgcG9wb2xuYSBwb3QuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIiIKKyJcbiIKKyJcdFphdmVkYXRpIHNlIG1vcmF0ZSwgZGEgc2UgbmUgcHJlZ2xlZGEsIGFsaSB6YWdvbnNrYSBkYXQuIG9ic3RhamEuXG4iCisiXHRQcml2emV0byB6YSBTR0kgamhlIFwiL3VuaXhcIiBpbiB6YSB2YXJub3N0bm8ga29waWpvIFwiL3VuaXguc2F2ZVwiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICIiCisiXG4iCisiVHJlbnV0bmEgemFnb25za2EgZGF0b3Rla2EgamU6ICVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDAKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIlByb3NpbW8gdnBpuWl0ZSBpbWUgbm92ZSB6YWdvbnNrZSBkYXRvdGVrZTogIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ1CisjLCBmdXp6eQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJaYWdvbnNrYSBkYXRvdGVrYSBuaSBiaWxhIHNwcmVtZW5qZW5hXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiIgorIlxuIgorIlx0WmFnb25za2EgZGF0b3Rla2EgamUgc3ByZW1lbmplbmEgbmEgXCIlc1wiLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIlByaXNvdGVuIGplIHZl6CBrb3QgZW4gdm5vcyBjZWxvdG5lZ2EgZGlza2EuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorIywgZnV6enkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWC11IGplIHa5Zegg6GUgcmF6ZGVsZWsgMTEgcHJla3JpdmEgY2Vsb3RlbiBkaXNrLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICIiCisiUmF6ZGVsZWsg6GV6IGNlbG90ZW4gZGlzayBzZSBtb3JhIHph6GV0aSBuYSBibG9rdSAwLFxuIgorIm5lIG5hIGRpc2tvdm5lbSBibG9rdSAlZC5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIkVuIHJhemRlbGVrICgjMTEpIG5haiBiaSBwb2tyaXZhbCBjZWxvdGVuIGRpc2suXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUmF6ZGVsa2EgJWQgaW4gJWQgc2UgcHJla3JpdmF0YSB2IHNrdXBubyAlZCBzZWt0b3JqaWguXG4iCittc2dzdHJbMV0gIlJhemRlbGthICVkIGluICVkIHNlIHByZWtyaXZhdGEgdiBza3Vwbm8gJWQgc2VrdG9yamloLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIiU4dSBzZWt0b3JqZXYgbmkgdiByYWJpIC0gc2VrdG9yamkgJTh1LSV1XG4iCittc2dzdHJbMV0gIiU4dSBzZWt0b3JqZXYgbmkgdiByYWJpIC0gc2VrdG9yamkgJTh1LSV1XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIlphZ29uc2tpIHJhemRlbGVrIG5lIG9ic3RhamEuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDEKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiIgorIlxuIgorIkl6bWVuamFsbmkgcmF6ZGVsZWsgbmUgb2JzdGFqYS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIiIKKyJcbiIKKyJJem1lbmphbG5pIHJhemRlbGVrIG5pbWEgZG9sb+hlbmVnYSB0aXBhLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4CisjLCBmdXp6eQorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJcdEl6YnJhbGkgc3RlIG5lbmF2YWRubyBpbWUgemFnb25za2UgZGF0b3Rla2UuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJOYSBkaXNrdSBzZSB2YW0gcHJla3JpdmFqbyByYXpkZWxraS4gUG9wcmF2aXRlIGppaCFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0MworIywgZnV6enkKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJTYW1vZGVqbmkgcG9za3VzIHZub3NhIGNlbG90bmVnYSBkaXNrYS5cbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorIywgZnV6enkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIkNlbG90ZW4gZGlzayBqZSC+ZSBwcmVrcml0IHogcmF6ZGVsa2kuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTIKKyMsIGZ1enp5Cittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICJOYSBkaXNrdSBzZSB2YW0gcHJla3JpdmFqbyByYXpkZWxraS4gUG9wcmF2aXRlIGppaCFcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJQcnZpICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKyJQcmlwb3Jv6GxqaXZvIGplLCBkYSBlbmFqc3RpIHJhemRlbGVrXG4iCisicHJla3JpdmEgY2Vsb3RlbiBkaXNrIGluIGplIHRpcGEgYFNHSSB2b2x1bWUnXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiWmFkbmppICVzIGFsaSArc2l6ZSBhbGkgK3NpemVNIGFsaSArc2l6ZUsiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICIiCisiT3Bvem9yaWxvOiBCTEtHRVRTSVpFIGlvY3RsIG5pIHVzcGVsIG5hICVzLiBVcG9yYWJsamEgc2UgZ2VvbWV0cmlqc2thIHZyZWRub3N0IHN0ZXplICVkLlxuIgorIlRhIHZyZWRub3N0IHNlIGxhaGtvIHNrcmFquWEgemEgbmFwcmF2ZSA+IDMzLjggR0IuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDUwCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiAgIHMgICB1c3R2YXJpIG5vdm8gcHJhem5vIG96bmFrbyBkaXNrYSB0aXBhIFN1biIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICKuYWwgbGFoa28gc2FtbyBzaXN0ZW1za2kgc2tyYm5payBzcHJlbWluaiBzaXN0ZW1za28gdXJvLlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NQorIywgZnV6enkKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICIiCisiUmF6ZGVsZWsgOSBwdXN0aXRlIGtvdCBvYnNlZ292byBnbGF2b1t2b2x1bWUgaGVhZGVyXSAoMCksXG4iCisicmF6ZGVsZWsgMTEgcGEga290IGNlbG90bmkgZGVsICg2KSwga290IHByaehha3VqZSBJUklYLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyJQcmlwb3Jv6GxqaXZvIGplLCBkYSBqZSByYXpkZWxlayBuYSBvZG1pa3UgMCB0aXBhIFwiU0dJIHZvbGhkclwiLFxuIgorInNpc3RlbSBJUklYIHNlIHphbmG5YSBuYSB0bywgZGEgbGFoa28gdXBvcmFibGphIG9yb2RqYSBrb3Qgc28gXG4iCisic2FzaCBpbiBmeCB6IG5qZWdhLiBTYW1vIFwiU0dJIG9ic2VnXCIgY2Vsb3RlbiBkZWwgZGlza2EgbGFoa29cbiIKKyJrcrlpIHRvLiBWdGlwa2FqdGUgREEsIOhlIHJlc25p6G5vIL5lbGl0ZSBvem5h6Gl0aSB0byBwYXJ0aWNpam8gZHJ1Z2HoZS5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyBrb3JlbnNrYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1MgaXptZW5qYWxuYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIkNlbG90ZW4gZGlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4CisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICIlbGxkIG5lZG9kZWxqZW5paCBzZWt0b3JqZXZcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5CisjLCBmdXp6eQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorIywgZnV6enkKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgdXNyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIiIKKyJaYXpuYW5hIGplIGJpbGEgc3VuLW92YSBvem5ha2EgZGlza2EgeiBuYXBh6G5vIGtvbnRyb2xub1xuIgorInZzb3RvLiBWZXJqZXRubyBib3N0ZSBtb3JhbGkgbmFzdGF2aXRpIHZzZSB2cmVkbm9zdGlcbiIKKyIobnByLiBnbGF2ZSwgc2VrdG9yamksIHN0ZXplLCByYXpkZWxraSkgYWxpIHByaXNpbGl0aVxuIgorInN2Zb5vIG96bmFrbyAodWtheiBzIHYgZ2xhdm5lbSBtZW5panUpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJaYXpuYW5hIGplIGJpbGEgZGlza292bmEgb3puYWthIHRpcGEgU0dJIHogbmFwYehubyBrb250cm9sbm8gdnNvdG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlphem5hbmEgamUgYmlsYSBkaXNrb3ZuYSBvem5ha2EgdGlwYSBTR0kgeiBuYXBh6G5vIGtvbnRyb2xubyB2c290by5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJaYXpuYW5hIGplIGJpbGEgZGlza292bmEgb3puYWthIHRpcGEgU0dJIHogbmFwYehubyBrb250cm9sbm8gdnNvdG8uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjIKKyMsIGZ1enp5Cittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIk9wb3pvcmlsbzogbmV2ZWxqYXZuYSB6YXN0YXZpY2EgMHglMDR4IHRhYmVsZSByYXpkZWxrb3YgJWQgYm8gcG9wcmF2bGplbmEgeiB3KHJpdGUpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiR2xhdiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNla3RvcmppL3NsZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAiICAgcyAgIHVzdHZhcmkgbm92byBwcmF6bm8gb3puYWtvIGRpc2thIHRpcGEgU3VuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJSYXpkZWxlayAlZCBzZSBuZSBrb27oYSBuYSBtZWppIHMgc3Rlem9cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJSYXpkZWxlayAlZCBzZSBwcmVrcml2YSB6IGRydWdpbWkgdiBzZWt0b3JqaWggJWQtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIk5lcG9yYWJsamVuIHByb3N0b3IgLSBzZWt0b3JqaSAwLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJOZXBvcmFibGplbiBwcm9zdG9yIC0gc2VrdG9yamkgJWQtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorIywgZnV6enkKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKyJEcnVnaSByYXpkZWxraSC+ZSBwcmVrcml2YWpvIHZlcyBkaXNrLlxuIgorIkl6YnJpuWl0ZS9wb21hbmq5YWp0ZSBuZWthdGVyZSBwcmVkZW4gcG9ub3ZubyBwb3NrdXNpdGUuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kIGlzIG9mIHR5cGUgYFdob2xlIGRpc2snIgorbXNnc3RyICIiCisiUHJpcG9yb+hsaml2byBqZSwgZGEgZW5hanN0aSByYXpkZWxla1xuIgorInByZWtyaXZhIGNlbG90ZW4gZGlzayBpbiBqZSB0aXBhIGBTR0kgdm9sdW1lJ1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyJOaXN0ZSBwb2tyaWxpIGNlbG90bmVnYSBkaXNrYSBzIHRyZXRqaW0gcmF6ZGVsa29tLCBhbXBhayB2YblhIHZyZWRub3N0XG4iCisiJWQgJXMgcHJla3JpdmEgbmVrYXRlcmUgZHJ1Z2UgcmF6ZGVsa2UuIFZhuSB2bm9zIGplIGJpbCBzcHJlbWVuamVuXG4iCisibmEgJWQgJXNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjczOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyLIZSC+ZWxpdGUgb2hyYW5pdGkgemRydb5saml2b3N0IHMgU3VuT1MvU29sYXJpcywgcG90ZW0gcHVzdGl0ZVxuIgorInRhIHJhemRlbGVrIGtvdCBDZWxvdGVuIGRpc2sgKDUpLCB6IHph6GV0a29tIG5hIDAgaW4gJXUgc2VrdG9yamlcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAib3puYWthOiAlLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjgKKyMsIGZ1enp5Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJPYnNlZzogPCUtNnM+XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzgKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJBbHRlcm5hdGl2bmUgc3RlemUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiqXRldmlsbyBkcnVnaWggc3RleiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJEb2RhdG5pIHNla3RvcmppIG5hIHN0ZXpvIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkZha3RvciBwcmVwbGV0ZW5vc3RpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIkhpdHJvc3QgdnJ0ZW5qYSAob2JyYXRpL21pbikiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5ODEKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICKpdGV2aWxvIGZpemnobmloIHN0ZXoiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIlJhem1pc2xpdGUgbyB0ZW0sIGRhIHB1c3RpdGUgcmF6ZGVsZWsgMyBrb3QgY2Vsb3RuaSBkaXNrICg1KS5cbiIKKyJUYWsgamUgZG9nb3ZvciB2IFN1bk9TL1NvbGFyaXMsIExpbnV4IHBhIGdhIHNwb7l0dWplLlxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworIywgZnV6enkKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJaZWxvIGplIHByaXBvcm/obGppdm8gcHVzdGl0aSByYXpkZWxlayB6IG9kbWlrb20gMFxuIgorImtvdCBVRlMsIEVYVDJGUyBkYXQuIHNpc3RlbSBhbGkgU3VuT1MgaXptZW5qYWxuaS4gyGUgXG4iCisicG9zdGF2aXRlIHRqYSBMaW51eCBpem1lbmphbG5pIHRvIGxhaGtvIHVuaehpIHRhYmVsbyBcbiIKKyJyYXpkZWxrb3YgaW4gemFnb25za2kgYmxvay4gVm5lc2l0ZSBEQSwg6GUgcmVzIL5lbGl0ZVxuIgorImRhIHNlIHRhIHJhemRlbGVrIG96bmHoaSBrb3QgODIgKExpbnV4IGl6bWVuamFsbmkpOiAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0LmM6MjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICJtb3VudDogJXMlcyBqZSB6YbnoaXRlbmEgcHJlZCBwaXNhbmplbSwgcHJpa2xhcGxqYW0gc2FtbyB6YSBicmFuamUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gcGVybWl0dGVkIGZvciByb290IG9ubHkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIm1vdW50OiAlcyBqZSC+ZSBwcmlrbG9wbGplbiB2ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBuYWp0aSB2ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiCittc2dzdHIgIm1vdW50OiAlcyBuaSBtb2dv6GUgbmFqdGkgdiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBuYWp0aSB2ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZCBvbiAlczsgdXNlIC10IDx0eXBlPiBvciB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICIlczogbmkgbW9nb+hlIHBvdmV6YXRpICVzOiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgJXMiCittc2dzdHIgIiVzOiAlcyBuaSBscCBuYXByYXZhLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgInphZ29uIG5pIHVzcGVsXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAicHJpa2xvcCBuaSB1c3BlbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQ6IHByaWtsb3AgbmkgdXNwZWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAibW91bnQ6IHByaWtsb3BuYSB0b+hrYSAlcyBuaSBpbWVuaWsiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICJtb3VudDogZG9zdG9wIHphdnJuamVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAibW91bnQ6IHVrYXogbW91bnQgbGFoa28gdXBvcmFibGphIHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIGplIHYgcmFiaSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIm1vdW50OiAlcyBqZSC+ZSBwcmlrbG9wbGplbiB2ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgIm1vdW50OiAlcyBqZSC+ZSBwcmlrbG9wbGplbiBhbGkgJXMgemFwb3NsZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wbmEgdG/oa2EgJXMgbmUgb2JzdGFqYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAibW91bnQ6IHByaWtsb3BuYSB0b+hrYSAlcyBqZSBzaW1ib2xuYSBwb3ZlemF2YSBkbyBuaehlc2FyIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJtb3VudDogcG9zZWJuYSBuYXByYXZhICVzIG5lIG9ic3RhamEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTYKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgInByaWtsb3AgbmkgdXNwZWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiIgorIm1vdW50OiBwb3NlYm5hIG5hcHJhdmEgJXMgbmUgb2JzdGFqYVxuIgorIlx0KHBvdCBuaSBpbWVuaWspXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzILllIG5pIHByaWtsb3BsamVuIGFsaSBuZXByYXZpbG5hIGl6YmlyYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnQgcG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnQ6ICVzILllIG5pIHByaWtsb3BsamVuIGFsaSBuZXByYXZpbG5hIGl6YmlyYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IG1vdmluZyBhIG1vdW50IHJlc2lkaW5nIHVuZGVyIGEgc2hhcmVkIG1vdW50IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisibW91bnQ6IG5hcGHoZW4gdGlwIGRhdC4gc2lzdGVtYSwgbmVwcmF2aWxuYSBpemJpcmEsIHBvuWtvZG92YW4gc3VwZXJibG9rIG5hICVzLFxuIgorIlx0bWFuamtham/oYSBrb2RuYSBzdHJhbiBhbGkgZHJ1Z2UgbmFwYWtlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAicHJpa2xvcG5hIHRhYmVsYSBqZSBwb2xuYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkIHN1cGVyYmxvY2sgb24gJXMiCittc2dzdHIgIm1vdW50OiAlczogc3VwZXJibG9rYSBuaSBtb2dv6GUgcHJlYnJhdGkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAibW91bnQ6IG5lem5hbiB0aXAgZGF0LiBzaXN0ZW1hICclcyciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiBuZXpuYW4gdGlwIGRhdC4gc2lzdGVtYSAnJXMnIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICJtb3VudDogJXMgbmkgYmxv6G5hIG5hcHJhdmEgaW4gc3RhdCBuZSB1c3BlPyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgIiIKKyJtb3VudDogamVkcm8gbmUgcHJlcG96bmEgJXMga290IGJsb+huZSBuYXByYXZlXG4iCisiXHQobW9nb+hlIGBpbnNtb2QgZ29uaWxuaWsnPykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIm1vdW50OiAlcyBuaSBibG/obmEgbmFwcmF2YSAocG9za3VzaXRlIGAtbyBsb29wJz8pIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pIGJsb+huYSBuYXByYXZhXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJtb3VudDogJXMgbmkgdmVsamF2bmEgYmxv6G5hIG5hcHJhdmEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAibW91bnQ6ICVzJXMgbmkgbW/oIHByaWtsb3BpdGkgc2FtbyB6YSBicmFuamUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICJtb3VudDogJXMlcyBqZSB6YbnoaXRlbmEgcHJlZCBwaXNhbmplbSBhbXBhayBwb2RhbmEgamUgYC13JyB6YXN0YXZpY2EiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJtb3VudDogJXMlcyBuaSBtb+ggcHJpa2xvcGl0aSBzYW1vIHphIGJyYW5qZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgIm1vdW50OiAlcyBqZSC+ZSBwcmlrbG9wbGplbiB2ICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAibmEgJyVzJyBuZSBibyBwb3NrdXNhIG5hcmVkaXRpIGRhdG90ZehuaSBzaXN0ZW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAicHJpa2xvcCBuaSB1c3BlbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQ6IHByaWtsb3AgbmkgdXNwZWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXZlbGphdm5hIGJsb+huYSBuYXByYXZhIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJtb3VudDogJXM6IHN1cGVyYmxva2EgbmkgbW9nb+hlIHByZWJyYXRpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAibW91bnQ6ICVzIGplIHYgcmFiaSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIG5pIGJpbGEgcG9kYW5hLlxuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICJ1bW91bnQ6ICVzOiBzYW1vIHNpc3RlbXNraSBza3JibmlrIGxhaGtvIG9ka2xhcGxqYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuYSBkYXQuIHNpc3QuIGJsb+huZSBuYXByYXZlIG5pc28gZG92b2xqZW5lIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAicHJpa2xvcCBuaSB1c3BlbCIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBsaWIvcGF0aC5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiT2Rtb3JhIHphICVzIG5pIG1vZ2/oZSBkb2JpdGk6ICVzXG4iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxOTkKK21zZ2lkICJsaWJjIHBzZXVkby1yYW5kb20gZnVuY3Rpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIml6bWVuamFsbmUgbmFwcmF2ZSBuaSBtb2dv6GUgcHJldml0aSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IHRhayByYXpkZWxlayBuZSBvYnN0YWphXG4iCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IG5hcGFrYTogbmV6bmFuYSByYXpsaehpY2EgJWRcbiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorIywgZnV6enkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgIm5hbWVpOiBwcmVrb3Jh6Gl0ZXYgbWVkcG9tbmlsbmlrYVxuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlZyZWRub3N0IGl6dmVuIGRvc2VnYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAidXBvcmFiYTogbmFtZWkgWy1teF0gaW1lbmlrIFtpbWVuaWsgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJTcHJlbWluamFtIGZpbmdlciBpbmZvcm1hY2lqbyB6YSAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKyJbIC1wIHBpc2Fybmm5a2ktdGVsIF1cbiIKKyJcdFsgLWggZG9tYehpLXRlbCAgIF0gIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA1Cittc2dpZCAiIC1oLCAtLWhvbWUtcGhvbmUgPHBob25lPiAgICAgaG9tZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAicG9samUgamUgcHJlZG9sZ28uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjcgbG9naW4tdXRpbHMvY2hzaC5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMyOAorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzYgbG9naW4tdXRpbHMvY2hmbi5jOjMzMAorbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE5NCBsb2dpbi11dGlscy9jaHNoLmM6MTg3Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtdWx0aXBsZSB1c2VybmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI0OAorIywgZnV6enkKK21zZ2lkICJBYm9ydGVkLiIKK21zZ3N0ciAiIgorIlxuIgorIlByZWtpbmplbm8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIE5JIHNwcmVtZW5qZW5hLiBQb3NrdXNpdGUgcG9ub3ZubyBrYXNuZWplLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgIiVzOiB2aSAodXBvcmFibmlrICVkKSBuZSBvYnN0YWphdGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiJXM6IHVwb3JhYm5payBcIiVzXCIgbmUgb2JzdGphLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIiVzOiBsYWhrbyBzcHJlbWluamEgc2FtbyBsb2thbG5lIHZub3NlOyBuYW1lc3RvIHRlZ2EgdXBvcmFiaXRlIHlwJXMgLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlczogJXMgbmltYSBwcmlzdG9qbm9zdGkgemEgc3ByZW1pbmphbmplIGluZm9ybWFjaWplIGZpbmdlciBvZCAlc1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIk5lem5hbmEgbmFwYWthIHYgdXBvcmFibmm5a2kgenZlemlbdXNlciBjb250ZXh0XSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1OCBsb2dpbi11dGlscy9jaHNoLmM6MzA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXM6IE5lIG1vcmUgc2UgbmFzdGF2aXRpIHByaXZ6ZXRlIHp2ZXplW2NvbnRleHRdIHphIC9ldGMvcGFzc3dkIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiVzOiBUZWtv6GkgVUlEIG5lIHVzdHJlemEgVUlEdSB1cG9yYWJuaWthLCBraSBnYSBhvnVyaXJhbW8sIHNwcmVtZW1iYSBsdXBpbmUgemFuaWthbmFcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICJTcHJlbWluamFtIGZpbmdlciBpbmZvcm1hY2lqbyB6YSAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBuaSBzcHJlbWVuamVuYS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJTcHJlbWluamFtIGx1cGlubyB6YSAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLXMsICAtLXNoZWxsPWx1cGluYSAgICAgICAgICBOYXN0YXZpIGx1cGluc2tvIGtvbnZlbmNpam8gY2l0aXJhbmphXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MQorbXNnaWQgIiAtbCwgLS1saXN0LXNoZWxscyAgICBwcmludCBsaXN0IG9mIHNoZWxscyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAic2hlbGwgbXVzdCBiZSBhIGZ1bGwgcGF0aCBuYW1lIgorbXNnc3RyICIlczogbHVwaW5hIG1vcmEgYml0aSBwb2xubyBpbWUgcG90aS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIG5lIG9ic3RhamEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBuaSBpenZyuWxqaXZhLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIk9wb3pvcmlsbzogXCIlc1wiIG5pIG5hIHNlem5hbXUgdiAvZXRjL3NoZWxscy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiJXM6IFwiJXNcIiBuaSBuYSBzZXpuYW11IHYgL2V0Yy9zaGVsbHMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzOiAlcyBuaW1hIHByaXN0b2pub3N0aSB6YSBzcHJlbWVtYm8gbHVwaW5lICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKKyMsIGZ1enp5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IFRla2/oaSBVSUQgbmUgdXN0cmV6YSBVSUR1IHVwb3JhYm5pa2EsIGtpIGdhIGG+dXJpcmFtbywgc3ByZW1lbWJhIGx1cGluZSB6YW5pa2FuYVxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiJXM6IFZhuWEgbHVwaW5hIG5pIHYgL2V0Yy9zaGVsbHMsIHNwcmVtZW1iYSBsdXBpbmUgemFuaWthbmFcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIlNwcmVtaW5qYW0gbHVwaW5vIHphICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzQyCittc2dpZCAiTmV3IHNoZWxsIgorbXNnc3RyICJOb3ZhIGx1cGluYSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorIywgZnV6enkKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIkx1cGluYSBuaSBiaWxhIHNwcmVtZW5qZW5hLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU1CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJMdXBpbmEgTkkgYmlsYSBzcHJlbWVuamVuYS4gUG9za3VzaXRlIHpub3ZhIGthc25lamUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTkKKyMsIGZ1enp5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJMdXBpbmEgTkkgYmlsYSBzcHJlbWVuamVuYS4gUG9za3VzaXRlIHpub3ZhIGthc25lamUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hlbGwgY2hhbmdlZC5cbiIKK21zZ3N0ciAiTHVwaW5hIGplIGJpbGEgc3ByZW1lbmplbmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAidXBvcmFiYTogJXMgW2RhdG90ZWthXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MTY5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIxNyBzeXMtdXRpbHMvZG1lc2cuYzoxMjY5CisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICIlczogTmV6bmFuIHVrYXo6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIiIKKyJcbiIKKyJwcmVraW5qZW5vICUxMC4xMHMgJTUuNXMgXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzUgbG9naW4tdXRpbHMvbGFzdC5jOjQ0NiBsb2dpbi11dGlscy9sYXN0LmM6ODkyCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAidXBvcmFiYTogbmFtZWkgWy1teF0gaW1lbmlrIFtpbWVuaWsgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NQorbXNnaWQgIiAtbiwgLS1saW1pdCA8bnVtYmVyPiBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorIywgZnV6enkKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OAorbXNnaWQgIiAtdCwgLS11bnRpbCA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyB1bnRpbCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorInd0bXAgemHoZW5qYSAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibGlidXNlciBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVzLiIKK21zZ3N0ciAiIgorIlxuIgorIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorIywgZnV6enkKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIlVTT0ROQSBOQVBBS0E6IHR0eSBuaSBtb2dv6GUgem5vdmEgb2RwcmV0aTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIiVzIG5pIHBvc2VibmEgYmxv6G5hIG5hcHJhdmEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2RldjogY2hkaXIoKSBuaSB1c3BlbDogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzgwCittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIlVTT0ROQSBOQVBBS0E6IHBvuWtvZG92YW4gdHR5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJaYWRuamEgcHJpamF2YTogJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICJ6IHJh6HVuYWxuaWthICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJ6IGxpbmlqZSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIlRFTEVGT05TS0EgUFJJSkFWQSBaIExJTklKRSAlcywgVVBPUkFCTklLICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIlNLUkJOSalLQSBQUklKQVZBIFogUkHIVU5BTE5JS0EgJXMsIFVQT1JBQk5JSyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiU0tSQk5JqUtBIFBSSUpBVkEgTkEgTElOSUpJICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJQUklKQVZBIE5BIExJTklKSSAlcyBVUE9SQUJOSUtBICVzIFogUkHIVU5BTE5JS0EgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJQUklKQVZBIE5BIExJTklKSSAlcyBVUE9SQUJOSUtBICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY4NgorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgInByaWphdmE6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgImxvZ2luOiBQQU0gbmkgdXNwZWwsIHByZWtpbmphbTogJXNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJQQU0gbmkgbW/oIGluaWNpYWxpemlyYXRpOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIk5FVVNQRalOQSBQUklKQVZBICVkIElaICVzIFpBIFVQT1JBQk5JS0EgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJOZXByYXZpbG5hIHByaWphdmFcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJQUkVWRcggUE9TS1VTT1YgUFJJSkFWRSAoJWQpIElaICVzIFpBICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJORVVTUEWpTkEgUFJJSkFWTkEgU0VKQSBJWiAlcyB6YSAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIk5ldXNwZbluYSBwcmlqYXZhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MSBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjQKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiTmFwYWthIHByaSBuYXN0YXZsamFuanUgc2VqZSwgcHJla2luamFtLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJuaehlbG5vIHVwb3JhYm5puWtvIGltZSB2ICVzOiVkLiBQcmVraW5qYW0uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIG5pIHVzcGVsOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgInVwb3JhYmE6IGxhc3QgWy0jXSBbLWYgZGF0XSBbLXQgdHR5XSBbLWggaW1lIGdvc3RpdGVsamFdIFt1cG9yYWJuaWsgLi4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDAKKyMsIGZ1enp5Cittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIk5hIHRlbSBzaXN0ZW11IHVwb3JhYmxqYXRlIHphc2Vu6GVuYSBnZXNsYS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAgcCAgICAgICAgICBQcmVwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSB2IGRhdG90ZWtvIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiUHJpamF2YSBqZSBwb3Rla2xhIHBvICVkIHNla3VuZGFoLlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IC1oIGplIG5hIHZvbGpvIHNhbW8gemEgc2lzdGVtc2tlZ2Egc2tyYm5pa2EuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiTmVwcmF2aWxubyB1cG9yYWJuablrbyBpbWUgXCIlc1wiIHYgJXM6JWQuIFByZWtpbmphbS4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKyJcbiIKKyJOYXBha2EgcHJpIHphcGlyYW5qdSBkYXRvdGVrZVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKKyMsIGZ1enp5Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIshha2EgdmFzIG5vdmEgcG+5dGEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICLIYWthIHZhcyBwb7l0YS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJWcGlzdWplbSBzZSBzIGRvbWHoaW0gaW1lbmlrb20gPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2CisjLCBmdXp6eQorbXNnaWQgImNvdWxkbid0IGV4ZWMgc2hlbGwgc2NyaXB0IgorbXNnc3RyICJsb2dpbjogc2tyaXB0YSB1a2F6bmUgbHVwaW5lIG5pIG1v6CBwb2duYXRpOiAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4CisjLCBmdXp6eQorbXNnaWQgIm5vIHNoZWxsIgorbXNnc3RyICJOaSB1a2F6bmUgbHVwaW5lIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgaW50ZXJ2YWxhOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgIm5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0CisjLCBmdXp6eQorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgInVwb3JhYm5payIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJHZXNsbyBuaSBiaWxvIHNwcmVtZW5qZW5vLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJHZXNsbyBuaSBiaWxvIHNwcmVtZW5qZW5vLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBkYXRvdGVrYSBza3VwaW5lIGplIHYgcmFiaS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAiTG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVzOiBkYXRvdGVrYSBza3VwaW5lIGplIHYgcmFiaS5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiZ2VzbG8gc3ByZW1lbmplbm8sIHVwb3JhYm5payAlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJHZXNsbyBuaSBiaWxvIHNwcmVtZW5qZW5vLiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorIywgZnV6enkKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAicHJpamF2YTogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworIywgZnV6enkKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICJQcmltYXJlbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworIywgZnV6enkKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiSW1lbmlrICVzIG5lIG9ic3RhamEhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3CisjLCBmdXp6eQorbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJJbWVuaWsgJXMgbmUgb2JzdGFqYSFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIk5pIHVrYXpuZSBsdXBpbmUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJOaSB1a2F6bmUgbHVwaW5lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorIywgZnV6enkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJ6YSBwcnZvIHZyc3RpY28iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIlphZG5qYSBwcmlqYXZhOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiVzIG5pIHBvc2VibmEgYmxv6G5hIG5hcHJhdmEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdDogZG9iaSBpbWUgZ29zdGl0ZWxqYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAibHN0YXQgaW1lbmlrYSBuaSB1c3BlbFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJ3aGVyZSBkaWQgdGhlIGxvZ2luIGZhaWw/IgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIk5hcGFrYSB2IGdlc2x1LiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAiVm5lc2l0ZSBzdGFybyBnZXNsbzogIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorIywgZnV6enkKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICJHZXNsbyBqZSBiaWxvIHNwcmVtZW5qZW5vLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIlczogYnJleiBzcHJlbWVtYlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorIywgZnV6enkKK21zZ2lkICJTZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBwcm9jZXNhIG5pIG1vZ2/oZSBuYWp0aSBcIiVzXCJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJub3RyYW5qYSBuYXBha2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiWmFkbmphIHByaWphdmE6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbmUgemFwablpIHNwcmVtZW1iIG5hIGRpc2siCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDkKKyMsIGZ1enp5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3CisjLCBmdXp6eQorbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIkdlc2xvOiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1CisjLCBmdXp6eQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIG5pIHVzcGVsIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIm5ld2dycDogVGFrYSBza3VwaW5lIG5pLiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworIywgZnV6enkKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIm5ld2dycDogS2RvIHNpPyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorIywgZnV6enkKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIm5ld2dycDogVGFrYSBza3VwaW5lIG5pLiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2CisjLCBmdXp6eQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJUYSBkaXNrIGplIHRyZW51dG5vIHYgcmFiaS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mjc4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMwMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIG5pIHVzcGVsIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwNgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKKyMsIGZ1enp5Cittc2dpZCAiaW5jb3JyZWN0IHBhc3N3b3JkIgorbXNnc3RyICJOYXBh6G5vIGdlc2xvLiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc4NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayIKK21zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgIlNpZ25hbG5lZ2EgdXByYXZsamFsbmlrYSBuaSBtb2dv6GUgbmFzdGF2aXRpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIlNpZ25hbG5lZ2EgdXByYXZsamFsbmlrYSBuaSBtb2dv6GUgbmFzdGF2aXRpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAiU2lnbmFsbmVnYSB1cHJhdmxqYWxuaWthIG5pIG1vZ2/oZSBuYXN0YXZpdGkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgImlkLWEgJXMgbmkgbW9nb+hlIG9kc3RyYW5pdGkgKCVzKVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogdHJlbnV0bmVnYSBpbWVuaWthIG5pIG1vZ2/oZSBkb2JpdGkgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAuLi5raWxsZWQuXG4iCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwcyIKK21zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdXNlciBjcmVkZW50aWFsczogJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjQgc3lzLXV0aWxzL2VqZWN0LmM6NjYzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cCA8Z3JvdXA+ICAgICAgICBzcGVjaWZ5IGEgc3VwcGxlbWVudGFsIGdyb3VwXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NworIywgZnV6enkKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OAorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIgICAgICAgICAgICAgICBQcnZpICAgICAgICBaYWRuamlcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiICAtcywgIC0tc2hlbGw9bHVwaW5hICAgICAgICAgIE5hc3RhdmkgbHVwaW5za28ga29udmVuY2lqbyBjaXRpcmFuamFcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICJ1cG9yYWJhOiBuYW1laSBbLW14XSBpbWVuaWsgW2ltZW5payAuLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMjMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAidXBvcmFiYTogJXMgcHJvZ3JhbSBbaXpiaXJhIC4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiJXM6IHVwb3JhYm5payBcIiVzXCIgbmUgb2JzdGphLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCittc2dpZCAiLS1wdHkgaXMgbm90IHN1cHBvcnRlZCBmb3IgeW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTMyNgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQwCittc2dpZCAib3B0aW9ucyAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSBhbmQgLS11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MworIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiVzOiB1cG9yYWJuaWsgXCIlc1wiIG5lIG9ic3RqYS5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogdHJlbnV0bmVnYSBpbWVuaWthIG5pIG1vZ2/oZSBkb2JpdGkgLSAlc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiBuaSBvZHBydG8gemEgYnJhbmplL3Bpc2FuamUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXM6IG5pIG9kcHJ0byB6YSBicmFuamUvcGlzYW5qZSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXM6IGRhdG90ZWthIHNrdXBpbmUgamUgdiByYWJpLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJDYW5ub3Qgb3BlbiBhY2Nlc3MgdG8gY29uc29sZSwgdGhlIHJvb3QgYWNjb3VudCBpcyBsb2NrZWQuXG4iCisiU2VlIHN1bG9naW4oOCkgbWFuIHBhZ2UgZm9yIG1vcmUgZGV0YWlscy5cbiIKKyJcbiIKKyJQcmVzcyBFbnRlciB0byBjb250aW51ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIiVzOiBkYXRvdGVrYSBza3VwaW5lIGplIHYgcmFiaS5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIiVzOiBkYXRvdGVrYSBza3VwaW5lIGplIHYgcmFiaS5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIiVzOiBkYXRvdGVrYSBza3VwaW5lIGplIHYgcmFiaS5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiQWxpIHJlcyC+ZWxpdGUgbmFkYWxqZXZhdGkiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInphZ29uIG5pIHVzcGVsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDYKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA5Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorIywgZnV6enkKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAibW91bnQ6IHRvIGxhaGtvIGl6dmVkZSBzYW1vIHNpc3RlbXNraSBza3JibmlrIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM0CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiTmkgbW/oIHBvZ25hdGkgJXM6ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAi6GFzIHNlIGplIGl6dGVrZWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICJOaSBtb+ggcG9nbmF0aSAlczogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IG5pIG1vZ2/oZSBvZHByZXRpICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MjQ5Cittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDYKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEwCittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIiVzOiB6Yehhc25lIGRhdG90ZWtlIG5pIG1vZ2/oZSBvZHByZXRpLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBwcmVpbWVub3ZhbmplICVzIG5hICVzIG5pIHVzcGVsbzogJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogTmkgbW9nb+hlIGRvYml0aSB6dmV6ZSB6YSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlczogTmkgbW9nb+hlIG5hc3Rhdml0aSB1cG9yYWJuablrZSB6dmV6ZSB6YSAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlczogJXMgbmkgc3ByZW1lbmplbm9cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgInZlaml0ZXYgbmkgbW9nb+hhIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiJXM6IGJyZXogc3ByZW1lbWJcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiTmEgdGVtIHNpc3RlbXUgdXBvcmFibGphdGUgemFzZW7oZW5lIHNrdXBpbmUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIk5hIHRlbSBzaXN0ZW11IHVwb3JhYmxqYXRlIHphc2Vu6GVuYSBnZXNsYS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIkFsaSC+ZWxpdGUgYb51cmlyYXRpICVzIFt5L25dPyAiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiJXMgaXogJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBkb24ndCBlbmNvZGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTAKK21zZ2lkICIgLXMsIC0tbWF0Y2gtdGFnIDx0YWc+ICAgICAgc2hvdyBzcGVjaWZpZWQgdGFnKHMpIChkZWZhdWx0IHNob3cgYWxsIHRhZ3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdC1vbmUgICAgICAgICAgICAgbG9vayB1cCBvbmx5IGZpcnN0IGRldmljZSB3aXRoIHRva2VuIHNwZWNpZmllZCBieSAtdFxuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgSS9PIGxpbWl0c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICAgb3ZlcndyaXRlIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tb2Zmc2V0IDxvZmZzZXQ+ICAgICAgcHJvYmUgYXQgdGhlIGdpdmVuIG9mZnNldFxuIgorbXNnc3RyICIgIC1zLCAgLS1zaGVsbD1sdXBpbmEgICAgICAgICAgTmFzdGF2aSBsdXBpbnNrbyBrb252ZW5jaWpvIGNpdGlyYW5qYVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiICAgbCAgIGl6cGm5aSB6bmFuZSBkYXRvdGXobmUgc2lzdGVtZSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiAgIGwgICBpenBpuWkgem5hbmUgZGF0b3Rl6G5lIHNpc3RlbWUiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICJPem5h6GksIGRhIGplIHYgcmFiaSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzOQorIywgZnV6enkKK21zZ2lkICIobm90IG1vdW50ZWQpIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIgorbXNnc3RyICJuYXBha2EgUkU6ICIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjExCittc2dpZCAiZXJyb3I6IC11IDxsaXN0PiBhcmd1bWVudCBpcyBlbXB0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0ICVzIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIG5pIGJpbGEgcG9kYW5hLlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzgzCittc2dpZCAiLXQgbmVlZHMgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJuZXZlbGphdm5hIHZyZWRub3N0IGxldGE6IHVwb3JhYml0ZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NQorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiTmVkb3ZvbGplbm8guXRldmlsbyBnbGF2IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJuZXZlbGphdm5hIHZyZWRub3N0IGxldGE6IHVwb3JhYml0ZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIm5ldmVsamF2bmEgdnJlZG5vc3QgbWVzZWNhOiB1cG9yYWJpdGUgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImxvZ2dlcjogbmV6bmFubyBwcmVkbm9zdG5vIGltZTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAiTmVkb3ZvbGplbm8guXRldmlsbyBnbGF2IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJuZXZlbGphdm5hIHZyZWRub3N0IGxldGE6IHVwb3JhYml0ZSAxLTk5OTkiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NTMwIG1pc2MtdXRpbHMvY2FsLmM6NTQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIm5ldmVsamF2bmEgdnJlZG5vc3QgbGV0YTogdXBvcmFiaXRlIDEtOTk5OSIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICJ1cG9yYWJhOiBjYWwgWy0xM3NtanlWXSBbW21lc2VjXSBsZXRvXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDIKKyMsIGZ1enp5Cittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BhbiAgICAgICAgICAgIHNwYW4gdGhlIGRhdGUgd2hlbiBkaXNwbGF5aW5nIG11bHRpcGxlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDYKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgdCAtIHRhYmVsYSB2IG9ibGlraSBuZW9iZGVsYW5paCBwb2RhdGtvdiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTQKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjY0CisjLCBmdXp6eQorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJrbGljIGlvY3RsKCkgbmkgdXNwZWwgcHJlYnJhdGkg6GFzYSBpeiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjM0MyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5MworIywgZnV6enkKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiUHJpc2lsbmkgcHJlZ2xlZCBkYXRvdGXobmVnYSBzaXN0ZW1hIG5hICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiYmxv6G5hIG5hcHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorbXNnaWQgIm1vdW50cG9pbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgInVwb3JhYm5lIGl6YmlyZToiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1Cittc2dpZCAibWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiVm5lc2l0ZSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hOiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAibW91bnQgSUQiCittc2dzdHIgIm5jb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAibW91bnQ6IHByaWtsb3AgbmkgdXNwZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMQorIywgZnV6enkKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICIlczogTmV6bmFuIHVrYXo6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworIywgZnV6enkKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorIywgZnV6enkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJiZXJpICVjXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorIywgZnV6enkKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJPZHN0cmFuaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODE0IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzcgc3lzLXV0aWxzL2VqZWN0LmM6NzE0CisjOiBzeXMtdXRpbHMvbW91bnQuYzozMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICIlcyAlcyBuaSBtb2dv6GUgYnJhdGkuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1Cittc2dpZCAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgICBsICAgaXpwablpIHpuYW5lIGRhdG90ZehuZSBzaXN0ZW1lIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEyCisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTYKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAgIGwgICBpenBpuWkgem5hbmUgZGF0b3Rl6G5lIHNpc3RlbWUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQgbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIHN5cy11dGlscy9sc25zLmM6OTAxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTcyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI4Cittc2dpZCAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhcmdldCA8cGF0aD4gICAgdGhlIHBhdGggdG8gdGhlIGZpbGVzeXN0ZW0gdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICBpenBpuWkgem5hbmUgZGF0b3Rl6G5lIHNpc3RlbWUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworIywgZnV6enkKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiSW1lbmlrICVzIG5lIG9ic3RhamEhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBUSUQgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTYKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTIwCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTczCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE2CisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIk5hdmVkbGkgc3RlIHZl6CBzdGV6LCBrb3QgamloIGplIG5hIGRpc2t1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICIlcyBuaSBtb2dv6GUgcHJlYnJhdGlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIHNvdXJjZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIiclcycgbmkgbW9nb+hlIG9kcHJldGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczogbmkgYmxv6G5hIG5hcHJhdmFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAiYmxv6G5hIG5hcHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAibmV2YXJuZSBpemJpcmU6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm1vdW50OiBuZXpuYW4gdGlwIGRhdC4gc2lzdGVtYSAnJXMnIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgInZyc3RhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIm5hcGFrYSBwcmkgaXNrYW5qdSIKK21zZ3N0clsxXSAibmFwYWthIHByaSBpc2thbmp1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBuYXBha2EiCittc2dzdHJbMV0gIiwgbmFwYWthIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgImRvbGdhIHByYXpuYSBpemJpcmEgcG8gLWwgYWxpIC0tbG9uZyBpemJpcmEiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICJuZXpuYW5hIGx1cGluYSBwbyAtcyBhbGkgLXNoZWxsIGl6YmlyYSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIgICAgICAgZ2V0b3B0IFtpemJpcmVdIC1vfC0taXpiaXJlIG9wdHN0cmluZyBbaXpiaXJlXSBbLS1dXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2CisjLCBmdXp6eQorbXNnaWQgIlBhcnNlIGNvbW1hbmQgb3B0aW9ucy5cbiIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgIC1hLiAtLWFsdGVybmF0aXZlICAgICAgICAgICAgRG92b2xpIGRvbGdlIGl6YmlyZSwga2kgc2UgemHobmVqbyB6IGVuaW0gLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAgLWwgIC0tbG9uZ29wdGlvbnM9ZG9sZ2VpemJpcmUgICBEb2xnZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9aW1lcHJvZ3JhbWEgICAgICAgSW1lIG5hIGthdGVyZWdhIHNlIG5hc2xhdmxqYWpvIG5hcGFrZVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiICAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgIE9uZW1vZ2/oaSBnZXRvcHQoMykgcG9yb+hhbmplIG5hcGFrXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAgLXMsICAtLXNoZWxsPWx1cGluYSAgICAgICAgICBOYXN0YXZpIGx1cGluc2tvIGtvbnZlbmNpam8gY2l0aXJhbmphXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAibWFuamthIGl6YmlyYSBuaXppemJpciAiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgIm5vdHJhbmphIG5hcGFrYSwgc3Bvcm/oaXRlIGF2dG9yanUuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAiJXM6IG5lem5hbiBzaWduYWwgJXM7IHZlbGphdm5pIHNpZ25hbGk6XG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkwCittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNDAgbWlzYy11dGlscy9raWxsLmM6MjQ5IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gc2lnbmFsICVzXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI2MCBtaXNjLXV0aWxzL2tpbGwuYzoyNjMgbWlzYy11dGlscy9raWxsLmM6MjcyCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODQgbWlzYy11dGlscy9raWxsLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IC0tYWRqdXN0IGluIC0tbm9hZGpmaWxlIGl6YmlyaSBzZSBtZWRzZWJvam5vIGl6a2xqdeh1amV0YS4gUG9kYWxpIHN0ZSBvYmUuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIiVzOiBOYXBha2UgcHJpIGl6YmlyaSwgdXBvcmFiaVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCAlZCB0byBwaWQgJWRcbiIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlczogcHJvY2VzYSBuaSBtb2dv6GUgbmFqdGkgXCIlc1wiXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5lem5hbm8gaW1lIHBvc2xvcGphW2ZhY2lsaXR5XTogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5lem5hbm8gcHJlZG5vc3RubyBpbWU6ICVzLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIlByaWphdm5vIGltZSBqZSBwcmVkb2xnby5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAiVmVsaWtvc3QgYmxva2E6ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKKyMsIGZ1enp5Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR1aWQoKSBuaSB1c3BlbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAicG9samUgamUgcHJlZG9sZ28uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAicG9samUgamUgcHJlZG9sZ28uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICJTaXN0ZW1za2UgdXJlIHNlIG5lIGRhIG5hc3Rhdml0aS5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM5CisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQxCittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgIC1zLCAgLS1zaGVsbD1sdXBpbmEgICAgICAgICAgTmFzdGF2aSBsdXBpbnNrbyBrb252ZW5jaWpvIGNpdGlyYW5qYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTAKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAtVC4gLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgemEgcmF6bGnoaWNvIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTIKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NgorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NworbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJuZXByYXZpbG5hIHZyZWRub3N0IHphIHByZWtvcmHoaXRldiDoYXNhOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTkKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAgLWEuIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBEb3ZvbGkgZG9sZ2UgaXpiaXJlLCBraSBzZSB6YehuZWpvIHogZW5pbSAtXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIiIKKyJcbiIKKyIlZCByYXpkZWxrb3Y6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorIywgZnV6enkKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInN0YXQgaW1lbmlrYSBuaSB1c3BlbFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3IHN5cy11dGlscy9sb3NldHVwLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAibmFzdGF2aSBzYW1vIHphIGJyYW5qZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorIywgZnV6enkKK21zZ2lkICJyZW1vdmFibGUgZGV2aWNlIgorbXNnc3RyICIgb2RzdHJhbmxqaXYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODAKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODIKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKK21zZ2lkICJzaXplIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorIywgZnV6enkKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJzdGF0IGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKKyMsIGZ1enp5Cittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCBzZWt0b3JqYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgcHJpa2F6bmUvdm5vc25lIGVub3RlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAzCittc2dpZCAiSG9zdDpDaGFubmVsOlRhcmdldDpMdW4gZm9yIFNDU0kiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJyYXpsaehpY2EiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDcKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDgKK21zZ2lkICJ6b25lIG1vZGVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjkyCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB3aG9sZS1kaXNrIGRldmljZSBudW1iZXIiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzIHN5cy11dGlscy93ZGN0bC5jOjE3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiVzOiBuaSBibG/obmEgbmFwcmF2YVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiICAtVC4gLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgemEgcmF6bGnoaWNvIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU1CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU4CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYxCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3MworbXNnaWQgImNvbW1hbmQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc1CisjLCBmdXp6eQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgInN0YXQgaW1lbmlrYSBuaSB1c3BlbFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworIywgZnV6enkKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCisjLCBmdXp6eQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICJEYXRvdGVrZSAsJXNgIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwaWQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICJuZXpuYW5lbSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4CisjLCBmdXp6eQorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJTaXN0ZW1za2UgdXJlIHNlIG5lIGRhIG5hc3Rhdml0aS5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAyCittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMyBzeXMtdXRpbHMvbHNucy5jOjkwMyBzeXMtdXRpbHMvcmZraWxsLmM6NTczCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU2MyBzY2hlZHV0aWxzL2NocnQuYzo0NzUgc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE3MSBzeXMtdXRpbHMvbHNucy5jOjk4MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJEb2JsamVuaWggJWQgYmFqdG92IG9kICVzXG4iCittc2dzdHJbMV0gIkRvYmxqZW5paCAlZCBiYWp0b3Ygb2QgJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiemFnb24gbmkgdXNwZWxcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiRG9ibGplbmloICVkIGJhanRvdiBvZCAlc1xuIgorbXNnc3RyWzFdICJEb2JsamVuaWggJWQgYmFqdG92IG9kICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorIywgZnV6enkKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIGplIHByZWRvbGdhLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IG5pIGJsb+huYSBuYXByYXZhXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICIuLi4gUHJlc2tvayBuYSBkYXRvdGVrbyAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAgLXMsICAtLXNoZWxsPWx1cGluYSAgICAgICAgICBOYXN0YXZpIGx1cGluc2tvIGtvbnZlbmNpam8gY2l0aXJhbmphXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiICAtVC4gLS10ZXN0ICAgICAgICAgICAgICAgICAgIFRlc3QgemEgcmF6bGnoaWNvIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAgICAtSCMgW2FsaSAtLWhlYWRzICNdOiAgIG5hc3RhdmkguXRldmlsbyBnbGF2IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgICAgLXEgIFthbGkgLS1xdWlldF06ICAgICBuZSBwcmlrYb5pIG9wb3pvcmlsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgImNvbDogc2xhYiBhcmd1bWVudCAtbDogJXMuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJuZnMga2FuYWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAibmZzIHBvdmV6YXZhIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTQ3CisjLCBmdXp6eQorbXNnaWQgIndyaXRlIgorbXNnc3RyICJaYXBpuWkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAiYmVyaSAlY1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAiJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIiVzIG5pIG1vZ2/oZSBvZHByZXRpOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjg5CisjLCBmdXp6eQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICIlczogcHJlaW1lbm92YW5qZSAlcyBuYSAlcyBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMDIKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgIuhhcyBzZSBqZSBpenRla2VsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICJzdGFuamEgbmFwcmF2ZSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dGltZW9mZGF5KCkgbmkgdXNwZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICJQcmlqYXZhIGplIHBvdGVrbGEgcG8gJWQgc2VrdW5kYWguXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorIywgZnV6enkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiTmFwYWthIHByaSBicmFuanUgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCByZXBseSBsZW5ndGggZnJvbSBzZXJ2ZXIgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjU5MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBuYW1lIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAiaW1lIG9ic2VnYSBqZSBwcmVkb2xnbyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJOYXBha2EgcHJpIHNwcmVtaW5qYW5qdSBuYehpbmEgJXM6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICIlczogTmVwcmnoYWtvdmFuIGtvbmVjIGRhdG90ZWtlIHYgJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAiJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAiJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZSBhIG5ldyBVVUlEIHZhbHVlLlxuIgorbXNnc3RyICIgICBzICAgdXN0dmFyaSBub3ZvIHByYXpubyBvem5ha28gZGlza2EgdGlwYSBTdW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAgLVQuIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHphIHJhemxp6GljbyBnZXRvcHQoMSlcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgcHJpa2F6bmUvdm5vc25lIGVub3RlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBuYW1lIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstQk1TIDxkaXI+Li4uIC1mXSA8bmFtZT5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbmUgemFwablpIHNwcmVtZW1iIG5hIGRpc2siCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworIywgZnV6enkKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDgKK21zZ2lkICIgLU0gPGRpcnM+ICBkZWZpbmUgbWFuIGFuZCBpbmZvIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJJemJpcmEgLS1kYXRlIGplIHByZWRvbGdhLlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwMworIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICJzbGFiYSB2ZWxpa29zdCBpbm9kYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmxv6G5hIG5hcHJhdmEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICJibG/obmEgbmFwcmF2YSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICKpdGV2aWxrYSByYXpkZWxrYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJOYXBha2EgcHJpIHphcGlyYW5qdSBkYXRvdGVrZVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCittc2dzdHJbMV0gIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICJzdHJhbmkgcyBwb2RwaXNvbSBuaSBtb2dv6GUgemFwaXNhdGkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiS2xp6GVtIGlvY3RsKCkgemEgcG9ub3ZubyBicmFuamUgdGFiZWxlIHJhemRlbGtvdi5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1ODAKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIlVwb3JhYml0ZSAtLWZvcmNlIGl6YmlybyBkYSBvYmlkZXRlIHZzYSBwcmV2ZXJqYW5qYS5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDUKKyMsIGZ1enp5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuIgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAic3RyYW5pIHMgcG9kcGlzb20gbmkgbW9nb+hlIHphcGlzYXRpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgIHQgICAgICAgICAgU3ByZW1lbmkgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaGVhZGluZ3MgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiICAgIC1DIyBbYWxpIC0tY3lsaW5kZXJzICNdOm5hc3RhdmkguXRldmlsbyBzdGV6IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNQorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGxpc3Q+IENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgIHAgICAgICAgICAgUHJlcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIHphc2xvbiBhbGkgdiBkYXRvdGVrbyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgICAgLXEgIFthbGkgLS1xdWlldF06ICAgICBuZSBwcmlrYb5pIG9wb3pvcmlsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXMiCittc2dzdHIgIiAgIGwgICBpenBpuWkgem5hbmUgZGF0b3Rl6G5lIHNpc3RlbWUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIm5ldmFybmUgaXpiaXJlOiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0cmlcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICBwYXJhbWV0cmlcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1OAorbXNnaWQgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICIlczogemEgJXMgbmkgbW9nb+hlIG5hanRpIG5hcHJhdmVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIk5GUyDoZXogVENQIG5pIHBvZHBydC5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODQKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTI0Cittc2dpZCAiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKKyMsIGZ1enp5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIk5GUyDoZXogVENQIG5pIHBvZHBydC5cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5pIHVzcGVsXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5pIHVzcGVsXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKK21zZ2lkICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBpbiB0aGVzZSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICIlczogTmV6bmFuIHVrYXo6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjIwCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3IgaWRsZSBjbGFzcyIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJ2IGlkIGplIG5lem5hbmEgbmFwYWthIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICJ1cG9yYWJhOiAlcyBwcm9ncmFtIFtpemJpcmEgLi4uXVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICIiCisiXG4iCisiTmFwYWthIHByaSB6YXBpcmFuanUgZGF0b3Rla2VcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIG5pIHVzcGVsIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgICAgLUMjIFthbGkgLS1jeWxpbmRlcnMgI106bmFzdGF2aSC5dGV2aWxvIHN0ZXoiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAgICAtQyMgW2FsaSAtLWN5bGluZGVycyAjXTpuYXN0YXZpILl0ZXZpbG8gc3RleiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTEKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJCTEtHRVRTSVpFIG9kIGlvY3RsIG5pIHVzcGVsIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIwMSBzeXMtdXRpbHMvYmxrem9uZS5jOjE3MyBzeXMtdXRpbHMvYmxrem9uZS5jOjI2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIlZlbGlrb3N0aSBkaXNrb3ZuZSBzdGV6ZSBuaSBtb2dv6GUgcHJlYnJhdGkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiUmVwb3J0IHpvbmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdpdmVuIGRldmljZSIKK21zZ3N0ciAiJXM6IG5pIGJsb+huYSBuYXByYXZhXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTc3IHN5cy11dGlscy9ibGt6b25lLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgInphcGlzIHNlem5hbWEgcG9kcm/oaWogbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgb2QgaW9jdGwgbmkgdXNwZWwgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm91bmQgJWQgem9uZXMgZnJvbSAweCU8UFJJeDY0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEwCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8c2VjdG9ycz4gbWF4aW11bSBzZWN0b3JzIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIgICAgLVMjIFthbGkgLS1zZWN0b3JzICNdOiBuYXN0YXZpILl0ZXZpbG8gc2VrdG9yamV2IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICJtb3VudDogJXMgbmkgdmVsamF2bmEgYmxv6G5hIG5hcHJhdmEiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugem9uZSBvZmZzZXQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIlczogXCIlc1wiIG5lIG9ic3RhamEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIiVzOiBcIiVzXCIgbmkgaXp2crlsaml2YS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiU2Ftb3phem5hdmEgbmkgdXNwZWxhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIlNhbW96YXpuYXZhIG5pIHVzcGVsYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiJXM6IFwiJXNcIiBuaSBpenZyuWxqaXZhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiU2Ftb3phem5hdmEgbmkgdXNwZWxhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJTYW1vemF6bmF2YSBuaSB1c3BlbGEuXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiU2Ftb3phem5hdmEgbmkgdXNwZWxhLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIlNhbW96YXpuYXZhIG5pIHVzcGVsYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIlNhbW96YXpuYXZhIG5pIHVzcGVsYS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJOZXZlbGphdm5vILl0ZXZpbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOSB0ZXh0LXV0aWxzL2NvbC5jOjEzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVtb3J5IEJsb2NrICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEyNCBzeXMtdXRpbHMvY2htZW0uYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgIlNhbW96YXpuYXZhIG5pIHVzcGVsYS5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlZFxuIgorbXNnc3RyICJTYW1vemF6bmF2YSBuaSB1c3BlbGEuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiU2VrdG9yICVkIGplIL5lIGRvZGVsamVuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiU2Ftb3phem5hdmEgbmkgdXNwZWxhLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJTYW1vemF6bmF2YSBuaSB1c3BlbGEuXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBlbmQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICJtb3VudDogemEgJXMgbmkgbW9nb+hlIGRvYml0aSBuYXNsb3ZhXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIGFkZHJlc3MiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpc2FibGUgICAgICBkaXNhYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NworbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDI5Cittc2dpZCAiem9uZSBpZ25vcmVkLCBubyB2YWxpZF96b25lcyBzeXNmcyBhdHRyaWJ1dGUgcHJlc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbWVtb3J5IHpvbmU6ICVzIgorbXNnc3RyICJsb2dnZXI6IG5lem5hbm8gcHJlZG5vc3RubyBpbWU6ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIlVwb3JhYmE6IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworIywgZnV6enkKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICJaYSBuYXN0YXZpdGV2IG9ibmG5YW5qYSBDdHJsLUFsdC1EZWwgbW9yYXRlIGJpdGkgc2lzdGVtc2tpIHNrcmJuaWsuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIlRhIHJhemRlbGVrIG5pIHVwb3JhYmVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKK21zZ2lkICJhY3Rpb24gbXVzdCBiZSB0YWtlbiBpbW1lZGlhdGVseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMgorIywgZnV6enkKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJuYXBha2EgcHJpIHphcGlyYW5qdSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNQorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAic3Bvcm/oaWxhIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorIywgZnV6enkKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorIywgZnV6enkKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTcKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGV2ZWwgJyVzJyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICIlczogTmV6bmFuIHVrYXo6ICVzXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiSW1lbmlrICVzIG5lIG9ic3RhamEhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDg4Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUyNgorIywgZnV6enkKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICJrbGljIGdldHRpbWVvZmRheSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAiZnN5bmMgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICIgb2RzdHJhbmxqaXYiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MQorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIlNhbW8gMWsgdmVsaWtpIGJsb2tpL3BvZHJv6GphIHNvIHBvZHBydGkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MworbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQ4Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKK21zZ2lkICJDRC1Ecml2ZSBtYXkgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjcKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzgKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MQorbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgzCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIlcyBuaSBibG/obmEgZW5vdGEgb3ouIGRhdG90ZWthXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgInByaWtsb3AgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAibW91bnQ6IHByaWtsb3BuYSB0b+hrYSAlcyBuZSBvYnN0YWphIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiJXM6IHByZWltZW5vdmFuamUgJXMgbmEgJXMgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MjUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIlVwb3JibGplbmEgYm8gcHJpdnpldGEgdnJlZG5vc3QgJXVcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgxIHN5cy11dGlscy9ydGN3YWtlLmM6Mzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAibG9vcDogbmkgbW9nb+hlIG9kcHJldGkgbmFwcmF2ZSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIG1vdW50cG9pbnQgb3IgZGV2aWNlIHdpdGggdGhlIGdpdmVuIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBuaSBibG/obmEgbmFwcmF2YVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJsb29wOiBuaSBtb2dv6GUgb2RwcmV0aSBuYXByYXZlICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAidW1vdW50OiAlczogbmFwcmF2YSBqZSB6YXBvc2xlbmEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiJXMgamUgdXNwZWxvLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEzCisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJ6YWdvbiBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIwCittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjcKKyMsIGZ1enp5Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJvcGVuIGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkyCittc2dpZCAiIC1pLCAtLWluc2VydC1yYW5nZSAgIGluc2VydCBhIGhvbGUgYXQgcmFuZ2UsIHNoaWZ0aW5nIGV4aXN0aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiICAgIC1DIyBbYWxpIC0tY3lsaW5kZXJzICNdOm5hc3RhdmkguXRldmlsbyBzdGV6IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgcCAgICAgICAgICBQcmVwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSB2IGRhdG90ZWtvIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NgorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1NAorbXNnaWQgInBvc2l4X2ZhbGxvY2F0ZSBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzY4IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNworIywgZnV6enkKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgbmFzdGF2bGphbmphOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg0CisjLCBmdXp6eQorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIlByZXZl6CBhcmd1bWVudG92LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorIywgZnV6enkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgImxvZ2luOiBuaSBwcm9zdGVnYSBwb21uaWxuaWthIHphIGx1cGluc2tpIHNrcmlwdC5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoxMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiVzIHphaHRldmEgYXJndW1lbnRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgImJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXMgICUuNmYgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJOYXBha2EgcHJpIGl6dmFqYW5qdVx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ0CisjLCBmdXp6eQorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUHJpc2lsbmkgcHJlZ2xlZCBkYXRvdGXobmVnYSBzaXN0ZW1hIG5hICVzLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBTcHJlbWVuaSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkzIHN5cy11dGlscy9sc25zLmM6MTA2NiBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiICAgIC1DIyBbYWxpIC0tY3lsaW5kZXJzICNdOm5hc3RhdmkguXRldmlsbyBzdGV6IgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICJrbGljIGlvY3RsKCkgbmkgdXNwZWwgcHJlYnJhdGkg6GFzYSBpeiAlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorIywgZnV6enkKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJPcG96b3JpbG86IGl6YmlyYSBub2xvY2sgbmkgcG9kcHJ0YS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJQcml2emVtYW1vLCBkYSBzdHJvam5hIHVyYSB0ZehlIHYgJXMg6GFzdS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAia3JhamV2bmVtIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiJXM6IE9wb3pvcmlsbzogbmVwcmVwb3puYW5hIHRyZXRqYSB2cnN0aWNhIHYgZGF0b3Rla2kgYWRqdGltZVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlphZG5qYSBwcmlsYWdvZGl0ZXYgZHJzZW5qdSBvcHJhdmxqZW5hICVsZCBzZWt1bmQgcG8gbGV0dSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlphZG5qZSBwcmV2ZXJqYW5qZSBtZXIgamUgYmlsbyBvcHJhdmxqZW5vICVsZCBzZWt1bmQgcG8gbGV0dSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiU3Ryb2puYSB1cmEgdGXoZSB2ICVzIOhhc3VcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICLIYWthbW8gbmEgdGlrdGFrIHVyZS4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAiLi4uZG9iaWxpIHRpa3Rhay5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiTmV2ZWxqYXZuZSB2cmVkbm9zdGkgdiBzdHJvam5pIHVyaTogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiyGFzIHN0cm9qbmUgdXJlOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VuZCBwbyBsZXR1IDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSByZWFkIGZyb20gSGFyZHdhcmUgQ2xvY2s6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKK21zZ3N0ciAiyGFzLCBwcmVicmFuIGl6IHN0cm9qbmUgdXJlOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIlN0cm9qbm8gdXJvIG5hc3RhdmxqYW1vIG5hICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VuZCBwbyBsZXR1IDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyOAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsIDApIHRvIGxvY2sgdGhlIHdhcnAgZnVuY3Rpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheSglbGQuJTA2bGQsICVkKVxuIgorbXNnc3RyICJLbGnoZW0gc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIKK21zZ3N0ciAiS2xp6GVtIHNldHRpbWVvZmRheTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzYKK21zZ2lkICJ0byBzZXQgdGhlIGtlcm5lbCB0aW1lem9uZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKK21zZ2lkICJ0byB3YXJwIFN5c3RlbSB0aW1lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY1NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR0aW1lb2ZkYXkoKSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgIkZha3RvciBkcnNlbmphIG5lIGJvIG5hc3RhdmxqZW4sIGtlciBqZSBzdHJvam5hIHVyYSB2c2Vib3ZhbGEgc21ldGkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiRmFrdG9yIGRyc2VuamEgbmUgYm8gbmFzdGF2bGplbiwga2VyIGphIHphZG5qaSBrYWxpYnJhY2lqc2tpIOhhcyAwLFxuIgorInpnb2RvdmluYSBqZSB6YXRvIHBvuWtvZG92YW5hLiBQb3RyZWJuYSBqZSBwb25vdm5hIGthbGlicmFjaWphLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBpdCBoYXMgYmVlbiBsZXNzIHRoYW4gZm91ciBob3VycyBzaW5jZSB0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiRmFrdG9yIGRyc2VuamEgbmUgYm8gbmFzdGF2bGplbiwgemF0byBrZXIgamUgbWluaWwgbWFuaiBrb3QgZW4gZGFuIG9kIHphZG5qZSBrYWxpYnJhY2lqZS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyJVcmEgamUgZHJzZWxhICUuMWYgc2VrdW5kIHYgemFkbmppaCAlZCBzZWt1bmRhaCwgbmF2a2xqdWIgdGVtdSBkYSBqZSBmYWt0b3IgZHJzZW5qYSAlZiBzZWt1bmQvZGFuLlxuIgorIlByaWxhZ2FqYW0gZmFrdG9yIGRyc2VuamEgemEgJWYgc2VrdW5kL2RhblxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICLIYXMgb2QgemFkbmplIHByaWxhZ29kaXR2ZSBqZSAlZCBzZWt1bmRcbiIKK21zZ3N0clsxXSAiyGFzIG9kIHphZG5qZSBwcmlsYWdvZGl0dmUgamUgJWQgc2VrdW5kXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIHNla3VuZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1cGRhdGUgJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiIgorIkZha3RvciBkcnNlbmphIG5lIGJvIG5hc3RhdmxqZW4sIGtlciBqYSB6YWRuamkga2FsaWJyYWNpanNraSDoYXMgMCxcbiIKKyJ6Z29kb3ZpbmEgamUgemF0byBwb7lrb2RvdmFuYS4gUG90cmVibmEgamUgcG9ub3ZuYSBrYWxpYnJhY2lqYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiIgorIkZha3RvciBkcnNlbmphIG5lIGJvIG5hc3RhdmxqZW4sIGtlciBqYSB6YWRuamkga2FsaWJyYWNpanNraSDoYXMgMCxcbiIKKyJ6Z29kb3ZpbmEgamUgemF0byBwb7lrb2RvdmFuYS4gUG90cmVibmEgamUgcG9ub3ZuYSBrYWxpYnJhY2lqYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiSXNrYW5qZSB1cG9yYWJuZWdhIHVyaW5lZ2Egdm1lc25pa2EgbmkgYmlsbyB1c3BluW5vLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIkRvIHN0cm9qbmUgdXJlIG5pIG1vZ2/oZSBkb3N0b3BhdGkgcG8gem5hbmloIG1ldG9kYWguXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIlVwb3JhYml0ZSAtLWRlYnVnIGl6YmlybywgemEgcG9kcm9ibm9zdGkgbyBpc2thbmp1IG1ldG9kZSBkb3N0b3BhLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGFyZ2V0IGRhdGU6ICAgJWxkXG4iCittc2dzdHIgIiVsZCBpem1lbmphbmloIHN0cmFuaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk3MAorbXNnaWQgIlJUQyByZWFkIHJldHVybmVkIGFuIGludmFsaWQgdmFsdWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiUG90cmVibmEgcHJpbGFnb2RpdGV2IGplIG1hbmq5YSBvZCBlbmUgc2VrdW5kLCB6YXRvIHVyYSBuZSBibyBuYXN0YXZsamVuYS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM1CisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byByZWFkIHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJicmFuamUgc3VwZXJibG9rYSBuaSBtb75ubyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiU2lzdGVtc2tlIHVyZSBzZSBuZSBkYSBuYXN0YXZpdGkuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY2Cittc2dpZCAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgUlRDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBSVEMgZnJvbSB0aGUgc3lzdGVtIHRpbWUiCittc2dzdHIgIiAgIGwgICBpenBpuWkgem5hbmUgZGF0b3Rl6G5lIHNpc3RlbWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjkKK21zZ2lkICIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzIKK21zZ2lkICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBSVEMgZXBvY2ggYWNjb3JkaW5nIHRvIC0tZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc0Cittc2dpZCAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgdGhlIGRyaWZ0ZWQgUlRDIHRpbWUgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIFVUQyIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAgLWEuIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICBEb3ZvbGkgZG9sZ2UgaXpiaXJlLCBraSBzZSB6YehuZWpvIHogZW5pbSAtXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExODYKKyMsIGZ1enp5Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICJTaXN0ZW1za2UgdXJlIHNlIG5lIGRhIG5hc3Rhdml0aS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMjEwCittc2dpZCAidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBoYXMgYmVlbiBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzE3Cittc2dpZCAiLS11cGRhdGUtZHJpZnQgcmVxdWlyZXMgLS1zZXQgb3IgLS1zeXN0b2hjIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyMgorIywgZnV6enkKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiJXM6IC0tbm9hZGpmaWxlIG1vcmF0ZSBwb2RhdGkgc2t1cGFqIHogLS11dGMgYWxpIC0tbG9jYWx0aW1lXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gVGltZTogJWxkLiUwNmxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIlRlc3QgbW9kZTogbm90aGluZyB3YXMgY2hhbmdlZC4iCittc2dzdHIgInN0YXQgaW1lbmlrYSBuaSB1c3BlbFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzkxCisjLCBmdXp6eQorbXNnaWQgImlvcGwoKSBwb3J0IGFjY2VzcyBmYWlsZWQiCittc2dzdHIgImtsaWMgb3BlbigpIHphICVzIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIG9wZW46ICVzXG4iCittc2dzdHIgIiVzIHBvc2t1uWFtIG9ka2xvcGl0aVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIHJ0YyBkZXZpY2UiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIGsgJXMgemEgYnJhbmplIOhhc2EgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICLIYWthbSB2IHphbmtpIG5hIHNwcmVtZW1ibyDoYXNhIGl6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworIywgZnV6enkKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJTcHJlbWVtYmEg6GFzYSBqZSB0cmFqYWxhIHByZWRvbGdvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJrbGljIHNlbGVjdCgpIGsgJXMgemEg6GFrYW5qZSBuYSBwcmVtaWsgdXJlIGplIHRyYWphbCBwcmVkb2xnb1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgImtsaWMgc2VsZWN0KCkgayAlcyB6YSDoYWthbmplIG5hIHByZW1payB1cmUgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIGsgJXMgemEgaXprbG9wIHBvc29kYWJsamFuamEgcHJla2luaXRldiBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBrICVzIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJrbGljIGlvY3RsKCkgayAlcyB6YSBuYXN0YXZpdGV2IOhhc2EgbmkgdXNwZWwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImtsaWMgaW9jdGwoJXMpIGplIGJpbCB1c3BluWVuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKK21zZ2lkICJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImtsaWMgaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGsgJXMgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImtsaWMgaW9jdGwoUlRDX0VQT0NIX1JFQUQpIGsgJXMgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIGsgJXMgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSBrICVzIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTEwIHN5cy11dGlscy9sb3NldHVwLmM6NzE1IHN5cy11dGlscy96cmFtY3RsLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIm1zcWlkIHNwb3Jv6GlsbmUgdnJzdGUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorIlxuIgorInNlbWlkIFBvbGogc2VtYWZvcmpldj0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlbGplbmVnYSBwb21uaWxuaWthIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlLWtleSA8a2V5PiAgcmVtb3ZlIHNlbWFwaG9yZSBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudCBkZWxqZW5lZ2EgcG9tbmlsbmlrYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJtc3FpZCBzcG9yb+hpbG5lIHZyc3RlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKyJcbiIKKyJzZW1pZCBQb2xqIHNlbWFmb3JqZXY9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgInphIGtsanXoIGRvc3RvcCB6YW5pa2FuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgInphIGlkIGplIGRvc3RvcCB6YXZybmplbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJuZXZlbGphdmVuIGtsanXoIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAia2xqdeggamUgvmUgYmlsIG9kc3RyYW5qZW4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiaWQgamUgvmUgb2RzdHJhbmplbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3IHN5cy11dGlscy9pcGNybS5jOjIzMQorIywgZnV6enkKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICJ2aXIvaSBzbyB6YnJpc2FuaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIiVzOiBuZWRvdm9samVuIGtsanXoICglcylcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiemEgZGVsamVuIHBvbW5pbG5payBqZWRybyBuaSBuYXN0YXZsamVub1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICJ6YSBzZW1hZm9yamUgamVkcm8gbmkgcHJhdmlsbm8gbmFzdGF2bGplbm9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgInphIHNwb3Jv6GlsbmUgdnJzdGUgamVkcm8gbmkgcHJhdmlsbm8gbmFzdGF2bGplbm9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTcgc3lzLXV0aWxzL2xzaXBjLmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiVzIHBvbnVqYSBpbmZvcm1hY2lqZSBvIGlwYyBwb3Nsb3BqaWggemEga2F0ZXJlIGltYXRlIGJyYWxuaSBkb3N0b3BcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MAorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IHBvZHJvYm5vc3RpIG8gdmlydSBwcmVwb3puYW5lbSBwbyBpZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICJuZXZhcm5lIGl6YmlyZToiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCisjLCBmdXp6eQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcyCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAibmFqLiBza3Vwbm8gZGVsamVuZWdhIHBvbS4gKHN0cmFuaSkgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gT21laml0dmUgZGVsamVuZWdhIHBvbW5pbG5pa2EgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjEwCisjLCBmdXp6eQorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE4CisjLCBmdXp6eQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJuYWouIHNrdXBubyBkZWxqZW5lZ2EgcG9tLiAoc3RyYW5pKSA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyMAorIywgZnV6enkKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgInNsYWJhIHZlbGlrb3N0IGlub2RhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiemEgZGVsamVuIHBvbW5pbG5payBqZWRybyBuaSBuYXN0YXZsamVub1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBTdGFuamUgZGVsamVuZWdhIHBvbW5pbG5pa2EgLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBzdHZhcm5pa2kvbGFzdG5pa2kgZGVsamVuZWdhIHBvbW5pbG5puWtlZ2Egb2RzZWthIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAiZG92b2xqZW5qYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gRGVsamVubyBwb21uaWxuablraSBwcmlwZXRpL29kcGV0aS9zcHJlbWVuamVuaSDoYXNpIC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICJsYXN0bmlrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJwcmlwZXRvIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImRldGFjaGVkIgorbXNnc3RyICJvZHBldG8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAic3ByZW1lbmplbm8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFN0dmFyaXRlbGogZGVsamVuZWdhIHBvbW5pbG5pa2EgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBTZWdtZW50aSBkZWxqZW5lZ2EgcG9tbmlsbmlrYSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAia2V5IgorbXNnc3RyICJrbGp16CIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJhanRvdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIm5hdHRjaCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgInN0YW5qZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiTmVuYXN0YXZsamVubyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6OTg3IHN5cy11dGlscy9sc2lwYy5jOjk5MworbXNnaWQgImRlc3QiCittc2dzdHIgInBvbm9yIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAiemFrbGVuamVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gT21laml0dmUgc2VtYWZvcmpldiAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibmFqLiC5dC4gcG9saiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm5hai4guXQuIHNlbWFmb3JqZXYgbmEgcG9samUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm5hai4gc2lzdGVtc2tpaCBzZW1hZm9yamV2ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIm5hai4guXQuIG9wZXJhY2lqIG5hIGtsaWMgc2Vtb3AgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgIm5hai4gdnJlZG5vc3Qgc2VtYWZvcmphID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgInphIHNlbWFmb3JqZSBqZWRybyBuaSBwcmF2aWxubyBuYXN0YXZsamVub1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFN0YW5qZSBzZW1hZm9yamEgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgInVwb3JhYmxqZW5hIHBvbGphID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICJkb2RlbGplbmkgc2VtYWZvcmppID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gc3R2YXJuaWtpL2xhc3RuaWtpIHBvbGogc2VtYWZvcmpldiAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBPcGVyYXRpb24vQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gyGFzaSBvcGVyYWNpai9zcHJlbWVtYiBkZWxqZW5lZ2EgcG9tbmlsbmlrYSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAiemFkbmphLW9wIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAiemFkbmphIHNwcmVtZW1iYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBTZW1hZm9ybmEgcG9samEgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICK5dHNlbSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICKpdGV2aWxvIGdsYXYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gU3Bvcm/oaWxhOiBPbWVqaXR2ZSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJuYWouIHNpc3RlbXNraWggdnJzdCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCisjLCBmdXp6eQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgIm5hai4gdmVsaWtvc3Qgc3Bvcm/oaWxhIChCKSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDczCisjLCBmdXp6eQorbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIm5hai4gcHJpdnpldGEgdmVsaWtvc3QgdnJzdGUgKEIpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICJ6YSBzcG9yb+hpbG5lIHZyc3RlIGplZHJvIG5pIHByYXZpbG5vIG5hc3RhdmxqZW5vXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0gU3Bvcm/oaWxhOiBTdGFuamUgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiZG9kZWxqZW5lIHZyc3RlID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAidXBvcmFibGplbmUgZ2xhdmUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OAorIywgZnV6enkKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJwb3JhYmxqZW4gcHJvc3RvciA9ICVkIGJhanRvdlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorIywgZnV6enkKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiYmFqdG92IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFNwb3Jv6GlsbmEgdnJzdGE6IHN0dmFybmlraS9sYXN0bmlraSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJpZHNwb3J2cnN0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIMhhc2kgb2RkYWplL3NwcmVqZW1hL3NwcmVtZW1iZSBzcG9yb+hpbG5paCB2cnN0IC0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICJwb7lsamkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAic3ByZWptaSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgInNwcmVtZW5pIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFBJRC1pIHNwb3Jv6GlsbmloIHZyc3QgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIFNwb3Jv6GlsbmUgdnJzdGUgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgInBvcmFibGplbmktYmFqdGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgInNwb3Jv6GlsYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZWdtZW50IGRlbGplbmVnYSBwb21uaWxuaWthIHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JWRcdGdpZD0lZFx0Y3VpZD0lZFx0Y2dpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJuYehpbj0lI29cdGRvc3RvcF9kb3ZvbGplbmphPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIywgZnV6enkKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCisjLCBmdXp6eQorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAiYmFqdG92IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJiYWp0aT0lbGRcdGxwaWQ9JWRcdGNwaWQ9JWRcdG5hdHRjaD0lbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X+hhcz0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXRf6GFzPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk5IHN5cy11dGlscy9pcGNzLmM6NjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIuhhc19zcHJlbWVtYmU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIm1zcWlkIHNwb3Jv6GlsbmUgdnJzdGUgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0lZFx0Z2lkPSVkXHRjdWlkPSVkXHRjZ2lkPSVkXHRtb2RlPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorIywgZnV6enkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICJiYWp0b3YiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCisjLCBmdXp6eQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgImJhanRvdiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIm9kZGFqbmlf6GFzPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInNwcmVqZW1uaV/oYXM9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgUG9saiBzZW1hZm9yamV2PSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JWRcdCBnaWQ9JWRcdCBjdWlkPSVkXHQgY2dpZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJuYehpbj0lI28sIGRvc3RvcF9kb3ZvbGplbmphPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAiuXRzZW0gPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAiuXRzZW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgInZyZWRub3N0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiYmFqdG92IgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICJiYWp0b3YiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDYKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBtZXNzYWdlcyB0byBzdGRlcnJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTUKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTYKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTcKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyNgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8aWZsYWc+IG5hbWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdm5pIGlkOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBuaSBwb3NlYm5hIGJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAibmFtZWk6IHRyZW51dG5lZ2EgaW1lbmlrYSBuaSBtb2dv6GUgZG9iaXRpIC0gJXNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJJc2thbmplIG5hIGRpc2t1IG5pIG1vZ2/oZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAicG9ub3ZubyBwcmViZXJpIHRhYmVsbyByYXpkZWxrb3YiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIm1vdW50OiAlczogbmV6bmFuYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2CisjLCBmdXp6eQorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4CisjLCBmdXp6eQorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgInNsYWJhIHZlbGlrb3N0IGlub2RhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAKK21zZ2lkICJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODEKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCBzZWt0b3JqYSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBvZG1payAlZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDEgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBvbWVqaXRldl92ZWxpa29zdGkgJWxsZCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwguWlmcmlyYW5qZSAlcyAodGlwICVkKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwMgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAgLVQuIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHphIHJhemxp6GljbyBnZXRvcHQoMSlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6ICVzIG5pIGxwIG5hcHJhdmEuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIm1vdW50OiBuYXN0YXZpdGV2IGxvb3AgbmFwcmF2ZSBuaSB1c3BlbGFcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiaXptZW5qYWxuZSBuYXByYXZlIG5pIG1vZ2/oZSBwcmV2aXRpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiB6YSAlcyBuaSBtb2dv6GUgbmFqdGkgbmFwcmF2ZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJwb25vdm5vIHByZWJlcmkgdGFiZWxvIHJhemRlbGtvdiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxvZ2ljYWwgYmxvY2sgc2l6ZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg1CisjLCBmdXp6eQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAibW91bnQ6IGxvb3AgbmFwcmF2YSBqZSBwb2RhbmEgZHZha3JhdCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1CisjLCBmdXp6eQorbXNnaWQgIm5vbmUiCittc2dzdHIgIkJyZXoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NgorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworbXNnaWQgImxvZ2ljYWwgTlVNQSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTgKK21zZ2lkICJsb2dpY2FsIGJvb2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3Qgc2VrdG9yamEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDIKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6Mzk5CisjLCBmdXp6eQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKyJcbiIKKyJOYXBha2EgcHJpIHphcGlyYW5qdSBkYXRvdGVrZVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJTaWduYWxuZWdhIHVwcmF2bGphbG5pa2EgbmkgbW9nb+hlIG5hc3Rhdml0aSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTMwNworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgImlza2FuamUgbmkgdXNwZWxvIHYgd3JpdGVfdGFibGVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworIywgZnV6enkKK21zZ2lkICJOIgorbXNnc3RyICJOQyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczNworbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ3Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjcKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAzCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorIywgZnV6enkKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICJuZnMga2FuYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjQKK21zZ2lkICJWZW5kb3IgSUQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKKyMsIGZ1enp5Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiqXRldmlsa2EgcmF6ZGVsa2EiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKKyMsIGZ1enp5Cittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIk5ldmVsamF2bm8gdXBvcmFibmm5a28gaW1lIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzYKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorIywgZnV6enkKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIlN0YXJvIHN0YW5qZTpcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTYKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NworbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgyCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJGaXpp6G5lIHN0ZXplIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiRml6aehuZSBzdGV6ZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCBzZWt0b3JqYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OAorIywgZnV6enkKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIk96bmFrZSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworIywgZnV6enkKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTAKK21zZ2lkICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE0CisjLCBmdXp6eQorbXNnaWQgIiAteSwgLS1waHlzaWNhbCAgICAgICAgICBwcmludCBwaHlzaWNhbCBpbnN0ZWFkIG9mIGxvZ2ljYWwgSURzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIk5ldmVsamF2bm8gdXBvcmFibmm5a28gaW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiS2V5IgorbXNnc3RyICJrbGp16CIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIklEIgorbXNnc3RyICJVVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lcidzIHVzZXJuYW1lIG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiT3duZXIiCittc2dzdHIgImxhc3RuaWsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorIywgZnV6enkKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAicmF6bGnoaWNhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIlByaW1hcmVuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAidXBvcmFibmlrIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJOZXZlbGphdm5vIHVwb3JhYm5puWtvIGltZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIHN1cm92IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKKyMsIGZ1enp5Cittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiemFkbmphIHNwcmVtZW1iYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIk96bmHoaSwgZGEgamUgdiByYWJpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICKpdGV2aWxvIGdsYXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAic3Bvcm/oaWxhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJ6YSBwcnZvIHZyc3RpY28iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAicHJlYmVyaSB2ZWxpa29zdCBibG9rYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorIywgZnV6enkKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgInN0YW5qZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICJwcmlwZXRvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIm9kcGV0byIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAibmkgdWthemE/XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJ1cG9yYWJuaWsiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiqXRldmlsbyBzZWt0b3JqZXYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmVzIgorbXNnc3RyICIiCisiXG4iCisic2VtaWQgUG9saiBzZW1hZm9yamV2PSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIk5ldmVsamF2bm8gdXBvcmFibmm5a28gaW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIk5ldmVsamF2bm8gdXBvcmFibmm5a28gaW1lIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgImJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIlZuZXNpdGUgdnJzdG8gZGF0b3Rl6G5lZ2Egc2lzdGVtYTogIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIgorbXNnc3RyICJVcG9yYWJhOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiLWkgaWQgWy1zIC1xIC1tXSA6IHBvZHJvYm5vc3RpIG8gdmlydSBwcmVwb3puYW5lbSBwbyBpZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiR2VuZXJpYyBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiJWQgcmF6ZGVsa292OlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIlJhenBvbG++bGppdmkgdWthemk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICJSYXpwb2xvvmxqaXZpIHVrYXppOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICKpdGV2aWxvIHNla3RvcmpldiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEzCisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICKpdGV2aWxvIHNla3RvcmpldiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAibmFqLiC5dC4gc2VtYWZvcmpldiBuYSBwb2xqZSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorIywgZnV6enkKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNgorIywgZnV6enkKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJuYWouIHZyZWRub3N0IHNlbWFmb3JqYSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3MworIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIql0ZXZpbG8gZ2xhdiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAibmFqLiB2ZWxpa29zdCBzcG9yb+hpbGEgKEIpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc1CisjLCBmdXp6eQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAibmFqLiBwcml2emV0YSB2ZWxpa29zdCB2cnN0ZSAoQikgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTkwIHN5cy11dGlscy9sc2lwYy5jOjEwMTUKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKKyMsIGZ1enp5Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIKK21zZ3N0ciAiIgorIlxuIgorIlNlZ21lbnQgZGVsamVuZWdhIHBvbW5pbG5pa2Egc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICIiCisiXG4iCisiU2VnbWVudCBkZWxqZW5lZ2EgcG9tbmlsbmlrYSBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJuYWouIHZlbGlrb3N0IHNwb3Jv6GlsYSAoQikgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1CisjLCBmdXp6eQorbXNnaWQgIk1pbiBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJuYWouIHZlbGlrb3N0IHNwb3Jv6GlsYSAoQikgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMTQ1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiVzOiAtLWFkanVzdCBpbiAtLW5vYWRqZmlsZSBpemJpcmkgc2UgbWVkc2Vib2pubyBpemtsanXodWpldGEuIFBvZGFsaSBzdGUgb2JlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjgKK21zZ2lkICJzdGFydCBhbmQgZW5kIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJzdGF0IGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMQorIywgZnV6enkKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICIgb2RzdHJhbmxqaXYiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICJ6bWFuamthbG8gamUgcG9tbmlsbmlrYSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInZhbGlkIHpvbmVzIGZvciB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJzdGF0IGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIm9ubGluZSIKK21zZ3N0ciAiLCBwb3ZlemFubyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiwgcG92ZXphbm8iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIyIHN5cy11dGlscy9sc21lbS5jOjMyOQorIywgZnV6enkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgInByZWJlcmkgdmVsaWtvc3QgYmxva2EiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgInptYW5qa2FsbyBqZSBwb21uaWxuaWthIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiem1hbmprYWxvIGplIHBvbW5pbG5pa2EiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICIlczogdXBvcmFibmlrIFwiJXNcIiBuZSBvYnN0amEuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ5OQorbXNnaWQgIkxpc3QgdGhlIHJhbmdlcyBvZiBhdmFpbGFibGUgbWVtb3J5IHdpdGggdGhlaXIgb25saW5lIHN0YXR1cy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIGxpc3QgZWFjaCBpbmRpdmlkdWFsIG1lbW9yeSBibG9ja1xuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiAgLW8sIC0tb3B0aW9ucz1uaXppemJpciAgICAgICBLcmF0a2UgaXpiaXJlIHphIHByZXBvem5hdm9cbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiAtLWFkanVzdCBpbiAtLW5vYWRqZmlsZSBpemJpcmkgc2UgbWVkc2Vib2pubyBpemtsanXodWpldGEuIFBvZGFsaSBzdGUgb2JlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibmFqLiC5dC4gb2RzZWtvdiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA4Cittc2dpZCAibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDkKK21zZ2lkICJuc2ZzIG1vdW50cG9pbnQgKHVzdWFsbHkgdXNlZCBuZXR3b3JrIHN1YnN5c3RlbSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk4CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIlNpc3RlbXNrZSB1cmUgc2UgbmUgZGEgbmFzdGF2aXRpLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwNQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOAorIywgZnV6enkKK21zZ2lkICIgLVcsIC0tbm93cmFwICAgICAgICAgICBkb24ndCB1c2UgbXVsdGktbGluZSByZXByZXNlbnRhdGlvblxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJuZXpuYW4gdmlyOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjQKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIlczogLS1hZGp1c3QgaW4gLS1ub2FkamZpbGUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY1IHN5cy11dGlscy91bW91bnQuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIm1vdW50OiB0byBsYWhrbyBpenZlZGUgc2FtbyBzaXN0ZW1za2kgc2tyYm5payIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njggc3lzLXV0aWxzL3Vtb3VudC5jOjEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAibW91bnQ6IHRvIGxhaGtvIGl6dmVkZSBzYW1vIHNpc3RlbXNraSBza3JibmlrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIm1vdW50OiBzYW1vIHNpc3RlbXNraSBza3JibmlrIGxhaGtvIHByaWtsb3BpICVzIG5hICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAibW91bnQ6IHRvIGxhaGtvIGl6dmVkZSBzYW1vIHNpc3RlbXNraSBza3JibmlrIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBpeiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MSBzeXMtdXRpbHMvdW1vdW50LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIm1vdW50OiAlcyBqZSC+ZSBwcmlrbG9wbGplbiB2ICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAidW1vdW50OiAlczogbmV1c3BluW5vIGlza2FuamUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorIywgZnV6enkKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlByaXNpbG5pIHByZWdsZWQgZGF0b3Rl6G5lZ2Egc2lzdGVtYSBuYSAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAgc2hvdyBhbHNvIGZpbGVzeXN0ZW0gbGFiZWxzXG4iCittc2dzdHIgIiAgWyAtZmlsZSBpemhvZG5hX2RhdCBdXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIm1vdW50OiBwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworIywgZnV6enkKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJOYXZlZGxpIHN0ZSB2Zeggc3Rleiwga290IGppaCBqZSBuYSBkaXNrdSIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgamUgcHJpa2xvcGxqZW4uXHQgIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICBlbnRlciBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorIywgZnV6enkKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgInphcGlzIGlub2RvdiBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM2MQorIywgZnV6enkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1hbGwiCittc2dzdHIgIk5hdmVkbGkgc3RlIHZl6CBzdGV6LCBrb3QgamloIGplIG5hIGRpc2t1IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICJkb2RlbGplbmkgc2VtYWZvcmppID0gJWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiTmFwYWthIHByaSBzcHJlbWluamFuanUgbmHoaW5hICVzOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAicHJpa2xvcCBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorIywgZnV6enkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozOAorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiUHJpc2lsbmkgcHJlZ2xlZCBkYXRvdGXobmVnYSBzaXN0ZW1hIG5hICVzLlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKKyMsIGZ1enp5Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAiRE9TIHNla3VuZGFybmkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKKyMsIGZ1enp5Cittc2dpZCAibWF4IGZpbGUgc2l6ZSIKK21zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAiJWxkIGJsb2tvdlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCittc2dpZCAibWF4IGJ5dGVzIGluIFBPU0lYIG1xdWV1ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworbXNnaWQgIm1heCBuaWNlIHByaW8gYWxsb3dlZCB0byByYWlzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibmFqLiC5dC4gb2RzZWtvdiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm5hai4guXQuIG9kc2Vrb3YgPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIiVzOiBwcm9jZXNhIG5pIG1vZ2/oZSBuYWp0aSBcIiVzXCJcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3CisjLCBmdXp6eQorbXNnaWQgIm1heCByZWFsLXRpbWUgcHJpb3JpdHkiCittc2dzdHIgImRvYmlwcmlvcml0ZXRvIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibmFqLiC5dC4gb2RzZWtvdiA9ICVsdVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0CisjLCBmdXp6eQorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJibG/obmEgbmFwcmF2YSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAidW5pdHMiCittc2dzdHIgIkVub3RlIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXAgUElEXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY3Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVkIHJhemRlbGtvdjpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzAKK21zZ2lkICIiCisiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAibmV2YXJuZSBpemJpcmU6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OQorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgc29mdCBsaW1pdCAlcyBjYW5ub3QgZXhjZWVkIHRoZSBoYXJkIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICJOZXVzcGW5bm8gemFwaXNvdmFuamUgcmF6ZGVsa2EgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg0Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXM6IC0tYWRqdXN0IGluIC0tbm9hZGpmaWxlIGl6YmlyaSBzZSBtZWRzZWJvam5vIGl6a2xqdeh1amV0YS4gUG9kYWxpIHN0ZSBvYmUuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgUHJ2aSAgICAgICAgWmFkbmppXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgYy1mb3JtYXQKK21zZ2lkICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAoZGVmYXVsdDogIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTYKK21zZ2lkICIgLU0sIC0tbXVsdGlwbGllciA8bXVsdD4gICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAibmFwYWthIHByaSBwaXNhbmp1ICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcwCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlZ6b3Lobmlfa29yYWs6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiCittc2dzdHIgIiVzOiAlcyglaSk6IG5hcGHobmEgcHJlc2xpa292YWxuYShtYXApIHZyc3RpY2FcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIiVzOiBcIl9zdGV4dFwiIG5pIG1vZ2/oZSBuYWp0aSB2ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NQorIywgZnV6enkKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIiVzOiBwcm9maWwgbmFzbG92YSBqZSBpenZlbiBkb21ldGEuIE5hcGHobmEgcHJlc2xpay4obWFwKSBkYXQuP1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDMKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAic2t1cG5vIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiVm5lc2l0ZSC5dGV2aWxvIHN0ZXo6ICIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQ6IHN0YXJhIHByaW9yaXRldGEgJWQsIG5vdmEgcHJpb3JpdGV0YSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiJXM6IE5lem5hbiB1a2F6OiAlc1xuIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgIm5lcHJhdmlsbmEgdnJlZG5vc3QgemEgcHJla29yYehpdGV2IOhhc2E6ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAibW91bnQ6ICVzOiBuZXpuYW5hIG5hcHJhdmEiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgIkRpc2tvdm5pIFBvZ29uOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgImJsb+huYSBuYXByYXZhIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJzdGF0IGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICJEaXNrb3ZuaSBQb2dvbjogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICJ6YWtsZW5qZW4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgInpha2xlbmplbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIkRpc2tvdm5pIFBvZ29uOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorbXNnaWQgIiBoZWxwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAiRGlza292bmkgUG9nb246ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiRGlza292bmkgUG9nb246ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiRGlza292bmkgUG9nb246ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE1Cittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJrbGljIGdldHRpbWVvZmRheSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgImRvZGVsamVuaSBzZW1hZm9yamkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE4OQorIywgZnV6enkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorIlxuIgorIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MjM3Cittc2dpZCAic2V0IHJ0YyB3YWtlIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkaW5nIHN0ZGluIgorbXNnc3RyICJzbGFiYSB2ZWxpa29zdCBpbm9kYSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJkb2RlbGplbmkgc2VtYWZvcmppID0gJWRcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgImtsaWMgZ2V0dGltZW9mZGF5IG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIk5pIG1vZ2/oZSBvZHByZXRpICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICIgJXM6IG5lcHJlcG96bmFuIHRpcCB0YWJlbGUgcmF6ZGVsa292IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorIywgZnV6enkKK21zZ2lkICJVc2luZyBVVEMgdGltZS5cbiIKK21zZ3N0ciAiVXBvcmFibGphbSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzAKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiVXBvcmFibGphbSAlcy5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzMKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzOiAlcyBuaSBscCBuYXByYXZhLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICJTcG9yb+hpbG8gaXogJXNAJXMgbmEgJXMgcHJpICVzIC4uLiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIlNwb3Jv6GlsbyBpeiAlc0AlcyBuYSAlcyBwcmkgJXMgLi4uIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjA1CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb247IHJlYWRpbmcgcnRjXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTAKKyMsIGZ1enp5Cittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjIyCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogZGlzYWJsZTsgZGlzYWJsaW5nIGFsYXJtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBzaG93OyBwcmludGluZyBhbGFybSBpbmZvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0NworbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIgJXM6IG5lcHJlcG96bmFuIHRpcCB0YWJlbGUgcmF6ZGVsa292IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICJPZG1vcmEgemEgJXMgbmkgbW9nb+hlIGRvYml0aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKKyMsIGZ1enp5Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIlByZXZl6CBhcmd1bWVudG92LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzYwCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIm5lcHJlcG96bmFuIHZob2Q6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4CisjLCBmdXp6eQorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIlByZXZl6CBhcmd1bWVudG92LlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiSXp2YWphbW8gdWtheiBkYXRlOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjExNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMworbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNAorbXNnaWQgIiAtLWFtYmllbnQtY2FwcyA8Y2FwcywuLi4+ICAgc2V0IGFtYmllbnQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjUKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNgorbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjcKKyMsIGZ1enp5Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorIywgZnV6enkKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMAorIywgZnV6enkKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMworIywgZnV6enkKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM1Cittc2dpZCAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbml0aWFsaXplIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzkKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gICAgIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxNDQKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAiTmV2ZWxqYXZuYSC5dGV2aWxrYSByYXpkZWxrYSB6YSB0aXAgYCVjJ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiQnJleiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiVnJzdGljYSBqZSBwcmVkb2xnYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIltub25lXSIKK21zZ3N0ciAiQnJleiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFtYmllbnQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIm5pIHVrYXphP1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MDAKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MworIywgZnV6enkKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorIywgZnV6enkKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiSW1lbmlrICVzIG5lIG9ic3RhamEhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAibmVyYXpwb3puYXZuYSBvYmxpa2EgLSB1cG9yYWJsamFtIHNla3RvcmplXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTY1Cittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTcyCisjLCBmdXp6eQorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiJyVjJyBuaSBkb3ZvbGplbm8uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg1Cittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5CisjLCBmdXp6eQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgIm5lcHJlcG96bmFuIHZob2Q6ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjA5Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NQorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkwCittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5NgorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODMyCittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM4Cittc2dpZCAiZHVwbGljYXRlIC0taW5pdC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1OQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NjUKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzcKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg4MworbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODk5Cittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTE5Cittc2dpZCAiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTMyCittc2dpZCAiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2NQorIywgZnV6enkKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiT2RwaXJhbmplICVzIG5pIHVzcGVsbyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzMKKyMsIGZ1enp5Cittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNworbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiAgdCAgICAgICAgICBTcHJlbWVuaSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJmb3JrIgorbXNnc3RyICJ2ZWppdGV2OiAlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJtb3VudDogcHJpa2xvcG5hIHRv6GthICVzIG5lIG9ic3RhamEiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR1aWQoKSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAiJXMgbmEgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIk5pc3RlIHNpc3RlbXNraSBza3JibmlrLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBzd2FwcyBmcm9tIC9wcm9jL3N3YXBzXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzQKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2CisjLCBmdXp6eQorbXNnaWQgImRldmljZSBmaWxlIG9yIHBhcnRpdGlvbiBwYXRoIgorbXNnc3RyICIgICBkICAgemJyablpIHJhemRlbGVrIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJzdGF0IGltZW5pa2EgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAic3RhdCBpbWVuaWthIG5pIHVzcGVsXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorIywgZnV6enkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgIk96bmHoaSwgZGEgamUgdiByYWJpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgIm5hc3Rhdmlwcmlvcml0ZXRvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAibmkgb3puYWtlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiT2RwaXJhbmplICVzIG5pIHVzcGVsbyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IGRhdC4gJXMgbmUgYm8gdXBvuXRldmFuYSB6YXJhZGkgbHVrZW5qLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgIiVzIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogbmV6bmFuYSBtb75ub3N0IFwiLSVjXCJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIm5hcGFrYSBwcmkgaXNrYW5qdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICJ6YXBpcyBpbm9kb3YgbmkgdXNwZWwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiICAgIC1sIFthbGkgLS1saXN0XTogICAgIGl6cGm5aSByYXpkZWxrZSB6YSB2c2FrbyBuYXByYXZvIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTYKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiVzOiB6YSAlcyBuaSBtb2dv6GUgbmFqdGkgbmFwcmF2ZVxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2OAorIywgZnV6enkKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICJrb3JlbnNraSBpbm9kIG5pIGltZW5payIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIiVzIHBvc2t1uWFtIG9ka2xvcGl0aVxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJuYW1laTogdHJlbnV0bmVnYSBpbWVuaWthIG5pIG1vZ2/oZSBkb2JpdGkgLSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA5Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAxCittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEwCittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzOiAlcyBuaSBscCBuYXByYXZhLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJuYXBha2EgcHJpIExQR0VUSVJRIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMgc3RhbmplIGplICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCB6YXBvc2xlbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHByaXByYXZsamVuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIHBhcGlyamEgamUgem1hbmprYWxvIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCBwb3ZlemFubyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsIG5hcGFrYSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorIywgZnV6enkKK21zZ2lkICJpb2N0bCBmYWlsZWQiCittc2dzdHIgImZzeW5jIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzA4Cittc2dpZCAiTFBHRVRJUlEgZXJyb3IiCittc2dzdHIgIm5hcGFrYSBwcmkgTFBHRVRJUlEiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgSVJRICVkXG4iCittc2dzdHIgIiVzIHVwb3JhYmxqYSBJUlEgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIHVwb3JhYmxqYSBnbGFzb3ZhbmplXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorIywgZnV6enkKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bm1vdW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OQorbXNnaWQgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgdW5tb3VudCBhbGwgbW91bnRwb2ludHMgZm9yIHRoZSBnaXZlbiBkZXZpY2UgaW4gdGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk4Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OQorbXNnaWQgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiICAgbCAgIGl6cGm5aSB6bmFuZSBkYXRvdGXobmUgc2lzdGVtZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGplIHByaWtsb3BsamVuLlx0ICIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICJ1bW91bnQ6ICVzOiBuZXVzcGW5bm8gaXNrYW5qZSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogcHJpa2xvcCBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJtb3VudDogcHJpa2xvcCBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiTmV1c3BluW5vIHphcGlzb3ZhbmplIHJhemRlbGthIG5hICVzXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMTAgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAidW1vdW50OiAlczogbmV1c3BluW5vIGlza2FuamUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiUHJpc2lsbmkgcHJlZ2xlZCBkYXRvdGXobmVnYSBzaXN0ZW1hIG5hICVzLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlczogcHJlaW1lbm92YW5qZSAlcyBuYSAlcyBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKKyMsIGZ1enp5Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYzCittc2dpZCAiICAgICAtLWtpbGwtY2hpbGRbPTxzaWduYW1lPl0gIHdoZW4gZHlpbmcsIGtpbGwgdGhlIGZvcmtlZCBjaGlsZCAoaW1wbGllcyAtLWZvcmspOyBkZWZhdWx0cyB0byBTSUdLSUxMXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjQKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAia2xpYyBzZXR1aWQoKSBuaSB1c3BlbCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzOiAtLWFkanVzdCBpbiAtLW5vYWRqZmlsZSBpemJpcmkgc2UgbWVkc2Vib2pubyBpemtsanXodWpldGEuIFBvZGFsaSBzdGUgb2JlLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc5Cittc2dpZCAiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorIywgZnV6enkKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiUHJpamF2YSBqZSBwb3Rla2xhIHBvICVkIHNla3VuZGFoLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIlByaWphdmEgamUgcG90ZWtsYSBwbyAlZCBzZWt1bmRhaC5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorIywgZnV6enkKK21zZ2lkICJmbGFnIGRlc2NyaXB0aW9uIgorbXNnc3RyICJibG/obmEgbmFwcmF2YSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJzdGFuamUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMworIywgZnV6enkKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICJzdGFuamEgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogJXM6IG5lem5hbmEgbmFwcmF2YSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICIlczogbmV6bmFuIGFyZ3VtZW50OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxNzgKK21zZ2lkICJTaG93IHRoZSBzdGF0dXMgb2YgdGhlIGhhcmR3YXJlIHdhdGNoZG9nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAibG9vcDogbmkgbW9nb+hlIG9kcHJldGkgbmFwcmF2ZSAlczogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBmbGFncyAweCV4XG4iCittc2dzdHIgIiVzOiBuZXpuYW4gc2lnbmFsICVzXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMCBzeXMtdXRpbHMvd2RjdGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzM0IHN5cy11dGlscy93ZGN0bC5jOjQwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIml6bWVuamFsbmUgbmFwcmF2ZSBuaSBtb2dv6GUgcHJldml0aSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJPZG1vcmEgemEgJXMgbmkgbW9nb+hlIGRvYml0aTogJXNcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIshhcyBvZCB6YWRuamUgcHJpbGFnb2RpdHZlIGplICVkIHNla3VuZFxuIgorbXNnc3RyWzFdICLIYXMgb2QgemFkbmplIHByaWxhZ29kaXR2ZSBqZSAlZCBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiaXNrYW5qZSBuaSB1c3BlbG8gdiB3cml0ZV90YWJsZXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiVzICAlLjZmIHNla3VuZFxuIgorbXNnc3RyWzFdICIlcyAgJS42ZiBzZWt1bmRcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY2Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAi6GFzIHNlIGplIGl6dGVrZWwiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiTmFwcmF2YSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA2Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOAorbXNnaWQgInZlcnNpb24iCittc2dzdHIgInJhemxp6GljYSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorIywgZnV6enkKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJtb3VudDogJXM6IG5lem5hbmEgbmFwcmF2YSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICJVcG9yYWJhOiBta2ZzIFstVl0gWy10IHRpcCBkYXQuIHNpc3RlbWFdIFtpemJpcmUgZGF0LiBzaXN0Ll0gbmFwcmF2YSBbdmVsaWtvc3RdXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MQorbXNnaWQgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NHxsejRoY3xkZWZsYXRlfDg0MiAgIGNvbXByZXNzaW9uIGFsZ29yaXRobSB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiICAtbywgLS1vcHRpb25zPW5peml6YmlyICAgICAgIEtyYXRrZSBpemJpcmUgemEgcHJlcG96bmF2b1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDcKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgICAgLVMjIFthbGkgLS1zZWN0b3JzICNdOiBuYXN0YXZpILl0ZXZpbG8gc2VrdG9yamV2IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgIiVzOiAtLWFkanVzdCBpbiAtLW5vYWRqZmlsZSBpemJpcmkgc2UgbWVkc2Vib2pubyBpemtsanXodWpldGEuIFBvZGFsaSBzdGUgb2JlLlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBuZSBtb3JlIGl6dmVzdGkgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIk5hcGFrYSBwcmkgc3ByZW1pbmphbmp1IG5h6GluYSAlczogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBwcm9jZXNhIG5pIG1vZ2/oZSBuYWp0aSBcIiVzXCJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczogbmUgbW9yZSBpenZlc3RpICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NzQgdGVybS11dGlscy9hZ2V0dHkuYzo5MDEgdGVybS11dGlscy9hZ2V0dHkuYzoxNDE5CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MzcgdGVybS11dGlscy9hZ2V0dHkuYzoxNDc0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ4NAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNTI2IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5MyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIgorbXNnc3RyICIlcyBpeiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICJuZXByYXZpbG5hIGhpdHJvc3Q6ICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgInByZXZl6CByYXpsaehuaWggaGl0cm9zdGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTkgdGVybS11dGlscy9hZ2V0dHkuYzoxMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmkgbW9nb+hlIG9kcHJldGkga290IHN0YW5kYXJkbmkgdmhvZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzOAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiBuaSB6bmFrb3ZuYSBuYXByYXZhIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAia29yZW5za2kgaW5vZCBuaSBpbWVuaWsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczogbmkgbW9nb+hlIG9kcHJldGkga290IHN0YW5kYXJkbmkgdmhvZDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgInZlaml0ZXYgbmkgdXNwZWxhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiBuaSBvZHBydG8gemEgYnJhbmplL3Bpc2FuamUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiJXM6IHByb2Nlc2EgbmkgbW9nb+hlIG5hanRpIFwiJXNcIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IG5hcGFrYSBwcmkgcHJldmFyaTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIm5pIG1vZ2/oZSBkb2JpdGkgdmVsaWtvc3RpICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjUgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIHRlcm1pbmFsIGF0dHJpYnV0ZXMgZmFpbGVkOiAlbSIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIkRhdG90ZWtlICwlc2AgbmkgbW9nb+hlIG9kcHJldGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICJrbGljIGlvY3RsKCkgbmkgdXNwZWwgcHJlYnJhdGkg6GFzYSBpeiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgInZyc3RhOiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogYmVyaTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IHZob2QgamUgcHJlcGxhdmxqZW4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAibmkgbW9nb+hlIGRvYml0aSB2ZWxpa29zdGkgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzAKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNAorbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgIC1zLCAgLS1zaGVsbD1sdXBpbmEgICAgICAgICAgTmFzdGF2aSBsdXBpbnNrbyBrb252ZW5jaWpvIGNpdGlyYW5qYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MQorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbmUgemFwablpIHNwcmVtZW1iIG5hIGRpc2siCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NworIywgZnV6enkKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiICAtbCAgLS1sb25nb3B0aW9ucz1kb2xnZWl6YmlyZSAgIERvbGdlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MworbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgIHAgICAgICAgICAgUHJlcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIHphc2xvbiBhbGkgdiBkYXRvdGVrbyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU4Cittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTkKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjAKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYxCittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbmUgemFwablpIHNwcmVtZW1iIG5hIGRpc2siCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgICAgLVQgW2FsaSAtLWxpc3QtdHlwZXNdOml6cGm5aSB6bmFuZSB0aXBlIHJhemRlbGtvdiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAidXBvcmFibmlrIgorbXNnc3RyWzFdICJ1cG9yYWJuaWsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgInByaWtsb3AgbmkgdXNwZWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIkRhdG90ZWtlICwlc2AgbmkgbW9nb+hlIG9kcHJldGkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorIywgZnV6enkKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgImlzIHkiCittc2dzdHIgImplIHlcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImlzIG4iCittc2dzdHIgImplIG5cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICJkb2RlbGplbmkgc2VtYWZvcmppID0gJWRcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTUwCittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTcKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY3Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10WzxmaWxlPl0sIC0tdGltaW5nWz08ZmlsZT5dIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgb3IgdG8gRklMRVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisiT3Bvem9yaWxvOiBgJXMnIGplIHBvdmV6YXZhLlxuIgorIlVwb3JhYml0ZSBgJXMgW2l6YmlyZV0gJXMnIOhlIGpvIL5lbGl0ZSB1cG9yYWJpdGkuXG4iCisiU2tyaXB0IG5pIGJpbCBpenZyuWVuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQga29u6GFuLCBkYXQuIGplICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiJXM6IHphICVzIG5pIG1vZ2/oZSBuYWp0aSBuYXByYXZlXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIlNjcmlwdCBzZSBqZSB6YehlbCBuYSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiU2NyaXB0IGtvbuhhbiBuYSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgbmkgdXNwZWxcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NzcKKyMsIGZ1enp5Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJabWFuamthbG8gcHR5LWpldlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJTY3JpcHQgc2UgamUgemHoZWwsIGRhdC4gamUgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExMworIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgImtsaWMgaW9jdGwoKSBuaSB1c3BlbCBwcmVicmF0aSDoYXNhIGl6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICIlczogTmVwcmnoYWtvdmFuIGtvbmVjIGRhdG90ZWtlIHYgJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorIywgZnV6enkKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorIywgZnV6enkKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorIywgZnV6enkKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiICBbIC1oYWxmLWJyaWdodCBbb258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworIywgZnV6enkKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgIC1ULiAtLXRlc3QgICAgICAgICAgICAgICAgICAgVGVzdCB6YSByYXpsaehpY28gZ2V0b3B0KDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAgLVQuIC0tdGVzdCAgICAgICAgICAgICAgICAgICBUZXN0IHphIHJhemxp6GljbyBnZXRvcHQoMSlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSBzZXQgdGltZSBvZiBpbmFjdGl2aXR5IGJlZm9yZSBzY3JlZW4gYmxhbmtzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNAorIywgZnV6enkKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAgWyAtcG93ZXJzYXZlIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgIFBydmkgICAgICAgIFphZG5qaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAidmVqaXRldiBuaSBtb2dv6GEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAidmVqaXRldiBuaSBtb2dv6GEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiJXMgbmUgbW9yZW0gb2RwcmV0aVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJuYXByYXZlICVzIG5pIG1vZ2/oZSBvZHByZXRpIHphIGJyYW5qZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiVzOiB1cG9yYWJuaWsgXCIlc1wiIG5lIG9ic3RqYS5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworIywgZnV6enkKK21zZ2lkICJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIgorbXNnc3RyICIlcyBuYSB0ZW0gdGVybWluYWx1IGplIHZwaXMgemFuaWthbi5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgIm5ldmVsamF2ZW4gaWQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgImtsaWMgc2V0dWlkKCkgbmkgdXNwZWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiCittc2dzdHIgIm5pIG1vZ2/oZSBuYXN0YXZpdGkgcG93ZXJzYXZlIG5h6GluYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKKyMsIGZ1enp5Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bCBuYXBha2E6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKKyMsIGZ1enp5Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIlczogJFRFUk0gbmkgZG9sb+hlbi5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczogbmV6bmFuIHNpZ25hbCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU3Cittc2dpZCAidGVybWluYWwgaXMgaGFyZGNvcHkiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJub3RyYW5qYSBuYXBha2EiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAicHJla29yYehpdGV2IGRvbL5pbmUgdnJzdGljZSBhcmd1bWVudGEiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBuaSB1c3BlbFxuIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZm9yazogJW0iCittc2dzdHIgInZlaml0ZXY6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAidmVqaXRldiBuaSBtb2dv6GEiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MgorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICBvbmx5IHNlbmQgbWVzc2FnZSB0byBncm91cFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5NAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBncm91cCBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBnaWQiCittc2dzdHIgIiVjOiBuZXpuYW4gdWthelxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxNjcKK21zZ2lkICJnZXRncm91cGxpc3QgZm91bmQgbW9yZSBncm91cHMgdGhhbiBzeXNjb25mIGFsbG93cyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAibmVwcmF2aWxuYSB2cmVkbm9zdCB6YSBwcmVrb3Jh6Gl0ZXYg6GFzYTogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworIywgZnV6enkKK21zZ2lkICJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiCittc2dzdHIgIm1vdW50OiBoaXRyb3N0aSBuaSBtb2dv6GUgbmFzdGF2aXRpOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIlZlbGlrb3N0aSBkaXNrb3ZuZSBzdGV6ZSBuaSBtb2dv6GUgcHJlYnJhdGkiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJQcmVqZXRvIHNwb3Jv6GlsbyBvZCAlc0AlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCByZWFkICVzIC0gdXNlIHN0ZGluLiIKK21zZ3N0ciAiJXM6ICVzIG5lIGJvIHByZWJyYW4gLSB1cG9yYWJpIHN0ZGluLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCittc2dzdHIgInVwb3JhYmE6IG5hbWVpIFstbXhdIGltZW5payBbaW1lbmlrIC4uLl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICJ3cml0ZTogJXMgc2UgbmkgcHJpamF2bGplblxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2CisjLCBmdXp6eQorbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJ3cml0ZTogaW1lbmEgdmG5ZWdhIHR0eSBuaSBtb2dv6GUgbmFqdGlcbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICJ3cml0ZTogJXMgaW1hIG9uZW1vZ2/oZW5hIHNwb3Jv6GlsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIndyaXRlOiAlcyBzZSBqZSBwcmlqYXZpbCB2Zegga290IGVua3JhdDsgcGm5ZW0gdiAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAibWFsbG9jIG5pIHVzcGVsIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJTcG9yb+hpbG8gaXogJXNAJXMgKGtvdCAlcykgbmEgJXMgcHJpICVzIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlNwb3Jv6GlsbyBpeiAlc0AlcyBuYSAlcyBwcmkgJXMgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCisjLCBmdXp6eQorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAid3JpdGU6IGRvdm9samVuamUgemEgcGlzYW5qZSBpbWF0ZSBpemtsb3BsamVuby5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIG5pIHByaWphdmxqZW4gbmEgJXMuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCBvbiAlcyIKK21zZ3N0ciAid3JpdGU6ICVzIGltYSBvbmVtb2dv6GVuYSBzcG9yb+hpbGEgbmEgJXNcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzUKK21zZ2lkICJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1MSB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxNQorIywgZnV6enkKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgImNvbDogc2xhYiBhcmd1bWVudCAtbDogJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiY29sOiBvcG96b3JpbG86IHZhcm5vc3RubyBrb3BpcmFuamUgJXMgbmkgbW9nb+hlLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiemEgcHJ2byB2cnN0aWNvIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSB2cnN0aWNhIGplIL5lIHNwbGFrbmplbmEiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODIgdGV4dC11dGlscy9jb2x1bW4uYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjUKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1CisjLCBmdXp6eQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJjb2w6IHNsYWIgYXJndW1lbnQgLWw6ICVzLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAiY29sOiBzbGFiIGFyZ3VtZW50IC1sOiAlcy5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgY29sdW1uIG5hbWUgJyVzJyIKK21zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBuYWp0aSB2ICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1vcmRlciBsaXN0IgorbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXRydW5jIGxpc3QiCittc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1ub2V4dHJlbWUgbGlzdCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLWhpZGUgbGlzdCIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJXp1OiBmb3IgSlNPTiB0aGUgbmFtZSBvZiB0aGUgY29sdW1uICV6dSBpcyByZXF1aXJlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGRhdGEiCittc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCittc2dzdHIgIiAgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICBCcmV6IG5vcm1hbG5lZ2EgaXpob2RhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgIC1uLCAtLW5hbWU9aW1lcHJvZ3JhbWEgICAgICAgSW1lIG5hIGthdGVyZWdhIHNlIG5hc2xhdmxqYWpvIG5hcGFrZVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MgorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS10YWJsZS1jb2x1bW5zIDxuYW1lcz4gICAgICBjb21tYSBzZXBhcmF0ZWQgY29sdW1ucyBuYW1lc1xuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGVyXG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworIywgZnV6enkKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MAorbXNnaWQgIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCBmb3IgdGFibGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorbXNnaWQgIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgICAgLUgjIFthbGkgLS1oZWFkcyAjXTogICBuYXN0YXZpILl0ZXZpbG8gZ2xhdiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9bml6aXpiaXIgICAgICAgS3JhdGtlIGl6YmlyZSB6YSBwcmVwb3puYXZvXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjIKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIKK21zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKKyMsIGZ1enp5Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAibmFqLiC5dC4gb2RzZWtvdiA9ICVsdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJoZXhkdW1wOiBzbGFiILl0ZXZlYyBiYWp0b3YgemEgcHJldHZvcm5pIHpuYWsgJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICJoZXhkdW1wOiAlJXMgemFodGV2YSBib2Rpc2kgbmF0YW7obm9zdCBib2Rpc2kguXRldmVjIGJhanRvdi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAiaGV4ZHVtcDogc2xhYmEgb2JsaWthIFslc11cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJoZXhkdW1wOiBzbGFiIHByZXR2b3JuaSB6bmFrICUlJXMuXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJoZXhkdW1wOiC5dGV2ZWMgYmFqdG92IGplIG5hdmVkZW4geiB2ZehrcmF0bmltaSBwcmV0dm9ybmltaSB6bmFraS5cbiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4CisjLCBmdXp6eQorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiICAtaCAgLS1oZWxwICAgICAgICAgICAgICAgICAgIE1hbmq5YSBuYXZvZGlsYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiAgICAtbiA6ICAgICAgICAgICAgICAgICBuZSB6YXBpuWkgc3ByZW1lbWIgbmEgZGlzayIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorIywgZnV6enkKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiICAgIC1uIDogICAgICAgICAgICAgICAgIG5lIHphcGm5aSBzcHJlbWVtYiBuYSBkaXNrIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAgcCAgICAgICAgICBQcmVwablpIHRhYmVsbyByYXpkZWxrb3YgbmEgemFzbG9uIGFsaSB2IGRhdG90ZWtvIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICJWbmVzaXRlILl0ZXZpbG8gc3RlejogIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDYKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ3Cittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIiVzOiBuZXpuYW5hIG1vvm5vc3QgXCItJWNcIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBpbWVuaWsgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IE5pIHpuYWtvdm5hIGRhdG90ZWthICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW1phIGl6aG9kIHVwb3JhYml0ZSBxIGFsaSBRXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLU5hcHJlai0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltQcml0aXNuaXRlIHByZXNsZWRuaWNvIHphIG5hZGFsamV2YW5qZSwgUSB6YSBpemhvZC5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLm5hemFqIHphICVkIHN0cmFuaSIKK21zZ3N0clsxXSAiLi4ubmF6YWogemEgJWQgc3RyYW5pIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiLi4ucHJlc2tvayAlZCB2cnN0aWMiCittc2dzdHJbMV0gIi4uLnByZXNrb2sgJWQgdnJzdGljIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKk5hemFqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICJLcnBhIHJlZ3VsYXJuZWdhIGl6cmF6YSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJWZehpbmkgdWthenYgc2UgbGFoa28gZG9kYSBjZWxvuXRldmlsc2tpIGFyZ3VtZW50IGsuIFByaXZ6ZXRvIHYgb2tsZXBhamloLlxuIgorIlp2ZXpkaWNhICgqKSBwb21lbmksIGRhIGJvIGFyZ3VtZW50IG9kIHNlZGFqIG5hcHJlaiBwcml2emV0LlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHByZXNsZWRuaWNhPiAgICAgICAgICAgUHJpa2G+aSBuYXNsZWRuamloIGsgdnJzdGljIGJlc2VkaWxhIFt0cmVudXRuYSB2ZWxpa29zdCB6YXNsb25hXVxuIgorInogICAgICAgICAgICAgICAgICAgICAgIFByaWthvmkgbmFzbGVkbmppaCBrIHZyc3RpYyBiZXNlZGlsYSBbdHJlbnV0bmEgdmVsaWtvc3QgemFzbG9uYV1cbiIKKyI8ZW50ZXI+ICAgICAgICAgICAgICAgICBQcmlrYb5pIG5hc2xlZG5qaWggayB2cnN0aWMgYmVzZWRpbGEgWzFdKlxuIgorImQgYWxpIGN0cmwtZCAgICAgICAgICAgIFBvbWFrbmkgc2UgemEgayB2cnN0aWMgW3RyZW51dG5hIHBvbWnobmEgaGl0cm9zdCwgcG9uYXZhZGkgMTFdKlxuIgorInEsIFEgYWxpIDxwcmVraW5pdGV2PiAgIFByZWtpbmkgaXpwaXNcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBQcmVza2/oaSBrIHZyc3RpYyBiZXNlZGlsYSBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBQcmVza2/oaSBrIHphc2xvbm92IGJlc2VkaWxhIFsxXVxuIgorImIgYWxpIGN0cmwtQiAgICAgICAgICAgIFByZWtv6GkgayB6YXNsb25vdiBiZXNlZGlsYSBuYXphaiBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBQb2pkaSBuYSBwcm9zdG9yIHph6GV0a2EgcHJlarluamVnYSBpc2thbmphXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgUHJpa2G+aSC5dGV2aWxrbyB2cnN0aWNlXG4iCisiLzxyZWd1bGFybmkgaXpyYXo+ICAgICAgUG9puehpIGstdG8gcG9qYXZpdGV2IHJlZ3VsYXJuZWdhIGl6cmF6YSBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICBQb2m56Gkgay10byBwb2phdml0ZXYgemFkbmplZ2EgcmVnLiBpenJhemEgWzFdXG4iCisiITx1a2F6PiBhbGkgOiE8dWthej4gICAgWmG+ZW5pIHVrYXogdiBwb2RsdXBpbmlcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBaYb5lbmkgL3Vzci9iaW4vdmkgbmEgdHJlbnV0bmkgdnJzdGljaVxuIgorImN0cmwtTCAgICAgICAgICAgICAgICAgIE9zdmW+aSB6YXNsb25cbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICBQb2pkaSBuYSBrLXRvIGRhdG90ZWtvIHphIHRyZW51dG5vIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIFBvamlkIG5hIGstdG8gZGF0b3Rla2EgcHJlZCB0cmVudXRubyBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBQcmlrYb5pIGltZSB0cmVudXRuZSBkYXRvdGVrZSBpbiC5dGV2aWxrbyB2cnN0aWNlXG4iCisiLiAgICAgICAgICAgICAgICAgICAgICAgUG9ub3ZpIHByZWq5bmppIHVrYXpcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM5NCB0ZXh0LXV0aWxzL21vcmUuYzoxNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbUHJpdGlzbml0ZSAnaCcgemEgbmF2b2RpbGEuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiIHZyc3RpY2EgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiW05vdCBhIGZpbGVdIGxpbmUgJWQiCittc2dzdHIgIltOaSBkYXRvdGVrYV0gdnJzdGljYSAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTUxNQorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICBQcmVrb3Jh6Gl0ZXZcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU2NAorbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIi4uLnByZXNrb2tcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU5OAorbXNnaWQgIiIKKyJcbiIKKyJQYXR0ZXJuIG5vdCBmb3VuZFxuIgorbXNnc3RyICIiCisiXG4iCisiVnpvcmNhIG5pIG1v6CBuYWp0aVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIlZ6b3JjYSBuaSBtb+ggbmFqdGkiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NTIKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICJ6YWdvbiBuaSB1c3BlbFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjY2Cittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJ2ZWppdGV2IG5pIG1vZ2/oYVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzAwCittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorIlxuIgorIi4uLiBQcmVza29rICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi4gUHJlc2tvayBuYSBkYXRvdGVrbyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDYKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi4gUHJlc2tvayBuYXphaiBuYSBkYXRvdGVrbyAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICJWcnN0aWNhIGplIHByZWRvbGdhIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiWmFyYWRpIG5lb2JzdG9qZehlZ2EgcHJlarluamVnYSB1a2F6YSB6YW1lbmphdmEgbmkgbW9nb+hhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiICBwICAgICAgICAgIFByZXBpuWkgdGFiZWxvIHJhemRlbGtvdiBuYSB6YXNsb24gYWxpIHYgZGF0b3Rla28iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgICAgLW4gOiAgICAgICAgICAgICAgICAgbmUgemFwablpIHNwcmVtZW1iIG5hIGRpc2siCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDIKK21zZ2lkICIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCittc2dpZCAiIC1wIDxwcm9tcHQ+ICBzcGVjaWZ5IHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiJXM6IGl6YmlyYSB6YWh0ZXZhIGFyZ3VtZW50IC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICIlczogbmVkb3ZvbGplbmEgaXpiaXJhIC0tICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIi4uLiBwcmVza29rIG5hcHJlalxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAiLi4uIHByZXNrb2sgbmF6YWpcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiTmFzbGVkbmplIGRhdG90ZWtlIG5pIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiUHJlarluamUgZGF0b3Rla2UgbmkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICIlczogTmFwYWthIHByaSBicmFuanUgaXogZGF0b3Rla2UgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IE5lcHJp6GFrb3ZhbiBrb25lYyBkYXRvdGVrZSB2ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiJXM6IE5lem5hbmEgbmFwYWthIHYgZGF0b3Rla2kgJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk0OQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgY3JlYXRlIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICIlczogWmHoYXNuZSBkYXRvdGVrZSBuaSBtb2dv6GUgdXN0dmFyaXRpXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NTggdGV4dC11dGlscy9wZy5jOjExMjIgdGV4dC11dGlscy9wZy5jOjExNDgKK21zZ2lkICJSRSBlcnJvcjogIgorbXNnc3RyICJuYXBha2EgUkU6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEVPRikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJTaHJhbmplbmVnYSBpc2thbG5lZ2Egbml6YSBuaSIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAic2hyYW5qZW5vIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiAhdWtheiBuaSBkb3ZvbGplbiB2IHJmbGFnIG5h6GludS5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAia2xpYyBmb3JrKCkgbmkgdXNwZWwsIHBvc2t1c2l0ZSBwb3puZWplXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgxCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiAuLi5dXG4iCittc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJwcmkgYnJhbmp1IHRlcm1pbmZvIGJhemUgcG9kYXRrLiBqZSBwcmm5bG8gZG8gbmFwYWtlIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJOYSB2aG9kdSBqZSBuZXpuYW5vIHViZb5ubyB6YXBvcmVkamU6ICVvLCAlb1xuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJWaG9kbmEgdnJzdGljYSBqZSBwcmVkb2xnYS5cbiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICJrbGljIGlvY3RsKCkgbmkgdXNwZWwgcHJlYnJhdGkg6GFzYSBpeiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKKyN+IG1zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorI34gbXNnc3RyICJzdGFuamEgbmFwcmF2ZSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgIiVzOiBuZXpuYW4gYXJndW1lbnQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRlc3QgbW9kZTogJXMgd2FzIG5vdCB1cGRhdGVkIHdpdGg6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIlNla3RvciAlZCBqZSC+ZSBkb2RlbGplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIkRyc25lIHByaWxhZ29kaXR2ZSBwYXJhbWV0cm92IG5lIGJvZG8gcG9zb2RvYmxqZW5lLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRlc3QgbW9kZTogZXBvY2ggd2FzIG5vdCBzZXQgdG8gJXMuXG4iCisjfiBtc2dzdHIgInN0YXQgaW1lbmlrYSBuaSB1c3BlbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiUmF6cG9sb75saml2aSB1a2F6aTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorI34gbXNnc3RyICIlczogbmFwYWthIHByaSBpc2thbmp1IG5hICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICJSYXpwb2xvvmxqaXZpIHVrYXppOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5ICclcyAtaCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlBvc2t1c2l0ZSBgZ2V0b3B0IC0taGVscCcgemEgdmXoIGluZm9ybWFjaWouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1WLCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyBrbm93biBzaGVsbHMuIgorI34gbXNnc3RyICJOaSB6bmFuaWggbHVwaW4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICJSYXpwb2xvvmxqaXZpIHVrYXppOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogbmFtZWkgWy1teF0gaW1lbmlrIFtpbWVuaWsgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiUmF6cG9sb75saml2aSB1a2F6aTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlBvc2t1c2l0ZSBgZ2V0b3B0IC0taGVscCcgemEgdmXoIGluZm9ybWFjaWouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlJlZ2lzdHJpIHN0cm9qbmUgdXJlIHZzZWJ1amVqbyB2cmVkbm9zdGkga2kgc28gYm9kaXNpIG5ldmVsamF2bmVcbiIKKyN+ICIobnByLiA1MC4gZGFuIHYgbWVzZWN1KSwgYm9kaXNpIGl6dmVuIG5huWVnYSBkb3NlZ2EgKG5wci4gbGV0byAyMDk1KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICJTdHJvam5hIHVyYSBuZSB2c2VidWplIHZlbGphdm5lZ2Eg6GFzYSwgemF0byBuYXN0YXZsamFuamUgc2lzdGVtc2tlZ2Eg6GFzYSBpeiBuamUgbmkgbW9nb+hlLlxuIgorCisjfiBtc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKyN+IG1zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHRjLnRjX3VzZWMgPSAlbGRcbiIKKworI34gbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorI34gbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKKyN+IG1zZ3N0ciAiU2FtbyBzaXN0ZW1za2kgc2tyYm5payBsYWhrbyBuYXN0YXZsamEgc2lzdGVtc2tvIHVyby5cbiIKKworI34gbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCisjfiBtc2dzdHIgIkZha3RvciBkcnNlbmphIG5lIGJvIG5hc3RhdmxqZW4sIGtlciBqZSBzdHJvam5hIHVyYSB2c2Vib3ZhbGEgc21ldGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAiU3Ryb2puYSB1cmEgbmUgdnNlYnVqZSB2ZWxqYXZuZWdhIOhhc2EsIHphdG8gc2UgamUgbmUgbW9yZSBwcmlsYWdvZGl0aS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJWcmVkbm9zdGkgZXBvY2ggbmkgbW9nb+hlIGRvYml0aSBvZCBqZWRyYS5cbiIKKworI34gbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKKyN+IG1zZ3N0ciAiSmVkcm8gcHJlZHBvc3RhdmxqYSwgZGEgamUgdnJlZG5vc3QgZXBvY2ggJWx1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKKyN+IG1zZ3N0ciAiyGUgaG/oZXRlIG5hc3Rhdml0aSB2cmVkbm9zdCBlcG9jaCwgbW9yYXRlIHVwb3JhYml0aSBpemJpcm8gJ2Vwb2NoJ1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIkVwb2NoIG5lIGJvIG5hc3RhdmxqZW4gbmEgJWQgLSBzYW1vIHByZWl6a3W5YW0uXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorI34gbXNnc3RyICJWcmVkbm9zdGkgZXBvY2ggbmkgYmlsbyBtb75ubyBuYXN0YXZpdGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKKyN+IG1zZ3N0ciAibmV2ZWxqYXZlbiBpZCIKKworI34gbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorI34gbXNnc3RyICIlcyBuaW1hIHByZWtpbml0dmVuaWggZnVua2Npai4iCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAia2xpYyBpb2N0bCgpIGsgJXMgemEgdmtsb3AgcG9zb2RhYmxqYW5qYSBwcmVraW5pdGV2IG5lcHJp6GFrb3Zhbm8gbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAiWmEgc3ByZW1pbmphbmplIHZyZWRub3N0aSByYXpkb2JqYSB2IGplZHJ1IGplIHBvdHJlYm5vIGltZXRpIGRvc3RvcCBkbyBMaW51eG92ZWdhICdydGMnIGdvbmlsbmlrYSBuYXByYXZlIHNrb3ppIHBvc2Vibm8gZGF0b3Rla28gbmFwcmF2ZSAlcy4gTmEgdGVtIHNpc3RlbXUgdGEgZGF0b3Rla2EgbmUgb2JzdGFqYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3ZSBoYXZlIHJlYWQgZXBvY2ggJWx1IGZyb20gJXMgd2l0aCBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKyN+IG1zZ3N0ciAicHJlYnJhbmEgamUgYmlsYSB2cmVkbm9zdCByYXpkb2JqYSAlbGQgaXogJXMgeiBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICJWcmVkbm9zdCByYXpkb2JqYSBtb3JhIGJpdGkgdmXoamEgYWxpIGVuYWthIDE5MDAuIFphaHRldmFuYSBqZSBiaWxhICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAibmFzdGF2bGphbSB2cmVkbm9zdCByYXpkb2JqYSBuYSAlbGQgeiBSVENfRVBPQ0hfU0VUIGlvY3RsIG5hICVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisjfiBtc2dzdHIgIkdvbmlsbmlrIGplZHJhIHphICVzIG5pbWEgUlRDX0VQT0NIX1NFVCBpb2N0bC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJQb3NrdXNpdGUgYGdldG9wdCAtLWhlbHAnIHphIHZl6CBpbmZvcm1hY2lqLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIlBvc2t1c2l0ZSBgZ2V0b3B0IC0taGVscCcgemEgdmXoIGluZm9ybWFjaWouXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKKyN+IG1zZ3N0ciAiUmF6cG9sb75saml2aSB1a2F6aTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorI34gbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgIlphIG1lZHBvbW5pbG5payBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdGhlc2Ugb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlOiIKKyN+IG1zZ3N0ciAiJXM6IC0tYWRqdXN0IGluIC0tbm9hZGpmaWxlIGl6YmlyaSBzZSBtZWRzZWJvam5vIGl6a2xqdeh1amV0YS4gUG9kYWxpIHN0ZSBvYmUuXG4iCisKKyN+IG1zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiVXJlIG5pIHNwcmVtZW5qZW5hIC0gemdvbGogcHJlaXprdXMuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJJemJpcmEgLS1kYXRlIG5pIGJpbGEgcG9kYW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi0tZGF0ZSBhcmd1bWVudCB0b28gbG9uZyIKKyN+IG1zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBqZSBwcmVkb2xnYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisjfiAiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKKyN+IG1zZ3N0ciAiIgorI34gIlZyZWRub3N0LCBwb2RhbmEgcHJpIGl6YmlyaSAtLWRhdGUgbmkgdmVsamF2ZW4gZGF0dW0uXG4iCisjfiAiTWVkIGRydWdpbSB2c2VidWplIG5hcmVrb3ZhamUuXG4iCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAiSXp2YWphbW8gdWtheiBkYXRlOiAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHJ1biAnZGF0ZScgcHJvZ3JhbSBpbiAvYmluL3NoIHNoZWxsLiBwb3BlbigpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiTmUgbW9yZW1vIHBvZ25hdGkgdWthemEgJ2RhdGUnIHYgbHVwaW5pIC9iaW4vc2gsIGtsaWMgcG9wZW4oKSBuaSB1c3BlbCIKKworI34gbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKKyN+IG1zZ3N0ciAib2R6aXYgdWthemEgZGF0ZSA9ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlVrYXogZGF0ZSwga2kgZ2EgamUgcG9nbmFsICVzLCBqZSB2cm5pbCBuZXByaehha292YW4gcmV6dWx0YXQuXG4iCisjfiAiVWtheiBqZSBiaWw6XG4iCisjfiAiICAlc1xuIgorI34gIk9keml2IHBhOlxuIgorI34gIiAgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiVWtheiBkYXRlLCBraSBnYSBqZSBwb2duYWwgJXMgamUgdnJuaWwgbmVrYWogZHJ1Z2VnYSBrb3QguXRldmlsbywga2plciBqZSBiaWwgcHJp6GFrb3ZhbiB6YW1lbmphbiDoYXMuXG4iCisjfiAiVWtheiBqZSBiaWw6XG4iCisjfiAiICVzXG4iCisjfiAiT2R6aXYgcGE6XG4iCisjfiAiICVzXG4iCisKKyN+IG1zZ2lkICJkYXRlIHN0cmluZyAlcyBlcXVhdGVzIHRvICVsZCBzZWNvbmRzIHNpbmNlIDE5NjkuXG4iCisjfiBtc2dzdHIgIm5peiBkYXR1bSAlcyBqZSBlbmFrICVsZCBzZWt1bmQgb2QgbGV0YSAxOTY5LlxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCisjfiBtc2dzdHIgIlNpc3RlbXNrYSB1cmEgbmUgYm8gbmFzdGF2bGplbmEsIGtlciBzZSBpenZhamEgdGVzdGlyYW5qZS5cbiIKKworI34gbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCisjfiBtc2dzdHIgImFkanRpbWUgbmUgYm8gcG9zb2RvYmxqZW4gemFyYWRpIHRlc3RuZWdhIG5h6GluYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAiIgorI34gIk5hICVzIGJpIGJpbG8gbmFwaXNhbm8gc2xlZGXoZTpcbiIKKyN+ICIlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJKZWRybyBocmFuaSByYXpkb2JubyB2cmVkbm9zdCB6YSBTdHJvam5vIHVybyBzYW1vIG5hIEFscGhhIHN0cm9qdS5cbiIKKyN+ICJUYSBrb3BpamEgc3Ryb2puZSB1cmUgamUgYmlsYSB6Z3JhamVuYSB6YSBkcnVnZWdhXG4iCisjfiAiKGluIHpkYWogdmVyamV0bm8gbmUgdGXoZSBuYSBBbHBoYSBzdHJvanUpLiBCcmV6IHVrcmVwb3YuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC0tamVuc2VuLCAtLWFyYywgLS1zcm0sIC0tZnVua3ktdG95XG4iCisjfiAiICAgICAgICAgICAgICAgIHBvdmVqIGh3Y2xvY2t1IHRpcCBhbHBoYSwga2kgZ2EgaW1hcCAoZ2xlaiBod2Nsb2NrKDgpKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICKuYWwgbGFoa28gc2FtbyBzaXN0ZW1za2kgc2tyYm5payBzcHJlbWluamEgc3Ryb2pubyB1cm8uXG4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgbmUgc3ByZWplbWEgYXJndW1lbnRvdiBicmV6IGl6YmlyLiBQb2RhbGkgc3RlOiAlZC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKKyN+IG1zZ3N0ciAiTmkgdXBvcmFibmVnYSBuYXN0YXZpdHZlbmVnYSDoYXNhLiBVcmEgbmUgYm8gbmFzdGF2bGplbmEuXG4iCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgInphZ25hbm8gaXogTUlMT1xuIgorCisjfiBtc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiVXJhIFJ1ZmZpYW4gQkNEXG4iCisKKyN+IG1zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorI34gbXNnc3RyICJ2cmF0YSB1cmUgbmFyYXZuYW5hIG5hIDB4JXhcbiIKKworI34gbXNnaWQgImZ1bmt5IFRPWSFcbiIKKyN+IG1zZ3N0ciAiemFiYXZuYSBJR1JByEEhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKKyN+IG1zZ3N0ciAiJXM6IGF0b21za2kgJXMgbmV1c3BluWVuIHYgMTAwMCBwb25vdml0dmFoISIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCisjfiBtc2dzdHIgIkRvdm9samVuamEgbWkgbmkgdXNwZWxvIHByaWRvYml0aSwga2VyIG5pc2VtIHBvc2t1c2lsLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorI34gbXNnc3RyICIlcyBuZSBtb3JlIGRvYml0aSBkb3N0b3BhIGRvIFYvSSB2cmF0OiBrbGljIGlvcGwoMykgbmV1c3BluWVuLlxuIgorCisjfiBtc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorI34gbXNnc3RyICJWZXJqZXRubyBwb3RyZWJ1amV0ZSBwcmF2aWNlIHNrcmJuaWthIHNpc3RlbWEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJTaWduYWxuZWdhIHVwcmF2bGphbG5pa2EgbmkgbW9nb+hlIG5hc3Rhdml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJTaWduYWxuZWdhIHVwcmF2bGphbG5pa2EgbmkgbW9nb+hlIG5hc3Rhdml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogc2FtbyBzaXN0ZW1za2kgc2tyYm5payBsYWhrbyBwcmlrbG9waSAlcyBuYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGplIHphuehpdGVuYSBwcmVkIHBpc2FuamVtLCBwcmlrbGFwbGphbSBzYW1vIHphIGJyYW5qZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IFRpcGEgZGF0LiBzaXN0ZW1hIG5pIGJpbG8gbW9nb+hlIHVnb3Rvdml0aSBpbiBuaSBiaWwgcG9kYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogdGlwIGRhdC4gc2lzdGVtYSBtb3JhIGJpdGkgcG9kYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQgc291cmNlIG5vdCBkZWZpbmVkIgorI34gbXNnc3RyICJtb3VudDogcHJpa2xvcCBuaSB1c3BlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBwcmlrbG9wIG5pIHVzcGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGplIL5lIHByaWtsb3BsamVuIHYgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICJtb3VudDogJXMguWUgbmkgcHJpa2xvcGxqZW4gYWxpIG5lcHJhdmlsbmEgaXpiaXJhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRWIG5la2F0ZXJpaCBwcmltZXJpaCBkb2JpdGUgdXBvcmFibmUgaW5mb3JtYWNpamUgdiBzaXN0LiBkbmV2bmlrdVxuIgorI34gIlx0cG9za3VzaXRlIHogZG1lc2cgfCB0YWlsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnJWMnIgorI34gbXNnc3RyICJuZXByZXBvem5hbiB2aG9kOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJwcmlrbG9wIG5pIHVzcGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBtb3VudHBvaW50IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbmV1c3BluW5vIGlza2FuamUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorI34gbXNnc3RyICJWbmVzaXRlILl0ZXZpbG8gc3RlejogIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgImtvcmVuc2tpIGlub2QgbmkgaW1lbmlrIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICJzdGFuamEgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJWbmVzaXRlIHZyc3RvIGRhdG90ZehuZWdhIHNpc3RlbWE6ICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiJXM6IE5hcGFrZSBwcmkgaXpiaXJpLCB1cG9yYWJpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgIlZob2RuYSB2cnN0aWNhIGplIHByZWRvbGdhLlxuIgorCisjfiBtc2dpZCAiYmFkIHRpbWVvdXQgdmFsdWU6ICVzIgorI34gbXNnc3RyICJuZXByYXZpbG5hIHZyZWRub3N0IHphIHByZWtvcmHoaXRldiDoYXNhOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICJuYXBha2EgcHJpIGlza2FuanUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG5vdCBzZXR1cCB0aW1lciIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIkltZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYWNjZXNzIGZpbGUgJXMiCisjfiBtc2dzdHIgIkRhdG90ZWtlICwlc2AgbmkgbW9nb+hlIG9kcHJldGkiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgbmkgcG9zZWJuYSBibG/obmEgbmFwcmF2YSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZGV2aWNlIGlzIG1pc2FsaWduZWQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5hcHJhdmEgamUgemFwb3NsZW5hIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIgc2tyaXRpIEM6IHBvZ29uIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIm1vdW50OiAlczogbmV6bmFuYSBuYXByYXZhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIHNla3VuZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICJzcG9yb+hpbGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJPYnN0YWphIHplbG8gZG9sZ2EgKCV1IGJhanRvdikgZGF0b3Rla2EgYCVzJy5cbiIKKyN+ICInIFByb3NpbSBkYSBwb3Zl6GF0ZSBNQVhfSU5QVVRfTkFNRUxFTiB2IG1rY3JhbWZzLmMgaW4gcG9ub3ZubyBwcmV2ZWRldGUuIEtvbuh1amVtLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJkb2RlbGl0ZXYgbWVkcG9tbmlsbmlrYSB6YSBzZXpuYW1lIG5pIHVzcGVsYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgImRvZGVsaXRldiBtZWRwb21uaWxuaWthIHphIHNlem5hbWUgbmkgdXNwZWxhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgImRvZGVsaXRldiBtZWRwb21uaWxuaWthIHphIGlub2RlIG5pIHVzcGVsYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOdW1iZXIgb2YgU2VtYXBob3JlIElEcyIKKyN+IG1zZ3N0ciAiqXRldmlsbyBzZWt0b3JqZXYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgWy1jIHwgLWwgaW1lIGRhdC5dIFstblhYXSBbLWlYWF0gL2Rldi9pbWUgW2Jsb2tpXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgaW5vZGUgc2l6ZSIKKyN+IG1zZ3N0ciAic2xhYmEgdmVsaWtvc3QgaW5vZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgInZyc3RhOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRpc2s6ICUuKnMiCisjfiBtc2dzdHIgImRpc2s6ICUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsYWJlbDogJS4qcyIKKyN+IG1zZ3N0ciAib3puYWthOiAlLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmxhZ3M6ICVzIgorI34gbXNnc3RyICJ6YXN0YXZpY2U6IgorCisjLCBmdXp6eQorI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkIgorI34gbXNnc3RyICJiYWp0aS9zZWt0b3I6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAic2VrdG9yL3NsZWQ6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrcy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJzbGVkL3N0ZXphOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGQiCisjfiBtc2dzdHIgInNla3Rvci9zdGV6YTogJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgInN0ZXplOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICJvYnJhdGkvbWluOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludGVybGVhdmU6ICVkIgorI34gbXNnc3RyICJwcmVwbGV0ZW5vOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgInBvuWV2bm9zdHNsZWRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgInBvuWV2bm9zdHNsZWRpOiAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiemFtZW5qYXZhIGdsYXZlOiAlbGRcdFx0IyBtaWxpc2VrdW5kXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlazogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJpc2thbmplIHNsZWQtZG8tc2xlZGk6ICVsZFx0IyBtaWxpc2VrdW5kXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uczogJWQiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlZCByYXpkZWxrb3Y6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiIgorI34gIlJhemRlbGthIG5lIG1vcmV0ZSBwcmV0dm9yaXRpIHYgcmF6uWlyamVuZWdhIGFsaSBvYnJhdG5vLlxuIgorI34gIk5hanByZWogZ2EgemJyablpdGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKG96bmFrYSBkaXNrYSB0aXBhIFNHSSk6ICVkIGdsYXYsICVkIHNla3RvcmpldlxuIgorI34gIiVkIHN0ZXosICVkIGZpemnobmloIHN0ZXpcbiIKKyN+ICIlZCBkb2RhdG5pIHNla3Qvc3Rlem8sIHByZXBsZXRlbm9zdCAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJFbm90ZSA9ICVzIG9kICVkICogJWQgYmFqdG92XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiPG5vbmU+IgorI34gbXNnc3RyICJCcmV6IgorCisjfiBtc2dpZCAiZ2V0dGltZW9mZGF5IGZhaWxlZCIKKyN+IG1zZ3N0ciAia2xpYyBnZXR0aW1lb2ZkYXkgbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIG5pIHVzcGVsIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6IGxhc3QgWy0jXSBbLWYgZGF0XSBbLXQgdHR5XSBbLWggaW1lIGdvc3RpdGVsamFdIFt1cG9yYWJuaWsgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBtbWFwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgILllIHZlZG5vIHByaWphdmxqZW4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIHph6GVuamEgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZ2V0aG9zdG5hbWUgZmFpbGVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTmFwYWthIHByaSB6YXBpcmFuanUgZGF0b3Rla2VcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAicHJla2luamVubyAlMTAuMTBzICU1LjVzIFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1hdXRvLy1hIG9wdGlvbiIKKyN+IG1zZ3N0ciAibmV2ZWxqYXZuaSBpZDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIFN5c3RlbSBDbG9jay4iCisjfiBtc2dzdHIgIq5hbCBsYWhrbyBzYW1vIHNpc3RlbXNraSBza3JibmlrIHNwcmVtaW5qIHNpc3RlbXNrbyB1cm8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAirmFsIGxhaGtvIHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsgc3ByZW1pbmphIHJhemRvYmplIHN0cm9qbmUgdXJlIHYgamVkcnUuXG4iCisKKyN+IG1zZ2lkICJyZWFkKCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCisjfiBtc2dzdHIgImtsaWMgcmVhZCgpIGsgJXMgemEg6GFrYW5qZSBuYSBwcmVtaWsgdXJlIG5pIHVzcGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEl6cGm5aSBpbmZvcm1hY2lqZSBvIHJhemxp6GljaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIEJyZXogbm9ybWFsbmVnYSBpemhvZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBJenBpuWkgaW5mb3JtYWNpamUgbyByYXpsaehpY2lcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlczogJW0iCisjfiBtc2dzdHIgIm5pIG1vZ2/oZSBvZHByZXRpICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZyZWFkIGZhaWxlZCIKKyN+IG1zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiT3Nub3ZuYSBuYXZvZGlsYSB6YSBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAibmEgdmG5ZW0gZGlza3UuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIGBubyciCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBgbmUnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvbyBzbWFsbCBwYXJ0aXRpb24gc2l6ZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJOb2JlbiByYXpkZWxlayBuaSBkb2xv6GVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKKyN+IG1zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiQWxpIL5lbGl0ZSB1c3R2YXJpdGkgb3puYWtvIGRpc2thPyAoeS9uKSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHlwZSBvZiB0aGUgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorI34gbXNnc3RyICJUaXAgcmF6ZGVsa2EgJWQgamUgc3ByZW1lbmplbiB2ICV4ICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOlxuIgorI34gbXNnc3RyICJVcG9yYWJhOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIlBvuWtvZG92YW5hIHZlbGlrb3N0IGdsYXZhIGl6bWVuamFsbmVnYSBwcm9zdG9yYSwgb3puYWthIG5pIHphcGlzYW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdSIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IG5hICVzIC0gaXNrYW5qZSBkbyAlbHUgbmkgbW++bm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHgiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgaXNrYW5qdTogemFodGV2YW5vIDB4JTA4eCUwOHgsIGRvYmxqZW5vIDB4JTA4eCUwOHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkIGVycm9yIG9uICVzIC0gY2Fubm90IHJlYWQgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIm5hcGFrIHByaSBicmFuanUgbmEgJXMgLSBicmFuamUgc2VrdG9yamEgJWx1IG5pIG1vvm5vXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMgLSBjYW5ub3Qgd3JpdGUgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgcGlzYW5qdSBuYSAlcyAtIHNla3RvcmphICVsdSBuaSBtb75ubyB6YXBpc2F0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgInNocmFuamVuZSBkYXRvdGVrZSBzZWt0b3JqYSByYXpkZWxrYSBuaSBtb2dv6GUgb2RwcmV0aSAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgcGlzYW5qdSBuYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAic3RhbmphIG9ibm92aXR2ZW5lIGRhdG90ZWtlIHJhemRlbGthIG5pIG1vZ2/oZSBkb2JpdGkgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiByZXN0b3JlIGZpbGUgaGFzIHdyb25nIHNpemUgLSBub3QgcmVzdG9yaW5nIgorI34gbXNnc3RyICJvYm5vdml0dmVuYSBkYXRvdGVrYSByYXpkZWxrYSBpbWEgbmFwYehubyB2ZWxpa29zdCAtIG5lIG9ibmF2bGphbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAib2Jub3ZpdHZlbmUgZGF0b3Rla2UgcmF6ZGVsa2EgbmkgbW9nb+hlIG9kcHJldGkgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgYnJhbmp1ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJuYXByYXZlICVzIG5pIG1vZ2/oZSBvZHByZXRpIHphIGJyYW5qZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlcyIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSB6YXBpc292YW5qdSBzZWt0b3JqYSAlbHUgbmEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICJEaXNrICVzOiBnZW9tZXRyaWplIG5pIG1vZ2/oZSBuYWp0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZSIKKyN+IG1zZ3N0ciAiRGlzayAlczogdmVsaWtvc3RpIG5pIG1vZ2/oZSBuYWp0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogemHoZXRlaz0lbHUgLSB0byBqZSBib2xqIHBvZG9ibm8gcmF6ZGVsa3Uga290XG4iCisjfiAiY2Vsb3RuZW11IGRpc2t1LiBVcG9yYWJhIGZkaXNrLWEgbmEgbmplbSBqZSB2ZXJqZXRubyBcbiIKKyN+ICJicmV6IHNtaXNsYS4gW3Vwb3JhYml0ZSAtLWZvcmNlIGl6YmlybyDoZSB0byByZXMgvmVsaXRlXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJPcG96b3JpbG86IEhESU9fR0VUR0VPIHByYXZpIGRhIGplICVsdSBnbGF2XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiBIRElPX0dFVEdFTyBwcmF2aSwgZGEgamUgJWx1IHNla3RvcmpldlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJPcG96b3JpbG86IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gcHJhdmksIGRhIGplICVsdSBzdGV6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuIgorI34gbXNnc3RyICIiCisjfiAiT3Bvem9yaWxvOiBtYWxvIHZlcmpldG5vILl0ZXZpbG8gc2VrdG9yamV2ICglbHUpIC0gcG9uYXZhZGkgamloIGplIDYzXG4iCisjfiAiVG8gYm8gcG92enJv6GlsbyB0Zb5hdmUgeiB2c28gcHJvZ3JhbXNrbyBvcHJlbW8sIGtpIHVwb3JhYmxqYSBDL0cvUyBuYXNsYXZsamFuamUuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IGN5bGluZGVycywgJWx1IGhlYWRzLCAlbHUgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWx1IHN0ZXosICVsdSBnbGF2LCAlbHUgc2VrdG9yamV2L3N0ZXpvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIiVzIG9kIHJhemRlbGthICVzIGltYSBuZW1vZ2/obyB2cmVkbm9zdCBnbGF2ZTogJWx1IChtb3JhIGJpdGkgMC0lbHUpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBzZWN0b3I6ICVsdSAoc2hvdWxkIGJlIGluIDEtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgb2QgcmF6ZGVsa2EgJXMgaW1hIG5lbW9nb+hvIHZyZWRub3N0IHNla3RvcmphOiAlbHUgKG1vcmEgYml0aSAxLSVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpIgorI34gbXNnc3RyICIlcyBvZCByYXpkZWxrYSAlcyBpbWEgbmVtb2dv6G8gdnJlZG5vc3Qgc3RlemU6ICVsdSAobW9yYSBiaXRpIDAtJWx1KVxuIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICJQb25vdm5vIGJlcmVtIHRhYmVsbyByYXpkZWxrb3YgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJVa2F6IHBvbm92bmVnYSBicmFuamEgdGFiZWxlIHJhemRlbGtvdiBuaSB1c3BlbFxuIgorI34gIlBvbm92bm8gemG+ZW5pdGUgdmG5IHNpc3RlbSB6ZGFqIHByZWQgdXBvcmFibyBta2ZzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAiTmFwYWthIHByaSB6YXBpcmFuanUgJXNcbiIKKworI34gbXNnaWQgIiVzOiBubyBzdWNoIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIlczogdGFrIHJhemRlbGVrIG5lIG9ic3RhamFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9ycyIKKyN+IG1zZ3N0ciAibmVyYXpwb3puYXZuYSBvYmxpa2EgLSB1cG9yYWJsamFtIHNla3RvcmplXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAibmVwb2RwcnRhIG9ibGlrYSAtIHVwb3JhYmxqYW0gJXNcbiIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInNla3RvcmppIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVub3RlID0gc3RlemUgcG8gJWx1IGJhanRvdiwgYmxva2kgcG8gMTAyNCBiYWp0b3YsILl0ZWplbSBvZCAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiBOYXByYXZhIFphZ29uIFph6GV0ZWsgS29uZWMgICNzdGV6ZSAgICAjYmxva2kgICAgSWQgIFNpc3RlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVub3RlID0gc2VrdG9yamkgcG8gNTEyIGJhanRvdiwguXRlamVtIG9kICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgTmFwcmF2YSBaYWdvbiAgIFph6GV0ZWsgICAgIEtvbmVjICAjc2t0cmppICAgSWQgIFNpc3RlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVub3RlID0gYmxva2kgcG8gMTAyNCBiYWp0b3YsILl0ZWplbSBvZCAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIE5hcHJhdmEgWmFnb24gIFph6GV0ZWsgICAgIEtvbmVjICAgI2Jsb2tpICAgIElkICBTaXN0ZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbm90ZSA9IE1pQiBpeiAxMDQ4NTc2IGJhanRvdiwgYmxva2kgcG8gMTAyNCBiYWp0b3YsILl0ZWplIHNlIG9kICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiTmFwcmF2YSBaYWdvbiBaYehldGVrIEtvbmVjICAgTWlCICAgICNibG9raSAgICBJZCAgU2lzdGVtXG4iCisKKyN+IG1zZ2lkICJcdFx0c3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHR6YehldGVrOiAoc3R6LGcsc2t0KSBwcmnoYWtvdmFubyAoJWxkLCVsZCwlbGQpLCBuYWpkZW5vICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgIlx0XHRlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIlx0XHRrb25lYzogKHN0eixnLHNrdCkgcHJp6GFrb3Zhbm8gKCVsZCwlbGQsJWxkKSwgbmFqZGVubyAoJWxkLCVsZCwlbGQpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgInJhemRlbGVrIHNlIGtvbuhhIG5hIHN0ZXppICVsZCB6YSBrb25jZW0gZGlza2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogVGhlIHBhcnRpdGlvbiB0YWJsZSBsb29rcyBsaWtlIGl0IHdhcyBtYWRlXG4iCisjfiAiICBmb3IgQy9IL1M9Ki8lbGQvJWxkIChpbnN0ZWFkIG9mICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJGb3IgdGhpcyBsaXN0aW5nIEknbGwgYXNzdW1lIHRoYXQgZ2VvbWV0cnkuIgorI34gbXNnc3RyICIiCisjfiAiT3Bvem9yaWxvOiBUYWJlbGEgcmF6ZGVsa292IGl6Z2xlZGEsIGtvdCBkYSBqZSBiaWxhXG4iCisjfiAiIG5hcmVqZW5hIHphIHN0ei9nL3NrdD0qLyVsZCVsZCAobmFtZXN0byAlbGQvJWxkLyVsZCkuXG4iCisjfiAiWmEgdGEgc3Bpc2VrIHNlIHByaXZ6ZW1hIHRvIGdlb21ldHJpam8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQuIgorI34gbXNnc3RyICJub2JlbmEgdGFiZWxhIHJhemRlbGtvdiBuaSBuYSB2b2xqby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgInphbmltaXZvLCBzYW1vICVkIHJhemRlbGtvdiBqZSBkb2xv6GVuaWguXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHkiCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJXMgaW1hIHZlbGlrb3N0IDAgYW1wYWsgbmkgb3puYehlbiBrb3QgUHJhemVuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlIgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVzIGltYSB2ZWxpa29zdCAwIGluIGplIG96bmHoZW4ga290IHphZ29uc2tpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJXMgaW1hIHZlbGlrb3N0IDAgaW4gbmVuaehlbG5pIHph6GV0ZWtcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXMiCisjfiBtc2dzdHIgIm5pIHZzZWJvdmFuIHYgcmF6ZGVsa3UgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb25zICVzIGFuZCAlcyBvdmVybGFwIgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVkIGplIHByYXplblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogcmF6ZGVsZWsgJXMgdnNlYnVqZSBkZWwgdGFiZWxlIHJhemRlbGtvdiAoc2VrdG9yICVsdSlcbiIKKyN+ICJpbiBibyB1bmnoZW4sIGtvIHNlIG5hcG9sbmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAwIgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVzIHNlIHph6G5lIG5hIHNla3Rvcmp1IDBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVzIHBvdGVrYSB6YSBrb25jZW0gZGlza2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpIgorI34gbXNnc3RyICIiCisjfiAiTWVkIHByaW1hcm5pbWkgcmF6ZGVsa2kgc2UgbGFoa28gcmF6uWlyaSBzYW1vIGVkZW5cbiIKKyN+ICIgKOhlcHJhdiB0byBuaSBwcm9ibGVtIHByaSBMaW51eC11KVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVzIHNlIG5lIHph6G5lIG5hIG1lamkgcyBzdGV6b1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiByYXpkZWxlayAlcyBzZSBuZSBrb27oYSBuYSBtZWppIHMgc3Rlem9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogdmXoIGtvdCBlbiBwcmltYXJuaSByYXpkZWxlayBqZSBvem5h6GVuIGtvdCB6YWdvbnNraSBcbiIKKyN+ICJUbyBuaSBwcm9ibGVtIHphIExJTE8sIHNhbW8gRE9TIE1CUiBzZSBuZSBtb3JlIHphZ25hdGkgcyB0ZWdhIGRpc2thLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuIgorI34gbXNnc3RyICIiCisjfiAiT3Bvem9yaWxvOiBwb25hdmFkaSBzZSBsYWhrbyB6YWdhbmphIHMgcHJpbWFybmloIHJhemRlbGtvdiwgc2Ftb1xuIgorI34gIkxJTE8gbmUgdXBvuXRldmEgemFzdGF2aWNlIGBib290YWJsZScuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiT3Bvem9yaWxvOiBub2JlbiBwcmltYXJuaSByYXpkZWxlayBuaSBvem5h6GVuIGtvdCB6YWdvbnNraVxuIgorI34gIlRvIG5pIHByb2JsZW0gemEgTElMTywgc2FtbyBET1MgTUJSIHNlIG5lIG1vcmUgemFnbmF0aSBzIHRlZ2EgZGlza2EuXG4iCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAiemHoZXRlayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKSIKKyN+IG1zZ3N0ciAicmF6ZGVsZWsgJXM6IHph6GV0ZWs6IChzdHosZyxza3QpIHByaehha292YW5vICglbGQsJWxkLCVsZCksIG5hamRlbm8gKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJrb25lYyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInJhemRlbGVrICVzOiBrb25lYzogKHN0eixnLHNrdCkgcHJp6GFrb3Zhbm8gKCVsZCwlbGQsJWxkKSBuYWpkZW5vICglbGQsJWxkLCVsZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICJyYXpkZWxlayAlcyBzZSBrb27oYSBuYSBzdGV6aSAlbGQsIHphIGtvbmNlbSBkaXNrYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAiT3Bvem9yaWxvOiB6YehldGVrIHJherlpcmplbmVnYSByYXpkZWxrYSBqZSBiaWwgcHJlbWFrbmplblxuIgorI34gIm9kICVsZCBuYSAlbGQgKFNhbW8gemEgaXpwaXNvdmFuamUsIG5lIHNwcmVtaW5qYWp0ZSB2c2ViaW5lLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuIgorI34gbXNnc3RyICIiCisjfiAiT3Bvem9yaWxvOiByYXq5aXJqZW4gcmF6ZGVsZWsgc2UgbmUgemHobmUgbmEgbWVqaSBzIHN0ZXpvLlxuIgorI34gIkRPUyBpbiBMaW51eCBib3N0YSB0b2xtYehpbGEgdnNlYmlubyByYXpsaehuby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIk5BUEFLQTogc2VrdG9yICVsdSBuaW1hIG96bmFrZSB0aXBhIG1zZG9zXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCV6dSkiCisjfiBtc2dzdHIgInByZXZl6CByYXpkZWxrb3YgLSBwbyC5dC4gJWQgbmUgYm9kbyB1cG+5dGV2YW5pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAiZHJldm8gcmF6ZGVsa292P1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAiemF6bmFuIGplIFVwcmF2bGphbG5payBkaXNrYSAtIHVwcmF2bGphbmplIHogbmppbSBuaSBwb2RwcnRvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRE02IHNpZ25hdHVyZSBmb3VuZCAtIGdpdmluZyB1cCIKKyN+IG1zZ3N0ciAiRE02IHBvZHBpcyBuYWpkZW4gLSBrb27odWplbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJ6YW5pbWl2by4uLiwgcmF6uWlyamVuIHJhemRlbGVrIHZlbGlrb3N0aSAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICJ6YW5pbWl2by4uLiwgQlNEIHJhemRlbGVrIHZlbGlrb3N0aSAwP1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIi1uIHphc3RhdmljYSBqZSBiaWwgcG9kYW5hOiBCcmV6IHNwcmVtZW1iXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIk5ldXNwZblubyBzaHJhbmpldmFuamUgc3RhcmloIHNla3RvcmpldiAtIHByZWtpbmphbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIk5ldXNwZblubyB6YXBpc292YW5qZSByYXpkZWxrYSBuYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmciCisjfiBtc2dzdHIgImRvbGdhIGFsaSBuZXBvcG9sbmEgdm5vc25hIHZyc3RpY2EgLSBrb27odWplbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgInZob2RuYSBuYXBha2E6IGA9JyBwcmnoYWtvdmFubyBwbyBwb2xqdSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAidmhvZG5hIG5hcGFrYTogbmVwcmnoYWtvdmFuIHpuYWsgJWMgcG8gcG9sanUgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQ6ICVzIgorI34gbXNnc3RyICJuZXByZXBvem5hbiB2aG9kOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICJwcmV2ZWxpa2EguXRldmlsa2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlciIKKyN+IG1zZ3N0ciAiuXRldmlsa2kgc2xlZGlqbyDodWRuaSBwb2RhdGtpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgInphIG9waXNuaWsgcmF6ZGVsa2EgbmkgcHJvc3RvcmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJ1c3R2YXJqYW5qZSByYXq5aXJqZW5lZ2EgcmF6ZGVsa2Egb2tvbGkgb2JzdG9qZehlZ2EgbmkgdXNwZWxvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJwcmV2ZeggdmhvZG5paCBwb2xqXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiTmkgdmXoIHByb3N0b3JhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICJOZXByYXZpbGVuIHRpcFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbGx1KSIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiBwb2RhbmEgdmVsaWtvc3QgKCVsdSkgcHJlc2VnYSBuYWp2ZehqbyBkb3ZvbGplbm8gKCVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogcHJhemVuIHJhemRlbGVrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWxsdSkiCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogcG+5a29kb3ZhbiB6YehldGVrIHJhemRlbGthIChuYWpwcmVqICVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgIm5lcHJlcG96bmFuYSB6YWdvbnNrYSB6YXN0YXZpY2EgLSBpenZlcml0ZSAtIGFsaSAqXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uPyIKKyN+IG1zZ3N0ciAiZGVsbmEgc3R6LGcsc2t0IHNwZWNpZmlrYWNpamE/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZCIKKyN+IG1zZ3N0ciAiUmF6uWlyamVuIHJhemRlbGVrIG5hIG5lcHJp6GFrb3ZhbmVtIG1lc3R1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJzbGFiIHZub3NcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJwcmV2ZeggcmF6ZGVsa292XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIklucHV0IGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OyBhYnNlbnQgZmllbGRzIGdldCBhIGRlZmF1bHQgdmFsdWUuXG4iCisjfiAiPHN0YXJ0PiA8c2l6ZT4gPHR5cGUgW0UsUyxMLFgsaGV4XT4gPGJvb3RhYmxlIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICJVc3VhbGx5IHlvdSBvbmx5IG5lZWQgdG8gc3BlY2lmeSA8c3RhcnQ+IGFuZCA8c2l6ZT4gKGFuZCBwZXJoYXBzIDx0eXBlPikuIgorI34gbXNnc3RyICIiCisjfiAiVm5vcyB2IHNsZWRl6Gkgb2JsaWtpOyBvZHNvdG5hIHBvbGphIGRvYmlqbyBwcml2emV0byB2cmVkbm9zdC5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZT4gW0UsUyxMLFgsaGV4XT4gPGJvb3RhYmxlIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICJQb25hdmFkaSBqZSBwb3RyZWJubyB6YXBpc2F0aSBzYW1vIDxzdGFydD4gaW4gPHNpemU+ICh26GFzaWggdHVkaSA8dHlwZT4pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGFuZ2Vyb3VzIG9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIm5ldmFybmUgaXpiaXJlOiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAgcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5XG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiICAgIC1HIFthbGkgLS1zaG93LXB0LWdlb21ldHJ5XTogaXpwablpIHVnYW5qZW5vIGdvbWV0cmlqbyBpeiB0YWJlbGUgcmF6ZGVsa292IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTxkZXZpY2U+XSBhY3RpdmF0ZSB0aGUgYm9vdGFibGUgZmxhZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTxkZXZpY2U+XSAgIHNldCBwYXJ0aXRpb24gYXMgdW5oaWRkZW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBpbiB0aGUgb3V0cHV0LFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIGluIHRoZSBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIC14IFthbGkgLS1zaG93LWV4dGVuZGVkXTogaXpwablpIHR1ZGkgcmF6uWlyamVuZSByYXpkZWxrZSBhbGlcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcmnoYWt1aiBvcGlzbmlrZSBuYSB2aG9kdSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSAgICAgICAgICAgIGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiVzIG5hcHJhdmFcdFx0IGl6cGm5aSBkZWphdm5lIHJhemRlbGtlIG5hIG5hcHJhdmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiVzIG5hcHJhdmEguXQxILl0MiAuLi4gYWt0aXZpcmFqIHJhemRlbGVrIG4xIC4uLiwgZGVha3RpdmlyYWogb3N0YWxlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgcGFydGl0aW9ucyBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZubyC5dGV2aWxvOiAlc1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgbmUgbW9yZW0gb2RwcmV0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAidXBvcmFiYTogc2ZkaXNrIC0tcHJpbnQtaWQgbmFwcmF2YSC5dC4gcmF6ZGVsa2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICJ1cG9yYWJhOiBzZmRpc2sgLS1jaGFuZ2UtaWQgbmFwcmF2YSC5dC4gcmF6ZGVsa2EgSWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0taWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIgW0lkXSIKKyN+IG1zZ3N0ciAidXBvcmFiYTogc2ZkaXNrIC0taWQgbmFwcmF2YSC5dC4gcmF6ZGVsa2EgW0lkXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJuYXZlZGV0ZSBsYWhrbyBzYW1vIGVubyBuYXByYXZvIChyYXplbiB6IC1sIGFsaSAtcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aSB6YSBicmFuamUgaW4gcGlzYW5qZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aSB6YSBicmFuamVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogT0siCisjfiBtc2dzdHIgIiVzOiBWcmVkdVxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzdGV6LCAlbGQgZ2xhdiwgJWxkIHNla3Rvcmpldi9zbGVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAic2xhYiBkZWphdm5pIGJhanQ6IDB4JXggbmFtZXN0byAweDgwXG4iCisKKyN+IG1zZ2lkICJEb25lIgorI34gbXNnc3RyICJPcHJhdmxqZW5vIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSAlZCBhY3RpdmUgcHJpbWFyeSBwYXJ0aXRpb25zLiBUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTyxcbiIKKyN+ICJidXQgdGhlIERPUyBNQlIgd2lsbCBvbmx5IGJvb3QgYSBkaXNrIHdpdGggMSBhY3RpdmUgcGFydGl0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIkltYXRlICVkIGRlamF2bmloIHByaW1hcm5paCByYXpkZWxrb3YuIFphIExJTE8gdG8gbmkgdGW+YXZhLFxuIgorI34gImFtcGFrIERPUyBNQlIgc2UgYm8gbmFsb75pbCBzYW1vIHogZGlza292LCBraSBpbWFqbyAxIGRlamF2ZW4gcmF6ZGVsZWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uICVzIGhhcyBpZCAleCBhbmQgaXMgbm90IGhpZGRlbiIKKyN+IG1zZ3N0ciAicmF6ZGVsZWsgJXMgaW1hIGlkICV4IGluIG5pIHNrcml0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIElkICVseCIKKyN+IG1zZ3N0ciAiU2xhYiBJZCAlbHhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZS4iCisjfiBtc2dzdHIgIlRhIGRpc2sgamUgdHJlbnV0bm8gdiByYWJpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhdGFsIGVycm9yOiBjYW5ub3QgZmluZCAlcyIKKyN+IG1zZ3N0ciAiVXNvZG5hIG5hcGFrYTogJXMgbmkgbW9nb+hlIG5hanRpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJPcG96b3JpbG86ICVzIG5pIGJsb2tvdm5hIG5hcHJhdmFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPSyIKKyN+IG1zZ3N0ciAiVlJFRFVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIlJhemRlbGVrICVkIG5lIG9ic3RhamEgaW4gbmUgbW9yZSBiaXRpIHNwcmVtZW5qZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJUZSByYXpkZWxraSBtaSBuZSB1c3RyZXpham8gLSBuaSBzcHJlbWVtYi5cbiIKKyN+ICIoyGUgcmVzIL5lbGl0ZSB0bywgdXBvcmFiaXRlIGl6YmlybyAtLWZvcmNlLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGRvbid0IGxpa2UgdGhpcyAtIHByb2JhYmx5IHlvdSBzaG91bGQgYW5zd2VyIE5vIgorI34gbXNnc3RyICJUbyBtaSBuZSB1c3RyZXphIC0gdmVyamV0bm8gYmkgbW9yYWxpIG9kZ292b3JpdGkgTmVcbiIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICJBbGkgc3RlIHphZG92b2xqbmkgcyB0ZW0/IFt5bnFdICIKKworIywgZnV6enkKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAiS29u6HVqZW0gLSBicmV6IHNwcmVtZW1iXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICJQcm9zaW0sIGRhIG9kZ292b3Jpem8geiB5LG4scVxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVGFiZWxhIHJhemRlbGtvdiBqZSB1c3BluW5vIHphcGlzYW5hXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pIgorI34gbXNnc3RyICIiCisjfiAiyGUgc3RlIHVzdHZhcmlsaSBhbGkgc3ByZW1lbmlsaSByYXpkZWxlayB0aXBhIERPUywgbnByLiAvZGV2L2ZvbzcsIHBvdGVtIHVwb3JhYml0ZVxuIgorI34gImRkKDEpIHphdG8sIGRhIHBvc3Rhdml0ZSBwcnZpaCA1MTIgYmFqdG92IG5hIDA6IGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoZ2xlaiBmZGlzayg4KS4pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueCBwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBkb2N1bWVudGF0aW9uIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk9QT1pPUklMTzogyGUgc3RlIHVzdHZhcmlsaSBhbGkgc3ByZW1lbmlsaVxuIgorI34gIkRPUyA2LnggcmF6ZGVsa2UsIHNpIHByb3NpbSBvZ2xlanRlXG4iCisjfiAicHJpcm/obmlrIGNmZGlza2EgemEgZG9kYXRuZSBpbmZvcm1hY2lqZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAicG9samUgamUgcHJlZG9sZ28uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiAnJWMnIG5pIGRvdm9samVuby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIG5pIGRvdm9samVuby5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IE5hZHpvcm5pIHpuYWtpIG5pc28gZG92b2xqZW5pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIk5hZHpvcm5pIHpuYWtpIG5pc28gZG92b2xqZW5pLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzLiIKKyN+IG1zZ3N0ciAiJXM6IGxhaGtvIHNwcmVtaW5qYSBzYW1vIGxva2FsbmUgdm5vc2U7IG5hbWVzdG8gdGVnYSB1cG9yYWJpdGUgeXAlcyAuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtub3RpbWV8c2hvcnR8ZnVsbHxpc29dXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgIFBydmkgICAgICAgIFphZG5qaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBkZXRhaWxzIHNlZSBsc2xvZ2lucygxKS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiSXpiaXJhIC0tZGF0ZSBuaSBiaWxhIHBvZGFuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICBUaGlzIHNtYWxsIHVzYWdlIGd1aWRlXG4iCisjfiBtc2dzdHIgIiAgLWggIC0taGVscCAgICAgICAgICAgICAgICAgICBNYW5quWEgbmF2b2RpbGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAgSXpwablpIGluZm9ybWFjaWplIG8gcmF6bGnoaWNpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiBuYW1laSBbLW14XSBpbWVuaWsgW2ltZW5payAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaXMgcmVtb3ZhYmxlIGRldmljZSIKKyN+IG1zZ3N0ciAiIG9kc3RyYW5saml2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkl6YmlyYSAtLWRhdGUgbmkgYmlsYSBwb2RhbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0ciAiUG90cmVibm8gamUgdnN0YXZpdGkgJWQgc2VrdW5kIGluIHByZXZpdGkg6GFzIHphICUuNmYgc2VrdW5kXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiyGFrYW0gdiB6YW5raSBuYSBzcHJlbWVtYm8g6GFzYSBpeiBLREdIV0NMS1xuIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwgemEgYnJhbmplIOhhc2EgbmkgdXNwZWxvIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCB6YSBicmFuamUg6GFzYSBuaSB1c3BlbG8gdiB6YW5raSIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICJrbGljIGlvY3RsKCkgbmkgdXNwZWwgcHJlYnJhdGkg6GFzYSBpeiAlcyIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaW9jdGwgS0RTSFdDTEsgbmkgdXNwZWwiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIi9kZXYvdHR5MSBhbGkgL2Rldi92Yy8xIG5pIG1vZ2/oZSBvZHByZXRpIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCBuaSB1c3BlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogJXMgcHJvZ3JhbSBbaXpiaXJhIC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiAlcyBwcm9ncmFtIFtpemJpcmEgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi5uYXphaiB6YSBlbm8gc3RyYW4iCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4ucHJlc2tvayB2cnN0aWNlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1uLCAtLW5vLWFyZ3VtZW50ICAgICAgIG9wdGlvbiBkb2VzIG5vdCB1c2UgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAiICAtdSwgLS11bnFvdGUgICAgICAgICAgICAgICAgIE5lIGNpdGlyYWogaXpob2RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yLCAtLXJlcXVpcmVkIDxhcmc+ICAgIG9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICIlczogaXpiaXJhIHphaHRldmEgYXJndW1lbnQgLS0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zZWN1dGl2ZSBsaW5lcyBhcmUgaW50ZW5kZWQgYnkgdHdvIHNwYWNlc1xuIgorI34gbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgQnJleiBub3JtYWxuZWdhIGl6aG9kYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIiAgLXUsIC0tdW5xb3RlICAgICAgICAgICAgICAgICBOZSBjaXRpcmFqIGl6aG9kYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaCAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gbXNnc3RyICIgIC1oICAtLWhlbHAgICAgICAgICAgICAgICAgICAgTWFuarlhIG5hdm9kaWxhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC0tdmVyc2lvblxuIgorI34gbXNnc3RyICJyYXpsaehpY2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIlczogcHJldmVkZW5vIGJyZXogLXggYXJndW1lbnRhXG4iCisKKyN+IG1zZ2lkICIlczogT3V0IG9mIG1lbW9yeSFcbiIKKyN+IG1zZ3N0ciAiJXM6IFptYW5qa2FsbyBwb21uaWxuaWthIVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIk5ldXBvcmFibm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiRGlzayBqZSBiaWwgc3ByZW1lbmplbi5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICJQb25vdm5vIHphvmVuaXRlIHNpc3RlbSwgZGEgYm8gcmF6ZGVsaXR2ZW5hIHRhYmVsYSBwcmF2aWxubyBhvnVyaXJhbmEuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT1BPWk9SSUxPOiDIZSBzdGUgdXN0dmFyaWxpIGFsaSBzcHJlbWVuaWxpXG4iCisjfiAiRE9TIDYueCByYXpkZWxrZSwgc2kgcHJvc2ltIG9nbGVqdGVcbiIKKyN+ICJwcmlyb+huaWsgY2ZkaXNrYSB6YSBkb2RhdG5lIGluZm9ybWFjaWplLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIlVTT0ROQSBOQVBBS0EiCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICJQcml0aXNuaWtlIGthdGVyb2tvbGkgdGlwa28gemEgaXpob2QgaXogY2ZkaXNrLWEiCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJJc2thbmplIG5hIGRpc2t1IG5pIG1vZ2/oZSIKKworI34gbXNnaWQgIkNhbm5vdCByZWFkIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkRpc2tvdm5lZ2EgcG9nb25hIG5pIG1vZ2/oZSBwcmVicmF0aSIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJOYSBkaXNrb3ZuaSBwb2dvbiBuaSBtb2dv6GUgcGlzYXRpIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiUHJldmXoIHJhemRlbGtvdiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJSYXpkZWxlayBzZSB6YehuZSBwcmVkIHNla3RvcmplbSAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJSYXpkZWxlayBzZSBrb27oYSBwcmVkIHNla3RvcmplbSAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgc2UgemHobmUgcG8ga29uY3UgZGlza2EiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgc2Uga29u6GEgcG8ga29uY3UgZGlza2EiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgImxvZ2nobmkgcmF6ZGVsa2kgbmlzbyB2IHByYXZlbSBkaXNrb3ZuZW0gcmVkdSIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJsb2dp6G5pIHJhemRlbGtpIHNlIHByZWtyaXZham8iCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAicG92ZehhbmkgbG9naehuaSByYXpkZWxraSBzZSBwcmVrcml2YWpvIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEgSW50ZXJuYSBuYXBha2EgcHJpIHVzdHZhcmphbmplIGxvZ2nobmVnYSBwb2dvbmEgYnJleiByYXq5aXJqZW5lZ2EgcmF6ZGVsa2EgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTG9naehuZWdhIHBvZ29uYSBuYSB0ZW0gbWVzdHUgbmkgbW9nb+hlIHVzdHZhcml0aSAtIHVzdHZhcmlsaSBiaSBkdmEgcmF6uWlyamVuYSByYXpkZWxrYSIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICJNZW51anNraSB2bm9zIHByZWRvbGcuIE1lbnUgbGFoa28gaXpnbGVkYSBuZW5hdmFkbm8uIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIk5lZG92b2xqZW5hIHRpcGthIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJVc3R2YXJpIG5vdiBwcmltYXJlbiByYXpkZWxlayIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBsb2dpY2FsIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVXN0dmFyaSBub3YgbG9naehlbiByYXpkZWxlayIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiUHJla2xp6GkiCisKKyN+IG1zZ2lkICJEb24ndCBjcmVhdGUgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIk5lIHVzdHZhcmkgcmF6ZGVsa2EiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgSW50ZXJuYSBuYXBha2EgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIlZlbGlrb3N0ICh2IE1CKTogIgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICJaYehldGVrIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiRG9kYWogcmF6ZGVsZWsgbmEgemHoZXRlayBuZXphc2VkZW5lZ2EgcHJvc3RvcmEiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJEb2RhaiByYXpkZWxlayBuYSBrb25lYyBuZXphc2VkZW5lZ2EgcHJvc3RvcmEiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJOaSBwcm9zdG9yYSB6YSB1c3R2YXJqYW5qZSByYXq5aXJqZW5lZ2EgcmF6ZGVsa2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICJOaSB0YWJlbGUgcmF6ZGVsa292LiBVcG9yYWJhIHByYXpuZSB0YWJlbGUuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJQb7lrb2RvdmFuIHBvZHBpcyBuYSB0YWJlbGkgcmF6ZGVsa292IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIk5lem5hbiB0aXAgdGFiZWxlIHJhemRlbGtvdiIKKworI34gbXNnaWQgIkRvIHlvdSB3aXNoIHRvIHN0YXJ0IHdpdGggYSB6ZXJvIHRhYmxlIFt5L05dID8iCisjfiBtc2dzdHIgIkFsaSC+ZWxpdGUgemHoZXRpIHMgcHJhem5vIHRhYmVsbyBbeS9OXSA/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRGlza292bmUgZW5vdGUgbmkgbW9nb+hlIG9kcHJldGkiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICJEaXNrIG9kcHJ0IHNhbW8gemEgYnJhbmplIC0gbmltYXRlIGRvdm9samVuamEgemEgcGlzYW5qZSIKKworI34gbXNnaWQgIkNhbm5vdCBnZXQgZGlzayBzaXplIgorI34gbXNnc3RyICJWZWxpa29zdGkgZGlza292bmUgc3RlemUgbmkgbW9nb+hlIHByZWJyYXRpIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJQb7lrb2RvdmFuIHByaW1hcm5pIHJhemRlbGVrIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBUaGlzIG1heSBkZXN0cm95IGRhdGEgb24geW91ciBkaXNrISIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvISEgVG8gbGFoa28gdW5p6GkgcG9kYXRrZSBuYSB2YbllbSBkaXNrdSEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiUHJvc2ltIHZwablpdGUgLGRhYCBhbGkgLG5lYCIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIlRhYmVsYSByYXpkZWxrb3Ygc2UgemFwaXN1amUgbmEgZGlzay4uLiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICJUYWJlbGEgcmF6ZGVsa292IGplIGJpbGEgemFwaXNhbmEgbmEgZGlzayIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAiVGFiZWxhIHJhemRlbGtvdiB6YXBpc2FuYSwgYW1wYWsgcG9ub3ZubyBicmFuamUgdGFiZWxlIG5pIHVzcGVsby4gUG9ub3ZubyB6Yb5lbml0ZSBzaXN0ZW0sIGRhIHBvc29kb2JpdGUgdGFiZWxvLiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICJOb2JlbiBwcmltYXJuaSByYXpkZWxlayBuaSBvem5h6GVuIGtvdCB6YWdvbnNraS4gRE9TIE1CUiBzZSBuZSBtb3JlIHphZ25hdGkuIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIlZl6CBrb3QgZW4gcHJpbWFybmkgcmF6ZGVsZWsgamUgb3puYehlbiBrb3QgemFnb25za2kuIERPUyBNQlIgc2UgbmUgbW9yZSB6YWduYXRpLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJWbmVzaXRlIGltZSBkYXRvdGVrZSBhbGkgcHJpdGlzbml0ZSBFTlRFUiB6YSBwcmlrYXogbmEgemFzbG9udTogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAiRGlza292bmEgZW5vdGE6ICVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yIDA6XG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgJWQ6XG4iCisjfiBtc2dzdHIgIlNla3RvciAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIEJyZXogICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICBQcmkvTG9nIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICBQcmltYXJlbiIKKworI34gbXNnaWQgIiAgIExvZ2ljYWwiCisjfiBtc2dzdHIgIiAgIExvZ2noZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm9uZSIKKyN+IG1zZ3N0ciAiQnJleiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBUYWJsZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiVGFiZWxhIHJhemRlbGtvdiB6YSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgUHJ2aSAgICAgICAgWmFkbmppXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIFRpcCAgICAgICAgU2VrdG9yICAgICAgU2VrdG9yICAgT2RtaWsgICAgIERvbL5pbmEgIFRpcCBkYXQuIHNpc3RlbWEgKElEKSBaYXN0YXZpY2VcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAtLS0tWmHoZXRuaS0tLSAgICAgIC0tLS1Lb27obmktLS0tICBaYehldGVrICAgICCpdGV2aWxvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjICAgT3puIEdsYXYgU2VrdCBTdHogICBJRCAgR2xhdiBTZWt0IFN0eiAgICBzZWt0b3Igc2VrdG9yamV2XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0tLS0gLS0tLS0tLS0tXG4iCisKKyN+IG1zZ2lkICJSYXciCisjfiBtc2dzdHIgIlN1cm92IgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiSXpwaXMgdGFiZWxlIHYgc3Vyb3ZpIG9ibGlraSIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIkl6cGlzIHRhYmVsZSwgdXJlamVuZSBwbyBzZWt0b3JqaWgiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiVGFiZWxhIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJTYW1vIGl6cGlzIHRhYmVsZSByYXpkZWxrb3YiCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIkJyZXogaXpwaXNhIHRhYmVsZSByYXpkZWxrb3YiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIFNwcmVtZW5pIHBhcmFtZXRyZSAouXQuIHN0ZXosILl0LiBnbGF2LCBzZWt0b3JqZXYvc3Rlem8pIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFdBUk5JTkc6IFRoaXMgb3B0aW9uIHNob3VsZCBvbmx5IGJlIHVzZWQgYnkgcGVvcGxlIHdobyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE9QT1pPUklMTzogSXpiaXJvIG5haiBpemJlcmVqbyBsZSB0aXN0aSwiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGtpIHJhenVtZWpvLCBrYWogcG/obmVqby4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBQb3JhYmkgbmFqdmXoIHByb3N0b3JhIHphIHRyZW51dG5pIHJhemRlbGVrIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE9wb21iYTogVG8gbGFoa28gbmFwcmF2aSByYXpkZWxlayBuZXpkcnW+bGppdiB6IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAgUHJlcGm5aSB0YWJlbG8gcmF6ZGVsa292IG5hIHphc2xvbiBhbGkgdiBkYXRvdGVrbyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBUaGVyZSBhcmUgc2V2ZXJhbCBkaWZmZXJlbnQgZm9ybWF0cyBmb3IgdGhlIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE9ic3RhamEgdmXoIHJhemxp6G5paCB6YXBpc292IHphIHBhcnRpY2lqbyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICB0aGF0IHlvdSBjYW4gY2hvb3NlIGZyb206IgorI34gbXNnc3RyICIgICAgICAgICAgICAgbWVkIGthdGVyaW1pIGxhaGtvIGl6YmlyYXRlOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIG5lb2JkZWxhbmkgcG9kYXRraSAobmF0YehubyB0bywga2FyIGJpIGJpbG8gemFwaXNhbm8gbmEgZGlzaykiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSBUYWJlbGEsIHVyZWplbmEgcG8gc2VrdG9yamloIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIFNwcmVtZW5pIGVub3RlIGl6cGlzYSB2ZWxpa29zdGkgcmF6ZGVsa292IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgS3JvvmkgbWVkIE1CLCBzZWt0b3JqaSBpbiBzdGV6YW1pIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIE9zdmW+aSBpenBpcyIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIEl6cGm5aSB0byBva25vIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJTcHJlbWVuaSC5dGV2aWxvIHN0ZXoiCisKKyN+IG1zZ2lkICJDaGFuZ2UgaGVhZCBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiU3ByZW1lbmkguXRldmlsbyBnbGF2IgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiU3ByZW1lbmkguXRldmlsbyBzZWt0b3JqZXYiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlNwcmVtZW1iYSBnZW9tZXRyaWplIGplIGtvbuhhbmEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGN5bGluZGVyczogIgorI34gbXNnc3RyICJWbmVzaXRlILl0ZXZpbG8gc3RlejogIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIk5lZG92b2xqZW5hIHZyZWRub3N0IHN0ZXoiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIlZuZXNpdGUguXRldmlsbyBnbGF2OiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJOZWRvdm9samVubyC5dGV2aWxvIGdsYXYiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIlZuZXNpdGUguXRldmlsbyBzZWt0b3JqZXYgbmEgc3Rlem86ICIKKworI34gbXNnaWQgIklsbGVnYWwgc2VjdG9ycyB2YWx1ZSIKKyN+IG1zZ3N0ciAiTmVkb3ZvbGplbm8guXRldmlsbyBzZWt0b3JqZXYiCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlc3lzdGVtIHR5cGU6ICIKKyN+IG1zZ3N0ciAiVm5lc2l0ZSB2cnN0byBkYXRvdGXobmVnYSBzaXN0ZW1hOiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIlZyc3RlIGRhdG90ZehuZWdhIHNpc3RlbWEgbmkgbW/oIHNwcmVtZW5pdGkgbmEgcHJhem5vIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJWcnN0ZSBkYXRvdGXobmVnYSBzaXN0ZW1hIG5pIG1v6CBzcHJlbWVuaXRpIG5hIHJherlpcmplbm8iCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIlVuayglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTG9nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIk5lem5hbm8gKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIkRpc2tvdm5pIFBvZ29uOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJWZWxpa29zdDogJWxsZCBiYWp0b3YsICVsbGQgTUIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJWZWxpa29zdDogJWxsZCBiYWp0b3YsICVsbGQsJWxsZCBHQiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIkdsYXY6ICAlZCAgIFNla3Rvcmpldi9zdGV6bzogICAlZCAgIFN0ZXo6ICAgICAgJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiVGlwIFJhemQuIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiRGF0LiBzaXN0ZW0iCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJbT3puYWthXSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiU2VrdG9yamV2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICJTdGV6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgU2l6ZSAoTUIpIgorI34gbXNnc3RyICJWZWwuIChNQikiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIlZlbC4gKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiTmkgdmXoIHJhemRlbGtvdiIKKworI34gbXNnaWQgIkNoYW5nZSBkaXNrIGdlb21ldHJ5IChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJOYXN0YXZpIGdlb21ldHJpam8gZGlza2EgKHNhbW8gcG96bmF2YWxjaSkiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiUmF6cHJpIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIlJhenByaSB0cmVudXRuaSByYXpkZWxlayDoZXogY2Vsb3RubyBuZXphc2VkZW5vIG9ibW/oamUgKHNhbW8gcG96bmF2YWxjaSkiCisKKyN+IG1zZ2lkICJQcmludCIKKyN+IG1zZ3N0ciAiTmF0aXNuaSIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIlNwcmVtZW5pIHRpcCBkYXRvdGXobmVnYSBzaXN0ZW1hIChET1MsIExpbnV4LCBPUy8yIGl0bi4pIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIkVub3RlIgorCisjfiBtc2dpZCAiQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IChNQiwgc2VjdCwgY3lsKSIKKyN+IG1zZ3N0ciAiU3ByZW1lbmkgZW5vdGUgcHJpa2F6YSB2ZWxpa29zdGkgcmF6ZGVsa292IChNQiwgc2VrdCwgY2lsKSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICJUZSBwYXJ0aWNpamUgc2UgbmUgbW9yZSBuYXN0YXZpdGkga290IHphZ29uc2tlIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlByYXpuZWdhIHJhemRlbGthIHNlIG5lIG1vcmUgemJyaXNhdGkiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIlRlZ2EgcmF6ZGVsa2Egc2UgbmUgbW9yZSByYXpwcmV0aSIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJUYSByYXpkZWxlayBuaSB1cG9yYWJlbiIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICJUYSByYXpkZWxlayBzZSC+ZSB1cG9yYWJsamEiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVGlwYSBwcmF6bmVnYSByYXpkZWxrYSBzZSBuZSBtb3JlIHNwcmVtZW5pdGkiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGNvbW1hbmQiCisjfiBtc2dzdHIgIk5hcGHoZW4gdWtheiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiICAgIC1IIyBbYWxpIC0taGVhZHMgI106ICAgbmFzdGF2aSC5dGV2aWxvIGdsYXYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ3Vlc3MgYSBnZW9tZXRyeSBmcm9tIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIgIC11LCAtLXVucW90ZSAgICAgICAgICAgICAgICAgTmUgY2l0aXJhaiBpemhvZGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiICBkICAgICAgICAgIEl6YnJpuWkgdHJlbnV0bmkgcmF6ZGVsZWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgIGMgICBzcHJlbWVuaSC5dGV2aWxvIHN0ZXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICJuaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJic2l6ZSIKKyN+IG1zZ3N0ciAiTmFqdmXoamEgdmVsaWtvc3Q9JWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICJlICAgcmF6uWlyamVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOQyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIk5hc3RhdmkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhpcyBkb2Vzbid0IGxvb2sgbGlrZSBhIHBhcnRpdGlvbiB0YWJsZS4gUHJvYmFibHkgeW91IHNlbGVjdGVkIHRoZSB3cm9uZyBkZXZpY2UuIgorI34gbXNnc3RyICIiCisjfiAiVG8gbmUgaXpnbGVkYSBrb3QgdGFiZWxhIHJhemRlbGtvdlxuIgorI34gIlZlcmpldG5vIHN0ZSBpemJyYWxpIG5hcGHobm8gbmFwcmF2by5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICIlbGQgYmxva292XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJTZWt0b3JqaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiUHJla3JpdmFsaSBzZSB2YW0gYm9kbyByYXpkZWxraSBuYSBkaXNrdS4gUG9wcmF2aXRlIGppaCFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGbGFnIgorI34gbXNnc3RyICJPem5ha2UiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAib3Bvem9yaWxvOiBuYXBha2EgcHJpIGJyYW5qdSAlczogJXMiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAib3Bvem9yaWxvOiBuZSBtb3JlbSBvZHByZXRpICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5pIG1vZ2/oZSBvZHByZXRpICVzIC0gdXBvcmFibGphbSAlcyBuYW1lc3RvIHRlZ2FcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIm5pIG1vZ2/oZSB1c3R2YXJpdGkgb21laml0dmVuZSBkYXRvdGVrZSAlczogJXMgKHphIHBvdm96aXRldiB1cG9yYWJpIC1uKSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJvbWVqaXR2ZW5lIGRhdG90ZWtlICVzIG5pIG1vZ2/oZSB2ZXphdGkgOiAlcyAoemEgcG92b3ppdGV2IHVwb3JhYmkgLW4pIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIm9tZWppdHZlbmUgZGF0b3Rla2UgJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzICh6YSBwb3Zveml0ZXYgdXBvcmFiaSAtbikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiT21laml0dmVuZSBkYXRvdGVrZSAlcyBuaSBtb2dv6GUgemFrbGVuaXRpOiAlc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzIgorI34gbXNnc3RyICJvbWVqaXR2ZW5lIGRhdG90ZWtlICVzIG5pIG1vZ2/oZSB6YWtsZW5pdGk6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb3ZlemF2ZSAlcyBuaSBtb2dv6GUgdXN0dmFyaXRpXG4iCisjfiAiTW9nb+hlIG9ic3RhamEgbmV2ZWxqYXZuYSB6YWtsZXBuYSBkYXRvdGVrYT9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aSAoJXMpIC0gbXRhYiBuaSBhvnVyaXJhbiIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJuYXBha2EgcHJpIHBpc2FuanUgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczogemEgJXMgc3RhbmplIG5pIHpuYW5vOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiTmFwYWthIHByaSBzcHJlbWluamFuanUgbmHoaW5hICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJOYXBha2EgcHJpIHNwcmVtaW5qYW5qdSBuYehpbmEgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgIm5pIG1vZ2/oZSBwcmVpbWVub3ZhdGkgJXMgdiAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBuYWp0aSB2ICVzIGFsaSAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogcG8gZXZpZGVuY2kgbXRhYiBqZSAlcyC+ZSBwcmlrbG9wbGplbm8gbmEgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBwbyBldmlkZW5jaSBtdGFiIGplICVzIHByaWtsb3BsamVubyBuYSAlczwiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlbm90ZSAlcyBuaSBtb+ggb2RwcmV0aSB6YSBwaXNhbmplOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5hcGFrYSBwcmkgcGlzYW5qdSBuYSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBuYXBha2EgcHJpIHNwcmVtaW5qYW5qdSBuYehpbmEgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDogbmkgbW9nb+hlIHZlaml0aTogJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiUG9za3W5YW0geiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHphICVzIG5pc3RlIHBvZGFsaSB2cnN0ZSBkYXQuIHNpc3RlbWFcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiXHRVcG9yYWJpbGkgc2UgYm9kbyB2c2kgdGlwaSBvbWVuamVuaSB2ICVzIGFsaSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIlx0aW4gaXpnbGVkYSBrb3QgZGEgamUgaXptZW5qYWxuaSBwcm9zdG9yXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIlx0VXBvcmFibGplbiBibyB0aXAgJXNcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIGplIHBvZG9iZW4gaXptZW5qYWxuZW11IHByb3N0b3J1LCB6YXRvIG5lIGJvIHByaWtsb3BsamVuIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzYW1vIHNpc3RlbXNraSBza3JibmlrIGxhaGtvIHByaWtsb3BpICVzIG5hICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGxvb3AgZGV2aWNlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgbmFwcmF2YSBqZSBwb2RhbmEgZHZha3JhdCIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcCBqZSBwb2RhbiBkdmFrcmF0IgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuYXN0YXZpdGV2IGxvb3AgbmFwcmF2ZSBibyBwcmVza2/oZW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgbmFwcmF2YSAlcyBibyB1cG9yYWJsamVuYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGludmFsaWQgc2l6ZWxpbWl0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IG5hc3RhdmxqYW5qYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBwbyBldmlkZW5jaSBtdGFiIGplICVzIL5lIHByaWtsb3BsamVubyBuYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogbmFzdGF2aXRldiBsb29wIG5hcHJhdmUgbmkgdXNwZWxhXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudDogbG9vcCBuYXByYXZhICVzIGJvIHVwb3JhYmxqZW5hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgdG8gc2V0IGxvb3BkZXYgYXR0cmlidXRlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG5hc3Rhdml0ZXYgbG9vcCBuYXByYXZlIG5pIHVzcGVsYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogbmFzdGF2aXRldiBsb29wIG5hcHJhdmUgbmkgdXNwZWxhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBzZXR1cCBsb29wIGRldmljZSBzdWNjZXNzZnVsbHlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5hc3Rhdml0ZXYgbG9vcCBuYXByYXZlIGplIHVzcGVsYVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogJXMgYm8gdXN0dmFyamVuLCBrZXIgZ2EgbmlzZW0gbmG5ZWxcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgb3BlbiAlcyBmb3Igc2V0dGluZyBzcGVlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBvZHByZXRpIHphIG5hc3Rhdml0ZXYgaGl0cm9zdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvIGV2aWRlbmNpIG10YWIgamUgJXMgvmUgcHJpa2xvcGxqZW5vIG5hICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgamUgemFwb3NsZW5hIC0gcG9ub3ZubyBwcmlrbGFwbGphbSBzYW1vIHphIGJyYW5qZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBqZSB6YXBvc2xlbmEgLSBwb25vdm5vIHByaWtsYXBsamFtIHNhbW8gemEgYnJhbmplXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBUaXBhIGRhdC4gc2lzdGVtYSBuaSBiaWxvIG1vZ2/oZSB1Z290b3ZpdGkgaW4gbmkgYmlsIHBvZGFuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcCBkYXQuIHNpc3RlbWEgbW9yYSBiaXRpIHBvZGFuIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByaWtsb3AgbmkgdXNwZWwiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogcHJpa2xvcG5hIHRv6GthICVzIG5pIGltZW5payIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGRvc3RvcCB6YXZybmplbiIKKworI34gbXNnaWQgIm1vdW50OiBtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCisjfiBtc2dzdHIgIm1vdW50OiB1a2F6IG1vdW50IGxhaGtvIHVwb3JhYmxqYSBzYW1vIHNpc3RlbXNraSBza3JibmlrIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudDogcHJvYyBqZSC+ZSBwcmlrbG9wbGplbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGplIL5lIHByaWtsb3BsamVuIGFsaSAlcyB6YXBvc2xlbiIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByaWtsb3BuYSB0b+hrYSAlcyBuZSBvYnN0YWphIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorI34gbXNnc3RyICJtb3VudDogcHJpa2xvcG5hIHRv6GthICVzIGplIHNpbWJvbG5hIHBvdmV6YXZhIGRvIG5p6GVzYXIiCisKKyN+IG1zZ2lkICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiBwb3NlYm5hIG5hcHJhdmEgJXMgbmUgb2JzdGFqYSIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3RcbiIKKyN+ICIgICAgICAgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KVxuIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IHBvc2VibmEgbmFwcmF2YSAlcyBuZSBvYnN0YWphXG4iCisjfiAiXHQocG90IG5pIGltZW5paylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiBuYXBh6GVuIHRpcCBkYXQuIHNpc3RlbWEsIG5lcHJhdmlsbmEgaXpiaXJhLCBwb7lrb2RvdmFuIHN1cGVyYmxvayBuYSAlcyxcbiIKKyN+ICJcdG1hbmprYWpv6GEga29kbmEgc3RyYW4gYWxpIGRydWdlIG5hcGFrZSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIlx0KHRvIGJpIGxhaGtvIGJpbGEgSURFIG5hcHJhdmEgcHJpIGthdGVyaSB1cG9yYWJsamF0ZVxuIgorI34gIlx0aWRlLXNjc2kgdGFrbywgZGEgamUgcG90cmVibm8gaW1ldGkgc3IwIGFsaSBzZGEpIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoYXJlbid0IHlvdSB0cnlpbmcgdG8gbW91bnQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpbnN0ZWFkIG9mIHNvbWUgbG9naWNhbCBwYXJ0aXRpb24gaW5zaWRlPykiCisjfiBtc2dzdHIgIiIKKyN+ICJcdChhbGkgcG9za3W5YXRlIHByaWtsb3BpdGkgcmF6uWlyamVuIHJhemRlbGVrLFxuIgorI34gIlx0bmFtZXN0byBub3RyYW5qZWdhIGxvZ2nobmVnYSByYXpkZWxrYT8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdFYgbmVrYXRlcmloIHByaW1lcmloIGRvYml0ZSB1cG9yYWJuZSBpbmZvcm1hY2lqZSB2IHNpc3QuIGRuZXZuaWt1XG4iCisjfiAiXHRwb3NrdXNpdGUgeiBkbWVzZyB8IHRhaWxcbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtb3VudDogJXM6IHN1cGVyYmxva2EgbmkgbW9nb+hlIHByZWJyYXRpIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBuZXpuYW5hIG5hcHJhdmEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBuZXpuYW4gdGlwIGRhdC4gc2lzdGVtYSAnJXMnIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHZlcmpldG5vIGplIGJpbG8gbWm5bGplbm8gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICdpc285NjYwJz8iCisjfiBtc2dzdHIgIm1vdW50OiBtb2dv6GUgamUgYmlsIG1puWxqZW4gJ2lzbzk2NjAnPyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IG1vZ2/oZSBqZSBiaWwgbWm5bGplbiAndmZhdCc/IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGltYSBuYXBh6G5vILl0ZXZpbGtvIG5hcHJhdmUgYWxpIHBhIGRhdG90Zehub3Npc3RlbXNraSB0aXAgJXMgbmkgcG9kcHJ0IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudDogJXMgbmkgYmxv6G5hIG5hcHJhdmEgaW4gc3RhdCBuZSB1c3BlPyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHRoZSBrZXJuZWwgZG9lcyBub3QgcmVjb2duaXplICVzIGFzIGEgYmxvY2sgZGV2aWNlXG4iCisjfiAiICAgICAgIChtYXliZSBgbW9kcHJvYmUgZHJpdmVyJz8pIgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IGplZHJvIG5lIHByZXBvem5hICVzIGtvdCBibG/obmUgbmFwcmF2ZVxuIgorI34gIlx0KG1vZ2/oZSBgaW5zbW9kIGdvbmlsbmlrJz8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSAobWF5YmUgdHJ5IGAtbyBsb29wJz8pIgorI34gbXNnc3RyICJtb3VudDogJXMgbmkgYmxv6G5hIG5hcHJhdmEgKHBvc2t1c2l0ZSBgLW8gbG9vcCc/KSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuaSBibG/obmEgbmFwcmF2YSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBuaSB2ZWxqYXZuYSBibG/obmEgbmFwcmF2YSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIG5pIG1v6CBwcmlrbG9waXRpIHNhbW8gemEgYnJhbmplIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCBgLXcnIGZsYWcgZ2l2ZW4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGplIHphuehpdGVuYSBwcmVkIHBpc2FuamVtIGFtcGFrIHBvZGFuYSBqZSBgLXcnIHphc3RhdmljYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIG5pIG1v6CBwcmlrbG9waXRpIHNhbW8gemEgYnJhbmplIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGplIHphuehpdGVuYSBwcmVkIHBpc2FuamVtLCBwcmlrbGFwbGphbSBzYW1vIHphIGJyYW5qZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogJXMgamUgvmUgcHJpa2xvcGxqZW4gdiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgbmZzIGJlY2F1c2Ugb2YgdGhlIGNvbG9uXG4iCisjfiBtc2dzdHIgIm1vdW50OiB0aXAgbmkgYmlsIHBvZGFuIC0gcHJlZHBvc3RhdmxqYSBzZSBuZnMgemFyYWRpIGR2b3Bp6GphXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHRpcCBuaSBiaWwgcG9kYW4gLSBwcmVkcG9zdGF2bGphIHNlIHNtYmZzIHphcmFkaSBwcmVkcG9uZSAvLyBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiVXBvcmFiYTogbW91bnQgLVYgICAgICAgICAgICAgICA6IGl6cGlzIHJhemxp6GljZVxuIgorI34gIiAgICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgOiBpenBpcyB0ZSBwb21v6GlcbiIKKyN+ICIgICAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgIDogc2V6bmFtIHByaWtsb3BsamVuaWggZGF0b3Rl6G5paCBzaXN0ZW1vdlxuIgorI34gIiAgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgOiBzZXpuYW0gcHJpa2wuIGRhdC4gc2lzdC4geiBvem5ha2FtaSBvYnNlZ292XG4iCisjfiAiVG8gc28gYmlsZSBpbmZvcm1hdGl2bmUgaXpiaXJlLiBVa2F6IHphIHByaWtsb3AgaW1hIG9ibGlrb1xuIgorI34gIiAgbW91bnQgWy10IHRpcF0gbmFwcmF2YSBpbWVuaWtcbiIKKyN+ICLIZSBqZSBuYXByYXZhIL5lIG5hdmVkZW5hIHYgL2V0Yy9mc3RhYiwgbGFoa28gcG9kcm9ibm9zdGkgaXpwdXN0aW1vLlxuIgorI34gIiAgICAgICAgIG1vdW50IC1hIFstdHwtT10gICAgICAgXHQ6IHByaWtsb3AgdnNlaCBuYXByYXYsIG5hdmVkZW5paCB2IC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgICBtb3VudCBuYXByYXZhICAgICAgICAgIFx0OiBwcmlrbG9wIG5hcHJhdmUgbmEgem5hbm8gcHJpa2xvcG5vIHRv6GtvXG4iCisjfiAiICAgICAgICAgbW91bnQgaW1lbmlrICAgICAgICAgICBcdDogcHJpa2xvcCB6bmFuZSBuYXByYXZlIG5hIGltZW5pa1xuIgorI34gIiAgICAgICAgIG1vdW50IC10IHRpcCBuYXByYXZhIGltZW5payAgIDogdGlwaehlbiB1a2F6IG1vdW50XG4iCisjfiAiViByZXNuaWNpIHByYXZ6YXByYXYgbmUgcHJpa2xvcGltbyBuYXByYXZlLCBhbXBhayBkYXRvdGXobmkgc2lzdGVtIChwb2RhbmVnYVxuIgorI34gInRpcGEpIG5hIHBvZGFuaSBuYXByYXZpLlxuIgorI34gIlR1ZGkgdmlkbmkgaW1lbmlrIHYgb2JzdG9qZehlbSBkYXRvdGXobmVtIHNpc3RlbXUgbGFoa28gcHJpa2xvcGltbyBuYSBkcnVnbyB0b+hrbzpcbiIKKyN+ICIgICAgICAgICBtb3VudCAtLWJpbmQgc3RhcmlfaW1lbmlrIG5vdmlfaW1lbmlrXG4iCisjfiAiTW9nb+hlIGplIHByZW1ha25pdGkgdHVkaSBjZWxvIGltZW5puWtvIHN0cnVrdHVybzpcbiIKKyN+ICIgICAgICAgICBtb3VudCAtLW1vdmUgc3RhcmlfaW1lbmlrIG5vdmlfaW1lbmlrXG4iCisjfiAiTmFwcmF2byBsYWhrbyBuYXNsb3ZpbW8geiBpbWVub20gcG9zZWJuZSBkYXRvdGVrZSwgbnByLiAvZGV2L2hkYTEgYWxpIC9kZXYvY2Ryb20sXG4iCisjfiAieiBvem5ha28gKHogaXpiaXJvIC1MIG96bmFrYSksIGFsaSB6IGlkZW50aWZpa2FjaWpza28guXRldmlsa28gKHogaXpiaXJvIC1VIHV1aWQpLlxuIgorI34gIkRydWdlIGl6YmlyZTogWy1uZkZyc3Z3XSBbLW8gaXpiaXJlXS5cbiIKKyN+ICJQb2Ryb2Jub3N0aSBsYWhrbyBwb2m56GV0ZSB2IHByaXJv6G5pa3UgeiB1a2F6b206IG1hbiA4IG1vdW50XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIm1vdW50OiB0byBsYWhrbyBpenZlZGUgc2FtbyBzaXN0ZW1za2kgc2tyYm5payIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgIm1vdW50OiB0byBsYWhrbyBpenZlZGUgc2FtbyBzaXN0ZW1za2kgc2tyYm5payIKKworI34gbXNnaWQgIm5vdGhpbmcgd2FzIG1vdW50ZWQiCisjfiBtc2dzdHIgIm5p6CBuaSBiaWxvIHByaWtsb3BsamVubyIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHRha2VnYSByYXpkZWxrYSBuaXNlbSBuYbllbCIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudDogJXMgbmkgbW9nb+hlIG5hanRpIHYgJXMgYWxpICVzIgorCisjfiBtc2dpZCAiW21udGVudF06IHdhcm5pbmc6IG5vIGZpbmFsIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiAlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogb3Bvem9yaWxvOiBuYSBrb25jdSBkYXRvdGVrZSAlcyBtYW5qa2EgcHJlaG9kIG5hIHph6GV0ZWsgdnJzdGljZVxuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IHZyc3RpY2kgJWQgaW4gJXMgc3RhIHBvuWtvZG92YW5pJXNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIjsgcHJlb3N0YW5layBkYXRvdGVrZSBibyBpZ25vcmlyYW4iCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAicHJlbWFsbyBwb21uaWxuaWthIgorCisjfiBtc2dpZCAidW1vdW50OiBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIC1mXG4iCisjfiBtc2dzdHIgInVtb3VudDogcHJldmFqYW5qZSBqZSBwb3Rla2FsbyBicmV6IHBvZHBvcmUgemEgLWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudDogdmVqaXRldiBuaSBtb2dv6GE6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5ldmVsamF2bmEgYmxv6G5hIG5hcHJhdmEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbmkgcHJpa2xvcGxqZW5hIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogc3VwZXJibG9rYSBuaSBtb2dv6GUgemFwaXNhdGkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IG5ldXNwZblubyBpc2thbmplIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBzYW1vIHNpc3RlbXNraSBza3JibmlrIGxhaGtvIG9ka2xhcGxqYSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogbmEgZGF0LiBzaXN0LiBibG/obmUgbmFwcmF2ZSBuaXNvIGRvdm9samVuZSIKKworI34gbXNnaWQgInVtb3VudDogJXM6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBjaGRpciB0byAlczogJW0iCisjfiBtc2dzdHIgIm5hbWVpOiBzcHJlbWVtYmEgaW1lbmlrYSBuaSBtb2dv6GEgdiAlcyAtICVzICglZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGZhaWxlZCB0byBvYnRhaW4gY3VycmVudCBkaXJlY3Rvcnk6ICVtIgorI34gbXNnc3RyICJuYW1laTogdHJlbnV0bmVnYSBpbWVuaWthIG5pIG1vZ2/oZSBkb2JpdGkgLSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJtb3VudDogcHJpa2xvcG5hIHRv6GthICVzIG5lIG9ic3RhamEiCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgIm5pIHVtb3VudDIsIHBvc2t1uWFtIHogdW1vdW50Li4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgamUgemFwb3NsZW5hIC0gcG9ub3ZubyBwcmlrbGFwbGphbSBzYW1vIHphIGJyYW5qZVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb3VsZCBub3QgcmVtb3VudCAlcyByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBwb25vdm5pIHByaWtsb3AgJXMgc2FtbyB6YSBicmFuamUgbmkgbW9nb+hcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBoYXMgYmVlbiB1bm1vdW50ZWRcbiIKKyN+IG1zZ3N0ciAiJXMgamUgb2RrbG9wbGplblxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZmluZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIHRvIHVubW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogc2V6bmFtYSBkYXQuIHNpc3QuIHphIG9ka2xvcCBuaSBtb2dv6GUgbmFqdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVwb3JhYmE6IHVtb3VudCBbLWhWXVxuIgorI34gIlx0ICB1bW91bnQgLWEgWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdGlwIG5hdi4gZGF0LiBzaXN0Ll0gWy1PIGl6YmlyZV1cbiIKKyN+ICJcdCAgdW1vdW50IFstZl0gWy1yXSBbLW5dIFstdl0gcG9zZWJubyB8IHZvemxpuehlLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICdvZmZzZXQ9JXMnIG9wdGlvbnNcbiIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIm5pIG1vZ2/oZSBvZGtsb3BpdGkgXCJcIlxuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IGZpbmQgJXMgaW4gbXRhYlxuIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgbmFqdGkgdiBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgbmkgcHJpa2xvcGxqZW4gKGdsZWRlIG5hIG10YWIpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGl6Z2xlZGEga290IGRhIGplICVzIHZl6GtyYXQgcHJpa2xvcGxqZW4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBuaSB2IGZzdGFiIChpbiB2aSBuaXN0ZSBzaXN0ZW1za2kgc2tyYm5paykiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiBwcmlrbG9wICVzIGplIHYgbmFzcHJvdGp1IHogZnN0YWIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBzYW1vIHNpc3RlbXNraSBza3JibmlrIGxhaGtvIG9ka2xvcGkgJXMgbmEgJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAidW1vdW50OiBzYW1vIHNpc3RlbXNraSBza3JibmlrIG5hcmVkaSB0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bnVtPiAgc2V0IGRlZmF1bHQgdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiBwcml2emV0aSBwcmFnOiAlbGQsIGluIHByaXZ6ZXRpIG9kbW9yOiAlbGRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiRGF0b3Rla2EgJXMsIFphIHByYWdvdm5vIHZyZWRub3N0ICVsdSwgTmFqdmXoIHpuYWtvdiB2IGZpZm8gamUgYmlsbyAlZCxcbiIKKyN+ICJpbiBuYWp2ZehqYSBoaXRyb3N0IHByZW5vc2EgJWYgem5ha292L3Nla3VuZG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUgYW5kIHRpbWVvdXQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIkRhdG90ZWthICVzLCBaYSBwcmFnb3ZubyB2cmVkbm9zdCAlbHUgaW4gdnJlZG5vc3Qgb2Rtb3JhICVsdSwgTmFqdmXoIHpuYWtvdiB2IGZpZm8gamUgYmlsbyAlZCxcbiIKKyN+ICJpbiBuYWp2ZehqYSBwcmVub3NuYSBoaXRyb3N0IGplIGJpbGEgJWYgem5ha292L3Nla3VuZG9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgaXNzdWUgQ1lHRVRNT04gb24gJXMiCisjfiBtc2dzdHIgIlNpZ25hbGEgQ1lHRVRNT04gbmkgbW9nb+hlIGl6ZGF0aSBuYSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIlByYWd1IHphICVzIG5pIG1vZ2/oZSBkb2JpdGk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAiT2Rtb3JhIHphICVzIG5pIG1vZ2/oZSBkb2JpdGk6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1ILl0ZXZpbCwgJWx1LyVsdSB6bmFrb3Y7IGZpZm86ICVsdSBwcmFnLCAlbHUgb2Rtb3IsICVsdSBuYWp2ZegsICVsdSB0cmVudXRuYVxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjLCAlZiBzZW5kIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYguXQuL3NlazsgJWYgc3ByZWpldG8sICVmIHBvc2xhbm8gKHpuYWsvc2VrKVxuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1ILl0LiwgJWx1IHpuYWtvdiwgZmlmbzogJWx1IHByYWcsICVsdSBvZG1vciwgJWx1IG5hanZl6CwgJWx1IHRyZW51dG5hXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiC5dC4vc2VrOyAlZiBzcHJlamV0aWggKHpuYWsvc2VrKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgaW50ZXJ2YWxhOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IGludGVydmFsYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IG5hc3RhdmxqYW5qYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWUiCisjfiBtc2dzdHIgIk5ldmVsamF2bmEgcHJpdnpldGEgdnJlZG5vc3Q6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSBwcml2emV0YSB2cmVkbm9zdDogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IHphIG5hc3Rhdml0ZXYg6GFzYTolc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IHphIG5hc3Rhdml0ZXYg6GFzYTolc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IHphIHByaXZ6ZXRpIOhhczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgemEgcHJpdnpldGkg6GFzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgbmFzdGF2aXRpIG5hIHByYWcgJWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIG5hc3Rhdml0aSBuYSDoYXNvdm5pIHByYWcgJWQ6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiB0cmVudXRuaSBwcmFnOiAlbGQsIGluIHRyZW51dG5pIG9kbW9yOiAlbGRcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgZGVmYXVsdCB0aHJlc2hvbGQgYW5kICVsZCBkZWZhdWx0IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6IHByaXZ6ZXRpIHByYWc6ICVsZCwgaW4gcHJpdnpldGkgb2Rtb3I6ICVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiyGFzLCBraSBqZSBwcmV0ZWtlbCBvZCByZWZlcmVu6G5lZ2EsIGplICAlLjZmIHNla3VuZC5cbiIKKyN+ICJQb3Zl6HVqZW1vIHphb3N0YW5laywgZGEgYmkgZG9zZWdsaSBuYXNsZWRuam8gY2VsbyBzZWt1bmRvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIGltZV90ZXJtaW5hbGEgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXNldCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAgWyAtaW5pdGlhbGl6ZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jdXJzb3IgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVwZWF0IFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtbGluZXdyYXAgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgIFsgLWRlZmF1bHQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWludmVyc2VzY3JlZW4gW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJvbGQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGluayBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmV2ZXJzZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC11bmRlcmxpbmUgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiICBbIC1zdG9yZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAgWyAtY2xlYXIgW2FsbHxyZXN0XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC10YWJzIFsgdGFiMSB0YWIyIC4uLiBdIF0gICAgICAgICi5dC4gdGFiLW92ID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC1jbHJ0YWJzIFsgdGFiMSB0YWIyIC4uLiBdIF0gICAgICi5dC4gdGFiLW92ID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZWd0YWJzIFsxLTE2MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGFuayBbMC02MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWR1bXAgICBbMS2pVF9VUFJBVkxKQUxOSUtPVl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgIFsgLWFwcGVuZCBbMS2pVF9VUFJBVkxKQUxOSUtPVl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIGl6aG9kbmFfZGF0IF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1wb3dlcmRvd24gWzAtNjBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGVuZ3RoIFswLTIwMDBdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiICBbIC1iZnJlcSBmcmVrdmVu6G5hX7l0LiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICJOYXBha2EgcHJpIGJyYW5qdSB6YXNsb25za2VnYSBpenBpc2FcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICIvZGV2L3R0eTEgYWxpIC9kZXYvdmMvMSBuaSBtb2dv6GUgb2RwcmV0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJ2cnN0aWNhIGplIHByZWRvbGdhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhaWRwaWQgZmFpbGVkIgorI34gbXNnc3RyICJrbGljIHNldHVpZCgpIG5pIHVzcGVsIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIlJhemRlbGVrICVkIGplIL5lIGRvbG/oZW4uIFpicmm5aXRlIGdhIHByZWRlbiBnYSBwb25vdm5vIGRvZGF0ZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICJSYXpkZWxlayAlZCBqZSC+ZSBkb2xv6GVuLiBaYnJpuWl0ZSBnYSBwcmVkZW4gZ2EgcG9ub3ZubyBkb2RhdGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKKyN+IG1zZ3N0ciAiIgorI34gIk9wb3pvcmlsbzogQkxLR0VUU0laRSBpb2N0bCBuaSB1c3BlbCBuYSAlcy4gVXBvcmFibGphIHNlIGdlb21ldHJpanNrYSB2cmVkbm9zdCBzdGV6ZSAlZC5cbiIKKyN+ICJUYSB2cmVkbm9zdCBzZSBsYWhrbyBza3JharlhIHphIG5hcHJhdmUgPiAzMy44IEdCLlxuIgorCisjfiBtc2dpZCAic2V0IGJsb2Nrc2l6ZSIKKyN+IG1zZ3N0ciAibmFzdGF2aSB2ZWxpa29zdCBibG9rYSIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAiZW4gcG+5a29kb3ZhbiBibG9rXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFydGl0aW9uIHR5cGUgaGV4IG9yIHV1aWQiCisjfiBtc2dzdHIgIiMgdGFiZWxhIHJhemRlbGtvdiBvZCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIihOYXNsZWRuamEgZGF0b3Rla2E6ICVzKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid3JpdGUgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAiKE5hc2xlZG5qYSBkYXRvdGVrYTogJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZCIKKyN+IG1zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgZG9sb+hlblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCisjfiAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCisjfiAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgZGV2aWNlXG4iCisjfiAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gbXNnc3RyICIiCisjfiAidXBvcmFiYTpcbiIKKyN+ICIgICVzIGxvb3BfbmFwcmF2YVx0XHRcdFx0XHQjIGRvYmkgaW5mb3JtYWNpamVcbiIKKyN+ICIgICVzIC1kIGxvb3BfbmFwcmF2YVx0XHRcdFx0XHQjIHpicmm5aVxuIgorI34gIiAgJXMgLWZcdFx0XHRcdFx0XHQjIG5hamRpIG5ldXBvcmFibGplbmVcbiIKKyN+ICIgICVzIFstZSC5aWZyaXJhbmplXSBbLW8gb2RtaWtdIHstZnxsb29wX25hcHJhdmF9IGRhdC4gIyBuYXN0YXZpdGV2XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UsIG9mZnNldCBpcyBub3QgNTEyLWJ5dGUgYWxpZ25lZC4iCisjfiBtc2dzdHIgIml6bWVuamFsbmUgbmFwcmF2ZSBuaSBtb2dv6GUgcHJldml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnNzdXBvcnRlZCAtLWxvY2FsLWxpbmUgbW9kZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiJXM6IG5lem5hbiBhcmd1bWVudDogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJ1cG9yYWJhOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1pc3NpbmcgYmxvY2tkZXZpY2UsIHVzZSAtaCBmb3IgaGVscFxuIgorI34gbXNnc3RyICIlcyBuaSBibG/obmEgZW5vdGEgb3ouIGRhdG90ZWthXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWRpdGlvbiBudW1iZXIgYXJndW1lbnQgZmFpbGVkIgorI34gbXNnc3RyICJuYWouILl0LiBvZHNla292ID0gJWx1XG4iCisKKyN+IG1zZ2lkICJmc3luYyBmYWlsZWQiCisjfiBtc2dzdHIgImZzeW5jIG5pIHVzcGVsIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVcG9yYWJhOlxuIgorI34gIkl6cGm5aSByYXpsaehpY286XG4iCisjfiAiICAgICAgICAgJXMgLXZcbiIKKyN+ICJJenBpuWkgdGFiZWxvIHJhemRlbGtvdjpcbiIKKyN+ICIgICAgICAgICAlcyAtUCB7cnxzfHR9IFtpemJpcmVdIG5hcHJhdmFcbiIKKyN+ICJJbnRlcmFrdGl2bmEgdXBvcmFiYTpcbiIKKyN+ICIgICAgICAgICAlcyBbaXpiaXJlXSBuYXByYXZhXG4iCisjfiAiXG4iCisjfiAiSXpiaXJlOlxuIgorI34gIi1hOiBVcG9yYWJpIHB1uehpY28gbmFtZXN0byBvc3ZldGxqZXZhbmphO1xuIgorI34gIi16OiBaYehuaSBzIHByYXpubyB0YWJlbG8gcGFydGljaWogbmFtZXN0byBicmFuamEgdHAgeiBkaXNrYTtcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogUG92b3ppIGlkZWpvIGplZHJhIG8guXRldmlsdSBzbGVkaSwgZ2xhdiBpbiBzZWt0b3JqZXYuXG4iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiWmFwaXNvdmFuamUgb3puYWtlIGRpc2thIG5hICVzLlxuIgorCisjfiBtc2dpZCAiTGFzdCAlcyBvciArc2l6ZSBvciArc2l6ZU0gb3IgK3NpemVLIgorI34gbXNnc3RyICJaYWRuamkgJXMgYWxpICtzaXplIGFsaSArc2l6ZU0gYWxpICtzaXplSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiQmVyZW0gb3puYWtvIGRpc2thICVzIG5hIHNla3Rvcmp1ICVkLlxuIgorCisjfiBtc2dpZCAiQlNEIGRpc2tsYWJlbCBjb21tYW5kIChtIGZvciBoZWxwKTogIgorI34gbXNnc3RyICJVa2F6IEJTRCBvem5ha2EgZGlza2EgKG0gemEgcG9tb+gpOiAiCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZGlza292bmkgcG9kYXRraTogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICB6YehldGVrICAgICBrb25lYyAgICAgdmVsICAgdGlwIGRhdCBzaXN0ICBbdmVsZGF0IHZlbGJsb2sgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiTW9yYSBiaXRpIDw9IHNla3RvcmppL3NsZWQgKiBzbGVkaS9zdGV6byAocHJpdnpldG8pLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJSYXpkZWxlayAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiBwcmV2ZeggcGFydGljaWogKCVkLCBuYWp2ZeggcGEgamUgJWQpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlN5bmNpbmcgZGlza3MuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJTaW5ocm9uaXphY2lqYSBkaXNrb3YuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIk5hICVzIGlza2FuamUgbmkgbW++bm9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIk5hICVzIG5pIG1vZ2/oZSBwaXNhdGlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAiVXNvZG5hIG5hcGFrYVxuIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIiAgVWtheiAgZGVqYW5qZSIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAiTmFzdGF2aXRpIG1vcmF0ZSIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJnbGF2ZSIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIgaW4gIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJVcG9yYmxqZW5hIGJvIHByaXZ6ZXRhIHZyZWRub3N0ICV1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBiYWp0b3ZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbGQgYmFqdG92XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCBza3Vwbm8gJWx1IHNla3RvcmpldiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAiTmEgZGlza292bmkgcG9nb24gbmkgbW9nb+hlIHBpc2F0aSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJpbGl0eVxuIgorI34gbXNnc3RyICJPcG96b3JpbG86IG9kbWlrIHNla3RvcmphIGJvIG5hc3RhdmxqZW4gdGFrbywgZGEgYm8gemRydb5saml2IHogRE9TXG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICJOYSAlcyBqZSBiaWxhIHphem5hbmEgb3puYWthIGRpc2thIHRpcGEgT1NGLzEsIHZzdG9wYSB2IG5h6GluIG96bmHoZXZhbmphIGRpc2thLlxuIgorCisjfiBtc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZVxuIgorI34gbXNnc3RyICJOaSB2ZeggcHJvc3RpaCBzZWt0b3JqZXZcbiIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgIGZpemnobmk9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImxvZ2nobmk9KCVkLCAlZCwgJWQpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogYmFkIHN0YXJ0LW9mLWRhdGEgaW4gcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJPcG96b3JpbG86IHBvuWtvZG92YW4gemHoZXRlayBwb2RhdGtvdiB2IHJhemRlbGt1ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiRG9kYWphIHNlIHByaW1hcm5pIHJhemRlbGVrXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT1BPWk9SSUxPOiDIZSBzdGUgdXN0dmFyaWxpIGFsaSBzcHJlbWluamFsaSByYXpkZWxrZVxuIgorI34gIiB0aXBhIERPUyA2LngsIHNpIHBvZ2xlanRlIHByaXJv6G5payB6YSBmZGlzayB6YSBkb2RhdG5lXG4iCisjfiAiaW5mb3JtYWNpamUuXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgWmFnb24gICAgWmHoZXRlayAgICAgICBLb25lYyAgICAgQmxva2kgICAgSWQgIFNpc3RlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWQgZ2xhdiwgJWQgc2VrdG9yamV2LCAlZCBzdGV6XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnIgQUYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisjfiBtc2dzdHIgIiCpdCBBRiBHbGF2IFNla3QgU3R6ICBHbGF2IFNla3QgU3R6ICAgWmHoZXRlayAgVmVsICBJRFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgTWFjIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgZmRpc2soMSkgY2Fubm90IGhhbmRsZSB0aGVzZSBkaXNrcy5cbiIKKyN+ICJcdFVzZSBlaXRoZXIgcGRpc2sgb3IgcGFydGVkIHRvIG1vZGlmeSB0aGUgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIlx0TmV2ZXJ0aGVsZXNzIHNvbWUgYWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHROYSB0ZW0gZGlza3UgamUgdmVsamF2bmEgb3puYWthIEFJWC5cbiIKKyN+ICJcdE5hIL5hbG9zdCBzIHRlbWkgZGlza2kgTGludXggdHJlbnV0bm9cbiIKKyN+ICJcdG5lIHpuYSByb2tvdmF0aS4gUG9tYWdhIG5haiB2YW0gcGFyXG4iCisjfiAiXHRuYXN2ZXRvdjpcbiIKKyN+ICJcdDEuIGZkaXNrIGJvIHVuaehpbCB2c2ViaW5vIGRpc2thIHByaSBwaXNhbmp1LlxuIgorI34gIlx0Mi4gQm9kaXRlIHByZXByaehhbmksIGRhIHRhIGRpc2sgTkkgvml2bGplbmpza2VnYVxuIgorI34gIlx0ICAgcG9tZW5hIG9ic2Vnb3ZuZSBza3VwaW5lW3ZvbHVtZSBncm91cF0uIChEcnVnYehlIHNlIGxhaGtvIHpnb2RpLFxuIgorI34gIlx0ICAgZGEgYm9zdGUgYnJpc2FsaSB0dWRpIG9zdGFsZSBkaXNrZS5cbiIKKyN+ICJcdDMuIFByZWQgaXpicmlzb20gZml6aehuZWdhIG9ic2VnYSBib2RpdGUgcHJlcHJp6GFuaSxcbiIKKyN+ICJcdCAgIGRhIGRpc2sgb2RzdHJhbml0ZSBsb2dp6G5vLCBpeiB2YbllZ2EgQUlYXG4iCisjfiAiXHQgICByYeh1bmFsbmlrYS4gKERydWdh6GUgbGFoa28gcG9zdGFuZXRlIFxuIgorI34gIlx0ICAgXCJzdHJva292bmphayB6YSBBSVhcIikuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRPcHJvc3RpdGUgLSB0YSBmZGlzayBuZSB6bmEgZGVsYXRpIHogb3puYWthbWkgZGlza292IHRpcGEgQUlYLlxuIgorI34gIlx0yGUgvmVsaXRlIGRvZGF0aSByYXpkZWxrZSB0aXBhIERPUywgbmFqcHJlaiB1c3R2YXJpdGVcbiIKKyN+ICJcdCBub3ZvIHByYXpubyB0YWJlbG8gcmF6ZGVsa292IHRpcGEgRE9TLiAoVXBvcmFiaXRlIG8uKVxuIgorI34gIlx0T1BPWk9SSUxPOiBUbyBibyB1bmnoaWxvIHRyZW51dG5vIHZzZWJ1bm8gZGlza2EuXG4iCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICJVcG+5dGV2YWpv6CBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYy4gb3puYWthIG5lIHNtZSB2c2Vib3ZhdGkgdmXoIHRvIDUxMiBiYWp0b3ZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlbGQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKG96bmFrYSBkaXNrYSB0aXBhIFNHSSk6ICVkIGdsYXYsICVkIHNla3RvcmpldiwgJWQgc3RlelxuIgorI34gIkVub3RlID0gJXMgb2QgJWQgKiAlZCBiYWp0b3ZcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gcmF6ZGVsa2kgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgIFph6GV0ZWsgICAgIEtvbmVjICBTZWt0b3IgICBJZCAgU2lzdGVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gWmFnb25pbmZvIC0tLS0tXG4iCisjfiAiWmFnb25za2EgZGF0LjogJXNcbiIKKyN+ICItLS0tLSBWbm9zaSBpbWVuaWtvdiAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VrdG9yJTV1IHZlbGlrb3N0JTh1XG4iCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWRcbiIKKyN+IG1zZ3N0ciAiTm9iZW4gcmF6ZGVsZWsgbmkgZG9sb+hlblxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNlbG90bmEgZGlza292bmEgcGFydGljaWphIGplIHZlbGlrYSAlZCBkaXNrLiBibG9rb3YsXG4iCisjfiAiYW1wYWsgZGlzayBqZSBkb2xnICVkIGRpc2suIGJsb2tvdi5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgJWQgc2UgbmUgemHobmUgbmEgbWVqaSBzIGNpbGluZHJvbS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlJhemRlbGVrICVkIHNlIG5lIGtvbuhhIG5hIG1lamkgcyBjaWxpbmRyb20uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC5cbiIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgJWQgamUgvmUgZG9sb+hlbi4gWmJyablpdGUgZ2EgcHJlZGVuIGdhIHBvbm92bm8gZG9kYXRlLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiQkxLR0VUU0laRSBvZCBpb2N0bCBuaSB1c3BlbCBuYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuICBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LlxuIgorI34gIlRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPcG96b3JpbG86IEJMS0dFVFNJWkUgaW9jdGwgbmkgdXNwZWwgbmEgJXMuIFVwb3JhYmxqYSBzZSBnZW9tZXRyaWpza2EgdnJlZG5vc3Qgc3RlemUgJWQuXG4iCisjfiAiVGEgdnJlZG5vc3Qgc2UgbGFoa28gc2tyYWq5YSB6YSBuYXByYXZlID4gMzMuOCBHQi5cbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx0WkHIRVRFSz0lZFx0RE9MrklOQT0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9ucyBhbHJlYWR5IHNldC5cbiIKKyN+IG1zZ3N0ciAiUG9za3VzIG9ocmFuamFuamEgcGFyYW1ldHJvdiByYXpkZWxrYSAlZC5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJEQVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorI34gbXNnc3RyICIlcyBuZSB2c2VidWplIG96bmFrZSBkaXNrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAob3puYWthIGRpc2thIHRpcGEgU3VuKTogJWQgZ2xhdiwgJWQgc2VrdG9yamV2LCAlZCBvYnJhdG92L21pblxuIgorI34gIiVkIHN0ZXosICVkIGRydWdpaCBzdGV6LCAlZCBmaXpp6G5paCBzdGV6XG4iCisjfiAiJWQgZG9kYXRuaSBza3RyL3N0eiwgcHJlcGxldGVub3N0ICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIkVub3RlID0gJXMgb2QgJWQgKiA1MTIgYmFqdG92XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogNTEyIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChvem5ha2EgZGlza2EgdGlwYSBTdW4pOiAlZCBnbGF2LCAlZCBzZWt0b3JqZXYsICVkIHN0ZXpcbiIKKyN+ICJFbm90ZSA9JXMgb2QgJWQgKiA1MTIgYmFqdG92XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgRmxhZyAgICBTdGFydCAgICAgICBFbmQgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgWmFzdGF2YSBaYehldGVrICAgIEtvbmVjICAgQmxva2kgICAgSWQgIFNpc3RlbVxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC0gTmFwcmF2YVx0IGFrdGl2aXJhIHJhemRlbGVrIG4sIGRlYWt0aXZpcmEgb3N0YWxlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiT3ByYXZsamVub1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICJJemJyYW4gcmF6ZGVsZWsgJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIHByb2dyYW0gW2l6YmlyYSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICIoTmFzbGVkbmphIGRhdG90ZWthOiAlcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICIlczogTmkgbW9nb+hlIHZlaml0aVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBzbGFiYSB2cmVkbm9zdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHByaWtsb3AgbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgImhyb7noIHYga2xpY3UgeHN0cm5kdXAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29ubmVjdCAlcyIKKyN+IG1zZ3N0ciAibmZzIHBvdmV6YXZhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworI34gbXNnaWQgInN0cnRvbCBlcnJvcjogbnVtYmVyIG9mIGJsb2NrcyBub3Qgc3BlY2lmaWVkIgorI34gbXNnc3RyICJuYXBha2EgdiBzdHJ0b2w6ILl0ZXZpbG8gYmxva292IG5pIHBvZGFubyIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJlbmEgcG+5a29kb3ZhbmEgc3RyYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgICAgIG9uIHdob2xlIGRpc2suICIKKyN+IG1zZ3N0ciAiICAgcyAgIHByaWthvmkgY2Vsb3N0bm8gb3puYWtvIGRpc2thIgorCisjLCBmdXp6eQorI34gbXNnaWQgImRvZXMgbm90IHN1cHBvcnQgc3dhcHNwYWNlIHZlcnNpb24gJWQuIgorI34gbXNnc3RyICIlczogbmFwYWthOiBuZXpuYW5hIHJhemxp6GljYSAlZFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHROYSB0ZW0gZGlza3UgamUgdmVsamF2bmEgb3puYWthIEFJWC5cbiIKKyN+ICJcdE5hIL5hbG9zdCBzIHRlbWkgZGlza2kgTGludXggdHJlbnV0bm9cbiIKKyN+ICJcdG5lIHpuYSByb2tvdmF0aS4gUG9tYWdhIG5haiB2YW0gcGFyXG4iCisjfiAiXHRuYXN2ZXRvdjpcbiIKKyN+ICJcdDEuIGZkaXNrIGJvIHVuaehpbCB2c2ViaW5vIGRpc2thIHByaSBwaXNhbmp1LlxuIgorI34gIlx0Mi4gQm9kaXRlIHByZXByaehhbmksIGRhIHRhIGRpc2sgTkkgvml2bGplbmpza2VnYVxuIgorI34gIlx0ICAgcG9tZW5hIG9ic2Vnb3ZuZSBza3VwaW5lW3ZvbHVtZSBncm91cF0uIChEcnVnYehlIHNlIGxhaGtvIHpnb2RpLFxuIgorI34gIlx0ICAgZGEgYm9zdGUgYnJpc2FsaSB0dWRpIG9zdGFsZSBkaXNrZS5cbiIKKyN+ICJcdDMuIFByZWQgaXpicmlzb20gZml6aehuZWdhIG9ic2VnYSBib2RpdGUgcHJlcHJp6GFuaSxcbiIKKyN+ICJcdCAgIGRhIGRpc2sgb2RzdHJhbml0ZSBsb2dp6G5vLCBpeiB2YbllZ2EgQUlYXG4iCisjfiAiXHQgICByYeh1bmFsbmlrYS4gKERydWdh6GUgbGFoa28gcG9zdGFuZXRlIFxuIgorI34gIlx0ICAgXCJzdHJva292bmphayB6YSBBSVhcIikuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgQUlYIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdE9wcm9zdGl0ZSAtIHRhIGZkaXNrIG5lIHpuYSBkZWxhdGkgeiBvem5ha2FtaSBkaXNrb3YgdGlwYSBBSVguXG4iCisjfiAiXHTIZSC+ZWxpdGUgZG9kYXRpIHJhemRlbGtlIHRpcGEgRE9TLCBuYWpwcmVqIHVzdHZhcml0ZVxuIgorI34gIlx0IG5vdm8gcHJhem5vIHRhYmVsbyByYXpkZWxrb3YgdGlwYSBET1MuIChVcG9yYWJpdGUgby4pXG4iCisjfiAiXHRPUE9aT1JJTE86IFRvIGJvIHVuaehpbG8gdHJlbnV0bm8gdnNlYnVubyBkaXNrYS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkJTRCBvem5ha2EgemEgbmFwcmF2bzogJXNcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJPcG96b3JpbG86IHJhemRlbGVrICVkIG5pbWEgdGlwYVxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUmF6ZGVsZWsgJWkgc2UgbmUga29u6GEgbmEgbWVqaSBzdGV6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vdGU6IHNlY3RvciBzaXplIGlzICVsZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJPcG9tYmE6IHZlbGlrb3N0IHNla3RvcmphIGplICVkIChuZSAlZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSB0aGlzIGNoZWNrLlxuIgorI34gbXNnc3RyICJVcG9yYWJpdGUgLS1mb3JjZSBpemJpcm8gZGEgb2JpZGV0ZSB2c2EgcHJldmVyamFuamEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlYyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgInphZ29uIG5pIHVzcGVsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICJpc2thbmplIGplIGJpbG8gbmV1c3BluW5vIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJUSU9DU0NUVFkgbmkgdXNwZWw6ICVtIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsrZm9ybWF0XSBbZGF5IG1vbnRoIHllYXJdXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIFsrZm9ybWF0XSBbZGFuIG1lc2VjIGxldG9dXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJEYW4gc3QuIFRpYmEiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiXHQlcyAtbCBbc2lnbmFsIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIGFyZ3VtZW50IgorI34gbXNnc3RyICJuZXZlbGphdmVuIGlkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIlYgcG9tbmlsbmlrIG5pIG1vZ2/oZSB6YWtsZW5pdGksIGtvbuh1amVtLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYXJndW1lbnQgcHJpIC1wIGFsaSAtLXBhc3MtZmQgbW9yYSBiaXRpILl0ZXZpbGthIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN1dGluZyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgInphZ29uIG5pIHVzcGVsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZWplY3Q6IGNhbm5vdCBzZXQgdXNlciBpZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGhpdHJvc3RpIG5pIG1vZ2/oZSBuYXN0YXZpdGk6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZnNmcmVlemUoOCkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworI34gbXNnaWQgIm1heCBzZWcgc2l6ZSAoa2J5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJuYWouIHZlbGlrb3N0IG9kc2VrYSAoa0IpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJtaW4gc2VnIHNpemUgKGJ5dGVzKSA9ICVsdVxuIgorI34gbXNnc3RyICJuYWptYW5qLiB2ZWwuIG9kc2VrYSAoQikgPSAlbHVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBuaSB1c3BlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtc2djdGwgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBuaSB1c3BlbCIKKworI34gbXNnaWQgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKyN+IG1zZ3N0ciAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAiViBwb21uaWxuaWsgbmkgbW9nb+hlIHpha2xlbml0aSwga29u6HVqZW0uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSAocHJvYmFibHkgdW5rbm93biBlbmNyeXB0aW9uIHR5cGUpIgorI34gbXNnc3RyICJpem1lbmphbG5lIG5hcHJhdmUgbmkgbW9nb+hlIHByZXZpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgaXogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlY3V0ZSAlcyIKKyN+IG1zZ3N0ciAia2xpYyBpb2N0bCgpIG5pIHVzcGVsIHByZWJyYXRpIOhhc2EgaXogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3ZwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiemFnb24gbmkgdXNwZWxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgInphZ29uIG5pIHVzcGVsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0xNXMlcyBbdmVyc2lvbiAleF1cbiIKKyN+IG1zZ3N0ciAiJXMgcmF6bGnoaWNhICVzXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAidXBvcmFibmlraSIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAicHJldmXoIGlvdi1qZXYgKHNwcmVtZW5pIGtvZG8gdiB3YWxsL3R0eW1zZy5jKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgImNvbDogcGlzYWxuYSBuYXBha2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgY29sdW1uKDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW9yZSAoJXMpXG4iCisjfiBtc2dzdHIgIm1rZnMgKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgInN0YW5qYSBuYXByYXZlICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiTmkgbW9nb+hlIG9kcHJldGkgJXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGRldmljZSAlcyIKKyN+IG1zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUYSBkaXNrIGplIG96bmHoZWsga290IHRpcGEgRE9TIGluIHRpcGEgQlNELlxuIgorI34gIlVwb3JhYml0ZSAnYicgdWtheiwgZGEgcHJlaWRldGUgdiBCU0QgbmHoaW4uXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gb3BlbiAlcyIKKyN+IG1zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogbmkgbW9nb+hlIG9kcHJldGkgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIiVzIG5pIG1vZ2/oZSBvZHByZXRpIHphIGJyYW5qZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gL2Rldi9wb3J0IgorI34gbXNnc3RyICJPZHBydGplIHZyYXQgL2Rldi9wb3J0OiAlcyBuaSB1c3BlbG8iCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiT2RwaXJhbmplICVzIG5pIHVzcGVsbyIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJOaSBtb2dv6GUgb2RwcmV0aSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc291cmNlIGJ1ZmZlciIKKyN+IG1zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAic3RhbmphICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHN0YXQgZGlyZWN0b3J5ICVzIgorI34gbXNnc3RyICJzdGFuamEgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiB0aW1pbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiRGF0b3Rla2UgLCVzYCBuaSBtb2dv6GUgb2RwcmV0aSIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiTmkgbW9nb+hlIG9kcHJldGkgIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuIFwiJXNcIiBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAiXCIlc1wiIG5pIG1vZ2/oZSBvZHByZXRpIHphIGJyYW5qZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzdGF0IFwiJXNcIiIKKyN+IG1zZ3N0ciAic3RhbmphIG5hcHJhdmUgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAteCBkaXIgICAgIGV4dHJhY3QgaW50byBkaXJcbiIKKyN+ICIgLXYgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKKyN+ICIgZmlsZSAgICAgICBmaWxlIHRvIHRlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gInVwb3JhYmE6ICVzIFstaHZdIFstZCBpbWVuaWtdIGRhdG90ZWthXG4iCisjfiAiIC1oICAgICAgICAgcHJpa2G+aSB0byBwb21v6FxuIgorI34gIiAteCBpbWVuaWsgIHJherlpcmkgdiBpbWVuaWtcbiIKKyN+ICIgLXYgICAgICAgICBwcmlrYb5pIHZl6CBpbmZvcm1hY2lqXG4iCisjfiAiIGRhdG90ZWthICAgZGF0b3Rla2EsIGtpIGpvIHRlc3RpcmFtb1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstbGFydnNtZl0gL2Rldi9uYW1lXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFstbGFydnNtZl0gL2Rldi9pbWVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYmxvY2tzaXplIGFyZ3VtZW50IgorI34gbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogd2lsbCBub3QgdHJ5IHRvIG1ha2Ugc3dhcGRldmljZSBvbiAnJXMnIgorI34gbXNnc3RyICJOYXByYXZhIGl6bWVuamFsbmVnYSBwcm9zdG9yYSBuZSBibyB1c3R2YXJqZW5hIG5hICwlc2AiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyAoJXMpXG4iCisjfiBtc2dzdHIgInN0YW5qYSBuYXByYXZlICVzIG5pIG1vZ2/oZSBkb2JpdGkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIlJhemRlbGVrICVpIHNlIG5lIHph6G5lIG5hIG1lamkgc3RlejpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJtb3JhbCBiaSBiaXRpICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgIm1vcmFsIGJpIGJpdGkgKCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiVG8gamVkcm8gbmFqZGUgdmVsaWtvc3Qgc2VrdG9yamEgc2Ftb3N0b2pubyAtIC1iIGl6YmlyZSBuaSB1cG+5dGV2YW5hXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJqZSB6bWFuamthbG8gcG9tbmlsbmlrYT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlemdvZGVuIGtvbmVjIHZub3NhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogY291bGRuJ3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5pIG1vZ2/oZSBvZHByZXRpOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlcG9jaCIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlIHNwZWNpZmllZCBtdWx0aXBsZSBmdW5jdGlvbnMuXG4iCisjfiAiWW91IGNhbiBvbmx5IHBlcmZvcm0gb25lIGZ1bmN0aW9uIGF0IGEgdGltZS4iCisjfiBtc2dzdHIgIiIKKyN+ICJQb2RhbGkgc3RlIHZl6CBmdW5rY2lqLlxuIgorI34gIkl6dmVkZXRlIGxhaGtvIHNhbW8gZW5vIGZ1bmtjaWpvIG5hZW5rcmF0LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSAtLXV0YyBhbmQgLS1sb2NhbHRpbWUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiJXM6IC0tdXRjIGluIC0tbG9jYWx0aW1lIGl6YmlyaSBzZSBtZWRzZWJvam5vIGl6a2xqdeh1amV0YS4gUG9kYWxpIHN0ZSBvYmUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogLS1hZGp1c3QgaW4gLS1ub2FkamZpbGUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgLS1hZGpmaWxlIGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICIlczogLS1hZGp1c3QgaW4gLS1ub2FkamZpbGUgaXpiaXJpIHNlIG1lZHNlYm9qbm8gaXprbGp16HVqZXRhLiBQb2RhbGkgc3RlIG9iZS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgbG9jayBncm91cCBmaWxlIgorI34gbXNnc3RyICJtb3VudDogaGl0cm9zdGkgbmkgbW9nb+hlIG5hc3Rhdml0aTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgIiVzOiBkYXRvdGVrYSAlcyBqZSB2IHJhYmkgKCVzIGRvc2VnbGppdmEpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNpZ3ZhbCIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2Jsayg4KS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJOZXZlbGphdm5hIHZyZWRub3N0IG5hc3RhdmxqYW5qYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiBmYWlsZWQgdG8gcmVhZCBtdGFiIgorI34gbXNnc3RyICJzdGFuamEgJXMgbmkgbW9nb+hlIGRvYml0aSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MgZGF0YSIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJ1ZmZlciBzaXplIgorI34gbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc3BlZWQiCisjfiBtc2dzdHIgIm5ldmVsamF2bmkgaWQ6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgbmFzdGF2bGphbmphOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgc2l6ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZuYSB2cmVkbm9zdCBuYXN0YXZsamFuamE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudHBvaW50KDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIFBJRCIKKyN+IG1zZ3N0ciAibmkgbW9nb+hlIG9kcHJldGkgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHNlY29uZHMgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lX3QgdmFsdWUiCisjfiBtc2dzdHIgIiVzOiBvZHBpcmFuamUgbmkgdXNwZWxvOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoMSkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJhcmd1bWVudCAlbHUgaXMgdG9vIGxhcmdlIgorI34gbXNnc3RyICJJemJpcmEgLS1kYXRlIGplIHByZWRvbGdhLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRlcm1pbmFsIGVudmlyb25tZW50IENPTFVNTlMgZmFpbGVkIgorI34gbXNnc3RyICJkb2RlbGplbmkgc2VtYWZvcmppID0gJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgbGVuZ3RoIHZhbHVlIgorI34gbXNnc3RyICJoZXhkdW1wOiBzbGFiYSB2cmVkbm9zdCBkb2y+aW5lLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJoZXhkdW1wOiBzbGFiYSB2cmVkbm9zdCBwcmVza29rYS5cbiIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBVcG9yYWJhOiAlcyBbLbl0ZXZpbG9dIFstcCBuaXpdIFstY2VmbnJzXSBbK3Zyc3RpY2FdIFsrL3Z6b3JlYy9dIFtkYXRvdGVrZV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogJWQ6IHBhcnNlIGVycm9yIC0tIGxpbmUgaWdub3JlZC5cbiIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6IGZhaWxlZCB0byBwYXJzZSAlcyIKKyN+IG1zZ3N0ciAiJXM6IG9kcGlyYW5qZSBuaSB1c3BlbG86ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJS0yNXM6IGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAidmVqaXRldiBuaSB1c3BlbGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTI1czogZmFpbGVkXG4iCisjfiBtc2dzdHIgImlza2FuamUgamUgYmlsbyBuZXVzcGW5bm8iCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIHpicmm5aSByYXpkZWxlayB0aXBhIEJTRCIKKworI34gbXNnaWQgIiAgIG4gICBhZGQgYSBuZXcgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgbiAgIGRvZGFqIG5vdm8gcGFydGljaWpvIHRpcGEgQlNEIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICBzcHJlbWVuaSBpZCByYXpkZWzobmVnYSBkYXRvdGXobmVnYSBzaXN0ZW1hIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgc3ByZW1lbmkgZW5vdGUgKHN0ZXplL3Nla3RvcmppKSIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAgaXpwablpIHRhYmVsbyByYXpkZWxrb3YiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVXN0dmFyamEgc2Ugbm92YSBvem5ha2EgZGlza2EgdGlwYSBET1MuIFNwcmVtZW1iZSBib2RvIG9zdGFsZSB2IHBvbW5pbG5pa3VcbiIKKyN+ICJkb2tsZXIgc2UgbmUgb2Rsb+hpdGUsIGRhIGppaCBib3N0ZSB6YXBpc2FsaS4gUG8gdGVtIHByZWq5bmphIHZzZWJpbmFcbiIKKyN+ICJuZSBibyB2Zeggb2Jub3Zsaml2YS5cbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAiTmFwcmF2YSBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3YgdGlwYSBET1MsIG5pdGkgb3puYWtlIGRpc2thIHRpcGEgU3VuLCBTR0kgYWxpIE9TRlxuIgorCisjfiBtc2dpZCAiSW50ZXJuYWwgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiTm90cmFuamEgbmFwYWthXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRTb3JyeSwgbm8gZXhwZXJ0cyBtZW51IGZvciBTR0kgcGFydGl0aW9uIHRhYmxlcyBhdmFpbGFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdFphIHRhYmVsZSBwYXJ0aWNpaiB0aXBhIFNHSSC+YWwgbmkgc3Ryb2tvdm5lZ2EgbWVuaWphLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiQWxpIHNlIHphdmVkYXRlLCBkYSBzZSB2YW0gbmEgZGlza3UgcHJla3JpdmFqbyByYXpkZWxraT9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBTR0kgZGlza2xhYmVsLiBDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LFxuIgorI34gInVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4gQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXNcbiIKKyN+ICJjb250ZW50IHdpbGwgYmUgdW5yZWNvdmVyYWJseSBsb3N0LlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiVXN0dmFyamEgc2Ugbm92YSBTR0kgb3puYWthIGRpc2thLiBTcHJlbWVtYmUgYm9kbyBvc3RhbGUgdiBwb21uaWxuaWt1XG4iCisjfiAic2FtbywgZG9rbGVyIHNlIG5lIG9kbG/oaXRlLCBkYSBqaWggYm9zdGUgemFwaXNhbGkuIFBvdGVtIGJvIHByZWq5bmphXG4iCisjfiAidnNlYmluYSBuZXBvdnJubGppdmEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgInBvbW5pbG5pa2EgamUgem1hbmprYWxvIC0gemFrbGp16HVqZW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1vdW50KDgpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAidnBpczogdnBpcyBqZSBsYWhrbyBuZXVzcGW5ZW4sa2VyIGplIG1hbG8gcHJvc3RlZ2EgcG9tbmlsbmlrYVxuIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciB0dHljbGFzcyIKKyN+IG1zZ3N0ciAiemEgdHR5Y2xhc3MgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIGdycGxpc3QiCisjfiBtc2dzdHIgInphIGdycGxpc3QgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAiVnBpcyBuYSAlcyBpeiAlcyBqZSB6YW5pa2FuLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFsgLWYgcG9sbm8taW1lXSBbIC1vIHBpc2FybmEgXSAiCisKKyN+IG1zZ2lkICJbIC0taGVscCBdIFsgLS12ZXJzaW9uIF1cbiIKKyN+IG1zZ3N0ciAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCisjfiBtc2dzdHIgImxvZ2luOiBQQU0gbmkgdXNwZWwsIHByZWtpbmphbTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1zIHNoZWxsXSBbdXNlcm5hbWVdXG4iCisjfiAiICAgb3I6ICUxJHMgKC0tbGlzdC1zaGVsbHMgfCAtLWhlbHAgfCAtLXZlcnNpb24pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVcG9yYWJhOiAlcyBbIC1zIGx1cGluYSBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgdXBvcmFibmm5a28gaW1lXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIiVzOiBsYWhrbyBzcHJlbWluamEgc2FtbyBsb2thbG5lIHZub3NlOyBuYW1lc3RvIHRlZ2EgdXBvcmFiaXRlIHlwJXMgLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAvZXRjL3Bhc3N3ZCIKKyN+IG1zZ3N0ciAiJXM6IE5lIG1vcmUgc2UgbmFzdGF2aXRpIHByaXZ6ZXRlIHp2ZXplW2NvbnRleHRdIHphIC9ldGMvcGFzc3dkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHB3bmFtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiaXNrYW5qZSBqZSBiaWxvIG5ldXNwZblubyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IHVwb3JhYml0ZSAtbCB6YSBpenBpcyBzZXpuYW1hXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9naW4gWy1mcF0gW3VzZXJuYW1lXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiBsb2dpbiBbLWZwXSBbdXBvcmFibmlrXVxuIgorCisjfiBtc2dpZCAiSWxsZWdhbCB1c2VybmFtZSIKKyN+IG1zZ3N0ciAiTmV2ZWxqYXZubyB1cG9yYWJuablrbyBpbWUiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJWUElTICVzIFpBTklLQU4gT0QgJXMgTkEgVFRZICVzIgorCisjfiBtc2dpZCAiTE9HSU4gJXMgUkVGVVNFRCBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIkxPR0lOICVzIFpBTklLQU4gTkEgVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIlByaWphdmEgbmkgdXNwZWxhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2hhbmdlIHRlcm1pbmFsIG93bmVyIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZG9kZWxqZW5pIHNlbWFmb3JqaSA9ICVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbHVyZSBmb3JraW5nIgorI34gbXNnc3RyICJsb2dpbjogdmVqaXRldiBuaSB1c3BlbGE6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBwcmlqYXZhOiAiCisKKyN+IG1zZ2lkICJOQU1FIHRvbyBsb25nIgorI34gbXNnc3RyICJJTUUgamUgcHJlZG9sZ28iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLiIKKyN+IG1zZ3N0ciAiUHJpamF2bm8gaW1lIGplIHByZWRvbGdvLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuIgorI34gbXNnc3RyICJQcmlqYXZuYSBpbWVuYSBzZSBuZSBtb3Jlam8gemHoZXRpIHogem5ha29tICctJy5cbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIlBSRUtPTUVSTkkgcG9taWtpIHYgbm92byB2cnN0byIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0b28gbWFueSBiYXJlIGxpbmVmZWVkcy4iCisjfiBtc2dzdHIgInByZXZl6CBwb21pa292IHYgbm92byB2cnN0b1xuIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiTkVVU1BFqU5BIFBSSUpBVkEgWiAlcywgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiTkVVU1BFqU5BIFBSSUpBVkEgTkEgJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVkIE5FVVNQRalOSUggUFJJSkFWIFogJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCBORVVTUEWpTklIIFBSSUpBViBOQSAlcywgJXMiCisKKyN+IG1zZ2lkICIlczogdGhlIGdyb3VwIGZpbGUgaXMgYnVzeS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGRhdG90ZWthIHNrdXBpbmUgamUgdiByYWJpLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiBuaSBtb2dv6GUgb2RrbGVuaXRpICVzOiAlcyAodmG5ZSBzcHJlbWVtYmUgc28guWUgdmVkbm8gdiAlcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiRGlzayAlcyBuZSB2c2VidWplIHZlbGphdm5lIHRhYmVsZSByYXpkZWxrb3ZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZmFpbGVkIgorI34gbXNnc3RyICJvcGVucHR5IG5pIHVzcGVsXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXM6IHVwb3JhYm5payBcIiVzXCIgbmUgb2JzdGphLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImxvb3A6IGNhbid0IHNldCBjYXBhY2l0eSBvbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IGluZm9ybWFjaWogbyBuYXByYXZpICVzIG5pIG1vZ2/oZSBkb2JpdGk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIG9kbWlrICVkIgorCisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiLCC5aWZyaXJuaSB0aXAgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogaW5mb3JtYWNpaiBvIG5hcHJhdmkgJXMgbmkgbW9nb+hlIGRvYml0aTogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBuaSBtb2dv6GUgb2RwcmV0aSBuYXByYXZlICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiB6YSB2cG9nbGVkIHYgL2Rldi9sb29wIyBuaSBkb3ZvbGplbmphIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBsb29wIG5hcHJhdmUgbmkgbW9nb+hlIG5hanRpLiBNb2dv6GUgdG8gamVkcm8gbmUgdmUgemEgbmFwcmF2b1xuIgorI34gIlx0dGUgdnJzdGUuICjIZSBqZSB0byByZXMsIHBvbm92bm8gcHJldmVkaSBqZWRybyBhbGkgc2kgcG9tYWdhaiB6IGBtb2Rwcm9iZSBsb29wJy4pIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hpbGUgcmVhZGluZyBwYXNzcGhyYXNlIgorI34gbXNnc3RyICJQcmkgcG92ZehldmFuanUgbWVkcG9tbmlsbmlrYSBqZSB6bWFuamthbG8gcG9tbmlsbmlrYS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJTZWt0b3IgJWQgamUgvmUgZG9kZWxqZW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIGplIHphuehpdGVuYSBwcmVkIHBpc2FuamVtLCBwcmlrbGFwbGphbSBzYW1vIHphIGJyYW5qZSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUpOiB1c3BlaFxuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogdXNwZWhcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IG5hcHJhdmUgJXMgbmkgbW9nb+hlIHpicmlzYXRpOiAlc1xuIgorCisjfiBtc2dpZCAiVGhpcyBtb3VudCB3YXMgY29tcGlsZWQgd2l0aG91dCBsb29wIHN1cHBvcnQuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIlByb2dyYW0gbW91bnQgamUgYmlsIHByZXZlZGVuIGJyZXogcG9kcG9yZSB6YSBsb29wLiBQb3NrdXNpdGUgcG9ub3ZubyBwcmV2ZXN0aSBtb3VudC5cbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiTWVkIHByZXZhamFuamVtIG5pIGJpbG8gcG9kcG9yZSB6YSBsb29wIG5hcHJhdm8uIFBvc2t1c2l0ZSBwb25vdm5vIHByZXZlc3RpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcGFydHgoOCkuXG4iCisjfiBtc2dzdHIgIkZpbmdlciBpbmZvcm1hY2lqYSBzcHJlbWVuamVuYS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2cmVkbm9zdF18Wy1TIHZyZWRub3N0XSkgKFstdCB2cmVkbm9zdF18Wy1UIHZyZWRub3N0XSkgWy1nfC1HXSBkYXQgWyBkYXQuLi5dXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogJXMgbmkgbW9nb+hlIG9kcHJldGk6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGJhZCBudW1iZXI6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBzbGFiYSB2cmVkbm9zdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAidmVqaXRldiBuaSB1c3BlbGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGlwY21rKDEpLlxuIgorI34gbXNnc3RyICJGaW5nZXIgaW5mb3JtYWNpamEgc3ByZW1lbmplbmEuXG4iCisKKyN+IG1zZ2lkICJkZXByZWNhdGVkIHVzYWdlOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiemFzdGFyZWxhIHJhYmE6ICVzIHtza3VwX21lZHBvbSB8IHNwb3LobG8gfCBpZF9zZW1mcmphfSBpZCAuLi5cbiIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4ga2V5IgorI34gbXNnc3RyICJ2IGtsanXodSBqZSBuZXpuYW5hIG5hcGFrYSAiCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGlkIgorI34gbXNnc3RyICJ2IGlkIGplIG5lem5hbmEgbmFwYWthIgorCisjfiBtc2dpZCAiJXM6ICVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiVzIGl6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IFVzYWdlOiBcIiVzIFtvcHRpb25zXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+IChkZWZhdWx0OiBcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBwcmludCB2ZXJzaW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogVXBvcmFiYTogXCIlcyBbaXpiaXJlXVxuIgorI34gIlx0IC1tIDxwcmVzbGlrZGF0PiAocHJpdnpldGE6IFwiJXNcIiBpblxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1kYXQ+IChwcml2emV0bzogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICBuYXN0YXZpIHByb2ZpbG5pIHZl6GtyYXRuaWsgbmEgPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgIGl6cGm5aSBpbmZvcm1hY2lqZSBvIHZ6b3LobmVtIGtvcmFrdVxuIgorI34gIlx0IC12ICAgICAgICAgICBwb2RhdGtlIGl6cGm5aSBnb3N0b2Jlc2Vkbm9cbiIKKyN+ICJcdCAtYSAgICAgICAgICAgaXpwablpIHZzZSBzaW1ib2xlLCB0dWRpIOhlIGplIHByZbl0ZXZlayAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgIGl6cGm5aSBzYW1vc3Rvam5lIGhpc3RvZ3JhbXNrZSBwcmW5dGV2a2VcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgaXpwablpIHNhbW9zdG9qbmUgcHJluXRldmtlIHpub3RyYWogZnVua2NpalxuIgorI34gIlx0IC1yICAgICAgICAgICBwb25vdm5vIG5hc3RhdmkgdnNlILl0ZXZjZSAobGFoa28gc2FtbyBza3JibmlrKVxuIgorI34gIlx0IC1uICAgICAgICAgICBvbmVtb2dv6Gkgc2Ftb3phem5hdm8gYmFqdG5lZ2EgcmVkYVxuIgorI34gIlx0IC1WICAgICAgICAgICBpenBpuWkgcmF6bGnoaWNvIGluIGl6aG9kXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBuYXBha2EgcHJpIHBpc2FuanUgbmEgJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcnRjd2FrZSg4KS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIlBvc2t1c2l0ZSBgZ2V0b3B0IC0taGVscCcgemEgdmXoIGluZm9ybWFjaWouXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogJXMgcHJvZ3JhbSBbaXpiaXJhIC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVcG9yYWJhOiAlcyA8bmFwcmF2YT4gWyAtaSA8SVJRPiB8IC10IDzIQVM+IHwgLWMgPFpOQUtJPiB8IC13IDzIQUtBSj4gfCBcbiIKKyN+ICIgICAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHxcbiIKKyN+ICIgICAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiBzbGFiYSB2cmVkbm9zdFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdW5zaGFyZSgxKS5cbiIKKyN+IG1zZ3N0ciAiRmluZ2VyIGluZm9ybWFjaWphIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNsb3NpbmcgZmlsZSAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk5hcGFrYSBwcmkgemFwaXJhbmp1IGRhdG90ZWtlXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICKuYWwgbGFoa28gc3ByZW1lbml0ZSBPem5ha28gbmVwcmF6bmloIHJhemRlbGtvdi5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyAiCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsZWsgJXMgIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyAiCisjfiBtc2dzdHIgIk9wb3pvcmlsbzogcmF6ZGVsa2kgJXMgIgorCisjfiBtc2dpZCAiYW5kICVzIG92ZXJsYXBcbiIKKyN+IG1zZ3N0ciAiaW4gJXMgc2UgcHJla3JpdmF0YVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzIFtvcHRpb25zXSBkZXZpY2UgWy4uLl1cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJEZXZpY2UgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGEgb3IgL2Rldi9zZGFcbiIKKyN+IG1zZ3N0ciAibmFwcmF2YTogbnByLiAvZGV2L2hkYSBhbGkgL2Rldi9zZGEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc11cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgW2l6YmlyZV0gbmFwcmF2YSAuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFtpemJpcmVdIG5hcHJhdmEgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAlcyAtVlxuIgorI34gbXNnc3RyICJcdCVzIC1sIFtzaWduYWwgXVxuIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBbbmFwcmF2ZV1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSB1a2F6aSBuYXByYXZlXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5pIG1vZ2/oZSBvZHByZXRpICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiAlcyBbIC1uIF0gbmFwcmF2YVxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIG5pIHVzcGVsIgorCisjfiBtc2dpZCAiJXM6IG9wdGlvbiBwYXJzZSBlcnJvclxuIgorI34gbXNnc3RyICIlczogbmFwYWthIHByaSByYXrobGVuamV2YW5qdSBpemJpclxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFsteF0gWy1kIDy5dD5dIHNsaWthLWlzbzk2NjBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVcG9yYWJhOiAlcyBbLWJdIFstTiC5dC4gaW5vZG92XSBbLVYgaW1lLW9ic2VnYVt2b2x1bWVdXVxuIgorI34gIiAgICAgICAgIFstRiBpbWUgZGF0LiBzaXN0ZW1hXSBuYXByYXZhIFu5dC4gYmxva292XVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHN0YXQgJXMiCisjfiBtc2dzdHIgInN0YW5qYSAlcyBuaSBtb2dv6GUgZG9iaXRpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJuaSBtb2dv6GUgZG9iaXRpIHZlbGlrb3N0aSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBsYWJlbF0gWy1VIFVVSURdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbLWNdIFstdjB8LXYxXSBbLXAgdmVsLiBzdHJhbmldIC9kZXYvaW1lIFtibG9raV1cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkiCisjfiBtc2dzdHIgIlptYW5qa2FsbyBqZSBwb21uaWxuaWthIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICVzICIKKyN+IG1zZ3N0ciAiVXBvcmFiYTpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJNZW51IGJyZXogc21lcmkuIFByaXZ6ZXRhIGplIHZvZG9yYXZuby4iCisKKyN+IG1zZ2lkICIiCisjfiAiQ29tbWFuZCBhY3Rpb25cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBwcmltYXJ5IHBhcnRpdGlvbiAoMS00KVxuIgorI34gbXNnc3RyICIiCisjfiAiVWthem5hIGFrY2lqYVxuIgorI34gIiAgJXNcbiIKKyN+ICIgIHAgICBwcmltYXJuaSByYXpkZWxlayAoMS00KVxuIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFthbGkgLS1zaG93LXNpemVdOiBpenBpuWkgdmVsaWtvc3QgcmF6ZGVsa2EiCisKKyN+IG1zZ2lkICIgICAgLWQgW29yIC0tZHVtcF06ICAgICAgaWRlbSwgYnV0IGluIGEgZm9ybWF0IHN1aXRhYmxlIGZvciBsYXRlciBpbnB1dCIKKyN+IG1zZ3N0ciAiICAgIC1kIFthbGkgLS1kdW1wXTogICAgIHBvZG9ibm8ga290IHByZWosIGFtcGFrIHYgb2JsaWtpLCB1cG9yYWJuaSB6YSBrYXNuZWq5aSB2bm9zIgorCisjfiBtc2dpZCAiICAgIC1pIFtvciAtLWluY3JlbWVudF06IG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDAiCisjfiBtc2dzdHIgIiAgICAtaSBbYWxpIC0taW5jcmVtZW50XToguXRldmlsbyBzdGV6LCBucHIuIG9kIDEgbmFtZXN0byBvZCAwIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgc3ByZWptaS9wb3Jv6GFqIHYgZW5vdGFoIHNla3Rvcmpldi9ibG9rb3Yvc3Rlei9NQiIKKworI34gbXNnaWQgIiAgICAtRCBbb3IgLS1ET1NdOiAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlIgorI34gbXNnc3RyICIgICAgLUQgW2FsaSAtLURPU106ICAgICAgemEgemRydb5saml2b3N0IHogRE9TLW9tOiBwb3JhYmkgbWFsbyBwcm9zdG9yYSIKKworI34gbXNnaWQgIiAgICAtUiBbb3IgLS1yZS1yZWFkXTogICBtYWtlIGtlcm5lbCByZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICAgLVIgW2FsaSAtLXJlLXJlYWRdOiAgcHJpc2lsaSBqZWRybyB2IHBvbm92bm8gYnJhbmplIHRhYmVsZSByYXpkZWxrb3YiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIGRhdG90ZWthIDogICAgICAgIHNocmFuaSBzZWt0b3JqZSwga2kgYm9kbyBwcmVwaXNhbmkgdiBkYXRvdGVraSIKKworI34gbXNnaWQgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByZXN0b3JlIHRoZXNlIHNlY3RvcnMgYWdhaW4iCisjfiBtc2dzdHIgIiAgICAtSSBkYXRvdGVrYTogICAgICAgICBwb25vdm5vIG9ibm92aSB0ZSBzZWt0b3JqZSIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgW2FsaSAtLXZlcnNpb25dOiAgaXpwablpIHJhemxp6GljbyIKKworI34gbXNnaWQgIiAgICAtPyBbb3IgLS1oZWxwXTogICAgICBwcmludCB0aGlzIG1lc3NhZ2UiCisjfiBtc2dzdHIgIiAgICAtPyBbYWxpIC0taGVscF06ICAgICBpenBpuWkgdG8gc3Bvcm/oaWxvIgorCisjfiBtc2dpZCAiICAgIC1nIFtvciAtLXNob3ctZ2VvbWV0cnldOiBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiAgICAtZyBbYWxpIC0tc2hvdy1nZW9tZXRyeV06IGl6cGm5aSBnZW9tZXRyaWpvIHRha28sIGtvdCBnYSByYXp1bWUgamVkcm8iCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgW2FsaSAtLUxpbnV4XTogICAgICBuZSBwcml0b751aiBzZSBuYWQgc3R2YXJtaSwga2kgbmlzbyBwb21lbWJuZSB6YSBMaW51eCIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIiAgICBaYXpuYW5vIGdlb21ldHJpam8gbGFoa28gb2JpZGV0ZSB0YWtvIGRhIHVwb3JhYml0ZToiCisKKyN+IG1zZ2lkICIgICAgLWYgIFtvciAtLWZvcmNlXTogICAgICBkbyB3aGF0IEkgc2F5LCBldmVuIGlmIGl0IGlzIHN0dXBpZCIKKyN+IG1zZ3N0ciAiICAgIC1mIFthbGkgLS1mb3JjZV06ICAgICAgbmFyZWRpIGthciByZehlbSBicmV6IHVnb3Zvcm92IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJtb3VudDogdGlwIGRhdC4gc2lzdGVtYSBtb3JhIGJpdGkgcG9kYW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6IG1rZnMgWy1WXSBbLXQgdGlwIGRhdC4gc2lzdGVtYV0gW2l6YmlyZSBkYXQuIHNpc3QuXSBuYXByYXZhIFt2ZWxpa29zdF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmc2NrIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJXMgaXogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIkRvZGVsaXRldiBtZWRwb21uaWxuaWthIHphIGlub2RlIG5pIG1vvm5hIgorCisjfiBtc2dpZCAiVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiUG9za3VzaXRlIGBnZXRvcHQgLS1oZWxwJyB6YSB2ZeggaW5mb3JtYWNpai5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBnZXRvcHQgb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0cmlcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGdldG9wdCBbaXpiaXJlXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0cmlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRwb3QgKHJherlpcmplbikgMS4xLjNcbiIKKworI34gbXNnaWQgIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLilcbiIKKyN+IG1zZ3N0ciAiKFByaehha292YW5vOiBgVVRDJyBhbGkgYExPQ0FMYCBhbGkgbmnoLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHNob3cgdGhpcyBoZWxwXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9jayAtIHBvdnByYblhaiBpbiBuYXN0YXZpIHN0cm9qbm8gdXJvIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXBvcmFiYTogaHdjbG9jayBbZnVua2NpamFdIFtpemJpcmUuLi5dXG4iCisjfiAiXG4iCisjfiAiRnVua2NpamU6XG4iCisjfiAiICAtLWhlbHAgICAgICAgIHByaWthvmkgdG8gcG9tb+hcbiIKKyN+ICIgIC0tc2hvdyAgICAgICAgcHJlYmVyaSBzdHJvam5vIHVybyBpbiBpenBpuWkgcmV6dWx0YXRcbiIKKyN+ICIgIC0tc2V0ICAgICAgICAgbmFzdGF2aSBydGMgbmEg6GFzIHBvZGFuIHogLS1kYXRlXG4iCisjfiAiICAtLWhjdG9zeXMgICAgIG5hc3Rhdmkgc2lzdGVtc2tpIOhhcyBuYSBzdHJvam5vIHVyb1xuIgorI34gIiAgLS1zeXN0b2hjICAgICBuYXN0YXZpIHN0cm9qbm8gdXJvIG5hIHNpc3RlbXNraSDoYXNcbiIKKyN+ICIgIC0tYWRqdXN0ICAgICAgcG9uYXN0YXZpIHJ0YywgdGFrbyBkYSBzZSB1cG+5dGV2YSBzaXN0ZW1za28gZHJzZW5qZVxuIgorI34gIiAgICAgICAgICAgICAgICBvZGthciBqZSBiaWwgdXJhIG5hemFkbmplIG5hc3RhdmxqZW5hXG4iCisjfiAiICAtLWdldGVwb2NoICAgIGl6cGm5aSByYXpkb2JqZSBqZWRyb3ZlIHN0cm9qbmUgdXJlXG4iCisjfiAiICAtLXNldGVwb2NoICAgIG5hc3RhdmkgcmF6ZG9iamUgamVkcm92ZSBzdHJvam5lIHVyZSBuYSB2cmVkbm9zdFxuIgorI34gIiAgICAgICAgICAgICAgICBwb2Rhbm8geiAtLWVwb2NoXG4iCisjfiAiICAtLXZlcnNpb24gICAgIGl6cGm5aSByYXpsaehpY28gaHdjbG9jayBuYSBzdGFuZGFyZG5pIGl6aG9kXG4iCisjfiAiXG4iCisjfiAiSXpiaXJlOiBcbiIKKyN+ICIgIC0tdXRjICAgICAgICAgc3Ryb2puYSB1cmEgamUgc2hyYW5qZW5hIHYga29vcmRpbmlyYW5lbSB1bml2ZXJ6YWxuZW0g6GFzdVxuIgorI34gIiAgLS1sb2NhbHRpbWUgICBzdHJvam5hIHVyYSBqZSBzaHJhbmplbmEgdiBsb2thbG5lbSDoYXN1XG4iCisjfiAiICAtLWRpcmVjdGlzYSAgIGRvIElTQSB2b2RpbGEgZG9zdG9wYWogbmVwb3NyZWRubyBuYW1lc3RvICVzXG4iCisjfiAiICAtLWJhZHllYXIgICAgIHByZXpyaSBydGNqZXZvIGxldG8sIHphdG8ga2VyIGplIGJpb3MgcG+5a29kb3ZhblxuIgorI34gIiAgLS1kYXRlICAgICAgICBwb2RhIOhhcywgbmEga2F0ZXJlZ2EgamUgbmFzdGF2bGplbmEgc3Ryb2puYSB1cmFcbiIKKyN+ICIgIC0tZXBvY2g9bGV0byAgcG9kYWogbGV0bywga2kgamUgemHoZXRuYSB2cmVkbm9zdCBlcG9oZSBzdHJvam5lIHVyZVxuIgorI34gIiAgLS1ub2FkamZpbGUgICBuZSBkb3N0b3BhaiBkbyAvZXRjL2FkanRpbWUuIFphaHRldmEgdXBvcmFibyAtLXV0YyBhbGlcbiIKKyN+ICIgICAgICAgICAgICAgICAgLS1sb2NhbHRpbWVcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJ6YSB6YehldG5pIG5peiBuaSBtb2dv6GUgZG9kZWxpdGkgcG9tbmlsbmlrYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstOGhpTG1zVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIm9yXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlVwb3JhYmE6ICVzIFstaGlMbXddIFstbCB2cGlzbmlfcHJvZ3JhbV0gWy10IG9kbW9yXSBbLUkgemHoZXRuaW5pel0gWy1IIHZwaXNubyBpbWUgZ29zdGl0ZWxqYV0gaGl0cm9zdF9wcmVub3NhX3ZfYmF1ZGloLC4uLiB2cnN0aWNhIFt0aXB0ZXJtaW5hbGFdXG4iCisjfiAiYWxpXHRbLWhpTG13XSBbLWwgdnBpc25pX3Byb2dyYW1dIFstdCBvZG1vcl0gWy1JIHph6GV0bmluaXpdIFstSCB2cGlzbm8gaW1lIGdvc3RpdGVsamFdIHZvZCBoaXRyb3N0X3ByZW5vc2Ffdl9iYXVkaWgsLi4uIFt0aXB0ZXJtaW5hbGFdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFt5IHwgbl0iCisjfiBtc2dzdHIgInVwb3JhYmE6IG1lc2cgW3kgfCBuXVxuIgorCisjfiBtc2dpZCAiJXM6IEJBRCBFUlJPUiIKKyN+IG1zZ3N0ciAiJXMgUkVTTkEgTkFQQUtBIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiAlcyBbLW5dIFtmaWxlXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiAlcyBbZGF0b3Rla2FdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuJ3QgcmVhZDogJXMiCisjfiBtc2dzdHIgIiVzICVzIG5pIG1vZ2/oZSBicmF0aS5cbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiBsb2dnZXIgWy1pc10gWy1mIGRhdF0gWy1wIHByZWRub3N0XSBbLXQgem5h6GthXSBbLXUgdnRp6G5pY2FdIFsgc3Bvcm/oaWxvIC4uLl1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiBsb29rIFstZGZhXSBbLXQgem5ha10gbml6IFtkYXRvdGVrYV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5PyIKKyN+IG1zZ3N0ciAiamUgem1hbmprYWxvIHBvbW5pbG5pa2E/XG4iCisKKyN+IG1zZ2lkICJjYWxsOiAlcyBmcm9tIHRvIGZpbGVzLi4uXG4iCisjfiBtc2dzdHIgImtsaWM6ICVzIGl6IG5hIGRhdG90ZWtlLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6IHNjcmlwdCBbLWFdIFstZl0gWy1xXSBbLXRdIFtkYXRvdGVrYV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3IgJWQ6ICVzXG4iCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgcGlzYW5qdSBuYSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBwaXNhbmp1IG5hICVzXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFstc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXRyaWJ1dCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyBzb2NrZXRwYXRoXSBbLVQgdGltZW91dF1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogbGFzdCBbLSNdIFstZiBkYXRdIFstdCB0dHldIFstaCBpbWUgZ29zdGl0ZWxqYV0gW3Vwb3JhYm5payAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIlx0JXMgLWwgW3NpZ25hbCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcl0gWy10XVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiAlcyBbaXpiaXJlXSBuYXByYXZhIC4uLlxuIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSBpbWVuaWsgLi4uIC1mIF0gaW1lLi4uXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogd3JpdGUgdXNlciBbdHR5XVxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiB3cml0ZSB1cG9yYWJuaWsgW3R0eV1cbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIG5pIG1vZ2/oZSBvZHByZXRpOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgIm5lem5hbmVtIgorCisjfiBtc2dpZCAiVXNhZ2U6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnNdXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6IHNodXRkb3duIFstaHwtcl0gWy1mcXNdIFtub3d8aGg6c3N8K21pbnV0XVxuIgorCisjfiBtc2dpZCAiU2h1dGRvd24gcHJvY2VzcyBhYm9ydGVkIgorI34gbXNnc3RyICJQb3N0b3BlayB6YXVzdGF2aXR2ZSBwcmVraW5qZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib25seSByb290IGNhbiBzaHV0IGEgc3lzdGVtIGRvd24uIgorI34gbXNnc3RyICIlczogU2lzdGVtIGxhaGtvIHphdXN0YXZpIHNhbW8gc2lzdGVtc2tpIHNrcmJuaWsuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGhhdCBtdXN0IGJlIHRvbW9ycm93LCBjYW4ndCB5b3Ugd2FpdCB0aWxsIHRoZW4/IgorI34gbXNnc3RyICJUbyBzZSBtb3JhIHpnb2RpdGkganV0cmksIGFsaSBuZSBtb3JldGUgcG/oYWthdGkgZG8gdGFrcmF0P1xuIgorCisjfiBtc2dpZCAiZm9yIG1haW50ZW5hbmNlOyBib3VuY2UsIGJvdW5jZSIKKyN+IG1zZ3N0ciAiemEgdnpkcr5ldmFuamUiCisKKyN+IG1zZ2lkICJUaGUgc3lzdGVtIGlzIGJlaW5nIHNodXQgZG93biB3aXRoaW4gNSBtaW51dGVzIgorI34gbXNnc3RyICJTaXN0ZW0gc2UgYm8gemF1c3RhdmlsIOhleiBwZXQgbWludXQiCisKKyN+IG1zZ2lkICJMb2dpbiBpcyB0aGVyZWZvcmUgcHJvaGliaXRlZC4iCisjfiBtc2dzdHIgIlByaWphdmEgemF0byBuaSBkb3ZvbGplbmEuIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJwb25vdm5vIHphZ25hbCB1cG9yYWJuaWsgJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAidXN0YXZpbCB1cG9yYWJuaWsgJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldoeSBhbSBJIHN0aWxsIGFsaXZlIGFmdGVyIHJlYm9vdD8iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJaYWthaiBzZW0guWUgdmVkbm8gYWt0aXZlbiBwbyBwb25vdm5lbSB6YWdvbnU/IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlpkYWogbGFoa28gdmFybm8gaXprbG9waXRlIHJh6HVuYWxuaWsuIgorCisjfiBtc2dpZCAiQ2FsbGluZyBrZXJuZWwgcG93ZXItb2ZmIGZhY2lsaXR5Li4uXG4iCisjfiBtc2dzdHIgIktsaehlbSBqZWRyb3ZvIGl6a2xqdehpdHZlbm8gbWV0b2RvLi4uXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIk5hcGFrYSBwcmkgaXprbGp16GV2YW5qdVx0JXNcbiIKKworI34gbXNnaWQgIkV4ZWN1dGluZyB0aGUgcHJvZ3JhbSBcIiVzXCIgLi4uXG4iCisjfiBtc2dzdHIgIlphZ2FuamFtIHByb2dyYW0gXCIlc1wiIC4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiTlVKTk86IG9kZGFqIHNwb3Jv6GlsbyBpeiAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJTaXN0ZW0gc2UgYm8gdXN0YXZpbCDoZXogJWQgdXIgaW4gJWQgbWludXQuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIlNpc3RlbSBzZSBibyB1c3RhdmlsIOhleiBlbm8gdXJvIGluICVkIG1pbnV0LiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiU2lzdGVtIHNlIGJvIHVzdGF2aWwg6GV6ICVkIG1pbnV0LlxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBtaW51dGVcbiIKKyN+IG1zZ3N0ciAiU2lzdGVtIHNlIGJvIHVzdGF2aWwg6GV6IGVubyBtaW51dG8uXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiU2lzdGVtIHNlIHVzdGF2bGphIFpEQUouXG4iCisKKyN+IG1zZ2lkICJcdC4uLiAlcyAuLi5cbiIKKyN+IG1zZ3N0ciAiXHQuLi4gJXMgLi4uXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJOaSBtb2dv6GUgdmVqaXRpIHphIGl6a2x16Gl0ZXYgaXptZW5qYWxuZWdhIHByb3N0b3JhLiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJpemtsanXoaXR2ZSBpem1lbmphbG5lZ2EgcHJvc3RvcmEgbmkgbW9nb+hlIGl6dmVzdGksIHVwYW0sIGRhIGJvIHVtb3VudCB1c3BlbCIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciB1bW91bnQsIHRyeWluZyBtYW51YWxseS4iCisjfiBtc2dzdHIgIlVtb3VudCB2ZWppdGV2IG5pIHVzcGVsYSwgcG9pemt1uWFtIHJv6G5vIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIk5pIG1v6CBpenZlc3RpICVzLCBwb3NrdblhbSB6IHVtb3VudC5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIk5pIG1v6CBpenZlc3RpIHVtb3VudCwgbmFkYWxqbmkgcG9za3VzaSBvcHW56GVuaS4iCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIk9ka2xhcGxqYW0gcHJlb3N0YWxlIGRhdG90ZehuZSBzaXN0ZW1lLi4uIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd246IFVtb3VudCBuaSB1c3BlbCB6ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiQm9vdGluZyB0byBzaW5nbGUgdXNlciBtb2RlLlxuIgorI34gbXNnc3RyICJaYWdvbiB2IGVub3Vwb3JhYm5puWtlbSBuYehpbnUuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJpenZlZGJhIGVub3Vwb3JhYm5puWtlIGx1cGluZSBuaSB1c3BlbGFcbiIKKworI34gbXNnaWQgImZvcmsgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgInZlaml0ZXYgZW5vdXBvcmFibmm5a2UgbHVwaW5lIG5pIHVzcGVsYVxuIgorCisjfiBtc2dpZCAiZXJyb3Igb3BlbmluZyBmaWZvXG4iCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgb2RwaXJhbmp1IGZpZm9cbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgIm5hcGFrYSBwcmkgbmFzdGF2bGphbmp1IHphcGlyYW5qYSBwcmkgaXp2crlpdHZpIG5hIC9kZXYvaW5pdGN0bCIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgIm5hcGFrYSBtZWQgaXp2YWphbmplbSBwb3NsZWRuamVnYSBwcm9ncmFtYVxuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAibmFwYWsgcHJpIHZlaml0dmkgcG9zbGVkbmplZ2EgcHJvZ3JhbWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk5hcGHobm8gZ2VzbG8uXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJ2ZWppdGV2IG5pIHVzcGVsYVxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJpbml0dGFiIG5pIG1vZ2/oZSBvZHByZXRpXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJuaSB0ZXJtaW5hbGEgYWxpIG5pIG1vZ2/oZSBkb3N0b3BhdGkgZG8gdHR5XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSB6YXVzdGF2bGphbmp1IHN0b3JpdHZlOiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJuYXBha2EgcHJpIHphdXN0YXZsamFuanUgc3Rvcml0dmU6IFwiJXNcIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdGFydGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJuYXBha2EgcHJpIHphdXN0YXZsamFuanUgc3Rvcml0dmU6IFwiJXNcIiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6ICVzIFstY10gWy1uIHN0b3BuamFdIFstcyB2ZWxfbWVkcG9tXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBzdHJkdXAgZmFpbGVkIgorI34gbXNnc3RyICJPZHBpcmFuamUgJXMgbmkgdXNwZWxvIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJtYWxsb2MgbmkgdXNwZWwiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6ICVzIFstYmZweF0gWy1sIG5saW5lXSIKKyN+IG1zZ3N0ciAidXBvcmFiYTogY29sIFstYmZweF0gWy1sILl0bGluaWplXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogJXMgWyAtIF0gWyAtMiBdIFsgZGF0IC4uLiBdXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRfZmlsZV0gWy1uIGxlbmd0aF0gWy1zIHNraXBdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgb2JsaWthXSBbLWYgb2Jsa19kYXRdIFstbiBkb2y+aW5hXSBbLXMgcHJlc2tva10gW2RhdCAuLi5dXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWy1kZmxwY3N1XSBbK2xpbmVudW0gfCArL3BhdHRlcm5dIG5hbWUxIG5hbWUyIC4uLlxuIgorI34gbXNnc3RyICJ1cG9yYWJhOiAlcyBbLWRmbHBjc3VdIFsrdnJzdGljYSB8ICsvdnpvcmVjXSBpbWUxIGltZTIgLi4uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGluZSBidWZmZXJcbiIKKyN+IG1zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwb21uaWxuaWthLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogYnJhbmplICVzIG5pIG1vZ2/oZS5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IGxpbmUgdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IHZyc3RpY2EgamUgcHJlZG9sZ2EuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBuaSB1c3BlbCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogdGFpbGYgWy1uIE4gfCAtTl0gbG9nZmlsZSIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogdGFpbGYgZG5ldmRhdFtsb2ddXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogJXMgWyAtaSBdIFsgLXRUZXJtIF0gZGF0Li4uXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gb3BlbiAlc1xuIgorI34gbXNnc3RyICIlcyBuaSBtb2dv6GUgb2RwcmV0aVxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICJEb2RlbGpldmFuamUgcG9tbmlsbmlrYSBuaSB2ZeggbW9nb+hlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZ290IEVPRiB0aHJpY2UgLSBleGl0aW5nLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIjN4IGRvYmxqZW4gRU9GIC0gS29u6HVqZW0uLlxuIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IG1hbGxvYyBuaSB1c3BlbC5cbiIKKworI34gbXNnaWQgImxvZ2luOiBPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgImxvZ2luOiBabWFuamthbG8gamUgcHJvc3RlZ2EgcG9tbmlsbmlrYVxuIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IG5pIHVrYXpuZSBsdXBpbmU6ICVzLlxuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogbmFzdGF2aSBnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IERvc3RvcCB6YW5pa2FuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycDogbmFzdGF2aSB1aWQiCisKKyN+IG1zZ2lkICIlczogQ2Fubm90IGZvcmtcbiIKKyN+IG1zZ3N0ciAiJXM6IE5pIG1vZ2/oZSB2ZWppdGlcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICIlcyAlcyBuaSBtb2dv6GUgYnJhdGkuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc3RhdCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXMgbmkgbW9nb+hlIGRvYml0aSBzdGFuamEgemHoYXNuZSBkYXRvdGVrZS5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkIHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczogbmkgbW9nb+hlIGJyYXRpIGl6IHph6GFzbmUgZGF0b3Rla2UuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBwaXNhbmp1IG5hICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBpc2thbmp1IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiBhbmQgJWQuIgorI34gbXNnc3RyICIgaW4gIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IG5lem5hbiB1cG9yYWJuaWtcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBuZXByYXZpbG5hIHZyZWRub3N0XG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IG9kKDEpIGplIG5hZG9tZbnoZW4gcyBwcm9ncmFtb20gaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGhleGR1bXAoMSkgbmUgcG9kcGlyYSBpemJpcmUgLSVjIGl6YmlyJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IGdsZWp0ZSBzdHJpbmdzKDEpLiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGluIHRoZSBmaW5hbCBwYXJ0aWFsIGN5bGluZGVyIgorI34gbXNnc3RyICJSYXpkZWxlayBzZSBrb27oYSB2IHphZG5qaSBkZWxuaSBzdGV6aSIKKworI34gbXNnaWQgIiVzOiBvdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIiVzOiB6bWFuamthbG8gcG9tbmlsbmlrYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpbGxlZ2FsIGludGVydmFsICVzIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXM6IG5lZG92b2xqZW4ga2xqdeggKCVzKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpbGxlZ2FsIHRpbWVfdCB2YWx1ZSAlc1xuIgorI34gbXNnc3RyICIlczogbmVkb3ZvbGplbmEgaXpiaXJhIC0tICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBleGVjdXRlICVzOiAlc1xuIgorI34gbXNnc3RyICJuaSBtb2dv6GUgcHJlaW1lbm92YXRpICVzIHYgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicnRjIHJlYWQiCisjfiBtc2dzdHIgIiwgcHJpcHJhdmxqZW4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgIm5hcGFrYSB2IG1hbGxvYyIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAidXBvcmFiYTogY29sdW1uIFstdHhdIFstYyBzdG9scGVjXSBbZGF0IC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIlptYW5qa2FsbyBqZSBwb21uaWxuaWthIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiWmEgbWVkcG9tbmlsbmlrIG5pIG1vZ2/oZSBkb2RlbGl0aSBwcm9zdG9yYS5cbiIKKworI34gbXNnaWQgInVzYWdlOiByZXYgW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJVcG9yYWJhOiByZXYgW2RhdCAuLi5dXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyLlxuIgorI34gbXNnc3RyICJaYSBtZWRwb21uaWxuaWsgbmkgbW9nb+hlIGRvZGVsaXRpIHBvbW5pbG5pa2EuXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoZW4gZ3Jvd2luZyBidWZmZXIuXG4iCisjfiBtc2dzdHIgIlByaSBwb3Zl6GV2YW5qdSBtZWRwb21uaWxuaWthIGplIHptYW5qa2FsbyBwb21uaWxuaWthLlxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiBuZWRvdm9samVuYSBpemJpcmEgLS0gJWNcbiIKKworI34gbXNnaWQgInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorI34gbXNnc3RyICIlZCBkb2RlbGplbmloIG9kc2Vrb3ZcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAiJWxkIGRvZGVsamVuaWggc3RyYW5pXG4iCisKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgIiVsZCBwcmlzb3RuaWggc3RyYW5pXG4iCisKKyN+IG1zZ2lkICJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCisjfiBtc2dzdHIgIlXoaW5rb3ZpdG9zdCBpem1lbmphbG5lZ2EgcHJvc3RvcmE6ICVsZCBwb3NrdXNvdlx0ICVsZCB1c3BluW5paFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgcHJvZ3JhbW1lOiBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAibmFwYWthIG1lZCBpenZhamFuamVtIHBvc2xlZG5qZWdhIHByb2dyYW1hXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgJyVzJyB2YWx1ZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIk5ldmVsamF2bmEgdnJlZG5vc3QgbmFzdGF2bGphbmphOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgIm5jb3VudCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJuZXciCisjfiBtc2dzdHIgIk5vdmEiCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkxpbnV4IEpGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggUmVpc2VyRlMiCisjfiBtc2dzdHIgIkxpbnV4IFJlaXNlckZTIgorCisjfiBtc2dpZCAiT1MvMiBIUEZTIgorI34gbXNnc3RyICJPUy8yIEhQRlMiCisKKyN+IG1zZ2lkICJPUy8yIElGUyIKKyN+IG1zZ3N0ciAiT1MvMiBJRlMiCisKKyN+IG1zZ2lkICJOVEZTIgorI34gbXNnc3RyICJOVEZTIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiVXBvcmFiYTogZmRpc2sgWy1iIHZlbHNla3RdIC1bdV0gRElTSyAgICAgU3ByZW1lbmkgdGFiZWxvIHJhemRlbGtvdlxuIgorI34gIiAgICAgICAgIGZkaXNrIC1sIFstYiB2ZWxzZWt0XSAtW3VdIERJU0sgIEl6cGm5aSB0YWJlbG8vZSByYXpkZWxrb3ZcbiIKKyN+ICIgICAgICAgICBmZGlzayAtcyBSQVpERUxFSyAgICAgICAgICAgICAgICBWcm5pIHZlbGlrb3N0L2kgcmF6ZGVsa292IHYgYmxva2loXG4iCisjfiAiICAgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICAgICAgVnJuaSByYXpsaehpY28gZmRpc2stYVxuIgorI34gIkRJU0sgamUgbGFoa28gL2Rldi9oZGIgYWxpIC9kZXYvc2RhXG4iCisjfiAiUkFaREVMRUsgamUgbGFoa28gL2Rldi9oZGE3XG4iCisjfiAiIHZlbHNla3QgLSB2ZWxpa29zdCBzZWt0b3JqYVxuIgorI34gIi11OiB2cm5pIFph6GV0ZWsgaW4gS29uZWMgdiBzZWt0b3Jza2loIChuYW1lc3RvIHYgc3Rlem5paCkgZW5vdGFoXG4iCisjfiAiLWIgMjA0ODogKHphIG5la2F0ZXJlIE1PIGRpc2tlKSB1cG9yYWJpIHNla3RvcmplIHZlbGlrb3N0aSAyMDQ4LWJhanRvdlxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWxdIFstYiBTU1pdIFstdV0gZGV2aWNlXG4iCisjfiAiRS5nLjogZmRpc2sgL2Rldi9oZGEgIChmb3IgdGhlIGZpcnN0IElERSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvc2RjICAoZm9yIHRoZSB0aGlyZCBTQ1NJIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9lZGEgIChmb3IgdGhlIGZpcnN0IFBTLzIgRVNESSBkcml2ZSlcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3JkL2MwZDAgIG9yOiBmZGlzayAvZGV2L2lkYS9jMGQwICAoZm9yIFJBSUQgZGV2aWNlcylcbiIKKyN+ICIgIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiVXBvcmFiYTogZmRpc2sgW2xdIFstYiB2ZWxzZWt0XSBbLXVdIG5hcHJhdmFcbiIKKyN+ICJOcHIuOiBmZGlzayAvZGV2L2hkYSAoemEgcHJ2IElERSBkaXNrKVxuIgorI34gIiBhbGk6IGZkaXNrIC9kZXYvc2RjICh6YSBwcnZpIFNDU0kgZGlzaylcbiIKKyN+ICIgYWxpOiBmZGlzayAvZGV2L2VkYSAoemEgcHJ2aSBQUy8yIEVTREkgZGlzaylcbiIKKyN+ICIgYWxpOiBmZGlzayAvZGV2L3JkL2MwZDAgYWxpIGZkaXNrIC9kZXYvaWRhL2MwZDAgKHphIFJBSUQgbmFwcmF2ZSlcbiIKKyN+ICIgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVGhlIG51bWJlciBvZiBjeWxpbmRlcnMgZm9yIHRoaXMgZGlzayBpcyBzZXQgdG8gJWQuXG4iCisjfiAiVGhlcmUgaXMgbm90aGluZyB3cm9uZyB3aXRoIHRoYXQsIGJ1dCB0aGlzIGlzIGxhcmdlciB0aGFuIDEwMjQsXG4iCisjfiAiYW5kIGNvdWxkIGluIGNlcnRhaW4gc2V0dXBzIGNhdXNlIHByb2JsZW1zIHdpdGg6XG4iCisjfiAiMSkgc29mdHdhcmUgdGhhdCBydW5zIGF0IGJvb3QgdGltZSAoZS5nLiwgb2xkIHZlcnNpb25zIG9mIExJTE8pXG4iCisjfiAiMikgYm9vdGluZyBhbmQgcGFydGl0aW9uaW5nIHNvZnR3YXJlIGZyb20gb3RoZXIgT1NzXG4iCisjfiAiICAgKGUuZy4sIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIql0ZXZpbG8gc3RleiBuYSB0ZW0gZGlza3UgamUgbmFzdGF2bGplbm8gbmEgJWQuXG4iCisjfiAiUyB0ZW0gbmkgbmnoIG5hcm9iZSwgYW1wYWsgdG8gamUgdmXoamUga290IDEwMjQsXG4iCisjfiAiaW4gYmkgbGFoa28gdiBkb2xv6GVuaWggcHJpbWVyaWggcG92enJv6GlsbyB0Zb5hdmUgejpcbiIKKyN+ICIxKSBwcm9ncmFtamVtLCBraSBkZWx1amUgbWVkIHphZ2FuamFuamVtIChucHIuIHN0YXJlIHJhemxp6GljZSBMSUxPKVxuIgorI34gIjIpIHphZ29uc2tpbSBpbiByYXpkZWxqZXZhbG5pbSBwcm9ncmFtamVtIGRydWdpaFxuIgorI34gIm9wZXJhY2lqc2tpaCBzaXN0ZW1vdihucHIuIERPUyBGRElTSywgT1MvMiBGRElTSylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogJXMgYm8gdXN0dmFyamVuLCBrZXIgZ2EgbmlzZW0gbmG5ZWxcbiIKKworI34gbXNnaWQgInVzYWdlIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorI34gbXNnc3RyICJ1cG9yYWJhIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorCisjfiBtc2dpZCAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisjfiBtc2dzdHIgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorCisjfiBtc2dpZCAiXHQlcyAtaCBmb3IgaGVscC5cbiIKKyN+IG1zZ3N0ciAiXHQlcyAtaCB6YSBwb21v6C5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBTcGVjaWZpY2F0aW9uOlxuIgorI34gIlx0LW0gOiBzaGFyZWRfbWVtXG4iCisjfiAiXHQtcSA6IG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJTcGVjaWZpa2FjaWphIHZpcmE6XG4iCisjfiAiXHQtbSA6IGRlbGplbl9wb21cbiIKKyN+ICJcdC1xIDogc3Bvcm/oaWxhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtcyA6IHNlbWFwaG9yZXNcbiIKKyN+ICJcdC1hIDogYWxsIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtcyA6IHNlbWFmb3JqaVxuIgorI34gIlx0LWEgOiB2c2UgKHByaXZ6ZXRvKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIk9ibGlrYSBJemhvZGE6XG4iCisjfiAiXHQtdCA6IOhhc1xuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogc3R2YXJuaWtcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1sIDogbGltaXRzXG4iCisjfiAiXHQtdSA6IHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LWwgOiBvbWVqaXR2ZVxuIgorI34gIlx0LXUgOiBwb3Z6ZXRla1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIHBhcnNlOiAlcyIKKyN+IG1zZ3N0ciAibmFwYWthIHByaSBicmFuanUgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiByZGV2IFsgLXJ2IF0gWyAtbyBPRkZTRVQgXSBbIElNQUdFIFsgVkFMVUUgWyBPRkZTRVQgXSBdIF0iCisjfiBtc2dzdHIgInVwb3JhYmE6IHJkZXYgWyAtcnYgXSBbIC1vIE9ETUlLIF0gWyBTTElLQSBbIFZSRUROT1NUIFsgT0RNSUsgXSBdIF0iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgIChvciByZGV2IC9saW51eCwgZXRjLikgZGlzcGxheXMgdGhlIGN1cnJlbnQgUk9PVCBkZXZpY2UiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAoYWxpIHJkZXYgL2xpbnV4LCBpdG4uKSBwcmlrYb5lIHRyZW51dG5vIGtvcmVuc2tvIG5hcHJhdm8iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgc2V0cyBST09UIHRvIC9kZXYvaGRhMiIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIG5hc3Rhdmkga29yZW5za28gbmFwcmF2byBuYSAvZGV2L2hkYTIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBST09URkxBR1MgKHJlYWRvbmx5IHN0YXR1cykiCisjfiBtc2dzdHIgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBuYXN0YXZpIGtvci4gemFzdGF2aWNlIChzYW1vIHphIGJyYW5qZSkiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBuYXN0YXZpIHZlbGlrb3N0IHBvbS4gZGlza2EiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBib290dXAgVklERU9NT0RFIgorI34gbXNnc3RyICIgIHJkZXYgLXYgL2Rldi9kZjAgMSAgICAgICAgICAgICAgbmFzdGF2aSB6YWdvbnNraSBncmFmaehuaSBuYehpbiIKKworI34gbXNnaWQgIiAgcmRldiAtbyBOIC4uLiAgICAgICAgICAgICAgICAgICB1c2UgdGhlIGJ5dGUgb2Zmc2V0IE4iCisjfiBtc2dzdHIgIiAgcmRldiAtbyBOLiAuLi4gICAgICAgICAgICAgICAgIHVwb3JhYmkgYmFqdG5pIG9kbWlrIE4iCisKKyN+IG1zZ2lkICIgIHJvb3RmbGFncyAuLi4gICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1SIgorI34gbXNnc3RyICIgIHJvb3RmbGFncyAuLi4gICAgICAgICAgICAgICAgICAgZW5ha28ga290IHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgZW5ha28ga290IHJkZXYgLXIiCisKKyN+IG1zZ2lkICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC12IgorI34gbXNnc3RyICIgIHZpZG1vZGUgLi4uICAgICAgICAgICAgICAgICAgICAgZW5ha28ga290IHJkZXYgLXYiCisKKyN+IG1zZ2lkICJOb3RlOiB2aWRlbyBtb2RlcyBhcmU6IC0zPUFzaywgLTI9RXh0ZW5kZWQsIC0xPU5vcm1hbFZnYSwgMT1rZXkxLCAyPWtleTIsLi4uIgorI34gbXNnc3RyICJPcG9tYmE6IGdyYWZp6G5pIG5h6GluaSBzbzogLTM9VnByYblhaiwgLTI9UmF6uWlyamVuLCAtMT1OYXZhZG5pVkdBLCAxPWtsanXoMSwgMj1rbGp16DIsLi4uIgorCisjfiBtc2dpZCAiICAgICAgdXNlIC1SIDEgdG8gbW91bnQgcm9vdCByZWFkb25seSwgLVIgMCBmb3IgcmVhZC93cml0ZS4iCisjfiBtc2dzdHIgIiAgICAgdXBvcmFiaSAtUiAxIHphIHByaWtsb3Aga29yZW5za2UgbmFwcmF2ZSB2IG5h6GludSBzYW1vIHphIGJyYW5qZSwgLVIgMCBwYSB6YSBicmFuamUvcGlzYW5qZSIKKworI34gbXNnaWQgIm1pc3NpbmcgY29tbWEiCisjfiBtc2dzdHIgInZlamljYSBtYW5qa2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib3V0IGlmIG1lbW9yeSIKKyN+IG1zZ3N0ciAiem1hbmprYWxvIGplIHBvbW5pbG5pa2EiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gInVuaXQ6IHNlY3RvcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiJWxsZCBuZWRvZGVsamVuaWggc2VrdG9yamV2XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIHN0YXJ0PSU5bHUiCisjfiBtc2dzdHIgInph6GV0ZWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCBib290YWJsZSIKKyN+IG1zZ3N0ciAiQUlYIHphZ29uc2tpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNsb2NrIGluIFVUQywgbm90IGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIkx1cGluYSBuaSBiaWxhIHNwcmVtZW5qZW5hLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBlcnJvcjogbGFiZWwgb25seSB3aXRoIHYxIHN3YXAgYXJlYVxuIgorI34gbXNnc3RyICIlczogbmFwYWthOiBvem5ha2Egc2FtbyB6IHYxIGl6bWVuamFsbmltIHByb3N0b3JvbVxuIgorCisjfiBtc2dpZCAiZmF0YWw6IGZpcnN0IHBhZ2UgdW5yZWFkYWJsZSIKKyN+IG1zZ3N0ciAidXNvZG5hIG5hcGFrYTogcHJ2YSBzdHJhbiBuZWJlcmxqaXZhIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIk5vIHN3YXAgd2FzIGNyZWF0ZWQuIElmIHlvdSByZWFsbHkgd2FudCB0byBjcmVhdGUgdjAgc3dhcCBvbiB0aGF0IGRldmljZSxcbiIKKyN+ICJ1c2UgdGhlIC1mIG9wdGlvbiB0byBmb3JjZSBpdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBFbm90YSAnJXMnIHZzZWJ1amUgdmVsamF2bm8gU3Vub3ZvIG96bmFrbyBkaXNrYS5cbiIKKyN+ICJUbyBwb21lbmksIGRhIGJpIHVzdHZhcmphbmplIGl6bWVuamFsbmVnYSBwcm9zdG9yYSB2MCB1bmnoaWpvIHJhemRlbGl0dmVub1xuIgorI34gInRhYmVsby4gSXptZW5qYWxuaSBwcm9zdG9yIG5pIGJpbCB1c3R2YXJqZW4uIMhlIHJlcyC+ZWxpdGUgdXN0dmFyaXRpIGl6bWVuamFsbmkgcHJvc3RvciB2MCBuYSB0ZWogbmFwcmF2aSwgdXBvcmFiaXRlIGl6YmlybyAtZi5cbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3QgY2hkaXIgdG8gcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IHNwcmVtZW1iYSBuYSBrb3JlbnNraSBpbWVuaWsgbmkgbW9nb+hhIVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBzdGF0IHJvb3QhXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBuZXpuYW5vIHN0YW5qZSBzaXN0LiBza3JibmlrYSFcbiIKKworI34gbXNnaWQgIiA/IGNvdWxkIG5vdCBjaGRpciBpbnRvICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICJwcmVrbG9wIHYgaW1lbmlrICVzIC0gJXMgKCVkKSBuaSBtb2dv6FxuIgorCisjfiBtc2dpZCAiID8gcHJvYmxlbXMgcmVhZGluZyBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICJ0Zb5hdmUgcHJpIGJyYW5qdSBzaW1iLiBwb3ZlemF2ZSAlcyAtICVzICglZClcbiIKKworI34gbXNnaWQgIiAgKioqIEVYQ0VFREVEIFVOSVggTElNSVQgT0YgU1lNTElOS1MgKioqXG4iCisjfiBtc2dzdHIgIiAgKioqIFBSRUtPUkHISVRFViBVTklYLW92ZSBNRUpFIFNJTUIuIFBPVkVaQVYgKioqXG4iCisKKyN+IG1zZ2lkICJuYW1laTogdW5rbm93biBmaWxlIHR5cGUgMCUwNm8gb24gZmlsZSAlc1xuIgorI34gbXNnc3RyICJuYW1laTogbmV6bmFuIHRpcCBkYXRvdGVrZSAwJTA2byB2IGRhdC4gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gbW91bnQgJXMgYnkgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGJvIHByaWtsb3BsamVuIGdsZWRlIG5hIFVVSUQtb21cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogbm8gTEFCRUw9LCBubyBVVUlEPSwgZ29pbmcgdG8gbW91bnQgJXMgYnkgcGF0aFxuIgorI34gbXNnc3RyICJtb3VudDogJXMgYm8gcHJpa2xvcGxqZW4gZ2xlZGUgbmEgb3puYWtvIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3YWl0cGlkOiAlc1xuIgorI34gbXNnc3RyICIlczogb2RwaXJhbmplIG5pIHVzcGVsbzogJXNcbiIKKworI34gbXNnaWQgImNvdWxkIG5vdCB1bW91bnQgJXMgLSB0cnlpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJvZGtsb3AgJXMgbmkgdXNwZWwgLSBwb3NrdblhbSB6ICVzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNoZm46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAibG9naW46IFBBTSBuaSB1c3BlbCwgcHJla2luamFtOiAlc1xuIgorCisjfiBtc2dpZCAiQ2FuJ3QgcmVhZCAlcywgZXhpdGluZy4iCisjfiBtc2dzdHIgIiVzIG5pIG1vZ2/oZSBwcmVicmF0aSwgemFrbGp16HVqZW0uIgorCisjfiBtc2dpZCAibG9naW46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAibG9naW46IFBBTSBuaSB1c3BlbCwgcHJla2luamFtOiAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBcIiVzXCIgZ3JlIHYgb3phZGplXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ2l2aW5nIHVwIFwiJXNcIlxuIgorI34gbXNnc3RyICJtb3VudDogcHJlZGFqYSBzZSBcIiVzXCJcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorI34gbXNnc3RyICJgJXMnOiBwb7lrb2RvdmFuIGltZW5pazogJy4nIG5pIG5hIHBydmVtIG1lc3R1XG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICJgJXMnOiBwb7lrb2RvdmFuIGRpcmVrdG9yaWo6ICcuLicgbmkgbmEgZHJ1Z2VtIG1lc3R1XG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIG9wZW5fdHR5XG4iCisjfiBtc2dzdHIgImtsaehlbSBvcGVuX3R0eVxuIgorCisjfiBtc2dpZCAiY2FsbGluZyB0ZXJtaW9faW5pdFxuIgorI34gbXNnc3RyICJrbGnoZW0gdGVybWlvX2luaXRcbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAiemFwaXN1amVtIHph6GV0bmkgbml6XG4iCisKKyN+IG1zZ2lkICJiZWZvcmUgYXV0b2JhdWRcbiIKKyN+IG1zZ3N0ciAicHJlZCBhdXRvYmF1ZFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAi6GFrYW0gbmEgY3ItbGZcbiIKKworI34gbXNnaWQgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorI34gbXNnc3RyICJiZXJlbSBwcmlqYXZubyBpbWVcbiIKKworI34gbXNnaWQgImFmdGVyIGdldG9wdCBsb29wXG4iCisjfiBtc2dzdHIgInBvIGdldG9wdCB6YW5raVxuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZWFyZ3NcbiIKKyN+IG1zZ3N0ciAiemFrbGp16HVqZW0gcHJlZ2xlZCBhcmd1bWVudG92XG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJ2c3RvcCB2IHByZWdsZWQgaGl0cm9zdGlcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VzcGVlZHNcbiIKKyN+IG1zZ3N0ciAiemFrbGp16HVqZW0gcHJlZ2xlZCBoaXRyb3N0aVxuIgorCisjfiBtc2dpZCAib3BlbigyKVxuIgorI34gbXNnc3RyICJvcGVuKDIpXG4iCisKKyN+IG1zZ2lkICJkdXBpbmdcbiIKKyN+IG1zZ3N0ciAicHJldmFyYVxuIgorCisjfiBtc2dpZCAidGVybV9pbyAyXG4iCisjfiBtc2dzdHIgInRlcm1faW8gMlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gL2V0Yy9zaGVsbHNcbiIKKyN+IG1zZ3N0ciAiT3Bvem9yaWxvOiBcIiVzXCIgbmkgbmEgc2V6bmFtdSB2IC9ldGMvc2hlbGxzXG4iCisKKyN+IG1zZ2lkICJ0aW1lb3V0ID0gJWQsIHF1aWV0ID0gJWQsIHJlYm9vdCA9ICVkXG4iCisjfiBtc2dzdHIgIuhhc292bmEgb21laml0ZXYgPSAlZCwgdGm5aW5hID0gJWQsIHBvbm92bmkgemFnb24gPSAlZFxuIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCAlcywgYW5kIGNhbm5vdCBpb2N0bCBkdW1wXG4iCisjfiBtc2dzdHIgIm5vIG1vZ2/oZSBicmF0aSAlcyBpbiBuaSBtb2dv6GUgZG9iaXRpIGl6cGlzYSBpb2N0bFxuIgorCisjfiBtc2dpZCAiLCBvZmZzZXQgJWxsZCIKKyN+IG1zZ3N0ciAiLCBvZG1payAlbGxkIgorCisjfiBtc2dpZCAiJXM6IGNvdWxkIG5vdCBmaW5kIGFueSBkZXZpY2UgL2Rldi9sb29wIyIKKyN+IG1zZ3N0ciAiJXM6IG5hcHJhdmUgL2Rldi9sb29wIyBuaSBtb2dv6GUgbmFqdGkiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIFstcCBwcmlvcml0eV0gc3BlY2lhbHxMQUJFTD12b2x1bWVfbmFtZSAuLi5cbiIKKyN+ICIgICAgICAgJXMgWy1zXVxuIgorI34gbXNnc3RyICIiCisjfiAidXBvcmFiYTogJXMgWy1oVl1cbiIKKyN+ICJcdCAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiXHQgICVzIFstdl0gWy1wIHByZWRub3N0XSBwb3NlYm5hX2RhdHxMQUJFTD1vYnNlZ292b19pbWUgLi4uXG4iCisjfiAiXHQgICVzIFstc11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJ1cG9yYWJhOiAlcyBbLWhWXVxuIgorI34gIlx0ICAlcyAtYSBbLXZdXG4iCisjfiAiXHQgICVzIFstdl0gcG9zZWJuYV9kYXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2Fubm90IGNhbm9uaWNhbGl6ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5pIG1vZ2/oZSBvZHByZXRpOiAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJlbmljZSBwcmlvcml0eSBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSB1c2VycyBdXG4iCisjfiBtc2dzdHIgInVwb3JhYmE6IHJlbmljZSBwcmlvcml0ZXRhIFsgWyAtcCBdIHBpZC1pIF0gWyBbIC1nIF0gcHNrdXAgXSBbIFsgLXUgXSB1cG9yYWJuaWtpIF1cbiIKKworI34gbXNnaWQgIkV4Y2VlZGVkIE1BWEVOVFJJRVMuICBSYWlzZSB0aGlzIHZhbHVlIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuXG4iCisjfiBtc2dzdHIgIlByZWtvcmHoZW4gTUFYRU5UUklFUy4gUG92ZehhanRlIHRvcCB2cmVkbm9zdCB2IG1rY3JhbWZzIGluIHBvbm92bm8gcHJldmVkaXRlLiBLb27odWplbS5cbiIKKworI34gbXNnaWQgIkFzc3VtaW5nIHBhZ2VzIG9mIHNpemUgJWQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiUHJpdnplbWFtbyBzdHJhbmkgdmVsaWtvc3RpICVkIChpbiBuZSAlZClcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiU2Ftb3phem5hdmEgamUgbmG5bGE6ICVzJXMlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIkRyaXZlIHR5cGVcbiIKKyN+ICIgICA/ICAgYXV0byBjb25maWd1cmVcbiIKKyN+ICIgICAwICAgY3VzdG9tICh3aXRoIGhhcmR3YXJlIGRldGVjdGVkIGRlZmF1bHRzKSIKKyN+IG1zZ3N0ciAiIgorI34gIlRpcCBwb2dvbmFcbiIKKyN+ICIgID8gICBzYW1vemF6bmF2YVxuIgorI34gIiAgMCAgIHBvIG1lcmkgKHMgcHJpdnpldGltaSBpemJpcmFtaSBzYW1vemF6bmF2ZSkiCisKKyN+IG1zZ2lkICJTZWxlY3QgdHlwZSAoPyBmb3IgYXV0bywgMCBmb3IgY3VzdG9tKTogIgorI34gbXNnc3RyICJJemJlcml0ZSB0aXAgKD8gemEgc2Ftb3phem5hdm8sIDAgemEgcG8gbWVyaSk6ICIKKworI34gbXNnaWQgIllvdSBtYXkgY2hhbmdlIGFsbCB0aGUgZGlzayBwYXJhbXMgZnJvbSB0aGUgeCBtZW51IgorI34gbXNnc3RyICJWc2UgZGlza292bmUgcGFyYW1ldHJlIGxhaGtvIHNwcmVtZW5pdGUgdiBtZW5panUgeCIKKworI34gbXNnaWQgIjMsNVwiIGZsb3BweSIKKyN+IG1zZ3N0ciAiMyw1XCIgbWVoa2kgZGlzayIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBmcm9tIHV0aWwtbGludXgtJXNcbiIKKyN+IG1zZ3N0ciAiJXMgb2QgdXRpbC1saW51eC0lc1xuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzXG4iCisjfiBtc2dzdHIgIiVzOiBuYXBha2E6IG96bmFrYSAlcyBzZSBwb2phdmkgbmEgJXMgaW4gJXNcbiIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcywgc28gVVVJRCBhbmQgTEFCRUwgY29udmVyc2lvbiBjYW5ub3QgYmUgZG9uZS5cbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG5pIG1vZ2/oZSBvZHByZXRpLCB6YXRvIHByZXR2b3JiYSBtZWQgVVVJRCBpbiBPWk5BS0EgbmkgbW9nb+hhLlxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBVVUlEIgorI34gbXNnc3RyICIlczogcG+5a29kb3ZhbiBVVUlEIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB3aXRoIG5mcyBtb3VudCB2ZXJzaW9uIDQsIHRyeWluZyAzLi5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5mcyBwcmlrbG9wIG5pIHVzcGVsIHogcmF6bGnoaWNvIDQsIHBvc2t1uWFtIHMgMy4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnRpbmcgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHByaWtsYXBsamEgc2UgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3aGlsZSBndWVzc2luZyBmaWxlc3lzdGVtIHR5cGVcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHByaSB1Z2liYW5qdSB2cnN0ZSBkYXQuIHNpc3QuIGplIHByablsbyBkbyBuYXBha2VcbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIGhvc3Q6ZGlyIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBpemJpcmEgZ29zdGl0ZWxqOmltZW5payBqZSBwcmVkb2xnYVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6IG11bHRpcGxlIGhvc3RuYW1lcyBub3Qgc3VwcG9ydGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBvcG96b3JpbG86IHZl6GtyYXRuYSBpbWVuYSBnb3N0aXRlbGpldiBuaXNvIHBvZHBydGFcbiIKKworI34gbXNnaWQgIm1vdW50OiBkaXJlY3RvcnkgdG8gbW91bnQgbm90IGluIGhvc3Q6ZGlyIGZvcm1hdFxuIgorI34gbXNnc3RyICJtb3VudDogcHJpa2xvcG5pIGltZW5payBuaSBvYmxpa2UgZ29zdGl0ZWxqOmltZW5pa1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBwb7lrb2RvdmFuIGhwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgb3B0aW9uIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBwcmVkb2xnIHBhcmFtZXRlciBpemJpcmVcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFVucmVjb2duaXplZCBwcm90bz0gb3B0aW9uLlxuIgorI34gbXNnc3RyICJPcG96b3JpbG86IGl6YmlyYSBwcm90bz0gamUgbmV6bmFuYS5cbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IHBhcmFtZXRlcjogJXM9JWRcbiIKKyN+IG1zZ3N0ciAicHJpa2xvcG5pIHBhcmFtZXRlciBuZnMgamUgbmV6bmFuOiAlcz0lZFxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgbW91bnQgb3B0aW9uOiAlcyVzXG4iCisjfiBtc2dzdHIgInByaWtsb3BuYSBpemJpcmEgbmZzIGplIG5lem5hbmE6ICVzJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb3QgYmFkIGhwLT5oX2xlbmd0aD9cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHBvuWtvZG92YW4gaHAtPmhfbGVuZ3RoP1xuIgorCisjfiBtc2dpZCAibmZzIGJpbmRyZXN2cG9ydCIKKyN+IG1zZ3N0ciAibmZzIGJpbmRyZXN2cG9ydCIKKworI34gbXNnaWQgIm5mcyBzZXJ2ZXIgcmVwb3J0ZWQgc2VydmljZSB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAic3RyZb5uaWsgbmZzIGplIHNwb3Jv6GlsLCBkYSBzdG9yaXRldiBuaSBkb3NlZ2xqaXZhIgorCisjfiBtc2dpZCAidXNlZCBwb3J0bWFwcGVyIHRvIGZpbmQgTkZTIHBvcnRcbiIKKyN+IG1zZ3N0ciAiemEgaXNrYW5qZSBORlMgdnJhdCBqZSBiaWwgdXBvcmFibGplbiBwb3J0bWFwcGVyXG4iCisKKyN+IG1zZ2lkICJ1c2luZyBwb3J0ICVkIGZvciBuZnMgZGVhbW9uXG4iCisjfiBtc2dzdHIgInVwb3JhYmxqYWpvIHNlICVkIHZyYXRhIHphIGRlbW9uYSBuZnNcbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIHN0YXR1cyByZXR1cm4gdmFsdWU6ICVkIgorI34gbXNnc3RyICJuZnMtamV2YSBwb3ZyYXRuYSB2cmVkbm9zdCBzdGFuamEgbmkgem5hbmE6ICVkICIKKworI34gbXNnaWQgImhvc3Q6ICVzLCBkaXJlY3Rvcnk6ICVzXG4iCisjfiBtc2dzdHIgImdvc3RpdGVsajogJXMsIGltZW5pazogJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogY2FuJ3QgZ2V0IGFkZHJlc3MgZm9yICVzXG4iCisjfiBtc2dzdHIgInVtb3VudDogbmFzbG92YSB6YSAlcyBuaSBtb2dv6GUgZG9iaXRpXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGdvdCBiYWQgaG9zdHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgInVtb3VudDogcG+5a29kb3ZhbiBob3N0cC0+aF9sZW5ndGhcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tYmFkIHBhdGggbGVuZ3RoXG4iCisjfiBtc2dzdHIgIiVzOiBuZXZlbGphdmVuIGNyYW1mcyAtIHBvuWtvZG92YW5hIGRvbL5pbmEgcG90aVxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS13cm9uZyBtYWdpY1xuIgorI34gbXNnc3RyICIlczogbmV2ZWxqYXZlbiBjcmFtZnMgLSBuYXBh6GVuIHRpcCBkYXRvdGVrZVxuIgorCisjfiBtc2dpZCAiJXM6IHdhcm5pbmctLWZpbGUgbGVuZ3RoIHRvbyBsb25nLCBwYWRkZWQgaW1hZ2U/XG4iCisjfiBtc2dzdHIgIiVzOiBvcG96b3JpbG8gLSBkb2y+aW5hIGRhdG90ZWtlIGplIHByZWRvbGdhLCBkb3BvbG5qZW5hIHNsaWthP1xuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1jcmMgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IG5ldmVsamF2ZW4gY3JhbWZzIC0gbmFwYWthIHYgbmFkem9ybmkgdnNvdGlcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tYmFkIHN1cGVyYmxvY2tcbiIKKyN+IG1zZ3N0ciAiJXM6IG5ldmVsamF2ZW4gY3JhbWZzIC0gcG+5a29kb3ZhbiBzdXBlcmJsb2tcbiIKKworI34gbXNnaWQgIiVzOiBub3QgY29tcGlsZWQgd2l0aCBtaW5peCB2MiBzdXBwb3J0XG4iCisjfiBtc2dzdHIgIiVzOiBuaSBwcmV2ZWRlbm8gcyBwb2Rwb3JvIHphIE1pbml4IHYyXG4iCisKKyN+IG1zZ2lkICJTeW50YXggZXJyb3I6ICclcydcbiIKKyN+IG1zZ3N0ciAiU2tsYWRlbmpza2EgbmFwYWthOiAsJXNgXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IG5hbWVcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtcCBdIGVub3RhIGltZVxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtcCBdIGRldiBzaXplIHNlY3QgaGVhZHMgdHJhY2tzIHN0cmV0Y2ggZ2FwIHJhdGUgc3BlYzEgZm10X2dhcFxuIgorI34gbXNnc3RyICIgICAlcyBbIC1wIF0gZW5vdGEgdmVsIHNla3QgZ2xhdiBzdGV6IHJhenRlZyBwcmVzbCBzdG9wbmphIHNwZWMxIGZtdF9nYXBcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLWMgfCAteSB8IC1uIHwgLWQgXSBkZXZcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtYyB8IC15IHwgLW4gfCAtZCBdIGVub3RhXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGVub3RhXG4iCisKKyN+IG1zZ2lkICJOb25lICglMDJYKSIKKyN+IG1zZ3N0ciAiQnJleiAoJTAyWCkiCisKKyN+IG1zZ2lkICIiCisjfiAiVG9vIG1hbnkgdXNlcnMgbG9nZ2VkIG9uIGFscmVhZHkuXG4iCisjfiAiVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICIiCisjfiAiUHJpamF2bGplbmloIGplIL5lIHByZXZl6CB1cG9yYWJuaWtvdi5cbiIKKyN+ICJQb3NrdXNpdGUgcG96bmVqZS5cbiIKKworI34gbXNnaWQgIllvdSBoYXZlIHRvbyBtYW55IHByb2Nlc3NlcyBydW5uaW5nLlxuIgorI34gbXNnc3RyICJIa3JhdGkgdGXoZSBwcmV2ZeggdmG5aWggcHJvY2Vzb3YuXG4iCisKKyN+IG1zZ2lkICJUaGUgcGFzc3dvcmQgbXVzdCBoYXZlIGF0IGxlYXN0IDYgY2hhcmFjdGVycywgdHJ5IGFnYWluLlxuIgorI34gbXNnc3RyICJHZXNsbyBtb3JhIGJpdGkgZG9sZ28gdnNhaiA2IHpuYWtvdiwgcG9za3VzaXRlILllIGVua3JhdC5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgcGFzc3dvcmQgbXVzdCBjb250YWluIGNoYXJhY3RlcnMgb3V0IG9mIHR3byBvZiB0aGUgZm9sbG93aW5nXG4iCisjfiAiY2xhc3NlczogIHVwcGVyIGFuZCBsb3dlciBjYXNlIGxldHRlcnMsIGRpZ2l0cyBhbmQgbm9uIGFscGhhbnVtZXJpY1xuIgorI34gImNoYXJhY3RlcnMuIFNlZSBwYXNzd2QoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHZXNsbyBtb3JhIHZzZWJvdmF0aSB0YWtvIOhya2UgKHZlbGlrZSBhbGkgbWFsZSksIGtvdCC5dGV2a2UgYWxpIGRydWdlXG4iCisjfiAibmUtYWxmYW51bWVyaehuZSB6bmFrZS4gSXrocnBuZWq5YSBuYXZvZGlsYSBzbyBuYSB2b2xqbyB2IHBhc3N3ZCgxKS5cbiIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgcmV1c2UgdGhlIG9sZCBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiU3RhcmVnYSBnZXNsYSBuZSBtb3JldGUgem5vdmEgdXBvcmFiaXRpLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlIGRvbid0IHVzZSBzb21ldGhpbmcgbGlrZSB5b3VyIHVzZXJuYW1lIGFzIHBhc3N3b3JkIVxuIgorI34gbXNnc3RyICJQcm9zaW0sIGRhIHphIGdlc2xvIG5lIHVwb3JhYmxqYXRlIHVwb3JhYm5puWtlZ2EgaW1lbmEuXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgcmVhbG5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIlByb3NpbSwgZGEgemEgZ2VzbG8gbmUgdXBvcmFibGphdGUgdmG5ZWdhIGltZW5hLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IHBhc3N3ZCBbdXNlcm5hbWUgW3Bhc3N3b3JkXV1cbiIKKyN+IG1zZ3N0ciAiVXBvcmFiYTogcGFzc3dkIFt1cG9yYWJuaWsgW2dlc2xvXV1cbiIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBtYXkgdXNlIHRoZSBvbmUgYW5kIHR3byBhcmd1bWVudCBmb3Jtcy5cbiIKKyN+IG1zZ3N0ciAiU2FtbyBzaXN0ZW1za2kgc2tyYm5payBsYWhrbyB1cHJhYmxqYSBvYmxpa28geiBlbmltIGFsaSBkdmVtYSBhcmd1bWVudG9tYS5cbiIKKworI34gbXNnaWQgIlVzYWdlOiBwYXNzd2QgWy1mb3FzdlZdIFt1c2VyIFtwYXNzd29yZF1dXG4iCisjfiBtc2dzdHIgIlVwb3JhYmE6IHBhc3N3ZCBbLWZvcXN2Vl0gW3Vwb3JhYm5payBbZ2VzbG9dXVxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZpbmQgbG9naW4gbmFtZSIKKyN+IG1zZ3N0ciAiUHJpamF2bmVnYSBpbWVuYSBuaSBtb+ggbmFqdGkiCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgY2FuIGNoYW5nZSB0aGUgcGFzc3dvcmQgZm9yIG90aGVycy5cbiIKKyN+IG1zZ3N0ciAiU2FtbyBzaXN0ZW1za2kgc2tyYm5payBsYWhrbyBzcHJlbWluamEgZ2VzbGEgZHJ1Z2loIHVwb3JhYm5pa292LlxuIgorCisjfiBtc2dpZCAiQ2FuJ3QgZmluZCB1c2VybmFtZSBhbnl3aGVyZS4gSXMgYCVzJyByZWFsbHkgYSB1c2VyPyIKKyN+IG1zZ3N0ciAiVXBvcmFibmm5a2VnYSBpbWVuYSBuaSBtb+ggbmFqdGkuIEplICwlc2AgcmVzIHVwb3JhYm5paz8iCisKKyN+IG1zZ2lkICJTb3JyeSwgSSBjYW4gb25seSBjaGFuZ2UgbG9jYWwgcGFzc3dvcmRzLiBVc2UgeXBwYXNzd2QgaW5zdGVhZC4iCisjfiBtc2dzdHIgIlMgdGVtIHVrYXpvbSBsYWhrbyBzcHJlbWluamF0ZSBzYW1vIGxva2FsbmEgZ2VzbGEuIFVwb3JhYml0ZSB5cHBhc3N3ZC4iCisKKyN+IG1zZ2lkICJVSUQgYW5kIHVzZXJuYW1lIGRvZXMgbm90IG1hdGNoLCBpbXBvc3RlciEiCisjfiBtc2dzdHIgIlVJRCBpbiB1cG9yYWJuablrbyBpbWUgc2UgbmUgdWplbWF0YSIKKworI34gbXNnaWQgIkNoYW5naW5nIHBhc3N3b3JkIGZvciAlc1xuIgorI34gbXNnc3RyICJTcHJlbWluamFtbyBnZXNsbyB6YSAlc1xuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBwYXNzd29yZCwgaW1wb3N0ZXIuIgorI34gbXNnc3RyICJHZXNsbyBuaSB2ZWxqYXZuby4iCisKKyN+IG1zZ2lkICJFbnRlciBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiVm5lc2l0ZSBub3ZvIGdlc2xvOiAiCisKKyN+IG1zZ2lkICJSZS10eXBlIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJQb25vdm5vIHZuZXNpdGUgbm92byBnZXNsbzogIgorCisjfiBtc2dpZCAiWW91IG1pc3NwZWxsZWQgaXQuIFBhc3N3b3JkIG5vdCBjaGFuZ2VkLiIKKyN+IG1zZ3N0ciAiR2VzbGkgc2UgbmUgdWplbWF0YS4gR2VzbG8gbmkgYmlsbyBzcHJlbWVuamVuby4iCisKKyN+IG1zZ2lkICJST09UIFBBU1NXT1JEIENIQU5HRUQiCisjfiBtc2dzdHIgIlNLUkJOSalLTyBHRVNMTyBTUFJFTUVOSkVOTyIKKworI34gbXNnaWQgInBhc3N3b3JkIGNoYW5nZWQgYnkgcm9vdCwgdXNlciAlcyIKKyN+IG1zZ3N0ciAiZ2VzbG8gc3ByZW1lbmlsIHNrcmJuaWssIHVwb3JhYm5payAlcyIKKworI34gbXNnaWQgIlBhc3N3b3JkICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCisjfiBtc2dzdHIgIkdlc2xvIE5JIEJJTE8gc3ByZW1lbmplbm8uIFBvc2t1c2l0ZSBwb3puZWplLlxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiBoZWxwIGZpbGUiCisjfiBtc2dzdHIgIkRhdG90ZWtlIHMgcG9tb+hqbyBuaSBtb2dv6GUgb2RwcmV0aSIKZGlmZiAtLWdpdCBhL3BvL3N2LnBvIGIvcG8vc3YucG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI2Mjc0MAotLS0gL2Rldi9udWxsCisrKyBiL3BvL3N2LnBvCkBAIC0wLDAgKzEsMjM4MzggQEAKKyMgU3dlZGlzaCBtZXNzYWdlcyBmb3IgdXRpbC1saW51eC4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgQ29weXJpZ2h0IMKpIDIwMDEsIDIwMDIsIDIwMDMsIDIwMDQsIDIwMDcsIDIwMTYsIDIwMTcgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIENocmlzdGlhbiBSb3NlIDxtZW50aG9zQG1lbnRob3MuY29tPiwgMjAwMSwgMjAwMiwgMjAwMywgMjAwNC4KKyMgRGFuaWVsIE55bGFuZGVyIDxwb0BkYW5pZWxueWxhbmRlci5zZT4sIDIwMDcuCisjIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0BnbWFpbC5jb20+LCAyMDE2LCAyMDE3LgorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQgdGhhdCB0aGlzCisjIGhlYWRlciBpcyBub3QgcmVtb3ZlZCBhbmQgbW9kaWZpZWQgdmVyc2lvbnMgYXJlIG1hcmtlZAorIyBhcyBzdWNoLgorIworbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjMxLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE3LTEwLTA1IDAxOjM0KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0BnbWFpbC5jb20+XG4iCisiTGFuZ3VhZ2UtVGVhbTogU3dlZGlzaCA8dHAtc3ZAbGlzdG9yLnRwLXN2LnNlPlxuIgorIkxhbmd1YWdlOiBzdlxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PXV0Zi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MjsgcGx1cmFsPShuICE9IDEpO1xuIgorIlgtR2VuZXJhdG9yOiBQb2VkaXQgMi4wLjRcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNrZW5oZXQ+IDxwYXJ0aXRpb25zbnVtbWVyPiA8c3RhcnQ+IDxsw6RuZ2Q+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJTw6RnIHRpbGwga8Okcm5hbiBvbSBhdHQgZW4gYW5naXZlbiBwYXJ0aXRpb24gZXhpc3RlcmFyLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJpbnRlIHRpbGxyw6Rja2xpZ3QgbcOlbmdhIGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBwYXJ0aXRpb25zbnVtbWVyYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3Qgc3RhcnRhcmd1bWVudCIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEwCittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IGzDpG5nZGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorbXNnaWQgImZhaWxlZCB0byBhZGQgcGFydGl0aW9uIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RnZ2EgdGlsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo2MworbXNnaWQgInNldCByZWFkLW9ubHkiCittc2dzdHIgInN0w6RsbCBpbiBzb20gc2tyaXZza3lkZGFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAic3TDpGxsIGluIHNvbSBsw6RzIG9jaCBza3JpdiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAiaMOkbXRhIHNrcml2c2t5ZGRhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJow6RtdGEgc3RhdHVzIGbDtnIgbm9sbGthc3NlcmluZ3NzdMO2ZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjg4Cittc2dpZCAiZ2V0IGxvZ2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiaMOkbXRhIGxvZ2lzayBibG9ja3N0b3JsZWsgKHNla3RvcnN0b3JsZWspIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiaMOkbXRhIGZ5c2lzayBibG9ja3N0b3JsZWsgKHNla3RvcnN0b3JsZWspIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTAwCittc2dpZCAiZ2V0IG1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgImjDpG10YSBtaW5zdGEgSS9PLXN0b3JsZWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiaMOkbXRhIG9wdGltYWwgSS9PLXN0b3JsZWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAiaMOkbXRhIGp1c3RlcmluZ3Nwb3NpdGlvbiBpIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgImjDpG10YSBtYXhpbWFsdCBhbnRhbCBzZWt0b3JlciBwZXIgYmVnw6RyYW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJow6RtdGEgYmxvY2tzdG9ybGVrIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJzdMOkbGwgaW4gYmxvY2tzdG9ybGVrIGbDtnIgZmlsZGVza3JpcHRvcm4gc29tIMO2cHBuYXIgYmxvY2tlbmhldGVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAiaMOkbXRhIDMyLWJpdGFycyBzZWt0b3JhbnRhbCAoZsO2csOlbGRyYXQsIGFudsOkbmQgLS1nZXRzeikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiaMOkbXRhIHN0b3JsZWsgaSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAic3TDpGxsIGluIGbDtnJpbmzDpHNuaW5nIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiaMOkbXRhIGbDtnJpbmzDpHNuaW5nIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJzdMOkbGwgaW4gZsO2cmlubMOkc25pbmcgZsO2ciBmaWxzeXN0ZW0iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImjDpG10YSBmw7ZyaW5sw6RzbmluZyBmw7ZyIGZpbHN5c3RlbSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgInTDtm0gYnVmZmVydGFyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAibMOkcyBvbSBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXZ8LXFdIGtvbW1hbmRvbiBlbmhldGVyXG4iCisiICUxJHMgLS1yZXBvcnQgW2VuaGV0ZXJdXG4iCisiICUxJHMgLWh8LVZcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICJBbnJvcCBibG9ja2VyYXIgZW5oZXRzIGlvY3RsOmVyIGZyw6VuIGtvbW1hbmRvcmFkZW4uIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk2Cittc2dpZCAiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiCittc2dzdHIgIiAtcSAgICAgICAgICAgICB0eXN0IGzDpGdlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk3Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiIC12ICAgICAgICAgICAgIHV0ZsO2cmxpZ3QgbMOkZ2UiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTgKK21zZ2lkICIgICAgIC0tcmVwb3J0ICAgcHJpbnQgcmVwb3J0IGZvciBzcGVjaWZpZWQgKG9yIGFsbCkgZGV2aWNlcyIKK21zZ3N0ciAiICAgICAtLXJlcG9ydCAgIHNrcml2IHV0IHJhcHBvcnQgZsO2ciBhbmdpdmVuIChlbGxlciBhbGxhKSBlbmhldGVyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjAzCittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiVGlsbGfDpG5nbGlnYSBrb21tYW5kb246IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiAlLTI1cyBow6RtdGEgc3RvcmxlayBpIDUxMi1ieXRlIHNla3RvcmVyXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyODggZGlzay11dGlscy9mZGZvcm1hdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MSBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMDUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODEgZGlzay11dGlscy9ta2ZzLmM6MTE2IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxODEgbWlzYy11dGlscy93aXBlZnMuYzo3MTgKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcxIHN5cy11dGlscy9ibGt6b25lLmM6Mzk0IHN5cy11dGlscy90dW5lbHAuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg5IHN5cy11dGlscy96cmFtY3RsLmM6NzE1Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gZW5oZXQgYW5naXZlbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgImt1bmRlIGludGUgaMOkbXRhIGVuaGV0c3N0b3JsZWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiT2vDpG50IGtvbW1hbmRvOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMga3LDpHZlciBldHQgYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiaW9jdGwtZmVsIHDDpSAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIG1pc3NseWNrYWRlcy5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIGx5Y2thZGVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaW5pdGllcmEgc3lzZnMtaGFudGVyYXJlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIHBhcnRpdGlvbnNzdGFydCBmcsOlbiBzeXNmcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0U2VjICAgICAgICAgICAgU2l6ZSAgIERldmljZVxuIgorbXNnc3RyICJSTyAgICBSQSAgIFNTWiAgIEJTWiAgIFN0YXJ0c2VrdG9yICBTdG9ybGVrIEVuaGV0XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiQm9vdGFibGUiCittc2dzdHIgIlN0YXJ0YmFyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU2zDpSBww6UvYXYgc3RhcnRiYXJoZXRzZmxhZ2dhbiBww6UgYWt0dWVsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICJUYSBib3J0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlRhIGJvcnQgYWt0dWVsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4Cittc2dpZCAiUmVzaXplIgorbXNnc3RyICLDhG5kcmEgc3RvcmxlayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZWR1Y2Ugb3IgZW5sYXJnZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlJlZHVjZXJhIGVsbGVyIGbDtnJzdG9yYSBha3R1ZWxsIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIk55IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiU2thcGEgbnkgcGFydGl0aW9uIGZyw6VuIGxlZGlndCB1dHJ5bW1lIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIkF2c2x1dGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJBdnNsdXRhIHByb2dyYW1tZXQgdXRhbiBhdHQgc2tyaXZhIGbDtnLDpG5kcmluZ2FyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MSBsaWJmZGlzay9zcmMvYnNkLmM6NDM4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMSBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OQorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMjYKK21zZ2lkICJUeXBlIgorbXNnc3RyICJUeXAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiw4RuZHJhIHBhcnRpdGlvbnN0eXBlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJIZWxwIgorbXNnc3RyICJIasOkbHAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIlZpc2EgaGrDpGxwc2vDpHJtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIlNvcnQiCittc2dzdHIgIlNvcnRlcmEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIkZpeGEgcGFydGl0aW9uc29yZG5pbmdlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiU2tyaXYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiU2tyaXYgcGFydGl0aW9uc3RhYmVsbGVuIHRpbGwgZGlzayAoZGV0dGEga2FuIGbDtnJzdMO2cmEgZGF0YSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiRHVtcGEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIkR1bXBhIHBhcnRpdGlvbnN0YWJlbGxlbiB0aWxsIGVuIHNmZGlzay1rb21wYXRpYmVsIHNrcmlwdGZpbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgImludGVybnQgZmVsOiBkaWFsb2d0eXAgJWQgc3TDtmRzIGVqIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyAobW9udGVyYWQpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTcKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIlBhcnRpdGlvbnNuYW1uOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJQYXJ0aXRpb25zLVVVSUQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMTYKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIlBhcnRpdGlvbnN0eXA6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiQXR0cmlidXQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICJGaWxzeXN0ZW1zLVVVSUQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNTQKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAiRmlsc3lzdGVtcy1FVElLRVRUOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIkZpbHN5c3RlbToiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJNb250ZXJpbmdzcHVua3Q6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIkRpc2s6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIlN0b3JsZWs6ICVzLCAlanUgYnl0ZSwgJWp1IHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRXRpa2V0dDogJXMsIGlkZW50aWZpZXJhcmU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJFdGlrZXR0OiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODY2Cittc2dpZCAiTWF5IGJlIGZvbGxvd2VkIGJ5IE0gZm9yIE1pQiwgRyBmb3IgR2lCLCBUIGZvciBUaUIsIG9yIFMgZm9yIHNlY3RvcnMuIgorbXNnc3RyICJLYW4gZWZ0ZXJmw7ZsamFzIGF2IE0gZsO2ciBNaUIsIEcgZsO2ciBHaUIsIFQgZsO2ciBUaUIgZWxsZXIgUyBmw7ZyIHNla3RvcmVyLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICJBbmdlIHN0b3JsZWsuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIk1pbnN0YSBzdG9ybGVrIMOkciAlanUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiU3TDtnJzdGEgc3RvcmxlayDDpHIgJWp1IGJ5dGUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHN0b3JsZWsuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NjgKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlbDpGxqIHBhcnRpdGlvbnN0eXAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDgKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIlNrcml2IGluIGZpbG5hbW4gZsO2ciBza3JpcHQ6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiU2tyaXB0ZmlsZW4ga29tbWVyIGF0dCB0aWxsw6RtcGFzIGbDtnIgcGFydGl0aW9uc3RhYmVsbGVuIGkgbWlubmV0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiS2FuIGludGUgw7ZwcG5hICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIGF0dCB0b2xrYSBza3JpcHRmaWwgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIG1lZCBhdHQgdGlsbMOkbXBhIHNrcmlwdCAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbiBpIG1pbm5lIGtvbW1lciBhdHQgZHVtcGFzIHRpbGwgZmlsZW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTEyCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBza3JpcHQtaGFudGVyYXJlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIGluIGRpc2tsYXlvdXQgaSBza3JpcHQuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiRGlza2xheW91dCBkdW1wYWRlcyBmcmFtZ8OlbmdzcmlrdC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIGF0dCBza3JpdmEgc2tyaXB0ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiVsOkbGogZXRpa2V0dHN0eXAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiRW5oZXRlbiBpbm5laMOlbGxlciBpbnRlIGVuIGlnZW5rw6RuZCBwYXJ0aXRpb25zdGFiZWxsLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICJWw6RsaiBlbiB0eXAgYXR0IHNrYXBhIG9jaCBlbiBueSBldGlrZXR0IGVsbGVyIHRyeWNrIOKAnUzigJ0gZsO2ciBhdHQgbMOkc2EgaW4gc2tyaXB0ZmlsLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJEZXQgaMOkciDDpHIgY2ZkaXNrLCBldHQgY3Vyc2VzLWJhc2VyYXQgZGlza3BhcnRpdGlvbmVyaW5nc3Byb2dyYW0uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAiRGV0IGzDpXRlciBkaWcgc2thcGEsIHRhIGJvcnQgb2NoIMOkbmRyYSBwYXJ0aXRpb25lciBww6UgZW4gYmxvY2tlbmhldC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJLb21tYW5kbyAgICAgQmV0eWRlbHNlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLS0gICAgIC0tLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIFNsw6UgcMOlL2F2IHN0YXJ0YmFyaGV0c2ZsYWdnYW4gcMOlIGFrdHVlbGwgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODIKK21zZ2lkICIgIGQgICAgICAgICAgRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBkICAgICAgICAgIFRhIGJvcnQgYWt0dWVsbCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIFZpc2EgZGVubmEgaGrDpGxwc2vDpHJtIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgU2thcGEgZW4gbnkgcGFydGl0aW9uIGZyw6VuIGxlZGlndCB1dHJ5bW1lIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBBdnNsdXRhIHByb2dyYW1tZXQgdXRhbiBhdHQgc2tyaXZhIHBhcnRpdGlvbnN0YWJlbGxlbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIHMgICAgICAgICAgRml4YSBwYXJ0aXRpb25zb3JkbmluZyAoYmFyYSBuw6RyIGRlIMOkciBpIG9vcmRuaW5nKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3Cittc2dpZCAiICB0ICAgICAgICAgIENoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiAgdCAgICAgICAgICBCeXQgcGFydGl0aW9uc3R5cGVuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIER1bXBhIGRpc2tsYXlvdXQgdGlsbCBzZmRpc2sta29tcGF0aWJlbCBza3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIFNrcml2IHBhcnRpdGlvbnN0YWJlbGxlbiB0aWxsIGRpc2sgKG3DpXN0ZSB2YXJhIGV0dCB2ZXJzYWx0IFcpOyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgIGVmdGVyc29tIGRldHRhIGthbiBmw7Zyc3TDtnJhIGRhdGEgcMOlIGRpc2tlbiBtw6VzdGUgZHUgYW50aW5nZW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgIGJla3LDpGZ0YSBlbGxlciBhdnZpc2Egc2tyaXZuaW5nZW4gZ2Vub20gYXR0IHNrcml2YSBpbiDigJ1qYeKAnSBlbGxlciDigJ1uZWrigJ0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MgorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAgeCAgICAgICAgICBWaXNhL2TDtmxqIGV4dHJhIGluZm9ybWF0aW9uIG9tIGVuIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIlBpbCB1cHAgICAgICBGbHl0dGEgbWFya8O2cmVuIHRpbGwgZsO2cmVnw6VlbmRlIHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk0Cittc2dpZCAiRG93biBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGlsIG5lZCAgICAgIEZseXR0YSBtYXJrw7ZyZW4gdGlsbCBuw6RzdGEgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiUGlsIHbDpG5zdGVyICBGbHl0dGEgbWFya8O2ciB0aWxsIGbDtnJlZ8OlZW5kZSBtZW55b2JqZWt0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTYKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICJQaWwgaMO2Z2VyICAgIEZseXR0YSBtYXJrw7ZyIHRpbGwgbsOkc3RhIG1lbnlvYmpla3QiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgIk9iczogQWxsYSBrb21tYW5kb24ga2FuIGFuZ2VzIGFudGluZ2VuIG1lZCBzbcOlIGVsbGVyIHN0b3JhIGJva3N0w6R2ZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICIoZsO2cnV0b20gU2tyaXYpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIkFudsOkbmQgbHNibGsoOCkgZWxsZXIgcGFydHgoOCkgZsO2ciBhdHQgc2UgZmxlciBkZXRhbGplciBvbSBlbmhldGVuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAiVHJ5Y2sgcMOlIGVuIHRhbmdlbnQgZsO2ciBhdHQgZm9ydHPDpHR0YS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICJLdW5kZSBpbnRlIHbDpHhsYSBmbGFnZ2FuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkt1bmRlIGludGUgdGEgYm9ydCBwYXJ0aXRpb24gJXp1LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA5IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IGhhciB0YWdpdHMgYm9ydC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIlBhcnRpdGlvbnNzdG9ybGVrOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIsOEbmRyYWRlIHR5cGVuIGbDtnIgcGFydGl0aW9uICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlR5cGVuIGbDtnIgcGFydGl0aW9uICV6dSDDpHIgb2bDtnLDpG5kcmFkLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzk0Cittc2dpZCAiTmV3IHNpemU6ICIKK21zZ3N0ciAiTnkgc3RvcmxlazogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dSBoYXIgw6RuZHJhdCBzdG9ybGVrLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICJFbmhldGVuIMOkciDDtnBwZW4gaSBza3JpdnNreWRkYXQgbMOkZ2UuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzIKK21zZ2lkICJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gd3JpdGUgdGhlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrPyAiCittc2dzdHIgIsOEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIHNrcml2YSBwYXJ0aXRpb25zdGFiZWxsZW4gdGlsbCBkaXNrPyAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzNAorbXNnaWQgIlR5cGUgXCJ5ZXNcIiBvciBcIm5vXCIsIG9yIHByZXNzIEVTQyB0byBsZWF2ZSB0aGlzIGRpYWxvZy4iCittc2dzdHIgIlNrcml2IGluIOKAnWph4oCdIGVsbGVyIOKAnW5lauKAnSBlbGxlciB0cnljayBFU0MgZsO2ciBhdHQgbMOkbW5hIGRlbm5hIGRpYWxvZy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzOSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgInllcyIKK21zZ3N0ciAiamEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0MAorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJTa3JldiBpbnRlIHBhcnRpdGlvbnN0YWJlbGxlbiB0aWxsIGRpc2suIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIG1lZCBhdHQgc2tyaXZhIGRpc2tldGlrZXR0LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbiBoYXIgw6RuZHJhdHMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICJOb3RlcmEgYXR0IHBvc3Rlcm5hIGkgcGFydGl0aW9uc3RhYmVsbGVuIGludGUgw6RyIGkgZGlza29yZG5pbmcgbnUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJFbmhldGVuIGlubmVow6VsbGVyIHJlZGFuIGVuICVzLXNpZ25hdHVyOyBkZW4ga29tbWVyIGF0dCB0YXMgYm9ydCBnZW5vbSBldHQgc2tyaXZrb21tYW5kby4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUyMgorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBza2FwYSBlbiBueSBkaXNrZXRpa2V0dCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgbMOkc2EgcGFydGl0aW9uZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFtmbGFnZ29yXSA8ZGlzaz5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjMyIGRpc2stdXRpbHMvZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzoxODQzCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIlZpc2EgZWxsZXIgbWFuaXB1bGVyYSBlbiBkaXNrcGFydGl0aW9uc3RhYmVsbC5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bsOkcj5dICAgICAgZsOkcmdsw6RnZyB1dG1hdG5pbmcgKGF1dG8sIGFsd2F5cyBlbGxlciBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM4Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBiw7ZyamEgbWVkIGVuIG5vbGxzdMOkbGxkIHBhcnRpdGlvbnN0YWJlbGxcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjc2IGRpc2stdXRpbHMvZmRpc2suYzo5NTAgZGlzay11dGlscy9zZmRpc2suYzoyMTIwCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDEwIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgImbDpHJnbMOkZ2Ugc3TDtmRzIGVqIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBsaWJmZGlzay1rb250ZXh0IgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDxkaXNrZW5oZXQ+IDxwYXJ0aXRpb25zbnVtbWVyPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJTw6RnIHRpbGwga8Okcm5hbiBhdHQgZ2zDtm1tYSBib3J0IGVuIGFuZ2l2ZW4gcGFydGl0aW9uLlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0YSBib3J0IHBhcnRpdGlvbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcm1hdHRpbmcgLi4uICIKK21zZ3N0ciAiRm9ybWF0ZXJhcuKApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAia2xhclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIlZlcmlmaWVyYXLigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICJMw6RzdGU6ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAiUHJvYmxlbSB2aWQgbMOkc25pbmcgYXYgc3DDpXIvaHV2dWQgJXUvJXUsICVkIGbDtnJ2w6RudGFkZXMsIGzDpHN0ZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisiZmVsYWt0aWcgZGF0YSBpIHNww6VyL2h1dnVkICV1LyV1XG4iCisiRm9ydHPDpHR0ZXLigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8ZW5oZXQ+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIkfDtnIgZW4gbMOlZ25pdsOlZm9ybWF0ZXJpbmcgYXYgZW4gZGlza2V0dC5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAgYsO2cmphIHDDpSBzcMOlciBOIChzdGFuZGFyZCAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIHNsdXRhIHDDpSBzcMOlciBOXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTQKK21zZ2lkICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIHRyeSB0byByZXBhaXIgdHJhY2tzIGZhaWxlZCBkdXJpbmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICB0aGUgdmVyaWZpY2F0aW9uIChtYXggTiByZXRyaWVzKVxuIgorbXNnc3RyICIiCisiIC1yLCAtLXJlcGFpciA8Tj4gIGbDtnJzw7ZrIGF0dCByZXBhcmVyYSBzcMOlciBzb20gbWlzc2x5Y2thZGVzXG4iCisiICAgICAgICAgICAgICAgICAgICAgdW5kZXIgdmVyaWZpZXJpbmdlbiAobWF4IE4gZsO2cnPDtmspXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTYKK21zZ2lkICIgLW4sIC0tbm8tdmVyaWZ5ICAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLXZlcmlmeSAgIGluYWt0aXZlcmEgdmVyaWZpZXJpbmdlbiBlZnRlciBmb3JtYXRlcmluZ2VuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAiZmVsYWt0aWd0IGFyZ3VtZW50IC0gZnLDpW4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImZlbGFrdGlndCBhcmd1bWVudCAtIHRpbGwiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMDEKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCAtIHJlcGFyZXJhIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAic3RhdCBmw7ZyICVzIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBpbnRlIGVuIGJsb2NrZW5oZXQiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgImt1bmRlIGludGUgYXZnw7ZyYSBha3R1ZWxsIGZvcm1hdHR5cCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlc3NpZGlnLCAlZCBzcMOlciwgJWQgc2VrdG9yZXIvc3DDpXIuIFRvdGFsIGthcGFjaXRldCAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiRHViYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJFbmtlbCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiYW52w6RuZGFyZGVmaW5pZXJhdCBzdGFydHNww6VyIMO2dmVyc3RpZ2VyIG1lZGlldHMgc3BlY2lmaWNlcmFkZSBtYXhpbXVtIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQzCittc2dpZCAidXNlciBkZWZpbmVkIGVuZCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAiYW52w6RuZGFyZGVmaW5pZXJhdCBzbHV0c3DDpXIgw7Z2ZXJzdGlnZXIgbWVkaWV0cyBzcGVjaWZpY2VyYWRlIG1heGltdW0iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDUKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgdXNlciBkZWZpbmVkIGVuZCB0cmFjayIKK21zZ3N0ciAiYW52w6RuZGFyZGVmaW5pZXJhdCBzdGFydHNww6VyIMO2dmVyc3RpZ2VyIGFudsOkbmRhcmRlZmluaWVyYXQgc2x1dHNww6VyIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUzIG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAic3TDpG5nbmluZyBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICJWw6RsaiAoc3RhbmRhcmQgJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIkFudsOkbmRlciBzdGFuZGFyZHN2YXJldCAlYy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMjIgZGlzay11dGlscy9mZGlzay5jOjI5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6MzcxCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTI0MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2OQorbXNnaWQgIlZhbHVlIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlbDpHJkZSB1dGFuZsO2ciBpbnRlcnZhbGwuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCBzdGFuZGFyZHbDpHJkZSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgc3RhbmRhcmR2w6RyZGUgJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjLCBzdGFuZGFyZHbDpHJkZSAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIHN0YW5kYXJkdsOkcmRlICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2OSBkaXNrLXV0aWxzL2ZkaXNrLmM6MzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQzOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE5OAorbXNnaWQgIiBbWV1lcy9bTl1vOiAiCittc2dzdHIgIiBbSl1hL1tOXWVqOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJIZXhhZGVjaW1hbCBrb2QgKHNrcml2IEwgZsO2ciBhdHQgbGlzdGEgYWxsYSBrb2Rlcik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ4MAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIlBhcnRpdGlvbnN0eXAgKHNrcml2IEwgZsO2ciBhdHQgbGlzdGEgYWxsYSB0eXBlcik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkRPUy1rb21wYXRpYmlsaXRldHNmbGFnZ2Egw6RyIGluc3TDpGxsZCAoRsOWUsOFTERSQUQhKSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRE9TLWtvbXBhdGliaWxpdGV0c2ZsYWdnYSDDpHIgaW50ZSBpbnN0w6RsbGQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIlBhcnRpdGlvbiAlenUgZmlubnMgaW50ZSDDpG4hIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA5IGRpc2stdXRpbHMvZmRpc2suYzo2MTggbGliZmRpc2svc3JjL2Fzay5jOjEwMDMKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICJPa8OkbmQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLDhG5kcmFkZSBwYXJ0aXRpb25zdHlwZW4g4oCdJXPigJ0gdGlsbCDigJ0lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICJUeXBlbiBmw7ZyIHBhcnRpdGlvbiAlenUgw6RyIG9mw7Zyw6RuZHJhZDogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczogcG9zaXRpb24gPSAlPFBSSXU2ND4sIHN0b3JsZWsgPSAlenUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAia2FuIGludGUgc8O2a2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAia2FuIGludGUgbMOkc2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEgbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5OAorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiRsO2cnN0YSBzZWt0b3JuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzIgorbXNnc3RyICJCTEtHRVRTSVpFLWlvY3RsIG1pc3NseWNrYWRlcyBww6UgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3ODYgZGlzay11dGlscy9zZmRpc2suYzoxNDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJEZW4gZ2FtbGEgJXMtc2lnbmF0dXJlbiBrb21tZXIgYXR0IHRhcyBib3J0IGdlbm9tIGV0dCBza3JpdmtvbW1hbmRvLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJEZW4gZ2FtbGEgJXMtc2lnbmF0dXJlbiBrYW4ga29tbWEgYXR0IGZpbm5hcyBrdmFyIHDDpSBlbmhldGVuLiBEZXQgcmVrb21tZW5kZXJhcyBhdHQgcmFkZXJhIGVuaGV0ZW4gbWVkIHdpcGVmcyg4KSBlbGxlciBmZGlzayAtLXdpcGUgZsO2ciBhdHQgdW5kdmlrYSBtw7ZqbGlnYSBrb2xsaXNpb25lci4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGRpc2s+ICAgICAgw6RuZHJhIHBhcnRpdGlvbnN0YWJlbGxcbiIKKyIgJTEkcyBbZmxhZ2dvcl0gLWwgWzxkaXNrPl0gbGlzdGEgcGFydGl0aW9uc3RhYmVsbChlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPHN0b3JsZWs+ICAgZnlzaXNrIG9jaCBsb2dpc2sgc2VrdG9yc3Rvcmxla1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIHRhIGludGUgYm9ydCBzdGFydGJpdGFyIG7DpHIgZW4gbnkgZXRpa2V0dCBza2FwYXNcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMworbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PGzDpGdlPl0gIGzDpGdlIMOkciDigJ1kb3PigJ0gZWxsZXIg4oCdbm9uZG9z4oCdIChzdGFuZGFyZClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bsOkcj5dICAgICAgICAgICBmw6RyZ2zDpGdnIHV0bWF0bmluZyAoYXV0bywgYWx3YXlzIGVsbGVyIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE3Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgcGFydGl0aW9ucyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgdmlzYSBwYXJ0aXRpb25lciBvY2ggYXZzbHV0YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICAgICAgICBza3JpdiB1dCBrb2x1bW5lclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8dHlwPiAgICAgICAgICAgICAga8Okbm4gZW5kYXN0IGlnZW4gYW5naXZlbiB0eXAgYXYgcGFydGl0aW9uc3RhYmVsbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIwCittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXRzWz08ZW5oZXQ+XSAgICAgICAgIHZpc2EgZW5oZXRlcjog4oCdY3lsaW5kZXJz4oCdIGVsbGVyIOKAnXNlY3RvcnPigJ0gKHN0YW5kYXJkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIxCittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIHZpc2EgZW5oZXRzc3RvcmxlayBpIDUxMi1ieXRlIHNla3RvcmVyIFtGw5ZSw4VMRFJBRF1cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgc2tyaXYgdXQgU1RPUkxFSyBpIGJ5dGUgc25hcmFyZSDDpG4gaSBldHQgZm9ybWF0IGzDpHNiYXJ0IGbDtnIgbcOkbm5pc2tvclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA8bMOkZ2U+ICAgICAgICAgICAgIHJhZGVyYSBzaWduYXR1cmVyIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlLXBhcnRpdGlvbnMgPGzDpGdlPiAgcmFkZXJhIHNpZ25hdHVyZXIgZnLDpW4gbnlhIHBhcnRpdGlvbmVyIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxudW1tZXI+ICAgICAgYW5nZSBhbnRhbGV0IGN5bGluZHJhclxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPG51bW1lcj4gICAgICAgICAgYW5nZSBhbnRhbGV0IGh1dnVkZW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPG51bW1lcj4gICAgICAgIGFuZ2UgYW50YWxldCBzZWt0b3JlciBwZXIgc3DDpXJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTAwIGRpc2stdXRpbHMvcGFydHguYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCBmw7ZyIHNla3RvcnN0b3JsZWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKK21zZ2lkICJpbnZhbGlkIGN5bGluZGVycyBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgZsO2ciBjeWxpbmRyYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiRE9TLWV0aWtldHRzZHJpdnJ1dGluIGhpdHRhZGVzIGVqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIm9rw6RudCBrb21wYXRpYmlsaXRldHNsw6RnZSDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IGFyZ3VtZW50IGbDtnIgaHV2dWRlbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgZsO2ciBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJkaXNrZXRpa2V0dCBzdMO2ZHMgZWo6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTc1Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCIKK21zZ3N0ciAiZW5oZXQgc3TDtmRzIGludGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5ODQgZGlzay11dGlscy9mZGlzay5jOjk4OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODQKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4OQorbXNnaWQgInVuc3VwcG9ydGVkIHdpcGUgbW9kZSIKK21zZ3N0ciAicmFkZXJpbmdzbMOkZ2Ugc3TDtmRzIGVqIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJFbmhldHNlZ2Vuc2thcGVybmEgKHNla3RvcnN0b3JsZWsgb2NoIGdlb21ldHJpKSBiw7ZyIGVuZGFzdCBhbnbDpG5kYXMgbWVkIGVuIGVuaGV0LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMzMgZGlzay11dGlscy9mZGlzay5jOjEwNDggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY5NQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg3CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTY3IGRpc2stdXRpbHMvcmF3LmM6MTM3IGRpc2stdXRpbHMvcmF3LmM6MTUwCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2MiBkaXNrLXV0aWxzL3Jhdy5jOjIwMyBtaXNjLXV0aWxzL2NhbC5jOjUyMAorIzogbWlzYy11dGlscy9maW5kZnMuYzo1OCBtaXNjLXV0aWxzL2xvb2suYzoxNTAgbWlzYy11dGlscy93aGVyZWlzLmM6NTczCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo1ODQgbWlzYy11dGlscy93aGVyZWlzLmM6NTk1IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYzNworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTA0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYyIHNjaGVkdXRpbHMvdGFza3NldC5jOjE4OQorIzogc3lzLXV0aWxzL2NoY3B1LmM6MzQ0IHN5cy11dGlscy9jaG1lbS5jOjQxOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDY5CisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzIxIHN5cy11dGlscy9sb3NldHVwLmM6ODg4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDI1IHN5cy11dGlscy9sc21lbS5jOjYyOCBzeXMtdXRpbHMvbW91bnQuYzo2OTgKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxMSBzeXMtdXRpbHMvbW91bnQuYzo3ODAgc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxODEKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzIgc3lzLXV0aWxzL3N3YXBvZmYuYzoyMzAgc3lzLXV0aWxzL3N3YXBvbi5jOjk4OAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjUwIHN5cy11dGlscy91bW91bnQuYzo1MjggdGVybS11dGlscy9zZXR0ZXJtLmM6MTE3NgorIzogdGV4dC11dGlscy9jb2wuYzoyMzMgdGV4dC11dGlscy9tb3JlLmM6MzM3Cittc2dpZCAiYmFkIHVzYWdlIgorbXNnc3RyICJmZWxha3RpZyBhbnbDpG5kbmluZyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiVsOkbGtvbW1lbiB0aWxsIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTYKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiw4RuZHJpbmdhciBrb21tZXIgYXR0IGbDtnJibGkgZW5kYXN0IGkgbWlubmV0LCB0aWxsIGRlc3MgYXR0IGR1IGJlc2x1dGFyIGRpZyBmw7ZyIGF0dCBza3JpdmEgZGVtLlxuIgorIlZhciBha3RzYW0gaW5uYW4gZHUgYW52w6RuZGVyIHNrcml2a29tbWFuZG90LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICJFbiBoeWJyaWQtR1BUIGlkZW50aWZpZXJhZGVzLiBEdSBtw6VzdGUgc3lua3JvbmlzZXJhIGh5YnJpZC1NQlI6ZW4gbWFudWVsbHQgKGV4cGVydGtvbW1hbmRvdCDigJ1N4oCdKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAiRGlza2V0aWtldHRzdHlwOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRGlza2lkZW50aWZpZXJhcmU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiRGlzayAlczogJXMsICVqdSBieXRlLCAlanUgc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiR2VvbWV0cmk6ICVkIGh1dnVkZW4sICVsbHUgc2VrdG9yZXIvc3DDpXIsICVsbHUgY3lsaW5kcmFyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICJFbmhldGVyOiAlcyBhdiAlZCAqICVsZCA9ICVsZCBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIlNla3RvcnN0b3JsZWsgKGxvZ2lzay9meXNpc2spOiAlbHUgYnl0ZSAvICVsdSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICJJL08tc3RvcmxlayAobWluc3RhL29wdGltYWwpOiAlbHUgYnl0ZSAvICVsdSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIkp1c3RlcmluZ3Nwb3NpdGlvbjogJWx1IGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFsbG9rZXJhIGl0ZXJhdG9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFsbG9rZXJhIHV0bWF0bmluZ3N0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE2MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjYKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5NzQgbWlzYy11dGlscy9maW5jb3JlLmM6MTIzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA2IG1pc2MtdXRpbHMvbHNibGsuYzoxMTc2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNTQgbWlzYy11dGlscy93aXBlZnMuYzoyMTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzQwIHN5cy11dGlscy9sb3NldHVwLmM6MzY5IHN5cy11dGlscy9sc2NwdS5jOjE2MzUKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2NjMgc3lzLXV0aWxzL2xzaXBjLmM6NDcwIHN5cy11dGlscy9sc2lwYy5jOjU0NQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjQ3IHN5cy11dGlscy9sc2lwYy5jOjczOSBzeXMtdXRpbHMvbHNpcGMuYzo5MDAKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5IHN5cy11dGlscy9yZmtpbGwuYzozNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjE3OQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjE0IHN5cy11dGlscy96cmFtY3RsLmM6NDA3IHRleHQtdXRpbHMvY29sdW1uLmM6NDUzCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSB1dG1hdG5pbmdzcmFkIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgIm1pc3NseWNrYWRlcyBhdHQgbMOkZ2dhIHRpbGwgdXRtYXRuaW5nc2RhdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenUgYsO2cmphciBpbnRlIHDDpSBlbiBmeXNpc2sgc2VrdG9yZ3LDpG5zLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiRmlsc3lzdGVtL1JBSUQtc2lnbmF0dXIgaSBwYXJ0aXRpb24gJXp1IGtvbW1lciBhdHQgcmVuc2FzIGJvcnQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJQb3N0ZXIgaSBwYXJ0aXRpb25zdGFiZWxsIMOkciBpbnRlIGkgZGlza29yZG5pbmcuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTcgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjUKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI4IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUzIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIwCittc2dpZCAiU3RhcnQiCittc2dzdHIgIkLDtnJqYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNgorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjkgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMjEKK21zZ2lkICJFbmQiCittc2dzdHIgIlNsdXRldCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiU3RvcmxlayIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJPcGFydGl0aW9uZXJhdCB1dHJ5bW1lICVzOiAlcywgJWp1IGJ5dGUsICVqdSBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXM6IG9rw6RuZCBrb2x1bW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIkFsbG3DpG50IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAidGEgYm9ydCBlbiBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgImxpc3RhIHRpbGxnw6RuZ2xpZ3Qgb3BhcnRpdGlvbmVyYXQgdXRyeW1tZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAwCittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgImxpc3RhIGvDpG5kYSBwYXJ0aXRpb25zdHlwZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgImzDpGdnIHRpbGwgZW4gbnkgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDIKK21zZ2lkICJwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJza3JpdiB1dCBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLDpG5kcmEgZW4gcGFydGl0aW9uc3R5cCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInZlcmlmaWVyYSBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJza3JpdiB1dCBpbmZvcm1hdGlvbiBvbSBlbiBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAic2tyaXYgdXQgZGVuIHLDpWEgZGF0YW4gZnLDpW4gZsO2cnN0YSBzZWt0b3JuIGZyw6VuIGVuaGV0ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZGlza2xhYmVsIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAic2tyaXYgdXQgZGVuIHLDpWEgZGF0YW4gZnLDpW4gZGlza2V0aWtldHRlbiBmcsOlbiBlbmhldGVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiZml4YSBwYXJ0aXRpb25zb3JkbmluZ2VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTEKK21zZ2lkICJNaXNjIgorbXNnc3RyICJEaXZlcnNlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgInZpc2EgZGVubmEgbWVueSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIsOkbmRyYSB2aXNuaW5ncy0vcG9zdGVuaGV0ZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImV4dHJhIGZ1bmt0aW9uYWxpdGV0IChlbmRhc3QgZXhwZXJ0ZXIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTYKK21zZ2lkICJTY3JpcHQiCittc2dzdHIgIlNrcmlwdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE3Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAibMOkcyBpbiBkaXNrbGF5b3V0IGZyw6VuIHNmZGlzay1za3JpcHRmaWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJkdW1wYSBkaXNrbGF5b3V0IHRpbGwgc2ZkaXNrLXNrcmlwdGZpbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIlNwYXJhICYgYXZzbHV0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAic2tyaXYgdGFiZWxsIHRpbGwgZGlzayBvY2ggYXZzbHV0YSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIyCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayIKK21zZ3N0ciAic2tyaXYgdGFiZWxsIHRpbGwgZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICJhdnNsdXRhIHV0YW4gYXR0IHNwYXJhIMOkbmRyaW5nYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIsOldGVyZ8OlIHRpbGwgaHV2dWRtZW55IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICJyZXR1cm5lcmEgZnLDpW4gQlNEIHRpbGwgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIlNrYXBhIGVuIG55IGV0aWtldHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJza2FwYSBlbiBueSB0b20gR1BULXBhcnRpdGlvbnN0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAic2thcGEgZW4gbnkgdG9tIFNHSSAoSVJJWCktcGFydGl0aW9uc3RhYmVsbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInNrYXBhIGVuIG55IHRvbSBET1MtcGFydGl0aW9uc3RhYmVsbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInNrYXBhIGVuIG55IHRvbSBTdW4tcGFydGl0aW9uc3RhYmVsbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJza2FwYSBlbiBJUklYIChTR0kpLXBhcnRpdGlvbnN0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICLDpG5kcmEgYW50YWxldCBjeWxpbmRyYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIsOkbmRyYSBhbnRhbGV0IGh1dnVkZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NworbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAiw6RuZHJhIGFudGFsZXQgc2VrdG9yZXIvc3DDpXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICLDpG5kcmEgZGlzay1HVUlEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjgKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIsOkbmRyYSBwYXJ0aXRpb25zbmFtbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICLDpG5kcmEgcGFydGl0aW9ucy1VVUlEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICLDpG5kcmEgdGFiZWxsw6RuZ2QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiZ8OlIGluIGkgc2t5ZGRhbmRlL2h5YnJpZC1NQlIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAic2zDpSBww6UvYXYgc3RhcnRiYXJoZXRzZmxhZ2dhbiBmw7ZyIGbDtnLDpWxkcmFkZSBCSU9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgInbDpHhsYSBwcm90b2tvbGxmbGFnZ2FuIGluZ2VuLWJsb2NrLUlPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJzbMOlIHDDpS9hdiBkZW4gbsO2ZHbDpG5kaWdhIHBhcnRpdGlvbnNmbGFnZ2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzcKK21zZ2lkICJ0b2dnbGUgdGhlIEdVSUQgc3BlY2lmaWMgYml0cyIKK21zZ3N0ciAidsOkeGxhIGRlIEdVSUQtc3BlY2lmaWthIGJpdGFybmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKK21zZ2lkICJ0b2dnbGUgdGhlIHJlYWQtb25seSBmbGFnIgorbXNnc3RyICJzbMOlIHDDpS9hdiBza3JpdnNreWRkc2ZsYWdnYW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgInNsw6UgcMOlL2F2IG1vbnRlcmJhcmhldHNmbGFnZ2FuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIsOkbmRyYSBhbnRhbGV0IGFsdGVybmF0aXZhIGN5bGluZHJhciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiw6RuZHJhIGFudGFsZXQgZXh0cmEgc2VrdG9yZXIgcGVyIGN5bGluZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIsOkbmRyYSBpbmZsw6R0bmluZ3NmYWt0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiw6RuZHJhIHJvdGF0aW9uc2hhc3RpZ2hldCAodmFydiBwZXIgbWludXQpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiw6RuZHJhIGFudGFsZXQgZnlzaXNrYSBjeWxpbmRyYXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJ2w6RsaiBzdGFydGJhciBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgInJlZGlnZXJhIHN0YXJ0Zmlsc3Bvc3QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgInbDpGxqIHNnaS12w6R4bGluZ3NwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAic2thcGEgU0dJLWluZm8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJzbMOlIHDDpS9hdiBlbiBzdGFydGJhcmhldHNmbGFnZ2EiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgInJlZGlnZXJhIG7DpHN0bGFkIEJTRC1kaXNrZXRpa2V0dCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICJzbMOlIHDDpS9hdiBkb3Mta29tcGF0aWJpbGl0ZXRzZmxhZ2dhbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiZmx5dHRhIGLDtnJqYW4gcMOlIGRhdGEgaSBlbiBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLDpG5kcmEgZGlza2lkZW50aWZpZXJhcmVuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICJnw6UgdGlsbGJha2EgZnLDpW4gc2t5ZGRhbmRlL2h5YnJpZC1NQlIgdGlsbCBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgInJlZGlnZXJhIGVuaGV0c2RhdGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICJpbnN0YWxsZXJhIGbDtnJzdGFydGFyZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM4Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgInZpc2EgZnVsbHN0w6RuZGlnIGRpc2tldGlrZXR0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgImzDpG5rYSBCU0QtcGFydGl0aW9uIHRpbGwgaWNrZS1CU0QtcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIasOkbHAgKGV4cGVydC1rb21tYW5kb24pOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisiSGrDpGxwOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiRHUgcmVkaWdlcmFyIGRlbiBuw6RzdGxhZGUgcGFydGl0aW9uc3RhYmVsbGVuIOKAnSVz4oCdLCBwcmltw6RycGFydGl0aW9uc3RhYmVsbCDDpHIg4oCdJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiRXhwZXJ0a29tbWFuZG8gKG0gZsO2ciBoasOkbHApOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQyNQorbXNnaWQgIkNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIktvbW1hbmRvIChtIGbDtnIgaGrDpGxwKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIlZpbGwgZHUgdmVya2xpZ2VuIGF2c2x1dGE/ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiBva8OkbnQga29tbWFuZG8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJTa3JpdiBpbiBmaWxuYW1uIGbDtnIgc2tyaXB0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICLDhXRlcnN0w6RsbGVyIGZkaXNrISIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiU2tyaXB0IHRpbGzDpG1wYWRlcyBmcmFtZ8OlbmdzcmlrdC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IGfDtnJhIG9tIGRpc2tsYXlvdXRlbiB0aWxsIGV0dCBza3JpcHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICJTa3JpcHQgc3BhcmFkZXMgZnJhbWfDpW5nc3Jpa3QuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTUgZGlzay11dGlscy9zZmRpc2suYzoxNTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiUGFydGl0aW9uICMlenUgaW5uZWjDpWxsZXIgZW4gJXMtc2lnbmF0dXIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICJWaWxsIGR1IHRhIGJvcnQgc2lnbmF0dXJlbj8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICJTaWduYXR1cmVuIGtvbW1lciBhdHQgdGFzIGJvcnQgZ2Vub20gZXR0IHNrcml2a29tbWFuZG8uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBza3JpdmEgZGlza2V0aWtldHQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzOAorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IGZpeGEgcGFydGl0aW9uc29yZG5pbmcuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKK21zZ2lkICJQYXJ0aXRpb25zIG9yZGVyIGZpeGVkLiIKK21zZ3N0ciAiUGFydGl0aW9uc29yZG5pbmcgZml4YWQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJLdW5kZSBpbnRlIHRhIGJvcnQgcGFydGl0aW9uICV6dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIsOEbmRyYXIgdmlzbmluZ3MtL2lubWF0bmluZ3NlbmhldGVyIHRpbGwgY3lsaW5kcmFyIChGw5ZSw4VMRFJBVCEpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg3Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiw4RuZHJhciB2aXNuaW5ncy0vaW5tYXRuaW5nc2VuaGV0ZXIgdGlsbCBzZWt0b3Jlci4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICJMw6RtbmFyIGt2YXIgbsOkc3RsYWQgZGlza2V0aWtldHQuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICJOeXR0IG1heGltYWx0IGFudGFsIHBvc3RlciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIkfDpSBpbiBpIHNreWRkYW5kZS9oeWJyaWQtTUJSLWRpc2tldGlrZXR0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiTnkgVVVJRCAoaSA4LTQtNC00LTEyLWZvcm1hdCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICJOeXR0IG5hbW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjgzOQorbXNnaWQgIkVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiTWF0YXIgaW4gbsOkc3RsYWQgQlNELWRpc2tldGlrZXR0LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIkFudGFsIGN5bGluZHJhciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0NAorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiQW50YWwgaHV2dWRlbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJBbnRhbCBzZWt0b3JlciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgw6RyIG1vbnRlcmFkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbW91bnRlZFxuIgorbXNnc3RyICIlcyDDpHIgaW50ZSBtb250ZXJhZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMjkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk4IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDUKKyM6IGxpYi9wYXRoLmM6MTQwIGxpYi9wYXRoLmM6MTYxIGxpYi9wYXRoLmM6MTgyIGxpYi9wYXRoLmM6MjMwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY1NQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxNCBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MjMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGxpYi9wYXRoLmM6MTYzIGxpYi9wYXRoLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAidG9sa25pbmdzZmVsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJrYW4gaW50ZSBza2FwYSBrYXRhbG9nICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIkzDpXNlciBkaXNrIGdlbm9tICVzIOKApiAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIodsOkbnRhcikgIgorCisjLiBUUkFOU0xBVE9SUzogVGhlc2UgYXJlIGZvbGxvd3VwcyB0byAiTG9ja2luZyBkaXNrLi4uIi4KKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAibHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM5MgorbXNnaWQgImZhaWxlZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICJMw6VzZXIgdXBwICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBiZXNrcml2bmluZyBmw7ZyICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogdG9sa25pbmdzZmVsIHDDpSByYWQgJWQgLS0gaG9wcGFzIMO2dmVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiZm9yayBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBrw7ZybmluZyBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAidsOkbnRhOiBpbmdhIGZsZXIgYmFybnByb2Nlc3Nlcj8hPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzg1IHN5cy11dGlscy9mbG9jay5jOjM2NCBzeXMtdXRpbHMvc3dhcG9uLmM6MzUyCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0MAorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICJ3YWl0cGlkIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICJWYXJuaW5n4oCmICVzIGbDtnIgZW5oZXQgJXMgYXZzbHV0YWRlcyBtZWQgc2lnbmFsICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlczogc3RhdHVzIMOkciAleCwgc2thIGFsZHJpZyBow6RuZGEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIkF2c2x1dGFkZSBtZWQgJXMgKGF2c2x1dG5pbmdzc3RhdHVzICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImZlbCAlZCAoJW0pIHZpZCBrw7ZybmluZyBhdiBmc2NrLiVzIGbDtnIgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEwMDIKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyJBbnRpbmdlbiBtw6VzdGUgYWxsYSBlbGxlciBpbmdhIGF2IGZpbHN5c3RlbXN0eXBlcm5hIHNvbSBhbmdlcyBmw7ZyIC10XG4iCisiZsO2cmVnw6VzIGF2IOKAnW5v4oCdIGVsbGVyIOKAnSHigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogaG9wcGFyIMO2dmVyIGZlbGFrdGlnIHJhZCBpIC9ldGMvZnN0YWI6IGJpbmQtbW9udGVyaW5nIG1lZCBmc2NrLXN0ZWdudW1tZXIgc29tIGludGUgw6RyIG5vbGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogaG9wcGFyIMO2dmVyIGVuaGV0IHNvbSBzYWtuYXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczogaWNrZS1leGlzdGVyYW5kZSBlbmhldCAoZnN0YWItZmxhZ2dhbiDigJ1ub2ZhaWzigJ0ga2FuIGFudsOkbmRhcyBmw7ZyIGF0dCBob3BwYSDDtnZlciBkZW5uYSBlbmhldClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAiJXM6IGhvcHBhciDDtnZlciBva8OkbmQgZmlsc3lzdGVtc3R5cFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgImthbiBpbnRlIGtvbnRyb2xsZXJhICVzOiBmc2NrLiVzIGhpdHRhZGVzIGludGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICJLb250cm9sbGVyYXIgYWxsYSBmaWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0tdsOkbnRhci0tIChzdGVnICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIC0tIFtmcy1mbGFnZ29yXSBbPGZpbHN5c3RlbT4g4oCmXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzkxCittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIktvbnRyb2xsZXJhIG9jaCByZXBhcmVyYSBldHQgTGludXgtZmlsc3lzdGVtLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgIGtvbnRyb2xsZXJhIGFsbGEgZmlsc3lzdGVtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtQyBbPGZkPl0gIHZpc2EgZsO2cmxvcHBzaW5kaWthdG9yOyBmaWxkZXNrcmlwdG9yIMOkciB0aWxsIGbDtnIgZ3JhZmlza2EgYW52w6RuZGFyZ3LDpG5zc25pdHRcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBsw6VzIGVuaGV0ZW4gZsO2ciBhdHQgZ2FyYW50ZXJhIGV4a2x1c2l2IMOldGtvbXN0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBrb250cm9sbGVyYSBpbnRlIG1vbnRlcmFkZSBmaWxzeXN0ZW1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgIGV4ZWt2ZXJhIGludGUsIGJhcmEgdmlzYSB2YWQgc29tIHNrdWxsZSBoYSBnam9ydHNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgLVAgICAgICAgICBrb250cm9sbGVyYSBmaWxzeXN0ZW0gcGFyYWxsZWxsdCwgaW5rbHVzaXZlIHJvdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAwCittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICBob3BwYSDDtnZlciByb3RmaWxzeXN0ZW1ldDsgZW5kYXN0IG1lbmluZ3NmdWxsIG1lZCDigJ0tQeKAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAxCittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisiIC1yIFs8ZmQ+XSAgcmFwcG9ydGVyYSBzdGF0aXN0aWsgZsO2ciB2YXJqZSBrb250cm9sbGVyYWQgZW5oZXQ7XG4iCisiICAgICAgICAgICAgZmlsZGVza3JpcHRvciDDpHIgdGlsbCBmw7ZyIGdyYWZpc2thIGFudsOkbmRhcmdyw6Ruc3NuaXR0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDMKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgc2VyaWFsaXNlcmEga29udHJvbGzDpXRnw6RyZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICB2aXNhIGludGUgdGl0ZWwgdmlkIHN0YXJ0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0eXA+ICAgYW5nZSBmaWxzeXN0ZW1zdHlwZXIgc29tIHNrYSBrb250cm9sbGVyYXM7XG4iCisiICAgICAgICAgICAgPHR5cD4gZsOlciB2YXJhIGVuIGtvbW1hc2VwYXJlcmFkIGxpc3RhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICBmw7Zya2xhcmEgdmFkIHNvbSBow6RuZGVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MTMKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICJTZSBkZSBzcGVjaWZpa2EgZnNjay4qLWtvbW1hbmRvbmEgZsO2ciB0aWxsZ8OkbmdsaWdhIGZzLWZsYWdnb3IuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYwCittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAiYWxsdCBmw7ZyIG3DpW5nYSBlbmhldGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcyCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIsOEciAvcHJvYyBtb250ZXJhdD8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAibcOlc3RlIHZhcmEgcm9vdCBmw7ZyIGF0dCBsZXRhIGVmdGVyIG1hdGNoYW5kZSBmaWxzeXN0ZW06ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgImt1bmRlIGludGUgaGl0dGEgbWF0Y2hhbmRlIGZpbHN5c3RlbTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAiYWxsdCBmw7ZyIG3DpW5nYSBhcmd1bWVudCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgZsO2ciAtciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiZmxhZ2dhbiDigJ0lc+KAnSBrYW4gZW5kYXN0IGFuZ2VzIGVuIGfDpW5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiZmxhZ2dhIOKAnSVz4oCdIGtyw6R2ZXIgZXR0IGFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCBmw7ZyIC1yOiAlZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTY0MworbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICJmbGFnZ2FuIC1sIGthbiBlbmRhc3QgYW52w6RuZGFzIG1lZCBlbiBlbmhldCAtLSBob3BwYXIgw7Z2ZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8ZmlsPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE0Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIktvbnRyb2xsZXJhIG9jaCByZXBhcmVyYSBldHQga29tcHJpbWVyYXQgUk9NLWZpbHN5c3RlbS5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgICBlbmRhc3QgZsO2ciBrb21wYXRpYmlsaXRldCwgaG9wcGFzIMO2dmVyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICB2YXIgdXRmw7ZybGlnYXJlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTkKK21zZ2lkICIgLXkgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC15ICAgICAgICAgICAgICAgICAgICAgICAgZW5kYXN0IGbDtnIga29tcGF0aWJpbGl0ZXQsIGhvcHBhcyDDtnZlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDxzdG9ybGVrPiBhbnbDpG5kIGRlbm5hIGJsb2Nrc3Rvcmxlaywgc3RhbmRhcmR2w6RyZGV0IMOkciBzaWRzdG9ybGVrZW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMQorbXNnaWQgIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIgICAgIC0tZXh0cmFjdFs9PGthdD5dICAgICB0ZXN0YSBkZWtvbXByaW1lcmluZywgZXh0cmFoZXJhIHZhbGZyaXR0IHRpbGwgPGthdD5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCBtaXNzbHlja2FkZXM6IGt1bmRlIGludGUgYXZnw7ZyYSBlbmhldHNzdG9ybGVrOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgImluZ2VuIGJsb2NrZW5oZXQgZWxsZXIgZmlsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAzCittc2dpZCAiZmlsZSBsZW5ndGggdG9vIHNob3J0IgorbXNnc3RyICJmaWxsw6RuZ2RlbiDDpHIgZsO2ciBrb3J0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc2IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTEgbGliZmRpc2svc3JjL2JzZC5jOjcxNyBsaWJmZGlzay9zcmMvYnNkLmM6ODkyCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjAzIGxvZ2luLXV0aWxzL2xhc3QuYzoyMzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAic8O2a25pbmcgcMOlICVzIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg0Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgInN1cGVyYmxvY2tzaWduYXR1ciBoaXR0YWRlcyBpbnRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImNyYW1mcyBlbmRpYW5uZXNzIMOkciAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJiaWciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgImxpdHRsZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgImZpbHN5c3RlbXNmdW5rdGlvbmVyIHN0w7ZkcyBpbnRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAic3VwZXJibG9ja3NzdG9ybGVrICglZCkgw6RyIGbDtnIgbGl0ZW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDEKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgImFudGFsIG5vbGxmaWxlciIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICJmaWxlbiBzdHLDpGNrZXIgc2lnIGbDtnJiaSBzbHV0ZXQgcMOlIGZpbHN5c3RlbWV0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA3Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImdhbW1hbHQgY3JhbWZzLWZvcm1hdCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImthbiBpbnRlIHRlc3RhIENSQzogZ2FtbWFsdCBjcmFtZnMtZm9ybWF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSB0eXBlc2NyaXB0LWZpbCAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3NAorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAiY3JjLWZlbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAic8O2a25pbmcgbWlzc2x5Y2thZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA4Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgImzDpHNuaW5nIGF2IHJvbWZzIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAicm90LWlub2RlbiDDpHIgaW50ZSBlbiBrYXRhbG9nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiZmVsYWt0aWcgcm90cG9zaXRpb24gKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAiZGF0YWJsb2NrIGbDtnIgc3RvcnQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImRla29tcHJpbWVyaW5nc2ZlbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGjDpWwgdmlkICVsdSAoJXp1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICBkZWtvbXByaW1lcmFyIGJsb2NrIHZpZCAlbHUgdGlsbCAlbHUgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgImlja2UtYmxvY2sgKCVsZCkgYnl0ZSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgImlja2Utc3RvcmxlayAoJWxkIHZlcnN1cyAlbGQpIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxOAorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDkgbWlzYy11dGlscy91dWlkZC5jOjM2NiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NDA4CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTUxIHN5cy11dGlscy9zZXRwcml2LmM6NjIwIHN5cy11dGlscy9zZXRwcml2LmM6NjQzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzkzIHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgInNrcml2bmluZyBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24gbWlzc2x5Y2thZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJjaG93biBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIG1pc3NseWNrYWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImthdGFsb2ctaW5vZCBoYXIgcG9zaXRpb24gbm9sbCBvY2ggc3RvcmxlayBzb20gaW50ZSDDpHIgbm9sbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIgbWlzc2x5Y2thZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJmaWxuYW1uc2zDpG5nZCDDpHIgbm9sbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgImZlbGFrdGlnIGZpbG5hbW5zbMOkbmdkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAiZmVsYWt0aWcgaW5vZHNzdG9ybGVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImZpbC1pbm9kIGhhciBwb3NpdGlvbiBub2xsIG9jaCBzdG9ybGVrIHNvbSBpbnRlIMOkciBub2xsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImZpbC1pbm9kIGhhciBzdG9ybGVrIG5vbGwgb2NoIHBvc2l0aW9uIHNvbSBpbnRlIMOkciBub2xsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgInN5bWJvbGlzayBsw6RuayBoYXIgcG9zaXRpb24gc29tIMOkciBub2xsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJzeW1ib2xpc2sgbMOkbmsgaGFyIHN0b3JsZWsgbm9sbCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJzdG9ybGVrc2ZlbCBpIHN5bWJvbGlzayBsw6RuazogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICJzeW1saW5rIG1pc3NseWNrYWRlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICJzcGVjaWFsZmlsIGhhciBwb3NpdGlvbiBzb20gaW50ZSDDpHIgbm9sbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImZpZm8gaGFyIHN0b3JsZWsgc29tIGludGUgw6RyIG5vbGw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgInV0dGFnIGhhciBzdG9ybGVrIHNvbSBpbnRlIMOkciBub2xsOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICJmZWxha3RpZ3QgbMOkZ2U6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgbWlzc2x5Y2thZGVzOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJrYXRhbG9nZGF0YWLDtnJqYW4gKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBiw7ZyamFuICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImthdGFsb2dkYXRhc2x1dCAoJWx1KSAhPSBmaWxkYXRhYsO2cmphbiAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAib2dpbHRpZyBmaWxkYXRhcG9zaXRpb24iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCB0aWxsIGJsb2Nrc3RvcmxlayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IE9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIktvbnRyb2xsZXJhciBNaW5peC1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICBsaXN0YSBhbGxhIGZpbG5hbW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg4Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgYXV0b21hdGljIHJlcGFpclxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aXNrIHJlcGFyYXRpb25cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWt0aXYgcmVwYXJhdGlvblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIHZhciB1dGbDtnJsaWdcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zdXBlciAgICAgIG1hdGEgdXQgaW5mb3JtYXRpb24gb20gc3VwZXJibG9ja1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgIGFrdGl2ZXJhIGzDpGdldCDigJ1pbnRlIHJlbnNhdCB2YXJuaW5nYXLigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkzCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgdHZpbmdhIGtvbnRyb2xsXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKHkvbik/ICIKK21zZ3N0ciAiJXMgKGovbik/ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiVzIChuL2opPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgImpcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIMOkciBtb250ZXJhZC5cdCAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAiVmlsbCBkdSB2ZXJrbGlnZW4gZm9ydHPDpHR0YSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgImtvbnRyb2xsIGF2YnJ1dGVuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9ubnVtbWVyIDwgRklSU1RaT05FIGkgZmlsZW4g4oCdJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiWm9ubnVtbWVyID49IFpPTkVTIGkgZmlsZW4g4oCdJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICJUYSBib3J0IGJsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkzDpHNmZWw6IGthbiBpbnRlIHPDtmthIHRpbGwgYmxvY2tldCBpIGZpbGVuIOKAnSVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkzDpHNmZWw6IGZlbGFrdGlndCBibG9jayBpIGZpbGVuIOKAnSVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkludGVybnQgZmVsOiBmw7Zyc8O2a2VyIGF0dCBza3JpdmEgZmVsYWt0aWd0IGJsb2NrXG4iCisiU2tyaXZiZWfDpHJhbiBpZ25vcmVyYXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgInPDtmtuaW5nIG1pc3NseWNrYWRlcyBpIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiU2tyaXZmZWw6IGZlbGFrdGlndCBibG9jayBpIGZpbGVuIFwiJXNcIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIlZhcm5pbmc6IGJsb2NrIHV0YW5mw7ZyIGludGVydmFsbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAic8O2a25pbmcgbWlzc2x5Y2thZGVzIGkgd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAia2FuIGludGUgc2tyaXZhIHN1cGVyYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIkthbiBpbnRlIHNrcml2YSBpbm9kc3RhYmVsbCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJLYW4gaW50ZSBza3JpdmEgem9udGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MzIKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJLYW4gaW50ZSBza3JpdmEgaW5vZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJrYW4gaW50ZSBhbGxva2VyYSBidWZmZXJ0IGbDtnIgc3VwZXJibG9jayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY3Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgImthbiBpbnRlIGzDpHNhIHN1cGVyYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImZlbGFrdGlnIG1hZ2lzayBzaWZmcmEgaSBzdXBlcmJsb2NrZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MQorbXNnaWQgIk9ubHkgMWsgYmxvY2tzL3pvbmVzIHN1cHBvcnRlZCIKK21zZ3N0ciAiRW5kYXN0IDEga0Igc3RvcmEgYmxvY2svem9uZXIgc3TDtmRzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTMKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJmZWxha3RpZ3Qgc19uaW5vZGVzLWbDpGx0IGkgc3VwZXJibG9ja2V0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiZmVsYWt0aWd0IHNfaW1hcF9ibG9ja3MtZsOkbHQgaSBzdXBlcmJsb2NrZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5NworbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgImZlbGFrdGlndCBzX2ZpcnN0ZGF0YXpvbmUtZsOkbHQgaSBzdXBlcmJsb2NrZXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJmZWxha3RpZ3Qgc196bWFwX2Jsb2Nrcy1mw6RsdCBpIHN1cGVyYmxvY2tldCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJLYW4gaW50ZSBhbGxva2VyYSBidWZmZXJ0IGbDtnIgaW5vZHN0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJLYW4gaW50ZSBhbGxva2VyYSBidWZmZXJ0IGbDtnIgem9ua2FydGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiS2FuIGludGUgYWxsb2tlcmEgYnVmZmVydCBmw7ZyIGlub2RlciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI1Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgY291bnQiCittc2dzdHIgIkthbiBpbnRlIGFsbG9rZXJhIGJ1ZmZlcnQgZsO2ciBpbm9kc3LDpGtuYXJlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjgKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJLYW4gaW50ZSBhbGxva2VyYSBidWZmZXJ0IGbDtnIgem9ucsOka25hcmUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzMgorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlIG1hcCIKK21zZ3N0ciAiS2FuIGludGUgbMOkc2EgaW5vZHN0YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJLYW4gaW50ZSBsw6RzYSB6b250YWJlbGwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiS2FuIGludGUgbMOkc2EgaW5vZGVyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIlZhcm5pbmc6IFwiRmlyc3R6b25lXCIgIT0gXCJOb3JtX2ZpcnN0em9uZVwiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpbm9kZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIGJsb2NrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRsO2cnN0YWRhdGF6b249JWpkICglamQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lZFxuIgorbXNnc3RyICJab25zdG9ybGVrPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJNYXhpbWFsIHN0b3JsZWs9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIHN0YXRlPSVkXG4iCittc2dzdHIgIkZpbHN5c3RlbXN0aWxsc3TDpW5kPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIm5hbW5sZ2Q9JXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJJbm9kICVkIMOkciBtYXJrZXJhZCBzb20gb2FudsOkbmQsIG1lbiBhbnbDpG5kcyBmw7ZyIGZpbGVuIOKAnSVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiTcOkcmsgc29tIGFudsOkbmQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIkZpbGVuIOKAnSVz4oCdIGhhciByw6R0dGlnaGV0ZXJuYSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiVmFybmluZzogYW50YWxldCBpbm9kZXIgw6RyIGbDtnIgc3RvcnQuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICJyb3QtaW5vZGVuIMOkciBpbnRlIGVuIGthdGFsb2ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJCbG9ja2V0IGhhciBhbnbDpG50cyB0aWRpZ2FyZS4gTnUgaSBmaWxlbiDigJ0lc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIlTDtm0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgJWQgaW4gZmlsZSBgJXMnIGlzIG1hcmtlZCBub3QgaW4gdXNlLiIKK21zZ3N0ciAiQmxvY2sgJWQgaSBmaWxlbiDigJ0lc+KAnSDDpHIgbWFya2VyYXQgc29tIG9hbnbDpG50LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNgorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIktvcnJpZ2VyYSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICJLYXRhbG9nZW4g4oCdJXPigJ0gaW5uZWjDpWxsZXIgZXR0IGZlbGFrdGlndCBpbm9kc251bW1lciBmw7ZyIGZpbGVuIOKAnSUuKnPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiBUYSBib3J0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBmZWxha3RpZyBrYXRhbG9nOiDigJ0u4oCdIGtvbW1lciBpbnRlIGbDtnJzdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IGZlbGFrdGlnIGthdGFsb2c6IOKAnS4u4oCdIGtvbW1lciBpbnRlIHDDpSBhbmRyYSBwbGF0c1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiaW50ZXJudCBmZWwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczogZmVsYWt0aWcga2F0YWxvZzogc3RvcmxlayA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogZmVsYWt0aWcga2F0YWxvZzogb2dpbHRpZyBpX3pvbmUsIGFudsOkbmQgLS1yZXBhaXIgZsO2ciBhdHQgZml4YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgInPDtmtuaW5nIG1pc3NseWNrYWRlcyBpIGJhZF96b25lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJJbm9kICVsdSDDpHIgaW50ZSB0w7ZtZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxMworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbm90IHVzZWQsIG1hcmtlZCB1c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kICVsdSDDpHIgb2FudsOkbmQsIG1hcmtlcmFkIHNvbSBhbnbDpG5kIGkgYml0dGFiZWxsZW4uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2QgJWx1IMOkciBhbnbDpG5kLCBtYXJrZXJhZCBzb20gb2FudsOkbmQgaSBiaXR0YWJlbGxlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiU3TDpGxsIGluIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiSW5vZCAlbHUgKHLDpHR0aWdoZXQgPSAlMDdvKSwgaV9ubGlua3M9JWQsIHLDpGtuYWRlPSVkLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE3MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI3Cittc2dpZCAiU2V0IGlfbmxpbmtzIHRvIGNvdW50IgorbXNnc3RyICJTdMOkbGwgaV9ubGlua3MgdGlsbCByw6RrbmF0IGFudGFsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIlpvbiAlbHU6IG1hcmtlcmFkIHNvbSBhbnbDpG5kLCBpbmdlbiBmaWwgYW52w6RuZGVyIGRlbi4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAiQXZtYXJrZXJhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICJab24gJWx1OiBhbnbDpG5kcywgcsOka25hZGU9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIlpvbiAlbHU6IGFudsOkbmRzIGludGUsIHLDpGtuYWRlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyOTkKK21zZ2lkICJiYWQgaW5vZGUgc2l6ZSIKK21zZ3N0ciAiZmVsYWt0aWcgc3RvcmxlayBww6UgaW5vZCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMwMQorbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJmZWxha3RpZyBzdG9ybGVrIHDDpSB2Mi1pbm9kIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiYmVow7Z2ZXIgdGVybWluYWwgZsO2ciBpbnRlcmFrdGl2YSByZXBhcmF0aW9uZXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiJXMgw6RyIHJlbnQsIGluZ2VuIGtvbnRyb2xsLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiVHZpbmdhciBmaWxzeXN0ZW1za29udHJvbGwgcMOlICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJGaWxzeXN0ZW1ldCBww6UgJXMgw6RyIHNtdXRzaWd0LCBiZWjDtnZlciBrb250cm9sbC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGlub2RlciBhbnbDpG5kcyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCB6b25lciBhbnbDpG5kcyAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2ZCByZWd1bGFyIGZpbGVzXG4iCisiJTZkIGRpcmVjdG9yaWVzXG4iCisiJTZkIGNoYXJhY3RlciBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgYmxvY2sgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGxpbmtzXG4iCisiJTZkIHN5bWJvbGljIGxpbmtzXG4iCisiLS0tLS0tXG4iCisiJTZkIGZpbGVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmQgdmFubGlnYSBmaWxlclxuIgorIiU2ZCBrYXRhbG9nZXJcbiIKKyIlNmQgdGVja2VuZW5oZXRzZmlsZXJcbiIKKyIlNmQgYmxvY2tlbmhldHNmaWxlclxuIgorIiU2ZCBsw6Rua2FyXG4iCisiJTZkIHN5bWJvbGlza2EgbMOkbmthclxuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMU1lTVEVNRVQgSEFSIMOETkRSQVRTXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQzMiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MzgKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTQxIGRpc2stdXRpbHMvcGFydHguYzoxMDU4IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExNAorIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjQwMAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozOTEgc3lzLXV0aWxzL2RtZXNnLmM6NjYxIHN5cy11dGlscy93ZGN0bC5jOjM0NworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDEyIHRlcm0tdXRpbHMvc2NyaXB0LmM6Mjk4IHRlcm0tdXRpbHMvc2NyaXB0LmM6Mzc1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODcgdGV4dC11dGlscy9wZy5jOjEyNTYKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgInNrcml2bmluZyBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogw6RyIGthbnNrZSBpbnRlIGV0dCBJU08tZmlsc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgImzDpHNmZWwgcMOlICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgInNla3RvcmFudGFsOiAlZCwgc2VrdG9yc3RvcmxlazogJWRcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPGlzby05NjYwX2F2YmlsZG5pbmdzZmlsPiDigKZcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlZpc2EgbMOkbmdkZW4gZsO2ciBldHQgSVNPLTk2NjAtZmlsc3lzdGVtLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTUKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIC1kLCAtLWRpdmlzb3I9PG51bW1lcj4gIGRpdmlkZXJhIGFudGFsZXQgYnl0ZSBtZWQgPG51bW1lcj5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICB2aXNhIGFudGFsIHNla3RvcmVyIG9jaCBzdG9ybGVrXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE4NworbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgbsOkbW5hcmFyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJBbnbDpG5kbmluZzogJXMgW2ZsYWdnb3JdIGVuaGV0IFthbnRhbC1ibG9ja11cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc4Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlRpbGx2ZXJrYSBldHQgU0NPIGJmcy1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJGbGFnZ29yOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIGFuZ2Ugw7Zuc2thdCBhbnRhbCBpbm9kZXJcbiIKKyIgLVYsIC0tdm5hbWU9TkFNTiAgICBhbmdlIHZvbHltbmFtblxuIgorIiAtRiwgLS1mbmFtZT1OQU1OICAgIGFuZ2UgZmlsc3lzdGVtc25hbW5cbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBmw7Zya2xhcmEgdmFkIHNvbSBow6RuZGVyXG4iCisiIC1jICAgICAgICAgICAgICAgICAgZGVubmEgZmxhZ2dhIGhvcHBhcyDDtnZlciB1dGFuIG1lZGRlbGFuZGVcbiIKKyIgLWwgICAgICAgICAgICAgICAgICBkZW5uYSBmbGFnZ2EgaG9wcGFzIMO2dmVyIHV0YW4gbWVkZGVsYW5kZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJvZ2lsdGlndCBhbnRhbCBpbm9kZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAidm9seW1uYW1uZXQgw6RyIGbDtnIgbMOlbmd0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImZpbHN5c3RlbXNuYW1uZXQgw6RyIGbDtnIgbMOlbmd0IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk2Cittc2dpZCAiaW52YWxpZCBibG9jay1jb3VudCIKK21zZ3N0ciAib2dpbHRpZ3QgYW50YWwgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgc3Rvcmxla2VuIHDDpSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYmxvY2thcmd1bWVudGV0IMOkciBmw7ZyIHN0b3J0LCBtYXggw6RyICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJmw7ZyIG3DpW5nYSBpbm9kZXIgLSBtYXggw6RyIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJpbnRlIHRpbGxyw6Rja2xpZ3QgbWVkIHV0cnltbWUsIGJlaMO2dmVyIG1pbnN0ICVsbHUgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlOiAlc1xuIgorbXNnc3RyICJFbmhldDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJWb2x5bTogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiRmlsc3lzdGVtc25hbW46IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiQmxvY2tzdG9ybGVrOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbm9kZXI6ICVsZCAoaSAxIGJsb2NrKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGVyOiAlbGQgKGkgJWxsdSBibG9jaylcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxvY2s6ICVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZHNzbHV0OiAlZCwgZGF0YXNsdXQ6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgImZlbCB2aWQgc2tyaXZuaW5nIGF2IHN1cGVyYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImZlbCB2aWQgc2tyaXZuaW5nIGF2IHJvdC1pbm9kIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAiZmVsIHZpZCBza3Jpdm5pbmcgYXYgaW5vZCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MQorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgInPDtmtmZWwiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyOTcKK21zZ2lkICJlcnJvciB3cml0aW5nIC4gZW50cnkiCittc2dzdHIgImZlbCB2aWQgc2tyaXZuaW5nIGF2IOKAnS7igJ0tcG9zdCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwMQorbXNnaWQgImVycm9yIHdyaXRpbmcgLi4gZW50cnkiCittc2dzdHIgImZlbCB2aWQgc2tyaXZuaW5nIGF2IOKAnS4u4oCdLXBvc3QiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiZmVsIHZpZCBzdMOkbmduaW5nIGF2ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFstdCA8dHlwPl0gW2ZpbHN5c3RlbXNmbGFnZ29yXSA8ZW5oZXQ+IFs8c3Rvcmxlaz5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlNrYXBhIGV0dCBMaW51eC1maWxzeXN0ZW0uXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGU9PHR5cD4gICBmaWxzeXN0ZW1zdHlwOyBuw6RyIGludGUgYW5naXZlbiBhbnbDpG5kcyBleHQyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldHJhciBmw7ZyIGRlbiByaWt0aWdhIGZpbHN5c3RlbXNieWdnYXJlblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiAgICAgPGVuaGV0PiAgICAgICAgc8O2a3bDpGcgdGlsbCBlbmhldGVuIHNvbSBza2EgYW52w6RuZGFzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8c3Rvcmxlaz4gICAgICBhbnRhbCBibG9jayBzb20gc2thIGFudsOkbmRhcyBmcsOlbiBlbmhldGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGbDtnJrbGFyYSB2YWQgc29tIGjDpG5kZXI7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIG9tIC1WIGFuZ2VzIG1lciDDpG4gZW4gZ8Olbmcga29tbWVyIGRldCBhdHQgb3JzYWthIGVuIHRlc3Rrw7ZybmluZ1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBrw7ZyYSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisidXNhZ2U6ICVzIFstaF0gWy12XSBbLWIgYmxrc2l6ZV0gWy1lIGVkaXRpb25dIFstTiBlbmRpYW5dIFstaSBmaWxlXSBbLW4gbmFtZV0gZGlybmFtZSBvdXRmaWxlXG4iCisiIC12ICAgICAgICAgYmUgdmVyYm9zZVxuIgorIiAtRSAgICAgICAgIG1ha2UgYWxsIHdhcm5pbmdzIGVycm9ycyAobm9uLXplcm8gZXhpdCBzdGF0dXMpXG4iCisiIC1iIGJsa3NpemUgdXNlIHRoaXMgYmxvY2tzaXplLCBtdXN0IGVxdWFsIHBhZ2Ugc2l6ZVxuIgorIiAtZSBlZGl0aW9uIHNldCBlZGl0aW9uIG51bWJlciAocGFydCBvZiBmc2lkKVxuIgorIiAtTiBlbmRpYW4gIHNldCBjcmFtZnMgZW5kaWFubmVzcyAoYmlnfGxpdHRsZXxob3N0KSwgZGVmYXVsdCBob3N0XG4iCisiIC1pIGZpbGUgICAgaW5zZXJ0IGEgZmlsZSBpbWFnZSBpbnRvIHRoZSBmaWxlc3lzdGVtXG4iCisiIC1uIG5hbWUgICAgc2V0IG5hbWUgb2YgY3JhbWZzIGZpbGVzeXN0ZW1cbiIKKyIgLXAgICAgICAgICBwYWQgYnkgJWQgYnl0ZXMgZm9yIGJvb3QgY29kZVxuIgorIiAtcyAgICAgICAgIHNvcnQgZGlyZWN0b3J5IGVudHJpZXMgKG9sZCBvcHRpb24sIGlnbm9yZWQpXG4iCisiIC16ICAgICAgICAgbWFrZSBleHBsaWNpdCBob2xlc1xuIgorIiBkaXJuYW1lICAgIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgY29tcHJlc3NlZFxuIgorIiBvdXRmaWxlICAgIG91dHB1dCBmaWxlXG4iCittc2dzdHIgIiIKKyJhbnbDpG5kbmluZzogJXMgWy1oXSBbLXZdIFstYiBibGtzdHJsXSBbLWUgdXRnw6V2YV0gWy1OIGVuZGlhbl0gWy1pIGZpbF0gWy1uIG5hbW5dIGthdG5hbW4gdXRmaWxcbiIKKyIgLXYgICAgICAgICB2YXIgdXRmw7ZybGlnXG4iCisiIC1FICAgICAgICAgZ8O2ciBhbGxhIHZhcm5pbmdhciB0aWxsIGZlbCAoYXZzbHV0bmluZ3NzdGF0dXMgaW50ZSBub2xsKVxuIgorIiAtYiBibGtzdHJsIGFudsOkbmQgZGVubmEgYmxvY2tzdG9ybGVrLCBtw6VzdGUgdmFyYSBsaWthIG1lZCBzaWRzdG9ybGVrXG4iCisiIC1lIHV0Z8OldmEgIHN0w6RsbCBpbiBlZGl0aW9uc251bW1lciAoZGVsIGF2IGZzaWQpXG4iCisiLU4gZW5kaWFuICAgc3TDpGxsIGluIGVuZGlhbiBmw7ZyIGNyYW1mcyAoYmlnfGxpdHRsZXxob3N0KSwgc3RhbmRhcmR2w6RyZGV0IMOkciBob3N0XG4iCisiIC1pIGZpbCAgICAgaW5mb2dhIGVuIGZpbGF2YmlsZCBpIGZpbHN5c3RlbWV0XG4iCisiIC1uIG5hbW4gICAgc3TDpGxsIGluIG5hbW5ldCBww6UgY3JhbWZzLWZpbHN5c3RlbWV0XG4iCisiIC1wICAgICAgICAgZnlsbCB1dCBtZWQgJWQgYnl0ZSBmw7ZyIHN0YXJ0a29kXG4iCisiIC1zICAgICAgICAgc29ydGVyYSBrYXRhbG9ncG9zdGVyIChnYW1tYWwgZmxhZ2dhLCBpZ25vcmVyYWQpXG4iCisiIC16ICAgICAgICAgc2thcGEgZXhwbGljaXRhIGjDpWxcbiIKKyIga2F0bmFtbiAgICByb3QgZsO2ciBmaWxzeXN0ZW1ldCBzb20gc2thIGtvbXByaW1lcmFzXG4iCisiIHV0ZmlsICAgICAgdXRkYXRhZmlsXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAicmVhZGxpbmsgbWlzc2x5Y2thZGVzOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgImt1bmRlIGludGUgbMOkc2Ega2F0YWxvZyAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICJmaWxzeXN0ZW1ldCDDpHIgZsO2ciBzdG9ydC4gQXZzbHV0YXIuIgorCisjIMK3IChjZW50ZXJlZCBkb3QpIGlzIG5vcm1hbGx5IHVzZWQgYXMgdGhlIG11bHRpcGxpY2F0aW9uIHNpZ24gaW4gU3dlZGlzaC4KKyMgU2VlICJTdmVuc2thIHNrcml2cmVnbGVyIiDCpzI2MC4KKyMKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICJBSUVFRTogYmxvY2sg4oCda29tcHJpbWVyYXTigJ0gdGlsbCA+IDIqYmxvY2tsw6RuZ2QgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAia2FuIGludGUgc3TDpG5nYSBmaWwgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBudW1tZXIgdGlsbCBlZGl0aW9uc2FyZ3VtZW50IgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICJvZ2lsdGlnIGJ5dGVvcmRuaW5nIGFuZ2l2ZW47IG3DpXN0ZSB2YXJhIOKAnWJpZ+KAnSwg4oCdbGl0dGxl4oCdIGVsbGVyIOKAnWhvc3TigJ0iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICJ2YXJuaW5nOiB1cHBza2F0dG5pbmcgYXYgYmVnw6RyZCBzdG9ybGVrICjDtnZyZSBncsOkbnMpIMOkciAlbGxkTUIsIG1lbiBtYXhpbWFsIGF2YmlsZHNzdG9ybGVrIMOkciAldU1CLiBWaSBrYW4gZMO2IGkgZsO2cnRpZC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJST00tYXZiaWxkc2thcnRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAiSW5rbHVzaXZlOiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpcmVjdG9yeSBkYXRhOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiS2F0YWxvZ2RhdGE6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXZlcnl0aGluZzogJXpkIGtpbG9ieXRlc1xuIgorbXNnc3RyICJBbGx0aW5nOiAlemQga2lsb2J5dGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIlN1cGVyYmxvY2s6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiaW50ZSB0aWxscsOkY2tsaWd0IG1lZCB1dHJ5bW1lIGFsbG9rZXJhdCBmw7ZyIFJPTS1hdmJpbGQgKCVsbGQgYWxsb2tlcmF0LCAlenUgYW52w6RudCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIlNrcml2bmluZyBhdiBST00tYXZiaWxkIG1pc3NseWNrYWRlcyAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIlJPTS1hdmJpbGQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgInZhcm5pbmc6IGZpbG5hbW4gYXZrb3J0YWRlIHRpbGwgJXUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgInZhcm5pbmc6IGZpbGVyIGhvcHBhZGVzIMO2dmVyIHDDpSBncnVuZCBhdiBmZWwuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAidmFybmluZzogZmlsc3Rvcmxla2FyIGF2a29ydGFkZSB0aWxsICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ2YXJuaW5nOiB1aWQgYXZrb3J0YWRlIHRpbGwgJXUgYml0YXIuIChEZXR0YSBrYW4gdmFyYSBldHQgc8Oka2VyaGV0c3Byb2JsZW0uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ2YXJuaW5nOiBnaWQgYXZrb3J0YWRlIHRpbGwgJXUgYml0YXIuIChEZXR0YSBrYW4gdmFyYSBldHQgc8Oka2VyaGV0c3Byb2JsZW0uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiVkFSTklORzogZW5oZXRzbnVtbWVyIGF2a29ydGFkZSB0aWxsICV1IGJpdGFyLiBEZXR0YSBiZXR5ZGVyIG1lZCBzdMO2cnN0YVxuIgorInNhbm5vbGlraGV0IGF0dCBlbiBkZWwgZW5oZXRzZmlsZXIga29tbWVyIGF0dCB2YXJhIGZlbGFrdGlnYS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIC9kZXYvbmFtbiBbYmxvY2tdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICBhbnbDpG5kIE1pbml4IHZlcnNpb24gMVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAgYW52w6RuZCBNaW5peCB2ZXJzaW9uIDJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCittc2dpZCAiIC0zICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDNcbiIKK21zZ3N0ciAiIC0zICAgICAgICAgICAgICAgICAgICAgIGFudsOkbmQgTWluaXggdmVyc2lvbiAzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltYWwgbMOkbmdkIGbDtnIgZmlsbmFtblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDQKK21zZ2lkICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgbnVtYmVyIG9mIGlub2RlcyBmb3IgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIGFudGFsIGlub2RlciBmw7ZyIGZpbHN5c3RlbWV0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBrb250cm9sbGVyYSBlZnRlciBkw6VsaWdhIGJsb2NrIHDDpSBlbmhldGVuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiAtbCwgLS1iYWRibG9ja3MgPGZpbD4gICBsaXN0YSDDtnZlciBkw6VsaWdhIGJsb2NrIGZyw6VuIGZpbFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHPDtmtuaW5nIHRpbGwgc3RhcnRibG9jayBtaXNzbHlja2FkZXMgaSB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczoga2FuIGludGUgdMO2bW1hIHN0YXJ0c2VrdG9yIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6IHPDtmtuaW5nIG1pc3NseWNrYWRlcyBpIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBrYW4gaW50ZSBza3JpdmEgc3VwZXJibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczoga2FuIGludGUgc2tyaXZhIGlub2RzdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIHNrcml2YSB6b25rYXJ0YSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIlczoga2FuIGludGUgc2tyaXZhIGlub2RlciIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHPDtmtuaW5nIG1pc3NseWNrYWRlcyBpIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IHNrcml2bmluZyBtaXNzbHlja2FkZXMgaSB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogYWxsdCBmw7ZyIG3DpW5nYSBmZWxha3RpZ2EgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGludGUgdGlsbHLDpGNrbGlndCBtZWQga29ycmVrdGEgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyJGw7Zyc3RhIGRhdGFibG9jayB2aWQgJWpkLCB2aWxrZXQgw6RyIGF0dCBmw7ZyIGzDpW5ndCAobWF4ICVkKS5cbiIKKyJQcm92YSBhdHQgc3BlY2lmaWNlcmEgZsOkcnJlIGlub2RlciBnZW5vbSBhbmdlIC0taW5vZGVzIDxudW0+IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWx1IGlub2RcbiIKK21zZ3N0clsxXSAiJWx1IGlub2RlclxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IGJsb2NrXG4iCittc2dzdHJbMV0gIiVsdSBibG9ja1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIlpvbnN0b3JsZWs9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIk1heHN0b3JsZWs9JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczogc8O2a25pbmcgbWlzc2x5Y2thZGVzIHVuZGVyIHRlc3QgYXYgYmxvY2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiS29uc3RpZ2EgdsOkcmRlbiBpIGRvX2NoZWNrOiB0cm9saWd0dmlzIHByb2dyYW1mZWxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiBzw7ZrbmluZyBtaXNzbHlja2FkZXMgaSBjaGVja19ibG9ja3MiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IGZlbGFrdGlnYSBibG9jayBmw7ZyZSBkYXRhb21yw6VkZToga2FuIGludGUgc2thcGEgZmlsc3lzdGVtIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGZlbGFrdGlndCBibG9ja1xuIgorbXNnc3RyWzFdICIlZCBmZWxha3RpZ2EgYmxvY2tcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIMO2cHBuYSBmaWwgbWVkIGZlbGFrdGlnYSBibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgImZlbGFrdGlndCBudW1tZXIgZsO2ciBkw6VsaWd0IGJsb2NrIHDDpSByYWQgJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpHNhIGZpbCBtZWQgZmVsYWt0aWdhIGJsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgImJsb2Nrc3RvcmxlayBtaW5kcmUgw6RuIGZ5c2lzayBzZWt0b3JzdG9ybGVrIGbDtnIgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImthbiBpbnRlIGF2Z8O2cmEgc3RvcmxlayBmw7ZyICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiJXM6IGJlZ8OkcnQgYW50YWwgYmxvY2sgKCVsbHUpIMO2dmVyc3RpZ2VyIGFudGFsZXQgdGlsbGfDpG5nbGlnYSAoJWxsdSkgYmxvY2tcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGFudGFsIGJsb2NrIGbDtnIgbGl0ZXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICJuYW1ubMOkbmdkIHN0w7ZkcyBlajogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAidmVyc2lvbiBhdiBtaW5peC1maWxzeXN0ZW0gc3TDtmRzIGludGU6ICVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IMOkciB0dmV0eWRpZ3QsIGFudsOkbmQg4oCdLTLigJ0gaXN0w6RsbGV0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBtYXhpbWFsIGzDpG5nZCBmw7ZyIGZpbG5hbW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBhbnRhbCBpbm9kZXIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBhbnRhbCBibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDDpHIgbW9udGVyYWQ7IGtvbW1lciBpbnRlIGF0dCBza2FwYSBldHQgZmlsc3lzdGVtIGjDpHIhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIkFudsOkbmRhcmRlZmluaWVyYWQgc2lkc3RvcmxlayAldSDDpHIgZmVsYWt0aWciCisKKyMgc2VicmFzOiBzaG91bGRuJ3QgdGhpcyBiZSAldT8gaXQgaXMgJXUgaW4gIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAlZCwgaW5zdGVhZCBvZiB0aGUgc3lzdGVtIHZhbHVlICVkIgorbXNnc3RyICJBbnbDpG5kZXIgYW52w6RuZGFyZGVmaW5pZXJhZCBzaWRzdG9ybGVrICVkIGlzdMOkbGxldCBmw7ZyIHN5c3RlbXbDpHJkZXQgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIkV0aWtldHRlbiBibGV2IHRydW5rZXJhZC4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgImluZ2VuIGV0aWtldHQsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICJpbmdldCB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkFudsOkbmRuaW5nOlxuIgorIiAlcyBbZmxhZ2dvcl0gZW5oZXQgW3N0b3JsZWtdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUzCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICJTdMOkbGxlciBpbiBlbiBMaW51eC12w6R4bGluZ3N5dGEuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorbXNnc3RyICIiCisiXG4iCisiRmxhZ2dvcjpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBrb250cm9sbGVyYSBlZnRlciBkw6VsaWdhIGJsb2NrIGlubmFuIHbDpHhsaW5nc3V0cnltbWV0IHNrYXBhc1xuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIHRpbGzDpXQgdsOkeGxpbmdzc3Rvcmxla2VuIGF0dCB2YXJhIHN0w7ZycmUgw6RuIGVuaGV0ZW5cbiIKKyIgLXAsIC0tcGFnZXNpemUgU1RPUkxFSyAgICBhbmdlIHNpZHN0b3JsZWsgaSBieXRlXG4iCisiIC1MLCAtLWxhYmVsIEVUSUtFVFQgICAgICAgYW5nZSBldGlrZXR0XG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgYW5nZSB2ZXJzaW9uIGbDtnIgdsOkeGxpbmdzdXRyeW1tZXRcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBhbmdlIHV1aWQgc29tIHNrYSBhbnbDpG5kYXNcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgImbDtnIgbcOlbmdhIGZlbGFrdGlnYSBzaWRvcjogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAic8O2a25pbmcgbWlzc2x5Y2thZGVzIGkgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgZmVsYWt0aWcgc2lkYVxuIgorbXNnc3RyWzFdICIlbHUgZmVsYWt0aWdhIHNpZG9yXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAia2FuIGludGUgYWxsb2tlcmEgbnkgbGliYmxraWQtYXZzw7ZrYXJlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMgorbXNnaWQgInVuYWJsZSB0byBhc3NpZ24gZGV2aWNlIHRvIGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICJrYW4gaW50ZSB0aWxsZGVsYSBlbmhldCB0aWxsIGxpYmJsa2lkLWF2c8O2a25pbmciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgInZhcm5pbmc6IGF0dCBrb250cm9sbGVyYSBlZnRlciBmZWxha3RpZ2EgYmxvY2sgaSB2w6R4bGluZ3NmaWwgc3TDtmRzIGludGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgImthbiBpbnRlIHNwb2xhIHRpbGxiYWthIHbDpHhsaW5nc2VuaGV0ZW4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkyCittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgImthbiBpbnRlIHTDtm1tYSBzdGFydGJpdHNzZWt0b3JlciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IHZhcm5pbmc6IHN0w6RkYXIgYm9ydCBnYW1tYWwgJXMtc2lnbmF0dXIuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXM6IHZhcm5pbmc6IHJhZGVyYSBpbnRlIHN0YXJ0Yml0c3Nla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICglcyBwYXJ0aXRpb24gdGFibGUgZGV0ZWN0ZWQpLiAiCittc2dzdHIgIiAgICAgICAgKCVzLXBhcnRpdGlvbnN0YWJlbGwgaWRlbnRpZmllcmFkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChrb21waWxlcmF0IHV0YW4gbGliYmxraWQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiQW52w6RuZCAtZiBmw7ZyIGF0dCB0dmluZ2EuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVzOiBrYW4gaW50ZSBza3JpdmEgc2lnbmF0dXJzaWRhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAidG9sa25pbmcgYXYgc2lkc3RvcmxlayBtaXNzbHlja2FkZXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgInRvbGtuaW5nIGF2IHZlcnNpb25zbnVtbWVyIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAidsOkeGxpbmdzdXRyeW1tZSB2ZXJzaW9uICVkIHN0w7ZkcyBpbnRlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAidmFybmluZzogaWdub3JlcmFyIC1VIChVVUlEOm4gc3TDtmRzIGludGUgYXYgJXMpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICJiYXJhIGV0dCBlbmhldHNhcmd1bWVudCBzdMO2ZHMgZsO2ciBuw6RydmFyYW5kZSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAiZmVsOiB0b2xrbmluZyBhdiBVVUlEIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgImZlbDogSW5nZW5zdGFucyBhdHQgc2thcGEgdsOkeGxpbmdzdXRyeW1tZT8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgdGlsbCBibG9ja2FudGFsIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICJmZWw6IHN0b3JsZWtlbiAlbGx1IEtpQiDDpHIgc3TDtnJyZSDDpG4gZW5oZXRzc3Rvcmxla2VuICU8UFJJdTY0PiBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAiZmVsOiB2w6R4bGluZ3N1dHJ5bW1ldCBtw6VzdGUgdmFyYSBtaW5zdCAlbGQgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAidmFybmluZzogdHJ1bmtlcmFyIHbDpHhsaW5nc3V0cnltbWV0IHRpbGwgJWxsdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiZmVsOiAlcyDDpHIgbW9udGVyYWQ7IGtvbW1lciBpbnRlIGF0dCBza2FwYSB2w6R4bGluZ3N1dHJ5bW1lIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVzOiBvc8Oka3JhIHLDpHR0aWdoZXRlciAlMDRvLCAlMDRvIGbDtnJlc2xhZ25hLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IG9zw6RrZXIgZmlsw6RnYXJlICVkLCAwIChyb290KSBmw7ZyZXNsYWdlbi4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICJLYW4gaW50ZSBzdMOkbGxhIGluIHbDpHhsaW5nc3V0cnltbWU6IG9sw6RzYmFydCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIlN0w6RsbGVyIGluIHbDpHhsaW5nc3V0cnltbWVzdmVyc2lvbiAlZCwgc3RvcmxlayA9ICVzICglPFBSSXU2ND4gYnl0ZSlcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczoga3VuZGUgaW50ZSBlcmjDpWxsYSBzZWxpbnV4LWZpbGV0aWtldHQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICJrdW5kZSBpbnRlIG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAia3VuZGUgaW50ZSBza2FwYSBueXR0IHNlbGludXgtc2FtbWFuaGFuZyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAia3VuZGUgaW50ZSBiZXLDpGtuYSBzZWxpbnV4LXNhbW1hbmhhbmciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICJrYW4gaW50ZSBvbWV0aWtldHRlcmEgJXMgdGlsbCAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAicGFydGl0aW9uc251bW1lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICJiw7ZyamFuIGF2IHBhcnRpdGlvbmVuIGkgc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgInNsdXRldCBhdiBwYXJ0aXRpb25lbiBpIHNla3RvcmVyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiYW50YWwgc2VrdG9yZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgImzDpHNiYXJ0IGbDtnIgbcOkbm5pc2tvciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgInBhcnRpdGlvbnNuYW1uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTIgbWlzYy11dGlscy9maW5kbW50LmM6MTA4IG1pc2MtdXRpbHMvbHNibGsuYzoxNzMKK21zZ2lkICJwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAicGFydGl0aW9ucy1VVUlEIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgInBhcnRpdGlvbnN0YWJlbGxzdHlwIChkb3MsIGdwdCwg4oCmKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0IG1pc2MtdXRpbHMvbHNibGsuYzoxNzQKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgInBhcnRpdGlvbnNmbGFnZ29yIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAicGFydGl0aW9uc3R5cCAoZW4gc3Ryw6RuZywgZXR0IFVVSUQsIGVsbGVyIGhleCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBpbml0aWFsaXNlcmEgbG9vcGN4dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczoga3VuZGUgaW50ZSBoaXR0YSBuw6Vnb24gbGVkaWcgbG9vcGVuaGV0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIkbDtnJzw7ZrZXIgYXR0IGFudsOkbmRhIOKAnSVz4oCdIGbDtnIgbG9vcGVuaGV0ZW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHVuZGVybGFnc2ZpbCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gbG9vcGVuaGV0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJva8OkbmQga29sdW1uOiAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyODYgZGlzay11dGlscy9wYXJ0eC5jOjMyNCBkaXNrLXV0aWxzL3BhcnR4LmM6NDc3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgImFuZ2l2ZXQgaW50ZXJ2YWxsIDwlZDolZD4gZ2VyIGluZ2VuIG1lbmluZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5MAorIywgYy1mb3JtYXQKK21zZ2lkICJyYW5nZSByZWNvdW50OiBtYXggcGFydG5vPSVkLCBsb3dlcj0lZCwgdXBwZXI9JWRcbiIKK21zZ3N0ciAiaW50ZXJ2YWxsb21yw6RrbmluZzogbWF4IHBhcnRucj0lZCwgbmVkcmU9JWQsIMO2dnJlPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGZlbCB2aWQgYm9ydHRhZ25pbmcgYXYgcGFydGl0aW9uICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZmVsIHZpZCBib3J0dGFnbmluZyBhdiBwYXJ0aXRpb25lciAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIGJvcnR0YWdlblxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAjJWQgZXhpc3RlcmFyIGludGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCB0YSBib3J0IHBhcnRpdGlvbiAjJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBmZWwgZMOlIHBhcnRpdGlvbiAlZCBsYWRlcyB0aWxsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZlbCBkw6UgcGFydGl0aW9uZXJuYSAlZC0lZCBsYWRlcyB0aWxsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAjJWQgdGlsbGFnZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RnZ2EgdGlsbCBwYXJ0aXRpb24gIyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBmZWwgdmlkIHVwcGRhdGVyaW5nIGF2IHBhcnRpdGlvbiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGZlbCB2aWQgdXBwZGF0ZXJpbmcgYXYgcGFydGl0aW9uZXIgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiBkZXQgZmlubnMgaW5nZW4gcGFydGl0aW9uICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIGhhciDDpG5kcmF0IHN0b3JsZWtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiB1cHBkYXRlcmluZyBhdiBwYXJ0aXRpb24gIyVkIG1pc3NseWNrYWRlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjU2MgorIywgYy1mb3JtYXQKK21zZ2lkICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9yLCAlNmp1IE1CKVxuIgorbXNnaWRfcGx1cmFsICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VjdG9ycywgJTZqdSBNQilcbiIKK21zZ3N0clswXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvciwgJTZqdSBNQilcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNla3RvcmVyLCAlNmp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgdXRtYXRuaW5nc2tvbHVtbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGluaXRpZXJhIGJsa2lkLWZpbHRlciBmw7ZyIOKAnSVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBpbiBwYXJ0aXRpb25zdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgdHlwZSAnJXMnIGRldGVjdGVkXG4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb25zdGFiZWxsc3R5cCDigJ0lc+KAnSBoaXR0YWRlc1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogZW4gcGFydGl0aW9uc3RhYmVsbCB1dGFuIG7DpWdyYSBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTcKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiQmVyw6R0dGEgZsO2ciBrw6RybmFuIG9tIG7DpHJ2YXJvbiBvY2ggbnVtcmVyaW5nZW4gYXYgcGFydGl0aW9uZXIuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICAgbMOkZ2cgdGlsbCBhbmdpdm5hIHBhcnRpdGlvbmVyIGVsbGVyIGFsbGlob3BcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1kLCAtLWRlbGV0ZSAgICAgICAgICB0YSBib3J0IGFuZ2l2bmEgcGFydGl0aW9uZXIgZWxsZXIgYWxsaWhvcFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAgIHVwcGRhdGVyYSBhbmdpdm5hIHBhcnRpdGlvbmVyIGVsbGVyIGFsbGlob3BcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MworbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgIGxpc3RhIHBhcnRpdGlvbmVyXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgc2tyaXYgdXQgU1RPUkxFSyBpIGJ5dGUgaXN0w6RsbGV0IGbDtnIgZm9ybWF0IGzDpHNiYXJ0IGbDtnIgbcOkbm5pc2tvclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgICBza3JpdiBpbnRlIHV0IHJ1YnJpa2VyIGbDtnIgLS1zaG93XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIC1uLCAtLW5yIDxuOm0+ICAgICAgICBhbmdlIGludGVydmFsbGV0IGbDtnIgcGFydGl0aW9uZXIgKHQuZXguIC0tbnIgMjo0KVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICBkZWZpbmllcmEgdmlsa2EgdXRtYXRuaW5nc2tvbHVtbmVyIHNvbSBza2EgYW52w6RuZGFzXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICBhbnbDpG5kIHV0bWF0bmluZ3Nmb3JtYXRldCBueWNrZWw9XCJ2w6RyZGVcIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICBhbnbDpG5kIHLDpXR0IHV0bWF0bmluZ3Nmb3JtYXRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgICAgICBza3JpdiDDtnZlciBzZWt0b3JzdG9ybGVrXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHR5cD4gICAgICBhbmdlIHBhcnRpdGlvbnN0eXBcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MgorbXNnaWQgIiAgICAgLS1saXN0LXR5cGVzICAgICBsaXN0IHN1cHBvcnRlZCBwYXJ0aXRpb24gdHlwZXMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtdHlwZXMgICAgICB2aXNhIGRlIGvDpG5kYSBwYXJ0aXRpb25zdHlwZXJuYSBvY2ggYXZzbHV0YVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzczIHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMDEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgdXRmw7ZybGlndCBsw6RnZVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIC0tbnIgPE0tTj4taW50ZXJ2YWxsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQyCittc2dpZCAicGFydGl0aW9uIGFuZCBkaXNrIG5hbWUgZG8gbm90IG1hdGNoIgorbXNnc3RyICJwYXJ0aXRpb24tIG9jaCBkaXNrbmFtbiBtYXRjaGFyIGludGUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5yIG9jaCA8cGFydGl0aW9uPiBrYW4gaW50ZSBiw6VkYSBhbnbDpG5kYXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCB1bmRyZTogJWQsIMO2dnJlOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczoga2FuIGludGUgdGEgYm9ydCBwYXJ0aXRpb25lciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbmVyYWRlIGxvb3BlbmhldGVyIHN0w7ZkcyBpbnRlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaW5pdGllcmEgYmxraWQtYXZzw7ZrYXJlIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisiICUxJHMgJTIkc3LDpU4gPMO2dnJlPiA8dW5kcmU+XG4iCisiICUxJHMgJTIkc3LDpU4gL2Rldi88YmxvY2tlbmhldD5cbiIKKyIgJTEkcyAtcSAlMiRzcsOlTlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICJCaW5kIGVuIHLDpSB0ZWNrZW5lbmhldCB0aWxsIGVuIGJsb2NrZW5oZXQuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIHN0w6RsbCBpbiBmcsOlZ2Vsw6RnZVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgZnLDpWdhIGFsbGEgcsOlYSBlbmhldGVyXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiRW5oZXQg4oCdJXPigJ0gw6RyIGRlbiByw6VhIGtvbnRyb2xsZW5oZXRlbiAoYW52w6RuZCByw6U8Tj4gZMOkciA8Tj4gw6RyIHN0w7ZycmUgw6RuIG5vbGwpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICJLYW4gaW50ZSBoaXR0YSBibG9ja2VuaGV0IOKAnSVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIkVuaGV0IOKAnSVz4oCdIMOkciBpbnRlIGVuIGJsb2NrZW5oZXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgYXJndW1lbnQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgIkthbiBpbnRlIMO2cHBuYSByw6UgaHV2dWRlbmhldCDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgIkthbiBpbnRlIGhpdHRhIHLDpSBlbmhldCDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIlLDpSBlbmhldCDigJ0lc+KAnSDDpHIgaW50ZSBlbiB0ZWNrZW5lbmhldCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiRW5oZXQg4oCdJXPigJ0gw6RyIGludGUgZW4gcsOlIGVuaGV0IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIkZlbCB2aWQgZsO2cmZyw6VnYW4gdGlsbCByw6UgZW5oZXQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU4IGRpc2stdXRpbHMvcmF3LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyw6UlZDogIGJ1bmRlbiB0aWxsIMO2dnJlICVkLCB1bmRyZSAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI3MgorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiRmVsIHZpZCBpbnN0w6RsbG5pbmcgYXYgcsOlIGVuaGV0IgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNrZW5oZXQ+IDxwYXJ0aXRpb25zbnVtbWVyPiA8bMOkbmdkPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyNAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkJlcsOkdHRhciBmw7ZyIGvDpHJuYW4gb20gZGVuIG55YSBzdG9ybGVrZW4gcMOlIGVuIHBhcnRpdGlvbi5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIGLDtnJqYW4gYXYgcGFydGl0aW9uIG51bW1lciAlcyIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTExCittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IMOkbmRyYSBzdG9ybGVrIGbDtnIgcGFydGl0aW9uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgbsOkc3RsYWQgbGliZmRpc2sta29udGV4dCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgImthbiBpbnRlIHPDtmthICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAocG9zaXRpb24gJTVqdSwgc3RvcmxlayAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc2thcGEgc8Oka2VyaGV0c2tvcGlhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBza2FwYSBlbiBmaWwgbWVkIHPDpGtlcmhldHNrb3BpYSwgJEhPTUUgb2RlZmluaWVyYWQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiU8Oka2VyaGV0c2tvcGllcmluZ3NmaWxlcjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIGluIG55IHBhcnRpdGlvbiBmcsOlbiBlbmhldGVuOyBpZ25vcmVyYXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHN0b3JsZWtlbiBww6UgZGVuIG55YSBwYXJ0aXRpb25lbjsgaWdub3JlcmFyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgYsO2cmphbiBww6UgZGVuIG55YSBwYXJ0aXRpb25lbjsgaWdub3JlcmFyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBzdG9ybGVrZW4gcMOlIGRlbiBnYW1sYSBwYXJ0aXRpb25lbjsgaWdub3JlcmFyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgYsO2cmphbiBww6UgZGVuIGdhbWxhIHBhcnRpdGlvbmVuOyBpZ25vcmVyYXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJiw7ZyamFuIGF2IHBhcnRpdGlvbmVuIGhhciBpbnRlIGZseXR0YXRzOyBpZ25vcmVyYXIgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkyCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJueSBwYXJ0aXRpb24gw6RyIG1pbmRyZSDDpG4gb3JpZ2luYWxldDsgaWdub3JlcmFyIC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIkRhdGFmw7ZyZmx5dHRuaW5nOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiB0eXBlc2NyaXB0LWZpbDogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiBnYW1tYWwgc3RhcnQ6ICVqdSwgbnkgc3RhcnQ6ICVqdSAoZmx5dHRhICVqdSBzZWt0b3JlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAiVmlsbCBkdSBmbHl0dGEgcGFydGl0aW9uc2RhdGE/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiTMOkbW5hci4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gbW92ZSBkYXRhIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgZmx5dHRhIGRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQyCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIlBhcnRpdGlvbnN0YWJlbGxlbiDDpHIgb2bDtnLDpG5kcmFkICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiUGFydGl0aW9uc3RhYmVsbGVuIGhhciDDpG5kcmF0cy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgImV0aWtldHQg4oCdJXPigJ0gc3TDtmRzIGludGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjM0Cittc2dpZCAiIgorIklkICBOYW1lXG4iCisiXG4iCittc2dzdHIgIiIKKyJJZCAgTmFtblxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAib2vDpG5kIHR5cCBhdiBwYXJ0aXRpb25zdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIkthbiBpbnRlIGjDpG10YSBzdG9ybGVrZW4gcMOlICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICJ0b3RhbHQ6ICVqdSBibG9ja1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGRpc2tlbmhldCBhbmdhdnMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAia2FuIGludGUga8O2cmEgc3RhdCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICJhdHQgdsOkeGxhIHN0YXJ0ZmxhZ2dvcm5hIHN0w7ZkcyBiYXJhIGbDtnIgTUJSIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg2NyBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTYgZGlzay11dGlscy9zZmRpc2suYzoxMjEyCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTkgZGlzay11dGlscy9zZmRpc2suYzoyMDU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHBhcnRpdGlvbnNudW1tZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IHBhcnRpdGlvbiAlZDogbWlzc2x5Y2thZGVzIG1lZCBhdHQgdsOkeGxhIHN0YXJ0YmFyaGV0c2ZsYWdnYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCB0YSBib3J0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogaW5uZWjDpWxsZXIgaW50ZSBlbiBpZ2Vua8OkbmQgcGFydGl0aW9uc3RhYmVsbCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzYKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgIm1pc3NseWNrYWRlIGF0dCBhbGxva2VyYSBkdW1wc3RydWt0dXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBkdW1wYSBwYXJ0aXRpb25zdGFiZWxsIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6IGluZ2VuIHBhcnRpdGlvbnN0YWJlbGwgaGl0dGFkZXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb25zdGFiZWxsIGlubmVow6VsbGVyIGJhcmEgJXp1IHBhcnRpdGlvbmVyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb25lbiDDpHIgb2FudsOkbmQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZXQgcGFydGl0aW9uc251bW1lciBhbmdpdmV0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgIm92w6RudGFkZSBhcmd1bWVudCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dTogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHBhcnRpdGlvbnN0eXAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgJXMtcGFydGl0aW9uc3R5cCDigJ0lc+KAnSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dTogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBwYXJ0aXRpb25zdHlwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgcGFydGl0aW9ucy1VVUlEIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBwYXJ0aXRpb25zb2JqZWt0IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBhcnRpdGlvbnMtVVVJRCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGFydGl0aW9uICV6dTogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHBhcnRpdGlvbnNuYW1uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBhcnRpdGlvbnNuYW1uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gJXp1OiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBhcnRpdGlvbnNhdHRyaWJ1dCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg3Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIgS29tbWFuZG9uOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIHNrcml2IHRhYmVsbGVuIHRpbGwgZGlzayBvY2ggYXZzbHV0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAgdmlzYSBueXR0IHRpbGxzdMOlbmQgb2NoIGludsOkbnRhIGFudsOkbmRhcmVucyDDpXRlcmtvcHBsaW5nIGlubmFuIHNrcml2bmluZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICBhdnNsdXRhIHNmZGlzay1za2FsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICBza3JpdiB1dCBwYXJ0aXRpb25zdGFiZWxsZW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkzCittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICB2aXNhIGRlbm5hIGhqw6RscHRleHRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgIHNhbW1hIHNvbSDigJ1xdWl04oCdXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBJbm1hdG5pbmdzZm9ybWF0OlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8c3RhcnQ+LCA8c3Rvcmxlaz4sIDx0eXA+LCA8c3RhcnRiYXI+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA8c3RhcnQ+ICBCw7ZyamFuIGF2IHBhcnRpdGlvbmVuIGkgc2VrdG9yZXIgZWxsZXIgYnl0ZSBvbVxuIgorIiAgICAgICAgICAgIGFuZ2l2ZW4gaSBmb3JtYXRldCA8bnVtbWVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFN0YW5kYXJkdsOkcmRldCDDpHIgZGV0IGbDtnJzdGEgbGVkaWdhIHV0cnltbWV0LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPHN0b3JsZWs+IFN0b3JsZWsgcMOlIHBhcnRpdGlvbmVuIGkgc2VrdG9yZXIgZWxsZXIgYnl0ZSBvbVxuIgorIiAgICAgICAgICAgIGFuZ2l2ZW4gaSBmb3JtYXRldCA8bnVtbWVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFN0YW5kYXJkdsOkcmRldCDDpHIgYWxsdCB0aWxsZ8OkbmdsaWd0IHV0cnltbWUuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPHR5cD4gICAgUGFydGl0aW9uc3R5cGVuLiBTdGFuZGFyZHbDpHJkZXQgw6RyIGVuIExpbnV4IGRhdGFwYXJ0aXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYLFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgTUJSOiBoZXggZWxsZXIgTCxTLEUsWC1nZW52w6RnYXIuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBHUFQ6IFVVSUQgZWxsZXIgTCxTLEgtZ2VudsOkZ2FyLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPHN0YXJ0YmFyPiAgQW52w6RuZCDigJ0q4oCdIGbDtnIgYXR0IG1hcmtlcmEgZW4gTUJSLXBhcnRpdGlvbiBzb20gc3RhcnRiYXIuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyMworbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIgRXhlbXBlbDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICBTa2FwYXIgZW4gNEdpQi1wYXJ0aXRpb24gdmlkIHN0YW5kYXJkIHN0YXJ0cG9zaXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAia29tbWFuZG8gc3TDtmRzIGluIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlZDogdW5zdXBwb3J0ZWQgY29tbWFuZCIKK21zZ3N0ciAicmFkICVkOiBrb21tYW5kbyBzdMO2ZHMgaW50ZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJEZW4gZ2FtbGEgJXMtc2lnbmF0dXJlbiBrYW4ga29tbWEgYXR0IGZpbm5hcyBrdmFyIHDDpSBlbmhldGVuLiBEZXQgcmVrb21tZW5kZXJhcyBhdHQgcmFkZXJhIGVuaGV0ZW4gbWVkIHdpcGVmcyg4KSBlbGxlciBzZmRpc2sgLS13aXBlLCBmw7ZyIGF0dCB1bmR2aWthIG3DtmpsaWdhIGtvbGxpc2lvbmVyLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTI4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBwYXJ0aXRpb25zbmFtbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBza3JpcHRoYW50ZXJhcmUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBrYW4gaW50ZSBtb2RpZmllcmEgcGFydGl0aW9uICVkOiBpbmdlbiBwYXJ0aXRpb25zdGFiZWxsIGhpdHRhZGVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIG1vZGlmaWVyYSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbnN0YWJlbGwgaW5uZWjDpWxsZXIgYmFyYSAlenUgcGFydGl0aW9uZXIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAidmFybmluZzogJXM6IHBhcnRpdGlvbiAlZCDDpHIgaW50ZSBkZWZpbmllcmFkIMOkbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorIlxuIgorIlbDpGxrb21tZW4gdGlsbCBzZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICJLb250cm9sbGVyYXIgYXR0IGluZ2VuIGFudsOkbmRlciBkZW5uYSBkaXNrIGp1c3QgbnXigKYiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgTUlTU0xZQ0tBREVTXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyOAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisiRGlza2VuIGFudsOkbmRzIGbDtnIgdGlsbGbDpGxsZXQgLSBvbXBhcnRpdGlvbmVyaW5nIMOkciB0cm9saWd0dmlzIGVuIGTDpWxpZyBpZMOpLlxuIgorIkF2bW9udGVyYSBhbGxhIGZpbHN5c3RlbSBvY2ggYW52w6RuZCBzd2Fwb2ZmIGbDtnIgYWxsYSB2w6R4bGluZ3NwYXJ0aXRpb25lciBww6UgZGVubmEgZGlzay5cbiIKKyJBbnbDpG5kIGZsYWdnYW4gLS1uby1yZXJlYWQgZsO2ciBhdHQgdW5kZXJ0cnlja2EgZGVubmEga29udHJvbGwuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJBbnbDpG5kIGZsYWdnYW4gLS1mb3JjZSBmw7ZyIGF0dCDDpXNpZG9zw6R0dGEgYWxsYSBrb250cm9sbGVyLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiIE9LXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIlRpZGlnYXJlIHNpdHVhdGlvbjoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorIlxuIgorInNmZGlzayBrb21tZXIgYXR0IHNrYXBhIGVuIG55IOKAnSVz4oCdIGRpc2tldGlrZXR0LlxuIgorIkFudsOkbmQg4oCdbGFiZWw6IDxuYW1uPuKAnSBpbm5hbiBkdSBkZWZpbmllcmFyIGVuIGbDtnJzdGEgcGFydGl0aW9uXG4iCisiZsO2ciBhdHQgw6VzaWRvc8OkdHRhIHN0YW5kYXJkdsOkcmRldC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNrcml2IOKAnWhlbHDigJ0gZsO2ciBtZXIgaW5mb3JtYXRpb24uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJBbGxhIHBhcnRpdGlvbmVyIGFudsOkbmRhLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiRsOkcmRpZy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiSG9wcGFyIMO2dmVyIHBhcnRpdGlvbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTczNSBkaXNrLXV0aWxzL3NmZGlzay5jOjE3OTUKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0IGhlYWRlcnMsIGRpc2sgbGFiZWwgbm90IGNyZWF0ZWQuIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB0aWxsw6RtcGEgc2tyaXB0aHV2dWRlbiwgZGlza2V0aWtldHQgc2thcGFkZXMgaW50ZS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkICMlZCBwYXJ0aXRpb24iCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpGdnYSB0aWxsICMlZCBwYXJ0aXRpb24iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJTa3JpcHRodXZ1ZCBhY2NlcHRlcmF0LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiTnkgc2l0dWF0aW9uOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAiVmlsbCBkdSBza3JpdmEgZGV0dGEgdGlsbCBkaXNrPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiTMOkbW5hci5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtmbGFnZ29yXSA8ZW5oPiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW2ZsYWdnb3JdIDxrb21tYW5kbz5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2CisjLCBmdXp6eQorbXNnaWQgIiAtQSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gbGlzdCBvciBzZXQgYm9vdGFibGUgKFApTUJSIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiIC1BLCAtLWFjdGl2YXRlIDxlbmg+IFs8cGFydD4g4oCmXSAgIGxpc3RhIGVsbGVyIHN0w6RsbCBpbiBzdGFydGJhcmEgTUJSLXBhcnRpdGlvbmVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgKHVzYWJsZSBmb3IgbGF0ZXIgaW5wdXQpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wIDxlbmg+ICAgICAgICAgICAgICAgICAgZHVtcGEgcGFydGl0aW9uc3RhYmVsbCAoYW52w6RuZGJhciBmw7ZyIHNlbmFyZSBpbm1hdG5pbmcpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gPGVuaD4gICAgICAgICAgICAgICAgICBkdW1wYSBwYXJ0aXRpb25zdGFiZWxsIGkgSlNPTi1mb3JtYXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGVuaD4g4oCmXSAgICAgbGlzdGEgZ2VvbWV0cmkgZsO2ciBhdHQgYW5naXZuYSBlbmhldGVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs8ZW5oPiDigKZdICAgICAgICAgICAgICBsaXN0YSBwYXJ0aXRpb25lciBmw7ZyIHZhcmplIGVuaGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1GLCAtLWxpc3QtZnJlZSBbPGVuaD4g4oCmXSAgICAgICAgIGxpc3RhIG9wYXJ0aXRpb25lcmFkZSwgbGVkaWdhIHV0cnltbWVuIGbDtnIgdmFyamUgZW5oZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIC1yLCAtLXJlb3JkZXIgPGRldj4gICAgICAgICAgICAgICBmaXggcGFydGl0aW9ucyBvcmRlciAoYnkgc3RhcnQgb2Zmc2V0KVxuIgorbXNnc3RyICIgLXIsIC0tcmVvcmRlciA8ZW5oPiAgICAgICAgICAgICAgIGZpeGEgcGFydGl0aW9uc29yZG5pbmcgKGVmdGVyIHN0YXJ0cG9zaXRpb24pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNob3ctc2l6ZSBbPGVuaD4g4oCmXSAgICAgICAgIGxpc3RhIHN0b3JsZWthciBmw7ZyIGFsbGEgYW5naXZuYSBlbmhldGVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBza3JpdiB1dCBpZGVudGlmaWVyYWRlIHR5cGVyIChzZSAtWClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSBbPGVuaD4g4oCmXSAgICAgICAgICAgIHRlc3RhIGh1cnV2aWRhIHBhcnRpdGlvbmVyIHZlcmthciBrb3JyZWt0YVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKK21zZ2lkICIgICAgIC0tZGVsZXRlIDxkZXY+IFs8cGFydD4gLi4uXSAgIGRlbGV0ZSBhbGwgb3Igc3BlY2lmaWVkIHBhcnRpdGlvbnNcbiIKK21zZ3N0ciAiICAgICAtLWRlbGV0ZSA8ZW5oPiBbPHBhcnQ+IOKApl0gICAgIHRhIGJvcnQgYWxsYSBlbGxlciBhbmdpdm5hIHBhcnRpdGlvbmVyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIgLS1wYXJ0LWxhYmVsIDxlbmg+IDxwYXJ0PiBbPHN0cj5dIHNrcml2IHV0IGVsbGVyIMOkbmRyYSBwYXJ0aXRpb25zZXRpa2V0dFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLS1wYXJ0LXR5cGUgPGVuaD4gPHBhcnQ+IFs8dHlwPl0gIHNrcml2IHV0IGVsbGVyIMOkbmRyYSBwYXJ0aXRpb25zdHlwXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAtLXBhcnQtdXVpZCA8ZW5nPiA8cGFydD4gWzx1dWlkPl0gc2tyaXYgdXQgZWxsZXIgw6RuZHJhIHBhcnRpdGlvbnMtVVVJRFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDxlbmg+IDxwYXJ0PiBbPHN0cj5dIHNrcml2IHV0IGVsbGVyIMOkbmRyYSBwYXJ0aXRpb25zYXR0cmlidXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDxlbmg+ICAgICAgICAgICAgICAgICAgICAgc8O2a3bDpGcgZsO2ciBlbmhldCAodmFubGlndHZpcyBkaXNrKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjYKK21zZ2lkICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbnNudW1tZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY3Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIDx0eXA+ICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uc3R5cCwgR1VJRCBmw7ZyIEdQVCwgaGV4IGbDtnIgTUJSXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MAorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgbMOkZ2cgdGlsbCBwYXJ0aXRpb25lciB0aWxsIGV4aXN0ZXJhbmRlIHBhcnRpdGlvbnN0YWJlbGxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcxCittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgYmFja3VwIHBhcnRpdGlvbiB0YWJsZSBzZWN0b3JzIChzZWUgLU8pXG4iCittc2dzdHIgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgICBzw6RrZXJoZXRza29waWVyYSBzZWt0b3JlciBtZWQgcGFydGl0aW9uc3RhYmVsbCAoc2UgLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICBza3JpdiB1dCBTVE9STEVLIGkgYnl0ZSBzbmFyYXJlIMOkbiBpIGV0dCBmb3JtYXQgbMOkc2JhciBhdiBtw6Rubmlza29yXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiICAgICAtLW1vdmUtZGF0YVs9PHR5cHNrcmlwdD5dICBmbHl0dGEgcGFydGl0aW9uc2RhdGEgZWZ0ZXIgb21sb2thbGlzZXJpbmcgKGtyw6R2ZXIgLU4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgICBpbmFrdGl2ZXJhIGFsbGEga29uc2lzdGVuc2tvbnRyb2xsZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9PG7DpHI+XSAgICAgICAgZsOkcmdsw6RnZyB1dG1hdG5pbmcgKGF1dG8sIGFsd2F5cyBlbGxlciBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgICBhbmdlIHBhcnRpdGlvbnNudW1tZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgICBnw7ZyIGFsbHQgZsO2cnV0b20gYXR0IHNrcml2YSB0aWxsIGVuaGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgICBrb250cm9sbGVyYSBpbnRlIGh1cnV2aWRhIGVuaGV0ZW4gYW52w6RuZHNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgIGJlcsOkdHRhIGludGUgZsO2ciBrw6RybmEgb20gw6RuZHJpbmdhclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxzw7ZrdsOkZz4gw6VzaWRvc8OkdHQgc3RhbmRhcmRmaWxuYW1uZXQgZsO2ciBzw6RrZXJoZXRza29waWFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgIG1hdGEgdXQga29sdW1uZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg0Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgdW5kZXJ0cnljayBleHRyYSBpbmZvcm1hdGlvbnNtZWRkZWxhbmRlblxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPGzDpGdlPiAgICAgICAgICByYWRlcmEgc2lnbmF0dXJlciAoYXV0bywgYWx3YXlzIGVsbGVyIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA8bmFtbj4gICAgICAgICBhbmdlIGV0aWtldHR5cCAoZG9zLCBncHQsIOKApilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg4Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbW4+ICBhbmdlIG7DpHN0bGFkIGV0aWtldHR5cCAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICAgZsO2csOlbGRyYWQsIGFsaWFzIGbDtnIgLS1zaG93LWdlb21ldHJ5XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgIGbDtnLDpWxkcmFkLCBlbmRhc3QgZsO2ciBiYWvDpXRrb21wYXRpYmlsaXRldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICAgZsO2csOlbGRyYWQsIGVuZGFzdCBlbmhldGVuIHNla3RvcmVyIHN0w7Zkc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzIMOkciBmw7Zyw6VsZHJhZCBpIGrDpG1mw7ZyZWxzZSBtZWQgLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIi0taWQgw6RyIGbDtnLDpWxkcmFkIGkgasOkbWbDtnJlbHNlIG1lZCAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIi0tc2hvdy1wdC1nZW9tZXRyeSDDpHIgaW50ZSBpbXBsZW1lbnRlcmFkZSBsw6RuZ3JlLiBBbnbDpG5kZXIgLS1zaG93LWdlb21ldHJ5LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDQzCittc2dpZCAiLS1MaW51eCBvcHRpb24gaXMgdW5uZWNlc3NhcnkgYW5kIGRlcHJlY2F0ZWQiCittc2dzdHIgIi0tTGludXgtZmxhZ2dhbiDDpHIgb27DtmRpZyBvY2ggZsO2csOlbGRyYWQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgImVuaGV0IOKAnSVj4oCdIHN0w7ZkcyBpbnRlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXMgZnLDpW4gJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSBrcsOkdmVyIC1OIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgVVVJRDogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IHPDtmthIHRpbGwgdsOkeGxpbmdzLVVVSUQiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc2tyaXZhIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc8O2a2EgdGlsbCB2w6R4bGluZ3NldGlrZXR0ICIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiZXRpa2V0dCDDpHIgZsO2ciBsw6VuZy4gVHJ1bmtlcmFyIHRpbGwg4oCdJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBza3JpdmEgZXRpa2V0dCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiVmlzYSBlbGxlciDDpG5kcmEgZXRpa2V0dGVuIGVsbGVyIFVVSUQ6dCBmw7ZyIGVuIHbDpHhsaW5nc3l0YS5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiIC1MLCAtLWxhYmVsIDxldGlrZXR0PiBhbmdlIGVuIG55IGV0aWtldHRcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgIGFuZ2UgZXR0IG55dHQgdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE3MgorbXNnaWQgImlnbm9yZSAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkKSIKK21zZ3N0ciAiaG9wcGEgw7Z2ZXIgLVUgKFVVSUQ6biBzdMO2ZHMgaW50ZSkiCisKKyM6IGluY2x1ZGUvYy5oOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkbDtnJzw7ZrIG1lZCDigJ0lcyAtLWhlbHDigJ0gZsO2ciB2aWRhcmUgaW5mb3JtYXRpb24uXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkFudsOkbmRuaW5nOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTkKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZsYWdnb3I6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGdW5rdGlvbmVyOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb21tYW5kb246XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaWxsZ8OkbmdsaWdhIHV0ZGF0YWtvbHVtbmVyOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKK21zZ2lkICJkaXNwbGF5IHRoaXMgaGVscCIKK21zZ3N0ciAidmlzYSBkZW5uYSBoasOkbHAiCisKKyM6IGluY2x1ZGUvYy5oOjMyNgorbXNnaWQgImRpc3BsYXkgdmVyc2lvbiIKK21zZ3N0ciAidmlzYSB2ZXJzaW9uIgorCisjOiBpbmNsdWRlL2MuaDozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiRsO2ciBtZXIgaW5mb3JtYXRpb24sIHNlICVzLlxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICJza3JpdmZlbCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJmw6RyZ2VyIMOkciBha3RpdmVyYWRlIHNvbSBzdGFuZGFyZCIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiZsOkcmdlciDDpHIgaW5ha3RpdmVyYWRlIHNvbSBzdGFuZGFyZCIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDI2CisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMzAgdGVybS11dGlscy9hZ2V0dHkuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIG1pbGrDtnZhcmlhYmVsbiAlcyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXR1YWxseSBleGNsdXNpdmUgYXJndW1lbnRzOiIKK21zZ3N0ciAiJXM6IMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZToiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiVG9tIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm90IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8IDMyIE1CIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIlV0w7ZrYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIHN0YXJ0YmFyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIEJvb3QgTWFuYWdlciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBVdMO2a2FkIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIk9QVVMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE3Cittc2dpZCAiSGlkZGVuIEZBVDEyIgorbXNnc3RyICJEb2xkIEZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOAorbXNnaWQgIkNvbXBhcSBkaWFnbm9zdGljcyIKK21zZ3N0ciAiQ29tcGFxLWRpYWdub3N0aWsiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkRvbGQgRkFUMTYgPCAzMiBNQiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIkRvbGQgRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiRG9sZCBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIkRvbGQgVzk1IEZBVDMyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIkRvbGQgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIkRvbGQgVzk1IEZBVDE2IChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIkRvbGQgTlRGUyBXaW5SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiUGFydGl0aW9uTWFnaWMtw6V0ZXJzdMOkbGxuaW5nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBzdGFydCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCAyOmEgZGVsZW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMzplIGRlbGVuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9udHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIC8gU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkRpc2tTZWN1cmUgTXVsdGktc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiR2FtbWFsIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIGdhbW1hbCBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXggdsOkeGxpbmcgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiT1MvMi1nw7ZtZCBlbGxlciBJbnRlbC12aWxvbMOkZ2UiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IHV0w7ZrYWQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTLXZvbHltc2FtbGluZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IGtsYXJ0ZXh0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZC12aWxvbMOkZ2UiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcyCittc2dpZCAiSEZTIC8gSEZTKyIKK21zZ3N0ciAiSEZTIC8gSEZTKyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICJCU0RJIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiQlNESSB2w6R4bGluZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIGRvbGQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgTEJBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5Cittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIHN0YXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyIE1CKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiSWNrZS1maWxzeXN0ZW1zZGF0YSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyDigKYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsLXZlcmt0eWciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TLcOldGtvbXN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJSdWZ1cy1qdXN0ZXJpbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mgc3RhcnQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBzZWt1bmTDpHIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMSBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0Cittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IHJhaWQgYXV0b2lkZW50aWZpZXJpbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIkxBTnN0ZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNworbXNnaWQgIkJCVCIKK21zZ3N0ciAiQkJUIgorCisjOiBsaWIvYmxrZGV2LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzIGlzIG1pc2FsaWduZWQiCittc2dzdHIgInZhcm5pbmc6ICVzIMOkciBmZWxqdXN0ZXJhZCIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MCBsaWJmZGlzay9zcmMvYXNrLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIlZhbGRlIHBhcnRpdGlvbiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJJbmdlbiBwYXJ0aXRpb24gw6RyIGRlZmluaWVyYWQgw6RuISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIkluZ2VuIGxlZGlnIHBhcnRpdGlvbiB0aWxsZ8OkbmdsaWchIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NTA1Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiUGFydGl0aW9uc251bW1lciIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjEwMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAiU2thcGFkIGVuIG55IHBhcnRpdGlvbiAlZCBhdiB0eXBlbiDigJ0lc+KAnSBtZWQgc3RvcmxlayAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJQYXJ0aXRpb24gJXpkOiBoYXIgb2dpbHRpZyBzdGFydHNla3RvciAwLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGVyZSBpcyBubyAqQlNEIHBhcnRpdGlvbiBvbiAlcy4iCittc2dzdHIgIkRldCBmaW5ucyBpbmdlbiAqQlNELXBhcnRpdGlvbiBww6UgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAiRsO2cnN0YSBjeWxpbmRlcm4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIlNpc3RhIGN5bGluZGVyLCArY3lsaW5kcmFyIGVsbGVyICtzdG9ybGVre0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTYgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTggbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU2lzdGEgc2VrdG9ybiwgK3Nla3RvcmVyIGVsbGVyICtzdG9ybGVre0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJFbmhldGVuICVzIGlubmVow6VsbGVyIGluZ2VuIEJTRC1kaXNrZXRpa2V0dC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiVmlsbCBkdSBza2FwYSBlbiBCU0QtZGlza2V0aWtldHQ/IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiRGlzayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NQorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICJQYWtldG5hbW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjIgbGliZmRpc2svc3JjL3N1bi5jOjExMjcKK21zZ2lkICJGbGFncyIKK21zZ3N0ciAiRmxhZ2dvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBsw7ZzdGFnYmFyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIgZmVsc2VrdCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiQnl0ZS9zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgIlNww6VyL2N5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAiU2VrdG9yZXIvY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0OTAgbGliZmRpc2svc3JjL2JzZC5jOjEwMjAgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjgKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU2IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjMKK21zZ2lkICJDeWxpbmRlcnMiCittc2dzdHIgIkN5bGluZHJhciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCittc2dpZCAiUnBtIgorbXNnc3RyICJWYXJ2IHBlciBtaW51dCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICJJbmZsw6R0bmluZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAiU3DDpXJmw7Zyc2tqdXRuaW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICJDeWxpbmRlcmbDtnJza2p1dG5pbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJIdXZ1ZGJ5dGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJTcMOlci10aWxsLXNww6VyLXPDtmtuaW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlL3Nla3RvciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgInNla3RvcmVyL3Nww6VyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICJzcMOlci9jeWxpbmRlciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiY3lsaW5kcmFyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdG9yZXIvY3lsaW5kZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgInZhcnYgcGVyIG1pbnV0IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAiaW5mbMOkdG5pbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgInNww6VyZsO2cnNranV0bmluZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiY3lsaW5kZXJmw7Zyc2tqdXRuaW5nIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiaHV2dWRieXRlIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAic3DDpXItdGlsbC1zcMOlci1zw7ZrbmluZyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIlN0YXJ0ZmlsZW4gJXMgbMOkc3RlcyBpbiBmcmFtZ8OlbmdzcmlrdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiRsO2cnN0YXJ0YXJlOiAlMSRzYm9vdCAtPiBib290JTEkcyAoc3RhbmRhcmQgJTEkcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDMKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJGw7Zyc3RhcnRhcmUgw7Z2ZXJsYXBwYXIgbWVkIGRpc2tldGlrZXR0ISIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiRsO2cnN0YXJ0YXJlIGluc3RhbGxlcmFkIHDDpSAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIkRpc2tldGlrZXR0IHNrcml2ZW4gdGlsbCAlcy4gKEdsw7ZtIGludGUgYXR0IHNrcml2YSBkaXNrZXRpa2V0dGVuICVzIG9ja3PDpS4pIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiIKK21zZ3N0ciAiRGlza2V0aWtldHQgc2tyaXZlbiB0aWxsICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJTeW5rcm9uaXNlcmFyIGRpc2thci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiQlNELWV0aWtldHQgw6RyIGludGUgaW5uZXNsdXRlbiBpbnV0aSBpbiBET1MtcGFydGl0aW9uZXIuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJCU0QtcGFydGl0aW9uIOKAnSVj4oCdIGzDpG5rYWQgdGlsbCBET1MtcGFydGl0aW9uICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIlJlbXNhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMworbXNnaWQgIkZzaXplIgorbXNnc3RyICJGLXN0b3JsZWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgIkItc3RvcmxlayIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIkNwZyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiBzdMOkbmduaW5nIGF2IGVuaGV0IG1pc3NseWNrYWRlcyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NTYKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJBbnJvcGFyIGlvY3RsKCkgZsO2ciBhdHQgbMOkc2Egb20gcGFydGl0aW9uc3RhYmVsbGVuLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiT21sw6RzbmluZyBhdiBwYXJ0aXRpb25zdGFiZWxsZW4gbWlzc2x5Y2thZGVzLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIkvDpHJuYW4gYW52w6RuZGVyIGZvcnRmYXJhbmRlIGRlbiBnYW1sYSB0YWJlbGxlbi4gRGVuIG55YSB0YWJlbGxlbiBrb21tZXIgYXR0IGFudsOkbmRhcyB2aWQgbsOkc3RhIG9tc3RhcnQgZWxsZXIgZWZ0ZXIgYXR0IGR1IGvDtnJ0IHBhcnRwcm9iZSg4KSBlbGxlciBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiAlenUgZnJvbSBzeXN0ZW0iCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHRhIGJvcnQgcGFydGl0aW9uICV6dSBmcsOlbiBzeXN0ZW1ldCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBzeXN0ZW0gaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIG1lZCBhdHQgdXBwZGF0ZXJhIHN5c3RlbWluZm9ybWF0aW9uIG9tIHBhcnRpdGlvbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpGdnYSB0aWxsIHBhcnRpdGlvbiAlenUgdGlsbCBzeXN0ZW1ldCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NzQKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAiS8Okcm5hbiBhbnbDpG5kZXIgZm9ydGZhcmFuZGUgZGUgZ2FtbGEgcGFydGl0aW9uZXJuYS4gRGVuIG55YSB0YWJlbGxlbiBrb21tZXIgYXR0IGFudsOkbmRhcyB2aWQgbsOkc3RhIG9tc3RhcnQuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICJjeWxpbmRlciIKK21zZ3N0clsxXSAiY3lsaW5kcmFyIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gInNla3RvciIKK21zZ3N0clsxXSAic2VrdG9yZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTM4OAorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIk9mdWxsc3TDpG5kaWcgZ2VvbWV0cmlpbnN0w6RsbG5pbmcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAiQWxsYSBwcmltw6RyYSBwYXJ0aXRpb25lciBoYXIgcmVkYW4gZGVmaW5pZXJhdHMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE2Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIlByaW3DpHJwYXJ0aXRpb24gaW50ZSB0aWxsZ8OkbmdsaWcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIHV0w7ZrYWQgcGFydGl0aW9uc3RhYmVsbCAocG9zaXRpb249JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiRHUga2FuIHN0w6RsbGEgaW4gZ2VvbWV0cmkgZnLDpW4gZXh0cmFmdW5rdGlvbnNtZW55bi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJET1Mta29tcGF0aWJpbGl0ZXRzbMOkZ2Ugw6RyIGbDtnLDpWxkcmF0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICJFbmhldGVuIHByZXNlbnRlcmFyIGVuIGxvZ2lzayBzZWt0b3JzdG9ybGVrIHNvbSDDpHIgbWluZHJlIMOkbiBkZW4gZnlzaXNrYSBzZWt0b3JzdG9ybGVrZW4uIEp1c3RlcmluZyB0aWxsIGVuIGdyw6RucyBmw7ZyIGZ5c2lzayBzZWt0b3JzdG9ybGVrIChlbGxlciBvcHRpbWFsIEkvTy1zdG9ybGVrKSAgcmVrb21tZW5kZXJhcyBhbm5hcnMga2FuIHByZXN0YW5kYSBww6V2ZXJrYXMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzUzCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJDeWxpbmRyYXIgc29tIHZpc25pbmdzZW5oZXQgw6RyIGbDtnLDpWxkcmFkZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAiU3Rvcmxla2VuIHDDpSBkZW5uYSBkaXNrIMOkciAlcyAoJWp1IGJ5dGUpLiBET1MgcGFydGl0aW9uc3RhYmVsbHNmb3JtYXQga2FuIGludGUgYW52w6RuZGFzIGbDtnIgZW5oZXRlciBkw6RyIHZvbHltZXJuYSDDpHIgc3TDtnJyZSDDpG4gJWx1IGJ5dGUgZsO2ciAlbHUtYnl0ZSBzZWt0b3Jlci4gQW52w6RuZCBHVUlEIHBhcnRpdGlvbnN0YWJlbGxzZm9ybWF0IChHUFQpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUzNAorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJGZWxha3RpZ3QgcG9zaXRpb24gaSBwcmltw6RyIHV0w7ZrYWQgcGFydGl0aW9uLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiVXRlbMOkbW5hciBwYXJ0aXRpb25lciBlZnRlciBuciAlenUuIERlIGtvbW1lciBhdHQgdGFzIGJvcnQgb20gZHUgc3BhcmFyIGRlbm5hIHBhcnRpdGlvbnN0YWJlbGwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIkhvcHBhciDDtnZlciBleHRyYSBkYXRhIGkgcGFydGl0aW9uc3RhYmVsbCAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAiaG9wcGFyIMO2dmVyIHRvbSBwYXJ0aXRpb24gKCV6dSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIlNrYXBhZGUgZW4gbnkgRE9TLWRpc2tldGlrZXR0IG1lZCBkaXNraWRlbnRpZmllcmFyZSAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIk1hdGEgaW4gZGVuIG55YSBkaXNraWRlbnRpZmllcmFyZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MzMKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICJGZWxha3RpZ3QgdsOkcmRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICJEaXNraWRlbnRpZmllcmFyZSDDpG5kcmFkZXMgZnLDpW4gMHglMDh4IHRpbGwgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjgzOAorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBleHRlbmRlZCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJIb3BwYXIgw7Z2ZXIgZXh0cmEgdXTDtmthZCBwYXJ0aXRpb24gJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZmxhZyAweCUwMnglMDJ4IG9mIEVCUiAoZm9yIHBhcnRpdGlvbiAlenUpIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkuIgorbXNnc3RyICJPZ2lsdGlndCBmbGFnZ2EgMHglMDJ4JTAyeCBmw7ZyIEVCUiAoZsO2ciBwYXJ0aXRpb24gJXp1KSBrb21tZXIgZXR0IGtvcnJpZ2VyYXMgdmlkIHNrcml2bmluZyBtZWQgdyhza3JpdikuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IHNlY3RvciAlanUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiU3RhcnRzZWt0b3IgJWp1IMOkciB1dGFuZsO2ciBpbnRlcnZhbGwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1IMOkciByZWRhbiBkZWZpbmllcmFkLiBUYSBib3J0IGRlbiBpbm5hbiBkdSBsw6RnZ2VyIHRpbGwgZGVuIGlnZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIlNla3RvciAlbGx1IMOkciByZWRhbiBhbGxva2VyYWQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE4NSBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzMAorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICJJbmdhIGxlZGlnYSBzZWt0b3JlciDDpHIgdGlsbGfDpG5nbGlnYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkzDpGdnZXIgdGlsbCBsb2dpc2sgcGFydGl0aW9uICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIlBhcnRpdGlvbiAlenUgaW5uZWjDpWxsZXIgc2VrdG9yIDAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGh1dnVkICVkIMOkciBzdMO2cnJlIMOkbiBtYXhpbWFsYSAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IHNla3RvciAlZCDDpHIgc3TDtnJyZSDDpG4gbWF4aW1hbGEgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGFydGl0aW9uZXIgJXp1OiBjeWxpbmRlciAlZCDDpHIgc3TDtnJyZSDDpG4gbWF4aW1hbGEgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogdGlkaWdhcmUgc2VrdG9yZXIgJXUgc3TDpG1tZXIgaW50ZSDDtnZlcmVucyBtZWQgdG90YWxhICV1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBvbGlrYSBmeXNpc2thL2xvZ2lza2EgYsO2cmphbiAoaWNrZS1MaW51eD8pOiBmeXM9KCVkLCAlZCwgJWQpLCBsb2dpc2t0PSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBvbGlrYSBmeXNpc2thL2xvZ2lza2Egc2x1dDogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2lza3Q9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJQYXJ0aXRpb24gJXp1OiBzbHV0YXIgaW50ZSBww6UgY3lsaW5kZXJncsOkbnMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IGZlbGFrdGlnIGLDtnJqYW4gcMOlIGRhdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogw7Z2ZXJsYXBwYXIgbWVkIHBhcnRpdGlvbiAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIlBhcnRpdGlvbiAlenU6IHRvbS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2ljYWwgcGFydGl0aW9uICV6dTogbm90IGVudGlyZWx5IGluIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJMb2dpc2sgcGFydGl0aW9uICV6dTogaW50ZSBoZWx0IGludXRpIHBhcnRpdGlvbiAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAiVG90YWx0IGFudGFsIGFsbG9rZXJhZGUgc2VrdG9yZXIgJWxsdSDDpHIgc3TDtnJyZSDDpG4gbWF4aW1hbGEgJWxsdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICIlbGxkIG9hbGxva2VyYWRlICVsZC1ieXRlIHNla3RvcmVyIMOldGVyc3TDpXIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMSBsaWJmZGlzay9zcmMvZG9zLmM6MTYxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2MworbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIlV0w7ZrYWQgcGFydGl0aW9uIGV4aXN0ZXJhciByZWRhbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIlV0w7ZrYWQgcGFydGl0aW9uIGZpbm5zIGludGUuIE1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpGdnYSB0aWxsIGxvZ2lzayBwYXJ0aXRpb24uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY2NworbXNnaWQgIlRoZSBtYXhpbXVtIG51bWJlciBvZiBwYXJ0aXRpb25zIGhhcyBiZWVuIGNyZWF0ZWQuIgorbXNnc3RyICJEZXQgbWF4aW1hbGEgYW50YWxldCBwYXJ0aXRpb25lciBoYXIgc2thcGF0cy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAiQWxsYSBsb2dpc2thIHBhcnRpdGlvbmVyIGFudsOkbmRzLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICJBbGx0IHV0cnltbWV0IGbDtnIgcHJpbcOkcmEgcGFydGl0aW9uZXIgYW52w6RuZHMuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJGw7ZyIGF0dCBza2FwYSBmbGVyIHBhcnRpdGlvbmVyIG3DpXN0ZSBkdSBmw7Zyc3QgZXJzw6R0dGEgZW4gcHJpbcOkciBtZWQgZW4gdXTDtmthZCBwYXJ0aXRpb24uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJBbGxhIGxvZ2lza2EgcGFydGl0aW9uZXIgYW52w6RuZHMuIEzDpGdnZXIgdGlsbCBlbiBwcmltw6RyLXBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIlBhcnRpdGlvbnN0eXAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSBwcmltw6RyLCAlZCB1dMO2a2F0LCAlenUgbGVkaWd0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworbXNnaWQgInByaW1hcnkiCittc2dzdHIgInByaW3DpHIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgInV0w7ZrYWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMiCittc2dzdHIgImJlaMOlbGxhcmUgZsO2ciBsb2dpc2thIHBhcnRpdGlvbmVyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImxvZ2lzayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJudW1iZXJlZCBmcm9tIDUiCittc2dzdHIgIm51bXJlcmFkZSBmcsOlbiA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJPZ2lsdGlnIHBhcnRpdGlvbnN0eXAg4oCdJWPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgIkthbiBpbnRlIHNrcml2YSBzZWt0b3IgJWpkOiBzw7ZrbmluZyBtaXNzbHlja2FkZXMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJEaXNraWRlbnRpZmllcmFyZSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJUeXAgMCBiZXR5ZGVyIGxlZGlndCB1dHJ5bW1lIGbDtnIgbcOlbmdhIHN5c3RlbS4gQXR0IGhhIHBhcnRpdGlvbmVyIGF2IHR5cCAwIMOkciBmw7ZybW9kbGlnZW4gb2tsb2t0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiS2FuIGludGUgw6RuZHJhIHR5cCBmw7ZyIHV0w7ZrYWQgcGFydGl0aW9ucyBzb20gcmVkYW4gYW52w6RuZHMgYXYgbG9naXNrYSBwYXJ0aXRpb25lci4gVGEgYm9ydCBsb2dpc2thIHBhcnRpdGlvbmVyIGbDtnJzdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMjU5IGxpYmZkaXNrL3NyYy9ncHQuYzozMDM3Cittc2dpZCAiTm90aGluZyB0byBkby4gT3JkZXJpbmcgaXMgY29ycmVjdCBhbHJlYWR5LiIKK21zZ3N0ciAiSW5nZW50aW5nIGF0dCBnw7ZyYS4gT3JkbmluZ2VuIMOkciByZWRhbiBrb3JyZWt0LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiUGFydGl0aW9uICV6dTogaGFyIGluZ2V0IGRhdGFvbXLDpWRlLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIk55IGLDtnJqYW4gdXRhdiBkYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJWQVJOSU5HOiBQYXJ0aXRpb24gJXp1IMOkciBlbiB1dMO2a2FkIHBhcnRpdGlvbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJTdGFydGJhcmhldHNmbGFnZ2FuIGbDtnIgcGFydGl0aW9uICV6dSDDpHIgbnUgYWt0aXZlcmFkLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJTdGFydGJhcmhldHNmbGFnZ2FuIGbDtnIgcGFydGl0aW9uICV6dSDDpHIgbnUgaW5ha3RpdmVyYWQuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIkVuaGV0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJTdGFydCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiSWQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIlN0YXJ0LUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiU2x1dC1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXR0cmlidXQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJFRkktc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIk1CUi1wYXJ0aXRpb25zc2NoZW1hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUyBzdGFydCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlNvbnktc3RhcnRwYXJ0aXRpb24iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkxlbm92by1zdGFydHBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorbXNnaWQgIlBvd2VyUEMgUFJlUCBib290IgorbXNnc3RyICJQb3dlclBDIFBSZVAtc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIk9OSUUgc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzYKK21zZ2lkICJPTklFIGNvbmZpZyIKK21zZ3N0ciAiT05JRSBrb25maWd1cmF0aW9uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc5Cittc2dpZCAiTWljcm9zb2Z0IHJlc2VydmVkIgorbXNnc3RyICJNaWNyb3NvZnQgcmVzZXJ2ZXJhZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQgZ3J1bmRsw6RnZ2FuZGUgZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0tbWV0YWRhdGEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0tZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIldpbmRvd3Mgw6V0ZXJzdMOkbGxuaW5nc21pbGrDtiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICJJQk0gYWxsbcOkbnQgcGFyYWxsZWxsdCBmcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IGxhZ3JpbmdzdXRyeW1tZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODgKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICJIUC1VWC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiSFAtVVgtdGrDpG5zdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggdsOkeGxpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICJMaW51eC1maWxzeXN0ZW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiTGludXggc2VydmVyZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NQorbXNnaWQgIkxpbnV4IHJvb3QgKHg4NikiCittc2dzdHIgIkxpbnV4IHJvdCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IHJvdCAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIkxpbnV4IHJvdCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTS02NCkiCittc2dzdHIgIkxpbnV4IHJvdCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIkxpbnV4IHJvdFx0KElBLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eCByZXNlcnZlcmF0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXggaGVtbWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIGJvb3QiCittc2dzdHIgIkxpbnV4IHV0w7ZrYWQgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMQorbXNnaWQgIkZyZWVCU0QgZGF0YSIKK21zZ3N0ciAiRnJlZUJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNELWJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTMKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkZyZWVCU0QtdsOkeGxpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIGZyw6Vua29wcGxhZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlIHN0YXJ0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIkFwcGxlIGV0aWtldHQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYgw6V0ZXJzdMOkbGxuaW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlIGxhZ3JpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzAKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMtcm90IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMtdsOkeGxpbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcy1zw6RrZXJoZXRza29waWEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMgYWx0ZXJuYXRpdi1zZWt0b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDEiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlcmFkIDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2ZXJhZCAzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmVyYWQgNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlcmFkIDUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNELXbDpHhsaW5nIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0Qga29ua2F0ZW5lcmFkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIGtyeXB0ZXJhZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiQ2hyb21lT1Mga8Okcm5hIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiQ2hyb21lT1Mgcm90Zmlsc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIHJlc2VydmVyYWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTgKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICJNaWRuaWdodEJTRC1kYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiTWlkbmlnaHRCU0Qgc3RhcnQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRC12w6R4bGluZyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkNlcGgtam91cm5hbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaCBrcnlwdCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGggZGlzayBzcGFyYXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIkNlcGgga3J5cHRkaXNrIHNrYXBhcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgRGlhZ25vc3RpYyIKK21zZ3N0ciAiQ29tcGFxLWRpYWdub3N0aWsiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NworIywgZnV6enkKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIHJlc2VydmVyYWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKK21zZ2lkICJPcGVuQlNEIGRhdGEiCittc2dzdHIgIk9wZW5CU0QtZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIlFOWDYtZmlsc3lzdGVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGxhbiA5LXBhcnRpdGlvbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSBHUFQtaHV2dWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NDQKK21zZ2lkICJGaXJzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJGw7Zyc3RhIExCQSBhbmdpdmVuIGF2IHNrcmlwdCDDpHIgdXRhbmbDtnIgaW50ZXJ2YWxsZXQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJTaXN0YSBMQkEgYW5naXZlbiBhdiBza3JpcHQgw6RyIHV0YW5mw7ZyIGludGVydmFsbGV0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICJHUFQgUE1CUiBzdG9ybGVrc2ZlbCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikga29tbWVyIGF0dCBrb3JyaWdlcmFzIHZpZCB3KHNrcml2KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MTcKK21zZ2lkICJncHQ6IHN0YXQoKSBmYWlsZWQiCittc2dzdHIgImdwdDogc3RhdCgpIG1pc3NseWNrYWRlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICJncHQ6IGthbiBpbnRlIGhhbnRlcmEgZmlsZXIgbWVkIGzDpGdlICVvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIkdQVC1odXZ1ZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiR1BULXBvc3RlciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMjgKK21zZ2lkICJGaXJzdCBMQkEiCittc2dzdHIgIkbDtnJzdGEgTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzMworbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICJTaXN0YSBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICJBbHRlcm5hdGl2IExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiUGFydGl0aW9uc3Bvc3RlciBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICJBbGxva2VyYWRlIHBhcnRpdGlvbnNwb3N0ZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiU8Oka2VyaGV0c2tvcGlhbiBhdiBHUFQtdGFiZWxsZW4gw6RyIGtvcnJ1cHQsIG1lbiBkZW4gcHJpbcOkcmEgdmVya2FyIE9LIHPDpSBkZW4ga29tbWVyIGF0dCBhbnbDpG5kYXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIkRlbiBwcmltw6RyYSBHUFQtdGFiZWxsZW4gw6RyIGtvcnJ1cHQsIG1lbiBzw6RrZXJoZXRza29waWFuIHZlcmthciBPSyBzw6UgZGVuIGtvbW1lciBhdHQgYW52w6RuZGFzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIkdQVC1hdHRyaWJ1dHNiaXQg4oCdJXPigJ0gc3TDtmRzIGludGUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBHUFQtYXR0cmlidXRzdHLDpG5nIOKAnSVz4oCdIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICJQYXJ0aXRpb25zLVVVSUQgw6RuZHJhdCBmcsOlbiAlcyB0aWxsICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFsbG9rZXJhIHBhcnRpdGlvbnNuYW1uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gbmFtZSBjaGFuZ2VkIGZyb20gJyVzJyB0byAnJS4qcycuIgorbXNnc3RyICJQYXJ0aXRpb25zbmFtbiDDpG5kcmFkZXMgZnLDpW4g4oCdJXPigJ0gdGlsbCDigJ0lLipz4oCdLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiU3RhcnQgZsO2ciBwYXJ0aXRpb25lbiBmw7ZyZWfDpXIgRmlyc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1MgorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIlNsdXRldCBww6UgcGFydGl0aW9uZW4gc3RlZ2FyIMO2dmVyIExhc3RVc2FibGVMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICJFbmhldGVuIGlubmVow6VsbGVyIGVuIGh5YnJpZC1NQlIgLS0gc2tyaXZlciBlbmRhc3QgR1BULiBEdSBtw6VzdGUgc3lua3JvbmlzZXJhIE1CUjplbiBtYW51ZWxsdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIkRpc2sgaW5uZWjDpWxsZXIgaW50ZSBldHQgZ2lsdGlndCBzw6RrZXJoZXRzaHV2dWQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiT2dpbHRpZ3QgcHJpbcOkcmh1dnVkIHZpZCBrb250cm9sbCBhdiBDUkMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJPZ2lsdGlndCBodXZ1ZCBmw7ZyIHPDpGtlcmhldHNrb3BpYSB2aWQga29udHJvbGwgYXYgQ1JDLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjUKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiBlbnRyeSBjaGVja3N1bS4iCittc2dzdHIgIk9naWx0aWcga29udHJvbGxzdW1tYSBmw7ZyIHBhcnRpdGlvbnNwb3N0LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiT2dpbHRpZ3QgcHJpbcOkcmh1dnVkIHZpZCBrb250cm9sbCBhdiBMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIk9naWx0aWd0IGh1dnVkIGbDtnIgc8Oka2VyaGV0c2tvcGlhIHZpZCBrb250cm9sbCBhdiBMQkEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk15TEJBIHN0w6RtbWVyIGludGUgbWVkIHJpa3RpZyBwb3NpdGlvbiB2aWQgcHJpbcOkcnQgaHV2dWQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgc3TDpG1tZXIgaW50ZSBtZWQgcmlrdGlnIHBvc2l0aW9uIGkgaHV2dWRldCBww6Ugc8Oka2VyaGV0c2tvcGlhbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIkRpc2tlbiDDpHIgZsO2ciBsaXRlbiBmw7ZyIGF0dCBow6VsbGEgYWxsIGRhdGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICJQcmltw6RydCBodXZ1ZCBvY2ggaHV2dWQgaSBzw6RrZXJoZXRza29waWEgc3TDpG1tZXIgaW50ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIlBhcnRpdGlvbiAldSDDtnZlcmxhcHBhciBtZWQgcGFydGl0aW9uICV1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGlzIHRvbyBiaWcgZm9yIHRoZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IMOkciBmw7ZyIHN0b3IgZsO2ciBkaXNrZW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IHNsdXRhciBmw7ZyZSBkZW4gYsO2cmphci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiSW5nYSBmZWwgaGl0dGFkZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIkh1dnVkdmVyc2lvbjogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nICV6dSBvdXQgb2YgJXp1IHBhcnRpdGlvbnMuIgorbXNnc3RyICJBbnbDpG5kZXIgJXp1IGF2ICV6dSBwYXJ0aXRpb25lci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIlRvdGFsdCAlanUgbGVkaWdhIHNla3RvcmVyIMOkciB0aWxsZ8OkbmdsaWdhIGkgJXUgc2VnbWVudC4iCittc2dzdHJbMV0gIlRvdGFsdCAlanUgbGVkaWdhIHNla3RvcmVyIMOkciB0aWxsZ8OkbmdsaWdhIGkgJXUgc2VnbWVudCAoZGV0IHN0w7Zyc3RhIMOkciAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiVkIGZlbCBoaXR0YWRlcy4iCittc2dzdHJbMV0gIiVkIGZlbCBoaXR0YWRlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzI2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiQWxsYSBwYXJ0aXRpb25lciBhbnbDpG5kcyByZWRhbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgzIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiU2VrdG9yICVqdSBhbnbDpG5kcyByZWRhbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiS3VuZGUgaW50ZSBza2FwYSBpbnRlIHBhcnRpdGlvbiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJEZW4gc2lzdGEgYW52w6RuZGJhcmEgR1BULXNla3Rvcm4gw6RyICVqdSwgbWVuICVqdSBiZWfDpHJkZXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIkRlbiBmw7Zyc3RhIGFudsOkbmRiYXJhIEdQVC1zZWt0b3JuIMOkciAlanUsIG1lbiAlanUgYmVnw6RyZGVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICJTa2FwYWRlIGVuIG55IEdQVC1kaXNrZXRpa2V0dCAoR1VJRDogJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NDYKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIk1hdGEgaW4gZXR0IG55dHQgZGlzay1VVUlEIChpIDgtNC00LTQtMTItZm9ybWF0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgZGluIFVVSUQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiRGlza2lkZW50aWZpZXJhcmUgw6RuZHJhZCBmcsOlbiAlcyB0aWxsICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiSW50ZSB0aWxscsOkY2tsaWd0IGxlZGlndCB1dHJ5bW1lIGbDtnIgbnkgcGFydGl0aW9uc3RhYmVsbCEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIlBhcnRpdGlvbiAjJXp1IHV0YW5mw7ZyIGludGVydmFsbCAobWluc3RhIHN0YXJ0IMOkciAlPFBSSXU2ND4gc2VrdG9yZXIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwMworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiUGFydGl0aW9uICMlenUgw6RyIHV0YW5mw7ZyIGludGVydmFsbCAoc3TDtnJzdGEgc2x1dCDDpHIgJTxQUkl1NjQ+IHNla3RvcmVyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiUGFydGl0aW9uc251bXJldCBtw6VzdGUgdmFyYSBtaW5kcmUgw6RuICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIkthbiBpbnRlIGFsbG9rZXJhIG1pbm5lISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIkzDpG5nZCBmw7ZyIHBhcnRpdGlvbnN0YWJlbGwgw6RuZHJhZCBmcsOlbiAlPFBSSXUzMj4gdGlsbCAlPFBSSXU2ND4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICJBdHRyaWJ1dGVuIGbDtnIgcGFydGl0aW9uICV6dSDDpG5kcmFkZSB0aWxsIDB4JTAxNjxQUkl4NjQ+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NTgKK21zZ2lkICJFbnRlciBHVUlEIHNwZWNpZmljIGJpdCIKK21zZ3N0ciAiTWF0YSBpbiBHVUlELXNwZWNpZmlrIGJpdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB2w6R4bGEgYml0ICVsdSBzb20gaW50ZSBzdMO2ZHMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiR1VJRC1zcGVjaWZpayBiaXQgJWQgZsO2ciBwYXJ0aXRpb24gJXp1IMOkciBha3RpdmVyYWQgbnUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICJHVUlELXNwZWNpZmlrIGJpdCAlZCBmw7ZyIHBhcnRpdGlvbiAlenUgw6RyIGluYWt0aXZlcmFkIG51LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkZsYWdnYW4gJXMgZsO2ciBwYXJ0aXRpb24gJXp1IMOkciBudSBha3RpdmVyYWQuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkZsYWdnYW4gJXMgZsO2ciBwYXJ0aXRpb24gJXp1IMOkciBudSBpbmFrdGl2ZXJhZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM0Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJUeXAtVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJOYW1uIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiTGVkaWd0IHV0cnltbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCDDpG5kcmEgc3RvcmxlayBww6UgcGFydGl0aW9uZW4gIyV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0dHlwZS5jOjI1OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTUKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk5IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE3IHNjaGVkdXRpbHMvY2hydC5jOjIwNQorIzogc2NoZWR1dGlscy9pb25pY2UuYzo3OSBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgInVua25vd24iCittc2dzdHIgIm9rw6RuZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJLXZvbGh2ZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSS1zcHJyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJLXNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSByw6UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJLXZvbHltIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJ2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NgorbXNnaWQgIlNHSSB4ZnMiCittc2dzdHIgIlNHSSB4ZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NworbXNnaWQgIlNHSSB4ZnNsb2ciCittc2dzdHIgIlNHSSB4ZnNsb2ciCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIlNHSSB4bHYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OQorbXNnaWQgIlNHSSB4dm0iCittc2dzdHIgIlNHSSB4dm0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MSBsaWJmZGlzay9zcmMvc3VuLmM6NTIKK21zZ2lkICJMaW51eCBuYXRpdmUiCittc2dzdHIgIkxpbnV4IGVnZW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICJTR0ktaW5mbyBza2FwYWQgaSBhbmRyYSBzZWt0b3JuLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OAorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIkhpdHRhZGUgU0dJLWRpc2tldGlrZXR0IG1lZCBmZWxha3RpZyBrb250cm9sbHN1bW1hLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MSBsaWJmZGlzay9zcmMvc3VuLmM6NzgzCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJGeXNpc2thIGN5bGluZHJhciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICJFeHRyYSBzZWt0L2N5bCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICJTdGFydGZpbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJPZ2lsdGlnIHN0YXJ0ZmlsISBTdGFydGZpbGVuIG3DpXN0ZSB2YXJhIGVuIGFic29sdXQgaWNrZS10b20gc8O2a3bDpGcsIHQuZXguIOKAnS91bml44oCdIGVsbGVyIOKAnS91bml4LnNhdmXigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIk5hbW5ldCBww6Ugc3RhcnRmaWxlbiDDpHIgZsO2ciBsw6VuZ3Q6ICV6dSBieXRlIMOkciBtYXguIgorbXNnc3RyWzFdICJOYW1uZXQgcMOlIHN0YXJ0ZmlsZW4gw6RyIGbDtnIgbMOlbmd0OiAlenUgYnl0ZSDDpHIgbWF4LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIlN0YXJ0ZmlsZW4gbcOlc3RlIGhhIGVuIGZ1bGxzdMOkbmRpZyBzw7ZrdsOkZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTMKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiT2JzZXJ2ZXJhIGF0dCBkZXQgaW50ZSBrb250cm9sbGVyYXMgb20gc3RhcnRmaWxlbiBmaW5ucy4gU0dJOnMgc3RhbmRhcmRhbHRlcm5hdGl2IMOkciDigJ0vdW5peOKAnSByZXNwZWt0aXZlIOKAnS91bml4LnNhdmXigJ0gZsO2ciBzw6RrZXJoZXRza29waW9yLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICJBa3R1ZWxsIHN0YXJ0ZmlsIMOkcjogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDAKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiQW5nZSBuYW1uZXQgcMOlIGRlbiBueWEgc3RhcnRmaWxlbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJTdGFydGZpbGVuIG9mw7Zyw6RuZHJhZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICJTdGFydGZpbGVuIMOkbmRyYWRlcyB0aWxsIOKAnSVz4oCdLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIkRldCBmaW5ucyBmbGVyIMOkbiBlbiBkaXNrcG9zdC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIkluZ2EgcGFydGl0aW9uZXIgw6RyIGRlZmluaWVyYWQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEyCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCBnaWxsYXIgb20gcGFydGl0aW9uIDExIHTDpGNrZXIgaGVsYSBow6VyZGRpc2tlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIHBhcnRpdGlvbiBzaG91bGQgc3RhcnQgYXQgYmxvY2sgMCwgbm90IGF0IGJsb2NrICVkLiIKK21zZ3N0ciAiSGVsYSBkaXNrcGFydGl0aW9uZW4gYsO2ciBiw7ZyamEgdmlkIGJsb2NrIDAsIGludGUgdmlkIGJsb2NrICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiUGFydGl0aW9uIDExIGLDtnIgdMOkY2thIGhlbGEgaMOlcmRkaXNrZW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUGFydGl0aW9uICVkIG9jaCAlZCDDtnZlcmxhcHBhciB2YXJhbmRyYSBtZWQgJWQgc2VrdG9yLiIKK21zZ3N0clsxXSAiUGFydGl0aW9uICVkIG9jaCAlZCDDtnZlcmxhcHBhciB2YXJhbmRyYSBtZWQgJWQgc2VrdG9yZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiT2FudsOkbnQgbWVsbGFucnVtIHDDpSAlOHUgc2VrdG9yOiBzZWt0b3IgJTh1IgorbXNnc3RyWzFdICJPYW52w6RudCBtZWxsYW5ydW0gcMOlICU4dSBzZWt0b3Jlcjogc2VrdG9yZXIgJTh1LSV1IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3Cittc2dpZCAiVGhlIGJvb3QgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiU3RhcnRwYXJ0aXRpb25lbiBmaW5ucyBpbnRlLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIlbDpHhsaW5nc3BhcnRpdGlvbmVuIGZpbm5zIGludGUuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA1Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICJWw6R4bGluZ3NwYXJ0aXRpb25lbiBoYXIgaW5nZW4gdsOkeGxpbmdzdHlwLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOAorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICJEdSBoYXIgdmFsdCBldHQgb3ZhbmxpZ3QgbmFtbiBww6Ugc3RhcnRmaWxlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlBhcnRpdGlvbmVyIMO2dmVybGFwcGEgcMOlIGRpc2tlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJGw7Zyc8O2a2VyIGF0dCBnZW5lcmVyYSBmdWxsc3TDpG5kaWcgZGlza3Bvc3QgYXV0b21hdGlza3QuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ4Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICJIZWxhIGRpc2tlbiDDpHIgcmVkYW4gdMOkY2t0IG1lZCBwYXJ0aXRpb25lci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTIKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIkR1IGhhciBwYXJ0aXRpb25lciBzb20gw7Z2ZXJsYXBwYXIgdmFyYW5kcmEgcMOlIGRpc2tlbi4gRml4YSBkZXQgZsO2cnN0ISIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICJGw7Zyc3RhICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiRGV0IHJla29tbWVuZGVyYXMgdmFybXQgYXR0IGRlbiBlbGZ0ZSBwYXJ0aXRpb25lbiB0w6Rja2VyIGhlbGEgaMOlcmRkaXNrZW4gb2NoIMOkciBhdiB0eXBlbiDigJ1TR0ktdm9seW3igJ0uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU2lzdGEgJXMgZWxsZXIgKyVzIGVsbGVyICtzdG9ybGVre0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIkJMS0dFVFNJWkUtaW9jdGwgbWlzc2x5Y2thZGVzIHDDpSAlcy4gQW52w6RuZGVyIGdlb21ldHJpY3lsaW5kZXJ2w6RyZGV0ICVsbHUuIERldHRhIHbDpHJkZSBrYW4gdHJ1bmtlcmF0IGbDtnIgZW5oZXRlciA+IDMzLDggR0IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIlNrYXBhZGUgZW4gbnkgU0dJLWRpc2tldGlrZXR0LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNjkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIkR1IGthbiBlbmRhc3Qgw6RuZHJhIHRhZ2dlbiBmw7ZyIGlja2UtdG9tbWEgcGFydGl0aW9uZXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIsOWdmVydsOkZyBhdHQgbMOkbW5hIHBhcnRpdGlvbiA5IHNvbSB2b2x5bWh1dnVkICgwKSBvY2ggcGFydGl0aW9uIDExIHNvbSBoZWwgdm9seW0gKDYpIGVmdGVyc29tIElSSVggZsO2cnbDpG50YXIgc2lnIGRldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg0Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICJEZXQgcmVrb21tZW5kZXJhcyB2YXJtdCBhdHQgcGFydGl0aW9uZW4gcMOlIHBvc2l0aW9uIDAgw6RyIGF2IHR5cGVuIOKAnVNHSSB2b2xodmTigJ0sIElSSVgtc3lzdGVtZXQga29tbWVyIGF0dCBmw7ZybGl0YSBzaWcgcMOlIGRldCBmw7ZyIGF0dCBow6RtdGEgc2rDpGx2c3TDpG5kaWdhIHZlcmt0eWcgc29tIHNhc2ggb2NoIGZ4IGZyw6VuIGRlc3Mga2F0YWxvZy4gRW5kYXN0IGRlbiBmdWxsc3TDpG5kaWdhIGRpc2tzZWt0aW9uZW4g4oCdU0dJLXZvbHlt4oCdIGbDpXIgbG92IGF0dCBicnl0YSBtb3QgZGV0dGEuIMOEciBkdSBzw6RrZXIgcMOlIGF0dCBkdSB2aWxsIHRhZ2dhIGRlbm5hIHBhcnRpdGlvbiBhbm5vcmx1bmRhPyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiT3RpbGxkZWxhZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiU3VuT1Mgcm90IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyB2w6R4bGluZyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIkhlbGEgZGlza2VuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0IHNla3RvcmVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJTdW5PUyBjYWNoZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiU3VuT1MgcmVzZXJ2ZXJhZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzMAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIkRldGVrdGVyYWRlIGVuIHN1bi1kaXNrZXRpa2V0dCBtZWQgZmVsYWt0aWcga29udHJvbGxzdW1tYS4gRHUgbcOlc3RlIHRyb2xpZ3R2aXMgc3TDpGxsYSBpbiBhbGxhIHbDpHJkZW4sIHQuZXguIGh1dnVkZW4sIHNla3RvcmVyLCBjeWxpbmRyYXIgb2NoIHBhcnRpdGlvbmVyLCBlbGxlciB0dmluZ2EgZW4gbnkgZXRpa2V0dCAoa29tbWFuZG90IHMgaSBodXZ1ZG1lbnluKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiSWRlbnRpZmllcmFkZSBzdW4tZGlza2V0aWtldHQgbWVkIGZlbGFrdGlnIHZlcnNpb24gWyVkXS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAiSWRlbnRpZmllcmFkZSBzdW4tZGlza2V0aWtldHQgbWVkIGZlbGFrdGlnIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIklkZW50aWZpZXJhZGUgc3VuLWRpc2tldGlrZXR0IG1lZCBmZWxha3RpZyB2dG9jLm5wYXJ0cyBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJWYXJuaW5nOiBGZWxha3RpZ2EgdsOkcmRlbiBiZWjDtnZlciByw6R0dGFzIHRpbGwgb2NoIGtvbW1lciBhdHQga29ycmlnZXJhcyBhdiB3KHNrcml2KSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE4NworbXNnaWQgIkhlYWRzIgorbXNnc3RyICJIdXZ1ZGVuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTkyCittc2dpZCAiU2VjdG9ycy90cmFjayIKK21zZ3N0ciAiU2VrdG9yZXIvc3DDpXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJTa2FwYWRlIGVuIG55IFN1bi1kaXNrZXRpa2V0dC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGFydGl0aW9uICV1IHNsdXRhciBpbnRlIHDDpSBqw6RtbiBjeWxpbmRlcmdyw6Rucy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJQYXJ0aXRpb24gJXUgw7Z2ZXJsYXBwYXIgbWVkIGFuZHJhIHDDpSBzZWt0b3Jlcm5hICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAwLSV1LiIKK21zZ3N0ciAiT2FudsOkbnQgbWVsbGFucnVtIC0gc2VrdG9yZXJuYSAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiT2FudsOkbnQgbWVsbGFucnVtIC0gc2VrdG9yZXJuYSAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MzQKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIkFuZHJhIHBhcnRpdGlvbmVyIHTDpGNrZXIgcmVkYW4gaGVsYSBow6VyZGRpc2tlbi4gVGEgYm9ydCBuw6VncmEva3J5bXAgZGVtIGlubmFuIGR1IGbDtnJzw7ZrZXIgaWdlbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIkRldCByZWtvbW1lbmRlcmFzIHZhcm10IGF0dCBkZW4gZWxmdGUgcGFydGl0aW9uZW4gdMOkY2tlciBoZWxhIGRpc2tlbiBvY2ggw6RyIGF2IHR5cGVuIOKAnUhlbGEgZGlza2Vu4oCdIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkp1c3RlcmFyIGRlbiBmw7Zyc3RhIHNla3Rvcm4gZnLDpW4gJXUgdGlsbCAldSBmw7ZyIGF0dCBtYXRjaGEgY3lsaW5kZXJncsOkbnMuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAiU2VrdG9yICVkIMOkciByZWRhbiBhbGxva2VyYWQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIkR1IGhhciBpbnRlIHTDpGNrdCBoZWxhIGRpc2tlbiBtZWQgZGVuIHRyZWRqZSBwYXJ0aXRpb25lbiwgbWVuIGRpdHQgdsOkcmRlICVsdSAlcyB0w6Rja2VyIGVuIGFubmFuIHBhcnRpdGlvbi4gRGluIGlubWF0bmluZyBoYXIgw6RuZHJhdHMgdGlsbCAlbHUgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIk9tIGR1IHZpbGwgYmVow6VsbGEga29tcGF0aWJpbGl0ZXQgbWVkIFN1bk9TL1NvbGFyaXMgYsO2ciBkdSDDtnZlcnbDpGdhIGF0dCBsw6RtbmEgZGVubmEgcGFydGl0aW9uIHNvbSBIZWxhIGRpc2tlbiAoNSksIG1lZCBiw7ZyamFuIHDDpSAwLCBvY2ggbWVkICV1IHNla3RvcmVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIkV0aWtldHQtSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjgKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIlZvbHltLUlEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWx0ZXJuYXRpdmEgY3lsaW5kcmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkFudGFsIGFsdGVybmVyYW5kZSBjeWxpbmRyYXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiRXh0cmEgc2VrdG9yZXIgcGVyIGN5bGluZGVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIkluZmzDpHRuaW5nc2Zha3RvciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJSb3RhdGlvbnNoYXN0aWdoZXQgKHZhcnYgcGVyIG1pbnV0KSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkFudGFsIGZ5c2lza2EgY3lsaW5kcmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0NgorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIkR1IGLDtnIgw7Z2ZXJ2w6RnYSBhdHQgbMOkbW5hIHBhcnRpdGlvbiAzIHNvbSBIZWwgZGlzayAoNSksIGTDpVxuIgorIlN1bk9TL1NvbGFyaXMgZsO2cnbDpG50YXIgc2lnIGRldCBvY2ggw6R2ZW4gTGludXggZ2lsbGFyIGRldC5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJEZXQgcmVrb21tZW5kZXJhcyB2YXJtdCBhdHQgcGFydGl0aW9uZW4gcMOlIGF2c3TDpW5kIDAgw6RyXG4iCisiVUZTLCBmaWxzeXN0ZW1ldCBFWFQyRlMgZWxsZXIgU3VuT1MtdsOkeGxpbmdzeXRhLiBBdHQgbMOkZ2dhXG4iCisiTGludXgtdsOkeGxpbmdzeXRhIGTDpHIga2FuIGbDtnJzdMO2cmEgZGluIHBhcnRpdGlvbnN0YWJlbGwgb2NoIHN0YXJ0YmxvY2suXG4iCisiw4RyIGR1IHPDpGtlciBww6UgYXR0IGR1IHZpbGwgdGFnZ2EgcGFydGl0aW9uZW4gc29tIExpbnV4LXbDpHhsaW5nc3l0YT8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0LmM6MjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiw6V0Z8OkcmQgbWlzc2x5Y2thZGVzOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiVkFSTklORzogbWlzc2x5Y2thZGVzIG1lZCBhdHQgdGlsbMOkbXBhIHByb3BhZ2VyaW5nc2ZsYWdnb3IiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBkZXZpY2Ugd3JpdGUtcHJvdGVjdGVkLCBtb3VudGVkIHJlYWQtb25seSIKK21zZ3N0ciAiVkFSTklORzogZW5oZXQgc2tyaXZza3lkZGFkLCBtb250ZXJhZCBzb20gZW5kYXN0IGzDpHNiYXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gcGVybWl0dGVkIGZvciByb290IG9ubHkiCittc2dzdHIgIsOldGfDpHJkIGVuZGFzdCB0aWxsw6V0ZW4gZsO2ciByb290IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICIlcyDDpHIgcmVkYW4gbW9udGVyYWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIGluICVzIgorbXNnc3RyICJrYW4gaW50ZSBoaXR0YSBpICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAia2FuIGludGUgaGl0dGEgbW9udGVyaW5nc3B1bmt0IGkgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAia2FuIGludGUgaGl0dGEgbW9udGVyaW5nc2vDpGxsYSAlcyBpICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZCBvbiAlczsgdXNlIC10IDx0eXBlPiBvciB3aXBlZnMoOCkiCittc2dzdHIgInl0dGVybGlnYXJlIGZpbHN5c3RlbXNkZXRla3RlcmluZyBmw7ZyICVzOyBhbnbDpG5kIC10IDx0eXA+IGVsbGVyIHdpcGVmcyg4KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBpZGVudGlmaWVyYSBmaWxzeXN0ZW1zdHlwIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gZmlsc3lzdGVtc3R5cCBhbmdpdmVuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAia2FuIGludGUgaGl0dGEgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJpbmdlbiBtb250ZXJpbmdzcHVua3QgYW5naXZlbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgbW9udGVyaW5nc2ZsYWdnb3I6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIG1vbnRlcmluZ3NmbGFnZ29yIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBsb29wZW5oZXQgZsO2ciAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgJXMiCittc2dzdHIgIsO2dmVybGFwcGFuZGUgbG9vcGVuaGV0IGV4aXN0ZXJhciBmw7ZyICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAibMOlc25pbmcgbWlzc2x5Y2thZGVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgbWlzc2x5Y2thZGVzOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiZmlsc3lzdGVtZXQgbW9udGVyYWRlcywgbWVuIG1pc3NseWNrYWRlcyBtZWQgYXR0IHVwcGRhdGVyYSBtb250ZXJpbmdzdGFiZWxsIGkgYW52w6RuZGFycnltZCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiZmlsc3lzdGVtZXQgbW9udGVyYWRlcywgbWVuIGVmdGVyZsO2bGphbmRlIMOldGfDpHJkIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJtb250ZXJpbmdzcHVua3Qgw6RyIGludGUgZW4ga2F0YWxvZyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiw6V0a29tc3QgbmVrYXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIm3DpXN0ZSB2YXJhIHN1cGVyYW52w6RuZGFyZSBmw7ZyIGF0dCBhbnbDpG5kYSBtb3VudCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCDDpHIgdXBwdGFnZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ3NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzIMOkciByZWRhbiBtb250ZXJhZCBww6UgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAiJXMgw6RyIHJlZGFuIG1vbnRlcmFkIGVsbGVyIHPDpSDDpHIgbW9udGVyaW5nc3B1bmt0ZW4gdXBwdGFnZW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAibW9udGVyaW5nc3B1bmt0IGZpbm5zIGludGUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAibW9udGVyaW5nc3B1bmt0IMOkciBlbiBzeW1ib2xpc2sgbMOkbmsgdGlsbCBpbmdlbnN0YW5zIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgInNwZWNpYWxlbmhldCAlcyBmaW5ucyBpbnRlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50KDIpIHN5c3RlbWFucm9wIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICJzcGVjaWFsZW5oZXQgJXMgZmlubnMgaW50ZSAoZXR0IHPDtmt2w6Rnc3ByZWZpeCDDpHIgaW50ZSBlbiBrYXRhbG9nKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm1vbnRlcmluZ3NwdW5rdCBpbnRlIG1vbnRlcmFkIGVsbGVyIGZlbGFrdGlnIGZsYWdnYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICJpbnRlIGVuIG1vbnRlcmluZ3NwdW5rdCBlbGxlciBmZWxha3RpZyBmbGFnZ2EiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiZmVsYWt0aWcgZmxhZ2dhOyBhdHQgZmx5dHRhIGVuIG1vbnRlcmluZyBzb20gZmlubnMgdW5kZXIgZW4gZGVsYWQgbW9udGVyaW5nIHN0w7ZkcyBpbnRlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHQgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSIKK21zZ3N0ciAiZmVsYWt0aWcgZmxhZ2dhOyBmw7ZyIGZsZXJhIGZpbHN5c3RlbSAodC5leC4gbmZzLCBjaWZzKSBrYW4gZHUgYmVow7Z2YSBldHQgaGrDpGxwcHJvZ3JhbSAvc2Jpbi9tb3VudC48dHlwPiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiZmVsIGZpbHN5c3RlbXN0eXAsIGZlbGFrdGlnIGZsYWdnYSwgZmVsYWt0aWd0IHN1cGVyYmxvY2sgcMOlICVzLCB0ZWNrZW50YWJlbGwgZWxsZXIgaGrDpGxwcHJvZ3JhbSBzYWtuYXMsIGVsbGVyIGFubmF0IGZlbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgIm1vbnRlcmluZ3N0YWJlbGxlbiBmdWxsIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBzdXBlcmJsb2NrIHDDpSAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIm9rw6RuZCBmaWxzeXN0ZW1zdHlwIOKAnSVz4oCdIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIm9rw6RuZCBmaWxzeXN0ZW1zdHlwIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzIMOkciBpbnRlIGVuIGJsb2NrZW5oZXQsIG9jaCBzdGF0KDIpIG1pc3NseWNrYXM/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICJrw6RybmFuIGvDpG5uZXIgaW50ZSBpZ2VuICVzIHNvbSBlbiBibG9ja2VuaGV0OyBrYW5za2Ug4oCdbW9kcHJvYmUgZHJpdnJ1dGlu4oCdIMOkciBuw7ZkdsOkbmRpZ3QiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXMgw6RyIGludGUgZW4gYmxvY2tlbmhldCwgcHJvdmEgbWVkIOKAnS1vIGxvb3DigJ0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIMOkciBpbnRlIGVuIGJsb2NrZW5oZXQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIMOkciBpbnRlIGVuIGdpbHRpZyBibG9ja2VuaGV0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAia2FuIGludGUgbW9udGVyYSAlcyBzb20gZW5kYXN0IGzDpHNiYXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiVzIMOkciBza3JpdnNreWRkYWQgbWVuIGVuIGV4cGxpY2l0IHNrcml2YmFydCBsw6RnZSBiZWfDpHJkZXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgImthbiBpbnRlIMOldGVybW9udGVyYSAlcyBmw7ZyIGzDpHNuaW5nL3Nrcml2bmluZywgZGVuIMOkciBza3JpdnNreWRkYWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiYmluZCAlcyBtaXNzbHlja2FkZXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtZWRpdW0gZm91bmQgb24gJXMiCittc2dzdHIgImluZ2V0IG1lZGlhIGhpdHRhdCBww6UgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICJrYW4gaW50ZSBtb250ZXJhOyBmw7ZybW9kbGlnZW4ga29ycnVwdCBmaWxzeXN0ZW0gcMOlICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDcyIGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgImludGUgbW9udGVyYWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgInVtb3VudCBtaXNzbHlja2FkZXM6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJmaWxzeXN0ZW1ldCBhdm1vbnRlcmFkZXMsIG1lbiBtaXNzbHlja2FkZXMgbWVkIGF0dCB1cHBkYXRlcmEgbW9udGVyaW5nc3RhYmVsbCBpIGFudsOkbmRhcnJ5bWQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgImZpbHN5c3RlbWV0IGF2bW9udGVyYWRlcywgbWVuIGVmdGVyZsO2bGphbmRlIMOldGfDpHJkIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIm9naWx0aWcgYmxvY2tlbmhldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgc3VwZXJibG9jayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAibcOlbCB1cHB0YWdldCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIG1vbnRlcmluZ3NwdW5rdCBhbmdhdnMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAibcOlc3RlIHZhcmEgc3VwZXJhbnbDpG5kYXJlIGbDtnIgYXR0IGF2bW9udGVyYSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgImJsb2NrZW5oZXRlciDDpHIgaW50ZSB0aWxsw6V0bmEgcMOlIGZpbHN5c3RlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAidW1vdW50KDIpIHN5c3RlbWFucm9wIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkKCVzKSBtaXNzbHlja2FkZXMiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBhdHQga8O2cmEgY2FsbG9jYXRlIGbDtnIgY3B1LXVwcHPDpHR0bmluZyIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBDUFUtbGlzdGEgJXMiCisKKyM6IGxpYi9wYXRoLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgQ1BVLW1hc2sgJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzMKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIFVOSVgtdXR0YWciCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzkKK21zZ2lkICJjYW5ub3Qgc2V0IG9wdGlvbiBmb3IgVU5JWCBzb2NrZXQiCittc2dzdHIgImthbiBpbnRlIHN0w6RsbGEgaW4gYWx0ZXJuYXRpdiBmw7ZyIFVOSVgtdXR0YWciCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKK21zZ2lkICJjYW5ub3QgY29ubmVjdCBvbiBVTklYIHNvY2tldCIKK21zZ3N0ciAia2FuIGludGUgYW5zbHV0YSB0aWxsIFVOSVgtdXR0YWciCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAicGx5bW91dGgtYmVnw6RyYW4gJWMgw6RyIGludGUgaW1wbGVtZW50ZXJhZCIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICJnZXRyYW5kb20oKS1mdW5rdGlvbiIKKworIzogbGliL3JhbmR1dGlscy5jOjE5OQorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgInBzZXVkb3NsdW1wc3RhbHNmdW5rdGlvbmVyIGZyw6VuIGxpYmMiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MTcgbGliL3N3YXBwcm9iZXIuYzozMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHByb2JlIGRldmljZSIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIGF2c8O2a2EgZW5oZXQiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IG90eWRsaWd0IGF2c8O2a25pbmdzcmVzdWx0YXQ7IGFudsOkbmQgd2lwZWZzKDgpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXM6IGludGUgZW4gZ2lsdGlnIHbDpHhsaW5nc3BhcnRpdGlvbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiVzOiB2w6R4bGluZ3N2ZXJzaW9uIOKAnSVz4oCdIHN0w7ZkcyBpbnRlIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDU5CisjLCBmdXp6eQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAibmFtZWk6IGJ1ZmZlcnRzcGlsbFxuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIlbDpHJkZSB1dGFuZsO2ciBpbnRlcnZhbGwuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTYgbG9naW4tdXRpbHMvY2hzaC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxhbnbDpG5kYXJuYW1uPl1cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLDhG5kcmEgZGluIGZpbmdlcmluZm9ybWF0aW9uLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGxzdMOkbmRpZ3QgbmFtbj4gcmlrdGlndCBuYW1uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPGtvbnRvcj4gICAgICAgICAgICAgICBrb250b3JzbnVtbWVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHRmbm5yPiAgICAgICAgICB0ZWxlZm9ubnVtbWVyIHRpbGwga29udG9yZXRcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDx0ZWxlZm9uPiAgICAgICAgICBudW1tZXIgdGlsbCBoZW10ZWxlZm9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgImbDpGx0ZXQgJXMgw6RyIGbDtnIgbMOlbmd0IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVzOiBoYXIgb3RpbGzDpXRuYSB0ZWNrZW4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICJsb2dpbi5kZWZzIGbDtnJianVkZXIgaW5zdMOkbGxuaW5nZW4gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzI2Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICJLb250b3IiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICJLb250b3JzdGVsZWZvbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJIZW10ZWxlZm9uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAia2FuIGludGUgaGFudGVyYSBmbGVyYSBhbnbDpG5kYXJuYW1uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIkF2YnLDtnRzLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIGhhciBvdsOkbnRhdCB2w6RyZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCB0aWxsw6V0ZXIgaW50ZSBuw6VncmEgw6RuZHJpbmdhciIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiRmluZ2VyaW5mb3JtYXRpb25lbiDDpG5kcmFkZXMgKklOVEUqLiBGw7Zyc8O2ayBpZ2VuIHNlbmFyZS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyaW5mb3JtYXRpb25lbiDDpG5kcmFkZXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiZHUgKGFudsOkbmRhcmUgJWQpIGZpbm5zIGludGUuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiYW52w6RuZGFyZW4g4oCdJXPigJ0gZmlubnMgaW50ZS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICJrYW4gZW5kYXN0IMOkbmRyYSBsb2thbGEgcG9zdGVyIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzIHRpbGzDpXRzIGludGUgw6RuZHJhIGZpbmdlcmluZm9ybWF0aW9uZW4gZsO2ciAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIk9rw6RudCBhbnbDpG5kYXJzYW1tYW5oYW5nIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgImthbiBpbnRlIHN0w6RsbGEgaW4gc3RhbmRhcmRrb250ZXh0IGbDtnIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NjkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJkZXQga8O2cmFuZGUgVUlEOmV0IHN0w6RtbWVyIGludGUgw7Z2ZXJlbnMgbWVkIFVJRCBmw7ZyIGRlbiBhbnbDpG5kYXJlIHZpIGbDtnJzw7ZrZXIgw6RuZHJhLCDDpG5kcmluZyBuZWthZGVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIsOEbmRyYXIgZmluZ2VyaW5mb3JtYXRpb24gZsO2ciAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlcmluZm9ybWF0aW9uZW4gw6RuZHJhZGVzIGludGUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICLDhG5kcmEgZGl0dCBpbmxvZ2duaW5nc3NrYWwuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2thbD4gICBhbmdlIGlubG9nZ25pbmdzc2thbFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODEKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHNrcml2IHV0IGVuIGxpc3RhIMO2dmVyIHNrYWwgb2NoIGF2c2x1dGFcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAic2thbGV0IG3DpXN0ZSB2YXJhIGVuIGZ1bGxzdMOkbmRpZyBzw7ZrdsOkZyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuKAnSVz4oCdIGZpbm5zIGludGUiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICLigJ0lc+KAnSDDpHIgaW50ZSBrw7ZyYmFyIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiVmFybmluZzog4oCdJXPigJ0gZmlubnMgaW50ZSBtZWQgaSAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyNDQgbG9naW4tdXRpbHMvY2hzaC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gJXMuXG4iCisiVXNlICVzIC1sIHRvIHNlZSBsaXN0LiIKK21zZ3N0ciAiIgorIuKAnSVz4oCdIGZpbm5zIGludGUgbWVkIGkgJXMuXG4iCisiQW52w6RuZCAlcyAtbCBmw7ZyIGF0dCBzZSBsaXN0YS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBzaGVsbCBvZiAlcyIKK21zZ3N0ciAiJXMgdGlsbMOldHMgaW50ZSBieXRhIHNrYWxldCBmw7ZyICVzIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiZGV0IGvDtnJhbmRlIFVJRDpldCBzdMOkbW1lciBpbnRlIMO2dmVyZW5zIG1lZCBVSUQgZsO2ciBkZW4gYW52w6RuZGFyZSB2aSBmw7Zyc8O2a2VyIGbDtnLDpG5kcmEsIHNrYWxieXRlIG5la2FkZXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgImRpdHQgc2thbCBmaW5ucyBpbnRlIGkgJXMsIHNrYWxieXRlIG5la2FkZXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICJCeXRlciBza2FsIGbDtnIgJXMuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNDIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIk55dHQgc2thbCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiU2thbGV0IGJ5dHRlcyBpbnRlLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTa2FsZXQgYnl0dGVzICpJTlRFKi4gRsO2cnPDtmsgaWdlbiBzZW5hcmUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisic2V0cHduYW0gbWlzc2x5Y2thZGVzXG4iCisiU2thbGV0IGJ5dHRlcyAqSU5URSouIEbDtnJzw7ZrIGlnZW4gc2VuYXJlLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICJTa2FsZXQgYnl0dGVzLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiQW52w6RuZG5pbmc6ICVzIDxsw7ZzZW5vcmRzZmlsPiA8YW52w6RuZGFybmFtbj7igKZcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICJva8OkbnQgdGlkc2Zvcm1hdDogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiQXZicnV0ZW4gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzUgbG9naW4tdXRpbHMvbGFzdC5jOjQ0NiBsb2dpbi11dGlscy9sYXN0LmM6ODkyCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJmw7ZyYWxsb2tlcmluZ3NzdG9ybGVrIMO2dmVyc2tyZWRzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPGFudsOkbmRhcm5hbW4+4oCmXSBbPHR0eT7igKZdXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiVmlzYSBlbiBsaXN0YSDDtnZlciBzZW5hc3QgaW5sb2dnYWRlIGFudsOkbmRhcmUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzgKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTxudW1tZXI+ICAgICAgICAgICAgaHVyIG3DpW5nYSByYWRlciBzb20gc2thIHZpc2FzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICB2aXNhIHbDpHJkbmFtbiBpIHNpc3RhIGtvbHVtbmVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgIMO2dmVyc8OkdHQgSVAtbnVtcmV0IHRpbGxiYWthIHRpbGwgZXR0IHbDpHJkbmFtblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICB1c2UgYSBzcGVjaWZpYyBmaWxlIGluc3RlYWQgb2YgJXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGZpbD4gICAgIGFudsOkbmQgZW4gc3BlY2lmaWsgZmlsIGlzdMOkbGxldCBmw7ZyICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAgc2tyaXYgdXQgZnVsbHN0w6RuZGlnIGRhdHVtIG9jaCB0aWQgZsO2ciBpbmxvZ2duaW5nIG9jaCB1dGxvZ2duaW5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODQKK21zZ2lkICIgLWksIC0taXAgICAgICAgICAgICAgZGlzcGxheSBJUCBudW1iZXJzIGluIG51bWJlcnMtYW5kLWRvdHMgbm90YXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlwICAgICAgICAgICAgIHZpc2EgSVAtbnVtbWVyIG1lZCBudW1tZXItb2NoLXB1bmt0LW5vdGF0aW9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLW4sIC0tbGltaXQgPG51bW1lcj4gaHVyIG3DpW5nYSByYWRlciBzb20gc2thIHZpc2FzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIHZpc2EgaW50ZSBmw6RsdGV0IGbDtnIgdsOkcmRuYW1uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA8dGlkPiAgICB2aXNhIHJhZGVyIHNlZGFuIGRlbiBhbmdpdm5hIHRpZGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8dGlkPiAgICB2aXNhIHJhZGVyIGZyYW0gdGlsbCBkZW4gYW5naXZuYSB0aWRlblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg5Cittc2dpZCAiIC1wLCAtLXByZXNlbnQgPHRpbWU+IGRpc3BsYXkgd2hvIHdlcmUgcHJlc2VudCBhdCB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1wLCAtLXByZXNlbnQgPHRpZD4gIHZpc2EgdmVtIHNvbSB2YXIgbsOkcnZhcmFuZGUgdmkgZGVuIGFuZ2l2bmEgdGlkZW5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MAorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAtdywgLS1mdWxsbmFtZXMgICAgICB2aXNhIGZ1bGxzdMOkbmRpZ2EgYW52w6RuZGFyLSBvY2ggZG9tw6RubmFtblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICB2aXNhIHBvc3RlciBmw7ZyIHN5c3RlbW5lZHN0w6RuZ25pbmcgb2NoIG7DpHIga8O2cm5pdsOlbiDDpG5kcmF0c1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICB2aXNhIHRpZHNzdMOkbXBsYXIgaSBhbmdpdmV0IDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlcyBpbmxlZGVyICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIG51bW1lciIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk5MyBsb2dpbi11dGlscy9sYXN0LmM6OTk4IGxvZ2luLXV0aWxzL2xhc3QuYzoxMDAzCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICJvZ2lsdGlndCB0aWRzdsOkcmRlIOKAnSVz4oCdIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJsaWJ1c2VyIGluaXRpZXJpbmcgbWlzc2x5Y2thZGVzOiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgw6RuZHJhIGFudsOkbmRhcmF0dHJpYnV0IgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJhbnbDpG5kYXJhdHRyaWJ1dCBpbnRlIMOkbmRyYXQ6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIsOWREVTRElHRVJUOiBrYW4gaW50ZSDDpXRlcsO2cHBuYSB0dHk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIkZBVEFMVDogJXMgw6RyIGludGUgZW4gdGVybWluYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duICglcywgJWx1LCAlbHUpIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzgwCittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIsOWREVTRElHRVJUOiBmZWxha3RpZyB0dHkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIkZBVEFMVDogJXM6IGF0dCDDpG5kcmEgcsOkdHRpZ2hldGVyIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJTZW5hc3RlIGlubG9nZ25pbmc6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAiZnLDpW4gJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgInDDpSAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgInNrcml2bmluZyBhdiBsYXN0bG9nIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJVUFBSSU5HTklORyBQw4UgJXMgQVYgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVC1JTkxPR0dOSU5HIFDDhSAlcyBGUsOFTiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiUk9PVC1JTkxPR0dOSU5HIFDDhSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiSU5MT0dHTklORyBQw4UgJXMgQVYgJXMgRlLDhU4gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICJJTkxPR0dOSU5HIFDDhSAlcyBBViAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICJhbnbDpG5kYXJuYW1uOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIlBBTS1mZWwsIGF2YnJ5dGVyOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJLdW5kZSBpbnRlIGluaXRpZXJhIFBBTTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIk1JU1NMWUNLQUQgSU5MT0dHTklORyAldSBGUsOFTiAlcyBGw5ZSICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisiRmVsYWt0aWcgaW5sb2dnbmluZ1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiRsOWUiBNw4VOR0EgSU5MT0dHTklOR1NGw5ZSU8OWSyAoJXUpIEZSw4VOICVzIEbDllIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIk1JU1NMWUNLQUQgSU5MT0dHTklOR1NTRVNTSU9OIEZSw4VOICVzIEbDllIgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyJGZWxha3RpZyBpbmxvZ2duaW5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MSBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyJQcm9ibGVtIG1lZCB1cHByw6R0dGFuZGV0IGF2IHNlc3Npb25lbiwgYXZicnl0ZXIuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJBbnbDpG5kYXJuYW1uZXQgw6RyIE5VTEwgaSAlczolZC4gQXZicnl0ZXIuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiVElPQ1NDVFRZIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA5OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBbLXBdIFstaCA8dsOkcmQ+XSBbLUhdIFtbLWZdIDxhbnbDpG5kYXJuYW1uPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAwCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkLDtnJqYSBlbiBzZXNzaW9uIHDDpSBzeXN0ZW1ldC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCittc2dpZCAiIC1wICAgICAgICAgICAgIGRvIG5vdCBkZXN0cm95IHRoZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIC1wICAgICAgICAgICAgIGbDtnJzdMO2ciBpbnRlIG1pbGrDtm4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNAorbXNnaWQgIiAtZiAgICAgICAgICAgICBza2lwIGEgc2Vjb25kIGxvZ2luIGF1dGhlbnRpY2F0aW9uIgorbXNnc3RyICIgLWYgICAgICAgICAgICAgaG9wcGEgw7Z2ZXIgZW4gYW5kcmEgaW5sb2dnbmluZ3NhdXRlbnRpc2VyaW5nIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDUKK21zZ2lkICIgLWggPGhvc3Q+ICAgICAgaG9zdG5hbWUgdG8gYmUgdXNlZCBmb3IgdXRtcCBsb2dnaW5nIgorbXNnc3RyICIgLWggPHbDpHJkPiAgICAgIHbDpHJkbmFtbiBzb20gYW52w6RuZHMgdmlkIHV0bXAtbG9nZ25pbmciCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNgorbXNnaWQgIiAtSCAgICAgICAgICAgICBzdXBwcmVzcyBob3N0bmFtZSBpbiB0aGUgbG9naW4gcHJvbXB0IgorbXNnc3RyICIgLUggICAgICAgICAgICAgdW5kZXJ0cnljayB2w6RyZG5hbW4gaSBpbmxvZ2duaW5nc3Byb21wdGVuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICIlczogdGlkc3V0bMO2c2FyZSBlZnRlciAldSBzZWt1bmRlciIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW46IC1oIGVuZGFzdCB0aWxsIGbDtnIgc3VwZXJhbnbDpG5kYXJlXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiT2dpbHRpZ3QgYW52w6RuZGFybmFtbiDigJ0lc+KAnSBpICVzOiVkLiBBdmJyeXRlci4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiZ3J1cHBpbml0aWVyaW5nIG1pc3NseWNrYWRlczogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbmV3IG1haWwuXG4iCittc2dzdHIgIkR1IGhhciBueSBwb3N0LlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91IGhhdmUgbWFpbC5cbiIKK21zZ3N0ciAiRHUgaGFyIHBvc3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkKCkgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiVzOiDDpG5kcmluZyBhdiBrYXRhbG9nIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiTG9nZ2FyIGluIG1lZCBoZW1rYXRhbG9nID0g4oCdL+KAnS5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImt1bmRlIGludGUga8O2cmEgc2thbHNrcmlwdCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgImluZ2V0IHNrYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMgaW5uZWjDpWxsZXIgZXR0IG9naWx0aWd0IG51bWVyaXNrdCB2w6RyZGU6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICJpbmxvZ2duaW5nc3N0YXR1cyBmw7ZyIGh1c2g6IMOldGVyc3TDpGxsbmluZyBhdiBvcmlnaW5hbC1JRDpuIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTQzNiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2CisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJubyIKK21zZ3N0ciAibmVqIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJhbnbDpG5kYXJuYW1uIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJBbnbDpG5kYXJuYW1uIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOCBzeXMtdXRpbHMvcmVuaWNlLmM6NTQKK21zZ2lkICJ1c2VyIElEIgorbXNnc3RyICJhbnbDpG5kYXItSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJsw7ZzZW5vcmQga3LDpHZzIGludGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJMw7ZzZW5vcmQga3LDpHZzIGludGUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgImlubG9nZ25pbmcgdmlhIGzDtnNlbm9yZCBpbmFrdGl2ZXJhZCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiSW5sb2dnbmluZyB2aWEgbMO2c2Vub3JkIGluYWt0aXZlcmFkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgImzDtnNlbm9yZCBkZWZpbmllcmF0LCBtZW4gbMOlc3QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJMw7ZzZW5vcmRldCDDpHIgbMOlc3QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgImlubG9nZ25pbmcgaW5ha3RpdmVyYWQgYXYgbm9sb2dpbig4KSBlbGxlciBwYW1fbm9sb2dpbig4KSIKKworIyBzZWJyYXM6IGlubG9nZ25pbmcgZWxsZXIgYW52w6RuZGFybmFtbj8KKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIkluZ2VuIGlubG9nZ25pbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICJuYW1uIGbDtnIgcHJpbcOkcmdydXBwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIlByaW3DpHJncnVwcCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJJRCBmw7ZyIHByaW3DpHJncnVwcCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICJuYW1uIGbDtnIgdGlsbMOkZ2dzZ3J1cHBlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiVGlsbMOkZ2dzZ3J1cHBlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiSUQ6biBmw7ZyIHRpbGzDpGdnc2dydXBwZXIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIklEOm4gZsO2ciB0aWxsw6RnZ3NncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJoZW1rYXRhbG9nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJIZW1rYXRhbG9nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICJpbmxvZ2duaW5nc3NrYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIlNrYWwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgImZ1bGxzdMOkbmRpZ3QgYW52w6RuZGFybmFtbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiR2Vjb3MtZsOkbHQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJkYXR1bSBmw7ZyIHNlbmFzdGUgaW5sb2dnbmluZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICJTZW5hc3RlIGlubG9nZ25pbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAic2VuYXN0ZSBhbnbDpG5kYSB0dHkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiU2VuYXN0ZSB0ZXJtaW5hbCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAidsOkcmRuYW1uIHVuZGVyIHNlbmFzdGUgc2Vzc2lvbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICJTZW5hc3RlIHbDpHJkbmFtbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICJkYXR1bSBmw7ZyIHNlbmFzdGUgbWlzc2x5Y2thZGUgaW5sb2dnbmluZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIklubG9nZ25pbmcgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgInZhciBtaXNzbHlja2FkZXMgaW5sb2dnbmluZ2VuPyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIk1pc3NseWNrYWRlcyBhdHQgbG9nZ2EgaW4gdmlhIHRlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJhbnbDpG5kYXJlbnMgaHVzaC1pbnN0w6RsbG5pbmdhciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIkh1c2g6YWQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJkYWdhciB1bmRlciB2aWxrYSBhbnbDpG5kYXJlbiB2YXJuYXMgb20gbMO2c2Vub3Jkc3V0Z8OlbmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICJWYXJuaW5nc2ludGVydmFsbCBmw7ZyIGzDtnNlbm9yZHN1dGfDpW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAiZGF0dW0gZsO2ciBsw7ZzZW5vcmRzdXRnw6VuZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICJMw7ZzZW5vcmRzdXRnw6VuZyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICJkYXR1bSBmw7ZyIHNlbmFzdGUgbMO2c2Vub3Jkc8OkbmRyaW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIkzDtnNlbm9yZGV0IMOkbmRyYXQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJhbnRhbCBkYWdhciBzb20ga3LDpHZzIG1lbGxhbiDDpG5kcmluZ2FyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1pbnN0YSDDpG5kcmluZ3N0aWQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIm1heGltYWx0IGFudGFsIGRhZ2FyIGV0dCBsw7ZzZW5vcmQgZsOlciBsb3YgYXR0IHZhcmEgb2bDtnLDpG5kcmF0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIk1heGltYWwgw6RuZHJpbmdzdGlkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiYW52w6RuZGFyZW5zIHPDpGtlcmhldHNrb250ZXh0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiU2VsaW51eC1rb250ZXh0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICJhbnRhbCBwcm9jZXNzZXIgc29tIGFudsOkbmRhcmVuIGvDtnIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIkvDtnJhbmRlIHByb2Nlc3NlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiZsO2ciBtw6VuZ2Ega29sdW1uZXIgYW5naXZuYSwgYmVncsOkbnNuaW5nZW4gw6RyICV6dSBrb2x1bW5lciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6NDU3Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICJ0aWRzdHlwIHN0w7ZkcyBlaiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQga29tcG9uZXJhIHRpZHNzdHLDpG5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSB0aWxsw6RnZ3NncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNjgKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5rbm93biBjb2x1bW4iCittc2dzdHIgImludGVybnQgZmVsOiBva8OkbmQga29sdW1uIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxhc3QgbG9nczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbmFzdGUgbG9nZ2FyOlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI5Cittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJWaXNhIGluZm9ybWF0aW9uIG9tIGvDpG5kYSBhbnbDpG5kYXJlIHDDpSBzeXN0ZW1ldC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICAgICB2aXNhIGluZm9ybWF0aW9uIG9tIGzDtnNlbm9yZHN1dGfDpW5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMworbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICAgICB2aXNhIGRhdGEgaSBldHQgZm9ybWF0IGxpa25hbmRlIGRldCBpIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgICAgIHZpc2EgZGF0YSBpIGV0dCBleHBvcnRlcmJhcnQgdXRtYXRuaW5nc2Zvcm1hdFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgICAgIHZpc2EgZGF0YSBvbSBhbnbDpG5kYXJuYXMgc2VuYXN0ZSBtaXNzbHlja2FkZSBpbmxvZ2duaW5nYXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM2Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgICAgIHZpc2EgaW5mb3JtYXRpb24gb20gZ3J1cHBlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIGRpc3BsYXkgdXNlcnMgYmVsb25naW5nIHRvIGEgZ3JvdXAgaW4gPGdyb3Vwcz5cbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3Vwcz08Z3J1cHBlcj4gICAgICB2aXNhIGFudsOkbmRhcmUgc29tIGjDtnIgdGlsbCBlbiBncnVwcCBpIDxncnVwcGVyPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICAgICB2aXNhIGluZm9ybWF0aW9uIG9tIGFudsOkbmRhcmVucyBzZW5hc3RlIGlubG9nZ25pbmdzc2Vzc2lvbmVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2lucz08aW5sb2dnbmluZ2FyPiB2aXNhIGVuZGFzdCBhbnbDpG5kYXJlIGZyw6VuIDxpbmxvZ2duaW5nYXI+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgICAgdmlzYSB2YXJqZSBiaXQgYXYgaW5mb3JtYXRpb24gcMOlIGVuIG55IHJhZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgICAgIHNrcml2IGludGUgdXQgcnVicmlrZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQyIHN5cy11dGlscy9sc2lwYy5jOjI5MworbXNnaWQgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgZG9uJ3QgdHJ1bmNhdGUgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ub3RydW5jYXRlICAgICAgICAgICAgdHJ1bmtlcmEgaW50ZSB1dG1hdG5pbmdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjMwMQorbXNnaWQgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgZGVmaW5lIHRoZSBjb2x1bW5zIHRvIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0Wz08bGlzdGE+XSAgICAgIGRlZmluaWVyYSBrb2x1bW5lcm5hIHNvbSBza2EgbWF0YXMgdXRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgICAgdmlzYSBpbmZvcm1hdGlvbiByZWxhdGVyYWQgdGlsbCBpbmxvZ2duaW5nZW4gdmlhIGzDtnNlbm9yZC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHZpc2EgaSByw6Vsw6RnZVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgICAgdmlzYSBzeXN0ZW1rb250b25cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjI5NAorbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwPiAgICAgdmlzYSBkYXR1bSBpIGZvcm1hdGV0IHNob3J0LCBmdWxsIGVsbGVyIGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgICAgIHZpc2EgYW52w6RuZGFya29udG9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgICAgdmlzYSBTRUxpbnV4LWtvbnRleHRlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKK21zZ2lkICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGRlbGltaXQgdXNlciBlbnRyaWVzIHdpdGggYSBudWwgY2hhcmFjdGVyXG4iCittc2dzdHIgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgICAgc2VwYXJlcmEgYW52w6RuZGFycG9zdGVyIG1lZCBldHQgbnVsLXRlY2tlblxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDxzw7ZrdsOkZz4gICAgc3TDpGxsIGluIGVuIGFsdGVybmF0aXYgc8O2a3bDpGcgZsO2ciB3dG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiAgICAgLS1idG1wLWZpbGUgPHPDtmt2w6RnPiAgICBzdMOkbGwgaW4gZW4gYWx0ZXJuYXRpdiBzw7ZrdsOkZyBmw7ZyIGJ0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDM0Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYmVnw6RyYW4gc2VsaW51eC10aWxsc3TDpW5kIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiQmFyYSBlbiBhbnbDpG5kYXJlIGbDpXIgYW5nZXMuIEFudsOkbmQgLWwgZsO2ciBtdWx0aXBsYSBhbnbDpG5kYXJlLiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NDkgbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTUKK21zZ2lkICJjb3VsZCBub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgImthbiBpbnRlIHN0w6RsbGEgaW4gdGVybWluYWxhdHRyaWJ1dCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJnZXRsaW5lKCkgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJMw7ZzZW5vcmQ6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTYwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5OTUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAlcyA8Z3J1cHA+XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3NgorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiTG9nZ2EgaW4gaSBlbiBueSBncnVwcC5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjEzCittc2dpZCAid2hvIGFyZSB5b3U/IgorbXNnc3RyICJ2ZW0gw6RyIGR1PyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCBtaXNzbHlja2FkZXMiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjQKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICJpbmdlbiBzw6VkYW4gZ3J1cHAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCBtaXNzbHlja2FkZXMiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICJBdmLDtmogZW4gaW5sb2dnbmluZy5cbiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAiRGV0dGEga29udG8gw6RyIGludGUgdGlsbGfDpG5nbGlndCBmw7ZyIHRpbGxmw6RsbGV0LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyMjQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiIChtaW5uZXNmaWwgZHVtcGFkKSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mjc4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjMyCittc2dpZCAiZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgdGVybWluYWxhdHRyaWJ1dCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHNrYXBhIHBzZXVkb3Rlcm1pbmFsIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgImthbiBpbnRlIGJsb2NrZXJhIHNpZ25hbGVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorbXNnaWQgInBvbGwgZmFpbGVkIgorbXNnc3RyICJwb2xsIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjcwCittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgbW9kaWZpZXJhIG1pbGrDtiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICJmw6VyIGludGUgYW52w6RuZGFzIGF2IGFudsOkbmRhcmUgc29tIGludGUgw6RyIHJvb3QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAiZmVsYWt0aWd0IGzDtnNlbm9yZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgc2Vzc2lvbjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICJrYW4gaW50ZSBpbml0aWFsaXNlcmEgc2lnbmFsbWFzayBmw7ZyIHNlc3Npb24iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc4NworbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJrYW4gaW50ZSBpbml0aWFsaXNlcmEgc2lnbmFsbWFzayIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbiBzaWduYWxoYW50ZXJhcmUgZsO2ciBzZXNzaW9uIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MDUgbWlzYy11dGlscy91dWlkZC5jOjM5OCBzeXMtdXRpbHMvbHNjcHUuYzo3NDMKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzk2Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbiBzaWduYWxoYW50ZXJhcmUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgxMworbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgImthbiBpbnRlIHN0w6RsbGEgaW4gc2lnbmFsbWFzayIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJrYW4gaW50ZSBza2FwYSBiYXJucHJvY2VzcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICJrYW4gaW50ZSDDpG5kcmEga2F0YWxvZyB0aWxsICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3Npb24gYXZzbHV0YWQsIGTDtmRhciBza2Fs4oCmIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiIOKApmTDtmRhZC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6OTQxCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgUEFUSCBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBtaWxqw7Z2YXJpYWJlbG4gUEFUSCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIGdydXBwZXIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGV0YWJsZXJhIGlubG9nZ2luZ3N1cHBnaWZ0ZXI6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgImthbiBpbnRlIHN0w6RsbGEgaW4gZ3J1cHAtSUQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjQgc3lzLXV0aWxzL2VqZWN0LmM6NjYzCittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIGFudsOkbmRhci1JRCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MgorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgw6V0ZXJzdMOkbGwgaW50ZSBtaWxqw7Z2YXJpYWJsZXJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MworbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncnVwcD4gICAgICAgICAgICAgYW5nZSBwcmltw6RyZ3J1cHBlblxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIgLUcsIC0tc3VwcC1ncm91cCA8Z3J1cHA+ICAgICAgICBhbmdlIGVuIHRpbGzDpGdnc2dydXBwXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIGfDtnIgc2thbGV0IHRpbGwgZXR0IGlubG9nZ25pbmdzc2thbFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk4Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxrb21tYW5kbz4gICAgICAgIHNraWNrYSBldHQgZW5rZWx0IGtvbW1hbmRvIHRpbGwgc2thbGV0IG1lZCAtY1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxrb21tYW5kbz4gICAgc2tpY2thIGV0dCBlbmtlbHQga29tbWFuZG8gdGlsbCBza2FsZXQgbWVkIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvY2ggc2thcGEgaW50ZSBlbiBueSBzZXNzaW9uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBza2lja2EgLWYgdGlsbCBza2FsZXQgKGbDtnIgY3NoIGVsbGVyIHRjc2gpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDIKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICBydW4gPHNoZWxsPiBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxza2FsPiAgICAgICAgICAgICAga8O2ciA8c2thbD4gb20gL2V0Yy9zaGVsbHMgdGlsbMOldGVyIGRldFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBza2FwYSBlbiBueSBwc2V1ZG90ZXJtaW5hbFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICUxJHMgW2ZsYWdnb3JdIC11IDxhbnbDpG5kYXJlPiBbWy0tXSA8a29tbWFuZG8+XVxuIgorIiAlMSRzIFtmbGFnZ29yXSBbLV0gWzxhbnbDpG5kYXJlPiBbPGFyZ3VtZW50PuKApl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiS8O2ciA8a29tbWFuZG8+IG1lZCBkZXQgZWZmZWt0aXZhIGFudsOkbmRhci1JRDp0IG9jaCBncnVwcC1JRDp0IGbDtnIgPGFudsOkbmRhcmU+LiBPbSAtdSBpbnRlXG4iCisiYW5nZXMgZmFsbCB0aWxsYmFrYSB0aWxsIHN1KDEpLWtvbXBhdGliZWwgc2VtYW50aWsgb2NoIGvDtnIgc3RhbmRhcmRza2FsZXQuXG4iCisiQmFyYSBlbiB1dGF2IGZsYWdnb3JuYSAtYywgLWYsIC1sIG9jaCAtcyBmw6VyIGbDtnJla29tbWEgdGlsbHNhbW1hbnMgbWVkIC11LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCittc2dpZCAiIC11LCAtLXVzZXIgPHVzZXI+ICAgICAgICAgICAgICAgdXNlcm5hbWVcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPGFudsOkbmRhcmU+ICAgICAgICAgIGFudsOkbmRhcm5hbW5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbLV0gWzxhbnbDpG5kYXJlPiBbPGFyZ3VtZW50PuKApl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIsOEbmRyYSBkZXQgZWZmZWt0aXZhIGFudsOkbmRhcmUtSUQ6dCBvY2ggZ3J1cHAtSUQ6dCB0aWxsIGRldCBmw7ZyIDxhbnbDpG5kYXJlPi5cbiIKKyJFdHQgZW5rZWx0IC0gbWVkZsO2ciAtbC4gT20gPGFudsOkbmRhcmU+IGludGUgYW5nZXMgYW50YXMgcm9vdC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiYXR0IGFuZ2UgbWVyIMOkbiAlZCB0aWxsw6RnZ3NncnVwcCDDpHIgaW50ZSBtw7ZqbGlndCIKK21zZ3N0clsxXSAiYXR0IGFuZ2UgbWVyIMOkbiAlZCB0aWxsw6RnZ3NncnVwcGVyIMOkciBpbnRlIG3DtmpsaWd0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJncnVwcGVuICVzIGV4aXN0ZXJhciBpbnRlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCittc2dpZCAiLS1wdHkgaXMgbm90IHN1cHBvcnRlZCBmb3IgeW91ciBzeXN0ZW0iCittc2dzdHIgIi0tcHR5IHN0w7ZkcyBpbnRlIHDDpSBkaXR0IHN5c3RlbSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTMyNgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiaG9wcGFyIMO2dmVyIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGRlbiDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUgbWVkIC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiZmxhZ2dvcm5hIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IG9jaCAtLXVzZXIgw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCittc2dpZCAibm8gY29tbWFuZCB3YXMgc3BlY2lmaWVkIgorbXNnc3RyICJpbmdldCBrb21tYW5kbyBhbmdhdnMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJlbmRhc3Qgcm9vdCBrYW4gYW5nZSBhbHRlcm5hdGl2YSBncnVwcGVyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImFudsOkbmRhcmVuICVzIGV4aXN0ZXJhciBpbnRlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgImFudsOkbmRlciBiZWdyw6Ruc2F0IHNrYWwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgInZhcm5pbmc6IGthbiBpbnRlIMOkbmRyYSBrYXRhbG9nIHRpbGwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y2dldGF0dHIgbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNzZXRhdHRyIG1pc3NseWNrYWRlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXM6IGlubG9nZ25pbmcgZsO2cmJqdWRlbiBmw7ZyIHJvb3RcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiBpbmxvZ2duaW5nIGbDtnJianVkZW4gZsO2ciByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiByb290LWzDtnNlbm9yZCBmw7ZydmFuc2thdCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLYW4gaW50ZSDDtnBwbmEgdGlsbGfDpW5nIHRpbGwga29uc29sLCByb290LWtvbnRvdCDDpHIgbMOlc3QuXG4iCisiU2UgbWFudWFsc2lkYW4gc3Vsb2dpbig4KSBmw7ZyIHZpZGFyZSBpbmZvcm1hdGlvbi5cbiIKKyJcbiIKKyJUcnljayBww6UgUmV0dXIgZsO2ciBhdHQgZm9ydHPDpHR0YS5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIkFuZ2Ugcm9vdC1sw7ZzZW5vcmRldCBmw7ZyIGlubG9nZ25pbmc6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiVHJ5Y2sgcMOlIFJldHVyIGbDtnIgaW5sb2dnbmluZzogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiQW5nZSByb290LWzDtnNlbm9yZGV0IGbDtnIgdW5kZXJow6VsbFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJUcnljayBww6UgUmV0dXIgZsO2ciB1bmRlcmjDpWxsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKGVsbGVyIHRyeWNrIEN0cmwtRCBmw7ZyIGF0dCBmb3J0c8OkdHRhKTogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGJ5dGEga2F0YWxvZyB0aWxsIHN5c3RlbXJvdGVuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gbWlzc2x5Y2thZGVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gW3R0eS1lbmhldF1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICJFbi1hbnbDpG5kYXJpbmxvZ2duaW5nLlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA5Cittc2dpZCAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgc3RhcnQgYSBsb2dpbiBzaGVsbFxuIgorIiAtdCwgLS10aW1lb3V0IDxzZWNvbmRzPiAgbWF4IHRpbWUgdG8gd2FpdCBmb3IgYSBwYXNzd29yZCAoZGVmYXVsdDogbm8gbGltaXQpXG4iCisiIC1lLCAtLWZvcmNlICAgICAgICAgICAgICBleGFtaW5lIHBhc3N3b3JkIGZpbGVzIGRpcmVjdGx5IGlmIGdldHB3bmFtKDMpIGZhaWxzXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0YSBldHQgaW5sb2dnbmluZ3Nza2FsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNla3VuZGVyPiBtYXhpbWFsIHRpZCBhdHQgdsOkbnRhIHDDpSBldHQgbMO2c2Vub3JkIChzdGFuZGFyZHbDpHJkZTogaW5nZW4gYmVncsOkbnNuaW5nKVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgdW5kZXJzw7ZrIGzDtnNlbm9yZHNmaWxlciBkaXJla3Qgb20gZ2V0cHduYW0oMykgbWlzc2x5Y2thc1xuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODYzIG1pc2MtdXRpbHMvZmluZG1udC5jOjE0Njggc3lzLXV0aWxzL3dkY3RsLmM6NTI0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgxNyB0ZXJtLXV0aWxzL3dhbGwuYzoyMTYKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHRpZHNncsOkbnNhcmd1bWVudCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorbXNnaWQgIm9ubHkgc3VwZXJ1c2VyIGNhbiBydW4gdGhpcyBwcm9ncmFtIgorbXNnc3RyICJlbmRhc3Qgc3VwZXJhbnbDpG5kYXJlbiBrYW4ga8O2cmEgZGV0dGEgcHJvZ3JhbSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSBrb25zb2wiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzQKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIGzDtnNlbm9yZHNkYXRhYmFzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorImthbiBpbnRlIGvDtnJhIHN1LXNrYWxcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKyJUaWRzZ3LDpG5zIHVwcG7DpWRkZXNcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorImthbiBpbnRlIHbDpG50YSBww6Ugc3Utc2thbFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpGdnYSB0aWxsIGlub3RpZnktYmV2YWtuaW5nLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczoga2FuIGludGUgbMOkc2EgaW5vdGlmeS1ow6RuZGVsc2VyIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0OQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiRXh0cmEgbnlyYWQgaSBmaWwuIEF2c2x1dGFyLiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gW2ZpbG5hbW5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIkR1bXBhIFVUTVAtIG9jaCBXVE1QLWZpbGVyIGkgcsOlZm9ybWF0LlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIgLWYsIC0tZm9sbG93ICAgICAgICAgbWF0YSB1dCB0aWxsYWdkIGRhdGEgYWxsdCBlZnRlcnNvbSBmaWxlbiB2w6R4ZXJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTAKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgc2tyaXYgdGlsbGJha2EgZHVtcGFkIGRhdGEgaSB1dG1wLWZpbGVuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzExCittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8ZmlsPiAgIHNrcml2IHRpbGwgZmlsIGlzdMOkbGxldCBmw7ZyIHN0YW5kYXJkIHV0XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJhdHQgZsO2bGphIHN0YW5kYXJkIGluIHN0w7ZkcyBpbnRlIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICJVdG1wIG9tdsOkbmQgZHVtcCBhdiAlc1xuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcC1kdW1wIGF2ICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDUKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgdGVtcG9yw6RyIGZpbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiBhdHQgc2thcGEgZW4gbMOkbmsgdGlsbCAlcyBtaXNzbHlja2FkZXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJLYW4gaW50ZSBow6RtdGEga29udGV4dCBmw7ZyICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS2FuIGludGUgc3TDpGxsYSBpbiBrb250ZXh0IGbDtnIgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlcyDDpHIgb2bDtnLDpG5kcmFkIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgbMOlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAiaW5nYSDDpG5kcmluZ2FyIGdqb3JkZXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAia2FuIGludGUga8O2cmEgY2htb2QgcMOlIGZpbCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgIlJlZGlnZXJhIGzDtnNlbm9yZHMtIGVsbGVyIGdydXBwZmlsZW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkR1IGFudsOkbmRlciBza3VnZ3J1cHBlciBww6UgZGV0dGEgc3lzdGVtLlxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYyCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgcGFzc3dvcmRzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICJEdSBhbnbDpG5kZXIgc2t1Z2dsw7ZzZW5vcmQgcMOlIGRldHRhIHN5c3RlbS5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIlZpbGwgZHUgcmVkaWdlcmEgJXMgbnUgW2ovbl0/ICIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiVzIGZyw6VuICVzICAobGliYmxraWQgJXMsICVzKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgLS1sYWJlbCA8ZXRpa2V0dD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsPl0gWy1naGxMdl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSBbLS1tYXRjaC10YWcgPHRhZ2c+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHN5bWJvbD5dIFs8ZW5oPiDigKZdXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIC1wIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb2Zmc2V0IDxvZmZzZXQ+XSBbLS1zaXplIDxzaXplPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWdnPl0gWy0tb2Zmc2V0IDxwb3NpdGlvbj5dIFstLXNpemUgPHN0b3JsZWs+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZW5oPiDigKZcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyAtaSBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW91dHB1dCA8Zm9ybWF0Pl0gPGRldj4gLi4uXG4iCittc2dzdHIgIiAlcyAtaSBbLS1tYXRjaC10YWcgPHRhZ2c+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxlbmg+IOKAplxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsPiAgICAgbMOkcyBmcsOlbiA8ZmlsPiBpc3TDpGxsZXQgZsO2ciBhdHQgbMOkc2EgZnLDpW4gc3RhbmRhcmRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZWZpbCAoLWMgL2Rldi9udWxsIGlubmViw6RyIGluZ2VuIGNhY2hlKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBrb2RhIGludGUgdGVja2VuIHNvbSBpbnRlIGthbiBza3JpdmFzIHV0XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBza3LDpHBzYW1sYSBibGtpZC1jYWNoZW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICB1dG1hdG5pbmdzZm9ybWF0OyBrYW4gdmFyYSBlbmRlcmEgYXY6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IGVsbGVyIGZ1bGw7IChzdGFuZGFyZDogZnVsbClcbiIKKworIyBzZWJyYXM6IHdoYXQgc2hvdWxkIHRoZSBzd2VkaXNoIHBsdXJhbCBiZT8KKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorbXNnaWQgIiAtaywgLS1saXN0LWZpbGVzeXN0ZW1zICAgICBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdGEgYWxsYSBrw6RuZGEgZmlsc3lzdGVtL1JBSUQ6ZXIgb2NoIGF2c2x1dGFcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIgLXMsIC0tbWF0Y2gtdGFnIDx0YWdnPiAgICAgdmlzYSBhbmdpdm5hIHRhZ2dhciAoc3RhbmRhcmQgdmlzYSBhbGxhIHRhZ2dhcilcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkxCittc2dpZCAiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSBwYWlyKVxuIgorbXNnc3RyICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHN5bWJvbD4gaGl0dGEgZW5oZXQgbWVkIGFuZ2l2ZW4gc3ltYm9sIChOQU1OPXbDpHJkZS1wYXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MgorbXNnaWQgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBsb29rIHVwIG9ubHkgZmlyc3QgZGV2aWNlIHdpdGggdG9rZW4gc3BlY2lmaWVkIGJ5IC10XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBzbMOlIHVwcCBlbmRhc3QgZsO2cnN0YSBlbmhldCBtZWQgc3ltYm9sIGFuZ2l2ZW4gYXYgLXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCittc2dpZCAiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgICAgIGNvbnZlcnQgTEFCRUwgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC1MLCAtLWxhYmVsIDxldGlrZXR0PiAgICAgIGtvbnZlcnRlcmEgRVRJS0VUVCB0byBlbmhldHNuYW1uXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGtvbnZlcnRlcmEgVVVJRCB0aWxsIGVuaGV0c25hbW5cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgZGV2aWNlKHMpIHRvIHByb2JlIChkZWZhdWx0OiBhbGwgZGV2aWNlcylcbiIKK21zZ3N0ciAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIGFuZ2UgZW5oZXRlciBhdHQgYXZzw7ZrYSAoc3RhbmRhcmR2w6RyZGU6IGFsbGEgZW5oZXRlcilcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3Cittc2dpZCAiTG93LWxldmVsIHByb2Jpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiTMOlZ25pdsOlYXZzw7Zua25pbmdzZmxhZ2dvcjpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsw6Vnbml2w6VhdnPDtmtuaW5nIGbDtnIgc3VwZXJibG9jayAoZsO2cmJpZ8OlIGNhY2hlKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IEkvTyBsaW1pdHNcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIHNhbWxhIGVuZGFzdCBpbmZvcm1hdGlvbiBvbSBJL08tYmVncsOkbnNuaW5nYXJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPHN0b3JsZWs+ICAgICAgIHNrcml2IMO2dmVyIHN0b3JsZWsgZsO2ciBlbmhldFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIC1PLCAtLW9mZnNldCA8cG9zaXRpb24+ICAgIGF2c8O2ayB2aWQgYW5naXZlbiBwb3NpdGlvblxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgLXUsIC0tdXNhZ2VzIDxsaXN0YT4gICAgICAgZmlsdHJlcmEgZWZ0ZXIg4oCdYW52w6RuZG5pbmfigJ0gKHQuZXguIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0YT4gIGZpbHRyZXJhIGVmdGVyIGZpbHN5c3RlbXN0eXAgKHQuZXguIC1uIHZmYXQsZXh0MylcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIobW9udGVyYWQsIG10cHQgb2vDpG5kKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNworbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICIoYW52w6RuZHMpIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiKGludGUgbW9udGVyYWQpIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyIKK21zZ3N0ciAiZmVsOiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlIHdpcGVmcyg4KSB0byBzZWUgbW9yZSBkZXRhaWxzKSIKK21zZ3N0ciAiJXM6IHR2ZXR5ZGlndCByZXN1bHRhdCAodHJvbGlndHZpcyBmbGVyYSBmaWxzeXN0ZW0gcMOlIGVuaGV0ZW4sIGFudsOkbmQgd2lwZWZzKDgpIGbDtnIgYXR0IHNlIHl0dGVybGlnYXJlIGRldGFsamVyKSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICJva8OkbnQgbnlja2Vsb3JkIGkgLXUgPGxpc3RhPi1hcmd1bWVudDog4oCdJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICJmZWw6IC11IDxsaXN0YT4gYXJndW1lbnRldCDDpHIgdG9tdCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0ICVzIgorbXNnc3RyICJ1dG1hdG5pbmdzZm9ybWF0ICVzIHN0w7ZkcyBpbnRlIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHBvc2l0aW9uc2FyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgIkbDtnIgbcOlbmdhIHRhZ2dhciBhbmdhdnMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHN0b3JsZWtzYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIkthbiBlbmRhc3Qgc8O2a2EgZWZ0ZXIgZXR0IE5BTU49dsOkcmRlLXBhciIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiLXQga3LDpHZlciBOQU1OPXbDpHJkZS1wYXIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICJMw6Vnbml2w6VhdnPDtmtuaW5nc2zDpGdldCBoYXIgaW50ZSBzdMO2ZCBmw7ZyIHV0bWF0bmluZ3Nmb3JtYXRldCDigJ1saXN04oCdIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIkzDpWduaXbDpWF2c8O2a25pbmdzbMOkZ2V0IGtyw6R2ZXIgZW4gZW5oZXQiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OTYKK21zZ2lkICJUaGUgbG9va3VwIG9wdGlvbiByZXF1aXJlcyBhIHNlYXJjaCB0eXBlIHNwZWNpZmllZCB1c2luZyAtdCIKK21zZ3N0ciAiVXBwc2xhZ3NmbGFnZ2FuIGtyw6R2ZXIgYXR0IGVuIHPDtmt0eXAgYW5nZXMgbWVkIC10IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxMQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IG3DpW5hZHNhcmd1bWVudCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHZlY2tvYXJndW1lbnQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIxCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAib2dpbHRpZ3QgdmVja292w6RyZGU6IGFudsOkbmQgMS01NCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSB0aWRzc3TDpG1wZWwgZWxsZXIgb2vDpG50IG3DpW5hZHNuYW1uOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAib2dpbHRpZ3QgZGFnc3bDpHJkZSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzcgbWlzYy11dGlscy9jYWwuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJvZ2lsdGlndCBkYWdzdsOkcmRlOiBhbnbDpG5kIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIm9naWx0aWd0IG3DpW5hZHN2w6RyZGU6IGFudsOkbmQgMS0xMiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAib2vDpG50IG3DpW5hZHNuYW1uOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIm9naWx0aWd0IMOlcnN2w6RyZGUiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAib2dpbHRpZ3Qgw6Vyc3bDpHJkZTogYW52w6RuZCBldHQgcG9zaXRpdnQgaGVsdGFsIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIm9naWx0aWd0IHZlY2tvdsOkcmRlOiDDpXIgJWQgaGFyIGludGUgdmVja2EgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbW1tkYWddIG3DpW5hZF0gw6VyXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8dGlkc3N0w6RtcGVsfG3DpW5hZHNuYW1uPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTgKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiVmlzYSBlbiBrYWxlbmRlciwgZWxsZXIgZW4gZGVsIGF2IGRlbi5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJVdGFuIGFyZ3VtZW50IHZpc2FzIGRlbiBha3R1ZWxsYSBtw6VuYWRlbi5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAyCittc2dpZCAiIC0xLCAtLW9uZSAgICAgICAgICAgICBzaG93IG9ubHkgYSBzaW5nbGUgbW9udGggKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgdmlzYSBiYXJhIGVuIGVuc3Rha2EgbcOlbmFkIChzdGFuZGFyZClcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIHZpc2EgdHJlIG3DpW5hZGVyIHNvbSBpbm5lZmF0dGFyIGRhdHVtZXRcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICB2aXNhIG51bSBtw6VuYWRlciBtZWQgYsO2cmphbiBww6UgZGF0dW1ldHMgbcOlbmFkXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtUywgLS1zcGFuICAgICAgICAgICAgaW5uZWZhdHRhIGRhdHVtZXQgbsOkciBmbGVyYSBtw6VuYWRlciB2aXNhc1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDYKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIHPDtm5kYWcgc29tIGbDtnJzdGEgZGFnIGkgdmVja2FuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgbcOlbmFkIHNvbSBmw7Zyc3RhIGRhZyBpIHZlY2thblxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBtYXRhIHV0IGp1bGlhbnNrYSBkYXR1bVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICAgICBza3JpdiBpbnRlIHV0IHRpcHNcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAgdmlzYSBoZWxhIMOlcmV0XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAgdmlzYSBuw6RzdGEgdG9sdiBtw6VuYWRlclxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTMKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgdmlzYSBVUy0gZWxsZXIgSVNPLTg2MDEtdmVja29udW1tZXJcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTxuw6RyPl0gICBmw6RyZ2zDpGdnIG1lZGRlbGFuZGVuIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAiZmlsZGF0YSByZXNpZGVudCBpIG1pbm5lIGkgc2lkb3IiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBieXRlcyIKK21zZ3N0ciAiZmlsZGF0YSByZXNpZGVudCBpIG1pbm5lIGkgYnl0ZSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKK21zZ2lkICJzaXplIG9mIHRoZSBmaWxlIgorbXNnc3RyICJmaWxzdG9ybGVrIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiZmlsbmFtbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtaW5jb3JlOiAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQga8O2cmEgbWluY29yZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGvDtnJhIG1tYXA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW46ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCDDtnBwbmE6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQga8O2cmEgZnN0YXQ6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gZmls4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgIGFudsOkbmQgSlNPTi11dG1hdG5pbmdzZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgc2tyaXYgdXQgc3Rvcmxla2FyIGkgYnl0ZSBzbmFyYXJlIMOkbiBpIGV0dCBmb3JtYXQgbMOkc2JhcnQgZsO2ciBtw6Rubmlza29yXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBza3JpdiBpbnRlIHV0IHJ1YnJpa2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICBza3JpdiB1dCBrb2x1bW5lclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzMKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgIGFudsOkbmQgcsOldHQgdXRtYXRuaW5nc2Zvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiaW5nZW4gZmlsIGFuZ2l2ZW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2w6RyZGU+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJTw7ZrIGZpbHN5c3RlbSBlZnRlciBldGlrZXR0IGVsbGVyIFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAia2FuIGludGUgc2zDpSB1cHAg4oCdJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAia8OkbGxlbmhldCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAibW9udGVyaW5nc3B1bmt0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiZmlsc3lzdGVtc3R5cCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgImFsbGEgbW9udGVyaW5nc2ZsYWdnb3IiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJWRlMtc3BlY2lmaWthIG1vbnRlcmluZ3NmbGFnZ29yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJGUy1zcGVjaWZpa2EgbW9udGVyaW5nc2ZsYWdnb3IiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgImZpbHN5c3RlbXNldGlrZXR0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiZmlsc3lzdGVtcy1VVUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgInBhcnRpdGlvbnNldGlrZXR0IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIsO2dnJlOnVuZHJlIGVuaGV0c251bW1lciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiw6V0Z8OkcmQgaWRlbnRpZmllcmFkIGF2IC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJnYW1sYSBtb250ZXJpbmdzZmxhZ2dvciBzcGFyYWRlIGF2IC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJnYW1tYWwgbW9udGVyaW5nc3B1bmt0IHNwYXJhZCBhdiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAiZmlsc3lzdGVtc3N0b3JsZWsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSBhdmFpbGFibGUiCittc2dzdHIgImZpbHN5c3RlbXNzdG9ybGVrIHRpbGxnw6RuZ2xpZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgImZpbHN5c3RlbXNzdG9ybGVrIGFudsOkbmQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgImFudsOkbmRuaW5nc3Byb2NlbnQgYXYgZmlsc3lzdGVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgImZpbHN5c3RlbXNyb3QiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgInVwcGdpZnRzLUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAibW9udGVyaW5ncy1JRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJ2YWxmcmlhIG1vbnRlcmluZ3Nmw6RsdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJWRlMtcHJvcGFnZXJpbmdzZmxhZ2dvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgImR1bXAoOCkgcGVyaW9kIGkgZGFnYXIgW2VuZGFzdCBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJzdGVnbnVtbWVyIGkgcGFyYWxsZWxsIGZzY2soOCkgW2VuZGFzdCBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIm9rw6RuZCDDpXRnw6RyZDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJtb250ZXJhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgImF2bW9udGVyYSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAiw6V0ZXJtb250ZXJhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJmbHl0dGEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxNCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc3IHN5cy11dGlscy9lamVjdC5jOjcxNAorIzogc3lzLXV0aWxzL21vdW50LmM6MzI0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGluaXRpZXJhIGxpYm1vdW50LXRhYmVsbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgImthbiBpbnRlIGzDpHNhICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaW5pdGllcmEgbGlibW91bnQtaXRlcmF0b3IiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBpbml0aWVyYSBsaWJtb3VudC10YWJkaWZmIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTE3Cittc2dpZCAicG9sbCgpIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbZmxhZ2dvcl1cbiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGVuaGV0PiB8IDxtb250ZXJpbmdzcHVua3Q+XG4iCisiICUxJHMgW2ZsYWdnb3JdIDxlbmhldD4gPG1vbnRlcmluZ3NwdW5rdD5cbiIKKyIgJTEkcyBbZmxhZ2dvcl0gWy0tc291cmNlIDxlbmhldD5dIFstLXRhcmdldCA8c8O2a3bDpGc+IHwgLS1tb3VudHBvaW50IDxrYXQ+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJIaXR0YSBldHQgKG1vbnRlcmF0KSBmaWxzeXN0ZW0uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgICBzw7ZrIGkgc3RhdGlzayB0YWJlbGwgw7Z2ZXIgZmlsc3lzdGVtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICAgc8O2ayBpIHRhYmVsbCDDtnZlciBtb250ZXJhZGUgZmlsc3lzdGVtXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgKGlua2x1ZGVyYXIgbW9udGVyaW5nc2ZsYWdnb3IgZnLDpW4gYW52w6RuZGFycnltZClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgIHPDtmsgaSBrw6RybnRhYmVsbCDDtnZlciBtb250ZXJhZGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxzeXN0ZW0gKHN0YW5kYXJkKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBvbGxbPTxsaXN0YT5dICAgIMO2dmVydmFrYSDDpG5kcmluZ2FyIGkgdGFiZWxsZW4gw7Z2ZXIgbW9udGVyYWRlIGZpbHN5c3RlbVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgIMO2dnJlIGdyw6RucyBpIG1pbGxpc2VrdW5kZXIgc29tIC0tcG9sbCBrb21tZXIgYXR0IGJsb2NrZXJhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgIGluYWt0aXZlcmEgYWxsYSBpbmJ5Z2dkYSBmaWx0ZXIsIHNrcml2IHV0IGFsbGEgZmlsc3lzdGVtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgLWEsIC0tYXNjaWkgICAgICAgICAgICAgYW52w6RuZCBBU0NJSS10ZWNrZW4gZsO2ciB0csOkZGZvcm1hdGVyaW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgIHNrcml2IHV0IHN0b3JsZWthciBpIGJ5dGUgc25hcmFyZSDDpG4gaSBldHQgZm9ybWF0IGzDpHNiYXJ0IGbDtnIgbcOkbm5pc2tvclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgICBnw7ZyIGludGUgc8O2a3bDpGdhciBrYW5vbmlza2EgdmlkIGrDpG1mw7ZyZWxzZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1jYW5vbmljYWxpemUgICAgICBnw7ZyIHPDtmt2w6RnYXIga2Fub25pc2thIHZpZCB1dHNrcmlmdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgICBpbWl0ZXJhIHV0bWF0bmluZyBmcsOlbiBkZigxKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE4Cittc2dpZCAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKK21zZ3N0ciAiIC1kLCAtLWRpcmVjdGlvbiA8b3JkPiAgIHPDtmtyaWt0bmluZywg4oCdZm9yd2FyZOKAnSBlbGxlciDigJ1iYWNrd2FyZOKAnVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICAga29udmVydGVyYSB0YWdnYXIgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICB0aWxsIGVuaGV0c25hbW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtRiwgLS10YWItZmlsZSA8c8O2a3bDpGc+IGFsdGVybmF0aXYgZmlsIGbDtnIgZmxhZ2dvcm5hIC1zLCAtbSBlbGxlciAta1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICAgc2tyaXYgYmFyYSB1dCBkZXQgZsO2cnN0YSBmaWxzeXN0ZW1ldCBzb20gaGl0dGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgICBpbnZlcnRlcmEgbWF0Y2huaW5nZW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICBhbnbDpG5kIEpTT04tdXRtYXRuaW5nc2Zvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgYW52w6RuZCBsaXN0dXRtYXRuaW5nc2Zvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgICBhbnbDpG5kIGFsdGVybmF0aXYgbmFtbnJ5bWQgICgvcHJvYy88dGlkPi9tb3VudGluZm8tZmlsZW4pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgIHNrcml2IGludGUgdXQga29sdW1ucnVicmlrZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgLU8sIC0tb3B0aW9ucyA8bGlzdGE+ICAgYmVncsOkbnNhIG3DpG5nZGVuIGZpbHN5c3RlbSBlZnRlciBtb250ZXJpbmdzZmxhZ2dvclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICB1dG1hdG5pbmdza29sdW1uZXIgc29tIHNrYSB2aXNhc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICAgYW52w6RuZCB1dG1hdG5pbmdzZm9ybWF0IG1lZCBueWNrZWw9XCJ2w6RyZGVcIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgICBza3JpdiB1dCBhbGxhIHVuZGVybW9udGVyaW5nYXIgZsO2ciBtYXRjaGFuZGUgZmlsc3lzdGVtXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgIGFudsOkbmQgcsOldHQgdXRtYXRuaW5nc2Zvcm1hdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMzCittc2dpZCAiIgorIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorbXNnc3RyICIiCisiIC1TLCAtLXNvdXJjZSA8c3Ryw6RuZz4gICBlbmhldGVuIGF0dCBtb250ZXJhIChlZnRlciBuYW1uLCDDtnZyOnVuZHIsIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDxzw7ZrdsOkZz4gICBzw7ZrdsOkZ2VuIHRpbGwgZmlsc3lzdGVtZXQgc29tIHNrYSBhbnbDpG5kYXNcbiIKKworIyBzZWJyYXM6IHR5cG8gaW4gZW5nbGlzaCB0ZXh0CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2Cittc2dpZCAiICAgICAtLXRyZWUgICAgICAgICAgICAgZW5hYmxlIHRyZWUgZm9ybWF0IG91dHB1dCBpcyBwb3NzaWJsZVxuIgorbXNnc3RyICIgICAgIC0tdHJlZSAgICAgICAgICAgICAgYWt0aXZlcmEgdHLDpGR1dG1hdG5pbmdzZm9ybWF0IG9tIG3DtmpsaWd0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPGthdD4gIGthdGFsb2dlbiBzb20gw6RyIG1vbnRlcmluZ3NwdW5rdGVuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGE+ICAgICBiZWdyw6Ruc2EgdXBwc8OkdHRuaW5nZW4gYXYgZmlsc3lzdGVtIHRpbGwgRlMtdHlwZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgIGhvcHBhIMO2dmVyIGZpbHN5c3RlbSBtZWQgZXR0IGR1YmJsZXJhdCBtw6VsXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgICB0cnVua2VyYSBpbnRlIHRleHQgaSBrb2x1bW5lclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICAgc2tyaXYgaW50ZSB1dCBbL2thdF0gZsO2ciBiaW5kLSBlbGxlciBidHJmcy1tb250ZXJpbmdhclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAteCwgLS12ZXJpZnkgICAgICAgICAgICB2ZXJpZmllcmEgaW5uZWjDpWxsZXQgaSBtb250ZXJpbmdzdGFiZWxsIChzdGFuZGFyZHbDpHJkZXQgw6RyIGZzdGFiKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICBza3JpdiB1dCB1dGbDtnJsaWcgaW5mb3JtYXRpb25cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICJva8OkbmQgcmlrdG5pbmcg4oCdJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgVElELWFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCBhY2NlcHRlcmFyIGJhcmEgZW4gZmlsLCBtZW4gZmxlciBhbmdpdm5hIGF2IC0tdGFiLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJmbGFnZ29ybmEgLS10YXJnZXQgb2NoIC0tc291cmNlIGthbiBpbnRlIGFudsOkbmRhcyB0aWxsc2FtbWFucyBtZWQga29tbWFuZG9yYWRzZWxlbWVudCBzb20gaW50ZSDDpHIgZW4gZmxhZ2dhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTczCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGluaXRpZXJhIGxpYm1vdW50LWNhY2hlbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICIlcy1rb2x1bW5lbiDDpHIgYmVnw6RyZCwgbWVuIC0tcG9sbCDDpHIgaW50ZSBha3RpdmVyYWQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJtw6VsIGFuZ2l2ZXQgbWVyIMOkbiBlbiBnw6VuZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiZmVsYWt0aWcgb3JkbmluZzogJXMgYW5nYXZzIGbDtnJlICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMyCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIm9kZWZpbmllcmF0IG3DpWwgKGZzX2ZpbGUpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiaWNrZS1rYW5vbmlzayBtw6Vsc8O2a3bDpGcgKHZlcmtsaWc6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIm7DpWJhcnQgbcOlbCBzb20ga3LDpHZzIHZpZCB1cHBzdGFydDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAib27DpWJhcnQgbcOlbDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICJtw6VsIMOkciBpbnRlIGVuIGthdGFsb2ciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICJtw6VsIGV4aXN0ZXJhciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIm9uw6ViYXIga8OkbGxhIHNvbSBrcsOkdnMgdmlkIHVwcHN0YXJ0OiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIm9uw6ViYXI6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzPSAlcyDDtnZlcnNhdHQgdGlsbCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE4OQorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICJvZGVmaW5pZXJhdCBtw6VsIChmc19zcGVjKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAia8OkbGx0YWdnIHN0w7ZkcyBpbnRlOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAia29udHJvbGxlcmEgaW50ZSAlcy1rw6RsbGEgKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICJvbsOlYmFyIGVuaGV0OiAlczogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAia8OkbGxhICVzIGbDtnIgaWNrZS1iaW5kbmluZ3Ntb250ZXJpbmcgw6RyIGVuIGthdGFsb2cgZWxsZXIgZW4gdmFubGlnIGZpbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJrw6RsbGEgJXMgw6RyIGludGUgZW4gYmxvY2tlbmhldCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJrw6RsbGEgJXMgZXhpc3RlcmFyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVkZTLWZsYWdnb3I6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJGUy1mbGFnZ29yOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1c2Vyc3BhY2Ugb3B0aW9uczogJXMiCittc2dzdHIgImZsYWdnb3IgZsO2ciBhbnbDpG5kYXJyeW1kOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgImthc3NlcmluZ3Nwb2xpY3kgZsO2ciB2w6R4bGluZ3NvbXLDpWRlIHN0w7ZkcyBlajogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBmbGFnZ2EgZsO2ciB2w6R4bGluZ3NvbXLDpWRlc3ByaW9yaXRldCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgImtvbnRyb2xsZXJhIGludGUgJXMtRlMtdHlwIChwc2V1ZG8vbmV0KSIKKworIyBzZWJyYXM6IHR5cG8gaW4gdGhlIGVuZ2xpc2ggdGV4dAorIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiRlMtdHlwZW4g4oCdbm9uZeKAnSByZWtvbW1lbmRlcmFzIGVuZGFzdCBmw7ZyIGVsbGVyIGJpbmRuaW5ncy0gZWxsZXIgZsO2cmZseXR0bmluZ3PDpXRnw6RyZGVyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiJXMgdmVya2FyIHNha25hIHN0w7ZkIGhvcyBkZW4gYWt0dWVsbGEga8Okcm5hbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAia2FuIGludGUgaWRlbnRpZmllcmEgZmlsc3lzdGVtc3R5cCBww6UgZGlzayIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiVzIG1hdGNoYXIgaW50ZSBkZW4gcMOlIGRpc2s6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIlcyBww6UgZGlzayB2ZXJrYXIgc2FrbmEgc3TDtmQgaG9zIGRlbiBha3R1ZWxsYSBrw6RybmFuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgIkZTLXR5cCDDpHIgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgInJla29tbWVuZGVyYXQgcm9vdC1GUyBwYXNzbm8gw6RyIDEgKMOkciAlZCBudSkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQgdG9sa25pbmdzZmVsIgorbXNnc3RyWzFdICIlZCB0b2xrbmluZ3NmZWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgJWQgZmVsIgorbXNnc3RyWzFdICIsICVkIGZlbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiwgJWQgdmFybmluZyIKK21zZ3N0clsxXSAiLCAlZCB2YXJuaW5nYXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgIkZyYW1nw6VuZywgaW5nYSBmZWwgZWxsZXIgdmFybmluZ2FyIGRldGVrdGVyYWRlXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICJ0b20gbMOlbmcgZmxhZ2dhIGVmdGVyIGFyZ3VtZW50ZW4gLWwgZWxsZXIgLS1sb25nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyMworbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAib2vDpG50IHNrYWwgZWZ0ZXIgYXJndW1lbnRlbiAtcyBlbGxlciAtLXNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIDxmbGFnZ3N0csOkbmc+IDxwYXJhbWV0cmFyPlxuIgorIiAlMSRzIFtmbGFnZ29yXSBbLS1dIDxmbGFnZ3N0csOkbmc+IDxwYXJhbWV0cmFyPlxuIgorIiAlMSRzIFtmbGFnZ29yXSAtb3wtLW9wdGlvbnMgPGZsYWdnc3Ryw6RuZz4gW2ZsYWdnb3JdIFstLV0gPHBhcmFtZXRyYXI+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICJUb2xrYSBrb21tYW5kb3JhZHNmbGFnZ29yLlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgdGlsbMOldCBhdHQgbMOlbmdhIGZsYWdnb3IgYsO2cmphciBtZWQgZXR0IGVuc3Rha2EgLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MAorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiICAtbCwgLS1sb25nb3B0aW9ucyA8bMOlbmdmbGFnPiBkZSBsw6VuZ2EgZmxhZ2dvciBzb20gc2thIGlkZW50aWZpZXJhc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDxwcm9ncmFtbmFtbj4gICAgICBuYW1uZXQgdW5kZXIgdmlsa2V0IGZlbCByYXBwb3J0ZXJhc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MgorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgICB0aGUgc2hvcnQgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxmbGFnZ3N0csOkbmc+ICAgZGUga29ydGEgZmxhZ2dvciBzb20gc2thIGlkZW50aWZpZXJhc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGluYWt0aXZlcmEgZmVscmFwcG9ydGVyaW5nIGZyw6VuIGdldG9wdCgzKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NAorbXNnaWQgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBubyBub3JtYWwgb3V0cHV0XG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgICBpbmdlbiBub3JtYWwgdXRtYXRuaW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxza2FsPiAgICAgICAgICAgIHN0w6RsbCBpbiBjaXRlcmluZ3Nrb252ZW50aW9uZXIgdGlsbCBkZSBmw7ZyIDxza2FsPlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdGEgdmlsa2VuIGdldG9wdCgxKSB2ZXJzaW9uIHNvbSBmaW5uc1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgY2l0ZXJhIGludGUgdXRtYXRuaW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgImZsYWdnc3Ryw6RuZ3Nhcmd1bWVudCBzYWtuYXMiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgImludGVybnQgZmVsLCBrb250YWt0YSBmw7ZyZmF0dGFyZW4uIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJva8OkbmQgc2lnbmFsICVzOyBnaWx0aWdhIHNpZ25hbGVyOiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPHBpZD4gfCA8bmFtbj7igKZcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiVHZpbmdhIGZyYW0gYXR0IGVuIHByb2Nlc3MgYXZzbHV0YXMuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gcHJvY2Vzc2VzXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoIHRoZSBzYW1lIHVpZCBhcyB0aGUgcHJlc2VudCBwcm9jZXNzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBiZWdyw6Ruc2EgaW50ZSBuYW1uLXRpbGwtcGlkLWtvbnZlcnRlcmluZ2VuIHRpbGwgcHJvY2Vzc2VyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBtZWQgc2FtbWEgdWlkIHNvbSBkZW4gYWt0dWVsbGEgcHJvY2Vzc2VuXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA8c2lnbmFsPiAgc2tpY2thIDxzaWduYWw+IGlzdMOkbGxldCBmw7ZyIFNJR1RFUk1cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg2Cittc2dpZCAiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyBkYXRhXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZSA8dsOkcmRlPiAgICBhbnbDpG5kIHNpZ3F1ZXVlKDIpLCBpbnRlIGtpbGwoMiksIG9jaCBza2lja2EgPHbDpHJkZT4gc29tIGRhdGFcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHNrcml2IHV0IFBJRDphciB1dGFuIGF0dCBzaWduYWxlcmEgZGVtXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdGEgc2lnbmFsbmFtbiBlbGxlciBrb252ZXJ0ZXJhIGV0dCBzaWduYWxudW1tZXIgdGlsbCBldHQgbmFtblxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0YSBzaWduYWxuYW1uIG9jaCBzaWduYWxudW1tZXJcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgc2tyaXYgdXQgUElEOmFyIHNvbSBrb21tZXIgYXR0IHNpZ25hbGVyYXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjQwIG1pc2MtdXRpbHMva2lsbC5jOjI0OSBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgIm9rw6RuZCBzaWduYWw6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMgb2NoICVzIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZSIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJhcmd1bWVudGZlbCIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAib2dpbHRpZ3Qgc2lnbmFsbmFtbiBlbGxlciBudW1tZXI6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgInNraWNrYXIgc2lnbmFsICVkIHRpbGwgcGlkICVkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgImF0dCBza2lja2Egc2lnbmFsIHRpbGwgJXMgbWlzc2x5Y2thZGVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIHByb2Nlc3Mg4oCdJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgIm9rw6RudCByZXN1cnNuYW1uOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAib2vDpG50IHByaW9yaXRldHNuYW1uOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXM6IHPDtmt2w6Rnc25hbW5ldCDDpHIgZsO2ciBsw6VuZ3QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAidXR0YWcgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHNsw6UgdXBwIG5hbW4gJXMgcG9ydCAlczogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFuc2x1dGEgdGlsbCAlcyBwb3J0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIm1heGltYWx0IGFudGFsIGluZGF0YXJhZGVyICglZCkgw7Z2ZXJza3JlZHMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc2tpY2thIG1lZGRlbGFuZGUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgInN0cnVrdHVyZGF0YS1JRCDigJ0lc+KAnSDDpHIgaW50ZSB1bmlrdCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiLS1zZC1pZCBhbmdhdnMgaW50ZSBmw7ZyIC0tc2QtcGFyYW0gJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInbDpHJkbmFtbiDigJ0lc+KAnSDDpHIgZsO2ciBsw6VuZ3QiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJ0YWdnIOKAnSVz4oCdIMOkciBmw7ZyIGzDpW5nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgImhvcHBhciDDtnZlciBva8OkbnQgZmxhZ2dhcmd1bWVudDogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODU5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudDogJXM6IGFudsOkbmRlciBhdXRvbWF0aXNrYSBmZWwiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxtZWRkZWxhbmRlPl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMzCittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAiTWF0YSBpbiBtZWRkZWxhbmRlbiBpIHN5c3RlbWxvZ2dlbi5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2Cittc2dpZCAiIC1pICAgICAgICAgICAgICAgICAgICAgICBsb2cgdGhlIGxvZ2dlciBjb21tYW5kJ3MgUElEXG4iCittc2dzdHIgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nZ2EgbG9nZ2VyLWtvbW1hbmRvdHMgUElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIGxvZ2dhIGRldCBnaXZuYSBJRDp0IDxpZD4sIGFubmFycyBQSURcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmlsPiAgICAgICAgIGxvZ2dhIGlubmVow6VsbGV0IGkgZGVubmEgZmlsXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBsb2dnYSBpbnRlIHRvbW1hIHJhZGVyIG7DpHIgZmlsZXIgYmVoYW5kbGFzXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBnw7ZyIGFsbHQgdXRvbSBhdHQgc2tyaXZhIHRpbGwgbG9nZ2VuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmtlcmEgYW5naXZldCBtZWRkZWxhbmRlIG1lZCBkZW5uYSBwcmlvcml0ZXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIGFudsOkbmQgb2t0ZXR0csOka25pbmcgZnLDpW4gcmZjNjU4N1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbGV0YSBlZnRlciBldHQgcHJlZml4IHDDpSB2YXJqZSByYWQgc29tIGzDpHNlcyBmcsOlbiBzdGFuZGFyZCBpblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBtYXRhIMOkdmVuIHV0IG1lZGRlbGFuZGVuIHRpbGwgc3RhbmRhcmQgZmVsXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAtUywgLS1zaXplIDxzdG9ybGVrPiAgICAgbWF4aW1hbCBzdG9ybGVrIGbDtnIgZXR0IGVuc3Rha2EgbWVkZGVsYW5kZVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDYKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAtdCwgLS10YWcgPHRhZ2c+ICAgICAgICAgbWFya2VyYSB2YXJqZSByYWQgbWVkIGRlbm5hIHRhZ2dcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ3Cittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiAtbiwgLS1zZXJ2ZXIgPG5hbW4+ICAgICAgc2tyaXYgdGlsbCBkZW5uYSBmasOkcnJzeXNsb2ctc2VydmVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgYW52w6RuZCBkZW5uYSBwb3J0IGbDtnIgVURQLSBlbGxlciBUQ1AtYW5zbHV0bmluZ2FyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgYW52w6RuZCBlbmRhc3QgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgYW52w6RuZCBlbmRhc3QgVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgYW52w6RuZCBkZXQgZsO2csOlbGRyYWRlIEJTRC1zeXNsb2ctcHJvdG9rb2xsZXRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUyCittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisiICAgICAtLXJmYzU0MjRbPTxib3J0Pl0gICBhbnbDpG5kIHN5c2xvZy1wcm90b2tvbGxldCAoc3RhbmRhcmQgZsO2ciBmasOkcnIpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Ym9ydD4ga2FuIHZhcmEgbm90aW1lLCBlbGxlciBub3RxLCBvY2gvZWxsZXIgbm9ob3N0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NAorbXNnaWQgIiAgICAgLS1zZC1pZCA8aWQ+ICAgICAgICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgSURcbiIKK21zZ3N0ciAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0LXN0cnVrdHVyZXJhZCBkYXRhLUlEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQtc3RydWt0dXJlcmFkIGRhdGEgbmFtbj12w6RyZGVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8bWVkZC1pZD4gICAgc3TDpGxsIGluIHJmYzU0MjQtZsOkbHRldCBmw7ZyIG1lZGRlbGFuZGUtSURcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPHV0dGFnPiAgICAgc2tyaXYgdGlsbCBkZXR0YSBVbml4LXV0dGFnXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHNrcml2IHV0IGFuc2x1dG5pbmdzZmVsIG7DpHIgVW5peC11dHRhZyBhbnbDpG5kc1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiAgICAgLS1qb3VybmFsZFs9PGZpbD5dICAgc2tyaXYgam91cm5hbGQtcG9zdFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiZmlsICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgaWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBtZWRkZWxhbmRlc3RvcmxlayIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiLS1tc2dpZCBrYW4gaW50ZSBpbm5laMOlbGxhIGJsYW5rc3RlZyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICJvZ2lsdGlndCBzdHJ1a3R1cmRhdGEtSUQ6IOKAnSVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICJvZ2lsdGlnIHN0cnVrdHVyZXJhZCBkYXRhcGFyYW1ldGVyOiDigJ0lc+KAnSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxmaWw+IG9jaCA8bWVkZGVsYW5kZT4ga2FuIGludGUgYsOlZGEgYW52w6RuZGFzLCBtZWRkZWxhbmRlIGlnbm9yZXJhcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgImpvdXJuYWxkLXBvc3Qga3VuZGUgaW50ZSBza3JpdmFzIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8c3RyaW5nPiBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxzdHLDpG5nPiBbPGZpbD7igKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJWaXNhciByYWRlciBzb20gYsO2cmphciBtZWQgZW4gYW5naXZlbiBzdHLDpG5nLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjYKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIHVzZSB0aGUgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgIGFudsOkbmQgYWx0ZXJuYXRpdiBvcmRib2tcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY3Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGrDpG1mw7ZyIGVuZGFzdCBibGFua3RlY2tlbiBvY2ggYWxmYW51bWVyaXNrYSB0ZWNrZW5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIHNraWZ0bMOkZ2Vzb2vDpG5zbGlnIHZpZCBqw6RtZsO2cmVsc2VyXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPHRla24+ICAgZGVmaW5pZXJhIHRlY2tuZXQgc29tIGFudsOkbmRzIGbDtnIgc3Ryw6RuZ3NsdXRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJlbmhldHNuYW1uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICJrw6RybmludGVybnQgZW5oZXRzbmFtbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImvDpHJuaW50ZXJudCDDtnZlcm9yZG5hdCBlbmhldHNuYW1uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3IHN5cy11dGlscy96cmFtY3RsLmM6ODYKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgImTDpHIgZW5oZXRlbiDDpHIgbW9udGVyYWQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJmaWxzeXN0ZW1zIEVUSUtFVFQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICJwYXJ0aXRpb25zdHlwIFVVSUQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgInBhcnRpdGlvbnMgRVRJS0VUVCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiZsO2cmlubMOkc25pbmcgZsO2ciBlbmhldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAic2tyaXZza3lkZGFkIGVuaGV0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiYm9ydHRhZ25pbmdzYmFyIGVuaGV0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiYm9ydHRhZ25pbmdzYmFyIGVsbGVyIGhvdHBsdWctZW5oZXQgKHVzYiwgcGNtY2lhLCDigKYpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInJvdGVyYW5kZSBlbmhldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAibMOkZ2dhIHRpbGwgc2x1bXBtw6Rzc2lnaGV0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgImVuaGV0c2lkZW50aWZpZXJhcmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgInNlcmllbnVtbWVyIGbDtnIgZGlzayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiZW5oZXRzc3RvcmxlayIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgInRpbGxzdMOlbmQgZsO2ciBlbmhldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgImdydXBwbmFtbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorbXNnaWQgImRldmljZSBub2RlIHBlcm1pc3Npb25zIgorbXNnc3RyICJyw6R0dGlnaGV0ZXIgZsO2ciBlbmhldHNub2QiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICJqdXN0ZXJpbmdzcG9zaXRpb24iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICJtaW5zdGEgSS9PLXN0b3JsZWsiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJvcHRpbWFsIEkvTy1zdG9ybGVrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgImZ5c2lzayBzZWt0b3JzdG9ybGVrIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAibG9naXNrIHNla3RvcnN0b3JsZWsiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIk5hbW4gZsO2ciBJL08tc2NoZW1hbMOkZ2dhcmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgInN0b3JsZWsgcMOlIGvDtiBmw7ZyIGJlZ8OkcmFuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk2Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgImVuaGV0c3R5cCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAia2Fzc2VyaW5nc2p1c3RlcmluZ3Nwb3NpdGlvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgImthc3NlcmluZ3NncmFudWxhcml0ZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAia2Fzc2VyYSBtYXggYnl0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorbXNnaWQgImRpc2NhcmQgemVyb2VzIGRhdGEiCittc2dzdHIgImthc3NlcmluZyBub2xsYXIgZGF0YSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMQorbXNnaWQgIndyaXRlIHNhbWUgbWF4IGJ5dGVzIgorbXNnc3RyICJza3JpdiBzYW1tYSBtYXhpbWFsdCBhbnRhbCBieXRlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAyCittc2dpZCAidW5pcXVlIHN0b3JhZ2UgaWRlbnRpZmllciIKK21zZ3N0ciAidW5payBsYWdyaW5nc2lkZW50aWZpZXJhcmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiVsOkcmQ6S2FuYWw6TcOlbDpMdW4gZsO2ciBTQ1NJIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICJlbmhldHN0cmFuc3BvcnRlcmluZ3N0eXAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgInJlZHVjZXJhZGUga2Vkam9yIGF2IHVuZGVyc3lzdGVtIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJlbmhldHN2ZXJzaW9uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiZW5oZXRzdGlsbHZlcmthcmUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDgKK21zZ2lkICJ6b25lIG1vZGVsIgorbXNnc3RyICJ6b25tb2RlbGwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjkyCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgw7ZwcG5hIGVuaGV0c2thdGFsb2cgaSBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzYW1tYW5mb2dhIHN5c2ZzLXPDtmt2w6RnIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIGzDpG5rIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHN5c2ZzLW5hbW4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBlbmhldHNudW1tZXIgZsO2ciBoZWxhIGRpc2tlbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NjcgbWlzYy11dGlscy9sc2Jsay5jOjE1NjkgbWlzYy11dGlscy9sc2Jsay5jOjE1OTQKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGxpc3RhIOKAnSVz4oCdIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImxpc3RhbiBleGtsdWRlcmFyIGVuaGV0ZXIgc29tIMOkciBmw7ZyIHN0b3JhIChiZWdyw6Ruc25pbmdlbiDDpHIgJWQgZW5oZXRlcikiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAibGlzdGFuIMO2dmVyIGlua2x1ZGVyYWRlIGVuaGV0ZXIgw6RyIGbDtnIgc3RvciAoYmVncsOkbnNuaW5nZW4gw6RyICVkIGVuaGV0ZXIpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzMyBzeXMtdXRpbHMvd2RjdGwuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFs8ZW5oZXQ+IOKApl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIkxpc3RhIGluZm9ybWF0aW9uIG9tIGJsb2NrZW5oZXRlci5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICBza3JpdiB1dCBhbGxhIGVuaGV0ZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vZGVwcyAgICAgICAgICBza3JpdiBpbnRlIHV0ZSBzbGF2YXIgZWxsZXIgaMOlbGxhcmVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgICBza3JpdiB1dCBrYXNzZXJpbmdzZsO2cm3DpWdvclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MworbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAteiwgLS16b25lZCAgICAgICAgICAgc2tyaXYgdXQgem9ubW9kZWxsXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ0Cittc2dpZCAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKK21zZ3N0ciAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3RhPiBleGtsdWRlcmEgZW5oZXRlciBlZnRlciDDtnZyZW51bW1lciAoc3RhbmRhcmQ6IFJBTS1kaXNrYXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICAgc2tyaXYgdXQgaW5mb3JtYXRpb24gb20gZmlsc3lzdGVtXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgICBhbnbDpG5kIGVuZGFzdCBhc2NpaS10ZWNrZW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA8bGlzdGE+IHZpc2EgYmFyYSBlbmhldGVyIG1lZCBhbmdpdm5hIMO2dnJlbnVtbWVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgYW52w6RuZCB1dG1hdG5pbmdzZm9ybWF0ZXQgSlNPTlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgYW52w6RuZCBsaXN0dXRtYXRuaW5nc2Zvcm1hdGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ULCAtLXRyZWUgICAgICAgICAgIGFudsOkbmQgdHLDpGR1dG1hdG5pbmdzZm9ybWF0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICAgc2tyaXYgdXQgaW5mb3JtYXRpb24gb20gcsOkdHRpZ2hldGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUyIHN5cy11dGlscy9sc21lbS5jOjUwNgorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIHNrcml2IGludGUgdXQgcnVicmlrZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgc2tyaXYgdXQga29sdW1uZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICAgc2tyaXYgdXQgYWxsYSBrb2x1bW5lclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NQorbXNnaWQgIiAtcCwgLS1wYXRocyAgICAgICAgICBwcmludCBjb21wbGV0ZSBkZXZpY2UgcGF0aFxuIgorbXNnc3RyICIgLXAsIC0tcGF0aHMgICAgICAgICAgIHNrcml2IHV0IGZ1bGxzdMOkbmRpZyBlbmhldHNzw7ZrdsOkZ1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAgIG9tdsOkbmRhIGJlcm9lbmRlblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1TLCAtLXNjc2kgICAgICAgICAgICBtYXRhIHV0IGluZm9ybWF0aW9uIG9tIFNDU0ktZW5oZXRlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgIG1hdGEgdXQgaW5mb3JtYXRpb24gb20gdG9wb2xvZ2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPGtvbHVtbj4gICBzb3J0ZXJhIHV0bWF0bmluZyBlZnRlciA8a29sdW1uPlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGtvbW1hIMOldCBzeXNmcy1rYXRhbG9nOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgImtvbW1hbmRvIGbDtnIgcHJvY2Vzc2VuIHNvbSBow6VsbGVyIGzDpXNldCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIGbDtnIgcHJvY2Vzc2VuIHNvbSBow6VsbGVyIGzDpXNldCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICJsw6Vzc3RvcmxlayIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJsw6Vzc3RvcmxlayIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICLDpXRrb21zdGzDpGdlIGbDtnIgbMOlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICJvYmxpZ2F0b3Jpc2t0IHRpbGxzdMOlbmQgZsO2ciBsw6VzZXQ6IDAgKGluZ2V0KSwgMSAoc2F0dCkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc5Cittc2dpZCAicmVsYXRpdmUgYnl0ZSBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgInJlbGF0aXYgYnl0ZXBvc2l0aW9uIGbDtnIgbMOlc2V0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgImF2c2x1dGFuZGUgcG9zaXRpb24gZsO2ciBsw6VzZXQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgInPDtmt2w6RnIGbDtnIgZGVuIGzDpXN0YSBmaWxlbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBmw7ZyIHByb2Nlc3NlbiBzb20gYmxvY2tlcmFyIGzDpXNldCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgcGlkIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihva8OkbmQpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHN0YXJ0IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozMDAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBlbmQiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICJMaXN0YSBsb2thbGEgc3lzdGVtbMOlcy5cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAyCittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICAgaWdub3JlcmEgbMOlcyB1dGFuIGzDpHNyw6R0dGlnaGV0ZXJcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgc2tyaXYgaW50ZSB1dCBydWJyaWtlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgIGRlZmluaWVyYSB2aWxrYSB1dG1hdG5pbmdza29sdW1uZXIgc29tIHNrYSBhbnbDpG5kYXNcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgICB2aXNhIGJhcmEgbMOlcyBzb20gaMOlbGxzIGF2IGRlbm5hIHByb2Nlc3NcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICBhbnbDpG5kIHLDpXR0IHV0bWF0bmluZ3Nmb3JtYXRcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IFBJRC1hcmd1bWVudCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiR2VuZXJlcmEgbWFnaXNrYSBrYWtvciBmw7ZyIHhhdXRoLlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmlsPiAgICAgIGFudsOkbmQgZmlsIHNvbSBmcsO2IHRpbGwga2Frb3JcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgYmVncsOkbnNhIGh1ciBteWNrZXQgc29tIHNrYSBsw6RzYXMgZnLDpW4gZnLDtmZpbGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGbDtnJrbGFyYSB2YWQgc29tIGjDpG5kZXJcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJGaWNrICV6dSBieXRlIGZyw6VuICVzXG4iCittc2dzdHJbMV0gIkZpY2sgJXp1IGJ5dGUgZnLDpW4gJXNcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICJzdMOkbmduaW5nIGF2ICVzIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGzDpG5nZCIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiLS1tYXgtc2l6ZSBob3BwYXMgw7Z2ZXIgbsOkciBkZW4gYW52w6RuZHMgdXRhbiAtLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIkZpY2sgJWQgYnl0ZSBmcsOlbiAlc1xuIgorbXNnc3RyWzFdICJGaWNrICVkIGJ5dGUgZnLDpW4gJXNcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBzeW1ib2xpc2sgbMOkbms6ICVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIlcyAtIEluZ2VuIHPDpWRhbiBmaWwgZWxsZXIga2F0YWxvZ1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxzw7ZrdsOkZ3NuYW1uPuKAplxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiRsO2bGogZXR0IHPDtmt2w6Rnc25hbW4gdGlsbCBlbiBzbHV0cHVua3QgaGl0dGFzLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICB2aXNhIGthdGFsb2dlciBtZWQgbW9udGVyaW5nc3B1bmt0ZXIgc29tIGV0dCDigJ1E4oCdXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAgdmlzYSBsw6RnZXNiaXRhcm5hIGbDtnIgdmFyamUgZmlsXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgdmlzYSDDpGdhcmUgb2NoIGdydXBwbmFtbiBmw7ZyIHZhcmplIGZpbFxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIGFudsOkbmQgZXR0IGzDpW5ndCBsaXN0Zm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZsO2bGogaW50ZSBzeW1ib2xpc2thIGzDpG5rYXJcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBqdXN0ZXJhIGzDpGdlbiBvY2ggw6RnYXJlIHZlcnRpa2FsdFxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAic8O2a3bDpGdzYXJndW1lbnQgc2FrbmFzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBVSUQgY2FjaGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFsbG9rZXJhIFVJRC1jYWNoZSIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGFsbG9rZXJhIEdJRC1jYWNoZSIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhjZWVkZWQgbGltaXQgb2Ygc3ltbGlua3MiCittc2dzdHIgIiVzOiBiZWdyw6Ruc25pbmcgZsO2ciBzeW1ib2xpc2thIGzDpG5rYXIgw7Z2ZXJza3JlZHMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVzOiBpbnRlIGVuIHN5bWJvbGlzayBsw6RuayIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogcmVhZGxpbmsgbWlzc2x5Y2thZGVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGxpbms6IGAlcydcbiIKK21zZ3N0ciAiSG9wcGFyIMO2dmVyIGV4aXN0ZXJhbmRlIGzDpG5rIOKAnSVz4oCdXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiB1bmxpbmsgbWlzc2x5Y2thZGVzIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN5bWJvbGlzayBsw6Rua25pbmcgdGlsbCAlcyBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiSG9wcGFyIMO2dmVyIGZpbCA6IOKAnSVz4oCdXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogbmFtbmJ5dGUgdGlsbCAlcyBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPHV0dHJ5Y2s+IDxlcnPDpHR0bmluZz4gPGZpbD7igKZcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIkJ5dCBuYW1uIHDDpSBmaWxlci5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICBmw7Zya2xhcmEgdmFkIHNvbSBow6RuZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQyCittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIC1zLCAtLXN5bWxpbmsgICAgICAgYWdlcmEgcMOlIG3DpWxldCBmw7ZyIHN5bWJvbGlza2EgbMOkbmthclxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MworbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIG5vdCBtYWtlIGFueSBjaGFuZ2VzXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgIGfDtnIgaW50ZSBuw6VncmEgw6RuZHJpbmdhclxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIgLW8sIC0tbm8tb3ZlcndyaXRlICBza3JpdiBpbnRlIMO2dmVyIGV4aXN0ZXJhbmRlIGZpbGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJFbiBkZW1vbiBmw7ZyIGF0dCBnZW5lcmVyYSBVVUlEOm4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorbXNnaWQgIiAtcCwgLS1waWQgPHBhdGg+ICAgICAgICBwYXRoIHRvIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHPDtmt2w6RnPiAgICAgIHPDtmt2w6RnIHRpbGwgcGlkLWZpbFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC1zLCAtLXNvY2tldCA8c8O2a3bDpGc+ICAgc8O2a3bDpGcgdGlsbCB1dHRhZ1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1ULCAtLXRpbWVvdXQgPHNlaz4gICAgIGFuZ2UgdGlkc2dyw6RucyBmw7ZyIGluYWt0aXZpdGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtaywgLS1raWxsICAgICAgICAgICAgICBkw7ZkYSBrw7ZyYW5kZSBkZW1vblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdGEgc2x1bXBtw6Rzc2lnIGdlbmVyZXJpbmdcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0YSB0aWRzYmFzZXJhZCBnZW5lcmVyaW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLW4sIC0tdXVpZHMgPG51bT4gICAgICAgYmVnw6RyIGFudGFsIFVVSUQ6blxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgc2thcGEgaW50ZSBQSUQtZmlsXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkZW1vbmlzZXJhIGludGUgdmlhIGR1YmJlbGFucm9wIGF2IGZvcmtcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc1Cittc2dpZCAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGRvIG5vdCBjcmVhdGUgbGlzdGVuaW5nIHNvY2tldFxuIgorbXNnc3RyICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gc2thcGEgaW50ZSBldHQgdXR0YWcgc29tIGx5c3NuYXMgcMOlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGvDtnIgaSBmZWxzw7ZrbmluZ3Nsw6RnZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBha3RpdmVyYSB0eXN0IGzDpGdlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJkw6VsaWdhIGFyZ3VtZW50IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJ1dHRhZyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImFuc2x1dCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworbXNnaWQgIndyaXRlIgorbXNnc3RyICJza3JpdiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgImzDpHNuaW5nc2FudGFsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiZmVsYWt0aWcgc3ZhcnNsw6RuZ2QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgImthbiBpbnRlIGzDpXNhICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAia2FuIGludGUgc2thcGEgdW5peC1zdHLDtm11dHRhZyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGJpbmRhIHVuaXgtdXR0YWcgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyODkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAibW90dGFnbmluZyBhdiBzaWduYWwgbWlzc2x5Y2thZGVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJ0aWRzZ3LDpG5zIHVwcG7DpWRkZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbiB0aW1lciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAidXVpZGQtZGVtb25lbiBrw7ZyIHJlZGFuIHNvbSBwaWQgJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGx5c3NuYSBww6UgdW5peC11dHRhZyAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgImt1bmRlIGludGUgdHJ1bmtlcmEgZmlsOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM3NworbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNkX2xpc3Rlbl9mZHMoKSBtaXNzbHlja2FkZXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiaW5nYSBmaWxkZXNrcmlwdG9yZXIgbW90dGFnbmEsIGtvbnRyb2xsZXJhIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICJmw7ZyIG3DpW5nYSBmaWxkZXNrcmlwdG9yZXIgbW90dGFnbmEsIGtvbnRyb2xsZXJhIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgInRpZHNncsOkbnMgWyVkIHNla11cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4OTkgdGV4dC11dGlscy9jb2x1bW4uYzo0OTYKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NTI5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImzDpHNuaW5nIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiZmVsIHZpZCBsw6RzbmluZyBmcsOlbiBrbGllbnQsIGzDpG5nZCA9ICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZCwgaW5jb21pbmcgbnVtID0gJWRcbiIKK21zZ3N0ciAiw6V0Z8OkcmQgJWQsIGlua29tbWFuZGUgbnVtID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiw6V0Z8OkcmQgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICJHZW5lcmVyYWRlIHRpZHNiYXNlcmFkIFVVSUQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICJHZW5lcmVyYWRlIHNsdW1wbcOkc3NpZyBVVUlEOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAiR2VuZXJlcmFkZSB0aWRzYmFzZXJhZCBVVUlEICVzIG9jaCAlZCBlZnRlcmbDtmxqYW5kZVxuIgorbXNnc3RyWzFdICJHZW5lcmVyYWRlIHRpZHNiYXNlcmFkIFVVSUQgJXMgb2NoICVkIGVmdGVyZsO2bGphbmRlXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAiR2VuZXJlcmFkZSAlZCBVVUlEOlxuIgorbXNnc3RyWzFdICJHZW5lcmVyYWRlICVkIFVVSUQ6ZXI6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiT2dpbHRpZyDDpXRnw6RyZCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJPdsOkbnRhZCBzdmFyc2zDpG5nZCBmcsOlbiBzZXJ2ZXIgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgLS11dWlkcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgInV1aWRkIGhhciBieWdndHMgdXRhbiBzdMO2ZCBmw7ZyIHV0dGFnc2FrdGl2ZXJpbmciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSAtLXRpbWVvdXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBuYW1lIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAidm9seW1uYW1uZXQgw6RyIGbDtnIgbMOlbmd0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiQsOlZGUgLS1zb2NrZXQtYWN0aXZhdGlvbiBvY2ggLS1zb2NrZXQgYW5naXZldC4gSWdub3JlcmFyIC0tc29ja2V0LiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImZlbCB2aWQgYW5yb3AgYXYgdXVpZGQtZGVtb24oJXMpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjU1IG1pc2MtdXRpbHMvdXVpZGQuYzo2ODMKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICJvdsOkbnRhdCBmZWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyBvY2ggJWQgZWZ0ZXJmw7ZsamFuZGUgVVVJRFxuIgorbXNnc3RyWzFdICIlcyBvY2ggJWQgZWZ0ZXJmw7ZsamFuZGUgVVVJRDplclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgIkxpc3RhIMO2dmVyIFVVSUQ6ZXI6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAia3VuZGUgaW50ZSBkw7ZkYSB1dWlkZCBrw7ZyYW5kZXMgc29tIHBpZCAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIkTDtmRhZGUgdXVpZGQga8O2cmFuZGVzIHNvbSBwaWQgJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIlNrYXBhIGV0dCBueXR0IFVVSUQtdsOkcmRlLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyZXJhIHNsdW1wbcOkc3NpZyB1dWlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMzCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyZXJhIHRpZHNiYXNlcmFkIHV1aWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVzcGFjZSBuciAgZ2VuZXJlcmEgaGFzaC1iYXNlcmF0IHV1aWQgaSBkZW5uYSBuYW1ucnltZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIgLU4sIC0tbmFtZSBuYW1uICAgICBnZW5lcmVyYSBoYXNoLWJhc2VyYXQgdXVpZCBmcsOlbiBkZXR0YSBuYW1uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJlcmEgbWQ1LWhhc2hcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKK21zZ2lkICIgLXMsIC0tc2hhMSAgICAgICAgICBnZW5lcmF0ZSBzaGExIGhhc2hcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJlcmEgc2hhMS1oYXNoXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4Cittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgaW50ZXJwcmV0IG5hbWUgYXMgaGV4IHN0cmluZ1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICB0b2xrYSBuYW1uIHNvbSBoZXhzdHLDpG5nXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzYKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAidW5payBpZGVudGlmaWVyYXJlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3Cittc2dpZCAidmFyaWFudCBuYW1lIgorbXNnc3RyICJ2YXJpYW50bmFtbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAidHlwbmFtbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAidGlkc3N0w6RtcGVsIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDx1dWlkIOKApj5cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgYW52w6RuZCBKU09OLXV0bWF0bmluZ3Nmb3JtYXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICBza3JpdiBpbnRlIHV0IHJ1YnJpa2VyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgIEtPTFVNTkVSIGF0dCB2aXNhIChzZSBuZWRhbikiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgIGFudsOkbmQgcsOldHQgdXRtYXRuaW5nc2Zvcm1hdCIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNzIgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTEKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjIyCittc2dpZCAiaW52YWxpZCIKK21zZ3N0ciAib2dpbHRpZ3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTg2Cittc2dpZCAib3RoZXIiCittc2dzdHIgIsO2dnJpZ3QiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICJuaWwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAidGlkc2Jhc2VyYWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjA4Cittc2dpZCAibmFtZS1iYXNlZCIKK21zZ3N0ciAibmFtbmJhc2VyYWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjExCittc2dpZCAicmFuZG9tIgorbXNnc3RyICJzbHVtcG3DpHNzaWciCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE0Cittc2dpZCAic2hhMS1iYXNlZCIKK21zZ3N0ciAic2hhMS1iYXNlcmFkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI2NyBtaXNjLXV0aWxzL3dpcGVmcy5jOjE3MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzIyCisjOiBzeXMtdXRpbHMvbHNucy5jOjgwNiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5NgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIm1pc3NseWNrYWRlcyBhdHQgaW5pdGllcmEgdXRtYXRuaW5nc2tvbHVtbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFstQk1TIDxrYXQ+4oCmIC1mXSA8bmFtbj5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIkxldGEgdXBwIGZpbGVybmEgbWVkIGJpbsOkcmVuLCBrw6RsbGtvZGVuIG9jaCBtYW51YWxzaWRhbiBmw7ZyIGV0dCBrb21tYW5kby5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIHPDtmsgZW5kYXN0IGVmdGVyIGJpbsOkcmVyXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPHPDtmt2PiAgZGVmaW5pZXJhIGJpbsOkcmVybmFzIHPDtmt2w6RnXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgLW0gICAgICAgICBzw7ZrIGVuZGFzdCBlZnRlciBtYW51YWwtIG9jaCBpbmZvc2lkb3JcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPHPDtmt2PiAgZGVmaW5pZXJhIG1hbi0gb2NoIGluZm9zw7ZrdsOkZ1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIgLXMgICAgICAgICBzw7ZrIGVuZGFzdCBlZnRlciBrw6RsbGtvZFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTAKK21zZ2lkICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLVMgPHPDtmt2PiAgZGVmaW5pZXJhIHPDtmt2w6RnIGbDtnIga8OkbGxrb2RcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjExCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAtZiAgICAgICAgIGF2c2x1dGEgYXJndW1lbnRsaXN0YW4gPHPDtmt2PlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgLXUgICAgICAgICBzw7ZrIGVmdGVyIG92YW5saWdhIHBvc3RlclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBtYXRhIHV0IGVmZmVrdGl2YSBzw7ZrdsOkZ2FyXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjY0OAorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICJmbGFnZ2FuIC1mIHNha25hcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJwYXJ0aXRpb25zL2ZpbHN5c3RlbXMtVVVJRCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICJsw6RuZ2QgZsO2ciBtYWdpc2sgc3Ryw6RuZyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAic3VwZXJibG9ja3N0eXAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA3Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAicG9zaXRpb24gZsO2ciBtYWdpc2sgc3Ryw6RuZyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKK21zZ2lkICJ0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJ0eXBiZXNrcml2bmluZyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiYmxvY2tlbmhldHNuYW1uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorbXNnaWQgInBhcnRpdGlvbi10YWJsZSIKK21zZ3N0ciAicGFydGl0aW9uc3RhYmVsbCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiZmVsOiAlczogYXZzw7ZrbmluZ3Npbml0aWVyaW5nIG1pc3NseWNrYWRlcyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBlcmFzZSAlcyBtYWdpYyBzdHJpbmcgYXQgb2Zmc2V0IDB4JTA4angiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCB0YSBib3J0ICVzIG1hZ2lzayBzdHLDpG5nIHZpZCBwb3NpdGlvbiAweCUwOGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogJXpkIGJ5dGUgcmFkZXJhZGVzIHZpZCBwb3NpdGlvbiAweCUwOGp4ICglcyk6ICIKK21zZ3N0clsxXSAiJXM6ICV6ZCBieXRlIHJhZGVyYWRlcyB2aWQgcG9zaXRpb24gMHglMDhqeCAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IHNrYXBhIHPDpGtlcmhldHNrb3BpYSBhdiBzaWduYXR1ciIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIiVzOiBhbnJvcGFyIGlvY3RsIGbDtnIgYXR0IGzDpHNhIG9tIHBhcnRpdGlvbnN0YWJlbGxlbjogJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBza2FwYSBlbiBzaWduYXR1cnPDpGtlcmhldHNrb3BpYSwgJEhPTUUgw6RyIG9kZWZpbmllcmF0IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogaWdub3JlcmFyIG7DpHN0bGFkIHBhcnRpdGlvbnN0YWJlbGwg4oCdJXPigJ0gcMOlIGVuIGlja2UtZnVsbHN0w6RuZGlnIGRpc2tlbmhldCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVzOiBwb3NpdGlvbiAweCVqeCBoaXR0YWRlcyBpbnRlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICJBbnbDpG5kIGZsYWdnYW4gLS1mb3JjZSBmw7ZyIGF0dCB0dmluZ2EgZnJhbSByYWRlcmluZy4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuIgorbXNnc3RyICJSYWRlcmEgc2lnbmF0dXJlciBmcsOlbiBlbiBlbmhldC4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgIHJhZGVyYSBhbGxhIG1hZ2lza2Egc3Ryw6RuZ2FyIChWQVIgQUtUU0FNISkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgc2thcGEgZW4gc8Oka2VyaGV0c2tvcGlhIGF2IHNpZ25hdHVyIGkgJCBIT01FIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmUiCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIHR2aW5nYSBib3J0dGFnbmluZyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTEKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBza3JpdiBpbnRlIHV0IHJ1YnJpa2VyIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgYW52w6RuZCB1dG1hdG5pbmdzZm9ybWF0ZXQgSlNPTiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbCIKK21zZ3N0ciAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBnw7ZyIGFsbHQgdXRvbSBkZXQgc2lzdGEgYW5yb3BldCB0aWxsIHdyaXRlKCkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIHBvc2l0aW9uIGbDtnIgYm9ydHRhZ25pbmcsIGkgYnl0ZSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTUKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxsaXN0PiBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGxpc3RhPiBLT0xVTU5FUiBhdHQgdmlzYSAoc2VlIG5lZGFuKSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTYKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgLXAsIC0tcGFyc2VhYmxlICAgIHNrcml2IHV0IGVuIGxpc3RhIGkgdG9sa25pbmdzYmFydCBpc3TDpGxsZXQgZsO2ciB1dHNrcml2YmFydCBmb3JtYXQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE3Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICB1bmRlcnRyeWNrIG1lZGRlbGFuZGVuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxOAorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlcyIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0YT4gICAgIGJlZ3LDpG5zYSB1cHBzw6R0dG5pbmdlbiwgUkFJRCBlbGxlciBwYXJ0aXRpb25zdGFiZWxsZXIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIkZsYWdnYW4gLS1iYWNrdXAgw6RyIG1lbmluZ3Nsw7ZzIGkgZGV0dGEgc2FtbWFuaGFuZyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJWaXNhIGVsbGVyIMOkbmRyYSByZWFsdGlkcy1zY2hlbWFsw6RnZ25pbmdzYXR0cmlidXRlbiBmw7ZyIGVuIHByb2Nlc3MuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIlN0w6RsbCBpbiBwb2xpY3k6XG4iCisiIGNocnQgW2ZsYWdnb3JdIDxwcmlvcml0ZXQ+IDxrb21tYW5kbz4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtmbGFnZ29yXSAtLXBpZCA8cHJpb3JpdGV0PiA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIkjDpG10YSBwb2xpY3k6XG4iCisiIGNocnQgW2ZsYWdnb3JdIC1wIDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJQb2xpY3lmbGFnZ29yOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc3TDpGxsIGluIHBvbGljeSBww6UgU0NIRURfQkFUQ0hcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHN0w6RsbCBpbiBwb2xpY3kgcMOlIFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIHN0w6RsbCBpbiBwb2xpY3kgcMOlIFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAgc3TDpGxsIGluIHBvbGljeSBww6UgU0NIRURfSURMRVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIgLW8sIC0tb3RoZXIgICAgICAgICAgc3TDpGxsIGluIHBvbGljeSBww6UgU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBzdMOkbGwgaW4gcG9saWN5IHDDpSBTQ0hFRF9SUiAoc3RhbmRhcmQpXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiU2NoZW1hbMOkZ2duaW5nc2ZsYWdnb3I6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorbXNnaWQgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHNldCBTQ0hFRF9SRVNFVF9PTl9GT1JLIGZvciBGSUZPIG9yIFJSXG4iCittc2dzdHIgIiAtUiwgLS1yZXNldC1vbi1mb3JrICAgICAgIHN0w6RsbCBpbiBTQ0hFRF9SRVNFVF9PTl9GT1JLIGbDtnIgRklGTyBlbGxlciBSUlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTYKK21zZ2lkICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBydW50aW1lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAga8O2cnRpZHNwYXJhbWV0ZXIgZsO2ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2RwYXJhbWV0ZXIgZsO2ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IHRpZHNncsOkbnNwYXJhbWV0ZXIgZsO2ciBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICJBbmRyYSBmbGFnZ29yOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbC10YXNrcyAgICAgIGFyYmV0YSBww6UgYWxsYSB0csOlZGFyIGbDtnIgZW4gZ2l2ZW4gcGlkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heCAgICAgICAgICAgIHZpc2EgbWluc3RhIG9jaCBzdMO2cnN0YSBnaWx0aWdhIHByaW9yaXRldGVyXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgYXJiZXRhIHDDpSBleGlzdGVyYW5kZSwgYW5naXZlbiBwaWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICB2aXNhIHN0YXR1c2luZm9ybWF0aW9uXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBwaWQgJWQ6cyBwb2xpY3kiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSBwaWQgJWQ6cyBhdHRyaWJ1dCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInBpZCAlZDpzIG55YSBzY2hlbWFsw6RnZ25pbmdzcG9saWN5OiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJwaWQgJWQ6cyBha3R1ZWxsYSBzY2hlbWFsw6RnZ25pbmdzcG9saWN5OiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJwaWQgJWQ6cyBueWEgc2NoZW1hbMOkZ2duaW5nc3BvbGljeTogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkOnMgYWt0dWVsbGEgc2NoZW1hbMOkZ2duaW5nc3BvbGljeSAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZDpzIG55YSBrw7ZydGlkL3RpZHNncsOkbnMvcGVyaW9kLXBhcmFtZXRyYXI6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZDpzIGFrdHVlbGxhIGvDtnJ0aWQvdGlkc2dyw6Rucy9wZXJpb2QtcGFyYW1ldHJhcjogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgImthbiBpbnRlIGjDpG10YSBsaXN0YW4gw7Z2ZXIgdXBwZ2lmdGVyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICIlcyBtaW4vbWF4LXByaW9yaXRldFx0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiJXMgc3TDtmRzIGludGU/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiB0aWQgJWQ6cyBwb2xpY3kiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBwaWQgJWQ6cyBwb2xpY3kiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3Qga8O2cnRpZHNhcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHBlcmlvZGFyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCB0aWRzZ3LDpG5zYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxNQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHByaW9yaXRldHNhcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIi0tcmVzZXQtb24tZm9yay1mbGFnZ2FuIHN0w7ZkcyBlbmRhc3QgZsO2ciBTQ0hFRF9GSUZPLSBvY2ggU0NIRURfUlItcG9saWN5ZXIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfS1mbGFnZ29ybmEgc3TDtmRzIGVuZGFzdCBmw7ZyIFNDSEVEX0RFQURMSU5FIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiU0NIRURfREVBRExJTkUgc3TDtmRzIGludGUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgInByaW9yaXRldHN2w6RyZGUgZsO2ciBwb2xpY3luIHN0w7ZkcyBlajogJWQ6IHNlIC0tbWF4IGbDtnIgb2dpbHRpZ3QgaW50ZXJ2YWxsIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQgbWlzc2x5Y2thZGVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwcmlvICVsdVxuIgorbXNnc3RyICIlczogcHJpb3JpdGV0ICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQgbWlzc2x5Y2thZGVzIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtmbGFnZ29yXSAtcCA8cGlkPuKAplxuIgorIiAlMSRzIFtmbGFnZ29yXSAtUCA8cGdpZD7igKZcbiIKKyIgJTEkcyBbZmxhZ2dvcl0gLXUgPHVpZD7igKZcbiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGtvbW1hbmRvPlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJWaXNhIGVsbGVyIMOkbmRyYSBzY2hlbWFsw6RnZ25pbmdza2xhc3MgZsO2ciBJL08gb2NoIHByaW9yaXRldCBmw7ZyIGVuIHByb2Nlc3MuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jbGFzcyA8a2xhc3M+ICAgIG5hbW4gZWxsZXIgbnVtbWVyIGbDtnIgc2NoZW1hbMOkZ2duaW5nc2tsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogaW5nZW4sIDE6IHJlYWx0aWQsIDI6IGLDpHN0YSBpbnNhdHMsIDM6IG92ZXJrc2FtXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXRldCAoMC4uNykgaW5vbSBkZW4gYW5naXZuYSBzY2hlbWFsw6RnZ25pbmdza2xhc3NlbixcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGVuZGFzdCBmw7ZyIHJlYWx0aWRzLSBvY2ggYsOkc3RhLWluc2F0c2tsYXNzZXJuYVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD7igKYgICAgICAgYWdlcmEgcMOlIGRlc3NhIHJlZGFuIGvDtnJhbmRlIHByb2Nlc3NlclxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIgLVAsIC0tcGdpZCA8cGdycD7igKYgICAgIGFnZXJhIHDDpSByZWRhbiBrw7ZyYW5kZSBwcm9jZXNzZXIgaSBkZXNzYSBncnVwcGVyXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIwCittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZXJhIGZlbFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPHVpZD7igKYgICAgICAgYWdlcmEgcMOlIHJlZGFuIGvDtnJhbmRlIHByb2Nlc3NlciBzb20gw6RncyBhdiBkZXNzYSBhbnbDpG5kYXJlXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBrbGFzc2RhdGFhcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBrbGFzc2FyZ3VtZW50IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgIm9rw6RuZCBzY2hlbWFsw6RnZ25pbmdza2xhc3M6IOKAnSVz4oCdIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJrYW4gYmFyYSBoYW50ZXJhIGVuIHV0YXYgcGlkLCBwZ2lkIGVsbGVyIHVpZCDDpXQgZ8OlbmdlbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IFBHSUQtYXJndW1lbnQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IFVJRC1hcmd1bWVudCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICJpZ25vcmVyYXIgYW5naXZlbiBrbGFzc2RhdGEgdXRhbiBrbGFzcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICJpZ25vcmVyYXIgYW5naXZlbiBrbGFzc2RhdGEgZsO2ciBvdmVya3NhbWhldHNrbGFzcyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJva8OkbmQgcHJpb3JpdGV0c2tsYXNzICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyJBbnbDpG5kbmluZzogJXMgW2ZsYWdnb3JdIFttYXNrIHwgY3B1LWxpc3RhXSBbcGlkIHwga21kIFthcmfigKZdXVxuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1NgorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJWaXNhIGVsbGVyIMOkbmRyYSBDUFUtYWZmaW5pdGV0IGbDtnIgZW4gcHJvY2Vzcy5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisiRmxhZ2dvcjpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgYXJiZXRhIHDDpSBhbGxhIHRyw6VkYXIgZsO2ciBlbiBhbmdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBhcmJldGEgcMOlIGV4aXN0ZXJhbmRlLCBhbmdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICB2aXNhIG9jaCBhbmdlIENQVTplciBpIGxpc3Rmb3JtYXRcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyJTdGFuZGFyZGJldGVlbmRldCDDpHIgYXR0IGvDtnJhIGV0dCBueXR0IGtvbW1hbmRvOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIkR1IGthbiBow6RtdGEgbWFza2VuIGbDtnIgZW4gZXhpc3RlcmFuZGUgdHLDpWQ6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiRWxsZXIgc3TDpGxsYSBpbiBkZW46XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdGZvcm1hdGV0IGFudsOkbmRlciBlbiBrb21tYXNlcGFyZXJhZCBsaXN0YSBpc3TDpGxsZXQgZsO2ciBlbiBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJJbnRlcnZhbGwgaSBsaXN0Zm9ybWF0ZXQga2FuIHRhIGV0dCBzdGVnYXJndW1lbnQ6XG4iCisiICAgIHQuZXggw6RyIDAtMzE6MiBla3ZpdmFsZW50IG1lZCBtYXNrIDB4NTU1NTU1NTVcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgInBpZCAlZDpzIG55YSBhZmZpbml0ZXRzbGlzdGE6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkOnMgYWt0dWVsbGEgYWZmaW5pdGV0c2xpc3RhOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAicGlkICVkOnMgbnlhIGFmZmluaXRldHNtYXNrOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgInBpZCAlZDpzIGFrdHVlbGxhIGFmZmluaXRldHNtYXNrOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJpbnRlcm50IGZlbDoga29udmVydGVyaW5nIGZyw6VuIGNwdS11cHBzw6R0dG5pbmcgdGlsbCBzdHLDpG5nIG1pc3NseWNrYWRlcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTA5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gcGlkICVkOnMgYWZmaW5pdGV0IgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIHBpZCAlZDpzIGFmZmluaXRldCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImthbiBpbnRlIGJlc3TDpG1tYSBOUl9DUFVTOyBhdnNsdXRhciIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjA0IHNjaGVkdXRpbHMvdGFza3NldC5jOjIxNyBzeXMtdXRpbHMvY2hjcHUuYzoyOTgKK21zZ2lkICJjcHVzZXRfYWxsb2MgZmFpbGVkIgorbXNnc3RyICJjcHVzZXRfYWxsb2MgbWlzc2x5Y2thZGVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIENQVS1saXN0YTogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBDUFUtbWFzazogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBGeWxsZGUgJTxQUkl1NjQ+IGJ5dGUgbWVkIG5vbGxvciBmcsOlbiBwb3NpdGlvbiAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBLYXNzZXJhZGUgJTxQUkl1NjQ+IGJ5dGUgZnLDpW4gcG9zaXRpb24gJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIkthc3NlcmEgaW5uZWjDpWxsZXQgaSBzZWt0b3Jlcm5hIHDDpSBlbiBlbmhldC5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgcG9zaXRpb24gaSBieXRlIGF0dCBrYXNzZXJhIGZyw6VuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbMOkbmdkIGkgYnl0ZSBhdHQga2Fzc2VyYSBtZWQgYsO2cmphbiBmcsOlbiBwb3NpdGlvbmVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc3RvcmxlayBmw7ZyIGthc3NlcmluZ3NpdGVyYXRpb25lcm5hIGlub20gcG9zaXRpb25lblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLXMsIC0tc2VjdXJlICAgICAgICB1dGbDtnIgc8Oka2VyIGthc3NlcmluZ1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC16LCAtLXplcm9vdXQgICAgICAgZnlsbCBtZWQgbm9sbG9yIGlzdMOkbGxldCBmw7ZyIGF0dCBrYXNzZXJhXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTYKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIHNrcml2IHV0IGp1c3RlcmFkIGzDpG5nZCBvY2ggcG9zaXRpb25cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5MQorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgcG9zaXRpb24iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHN0ZWciCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJvdsOkbnRhdCBhbnRhbCBhcmd1bWVudCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NTWkdFVCBpb2N0bCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczogcG9zaXRpb24gJTxQUkl1NjQ+IMOkciBpbnRlIGp1c3RlcmFkIHRpbGwgc2VrdG9yc3RvcmxlayAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVzOiBwb3NpdGlvbmVuIMOkciBzdMO2cnJlIMOkbiBlbmhldHNzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IGzDpG5nZCAlPFBSSXU2ND4gw6RyIGludGUganVzdGVyYWQgdGlsbCBzZWt0b3JzdG9ybGVrICVpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLU0VDRElTQ0FSRC1pb2N0bCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0RJU0NBUkQtaW9jdGwgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCittc2dpZCAiUmVwb3J0IHpvbmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdpdmVuIGRldmljZSIKK21zZ3N0ciAiUmFwcG9ydGVyYSB6b25pbmZvcm1hdGlvbiBmw7ZyIGFuZ2l2ZW4gZW5oZXQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiw4V0ZXJzdMOkbGwgZXR0IGludGVydmFsbCBhdiB6b25lci4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogYmxrZGV2X2dldF9zZWN0b3JzIGlvY3RsIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICIlczoga2FuIGludGUgYXZnw7ZyYSB6b25zdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm91bmQgJWQgem9uZXMgZnJvbSAweCU8UFJJeDY0PlxuIgorbXNnc3RyICJIaXR0YWRlICVkIHpvbmVyIGZyw6VuIDB4JTxQUkl4NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgc3RhcnQ6IDB4JTA5PFBSSXg2ND4sIGxlbiAweCUwNjxQUkl4NjQ+LCB3cHRyIDB4JTA2PFBSSXg2ND4gcmVzZXQ6JXUgbm9uLXNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZ2QgMHglMDY8UFJJeDY0Piwgc3BlayAweCUwNjxQUkl4NjQ+IMOldGVyOiV1IGlja2Utc2VrdjoldSwgemtvbmQ6JTJ1KCVzKSBbdHlwOiAldSglcyldXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBwb3NpdGlvbiAlPFBSSXU2ND4gw6RyIGludGUganVzdGVyYWQgdGlsbCB6b25zdG9ybGVrICVsdSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIlczogYW50YWwgc2VrdG9yZXIgJTxQUkl1NjQ+IMOkciBpbnRlIGp1c3RlcmF0IHRpbGwgem9uc3RvcmxlayAlbHUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLUkVTRVRaT05FIGlvY3RsIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICIlczogZnJhbWfDpW5nc3Jpa3Qgw6V0ZXJzdMOkbGxkIGkgaW50ZXJ2YWxsIGZyw6VuICU8UFJJdTY0PiB0aWxsICU8UFJJdTY0PiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIDxrb21tYW5kbz4gW2ZsYWdnb3JdIDxlbmhldD5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDIKK21zZ2lkICJSdW4gem9uZSBjb21tYW5kIG9uIHRoZSBnaXZlbiBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIkvDtnIgem9ua29tbWFuZG8gcMOlIGRlbiBnaXZuYSBibG9ja2VuaGV0ZW4uXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxzZWt0b3I+ICBzdGFydHNla3RvciBmw7ZyIHpvbmUgYXR0IGFnZXJhIHDDpSAoaSA1MTItYnl0ZSBzZWt0b3JlcilcbiIKKworIyBzZWJyYXM6IHdoYXQgZG9lcyBhY3QgbWVhbiBoZXJlPworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxzZWt0b3Jlcj4gc3TDtnJzdGEgc2VrdG9yc3RvcmxlayBhdHQgYWt0aXZlcmEgKGkgNTEyLWJ5dGUgc2VrdG9yZXIpXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCittc2dpZCAiIC1jLCAtLWNvdW50IDxudW1iZXI+ICAgbWF4aW11bSBudW1iZXIgb2Ygem9uZXNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvdW50IDxhbnRhbD4gICAgbWF4aW1hbHQgYW50YWwgem9uZXJcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTIKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2aXNhIHl0dGVybGlnYXJlIGRldGFsamVyXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCB2YWxpZCBjb21tYW5kIG5hbWUiCittc2dzdHIgIiVzIMOkciBpbnRlIGV0dCBnaWx0aWd0IGtvbW1hbmRvbmFtbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrIGFudGFsIHpvbmVyIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgYW50YWwgc2VrdG9yZXIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mzc3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHpvbmUgb2Zmc2V0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSB6b25wb3NpdGlvbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgImluZ2V0IGtvbW1hbmRvIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAldSBleGlzdGVyYXIgaW50ZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJXUgw6RyIGludGUgaG90cGx1Zy1iYXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IMOkciByZWRhbiBha3RpdmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSDDpHIgcmVkYW4gaW5ha3RpdmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiQ1BVICV1IGFrdGl2ZXJpbmcgbWlzc2x5Y2thZGVzIChDUFUgw6RyIGJvcnRrb25maWd1cmVyYWQpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkFrdGl2ZXJpbmcgYXYgQ1BVICV1IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSBha3RpdmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIkNQVSAldSBpbmFrdGl2ZXJpbmcgbWlzc2x5Y2thZGVzIChzZW5hc3QgYWt0aXZlcmFkIENQVSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkluYWt0aXZlcmluZyBhdiBDUFUgJXUgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSBpbmFrdGl2ZXJhZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiRGV0dGEgc3lzdGVtIGhhciBpbnRlIHN0w7ZkIGbDtnIgb21kZXRla3RlcmluZyBhdiBDUFU6ZXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB1dGzDtnNhIGVuIG9tZGV0ZWt0ZXJpbmcgYXYgQ1BVOmVyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIlV0bMO2c3RlIG9tZGV0ZWt0ZXJpbmcgYXYgQ1BVOmVyXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICJEZXR0YSBzeXN0ZW0gaGFyIGludGUgc3TDtmQgZsO2ciBpbnN0w6RsbG5pbmcgYXYgYXZzw6RuZGFybMOkZ2UgZsO2ciBDUFU6ZXIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJNaXNzbHlja2FkZXMgYXR0IHN0w6RsbGEgaW4gaG9yaXNvbnRlbGx0IGF2c8OkbmRhcmzDpGdlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiU3TDpGxsZGUgZnJhbWfDpW5nc3Jpa3QgaW4gaG9yaXNvbnRlbGx0IGF2c8OkbmRhcmzDpGdlXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIGF0dCBzdMOkbGxhIGluIHZlcnRpa2FsdCBhdnPDpG5kYXJsw6RnZSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICJTdMOkbGxkZSBmcmFtZ8OlbmdzcmlrdCBpbiB2ZXJ0aWthbHQgYXZzw6RuZGFybMOkZ2VcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICJDUFUgJXUgw6RyIGludGUga29uZmlndXJlcmJhciIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IMOkciByZWRhbiBrb25maWd1cmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgw6RyIHJlZGFuIGJvcnRrb25maWd1cmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICV1IG1pc3NseWNrYWRlcyBtZWQgYm9ydGtvbmZpZ3VyZXJpbmcgKENQVTpuIMOkciBha3RpdmVyYWQpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIktvbmZpZ3VyZXJpbmcgYXYgQ1BVICV1IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAldSBrb25maWd1cmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkF2a29uZmlndXJlcmluZyBhdiBDUFUgJXUgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUgYm9ydGtvbmZpZ3VyZXJhZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAib2dpbHRpZ3QgQ1BVLW51bW1lciBpIENQVS1saXN0YTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOSB0ZXh0LXV0aWxzL2NvbC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiQW52w6RuZG5pbmc6XG4iCisiICVzIFtmbGFnZ29yXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDMKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIktvbmZpZ3VyZXJhIENQVTplciBpIGV0dCBtdWx0aS1wcm9jZXNzb3JzeXN0ZW0uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0YT4gICAgICBha3RpdmVyYSBDUFU6ZXJcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0YT4gICAgIGluYWt0aXZlcmEgQ1BVOmVyXG4iCisiICAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0YT4gICBrb25maWd1cmVyYSBDUFU6ZXJcbiIKKyIgIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdGE+IGJvcnRrb25maWd1cmVyYSBDUFU6ZXJcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDxsw6RnZT4gICAgICAgICBzdMOkbGwgaW4gYXZzw6RuZGFybMOkZ2VcbiIKKyIgIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHV0bMO2cyBvbWRldGVrdGVyaW5nIGF2IENQVTplclxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJhcmd1bWVudCBzdMO2ZHMgaW50ZTogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIk1pbm5lc2Jsb2NrICU8UFJJdTY0PiAoMHglMDE2PFBSSXg2ND4tMHglMDE2PFBSSXg2ND4pIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBpbmRleCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAiJXMtYWt0aXZlcmluZyBtaXNzbHlja2FkZXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkXG4iCittc2dzdHIgIiVzLWluYWt0aXZlcmluZyBtaXNzbHlja2FkZXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgIiVzIGFrdGl2ZXJhZFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIiVzIGluYWt0aXZlcmFkXG4iCisKKyMgc2VicmFzOiB3aGF0IGlzICVzPworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZW5hYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiS3VuZGUgZW5kYXN0IGFrdGl2ZXJhICVzIG1pbm5lIgorCisjIHNlYnJhczogd2hhdCBpcyAlcz8KKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICJLdW5kZSBlbmRhc3QgaW5ha3RpdmVyYSAlcyBtaW5uZSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICIlcyByZWRhbiBha3RpdmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiJXMgcmVkYW4gaW5ha3RpdmVyYWRcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICIlcy1ha3RpdmVyaW5nIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiJXMtaW5ha3RpdmVyaW5nIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIiVzLWFrdGl2ZXJpbmcgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIiVzLWluYWt0aXZlcmluZyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI2NiBzeXMtdXRpbHMvbHNtZW0uYzo0NzYgc3lzLXV0aWxzL2xzbWVtLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIKK21zZ3N0ciAiTWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgYmxvY2tudW1tZXIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiU3RvcmxlayBtw6VzdGUgdmFyYSBqdXN0ZXJhZCBlbmxpZ3QgbWlubmVzYmxvY2tzc3RvcmxlayAoJXMpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHN0YXJ0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBzbHV0IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIk9naWx0aWd0IHN0YXJ0YWRyZXNzZm9ybWF0OiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAiT2dpbHRpZ3Qgc2x1dGFkcmVzc2Zvcm1hdDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBzdGFydGFkcmVzcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCBhZGRyZXNzIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBzbHV0YWRyZXNzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIlN0YXJ0YWRyZXNzIG9jaCAoc2x1dGFkcmVzcyArIDEpIG3DpXN0ZSB2YXJhIGp1c3RlcmFkZSB0aWxsIG1pbm5lc2Jsb2Nrc3N0b3JsZWsgKCVzKSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiT2dpbHRpZyBwYXJhbWV0ZXI6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCByYW5nZTogJXMiCittc2dzdHIgIk9naWx0aWd0IGludGVydmFsbDogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gW1NUT1JMRUt8SU5URVJWQUxMfEJMT0NLSU5URVJWQUxMXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICJTdMOkbGwgaW4gZW4gc8OkcnNraWxkIHN0b3JsZWsgZWxsZXIgaW50ZXJ2YWxsIGF2IG1pbm5lIHNvbSBpbmtvcHBsYXQgZWxsZXIgdXJrb3BwbGF0LlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWVuYWJsZSAgICAgICBlbmFibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtZSwgLS1lbmFibGUgICBha3RpdmVyYSBtaW5uZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRpc2FibGUgICAgICBkaXNhYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgLWQsIC0tZGlzYWJsZSAgaW5ha3RpdmVyYSBtaW5uZVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzICAgYW52w6RuZCBtaW5uZXNibG9ja1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICB1dGbDtnJsaWcgdXRtYXRuaW5nXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NworIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIHpvbmVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiTG9nZ3Jlc3Vyc2VyIHNvbSBzdMO2ZHM6XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIKK21zZ3N0ciAib2vDpG50IG3DpW5hZHNuYW1uOiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBoYXJkfHNvZnRcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIlN0w6RsbCBpbiBmdW5rdGlvbmVuIGbDtnIga29tYmluYXRpb25lbiBDdHJsLUFsdC1EZWwuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiaW1wbGljaXQiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJvdsOkbnRhdCB2w6RyZGUgaSAlczogJWp1IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiRHUgbcOlc3RlIHZhcmEgcm9vdCBmw7ZyIGF0dCBrdW5uYSBzdMOkbGxhIGluIEN0cmwtQWx0LURlbC1iZXRlZW5kZSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTUgc3lzLXV0aWxzL2lwY3JtLmM6NDE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICJva8OkbnQgYXJndW1lbnQ6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgInN5c3RlbWV0IMOkciBvYW52w6RuZGJhcnQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICLDpXRnw6RyZGVyIG3DpXN0ZSB2aWR0YXMgb21lZGVsYmFydCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAia3JpdGlza3QgdGlsbHN0w6VuZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAiZmVsdGlsbHN0w6VuZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCittc2dpZCAid2FybmluZyBjb25kaXRpb25zIgorbXNnc3RyICJ2YXJuaW5nc3RpbGxzdMOlbmQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJub3JtYWx0IG1lbiB2w6RzZW50bGlndCB0aWxsc3TDpW5kIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICJpbmZvcm1hdGlvbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2Cittc2dpZCAiZGVidWctbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgImZlbHPDtmtuaW5nc21lZGRlbGFuZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzAKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgImvDpHJubWVkZGVsYW5kZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMQorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJzbHVtcG3DpHNzaWdhIGFudsOkbmRhcm1lZGRlbGFuZGVuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAicG9zdHN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgInN5c3RlbWRlbW9uZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgInPDpGtlcmhldHMtL2F1dGVudGlzZXJpbmdzbWVkZGVsYW5kZW4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIm1lZGRlbGFuZGVuIGdlbmVyZXJhZGUgaW50ZXJudCBhdiBzeXNsb2dkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICJ1bmRlcnN5c3RlbSBmw7ZyIHJhZHNrcml2YXJlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJuw6R0dmVya3NueWhldHN1bmRlcnN5c3RlbSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgIlVVQ1AtdW5kZXJzeXN0ZW0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAia2xvY2tkZW1vbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgInPDpGtlcmhldHMtL2F1dGVudGlzZXJpbmdzbWVkZGVsYW5kZW4gKHByaXZhdCkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgIkZUUC1kZW1vbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIlZpc2EgZWxsZXIga29udHJvbGxlcmEga8Okcm5hbnMgcmluZ2J1ZmZlcnQuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIHTDtm0ga8Okcm5hbnMgcmluZ2J1ZmZlcnRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBsw6RzIG9jaCB0w7ZtIGFsbGEgbWVkZGVsYW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBpbmFrdGl2ZXJhIHV0c2tyaWZ0IGF2IG1lZGRlbGFuZGVuIHRpbGwga29uc29sXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NQorbXNnaWQgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBha3RpdmVyYSB1dHNrcmlmdCBhdiBtZWRkZWxhbmRlbiB0aWxsIGtvbnNvbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8ZmlsPiAgICAgICAgICAgIGFudsOkbmQgZmlsZW4gaXN0w6RsbGV0IGbDtnIga8Okcm5hbnMgbG9nZ2J1ZmZlcnRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdGE+ICAgICAgYmVncsOkbnNhIHV0bWF0bmluZyB0aWxsIGRlZmluaWVyYWRlIHJlc3Vyc2VyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorbXNnaWQgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iCittc2dzdHIgIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgdXRtYXRuaW5nIGzDpHNiYXIgZsO2ciBtw6Rubmlza29yXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICB2aXNhIGvDpHJubWVkZGVsYW5kZW5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxuw6RyPl0gICAgICAgICBmw6RyZ2zDpGdnIG1lZGRlbGFuZGVuIChhdXRvLCBhbHdheXMgZWxsZXIgbmV2ZXIpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiAtbCwgLS1sZXZlbCA8bGlzdGE+ICAgICAgICAgYmVncsOkbnNhIHV0c2tyaWZ0ZXIgdGlsbCBkZWZpbmllcmFkZSBuaXbDpWVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bml2w6U+ICBzdMOkbGwgaW4gbml2w6UgZsO2ciBtZWRkZWxhbmRlbiBzb20gc2tyaXZzIHV0IHRpbGwga29uc29sXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIHNraWNrYSBpbnRlIHV0ZGF0YSB2aWEgcsO2cmxlZG5pbmcgdGlsbCBzaWR2aXNhcmVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgc2tyaXYgdXQgZGVuIHLDpWEgbWVkZGVsYW5kZWJ1ZmZlcnRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgdHZpbmdhIGFudsOkbmRuaW5nIGF2IHN5c2xvZygyKSBzbmFyYXJlIMOkbiAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA8c3Rvcmxlaz4gYnVmZmVydHN0b3JsZWsgZsO2ciBhdHQgZnLDpWdhIGvDpHJuYW5zIHJpbmdidWZmZXJ0XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICB2aXNhIG1lZGRlbGFuZGVuIGZyw6VuIGFudsOkbmRhcnJ5bWRlblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHbDpG50YSBww6UgbnlhIG1lZGRlbGFuZGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBhdmtvZGEgcmVzdXJzIG9jaCBuaXbDpSB0aWxsIGzDpHNiYXIgc3Ryw6RuZ1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICB2aXNhIHRpZHNkZWx0YSBtZWxsYW4gdXRza3Jpdm5hIG1lZGRlbGFuZGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHZpc2EgbG9rYWwgdGlkIG9jaCB0aWRzZGVsdGEgaSBsw6RzYmFydCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHZpc2EgdGlkc3N0w6RtcGxhciBsw6RzYmFyYSBmw7ZyIG3DpG5uaXNrb3IgKGthbiB2YXJhIGZlbGFrdGlnYSEpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICB2aXNhIGludGUgbsOlZ29uIHRpZHNzdMOkbXBlbCBmw7ZyIG1lZGRlbGFuZGVuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICB2aXNhIHRpZHNzdMOkbXBlbCBlbmxpZ3QgYW5naXZldCBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiQW52w6RuZG5pbmcgYXYgdsOkbnRlbMOkZ2UvdsOkY2tuaW5nIG1lZGbDtnIgYXR0IGN0aW1lLSBvY2ggaXNvLXRpZHNzdMOkbXBsYXIgYmxpciBmZWxha3RpZ2EuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJMb2dncmVzdXJzZXIgc29tIHN0w7ZkczpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzA4Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkxvZ2duaXbDpWVyIChwcmlvcml0ZXRlcikgc29tIHN0w7ZkczpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBuaXbDpSDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAib2vDpG5kIG5pdsOlIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJlc3VycyDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAib2vDpG5kIHJlc3VycyDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAibW1hcCBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3QgYnVmZmVydHN0b3JsZWtzYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXNob3ctZGVsdGEgaG9wcGFzIMO2dmVyIG7DpHIgZGVuIGFudsOkbmRzIHRpbGxzYW1tYW5zIG1lZCB0aWRzZm9ybWF0ZXQgaXNvODYwMSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUxMQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICItLXJhdyBrYW4gYW52w6RuZGFzIHRpbGxzYW1tYW5zIG1lZCAtLWxldmVsIGVsbGVyIC0tZmFjaWxpdHkgZW5kYXN0IG7DpHIgbWVkZGVsYW5kZW4gbMOkc2VzIGZyw6VuIC9kZXYva21zZyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUyNgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgImzDpHNuaW5nIGF2IGvDpHJuYnVmZmVydCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1NDUKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAia2xvZ2N0bCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxlbmhldD58PG1vbnRlcmluZ3NwdW5rdD5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzOAorbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAiTWF0YSB1dCBib3J0dGFnbmluZ3NiYXIgbWVkaWEuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE0MQorbXNnaWQgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIHR1cm4gYXV0by1lamVjdCBmZWF0dXJlIG9uIG9yIG9mZlxuIgorIiAtYywgLS1jaGFuZ2Vyc2xvdCA8c2xvdD4gICAgc3dpdGNoIGRpc2NzIG9uIGEgQ0QtUk9NIGNoYW5nZXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGVqZWN0IGZsb3BweVxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgZG9uJ3QgY2FyZSBhYm91dCBkZXZpY2UgdHlwZVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAgZG8gbm90IHVubW91bnQgZGV2aWNlIGV2ZW4gaWYgaXQgaXMgbW91bnRlZFxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQgZG8gbm90IHVubW91bnQgYW5vdGhlciBwYXJ0aXRpb25zXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIG9mIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgZWplY3QgdGFwZVxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBlamVjdCBTQ1NJIGRldmljZVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgY2xvc2UgdHJheVxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGVuYWJsZSB2ZXJib3NlIG91dHB1dFxuIgorIiAteCwgLS1jZHNwZWVkIDxzcGVlZD4gICAgICAgc2V0IENELVJPTSBtYXggc3BlZWRcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgc2zDpSBww6Uvc3TDpG5nIGF2IGF1dG9tYXRpc2sgdXRtYXRuaW5nXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxmYWNrPiAgICB2w6R4bGEgZGlza2FyIGkgZW4gQ0QtUk9NLXbDpHhsYXJlXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICB2aXNhIHN0YW5kYXJkZW5oZXRcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIG1hdGEgdXQgZGlza2V0dFxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgaWdub3JlcmEgZW5oZXRzdHlwXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICBzbMOlIHDDpS9zdMOkbmcgYXYgbWFudWVsbHQgdXRtYXRuaW5nc3NreWRkXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBhdm1vbnRlcmEgaW50ZSBlbmhldCDDpHZlbiBvbSBkZW4gw6RyIG1vbnRlcmFkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBhdm1vbnRlcmEgaW50ZSBhbmRyYSBwYXJ0aXRpb25lclxuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgbWF0YSBpbnRlIHV0LCBiYXJhIHZpc2EgZW5oZXRlciBzb20gaGl0dGF0c1xuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgYW52w6RuZCAvcHJvYy9tb3VudHMgaXN0w6RsbGV0IGbDtnIgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBtYXRhIHV0IGthc3NldHRcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIG1hdGEgdXQgQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICBtYXRhIHV0IFNDU0ktZW5oZXRcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIHN0w6RuZyBzbMOkZGVcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHbDpHhsYSBzbMOkZGVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGFrdGl2ZXJhIHV0ZsO2cmxpZyB1dG1hdG5pbmdcbiIKKyIgLXgsIC0tY2RzcGVlZCA8aGFzdGlnaGV0PiAgIHN0w6RsbCBpbiBow7Znc3RhIGhhc3RpZ2hldCBmw7ZyIENELVJPTVxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdGEgYWxsYSB0aWxsZ8OkbmdsaWdhIENELVJPTS1oYXN0aWdoZXRlclxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlByb3ZhciBzb20gc3RhbmRhcmQgLXIsIC1zLCAtZiwgb2NoIC1xIGkgb3JkbmluZyB0aWxscyBkZXQgbHlja2FzLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCB0aWxsIGZsYWdnYW4gLS1jaGFuZ2Vyc2xvdC8tYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCB0aWxsIGZsYWdnYW4gLS1jZHNwZWVkLy14IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKK21zZ2lkICJDRC1ST00gYXV0by1lamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiYXV0b21hdGlza3QgdXRtYXRuaW5nc2tvbW1hbmRvIGbDtnIgQ0QtUk9NIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5Cittc2dpZCAiQ0QtUk9NIGRvb3IgbG9jayBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJMw6VzIGbDtnIgQ0QtUk9NLWx1Y2thIHN0w7ZkcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDEKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiYW5kcmEgYW52w6RuZGFyZSBoYXIgZW5oZXRlbiDDtnBwZW4gb2NoIENBUF9TWVNfQURNSU4gc2FrbmFzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJrb21tYW5kb3QgZsO2ciBhdHQgbMOlc2EgQ0QtUk9NLWTDtnJyZW4gbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRC1lbmhldCBrYW4gSU5URSBtYXRhcyB1dCBtZWQgZW5oZXRza25hcHBlbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUwCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRC1lbmhldCBrYW4gbWF0YXMgdXQgbWVkIGVuaGV0c2tuYXBwZW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG8gZsO2ciBhdHQgdsOkbGphIENELVJPTS1kaXNrIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1Cittc2dpZCAiQ0QtUk9NIGxvYWQgZnJvbSBzbG90IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJrb21tYW5kb3QgZsO2ciBhdHQgbMOkc2EgaW4gQ0QtUk9NIGZyw6VuIGZhY2sgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjcKK21zZ2lkICJJREUvQVRBUEkgQ0QtUk9NIGNoYW5nZXIgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJJREUvQVRBUEkgQ0QtUk9NLXbDpHhsYXJlIHN0w7ZkcyBpbnRlIGF2IGRlbm5hIGvDpHJuYVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG90IGbDtnIgYXR0IHN0w6RuZ2EgQ0QtUk9NLXNsw6RkZW4gbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiS29tbWFuZG8gZsO2ciBhdHQgc3TDpG5nYSBDRC1ST00tc2zDpGRlIHN0w7ZkcyBpbnRlIGF2IGRlbm5hIGvDpHJuYVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgInV0bWF0bmluZyBhdiBDRC1ST00gc3TDtmRzIGludGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMiBzeXMtdXRpbHMvZWplY3QuYzo0NTUgc3lzLXV0aWxzL2VqZWN0LmM6MTAwNgorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG8gZsO2ciBhdHQgbWF0YSB1dCBDRC1ST00gbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzUKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICJpbmdlbiBDRC1ST00taW5mb3JtYXRpb24gdGlsbGfDpG5nbGlnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzgKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJDRC1ST00tZW5oZXQgw6RyIGludGUgcmVkbyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAia29tbWFuZG8gZsO2ciBhdHQgdsOkbGphIENELVJPTS1oYXN0aWdoZXQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiS29tbWFuZG8gZsO2ciBhdHQgdsOkbGphIENELVJPTS1oYXN0aWdoZXQgc3TDtmRzIGludGUgYXYgZGVubmEga8Okcm5hIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaGl0dGEgQ0QtUk9NLW5hbW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBoYXN0aWdoZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBsw6RzYSBoYXN0aWdoZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgImludGUgZW4gc2ctZW5oZXQsIGVsbGVyIHPDpSDDpHIgc2ctZHJpdnJ1dGluZW4gZ2FtbWFsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiBhdm1vbnRlcmFyIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAia2FuIGludGUgYW52w6RuZGEgZm9yayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgImF2bW9udGVyaW5nIGF2IOKAnSVz4oCdIGF2c2x1dGFkZXMgaW50ZSBub3JtYWx0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICJhdm1vbnRlcmluZyBhdiDigJ0lc+KAnSBtaXNzbHlja2FkZXNcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IHRhYmxlIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBtb250ZXJpbmdzdGFiZWxsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3ODYgc3lzLXV0aWxzL2VqZWN0LmM6ODg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlczogbW9udGVyYWQgcMOlICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICJzdMOkbGxlciBpbiBDRC1ST00taGFzdGlnaGV0IHRpbGwgYXV0b21hdGlzayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMwCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgInN0w6RsbGVyIGluIENELVJPTS1oYXN0aWdoZXQgdGlsbCAlbGRYIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgInN0YW5kYXJkZW5oZXQ6IOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAiYW52w6RuZGVyIHN0YW5kYXJkZW5oZXQg4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MSBzeXMtdXRpbHMvcnRjd2FrZS5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIlczoga2FuIGludGUgaGl0dGEgZW5oZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICJlbmhldHNuYW1uIMOkciDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiBpbnRlIG1vbnRlcmFkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVzOiBkaXNrZW5oZXQ6ICVzIChkaXNrZW5oZXQga29tbWVyIGF0dCBhbnbDpG5kYXMgZsO2ciB1dG1hdG5pbmcpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIlczoga3VuZGUgaW50ZSBoaXR0YSBtb250ZXJpbmdzcHVua3QgZWxsZXIgZW5oZXQgbWVkIGRldCBhbmdpdm5hIG5hbW5ldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IMOkciBlbiBmdWxsc3TDpG5kaWcgZGlza2VuaGV0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBob3QtcGx1Z2dhYmxlIGRldmljZSIKK21zZ3N0ciAiJXM6IMOkciBpbnRlIGVuIGhvdHBsdWcta2FwYWJlbCBlbmhldCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJlbmhldGVuIMOkciDigJ0lc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiYXZzbHV0YXIgcMOlIGdydW5kIGF2IGZsYWdnYW4gLW4vLS1ub29wIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IGFrdGl2ZXJhciBhdXRvbWF0aXNrdCB1dG1hdG5pbmdzbMOkZ2UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IGluYWt0aXZlcmFyIGF1dG9tYXRpc2t0IHV0bWF0bmluZ3Nsw6RnZSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiBzdMOkbmdlciBzbMOkZGUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiJXM6IHbDpHhsYXIgc2zDpGRlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIlczogbGlzdGFyIENELVJPTS1oYXN0aWdoZXQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgImZlbDogJXM6IGVuaGV0ZW4gYW52w6RuZHMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiVzOiB2w6RsamVyIENELVJPTSBkaXNrICMlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IGbDtnJzw7ZrZXIgYXR0IG1hdGEgdXQgQ0QtUk9NIHZpYSB1dG1hdG5pbmdza29tbWFuZG8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNELVJPTS11dG1hdG5pbmdza29tbWFuZG8gbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlczogZsO2cnPDtmtlciBhdHQgbWF0YSB1dCB2aWEgU0NTSS1rb21tYW5kb24iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAiU0NJUy11dG1hdG5pbmcgbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiU0NTSS11dG1hdG5pbmcgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiBmw7Zyc8O2a2VyIG1hdGEgdXQgdmlhIHV0bWF0bmluZ3Nrb21tYW5kbyBmw7ZyIGRpc2tldHQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgInV0bWF0bmluZ3Nrb21tYW5kbyBmw7ZyIGRpc2tldHQgbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInV0bWF0bmluZ3Nrb21tYW5kbyBmw7ZyIGRpc2tldHQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiBmw7Zyc8O2a2VyIG1hdGEgdXQgdmlhIGtvbW1hbmRvIGthc3NldHQtZnLDpW5rb3BwbGFkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJrb21tYW5kb3Qga2Fzc2V0dC1mcsOlbmtvcHBsYWQgbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjcKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImtvbW1hbmRvIGbDtnIgYXR0IGtvcHBsYSBmcsOlbiBrYXNzZXR0IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAia3VuZGUgaW50ZSBtYXRhIHV0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPGZpbG5hbW4+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJGw7ZyYWxsb2tlcmEgdXRyeW1tZSDDpXQsIGVsbGVyIGF2YWxsb2tlcmEgdXRyeW1tZSBmcsOlbiBlbiBmaWwuXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MAorbXNnaWQgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iCittc2dzdHIgIiAtYywgLS1jb2xsYXBzZS1yYW5nZSB0YSBib3J0IGV0dCBpbnRlcnZhbGwgZnLDpW4gZmlsZW5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkxCittc2dpZCAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGRldGVjdCB6ZXJvZXMgYW5kIHJlcGxhY2Ugd2l0aCBob2xlc1xuIgorbXNnc3RyICIgLWQsIC0tZGlnLWhvbGVzICAgICAgaWRlbnRpZmllcmEgbm9sbG9yIG9jaCBlcnPDpHR0IG1lZCBow6VsXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MgorbXNnaWQgIiAtaSwgLS1pbnNlcnQtcmFuZ2UgICBpbnNlcnQgYSBob2xlIGF0IHJhbmdlLCBzaGlmdGluZyBleGlzdGluZyBkYXRhXG4iCittc2dzdHIgIiAtaSwgLS1pbnNlcnQtcmFuZ2UgICBpbmZvZ2EgZXR0IGjDpWwgdmlkIGludGVydmFsbCwgc2tpZnRhIGV4aXN0ZXJhbmRlIGRhdGFcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGzDpG5nZCBmw7ZyIGludGVydmFsbMOldGfDpHJkZXIsIGkgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIGJlaMOlbGwgZmlsZW5zIHVwcGVuYmFyYSBzdG9ybGVrXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bT4gICBwb3NpdGlvbiBmw7ZyIGludGVydmFsbMOldGfDpHJkZXIsIGkgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgZXJzw6R0dCBldHQgaW50ZXJ2YWxsIG1lZCBldHQgaMOlbCAobWVkZsO2ciAtbilcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8tcmFuZ2UgICAgIG5vbGxhIG9jaCBzw6RrZXJzdMOkbGwgYWxsb2tlcmluZyBmw7ZyIGV0dCBpbnRlcnZhbGxcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiIC14LCAtLXBvc2l4ICAgICAgICAgIGFudsOkbmQgcG9zaXhfZmFsbG9jYXRlKDMpIGlzdMOkbGxldCBmw7ZyIGZhbGxvY2F0ZSgyKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImZhbGxvY2F0ZSBtaXNzbHlja2FkZXM6IGzDpGdldCBhdHQgYmVow6VsbGEgc3Rvcmxla2VuIHN0w7ZkcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxNDUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGzDpHNuaW5nIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiJXM6ICVzICglanUgYnl0ZSkga29udmVydGVyYWRlIHRpbGwgZ2xlc2EgaMOlbC5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM1NAorbXNnaWQgInBvc2l4X2ZhbGxvY2F0ZSBzdXBwb3J0IGlzIG5vdCBjb21waWxlZCIKK21zZ3N0ciAicG9zaXhfZmFsbG9jYXRlLXN0w7ZkIMOkciBpbnRlIGtvbXBpbGVyYXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJpbmdldCBmaWxuYW1uIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NgorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAib2dpbHRpZ3QgbMOkbmdkdsOkcmRlIGFuZ2l2ZXQiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJpbmdldCBsw6RuZ2Rhcmd1bWVudCBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJvZ2lsdGlndCBwb3NpdGlvbnN2w6RyZGUgYW5naXZldCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2ZsYWdnb3JdIDxmaWw+fDxrYXRhbG9nPiA8a29tbWFuZG8+IFs8YXJndW1lbnQ+4oCmXVxuIgorIiAlMSRzIFtmbGFnZ29yXSA8ZmlsPnw8a2F0YWxvZz4gLWMgPGtvbW1hbmRvPlxuIgorIiAlMSRzIFtmbGFnZ29yXSA8ZmlsZGVza3JpcHRvcm51bW1lcj5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIkhhbnRlcmEgZmlsbMOlcyBmcsOlbiBza2Fsc2tyaXB0LlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBow6RtdGEgZXR0IGRlbGF0IGzDpXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICB0YSBldHQgZXhrbHVzaXZ0IGzDpXMgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHRhIGJvcnQgZXR0IGzDpXNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIHJhcHBvcnRlcmEgZmVsIHNuYXJhcmUgw6RuIGF0dCB2w6RudGFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA8c2VrdW5kZXI+IHbDpG50YSB1bmRlciBlbiBiZWdyw6Ruc2FkIHRpZHNwZXJpb2RcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1tZXI+ICBmZWxrb2QgZWZ0ZXIga29uZmxpa3QgZWxsZXIgbsOlZGQgdGlkc2dyw6Ruc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OAorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBzdMOkbmcgZmlsZGVza3JpcHRvciBpbm5hbiBrb21tYW5kbyBrw7Zyc1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxrb21tYW5kbz4ga8O2ciBlbiBlbnN0YWthIGtvbW1hbmRvc3Ryw6RuZyBnZW5vbSBza2FsZXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGV4ZWt2ZXJhIGtvbW1hbmRvIHV0YW4gZm9ya1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgw7ZrYSB1dGbDtnJsaWdoZXRcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIGzDpXNmaWwgJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOAorbXNnaWQgImludmFsaWQgdGltZW91dCB2YWx1ZSIKK21zZ3N0ciAib2dpbHRpZ3QgdGlkc2dyw6Ruc3bDpHJkZSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIm9naWx0aWcgYXZzbHV0bmluZ3Nrb2QiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICJmbGFnZ29ybmEgLS1uby1mb3JrIG9jaCAtLWNsb3NlIMOkciBpbmtvbXBhdGlibGEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlcyBrcsOkdmVyIGV4YWt0IGV0dCBrb21tYW5kb2FyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICJvZ2lsdGlnIGZpbGRlc2tyaXB0b3IiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgImtyw6R2ZXIgZmlsZGVza3JpcHRvciwgZmlsIGVsbGVyIGthdGFsb2ciCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdGEgbMOlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg5Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICJ0aWRzZ3LDpG5zIG7DpWRkIG1lZGFuIGzDpXMgdsOkbnRhZGVzIHDDpSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlczogYXR0IHRhIGzDpXNldCB0b2cgJWxkLiUwNmxkIHNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiBrw7ZyICVzXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gPG1vbnRlcmluZ3NwdW5rdD5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlN0w6RuZyBhdiDDpXRrb21zdCB0aWxsIGV0dCBmaWxzeXN0ZW0uXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ3Cittc2dpZCAiIC1mLCAtLWZyZWV6ZSAgICAgIGZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWYsIC0tZnJlZXplICAgICAgZnJ5cyBmaWxzeXN0ZW1ldFxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLXUsIC0tdW5mcmVlemUgICAgdMO2YSBmaWxzeXN0ZW1ldFxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDUKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICJ2YXJrZW4gLS1mcmVlemUgZWxsZXIgLS11bmZyZWV6ZSBhbmdpdmVuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6IMOkciBpbnRlIGVuIGthdGFsb2ciCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGZyeXNuaW5nIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiB0w7ZhbmRlIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDDpHIgaW50ZSBlbiBrYXRhbG9nIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBGSVRSSU0gaW9jdGwgbWlzc2x5Y2thZGVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZSkgdHJpbW1hZGVcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MyBzeXMtdXRpbHMvbHNucy5jOjEwNjYgc3lzLXV0aWxzL3N3YXBvbi5jOjczMworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthICVzIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxtb250ZXJpbmdzcHVua3Q+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkthc3NlcmEgb2FudsOkbmRhIGJsb2NrIGbDtnIgZXR0IG1vbnRlcmF0IGZpbHN5c3RlbS5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW1tYSBhbGxhIG1vbnRlcmFkZSBmaWxzeXN0ZW0gc29tIHN0w7Zkc1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bnVtPiAgcG9zaXRpb25lbiBpIGJ5dGUgYXR0IGLDtnJqYSBrYXNzZXJhIGZyw6VuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjIKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgYW50YWxldCBieXRlIGF0dCBrYXNzZXJhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjMKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPG51bT4gbWluc3RhIHV0c3Ryw6Rja25pbmdzbMOkbmdkIGF0dCBrYXNzZXJhXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIHNrcml2IHV0IGFudGFsZXQga2Fzc2VyYWRlIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIG1pbnN0YSB1dHN0csOkY2tuaW5nIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzMxCittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIG1vbnRlcmluZ3NwdW5rdCBhbmdhdnMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlczoga2Fzc2VyaW5nc29wZXJhdGlvbmVuIHN0w7ZkcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIkFudGFyIGF0dCBow6VyZHZhcnVrbG9ja2FuIGjDpWxsZXIgJXMtdGlkLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJsb2thbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIlZhcm5pbmc6IG9rw6RuZCB0cmVkamUgcmFkIGkgYWRqdGltZS1maWxcbiIKKyIoRsO2cnbDpG50YWRlOiDigJ1VVEPigJ0gZWxsZXIg4oCdTE9DQUzigJ0gZWxsZXIgaW5nZW50aW5nLikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiU2VuYXN0ZSBkcmFnbmluZ3NqdXN0ZXJpbmcgZ2pvcmRlcyAlbGQgc2VrdW5kZXIgZWZ0ZXIgMTk2OVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICJTZW5hc3RlIGthbGlicmVyaW5nIGdqb3JkZXMgJWxkIHNla3VuZGVyIGVmdGVyIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICJIw6VyZHZhcnVrbG9ja2FuIGjDpWxsZXIgJXMtdGlkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAiVsOkbnRhciBww6Uga2xvY2t0aWNr4oCmXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAi4oCmc3lua3JvbmlzZXJpbmcgbWlzc2x5Y2thZGVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIuKApmZpY2sga2xvY2t0aWNrXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIk9naWx0aWdhIHbDpHJkZW4gaSBow6VyZHZhcnVrbG9ja2FuOiAlNGQtJS4yZC0lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJIdi1rbG9ja3RpZDogJTRkLSUuMmQtJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWt1bmRlciBzZWRhbiAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIlRpZCBzb20gbMOkc3RzIGZyw6VuIGjDpXJkdmFydWtsb2NrYW46ICU0ZC0lLjJkLSUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiU3TDpGxsZXIgaMOlcmR2YXJ1a2xvY2thbiB0aWxsICUuMmQ6JS4yZDolLjJkID0gJWxkIHNla3VuZGVyIHNlZGFuIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgInRpZCBob3BwYWRlIGJha8OldCAlLjZmIHNla3VuZGVyIHRpbGwgJWxkLiUwNmxkIC0gc3TDpGxsZXIgaW4gbnl0dCBtw6VsXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyIHBhc3QgJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKK21zZ3N0ciAibWlzc2FkZSBkZW4gLSAlbGQuJTA2bGQgw6RyIGbDtnIgbMOlbmd0IGbDtnJiaSAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZsZCDDpHIgdGlsbHLDpGNrbGlndCBuw6RyYSAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlN0w6RsbCBpbiBSVEMgcMOlICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpZCA9ICVsZC4lMDZsZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICJBbnJvcGFyIHNldHRpbWVvZmRheShOVUxMLCAlZCkgZsO2ciBhdHQgc3TDpGxsIGluIHBlcnNpc3RlbnRfY2xvY2tfaXNfbG9jYWwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIkFucm9wYXIgc2V0dGltZW9mZGF5KE5VTEwsMCkgZsO2ciBhdHQgbMOlc2Egw6RuZHJpbmdzZnVua3Rpb25lbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIkFucm9wYXIgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCittc2dzdHIgIkFucm9wYXIgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICJmw7ZyIGF0dCBzdMOkbGxhIGluIGvDpHJuYW5zIHRpZHN6b24uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICJmw7ZyIGF0dCDDpG5kcmEgU3lzdGVtdGlkLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAiSnVzdGVyYXIgaW50ZSBkcmFnbmluZ3NmYWt0b3JuIGVmdGVyc29tIGZsYWdnYW4gLS11cGRhdGUtZHJpZnQgaW50ZSBhbnbDpG5kZXMuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisiSnVzdGVyYXIgaW50ZSBkcmFnbmluZ3NmYWt0b3JuIGVmdGVyc29tIHNlbmFzdGUga2FsaWJyZXJpbmdzdGlkZW5cbiIKKyLDpHIgbm9sbCwgc8OlIGhpc3RvcmlrZW4gw6RyIHRyYXNpZyBvY2ggZW4gb21zdGFydCBhdiBrYWxpYnJlcmluZ2VuXG4iCisiw6RyIG7DtmR2w6RuZGlnLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJKdXN0ZXJhciBpbnRlIGRyYWduaW5nc2Zha3Rvcm4gZWZ0ZXJzb20gZGV0IGhhciBnw6V0dCBtaW5kcmUgw6RuIGZ5cmEgdGltbWFyIHNlZGFuIGRlbiBzZW5hc3RlIGthbGlicmVyaW5nZW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdCBmYWN0b3Igd2FzIGNhbGN1bGF0ZWQgYXMgJWYgc2Vjb25kcy9kYXkuXG4iCisiSXQgaXMgZmFyIHRvbyBtdWNoLiBSZXNldHRpbmcgdG8gemVyby5cbiIKK21zZ3N0ciAiIgorIkRyYWduaW5nc2Zha3RvciBmw7ZyIGtsb2NrYW4gYmVyw6RrbmFkZXMgc29tICVmIHNla3VuZGVyL2RhZy5cbiIKKyJEZXQgw6RyIGFsbGRlbGVzIGbDtnIgbXlja2V0LiDDhXRlcnN0w6RsbGVyIHRpbGwgbm9sbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisiS2xvY2thbiBkcm9nIHNpZyAlZiBzZWt1bmRlciB1bmRlciBkZSBzZW5hc3RlICVmIHNla3VuZGVybmFcbiIKKyJ0cm90cyBlbiBkcmFnbmluZ3NmYWt0b3IgcMOlICVmIHNla3VuZGVyL2RhZy5cbiIKKyJKdXN0ZXJhciBkcmFnbmluZ3NmYWt0b3JuIG1lZCAlZiBzZWt1bmRlci9kYWdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJUaWQgc2VkYW4gc2VuYXN0ZSBqdXN0ZXJpbmdlbiDDpHIgJWxkIHNla3VuZFxuIgorbXNnc3RyWzFdICJUaWQgc2VkYW4gc2VuYXN0ZSBqdXN0ZXJpbmdlbiDDpHIgJWxkIHNla3VuZGVyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiQmVyw6RrbmFkIGjDpXJkdmFydWtsb2NrZHJhZ25pbmcgw6RyICVsZC4lMDZsZCBzZWt1bmRlclxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKyJOeSAlcy1kYXRhOiBcbiIKKyIlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAia2FuIGludGUgdXBwZGF0ZXJhICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGxhc3QgYWRqdXN0bWVudCB0aW1lIGlzIHplcm8sIHNvIGhpc3RvcnkgaXMgYmFkLlxuIgorbXNnc3RyICJTdMOkbGxlciBpbnRlIGluIGtsb2NrYSBlZnRlcnNvbSBzZW5hc3RlIGp1c3RlcmluZ3N0aWQgw6RyIG5vbGwsIHPDpSBoaXN0b3Jpa2VuIMOkciBkw6VsaWcuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAiU3TDpGxsZXIgaW50ZSBpbiBrbG9ja2EgZWZ0ZXJzb20gZHJhZ25pbmdzZmFrdG9ybiAlZiDDpHIgYWxsZGVsZXMgZsO2ciBzdG9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJJbmdldCBhbnbDpG5kYmFydCBrbG9ja2dyw6Ruc3NuaXR0IGhpdHRhZGVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiS2FuIGludGUga29tbWEgw6V0IGjDpXJkdmFydWtsb2NrYW4gdmlhIG7DpWdvbiBrw6RuZCBtZXRvZC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIkFudsOkbmQgZmxhZ2dhbiAtLWRlYnVnIGbDtnIgYXR0IHNlIGRldGFsamVybmEgb20gdsOlciBzw7ZrbmluZyBlZnRlciBlbiDDpXRrb21zdG1ldG9kLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGFyZ2V0IGRhdGU6ICAgJWxkXG4iCittc2dzdHIgIk3DpWxkYXR1bTogICAgICAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlZGljdGVkIFJUQzogJWxkXG4iCittc2dzdHIgIkbDtnJ1dHNww6VkZCBSVEM6ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk3MAorbXNnaWQgIlJUQyByZWFkIHJldHVybmVkIGFuIGludmFsaWQgdmFsdWUuIgorbXNnc3RyICJSVEMtbMOkc25pbmcgcmV0dXJuZXJhZGUgZXR0IG9naWx0aWd0IHbDpHJkZS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiRGVuIGp1c3RlcmluZyBzb20gYmVow7Z2cyDDpHIgbWluZHJlIMOkbiBlbiBzZWt1bmQsIHPDpSBzdMOkbGxlciBpbnRlIGtsb2NrYW4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorbXNnaWQgInVuYWJsZSB0byByZWFkIHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBSVEMtZXBva2VuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiUlRDLWVwb2tlbiDDpHIgaW5zdMOkbGxkIHDDpSAlbHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICItLWVwb2NoIGtyw6R2cyBmw7ZyIC0tc2V0ZXBvY2guIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKK21zZ2lkICJ1bmFibGUgdG8gc2V0IHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICJrdW5kZSBpbnRlIHN0w6RsbGEgaW4gUlRDLWVwb2tlbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgJXMgW2Z1bmt0aW9uXSBbZmxhZ2dh4oCmXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiS2xvY2t0aWRzdmVya3R5Zy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MworbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiIC1yLCAtLXNob3cgICAgICAgICAgIHZpc2EgUlRDLXRpZGVuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKK21zZ2lkICIgICAgIC0tZ2V0ICAgICAgICAgICAgZGlzcGxheSBkcmlmdCBjb3JyZWN0ZWQgUlRDIHRpbWUiCittc2dzdHIgIiAgICAgLS1nZXQgICAgICAgICAgICB2aXNhIGRyYWduaW5nc2p1c3RlcmFkIFJUQy10aWQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgICAgIC0tc2V0ICAgICAgICAgICAgc3TDpGxsIGluIFJUQzpuIGVubGlndCAtLWRhdGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHN0w6RsbCBpbiBzeXN0ZW10aWRlbiBmcsOlbiBSVEM6biIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc3TDpGxsIGluIFJUQzpuIGZyw6VuIHN5c3RlbXRpZGVuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjgKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiICAgICAtLXN5c3R6ICAgICAgICAgIHNraWNrYSBrb25maWd1cmF0aW9uIGbDtnIgdGlkc3NrYWxhIHRpbGwga8Okcm5hbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY5Cittc2dpZCAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQiCittc2dzdHIgIiAtYSwgLS1hZGp1c3QgICAgICAgICBqdXN0YSBSVEM6biBmw7ZyIGF0dCBrb21wZW5zZXJhIGbDtnIgc3lzdGVtYXRpc2sgZHJhZ25pbmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorbXNnaWQgIiAgICAgLS1nZXRlcG9jaCAgICAgICBkaXNwbGF5IHRoZSBSVEMgZXBvY2giCittc2dzdHIgIiAgICAgLS1nZXRlcG9jaCAgICAgICB2aXNhIFJUQy1lcG9rZW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiICAgICAtLXNldGVwb2NoICAgICAgIHN0w6RsbCBpbiBSVEMtZXBva2VuIGVubGlndCAtLWVwb2NoIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgICAgIC0tcHJlZGljdCAgICAgICAgZsO2cnV0c3DDpSBkZW4gZHJhZ25hIFJUQy10aWRlbiBlbmxpZ3QgLS1kYXRlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQzpucyB0aWRzc2thbGEgYW52w6RuZGVyIFVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3Cittc2dpZCAiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQzpucyB0aWRzc2thbGEgYW52w6RuZGVyIGxva2FsIHRpZHN6b24iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8ZmlsPiAgICAgIGFudsOkbmQgZW4gYWx0ZXJuYXRpdiBmaWwgaXN0w6RsbGV0IGbDtnIgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzZSB0aGUgSVNBIGJ1cyBpbnN0ZWFkIG9mICUxJHMgYWNjZXNzXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhbnbDpG5kIElTQS1idXNzZW4gaXN0w6RsbGV0IGbDtnIgJTEkcy3DpXRrb21zdFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIgICAgIC0tZGF0ZSA8dGlkPiAgICAgZGF0dW0vdGlkLWluZGF0YSBmw7ZyIC0tc2V0IG9jaCAtLXByZWRpY3QiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiICAgICAtLWVwb2NoIDzDpXI+ICAgICBlcG9raW5kYXRhIGbDtnIgLS1zZXRlcG9jaCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwcGRhdGVyYSBSVEMtZHJhZ25pbmdzZmFrdG9ybiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgdXNlICUxJHNcbiIKK21zZ3N0ciAiICAgICAtLW5vYWRqZmlsZSAgICAgIGFudsOkbmQgaW50ZSAlMSRzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiICAgICAtLWFkamZpbGUgPGZpbD4gIGFudsOkbmQgZW4gYWx0ZXJuYXRpdiBmaWwgaXN0w6RsbGV0IGbDtnIgJTEkc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgIC0tdGVzdCAgICAgICAgICAgICAgdG9ycmvDtnJuaW5nOyBtZWRmw7ZyIC0tZGVidWciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZpc2EgeXR0ZXJsaWdhcmUgZGV0YWxqZXJcbiIKKworIyBhdWRpdCDDpHIgaW5nZXQgc3ZlbnNrdCBvcmQgbWVuIGhpdHRhciBpbnRlIHBhc3NhbmRlLiByZXZpc2lvbj8gZ3JhbnNrbmluZz8KKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiS2FuIGludGUgYW5zbHV0YSB0aWxsIGdyYW5za25pbmdzc3lzdGVtIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgIiVkIGbDtnIgbcOlbmdhIGFyZ3VtZW50IGFuZ2F2cyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzE3Cittc2dpZCAiLS11cGRhdGUtZHJpZnQgcmVxdWlyZXMgLS1zZXQgb3IgLS1zeXN0b2hjIgorbXNnc3RyICItLXVwZGF0ZS1kcmlmdCBrcsOkdnMgZsO2ciAtLXNldCBlbGxlciAtLXN5c3RvaGMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyMgorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICJNZWQgLS1ub2FkamZpbGUgbcOlc3RlIGR1IGFuZ2UgYW50aW5nZW4gLS11dGMgZWxsZXIgLS1sb2NhbHRpbWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICItLWRhdGUga3LDpHZzIGbDtnIgLS1zZXQgZWxsZXIgLS1wcmVkaWN0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgIm9naWx0aWd0IGRhdHVtIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICIiCisiU3lzdGVtdGlkOiAlbGQuJTA2bGRcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAiVGVzdGzDpGdlOiBpbmdldCDDpG5kcmFkZXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiSVNBLXBvcnTDpXRrb21zdCBpbnRlIGltcGxlbWVudGVyYWQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKK21zZ2lkICJpb3BsKCkgcG9ydCBhY2Nlc3MgZmFpbGVkIgorbXNnc3RyICJpb3BsKCktcG9ydMOldGtvbXN0IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5NworbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAiQW52w6RuZCBkaXJla3QgSVNBLcOldGtvbXN0IHRpbGwga2xvY2thbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICJGw7Zyc8O2a2VyIGF0dCDDtnBwbmE6ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKK21zZ2lkICJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgcnRjLWVuaGV0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglcykgdGlsbCAlcyBmw7ZyIGF0dCBsw6RzYSB0aWRlbiBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiVsOkbnRhciBpIHNsaW5nYSBww6UgYXR0IHRpZGVuIGZyw6VuICVzIHNrYSDDpG5kcmFzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIlRpZHNncsOkbnMgdXBwbsOlZGRlcyB1bmRlciB2w6RudGFuIHDDpSBhdHQgdGlkZW4gc2t1bGxlIMOkbmRyYXMuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgInNlbGVjdCgpIHDDpSAlcyBmw7ZyIGF0dCB2w6RudGEgcMOlIGtsb2NrdGljayBmaWNrIHRpZCBhdHQgbMO2cGEgdXQiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAic2VsZWN0KCkgcMOlICVzIGbDtnIgYXR0IHbDpG50YSBww6Uga2xvY2t0aWNrIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIHDDpSAlcyBmw7ZyIGF0dCBzbMOlIGF2IHVwcGRhdGVyaW5nc2F2YnJvdHQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIHDDpSAlcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJXMpIHDDpSAlcyBmw7ZyIGF0dCBzdMOkbGxhIHRpZGVuIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB3YXMgc3VjY2Vzc2Z1bC5cbiIKK21zZ3N0ciAiaW9jdGwoJXMpIGx5Y2thZGVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKK21zZ2lkICJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICJBbnbDpG5kIHJ0Yy1ncsOkbnNzbml0dGV0IGbDtnIga2xvY2thbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSBww6UgJXMgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgcMOlICVzIG1pc3NseWNrYWRlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZXBvY2ggJyVzJy4iCittc2dzdHIgIm9naWx0aWcgZXBvayDigJ0lc+KAnS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHDDpSAlcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHDDpSAlcyBseWNrYWRlcy5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJTa2FwYSBkaXZlcnNlIElQQy1yZXN1cnNlci5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtIDxzdG9ybGVrPiAgICBza2FwYSBkZWxhdCBtaW5uZXNzZWdtZW50IGF2IHN0b3JsZWsgPHN0b3JsZWs+XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc0Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNlbWFwaG9yZSA8bnVtbWVyPiBza2FwYSBzZW1hZm9ydmVrdG9yIG1lZCA8bnVtbWVyPiBlbGVtZW50XG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIHNrYXBhIG1lZGRlbGFuZGVrw7ZcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8bMOkZ2U+ICAgICAgICByw6R0dGlnaGV0ZXIgZsO2ciByZXN1cnNlbiAoc3RhbmRhcmQgw6RyIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWxlbWVudHMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGVsZW1lbnQiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICJza2FwYW5kZSBhdiBkZWxhdCBtaW5uZSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICJEZWxhdCBtaW5uZXNzZWdtZW50cy1JRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICJza2FwYW5kZSBhdiBtZWRkZWxhbmRla8O2IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIk1lZGRlbGFuZGVrw7YtSUQ6ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICJza2FwYW5kZSBhdiBzZW1hZm9yIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiU2VtYWZvci1JRDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtmbGFnZ29yXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD7igKZcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJUYSBib3J0IHNwZWNpZmlrYSBJUEMtcmVzdXJzZXIuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgICAgdGEgYm9ydCBkZWxhdCBtaW5uZXNzZWdtZW50IGdpdmV0IGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbS1rZXkgPG55Y2tlbD4gICAgIHRhIGJvcnQgZGVsYXQgbWlubmVzc2VnbWVudCBnaXZldCBueWNrZWxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgICAgdGEgYm9ydCBtZWRkZWxhbmRla8O2IGdpdmV0IGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxueWNrZWw+ICAgICB0YSBib3J0IG1lZGRlbGFuZGVrw7YgZ2l2ZXQgbnlja2VsXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgICAgdGEgYm9ydCBzZW1hZm9yIGdpdmV0IGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxueWNrZWw+IHRhIGJvcnQgc2VtYWZvciBnaXZldCBueWNrZWxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKK21zZ2lkICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgICAgdGEgYm9ydCBhbGxhIChpIGRlbiBhbmdpdm5hIGthdGVnb3JpbilcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgZsO2cmtsYXJhIHZhZCBzb20gaMOkbmRlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJ0YXIgYm9ydCBkZWxhdCBtaW5uZXNzZWdtZW50LUlEIOKAnSVk4oCdXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJ0YXIgYm9ydCBtZWRkZWxhbmRla8O2LUlEIOKAnSVk4oCdXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgInRhciBib3J0IHNlbWFmb3ItSUQg4oCdJWTigJ1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgIsOldGtvbXN0IG5la2FzIGbDtnIgbnlja2VsIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIsOldGtvbXN0IG5la2FzIGbDtnIgaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAib2dpbHRpZyBueWNrZWwiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIm9naWx0aWd0IGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQgc3lzLXV0aWxzL2lwY3JtLmM6MjI1Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGtleSIKK21zZ3N0ciAicmVkYW4gYm9ydHRhZ2VuIG55Y2tlbCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICJyZWRhbiBib3J0dGFnZXQgaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJueWNrZWwgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgImlkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJvZ2lsdGlndCBpZDogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgInJlc3Vyc2VyIGJvcnR0YWduYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAib3RpbGzDpXRlbiBueWNrZWwgKCVzKSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJrw6RybmFuIMOkciBpbnRlIGtvbmZpZ3VyZXJhZCBmw7ZyIGRlbGF0IG1pbm5lIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgImvDpHJuYW4gw6RyIGludGUga29uZmlndXJlcmFkIGbDtnIgc2VtYWZvcmVyIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJrw6RybmFuIMOkciBpbnRlIGtvbmZpZ3VyZXJhZCBmw7ZyIG1lZGRlbGFuZGVrw7ZlciIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3Jlc3Vyc2ZsYWdnYeKApl0gW3V0bWF0bmluZ3NmbGFnZ2FdXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3IHN5cy11dGlscy9sc2lwYy5jOjI4MQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIlZpc2EgaW5mb3JtYXRpb24gb20gSVBDLXJlc3Vyc2VyLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICBza3JpdiB1dCBkZXRhbGplciBvbSByZXN1cnNlbiBzb20gaWRlbnRpZmllcmFzIHNvbSA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiUmVzdXJzZmxhZ2dvcjpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgZGVsYWRlIG1pbm5lc3NlZ21lbnRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lZGRlbGFuZGVrw7ZlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hZm9yZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICBhbGxhIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICJVdG1hdG5pbmdzZmxhZ2dvcjpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIHZpc2EgZsOkc3QtLCBsw7ZzZ8O2cmluZ3MtIG9jaCDDpG5kcmluZ3N0aWRlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICB2aXNhIFBJRDphciBmw7ZyIHNrYXBhcmUgb2NoIHNlbmFzdGUgb3BlcmF0w7ZyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgdmlzYSBza2FwYXJlIG9jaCDDpGdhcmVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAgdmlzYSByZXN1cnNiZWdyw6Ruc25pbmdhclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIC11LCAtLXN1bW1hcnkgICAgIHZpc2Egc3RhdHVzc2FtbWFuZmF0dG5pbmdcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAgdmlzYSBzdG9ybGVrYXIgaSBmb3JtYXQgbMOkc2JhcnQgZsO2ciBtw6Rubmlza29yXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgdmlzYSBzdG9ybGVrYXIgaSBieXRlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIm7DpHIgZXR0IElEIGFudsOkbmRzIG3DpXN0ZSBlbiBlbnN0YWthIHJlc3VycyBhbmdlcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgImthbiBpbnRlIGjDpG10YSBiZWdyw6Ruc25pbmdhciBmw7ZyIGRlbGF0IG1pbm5lXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gR3LDpG5zZXIgZsO2ciBkZWxhdCBtaW5uZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIm1heGltYWx0IGFudGFsIHNlZ21lbnQgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgInN0w7Zyc3RhIHNlZ21lbnRzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJzdMO2cnN0YSB0b3RhbGEgZGVsYWRlIG1pbm5lIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyMAorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAibWluaW1hbCBzZWdtZW50c3RvcmxlayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5XG4iCittc2dzdHIgImvDpHJuYW4gw6RyIGludGUga29uZmlndXJlcmFkIGbDtnIgZGVsYXQgbWlubmVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTdGF0dXMgZsO2ciBkZWxhdCBtaW5uZSAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyJhbGxva2VyYWRlIHNlZ21lbnQgJWRcbiIKKyJhbGxva2VyYWRlIHNpZG9yICVsZFxuIgorInJlc2lkZW50YSBzaWRvciAgJWxkXG4iCisidsOkeGxhZGUgc2lkb3IgICAgJWxkXG4iCisiVsOkeGxpbmdzcHJlc3RhbmRhOiAlbGQgZsO2cnPDtmtcdCAlbGQgZnJhbWfDpW5nYXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNrYXBhcmUvw4RnYXJlIGF2IGRlbGFkZSBtaW5uZXNzZWdtZW50IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgInLDpHR0aWdoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEbDpHN0LS9sw7ZzZ8O2cmluZ3MtL8OkbmRyaW5nc3RpZGVyIGbDtnIgZGVsYXQgbWlubmUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICLDpGdhcmUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgInRpbGxhZ2QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgImzDtnNnam9yZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICLDpG5kcmFkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gRGVsYXQgbWlubmUgU2thcGFyZS9TZW5hc3RlIG9wZXJhdGlvbiBQSUQ6YXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBEZWxhZGUgbWlubmVzc2VnbWVudCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAibnlja2VsIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgInN0b3JsZWsiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgImJ5dGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg4Cittc2dpZCAibmF0dGNoIgorbXNnc3RyICJuZsOkc3QiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg4Cittc2dpZCAic3RhdHVzIgorbXNnc3RyICJzdGF0dXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzEyIHN5cy11dGlscy9pcGNzLmM6MzE0IHN5cy11dGlscy9pcGNzLmM6MzE2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjQzMCBzeXMtdXRpbHMvaXBjcy5jOjQzMiBzeXMtdXRpbHMvaXBjcy5jOjUzOAorIzogc3lzLXV0aWxzL2lwY3MuYzo1NDAgc3lzLXV0aWxzL2lwY3MuYzo1NDIgc3lzLXV0aWxzL2lwY3MuYzo1OTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk4IHN5cy11dGlscy9pcGNzLmM6NjI3IHN5cy11dGlscy9pcGNzLmM6NjI5CisjOiBzeXMtdXRpbHMvaXBjcy5jOjYzMSBzeXMtdXRpbHMvaXBjcy5jOjY1NQorbXNnaWQgIk5vdCBzZXQiCittc2dzdHIgIkludGUgaW5zdMOkbGxkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAibcOlbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgImzDpXN0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgc2VtYWZvcmJlZ3LDpG5zbmluZ2FyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yZ3LDpG5zZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCB2ZWt0b3JlciA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIm1heGltYWx0IGFudGFsIHNlbWFmb3JlciBwZXIgdmVrdG9yID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCBzZW1hZm9yZXIgcMOlIHN5c3RlbWV0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIm1heGltYWx0IGFudGFsIG9wZXJhdGlvbmVyIHBlciBzZW1vcC1hbnJvcCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJtYXhpbWFsdCB2w6RyZGUgZsO2ciBzZW1hZm9yID0gJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgImvDpHJuYW4gw6RyIGludGUga29uZmlndXJlcmFkIGbDtnIgc2VtYWZvcmVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yc3RhdHVzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAiYW52w6RuZGEgdmVrdG9yZXIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgImFsbG9rZXJhZGUgc2VtYWZvcmVyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTa2FwYXJlL8OEZ2FyZSBhdiBzZW1hZm9ydmVrdG9yZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvcm9wZXJhdGlvbi/DhG5kcmluZ3N0aWRlciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3Qtb3AiCittc2dzdHIgInNlbmFzdGUtb3AiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICJzZW5hc3Qtw6RuZHJhZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3J2ZWt0b3JlciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICJhbnRzZW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICJrdW5kZSBpbnRlIGjDpG10YSBtZWRkZWxhbmRlYmVncsOkbnNuaW5nYXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVkZGVsYW5kZW4gQmVncsOkbnNuaW5nYXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgIm1heGltYWx0IGFudGFsIGvDtmVyIHDDpSBoZWxhIHN5c3RlbWV0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzEKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICJzdMO2cnN0YSBtZWRkZWxhbmRlc3RvcmxlayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKK21zZ2lkICJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIgorbXNnc3RyICJzdGFuZGFyZG1heHN0b3JsZWsgZsO2ciBrw7YiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAia8Okcm5hbiDDpHIgaW50ZSBrb25maWd1cmVyYWQgZsO2ciBtZWRkZWxhbmRla8O2ZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVkZGVsYW5kZSBTdGF0dXMgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHF1ZXVlcyA9ICVkXG4iCittc2dzdHIgImFsbG9rZXJhZGUga8O2ZXIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJhbnbDpG5kYSBodXZ1ZGVuID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODgKK21zZ2lkICJ1c2VkIHNwYWNlIgorbXNnc3RyICJhbnbDpG50IHV0cnltbWUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIiBieXRlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1lZGRlbGFuZGVrw7ZlciBTa2FwYXJlL8OEZ2FyZSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAibWVkZGvDtmlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTWVkZGVsYW5kZWvDtmVybmFzIHPDpG5kbmluZ3MtL21vdHRhZ25pbmdzLS/DpG5kcmluZ3N0aWRlciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInNlbmQiCittc2dzdHIgInPDpG50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgIm1vdHRhZ2V0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAiw6RuZHJpbmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQSUQgZsO2ciBtZWRkZWxhbmRla8O2ZXIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE1lZGRlbGFuZGVrw7ZlciAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgImFudsOkbmRhLWJ5dGUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIm1lZGRlbGFuZGVuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MCBzeXMtdXRpbHMvaXBjcy5jOjYxMCBzeXMtdXRpbHMvaXBjcy5jOjY0MworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM3IHN5cy11dGlscy9sc2lwYy5jOjcyOSBzeXMtdXRpbHMvbHNpcGMuYzo4ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJpZCAlZCBoaXR0YWRlcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZWxhdCBtaW5uZXNzZWdtZW50IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgInLDpHR0aWdoZXQ9JSNvXHTDpXRrb21zdHLDpHR0aWdoZXRlcj0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAic3Rvcmxlaz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICJieXRlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImF0dGlkPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldHRpZD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLDpG5kcmluZ3N0aWQ9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIk1lZGRlbGFuZGVrw7YgbWVkZGvDtmlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bMOkZ2U9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc3Rvcmxlaz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAicXN0b3JsZWs9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgInFieXRlPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInPDpG5kbmluZ3N0aWQ9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAibW90dGFnbmluZ3N0aWQ9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiU2VtYWZvcnZla3RvciBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJyw6R0dGlnaGV0PSUjbywgw6V0a29tc3Ryw6R0dGlnaGV0ZXI9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1hID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpZCA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpZCA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICJzZW1udW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgInbDpHJkZSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJuY291bnQiCittc2dzdHIgIm5yw6RrbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgInpyw6RrbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgInBpZCIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiVzIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzIChieXRlKSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoa2J5dGUpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJvZ2lsdGlnIGlmbGFnZ2EiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxsZGlzYz4gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8bGRpc2M+IDxlbmhldD5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIlN0w6RsbCBpbiBlbiBsaW5qZWRpc2NpcGxpbiBmw7ZyIGVuIHNlcmllbGwgbGluamUuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgIHNrcml2IHV0IHV0ZsO2cmxpZ2EgbWVkZGVsYW5kZW4gdGlsbCBzdGFuZGFyZCBmZWxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA3Cittc2dpZCAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHbDpHJkZT4gICAgICBzdMOkbGwgaW4gaGFzdGlnaGV0IGbDtnIgc2VyaWVsbCBsaW5qZVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3Ryw6RuZz4gIGludHJvZHVrdGlvbiBza2lja2FkIGbDtnJlIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIgLXAsIC0tcGF1c2UgPHNla3VuZGVyPiAgIHBhdXMgbWVsbGFuIGludHJvZHVrdGlvbiBvY2ggbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgICBzdMOkbGwgaW4gdGVja2Vuc3RvcmxlayBww6UgNyBiaXRhclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgIHN0w6RsbCBpbiB0ZWNrZW5zdG9ybGVrIHRpbGwgOCBiaXRhclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICAgc3TDpGxsIGluIHBhcml0ZXQgcMOlIGluZ2VuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgICBzdMOkbGwgaW4gcGFyaXRldCBww6UgasOkbW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE0Cittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICAgc3TDpGxsIGluIHBhcml0ZXQgcMOlIHVkZGFcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICAgc3TDpGxsIGluIHN0b3BwYml0YXIgcMOlIGVuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgIHN0w6RsbCBpbiBzdG9wcGJpdGFyIHDDpSB0dsOlXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWdnYT4gc3TDpGxsIGluIGZsYWdnYSBmw7ZyIGluZGF0YWzDpGdlXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIyMgorbXNnaWQgIiIKKyJcbiIKKyJLbm93biA8bGRpc2M+IG5hbWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisiS8OkbmRhIG5hbW4gZsO2ciA8bGRpc2M+OlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjYKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkvDpG5kYSBuYW1uIGbDtnIgPGlmbGFnZ2E+OlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDQKK21zZ2lkICJpbnZhbGlkIHNwZWVkIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBoYXN0aWdoZXRzYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NworbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IHBhdXNhcmd1bWVudCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IGFyZ3VtZW50IGbDtnIgbGluamVkaXNjaXBsaW4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMgw6RyIGludGUgZW4gc2VyaWVsbCBsaW5qZSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgImthbiBpbnRlIGjDpG10YSB0ZXJtaW5hbGF0dHJpYnV0IGbDtnIgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiaGFzdGlnaGV0ZW4gJWQgc3TDtmRzIGludGUiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIHRlcm1pbmFsYXR0cmlidXQgZsO2ciAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICJrYW4gaW50ZSBza3JpdmEgaW50cm9kdWt0aW9uc2tvbW1hbmRvIHRpbGwgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIGxpbmplZGlzY2lwbGluIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJrYW4gaW50ZSBkZW1vbmlzZXJhIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICJmbGFnZ2EgZsO2ciBhdXRvdMO2bW5pbmcgaW5zdMOkbGxkIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAidW5kZXJsYWdzZmlsIGbDtnIgZW5oZXQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICJpbm9kc251bW1lciBmw7ZyIHVuZGVybGFnc2ZpbCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworbXNnaWQgImJhY2tpbmcgZmlsZSBtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICLDtnZyZTp1bmRyZSBlbmhldHNudW1tZXIgZsO2ciB1bmRlcmxhZ3NmaWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJsb29wZW5oZXRzbmFtbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgInBvc2l0aW9uIGZyw6VuIGLDtnJqYW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAicGFydGl0aW9uc3PDtmtuaW5nc2ZsYWdnYSBpbnN0w6RsbGQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJzdG9ybGVrc2JlZ3LDpG5zbmluZyBmw7ZyIGZpbGVuIGkgYnl0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAibG9vcGVuaGV0IMO2dnJlOnVuZHJlLW51bW1lciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgImFudsOkbmQgZGlyZWt0LWlvIGbDtnIgw6V0a29tc3QgdGlsbCB1bmRlcmxhZ3NmaWwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODEKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJsb2dpc2sgc2VrdG9yc3RvcmxlayBpIGJ5dGUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCBwb3NpdGlvbiAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBzdG9ybGVrc2dyw6RucyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZW5jcnlwdGlvbiAlcyAodHlwZSAldSkiCittc2dzdHIgIiwga3J5cHRlcmluZyAlcyAodHlwICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVzOiBsw7ZzZ8O2cm5pbmcgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2ZsYWdnb3JdIFs8bG9vcGVuaD5dXG4iCisiICUxJHMgW2ZsYWdnb3JdIC1mIHwgPGxvb3Blbmg+IDxmaWw+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiU3TDpGxsIGluIG9jaCBrb250cm9sbGVyYSBsb29wZW5oZXRlci5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0YSBhbGxhIGFudsOkbmRhIGVuaGV0ZXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA8bG9vcGVuaD7igKYgICAgICAgbMO2c2fDtnIgZW4gZWxsZXIgZmxlcmEgZW5oZXRlclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgbMO2c2fDtnIgYWxsYSBhbnbDpG5kYSBlbmhldGVyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgaGl0dGEgZsO2cnN0YSBvYW52w6RuZGEgZW5oZXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGVuaD4gIMOkbmRyYSBzdG9ybGVrIHDDpSBlbmhldGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsPiAgICAgICAgbGlzdGEgYWxsYSBlbmhldGVyIHNvbSDDpHIgYXNzb2NpZXJhZGUgbWVkIDxmaWw+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA4Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgdW5kdmlrIG3DtmpsaWdhIGtvbmZsaWt0ZXIgbWVsbGFuIGVuaGV0ZXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgYsO2cmphIHZpZCBwb3NpdGlvbiA8bnVtPiBpIGZpbGVuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBlbmhldCDDpHIgYmVncsOkbnNhZCB0aWxsIDxudW0+IGJ5dGUgaSBmaWxlblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorbXNnaWQgIiAtYiAgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgICAgICBzZXQgdGhlIGxvZ2ljYWwgc2VjdG9yIHNpemUgdG8gPG51bT5cbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDxzdG9ybGVrPiAgIHN0w6RsbCBpbiBsb2dpc2sgc2VrdG9yc3Rvcmxla1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgc2thcGEgZW4gcGFydGl0aW9uZXJhZCBsb29wZW5oZXRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzdMOkbGwgaW4gc2tyaXZza3lkZGFkIGxvb3BlbmhldFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICDDtnBwbmEgdW5kZXJsYWdzZmlsIG1lZCBPX0RJUkVDVFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHNrcml2IHV0IGVuaGV0c25hbW4gZWZ0ZXIgaW5zdMOkbGxuaW5nIChtZWQgLWYpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdXRmw7ZybGlndCBsw6RnZVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgYW52w6RuZCB1dG1hdG5pbmdmb3JtYXRldCBKU09OIGbDtnIgLS1saXN0XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdGEgaW5mb3JtYXRpb24gb20gYWxsYSBlbGxlciBhbmdpdm5hIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIHNrcml2IGludGUgdXQgcnVicmlrZXIgZsO2ciB1dG1hdG5pbmcgdmlhIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dCA8a29sdW1uZXI+ICAgICAgIGFuZ2Uga29sdW1uZXIgYXR0IHNrcml2YSB1dCBmw7ZyIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICBhbnbDpG5kIHLDpXR0IHV0bWF0bmluZ3Nmb3JtYXQgZsO2ciAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiJXM6IFZhcm5pbmc6IGZpbGVuIMOkciBtaW5kcmUgw6RuIDUxMiBieXRlOyBsb29wZW5oZXRlbiBrYW4gdmFyYSBvYW52w6RuZGJhciBlbGxlciBvc3lubGlnIGbDtnIgc3lzdGVtdmVya3R5Zy4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVzOiBWYXJuaW5nOiBmaWxlbiBmw6VyIGludGUgcGxhdHMgaSBlbiA1MTItYnl0ZXNzZWt0b3I7IHNsdXRldCBww6UgZmlsZW4ga29tbWVyIGF0dCBob3BwYXMgw7Z2ZXIuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogw7Z2ZXJsYXBwYW5kZSBsb29wZW5oZXQgZXhpc3RlcmFyIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IMO2dmVybGFwcGFuZGUsIHNrcml2c2t5ZGRhZGUgbG9vcGVuaGV0ZXIgZXhpc3RlcmFyIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IMO2dmVybGFwcGFuZGUsIGtyeXB0ZXJhZGUgbG9vcGVuaGV0ZXIgZXhpc3RlcmFyIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IMOldGVyYW52w6RuZGEgbG9vcGVuaGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwNworbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaW5zcGVrdGVyYSBsb29wZW5oZXRlciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBsZXRhIGVmdGVyIG1vdHN0cmlkaWdhIGxvb3BlbmhldGVyIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAia2FuIGludGUgaGl0dGEgbsOlZ29uIGxlZGlnIGxvb3BlbmhldCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgYW52w6RuZGEgdW5kZXJsYWdzZmlsIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsb2dpY2FsIGJsb2NrIHNpemUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGxvZ2lzayBibG9ja3N0b3JsZWsiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBhbnbDpG5kYSBlbmhldCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODUKK21zZ2lkICJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgImluZ2VuIGxvb3BlbmhldCBhbmdpdmVuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiZmxhZ2dvcm5hICVzIHRpbGzDpXRzIGVuZGFzdCB1bmRlciBpbnN0w6RsbG5pbmcgYXYgZW4gbG9vcGVuaGV0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICJmbGFnZ2FuIC0tb2Zmc2V0IMOkciBpbnRlIHRpbGzDpXRlbiBpIGRldHRhIHNhbW1hbmhhbmciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczogaW5zdMOkbGxuaW5nIGF2IGthcGFjaXRldCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGluc3TDpGxsbmluZyBhdiBkaXJla3QtSS9PIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBsb2dpY2FsIGJsb2NrIHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBsb2dpc2sgYmxvY2tzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorbXNnaWQgIm5vbmUiCittc2dzdHIgImluZ2VuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NgorbXNnaWQgInBhcmEiCittc2dzdHIgInBhcmEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk3Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAiZnVsbCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgImJlaMOlbGxhcmUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgImhvcmlzb250ZWxsIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAidmVydGlrYWwiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAibG9naXNrdCBDUFUtbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJsb2dpc2t0IGvDpHJubnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgImxvZ2lza3QgdXR0YWdzbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgImxvZ2lza3QgbnVtbWVyIGbDtnIgTlVNQS1ub2QiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgImxvZ2lza3QgYm9rbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgImxvZ2lza3QgbMOlZG51bW1lciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAwCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAidmlzYXIgaHVyIGNhY2hhciBkZWxhcyBtZWxsYW4gQ1BVOmVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDEKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICJDUFUtYXZzw6RuZG5pbmdzbMOkZ2UgaSB2aXJ0dWVsbCBow6VyZHZhcmEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMgorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgImZ5c2lzayBhZHJlc3MgZsO2ciBlbiBDUFUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAidmlzYXIgb20gaHlwZXJ2aXNvcm4gaGFyIGFsbG9rZXJhdCBDUFU6biIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJ2aXNhciBvbSBMaW51eCBmw7ZyIG7DpHJ2YXJhbmRlIGFudsOkbmRlciBDUFU6biIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgInZpc2FyIHN0w7Zyc3RhIE1IeiBmw7ZyIENQVTpuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAidmlzYXIgbWluc3RhIE1IeiBmw7ZyIENQVTpuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJmZWw6IHVuYW1lIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhdmfDtnJhIGFudGFsIENQVTplcjogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorbXNnaWQgImNhbm5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJrYW4gaW50ZSDDpXRlcnN0w6RsbGEgc2lnbmFsaGFudGVyYXJlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBleHRyYWhlcmEgbm9kbnVtbWVyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICJZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJOIgorbXNnc3RyICJOIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgRsO2bGphbmRlIMOkciBkZXQgdG9sa25pbmdzYmFyYSBmb3JtYXRldCBzb20ga2FuIHNraWNrYXMgdmlkYXJlIHRpbGxcbiIKKyIjIGFuZHJhIHByb2dyYW0uIFZhcmplIG9iamVrdCBoYXIgZXR0IHVuaWt0IElEIHNvbSBiw7ZyamFyIHDDpSBub2xsIGlcbiIKKyIjdmFyamUga29sdW1uLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiQXJraXRla3R1cjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVSBvcC1sw6RnZShuKToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTc0MgorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICJCeXRlb3JkbmluZzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDQKK21zZ2lkICJDUFUocyk6IgorbXNnc3RyICJDUFUoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICJNYXNrIGbDtnIgYWt0aXZhIENQVShlcik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkxpc3RhIMO2dmVyIGFrdGl2YSBDUFUoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTWFzayBmw7ZyIGluYWt0aXZhIENQVShlcik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICJMaXN0YSDDtnZlciBpbmFrdGl2YSBDUFUoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMworbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIlRyw6VkKGFyKSBwZXIga8Okcm5hOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIkvDpHJuKG9yKSBwZXIgdXR0YWc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiVXR0YWcgcGVyIGJvazoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTEKK21zZ2lkICJCb29rKHMpIHBlciBkcmF3ZXI6IgorbXNnc3RyICJCw7Zja2VyIHBlciBsw6VkYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTMKK21zZ2lkICJEcmF3ZXIocyk6IgorbXNnc3RyICJMw6Vkb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIkLDtmNrZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE4Cittc2dpZCAiU29ja2V0KHMpOiIKK21zZ3N0ciAiVXR0YWc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiTlVNQSBub2QoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIlRpbGx2ZXJrYXItSUQ6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2Cittc2dpZCAiTWFjaGluZSB0eXBlOiIKK21zZ3N0ciAiTWFza2ludHlwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJDUFUtZmFtaWxqOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMAorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAiTW9kZWxsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJNb2RlbGxuYW1uOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNAorbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiU3RlZ25pbmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM4Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIGR5bmFtaXNrIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIkNQVSBzdGF0aXNrIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIkNQVSBtYXggTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIG1pbiBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiVmlydHVhbGlzZXJpbmc6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0Cittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIkh5cGVydmlzb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU2Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICJIeXBlcnZpc29ydGlsbHZlcmthcmU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU3Cittc2dpZCAiVmlydHVhbGl6YXRpb24gdHlwZToiCittc2dzdHIgIlZpcnR1YWxpc2VyaW5nc3R5cDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiQXZzw6RuZG5pbmdzbMOkZ2U6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIlcyBjYWNoZToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiTlVNQS1ub2QlZCBDUFUoZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICJGeXNpc2thIHV0dGFnOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworbXNnaWQgIlBoeXNpY2FsIGNoaXBzOiIKK21zZ3N0ciAiRnlzaXNrYSBjaGlwOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJGeXNpc2thIGvDpHJub3IvY2hpcDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODgKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkZsYWdnb3I6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiVmlzYSBpbmZvcm1hdGlvbiBvbSBDUFUtYXJraXRla3R1cmVuLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA2Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIHNrcml2IHV0IGLDpWRlIGFrdGl2YSBvY2ggaW5ha3RpdmEgQ1BVOmVyIChzdGFuZGFyZCBmw7ZyIC1lKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA3Cittc2dpZCAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIgorbXNnc3RyICIgLWIsIC0tb25saW5lICAgICAgICAgICAgIHNrcml2IGVuZGFzdCB1dCBha3RpdmEgQ1BVOmVyIChzdGFuZGFyZCBmw7ZyIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICAgc2tyaXYgZW5kYXN0IHV0IGluYWt0aXZhIENQVTplclxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIGFudsOkbmQgSlNPTiBzb20gc3RhbmRhcmQtIGVsbGVyIHV0w7ZrYXQgdXRtYXRuaW5nc2Zvcm1hdFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdGE+XSBza3JpdiB1dCBpIGV0dCB1dMO2a2F0LCBsw6RzYmFydCBmb3JtYXRcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08bGlzdGE+XSAgICBza3JpdiB1dCBlbiBsaXN0YSBpIHRvbGtuaW5nc2JhcnQgZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTIKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgdXNlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPGthdD4gICAgICBhbnbDpG5kIGFuZ2l2ZW4ga2F0YWxvZyBzb20gc3lzdGVtcm90XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTMKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgIHNrcml2IHV0IGhleGFkZWNpbWFsYSBtYXNrZXIgc25hcmFyZSDDpG4gbGlzdG9yIMO2dmVyIENQVTplclxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE0Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgICBza3JpdiB1dCBmeXNpc2thIGlzdMOkbGxldCBmw7ZyIGxvZ2lza2EgSURcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAib2dpbHRpZ3QgYXJndW1lbnQgdG8gJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIlczogZmxhZ2dvcm5hIC0tYWxsLCAtLW9ubGluZSBvY2ggLS1vZmZsaW5lIGthbiBlbmRhc3QgYW52w6RuZGFzIG1lZCBmbGFnZ29ybmEgLS1leHRlbmRlZCBlbGxlciAtLXBhcnNlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIlJlc3Vyc255Y2tlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICJOeWNrZWwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICJSZXN1cnMtSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICJJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIsOEZ2FyZW5zIGFudsOkbmRhcm5hbW4gZWxsZXIgVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAiw4RnYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAiUsOkdHRpZ2hldGVyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiU2thcGFyLVVJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU0Cittc2dpZCAiQ3JlYXRvciB1c2VyIgorbXNnc3RyICJTa2FwYXJhbnbDpG5kYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiU2thcGFyLUdJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiU2thcGFyZ3J1cHAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgIkFudsOkbmRhci1JRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiQW52w6RuZGFybmFtbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIkdydXBwLUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIkdJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiR3J1cHBuYW1uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiVGlkIGbDtnIgc2VuYXN0ZSDDpG5kcmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIlNlbmFzdGUgw6RuZHJpbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NAorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgIkFudsOkbmRhIGJ5dGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiQW50YWwgbWVkZGVsYW5kZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICJNZWRkZWxhbmRlbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJUaWQgZsO2ciBzZW5hc3RlIHNraWNrYWRlIG1lZGRlbGFuZGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICJNZWRkZWxhbmRlIHNraWNrYXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIlRpZCBmw7ZyIHNlbmFzdCBtb3R0YWduYSBtZWRkZWxhbmRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIk1lZGRlbGFuZGUgbW90dGFnZXQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICJQSUQgZsO2ciBzZW5hc3RlIGF2c8OkbmRhcmUgYXYgbWVkZGVsYW5kZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiQXZzw6RuZGFyZSBhdiBtZWRkZWxhbmRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICJQSUQgZsO2ciBzZW5hc3RlIG1vdHRhZ2FyZSBhdiBtZWRkZWxhbmRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIk1vdHRhZ2FyZSBhdiBtZWRkZWxhbmRlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIlNlZ21lbnRzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICJBbnRhbCBmw6RzdGEgcHJvY2Vzc2VyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIkbDpHN0YSBwcm9jZXNzZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NAorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAiU3RhdHVzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAiRsOkc3R0aWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJMw7ZzZ8O2cm5pbmdzdGlkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAiS29tbWFuZG9yYWQgZsO2ciBza2FwYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQiCittc2dzdHIgIktvbW1hbmRvIGbDtnIgc2thcGFyZSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiUElEIG9mIHRoZSBjcmVhdG9yIgorbXNnc3RyICJQSUQgZsO2ciBza2FwYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiU2thcGFyLVBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiUElEIGbDtnIgc2VuYXN0ZSBhbnbDpG5kYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJTZW5hc3RlIGFudsOkbmRhci1QSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICJBbnRhbCBzZW1hZm9yZXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbWFmb3JlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIlRpZCBmw7ZyIHNlbmFzdGUgw6V0Z8OkcmQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJTZW5hc3RlIMOldGfDpHJkIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJSZXN1cnNuYW1uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiUmVzdXJzIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiUmVzdXJzYmVza3Jpdm5pbmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJCZXNrcml2bmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIkFudsOkbmRzIGbDtnIgbsOkcnZhcmFuZGUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIkFudsOkbmQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiQWt0dWVsbCBhbnbDpG5kbmluZ3NhbmRlbCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJBbnbDpG5kbmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIlN5c3RlbWJlZ3LDpG5zbmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIkJlZ3LDpG5zbmluZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAia29sdW1uICVzIGfDpGxsZXIgaW50ZSBmw7ZyIGRlbiBhbmdpdm5hIElQQzpuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mb3JtYXRpb24gb20gc3lzdGVtb21mYXR0YW5kZSBhbnbDpG5kbmluZyAoa2FuIGtvbWJpbmVyYXMgbWVkIC1tLCAtcSBvY2ggLXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGlkPiAgICAgc2tyaXYgdXQgZGV0YWxqZXIgb20gcmVzdXJzIGlkZW50aWZpZXJhZCBzb20gPGlkPlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgc2tyaXYgdXQgU1RPUkxFSyBpIGJ5dGUgc25hcmFyZSDDpG4gaSBmb3JtYXQgbMOkc2xpZ3QgZsO2ciBtw6Rubmlza29yXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHZpc2Egc2thcGFyZSBvY2ggw6RnYXJlXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICBhbnbDpG5kIHV0bWF0bmluZ3Nmb3JtYXRldCBKU09OXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgdHZpbmdhIHV0bWF0bmluZ3Nmb3JtYXRldCBsaXN0YSAodGlsbCBleGVtcGVsIG1lZCAtLWlkKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBza3JpdiB1dCBudW1lcmlza2EgcsOkdHRpZ2hldGVyIChSw4RUVElHSC1rb2x1bW5lbilcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA0Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICB2aXNhIGbDpHN0LSwgbMO2c2fDtnJpbmdzLSBvY2ggw6RuZHJpbmdzdGlkZXJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJBbGxtw6RubmEga29sdW1uZXI6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2x1bW5lciBmw7ZyIGRlbGF0IG1pbm5lICgtLXNobWVtcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb2x1bW5lciBmw7ZyIG1lZGRlbGFuZGVrw7YgKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIktvbHVtbmVyIGbDtnIgc2VtZm9yZXIgKC0tc2VtYXBob3Jlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTYW1tYW5mYXR0bmluZ3Nrb2x1bW5lciAoLS1nbG9iYWwpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisiRWxlbWVudDpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGRhdGEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIkFudGFsIHNlbWFmb3JpZGVudGlmaWVyYXJlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiVG90YWx0IGFudGFsIHNlbWFmb3JlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE0Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICJNYXhpbWFsdCBhbnRhbCBzZW1hZm9yZXIgcGVyIHNlbWFmb3J1cHBzw6R0dG5pbmcuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICJTdMO2cnN0YSBhbnRhbGV0IMOldGfDpHJkZXIgcGVyIHNlbW9wKDIpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICJNYXhpbWFsdCB2w6RyZGUgZsO2ciBzZW1hZm9yIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIkFudGFsIG1lZGRlbGFuZGVrw7ZlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc0Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJNYXhpbWFsIHN0b3JsZWsgZsO2ciBtZWRkZWxhbmRlIChieXRlKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc1Cittc2dpZCAiRGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSAoYnl0ZXMpIgorbXNnc3RyICJTdGFuZGFyZG1heHN0b3JsZWsgZsO2ciBrw7YgKGJ5dGUpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgInN0b3J0bGIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJpY2tlLXJlc2VydmVyYWQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICJEZWxhZGUgbWlubmVzc2VnbWVudCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgIkRlbGFkZSBtaW5uZXNzaWRvciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICJTdMO2cnN0YSBzdG9ybGVrIGbDtnIgZGVsYXQgbWlubmVzc2VnbWVudCAoYnl0ZSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiTWluc3RhIHN0b3JsZWsgZsO2ciBkZWxhdCBtaW5uZXNzZWdtZW50IChieXRlKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTE0NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgSVBDLWlkZW50aWZpZXJhcmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiLS1nbG9iYWwgw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIG1lZCAtLWNyZWF0b3IsIC0taWQgb2NoIC0tdGltZSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInN0YXJ0LSBvY2ggc2x1dGFkcmVzcyBmw7ZyIG1pbm5lc2ludGVydmFsbGV0IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgInN0b3JsZWsgcMOlIG1pbm5lc2ludGVydmFsbCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICJpbmtvcHBsaW5nc3N0YXR1cyBmw7ZyIG1pbm5lc2ludGVydmFsbGV0IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICJtaW5uZSDDpHIgbMO2c3RhZ2JhcnQiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICJudW1tZXIgZsO2ciBtaW5uZXNibG9jayBlbGxlciBibG9ja2ludGVydmFsbCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMzCittc2dpZCAibnVtYSBub2RlIG9mIG1lbW9yeSIKK21zZ3N0ciAibnVtYSBtaW5uZXNub2QiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorIywgZnV6enkKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAic3RvcmxlayBww6UgbWlubmVzaW50ZXJ2YWxsIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgImlua29wcGxhZCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCittc2dpZCAib2ZmbGluZSIKK21zZ3N0ciAidXJrb3BwbGFkIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjMKK21zZ2lkICJvbi0+b2ZmIgorbXNnc3RyICJww6UtPmF2IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5Cittc2dpZCAiTWVtb3J5IGJsb2NrIHNpemU6IgorbXNnc3RyICJNaW5uZXNibG9ja3N0b3JsZWs6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjMgc3lzLXV0aWxzL2xzbWVtLmM6MzMzCittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgIlRvdGFsdCBtaW5uZSBpbmtvcHBsYXQ6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICJUb3RhbHQgbWlubmUgdXJrb3BwbGF0OiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCDDtnBwbmEgJXMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgbWVtb3J5IGJsb2NrcyIKK21zZ3N0ciAiRGV0dGEgc3lzdGVtIGhhciBpbnRlIHN0w7ZkIGbDtnIgbWlubmVzYmxvY2siCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ5OQorbXNnaWQgIkxpc3QgdGhlIHJhbmdlcyBvZiBhdmFpbGFibGUgbWVtb3J5IHdpdGggdGhlaXIgb25saW5lIHN0YXR1cy5cbiIKK21zZ3N0ciAiTGlzdGEgaW50ZXJ2YWxsZXJuYSBmw7ZyIHRpbGxnw6RuZ2xpZ3QgbWlubmUgbWVkIGRlcmFzIGlua29wcGxpbmdzc3RhdHVzLlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDQKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgbGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0YSB2YXJqZSBpbmRpdmlkdWVsbHQgbWlubmVzYmxvY2tcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGxpdCA8bGlzdD4gICBzcGxpdCByYW5nZXMgYnkgc3BlY2lmaWVkIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgICAgIG1hdGEgdXQga29sdW1uZXJcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8a2F0PiAgIGFudsOkbmQgZGVuIGFuZ2l2bmEga2F0YWxvZ2VuIHNvbSBzeXN0ZW1yb3RcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTExCittc2dpZCAiICAgICAtLXN1bW1hcnlbPXdoZW5dIHByaW50IHN1bW1hcnkgaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBvciBvbmx5KVxuIgorbXNnc3RyICIgICAgIC0tc3VtbWFyeVs9bsOkcl0gICBza3JpdiB1dCBzYW1tYW5mYXR0bmluZyAobmV2ZXIsYWx3YXlzIGVsbGVyIG9ubHkpXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYxOAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc3VtbWFyeSBhcmd1bWVudCIKK21zZ3N0ciAiYXJndW1lbnRldCAtLXN1bW1hcnkgc3TDtmRzIGludGUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJmbGFnZ29ybmEgLS17cmF3LGpzb24scGFpcnN9IG9jaCAtLXN1bW1hcnk9b25seSDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY2NCBzeXMtdXRpbHMvbHNucy5jOjc4MQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIGF0dCBpbml0aWVyYSB1dG1hdG5pbmdzdGFiZWxsIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJNaXNzbHlja2FkZXMgYXR0IGluaXRpZXJhIHV0bWF0bmluZ3Nrb2x1bW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAibmFtbnJ5bWRzaWRlbnRpZmllcmFyZSAoaW5vZHNudW1tZXIpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICJ0eXAgYXYgbmFtbnJ5bWQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJzw7ZrdsOkZyB0aWxsIG5hbW5yeW1kZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJhbnRhbCBwcm9jZXNzZXIgaSBuYW1ucnltZGVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAibMOkZ3N0YSBQSUQgaSBuYW1ucnltZGVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiUFBJRCBmw7ZyIFBJRDplbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDUKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAia29tbWFuZG9yYWQgZsO2ciBQSUQ6ZW4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIlVJRCBmw7ZyIFBJRDplbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICJhbnbDpG5kYXJuYW1uIGbDtnIgUElEOmVuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgbMOkZ2dhIHRpbGwgcmFkIHRpbGwgdXRtYXRuaW5nIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPG5hbW5yeW1kPl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICJMaXN0YSBzeXN0ZW1uYW1ucnltZGVuLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwNQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICAgc2tyaXYgdXQgcHJvY2Vzc25hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBza3JpdiBpbnRlIHRpbGwgL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxuYW1uPiAgICAgICBuYW1ucnltZHN0eXAgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAib2vDpG5kIG5hbW5yeW1kc3R5cDogJXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNAorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiLS10YXNrIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZSBtZWQgPG5hbW5yeW1kPiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IG5hbW5yeW1kc2FyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IgorbXNnc3RyICJoaXR0YWRlIGludGUgbmFtbnJ5bWQ6ICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJlbmRhc3Qgcm9vdCBrYW4gYW52w6RuZGEgZmxhZ2dhbiDigJ0tLSVz4oCdIChlZmZla3RpdnQgVUlEIMOkciAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiZW5kYXN0IHJvb3Qga2FuIGfDtnJhIGRldCAoZWZmZWt0aXZ0IFVJRCDDpHIgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAiZW5kYXN0IHJvb3Qga2FuIGFudsOkbmRhIGZsYWdnYW4g4oCdLS0lc+KAnSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAiZW5kYXN0IHJvb3Qga2FuIGfDtnJhIGRldCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODQgc3lzLXV0aWxzL3Vtb3VudC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBmcsOlbiAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIG10YWIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MSBzeXMtdXRpbHMvdW1vdW50LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVzOiBob3BwYXMgw7Z2ZXJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiJS0yNXM6IHJlZGFuIG1vbnRlcmFkXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBmbHl0dGFkIHRpbGwgJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVzOiAlcyBidW5kZW4gdGlsbCAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzIG1vbnRlcmFkIHDDpSAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBwcm9wYWdhdGlvbiBmbGFncyBjaGFuZ2VkLlxuIgorbXNnc3RyICIlczogJXMgcHJvcGFnZXJpbmdzZmxhZ2dvciDDpG5kcmFkZS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisibW91bnQ6ICVzIGlubmVow6VsbGVyIGludGUgU0VMaW51eC1ldGlrZXR0LlxuIgorIiAgICAgICBEdSBtb250ZXJhZGUgbnlzcyBldHQgZmlsc3lzdGVtIHNvbSBoYXIgc3TDtmQgZsO2ciBldGlrZXR0ZXIgc29tIGludGVcbiIKKyIgICAgICAgaW5uZWjDpWxsZXIgZXRpa2V0dGVyIHDDpSBldHQgU0VMaW51eC1zeXN0ZW0uIERldCDDpHIgc2Fubm9saWtoZXQgYXR0IHByb2dyYW1cbiIKKyIgICAgICAgc29tIGJlZ3LDpG5zYXRzIGtvbW1lciBhdHQgZ2VuZXJlcmEgQVZDLW1lZGRlbGFuZGVuIG9jaCBpbnRlIGthbiB0aWxsw6V0YXNcbiIKKyIgICAgICAgZsOlIHRpbGxnw6VuZyB0aWxsIGZpbHN5c3RlbWV0LiBGw7ZyIHZpZGFyZSBkZXRhbGplciBzZSByZXN0b3JlY29uKDgpIG9jaCBtb3VudCg4KS5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzLiIKK21zZ3N0ciAiJXM6ICVzLiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiB0b2xrbmluZyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAiZmxhZ2dmb3JtYXQgc3TDtmRzIGludGU6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFwcGVuZCBvcHRpb24gJyVzJyIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgbMOkZ2dhIHRpbGwgZmxhZ2dhIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbZmxhZ2dvcl1cbiIKKyIgJTEkcyBbZmxhZ2dvcl0gWy0tc291cmNlXSA8a8OkbGxhPiB8IFstLXRhcmdldF0gPGthdGFsb2c+XG4iCisiICUxJHMgW2ZsYWdnb3JdIDxrw6RsbGE+IDxrYXRhbG9nPlxuIgorIiAlMSRzIDzDpXRnw6RyZD4gPG1vbnRlcmluZ3NwdW5rdD4gWzxtw6VsPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJNb250ZXJhIGV0dCBmaWxzeXN0ZW0uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIG1vdW50KDIpIHN5c2NhbGxcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHBhdGg+ICAgICAgYWx0ZXJuYXRpdmUgZmlsZSB0byAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW9udGVyYSBhbGxhIGZpbHN5c3RlbSBuw6RtbmRhIGkgZnN0YWJcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZ8O2ciBpbnRlIHPDtmt2w6RnYXIga2Fub25pc2thXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIHRvcnJrw7ZybmluZzsgaG9wcGEgw7Z2ZXIgc3lzdGVtYW5yb3BldCBtb3VudCgyKVxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBncmVuYSBhdiBmw7ZyIHZhcmplIGVuaGV0IChhbnbDpG5kIG1lZCAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPHPDtmt2w6RnPiAgICBhbHRlcm5hdGl2IGZpbCBpc3TDpGxsZXQgZsO2ciAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGFucm9wYSBpbnRlIGhqw6RscHByb2dyYW1tZXQgbW91bnQuPHR5cD5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHZpc2Egb2Nrc8OlIGZpbHN5c3RlbXNldGlrZXR0ZXJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE0IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBza3JpdiBpbnRlIHRpbGwgL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdGE+ICAga29tbWFzZXBhcmVyYWQgbGlzdGEgYXYgbW9udGVyaW5nc2ZsYWdnb3JcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0YT4gYmVncsOkbnNhIHVwcHPDpHR0bmluZ2VuIGZpbHN5c3RlbSAoYW52w6RuZCBtZWQgLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vbnRlcmEgZmlsc3lzdGVtZXQgc2tyaXZza3lkZGF0IChzYW1tYSBzb20gLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0YT4gICAgIGJlZ3LDpG5zYSB1cHBzw6R0dG5pbmdlbiBhdiBmaWxzeXN0ZW1zdHlwZXJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA8a8OkbGxhPiAgICBhbmdlciB1dHRyeWNrbGlnZW4ga8OkbGxhIChzw7ZrdsOkZywgZXRpa2V0dCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDxtw6VsPiAgICAgIGFuZ2VyIHV0dHJ5Y2tsaWdlbiBtb250ZXJpbmdzcHVua3RcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI0IHN5cy11dGlscy91bW91bnQuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIGbDtnJrbGFyYSB2YWQgc29tIGjDpG5kZXJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW9udGVyYSBmaWxzeXN0ZW1ldCBza3JpdmJhcnQgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisiS8OkbGxhOlxuIgorIiAtTCwgLS1sYWJlbCA8ZXRpa2V0dD4gICBzeW5vbnltIGbDtnIgTEFCRUw9PGV0aWtldHQ+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZsO2ciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08ZXRpa2V0dD4gICAgICAgICBhbmdlciBlbmhldCBlZnRlciBmaWxzeXN0ZW1zZXRpa2V0dFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBhbmdlciBlbmhldCBlZnRlciBmaWxzeXN0ZW1zLVVVSURcbiIKKyIgUEFSVExBQkVMPTxldGlrZXR0PiAgICAgYW5nZXIgZW5oZXQgZWZ0ZXIgcGFydGl0aW9uc2V0aWtldHRcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgYW5nZXIgZW5oZXQgZWZ0ZXIgcGFydGl0aW9ucy1VVUlEXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGVuaGV0PiAgICAgICAgICAgICAgICAgYW5nZXIgZW4gZW5oZXQgZWZ0ZXIgc8O2a3bDpGdcbiIKKyIgPGthdGFsb2c+ICAgICAgICAgICAgICAgbW9udGVyaW5nc3B1bmt0IGbDtnIgYmluZG5pbmdzbW9udGVyaW5nYXIgKHNlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbD4gICAgICAgICAgICAgICAgICAgdmFubGlnIGZpbCBmw7ZyIGxvb3BlbmhldHNpbnN0w6RsbG5pbmdcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIsOFdGfDpHJkZXI6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vbnRlcmEgZXR0IHVuZGVydHLDpGQgbsOlZ29uIGFubmFuc3RhbnMgKHNhbW1hIHNvbSAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBmbHl0dGEgZXR0IHVuZGVydHLDpGQgbsOlZ29uIGFubmFuc3RhbnNcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW9udGVyYSBldHQgdW5kZXJ0csOkZCBvY2ggYWxsYSBkZXNzIHVuZGVybW9udGVyaW5nYXIgbsOlZ29uIGFubmFuc3RhbnNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmtlcmEgZXR0IHVuZGVydHLDpGQgc29tIGRlbGF0XG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmtlcmEgZXR0IHVuZGVydHLDpGQgc29tIHNsYXZcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFya2VyYSBldHQgdW5kZXJ0csOkZCBzb20gcHJpdmF0XG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmtlcmEgZXR0IHVuZGVydHLDpGQgc29tIG9iaW5kYmFydFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgbWFya2VyYSByZWt1cnNpdnQgZXR0IGhlbHQgdW5kZXJ0csOkZCBzb20gZGVsYXRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgbWFya2VyYSByZWt1cnNpdnQgZXR0IGhlbHQgdW5kZXJ0csOkZCBzb20gc2xhdlxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICBtYXJrZXJhIHJla3Vyc2l2dCBldHQgaGVsdCB1bmRlcnRyw6RkIHNvbSBwcml2YXRcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgbWFya2VyYSByZWt1cnNpdnQgZXR0IGhlbHQgdW5kZXJ0csOkZCBzb20gb2JpbmRiYXJ0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiYWxsb2tlcmluZyBhdiBsaWJtb3VudC1rb250ZXh0IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAxIHN5cy11dGlscy91bW91bnQuYzo1MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiBmbGFnZ23Dtm5zdGVyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJrw6RsbGEgYW5naXZlbiBtZXIgw6RuIGVuIGfDpW5nIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC9zw7ZrdsOkZy90aWxsL2thdGFsb2dcbiIKKyIgJTEkcyAteCAvZGV2L2VuaGV0XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTIzCittc2dpZCAiQ2hlY2sgd2hldGhlciBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludC5cbiIKK21zZ3N0ciAiS29udHJvbGxlcmEgaHVydXZpZGEgZW4ga2F0YWxvZyBlbGxlciBlbiBmaWwgw6RyIGVuIG1vbnRlcmluZ3NwdW5rdC5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgdHlzdCBsw6RnZSAtIHNrcml2ZXIgaW50ZSB1dCBuw6Vnb3RcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHNrcml2IHV0IMO2dnJlOnVuZHJlIGVuaGV0c251bW1lciBmw7ZyIGZpbHN5c3RlbWV0XG4iCisiIC14LCAtLWRldm5vICAgICAgICBza3JpdiB1dCDDtnZyZTp1bmRyZSBlbmhldHNudW1tZXIgZsO2ciBoZWxhIGJsb2NrZW5oZXRlblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIMOkciBpbnRlIGVuIG1vbnRlcmluZ3NwdW5rdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgw6RyIGVuIG1vbnRlcmluZ3NwdW5rdFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+4oCmXV1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiS8O2ciBldHQgcHJvZ3JhbSBtZWQgbmFtbnJ5bWRlciBmcsOlbiBhbmRyYSBwcm9jZXNzZXIuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICBnw6UgaW4gaSBhbGxhIG5hbW5yeW1kZXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgYW52w6RuZCBwcm9jZXNzIHNvbSBtw6VsIGF0dCBmw6UgbmFtbnJ5bWRlciBmcsOlblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGZpbD5dICAgIHRyw6RkIGluIGkgbW9udGVyaW5nc25hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICBlbnRlciBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxmaWw+XSAgICAgIHRyw6RkIGluIGkgVVRTLW5hbW5yeW1kICh2w6RyZG5hbW4gZXRjKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08ZmlsPl0gICAgICB0csOkZCBpbiBpIFN5c3RlbSBWLUlQQy1uYW1ucnltZFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PGZpbD5dICAgICAgdHLDpGQgaW4gaSBuw6R0dmVya3NuYW1ucnltZFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgZW50ZXIgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz08ZmlsPl0gICAgICB0csOkZCBpbiBpIHBpZC1uYW1ucnltZFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUMsIC0tY2dyb3VwWz08ZmlsPl0gICB0csOkZCBpbiBpIGNncnVwcG5hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PGZpbD5dICAgICB0csOkZCBpbiBpIGFudsOkbmRhcm5hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHN0w6RsbCBpbiB1aWQgaSB0aWxsdHLDpGRkIG5hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHN0w6RsbCBpbiBnaWQgaSB0aWxsdHLDpGRkIG5hbW5yeW1kXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgcsO2ciBpbnRlIHVpZHMgZWxsZXIgZ2lkc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkyCittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tcm9vdFs9PGthdD5dICAgICBzdMOkbGwgaW4gcm90a2F0YWxvZ2VuXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PGthdD5dICAgICAgIHN0w6RsbCBpbiBhcmJldHNrYXRhbG9nZW5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZ3JlbmEgaW50ZSBpbm5hbiBrw7ZybmluZyBhdiA8cHJvZ3JhbT5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBzdMOkbGwgaW4gU0VMaW51eC1rb250ZXh0IGVubGlndCAtLXRhcmdldCBQSURcbiIKKworIyBzZWJyYXM6IFBJRCEKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICJ2YXJrZW4gZmlsbmFtbiBlbGxlciBtw6VsLVBJRCBhbmdpdmVuIGbDtnIgJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgdWlkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGdpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiaW5nZW4gbcOlbC1QSUQgYW5naXZlbiBmw7ZyIC0tZm9sbG93LWNvbnRleHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgJWQgU0VMaW51eC1rb250ZXh0IgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGV4ZWt2ZXJpbmdzbWlsasO2IHRpbGwg4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICJpbmdlbiBtw6VsLVBJRCBhbmdpdmVuIGbDtnIgLS1hbGwiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiw6V0ZXJhc3NvY2llcmluZyB0aWxsIG5hbW5yeW1kIOKAnSVz4oCdIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgYWt0dWVsbCBhcmJldHNrYXRhbG9nIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0OAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLDpG5kcmluZyBhdiBrYXRhbG9nIGVmdGVyIHJvdGZpbGRlc2tyaXB0b3IgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgImNocm9vdCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDYxCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLDpG5kcmluZyBhdiBrYXRhbG9nIGVmdGVyIGZpbGRlc2tyaXB0b3IgZsO2ciBhcmJldHNrYXRhbG9nIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIG55X3JvdCBzcGFyYV9nYW1tYWxcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozOAorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLDhG5kcmEgcm90Zmlsc3lzdGVtZXQuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCDDpG5kcmEgcm90IGZyw6VuIOKAnSVz4oCdIHRpbGwg4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICJhZHJlc3NyeW1kc2JlZ3LDpG5zbmluZyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAic3TDtnJzdGEgc3RvcmxlayBmw7ZyIG1pbm5lc2ZpbCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICJDUFUtdGlkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2VrdW5kZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICJzdMO2cnN0YSBkYXRhc3RvcmxlayIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIm1heGltYWwgZmlsc3RvcmxlayIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkIgorbXNnc3RyICJtYXhpbWFsdCBhbnRhbCBow6VsbG5hIGZpbGzDpXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAibMOlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgInN0w7Zyc3RhIGFkcmVzc3J5bWQgc29tIGthbiBsw6VzYXMgaSBtaW5uZXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAiaMO2Z3N0YSBhbnRhbCBieXRlIGkgUE9TSVggbWVkZGVsYW5kZWvDtmVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICJow7Znc3RhIHRpbGzDpXRuYSBow7ZqbmluZyBhdiBuaWNlLXByaW9yaXRldCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAibWF4aW1hbHQgYW50YWwgw7ZwcG5hIGZpbGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAiZmlsZXMiCittc2dzdHIgImZpbGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgIm1heGltYWx0IGFudGFsIHByb2Nlc3NlciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgInByb2Nlc3NlcyIKK21zZ3N0ciAicHJvY2Vzc2VyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICJzdMO2cnN0YSBzdG9ybGVrIGbDtnIgcmVzaWRlbnR1cHBzw6R0dG5pbmciCisKKyMgRGV0dGEgw6RyIHN5c3RlbWFucm9wIChnZXRwcmlvcml0eSgyKSkKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJtYXhpbWFsIHJlYWx0aWRzcHJpb3JpdGV0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICJ0aWRzZ3LDpG5zIGbDtnIgcmVhbHRpZHN1cHBnaWZ0ZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIm1pa3Jvc2VrdW5kZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIKK21zZ3N0ciAibWF4aW1hbHQgYW50YWwgdsOkbnRhbmRlIHNpZ25hbGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5Cittc2dpZCAic2lnbmFscyIKK21zZ3N0ciAic2lnbmFsZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAic3TDtnJzdGEgc3RhY2tzdG9ybGVrIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgInJlc3Vyc25hbW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgInJlc3Vyc2Jlc2tyaXZuaW5nIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIm1qdWsgZ3LDpG5zIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJow6VyZCBncsOkbnMgKHRhaykiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3Cittc2dpZCAidW5pdHMiCittc2dzdHIgImVuaGV0ZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBLT01NQU5ET1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NworbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJWaXNhIGVsbGVyIMOkbmRyYSByZXN1cnNiZWdyw6Ruc25pbmdhcm5hIGbDtnIgZW4gcHJvY2Vzcy5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQWxsbcOkbm5hIGZsYWdnb3I6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCittc2dpZCAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MtSURcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0YT4gICBkZWZpbmllcmEgdmlsa2EgdXRtYXRuaW5nc2tvbHVtbmVyIHNvbSBza2EgYW52w6RuZGFzXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgc2tyaXYgaW50ZSB1dCBydWJyaWtlclxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIGFudsOkbmQgcsOldHQgdXRkYXRhZm9ybWF0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgdXRmw7ZybGlnIHV0ZGF0YVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlJlc3Vyc2ZsYWdnb3I6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5Cittc2dpZCAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBjb3JlIGZpbGVzIGNyZWF0ZWRcbiIKKyIgLWQsIC0tZGF0YSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgYSBwcm9jZXNzJ3MgZGF0YSBzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgZmlsZXMgd3JpdHRlbiBieSB0aGUgcHJvY2Vzc1xuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFsc1xuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBtYXhpbXVtIHJlc2lkZW50IHNldCBzaXplXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlc1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBtYXhpbXVtIHJlYWwtdGltZSBzY2hlZHVsaW5nIHByaW9yaXR5XG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgbWF4aW11bSBzdGFjayBzaXplXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIHVzZXIgcHJvY2Vzc2VzXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAgc2l6ZSBvZiB2aXJ0dWFsIG1lbW9yeVxuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUgdGltZSBpbiBtaWNyb3NlY29uZHMgYSBwcm9jZXNzIHNjaGVkdWxlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIHVuZGVyIHJlYWwtdGltZSBzY2hlZHVsaW5nXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBzdMO2cnN0YSBzdG9ybGVrIGbDtnIgc2thcGFkZSBtaW5uZXNmaWxlclxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIHN0w7Zyc3RhIHN0b3JsZWsgZsO2ciBlbiBwcm9jZXNzIGRhdGFzZWdtZW50XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAgaMO2Z3N0IG5pY2UtcHJpb3JpdGV0IHRpbGzDpXRlbiBmw7ZyIGjDtmpuaW5nXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgc3TDtnJzdGEgc3RvcmxlayBmw7ZyIGZpbGVyIHNvbSBza3JpdnMgYXYgcHJvY2Vzc2VuXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgaMO2Z3N0YSBhbnRhbGV0IHbDpG50YWRlIHNpZ25hbGVyXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgc3TDtnJzdGEgc3RvcmxlayBlbiBwcm9jZXNzIGbDpSBsb3YgYXR0IGzDpXNhIGkgbWlubmV0XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgc3TDtnJzdGEgcmVzaWRlbnRhIG3DpG5nZHN0b3JsZWtlblxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIGjDtmdzdGEgYW50YWxldCDDtnBwbmEgZmlsZXJcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBzdMO2cnN0YSBhbnRhbGV0IGJ5dGUgaSBQT1NJWC1tZWRkZWxhbmRla8O2ZXJcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBow7Znc3RhIHByaW9yaXRldCBmw7ZyIHJlYWx0aWRzc2NoZW1hbMOkZ2duaW5nXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgc3TDtnJzdGEgc3RhY2tzdG9ybGVrXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW1hbCBtw6RuZ2QgQ1BVLXRpZCBpIHNla3VuZGVyXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgaMO2Z3N0YSBhbnRhbGV0IGFudsOkbmRhcnByb2Nlc3NlclxuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHZpcnR1ZWxsIG1pbm5lc3N0b3JsZWtcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBow7Znc3RhIGFudGFsIGZpbGzDpXNcbiIKKyIgLXksIC0tcnR0aW1lICAgICAgICAgICBDUFUtdGlkIGkgbWlrcm9zZWt1bmRlciBzb20gZW4gcHJvY2VzcyBzY2hlbWFsw6RnZ3NcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsdGlkc3NjaGVtYWzDpGdnbmluZ1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIm9iZWdyw6Ruc2FkIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgaMOkbXRhIGdhbW1hbCAlcy1iZWdyw6Ruc25pbmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgImRlbiBtanVrYSBncsOkbnNlbiAlcyBrYW4gaW50ZSDDtnZlcnN0aWdhIGRlbiBow6VyZGEgZ3LDpG5zZW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIk55ICVzLWJlZ3LDpG5zbmluZyBmw7ZyIHBpZCAlZDogIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgc3TDpGxsYSBpbiByZXN1cnNiZWdyw6Ruc25pbmcgZsO2ciAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGjDpG10YSByZXN1cnNiZWdyw6Ruc25pbmcgZsO2ciAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSAlcy1iZWdyw6Ruc25pbmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NTg0Cittc2dpZCAib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICJmbGFnZ2FuIC0tcGlkIGthbiBlbmRhc3QgYW5nZXMgZW4gZ8OlbmciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJlbmRhc3QgZW4gYXYgZmxhZ2dvcm5hIC0tcGlkIG9jaCBLT01NQU5ETyBrYW4gYW52w6RuZGFzIMOldCBnw6VuZ2VuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlZpc2EgaW5mb3JtYXRpb24gb20ga8Okcm5wcm9maWxlcmluZy5cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIgLW0sIC0tbWFwZmlsZSA8a2FydGZpbD4gICAoc3RhbmRhcmR2w6RyZGVuOiDigJ0lc+KAnSBvY2hcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA8cHJvZmlsPiAgICAoc3RhbmRhcmQ6ICDigJ0lc+KAnSlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc3TDpGxsIGluIHByb2ZpbGVyaW5nc211bHRpcGxpa2F0b3JuIHRpbGwgPG11bHQ+XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBza3JpdiBlbmRhc3QgdXQgaW5mb3JtYXRpb24gb20gc2FtcGxpbmdzc3RlZ2V0XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBza3JpdiB1dCB1dGbDtnJsaWcgZGF0YVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHNrcml2IHV0IGFsbGEgc3ltYm9sZXIsIMOkdmVuIG9tIGFudGFsIMOkciAwXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgc2tyaXYgdXQgYW50YWwgcGVyIGluZGl2aWR1ZWxsIGhpc3RvZ3JhbWtsYXNzXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBza3JpdiB1dCBpbmRpdmlkdWVsbGEgcsOka25hcmUgaW5vbSBmdW5rdGlvbmVyXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgw6V0ZXJzdMOkbGwgYWxsYSByw6RrbmFyZSAoZW5kYXN0IHJvb3QpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBpbmFrdGl2ZXJhIGF1dG9tYXRpc2sgaWRlbnRpZmllcmluZyBhdiBieXRlb3JkbmluZ1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiZmVsIHZpZCBza3Jpdm5pbmcgYXYgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MAorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIkFudGFyIG9tdsOkbmQgYnl0ZW9yZG5pbmcuIEFudsOkbmQgLW4gZsO2ciBhdHQgdHZpbmdhIGluYnlnZ2QgYnl0ZW9yZG5pbmcuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2FtcGxpbmdfc3RlcDogJXVcbiIKK21zZ3N0ciAiU2FtcGxpbmdzc3RlZzogJXVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSk6IGZlbGFrdGlnIGthcnRyYWQiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIOKAnV9zdGV4dOKAnSBpICVzIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozNDUKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgInByb2ZpbGFkcmVzcyDDpHIgdXRhbmbDtnIgaW50ZXJ2YWxsLiBGZWwga2FydGZpbD8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3RhbHQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgInByb2Nlc3MtSUQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgInByb2Nlc3NncnVwcC1JRCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdGV0PiBbLXB8LS1waWRdIDxwaWQ+4oCmXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdGV0PiAgLWd8LS1wZ3JwIDxwZ2lkPuKAplxuIgorIiAlMSRzIFstbl0gPHByaW9yaXRldD4gIC11fC0tdXNlciA8YW52w6RuZGFyZT7igKZcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICLDhG5kcmEgcHJpb3JpdGV0ZW4gZsO2ciBrw7ZyYW5kZSBwcm9jZXNzZXIuXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIGFuZ2UgbmljZS3DtmtuaW5nc3bDpHJkZXRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCittc2dpZCAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIHRvbGthIGFyZ3VtZW50IHNvbSBwcm9jZXNzLUlEIChzdGFuZGFyZClcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgdG9sa2EgYXJndW1lbnQgc29tIHByb2Nlc3NncnVwcHMtSURcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjc0Cittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXIgPG5hbW4+fDxpZD4gdG9sa2EgYXJndW1lbnQgc29tIGFudsOkbmRhcm5hbW4gZWxsZXIgYW52w6RuZGFyLUlEXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgcHJpb3JpdGV0IGbDtnIgJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gcHJpb3JpdGV0IGbDtnIgJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlZCAoJXMpIG9sZCBwcmlvcml0eSAlZCwgbmV3IHByaW9yaXR5ICVkXG4iCittc2dzdHIgIiVkICglcykgZ2FtbWFsIHByaW9yaXRldCAlZCwgbnkgcHJpb3JpdGV0ICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAib2dpbHRpZ3QgcHJpb3JpdGV0IOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAib2vDpG5kIGFudsOkbmRhcmUgJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJmZWxha3RpZ3QgJXMtdsOkcmRlOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiZW5oZXRzbmFtbiBpIGvDpHJuYSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMAorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIHZhbHVlIgorbXNnc3RyICJ2w6RyZGUgZsO2ciBlbmhldHNpZGVudGlmaWVyYXJlIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIm5hbW4gcMOlIGVuaGV0c3R5cCBzb20ga2FuIGFudsOkbmRhcyBzb20gaWRlbnRpZmllcmFyZSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorbXNnaWQgImRldmljZSB0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJlbmhldHN0eXBzYmVza3Jpdm5pbmciCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKK21zZ2lkICJzdGF0dXMgb2Ygc29mdHdhcmUgYmxvY2siCittc2dzdHIgInN0YXR1cyBmw7ZyIHByb2dyYW12YXJ1bMOlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzNAorbXNnaWQgInN0YXR1cyBvZiBoYXJkd2FyZSBibG9jayIKK21zZ3N0ciAic3RhdHVzIGbDtnIgaMOlcmR2YXJ1YmxvY2siCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgImthbiBpbnRlIHN0w6RsbGEgaW4gaWNrZS1ibG9ja2VyYW5kZSAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgImZlbGFrdGlnIHN0b3JsZWsgcMOlIHJma2lsbC1ow6RuZGVsc2U6ICV6dSA8ICVkIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwb2xsICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBmcsOlZ2EgJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgIm9naWx0aWcgaWRlbnRpZmllcmFyZSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAiYmxvY2tlcmFkIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgIm9ibG9ja2VyYWQiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIm9naWx0aWcgaWRlbnRpZmllcmFyZTogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBrb21tYW5kbyBbaWRlbnRpZmllcmFyZSDigKZdXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjkKK21zZ2lkICJUb29sIGZvciBlbmFibGluZyBhbmQgZGlzYWJsaW5nIHdpcmVsZXNzIGRldmljZXMuXG4iCittc2dzdHIgIlZlcmt0eWcgZsO2ciBhdHQgYWt0aXZlcmEgb2NoIGluYWt0aXZlcmEgdHLDpWRsw7ZzYSBlbmhldGVyLlxuIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorbXNnaWQgIiBoZWxwXG4iCittc2dzdHIgIiBoZWxwICAgICAgICAgICAgICAgICAgICAgIGhqw6RscFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIiBsaXN0ICAgW2lkZW50aWZpZXJdICAgICAgIGxpc3RhIFtpZGVudGlmaWVyYXJlXVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1Cittc2dpZCAiIGJsb2NrICAgaWRlbnRpZmllclxuIgorbXNnc3RyICIgYmxvY2sgICBpZGVudGlmaWVyYXJlICAgICAgICBibG9ja2VyYSBpZGVudGlmaWVyYXJlXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKK21zZ2lkICIgdW5ibG9jayBpZGVudGlmaWVyXG4iCittc2dzdHIgIiB1bmJsb2NrIGlkZW50aWZpZXJhcmUgICAgICAgIGF2YmxvY2tlcmEgaWRlbnRpZmllcmFyZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJHw6UgaW4gaSBldHQgc292bMOkZ2UgZsO2ciBzeXN0ZW1ldCBmcmFtIHRpbGwgZW4gYW5naXZlbiB1cHB2YWtuaW5nc3RpZC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDQKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgbMOkc2VyIGtsb2NrbMOkZ2V0IGZyw6VuIGp1c3RlcmluZ3NmaWwgKHN0YW5kYXJkKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsPiAgICAgIGFuZ2VyIHPDtmt2w6RnZW4gdGlsbCBqdXN0ZXJpbmdzZmlsZW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RhbmRhcmQgw6RyICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPHRpZHNzdMOkbXBlbD4gZGF0dW0gb2NoIHRpZCBmw7ZyIHVwcHZha25pbmdzdGlkc3N0w6RtcGVsXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIC1kLCAtLWRldmljZSA8ZW5oZXQ+ICAgICB2w6RsaiBydGMtZW5oZXQgKHJ0YzB8cnRjMXzigKYpXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZ8O2ciBhbGx0aW5nLCBmw7ZydXRvbSBhdHQgZ8OlIGkgdmlsb2zDpGdlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyBhbnbDpG5kZXIgbG9rYWwgdGlkc3pvblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0YSB0aWxsZ8OkbmdsaWdhIGzDpGdlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPGzDpGdlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwLWzDpGdlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxzZWt1bmRlcj4gc2VrdW5kZXIgdGlsbHMgdmlsYVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aWRfdD4gICAgICAgdGlkIGF0dCB2YWtuYSB1cHBcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBhbnbDpG5kZXIgVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdXRmw7ZybGlnYSBtZWRkZWxhbmRlblxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJsw6RzbmluZyBhdiBydGMtdGlkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAibMOkc25pbmcgYXYgc3lzdGVtdGlkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKK21zZ2lkICJjb252ZXJ0IHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAia29udmVydGVyaW5nIGF2IHJ0Yy10aWQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgImluc3TDpGxsbmluZyBhdiBydGMtdXBwdmFrbmluZ3NhbGFybSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgImthc3NlcmluZ3NqdXN0ZXJpbmdzcG9zaXRpb24iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJvdsOkbnRhZCB0cmVkamUgcmFkIGk6ICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKK21zZ2lkICJyZWFkIHJ0YyBhbGFybSBmYWlsZWQiCittc2dzdHIgImzDpHNuaW5nIGF2IHJ0Yy1hbGFybSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAiYWxhcm06IGF2XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAia29udmVydGVyaW5nIGF2IHJ0Yy10aWQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJhbGFybTogcMOlICAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhOiAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIKK21zZ3N0ciAib2vDpG50IHZpbG9sw6RnZXN0aWxsc3TDpW5kIOKAnSVz4oCdIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAib2dpbHRpZ3Qgc2VrdW5kYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCB0aWRzYXJndW1lbnQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVzOiBhbnRhciBhdHQgUlRDIGFudsOkbmRlciBVVEMg4oCmXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI5Cittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIkFudsOkbmRlciBVVEMtdGlkLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIkFudsOkbmRlciBsb2thbHRpZC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzMKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAibcOlc3RlIHRpbGxoYW5kYWjDpWxsYSB1cHB2YWtuaW5nc3RpZCAoc2UgLS1zZWNvbmRzLCAtLXRpbWUgb2NoIC0tZGF0ZS1mbGFnZ29ybmEpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMgw6RyIGludGUgYWt0aXZlcmFkIGbDtnIgdXBwdmFrbmluZ3Now6RuZGVsc2VyIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNla3VuZGVyICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAidGlkZW4gZ8OlciBpbnRlIGJha2zDpG5nZXMgdGlsbCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IHVwcHZha25pbmcgdmlhICVzIHZpZCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXM6IHVwcHZha25pbmcgZnLDpW4g4oCdJXPigJ0gdmlhICVzIHZpZCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJ2aWxvbMOkZ2U6IG5lajsgbMOkbW5hclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgInZpbG9sw6RnZTogYXY7IGV4ZWt2ZXJhciAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJ2aWxvbMOkZ2U6IHDDpTsgbMOkc2VyIHJ0Y1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAibMOkc25pbmcgYXYgcnRjIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAidmlsb2zDpGdlOiBpbmFrdGl2ZXJhOyBpbmFrdGl2ZXJhciBhbGFybVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAidmlsb2zDpGdlOiB2aXNhOyBza3JpdiB1dCBhbGFybWluZm9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAidmlsb2zDpGdlOiAlczsgZsO2cnPDpHR0ZXIgc3lzdGVtIGkgdmlsb2zDpGdlXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAiaW5ha3RpdmVyaW5nIGF2IHJ0Yy1hbGFybWF2YnJvdHQgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAiU2zDpXIgcMOlICVzLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgPGFyaz4gW2ZsYWdnb3JdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD7igKZdXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiw4RuZHJhIHJhcHBvcnRlcmFkIGFya2l0ZWt0dXIgb2NoIHN0w6RsbCBpbiBwZXJzb25saWdoZXRzZmxhZ2dvci5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OAorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHNsw6VyIHDDpSBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgZsOlciBmdW5rdGlvbnNwZWthcmUgYXR0IHBla2EgcMOlIGRlc2tyaXB0b3JlclxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICBzbMOlciBww6UgU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCDDpG5kcmFyIHPDpHR0ZXQgcMOlIHZpbGtldCB2aXJ0dWVsbHQgbWlubmUgYWxsb2tlcmFzXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBpbmFrdGl2ZXJhciBzbHVtcG3DpHNzaWdoZXQgaSBkZW4gdmlydHVlbGxhIGFkcmVzc3J5bWRlblxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHNsw6VyIHDDpSBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBzbMOlciBww6UgU1RJQ0tZX1RJTUVPVVRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHNsw6VyIHDDpSBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBzbMOlciBww6UgTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgYmVncsOkbnNhciBkZW4gYW52w6RuZGEgYWRyZXNzcnltZGVuIHRpbGwgbWF4aW1hbHQgMyBHQlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBob3BwYXMgw7Z2ZXIgKGVuZGFzdCBmw7ZyIGJha8OldGtvbXBhdGliaWxpdGV0KVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHNsw6VyIHDDpSBVTkFNRTI2XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlcsOkdHRhIHZpbGthIGZsYWdnb3Igc29tIHNsw6VzIHDDpVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMworbXNnaWQgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3RhIGluc3TDpGxsbmluZ3NiYXJhIGFya2l0ZWt0dXJlciBvY2ggYXZzbHV0YVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXM6IEFya2l0ZWt0dXJlbiDDpHIgb2vDpG5kIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIkvDpHJuYSBrYW4gaW50ZSBzdMOkbGxhIGluIGFya2l0ZWt0dXIgcMOlICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI4NgorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJJbnRlIHRpbGxyw6Rja2xpZ3QgbcOlbmdhIGFyZ3VtZW50IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI5NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJNaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBlcnNvbmxpZ2hldCB0aWxsICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIm9rw6RuZCBmbGFnZ2Eg4oCdLS1saXN04oCdIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2OAorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgImluZ2V0IGFya2l0ZWt0dXJhcmd1bWVudCBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHBlcnNvbmxpZ2hldCB0aWxsICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAiRXhla3ZlcmEga29tbWFuZG8g4oCdJXPigJ0uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxwcm9ncmFtPiBbPGFyZ3VtZW50PuKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiS8O2ciBldHQgcHJvZ3JhbSBtZWQgYW5kcmEgcsOkdHRpZ2hldHNpbnN0w6RsbG5pbmdhci5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjIKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjKVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHZpc2EgYWt0dWVsbHQgdGlsbHN0w6VuZCAob2NoIGvDtnIgaW50ZSBuw6Vnb3QpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGbDtnJianVkIGJldmlsamFuZGUgYXYgbnlhIHLDpHR0aWdoZXRlclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNAorbXNnaWQgIiAtLWFtYmllbnQtY2FwcyA8Y2FwcywuLi4+ICAgc2V0IGFtYmllbnQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWFtYmllbnQtY2FwcyA8ZsO2cm0s4oCmPiAgICAgc3TDpGxsIGluIGFsbG3DpG5uYSBmw7ZybcOlZ29yXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDxmw7ZybSzigKY+ICAgICAgICAgc3TDpGxsIGluIGbDtnJtw6Vnb3Igc29tIGthbiDDpHJ2YXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjYKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPGbDtnJtPiAgICAgICBzdMOkbGwgaW4gYmVncsOkbnNuaW5nc3VwcHPDpHR0bmluZyBmw7ZyIGbDtnJtw6Vnb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjcKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHN0w6RsbCBpbiB2ZXJrbGlndCB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjgKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc3TDpGxsIGluIGVmZmVrdGl2dCB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjkKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHN0w6RsbCBpbiB2ZXJrbGlndCBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc3TDpGxsIGluIGVmZmVrdGl2dCBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzEKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc3TDpGxsIGluIHZlcmtsaWd0IG9jaCBlZmZla3RpdnQgdWlkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHN0w6RsbCBpbiB2ZXJrbGlndCBvY2ggZWZmZWt0aXZ0IGdpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMworbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICB0w7ZtIHRpbGzDpGdnc2dydXBwZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBiZWjDpWxsIHRpbGzDpGdnc2dydXBwZXJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbml0aWFsaXNlcmEgdGlsbMOkZ2dzZ3J1cHBlclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWdyb3VwcyA8Z3J1cHAs4oCmPiAgICAgICAgICBzdMOkbGwgaW4gdGlsbMOkZ2dzZ3J1cHBlclxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA8Yml0YXI+ICAgICAgICBzdMOkbGwgaW4gc8Oka3JhIGJpdGFyXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4Cittc2dpZCAiIC0tc2VsaW51eC1sYWJlbCA8bGFiZWw+ICAgICBzZXQgU0VMaW51eCBsYWJlbFxuIgorbXNnc3RyICIgLS1zZWxpbnV4LWxhYmVsIDxldGlrZXR0PiAgIHN0w6RsbCBpbiBTRUxpbnV4LWV0aWtldHRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzkKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gICAgIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc3TDpGxsIGluIEFwcEFybW9yLXByb2ZpbFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIgRGV0dGEgdmVya3R5ZyBrYW4gdmFyYSBmYXJsaWd0LiBMw6RzIG1hbnVhbHNpZGEgb2NoIHZhciBmw7Zyc2lrdGlnLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE4NworbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJmZWxha3RpZyBmw7ZybcOlZ2V0eXAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjM5IHN5cy11dGlscy9zZXRwcml2LmM6NTUyCittc2dpZCAiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIKK21zZ3N0ciAiYXR0IGjDpG10YSBwcm9jZXNzZW5zIHPDpGtyYSBiaXRhciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiU8Oka3JhIGJpdGFyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJbaW5nZW5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IGbDtnIgbMOlbmd0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJUaWxsw6RnZ3NncnVwcGVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltpbmdlbl0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU0IHN5cy11dGlscy9zZXRwcml2LmM6NDYwCittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzZ2lkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJFZmZla3RpdmEgZsO2cm3DpWdvcjogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIlRpbGzDpXRuYSBmw7ZybcOlZ29yOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJGw7ZybcOlZ29yIHNvbSBrYW4gw6RydmFzOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFtYmllbnQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkFsbG3DpG5uYSBmw7ZybcOlZ29yOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIltzdMO2ZHMgaW50ZV0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgIkbDtnJtw6VnZWJlZ3LDpG5zbmluZ2FyIGluc3TDpGxsZGE6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozOTcKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJTRUxpbnV4LWV0aWtldHQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiQXBwQXJtb3ItcHJvZmlsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgImNhcCAlZDogbGliY2FwLW5nIMOkciB0cmFzaWciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICJPZ2lsdGlndCBJRCBmw7ZyIHRpbGzDpGdnc2dydXBwIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MworbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc3VpZCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDY4Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgImbDtnJtw6VnZXR5cCBzdMO2ZHMgaW50ZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgImZlbGFrdGlnIGbDtnJtw6VnZXN0csOkbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAibGliY2FwLW5nIMOkciBhbGx0IGbDtnIgZ2FtbWFsIGbDtnIg4oCdYWxs4oCdIGbDtnJtw6Vnb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIm9rw6RuZCBmw7ZybcOlZ2Eg4oCdJXPigJ0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICJva8OkbmQgc8Oka2VyIGJpdCBpbnN0w6RsbGQgLS0gdsOkZ3JhciBhdHQganVzdGVyYSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgImZlbGFrdGlnIHN0csOkbmcgZsO2ciBzw6RrcmEgYml0YXIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTcyCittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICIrYWxsIHPDpGtyYSBiaXRhciB0aWxsw6V0cyBpbnRlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiYXR0IGp1c3RlcmEga2VlcF9jYXBzIGdlciBpbmdlbiBtZW5pbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAib2vDpG5kIHNlY3VyZWJpdCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4IGvDtnIgaW50ZSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3TDpG5nbmluZyBtaXNzbHlja2FkZXM6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciBrw7ZyIGludGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzc1Cittc2dpZCAiZHVwbGljYXRlIC0tbm8tbmV3LXByaXZzIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLW5vLW5ldy1wcml2cyBkdXBsaWNlcmFkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICJkdXBsaWNlcmF0IHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkwCittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgImR1cGxpY2VyYXQgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICJkdXBsaWNlcmF0IHJ1aWQgZWxsZXIgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICJkdXBsaWNlcmF0IHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgImR1cGxpY2VyYXQgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICJkdXBsaWNlcmF0IHJnaWQgZWxsZXIgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIHJlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImZsYWdnYW4gLS1jbGVhci1ncm91cHMgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgImZsYWdnYW4gLS1rZWVwLWdyb3VwcyBkdXBsaWNlcmFkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLWluaXQtZ3JvdXBzIGR1cGxpY2VyYWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLWdyb3VwcyBkdXBsaWNlcmFkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLWluaC1jYXBzIGR1cGxpY2VyYWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5Cittc2dpZCAiZHVwbGljYXRlIC0tYW1iaWVudC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLWFtYmllbnQtY2FwcyBkdXBsaWNlcmFkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg2NQorbXNnaWQgImR1cGxpY2F0ZSAtLWJvdW5kaW5nLXNldCBvcHRpb24iCittc2dzdHIgImZsYWdnYW4gLS1ib3VuZGluZy1zZXQgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLXNlY3VyZWJpdHMgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzcKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLXNlbGludXgtbGFiZWwgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4ODMKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiZmxhZ2dhbiAtLWFwcGFybW9yLXByb2ZpbGUgZHVwbGljZXJhZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIi0tZHVtcCDDpHIgaW5rb21wYXRpYmVsIG1lZCBhbGxhIGFuZHJhIGZsYWdnb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIG3DpXN0ZSBhbmdlcyBlbnNhbSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAiSW5nZXQgcHJvZ3JhbSBhbmdpdmV0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCBrcsOkdmVyIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzIGVsbGVyIC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIi0taW5pdC1ncm91cHMga3LDpHZlciAtLXJ1aWQgZWxsZXIgLS1yZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkICVsZCBub3QgZm91bmQsIC0taW5pdC1ncm91cHMgcmVxdWlyZXMgYW4gdXNlciB0aGF0IGNhbiBiZSBmb3VuZCBvbiB0aGUgc3lzdGVtIgorbXNnc3RyICJ1aWQgJWxkIGhpdHRhZGVzIGludGUsIC0taW5pdC1ncm9wdXMga3LDpHZlciBlbiBhbnbDpG5kYXJlIHNvbSBrYW4gaGl0dGFzIHDDpSBzeXN0ZW1ldCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgImF0dCBmw7ZyYmp1ZGEgYmV2aWxqYW5kZSBhdiBueWEgcsOkdHRpZ2hldGVyIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiYXR0IGJlaMOlbGxhIHByb2Nlc3Nmw7ZybcOlZ29yIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDgKK21zZ2lkICJhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgImFrdGl2ZXJhIGbDtnJtw6Vnb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTU0Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIsOldGVyYWt0aXZlcmEgZsO2cm3DpWdvciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAiaW5pdGdyb3VwcyBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgImluc3TDpGxsbmluZyBhdiBwcm9jZXNzZW5zIHPDpGtyYS1iaXRhciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJ0aWxsw6RtcGFyIGJlZ3LDpG5zbmluZ3N1cHBzw6R0dG5pbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJ0aWxsw6RtcGFyIGbDtnJtw6Vnb3IiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8cHJvZ3JhbT4gW2FyZ3VtZW50IOKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICJLw7ZyIGV0dCBwcm9ncmFtIGkgZW4gbnkgc2Vzc2lvbi5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICBzdMOkbGwgaW4ga29udHJvbGxlcmFuZGUgdGVybWluYWwgdGlsbCBkZW4gYWt0dWVsbGFcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICB0dmluZ2Ega29udHJvbGxcbiIKKworIyBzZWJyYXM6IGF3YWl0IHByb2dyYW0gdG8uLi4KKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgICAgIHbDpG50YSBww6UgYXR0IHByb2dyYW0gYXZzbHV0YXIsIGFudsOkbmQgc2FtbWEgYXZzbHV0bmluZ3NzdGF0dXNcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwMAorbXNnaWQgImZvcmsiCittc2dzdHIgImdyZW4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJiYXJuICVkIGF2c2x1dGFkZXMgaW50ZSBub3JtYWx0IgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTE3Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0c2lkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGRlbiBrb250cm9sbGVyYW5kZSB0ZXJtaW5hbGVuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAic3dhcG9mZiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNAorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJJbnRlIHN1cGVyYW52w6RuZGFyZS4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHN3YXBvZmYgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPHNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkluYWt0aXZlcmEgZW5oZXRlciBvY2ggZmlsZXIgZsO2ciB2w6R4bGluZy5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgaW5ha3RpdmVyYSBhbGxhIHbDpHhsaW5nc3l0b3IgaSAgL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB1dGbDtnJsaWd0IGzDpGdlXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM0Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisiPHNwZWM+LXBhcmFtZXRlcm46XG4iCisiIC1MIDxldGlrZXR0PiAgICAgICAgICAgRVRJS0VUVCBmw7ZyIGVuaGV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCBmw7ZyIGVuaGV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgRVRJS0VUVCBmw7ZyIGVuaGV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgVVVJRCBmw7ZyIGVuaGV0IHNvbSBza2EgYW52w6RuZGFzXG4iCisiIDxlbmhldD4gICAgICAgICAgICAgICAgbmFtbiBww6UgZW5oZXQgc29tIHNrYSBhbnbDpG5kYXNcbiIKKyIgPGZpbD4gICAgICAgICAgICAgICAgICBuYW1uIHDDpSBmaWwgc29tIHNrYSBhbnbDpG5kYXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgImVuaGV0c2ZpbCBlbGxlciBwYXJ0aXRpb25zc8O2a3bDpGciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAidHlwIGF2IGVuaGV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgInN0b3JsZWsgcMOlIHbDpHhsaW5nc3l0YW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiYnl0ZSBzb20gYW52w6RuZHMiCisKKyMgRGV0dGEgw6RyIHN5c3RlbWFucm9wIChzZXRwcmlvcml0eSgyKSkKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDAKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICJ2w6R4bGluZ3Nwcmlvcml0ZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgInbDpHhsaW5ncy1VVUlEIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAyCittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAidsOkeGxpbmdzZXRpa2V0dCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx0VHlwXHRcdFN0b3JsZWtcdEFudsOkbnRcdFByaW9yaXRldFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIkZpbG5hbW4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IMOldGVyaW5pdGllcmEgdsOkeGxpbmdzeXRhbi4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGxzZWVrIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHNrcml2bmluZyBhdiBzaWduYXR1ciBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IGhvcHBhciDDtnZlciAtIGRlbiB2ZXJrYXIgaGEgaMOlbC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGjDpG10bmluZyBhdiBzdG9ybGVrIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiBpbmzDpHNuaW5nIGF2IHbDpHhsaW5nc2h1dnVkIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6IGhpdHRhZGUgc2lnbmF0dXIgW3NpZHN0b3JsZWs9JWQsIHNpZ25hdHVyPSVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6IHNpZHN0b3JsZWs9JWQsIHbDpHhsaW5nc3N0b3JsZWs9JWxsdSwgZW5oZXRzc3Rvcmxlaz0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlczogc2lzdGFfc2lkYSAweCUwOGxseCDDpHIgc3TDtnJyZSDDpG4gZGVuIHZlcmtsaWdhIHN0b3JsZWtlbiBmw7ZyIHbDpHhsaW5nc3V0cnltbWV0IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iCittc2dzdHIgIiVzOiBzaWRzdG9ybGVrIGbDtnIgdsOkeGxpbmdzZm9ybWF0IHN0w6RtbWVyIGludGUuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiBzaWRzdG9ybGVrIGbDtnIgdsOkeGxpbmdzZm9ybWF0IHN0w6RtbWVyIGludGUuIChBbnbDpG5kIC0tZml4cGdzeiBmw7ZyIGF0dCDDpXRlcmluaXRpZXJhIGRlbi4pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogcHJvZ3JhbW1hdGlzayB2aWxvbMOkZ2VzZGF0YSBpZGVudGlmaWVyYWQuIFNrcml2ZXIgb20gdsOkeGxpbmdzc2lnbmF0dXJlbi4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgInN3YXBvbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlczogc3dhcG9uIG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogbm9hdXRvLWZsYWdnYSAtLWhvcHBhcyDDtnZlciIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IHJlZGFuIGFrdGl2IC0tIGhvcHBhcyDDtnZlciIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBvdGlsbGfDpG5nbGlnIC0tIGhvcHBhcyDDtnZlciIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiQWt0aXZlcmEgZW5oZXRlciBvY2ggZmlsZXIgZsO2ciB2w6R4bGluZy5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBha3RpdmVyYSBhbGxhIHbDpHhsaW5nc29tcsOlZGVuIGkgL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGFrdGl2ZXJhIHbDpHhsaW5nc2thc3NlcmluZ2FyLCBvbSBkZXQgc3TDtmRzIGF2IGVuaGV0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIGhvcHBhIGkgdHlzdGhldCDDtnZlciBlbmhldGVyIHNvbSBpbnRlIGV4aXN0ZXJhclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgw6V0ZXJpbml0aWVyYSB2w6R4bGluZ3N1dHJ5bW1ldCBvbSBkZXQgYmVow7Z2c1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGxpc3RhPiAgICBrb21tYXNlcGFyZXJhZCBsaXN0YSDDtnZlciB2w6R4bGluZ3NmbGFnZ29yXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIGFuZ2UgcHJpb3JpdGV0ZW4gZsO2ciB2w6R4bGluZ3NlbmhldGVuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICB2aXNhIHNhbW1hbmZhdHRuaW5nIG9tIGFudsOkbmRhIHbDpHhsaW5nc2VuaGV0ZXIgKEbDllLDhUxEUkFEKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiAgICAgLS1zaG93Wz08a29sdW1uZXI+XSAgdmlzYSBzYW1tYW5mYXR0bmluZyBpIGRlZmluaWVyYmFyIHRhYmVsbFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA4Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBza3JpdiBpbnRlIHV0IHRhYmVsbHJ1YnJpa2VyIChtZWQgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICBhbnbDpG5kIHLDpXR0IHV0bWF0bmluZ3Nmb3JtYXQgKG1lZCAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTAKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICB2aXNhIHbDpHhsaW5nc3N0b3JsZWsgaSBieXRlIGkgdXRza3JpZnQgZnLDpW4gLS1zaG93XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHV0ZsO2cmxpZ3QgbMOkZ2VcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjxzcGVjPi1wYXJhbWV0ZXJuOlxuIgorIiAtTCA8ZXRpa2V0dD4gICAgICAgICAgIHN5bm9ueW0gZsO2ciBMQUJFTD08ZXRpa2V0dD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGbDtnIgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGV0aWtldHQ+ICAgICAgICBhbmdlciBlbmhldCBmw7ZyIHbDpHhsaW5nc3l0YSB2aWEgZXRpa2V0dFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIGFuZ2VyIGVuaGV0IGbDtnIgdsOkeGxpbmdzeXRhIHZpYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08ZXRpa2V0dD4gICAgYW5nZXIgZW5oZXQgdmlhIHBhcnRpdGlvbnNldGlrZXR0XG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgYW5nZXIgZW5oZXQgdmlhIHBhcnRpdGlvbnMtVVVJRFxuIgorIiA8ZW5oZXQ+ICAgICAgICAgICAgICAgIG5hbW4gcMOlIGVuaGV0ZW4gc29tIHNrYSBhbnbDpG5kYXNcbiIKKyIgPGZpbD4gICAgICAgICAgICAgICAgICBuYW1uIHDDpSBmaWxlbiBzb20gc2thIGFudsOkbmRhc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiVGlsbGfDpG5nbGlnYSBrYXNzZXJpbmdzcG9saWN5dHlwZXIgKGbDtnIgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IHV0cnltbWVza2Fzc2VyaW5nYXIgc2tpY2thcyBlbmRhc3QgdXQgZW4gZ8OlbmdcbiIKKyIgcGFnZXMgICA6IGZyaWdqb3JkYSBzaWRvciBrYXNzZXJhcyBpbm5hbiBkZSDDpXRlcmFudsOkbmRzXG4iCisiT20gaW5nZW4gcG9saWN5IHbDpGxqcyBrb21tZXIgYsOlZGEga2Fzc2VyaW5nc3R5cGVybmEgYXR0IGFrdGl2ZXJhcyAoc3RhbmRhcmQpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBwcmlvcml0ZXQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJrYXNzZXJpbmdzcG9saWN5IHN0w7ZkcyBlajogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIGVuaGV0ZW4gZsO2ciAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IMO2cHBuYSBrYXRhbG9nIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2OAorbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICJzdGF0IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIGthdGFsb2ciCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhdmzDpG5rYSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IG1vbnRlcmEgdmlkIGZseXR0ICVzIHRpbGwgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgImbDtnJzw7ZrZXIgdHZpbmdhIGF2bW9udGVyaW5nIGF2ICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IMOkbmRyYSBrYXRhbG9nIHRpbGwgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IG1vbnRlcmEgdmlkIGZseXR0ICVzIHRpbGwgLyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTc5Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCDDpG5kcmEgcm90IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgImdhbW1hbHQgcm90Zmlsc3lzdGVtIMOkciBpbnRlIGV0dCBpbml0cmFtZnMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8bnlyb3RrYXQ+IDxpbml0PiA8YXJndW1lbnQgdGlsbCBpbml0PlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDkKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICJWw6R4bGEgdGlsbCBldHQgYW5uYXQgZmlsc3lzdGVtIHNvbSByb3QgaSBtb250ZXJpbmdzdHLDpGRldC5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIm1pc3NseWNrYWRlcy4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICJrYW4gaW50ZSBrb21tYSDDpXQgJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIlN0w6RsbCBpbiBkaXZlcnNlIHBhcmFtZXRyYXIgZsO2ciByYWRza3JpdmFyZW4uXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIGFuZ2UgaXJxIGbDtnIgcGFyYWxsZWxscG9ydFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAyCittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgdsOkbnRldGlkIGbDtnIgZHJpdnJ1dGluIGkgbWlsbGlzZWt1bmRlclxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAzCittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBhbnRhbCB1dG1hdG5pbmdzdGVja2VuIGlubmFuIGbDtnJkcsO2am5pbmdcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2J2w6RudGFuIGkgbWlrcm9zZWt1bmRlclxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhdmJyeXQgdmlkIGZlbFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGtvbnRyb2xsZXJhIHNrcml2YXJlbnMgc3RhdHVzIGlubmFuIHV0c2tyaWZ0XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgZ3J1bmRsaWcgc3RhdHVza29udHJvbGxcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIGZyw6VnYSBlZnRlciBza3JpdmFyc3RhdHVzXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDDpXRlcnN0w6RsbCBwb3J0ZW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICB2aXNhIGFrdHVlbGwgaXJxLWluc3TDpGxsbmluZ1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIMOkciBpbmdlbiBscC1lbmhldCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJMUEdFVFNUQVRVUy1mZWwiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICJzdGF0dXNlbiBmw7ZyICVzIMOkciAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIiwgdXBwdGFnZW4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCByZWRvIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIHNsdXQgcMOlIHBhcHBlciIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgaW5rb3BwbGFkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgZmVsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk4Cittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiTFBHRVRJUlEtZmVsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyBhbnbDpG5kZXIgSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyBhbnbDpG5kZXIgcG9sbG5pbmdcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtmbGFnZ29yXVxuIgorIiAlMSRzIFtmbGFnZ29yXSA8a8OkbGxhPiB8IDxrYXRhbG9nPlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODUKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICJBdm1vbnRlcmEgZmlsc3lzdGVtLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGF2bW9udGVyYSBhbGxhIGZpbHN5c3RlbVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAgYXZtb250ZXJhciBhbGxhIG1vbnRlcmluZ3NwdW5rdGVyIGbDtnIgZGVuIGFuZ2l2bmEgZW5oZXRlbiBpXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYWt0dWVsbCBuYW1ucnltZFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBnw7ZyIGludGUgc8O2a3bDpGdhciBrYW5vbmlza2FcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBvbSBkZXQgw6RyIGVuIG1vbnRlcmFkIGxvb3BlbmhldCwgZnJpZ8O2ciBvY2tzw6UgZGVubmEgbG9vcGVuaGV0XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgdG9ycmvDtnJuaW5nOyBob3BwYSDDtnZlciBzeXN0ZW1hbnJvcGV0IHVtb3VudCgyKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgdHZpbmdhIGF2bW9udGVyaW5nIChpIGZhbGxldCBtZWQgZXR0IG9uw6ViYXJ0IE5GUy1zeXN0ZW0pXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGFucm9wYSBpbnRlIGhqw6RscGFybmEgdW1vdW50Ljx0eXA+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NworbXNnaWQgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGzDtnNnw7ZyIGZpbHN5c3RlbWV0IG51LCBzdMOkZGEgdXBwIHNlbmFyZVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RhPiBiZWdyw6Ruc2EgbcOkbmdkZW4gZmlsc3lzdGVtIChhbnbDpG5kIG1lZCAtYSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICBhdm1vbnRlcmEgZXR0IG3DpWwgcmVrdXJzaXZ0IG1lZCBhbGxhIGRlc3MgYmFyblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBvbSBhdm1vbnRlcmluZyBtaXNzbHlja2FzLCBmw7Zyc8O2ayBhdHQgw6V0ZXJtb250ZXJhIHNrcml2c2t5ZGRhdFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RhPiAgICAgYmVncsOkbnNhIHVwcHPDpHR0bmluZ2VuIGF2IGZpbHN5c3RlbXN0eXBlclxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpIGF2bW9udGVyYWQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlcyBhdm1vbnRlcmFkIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjA3Cittc2dpZCAiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIG3DpWwgZsO2ciB1bW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAidGFiZWxsYWxsb2tlcmluZyBmw7ZyIGxpYm1vdW50IG1pc3NseWNrYWRlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImFsbG9rZXJpbmcgYXYgbGlibW91bnQtaXRlcmF0b3IgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjcyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBhdHQgaMOkbXRhIGJhcm5maWxzeXN0ZW0gZsO2ciAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzIGhpdHRhZGVzIGludGUiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgaWRlbnRpZmllcmEga8OkbGxhICgtLWFsbC10YXJnZXQgc3TDtmRzIGludGUgcMOlIHN5c3RlbSBtZWQgZW4gdmFubGlnIG10YWItZmlsKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiYXJndW1lbnRldCDigJ0lc+KAnSB0aWxsIC0tc2V0Z3JvdXBzIHN0w7ZkcyBpbnRlIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgIndyaXRlIG1pc3NseWNrYWRlcyAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgInByb3BhZ2VyaW5nc2zDpGdlIHN0w7ZkcyBpbnRlOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAia2FuIGludGUgw6RuZHJhIHByb3BhZ2VyaW5nIGbDtnIgcm90Zmlsc3lzdGVtIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIm1vbnRlcmluZyBhdiAlcyBww6UgJXMgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAia2FuIGludGUga8O2cmEgc3RhdCAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAicsO2cmxlZG5pbmcgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIHLDtnJsZWRuaW5nIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICJLw7ZyIGV0dCBwcm9ncmFtIG1lZCBuw6VncmEgbmFtbnJ5bWRlciBzb20gaW50ZSBkZWxhcyBhdiBmw7Zyw6RsZGVybi5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08ZmlsPl0gICAgICAgZGVsYSBpbnRlIG5hbW5yeW1kIGbDtnIgbW9udGVyaW5nYXJcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTYKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGZpbD5dICAgICAgICAgZGVsYSBpbnRlIG5hbW5yeW1kIGbDtnIgVVRTICh2w6RyZG5hbW4gZXRjKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08ZmlsPl0gICAgICAgICBkZWxhIGludGUgbmFtbnJ5bWQgZsO2ciBTeXN0ZW0gVi1JUENcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxmaWw+XSAgICAgICAgIGRlbGEgaW50ZSBuYW1ucnltZCBmw7ZyIG7DpHR2ZXJrXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxmaWw+XSAgICAgICAgIGRlbGEgaW50ZSBuYW1ucnltZCBmw7ZyIHBpZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTxmaWw+XSAgICAgICAgZGVsYSBpbnRlIG5hbW5yeW1kIGbDtnIgYW52w6RuZGFyZVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gICAgIHVuc2hhcmUgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUMsIC0tY2dyb3VwWz08ZmlsPl0gICAgICBkZWxhIGludGUgbmFtbnJ5bWQgZsO2ciBjZ3JvdXBcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGdyZW5hIGlubmFuIHN0YXJ0IGF2IDxwcm9ncmFtPlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz08a2F0Pl0gIG1vbnRlcmEgcHJvYy1maWxzeXN0ZW0gZsO2cnN0IChtZWRmw7ZyIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwcGEgYWt0dWVsbCBhbnbDpG5kYXJlIHRpbGwgcm9vdCAobWVkZsO2ciAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY2Cittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZpZXJhIG1vbnRlcmluZ3Nwcm9wYWdlcmluZyBpIG5hbW5yeW1kIGbDtnIgbW9udGVyaW5nXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBzdHlyIHN5c3RlbWFucm9wZXQgc2V0Z3JvdXBzIGkgbmFtbnJ5bWRlbiBmw7ZyIGFudsOkbmRhcmVcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDEKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAidW5zaGFyZSBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDQ1Cittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgImF2c2x1dG5pbmcgYXYgYmFybiBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU0Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgImZsYWdnb3JuYSAtLXNldGdyb3Vwcz1hbGxvdyBvY2ggLS1tYXAtcm9vdC11c2VyIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICJtb250ZXJpbmcgYXYgJXMgbWlzc2x5Y2thZGVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICJLb3J0IHNvbSB0aWRpZ2FyZSBzdGFydGFkZSBvbSBDUFU6biIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJFeHRlcm50IHJlbMOkIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiRXh0ZXJudCByZWzDpCAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIkZsw6RrdCBtaXNzbHlja2FkZXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICJQaW5nLXN2YXIgZsO2ciBhdHQgaMOlbGxhcyB2aWQgbGl2IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIkhhciBzdMO2ZCBmw7ZyIG1hZ2lza3QgYXZzdMOkbmduaW5nc3RlY2tlbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICJPbXN0YXJ0IHDDpSBncnVuZCBhdiDDtnZlcmhldHRhZCBDUFUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICLDlnZlcnNww6RubmluZyBpIHN0csO2bW1hdG5pbmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJEw6VsaWcgc3Ryw7ZtL3N0csO2bWZlbCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiRsO2cnRpZHNncsOkbnMgKGkgc2VrdW5kZXIpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiU3TDpGxsIGluIHRpZHNncsOkbnMgKGkgc2VrdW5kZXIpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiVXRsw7ZzIGludGUgb21zdGFydCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICJmbGFnZ25hbW4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgImZsYWdnYmVza3Jpdm5pbmciCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICJmbGFnZ3N0YXR1cyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiZmxhZ2dhIGbDtnIgc3RhcnRiYXJoZXQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJlbmhldHNuYW1uIGbDtnIgdmFrdGh1bmQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICJva8OkbmQgZmxhZ2dhOiAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc4Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiVmlzYSBzdGF0dXMgZsO2ciBow6VyZHZhcnV2YWt0aHVuZC5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0YT4gICAgc2tyaXYgZW5kYXN0IHV0IHZhbGRhIGZsYWdnb3JcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBza3JpdiBpbnRlIHV0IGluZm9ybWF0aW9uIG9tIGZsYWdnb3JcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBza3JpdiBpbnRlIHV0IGluZm9ybWF0aW9uIG9tIHZha3RodW5kc2lkZW50aXRldFxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIHNrcml2IGludGUgdXQgcnVicmlrZXIgZsO2ciBmbGFnZ3RhYmVsbFxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHNrcml2IHV0IGFsbCBpbmZvcm1hdGlvbiBww6UgZW4gcmFkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGE+ICAgc2tyaXYgdXQga29sdW1uZXJuYSBmw7ZyIGZsYWdnb3JuYVxuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIGFudsOkbmQgcsOldHQgdXRtYXRuaW5nc2Zvcm1hdCBmw7ZyIGZsYWdndGFiZWxsXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgc2tyaXYgaW50ZSB1dCB0aWRzZ3LDpG5zZXIgZsO2ciB2YWt0aHVuZFxuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWs+IHN0w6RsbCBpbiB0aWRzZ3LDpG5zIGbDtnIgdmFrdGh1bmRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBza3JpdiBlbmRhc3QgdXQgZmxhZ2d0YWJlbGwgKHNhbW1hIHNvbSAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiU3RhbmRhcmRlbmhldGVuIMOkciAlcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6IG9rw6RuZGEgZmxhZ2dvciAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMCBzeXMtdXRpbHMvd2RjdGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiB2YWt0aHVuZCBhbnbDpG5kcyByZWRhbiwgYXZzbHV0YXIuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMzQgc3lzLXV0aWxzL3dkY3RsLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlczogbWlzc2x5Y2thZGVzIG1lZCBhdHQgYXZ2w6RwbmEgdmFrdGh1bmQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJrYW4gaW50ZSBzdMOkbGxhIGluIHRpZHNncsOkbnMgZsO2ciAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiVGlkc2dyw6RucyBoYXIgc3TDpGxsdHMgaW4gcMOlICVkIHNla3VuZC5cbiIKK21zZ3N0clsxXSAiVGlkc2dyw6RucyBoYXIgc3TDpGxsdHMgaW4gcMOlICVkIHNla3VuZGVyLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBmw6UgaW5mb3JtYXRpb24gb20gdmFrdGh1bmQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIHNla3VuZFxuIgorbXNnc3RyWzFdICIlLTE0cyAlMmkgc2VrdW5kZXJcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY2Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIlRpZHNncsOkbnM6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIkbDtnItdGlkc2dyw6RuczoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorbXNnaWQgIlRpbWVsZWZ0OiIKK21zZ3N0ciAiVGlkIGt2YXI6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKK21zZ2lkICJEZXZpY2U6IgorbXNnc3RyICJFbmhldDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiSWRlbnRpdGV0OiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAidmVyc2lvbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInpyYW0tZW5oZXRzbmFtbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgImJlZ3LDpG5zbmluZyBhdiBtw6RuZ2RlbiBkZWtvbXByaW1lcmFkIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAiZGVrb21wcmltZXJhZCBzdG9ybGVrIGbDtnIgbGFncmFkIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgImtvbXByaW1lcmFkIHN0b3JsZWsgYXYgbGFncmFkIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJkZW4gdmFsZGEga29tcHJpbWVyaW5nc2FsZ29yaXRtZW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJhbnRhbCBzYW10aWRpZ2Ega29tcHJpbWVyaW5nc8OldGfDpHJkZXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgInRvbW1hIHNpZG9yIHV0YW4gYWxsb2tlcmF0IG1pbm5lIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJhbGx0IG1pbm5lIGlua2x1c2l2ZSBhbGxva2F0b3JmcmFnbWVudGVyaW5nIG9jaCBtZXRhZGF0YW9ta29zdG5hZGVyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJtaW5uZXNiZWdyw6Ruc25pbmcgYW52w6RuZCBmw7ZyIGF0dCBzcGFyYSBrb21wcmltZXJhZCBkYXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAibWlubmV0IHpyYW0gaGFyIGtvbnN1bWVyYXRzIGbDtnIgYXR0IGxhZ3JhIGtvbXByaW1lcmFkIGRhdGEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICJhbnRhbCBvYmpla3Qgc29tIGZseXR0YXRzIHDDpSBncnVuZCBhdiBrb21wcmltZXJpbmciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIG1tX3N0YXQiCittc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIG1tX3N0YXQiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2ZsYWdnb3JdIDxlbmhldD5cbiIKKyIgJTEkcyAtciA8ZW5oZXQ+IFvigKZdXG4iCisiICUxJHMgW2ZsYWdnb3JdIC1mIHwgPGVuaGV0PiAtcyA8c3Rvcmxlaz5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICJTdMOkbGwgaW4gb2NoIGtvbnRyb2xsZXJhIHpyYW0tZW5oZXRlci5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICB2aWxrZW4ga29tcHJpbWVyaW5nc2FsZ29yaXRtIHNvbSBza2EgYW52w6RuZGFzXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHNrcml2IHV0IHN0b3JsZWthciBpIGJ5dGUgc25hcmFyZSDDpG4gaSBmb3JtYXQgbMOkc2xpZ3QgZsO2ciBtw6Rubmlza29yXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGhpdHRhIGVuIGxlZGlnIGVuaGV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgc2tyaXYgaW50ZSB1dCBydWJyaWtlclxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RhPiAgICAgIGtvbHVtbmVyIGF0dCBhbnbDpG5kYSBmw7ZyIHN0YXR1c3V0bWF0bmluZ1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgYW52w6RuZCByw6V0dCB1dG1hdG5pbmdzZm9ybWF0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIMOldGVyc3TDpGxsIGFsbGEgYW5naXZuYSBlbmhldGVyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPHN0b3JsZWs+ICAgICAgc3RvcmxlayBmw7ZyIGVuaGV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPG51bW1lcj4gICAgYW50YWwga29tcHJpbWVyaW5nc3N0csO2bW1hclxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBzdHLDtm1tYXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiZmxhZ2dhbiAtLWZpbmQgw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlIG1lZCA8ZW5oZXQ+IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICJlbmRhc3QgZW4gPGVuaGV0PiB0aWxsw6V0cyDDpXQgZ8OlbmdlbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjQKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiZmxhZ2dvcm5hIC0tYWxnb3JpdGhtIG9jaCAtLXN0cmVhbXMgbcOlc3RlIGtvbWJpbmVyYXMgbWVkIC0tc2l6ZSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZXNldCIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IMOldGVyc3TDpGxsYSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICJpbmdlbiBsZWRpZyB6cmFtLWVuaGV0IGhpdHRhZGVzIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gYW50YWwgc3Ryw7ZtbWFyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIGFsZ29yaXRtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBkaXNrc2l6ZSAoJWp1IGJ5dGVzKSIKK21zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgZGlza3N0b3JsZWsgKCVqdSBieXRlKSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIlcyVzIChhdXRvbWF0aXNrIGlubG9nZ25pbmcpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczoga2FuIGludGUgw6RuZHJhIHJvdGthdGFsb2cgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIMOkbmRyYSBhcmJldHNrYXRhbG9nICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIKK21zZ3N0ciAiJXM6IGthbiBpbnRlIMOkbmRyYSBwcm9jZXNzcHJpb3JpdGV0OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczoga2FuIGludGUga8O2cmEgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzNyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxNDg0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MjYgdGVybS11dGlscy9hZ2V0dHkuYzoyMDkzIHRlcm0tdXRpbHMvYWdldHR5LmM6MjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgYWxsb2tlcmEgbWlubmU6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIgorbXNnc3RyICIlcyBmcsOlbiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NDgKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBmw7ZyZHLDtmpuaW5nc2FyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICJvZ2lsdGlndCBhcmd1bWVudCB0aWxsIC0tbG9jYWwtbGluZSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MDUKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgIm9naWx0aWd0IG5pY2UtYXJndW1lbnQiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgImZlbGFrdGlnIGhhc3RpZ2hldDogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA4Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiZsO2ciBtw6VuZ2EgYWx0ZXJuYXRpdmEgaGFzdGlnaGV0ZXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTkgdGVybS11dGlscy9hZ2V0dHkuYzoxMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIGludGUgw7ZwcG5hIHNvbSBzdGFuZGFyZCBpbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzOAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIvZGV2LyVzOiBpbmdlbiB0ZWNrZW5lbmhldCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lczogaW50ZSBlbiB0dHkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiBrYW4gaW50ZSDDtnBwbmEga29udHJvbGxlcmFuZGUgdHR5OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2aGFuZ3VwKCkgbWlzc2x5Y2thZGVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXM6IGludGUgw7ZwcGVuIGbDtnIgbMOkc25pbmcvc2tyaXZuaW5nIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga2FuIGludGUgc3TDpGxsYSBpbiBwcm9jZXNzZ3J1cHA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGR1cCBwcm9ibGVtOiAlbSIKK21zZ3N0ciAiJXM6IGR1cGxpY2VyaW5nc3Byb2JsZW06ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiBtaXNzbHlja2FkZXMgbWVkIGF0dCBow6RtdGEgdGVybWluYWxhdHRyaWJ1dDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImluc3TDpGxsbmluZyBhdiB0ZXJtaW5hbGF0dHJpYnV0IG1pc3NseWNrYWRlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorbXNnaWQgImNhbm5vdCBvcGVuIG9zLXJlbGVhc2UgZmlsZSIKK21zZ3N0ciAia2FuIGludGUgw7ZwcG5hIG9zLXJlbGVhc2UtZmlsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBza2FwYSDDpXRlcmlubMOkc25pbmdzZmlsOiAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIlt0cnljayBww6UgUkVUVVIgZsO2ciBhdHQgbG9nZ2EgaW5dIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIk51bSBMb2NrIMOkciBhdiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIk51bSBMb2NrIMOkciBww6UiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2NQorbXNnaWQgIkNhcHMgTG9jayBvbiIKK21zZ3N0ciAiQ2FwcyBMb2NrIMOkciBww6UiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICJTY3JvbGwgTG9jayDDpHIgcMOlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJUaXBzOiAlc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczogbMOkc3RlOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczogaW5kYXRhc3BpbGwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBvZ2lsdGlnIHRlY2tlbmtvbnZlcnRlcmluZyBmw7ZyIGlubG9nZ25pbmdzbmFtbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciAweCV4IGluIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiBvZ2lsdGlndCB0ZWNrZW4gMHgleCBpIGlubG9nZ25pbmdzbmFtbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlcyBtaXNzbHlja2FkZXMgbWVkIGF0dCBzdMOkbGxhIGluIHRlcm1pbmFsYXR0cmlidXQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbZmxhZ2dvcl0gPGxpbmplPiBbPGJhdWRfaGFzdGlnaGV0PizigKZdIFs8dGVybXR5cD5dXG4iCisiICUxJHMgW2ZsYWdnb3JdIDxiYXVkX2hhc3RpZ2hldD4s4oCmIDxsaW5qZT4gWzx0ZXJtdHlwPl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIsOWcHBuYSBlbiB0ZXJtaW5hbCBvY2ggc3TDpGxsIGluIGRlc3MgbMOkZ2UuXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMworbXNnaWQgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCittc2dzdHIgIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICAgICBhbnRhZyBhdHQgZGV0IMOkciBlbiA4LWJpdGFycyB0dHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPGFudsOkbmRhcmU+ICAgbG9nZ2EgaW4gZGVuIGFuZ2l2bmEgYW52w6RuZGFyZW4gYXV0b21hdGlza3RcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM1Cittc2dpZCAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKK21zZ3N0ciAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgICAgIMOldGVyc3TDpGxsIGludGUga29udHJvbGzDpGdlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgICAgIGFudsOkbmQgLXIgPHbDpHJkbmFtbj4gZsO2ciBsb2dpbigxKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWw+ICAgICAgICB2aXNhIGlzc3VlLWZpbFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzgKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgICAgYWt0aXZlcmEgaMOlcmR2YXJ1YmFzZXJhZCBmbMO2ZGVza29udHJvbGxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM5Cittc2dpZCAiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIgorbXNnc3RyICIgLUgsIC0taG9zdCA8dsOkcmRuYW1uPiAgICAgICAgIGFuZ2UgaW5sb2dnbmluZ3N2w6RyZFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDAKK21zZ2lkICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgICAgdmlzYSBpbnRlIGlzc3VlLWZpbFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA8c3Ryw6RuZz4gICAgc3TDpGxsIGluIGluaXRpZXJpbmdzLXN0csOkbmdcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgICAgIHJlbnNhIGludGUgc2vDpHJtZW4gaW5uYW4gcHJvbXB0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbD4gICAgIGFuZ2UgaW5sb2dnbmluZ3Nwcm9ncmFtXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NAorbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC1MLCAtLWxvY2FsLWxpbmVbPTxsw6RnZT5dICAgICBzdHlyIGZsYWdnYW4gZsO2ciBkZW4gbG9rYWxhIGxpbmplblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDUKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgICAgIGV4dHJhaGVyYSBiYXVkLWhhc3RpZ2hldCB1bmRlciBhbnNsdXRuaW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgICAgZnLDpWdhIGludGUgZWZ0ZXIgaW5sb2dnbmluZ1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDcKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgICAgIHNrcml2IGludGUgdXQgbnlyYWQgaW5uYW4gaXNzdWUtZmlsXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8ZmxhZ2dvcj4gZmxhZ2dvciBzb20gc2tpY2thcyB2aWRhcmUgdGlsbCBsb2dpblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICAgICB2w6RudGEgcMOlIHZhbGZyaSB0YW5nZW50IGlubmFuIGlubG9nZ25pbmdcbiIKKworIyBzZWJyYXM6IGNoYW5nZSByb290IHRvIHRoZSBnaXZlbiBkaXJlY3RvcnkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1jaHJvb3QgPGthdD4gICAgICAgICAgICDDpG5kcmEgcm90IHRpbGwgYW5naXZlbiBrYXRhbG9nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgICAgIGF2cmluZyB0dHk6biB2aXJ0dWVsbHRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgICAgZsO2cnPDtmsgYXR0IGJlaMOlbGxhIGJhdWQtaGFzdGlnaGV0IGVmdGVyIGF2YnJvdHRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA8bnVtbWVyPiAgICAgICAgdGlkc2dyw6RucyBmw7ZyIGlubG9nZ25pbmdzcHJvY2Vzc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgICAgaWRlbnRpZmllcmEgdGVybWluYWwgc29tIGFudsOkbmRlciB2ZXJzYWxlclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgICAgIHbDpG50YSBww6UgdmFnbnJldHVyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgICAgIHNrcml2IGludGUgdXQgdGlwc1xuIgorCisjIHNlYnJhczogaG9zdG5hbWUgd2lsbCBub3QgYmUgc2hvd24gYXQgYWxsCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgICAgIHbDpHJkbmFtbmV0IGtvbW1lciBpbnRlIGF0dCB2aXNhcyBhbGxzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICAgICB2aXNhIGZ1bGxzdMOkbmRpZ3QgdsOkcmRuYW1uXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0csOkbmc+ICAgIHl0dGVybGlnYXJlIGJhY2tzdGVnc3RlY2tlblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjAKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoYXJzIDxzdHLDpG5nPiAgICAgeXR0ZXJsaWdhcmUgdGVja2VuIHNvbSBpZ25vcmVyYXIgYWxsYSB0aWRpZ2FyZSB0ZWNrZW5cbiIKKworIyBzZWJyYXM6IGNoYW5nZSBkaXJlY3RvcnkgYmVmb3JlIGxvZ2luCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjEKK21zZ2lkICIgICAgIC0tY2hkaXIgPGRpcmVjdG9yeT4gICAgY2hkaXIgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgICAgIC0tY2hkaXIgPGthdGFsb2c+ICAgICAgICAgYnl0IGthdGFsb2cgaW5uYW4gaW5sb2dnbmluZ1xuIgorCisjIHNlYnJhczogPHNlY29uZHM+IHNlY29uZHMgb2YgZGVsYXkgYmVmb3JlIHByb21wdAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgIC0tZGVsYXkgPG51bW1lcj4gICAgICAgICAgYW50YWwgc2VrdW5kZXIgZsO2cmRyw7ZqbmluZyBpbm5hbiBwcm9tcHRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPG51bW1lcj4gICAgICAgICAgIGvDtnIgaW5sb2dnbmluZyBtZWQgZGVubmEgcHJpb3JpdGV0XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgICAgIMOldGVyaW5sw6RzIHByb21wdCBpIGvDtnJhbmRlIGFnZXR0eS1pbnN0YW5zZXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY1Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtdHlwZXMgICAgICB2aXNhIGJhdWQtaGFzdGlnaGV0ZXIgc29tIHN0w7Zkc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIGFudsOkbmRhcmUiCittc2dzdHJbMV0gIiVkIGFudsOkbmRhcmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hlY2tuYW1lIG1pc3NseWNrYWRlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAia2FuIGludGUgcsO2cmEgZmlsZW4gJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1OQorbXNnaWQgIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIgorbXNnc3RyICItLXJlbG9hZCBzdMO2ZHMgaW50ZSBww6UgZGl0dCBzeXN0ZW0iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFt5IHwgbiBdXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiU3R5ciBza3JpdsOldGtvbXN0IGbDtnIgYW5kcmEgYW52w6RuZGFyZSBww6UgZGluIHRlcm1pbmFsLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgZsO2cmtsYXJhIHZhZCBzb20gaMOkbmRlclxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgIsOkciBww6UgKHkpIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICLDpHIgYXYgKG4pIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAiw6RuZHJpbmcgYXYgJXMtbMOkZ2UgbWlzc2x5Y2thZGVzIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICJza3JpdsOldGtvbXN0IGbDtnIgZGluIHRlcm1pbmFsIMOkciB0aWxsw6V0ZW4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAic2tyaXbDpXRrb21zdCBmw7ZyIGRpbiB0ZXJtaW5hbCBhdmLDtmpzIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgIm9naWx0aWd0IGFyZ3VtZW50OiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZV1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbZmlsXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiU2thcGEgZXR0IGlubWF0bmluZ3Nza3JpcHQgZnLDpW4gZW4gdGVybWluYWxzZXNzaW9uLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgbMOkZ2cgdGlsbCB1dG1hdG5pbmdcbiIKKyIgLWMsIC0tY29tbWFuZCA8a29tbWFuZG8+IGvDtnIga29tbWFuZG8gc25hcmFyZSDDpG4gZXR0IGludGVyYWt0aXZ0IHNrYWxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgIHJldHVybmVyYSBhdnNsdXRuaW5nc2tvZCBmw7ZyIGJhcm5wcm9jZXNzZW5cbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgIGvDtnIgc3BvbG5pbmcgZWZ0ZXIgdmFyamUgc2tyaXZuaW5nXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgICBhbnbDpG5kIHV0bWF0bmluZ3NmaWwgw6R2ZW4gb20gZGV0IMOkciBlbiBsw6Rua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgdmFyIHR5c3RcbiIKKyIgLXRbPGZpbD5dLCAtLXRpbWluZ1s9PGZpbD5dIG1hdGEgdXQgdGlkbcOkdG5pbmdzZGF0YSB0aWxsIHN0YW5kYXJkIGZlbCAoZWxsZXIgdGlsbCBGSUwpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJ1dGRhdGFmaWwg4oCdJXPigJ0gw6RyIGVuIGzDpG5rXG4iCisiQW52w6RuZCAtLWZvcmNlIG9tIGR1IHZlcmtsaWdlbiB2aWxsIGFudsOkbmRhIGRlbi5cbiIKKyJQcm9ncmFtbWV0IHN0YXJ0YWRlcyBpbnRlLiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiU2tyaXB0ZXQgZsOkcmRpZ3QsIGZpbGVuIMOkciAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAia2FuIGludGUgc2tyaXZhIHNrcmlwdGZpbCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlc3Npb24gYXZzbHV0YWRlcy5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQgb24gJXNcbiIKK21zZ3N0ciAiU2tyaXB0ZXQgc3RhcnRhZGVzICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiU2tyaXB0ZXQgZsOkcmRpZ3QgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJzbHV0IHDDpSBwdHk6ZXIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIlNrcmlwdGV0IHN0YXJ0YWRlcywgZmlsZW4gw6RyICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiAlcyBbLXRdIHRpZG3DpHRuaW5nc2ZpbCBbaW5tYXRuaW5nc3NrcmlwdF0gW2RlbGFyZV1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLDhXRlcnVwcHNwZWxhIGlubWF0bmluZ3Nza3JpcHQgZsO2ciB0ZXJtaW5hbGVyIG1lZCBoasOkbHAgYXYgdGlkbcOkdG5pbmdzaW5mb3JtYXRpb24uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWw+ICAgICAgdXRtYXRuaW5nc3NrcmlwdGZpbCBtZWQgdGlkbcOkdG5pbmdcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsPiAgdXRtYXRuaW5nc3NrcmlwdGZpbCBmw7ZyIHRlcm1pbmFsc2Vzc2lvblxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzbmFiYmEgdXBwIGVsbGVyIHNha3RhIG5lciBleGVrdmVyaW5nIG1lZCB0aWRzZGVsYXJlXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHbDpG50YSBzw6UgaMOkciBtw6VuZ2Egc2VrdW5kZXIgc29tIGzDpG5nc3QgbWVsbGFuIHVwcGRhdGVyaW5nYXJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJza3Jpdm5pbmcgdGlsbCBzdGFuZGFyZCB1dCBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIm92w6RudGF0IGZpbHNsdXQgcMOlICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIHR5cGVzY3JpcHQtZmlsICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImZlbGFrdGlndCBhbnRhbCBhcmd1bWVudCIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdGltaW5nIGZpbGUgJXMiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIHRpZG3DpHRuaW5nc2ZpbCAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAidGlkbcOkdG5pbmdzZmlsICVzOiByYWQgJWx1OiBvdsOkbnRhdCBmb3JtYXQiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgImFyZ3VtZW50ZmVsOiBsanVzICVzIHN0w7ZkcyBpbnRlIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICJmw7ZyIG3DpW5nYSB0YWJiYXIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4MgorbXNnaWQgIlNldCB0aGUgYXR0cmlidXRlcyBvZiBhIHRlcm1pbmFsLlxuIgorbXNnc3RyICJTdMOkbGwgaW4gZW4gdGVybWluYWxzIGF0dHJpYnV0LlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxuYW1uPiAgICDDpXNpZG9zw6R0dCBtaWxqw7Z2YXJpYWJlbG4gVEVSTVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgw6V0ZXJzdMOkbGwgdGVybWluYWwgdGlsbCBsw6RnZXQgZWZ0ZXIgdXBwc3RhcnRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiAtLXJlc2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgw6V0ZXJzdMOkbGwgdGVybWluYWxyYWRlciBvY2gga29sdW1uZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICB2aXNhIGluaXRpZXJpbmdzc3Ryw6RuZyBvY2ggYW52w6RuZCBzdGFuZGFyZGluc3TDpGxsbmluZ2FyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICBhbnbDpG5kIHN0YW5kYXJkaW5zdMOkbGxuaW5nYXIgZsO2ciB0ZXJtaW5hbFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc3BhcmEgYWt0dWVsbGEgdGVybWluYWxpbnN0w6RsbG5pbmdhciBzb20gc3RhbmRhcmR2w6RyZGVuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICB2aXNhIG1hcmvDtnJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICB0YW5nZW50Ym9yZHNyZXBldGVyaW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgcHJvZ3JhbWzDpGdlIGbDtnIgbWFya8O2cnRhbmdlbnRlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGZvcnRzw6R0dCBww6UgZW4gbnkgcmFkIG7DpHIgZW4gcmFkIMOkciBmdWxsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICB2w6R4bGEgZsOkcmdlciBmw7ZyIGhlbGEgc2vDpHJtZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGbDpHJnPiAgICBzdMOkbGwgaW4gZsO2cmdydW5kc2bDpHJnXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxmw6RyZz4gICAgc3TDpGxsIGluIGJha2dydW5kc2bDpHJnXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxmw6RyZz4gICBzdMOkbGwgaW4gZsOkcmcgZsO2ciB1bmRlcnN0cnVrZW4gdGV4dFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8ZsOkcmc+ICAgc3TDpGxsIGluIGbDpHJnIGbDtnIgZmV0IHRleHRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgPGbDpHJnPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGZlc3RzdGlsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgaGFsdmxqdXNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rbmluZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVyc3RyeWtuaW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHbDpHhsYSBmw7ZyZ3J1bmRzLSBvY2ggYmFrZ3J1bmRzZsOkcmdlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDYKK21zZ2lkICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIGNsZWFyIHNjcmVlbiBhbmQgc2V0IGN1cnNvciBwb3NpdGlvblxuIgorbXNnc3RyICIgLS1jbGVhciAgICAgICAgIFthbGx8cmVzdF0gICAgICAgIHTDtm0gc2vDpHJtZW4gb2NoIHN0w6RsbCBpbiBtYXJrw7ZycG9zaXRpb25lblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgLS10YWJzICAgICAgICAgIFs8bnVtbWVyPuKApl0gICAgICAgc3TDpGxsIGluLCBlbGxlciB2aXNhLCBkZXNzYSB0YWJicG9zaXRpb25lclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDgKK21zZ2lkICIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiAtLWNscnRhYnMgICAgICAgWzxudW1tZXI+4oCmXSAgICAgICByZW5zYSBib3J0IGRlc3NhLCBlbGxlciBhbGxhLCB0YWJicG9zaXRpb25lclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzdMOkbGxlciBpbiBldHQgcGVyaW9kaXNrdCB0YWJic3RvcHBzaW50ZXJ2YWxsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHN0w6RsbCBpbiB0aWRncsOkbnMgZsO2ciBpbmFrdGl2aXRldCBpbm5hbiBza8Okcm1lbiB0w7Ztc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1kdW1wICAgICAgICAgIFs8bnVtbWVyPl0gICAgICAgIHNrcml2IHZjc2E8bnVtbWVyPiBrb25zb2xkdW1wIHRpbGwgZmlsXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs8bnVtbWVyPl0gICAgICAgIGzDpGdnIHRpbGwgdmNzYTxudW1iZXI+IGtvbnNvbGR1bXAgdGlsbCBmaWxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIC0tZmlsZSAgICAgICAgICA8ZmlsbmFtbj4gICAgICAgICBuYW1uIHDDpSBkdW1wZmlsZW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgc2tpY2thIGvDpHJubWVkZGVsYW5kZW4gdGlsbCBrb25zb2xlblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGxvZ2duaXbDpSBmw7ZyIGvDpHJua29uc29sXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdMOkbGwgaW4gdmVzYS1zdHLDtm1zcGFyc2Z1bmt0aW9uZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHN0w6RsbCBpbiB2ZXNhLW5lZHN0w6RuZ25pbmdzaW50ZXJ2YWxsIGkgbWludXRlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIHZhcmFrdGlnaGV0IGbDtnIgbGp1ZCBpIG1pbGxpc2VrdW5kZXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxudW1tZXI+ICAgICAgICAgIGxqdWRmcmVrdmVucyBpIEhlcnR6XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICJkdXBsaWNlcmFkIGFudsOkbmRuaW5nIGF2IGVuIGZsYWdnYSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJrYW4gaW50ZSB0dmluZ2EgdMO2bW5pbmciCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0NQorbXNnaWQgImNhbm5vdCBmb3JjZSB1bmJsYW5rIgorbXNnc3RyICJrYW4gaW50ZSB0dmluZ2Egw6V0ZXJzdMOkbGxuaW5nIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NTEKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAia2FuIGludGUgaMOkbXRhIHTDtm1uaW5nc3N0YXR1cyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgZHVtcGZpbCAlcyBmw7ZyIHV0bWF0bmluZyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgInRlcm1pbmFsICVzIGhhciBpbnRlIHN0w7ZkIGbDtnIgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgInNlbGVjdCBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgInN0ZGluIHJlZmVyZXJhciBpbnRlIHRpbGwgZW4gdGVybWluYWwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgIm9naWx0aWcgbWFya8O2cnBvc2l0aW9uOiAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCittc2dpZCAicmVzZXQgZmFpbGVkIgorbXNnc3RyICJyZXNldCBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAia2FuIGludGUgc3TDpGxsYSBpbi/DpXRlcnN0w6RsbGEgc3Ryw7Ztc3BhcmzDpGdlIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJrbG9nY3RsLWZlbCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE0NgorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJFRFUk0gw6RyIGludGUgZGVmaW5pZXJhZC4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTMKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgInRlcm1pbmZvLWRhdGFiYXMga2FuIGludGUgaGl0dGFzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiVzOiBva8OkbmQgdGVybWluYWx0eXAiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAidGVybWluYWwgw6RyIGVuIGjDpXJka29waWEiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICJpbnRlcm50IGZlbDogZsO2ciBtw6VuZ2EgaW92OmVyIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgIm9uw7ZkaWd0IGzDpW5ndCBsaW5qZWFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbiBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3JrOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImthbiBpbnRlIGdyZW5hIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiJXM6IETDhUxJR1QgRkVMLCBtZWRkZWxhbmRldCDDpHIgYWxsZGVsZXMgZsO2ciBsw6VuZ3QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPGZpbD4gfCA8bWVkZGVsYW5kZT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiU2tyaXYgZXR0IG1lZGRlbGFuZGUgdGlsbCBhbGxhIGFudsOkbmRhcmUuXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICBza2lja2EgbWVkZGVsYW5kZSBlbmRhc3QgdGlsbCBncnVwcFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MworbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBza3JpdiBpbnRlIHV0IGJhbmRlcm9sbCwgZnVuZ2VyYXIgZW5kYXN0IGbDtnIgcm9vdFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5NAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPHRpZHNncsOkbnM+IHRpZHNncsOkbnMgZsO2ciBza3Jpdm5pbmcgaSBzZWt1bmRlclxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjIKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBncnVwcGFyZ3VtZW50IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlczogb2vDpG5kIGdpZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgImdldGdyb3VwbGlzdCBoaXR0YWRlIGZsZXIgZ3J1cHBlciDDpG4gc3lzY29uZiB0aWxsw6V0ZXIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIgw6RyIGVuZGFzdCB0aWxsZ8OkbmdsaWcgZsO2ciByb290IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAib2dpbHRpZ3QgdGlkc2dyw6Ruc2FyZ3VtZW50OiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgcGFzc3dkIHVpZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCittc2dpZCAiY2Fubm90IGdldCB0dHkgbmFtZSIKK21zZ3N0ciAia2FuIGludGUgaMOkbXRhIHR0eS1uYW1uIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICJNZWRkZWxhbmRlIHRpbGwgYWxsYSBmcsOlbiAlc0AlcyAoJXMpICglcyk6IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAid2lsbCBub3QgcmVhZCAlcyAtIHVzZSBzdGRpbi4iCittc2dzdHIgImtvbW1lciBpbnRlIGF0dCBsw6RzYSAlcyAtIGFudsOkbmQgc3RhbmRhcmQgaW4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSA8YW52w6RuZGFyZT4gWzx0dHktbmFtbj5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MQorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiU2tpY2thIGV0dCBtZWRkZWxhbmRlIHRpbGwgZW4gYW5uYW4gYW52w6RuZGFyZS5cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICJlZmZla3RpdnQgZ2lkIG1hdGNoYXIgaW50ZSBkZXQgZsO2ciBncnVwcGVuICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIMOkciBpbnRlIGlubG9nZ2FkIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgImthbiBpbnRlIGhpdHRhIG5hbW5ldCBww6UgZGluIHR0eSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQiCittc2dzdHIgIiVzIGhhciBtZWRkZWxhbmRlbiBpbmFrdGl2ZXJhZGUiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyDDpHIgaW5sb2dnYWQgbWVyIMOkbiBlbiBnw6VuZzsgc2tyaXZlciB0aWxsICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM3Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICJjYXJlZnVscHV0YyBtaXNzbHlja2FkZXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiTWVkZGVsYW5kZSBmcsOlbiAlc0AlcyAoc29tICVzKSBww6UgJXMgdmlkICUwMmQ6JTAyZCDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIk1lZGRlbGFuZGUgZnLDpW4gJXNAJXMgcMOlICVzIHZpZCAlMDJkOiUwMmQg4oCmIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJkdSBoYXIgaW50ZSBza3JpdnLDpHR0aWdoZXQgYWt0aXZlcmFkIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIMOkciBpbnRlIGlubG9nZ2FkIHDDpSAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiVzIGhhciBtZWRkZWxhbmRlbiBpbmFrdGl2ZXJhZGUgcMOlICVzIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICJGaWx0cmVyYSB1dCBvbXbDpG5kYSByYWRicnl0bmluZ2FyLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZsYWdnb3I6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgbWF0YSBpbnRlIHV0IGJhY2tzdGVnXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgdGlsbMOldCBoYWx2YSBueXJhZGVyXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgc2tpY2thIHZpZGFyZSBva8OkbmRhIGtvbnRyb2xsc2VrdmVuc2VyXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAga29udmVydGVyYSBibGFua3N0ZWcgdGlsbCB0YWJiYXJcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBrb252ZXJ0ZXJhIHRhYmJhciB0aWxsIGJsYW5rc3RlZ1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZyYSDDpXRtaW5zdG9uZSBOVU0gcmFkZXJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKyIlcyBsw6RzZXIgZnLDpW4gc3RhbmRhcmQgaW4gb2NoIHNrcml2ZXIgdGlsbCBzdGFuZGFyZCB1dFxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxNQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiZmVsYWt0aWd0IC1sLWFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAidmFybmluZzoga2FuIGludGUgc8Oka2VyaGV0c2tvcGllcmEgJXMuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAiZsO2cmJpIGbDtnJzdGEgcmFkZW4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIHJhZGVuIHJlZGFuIHNwb2xhZCIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbZmxhZ2dvcl0gWzxmaWw+4oCmXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIkZpbHRyZXJhIG5yb2ZmLXV0bWF0bmluZyBmw7ZyIENSVC1ncmFuc2tuaW5nLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgdW5kZXJ0cnljayBhbGwgdW5kZXJzdHJ5a25pbmdcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgc2tyaXYgdXQgaGFsdnJhZGVyXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkFudsOkbmRuaW5nOlxuIgorIiAlcyBbc3RhcnRrb2wgW3NsdXRrb2xdXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjUKK21zZ2lkICJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIKK21zZ3N0ciAiRmlsdHJlcmEgdXQgYW5naXZuYSBrb2x1bW5lci5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICJmw7Zyc3RhIGFyZ3VtZW50IgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJhbmRyYSBhcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyMzUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBrb2x1bW4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICJvZGVmaW5pZXJhdCBrb2x1bW5uYW1uIOKAnSVz4oCdIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIC0tdGFibGUtb3JkZXItbGlzdGEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6Mzk3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAibWlzc2x5Y2thZGVzIG1lZCBhdHQgdG9sa2EgLS10YWJsZS1yaWdodC1saXN0YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSAtLXRhYmxlLXRydW5jLWxpc3RhIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSAtLXRhYmxlLW5vZXh0cmVtZS1saXN0YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS13cmFwIGxpc3QiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIC0tdGFibGUtd3JhcC1saXN0YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIC0tdGFibGUtaGlkZS1saXN0YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICJyYWQgJXp1OiBmw7ZyIEpTT04ga3LDpHZzIG5hbW5hdCBmw7ZyIGtvbHVtbiAlenUiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBhbGxva2VyYSB1dG1hdG5pbmdzZGF0YSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIktvbHVtbmxpc3Rvci5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgIHNrYXBhIGVuIHRhYmVsbFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MQorbXNnaWQgIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tdGFibGUtbmFtZSA8bmFtbj4gICAgICAgICAgdGFiZWxsbmFtbiBmw7ZyIEpTT04tdXRtYXRuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQyCittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1PLCAtLXRhYmxlLW9yZGVyIDxrb2x1bW5lcj4gICAgIGFuZ2Ugb3JkbmluZyBmw7ZyIHV0bWF0bmluZ3Nrb2x1bW5lclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MworbXNnaWQgIiAtTiwgLS10YWJsZS1jb2x1bW5zIDxuYW1lcz4gICAgICBjb21tYSBzZXBhcmF0ZWQgY29sdW1ucyBuYW1lc1xuIgorbXNnc3RyICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtbj4gICAgICAga29tbWFzZXBhcmVyYWRlIGtvbHVtbm5hbW5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGtvbHVtbmVyPiByw6RrbmEgaW50ZSBpbiBsw6VuZyB0ZXh0IGZyw6VuIGtvbHVtbmVyIGkga29sdW1uYnJlZGRcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBza3JpdiBpbnRlIHV0IHJ1YnJpa2VyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIgLWUsIC0tdGFibGUtaGVhZGVyLXJlcGVhdCAgICAgICAgcmVwZXRlcmEgcnVicmlrIGbDtnIgdmFyamUgc2lkYVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgLUgsIC0tdGFibGUtaGlkZSA8a29sdW1uZXI+ICAgICAgc2tyaXYgaW50ZSB1dCBrb2x1bW5lcm5hXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIgLVIsIC0tdGFibGUtcmlnaHQgPGtvbHVtbmVyPiAgICAgaMO2Z2VyanVzdGVyYSB0ZXh0IGkgZGVzc2Ega29sdW1uZXJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGtvbHVtbmVyPiAgdHJ1bmtlcmEgdGV4dCBpIGtvbHVtbmVybmEgbsOkciBuw7ZkdsOkbmRpZ3RcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtVywgLS10YWJsZS13cmFwIDxrb2x1bW5lcj4gICAgICByYWRicnl0IHRleHQgaSBrb2x1bW5lcm5hIG7DpHIgbsO2ZHbDpG5kaWd0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQgZm9yIHRhYmxlXG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICBhbnbDpG5kIEpTT04gc29tIHV0bWF0bmluZ3Nmb3JtYXQgZsO2ciB0YWJlbGxcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIC1yLCAtLXRyZWUgPGtvbHVtbj4gICAgICAgICAgICAgIGtvbHVtbiBzb20gc2thIGFudsOkbmRhIHRyw6RkbGlrIHV0bWF0bmluZyBmw7ZyIHRhYmVsbGVuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1Cittc2dpZCAiIC1pLCAtLXRyZWUtaWQgPGNvbHVtbj4gICAgICAgICAgIGxpbmUgSUQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLXRyZWUtaWQgPGtvbHVtbj4gICAgICAgICAgIHJhZC1JRCBzb20gYW5nZXIgYmFybi1mw7Zyw6RsZGVyLXJlbGF0aW9uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLXAsIC0tdHJlZS1wYXJlbnQgPGtvbHVtbj4gICAgICAgZsO2csOkbGRlciBzb20gYW5nZXIgYmFybi1mw7Zyw6RsZGVyLXJlbGF0aW9uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tb3V0cHV0LXdpZHRoIDxicmVkZD4gICAgICAgdXRtYXRuaW5nc2JyZWRkIGkgYW50YWwgdGVja2VuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0csOkbmc+ICBrb2x1bW5hdmdyw6Ruc2FyZSBmw7ZyIHRhYmVsbHV0bWF0bmluZyAoc3RhbmRhcmR2w6RyZGUgw6RyIHR2w6UgYmxhbmtzdGVnKVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPHN0csOkbmc+ICAgICAgICAgbcO2amxpZ2EgdGFiZWxsYXZncsOkbnNhcmVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjIKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmeWxsIHJhZGVyIGbDtnJlIGtvbHVtbmVyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJvZ2lsdGlndCBrb2x1bW5hcmd1bWVudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3NTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIG5hbWVzIgorbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCB0b2xrYSBrb2x1bW5uYW1uIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICJmbGFnZ29ybmEgLS10cmVlLWlkIG9jaCAtLXRyZWUtcGFyZW50IGtyw6R2cyBmw7ZyIHRyw6RkZm9ybWF0ZXJpbmciCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgImZsYWdnYW4gLS10YWJsZSBrcsOkdnMgZsO2ciBhbGxhIC0tdGFibGUtKiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgImZsYWdnYW4gLS10YWJsZS1jb2x1bW5zIGtyw6R2cyBmw7ZyIC0tanNvbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxmaWw+4oCmXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OQorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICJWaXNhIGZpbGlubmVow6VsbGV0IGhleGFkZWNpbWFsdCwgZGVjaW1hbHQsIG9rdGFsdCBlbGxlciBpIGFzY2lpLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9rdGFsIGVuLWJ5dGVzdmlzbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBlbi10ZWNrZW5zdmlzbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAga2Fub25pc2sgaGV4YWRlY2ltYWwrQVNDSUktdmlzbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgZGVjaW1hbCB0dsOlLWJ5dGVzdmlzbmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIG9rdGFsIHR2w6UtYnl0ZXN2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgaGV4YWRlY2ltYWwgdHbDpS1ieXRlc3Zpc25pbmdcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxsw6RnZT5dICAgICAgdG9sa2EgZsOkcmdmb3JtYXRlcmluZ3NhbmdpdmFyZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXRzdHLDpG5nIHNvbSBza2EgYW52w6RuZGFzIGbDtnIgYXR0IHZpc2EgZGF0YVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWw+ICAgZmlsIHNvbSBpbm5laMOlbGxlciBmb3JtYXRzdHLDpG5nYXJcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiAtbiwgLS1sZW5ndGggPGzDpG5nZD4gICAgICB0b2xrYSBlbmRhc3QgbMOkbmdkIGFudGFsIGJ5dGUgaW5kYXRhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIgLXMsIC0tc2tpcCA8cG9zaXRpb24+ICAgICBob3BwYSDDtnZlciBwb3NpdGlvbnNieXRlIGZyw6VuIGLDtnJqYW5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBpZGVudGlza2EgdXRtYXRuaW5nc3JhZGVyXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAiYWxsYSBpbmRhdGFmaWxzYXJndW1lbnQgbWlzc2x5Y2thZGVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgImZlbGFrdGlndCBhbnRhbCBieXRlIGbDtnIga29udmVydGVyaW5nc3RlY2tlbiAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIGtyw6R2ZXIgZXR0IHByZWNpc2lvbnN2w6RyZGUgZWxsZXIgZXR0IGJ5dGVhbnRhbCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICJmZWxha3RpZ3QgZm9ybWF0IHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJmZWxha3RpZ3Qga29udmVydGVyaW5nc3RlY2tlbiAlJSVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo0MzYKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICJieXRlYW50YWwgbWVkIGZsZXJhIGtvbnZlcnRlcmluZ3N0ZWNrZW4iCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjM0Cittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiTMOkcyBlbiByYWQuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIkV0dCBmaWxnZW5vbWzDpHNuaW5nc2ZpbHRlciBmw7ZyIENSVC12aXNuaW5nLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzgKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAtZCAgICAgICAgICB2aXNhIGhqw6RscCBpc3TDpGxsZXQgZsO2ciBhdHQgcmluZ2EgaSBrbG9ja2FuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgcsOka25hIGFudGFsZXQgbG9naXNrYSBzbmFyYXJlIMOkbiBza8Okcm1yYWRlclxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAtbCAgICAgICAgICB1bmRlcnRyeWNrIHBhdXMgZWZ0ZXIgc2lkbWF0bmluZ1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgIHJ1bGxhIGludGUsIHZpc2EgdGV4dCBvY2ggcmVuYSByYWRzbHV0XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAgcnVsbGEgaW50ZSwgcmVuc2Egc2vDpHJtZW4gb2NoIHZpc2EgdGV4dFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgcHJlc3NhIGlob3AgZmxlcmEgdG9tcmFkZXIgdGlsbCBlblxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgIHVuZGVydHJ5Y2sgdW5kZXJzdHJ5a25pbmdcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTxudW1tZXI+ICAgYW50YWwgcmFkZXIgcGVyIHNrw6RybVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDYKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiArPG51bW1lcj4gICB2aXNhIGZpbGVuIG1lZCBiw7ZyamFuIGZyw6VuIHJhZCBudW1tZXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ3Cittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiArLzxzdHLDpG5nPiAgdmlzYSBmaWwgbWVkIGLDtnJqYW4gZnLDpW4gc8O2a3N0csOkbmdzbWF0Y2huaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgIm9rw6RuZCBmbGFnZ2EgLSVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiBrYXRhbG9nICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiBJbnRlIGVuIHRleHRmaWwgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbQW52w6RuZCBxIGVsbGVyIFEgZsO2ciBhdHQgYXZzbHV0YV0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1NZXItLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKE7DpHN0YSBmaWw6ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW1RyeWNrIGJsYW5rc3RlZyBmw7ZyIGF0dCBmb3J0c8OkdHRhLCDigJ1x4oCdIGbDtnIgYXR0IGF2c2x1dGEuXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE4MworIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIuKApnRpbGxiYWthICVkIHNpZGEiCittc2dzdHJbMV0gIuKApnRpbGxiYWthICVkIHNpZG9yIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICLigKZob3BwYXIgw7Z2ZXIgJWQgcmFkIgorbXNnc3RyWzFdICLigKZob3BwYXIgw7Z2ZXIgJWQgcmFkZXIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjkKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqVGlsbGJha2EqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI4NAorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiSW5nZXQgZsO2cmVnw6VlbmRlIHJlZ3VsasOkcnQgdXR0cnljayIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZSBmbGVzdGEga29tbWFuZG9uIHZhbGZyaXR0IGbDtnJlZ8OlbmduYSBhdiBldHQgaGVsdGFsc2FyZ3VtZW50IGsuXG4iCisiU3RhbmRhcmRhbHRlcm5hdGl2IGlub20gaGFrcGFyZW50ZXNlci5cbiIKKyJcbiIKKyJTdGrDpHJuYSAoKikgaW5kaWtlcmFyIGF0dCBhcmd1bWVudGV0IGJsaXIgbnl0dCBzdGFuZGFyZGFsdGVybmF0aXYuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMjEKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8YmxhbmtzdGVnPiAgICAgICAgICAgICBWaXNhIG7DpHN0YSBrIHJhZGVyIG1lZCB0ZXh0IFtha3R1ZWxsIHNrw6RybXN0b3JsZWtdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgVmlzYSBuw6RzdGEgayByYWRlciBtZWQgdGV4dCBbYWt0dWVsbCBza8Okcm1zdG9ybGVrXSpcbiIKKyI8cmV0dXI+ICAgICAgICAgICAgICAgICBWaXNhIG7DpHN0YSBrIHJhZGVyIG1lZCB0ZXh0IFsxXSpcbiIKKyJkIGVsbGVyIGN0cmwtRCAgICAgICAgICBSdWxsYSBrIHJhZGVyIFtha3R1ZWxsIHJ1bGxuaW5nc3N0b3JsZWssIGluaXRpYWx0IDExXSpcbiIKKyJxLCBRIGVsbGVyIDxhdmJyb3R0PiAgICBBdnNsdXRhIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBIb3BwYSBmcmFtw6V0IGsgcmFkZXIgbWVkIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgSG9wcGEgZnJhbcOldCBrIHNrw6RybWzDpG5nZGVyIG1lZCB0ZXh0IFsxXVxuIgorImIgZWxsZXIgY3RybC1CICAgICAgICAgIEhvcHBhIGJha8OldCBrIHNrw6RybWzDpG5nZGVyIG1lZCB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEfDpSB0aWxsIHBsYXRzZW4gZMOkciBmw7ZyZWfDpWVuZGUgc8O2a25pbmcgYsO2cmphZGVcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBWaXNhIGFrdHVlbGx0IHJhZG51bW1lclxuIgorIi88cmVndWxqw6RydCB1dHRyeWNrPiAgICBTw7ZrIGVmdGVyIGRlbiBrOnRlIGbDtnJla29tc3RlbiBhdiByZWd1bGrDpHJ0IHV0dHJ5Y2sgWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU8O2ayBlZnRlciBkZW4gazp0ZSBmw7ZyZWtvbXN0ZW4gYXYgc2VuYXN0ZSByZWd1bGrDpHJhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdXR0cnlja2V0IFsxXVxuIgorIiE8a21kbz4gZWxsZXIgOiE8a21kbz4gIEvDtnIgPGttZG8+IGkgZXR0IHVuZGVyc2thbFxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIFN0YXJ0YSAvdXNyL2Jpbi92aSB2aWQgYWt0dWVsbCByYWRcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSaXRhIG9tIHNrw6RybWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR8OlIHRpbGwgazp0ZSBuw6RzdGEgZmlsIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIEfDpSB0aWxsIGs6dGUgZsO2cmVnw6VlbmRlIGZpbCBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBWaXNhIGFrdHVlbGx0IGZpbG5hbW4gb2NoIHJhZG51bW1lclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFVwcHJlcGEgZsO2cmVnw6VlbmRlIGtvbW1hbmRvXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1RyeWNrIOKAnWjigJ0gZsO2ciBpbnN0cnVrdGlvbmVyLl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIuKAnSVz4oCdIHJhZCAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW0ludGUgZW4gZmlsXSByYWQgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgU3BpbGxcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU2NAorbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIuKApmhvcHBhciDDtnZlclxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyJNw7Zuc3RyZXQgaGl0dGFkZXMgaW50ZVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIk3Dtm5zdHJldCBoaXR0YWRlcyBpbnRlIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjUyCittc2dpZCAiZXhlYyBmYWlsZWRcbiIKK21zZ3N0ciAia8O2cm5pbmcgbWlzc2x5Y2thZGVzXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NjYKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgImthbiBpbnRlIGdyZW5hXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisi4oCmSG9wcGFyIMO2dmVyICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICLigKZIb3BwYXIgw7Z2ZXIgdGlsbCBmaWwgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAi4oCmSG9wcGFyIHRpbGxiYWthIHRpbGwgZmlsICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIlJhZGVuIMOkciBmw7ZyIGzDpW5nIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiSW5nZXQgdGlkaWdhcmUga29tbWFuZG8gYXR0IGVyc8OkdHRhIgorCisjIHNlYnJhczogcnVuIHNoZWxsIGNvbW1hbmQKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTIKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgZGVubmEgc2vDpHJtXG4iCisiICBxIGVsbGVyIFEgICAgICAgICAgICAgICBhdnNsdXRhIHByb2dyYW1cbiIKKyIgIDxueXJhZD4gICAgICAgICAgICAgICAgIG7DpHN0YSBzaWRhXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBob3BwYSBmcmFtw6V0IGVuIHNpZGFcbiIKKyIgIGQgZWxsZXIgXkQgICAgICAgICAgICAgIG7DpHN0YSBoYWx2c2lkYVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbsOkc3RhIHJhZFxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgc2lzdGEgc2lkYW5cbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHPDtmsgZnJhbcOldCBlZnRlciByZWd1bGrDpHJ0IHV0dHJ5Y2tcbiIKKyIgID9yZWdleD8gZWxsZXIgXnJlZ2V4XiAgIHPDtmsgYmFrw6V0IGVmdGVyIHJlZ3VsasOkcnQgdXR0cnlja1xuIgorIiAgLiBlbGxlciBeTCAgICAgICAgICAgICAgcml0YSBvbSBza8Okcm1lblxuIgorIiAgdyBlbGxlciB6ICAgICAgICAgICAgICAgc3TDpGxsIGluIHNpZHN0b3JsZWsgb2NoIGfDpSB0aWxsIG7DpHN0YSBzaWRhXG4iCisiICBzIGZpbG5hbW4gICAgICAgICAgICAgICBzcGFyYSBha3R1ZWxsIGZpbCB0aWxsIGZpbG5hbW5cbiIKKyIgICFrb21tYW5kbyAgICAgICAgICAgICAgIGvDtnIgc2thbGtvbW1hbmRvXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnw6UgdGlsbCBmw7ZyZWfDpWVuZGUgZmlsXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnw6UgdGlsbCBuw6RzdGEgZmlsXG4iCisiXG4iCisiTcOlbmdhIGtvbW1hbmRvbiBhY2NlcHRlcmFyIGF0dCBmw7ZyZWfDpXMgYXYgbnVtbWVyLCB0aWxsIGV4ZW1wZWw6XG4iCisiKzE8bnlyYWQ+IChuw6RzdGEgc2lkYSk7IC0xPG55cmFkPiAoZsO2cmVnw6VlbmRlIHNpZGEpOyAxPG55cmFkPiAoZsO2cnN0YSBzaWRhbikuXG4iCisiXG4iCisiU2UgcGcoMSkgZsO2ciB2aWRhcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW2ZsYWdnb3JdIFsrcmFkXSBbKy9tw7Zuc3Rlci9dIFtmaWxlcl1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIkJsw6RkZHJhIHNpZHZpcyBnZW5vbSB0ZXh0ZmlsZXIuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAgcmFkZXIgcGVyIHNpZGFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOQorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgdMO2bSBza8Okcm1lbiBpbm5hbiB2aXNuaW5nXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAgcGF1c2EgaW50ZSB2aWQgZmlsc2x1dFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIHJhZGJyeXQgaW50ZSBsw6VuZ2EgcmFkZXJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIGF2c2x1dGEga29tbWFuZG8gbWVkIG55cmFkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiAtcCA8cHJvbXB0PiAgYW5nZSBwcm9tcHRcbiIKKworIyBzZWJyYXM6IGRpc2FsbG93IHJ1bm5pbmcgc2hlbGwgY29tbWFuZHMKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgIHRpbGzDpXQgaW50ZSBrw7ZybmluZyBhdiBza2Fsa29tbWFuZG9uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIHNrcml2IHV0IG1lZGRlbGFuZGVuIHRpbGwgc3RhbmRhcmQgdXRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiICtudW1tZXIgICAgICBiw7ZyamEgcMOlIGFuZ2l2ZW4gcmFkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy9tw7Zuc3Rlci8gICBiw7ZyamEgcMOlIHJhZGVuIHNvbSBpbm5laMOlbGxlciBtw7Zuc3RlclxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiZmxhZ2dhbiBrcsOkdmVyIGV0dCBhcmd1bWVudCAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAib3RpbGzDpXRlbiBmbGFnZ2EgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIuKApmhvcHBhciBmcmFtw6V0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjkKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICLigKZob3BwYXIgYmFrw6V0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODUKK21zZ2lkICJObyBuZXh0IGZpbGUiCittc2dzdHIgIkluZ2VuIG7DpHN0YSBmaWwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJJbmdlbiB0aWRpZ2FyZSBmaWwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIkzDpHNmZWwgZnLDpW4gJXMtZmlsIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIk92w6RudGF0IGZpbHNsdXQgaSAlcy1maWwiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICJPa8OkbnQgZmVsIGkgJXMtZmlsIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiS2FuIGludGUgc2thcGEgdGVtcG9yw6RyIGZpbCIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIlJFLWZlbDogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRmlsc2x1dCkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJJbmdlbiBpaMOlZ2tvbW1lbiBzw7Zrc3Ryw6RuZyIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMTEKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgImthbiBpbnRlIMO2cHBuYSAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjYzCittc2dpZCAic2F2ZWQiCittc2dzdHIgInNwYXJhZCIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIWtvbW1hbmRvIGludGUgdGlsbMOldGV0IGkgcmZsYWctbMOkZ2UuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzg3Cittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSBtaXNzbHlja2FkZXMsIGbDtnJzw7ZrIGlnZW4gc2VuYXJlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoTsOkc3RhIGZpbDogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIlcyAlcyBDb3B5cmlnaHQgwqkgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIE1lZCBlbnNhbXLDpHR0LlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU5NCB0ZXh0LXV0aWxzL3BnLmM6MTY2NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHRvbGthIGFudGFsIHJhZGVyIHBlciBzaWRhIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICJBbnbDpG5kbmluZzogJXMgW2ZsYWdnb3JdIFtmaWwg4oCmXVxuIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjgxCittc2dpZCAiUmV2ZXJzZSBsaW5lcyBjaGFyYWN0ZXJ3aXNlLlxuIgorbXNnc3RyICJTa3JpdiB1dCByYWRlciB0ZWNrZW52aXMgaSBvbXbDpG5kIG9yZG5pbmcuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtmbGFnZ29yXSBbPGZpbD4g4oCmXVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ1Cittc2dpZCAiRG8gdW5kZXJsaW5pbmcuXG4iCittc2dzdHIgIkfDtnIgdW5kZXJzdHJ5a25pbmcuXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICDDpXNpZG9zw6R0dCBtaWxqw7Z2YXJpYWJlbG4gVEVSTVxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKK21zZ3N0ciAiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJzdHJ5a25pbmcgaW5kaWtlcmFzIHZpYSBlbiBzZXBhcmF0IGxpbmplXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgInByb2JsZW0gdmlkIGzDpHNuaW5nIGF2IHRlcm1pbmZvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAidGVybWluYWwg4oCdJXNcIiDDpHIgaW50ZSBrw6RuZCwgZmFsbGVyIHRpbGxiYWthIHRpbGwgc3RhbmRhcmR2w6RyZGV0IOKAnWR1bWLigJ0iCisKKyMgc2VicmFzOiBrb250cm9sbHNla3ZlbnM/CisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIm9rw6RuZCBrb250cm9sbHNla3ZlbnMgaSBpbmRhdGE6ICVvLCAlbyIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICJJbmRhdGFyYWRlbiDDpHIgZsO2ciBsw6VuZy4iCisKKyN+IG1zZ2lkICJHZW9tZXRyeSIKKyN+IG1zZ3N0ciAiR2VvbWV0cmkiCisKKyN+IG1zZ2lkICJraW5kIG9mIGxvY2s6IEZMX0ZMT0NLIG9yIEZMX1BPU0lYLiIKKyN+IG1zZ3N0ciAibMOlc3R5cDogRkxfRkxPQ0sgZWxsZXIgRkxfUE9TSVguIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWMgL2Jpbi91bW91bnQgb2YgYCVzJyIKKyN+IG1zZ3N0ciAia2FuIGludGUga8O2cmEgL2Jpbi91bW91bnQgZsO2ciDigJ0lc+KAnSIKKworI34gbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCisjfiBtc2dzdHIgInNvdmVyIH4lZCBtaWtyb3Nla1xuIgorCisjfiBtc2dpZCAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorI34gbXNnc3RyICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCisKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICB2aXNhIHl0dGVybGlnYXJlIGRldGFsamVyIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IGzDpHNhIGZyw6VuOiAlcyIKKworI34gbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKKyN+IG1zZ3N0ciAia2FuIGludGUga8O2cmE6ICVzIgorCisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAiYWxnb3JpdG0gc3TDtmRzIGludGU6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiAiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQW52w6RuZG5pbmc6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBbZW5oZXRlcl1cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGtvbW1hbmRvbiBlbmhldGVyXG4iCisjfiAiXG4iCisjfiAiVGlsbGfDpG5nbGlnYSBrb21tYW5kb246XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUaWxsZ8OkbmdsaWdhIGtvbHVtbmVyIChmw7ZyIC1vKTpcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgImZlbCB2aWQgc8O2a25pbmcgcMOlICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgdmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhO1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtViBzb20gLS12ZXJzaW9uIG3DpXN0ZSB2YXJhIGRlbiBlbmRhIGZsYWdnYW5cbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwdGV4dCBvY2ggYXZzbHV0YVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRpbGxnw6RuZ2xpZ2Ega29sdW1uZXIgKGbDtnIgLS1zaG93LCAtLXJhdyBlbGxlciAtLXBhaXJzKTpcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgc2tyaXYgdXQgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YVxuIgorCisjfiBtc2dpZCAiVHJ5ICclcyAtaCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkbDtnJzw7ZrIG1lZCDigJ0lcyAtLWhlbHDigJ0gZsO2ciB2aWRhcmUgaW5mb3JtYXRpb24uXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIHZpc2EgZGVubmEgaGrDpGxwIG9jaCBhdnNsdXRhXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gIHNrcml2IHV0IHZlcnNpb25zaW5mb3JtYXRpb24gb2NoIGF2c2x1dGFcbiIKKworI34gbXNnaWQgIiAtdSwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXUsIC0taGVscCAgICAgdmlzYSBkZW5uYSBoasOkbHAgb2NoIGF2c2x1dGFcbiIKKworI34gbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCisjfiBtc2dzdHIgIkluZ2Ega8OkbmRhIHNrYWwuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVGlsbGfDpG5nbGlnYSBrb2x1bW5lcjpcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtmbGFnZ29yXSAtdSA8YW52w6RuZGFyZT4gW1stLV0gPGtvbW1hbmRvPl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlRpbGxnw6RuZ2xpZ2Ega29sdW1uZXIgKGbDtnIgLS1vdXRwdXQpOlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJGw7Zyc8O2ayBtZWQg4oCdJXMgLS1oZWxw4oCdIGbDtnIgdmlkYXJlIGluZm9ybWF0aW9uLlxuIgorCisjfiBtc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgZsO2cmtsYXJhIHZhZCBzb20gaMOkbmRlclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgZ2VuZXJlcmEgc2x1bXBtw6Rzc2lnYSB1dWlkXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJlcmEgdGlkc2Jhc2VyYWRlIHV1aWRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBza3JpdiB1dCB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgdmlzYSBkZW5uYSBoasOkbHB0ZXh0IG9jaCBhdnNsdXRhXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICByYWRlcmEgYWxsYSBtYWdpc2thIHN0csOkbmdhciAoVkFSIEFLVFNBTSEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgc2thcGEgZW4gc2lnbmF0dXJzw6RrZXJoZXRza29waWEgaSAkSE9NRVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIHR2aW5nYSByYWRlcmluZ1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwdGV4dFxuIgorI34gIiAtbiwgLS1uby1hY3QgICAgICAgIGfDtnIgYWxsdGluZyB1dG9tIHNqw6RsdmEgd3JpdGUoKS1hbnJvcGV0XG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgcG9zaXRpb24gYXR0IHJhZGVyYSwgaSBieXRlXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgc2tyaXYgdXQgaSB0b2xrbmluZ3NiYXJ0IGlzdMOkbGxldCBmw7ZyIHV0c2tyaXZiYXJ0IGZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHVuZGVydHJ5Y2sgbWVkZGVsYW5kZW5cbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3RhPiAgYmVncsOkbnNhIG3DpG5nZGVuIGZpbHN5c3RlbSwgUkFJRDplciBlbGxlciBwYXJ0aXRpb25zdGFiZWxsZXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBza3JpdiB1dCB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCisjfiBtc2dzdHIgIkjDpXJkdmFydWtsb2NrYW5zIHJlZ2lzdGVyIGlubmVow6VsbGVyIHbDpHJkZW4gc29tIGFudGluZ2VuIMOkciBvZ2lsdGlnYSAodC5leC4gNTA6ZSBkYWdlbiBpIG3DpW5hZGVuKSBlbGxlciB1dGFuZsO2ciBkZXQgaW50ZXJ2YWxsIHNvbSB2aSBrYW4gaGFudGVyYSAodC5leC4gw6VyIDIwOTUpLiIKKworI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCisjfiBtc2dzdHIgIkjDpXJkdmFydWtsb2NrYW4gaW5uZWjDpWxsZXIgaW50ZSBlbiBnaWx0aWcgdGlkLCBzw6Ugdmkga2FuIGludGUgc3TDpGxsYSBzeXN0ZW10aWRlbiBmcsOlbiBkZW4uIgorCisjfiBtc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKyN+IG1zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworI34gbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorI34gbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJNw6VzdGUgdmFyYSBzdXBlcmFudsOkbmRhcmVuIGbDtnIgYXR0IGt1bm5hIHN0w6RsbGEgc3lzdGVta2xvY2thbi4iCisKKyN+IG1zZ2lkICJcdFVUQzogJXNcbiIKKyN+IG1zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyN+IG1zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorI34gbXNnc3RyICJKdXN0ZXJhciBpbnRlIGRyYWduaW5nc2Zha3Rvcm4gZWZ0ZXJzb20gaMOlcmR2YXJ1a2xvY2thbiB0aWRpZ2FyZSBpbm5laMO2bGwgc2tyw6RwLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRlc3QgbW9kZTogJXMgd2FzIG5vdCB1cGRhdGVkIHdpdGg6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJUZXN0bMOkZ2U6ICVzIHVwcGRhdGVyYWRlcyBpbnRlIG1lZDpcbiIKKyN+ICIlcyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgIkt1bmRlIGludGUgw7ZwcG5hIGZpbCBtZWQga2xvY2tqdXN0ZXJpbmdzcGFyYW1ldHJhciAoJXMpIGbDtnIgc2tyaXZuaW5nIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorI34gbXNnc3RyICJLdW5kZSBpbnRlIHVwcGRhdGVyYSBmaWwgbWVkIGtsb2NranVzdGVyaW5nc3BhcmFtZXRyYXIgKCVzKSIKKworI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIkRyYWduaW5nc2p1c3RlcmluZ3NwYXJhbWV0cmFybmEgdXBwZGF0ZXJhZGVzIGludGUuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAiSMOlcmR2YXJ1a2xvY2thbiBpbm5laMOlbGxlciBpbnRlIGVuIGdpbHRpZyB0aWQsIHPDpSB2aSBrYW4gaW50ZSBqdXN0ZXJhIGRlbi4iCisKKyN+IG1zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiJWxkIHNla3VuZGVyIGVmdGVyIDE5NjksIFJUQyBmw7ZydXRzcMOlcyB2YXJhICVsZCBzZWt1bmRlciBlZnRlciAxOTY5LlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiS3VuZGUgaW50ZSBmw6UgdGFnIGkgZXBva3bDpHJkZXQgZnLDpW4ga8Okcm5hbi4iCisKKyN+IG1zZ2lkICJLZXJuZWwgaXMgYXNzdW1pbmcgYW4gZXBvY2ggdmFsdWUgb2YgJWx1XG4iCisjfiBtc2dzdHIgIkvDpHJuYW4gYW50YXIgYXR0IGVwb2t2w6RyZGV0IMOkciAlbHVcbiIKKworI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIkbDtnIgYXR0IHN0w6RsbGEgZXBva3bDpHJkZXQgbcOlc3RlIGR1IGFudsOkbmRhIGZsYWdnYW4g4oCdZXBvY2jigJ0gZsO2ciBhdHQgYW5nZSB2aWxrZXQgdsOkcmRlIGRldCBza2Egc3TDpGxsYXMgaW4gcMOlLiIKKworI34gbXNnaWQgIk5vdCBzZXR0aW5nIHRoZSBlcG9jaCB0byAlbHUgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIlN0w6RsbGVyIGludGUgZXBva2VuIHRpbGwgJWx1IC0gdGVzdGFyIGJhcmEuXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorI34gbXNnc3RyICJLYW4gaW50ZSBzdMOkbGxhIGluIGVwb2t2w6RyZGV0IGkga8Okcm5hbi5cbiIKKworI34gbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCisjfiBtc2dzdHIgIkZyw6VnYSBvbSBlbGxlciBzdMOkbGwgaW4gaMOlcmR2YXJ1a2xvY2thbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwdGV4dCBvY2ggYXZzbHV0YVxuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICBsw6RzIGjDpXJkdmFydWtsb2NrYW4gb2NoIHNrcml2IHV0IHJlc3VsdGF0XG4iCisjfiAiICAgICAtLWdldCAgICAgICAgICAgIGzDpHMgaMOlcmR2YXJ1a2xvY2thbiBvY2ggc2tyaXYgdXQgcmVzdWx0YXQga29ycmlnZXJhdCBmw7ZyIGRyYWduaW5nXG4iCisjfiAiICAgICAtLXNldCAgICAgICAgICAgIHN0w6RsbCBpbiBSVEM6biBww6UgdGlkZW4gYW5naXZlbiBtZWQgLS1kYXRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICBzdMOkbGwgaW4gc3lzdGVtdGlkZW4gZnLDpW4gaMOlcmR2YXJ1a2xvY2thblxuIgorI34gIiAtdywgLS1zeXN0b2hjICAgICAgICBzdMOkbGwgaW4gaMOlcmR2YXJ1a2xvY2thbiBmcsOlbiBha3R1ZWxsIHN5c3RlbXRpZFxuIgorI34gIiAgICAgLS1zeXN0eiAgICAgICAgICBzdMOkbGwgaW4gc3lzdGVtdGlkZW4gYmFzZXJhZCBww6UgYWt0dWVsbCB0aWRzem9uXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgICAgIGp1c3RlcmEgUlRDOm4gZsO2ciBhdHQgdGEgaMOkbnN5biB0aWxsIHN5c3RlbWF0aXNrIGRyYWduaW5nIHNlZGFuXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAga2xvY2thbiBzZW5hc3Qgc3TDpGxsZGVzIGluIGVsbGVyIGp1c3RlcmFkZXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1nZXRlcG9jaCAgICAgICBza3JpdiB1dCBrw6RybmFucyBlcG9rdsOkcmRlIGbDtnIgaMOlcmR2YXJ1a2xvY2thblxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBzdMOkbGwgaW4ga8Okcm5hbnMgZXBva3bDpHJkZSBmw7ZyIGjDpXJkdmFydWtsb2NrYW4gdGlsbFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHbDpHJkZXQgYW5naXZldCBtZWQgLS1lcG9jaFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IFJUQyByZWFkaW5nIGF0IHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tcHJlZGljdCAgICAgICAgZsO2cnV0c3DDpSBSVEMtbMOkc25pbmcgdmlkIGVuIGdpdmVuIHRpZCBtZWQgLS1kYXRlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIHZpc2EgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIGjDpXJkdmFydWtsb2NrYW4gaMOlbGxlciBVVEMtdGlkXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIGjDpXJkdmFydWtsb2NrYW4gaMOlbGxlciBsb2thbHRpZFxuIgorCisjfiBtc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZiwgLS1ydGMgPGZpbD4gICAgICB2aWxrZW4gc3BlY2llbGwgL2Rldi/igKYtZmlsIHNvbSBza2EgYW52w6RuZGFzIGlzdMOkbGxldCBmw7ZyIHN0YW5kYXJkdsOkcmRldFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFudsOkbmQgZGlyZWt0w6V0a29tc3QgZsO2ciBJU0EtYnVzc2VuIGlzdMOkbGxldCBmw7ZyICVzXG4iCisjfiAiICAgICAtLWRhdGUgPHRpZD4gICAgIGFuZ2VyIHRpZGVuIHNvbSBow6VyZHZhcnVrbG9ja2FuIHPDpHR0cyB0aWxsXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSBkcmlmdCBmYWN0b3IgaW4gJTEkcyAocmVxdWlyZXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAtLXNldCBvciAtLXN5c3RvaGMpXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCBhY2Nlc3MgJTEkczsgdGhpcyByZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAtLWFkamZpbGUgPGZpbGU+IHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGU7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJTEkc1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwcGRhdGVyYSBkcmFnbmluZ3NmYWt0b3IgaSAlMSRzIChrcsOkdmVyXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgZWxsZXIgLS1zeXN0b2hjKVxuIgorI34gIiAgICAgLS1ub2FkamZpbGUgICAgICBhbnbDpG5kIGludGUgJTEkczsgZGV0dGEga3LDpHZlciBhbnbDpG5kbmluZ2VuIGF2XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgYW50aW5nZW4gLS11dGMgZWxsZXIgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZmlsPiAgYW5nZXIgc8O2a3bDpGdlbiB0aWxsIGp1c3RlcmluZ3NmaWxlbjtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBzdGFuZGFyZHbDpHJkZXQgw6RyICUxJHNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgdXBwZGF0ZXJhIGluZ2VudGluZywgYmFyYSB2aXNhIHZhZCBzb20gc2t1bGxlIGhhIGjDpG50XG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGZlbHPDtmtuaW5nc2zDpGdlXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorI34gbXNnc3RyICJvZ2lsdGlndCBlcG9rYXJndW1lbnQiCisKKyN+IG1zZ2lkICJyb290IHByaXZpbGVnZXMgbWF5IGJlIHJlcXVpcmVkIgorI34gbXNnc3RyICJyb290LXByaXZpbGVnaWVyIGthbiBrcsOkdmFzIgorCisjfiBtc2dpZCAiJXMgZG9lcyBub3QgaGF2ZSBpbnRlcnJ1cHQgZnVuY3Rpb25zLiAiCisjfiBtc2dzdHIgIiVzIGhhciBpbmdhIGF2YnJvdHRzZnVua3Rpb25lci4gIgorCisjfiBtc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCisjfiBtc2dzdHIgImlvY3RsKCkgcMOlICVzIGbDtnIgYXR0IHNsw6UgcMOlIHVwcGRhdGVyaW5nc2F2YnJvdHQgbWlzc2x5Y2thZGVzIG92w6RudGF0IgorCisjfiBtc2dpZCAiVG8gbWFuaXB1bGF0ZSB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbCwgd2UgbXVzdCBhY2Nlc3MgdGhlIExpbnV4ICdydGMnIGRldmljZSBkcml2ZXIgdmlhIHRoZSBkZXZpY2Ugc3BlY2lhbCBmaWxlLiAgVGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0IG9uIHRoaXMgc3lzdGVtLiIKKyN+IG1zZ3N0ciAiRsO2ciBhdHQgbWFuaXB1bGVyYSBlcG9rdsOkcmRldCBpIGvDpHJuYW4gbcOlc3RlIHZpIGtvbW1hIMOldCBMaW51eCDigJ1ydGPigJ0tZHJpdnJ1dGluIHZpYSBzcGVjaWFsZW5oZXRzZmlsZW4uIERlbm5hIGZpbCBmaW5ucyBpbnRlIHDDpSBkZXR0YSBzeXN0ZW0uIgorCisjfiBtc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisjfiBtc2dzdHIgInZpIGhhciBsw6RzdCBlcG9rZW4gJWx1IGZyw6VuICVzIG1lZCBSVENfRVBPQ0hfUkVBRC1pb2N0bC5cbiIKKworI34gbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCisjfiBtc2dzdHIgIkVwb2t2w6RyZGV0IGbDpXIgaW50ZSB2YXJhIG1pbmRyZSDDpG4gMTkwMC4gRHUgYmVnw6RyZGUgJWxkIgorCisjfiBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnc3RyICJzdMOkbGxlciBpbiBlcG9rZW4gdGlsbCAlbHUgbWVkIFJUQ19FUE9DSF9TRVQtaW9jdGwgcMOlICVzLlxuIgorCisjfiBtc2dpZCAiVGhlIGtlcm5lbCBkZXZpY2UgZHJpdmVyIGZvciAlcyBkb2VzIG5vdCBoYXZlIHRoZSBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKKyN+IG1zZ3N0ciAiS8Okcm5kcml2cnV0aW5lbiBmw7ZyICVzIGhhciBpbnRlIGlvY3RsOmVuIFJUQ19FUE9DSF9TRVQuIgorCisjfiBtc2dpZCAiIgorI34gIiVzXG4iCisjfiAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzXG4iCisjfiAiUHJvdmEgbWVkIOKAnSVzIC0taGVscOKAnSBmw7ZyIG1lciBpbmZvcm1hdGlvbi4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJQcm92YSBtZWQg4oCdJXMgLS1oZWxw4oCdIGbDtnIgbWVyIGluZm9ybWF0aW9uLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUaWxsZ8OkbmdsaWdhIGtvbHVtbmVyIChmw7ZyIC0tc2hvdyk6XG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICBtYWtlIGRyaXZlciB0byB0cnVzdCBpcnFcbiIKKyN+IG1zZ3N0ciAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgZsOlIGRyaXZydXRpbiBhdHQgbGl0YSBww6UgaXJxXG4iCisKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgICAgIHNrcml2IHV0IHZlcnNpb25zaW5mb3JtYXRpb24gb2NoIGF2c2x1dGFcbiIKKworI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgdmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uIG9jaCBhdnNsdXRhXG4iCisKKyN+IG1zZ2lkICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHAgb2NoIGF2c2x1dGFcbiIKKworI34gbXNnaWQgIiAtViAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1WICAgICAgICAgIHZpc2EgdmVyc2lvbnNpbmZvcm1hdGlvbiBvY2ggYXZzbHV0YVxuIgorCisjfiBtc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorI34gbXNnc3RyICJFbmhldGVuICVzIGlubmVow6VsbGVyIHJlZGFuIGVuICVzLXNpZ25hdHVyLiIKKworI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogZGVzc2EgZmxhZ2dvciDDpHIgw7Ztc2VzaWRpZ3QgdXRlc2x1dGFuZGU6IgorCisjfiBtc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc8O2ayBpIHRhYmVsbCDDtnZlciBtb250ZXJhZGUgZmlsc3lzdGVtXG4iCisKKyN+IG1zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKKyN+IG1zZ3N0ciAiU3TDpG5nIGF2IHRpbGxnw6VuZyB0aWxsIGV0dCBmaWxzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKKworI34gbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJLbG9ja2FuIMOkciBpbnRlIMOkbmRyYWQgLSB0ZXN0YXIgYmFyYS5cbiIKKworI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiSW5nZW4gLS1kYXRlLWZsYWdnYSBhbmdhdnMuIgorCisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICItLWRhdGUtYXJndW1lbnRldCDDpHIgZsO2ciBsw6VuZ3QiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisjfiAiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKKyN+IG1zZ3N0ciAiIgorI34gIlbDpHJkZXQgaSAtLWRhdGUtZmxhZ2dhbiDDpHIgaW50ZSBldHQgZ2lsdGlndCBkYXR1bS5cbiIKKyN+ICJJIHN5bm5lcmhldCBzb20gZGV0IGlubmVow6VsbGVyIGNpdGF0aW9uc3RlY2tlbi4iCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAiQW5yb3BhciBkYXRlLWtvbW1hbmRvdDogJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCisjfiBtc2dzdHIgIkthbiBpbnRlIGvDtnJhIOKAnWRhdGXigJ0tcHJvZ3JhbW1ldCBpIHNrYWxldCAvYmluL3NoLiBwb3BlbigpIG1pc3NseWNrYWRlcyIKKworI34gbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKKyN+IG1zZ3N0ciAic3ZhciBmcsOlbiBkYXRlLWtvbW1hbmRvdCA9ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAiZGF0ZS1rb21tYW5kb3Qgc29tIGFucm9wYWRlcyBhdiAlcyByZXR1cm5lcmFkZSBvdsOkbnRhZGUgcmVzdWx0YXQuXG4iCisjfiAiS29tbWFuZG90IHZhcjpcbiIKKyN+ICIgICVzXG4iCisjfiAiU3ZhcmV0IHZhcjpcbiIKKyN+ICIgICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJkYXRlLWtvbW1hbmRvdCBzb20gYW5yb3BhZGVzIGF2ICVzIHJldHVybmVyYWRlIG7DpWdvbnRpbmcgYW5uYXQgw6RuIGV0dCBoZWx0YWwgZMOkciBkZW4ga29udmVydGVyYWRlIHRpZGVuIGbDtnJ2w6RudGFkZXMuXG4iCisjfiAiS29tbWFuZG90IHZhcjpcbiIKKyN+ICIgICVzXG4iCisjfiAiU3ZhcmV0IHZhcjpcbiIKKyN+ICIgJXNcbiIKKworI34gbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiZGF0dW1zdHLDpG5nZW4gJXMgw6RyIGxpa2EgbWVkICVsZCBzZWt1bmRlciBzZWRhbiAxOTY5LlxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCisjfiBtc2dzdHIgIlN0w6RsbGVyIGludGUgc3lzdGVta2xvY2thbiBlZnRlcnNvbSB2aSBrw7ZyIGkgdGVzdGzDpGdlLlxuIgorCisjfiBtc2dpZCAiTm90IHVwZGF0aW5nIGFkanRpbWUgZmlsZSBiZWNhdXNlIG9mIHRlc3RpbmcgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiVXBwZGF0ZXJhciBpbnRlIGFkanRpbWUtZmlsZW4gZWZ0ZXJzb20gdmkgw6RyIGkgdGVzdGzDpGdlLlxuIgorCisjfiBtc2dpZCAiIgorI34gIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorI34gIiVzIgorI34gbXNnc3RyICIiCisjfiAiU2t1bGxlIHNrcml2aXQgZsO2bGphbmRlIHRpbGwgJXM6XG4iCisjfiAiJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJLw6RybmFuIHNwYXJhciBldHQgZXBva3bDpHJkZSBmw7ZyIGjDpXJkdmFydWtsb2NrYW4gZW5kYXN0IHDDpSBBbHBoYS1tYXNraW5lci5cbiIKKyN+ICJEZW5uYSBrb3BpYSBhdiBod2Nsb2NrIGJ5Z2dkZXMgZsO2ciBlbiBhbm5hbiBtYXNraW4gw6RuIEFscGhhXG4iCisjfiAiKG9jaCBrw7ZycyBkw6RyZsO2ciB0cm9saWdlbiBpbnRlIHDDpSBlbiBBbHBoYSBqdXN0IG51KS4gSW5nZW4gw6V0Z8OkcmQgdXRmw7ZyZGVzLiIKKworI34gbXNnaWQgIiAtYywgLS1jb21wYXJlICAgICAgICBwZXJpb2RpY2FsbHkgY29tcGFyZSB0aGUgc3lzdGVtIGNsb2NrIHdpdGggdGhlIENNT1MgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiIC1jLCAtLWNvbXBhcmUgICAgICAgIGrDpG1mw7ZyIHBlcmlvZGlza3Qgc3lzdGVta2xvY2thbiBtZWQgQ01PUy1rbG9ja2FuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisjfiAiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICBnw6UgZGlyZWt0IG1vdCBJU0EtYnVzc2VuIGlzdMOkbGxldCBmw7ZyICVzXG4iCisjfiAiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZXJhIFJUQzpucyDDpXIgZWZ0ZXJzb20gQklPUyDDpHIgdHJhc2lndFxuIgorI34gIiAgICAgLS1kYXRlIDx0aWQ+ICAgICBhbmdlciB0aWRlbiBzb20gaMOlcmR2YXJ1a2xvY2thbiBza2Egc3TDpGxsYXMgaW4gcMOlXG4iCisjfiAiICAgICAtLWVwb2NoIDzDpXI+ICAgICBhbmdlciDDpXJldCBzb20gaW5sZWRlciBow6VyZHZhcnVrbG9ja2FucyBlcG9rdsOkcmRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1KfC0tamVuc2VuLCAtQXwtLWFyYywgLVN8LS1zcm0sIC1GfC0tZnVua3ktdG95XG4iCisjfiAiICAgICAgdGVsbCBod2Nsb2NrIHRoZSB0eXBlIG9mIEFscGhhIHlvdSBoYXZlIChzZWUgaHdjbG9jayg4KSlcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIGJlcsOkdHRhIGbDtnIgaMOlcmR2YXJ1a2xvY2thIHZpbGtlbiB0eXAgYXYgQWxwaGEgZHUgaGFyIChzZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIkVuZGFzdCBzdXBlcmFudsOkbmRhcmVuIGthbiBhbnbDpG5kYSBow6VyZHZhcnVrbG9ja2FuLiIKKworI34gbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorI34gbXNnc3RyICIlcyB0YXIgaW5nYSBhcmd1bWVudCBzb20gaW50ZSDDpHIgZmxhZ2dvci4gRHUgYW5nYXYgJWQuXG4iCisKKyN+IG1zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKKyN+IG1zZ3N0ciAiSW5nZW4gYW52w6RuZGJhciB0aWQgYXR0IHN0w6RsbGEgaW4uIEthbiBpbnRlIHN0w6RsbGEga2xvY2thbi4iCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgInN0YXJ0YWRlIGZyw6VuIE1JTE9cbiIKKworI34gbXNnaWQgIlJ1ZmZpYW4gQkNEIGNsb2NrXG4iCisjfiBtc2dzdHIgIlJ1ZmZpYW4gQkNELWtsb2NrYVxuIgorCisjfiBtc2dpZCAiY2xvY2twb3J0IGFkanVzdGVkIHRvIDB4JXhcbiIKKyN+IG1zZ3N0ciAia2xvY2twb3J0ZW4ganVzdGVyYWRlcyB0aWxsIDB4JXhcbiIKKworI34gbXNnaWQgImZ1bmt5IFRPWSFcbiIKKyN+IG1zZ3N0ciAiaMOkZnRpZyBMRUtTQUshXG4iCisKKyN+IG1zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorI34gbXNnc3RyICJhdG9taXNrICVzIG1pc3NseWNrYWRlcyB1bmRlciAxMDAwIGl0ZXJhdGlvbmVyISIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKTogc2tyaXZuaW5nIHRpbGwga29udHJvbGxhZHJlc3MgJVggbWlzc2x5Y2thZGVzIgorCisjfiBtc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKTogbMOkc25pbmcgZnLDpW4gZGF0YWFkcmVzcyAlWCBtaXNzbHlja2FkZXMiCisKKyN+IG1zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3Nfd3JpdGUoKTogc2tyaXZuaW5nIHRpbGwga29udHJvbGxhZHJlc3MgJVggbWlzc2x5Y2thZGVzIgorCisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3dyaXRlKCk6IHNrcml2bmluZyB0aWxsIGRhdGFhZHJlc3MgJVggbWlzc2x5Y2thZGVzIgorCisjfiBtc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorI34gbXNnc3RyICJKYWcgbWlzc2x5Y2thZGVzIG1lZCBhdHQgZsOlIHRpbGzDpXRlbHNlIGVmdGVyc29tIGphZyBpbnRlIGbDtnJzw7ZrdGUuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCisjfiBtc2dzdHIgImthbiBpbnRlIGbDpSBJL08tcG9ydHRpbGxnw6VuZzogaW9wbCgzKS1hbnJvcGV0IG1pc3NseWNrYWRlcy4iCisKKyN+IG1zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCisjfiBtc2dzdHIgIkR1IGJlaMO2dmVyIHRyb2xpZ3R2aXMgcm9vdC1wcml2aWxlZ2llci5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorI34gbXNnc3RyICJtaXNzbHlja2FkZXMgbWVkIGF0dCBpbml0aWVyYSB1dG1hdG5pbmdzcmFkIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJmZWw6IEthbiBpbnRlIHN0w6RsbGEgaW4gc2lnbmFsaGFudGVyYXJlIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAiZmVsOiBrYW4gaW50ZSDDpXRlcnN0w6RsbGEgc2lnbmFsaGFudGVyYXJlIgorCisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAiZW5kYXN0IHJvb3Qga2FuIG1vbnRlcmEgJXMgcMOlICVzIgorCisjfiBtc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICIlcyBhbnbDpG5kcyBzb20gc2tyaXZza3lkZGFkIGxvb3BlbmhldCwgbW9udGVyYXIgc29tIGVuZGFzdCBsw6RzYmFyIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorI34gIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisjfiAiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogZmxlciBmaWxzeXN0ZW0gaWRlbnRpZmllcmFkZS4gRGV0dGEgYsO2ciBpbnRlIGjDpG5kYSxcbiIKKyN+ICIgICAgICAgYW52w6RuZCAtdCA8dHlwPiBmw7ZyIGF0dCB1dHRyeWNrbGlnZW4gYW5nZSBmaWxzeXN0ZW1zdHlwZW4gZWxsZXJcbiIKKyN+ICIgICAgICAgYW52w6RuZCB3aXBlZnMoOCkgZsO2ciBhdHQgcmVuc2EgdXBwIGVuaGV0ZW4uIgorCisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIkphZyBrdW5kZSBpbnRlIGF2Z8O2cmEgZmlsc3lzdGVtc3R5cGVuLCBvY2ggaW5nZW4gYW5nYXZzIgorCisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJkdSBtw6VzdGUgYW5nZSBmaWxzeXN0ZW1zdHlwZW4iCisKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIm1vbnRlcmluZ3Nrw6RsbGEgaW50ZSBkZWZpbmllcmFkIgorCisjfiBtc2dpZCAiJXM6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IG1vbnRlcmluZyBtaXNzbHlja2FkZXMiCisKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICIlczogZmlsc3lzdGVtIG1vbnRlcmF0LCBtZW4gbW91bnQoOCkgbWlzc2x5Y2thZGVzIgorCisjfiBtc2dpZCAiJXMgaXMgYnVzeSIKKyN+IG1zZ3N0ciAiJXMgw6RyIHVwcHRhZ2VuIgorCisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgw6RyIHJlZGFuIG1vbnRlcmFkIHDDpSAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSSBlbiBkZWwgZmFsbCBrYW4gYW52w6RuZGJhciBpbmZvcm1hdGlvbiBoaXR0YXMgaSBzeXNsb2dcbiIKKyN+ICIgICAgICAgLSBwcm92YSBkbWVzZyB8IHRhaWwgZWxsZXIgbGlrbmFuZGUuXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgIm9rw6RuZCBmbGFnZ2Eg4oCdJWPigJ0iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IHRhcmdldCBpcyBidXN5XG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorI34gIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBtw6VsIMOkciB1cHB0YWdldFxuIgorI34gIiAgICAgICAgKEkgdmlzc2EgZmFsbCBrYW4gYW52w6RuZGJhciBpbmZvcm1hdGlvbiBvbSBwcm9jZXNzZXJcbiIKKyN+ICIgICAgICAgICBzb20gYW52w6RuZGVyIGVuaGV0ZW4gaGl0dGFzIHZpYSBsc29mKDgpIGVsbGVyIGZ1c2VyKDEpLikiCisKKyN+IG1zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCisjfiBtc2dzdHIgIiVzOiBtb250ZXJpbmdzcHVua3QgaGl0dGFkZXMgaW50ZSIKKworI34gbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKKyN+IG1zZ3N0ciAicmFkZW4gJWQgw6RyIGbDtnIgbMOlbmcsIHV0bWF0bmluZyBrb21tZXIgYXR0IHRydW5rZXJhcyIKKworI34gbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorI34gbXNnc3RyICJvZnVsbHN0w6RuZGlnIHNrcml2bmluZyB0aWxsIOKAnSVz4oCdIChza3JldiAlemQsIGbDtnJ2w6RudGFkZSAlemQpXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpGdnYSB0aWxsIGlub3RpZnktYmV2YWtuaW5nIChiZWdyw6Ruc25pbmcgZsO2ciBhbnRhbCBpbm90aWZ5LWJldmFrbmluZ2FyIMOkciBuw6VkZCkuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICIgJXMgW2ZsYWdnb3JdIDxmaWw+XG4iCisKKyN+IG1zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorI34gbXNnc3RyICJGw7ZsaiBodXIgZW4gbG9nZ2ZpbCB2w6R4ZXIuXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiIC1uLCAtLWxpbmVzIDxudW1tZXI+ICAgbWF0YSB1dCBkZSBzZW5hc3RlIDxudW1tZXI+IHJhZGVybmFcbiIKKworI34gbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorI34gbXNnc3RyICIgLTxudW1tZXI+ICAgICAgICAgICAgICBzYW1tYSBzb20gJy1uIDxudW1tZXI+J1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBhbnbDpG5kbmluZyBhdiDigJ10YWlsZuKAnSDDpHIgZsO2csOlbGRyYXQsIGFudsOkbmQg4oCddGFpbCAtZuKAnSBpc3TDpGxsZXQuXG4iCisKKyN+IG1zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiaW5nZW4gaW5kYXRhZmlsIGFuZ2l2ZW4iCisKKyN+IG1zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKKyN+IG1zZ3N0ciAiJXM6IMOkciBpbnRlIGVuIGZpbCIKKworI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICJGaWxzeXN0ZW1zZXRpa2V0dDoiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgIm1pc3NseWNrYWRlcyBtZWQgYXR0IHN0w6RsbGEgaW4gU8OWS1bDhEciCisKKyN+IG1zZ2lkICIlZCIKKyN+IG1zZ3N0ciAiJWQiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmcgYXYgZmxhZ2dhbiDigJ1raWxsIC0tcGlk4oCdIHNvbSBrb21tYW5kb25hbW4gw6RyIGbDtnLDpWxkcmF0IgorCisjfiBtc2dpZCAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKyN+IG1zZ3N0ciAiJTRkLSUuMmQtJS4yZCAlMDJkOiUwMmQ6JTAyZC4lMDZsZCUrMDJkOiUwMmRcbiIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAiZmVsYWt0aWd0IHRpZHNncsOkbnN2w6RyZGU6ICVzIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAiZsO2cnbDpG50YWRlIGV0dCBudW1tZXIsIG1lbiBmaWNrIOKAnSVz4oCdIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJkZWxhcmUg4oCdJXPigJ0iCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgImFyZ3VtZW50ZmVsOiAlcyIKKworI34gbXNnaWQgInR0eSBwYXRoICVzIHRvbyBsb25nIgorI34gbXNnc3RyICJ0dHktc8O2a3bDpGcgJXMgw6RyIGbDtnIgbMOlbmciCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICJzdMOkbGwgaW4gYmxvY2tzdG9ybGVrIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBbZW5oZXRlcl1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBrb21tYW5kb24gZW5oZXRlclxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gaW50ZSDDtnBwbmEgJXNcbiIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiJXMgw6RyIGluZ2VuIGJsb2NrZW5oZXQgZWxsZXIgZmlsXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogJXMgWyAtbiBdIGVuaGV0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJhbnbDpG5kbmluZzogJXMgWy1odl0gWy14IGthdF0gZmlsXG4iCisjfiAiIC1oICAgICAgICAgdmlzYSBkZW5uYSBoasOkbHB0ZXh0XG4iCisjfiAiIC14IGthdCAgICAgcGFja2EgdXBwIGkga2F0XG4iCisjfiAiIC12ICAgICAgICAgdmFyIG1lciB1dGbDtnJsaWdcbiIKKyN+ICIgZmlsICAgICAgICBmaWwgYXR0IHRlc3RhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIlczoga29tcGlsZXJhZCB1dGFuIHN0w7ZkIGbDtnIgLXhcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogJXMgWy1sYXJ2c21mXSAvZGV2L25hbW5cbiIKKworI34gbXNnaWQgIiVzOiBvcHRpb24gcGFyc2UgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IGZlbCB2aWQgZmxhZ2d0b2xrbmluZ1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1hdmJpbGRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbnbDpG5kbmluZzogJXMgWy12XSBbLU4gYW50YWwtaW5vZGVyXSBbLVYgdm9seW1uYW1uXVxuIgorI34gIiAgICAgICAgICAgIFstRiBmaWxzeXN0ZW1zbmFtbl0gZW5oZXQgW2Jsb2NrYW50YWxdXG4iCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMgw6RyIGluZ2VuIGJsb2Nrc3BlY2lhbGVuaGV0IgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBTbHV0IHDDpSBtaW5uZSFcbiIKKworI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLlxuIgorI34gbXNnc3RyICIiCisjfiAiTXlja2V0IGzDpW5ndCAoJXUgYnl0ZSkgZmlsbmFtbiBcIiVzXCIgaGl0dGFkZXMuXG4iCisjfiAiIMOWa2EgTUFYX0lOUFVUX05BTUVMRU4gaSBta2NyYW1mcy5jIG9jaCBrb21waWxlcmEgb20uIEF2c2x1dGFyLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogJXMgWy1jIHwgLWwgZmlsbmFtbl0gWy1uWFhdIFstaVhYXSAvZGV2L25hbW4gW2Jsb2NrXVxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgImthbiBpbnRlIGFsbG9rZXJhIGJ1ZmZlcnRhciBmw7ZyIHRhYmVsbGVyIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICJrYW4gaW50ZSBhbGxva2VyYSBidWZmZXJ0IGbDtnIgaW5vZGVyIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICJldHQgZmVsYWt0aWd0IGJsb2NrXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAic3RydG9sLWZlbDogYW50YWxldCBibG9jayDDpHIgaW50ZSBhbmdpdmV0IgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJrYW4gaW50ZSBow6RtdGEgc3Rvcmxla2VuIHDDpSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FsbG9jKCkgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJtYWxsb2MoKSBtaXNzbHlja2FkZXMiCisKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi5cbiIKKyN+IG1zZ3N0ciAiRmVsYWt0aWcgc3RvcmxlayBww6UgdsOkeGxpbmdzaHV2dWQsIGluZ2VuIGV0aWtldHQgc2tyZXZzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkFudsOkbmRuaW5nOiAlcyBbLWNdIFstdjB8LXYxXSBbLXBTSURTVE9STEVLXSBbLUwgZXRpa2V0dF0gL2Rldi9uYW1uIFtibG9ja11cbiIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJlbiBmZWxha3RpZyBzaWRhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICBvbiB3aG9sZSBkaXNrLiAiCisjfiBtc2dzdHIgIiAgIHMgICB2aXNhIGZ1bGxzdMOkbmRpZyBkaXNrZXRpa2V0dCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZG9lcyBub3Qgc3VwcG9ydCBzd2Fwc3BhY2UgdmVyc2lvbiAlZC5cbiIKKyN+IG1zZ3N0ciAiJXM6IGZlbDogdmVyc2lvbiAlZCDDpHIgb2vDpG5kXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJ1xuIgorI34gbXNnc3RyICIlczogZmVsOiBrb21tZXIgaW50ZSBhdHQgZsO2cnPDtmthIHNrYXBhIHbDpHhsaW5nc2VuaGV0IHDDpSBcIiVzXCJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIkFudsOkbmRuaW5nOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRsO2ciBtZXIgaW5mb3JtYXRpb24sIHNlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICJVbnVzYWJsZSIKKyN+IG1zZ3N0ciAiT2FudsOkbmRiYXIiCisKKyN+IG1zZ2lkICJEaXNrIGhhcyBiZWVuIGNoYW5nZWQuXG4iCisjfiBtc2dzdHIgIkRpc2tlbiBoYXIgw6RuZHJhdHMuXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlN0YXJ0YSBvbSBzeXN0ZW1ldCBmw7ZyIGF0dCBmw7Zyc8Oka3JhIGRpZyBvbSBhdHQgcGFydGl0aW9uc3RhYmVsbGVuIGhhclxuIgorI34gInVwcGRhdGVyYXRzIGtvcnJla3QuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFSTklORzogT20gZHUgaGFyIHNrYXBhdCBlbGxlciDDpG5kcmF0IERPUyA2LngtXG4iCisjfiAicGFydGl0aW9uZXIgYsO2ciBkdSB0aXR0YSBpIG1hbnVhbGVuIGbDtnIgY2ZkaXNrXG4iCisjfiAiZsO2ciB5dHRlcmxpZ2FyZSBpbmZvcm1hdGlvbi5cbiIKKworI34gbXNnaWQgIkZBVEFMIEVSUk9SIgorI34gbXNnc3RyICLDlkRFU0RJR0VSVCBGRUwiCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICJUcnljayB2YWxmcmkgdGFuZ2VudCBmw7ZyIGF0dCBhdnNsdXRhIGNmZGlzayIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkthbiBpbnRlIHPDtmthIHDDpSBkaXNrZW5oZXQiCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJLYW4gaW50ZSBpbnRlIGzDpHNhIGRpc2tlbmhldCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICJQYXJ0aXRpb25lbiBiw7ZyamFyIGbDtnJlIHNla3RvciAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGFydGl0b25lbiBiw7ZyamFyIGVmdGVyIHNsdXRldCBww6UgZGlza2VuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIlBhcnRpdGlvbmVuIHNsdXRhciBlZnRlciBzbHV0ZXQgcMOlIGRpc2tlbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGluIHRoZSBmaW5hbCBwYXJ0aWFsIGN5bGluZGVyIgorI34gbXNnc3RyICJQYXJ0aXRpb25lbiBzbHV0YXIgaSBkZW4gc2x1dGxpZ2EgcGFydGllbGxhIGN5bGluZGVybiIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlciIKKyN+IG1zZ3N0ciAibG9naXNrYSBwYXJ0aXRpb25lciDDpHIgaW50ZSBpIGRpc2tvcmRuaW5nIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG92ZXJsYXAiCisjfiBtc2dzdHIgImxvZ2lza2EgcGFydGl0aW9uZXIgw7Z2ZXJsYXBwYXIgdmFyYW5kcmEiCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiZsO2cnN0b3JhZGUgbG9naXNrYSBwYXJ0aXRpb25lciDDtnZlcmxhcHBhciB2YXJhbmRyYSIKKworI34gbXNnaWQgIiEhISEgSW50ZXJuYWwgZXJyb3IgY3JlYXRpbmcgbG9naWNhbCBkcml2ZSB3aXRoIG5vIGV4dGVuZGVkIHBhcnRpdGlvbiAhISEhIgorI34gbXNnc3RyICIhISEhIEludGVybnQgZmVsIHZpZCBza2FwYW5kZSBhdiBsb2dpc2sgZW5oZXQgdXRhbiB1dMO2a2FkIHBhcnRpdGlvbiAhISEhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJLYW4gaW50ZSBza2FwYSBsb2dpc2sgZW5oZXQgaMOkciAtLSBkZXQgc2t1bGxlIHNrYXBhIHR2w6UgdXTDtmthZGUgcGFydGl0aW9uZXIiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiTWVueXBvc3RlbiDDpHIgZsO2ciBsw6VuZy4gTWVueW4ga2FuIHNlIGtvbnN0aWcgdXQuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIk1lbnkgdXRhbiByaWt0bmluZy4gQW52w6RuZGVyIHN0YW5kYXJkdsOkcmRldCB2w6VncsOkdC4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAiT2dpbHRpZyB0YW5nZW50IgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJTa2FwYSBlbiBueSBwcmltw6RyIHBhcnRpdGlvbiIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAiQXZicnl0IgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIEludGVybnQgZmVsICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICJTdG9ybGVrIChpIE1CKTogIgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICJCw7ZyamFuIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiTMOkZ2cgdGlsbCBwYXJ0aXRpb24gaSBiw7ZyamFuIGF2IGRldCBsZWRpZ2EgdXRyeW1tZXQiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJMw6RnZyB0aWxsIHBhcnRpdGlvbiBpIHNsdXRldCBhdiBkZXQgbGVkaWdhIHV0cnltbWV0IgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiSW5nZW4gcGxhdHMgYXR0IHNrYXBhIGRlbiB1dMO2a2FkZSBwYXJ0aXRpb25lbiIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiSW5nZW4gcGFydGl0aW9uc3RhYmVsbC4gU3RhcnRhciBtZWQgdG9tIHRhYmVsbC4iCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiRmVsYWt0aWcgc2lnbmF0dXIgcMOlIHBhcnRpdGlvbnN0YWJlbGwiCisKKyN+IG1zZ2lkICJVbmtub3duIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorI34gbXNnc3RyICJPa8OkbmQgdHlwIGF2IHBhcnRpdGlvbnN0YWJlbGwiCisKKyN+IG1zZ2lkICJEbyB5b3Ugd2lzaCB0byBzdGFydCB3aXRoIGEgemVybyB0YWJsZSBbeS9OXSA/IgorI34gbXNnc3RyICJWaWxsIGR1IGLDtnJqYSBtZWQgZW4gdG9tIHRhYmVsbCBbai9OXT8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgZGlza2VuaGV0IgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAiw5ZwcG5hZGUgZGlza2VuIHNrcml2c2t5ZGRhdCAtIGR1IGhhciBpbmdlbiBiZWjDtnJpZ2hldCBhdHQgc2tyaXZhIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICJWYXJuaW5nISEgIEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIHVwcHTDpGNrdGVzIG1lbiBzdMO2ZHMgaW50ZS4gQW52w6RuZCBHTlUgUGFydGVkLiIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiRmVsYWt0aWcgcHJpbcOkciBwYXJ0aXRpb24iCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICJWYXJuaW5nISEgRGV0dGEga2FuIGbDtnJzdMO2cmEgZGF0YSBww6UgZGluIGRpc2shIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIkFuZ2UgXCJqYVwiIGVsbGVyIFwibmVqXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlLCBidXQgcmUtcmVhZCB0YWJsZSBmYWlsZWQuICBSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHRvIHVwZGF0ZSB0YWJsZS4iCisjfiBtc2dzdHIgIlNrcmV2IHBhcnRpdGlvbnN0YWJlbGxlbiwgbWVuIG9tbMOkc25pbmcgYXYgdGFiZWxsZW4gbWlzc2x5Y2thZGVzLiBTdGFydGEgb20gZsO2ciBhdHQgdXBwZGF0ZXJhIHRhYmVsbGVuLiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICIiCisjfiAiSW5nYSBwcmltw6RyYSBwYXJ0aXRpb25lciDDpHIgbWFya2VyYWRlIHNvbSBzdGFydGJhcmEuIERPUyBodXZ1ZHN0YXJ0cG9zdFxuIgorI34gIihNQlIpIGthbiBpbnRlIHN0YXJ0YSBkZXR0YS4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiIgorI34gIk1lciDDpG4gZW4gcHJpbcOkciBwYXJ0aXRpb24gw6RyIG1hcmtlcmFkIHNvbSBzdGFydGJhci4gRE9TIGh1dnVkc3RhcnRwb3N0XG4iCisjfiAiKE1CUikga2FuIGludGUgc3RhcnRhIGRldHRhLiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICJBbmdlIGZpbG5hbW5ldCBlbGxlciB0cnljayBSRVRVUiBmw7ZyIGF0dCB2aXNhIHDDpSBza8Okcm1lbjogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAiRGlza2VuaGV0OiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3RvciAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJTZWt0b3IgJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICBJbmdlbiAgIgorCisjIFByaW3DpHIvTG9naXNrIGFudGFyIGphZworI34gbXNnaWQgIiAgIFByaS9Mb2ciCisjfiBtc2dzdHIgIiAgIFByaS9Mb2ciCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICBQcmltw6RyICIKKworI34gbXNnaWQgIiAgIExvZ2ljYWwiCisjfiBtc2dzdHIgIiAgIExvZ2lzayAiCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIkluZ2VuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyBUeXAgICAgICAgIFNla3RvciAgICAgIFNla3RvciAgIEF2c3TDpW5kICAgTMOkbmdkICAgIEZpbHN5c3RlbXN0eXAgKElEKSAgIEZsYWdnYVxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0gLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyMgVGhpcyBpcyBicm9rZW4KKyMKKyMgZnBfcHJpbnRmKGZwLCBfKCIgICAgICAgICAtLS1TdGFydGluZy0tLSAgICAgIC0tLS1FbmRpbmctLS0tICAgIFN0YXJ0IE51bWJlciBvZlxuIikpOworIyBmcF9wcmludGYoZnAsIF8oIiAjIEZsYWdzIEhlYWQgU2VjdCBDeWwgICBJRCAgSGVhZCBTZWN0IEN5bCAgICBTZWN0b3IgU2VjdG9yc1xuIikpOworIyBmcF9wcmludGYoZnAsIF8oIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0tLS0gLS0tLS0tLS0tXG4iKSk7CisjCisjIFRoaXMgbWFrZXMgbm8gc2Vuc2UgdG8gdHJhbnNsYXRlIHNlcGVyYXRlbHksIHNpbmNlIHRoZSBsaW5lcyBhcmUgdmVyeQorIyBtdWNoIHJlbGF0ZWQuIEluIGZhY3QsIGluIHNlcGVyYXRlIG1lc3NhZ2VzIGxpa2UgdGhlIGFib3ZlIGl0IG1ha2VzCisjIHNlbnNlIHRvIHRyYW5zbGF0ZSAiU3RhcnQgTnVtYmVyIG9mIjogT25seSBpZiB5b3UgbG9vayBjYXJlZnVsbHkgaW4gdGhlCisjIHNvdXJjZSB5b3UgcmVhbGl6ZSB0aGF0ICJTdGFydCIgYmVsb25ncyB0byAiU2VjdG9yIiBpbiBhbm90aGVyIG1lc3NhZ2UKKyMgKHRoZSBvbmUgZnJvbSB0aGUgbGluZSBiZWxvdyBpbiB0aGUgc291cmNlKS4KKyMKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tLVN0YXJ0LS0tLS0gICAgICAtLS0tLVNsdXQtLS0tLSAgIFN0YXJ0LSAgICBBbnRhbFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBGbGdnciAgSHZkIFNla3QgQ3lsICAgSUQgIEh2ZCAgU2VrdCBDeWwgICAgIHNla3RvciAgICBzZWt0b3JlclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisKKyN+IG1zZ2lkICJSYXciCisjfiBtc2dzdHIgIlLDpXR0IgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiVmlzYSB0YWJlbGxlbiBpIHLDpXR0IGRhdGFmb3JtYXQiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJWaXNhIHRhYmVsbGVuIHNvcnRlcmFkIGVmdGVyIHNla3RvcmVyIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmVsbCIKKworI34gbXNnaWQgIkRvbid0IHByaW50IHRoZSB0YWJsZSIKKyN+IG1zZ3N0ciAiVmlzYSBpbnRlIHRhYmVsbGVuIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiSGrDpGxwc2vDpHJtIGbDtnIgY2ZkaXNrIgorCisjfiBtc2dpZCAiZGlzayBkcml2ZS4iCisjfiBtc2dzdHIgImjDpXJkZGlzay4iCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluIG9jaCBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICDDhG5kcmEgcGFyYW1ldHJhcm5hIGbDtnIgY3lsaW5kcmFyLCBodXZ1ZGVuLCBzZWt0b3Jlci1wZXItc3DDpXIiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAgVkFSTklORzogRGVubmEgZmxhZ2dhIGLDtnIgZW5kYXN0IGFudsOkbmRhcyBhdiBwZXJzb25lciBzb20iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIHZldCB2YWQgZGUgZ8O2ci4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBNYXhpbWVyYSBkaXNrYW52w6RuZGFuZGV0IHDDpSBha3R1ZWxsIHBhcnRpdGlvbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBPYnM6IERldHRhIGthbiBrb21tYSBhdHQgZ8O2cmEgcGFydGl0aW9uZW4gaW5rb21wYXRpYmVsIG1lZCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIERPUywgT1MvMiwgLi4uIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIHRoYXQgeW91IGNhbiBjaG9vc2UgZnJvbToiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBzb20gZHUga2FuIHbDpGxqYSBtZWxsYW46IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICByIC0gUsOlIGRhdGEgKGV4YWt0IGRldCBzb20gc2t1bGxlIHNrcml2YXMgdGlsbCBkaXNrZW4pIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gVGFiZWxsIHNvcnRlcmFkIGVmdGVyIHNla3RvcmVyIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIEJ5dCBlbmhldGVyIHDDpSB2aXNuaW5nZW4gYXYgcGFydGl0aW9uc3N0b3JsZWsiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgUm90YXRlcyB0aHJvdWdoIE1CLCBzZWN0b3JzIGFuZCBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBCeXRlciBtZWxsYW4gTUIsIHNla3RvcmVyIG9jaCBjeWxpbmRyYXIiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgYG5vJyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGVsbGVyIFwibmVqXCIiCisKKyN+IG1zZ2lkICJDVFJMLUwgICAgICAgUmVkcmF3cyB0aGUgc2NyZWVuIgorI34gbXNnc3RyICJDVFJMK0wgICAgICAgUml0YSBvbSBza8Okcm1lbiIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIFZpc2EgZGVubmEgc2vDpHJtIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICLDhG5kcmEgY3lsaW5kZXJnZW9tZXRyaSIKKworI34gbXNnaWQgIkNoYW5nZSBoZWFkIGdlb21ldHJ5IgorI34gbXNnc3RyICLDhG5kcmEgaHV2dWRnZW9tZXRyaSIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIsOEbmRyYSBzZWt0b3JnZW9tZXRyaSIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIktsYXIiCisKKyN+IG1zZ2lkICJEb25lIHdpdGggY2hhbmdpbmcgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkbDpHJkaWcgbWVkIGdlb21ldHJpw6RuZHJpbmciCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIkFuZ2UgYW50YWxldCBodXZ1ZGVuOiAiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrOiAiCisjfiBtc2dzdHIgIkFuZ2UgYW50YWxldCBzZWt0b3JlciBwZXIgc3DDpXI6ICIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBlbXB0eSIKKyN+IG1zZ3N0ciAiS2FuIGludGUgw6RuZHJhIGZpbHN5c3RlbXN0eXBlbiB0aWxsIGV0dCB0b210IHbDpHJkZSIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiS2FuIGludGUgw6RuZHJhIGZpbHN5c3RlbXN0eXBlbiB0aWxsIHV0w7ZrYWQiCisKKyN+IG1zZ2lkICJVbmsoJTAyWCkiCisjfiBtc2dzdHIgIk9rw6RuZCglMDJYKSIKKworIyBWYWQgw6RyIGRldHRhPworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJQcmkvTG9nIgorCisjfiBtc2dpZCAiVW5rbm93biAoJTAyWCkiCisjfiBtc2dzdHIgIk9rw6RuZCAoJTAyWCkiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJTdG9ybGVrOiAlbGxkIGJ5dGUsICVsbGQgTUIiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkLiVsbGQgR0IiCisjfiBtc2dzdHIgIlN0b3JsZWs6ICVsbGQgYnl0ZSwgJWxsZCwlbGxkIEdCIgorCisjfiBtc2dpZCAiSGVhZHM6ICVkICAgU2VjdG9ycyBwZXIgVHJhY2s6ICVkICAgQ3lsaW5kZXJzOiAlbGxkIgorI34gbXNnc3RyICJIdXZ1ZGVuOiAlZCAgIFNla3RvcmVyIHBlciBzcMOlcjogJWQgICBDeWxpbmRyYXI6ICVsbGQiCisKKyN+IG1zZ2lkICJQYXJ0IFR5cGUiCisjfiBtc2dzdHIgIlBhcnQuLXR5cCIKKworI34gbXNnaWQgIkZTIFR5cGUiCisjfiBtc2dzdHIgIkZTLXR5cCIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAgU2VrdG9yZXIiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICBDeWxpbmRyYXIiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBTdG9ybGVrIChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBTdG9ybGVrIChHQikiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiw4RuZHJhIGRpc2tnZW9tZXRyaSAoZW5kYXN0IGV4cGVydGVyKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICJNYXhpbWVyYSIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICJNYXhpbWVyYSBkaXNrYW52w6RuZG5pbmdlbiBmw7ZyIGFrdHVlbGwgcGFydGl0aW9uIChlbmRhc3QgZXhwZXJ0ZXIpIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIlZpc2EiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdGhlIGZpbGVzeXN0ZW0gdHlwZSAoRE9TLCBMaW51eCwgT1MvMiBhbmQgc28gb24pIgorI34gbXNnc3RyICLDhG5kcmEgZmlsc3lzdGVtc3R5cGVuIChET1MsIExpbnV4LCBPUy8yIG9jaCBzw6UgdmlkYXJlKSIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIkJ5dCBlbmhldGVyIHDDpSB2aXNuaW5nZW4gYXYgcGFydGl0aW9uc3N0b3JsZWtlbiAoTUIsIHNla3RvcmVyLCBjeWxpbmRyYXIpIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJLYW4gaW50ZSBtYXhpbWVyYSBkZW5uYSBwYXJ0aXRpb24iCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgw6RuZHJhIHR5cGVuIHDDpSBlbiB0b20gcGFydGl0aW9uIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIkNvcHlyaWdodCDCqSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluIG9jaCBhZWJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQW52w6RuZG5pbmc6XG4iCisjfiAiVmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJWaXNhIHBhcnRpdGlvbnN0YWJlbGw6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtmbGFnZ29yXSBlbmhldFxuIgorI34gIkludGVyYWt0aXYgYW52w6RuZG5pbmc6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiRmxhZ2dvcjpcbiIKKyN+ICItYTogQW52w6RuZCBwaWwgaXN0w6RsbGV0IGbDtnIgbWFya2VyaW5nO1xuIgorI34gIi16OiBCw7ZyamEgbWVkIGVuIHRvbSBwYXJ0aXRpb25zdGFiZWxsIGlzdMOkbGxldCBmw7ZyIGF0dCBsw6RzYSBwYXJ0aXRpb25zLVxuIgorI34gIiAgICB0YWJlbGxlbiBmcsOlbiBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiDDhXNpZG9zw6R0dCBrw6RybmFucyB1cHBmYXR0bmluZyBvbSBhbnRhbGV0IGN5bGluZHJhcixcbiIKKyN+ICIgICAgICAgICAgICAgICAgYW50YWxldCBodXZ1ZGVuIG9jaCBhbnRhbGV0IHNla3RvcmVyIHBlciBzcMOlci5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgQUlYIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgTGludXggY2Fubm90IGhhbmRsZSB0aGVzZVxuIgorI34gIlx0ZGlza3MgYXQgdGhlIG1vbWVudC4gIE5ldmVydGhlbGVzcyBzb21lXG4iCisjfiAiXHRhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiAiXHQzLiBCZWZvcmUgZGVsZXRpbmcgdGhpcyBwaHlzaWNhbCB2b2x1bWUgYmUgc3VyZVxuIgorI34gIlx0ICAgdG8gcmVtb3ZlIHRoZSBkaXNrIGxvZ2ljYWxseSBmcm9tIHlvdXIgQUlYXG4iCisjfiAiXHQgICBtYWNoaW5lLiAgKE90aGVyd2lzZSB5b3UgYmVjb21lIGFuIEFJWHBlcnQpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RGV0IGZpbm5zIGVuIGdpbHRpZyBBSVgtZXRpa2V0dCBww6UgZGVubmEgZGlzay5cbiIKKyN+ICJcdFR5dsOkcnIga2FuIGludGUgTGludXggaGFudGVyYSBkZXNzYSBkaXNrYXJcbiIKKyN+ICJcdGbDtnIgdGlsbGbDpGxsZXQuIEjDpHIgw6RyIGh1cnNvbWhlbHN0IGVuIGRlbCByw6VkOlxuIgorI34gIlx0MS4gZmRpc2sga29tbWVyIGF0dCBmw7Zyc3TDtnJhIGRlc3MgaW5uZWjDpWxsIHZpZFxuIgorI34gIlx0ICAgc2tyaXZuaW5nLlxuIgorI34gIlx0Mi4gRsO2cnPDpGtyYSBkaWcgb20gYXR0IGRlbm5hIGRpc2sgSU5URSBmb3J0ZmFyYW5kZVxuIgorI34gIlx0ICAgw6RyIGVuIHZpdGFsIGRlbCBpIGVuIHZvbHltZ3J1cHAgKGFubmFycyBrYW4gZHVcbiIKKyN+ICJcdCAgIHJhZGVyYSBkZSBhbmRyYSBkaXNrYXJuYSwgb20gZGUgaW50ZSBzcGVnbGFzKS5cbiIKKyN+ICJcdDMuIElubmFuIGR1IHRhciBib3J0IGRlbiBmeXNpc2thIHZvbHltZW4gYsO2ciBkdVxuIgorI34gIlx0ICAgZsO2cnPDpGtyYSBkaWcgb20gYXR0IGR1IGxvZ2lza3QgdGFyIGJvcnQgZGlza2VuXG4iCisjfiAiXHQgICBmcsOlbiBkaW4gQUlYLW1hc2tpbiAoYW5uYXJzIGJsaXIgZHUgZW4gQUlYcGVydCkuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkJTRCBsYWJlbCBmb3IgZGV2aWNlOiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQlNELWV0aWtldHQgZsO2ciBlbmhldDogJXNcbiIKKworI34gbXNnaWQgIkNvbW1hbmQgYWN0aW9uIgorI34gbXNnc3RyICJLb21tYW5kb8OldGfDpHJkIgorCisjfiBtc2dpZCAiICAgZCAgIGRlbGV0ZSBhIEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIGQgICB0YSBib3J0IGVuIEJTRC1wYXJ0aXRpb24iCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICBsw6RnZyB0aWxsIGVuIG55IEJTRC1wYXJ0aXRpb24iCisKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgQlNEIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgcCAgIHNrcml2IHV0IEJTRC1wYXJ0aXRpb25zdGFiZWxsIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICDDpG5kcmEgZW4gcGFydGl0aW9ucyBmaWxzeXN0ZW1zaWQiCisKKyN+IG1zZ2lkICIgICB1ICAgY2hhbmdlIHVuaXRzIChjeWxpbmRlcnMvc2VjdG9ycykiCisjfiBtc2dzdHIgIiAgIHUgICBieXQgZW5oZXRlciAoY3lsaW5kcmFyL3Nla3RvcmVyKSIKKworI34gbXNnaWQgIiAgIHcgICB3cml0ZSBkaXNrbGFiZWwgdG8gZGlzayIKKyN+IG1zZ3N0ciAiICAgdyAgIHNrcml2IGRpc2tldGlrZXR0IHRpbGwgZGlzayIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAiTMOkc2VyIGRpc2tldGlrZXR0IGbDtnIgJXMgdmlkIHNla3RvciAlZC5cbiIKKworI34gbXNnaWQgIkJTRCBkaXNrbGFiZWwgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKKyN+IG1zZ3N0ciAiQlNELWRpc2tldGlrZXR0c2tvbW1hbmRvIChtIGbDtnIgaGrDpGxwKTogIgorCisjfiBtc2dpZCAidHlwZTogJWRcbiIKKyN+IG1zZ3N0ciAidHlwOiAlZFxuIgorCisjfiBtc2dpZCAiZmxhZ3M6IgorI34gbXNnc3RyICJmbGFnZ29yOiIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkXG4iCisjfiBtc2dzdHIgImJ5dGUvc2VrdG9yOiAlbGRcbiIKKworI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZFxuIgorI34gbXNnc3RyICJzZWt0b3Jlci9zcMOlcjogJWxkXG4iCisKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZFxuIgorI34gbXNnc3RyICJzcMOlci9jeWxpbmRlcjogJWxkXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGRcbiIKKyN+IG1zZ3N0ciAic2VrdG9yZXIvY3lsaW5kZXI6ICVsZFxuIgorCisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGRcbiIKKyN+IG1zZ3N0ciAiY3lsaW5kcmFyOiAlbGRcbiIKKworI34gbXNnaWQgInJwbTogJWRcbiIKKyN+IG1zZ3N0ciAidmFydiBwZXIgbWludXQ6ICVkXG4iCisKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZFxuIgorI34gbXNnc3RyICJtZWxsYW5ydW06ICVkXG4iCisKKyN+IG1zZ2lkICJ0cmFja3NrZXc6ICVkXG4iCisjfiBtc2dzdHIgInNww6VyZsO2cnNranV0bmluZzogJWRcbiIKKworI34gbXNnaWQgImN5bGluZGVyc2tldzogJWRcbiIKKyN+IG1zZ3N0ciAiY3lsaW5kZXJmw7Zyc2tqdXRuaW5nOiAlZFxuIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkXHRcdCMgbWlsbGlzZWNvbmRzXG4iCisjfiBtc2dzdHIgImh1dnVkYnl0ZTogJWxkXHRcdGFudGFsIG1pbGxpc2VrdW5kZXJcbiIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZFx0IyBtaWxsaXNlY29uZHNcbiIKKyN+IG1zZ3N0ciAic3DDpXItdGlsbC1zcMOlci1zw7ZrbmluZzogJWxkXHRhbnRhbCBtaWxsaXNla3VuZGVyXG4iCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiZW5oZXRzZGF0YTogIgorCisjfiBtc2dpZCAiIyAgICAgICBzdGFydCAgICAgICBlbmQgICAgICBzaXplICAgICBmc3R5cGUgICBbZnNpemUgYnNpemUgICBjcGddXG4iCisjfiBtc2dzdHIgIiMgICAgICAgYsO2cmphbiAgICAgIHNsdXQgICAgIHN0b3JsZWsgIGZzLXR5cCAgIFtmc3RybCBic3RybCAgIGNwZ11cbiIKKworIyDCtyAoY2VudGVyZWQgZG90KSBpcyBub3JtYWxseSB1c2VkIGFzIHRoZSBtdWx0aXBsaWNhdGlvbiBzaWduIGluIFN3ZWRpc2guCisjIFNlZSAiU3ZlbnNrYSBza3JpdnJlZ2xlciIgwqcyNjAuCisjCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiTcOlc3RlIHZhcmEgPD0gc2VrdG9yZXIvc3DDpXIgwrcgc3DDpXIvY3lsaW5kZXIgKHN0YW5kYXJkKS5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogZsO2ciBtw6VuZ2EgcGFydGl0aW9uZXIgKCVkLCBtYXggw6RyICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiU3lua3JvbmlzZXJhciBow6VyZGRpc2thci5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byByZWFkICVzXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGzDpHNhICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2VlayBvbiAlc1xuIgorI34gbXNnc3RyICJLYW4gaW50ZSBzw7ZrYSBww6UgJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byB3cml0ZSAlc1xuIgorI34gbXNnc3RyICJLYW4gaW50ZSBza3JpdmEgJXNcbiIKKworI34gbXNnaWQgIkZhdGFsIGVycm9yXG4iCisjfiBtc2dzdHIgIsOWZGVzZGlnZXJ0IGZlbFxuIgorCisjfiBtc2dpZCAiICAgZSAgIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiICAgZSAgIGxpc3RhIHV0w7ZrYWRlIHBhcnRpdGlvbmVyIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICJEdSBtw6VzdGUgc3TDpGxsYSBpbiIKKworI34gbXNnaWQgImhlYWRzIgorI34gbXNnc3RyICJodXZ1ZGVuIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAic2VrdG9yZXIiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIG9jaCAiCisKKyN+IG1zZ2lkICJOZXcgZGlzayBpZGVudGlmaWVyIChjdXJyZW50IDB4JTA4eCk6ICIKKyN+IG1zZ3N0ciAiTnkgZGlza2lkZW50aWZpZXJhcmUgKG51dmFyYW5kZSAweCUwOHgpOiAiCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJCeWdnZXIgZW4gbnkgRE9TLWRpc2tldGlrZXR0IG1lZCBkaXNraWRlbnRpZmllcmFyZW4gMHglMDh4LlxuIgorI34gIsOEbmRyaW5nYXIga29tbWVyIGVuZGFzdCBhdHQgZmlubmFzIGkgbWlubmV0IHRpbGwgZHUgYmVzdMOkbW1lclxuIgorI34gImRpZyBmw7ZyIGF0dCBza3JpdmEgZGVtLiBFZnRlciBkZXQga29tbWVyIG5hdHVybGlndHZpcyBpbnRlIGRldFxuIgorI34gInRpZGlnYXJlIGlubmVow6VsbGV0IGF0dCBrdW5uYSDDpXRlcnN0w6RsbGFzLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiT2JzZXJ2ZXJhOiBzZWt0b3JzdG9ybGVrZW4gw6RyICVkIChpbnRlICVkKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZGlzayBoYXMgYm90aCBET1MgYW5kIEJTRCBtYWdpYy5cbiIKKyN+ICJHaXZlIHRoZSAnYicgY29tbWFuZCB0byBnbyB0byBCU0QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRlbm5hIGRpc2sgaGFyIGLDpWRlIG1hZ2lza2EgRE9TLSBvY2ggQlNELXNpZmZyb3IuXG4iCisjfiAiR2Uga29tbWFuZG90IFwiYlwiIGbDtnIgYXR0IGfDpSB0aWxsIEJTRC1sw6RnZS5cbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAiRW5oZXRlbiBpbm5laMOlbGxlciB2YXJrZW4gZW4gZ2lsdGlnIERPUy1wYXJ0aXRpb25zdGFiZWxsIGVsbGVyIGVuIFN1bi0sIFNHSS0gZWxsZXIgT1NGLWRpc2tldGlrZXR0XG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICJJbnRlcm50IGZlbFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImdvdCBFT0YgdGhyaWNlIC0gZXhpdGluZy4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJtb3R0b2cgRU9GIHRyZSBnw6VuZ2VyIC0gYXZzbHV0YXIuLi5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFyIHRvbSB0eXBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhXG4iCisjfiAiRGVsZXRlIGl0IGZpcnN0LlxuIgorI34gbXNnc3RyICIiCisjfiAiRHUga2FuIGludGUgw6RuZHJhIGVuIHBhcnRpdGlvbiB0aWxsIGVuIHV0w7ZrYWQgcGFydGl0aW9uIGVsbGVyIHR2w6RydG9tXG4iCisjfiAiVGEgYm9ydCBkZW4gZsO2cnN0LlxuIgorCisjfiBtc2dpZCAiICAgICBwaHlzPSglZCwgJWQsICVkKSAiCisjfiBtc2dzdHIgIiAgICAgZnlzPSglZCwgJWQsICVkKSAiCisKKyN+IG1zZ2lkICJsb2dpY2FsPSglZCwgJWQsICVkKVxuIgorI34gbXNnc3RyICJsb2dpc2s9KCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIlBhcnRpdGlvbiAlaSBiw7ZyamFyIGludGUgcMOlIGN5bGluZGVyZ3LDpG5zOlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgImJvcmRlIHZhcmEgKCVkLCAlZCwgMSlcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAlZClcbiIKKyN+IG1zZ3N0ciAiYm9yZGUgdmFyYSAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsZCBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLCVsZCBHQiwgJWxsZCBieXRlXG4iCisKKyN+IG1zZ2lkICIsIHRvdGFsICVsbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiLCB0b3RhbHQgJWxsdSBzZWt0b3JlciIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiUHJvYmFibHkgeW91IHNlbGVjdGVkIHRoZSB3cm9uZyBkZXZpY2UuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEZXR0YSBzZXIgaW50ZSB1dCBzb20gZW4gcGFydGl0aW9uc3RhYmVsbFxuIgorI34gIkR1IHZhbGRlIG5vZyBmZWwgZW5oZXQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgQm9vdCAgICAgIFN0YXJ0ICAgICAgICAgRW5kICAgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgU3RhcnQgICAgIELDtnJqYW4gICAgICAgIFNsdXQgICAgIEJsb2NrICAgIElkICBTeXN0ZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGh1dnVkZW4sICVsbHUgc2VrdG9yZXIsICVkIGN5bGluZHJhclxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiTnIgQUYgIEhkIFNlYyAgQ3lsICBIZCBTZWMgIEN5bCAgICAgU3RhcnQgICAgICBTaXplIElEXG4iCisjfiBtc2dzdHIgIk5yIEFGICBIZCBTZWsgIEN5bCAgSGQgU2VrICBDeWwgICAgIELDtnJqYW4gICAgIFN0cmwgSURcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIEFJWCBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRUeXbDpHJyIC0gZGVubmEgZmRpc2sga2FuIGludGUgaGFudGVyYSBBSVgtZGlza2V0aWtldHRlci5cbiIKKyN+ICJcdE9tIGR1IHZpbGwgbMOkZ2dhIHRpbGwgcGFydGl0aW9uZXIgYXYgRE9TLXR5cCBiw7ZyIGR1XG4iCisjfiAiXHRza2FwYSBlbiBueSB0b20gRE9TLXBhcnRpdGlvbnN0YWJlbGwgZsO2cnN0IChhbnbDpG5kIFwib1wiKS5cbiIKKyN+ICJcdFZBUk5JTkc6IERldHRhIGtvbW1lciBhdHQgZsO2cnN0w7ZyYSBkZXQgbnV2YXJhbmRlIGlubmVow6VsbGV0XG4iCisjfiAiXHRww6UgZGlza2VuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgTWFjIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdFR5dsOkcnIgLSBkZW5uYSBmZGlzayBrYW4gaW50ZSBoYW50ZXJhIE1hYy1kaXNrZXRpa2V0dGVyLlxuIgorI34gIlx0T20gZHUgdmlsbCBsw6RnZ2EgdGlsbCBwYXJ0aXRpb25lciBhdiBET1MtdHlwIGLDtnIgZHVcbiIKKyN+ICJcdHNrYXBhIGVuIG55IHRvbSBET1MtcGFydGl0aW9uc3RhYmVsbCBmw7Zyc3QgKGFudsOkbmQgXCJvXCIpLlxuIgorI34gIlx0VkFSTklORzogRGV0dGEga29tbWVyIGF0dCBmw7Zyc3TDtnJhIGRldCBudXZhcmFuZGUgaW5uZWjDpWxsZXRcbiIKKyN+ICJcdHDDpSBkaXNrZW4uXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJMw6RnZ2VyIHRpbGwgZW4gcHJpbcOkciBwYXJ0aXRpb25cbiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLb21tYW5kb8OldGfDpHJkXG4iCisjfiAiICAgJXNcbiIKKyN+ICIgICBwICAgcHJpbcOkciBwYXJ0aXRpb24gKDEtNClcbiIKKworI34gbXNnaWQgImUgICBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiZSAgIHV0w7ZrYWQiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueFxuIgorI34gInBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIG1hbnVhbCBwYWdlIGZvciBhZGRpdGlvbmFsXG4iCisjfiAiaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJOSU5HOiBPbSBkdSBoYXIgc2thcGF0IGVsbGVyIMOkbmRyYXQgbsOlZ29uIERPUyA2LngtcGFydGl0aW9uXG4iCisjfiAiYsO2ciBkdSBsw6RzYSBmZGlzay1tYW51YWxzaWRhbiBmw7ZyIHl0dGVybGlnYXJlIGluZm9ybWF0aW9uLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkVycm9yIGNsb3NpbmcgZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRmVsIHZpZCBzdMOkbmduaW5nIGF2IGZpbFxuIgorCisjfiBtc2dpZCAiV2FybmluZzogc2V0dGluZyBzZWN0b3Igb2Zmc2V0IGZvciBET1MgY29tcGF0aWJsaXR5XG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHN0w6RsbGVyIGluIHNla3RvcmF2c3TDpW5kIGbDtnIgRE9TLWtvbXBhdGliaWxpdGV0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJWQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSB1cHB0w6Rja3RlcyBww6UgXCIlc1wiISBWZXJrdHlnZXQgZmRpc2sgc2FrbmFyIHN0w7ZkIGbDtnIgR1BULiBBbnbDpG5kIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXNcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICJEZW5uYSBrw6RybmEgaGl0dGFyIHNqw6RsdiBzZWt0b3JzdG9ybGVrZW4gLSBmbGFnZ2FuIC1iIGlnbm9yZXJhc1xuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiVXBwdMOkY2t0ZSBlbiBPU0YvMS1kaXNrZXRpa2V0dCBww6UgJXMsIGfDpXIgaW4gaSBkaXNrZXRpa2V0dHNsw6RnZS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0VHl2w6RyciwgZGV0IGZpbm5zIGluZ2VuIGV4cGVydG1lbnkgdGlsbGfDpG5nbGlnIGbDtnIgU0dJLXBhcnRpdGlvbnN0YWJlbGxlci5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgTWFjIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgZmRpc2soMSkgY2Fubm90IGhhbmRsZSB0aGVzZSBkaXNrcy5cbiIKKyN+ICJcdFVzZSBlaXRoZXIgcGRpc2sgb3IgcGFydGVkIHRvIG1vZGlmeSB0aGUgcGFydGl0aW9uIHRhYmxlLlxuIgorI34gIlx0TmV2ZXJ0aGVsZXNzIHNvbWUgYWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHREZXQgZmlubnMgZW4gZ2lsdGlnIE1hYy1ldGlrZXR0IHDDpSBkZW5uYSBkaXNrLlxuIgorI34gIlx0VHl2w6RyciBrYW4gaW50ZSBmZGlzaygxKSBoYW50ZXJhIGRlc3NhIGRpc2thci5cbiIKKyN+ICJcdEFudsOkbmQgYW50aW5nZW4gcGRpc2sgZWxsZXIgcGFydGVkXG4iCisjfiAiXHRmw7ZyIGF0dCDDpG5kcmEgcGFydGl0aW9uc3RhYmVsbGVuLlxuIgorI34gIlx0SMOkciDDpHIgaHVyc29taGVsc3QgZW4gZGVsIHLDpWQ6XG4iCisjfiAiXHQxLiBmZGlzayBrb21tZXIgYXR0IGbDtnJzdMO2cmEgZGVzcyBpbm5laMOlbGwgdmlkXG4iCisjfiAiXHQgICBza3Jpdm5pbmcuXG4iCisjfiAiXHQyLiBGw7Zyc8Oka3JhIGRpZyBvbSBhdHQgZGVubmEgZGlzayBJTlRFIGZvcnRmYXJhbmRlXG4iCisjfiAiXHQgICDDpHIgZW4gdml0YWwgZGVsIGkgZW4gdm9seW1ncnVwcCAoYW5uYXJzIGthbiBkdVxuIgorI34gIlx0ICAgcmFkZXJhIGRlIGFuZHJhIGRpc2thcm5hLCBvbSBkZSBpbnRlIHNwZWdsYXMpLlxuIgorCisjfiBtc2dpZCAiQWNjb3JkaW5nIHRvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHRoZSBMYWJlbCBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiRW5saWd0IE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIGbDpXIgZXRpa2V0dGVuIGludGUgaW5uZWjDpWxsYSBtZXIgw6RuIDUxMiBieXRlXG4iCisKKyMgwrcgKGNlbnRlcmVkIGRvdCkgaXMgbm9ybWFsbHkgdXNlZCBhcyB0aGUgbXVsdGlwbGljYXRpb24gc2lnbiBpbiBTd2VkaXNoLgorIyBTZWUgIlN2ZW5za2Egc2tyaXZyZWdsZXIiIMKnMjYwLgorIworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBsYWJlbCk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnNcbiIKKyN+ICIlZCBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSS1kaXNrZXRpa2V0dCk6ICVkIGh1dnVkZW4sICVsbHUgc2VrdG9yZXJcbiIKKyN+ICIlZCBjeWxpbmRyYXIsICVkIGZ5c2lza2EgY3lsaW5kcmFyXG4iCisjfiAiJWQgZXh0cmEgc2VrdG9yZXIvY3lsaW5kZXIsIG1lbGxhbnJ1bSAlZDoxXG4iCisjfiAiJXNcbiIKKyN+ICJFbmhldGVyID0gJXMgYXYgJWQgwrcgJWQgYnl0ZVxuIgorI34gIlxuIgorCisjIMK3IChjZW50ZXJlZCBkb3QpIGlzIG5vcm1hbGx5IHVzZWQgYXMgdGhlIG11bHRpcGxpY2F0aW9uIHNpZ24gaW4gU3dlZGlzaC4KKyMgU2VlICJTdmVuc2thIHNrcml2cmVnbGVyIiDCpzI2MC4KKyMKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgbGFiZWwpOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSS1kaXNrZXRpa2V0dCk6ICVkIGh1dnVkZW4sICVsbHUgc2VrdG9yZXIsICVkIGN5bGluZHJhclxuIgorI34gIkVuaGV0ZXIgPSAlcyBhdiAlZCDCtyAlZCBieXRlXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gcGFydGl0aW9ucyAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIFN0YXJ0ICAgICAgIEVuZCAgIFNlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIi0tLS0tIHBhcnRpdGlvbmVyIC0tLS0tXG4iCisjfiAiUHQgICUqcyAgSW5mbyAgICAgQsO2cmphbiAgICAgIFNsdXQgIFNla3RvcmVyIElkICBTeXN0ZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBTdGFydGluZm8gLS0tLS1cbiIKKyN+ICJTdGFydGZpbDogJXNcbiIKKyN+ICItLS0tLSBLYXRhbG9ncG9zdGVyIC0tLS0tXG4iCisKKyN+IG1zZ2lkICIlMmQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMgc2VrdG9yJTV1IHN0b3JsZWslOHVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIGlzIG9ubHkgJWQgZGlza2Jsb2NrIGxhcmdlLFxuIgorI34gImJ1dCB0aGUgZGlzayBpcyAlZCBkaXNrYmxvY2tzIGxvbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIZWxhIGRpc2twYXJ0aXRpb25lbiDDpHIgZW5kYXN0ICVkIGRpc2tibG9jayBzdG9yLFxuIgorI34gIm1lbiBow6VyZGRpc2tlbiDDpHIgJWQgZGlza2Jsb2NrIGzDpW5nLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gbXNnc3RyICJQYXJ0aXRpb24gJWQgYsO2cmphciBpbnRlIHDDpSBlbiBqw6RtbiBjeWxpbmRlcmdyw6Rucy5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBhcnRpdGlvbiAlZCBzbHV0YXIgaW50ZSBww6UgZW4gasOkbW4gY3lsaW5kZXJncsOkbnMuXG4iCisKKyN+IG1zZ2lkICJTb3JyeSBZb3UgbWF5IGNoYW5nZSB0aGUgVGFnIG9mIG5vbi1lbXB0eSBwYXJ0aXRpb25zLlxuIgorI34gbXNnc3RyICJUeXbDpHJyLCBkdSBrYW4gw6RuZHJhIHRhZ2dlbiBww6UgaWNrZS10b21tYSBwYXJ0aXRpb25lci5cbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJKQVxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiVmV0IGR1IG9tIGF0dCBwYXJ0aXRpb25lciDDtnZlcmxhcHBhciB2YXJhbmRyYSBww6UgaMOlcmRkaXNrZW4/XG4iCisKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0IVxuIgorI34gbXNnc3RyICJEdSBrb21tZXIgYXR0IGbDpSDDtnZlcmxhcHBhbmRlIHBhcnRpdGlvbmVyIHDDpSBow6VyZGRpc2tlbi4gRml4YSBkZXQgZsO2cnN0IVxuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJCeWdnZXIgZW4gbnkgU0dJLWRpc2tldGlrZXR0LiDDhG5kcmluZ2FyIGtvbW1lciBlbmRhc3QgYXR0IGZpbm5hcyBpXG4iCisjfiAibWlubmV0LCB0aWxsIGRlc3MgYXR0IGR1IHbDpGxqZXIgYXR0IHNrcml2YSBkZW0uIEVmdGVyIGRldCBrb21tZXJcbiIKKyN+ICJuYXR1cmxpZ3R2aXMgZGV0IHRpZGlnYXJlIGlubmVow6VsbGV0IGF0dCB2YXJhIHNww6VybMO2c3QgYm9ydGEuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJUcnlpbmcgdG8ga2VlcCBwYXJhbWV0ZXJzIG9mIHBhcnRpdGlvbiAlZC5cbiIKKyN+IG1zZ3N0ciAiRsO2cnPDtmtlciBhdHQgYmVow6VsbGEgcGFyYW1ldHJhcm5hIGbDtnIgcGFydGl0aW9uICVkLlxuIgorCisjfiBtc2dpZCAiSUQ9JTAyeFx0U1RBUlQ9JWRcdExFTkdUSD0lZFxuIgorI34gbXNnc3RyICJJRD0lMDJ4XHRCw5ZSSkFOPSVkXHRMw4ROR0Q9JWRcbiIKKworIyDCtyAoY2VudGVyZWQgZG90KSBpcyBub3JtYWxseSB1c2VkIGFzIHRoZSBtdWx0aXBsaWNhdGlvbiBzaWduIGluIFN3ZWRpc2guCisjIFNlZSAiU3ZlbnNrYSBza3JpdnJlZ2xlciIgwqcyNjAuCisjCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVkIHJwbVxuIgorI34gIiV1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuLWRpc2tldGlrZXR0KTogJWQgaHV2dWRlbiwgJWxsdSBzZWt0b3JlcixcbiIKKyN+ICIlZCB2YXJ2IHBlciBtaW51dCwgJWQgY3lsaW5kcmFyLCAlZCBhbHRlcm5hdGl2YVxuIgorI34gImN5bGluZHJhciwgJWQgZnlzaXNrYSBjeWxpbmRyYXIsICVkIGV4dHJhIHNla3RvcmVyL2N5bGluZGVyLFxuIgorI34gIm1lbGxhbnJ1bSAlZDoxXG4iCisjfiAiRXRpa2V0dC1pZDogJXNcbiIKKyN+ICJWb2x5bS1pZDogJXNcbiIKKyN+ICJFbmhldGVyID0gJXMgYXYgJWQgwrcgNTEyIGJ5dGVcbiIKKyN+ICJcbiIKKworIyDCtyAoY2VudGVyZWQgZG90KSBpcyBub3JtYWxseSB1c2VkIGFzIHRoZSBtdWx0aXBsaWNhdGlvbiBzaWduIGluIFN3ZWRpc2guCisjIFNlZSAiU3ZlbnNrYSBza3JpdnJlZ2xlciIgwqcyNjAuCisjCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICV1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1bi1kaXNrZXRpa2V0dCk6ICVkIGh1dnVkZW4sICVsbHUgc2VrdG9yZXIsICVkIGN5bGluZHJhclxuIgorI34gIkVuaGV0ZXIgPSAlcyBhdiAlZCDCtyA1MTIgYnl0ZVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEZsYWcgICAgU3RhcnQgICAgICAgRW5kICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEZsYWdnYSAgQsO2cmphbiAgICAgIFNsdXQgICBCbG9jayAgICBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICJPUy8yIGhpZGRlbiBDOiBkcml2ZSIKKyN+IG1zZ3N0ciAiT1MvMiBkb2xkIEM6LWVuaGV0IgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdVxuIgorI34gbXNnc3RyICJzw7ZrZmVsIHDDpSAlcyAtIGthbiBpbnRlIHNwb2xhIHRpbGwgJWx1XG4iCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yOiB3YW50ZWQgMHglMDh4JTA4eCwgZ290IDB4JTA4eCUwOHhcbiIKKyN+IG1zZ3N0ciAic8O2a2ZlbDogdmlsbGUgaGEgMHglMDh4JTA4eCwgZmljayAweCUwOHglMDh4XG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgInNsdXQgcMOlIG1pbm5lIC0gZ2VyIHVwcFxuIgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbHVcbiIKKyN+IG1zZ3N0ciAibMOkc2ZlbCBww6UgJXMgLSBrYW4gaW50ZSBsw6RzYSBzZWt0b3IgJWx1XG4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZVxuIgorI34gbXNnc3RyICJGRUw6IHNla3RvciAlbHUgaGFyIGluZ2VuIG1zZG9zLXNpZ25hdHVyXG4iCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWx1XG4iCisjfiBtc2dzdHIgInNrcml2ZmVsIHDDpSAlcyAtIGthbiBpbnRlIHNrcml2YSBzZWt0b3IgJWx1XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gc2VjdG9yIHNhdmUgZmlsZSAoJXMpXG4iCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBwYXJ0aXRpb25zc2VrdG9yc3BhcmZpbCAoJXMpXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcylcbiIKKyN+IG1zZ3N0ciAia2FuIGludGUgdGEgc3RhdHVzIHDDpSBwYXJ0aXRpb25zw6V0ZXJzdMOkbGxuaW5nc2ZpbCAoJXMpXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZ1xuIgorI34gbXNnc3RyICJwYXJ0aXRpb25zw6V0ZXJzdMOkbGxuaW5nc2ZpbGVuIGhhciBmZWwgc3RvcmxlayAtIMOldGVyc3TDpGxsZXIgaW50ZVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAic2x1dCBww6UgbWlubmU/XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcylcbiIKKyN+IG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hIHBhcnRpdGlvbnPDpXRlcnN0w6RsbG5pbmdzZmlsZW4gKCVzKVxuIgorCisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlc1xuIgorI34gbXNnc3RyICJmZWwgdmlkIGzDpHNuaW5nIGF2ICVzXG4iCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXNcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBza3Jpdm5pbmcgYXYgc2VrdG9yICVsdSBww6UgJXNcbiIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnlcbiIKKyN+IG1zZ3N0ciAiRGlzayAlczoga2FuIGludGUgZsOlIHRhZyBpIGdlb21ldHJpXG4iCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemVcbiIKKyN+IG1zZ3N0ciAiRGlzayAlczoga2FuIGludGUgZsOlIHRhZyBpIHN0b3JsZWtcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXVxuIgorI34gbXNnc3RyICIiCisjfiAiVmFybmluZzogc3RhcnQ9JWx1IC0gZGV0dGEgc2VyIG1lciB1dCBzb20gZW4gcGFydGl0aW9uIMOkblxuIgorI34gImhlbGEgZGlza2VuLiBBdHQgYW52w6RuZGEgZmRpc2sgcMOlIGRldCDDpHIgdHJvbGlndHZpcyBtZW5pbmdzbMO2c3QuXG4iCisjfiAiW0FudsOkbmQgZmxhZ2dhbiAtLWZvcmNlIG9tIGR1IHZlcmtsaWdlbiB2aWxsIGRldHRhXVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHNcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogSERJT19HRVRHRU8gc8OkZ2VyIGF0dCBkZXQgZmlubnMgJWx1IGh1dnVkZW5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogSERJT19HRVRHRU8gc8OkZ2VyIGF0dCBkZXQgZmlubnMgJWx1IHNla3RvcmVyXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVyc1xuIgorI34gbXNnc3RyICJWYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHPDpGdlciBhdHQgZGV0IGZpbm5zICVsdSBjeWxpbmRyYXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLlxuIgorI34gbXNnc3RyICIiCisjfiAiVmFybmluZzogT3Nhbm5vbGlrdCBhbnRhbCBzZWt0b3JlciAoJWx1KSAtIHZhbmxpZ3R2aXMgw6RyIGRldCBzb20gbWVzdCA2M1xuIgorI34gIkRldHRhIGtvbW1lciBhdHQgZ2UgcHJvYmxlbSBtZWQgYWxsIHByb2dyYW12YXJhIHNvbSBhbnbDpG5kZXIgQy9IL1MtYWRyZXNzZXJpbmcuXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KVxuIgorI34gbXNnc3RyICIlcyBww6UgcGFydGl0aW9uICVzIGhhciBvbcO2amxpZ3QgdsOkcmRlIHDDpSBodXZ1ZDogJWx1IChtw6VzdGUgdmFyYSBtZWxsYW4gMC0lbHUpXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpXG4iCisjfiBtc2dzdHIgIiVzIHDDpSBwYXJ0aXRpb24gJXMgaGFyIG9tw7ZqbGlndCB2w6RyZGUgcMOlIHNla3RvcjogJWx1IChtw6VzdGUgdmFyYSBtZWxsYW4gMS0lbHUpXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpXG4iCisjfiBtc2dzdHIgIiVzIHDDpSBwYXJ0aXRpb24gJXMgaGFyIG9tw7ZqbGlndCB2w6RyZGUgcMOlIGN5bGluZGVyOiAlbHUgKG3DpXN0ZSB2YXJhIG1lbGxhbiAwLSVsdSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmc1xuIgorI34gbXNnc3RyICIiCisjfiAiS29tbWFuZG90IGbDtnIgYXR0IGzDpHNhIG9tIHBhcnRpdGlvbnN0YWJlbGxlbiBtaXNzbHlja2FkZXNcbiIKKyN+ICJTdGFydGEgb20gZGl0dCBzeXN0ZW0gbnUsIGlubmFuIGR1IGFudsOkbmRlciBta2ZzXG4iCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzXG4iCisjfiBtc2dzdHIgIkZlbCB2aWQgc3TDpG5nbmluZyBhdiAlc1xuIgorCisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlc1xuIgorI34gbXNnc3RyICJvaW1wbGVtZW50ZXJhdCBmb3JtYXQgLSBhbnbDpG5kZXIgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0cyA9IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbmhldGVyID0gY3lsaW5kcmFyIG1lZCAlbHUgYnl0ZSwgYmxvY2sgbWVkIDEwMjQgYnl0ZSwgcsOka25hdCBmcsOlbiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIEVuaGV0IFN0YXJ0IELDtnJqYW4gICBTbHV0ICAgICBDeWwuICAgICBCbG9jayAgIElkICBTeXN0ZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0cyA9IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbmhldGVyID0gc2VrdG9yZXIgbWVkIDUxMiBieXRlLCByw6RrbmF0IGZyw6VuICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBFbmhldCBTdGFydCAgIELDtnJqYW4gICAgICBTbHV0ICAgU2VrdG9yZXIgIElkICBTeXN0ZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0cyA9IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbmhldGVyID0gYmxvY2sgbWVkIDEwMjQgYnl0ZSwgcsOka25hdCBmcsOlbiAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgICBTdGFydCAgICAgICBFbmQgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRW5oZXQgU3RhcnQgIELDtnJqYW4gICAgICBTbHV0ICAgICAgQmxvY2sgICBJZCAgU3lzdGVtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHMgPSBtZWJpYnl0ZXMgb2YgMTA0ODU3NiBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVuaGV0ZXIgPSBtZWJpYnl0ZSBtZWQgMTA0ODU3NiBieXRlLCBibG9jayBtZWQgMTAyNCBieXRlLCByw6RrbmF0IGZyw6VuICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgRW5oZXQgU3RhcnQgQsO2cmphbiBTbHV0ICAgIE1pQiAgICAgIEJsb2NrICAgSWQgIFN5c3RlbVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0YsO2cmphbjogKGMsaCxzKSAoJWxkLCVsZCwlbGQpIGbDtnJ2w6RudGFkZXMgKCVsZCwlbGQsJWxkKSBoaXR0YWRlc1xuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdHNsdXQ6IChjLGgscykgKCVsZCwlbGQsJWxkKSBmw7ZydsOkbnRhZGVzICglbGQsJWxkLCVsZCkgaGl0dGFkZXNcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAicGFydGl0aW9uZW4gc2x1dGFyIHDDpSBjeWxpbmRlciAlbGQsIHV0YW5mw7ZyIHNsdXRldCBww6UgaMOlcmRkaXNrZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm5pbmc6IFBhcnRpdGlvbnN0YWJlbGxlbiBzZXIgdXQgc29tIG9tIGRlbiBnam9yZGVzXG4iCisjfiAiICBmw7ZyIEMvSC9TPSovJWxkLyVsZCAoaXN0w6RsbGV0IGbDtnIgJWxkLyVsZC8lbGQpLlxuIgorI34gIkkgZGVubmEgdmlzbmluZyBrb21tZXIgamFnIGF0dCBhbnRhZ2EgZGVuIGdlb21ldHJpbi5cbiIKKworI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkLlxuIgorI34gbXNnc3RyICJrb25zdGlndCwgZW5kYXN0ICVkIHBhcnRpdGlvbmVyIMOkciBhbmdpdm5hLlxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYnV0IGlzIG5vdCBtYXJrZWQgRW1wdHlcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogcGFydGl0aW9uICVzIGhhciBzdG9ybGVrIDAgbWVuIMOkciBpbnRlIG1hcmtlcmFkIHRvbVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXIgc3RvcmxlayAwIG9jaCDDpHIgc3RhcnRiYXJcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGFuZCBub256ZXJvIHN0YXJ0XG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXIgc3RvcmxlayAwIG9jaCBlbiBiw7ZyamFuIHNvbSBpbnRlIMOkciAwXG4iCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJvY2ggJXMgw7Z2ZXJsYXBwYXIgdmFyYW5kcmFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJuaW5nOiBwYXJ0aXRpb24gJXMgaW5uZWjDpWxsZXIgZW4gZGVsIGF2IHBhcnRpdGlvbnN0YWJlbGxlbiAoc2VrdG9yICVsdSksXG4iCisjfiAib2NoIGtvbW1lciBhdHQgZsO2cnN0w7ZyYSBkZW4gZMOlIGRlbiBmeWxsc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMFxuIgorI34gbXNnc3RyICJWYXJuaW5nOiBwYXJ0aXRpb24gJXMgYsO2cmphciBww6Ugc2VrdG9yIDBcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2tcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogcGFydGl0aW9uICVzIGZvcnRzw6R0dGVyIHV0YW5mw7ZyIGjDpXJkZGlza2VuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQW1vbmcgdGhlIHByaW1hcnkgcGFydGl0aW9ucywgYXQgbW9zdCBvbmUgY2FuIGJlIGV4dGVuZGVkXG4iCisjfiAiIChhbHRob3VnaCB0aGlzIGlzIG5vdCBhIHByb2JsZW0gdW5kZXIgTGludXgpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJFbmRhc3QgZW4gYXYgZGUgcHJpbcOkcmEgcGFydGl0aW9uZXJuYSBrYW4gdmFyYSB1dMO2a2FkXG4iCisjfiAiICjDpHZlbiBvbSBkZXR0YSBpbnRlIMOkciBldHQgcHJvYmxlbSB1bmRlciBMaW51eClcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5XG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHBhcnRpdGlvbiAlcyBiw7ZyamFyIGludGUgcMOlIGVuIGrDpG1uIGN5bGluZGVyZ3LDpG5zXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnlcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogcGFydGl0aW9uICVzIHNsdXRhciBpbnRlIHDDpSBlbiBqw6RtbiBjeWxpbmRlcmdyw6Ruc1xuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm5pbmc6IGZsZXIgw6RuIGVuIHByaW3DpHIgcGFydGl0aW9uIMOkciBtYXJrZXJhZCBzb20gc3RhcnRiYXIgKGFrdGl2KVxuIgorI34gIkxJTE8gYnJ5ciBzaWcgaW50ZSBvbSBkZXR0YSwgbWVuIERPUyBodXZ1ZHN0YXJ0cG9zdCAoTUJSKSBrb21tZXIgaW50ZSBhdHRcbiIKKyN+ICJrdW5uYSBzdGFydGEgZGVubmEgZGlzay5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJuaW5nOiBub3JtYWx0IGthbiBtYW4gZW5kYXN0IHN0YXJ0YSBmcsOlbiBwcmltw6RyYSBwYXJ0aXRpb25lclxuIgorI34gIkxJTE8gaWdub3JlcmFyIHN0YXJ0YmFyaGV0c2ZsYWdnYW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbm8gcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZhcm5pbmc6IGluZ2VuIHByaW3DpHIgcGFydGl0aW9uIMOkciBtYXJrZXJhZCBzb20gc3RhcnRiYXIgKGFrdGl2KVxuIgorI34gIkxJTE8gYnJ5ciBzaWcgaW50ZSBvbSBkZXR0YSwgbWVuIERPUyBodXZ1ZHN0YXJ0cG9zdCAoTUJSKSBrb21tZXIgaW50ZSBhdHRcbiIKKyN+ICJrdW5uYSBzdGFydGEgZGVubmEgZGlzay5cbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgInBhcnRpdGlvbiAlczogYsO2cmphbjogKGMsaCxzKSAoJWxkLCVsZCwlbGQpIGbDtnJ2w6RudGFkZXMgKCVsZCwlbGQsJWxkKSBoaXR0YWRlc1xuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJzbHV0IgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBlbmQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgInBhcnRpdGlvbiAlczogc2x1dDogKGMsaCxzKSAoJWxkLCVsZCwlbGQpIGbDtnJ2w6RudGFkZXMgKCVsZCwlbGQsJWxkKSBoaXR0YWRlc1xuIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICJwYXJ0aXRpb24gJXMgc2x1dGFyIHDDpSBjeWxpbmRlciAlbGQsIHV0YW5mw7ZyIHNsdXRldCBww6UgaMOlcmRkaXNrZW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsZCB0byAlbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKVxuIgorI34gbXNnc3RyICIiCisjfiAiVmFybmluZzogw6RuZHJhZGUgYsO2cmphbiBww6UgZXh0ZC1wYXJ0aXRpb25lbiBmcsOlbiAlbGQgdGlsbCAlbGRcbiIKKyN+ICIoRW5kYXN0IGbDtnIgbGlzdG5pbmdzw6RuZGFtw6VsLiDDhG5kcmEgaW50ZSBkZXNzIGlubmVow6VsbCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJWYXJuaW5nOiB1dMO2a2FkIHBhcnRpdGlvbiBiw7ZyamFyIGludGUgcMOlIGrDpG1uIGN5bGluZGVyZ3LDpG5zLlxuIgorI34gIkRPUyBvY2ggTGludXgga29tbWVyIGF0dCB0b2xrYSBpbm5laMOlbGxldCBhbm5vcmx1bmRhLlxuIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9ucyAtIGlnbm9yaW5nIHRob3NlIHBhc3QgbnIgKCVkKVxuIgorI34gbXNnc3RyICJmw7ZyIG3DpW5nYSBwYXJ0aXRpb25lciAtIGlnbm9yZXJhciBkZSBlZnRlciBudW1tZXIgKCVkKVxuIgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0XG4iCisjfiBtc2dzdHIgInVwcHTDpGNrdGUgRGlzayBNYW5hZ2VyIC0ga2FuIGludGUgaGFudGVyYSBkZXRcbiIKKworI34gbXNnaWQgIkRNNiBzaWduYXR1cmUgZm91bmQgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAiRE02LXNpZ25hdHVyIGhpdHRhZGVzIC0gZ2VyIHVwcFxuIgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD9cbiIKKyN+IG1zZ3N0ciAia29uc3RpZ3QsIGVuIHV0w7ZrYWQgcGFydGl0aW9uIG1lZCBzdG9ybGVrIDA/XG4iCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhIEJTRCBwYXJ0aXRpb24gb2Ygc2l6ZSAwP1xuIgorI34gbXNnc3RyICJrb25zdGlndCwgZW4gQlNELXBhcnRpdGlvbiBtZWQgc3RvcmxlayAwP1xuIgorCisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZFxuIgorI34gbXNnc3RyICJGbGFnZ2FuIC1uIGFuZ2F2czogSW5nZXQgw6RuZHJhZGVzXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIk1pc3NseWNrYWRlcyBtZWQgYXR0IHNwYXJhIGRlIGdhbWxhIHNla3RvcmVybmEgLSBhdmJyeXRlclxuIgorCisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZ1xuIgorI34gbXNnc3RyICJsw6VuZyBlbGxlciBvZnVsbHN0w6RuZGlnIGluZGF0YXJhZCAtIGF2c2x1dGFyXG4iCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogYD0nIGV4cGVjdGVkIGFmdGVyICVzIGZpZWxkXG4iCisjfiBtc2dzdHIgImluZGF0YWZlbDogXCI9XCIgZsO2cnbDpG50YXMgZWZ0ZXIgJXMtZsOkbHRcbiIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZFxuIgorI34gbXNnc3RyICJpbmRhdGFmZWw6IG92w6RudGF0IHRlY2tlbiAlYyBlZnRlciAlcy1mw6RsdFxuIgorCisjfiBtc2dpZCAidHJhaWxpbmcganVuayBhZnRlciBudW1iZXJcbiIKKyN+IG1zZ3N0ciAiZWZ0ZXJzbMOkcGFuZGUgc2tyw6RwIGVmdGVyIHRhbFxuIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3JcbiIKKyN+IG1zZ3N0ciAiaW5nZW4gcGxhdHMgZsO2ciBwYXJ0aXRpb25zaGFuZHRhZ1xuIgorCisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJrYW4gaW50ZSBieWdnYSBvbWdpdmFuZGUgdXTDtmthZCBwYXJ0aXRpb25cbiIKKworI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkc1xuIgorI34gbXNnc3RyICJmw7ZyIG3DpW5nYSBpbmRhdGFmaWVsZFxuIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZVxuIgorI34gbXNnc3RyICJJbnRlIHBsYXRzIGbDtnIgbWVyXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbHUpIGV4Y2VlZHMgbWF4IGFsbG93YWJsZSBzaXplICglbHUpXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IGFuZ2l2ZW4gc3RvcmxlayAoJWx1KSDDtnZlcnNrcmlkZXIgc3TDtnJzdGEgdGlsbMOldG5hIHN0b3JsZWtlbiAoJWx1KVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IHRvbSBwYXJ0aXRpb25cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsdSlcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogZmVsYWt0aWcgYsO2cmphbiBww6UgcGFydGl0aW9uIChmw7Zyc3RhICVsdSlcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBib290YWJsZSBmbGFnIC0gY2hvb3NlIC0gb3IgKlxuIgorI34gbXNnc3RyICJva8OkbmQgc3RhcnRiYXJoZXRzZmxhZ2dhIC0gdsOkbGogLSBlbGxlciAqXG4iCisKKyN+IG1zZ2lkICJwYXJ0aWFsIGMsaCxzIHNwZWNpZmljYXRpb24/XG4iCisjfiBtc2dzdHIgImMsaCxzLXNwZWNpZmlrYXRpb24gb2Z1bGxzdMOkbmRpZz9cbiIKKworI34gbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBub3Qgd2hlcmUgZXhwZWN0ZWRcbiIKKyN+IG1zZ3N0ciAiVXTDtmthZCBwYXJ0aXRpb24gZmlubnMgaW50ZSBkw6RyIGRlbiBmw7ZydsOkbnRhZGVzXG4iCisKKyN+IG1zZ2lkICJiYWQgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiZmVsYWt0aWcgaW5kYXRhXG4iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zXG4iCisjfiBtc2dzdHIgImbDtnIgbcOlbmdhIHBhcnRpdGlvbmVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkluZGF0YSBww6UgZsO2bGphbmRlIGZvcm1hdDsgZsOkbHQgc29tIHNha25hcyBmw6VyIGV0dCBzdGFuZGFyZHbDpHJkZS5cbiIKKyN+ICI8YsO2cmphbj4gPHN0b3JsZWs+IDx0eXAgW0UsUyxMLFgsaGV4XT4gPHN0YXJ0YmFyIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICJWYW5sbGlndHZpcyBiZWjDtnZlciBkdSBiYXJhIGFuZ2UgPGLDtnJqYW4+IG9jaCA8c3Rvcmxlaz4gKG9jaCBrYW5za2UgPHR5cD4pLlxuIgorCisjfiBtc2dpZCAiZGV2aWNlOiBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYSIKKyN+IG1zZ3N0ciAiZW5oZXQ6IG7DpWdvbnRpbmcgbGlrbmFuZGUgL2Rldi9oZGEgZWxsZXIgL2Rldi9zZGEiCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgLXMgW2VsbGVyIC0tc2hvdy1zaXplXTogdmlzYSBzdG9ybGVrIHDDpSBlbiBwYXJ0aXRpb24iCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFtlbGxlciAtLWluY3JlbWVudF06IG51bXJlcmEgY3lsaW5kcmFyIG9zdiBmcsOlbiAxIGlzdMOkbGxldCBmw7ZyIGZyw6VuIDAiCisKKyN+IG1zZ2lkICIgICAgLXVTLCAtdUIsIC11QywgLXVNOiAgYWNjZXB0L3JlcG9ydCBpbiB1bml0cyBvZiBzZWN0b3JzL2Jsb2Nrcy9jeWxpbmRlcnMvTUIiCisjfiBtc2dzdHIgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHRlcmEvcmFwcG9ydGVyYSBpIGVuaGV0ZXIgb20gc2VrdG9yZXIvYmxvY2svY3lsaW5kcmFyL01CIgorCisjfiBtc2dpZCAiICAgIC1EIFtvciAtLURPU106ICAgICAgIGZvciBET1MtY29tcGF0aWJpbGl0eTogd2FzdGUgYSBsaXR0bGUgc3BhY2UiCisjfiBtc2dzdHIgIiAgICAtRCBbZWxsZXIgLS1ET1NdOiAgICBmw7ZyIERPUy1rb21wYXRpYmlsaXRldDogc2zDtnNhIGxpdGUgdXRyeW1tZSIKKworI34gbXNnaWQgIiAgICAtUiBbb3IgLS1yZS1yZWFkXTogICBtYWtlIGtlcm5lbCByZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICAgLVIgW2VsbGVyIC0tcmUtcmVhZF06IGfDtnIgc8OlIGF0dCBrw6RybmFuIGzDpHNlciBvbSBwYXJ0aXRpb25zdGFiZWxsZW4iCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIGZpbCA6ICAgICAgICAgICAgIHNwYXJhIHNla3RvcmVybmEgc29tIGtvbW1lciBhdHQgc2tyaXZhcyDDtnZlciB0aWxsIGZpbCIKKworI34gbXNnaWQgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByZXN0b3JlIHRoZXNlIHNlY3RvcnMgYWdhaW4iCisjfiBtc2dzdHIgIiAgICAtSSBmaWwgOiAgICAgICAgICAgICDDpXRlcnN0w6RsbCBkZXNzYSBzZWt0b3JlciBpZ2VuIgorCisjfiBtc2dpZCAiICAgIC12IFtvciAtLXZlcnNpb25dOiAgIHByaW50IHZlcnNpb24iCisjfiBtc2dzdHIgIiAgICAtdiBbZWxsZXIgLS12ZXJzaW9uXTogdmlzYSB2ZXJzaW9uc2luZm9ybWF0aW9uIgorCisjfiBtc2dpZCAiICAgIC1nIFtvciAtLXNob3ctZ2VvbWV0cnldOiBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiAgICAtZyBbZWxsZXIgLS1zaG93LWdlb21ldHJ5XTogdmlzYSBrw6RybmFucyBiaWxkIGF2IGdlb21ldHJpbiIKKworI34gbXNnaWQgIiAgICAtRyBbb3IgLS1zaG93LXB0LWdlb21ldHJ5XTogcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtRyBbZWxsZXIgLS1zaG93LXB0LWdlb21ldHJ5XTogc2tyaXYgdXQgZ2lzc2FkIGdlb21ldHJpIGZyw6VuIHBhcnRpdGlvbnN0YWJlbGxlbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgLXggW29yIC0tc2hvdy1leHRlbmRlZF06IGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIG9uIG91dHB1dFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgZXhwZWN0IGRlc2NyaXB0b3JzIGZvciB0aGVtIG9uIGlucHV0IgorI34gbXNnc3RyICIiCisjfiAiICAgIC14IFtlbGxlciAtLXNob3ctZXh0ZW5kZWRdOiB2aXNhIMOkdmVuIHV0w7ZrYWRlIHBhcnRpdGlvbmVyIGkgdXRkYXRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlbGxlciBmw7ZydsOkbnRhIGhhbmR0YWcgZsO2ciBkZW0gc29tIGluZGF0YSIKKworI34gbXNnaWQgIiAgICAtTCAgW29yIC0tTGludXhdOiAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXgiCisjfiBtc2dzdHIgIiAgICAtTCAgW2VsbGVyIC0tTGludXhdOiAgIGtsYWdhIGludGUgcMOlIHNha2VyIHNvbSDDpHIgaXJyZWxldmFudGEgZsO2ciBMaW51eCIKKworI34gbXNnaWQgIiAgICBZb3UgY2FuIG92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzoiCisjfiBtc2dzdHIgIiAgICBEdSBrYW4gw6VzaWRvc8OkdHRhIGRlbiBkZXRla3RlcmFkZSBnZW9tZXRyaW4gZ2Vub20gYXR0IGFudsOkbmRhOiIKKworI34gbXNnaWQgIiAgICAtZiAgW29yIC0tZm9yY2VdOiAgICAgIGRvIHdoYXQgSSBzYXksIGV2ZW4gaWYgaXQgaXMgc3R1cGlkIgorI34gbXNnc3RyICIgICAgLWYgIFtlbGxlciAtLWZvcmNlXTogICBnw7ZyIHZhZCBqYWcgc8OkZ2VyIMOkdmVuIG9tIGRldCDDpHIgZHVtdCIKKworI34gbXNnaWQgIiVzIGRldmljZVx0XHQgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiJXMgZW5oZXRcdFx0IHZpc2EgYWt0aXZhIHBhcnRpdGlvbmVyIHDDpSBlbmhldFxuIgorCisjfiBtc2dpZCAiJXMgZGV2aWNlIG4xIG4yIC4uLiBhY3RpdmF0ZSBwYXJ0aXRpb25zIG4xIC4uLiwgaW5hY3RpdmF0ZSB0aGUgcmVzdFxuIgorI34gbXNnc3RyICIlcyBlbmhldCBuMSBuMiAuLi4gYWt0aXZlcmEgcGFydGl0aW9uZXIgbjEgLi4uLCBkZWFrdGl2ZXJhIHJlc3RlblxuIgorCisjfiBtc2dpZCAiJXMgLUFuIGRldmljZVx0IGFjdGl2YXRlIHBhcnRpdGlvbiBuLCBpbmFjdGl2YXRlIHRoZSBvdGhlciBvbmVzXG4iCisjfiBtc2dzdHIgIiVzIC1BbiBlbmhldFx0IGFrdGl2ZXJhIHBhcnRpdGlvbiBuLCBkZWFrdGl2ZXJhIGRlIGFuZHJhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgc2ZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVkFSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgdXBwdMOkY2t0ZXMgcMOlIFwiJXNcIiEgVmVya3R5Z2V0IHNmZGlzayBzYWtuYXIgc3TDtmQgZsO2ciBHUFQuIEFudsOkbmQgR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlclxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogc2ZkaXNrIC0tcHJpbnQtaWQgZW5oZXQgcGFydGl0aW9uc251bW1lclxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZFxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogc2ZkaXNrIC0tY2hhbmdlLWlkIGVuaGV0IHBhcnRpdGlvbnNudW1tZXIgSWRcbiIKKworI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpXG4iCisjfiBtc2dzdHIgImthbiBlbmRhc3QgYW5nZSBlbiBlbmhldCAodXRvbSBtZWQgLWwgZWxsZXIgLXMpXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlXG4iCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyBmw7ZyIGzDpHNuaW5nIG9jaCBza3Jpdm5pbmdcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIGZvciByZWFkaW5nXG4iCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyBmw7ZyIGzDpHNuaW5nXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN5bGluZGVycywgJWxkIGhlYWRzLCAlbGQgc2VjdG9ycy90cmFja1xuIgorI34gbXNnc3RyICIlczogJWxkIGN5bGluZHJhciwgJWxkIGh1dnVkZW4sICVsZCBzZWt0b3Jlci9zcMOlclxuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MFxuIgorI34gbXNnc3RyICJmZWxha3RpZyBha3RpdiBieXRlOiAweCV4IGlzdMOkbGxldCBmw7ZyIDB4ODBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGw6RyZGlnXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkR1IGhhciAlZCBha3RpdmEgcHJpbcOkcmEgcGFydGl0aW9uZXIuIExJTE8gYnJ5ciBzaWcgaW50ZSBvbSBkZXR0YSwgbWVuXG4iCisjfiAiRE9TIGh1dnVkc3RhcnRwb3N0IChNQlIpIGthbiBlbmRhc3Qgc3RhcnRhIGVuIGjDpXJkZGlzayBtZWQgMSBha3RpdlxuIgorI34gInBhcnRpdGlvbi5cbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW5cbiIKKyN+IG1zZ3N0ciAicGFydGl0aW9uICVzIGhhciBpZCAleCBvY2ggw6RyIGludGUgZG9sZFxuIgorCisjfiBtc2dpZCAiQmFkIElkICVseFxuIgorI34gbXNnc3RyICJGZWxha3RpZ3QgSWQgJWx4XG4iCisKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXNcbiIKKyN+IG1zZ3N0ciAiw5ZkZXNkaWdlcnQgZmVsOiBrYW4gaW50ZSBoaXR0YSAlc1xuIgorCisjfiBtc2dpZCAiT0tcbiIKKyN+IG1zZ3N0ciAiT0tcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdFxuIgorI34gbXNnc3RyICJQYXJ0aXRpb24gJWQgZmlubnMgaW50ZSwga2FuIGludGUgw6RuZHJhIGRlblxuIgorCisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJKYWcgZ2lsbGFyIGludGUgZGVzc2EgcGFydGl0aW9uZXIgLSBpbmdlbnRpbmcgw6RuZHJhZGVzLlxuIgorI34gIihPbSBkdSB2ZXJrbGlnZW4gdmlsbCBnw7ZyYSBkZXR0YSBiw7ZyIGR1IGFudsOkbmRhIGZsYWdnYW4gLS1mb3JjZSkuXG4iCisKKyN+IG1zZ2lkICJJIGRvbid0IGxpa2UgdGhpcyAtIHByb2JhYmx5IHlvdSBzaG91bGQgYW5zd2VyIE5vXG4iCisjfiBtc2dzdHIgIkphZyBnaWxsYXIgaW50ZSBkZXR0YSAtIGR1IGLDtnIgbm9nIHN2YXJhIG5lalxuIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIsOEciBkdSBuw7ZqZCBtZWQgZGV0dGE/IFt5bnFdICIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlzazogZsO2ciB0aWRpZ3Qgc2x1dCBww6UgaW5kYXRhXG4iCisKKyN+IG1zZ2lkICJRdWl0dGluZyAtIG5vdGhpbmcgY2hhbmdlZFxuIgorI34gbXNnc3RyICJBdnNsdXRhciAtIGluZ2VudGluZyDDpG5kcmFkZXNcbiIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIlN2YXJhIG1lZCBldHQgYXYgeSwgbiBlbGxlciBxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJMeWNrYWRlcyBza2FwYSBkZW4gbnlhIHBhcnRpdGlvbnN0YWJlbGxlblxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJPbSBkdSBza2FwYWRlIGVsbGVyIMOkbmRyYWRlIGVuIERPUy1wYXJ0aXRpb24sIGzDpXQgb3NzIHPDpGdhIC9kZXYvZm9vNywgYsO2clxuIgorI34gImR1IHNlZGFuIGFudsOkbmRhIGRkKDEpIGbDtnIgYXR0IG5vbGxzdMOkbGxhIGRlIGbDtnJzdGEgNTEyIGJ5dGVuOlxuIgorI34gImRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2UgZmRpc2soOCkpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6IGNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gaW50ZSDDtnBwbmEgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3QgYWxsb2NhdGUgbWVtb3J5IGZvciBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBkdSBtw6VzdGUgYW5nZSBmaWxzeXN0ZW1zdHlwZW4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6IGZzY2sgWy1BTU5QUlRWXSBbIC1DIFsgZmQgXSBdIFstdCBmc3R5cGVdIFtmcy1vcHRpb25zXSBbZmlsZXN5cyAuLi5dXG4iCisjfiBtc2dzdHIgIkFudsOkbmRuaW5nOiBta2ZzIFstVl0gWy10IGZpbHN5c3RlbXN0eXBdIFtmaWxzeXN0ZW1zZmxhZ2dvcl0gZW5oZXQgW3N0b3JsZWtdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgw7ZwcG5hICVzOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBmcsOlbiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgYWxsb2tlcmEgYnVmZmVydCBmw7ZyIGlub2RlciIKKworI34gbXNnaWQgIlVzYWdlOiBnZXRvcHQgb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiQW52w6RuZG5pbmc6IGdldG9wdCBmbGFnZ3N0csOkbmcgcGFyYW1ldHJhclxuIgorCisjfiBtc2dpZCAiICAgICAgIGdldG9wdCBbb3B0aW9uc10gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgZ2V0b3B0IFtmbGFnZ29yXSBbLS1dIGZsYWdnc3Ryw6RuZyBwYXJhbWV0cmFyXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgb3B0c3RyaW5nIFtvcHRpb25zXSBbLS1dXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW2ZsYWdnb3JdIC1vfC0tb3B0aW9ucyBmbGFnZ3N0csOkbmcgW2ZsYWdnb3JdIFstLV1cbiIKKworI34gbXNnaWQgImdldG9wdCAoZW5oYW5jZWQpIDEuMS40XG4iCisjfiBtc2dzdHIgImdldG9wdCAodXTDtmthZCkgMS4xLjRcbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydDogJXMiCisjfiBtc2dzdHIgIkthbiBpbnRlIMO2cHBuYSAvZGV2L3BvcnQ6ICVzIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoRsO2cnbDpG50YWRlOiBcIlVUQ1wiIGVsbGVyIFwiTE9DQUxcIiBlbGxlciBpbmdlbnRpbmcuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaW1lIGVsYXBzZWQgc2luY2UgcmVmZXJlbmNlIHRpbWUgaGFzIGJlZW4gJS42ZiBzZWNvbmRzLlxuIgorI34gIkRlbGF5aW5nIGZ1cnRoZXIgdG8gcmVhY2ggdGhlIG5ldyB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiVGlkIHNvbSBoYXIgZ8OldHQgc2VkYW4gcmVmZXJlbnN0aWRlbiDDpHIgJS42ZiBzZWt1bmRlci5cbiIKKyN+ICJGw7ZyZHLDtmplciB5dHRlcmxpZ2FyZSBmw7ZyIGF0dCBuw6UgbsOkc3RhIGhlbGEgc2VrdW5kLlxuIgorCisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0ciAiQmVow7Z2ZXIgaW5mb2dhICVkIHNla3VuZGVyIG9jaCByZWZlcmVyYSB0aWxsYmFrYSBpIHRpZGVuICUuNmYgc2VrdW5kZXIgc2VkYW5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHNob3cgdGhpcyBoZWxwXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9jayAtIGZyw6VnYSBvY2ggc3TDpGxsIGluIGjDpXJkdmFydWtsb2NrYW4gKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJBbnbDpG5kbmluZzogaHdjbG9jayBbZnVua3Rpb25dIFtmbGFnZ29yLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmt0aW9uZXI6XG4iCisjfiAiICAtLWhlbHAgICAgICAgIHZpc2EgZGVubmEgaGrDpGxwXG4iCisjfiAiICAtLXNob3cgICAgICAgIGzDpHMgaMOlcmR2YXJ1a2xvY2thbiBvY2ggc2tyaXYgcmVzdWx0YXRldFxuIgorI34gIiAgLS1zZXQgICAgICAgICBzdMOkbGwgcnRjOm4gdGlsbCB0aWRlbiBzb20gYW5nZXMgbWVkIC0tZGF0ZVxuIgorI34gIiAgLS1oY3Rvc3lzICAgICBzdMOkbGwgc3lzdGVtdGlkZW4gZnLDpW4gaMOlcmR2YXJ1a2xvY2thblxuIgorI34gIiAgLS1zeXN0b2hjICAgICBzdMOkbGwgaMOlcmR2YXJ1a2xvY2thbiB0aWxsIGFrdHVlbGwgc3lzdGVtdGlkXG4iCisjfiAiICAtLWFkanVzdCAgICAgIGp1c3RlcmEgcnRjOm4gZsO2ciBhdHQga29tcGVuc2VyYSBmw7ZyIHN5c3RlbWF0aXNrIGRyYWduaW5nXG4iCisjfiAiICAgICAgICAgICAgICAgIHNlZGFuIGtsb2NrYW4gc2VuYXN0IHN0w6RsbGRlcyBlbGxlciBqdXN0ZXJhZGVzXG4iCisjfiAiICAtLWdldGVwb2NoICAgIHNrcml2IHV0IGvDpHJuYW5zIHbDpHJkZSBww6UgaMOlcmR2YXJ1a2xvY2tlcG9rXG4iCisjfiAiICAtLXNldGVwb2NoICAgIHN0w6RsbCBrw6RybmFucyB2w6RyZGUgcMOlIGjDpXJkdmFydWtsb2NrZXBvayB0aWxsIHbDpHJkZXQgc29tXG4iCisjfiAiICAgICAgICAgICAgICAgIGFuZ2l2aXRzIG1lZCAtLWVwb2NoXG4iCisjfiAiICAtLXZlcnNpb24gICAgIHNrcml2IHV0IHZlcnNpb25zbnVtcmV0IHDDpSBod2Nsb2NrIHDDpSBzdGFuZGFyZCB1dFxuIgorI34gIlxuIgorI34gIkZsYWdnb3I6IFxuIgorI34gIiAgLS11dGMgICAgICAgICBow6VyZHZhcnVrbG9ja2FuIGjDpWxscyBpIHVuaXZlcnNhbHRpZCAoVVRDKVxuIgorI34gIiAgLS1sb2NhbHRpbWUgICBow6VyZHZhcnVrbG9ja2FuIGjDpWxscyBpIGxva2FsIHRpZFxuIgorI34gIiAgLS1ydGM9cGF0aCAgICBzcGVjaWFsZmlsIC9kZXYvLi4uIGF0dCBhbnbDpG5kYSBpc3TDpGxsZXQgZsO2ciBzdGFuZGFyZFxuIgorI34gIiAgLS1kaXJlY3Rpc2EgICBhbnbDpG5kIElTQS1idXNzZW4gZGlyZWt0IGlzdMOkbGxldCBmw7ZyICVzXG4iCisjfiAiICAtLWJhZHllYXIgICAgIGlnbm9yZXJhIMOlcmV0IGkgcnRjOm4gZWZ0ZXJzb20gYmlvc2V0IMOkciB0cmFzaWd0XG4iCisjfiAiICAtLWRhdGUgICAgICAgIGFuZ2VyIHRpZGVuIHNvbSBow6VyZHZhcnVrbG9ja2FuIHNrYSBzdMOkbGxhcyB0aWxsXG4iCisjfiAiICAtLWVwb2NoPcOlciAgICBhbmdlciBkZXQgw6VyIHNvbSDDpHIgYsO2cmphbiBww6UgaMOlcmR2YXJ1a2xvY2thbnMgZXBva3bDpHJkZVxuIgorI34gIiAgLS1ub2FkamZpbGUgICBmw7Zyc8O2ayBpbnRlIGtvbW1hIMOldCAvZXRjL2FkanRpbWUuIEtyw6R2ZXIgYXR0IGFudGluZ2VuXG4iCisjfiAiICAgICAgICAgICAgICAgIC0tdXRjIGVsbGVyIC0tbG9jYWx0aW1lIGFudsOkbmRzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiRHUgaGFyIGFuZ2l2aXQgZmxlcmEgZnVua3Rpb25lclxuIgorI34gIkR1IGthbiBiYXJhIHV0ZsO2cmEgZW4gZnVua3Rpb24gw6V0IGfDpW5nZW4uXG4iCisKKyN+IG1zZ2lkICIlczogVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguXG4iCisjfiBtc2dzdHIgIiVzOiBGbGFnZ29ybmEgLS11dGMgb2NoIC0tbG9jYWx0aW1lIMOkciDDtm1zZXNpZGlndCB1dGVzbHV0YW5kZS4gRHUgYW5nYXYgYsOlZGEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC5cbiIKKyN+IG1zZ3N0ciAiJXM6IEZsYWdnb3JuYSAtLWFkanVzdCBvY2ggLS1ub2FkamZpbGUgw6RyIMO2bXNlc2lkaWd0IHV0ZXNsdXRhbmRlLiBEdSBhbmdhdiBiw6VkYS5cbiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC5cbiIKKyN+IG1zZ3N0ciAiVHl2w6RyciwgZW5kYXN0IHN1cGVyYW52w6RuZGFyZW4ga2FuIMOkbmRyYSBow6VyZHZhcnVrbG9ja2FucyBlcG9rIGkga8Okcm5hbi5cbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICJWw6RudGFyIGkgc2xpbmdhbiBww6UgYXR0IHRpZGVuIGZyw6VuIEtER0hXQ0xLIHNrYSDDpG5kcmFzXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSy1pb2N0bCBmw7ZyIGF0dCBsw6RzYSB0aWQgbWlzc2x5Y2thZGVzIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgdG8gcmVhZCB0aW1lIGZhaWxlZCBpbiBsb29wIgorI34gbXNnc3RyICJLREdIV0NMSy1pb2N0bCBmw7ZyIGF0dCBsw6RzYSB0aWQgbWlzc2x5Y2thZGVzIGkgc2xpbmdhbiIKKworI34gbXNnaWQgImlvY3RsIEtEU0hXQ0xLIGZhaWxlZCIKKyN+IG1zZ3N0ciAiS0RTSFdDTEstaW9jdGwgbWlzc2x5Y2thZGVzIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgL2Rldi90dHkxIGVsbGVyIC9kZXYvdmMvMSIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAicmVhZCgpIHDDpSAlcyBmw7ZyIGF0dCB2w6RudGEgcMOlIGtsb2NrdGljayBtaXNzbHlja2FkZXMiCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgaW5pdHN0cmluZyIKKyN+IG1zZ3N0ciAia2FuIGludGUgbWlubmVzYWxsb2tlcmEgaW5pdGllcmluZ3NzdHLDpG5nIgorCisjfiBtc2dpZCAidXNlcnMiCisjfiBtc2dzdHIgImFudsOkbmRhcmUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIm9yXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFudsOkbmRuaW5nOiAlcyBbLThoaUxtd10gWy1sIGlubG9nZ25pbmdzcHJvZ3JhbV0gWy10IHRpZHNncsOkbnNdIFstSSBpbml0aWVyaW5nc3N0csOkbmddIFstSCBpbmxvZ2duaW5nc3bDpHJkXSBiYXVkaGFzdGlnaGV0LC4uLiBsaW5qZSBbdGVybWluYWx0eXBdXG4iCisjfiAiZWxsZXJcdFstaGlMbXddIFstbCBpbmxvZ2duaW5nc3Byb2dyYW1dIFstdCB0aWRzZ3LDpG5zXSBbLUkgaW5pdGllcmluZ3NzdHLDpG5nXSBbLUggaW5sb2dnbmluZ3N2w6RyZF0gbGluamUgYmF1ZGhhc3RpZ2hldCwuLi4gW3Rlcm1pbmFsdHlwXVxuIgorCisjfiBtc2dpZCAibG9naW46IG1lbW9yeSBsb3csIGxvZ2luIG1heSBmYWlsXG4iCisjfiBtc2dzdHIgImxvZ2luOiBsaXRlIG1pbm5lLCBpbmxvZ2duaW5nIGthbiBtaXNzbHlja2FzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJrYW4gaW50ZSBtaW5uZXNhbGxva2VyYSBmw7ZyIHR0eWNsYXNzIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICJrYW4gaW50ZSBtaW5uZXNhbGxva2VyYSBmw7ZyIGdycGxpc3QiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAiSW5sb2dnbmluZyBww6UgJXMgZnLDpW4gJXMgbmVrYXMuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiQW52w6RuZG5pbmc6ICVzIFsgLWYgZnVsbHN0w6RuZGlndC1uYW1uIF0gWyAtbyBqb2JiIF0gIgorCisjfiBtc2dpZCAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjfiBtc2dpZCAiQ29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZC5cbiIKKyN+IG1zZ3N0ciAiS29udHJvbGx0ZWNrZW4gw6RyIGludGUgdGlsbMOldG5hLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbIC1zIHNoZWxsIF0gWyAtLWxpc3Qtc2hlbGxzIF0gWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgdXNlcm5hbWUgXVxuIgorI34gbXNnc3RyICIiCisjfiAiQW52w6RuZG5pbmc6ICVzIFsgLXMgc2thbCBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIGFudsOkbmRhcm5hbW4gXVxuIgorCisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQuXG4iCisjfiBtc2dzdHIgIiVzOiBcIiVjXCIgw6RyIGludGUgdGlsbMOldGV0LlxuIgorCisjfiBtc2dpZCAiJXM6IENvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQuXG4iCisjfiBtc2dzdHIgIiVzOiBLb250cm9sbHRlY2tlbiDDpHIgaW50ZSB0aWxsw6V0bmEuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFVzZSAtbCBvcHRpb24gdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIiVzOiBhbnbDpG5kIGZsYWdnYW4gLWwgZsO2ciBhdHQgc2UgbGlzdGFuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXMgZsO2ciBsw6RzbmluZyIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogbGFzdCBbLSNdIFstZiBmaWxdIFstdCB0dHldIFstaCB2w6RyZG5hbW5dIFthbnbDpG5kYXJlIC4uLl1cbiIKKworI34gbXNnaWQgIiAgc3RpbGwgbG9nZ2VkIGluIgorI34gbXNnc3RyICIgIGZvcnRmYXJhbmRlIGlubG9nZ2FkIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IG1pbm5lc2FsbG9rZXJpbmdzZmVsLlxuIgorCisjfiBtc2dpZCAibG9naW46IE91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAibG9naW46IFNsdXQgcMOlIG1pbm5lXG4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICJJTkxPR0dOSU5HIEFWICVzIE5FS0FTIEZSw4VOICVzIFDDhSBUVFkgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiSU5MT0dHTklORyBBViAlcyBORUtBUyBQw4UgVFRZICVzIgorCisjfiBtc2dpZCAiTG9naW4gaW5jb3JyZWN0XG4iCisjfiBtc2dzdHIgIkZlbGFrdGlnIGlubG9nZ25pbmdcbiIKKworI34gbXNnaWQgImxvZ2luOiBmYWlsdXJlIGZvcmtpbmc6ICVzIgorI34gbXNnc3RyICJsb2dpbjogZ3JlbmFuZGUgbWlzc2x5Y2thZGVzOiAlcyIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2luOiBpbmdldCBza2FsOiAlcy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgYW52w6RuZGFybmFtbjogIgorCisjfiBtc2dpZCAibG9naW4gbmFtZSBtdWNoIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJhbnbDpG5kYXJuYW1uZXQgw6RyIGFsbGRlbGVzIGbDtnIgbMOlbmd0LlxuIgorCisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy5cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZGFybmFtbiBmw6VyIGludGUgYsO2cmphIG1lZCBcIi1cIi5cbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgIkbDllIgTcOFTkdBIG55cmFkZXIiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIEZST00gJXMsICVzIgorI34gbXNnc3RyICJNSVNTTFlDS0FEIElOTE9HR05JTkcgRlLDhU4gJXMsICVzIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIk1JU1NMWUNLQUQgSU5MT0dHTklORyBQw4UgJXMsICVzIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVkIE1JU1NMWUNLQURFIElOTE9HR05JTkdBUiBGUsOFTiAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBPTiAlcywgJXMiCisjfiBtc2dzdHIgIiVkIE1JU1NMWUNLQURFIElOTE9HR05JTkdBUiBQw4UgJXMsICVzIgorCisjfiBtc2dpZCAidXNhZ2U6IG1lc2cgW3kgfCBuXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IMOFdGtvbXN0IG5la2FzLiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IHNldHVpZCIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3x0dDpzc3wrbWludXRlcl1cbiIKKworI34gbXNnaWQgIlNodXRkb3duIHByb2Nlc3MgYWJvcnRlZCIKKyN+IG1zZ3N0ciAiTmVkc3TDpG5nbmluZ3Nmw7ZybG9wcGV0IGF2YnJ1dGV0IgorCisjfiBtc2dpZCAiJXM6IE9ubHkgcm9vdCBjYW4gc2h1dCBhIHN5c3RlbSBkb3duLlxuIgorI34gbXNnc3RyICIlczogRW5kYXN0IHJvb3Qga2FuIHN0w6RuZ2EgbmVyIGV0dCBzeXN0ZW0uXG4iCisKKyN+IG1zZ2lkICJUaGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj9cbiIKKyN+IG1zZ3N0ciAiRGV0IG3DpXN0ZSB2YXJhIGltb3Jnb24sIGthbiBkdSBpbnRlIHbDpG50YSB0aWxsIGRlc3M/XG4iCisKKyN+IG1zZ2lkICJmb3IgbWFpbnRlbmFuY2U7IGJvdW5jZSwgYm91bmNlIgorI34gbXNnc3RyICJmw7ZyIHVuZGVyaMOlbGw7IHN0dWRzLCBzdHVkcyIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIlN5c3RlbWV0IHN0w6RuZ3MgbmVyIGlub20gNSBtaW51dGVyIgorCisjfiBtc2dpZCAiTG9naW4gaXMgdGhlcmVmb3JlIHByb2hpYml0ZWQuIgorI34gbXNnc3RyICJJbmxvZ2duaW5nIMOkciBkw6RyZsO2ciBpbnRlIHRpbGzDpXRlbi4iCisKKyN+IG1zZ2lkICJyZWJvb3RlZCBieSAlczogJXMiCisjfiBtc2dzdHIgIm9tc3RhcnRhZCBhdiAlczogJXMiCisKKyN+IG1zZ2lkICJoYWx0ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICJzdGFubmFkIGF2ICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVmFyZsO2ciBsZXZlciBqYWcgZm9ydGZhcmFuZGUgZWZ0ZXIgb21zdGFydD8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiTm93IHlvdSBjYW4gdHVybiBvZmYgdGhlIHBvd2VyLi4uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTnUga2FuIGR1IHN0w6RuZ2EgYXYgc3Ryw7ZtbWVuLi4uIgorCisjfiBtc2dpZCAiQ2FsbGluZyBrZXJuZWwgcG93ZXItb2ZmIGZhY2lsaXR5Li4uXG4iCisjfiBtc2dzdHIgIkFucm9wYXIga8Okcm5hbnMgYXZzdMOkbmduaW5nc2ZhY2lsaXRldC4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJGZWwgdmlkIGF2c3TDpG5nbmluZ1x0JXNcbiIKKworI34gbXNnaWQgIkV4ZWN1dGluZyB0aGUgcHJvZ3JhbSBcIiVzXCIgLi4uXG4iCisjfiBtc2dzdHIgIkvDtnIgcHJvZ3JhbW1ldCBcIiVzXCIuLi5cbiIKKworI34gbXNnaWQgIlVSR0VOVDogYnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlczoiCisjfiBtc2dzdHIgIkJSw4VEU0tBTkRFOiBtZWRkZWxhbmRlIHRpbGwgYWxsYSBmcsOlbiAlczoiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBob3VycyAlZCBtaW51dGVzIgorI34gbXNnc3RyICJTeXN0ZW1ldCBnw6VyIG5lciBvbSAlZCB0aW1tYXIgb2NoICVkIG1pbnV0ZXIiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIGhvdXIgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiU3lzdGVtZXQgZ8OlciBuZXIgb20gMSB0aW1tZSBvY2ggJWQgbWludXRlciIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiU3lzdGVtZXQgZ8OlciBuZXIgb20gJWQgbWludXRlclxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBtaW51dGVcbiIKKyN+IG1zZ3N0ciAiU3lzdGVtZXQgZ8OlciBuZXIgb20gMSBtaW51dFxuIgorCisjIG1zZ2lkICJcYVVSR0VOVDogYnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlczoiCisjIG1zZ3N0ciAiIgorI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIElNTUVESUFURUxZIVxuIgorI34gbXNnc3RyICJTeXN0ZW1ldCBnw6VyIG5lciBPTUVERUxCQVJUIVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx0Li4uICVzLi4uXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJLYW4gaW50ZSBncmVuYSBmw7ZyIHN3YXBvZmYuIFN1Y2shIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgc3dhcG9mZiwgaG9waW5nIHVtb3VudCB3aWxsIGRvIHRoZSB0cmljay4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGvDtnJhIHN3YXBvZmYsIGhvcHBhcyBhdHQgdW1vdW50IGZpeGFyIGRldC4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3IgdW1vdW50LCB0cnlpbmcgbWFudWFsbHkuIgorI34gbXNnc3RyICJLYW4gaW50ZSBncmVuYSBmw7ZyIHVtb3VudCwgZsO2cnPDtmtlciBtYW51ZWxsdC4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUga8O2cmEgJXMsIGbDtnJzw7ZrZXIgbWVkIHVtb3VudC5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGvDtnJhIHVtb3VudCwgZ2VyIHVwcCBtZWQgdW1vdW50LiIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiBLdW5kZSBpbnRlIGF2bW9udGVyYSAlczogJXNcbiIKKworI34gbXNnaWQgIkJvb3RpbmcgdG8gc2luZ2xlIHVzZXIgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiU3RhcnRhciBpIGVuYW52w6RuZGFybMOkZ2UuXG4iCisKKyN+IG1zZ2lkICJleGVjIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJrw7ZybmluZyBhdiBlbmFudsOkbmRhcnNrYWwgbWlzc2x5Y2thZGVzXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICJncmVuaW5nIGF2IGVuYW52w6RuZGFyc2thbCBtaXNzbHlja2FkZXNcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICJmZWwgdmlkIMO2cHBuYW5kZSBhdiBmaWZvXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJmZWwgdmlkIGluc3TDpGxsbmluZyBhdiBjbG9zZS1vbi1leGVjIHDDpSAvZGV2L2luaXRjdGwiCisKKyN+IG1zZ2lkICJlcnJvciBydW5uaW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJmZWwgdmlkIGvDtnJuaW5nIGF2IGZpbmFscHJvZ1xuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBncmVuaW5nIGF2IGZpbmFscHJvZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldyb25nIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRmVsIGzDtnNlbm9yZC5cbiIKKworI34gbXNnaWQgImxzdGF0IG9mIHBhdGggZmFpbGVkXG4iCisjfiBtc2dzdHIgImxzdGF0KCkgcMOlIHPDtmt2w6RnIG1pc3NseWNrYWRlc1xuIgorCisjfiBtc2dpZCAiZm9yayBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiZ3JlbmluZyBtaXNzbHlja2FkZXNcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIGluaXR0YWJcbiIKKyN+IG1zZ3N0ciAia2FuIGludGUgw7ZwcG5hIGluaXR0YWJcbiIKKworI34gbXNnaWQgIm5vIFRFUk0gb3IgY2Fubm90IHN0YXQgdHR5XG4iCisjfiBtc2dzdHIgImluZ2VuIFRFUk0gZWxsZXIga2FuIGludGUgdGEgc3RhdHVzIHDDpSB0dHlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBhdCBzdG9wcGluZyBzZXJ2aWNlIFwiJXNcIlxuIgorI34gbXNnc3RyICJmZWwgdmlkIHN0b3BwYW5kZSBhdiB0asOkbnN0OiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJmZWwgdmlkIHN0b3BwYW5kZSBhdiB0asOkbnN0OiBcIiVzXCIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RhcnRpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBzdG9wcGFuZGUgYXYgdGrDpG5zdDogXCIlc1wiIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJmw7ZyIG3DpW5nYSBpb3YgKMOkbmRyYSBrb2QgaSB3YWxsL3R0eW1zZy5jKSIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBBTExWQVJMSUdUIEZFTCIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogZ3J1cHBmaWxlbiDDpHIgdXBwdGFnZW4uXG4iCisKKyMgXygiJXM6IHRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpXG4iKSwKKyMgCXByb2duYW1lLAorIyAJcHJvZ3JhbSA9PSBWSVBXID8gInBhc3N3b3JkIiA6ICJncm91cCIsCisjIAl0bXBfZmlsZSk7CisjCisjIERldHRhIMOkciB0cmFzaWd0IC0gVGhpcyBpcyBicm9rZW4KKyMgLQorIyBEZWxhIGFsZHJpZyB1cHAgZXR0IG1lZGRlbGFuZGUgc8OlIGjDpHIsIGFudsOkbmQgdHbDpSBtZWRkZWxhbmRlbiBpc3TDpGxsZXQKKyMgLQorIyBOZXZlciBzcGxpdCBhIHNlbnRlbmNlIGxpa2UgdGhpcywgdXNlIHR3byBmdWxsIG1lc3NhZ2VzIGluc3RlYWQKKyMKKyN+IG1zZ2lkICIlczogdGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudClcbiIKKyN+IG1zZ3N0ciAiJXM6IGZpbGVuICVzIMOkciB1cHB0YWdlbiAoJXMgZmlubnMpXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgbGluayAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIGzDpG5rYSAlczogJXNcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlczoga2FuIGludGUgbMOlc2EgdXBwICVzOiAlcyAoZGluYSDDpG5kcmluZ2FyIMOkciBmb3J0ZmFyYW5kZSBpICVzKVxuIgorCisjfiBtc2dpZCAiJXM6IENhbm5vdCBmb3JrXG4iCisjfiBtc2dzdHIgIiVzOiBLYW4gaW50ZSBncmVuYVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFtmaWxlXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogJXMgW2ZpbF1cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICIlczoga2FuIGludGUgbMOkc2EgJXMuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc3RhdCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIHRhIHN0YXR1cyBww6UgdGVtcG9yw6RyIGZpbC5cbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCByZWFkIHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlczoga2FuIGludGUgbMOkc2EgdGVtcG9yw6RyIGZpbC5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogY2FsIFstMTNzbWp5Vl0gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IGNhbCBbLTEzc21qeVZdIFtbbcOlbmFkXSDDpXJdXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJTdC4gVGlicyBEYWciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRsO2ciBtZXIgaW5mb3JtYXRpb24sIHNlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtcyBzaWduYWwgfCAtcCBdIFsgLWEgXSBwaWQgLi4uXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyAtbCBbIHNpZ25hbCBdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIHNpZ25hbCBdXG4iCisKKyN+IG1zZ2lkICJsb2dnZXI6ICVzOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9nZ2VyOiAlczogJXMuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9nZ2VyIFstaXNdIFstZiBmaWxlXSBbLXAgcHJpXSBbLXQgdGFnXSBbLXUgc29ja2V0XSBbIG1lc3NhZ2UgLi4uIF1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IGxvZ2dlciBbLWlzXSBbLWYgZmlsXSBbLXAgcHJpXSBbLXQgdGFnZ10gWy11IHV0dGFnXSBbIG1lZGRlbGFuZGUgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogbG9vayBbLWRmYV0gWy10IHRlY2tlbl0gc3Ryw6RuZyBbZmlsXVxuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiS3VuZGUgaW50ZSDDtnBwbmEgJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5PyIKKyN+IG1zZ3N0ciAic2x1dCBww6UgbWlubmU/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkbDtnIgbWVyIGluZm9ybWF0aW9uLCBzZSBzZXRhcmNoKDgpLlxuIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IHNsdXQgcMOlIG1pbm5lXG4iCisKKyN+IG1zZ2lkICJjYWxsOiAlcyBmcm9tIHRvIGZpbGVzLi4uXG4iCisjfiBtc2dzdHIgImFucm9wYTogJXMgZnLDpW4gdGlsbCBmaWxlci4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogc2NyaXB0IFstYV0gWy1mXSBbLXFdIFstdF0gW2ZpbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3IgJWQ6ICVzXG4iCisjfiBtc2dzdHIgInNrcml2ZmVsIHDDpSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAic2tyaXZmZWwgcMOlICVzXG4iCisKKyN+IG1zZ2lkICIlczogQXJndW1lbnQgZXJyb3IsIHVzYWdlXG4iCisjfiBtc2dzdHIgIiVzOiBBcmd1bWVudGZlbCwgYW52w6RuZG5pbmdcbiIKKworI34gbXNnaWQgIiAgWyAtdGVybSB0ZXJtaW5hbF9uYW1lIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC10ZXJtIHRlcm1pbmFsbmFtbiBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXJlc2V0IF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXNldCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWluaXRpYWxpemUgXVxuIgorI34gbXNnc3RyICIgIFsgLWluaXRpYWxpemUgXVxuIgorCisjfiBtc2dpZCAiICBbIC1jdXJzb3IgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLWN1cnNvciBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNub3cgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zb2Z0c2Nyb2xsIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtcmVwZWF0IFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXBlYXQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtbGluZXdyYXAgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLWxpbmV3cmFwIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgIiAgWyAtZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWZvcmVncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWZvcmVncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0IF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0IF1cbiIKKworI34gbXNnaWQgIiAgWyAtYmFja2dyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtYmFja2dyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtYm9sZCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtYm9sZCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJsaW5rIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGluayBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXJldmVyc2UgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXJldmVyc2UgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1zdG9yZSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc3RvcmUgXVxuIgorCisjfiBtc2dpZCAiICBbIC1jbGVhciBbYWxsfHJlc3RdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1jbGVhciBbYWxsfHJlc3RdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtdGFicyBbIHRhYjEgdGFiMiB0YWIzIC4uLiBdIF0gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLXRhYnMgWyB0YWJiMSB0YWJiMiB0YWJiMyAuLi4gXSBdICAgICAgKHRhYmJudW1tZXIgPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAgWyAtY2xydGFicyBbIHRhYjEgdGFiMiB0YWIzIC4uLiBdIF0gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgIFsgLWNscnRhYnMgWyB0YWJiMSB0YWJiMiB0YWJiMyAuLi4gXSBdICAgKHRhYmJudW1tZXIgPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAgWyAtcmVndGFicyBbMS0xNjBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZWd0YWJzIFsxLTE2MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgWyAtYmxhbmsgWzAtNjB8Zm9yY2V8cG9rZV0gXVxuIgorI34gbXNnc3RyICIgIFsgLWJsYW5rIFswLTYwXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWR1bXAgICBbMS1OUl9DT05TT0xFU10gXVxuIgorI34gbXNnc3RyICIgIFsgLWR1bXAgICBbMS1BTlRBTF9LT05TT0xMRVJdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtYXBwZW5kIFsxLU5SX0NPTlNPTEVTXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtYXBwZW5kIFsxLUFOVEFMX0tPTlNPTExFUl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1maWxlIGR1bXBmaWxlbmFtZSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtZmlsZSBkdW1wZmlsbmFtbiBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtbXNnIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtbXNnbGV2ZWwgWzAtOF0gXVxuIgorI34gbXNnc3RyICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJsZW5ndGggWzAtMjAwMF0gXVxuIgorI34gbXNnc3RyICIgIFsgLWJsZW5ndGggWzAtMjAwMF0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1iZnJlcSBmcmVxbnVtYmVyIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1iZnJlcSBmcmVrdmVuc251bW1lciBdXG4iCisKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXBcbiIKKyN+IG1zZ3N0ciAiRmVsIHZpZCBza3Jpdm5pbmcgYXYgc2vDpHJtZHVtcFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiBsYXN0IFstI10gWy1mIGZpbF0gWy10IHR0eV0gWy1oIHbDpHJkbmFtbl0gW2FudsOkbmRhcmUgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAlcyAta1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IMO2cHBuYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IG1pc3NseWNrYWRlcyBtZWQgYXR0IMO2cHBuYTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICJPZ2lsdGlndCB0YWw6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcl0gWy10XVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogJXMgW2ZpbF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJEaXNrICVzIGlubmVow6VsbGVyIGludGUgZW4gZ2lsdGlnIHBhcnRpdGlvbnN0YWJlbGxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiT2dpbHRpZ3QgaW5zdMOkbGx0IHbDpHJkZTogJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiB3cml0ZSB1c2VyIFt0dHldXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiB3cml0ZSBhbnbDpG5kYXJlIFt0dHldXG4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAidmFybmluZzogZmVsIHZpZCBsw6RzbmluZyBhdiAlczogJXMiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAidmFybmluZzoga2FuIGludGUgw7ZwcG5hICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjb3VsZCBub3Qgb3BlbiAlcyAtIHVzaW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGt1bmRlIGludGUgw7ZwcG5hICVzIC0gYW52w6RuZGVyICVzIGlzdMOkbGxldFxuIgorCisjfiBtc2dpZCAiY2FuJ3QgY3JlYXRlIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2FuIGludGUgc2thcGEgbMOlc2ZpbGVuICVzOiAlcyAoYW52w6RuZCBmbGFnZ2FuIC1uIGbDtnIgYXR0IMOlc2lkb3PDpHR0YSkiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2FuIGludGUgbMOkbmthIGzDpXNmaWxlbiAlczogJXMgKGFudsOkbmQgZmxhZ2dhbiAtbiBmw7ZyIGF0dCDDpXNpZG9zw6R0dGEpIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSBsw6VzZmlsZW4gJXM6ICVzIChhbnbDpG5kIGZsYWdnYW4gLW4gZsO2ciBhdHQgw6VzaWRvc8OkdHRhKSIKKworI34gbXNnaWQgIkNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlc1xuIgorI34gbXNnc3RyICJLYW4gaW50ZSBsw6VzYSBsw6VzZmlsZW4gJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgImthbiBpbnRlIGzDpXNhIGzDpXNmaWxlbiAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkthbiBpbnRlIHNrYXBhIGzDpG5rZW4gJXNcbiIKKyN+ICJEZXQgZmlubnMga2Fuc2tlIGVuIGt2YXJnbMO2bWQgbMOlc2ZpbD9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICJrYW4gaW50ZSDDtnBwbmEgJXMgKCVzKSAtIG10YWIgdXBwZGF0ZXJhZGVzIGludGUiCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICJmZWwgdmlkIGJ5dGUgYXYgcsOkdHRpZ2hldGVyIHDDpSAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBvd25lciBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiZmVsIHZpZCBieXRlIGF2IHLDpHR0aWdoZXRlciBww6UgJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2FuIGludGUgZsOlIHRhZyBpIGluZm9ybWF0aW9uIG9tIGVuaGV0ZW4gJXM6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLCBvZmZzZXQgJTxQUkl1NjQ+IgorI34gbXNnc3RyICIsIGF2c3TDpW5kICVkIgorCisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiLCBrcnlwdGVyaW5nc3R5cCAlZFxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZ2V0IGluZm8gb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBrYW4gaW50ZSBmw6UgdGFnIGkgaW5mb3JtYXRpb24gb20gZW5oZXRlbiAlczogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBrYW4gaW50ZSDDtnBwbmEgZW5oZXRlbiAlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogL2RldiBkaXJlY3RvcnkgZG9lcyBub3QgZXhpc3QuIgorI34gbXNnc3RyICIlczogYW52w6RuZGFyZW4gXCIlc1wiIGZpbm5zIGludGUuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG5vIHBlcm1pc3Npb24gdG8gbG9vayBhdCAvZGV2L2xvb3AlczxOPiIKKyN+IG1zZ3N0ciAiJXM6IGluZ2EgcsOkdHRpZ2hldGVyIGF0dCBncmFuc2thIC9kZXYvbG9vcCMiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEt1bmRlIGludGUgaGl0dGEgbsOlZ29uIHNsaW5nZW5oZXQuIERlbm5hIGvDpHJuYSBrw6RubmVyIGthbnNrZSBpbnRlXG4iCisjfiAiICAgICAgIHRpbGwgc2xpbmdlbmhldGVuPyAoT20gZGV0IMOkciBzw6UgYsO2ciBkdSBrb21waWxlcmEgb20gZWxsZXJcbiIKKyN+ICIgICAgICAgXCJtb2Rwcm9iZSBsb29wXCIpLiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiU2x1dCBww6UgbWlubmUgdmlkIHbDpHhhbmRlIGF2IGJ1ZmZlcnQuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogJXMgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiU2VrdG9yICVkIMOkciByZWRhbiBhbGxva2VyYWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlczogaXMgd3JpdGUtcHJvdGVjdGVkLCB1c2luZyByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyVzIMOkciBza3JpdnNreWRkYWQsIG1vbnRlcmFyIHNvbSBlbmRhc3QgbMOkc2JhciIKKworI34gbXNnaWQgIkNvdWxkbid0IGxvY2sgaW50byBtZW1vcnksIGV4aXRpbmcuXG4iCisjfiBtc2dzdHIgIkt1bmRlIGludGUgbMOlc2EgaSBtaW5uZSwgYXZzbHV0YXIuXG4iCisKKyN+IG1zZ2lkICJpb2N0bCBMT09QX1NFVF9GRCBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImlvY3RsIExPT1BfU0VUX0ZEIG1pc3NseWNrYWRlczogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUpOiBseWNrYWRlc1xuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogbHlja2FkZXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IGthbiBpbnRlIHRhIGJvcnQgZW5oZXRlbiAlczogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJEZW5uYSBtb3VudCBrb21waWxlcmFkZXMgdXRhbiBzdMO2ZCBmw7ZyIHNsaW5nb3IuIER1IGLDtnIga29tcGlsZXJhIG9tLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyBsb29wX2RldmljZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ2l2ZSBpbmZvXG4iCisjfiAiICUxJHMgLWEgfCAtLWFsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWRcbiIKKyN+ICIgJTEkcyAtZCB8IC0tZGV0YWNoIDxsb29wZGV2PiBbPGxvb3BkZXY+IC4uLl0gZGVsZXRlXG4iCisjfiAiICUxJHMgLWYgfCAtLWZpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbmQgdW51c2VkXG4iCisjfiAiICUxJHMgLWMgfCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gICAgICAgICAgIHJlc2l6ZVxuIgorI34gIiAlMSRzIC1qIHwgLS1hc3NvY2lhdGVkIDxmaWxlPiBbLW8gPG51bT5dICAgICBsaXN0IGFsbCBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCisjfiAiICUxJHMgWyBvcHRpb25zIF0gey1mfC0tZmluZHxsb29wZGV2fSA8ZmlsZT4gIHNldHVwXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJhbnbDpG5kbmluZzpcbiIKKyN+ICIgICVzIHNsaW5nZW5oZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBnZSBpbmZvcm1hdGlvblxuIgorI34gIiAgJXMgLWQgc2xpbmdlbmhldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHRhIGJvcnRcbiIKKyN+ICIgICVzIC1mICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBoaXR0YSBsZWRpZ1xuIgorI34gIiAgJXMgWy1lIGtyeXB0ZXJpbmddIFstbyBhdnN0w6VuZF0gey1mfHNsaW5nZW5oZXR9IGZpbCAgIyBrb25maWd1cmF0aW9uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1lIHwgLS1lbmNyeXB0aW9uIDx0eXBlPiBlbmFibGUgZGF0YSBlbmNyeXB0aW9uIHdpdGggc3BlY2lmaWVkIDxuYW1lL251bT5cbiIKKyN+ICIgLWggfCAtLWhlbHAgICAgICAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIiAtbyB8IC0tb2Zmc2V0IDxudW0+ICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorI34gIiAgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgbG9vcCBsaW1pdGVkIHRvIG9ubHkgPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAgfCAtLXBhc3MtZmQgPG51bT4gICAgIHJlYWQgcGFzc3BocmFzZSBmcm9tIGZpbGUgZGVzY3JpcHRvciA8bnVtPlxuIgorI34gIiAtciB8IC0tcmVhZC1vbmx5ICAgICAgICAgc2V0dXAgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCisjfiAiICAgICAgLS1zaG93ICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSAod2l0aCAtZiA8ZmlsZT4pXG4iCisjfiAiIC12IHwgLS12ZXJib3NlICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkFudsOkbmRuaW5nOlxuIgorI34gIiAlMSRzIHNsaW5nZW5oZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgZ2UgaW5mb1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgbGlzdGEgYWxsYSBhbnbDpG5kYVxuIgorI34gIiAlMSRzIC1kIHwgLS1kZXRhY2ggc2xpbmdlbmhldCAgICAgICAgICAgICAgICAgICAgICMgdGEgYm9ydFxuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgaGl0dGEgb2FudsOkbmRhXG4iCisjfiAiICUxJHMgWyBmbGFnZ29yIF0gey1mfC0tZmluZHxzbGluZ2VuaGV0fSBmaWwgICAgICAgIyBrb25maWd1cmVyYVxuIgorI34gIlxuIgorI34gIkZsYWdnb3I6XG4iCisjfiAiIC1lIHwgLS1lbmNyeXB0aW9uIDx0eXA+ICBha3RpdmVyYSBkYXRha3J5cHRlcmluZyBtZWQgYW5naXZldCA8bmFtbi9udW0+XG4iCisjfiAiIC1oIHwgLS1oZWxwICAgICAgICAgICAgICBkZW4gaMOkciBoasOkbHBlblxuIgorI34gIiAtbyB8IC0tb2Zmc2V0IDxudW0+ICAgICAgc3RhcnRhIHDDpSBvZmZzZXQgPG51bT4gaSBmaWxlblxuIgorI34gIiAtcCB8IC0tcGFzcy1mZCA8bnVtPiAgICAgbMOkcyBsw7ZzZW5mcmFzIGZyw6VuIGZpbGlkZW50aWZpZXJhcmUgPG51bT5cbiIKKyN+ICIgLXIgfCAtLXJlYWQtb25seSAgICAgICAgIGtvbmZpZ3VyZXJhIHNrcml2c2t5ZGRhZCBzbGluZ2VuaGV0XG4iCisjfiAiIC1zIHwgLS1zaG93ICAgICAgICAgICAgICBza3JpdiB1dCBlbmhldHNuYW1uIChtZWQgLWYgPGZpbD4pXG4iCisjfiAiIC12IHwgLS12ZXJib3NlICAgICAgICAgICBpbmZvcm1hdGl2dCBsw6RnZVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN0b2xlbiBsb29wPSVzLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBzdHVsZW4gbG9vcD0lcyAuLi5mw7Zyc8O2a2VyIGlnZW5cbiIKKworI34gbXNnaWQgIk5vIGxvb3Agc3VwcG9ydCB3YXMgYXZhaWxhYmxlIGF0IGNvbXBpbGUgdGltZS4gUGxlYXNlIHJlY29tcGlsZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkluZ2V0IHN0w7ZkIGbDtnIgc2xpbmdvciBmYW5ucyB0aWxsZ8OkbmdsaWd0IHZpZCBrb21waWxlcmluZ2VuLiBEdSBiw7ZyXG4iCisjfiAia29tcGlsZXJhIG9tLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGltcHJvcGVybHkgcXVvdGVkIG9wdGlvbiBzdHJpbmcgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnQ6IGZlbGFrdGlndCBjaXRlcmFkIGZsYWdnc3Ryw6RuZyBcIiVzXCIiCisKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IMO2dmVyc2F0dGUgJXMgXCIlc1wiIHRpbGwgXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGVubGlndCBtdGFiIMOkciAlcyByZWRhbiBtb250ZXJhdCBww6UgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiBlbmxpZ3QgbXRhYiDDpHIgJXMgbW9udGVyYXQgcMOlICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuIGludGUgw7ZwcG5hICVzIGbDtnIgc2tyaXZuaW5nOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGZlbCB2aWQgc2tyaXZuaW5nIGF2ICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGZlbCB2aWQgYnl0ZSBhdiByw6R0dGlnaGV0ZXIgcMOlICVzOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBpbnRlIHN0w6RsbGEgaW4gZ3J1cHAtaWQ6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gaW50ZSBzdMOkbGxhIGluIGFudsOkbmRhci1pZDogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2FuIGludGUgZ3JlbmE6ICVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIkbDtnJzw7ZrZXIgbWVkICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogZHUgYW5nYXYgaW5nZW4gZmlsc3lzdGVtc3R5cCBmw7ZyICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSBhbGwgdHlwZXMgbWVudGlvbmVkIGluICVzIG9yICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBKYWcga29tbWVyIGF0dCBmw7Zyc8O2a2EgbWVkIGFsbGEgdHlwZXIgbsOkbW5kYSBpICVzIGVsbGVyICVzXG4iCisKKyN+IG1zZ2lkICIgICAgICAgYW5kIGl0IGxvb2tzIGxpa2UgdGhpcyBpcyBzd2Fwc3BhY2VcbiIKKyN+IG1zZ3N0ciAiICAgICAgIG9jaCBkZXQgdmVya2FyIHNvbSBvbSBkZXR0YSDDpHIgdsOkeGxpbmdzdXRyeW1tZVxuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgdHlwZSAlc1xuIgorI34gbXNnc3RyICIgICAgICAgSmFnIGtvbW1lciBhdHQgZsO2cnPDtmthIG1lZCB0eXBlbiAlc1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMgc2VyIHV0IHNvbSB2w6R4bGluZ3N1dHJ5bW1lIC0gbW9udGVyYXMgaW50ZSIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHR5cGVuIGFuZ2l2ZW4gdHbDpSBnw6VuZ2VyIgorCisjfiBtc2dpZCAibW91bnQ6IHNraXBwaW5nIHRoZSBzZXR1cCBvZiBhIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgIm1vdW50OiBob3BwYXIgw7Z2ZXIga29uZmlndXJhdGlvbmVuIGF2IGVuIHNsaW5nZW5oZXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBlbmxpZ3QgbXRhYiDDpHIgJXMgcmVkYW4gbW9udGVyYXQgcMOlICVzIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogc3R1bGVuIGxvb3A9JXMgLi4uZsO2cnPDtmtlciBpZ2VuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgIm1vdW50OiBzdHVsZW4gbG9vcD0lcyIKKworI34gbXNnaWQgIm1vdW50OiBzZXR1cCBsb29wIGRldmljZSBzdWNjZXNzZnVsbHlcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGx5Y2thZGVzIGtvbmZpZ3VyZXJhIHNsaW5nZW5oZXRlblxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogaW5nZW4gJXMgaGl0dGFkZXMgLSBza2FwYXIgZGVuLi4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gaW50ZSDDtnBwbmEgJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogYXJndW1lbnQgdGlsbCAtcCBlbGxlciAtLXBhc3MtZmQgbcOlc3RlIHZhcmEgZXR0IHRhbCIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgb3BlbiAlcyBmb3Igc2V0dGluZyBzcGVlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBpbnRlIMO2cHBuYSAlcyBmw7ZyIGluc3TDpGxsbmluZyBhdiBoYXN0aWdoZXQiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBrYW4gaW50ZSBzdMOkbGxhIGluIGhhc3RpZ2hldDogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogZW5saWd0IG10YWIgw6RyICVzIHJlZGFuIG1vbnRlcmF0IHDDpSAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgw6RyIHVwcHRhZ2VuIC0gbW9udGVyYWRlIG9tIHNvbSBlbmRhc3QgbMOkc2JhclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyDDpHIgdXBwdGFnZW4gLSBtb250ZXJhZGUgb20gc29tIGVuZGFzdCBsw6RzYmFyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChjb3VsZCB0aGlzIGJlIHRoZSBJREUgZGV2aWNlIHdoZXJlIHlvdSBpbiBmYWN0IHVzZVxuIgorI34gIiAgICAgICBpZGUtc2NzaSBzbyB0aGF0IHNyMCBvciBzZGEgb3Igc28gaXMgbmVlZGVkPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKGthbiBkZXR0YSB2YXJhIGRlbiBJREUtZW5oZXQgZMOkciBkdSBpIHNqw6RsdmEgdmVya2V0XG4iCisjfiAiICAgICAgIGFudsOkbmRlciBpZGUtc2NzaSBzw6UgYXR0IHNyMCBlbGxlciBzZGEgZWxsZXIgbsOlZ290XG4iCisjfiAiICAgICAgIGxpa25hbmRlIGJlaMO2dnM/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGFyZW4ndCB5b3UgdHJ5aW5nIHRvIG1vdW50IGFuIGV4dGVuZGVkIHBhcnRpdGlvbixcbiIKKyN+ICIgICAgICAgaW5zdGVhZCBvZiBzb21lIGxvZ2ljYWwgcGFydGl0aW9uIGluc2lkZT8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChmw7Zyc8O2a2VyIGR1IGthbnNrZSBtb250ZXJhIGVuIHV0w7ZrYWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpc3TDpGxsZXQgZsO2ciBuw6Vnb24gbG9naXNrIHBhcnRpdGlvbiBpbnV0aT8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiB1bmtub3duIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzOiBva8OkbmQgZW5oZXQiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogZHUgbWVuYWRlIHRyb2xpZ3R2aXMgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICdpc285NjYwJz8iCisjfiBtc2dzdHIgIm1vdW50OiBkdSBtZW5hZGUga2Fuc2tlIFwiaXNvOTY2MFwiPyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6IGR1IG1lbmFkZSBrYW5za2UgXCJ2ZmF0XCI/IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGhhciBmZWwgZW5oZXRzbnVtbWVyIGVsbGVyIHPDpSBzdMO2ZHMgZmlsc3lzdGVtc3R5cGVuICVzIGludGUiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGluZ2VuIHR5cCBhbmdhdnMgLSBqYWcga29tbWVyIGF0dCBhbnRhIG5mcyBww6UgZ3J1bmQgYXYga29sb25ldFxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGluZ2VuIHR5cCBhbmdhdnMgLSBqYWcga29tbWVyIGF0dCBhbnRhIGNpZnMgcMOlIGdydW5kIC8vLXByZWZpeGV0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAiQW52w6RuZG5pbmc6IG1vdW50IC1WICAgICAgICAgICAgICAgICAgOiB2aXNhIHZlcnNpb25cbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgIDogdmlzYSBkZW5uYSBoasOkbHB0ZXh0XG4iCisjfiAiICAgICAgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgICA6IHZpc2EgbW9udGVyYWRlIGZpbHN5c3RlbVxuIgorI34gIiAgICAgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICAgOiBzYW1tYSwgaW5rbHVzaXZlIHZvbHltZXRpa2V0dGVyXG4iCisjfiAiRGV0IHZhciBkZW4gaW5mb3JtYXRpdmEgZGVsZW4uIE51IGtvbW1lciB2aSB0aWxsIG1vbnRlcmluZy5cbiIKKyN+ICJLb21tYW5kb3Qgw6RyIFwibW91bnQgWy10IGZpbHN5c3RlbXN0eXBdIG7DpWdvbnRpbmcgaMOkclwiLlxuIgorI34gIkRldGFsamVyIHNvbSBrYW4gaGl0dGFzIGkgL2V0Yy9mc3RhYiBrYW4gdXRlbMOkbW5hcy5cbiIKKyN+ICIgICAgICAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgIDogbW9udGVyYSBhbGx0IGkgL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICAgICAgIG1vdW50IGVuaGV0ICAgICAgICAgICAgICAgOiBtb250ZXJhIGVuaGV0IHDDpSBkZW4ga8OkbmRhIHBsYXRzZW5cbiIKKyN+ICIgICAgICAgICAgICBtb3VudCBrYXRhbG9nICAgICAgICAgICAgIDogbW9udGVyYSBrw6RuZCBlbmhldCBow6RyXG4iCisjfiAiICAgICAgICAgICAgbW91bnQgLXQgdHlwIGVuaGV0IGthdCAgICA6IHZhbmxpZ3QgbW9udGVyaW5nc2tvbW1hbmRvXG4iCisjfiAiT2JzZXJ2ZXJhIGF0dCBtYW4gZWdlbnRsaWdlbiBpbnRlIG1vbnRlcmFyIGVuIGVuaGV0LCB1dGFuIGV0dFxuIgorI34gImZpbHN5c3RlbSAoYXYgYW5naXZlbiB0eXApIHNvbSBmaW5ucyBww6UgZW5oZXRlbi5cbiIKKyN+ICJNYW4ga2FuIG9ja3PDpSBtb250ZXJhIGV0dCByZWRhbiBzeW5saWd0IGthdGFsb2d0csOkZCBuw6Vnb24gYW5uYW5zdGFuczpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIGdhbW1hbGthdGFsb2cgbnlrYXRhbG9nXG4iCisjfiAiZWxsZXIgZmx5dHRhIGV0dCB1bmRlcnRyw6RkOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUgZ2FtbWFsa2F0YWxvZyBueWthdGFsb2dcbiIKKyN+ICJNYW4ga2FuIMOkbmRyYSBtb250ZXJpbmdzdHlwZW4gc29tIGlubmVow6VsbGVyIGthdGFsb2dlbiBcImthdGFsb2dcIjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBrYXRhbG9nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBrYXRhbG9nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGthdGFsb2dcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUga2F0YWxvZ1xuIgorI34gIk1hbiBrYW4gw6RuZHJhIHR5cGVuIGbDtnIgYWxsYSBtb250ZXJpbmdhcm5hIGkgZXR0IG1vbnRlcmluZ3N1bmRlcnRyw6RkXG4iCisjfiAic29tIGlubmVow6VsbGVyIGthdGFsb2dlbiBcImthdGFsb2dcIjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQga2F0YWxvZ1xuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGthdGFsb2dcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGthdGFsb2dcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGthdGFsb2dcbiIKKyN+ICJFbiBlbmhldCBrYW4gYW5nZXMgbWVkIG5hbW4sIGV4ZW1wZWx2aXMgL2Rldi9oZGExIGVsbGVyIC9kZXYvY2Ryb20sXG4iCisjfiAiZWxsZXIgbWVkIGV0aWtldHQsIGdlbm9tIGF0dCBhbnbDpG5kYSAgLUwgZXRpa2V0dCAgZWxsZXIgbWVkIHV1aWQsXG4iCisjfiAiZ2Vub20gYXR0IGFudsOkbmRhICAtVSB1dWlkLlxuIgorI34gIkFuZHJhIGZsYWdnb3I6IFstbmZGcnN2d10gWy1vIGZsYWdnb3JdIFstcCBsw7ZzZW5vcmRmZF0uXG4iCisjfiAiQW5nZSAgbWFuIDggbW91bnQgIGbDtnIgeXR0ZXJsaWdhcmUgZGV0YWxqZXIuXG4iCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJpbmdlbnRpbmcgbW9udGVyYWRlcyIKKworI34gbXNnaWQgIm1vdW50OiBubyBzdWNoIHBhcnRpdGlvbiBmb3VuZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGluZ2VuIHPDpWRhbiBwYXJ0aXRpb24gaGl0dGFkZXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiB2YXJuaW5nOiBpbmdlbiBhdnNsdXRhbmRlIG55cmFkIHDDpSBzbHV0ZXQgYXYgJXNcbiIKKworI34gbXNnaWQgIlttbnRlbnRdOiBsaW5lICVkIGluICVzIGlzIGJhZCVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiByYWQgJWQgaSAlcyDDpHIgZmVsYWt0aWclc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyByZXN0ZW4gYXYgZmlsZW4gaWdub3JlcmFzIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgInByb2dyYW1mZWwgaSB4c3RybmR1cC1hbnJvcCIKKworI34gbXNnaWQgIm5vdCBlbm91Z2ggbWVtb3J5IgorI34gbXNnc3RyICJpbnRlIHRpbGxyw6Rja2xpZ3QgbWVkIG1pbm5lIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWN2IGZhaWxlZCIKKyN+IG1zZ3N0ciAia8O2cm5pbmcgbWlzc2x5Y2thZGVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiTmFtbiIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJ1bW91bnQ6IGtvbXBpbGVyYWQgdXRhbiBzdMO2ZCBmw7ZyIC1mXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGthbiBpbnRlIHN0w6RsbGEgaW4gZ3J1cHAtaWQ6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGthbiBpbnRlIHN0w6RsbGEgaW4gYW52w6RuZGFyLWlkOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGthbiBpbnRlIGdyZW5hOiAlcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6ICVzIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiAlcyIKKworI34gbXNnaWQgIm5vIHVtb3VudDIsIHRyeWluZyB1bW91bnQuLi5cbiIKKyN+IG1zZ3N0ciAiaW5nZW4gdW1vdW50MiwgZsO2cnPDtmtlciBtZWQgdW1vdW50Li4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgw6RyIHVwcHRhZ2VuIC0gbW9udGVyYWRlIG9tIHNvbSBlbmRhc3QgbMOkc2JhclxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb3VsZCBub3QgcmVtb3VudCAlcyByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBrdW5kZSBpbnRlIG1vbnRlcmEgb20gJXMgc29tIGVuZGFzdCBsw6RzYmFyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIGF2bW9udGVyYWRcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnQ6IGthbiBpbnRlIGhpdHRhIGxpc3RhIG1lZCBmaWxzeXN0ZW0gYXR0IGF2bW9udGVyYSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiQW52w6RuZG5pbmc6IHVtb3VudCBbLWhWXVxuIgorI34gIiAgICAgICAgICAgIHVtb3VudCAtYSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnMtdHlwZXJdIFstTyBhbHRlcm5hdGl2XVxuIgorI34gIiAgICAgICAgICAgIHVtb3VudCBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2QuLi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDYW5ub3QgdW5tb3VudCBcIlwiXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGF2bW9udGVyYSBcIlwiXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIkt1bmRlIGludGUgaGl0dGEgJXMgaSBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudDogJXMgw6RyIGludGUgbW9udGVyYWQgKGVubGlndCBtdGFiKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBkZXQgdmVya2FyIHNvbSBvbSAlcyDDpHIgbW9udGVyYWQgZmxlcmEgZ8OlbmdlciIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIMOkciBpbnRlIGkgZnN0YWIgKG9jaCBkdSDDpHIgaW50ZSByb290KSIKKworI34gbXNnaWQgInVtb3VudDogJXMgbW91bnQgZGlzYWdyZWVzIHdpdGggdGhlIGZzdGFiIgorI34gbXNnc3RyICJ1bW91bnQ6IG1vbnRlcmluZyBhdiAlcyBzdMOkbW1lciBpbnRlIMO2dmVyZW5zIG1lZCBmc3RhYiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGVuZGFzdCAlcyBrYW4gYXZtb250ZXJhICVzIGZyw6VuICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCisjfiBtc2dzdHIgInVtb3VudDogZW5kYXN0IHJvb3Qga2FuIGfDtnJhIGRldCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmtub3duXG4iCisjfiBtc2dzdHIgIm9rw6RuZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyICclcyciCisjfiBtc2dzdHIgImthbiBpbnRlIMO2cHBuYSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJGw7ZyIG1lciBpbmZvcm1hdGlvbiwgc2Ugc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIG9jaCAiCisKKyN+IG1zZ2lkICJVc2FnZTogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKyN+IG1zZ3N0ciAiQW52w6RuZG5pbmc6IGN0cmxhbHRkZWwgaGFyZHxzb2Z0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJGaWwgJXMsIGbDtnIgdHLDtnNrZWx2w6RyZGUgJWx1LCBzdMO2cnN0YSBhbnRhbGV0IHRlY2tlbiBpIGZpZm9uIHZhciAlZCxcbiIKKyN+ICJvY2ggZGVuIG1heGltYWxhIMO2dmVyZsO2cmluZ3NoYXN0aWdoZXRlbiBpIHRlY2tlbi9zZWt1bmQgdmFyICVmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUgYW5kIHRpbXJvdXQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZlxuIgorI34gbXNnc3RyICIiCisjfiAiRmlsICVzLCBmw7ZyIHRyw7Zza2VsdsOkcmRlICVsdSBvY2ggdGltZW91dHbDpHJkZXQgJWx1LCBzdMO2cnN0YSBhbnRhbGV0IHRlY2tlbiBpIGZpZm9uIHZhciAlZCxcbiIKKyN+ICJvY2ggZGVuIG1heGltYWxhIMO2dmVyZsO2cmluZ3NoYXN0aWdoZXRlbiBpIHRlY2tlbi9zZWt1bmQgdmFyICVmXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsdWVdfFstUyB2YWx1ZV0pIChbLXQgdmFsdWVdfFstVCB2YWx1ZV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiQW52w6RuZG5pbmc6ICVzIFstcSBbLWkgaW50ZXJ2YWxsXV0gKFstcyB2w6RyZGVdfFstUyB2w6RyZGVdKSAoWy10IHbDpHJkZV18Wy1UIHbDpHJkZV0pIFstZ3wtR10gZmlsIFtmaWwuLi5dXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBzZXQgJXMgdG8gdGhyZXNob2xkICVkOiAlc1xuIgorI34gbXNnc3RyICJLYW4gaW50ZSBzdMOkbGxhIGluICVzIHRpbGwgdHLDtnNrZWx2w6RyZGUgJWQ6ICVzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQ6ICVzXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIHN0w6RsbGEgaW4gJXMgdGlsbCB0aWRzdHLDtnNrZWx2w6RyZGUgJWQ6ICVzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBnZXQgdGhyZXNob2xkIGZvciAlczogJXNcbiIKKyN+IG1zZ3N0ciAiS2FuIGludGUgZsOlIHRyw7Zza2VsdsOkcmRlIGbDtnIgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgYWt0dWVsbCB0csO2c2tlbCBvY2ggJWxkIGFrdHVlbGwgdGltZS1vdXRcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgZGVmYXVsdCB0aHJlc2hvbGQgYW5kICVsZCBkZWZhdWx0IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzdGFuZGFyZHRyw7Zza2VsIG9jaCAlbGQgc3RhbmRhcmR0aW1lb3V0XG4iCisKKyN+IG1zZ2lkICJnZXR0aW1lb2ZkYXkgZmFpbGVkIgorI34gbXNnc3RyICJnZXR0aW1lb2ZkYXkgbWlzc2x5Y2thZGVzIgorCisjfiBtc2dpZCAiQ2FuJ3QgaXNzdWUgQ1lHRVRNT04gb24gJXM6ICVzXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIHV0bHlzYSBDWUdFVE1PTiBww6UgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlczogJWx1IGF2YnJvdHQsICVsdS8lbHUgdGVja2VuOyBmaWZvOiAlbHUgdHLDtnNrZWwsICVsdSB0aW1lLW91dCwgJWx1IG1heCwgJWx1IG51XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBhdmJyb3R0L3M7ICVmIG1vdHQuLCAlZiBza2lja2F0ICh0ZWNrZW4vcylcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBhdmJyb3R0LCAlbHUgdGVja2VuOyBmaWZvOiAlbHUgdHLDtnNrZWwsICVsdSB0aW1lLW91dCwgJWx1IG1heCwgJWx1IG51XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBhdmJyb3R0L3NlazsgJWYgbW90dC4gKHRlY2tlbi9zKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstbiBsZXZlbF0gWy1yXSBbLXMgYnVmc2l6ZV1cbiIKKyN+IG1zZ3N0ciAiQW52w6RuZG5pbmc6ICVzIFstY10gWy1uIG5pdsOlXSBbLXMgYnVmZmVydHN0b3JsZWtdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmYWxsb2NhdGUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJGw7ZyIG1lciBpbmZvcm1hdGlvbiwgc2Ugc2V0YXJjaCg4KS5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiT2dpbHRpZ3QgdGFsOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmb3JrIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiZ3JlbmluZyBtaXNzbHlja2FkZXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzZnJlZXplKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRsO2ciBtZXIgaW5mb3JtYXRpb24sIHNlIHNldGFyY2goOCkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXMgbWlzc2x5Y2thZGVzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgaXBjbWsoMSkuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJGw7ZyIG1lciBpbmZvcm1hdGlvbiwgc2Ugc2V0YXJjaCg4KS5cbiIKKworI34gbXNnaWQgImRlcHJlY2F0ZWQgdXNhZ2U6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIC4uLlxuIgorI34gbXNnc3RyICJmw7Zyw6VsZHJhZCBhbnbDpG5kbmluZzogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gImFudsOkbmRuaW5nOiAlcyBbIFstcSBtc3FpZF0gWy1tIHNobWlkXSBbLXMgc2VtaWRdXG4iCisjfiAiICAgICAgICAgICAgICAgWy1RIG1zZ255Y2tlbF0gWy1NIHNobW55Y2tlbF0gWy1TIHNlbW55Y2tlbF0gLi4uIF1cbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorI34gbXNnc3RyICIlczogb3RpbGzDpXRlbiBmbGFnZ2EgLS0gJWNcbiIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4ga2V5IgorI34gbXNnc3RyICJva8OkbnQgZmVsIGkgbnlja2VsIgorCisjfiBtc2dpZCAibWF4IHNlZyBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgIm1heGltYWwgc2VnbWVudHN0b3JsZWsgKGtpbG9ieXRlKSA9ICVsdVxuIgorCisjfiBtc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkgKGtieXRlcykgPSAlbGx1XG4iCisjfiBtc2dzdHIgIm1heGltYWx0IHRvdGFsdCBkZWxhdCBtaW5uZSAoa2J5dGUpID0gJWxsdVxuIgorCisjfiBtc2dpZCAic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisjfiBtc2dzdHIgImFsbG9rZXJhZGUgc2VnbWVudCAlZFxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICJhbGxva2VyYWRlIHNpZG9yICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICJyZXNpZGVudGEgc2lkb3IgICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICJWw6R4bGluZ3NwcmVzdGFuZGE6ICVsZCBmw7Zyc8O2a1x0ICAlbGQgbHlja2FkZSBmw7Zyc8O2a1xuIgorCisjfiBtc2dpZCAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorI34gbXNnc3RyICJjYnl0ZT0lbGRcdHFieXRlPSVsZFx0a8O2bnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGRhdHRhY2ggZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBmcsOlbiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yOiBjYW5ub3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIMO2cHBuYSAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBVc2FnZTogXCIlcyBbb3B0aW9uc11cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorI34gIlx0IC12ICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCisjfiAiXHQgLXMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorI34gIlx0IC1WICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEFudsOkbmRuaW5nOiBcIiVzIFtmbGFnZ29yXVxuIgorI34gIlx0IC1tIDx0YWJlbGxmaWw+ICAoc3RhbmRhcmRhbHRlcm5hdGl2OiBcIiVzXCIgb2NoXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbD4gICAgKHN0YW5kYXJkYWx0ZXJuYXRpdjogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgICBzdMOkbGwgaW4gcHJvZmlsZXJpbmdzbXVsdGlwbGlrYXRvcm4gdGlsbCA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgICAgdmlzYSBlbmRhc3QgaW5mb3JtYXRpb24gb20gc2FtcGxpbmdzc3RlZ2V0XG4iCisjfiAiXHQgLXYgICAgICAgICAgICAgIHZpc2EgdXRmw7ZybGlnIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgICAgdmlzYSBhbGxhIHN5bWJvbGVyLCDDpHZlbiBvbSBhbnRhbGV0IMOkciAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICAgIHZpc2EgYW50YWwgaW5kaXZpZHVlbGxhIGhpc3RvZ3JhbS1iaW5cbiIKKyN+ICJcdCAtcyAgICAgICAgICAgICAgdmlzYSBpbmRpdmlkdWVsbGEgcsOka25hcmUgaW5vbSBmdW5rdGlvbmVyXG4iCisjfiAiXHQgLXIgICAgICAgICAgICAgIG5vbGxzdMOkbGwgYWxsYSByw6RrbmFyZSAoZW5kYXN0IHJvb3QpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICAgIGRlYWt0aXZlcmEgYXV0b21hdGlzayBkZXRla3RlcmluZyBhdiBieXRlb3JkbmluZ1xuIgorI34gIlx0IC1WICAgICAgICAgICAgICB2aXNhIHZlcnNpb25zaW5mb3JtYXRpb24gb2NoIGF2c2x1dGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZWFkcHJvZmlsZTogZXJyb3Igd3JpdGluZyAlczogJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGZlbCB2aWQgc2tyaXZuaW5nIGF2ICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlcyBmcsOlbiAlc1xuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IG9rw6RuZCBhbnbDpG5kYXJlXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogZmVsYWt0aWd0IHbDpHJkZVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgW29wdGlvbnNdXG4iCisjfiAiICAgIC1kIHwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiICAgIC1uIHwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorI34gIiAgICAtbCB8IC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCisjfiAiICAgIC1tIHwgLS1tb2RlICAgICAgICAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKKyN+ICIgICAgLXMgfCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCisjfiAiICAgIC10IHwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCisjfiAiICAgIC11IHwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCisjfiAiICAgIC12IHwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorI34gIiAgICAtViB8IC0tdmVyc2lvbiAgICAgICAgICAgIHNob3cgdmVyc2lvblxuIgorI34gbXNnc3RyICIiCisjfiAiYW52w6RuZG5pbmc6ICVzIFtmbGFnZ29yXVxuIgorI34gIiAgICAtZCB8IC0tZGV2aWNlIDxlbmhldD4gICAgIHbDpGxqIHJ0Yy1lbmhldCAocnRjMHxydGMxfC4uLilcbiIKKyN+ICIgICAgLWwgfCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgYW52w6RuZCBsb2thbCB0aWRzem9uXG4iCisjfiAiICAgIC1tIHwgLS1tb2RlICAgICAgICAgICAgICAgc3RhbmRieXxtZW18Li4uIHNvdmzDpGdlXG4iCisjfiAiICAgIC1zIHwgLS1zZWNvbmRzIDxzZWt1bmRlcj4gc2VrdW5kZXIgYXR0IHNvdmFcbiIKKyN+ICIgICAgLXQgfCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aWQgZsO2ciB1cHB2YWtuYW5kZVxuIgorI34gIiAgICAtdSB8IC0tdXRjICAgICAgICAgICAgICAgIFJUQyBhbnbDpG5kZXIgVVRDXG4iCisjfiAiICAgIC12IHwgLS12ZXJib3NlICAgICAgICAgICAgaW5mb3JtYXRpdmEgbWVkZGVsYW5kZW5cbiIKKyN+ICIgICAgLVYgfCAtLXZlcnNpb24gICAgICAgICAgICB2aXNhIHZlcnNpb25cbiIKKworI34gbXNnaWQgInNldCBydGMgYWxhcm0iCisjfiBtc2dzdHIgInN0w6RsbCBpbiBydGMtYWxhcm0iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBvdGlsbMOldGV0IGludGVydmFsbCAlcyBzZWt1bmRlclxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiBvdGlsbMOldGV0IHbDpHJkZSBmw7ZyIHRpbWVfdCwgJXNcbiIKKworI34gbXNnaWQgIiVzOiBtdXN0IHByb3ZpZGUgd2FrZSB0aW1lXG4iCisjfiBtc2dzdHIgIiVzOiBtw6VzdGUgdGlsbGhhbmRhaMOlbGxhIHVwcHZha25pbmdzdGlkXG4iCisKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAicnRjIGzDpHMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkFudsOkbmRuaW5nOiAlcyVzIFtmbGFnZ29yXSBbcHJvZ3JhbSBbcHJvZ3JhbWFyZ3VtZW50XV1cbiIKKyN+ICJcbiIKKyN+ICJGbGFnZ29yOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzZXRhcmNoKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRsO2ciBtZXIgaW5mb3JtYXRpb24sIHNlIHNldGFyY2goOCkuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIHByb2dyYW0gW2FyZ3VtZW50IC4uLl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbnbDpG5kbmluZzogJXMgPGVuaGV0PiBbIC1pIDxJUlE+IHwgLXQgPFRJRD4gfCAtYyA8VEVDS0VOPiB8IFxuIgorI34gIiAgICAgICAgICAgICAgIC13IDxWw4ROVEVUSUQ+IHwgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IFxuIgorI34gIiAgICAgICAgICAgICAgIC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IC1UIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAibWlubmVzYWxsb2tlcmluZ3NmZWwiCisKKyN+IG1zZ2lkICIlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiBmZWxha3RpZ3QgdsOkcmRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHVuZWxwOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW50OiBtb250ZXJpbmcgbWlzc2x5Y2thZGVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdW5zaGFyZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkbDtnIgbWVyIGluZm9ybWF0aW9uLCBzZSBzZXRhcmNoKDgpLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICJrw7ZybmluZyBtaXNzbHlja2FkZXNcbiIKKworI34gbXNnaWQgImNvbDogYmFkIC1sIGFyZ3VtZW50ICVzLlxuIgorI34gbXNnc3RyICJjb2w6IGZlbGFrdGlndCBhcmd1bWVudCAlcyB0aWxsIC1sLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbCBbLWJmcHhdIFstbCBubGluZV1cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IGNvbCBbLWJmcHhdIFstbCBhbnRhbHJhZGVyXVxuIgorCisjfiBtc2dpZCAiY29sOiB3cml0ZSBlcnJvci5cbiIKKyN+IG1zZ3N0ciAiY29sOiBza3JpdmZlbC5cbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWxlIC4uLiBdXG4iCisjfiBtc2dzdHIgImFudsOkbmRuaW5nOiAlcyBbIC0gXSBbIC0yIF0gWyBmaWwgLi4uIF1cbiIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgInJhZGVuIMOkciBmw7ZyIGzDpW5nIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbHVtbiBbLXR4XSBbLWMgY29sdW1uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogY29sdW1uIFstdHhdIFstYyBrb2x1bW5lcl0gW2ZpbCAuLi5dXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBiYWQgbGVuZ3RoIHZhbHVlLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBmZWxha3RpZ3QgbMOkbmdkdsOkcmRlLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogYmFkIHNraXAgdmFsdWUuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IGZlbGFrdGlndCDDtnZlcmhvcHBuaW5nc3bDpHJkZS5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBmbXRdIFstZiBmbXRmaWxdIFstbiBsw6RuZ2RdIFstcyDDtnZlcmhvcHBdIFtmaWwgLi4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIFstZGZscGNzdV0gWytyYWRudW1tZXIgfCArL23Dtm5zdGVyXSBuYW1uMSBuYW1uMiAuLi5cbiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi50aWxsYmFrYSAxIHNpZGEiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4uaG9wcGFyIMO2dmVyIGVuIHJhZCIKKworI34gbXNnaWQgIm9kOiBvZCgxKSBoYXMgYmVlbiBkZXByZWNhdGVkIGZvciBoZXhkdW1wKDEpLlxuIgorI34gbXNnc3RyICJvZDogb2QoMSkgaGFyIGVyc2F0dHMgYXYgaGV4ZHVtcCgxKS5cbiIKKworI34gbXNnaWQgIm9kOiBoZXhkdW1wKDEpIGNvbXBhdGliaWxpdHkgZG9lc24ndCBzdXBwb3J0IHRoZSAtJWMgb3B0aW9uJXNcbiIKKyN+IG1zZ3N0ciAib2Q6IGhleGR1bXAoMSkta29tcGF0aWJpbGl0ZXQgc3TDtmRlciBpbnRlIGZsYWdnYW4gLSVjJXNcbiIKKworI34gbXNnaWQgIjsgc2VlIHN0cmluZ3MoMSkuIgorI34gbXNnc3RyICI7IHNlIHN0cmluZ3MoMSkuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDoga2FuIGludGUgbMOkc2EgJXMuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBsaW5lIHRvbyBsb25nLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiByYWRlbiDDpHIgZsO2ciBsw6VuZy5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIlNsdXQgcMOlIG1pbm5lIgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gIgorI34gbXNnc3RyICJLYW4gaW50ZSDDtnBwbmEgIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAiS2FuIGludGUgYWxsb2tlcmEgYnVmZmVydHV0cnltbWVcbiIKKworI34gbXNnaWQgInVzYWdlOiByZXYgW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogcmV2IFtmaWwgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogdGFpbGYgbG9nZ2ZpbFxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6ICVzIFsgLWkgXSBbIC10VGVybWluYWwgXSBmaWwuLi5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIuXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGFsbG9rZXJhIGJ1ZmZlcnQuXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoZW4gZ3Jvd2luZyBidWZmZXIuXG4iCisjfiBtc2dzdHIgIlNsdXQgcMOlIG1pbm5lIHZpZCB2w6R4YW5kZSBhdiBidWZmZXJ0LlxuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiBsYWJlbCBvbmx5IHdpdGggdjEgc3dhcCBhcmVhXG4iCisjfiBtc2dzdHIgIiVzOiBmZWw6IGV0aWtldHQgZW5kYXN0IG1lZCB2MSB2w6R4bGluZ3N1dHJ5bW1lXG4iCisKKyN+IG1zZ2lkICJmYXRhbDogZmlyc3QgcGFnZSB1bnJlYWRhYmxlIgorI34gbXNnc3RyICLDtmRlc2RpZ2VydDogZsO2cnN0YSBzaWRhbiDDpHIgb2zDpHNiYXIiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IERldmljZSAnJXMnIGNvbnRhaW5zIGEgdmFsaWQgU3VuIGRpc2tsYWJlbC5cbiIKKyN+ICJUaGlzIHByb2JhYmx5IG1lYW5zIGNyZWF0aW5nIHYwIHN3YXAgd291bGQgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIk5vIHN3YXAgY3JlYXRlZC4gSWYgeW91IHJlYWxseSB3YW50IHRvIGNyZWF0ZSBzd2FwIHYwIG9uIHRoYXQgZGV2aWNlLCB1c2VcbiIKKyN+ICJ0aGUgLWYgb3B0aW9uIHRvIGZvcmNlIGl0LlxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEVuaGV0ZW4gXCIlc1wiIGlubmVow6VsbGVyIGVuIGdpbHRpZyBTdW4tZGlza2V0aWtldHQuXG4iCisjfiAiRGV0dGEgaW5uZWLDpHIgdHJvbGlndHZpcyBhdHQgc2thcGFuZGV0IGF2IHYwLXbDpHhsaW5nc3V0cnltbWUgc2t1bGxlIFxuIgorI34gImbDtnJzdMO2cmEgZGluIHBhcnRpdGlvbnN0YWJlbGwuXG4iCisjfiAiSW5nZXQgdsOkeGxpbmdzdXRyeW1tZSBoYXIgc2thcGF0cy4gT20gZHUgdmVya2xpZ2VuIHZpbGwgc2thcGEgdjAtXG4iCisjfiAidsOkeGxpbmdzdXRyeW1tZSBww6UgZGVuIGVuaGV0ZW4ga2FuIGR1IGFudsOkbmRhIGZsYWdnYW4gLWYgZsO2ciBhdHQgdHZpbmdhXG4iCisjfiAiZnJhbSBkZXQuXG4iCisKKyN+IG1zZ2lkICJMaW51eCBleHQyIgorI34gbXNnc3RyICJMaW51eCBleHQyIgorCisjfiBtc2dpZCAiTGludXggZXh0MyIKKyN+IG1zZ3N0ciAiTGludXggZXh0MyIKKworI34gbXNnaWQgIkxpbnV4IFhGUyIKKyN+IG1zZ3N0ciAiTGludXggWEZTIgorCisjfiBtc2dpZCAiTGludXggSkZTIgorI34gbXNnc3RyICJMaW51eCBKRlMiCisKKyN+IG1zZ2lkICJMaW51eCBSZWlzZXJGUyIKKyN+IG1zZ3N0ciAiTGludXggUmVpc2VyRlMiCisKKyN+IG1zZ2lkICJPUy8yIElGUyIKKyN+IG1zZ3N0ciAiT1MvMiBJRlMiCisKKyN+IG1zZ2lkICJOVEZTIgorI34gbXNnc3RyICJOVEZTIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBmZGlzayBbLWIgU1NaXSBbLXVdIERJU0sgICAgIENoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgICAgICAgZmRpc2sgLWwgWy1iIFNTWl0gWy11XSBESVNLICBMaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAgICAgICBmZGlzayAtcyBQQVJUSVRJT04gICAgICAgICAgIEdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiICAgICAgIGZkaXNrIC12ICAgICAgICAgICAgICAgICAgICAgR2l2ZSBmZGlzayB2ZXJzaW9uXG4iCisjfiAiSGVyZSBESVNLIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRiIG9yIC9kZXYvc2RhXG4iCisjfiAiYW5kIFBBUlRJVElPTiBpcyBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYTdcbiIKKyN+ICItdTogZ2l2ZSBTdGFydCBhbmQgRW5kIGluIHNlY3RvciAoaW5zdGVhZCBvZiBjeWxpbmRlcikgdW5pdHNcbiIKKyN+ICItYiAyMDQ4OiAoZm9yIGNlcnRhaW4gTU8gZGlza3MpIHVzZSAyMDQ4LWJ5dGUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAiQW52w6RuZG5pbmc6IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgw4RuZHJhIHBhcnRpdGlvbnN0YWJlbGxcbiIKKyN+ICIgICAgICAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0sgIExpc3RhIHBhcnRpdGlvbnN0YWJlbGwoZXIpXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgLXMgUEFSVElUSU9OICAgICAgICAgICBWaXNhIHBhcnRpdGlvbnNzdG9ybGVrKGFyKSBpIGJsb2NrXG4iCisjfiAiICAgICAgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBWaXNhIGZkaXNrcyB2ZXJzaW9uc251bW1lclxuIgorI34gIkRJU0sgw6RyIG7DpWdvbnRpbmcgbGlrbmFuZGUgL2Rldi9oZGIgZWxsZXIgL2Rldi9zZGFcbiIKKyN+ICJvY2ggUEFSVElUSU9OIMOkciBuw6Vnb250aW5nIGxpa25hbmRlIC9kZXYvaGRhN1xuIgorI34gIi11OiB2aXNhIGLDtnJqYW4gb2NoIHNsdXQgaSBzZWt0b3JlciAoaXN0w6RsbGV0IGbDtnIgY3lsaW5kcmFyKVxuIgorI34gIi1iIDIwNDg6IChmw7ZyIHZpc3NhIE1PLWVuaGV0ZXIpIGFudsOkbmQgMjA0OC1ieXRlc3Nla3RvcmVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstbF0gWy1iIFNTWl0gWy11XSBkZXZpY2VcbiIKKyN+ICJFLmcuOiBmZGlzayAvZGV2L2hkYSAgKGZvciB0aGUgZmlyc3QgSURFIGRpc2spXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9zZGMgIChmb3IgdGhlIHRoaXJkIFNDU0kgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L2VkYSAgKGZvciB0aGUgZmlyc3QgUFMvMiBFU0RJIGRyaXZlKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvcmQvYzBkMCAgb3I6IGZkaXNrIC9kZXYvaWRhL2MwZDAgIChmb3IgUkFJRCBkZXZpY2VzKVxuIgorI34gIiAgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJBbnbDpG5kbmluZzogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGVuaGV0XG4iCisjfiAiRXhlbXBlbHZpczogZmRpc2sgL2Rldi9oZGEgIChmw7ZyIGRlbiBmw7Zyc3RhIElERS1kaXNrZW4pXG4iCisjfiAiICAgICBlbGxlcjogZmRpc2sgL2Rldi9zZGMgIChmw7ZyIGRlbiB0cmVkamUgU0NTSS1kaXNrZW4pXG4iCisjfiAiICAgICBlbGxlcjogZmRpc2sgL2Rldi9lZGEgIChmw7ZyIGRlbiBmw7Zyc3RhIFBTLzItRVNESS1lbmhldGVuKVxuIgorI34gIiAgICAgZWxsZXI6IGZkaXNrIC9kZXYvcmQvYzBkMCBlbGxlcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAoZsO2ciBSQUlELWVuaGV0ZXIpXG4iCisjfiAiICAgICAuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJUaGUgbnVtYmVyIG9mIGN5bGluZGVycyBmb3IgdGhpcyBkaXNrIGlzIHNldCB0byAlZC5cbiIKKyN+ICJUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhhdCwgYnV0IHRoaXMgaXMgbGFyZ2VyIHRoYW4gMTAyNCxcbiIKKyN+ICJhbmQgY291bGQgaW4gY2VydGFpbiBzZXR1cHMgY2F1c2UgcHJvYmxlbXMgd2l0aDpcbiIKKyN+ICIxKSBzb2Z0d2FyZSB0aGF0IHJ1bnMgYXQgYm9vdCB0aW1lIChlLmcuLCBvbGQgdmVyc2lvbnMgb2YgTElMTylcbiIKKyN+ICIyKSBib290aW5nIGFuZCBwYXJ0aXRpb25pbmcgc29mdHdhcmUgZnJvbSBvdGhlciBPU3NcbiIKKyN+ICIgICAoZS5nLiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQW50YWxldCBjeWxpbmRyYXIgZsO2ciBkZW5uYSBkaXNrIMOkciBzYXR0IHRpbGwgJWQuXG4iCisjfiAiRGV0IMOkciBpbmdldCBmZWwgbWVkIGRldCwgbWVuIGRldCDDpHIgc3TDtnJyZSDDpG4gMTAyNCwgb2NoIGthbiBpXG4iCisjfiAidmlzc2Ega29uZmlndXJhdGlvbmVyIG9yc2FrYSBwcm9ibGVtIG1lZDpcbiIKKyN+ICIxKSBwcm9ncmFtdmFyYSBzb20ga8O2ciB1bmRlciB1cHBzdGFydCAoZXhlbXBlbHZpcyBnYW1sYSB2ZXJzaW9uZXJcbiIKKyN+ICIgICBhdiBMSUxPKVxuIgorI34gIjIpIHN0YXJ0LSBvY2ggcGFydGl0aW9uZXJpbmdzcHJvZ3JhbXZhcmEgZnLDpW4gYW5kcmEgb3BlcmF0aXZzeXN0ZW1cbiIKKyN+ICIgICAoZXhlbWVwbHZpcyBET1MgRkRJU0ssIE9TLzIgRkRJU0spXG4iCisKKyN+IG1zZ2lkICIjIHBhcnRpdGlvbiB0YWJsZSBvZiAlc1xuIgorI34gbXNnc3RyICIjIHBhcnRpdGlvbnN0YWJlbGwgZsO2ciAlc1xuIgorCisjfiBtc2dpZCAiY2FsbGluZyBvcGVuX3R0eVxuIgorI34gbXNnc3RyICJhbnJvcGFyIG9wZW5fdHR5XG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIHRlcm1pb19pbml0XG4iCisjfiBtc2dzdHIgImFucm9wYXIgdGVybWlvX2luaXRcbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAic2tyaXZlciBpbml0aWVyaW5nc3N0csOkbmdcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJmw7ZyZSBhdXRvYmF1ZFxuIgorCisjfiBtc2dpZCAid2FpdGluZyBmb3IgY3ItbGZcbiIKKyN+IG1zZ3N0ciAidsOkbnRhciBww6UgY3ItbGZcbiIKKworI34gbXNnaWQgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorI34gbXNnc3RyICJsw6RzZXIgYW52w6RuZGFybmFtblxuIgorCisjfiBtc2dpZCAiYWZ0ZXIgZ2V0b3B0IGxvb3BcbiIKKyN+IG1zZ3N0ciAiZWZ0ZXIgZ2V0b3B0LXNsaW5nYVxuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZWFyZ3NcbiIKKyN+IG1zZ3N0ciAiYXZzbHV0YXIgcGFyc2VhcmdzXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJnaWNrIGluIGkgcGFyc2Vfc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJleGl0aW5nIHBhcnNlc3BlZWRzXG4iCisjfiBtc2dzdHIgImF2c2x1dGFyIHBhcnNlc3BlZWRzXG4iCisKKyN+IG1zZ2lkICJvcGVuKDIpXG4iCisjfiBtc2dzdHIgIm9wZW4oMilcbiIKKworI34gbXNnaWQgImR1cGluZ1xuIgorI34gbXNnc3RyICJkdXBsaWNlcmFyXG4iCisKKyN+IG1zZ2lkICJ0ZXJtX2lvIDJcbiIKKyN+IG1zZ3N0ciAidGVybV9pbyAyXG4iCisKKyN+IG1zZ2lkICJjaGZuOiBQQU0gRmFpbHVyZSwgYWJvcnRpbmc6ICVzXG4iCisjfiBtc2dzdHIgImNoZm46IFBBTS1mZWwsIGF2YnJ5dGVyOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogXCIlc1wiIGlzIG5vdCBsaXN0ZWQgaW4gL2V0Yy9zaGVsbHNcbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogXCIlc1wiIGZpbm5zIGludGUgbWVkIGkgL2V0Yy9zaGVsbHNcbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICJLYW4gaW50ZSBsw6RzYSAlcywgYXZzbHV0YXIuIgorCisjfiBtc2dpZCAibG9naW46IFBBTSBGYWlsdXJlLCBhYm9ydGluZzogJXNcbiIKKyN+IG1zZ3N0ciAibG9naW46IFBBTS1mZWwsIGF2YnJ5dGVyOiAlc1xuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ0aW1lLW91dCA9ICVkLCB0eXN0ID0gJWQsIG9tc3RhcnQgPSAlZFxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVuYWJsZSB0byBnZXQgY3VycmVudCBkaXJlY3RvcnkgLSAlc1xuIgorI34gbXNnc3RyICJuYW1laToga3VuZGUgaW50ZSBmw6UgdGFnIGkgYWt0dWVsbCBrYXRhbG9nIC0gJXNcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmFibGUgdG8gY2hkaXIgdG8gJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBrdW5kZSBpbnRlIGJ5dGEga2F0YWxvZyB0aWxsICVzIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laToga3VuZGUgaW50ZSBieXRhIGthdGFsb2cgdGlsbCByb3RlbiFcbiIKKworI34gbXNnaWQgIm5hbWVpOiBjb3VsZCBub3Qgc3RhdCByb290IVxuIgorI34gbXNnc3RyICJuYW1laToga3VuZGUgaW50ZSB0YSBzdGF0dXMgcMOlIHJvdGVuIVxuIgorCisjfiBtc2dpZCAiID8gY291bGQgbm90IGNoZGlyIGludG8gJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/IGt1bmRlIGludGUgYnl0YSBrYXRhbG9nIHRpbGwgJXMgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgPyBwcm9ibGVtcyByZWFkaW5nIHN5bWxpbmsgJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/IHByb2JsZW0gdmlkIGzDpHNuaW5nIGF2IHN5bWJvbGlza2EgbMOkbmtlbiAlcyAtICVzICglZClcbiIKKworI34gbXNnaWQgIiAgKioqIEVYQ0VFREVEIFVOSVggTElNSVQgT0YgU1lNTElOS1MgKioqXG4iCisjfiBtc2dzdHIgIiAgKioqIMOWVkVSU0tSRUQgVU5JWC1HUsOETlNFTiBGw5ZSIFNZTUJPTElTS0EgTMOETktBUiAqKipcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmtub3duIGZpbGUgdHlwZSAwJTA2byBvbiBmaWxlICVzXG4iCisjfiBtc2dzdHIgIm5hbWVpOiBva8OkbmQgZmlsdHlwIDAlMDZvIHDDpSBmaWxlbiAlc1xuIgorCisjfiBtc2dpZCAiY291bGRuJ3QgcmVhZCAlcywgYW5kIGNhbm5vdCBpb2N0bCBkdW1wXG4iCisjfiBtc2dzdHIgImt1bmRlIGludGUgbMOkc2EgJXMsIG9jaCBrYW4gaW50ZSBkdW1wYSBpb2N0bFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIG1vdW50ICVzIGJ5ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBrb21tZXIgYXR0IG1vbnRlcmEgJXMgZWZ0ZXIgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyBMQUJFTD0sIG5vIFVVSUQ9LCBnb2luZyB0byBtb3VudCAlcyBieSBwYXRoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBpbmdlbiBMQUJFTD0sIGluZ2V0IFVVSUQ9LCBrb21tZXIgYXR0IG1vbnRlcmEgJXMgZWZ0ZXIgc8O2a3bDpGdcbiIKKworI34gbXNnaWQgIiwgb2Zmc2V0ICVsbGQiCisjfiBtc2dzdHIgIiwgYXZzdMOlbmQgJWxsZCIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIiVzOiBrdW5kZSBpbnRlIGhpdHRhIG7DpWdvbiAvZGV2L2xvb3AjLWVuaGV0IgorCisjfiBtc2dpZCAibW91bnQ6IGJhY2tncm91bmRpbmcgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBmw7ZybMOkZ2dlciBcIiVzXCIgdGlsbCBiYWtncnVuZGVuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ2l2aW5nIHVwIFwiJXNcIlxuIgorI34gbXNnc3RyICJtb3VudDogZ2VyIHVwcCBcIiVzXCJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gWy1wIHByaW9yaXR5XSBzcGVjaWFsfExBQkVMPXZvbHVtZV9uYW1lIC4uLlxuIgorI34gIiAgICAgICAlcyBbLXNdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJhbnbDpG5kbmluZzogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gWy1wIHByaW9yaXRldF0gc3BlY2lhbHxMQUJFTD12b2x5bW5hbW4gLi4uXG4iCisjfiAiICAgICAgICVzIFstc11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy12XVxuIgorI34gIiAgICAgICAlcyBbLXZdIHNwZWNpYWwgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJhbnbDpG5kbmluZzogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICAgICAgJXMgWy12XSBzcGVjaWFsIC4uLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBjYW5vbmljYWxpemUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBrYW4gaW50ZSBnw7ZyYSAlcyBrYW5vbmlzazogJXNcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgc3RhdCAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGthbiBpbnRlIHRhIHN0YXR1cyBww6UgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgdW1vdW50ICVzIC0gdHJ5aW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAia3VuZGUgaW50ZSBhdm1vbnRlcmEgJXMgLSBmw7Zyc8O2a2VyIG1lZCAlcyBpc3TDpGxsZXRcbiIKKworI34gbXNnaWQgInVzYWdlIDogJXMgLWFzbXEgLXRjbHVwIFxuIgorI34gbXNnc3RyICJhbnbDpG5kbmluZzogJXMgLWFzbXEgLXRjbHVwXG4iCisKKyN+IG1zZ2lkICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKyN+IG1zZ3N0ciAiXHQlcyBbLXMgLW0gLXFdIC1pIGlkXG4iCisKKyN+IG1zZ2lkICJcdCVzIC1oIGZvciBoZWxwLlxuIgorI34gbXNnc3RyICJcdCVzIC1oIGbDtnIgaGrDpGxwLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIFNwZWNpZmljYXRpb246XG4iCisjfiAiXHQtbSA6IHNoYXJlZF9tZW1cbiIKKyN+ICJcdC1xIDogbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlJlc3Vyc3NwZWNpZmlrYXRpb246XG4iCisjfiAiXHQtbSA6IGRlbGF0IG1pbm5lXG4iCisjfiAiXHQtcSA6IG1lZGRlbGFuZGVuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtcyA6IHNlbWFwaG9yZXNcbiIKKyN+ICJcdC1hIDogYWxsIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtcyA6IHNlbWFmb3JlclxuIgorI34gIlx0LWEgOiBhbGxhIChzdGFuZGFyZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgRm9ybWF0OlxuIgorI34gIlx0LXQgOiB0aW1lXG4iCisjfiAiXHQtcCA6IHBpZFxuIgorI34gIlx0LWMgOiBjcmVhdG9yXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVdGRhdGFmb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpZFxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogc2thcGFyZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0LWwgOiBsaW1pdHNcbiIKKyN+ICJcdC11IDogc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtbCA6IGdyw6Ruc2VyXG4iCisjfiAiXHQtdSA6IHNhbW1hbmZhdHRuaW5nXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAiYW52w6RuZG5pbmc6IHJkZXYgWyAtcnYgXSBbIC1vIEFWU1TDhU5EIF0gWyBCSUxEIFsgVsOEUkRFIFsgQVZTVMOFTkQgXSBdIF0iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgIChvciByZGV2IC9saW51eCwgZXRjLikgZGlzcGxheXMgdGhlIGN1cnJlbnQgUk9PVCBkZXZpY2UiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAgKGVsbGVyIHJkZXYgL2xpbnV4LCBvc3YuKSB2aXNhciBkZW4gYWt0dWVsbGEgUk9ULWVuaGV0ZW4iCisKKyN+IG1zZ2lkICIgIHJkZXYgL2Rldi9mZDAgL2Rldi9oZGEyICAgICAgICAgc2V0cyBST09UIHRvIC9kZXYvaGRhMiIKKyN+IG1zZ3N0ciAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHN0w6RsbGVyIGluIFJPVCB0aWxsIC9kZXYvaGRhMiIKKworI34gbXNnaWQgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIFJPT1RGTEFHUyAocmVhZG9ubHkgc3RhdHVzKSIKKyN+IG1zZ3N0ciAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHN0w6RsbGVyIGluIFJPVEZMQUdHT1JOQSAoZW5kYXN0IGzDpHNiYXIpIgorCisjfiBtc2dpZCAiICByZGV2IC1yIC9kZXYvZmQwIDYyNyAgICAgICAgICAgIHNldCB0aGUgUkFNRElTSyBzaXplIgorI34gbXNnc3RyICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc3TDpGxsZXIgaW4gUkFNRElTSy1zdG9ybGVrZW4iCisKKyN+IG1zZ2lkICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBib290dXAgVklERU9NT0RFIgorI34gbXNnc3RyICIgIHJkZXYgLXYgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc3TDpGxsZXIgaW4gR1JBRklLTMOER0VUIHZpZCB1cHBzdGFydCIKKworI34gbXNnaWQgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLVIiCisjfiBtc2dzdHIgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1tYSBzb20gcmRldiAtUiIKKworI34gbXNnaWQgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXIiCisjfiBtc2dzdHIgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1tYSBzb20gcmRldiAtciIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1tYSBzb20gcmRldiAtdiIKKworI34gbXNnaWQgIk5vdGU6IHZpZGVvIG1vZGVzIGFyZTogLTM9QXNrLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWtleTEsIDI9a2V5MiwuLi4iCisjfiBtc2dzdHIgIk9iczogZ3JhZmlrbMOkZ2VuIMOkcjogLTM9RnLDpWdhLCAtMj1VdMO2a2F0LCAtMT1Ob3JtYWxWZ2EsIDE9bnlja2VsMSwgMj1ueWNrZWwyLC4uLiIKKworI34gbXNnaWQgIiAgICAgIHVzZSAtUiAxIHRvIG1vdW50IHJvb3QgcmVhZG9ubHksIC1SIDAgZm9yIHJlYWQvd3JpdGUuIgorI34gbXNnc3RyICIgICAgICBhbnbDpG5kIC1SIDEgZsO2ciBhdHQgbW9udGVyYSByb3RlbiBlbmRhc3QgbMOkc2JhciwgLVIgMCBmw7ZyIGzDpHMvc2tyaXYuIgorCisjfiBtc2dpZCAibWlzc2luZyBjb21tYSIKKyN+IG1zZ3N0ciAia29tbWEgc2FrbmFzIgorCisjfiBtc2dpZCAidXNhZ2U6IHJlbmljZSBwcmlvcml0eSBbIFsgLXAgXSBwaWRzIF0gWyBbIC1nIF0gcGdycHMgXSBbIFsgLXUgXSB1c2VycyBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJhbnbDpG5kbmluZzogcmVuaWNlIHByaW9yaXRldCBbIFsgLXAgXSBwaWQgXSBbIFsgLWcgXSBwZ3J1cHBlciBdXG4iCisjfiAiICAgICAgICAgICAgWyBbIC11IF0gYW52w6RuZGFyZSBdXG4iCisKKyN+IG1zZ2lkICJcdC0lY1x0RW5hYmxlICVzXG4iCisjfiBtc2dzdHIgIlx0LSVjXHRBa3RpdmVyYSAlc1xuIgorCisjfiBtc2dpZCAiYCVzJzogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCisjfiBtc2dzdHIgIlwiJXNcIjogZmVsYWt0aWcga2F0YWxvZzogXCIuXCIga29tbWVyIGludGUgZsO2cnN0XG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorI34gbXNnc3RyICJcIiVzXCI6IGZlbGFrdGlnIGthdGFsb2c6IFwiLi5cIiBrb21tZXIgaW50ZSBww6UgYW5kcmEgcGxhdHNcbiIKKworI34gbXNnaWQgIkV4Y2VlZGVkIE1BWEVOVFJJRVMuICBSYWlzZSB0aGlzIHZhbHVlIGluIG1rY3JhbWZzLmMgYW5kIHJlY29tcGlsZS4gIEV4aXRpbmcuXG4iCisjfiBtc2dzdHIgIsOWdmVyc2tyZWQgTUFYRU5UUklFUy4gw5ZrYSBkZXR0YSB2w6RyZGUgaSBta2NyYW1mcy5jIG9jaCBrb21waWxlcmEgb20uIEF2c2x1dGFyLlxuIgorCisjfiBtc2dpZCAiQXNzdW1pbmcgcGFnZXMgb2Ygc2l6ZSAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJBbnRhciBzaWRzdG9ybGVrZW4gJWQgKGludGUgJWQpXG4iCisKKyN+IG1zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlZCBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsZFxuIgorI34gbXNnc3RyICJUb3RhbGEgYW50YWxldCBhbGxva2VyYWRlIHNla3RvcmVyICVkIHN0w7ZycmUgw6RuIG1heGltYWxhICVsbGRcbiIKKworI34gbXNnaWQgIkF1dG9jb25maWd1cmUgZm91bmQgYSAlcyVzJXNcbiIKKyN+IG1zZ3N0ciAiQXV0b21hdGlza2Ega29uZmlndXJhdGlvbmVuIGhpdHRhZGUgZW4gJXMlcyVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRHJpdmUgdHlwZVxuIgorI34gIiAgID8gICBhdXRvIGNvbmZpZ3VyZVxuIgorI34gIiAgIDAgICBjdXN0b20gKHdpdGggaGFyZHdhcmUgZGV0ZWN0ZWQgZGVmYXVsdHMpIgorI34gbXNnc3RyICIiCisjfiAiRW5oZXRzdHlwXG4iCisjfiAiICAgPyAgIGtvbmZpZ3VyZXJhIGF1dG9tYXRpc2t0XG4iCisjfiAiICAgMCAgIGFucGFzc2FkIChtZWQgaMOlcmR2YXJ1ZGV0ZWt0ZXJhZGUgc3RhbmRhcmRhbHRlcm5hdGl2KSIKKworI34gbXNnaWQgIlNlbGVjdCB0eXBlICg/IGZvciBhdXRvLCAwIGZvciBjdXN0b20pOiAiCisjfiBtc2dzdHIgIlbDpGxqIHR5cCAoPyBmw7ZyIGF1dG9tYXRpc2sga29uZmlndXJhdGlvbiwgMCBmw7ZyIGFucGFzc2FkKTogIgorCisjfiBtc2dpZCAiWW91IG1heSBjaGFuZ2UgYWxsIHRoZSBkaXNrIHBhcmFtcyBmcm9tIHRoZSB4IG1lbnUiCisjfiBtc2dzdHIgIkR1IGthbiDDpG5kcmEgYWxsYSBkaXNrYXBhcmFtZXRyYXIgZnLDpW4geC1tZW55biIKKworI34gbXNnaWQgIjMsNVwiIGZsb3BweSIKKyN+IG1zZ3N0ciAiMyw1LXR1bXNkaXNrZXR0IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICIlcyBmcsOlbiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBlcnJvcjogdGhlIGxhYmVsICVzIG9jY3VycyBvbiBib3RoICVzIGFuZCAlc1xuIgorI34gbXNnc3RyICJtb3VudDogZXRpa2V0dGVuICVzIGbDtnJla29tbWVyIGLDpWRlIHDDpSAlcyBvY2ggJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY291bGQgbm90IG9wZW4gJXMsIHNvIFVVSUQgYW5kIExBQkVMIGNvbnZlcnNpb24gY2Fubm90IGJlIGRvbmUuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBrdW5kZSBpbnRlIMO2cHBuYSAlcywgc8OlIFVVSUQgb2NoIEVUSUtFVFQta29udmVydGVyaW5nIGthbiBpbnRlIHV0ZsO2cmFzLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBiYWQgVVVJRCIKKyN+IG1zZ3N0ciAibW91bnQ6IGZlbGFrdGlnIFVVSUQiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHdpdGggbmZzIG1vdW50IHZlcnNpb24gNCwgdHJ5aW5nIDMuLlxuIgorI34gbXNnc3RyICJtb3VudDogbWlzc2x5Y2thZGVzIG1lZCBtb250ZXJpbmcgYXYgbmZzIHZlcnNpb24gNCwgZsO2cnPDtmtlciBtZWQgMy4uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdoaWxlIGd1ZXNzaW5nIGZpbGVzeXN0ZW0gdHlwZVxuIgorI34gbXNnc3RyICJtb3VudDogZmVsIHZpZCBnaXNzbmluZyBhdiBmaWxzeXN0ZW1zdHlwZW5cbiIKKworI34gbXNnaWQgIm1vdW50OiBleGNlc3NpdmVseSBsb25nIGhvc3Q6ZGlyIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiDDtnZlcmRyaXZldCBsw6VuZ3QgdsOkcmQ6a2F0YWxvZy1hcmd1bWVudFxuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6IG11bHRpcGxlIGhvc3RuYW1lcyBub3Qgc3VwcG9ydGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiB2YXJuaW5nOiBmbGVyYSBzYW10aWRpZ2EgdsOkcmRuYW1uIHN0w7ZkcyBpbnRlXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZGlyZWN0b3J5IHRvIG1vdW50IG5vdCBpbiBob3N0OmRpciBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGthdGFsb2cgYXR0IG1vbnRlcmEgw6RyIGludGUgcMOlIGZvcm1hdGV0IHbDpHJkOmthdGFsb2dcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGthbiBpbnRlIGbDpSB0YWcgaSBhZHJlc3MgZsO2ciAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGdvdCBiYWQgaHAtPmhfbGVuZ3RoXG4iCisjfiBtc2dzdHIgIm1vdW50OiBmaWNrIGZlbGFrdGlnIGhwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgb3B0aW9uIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiDDtnZlcmRyaXZldCBsw6VuZ3QgZmxhZ2dhcmd1bWVudFxuIgorCisjfiBtc2dpZCAiV2FybmluZzogVW5yZWNvZ25pemVkIHByb3RvPSBvcHRpb24uXG4iCisjfiBtc2dzdHIgIlZhcm5pbmc6IE9rw6RuZCBcInByb3RvPVwiLWZsYWdnYS5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IE9wdGlvbiBuYW1sZW4gaXMgbm90IHN1cHBvcnRlZC5cbiIKKyN+IG1zZ3N0ciAiVmFybmluZzogRmxhZ2dhbiBuYW1sZW4gc3TDtmRzIGludGUuXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBwYXJhbWV0ZXI6ICVzPSVkXG4iCisjfiBtc2dzdHIgIm9rw6RuZCBuZnMtbW9udGVyaW5nc3BhcmFtZXRlcjogJXM9JWRcbiIKKworI34gbXNnaWQgInVua25vd24gbmZzIG1vdW50IG9wdGlvbjogJXMlc1xuIgorI34gbXNnc3RyICJva8OkbmQgbmZzLW1vbnRlcmluZ3NmbGFnZ2E6ICVzJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiBnb3QgYmFkIGhwLT5oX2xlbmd0aD9cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGZpY2sgZmVsYWt0aWcgaHAtPmhfbGVuZ3RoP1xuIgorCisjfiBtc2dpZCAibmZzIGJpbmRyZXN2cG9ydCIKKyN+IG1zZ3N0ciAibmZzLWJpbmRyZXN2cG9ydCIKKworI34gbXNnaWQgIm5mcyBzZXJ2ZXIgcmVwb3J0ZWQgc2VydmljZSB1bmF2YWlsYWJsZSIKKyN+IG1zZ3N0ciAibmZzLXNlcnZlcm4gcmFwcG9ydGVyYWRlIGF0dCB0asOkbnN0ZW4gdmFyIG90aWxsZ8OkbmdsaWciCisKKyN+IG1zZ2lkICJ1c2VkIHBvcnRtYXBwZXIgdG8gZmluZCBORlMgcG9ydFxuIgorI34gbXNnc3RyICJhbnbDpG5kZSBwb3J0bWFwcGVyIGbDtnIgYXR0IGhpdHRhIE5GUy1wb3J0ZW5cbiIKKworI34gbXNnaWQgInVzaW5nIHBvcnQgJWQgZm9yIG5mcyBkZWFtb25cbiIKKyN+IG1zZ3N0ciAiYW52w6RuZGVyIHBvcnQgJWQgZsO2ciBuZnMtZGVtb25lblxuIgorCisjfiBtc2dpZCAidW5rbm93biBuZnMgc3RhdHVzIHJldHVybiB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIm9rw6RudCBuZnMtc3RhdHVzcmV0dXJ2w6RyZGU6ICVkIgorCisjfiBtc2dpZCAiaG9zdDogJXMsIGRpcmVjdG9yeTogJXNcbiIKKyN+IG1zZ3N0ciAidsOkcmQ6ICVzLCBrYXRhbG9nOiAlc1xuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW4ndCBnZXQgYWRkcmVzcyBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBrYW4gaW50ZSBmw6UgdGFnIGkgYWRyZXNzIGbDtnIgJXNcbiIKKworI34gbXNnaWQgInVtb3VudDogZ290IGJhZCBob3N0cC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBmaWNrIGZlbGFrdGlnIGhvc3RwLT5oX2xlbmd0aFxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgcGF0aCBsZW5ndGhcbiIKKyN+IG1zZ3N0ciAiJXM6IG9naWx0aWd0IGNyYW1mcy0tZmVsYWt0aWcgc8O2a3bDpGdzbMOkbmdkXG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLXdyb25nIG1hZ2ljXG4iCisjfiBtc2dzdHIgIiVzOiBvZ2lsdGlndCBjcmFtZnMtLWZlbGFrdGlnIG1hZ2lzayBzaWZmcmFcbiIKKworI34gbXNnaWQgIiVzOiB3YXJuaW5nLS1maWxlIGxlbmd0aCB0b28gbG9uZywgcGFkZGVkIGltYWdlP1xuIgorI34gbXNnc3RyICIlczogdmFybmluZy0tZmlsbMOkbmdkZW4gw6RyIGbDtnIgbMOlbmcsIHV0ZnlsbGQgYXZiaWxkP1xuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1jcmMgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiJXM6IG9naWx0aWd0IGNyYW1mcy0tY3JjLWZlbFxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgc3VwZXJibG9ja1xuIgorI34gbXNnc3RyICIlczogb2dpbHRpZ3QgY3JhbWZzLS1mZWxha3RpZ3Qgc3VwZXJibG9ja1xuIgorCisjfiBtc2dpZCAiU3ludGF4IGVycm9yOiAnJXMnXG4iCisjfiBtc2dzdHIgIlN5bnRheGZlbDogXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJObyBzdWNoIHBhcmFtZXRlciBzZXQ6ICclcydcbiIKKyN+IG1zZ3N0ciAiSW5nZW4gc8OlZGFuIHBhcmFtZXRlciDDpHIgaW5zdMOkbGxkOiBcIiVzXCJcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLXAgXSBkZXYgbmFtZVxuIgorI34gbXNnc3RyICIgICAlcyBbIC1wIF0gZW5oZXQgbmFtblxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtcCBdIGRldiBzaXplIHNlY3QgaGVhZHMgdHJhY2tzIHN0cmV0Y2ggZ2FwIHJhdGUgc3BlYzEgZm10X2dhcFxuIgorI34gbXNnc3RyICIgICAlcyBbIC1wIF0gZW5oZXQgc3RvcmxlayBzZWt0b3JlciBodXZ1ZGVuIHNww6VyIHV0c3Ryw6Rja25pbmcgbWVsbGFucnVtIGhhc3RpZ2hldCBzcGVjMSBmb3JtYXRhdnN0w6VuZFxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtYyB8IC15IHwgLW4gfCAtZCBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gZW5oZXRcbiIKKworI34gbXNnaWQgIiAgICVzIFsgLWMgfCAteSB8IC1uIF0gZGV2XG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLWMgfCAteSB8IC1uIF0gZW5oZXRcbiIKKworI34gbXNnaWQgImNvdWxkbid0IG9wZW4gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJrdW5kZSBpbnRlIMO2cHBuYSAvZGV2L3VyYW5kb20iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkIHJhbmRvbSBkYXRhIGZyb20gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICJrdW5kZSBpbnRlIGzDpHNhIHNsdW1wZGF0YSBmcsOlbiAvZGV2L3VyYW5kb20iCisKKyN+IG1zZ2lkICJjYW4ndCBzdGF0KCVzKSIKKyN+IG1zZ3N0ciAia2FuIGludGUgdGEgc3RhdHVzIHDDpSAlcyIKKworI34gbXNnaWQgIiVzIGRvZXNuJ3QgaGF2ZSB0aGUgY29ycmVjdCBmaWxlbW9kZXMiCisjfiBtc2dzdHIgIiVzIGhhciBpbnRlIHLDpHR0IGZpbHLDpHR0aWdoZXRlciIKKworI34gbXNnaWQgImNhbid0IHJlYWQgZGF0YSBmcm9tICVzIgorI34gbXNnc3RyICJrYW4gaW50ZSBsw6RzYSBkYXRhIGZyw6VuICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRvbyBtYW55IHVzZXJzIGxvZ2dlZCBvbiBhbHJlYWR5LlxuIgorI34gIlRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkbDtnIgbcOlbmdhIGFudsOkbmRhcmUgw6RyIHJlZGFuIGlubG9nZ2FkZS5cbiIKKyN+ICJGw7Zyc8O2ayBpZ2VuIHNlbmFyZS5cbiIKKworI34gbXNnaWQgIllvdSBoYXZlIHRvbyBtYW55IHByb2Nlc3NlcyBydW5uaW5nLlxuIgorI34gbXNnc3RyICJEdSBoYXIgZsO2ciBtw6VuZ2EgcHJvY2Vzc2VyIGvDtnJhbmRlLlxuIgorCisjfiBtc2dpZCAiVGhlIHBhc3N3b3JkIG11c3QgaGF2ZSBhdCBsZWFzdCA2IGNoYXJhY3RlcnMsIHRyeSBhZ2Fpbi5cbiIKKyN+IG1zZ3N0ciAiTMO2c2Vub3JkZXQgbcOlc3RlIGhhIG1pbnN0IDYgdGVja2VuLCBmw7Zyc8O2ayBpZ2VuLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBwYXNzd29yZCBtdXN0IGNvbnRhaW4gY2hhcmFjdGVycyBvdXQgb2YgdHdvIG9mIHRoZSBmb2xsb3dpbmdcbiIKKyN+ICJjbGFzc2VzOiAgdXBwZXIgYW5kIGxvd2VyIGNhc2UgbGV0dGVycywgZGlnaXRzIGFuZCBub24gYWxwaGFudW1lcmljXG4iCisjfiAiY2hhcmFjdGVycy4gU2VlIHBhc3N3ZCgxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkzDtnNlbm9yZGV0IG3DpXN0ZSBpbm5laMOlbGxhIHRlY2tlbiBzb20gdGlsbGjDtnIgdHbDpSBhdiBmw7ZsamFuZGUga2xhc3NlcjpcbiIKKyN+ICJzbcOlIG9jaCBzdG9yYSBib2tzdMOkdmVyLCBzaWZmcm9yIG9jaCBpY2tlLWFsZmFudW1lcmlza2EgdGVja2VuLiBTZVxuIgorI34gInBhc3N3ZCgxKSBmw7ZyIG1lciBpbmZvcm1hdGlvbi5cbiIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgcmV1c2UgdGhlIG9sZCBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiRHUga2FuIGludGUgw6V0ZXJhbnbDpG5kYSBkZXQgZ2FtbGEgbMO2c2Vub3JkZXQuXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgdXNlcm5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIkFudsOkbmQgaW50ZSBuw6Vnb250aW5nIHNvbSBsaWtuYXIgZGl0dCBhbnbDpG5kYXJuYW1uIHNvbSBsw7ZzZW5vcmQhXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgcmVhbG5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIkFudsOkbmQgaW50ZSBuw6Vnb250aW5nIHNvbSBsaWtuYXIgZGl0dCB2ZXJrbGlnYSBuYW1uIHNvbSBsw7ZzZW5vcmQhXG4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgbWF5IHVzZSB0aGUgb25lIGFuZCB0d28gYXJndW1lbnQgZm9ybXMuXG4iCisjfiBtc2dzdHIgIkVuZGFzdCByb290IGthbiBhbnbDpG5kYSBmb3JtZW4gbWVkIGVuIGVsbGVyIHR2w6UgYXJndW1lbnQuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFstZm9xc3ZWXSBbdXNlciBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJBbnbDpG5kbmluZzogcGFzc3dkIFstZm9xc3ZWXSBbYW52w6RuZGFyZSBbbMO2c2Vub3JkXV1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBmaW5kIGxvZ2luIG5hbWUiCisjfiBtc2dzdHIgIkthbiBpbnRlIGhpdHRhIGFudsOkbmRhcm5hbW4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgY2FuIGNoYW5nZSB0aGUgcGFzc3dvcmQgZm9yIG90aGVycy5cbiIKKyN+IG1zZ3N0ciAiRW5kYXN0IHJvb3Qga2FuIGJ5dGEgbMO2c2Vub3JkZXQgw6V0IGFuZHJhLlxuIgorCisjfiBtc2dpZCAiQ2FuJ3QgZmluZCB1c2VybmFtZSBhbnl3aGVyZS4gSXMgYCVzJyByZWFsbHkgYSB1c2VyPyIKKyN+IG1zZ3N0ciAiS2FuIGludGUgaGl0dGEgYW52w6RuZGFybmFtbmV0IG7DpWdvbnN0YW5zLiDDhHIgXCIlc1wiIHZlcmtsaWdlbiBlbiBhbnbDpG5kYXJlPyIKKworI34gbXNnaWQgIlNvcnJ5LCBJIGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBwYXNzd29yZHMuIFVzZSB5cHBhc3N3ZCBpbnN0ZWFkLiIKKyN+IG1zZ3N0ciAiVHl2w6RyciwgamFnIGthbiBiYXJhIGJ5dGEgbG9rYWxhIGzDtnNlbm9yZC4gQW52w6RuZCB5cHBhc3N3ZCBpc3TDpGxsZXQuIgorCisjfiBtc2dpZCAiVUlEIGFuZCB1c2VybmFtZSBkb2VzIG5vdCBtYXRjaCwgaW1wb3N0ZXIhIgorI34gbXNnc3RyICJVSUQgb2NoIGFudsOkbmRhcm5hbW4gc3TDpG1tZXIgaW50ZSDDtnZlcmVucywgYmVkcmFnYXJlISIKKworI34gbXNnaWQgIkNoYW5naW5nIHBhc3N3b3JkIGZvciAlc1xuIgorI34gbXNnc3RyICJCeXRlciBsw7ZzZW5vcmRldCBmw7ZyICVzXG4iCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHBhc3N3b3JkLCBpbXBvc3Rlci4iCisjfiBtc2dzdHIgIk9naWx0aWd0IGzDtnNlbm9yZCwgYmVkcmFnYXJlLiIKKworI34gbXNnaWQgIkVudGVyIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJBbmdlIG55YSBsw7ZzZW5vcmRldDogIgorCisjfiBtc2dpZCAiUmUtdHlwZSBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiQW5nZSBueWEgbMO2c2Vub3JkZXQgcMOlIG55dHQ6ICIKKworI34gbXNnaWQgIllvdSBtaXNzcGVsbGVkIGl0LiBQYXNzd29yZCBub3QgY2hhbmdlZC4iCisjfiBtc2dzdHIgIkR1IHN0YXZhZGUgZmVsIHRpbGwgZGV0LiBMw7ZzZW5vcmRldCDDpG5kcmFkZXMgaW50ZS4iCisKKyN+IG1zZ2lkICJST09UIFBBU1NXT1JEIENIQU5HRUQiCisjfiBtc2dzdHIgIlJPT1QtTMOWU0VOT1JERVQgw4RORFJBREVTIgorCisjfiBtc2dpZCAicGFzc3dvcmQgY2hhbmdlZCBieSByb290LCB1c2VyICVzIgorI34gbXNnc3RyICJsw7ZzZW5vcmRldCDDpG5kcmFkZXMgYXYgcm9vdCwgYW52w6RuZGFyZSAlcyIKKworI34gbXNnaWQgImNhbGxpbmcgc2V0cHduYW0gdG8gc2V0IHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJhbnJvcGFyIHNldHB3bmFtIGbDtnIgYXR0IHN0w6RsbGEgaW4gbMO2c2Vub3JkLlxuIgorCisjfiBtc2dpZCAiUGFzc3dvcmQgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiTMO2c2Vub3JkZXQgw6RuZHJhZGVzICpJTlRFKi4gRsO2cnPDtmsgaWdlbiBzZW5hcmUuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogdGhpcyB2ZXJzaW9uIHdhcyBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIHRoZSB0eXBlIGBuZnMnIgorI34gbXNnc3RyICJtb3VudDogZGVubmEgdmVyc2lvbiBrb21waWxlcmFkZXMgdXRhbiBzdMO2ZCBmw7ZyIHR5cGVuIFwibmZzXCIiCisKKyN+IG1zZ2lkICJDYW5ub3QgdW1vdW50IFwiJXNcIlxuIgorI34gbXNnc3RyICJLYW4gaW50ZSBhdm1vbnRlcmEgXCIlc1wiXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgdW1vdW50ICVzXG4iCisjfiBtc2dzdHIgIkthbiBpbnRlIGF2bW9udGVyYSAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogb21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAlZFxuIgorI34gbXNnc3RyICJWYXJuaW5nOiB1dGVsw6RtbmFyIHBhcnRpdGlvbmVyIGVmdGVyICVkXG4iCisKKyN+IG1zZ2lkICIlZCBiYWQgcGFnZXNcbiIKKyN+IG1zZ3N0ciAiJWQgZmVsYWt0aWdhIHNpZG9yXG4iCisKKyN+IG1zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlZCBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWRcbiIKKyN+IG1zZ3N0ciAiVG90YWxhIGFudGFsZXQgYWxsb2tlcmFkZSBzZWt0b3JlciAlZCBzdMO2cnJlIMOkbiBtYXhpbWFsYSAlZFxuIgorCisjfiBtc2dpZCAiJXM6IG5vdCBjb21waWxlZCB3aXRoIG1pbml4IHYyIHN1cHBvcnRcbiIKKyN+IG1zZ3N0ciAiJXM6IGludGUga29tcGlsZXJhZCBtZWQgc3TDtmQgZsO2ciBtaW5peCB2MlxuIgorCisjfiBtc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgZm9yICVzXG4iCisjfiBtc2dzdHIgIkJMS0dFVFNJWkUtaW9jdGwgbWlzc2x5Y2thZGVzIGbDtnIgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBkdXBsaWNhdGUgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGR1YmJsZXJhZCAtIGludGUgbW9udGVyYWQiCisKKyN+IG1zZ2lkICJtb3VudDogdGhlIGxhYmVsICVzIG9jY3VycyBvbiBib3RoICVzIGFuZCAlcyAtIG5vdCBtb3VudGVkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBldGlrZXR0ZW4gJXMgZsO2cmVrb21tZXIgcMOlIGLDpWRlICVzIG9jaCAlcyAtIGludGUgbW9udGVyYWRcbiIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVtb3VudDogZW5kYXN0IHJvb3Qga2FuIGF2bW9udGVyYSAlcyBmcsOlbiAlcyIKKworI34gbXNnaWQgIlNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiU3RvcmxlayAoR0IpIgorCisjfiBtc2dpZCAiV2luOTUgRkFUMzIiCisjfiBtc2dzdHIgIldpbjk1IEZBVDMyIgorCisjfiBtc2dpZCAiV2luOTUgRkFUMTYgKExCQSkiCisjfiBtc2dzdHIgIldpbjk1IEZBVDE2IChMQkEpIgorCisjfiBtc2dpZCAiV2luOTUgRXh0J2QgKExCQSkiCisjfiBtc2dzdHIgIldpbjk1IFV0w7ZrYWQgKExCQSkiCisKKyN+IG1zZ2lkICJIaWRkZW4gV2luOTUgRkFUMzIiCisjfiBtc2dzdHIgIkRvbGQgV2luOTUgRkFUMzIiCisKKyN+IG1zZ2lkICJIaWRkZW4gV2luOTUgRkFUMzIgKExCQSkiCisjfiBtc2dzdHIgIkRvbGQgV2luOTUgRkFUMzIgKExCQSkiCisKKyN+IG1zZ2lkICJIaWRkZW4gV2luOTUgRkFUMTYgKExCQSkiCisjfiBtc2dzdHIgIkRvbGQgV2luOTUgRkFUMTYgKExCQSkiCisKKyN+IG1zZ2lkICJCb290ICglMDJYKSIKKyN+IG1zZ3N0ciAiU3RhcnQgKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSAoJTAyWCkiCisjfiBtc2dzdHIgIkluZ2VuICglMDJYKSIKKworI34gbXNnaWQgIiVzOiBbJTA0eF06JWxkICglcykgb2Zmc2V0ICVkLCAlcyBlbmNyeXB0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBbJTA0eF06JWxkICglcykgYXZzdMOlbmQgJWQsIGtyeXB0ZXJpbmc6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS5cbiIKKyN+ICIgICAgICAgTWF5YmUgL2Rldi9sb29wIyBoYXMgYSB3cm9uZyBtYWpvciBudW1iZXI/IgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IEt1bmRlIGludGUgaGl0dGEgbsOlZ29uIHNsaW5nZW5oZXQuXG4iCisjfiAiICAgICAgIEthbnNrZSAvZGV2L2xvb3AjIGhhciBldHQgZmVsYWt0aWd0IGh1dnVkbnVtbWVyPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLiBNYXliZSB0aGlzIGtlcm5lbCBkb2VzIG5vdCBrbm93XG4iCisjfiAiICAgICAgIGFib3V0IHRoZSBsb29wIGRldmljZSAodGhlbiByZWNvbXBpbGUgb3IgYGluc21vZCBsb29wLm8nKSwgb3JcbiIKKyN+ICIgICAgICAgbWF5YmUgL2Rldi9sb29wIyBoYXMgdGhlIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogS3VuZGUgaW50ZSBoaXR0YSBuw6Vnb24gc2xpbmdlbmhldC4gRGVubmEga8Okcm5hIHZldCBrYW5za2UgaW50ZVxuIgorI34gIiAgICAgICBvbSBzbGluZ2VuaGV0ZW4gKG9tIGRldCDDpHIgc8OlIGLDtnIgZHUga29tcGlsZXJhIG9tIGVsbGVyXG4iCisjfiAiICAgICAgIFwiaW5zbW9kIGxvb3Aub1wiKSwgZWxsZXIga2Fuc2tlIC9kZXYvbG9vcCMgaGFyIGZlbCBodXZ1ZG51bW1lcj8iCisKKyN+IG1zZ2lkICJJbml0ICh1cCB0byAxNiBoZXggZGlnaXRzKTogIgorI34gbXNnc3RyICJJbml0ICh1cHAgdGlsbCAxNiBoZXhhZGVjaW1hbGEgc2lmZnJvcik6ICIKKworI34gbXNnaWQgIk5vbi1oZXggZGlnaXQgJyVjJy5cbiIKKyN+IG1zZ3N0ciAiSWNrZS1oZXhhZGVjaW1hbCBzaWZmcmEgXCIlY1wiLlxuIgorCisjfiBtc2dpZCAiRG9uJ3Qga25vdyBob3cgdG8gZ2V0IGtleSBmb3IgZW5jcnlwdGlvbiBzeXN0ZW0gJWRcbiIKKyN+IG1zZ3N0ciAiVmV0IGludGUgaHVyIGphZyBza2EgZsOlIHRhZyBpIG55Y2tlbCBmw7ZyIGtyeXB0ZXJpbmdzc3lzdGVtICVkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHMgPSBtZWdhYnl0ZXMgb2YgMTA0ODU3NiBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkVuaGV0ZXIgPSBtZWdhYnl0ZSBtZWQgMTA0ODU3NiBieXRlLCBibG9jayBtZWQgMTAyNCBieXRlLCByw6RrbmF0IGZyw6VuICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNQiAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBFbmhldCBTdGFydCBCw7ZyamFuIFNsdXQgICAgTUIgICAgICBCbG9jayAgIElkICBTeXN0ZW1cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIlBhcnRpdGlvbiAlaSBzbHV0YXIgaW50ZSBww6UgY3lsaW5kZXJncsOkbnM6XG4iCmRpZmYgLS1naXQgYS9wby90ci5wbyBiL3BvL3RyLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmNmE3NTcKLS0tIC9kZXYvbnVsbAorKysgYi9wby90ci5wbwpAQCAtMCwwICsxLDIzODA0IEBACisjIFR1cmtpc2ggdHJhbnNsYXRpb25zIGZvciB1dGlsLWxpbnV4IG1lc3NhZ2VzLgorIyBDb3B5cmlnaHQgwqkgMjAwNCBOaWxnw7xuIEJlbG1hIEJ1Z8O8bmVyLgorIworIyBQZXJtaXNzaW9uIGlzIGdyYW50ZWQgdG8gZnJlZWx5IGNvcHkgYW5kIGRpc3RyaWJ1dGUKKyMgdGhpcyBmaWxlIGFuZCBtb2RpZmllZCB2ZXJzaW9ucywgcHJvdmlkZWQgdGhhdCB0aGlzCisjIGhlYWRlciBpcyBub3QgcmVtb3ZlZCBhbmQgbW9kaWZpZWQgdmVyc2lvbnMgYXJlIG1hcmtlZAorIyBhcyBzdWNoLiBObyB3YXJyYW50eS4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgTmlsZ8O8biBCZWxtYSBCdWfDvG5lciA8bmlsZ3VuQGJ1Z3VuZXIubmFtZS50cj4sIDIwMDEsIC4uLiwgMjAwNi4KKyMgQWxwZXIgVGVraW5hbHAgPGFscGVyLnRla2luYWxwQGdtYWlsLmNvbT4sIDIwMTcuCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMzAtcmMyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTgtMDMtMjEgMTM6MTIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTctMDUtMjkgMjA6MTYrMDAwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogTWVzdXRjYW4gS3VydCA8bWVzdXRjYW5rQGdtYWlsLmNvbT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBUdXJraXNoIDxnbnUtdHItdTEyYUBsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IHRyXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiUGx1cmFsLUZvcm1zOiBucGx1cmFscz0yOyBwbHVyYWw9KG4gPiAxKTtcbiIKKyJYLUdlbmVyYXRvcjogUG9vdGxlIDIuNS4xLjFcbiIKKyJYLUJ1Z3M6IFJlcG9ydCB0cmFuc2xhdGlvbiBlcnJvcnMgdG8gdGhlIExhbmd1YWdlLVRlYW0gYWRkcmVzcy5cbiIKKyJYLVBPT1RMRS1NVElNRTogMTQ5NjA4ODk5Mi4wMDAwMDBcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIGV4aXN0ZW5jZSBvZiBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIsOHZWtpcmRlxJ9lIGJlbGxpcnRpbGVuIGLDtmzDvG3DvG4gdmFybMSxxJ/EsW5kYW4gYmFoc2V0LlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJ5ZXRlcmxpIGFyZ8O8bWFuIHlvayIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTggZGlzay11dGlscy9ibG9ja2Rldi5jOjI5NSBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDM5CisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDY1IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjcxOCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1OQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY0IGRpc2stdXRpbHMvZmRpc2suYzoxMDY2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMjEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozODAgZGlzay11dGlscy9mc2NrLmM6MTQ3MAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEyCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDIgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MgorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYwCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODAwIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyNAorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTcgZGlzay11dGlscy9ta3N3YXAuYzoyNDYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTMKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMyBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjcxMQorIzogZGlzay11dGlscy9zZmRpc2suYzo3NjUgZGlzay11dGlscy9zZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzo4OTgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAwNgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY1IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjUgbGliZmRpc2svc3JjL2JzZC5jOjY0MAorIzogbGliL3BhdGguYzo5NSBsaWIvcGF0aC5jOjExMyBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3NAorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0MyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1MgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzQgbG9naW4tdXRpbHMvdmlwdy5jOjI2MSBsb2dpbi11dGlscy92aXB3LmM6Mjc5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk5IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyMyBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxOTggc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODIgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5NgorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI0IHN5cy11dGlscy9lamVjdC5jOjQ5OSBzeXMtdXRpbHMvZWplY3QuYzo2OTUKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozOTYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE3IHN5cy11dGlscy9mc3RyaW0uYzo3NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMjcgc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTQgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAwCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkyIHN5cy11dGlscy9uc2VudGVyLmM6MTI5CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTkzIHN5cy11dGlscy9yZmtpbGwuYzo1NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjg2IHN5cy11dGlscy9zZXRwcml2LmM6Mjc2IHN5cy11dGlscy9zZXRwcml2LmM6NjE0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzNyBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc1IHN5cy11dGlscy9zd2Fwb24uYzo1MTgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2NyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwOCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIyIHN5cy11dGlscy93ZGN0bC5jOjM3OCBzeXMtdXRpbHMvenJhbWN0bC5jOjUwOAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzUyIHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2MAorIzogdGVybS11dGlscy9zY3JpcHQuYzo0NjggdGVybS11dGlscy9zY3JpcHQuYzo1NTkKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk4IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAxCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTkgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTM0CisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3VsLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MSBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDAKK21zZ2lkICJpbnZhbGlkIHBhcnRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgImdlw6dlcnNpeiBkaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGJhxZ9sYXRtYSBhcmfDvG1hbsSxIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTAKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHV6dW5sdWsgYXJnw7xtYW7EsSIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgZWtsZW5lbWVkaSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAic2FsdC1va3VudXIgYXlhcmxhbsSxciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjcwCittc2dpZCAic2V0IHJlYWQtd3JpdGUiCittc2dzdHIgIm9rdS15YXogYXlhcmxhbsSxciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjc2Cittc2dpZCAiZ2V0IHJlYWQtb25seSIKK21zZ3N0ciAic2FsdC1va3VudXIgaXNlIDEgdmVyaXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAic8SxZsSxcmxhcsSxIGRlc3Rla2xlbWV5aSBrYWxkxLFyIGR1cnVtdW51IGdldGlyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJtYW50xLFrc2FsIGJsb2sgKHNla3TDtnIpIGJveXV0dW51IGdldGlyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAiZml6aWtzZWwgYmxvayAoc2VrdMO2cikgYm95dXR1bnUgZ2V0aXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiZW4gZMO8xZ/DvGsgRy/DhyBib3l1dHVudSBnZXRpciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJlbiB1eWd1biBHL8OHIGJveXV0dW51IGdldGlyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgImhpemFsYW1hIHV6YWtsxLHEn8SxbsSxIGJheXQgY2luc2luZGVuIGdldGlyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICJpc3RlayBiYcWfxLFuYSBlbiBmYXpsYSBzZWt0w7Zyw7wgZ2V0aXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICJibG9rIHV6dW5sdcSfdW51IHZlcmlyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJibG9rIGF5Z8SxdMSxbsSxIGHDp2FuIGRvc3lhIHRhbsSxbWxhecSxY8SxZGEgYmxva2JveXV0dW51IGF5YXJsYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIjMyLWJpdGxpayBzZWt0w7ZyIHNhecSxc8SxbsSxIGdldGlyIChlc2tpLCAtLWdldHN6IGt1bGxhbsSxbikiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiYm95dXRsYXLEsSBiYXl0IGNpbnNpbmRlbiB2ZXJpciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgInJlYWRhaGVhZCBheWFybGFuxLFyIC0gc2VrdMO2ciBzYXnEsXPEsSBpbGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTYKK21zZ2lkICJnZXQgcmVhZGFoZWFkIgorbXNnc3RyICJyZWFkYWhlYWQgb2t1bnVyIC0gc2VrdMO2ciBzYXnEsXPEsSBvbGFyYWsiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjMKK21zZ2lkICJzZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgImRvc3lhIHNpc3RlbWkgw7Zub2t1bWEgc2XDp2VuZcSfaW5pIGF5YXJsYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAiZG9zeWEgc2lzdGVtaSDDtm5va3VtYSBzZcOnZW5lxJ9pbmkgZ2V0aXIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICJ0YW1wb25sYXLEsSBib8WfYWx0xLFyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiYsO2bMO8bWxlbWUgdGFibG9zdSB5ZW5pZGVuIG9rdW51ciIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NgorIywgZnV6enkKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHNlc3NpeiBtb2R1bnUgYcOnXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBheXLEsW50xLFsxLEga2lwXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTgKK21zZ2lkICIgICAgIC0tcmVwb3J0ICAgcHJpbnQgcmVwb3J0IGZvciBzcGVjaWZpZWQgKG9yIGFsbCkgZGV2aWNlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjAzCisjLCBmdXp6eQorbXNnaWQgIkF2YWlsYWJsZSBjb21tYW5kczoiCittc2dzdHIgIkt1bGxhbsSxbGFiaWxpciBzw7x0dW5sYXI6XG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIDUxMi1iYXl0IHNla3TDtnJsZXJpbmRla2kgYm95dXR1IGdldGlyXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyODggZGlzay11dGlscy9mZGZvcm1hdC5jOjIxOQorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0MSBkaXNrLXV0aWxzL2lzb3NpemUuYzoyMDUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODEgZGlzay11dGlscy9ta2ZzLmM6MTE2IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxODEgbWlzYy11dGlscy93aXBlZnMuYzo3MTgKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTcxIHN5cy11dGlscy9ibGt6b25lLmM6Mzk0IHN5cy11dGlscy90dW5lbHAuYzoyNDIKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njg5IHN5cy11dGlscy96cmFtY3RsLmM6NzE1Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaGnDp2JpciBheWfEsXQgYmVsaXJ0aWxtZWRpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCittc2dpZCAiY291bGQgbm90IGdldCBkZXZpY2Ugc2l6ZSIKK21zZ3N0ciAiYXlnxLF0IGJveXV0dSBnZXRpcmlsZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiQmlsaW5tZXllbiBrb211dDogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIGnDp2luIHBhcmFtZXRyZSBla3NpayIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4NyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGVycm9yIG9uICVzIgorbXNnc3RyICIlcydkZSBpb2N0bCBoYXRhc8SxIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiJXMgYmHFn2FyxLFzxLF6LlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMgYmHFn2FyxLFsZMSxLlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczogc3lzZnMgacWfbGV5aWNpc2kgYmHFn2xhdMSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHN0YXJ0IGZyb20gc3lzZnMiCittc2dzdHIgIiVzOiBzeXNmcydkZW4gZGlzayBiw7Zsw7xtw7wgYmHFn2xhbmfEsWPEsSBva3VuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgQmHFn2xhbmfEscOnU2VrdMO2csO8ICAgICAgICAgICAgQm95dXQgICBBeWfEsXRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiQmHFn2xhdMSxbGFiaWxpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlNlw6dpbGVuIGRpc2sgYsO2bMO8bcO8bmRlIEHDp8SxbMSxxZ8gZmxhbWFzxLFuxLEga2FsZMSxcsSxci9pbmRpcmlyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiU2lsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIlNlw6dpbGVuIGRpc2sgYsO2bMO8bcO8bsO8IGthbGTEsXLEsXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAiYm95dXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg4CisjLCBmdXp6eQorbXNnaWQgIlJlZHVjZSBvciBlbmxhcmdlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7xuw7wga2FsZMSxcsSxciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIlllbmkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICJCb8WfIGFsYW5kYSB5ZW5pIGJpciBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIsOHxLFrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAiRGXEn2nFn2lrbGlrbGVyaSB5YXptYWRhbiB1eWd1bGFtYWRhbiDDp8SxayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiVMO8csO8IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdMO8csO8bsO8IGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAiWWFyZMSxbSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAiWWFyZMSxbSBla3JhbsSxbsSxIGfDtnN0ZXJpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJTb3J0IgorbXNnc3RyICJTxLFyYWxhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBzxLFyYXPEsW7EsSBkw7x6ZWx0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICJLYXlkZXQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZGlza2Uga2F5ZGVkZXIgKGJ1IGnFn2xlbSB2ZXJpbGVyaW4ga2F5YsSxbmEgc2ViZXAgb2x1cikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAiRMO2ayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIHBhcnRpdGlvbiB0YWJsZSB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgc2ZkaXNrIHV5dW1sdSBiZXRpayBkb3N5YXPEsW5hIGFrdGFyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjY0MiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAiZGFoaWxpIGhhdGE6IGRlc3Rla2xlbm1leWVuIHBlbmNlcmUgdGlwaSAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKGJhxJ9sxLEpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTcKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IGlzbWk6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IFVVSUQ6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMTYKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IHRpcGk6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiw5Z6bml0ZWxpa2xlcjoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIkRvc3lhIHNpc3RlbWkgVVVJRDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICJEb3N5YSBzaXN0ZW1pIEVUxLBLRVRJOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzYwCittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIkRvc3lhIHNpc3RlbWk6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjUKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAiQmHEn2xhbWEgbm9rdGFzxLE6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzazogJXMiCittc2dzdHIgIkRpc2s6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkJveXV0OiAlcywgJWp1IGJheXQsICVqdSBzZWt0w7ZyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRXRpa2V0OiAlcywgdGFuxLFtbGF5xLFjxLE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJFdGlrZXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIk1pQiBpw6dpbiBNLCBHaUIgacOnaW4gRywgVGlCIGnDp2luIFQgeWEgZGEgc2VrdMO2ciBpw6dpbiBTIHRha2lwIGVkZWJpbGlyLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICJMw7x0ZmVuIGJveXV0dSBiZWxpcnRpbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiRW4gZMO8xZ/DvGsgYm95dXQgJWp1IGJheXR0xLFyLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heGltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICJFbiB5w7xrc2VrIGJveXV0ICVqdSBiYXl0dMSxci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAiQm95dXQgw6fDtnrDvG1sZW5lbWVkaS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk2OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgdMO8csO8bsO8IHNlw6ciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDgKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIkJldGlrIGRvc3lhIGlzbWluaSBnaXI6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiQmV0aWsgZG9zeWFzxLEgYmVsbGVrdGUgdHV0dWxhbiBiw7Zsw7xtbGVtZSB0YWJsb3N1bmEgdXlndWxhbmFjYWt0xLFyLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIkJldGlrIGRvc3lhc8SxICVzIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIkJldGlrICVzIHV5Z3VsYW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICJNZXZjdXQgYmVsbGVrdGUgdHV0dWxhbiBiw7Zsw7xtbGVtZSB0YWJsb3N1IGRvc3lheWEgYWt0YXLEsWxhY2FrLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiQmV0aWsgacWfbGV5aWNpIHRhaHNpcyBlZGlsZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA2MworbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAiRGlzayB5ZXJsZcWfaW1pIGJldGnEn2Ugb2t1bmFtYWTEsS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJEaXNrIHllcmxlxZ9pbWkgYmHFn2FyxLF5bGEgYWt0YXLEsWxkxLEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBzY3JpcHQgJXMiCittc2dzdHIgIiVzIGJldGnEn2luZSB5YXrEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExNgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICJFdGlrZXQgdMO8csO8bsO8IHNlw6ciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiQXlnxLF0IGJpbGluZW4gYmlyIGLDtmzDvG1sZW1lIHRhYmxvc3UgacOnZXJtaXlvci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAiWWVuaSBiaXIgZXRpa2V0IHlhcmFtYWsgacOnaW4gYmlyIHRpcCBzZcOnaW4geWEgZGEgYmV0aWsgZG9zeWFzxLFuxLEgecO8a2xlbWVrIGnDp2luICdMJyB0dcWfbGF5xLFuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICJjZmRpc2ssIGN1cnNlcy10YWJhbMSxIGRpc2sgYsO2bMO8bWxlbWUgcHJvZ3JhbcSxZMSxci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICJCbG9rIGF5Z8SxdGxhcsSxbmRhIGLDtmzDvG1sZXIgb2x1xZ90dXJtYW7EsXphLCBzaWxtZW5pemUgdmUgZGXEn2nFn2lrbGlrIHlhcG1hbsSxemEgaXppbiB2ZXJpci4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICIgS29tdXQgICAgICAgQW5sYW3EsSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIiAtLS0tLSAgICAgICAtLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBTZcOnaWxlbiBkaXNrIGLDtmzDvG3DvG7DvG4gYcOnxLFsxLHFnyBmbGFtYXPEsW7EsSBrYWxkxLFyxLFyL2luZGlyaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgU2XDp2lsZW4gZGlzayBiw7Zsw7xtw7xuw7wgc2lsZXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIEJ1IHlhcmTEsW0gZWtyYW7EsW7EsSBnw7ZzdGVyaXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICBCb8WfIGFsYW5kYSB5ZW5pIGJpciBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgZGlza3Rla2kgeWVyaW5lIGtheWRlZGlsbWVkZW4gw6fEsWvEsWzEsXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIELDtmzDvG1sZW1lIHPEsXJhc8SxbsSxIGTDvHplbHQgKHNhZGVjZSBkw7x6ZW5zaXogb2xkdcSfdW5kYSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgRGlzayBiw7Zsw7xtbGVtZSB0aXBpbmkgZGXEn2nFn3RpciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICBEaXNrIHllcmxlxZ9pbWluaSBzZmRpc2sgdXl1bWx1IGJldGlrIGRvc3lhc8SxbmEgYWt0YXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4OQorbXNnaWQgIiAgVyAgICAgICAgICBXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAoeW91IG11c3QgZW50ZXIgdXBwZXJjYXNlIFcpOyIKK21zZ3N0ciAiICBXICAgICAgICAgIELDtmzDvG1sZW1lIHRhYmxvc3VudSBkaXNrZSB5YXogKGLDvHnDvGsgaGFyZiBXIGthcmFrdGVyaW5pIGdpcm1lbGlzaW5peik7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAgICBidSBpxZ9sZW0gZGlzayDDvHplcmluZGVraSB2ZXJpeWkgc2lsZWNlxJ9pIGnDp2luLCAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgICAgJ2V2ZXQnIHlhIGRhICdoYXnEsXInIHlhemFyYWsgacWfbGVtaSBvbmF5bGF5YWJpbGlyIHlhIGRhIHJlZGRlZGViaWxpcnNpbml6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIHggICAgICAgICAgRGlzayBiw7Zsw7xtw7wgaGFra8SxbmRhIGZhemxhZGFuIGJpbGdpIGfDtnN0ZXIvZ2l6bGUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICJZdWthcsSxIE9rICAgIEvDvHJzw7Zyw7wgw7ZuY2VraSBkaXNrIGLDtmzDvG3DvG5lIGtheWTEsXLEsXIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIkHFn2HEn8SxIE9rICAgICBLw7xyc8O2csO8IHNvbnJha2kgZGlzayBiw7Zsw7xtw7xuZSBrYXlkxLFyxLFyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAiU29sIE9rICAgxLBtbGXDp2kgYmlyIMO2bmNla2kgbWVuw7wgw7ZnZXNpbmUgZ8O2dMO8ciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiU2HEnyBPayAgxLBtbGXDp2kgYmlyIHNvbnJha2kgbWVuw7wgw7ZnZXNpbmUgZ8O2dMO8ciIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAiQmlsZ2k6IEtheWRldCAoVykga29tdXR1IGTEscWfxLFuZGEgdMO8bSBrb211dGxhcsSxIGLDvHnDvGsgeWEgZGEga8O8w6fDvGsgaGFyZiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgImJhxZ8gaGFyZmxlciAoWWF6bWEgaGFyacOnKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIkF5Z8SxdCBoYWtrxLFuZGEgZGFoYSBmYXpsYSBiaWxnaSBnw7ZybWVrIGnDp2luIGxzYmxrKDgpIHlhIGRhIHBhcnR4KDgpIGt1bGxhbsSxbi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIkRldmFtIGV0bWVrIGnDp2luIGJpciB0dcWfYSBiYXPEsW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyOTcKK21zZ2lkICJDb3VsZCBub3QgdG9nZ2xlIHRoZSBmbGFnLiIKK21zZ3N0ciAiQmF5cmFrIGRlxJ9pxZ90aXJpbGVtZWRpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV6dSBzaWxpbmVtZWRpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA5IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenUgc2lsaW5kaS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIkRpc2sgQsO2bMO8bcO8IGJveXV0dTogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenUnbnVuIHRpcGkgZGXEn2nFn3RpcmlsZGkuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenUnbnVuIHRpcGkgZGXEn2nFn3RpcmlsbWVkaS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorIywgZnV6enkKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICJZZW5pIGthYnVrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIiVzOiBwYXJ0aXRpb24gIyVkIHllbmlkZW4gYm95dXRsYW5kxLFyxLFsZMSxXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQyNyBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDMgZGlzay11dGlscy9mZGlzay5jOjEwNjMKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5MQorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiQXlnxLF0IHNhbHQtb2t1bnVyIG1vZGRhIGHDp8Sxay4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiQsO2bMO8bWxlbWUgdGFibG9zdW51IGRpc2tlIHlhem1hayBpc3RlZGnEn2luaXplIGVtaW4gbWlzaW5pej8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJcImV2ZXRcIiB5YSBkYSBcImhhecSxclwiIHlhesSxbiB5YSBkYSBwZW5jZXJleWkga2FwYXRtYWsgacOnaW4gRVNDIHR1xZ91bmEgYmFzxLFuLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJldmV0IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiQsO2bMO8bWxlbWUgdGFibG9zdSBkaXNrZSB5YXrEsWxtYWTEsS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0NQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICJkaXNrZXRpa2V0aSB5YXrEsWxhbWFkxLEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGRlxJ9pxZ90aXJpbGRpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGdpcmRpbGVyaW5pIGRpc2sgc8SxcmFzxLFuZGEgZGXEn2lsLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTExCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSBhbHJlYWR5IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlOyBpdCB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiQXlnxLF0IHphdGVuICVzIGltemFzxLEgacOnZXJpeW9yOyBidSBiaXIgeWF6bWEga29tdXR1IGlsZSBzaWxpbmVjZWsuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MjIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAieWVuaSBiaXIgZGlza2V0aWtldGkgb2x1xZ90dXJ1bGFtYWTEsSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtbGVyaSBva3VuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJTEkcyBbc2XDp2VuZWtsZXJdIDxkaXNrPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiQmlyIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGfDtnN0ZXIgeWEgZGEgZGXEn2nFn3Rpci5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICDDp8Sxa3TEsXnEsSByZW5rbGVuZGlyIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzOAorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc8SxZsSxcmxhbm3EscWfIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBpbGUgYmHFn2xhXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiByZW5rIG1vZHUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImxpYmZkaXNrIGnDp2VyacSfaSB0YWhzaXMgZWRpbGVtZWRpIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgIsOHZWtpcmRlxJ9lIGJlbGlydGlsZW4gZGlzayBiw7Zsw7xtw7xuw7wgdW51dG1hc8SxbsSxIGJpbGRpcmluLlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICJkaXNrIGLDtmzDvG3DvCBrYWxkxLFyxLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICJCacOnZW1sZW5kaXJpbGl5b3IuLi4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAidGFtYW1cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICJEb8SfcnVsYW7EsXlvci4uLiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAiT2t1bmFuOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIml6L2thZmEgJXUvJXUgb2t1bnVya2VuIHNvcnVuIG9sdcWfdHUsIGJla2xlbmVuICVkLCBva3VuYW4gJWRcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorIml6L2thZmEgJXUvJXUgZGEgaGF0YWzEsSB2ZXJpXG4iCisiRGV2YW0gZWRpbGl5b3IuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gPGRldmljZT5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OQorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiQWx0LXNldml5ZSBiaXIgZGlza2V0IGJpw6dpbWxlbmRpcm1lc2kgeWFwxLFuLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCittc2dpZCAiIC1mLCAtLWZyb20gPE4+ICAgIHN0YXJ0IGF0IHRoZSB0cmFjayBOIChkZWZhdWx0IDApXG4iCittc2dzdHIgIiAtZiwgLS1mcm9tIDxOPiAgICBOIGl6aW5kZW4gYmHFn2xhICh2YXJzYXnEsWxhbiAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIE4gaXppbmRlIGR1clxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICBkb8SfcnVsYW1hIHPEsXJhc8SxbmRhIGJhxZ9hcsSxc8SxeiBvbGFuXG4iCisiICAgICAgICAgICAgICAgICAgICAgaXpsZXJpIG9uYXJtYXnEsSBkZW5lIChlbiBmYXpsYSBOIGRlbmVtZSlcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1NgorbXNnaWQgIiAtbiwgLS1uby12ZXJpZnkgICBkaXNhYmxlIHRoZSB2ZXJpZmljYXRpb24gYWZ0ZXIgdGhlIGZvcm1hdFxuIgorbXNnc3RyICIgLW4sIC0tbm8tdmVyaWZ5ICAgYmnDp2ltbGVuZGlybWUgc29ucmFzxLEgZG/En3J1bGFtYXnEsSBrYXBhdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgImdlw6dlcnNpeiBhcmfDvG1hbiAtIGZyb20iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgImdlw6dlcnNpeiBhcmfDvG1hbiAtIHRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGFyZ8O8bWFuIC0gcmVwYWlyIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgaXN0YXRpc3Rpa2xlcmkgYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI2IGRpc2stdXRpbHMvcGFydHguYzoxMDEwIG1pc2MtdXRpbHMvbHNibGsuYzoxNTAxCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NyBzeXMtdXRpbHMvYmxrem9uZS5jOjEwMQorIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAibWV2Y3V0IGJpw6dpbSB0w7xyw7xuZSBiZWxpcmxlbmVtZWRpIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiVzLXnDvHpsw7wsICVkIGl6LCAlZCBzZWt0w7ZyL2l6LiBUb3BsYW0gJWQga0IuXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJEb3VibGUiCittc2dzdHIgIsOHaWZ0IgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICJUZWsiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgImt1bGxhbsSxY8SxIHRhbsSxbWzEsSBiYcWfbGFuZ8Sxw6cgaXppIG9ydGFtYSBiYcSfbMSxIGVuIHnDvGtzZWsgZGXEn2VyaSBhxZ90xLEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJrdWxsYW7EsWPEsSB0YW7EsW1sxLEgYml0acWfIGl6aSBvcnRhbWEgYmHEn2zEsSBlbiB5w7xrc2VrIGRlxJ9lcmkgYcWfdMSxIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQ1Cittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIHVzZXIgZGVmaW5lZCBlbmQgdHJhY2siCittc2dzdHIgImt1bGxhbsSxY8SxIHRhbsSxbWzEsSBiYcWfbGFuZ8Sxw6cgaXppIGt1bGxhbsSxY8SxIHRhbsSxbWzEsSBiaXRpxZ8gaXppbmkgYcWfdMSxIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjUzIG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAyMgorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAia2FwYXRtYSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICJTZcOnICh2YXJzYXnEsWxhbiAlYyk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyBkZWZhdWx0IHJlc3BvbnNlICVjLiIKK21zZ3N0ciAiw5ZudGFuxLFtbMSxIGNldmFwICVjIGt1bGxhbsSxbMSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIyIGRpc2stdXRpbHMvZmRpc2suYzoyOTYgZGlzay11dGlscy9mZGlzay5jOjM3MQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyNDEgbGliZmRpc2svc3JjL2dwdC5jOjI0NjkKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJEZcSfZXIgYXJhbMSxayBkxLHFn8SxbmRhLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywgdmFyc2F5xLFsYW4gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTQgZGlzay11dGlscy9mZGlzay5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXMsIHZhcnNhecSxbGFuICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglYy0lYywgdmFyc2F5xLFsYW4gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCB2YXJzYXnEsWxhbiAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzggZGlzay11dGlscy9zZmRpc2suYzoxOTgKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIgW0VddmV0L1tIXWF5xLFyOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJIZXgga29kIChiw7x0w7xuIGtvZGxhciBpw6dpbiBMIHR1xZ9sYXnEsW4pOiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjQ4MAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IHTDvHLDvCAoaGVwc2luaSBsaXN0ZWxlbWVrIGnDp2luIEwgdHXFn2xhecSxbik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkRPUyBVeXVtbHVsdWsgYmF5cmHEn8SxIGF5YXJsYW5kxLEoRVNLxLAhKSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiRE9TIFV5dW1sdWx1ayBiYXlyYcSfxLEgYXlhcmxhbm1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA0IGRpc2stdXRpbHMvZmRpc2suYzo2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenUgaGVuw7x6IHlvayEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIkJpbGlubWV5ZW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICInJXMnIGRpc2sgYsO2bMO8bcO8bsO8biB0aXBpbmkgJyVzJyBvbGFyYWsgZGXEn2nFn3RpcmluLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV6dSduaW4gdGlwaSBkZcSfacWfdGlyaWxtZWRpOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjY2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAiJTE1czogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisiXG4iCisiJXM6IG9mc2V0ID0gJTxQUkl1NjQ+LCBib3l1dCA9ICV6dSBiYXl0LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyMworbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICJhcmFuYW3EsXlvciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcyOAorbXNnaWQgImNhbm5vdCByZWFkIgorbXNnc3RyICJva3VuYW3EsXlvciIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICLEsGxrIHNla3TDtnIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIiVzIMO8emVyaW5kZSBCTEtHRVRTSVpFIGlvY3RsIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICLEsG16YSBiaXIgeWF6bWEga29tdXR1IGlsZSBzaWxpbmVjZWsuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICJNdWh0ZW1lbCDDp2FrxLHFn21hbGFyxLEgw7ZuZWxlbWVrIGnDp2luLCBheWfEsXTEsSB3aXBlZnMoOCkgaWxlIHRlbWl6bGVtZW5peiDFn2lkZGV0bGUgdGF2c2l5ZSBlZGlsaXIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICUxJHMgW3Nlw6dlbmVrbGVyXSA8ZGlzaz4gICAgICBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBkZcSfacWfdGlyXG4iCisiICUxJHMgW3Nlw6dlbmVrbGVyXSAtbCBbPGRpc2s+XSBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudS90YWJsb2xhcsSxbsSxIGxpc3RlbGVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgZml6aWtzZWwgdmUgbWFudMSxa3NhbCBzZWt0w7ZyIGJveXV0dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIHllbmkgYmlyIGV0aWtldCBvbHXFn3R1cnVrZW4gYm9va2JpdHMnbGVyaSBzaWxtZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICAnZG9zJyB5YSBkYSAnbm9uZG9zJyAodmFyc2F5xLFsYW4pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICDDp8Sxa3TEsXnEsSByZW5rbGVuZGlyIChvdG8sIGRhaW1hIHlhIGRhIGFzbGEpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNrIGLDtmzDvG1sZXJpbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICDDp8Sxa3TEsSBzw7x0dW5sYXLEsVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgc2FkZWNlIGJlbGlyaWxlbiBkaXNrIGLDtmzDvG1sZW1lIHRpcGluaSBhbGfEsWxhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZ8O2c3RlcmltIGJpcmltaTogJ3NpbGluZGlyJyB5YSBkYSAnc2VrdMO2cicgKHZhcnNhecSxbGFuKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIxCittc2dpZCAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgZGV2aWNlIHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9ycyBbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIC1zLCAtLWdldHN6ICAgICAgICAgICAgICAgICAgIGF5Z8SxdCBib3l1dHVudSA1MTItYmF5dCBzZWt0w7ZyIG9sYXJhayBnw7ZzdGVyIFtLVUxMQU5JTE1BWUFOXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBCT1lVVHUgb2t1bmFiaWxpciBiacOnaW0geWVyaW5lIGJheXQgb2xhcmFrIGfDtnN0ZXJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIGltemFsYXLEsSB0ZW1pemxlIChvdG8sIGRhaW1hIHlhIGRhIGFzbGEpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICBpbXphbGFyxLEgeWVuaSBkaXNrIGLDtmzDvG1sZXJpbmRlbiB0ZW1pemxlIChvdG8sIGRhaW1hIHlhIGRhIGFzbGEpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc2lsaW5kaXIgc2F5xLFzxLFuxLEgYmVsaXJ0aW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIGthZmEgc2F5xLFzxLFuxLEgYmVsaXJ0aW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgICAgIGl6IGJhxZ/EsW5hIHNla3TDtnIgc2F5xLFzxLFuxLEgYmVsaXJ0aW5cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjg5OCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTAwIGRpc2stdXRpbHMvcGFydHguYzo4NzMKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogc2VrdMO2ciBib3l1dCBhcmfDvG1hbsSxIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTEwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgImdlw6dlcnNpeiBzaWxpbmRpciBhcmfDvG1hbsSxIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIkRPUyBldGlrZXQgc8O8csO8Y8O8c8O8IGJ1bHVubWFkxLEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb21wYXRpYmlsaXR5IG1vZGUgJyVzJyIKK21zZ3N0ciAiYmlsaW5tZXllbiB1eXVtbHVsdWsgbW9kdSAnJXMnIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM1Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGthZmEgYXJnw7xtYW7EsSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHNla3TDtnIgYXJnw7xtYW7EsSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBkaXNrZXRpa2V0aTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NzUKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCIKK21zZ3N0ciAiZGVzdGVrbGVubWV5ZW4gYmlyaW4gJyVjJyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDg5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBzaWxtZSBtb2R1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAwMgorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICJBeWfEsXQgw7Z6ZWxsaWtsZXJpIChzZWt0w7ZyIGJveXV0dSB2ZSBnZW9tZXRyaSkgc2FkZWNlIGJlbGlydGlsZW4gYXlnxLF0IGlsZSBiaXJsaWt0ZSBrdWxsYW7EsWxtYWzEsS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIiVsdSBoYXRhbMSxIHNheWZhXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIldlbGNvbWUgdG8gZmRpc2sgKCVzKS4iCittc2dzdHIgImZkaXNrICglcyknZSBob8WfZ2VsZGluaXouIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTYKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisiRGXEn2nFn2lrbGlrbGVyIHNpeiBvbmxhcsSxIHlhem1heWEga2FyYXIgdmVyZW5lIGthZGFyIHNhZGVjZSBiZWxsZWt0ZSBrYWxhY2FrLlxuIgorIllheiBrb211dHVudSBrdWxsYW5tYWRhbiDDtm5jZSBkaWtrYXQgZWRpbml6LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICJIaWJyaXQgYmlyIEdQVCBhbGfEsWxhbmTEsS4gSGlicml0IE1CUifEsSBlbGxlIGXFn2l0bGVtZW5peiBnZXJla21la3RlZGlyICh1em1hbiBrb211dCAnTScpLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICJEaXNrZXRpa2VyaSB0aXBpOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiRGlzayBiZWxpcmxleWljaXNpOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkRpc2sgJXM6ICVzLCAlanUgYmF5dCwgJWp1IHNla3TDtnIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzL3RyYWNrLCAlbGx1IGN5bGluZGVycyIKK21zZ3N0ciAiR2VvbWV0cmk6ICVkIGthZmEsICVsbHUgc2VrdMO2ci9peiwgJWxsdSBzaWxpbmRpciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiQmlyaW1sZXI6ICVzJ2kgJWQgKiAlbGQgPSAlbGQgYmF5dMSxbiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiU2VrdMO2ciBib3l1dHUgKG1vbnTEsWtzYWwvZml6aWtzZWwpOiAlbHUgYmF5dCAvICVsdSBiYXl0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICJHL8OHIGJveXV0dSAoZW4gZMO8xZ/DvGsvZW4gdXlndW4pOiAlbHUgYmF5dCAvICVsdSBiYXl0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIkhpemFsYW1hIGtvbnVtdTogJWx1IGJheXQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCittc2dzdHIgInlpbmVsZXlpY2kgdGFoc2lsIGVkaWxlbWVkaSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTIyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI0MgorIzogZGlzay11dGlscy9wYXJ0eC5jOjY2NyBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjkxNiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNjEKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1OTYgbWlzYy11dGlscy9sc2Jsay5jOjE5MDggbWlzYy11dGlscy9sc2xvY2tzLmM6NDQ5CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI1MiBtaXNjLXV0aWxzL3dpcGVmcy5jOjE1MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjMyMQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzEyIHN5cy11dGlscy9sc2lwYy5jOjMzOAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyOTcgc3lzLXV0aWxzL3Jma2lsbC5jOjQ1NyBzeXMtdXRpbHMvc3dhcG9uLmM6Mjg0CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyNjAgc3lzLXV0aWxzL3pyYW1jdGwuYzo0ODcgdGV4dC11dGlscy9jb2x1bW4uYzoyMDkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLDp8Sxa3TEsSB0YWJsb3N1IHRhaHNpbCBlZGlsZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE2MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjYKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5NzQgbWlzYy11dGlscy9maW5jb3JlLmM6MTIzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA2IG1pc2MtdXRpbHMvbHNibGsuYzoxMTc2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNTQgbWlzYy11dGlscy93aXBlZnMuYzoyMTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzQwIHN5cy11dGlscy9sb3NldHVwLmM6MzY5IHN5cy11dGlscy9sc2NwdS5jOjE2MzUKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2NjMgc3lzLXV0aWxzL2xzaXBjLmM6NDcwIHN5cy11dGlscy9sc2lwYy5jOjU0NQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjQ3IHN5cy11dGlscy9sc2lwYy5jOjczOSBzeXMtdXRpbHMvbHNpcGMuYzo5MDAKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5IHN5cy11dGlscy9yZmtpbGwuYzozNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjE3OQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjE0IHN5cy11dGlscy96cmFtY3RsLmM6NDA3IHRleHQtdXRpbHMvY29sdW1uLmM6NDUzCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICLDp8Sxa3TEsSBoYXR0xLEgdGFoc2lsIGVkbGVtZWRpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIgorbXNnc3RyICLDp8Sxa3TEsSB0YWJsb3N1bmEgdmVyaSBla2xlbmVtZWRpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenUgZml6aWtzZWwgc2VrdMO2ciBhcmFsxLHEn8SxbmRhIGJhxZ9sYW1hZMSxLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJEaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgZ2lyZGlsZXJpIGRpc2sgc8SxcmFzxLFuZGEgZGXEn2lsLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICJCYcWfbGFuZ8Sxw6ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNgorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjkgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMjEKK21zZ2lkICJFbmQiCittc2dzdHIgIlNvbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIlNla3TDtnIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICJCb3l1dCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICJCw7Zsw7xtbGVubWV5ZW4gYm/Fn2x1ayAlczogJXMsICVqdSBiYXl0LCAlanUgc2VrdMO2ciIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAiJXMgYmlsaW5tZXllbiBzw7x0dW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIkdlbmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiYmlyIGRpc2sgYsO2bMO8bcO8bsO8IHNpbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAiYm/FnyBiw7Zsw7xtbGVubWV5ZW4gYWxhbmxhcsSxIGxpc3RlbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICJiaWxpbmVuIGRpc2sgYsO2bMO8bSB0aXBsZXJpbmkgbGlzdGVsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAieWVuaSBiaXIgZGlzayBiw7Zsw7xtw7wgZWtsZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgeWF6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgdGlwaW5pIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJkaXNrIGLDtmzDvG3DvCB0YWJsb3N1bnUgZG/En3J1bGEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNQorbXNnaWQgInByaW50IGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICJiaXIgZGlzayBiw7Zsw7xtw7wgaGFra8SxbmRhIGJpbGdpIHlheiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJheWfEsXTEsW4gaWxrIHNla3TDtnLDvG5kZWtpIGhhbSB2ZXJpeWkgeWF6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDgKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgImF5Z8SxdMSxbSBkaXNrZXRpa2V0aW5kZWtpIGhhbSB2ZXJpeWkgeWF6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgc8SxcmFzxLFuxLEgb25hciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiw4dlxZ9pdGxpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgImJ1IG1lbsO8ecO8IHlhemTEsXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICJnw7Zyw7xuw7xtL2dpcmRpIGJpcmltbGVyaW5pIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgImZhemxhZGFuIGnFn2xldnNlbGxpayAoc2FkZWNlIHV6bWFubGFyKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICJCZXRpayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE3Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiZGlzayB5ZXJsZcWfaW1pbmkgc2ZkaXNrIGJldGlrIGRvc3lhc8SxbmRhbiB5w7xrbGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICJkaXNrIHllcmxlxZ9pbWluaSBzZmRpc2sgYmV0aWsgZG9zeWFzxLFuYSBha3RhciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIktheWRldCB2ZSDDh8SxayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAidGFibG95dSBkaXNrZSB5YXogdmUgw6fEsWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgInRhYmxveXUgZGlza2UgeWF6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjMKK21zZ2lkICJxdWl0IHdpdGhvdXQgc2F2aW5nIGNoYW5nZXMiCittc2dzdHIgImRlxJ9pxZ9pa2xpa2xlcmkga2F5ZGV0bWVkZW4gw6fEsWsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgImFuYSBtZW7DvHllIGTDtm4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgIkJTRCdkZW4gRE9TJ2EgZMO2biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICJZZW5pIGJpciBldGlrZXQgb2x1xZ90dXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ5ZW5pIGJpciBib8WfIEdQVCBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3Ugb2x1xZ90dXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAieWVuaSBiaXIgYm/FnyBTR0kgKElSSVgpIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBvbHXFn3R1ciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInllbmkgYmlyIGJvxZ8gRE9TIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBvbHXFn3R1ciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFN1biBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgInllbmkgYmlyIGJvxZ8gU1VOIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBvbHXFn3R1ciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJJUklYIChTR0kpIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBvbHXFn3R1ciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgInNpbGluZGlyIHNhecSxc8SxbsSxIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgImthZmEgc2F5xLFzxLFuxLEgZGXEn2nFn3RpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJzZWt0w7ZyL2l6IHNhecSxc8SxbsSxIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NQorbXNnaWQgIkdQVCIKK21zZ3N0ciAiR1BUIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjcKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICJkaXNrIEdVSUQnaW5pIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgaXNtaW5pIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgVVVJRCdzaW5pIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgInRhYmxvIGJveXVudSBkZcSfacWfdGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzEKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgImtvcnVydXl1L21lbGV6IE1CUiBnaXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiZXNraSBCSU9TIHnDvGtsZW5lYmlsaXIgYmF5cmHEn8SxbsSxIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAiZW5nZWxzaXogR8OHIHByb3Rva29sIGJheXJhxJ/EsW7EsSBkZcSfacWfdGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICJnZXJla2xpIGRpc2sgYsO2bMO8bWxlbWUgYmF5cmHEn8SxbsSxIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICJHVUlEIMO2emVsIGJpdGxlcmluaSBkZcSfacWfdGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAic2FsdC1va3VudXIgYmF5cmHEn8SxbsSxIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgImJhxJ9sYW5hYmlsaXIgYmF5cmHEn8SxbsSxIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiZGXEn2nFn2ltbGkgc2lsaW5kaXJsZXJpbiBzYXnEsXPEsW7EsSBkZcSfacWfdGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJzaWxpbmRpciBiYcWfxLFuYSBmYXpsYWRhbiBzZWt0b3Igc2F5xLFzxLFuxLEgZGXEn2nFn3RpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJoYXJtYW5sYW1hIGZha3TDtnLDvG7DvCBkZcSfacWfdGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKK21zZ2lkICJjaGFuZ2Ugcm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgImTDtm5tZSBoxLF6xLFuxLEgKHJwbSkgZGXEn2nFn3RpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgImZpemlrc2VsIHNpbGluZGlyIHNhecSxc8SxbsSxIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICJiYcWfbGF0xLFsYWJpbGlyIGRpc2sgYsO2bMO8bcO8bsO8IHNlw6ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgImJhxZ9sYW1hZG9zeWFzxLEgZ2lyZGlzaW5pIGTDvHplbmxlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDcKK21zZ2lkICJzZWxlY3Qgc2dpIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICJzZ2kgdGFrYXMgZGlzayBiw7Zsw7xtw7xuw7wgc2XDpyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA4Cittc2dpZCAiY3JlYXRlIFNHSSBpbmZvIgorbXNnc3RyICJTR0kgYmlsZ2lzaSBvbHXFn3R1ciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICJET1MgKE1CUikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgImJpciB5w7xrbGVuZWJpbGlyIGJheXJhxJ/EsW7EsSBkZcSfacWfdGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICJpw6dpw6dlIEJTRCBkaXNrZXRpa2V0aSBkw7x6ZW5sZSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIwCittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICJiaXIgZG9zIHV5dW1sdWx1xJ91IGJheXJhxJ/EsW7EsSBkZcSfacWfdGlyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJiaXIgZGlzayBiw7Zsw7xtw7xuZGUgdmVyaW5pbiBiYcWfbGFuZ8SxY8SxbsSxIGtheWTEsXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJkaXNrIHRhbsSxbWxhecSxY8Sxc8SxbsSxIGRlxJ9pxZ90aXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyNQorbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgImtvcnVudW1sdS9tZWxleiBNQlInZGFuIEdQVCd5ZSBkw7ZuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzUKK21zZ2lkICJCU0QiCittc2dzdHIgIkJTRCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM2Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICJzw7xyw7xjw7wgdmVyaXNpbmkgZMO8emVubGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICLDtm55w7xrbGV5aWNpeWkga3VyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiYsO8dMO8biBkaXNrZXRpa2V0aW5pIGfDtnN0ZXIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAiQlNEIGRpc2sgYsO2bMO8bcO8bsO8IEJTRC1vbG1heWFuIGRpc2sgYsO2bMO8bcSfbmUgYmHEn2xhbnTEsWxhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJZYXJkxLFtICh1em1hbiBrb211dGxhcsSxKTpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIllhcmTEsW06XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICJEYWhhIGnDp3Rla2kgJyVzJyBkaXNrIGLDtmzDvG1sZSB0YWJsb3N1bnUgZMO8emVubGl5b3JzdW51eiwgYmlyaW5jaWwgdGFibG8gaXNlICclcycuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiVXptYW4ga29tdXRsYXLEsSAoeWFyZMSxbSBpw6dpbiBtKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICJLb211dCAoeWFyZMSxbSBpw6dpbiBtKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorIkdlcsOnZWt0ZW4gw6fEsWttYWsgaXN0aXlvciBtdXN1bnV6PyAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlYzogYmlsaW5tZXllbiBrb211dCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIkJldGlrIGRvc3lhc8SxbsSxbiBhZMSxbsSxIGdpciIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICJCZXRpayBiYcWfYXLEsXlsYSB1eWd1bGFuZMSxLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTE4Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiRGlzayB5ZXJsZcWfaW1pbmluIGJldGnEn2UgZMO2bsO8xZ90w7xyw7xsbWVzaSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICJCZXRpayBiYcWfYXLEsXlsYSBrYXlkZWRpbGRpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICMlenUgYmlyICVzIGltemFzxLEgacOnZXJpeW9yLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAixLBtemF5xLEgZ2Vyw6dla3RlbiBrYWxkxLFybWFrIGlzdGl5b3IgbXVzdW51ej8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICLEsG16YSBiaXIgeWF6bWEga29tdXR1IGlsZSBzaWxpbmVjZWsuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTYKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICJkaXNrZXRpa2V0aSB5YXrEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzOAorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIkRpc2sgYsO2bMO8bWxlcmluaW4gc8SxcmFzxLEgZMO8emVsdGlsZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY0MAorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICJEaXNrIGLDtmzDvG1sZXJpIHPEsXJhc8SxIG9uYXLEsWxkxLEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenUgc2lsaW5lbWVkaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgImfDtnLDvG7DvG0vZ2lyZGkgYmlyaW1sZXJpIHNpbGluZGlyIG9sYXJhayBkZcSfacWfdGlyaWxpeW9yIChLVUxBTklMTUFZQU4hKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgImfDtnLDvG7DvG0vZ2lyZGkgYmlyaW1sZXJpIHNla3TDtnIgb2xhcmFrIGRlxJ9pxZ90aXJpbGl5b3IuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2OTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODY4Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiRGFoYSBpw6dlcmRla2kgZGlza2V0aWtldGxlcmkgdGVya2VkaWxpeW9yLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiWWFuaSBlbiBmYXpsYSBnaXJkaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIktvcnVtYWzEsS9tZWxleiBNQlIgZGlza2V0aWtldGluZSBnaXJpbGl5b3IuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NjEKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJZZW5pIFVVSUQgKDgtNC00LTQtMTIgZm9ybWF0xLFuZGEpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiWWVuaSBpc2ltIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIsSww6dpw6dlIEJTRCBkaXNrZXRpa2V0aSBnaXJpbGl5b3IuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAiU2lsaW5kaXIgc2F5xLFzxLEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIkthZmEgc2F5xLFzxLEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiU2VrdMO2ciBzYXnEsXPEsSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgYmHEn2zEsVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgYmHEn2zEsSBkZcSfaWxcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiJXMgb2t1bmFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgImF5csSxxZ90xLFybWEgaGF0YXPEsTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiZGl6aW4gJXMgb2x1xZ90dXJ1bGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAiRGlzayAlcyBpbGUga2lsaXRsZW5peW9yLi4uICIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIihiZWtsxZ95b3IpICIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgImJhxZ9hcsSxbMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJmYWlsZWQiCittc2dzdHIgImJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAiJXMga2lsaWRpIGthbGTEsXLEsWzEsXlvci5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgIiVzIGnDp2luIHRhbsSxbWxhbWEga3VydWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiAlZCBzYXTEsXLEsW5kYSBheXLEscWfdMSxcm1hIGhhdGFzxLEgLS0geW9rc2F5xLFsZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiVzOiBmc3RhYiBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiYWx0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtYWTEsSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHnDvHLDvHRtZSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiYmVrbGU6IGRhaGEgZmF6bGEgYWx0IHPDvHJlw6cgeW9rIG11PyE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQgYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIlV5YXLEsS4uLiAlcyBheWfEsXQgJXMgacOnaW4gJWQgc2lueWFsaSBpbGUga2FwYW5kxLEuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVzOiBkdXJ1bSAleCwgYXNsYSBnZXLDp2VrbGXFn21lbWVsaS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAiJXMgaWxlIGJpdHRpICjDp8Sxa8SxxZ8gZHVydW11ICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgImZzY2sgecO8csO8dMO8bG1lc2kgc8SxcmFzxLFuZGEgaGF0YSAlZCAoJW0pLiAlcywgJXMgacOnaW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEwMDIKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyItdCBwYXJhbWV0cmVzaW5lIGdlw6dpbGVuIGRvc3lhIHNpc3RlbWxlcmluaW4gaGVwc2kgeWEgZGEgaGnDp2JpcmlcbiIKKyInaGF5xLFyJyB5YSBkYSAnIScgw7ZuZWtpbmUgc2FoaXAgb2xtYWzEsWTEsXIuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBiYWQgbGluZSBpbiAvZXRjL2ZzdGFiOiBiaW5kIG1vdW50IHdpdGggbm9uemVybyBmc2NrIHBhc3MgbnVtYmVyIgorbXNnc3RyICIlczogL2V0Yy9mc3RhYiBkb3N5YXPEsW5kYWtpIGhhdGFsxLEgc2F0xLFyIGF0bGFuxLF5b3I6IHPEsWbEsXIgb2xtYXlhbiBmc2NrIGdlw6dpxZ8gbnVtYXJhc8SxIGlsZSBiYcSfbGFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXM6IHZhcm9sbWF5YW4gYXlnxLF0IGF0bGFuxLF5b3JcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9uZXhpc3RlbnQgZGV2aWNlIChcIm5vZmFpbFwiIGZzdGFiIG9wdGlvbiBtYXkgYmUgdXNlZCB0byBza2lwIHRoaXMgZGV2aWNlKVxuIgorbXNnc3RyICIlczogdmFyb2xtYXlhbiBheWfEsXQgKGJ1IGF5Z8SxdMSxIGF0bGFtYWsgacOnaW4gXCJub2ZhaWxcIiBmc3RhYiBzZcOnZW5lxJ9pIGt1bGxhbsSxbGFiaWxpcilcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAiJXM6IGJpbGlubWV5ZW4gZG9zeWEgc2lzdGVtaSBnZcOnaWxpeW9yXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoZWNrICVzOiBmc2NrLiVzIG5vdCBmb3VuZCIKK21zZ3N0ciAiJXMga29udHJvbCBlZGlsZW1lZGk6IGZzY2suICVzIGJ1bHVuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAiQsO8dMO8biBkb3N5YSBzaXN0ZW1sZXJpIGtvbnRyb2wgZWRpbGl5b3IuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS13YWl0aW5nLS0gKHBhc3MgJWQpXG4iCittc2dzdHIgIi0tYmVrbGVuaXlvci0tIChnZcOnaWxlbiAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gLS0gW2ZzLXNlw6dlbmVrbGVyaV0gWzxmaWxlc3lzdGVtPiAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQmlyIExpbnV4IGRvc3lhIHNpc3RlbWluaSBrb3Ryb2wgZXQgdmUgb25hci5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NAorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEgICAgICAgICBiw7x0w7xuIGRvc3lhIHNpc3RlbWxlcmluaSBrb250cm9sIGV0XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtQyBbPGZkPl0gIGlsZXJsZW1lIMOndWJ1xJ91bnUgZ8O2c3RlcjsgR1VJbGVyIGnDp2luIGRvc3lhIHRhbsSxbWxhecSxY8SxbGFyxLFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBoYXJpY2kgZXJpxZ9pbWkgZ2FyYW50aWxlbWVrIGnDp2luIGF5Z8SxdMSxIGtpbGl0bGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtTSAgICAgICAgIGJhxJ9sYW5txLHFnyBkb3N5YSBzaXN0ZW1sZXJpbmkga29udHJvbCBldG1lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTgKK21zZ2lkICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorbXNnc3RyICIgLU4gICAgICAgICB5w7xyw7x0bWUsIHNhZGVjZSBuZSB5YXDEsWxhY2HEn8SxbsSxIGfDtnN0ZXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIgLVAgICAgICAgICBrw7ZrIGRpemluIGRhaGlsLCBkb3N5YSBzaXN0ZW1sZXJpbmkgcGFyYWxlbCBvbGFyYWsga29udHJvbCBldFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAwCittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICBrw7ZrIGRpemluaSBhdGxhOyBzYWRlY2UgJy1BJyBpbGUga3VsbGFuxLHFn2zEsVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAxCittc2dpZCAiIgorIiAtciBbPGZkPl0gIHJlcG9ydCBzdGF0aXN0aWNzIGZvciBlYWNoIGRldmljZSBjaGVja2VkO1xuIgorIiAgICAgICAgICAgIGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIiCisiIC1yIFs8ZmQ+XSAgc2XDp2lsaSBiw7x0w7xuIGF5Z8SxdGxhciBpw6dpbiBpc3RhdGlzdGlrbGVyaSByYXBvcmxhO1xuIgorIiAgICAgICAgICAgIGRvc3lhIHRhbsSxbWxhecSxY8SxIEdVSSdsZXIgacOnaW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICBrb250cm9sIGnFn2xlbWxlcmluaSBzxLFyYWxhbmTEsXJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgIGJhxZ9sxLHEn8SxIGHDp8SxbMSxxZ8gc8SxcmFzxLFuZGEgZ8O2c3Rlcm1lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDx0eXBlPiAga29udHJvbCBlZGlsZWNlayBkb3N5YSBzaXN0ZW1pIHRpcGxlcmluaSBiZWxpcnQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IHZpcmfDvGxsZSBheXLEsWxtxLHFnyBvbGFiaWxpclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA3Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgbmUgeWFwxLFsZMSxxJ/EsW7EsSBhw6fEsWtsYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiS3VsbGFuxLFsYWJpbGlyIGZzLXNlw6dlbmVrbGVyaSBpw6dpbiBiZWxpcmxpIGZzY2suKiBrb211dGxhcsSxbmEgYmFrxLFuLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgIsOnb2sgZmF6bGEgYXlnxLF0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDcyCittc2dpZCAiSXMgL3Byb2MgbW91bnRlZD8iCittc2dzdHIgIi9wcm9jIGJhxJ9sxLEgbcSxPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJlxZ9sZcWfZW4gZG9zeWEgc2lzdGVtbGVyaW5pIHRhcmFtYWsgacOnaW4gcm9vdCBvbG1hbsSxeiBnZXJla2l5b3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgImXFn2xlxZ9lbiBkb3N5YSBzaXN0ZW1pIGJ1bHVuYW1hZMSxOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ5MiBkaXNrLXV0aWxzL2ZzY2suYzoxNTg5IG1pc2MtdXRpbHMva2lsbC5jOjIzNgorIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc4Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICLDp29rIGZhemxhIGFyZ8O8bWFuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTQ3IGRpc2stdXRpbHMvZnNjay5jOjE1NTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICItciBpw6dpbiBnZcOnZXJzaXogYXJnw7xtYW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIgorbXNnc3RyICItLXBpZCBzZcOnZW5lxJ9pIHNhZGVjZSBiaXIgZGVmYSBiZWxpcnRpbG1lbGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJzZcOnZW5layAnJXMnIGJpciBhcmfDvG1hbmxhIGt1bGxhbsSxbMSxciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yOiAlZCIKK21zZ3N0ciAiLXIgacOnaW4gZ2XDp2Vyc2l6IGFyZ8O8bWFuOiAlZCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTY0MworbXNnaWQgInRoZSAtbCBvcHRpb24gY2FuIGJlIHVzZWQgd2l0aCBvbmUgZGV2aWNlIG9ubHkgLS0gaWdub3JlIgorbXNnc3RyICItbCBzZcOnZW5lxJ9pIHlhbG7EsXpjYSBiaXIgYXlnxLF0IGnDp2luIGt1bGxhbsSxbGFiaWxpciAtLSB5b2tzYXkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gPGZpbGU+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiU8Sxa8SxxZ90xLFyxLFsbcSxxZ8gUk9NIGRvc3lhIHNpc3RlbWluaSBrb250cm9sIGV0IHZlIG9uYXIuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBzYWRlY2UgdXl1bWx1bHVrIGnDp2luLCB5b2tzYXnEsWxkxLFcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgZGFoYSBmYXpsYSBheXLEsW50xLEgZ8O2c3RlclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAgc2FkZWNlIHV5dW1sdWx1ayBpw6dpbiwgeW9rc2F5xLFsZMSxXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgYnUgYmxva3NpemUnxLEga3VsbGFuLCBzYXlmYSBib3l1dHVuYSDDtm4gdGFuxLFtbGFuxLFyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICBhw6dtYXnEsSB0ZXN0IGV0LCBpc3RlxJ9lIGJhxJ9sxLEgb2xhcmFrIDxkaXI+J2Ugw6fEsWthcsSxbGFiaWxpclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsIGJhxZ9hcsSxc8SxejogYXlnxLF0IGJveXV0dSBiZWxpcmxlbmVtZWRpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgImJpciBibG9rIGF5Z8SxdMSxIHlhIGRhIGRvc3lhIGRlxJ9pbDogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAiZG9zeWEgYm95dXR1IMOnb2sga8Sxc2EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzYgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MSBsaWJmZGlzay9zcmMvYnNkLmM6NzE3IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTIKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDMgbG9naW4tdXRpbHMvbGFzdC5jOjIzNyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICIlcyBkZSBhcmFtYSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICJzw7xwZXJibG9rIMO2emVsIHNhecSxc8SxIGJ1bHVuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImNyYW1mcyBlbmRpYW5sxLHEn8SxICVzIGRpclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJiw7x5w7xrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICJrw7zDp8O8ayIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgImRlc3Rla2xlbm1leWVuIGRvc3lhIHNpc3RlbWkgw7Z6ZWxsaWtsZXJpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAic8O8cGVyYmxvayBib3l1dHUgKCVkKSDDp29rIGvDvMOnw7xrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJzxLFmxLFyIGRvc3lhIHNhecSxc8SxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA1Cittc2dpZCAiZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0iCittc2dzdHIgImRvc3lhIHV6YW50xLFsYXLEsSBkb3N5YSBzaXN0ZW1pIGJpdGnFn2luaSBhxZ90xLEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAiZXNraSBjcmFtZnMgYmnDp2ltaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIkNSQyB0ZXN0IGVkaWxlbWl5b3I6IGVza2kgY3JhbWZzIGJpw6dpbWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgIm3DvHN2ZWRkZSBkb3N5YXPEsSAlcyBva3VuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICJjcmMgaGF0YXPEsSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAiZXJpxZ9pbSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDgKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAicm9tZnMgb2t1bmFtYWTEsSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAia8O2ayBpZG9uZSBiaXIgZGl6aW4gZGXEn2lsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiaGF0YWzEsSBrw7ZrIGRpemluIG9mc2V0aSAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MgorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICJ2ZXJpIGJsb8SfdSDDp29rIGLDvHnDvGsiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImdlbmnFn2xldG1lIGhhdGFzxLE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICAlbHUgKCV6dSknZGEgZGVsaWtcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgYmxvayAlbHUsICVsdSBvbGFyYWsgZ2VuacWfbGV0aWxpeW9yICglbHUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJsb2NrICglbGQpIGJ5dGVzIgorbXNnc3RyICJibG9rc3V6ICglbGQpIGJheXQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJib3l1dHN1eiAoJWxkIHZzICVsZCkgYmF5dCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAieWF6bWEgYmHFn2FyxLFzxLF6OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIGJhxZ9hcsSxc8SxejogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24gYmHFn2FyxLFzxLF6OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJ1dGltZSBiYcWfYXLEsXPEsXo6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJkaXppbiBpbm9kZSB1IHPEsWbEsXIgb2ZzZXQgdmUgc8SxZsSxci1vbG1heWFuIGJveXV0IHNhaGliaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIgYmHFn2FyxLFzxLF6OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ3OAorbXNnaWQgImZpbGVuYW1lIGxlbmd0aCBpcyB6ZXJvIgorbXNnc3RyICJkb3N5YWFkxLEgYm95dXR1IHPEsWbEsXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODAKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICJoYXRhbMSxIGRvc3lhYWRpIHV6dW5sdcSfdSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgImhhdGFsxLEgaW5vZGUgb2ZzZXRpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTAxCittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemUiCittc2dzdHIgImRvc3lhIGlub2RlIHUgc8SxZsSxciBvZnNldCB2ZSBzxLFmxLFyLW9sbWF5YW4gYm95dXRhIHNhaGlwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgImRvc3lhIGlub2RlIHUgc8SxZsSxdCBib3l1dGEgdmUgc8SxZsSxci1vbG1heWFuIG9mc2V0ZSBzYWhpcCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJzZW1ib2xpayBiYcSfbGFudMSxIHPEsWbEsXIgb2ZzZXRlIHNhaGlwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJzZW1ib2xpayBsaW5rIHPEsWbEsXIgYm95dXRhIHNhaGlwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgInNlbWJvbGlrIGJhxJ9kYSBib3l1dCBoYXRhc8SxOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgInNlbWJvbGlrIGJhxJ8gYmHFn2FyxLFzxLF6OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIsO2emVsIGRvc3lhIHPEsWbEsXItb2xtYXlhbiBvZnNldCBpw6dlcml5b3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJmaWZvIHPEsWbEsXItb2xtYXlhbiBib3l1dCBpw6dlcml5b3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgInNva2V0IHPEsWbEsXItb2xtYXlhbiBib3l1dCBpw6dlcml5b3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgImJvZ3VzIG1vZHU6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgYmHFn2FyxLFzxLF6OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICJkaXppbiB2ZXJpc2kgYmHFn2xhbmfEsWPEsSAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIGJhxZ9sYW5nxLHDpyAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICJkaXppbiB2ZXJpc2kgc29udSAoJWx1KSAhPSBkb3N5YSB2ZXJpc2kgYmHFn2xhbmfEsWPEsSAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGRvc3lhIHZlcmlzaSBvZnNldGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2ODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjczNgorbXNnaWQgImludmFsaWQgYmxvY2tzaXplIGFyZ3VtZW50IgorbXNnc3RyICJnZWNlcnNpeiBibG9ja3NpemUgYXJnw7xtYW7EsSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6IFRBTUFNXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkJpciBNaW5peCBkb3N5YSBzaXN0ZW1pIHR1dGFybMSxbMSxxJ/EsW7EsSB0ZXN0IGV0LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgYsO8dMO8biBkb3N5YWFkbGFyxLFuxLEgbGlzdGVsZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgIG90b21hdGlrIG9uYXLEsW1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAtciwgLS1yZXBhaXIgICAgIGV0a2lsZcWfaW1zZWwgb25hcsSxbVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGRhaGEgYXlyxLFudMSxbMSxIG9sXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXMsIC0tc3VwZXIgICAgICBzw7xwZXItYmxvayBiaWxnaXNpbml6IMOnxLFrdMSxbGFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIgLW0sIC0tdW5jbGVhcmVkICBtb2QgdGVtaXpsZW5tZWRpIHV5YXLEsWxhcsSxbsSxIGV0a2lubGXFn3RpclxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTMKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBrb250cm9sZSB6b3JsYVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzIChlL2gpPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIlcyAoZS9oKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAieVxuIgorbXNnc3RyICJlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICJuXG4iCittc2dzdHIgImhcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyBiYcSfbMSxLlx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkdlcsOnZWt0ZW4gZGV2YW0gZXRtZWsgaXN0aXlvciBtdXN1bnV6PyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgImRlbmV0aW0gZHVyZHUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJgJXMnIGRvc3lhc8SxbmRha2kgYsO2bGdlIE5vIDwgxLBMS0LDlkxHRS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJgJXMnIGRvc3lhc8SxbmRha2kgYsO2bGdlIE5vID49IELDlkxHRSBzYXnEsXPEsS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgImJsb2sga2FsZMSxcsSxbHPEsW4gbcSxPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJPa3VtYSBoYXRhc8SxOiAnJXMnIGRvc3lhc8SxbmRha2kgYmxvxJ9hIGVyacWfaWxlbWl5b3JcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiT2t1bWEgaGF0YXPEsTogJyVzJyBkb3N5YXPEsW5kYWtpIGJpciBibG9rIGJvenVrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkJvenVrIGJsb8SfYSB5YXptYXlhIMOnYWzEscWfxLFsxLFya2VuIGnDpyBoYXRhIG9sdcWfdHU6XG4iCisiWWF6bWEgaXN0ZcSfaSB5b2tzYXnEsWxkxLFcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mzg3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIndyaXRlX2Jsb2NrIGnFn2xlbWluZGUgZXJpxZ9pbSBzYcSfbGFuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAiWWF6bWEgaGF0YXPEsTogJyVzJyBkb3N5YXPEsW5kYWtpIGJpciBibG9rIGJvenVrXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgIlV5YXLEsTogZMO8xJ/DvG0gc2F5xLFzxLEgw6dvayBiw7x5w7xrLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAic3VwZXItYmxvayB5YXptYSBpxZ9sZW1pbmRlIGVyacWfaW0gc2HEn2xhbmFtYWTEsSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlci1ibG9rYSB5YXrEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgImTDvMSfw7xtIGXFn2xlbWkgeWF6xLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICJiw7ZsZ2UgdGFibG9zdSB5YXrEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MzIKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICJEw7zEn8O8bWxlciB5YXrEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICJzdXBlcmJsb2NrIGnDp2luIHRhbXBvbiBiZWxsZWsgdGFoc2lzIGVkaWxlbWVkaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY3Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgInN1cGVyIGJsb2sgb2t1bmFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyLWJsb2t0YWtpIGJldGltbGV5aWNpIG51bWFyYSBoYXRhbMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIlNhZGVjZSAxayBibG9rL2LDtmxnZSBkZXN0ZcSfaSB2YXIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyLWJsb2NrJ3RhIGhhdGFsxLEgc19uaW5vZGVzIGFsYW7EsSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInN1cGVyLWJsb2t0YWtpIHNfaW1hcF9ibG9ja3MgYWxhbsSxIGJvenVrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlci1ibG9jayd0YSBoYXRhbMSxIHNfZmlyc3RkYXRhem9uZSBhbGFuxLEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICJzdXBlci1ibG9rdGFraSBzX3ptYXBfYmxvY2tzIGFsYW7EsSBib3p1ayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJkw7zEn8O8bSBlxZ9sZW1pIGnDp2luIHRhbXBvbiBiZWxsZWsgYXlyxLFsYW3EsXlvciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgImLDtmxnZSBoYXJpdGFzxLEgacOnaW4gdGFtcG9uIHRhaHNpcyBlZGlsZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyMgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlcyIKK21zZ3N0ciAiRMO8xJ/DvG1sZXIgacOnaW4gdGFtcG9uIGJlbGxlayBheXLEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiRMO8xJ/DvG0gc2F5xLFzxLEga2FkYXIgdGFtcG9uIGJlbGxlayBheXLEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjgKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICJiw7ZsZ2Ugc2F5xLFzxLEga2FkYXIgdGFtcG9uIGJlbGxlayBheXLEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIkTDvMSfw7xtIGXFn2xlbWkgb2t1bmFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICJiw7ZsZ2UgdGFibG9zdSBva3VuYW3EsXlvciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICJEw7zEn8O8bWxlciBva3VuYW3EsXlvciIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJVeWFyxLE6IMSwbGtCw7ZsZ2UgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGTDvMSfw7xtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgYmxvY2tzXG4iCittc2dzdHIgIiVsZCBibG9rXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAixLBsa3Zlcmliw7ZsZ2VzaT0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIkLDtmxnZVV6dW5sdcSfdSA9ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJNYXhzaXplPSV6dVxuIgorbXNnc3RyICJFbmZhemxhdXp1bmx1ayA9ICV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJEb3N5YVNpc3RlbWkgZHVydW11ID0gJWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiaXNpbXV6dW5sdcSfdT0lemRcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjcwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlZCBtYXJrZWQgdW51c2VkLCBidXQgdXNlZCBmb3IgZmlsZSAnJXMnXG4iCittc2dzdHIgIiVkLiBkw7zEn8O8bSBzZXJiZXN0IG9sYXJhayBpbWxpIGFtYSAnJXMnIGRvc3lhc8SxIGnDp2luIGt1bGxhbsSxbG3EscWfXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAiS3VsbGFuxLFtZGEgb2xhcmFrIGltbGVuc2luIG1pPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiYCVzJyAlMDVvIGtpcGUgc2FoaXBcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICJVeWFyxLE6IGTDvMSfw7xtIHNhecSxc8SxIMOnb2sgYsO8ecO8ay5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImvDtmsgZMO8xJ/DvG3DvCBiaXIgZGl6aW4gZGXEn2lsIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrIGhhcyBiZWVuIHVzZWQgYmVmb3JlLiBOb3cgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiQmxvayBgJXMnIGRvc3lhc8SxIGnDp2luIGt1bGxhbsSxbMSxeW9yLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxNAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiVGVtaXpsZW5zaW4gbWk/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgImAlMiRzJyBkb3N5YXPEsW7EsW4gJTEkZC4gYmxvxJ91IGt1bGxhbsSxbWRhIGRlxJ9pbCBvbGFyYWsgaW1saS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICJEb8SfcnUgbXU/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIiclcycgZGl6aW5pICclLipzJyBkb3N5YXPEsSBpw6dpbiBiaXIgaGF0YWzEsSBkw7zEn8O8bSBudW1hcmFzxLEgacOnZXJpeW9yLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNDEKK21zZ2lkICIgUmVtb3ZlIgorbXNnc3RyICIgU2lsaW5zaW4gbWk/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiVzOiBkaXppbiBoYXRhbMSxOiAnLicgaWxrIGRlxJ9pbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IGRpemluIGhhdGFsxLE6ICcuLicgaWtpbmNpIGRlxJ9pbFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAiacOnIGhhdGEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczogZGl6aW4gaGF0YWzEsTogdXp1bmx1ayA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlczogaGF0YWzEsSBkaXppbjogZ2XDp2Vyc2l6IGlfem9uZSwgb25hcm1hayBpw6dpbiAtLXJlcGFpciBrdWxsYW7EsW5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJiYWRfem9uZSdkYSBlcmnFn2ltIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiSW5vZGUgJWx1IG1vZHUgdGVtaXpsZW5tZWRpLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSBrdWxsYW7EsWxtYWTEsSwgYml0IGXFn2xlbWRlIGt1bGxhbsSxbGTEsSBvbGFyYWsgacWfYXJldGxlbmRpLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSB1c2VkLCBtYXJrZWQgdW51c2VkIGluIHRoZSBiaXRtYXAuIgorbXNnc3RyICJJbm9kZSAlbHUga3VsbGFuxLFsZMSxLCBiaXQgZcWfbGVtZGUga3VsbGFuxLFsbWFkxLEgb2xhcmFrIGnFn2FyZXRsZW5kaS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAiQXlhcmxhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IChtb2RlID0gJTA3byksIGlfbmxpbmtzPSVkLCBjb3VudGVkPSVkLiIKK21zZ3N0ciAiSW5vZGUgJWx1IChtb2QgPSAlMDdvKSwgaV9ubGlua3M9JWQsIHNhecSxbGFuPSVkKS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiaV9ubGlua3MgYnUgc2F5xLF5YSBheWFybGFuc8SxbiBtxLE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIkLDtmxnZSAlbHU6IGt1bGxhbsSxbMSxeW9yIG9sYXJhayBpxZ9hcmV0bGksIG9udSBrdWxsYW5hbiBoZXJoYW5naSBiaXIgZG9zeWEgeW9rLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICLEsG0ga2FsZMSxcsSxbHPEsW4gbcSxPyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiQmlsZ2UgJWx1OiBrdWxsYW7EsWzEsXlvciwgc2F5xLFsYW49JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIkLDtmxnZSAlbHU6IGt1bGxhbsSxbG3EsXlvciwgc2F5xLFsYW49JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSBoYXRhbMSxIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzAxCittc2dpZCAiYmFkIHYyIGlub2RlIHNpemUiCittc2dzdHIgInYyIGTDvMSfw7xtIHNhecSxc8SxIGhhdGFsxLEiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNDYKK21zZ2lkICJuZWVkIHRlcm1pbmFsIGZvciBpbnRlcmFjdGl2ZSByZXBhaXJzIgorbXNnc3RyICJldGtpbGXFn2ltbGkgb25hcsSxbSBpw6dpbiB0ZXJtaW5hbCBnZXJla2xpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiJXMgYcOnxLFsYW1hZMSxOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIHRlbWl6LCBkZW5ldGltIGdlcmVrc2l6LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiJXMgacOnaW4gZG9zeWEgc2lzdGVtaSBkZW5ldGltaSDFn2FydC5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiJXMgw7x6ZXJpbmRla2kgZG9zeWEgc2lzdGVtaSBkw7x6ZW5zaXosIGRlbmV0bGVubWVzaSBnZXJla2l5b3IuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCBkw7zEn8O8bSBrdWxsYW7EsW1kYSAoJWxkJSUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiJTZsZCBiw7ZsZ2Uga3VsbGFuxLFtZGEgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIG5vcm1hbCBkb3N5YVxuIgorIiU2ZCBkaXppblxuIgorIiU2ZCBrYXJha3RlciBheWfEsXTEsSBkb3N5YXPEsVxuIgorIiU2ZCBibG9rIGF5Z8SxdMSxIGRvc3lhc8SxXG4iCisiJTZkIGJhxJ9cbiIKKyIlNmQgc2VtYm9saWsgYmHEn1xuIgorIi0tLS0tLVxuIgorIiU2ZCBkb3N5YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRE9TWUEgU8SwU1RFTcSwIERFxJ7EsMWeVMSwUsSwTETEsFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICJ5YXptYSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogYmlyIElTTyBkb3N5YSBzaXN0ZW1pIG9sbWF5YWJpbGlyIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTEgZGlzay11dGlscy9pc29zaXplLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWQgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzJ2RlIG9rdW1hIGhhdGFzxLEiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAic2VrdMO2ciBzYXnEsXPEsTogJWQsIHNla3TDtnIgdXp1bmx1xJ91OiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxpc285NjYwX2ltYWdlX2ZpbGU+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJCaXIgSVNPLTk2NjAgZG9zeWEgc2lzdGVtaW5pbiB1enVubHXEn3VudSBnw7ZzdGVyLlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTUKK21zZ2lkICIgLWQsIC0tZGl2aXNvcj08bnVtYmVyPiAgZGl2aWRlIHRoZSBhbW91bnQgb2YgYnl0ZXMgYnkgPG51bWJlcj5cbiIKK21zZ3N0ciAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGJheXQgbWlrdGFyxLFuxLEgPG51bWJlcj4gaWxlIGLDtmxcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBzZWN0b3Igc2F5xLFzxLFuxLEgdmUgYm95dXR1bnUgZ8O2c3RlclxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgImdlw6dlcnNpeiBiw7ZsZW4gYXJnw7xtYW7EsSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtOiAlcyBbc2XDp2VuZWtsZXJdIGF5Z8SxdCBbYmxvay1zYXnEsXPEsV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc4Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkJpciBTQ08gYmZzIGRvc3lhIHNpc3RlbWkgeWFwLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlw6dlbmVrbGVyOlxuIgorIiAtTiwgLS1pbm9kZXM9U0FZSSAgICBpc3RlbmlsZW4gaW5vZGUgc2F5xLFzxLFuxLEgYmVsaXJ0XG4iCisiIC1WLCAtLXZuYW1lPcSwU8SwTSAgICBiaXJpbSBpc21pbmkgYmVsaXJ0XG4iCisiIC1GLCAtLWZuYW1lPcSwU8SwTSAgICBkb3N5YSBzaXN0ZW1pIGlzbWluaSBiZWxpcnRcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBuZSB5YXDEsWxkxLHEn8SxbsSxIGHDp8Sxa2xhXG4iCisiIC1jICAgICAgICAgICAgICAgICAgYnUgc2XDp2VuZWsgc2Vzc2l6Y2UgeW9rc2F5xLFsZMSxXG4iCisiIC1sICAgICAgICAgICAgICAgICAgYnUgc2XDp2VuZWsgc2Vzc2l6Y2UgeW9rc2F5xLFsZMSxXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgc8O8csO8bSBiaWxnaXNpbmkgw6fEsWt0xLFsYSB2ZSDDp8Sxa1xuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIHRlayBwYXJhbWV0cmUgb2xtYWzEsSBvIHnDvHpkZW5cbiIKKyIgLWgsIC0taGVscCAgICAgICAgICBidSB5YXJkxLFtIGnDp2VyacSfaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE0NQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGlub2RlIHNhecSxc8SxIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgImLDtmzDvG0gaXNtaSDDp29rIHV6dW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiZG9zeWEgc2lzdGVtaSBpc21pIMOnb2sgdXp1biIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5NgorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgImdlw6dlcnNpeiBibG9rLXNhecSxc8SxIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAiJXMgdXp1bmx1xJ91IGFsxLFuYW3EsXlvciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiYmxvayBhcmfDvG1hbmxhcsSxIMOnb2sgZmF6bGEsIGVuIGLDvHnDvGsgZGXEn2VyICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJkw7zEn8O8bSBzYXnEsXPEsSDDp29rIGZhemxhIC0gZW4gw6dvayA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAieWV0ZXJsaSBhbGFuIHlvaywgZW4gYXogJWxsdSBibG9rIGdlcmVraXlvciIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIkF5Z8SxdDogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJCw7Zsw7xtOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJEU2lzbWk6PCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICJCbG9rVXp1bmw6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2RlJ2xhcjogJWxkICgxIGJsb2sgacOnaW5kZSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gJWxsdSBibG9ja3MpXG4iCittc2dzdHIgIklub2RlJ2xhcjogJWxkICglbGx1IGJsb2sgacOnaW5kZSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja3M6ICVsbHVcbiIKK21zZ3N0ciAiQmxva2xhcjogJWxsdVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICJTb24gZMO8xJ/DvG06ICVkLCBWZXJpIHNvbnU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgInPDvHBlcmJsb2sgeWF6xLFsxLFya2VuIGhhdGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgImvDtmsgZMO8xJ/DvG3DvCB5YXrEsWzEsXJrZW4gaGF0YSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4OAorbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgImTDvMSfw7xtIHlhesSxbMSxcmtlbiBoYXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAiZXJpxZ9pbSBoYXRhc8SxIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk3Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICIgLiBnaXJkaXNpIHlhesSxbMSxcmtlbiBoYXRhIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiIC4uIGdpcmRpc2kgeWF6xLFsxLFya2VuIGhhdGEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2xvc2luZyAlcyIKK21zZ3N0ciAiJXMga2FwYXTEsWzEsXJrZW4gaGF0YSIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gWy10IDx0eXBlPl0gW2ZzLXNlw6dlbmVrbGVyaV0gPGRldmljZT4gWzxzaXplPl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQmlyIExpbnV4IGRvc3lhIHNpc3RlbWkgeWFwLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTx0eXBlPiAgZG9zeWEgc2lzdGVtaSB0aXBpOyBiZWxpcnRpbG1lZGnEn2luZGUgZXh0MiBrdWxsYW7EsWzEsXJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiICAgICBmcy1vcHRpb25zICAgICBnZXLDp2VrIGRvc3lhIHNpc3RlbWkgb2x1xZ90dWN1IGnDp2luIHBhcmFtZXRyZWxlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiAgICAgPGRldmljZT4gICAgICAga3VsbGFuxLFsYWNhayBheWfEsXTEsW4geW9sdVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiAgICAgPHNpemU+ICAgICAgICAgYXlnxLF0dGEga3VsbGFuxLFsYWNhayBibG9jayBzYXnEsXPEsVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBuZSB5YXDEsWxkxLHEn8SxbsSxIGHDp8Sxa2xhO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBiaXJkZW4gZmF6bGEgLVYgYmVsaXJ0aWxpcnNlIHV5Z3VsYW1hIGdlcsOnZWt0ZW4gw6dhbMSxxZ9tYXlhY2FrXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBpbmNsdWRlL2MuaDoyMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQzNQorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MSBsb2dpbi11dGlscy9zdWxvZ2luLmM6Nzk1IHN5cy11dGlscy9mbG9jay5jOjEyMQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTUgdGVybS11dGlscy9zY3JpcHQuYzo2MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIsOnYWzEscWfdMSxcsSxbGFtYWTEsSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXNcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisia3VsbGFuxLFtOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBkw7x6ZW5sZW1lXSBbLU4gZW5kaWFuXSBbLWkgZG9zeWFdIFstbiBpc2ltXSBkaXppbmFkxLEgw6fEsWt0xLFkb3N5YXPEsVxuIgorIiAtaCAgICAgICAgIGJ1IHlhcmTEsW0gbWV0bmluaSB5YXpcbiIKKyIgLXYgICAgICAgICBheXLEsW50xLFsxLEgbW9kXG4iCisiIC1FICAgICAgICAgYsO8dMO8biB1eWFyxLFsYXLEsSBoYXRhIG9sYXJrIGfDtnN0ZXIgKHPEsWbEsXIgb2xtYXlhbiDDp8Sxa8SxxZ8gZHVydW11KVxuIgorIiAtYiBibGtzaXplIGJ1IGJsb2tib3l1dHVudSBrdWxsYW4sIHNheWZhIHNhecSxc8SxbmEgZcWfaXQgb2xtYWzEsVxuIgorIiAtZSBkw7x6ZW5sZW1lIGTDvHplbmxlbWUgbnVtYXJhc8SxbsSxIGF5YXJsYSAoZnNpZCduaW4gcGFyw6dhc8SxKVxuIgorIiAtTiBlbmRpYW4gIGNyYW1mcyBlbmRpYW5sxLHEn8SxbsSxIGF5YXJsYSAoYsO8ecO8a3xrw7zDp8O8a3xpc3RlbWNpKSwgdmFyc2F5xLFsYW4gaXN0ZW1jaVxuIgorIiAtaSBkb3N5YSAgICBkb3N5YSBzaXN0ZW1pbmUgYmlyIGRvc3lhIGthbMSxYsSxIGVrbGUgKGdlcmVrZW4gPj0gMi40LjApXG4iCisiIC1uIGlzaW0gICAgY3JhbWZzIGRvc3lhIHNpc3RlbWluaW4gYWTEsW7EsSBheWFybGFcbiIKKyIgLXAgICAgICAgICDDtm4gecO8a2xlbWUga29kdSAgacOnaW4gJWQgYmF5dCBib8WfbHVrIGLEsXJha1xuIgorIiAtcyAgICAgICAgIGRpemluIG9nZWxlcmluaSBzxLFyYWxhIChlc2tpIHNlw6dlbmVrLCB5b2tzYXnEsWxkxLEpXG4iCisiIC16ICAgICAgICAgaGFyaWNpIGRlbGlrbGVyIG9sdcWfdHVyIChnZXJla2VuID49IDIuMy4zOSlcbiIKKyIgZGl6aW5hZMSxICAgIHPEsWvEscWfdMSxcsSxbGFjYWsgZG9zeWEgc2lzdGVtaW5pbiBrw7Zrw7xcbiIKKyIgw6fEsWt0xLFkb3N5YXPEsSAgICDDp8Sxa3TEsSBkb3N5YXPEsVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgIm9rdW1hYmHEn2xhbnTEsXPEsSBiYcWfYXLEsXPEsXo6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiZGl6aW4gJXMgb2t1bmFtYWTEsSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICJkb3N5YSBzaXN0ZW1pIMOnb2sgYsO8ecO8ay4gIMOHxLFrbMSxeW9yLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIk9MQU1BWjogYmxvayBcInPEsWvEscWfdMSxcm1hc8SxXCIgPiAyKmJsb2t1enVubHXEn3UgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBiYXl0KVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAiJyVzJyBkb3N5YXPEsSBrYXBhdMSxbGFtxLF5b3IiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogZMO8emVubGVtZSBudW1hcmFzxLEgYXJnw7xtYW7EsSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1MgorbXNnaWQgImludmFsaWQgZW5kaWFubmVzcyBnaXZlbjsgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGVuZGlhbiBwYXJhbWV0cmVzaTsgJ2LDvHnDvGsnLCAna8O8w6fDvGsnIHlhIGRhICdpc3RlbWNpJyBvbG1hbMSxIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAidXlhcsSxOiBnZXJla2VuIHRhaG1pbmkgYm95dXQgKMO8c3Qgc8SxbsSxcikgJWxsZE1CLCBhbWEgZW4gYsO8ecO8ayBrYWzEsXAgYm95dXR1ICV1TUIuICBaYW1hbsSxbmRhbiDDtm5jZSDDp8Sxa2FiaWxpcml6LiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIlJPTSBrYWzEsXAgaGFyaXRhc8SxIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAixLDDp2VyacSfaTogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIkRpemluIHZlcmlzaTogJXpkIGJheXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIkhlcsWfZXk6ICV6ZCBraWxvYmF5dFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAiU8O8cGVyIGJsb2s6ICV6ZCBiYXl0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAiUk9NIGthbMSxYsSxIGnDp2luIGF5csSxbGFuIGFsYW4geWV0ZXJzaXogKCVsbGQgYXlyxLFsZMSxLCAlenUga3VsbGFuxLFsZMSxKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiUk9NIGthbMSxYsSxbmEgeWF6xLFsYW1hZMSxICglemQgJXpkKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiUk9NIGthbMSxYsSxIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJ1eWFyxLE6IGRvc3lhIGlzaW1sZXJpICV1IGJheXRhIGtlc2lsZGkuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICJ1eWFyxLE6IGRvc3lhbGFyIGhhdGFsYXIgc2ViZWJpIGlsZSBhdGxhbmTEsS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJ1eWFyxLE6IGRvc3lhIGJveXV0bGFyxLEgJWx1TUInYSBkw7zFn8O8csO8bGTDvCAoZWtzaSAxIGJheXQpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJ1eWFyxLE6IHVpZCdsZXIgJXUgYml0ZSBkw7zFn8O8csO8bGTDvC4gIChCdSBiaXIgZ8O8dmVubGlrIGtheWfEsXPEsSBvbGFiaWxpci4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgInV5YXLEsTogZ2lkJ2xlciAldSBiaXRlIGTDvMWfw7xyw7xsZMO8LiAoQnUgYmlyIGfDvHZlbmxpayBrYXlnxLFzxLEgb2xhYmlsaXIuKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiVVlBUkk6IGF5Z8SxdCBudW1hcmFsYXLEsSAldSBiaXRsZSBzxLFuxLFybGFuZMSxLiAgQnUgacWfbGVtIGJhesSxIGF5Z8SxdCBkb3N5YWxhcsSxbsSxbiBpc2ltbGVyaW5pblxuIgorIiB5YW5sxLHFnyBvbG1hc8SxbmEgc2ViZXAgb2xhY2FrLiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIC9kZXYvaXNpbSBbYmxva2xhcl1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC0xICAgICAgICAgICAgICAgICAgICAgIE1pbml4IDEgc8O8csO8bcO8bsO8IGt1bGxhblxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAgTWluaXggMiBzw7xyw7xtw7xuw7wga3VsbGFuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICBNaW5peCAzIHPDvHLDvG3DvG7DvCBrdWxsYW5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgZG9zeWEgaXNpbWxlcmluaW4gYWxhYmlsZWNlxJ9pIGVuIHV6dW4gZGXEn2VyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDxudW0+ICAgICAgZG9zeWEgc2lzdGVtaSBpw6dpbiBpbm9kZSBzYXnEsXPEsVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgYXlnxLF0xLEgaGF0YWzEsSBibG9rbGFyIGnDp2luIGtvbnRyb2wgZXRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGRvc3lhZGFuIGhhdGFsxLEgYmxva2xhcsSxbiBsaXN0ZXNpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogw7ZuIHnDvGtsZW1lIGJsb8SfdSBhcmFtYXPEsSBiYcWfYXLEsXPEsXogIHdyaXRlX3RhYmxlcyBpw6dpbmRlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXM6IMO2biB5w7xrbGVtZSBzZWt0w7Zyw7wgdGVtaXpsZW5lbWVkaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiB3cml0ZV90YWJsZXMgacOnaW5kZSBhcmFtYSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICIlczogc8O8cGVyLWJsb2sgeWF6xLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiBpbm9kZSBoYXJpdGFzxLEgeWF6xLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXM6IGLDtmxnZSBoYXJpdGFzxLFuYSB5YXrEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6IGlub2RlJ2xhciB5YXrEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiVzOiB3cml0ZV9ibG9jaydsYXJkYSBhcmFtYSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlczogd3JpdGVfYmxvY2sgacOnaW5kZSB5YXptYSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IMOnb2sgZmF6bGEgaGF0YWzEsSBibG9rIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzOiB5ZXRlcnNpeiBzYXnEsWRhIGTDvHpnw7xuIGJsb2siCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyLEsGxrIHZlcmkgYmxvxJ91ICVqZCdkZS4gQnUgw6dvayB1emFrIChFbiBmYXpsYSAlZCkuXG4iCisiLS1pbm9kZXMgPG51bT4gcGFyYW1ldHJlc2kgaWxlIGRhaGEgYXogc2F5xLFkYSBpbm9kZSBiZWxpcnRpbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpbm9kZVxuIgorbXNnc3RyWzFdICIlbHUgaW5vZGVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVsdSBibG9rXG4iCittc2dzdHJbMV0gIiVsdSBibG9rXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiQsO2bGdlYm95dXR1PSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyJFbmLDvHnDvGt1enVubHVrPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGJsb2sgdGVzdGxlcmkgc8SxcmFzxLFuZGEgYXJhbWEgYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgImRvX2NoZWNrIHlhcMSxbMSxcmtlbiB0dWhhZiBkZcSfZXJsZXI6IHlhesSxbMSxbSBoYXRhc8SxIG9sYWJpbGlyXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICIlczogY2hlY2tfYmxva3MgacOnaW5kZSBhcmFtYSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IHZlcmktYWxhbsSxIMO2bmNlc2kgaGF0YWzEsSBibG9rOiBkb3N5YSBzaXN0ZW1pIHlhcMSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCBoYXRhbMSxIGJsb2tcbiIKK21zZ3N0clsxXSAiJWQgaGF0YWzEsSBibG9rXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiBoYXRhbMSxIGJsb2sgZG9zeWFzxLEgYcOnxLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAic2F0xLFyICVkJ2RhIGhhdGFsxLFibG9rIHNhecSxc8SxIGdpcmRpIGhhdGFzxLFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IGhhdGFsxLFibG9rIGRvc3lhc8SxIG9rdW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAiYmxvayBib3l1dHUgZml6aWtzZWwgc2VrdMO2ciBib3l1dHUgJXMnZGVuIGRhaGEga8O8w6fDvGsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIiVzJ2luIGJveXV0dSBoZXNhcGxhbmFtYWTEsSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiBpc3RlbmVuIGJsb2sgc2F5xLFzxLEgKCVsbHUpIG1ldmN1dCBibG9rIHNhecSxc8SxbsSxICglbGx1KSBhxZ90xLFcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IGJsb2sgc2F5xLFzxLEgw6dvayBrw7zDp8O8ayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI1IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgImRlc3Rla2xlbm1leWVuIGlzaW4gdXp1bmx1xJ91OiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBtaW5peCBkb3N5YSBzaXN0ZW1pIHPDvHLDvG3DvDogJWQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3MQorbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiLXYgYmVsaXJzaXosIG9udW4geWVyaW5lICctMicga3VsbGFuxLFuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICJlbiB1enVuIGRvc3lhIGlzbWkgdXp1bmx1xJ91IGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAiaW5vZGUgc2F5xLFzxLEgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICJibG9rIHNhecSxc8SxIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIGJhxJ9sxLE7IGJ1cmFkYSBiaXIgZG9zeWEgc2lzdGVtaSB5YXDEsWxtYXlhY2FrISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJIYXRhbMSxIGt1bGxhY8SxLXRhbsSxbWzEsSBzYXlmYSBzYXnEsXPEsSAldSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiU2lzdGVtIGRlxJ9lcmkgJWQgeWVyaW5lLCBrdWxsYW7EsWPEsSB0YXJhZsSxbmRhbiBiZWxpcnRpbGVuIHNheWZhIHNhecSxc8SxICVkIGt1bGxhbsSxbMSxeW9yLCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAiRXRpa2V0IGvEsXNhbHTEsWxkxLEuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICJiaXIgZXRpa2V0IHlvaywgIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIlVVSUQgeW9rXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorIlxuIgorIkt1bGxhbsSxbTpcbiIKKyIgJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXQgW2JveXV0XVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiQmlyIExpbnV4IHRha2FzIGFsYW7EsSBrdXIuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlw6dlbmVrbGVyOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIHRha2FzIGFsYW7EsW7EsSBvbHXFn3R1cm1hZGFuIMO2bmNlIGhhdGFsxLEgYmxva2xhcsSxIGtvbnRyb2wgZXRcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICB0YWthcyBhbGFuxLFuxLFuIGF5Z8SxdHRhbiBiw7x5w7xrIG9sbWFzxLFuYSBpemluIHZlclxuIgorIiAtcCwgLS1wYWdlc2l6ZSBCT1lVVCAgICAgICBzYXlmYSBzYXnEsXPEsW7EsSBiYXl0IG9sYXJhayBiZWxpcnRcbiIKKyIgLUwsIC0tbGFiZWwgRVTEsEtFVCAgICAgICAgIGV0aWtldGkgYmVsaXJ0XG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIFNBWUkgICAgIHRha2FzLWFsYW7EsSBzw7xyw7xtIG51bWFyYXPEsW7EsSBiZWxpcnRcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBrdWxsYW7EsWxhY2FrIHV1aWQneWkgYmVsaXJ0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgc8O8csO8bSBiaWxnaXNpbmkgw6fEsWt0xLFsYSB2ZSDDp8Sxa1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGJ1IHlhcmTEsW0gbWVzYWrEsW7EsSBnw7ZzdGVyIHZlIMOnxLFrXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGJhZCBwYWdlczogJWx1IgorbXNnc3RyICLDp29rIGZhemxhIGhhdGFsxLEgc2F5ZmE6ICVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgImNoZWNrX2Jsb2NrcyBpxZ9sZW1pbmRlIGVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgaGF0YWzEsSBzYXlmYVxuIgorbXNnc3RyWzFdICIlbHUgaGF0YWzEsSBzYXlmYVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgInllbmkgbGliYmxraWQgeW9rbGF5xLFjxLEgdGFoc2lzIGVkaWxlbWVkaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAiYXlnxLF0IGxpYmJsa2lkIHlva2xhecSxY8Sxc8SxbmEgYXRhbmFtYWTEsSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAidXlhcsSxOiB0YWthcyBkb3N5YXPEsW5kYW4gaGF0YWzEsSBibG9rbGFyxLFuIGtvbnRyb2wgZWRpbG1lc2kgZGVzdGVrbGVubWl5b3I6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgInRha2FzIGFsYW7EsW5kYSBiYcWfYSBnaWRpbGVtaXlvciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiw7ZuecO8a2xlbWUgYml0IHNla3TDtnJsZXJpIHNpbGluZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiB3aXBpbmcgb2xkICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiB1eWFyxLE6IGVza2kgaW16YSAlcyB0ZW1pemxlbml5b3IuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogZG9uJ3QgZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiJXM6IHV5YXLEsTogw7ZuecO8a2xlbWUgYml0IHNla3TDtnJsZXJpbmkgc2lsbWUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMgZGlzayBiw7Zsw7xtw7wgdGFibG9zdSBhbGfEsWxhbmTEsSkuICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAobGliYmxraWQgb2xtYWRhbiBsaW5rbGVuZGkpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiWm9ybGFtYWsgacOnaW4gLWYga3VsbGFuLlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlczogaW16YSBzYXlmYXPEsSB5YXrEsWxhbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAic2F5ZmEgc2F5xLFzxLEgYXlyxLHFn3TEsXJtYXPEsSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgInPDvHLDvG0gbnVtYXJhc8SxIGF5csSxxZ90xLFybWFzxLEgYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJ0YWthc2FsYW7EsSBzw7xyw7xtw7wgJWQgZGVzdGVrbGVubWl5b3IiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICJ1eWFyxLE6IC1VIHlva3NhecSxbMSxeW9yIChVVUlEbGVyICVzIHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1peW9yKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTYKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAibWV2Y3V0IG9sYXJhayBzYWRlY2UgYmlyIGF5Z8SxdCBhcmfDvG1hbsSxIGRlc3Rla2xlbml5b3IiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgImhhdGE6IFVVSUQgYXlyxLHFn3TEsXLEsWxtYXPEsSBiYcWfYXLEsXPEsXoiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDMyCittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICJoYXRhOiBUYWthcyBhbGFuxLEgbmVyZXllIGt1cnVsYWNhaz8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGJsb2sgc2F5xLFzxLEgYXJnw7xtYW7EsSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAiaGF0YTogYm95dXQgJWxsdSBLaUIgYXlnxLF0IGJveXV0dSAlPFBSSXU2ND4gS2lCJ2RlbiBkYWhhIGZhemxhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgImhhdGE6IHRha2FzIGFsYW7EsSBlbiBheiAlbGQgS2lCIG9sbWFsxLFkxLFyIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAidXlhcsSxOiB0YWthcyBhbGFuxLEgJWxsdSBLaUInYSBrw7zDp8O8bHTDvGzDvHlvciIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2Ugc3dhcHNwYWNlIgorbXNnc3RyICJoYXRhOiAlcyBiYcSfbMSxOyB0YWthcyBhbGFuxLEgb2x1xZ90dXJ1bG1heWFjYWsiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGfDvHZlbnNpeiBpemluICUwNG8sIHRhdnNpeWUgZWRpbGVuICUwNG8uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogZ8O8dmVuc2l6IGRvc3lhIHNhaGliaSAlZCwgdGF2c2l5ZSBlZGlsZW4gMCAocm9vdCkuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4OQorbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiVGFrYXMgYWxhbsSxIG9sdcWfdHVydWxhbcSxeW9yOiBva3VuYWJpbGlyIGRlxJ9pbCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgInN3YXBzcGFjZSBzw7xyw7xtICVkIGt1cnVsdXlvciwgYm95dXQgPSAlcyAoJTxQUkl1NjQ+IGJheXQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IHNlbGludXggZG9zeWEgZXRpa2V0aSBhbMSxbmFtYWTEsSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIm1hdGNocGF0aGNvbigpIGJhxZ9hcsSxc8SxeiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgInllbmkgc2VsaW51eCBpw6dlcmnEn2kgb2x1xZ90dXJ1bGFtYWTEsSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAic2VsaW51eCBpw6dlcmnEn2kgaGVzYXBsYW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICIlcywgJXMgb2xhcmFrIHllbmlkZW4gYWRsYW5kxLFyxLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7xuw7xuIHNla3TDtnJsZXJkZWtpIGJhxZ9sYW5nxLFjxLEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OAorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgImRpc2sgYsO2bMO8bcO8bsO8biBzZWt0w7ZybGVyZGVraSBiaXRpxZ9pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODkKK21zZ2lkICJudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAic2VrdMO2ciBzYXnEsXPEsSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAib2t1bmFiaWxpciBib3l1dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IGFkxLEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJkaXNrIGLDtmzDvG3DvCBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgImRpc2sgYsO2bMO8bcO8IHRhYmxvIHRpcGkgKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgYmF5cmFrbGFyxLEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICJkaXNrIGLDtmzDvG3DvCB0aXBpIChhIGthcmFrdGVyIGRpemlzaSwgYSBVVUlEIHlhIGRhIGhleCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICJsb29wY3h0IGJhxZ9sYXTEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGt1bGxhbsSxbG1heWFuIGTDtm5nw7wgYXlnxLF0xLEgYnVsdW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiJyVzJyBkw7ZuZ8O8IGF5Z8SxdMSxIG9sYXJhayBrdWxsYW7EsWxtYXlhIMOnYWzEscWfxLFsxLF5b3JcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVzOiB5ZWRlayBkb3N5YXPEsSBheWFybGFuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogZMO2bmfDvCBheWfEsXTEsSBheWFybGFuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICJiaWxpbm1leWVuIHPDvHR1bjogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8IG51bWFyYXPEsSBhbMSxbmFtYWTEsSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAiYmVsaXJ0aWxlbiBhcmFsxLFrIDwlZDolZD4gYW5sYW1sxLEgZGXEn2lsIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICJhcmFsxLFrIHllbmlkZW4gc2F5xLFtxLE6IGVuIGZhemxhIHBhcsOnYSBubz0lZCwgZMO8xZ/DvGs9JWQsIHnDvGtzZWs9JWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtw7wgJWQgc2lsaW5pcmtlbiBoYXRhIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtbGVyaSAlZC0lZCBzaWxpbmlya2VuIGhhdGEiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtw7wgIyVkIGthbGTEsXLEsWxkxLFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG3DvCAjJWQgYnVsdW5hbWFkxLFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG3DvCAjJWQgc2lsaW5lbWVkaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICVkIGVrbGVuZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtbGVyaSAlZC0lZCBla2xlbmVtZWRpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICMlZCBla2xlbmRpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICMlZCBla2xlbmVtZWRpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG3DvCAlZCBnw7xuY2VsbGVuZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG1sZXJpICVkLSVkIGfDvG5jZWxsZW5lbWVkaSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICMlZCB5b2siCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVzaXplZFxuIgorbXNnc3RyICIlczogcGFydGl0aW9uICMlZCB5ZW5pZGVuIGJveXV0bGFuZMSxcsSxbGTEsVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICMlZCBnw7xuY2VsbGVuZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWt0w7ZyLCAlNmp1IE1CKVxuIgorbXNnc3RyWzFdICIjJTJkOiAlOWp1LSU5anUgKCU5anUgc2VrdMO2ciwgJTZqdSBNQilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICLDp8Sxa3TEsSBoYXR0xLEgdGFoc2lsIGVkbGVtZWRpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiJyVzJyBpw6dpbiBibGtpZCBmaWx0cmVzaSBiYcWfbGF0xLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3Ugb2t1bmFtYWTEsSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtbGVtZSB0YWJsbyB0aXBpICclcycgYWxnxLFsYW5kxLFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8IGnDp2VybWV5ZW4gZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPHBhcnRpdGlvbj5dIDxkaXNrPlxuIgorbXNnc3RyICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICLDh2VraXJkZcSfZSBkaXNrIGLDtmzDvG1sZXJpbmluIHZhcmzEscSfxLFuZGFuIHZlIG51bWFyYWxhbmTEsXLEsWxtYXPEsW5kYW4gYmFoc2V0LlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAgYmVsaXJ0aWxlbiB5YSBkYSBiw7x0w7xuIGRpc2sgYsO2bMO8bWxlcmluaSBla2xlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjEKK21zZ2lkICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtZCwgLS1kZWxldGUgICAgICAgICBiZWxpcnRpbGVuIHlhIGRhIGLDvHTDvG4gZGlzayBiw7Zsw7xtbGVyaW5pIHNpbFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAgYmVsaXJsaSBkaXNrIGLDtmzDvG1sZXJpbmkgeWEgZGEgaGVwc2luaSBnw7xuY2VsbGVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MworbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgZGlzayBiw7Zsw7xtbGVyaW5pIGxpc3RlbGVcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MCBzeXMtdXRpbHMvbHNtZW0uYzo1MDUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgIEJPWVVUdSBva3VuYWJpbGlyIGZvcm1hdCB5ZXJpbmUgYmF5dCBvbGFyYWsgZ8O2c3RlclxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIC0tc2hvdyBpw6dpbiBiYcWfbMSxa2xhcsSxIHlhemTEsXJtYVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiAtbiwgLS1uciA8bjptPiAgICAgICBkaXNrIGLDtmzDvG3DvCBhcmFsxLHEn8SxbsSxIGJlbGlydCAow7Zybi4gLS1uciAyOjQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgaGFuZ2kgw6fEsWt0xLEgc8O8dHVubGFyxLFuxLFuIGt1bGxhbsSxbGFjYcSfxLFuxLEgYmVsaXJ0XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIGFuYWh0YXI9XCJkZcSfZXJcIiDDp8Sxa3TEsSBmb3JtYXTEsW7EsSBrdWxsYW5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICBoYW0gw6fEsWt0xLEgZm9ybWF0xLFuxLEga3VsbGFuXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3Rvci1zaXplIDxudW0+ICBvdmVyd3JpdGUgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIGZpemlrc2VsIHZlIG1hbnTEsWtzYWwgc2VrdMO2ciBib3l1dHVcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIGRpc2sgYsO2bMO8bcO8IHRpcGluaSBiZWxpcnQgKGRvcywgYnNkLCBzb2xhcmlzLCB2cy4pXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3QtdHlwZXMgICAgIGxpc3Qgc3VwcG9ydGVkIHBhcnRpdGlvbiB0eXBlcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgICAgLVQgIC0tbGlzdC10eXBlcyAgICBiaWxpbmVuIGRpc2sgYsO2bMO8bcO8IHTDvHJsZXJpbmkgbGlzdGVsZXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzMgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEwMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIGF5csSxbnTEsWzEsSBtb2RcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICItbnIgPE0tTj4gYXJhbMSxxJ/EsSBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgdmUgZGlzayBpc21pIGXFn2xlxZ9taXlvciIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk3MQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIgdmUgPHBhcnRpdGlvbj4ga2FyxZ/EsWzEsWtsxLEgZMSxxZ9sYXlhbmTEsXIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgImRpc2sgYsO2bMO8bcO8OiAlcywgZGlzazogJXMsIGFsdDogJWQsIMO8c3Q6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG1sZXJpIHNpbGluZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiBiw7Zsw7xtbGVubWnFnyBkw7ZuZ8O8IGF5Z8SxdGxhcsSxIGRlc3Rla2xlbm1peW9yIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczogYmxraWQgeW9rbGF5xLFjxLFzxLEgYmHFn2xhdMSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9yYXcuYzo1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTcKK21zZ2lkICJCaW5kIGEgcmF3IGNoYXJhY3RlciBkZXZpY2UgdG8gYSBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIkJpciBoYW0ga2FyYWt0ZXIgYXlnxLF0xLFuxLEgYmlyIGJsb2sgYXlnxLF0YSBiYcSfbGEuXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjAKK21zZ2lkICIgLXEsIC0tcXVlcnkgICAgc2V0IHF1ZXJ5IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXJ5ICAgIHNvcmd1bGFtYSBtb2R1bnUgYXlhcmxhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICBiw7x0w7xuIGhhbSBheWfEsXRsYXLEsSBzb3JndWxhXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIHRoZSBjb250cm9sIHJhdyBkZXZpY2UgKHVzZSByYXc8Tj4gd2hlcmUgPE4+IGlzIGdyZWF0ZXIgdGhhbiB6ZXJvKSIKK21zZ3N0ciAiQXlnxLF0ICclcycga29udHJvbCBoYW0gYXlnxLF0xLFkxLFyICg8Tj4gc8SxZsSxcmRhbiBiw7x5w7xrIG9sYWNhayDFn2VraWxkZSByYXc8Tj4ga3VsbGFuxLFuKSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiQmxvayBheWfEsXTEsSAnJXMnIGJlbGlybGVuZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiQXlnxLF0ICVzIGJpciBibG9rIGF5Z8SxdMSxIGRlxJ9pbCIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTYgZGlzay11dGlscy9yYXcuYzoxOTkgc3lzLXV0aWxzL2lwY3JtLmM6MzUyCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjYgc3lzLXV0aWxzL2lwY3JtLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IgorbXNnc3RyICJhcmfDvG1hbmxhciBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiQW5hIGhhbSBheWfEsXQgJyVzJyBhw6fEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJIYW0gYXlnxLF0ICclcycgYmVsaXJsZW5lbWVkaSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIkhhbSBheWfEsXQgJyVzJyBiaXIga2FyYWt0ZXIgYXlnxLF0xLEgZGXEn2lsIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICJBeWfEsXQgJyVzJyBiaXIgaGFtIGF5Z8SxdCBkZcSfaWwiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiSGFtIGF5Z8SxdCBzb3JndWxhbsSxcmtlbiBoYXRhIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiVzcmF3JWQ6ICDDvHN0ICVkLCBhbHQgJWQnYSBzxLFuxLFybGFuZMSxXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJIYW0gYXlnxLF0IGF5YXJsYW1hIGhhdGFzxLEiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPGxlbmd0aD5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLDh2VraXJkZcSfZSBiaXIgZGlzayBiw7Zsw7xtw7xuw7xuIHllbmkgYm95dXR1bmRhbiBiYWhzZWRpbi5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtw7wgbnVtYXJhc8SxICVzJ27EsW4gYmHFn2xhbmfEsWPEsSBhbMSxbmFtYWTEsSIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTExCittc2dpZCAiZmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24iCittc2dzdHIgImRpc2sgYsO2bMO8bcO8IHllbmlkZW4gYm95dXRsYW5kxLFyxLFsYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiacOnacOnZSBsaWJmZGlzayBpw6dlcmnEn2kgdGFoc2lzIGVkaWxlbWVkaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgIiVzIGFyYW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgIiVzIHlhesSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzIChvZnNldCAlNWp1LCBib3l1dCAlNWp1KTogJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIgorbXNnc3RyICIlczogYmlyIHllZGVrIG9sdcWfdHVydWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgImJpciB5ZWRlayBkb3N5YXPEsSBvbHXFn3R1cnVsYW1hZMSxLCAkSE9NRSB0YW7EsW1zxLF6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM1NQorbXNnaWQgIkJhY2t1cCBmaWxlczoiCittc2dzdHIgIlllZGVrIGRvc3lhbGFyxLE6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ5ZW5pIGRpc2sgYsO2bMO8bcO8IGF5Z8SxdHRhbiBva3VuYW1hZMSxOyAtLW1vdmUtZGF0YSB5b2tzYXnEsWzEsXlvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ5ZW5pIGRpc2sgYsO2bMO8bcO8bsO8biBib3l1dHUgYWzEsW5hbWFkxLE7IC0tbW92ZS1kYXRhIHlva3NhecSxbMSxeW9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJ5ZW5pIGRpc2sgYsO2bMO8bcO8bsO8biBiYcWfbGFuZ8SxY8SxIGFsxLFuYW1hZMSxOyAtLW1vdmUtZGF0YSB5b2tzYXnEsWzEsXlvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODYKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJlc2tpIGRpc2sgYsO2bMO8bcO8bsO8biBib3l1dHUgYWzEsW5hbWFkxLE7IC0tbW92ZS1kYXRhIHlva3NhecSxbMSxeW9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICJlc2tpIGRpc2sgYsO2bMO8bcO8bsO8biBiYcWfbGFuZ8SxY8SxIGFsxLFuYW1hZMSxOyAtLW1vdmUtZGF0YSB5b2tzYXnEsWzEsXlvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgImRpc2sgYsO2bMO8bcO8IGJhxZ9sYW5nxLFjxLEga2F5ZMSxcsSxbG1hZMSxOyAtLW1vdmUtZGF0YSB5b2tzYXnEsWzEsXlvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgInllbmkgZGlzayBiw7Zsw7xtw7wgw7Z6Z8O8biBvbGFuZGFuIGRhaGEga8O8w6fDvGs7IC0tbW92ZS1kYXRhIHlva3NhecSxbMSxeW9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIlZlcmkga2F5ZMSxcsSxbG1hc8SxOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIiBtw7xzdmVkZGUgZG9zeWFzxLE6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIgZXNraSBiYcWfbGFuZ8Sxw6c6ICVqdSwgeWVuaSBiYcWfbGFuZ8Sxw6c6ICVqdSAoJWp1IHNla3TDtnLDvCBrYXlkxLFyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MgorbXNnaWQgIkRvIHlvdSB3YW50IHRvIG1vdmUgcGFydGl0aW9uIGRhdGE/IgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCB2ZXJpc2luaSB0YcWfxLFtYWsgaXN0aXlvciBtdXN1bnV6PyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIsOHxLFrxLFsxLF5b3IuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IHZlcmkgdGHFn8SxbWEgYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCB0YWJsb3N1IGRlxJ9pxZ9tZWRpICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiRGlzayBiw7Zsw7xtw7wgdGFibG9zdSBkZcSfacWfdGlyaWxkaS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgImRlc3Rla2xlbm1leWVuIGV0aWtldCAnJXMnIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiS2ltbCDEsHNpbVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiYmVsaXJsZW5lbWV5ZW4gZGlzayBiw7Zsw7xtw7wgdGFibG9zdSB0aXBpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIiVzJ25pbiBib3l1dHUgYWzEsW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgInRvdGFsOiAlanUgYmxvY2tzXG4iCittc2dzdHIgInRvcGxhbTogJWp1IGJsb2tcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4OTQgZGlzay11dGlscy9zZmRpc2suYzo5MzUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzMiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwOTYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMDcgZGlzay11dGlscy9zZmRpc2suYzoxNTYxCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJoZXJoYW5naSBkaXNrIGF5Z8SxdMSxIGJlbGlydGlsbWVkaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHN3aXRjaCB0byBQTUJSIgorbXNnc3RyICIlcyBpw6dpbiBkdXJ1bSBiaWxnaXNpIGFsxLFuYW3EsXlvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICLDtm4gecO8a2xlbWUgYmF5cmFrbGFyxLFuxLFuIGRlxJ9pxZ90aXJpbG1lc2kgc2FkZWNlIE1CUiBpw6dpbiBkZXN0ZWtsZW5peW9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg2NyBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNCBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzcKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTYgZGlzay11dGlscy9zZmRpc2suYzoxMjEyCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NTkgZGlzay11dGlscy9zZmRpc2suYzoyMDU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgImRpc2sgYsO2bMO8bcO8IG51bWFyYXPEsSBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlZDogZmFpbGVkIHRvIHRvZ2dsZSBib290YWJsZSBmbGFnIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtw7wgJWQ6IHnDvGtsZW5lYmlsaXIgYmF5cmHEn8SxIGRlxJ9pxZ90aXJpbGVtZWRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICV6dTogc2lsaW5lbWVkaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIkF5Z8SxdCBiaWxpbmVuIGJpciBiw7Zsw7xtbGVtZSB0YWJsb3N1IGnDp2VybWl5b3IuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBkdW1wIHN0cnVjdCIKK21zZ3N0ciAiZMO2a8O8bSB5YXDEsXPEsSB0YWhzaXMgZWRpbGVtZWRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgdGFibG9zdSBkw7Zrw7xsZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uIHRhYmxlIGZvdW5kIgorbXNnc3RyICIlczogaGnDpyBkaXNrIGLDtmzDvG3DvCB0YWJsb3N1IGJ1bHVuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtw7wgJXp1OiBiw7Zsw7xtbGVtZSB0YWJsb3N1IHNhZGVjZSAlenUgYsO2bMO8bWxlcmluaSBpw6dlcml5b3IiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICV6dTogZGlzayBiw7Zsw7xtw7wga3VsbGFuxLFsbcSxeW9yIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgImhpw6cgZGlzayBiw7Zsw7xtw7wgc2F5xLFzxLEgYmVsaXJ0aWxtZWRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgImJla2xlbm1leWVuIGFyZ8O8bWFuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG3DvCAlenU6IGRpc2sgYsO2bMO8bcO8IHRpcGkgYWzEsW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiJXMgZGlzayBiw7Zsw7xtw7wgdGlwaSAnJXMnIGF5csSxxZ90xLFybWFzxLEgYmHFn2FyxLFzxLF6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG3DvCAlenU6IGRpc2sgYsO2bMO8bcO8IHRpcGkgYXlhcmxhbmFtYWTEsSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtw7wgJXp1OiBkaXNrIGLDtmzDvG3DvCBVVUlEJ3NpIGFsxLFuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJkaXNrIGLDtmzDvG3DvCBuZXNuZXNpIHRhaHNpcyBlZGlsZW1lZGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICV6dTogZGlzayBiw7Zsw7xtw7wgVVVJRCdzaSBheWFybGFuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG3DvCAlenU6IGRpc2sgYsO2bMO8bcO8IGlzbWkgYWzEsW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bcO8ICV6dTogZGlzayBiw7Zsw7xtw7wgaXNtaSBheWFybGFuYW1hZMSxIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG3DvCAlenU6IGRpc2sgYsO2bMO8bcO8IMO2em5pdGVsaWtsZXJpIGF5YXJsYW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4NworbXNnaWQgIiBDb21tYW5kczpcbiIKK21zZ3N0ciAiIEtvbXV0bGFyOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIiAgIHdyaXRlICAgIHRhYmxveXUgZGlza2UgeWF6IHZlIMOnxLFrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MAorbXNnaWQgIiAgIHF1aXQgICAgIHNob3cgbmV3IHNpdHVhdGlvbiBhbmQgd2FpdCBmb3IgdXNlcidzIGZlZWRiYWNrIGJlZm9yZSB3cml0ZVxuIgorbXNnc3RyICIgICBxdWl0ICAgICB5ZW5pIGR1cnVtdSBnw7ZzdGVyIHZlIHlhem1hZGFuIMO2bmNlIGt1bGxhbsSxY8SxIGdlcmkgYmlsZGlyaW1pbmkgYmVrbGVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAgc2ZkaXNrIGthYnXEn3VuZGFuIMOnxLFrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICBkaXNrIGLDtmzDvG3DvCB0YWJsb3N1bnUgZ8O2c3RlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAgYnUgeWFyZMSxbSBtZXRuaW5pIGfDtnN0ZXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgICAncXVpdCcgaWxlIGF5bsSxXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIiBHaXJkaSBmb3JtYXTEsTpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzAxCittc2dpZCAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKK21zZ3N0ciAiICAgPHN0YXJ0PiwgPHNpemU+LCA8dHlwZT4sIDxib290YWJsZT5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA0Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDxzdGFydD4gIFNla3TDtnJsZXJkZWtpIGRpc2sgYsO2bMO8bWxlcmluaW4gYmHFn2xhbmfEsWPEsSB5YSBkYSBcbiIKKyIgICAgICAgICAgICA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9IGZvcm1hdMSxbmRhIGJlbGlydGlsaXJzZSBiYXl0bGFyLlxuIgorIiAgICAgICAgICAgIFZhcnNhecSxbGFuIGlsayBrdWxsYW7EsWxtYXlhbiBib8WfbHVrdHVyLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPGJveXV0PiAgIFNla3TDtnJsZXJkZWtpIGRpc2sgYsO2bMO8bcO8bsO8biBib3l1dHUgeWEgZGEgXG4iCisiICAgICAgICAgICAgPHNhecSxPntLLE0sRyxULFAsRSxaLFl9IGZvcm1hdMSxbmRhIGJlbGlydGlsaXJzZSBiYXl0bGFyLlxuIgorIiAgICAgICAgICAgIFZhcnNhecSxbGFuIGLDvHTDvG4ga3VsbGFuxLFsYWJpbGlyIGJvxZ9sdWt0dXIuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPHRpcD4gICBEaXNrIGLDtmzDvG3DvCB0aXBpLiAgVmFyc2F5xLFsYW4gYmlyIExpbnV4IHZlcmkgZGlzayBiw7Zsw7xtw7xkw7xyLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIE1CUjogaGV4IHlhIGRhIEwsUyxFLFgga8Sxc2F5b2xsYXLEsS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCB5YSBkYSBMLFMsSCBrxLFzYXlvbGxhcsSxLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPHnDvGtsZW5lYmlsaXI+ICBCaXIgTUJSIGRpc2sgYsO2bMO8bcO8bsO8IHnDvGtsZW5lYmlsaXIgb2xhcmFrIGnFn2FyZXRsZW1layBpw6dpbiAnKicgIGt1bGxhbsSxbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzIzCittc2dpZCAiIEV4YW1wbGU6XG4iCittc2dzdHIgIiDDlnJuZWs6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyNQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICAgLCA0RyAgICAgVmFyc2F5xLFsYW4gYmHFn2xhbmfEscOnIG9mc2V0aW5kZSA0R2lCIGJpciBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBrb211dCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJWQ6IHVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgInNhdMSxciAlZDogZGVzdGVrbGVubWV5ZW4ga29tdXQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3Igc2ZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIk11aHRlbWVsIMOnYWvEscWfbWFsYXLEsSDDtm5lbGVtZWsgacOnaW4sIGF5Z8SxdMSxIHdpcGVmcyg4KSBpbGUgdGVtaXpsZW1lbml6IMWfaWRkZXRsZSB0YXZzaXllIGVkaWxpci4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgaXNtaSB0YWhzaXMgZWRpbGVtZWRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgImJldGlrIGnFn2xleWljaSB0YWhzaXMgZWRpbGVtZWRpIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczogZGlzayBiw7Zsw7xtw7wgJWQgZGXEn2nFn3RpcmlsZW1lZGk6IGhpw6cgZGlzayBiw7Zsw7xtw7wgdGFibG9zdSBidWx1bmFtYWTEsSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiBkaXNrIGLDtmzDvG3DvCAlZCBkZcSfacWfdGlyaWxlbWVkaTogYsO2bMO8bWxlbWUgdGFibG9zdSBzYWRlY2UgJXp1IGLDtmzDvG1sZXJpIGnDp2VyaXlvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICJ1eWFyxLE6ICVzIGRpc2sgYsO2bMO8bcO8ICVkIGhlbsO8eiB0YW7EsW1sYW5tYWTEsSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorIlxuIgorInNmZGlzayAoJXMpJ2UgaG/Fn2dlbGRpbml6LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjIyCittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIkJ1IGRpc2tpbiBraW1zZSB0YXJhZsSxbmRhbiBrdWxsYW7EsWxtYWTEscSfxLEga29udHJvbCBlZGlsaXlvciAuLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgQkHFnkFSSVNJWlxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIkJ1IGRpc2sgxZ91IGFuZGEga3VsbGFuxLFtZGEgLSB5ZW5pZGVuIGLDtmzDvG1sZW1layBtdWh0ZW1lbGVuIGvDtnTDvCBiaXIgZmlraXIuXG4iCisiVMO8bSBkb3N5YSBzaXN0ZW1sZXJpbmkga29wYXLEsW4gdmUgYnUgZGlzayDDvHplcmluZGVraSB0w7xtIHRha2FzIGFsYW5sYXLEsW7EsSBrYXBhdMSxbi5cbiIKKyJCdSBrb250cm9sw7wgYXRsYW1hayBpw6dpbiAtLW5vLXJlcmVhZCBiYXlyYcSfxLFuxLEga3VsbGFuxLFuLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzMKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAiQsO8dMO8biBrb250cm9sbGVyaSBnZcOnZXJzaXoga8SxbG1hIGnDp2luIC0tZm9yY2UgYmF5cmHEn8SxbsSxIGt1bGxhbsSxbi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzNQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiBUQU1BTVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NDcKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyJFc2tpIGR1cnVtOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIHllbmkgYmlyICclcycgZGlzayBldGlrZXRpIG9sdcWfdHVyYWNhay5cbiIKKyJWYXJzYXnEsWxhbsSxbiDDvHplcmluZSB5YXptYWsgacOnaW4geWVuaSBiaXIgaWxrIGRpc2sgYsO2bMO8bcO8XG4iCisidGFuxLFtbGFtYWRhbiDDtm5jZSAnZXRpa2V0Ojxpc2ltPicga3VsbGFuxLFuLiAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2OAorbXNnaWQgIiIKKyJcbiIKKyJUeXBlICdoZWxwJyB0byBnZXQgbW9yZSBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkRhaGEgZmF6bGEgYmlsZ2kgacOnaW4gLS1oZWxwJyB5YXrEsW7EsXouXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJCw7x0w7xuIGRpc2sgYsO2bMO8bWxlcmkga3VsbGFuxLFsZMSxLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAiQml0dGkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IHlva3NhecSxbMSxeW9yLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzM1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5NQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgIkJldGlrIGJhxZ9sxLFrbGFyxLEgdXlndWxhbmFtYWTEsSwgZGlzayBldGlrZXRpIG9sdcWfdHVydWxhbWFkxLEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgZWtsZW5lbWVkaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzc3Cittc2dpZCAiU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4iCittc2dzdHIgIkJldGlrIGJhxZ9sxLHEn8SxIGthYnVsIGVkaWxkaS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwMgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIlllbmkgZHVydW06IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICJCdW51IGRpc2tlIHlhem1hayBpc3RpeW9yIG11c3VudXo/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICLDh8Sxa8SxbMSxeW9yLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3Nlw6dlbmVrbGVyXSA8YXlnxLF0PiBbWy1OXSA8YsO2bMO8bT5dXG4iCisiICUxJHMgW3Nlw6dlbmVrbGVyXSA8a29tdXQ+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIChQKU1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtQSwgLS1hY3RpdmF0ZSA8YXlnxLF0PiBbPGLDtmzDvG0+IC4uLl0gw7ZuecO8a2xlbmViaWxpciBNQlIgYsO2bMO8bWxlcmluaSBsaXN0ZWxlIHlhIGRhIGF5YXJsYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGFrdGFyIChkYWhhIHNvbnJha2kgZ2lyZGlsZXIgacOnaW4ga3VsbGFuxLHFn2zEsSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IEpTT04gZm9ybWF0xLFuZGEgYWt0YXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGLDvHTDvG4geWEgZGEgYmVsaXJ0aWxlbiBheWfEsXRsYXLEsW4gZ2VvbWV0cmlsZXJpbmkgbGlzdGVsZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGhlciBiaXIgYXlnxLF0xLFuIGRpc2sgYsO2bMO8bWxlcmluaSBsaXN0ZWxlXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBoZXIgYmlyIGF5Z8SxdMSxbiBiw7Zsw7xtbGVubWV5ZW4gYm/FnyBhbGFubGFyxLFuxLEgbGlzdGVsZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZGlzayBiw7Zsw7xtbGVyaW5pbiBzxLFyYXPEsW7EsSBkw7x6ZWx0IChiYcWfbGFuZ8Sxw6cgb2ZzZXRpIGlsZSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUzCittc2dpZCAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2hvdy1zaXplIFs8YXlnxLF0PiAuLi5dICAgICAgIGLDvHTDvG4geWEgZGEgYmVsaXJ0aWxlbiBheWfEsXRsYXLEsW4gYm95dXRsYXLEsW7EsSBsaXN0ZWxleWluaXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIGJpbGluZW4gdGlwbGVyaSB5YXpkxLFyICgtWCdpIGfDtnIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NQorbXNnaWQgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgZGlzayBiw7Zsw7xtbGVyaW5pbiBkw7x6Z8O8biBvbHVwIG9sbWFkxLHEn8SxbsSxIHRlc3QgZXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgYsO8dMO8biB5YSBkYSBiZWxpcnRpbGVuIGRpc2sgYsO2bMO8bWxlcmluaSBzaWxcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gZGlzayBiw7Zsw7xtw7wgZXRpa2V0aW5pIHlhemTEsXIgeWEgZGEgZGXEn2nFn3RpclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjAKK21zZ2lkICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLS1wYXJ0LXR5cGUgPGRldj4gPHBhcnQ+IFs8dHlwZT5dIGRpc2sgYsO2bMO8bcO8IHRpcGluaSB5YXpkxLFyIHlhIGRhIGRlxJ9pxZ90aXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCittc2dpZCAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHV1aWRcbiIKK21zZ3N0ciAiIC0tcGFydC11dWlkIDxkZXY+IDxwYXJ0PiBbPHV1aWQ+XSBkaXNrIGLDtmzDvG3DvCB1dWlkJ3NpbmkgeWF6ZMSxciB5YSBkYSBkZcSfacWfdGlyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MgorbXNnaWQgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBhdHRyaWJ1dGVzXG4iCittc2dzdHIgIiAtLXBhcnQtYXR0cnMgPGRldj4gPHBhcnQ+IFs8c3RyPl0gZGlzayBiw7Zsw7xtw7wgw7Z6bml0ZWxpa2xlcmluaSB5YXpkxLFyIHlhIGRhIGRlxJ9pxZ90aXJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgYXlnxLF0IChnZW5lbGxpa2xlIGRpc2spIHlvbHVcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPHBhcnQ+ICAgICAgICAgICAgICAgICAgICBkaXNrIGLDtmzDvG3DvCBudW1hcmFzxLFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY3Cittc2dpZCAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIHR5cGUsIEdVSUQgZm9yIEdQVCwgaGV4IGZvciBNQlJcbiIKK21zZ3N0ciAiIDx0eXBlPiAgICAgICAgICAgICAgICAgICAgZGlzayBiw7Zsw7xtw7wgdGlwaSwgR1BUIGnDp2luIEdVSUQsIE1CUiBpw6dpbiBoZXhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGRpc2sgYsO2bMO8bWxlcmluaSB2YXJvbGFuIGRpc2sgYsO2bMO8bSB0YWJsb3N1bmEgZWtsZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgeWVkZWsgZGlzayBiw7Zsw7xtw7wgdGFibG8gc2VrdMO2cmxlcmkgKC1PIHBhcmFtZXRyZXNpbmkgZ8O2cilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgQk9ZVVR1IG9rdW5hYmlsaXIgZm9ybWF0IHllcmluZSBiYXl0IG9sYXJhayB5YXpkxLFyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSB5ZW5pZGVuIGtvbnVtbGFuZMSxcm1hIHNvbnJhc8SxIGRpc2sgYsO2bMO8bcO8IHZlcmlzaW5pIHRhxZ/EsSAoLU4gZ2VyZWt0aXJpcilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgdMO8bSB0dXRhcmzEsWzEsWsga29udHJvbGxlcmluaSBrYXBhdFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzUKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgw6fEsWt0xLF5xLEgcmVua2xlbmRpciAob3RvLCBkYWltYSB5YSBkYSBhc2xhKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzgKK21zZ2lkICIgLU4sIC0tcGFydG5vIDxudW0+ICAgICAgICBzcGVjaWZ5IHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8bnVtYXJhPiAgICAgICAgZGlzayBiw7Zsw7xtw7wgbnVtYXJhc8SxbsSxIGJlbGlydFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgaGVyIMWfZXlpIHlhcCBhbmNhayBkaXNrZSB5YXptYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBheWfEsXTEsW4ga3VsbGFuxLFtZGEgb2x1cCBvbG1hZMSxxJ/EsW7EsSBrb250cm9sIGV0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MQorbXNnaWQgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIGRvIG5vdCB0ZWxsIGtlcm5lbCBhYm91dCBjaGFuZ2VzXG4iCittc2dzdHIgIiAgICAgLS1uby10ZWxsLWtlcm5lbCAgICAgIMOnZWtpcmRlxJ9lIGRlxJ9pxZ9pa2xpa2xlcmRlbiBiYWhzZXRtZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgdmFyc2F5xLFsYW4geWVkZWsgZG9zeWFzxLEgaXNtaW5pbiDDvHplcmluZSB5YXpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgw6fEsWt0xLEgc8O8dHVubGFyxLFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg0Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBmYXpsYWRhbiBiaWxnaSBtZXNhamxhcsSxbsSxIGfDtnN0ZXJtZVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgaW16YWxhcsSxIHNpbCAob3RvLCBkYWltYSB5YSBkYSBhc2xhKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIGV0aWtldCB0aXBpbmkgYmVsaXJ0IChkb3MsIGdwdCwgLi4uKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODgKK21zZ2lkICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBzcGVjaWZ5IG5lc3RlZCBsYWJlbCB0eXBlIChkb3MsIGJzZClcbiIKK21zZ3N0ciAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gacOnacOnZSBldGlrZXQgdGlwaW5pIGJlbGlydCAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBrdWxsYW7EsWxtYXlhbiwgLS1zaG93LWdlb21ldHJ5IGlsZSBheW7EsVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTEKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGt1bGxhbsSxbG1heWFuLCBzYWRlY2UgZ2VyaSB1eXVtbHVsdWsgacOnaW5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkyCittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAga3VsbGFuxLFsbWF5YW4sIHNhZGV2ZSBzZWt0w7ZyIGJpcmltbGVyaSBkZXN0ZWtsZW5pclxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzIGFydMSxayBrdWxsYW7EsWxtxLF5b3IsIHllcmluZSAtLXBhcnQtdHlwZSBrdWxsYW7EsW4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIi0taWQgYXJ0xLFrIGt1bGxhbsSxbG3EsXlvciwgeWVyaW5lIC0tcGFydC10eXBlIGt1bGxhbsSxbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIi0tc2hvdy1wdC1nZW9tZXRyeSBhcnTEsWsga3VsbGFuxLFsbcSxeW9yLiAtLXNob3ctZ2VvbWV0cnkga3VsbGFuxLFsxLF5b3IuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiLS1MaW51eCBzZcOnZW5lxJ9pIGdlcmVrc2l6IHZlIGt1bGxhbsSxbG3EsXlvciIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQgJyVjJyIKK21zZ3N0ciAiZGVzdGVrbGVubWV5ZW4gYmlyaW4gJyVjJyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDc1IGluY2x1ZGUvYy5oOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiUyJHMgZGVraSAlMSRzXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjE1MgorbXNnaWQgIi0tbW92ZWRhdGEgcmVxdWlyZXMgLU4iCittc2dzdHIgIi0tbW92ZWRhdGEgLU4gcGFyYW1ldHJlc2luZSBpaHRpeWHDpyBkdXlhciIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgVVVJRDogJXMiCittc2dzdHIgIlVVSUQgYXlyxLHFn3TEsXLEsWxhbWFkxLE6ICVzIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiVzOiB0YWthcyBVVUlEIGFyYW5hbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczogVVVJRCB5YXrEsWxhbWFkxLEiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczogdGFrYXMgZXRpa2V0aSBhcmFuYW1hZMSxICIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiZXRpa2V0IMOnb2sgdXp1bi4gJyVzJ2Uga8Sxc2FsdMSxbMSxeW9yIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIlczogZXRpa2V0IHlhesSxbGFtYWTEsSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiVGFrYXMgYWxhbsSxIGV0aWtldGkgeWEgZGEgVVVJRCdzaW5pIGfDtnN0ZXIgeWEgZGEgZGXEn2nFn3Rpci5cbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4geWVuaSBiaXIgZXRpa2V0IGJlbGlydFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHllbmkgYmlyIHV1aWQgYmVsaXJ0XG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICItVSdpIHlva3NheSAoVVVJRGxlciBkZXN0ZWtsZW5taXlvcikiCisKKyM6IGluY2x1ZGUvYy5oOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICJEYWhhIGZhemxhIGJpbGdpIGnDp2luIGAlcyAtLWhlbHAnaSBkZW5leWluXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkt1bGxhbsSxbTpcbiIKKworIzogaW5jbHVkZS9jLmg6MzE5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZcOnZW5la2xlcjpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIwCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkZvbmtzaXlvbmxhcjpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisiXG4iCisiS29tdXRsYXI6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiS3VsbGFuxLFsYWJpbGlyIC0tbGlzdCBrb2xvbmxhcsSxOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiAtPyAgICAgICAgIGJ1IHlhcmTEsW0gacOnZXJpxJ9pbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICJzw7xyw7xtIgorCisjOiBpbmNsdWRlL2MuaDozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisiRGFoYSBmYXpsYSBiaWxnaSBpw6dpbiAlcydlIGJha8Sxbi5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAieWF6bWEgaGF0YXPEsSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyNworbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICJyZW5rbGVyIMO2bnRhbsSxbWzEsSBvbGFyYWsgZXRraW5sZcWfdGlyaWxkaSIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAicmVua2xlciDDtm50YW7EsW1sxLEgb2xhcmFrIGthcGF0xLFsZMSxIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIk9ydGFtIGRlxJ9pxZ9rZW5pICVzIGF5YXJsYW5hbWFkxLEiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICIlcyB2ZSAlcyBrYXLFn8SxbMSxa2zEsSBkxLHFn2xhbmFuZMSxciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICJCb8WfIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggcm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NAorbXNnaWQgIlhFTklYIHVzciIKK21zZ3N0ciAiWEVOSVggdXNyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1Cittc2dpZCAiRkFUMTYgPDMyTSIKK21zZ3N0ciAiRkFUMTYgPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICJFayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVggw7ZuecO8a2xlbmViaWxpciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiDDlm55w7xrbGVtZSBZw7ZuZXRpY2lzaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSBFeHQnZCAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTYKK21zZ2lkICJPUFVTIgorbXNnc3RyICJPUFVTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNworbXNnaWQgIkhpZGRlbiBGQVQxMiIKK21zZ3N0ciAiR2l6bGkgRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDb21wYXEgdGXFn2hpcyBzaXN0ZW1pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxOQorbXNnaWQgIkhpZGRlbiBGQVQxNiA8MzJNIgorbXNnc3RyICJHaXpsaSBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiR2l6bGkgRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiR2l6bGkgSFBGUy9OVEZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMgorbXNnaWQgIkFTVCBTbWFydFNsZWVwIgorbXNnc3RyICJBU1QgU21hcnRTbGVlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjMKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIgorbXNnc3RyICJHaXpsaSBXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI0Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiR2l6bGkgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIkdpemxpIFc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjYKK21zZ2lkICJORUMgRE9TIgorbXNnc3RyICJORUMgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNworbXNnaWQgIkhpZGRlbiBOVEZTIFdpblJFIgorbXNnc3RyICJHaXpsaSBOVEZTIFdpblJFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJEaXNrIELDtmzDvG3DvCBrYXlkxLEga3VydGFybWEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIMOWbnnDvGtsZW1lIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDIuIGLDtmzDvG0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0LnggMy4gYsO2bMO8bSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCB2ZXlhIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiRXNraSBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBlc2tpIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCB0YWthcyAvIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIkxpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NAorbXNnaWQgIk9TLzIgaGlkZGVuIG9yIEludGVsIGhpYmVybmF0aW9uIgorbXNnc3RyICJPUy8yIGdpemxpIHZleWEgSW50ZWwgdXlrdXN1IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBlayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMgYsO2bMO8bSBrw7xtZXNpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXggc2FsdG1ldGluIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCBoaWJlcm5hdGlvbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjYKK21zZ2lkICJGcmVlQlNEIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIk9wZW5CU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY4Cittc2dpZCAiTmVYVFNURVAiCittc2dzdHIgIk5lWFRTVEVQIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIkRhcndpbiBVRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcwCittc2dpZCAiTmV0QlNEIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcxCittc2dpZCAiRGFyd2luIGJvb3QiCittc2dzdHIgIkRhcndpbiBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBkcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgdGFrYXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICLDlm55w7xrbGVtZSBzaWhpcmJhesSxIGdpemxpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJBY3JvbmlzIEZBVDMyIExCQSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIyOQorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiU29sYXJpcyBib290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIkRTLW9sbWF5YW4gdmVyaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIFV5Z3VsYW1hc8SxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIkRPUyBlcmnFn2ltaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAiUnVmdXMgaGl6YWxhbWEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mgw7ZuecO8a2xlbWVzaSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIGlraW5jaWwiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMSBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0Cittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IHJhaWQgb3Rvc2FwdGFtYSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAidXlhcsSxOiAlcyBoaXphbMSxIGRlxJ9pbCIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MCBsaWJmZGlzay9zcmMvYXNrLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdGVkIHBhcnRpdGlvbiAlanUiCittc2dzdHIgIlNlw6dpbGVuIGRpc2sgYsO2bMO8bcO8ICVqdSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MworbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIkhlbsO8eiB0YW7EsW1sYW5hbiBiaXIgZGlzayBiw7Zsw7xtw7wgeW9rISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIkt1bGxhbsSxbGFiaWxpciBib8WfIGRpc2sgYsO2bMO8bcO8IHlvayEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo1MDUKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBudW1hcmFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgcGFydGl0aW9uICVkIG9mIHR5cGUgJyVzJyBhbmQgb2Ygc2l6ZSAlcy4iCittc2dzdHIgIlllbmkgYmlyIGRpc2sgYsO2bMO8bcO8ICVkLCAnJXMnIHRpcGluZGUgdmUgJXMgYm95dXR1bmRhIG9sdcWfdHVydWxkdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlemQ6IGdlw6dlcnNpeiBiYcWfbGFuZ8Sxw6cgc2VrdMO2csO8IDAuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiJXMnZGUgKkJTRCBkaXNrIGLDtmzDvG3DvCB5b2suIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKK21zZ2lkICJGaXJzdCBjeWxpbmRlciIKK21zZ3N0ciAixLBsayBzaWxpbmRpciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU29uIHNpbGluZGlyLCArc2lsaW5kaXJsZXIgeWEgZGEgK2JveXV0e0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTYgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTggbGliZmRpc2svc3JjL2dwdC5jOjI0NDcKK21zZ2lkICJMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU29uIHNla3TDtnIsICtzZWt0w7ZybGVyIHlhIGRhICtib3l1dHtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiQXlnxLF0ICVzIEJTRCBkaXNrIGV0aWtldGkgacOnZXJtaXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiQmlyIEJTRCBkaXNrIGV0aWtldGkgb2x1xZ90dXJtYWsgaXN0ZXIgbWlzaW5pej8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDgKK21zZ2lkICJEaXNrIgorbXNnc3RyICJEaXNrIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIlBha2V0aXNtaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJGbGFtYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiBzaWxpbmViaWxpciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGJvenVrU2VrdMO2ciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ3NQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAiQmF5dC9TZWt0w7ZyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgwCittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICLEsHovU2lsaW5kaXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODUKK21zZ2lkICJTZWN0b3JzL0N5bGluZGVyIgorbXNnc3RyICJTZWt0w7ZyL1NpbGluZGlyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDkwIGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIwIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI4CisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NiBsaWJmZGlzay9zcmMvc3VuLmM6MTk3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIzCittc2dpZCAiQ3lsaW5kZXJzIgorbXNnc3RyICJTaWxpbmRpciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCittc2dpZCAiUnBtIgorbXNnc3RyICJScG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDAgbGliZmRpc2svc3JjL3NnaS5jOjI5MSBsaWJmZGlzay9zcmMvc3VuLmM6NzkzCittc2dpZCAiSW50ZXJsZWF2ZSIKK21zZ3N0ciAiSGFybWFubGFtYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAixLB6a2F5bWFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTAKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgIlNpbGluZGlya2F5bWFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MTUKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJLYWZhZGXEn2nFn3Rpcm1lIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAixLB6ZGVuLWl6ZSBhcmFtYSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMAorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAiYmF5dC9zZWt0w7ZyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEzCittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAic2VrdMO2ci9peiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAiaXovc2lsaW5kaXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgInNpbGluZGlyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAic2VrdMO2ci9zaWxpbmRpciIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMgorbXNnaWQgInJwbSIKK21zZ3N0ciAicnBtIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAic2VycGnFn3Rpcm1lIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICJpemtheW1hc8SxIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJzaWxpbmRpcmtheW1hc8SxIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAia2FmYWRlxJ9pxZ90aXJtZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIml6ZGVuLWl6ZSBnZcOnacWfIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiw5ZuecO8a2xlbWUgZG9zeWFzxLEgJXMgYmHFn2FyxLF5bGEgecO8a2xlbmRpLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICLDtm55w7xrbGVtZTogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKHZhcnNhecSxbGFuICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiw5ZuecO8a2xlbWUgZGlzayBldGlrZXRpIGlsZSDDp2FrxLHFn8SxeW9yISIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiw5ZuecO8a2xlbWUgJXMgw7x6ZXJpbmUga3VydWxkdS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIkRpc2sgZXRpa2V0aSAlcydlIHlhesSxbGTEsS4gICglcyBkaXNrIGV0aWtldGluaSB5YXptYXnEsSBkYSB1bnV0bWF5xLFuLikiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICJEaXNrIGV0aWtldGkgJXMgw7x6ZXJpbmUgeWF6xLFsZMSxLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICJEaXNrbGVyIGXFn3phbWFubGFuxLF5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkJTRCBkaXNrIGLDtmzDvG3DvCBiaXIgRE9TIGRpc2sgYsO2bMO8bcO8IGnDp2luZGUgacOnacOnZSBkZcSfaWwuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJTRCBwYXJ0aXRpb24gJyVjJyBsaW5rZWQgdG8gRE9TIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJCU0QgZGlzayBiw7Zsw7xtw7wgJyVjJyBET1MgZGlzayBiw7Zsw7xtw7wgJXp1J3lhIGJhxJ9sYW50xLFsYW5kxLEuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICJEaWxpbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiRnNpemUiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgIkJzaXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNQorbXNnaWQgIkNwZyIKK21zZ3N0ciAiQ3BnIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGF5Z8SxdCBrYXBhdMSxbGFtYWTEsSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NTYKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJEaXNrIGLDtmzDvG0gdGFibG9zdW51IHllbmlkZW4gb2t1bWFrIGnDp2luIGlvY3RsKCkgw6dhxJ9yxLFsxLF5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorbXNnaWQgIlJlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCB0YWJsb3N1IHllbmlkZW4gb2t1bmFtYWTEsS4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgdGFibGUuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICLDh2VraXJkZWsgaGFsYSBlc2tpIHRhYmxveXUga3VsbGFuxLF5b3IuIFllbmkgdGFibG8gYmlyIHNvbnJha2kgeWVuaWRlbiBiYcWfbGF0bWEgacWfbGVtaW5kZW4gc29ucmEgeWEgZGEgcGFydHByb2JlKDgpIHZleWEga3BhcnR4KDgpJ2kgw6dhbMSxxZ90xLFyZMSxxJ/EsW7EsXpkYSBrdWxsYW7EsWxhY2FrLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAiZGlzayBiw7Zsw7xtw7wga2FsZMSxcsSxbGFtYWTEsSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byB1cGRhdGUgc3lzdGVtIGluZm9ybWF0aW9uIGFib3V0IHBhcnRpdGlvbiAlenUiCittc2dzdHIgImJpciBkaXNrIGLDtmzDvG3DvCBoYWtrxLFuZGEgYmlsZ2kgeWF6IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgZWtsZW5lbWVkaSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NzQKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290LiAiCittc2dzdHIgIsOHZWtpcmRlayBoYWxhIGVza2kgdGFibG95dSBrdWxsYW7EsXlvci4gWWVuaSB0YWJsbyBiaXIgc29ucmFraSB5ZW5pZGVuIGJhxZ9sYXRtYSBpxZ9sZW1pbmRlbiBzb25yYSB5YSBkYSBwYXJ0cHJvYmUoOCkgdmV5YSBrcGFydHgoOCknaSDDp2FsxLHFn3TEsXJkxLHEn8SxbsSxemRhIGt1bGxhbsSxbGFjYWsuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICJzaWxpbmRpciIKK21zZ3N0clsxXSAic2lsaW5kaXIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTA4NQorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAic2VrdMO2ciIKK21zZ3N0clsxXSAic2VrdMO2ciIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMzg4Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAiRWtzaWsgZ2VvbWV0cmkgYXlhcsSxLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxMworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIlTDvG0gYmlyaW5jaWwgYsO2bMO8bWxlciB6YXRlbiB0YW7EsW1sxLEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICJLdWxsYW7EsWxhYmlsaXIgYm/FnyBkaXNrIGLDtmzDvG3DvCB5b2shIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIkdlbmnFn2xldGlsbWnFnyBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3Ugb2t1bmFtYWTEsSAob2ZzZXQ9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiR2VvbWV0cml5aSBmYXpsYWRhbiBmb25rc2l5b24gbWVuw7xzw7xuZGVuIGF5YXJsYXlhYmlsaXJzaW5pei4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICJET1MtdXl1bWx1bHVrIG1vZHUgYXJ0xLFrIGt1bGxhbsSxbG3EsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAiQXlnxLF0IGZpemlrc2VsIHNla3TDtnIgYm95dXR1bmRhbiBkYWhhIGvDvMOnw7xrIGJpciBtYW50xLFrc2FsIHNla3TDtnIgYm95dXR1IGfDtnN0ZXJpeW9yLiBCaXIgZml6aWtzZWwgc2VrdMO2ciBib3l1dHVuYSAoeWEgZGEgdXlndW4gRy/DhykgYm95dXQgc8SxbsSxcsSxbmEgaGl6bGFtYSB0YXZzaXllIGVkaWxpciB5YSBkYSBwZXJmb3JtYW5zIGvDtnTDvCBldGtpbGVuZWNla3Rpci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkfDtnN0ZXJpbSBiaXJpbWkgb2xhcmFrIHNpbGluZGlybGVyIGFydMSxayBrdWxsYW7EsWxtxLF5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbm5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICJCdSBkaXNraW4gYm95dXR1ICVzJ2RpciAoJWp1IGJheXQpLiBET1MgZGlzayBiw7Zsw7xtw7wgdGFibG8gZm9ybWF0xLEgJWx1IGJheXR0YW4gYsO8ecO8ayAlbHUtYmF5dCBiaXJpbWxlciBpw6dpbiBzw7xyw7xjw7xsZXJkZSBrdWxsYW7EsWxhbWF6LiBHVUlEIGRpc2sgYsO2bMO8bcO8IHRhYmxvIGZvcm1hdMSxbsSxIChHUFQpIGt1bGxhbsSxbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiQmlyaW5jaWwgZ2VuacWfbGV0aWxtacWfIGRpc2sgYsO2bMO8bcO8bmRlIGvDtnTDvCBvZnNldC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiMlenUgc29ucmFzxLFuZGFraSBkaXNrIGLDtmzDvG1sZXJpIGF0bGFuxLF5b3IuIEJ1IGRpc2sgYsO2bMO8bSB0YWJsb3N1bnUga2F5ZGV0dGnEn2luaXpkZSBzaWxpbmVjZWtsZXIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1ICMlenUnZGEgZmF6bGFkYW4gYmHEn2xhbnTEsSBpxZ9hcmV0w6dpc2kuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSAlenUnZGEgZmF6bGFkYW4gdmVyaSB5YWtzYXnEsWzEsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJib8WfIGRpc2sgYsO2bMO8bcO8IGF0bGFuxLF5b3IgKCV6dSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIkRpc2sgYmVsaXJsZXlpY2lzaSAweCUwOHggaWxlIHllbmkgYmlyIERPUyBkaXNrZXRpa2V0aSBvbHXFn3R1cnVsZHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIlllbmkgZGlzayBiZWxpcmxleWljaXNpIGdpciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIllhbmzEscWfIGRlxJ9lci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAiRGlzdCB0YW7EsW1sxLF5xLFjxLEgMHglMDh4IGRhbiAweCUwOHggYSBkZcSfacWfdGlyaWxkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiRmF6bGFkYW4gZ2VuacWfbGV0aWxtacWfIGRpc2sgYsO2bMO8bcO8ICV6dSB5b2tzYXnEsWzEsXlvciIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAiRUJSIGnDp2luIGdlw6dlcnNpeiBiYXlyYWsgIDB4JTAyeCUwMnggKGRpc2sgYsO2bMO8bcO8ICV6dSBpw6dpbikgdyh5YXopIGlsZSBkw7x6ZWx0aWxlY2VrLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIkJhxZ9sYW5nxLHDpyBzZWt0w7Zyw7wgJWp1IGFyYWzEsWsgZMSxxZ/EsW5kYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMDc2IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzIxIGxpYmZkaXNrL3NyYy9zZ2kuYzo4MzgKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV6dSB6YXRlbiB0YW7EsW1sxLEuICBZZW5pZGVuIGVrbGVtZWRlbiDDtm5jZSBzaWxpbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAiU2VrdMO2ciAlbGx1IHphdGVuIGF5csSxbGTEsS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCittc2dpZCAiTm8gZnJlZSBzZWN0b3JzIGF2YWlsYWJsZS4iCittc2dzdHIgIkt1bGxhbsSxbGFiaWxpciBib8WfIHNla3TDtnIgeW9rLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiTWFudMSxa3NhbCBkaXNrIGLDtmzDvG3DvCAlenUgZWtsZW5peW9yIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgJXp1OiBzZWt0w7ZyIDAnxLEgacOnZXJpeW9yIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenU6IGthZmEgJWQgYXphbWkgZGXEn2VyICVkJ2RlbiBkYWhhIGLDvHnDvGsiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHNlY3RvciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenU6IHNla3TDtnIgJWQgYXphbWkgZGXEn2VyICVsbHUnZGFuIGRhaGEgYsO8ecO8ayIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgJXp1OiBzaWxpbmRpciAlZCBhemFtaSBkZcSfZXIgJWxsdSdkYW4gZGFoYSBiw7x5w7xrIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenU6IMO2bmNla2kgc2VrdMO2cmxlciAldSB0b3BsYW4gJXUgaWxlIHV5dcWfbXV5b3IiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRpZmZlcmVudCBwaHlzaWNhbC9sb2dpY2FsIGJlZ2lubmluZ3MgKG5vbi1MaW51eD8pOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV6dTogZmFya2zEsSBmaXppa3NlbC9iYW50xLFrc2FsIGJhxZ9sYW5nxLHDp2xhciAoTGludXggb2xtYXlhbj8pOiBmaXppa3NlbD0oJWQsICVkLCAlZCksIG1hbnTEsWtzYWw9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV6dTogZmFya2zEsSBmaXppa3NlbC9tYW50xLFrc2FsIGJpdGnFn2xlcjogZml6aWtzZWw9KCVkLCAlZCwgJWQpLCBtYW50xLFrc2FsPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgJXp1OiBzaWxpbmRpciBhcmFsxLHEn8SxbmRhIHNvbmxhbm3EsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgJXp1OiBrw7Z0w7wgdmVyaSBiYcWfbGFuZ8SxY8SxLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV6dTogZGlzayBiw7Zsw7xtw7wgJXp1IGlsZSDDp2FrxLHFn8SxeW9yLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAlenU6IGJvxZ8uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiTWFudMSxa3NhbCBkaXNrIGLDtmzDvG3DvCAlenU6IHRhbWFtZW4gZGlzayBiw7Zsw7xtw7wgJXp1J251biBpw6dpbmRlIGRlxJ9pbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRvdGFsIGFsbG9jYXRlZCBzZWN0b3JzICVsbHUgZ3JlYXRlciB0aGFuIHRoZSBtYXhpbXVtICVsbHUuIgorbXNnc3RyICJUb3BsYW0gdGFoc2lzIGVkaWxlbiBzZWt0w7ZyICVsbHUgb2xhYmlsZWNlayBlbiBiw7x5w7xrIGRlxJ9lciAlbGx1ICdkYW4gZmF6bGEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiVGFoc2lzIGVkaWxtZXllbiAlbGxkIHRhbmUgJWxkLWJheXQgc2VrdMO2ciBrYWxkxLEuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYwMSBsaWJmZGlzay9zcmMvZG9zLmM6MTYxNiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2MworbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBhbHJlYWR5IGV4aXN0cy4iCittc2dzdHIgIkdlbmnFn2xldGlsbWnFnyBkaXNrIGLDtmzDvG3DvCB6YXRlbiB2YXIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIkF6YW1pIHNhecSxZGEgZGlzayBiw7Zsw7xtw7wgb2x1xZ90dXJ1bGR1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJUw7xtIG1hbnTEsWtzYWwgYsO2bMO8bWxlciBrdWxsYW7EsW1kYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgzIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk0Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAiQmlyaW5jaWwgZGlzayBiw7Zsw7xtbGVyaSBpw6dpbiBiw7x0w7xuIGJvxZ9sdWsga3VsbGFuxLFtZGEuIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICJEYWhhIGZhemxhIGRpc2sgYsO2bMO8bcO8IG9sdcWfdHVybWFrIGnDp2luIMO2bmNlIGJpcmluY2lsIGJpciB0YW5lc2luaSBnZW5pxZ9sZXRpbG1pxZ8gYmlyIGLDtmzDvG1sZSBkZcSfacWfdGlyaW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJUw7xtIG1hbnTEsWtzYWwgYsO2bMO8bWxlciBrdWxsYW7EsW1kYS4gQmlyaW5jaWwgYmlyIGRpc2sgYsO2bMO8bcO8IGVrbGVuaXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IHRpcGkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6dSBiaXJpbmNpbCwgJWQgZ2VuacWfbGV0aWxtacWfLCAlenUgYm/FnyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJiaXJpbmNpbCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiZ2VuacWfbGV0aWxtacWfIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJtYW50xLFrc2FsIGRpc2sgYsO2bMO8bWxlcmkgacOnaW4ga29udGV5bmVyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgIm1hbnTEsWtzYWwiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICI1J3RlbiBpdGliYXJlbiBudW1hcmFsYW5kxLFyxLFsZMSxIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJHZcOnZXJzaXogZGlzayBiw7Zsw7xtw7wgdGlwaSBgJWMnLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICJTZWt0w7ZyIHlhesSxbGFtxLF5b3IgJWpkOiBhcmFtYSBiYcWfYXLEsXPEsXoiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCittc2dpZCAiRGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJEaXNrIGJlbGlybGV5aWNpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4Cittc2dpZCAiVHlwZSAwIG1lYW5zIGZyZWUgc3BhY2UgdG8gbWFueSBzeXN0ZW1zLiBIYXZpbmcgcGFydGl0aW9ucyBvZiB0eXBlIDAgaXMgcHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiVGlwIDAgYmlyIMOnb2sgc2lzdGVtZSBib8WfIGFsYW4gYW5sYW3EsW5hIGdlbGlyLiBUaXBpIDAgb2xhbiBkaXNrIGLDtmzDvG1sZXJpbmUgc2FoaXAgb2xtYWsgbXVodGVtZWxlbiBha8SxbGzEsWNhIGRlxJ9pbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIkhhbGloYXrEsXJkYSBtYW50xLFrc2FsIGRpc2sgYsO2bMO8bWxlcmluY2Uga3VsbGFuxLFsYW4gZ2VuacWfbGV0aWxtacWfIGRpc2sgYsO2bMO8bcO8bsO8biB0aXBpIGRlxJ9pxZ90aXJpbGVtaXlvci4gw5ZuY2UgbWFudMSxa3NhbCBkaXNrIGLDtmzDvG1sZXJpbmkgc2lsaW4uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI1OSBsaWJmZGlzay9zcmMvZ3B0LmM6MzAzNworbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgIllhcMSxbGFjYWsgYmlyIMWfZXkgeW9rLiBTxLFyYWxhbWEgemF0ZW4gZG/En3J1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgJXp1OiB2ZXJpIGFsYW7EsSB5b2suIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjM0NworbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAiWWVuaSB2ZXJpIGJhxZ9sYW5nxLFjxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV6dTogYmlyIGdlbmnFn2xldGlsbWnFnyBkaXNrIGLDtmzDvG3DvGTDvHIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgJXp1J2RlIMO2bnnDvGtsZW5lYmlsaXIgYmF5cmHEn8SxIGFydMSxayBldGtpbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgJXp1J2RlIMO2bnnDvGtsZW5lYmlsaXIgYmF5cmHEn8SxIGFydMSxayBrYXBhdMSxbGTEsS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAiQXlnxLF0IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICJBw6fEsWzEscWfIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNQorbXNnaWQgIklkIgorbXNnc3RyICJsZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzQKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAiQmHFn2xhbmfEscOnLUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAiQml0acWfLUMvSC9TIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorbXNnaWQgIkF0dHJzIgorbXNnc3RyICLDlnpuaXRlbGlrbGVyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiRUZJIFNpc3RlbWkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiTUJSIGRpc2sgYsO2bMO8bcO8IMWfZW1hc8SxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiQklPUyDDtm55w7xrbGVtZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIlNvbnkgw7ZuecO8a2xlbWUgYsO2bMO8bcO8IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5Cittc2dpZCAiTGVub3ZvIGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJMZW5vdm8gw7ZuecO8a2VsbWUgYsO2bMO8bcO8IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcyCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBvd2VyUEMgUFJlUCDDtm55w7xrbGVtZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiT05JRSDDtm55w7xrbGVtZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICJPTklFIGF5YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzkKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIk1pY3Jvc29mdCBpw6dpbiBheXLEsWxhbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQgYmFzaXQgdmVyaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0gw7xzdHZlcmlzaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETSB2ZXJpc2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICJXaW5kb3dzIGt1cnRhcm1hIG9ydGFtxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIEdlbmVsIFBhcmFsZWwgRG9zeWEgc2lzdGVtaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IERlcG9sYW1hIEFsYW5sYXLEsSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYIHZlcmkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICJIUC1VWCBzZXJ2aXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHRha2FzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiTGludXggZG9zeWEgc2lzdGVtaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eCBzdW51Y3UgdmVyaXNpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorbXNnaWQgIkxpbnV4IHJvb3QgKEFSTSkiCittc2dzdHIgIkxpbnV4IHJvb3QgKEFSTSkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTcKK21zZ2lkICJMaW51eCByb290ICh4ODYtNjQpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3RcdChJQS02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiTGludXggacOnaW4gYXlyxLFsYW4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCBnZW5pxZ9sZXRpbG1pxZ8gw7ZuecO8a2xlbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QgZGF0YSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCBib290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICJGcmVlQlNEIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIMOnZXZyaW1kxLHFn8SxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiQXBwbGUgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICJBcHBsZSBsYWJlbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICJBcHBsZSBUViBrdXJ0YXJtYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNgorbXNnaWQgIkFwcGxlIENvcmUgc3RvcmFnZSIKK21zZ3N0ciAiQXBwbGUgQ29yZSBkZXBvbGFtYSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyByb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3IgdmUgQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcyBiYWNrdXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMgL3ZhciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIlNvbGFyaXMgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlZCAxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmVkIDIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDMiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlZCA0IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQyCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKK21zZ2lkICJOZXRCU0Qgc3dhcCIKK21zZ3N0ciAiTmV0QlNEIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QgRkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3Cittc2dpZCAiTmV0QlNEIExGUyIKK21zZ3N0ciAiTmV0QlNEIExGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OAorbXNnaWQgIk5ldEJTRCBjb25jYXRlbmF0ZWQiCittc2dzdHIgIk5ldEJTRCBiaXRpxZ90aXJpbGVuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIMWfaWZyZWxlbm1pxZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiTmV0QlNEIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTMKK21zZ2lkICJDaHJvbWVPUyBrZXJuZWwiCittc2dzdHIgIkNocm9tZU9TIGtlcm5lbCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIkNocm9tZU9TIHJvb3QgZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiQ2hyb21lT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTgKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICJNaWRuaWdodEJTRCBkYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIk1pZG5pZ2h0QlNEIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIk1pZG5pZ2h0QlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICJDZXBoIEfDvG5sw7xrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCDFnmlmcmVsZW5tacWfIEfDvG5sw7xrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIkNlcGggT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5Cittc2dpZCAiQ2VwaCBjcnlwdCBPU0QiCittc2dzdHIgIkNlcGggxZ9pcmZlbGkgT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJDZXBoIGRpc2tpIG9sdcWfdHVydWx1eW9yIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcxCittc2dpZCAiQ2VwaCBjcnlwdCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJDZXBoIMWfaWZyZWxpIGRpc2tpIG9sdcWfdHVydWx1eW9yIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJDb21wYXEgdGXFn2hpcyBzaXN0ZW1pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFJlc2VydmVkIgorbXNnc3RyICJDaHJvbWVPUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4MQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiT3BlbkJTRCBkYXRhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0Cittc2dpZCAiUU5YNiBmaWxlIHN5c3RlbSIKK21zZ3N0ciAiUU5YNiBkb3N5YSBzaXN0ZW1pIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGxhbiA5IGRpc2sgYsO2bMO8bcO8IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjYxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIkdQVCBiYcWfbMSxxJ/EsSB0YWhzaXMgZWRpbGVtZWRpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzQ0Cittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiQmV0aWsgdGFyYWbEsW5kYW4gYmVsaXJ0aWxlbiBpbGsgTEJBIGFyYWzEsWsgZMSxxZ/EsW5kYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIkJldGlrIHRhcmFmxLFuZGFuIGJlbGlydGlsZW4gc29uIExCQSBhcmFsxLFrIGTEscWfxLFuZGEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHUFQgUE1CUiBzaXplIG1pc21hdGNoICglPFBSSXU2ND4gIT0gJTxQUkl1NjQ+KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIkXFn2xlxZ9tZXllbiBHUFQgUE1CUiBib3l1dHUgKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHkoYXopIHRhcmFmxLFuZGFuIGTDvHplbHRpbGVjZWsuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTE3Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICJncHQ6IHN0YXQoKSBiYcWfYXLEsXPEsXoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiAlbyBtb2R1bmRha2kgZG9zeWFsYXIgacWfbGVuZW1lZGkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiR1BUIEJhxZ9sxLHEn8SxIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJHUFQgR2lyZGlsZXJpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAixLBsayBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjMzCittc2dpZCAiTGFzdCBMQkEiCittc2dzdHIgIlNvbiBMQkEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICJBbHRlcm5hdGlmIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgZ2lyZGlsZXJpIExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNTAKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIlRhaHNpcyBlZGlsZW4gZGlzayBiw7Zsw7xtw7wgZ2lyZGlsZXJpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5NQorbXNnaWQgIlRoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgcHJpbWFyeSBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIlllZGVrIEdQVCB0YWJsb3N1IGJvenVrIGFtYSBiaXJpbmNpbCB0YWJsb2RhIHNvcnVuIGfDtnLDvG5tw7x5b3IsIGJ1IHnDvHpkZW4gbyBrdWxsYW7EsWxhY2FrLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJCaXJpbmNpbCBHUFQgdGFibG9zdSBib3p1ayBhbWEgeWVkZWsgdGFibG9kYSBzb3J1biBnw7Zyw7xubcO8eW9yLCBidSB5w7x6ZGVuIG8ga3VsbGFuxLFsYWNhay4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBHUFQgw7Z6bml0ZWxpayBiaXRpICclcyciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAibGlzdGUgJyVzJyBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgVVVJRCdzaSAlcyBkZW4gJXMgZSBkZcSfacWfdGlyaWxkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2xhdGUgcGFydGl0aW9uIG5hbWUsIG5hbWUgbm90IGNoYW5nZWQuIgorbXNnc3RyICJkaXNrIGLDtmzDvG3DvCBpc21pIHRhaHNpcyBlZGlsZW1lZGkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IGlzbWkgJyVzJyBkZW4gJyUuKnMnIGUgZGXEn2nFn3RpcmlsZGkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0NQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBiYcWfbGFuZ8SxY8SxIMSwbGtLdWxsYW7EsWxhYmlsaXJMQkEnbsSxbiBhxZ9hxJ/EsXPEsW5kYSBrYWzEsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgc29udSBTb25LdWxsYW7EsWxhYmlsaXJMQkEnbsSxbiB5dWthcsSxc8SxbmRhIGthbMSxeW9yLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiQXlnxLF0IGthcm1hIE1CUiBpw6dlcml5b3IgLS0gc2FkZWNlIEdQVCB5YXrEsWzEsXlvci4gTUJSJ8SxIGVsbGUgZcWfaXRsZW1lbml6IGdlcmVraXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUxCittc2dpZCAiRGlzayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIkRpc2sgZ2XDp2VybGkgYmlyIHllZGVrIGJhxZ9sxLFrIGnDp2VybWl5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiR2XDp2Vyc2l6IGJpcmluY2lsIGJhxZ9sxLFrIENSQyBzYcSfbGFtYSB0b3BsYW3EsS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgIkdlw6dlcnNpeiB5ZWRlayBiYcWfbMSxayBDUkMgc2HEn2xhbWEgdG9wbGFtxLEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2NQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiR2XDp2Vyc2l6IGRpc2sgYsO2bMO8bcO8IGdpcmRpc2kgc2HEn2xhbWEgdG9wbGFtxLEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3MAorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICJHZcOnZXJzaXogYmlyaW5jaWwgYmHFn2zEsWsgTEJBIHNhxJ9sYW1sxLFrIGtvbnRyb2zDvC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc0Cittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiR2XDp2Vyc2l6IHllZGVrIGJhxZ9sxLFrIExCQSBzYcSfbGFtbMSxayBrb250cm9sw7wuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk15TEJBIGJpcmluY2lsIGJhxZ9sxLFrdGFraSBnZXLDp2VrIGtvbnVtIGlsZSBlxZ9sZcWfbWl5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEgeWVkZWsgYmHFn2zEsWt0YWtpIGdlcsOnZWsga29udW0gaWxlIGXFn2xlxZ9taXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIkRpc2sgYsO8dMO8biB2ZXJpeWkgdHV0bWFrIGnDp2luIMOnb2sga8O8w6fDvGsuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICJCaXJpbmNpbCB2ZSB5ZWRlayBiYcWfbMSxayBlxZ9sZcWfbWl5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAldSBkaXNrIGLDtmzDvG3DvCAldSBpbGUgw6dha8SxxZ/EsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjExCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV1IGRpc2sgacOnaW4gw6dvayBiw7x5w7xrLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV1IGJhxZ9sYW1hZGFuIGJpdGl5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIkhpw6diaXIgaGF0YSB0ZXNwaXQgZWRpbGVtZWRpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICJCYcWfbMSxayBzw7xyw7xtw7w6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgIkt1bGxhbsSxbGFuICV1LCAlZCBkaXNrIGLDtmzDvG3DvCBhcmFzxLFkYW4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJUYXBsYW0gJWp1IGJvxZ8gc2VrdMO2ciBrdWxsYW7EsWxhYmlsaXIgZHVydW1kYSAldSBzZWdtZW50IGnDp2luZGVuLiIKK21zZ3N0clsxXSAiVG9wbGFtICVqdSBib8WfIHNla3TDtnIga3VsbGFuxLFsYWJpbGlyIGR1cnVtZGEgJXUgc2VnbWVudCBpw6dpbmRlbiAoZW4gYsO8ecO8xJ/DvCAlcykuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiVkIGhhdGEgdGVzcGl0IGVkaWxkaS4iCittc2dzdHJbMV0gIiVkIGhhdGEgdGVzcGl0IGVkaWxkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzI2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAiQsO8dMO8biBkaXNrIGLDtmzDvG1sZXJpIHphdGVuIGt1bGxhbsSxbMSxeW9yLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICJTZWt0w7ZyICVqdSB6YXRlbiBrdWxsYW7EsWzEsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgJXp1IG9sdcWfdHVydWxhbWFkxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICJTb24ga3VsbGFuxLFsYWJpbGlyIEdQVCBzZWt0w7Zyw7wgJWp1IGFuY2FrICVqdSBpc3RlbmRpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICLEsGxrIGt1bGxhbsSxbGFiaWxpciBHUFQgc2VrdMO2csO8ICVqdSBhbmNhayAlanUgaXN0ZW5kaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAiWWVuaSBiaXIgR1BUIGRpc2tldGlrZXRpIG9sdcWfdHVydWxkdSAoR1VJRDogJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NDYKK21zZ2lkICJFbnRlciBuZXcgZGlzayBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIlllbmkgZGlzayBVVUlEJ3NpbmkgZ2lyaW4gKDgtNC00LTQtMTQgZm9ybWF0xLFuZGEpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY1MworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICJHaXJpbGVuIFVVSUQgYXlyxLHFn3TEsXLEsWxhbWFkxLEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiRGlzayBiZWxpcnRpY2lzaSAlcyBkZW4gJXMgZSBkZcSfacWfdGlyaWxkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjg3Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIlllbmkgZGlzayBiw7Zsw7xtw7wgdGFibG9zdSBpw6dpbiB5ZXRlcmxpIGFsYW4geW9rISIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICMldSBhcmFsxLFrIGTEscWfxLFuZGEgKGVuIGTDvMWfw7xrIGJhxZ9sYW5nxLHDpyAlPFBSSXU2ND4gc2VrdMO2cikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1heGltYWwgZW5kIGlzICU8UFJJdTY0PiBzZWN0b3JzKSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgIyV1IGFyYWzEsWsgZMSxxZ/EsW5kYSAoZW4gecO8a3NlayBiaXRpxZ8gJTxQUkl1NjQ+IHNla3TDtnIpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAiQXphbWkgc2F5xLFkYSBkaXNrIGLDtmzDvG3DvCBvbHXFn3R1cnVsZHUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJCZWxsZWsgdGFoc2lzIGVkaWxlbWVkaSEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBib3l1dHUgJTxQUkl1MzI+IGRlbiAlPFBSSXU2ND4gZSBkZcSfacWfdGlyaWxkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV6dSdkYWtpIMO2em5pdGVsaWtsZXIgMHglMDE2PFBSSXg2ND4nYSBkZcSfacWfdGlyaWxkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIkdVSUQneWUgw7Z6ZWwgYml0aSBnaXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB0b2dnbGUgdW5zdXBwb3J0ZWQgYml0ICVsdSIKK21zZ3N0ciAiZGVzdGVrbGVubWV5ZW4gYml0ICVsdSBkZcSfacWfdGlyaWxlbWVkaSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJHVUlEJ3llIMO2emVsIGJpdCAlZCBkaXNrIGLDtmzDvG3DvCAlenUnZGEgZXRraW5sZcWfdGlyaWxkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkdVSUQneWUgw7Z6ZWwgYml0ICVkIGRpc2sgYsO2bMO8bcO8ICV6dSdkYSBrYXBhdMSxbGTEsS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJCYXlyYWsgJXMgZGlzayBiw7Zsw7xtw7wgJXp1J2RhIGV0a2lubGXFn3RpcmlsZGkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkJheXJhayAlcyBkaXNrIGLDtmzDvG3DvCAlenUnZGEga2FwYXTEsWxkxLEuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiVGlwLVVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAixLBzaW0iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICJCb8WfIGFsYW4iCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzoxMjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAjJXp1IHllbmlkZW4gYm95dXRsYW5kxLFyxLFsYW1hZMSxLiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAiYmlsaW5tZXllbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSBoYW0iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MAorbXNnaWQgIlNHSSBic2QiCittc2dzdHIgIlNHSSBic2QiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICJTR0kgc3lzdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUyCittc2dpZCAiU0dJIHZvbHVtZSIKK21zZ3N0ciAiU0dJIGLDtmzDvG3DvCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiU0dJIGVmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU0Cittc2dpZCAiU0dJIGx2b2wiCittc2dzdHIgIlNHSSBsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIlNHSSBybHZvbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiU0dJIHhmcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU3Cittc2dpZCAiU0dJIHhmc2xvZyIKK21zZ3N0ciAiU0dJIHhmc2xvZyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU4Cittc2dpZCAiU0dJIHhsdiIKK21zZ3N0ciAiU0dJIHhsdiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiU0dJIHh2bSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxIGxpYmZkaXNrL3NyYy9zdW4uYzo1MgorbXNnaWQgIkxpbnV4IG5hdGl2ZSIKK21zZ3N0ciAiTGludXggZG/En2FsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAiU0dJIGJpbGdpc2kgaWtpbmNpIHNla3TDtnJkZSBvbHXFn3R1cnVsYW1hZMSxLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OAorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIllhbmzEscWfIHNhxJ9sYW1hIHRvcGxhbcSxIHZlcmVuIFNHSSBkaXNrZXRpa2V0aSBhbGfEsWxhbmTEsS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiRml6aWtzZWwgc2lsaW5kaXJsZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODYgbGliZmRpc2svc3JjL3N1bi5jOjc4OAorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiRmF6bGFkYW4gc2VrdMO2ci9zaWxpbmRpciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICLDlm55w7xrbGVtZWRvc3lhc8SxIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk0Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIkdlw6dlcnNpeiDDtm55w7xrbGVtZWRvc3lhc8SxISAgw5ZuecO8a2xlbWVkb3N5YXPEsSBzxLFmxLFyIG9sYW1heWFuIHRhbSBiaXIgeW9sIGlzbWkgb2xtYWzEsWTEsXIsIMO2cm4uIFwiL3VuaXhcIiB5YSBkYSBcIi91bml4LnNhdmVcIi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiw5ZuecO8a2xlbWVkb3N5YXPEsSBpc21pIMOnb2sgdXp1bjogYXphbWkgJXp1IGJheXQuIgorbXNnc3RyWzFdICLDlm55w7xrbGVtZWRvc3lhc8SxIGlzbWkgw6dvayB1enVuOiBhemFtaSAlenUgYmF5dC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICLDlm55w7xrbGVtZWRvc3lhc8SxIHRhbSBuaXRlbGlrbGUgeW9sIGlzbWkgb2xtYWzEsWTEsXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgIsOWbnnDvGtsZW1lZG9zeWFzxLFuxLFuIHZhcmzEscSfxLEga29udHJvbCBlZGlsbWV6LiAgU0dJIGnDp2luIHZhcnNhecSxbGFuIFwiL3VuaXhcIiB2ZSB5ZWRlayBkZSBcIi91bml4LnNhdmVcImRpci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAixZ51IGFua2kgw7ZuecO8a2xlbWUgZG9zeWFzxLE6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIlllbmkgw7ZuecO8a2xlbWUgZG9zeWFzxLFuxLEgZ2lyaW5peiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICLDlm55w7xrbGVtZSBkb3N5YXPEsSBkZcSfacWfbWVkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICLDlm55w7xrbGVtZSBkb3N5YXPEsSBcIiVzXCIgb2xhcmFrIGRlxJ9pxZ90aXJpbGRpLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgIkJpcmRlbiBmYXpsYSB0w7xtIGRpc2sgZ2lyZGlzaSBtZXZjdXQuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJUYW7EsW1sYW5hbiBkaXNrIGLDtmzDvG3DvCB5b2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEyCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgMTEnaW4gdMO8bSBkaXNraSBrYXBzYW1hc8SxIElSSVgnZSBkYWhhIHV5Z3VuZHVyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJEaXNraW4gdMO8bcO8bsO8IGthcGxheWFuIGRpc2sgYsO2bMO8bcO8IGJsb2sgMCdkYW4gYmHFn2xhbWFsxLEsIGJsb2sgJWQndGFuIGRlxJ9pbC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8IDExIHTDvG0gZGlza2kga2FwbGFtYWzEsS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICJEaXNrIGLDtmzDvG1sZXJpICVkIHZlICVkLCAlZCBzZWt0w7Zyw7xuZGUgw6dha8SxxZ/EsXlvci4iCittc2dzdHJbMV0gIkRpc2sgYsO2bMO8bWxlcmkgJWQgdmUgJWQsICVkIHNla3TDtnJsZXJpbmRlIMOnYWvEscWfxLF5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiU2VrdMO2ciAlOHUnZGEga3VsbGFuxLFsbWF5YW4gYm/Fn2x1ayAtIHNla3TDtnIgJTh1IgorbXNnc3RyWzFdICJTZWt0w7ZyICU4dSdkYSBrdWxsYW7EsWxtYXlhbiBib8WfbHVrIC0gc2VrdMO2cmxlciAlOHUtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTcKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLDlm55w7xrbGVtZSBkaXNrIGLDtmzDvG3DvCB5b2suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiVGFrYXMgYsO2bMO8bcO8IHlvay4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIlRha2FzIGLDtmzDvG3DvG7DvG4gdGlwaSB0YWthcyBkZcSfaWwuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIkt1bGxhbsSxxZ9zxLF6IGJpciDDtm55w7xrbGVtZSBkb3N5YXPEsSBzZcOndGluaXouIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU4Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBkaXNrdGUgw6dha8SxxZ/EsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICJUw7xtIGRpc2sgZ2lyZGlzaSBvdG9tYXRpayBvbGFyYWsgb2x1xZ90dXJ1bG1heWEgw6dhbMSxxZ/EsWzEsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDgKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIlTDvG0gZGlzayBhbGFuxLEgemF0ZW4gZGlzayBiw7Zsw7xtbGVyaW5jZSBrYXBsYW7EsXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTIKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIkRpc2sgw7x6ZXJpbmRla2kgw6dha8SxxZ9hbiBkaXNrIGLDtmzDvG3DvCB2YXIuIMOWbmNlIGJ1bnUgZMO8emVsdGluISIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICLEsGxrICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgZWxldmVudGggcGFydGl0aW9uIGNvdmVycyB0aGUgZW50aXJlIGRpc2sgYW5kIGlzIG9mIHR5cGUgJ1NHSSB2b2x1bWUnLiIKK21zZ3N0ciAiT25iaXJpbmNpIGRpc2sgYsO2bMO8bcO8bsO8biB0w7xtIGRpc2tpIGthcHNhbWFzxLEgdmUgJ1NHSSB2b2x1bWUnIHRpcGluZGUgb2xtYXPEsSDFn2lkZGV0bGUgdGF2c2l5ZSBlZGlsaXIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAiU29uICVzIHlhIGRhICslcyB5YSBkYSArYm95dXR7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NCBsaWJmZGlzay9zcmMvc3VuLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCAlcydkZSBiYcWfYXLEsXPEsXouICVsbHUgZGXEn2VyaW5kZWtpIGdlb21ldHJpIHNpbGluZGlyaSBrdWxsYW7EsWzEsXlvci4gQnUgZGXEn2VyID4gMzMuOCBHQiBheWfEsXRsYXIgacOnaW4ga8O8w6fDvGx0w7xsZWJpbGlyLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTAKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICJZZW5pIGJpciBTR0kgZGlza2V0aWtldGkgb2x1xZ90dXJ1bGR1LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNjkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIsOcemfDvG7DvHosIHNhZGVjZSBib8WfIG9sbWF5YW4gZGlzayBiw7Zsw7xtbGVyaSBpw6dpbiBldGlrZXRpIGRlxJ9pxZ90aXJlYmlsaXJzaW5pei4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiSVJJWCdpbiBiZWtsZWRpxJ9pIGdpYmksIGRpc2sgYsO2bMO8bcO8IDkndSBiw7Zsw7xtIGJhxZ9sxLHEn8SxICgwKSB2ZSBkaXNrIGLDtmzDvG3DvCAxMSdpIGLDvHTDvG4gYsO2bMO8bSAoNikgacOnaW4gYXnEsXJtYXnEsSBnw7Z6IMO2bsO8bmRlIGJ1bHVuZHVydW4uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiT2ZzZXQgMCdkYWtpIGRpc2sgYsO2bMO8bcO8bsO8biBcIlNHSSB2b2xoZHJcIiB0aXBpbmRlIG9sbWFzxLEgxZ9pZGRldGxlIMO2bmVyaWxpci4gSVJJWCBzaXN0ZW1pLCBzYXNoIHZlIGZ4IGdpYmkgZGl6aW4gYmHEn8SxbXPEsXogYXJhxZ9sYXLEsW5kYW4gYWxtYWsgacOnaW4gb25hIGJhxJ9sxLEgb2xhcmFrIMOnYWzEscWfYWNha3TEsXIuIFNhZGVjZSBcIlNHSSBiw7Zsw7xtXCIgdMO8bSBkaXNrIGLDtmzDvG3DvCBidW51IGlobGFsIGVkZWJpbGlyLiBCdSBkaXNrIGLDtmzDvG3DvG7DvCBmYXJrbMSxIGJpciDFn2VraWxkZSBldGlrZXRsZW1layBpc3RlZGnEn2luaXplIGVtaW4gbWlzaW5pej8iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzozOQorbXNnaWQgIlVuYXNzaWduZWQiCittc2dzdHIgIkF0YW5tYW3EscWfIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyB0YWthcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzCittc2dpZCAiU3VuT1MgdXNyIgorbXNnc3RyICJTdW5PUyB1c3IiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIlTDvG0gZGlzayIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIGFsdGVybmF0aWYgc2VrdMO2cmxlciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAiWWFubMSxxZ8gc2HEn2xhbWEgdG9wbGFtxLEgb2xhbiBiaXIgc3VuIGRpc2tldGlrZXRpIGFsZ8SxbGFuZMSxLk11aHRlbWVsZW4gYsO8dMO8biBkZcSfZXJsZXJpIGF5YXJsYW1hbMSxc8SxbsSxeiwgw7Zybi4ga2FmYWxhciwgc2VrdMO2cmxlciwgc2lsaW5kaXJsZXIgdmUgZGlzayBiw7Zsw7xtbGVyaSB5YSBkYSB5ZW5pIGJpciBldGlrZXRpIHpvcmxhbWFsxLFzxLFuxLF6IChhbmEgbWVuw7xkZWtpIHMga29tdXR1KSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAiWWFubMSxxZ8gc8O8csO8bSBbJWRdIGlsZSBzdW4gZGlzayBldGlrZXRpIGFsZ8SxbGFuZMSxLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICJZYW5sxLHFnyB2dG9jLnNhbml0eSBbMHglMDh4XSBpbGUgc3VuIGRpc2sgZXRpa2V0aSBhbGfEsWxhbmTEsS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICJZYW5sxLHFnyB2dG9jLm5wYXJ0cyBbJXVdIGlsZSBzdW4gZGlzayBldGlrZXRpIGFsZ8SxbGFuZMSxLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJVeWFyxLE6IFlhbmzEscWfIGRlxJ9lcmxlcmluIGTDvHplbHRpbG1lc2kgZ2VyZWtpeW9yIHZlIHkoYXopIHRhcmFmxLFuZGFuIGTDvHplbHRpbGVjZWtsZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAiS2FmYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIlNla3TDtnIvaXoiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICJZZW5pIGJpciBTdW4gZGlza2V0aWtldGkgb2x1xZ90dXIuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBkb2Vzbid0IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIkRpc2sgYsO2bMO8bcO8ICV1IHNpbGluZGlyIHPEsW7EsXLEsW5kYSBiaXRtaXlvci4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggb3RoZXJzIGluIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCAldSBkacSfZXJsZXJpeWxlICV1LSV1IHNla3TDtnJsZXJpbmRlIMOnYWvEscWfxLF5b3IuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICJLdWxsYW7EsWxtYW3EscWfIGJvxZ9sdWsgLSAwLSV1IHNla3TDtnJsZXJpbmRlLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiS3VsbGFuxLFsbWFtxLHFnyBib8WfbHVrIC0gJXUtJXUgc2VrdMO2cmxlcmluZGUuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTM0Cittc2dpZCAiT3RoZXIgcGFydGl0aW9ucyBhbHJlYWR5IGNvdmVyIHRoZSB3aG9sZSBkaXNrLiBEZWxldGUgc29tZS9zaHJpbmsgdGhlbSBiZWZvcmUgcmV0cnkuIgorbXNnc3RyICJEacSfZXIgZGlzayBiw7Zsw7xtbGVyaSBoYWxpaGF6xLFyZGEgYsO8dMO8biBkaXNraSBrYXBzxLF5b3IuIFllbmlkZW4gZGVuZW1lZGVuIMO2bmNlIGJhesSxbGFyxLFuxLEgc2lsaW4va8O8w6fDvGx0w7xuLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiw5zDp8O8bmPDvCBkaXNrIGLDtmzDvG3DvG7DvG4gYsO8dMO8biBkaXNraSBrYXBzYW1hc8SxIHZlIGBUw7xtIGRpc2snIHRpcGluZGUgb2xtYXPEsSDFn2lkZGV0bGUgdGF2c2l5ZSBlZGlsaXIuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIsSwbGsgc2VrdMO2ciBzaWxpbmRpciBzxLFuxLFybGFyxLFuZGEgb2xtYXPEsSBpw6dpbiAldSdkYW4gJXUneWEgaGl6YWxhbsSxeW9yLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIlNla3TDtnIgJWQgemF0ZW4gdGFoc2lzIGVkaWxkaSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIjPDvG5jw7wgZGlzayBiw7Zsw7xtw7wgaWxlIHTDvG0gZGlza2kga2FwbGFtYWTEsW7EsXosIGFuY2FrIGRlxJ9lcmluaXpcbiIKKyIlbHUgJXMgYmF6xLEgYmHFn2thIGLDtmzDvG1sZXJpIGthcGzEsXlvci4gR2lyZGluaXogJWx1ICVzJ2VcbiIKKyJkZcSfacWfdGlyaWxkaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TL1NvbGFyaXMgdXl1bWx1bHXEn3VudSBzw7xyZMO8cm1layBpc3RpeW9yc2FuxLF6LCBidSBkaXNrIGLDtmzDvG3DvG7DvCAwJ2RhIGJhxZ9sYXlhY2FrLCAldSBzZWt0w7ZybMO8IFTDvG0gZGlzayAoNSkgYsO2bMO8bcO8IG9sYXJhayBixLFyYWttYXnEsSBnw7Z6IMO2bsO8bmRlIGJ1bHVuZHVydW4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjMKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiRXRpa2V0IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICJCw7Zsw7xtIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiQWxtYcWfxLFrIHNpbGluZGlybGVyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIkFsbWHFn8SxayBzaWxpbmRpcmxlcmluIHNhecSxc8SxIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTA5Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIlNpbGluZGlyIGJhxZ/EsW5hIGZhemxhZGFuIHNla3TDtnJsZXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAiU2VycGnFn3Rpcm1lIGV0a2VuaSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICJEZXZpciBzYXnEsXPEsSAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIkZpemlrc2VsIHNpbGluZGlybGVyaW4gc2F5xLFzxLEiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ2Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisiU3VuT1MvU29sYXJpcydpbiBiZWtsZWRpxJ9pIHZlIExpbnV4J2EgZGEgdXlndW4gb2xhY2HEn8SxIGdpYmlcbiIKKyJkaXNrIGLDtmzDvG3DvCAzJ8O8IFTDvG0gZGlzayAoNSkgb2xhcmFrIGLEsXJha21hecSxIGfDtnogw7Zuw7xuZGUgYnVsdW5kdXJ1bi5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJPZnNldCAwJ2Rha2kgZGlzayBiw7Zsw7xtw7xuw7xuIFVGUywgRVhUMkZTIGRvc3lhIHNpc3RlbWlcbiIKKyJ5YSBkYSBTdW5PUyB0YWthcyBiw7Zsw7xtw7wgb2xtYXPEsSB0YXZzaXllIGVkaWxpci4gTGludXggdGFrYXMgYWxhbsSxbsSxXG4iCisia295bWFrIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9udXp1IHZlIMO2bnnDvGtsZW1lIGJsb2t1bnV6dSBib3phYmlsaXIuXG4iCisiQnUgZGlzayBiw7Zsw7xtw7xuw7x6w7xuIExpbnV4IHRha2FzIGLDtmzDvG3DvCBvbGFyYWsgZXRpa2V0bGVtZWsgaXN0ZWRpxJ9pbml6ZSBlbWluIG1pc2luaXo/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJva3VtYWJhxJ9sYW50xLFzxLEgYmHFn2FyxLFzxLF6OiAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGZhaWxlZCB0byBhcHBseSBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAiVVlBUkk6IHlhecSxbWxhbWEgYmF5cmFrbGFyxLEgdXlndWxhbmFtYWTEsSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBkZXZpY2Ugd3JpdGUtcHJvdGVjdGVkLCBtb3VudGVkIHJlYWQtb25seSIKK21zZ3N0ciAiJXMgeWF6bWEga29ydW1hbMSxLCBzYWx0LW9rdW51ciBvbGFyYWsgYmHEn2xhbsSxeW9yIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiVzIHphdGVuIGJhxJ9sxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAiJXMsICVzIGnDp2luZGUgYnVsdW5hbWFkxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAiYmHEn2xhbWEgbm9rdGFzxLEgJXMsICVzIGnDp2luZGUgYnVsdW5hbWFkxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAiYmHEn2xhbWEga2F5bmHEn8SxICVzLCAlcyBpw6dpbmRlIGJ1bHVuYW1hZMSxICIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImRpc2stw7x6ZXJpbmRlIGRvc3lhIHNpc3RlbWkgdGlwaSBhbGfEsWxhbmFtYWTEsSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBmaWxlc3lzdGVtIHR5cGUgc3BlY2lmaWVkIgorbXNnc3RyICJkb3N5YSBhZMSxIGJlbGlydGlsbWVkaSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiVzIGJ1bHVuYW1hZMSxIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgImhpw6cgYmHEn2xhbWEgbm9rdGFzxLEgYmVsaXJ0aWxtZWRpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAiYmHEn2xhbm1hIG5va3RhbGFyxLEgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiYmHEn2xhbm1hIG5va3RhbGFyxLEgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAiJXM6IGTDtm5nw7wgYXlnxLF0xLEga3VydWxhbWFkxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciAlcyIKK21zZ3N0ciAiJXM6IMO2cnTDvMWfZW4gZMO2bmfDvCBheWfEsXTEsSB2YXIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsb2NraW5nIGZhaWxlZCIKK21zZ3N0ciAiJXMga2FwYXTEsWxhbWFkxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgJXMgYmHFn2FyxLFzxLF6IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXM6IGRvc3lhIHNpc3RlbWkgYXlyxLFsZMSxIGFuY2FrIG1vdW50KDgpIGJhxZ9hcsSxc8SxeiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiVzOiBkb3N5YSBzaXN0ZW1pIGF5csSxbGTEsSBhbmNhayBtb3VudCg4KSBiYcWfYXLEsXPEsXoiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiYmHEn2xhbWEgbm9rdGFzxLEgJXMgYmlyIGRpemluIGRlxJ9pbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAiZXJpxZ9pbSBlbmdlbGxlbmRpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorbXNnc3RyICJtb3VudCBrdWxsYW5hYmxpbG1layBpw6dpbiBzw7xwZXIga3VsbGFuxLFjxLEgb2x1bm1hbMSxIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgImJhxJ9sYW1hbm9rdGFzxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorbXNnc3RyICJ5YSAlcyB6YXRlbiBiYcSfbMSxIHlhIGRhICVzIG1lxZ9ndWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgInlhICVzIHphdGVuIGJhxJ9sxLEgeWEgZGEgJXMgbWXFn2d1bCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiYmHEn2xhbWEgbm9rdGFzxLEgJXMgeW9rIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICJiYcSfbGFubWEgbm9rdGFzxLEgJXMgaGnDp2JpciB5ZXJpIGfDtnN0ZXJtZXllbiBzZW1ib2xpayBiaXIgYmHEnyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLDtnplbCBheWfEsXQgJXMgbWV2Y3V0IGRlxJ9pbCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQoMikgYmHFn2FyxLFzxLF6IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAiw7Z6ZWwgYXlnxLF0ICVzIG1ldmN1dCBkZcSfaWwgKGRvc3lhIHlvbHUgw7ZuZWtpIGJpciBkaXppbiBkZcSfaWwpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIGJhxJ9sxLEgZGXEn2lsIHlhIGRhIHNlw6dlbmVrIHlhbmzEscWfIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIlcyBiYcSfbGFudMSxIG5va3Rhc8SxIGRlxJ9pbCB5YSBkYSBzZcOnZW5layB5YW5sxLHFnyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorImvDtnTDvCBzZcOnZW5lay4gUGF5bGHFn8SxbGFuIGJpciBiYcSfbGFubWFuxLFuIGFsdMSxbmRhIGJ1bHVuYW4gYmlyIGJhxJ9sYW5tYW7EsSB0YcWfxLFubWFzxLFcbiIKKyIgICAgICAgZGVzdGVrbGVubWVtZWt0ZWRpci4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHQgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSIKK21zZ3N0ciAiIgorIiAgICAgICAoYmlyw6dvayBkb3N5YSBzaXN0ZW1pIGnDp2luIChuZnMsIGNpZnMgdmIpIGJpclxuIgorIiAgICAgICAvc2Jpbi9tb3VudC48dGlwPiB5YXJkxLFtY8SxIHByb2dyYW3EsW5hIGlodGl5YWPEsW7EsXogb2xhYmlsaXIpXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICIiCisiZG9zeWEgc2lzdGVtaSB0w7xyw7wgeWFubMSxxZ8sIHNlw6dlbmVrIHlhbmzEscWfLCAlcyDDvHplcmluZGUgc8O8cGVyYmxva1xuIgorIiAgICAgICBoYXRhbMSxLCBrYXJha3RlciBrw7xtZXNpIGVrc2lrIHlhIGRhIGJhxZ9rYSBiaXIgaGF0YSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgImJhxJ8gdGFibG9zdSBkb2x1IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAiJXM6IHN1cGVyYmxvayBva3VuYW3EsXlvciIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgImRvc3lhIHNpc3RlbWkgdGlwaSAnJXMnIGJpbGlubWl5b3IiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiYmlsaW5tZXllbiBkb3N5YSBzaXN0ZW1pIHRpcGkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU2OAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0KDIpIGZhaWxzPyIKK21zZ3N0ciAiJXMgYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsIHZlIHN0YXQoMikgYmHFn2FyxLFzxLF6IG3EsT8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisiw6dla2lyZGVrICVzIGF5Z8SxdMSxbsSxIGJpciBibG9rIGF5Z8SxdMSxIG9sYXJhayB0YW7EsW3EsXlvclxuIgorIiAgICAgICAoYG1vZHByb2JlIHPDvHLDvGPDvCcgZGVuZW5lYmlsaXI/KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXMgYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsICggYC1vIGxvb3AnIGRlbmVuZWJpbGlyIG1pPykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMgYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBnZcOnZXJsaSBiaXIgYmxvayBheWfEsXTEsSBkZcSfaWwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQgJXMgcmVhZC1vbmx5IgorbXNnc3RyICIlcyBzYWx0LW9rdW51ciBiYcSfbGFuYW3EsXlvciIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiVzIHlhem1hIGtvcnVtYWzEsSBvbGR1xJ91IGhhbGRlIGFsZW5lbiBgLXcnIHNlw6dlbmXEn2kgYmVsaXJ0aWxtacWfIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICIlcyBva3VudXIteWF6xLFsxLFyIG9sYXJhayB5ZW5pZGVuIGJhxJ9sYW5hbcSxeW9yLCB5YXptYSBrb3J1bWFsxLEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgIiVzIGJhxZ9hcsSxc8SxeiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1lZGl1bSBmb3VuZCBvbiAlcyIKK21zZ3N0ciAiJXMgw7x6ZXJpbmRlIG9ydGFtIGJ1bHVuYW1hZMSxIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudDsgcHJvYmFibHkgY29ycnVwdGVkIGZpbGVzeXN0ZW0gb24gJXMiCittc2dzdHIgIiclcycgw7x6ZXJpbmRlIGRvc3lhIHNpc3RlbWkgb2x1xZ90dXJtYXlhIMOnYWzEscWfxLFsbWF5YWNhayIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnRlZCIKK21zZ3N0ciAiJXM6IGJhxJ9sxLEgZGXEn2lsIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IHVtb3VudCBiYcWfYXLEsXPEsXoiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICIlczogZG9zeWEgc2lzdGVtaSBheXLEsWxkxLEgYW5jYWsgbW91bnQoOCkgYmHFn2FyxLFzxLF6IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IGRvc3lhIHNpc3RlbWkgYXlyxLFsZMSxIGFuY2FrIG1vdW50KDgpIGJhxZ9hcsSxc8SxeiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBibG9rIGF5Z8SxdMSxIGdlw6dlcnNpeiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiJXM6IHN1cGVyYmxvayB5YXrEsWxhbcSxeW9yIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YXJnZXQgaXMgYnVzeSIKK21zZ3N0ciAiaGVkZWYgbWV2Y3V0IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgImhpw6cgYmHEn2xhbWEgbm9rdGFzxLEgYmVsaXJ0aWxtZWRpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlczogYXnEsXJtYWsgacOnaW4gc8O8cGVyIGt1bGxhbsSxY8SxIG9sbWFrIGdlcmVrbGkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IGRvc3lhIHNpc3RlbWluZGUgYmxvayBheWfEsXRsYXJhIGl6aW4geW9rIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQoMikgYmHFn2FyxLFzxLF6IgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCBiYcWfYXLEsXPEsXogKCVzKSIKKworIzogbGliL3BhdGguYzoyMzkgc3lzLXV0aWxzL2xzY3B1LmM6MTc2MAorbXNnaWQgImZhaWxlZCB0byBjYWxsb2NhdGUgY3B1IHNldCIKK21zZ3N0ciAiY3B1IHNldGkgdGFoc2lzIGVkaWxlbWVkaSIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICJDUFUgbGlzdGVzaSAlcyBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICJDUFUgbWFza8SxICVzIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjczCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICJVTklYIHNva2V0aSBhw6fEsWxhbWFkxLEiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJVTklYIHNva2V0aSBpw6dpbiBzZcOnZW5layBheWFybGFuYW1hZMSxIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICJVTklYIHNva2V0aW5lIGJhxJ9sYW7EsWxhbWFkxLEiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAicGx5bW91dGggaXN0ZcSfaSAlYyBnZXLDp2VrbGVubWVkaSIKKworIzogbGliL3JhbmR1dGlscy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJnZXRyYW5kb20oKSBmdW5jdGlvbiIKK21zZ3N0ciAibGliYyBzw7Z6ZGUtcmFzdGdlbGUgZm9ua3NpeW9ubGFyIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAibGliYyBzw7Z6ZGUtcmFzdGdlbGUgZm9ua3NpeW9ubGFyIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzOiBheWfEsXQgeW9rbGFuYW1hZMSxIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiVzOiBiZWxpcnNpeiB5b2tsYW1hIHNvbnVjdTsgd2lwZWZzKDgpIGt1bGxhbsSxbiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVzOiBnZcOnZXJsaSBiaXIgdGFrYXMgYsO2bMO8bcO8IGRlxJ9pbCIKKworIzogbGliL3N3YXBwcm9iZXIuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5zdXBwb3J0ZWQgc3dhcCB2ZXJzaW9uICclcyciCittc2dzdHIgIiVzOiBkZXN0ZWtsZW5tZXllbiB0YWthcyBzw7xyw7xtw7wgJyVzJyIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorIywgZnV6enkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgIm5hbWVpOiB0YW1wb24gYmVsbGVrdGUgdGHFn21hXG4iCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NzcgbGliL3RpbWV1dGlscy5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiRGXEn2VyIGFyYWzEsWsgZMSxxZ/EsW5kYS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gWzxrdWxsYW7EsWPEsWFkxLE+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIktpbWxpayBiaWxnaWxlcmluaXppIGRlxJ9pxZ90aXJpbi5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorbXNnaWQgIiAtZiwgLS1mdWxsLW5hbWUgPGZ1bGwtbmFtZT4gIHJlYWwgbmFtZVxuIgorbXNnc3RyICIgLWYsIC0tZnVsbC1uYW1lIDx0YW0taXNpbT4gIGdlcsOnZWsgaXNpbVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmlzIG51bWFyYXPEsVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmlzIHRlbGVmb24gbnVtYXJhc8SxXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBldiB0ZWxlZm9uIG51bWFyYXPEsVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJhbGFuICVzIMOnb2sgdXp1biIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIlczogZ2XDp2Vyc2l6IGthcmFrdGVyIGnDp2VyaXlvciIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW4uZGVmcyBmb3JiaWRzIHNldHRpbmcgJXMiCittc2dzdHIgImxvZ2luLmRlZnMgJXMgYXlhcsSxbmEgaXppbiB2ZXJtZXoiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzI2Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICJPZmlzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMyOAorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAiT2ZpcyBUZWxlZm9udSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NCBsb2dpbi11dGlscy9jaGZuLmM6MTc2IGxvZ2luLXV0aWxzL2NoZm4uYzozMzAKK21zZ2lkICJIb21lIFBob25lIgorbXNnc3RyICJFdiBUZWxlZm9udSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjE5NCBsb2dpbi11dGlscy9jaHNoLmM6MTg3Cittc2dpZCAiY2Fubm90IGhhbmRsZSBtdWx0aXBsZSB1c2VybmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI0OAorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICLEsHB0YWwgZWRpbGRpLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIGJla2xlbm1leWVuIGRlxJ9lciBpw6dlcml5b3I6ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBoZXJoYW5naSBkZcSfacWfaWtsacSfZSBpemluIHZlcm1peW9yIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn3RpcmlsZW1lZGkuIERhaGEgc29ucmEgdGVrcmFyIGRlbmV5aW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIkt1bGxhbsSxY8SxIGJpbGdpbGVyaSBkZcSfacWfdGlyaWxkaS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICJ5b2tzdW51eiAoa3VsbGFuxLFjxLEgJWQgeW9rKS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJrdWxsYW7EsWPEsSBcIiVzXCIgeW9rLiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNyBsb2dpbi11dGlscy9jaHNoLmM6Mjg0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgInNhZGVjZSB5ZXJlbCBnaXJkaWxlcmkgZGXEn2nFn3RpcmViaWxpciIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyAlcyBpbiBraW1saWsgYmlsZ2lsZXJpbmkgZGXEn2nFn3Rpcm1layBpw6dpbiB5ZXRraWxpIGRlxJ9pbCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgIkt1bGxhbsSxY8SxIGJhxJ9sYW3EsSBiaWxpbm1peW9yIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiVzIGnDp2luIHZhcnNhecSxbGFuIGnDp2VyaWsgYXlhcmxhbmFtYWTEsSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIm1ldmN1dCBrdWxsYW7EsWPEsSBVSUQnc2kgaWxlIGRlxJ9pxZ90aXJpbGVuIGt1bGxhbsSxY8SxIFVJRCdzaSBlxZ9sZcWfbWl5b3IsIGRlxJ9pxZ9pbSBpcHRhbCBlZGlsZGkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAiJXMgacOnaW4ga3VsbGFuxLFjxLEgYmlsZ2lsZXJpIGRlxJ9pxZ90aXJpbGl5b3IuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJLdWxsYW7EsWPEsSBiaWxnaWxlcmkgZGXEn2nFn21lZGkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICJHaXJpxZ8ga2FidcSfdW51IGRlxJ9pxZ90aXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBnaXJpxZ8ga2FidcSfdW51IGJlbGlydFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODEKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIGthYnVrbGFyxLFuIGxpc3Rlc2luaSB5YXpkxLFyIHZlIMOnxLFrXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgImthYnVrIHRhbSB5b2wgaXNtaSBvbG1hbMSxIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiXCIlc1wiIHlvayIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIlwiJXNcIiDDp2FsxLHFn3TEsXLEsWxhYmlsaXIgZGXEn2lsIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiVXlhcsSxOiBcIiVzXCIsICVzIGnDp2luZGUgbGlzdGVsZW5tZWRpLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisiXCIlc1wiLCAlcyBpw6dpbmRlIGxpc3RlbGVubWVkaS5cbiIKKyJMaXN0ZXlpIGfDtnJtZWsgacOnaW4gJXMgLWwnaSBrdWxsYW4uIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzLCAlcydpbiBrYWJ1xJ91bnUgZGXEn2nFn3Rpcm1layBpw6dpbiB5ZXRraWxpIGRlxJ9pbC4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICLDp2FsxLHFn2FuIFVJRCBkZcSfacWfdGlyaWxlbiBrdWxsYW7EsWPEsW7EsW4gVUlEJ3NpIGlsZSBlxZ9sZcWfbWl5b3IsIGthYnVrIGRlxJ9pxZ9pbWkgZW5nZWxsZW5kaSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAia2FidcSfdW51eiAlcyBpw6dpbmRlIGRlxJ9pbCwga2FidWsgZGXEn2nFn2ltaSBlbmdlbGxlbmRpIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIHNoZWxsIGZvciAlcy5cbiIKK21zZ3N0ciAiJXMgacOnaW4ga2FidWsgZGXEn2nFn3RpcmlsaXlvci5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAiWWVuaSBrYWJ1ayIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiS2FidWsgZGXEn2nFn3RpcmlsbWVkaS4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiS2FidWsgZGXEn2nFn3RpcmlsTUVExLAuICBEYWhhIHNvbnJhIHllbmlkZW4gZGVuZXlpbi4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSBiYcWfYXLEsXPEsXpcbiIKKyJLYWJ1ayBkZcSfacWfdGlyaWxNRUTEsC4gRGFoYSBzb25yYSB5ZW5pZGVuIGRlbmV5aW4uIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIkthYnVrIGRlxJ9pxZ90aXJpbGRpLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAiS3VsbGFuxLFtOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAiYmlsaW5tZXllbiB6YW1hbiBmb3JtYXTEsTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiRHVyZHVydWxkdSAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIsO2bmF5xLFybWEgYm95dXR1IHPEsW7EsXLEsSBhxZ90xLEiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIlNvbiBnaXJpxZ8geWFwYW4ga3VsbGFuxLFjxLFsYXLEsW4gbGlzdGVzaW5pIGfDtnN0ZXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzgKK21zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLTxudW1iZXI+ICAgICAgICAgICAgZ8O2c3RlcmlsZWNlayBzYXTEsXIgc2F5xLFzxLFcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIG1hbmlrZSBpc2ltbGVyaW5pIHNvbiBzw7x0dW5kYSBnw7ZzdGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgIElQIG51bWFyYXPEsW7EsSBnZXJpIG1ha2luZSBpc21pbmUgw6dldmlyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgJXMgeWVyaW5lIGJlbGlydGlsZW4gZG9zeWEgaXNtaW5pIGt1bGxhblxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHTDvG0gZ2lyacWfIHZlIMOnxLFrxLHFnyB6YW1hbmxhcsSxbsSxIHZlIHRhcmlobGVyaW5pIHlhemTEsXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXAgICAgICAgICAgICAgSVAgbnVtYXJhbGFzxLFuxLEgc2F5xLFsYXItdmUtbm9rdGFsYXIgZm9ybWF0xLFuZGEgZ8O2c3RlclxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGfDtnN0ZXJpbGVjZWsgc2F0xLFyIHNhecSxc8SxXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIG1ha2luZSBhZMSxIGFsYW7EsW7EsSBnw7ZzdGVybWVcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NworbXNnaWQgIiAtcywgLS1zaW5jZSA8dGltZT4gICBkaXNwbGF5IHRoZSBsaW5lcyBzaW5jZSB0aGUgc3BlY2lmaWVkIHRpbWVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpbmNlIDx6YW1hbj4gICBiZWxpcnRpbGVuIHphbWFuZGFuIGJ1IHlhbmEgb2xhbiBzYXTEsXJsYXLEsSBnw7ZzdGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8dGltZT4gICBiZWxpcnRpbGVuIHphbWFuYSBrYWRhciBvbGFuIHNhdMSxcmxhcsSxIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBiZWxpcnRpbGVuIHphbWFuZGEgb2xhbsSxIGTDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MAorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiAtdywgLS1mdWxsbmFtZXMgICAgICB0YW0ga3VsbGFuxLFjxLEgdmUgbWFraW5lIGlzaW1sZXJpbmkgZ8O2c3RlclxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICBzaXN0ZW0ga2FwYW7EscWfIGdpcmRpbGVyaW5pIHZlIMOnYWzEscWfdMSxcm1hIHNldml0ZXNpIGRlxJ9pxZ9pa2xpa2xlcmluaSBnw7ZzdGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTIKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHphbWFuIGRhbWdhbGFyxLFuxLEgYmVsaXJ0aWxlbiA8Zm9ybWF0PnRhIGfDtnN0ZXI6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHphbWFueW9rfGvEsXNhfHRhbXxpc29cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJXMgJXMndGUgYmHFn2zEsXlvciIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk3MiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciIKK21zZ3N0ciAic2F5xLEgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHphbWFuIGRlxJ9lcmkgXCIlc1wiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJHcnVwIGl6aW5sZXJpIGthbGTEsXLEsWxhbWFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJsaWJ1c2VyIGJhxZ9sYXTEsWxhbWFkxLE6ICVzIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgImt1bGxhbsSxY8SxIMO2em5pdGVsacSfaW5pIGRlxJ9pxZ90aXJpbGVtZWRpIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICJrdWxsYW7EsWPEsSDDtnpuaXRlbGnEn2kgZGXEn2nFn21lZGk6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIsOWTMOcTUPDnEw6IHR0eSB0ZWtyYXIgYcOnxLFsYW3EsXlvcjogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiw5ZMw5xNQ8OcTDogJXMgYmlyIHXDpyBiaXJpbSBkZcSfaWwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duICglcywgJWx1LCAlbHUpIGJhxZ9hcsSxc8SxejogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIGJhxZ9hcsSxc8SxejogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzgwCittc2dpZCAiRkFUQUw6IGJhZCB0dHkiCittc2dzdHIgIsOWTMOcTUPDnEw6IHR0eSBoYXRhbMSxIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICLDlkzDnE1Dw5xMOiAlczogaXppbmxlcmkgZGXEn2nFn3Rpcm1lIGJhxZ9hcsSxc8SxejogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICJTb24gZ2lyacWfOiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgInN1bGFyxLFuZGEgJS4qcyBtYWtpbmFzxLFuYSB5YXDEsWxkxLFcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICJzdWxhcsSxbmRhICUuKnMga29uc29sdW5hIHlhcMSxbGTEsVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJzb24gZ8O8bmzDvGsgeWF6xLFsYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIiVzIMOcWkVSxLBOREVOICVzIMSwU03EsFlMRSBESUFMVVAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiJXMgw5xaRVLEsE5ERU4gJXMgTUFLxLBOQVNJTkEgUk9PVCBHxLBSxLDFnsSwIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICIlcyDDnFpFUsSwTkRFIFJPT1QgR8SwUsSwxZ7EsCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAiJXMgw5xaRVLEsE5ERU4gJXMsICVzIE1BS8SwTkFTSU5BIEfEsFJExLAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICIlcyDDnFpFUsSwTkRFTiAlcyBTxLBTVEVNRSBHxLBSRMSwIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY4NgorbXNnaWQgImxvZ2luOiAiCittc2dzdHIgIkt1bGxhbsSxY8SxIGlzbWk6ICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUEFNIGZhaWx1cmUsIGFib3J0aW5nOiAlcyIKK21zZ3N0ciAiUEFNIHNvcnVudSwgaXB0YWwgZWRpbGl5b3I6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxOAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZG4ndCBpbml0aWFsaXplIFBBTTogJXMiCittc2dzdHIgIlBBTSBiYcWfbGF0xLFsYW1hZMSxOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiQkHFnkFSSVNJWiBHxLBSxLDFniAldSAlcyBERU4gJXMgxLDDh8SwTiwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzk3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkdpcmnFnyBiYcWfYXLEsXPEsXpcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIsOHT0sgRkFaTEEgR8SwUsSwxZ4gREVORU1FU8SwICgldSkgJXMgREVOICVzIMSww4fEsE4sICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiVzIE1BS8SwTkFTSU5BICVzIMSww4fEsE4gR8SwUsSwxZ4gT1RVUlVNVSBLQVBBTkRJLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisiR2lyacWfIGJhxZ9hcsSxc8SxelxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisiT3R1cnVtIGt1cnVsdW0gc29ydW51LCDDp8Sxa8SxbMSxeW9yLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiJXMgacWfbGV2aW5pbiAlZC4gc2F0xLFyxLFuZGEga3VsbGFuxLFjxLEgaXNtaSB5b2sgKE5VTEwpLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBiYcWfYXLEsXPEsXo6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXBdIFstaCA8aG9zdD5dIFstSF0gW1stZl0gPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtOiBsb2dpbiBbLXBdIFstaCA8bWFraW5lPl0gWy1IXSBbWy1mXSA8a3VsbGFuxLFjxLFhZMSxPl1cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAwCittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIlNpc3RlbWRlIGJpciBvdHVydW0gYmHFn2xhdC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAtZiAgICAgICAgICAgdXp1biBzYXTEsXJsYXLEsSBiw7ZsbWVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAtdSAgICAgICAgICBhbHQgw6dpemdpbGVtZXlpIGJhc2vEsWxhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICIldSBzYW5peWUgc29ucmEgemFtYW4gYcWfxLFtxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgImxvZ2luOiAtaCBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBrdWxsYW7EsWxhYmlsaXIuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiJTIkcyBpxZ9sZXZpbmluICUzJGQuIHNhdMSxcsSxbmRhIGt1bGxhbsSxY8SxIGlzbWkgXCIlMSRzXCIgZ2XDp2Vyc2l6LiDDh8Sxa8SxbMSxeW9yLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJncnVwbGFyIGJhxZ9sYXTEsWxhbWFkxLE6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIGJhxZ9hcsSxc8SxeiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICJZZW5pIGUtcG9zdGFuxLF6IHZhci5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIkUtcG9zdGFuxLF6IHZhci5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBiYcWfYXLEsXPEsXoiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6IGRpemluIGRlxJ9pxZ90aXJpbGVtZWRpIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dnaW5nIGluIHdpdGggaG9tZSA9IFwiL1wiLlxuIgorbXNnc3RyICJFdiBkaXppbmkgXCIvXCIgaWxlIGdpcmnFny5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImthYnVrIGJldGnEn2kgw6dhbMSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAia2FidWsgeW9rIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6ICVzIGdlw6dlcnNpeiBzYXnEsXNhbCBkZcSfZXIgacOnZXJpeW9yOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MzgzCittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAic2Vzc2l6IGdpcmnFnyBkdXJ1bXU6IG9yaWppbmFsIElEJ2xlciB5ZW5pZGVuIHnDvGtsZW5lbWVkaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTQzNiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2CisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJubyIKK21zZ3N0ciAiaGF5xLFyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJrdWxsYW7EsWPEsSBhZMSxIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICJLdWxsYW7EsWPEsWFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgImt1bGxhbsSxY8SxIElEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAicGFyb2xhIGdlcmVrbWl5b3IiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAiUGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICJQYXJvbGEgZ2VyZWttaXlvciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAicGFyb2xhIGlsZSBnaXJpxZ8ga2FwYWzEsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJMb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiUGFyb2xhIGlsZSBnaXJpxZ8ga2FwYWzEsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJwYXJvbGEgdGFuxLFtbMSxIGFuY2FrIGtpbGl0bGkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJQYXJvbGEga2lsaXRsaS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgImdpcmnFnyBub2xvZ2luKDgpIHlhIGRhIHBhbV9ub2xvZ2luKDgpIHRhcmFmxLFuZGFuIGthcGF0xLFsZMSxIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJHaXJpxZ8geW9rIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgInByaW1hcnkgZ3JvdXAgbmFtZSIKK21zZ3N0ciAiYmlyaW5jaWwgZ3J1cCBpc21pIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIkJpcmluY2lsIGdydXAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiYmlyaW5jaWwgZ3J1cCBJRCdzaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICJ0YW1hbWxhecSxY8SxIGdydXAgaXNpbWxlcmkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIlRhbWFtbGF5xLFjxLEgZ3J1cGxhciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAidGFtYW1sYXnEsWPEsSBncnVwIElEbGVyaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiVGFtYW1sYXnEsWPEsSBncnVwIElEbGVyaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiZXYgZGl6aW5pIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJFdiBkaXppbmkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgImdpcmnFnyBrYWJ1xJ91IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgIlNoZWxsIgorbXNnc3RyICJLYWJ1ayIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAidGFtIGt1bGxhbsSxY8SxIGFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkdlY29zIGFsYW7EsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgInNvbiBnaXJpxZ8gdGFyaWhpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorbXNnaWQgIkxhc3QgbG9naW4iCittc2dzdHIgIlNvbiBnaXJpcsWfIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgImxhc3QgdHR5IHVzZWQiCittc2dzdHIgImt1bGxhbsSxbGFuIHNvbiB0dHkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAiTGFzdCB0ZXJtaW5hbCIKK21zZ3N0ciAiU29uIHXDpyBiaXJpbSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAic29uIG90dXJ1bSBzxLFyYXPEsW5kYWtpIG1ha2luZSBhZMSxIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgInNvbiBtYWtpbmUgYWTEsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICJiYcWfYXLEsXPEsXogc29uIGdpcmnFn2luIHRhcmloaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgIkJhxZ9hcsSxc8SxeiBnaXJpxZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiZ2lyacWfIG5lcmVkZSBiYcWfYXLEsXPEsXogb2xkdT8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJHaXJpw6cgdcOnIGJpcmltaSBiYcWfYXLEsXPEsXoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgImt1bGxhbsSxY8SxbsSxbiBwYXJvbGEgc29uYSBlcm1lc2kgacOnaW4gdXlhcsSxbGTEscSfxLEgZ8O8bmxlciIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIlBhcm9sYSBzb25hIGVyaW1pIHV5YXLEsSBhcmFsxLHEn8SxIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAicGFyb2xhIHNvbmEgZXJpbSB0YXJpaGkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiUGFyb2xhIHNvbmEgZXJpbWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAic29uIHBhcm9sYSBkZcSfacWfdGlybWUgdGFyaWhpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgIlBhc3N3b3JkIGNoYW5nZWQiCittc2dzdHIgIlBhcm9sYSBkZcSfacWfdGlyaWxkaS4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJkZcSfacWfaWtsaWsgYXJhc8SxbmRhIGdlw6dtZXNpIGdlcmVrZW4gZ8O8biBzYXnEsXPEsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJBc2dhcmkgZGXEn2nFn2ltIHphbWFuxLEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgImJpciBwYXJvbGFuxLFuIGRlxJ9pxZ90aXJpbG1lZGVuIGthbGFiaWxlY2XEn2kgYXphbWkgZ8O8biBzYXnEsXPEsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICJFbiB1enVuIGRlxJ9pxZ9pbSB6YW1hbsSxIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAia3VsbGFuxLFjxLFuxLFuIGfDvHZlbmxpayBpw6dlcmnEn2kiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJTZWxpbnV4IGnDp2VyacSfaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAia3VsbGFuxLFjxLEgdGFyYWbEsW5kYW4gw6dhbMSxxZ90xLFyxLFsYW4gc8O8cmXDpyBzYXnEsXPEsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiw4dhbMSxxZ9hbiBzw7xyZcOnbGVyIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICLDp29rIGZhemxhIHPDvHR1biBiZWxpcnRpbGRpLCBsaW1pdCAlenUgc8O8dHVuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgImRlc3Rla2xlbm1leWVuIHphbWFuIHRpcGkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ2Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgInphbWFuIGthcmFrdGVyIGRpemlzaSBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgInRhbWFtbGF5xLFjxLEgZ3J1cGxhciBhbMSxbmFtYWTEsSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICJkYWhpbGkgaGF0YTogYmlsaW5tZXllbiBzw7x0dW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisiU29uIGfDvG5sw7xrIGdpcmRpbGVyaTpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIlNpc3RlbWRla2kgYmlsaW5lbiBrdWxsYW7EsWPEsWxhciBoYWtrxLFuZGEgYmlsZ2kgZ8O2c3Rlci5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBwYXJvbGEgemFtYW4gYcWfxLFtxLEgaGFra8SxbmRhIGJpbGdpIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMzCittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIHZlcml5aSAvZXRjL3Bhc3N3ZCBkb3N5YXPEsW5kYWtpbmUgYmVuemVyIGJpw6dpbWRlIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM0IHN5cy11dGlscy9sc2lwYy5jOjI5NworbXNnaWQgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZGlzcGxheSBpbiBhbiBleHBvcnQtYWJsZSBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHBvcnQgICAgICAgICAgICAgZMSxxZ9hIGFrdGFyxLFsYWJpbGlyIMOnxLFrdMSxIGZvcm1hdMSxbmRhIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM1Cittc2dpZCAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBkaXNwbGF5IGRhdGEgYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGZhaWxlZCBsb2dpbnNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhaWxlZCAgICAgICAgICAgICBrdWxsYW7EsWPEsWxhcsSxbiBzb24gYmHFn2FyxLFzxLF6IGdpcmnFnyBkZW5lbWVsZXJpIGhha2vEsW5kYSBiaWxnaSBnw7ZzdGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBncnVwbGFyIGhha2vEsW5kYSBiaWxnaSBnw7ZzdGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTxncm91cGxhcj4gICAgPGdyb3VwbGFyPiBpw6dpbmRla2kgZ3J1YmEgZGFoaWwgb2xhbiBrdWxsYW7EsWPEsWxhcsSxIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAga3VsbGFuxLFjxLFsYXLEsW4gc29uIGdpcmnFnyBvdHVydW1sYXLEsSBoYWtrxLFuZGEgYmlsZ2kgZ8O2c3RlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PGdpcmnFn2xlcj4gICAgc2FkZWNlIDxnaXJpxZ9sZXI+ZGVuIGt1bGxhbsSxY8SxbGFyxLEgZ8O2c3RlclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGhlciBiaXIgYmlsZ2kgcGFyw6dhc8SxbsSxIHllbmkgYmlyIHNhdMSxcmRhIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBiYcWfbMSxa2xhcsSxIHlhemTEsXJtYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICDDp8Sxa3TEsXnEsSBrxLFycG1hXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3RlPl0gICAgw6fEsWt0xLFsYW5hY2FrIHPDvHR1bmxhcsSxIHRhbsSxbWxhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NAorbXNnaWQgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiByZWxhdGVkIHRvIGxvZ2luIGJ5IHBhc3N3b3JkLlxuIgorbXNnc3RyICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIHBhcm9sYSBpbGUgZ2lyacWfbGUgYWxha2FsxLEgYmlsZ2kgZ8O2c3Rlci5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGhhbSBtb2RkYSBnw7ZzdGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBzaXN0ZW0gaGVzYXBsYXLEsW7EsSBnw7ZzdGVyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQ9PHRpcD4gdGFyaWhsZXJpIGvEsXNhLCB0YW0geWEgZGEgaXNvIGZvcm1hdMSxbmRhIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBrdWxsYW7EsWPEsSBoZXNhcGxhcsSxbsSxIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBTRUxpbnV4IGnDp2VyacSfaW5pIGfDtnN0ZXJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIGt1bGxhbsSxY8SxIGdpcmRpbGVyaW5pIGJpciBib8WfIGthcmFrdGVyIGlsZSBhecSxclxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDx5b2w+ICAgd3RtcCBpw6dpbiBhbHRlcm5hdGlmIHlvbCBheWFybGFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA8eW9sPiAgIGJ0bXAgacOnaW4gYWx0ZXJuYXRpZiBiaXIgeW9rIGF5YXJsYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICJzZWxpbnV4IGR1cnVtdSBpc3RlbmVtZWRpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAiU2FkZWNlIGJpciBrdWxsYW7EsWPEsSBiZWxpcnRpbGViaWxpci4gw4dva2x1IGt1bGxhbsSxY8SxIGnDp2luIC1sIGt1bGxhbsSxbi4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJ1w6cgYmlyaW0gw7Z6bml0ZWxpa2xlcmkgYXlhcmxhbmFtYWTEsSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJnZXRsaW5lKCkgYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICJQYXJvbGE6ICIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTYwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5OTUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IGJhxZ9hcsSxc8SxeiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAlcyA8Z3J1cD5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICJZZW5pIGJpciBncnViYSBnaXJpxZ8geWFwLlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgInNpeiBraW1zaW5pej8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNyBsb2dpbi11dGlscy9uZXdncnAuYzoyMjkgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzQKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQgYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0Cittc2dpZCAibm8gc3VjaCBncm91cCIKK21zZ3N0ciAiYsO2eWxlIGJpciBncnVwIHlvayIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIGJhxZ9hcsSxc8SxeiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjMwCittc2dpZCAiUG9saXRlbHkgcmVmdXNlIGEgbG9naW4uXG4iCittc2dzdHIgIktpYmFyY2EgYmlyIGdpcmnFn2kgcmVkZGV0LlxuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJCdSBoZXNhcCDFn3UgYW4ga3VsbGFuxLFsYWJpbGlyIGRlxJ9pbC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAow6dla2lyZGVrIGTDtmvDvGxkw7wpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgInXDpyBiaXJpbSDDtnpuaXRlbGlrbGVyaSBhbMSxbmFtYWTEsSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcHNldWRvLXRlcm1pbmFsIgorbXNnc3RyICJ5ZW5pIGJpciBkaXNrZXRpa2V0aSBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgInNpbnlhbGxlciBibG9rbGFuYW3EsXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI0IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzo0OTQKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAicG9sbCBiYcWfYXLEsXPEsXoiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjY3MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICJkaXppbiBhw6fEsWxhbWFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwNgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAicm9vdCBvbG1heWFuIGt1bGxhbsSxY8SxbGFyIHRhcmFmxLFuZGFuIGt1bGxhbsSxbGFtYXoiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAiaGF0YWzEsSBwYXJvbGEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAib3R1cnVtIGHDp8SxbGFtxLF5b3I6ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NzkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3ODcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siCittc2dzdHIgInNpbnlhbGxlciBibG9rbGFuYW3EsXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgInNpbnlhbCBpxZ9sZXlpY2lzaSBheWFybGFuYW3EsXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODA1IG1pc2MtdXRpbHMvdXVpZGQuYzozOTggc3lzLXV0aWxzL2xzY3B1LmM6NzQzCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc5NgorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgInNpbnlhbCBpxZ9sZXlpY2lzaSBheWFybGFuYW3EsXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgInNpbnlhbCBpxZ9sZXlpY2lzaSBheWFybGFuYW3EsXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJhbHQgc8O8cmXDpyBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIiVzIGRpemluaW5lIGdpcmlsZW1peW9yIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZCwga2lsbGluZyBzaGVsbC4uLiIKK21zZ3N0ciAiIgorIlxuIgorIk90dXJ1bSBzb25sYW5kxLFyxLFsxLF5b3IsIGthYnVrIGthcGF0xLFsxLF5b3IuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4ua2FwYXTEsWxkxLEuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJPcnRhbSBkZcSfacWfa2VuaSAlcyBheWFybGFuYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgImdydXBsYXIgYXlhcmxhbmFtYWTEsSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJzZXZpeWUgJyVzJyBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyMiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICJncnVwIGlkJ3NpIGF5YXJsYW5hbWFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjQgc3lzLXV0aWxzL2VqZWN0LmM6NjYzCittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICJrdWxsYW7EsWPEsSBpZCdzaSBheWFybGFuYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBvcnRhbSBkZcSfacWfa2VubGVyaW5pIHPEsWbEsXJsYW1hXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIGJpcmluY2lsIGdydWJ1IGJlbGlydFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIgorIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHRhbWFtbGF5xLFjxLEgYmlyIGdydXAgYmVsaXJ0XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTcKK21zZ2lkICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIGthYnXEn3UgZ2lyacWfIGthYnXEn3UgeWFwXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAga2FidcSfYSAtYyBpbGUgdGVrIGJpciBrb211dCBnZcOnaXJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIGthYnXEn2EgLWMgaWxlIHRlayBiaXIga29tdXQgZ2XDp2lyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZSB5ZW5pIGJpciBvdHVydW0gb2x1xZ90dXJtYVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAxCittc2dpZCAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKK21zZ3N0ciAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgICAga2FidcSfYSAtZiBwYXJhbWV0cmVzaW5pIGdlw6dpcmluIChjc2ggeWEgZGEgdGNzaCBpw6dpbilcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPGthYnVrPiAgICAgICAgICAgICAvZXRjL3NoZWxscyBpemluIHZlcml5b3JzYSBrYWJ1xJ91IMOnYWzEscWfdMSxclxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIG5ldyBwc2V1ZG8tdGVybWluYWxcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBiaXIgdGFibG8gb2x1xZ90dXJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbc2XDp2VuZWtsZXJdIDxheWfEsXQ+IFtbLU5dIDxiw7Zsw7xtPl1cbiIKKyIgJTEkcyBbc2XDp2VuZWtsZXJdIDxrb211dD5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExOAorIywgZnV6enkKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiXG4iCisiPGNvbW1hbmQ+aSA8dXNlcj7EsW4gZXRraW4ga3VsbGFuxLFjxLEgdmUgZ3J1cCBraW1sacSfaSBpbGUgw6dhbMSxxZ90xLFyLiAgRcSfZXIgLXVcbiIKKyJ2ZXJpbG1lZGl5c2UsIHN1KDEpLXV5dW1sdSB5YXDEsXlhIGdlcmkgZMO2biB2ZSBzdGFuZGFydCBrYWJ1xJ91IMOnYWzEscWfdMSxci5cbiIKKyJQYXJhbWF0cmVsZXIgLWMsIC1mLCAtbCB2ZSAtcywgLXUgaWxlIGthcsWfxLFsxLFrbMSxIGTEscWfbGF5YW5kxLFyLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICBrdWxsYW7EsWPEsSBpc21pXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIjx1c2VyPiBpw6dpbiBldGtpbiBrdWxsYW7EsWPEsSB2ZSBncnVwIGtpbWxpxJ9pbmkgZGXEn2nFn3Rpci5cbiIKKyJUZWsgYmlyIC0sIC1sIGFubGFtxLFuYSBnZWxpci4gRcSfZXIgPHVzZXI+IHZlcmlsbWV6IGlzZSByb290IGt1bGxhbsSxY8Sxc8SxIHZhcnNhecSxbMSxci5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiJWQnZGVuIGZhemxhIHRhbWFtbGF5xLFjxLEgZ3J1cCBiZWxpcnRpbGVtZXoiCittc2dzdHJbMV0gIiVkJ2RlbiBmYXpsYSB0YW1hbWxhecSxY8SxIGdydXAgYmVsaXJ0aWxlbWV6IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJncnVwICVzIHlvayIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTI5MAorIywgZnV6enkKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiLS1yZWxvYWQgc2lzdGVtaW5peiB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5taXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTMyNgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCB5b2tzYXnEsWzEsXlvciwgLS1sb2dpbiBpbGUga2FyxZ/EsWzEsWtsxLEgZMSxxZ9sYXlhbmxhciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MAorbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJzZcOnZW5la2xlciAtLXtzaGVsbCxmYXN0LGNvbW1hbmQsc2Vzc2lvbi1jb21tYW5kLGxvZ2lufSB2ZSAtLXVzZXIga2FyxZ/EsWzEsWtsxLEgZMSxxZ9sYXlhbmTEsXIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgImhlcmhhbmdpIGJpciBrb211dCBiZWxpcnRpbG1lZGkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICJzYWRlY2Ugcm9vdCBrdWxsYW7EsWPEsXPEsSBhbHRlcm5hdGlmIGdydXBsYXIgYmVsaXJ0ZWJpbGlyIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgImt1bGxhbsSxY8SxICVzIG1ldmN1dCBkZcSfaWwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgcmVzdHJpY3RlZCBzaGVsbCAlcyIKK21zZ3N0ciAia8Sxc8SxdGzEsSBrYWJ1ayAlcyBrdWxsYW7EsWzEsXlvciIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAidXlhcsSxOiAlcyBkaXppbmluZSBnaXJpbGVtaXlvciIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjZ2V0YXR0ciBiYcWfYXLEsXPEsXoiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIgYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczogcm9vdCBpw6dpbiBnaXJkaSB5b2tcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3QiCittc2dzdHIgIiVzOiByb290IGnDp2luIGdpcmRpIHlvayIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcm9vdCBwYXNzd29yZCBnYXJibGVkIgorbXNnc3RyICIlczogcm9vdCBwYXJvbGFzxLEgeWFubMSxxZ8iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisiXG4iCisiS29uc29sYSBlcmnFn2ltIGHDp8SxbGFtxLF5b3IsIHJvb3QgaGVzYWLEsSBraWxpdGxlbmRpLlxuIgorIkRhaGEgZmF6bGEgZGV0YXkgacOnaW4gc3Vsb2dpbig4KSBrxLFsYXZ1eiBzYXlmYXPEsW5hIGJha8Sxbi5cbiIKKyJcbiIKKyJEZXZhbSBldG1layBpw6dpbiBFbnRlcidhIGJhc8Sxbi5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIkdpcmnFnyBpw6dpbiByb290IHBhcm9sYXPEsW7EsSBnaXJpbjogIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBsb2dpbjogIgorbXNnc3RyICJHaXJpxZ8gacOnaW4gRW50ZXInYSBiYXPEsW46ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIkJha8SxbSBpw6dpbiByb290IHBhcm9sYXPEsW7EsSBnaXJpblxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICJCYWvEsW0gacOnaW4gRW50ZXInYSBiYXPEsW5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIoeWEgZGEgZGV2YW0gZXRtZWsgacOnaW4gS29udHJvbC1EJ3llIGJhc8Sxbik6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICJzaXN0ZW0ga8O2ayBkaXppbmluZSBnaXJpbGVtZWRpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24gYmHFn2FyxLFzxLF6IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIFt0dHkgYXlnxLF0xLFdXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDYKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAiVGVrLWt1bGxhbsSxY8SxIGdpcmnFn2kuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAgYmlyIGdpcmnFnyBrYWJ1xJ91IGJhxZ9sYXRcbiIKKyIgLXQsIC0tdGltZW91dCA8c2FuaXllPiAgYmlyIHBhcm9sYSBpw6dpbiBiZWtsZW5lY2VrIGVuIHV6dW4gemFtYW4gKHZhcnNhecSxbGFuOiBzxLFuxLFyc8SxeilcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGdldHB3bmFtKDMpIGJhxZ9hcsSxc8SxeiBvbHVyc2EgcGFyb2xhIGRvc3lhbGFyxLFuxLEgZG/En3J1ZGFuIGfDtnpkZW4gZ2XDp2lyXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHphbWFuIGHFn8SxbcSxIGFyZ8O8bWFuxLEiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4ODQKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAic2FkZWNlIHPDvHBlciBrdWxsYW7EsWPEsSBidSBwcm9ncmFtxLEgw6dhbMSxxZ90xLFyYWJpbGlyIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAia29uc29sIGHDp8SxbGFtxLF5b3IiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5MzQKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAicGFyb2xhIHZlcml0YWJhbsSxIGHDp8SxbGFtxLF5b3IiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorInN1IGthYnXEn3UgecO8csO8dMO8bGVtZWRpXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisiWmFtYW4gYcWfxLFtxLFcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKKyMsIGZ1enp5Cittc2dpZCAiIgorImNhbm5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJzdSBrYWJ1xJ91bmRhIGJla2xlbmVtaXlvclxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiJXM6IGlub3RpZnkgc2FhdGkgZWtsZW5lbWVkaS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IGlub3RpZnkgb2xheWxhcsSxIG9rdW5hbcSxeW9yIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0NCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjI0OQorbXNnaWQgIkV4dHJhbmVvdXMgbmV3bGluZSBpbiBmaWxlLiBFeGl0aW5nLiIKK21zZ3N0ciAiRG9zeWFkYSBmYXpsYWRhbiB5ZW5pIHNhdMSxci4gw4fEsWvEsWzEsXlvci4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVuYW1lXVxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSBbZG9zeWFhZMSxXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwNgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICJVVE1QIHZlIFdUTVAgZG9zeWFsYXLEsW7EsSBoYW0gYmnDp2ltZGUgZMO2ay5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvbGxvdyAgICAgICAgIGRvc3lhIGLDvHnDvGTDvGvDp2UgZWtsZW5lbiB2ZXJpeWkgZ8O2c3RlclxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiAtciwgLS1yZXZlcnNlICAgICAgICBkw7Zrw7xsZW4gdmVyaXlpIGdlcmkgdXRtcCBkb3N5YXPEsW5hIHlhelxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGRvc3lhPiAgc3RhbmRhcnQgw6fEsWt0xLEgeWVyaW5lIGRvc3lheWEgeWF6XG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3Cittc2dpZCAiZm9sbG93aW5nIHN0YW5kYXJkIGlucHV0IGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJpemxleWVuIHN0YW5kYXJ0IGdpcmRpIGRlc3Rla2xlbm1peW9yIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICIlcydpbiB1dG1wIGTDtmvDvG3DvFxuIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiZ2XDp2ljaSBkb3N5YSBhw6fEsWxhbcSxeW9yIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzJ2UgYmHEn2xhbnTEsSBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiJXMgacOnaW4gacOnZXJpayBhbMSxbmFtxLF5b3IiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICIlcyBpw6dpbiBpw6dlcmlrIGF5YXJsYW5hbWFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlcyBkZcSfacWfbWVkaSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI1NworbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAia2lsaXQgYWzEsW5hbWFkxLEiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODQKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgImRlxJ9pxZ9pa2xpayB5YXDEsWxtYWTEsSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICJkb3N5YSBpemlubGVyaSBkZcSfacWfdGlyaWxlbWl5b3IiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDgKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICJQYXJvbGF5xLEgeWEgZGEgZ3J1cCBkb3N5YXPEsW7EsSBkw7x6ZW5sZS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiQnUgc2lzdGVtZGUgZ8O2bGdlIGdydXBsYXIga3VsbGFuxLFsxLF5b3IuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkJ1IHNpc3RlbWRlIGfDtmxnZSBwYXJvbGFsYXIga3VsbGFuxLFsxLF5b3IuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICIlcyBkb3N5YXPEsW7EsSDFn2ltZGkgZMO8emVubGVtZWsgaXN0ZXIgbWlzaW5peiBbZS9oXT8gIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworIywgZnV6enkKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZG9zeWE+ICAgICBheWFybGFtYSBkb3N5YXPEsW7EsW4geW9sdW51IGJlbGlydGlyXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhcnNhecSxbGFuICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGJhxZ9sxLFrbGFyxLEgeWF6ZMSxclxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODYKK21zZ2lkICIgLWcsIC0tZ2FyYmFnZS1jb2xsZWN0ICAgICAgZ2FyYmFnZSBjb2xsZWN0IHRoZSBibGtpZCBjYWNoZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NworbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0IDxmb3JtYXQ+ICAgICAgb3V0cHV0IGZvcm1hdDsgY2FuIGJlIG9uZSBvZjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3IgZnVsbDsgKGRlZmF1bHQ6IGZ1bGwpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1saXN0LWZpbGVzeXN0ZW1zICAgICBsaXN0IGFsbCBrbm93biBmaWxlc3lzdGVtcy9SQUlEcyBhbmQgZXhpdFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdC1zaGVsbHMgICAga2FidWtsYXLEsW4gbGlzdGVzaW5pIHlhemTEsXIgdmUgw6fEsWtcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIHRhbWFtxLEgeWEgZGEgYmVsaXJ0aWxlbiBoYWtrxLFuZGEgYmlsZ2kgZ8O2c3RlciAodmFyc2F5xLFsYW4pXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8Ym95dXQ+ICAgICAgICAgYXlnxLF0IGJveXV0dVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGNvbnZlcnQgVVVJRCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAga3VsbGFuxLFjxLEgaXNtaVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnkgZGV2aWNlKHMpIHRvIHByb2JlIChkZWZhdWx0OiBhbGwgZGV2aWNlcylcbiIKK21zZ3N0ciAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgYXlnxLF0IChnZW5lbGxpa2xlIGRpc2spIHlvbHVcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIlphbWFubGFtYSBzZcOnZW5la2xlcmk6XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorbXNnaWQgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IEkvTyBsaW1pdHNcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgc2FkZWNlIMO2cm5la2xlbWUgYWTEsW1sYXLEsSBpw6dpbiBiaWxnaSBnw7ZzdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8Ym95dXQ+ICAgICAgICAgYXlnxLF0IGJveXV0dVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDxtYWtpbmFhZMSxPiAgICAgIGdpcmnFnyBtYWtpbmFzxLFuxLEgYmVsaXJ0XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgIGRvc3lhIHNpc3RlbWkgdGlwbGVyaW5pIHPEsW7EsXJsYVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxsaXN0ZT4gICAgICBkb3N5YSBzaXN0ZW1pIHRpcGxlcmluaSBzxLFuxLFybGFcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiKGluIHVzZSkiCittc2dzdHIgIkt1bGxhbsSxbWRhIG9sYXJhayBpbWxlbnNpbiBtaT8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiJXM6IGJhxJ9sxLEgZGXEn2lsIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgImF5csSxxZ90xLFybWEgaGF0YXPEsTogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAiYmlsaW5tZXllbiBhcmfDvG1hbjogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgImRlc3Rla2xlbm1leWVuIHNlw6dlbmVrIGJpw6dpbWk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgImdlw6dlcnNpeiBvZnNldCBhcmfDvG1hbsSxIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICJoZXJoYW5naSBiaXIga29tdXQgYmVsaXJ0aWxtZWRpIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzcyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHphbWFuIGFyZ8O8bWFuxLEiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGF5IGFyZ8O8bWFuxLEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogaGFmdGEgYXJnw7xtYW7EsSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICJnZcOnZXJzaXogaGFmdGEgZGXEn2VyaTogMS01NCBhcmFzxLEgYmlyIGRlxJ9lciBrdWxsYW4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAiemFtYW4gZGFtZ2FzxLEgYXlyxLHFn3TEsXLEsWxhbWFkxLEgeWEgZGEgYmlsaW5tZXllbiBheSBpc21pOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGfDvG4gZGXEn2VyaSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzcgbWlzYy11dGlscy9jYWwuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJnZcOnZXJzaXogZ8O8biBkZcSfZXJpOiAxLSVkIGFyYXPEsSBiaXIgZGXEn2VyIGt1bGxhbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODEgbWlzYy11dGlscy9jYWwuYzo0ODkKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAiYXkgbnVtYXJhc8SxIGt1cmFsZMSxxZ/EsTogMS4uMTIgYXJhc8SxbmRhIG9sbWFsxLEiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgImJpbGlubWV5ZW4gYXkgaXNtaTogJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICJnZcOnZXJzaXogecSxbCBkZcSfZXJpIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5NAorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZTogdXNlIHBvc2l0aXZlIGludGVnZXIiCittc2dzdHIgImdlw6dlcnNpeiB5xLFsIGRlxJ9lcmk6IHBveml0aWYgdGFtIHNhecSxIGt1bGxhbsSxbiIKKworIzogbWlzYy11dGlscy9jYWwuYzo1MzAgbWlzYy11dGlscy9jYWwuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB5ZWFyICVkIGRvZXNuJ3QgaGF2ZSB3ZWVrICVkIgorbXNnc3RyICJnZcOnZXJzaXogaGFmdGEgZGXEn2VyaTogecSxbCAlZCdkZSBoYWZ0YSAlZCB5b2siCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJTA0ZCIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gW1tbZ8O8bl0gYXldIHnEsWxdXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSA8emFtYW5kYW1nYXPEsXxheWlzbWk+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJCaXIgdGFrdmltaSB5YSBkYSBiYXrEsSBrxLFzxLFtbGFyxLFuxLEgZ8O2c3Rlci5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJBcmfDvG1hbnPEsXosIG1ldmN1dCBhecSxIGfDtnN0ZXIuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIHNhZGVjZSBiaXIgYXkgZ8O2c3RlciAodmFyc2F5xLFsYW4pXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICB0YXJpaGkgeWF5YW4gw7zDpyBhecSxIGfDtnN0ZXJcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8c2F5xLE+ICAgIHRhcmloJ2luIGF5xLEgaWxlIGJhxZ9sYXlhbiBzYXnEsSBrYWRhciBheSBnw7ZzdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtUywgLS1zcGFuICAgICAgICAgICAgw6dva2x1IGF5IGfDtnN0ZXJpcmtlbiB0YXJpaGkgeWF5XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgSGFmdGFuxLFuIGlsayBnw7xuw7wgb2xhcmFrIFBhemFyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgSGFmdGFuxLFuIGlsayBnw7xuw7wgb2xhcmFrIHBhemFydGVzaVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDgKKyMsIGZ1enp5Cittc2dpZCAiIC1qLCAtLWp1bGlhbiAgICAgICAgICB1c2UgZGF5LW9mLXllYXIgZm9yIGFsbCBjYWxlbmRhcnNcbiIKK21zZ3N0ciAiIC1qLCAtLWp1bGlhbiAgICAgICAgICBKdWx5ZW4gdGFyaWhsZXJpbmkgZ8O2c3RlclxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBpcHXDp2xhcsSxbsSxIGfDtnN0ZXJtZVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTEKK21zZ2lkICIgLXksIC0teWVhciAgICAgICAgICAgIHNob3cgdGhlIHdob2xlIHllYXJcbiIKK21zZ3N0ciAiIC15LCAtLXllYXIgICAgICAgICAgICBiw7x0w7xuIHnEsWzEsSBnw7ZzdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc29ucmFraSBvbiBpa2kgYXnEsSBnw7ZzdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTxzYXnEsT5dICAgIFVTIHlhIGRhIElTTy04NjAxIGhhZnRhIG51bWFyYWxhcsSxbsSxIGfDtnN0ZXJcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgICAgIC0tY29sb3JbPTx6YW1hbj5dICBpbGV0aWxlcmkgcmVua2xlbmRpciAob3RvLCBkYWltYSB5YSBkYSBhc2xhKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MQorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIHBhZ2VzIgorbXNnc3RyICJQYXlsYcWfxLFsYW4gYmVsbGVrIHNheWZhbGFyxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgIlBheWxhxZ/EsWxhbiBiZWxsZWsgc2F5ZmFsYXLEsSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAiYXlnxLF0xLFuIGJveXV0dSIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBuYW1lIgorbXNnc3RyICJEb3N5YSBBZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBtaW5jb3JlOiAlcyIKK21zZ3N0ciAic2VtYm9saWsgbGluayBva3VuYW1hZMSxOiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIiVzJ2RlbiBva3VuYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAiJXMgYXlyxLHFn3TEsXLEsWxhbWFkxLEgIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgIiVzJ2RlbiBva3VuYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSA8ZG9zeWE+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICBKU09OIMOnxLFrdMSxIGZvcm1hdMSxbsSxIGt1bGxhblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgYm95dXRsYXLEsSBva3VuYWJpbGlyIGJpw6dpbSB5ZXJpbmUgYmF5dCBvbGFyYWsgeWF6ZMSxclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBiYcWfbMSxa2xhcsSxIHlhemTEsXJtYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gIMOnxLFrdMSxIHPDvHR1bmxhcsSxXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBoYW0gw6fEsWt0xLEgYmnDp2ltaW5pIGt1bGxhblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiaGnDp2JpciBkb3N5YSBiZWxpcnRpbG1lZGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08ZGXEn2VyPlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAiRXRpa2V0IHlhIGRhIFVVSUQgaWxlIGJpciBkb3N5YSBzaXN0ZW1pIGJ1bC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICInJXMnIMOnw7Z6w7xtbGVuZW1lZGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAia2F5bmFrIGF5Z8SxdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAwCittc2dpZCAibW91bnRwb2ludCIKK21zZ3N0ciAiYmHEn2xhbWFub2t0YXPEsSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxIG1pc2MtdXRpbHMvbHNibGsuYzoxNjYKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgImRvc3lhIHNpc3RlbWkgdGlwaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCittc2dpZCAiYWxsIG1vdW50IG9wdGlvbnMiCittc2dzdHIgInTDvG0gYmHEn2xhbm1hIHNlw6dlbmVrbGVyOiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIlZGUyd5ZSDDtnplbCBiYcSfbGFubWEgc2XDp2VuZWtsZXJpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJEUyduZSDDtnplbCBiYcSfbGFtYSBzZcOnZW5la2xlcmkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgImRvc3lhIHNpc3RlbWkgZXRpa2V0aSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgImRvc3lhIHNpc3RlbWkgVVVJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3Cittc2dpZCAicGFydGl0aW9uIGxhYmVsIgorbXNnc3RyICJkaXNrIGLDtmzDvG3DvCBldGlrZXRpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgImLDvHnDvGs6a8O8w6fDvGsgYXlnxLF0IG51bWFyYXPEsSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiZXlsZW0gLS1wb2xsIHRhcmFmxLFuZGFuIGFsZ8SxbGFuZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKK21zZ2lkICJvbGQgbW91bnQgb3B0aW9ucyBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgImVza2kgYmHEn2xhbWEgc2XDp2VuZWtsZXJpIC0tcG9sbCB0YXJhZsSxbmRhbiBrYXlkZWRpbGRpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgImVza2kgYmHEn2xhbWFub2t0YXPEsSAtLXBvbGwgdGFyYWbEsW5kYW4ga2F5ZGVkaWxkaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJkb3N5YSBzaXN0ZW1pIGJveXV0dSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAia3VsbGFuxLFsYWJpbGlyIGRvc3lhIHNpc3RlbWkgYm95dXR1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAia3VsbGFuxLFsYW4gZG9zeWEgc2lzdGVtaSBib3l1dHUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgImRvc3lhIHNpc3RlbWkga3VsbGFuxLFtIHnDvHpkZXNpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgImRvc3lhIHNpc3RlbWkga8O2ayBkaXppbmkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorbXNnaWQgInRhc2sgSUQiCittc2dzdHIgInRhc2sgSUQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJiYcSfbGFtYSBJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJpc3RlxJ9lIGJhxJ9sxLEgYmHEn2xhbWEgYWxhbmxhcsSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIlZGUyB5YXnEsWxtYSBiYXlyYWtsYXLEsSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgImfDvG4gb2xhcmFrIGR1bXAoOCkgcGVyaXlvZHUgW3NhZGVjZSBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJwYXJhbGVsIGZzY2soOCknZGUgZ2XDp2nFnyBzYXnEsXPEsSBbc2FkZWNlIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiYmlsaW5tZXllbiBleWxlbTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICJiYcSfbGEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiw6fDtnoiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorbXNnaWQgInJlbW91bnQiCittc2dzdHIgInllbmlkZW4gYmHEn2xhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJ0YcWfxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxNCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc3IHN5cy11dGlscy9lamVjdC5jOjcxNAorIzogc3lzLXV0aWxzL21vdW50LmM6MzI0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgImxpYm1vdW50IHRhYmxvc3UgYmHFn2xhdMSxbGFtYWTEsSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIiVzIG9rdW5hbcSxeW9yIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDE3IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo5NCBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDgxCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTg5IHN5cy11dGlscy9tb3VudC5jOjEzMyBzeXMtdXRpbHMvbW91bnQuYzoxODEKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6NTUgc3lzLXV0aWxzL3N3YXBvZmYuYzoxNTQgc3lzLXV0aWxzL3N3YXBvbi5jOjI0OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI3OCBzeXMtdXRpbHMvc3dhcG9uLmM6NzM3IHN5cy11dGlscy91bW91bnQuYzoxNzQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIKK21zZ3N0ciAibGlibW91bnQgaWxlcmxldGljaXNpIGJhxZ9sYXTEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICJsaWJtb3VudCB0YWJkaWZmIGJhxZ9sYXTEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgYmHFn2FyxLFzxLF6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtzZcOnZW5la2xlcl1cbiIKKyIgJTEkcyBbc2XDp2VuZWtsZXJdIDxheWfEsXQ+IHwgPGJhxJ9sYW5tYW5va3Rhc8SxPlxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gPGF5Z8SxdD4gPGJhxJ9sYW5tYW5va3Rhc8SxPlxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gWy0tc291cmNlIDxheWfEsXQ+XSBbLS10YXJnZXQgPHlvbD4gfCAtLW1vdW50cG9pbnQgPGRpemluPl1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiKEJhxJ9sYW5txLHFnykgQmlyIGRvc3lhIHNpc3RlbWkgYnVsLlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAyCittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBkb3N5YSBzaXN0ZW1sZXJpbmluIHN0YXRpayB0YWJsb3N1bmRhIGFyYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIGJhxJ9sxLEgZG9zeWEgc2lzdGVtbGVyaW5pbiDDp2VraXJkZWsgdGFibG9zdW5kYVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJhICh2YXJzYXnEsWxhbilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgYmHEn2zEsSBkb3N5YSBzaXN0ZW1sZXJpbmluIMOnZWtpcmRlayB0YWJsb3N1bmRhXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBhcmEgKHZhcnNhecSxbGFuKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBvbGxbPTxsaXN0ZT5dICAgIGJhxJ9sxLEgZG9zeWEgc2lzdGVtbGVyaW5kZWtpIGRlxJ9pxZ9pa2xpa2xlcmkgaXpsZVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPHNhecSxPiAgICAtLXBvbGwndW4gYmxva2xhbmFjYcSfxLEgw7xzdCBsaW1pdGluIG1pbGlzYW5peWUgY2luc2luZGVuIGRlxJ9lcmlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEsIC0tYWxsICAgICAgICAgICAgICBiw7x0w7xuIHllcmxlxZ9payBzw7x6Z2XDp2xlcmkga2FwYXQsIGLDvHTDvG4gZG9zeWEgc2lzdGVtbGVyaW5pIGfDtnN0ZXJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIGHEn2HDpyBiacOnaW1sZW5kaXJtZSBpw6dpbiBBU0NJSSBrYXJha3Rlcmxlcmkga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgYm95dXRsYXLEsSBva3VuYWJpbGlyIGJpw6dpbSB5ZXJpbmUgYmF5dCBvbGFyYWsgeWF6ZMSxclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIHlvbGxhcsSxIGthcsWfxLFsYcWfdMSxcsSxcmtlbiBzdGFuZGFydGxhxZ90xLFybWFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIHlhemTEsXLEsWxhbiB5b2xsYXLEsSBzdGFuZGFydGxhxZ90xLFybWFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIgLUQsIC0tZGYgICAgICAgICAgICAgICBkZigxKSdpbiDDp8Sxa3TEsXPEsW7EsSB0YWtsaXQgZXRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPGtlbGltZT4gYXJhbWEgecO2bsO8LCAnaWxlcmknIHlhIGRhICdnZXJpJ1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBldGlrZXRsZXJpIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBheWfEsXQgaXNpbWxlcmluZSBkw7Zuw7zFn3TDvHJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMQorbXNnaWQgIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC1zLCAtbSBvciAtayBvcHRpb25zXG4iCittc2dzdHIgIiAtRiwgLS10YWItZmlsZSA8eW9sPiAgLXMsIC1tIHlhIGRhIC1rIHNlw6dlbmVrbGVyaSBpw6dpbiBhbHRlcm5hdGlmIGRvc3lhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHNhZGVjZSBidWx1bmFuIGlsayBkb3N5YSBzaXN0ZW1pbmkgeWF6ZMSxclxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpxZ9sZcWfbWUgYmnDp2ltaW5pIHRlcnNpbmUgw6dldmlyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjQgbWlzYy11dGlscy9sc2xvY2tzLmM6NTAxIHN5cy11dGlscy9sc25zLmM6OTAxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTcyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgIEpTT04gw6fEsWt0xLEgZm9ybWF0xLFuxLEga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUgc3lzLXV0aWxzL2xzbnMuYzo5MDIKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIGxpc3RlIMOnxLFrdMSxIGZvcm1hdMSxbsSxIGt1bGxhblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIGFsdGVybmF0aWYgaXNpbSB1emF5xLFuxLEga3VsbGFuICgvcHJvYy88dGlkPi9tb3VudGluZm8gZG9zeWFzxLEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgc8O8dHVuIGJhxZ9sxLFrbGFyxLFuxLEgeWF6ZMSxcm1hXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW9wdGlvbnMgPGxpc3RlPiAgIGRvc3lhIHNpc3RlbWkga8O8bWVzaW5pIGJhxJ9sYW1hIHNlw6dlbmVrbGVyaW5lIGfDtnJlIGvEsXPEsXRsYVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICBnw7ZzdGVyaWxlY2VrIMOnxLFrdMSxIHPDvHR1bmxhcsSxXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzAKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIGFuYWh0YXI9XCJkZcSfZXJcIiDDp8Sxa3TEsSBiacOnaW1pbmkga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgZcWfbGXFn2VuIGRvc3lhIHNpc3RlbWxlcmkgacOnaW4gYsO8dMO8biBhbHRiYcSfbGFtYWxhcsSxIHlhemTEsVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGhhbSDDp8Sxa3TEsSBiacOnaW1pbmkga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc291cmNlIDxrYXJha3RlcmRpemlzaT4gIGJhxJ9sYW5hY2FrIGF5Z8SxdCAoaXNtZSBnw7ZyZSwgZW4gw6dvazplbiBheiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBFVMSwS0VUPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDx5b2w+ICAgIGt1bGxhbsSxbGFjYWsgZG9zeWEgc2lzdGVtaSB5b2x1XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRyZWUgICAgICAgICAgICAgZW5hYmxlIHRyZWUgZm9ybWF0IG91dHB1dCBpcyBwb3NzaWJsZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICBsaXN0ZSDDp8Sxa3TEsSBmb3JtYXTEsW7EsSBrdWxsYW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLU0sIC0tbW91bnRwb2ludCA8ZGl6aW4+IGJhxJ9sYW1hIG5va3Rhc8SxIGRpemluaVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM4Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgZG9zeWEgc2lzdGVtaSBrw7xtZXNpbmkgRFMgdGlwbGVyaSBpbGUgc8SxbsSxcmxhXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGJpcmRlbiDDp29rIGhlZGVmaSBvbGFuIGRvc3lhIHNpc3RlbWxlcmluaSB5b2tzYXlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo5MDcKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgc8O8dHVubGFyZGFraSBtZXRpbmxlcmkgZGFyYWx0bWFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiIC12LCAtLW5vZnNyb290ICAgICAgICAgYmHEn2xhbm1hIHZlIGJ0cmZzIGJhxJ9sYW1hbGFyxLEgacOnaW4gWy9kaXppbl0geWF6ZMSxcm1hXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDQKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgYmHEn2xhbWEgdGFibG9zdSBpw6dlcmnEn2luaSBkb8SfcnVsYSAodmFyc2F5xLFsYW4gZnN0YWIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgZGFoYSBmYXpsYSBiaWxnaSB5YXpkxLFyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAiYmlsaW5tZXllbiB5w7ZuICclcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0NQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogVElEIGFyZ8O8bWFuxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTYKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiLS1wb2xsIHNhZGVjZSBiaXIgZG9zeWEga2FidWwgZWRlciBhbmNhayAtLXRhYi1maWxlIGlsZSBiaXJkZW4gZmF6bGEgYmVsaXJ0aWxkaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIi0tdGFyZ2V0IHZlIC0tc291cmNlIHNlw6dlbmVrbGVyaSBzZcOnZW5layBvbG1heWFuIGtvbXV0IHNhdMSxcsSxIMO2Z2VsZXJpIGlsZSBiaXJsaWt0ZSBrdWxsYW7EsWxhbWF6IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTczCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgImxpYm1vdW50IMO2biBiZWxsZcSfaSBiYcWfbGF0xLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiVzIGtvbG9uIGlzdGVuZGkgYW5jYWsgLS1wb2xsIGt1bGxhbsSxbGFiaWxpciBkZcSfaWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKK21zZ2lkICJ0YXJnZXQgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJoZWRlZiBiaXJkZW4gZmF6bGEgZGVmYSB0YW7EsW1sYW5kxLEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgb3JkZXI6ICVzIHNwZWNpZmllZCBiZWZvcmUgJXMiCittc2dzdHIgInlhbmzEscWfIHPEsXJhbGFtYTogJXMgJXMnZGVuIMO2bmNlIGJlbGlydGlsZGkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAidGFuxLFtbGFubWF5YW4gaGVkZWYgKGZzX2ZpbGUpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiaGVkZWYgeW9sdSBzdGFyZGHFn2xhxZ90xLFybWEgKGdlcsOnZWs6ICVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIsO2biB5w7xrbGVtZWRlIGdlcmVrbGkgaGVkZWZlIHVsYcWfxLFsYWJpbGlyIGRlxJ9pbDogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAidWxhxZ/EsWxhbWF5YW4gaGVkZWY6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUwCittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiaGVkZWYgYmlyIGRpemluIGRlxJ9pbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE1MgorbXNnaWQgInRhcmdldCBleGlzdHMiCittc2dzdHIgImhlZGVmIG1ldmN1dCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgIsO2biB5w7xrbGVtZWRlIGdlcmVrbGkga2F5bmFrIGVyacWfaWxlbWV6OiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgInVsYcWfxLFsYW1hejogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXM9JXMsICVzJ2Ugw6dldnJpbGRpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgInRhbsSxbWxhbm1heWFuIGtheW5hayAoZnNfc3BlYykiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgImRlc3Rla2xlbm1leWVuIGtheW5hayBldGlrZXRpOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiJXMga2F5bmHEn8SxbsSxIGtvbnRyb2wgZXRtZSAocHNldWRvL25ldCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgInVsYcWfxLFsYW1heWFuIGtheW5hazogJXM6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgImJhxJ9sxLEgb2xtYXlhbiBiYcSfbGFtYSBrYXluYcSfxLEgJXMgYmlyIGRpemluIHlhIGRhIHPEsXJhZGFuIGRvc3lhIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgImtheW5hayAlcyBiaXIgYmxvayBheWfEsXTEsSBkZcSfaWwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAia2F5bmFrICVzIG1ldmN1dCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIlZGUyBzZcOnZW5la2xlcmk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICJEUyBzZcOnZW5la2xlcmk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAia3VsbGFuxLFjxLEgdXphecSxIHNlw6dlbmVrbGVyaTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiB0YWthcyBhbGFuxLEgw6fEsWthcm1hIHBvbGl0aWthc8SxOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgInRha2FzIGFsYW7EsSDDtm5jZWxpayBzZcOnZW5lxJ9pIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiJXMgRFMgdGlwaW5pIGtvbnRyb2wgZXRtZSAocHNldWRvL25ldCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MDUKK21zZ2lkICJcIm5vbmVcIiBGUyB0eXBlIGlzIHJlY29tbWVuZGVkIGZvciBiaW5kIG9yIG1vdmUgb3ByYXRpb25zIG9ubHkiCittc2dzdHIgIlwiaGnDp2JpcmlcIiBEUyB0aXBpIHNhZGVjZSBiYcSfbGFubWEgeWEgZGEgdGHFn8SxbWEgacWfbGVtbGVyaSBpw6dpbiDDtm5lcmlsaXIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiJXMgbWV2Y3V0IMOnZWtpcmRlayB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5taXlvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiZGlzay3DvHplcmluZGUgZG9zeWEgc2lzdGVtaSB0aXBpIGFsZ8SxbGFuYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiJXMsIGRpc2stw7x6ZXJpbmRla2kgJXMgaWxlIGXFn2xlxZ9taXlvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgImRpc2stw7x6ZXJpbmRla2kgJXMgbWV2Y3V0IMOnZWtpcmRlayB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5taXlvciIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJEUyB0aXBpICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICLDtm5lcmlsZW4ga8O2ayBEUyBwYXNzbm8gMSAoxZ91IGFuZGEgJWQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIiVkIGF5csSxxZ90xLFybWEgaGF0YXPEsSIKK21zZ3N0clsxXSAiJWQgYXlyxLHFn3TEsXJtYSBoYXRhc8SxIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIsICVkIGhhdGEiCittc2dzdHJbMV0gIiwgJWQgaGF0YSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiwgJWQgdXlhcsSxIgorbXNnc3RyWzFdICIsICVkIHV5YXLEsSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiQmHFn2FyxLFsxLEsIGhlcmhhbmdpIGJpciBoYXRhIHlhIGRhIHV5YXLEsSBhbGfEsWxhbm1hZMSxXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICItbCB5YSBkYSAtLWxvbmcgacOnaW4gYXJnw7xtYW4gb2xhcmFrIHV6dW4gc2XDp2VuZWsgdmVyaWxtZW1pxZ8iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICItcyB5YSBkYSAtLXNoZWxsIHNlw6dlbmVrbGVyaSBpbGUgYmVsaXJ0aWxlbiBrYWJ1ayBiaWxpbm1peW9yIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIDxzZcOna2FyYWt0ZXJkaXppc2k+IDxwYXJhbWV0cmVsZXI+XG4iCisiICUxJHMgW3Nlw6dlbmVrbGVyXSBbLS1dIDxzZcOna2FyYWt0ZXJkaXppc2k+IDxwYXJhbWV0cmVsZXI+XG4iCisiICUxJHMgW3Nlw6dlbmVrbGVyXSAtb3wtLW9wdGlvbnMgPHNlw6drYXJha3RlcmRpemlzaT4gW3Nlw6dlbmVrbGVyXSBbLS1dIDxwYXJhbWV0cmVsZXI+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICJLb211dCBzZcOnZW5la2xlcmluaSBheXLEscWfdMSxci5cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIHRlayAtIGlsZSBiYcWfbGF5YW4gdXp1biBzZcOnZW5la2xlcmUgaXppbiB2ZXJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDAKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA8dXp1bnNlw6c+ICBrYWJ1bCBlZGlsZWNlayB1enVuIHNlw6dlbmVrbGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPHByb2dyYW1pc21pPiAgICAgICAgIGhhdGFsYXLEsW4gcmFwb3JsYW5kxLHEn8SxIGlzaW1cbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1vLCAtLW9wdGlvbnM9c8OnbmtkaXpnZXNpICAgICB0YW7EsW5hY2FrIGvEsXNhIHNlw6dlbmVrbGVyIGJlbGlydGlsaXJcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDMKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBlcnJvciByZXBvcnRpbmcgYnkgZ2V0b3B0KDMpXG4iCittc2dzdHIgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDMpJ3VuIMO8cmV0dGnEn2kgaGF0YWxhciBnw7ZzdGVyaWxtZXpcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgbm9ybWFsZGUgw6fEsWt0xLEgdmVyaWxtZXpcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPGthYnVrPiAgICAgICAgICAgdMSxcm5ha2xhbWEgZcSfaWxpbWxlcmluaSA8a2FidWs+IGlsZSBheW7EsSBvbGFjYWsgxZ9la2lsZGUgYXlhcmxhXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgZ2V0b3B0KDEpIHPDvHLDvG3DvCBpw6dpbiB0ZXN0XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgICDDp8Sxa3TEsXnEsSB0xLFybmFrIGnDp2luZSBhbG1hXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6Mzk2IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDU2Cittc2dpZCAibWlzc2luZyBvcHRzdHJpbmcgYXJndW1lbnQiCittc2dzdHIgInNlw6dlbmVrLWRpemdlc2kgdmVyaWxtZW1pxZ8iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgImnDpyBoYXRhLCB5YXphcmEgYmlsZGlyaW4uIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICJiaWxpbm1leWVuIHNpbnlhbCAlczsgZ2XDp2VybGkgc2lueWFsbGVyOiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBpZD58PG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxwaWQ+fDxpc2ltPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJCaXIgc8O8cmVjaSB6b3JsYSBzb25sYW5kxLFyLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgaXNpbWRlLXBpZCd5ZSBkw7Zuw7zFn8O8bcO8bsO8IG1ldmN1dCBzw7xyZWNpbiB1aWQnc2kgaWxlIGF5bsSxXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbGFuIHPDvHJlw6dsZXJsZSBrxLFzxLF0bGFtYVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODQKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPHNpbnlhbD4gIFNJR1RFUk0geWVyaW5lIGJ1IDxzaW55YWw+aSBnw7ZuZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUgPGRlxJ9lcj4gICAga2lsbCgyKSB5ZXJpbmUgc2lncXVldWUoMikga3VsbGFuIHZlIHZlcmkgb2xhcmFrIDxkZcSfZXI+aSBnw7ZuZGVyXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwaWQnbGVyaSBvbmxhcmEgc2lueWFsIGfDtm5kZXJtZWRlbiB5YXpkxLFyXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3RbPTxzaW55YWw+XSAgc2lueWFsIGlzaW1sZXJpbmkgbGlzdGVsZSB5YSBkYSBiaXIgc2lueWFsIG51bWFyYXPEsW7EsSBpc21lIGTDtm7DvMWfdMO8clxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICBzaW55YWwgaXNpbWxlcmluaSB2ZSBudW1hcmFsYXLEsW7EsSBsaXN0ZWxlXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IHBpZHMgdGhhdCB3aWxsIGJlIHNpZ25hbGVkXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHNpbnlhbCBvbGFyYWsgZ8O2bmRlcmlsZWNlayBwaWQnbGVyaSB5YXpkxLFyXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICJiaWxpbm1leWVuIHNpbnlhbDogJXMiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI2MCBtaXNjLXV0aWxzL2tpbGwuYzoyNjMgbWlzYy11dGlscy9raWxsLmM6MjcyCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODQgbWlzYy11dGlscy9raWxsLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIlcyB2ZSAlcyBrYXLFn8SxbMSxa2zEsSBkxLHFn2xhbmFuZMSxciIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICJhcmfDvG1hbiBoYXRhc8SxIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJnZcOnZXJzaXogc2lueWFsIGFkxLEgeWEgZGEgbnVtYXJhc8SxOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICJzaW55YWwgJWQgcGlkICVkIHllIGfDtm5kZXJpbGl5b3JcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMnZSBzaW55YWwgZ8O2bmRlcmltaSBiYcWfYXLEsXPEsXoiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCBwcm9jZXNzIFwiJXNcIiIKK21zZ3N0ciAiXCIlc1wiIHPDvHJlY2kgYnVsdW5hbcSxeW9yIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJiaWxpbm1leWVuIMO2emVsbGlrIGlzbWk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICJiaWxpbm1leWVuIMO2bmNlbGlrIGlzbWk6ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3BlbmxvZyAlczogeW9sIGlzbWkgw6dvayB1enVuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgInNva2V0ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICJpc2ltICVzIHBvcnQgJXMgw6fDtnrDvG1sZW5lbWVkaTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIiVzIHBvcnQgJXMnZSBiYcSfbGFuxLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgImF6YW1pIGdpcmRpIHNhdMSxcsSxICglZCkgYcWfxLFsZMSxIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjUwNQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgImlsZXRpIGfDtm5kZXJpbWkgYmHFn2FyxLFzxLF6IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICJ5YXDEsXNhbCB2ZXJpIElEJ3NpICclcycgZcWfc2l6IGRlxJ9pbCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiLS1zZC1pZCwgLS1zZC1wYXJhbSAlcyBpw6dpbiBiZWxpcnRpbG1lZGkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBiYcWfYXLEsXPEsXoiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIm1ha2luYSBhZMSxICclcycgZmF6bGEgdXp1biIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgImV0aWtldCAnJXMnIGZhemxhIHV6dW4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYmlsaW5tZXllbiBzZcOnZW5layBhcmfDvG1hbsSxOiAlcyB5b2tzYXnEsWzEsXlvciIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgImdlw6dlcnNpeiBhcmfDvG1hbjogJXM6IG90b21hdGlrIGhhdGFsYXIga3VsbGFuxLFsxLF5b3IiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIFs8aWxldGk+XVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzMKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICLEsGxldGlsZXJpIGlzdGVtIGfDvG5sw7zEn8O8bmUgZ2lyLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzYKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIC1pICAgICAgICAgICAgICAgICAgICAgICBnw7xubMO8a2xleWVuIGtvbXV0dW4gUElEJ3Npbmkga2F5xLF0IGRvc3lhc8SxbmEgeWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgICAgIC0taWRbPTxraW1saWs+XSAgICAgICAgICB2ZXJpbGVuIDxraW1saWs+IHlhIGRhIFBJRCd5aSBrYXnEsXQgZG9zeWFzxLFuYSB5YXpcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8ZG9zeWE+ICAgICAgICBidSBkb3N5YW7EsW4gacOnZXJpxJ9pbmkga2F5xLF0IGRvc3lhc8SxbmEgeWF6XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorbXNnaWQgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAgZG8gbm90IGxvZyBlbXB0eSBsaW5lcyB3aGVuIHByb2Nlc3NpbmcgZmlsZXNcbiIKK21zZ3N0ciAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkb3N5YWxhcsSxIGnFn2xlcmtlbiBib8WfIHNhdMSxcmxhcsSxIGthecSxdCBkb3N5YXPEsW5hIHlhem1hXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBoZXLFn2V5aSB5YXAgYW5jYWsga2F5xLF0IGRvc3lhc8SxbmEga2F5ZGV0bWVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQxCittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA8w7ZuY2VsaWs+ICAgIHZlcmlsZW4gaWxldGl5aSBidSDDtm5jZWxpayBpbGUgacWfYXJldGxlXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICByZmM2NTg3IGJheXQgc2F5bWF5xLEga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MworbXNnaWQgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBzdGFuZGFydCBnaXJkaWRlbiBva3VuYW4gaGVyIHNhdMSxciBpw6dpbiBiaXIgw7ZuIGVrIGFyYVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBpbGV0aWxlcmkgc3RhbmRhcnQgaGF0YXlhIGRhIHlhemTEsXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPGJveXV0PiAgICAgICAgYmlyIGlsZXRpIGnDp2luIGF6YW1pIGJveXV0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIC10LCAtLXRhZyA8ZXRpa2V0PiAgICAgICAgICBoZXIgc2F0xLFyxLEgYnUgZXRpa2V0IGlsZSBpxZ9hcmV0bGVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ3Cittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiAtbiwgLS1zZXJ2ZXIgPGlzaW0+ICAgICAgYnUgdXphayBzaXN0ZW0gZ8O8bmzDvMSfw7wgc3VudWN1c3VuYSB5YXpcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ4Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICBidSBwb3J0dSBVRFAgeWEgZGEgVENQIGJhxJ9sYW50xLFsYXLEsSBpw6dpbiBrdWxsYW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICBzYWRlY2UgVENQIGt1bGxhblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTAKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHNhZGVjZSBVRFAga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgZXNraSBCU0Qgc2lzdGVtIGfDvG5sw7zEn8O8IHByb3Rva29sw7xuw7wga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgc2lzdGVtIGfDvG5sw7zEn8O8IHByb3Rva29sw7xuw7wga3VsbGFuICh1emFrIHN1bnVjdSBpw6dpbiB2YXJzYXnEsWxhbik7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBub3RpbWUgeWEgZGEgbm90cSB2ZS92ZXlhIG5vaG9zdCBvbGFiaWxpclxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAgICAgLS1zZC1pZCA8a2ltbGlrPiAgICAgICAgIHJmYzU0MjQgeWFwxLFsxLEgdmVyaSBraW1sacSfaVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDx2ZXJpPiAgICByZmM1NDI0IHlhcMSxbMSxIHZlcmkgaXNtaT1kZcSfZXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgcmZjNTQyNCBpbGV0aSBraW1sacSfaSBhbGFuxLFuxLEgYXlhcmxhXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NworbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIgLXUsIC0tc29ja2V0IDxzb2tldD4gICAgYnUgVW5peCBzb2tldGluZSB5YXpcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08YcOnxLFrfGthcGFsxLF8b3RvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIFVuaXggc29rZXRsZXJpbmkga3VsbGFuxLFya2VuIGJhxJ9sYW50xLEgaGF0YWxhcsSxbsSxIHlhemTEsXJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIgICAgIC0tam91cm5hbGRbPTxkb3N5YT5dICBqb3VybmFsZCBnaXJkaXNpbmkgeWF6ZMSxclxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAiZG9zeWEgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE2MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAia2ltbGlrIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWVzc2FnZSBzaXplIgorbXNnc3RyICJpbGV0aSBib3l1dHUgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIxNQorbXNnaWQgIi0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UiCittc2dzdHIgIi0tbXNnaWQgYm/Fn2x1ayBpw6dlcmVtZXoiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHlhcMSxbMSxIHZlcmkga2ltbGnEn2k6ICclcyciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgImdlw6dlcnNpeiB5YXDEsXNhbCB2ZXJpIHBhcmFtZXRlcnNpOiAnJXMnICIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjUyCittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1maWxlIDxkb3N5YT4gYW5kIDxpbGV0aT4ga2FyxZ/EsWzEsWtsxLEgZMSxxZ9sYW5hbmTEsXIsIGlsZXRpIHlva3NhecSxbMSxeW9yIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTkKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAiam91cm5hbGQgZ2lyZGlzaSB5YXrEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxrYXJha3RlcmRpemlzaT4gWzxkb3N5YT4uLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJCZWxpcmxpIGJpciBrYXJha3RlciBkaXppc2kgaWxlIGJhxZ9sYXlhbiBzYWF0xLFybGFyxLEgZ8O2c3Rlci5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICBhbHRlcm5hdGlmIHPDtnpsw7zEn8O8IGt1bGxhblxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAgc2FkZWNlIGJvxZ8gdmUgYWxmYW7DvG1lcmlrIGthcmFrdGVybGVyaSBrYXLFn8SxbGHFn3TEsXJcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGthcsWfxLFsYcWfdMSxcsSxa2VuIGLDvHnDvGsta8O8w6fDvGsgaGFyZiBmYXJrbGFyxLFuxLEgeW9rc2F5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPGthcmFrdGVyPiAgIGthcmFrdGVyIGRpemlzaS1zb25sYW5kxLFybWEga2FyYWt0ZXJpbmkgdGFuxLFtbGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJheWfEsXQgaXNtaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiZGFoaWxpIMOnZWtpcmRlayBheWfEsXQgaXNtaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgImRhaGlsaSBhbmEgw6dla2lyZGVrIGF5Z8SxdCBpc21pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3IHN5cy11dGlscy96cmFtY3RsLmM6ODYKK21zZ2lkICJ3aGVyZSB0aGUgZGV2aWNlIGlzIG1vdW50ZWQiCittc2dzdHIgImF5Z8SxdMSxbiBiYcSfbGFuZMSxxJ/EsSB5ZXIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJkb3N5YSBzaXN0ZW1pIEVUxLBLRVTEsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgImRpc2sgYsO2bMO8bcO8IHRpcCBVVUlEJ3NpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICJkaXNrIGLDtmzDvG3DvCBFVMSwS0VUxLAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImF5Z8SxdMSxbiBpbGVyaSBva3VtYXPEsSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAic2FsdC1va3VudXIgYXlnxLF0IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiw6fEsWthcsSxbGFiaWxpciBheWfEsXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICLDp8Sxa2FyxLFsYWJpbGlyIHlhIGRhIHRhayDDp2FsxLHFn3TEsXIgYXlnxLF0ICh1c2IsIHBjbWNpYSwgLi4uKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICJkw7Zuw7zFn2zDvCBheWfEsXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgInJhc3RnZWxlbGlrIGVrbGVyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgImF5Z8SxdCBiZWxpcnRpY2lzaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiZGlzayBzZXJpIG51bWFyYXPEsSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAiYXlnxLF0xLFuIGJveXV0dSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NQorbXNnaWQgInN0YXRlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImF5Z8SxdMSxbiBkdXJ1bXUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICJncnVwIGFkxLEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiYXlnxLF0IGTDvMSfw7xtIGl6aW5sZXJpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiaGl6YWxhbWEgb2ZzZXRpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiZW4ga8O8w6fDvGsgRy/DhyBib3l1dHUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTEKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJpZGVhbCBHL8OHIGJveXV0dSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJmaXppa3NlbCBzZWt0w7ZyIGJveXV0dSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgIm1hbnTEsWtzYWwgc2VrdMO2ciBib3l1dHUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIkcvw4cgemFtYW5sYXnEsWPEsSBpc21pIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICJrdXlydWsgYm95dXR1bnUgaXN0ZSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICJheWfEsXQgdGlwaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiaGl6YWxhbWEgb2ZzZXRpbmkgw6fEsWthciIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgInRhbmVzZWxsacSfaSDDp8Sxa2FyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgImF6YW1pIGJheXRsYXLEsSDDp8Sxa2FyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAic8SxZsSxcmxhbmFuIHZlcml5aSDDp8Sxa2FyIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgImF5bsSxIGF6YW1pIGJheXRsYXLEsSB5YXoiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICJlxZ9zaXogZGVwb2xhbWEgdGFuxLFtbGF5xLFjxLFzxLEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiU0NTSSBpw6dpbiBNYWtpbmE6S2FuYWw6SGVkZWY6THVuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0Cittc2dpZCAiZGV2aWNlIHRyYW5zcG9ydCB0eXBlIgorbXNnc3RyICJheWfEsXQgdGHFn8SxbWEgdGlwaSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNQorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICJheWfEsXQgc8O8csO8bcO8IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAiYXlnxLF0IHNhxJ9sYXnEsWPEsXPEsSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICJzeXNmcydkZSBheWfEsXQgZGl6aW5pIGHDp8SxbGFtYWTEsSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBzeXNmcyB5b2x1IG9sdcWfdHVydWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczogYmHEn2xhbnTEsSBva3VuYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczogc3lzZnMgaXNtaSBhbMSxbmFtYWTEsSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogdMO8bS1kaXNrIGF5Z8SxdCBudW1hcmFzxLEgYWzEsW5tYWTEsSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NjcgbWlzYy11dGlscy9sc2Jsay5jOjE1NjkgbWlzYy11dGlscy9sc2Jsay5jOjE1OTQKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsaXN0ICclcyciCittc2dzdHIgImxpc3RlICclcycgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiZMSxxZ9sYW5hbiBheWfEsXRsYXLEsW4gbGlzdGVzaSDDp29rIGLDvHnDvGsgKGxpbWl0ICVkIGF5Z8SxdCkiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGluY2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAiZGFoaWwgZWRpbGVuIGF5Z8SxdGxhcsSxbiBsaXN0ZXNpIMOnb2sgYsO8ecO8ayAobGltaXQgJWQgYXlnxLF0KSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gWzxheWfEsXQ+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIkJsb2sgYXlnxLF0bGFyxLEgaGFra8SxbmRhIGJpbGdpIGxpc3RlbGUuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBiw7x0w7xuIGF5Z8SxdGxhcsSxIHlhemTEsXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDEKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGJhxJ/EsW1sxLFsYXLEsSB2ZSB0dXR1Y3VsYXLEsSB5YXpkxLFybWFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDIKK21zZ2lkICIgLUQsIC0tZGlzY2FyZCAgICAgICAgcHJpbnQgZGlzY2FyZCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRpc2NhcmQgICAgICAgIMOnxLFrYXJtYSB5ZXRlbmVrbGVyaW5pIHlhemTEsXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHNhZGVjZSDDp2V2cmltZMSxxZ/EsSBpxZ9sZW1jaWxlcmkgZ8O2c3RlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NAorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiAtZSwgLS1leGNsdWRlIDxsaXN0ZT4geWFnxLF0bGFyxLEgbWFqw7ZyIG51bWFyYWxhcsSxIGlsZSBkxLHFn2xhICh2YXJzYXnEsWxhbjogUkFNIGRpc2tsZXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICBkb3N5YSBzaXN0ZW1pIGhha2vEsW5kYSBiaWxnaSBnw7ZzdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIHNhZGVjZSBhc2NpaSBrYXJha3RlcmxlciBrdWxsYW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA8bGlzdGU+IHNhZGVjZSBiZWxpcmx0aWxlbiBtYWrDtnIgbnVtYXJhbGFyZGFraSBheWfEsWxhcsSxIGfDtnN0ZXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgIEpTT04gw6fEsWt0xLEgYmnDp2ltaW5pIGt1bGxhblxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBsaXN0ZSDDp8Sxa3TEsSBiacOnaW1pbmkga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10cmVlICAgICAgICAgICB1c2UgdHJlZSBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBsaXN0ZSDDp8Sxa3TEsSBiacOnaW1pbmkga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCittc2dpZCAiIC1tLCAtLXBlcm1zICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtbSwgLS1wZXJtcyAgICAgICAgICBpemlubGVyIGhha2vEsW5kYSBiaWxnaSDDp8Sxa3TEsWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUyIHN5cy11dGlscy9sc21lbS5jOjUwNgorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgYmHFn2zEsWtsYXLEsSB5YXpkxLFybWFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgw6fEsWt0xLEgc8O8dHVubGFyxLFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICBiw7x0w7xuIHPDvHR1bmxhcsSxIMOnxLFrdMSxbGFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgIHRhbSBheWfEsXQgeW9sdW51IHlhemTEsXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTgKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIGJhxJ/EsW1sxLFsxLFrbGFyxLEgdGVycyDDp2V2aXJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTkKK21zZ2lkICIgLVMsIC0tc2NzaSAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgU0NTSSBkZXZpY2VzXG4iCittc2dzdHIgIiAtUywgLS1zY3NpICAgICAgICAgICBTQ1NJIGF5Z8SxdGxhcsSxIGhha2vEsW5kYSBiaWxnaSBnw7ZzdGVyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICB0b3BvbG9qaSBoYWtrxLFuZGEgYmlsZ2kgZ8O2c3RlclxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MQorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA8a29sb24+ICDDp8Sxa3TEsXnEsSA8a29sb24+YSBnw7ZyZSBzxLFyYWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAic3lzZnMgZGl6aW5pbmUgZXJpxZ9pbGVtZWRpOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgInPDvHJlw6cga29tdXR1IGtpbGlkaSB0dXR1eW9yIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJzw7xyZcOnIFBJRCdzaSBraWxpZGkgdHV0dXlvciIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICJraWxpdCBib3l1dHUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAia2lsaXQgYm95dXR1IgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgImtpbGl0IGVyacWfaW0gbW9kdSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICJraWxpZGluIHpvcnVubHUgZHVydW11OiAwIChoacOnYmlyaSksIDEgKGF5YXJsxLEpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJraWxpZGluIGfDtnJlY2VsaSBiYXl0IG9mc2V0aSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJraWxpdGluIGJpdGnFnyBvZnNldGkiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCittc2dpZCAicGF0aCBvZiB0aGUgbG9ja2VkIGZpbGUiCittc2dzdHIgImtpbGl0bGkgZG9zeWFuxLFuIHlvbHUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJraWxpZGkgYmxva2xheWFuIHPDvHJlY2luIFBJRCdzaSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICJJRCBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAicGlkIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihiaWxpbm1leWVuKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJiYcWfbGFuZ8Sxw6cgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgImJpdGnFnyBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIlllcmVsIHNpc3RlbSBraWxpdGxlcmluaSBsaXN0ZWxlLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIG9rdW1hIGl6bmkgb2xtYXlhbiBraWxpdGxlcmkgeW9rc2F5XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMyBzeXMtdXRpbHMvbHNucy5jOjkwMyBzeXMtdXRpbHMvcmZraWxsLmM6NTczCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgYmHFn2zEsWtsYXLEsSB5YXpkxLFybWFcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICBrdWxsYW7EsWxhY2FrIMOnxLFrdMSxIGtvbG9ubGFyxLFuxLEgdGFuxLFtbGFcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA1Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgZGlzcGxheSBvbmx5IGxvY2tzIGhlbGQgYnkgdGhpcyBwcm9jZXNzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHNhZGVjZSBidSBzw7xyZcOnIHRhcmFmxLFuZGFuIHR1dHVsYW4ga2lsaXRsZXJpIGfDtnN0ZXJcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA2IHN5cy11dGlscy9sc25zLmM6OTA2IHN5cy11dGlscy9yZmtpbGwuYzo1NzUKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGhhbSDDp8Sxa3TEsSBiacOnaW1pbmkga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjU2MyBzY2hlZHV0aWxzL2NocnQuYzo0NzUgc2NoZWR1dGlscy9pb25pY2UuYzoxNzcKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE3MSBzeXMtdXRpbHMvbHNucy5jOjk4MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NQorbXNnaWQgImludmFsaWQgUElEIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogUElEIGFyZ8O8bWFuxLEiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgInhhdXRoIGnDp2luIHNpaGlybGkgw6dlcmV6bGVyaSBvbHXFn3R1ci5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPGRvc3lhPiAgICAgZG9zeWF5xLEgw6dlcmV6IHRvaHVtdSBvbGFyYWsga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPHNhecSxPiAgdG9odW0gZG9zeWFsYXLEsW5kbmEgbmUga2FkYXIgb2t1bmFjYcSfxLFuxLEgc8SxbsSxcmxhXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIG5lIHlhcMSxbGTEscSfxLFuxLEgYcOnxLFrbGFcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIlenUgYmF5dCAlcydkZW4gYWzEsW5kxLFcbiIKK21zZ3N0clsxXSAiJXp1IGJheXQgJXMnZGVuIGFsxLFuZMSxXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMga2FwYXTEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzEwCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICJib3l1dCBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTc3Cittc2dpZCAiLS1tYXgtc2l6ZSBpZ25vcmVkIHdoZW4gdXNlZCB3aXRob3V0IC0tZmlsZSIKK21zZ3N0ciAiLS1maWxlIG9sbWFkYW4ga3VsbGFuxLFsYW4gLS1tYXgtc2l6ZSB5b2tzYXnEsWxkxLEiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIiVkIGJheXQgJXMnZGVuIGFsxLFuZMSxXG4iCittc2dzdHJbMV0gIiVkIGJheXQgJXMnZGVuIGFsxLFuZMSxXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAic2VtYm9saWsgbGluayBva3VuYW1hZMSxOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMgLSBCw7Z5bGUgYmlyIGRvc3lhIHlhIGRhIGRpemluIHlva1xuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHBhdGhuYW1lPi4uLlxuIgorbXNnc3RyICIgJXMgW2t1bGxhbsSxbV0gPHlvbGlzbWk+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICIgQmlyIHXDpyBiaXJpbSBub2t0YXPEsSBidWx1bmFuYSBrYWRhciB5b2wgaXNtaW5pIHRha2lwIGV0LlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAgYnUgeWFyZMSxbSBtZXRuaW5pIGfDtnN0ZXJcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICBzw7xyw7xtIGJpbGdpc2luaSBnw7ZzdGVyIHZlIMOnxLFrXG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAgYmHEn2xhbWEgbm9rdGFzxLEgZGl6aW5sZXJpbmkgYmlyICdEJyBpbGUgZ8O2c3RlclxuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIGhlciBkb3N5YW7EsW4gbW9kIGJpdGxlcmluaSBnw7ZzdGVyXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgaGVyIGRvc3lhbsSxbiBzYWhpYmluaSB2ZSBncnVwIGlzbWluaSBnw7ZzdGVyXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgYmlyIHV6dW4gbGlzdGVsZW1lIGJpw6dpbWkga3VsbGFuICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgc2VtYm9saWsgYmHEn2xhbnTEsWxhcsSxIHRha2lwIGV0bWVcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBtb2RsYXLEsW4gdmUgc2FoaXBsZXJpbiBkaWtleSBoaXphbGFubWFzxLFcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgInlvbCBpc21pIGFyZ8O8bWFuxLEgZWtzaWsiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzoxMDU3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiVUlEIMO2biBiZWxsZcSfaSB0YWhzaXMgZWRpbGVtZWRpIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiR0lEIMO2biBiZWxsZcSfaSB0YWhzaXMgZWRpbGVtZWRpIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IHNlbWJvbGlrIGJhxJ9sYW50xLEgc8SxbsSxcsSxbsSxIGHFn3TEsSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IGJpciBzZW1ib2xpayBiYcSfbGFudMSxIGRlxJ9pbCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczogYmHEn2xhbnTEsSBva3VtYSBiYcWfYXLEsXPEsXoiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubGluayBmYWlsZWQiCittc2dzdHIgIiVzOiBiYcSfbGFudMSxIGtvcGFyxLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6ICVzJ2Ugc2VtYm9saWsgbGluayBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYCVzJ1xuIgorbXNnc3RyICIuLi5Eb3N5YXlhIGF0bGFuxLF5b3I6ICIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlbmFtZSB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiAlcyBvbGFyYWsgeWVuaWRlbiBhZGxhbmTEsXLEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxpZmFkZT4gPHllcmRlxJ9pxZ90aXJtZT4gPGRvc3lhPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAiRG9zeWFsYXLEsSB5ZW5pZGVuIGFkbGFuZMSxci5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICBuZSB5YXDEsWxkxLHEn8SxbsSxIGHDp8Sxa2xhXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAtcywgLS1zeW1saW5rICAgIHNlbWJvbGlrIGxpbmtsZXJpbiBoZWRlZmxlcmkgw7x6ZXJpbmRlIG95bmFcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gbm90IG1ha2UgYW55IGNoYW5nZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGJhxZ9sxLFrbGFyxLEgeWF6ZMSxcm1hXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQ0Cittc2dpZCAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgZG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0Cittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIlVVSUQgb2x1xZ90dXJtYWsgacOnaW4gYmlyIGFydGFsYW4gc8O8cmXDpy5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8eW9sPiAgICAgICAgcGlkIGRvc3lhc8SxbsSxbiB5b2x1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NworbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgLXMsIC0tc29ja2V0IDx5b2w+ICAgICBzb2tldGluIHlvbHVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtVCwgLS10aW1lb3V0IDxzbj4gICAgIGhhcmVrZXRzaXpsaWsgemFtYW4gYcWfxLFtxLFuxLEgYmVsaXJ0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OQorbXNnaWQgIiAtaywgLS1raWxsICAgICAgICAgICAgICBraWxsIHJ1bm5pbmcgZGFlbW9uXG4iCittc2dzdHIgIiAtaywgLS1raWxsICAgICAgICAgICAgICDDp2FsxLHFn2FuIGFydGFsYW4gc8O8cmVjaW5pIMO2bGTDvHJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwCittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHRlc3QgcmFuZG9tLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC1yLCAtLXJhbmRvbSAgICAgICAgICAgIHJhc3RnZWxlLXRhYmFubMSxIG9sdcWfdHVybWFsYXLEsSB0ZXN0IGV0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgemFtYW4tdGFiYW5sxLEgb2x1xZ90dXJtYWxhcsSxIHRlc3QgZXRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtbiwgLS11dWlkcyA8c2F5xLE+ICAgICAgIHV1aWQnbGVyaW4gaXN0ZWsgc2F5xLFzxLFcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjczCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIHBpZCBkb3N5YXPEsSBvbHXFn3R1cm1hXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICDDp2lmdGUtw6dhdGFsbGFubWEgaWxlIGFydGFsYW4gc8O8cmVjZSBkw7Zuw7zFn3TDvHJtZVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkaW5sZXllbiBzb2tldCBvbHXFn3R1cm1hXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIGhhdGEgYXnEsWtsYW1hIGtpcGluZGUgw6dhbMSxxZ90xLFyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHNlc3NpeiBtb2R1bnUgYcOnXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICJoYXRhbMSxIGFyZ8O8bWFubGFyIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2Cittc2dpZCAic29ja2V0IgorbXNnc3RyICJzb2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgImJhxJ9sYW4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAieWF6IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU1Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAib2t1bWEgc2F5xLFzxLEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICJoYXRhbMSxIGNldmFwIHV6dW5sdcSfdSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAiJXMga2lsaXRsZW5lbWVkaSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgInVuaXggYWvEscWfIHNva2V0aSBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgInVuaXggc29rZXRpICVzJ2UgYmHEn2xhbsSxbGFtYWTEsSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICJzaW55YWwgYWzEsW5hbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMDIKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgInphbWFuIGHFn8SxbcSxIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgInphbWFubGF5xLFjxLEga3VydWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgInV1aWRkIGFydGFsYW4gc8O8cmVjaSB6YXRlbiAlcyBwaWQnc2kgw6dhbMSxxZ/EsXlvciIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgInVuaXggc29rZXRpICVzIGRpbmxlbmVtZWRpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAiZG9zeWEga8O8w6fDvGx0w7xsZW1lZGk6ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2RfbGlzdGVuX2ZkcygpIGJhxZ9hcsSxc8SxeiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICJoacOnIGRvc3lhIHRhbsSxbWxhecSxY8Sxc8SxIGFsxLFuYW1hZMSxLCBzeXN0ZW1jdGwgZHVydW11IHV1aWRkLnNvY2tldCdpIGtvbnRyb2wgZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODMKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIsOnb2sgZmF6bGEgZG9zeWEgdGFuxLFtbGF5xLFjxLFzxLEgYWzEsW5kxLEsIHV1aWRkLnNvY2tldCdpIGtvbnRyb2wgZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICJ6YW1hbmHFn8SxbcSxIFslZCBzbl1cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4OTkgdGV4dC11dGlscy9jb2x1bW4uYzo0OTYKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NTI5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgIm9rdW1hIGJhxZ9hcsSxc8SxeiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciByZWFkaW5nIGZyb20gY2xpZW50LCBsZW4gPSAlZCIKK21zZ3N0ciAiaXN0ZW1jaWRlbiBva3VtYSBoYXRhc8SxLCB1enVubHVrID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJpxZ9sZW0gJWQsIGdlbGVuIHNhecSxID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiacWfbGVtICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiWmFtYW4gVVVJRCdzaSBvbHXFn3R1cnVsZHU6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICJSYXN0Z2VsZSBVVUlEIG9sdcWfdHVydWxkdTogJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIlphbWFuIHRhYmFubMSxIFVVSUQgJXMgb2x1xZ90dXJ1bGR1IHZlICVkIHRha2lwIGVkZW5cbiIKK21zZ3N0clsxXSAiWmFtYW4gdGFiYW5sxLEgVVVJRCAlcyBvbHXFn3R1cnVsZHUgdmUgJWQgdGFraXAgZWRlblxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiVkIFVVSUQgb2x1xZ90dXJ1bGR1OlxuIgorbXNnc3RyWzFdICIlZCBVVUlEIG9sdcWfdHVydWxkdTpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICJHZcOnZXJzaXogacWfbGVtOiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJTdW51Y3UgJWQnZGVuIGJla2xlbm1leWVuIHlhbsSxdCB1enVubHXEn3UiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiLS11dWlkJ2xlciBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgInV1aWRkIHNva2V0IGV0a2lubGXFn3Rpcm1lIGRlc3RlxJ9pIG9sbWFkYW4gZGVybGVuZGkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICItLXRpbWVvdXQgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBuYW1lIHRvbyBsb25nOiAlcyIKK21zZ3N0ciAiYsO2bMO8bSBpc21pIMOnb2sgdXp1biIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIkhlbSAtLXNvY2tldC1hY3RpdmF0aW9uIGhlbSBkZSAtLXNvY2tldCBiZWxpcnRpbGRpLiAtLXNvY2tldCB5b2tzYXnEsWzEsXlvci4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICJ1dWlkZCBhcnRhbGFuIHPDvHJlY2kgKCVzKSDDp2HEn3LEsWzEsXJrZW4gaGF0YSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiYmVrbGVubWV5ZW4gaGF0YSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEXG4iCittc2dpZF9wbHVyYWwgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURzXG4iCittc2dzdHJbMF0gIiVzIHZlICVkIHNvbnJha2kgVVVJRFxuIgorbXNnc3RyWzFdICIlcyB2ZSAlZCBzb25yYWtpIFVVSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJVVUlEbGVyaW4gbGlzdGVzaTpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICJwaWQgJWQgaWxlIMOnYWzEscWfYW4gdXVpZGQgw7ZsZMO8csO8bGVtZWRpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAicGlkICVkIGlsZSDDp2FsxLHFn2FuIHV1aWRkIMO2bGTDvHLDvGzDvHlvci5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiWWVuaSBiaXIgVVVJRCBkZcSfZXJpIG9sdcWfdHVyLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgcmFzdGdlbGUtdGFiYW5sxLEgb2x1xZ90dXJtYWxhcsSxIHRlc3QgZXRcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB6YW1hbi10YWJhbmzEsSBvbHXFn3R1cm1hbGFyxLEgdGVzdCBldFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNAorbXNnaWQgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGLDvHTDvG4gYXlnxLF0bGFyxLEgeWF6ZMSxclxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhMSAgICAgICAgICBnZW5lcmF0ZSBzaGExIGhhc2hcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBwYXlsYcWfxLFsYW4gYmlyIGtpbGlkaSBhbFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGnFn2xlxZ9tZSBiacOnaW1pbmkgdGVyc2luZSDDp2V2aXJcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgaWRlbnRpZmllciIKK21zZ3N0ciAiZcWfc2l6IGRlcG9sYW1hIHRhbsSxbWxhecSxY8Sxc8SxIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgYWTEsSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgIlllbmkgaXNpbSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gPGRvc3lhPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgIEpTT04gw6fEsWt0xLEgZm9ybWF0xLFuxLEga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBiYcWfbMSxa2xhcsSxIHlhemTEsXJtYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3RlPiAgICBnw7ZzdGVyaWxlY2VrIMOnxLFrdMSxIHPDvHR1bmxhcsSxXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGhhbSDDp8Sxa3TEsSBiacOnaW1pbmkga3VsbGFuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICJraW1saWsgZ2XDp2Vyc2l6IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiw6fEsWt0xLEgc8O8dHVudSBiYcWfbGF0xLFsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIFstQk1TIDxkaXppbj4uLi4gLWZdIDxpc2ltPlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDIKK21zZ2lkICJMb2NhdGUgdGhlIGJpbmFyeSwgc291cmNlLCBhbmQgbWFudWFsLXBhZ2UgZmlsZXMgZm9yIGEgY29tbWFuZC5cbiIKK21zZ3N0ciAiQmlyIGtvbXV0IGnDp2luIMOnYWzEscWfdMSxcsSxbGFiaWxpciwga2F5bmFrIHZlIGtsYXZ1ei1zYXlmYXPEsSBkb3N5YWxhcsSxbsSxIGJ1bC5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1Cittc2dpZCAiIC1iICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIGJpbmFyaWVzXG4iCittc2dzdHIgIiAtYiAgICAgICAgIHNhZGVjZSBpa2lsaSBkb3N5YWxhcsSxIGFyYVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1CIDxkaXppbmxlcj4gIGlraWxpIGRvc3lhbGFyxLEgYXJhbWEgeW9sdW51IHRhbsSxbWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIgLW0gICAgICAgICBzYWRlY2Uga2xhdnV6bGFyxLEgdmUgYmlsZ2kgZG9zeWFsYXLEsW7EsSBhcmFcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPGRpemlubGVyPiAga2xhdnV6IHZlIGJpbGdpIGRvc3lhbGFyxLEgYXJhbWEgeW9sdW51IHRhbsSxbWxhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOQorbXNnaWQgIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBzb3VyY2VzXG4iCittc2dzdHIgIiAtcyAgICAgICAgIHNhZGVjZSBrYXluYWsgZG9zeWFsYXLEsW7EsSBhcmFcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDxkaXppbmxlcj4gIGtheW5hayBkb3N5YWxhcsSxbsSxIGFyYW1hIHlvbHVudSB0YW7EsW1sYVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTEKK21zZ2lkICIgLWYgICAgICAgICB0ZXJtaW5hdGUgPGRpcnM+IGFyZ3VtZW50IGxpc3RcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgPGRpemlubGVyPiBhcmfDvG1hbiBsaXN0ZXNpbmkgc29ubGFuZMSxclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIgLXUgICAgICAgICBzxLFyYWTEscWfxLEgZ2lyZGlsZXJpIGFyYVxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICBldGtpbGkgYXJhbWEgeW9sbGFyxLFuxLEgZ8O2c3RlclxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAic2XDp2VuZWsgLWYgZWtzaWsiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi9maWxlc3lzdGVtIFVVSUQiCittc2dzdHIgImRvc3lhIHNpc3RlbWkgVVVJRCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA2Cittc2dpZCAic3VwZXJibG9rIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAiaGF0YWzEsSBpbm9kZSBvZnNldGkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA4CisjLCBmdXp6eQorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgImJheXJhayB0YW7EsW1sYW1hc8SxIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiZMO2bmfDvCBheWfEsXTEsSBpc21pIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgImRpc2sgYsO2bMO8bcO8IHRhYmxvc3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgImhhdGE6ICVzOiB5b2tsYW1hIGJhxZ9sYXTEsWxhbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogJXMgc2loaXJsaSBrYXJha3RlciBkaXppc2kgb2ZzZXQgMHglMDhqeCd0ZSBzaWxpbmVtZWRpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlczogJXpkIGJheXQgb2ZzZXQgMHglMDhqeCd0ZSBzaWxpbmRpICglcyk6ICIKK21zZ3N0clsxXSAiJXM6ICV6ZCBiYXl0IG9mc2V0IDB4JTA4angndGUgc2lsaW5kaSAoJXMpOiAiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCIKK21zZ3N0ciAiJXM6IGltemEgeWVkZcSfaSBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiJXM6IGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IHllbmlkZW4gb2t1bWFrIGnDp2luIGlvY3RsIMOnYcSfcsSxbMSxeW9yOiAlbVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgImltemEgeWVkZcSfaSBvbHXFn3R1cnVsYW1hZMSxLCAkSE9NRSB0YW7EsW1sxLEgZGXEn2lsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogdGFtIG9sbWF5YW4gZGlzayBheWfEsXTEsW5kYWtpIGnDp2nDp2UgXCIlc1wiIGRpc2sgYsO2bMO8bcO8IHRhYmxvc3UgeW9rc2F5xLFsxLF5b3IiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlczogb2ZzZXQgMHglanggYnVsdW5hbWFkxLEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTgwCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIlNpbG1leWUgem9ybGFtYWsgacOnaW4gLS1mb3JjZSBzZcOnZW5lxJ9pbmkga3VsbGFuxLFuLiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDUKKyMsIGZ1enp5Cittc2dpZCAiV2lwZSBzaWduYXR1cmVzIGZyb20gYSBkZXZpY2UuIgorbXNnc3RyICLEsG16YWxhcsSxIGJpciBheWfEsXR0YW4ga2FsZMSxci5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgYsO8dMO8biBheWfEsXRsYXLEsSB5YXpkxLFyXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA5CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUUiCittc2dzdHIgImltemEgeWVkZcSfaSBvbHXFn3R1cnVsYW1hZMSxLCAkSE9NRSB0YW7EsW1sxLEgZGXEn2lsIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBrb250cm9sZSB6b3JsYVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGJhxZ9sxLFrbGFyxLEgeWF6ZMSxcm1hXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICBKU09OIMOnxLFrdMSxIGJpw6dpbWluaSBrdWxsYW5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgaGVyxZ9leWkgeWFwIGFuY2FrIGthecSxdCBkb3N5YXPEsW5hIGtheWRldG1lXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXMiCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHNhecSxPiAgIGFyYWzEsWsgacWfbGVtbGVyaSBpw6dpbiBvZnNldCwgYmF5dCBvbGFyYWtcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTUKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxsaXN0PiBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdCIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08bGlzdGU+XSAgICBheXLEscWfdMSxcsSxbGFiaWxpciBiaXIgYmnDp2ltIHlhemTEsXJcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBmYXpsYWRhbiBiaWxnaSBtZXNhamxhcsSxbsSxIGfDtnN0ZXJtZVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXMiCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgICBkb3N5YSBzaXN0ZW1pIGvDvG1lc2luaSBEUyB0aXBsZXJpIGlsZSBzxLFuxLFybGFcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo3MjQKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAiLS1iYWNrdXAgc2XDp2VuZcSfaSBidSBiYcSfbGFtZGEgYW5sYW1zxLF6IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkJpciBzw7xyZWNpbiBnZXLDp2VrIHphbWFsxLEgemFtYW5sYW1hIMO2em5pdGVsaWtsZXJpbmkgZ8O2c3RlciB5YSBkYSBkZcSfacWfdGlyLlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzcKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJQb2xpdGlrYSBheWFybGE6XG4iCisiIGNocnQgW3Nlw6dlbmVrbGVyXSA8w7ZuY2VsaWs+IDxrb211dD4gWzxhcmfDvG1hbj4uLi5dXG4iCisiIGNocnQgW3Nlw6dlbmVrbGVyXSAtLXBpZCA8w7ZuY2VsaWs+IDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisiQWxtYSBwb2xpdGlrYXPEsTpcbiIKKyIgY2hydCBbc2XDp2VuZWtsZXJdIC1wIDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICJQb2xpdGlrYSBzZcOnZW5la2xlcmk6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NgorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiAtYiwgLS1iYXRjaCAgICAgICAgICBwb2xpdGlrYXnEsSBTQ0hFRF9CQVRDSCBvbGFyYWsgYXlhcmxhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiAtZCwgLS1kZWFkbGluZSAgICAgICBwb2xpdGlrYXnEsSBTQ0hFRF9ERUFETElORSBvbGFyYWsgYXlhcmxhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIHBvbGl0aWthecSxIFNDSEVEX0ZJRk8gb2xhcmFrIGF5YXJsYVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtaSwgLS1pZGxlICAgICAgICAgICBwb2xpdGlrYXnEsSBTQ0hFRF9JRExFIG9sYXJhayBheWFybGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCittc2dpZCAiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKK21zZ3N0ciAiIC1vLCAtLW90aGVyICAgICAgICAgIHBvbGl0aWthecSxIFNDSEVEX09USEVSIG9sYXJhayBheWFybGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICBwb2xpdGlrYXnEsSBTQ0hFRF9SUiAodmFyc2F5xLFsYW4pIG9sYXJhayBheWFybGFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICJaYW1hbmxhbWEgc2XDp2VuZWtsZXJpOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBGSUZPIHlhIGRhIFJSc2V0IGnDp2luIFNDSEVEX1JFU0VUX09OX0ZPUksgYXlhcmxhXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBERUFETElORSBpw6dpbiDDp2FsxLHFn21hIHphbWFuxLEgcGFyYW1hdHJlc2lcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgREVBRExJTkUgacOnaW4gcGVyaXlvZCBwYXJhbWV0cmVzaVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IERFQURMSU5FIGnDp2luIHphbWFuIHPEsW7EsXLEsSBwYXJhbWV0cmVzaVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjEKK21zZ2lkICJPdGhlciBvcHRpb25zOlxuIgorbXNnc3RyICJEacSfZXIgc2XDp2VuZWtsZXI6XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsLXRhc2tzICAgICAgdmVyaWxlbiBwaWQgacOnaW4gYsO8dMO8biBnw7ZyZXZsZXJkZSAoacWfIHBhcsOnYWPEscSfxLEpIGnFn2xlbSB5YXBcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4ICAgICAgICAgICAgZW4gZMO8xZ/DvGsgdmUgZW4gecO8a3NlayBnZcOnZXJsaSDDtm5jZWxpa2xlcmkgZ8O2c3RlclxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgIHZlcmlsZW4gdmFyb2xhbiBwaWQgw7x6ZXJpbmRlIGnFn2xlbSB5YXBcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBkdXJ1bSBiaWxnaXNpbmkgZ8O2c3RlclxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzEgc2NoZWR1dGlscy9jaHJ0LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICJwaWQgJWQnbmluIHBvbGl0aWthc8SxIGFsxLFuYW1hZMSxIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIgorbXNnc3RyICJwaWQgJWQnbmluIMO2em5pdGVsaWtsZXJpIGFsxLFuYW1hZMSxIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkICVkJ25pbiB5ZW5pIHphbWFubGFtYSBwb2xpdGlrYXPEsTogJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OAorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkICVkJ25pbiBtZXZjdXQgemFtYW5sYW1hIHBvbGl0aWthc8SxOiAlcyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJwaWQgJWQnbmluIHllbmkgemFtYW5sYW1hIMO2bmNlbGnEn2k6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgInBpZCAlZCduaW4gbWV2Y3V0IHphbWFubGFtYSDDtm5jZWxpxJ9pOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZCduaW4geWVuaSDDp2FsxLHFn21hIHphbWFuxLEvc8O8cmUgYml0acWfaS9wZXJpeW9kIHBhcmFtZXRyZWxlc2k6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZCduaW4gbWV2Y3V0IMOnYWzEscWfbWEgemFtYW7EsS9zw7xyZSBiaXRpxZ9pL3Blcml5b2QgcGFyYW1ldHJlbGVzaTogJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgImfDtnJldmxlcmluIGxpc3Rlc2kgYWzEsW5hbWFkxLEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIiVzIGFzZ2FyaS9hemFtaSDDtm5jZWxpa1x0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiJXMgZGVzdGVrbGVubWl5b3IgbXU/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAidGlkICVkJ25pbiBwb2xpdGlrYXPEsSBheWFybGFuYW1hZMSxIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgInBpZCAlZCduaW4gcG9saXRpa2FzxLEgYXlhcmxhbmFtYWTEsSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg0Cittc2dpZCAiaW52YWxpZCBydW50aW1lIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogw6dhbMSxxZ9tYSB6YW1hbsSxIGFyZ8O8bWFuxLEiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogcGVyaXlvZCBhcmfDvG1hbsSxIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0OTAKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogc8O8cmUgYml0acWfaSBhcmfDvG1hbsSxIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogw7ZuY2VsaWsgYXJnw7xtYW7EsSIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIi0tcmVzZXQtb24tZm9yayBzZcOnZW5lxJ9pIHNhZGVjZSBTQ0hFRF9GSUZPIHZlIFNDSEVEX1JSIHBvbGl0aWthbGFyxLEgacOnaW4gZGVzdGVrbGVuaXIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBzZcOnZW5la2xlcmkgc2FkZWNlIFNDSEVEX0RFQURMSU5FIGnDp2luIGRlc3Rla2xlbmlyIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiU0NIRURfREVBRExJTkUgZGVzdGVrbGVubWl5b3IiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgInBvbGl0aWthIGnDp2luIGRlc3Rla2xlbm1leWVuIMO2bmNlbGlrIGRlxJ9lcmk6ICVkOiBnZcOnZXJsaSBhcmFsxLFrIGnDp2luIC0tbWF4J2EgYmFrxLFuICIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IGJhxZ9hcsSxc8SxeiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXM6IMO2bmNlbGlrICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQgYmHFn2FyxLFzxLF6IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbc2XDp2VuZWtsZXJdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbc2XDp2VuZWtsZXJdIDxrb211dD5cbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTEKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiRy/Dhy16YW1hbmxhbWEgc8SxbsSxZsSxbsSxIHZlIGJpciBzw7xyZWNpbiDDtm5jZWxpxJ9pbmkgZ8O2c3RlciB5YSBkYSBkZcSfacWfdGlyLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNAorbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2xhc3MgPHPEsW7EsWY+ICAgIHphbWFubGFtYSBzxLFuxLFmxLFuxLFuIGlzbWkgeWEgZGEgbnVtYXJhc8SxLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPHNhecSxPiAgYmVsaXJ0aWxlbiB6YW1hbmxhbWEgc8SxbsSxZsSxbmRhIMO2bmNlbGlrICgwLi43KSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHNhZGVjZSBnZXLDp2VrIHphbWFubMSxIHZlIGVuIGl5aSBlZm9yIHPEsW7EsWZsYXLEsVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGJ1IHphdGVuIMOnYWzEscWfYW4gc8O8cmXDp2xlciDDvHplcmluZGUgacWfbGVtIHlhcFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIgLVAsIC0tcGdpZCA8cGdycD4uLi4gICBidSBncnVwbGFyZGEgbWV2Y3V0IMOnYWzEscWfYW4gc8O8cmXDp2xlciDDvHplcmluZGUgacWfbGVtIHlhcFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXQsIC0taWdub3JlICAgICAgICAgICBiYcWfYXLEsXPEsXpsxLFrbGFyxLEgeW9rc2F5XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIxCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYnUga3VsbGFuxLFjxLFsYXLEsW4gc2FoaWJpIG9sZHXEn3UgbWV2Y3V0IMOnYWzEscWfYW4gc8O8cmXDp2xlciDDvHplcmluZGUgacWfbGVtIHlhcFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHPEsW7EsWYgdmVyaXNpIGFyZ8O8bWFuxLEiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTYzCittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHPEsW7EsWYgYXJnw7xtYW7EsSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICJiaWxpbm1leWVuIHphbWFubGFtYSBzxLFuxLFmxLE6ICclcyciCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgImF5bsSxIGFuZGEgcGlkLCBwZ2lkIHlhIGRhIHVpZCdkZW4gc2FkZWNlIGJpcmkgacWfbGVuZWJpbGlyIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorbXNnaWQgImludmFsaWQgUEdJRCBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IFBHSUQgYXJnw7xtYW7EsSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IFVJRCBhcmfDvG1hbsSxIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgInZlcmlsZW4gc8SxbsSxZiB2ZXJpc2kgaGnDp2Jpcmkgc8SxbsSxZsSxIGnDp2luIHlva3NhecSxbMSxeW9yIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgInZlcmlsZW4gc8SxbsSxZiB2ZXJpc2kgYm/Fn3RhIHPEsW7EsWYgacOnaW4geW9rc2F5xLFsxLF5b3IiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiYmlsaW5tZXllbiDDtm5jZWxpayBzxLFuxLFmxLEgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJVc2FnZTogJXMgW29wdGlvbnNdIFttYXNrIHwgY3B1LWxpc3RdIFtwaWR8Y21kIFthcmdzLi4uXV1cbiIKKyJcbiIKK21zZ3N0ciAiIgorIkt1bGxhbsSxbTogJXMgW3Nlw6dlbmVrbGVyXSBbbWFza2UgfCBpxZ9sZW1jaS1saXN0ZXNpXSBbcGlkfGtvbXV0IFthcmfDvG1hbmxhci4uLl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkJpciBzw7xyZWNpbiBpxZ9sZW1jaSB5YWvEsW5sxLHEn8SxbsSxIGfDtnN0ZXIgeWEgZGEgZGXEn2nFn3Rpci5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIlNlw6dlbmVrbGVyOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICB2ZXJpbGVuIGJpciBwaWQgacOnaW4gYsO8dMO8biBnw7ZyZXZsZXJkZSAoacWfIHBhcsOnYWPEscSfxLEpIGnFn2xlbSB5YXBcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgdmVyaWxlbiB2YXJvbGFuIHBpZCDDvHplcmluZGUgacWfbGVtIHlhcFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBpxZ9sZW1jaWxlcmkgbGlzdGUgYmnDp2ltaW5kZSBnw7ZzdGVyIHZlIGJlbGlydFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBidSB5YXJkxLFtxLEgZ8O2c3RlclxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBzw7xyw7xtIGJpbGdpc2luaSBnw7ZzdGVyXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisiVmFyc2F5xLFsYW4gZGF2cmFuxLHFnyB5ZW5pIGJpciBrb211dCDDp2FsxLHFn3TEsXJtYWs6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiVmFyb2xhbiB0YXNrxLFuIG1hc2tlc2luaSBhbGFiaWxpcnNpbml6OlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIllhIGRhIGF5YXJsYXlhYmlsaXJzaW5pejpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0ZSBmb3JtYXTEsSBiaXIgbWFza2UgeWVyaW5lIHZpcmfDvGxsZS1heXLEsWxtxLHFnyBsaXN0ZSBrdWxsYW7EsXI6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIkxpc3RlIGZvcm1hdMSxbmRha2kgYXJhbMSxa2xhciBiaXIgdXp1biBhcmFsxLFrIGFyZ8O8bWFuxLEgYWxhYmlsaXI6XG4iCisiICAgIGUuZy4gMC0zMToyIG1hc2tlIDB4NTU1NTU1NTUnZSBlxZ9pdHRpclxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkJ25pbiB5ZW5pIHlha8SxbmzEsWsgbGlzdGVzaTogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICJwaWQgJWQnbmluIG1ldmN1dCB5YWvEsW5sxLFrIGxpc3Rlc2k6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJwaWQgJWQnbmluIHllbmkgeWFrxLFubMSxayBtYXNrZXNpOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgInBpZCAlZCduaW4gbWV2Y3V0IHlha8SxbmzEsWsgbWFza2VzaTogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IGNvbnZlcnNpb24gZnJvbSBjcHVzZXQgdG8gc3RyaW5nIGZhaWxlZCIKK21zZ3N0ciAiZGFoaWxpIGhhdGE6IGNwdXNldCd0ZW4ga2FyYWt0ZXIgZGl6aXNpbmUgZMO2bsO8xZ90w7xyw7xsZW1lZGkiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICJwaWQgJWQnbmluIHlha8SxbmzEscSfxLEgYXlhcmxhbmFtYWTEsSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgInBpZCAlZCduaW4geWFrxLFubMSxxJ/EsSBhbMSxbmFtYWTEsSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIk5SX0NQVVMgYmVsaXJsZW5lbWVkaTsgaXB0YWwgZWRpbGl5b3IiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY3B1c2V0X2FsbG9jIGJhxZ9hcsSxc8SxeiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI0IHN5cy11dGlscy9jaGNwdS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJDUFUgbGlzdGVzaSBheXLEscWfdMSxcsSxbGFtYWTEsTogJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2s6ICVzIgorbXNnc3RyICJDUFUgbWFza2VzaSBheXLEscWfdMSxcsSxbGFtYWTEsTogJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBTxLFmxLFyLWRvbGR1cnVsbXXFnyAlPFBSSXU2ND4gIGJheXQgb2ZzZXQgJTxQUkl1NjQ+J2RlblxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6IMOHxLFrYXLEsWxhbiAlPFBSSXU2ND4gYmF5dCBvZnNldCAlPFBSSXU2ND4nZGVuXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIkJpciBheWfEsXR0YWtpIHNla3TDtnJsZXJpbiBpw6dlcmnEn2luaSDDp8Sxa2FyLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxzYXnEsT4gIMOnxLFrYXLEsWxtYXlhIGtlbmRpbmRlbiBiYcWfbGFuYWNhayBvZnNldGluIGJheXQgb2xhcmFrIGRlxJ9lcmlcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxzYXnEsT4gIMOnxLFrYXLEsWxtYXlhIG9mc2V0dGVuIGJhxZ9sYW5hY2FrIGJheXRsYXLEsW4gdXp1bmx1xJ91XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1wLCAtLXN0ZXAgPHNhecSxPiAgICBvZnNldCBpw6dlcmlzaW5kZWtpIMOnxLFrYXJtYSBkw7ZuZ8O8bGVyaW5pbiBib3l1dHVcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY3VyZSAgICAgICAgZ8O8dmVubGkgw6fEsWthcm1hIGdlcsOnZWtsZcWfdGlyXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLXosIC0temVyb291dCAgICAgICDDp8Sxa2FybWFrIHllcmluZSBzxLFmxLFyIGlsZSBkb2xkdXJcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgaGl6YWzEsSB1enVubHXEn3UgdmUgb2ZzZXRpIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5MQorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAib2ZzZXQgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgImFkxLFtIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiYmVrbGVubWV5ZW4gYXJnw7xtYW4gc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTIgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IG9mc2V0ICU8UFJJdTY0PiBzZWt0w7ZyIGJveXV0dSAlaSd5ZSBoxLF6YWzEsSBkZcSfaWwiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczogb2ZzZXQgYXlnxLF0IGJveXV0dW5kYW4gZGFoYSBiw7x5w7xrIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IHV6dW5sdWsgJTxQUkl1NjQ+IHNla3TDtnIgYm95dXR1ICVpJ3llIGjEsXphbMSxIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLWkVST09VVCBpb2N0bCBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworIywgZnV6enkKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICJCbG9rIGF5Z8SxdGxhcsSxIGhha2vEsW5kYSBiaWxnaSBsaXN0ZWxlLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjc0Cittc2dpZCAiUmVzZXQgYSByYW5nZSBvZiB6b25lcy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogZG/En3J1ZGFuIGfDpyBheWFybGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICIlczogYsO2bGdlIGhhcml0YXPEsW5hIHlhesSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvdW5kICVkIHpvbmVzIGZyb20gMHglPFBSSXg2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZW4gMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiJXM6IG9mc2V0ICU8UFJJdTY0PiBzZWt0w7ZyIGJveXV0dSAlaSd5ZSBoxLF6YWzEsSBkZcSfaWwiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBvZnNldCAlPFBSSXU2ND4gc2VrdMO2ciBib3l1dHUgJWkneWUgaMSxemFsxLEgZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFU0VUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBCTEtTU1pHRVQgaW9jdGwgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBib3l1dHUgJTxQUkl1MzI+IGRlbiAlPFBSSXU2ND4gZSBkZcSfacWfdGlyaWxkaS4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSA8ZGV2aWNlPlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwMgorbXNnaWQgIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHNhecSxPiAgIGFyYWzEsWsgacWfbGVtbGVyaSBpw6dpbiBvZnNldCwgYmF5dCBvbGFyYWtcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jb3VudCA8bnVtYmVyPiAgIG1heGltdW0gbnVtYmVyIG9mIHpvbmVzXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDxzYXnEsT4gICAgc8Sxa8SxxZ90xLFybWEgYWvEscWfbGFyxLFuxLFuIHNhecSxc8SxXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIGRhaGEgZmF6bGEgYmlsZ2kgeWF6ZMSxclxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IHZhbGlkIGNvbW1hbmQgbmFtZSIKK21zZ3N0ciAiJXMgZ2XDp2VybGkgYmlyIGJsb2sgYXlnxLF0xLEgZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIgorbXNnc3RyICJzYXTEsXIgc2F5xLFzxLEgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzczCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAic2F0xLFyIHNhecSxc8SxIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugem9uZSBvZmZzZXQiCittc2dzdHIgIm9mc2V0IGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgImhlcmhhbmdpIGJpciBrb211dCBiZWxpcnRpbG1lZGkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIsSwxZ9sZW1jaSAldSBtZXZjdXQgZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiCittc2dzdHIgIsSwxZ9sZW1jaSAldSB0YWsgw6dhbMSxxZ90xLFyIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICLEsMWfbGVtY2kgJXUgemF0ZW4gZXRraW5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIsSwxZ9sZW1jaSAldSB6YXRlbiBkZXZyZSBkxLHFn8SxXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIsSwxZ9sZW1jaSAldSBldGtpbmxlxZ90aXJtZXNpIGJhxZ9hcsSxc8SxeiAoxLDFn2xlbWNpIHlhcMSxbGFuZMSxcm1hc8SxIHPEsWbEsXJsYW5kxLEpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIsSwxZ9sZW1jaSAldSBldGtpbmxlxZ90aXJpbGVtZWRpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAixLDFn2xlbWNpICV1IGV0a2lubGXFn3RpcmlsZGlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIsSwxZ9sZW1jaSAldSBkZXZyZSBkxLHFn8SxIGLEsXJha8SxbGFtYWTEsSAoc29uIGV0a2luIGnFn2xlbWNpKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAixLDFn2xlbWNpICV1IGthcGF0xLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIsSwxZ9sZW1jaSAldSBrYXBhdMSxbGTEsVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiQnUgc2lzdGVtIGnFn2xlbWNpbGVyaW4geWVuaWRlbiB0YXJhbm1hc8SxbsSxIGRlc3Rla2xlbWl5b3IiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICLEsMWfbGVtY2lsZXJpbiB5ZW5pZGVuIHRhcmFubWFzxLEgdGV0aWtsZW5lbWVkaSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICLEsMWfbGVtY2lsZXJpbiB5ZW5pZGVuIHRhcmFubWFzxLEgdGV0aWtsZW5kaVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAiQnUgc2lzdGVtIGnFn2xlbWNpbGVyaW4gZ8O2bmRlcmltIGtpcGluaW4gYXlhcmxhbm1hc8SxbsSxIGRlc3Rla2xlbWl5b3IiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICJZYXRheSBnw7ZuZGVyaW0ga2lwaSBheWFybGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiWWF0YXkgZ8O2bmRlcmltIGtpcGkgYmHFn2FyxLF5bGEgYXlhcmxhbmTEsVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIkRpa2V5IGfDtm5kZXJpbSBraXBpIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE2MAorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IHZlcnRpY2FsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAiRGlrZXkgZ8O2bmRlcmltIGtpcGkgYmHFn2FyxLF5bGEgYXlhcmxhbmTEsVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIsSwxZ9sZW1jaSAldSBkw7x6ZW5sZW5lYmlsaXIgZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICLEsMWfbGVtY2kgJXUgemF0ZW4geWFwxLFsYW5kxLFyxLFsZMSxXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAixLDFn2xlbWNpICV1IHllbmlkZW4gaWxrIGF5YXJsYXJhIGTDtm5kw7xyw7xsZMO8XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIsSwxZ9sZW1jaSAldSBpbGsgYXlhcmxhcmEgZMO2bmTDvHLDvGxlbWVkaSAoxLDFn2xlbWNpIGV0a2luKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICLEsMWfbGVtY2kgJXUgeWFwxLFsYW5kxLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAixLDFn2xlbWNpICV1IHlhcMSxbGFuZMSxcsSxbGTEsVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAixLDFn2xlbWNpICV1IGlsayBheWFybGFyYSBkw7ZuZMO8csO8bGVtZWRpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICLEsMWfbGVtY2kgJXUgaWxrIGF5YXJsYXJhIGTDtm5kw7xyw7xsZMO8XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJpxZ9sZW1jaSBsaXN0ZXNpbmRlIGdlw6dlcnNpeiBpxZ9sZW1jaSBzYXnEsXPEsTogJXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzOSB0ZXh0LXV0aWxzL2NvbC5jOjEzMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisiS3VsbGFuxLFtOlxuIgorIiAlcyBbc2XDp2VuZWtsZXJdXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAixLDFn2xlbWNpbGVyaSDDp29rLWnFn2xlbWNpbGkgYmlyIHNpc3RlbWRlIGTDvHplbmxlLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZcOnZW5la2xlcjpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIGJ1IHlhcmTEsW0gbWV0bmluaSB5YXpkxLFyXG4iCisiICAtZSwgLS1lbmFibGUgPGnFn2xlbWNpLWxpc3Rlc2k+ICAgICAgIGnFn2xlbWNpbGVyaSBldGtpbmxlxZ90aXJcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGnFn2xlbWNpLWxpc3Rlc2k+ICAgICAgacWfbGVtY2lsZXJpIGthcGF0XG4iCisiICAtYywgLS1jb25maWd1cmUgPGnFn2xlbWNpLWxpc3Rlc2k+ICAgIGlzbGVtY2lsZXJpIGTDvHplbmxlXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8acWfbGVtY2ktbGlzdGVzaT4gIGnFn2xlbWNpIGTDvHplbmxlbWVzaW5pIHPEsWbEsXJsYVxuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPGtpcD4gICAgICAgICBnw7ZuZGVyaW0ga2lwaW5pIGF5YXJsYVxuIgorIiAgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgacWfbGVtY2lsZXJpbiB5ZW5pZGVuIHRhcmFubWFzxLFuxLEgdGV0aWtsZVxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgc8O8csO8bSBiaWxnaXNpbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBhcmfDvG1hbjogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgImtpbWxpayBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgIsSwxZ9sZW1jaSAldSBldGtpbmxlxZ90aXJpbGVtZWRpIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkXG4iCittc2dzdHIgIsSwxZ9sZW1jaSAldSBrYXBhdMSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlZFxuIgorbXNnc3RyICLEsMWfbGVtY2kgJXUgZXRraW5sZcWfdGlyaWxkaVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlZFxuIgorbXNnc3RyICLEsMWfbGVtY2kgJXUga2FwYXTEsWxkxLFcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZW5hYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBkaXNhYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICLEsMWfbGVtY2kgJXUgemF0ZW4gZXRraW5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIsSwxZ9sZW1jaSAldSB6YXRlbiBkZXZyZSBkxLHFn8SxXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAixLDFn2xlbWNpICV1IGV0a2lubGXFn3RpcmlsZW1lZGkiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIsSwxZ9sZW1jaSAldSBrYXBhdMSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICLEsMWfbGVtY2kgJXUgZXRraW5sZcWfdGlyaWxlbWVkaSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAixLDFn2xlbWNpICV1IGthcGF0xLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgImjEsXogb2t1bmFtYWTEsSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBibG9jayBudW1iZXIiCittc2dzdHIgInNhecSxIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzkKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUiCittc2dzdHIgIkJveXV0IMOnw7Z6w7xtbGVuZW1lZGkuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJiYcWfbGFuZ8Sxw6cgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJiaXRpxZ8gYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgImdlw6dlcnNpeiBiYcWfbGF0bWEgYXJnw7xtYW7EsSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIkF5YXIgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAiYmHFn2xhbmfEscOnIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDEKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCBhZGRyZXNzIgorbXNnc3RyICJiaXRpxZ8gYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBhZGRyZXNzIGFuZCAoZW5kIGFkZHJlc3MgKyAxKSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGFyZ8O8bWFuOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHJhbmdlOiAlcyIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGFyZ8O8bWFuOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIFtlIHwgaF1cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM3Cittc2dpZCAiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWVuYWJsZSAgICAgICBlbmFibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGRhaGEgYXlyxLFudMSxbMSxIG9sXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGRhaGEgYXlyxLFudMSxbMSxIG9sXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIGRhaGEgYXlyxLFudMSxbMSxIG9sXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MworbXNnaWQgIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgZGFoYSBheXLEsW50xLFsxLEgb2xcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZXN0ZWtsZW5lbiBzaXN0ZW0gZ8O8bmzDvMSfw7wgeWV0ZW5la2xlcmk6XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQyOQorbXNnaWQgInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIKK21zZ3N0ciAiYmlsaW5tZXllbiBheSBpc21pOiAlcyIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiAlcyBzZXJ0fHl1bXXFn2FrXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0IHRoZSBmdW5jdGlvbiBvZiB0aGUgQ3RybC1BbHQtRGVsIGNvbWJpbmF0aW9uLlxuIgorbXNnc3RyICJDdHJsLUFsdC1EZWwga29tYmluYXN5b251bnVuIGnFn2xldmluaSBheWFybGEuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAiZG9sYXlsxLEiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICIlcyd0ZSBiZWtsZW5tZXllbiBkZcSfZXI6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIkN0cmwtQWx0LURlbCBkYXZyYW7EscWfxLFuxLEgYXlhcmxhbWFrIGnDp2luIHJvb3Qga3VsbGFuxLFjxLFzxLEgb2xtYWzEsXPEsW7EsXoiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYmlsaW5tZXllbiBhcmfDvG1hbjogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEwOQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAic2lzdGVtIGt1bGxhbsSxbGFtYXogZHVydW1kYSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgImVuIGvEsXNhIHPDvHJlZGUgYWtzaXlvbiBhbMSxbm1hbMSxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICJrcml0aWsga2/Fn3VsbGFyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICJoYXRhIGtvxZ91bGxhcsSxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgInV5YXLEsSBrb8WfdWxsYXLEsSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIm5vcm1hbCBhbWEga2F5ZGEgZGXEn2VyIGtvxZ91bGxhciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAiYmlsZ2kgYW1hw6dsxLEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJoYXRhIGF5xLFrbGFtYSBzZXZpeWVzaSBpbGV0aWxlcmkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAiw6dla2lyZGVrIGlsZXRpbGVyaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgInJhc3RnZWxlIGt1bGxhbsSxY8SxLXNldml5ZXNpIGlsZXRpbGVyaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgInBvc3RhIHNpc3RlbWkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICJzaXN0ZW0gYXJ0YWxhbiBzw7xyZcOnbGVyaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAiZ8O8dmVubGlrL3lldGtpbGVuZGlybWUgaWxldGlsZXJpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJzeXNsb2dkIHRhcmFmxLFuZGFuIG9sdcWfdHVydWxhbiBkYWhpbGkgaWxldGlsZXIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIsOnaXpnaSB5YXrEsWPEsSBhbHRzaXN0ZW1pIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICJhxJ8gaGFiZXJsZXJpIGFsdHNpc3RlbWkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJVVUNQIGFsdHNpc3RlbWkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAic2FhdCBhcnRhbGFuIHPDvHJlY2kiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICJnw7x2ZW5saWsveWV0a2lsZW5kaXJtZSBpbGV0aWxlcmkgKMO2emVsKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAiRlRQIGFydGFsYW4gc8O8cmVjaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIsOHZWtpcmRlayBoYWxrYSB0YW1wb251bnUgZ8O2c3RlciB5YSBkYSBrb250cm9sIGV0LlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICDDp2VraXJkZWsgaGFsa2EgdGFtcG9udW51IHRlbWl6bGVcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICBiw7x0w7xuIGlsZXRpbGVyaSBva3UgdmUgdGVtaXpsZVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGlsZXRpbGVyaSBrb25zb2xhIHlhemTEsXJtYXnEsSBrYXBhdFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgaWxldGlsZXJpIGtvbnNvbGEgeWF6bWF5xLEgZXRraW5sZcWfdGlyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NgorbXNnaWQgIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDxkb3N5YT4gICAgICAgICAgIMOnZWtpcmRlayBzaXN0ZW0gZ8O8bmzDvMSfw7wgdGFtcG9udSB5ZXJpbmUgZG9zeWF5xLEga3VsbGFuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIgLWYsIC0tZmFjaWxpdHkgPGxpc3RlPiAgICAgICDDp8Sxa3TEsXnEsSB0YW7EsW1sxLEgeWV0ZW5la2xlcmxlIHPEsW7EsXJsYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIG9rdW5hYmlsaXIgw6fEsWt0xLFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIMOnZWtpcmRlayBpbGV0aWxlcmluaSBnw7ZzdGVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bmV6YW1hbj5dICAgICAgICBpbGV0aWxlcmkgcmVua2xlbmRpciAob3RvLCBkYWltYSB5YSBkYSBhc2xhKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIgLWwsIC0tbGV2ZWwgPGxpc3RlPiAgICAgICAgICDDp8Sxa3TEsXnEsSBiZWxpcmxlbmVuIHNldml5ZWxlcmxlIHPEsW7EsXJsYVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPHNldml5ZT4ga29uc29sYSB5YXrEsWxhbiBpbGV0aWxlcmluIHNldml5ZXNpbmkgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIMOnxLFrdMSxecSxIGJpciBzYXlmYWxhecSxY8SxeWEgZ8O2bmRlcm1lXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIGhhbSBpbGV0aSB0YW1wb251bnUgeWF6ZMSxclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgL2Rldi9rbXNnIHllcmluZSBzeXNsb2coMikga3VsbGFubWF5xLEgem9ybGFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA8Ym95dXQ+ICAgIMOnZWtpcmRlayBoYWxrYSB0YW1wb251IHNvcmd1bGFtYWsgacOnaW4gdGFtcG9uIGJveXV0dVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTAKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAga3VsbGFuxLFjxLEgdXphecSxIGlsZXRpbGVyaW5pIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB5ZW5pIGlsZXRpbGVyIGnDp2luIGJla2xlXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICB5ZXRlbmVrIHZlIHNldml5ZXlpIG9rdW5hYmlsaXIga2FyYWt0ZXIgZGl6aXNpbmUgw6fDtnpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgeWF6ZMSxcsSxbGFuIGlsZXRpbGVyIGFyYXPEsW5kYWtpIHphbWFuIGZhcmvEsW7EsSBnw7ZzdGVyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHllcmVsIHphbWFuxLEgdmUgemFtYW4gZmFya8SxbsSxIG9rdW5hYmlsaXIgYmnDp2ltZGUgZ8O2c3RlclxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTUKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgb2t1bmFiaWxpciB6YW1hbiBkYW1nYXPEsW7EsSBnw7ZzdGVyIChrdXN1cmx1IG9sYWJpbGlyISlcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk2Cittc2dpZCAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGlsZXRpbGVybGUgYmlybGlrdGUgemFtYW4gZGFtZ2FzxLEgZ8O2c3Rlcm1lXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wIHVzaW5nIHRoZSBnaXZlbiBmb3JtYXQ6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiU3VzcGVuZGluZy9yZXN1bWUgd2lsbCBtYWtlIGN0aW1lIGFuZCBpc28gdGltZXN0YW1wcyBpbmFjY3VyYXRlLlxuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxiacOnaW0+ICB6YW1hbiBkYW1nYXPEsW7EsSB2ZXJpbGVuIGJpw6dpbWRlIGfDtnN0ZXI6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisiRHVyZHVtYS9kZXZhbSBldHRpcm1lIGN0aW1lIHZlIGlzbyB6YW1hbiBkYW1nYWxhcsSxbsSxICB0aW1lc3RhbXBzIGhhdGFsxLEgaGFsZSBnZXRpcmVjZWt0aXIuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZXN0ZWtsZW5lbiBzaXN0ZW0gZ8O8bmzDvMSfw7wgeWV0ZW5la2xlcmk6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJEZXN0ZWtsZW5lbiBzaXN0ZW0gZ8O8bmzDvMSfw7wgc2V2aXllbGVyaSAow7ZuY2VsaWtsZXIpOlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgInNldml5ZSAnJXMnIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICJiaWxpbm1leWVuIHNldml5ZSAnJXMnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGZhY2lsaXR5ICclcyciCittc2dzdHIgInlldGVuZWsgJyVzJyBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiYmlsaW5tZXllbiB5ZXRlbmVrICclcyciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIm1tYXAgYmHFn2FyxLFzxLF6OiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzNgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgImdlw6dlcnNpeiB0YW1wb24gYm95dXR1IGFyZ8O8bWFuxLEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXNob3ctZGVsdGEsIGlzbzg2MDEgemFtYW4gZm9ybWF0xLEgaWxlIGt1bGxhbsSxbGTEscSfxLEgemFtYW4geW9rc2F5xLFsxLFyIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCittc2dpZCAiLS1yYXcgY2FuIGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWxldmVsIG9yIC0tZmFjaWxpdHkgb25seSB3aGVuIHJlYWRpbmcgbWVzc2FnZXMgZnJvbSAvZGV2L2ttc2ciCittc2dzdHIgIi0tcmF3IHNhZGVjZSBpbGV0aWxlciAvZGV2L2ttc2cnZGVuIG9rdW51cmtlbiAtLWxldmVsIHZlIC0tZmFjaWxpdHkgaWxlIGJpcmxpa3RlIGt1bGxhbsSxbGFiaWxpciIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUyNgorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIsOnZWtpcmRlayB0YW1wb24gYmVsbGXEn2kgb2t1bmFtYWTEsSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICJrbG9nY3RsIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gWzxheWfEsXQ+fDxiYcSfbGFtYW5va3Rhc8SxPl1cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM4Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICLDh8Sxa2FyxLFsYWJpbGlyIG9ydGFtxLEgw6fEsWthci5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPGHDp8Sxa3xrYXBhbMSxPiAgICAgICAgIG90b21hdGlrIMOnxLFrYXJtYSDDtnplbGxpxJ9pbmkgYcOnxLFrIHlhIGRhIGthcGFsxLEga29udW1hIGdldGlyXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBDRC1ST00gZGXEn2nFn3RpcmljaWRla2kgZGlza2xlcmkgeWVyIGRlxJ9pxZ90aXJcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIHZhcnNhecSxbGFuIGF5Z8SxdMSxIGfDtnN0ZXJcbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIGRpc2tldGkgw6fEsWthclxuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAgYXlnxLF0IHRpcGluaSB1bXVyc2FtYVxuIgorIiAtaSwgLS1tYW51YWxlamVjdCA8YcOnxLFrfGthcGFsxLE+ICBlbGxlIMOnxLFrYXJtYSBrb3J1bWFzxLFuxLEgYcOnxLFrL2thcGFsxLEga29udW1hIGdldGlyXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBheWfEsXQgYmHEn2xhbm3EscWfc2EgYmlsZSBiYcSfbGFudMSxc8SxbsSxIGtvcGFybWFcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRpxJ9lciBkaXNrIGLDtmzDvG1sZXJpbmluIGJhxJ9sYW50xLFsYXLEsW7EsSBrb3Bhcm1hXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBzYWRlY2UgYnVsdW5hbiBheWfEsXTEsSBnw7ZzdGVyLCDDp8Sxa2FybWFcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIC9ldGMvbXRhYiB5ZXJpbmUgL3Byb2MvbW91bnRzIGt1bGxhblxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgdGV5Ymkgw6fEsWthclxuIgorIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgQ0QtUk9NJ3Ugw6fEsWthclxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgU0NTSSBheWfEsXTEsW7EsSDDp8Sxa2FyXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICB5dXZhecSxIGthcGF0XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB5dXZhecSxIGRlxJ9pxZ90aXJcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGF5csSxbnTEsWzEsSDDp8Sxa3TEsXnEsSBldGtpbmxlxZ90aXJcbiIKKyIgLXgsIC0tY2RzcGVlZCA8aMSxej4gICAgICAgQ0QtUk9NJ3VuIGVuIHnDvGtzZWsgaMSxesSxbsSxIGF5YXJsYVxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAga3VsbGFuxLFsYWJpbGlyIENELVJPTSBoxLF6bGFyxLFuxLEgbGlzdGVsZVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlZhcnNhecSxbGFuIG9sYXJhayBzxLFyYXPEsXlsYSAtciwgLXMsIC1mIHZlIC1xJ3l1IGJhxZ9hcsSxbMSxIG9sYW5hIGthZGFyIGRlbmVyLlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2hhbmdlcnNsb3QvLWMgb3B0aW9uIgorbXNnc3RyICItLWNoYW5nZXJzbG90Ly1jIHNlw6dlbmXEn2luZSBnZcOnZXJzaXogYXJnw7xtYW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxNAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAiLS1jZHNwZWVkLy14IHNlw6dlbmXEn2luZSBnZcOnZXJzaXogYXJnw7xtYW4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00gb3RvbWF0aWsgw6fEsWthcm1hIGtvbXV0dSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiQ0QtUk9NIGthcMSxIGtpbGlkaSBkZXN0ZWtsZW5taXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgImRpxJ9lciBrdWxsYW7EsWPEsWxhcsSxbiBzw7xyw7xjw7xsZXJpIGHDp8SxayB2ZSBDQVBfU1lTX0FETUlOIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQzCittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIGthcMSxIGtpbGlkaSBrb211dHUgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRC1Tw7xyw7xjw7wgYXlnxLF0IGTDvMSfbWVzaSBpbGUgw6fEsWthcsSxbGFNQVlBYmlsaXIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0QtU8O8csO8Y8O8IGF5Z8SxdCBkw7zEn21lc2kgaWxlIMOnxLFrYXLEsWxhYmlsaXIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIGRpc2sgc2XDp21lIGtvbXV0dSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIHl1dmFkYW4gecO8a2xlbWUga29tdXR1IGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY3Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiSURFL0FUQVBJIENELVJPTSBkZcSfacWfdGlyaWNpIGJ1IMOnZWtpcmRlayB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5taXlvclxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIHl1dmFzxLEga2FwYXRtYSBrb211dHUgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiQ0QtUk9NIHl1dmFzxLEga2FwYXRtYSBrb211dHUgYnUgw6dla2lyZGVrIHRhcmFmxLFuZGFuIGRlc3Rla2xlbm1peW9yXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiQ0QtUk9NIMOnxLFrYXJtYSBkZXN0ZWtsZW5taXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMyIHN5cy11dGlscy9lamVjdC5jOjQ1NSBzeXMtdXRpbHMvZWplY3QuYzoxMDA2Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00gw6fEsWthcm1hIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAiaGnDpyBDRC1ST00gYmlsZ2lzaSB5b2siCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorbXNnaWQgIkNELVJPTSBkcml2ZSBpcyBub3QgcmVhZHkiCittc2dzdHIgIkNELVJPTSBzw7xyw7xjw7wgaGF6xLFyIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIGjEsXogc2XDp21lIGtvbXV0dSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MworbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICJDRC1ST00gaMSxeiBzZcOnbWUga29tdXR1IGJ1IMOnZWtpcmRlayB0YXJhZsSxbmRhbiBkZXN0ZWtsZW5taXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXM6IENELVJPTSBpc21pIGJ1bHVuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlczogaMSxeiBva3VuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiaMSxeiBva3VuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODMKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICJiaXIgc2cgYXlnxLF0xLEgZGXEn2lsIHlhIGRhIGVza2kgc2cgYXlnxLF0xLEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6IGJhxJ9sYW50xLEga29wYXLEsWzEsXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjczCittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgIsOnYXRhbGxhbmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJgJXMnIGnDp2luIGJhxJ9sYW50xLEga29wYXJtYSBiZWtsZW5lbiDFn2VraWxkZSBzb25sYW5tYWTEsSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiYCVzJyBpw6dpbiBiYcSfbGFudMSxIGtvcGFyxLFsYW1hZMSxXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjcyNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiYmHEn2xhbWEgdGFibG9zdSBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6ICVzJ3RlIGJhxJ9sxLEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIkNELVJPTSBoxLF6xLEgb3RvbWF0acSfZSBheWFybGFuxLF5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgYy1mb3JtYXQKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIgorbXNnc3RyICJDRC1ST00gaMSxesSxICVsZFgnZSBheWFybGFuxLF5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWZhdWx0IGRldmljZTogYCVzJyIKK21zZ3N0ciAidmFyc2F5xLFsYW4gYXlnxLF0OiBgJXMnIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIKK21zZ3N0ciAidmFyc2F5xLFsYW4gYXlnxLF0IGt1bGxhbsSxbMSxeW9yIGAlcyciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MSBzeXMtdXRpbHMvcnRjd2FrZS5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIlczogYXlnxLF0IGJ1bHVuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV2aWNlIG5hbWUgaXMgYCVzJyIKK21zZ3N0ciAiYXlnxLF0IGlzbWkgYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiBiYcSfbMSxIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogZGlzayBheWfEsXTEsTogJXMgKMOnxLFrYXJtYSBpw6dpbiBrdWxsYW7EsWxhY2FrIGRpc2sgYXlnxLF0xLEpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIlczogYmVsaXJ0aWxlbiBpc2ltbGUgYmHEn2xhbWEgbm9rdGFzxLEgeWEgZGEgYXlnxLF0IGJ1bHVuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogYmlyIHRhbS1kaXNrIGF5Z8SxdMSxIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiB0YWstw6dhbMSxxZ90xLFyIGF5Z8SxdMSxIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICJheWfEsXQgYCVzJyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAiLW4vLS1ub29wIHNlw6dlbmXEn2kgZG9sYXnEsXPEsSBpbGUgw6fEsWvEsWzEsXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiBvdG9tYXRpay3Dp8Sxa2FybWEga2lwaSBldGtpbmxlxZ90aXJpbGl5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXM6IG90b21hdGlrLcOnxLFrYXJtYSBraXBpIGthcGF0xLFsxLF5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIlczogeXV2YSBrYXBhdMSxbMSxeW9yIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiB5dXZhIGRlxJ9pxZ90aXJpbGl5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVzOiBDRC1ST00gaMSxesSxIGxpc3RlbGVuaXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAiaGF0YTogJXM6IGF5Z8SxdCBtZcWfZ3VsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczogQ0QtUk9NIGRpc2tpICMlbGQgc2XDp2lsaXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIENELVJPTSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlczogQ0QtUk9NIMOnxLFrYXJtYSBrb211dHUgaWxlIMOnxLFrYXJtYSBkZW5lbml5b3IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNELVJPTSDDp8Sxa2FybWEga29tdXR1IGJhxZ9hcsSxbMSxIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiJXM6IFNDU0kga29tdXRsYXLEsSBpbGUgw6fEsWthcm1hIGRlbmVuaXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJTQ1NJIMOnxLFrYXJtYSBiYcWfYXLEsWzEsSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJTQ1NJIMOnxLFrYXJtYSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IGRpc2tldCDDp8Sxa2FybWEga29tdXR1IGlsZSDDp8Sxa2FybWEgZGVuZW5peW9yIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJkaXNrZXQgw6fEsWthcm1hIGtvbXV0dSBiYcWfYXLEsWzEsSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiZGlza2V0IMOnxLFrYXJtYSBrb211dHUgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgdGFwZSBvZmZsaW5lIGNvbW1hbmQiCittc2dzdHIgIiVzOiB0ZXlwIMOnZXZyaW1kxLHFn8SxIGtvbXV0dSBpbGUgw6fEsWthcm1hIGRlbmVuaXlvciIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNgorbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAidGV5cCDDp2V2cmltZMSxxZ/EsSBrb211dHUgYmHFn2FyxLFsxLEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjcKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInRleXAgw6dldnJpbWTEscWfxLEga29tdXR1IGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorbXNnaWQgInVuYWJsZSB0byBlamVjdCIKK21zZ3N0ciAiw6fEsWthcnTEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gPGRvc3lhaXNtaT5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIkJpciBkb3N5YWRhbiDDtm4gdGFoc2lzIHlhIGRhIHNlcmJlc3QgYsSxcmFrbWEgYWxhbsSxLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgYmlyIGFyYWzEscSfxLEgZG9zeWFkYW4gw6fEsWthclxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAtZCwgLS1kaWctaG9sZXMgICAgICBzxLFmxLFybGFyxLEgYWxnxLFsYSB2ZSBib8WfbHVrbGFybGEgZGXEn2nFn3RpclxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPHNhecSxPiAgIGFyYWzEsWsgacWfbGVtbGVyaSBpw6dpbiB1enVubHVrLCBiYXl0IG9sYXJha1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIGRvc3lhbsSxbiBnw7Zyw7xuZW4gYm95dXR1bnUgZGV2YW0gZXR0aXJcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c2F5xLE+ICAgYXJhbMSxayBpxZ9sZW1sZXJpIGnDp2luIG9mc2V0LCBiYXl0IG9sYXJha1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgYmlyIGFyYWzEscSfxLEgYmlyIGJvxZ9sdWsgaWxlIGRlxJ9pxZ90aXIgKC1uIGFubGFtxLFuYSBnZWxpcilcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8tcmFuZ2UgICAgIGJpciBhcmFsxLHEn8SxIHPEsWbEsXJsYSB2ZSB0YWhzaXMgZWRpbGRpxJ9pbmRlbiBlbWluIG9sXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tcG9zaXggICAgICAgICAgdXNlIHBvc2l4X2ZhbGxvY2F0ZSgzKSBpbnN0ZWFkIG9mIGZhbGxvY2F0ZSgyKVxuIgorbXNnc3RyICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgbWFudMSxa3NhbCBraW1saWtsZXIgeWVyaW5lIGZpemlrc2VsIG9sYW5sYXLEsSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkOiBrZWVwIHNpemUgbW9kZSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiZmFsbG9jYXRlIGJhxZ9hcsSxc8SxejogYm95dXR1IGtvcnVtYSBraXBpIGRlc3Rla2xlbm1peW9yIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxNDUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IG9rdW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJheXQpIGFyYWzEsWtsxLEgYm/Fn2x1a2xhcmEgZMO2bsO8xZ90w7xyw7xsZMO8LlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJkb3N5YSBhZMSxIGJlbGlydGlsbWVkaSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJnZcOnZXJzaXogdXp1bmx1ayBkZcSfZXJpIGJlbGlydGlsZGkiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJ1enVubHVrIGFyZ8O8bWFuxLEgYmVsaXJ0aWxtZWRpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg5Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICJnZcOnZXJzaXogb2ZzZXQgZGXEn2VyaSBiZWxpcnRpbGRpIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbc2XDp2VuZWtsZXJdIDxkb3N5YT58PGRpemluPiA8a29tdXQ+IFs8YXJnw7xtYW4+Li4uXVxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gPGRvc3lhPnw8ZGl6aW4+IC1jIDxrb211dD5cbiIKKyIgJTEkcyBbc2XDp2VuZWtsZXJdIDxkb3N5YSB0YW7EsW1sYXnEsWPEsSBzYXnEsXPEsT5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIkRvc3lhIGtpbGl0bGVyaW5pIGthYnVrIGJldGlrbGVyaSBpbGUgecO2bmV0LlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBwYXlsYcWfxLFsYW4gYmlyIGtpbGlkaSBhbFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGF5csSxY2FsxLFrbMSxIGJpciBraWxpdCBhbCAodmFyc2F5xLFsYW4pXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAga2lsaWRpIGthbGTEsXJcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGJla2xlbWVrIHllcmluZSBiYcWfYXLEsXPEsXogb2xcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA8c24+ICAgICBrxLFzxLF0bMSxIGJpciB6YW1hbiBpw6dpbiBiZWtsZVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NworbXNnaWQgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPHNhecSxPiAgw6dhdMSxxZ9tYSB5YSBkYSB6YW1hbiBhxZ/EsW3EsSBvbGR1xJ91bmRhIMOnxLFrxLHFnyBrb2R1XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGtvbXV0dSDDp2FsxLHFn3TEsXJtYWRhbiBkb3N5YSB0YW7EsW1sYXnEsWPEsXPEsW7EsSBrYXBhdFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxrb211dD4gIHRlayBiaXIga29tdXQga2FyYWt0ZXIgZGl6aXNpbmkga2FidWt0YSDDp2FsxLHFn3TEsXJcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBrb211dHUgw6dhdGFsbGFubWFkYW4gw6dhbMSxxZ90xLFyXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBheXLEsW50xLEgc2V2aXllc2luaSBhcnR0xLFyXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiCittc2dzdHIgImtpbGl0IGRvc3lhc8SxICVzIGHDp8SxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA4Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICJnZcOnZXJzaXogemFtYW4gYcWfxLFtxLEgZGXEn2VyaSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgImdlw6dlcnNpeiDDp8Sxa8SxxZ8ga29kdSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI5Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIi0tbm8tZm9yayB2ZSAtLWNsb3NlIHNlw6dlbmVrbGVyaSB1eXVtc3V6IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMgdGFtIG9sYXJhayBiaXIga29tdXQgYXJnw7xtYW7EsSBnZXJla3Rpcml5b3IiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgImhhdGFsxLEgZG9zeWEgdGFuxLFtbGF5xLFjxLEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgImRvc3lhIHRhbsSxbWxhecSxY8SxLCBkb3N5YSB5YSBkYSBkaXppbiBnZXJla3RpcmlyIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGxvY2siCittc2dzdHIgImtpbGl0bGVtZSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OQorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAia2lsaXRsZW1lIGnFn2xlbWkgc8SxcmFzxLFuZGEgemFtYW4gYcWfxLFtxLEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6IGtpbGl0bGVtZSBpxZ9sZW1pICVsZC4lMDZsZCBzYW5peWUgc8O8cmTDvFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICIlczogJXMgecO8csO8dMO8bMO8eW9yXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxiYcSfbGFtYW5va3Rhc8SxPlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorIywgZnV6enkKK21zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkJpciBkb3N5YSBzaXN0ZW1pIGJhxJ9sYS5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtZiwgLS1mcmVlemUgICAgICBkb3N5YSBzaXN0ZW1pbmkgZG9uZHVyXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ4Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtdSwgLS11bmZyZWV6ZSAgICBkb3N5YSBzaXN0ZW1pbmkgw6fDtnpcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA1Cittc2dpZCAibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIKK21zZ3N0ciAibmUgLS1mcmVlemUgbmUgZGUgLS11bmZyZWV6ZSBiZWxpcnRpbG1lZGkiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlczogYmlyIGRpemluIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogZG9uZHVydWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIlczogw6fDtnrDvGxlbWVkaSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBiaXIgZGl6aW4gZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEZJVFJJTSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiBGSVRSSU0gaW9jdGwgYmHFn2FyxLFzxLF6IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6ICVzICglPFBSSXU2ND4gYmF5dCkgYnVkYW5kxLFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE5MyBzeXMtdXRpbHMvbHNucy5jOjEwNjYgc3lzLXV0aWxzL3N3YXBvbi5jOjczMworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMiCittc2dzdHIgIiVzIGF5csSxxZ90xLFyxLFsYW1hZMSxICIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudCBwb2ludD5cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gPGJhxJ9sYW1hIG5va3Rhc8SxPlxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU3Cittc2dpZCAiRGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uIGEgbW91bnRlZCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJCYcSfbMSxIGJpciBkb3N5YSBzaXN0ZW1pbiBrdWxsYW7EsWxtYXlhbiBibG9rbGFyxLEgw6fEsWthci5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgIGRlc3Rla2xlbmVuIGLDvHTDvG4gYmHEn2xhbm3EscWfIGRvc3lhIHNpc3RlbWxlcmluaSBrxLFycFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c2F5xLE+ICDDp8Sxa2FyxLFsbWF5YSBrZW5kaXNpbmRlbiBiYcWfbGFuYWNhayBvZnNldGluIGJheXQgb2xhcmFrIGRlxJ9lcmlcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxzYXnEsT4gIMOnxLFrYXLEsWxhY2FrIGJheXRsYXLEsW4gc2F5xLFzxLFcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLW0sIC0tbWluaW11bSA8c2F5xLE+IMOnxLFrYXLEsWxhY2FrIGVuIGTDvMWfw7xrIGthcHNhbSB1enVubHXEn3VcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IG51bWJlciBvZiBkaXNjYXJkZWQgYnl0ZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgw6fEsWthcsSxbGFuIGJheXQgc2F5xLFzxLFuxLEgeWF6ZMSxclxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzE4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIKK21zZ3N0ciAiZW4gZMO8xZ/DvGsga2Fwc2FtIHV6dW5sdcSfdSBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJoacOnIGJhxJ9sYW1hIG5va3Rhc8SxIGJlbGlydGlsbWVkaSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVzOiDDp8Sxa2FybWEgacWfbGVtaSBkZXN0ZWtsZW5taXlvciIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJEb25hbsSxbSBzYWF0aW5pbiAlcyBkZSB0dXR1bGR1xJ91IHZhcnNhecSxbMSxeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2OAorbXNnaWQgIlVUQyIKK21zZ3N0ciAiVVRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwNCBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NworbXNnaWQgImxvY2FsIgorbXNnc3RyICJ5ZXJlbCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIlV5YXLEsTogYWRqdGltZSBkb3N5YXPEsW5kYSBiaWxpbm1leWVuIMO8w6fDvG5jw7wgc2F0xLFyXG4iCisiKEJla2xlbmVuOiBgVVRDJyB5YSBkYSBgWUVSRUwnIHlhIGRhIGhpw6diaXIgxZ9leSkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiU29uIHNhcG1hIGF5YXLEsSAxOTY5IGRhbiBzb25yYWtpICVsZC4gc2FuaXllZGUgeWFwxLFsZMSxXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlNvbiBkw7x6ZWx0bWUgMTk2OSBkYW4gc29ucmFraSAlbGQuIHNhbml5ZWRlIHlhcMSxbGTEsVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIkRvbmFuxLFtIHNhYXRpICVzIGRlbiBiZXJpIGHDp8Sxa1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgInNhYXQgdGlraSBpw6dpbiBiZWtsZW5peW9yLi4uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAiLi4uZcWfemFtYW5sYW1hIGJhxZ9hcsSxc8SxelxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi4gc2FhdCB0aWtpIGFsxLFuZMSxXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIkRvbmFuxLFtIHNhYXRpbmRlIGdlw6dlcnNpeiBkZcSfZXJsZXI6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIkRvbmFuxLFtIHphbWFuxLE6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAxOTY5IHnEsWzEsW5kYW4gYmVyaSAlbGQgc2FuaXllXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIkRvbmFuxLFtIHNhYXRpbmRlbiBva3VuYW46ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiRG9uYW7EsW0gU2FhdGkgJS4yZDolLjJkOiUuMmQgPSAxOTY5IGRhbiBiZXJpICVsZCBzYW5peWUgb2xhcmFrIGF5YXJsYW7EsXlvclxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiemFtYW4gZ2VyaSBkb8SfcnUgJS42ZiBzYW5peWUgJWxkLiUwNmxkJ3llIGF0bGFkxLEgLSB5ZW5pZGVuIGhlZGVmbGVuaXlvclxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIsSxc2thbGFuZMSxIC0gJWxkLiUwNmxkIMOnb2sgdXphayAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJWxkLiUwNmxkIGlzIGNsb3NlIGVub3VnaCB0byAlbGQuJTA2bGQgKCUuNmYgPCAlLjZmKVxuIgorIlNldCBSVEMgdG8gJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZClcbiIKK21zZ3N0ciAiIgorIiVsZC4lMDZsZCwgJWxkLiUwNmxkICglLjZmIDwgJS42ZiknZSB5ZXRlcmluY2UgeWFrxLFuXG4iCisiUlRDJ2kgJWxkICglbGQgKyAlZDsgcmVmc3lzdGltZSA9ICVsZC4lMDZsZCknZSBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgInNldHRpbWVvZmRheSDDp2HEn3LEsXPEsTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCittc2dzdHIgInNldHRpbWVvZmRheSDDp2HEn3LEsXPEsTpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzYKK21zZ2lkICJ0byBzZXQgdGhlIGtlcm5lbCB0aW1lem9uZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKK21zZ2lkICJ0byB3YXJwIFN5c3RlbSB0aW1lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY1NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICItLXVwZGF0ZS1kcmlmdCBzZcOnZW5lxJ9pIGt1bGxhbsSxbG1hZMSxxJ/EsSBpw6dpbiBzYXBtYSBmYWt0w7Zyw7wgZ8O8bmNlbGxlbm1peW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIlNvbiBkw7x6ZWx0bWUgemFtYW7EsSBzxLFmxLFyIG9sZHXEn25kYW4gc2FwbWEgZmFrdMO2csO8IGF5YXJzxLF6LFxuIgorInlhbmkgZ2XDp21pxZ8gaGF0YWzEsSB2ZSBiaXIgZMO8emVsdG1lIGJhxZ9sYW5nxLFjxLEgZ2VyZWtpeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJTb24gYXlhcmxhbWFkYW4gYmVyaSBkw7ZydCBzYWF0dGVuIGF6IHphbWFuIGdlw6d0acSfaSBpw6dpbiBzYXBtYSBmYWt0w7Zyw7wgZ8O8bmNlbGxlbm1peW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKyJTYWF0IHNhcG1hIGZha3TDtnLDvCAlZiBzYW5peWUvZ8O8biBvbGFyYWsgaGVzYXBsYW5kxLEuXG4iCisiQnUgw6dvayBmYXpsYS4gU8SxZsSxcmEgZ8O8bmNlbGxlbml5b3IuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIlNhYXQgJWYgc2FuaXllIHNhcG1hIGfDtnN0ZXJkaSBnZcOnZW4gJWYgc2FuaXllXG4iCisiacOnaW5kZS4gQW5jYWsgc2FwbWEgZmFrdHLDtnLDvCAlZiBzYW5peWUvZ8O8bi5cbiIKKyJTYXBtYSBmYWt0w7Zyw7wgJWYgc2FuaXllL2fDvG4gb2xhcmFrIGF5YXJsYW7EsXlvclxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICJTb24gYXlhcmxhbWFkYW4gYmVyaSAlZCBzYW5peWUgZ2XDp3RpXG4iCittc2dzdHJbMV0gIlNvbiBheWFybGFtYWRhbiBiZXJpICVkIHNhbml5ZSBnZcOndGlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICJIZXNhcGxhbmFuIERvbmFuYW7EsW0gU2FhdCBzYXBtYXPEsSAlbGQuJTA2bGQgc2FuaXllXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvciIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiU29uIGTDvHplbHRtZSB6YW1hbsSxIHPEsWbEsXIgb2xkdcSfbmRhbiBzYXBtYSBmYWt0w7Zyw7wgYXlhcnPEsXosIHlhbmkgZ2XDp21pxZ8gaGF0YWzEsSB2ZSBiaXIgZMO8emVsdG1lIGJhxZ9sYW5nxLFjxLEgZ2VyZWtpeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIlNhcG1hIGRlxJ9lcmkgJWYgw6dvayB5w7xrc2VrIG9sZHXEn3VuZGEgc2FhdCBheWFybGFuYW3EsXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiS3VsbGFuxLFsYWJpbGlyIGJpciBzYWF0IGFyYXnDvHrDvCB5b2suXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg2Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICJCaWxpbmVuIGhlciBoYW5naSBiaXIgecO2bnRlbWxlIERvbmFuxLFtIFNhYXRpbmUgZXJpxZ9pbGVtaXlvci4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIkJpciBlcmnFn2ltIHnDtm50ZW1pIGnDp2luIGFyYW1hIGF5csSxbnTEsWxhcsSxbsSxIGfDtnJtZWsgacOnaW4gLS1kZWJ1ZyBzZcOnZW5lxJ9pbmkga3VsbGFuLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICJ0YWthc2zEsSBzYXlmYSBzYXnEsXPEsSAgICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk3MAorbXNnaWQgIlJUQyByZWFkIHJldHVybmVkIGFuIGludmFsaWQgdmFsdWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiR2VyZWtlbiBheWFyIGJpciBzYW5peWVuaW4gYWx0xLFuZGEgb2xkdcSfdW5kYW4gc2FhdCBheWFybGFubcSxeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgInN1cGVyIGJsb2sgb2t1bmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgUlRDIGVwb2NoIGlzIHNldCB0byAlbHUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQwCittc2dpZCAiLS1lcG9jaCBpcyByZXF1aXJlZCBmb3IgLS1zZXRlcG9jaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQzCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIlNpc3RlbSBzYWF0aSBheWFybGFuYW3EsXlvci5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBbZm9ua3NpeW9uXSBbc2XDp2VuZWsuLi5dXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MAorbXNnaWQgIlRpbWUgY2xvY2tzIHV0aWxpdHkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tc2hvdyAgICAgICAgICAgZGlzcGxheSB0aGUgUlRDIHRpbWUiCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgaGFtIG1vZGRhIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY0CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBTRUxpbnV4IGnDp2VyacSfaW5pIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICBwb3J0dSBzxLFmxLFybGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY2Cittc2dpZCAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgUlRDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBSVEMgZnJvbSB0aGUgc3lzdGVtIHRpbWUiCittc2dzdHIgIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgICAgZG9zeWEgc2lzdGVtaSB0aXBsZXJpbmkgc8SxbsSxcmxhXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorbXNnaWQgIiAgICAgLS1zeXN0eiAgICAgICAgICBzZW5kIHRpbWVzY2FsZSBjb25maWd1cmF0aW9ucyB0byB0aGUga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZGlzcGxheSB0aGUgUlRDIGVwb2NoIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgYnUgeWFyZMSxbSBtZXRuaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIFVUQyBrdWxsYW7EsXJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbHRpbWUgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBMb2NhbCIKK21zZ3N0ciAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgeWVyZWwgemFtYW4gZGlsaW1pbmkga3VsbGFuxLFyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAlcyB5ZXJpbmUgYmVsaXJ0aWxlbiBkb3N5YSBpc21pbmkga3VsbGFuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGRhdGUvdGltZSBpbnB1dCBmb3IgLS1zZXQgYW5kIC0tcHJlZGljdCIKK21zZ3N0ciAiICAgICAtLWRhdGUgPHphbWFuZGFtZ2FzxLE+ICAgdXlhbsSxbGFjYWsgemFtYW4gZGFtZ2FzxLEgdGFyaWhpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGJhxZ9sxLFrbGFyxLEgeWF6ZMSxcm1hXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWFkamZpbGUgPGZpbGU+IHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAlcyB5ZXJpbmUgYmVsaXJ0aWxlbiBkb3N5YSBpc21pbmkga3VsbGFuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBrdXJ1IMOnYWzEscWfOyB1bW91bnQoMikgc2lzdGVtIMOnYcSfcsSxc8SxbsSxIGF0bGFcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgZGFoYSBmYXpsYSBiaWxnaSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTE4NgorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAiRGVuZXRpbSBzaXN0ZW1pbmUgYmHEn2xhbsSxbGFtxLF5b3IiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgIsOnb2sgZmF6bGEgYXJnw7xtYW4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiLS1ub2FkamZpbGUgaWxlIGJpcmxpa3RlIHlhIC0tdXRjIHlhIGRhIC0tbG9jYWx0aW1lIGJlbGlydG1lbGlzaW5peiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgJyVzJyIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGtpbWxpazogJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICJNZXZjdXQgc2lzdGVtIHphbWFuxLE6ICVsZCA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICJTb24gZGXEn2nFn2ltIHphbWFuxLEiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKKyMsIGZ1enp5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAicGx5bW91dGggaXN0ZcSfaSAlYyBnZXLDp2VrbGVubWVkaSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5MQorbXNnaWQgImlvcGwoKSBwb3J0IGFjY2VzcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5NworIywgZnV6enkKK21zZ2lkICJVc2luZyBkaXJlY3QgSVNBIGFjY2VzcyB0byB0aGUgY2xvY2siCittc2dzdHIgIklTQSBzYWF0ZSBkb8SfcnVkYW4gRy/DhyB5w7ZuZXJnZWxlcmkga3VsbGFuxLFsxLF5b3IuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAiYcOnxLFsYW3EsXlvciAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE4NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCVzKSdkZW4gJXMnZSB6YW1hbiBva3VtYSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiJXMgZGVuIHphbWFuxLEgZGXEn2nFn3Rpcm1layBpw6dpbiDDp2V2cmltIGnDp2luZGUgYmVrbGVuaXlvclxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzMKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICJaYW1hbsSxIGRlxJ9pxZ90aXJtZWsgacOnaW4gYmVrbGVya2VuIHphbWFuIGHFn8SxbcSxLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICJzZWxlY3QoKSdkZW4gJXMnZSBzYWF0IGRhcmJlc2kgYmVrbGVya2VuIHphbWFuIGHFn8SxbcSxIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgInNlbGVjdCgpICVzIGRlbiBzYWF0IGRhcmJlc2kgYmVrbGVya2VuIGhhdGEgdmVyZGkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoKSAlcyBkZW4gZ8O8bmNlbGxlbWUga2VzbWVsZXJpbmkgZHVyZHVyYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpICVzIGnDp2luIGhhdGEgdmVyZGkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCVzKSdkZW4gJXMnZSB6YW1hbsSxIGF5YXJsYXlhbWFkxLEuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykgYmHFn2FyxLFsZMSxLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiVXNpbmcgdGhlIHJ0YyBpbnRlcmZhY2UgdG8gdGhlIGNsb2NrLiIKK21zZ3N0ciAiU2FhdCBpw6dpbiAvZGV2IGFyYXnDvHrDvCBrdWxsYW7EsWzEsXlvci4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSAlcyBpw6dpbiBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSAlcyBpw6dpbiBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGtpbWxpazogJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSAlcyBpw6dpbiBoYXRhIHZlcmRpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgJXMgacOnaW4gaGF0YSB2ZXJkaSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICLDh2XFn2l0bGkgSVBDIGtheW5hxJ/EsSBvbHXFn3R1ci5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzMKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtIDxib3l1dD4gICAgICAgPGJveXV0PiBib3l1dHVuZGEgcGF5bGHFn8SxbGFuIGJlbGxlayBkaWxpbWkgb2x1xZ90dXJcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDxzYXnEsT4gPHNhecSxPiBrYWRhciDDtmdlIGnDp2VyZW4gc2VtYWZvciBkaXppc2kgb2x1xZ90dXJcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgaWxldGkga3V5cnXEn3Ugb2x1xZ90dXJcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8a2lwPiAgICAgICAga2F5bmFrIGnDp2luIGl6aW4gKHZhcnNhecSxbGFuIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJib3l1dCBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICLDtmdlbGVyIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAicGF5bGHFn8SxbGFuIGJlbGxlayBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiUGF5bGHFn8SxbGFuIGJlbGxlayBraW1sacSfaTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICJpbGV0aSBrdXlydcSfdSBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIKK21zZ3N0ciAixLBsZXRpIGt1eXJ1xJ91IGtpbWxpxJ9pOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAic2VtYWZvciBvbHXFn3R1cnVsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJTZW1hZm9yIGtpbWxpxJ9pOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW3Nlw6dlbmVrbGVyXVxuIgorIiAlMSRzIHBheWJlbHxpbGV8c2VtIDxpZD4uLi5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJCZWxsaSBJUEMga2F5bmFrbGFyxLFuxLEga2FsZMSxci5cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGtpbWxpaz4gICAgICAgIHBheWxhxZ/EsWxhbiBiZWxsZWsgZGlsaW1sZXJpbmkga2ltbGnEn2UgZ8O2cmUgc2lsXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbS1rZXkgPGFuYWh0YXI+ICAgICAgcGF5bGHFn8SxbGFuIGJlbGxlayBkaWxpbWxlcmluaSBhbmFodGFyYSBnw7ZyZSBzaWxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxraW1saWs+ICAgICAgICBpbGV0aSBrdXlydcSfdW51IGtpbWxpxJ9lIGfDtnJlIHNpbFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlLWtleSA8YW5haHRhcj4gICAgICBpbGV0aSBrdXlydcSfdW51IGFuYWh0YXJhIGfDtnJlIHNpbFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGtpbWxpaz4gICAgc2VtYWZvcnUga2ltbGnEn2UgZ8O2cmUgc2lsXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxhbmFodGFyPiAgc2VtYWZvcnUgYW5haHRhcmEgZ8O2cmUgc2lsXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPXBheWJlbHxpbGV8c2VtXSAgICBoZXBzaW5pIHNpbCAoYmVsaXJ0aWxlbiBrYXRlZ29yaWRlKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgbmUgeWFwxLFsZMSxxJ/EsW7EsSBhw6fEsWtsYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICJwYXlsYcWfxLFsYW4gYmVsbGVrIGRpbGltaSBraW1sacSfaSBgJWQnIGthbGTEsXLEsWzEsXlvclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAiaWxldGkga3V5cnXEn3Uga2ltbGnEn2kgYCVkIGthbGTEsXLEsWzEsXlvclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICJzZW1hZm9yIGtpbWxpxJ9pIGAlZCcga2FsZMSxcsSxbMSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOCBzeXMtdXRpbHMvaXBjcm0uYzoyMjIKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5IgorbXNnc3RyICJhbmFodGFyIGnDp2luIGVyacWfaW0gZW5nZWxsZW5kaSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICJraW1saWsgacOnaW4gaXppbmxlciB5ZXRlcnNpeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJhbmFodGFyIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExCittc2dpZCAiaW52YWxpZCBpZCIKK21zZ3N0ciAia2ltbGlrIGdlw6dlcnNpeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgImFuYWh0YXIgemF0ZW4gc2lsaW5tacWfIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgImtpbWxpayB6YXRlbiBzaWxpbm1pxZ8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJhbmFodGFyIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJraW1saWsgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgImdlw6dlcnNpeiBraW1saWs6ICVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICLDtnprYXluYWsobGFyKSBzaWxpbmRpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICJnZcOnZXJzaXogYW5haHRhciAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgIsOnZWtpcmRlayBwYXlsYcWfxLFtbMSxIGJlbGxlayBpw6dpbiB5YXDEsWxhbmTEsXLEsWxtYW3EscWfIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIsOnZWtpcmRlayBzZW1hZm9ybGFyIGnDp2luIHlhcMSxbGFuZMSxcsSxbG1hbcSxxZ8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIsOnZWtpcmRlayBpbGV0aSBrdXlydWtsYXLEsSBpw6dpbiB5YXDEsWxhbmTEsXLEsWxtYW3EscWfIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBba2F5bmFrLXNlw6dlbmVrbGVyaS4uLl0gW8OnxLFrdMSxLXNlw6dlbmVrbGVyaV1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8a2ltbGlrPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3IHN5cy11dGlscy9sc2lwYy5jOjI4MQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIklQQyB5ZXRlbmVrbGVyaW4gaGFra8SxbmRhIGJpbGdpIGfDtnN0ZXIuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxraW1saWs+ICA8a2ltbGlrPiBpbGUgdGFuxLFtbGFuYW4ga2F5bmFrIGhha2vEsW5kYSBkZXRheSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiS2F5bmFrIHNlw6dlbmVrbGVyaTpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgcGF5bGHFn8SxbGFuIGJlbGxlayBkaWxpbWxlcmlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgIGlsZXRpIGt1eXJ1a2xhcsSxXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFmb3JsYXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICB0w7xtw7wgKHZhcnNhecSxbGFuKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgIsOHxLFrdMSxIHNlw6dlbmVrbGVyaTpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MgorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIGlsacWfbWUsIGtvcG1hIHZlIGRlxJ9pxZ9pbSB6YW1hbmxhcsSxbsSxIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgb2x1xZ90dXJhbiB2ZSBzb24gw6dhbMSxxZ90xLFyYW7EsW4gUElEJ3NpbmkgZ8O2c3RlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIG9sdcWfdHVyYW4gdmUgc2FoaWJpIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAga2F5bmFrIHPEsW7EsXJsYXLEsW7EsSBnw7ZzdGVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzYKK21zZ2lkICIgLXUsIC0tc3VtbWFyeSAgICAgc2hvdyBzdGF0dXMgc3VtbWFyeVxuIgorbXNnc3RyICIgLXUsIC0tc3VtbWFyeSAgICAgZHVydW0gw7Z6ZXRpbmkgZ8O2c3RlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICBib3l1dGxhcsSxIG9rdW5hYmlsaXIgYmnDp2ltZGUgZ8O2c3RlclxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc4Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIGJveXV0dSBiYXl0IG9sYXJhayBnw7ZzdGVyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgImJpciBraW1saWsga3VsbGFuxLFsxLFya2VuIHNhZGVjZSBiaXIga2F5bmFrIGJlbGlydGlsbWVsaSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNoYXJlZCBtZW1vcnkgbGltaXRzXG4iCittc2dzdHIgInBheWxhxZ/EsWxhbiBiZWxsZWsgc8SxbsSxcmxhcsSxIGdldGlyaWxlbWVkaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBQYXlsYcWfxLFtbMSxIEJlbGxlayBTxLFuxLFybGFyxLEgLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgImF6YW3EsSBkaWxpbSBzYXnEsXPEsSA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAiYXphbWkgZGlsaW0gYm95dXR1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJhemFtaSB0b3BsYW0gcGF5bGHFn8SxbGFuIGJlbGxlayIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgImFzZ2FyaSBkaWxpbSBib3l1dHUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICLDp2VraXJkZWsgcGF5bGHFn8SxbWzEsSBiZWxsZWsgacOnaW4geWFwxLFsYW5kxLFyxLFsbWFtxLHFn1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0gUGF5bGHFn8SxbWzEsSBCZWxsZWsgRHVydW11IC0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisicGFnZXMgc3dhcHBlZCAgICVsZFxuIgorIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKK21zZ3N0ciAiIgorInRhaHNpcyBlZGlsZW4gZGlsaW1sZXIgJWRcbiIKKyJ0YWhzaXMgZWRpbGVuIHNheWZhbGFyICVsZFxuIgorInllcmxlxZ9payBzYXlmYWxhciAgJWxkXG4iCisidGFrYXNsYW5hbiBzYXlmYWxhciAgICVsZFxuIgorIlRha2FzIHBlcmZvcm1hbnPEsTogJWxkIGRlbmVuZW5cdCAlbGQgYmHFn2FyxLFsxLFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tIFBheWxhxZ/EsW1sxLEgQmVsbGVrIELDtmzDvHQgT2x1xZ90dXJ1Y3VsYXLEsS9LZW5kaWxlcmkgLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NgorbXNnaWQgInNobWlkIgorbXNnc3RyICJzaG1pZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzozOTIKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAicGVybXMiCittc2dzdHIgIml6aW5sZXIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY3VpZCIKK21zZ3N0ciAiY2t1bGxraW1sIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNna2ltbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJ1aWQiCittc2dzdHIgImt1bGxraW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJna2ltbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSBQYXlsYcWfxLFtbMSxIEJlbGxlayBFa2xlbWUvQXnEsXJtYS9EZcSfacWfaWtsaWsgWmFtYW5sYXLEsSAtLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mjg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJvd25lciIKK21zZ3N0ciAic2FoaWJpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3MworbXNnaWQgImF0dGFjaGVkIgorbXNnc3RyICJla2xlbWUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiZGV0YWNoZWQiCittc2dzdHIgImF5xLFybWEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc0Cittc2dpZCAiY2hhbmdlZCIKK21zZ3N0ciAiZGXEn2nFn2lrbGlrIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3OAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUGF5bGHFn8SxbGFuIEJlbGxlayBPbHXFn3R1cmFuL1Nvbi1pxZ9sZW0gUElEJ2xlcmkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tIFBheWxhxZ/EsW1sxLEgQmVsbGVrIELDtmzDvHRsZXJpIC0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAia2V5IgorbXNnc3RyICJhbmFodGFyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgImJveXV0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJiYXl0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAiZWtTYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgImR1cnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICJCZWxpcmxlbm1lZGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICJoZWRlZiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgImtpbGl0bGkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgInNlbWFmb3Igc8SxbsSxcmxhcsSxIGdldGlyaWxlbWVkaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvciBTxLFuxLFybGFyxLEgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJhemFtaSBkaXppIHNhecSxc8SxID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAiZGl6aSBiYcWfxLFuYSBhemFtaSBzZW1hZm9yIHNhecSxc8SxID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICJ0w7xtIHNpc3RlbWRla2kgYXphbWkgc2VtYWZvciBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICJzZW1vcCDDp2HEn3LEsXPEsSBiYcWfxLFuYSBhemFtaSBpxZ9sZW0gc2F5xLFzxLEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzZW1hcGhvcmUgbWF4IHZhbHVlID0gJXVcbiIKK21zZ3N0ciAic2VtYWZvciBhemFtaSBkZcSfZXJpID0gJXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIsOnZWtpcmRlayBzZW1hZm9ybGFyIGnDp2luIHlhcMSxbGFuZMSxcsSxbG1hbcSxxZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3IgRHVydW11IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAia3VsbGFuxLFsYW4gZGl6aSBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAiYXlyxLFsbcSxxZ8gc2VtYWZvciBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gU2VtYWZvciBEaXppbGVyaSBPbHXFn3R1cnVjdS9LZW5kaSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgInNlbWlkIgorbXNnc3RyICJzZW1raW1sIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFNlbWFmb3IgxLDFn2xlbWkvRGXEn2nFn2ltIFphbWFubGFyxLEgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJzb24tacWfbCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LWNoYW5nZWQiCittc2dzdHIgInNvbi1kZcSfxZ8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBTZW1hZm9yIERpemlsZXJpIC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICJzZW1TYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgImlsZXRpIHPEsW7EsXJsYXLEsSBnZXRpcmlsZW1lZGlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gxLBsZXRpIFPEsW7EsXJsYXLEsSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAidMO8bSBzaXN0ZW1kZWtpIGF6YW1pIGt1eXJ1ayBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAiaWxldGluaW4gYXphbWkgYm95dXR1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgImt1eXJ1xJ91biB2YXJzYXnEsWxhbiBhemFtaSBib3l1dHUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiw6dla2lyZGVrIGlsZXRpIGt1eXJ1a2xhcsSxIGnDp2luIHlhcMSxbGFuZMSxcsSxbG1hbcSxxZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gxLBsZXRpbGVyaW4gRHVydW11IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJheXLEsWxtxLHFnyBrdXlydWsgc2F5xLFzxLEgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJrdWxsYW7EsWxtxLHFnyBiYcWfbMSxayBzYXnEsXPEsSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAia3VsbGFuxLFsYW4gYWxhbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODkKK21zZ2lkICIgYnl0ZXNcbiIKK21zZ3N0ciAiIGJheXRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gxLBsZXRpIEt1eXJ1a2xhcsSxbsSxIE9sdcWfdHVyYW5sYXIvU2FoaXBsZXJpIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJpbHRraW1sIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gxLBsZXRpIEt1eXJ1a2xhcsSxIEfDtm5kL0FsxLFtL0RlxJ9pxZ8uIFphbWFubGFyxLEgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJzZW5kIgorbXNnc3RyICJnw7ZuZGVyaW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAiYWzEsW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAiY2hhbmdlIgorbXNnc3RyICJkZcSfacWfaW0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDEsGxldGkgS3V5cnVrbGFyxLEgUElEJ2xlcmkgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJsc3BpZCIKK21zZ3N0ciAibHNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgImxycGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIMSwbGV0aSBLdXlydWtsYXLEsSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInVzZWQtYnl0ZXMiCittc2dzdHIgImt1bGwtYmF5dCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAiaWxldGktc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTgwIHN5cy11dGlscy9pcGNzLmM6NjEwIHN5cy11dGlscy9pcGNzLmM6NjQzCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1Mzcgc3lzLXV0aWxzL2xzaXBjLmM6NzI5IHN5cy11dGlscy9sc2lwYy5jOjg4OQorIywgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgImtpbWxpayAlZCBidWx1bmFtYWTEsSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZCBtZW1vcnkgU2VnbWVudCBzaG1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiUGF5bGHFn8SxbWzEsSBiZWxsZWsgQsO2bMO8dCBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJraXA9JSNvXHRlcmnFn2ltX2l6bmk9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgImJveXV0PSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJheXQ9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MgorIywgYy1mb3JtYXQKK21zZ2lkICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCittc2dzdHIgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYXR0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIsSwbGV0aSBLdXlydcSfdSBpbHRraW1sPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorbXNnc3RyICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgImtib3l1dHU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImthcmFrdGVyYmF5dD0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJrdXlydWtib3l1dHU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFieXRlcz0iCittc2dzdHIgImt1eXJ1a2JheXQ9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiZ8O2bmRlcmltX3phbWFuxLE9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiYWzEscWfX3phbWFuxLE9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisiU2VtYWZvciBEaXppc2kgc2Vta2ltbD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICJraXA9JSNvLCBlcmnFn2ltX2l6bmk9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgInNlbVNhecSxc8SxID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgInNlbW51bSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ2YWx1ZSIKK21zZ3N0ciAiZGXEn2VyIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibnNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInpjb3VudCIKK21zZ3N0ciAienNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXMgKGJheXQpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzIChrYmF5dCkgPSAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgImdlw6dlcnNpeiBnYmF5cmFrIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxsZGlzaz4gPGF5Z8SxdD5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIlNlcmkgaGF0dGEgYmlyIGhhdCAgZGlzaXBsaW5pIGVrbGUuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgc3RhbmRhcnQgaGF0YSBvcnRhbcSxbmEgYXlyxLFudMSxbMSxIG1lc2FqbGFyxLEgeWF6ZMSxclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8ZGXEn2VyPiAgICAgc2VyaSBoYXQgaMSxesSxbsSxIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIgLWMsIC0taW50cm8tY29tbWFuZCA8a2FyYWt0ZXJkaXppc2k+IGxkYXR0YWNoJ2RlbiDDtm5jZSBnw7ZuZGVyaWxlY2VrIGdpcmnFn1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdXNlIDxzYW5peWU+ICAgZ2lyacWfIHZlIGxkYXR0YWNoIGFyYXPEsW5kYWtpIGR1cmFrbGFtYVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKK21zZ2lkICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDcgYml0c1xuIgorbXNnc3RyICIgLTcsIC0tc2V2ZW5iaXRzICAgICAgICAga2FyYWt0ZXIgYm95dXR1bnUgNyBiaXQgb2xhcmFrIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAga2FyYWt0ZXIgYm95dXR1bnUgOCBiaXQgb2xhcmFrIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBwYXJpdGV5aSB5YXJsYW1hXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHBhcml0ZXlpIMOnaWZ0IG9sYXJhayBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE0Cittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBwYXJpdGV5aSB0ZWsgb2xhcmFrIGF5YXJsYW5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBkdXJtYSBiaXRsZXJpbmkgYmlyZSBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE2Cittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBkdXJtYSBiaXRsZXJpbmkgaWtpeWUgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08Z2JheXJhaz4gIGdpcmRpIGtpcGkgYmF5cmHEn8SxbsSxIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjIKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkJpbGluZW4gPGxkaXNrPiBpc2ltbGVyaTpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJCaWxpbmVuIDxpYmF5cmFrPiBpc2ltbGVyaTpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGjEsXogYXJnw7xtYW7EsSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGR1cmFrbGFtYSBhcmfDvG1hbsSxIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzQKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IGhhdCBkaXNpcGxpbmkgYXJnw7xtYW7EsSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHNlcmlhbCBsaW5lIgorbXNnc3RyICIlcyBiaXIgc2VyaSBoYXQgZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiJXMgacOnaW4gdcOnIGJpcmltIMO2em5pdGVsaWtsZXJpIGFsxLFuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWVkICVkIHVuc3VwcG9ydGVkIgorbXNnc3RyICJoxLF6ICVkIGRlc3Rla2xlbm1peW9yIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiJXMgacOnaW4gdcOnIGJpcmltIMO2em5pdGVsaWtsZXJpIGF5YXJsYW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgImdpcmnFnyBrb211dHUgJXMnZSB5YXrEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJoYXQgZGlzaXBsaW5pIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ4MworbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgImFydGFsYW4gc8O8cmVjZSBkw7Zuw7zFn3TDvHLDvGxlbWVkaSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAib3RvdGVtaXpsZW1lIGJheXJhxJ/EsSBheWFybGFuZMSxIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiYXlnxLF0IHllZGVrIGRvc3lhc8SxIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAieWVkZWsgZG9zeWFzxLEgaW5vZGUgc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAieWVkZWsgZG9zeWFzxLEgYsO8ecO8azprw7zDp8O8ayBheWfEsXQgbnVtYXJhc8SxIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiZMO2bmfDvCBheWfEsXTEsSBpc21pIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAiYmHFn2xhbmfEscOndGFuIG9mc2V0IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgInBhcsOnYWzEsXRhcmFtYSBiYXlyYcSfxLEgYXlhcsSxIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAiZG9zeWFuxLFuIGJheXQgb2xhcmFrIGJveXV0IHPEsW7EsXLEsSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAiZMO2bmfDvCBheWfEsXTEsSBiw7x5w7xrOmvDvMOnw7xrIG51bWFyYXPEsSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgImRvxJ9ydWRhbi1nw6cgaWxlIHllZGVrIGRvc3lhc8SxbmEgZXJpxZ9pbSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIGluIGJ5dGVzIgorbXNnc3RyICJtYW50xLFrc2FsIHNla3TDtnIgYm95dXR1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjEzOCBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MAorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIiwgb2ZzZXQgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE0MSBzeXMtdXRpbHMvbG9zZXR1cC5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIiwgYm95dXRzxLFuxLFyxLEgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsICVzIMWfaWZyZWxlbWUgKHRpcCAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIlczogYXlyxLFsbWEgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3Nlw6dlbmVrbGVyXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gLWYgfCA8bG9vcGRldj4gPGRvc3lhPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIkTDtm5nw7wgYXlnxLF0bGFyxLFuxLEga3VyIHZlIGtvbnRyb2wgZXQuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgYsO8dMO8biBrdWxsYW7EsWxhbiBheWfEsXRsYXLEsSBsaXN0ZWxlXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+Li4uICAgICBiaXIgdmV5YSBkYWhhIGZhemxhIGF5Z8SxdMSxIGF5xLFyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA0Cittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBrdWxsYW7EsWxhbiBiw7x0w7xuIGF5Z8SxdGxhcsSxIGF5xLFyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAga3VsbGFuxLFsbWF5YW4gaWxrIGF5Z8SxdMSxIGJ1bFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxkw7ZuZ8O8YXlnxLF0xLE+ICBheWfEsXTEsSB5ZW5pZGVuIGJveXV0bGFuZMSxclxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIC1qLCAtLWFzc29jaWF0ZWQgPGRvc3lhPiAgICAgICA8ZG9zeWE+IGlsZSBpbGnFn2tpbGkgYsO8dMO8biBheWfEsXRsYXLEsSBsaXN0ZWxlXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA4Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXlnxLFsYXIgYXJhc8SxIG11aHRlbWVsIMOnYWvEscWfbWFsYXJkYSB1emFrIGR1clxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPG51bWFyYT4gICAgICAgICAgICBkb3N5YSBpw6dpbmRlIG9mc2V0IDxudW1hcmE+c8SxbmRhIGJhxZ9sYVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMworbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgICAgIC0tc2l6ZWxpbWl0IDxzYXnEsT4gICAgICAgICBheWfEsXQgZG9zeWFuxLFuIDxzYXnEsT4gYmF5dMSxIGlsZSBzxLFuxLFybMSxXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgICAgICBzZXQgdGhlIGxvZ2ljYWwgc2VjdG9yIHNpemUgdG8gPG51bT5cbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIGZpemlrc2VsIHZlIG1hbnTEsWtzYWwgc2VrdMO2ciBib3l1dHVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGLDtmzDvG1sZW5tacWfIGTDtm5nw7wgYXlnxLF0xLEgb2x1xZ90dXJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzYWx0LW9rdW51ciBkw7ZuZ8O8IGF5Z8SxdMSxIG9sdcWfdHVyXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE3Cittc2dpZCAiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIKK21zZ3N0ciAiICAgICAtLWRpcmVjdC1pb1s9PGHDp8Sxa3xrYXBhbMSxPl0gICAgT19ESVJFQ1QgaWxlIHllZGVrIGRvc3lhc8SxbsSxIGHDp1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOAorbXNnaWQgIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIGF5Z8SxdCBpc21pbmkga3VydWx1bWRhbiBzb25yYSB5YXpkxLFyICgtZiBpbGUpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgYXlyxLFudMSxbMSxIGtpcFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgSlNPTiAtLWxpc3Qgw6fEsWt0xLEgYmnDp2ltaW5pIGt1bGxhblxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIHRhbWFtxLEgeWEgZGEgYmVsaXJ0aWxlbiBoYWtrxLFuZGEgYmlsZ2kgZ8O2c3RlciAodmFyc2F5xLFsYW4pXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI1Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICAtLWxpc3Qgw6fEsWt0xLFzxLEgacOnaW4gYmHFn2zEsWtsYXLEsSBnw7ZzdGVybWVcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjYKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGtvbG9uPiAgICAgICAgICAgLS1saXN0IGnDp2luIGfDtnN0ZXJpbGVjZWsga29sb25sYXLEsSBiZWxpcnRcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjcKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgaGFtIC0tbGlzdCDDp8Sxa3TEsSBiacOnaW1pbmkga3VsbGFuXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVzOiBVeWFyxLE6IGRvc3lhIDUxMiBiYXl0dGFuIGRhaGEga8O8w6fDvGs7IGTDtm5nw7wgYXlnxLF0xLEga3VsbGFuxLHFn3PEsXogdmV5YSBzaXN0ZW0gYXJhw6dsYXLEsSB0YXJhZsSxbmRhbiBnw7Zyw7xubWV6IG9sYWJpbGlyLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiJXM6IFV5YXLEsTogZG9zeWEgNTEyLWJheXQgYmlyIHNla3TDtnJlIHPEscSfbcSxeW9yOyBkb3N5YW7EsW4gc29udSB5b2tzYXnEsWxhY2FrLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXM6IMO2cnTDvMWfZW4gZMO2bmfDvCBheWfEsXTEsSB2YXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczogw7ZydMO8xZ9lbiBzYWx0LW9rdW51ciBkw7ZuZ8O8IGF5Z8SxdMSxIHZhciIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiDDtnJ0w7zFn2VuIMWfaWZyZWxpIGTDtm5nw7wgYXlnxLF0xLEgdmFyIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6IGTDtm5nw7wgYXlnxLF0xLEgeWVuaWRlbiBrdWxsYW7EsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTA3Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICJkw7ZuZ8O8IGF5Z8SxdMSxIGluY2VsZW5lbWVkaSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlczogw6dha8SxxZ9hbiBkw7ZuZ8O8IGF5Z8SxdGxhcsSxIGtvbnRyb2wgZWRpbGVtZWRpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAia3VsbGFuxLFsbWF5YW4gYmlyIGTDtm5nw7wgYXlnxLF0xLEgYnVsdW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXM6IHllZGVrIGRvc3lhc8SxIGt1bGxhbsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxvZ2ljYWwgYmxvY2sgc2l6ZSIKK21zZ3N0ciAiYm95dXQgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiBheWfEsXQga3VsbGFuxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiaGnDp2JpciBkw7ZuZ8O8IGF5Z8SxdMSxIGJlbGlydGlsbWVkaSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgImTDtm5nw7wgYXlnxLF0xLEga3VydWx1bXUgc8SxcmFzxLFuZGEgc2FkZWNlICVzIHNlw6dlbmVrbGVyaSBrdWxsYW7EsWxhYmlsaXIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIi0tb2Zmc2V0IHNlw6dlbmXEn2kgYnUgacOnZXJpa3RlIGt1bGxhbsSxbGFtYXoiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIlczoga2FwYXNpdGUgYXlhcmxhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczogZG/En3J1ZGFuIGfDpyBheWFybGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBsb2dpY2FsIGJsb2NrIHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogYm95dXQgYWzEsW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk1Cittc2dpZCAibm9uZSIKK21zZ3N0ciAiaGnDp2JpcmkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAicGFyYSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTcKK21zZ2lkICJmdWxsIgorbXNnc3RyICJ0YW0iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk4Cittc2dpZCAiY29udGFpbmVyIgorbXNnc3RyICJrYXBzYXnEsWPEsSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAieWF0YXkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICJkaWtleSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICJtYW50xLFrc2FsIGnFn2xlbWNpIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJtYW50xLFrc2FsIMOnZWtpcmRlayBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJtYW50xLFrc2FsIHNva2V0IHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIm1hbnTEsWtzYWwgTlVNQSBkw7zEn8O8bSBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4Cittc2dpZCAibG9naWNhbCBib29rIG51bWJlciIKK21zZ3N0ciAibWFudMSxa3NhbCBraXRhcCBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJtYW50xLFrc2FsIHPDvHJnw7wgc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIsO2biBiZWxsZWtsZXJpbiBpxZ9sZW1jaWxlciBhcmFzxLFuZGEgbmFzxLFsIHBheWxhxZ/EsWxkxLHEn8SxbsSxIGfDtnN0ZXJpciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAic2FuYWwgZG9uYW7EsW1kYSBpxZ9sZW1jaSBnw7ZuZGVybWUga2lwaSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiYmlyIGnFn2xlbWNpbmluIGZpc2lrc2VsIGFkcmVzaSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJIeXBlcnZpesO2csO8biBpxZ9sZW1jaXlpIHRhaHNpcyBlZGlwIGV0bWVkacSfaW5pIGfDtnN0ZXJpciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA0Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICJMaW51eCd1biBpxZ9sZW1jaXlpIGt1bGxhbsSxcCBrdWxsYW5tYWTEscSfxLFuxLEgZ8O2c3RlcmlyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDUKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiacWfbGVtY2luaW4gZW4gecO8a3NlayBNSHonaW5pIGfDtnN0ZXJpciIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgImnFn2xlbWNpbmluIGVuIGTDvMWfw7xrIE1IeidpbmkgZ8O2c3RlcmlyIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJoYXRhOiB1bmFtZSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAiacWfbGVtY2kgc2F5xLFzxLEgYmVsaXJsZW5lbWVkaTogJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAic2lueWFsIGnFn2xleWljaXNpIGF5YXJsYW5hbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJEw7zEn8O8bSBzYXnEsXPEsSDDp8Sxa2FyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICJFIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJOIgorbXNnc3RyICJIIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgxLB6bGV5ZW4gYmHFn2thIHByb2dyYW1sYXJhIGJlc2xlbmViaWxlY2VrIGF5csSxxZ90xLFyxLFsYWJpbGlyXG4iCisiIyBiacOnaW1kaXIuIELDvHTDvG4ga29sb25sYXJkYWtpIGhlciBiaXIgw7ZnZSBzxLFmxLFyZGFuIGJhxZ9sYXlhblxuIgorIiMga2VuZGluZSBoYXMgYmlyIGtpbWxpxJ9lIHNhaGlwdGlyLlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAiTWltYXJpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczNworbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAixLDFn2xlbWNpIGnFn2xlbS1raXBpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzQyCittc2dpZCAiQnl0ZSBPcmRlcjoiCittc2dzdHIgIkJheXQgU8SxcmFsYW1hc8SxOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIsSwxZ9sZW1jaWxlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiw4dldnJpbWnDp2kgacWfbGVtY2kobGVyKSBtYXNrZXNpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICLDh2V2cmltacOnaSBpxZ9sZW1jaShsZXIpIGxpc3Rlc2k6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3Cittc2dpZCAiT2ZmLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICLDh2V2cmltacOnaSBpxZ9sZW1jaSBtYXNrZXNpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiw4dldnJpbWnDp2kgacWfbGVtY2kgbGlzdGVzaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICLDh2VraXJkZWsgYmHFn8SxbmEgacWfIHBhcsOnYWPEscSfxLE6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiU29rZXQgYmHFn8SxbmEgw6dla2lyZGVrOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwOAorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIktpdGFwIGJhxZ/EsW5hIHNva2V0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIlPDvHJnw7wgYmHFn8SxbmEga2l0YXA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiU8O8cmfDvChsZXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxNQorbXNnaWQgIkJvb2socyk6IgorbXNnc3RyICJLaXRhcChsYXIpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIlNva2V0KGxlcik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiTlVNQSBkw7zEn8O8bcO8KGxlcmkpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIlNhxJ9sYXnEsWPEsSBLaW1sacSfaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJNYWtpbmUgdGlwaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAixLDFn2xlbWNpIGFpbGVzaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIk1vZGVsOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICJNb2RlbSBpc21pOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNAorbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiQWTEsW1sYW1hOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICLEsMWfbGVtY2kgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzOAorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIsSwxZ9sZW1jaSBkaW5hbWlrIE1IejogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCittc2dpZCAiQ1BVIHN0YXRpYyBNSHo6IgorbXNnc3RyICLEsMWfbGVtY2kgc3RhdGlrIE1IejogIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQyCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICLEsMWfbGVtY2kgZW4gecO8a3NlayBNSHo6ICIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAixLDFn2xlbWNpIGFzZ2FyaSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ2Cittc2dpZCAiQm9nb01JUFM6IgorbXNnc3RyICJCb2dvTUlQUzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDkgc3lzLXV0aWxzL2xzY3B1LmM6MTg1MQorbXNnaWQgIlZpcnR1YWxpemF0aW9uOiIKK21zZ3N0ciAiU2FuYWxsYcWfdMSxcm1hOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICJIeXBlcnZpesO2cjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTYKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIkh5cGVydml6w7ZyIHNhxJ9sYXnEsWPEsToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiU2FuYWxsYcWfdMSxcm1hIHRpcGk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYwCittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIkfDtm5kZXJpbSBraXBpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NCBzeXMtdXRpbHMvbHNjcHUuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiJXMgw7ZuYmVsbGXEn2k6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIk5VTUEgZMO8xJ/DvG0lZCBpxZ9sZW1jaToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODIKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiRml6aWtzZWwgc29rZXRsZXI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJGaXppa3NlbCDDp2lwbGVyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICJGaXppa3NlbCDDp2VraXJkZWtsZXIvw6dpcGxlcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODgKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIkJheXJha2xhcjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDMKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDUFUgYXJjaGl0ZWN0dXJlLlxuIgorbXNnc3RyICLEsMWfbGVtY2kgbWltYXJpc2kgaGFra8SxbmRhIGJpbGdpIGfDtnN0ZXI6XG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBoZW0gw6dldnJpbWnDp2kgaGVtIMOnZXZyaW1kxLHFn8SxIGnFn2xlbWNpbGVyaSB5YXpkxLFyICgtZSBpw6dpbiB2YXJzYXnEsWxhbilcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHNhZGVjZSDDp2V2cmltacOnaSBpxZ9sZW1jaWxlcmkgeWF6ZMSxciAoLXAgacOnaW4gdmFyc2F5xLFsYW4pXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHNhZGVjZSDDp2V2cmltZMSxxZ/EsSBpxZ9sZW1jaWxlcmkgZ8O2c3RlclxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICB1c2UgSlNPTiBmb3IgZGVmYXVsdCBvciBleHRlbmRlZCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICBKU09OIMOnxLFrdMSxIGZvcm1hdMSxbsSxIGt1bGxhblxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdGU+XSBnZW5pxZ9sZXRpbG1pxZ8gb2t1bmFiaWxpciBiaXIgYmnDp2ltIHlhemTEsXJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz08bGlzdGU+XSAgICBheXLEscWfdMSxcsSxbGFiaWxpciBiaXIgYmnDp2ltIHlhemTEsXJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8ZGl6aW4+ICAgICBiZWxpcnRpbGVuIGRpemluaSBzaXN0ZW0ga8O2a8O8IG9sYXJhayBrdWxsYW5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAteCwgLS1oZXggICAgICAgICAgICAgICBpxZ9sZW1jaSBsaXN0ZWxlcmkgeWVyaW5lIG9uYWx0xLFsxLFrIG1hc2tlbGVyaSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgbWFudMSxa3NhbCBraW1saWtsZXIgeWVyaW5lIGZpemlrc2VsIG9sYW5sYXLEsSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OTkgc3lzLXV0aWxzL2xzbWVtLmM6NjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvICVzIgorbXNnc3RyICJnZcOnZXJzaXogYXJnw7xtYW46ICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6IHNlw6dlbmVrbGVyIC0tYWxsLCAtLW9ubGluZSB2ZSAtLW9mZmxpbmUgc2FkZWNlIC0tZXh0ZW5kZWQgdmV5YSAtLXBhcnNlIHNlw6dlbmVrbGVyaSBpbGUga3VsbGFuxLFsYWJpbGlyLlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIktheW5hayBhbmFodGFyxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAiQW5haHRhciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIktheW5hayBraW1sacSfaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIktpbWxpayIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIlNhaGliaW4ga3VsbGFuxLFjxLEgaXNtaSB5YSBkYSBVSUQnc2kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICJTYWhpYmkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICLEsHppbmxlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUzCittc2dpZCAiQ3JlYXRvciBVSUQiCittc2dzdHIgIk9sdcWfdHVydWN1IEtpbWxpxJ9pIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIk9sdcWfdHVydWN1IGlzbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICJPbHXFn3R1cnVjdSBHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NgorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIk9sdcWfdHVydWN1IGdydWJ1IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKK21zZ2lkICJVc2VyIElEIgorbXNnc3RyICJLdWxsYW7EsWPEsSBLaW1sacSfaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiS3VsbGFuxLFjxLEgYWTEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIkdydXAga2ltbGnEn2kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjAKK21zZ2lkICJHcm91cCBuYW1lIgorbXNnc3RyICJHcnVwIGlzbWkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICJTb24gZGXEn2nFn2ltIHphbWFuxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorbXNnaWQgIkxhc3QgY2hhbmdlIgorbXNnc3RyICJTb24gZGXEn2nFn2ltIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICJLdWxsYW7EsWxhbiBiYXl0IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIsSwbGV0aSBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIsSwbGV0aWxlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJHw7ZuZGVyaWxlbiBzb24gaWxldGkgemFtYW7EsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIkfDtm5kZXJpbGVuIGlsZXRpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICJBbMSxbmFuIHNvbiBpbGV0aW5pbiB6YW1hbsSxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIsSwbGV0aSBhbMSxbmTEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIlNvbiBpbGV0aSBnw7ZuZGVyZW5pbiBQSUQnc2kiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIsSwbGV0aSBnw7ZuZGVyZW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgcmVjZWl2ZXIiCittc2dzdHIgImFsxLFuYW4gc29uIGlsZXRpbmluIFBJRCdzaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICJBbMSxbmFuIGlsZXRpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIkRpbGltIGJveXV0dSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAixLBsacWfdGlyaWxlbiBzw7xyZcOnIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIsSwbGnFn3RpcmlsZW4gc8O8cmXDp2xlciIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICJEdXJ1bSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIsSwbGnFn3Rpcm1lIHphbWFuxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICJBecSxcm1hIHphbWFuxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICJPbHXFn3R1cnVjdSBrb211dCBzYXTEsXLEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICJPbHXFn3R1cnVjdSBrb211dHUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiT2x1xZ90dXJ1Y3UgUElEJ3NpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiT2x1xZ90dXJ1Y3UgUElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICJzb24ga3VsbGFuxLFjxLFuxLFuIFBJRCdzaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAiU29uIGt1bGxhbsSxY8SxIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIlNlbWFmb3Igc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIlNlbWFmb3JsYXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJTb24gacWfbGVtIHphbWFuxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICJTb24gacWfbGVtIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJLYXluYWsgaXNtaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UiCittc2dzdHIgIktheW5hayIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3Cittc2dpZCAiUmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIktheW5hayB0YW7EsW3EsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgIkHDp8Sxa2xhbWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIkN1cnJlbnRseSB1c2VkIgorbXNnc3RyICLFnnUgYW4ga3VsbGFuxLFsYW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgIkt1bGxhbsSxbGFuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIsWedSBhbmtpIGt1bGxhbsSxbSB5w7x6ZGVzaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICJLdWxsYW4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICJTaXN0ZW0gZ2VuZWxpIHPEsW7EsXIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICJTxLFuxLFyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIgorbXNnc3RyICJrb2xvbiAlcyBiZWxpcnRpbGVuIElQQyd5ZSB1eWd1bGFuYW1heiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg4Cittc2dpZCAiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAtcylcbiIKK21zZ3N0ciAiIC1nLCAtLWdsb2JhbCAgICAgIHNpc3RlbSBnZW5lbGkga3VsbGFuxLFtIGhha2vEsW5kYSBiaWxnaSAoLW0sIC1xIHZlIC1zIGlsZSBrdWxsYW7EsWxhYmlsaXIpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPGtpbWxpaz4gICAgIDxraW1saWs+IGlsZSB0YW7EsW1sYW5hbiBrYXluYcSfxLFuIGRldGF5bGFyxLFuxLEgeWF6ZMSxclxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgQk9ZVVR1IG9rdW5hYmlsaXIgYmnDp2ltIHllcmluZSBiYXl0IG9sYXJhayB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIG9sdcWfdHVydWN1IHZlIHNhaGliaSBnw7ZzdGVyXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICBKU09OIMOnxLFrdMSxIGJpw6dpbWluaSBrdWxsYW5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBsaXN0ZSDDp8Sxa3TEsSBiacOnaW1pbmkgem9ybGEgKMO2cm5lxJ9pbiAtLWlkIGlsZSlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgc2F5xLFzYWwgaXppbmxlcmkgeWF6ZMSxciAoUEVSTVMga29sb251KVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIGlsacWfbWUsIGtvcG1hIHZlIGRlxJ9pxZ9pbSB6YW1hbmxhcsSxbsSxIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJHZW5lbCBrb2xvbmxhcjpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlBheWxhxZ/EsWxhbiBiZWxsZWsga29sb25sYXLEsSAoLS1zaG1lbXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisixLBsZXRpIGt1eXJ1xJ91IGtvbG9ubGFyxLEgKC0tcXVldWVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNlbWFmb3Iga29sb25sYXLEsSAoLS1zZW1hcGhvcmVzKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIsOWemV0IGtvbG9ubGFyxLEgKC0tZ2xvYmFsKTpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJFbGVtZW50czpcbiIKKyJcbiIKK21zZ3N0ciAiIgorIsOWZ2VsZXI6XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAidmVyaSBheWFybGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICJTZW1hZm9yIHRhbsSxbWxhecSxY8SxbGFyxLFuxLFuIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAiVG9wbGFtIHNlbWFmb3Igc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAiU2VtYWZvciBrw7xtZXNpIGJhxZ/EsW5hIGVuIMOnb2sgc2VtYWZvci4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgInNlbW9wKDIpIGJhxZ/EsW5hIGVuIGZhemxhIGnFn2xlbSBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiU2VtYWZvciBhemFtaSBkZcSfZXJpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIsSwbGV0aSBrdXlydWtsYXLEsSBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc0Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICJBemFtaSBpbGV0aSB1enVubHXEn3UgKGJheXQpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIlZhcnNhecSxbGFuIGF6YW1pIGt1eXJ1ayBib3l1dHUgKGJheXQpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgImRldmFzYXRhYmxvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorbXNnaWQgIm5vcmVzZXJ2ZSIKK21zZ3N0ciAiYXnEsXJtYSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MgorbXNnaWQgIlNoYXJlZCBtZW1vcnkgc2VnbWVudHMiCittc2dzdHIgIlBheWxhxZ/EsWxhbiBiZWxsZWsgZGlsaW1sZXJpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDczCittc2dpZCAiU2hhcmVkIG1lbW9yeSBwYWdlcyIKK21zZ3N0ciAiUGF5bGHFn8SxbGFuIGJlbGxlayBzYXlmYWxhcsSxIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc0Cittc2dpZCAiTWF4IHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIlBheWxhxZ/EsWxhbiBiZWxsZWsgZGlsaW1pbmluIGF6YW1pIGJveXV0dSAoYmF5dCkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAicGF5bGHFn8SxbGFuIGJlbGxlayBkaWxpbWluaW4gYXNnYXJpIGJveXV0dSAoYmF5dCkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIklQQyB0YW7EsW1sYXnEsWPEsXPEsSBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIzOQorbXNnaWQgIi0tZ2xvYmFsIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tY3JlYXRvciwgLS1pZCBhbmQgLS10aW1lIgorbXNnc3RyICItLWdsb2JhbCwgLS1jcmVhdG9yLCAtLWlkIHZlIC0tdGltZSBpbGUga2FyxZ/EsWzEsWtsxLEgZMSxxZ9sYXlhbmTEsXIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgImF5Z8SxdMSxbiBib3l1dHUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMAorbXNnaWQgIm9ubGluZSBzdGF0dXMgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAibWVtb3J5IGlzIHJlbW92YWJsZSIKK21zZ3N0ciAiIHNpbGluZWJpbGlyIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibnVtYSBub2RlIG9mIG1lbW9yeSIKK21zZ3N0ciAiQmVsbGVrIHlldGVyc2l6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgImF5Z8SxdMSxbiBib3l1dHUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MQorIywgZnV6enkKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgIiwgw6dhbMSxxZ/EsXlvciIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYyCisjLCBmdXp6eQorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiwgw6dhbMSxxZ/EsXlvciIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAiYmxvayB1enVubHXEn3VudSB2ZXJpciIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiYmVsbGVrIHlldGVyc2l6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiYmVsbGVrIHlldGVyc2l6IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICJCdSBzaXN0ZW0gacWfbGVtY2lsZXJpbiB5ZW5pZGVuIHRhcmFubWFzxLFuxLEgZGVzdGVrbGVtaXlvciIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgbGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICBiw7x0w7xuIGF5Z8SxdGxhcsSxIHlhemTEsXJcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGxpdCA8bGlzdD4gICBzcGxpdCByYW5nZXMgYnkgc3BlY2lmaWVkIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgw6fEsWt0xLEgc8O8dHVubGFyxLFcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICB1c2UgdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC1zLCAtLXN5c3Jvb3QgPGRpemluPiAgICAgYmVsaXJ0aWxlbiBkaXppbmkgc2lzdGVtIGvDtmvDvCBvbGFyYWsga3VsbGFuXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogLS1zZXRncm91cHMgYXJnw7xtYW7EsSAnJXMnIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tc2V0Z3JvdXBzPWFsbG93IHZlIC0tbWFwLXJvb3QtdXNlciBrYXLFn8SxbMSxa2zEsSBvbGFyYWsgZMSxxZ9sYXlhbmTEsXIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY2NCBzeXMtdXRpbHMvbHNucy5jOjc4MQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiw6fEsWt0xLEgdGFibG9zdSBiYcWfbGF0xLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiw6fEsWt0xLEgc8O8dHVudSBiYcWfbGF0xLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjk5Cittc2dpZCAibmFtZXNwYWNlIGlkZW50aWZpZXIgKGlub2RlIG51bWJlcikiCittc2dzdHIgImlzaW11emF5xLEgdGFuxLFtbGF5xLFjxLFzxLEgKGlub2RlIHNhecSxc8SxKSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAiaXNpbXV6YXnEsSB0w7xyw7wiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICJpc2ltdXphecSxbsSxbiB5b2x1IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiaXNpbXV6YXnEsW5kYWtpIHPDvHJlw6dsZXJpbiBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDMKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgImlzaW11emF5xLFuZGFraSBlbiBkw7zFn8O8ayBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQSUQnbmluIFBQSUQnc2kiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIlBJRCduaW4ga29tdXQgc2F0xLFyxLEiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIlBJRCduaW4gVUlEJ3NpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNworbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIlBJRCduaW4ga3VsbGFuxLFjxLEgYWTEsSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDgKK21zZ2lkICJuYW1lc3BhY2UgSUQgYXMgdXNlZCBieSBuZXR3b3JrIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxOQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIsOnxLFrdMSxeWEgc2F0xLFyIGVrbGVuZW1lZGkiCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxuYW1lc3BhY2U+XVxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSBbPGlzaW11emF5xLE+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIlNpc3RlbSBpc2ltIHV6YXlsYXLEsW7EsSBsaXN0ZWxlLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwNQorbXNnaWQgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgIHByaW50IHByb2Nlc3MgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBzw7xyZcOnIGlzaW0gdXpheWxhcsSxbsSxIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIC9ldGMvbXRhYidhIHlhem1hXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxpc2ltPiAgICAgIGlzaW0gdXphecSxIHRpcGkgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG5hbWVzcGFjZSB0eXBlOiAlcyIKK21zZ3N0ciAiYmlsaW5tZXllbiBpc2ltIHV6YXnEsSB0aXBpOiAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICItLXRhc2sgPGlzaW11emF5xLE+IGlsZSBrYXLFn8SxbMSxa2zEsSBkxLHFn2xheWFuZMSxciIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgImdlw6dlcnNpeiBpc2ltdXphecSxIGFyZ8O8bWFuxLEiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgImlzaW11emF5xLEgYnVsdW5hbWFkxLE6ICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJzYWRlY2Ugcm9vdCBrdWxsYW7EsWPEsXPEsSBcIi0tJXNcIiBzZcOnZW5lxJ9pbmkga3VsbGFuYWJpbGlyIChldGtpbiBVSUQgJXUnZGlyKSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njggc3lzLXV0aWxzL3Vtb3VudC5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJidSBpxZ9sZW1pIHNhZGVjZSByb290IHlhcGFiaWxpciAoZXRraW4gVUlEICV1J2R1cikiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcyIHN5cy11dGlscy91bW91bnQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJzYWRlY2Ugcm9vdCBcIi0tJXNcIiBzZcOnZW5lxJ9pbmkga3VsbGFuYWJpbGlyIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICJidW51IHNhZGVjZSByb290IHlhcGFiaWxpciIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODQgc3lzLXV0aWxzL3Vtb3VudC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbXRhYiIKK21zZ3N0ciAibXRhYiBva3VuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czogeW9rc2F5xLFsZMSxXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVzOiB6YXRlbiBiYcSfbMSxXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVzOiAlcywgJXMnZSB0YcWfxLFuZMSxLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMsICVzIMO8emVyaW5kZSBzxLFuxLFybGFuZMSxLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMsICVzIMO8emVyaW5kZSBiYcSfbMSxLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVzOiAlcyB5YXnEsW1sYW1hIGJheXJhxJ/EsSBkZcSfacWfdGkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBTRUxpbnV4IGV0aWtldGxlcmkgacOnZXJtaXlvci5cbiIKKyIgICAgICAgQmlyIFNFTGludXgga3V0dXN1bmEgZXRpa2V0bGVyaSBkZXN0ZWtsZXllbiBhbmNhayBldGlrZXQgacOnZXJtZXllblxuIgorIiAgICAgICBiaXIgZG9zeWEgc2lzdGVtaSBrdXJtdcWfIGJ1bHVudXlvcnN1bnV6LiBCw7x5w7xrIG9sYXPEsWzEsWtsYSBzxLFuxLFybMSxXG4iCisiICAgICAgIHV5Z3VsYW1hbGFyIEFWQyBpbGV0aWxlcmkgb2x1xZ90dXJhY2FrIHZlIGJ1IGRvc3lhIHNpc3RlbWluZSB5YXptYXlhXG4iCisiICAgICAgIHlldGtpbGVyaSBvbG1heWFjYWsuICBEYWhhIGZhemxhIGJpbGdpIGnDp2luIHJlc3RvcmVjb24oOCkgdmUgbW91bnQoOCknZSBiYWvEsW4uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMwNyBzeXMtdXRpbHMvdW1vdW50LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVzOiBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBzZcOnZW5layBiacOnaW1pOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgInNlw6dlbmVrICclcycgZWtsZW5lbWVkaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW3Nlw6dlbmVrbGVyXVxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gWy0tc291cmNlXSA8a2F5bmFrPiB8IFstLXRhcmdldF0gPGRpemluPlxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gPGtheW5haz4gPGRpemluPlxuIgorIiAlMSRzIDxpxZ9sZW0+IDxiYcSfbGFubWFub2t0YXPEsT4gWzxoZWRlZj5dXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwMAorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiQmlyIGRvc3lhIHNpc3RlbWkgYmHEn2xhLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGZzdGFiJ2RhIGJlbGlydGlsZGnEn2kgZ2liaSBiw7x0w7xuIGRvc3lhIHNpc3RlbWxlcmluaSBiYcSfbGFcbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgeW9sbGFyxLEga2Fub25pa2xlxZ90aXJtZVxuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBrdXJ1IMOnYWzEscWfdMSxcm1hOyBtb3VudCgyKSBzaXN0ZW0gw6dhxJ9yxLFzxLFuxLEgYXRsYVxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBoZXIgYmlyIGF5Z8SxdCBpw6dpbiDDp2F0YWxsYSAoLWEgaWxlIGt1bGxhbsSxbilcbiIKKyIgLVQsIC0tZnN0YWIgPHlvbD4gICAgICAvZXRjL2ZzdGFiIGnDp2luIGFsdGVybmF0aWYgZG9zeWFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgbW91bnQuPHRpcD4geWFyZMSxbWPEsSBrb211dGxhcsSxbsSxIMOnYcSfxLFybWFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGF5csSxY2EgZG9zeWEgc2lzdGVtaSBldGlrZXRsZXJpbmkgZ8O2c3RlclxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIC9ldGMvbXRhYidhIHlhem1hXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdGU+ICAgIG1vdW50IHNlw6dlbmVrbGVyaW5pbiB2aXJnw7xsbGUgYXlyxLFsbcSxxZ8gbGlzdGVzaVxuIgorIiAtTywgLS10ZXN0LW9wdHMgPGxpc3RlPiAgZG9zeWEgc2lzdGVtaSBrw7xtZXNpbmkgc8SxbsSxcmxhICgtYSBpbGUga3VsbGFuKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBkb3N5YSBzaXN0ZW1pbmkgc2FsdCBva3VudXIgb2xhcmFrIGJhxJ9sYSAoLW8gcm8gaWxlIGF5bsSxKVxuIgorIiAtdCwgLS10eXBlcyA8bGlzdGU+ICAgICAgZG9zeWEgc2lzdGVtaSB0aXBsZXJpbmkgbGlzdGVsZVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxrYXluYWs+ICAgICAga2F5bmHEn8SxIGHDp8Sxa8OnYSBiZWxpcnQgKHlvbCwgZXRpa2V0LCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPGhlZGVmPiAgIGJhxJ9sYW1hIG5va3Rhc8SxbsSxIGHDp8Sxa8OnYSBiZWxpcnRcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI0IHN5cy11dGlscy91bW91bnQuYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIG5lIHlhcMSxbGTEscSfxLFuxLEgc8O2eWxlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIGRvc3lhIHNpc3RlbWluaSBva3VudXIteWF6xLFsxLFyIG9sYXJhayBiYcSfbGEgKHZhcnNhecSxbGFuKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8ZXRpa2V0PiAgICAgTEFCRUw9PGV0aWtldD4gJ2luIGXFnyBhbmxhbWzEsXPEsVxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBVVUlEPTx1dWlkPiduaW4gZcWfIGFubGFtbMSxc8SxXG4iCisiIExBQkVMPTxldGlrZXQ+ICAgICAgICAgICBheWfEsXTEsSBkb3N5YSBzaXN0ZW1pIGV0aWtldGkgaWxlIGJlbGlydGlyXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIGF5Z8SxdMSxIGRvc3lhIHNpc3RlbWkgVVVJRCdzaSBpbGUgYmVsaXJ0aXJcbiIKKyIgUEFSVExBQkVMPTxldGlrZXQ+ICAgICAgIGF5Z8SxdMSxIGRpc2sgYsO2bMO8bcO8IGV0aWtldGkgaWxlIGJlbGlydGlyXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIGF5Z8SxdMSxIGRpc2sgYsO2bMO8bcO8IFVVSUQnc2kgaWxlIGJlbGlydGlyXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgYXlnxLF0xLEgeW9sIGlsZSBiZWxpcnRpclxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBiaW5kJ2luIGJhxJ9sYW5kxLHEn8SxIGJhxJ9sYW5tYSBub2t0YXPEsShiYWvEsW4gLS1iaW5kL3JiaW5kKVxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgICBsb29wZGV2IGt1cnVsdW11IGnDp2luIHPEsXJhZGFuIGRvc3lhXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3BlcmF0aW9uczpcbiIKKyIgLUIsIC0tYmluZCAgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzYW1lIGFzIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKyIgLVIsIC0tcmJpbmQgICAgICAgICAgICAgbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyLEsMWfbGVtbGVyOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBiaXIgYWx0IGHEn2FjxLEgYmHFn2thIGJpciB5ZXJlIGJhxJ9sYSAoLW8gYmluZCBpbGUgYXluxLEpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIGJpciBhbHQgYcSfYWPEsSBiYcWfa2EgYmlyIHllcmUgdGHFn8SxXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIGJpciBhbHQgYcSfYWPEsSB5YSBkYSB0w7xtIGFsdCBiYcSfbGFtYWxhcsSxIGJhxZ9rYSBiaXIgeWVyZSBiYcSfbGFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIGJpciBhbHQgYcSfYWPEsSBwYXlsYcWfxLFsYW4gb2xhcmFrIGnFn2FyZXRsZVxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBiaXIgYWx0IGHEn2FjxLEgeWFyZMSxbWPEsSBvbGFyYWsgacWfYXJldGxlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIGJpciBhbHQgYcSfYWPEsSDDtnplbCBvbGFyYWsgacWfYXJldGxlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIGJpciBhbHQgYcSfYWPEsSBheXLEsWxhbWF6IG9sYXJhayBpxZ9hcmV0bGVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIGnDp2nDp2UgYsO8dMO8biBiaXIgYWx0IGHEn2FjxLEgcGF5bGHFn8SxbGFuIG9sYXJhayBpxZ9hcmV0bGVcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgacOnacOnZSBiw7x0w7xuIGJpciBhbHQgYcSfYWPEsSB5YXJkxLFtY8SxIG9sYXJhayBpxZ9hcmV0bGVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgacOnacOnZSBiw7x0w7xuIGJpciBhbHQgYcSfYWPEsSDDtnplbCBvbGFyYWsgacWfYXJldGxlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIGnDp2nDp2UgYsO8dMO8biBiaXIgYWx0IGHEn2FjxLEgYXlyxLFsYW1heiBvbGFyYWsgacWfYXJldGxlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQgacOnZXJpxJ9pIHRhaHNpcyBlZGlsZW1lZGkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjYwMSBzeXMtdXRpbHMvdW1vdW50LmM6NTAxCittc2dpZCAiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iCittc2dzdHIgInNlw6dlbmVrIGRlc2VuaW5pIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgImtheW5hayBiaXJkZW4gZmF6bGEga2V6IGJlbGlydGlsZGkiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1xZF0gL2RpemluZS9naWRlbi95b2xcbiIKKyIgJTEkcyAteCAvZGV2L2F5Z8SxdFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMworbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIkJpciBkb3N5YSB5YSBkYSBkaXppbmluIGJhxJ9sYW1hIG5va3Rhc8SxIG9sdXAgb2xtYWTEscSfxLFuxLEga29udHJvbCBldC5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjYKK21zZ2lkICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgZmlsZXN5c3RlbVxuIgorIiAteCwgLS1kZXZubyAgICAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBibG9jayBkZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgc2Vzc2l6IGtpcGkgLSBoacOnYmlyIMWfZXkgeWF6ZMSxcm1hXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBkb3N5YSBzaXN0ZW1pbmluIMO8c3Q6YWx0IGF5Z8SxdCBudW1hcmFzxLFuxLEgeWF6ZMSxclxuIgorIiAteCwgLS1kZXZubyAgICAgICAgYmxvayBheWfEsXTEsW7EsW4gw7xzdDphbHQgYXlnxLF0IG51bWFyYXPEsW7EsSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgYmlyIGJhxJ9sYW1hIG5va3Rhc8SxIGRlxJ9pbFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMgYmlyIGJhxJ9sYW50xLEgbm9rdGFzxLFkxLFyLlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gWzxwcm9ncmFtPiBbPGFyZ8O8bWFubGFyPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIkRpxJ9lciBzw7xyZcOnbGVyaW4gaXNpbSB1emF5xLEgaWxlIGJpciBwcm9ncmFtIMOnYWzEscWfdMSxci5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgYsO8dMO8biBheWfEsXRsYXLEsSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIGlzaW0gdXphecSxbsSxbiBhbMSxbmFjYcSfxLEgaGVkZWYgc8O8cmXDp1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PGRvc3lhPl0gICBtb3VudCBpc2ltIHV6YXnEsW7EsSBnaXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PGRvc3lhPl0gICAgIFVUUyBpc2ltIHV6YXnEsW7EsSBnaXIgKG1ha2luYSBhZMSxIHZiKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08ZG9zeWE+XSAgICAgU3lzdGVtIFYgSVBDIGlzaW0gdXphecSxbsSxIGdpclxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PGRvc3lhPl0gICAgIGHEnyBpc2ltIHV6YXnEsW7EsSBnaXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9PGRvc3lhPl0gICAgIHBpZCBpc2ltIHV6YXnEsW7EsSBnaXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PGRvc3lhPl0gIGNncm91cCBpc2ltIHV6YXnEsW7EsSBnaXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08ZG9zeWE+XSAgICBrdWxsYW7EsWPEsSBpc2ltIHV6YXnEsW7EsSBnaXJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgZ2lyaWxlbiBpc2ltIHV6YXnEsW5kYWtpIHVpZCd5aSBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgZ2lyaWxlbiBpc2ltIHV6YXnEsW5kYWtpIGdpZCd5aSBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyB1aWQgeWEgZGEgZ2lkJ2xlcmUgZG9rdW5tYXpcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTxkaXppbj5dICAgICBrw7ZrIGRpemluaSBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MworbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC13LCAtLXdkWz08ZGl6aW4+XSAgICAgICDDp2FsxLHFn21hIGRpemluaW5pIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICA8cHJvZ3JhbT7EsSBleGVjJ2xlbWVkZW4gw7ZuY2Ugw6dhdGFsbGFubWFcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgLVosIC0tZm9sbG93LWNvbnRleHQgICBTRUxpbnV4IGnDp2VyacSfaW5pIC0tdGFyZ2V0IFBJRCdlIGfDtnJlIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAiJXMgacOnaW4gbmUgZG9zeWEgaXNtaSBuZSBkZSBoZWRlZiBwaWQgc2HEn2xhbmTEsSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICJ1aWQgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiZ2lkIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM0OQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICItLWZvbGxvdy1jb250ZXh0IGnDp2luIGhlZGVmIFBJRCBiZWxpcnRpbG1lZGkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICIlZCBTRUxpbnV4IGnDp2VyacSfaSBhbMSxbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAiw6dhbMSxxZ90xLFybWEgacOnZXJpxJ9pICclcycgb2xhcmFrIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAiLS1mb2xsb3ctY29udGV4dCBpw6dpbiBoZWRlZiBQSUQgYmVsaXJ0aWxtZWRpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQyNQorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgImlzaW0gdXphecSxICclcydlIHllbmlkZW4gaWxpxZ9raWxlbmRpcm1lIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICJtZXZjdXQgw6dhbMSxxZ/EsWxhbiBkaXppbiBhw6fEsWxhbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0OAorbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICJyb290IGRvc3lhIHRhbsSxbWxhecSxY8SxIHRhcmFmxLFuZGFuIGRpemluZSBnaXJpbGVtZWRpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgImNocm9vdCBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDYxCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIgorbXNnc3RyICLDp2FsxLHFn8SxbGFuIGRpemluIGRvc3lhIHRhbsSxbWxhecSxY8SxIHRhcmFmxLFuZGFuIGRpemluZSBnaXJpbGVtZWRpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIG5ld19yb290IHB1dF9vbGRcbiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozOAorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJLw7ZrIGRvc3lhIHNpc3RlbWluaSBkZcSfacWfdGlyLlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAicm9vdCBgJXMnIGRlbiBgJXMnIGUgZGXEn2nFn3RpcmlsZW1lZGkiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICJhZHJlcyB1emF5xLEgc8SxbsSxcsSxIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2Cittc2dpZCAibWF4IGNvcmUgZmlsZSBzaXplIgorbXNnc3RyICJhemFtaSDDp2VraXJkZWsgZG9zeWEgYm95dXR1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIsSwxZ9sZW1jaSB6YW1hbsSxIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAic2Vjb25kcyIKK21zZ3N0ciAic2FuaXllIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiYXphbWkgdmVyaSBib3l1dHUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJhemFtaSBkb3N5YSBib3l1dHUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAidHV0dWxhbiBhemFtaSBkb3N5YSBraWxpZGkgc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJsb2NrcyIKK21zZ3N0ciAia2lsaXRsZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKK21zZ2lkICJtYXggbG9ja2VkLWluLW1lbW9yeSBhZGRyZXNzIHNwYWNlIgorbXNnc3RyICJhemFtaSBraWxpdGxlbm1pxZ8gYmVsbGVrIGFkcmVzIHV6YXnEsSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJQT1NJWCBpbGV0aSBrdXlydWtsYXLEsW5kYWtpIGF6YW1pIGJheXQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgInnDvGtzZWx0aWxlYmlsZWNlayBhemFtaSBuaWNlIMO2bmNlbGnEn2kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgImF6YW1pIGHDp8SxayBkb3N5YSBzYXnEsXPEsSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICJkb3N5YWxhciIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICJhemFtaSBzw7xyZcOnIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICJzw7xyZcOnbGVyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICJhemFtaSBrYWzEsWPEsSBrw7xtZSBib3l1dHUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICJhemFtaSBnZXLDp2VrLXphbWFuIMO2bmNlbGnEn2kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgImdlcsOnZWstemFtYW5sxLEgacWfbGVyIGnDp2luIHphbWFuIGHFn8SxbcSxIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAibWljcm9zZWNzIgorbXNnc3RyICJtaWtyb3Nhbml5ZSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJiZWtsZXllbiBhemFtaSBzaW55YWwgc2F5xLFzxLEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICJzaW55YWxsZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiYXphbWkgecSxxJ/EsW4gYm95dXR1IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgImtheW5hayBpc21pIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorbXNnaWQgInJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJrYXluYWsgdGFuxLFtbGF5xLFjxLEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiaWxrIHPEsW7EsXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgInNvbiBzxLFuxLFyICh5dXZhcmxhbsSxeW9yKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAiYmlyaW1sZXIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gWy1wIFBJRF1cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIEtPTVVUXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY3Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkJpciBzw7xyZWNpbiBrYXluYWsgc8SxbsSxcmxhcsSxbsSxIGfDtnN0ZXIgeWEgZGEgZGXEn2nFn3Rpci5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiR2VuZWwgU2XDp2VuZWtsZXI6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBzw7xyZcOnIGtpbWxpxJ9pXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdGU+ICAgIGt1bGxhbsSxbGFjYWsgw6fEsWt0xLEga29sb25sYXLEsW7EsSBsaXN0ZWxlXG4iCisiICAgICAtLW5vaGVhZGluZ3MgICAgICAgYmHFn2zEsWtsYXLEsSB5YXptYVxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIGhhbSDDp8Sxa3TEsSBiacOnaW1pbmkga3VsbGFuXG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgYXlyxLFudMSxbMSxIMOnxLFrdMSxXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgYnUgeWFyZMSxbSBtZXRuaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBzw7xyw7xtIGJpbGdpc2luaSBnw7ZzdGVyIHZlIMOnxLFrXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiS2F5bmFrIFNlw6dlbmVrbGVyaTpcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jb3JlICAgICAgICAgICAgIG9sdcWfdHVydWxhbiDDp2VraXJkZWsgZG9zeWFsYXLEsW7EsW4gYXphbWkgYm95dXR1XG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgYmlyIHPDvHJlY2luIHZlcmkgZGlsaW1pbmluIGF6YW1pIGJveXV0dVxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIGl6aW4gdmVyaWxlbiBhemFtaSBuaWNlIMO2bmNlbGnEn2lcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBzw7xyZcOnIHRhcmFmxLFuZGFuIHlhesSxbGFuIGRvc3lhbGFyxLFuIGF6YW1pIGJveXV0dVxuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgIGJla2xleWVuIGF6YW1pIHNpbnlhbCBzYXnEsXPEsVxuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIGJpciBzw7xyZWNpbiBiZWxsZWt0ZSBzYWJpdGxleWViaWxlY2XEn2kgYXphbWkgYm95dXRcbiIKKyIgLW0sIC0tcnNzICAgICAgICAgICAgICBhemFtaSBrYWzEsWPEsSBrw7xtZSBib3l1dHVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBhemFtaSBhw6fEsWsgZG9zeWEgc2F5xLFzxLFcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBQT1NJWCBpbGV0aSBrdXlydcSfdW5kYWtpIGF6YW1pIGJheXRsYXJcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICBhemFtaSBnZXLDp2VrIHphbWFubMSxIHphbWFubGFtYSDDtm5jZWxpxJ9pXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAgYXphbWkgecSxxJ/EsW4gYm95dXR1XG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAgacWfbGVtY2kgemFtYW7EsW7EsW4gc2FuaXllIG9sYXJhayBhemFtaSBtaWt0YXLEsVxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIGF6YW1pIGt1bGxhbsSxY8SxIHPDvHJlY2kgc2F5xLFzxLFcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzYW5hbCBiZWxsZWsgYm95dXR1XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgYXphbWkgZG9zeWEga2lsaWRpIHNhecSxc8SxXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgZ2Vyw6dlayB6YW1hbmzEsSB6YW1hbmxhbWEgYWx0xLFuZGEgYmlyIHPDvHJlY2luXG4iCisiICAgICAgICAgICAgICAgICAgICAgICB6YW1hbmxhbmTEscSfxLEgacWfbGVtY2kgemFtYW7EsSwgbWlrcm9zYW5peWUgb2xhcmFrXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAic8SxbsSxcnPEsXoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICJlc2tpICVzIHPEsW7EsXLEsSBhbMSxbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiaWxrIHPEsW7EsXIgJXMgc29uIHPEsW7EsXLEsSBhxZ9hbWF6IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICJZZW5pICVzIHPEsW7EsXLEsSBwaWQgJWQgacOnaW46ICIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzIGtheW5hayBzxLFuxLFyxLEgYXlhcmxhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIiVzIGtheW5hayBzxLFuxLFyxLEgYWzEsW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiJXMgc8SxbsSxcsSxIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiLS1waWQgc2XDp2VuZcSfaSBzYWRlY2UgYmlyIGRlZmEgYmVsaXJ0aWxtZWxpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1waWQgdmUgS09NVVQga2FyxZ/EsWzEsWtsxLEgZMSxxZ9sYXlhbmTEsXIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiw4dla2lyZGVrIHByb2ZpbGxlbWUgYmlsZ2lzaW5pIGfDtnN0ZXIuXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPGXFn2xlbWVkb3N5YXPEsT4gICAodmFyc2F5xLFsYW5sYXI6IFwiJXNcIiB2ZVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDxwcm8tZG9zeWE+ICAodmFyc2F5xLFsYW46ICBcIiVzXCIpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNgorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHByb2ZpbGxlbWUgw6dhcnBhbsSxbsSxIDxtdWx0PiBvbGFyYWsgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBzYWRlY2Ugw7ZybmVrbGVtZSBhZMSxbWxhcsSxIGnDp2luIGJpbGdpIGfDtnN0ZXJcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGF5csSxbnTEsWzEsSB2ZXJpeWkgZ8O2c3RlclxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHNhecSxIDAgb2xzYSBkYSBiw7x0w7xuIHNlbWJvbGxlcmkgeWF6ZMSxclxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIGhlciBiaXIgaGlzdG9ncmFtIGt1dHVzdW51biBzYXnEsXPEsW7EsSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBmb25rc2l5b25sYXJkYWtpIGhlciBiaXIgc2F5xLFjxLF5xLEgeWF6ZMSxclxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIGLDvHTDvG4gc2F5xLFjxLFsYXLEsSBzxLFmxLFybGEgKHNhZGVjZSByb290KVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgYmF5dCBzxLFyYWxhbWFzxLEgb3RvbWF0aWsgYWxnxLFsYW5tYXPEsW7EsSBrYXBhdFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiJXMgeWF6xLFsxLFya2VuIGhhdGEiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MAorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgIlRlcnMgYmF5dCBzxLFyYWxhbWFzxLEgZ8O2eiDDtm7DvG5lIGFsxLFuxLF5b3IuIFllcmVsIGJheXQgc8SxcmFsYW1hc8SxbsSxIHpvcmxhbWFrIGnDp2luIC1mIGt1bGxhbsSxbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIsOWcm5la2xlbWVfYWTEsW3EsTogJXVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSk6IGXFn2xlbSBzYXTEsXLEsSB5YW5sxLHFnyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAiXCJfc3RleHRcIiAlcyBpw6dpbmRlIGJ1bHVuYW3EsXlvciIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICJwcm9maWwgYWRyZXNpIGthcHNhbWTEscWfxLEuIEXFn2xlbSBkb3N5YXPEsSB5YW5sxLHFnyBvbGFiaWxpciBtaT8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJ0b3BsYW0iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgInPDvHJlw6cga2ltbGnEn2kiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgInPDvHJlw6cgZ3J1cCBraW1sacSfaSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1uXSA8w7ZuY2VsaWs+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDzDtm5jZWxpaz4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDzDtm5jZWxpaz4gIC11fC0tdXNlciA8a3VsbGFuxLFjxLE+Li4uXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiw4dhbMSxxZ9hbiBzw7xyZcOnbGVyaW4gw7ZuY2VsaWtsZXJpbmkgZGXEn2nFn3Rpci5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcxCittc2dpZCAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKK21zZ3N0ciAiIC1uLCAtLXByaW9yaXR5IDxzYXnEsT4gICBuaWNlIGFydHTEsXLEsW0gZGXEn2VyaW5pIGJlbGlydFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzIKK21zZ2lkICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8a2ltbGlrPiAgICAgICAgIGFyZ8O8bWFuxLEgc8O8cmXDpyBraW1sacSfaSBvbGFyYWsgeW9ydW1sYSAodmFyc2F5xLFsYW4pXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtZywgLS1wZ3JwIDxraW1saWs+ICAgICAgICBhcmfDvG1hbsSxIGdydXAga2ltbGnEn2kgb2xhcmFrIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA8aXNpbT58PGtpbWxpaz4gYXJnw7xtYW7EsSBrdWxsYW7EsWPEsSBpc21pIHZleWEga3VsbGFuxLFjxLEga2ltbGnEn2kgb2xhcmFrIHlvcnVtbGFcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIiVkIGnDp2luIMO2bmNlbGlrIGFsxLFuYW1hZMSxICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICIlZCBpw6dpbiDDtm5jZWxpayBheWFybGFuYW1hZMSxICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpIGVza2kgw7ZuY2VsaWsgJWQsIHllbmkgw7ZuY2VsaWsgJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSAnJXMnIgorbXNnc3RyICJnZcOnZXJzaXoga2ltbGlrOiAlcyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgImJpbGlubWV5ZW4ga3VsbGFuxLFjxLEgJXMiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorIy4gKiB0aHJlZSBJRCBuYW1lcy4gUmVhZDogImJhZCB2YWx1ZSBmb3IgJXM6ICVzIgorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICJoYXRhbMSxICVzIGRlxJ9lcmk6ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAiZGFoaWxpIMOnZWtpcmRlayBheWfEsXQgaXNtaSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMAorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAiYXlnxLF0IGJlbGlydGljaXNpIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYmF5cmFrIHRhbsSxbWxhbWFzxLEiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIHNvZnR3YXJlIGJsb2NrIgorbXNnc3RyICJraWxpdCBib3l1dHUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJEb25hbsSxbSB3YXRjaGRvZyBkdXJ1bXVudSBnw7ZzdGVyLlxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IG5vbi1ibG9ja2luZyAlcyIKK21zZ3N0ciAiJXMga2lsaXRsZW5lbWVkaSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgIiVzIGF5csSxxZ90xLFyxLFsYW1hZMSxICIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjMxMworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgImF5Z8SxdCBiZWxpcnRpY2lzaSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgImtpbGl0bGkiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgImtpbGl0bGkiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo0MTUgc3lzLXV0aWxzL3Jma2lsbC5jOjQ4MCBzeXMtdXRpbHMvcmZraWxsLmM6NTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICJEaXNrIGJlbGlybGV5aWNpc2k6ICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSBbPGF5Z8SxdD4gLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY5Cittc2dpZCAiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBjb21tYW5kIG5hbWVzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCwgZXhwbGFpbmluZworIy4gdGhlbSBhcyBhZGRpdGlvbmFsIGZpZWxkIGFmdGVyIGlkZW50aWZpZXIgaXMgZmluZSwgZm9yIGV4YW1wbGUKKyMuICoKKyMuIGxpc3QgICBbaWRlbnRpZmllcl0gICAobGlzdGEgW3Rhcmtlbm5lXSkKKyMuCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkyCittc2dpZCAiIGhlbHBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorIywgZnV6enkKK21zZ2lkICIgbGlzdCAgIFtpZGVudGlmaWVyXVxuIgorbXNnc3RyICJEaXNrIGJlbGlybGV5aWNpc2kiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTUKKyMsIGZ1enp5Cittc2dpZCAiIGJsb2NrICAgaWRlbnRpZmllclxuIgorbXNnc3RyICJEaXNrIGJlbGlybGV5aWNpc2kiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICJEaXNrIGJlbGlybGV5aWNpc2kiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIkJpciB1eWFubWEgemFtYW7EsSBiZWxpcnRpbGVuZSBrYWRhciBzaXN0ZW0gdXl1bWEgZHVydW11IGdpcmluLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICBheWFybGFtYSBkb3N5YXPEsW5kYW4gc2FhdCBraXBpbmkgb2t1ciAodmFyc2F5xLFsYW4pXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hZGpmaWxlIDxkb3N5YT4gICAgIGF5YXJsYW1hIGRvc3lhc8SxbsSxbiB5b2x1bnUgYmVsaXJ0aXJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyc2F5xLFsYW4gJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIgICAgIC0tZGF0ZSA8emFtYW5kYW1nYXPEsT4gICB1eWFuxLFsYWNhayB6YW1hbiBkYW1nYXPEsSB0YXJpaGlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDxheWfEsXQ+ICAgIHJ0YyBheWfEsXTEsW7EsSBzZcOnIChydGMwfHJ0YzF8Li4uKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGhlcsWfZXlpIHlhcCBhbWEgYmVrbGV0XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCittc2dpZCAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorbXNnc3RyICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB5ZXJlbCB6YW1hbiBkaWxpbWluaSBrdWxsYW7EsXJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAga3VsbGFuxLFsYWJpbGlyIGtpcGxlcmkgbGlzdGVsZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMworbXNnaWQgIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKK21zZ3N0ciAiIC1tLCAtLW1vZGUgPGtpcD4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiB1eWt1IGtpcGlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY29uZHMgPHNhbml5ZT4gIHV5dW5hY2FrIHNhbml5ZVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdXlhbm1hIHphbWFuxLFcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBVVEMga3VsbGFuxLFyXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYXlyxLFudMSxbMSxIGlsZXRpbGVyXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInJ0YyB6YW1hbsSxIG9rdW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTczCittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgInNpc3RlbSB6YW1hbsSxIG9rdW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgInJ0YyB6YW1hbsSxIGTDtm7DvMWfdMO8csO8bGVtZWRpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgInJ0YyB1eWFubWEgYWxhcm3EsSBheWFybGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkaW5nIHN0ZGluIgorbXNnc3RyICJoaXphbGFtYSBvZnNldGluaSDDp8Sxa2FyIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiJXMgacOnaW5kZSBiZWtsZW5tZXllbiDDvMOnw7xuY8O8IHNhdMSxcjogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzM4IHN5cy11dGlscy9ydGN3YWtlLmM6NjQyCittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICJydGMgYWxhcm3EsSBva3VuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgImFsYXJtOiBrYXBhbMSxXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiemFtYW4gZMO2bsO8xZ90w7xyw7xsZW1lZGkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgImFsYXJtOiAlcyAgZGUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkOiAlcyIKK21zZ3N0ciAib2t1bmFtYWTEsTogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiAlczogZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IHTDvHLDvCB0YW7EsW5txLF5b3IiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDkzCittc2dpZCAiaW52YWxpZCBzZWNvbmRzIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogc2FuaXllIGFyZ8O8bWFuxLEiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogemFtYW4gYXJnw7xtYW7EsSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiJXM6IFJUQyduaW4gVVRDIGt1bGxhbmTEscSfxLEgdmFyc2F5xLFsxLF5b3IgLi4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI5Cittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIlVUQyB6YW1hbsSxIGt1bGxhbsSxeW9yLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIlllcmVsIHphbWFuxLEga3VsbGFuLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICJ1eWFubWEgemFtYW7EsSB2ZXJpbG1lbGkgKC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgc2XDp2VuZWtsZXJpbmkgZ8O2cikiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIlcyB1eWFubWEgb2xheWxhcsSxIGnDp2luIGV0a2luIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzYW5peWUgJXVcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICJ6YW1hbiAlcydlIGdlcmkgZ2l0bWV6IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogJXMga3VsbGFuxLFsYXJhayAlcydkZSB1eWFuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogXCIlc1wiZGVuICVzIGt1bGxhbmFyYWsgJXMnZGUgdXlhbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJhc2vEsXlhIGFsbWEga2lwaTogaGF5xLFyOyDDp8Sxa8SxbMSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiYXNrxLF5YSBhbG1hIGtpcGk6IGthcGFsxLE7ICVzIHnDvHLDvHTDvGzDvHlvclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICJhc2vEsXlhIGFsbWEga2lwaTogYcOnxLFrOyBydGMgb2t1bnV5b3JcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MTAKK21zZ2lkICJydGMgcmVhZCBmYWlsZWQiCittc2dzdHIgInJ0YyBva3VuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICJiZWtsZXRtZSBtb2R1OiBrYXBhdDsgYWxhcm0ga2FwYXTEsWzEsXlvclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAiYmVrbGV0ZW1lIG1vZHU6IGfDtnN0ZXI7IGFsYXJtIGJpbGdpc2luaSB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgImJla2xldG1lIG1vZHU6ICVzOyBzaXN0ZW0gZHVyYWtsYXTEsWzEsXlvclxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0NworbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgInJ0YyBhbGFybSBrZXNpbG1lc2kga2FwYXTEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIlcyBlIGdlw6dpbGl5b3IuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyA8YXJjaD4gW3Nlw6dlbmVrbGVyXSBbPHByb2dyYW0+IFs8YXJnw7xtYW5sYXI+Li4uXV1cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NQorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIlJhcG9ybGFuYW4gbWltYXJpeWkgZGXEn2nFn3RpciB2ZSBracWfaXNlbGxpayBiYXlyYWtsYXLEsW7EsSBheWFybGEuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICBBRERSX0xJTUlUXzMyQklUJ2kgYcOnXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgZm9ua3NpeW9uIGnFn2FyZXTDp2lsZXJpbmluIHRhbsSxbWxhecSxY8SxbGFyYSBpxZ9hcmV0IGV0bWVzaW5pIHNhxJ9sYXJcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgS0lTQV9JTk9ERSd1IGHDp2FyXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgc2FuYWwgYmVsbGXEn2luIHRhaHNpcyBlZGlsbWUgxZ9la2xpbmkgZGXEn2nFn3RpcmlyXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAyCittc2dpZCAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2VcbiIKK21zZ3N0ciAiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBzYW5hbCBhZHJlcyB1emF5xLFuxLFuIHJhc3RnZWxlbGXFn3RpcmlsbWVzaW5pIGthcGF0xLFyXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgVEFNX1NBTsSwWUVMRVInaSBhw6dhclxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgWUFQScWeS0FOX1pBTUFOQcWeSU1MQVJJJ27EsSBhw6dhclxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICBSRUFEX0lNUExJRVNfRVhFQydpIGHDp2FyXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIE1NQVBfUEFHRV9aRVJPJ3l1IGHDp2FyXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGt1bGxhbsSxbGFuIGFkcmVzIHV6YXnEsW7EsSBhemFtaSAzIEdCIGlsZSBzxLFuxLFybGFyXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIHlva3NhecSxbGTEsSAoc2FkZWNlIGdlcmkgdXl1bWx1bHVrIGnDp2luKVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIFVOQU1FMjYnecSxIGHDp2FyXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGhhbmdpIHNlw6dlbmVrbGVyaW4gYcOnxLFsZMSxxJ/EsW7EsSBzw7Z5bGVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBheWFybGFuYWJpbGlyIG1pbWFyaWxlcmkgbGlzdGVsZSB2ZSDDp8Sxa1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXM6IFRhbsSxbWxhbmFtYXlhbiBtaW1hcmkiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiw4dla2lyZGVrIG1pbWFyaXlpICVzIG9sYXJhayBheWFybGF5YW1hZMSxIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI4NgorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJZZXRlcmxpIGFyZ8O8bWFuIHlvayIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiS2nFn2lzZWxsaWsgJXMgb2xhcmFrIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzYwCittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAiYmlsaW5tZXllbiBzZcOnZW5layAnLS1saXN0JyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJoacOnIG1pbWFyaSBhcmfDvG1hbsSxIGJlbGlydGlsbWVkaSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAia2nFn2lzZWxsaWsgJXMgb2xhcmFrIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgIkV4ZWN1dGUgY29tbWFuZCBgJXMnLlxuIgorbXNnc3RyICJgJXMnIGtvbXV0dW51IMOnYWzEscWfdMSxci5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxwcm9ncmFtPiBbPGFyZ8O8bWFubGFyPi4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiQmlyIHByb2dyYW3EsSBmYXJrbMSxIHlldGtpbGVuZGlybWUgYXlhcsSxIGlsZSDDp2FsxLHFn3TEsXIuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgbWV2Y3V0IGR1cnVtdSBnw7ZzdGVyICh2ZSBoacOnYmlyIMWfZXkgw6dhbMSxxZ90xLFybWEpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICB5ZW5pIHlldGtpbGVyIHRhbsSxbm1hc8SxbmEgaXppbiB2ZXJtZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNAorIywgZnV6enkKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA8eWV0ZW5la2xlciwuLi4+ICAgIGthbMSxdHNhbCB5ZXRlbmVrbGVyaSBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDx5ZXRlbmVrbGVyLC4uLj4gICAga2FsxLF0c2FsIHlldGVuZWtsZXJpIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNgorIywgZnV6enkKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIgLS1ib3VuZGluZy1zZXQgPHlldGVuZWtsZXI+ICAgIHlldGVuZWsgc8SxbsSxciBrw7xtZXNpbmkgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgZ2Vyw6dlayB1aWQneWkgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICBldGtpbiB1aWQneWkgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgZ2Vyw6dlayBnaWQneWkgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICBldGtpbiBnaWQneWkgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgICAgc2V0IHJlYWwgYW5kIGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICBnZXLDp2VrIHZlIGV0a2luIHVpZCd5aSBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIGdlcsOnZWsgdmUgZXRraW4gZ2lkJ3lpIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMworIywgZnV6enkKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgdGFtYW1sYXnEsWPEsSBncnVwbGFyxLEgdGVtaXpsZVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorIywgZnV6enkKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICB0YW1hbWxhecSxY8SxIGdydXBsYXLEsSBrb3J1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM1CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIHRhbWFtbGF5xLFjxLEgZ3J1cGxhcsSxIGtvcnVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tZ3JvdXBzIDxncnVwLC4uLj4gICAgIHRhbWFtbGF5xLFjxLEgZ3J1cGxhcsSxIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPGJpdGxlcj4gICAgICBnw7x2ZW5saWJpdGxlcmkgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgICAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIC0tc2VsaW51eC1sYWJlbCA8ZXRpa2V0PiAgU0VMaW51eCBldGlrZXRpbmkgYXlhcmxhXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHJvZmlsPiAgQXBwQXJtb3IgcHJvZmlsaW5pIGF5YXJsYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIgQnUgYXJhw6cgdGVobGlrZWxpIG9sYWJpbGlyLiAgS8SxbGF2dXogZG9zeWFzxLFuxLEgb2t1eXVuIHZlIGRpa2thdGxpIG9sdW4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICJoYXRhbMSxIHlldGVuZWsga2FyYWt0ZXIgZGl6aXNpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgInPDvHJlw6cgZ8O8dmVubGkgYml0bGVyaSBhbMSxbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICJHw7x2ZW5saWJpdGxlcjogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiW2hpw6diaXJpXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVzOiDDp29rIHV6dW4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIkRlc3Rla2xleWljaSBncnVwbGFyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltoacOnYmlyaV0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAidWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICJldWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlkOiAldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorbXNnaWQgImdldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc3VpZCBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU0IHN5cy11dGlscy9zZXRwcml2LmM6NDYwCittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzZ2lkIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJFdGtpbiB5ZXRlbmVrbGVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBlcm1pdHRlZCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAixLB6aW4gdmVyaWxlbiB5ZXRlbmVrbGVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICJLYWzEsXRzYWwgeWV0ZW5la2xlcjogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQW1iaWVudCBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAixLB6aW4gdmVyaWxlbiB5ZXRlbmVrbGVyOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbdW5zdXBwb3J0ZWRdIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiBrb211dCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiWWV0ZW5layBzxLFuxLFybGFtYSBrw7xtZXNpOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiU0VMaW51eCBldGlrZXRpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIkFwcEFybW9yIHByb2ZpbGkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiY2FwICVkOiBsaWJjYXAtbmcga8SxcsSxayIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIkdlw6dlcnNpeiB5YXJkxLFtY8SxIGdydXAga2ltbGnEn2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzdWlkIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NjgKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXNnaWQgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgImRlc3Rla2xlbm1leWVuIHphbWFuIHRpcGkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICJoYXRhbMSxIHlldGVuZWsga2FyYWt0ZXIgZGl6aXNpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUyNQorbXNnaWQgImxpYmNhcC1uZyBpcyB0b28gb2xkIGZvciBcImFsbFwiIGNhcHMiCittc2dzdHIgImxpYmNhcC1uZyBcInTDvG1cIiB5ZXRlbmVrbGVyIGnDp2luIMOnb2sgZXNraSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAiYmlsaW5tZXllbiB5ZXRlbmVrIFwiJXNcIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgImJlbGlybGVuZW1leWVuIGfDvHZlbmxpYml0IGvDvG1lc2kgLS0gYXlhcmxhbm1hIHJlZGRpbGl5b3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTY1Cittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICJoYXRhbMSxIGfDvHZlbmxpYml0IGthcmFrdGVyIGRpemlzaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIit0w7xtIGfDvHZlbmxpYml0bGVyZSBpemluIHZlcmlsbWl5b3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg1Cittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICJrZWVwX2NhcHMnaSBheWFybGFtYWsgYmlyIGFubGFtIGlmYWRlIGV0bWl5b3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAiYW5sYcWfxLFsbWF5YW4gZ8O8dmVubGliaXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjA5Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiU0VMaW51eCDDp2FsxLHFn23EsXlvciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAia2FwYXTEsWxhbWFkxLE6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzMgorbXNnaWQgIkFwcEFybW9yIGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJBcHBBcm1vciDDp2FsxLHFn23EsXlvciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICLDp2lmdGUgLS1uby1uZXctcHJpdnMgc2XDp2VuZcSfaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAiw6dpZnR0ZSBydWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBydWlkIgorbXNnc3RyICJydWlkIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICLDp2lmdGUgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiZXVpZCBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICLDp2lmdGUgcnVpZCB2ZXlhIGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJyZXVpZCBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAiw6dpZnRlIHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgInJnaWQgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODEzCittc2dpZCAiZHVwbGljYXRlIGVnaWQiCittc2dzdHIgIsOnaWZ0IGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImVnaWQgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAiw6dpZnRlIHJnaWQgdmV5YSBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAicmVnaWQgYXlyxLHFn3TEsXLEsWxhbcSxeW9yIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIsOnaWZ0ZSAtLWNsZWFyLWdyb3VwcyBzZcOnZW5lxJ9pIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiw6dpZnRlIC0ta2VlcC1ncm91cHMgc2XDp2VuZcSfaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzgKKyMsIGZ1enp5Cittc2dpZCAiZHVwbGljYXRlIC0taW5pdC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICLDp2lmdGUgLS1ncm91cHMgc2XDp2VuZcSfaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICLDp2lmdGUgLS1ncm91cHMgc2XDp2VuZcSfaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTMKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgIsOnaWZ0ZSAtLWluaC1jYXBzIHNlw6dlbmXEn2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODU5CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgIsOnaWZ0ZSAtLWluaC1jYXBzIHNlw6dlbmXEn2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODY1Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiw6dpZnRlIC0tYm91bmRpbmctc2V0IHNlw6dlbmXEn2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIsOnaWZ0ZSAtLXNlY3VyZWJpdHMgc2XDp2VuZcSfaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzcKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiw6dpZnRlIC0tc2VsaW51eC1sYWJlbCBzZcOnZW5lxJ9pIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg4MworbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICLDp2lmdGUgLS1hcHBhcm1vci1wcm9maWwgc2XDp2VuZcSfaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIi0tZHVtcCBiw7x0w7xuIGRpxJ9lciBzZcOnZW5la2xlcmxlIHV5dW1zdXoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIHRlayBiYcWfxLFuYSBiZWxpcnRpbG1lbGkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTEzCittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIkhpw6diaXIgcHJvZ3JhbSBiZWxpcnRpbG1lZGkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTE5CisjLCBmdXp6eQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcyB2ZXlhIC0tZ3JvdXBzIGdlcmVrdGlyaXIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgInllbmkgeWV0a2kgdGFuxLFtbGFtYW7EsW4ga2FwYXTEsWxtYXPEsSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQwCittc2dpZCAia2VlcCBwcm9jZXNzIGNhcGFiaWxpdGllcyBmYWlsZWQiCittc2dzdHIgInPDvHJlw6cgeWV0ZW5la2xlcmluaSBrb3J1bWFzxLEgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAieWV0ZW5la2xlcmkgZXRraW5sZcWfdGlyIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJ5ZXRlbmVrbGVyaSB5ZW5pZGVuIGV0a2lubGXFn3RpciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKKyMsIGZ1enp5Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgInPDvHJlw6cgZ8O8dmVubGliaXRsZXJpIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICJzxLFuxLFybGFtYSBrw7xtZXNpbmkgdXlndWxhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAieWV0ZW5la2xlcmkgdXlndWxhIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxwcm9ncmFtPiBbYXJnw7xtYW5sYXIgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIkJpciBwcm9ncmFtxLEgeWVuaSBiaXIgb3R1cnVtZGEgw6dhbMSxxZ90xLFyLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIGtvbnRyb2wgdcOnIGJpcmltaW5pIG1ldmN1dCBvbGFuIG9sYXJhayBheWFybGFcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICBrb250cm9sZSB6b3JsYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0ICAgICBwcm9ncmFtxLFuIMOnxLFrbWFzxLFuxLEgYmVrbGUgdmUgYXluxLEgZ2VyaSBkw7Zuw7zFn8O8IGt1bGxhblxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAiw6dhdGFsbGEiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJjaGlsZCAlZCBub3JtYWwgYmlyIMWfZWtpbGRlIGthcGFubWFkxLEiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKK21zZ2lkICJzZXRzaWQgZmFpbGVkIgorbXNnc3RyICJzZXRzaWQgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTIwCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgImtvbnRyb2wgdcOnIGJpcmltaSBheWFybGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvZmYgJXNcbiIKK21zZ3N0ciAidGFrYXNrYXBhdCAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNAorbXNnaWQgIk5vdCBzdXBlcnVzZXIuIgorbXNnc3RyICJTw7xwZXIga3VsbGFuxLFjxLEgZGXEn2lsLiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlczogdGFrYXMga2FwYXRtYSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSBbPHNwZWM+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkF5Z8SxdGxhciB2ZSBkb3N5YWxhcmRhIHNheWZhbGFtYSB2ZSB0YWthc2xhbWF5xLEga2FwYXQuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIC9wcm9jL3N3YXBzJ3RhbiB0w7xtIHRha2FzbGFyxLEga2FwYXRcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBheXLEsW50xLEga2lwaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjxzcGVjPiBwYXJhbWV0cmVsZXJpOlxuIgorIiAtTCA8ZXRpa2V0PiAgICAgICAgICAgICBrdWxsYW7EsWxhY2FrIGF5Z8SxdCBFVMSwS0VUaVxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIGt1bGxhbsSxbGFjYWsgYXlnxLF0IFVVSUQnc2lcbiIKKyIgTEFCRUw9PGV0aWtldD4gICAgICAgICAga3VsbGFuxLFsYWNhIGF5Z8SxdCBFVMSwS0VUaVxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIGt1bGxhbsSxbGFjYWsgYXlnxLF0IFVVSUQnc2lcbiIKKyIgPGF5Z8SxdD4gICAgICAgICAgICAgICBrdWxsYW7EsWxhY2FrIGF5Z8SxdCBpc21pXG4iCisiIDxkb3N5YT4gICAgICAgICAgICAgICAgIGt1bGxhbsSxbGFjYWsgZG9zeWEgaXNtaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiYXlnxLF0IGRvc3lhc8SxIHZleWEgYsO2bMO8bSB5b2x1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImF5Z8SxdCB0aXBpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKK21zZ2lkICJzaXplIG9mIHRoZSBzd2FwIGFyZWEiCittc2dzdHIgInRha2FzIGFsYW7EsSBib3l1dHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAia3VsbGFuxLFsYW4gYmF5dGxhciIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInRha2FzIMO2bmNlbGnEn2kiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgInRha2FzIHV1aWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJ0YWthcyBldGlrZXRpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHRUaXBcdFx0Qm95dXRcdEt1bGxhbsSxbGFuXHTDlm5jZWxpa1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIkRvc3lhIEFkxLEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXM6IHRha2FzIHllbmlkZW4gYmHFn2xhdMSxbMSxeW9yLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWsgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIlczogaW16YSB5YXrEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IGF0bGFuxLF5b3IgLSBiYXrEsSBkZWxpa2xlciBpw6dlcml5b3IgZ2liaSBnw7Zyw7xuw7x5b3IuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBib3l1dCBhbMSxbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiB0YWthcyBiYcWfbMSxxJ/EsSBva3VuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogaW16YSBidWx1bmR1IFtzYXlmYWJveXV0dT0lZCwgaW16YT0lc10iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiBzYXlmYWJveXV0dT0lZCwgdGFrYXNib3l1dHU9JWxsdSwgYXlnxLF0Ym95dXR1PSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggbWV2Y3V0IHRha2FzIGFsYW7EsSBib3l1dHVuZGFuIGRhaGEgYsO8ecO8ayIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlczogdGFrYXMgYmnDp2ltaSBzYXlmYSBib3l1dHUgZcWfbGXFn21peW9yLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlczogdGFrYXMgYmnDp2ltaSBzYXlmYSBib3l1dHUgZcWfbGXFn21peW9yLiAoWWVuaWRlbiBiYcWfbGF0bWFrIGnDp2luIC0tZml4cGdzeiBrdWxsYW4uKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IHlhesSxbMSxbSBiZWtsZXRtZSB2ZXJpc2kgYWxnxLFsYW5kxLEuIFRha2FzIGltemFzxLEgeWVuaWRlbiB5YXrEsWzEsXlvci4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgIiVzJ2RhIHRha2FzIGHDp8SxbMSxeW9yXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVzOiB0YWthc2HDpyBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IG5vYXV0byBzZcOnZW5lxJ9pIC0tIHlva3NhecSxbGTEsSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IHphdGVuIGFrdGlmIC0tIHlva3NhecSxbGTEsSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBlcmnFn2lsZW1leiAtLSB5b2tzYXnEsWxkxLEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIkF5Z8SxdGxhcsSxIHZlIGRvc3lhbGFyxLEgc2F5ZmFsYW1hIHZlIHRha2FzbGFtYSBpw6dpbiBldGtpbmxlxZ90aXIuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgL2V0Yy9mc3RhYidkZW4gYsO8dMO8biB0YWthc2xhcsSxIGV0a2lubGXFn3RpclxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbGl0aWthPl0gdGFrYXMgw6fEsWthcm1hbGFyxLEgZXRraW5sZcWfdGlyLCBlxJ9lciBheWfEsXQgZGVzdGVrbGl5b3JzYVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzZXNzaXpjZSB2YXJvbG1heWFuIGF5Z8SxdGxhcsSxIGF0bGFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIGdlcmVraXlvcnNhIHRha2FzIGFsYW7EsW7EsSB5ZW5pZGVuIGJhxZ9sYXRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxsaXN0ZT4gICAgIHRha2FzIHNlw6dlbmVrbGVyaW5pbiB2aXJnw7xsbGUgYXlyxLFsbcSxxZ8gbGlzdGVzaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDzDtm5jZWxpaz4gICAgdGFrYXMgYXlnxLF0xLEgacOnaW4gw7ZuY2VsaWsgYmVsaXJ0XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBrdWxsYW7EsWxhbiBheWfEsXRsYXIgacOnaW4gw7Z6ZXQgZ8O2c3RlciAoS1VMQU5JTE1BWUFOKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiAgICAgLS1zaG93Wz08c8O8dHVubGFyPl0gICB0YW7EsWxhbmFiaWxpciB0YWJsbyBpw6dpbiDDtnpldCBnw7ZzdGVyXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIHRhYmxvIGJhxZ9sxLFrbGFyxLFuxLEgeWF6ZMSxcm1hICgtLXNob3cgaWxlKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA5Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0ICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICBoYW0gw6fEsWt0xLEgYmnDp2ltaW5pIGt1bGxhbiAoLS1zaG93IGlsZSlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIC0tc2hvdyDDp8Sxa3TEsXPEsW5kYSB0YWthcyBib3l1dHVudSBiYXl0IG9sYXJhayBnw7ZzdGVyXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGF5csSxbnTEsWzEsSBraXBcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjxzcGVjPiBwYXJhbWV0cmVsZXJpOlxuIgorIiAtTCA8ZXRpa2V0PiAgICAgICAgICAgICBMQUJFTD08ZXRpa2V0PiBpbGUgYXluxLEgYW5sYW1kYVxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQ9PHV1aWQ+IGlsZSBheW7EsSBhbmxhbWRhXG4iCisiIExBQkVMPTxldGlrZXQ+ICAgICAgICAgIGF5Z8SxdMSxIHRha2FzIGFsYW7EsSBldGlrZXRpIGlsZSBiZWxpcnRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBheWfEsXTEsSB0YWthcyBhbGFuxLEgVVVJRCdzaSBpbGUgYmVsaXJ0XG4iCisiIFBBUlRMQUJFTD08ZXRpa2V0PiAgICAgIGF5Z8SxdMSxIGRpc2sgYsO2bMO8bcO8IGV0aWtldGkgaWxlIGJlbGlydFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIGF5Z8SxdMSxIGRpc2sgYsO2bMO8bcO8IFVVSUQnc2kgaWxlIGJlbGlydFxuIgorIiA8YXlnxLF0PiAgICAgICAgICAgICAgIGt1bGxhbsSxbGFjYWsgYXlnxLF0xLFuIGlzbWlcbiIKKyIgPGRvc3lhPiAgICAgICAgICAgICAgICAga3VsbGFuxLFsYWNhayBkb3N5YW7EsW4gaXNtaVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisiS3VsbGFuxLFsYWJpbGlyIMOnxLFrYXJtYSBwb2xpdGlrYXPEsSB0aXBsZXJpICgtLWRpc2NhcmQgacOnaW4pOlxuIgorIiBvbmNlICAgIDogc2FkZWNlIHRlay1kZWZhIGFsYW4gw6fEsWthcm1hcsSxIHZlcmlsZGlcbiIKKyIgcGFnZXMgICA6IGJvxZ8gc2F5ZmFsYXIgeWVuaWRlbiBrdWxsYW7EsWxtYWRhbiDDtm5jZSDDp8Sxa2FyxLFsZMSxXG4iCisiRcSfZXIgYmlyIHBvbGl0aWthIGJlbGlydGlsbWV6IGlzZSBpa2kgdGlwIGRlIGV0a2lubGXFn3RpcmlsaXIgKHZhcnNhecSxbGFuKS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAiw7ZuY2VsaWsgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICJkZXN0ZWtsZW5tZXllbiDDp8Sxa2FybWEgcG9saXRpa2FzxLE6ICVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlcyBpw6dpbiBheWfEsXQgYnVsdW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjYwCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IgorbXNnc3RyICJkaXppbiBhw6fEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjY4Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInN0YXQgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAiZGl6aW4gb2t1bmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1bmxpbmsgJXMiCittc2dzdHIgIiVzIGJhxJ/EsSBrb3BhcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgIiVzLCAlcyBlIHRhxZ/EsW5tYXPEsSBiYcSfbGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICIlcyBheXLEsWxtYXlhIHpvcmxhbsSxeW9yIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIiVzIGRpemluaW5lIGdpcmlsZW1lZGkiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgIiVzLCAvIGUgdGHFn8Sxbm1hc8SxIGJhxJ9sYW5hbWFkxLEgIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgImvDtmtlIGdlw6dpbGVtZWRpIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgImVza2kga8O2ayBkb3N5YSBzaXN0ZW1pIGJpciBpbml0cmFtZnMgZGXEn2lsIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDx5ZW5pa8O2a2RpemluaT4gPGluaXQ+IDxpbml0IGFyZ8O8bWFubGFyxLE+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIkJhxJ9sYW1hIGHEn2FjxLFuxLFuIGvDtmvDvCBvbGFyYWsgYmHFn2thIGJpciBkb3N5YSBzaXN0ZW1pbmUgZ2XDpy5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgImJhxZ9hcsSxc8Sxei4gw5x6Z8O8bsO8ei4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICIlcydlIGVyacWfaWxlbWl5b3IiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIsOHaXpnaSB5YXrEsWPEsSBpw6dpbiBiaXLDp29rIHBhcmFtZXRyZSBheWFybGEuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPHNhecSxPiAgICAgICAgICAgICAgcGFyYWxlbCBwb3J0IGlycSBiZWxpcnRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIG1pbGlzYW5peWUgb2xhcmFrIHPDvHLDvGPDvCBiZWtsZW1lIHphbWFuxLFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDxzYXnEsT4gICAgICAgICAgICB1eXVtYWRhbiDDtm5jZWtpIMOnxLFrdMSxIGthcmFrdGVzaSBzYXnEsXPEsVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8bWlrcmFzYW5peWU+ICAgICAgICAgICAgICBtaWtybyBzYW5peWUgY2luc2luZGVuIHN0cm9iZSBiZWtsZW1lIHphbWFuxLFcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxhw6fEsWt8a2FwYWzEsT4gICAgICAgICBoYXRhIGR1cnVtdW5kYSBkdXJkdXJcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIgLW8sIC0tY2hlY2stc3RhdHVzIDxhw6fEsWt8a2FwYWzEsT4gIHlhcmTEsXJtYWRhbiDDtm5jZSB5YXrEsWPEsSBkdXJ1bXVudSBrb250cm9sIGV0XG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPGHDp8Sxa3xrYXBhbMSxPiAgICAgICBkdXJ1bSBrb250cm9sw7xuw7wgZmF6bGFkYW4ga29udHJvbCBldFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgeWF6xLFjxLEgZHVydW11bnUgc29yZ3VsYVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcG9ydHUgc8SxZsSxcmxhXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTMKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIC1xLCAtLXByaW50LWlycSA8YcOnxLFrfGthcGFsxLE+ICAgICBtZXZjdXQgaXJxIGF5YXLEsW7EsSBnw7ZzdGVyXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGFuIGxwIGRldmljZSIKK21zZ3N0ciAiJXMgYmlyIGxwIGF5Z8SxdMSxIGRlxJ9pbCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJMUEdFVFNUQVRVUyBoYXRhc8SxIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN0YXR1cyBpcyAlZCIKK21zZ3N0ciAiJXMgZHVydW11ICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCBtZcWfZ3VsIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgcmVhZHkiCittc2dzdHIgIiwgaGF6xLFyIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGthxJ/EsXQgeW9rIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb24tbGluZSIKK21zZ3N0ciAiLCDDp2FsxLHFn8SxeW9yIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgZXJyb3IiCittc2dzdHIgIiwgaGF0YSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwgaGF0YXPEsSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJMUEdFVElSUSBoYXRhc8SxIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyBJUlEgJWQga3VsbGFuxLF5b3JcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIHNvcmd1bGFtYSBrdWxsYW7EsXlvclxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW3Nlw6dlbmVrbGVyXVxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gPGtheW5haz4gfCA8ZGl6aW4+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIkRvc3lhIHNpc3RlbWxlcmluaSBhecSxci5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBiw7x0w7xuIGRvc3lhIHNpc3RlbWlsZXJpbmkgYXnEsXJcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIG1ldmN1dCBpc2ltIHV6YXnEsW5kYWtpIHZlcmlsZW4gYXlnxLF0IGnDp2luIGLDvHTDvG4gYmHEn2xhbWFcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBub2t0YWxhcsSxbsSxIGF5xLFyXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIHlvbGxhcsSxIHN0YW5kYXJ0bGHFn3TEsXJtYVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTIKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGXEn2VyIGTDtm5nw7wgYXlnxLF0xLEgYmHEn2zEsSBpc2Ugb251IGRhIHNlcmJlc3QgYsSxcmFrXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAga3VydSDDp2FsxLHFnzsgdW1vdW50KDIpIHNpc3RlbSDDp2HEn3LEsXPEsW7EsSBhdGxhXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBhecSxcm1hecSxIHpvcmxhIChlcmnFn2lsZW1lIE5GUyBzaXN0ZW1pIGR1cnVtdW5kYSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk1Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgdW1vdW50Ljx0aXA+IHlhcmTEsW1jxLFsYXLEsW7EsSBrb211dGxhcsSxbsSxIMOnYcSfxLFybWFcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZG9zeWEgc2lzdGVtaW5pIMWfaW1kaSBhecSxciwgdGVtaXpsZW1lIGnFn2xlbWxlcmluaSBzb25yYSB5YXBcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk4Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0ZT4gIGRvc3lhIHNpc3RlbWkga8O8bWVzaW5pIHPEsW7EsXJsYSAoLWEgaWxlIGt1bGxhbilcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICBiaXIga2F5bmHEn8SxIGLDvHTDvG4gYWx0IGRpemlubGVyaSBpbGUgYmlybGlrdGUgYXnEsXJcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgYXnEsXJtYSBiYcWfYXLEsXPEsXogb2x1cnNhIHNhbHQgb2t1bnVyIG9sYXJhayB5ZW5pZGVuIGJhxJ9sYVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPGxpc3RlPiAgICAgIGRvc3lhIHNpc3RlbWkgdGlwbGVyaW5pIHPEsW7EsXJsYVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpIGF5csSxbGTEsSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIGF5csSxbGTEsSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAidW1vdW50IGhlZGVmaSBheWFybGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImxpYm1vdW50IHRhYmxvc3UgdGFoc2lzIGVkaWxlbWVkaSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImxpYm1vdW50IHlpbmVsZXlpY2kgdGFoc2lzIGVkaWxlbWVkaSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICIlcyduaW4gYWx0IGRvc3lhIHNpc3RlbWkgYWzEsW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMTAgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczogYnVsdW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlczoga2F5bmHEn2Ega2FyYXIgdmVyaWxlbWVkaSAoLS1hbGwtdGFyZ2V0cyBzaXN0ZW1kZSBkw7x6ZW5saSBtdGFiIGRvc3lhc2kgaWxlIGRlc3Rla2xlbm1peW9yKS4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiZ2XDp2Vyc2l6IC0tc2V0Z3JvdXBzIGFyZ8O8bWFuxLEgJyVzJyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICIlcydlIHlhem1hIGJhxZ9hcsSxc8SxeiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgImRlc3Rla2xlbm1leWVuIHlhecSxbG1hIGtpcGk6ICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICJrw7ZrIGRvc3lhIHNpc3RlbWkgeWF5xLFsbWFzxLEgZGXEn2nFn3RpcmlsZW1lZGkiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMsICVzIMO8emVyaW5kZSBiYcSfbGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAiJXMgacOnaW4gZHVydW0gYmlsZ2lzaSBhbMSxbmFtxLF5b3IiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1Cittc2dpZCAicGlwZSBmYWlsZWQiCittc2dzdHIgInnDtm5sZW5kaXJtZSBiYcWfYXLEsXPEsXoiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAiecO2bmxlbmRpcm1lIG9rdW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjUyCittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIHNvbWUgbmFtZXNwYWNlcyB1bnNoYXJlZCBmcm9tIHRoZSBwYXJlbnQuXG4iCittc2dzdHIgIsOcc3QgcHJvZ3JhbcSxIGlsZSBwYXlsYcWfxLFsbWF5YW4gYmF6xLEgaXNpbSB1emF5bGFyxLEgaWxlIGJpciBwcm9ncmFtIMOnYWzEscWfdMSxci5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTUKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08ZG9zeWE+XSAgICAgIGJhxJ9sYW5hbWFsYXLEsW4gaXNpbSB1emF5xLEgcGF5bGHFn8SxbcSxbsSxIGlwdGFsIGV0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTxkb3N5YT5dICAgICAgICBVVFMgaXNpbSB1emF5xLEgcGF5bGHFn8SxbcSxbsSxIGlwdGFsIGV0IChtYWtpbmEgYWTEsSB2YilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PGRvc3lhPl0gICAgICAgIFN5c3RlbSBWIElQQyBpc2ltIHV6YXnEsSBwYXlsYcWfxLFtxLFuxLEgaXB0YWwgZXRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTgKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxkb3N5YT5dICAgICAgICBhxJ8gaXNpbSB1emF5xLEgcGF5bGHFn8SxbcSxbsSxIGlwdGFsIGV0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxkb3N5YT5dICAgICAgICBwaWQgaXNpbSB1emF5xLEgcGF5bGHFn8SxbcSxbsSxIGlwdGFsIGV0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PGRvc3lhPl0gICAgICAga3VsbGFuxLFjxLEgaXNpbSB1emF5xLEgcGF5bGHFn8SxbcSxbsSxIGlwdGFsIGV0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTxkb3N5YT5dICAgICBjZ3J1cCBpc2ltIHV6YXnEsSBwYXlsYcWfxLFtxLFuxLEgaXB0YWwgZXRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIDxwcm9ncmFtPifEsSBiYcWfbGF0bWFkYW4gw7ZuY2Ugw6dhdGFsbGFcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NAorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICDDtm5jZSBwcm9jIGRvc3lhIHNpc3RlbWluaSBiYcSfbGEgKC0tbW91bnQgYW5sYW3EsW5hIGdlbGlyKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIGt1bGxhbsSxY8SxecSxIHJvb3Qga3VsbGFuxLFjxLFzxLFuYSBlxZ9sZSAoLS11c2VyIGFubGFtxLFuYSBnZWxpcilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxwYXlsYcWfxLFsYW58w7Z6ZWx8ZGXEn2nFn21leWVuXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgYmHEn2xhbWEgaXNpbSB1emF5xLFuZGEgYmHEn2xhbWEgeWF5xLFsbWFzxLFuxLEgZGXEn2nFn3RpclxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2OAorbXNnaWQgIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtcywgLS1zZXRncm91cHMgaXppbiB2ZXJ8cmVkZGV0ICBrdWxsYW7EsWPEsSBpc2ltIHV6YXnEsW5kYSBzZXRncm91cHMgc2lzdGVtIMOnYXByxLFzxLFuxLEga29udHJvbCBldFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJwYXlsYcWfxLFtIGlwdGFsIGVkaWxlbWVkaSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAiYWx0IHPDvHJlw6cga2FwYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDU0Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tc2V0Z3JvdXBzPWFsbG93IHZlIC0tbWFwLXJvb3QtdXNlciBrYXLFn8SxbMSxa2zEsSBvbGFyYWsgZMSxxZ9sYXlhbmTEsXIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAibW91bnQgJXMgYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICLEsMWfbGVtY2l5aSBkYWhhIMO2bmNlIHPEsWbEsXJsYXlhbiBrYXJ0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIkhhcmljaSBha3Rhcm1hIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAiSGFyaWNpIGFrdGFybWEgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICJGYW4gYmHFn2FyxLFzxLF6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworbXNnaWQgIktlZXAgYWxpdmUgcGluZyByZXBseSIKK21zZ3N0ciAiSGF5YXR0YSB0dXQgcGluZyBjZXZhYsSxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIsOWemVsIGthcGF0bWEga2FyYWt0ZXJpbmkgZGVzdGVrbGVyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIsSwxZ9sZW1jaSBhxZ/EsXLEsSDEsXPEsW5tYXPEsSBzZWJlYml5bGUgc8SxZsSxcmxhbWEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICJHw7zDpyBhxZ/EsXLEsSB2b2x0YWoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICJHw7zDpyBoYXRhc8SxL2fDvMOnIGFyxLF6YXPEsSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiw5ZuemFtYW5hxZ/EsW3EsSAoc2FuaXllIG9sYXJhaykiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJaYW1hbiBhxZ/EsW3EsW7EsSAoc2FuaXllIG9sYXJhaykiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjg0Cittc2dpZCAiTm90IHRyaWdnZXIgcmVib290IgorbXNnc3RyICJZZW5pZGVuIGJhxZ9sYXRtYXnEsSB0ZXRpa2xlbWUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMAorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAiYmF5cmFrIGlzbWkiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgImJheXJhayB0YW7EsW1sYW1hc8SxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiYmF5cmFrIGR1cnVtdSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAiYmF5cmFrIMO2biB5w7xrbGVtZSBkdXJ1bXUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICJ3YXRjaGRvZyBheWfEsXQgaXNtaSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgImJpbGlubWV5ZW4gYmF5cmFrOiAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTc4Cittc2dpZCAiU2hvdyB0aGUgc3RhdHVzIG9mIHRoZSBoYXJkd2FyZSB3YXRjaGRvZy5cbiIKK21zZ3N0ciAiRG9uYW7EsW0gd2F0Y2hkb2cgZHVydW11bnUgZ8O2c3Rlci5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0ZT4gICAgIHNhZGVjZSBzZcOnaWxpIGJheXJha2xhcsSxIHlhemTEsXJcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBiYXlyYWtsYXIgaGFra8SxbmRhIGJpbGdpIHlhemTEsXJtYVxuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIHdhdGNoZG9nIGtpbWxpayBiaWxnaXNpbmkgeWF6ZMSxcm1hXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgYmF5cmFrIHRhYmxvc3UgacOnaW4gYmHFn2zEsWtsYXLEsSB5YXpkxLFybWFcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBiw7x0w7xuIGJpbGdpeWkgdGVrIHNhdMSxcmRhIHlhemTEsXJcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gICAgYmF5cmFrbGFyxLFuIMOnxLFrdMSxIHPDvHR1bmxhcsSxXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgYmF5cmFrIHRhYmxvc3UgacOnaW4gaGFtIMOnxLFrdMSxIGZvcm1hdMSxbsSxIGt1bGxhblxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIHdhdGNoZG9nIHphbWFuIGHFn8SxbWxhcsSxbsSxIGfDtnN0ZXJtZVxuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzYW5peWU+IHdhdGNoZG9nIHphbWFuIGHFn8SxbcSxbsSxIGF5YXJsYVxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHNhZGVjZSBiYXlyYWsgdGFibG9zdW51IHlhemTEsXIgKC1JIC1UIGlsZSBheW7EsSlcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiVmFyc2F5xLFsYW4gYXlnxLF0ICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczogYmlsaW5tZXllbiBiYXlyYWtsYXIgMHgleFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIlczogd2F0Y2hkb2cgemF0ZW4ga3VsbGFuxLFsxLF5b3IsIHNvbmxhbmTEsXLEsWzEsXlvci4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzOiB3YXRjaGRvZyB5YXTEscWfdMSxcsSxbGFtYWTEsSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIiVzIGnDp2luIHphbWFuIGHFn8SxbcSxIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIlphbWFuIGHFn8SxbcSxICVkIHNhbml5ZSBvbGFyYWsgYXlhcmxhbmTEsS5cbiIKK21zZ3N0clsxXSAiWmFtYW4gYcWfxLFtxLEgJWQgc2FuaXllIG9sYXJhayBheWFybGFuZMSxLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiB3YXRjaGRvZyBoYWtrxLFuZGEgYmlsZ2kgYWzEsW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIHNhbml5ZVxuIgorbXNnc3RyWzFdICIlLTE0cyAlMmkgc2FuaXllXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NgorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICJaYW1hbiBBxZ/EsW3EsToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2OQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiw5ZuLXphbWFuIGHFn8SxbcSxOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICJLYWxhbiB6YW1hbjoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNAorbXNnaWQgIkRldmljZToiCittc2dzdHIgIkF5Z8SxdDoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAiS2ltbGlrOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAic8O8csO8bSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInpyYW0gYXlnxLF0IGlzbWkiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzYKK21zZ2lkICJsaW1pdCBvbiB0aGUgdW5jb21wcmVzc2VkIGFtb3VudCBvZiBkYXRhIgorbXNnc3RyICJhw6fEsWxhbiB2ZXJpIG1pa3RhcsSxIMO8emVyaW5kZWtpIHPEsW7EsXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAia2F5xLF0bMSxIHZlcmluaW4gYcOnxLFsYW4gYm95dXR1IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJrYXnEsXRsxLEgdmVyaW5pbiBzxLFrxLHFn3TEsXLEsWxtxLHFnyBib3l1dHUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJzZcOnaWxlbiBzxLFrxLHFn3TEsXJtYSBhbGdvcml0bWFzxLEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJlxZ96YW1hbmzEsSBzxLFrxLHFn3TEsXJtYSBpxZ9sZW1pIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJ0YWhzaXMgZWRpbGVuIGJlbGxlxJ9pIG9sbWF5YW4gYm/FnyBzYXlmYWxhciIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAidGFoc2lzIGVkaWNpIGLDtmzDvG1sZW5tZXNpIHZlIMO8c3R2ZXJpIG1hc3JhZmxhcsSxIGRhaGlsIGLDvHTDvG4gYmVsbGVrIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJzxLFrxLHFn3TEsXLEsWxtxLHFnyB2ZXJpeWkgZGVwb2xhbWFrIGnDp2luIGJlbGxlayBsaW1pdGkiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICJzxLFrxLHFn3TEsXLEsWxtxLHFnyB2ZXJpeWkgZGVwb2xhbWFrIGnDp2luIGJlbGxlayB6cmFtIGt1bGxhbsSxbGTEsSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NQorbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgInPEsWvEscWfdMSxcm1hIHRhcmFmxLFuZGFuIGt1bGxhbsSxbGFuIG5lc25lIHNhecSxc8SxIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICJtbV9zdGF0IGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gPGF5Z8SxdD5cbiIKKyIgJTEkcyAtciA8YXlnxLF0PiBbLi4uXVxuIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gLWYgfCA8YXlnxLF0PiAtcyA8Ym95dXQ+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAienJhbSBheWfEsXRsYXLEsW7EsSBrdXIgdmUga29udHJvbCBldC5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICBrdWxsYW7EsWxhY2FrIHPEsWvEscWfdMSxcm1hIGFsZ29ydGltYXPEsVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MgorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBib3l1dGxhcsSxIG9rdW5hYmlsaXIgYmnDp2ltIHllcmluZSBiYXl0IG9sYXJhayB5YXpkxLFyXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGJvxZ8gYmlyIGF5Z8SxdCBidWxcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBiYcWfbMSxa2xhcsSxIHlhemTEsXJcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDUKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxsaXN0ZT4gICAgICAgZHVydW0gw6fEsWt0xLFzxLEgacOnaW4ga3VsbGFuxLFsYWNhayBzw7x0dW5sYXJcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDYKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIGhhbSBkdXJ1bSDDp8Sxa3TEsSBiacOnaW1pIGt1bGxhblxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICBiZWxpcnRpbGVuIGLDvHTDvG4gYXlnxLF0bGFyxLEgc8SxZsSxcmxhXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ4Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1zLCAtLXNpemUgPGJveXV0PiAgICAgICAgIGF5Z8SxdCBib3l1dHVcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIgLXQsIC0tc3RyZWFtcyA8c2F5xLE+ICAgIHPEsWvEscWfdMSxcm1hIGFrxLHFn2xhcsSxbsSxbiBzYXnEsXPEsVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdHJlYW1zIgorbXNnc3RyICJha8SxxZ9sYXIgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAiLS1maW5kIHNlw6dlbmXEn2kgPGF5Z8SxdD4gaWxlIGthcsWfxLFsxLFrbMSxIGTEscWfbGF5YW5kxLFyIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICJheW7EsSBhbmRhIHNhZGVjZSBiaXIgPGF5Z8SxdD5hIGl6aW4gdmVyaWxpciIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjQKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiLS1hbGdvcml0aG0gdmUgLS1zdHJlYW1zIHNlw6dlbmVrbGVyaSAtLXNpemUgaWxlIGJpcmxlxZ90aXJpbG1lbGlkaXIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Njk0IHN5cy11dGlscy96cmFtY3RsLmM6NzIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVzOiBzxLFmxLFybGFuYW1hZMSxIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgImJvxZ8genJhbSBheWfEsXTEsSBidWx1bmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiCittc2dzdHIgIiVzOiBha8SxxZ8gc2F5xLFzxLEgYXlhcmxhbmFtYWTEsSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlczogYWxnb3JpdG1hIGF5YXJsYW5hbWFkxLEiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogZGlzayBib3l1dHUgYXlhcmxhbmFtYWTEsSAoJWp1IGJheXQpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKG90b21hdGlrIGdpcmnFnylcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBrw7ZrIGRpemluIGRlxJ9pxZ90aXJpbGVtaXlvciAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczogw6dhbMSxxZ/EsWxhbiBkaXppbiBkZcSfacWfdGlyaWxlbWl5b3IgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczogc8O8cmXDpyDDtm5jZWxpxJ9pIGRlxJ9pxZ90aXJpbGVtaXlvcjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBleGVjICVzOiAlbSIKK21zZ3N0ciAiJXM6ICVzIMOnYWzEscWfdMSxcsSxbGFtxLF5b3I6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzNyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxNDg0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MjYgdGVybS11dGlscy9hZ2V0dHkuYzoyMDkzIHRlcm0tdXRpbHMvYWdldHR5LmM6MjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAiYmVsbGVrIHRhaHNpcyBlZGlsZW1lZGk6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJTIkcyBkZWtpICUxJHNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NDgKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogZ2VjaWttZSBhcmfDvG1hbsSxIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICItLWxvY2FsLWxpbmUgacOnaW4gZ2XDp2Vyc2l6IGFyZ8O8bWFuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgwNQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAiZ2XDp2Vyc2l6IMO2bmNlbGlrIGFyZ8O8bWFuxLEiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgImhhdGFsxLEgaMSxejogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA4Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAiYWxtYcWfxLFrIGjEsXogw6dvayB5w7xrc2VrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgIi9kZXYvJXM6IHN0YW5kYXJ0IGdpcmRpIG9sYXJhayBhw6fEsWxhbcSxeW9yOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IGJpciBrYXJha3RlciBheWfEsXTEsSBkZcSfaWwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IGJpciB0dHkgZGXEn2lsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczoga29udHJvbCBlZGljaSB0dHkgYWzEsW5hbWFkxLE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6IHZoYW5ndXAoKSBiYcWfYXLEsXPEsXo6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczogb2t1L3lheiBpw6dpbiBhw6fEsWsgZGXEn2lsIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiL2Rldi8lczogc8O8cmXDpyBncnVidSBheWFybGFuYW3EsXlvcjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlczogw6dvxJ9hbHRtYSBzb3J1bnU6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiB1w6cgYmlyaW0gw7Z6bml0ZWxpa2xlcmkgYWzEsW5hbWFkxLE6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjUgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICJ1w6diaXJpbSDDtnpuaXRlbGlrbGVyaSBheWFybGFuYW1hZMSxOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY0Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICJpcy1zw7xyw7xtIGRvc3lhc8SxIGHDp8SxbGFtYWTEsSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIKK21zZ3N0ciAieWVuaWRlbiB5w7xrZWxlbWUgZG9zeWFzxLEgb2x1xZ90dXJ1bGFtYWTEsTogJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4MzUKK21zZ2lkICJbcHJlc3MgRU5URVIgdG8gbG9naW5dIgorbXNnc3RyICJbZ2lyacWfIGnDp2luIEVOVEVSJ2EgYmFzxLFuxLF6XSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJOdW0gTG9jayBrYXBhbMSxIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjIKK21zZ2lkICJOdW0gTG9jayBvbiIKK21zZ3N0ciAiTnVtIExvY2sgYcOnxLFrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkNhcHMgTG9jayBhw6fEsWsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICJTY3JvbGwgTG9jayBhw6fEsWsiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIsSwcHVjdTogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IG9rdW5hbjogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IGdpcmRpIGdlw6dlcnNpeiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IGdpcmnFnyBpc21pIGnDp2luIGdlw6dlcnNpeiBrYXJha3RlciBkw7Zuw7zFn8O8bcO8IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiJXM6IGdpcmnFnyBpc21pbmRlIGdlw6dlcnNpeiBrYXJha3RlciAweCV4IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdGVybWluYWwgYXR0cmlidXRlczogJW0iCittc2dzdHIgIiVzOiB1w6cgYmlyaW0gw7Z6bml0ZWxpa2xlcmkgYXlhcmxhbmFtYWTEsTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxsaW5lPiBbPGJhdWRfcmF0ZT4sLi4uXSBbPHRlcm10eXBlPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGJhdWRfcmF0ZT4sLi4uIDxsaW5lPiBbPHRlcm10eXBlPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtzZcOnZW5la2xlcl0gPHNhdMSxcj4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW3Nlw6dlbmVrbGVyXSA8YmF1ZF9yYXRlPiwuLi4gPHNhdMSxcj4gWzx0ZXJtdHlwZT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzMAorbXNnaWQgIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIgorbXNnc3RyICJCaXIgdcOnIGJpcmltIGHDpyB2ZSBtb2R1bnUgYXlhcmxhLlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzMKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgOC1iaXQgdHR5IG9sZHXEn3VudSB2YXJzYXlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPGt1bGxhbsSxY8SxPiAgICAgYmVsaXJ0aWxlbiBrdWxsYW7EsWPEsSBpw6dpbiBvdG9tYXRpayBnaXJpxZ8geWFwXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBrb250cm9sIG1vZHVudSBzxLFmxLFybGFtYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICBsb2dpbigxKSBpw6dpbiAtciA8aG9zdG5hbWU+ICBrdWxsYW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA8ZG9zeWE+ICAgIGlzc3VlIGRvc3lhc8SxbsSxIGfDtnN0ZXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGRvbmFuxLFtIGFrxLHFnyBrb250cm9sw7xuw7wgZXRraW5sZcWfdGlyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOQorbXNnaWQgIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPG1ha2luYWFkxLE+ICAgICAgZ2lyacWfIG1ha2luYXPEsW7EsSBiZWxpcnRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGlzc3VlIGRvc3lhc8SxbsSxIGfDtnN0ZXJtZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiAtSSwgLS1pbml0LXN0cmluZyA8a2FyYWt0ZXJkaXppc2k+IGJhxZ9sYW5nxLHDpyBrYXJha3RlciBkaXppc2luaSBheWFybGFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIHByb21wdCDDtm5jZXNpIGVrcmFuxLEgdGVtaXpsZW1lXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MworbXNnaWQgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxmaWxlPiBzcGVjaWZ5IGxvZ2luIHByb2dyYW1cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGRvc3lhPiBnaXJpxZ8gcHJvZ3JhbcSxbsSxIGJlbGlydFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiAtTCwgLS1sb2NhbC1saW5lWz08a2lwPl0gIHllcmVsIGhhdCBiYXlyYcSfxLFuxLEga29udHJvbCBldFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDUKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGJhxJ9sYW50xLEgc8SxcmFzxLFuZGEgYmF1ZCBkZcSfZXJpbmkgw6fEsWthclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDYKK21zZ2lkICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKK21zZ3N0ciAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGdpcmnFnyBpw6dpbiBzb3JtYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDcKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGTDvHplbmxlbWUgw7ZuY2VzaSB5ZW5pIHNhdMSxciB5YXpkxLFybWFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxzZcOnZW5la2xlcj4gZ2lyacWfZSBnZcOnaWxlbiBzZcOnZW5la2xlclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICBnaXJpxZ8gw7ZuY2VzaSBoZXJoYW5naSBiaXIgdHXFnyBpw6dpbiBiZWtsZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTAKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDxkaXppbj4gICAgICAgICBrw7Zrw7wgZGl6aW5lIGRlxJ9pxZ90aXJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgdHR5J2RlIHNhbmFsIG9sYXJhayBrYXBhdG1hIHlhcFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTIKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICBiYXVkIGRlxJ9lcmluaSBrxLFyxLFsxLFtZGFuIHNvbnJhIGtvcnVtYXnEsSBkZW5lXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MworbXNnaWQgIiAtdCwgLS10aW1lb3V0IDxudW1iZXI+ICAgICBsb2dpbiBwcm9jZXNzIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPHNhecSxPiAgICAgZ2lyacWfIHPDvHJlY2kgemFtYW4gYcWfxLFtxLFcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU0Cittc2dpZCAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKK21zZ3N0ciAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGLDvHnDvGsga2FyYWt0ZXIgdcOnIGJpcmltaSBhbGfEsWxhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgY2FycmlhZ2UtcmV0dXJuIGJla2xlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGlwdcOnbGFyxLFuxLEgZ8O2c3Rlcm1lXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgaGnDpyBtYWtpbmEgaXNtaSBnw7ZzdGVyaWxtZXllY2VrXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICB0YW0gbml0ZWxpa2xpIG1ha2luYSBpc21pIGt1bGxhblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTkKK21zZ2lkICIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWVyYXNlLWNoYXJzIDxrYXJha3RlcmRpemlzaT4gZWsgYmFja3NwYWNlIGthcmFrdGVybGVyaVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjAKK21zZ2lkICIgICAgIC0ta2lsbC1jaGFycyA8c3RyaW5nPiAgYWRkaXRpb25hbCBraWxsIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1raWxsLWNoYXJzIDxrYXJha3RlcmRpemlzaT4gIGVrIHNvbmxhbmTEsXJtYSBrYXJha3RlcmxlcmlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYxCittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDxkaXppbj4gICAgZ2lyacWfIMO2bmNlc2kgZGl6aW4gZGXEn2nFn3RpclxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjIKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8c2F5xLE+ICAgICAgIGdpcmRpIMO2bmNlc2kgdXl1bWEgc2FuaXllc2lcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPHNhecSxPiAgICAgICAgbG9naW4naSBidSDDtm5jZWxpayBpbGUgw6dhbMSxxZ90xLFyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIGdpcmRpbGVyaSBhZ2V0dHkgw7ZybmVrbGVyaW5pIMOnYWzEscWfdMSxcm1hZGFuIMO2bmNlIHllbmlkZW4gecO8a2xlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgICAgLVQgIC0tbGlzdC10eXBlcyAgICBiaWxpbmVuIGRpc2sgYsO2bMO8bcO8IHTDvHJsZXJpbmkgbGlzdGVsZXIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiJWQga3VsbGFuxLFjxLEiCittc2dzdHJbMV0gIiVkIGt1bGxhbsSxY8SxIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgImNoZWNrbmFtZSBiYcWfYXLEsXPEsXo6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIiVzIGRvc3lhc8SxbmEgZXJpxZ9pbGVtaXlvciIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU5Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIi0tcmVsb2FkIHNpc3RlbWluaXogdGFyYWbEsW5kYW4gZGVzdGVrbGVubWl5b3IiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3kgfCBuXVxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSBbZSB8IGhdXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiRGnEn2VyIGt1bGxhbsSxY8SxbGFyxLFuIHXDpyBiaXJpbWluaXplIHlhem1hIHlldGtpc2luaSBrb250cm9sIGVkaW4uXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICBuZSB5YXDEsWxkxLHEn8SxbsSxIGHDp8Sxa2xhXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ0dHluYW1lIGJhxZ9hcsSxc8SxeiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiZSBkaXIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNworbXNnaWQgImlzIG4iCittc2dzdHIgImggZMSxciIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgIiVzIGtpcGkgZGXEn2nFn3RpcmlsZW1lZGkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgInXDpyBiaXJpbWluaXplIHlhem1hIGl6aW5pIHZlcmlsZGkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAidcOnIGJpcmltaW5pemUgeWF6bWEgaXpuaSByZWRkZWRpbGRpIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgImdlw6dlcnNpeiBhcmfDvG1hbjogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW2ZpbGVdXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIFtkb3N5YV1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjQKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIkJpciB0ZXJtaW5hbCBvdHVydW11bnVuIG3DvHN2ZWRkZXNpbmkgeWFwLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworIywgZnV6enkKK21zZ2lkICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgIHJ1biBjb21tYW5kIHJhdGhlciB0aGFuIGludGVyYWN0aXZlIHNoZWxsXG4iCisiIC1lLCAtLXJldHVybiAgICAgICAgICAgICAgICAgIHJldHVybiBleGl0IGNvZGUgb2YgdGhlIGNoaWxkIHByb2Nlc3NcbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKyIgICAgIC0tZm9yY2UgICAgICAgICAgICAgICAgICAgdXNlIG91dHB1dCBmaWxlIGV2ZW4gd2hlbiBpdCBpcyBhIGxpbmtcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAgYmUgcXVpZXRcbiIKKyIgLXRbPGZpbGU+XSwgLS10aW1pbmdbPTxmaWxlPl0gb3V0cHV0IHRpbWluZyBkYXRhIHRvIHN0ZGVyciBvciB0byBGSUxFXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgw6fEsWt0xLF5YSBla2xlXG4iCisiIC1jLCAtLWNvbW1hbmQgPGtvbXV0PiBldGtpbGXFn2ltbGkga2FidWsgeWVyaW5lIGtvbXV0IMOnYWzEscWfdMSxclxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICBhbHQgc8O8cmVjaW4gw6fEsWvEscWfIGtvZHVudSBkw7ZuZMO8clxuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICBoZXIgeWF6bWFkYW4gc29ucmEgZ8O2bmRlclxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICBiaXIgYmHEnyBvbHNhIGRhIMOnxLFrdMSxIGRvc3lhc8SxbsSxIGt1bGxhblxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICBzZXNzaXogb2xcbiIKKyIgLXQsIC0tdGltaW5nWz08ZG9zeWE+XSAgIHphbWFubGFtYSB2ZXJpc2luaSBzdGFuZGFydCBoYXRheWEgeWF6ICh2ZXlhIERPU1lBeWEpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHPDvHLDvG0gYmlsZ2lzaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgeWFyZMSxbSBtZXRuaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKyJQcm9ncmFtIG5vdCBzdGFydGVkLiIKK21zZ3N0ciAiIgorImAlcycgYmlyIHNlbWJvbGlrIGJhxJ8gZG9zeWFzxLFcbiIKKyJHZXLDp2VrdGVuIGt1bGxhbm1hayBpc3RpeW9yc2FuxLF6IC0tZm9yY2UgaWxlIGt1bGxhbsSxbi5cbiIKKyJQcm9ncmFtIGJhxZ9sYXTEsWxtYWTEsS4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIkJldGlrIHRhbWFtbGFuZMSxLCBkb3N5YXPEsSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiYmV0aWsgZG9zeWFzxLEgeWF6xLFsYW1hZMSxIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisiT3R1cnVtIHNvbmxhbmTEsXLEsWxkxLEuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlc1xuIgorbXNnc3RyICIlcyBkZSBiZXRpayBiYcWfbGF0xLFsZMSxIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlcyDDvHplcmluZGUgYmV0aWsgdGFtYW1sYW5kxLEiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkgYmHFn2FyxLFzxLF6IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAicHR5IHNhecSxc8SxIHlldGVyc2l6IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJCZXRpayBiYcWfbGF0xLFsZMSxLCBkb3N5YXPEsSAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIgJXMgWy10XSB0aW1pbmdmaWxlIFttw7xzdmVkZGVdIFtiw7Zsw7xjw7xdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDgKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPGRvc3lhPiAgICAgemFtYW5sYW1hIMOnxLFrdMSxIGRvc3lhc8SxIGJldGnEn2lcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZG9zeWE+IHXDp2JpcmltIG90dXJ1bSDDp8Sxa3TEsSBkb3N5YXPEsSBiZXRpxJ9pXG4iCisiIC1kLCAtLWRpdmlzb3IgPHNhecSxPiAgICAgw6dhbMSxxZ90xLFybWF5xLEgemFtYW4gYXlyYWPEsSBpbGUgaMSxemxhbmTEsXIgdmV5YSB5YXZhxZ9sYXRcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPHNhecSxPiAgICBnw7xuY2VsbGVtZWxlciBhcmFzxLFuZGEgZW4gZmF6bGEgYnUga2FkYXIgc2FuaXllIGJla2xlXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHPDvHLDvG0gYmlsZ2lzaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgYnUgeWFyZMSxbSBtZXRuaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICJzdGFuZGFydCDDp8Sxa3TEsXlhIHlhesSxbGFtYWTEsSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiJXMgYmVrbGVubWV5ZW4gZG9zeWEgc29udSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJtw7xzdmVkZGUgZG9zeWFzxLEgJXMgb2t1bmFtYWTEsSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJoYXRhbMSxIGFyZ8O8bWFuIHNhecSxc8SxIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiemFtYW5sYW1hIGRvc3lhc8SxICVzIG9rdW5hbWFkxLEiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWluZyBmaWxlICVzOiBsaW5lICVsdTogdW5leHBlY3RlZCBmb3JtYXQiCittc2dzdHIgInphbWFubGFtYSBkb3N5YXPEsSAlczogc2F0xLFyICVsdTogYmVrbGVubWV5ZW4gYmnDp2ltIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICJhcmfDvG1hbiBoYXRhc8SxOiBwYXJsYWtsxLFrICVzIGRlc3Rla2xlbm1peW9yIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjYKK21zZ2lkICJ0b28gbWFueSB0YWJzIgorbXNnc3RyICLDp29rIGZhemxhIHNla21lIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODIKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiQmlyIHXDpyBiaXJpbSDDtnpuaXRlbGlrbGVyaW5pIGF5YXJsYS5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtLXRlcm0gICAgICAgICAgPHXDp2JpcmltX2lzbWk+ICAgVEVSTSBvcnRhbSBkZcSfacWfa2VuaW5pbiDDvHplcmluZSB5YXpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2Cittc2dpZCAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCB0byBwb3dlci1vbiBzdGF0ZVxuIgorbXNnc3RyICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHXDp2JpcmltaSBnw7zDpy1hw6fEsWsgZHVydW11bmEgc8SxZsSxcmxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICB1w6diaXJpbWkgZ8O8w6ctYcOnxLFrIGR1cnVtdW5hIHPEsWbEsXJsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODgKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGJhxZ9sYW5nxLHDpyBrYXJha3RlciBkaXppc2luaSBnw7ZzdGVyIHZlIHZhcnNhecSxbGFuIGF5YXJsYXLEsSBrdWxsYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHZhcnNhecSxbGFuIHXDpyBiaXJpbSBzZcOnZW5la2xlcmluaSBrdWxsYW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIG1ldmN1dCB1w6diaXJpbSBheWFybGFyxLFuxLEgdmFyc2F5xLFsYW4gb2xhcmFrIGtheWRldFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiAtLWN1cnNvciAgICAgICAgW2HDp8Sxa3xrYXBhbMSxXSAgICAgICAgICBpbWxlY2kgZ8O2c3RlclxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTIKK21zZ2lkICIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIgorbXNnc3RyICIgLS1yZXBlYXQgICAgICAgIFthw6fEsWt8a2FwYWzEsV0gICAgICAgICAga2xhdnllIHRla3JhcsSxXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MworbXNnaWQgIiAtLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gICAgICAgICAgY3Vyc29yIGtleSBhcHBsaWNhdGlvbiBtb2RlXG4iCittc2dzdHIgIiAtLWFwcGN1cnNvcmtleXMgW2HDp8Sxa3xrYXBhbMSxXSAgICAgICAgICBpbWxlw6cgYW5haHRhciB1eWd1bGFtYSBraXBpXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iCittc2dzdHIgIiAtLWxpbmV3cmFwICAgICAgW2HDp8Sxa3xrYXBhbMSxXSAgICAgICAgICBiaXIgc2F0xLFyIGRvbGR1xJ91bmRhIHllbmkgYmlyIHNhdMSxcmEgZGV2YW0gZXRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIgLS1pbnZlcnNlc2NyZWVuIFthw6fEsWt8a2FwYWzEsV0gICAgICAgICAgdMO8bSBla3JhbsSxbiByZW5rbGVyaW5pIHRlcnMgw6dldmlyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tZm9yZWdyb3VuZCAgICB2YXJzYXnEsWxhbnw8cmVuaz4gICDDtm5wbGFuIHJlbmdpbmkgYXlhcmxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tYmFja2dyb3VuZCAgICB2YXJzYXnEsWxhbnw8cmVuaz4gICBhcmthcGxhbiByZW5naW5pIGF5YXJsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0tdWxjb2xvciAgICAgICBbcGFybGFrbMSxa10gPHJlbms+ICBhbHTEsSDDp2l6aWxpIG1ldGluIHJlbmdpbmkgYXlhcmxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS1oYmNvbG9yICAgICAgIFtwYXJsYWtsxLFrXSA8cmVuaz4gIGthbMSxbiBtZXRpbiByZW5naW5pIGF5YXJsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgIDxyZW5rPjogc2l5YWggbWF2aSBjeWFuIHllxZ9pbCBncmkgbWFnZW50YSBrxLFybcSxesSxIGJleWF6IHNhcsSxXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMQorbXNnaWQgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIgorbXNnc3RyICIgLS1ib2xkICAgICAgICAgIFthw6fEsWt8a2FwYWzEsV0gICAgICAgICAga2FsxLFuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW2HDp8Sxa3xrYXBhbMSxXSAgICAgICAgICBrYXJhbmzEsWtcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFthw6fEsWt8a2FwYWzEsV0gICAgICAgICAgeWFuxLFwIHPDtm5tZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFthw6fEsWt8a2FwYWzEsV0gICAgICAgICAgYWx0IMOnaXpnaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbYcOnxLFrfGthcGFsxLFdICAgICAgICAgIMO2biBwbGFuIHZlIGFya2EgcGxhbiByZW5rbGVyaW5pIGRlxJ9pxZ90aXJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbdMO8bcO8fGthbGFuxLFdICAgICAgICBla3JhbsSxIHRlbWl6bGUgdmUgaW1sZcOnIGtvbnVtdW51IGF5YXJsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgLS10YWJzICAgICAgICAgIFs8c2F5xLE+Li4uXSAgICAgYnUgdGFiIGR1cm1hIGtvbnVtbGFyxLFuxLEgYXlhcmxhIHZleWEgb25sYXLEsSBnw7ZzdGVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIC0tY2xydGFicyAgICAgICBbPHNhecSxPi4uLl0gICAgIGJ1IHRhYiBkdXJtYSBrb251bWxhcsSxbsSxIHRlbWl6bGUgdmV5YSBoZXBzaW5pXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIGTDvHplbmxpIHRhYiBkdXJha2xhbWEgc8Sxa2zEscSfxLEgYXlhcmxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIGVrcmFrIHRlbWl6bGVtZWRlbiDDtm5jZSBkdXJndW5sdWsgemFtYW7EsSBheWFybGFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tZHVtcCAgICAgICAgICBbPHNhecSxPl0gICAgICAgIHZjc2E8c2F5xLE+IGtvbnNvbCBkw7Zrw7xtw7xuw7wgZG9zeWF5YSB5YXpcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWFwcGVuZCAgICAgICAgWzxzYXnEsT5dICAgICAgICB2Y3NhPHNhecSxPiBrb25zb2wgZMO2a8O8bcO8bsO8IGRvc3lheWEgZWtsZVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTMKK21zZ2lkICIgLS1maWxlICAgICAgICAgIDxmaWxlbmFtZT4gICAgICAgIG5hbWUgb2YgdGhlIGR1bXAgZmlsZVxuIgorbXNnc3RyICIgLS1maWxlICAgICAgICAgIDxkb3N5YWlzbWk+ICAgICAgICBkw7Zrw7xtIGRvc3lhc8SxIGlzbWlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW2HDp8Sxa3xrYXBhbMSxXSAgICAgICAgICDDp2VraXJkZWsgaWxldGlsZXJpbmkga29uc29sYSBnw7ZuZGVyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAgw6dla2lyZGVrIGfDvG5sw7xrbGVtZSBzZXZpeWVzaVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVzYSBnw7zDpyBrb3J1bWEgw7Z6ZWxsaWtsZXJpbmkgYXlhcmxhXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiAtLXBvd2VyZG93biAgICAgWzAtNjBdICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJkb3duIGludGVydmFsIGluIG1pbnV0ZXNcbiIKK21zZ3N0ciAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICB2ZXNhIGfDvMOnIGthcGF0bWEgYXJhbMSxxJ/EsW7EsSBkYWtpa2Egb2xhcmFrIGF5YXJsYVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIHppbGluIG1pbGlzYW5peWUgb2xhcmFrIHPDvHJlc2lcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDxzYXnEsT4gICAgICAgICAgSGVydHogY2luc2luZGVuIHppbCBmcmVrYW5zxLFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgImJpciBzZcOnZW5lxJ9pbiDDp2lmdCBrdWxsYW7EsW3EsSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCittc2dpZCAiY2Fubm90IGZvcmNlIGJsYW5rIgorbXNnc3RyICJib8WfbHVrIHpvcmxhbmFtYWTEsSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgImJvxZ8gb2xtYW1hIHpvcmxhbmFtxLF5b3IiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc1MQorbXNnaWQgImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIgorbXNnc3RyICJib8WfIGR1cnVtdSBhbMSxbmFtYWTEsSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAiw6fEsWt0xLEgacOnaW4gZMO2a8O8bSBkb3N5YXPEsSAlcyBhw6fEsWxhbcSxeW9yIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4MTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidGVybWluYWwgJXMgZG9lcyBub3Qgc3VwcG9ydCAlcyIKK21zZ3N0ciAidcOnIGJpcmltICVzICVzJ2kgZGVzdGVrbGVtaXlvciIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBmYWlsZWQiCittc2dzdHIgImVyacWfaW0gYmHFn2FyxLFzxLF6IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKKyMsIGZ1enp5Cittc2dpZCAic3RkaW4gZG9lcyBub3QgcmVmZXIgdG8gYSB0ZXJtaW5hbCIKK21zZ3N0ciAiJXMgacOnaW4gYnUgdGVybWluYWxkZW4gZ2lyacWfIHJlZGRlZGlsZGkuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjdXJzb3IgcG9zaXRpb246ICVzIgorbXNnc3RyICJnZcOnZXJzaXogc2XDp2VuZWsiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworIywgZnV6enkKK21zZ2lkICJyZXNldCBmYWlsZWQiCittc2dzdHIgInNldGdpZCBiYcWfYXLEsXPEsXoiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiZ8O8w6cga29ydW1hIGtpcGkgYXlhcmxhbmFtYWTEsShzxLFmxLFybGFuYW1hZMSxKSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bCBoYXRhc8SxIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTQ2Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIkVEVSTSB0YW7EsW1sxLEgZGXEn2lsLiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAidGVybWluZm8gdmVyaXRhYmFuxLEgYnVsdW5hbWFkxLEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gdGVybWluYWwgdHlwZSIKK21zZ3N0ciAiJXM6IGJpbGlubWV5ZW4gdcOnIGJpcmltIHRpcGkiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAidcOnYmlyaW0gYmlyIHRhbSBrb3B5YSIKKworIzogdGVybS11dGlscy90dHltc2cuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgImnDpyBoYXRhOiDDp29rIGZhemxhIGlvdiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICJzYXTEsXIgYXJnw7xtYW7EsSBnZXJlxJ9pbmRlbiB1enVuIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAiYcOnxLFsYW1hZMSxIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW3EsXlvciIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiVzOiBLw5ZUw5wgSEFUQSwgaWxldGkgw6dvayB1enVuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIFs8ZG9zeWE+IHwgPGlsZXRpPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJUw7xtIGt1bGxhbsSxY8SxbGFyYSBiaXIgaWxldGkgeWF6LlxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgYmlyaW5jaWwgZ3J1YnUgYmVsaXJ0XG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkzCittc2dpZCAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGRvIG5vdCBwcmludCBiYW5uZXIsIHdvcmtzIG9ubHkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGJhbm5lcmxhcsSxIHlhemTEsXJtYSwgc2FkZWNlIHJvb3Qga3VsbGFuxLFjxLFzxLEgacOnaW5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDx6YW1hbmHFn8SxbcSxPiBzYW5peWUgb2xhcmFrIHlhem1hIHphbWFuIGHFn8SxbcSxXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogcGVyaXlvZCBhcmfDvG1hbsSxIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGdpZCIKK21zZ3N0ciAiJWM6IGJpbGlubWV5ZW4ga29tdXQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIgc2FkZWNlIHJvb3QgacOnaW4ga3VsbGFuxLFsYWJpbGlyIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiemFtYW4gYcWfxLFtxLEgZGXEn2VyaSBoYXRhbMSxOiAlcyIKKworIzogdGVybS11dGlscy93YWxsLmM6MzU3Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICJwYXJvbGEgdWlkJ3NpIGFsxLFuYW1hZMSxIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNjIKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICJ0dHkgaXNtaSBhbMSxbmFtYWTEsSIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiJXNAJXMgKCVzKSAoJXMpJ2RlbiB5YXnEsW4gaWxldGlzaToiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCByZWFkICVzIC0gdXNlIHN0ZGluLiIKK21zZ3N0ciAiJXMgb2t1bm1heWFjYWsgLSBzdGFuZGFydCDDp8Sxa3TEsSBrdWxsYW4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gPGt1bGxhbsSxY8SxPiBbPHR0eW5hbWU+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIkJhxZ9rYSBiaXIga3VsbGFuxLFjxLF5YSBpbGV0aSBnw7ZuZGVyLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgImV0a2luIGdpZCAlcyBncnVidSBpbGUgZcWfbGXFn21peW9yIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIGdpcmnFnyB5YXBtYWTEsSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNgorbXNnaWQgImNhbid0IGZpbmQgeW91ciB0dHkncyBuYW1lIgorbXNnc3RyICJrdWxsYW5kxLHEn8SxbsSxeiB0dHkgaXNtaSBidWx1bmFtxLF5b3IiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICJpbGV0aWxlciAlcyBpw6dpbiBrYXBhbMSxIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMgYmlyZGVuIGZhemxhIGdpcmnFnyB5YXBtxLHFnzsgJXMnZSB5YXrEsXlvciIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMgYmHFn2FyxLFzxLF6IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIiVzQCVzIGRlbiAoJXMgb2xhcmFrKSAlcyDDvHplcmluZGUgJTAyZDolMDJkIGRlIGlsZXRpIC4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiJXNAJXMgZGVuICVzIMO8emVyaW5kZSAlMDJkOiUwMmQgZGUgaWxldGkgLi4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzMwCittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICJ5YXptYSBpemlubGVyaW5peiBrYXBhbMSxIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIGlsZSAlcyDDvHplcmluZGUgZ2lyacWfIHlhcMSxbG1hbcSxxZ8iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIlcyBpw6dpbiAlcydkZSBpbGV0aWxlciBlbmdlbGxlbmRpIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICJUZXJzIHNhdMSxciBiZXNsZW1lbGVyaW5pIGZpbHRyZWxlLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyJTZcOnZW5la2xlcjpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBiYWNrc3BhY2VsZXJpIGfDtnN0ZXJtZVxuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIGlsZXJpIHlhcsSxbSBzYXTEsXIgYmVzbGVtZWxlcmluZSBpemluIHZlclxuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIGJpbGlubWV5ZW4ga29udHJvbCBkaXppbGVyaW5pIGF0bGFcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBib8WfbHVrbGFyxLEgdGFiYSBkw7Zuw7zFn3TDvHJcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICB0YWJsYXLEsSBib8WfbHVrbGFyYSBkw7Zuw7zFn3TDvHJcbiIKKyIgLWwsIC0tbGluZXMgU0FZSSAgICAgICAgZW4gYXogU0FZSSBrYWRhciBzYXTEsXLEsSB0YW1wb25sYVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIHPDvHLDvG0gYmlsZ2lzaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICBidSB5YXJkxLFtIG1ldG5pbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1MSB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzIHN0YW5kYXJ0IGdpcmRpZGVuIG9rdXIgdmUgc3RhbmRhcnQgw6fEsWt0xLF5YSB5YXphclxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxNQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiaGF0YWzEsSAtbCBhcmfDvG1hbsSxIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAidXlhcsSxOiAlcyB5ZWRla2xlbmVtZWRpLiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgImdlw6dlbiBpbGsgc2F0xLFyIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSBzYXTEsXIgemF0ZW4gZ2XDp3RpIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gWzxkb3N5YT4uLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODUKK21zZ2lkICJGaWx0ZXIgbnJvZmYgb3V0cHV0IGZvciBDUlQgcHJldmlld2luZy5cbiIKK21zZ3N0ciAiQ1JUIMO2bml6bGVtZSBpw6dpbiBucm9mZiDDp8Sxa3TEsXPEsW7EsSBmaWx0cmVsZS5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHTDvG0gYWx0IMOnaXpnaWxlcmkgYmFza8SxbGFcbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgdMO8bSB5YXLEsW0tc2F0xLFybGFyxLEgeWF6ZMSxclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLdWxsYW7EsW06XG4iCisiICVzIFtiYcWfbGFuZ8Sxw6dzw7x0dW51IFtiaXRpxZ9zw7x0dW51XV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIkJlbGlydGlsZW4gc8O8dHVubGFyxLEgZmlsdHJlbGUuXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiaWxrIGFyZ8O8bWFuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICJpa2luY2kgYXJnw7xtYW4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgImJpdGnFnyBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICJ0YW7EsW1sYW5tYXlhbiBiYcSfbGFubWEgbm9rdGFzxLEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIi0tdGltZW91dCBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiYmHFn2xhbmfEscOnIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICItLXRpbWVvdXQgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICItLXRpbWVvdXQgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiYmHFn2xhbmfEscOnIGF5csSxxZ90xLFyxLFsYW1hZMSxIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgIi0tdGltZW91dCBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiw6fEsWt0xLEgdGFibG9zdSB0YWhzaWwgZWRpbGVtZWRpIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNworbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiTGlzdGVsZXJpIHPDvHR1bmxhxZ90xLFyLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBiaXIgdGFibG8gb2x1xZ90dXJcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDxwcm9ncmFtaXNtaT4gICAgICAgICBoYXRhbGFyxLFuIHJhcG9ybGFuZMSxxJ/EsSBpc2ltXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQyCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS10YWJsZS1vcmRlciA8Y29sdW1ucz4gICAgICBzcGVjaWZ5IG9yZGVyIG9mIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1zb3J0IDxrb2xvbj4gIMOnxLFrdMSxecSxIDxrb2xvbj5hIGfDtnJlIHPEsXJhbGFcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxsaXN0ZT4gICAgIHRha2FzIHNlw6dlbmVrbGVyaW5pbiB2aXJnw7xsbGUgYXlyxLFsbcSxxZ8gbGlzdGVzaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGVyXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGJhxZ9sxLFrbGFyxLEgeWF6ZMSxclxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworIywgZnV6enkKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgc8O8dHVuIGJhxZ9sxLFrbGFyxLFuxLEgeWF6ZMSxcm1hXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIHPDvHR1bmxhcmRha2kgbWV0aW5sZXJpIGRhcmFsdG1hXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgSlNPTiAtLWxpc3Qgw6fEsWt0xLEgYmnDp2ltaW5pIGt1bGxhblxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dCA8a29sb24+ICAgICAgICAgICAtLWxpc3QgacOnaW4gZ8O2c3RlcmlsZWNlayBrb2xvbmxhcsSxIGJlbGlydFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXJxIDxzYXnEsT4gICAgICAgICAgICAgIHBhcmFsZWwgcG9ydCBpcnEgYmVsaXJ0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW1uPiAgICAgICBwYXJlbnQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIC1OLCAtLXBhcnRubyA8bnVtYXJhPiAgICAgICAgZGlzayBiw7Zsw7xtw7wgbnVtYXJhc8SxbsSxIGJlbGlydFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYywgLS1jb2x1bW5zIDxnZW5pxZ9saWs+ICAgIGthcmFrdGVyIHNhecSxc8SxIG9sYXJhayDDp8Sxa3TEsSBnZW5pxZ9sacSfaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPGthcmFrdGVyZGl6aXNpPlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdGFibG8gw6fEsWt0xLFzxLEgacOnaW4gc8O8dHVuIGF5cmFjxLE7IHZhcnNhecSxbGFuIGlraSBib8WfbHVrXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPGthcmFrdGVyZGl6aXNpPiBrdWxsYW7EsWxhYmlsaXIgdGFibG8gYXnEsXLEsWPEsWxhcsSxXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBzw7x0dW5sYXJkYW4gw7ZuY2Ugc2F0xLFybGFyxLEgZG9sZHVyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICJnZcOnZXJzaXogc8O8dHVuIGFyZ8O8bWFuxLEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgImJhxJ9sYW1hIHRhYmxvc3UgYXlyxLHFn3TEsXLEsWxhbWFkxLEiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbc2XDp2VuZWtsZXJdIDxkb3N5YT4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU5Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIkRvc3lhIGnDp2VyacSfaW5pIG9uYWx0xLFsxLFrLCBvbmRhbMSxaywgc2VraXpsaWsgdmV5YSBhc2NpaSBvbGFyYWsgZ8O2c3Rlci5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBiaXItYmF5dCBzZWtpemxpayBnw7ZzdGVyaW1cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgYmlyLWJheXQga2FyYWt0ZXIgZ8O2c3RlcmltaVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgc3RhbmRhcnQgaGV4K0FTQ0lJIGfDtnN0ZXJpbWlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY1Cittc2dpZCAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAgdHdvLWJ5dGUgZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIGlraS1iYXl0IG9uZGFsxLFrIGfDtnN0ZXJpbWlcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY2Cittc2dpZCAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICBpa2ktYmF5dCBzZWtpemxpayBnw7ZzdGVyaW1cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICBpa2ktYmF5dCBvbmFsdMSxbMSxayBnw7ZzdGVyaW1cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxraXA+XSAgICAgIHJlbmsgYmnDp2ltIGJlbGlydGljaWxlcmluaSB5b3J1bWxhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAtZSwgLS1mb3JtYXQgPGJpw6dpbT4gICAgIGfDtnN0ZXJpbGVuIHZlcmkgacOnaW4ga3VsbGFuxLFsYWNhayBiacOnaW0ga2FyYWt0ZXIgZGl6aXNpXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIgLWYsIC0tZm9ybWF0LWZpbGUgPGRvc3lhPiAgYmnDp2ltIGthcmFrdGVyIGRpemlsZXJpbmkgacOnZXJlbiBkb3N5YVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzMKK21zZ2lkICIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIKK21zZ3N0ciAiIC1uLCAtLWxlbmd0aCA8dXp1bmx1az4gICAgIGdpcmRpbmluIHNhZGVjZSB1enVubHVrIGthZGFyIGJheXTEsW7EsSB5b3J1bWxhXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIgLXMsIC0tc2tpcCA8b2ZzZXQ+ICAgICAgIG9mc2V0IGJheXQga2FkYXIgYmHFn2xhbmfEscOndGVuIGF0bGFcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBheW7EsSBzYXTEsXJsYXLEsSBnw7ZzdGVyXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAidMO8bSBnaXJkaSBkb3N5YXPEsSBhcmfDvG1hbmxhcsSxIGJhxZ9hcsSxc8SxeiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICJrYXJha3RlciAlcyBpw6dpbiBrw7Z0w7wgZMO2bsO8xZ90w7xybWUgYmF5dCBzYXnEsXPEsSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIGJpciBkdXlhcmzEsWsgeWEgZGEgYmF5dCBzYXnEsXPEsSBnZXJla3RpcmlyIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgImvDtnTDvCBiacOnaW0geyVzfSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgImTDtm7DvMWfw7xtIGthcmFrdGVyaSAlJSVzIGhhdGFsxLEiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgIsOnb2tsdSBkw7Zuw7zFn8O8bSBrYXJha3Rlcmxlcml5bGUgYmF5dCBzYXnEsXPEsSIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICJCaXIgc2F0xLFyIG9rdS5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM1Cittc2dpZCAiQSBmaWxlIHBlcnVzYWwgZmlsdGVyIGZvciBDUlQgdmlld2luZy5cbiIKK21zZ3N0ciAiQ1JUIGfDtnLDvG7DvG0gacOnaW4gYSBiaXIgZG9zeWEgaW5jZWxlbWUgZmlsdHJlc2kuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgIHppbCDDp2FsbWFrIHllcmluZSB5YXJkxLFtIGfDtnN0ZXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM5Cittc2dpZCAiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICBla3JhbiBzYXTEsXJsYXLEsSB5ZXJpbmUgbWFudMSxa3NhbCBzYXlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAgZm9ybSBiZXNsZW1lc2kgc29ucmFzxLEgZHVyYWtsYW1hecSxIGJhc2vEsWxhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWMgICAgICAgICAga2F5ZMSxcm1hLCBtZXRuaSBnw7ZzdGVyIHZlIHNhdMSxciBzb25sYXLEsW7EsSB0ZW1pemxlXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAga2F5ZMSxcm1hLCBla3JhbsSxIHRlbWl6bGUgdmUgbWV0bmkgZ8O2c3RlclxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgw6dva2x1IGJvxZ8gc2F0xLFybGFyxLEgdGVrZSBzxLFrxLHFn3TEsXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICBhbHQgw6dpemdpbGVtZXlpIGJhc2vEsWxhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08c2F5xLE+ICAgZWtyYW4gYmHFn8SxbmEgc2F0xLFyIHNhecSxc8SxXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICs8c2F5xLE+ICAgZG9zeWEgYmHFn2xhbmfEsWPEsW7EsSBzYXTEsXIgc2F5xLFzxLFuZGFuIGl0aWJhcmVuIGfDtnN0ZXJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ3Cittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiArLzxrYXJha3RlcmRpemlzaT4gIGFyYW1hIGthcmFrdGVyIGRpemlzaW5pbiBlxZ9sZcWfbWVzaW5kZW4gaXRpYmFyZW4gZG9zeWEgYmHFn2xhbmfEsWPEsW7EsSBnw7ZzdGVyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG9wdGlvbiAtJXMiCittc2dzdHIgImJpbGlubWV5ZW4gc2XDp2VuZWsgLSAlcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczogZGl6aW4gKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IEJpciBtZXRpbiBkb3N5YXPEsSBkZcSfaWwgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbw4fEsWttYWsgacOnaW4gcSB5YSBkYSBRIGt1bGxhbsSxbl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NQorIywgYy1mb3JtYXQKK21zZ2lkICItLU1vcmUtLSIKK21zZ3N0ciAiLS1CYcWfa2EtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKFNvbnJha2kgZG9zeWE6ICVzKSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzU1CisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIKK21zZ3N0ciAiW0RldmFtIGV0bWVrIGnDp2luIGJvxZ9sdWsgw6d1YnXEn3VuYSwgw6fEsWttYWsgacOnaW4gJ3EnIHR1xZ91bmEgYmFzxLFuxLF6Ll0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIuLi4lZCBzYXlmYSBnZXJpIgorbXNnc3RyWzFdICIuLi4lZCBzYXlmYSBnZXJpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnNraXBwaW5nICVkIGxpbmUiCittc2dpZF9wbHVyYWwgIi4uLnNraXBwaW5nICVkIGxpbmVzIgorbXNnc3RyWzBdICIuLi4lZCBzYXTEsXLEsW5hIGF0bGFuxLF5b3IiCittc2dzdHJbMV0gIi4uLiVkIHNhdMSxcsSxbmEgYXRsYW7EsXlvciIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI2OQorbXNnaWQgIiIKKyJcbiIKKyIqKipCYWNrKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKipLYWxhbioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjg0Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICLDlm5jZWtpIGTDvHplbmxpIGlmYWRlIHlvayIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJLb211dGxhcsSxbiDDp2/En3UgYmlyIGsgdGFtc2F5xLEgYXJnw7xtYW4gYWxhYmlsaXIuIFZlcmlsbWV6c2Uga8O2xZ9lbGlcbiIKKyJwYXJhbnRlemxlcmxlIGJlbGlydGlsZW5sZXIgw7ZudGFuxLFtbMSxZMSxci4gWcSxbGTEsXogKCopIGnFn2FyZXRpIHllbmkgw7ZudGFuxLFtbMSxIGRlxJ9lciBvbGFjYcSfxLFuxLEgYmVsaXJ0aXIuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMjEKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8Ym/Fn2x1az4gICAgICAgTWV0bmluIHNvbnJha2kgayBzYXTEsXLEsW7EsSBnw7ZzdGVyaXIgW2VrcmFuxLFuIHNhdMSxciBzYXnEsXPEsV1cbiIKKyJ6ICAgICAgICAgICAgICBNZXRuaW4gc29ucmFraSBrIHNhdMSxcsSxbsSxIGfDtnN0ZXJpciBbZWtyYW7EsW4gc2F0xLFyIHNhecSxc8SxXSpcbiIKKyI8ZW50ZXI+ICAgICAgICBNZXRuaW4gc29ucmFraSBrIHNhdMSxcsSxbsSxIGfDtnN0ZXJpciBbMV0qXG4iCisiZCB2ZXlhIGN0cmwtRCAgTWV0bmkgayBzYXTEsXIgaWxlcmxldGlyIFtnZW5lbGxpa2xlIDExIHNhdMSxcl0qXG4iCisicSB2ZXlhIFEgeWEgZGEgPGtlc21lPiAgIG1vcmUnZGFuIMOnxLFrxLFsxLFyLlxuIgorInMgICAgICAgICAgICAgIE1ldG5pbiBrIHNhdMSxcsSxbsSxIGF0bGFyIFsxXVxuIgorImYgICAgICAgICAgICAgIE1ldG5pbiBrIGVrcmFubMSxayBiw7Zsw7xtw7xuw7wgYXRsYXIgWzFdXG4iCisiYiB2ZXlhIGN0cmwtQiAgTWV0bmluIGdlcml5ZSBkb8SfcnUgayBla3JhbmzEsWsgYsO2bMO8bcO8bsO8IGF0bGFyIFsxXVxuIgorIicgICAgICAgICAgICAgIEFyYW1hbsSxbiBpbGsgYmHFn2xhdMSxbGTEscSfxLEgeWVyZSBkw7ZuZXJcbiIKKyI9ICAgICAgICAgICAgICBPIGFua2kgc2F0xLFyIG51bWFyYXPEsW7EsSBnw7ZzdGVyaXJcbiIKKyIvPGTDvHplbmxpIGlmYWRlPiAgIETDvHplbmxpIGlmYWRlIGlsZSBiZWxpcnRpbGVuIGsnxLFuY8SxIGXFn2xlxZ9tZXlpIGFyYXIgWzFdXG4iCisibiAgICAgICAgICAgICAgU29uIGTDvHplbmxpIGlmYWRlIGlsZSBiZWxpcnRpbGVuIHNvbnJha2kgayfEsW5jxLEgZcWfbGXFn21leWkgYXJhciBbMV1cbiIKKyIhPGtvbXV0PiB2ZXlhIDohPGtvbXV0PiAgIEFsdCBrYWJ1xJ91bmRhIDxrb211dD51IMOnYWzEscWfdMSxcsSxclxuIgorInYgICAgICAgICAgICAgIEJ1bHVudWxhbiBzYXTEsXJkYSAvdXNyL2Jpbi92aSDDp2FsxLHFn3TEsXLEsWzEsXJcbiIKKyJjdHJsLUwgICAgICAgICBFa3JhbsSxIHRhemVsZXJcbiIKKyI6biAgICAgICAgICAgICBTb25yYWtpIGsnxLFuY8SxIHNhdMSxcmEgZ2lkZXIgWzFdXG4iCisiOnAgICAgICAgICAgICAgw5ZuY2VraSBrJ8SxbmPEsSBzYXTEsXJhIGdpZGVyIFsxXVxuIgorIjpmICAgICAgICAgICAgIERvc3lhIGlzbWluaSB2ZSBzYXTEsXIgbnVtYXJhc8SxbsSxIGfDtnN0ZXJpclxuIgorIi4gICAgICAgICAgICAgIMOWbmNla2kga29tdXQgdGVrcmFybGFuxLFyXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzOTQgdGV4dC11dGlscy9tb3JlLmM6MTQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIKK21zZ3N0ciAiW1lhcmTEsW0gYmHFn2zEsWtsYXLEsSBpw6dpbiAnaCcgdHXFn3VuYSBiYXPEsW7EsXpdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIgc2F0xLFyICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbRG9zeWEgZGXEn2lsXSBzYXTEsXIgJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAgVGHFn21hXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi5hdGxhbsSxeW9yXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1OTgKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkthbMSxcCBidWx1bmFtYWTEsVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIkthbMSxcCBidWx1bmFtYWTEsSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIsOnYWzEscWfdMSxcm1hIGJhxZ9hcsSxc8SxelxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjY2Cittc2dpZCAiY2FuJ3QgZm9ya1xuIgorbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW1hZMSxXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4uQXRsYW7EsXlvciAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4uRG9zeWF5YSBhdGxhbsSxeW9yOiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDYKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICIuLi7Dlm5jZWtpIGRvc3lheWEgYXRsYW7EsXlvcjogIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiU2F0xLFyIMOnb2sgdXp1biIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIlllcmluaSBhbGFjYWsgw7ZuY2VzaW5kZSBiaXIga29tdXQgeW9rIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIGJ1IGVrcmFuXG4iCisiICBxIHZleWEgUSAgICAgICAgICAgICAgICAgIHByb2dyYW1kYW4gw6fEsWtcbiIKKyIgIDx5ZW5pc2F0xLFyPiAgICAgICAgICAgICAgIHNvbnJha2kgc2F5ZmFcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIGJpciBzYXlmYSBpbGVyaSBhdGxhXG4iCisiICBkIHZleWEgXkQgICAgICAgICAgICAgICAgIHNvbnJha2kgeWFyxLFtIHNheWZhXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBzb25yYWtpIHNhdMSxclxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgc29uIHNheWZhXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICByZWdleCBpw6dpbiBpbGVyaSBhcmFcbiIKKyIgID9yZWdleD8gdmV5YSBecmVnZXheICAgICAgcmVnZXggacOnaW4gZ2VyaSBhcmFcbiIKKyIgIC4gdmV5YSBeTCAgICAgICAgICAgICAgICAgZWtyYW7EsSB5ZW5pZGVuIMOnaXpcbiIKKyIgIHcgdmV5YSB6ICAgICAgICAgICAgICAgICAgc2F5ZmEgYm95dXR1bnUgYXlhcmxhIHZlIHNvbnJha2kgc2F5ZmF5YSBnaXRcbiIKKyIgIHMgZG9zeWFpc21pICAgICAgICAgICAgICBtZXZjdXQgZG9zeWF5xLEgZG9zeWFpc21pIGlsZSBrYXlkZXRcbiIKKyIgICFrb211dCAgICAgICAgICAgICAgICBrYWJ1ayBrYcOnxLHFn8SxXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICDDtm5jZWtpIGRvc3lheWEgZ2l0XG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBzb25yYWtpIGRvc3lheWEgZ2l0XG4iCisiXG4iCisiQmlyw6dvayBrb211dCDDtm4gc2F5xLEga2FidWwgZWRlciwgw7ZybmXEn2luOlxuIgorIisxPHllbmlzYXTEsXI+IChzYW9ucmFraSBzYXlmYSk7IC0xPHllbmlzYXTEsXI+ICjDtm5jZWtpIHNheWZhKTsgMTx5ZW5pc2F0xLFyPiAoaWxrIHNheWZhKS5cbiIKKyJcbiIKKyJEYWhhIGZhemxhIGJpbGdpIGnDp2luIHBnKDEpJ2UgYmFrxLFuLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gWytzYXTEsXJdIFsrL2Rlc2VuL10gW2Rvc3lhbGFyXVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM1Cittc2dpZCAiQnJvd3NlIHBhZ2V3aXNlIHRocm91Z2ggdGV4dCBmaWxlcy5cbiIKK21zZ3N0ciAiTWV0aW4gZG9zeWFsYXLEsW5hIHNheWZhbMSxIMWfZWtpbGRlIGfDtnphdC5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIC1udW1iZXIgICAgICBzYXlmYSBiYcWfxLFuYSBzYXTEsXIgc2F5xLFzxLFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOQorbXNnaWQgIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAgZ8O2c3RlcmltIMO2bmNlc2kgZWtyYW7EsSB0ZW1pemxlXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAgYmlyIGRvc3lhbsSxbiBzb251bmRhIGJla2xlbWVcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICB1enVuIHNhdMSxcmxhcsSxIGLDtmxtZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQyCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAga29tdXR1IHllbmkgc2F0xLFyIGlsZSBzb25sYW5kxLFyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiAtcCA8cHJvbXB0PiAgYmlsZ2kgaXN0ZW1leWkgYmVsaXJ0XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgIGthYnVrIGthw6fEscWfxLFuxLEgZW5nZWxsZVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ1Cittc2dpZCAiIC1zICAgICAgICAgICBwcmludCBtZXNzYWdlcyB0byBzdGRvdXRcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICBpbGV0aWxlcmkgc3RhbmRhcnQgw6fEsWt0xLF5YSB5YXpkxLFyXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDYKK21zZ2lkICIgK251bWJlciAgICAgIHN0YXJ0IGF0IHRoZSBnaXZlbiBsaW5lXG4iCittc2dzdHIgIiArc2F5xLEgICAgICB2ZXJpbGVuIHNhdMSxcmRhbiBiYcWfbGFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NworbXNnaWQgIiArL3BhdHRlcm4vICAgc3RhcnQgYXQgdGhlIGxpbmUgY29udGFpbmluZyBwYXR0ZXJuXG4iCittc2dzdHIgIiArL2Rlc2VuLyAgIGRlc2VuaSBpw6dlcmVuIHNhdMSxcmRhbiBiYcWfbGFcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgInNlw6dlbmVrIGJpciBhcmfDvG1hbmxhIGt1bGxhbsSxbMSxciAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAiZ2XDp2Vyc2l6IHNlw6dlbmVrIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY3Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi5pbGVyaSBhdGxhbsSxeW9yXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjkKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICIuLi5nZXJpIGF0bGFuxLF5b3JcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiU29ucmFzxLFuZGEgZG9zeWEgeW9rIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiw5ZuY2VzaW5kZSBkb3N5YSB5b2siCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIiVzIGRvc3lhc8SxbmRhbiBva3VtYSBoYXRhc8SxIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIiVzIGRveWFzxLFuZGEgYmVrbGVubWVkaWsgZG9zeWEgc29udSIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIiVzIGRveWFzxLFuZGEgYmlsaW5tZXllbiBoYXRhIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiR2XDp2ljaSBkb3N5YSBvbHXFn3R1cnVsYW3EsXlvciIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIlJFIGhhdGFzxLE6IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIoRG9zeWFTb251KSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMzAgdGV4dC11dGlscy9wZy5jOjExNTYKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIkFyYW1hIGRpemdlc2kgeW9rIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIxMQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAiYcOnxLFsYW3EsXlvciAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjYzCittc2dpZCAic2F2ZWQiCittc2dzdHIgImtheWRlZGlsZGkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzUzCittc2dpZCAiOiAhY29tbWFuZCBub3QgYWxsb3dlZCBpbiByZmxhZyBtb2RlLlxuIgorbXNnc3RyICI6IHJmbGFnIGtpcGluZGUgISBrb211dHUga3VsbGFuxLFsbWF6LlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM4NworbXNnaWQgImZvcmsoKSBmYWlsZWQsIHRyeSBhZ2FpbiBsYXRlclxuIgorbXNnc3RyICJBbHQgc8O8cmXDpyBvbHXFn3R1cnVsYW1hZMSxLCBkYWhhIHNvbnJhIHRla3JhciBkZW5leWluXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoU29ucmFraSBkb3N5YTogIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIlcyAlcyBUZWxpZiBIYWtrxLEgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBUw7xtIGhha2tsYXLEsSBzYWtsxLFkxLFyLlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU5NCB0ZXh0LXV0aWxzL3BnLmM6MTY2NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgInNheWZhIGJhxZ/EsW5hIHNhdMSxciBzYXnEsXPEsSBheXLEscWfdMSxcsSxbGFtYWTEsSIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiS3VsbGFuxLFtOiAlcyBbc2XDp2VuZWtsZXJdIFtkb3N5YSAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODEKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIlNhdMSxcmxhcsSxIGthcmFrdGVyIG9sYXJhayB0ZXJzIMOnZXZpci5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW3Nlw6dlbmVrbGVyXSBbPGRvc3lhPiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiU2F0xLFybGFyxLFuIGFsdMSxbsSxIMOnaXouXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFXDh0LEsFLEsE0gIFRFUk0gb3J0YW0gZGXEn2nFn2tlbmluaW4gw7x6ZXJpbmUgeWF6XG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICBzYXTEsXJsYXLEsW4gYWx0xLFuxLEgw6dpem1lIGF5csSxIGJpciBzYXTEsXIgaWxlIGJlbGlydGlsZGlcbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAidGVybWluZm8gb2t1bm1heWEgw6dhbMSxxZ/EsWzEsXlvciIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgInXDpyBiaXJpbSBgJXMnIGJpbGlubWl5b3IsIGBkdW1wJyDDtm50YW7EsW1sYW7EsXlvciIKKworIzogdGV4dC11dGlscy91bC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJnaXJkaWRlIGJpbGlubWV5ZW4ga2HDp8SxxZ8gZGl6aXNpOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiR2lyZGkgc2F0xLFyxLEgw6dvayB1enVuLiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaSIKKworI34gbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorI34gbXNnc3RyICJraWxpdCB0w7xyw7w6IEZMX0ZMT0NLIHlhIGRhIEZMX1BPU0lYLiIKKworI34gbXNnaWQgInVuYWJsZSB0byBleGVjIC9iaW4vdW1vdW50IG9mIGAlcyciCisjfiBtc2dzdHIgImAlcycgacOnaW4gL2Jpbi91bW91bnQga29tdXR1IMOnYWzEscWfdMSxcsSxbGFtYWTEsSIKKworI34gbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCisjfiBtc2dzdHIgIn4lZCBtaWtyb3Nhbml5ZSB1eXV5b3JcbiIKKworI34gbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKKyN+IG1zZ3N0ciAiJWxkLiUwNmxkIDwgJWxkLiUwNmxkICglLjZmKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKKyN+IG1zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgZGFoYSBmYXpsYSBiaWxnaSB5YXpkxLFyXG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcmVhZCBmcm9tOiAlcyIKKyN+IG1zZ3N0ciAiJXMnZGVuIG9rdW5hbWFkxLEiCisKKyN+IG1zZ2lkICJjYW5ub3QgZXhlY3V0ZTogJXMiCisjfiBtc2dzdHIgIsOnYWzEscWfdMSxcsSxbGFtxLF5b3I6ICVzIgorCisjfiBtc2dpZCAidW5zdXBwb3J0ZWQgYWxnb3JpdGhtOiAlcyIKKyN+IG1zZ3N0ciAiZGVzdGVrbGVubWV5ZW4gYWxnb3JpdG1hOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGVzdCBtb2RlOiAlcyB3YXMgbm90IHVwZGF0ZWQgd2l0aDpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAid3JpdGU6ICVzIGlsZSAlcyDDvHplcmluZGUgZ2lyacWfIHlhcMSxbG1hbcSxxZ8uXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJTYWF0IGF5YXJsYW1hIHBhcmFtZXRyZWxlcmluaSBpw6dlcmVuICglcykgZG9zeWEgeWF6bWFrIGnDp2luIGHDp8SxbGFtYWTEsSIKKworI34gbXNnaWQgIkNvdWxkIG5vdCB1cGRhdGUgZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgKCVzKSBpbiBpdCIKKyN+IG1zZ3N0ciAiU2FhdCBheWFybGFtYSBwYXJhbWV0cmVsZXJpbmkgacOnZXJlbiAoJXMpIGRvc3lhIGfDvG5jZWxsZW5lbWVkaSIKKworI34gbXNnaWQgIkRyaWZ0IGFkanVzdG1lbnQgcGFyYW1ldGVycyBub3QgdXBkYXRlZC4iCisjfiBtc2dzdHIgIlNhcG1hIGF5YXIgcGFyYW1ldHJlbGVyaSBnw7xuY2VsbGVubWVkaS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGVzdCBtb2RlOiBlcG9jaCB3YXMgbm90IHNldCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiU29uIGRlxJ9pxZ9pbSB6YW1hbsSxIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiAiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS3VsbGFuxLFtOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiAiICUxJHMgWy12fC1xXSBrb211dGxhcsSxbiBheWfEsXRsYXLEsVxuIgorI34gIlxuIgorI34gIkt1bGxhbsSxbGFiaWxpciBrb211dGxhcjpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkt1bGxhbsSxbGFiaWxpciBzw7x0dW5sYXIgKC1vIGnDp2luKTpcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIiVzJ2RlIGFyYW1hIGhhdGFzxLEiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQ7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC1WIGFzIC0tdmVyc2lvbiBtdXN0IGJlIHRoZSBvbmx5IG9wdGlvblxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBzw7xyw7xtIGJpbGdpc2luaSBnw7ZzdGVyIHZlIMOnxLFrO1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtLXZlcnNpb24gb2xhcmFrIC1WIHRlayBwYXJhbWV0cmUgb2xtYWzEsWTEsXJcbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIGJ1IHlhcmTEsW0gbWV0bmluaSBnw7ZzdGVyIHZlIMOnxLFrXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS3VsbGFuxLFsYWJpbGlyIHPDvHR1bmxhciAoLS1zaG93LCAtLXJhdyB5YSBkYSAtLXBhaXJzIGnDp2luKTpcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyc2lvbiAgc8O8csO8bSBiaWxnaXNpbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJEYWhhIGZhemxhIGJpbGdpIGnDp2luIGAlcyAtLWhlbHAnaSBkZW5leWluXG4iCisKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIGJ1IHlhcmTEsW3EsSBnw7ZzdGVyIHZlIMOnxLFrXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gIHPDvHLDvG0gYmlsZ2lzaW5pIHlheiB2ZSDDp8Sxa1xuIgorCisjfiBtc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtdSwgLS1oZWxwICAgICBidSB5YXJkxLFtIG1ldG5pbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiQmlsaW5lbiBrYWJ1ayB5b2suIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS3VsbGFuxLFsYWJpbGlyIGtvbG9ubGFyOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtzZcOnZW5la2xlcl0gLXUgPHVzZXI+IDxjb21tYW5kPlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS3VsbGFuxLFsYWJpbGlyIGtvbG9ubGFyICgtLW91dHB1dCBpw6dpbik6XG4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIkRhaGEgZmF6bGEgYmlsZ2kgacOnaW4gYCVzIC0taGVscCdpIGRlbmV5aW5cbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIG5lIHlhcMSxbGTEscSfxLFuxLEgYcOnxLFrbGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorI34gIiAtdCwgLS10aW1lICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIHJhc3RhZ2VsZSB0YWJhbmzEsSB1dWlkIG9sdcWfdHVyXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgemFtYW4gdGFiYW5sxLEgdXVpZCBvbHXFn3R1clxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIHPDvHLDvG0gYmlsZ2lzaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBidSB5YXJkxLFtIG1ldG5pbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorI34gIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorI34gIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorI34gIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgYsO8dMO8biDDtnplbCBrYXJha3RlciBkaXppbGVyaW5pIHRlbWl6bGUgKETEsEtLQVRMxLAgT0whKVxuIgorI34gIiAtYiwgLS1iYWNrdXAgICAgICAgICRIT01FIGRpemluaW5kZSBiaXIgaW16YSB5ZWRlxJ9pIG9sdcWfdHVyXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgc2lsbWV5ZSB6b3JsYVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIGJ1IHlhcmTEsW0gbWV0bmluaSBnw7ZzdGVyXG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAgc29uIHlhem1hIGtvbXV0dSBoYXJpY2luZGUgaGVyxZ9leWkgeWFwXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8c2F5xLE+ICBzaWxpbmVjZWsgb2ZzZXQsIGJheXQgb2xhcmFrXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgeWF6ZMSxcsSxbGFiaWxpciBiacOnaW0geWVyaW5lIGF5csSxxZ90xLFyxLFsYWJpbGlyIG9sYXJhayB5YXpkxLFyXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgw6fEsWt0xLEgbWVzYWpsYXLEsW7EsSBnaXpsZVxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdGU+ICBkb3N5YSBzaXN0ZW1pIGvDvG1lc2ksIFJBSUQnbGVyIHlhIGRhIGRpc2sgYsO2bMO8bcO8IHRhYmxvbGFyxLFuxLEgc8SxbsSxcmxhXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgc8O8csO8bSBiaWxnaXNpbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIHJlZ2lzdGVycyBjb250YWluIHZhbHVlcyB0aGF0IGFyZSBlaXRoZXIgaW52YWxpZCAoZS5nLiA1MHRoIGRheSBvZiBtb250aCkgb3IgYmV5b25kIHRoZSByYW5nZSB3ZSBjYW4gaGFuZGxlIChlLmcuIFllYXIgMjA5NSkuIgorI34gbXNnc3RyICJEb25hbsSxbSBzYWF0aSB5YXptYcOnbGFyxLEgeWEgZ2XDp2Vyc2l6IChhecSxbiA1MC4gZ8O8bsO8IGdpYmkpIHlhIGRhIGVsZGUgZWRpbGViaWxpciBvbG1heWFuIGJpciBhcmFsxLFrdGEgKDIwOTUgecSxbMSxIGdpYmkpIGRlxJ9lcmxlciBpw6dlcml5b3IuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKKyN+IG1zZ3N0ciAiRG9uYW7EsW0gU2FhdGkgZ2XDp2VybGkgYmlyIHphbWFuIGRlxJ9lcmkgacOnZXJtZWRpxJ9pbmRlbiBTaXN0ZW0gWmFtYW7EsSBvIGRlxJ9lcmUgYXlhcmxhbmFtYXouIgorCisjfiBtc2dpZCAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKyN+IG1zZ3N0ciAiXHR0di50dl9zZWMgPSAlbGQsIHR2LnR2X3VzZWMgPSAlbGRcbiIKKworI34gbXNnaWQgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorI34gbXNnc3RyICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKworI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICJTaXN0ZW0gc2FhdGluaW4gYXlhcmxhbm1hc8SxIHJvb3QgeWV0a2lzaW5kZWRpci4iCisKKyN+IG1zZ2lkICJcdFVUQzogJXNcbiIKKyN+IG1zZ3N0ciAiXHRVVEM6ICVzXG4iCisKKyN+IG1zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSBIYXJkd2FyZSBDbG9jayBwcmV2aW91c2x5IGNvbnRhaW5lZCBnYXJiYWdlLlxuIgorI34gbXNnc3RyICJEb25hbsSxbSBzYWF0aW5pbiDDtm5jZWtpIGRlxJ9lcmxlcmkgYm96dWsgb2xkdcSfdW5kYW4gc2FwbWEgZmFrdMO2csO8IGF5YXJsYW5hbcSxeW9yLlxuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAiRG9uYW7EsW0gc2FhdGkgZ2XDp2VybGkgYmlyIHphbWFuIGnDp2VybWVkacSfaW5kZW4gYXlhcmxhbmFtxLF5b3IuIgorCisjfiBtc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCisjfiBtc2dzdHIgIjE5NjknZGFuIHNvbnJhICVsZCBzYW5peWUgZWtsZSwgUlRDJ25pbiAxOTY5J2RhbiBzb25yYSAlbGQgc2FuaXllIG9rdXlhY2HEn8SxIHRhaG1pbiBlZGlsaXlvci5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIsOHZWtpcmRla3RlbiBkw7ZuZW1zZWxsaWsgZGXEn2VyaSBhbMSxbmFtxLF5b3IuIgorCisjfiBtc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorI34gbXNnc3RyICLDh2VraXJkZWsgZMO2bmVtc2VsbGlrIGRlxJ9lcmluaSAlbHUgdmFyc2F5xLF5b3JcbiIKKworI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIkTDtm5lbXNlbGxpayBkZcSfZXJpbmluIGF5YXJsYW5hYmlsbWVzaSBpw6dpbiwgYXlhcmxhbmFjYWsgZGXEn2VyaSAnZXBvY2gnIHNlw6dlbmXEn2kgaWxlIHZlcm1lbGlzaW5pei4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICJEw7ZuZW1zZWxsaWsgJWx1IG9sYXJhayBheWFybGFubcSxeW9yIC0gc2FkZWNlIHRlc3QgZWRpbGl5b3IuXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLlxuIgorI34gbXNnc3RyICLDh2VraXJkZWt0ZSBkw7ZuZW1zZWxsaWsgZGXEn2VyaSBheWFybGFuYW3EsXlvci5cbiIKKworI34gbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCisjfiBtc2dzdHIgIkRvbmFuxLFtIHNhYXRpbmkgc29yZ3VsYSB5YSBkYSBheWFybGEuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBidSB5YXJkxLFtIG1ldG5pbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICBkb25hbsSxbSBzYWF0aW5pIG9rdSB2ZSBzb251w6dsYXLEsSB5YXpkxLFyXG4iCisjfiAiICAgICAtLWdldCAgICAgICAgICAgIGRvbmFuxLFtIHNhYXRpbmkgb2t1IHZlIHNhcG1hIGTDvHplbHRpbG1pxZ8gc29udWN1IHlhemTEsXJcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAgUlRDJ3lpIC0tZGF0ZSBpbGUgdmVyaWxlbiB6YW1hbmEgYXlhcmxhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICBzaXN0ZW0gemFtYW7EsW7EsSBkb25hbsSxbSBzYWF0aW5kZW4gYXlhcmxhXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIGRvbmFuxLFtIHNhYXRpbmkgc2lzdGVtIHNhYXRpbmRlbiBheWFybGFcbiIKKyN+ICIgICAgIC0tc3lzdHogICAgICAgICAgc2lzdGVtIHphbWFuxLFuxLEgbWV2Y3V0IHphbWFuIGRpbGltaW5lIGfDtnJlIGF5YXJsYVxuIgorI34gIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1nZXRlcG9jaCAgICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlIGdpdmVuIHdpdGggLS1lcG9jaFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIMOnZWtpcmRlxJ9pbiBkb25hbsSxbSBzYWF0aSBkw7ZuZW1zZWxsaWsgZGXEn2VyaW5pIHlhemTEsXJcbiIKKyN+ICIgICAgIC0tc2V0ZXBvY2ggICAgICAgw6dla2lyZGXEn2luIGRvbmFuxLFtIHNhYXRpIGTDtm5lbXNlbGxpayBkZcSfZXJpbmkgLS1lcG9jaFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGlsZSB2ZXJpbGVuIGRlxJ9lcmUgYXlhcmxhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBSVEMgb2t1bWFzxLFuxLEgLS1kYXRlIGlsZSB2ZXJpbGVuIHphbWFuZGEgdGFobWluIGV0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIHPDvHLDvG0gYmlsZ2lzaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICBkb25hbsSxbSBzYWF0aSBVVEMgb2xhcmFrIHR1dHVsc3VuXG4iCisjfiAiICAgICAtLWxvY2FsdGltZSAgICAgIGRvbmFuxLFtIHNhYXRpIHllcmVsIHphbWFuIG9sYXJhayB0dXR1bHN1blxuIgorCisjfiBtc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZiwgLS1ydGMgPGRvc3lhPiAgICAgdmFyc2F5xLFsYW4geWVyaW5lIGt1bGxhbsSxbGFjYWsgw7Z6ZWwgL2Rldi8uLi4gZG9zeWFzxLFcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgJTEkcydkZWtpIHNhcG1hIGZha3TDtnLDvG7DvCBnw7xuY2VsbGUgKC0tc2V0IHlhIGRhXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgLS1zeXN0b2hjIGdlcmVrdGlyaXIpXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgICUxJHMnZSBlcmnFn21lOyBidSB5YSAtLXV0YyB5YSBkYSAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGt1bGxhbsSxbG1hc8SxbsSxIGdlcmVrdGlyaXJcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZG9zeWE+IGF5YXJsYW1hIGRvc3lhc8SxbsSxbiB5b2x1bnUgYmVsaXJ0aXI7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdmFyc2F5xLFsYW4gJTEkc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyN+ICIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBoacOnYmlyIMWfZXkgZ8O8bmNlbGxlbWUsIHNhZGVjZSBuZSBvbGFjYcSfxLFuxLEgZ8O2c3RlclxuIgorI34gIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBoYXRhIGF5xLFrbGFtYSBraXBpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGVwb2NoIGFyZ3VtZW50IgorI34gbXNnc3RyICJnZcOnZXJzaXogZMO2bmVtc2VsbGlrIGFyZ8O8bWFuxLEiCisKKyN+IG1zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKKyN+IG1zZ3N0ciAiJXMgacOnaW4ga2VzbWUgacWfbGV2bGVyaSB5b2suIgorCisjfiBtc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCisjfiBtc2dzdHIgImlvY3RsKCkgJXMgZGVuIGfDvG5jZWxsZW1lIGtlc21lbGVyaW5pIGHDp21hc8SxIGdlcmVraXJrZW4gaGF0YSB2ZXJkaSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUbyBtYW5pcHVsYXRlIHRoZSBlcG9jaCB2YWx1ZSBpbiB0aGUga2VybmVsLCB3ZSBtdXN0IGFjY2VzcyB0aGUgTGludXggJ3J0YycgZGV2aWNlIGRyaXZlciB2aWEgdGhlIGRldmljZSBzcGVjaWFsIGZpbGUuICBUaGlzIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24gdGhpcyBzeXN0ZW0uIgorI34gbXNnc3RyICLDh2VraXJkZWt0ZWtpIGTDtm5lbXNlbGxpayBkZcSfZXJpbmkgZGXEn2nFn3Rpcm1layBpw6dpbiBheWfEsXQgw7Z6ZWwgZG9zeWFzxLEgJXMgw7x6ZXJpbmRlbiBMaW51eCAncnRjJyBheWfEsXQgc8O8csO8Y8O8c8O8bmUgZXJpxZ9pbG1lbGlkaXIuICAgQnUgZG9zeWEgc2lzdGVtZGUgeW9rLiIKKworI34gbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorI34gbXNnc3RyICJSVENfRVBPQ0hfUkVBRCBpb2N0bCBpbGUgZMO2bmVtc2VsbGlrICVsdSAlcyBkZW4gb2t1bmR1LlxuIgorCisjfiBtc2dpZCAiVGhlIGVwb2NoIHZhbHVlIG1heSBub3QgYmUgbGVzcyB0aGFuIDE5MDAuICBZb3UgcmVxdWVzdGVkICVsZCIKKyN+IG1zZ3N0ciAiRMO2bmVtc2VsbGlrIGRlxJ9lcmluaW4gYmHFn2xhbmfEsWPEsSAxOTAwIHnEsWzEsW5kYW4gw7ZuY2Ugb2xhbWF6LiAgJWxkIGlzdGVuZGkiCisKKyN+IG1zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIlJUQ19FUE9DSF9TRVQgaW9jdGwgaWxlIGTDtm5lbXNlbGxpayAlbHUgJXMgZGVuIGF5YXJsYW7EsXlvci5cbiIKKworI34gbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisjfiBtc2dzdHIgIiVzIGnDp2luIMOnZWtpcmRlayBheWfEsXQgc8O8csO8Y8O8c8O8bmRlIFJUQ19FUE9DSF9TRVQgaW9jdGwgeW9rLiIKKworI34gbXNnaWQgIiIKKyN+ICIlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICIlc1xuIgorI34gIkRhaGEgZmF6bGEgYmlsZ2kgacOnaW4gYCVzIC0taGVscCcgIHlhesSxbsSxei4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJEYWhhIGZhemxhIGJpbGdpIGnDp2luIGAlcyAtLWhlbHAnIHlhesSxbsSxei4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3cpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiS3VsbGFuxLFsYWJpbGlyIGtvbG9ubGFyICgtLXNob3cgacOnaW4pOlxuIgorCisjfiBtc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCisjfiBtc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPGHDp8Sxa3xrYXBhbMSxPiAgICAgc8O8csO8Y8O8bsO8biBpcnEneWEgZ8O8dmVubWVzaW5pIHNhxJ9sYVxuIgorCisjfiBtc2dpZCAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBzw7xyw7xtIGJpbGdpc2luaSBnw7ZzdGVyIHZlIMOnxLFrXG4iCisKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHPDvHLDvG0gYmlsZ2lzaW5pIGfDtnN0ZXIgdmUgw6fEsWtcbiIKKworI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBidSB5YXJkxLFtIG1ldG5pbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorCisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYgICAgICAgICAgc8O8csO8bSBiaWxnaXNpbmkgZ8O2c3RlciB2ZSDDp8Sxa1xuIgorCisjfiBtc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorI34gbXNnc3RyICJBeWfEsXQgJXMgemF0ZW4gYmlyICVzIGltemFzxLEgacOnZXJpeW9yLiIKKworI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogYnUgc2XDp2VuZWtsZXIga2FyxZ/EsWzEsWtsxLEgZMSxxZ9sYXlhbmTEsXI6IgorCisjfiBtc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW10YWIgICAgICAgICAgICAgYmHEn2xhbm3EscWfIGRvc3lhIHNpc3RlbWxlcmluaW4gdGFibG9zdW5kYSBhcmFcbiIKKworI34gbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoZXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpLlxuIgorI34gbXNnc3RyICJCaXIgZG9zeWEgc2lzdGVtaW5lIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykgZXJpxZ9pbWkgZHVyYWtsYXQuXG4iCisKKyN+IG1zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiU2FhdCBkZcSfacWfbWV5ZWNlayAtIHNhZGVjZSB0ZXN0IGVkaWxpeW9yLlxuIgorCisjfiBtc2dpZCAiTm8gLS1kYXRlIG9wdGlvbiBzcGVjaWZpZWQuIgorI34gbXNnc3RyICItLWRhdGUgc2XDp2VuZcSfaSBiZWxpcnRpbG1lZGkuIgorCisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICItLWRhdGUgYXJnw7xtYW7EsSDDp29rIHV6dW4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHZhbHVlIG9mIHRoZSAtLWRhdGUgb3B0aW9uIGlzIG5vdCBhIHZhbGlkIGRhdGUuXG4iCisjfiAiSW4gcGFydGljdWxhciwgaXQgY29udGFpbnMgcXVvdGF0aW9uIG1hcmtzLiIKKyN+IG1zZ3N0ciAiIgorI34gIi0tZGF0ZSBzZcOnZW5lxJ9pbmluIGRlxJ9lcmkgZ2XDp2Vyc2l6LlxuIgorI34gIkF5csSxY2EgdMSxcm5hayBpxZ9hcmV0bGVyaSBkZSBpw6dlcml5b3IuIgorCisjfiBtc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCisjfiBtc2dzdHIgIlZlcmlsZW4gZGF0ZSBrb211dHU6ICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorI34gbXNnc3RyICInZGF0ZScgdXlndWxhbWFzxLEgL2Jpbi9zaCBrYWJ1xJ91bmRhIMOnYWzEscWfdMSxcsSxbGFtxLF5b3IuIHBvcGVuKCkgYmHFn2FyxLFzxLF6IgorCisjfiBtc2dpZCAicmVzcG9uc2UgZnJvbSBkYXRlIGNvbW1hbmQgPSAlc1xuIgorI34gbXNnc3RyICJkYXRlIGtvbXV0dW51biBzb251Y3UgPSAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHVuZXhwZWN0ZWQgcmVzdWx0cy5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICAlcyIKKyN+IG1zZ3N0ciAiIgorI34gIiVzIHRhcmFmxLFuZGFuIHZlcmlsZW4gZGF0ZSBrb211dHUgYW5sYcWfxLFsbWF5YW4gc29udcOnbGFyIHZlcmRpLlxuIgorI34gIktvbXV0OlxuIgorI34gIiAgJXNcbiIKKyN+ICJTb251w6c6XG4iCisjfiAiICAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiJXMgdGFyYWbEsW5kYW4gdmVyaWxlbiBkYXRlIGtvbXV0dSBkw7Zuw7zFn3TDvHLDvGxtw7zFnyB6YW1hbiBkZcSfZXJpIG9sYXJhayBiaXIgdGFtc2F5xLEgeWVyaW5lIGZhcmtsxLEgYmlyxZ9leWxlcmxlIHNvbnXDp2xhbmTEsS5cbiIKKyN+ICJLb211dDpcbiIKKyN+ICIgICVzXG4iCisjfiAiU29udcOnOlxuIgorI34gIiAlc1xuIgorCisjfiBtc2dpZCAiZGF0ZSBzdHJpbmcgJXMgZXF1YXRlcyB0byAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5LlxuIgorI34gbXNnc3RyICJ0YXJpaCBkaXpnZXNpICVzIDE5NjkgZGFuIGJlcmkgJWxkIHNhbml5ZXllIGXFn2l0dGlyLlxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCisjfiBtc2dzdHIgIlRlc3Qga2lwaW5kZSDDp2FsxLHFn8SxbGTEscSfxLFuZGFuIHNpc3RlbSBzYWF0aSBkZcSfacWfbWl5b3IuXG4iCisKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICJhZGp0aW1lIGRvc3lhc8SxIHRlc3Qga2lwaW5kZSBvbHVuZHXEn3VuZGFuIGfDvG5jZWxsZW5taXlvci5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAiIgorI34gIkHFn2HEn8SxZGFraSAlcyBlIHlhesSxbG1hbMSxOlxuIgorI34gIiVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisjfiAiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorI34gIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorI34gbXNnc3RyICIiCisjfiAiw4dla2lyZGVrIHNhZGVjZSBBbHBoYSBtYWtpbmEgw7xzdMO8bmRlIERvbmFuxLFtIFNhYXRpIGnDp2luIGJpciBkw7ZuZW1zZWxsaWsgZGXEn2VyaSBzYWtsYXIuXG4iCisjfiAiaHdjbG9jayd1biBidSBrb3B5YXPEsSBiaXIgQWxwaGEgZMSxxZ/EsW5kYSBiaXIgbWFraW5lIGnDp2luIGRlcmxlbm1lbWnFn1xuIgorI34gIih2ZSBiw7x5w7xrIGlodGltYWxsZSBBbHBoYSDDvHplcmluZGUgw6dhbMSxxZ9txLF5b3IpLiAgQmlyIMWfZXkgeWFwxLFsbWFkxLEuIgorCisjfiBtc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorI34gbXNnc3RyICIgLWMsIC0tY29tcGFyZSAgICAgICAgZMO8emVubGkgb2xhcmFrIHNpc3RlbSBzYWF0aSBpbGUgQ01PUyBzYWF0aW5pIGthcsWfxLFsYcWfdMSxclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorI34gIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgSVNBIHZlcmkgeW9sdW5hICVzIHllcmluZSBkb8SfcnVkYW4gZXJpxZ9cbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAgQklPUyBib3p1ayBvbGR1xJ91IGnDp2luIFJUQyduaW4gecSxbCBkZcSfZXJpbmkgeW9rc2F5XG4iCisjfiAiICAgICAtLWRhdGUgPHphbWFuPiAgICBkb25hbsSxbSBzYWF0aW5pbiBheWFybGFuYWNhxJ/EsSB6YW1hbsSxIGJlbGlydGlyXG4iCisjfiAiICAgICAtLWVwb2NoIDx5xLFsPiAgIGRvbmFuxLFtIHNhYXRpbmluIGTDtm5lbXNlbGxpayBkZcSfZXJpbmluIGJhxZ9sYW5nxLHDp1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHnEsWzEsW7EsSBiZWxpcnRpclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICBzYWhpcCBvbGR1xJ91biBBbHBoYSduxLFuIHRpcGluaSBnw7ZzdGVyIChiYWvEsW4gaHdjbG9jayg4KSlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICLDlnrDvHIgZGlsZXJpeiwgc2FkZWNlIHPDvHBlciBrdWxsYW7EsWPEsSBEb25hbsSxbSBTYWF0aW5pIGt1bGxhbmFiaWxpci4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgc2XDp2VuZcSfaSBhcmfDvG1hbiBhbG1hei4gICVkIHZlcmlsZGkuXG4iCisKKyN+IG1zZ2lkICJObyB1c2FibGUgc2V0LXRvIHRpbWUuICBDYW5ub3Qgc2V0IGNsb2NrLiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFsYWJpbGlyIHphbWFuIGF5YXLEsSB5b2suICBTYWF0IGF5YXJsYW3EsXlvci4iCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgIk1JTE8nZGFuIGHDp8SxbGTEsVxuIgorCisjfiBtc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKworI34gbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCisjfiBtc2dzdHIgInNhYXRwb3J0dSAweCV4J2UgYXlhcmxhbmTEsVxuIgorCisjfiBtc2dpZCAiZnVua3kgVE9ZIVxuIgorI34gbXNnc3RyICJmdW5reSBUaW1lT2ZZZWFyIVxuIgorCisjfiBtc2dpZCAiYXRvbWljICVzIGZhaWxlZCBmb3IgMTAwMCBpdGVyYXRpb25zISIKKyN+IG1zZ3N0ciAiMTAwMCB5aW5lbGVtZSBpw6dpbiBhdG9taWsgJXMgYmHFn2FyxLFzxLF6ISIKKworI34gbXNnaWQgImNtb3NfcmVhZCgpOiB3cml0ZSB0byBjb250cm9sIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKToga29udHJvbCBhZHJlc2kgJVgnZSB5YXrEsWxhbWFkxLEiCisKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NfcmVhZCgpOiB2ZXJpIGFkcmVzaSAlWCdkZW4gb2t1bmFtYWTEsSIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc193cml0ZSgpOiBrb250cm9sIGFkcmVzaSAlWCdlIHlhesSxbGFtYWTEsSIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc193cml0ZSgpOiB2ZXJpIGFkcmVzaSAlWCdlIHlhesSxbGFtYWTEsSIKKworI34gbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKKyN+IG1zZ3N0ciAiRGVuZW5tZWRpxJ9pbmRlbiBlcmnFn2ltIGl6aW5sZXJpIGFsxLFuYW1hZMSxLiIKKworI34gbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorI34gbXNnc3RyICJHL8OHIHBvcnR1IGVyacWfaW1pIGFsxLFuYW3EsXlvcjogIGlvcGwoMykgw6dhxJ9yxLFzxLEgYmHFn2FyxLFzxLF6LiIKKworI34gbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKKyN+IG1zZ3N0ciAiU2l6ZSByb290IHlldGtpbGVyaSBnZXJla2xpLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGxpbmUiCisjfiBtc2dzdHIgIsOnxLFrdMSxIGhhdHTEsSBiYcWfbGF0xLFsYW1hZMSxIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJoYXRhOiBzaW55YWwgacWfbGV5aWNpIGF5YXJsYW5hbWFkxLEiCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJoYXRhOiBzaW55YWwgacWfbGV5aWNpIGdlcmkgecO8a2xlbmVtZWRpIgorCisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMsICVzIMO8emVyaW5kZSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBiYcSfbGFuYWJpbGlyIgorCisjfiBtc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICIlcyBzYWx0IG9rdW51ciBkw7ZuZ8O8IG9sYXJhayBrdWxsYW7EsWxkxLEsIHNhbHQtb2t1bnVyIG9sYXJhayBiYcSfbGFuxLF5b3IiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBkYWhhIGZhemxhIGRvc3lhIHNpc3RlbWkgYWxnxLFsYW5kxLEuIEJ1IGdlcsOnZWtsZcWfbWVtZWxpeWRpLFxuIgorI34gIiAgICAgICBkb3N5YSBzaXN0ZW1pIHRpcGkgaGFyaWNlbiBiZWxpcmxlbWUgacOnaW4gLXQgPHRpcD4ga3VsbGFuxLFuIHlhIGRhXG4iCisjfiAiICAgICAgIGF5Z8SxdMSxIHRlbWl6bGVtZWsgacOnaW4gd2lwZWZzKDgpIGt1bGxhbsSxbi4iCisKKyN+IG1zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiRG9zeWEgc2lzdGVtaSB0w7xyw7wgc2FwdGFuYW1hZMSxIHZlIGhpw6diaXJpIGJlbGlydGlsbWVtacWfIgorCisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJkb3N5YSBzaXN0ZW1pIHRpcGluaSBiZWxpcnRtZWxpc2luaXoiCisKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgImJhxJ9sYW5tYSBrYXluYcSfxLEgdGFuxLFtbGFubWFkxLEiCisKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICIlczogbW91bnQgYmHFn2FyxLFzxLF6IgorCisjfiBtc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGRvc3lhIHNpc3RlbWkgYmHEn2xhbmTEsSBhbmNhayBtb3VudCg4KSBiYcWfYXLEsXPEsXoiCisKKyN+IG1zZ2lkICIlcyBpcyBidXN5IgorI34gbXNnc3RyICIlcyBtZcWfZ3VsIgorCisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgemF0ZW4gJXMgw7x6ZXJpbmRlIGJhxJ9sxLFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiICAgICAgIEJhesSxIGR1cnVtbGFyZGEgc3lzbG9nJ2RhIGJ1bHVuYW4gYmlsZ2lsZXIgeWFyYXJsxLFkxLFyLlxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIGdpYmkgYmlyxZ9leWxlciBkZW5leWluXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgImJpbGlubWV5ZW4gc2XDp2VuZWsgJyVjJyIKKworI34gbXNnaWQgIiIKKyN+ICIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisjfiAiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IGhlZGVmIG1lxZ9ndWxcbiIKKyN+ICIgICAgICAgIChCYXrEsSBkdXJ1bWxhcmRhIGF5Z8SxdMSxIGt1bGxhbmFuIHPDvHJlw6dsZXIgaGFra8SxbmRhXG4iCisjfiAiICAgICAgICAga3VsbGFuxLHFn2zEsSBiaWxnaSBsc29mKDgpIHZleWEgZnVzZXIoMSkgaWxlIGJ1bHVuYWJpbGlyLikiCisKKyN+IG1zZ2lkICIlczogbW91bnRwb2ludCBub3QgZm91bmQiCisjfiBtc2dzdHIgIiVzOiBiYcSfbGFtYSBub2t0YXPEsSBidWx1bmFtYWTEsSIKKworI34gbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKKyN+IG1zZ3N0ciAic2F0xLFyICVkIMOnb2sgdXp1biwgw6fEsWt0xLEga8SxcnDEsWxhY2FrIgorCisjfiBtc2dpZCAiaW5jb21wbGV0ZSB3cml0ZSB0byBcIiVzXCIgKHdyaXR0ZW4gJXpkLCBleHBlY3RlZCAlemQpXG4iCisjfiBtc2dzdHIgIlwiJXNcImUgYml0bWVtacWfIHlhem1hICh5YXrEsWxhbiAlemQsIGJla2xlbmVuICV6ZClcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorI34gbXNnc3RyICIlczogaW5vdGlmeSBzYWF0aSBla2xlbmVtZWRpIChlcmnFn2lsZW4gaW5vdGlmeSBzYWF0bGVyaW5pIHPEsW7EsXJsYSkuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICIgJXMgW3Nlw6dlbmVrXSA8ZG9zeWE+XG4iCisKKyN+IG1zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorI34gbXNnc3RyICJHw7xubMO8ayBkb3N5YXPEsW7EsW4gYsO8ecO8bWVzaW5pIGl6bGUuXG4iCisKKyN+IG1zZ2lkICIgLW4sIC0tbGluZXMgPG51bWJlcj4gICBvdXRwdXQgdGhlIGxhc3QgPG51bWJlcj4gbGluZXNcbiIKKyN+IG1zZ3N0ciAiIC1uLCAtLWxpbmVzIDxzYXnEsT4gICBzb24gPHNhecSxPiBzYXTEsXLEsSBnw7ZzdGVyXG4iCisKKyN+IG1zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKKyN+IG1zZ3N0ciAiIC08c2F5xLE+ICAgICAgICAgICAgICAnLW4gPHNhecSxPicgaWxlIGF5bsSxXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiB1c2Ugb2YgJ3RhaWxmJyBpcyBkZXByZWNhdGVkLCB1c2UgJ3RhaWwgLWYnIGluc3RlYWQuXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogJ3RhaWxmJyBhcnTEsWsga3VsbGFuxLFsbcSxeW9yLCBvbnVuIHllcmluZSAndGFpbCAtZicga3VsbGFuxLFuLlxuIgorCisjfiBtc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImdpcmRpIGRvc3lhc8SxIGJlbGlydGlsbWVkaSIKKworI34gbXNnaWQgIiVzOiBpcyBub3QgYSBmaWxlIgorI34gbXNnc3RyICIlczogYmlyIGRvc3lhIGRlxJ9pbCIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgImJsb2sgdXp1bmx1xJ91IGJlbGlydGlsaXIiCisKKyN+IG1zZ2lkICIgICVzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorI34gbXNnc3RyICIgICVzIC0tcmVwb3J0IFtBWUdJVExBUl1cbiIKKworI34gbXNnaWQgIiAgJXMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiBtc2dzdHIgIiAgJXMgWy12fC1xXSBLT01VVExBUiBBWUdJVExBUlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBhw6fEsWxhbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTpcbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgIiVzIGJpciBibG9rIGF5Z8SxdMSxIHlhIGRhIGRvc3lhc8SxIGRlxJ9pbFxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIFsgLW4gXSBBWUdJVFxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBpbnRvIGRpclxuIgorI34gIiAtdiAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorI34gIiBmaWxlICAgICAgIGZpbGUgdG8gdGVzdFxuIgorI34gbXNnc3RyICIiCisjfiAia3VsbGFuxLFtxLE6ICVzIFstaHZdIFsteCBkaXppbl0gZG9zeWFcbiIKKyN+ICIgLWggICAgICAgICBidSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKyN+ICIgLXggZGl6aW4gICBkaXppbiBpw6dpbmUgYcOnYXJcbiIKKyN+ICIgLXYgICAgICAgICBheXLEsW50xLFsxLEgw6fEsWt0xLEgdmVyaXJcbiIKKyN+ICIgZG9zeWEgICAgICBkZW5lbmVuIGRvc3lhXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY29tcGlsZWQgd2l0aG91dCAteCBzdXBwb3J0IgorI34gbXNnc3RyICIlczogLXggZGVzdGXEn2kgb2xtYWtzxLF6xLFuIGRlcmxlbm1pxZ9cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogJXMgWy1sYXJ2c21mXSAvZGV2L8SwU8SwTVxuIgorCisjfiBtc2dpZCAiJXM6IG9wdGlvbiBwYXJzZSBlcnJvclxuIgorI34gbXNnc3RyICIlczogc2XDp2VuZWsgw6fDtnrDvG1sZW1lIGhhdGFzxLFcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgWy14XSBbLWQgPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLdWxsYW7EsW3EsTogJXMgWy12XSBbLU4gaS1kw7zEn8O8bVNhecSxc8SxXSBbLVYgYsO2bMO8bcSwc21pXVxuIgorI34gIiAgICAgICBbLUYgZHN5U2lzdMSwc21pXSBheWfEsXQgW2Jsb2tTYXnEsXPEsV1cbiIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyBiaXIgYmxvay3DtnplbCBheWfEsXQgZGXEn2lsIgorCisjfiBtc2dpZCAiJXM6IE91dCBvZiBtZW1vcnkhXG4iCisjfiBtc2dzdHIgIiVzOiBCZWxsZWsgeWV0ZXJzaXohXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIsOHb2sgdXp1biAoJXUgYmF5dGzEsWspIGRvc3lhIGlzbWkgYCVzJyBidWx1bmR1LlxuIgorI34gIm1rY3JhbWZzLmMgacOnaW5kZSBNQVhfSU5QVVRfTkFNRUxFTiBkZcSfZXJpbmkgYXJ0dMSxcsSxbiB2ZSB0ZWtyYXIgZGVybGV5aW4uICAgw4fEsWvEsWzEsXlvci5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFstYyB8IC1sIGRvc3lhaXNtaV0gWy1uWFhdIFstaVhYXSAvZGV2L2lzaW0gW2Jsb2tTYXnEsXPEsV1cbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICJ0YWJsb2xhciBpw6dpbiB0YW1wb24gYmVsbGVrIGF5csSxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgImTDvMSfw7xtbGVyIGnDp2luIHRhbXBvbiBiZWxsZWsgYXlyxLFsYW3EsXlvciIKKworI34gbXNnaWQgIm9uZSBiYWQgYmxvY2tcbiIKKyN+IG1zZ3N0ciAiYmlyIGJvenVrIGJsb2tcbiIKKworI34gbXNnaWQgInN0cnRvbCBlcnJvcjogbnVtYmVyIG9mIGJsb2NrcyBub3Qgc3BlY2lmaWVkIgorI34gbXNnc3RyICJzdHJ0b2wgaGF0YXPEsTogYmxvayBzYXnEsXPEsSBiZWxpcnRpbG1lbWnFnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNlY3RvciBzaXplIGZvciAlcyIKKyN+IG1zZ3N0ciAiJXMgdXp1bmx1xJ91IGFsxLFuYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY2FsbG9jKCkgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJiZWxsZWsgYXlyxLFsYW1hZMSxIgorCisjfiBtc2dpZCAiQmFkIHN3YXAgaGVhZGVyIHNpemUsIG5vIGxhYmVsIHdyaXR0ZW4uXG4iCisjfiBtc2dzdHIgIlRha2FzIGJhxZ9sxLHEn8SxIHV6dW5sdcSfdSBoYXRhbMSxLCBiaXIgZXRpa2V0IHlhesSxbG1hbcSxxZ8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1wUEFHRVNaXSBbLUwgbGFiZWxdIFstVSBVVUlEXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxbcSxOiAlcyBbLWNdIFstdjB8LXYxXSBbLXBTYXlmYVV6dW5sdcSfdV0gWy1MIGV0aWtldF1cbiIKKyN+ICIgICAgICAgICAgICAgICAgL2Rldi9pc2ltIFtibG9rU2F5xLFzxLFdXG4iCisKKyN+IG1zZ2lkICJvbmUgYmFkIHBhZ2VcbiIKKyN+IG1zZ3N0ciAiMSBib3p1ayBzYXlmYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICBzICAgZGlzayBldGlrZXRpbmluIHRhbWFtxLFuxLEgZ8O2c3RlcmlyIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLlxuIgorI34gbXNnc3RyICIlczogaGF0YTogc8O8csO8bSAlZCBiaWxpbm1peW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcydcbiIKKyN+IG1zZ3N0ciAiJyVzJyDDvHplcmluZGUgdGFrYXMgYXlnxLF0xLEgb2x1xZ90dXJ1bG1heWFjYWsiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAgJXMgIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTpcbiIKKworI34gbXNnaWQgIlVudXNhYmxlIgorI34gbXNnc3RyICJLdWxsYW7EscWfc8SxeiIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAiRGlzayBkZcSfacWfdGlyaWxkaS5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICIiCisjfiAiQsO2bMO8bWxlbWUgdGFibG9zdW51biBkb8SfcnUgb2xhcmFrIGfDvG5jZWxsZW5kacSfaW5kZW4gZW1pbiBvbGFiaWxtZWsgacOnaW5cbiIKKyN+ICJzaXN0ZW1pIHllbmlkZW4gYmHFn2xhdMSxbi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVWUFSSTogSGVyaGFuZ2kgYmlyIERPUyA2LnggYsO2bMO8bcO8bsO8IG9sdcWfdHVyZHV5c2FuxLF6IHlhIGRhXG4iCisjfiAiZGXEn2nFn2lrbGlrIHlhcHTEsXlzYW7EsXosIGzDvHRmZW4gY2ZkaXNrIG1hbiBzYXlmYWxhcsSxbmRha2lcbiIKKyN+ICJlayBiaWxnaWxlcmkgb2t1eXVuLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIsOWTMOcTUPDnEwgSEFUQSIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlzayd0ZW4gw6fEsWttYWsgacOnaW4gaGVyaGFuZ2kgYmlyIHR1xZ9hIGJhc8SxbsSxeiIKKworI34gbXNnaWQgIkNhbm5vdCBzZWVrIG9uIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIkRpc2sgc8O8csO8Y8O8IMO8emVyaW5kZSBhcmFtYSB5YXDEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRGlzayBzw7xyw7xjw7xzw7wgb2t1bmFtxLF5b3IiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgc8SxZsSxcsSxbmPEsSBzZWt0w7ZyZGVuIMO2bmNlIGJhxZ9sxLF5b3IiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJEaXNrIGLDtmzDvG3DvCBkaXNrIHNvbnVuZGFuIHNvbnJhIGJhxZ9sxLF5b3IiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtw7wgZGlzayBzb251bmRhbiBzb25yYSBiaXRpeW9yIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIkRpc2sgYsO2bMO8bcO8IHNvbiBrxLFzbcOuIHNpbGluZGlyIGnDp2luZGUgYml0aXlvciIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBub3QgaW4gZGlzayBvcmRlciIKKyN+IG1zZ3N0ciAibWFudMSxa3NhbCBiw7Zsw7xtbGVyIHPEsXJhbGFtYXlhIHV5Z3VuIGRlxJ9pbCIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJtYW50xLFrc2FsIGLDtmzDvG1sZXIgacOnacOnZSBnZcOnbWnFnyIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJiw7x5w7x0w7xsZW4gbWFudMSxa3NhbCBiw7Zsw7xtbGVyIGnDp2nDp2UgZ2XDp2l5b3IiCisKKyN+IG1zZ2lkICIhISEhIEludGVybmFsIGVycm9yIGNyZWF0aW5nIGxvZ2ljYWwgZHJpdmUgd2l0aCBubyBleHRlbmRlZCBwYXJ0aXRpb24gISEhISIKKyN+IG1zZ3N0ciAiISEhISBFayBkaXNrIGLDtmzDvG3DvCBpw6dlcm1leWVuIG1hbnTEsWtzYWwgYsO2bMO8bSBvbHXFn3R1cnVsdXJrZW4gacOnIGhhdGEgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiQnVyYWRhIG1hbnTEsWtzYWwgYsO2bMO8bSBvbHXFn3R1cnVsYW3EsXlvciAtLSBpa2kgZWsgYsO2bMO8bSBvbHXFn2FjYWt0xLEiCisKKyN+IG1zZ2lkICJNZW51IGl0ZW0gdG9vIGxvbmcuIE1lbnUgbWF5IGxvb2sgb2RkLiIKKyN+IG1zZ3N0ciAiTWVuw7wgw7bEn2VzaSDDp29rIHV6dW4uIE1lbsO8IHR1aGFmIGfDtnLDvG5lYmlsaXIuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIk1lbsO8IHnDtm5zw7x6LiBZYXRheSBvbGFyYWsgw7ZudGFuxLFtbGFuxLF5b3IuIgorCisjfiBtc2dpZCAiSWxsZWdhbCBrZXkiCisjfiBtc2dzdHIgIkt1cmFsZMSxxZ/EsSB0dcWfIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJZZW5pIGJpcmluY2lsIGRpc2sgYsO2bMO8bcO8IG9sdcWfdHVydXIiCisKKyN+IG1zZ2lkICJDYW5jZWwiCisjfiBtc2dzdHIgIlZhemdlw6ciCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEgxLDDpyBoYXRhICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICJBbGFuIChNQik6IgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICJCYcWfbGFuZ8Sxw6ciCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICJEaXNrIGLDtmzDvG3DvG7DvCBib8WfIGFsYW7EsW4gYmHFn2xhbmfEsWPEsW5hIGVrbGVyIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBlbmQgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtbsO8IGJvxZ8gYWxhbsSxbiBzb251bmEgZWtsZXIiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJFayBkaXNrIGLDtmzDvG3DvG7DvCBvbHXFn3R1cmFjYWsgeWVyIHlvayIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IHlvay4gQm/FnyB0YWJsbyBpbGUgYmHFn2xhbmFjYWsuIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IHTDvHLDvCBiaWxpbm1peW9yIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAiVGVtaXogYmlyIHRhYmxvIGlsZSBiYcWfbGFtYWsgaXN0ZXIgbWlzaW5peiBbZS9IXSA/IgorCisjfiBtc2dpZCAiQ2Fubm90IG9wZW4gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAiRGlzayBhw6fEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAiT3BlbmVkIGRpc2sgcmVhZC1vbmx5IC0geW91IGhhdmUgbm8gcGVybWlzc2lvbiB0byB3cml0ZSIKKyN+IG1zZ3N0ciAiQcOnxLFsYW4gZGlzayBzYWx0LW9rdW51ciAtIHlhem1hIGl6bmluaXogeW9rIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICJCaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCBib3p1ayIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIlV5YXLEsSEhIEJ1IGnFn2xlbSBkaXNrIMO8emVyaW5kZWtpIHZlcml5aSB5b2tlZGViaWxpciEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiTMO8dGZlbiB5YSBgZXZldMK0IHlhIGRhIGBoYXnEsXLCtCB5YXrEsW7EsXoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlLCBidXQgcmUtcmVhZCB0YWJsZSBmYWlsZWQuICBSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHRvIHVwZGF0ZSB0YWJsZS4iCisjfiBtc2dzdHIgIkLDtmzDvG1sZW1lIHRhYmxvc3UgeWF6xLFsZMSxIGFtYSB0YWJsbyB5ZW5pZGVuIG9rdW5hbWFkxLEuIFNpc3RlbWkgeWVuaWRlbiBiYcWfbGF0xLFuLiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICLDlm55w7xrbGVtZSBpw6dpbiBpbWxlbm1pxZ8gaGnDpyBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCB5b2suIERPUyBNQlIgYnVudSBiYcWfbGF0YW1heWFiaWxpci4iCisKKyN+IG1zZ2lkICJNb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZS4gRE9TIE1CUiBjYW5ub3QgYm9vdCB0aGlzLiIKKyN+IG1zZ3N0ciAiw5ZuecO8a2xlbWUgacOnaW4gaW1sZW5tacWfIMOnb2sgc2F5xLFkYSBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCB2YXIuIERPUyBNQlIgYnVudSBiYcWfbGF0YW1heWFiaWxpci4iCisKKyN+IG1zZ2lkICJFbnRlciBmaWxlbmFtZSBvciBwcmVzcyBSRVRVUk4gdG8gZGlzcGxheSBvbiBzY3JlZW46ICIKKyN+IG1zZ3N0ciAiRG9zeWEgaXNtaW5pIGdpcmluIHlhIGRhIEVOVEVSIHR1xZ91bmEgYmFzxLFuOiAiCisKKyN+IG1zZ2lkICJEaXNrIERyaXZlOiAlc1xuIgorI34gbXNnc3RyICJTYWJpdCBEaXNrOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIlNla3TDtnIgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAiU2VrdMO2ciAlZDpcbiIKKworI34gbXNnaWQgIiAgIE5vbmUgICAiCisjfiBtc2dzdHIgIiAgIFlvayAgICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICBCaXIvTWFuIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICBCaXJpbmNpbCAiCisKKyN+IG1zZ2lkICIgICBMb2dpY2FsIgorI34gbXNnc3RyICIgTWFudMSxa3NhbCAiCisKKyN+IG1zZ2lkICIoJTAyWCkiCisjfiBtc2dzdHIgIiglMDJYKSIKKworI34gbXNnaWQgIk5vbmUiCisjfiBtc2dzdHIgIkhpw6diaXJpIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyBUw7xyw7wgICAgICAgU2VrdMO2ciAgICAgIFNla3TDtnIgICAgQmHFn2wgICAgIFNhecSxc8SxICAgIFNpc3RlbWkgICBUw7xyw7wgICAgRmxhbWFcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAgIC0tLS0tLS0tICAgIC0tLS0tLS0tLSAtLS0tLS0gIC0tLS0tLS0tLSAgLS0tLS0tLS0tICAtLS0tLSAgLS0tLS0tXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS1CYcWfbGFuZ8Sxw6ctLS0gICAgICAtLS0tQml0acWfLS0tLS0gICBCYcWfbGFuZ8Sxw6cgIFNla3TDtnJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgIyBGbGFncyBIZWFkIFNlY3QgIEN5bCAgIElEICBIZWFkIFNlY3QgIEN5bCAgICAgU2VjdG9yICAgIFNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiICMgRmxhbWEgS2FmYSBTZWt0IFNsZCAgS2ltbCBLYWZhIFNla3QgU2xkICAgIFNla3TDtnLDvCAgIFNhecSxc8SxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0gIC0tLS0tLS0tLSAtLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiSGFtIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAiVGFibG8gdGVtZWwgdmVyaSBiacOnZW1pIG9sYXJhayB5YXrEsWzEsXIiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICJUYWJsb3l1IHNla3TDtnJsZXJlIGRhxJ/EsWzEsW3EsW5hIGfDtnJlIHlhemFyIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIlRhYmxvIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICJUYWJsbyB5YXrEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAiSGVscCBTY3JlZW4gZm9yIGNmZGlzayIKKyN+IG1zZ3N0ciAiY2ZkaXNrIFlhcmTEsW0gRWtyYW7EsSIKKworI34gbXNnaWQgImRpc2sgZHJpdmUuIgorI34gbXNnc3RyICIgIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorI34gbXNnc3RyICJUZWxpZiBIYWtrxLEgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICBTaWxpbmRpciwga2FmYSwgc2VrdMO2ci/EsHogcGFyYW1ldHJlbGVyaW5pIGRlxJ9pxZ90aXJpciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBVWUFSSTogQnUgc2XDp2VuZWsgc2FkZWNlIG5lIHlhcHTEscSfxLFuxLEgaXlpIGJpbGVuIGtpxZ9pbGVyY2UiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIGt1bGxhbsSxbGFiaWxpci4iCisKKyN+IG1zZ2lkICIgIG0gICAgICAgICAgTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgbSAgICAgICAgICBTZcOnaWxlbiBkaXNrIGLDtmzDvG3DvG7DvCBrYWxhbiBib8WfIHllcmUgc8SxxJ9kxLFyxLFyIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEJpbGdpOiBEaXNrIGLDtmzDvG3DvG7DvCBET1MsIE9TLzIgdmUgYmVuemVyaSBzaXN0ZW1sZXJsZSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIHV5dW1zdXpsdWsgb2x1xZ90dXJhYmlsaXIuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIHRoYXQgeW91IGNhbiBjaG9vc2UgZnJvbToiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBCdSBiacOnZW1sZXI6IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICByIC0gVGVtZWwgdmVyaSAodmVyaW5pbiBkaXNrZSB5YXrEsWxhbiBiacOnZW1pKSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICBzIC0gVGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgcyAtIERpc2sgYsO2bMO8bWxlcmluaW4gc2VrdMO2cmxlcmUgZGHEn8SxbMSxbcSxbsSxIGfDtnN0ZXJpciIKKworI34gbXNnaWQgIiAgdSAgICAgICAgICBDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkiCisjfiBtc2dzdHIgIiAgdSAgICAgICAgICBEaXNrIGLDtmzDvG3DvCBib3l1bnVuIGJpcmltaW5pIGRlxJ9pxZ90aXJpciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIE1CLCBzZWt0w7ZyLCBzaWxpbmRpciBiaXJpbWxlcmkgc8SxcmF5bGEgeWVyIGRlxJ9pxZ90aXJpciIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAgeWF6ZMSxcm1heWFjYcSfxLFuxLF6YSBrZXNpbiBrYXJhciB2ZXJlYmlsaXJzaW5peiIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICBFa3JhbsSxIHRhemVsZXIiCisKKyN+IG1zZ2lkICIgID8gICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCisjfiBtc2dzdHIgIiAgPyAgICAgICAgICBCdSB5YXJkxLFtIGVrcmFuxLFuxLEgZ8O2c3RlcmlyIgorCisjfiBtc2dpZCAiQ2hhbmdlIGN5bGluZGVyIGdlb21ldHJ5IgorI34gbXNnc3RyICJTaWxpbmRpciBnZW9tZXRyaXNpbmkgZGXEn2nFn3RpcmlyIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIkthZmEgZ2VvbWV0cmlzaW5pIGRlxJ9pxZ90aXJpciIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlNla3TDtnIgZ2VvbWV0cmlzaW5pIGRlxJ9pxZ90aXJpciIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIlRhbWFtIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJHZW9tZXRyaSBkZcSfacWfaWtsacSfaSB5YXDEsWxkxLEiCisKKyN+IG1zZ2lkICJFbnRlciB0aGUgbnVtYmVyIG9mIGhlYWRzOiAiCisjfiBtc2dzdHIgIkthZmEgc2F5xLFzxLFuxLEgdmVyaW46ICIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAic2VrdMO2ci9peiBzYXnEsXPEsW7EsSB2ZXJpbjogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJEb3N5YSBzaXN0ZW1pIHTDvHLDvCBib8WfIG9sYXJhayBkZcSfacWfdGlyaWxlbWV6IgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGV4dGVuZGVkIgorI34gbXNnc3RyICJEb3N5YSBzaXN0ZW1pIHTDvHLDvCBlayBvbGFyYWsgZGXEn2nFn3RpcmlsZW1leiIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiTmU/KCUwMlgpIgorCisjfiBtc2dpZCAiLCBOQyIKKyN+IG1zZ3N0ciAiLCBOQyIKKworI34gbXNnaWQgIlByaS9Mb2ciCisjfiBtc2dzdHIgIkJpci9NYW4iCisKKyN+IG1zZ2lkICJVbmtub3duICglMDJYKSIKKyN+IG1zZ3N0ciAiQmlsaW5tZXllbiAoJTAyWCkiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICJCb3l1dDogJWxsZCBiYXl0LCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJCb3l1dDogJWxsZCBiYXl0LCAlbGxkLiVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIkthZmE6ICVkICAgICAgICBTZWt0w7ZyL8SwejogJWQgICAgICAgU2lsaW5kaXI6ICVsbGQgICIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiQsO2bMO8bSBUw7xyw7wiCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICJEUyBUw7xyw7wiCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgU2VrdMO2ciAgIgorCisjfiBtc2dpZCAiICBDeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAgU2lsaW5kaXIiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiICBCb3kgKE1CKSAiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICBCb3kgKEdCKSAiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiRGlzayBnZW9tZXRyaXNpbmkgZGXEn2nFn3RpcmlyICh1em1hbmxhciBpw6dpbikiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiU8SxxJ9kxLFyIgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIlNlw6dpbGVuIGRpc2sgYsO2bMO8bcO8bsO8IGthbGFuIHllcmUgZ8O2cmUgYXlhcmxhciAodXptYW5sYXIgacOnaW4pIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIllheiIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIkRvc3lhIHNpc3RlbWkgdMO8csO8bsO8IGRlxJ9pxZ90aXJpciAoRE9TLCBMaW51eCwgT1MvMiwuLix2cykiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdW5pdHMgb2YgdGhlIHBhcnRpdGlvbiBzaXplIGRpc3BsYXkgKE1CLCBzZWN0LCBjeWwpIgorI34gbXNnc3RyICJHw7ZzdGVyaWxlY2VrIGJveSBiaXJpbWluaSBkZcSfacWfdGlyaXIgKE1CLCBzZWt0LCBzbGQpIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICJCdSBkaXNrIGLDtmzDvG3DvCBzxLHEn2TEsXLEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkJpciBib8WfIGRpc2sgYsO2bMO8bcO8bsO8biB0w7xyw7wgZGXEn2nFn3RpcmlsZW1leiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICJUZWxpZiBIYWtrxLEgwqkgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJLdWxsYW7EsW3EsTpcbiIKKyN+ICJTw7xyw7xtw7wgZ8O2c3RlcjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZ8O2c3RlcjpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW3Nlw6dlbmVrbGVyXSBheWfEsXRcbiIKKyN+ICJFdGtpbGXFn2ltbGkga3VsbGFuxLFtOlxuIgorI34gIiAgICAgICAgJXMgW3Nlw6dlbmVrbGVyXSBheWfEsXRcbiIKKyN+ICJcbiIKKyN+ICJTZcOnZW5la2xlcjpcbiIKKyN+ICItYTogQXlkxLFubGF0bWEgeWVyaW5lIG9rIGt1bGxhbsSxbMSxcjtcbiIKKyN+ICItejogRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgb2t1bWFkYW4gc8SxZsSxciB0YWJsbyBpbGUgYmHFn2xhcjtcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogw4dla2lyZGVrdGUga2F5xLF0bMSxIHNpbGluZGlyIHNhecSxc8SxKEMpLCBrYWZhIHNhecSxc8SxKEgpLFxuIgorI34gIiAgICAgICAgICAgICAgICBzZWt0w7ZyL2l6IHNhecSxc8SxKFMpIGRlxJ9lcmxlcmluaSBkZcSfacWfdGlyaXIuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIEFJWCBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IExpbnV4IGNhbm5vdCBoYW5kbGUgdGhlc2VcbiIKKyN+ICJcdGRpc2tzIGF0IHRoZSBtb21lbnQuICBOZXZlcnRoZWxlc3Mgc29tZVxuIgorI34gIlx0YWR2aWNlOlxuIgorI34gIlx0MS4gZmRpc2sgd2lsbCBkZXN0cm95IGl0cyBjb250ZW50cyBvbiB3cml0ZS5cbiIKKyN+ICJcdDIuIEJlIHN1cmUgdGhhdCB0aGlzIGRpc2sgaXMgTk9UIGEgc3RpbGwgdml0YWxcbiIKKyN+ICJcdCAgIHBhcnQgb2YgYSB2b2x1bWUgZ3JvdXAuIChPdGhlcndpc2UgeW91IG1heVxuIgorI34gIlx0ICAgZXJhc2UgdGhlIG90aGVyIGRpc2tzIGFzIHdlbGwsIGlmIHVubWlycm9yZWQuKVxuIgorI34gIlx0My4gQmVmb3JlIGRlbGV0aW5nIHRoaXMgcGh5c2ljYWwgdm9sdW1lIGJlIHN1cmVcbiIKKyN+ICJcdCAgIHRvIHJlbW92ZSB0aGUgZGlzayBsb2dpY2FsbHkgZnJvbSB5b3VyIEFJWFxuIgorI34gIlx0ICAgbWFjaGluZS4gIChPdGhlcndpc2UgeW91IGJlY29tZSBhbiBBSVhwZXJ0KS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdERpc2sgw7x6ZXJpbmRlIGdlw6dlcmxpIGJpciBBSVggZXRpa2V0aSB2YXIuXG4iCisjfiAiXHROZSB5YXrEsWsga2ksIExpbnV4IMWfdSBhbmRhIGJ1IGRpc2tsZXJsZVxuIgorI34gIlx0w6dhbMSxxZ9hbcSxeW9yLiBCdW5hIHJhxJ9tZW4gYmlyYXogdGF2c2l5ZTpcbiIKKyN+ICJcdDEuIGZkaXNrIGlsZSDDvHN0w7xuZSB5YXphcnNhbsSxeiBpw6dlcmnEn2luaSBrYXliZWRlY2Vrc2luaXouXG4iCisjfiAiXHQyLiBCdSBkaXNraW4gaGFsYSBiaXIgZ3J1YnVuIHlhxZ9hbXNhbCDDtm5lbWUgc2FoaXAgYmlyXG4iCisjfiAiXHQgICDDvHllc2kgb2xtYWTEscSfxLFuZGFuIGVtaW4gb2x1bi4gKEFrc2kgdGFrZGlyZGUsXG4iCisjfiAiXHQgICBheW5hbGFubWFtxLHFn3NhLCBkacSfZXIgZGlza2xlcmkgZGUgc2lsZWJpbGlyc2luaXouXG4iCisjfiAiXHQzLiBCdSBmaXppa3NlbCBiw7Zsw7xtw7wgc2lsbWVkZW4gw7ZuY2UgZGlza2kgQUlYXG4iCisjfiAiXHQgICBtYWtpbmFuxLF6ZGFuIG1hbnTEsWtzYWwgb2xhcmFrIGthbGTEsXJkxLHEn8SxbsSxemFcbiIKKyN+ICJcdCAgIGVtaW4gb2x1bi4gKEFrc2kgdGFrZGlyZGUgYmlyIEFJWHBlcnQgaGFsaW5lXG4iCisjfiAiXHQgICBnZWxlYmlsaXJzaW5pei4pIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkJTRCBsYWJlbCBmb3IgZGV2aWNlOiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQXlnxLF0IGnDp2luIEJTRCBkaXNrIGV0aWtldGk6ICVzXG4iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAiIEtvbXV0ICB5YXB0xLHEn8SxIGnFnyAiCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIGJpciBCU0QgZGlzayBiw7Zsw7xtw7xuw7wgc2lsZXIiCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICB5ZW5pIGJpciBCU0QgZGlzayBiw7Zsw7xtw7wgZWtsZXIiCisKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgQlNEIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgcCAgIEJTRCBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VudSBnw7ZzdGVyaXIiCisKKyN+IG1zZ2lkICIgICB0ICAgY2hhbmdlIGEgcGFydGl0aW9uJ3MgZmlsZXN5c3RlbSBpZCIKKyN+IG1zZ3N0ciAiICAgdCAgIGRpc2sgYsO2bMO8bcO8bsO8biBkb3N5YSBzaXN0ZW1pIGtpbWxpxJ9pbmkgZ8O2c3RlcmlyIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAgYmlyaW0gZGXEn2nFn3RpcmlyIChzaWxpbmRpci9zZWt0w7ZyKSIKKworI34gbXNnaWQgIiAgIHcgICB3cml0ZSBkaXNrbGFiZWwgdG8gZGlzayIKKyN+IG1zZ3N0ciAiICAgdyAgIGRpc2sgZXRpa2V0aW5pIGRpc2tlIHlhemFyIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICIlcyBkaXNrIGV0aWtldGkgc2VrdMO2ciAlZCBkZW4gb2t1bnV5b3IuXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkJTRCBkaXNrIGV0aWtldGkga29tdXR1ICh5YXJkxLFtIGnDp2luIG0pOiAiCisKKyN+IG1zZ2lkICJ0eXBlOiAlZFxuIgorI34gbXNnc3RyICJ0w7xyw7w6ICVkXG4iCisKKyN+IG1zZ2lkICJmbGFnczoiCisjfiBtc2dzdHIgImZsYW1hbGFyOiIKKworI34gbXNnaWQgImJ5dGVzL3NlY3RvcjogJWxkXG4iCisjfiBtc2dzdHIgImJheXQvc2VrdMO2cjogJWxkXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGRcbiIKKyN+IG1zZ3N0ciAic2VrdMO2ci9pejogJWxkXG4iCisKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZFxuIgorI34gbXNnc3RyICJpei9zaWxpbmRpcjogJWxkXG4iCisKKyN+IG1zZ2lkICJzZWN0b3JzL2N5bGluZGVyOiAlbGRcbiIKKyN+IG1zZ3N0ciAic2VrdMO2ci9zaWxpbmRpcjogJWxkXG4iCisKKyN+IG1zZ2lkICJjeWxpbmRlcnM6ICVsZFxuIgorI34gbXNnc3RyICJzaWxpbmRpciBzYXnEsXPEsTogJWxkXG4iCisKKyN+IG1zZ2lkICJycG06ICVkXG4iCisjfiBtc2dzdHIgImRldmlyIHNhecSxc8SxOiAlZFxuIgorCisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWRcbiIKKyN+IG1zZ3N0ciAic2VycGnFn3Rpcm1lOiAlZFxuIgorCisjfiBtc2dpZCAidHJhY2tza2V3OiAlZFxuIgorI34gbXNnc3RyICJpemtheW1hc8SxOiAlZFxuIgorCisjfiBtc2dpZCAiY3lsaW5kZXJza2V3OiAlZFxuIgorI34gbXNnc3RyICJzaWxpbmRpcmtheW1hc8SxOiAlZFxuIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkXHRcdCMgbWlsbGlzZWNvbmRzXG4iCisjfiBtc2dzdHIgImthZmFkZcSfacWfaW1pICVsZFx0XHQjIG1pbGlzYW5peWVcbiIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZFx0IyBtaWxsaXNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiaXpkZW4taXplIGdlw6dpxZ86ICVsZFx0IyBtaWxpc2FuaXllXG4iCisKKyN+IG1zZ2lkICJkcml2ZWRhdGE6ICIKKyN+IG1zZ3N0ciAiYXlnxLF0dmVyaXNpOiIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICBiYcWfbGFuZ8Sxw6cgICAgYml0acWfICAgICBib3kgICAgICBkc3TDvHLDvCAgIFtkYm95dSBiYm95dSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIiA8PSBzZWt0w7ZyL2l6ICogaXovc2lsaW5kaXIgKMO2bnRhbsSxbWzEsSkgb2xtYWzEsS5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiBkaXNrIGLDtmzDvG3DvCBzYXnEsXPEsSDDp29rIGZhemxhICglZCwgZW4gw6dvayAlZCkuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU3luY2luZyBkaXNrcy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2tsZXIgZcWfemFtYW5sYW7EsXlvci5cbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byByZWFkICVzXG4iCisjfiBtc2dzdHIgIiVzIG9rdW5hbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gc2VlayBvbiAlc1xuIgorI34gbXNnc3RyICIlcyDDvHplcmluZGUgZXJpxZ9pbSBvbGFuYWtzxLF6XG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gd3JpdGUgJXNcbiIKKyN+IG1zZ3N0ciAiJXMgeWF6xLFsYW3EsXlvclxuIgorCisjfiBtc2dpZCAiRmF0YWwgZXJyb3JcbiIKKyN+IG1zZ3N0ciAiw5Zsw7xtY8O8bCBIYXRhXG4iCisKKyN+IG1zZ2lkICIgICBlICAgbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICIgICBlICAgZWsgZGlzayBiw7Zsw7xtbGVyaW5pIGxpc3RlbGVyIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICJCZWxpcnRpbG1lbGkiCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAia2FmYSIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgInNla3TDtnIiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIHZlICIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguXG4iCisjfiAiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorI34gIkFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzIGNvbnRlbnQgd29uJ3QgYmUgcmVjb3ZlcmFibGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZZW5pIGJpciBET1MgZGlzayBldGlrZXRpIGt1cmd1bGFuxLF5b3IuIFNpeiBvbmxhcsSxIHlhemFuYSBrYWRhciBkZcSfacWfaWtsaWtsZXJcbiIKKyN+ICJiZWxsZWt0ZSBiZWtsZXllY2VrLiBBa3NpIHRha2RpcmRlLCDDtm5jZWtpIGnDp2VyaWsga3VydGFyxLFsYW1heWFjYWsuXG4iCisKKyN+IG1zZ2lkICJOb3RlOiBzZWN0b3Igc2l6ZSBpcyAlZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJCaWxnaTogc2VrdMO2ciB1enVubHXEn3UgJWQgKCVkIGRlxJ9pbClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRpc2sgaGFzIGJvdGggRE9TIGFuZCBCU0QgbWFnaWMuXG4iCisjfiAiR2l2ZSB0aGUgJ2InIGNvbW1hbmQgdG8gZ28gdG8gQlNEIG1vZGUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJCdSBkaXNrIGhlbSBET1MgaGVtIGRlIEJTRCBvbGFyYWsgaW1saS5cbiIKKyN+ICJCU0Qga2lwaW5lIGdlw6dtZWsgacOnaW4gJ2InIGtvbXV0dW51IHZlcmluLlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICJBeWfEsXQgbmUgZ2XDp2VybGkgYmlyIERPUyBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3UgbmUgZGUgU3VuLCBTR0kgeWEgZGEgT1NGIGRpc2sgZXRpa2V0bGVyaSBpw6dlcml5b3IuXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICLEsMOnIGhhdGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRG9zeWEgc29udW5hIHJhc3RsYW5kxLEgLSDDp8Sxa8SxbMSxeW9yLi5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlZCBoYXMgZW1wdHkgdHlwZVxuIgorI34gbXNnc3RyICJVeWFyxLE6ICVkIGRpc2sgYsO2bMO8bcO8bsO8biB0w7xyw7wgYm/FnyBnw7Zyw7xuw7x5b3JcbiIKKworI34gbXNnaWQgIiIKKyN+ICJZb3UgY2Fubm90IGNoYW5nZSBhIHBhcnRpdGlvbiBpbnRvIGFuIGV4dGVuZGVkIG9uZSBvciB2aWNlIHZlcnNhXG4iCisjfiAiRGVsZXRlIGl0IGZpcnN0LlxuIgorI34gbXNnc3RyICIiCisjfiAiQmlyIGRpc2sgYsO2bMO8bcO8bsO8IGJpciBlayBiw7Zsw7xtw7xuIGnDp2luZGUgeWEgZGEgaGVyaGFuZ2kgYmlyIHllcmRlXG4iCisjfiAiZGXEn2nFn3RpcmVtZXpzaW5pei4gw5ZuY2Ugc2lsbWVuaXogZ2VyZWtpci5cbiIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgZml6aWtzZWw9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgIm1hbnTEsWtzYWw9KCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWkgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIiVpIGRpc2sgYsO2bMO8bcO8bsO8biBiYcWfbGFuZ8SxY8SxIHNpbGluZGlyIHPEsW7EsXJsYXLEsSBkxLHFn8SxbmRhOlxuIgorCisjfiBtc2dpZCAic2hvdWxkIGJlICglZCwgJWQsIDEpXG4iCisjfiBtc2dzdHIgIiglZCwgJWQsIDEpIG9sbWFsxLF5ZMSxXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgIiglZCwgJWQsICVkKSBvbG1hbMSxeWTEsVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkIE1CICVsbGQgYmF5dFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbGQgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbGQgYmF5dFxuIgorCisjfiBtc2dpZCAiLCB0b3RhbCAlbGx1IHNlY3RvcnMiCisjfiBtc2dzdHIgIiwgdG9wbGFtICVsbHUgc2VrdMO2ciIKKworI34gbXNnaWQgIiIKKyN+ICJUaGlzIGRvZXNuJ3QgbG9vayBsaWtlIGEgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiUHJvYmFibHkgeW91IHNlbGVjdGVkIHRoZSB3cm9uZyBkZXZpY2UuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJCdSBiaXIgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGdpYmkgZ8O2csO8bm3DvHlvci5cbiIKKyN+ICJHYWxpYmEgeWFubMSxxZ8gYXlnxLF0IHNlw6d0aW5pei5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBCb290ICAgICAgU3RhcnQgICAgICAgICBFbmQgICAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBBw6fEsWzEscWfICAgIEJhxZ9sYW5nxLHDpyAgICAgQml0acWfICBCbG9rU2F5xLFzxLEgS21sIFNpc3RlbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBjeWxpbmRlcnNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGthZmEsICVkIHNla3TDtnIsICVkIHNpbGluZGlyXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAiTm8gQUYgIEhkIFNrdCAgU2xuICBIZCBTa3QgIFNsZCAgICBCYcWfbGFuZ8Sxw6cgICBCb3kgIEttbFxuIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgQUlYIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdEJ1IGZkaXNrIEFJWCBkaXNrIGV0aWtldGxlcmkgaWxlIMOnYWzEscWfYW1hei5cbiIKKyN+ICJcdERPUyBiw7Zsw7xtbGVyaSBla2xlbWVrIGlzdGl5b3JzYW7EsXogw7ZuY2UgeWVuaVxuIgorI34gIlx0YmlyIERPUyBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3Ugb2x1xZ90dXJ1bi4gKG8gaWxlKVxuIgorI34gIlx0VVlBUkk6IEJ1IGnFn2xlbSBpbGUgZGlza3Rla2kgdMO8bSBiaWxnaWxlIGtheWJhbGFjYWt0xLFyLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHRCdSBmZGlzayBBSVggZGlzayBldGlrZXRsZXJpIGlsZSDDp2FsxLHFn2FtYXouXG4iCisjfiAiXHRET1MgYsO2bMO8bWxlcmkgZWtsZW1layBpc3RpeW9yc2FuxLF6IMO2bmNlIHllbmlcbiIKKyN+ICJcdGJpciBET1MgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IG9sdcWfdHVydW4uIChvIGlsZSlcbiIKKyN+ICJcdFVZQVJJOiBCdSBpxZ9sZW0gaWxlIGRpc2t0ZWtpIHTDvG0gYmlsZ2lsZSBrYXliYWxhY2FrdMSxci5cbiIKKworI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIkJpciBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCBla2xlbml5b3JcbiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgS29tdXQgeWFwdMSxxJ/EsSBpxZ9cbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICBiaXJpbmNpbCBkaXNrIGLDtmzDvG3DvCAoMS00KVxuIgorCisjfiBtc2dpZCAiZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICJlICAgZWsiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueFxuIgorI34gInBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIG1hbnVhbCBwYWdlIGZvciBhZGRpdGlvbmFsXG4iCisjfiAiaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJVWUFSSTogSGVyaGFuZ2kgYmlyIERPUyA2LnggYsO2bMO8bcO8bsO8IG9sdcWfdHVyZHV5c2FuxLF6IHlhIGRhXG4iCisjfiAiZGXEn2nFn2lrbGlrIHlhcHTEsXlzYW7EsXosIGzDvHRmZW4gZmRpc2sgbWFuIHNheWZhbGFyxLFuZGFraVxuIgorI34gImVrIGJpbGdpbGVyaSBva3V5dW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEb3N5YSBrYXBhdMSxbMSxcmtlbiBoYXRhXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmxpdHlcbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiBTZWt0w7ZyIGhpemFsYW1hc8SxIERPUyB1eXVtbHUgb2xhcmFrIHlhcMSxbMSxeW9yXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiQnUgw6dla2lyZGVrIHNla3TDtnIgdXp1bmx1xJ91bnUga2VuZGlzaSBidWx1ci4gLSAtYiBzZcOnZW5lxJ9pIHlva3NhecSxbGTEsVxuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlIE9TRi8xIGRpc2sgZXRpa2V0aSBzYXB0YW5kxLEsIGRpc2sgZXRpa2V0aSBraXBpbmUgZ2lyaWxpeW9yLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRTR0kgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1IGnDp2luIHV6bWFuIG1lbsO8c8O8IHlvay5cbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0RGlzayDDvHplcmluZGUgZ2XDp2VybGkgYmlyIEFJWCBldGlrZXRpIHZhci5cbiIKKyN+ICJcdE5lIHlhesSxayBraSwgTGludXggxZ91IGFuZGEgYnUgZGlza2xlcmxlXG4iCisjfiAiXHTDp2FsxLHFn2FtxLF5b3IuIEJ1bmEgcmHEn21lbiBiaXJheiB0YXZzaXllOlxuIgorI34gIlx0MS4gZmRpc2sgaWxlIMO8c3TDvG5lIHlhemFyc2FuxLF6IGnDp2VyacSfaW5pIGtheWJlZGVjZWtzaW5pei5cbiIKKyN+ICJcdDIuIEJ1IGRpc2tpbiBoYWxhIGJpciBncnVidW4geWHFn2Ftc2FsIMO2bmVtZSBzYWhpcCBiaXJcbiIKKyN+ICJcdCAgIMO8eWVzaSBvbG1hZMSxxJ/EsW5kYW4gZW1pbiBvbHVuLiAoQWtzaSB0YWtkaXJkZSxcbiIKKyN+ICJcdCAgIGF5bmFsYW5tYW3EscWfc2EsIGRpxJ9lciBkaXNrbGVyaSBkZSBzaWxlYmlsaXJzaW5pei5cbiIKKyN+ICJcdDMuIEJ1IGZpemlrc2VsIGLDtmzDvG3DvCBzaWxtZWRlbiDDtm5jZSBkaXNraSBBSVhcbiIKKyN+ICJcdCAgIG1ha2luYW7EsXpkYW4gbWFudMSxa3NhbCBvbGFyYWsga2FsZMSxcmTEscSfxLFuxLF6YVxuIgorI34gIlx0ICAgZW1pbiBvbHVuLiAoQWtzaSB0YWtkaXJkZSBiaXIgQUlYcGVydCBoYWxpbmVcbiIKKyN+ICJcdCAgIGdlbGViaWxpcnNpbml6LikiCisKKyN+IG1zZ2lkICJBY2NvcmRpbmcgdG8gTUlQUyBDb21wdXRlciBTeXN0ZW1zLCBJbmMgdGhlIExhYmVsIG11c3Qgbm90IGNvbnRhaW4gbW9yZSB0aGFuIDUxMiBieXRlc1xuIgorI34gbXNnc3RyICJNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYydlIGfDtnJlLCBFdGlrZXQgNTEyIGJheXR0YW4gZmF6bGFzxLFuxLEgacOnZXJlbWV6XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiVkIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiAlZCBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU0dJIGRpc2sgZXRpa2V0aSk6ICVkIGthZmEsICVkIHNla3TDtnJcbiIKKyN+ICIlZCBzaWxpbmRpciwgJWQgZml6aWtzZWwgc2lsaW5kaXJcbiIKKyN+ICIlZCBlayBzZWt0w7ZyL3NsZCwgc2VycGnFn3Rpcm1lICVkOjFcbiIKKyN+ICIlc1xuIgorI34gIkJpcmltID0gJXMgICglZCAqICVkIGJheXQpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqICVkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTR0kgZGlzayBldGlrZXRpKTogJWQga2FmYSwgJWQgc2VrdMO2ciwgJWQgc2lsaW5kaXJcbiIKKyN+ICJCaXJpbSA9ICVzICAoJWQgKiAlZCBiYXl0KVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIi0tLS0tIHBhcnRpdGlvbnMgLS0tLS1cbiIKKyN+ICJQdCMgJSpzICBJbmZvICAgICBTdGFydCAgICAgICBFbmQgICBTZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSBkaXNrIGLDtmzDvG1sZXJpIC0tLS0tXG4iCisjfiAiQmwjICUqcyAgQmlsZ2kgICBCYcWfbGFuZ8Sxw6cgICBCaXRpxZ8gIFNla3RvciAgS2ltbCBTaXN0ZW1cbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSDDlm55w7xrbGVtZSBCaWxnaWxlcmkgLS0tLS1cbiIKKyN+ICLDlm55w7xrbGVtZSBkb3N5YXPEsTogJXNcbiIKKyN+ICItLS0tLSBEaXppbiBHaXJkaWxlcmkgLS0tLS1cbiIKKworI34gbXNnaWQgIiUyZDogJS0xMHMgc2VjdG9yJTV1IHNpemUlOHVcbiIKKyN+IG1zZ3N0ciAiJTJkOiAlLTEwcyBzZWt0w7ZyJTV1IGJveSU4dVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpc2tpbiB0w7xtw7xuw7wga2FwbGFkxLHEn8SxIGJlbGlydGlsZW4gZGlzayBiw7Zsw7xtw7wgJWQgYmxvayxcbiIKKyN+ICJkaXNraW4gdGFtYW3EsSBpc2UgJWQgYmxvay5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiJWQgZGlzayBiw7Zsw7xtw7wgc2lsaW5kaXIgc8SxbsSxcsSxbmRhIGJhxZ9sYW3EsXlvci5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIiVkIGRpc2sgYsO2bMO8bcO8IHNpbGluZGlyIHPEsW7EsXLEsW5kYSBiaXRtaXlvci5cbiIKKworI34gbXNnaWQgIlNvcnJ5IFlvdSBtYXkgY2hhbmdlIHRoZSBUYWcgb2Ygbm9uLWVtcHR5IHBhcnRpdGlvbnMuXG4iCisjfiBtc2dzdHIgIkJvxZ8gb2xtYXlhbiBiaXIgZGlzayBiw7Zsw7xtw7xuw7xuIGV0aWtldGluaSBkZcSfacWfdGlyZWJpbGlyc2luaXohXG4iCisKKyN+IG1zZ2lkICJZRVNcbiIKKyN+IG1zZ3N0ciAiRVZFVFxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpc2sgw7x6ZXJpbmRla2kgZGnEn2VyIGLDtmzDvG1sZXJpbiDDvHplcmluZSB0YcWfYW4gYmlyIGRpc2sgYsO2bMO8bcO8XG4iCisjfiAiYXnEsXJkxLHEn8SxbsSxesSxbiBmYXJrxLFuZGEgbcSxc8SxbsSxej9cbiIKKworI34gbXNnaWQgIllvdSB3aWxsIGdldCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEaXNrIMO8emVyaW5kZWtpIGRpxJ9lciBiw7Zsw7xtbGVyaW4gw7x6ZXJpbmUgdGHFn2FuIGJpciBkaXNrIGLDtmzDvG3DvFxuIgorI34gImF5xLFyYWNha3PEsW7EsXouIMOWbmNlIGJ1bnUgZMO8emVsdGluIVxuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJCaXIgeWVuaSBTR0kgZGlzayBldGlrZXRpIGt1cmd1bGFuxLF5b3IuIFNpeiBkaXNrZSB5YXphbmEga2FkYXJcbiIKKyN+ICJkZcSfacWfaWtsaWtsZXIgYmVsbGVrdGUgdHV0dWxhY2FrLiDFnsO8cGhlc2l6LCB5YXrEsWxkxLFrdGFuIHNvbnJhLFxuIgorI34gImRpc2t0ZSBidWx1bmFuIHTDvG0gYmlsZ2l5aSBiaXIgZGFoYSBnZXJpIGFsYW1hbWFrIMO8emVyZVxuIgorI34gImtheWJlZGVjZWtzaW5pei5cbiIKKworI34gbXNnaWQgIlRyeWluZyB0byBrZWVwIHBhcmFtZXRlcnMgb2YgcGFydGl0aW9uICVkLlxuIgorI34gbXNnc3RyICIlZCBkaXNrIGLDtmzDvG3DvG7DvG4gcGFyYW1ldHJlbGVyaSBva3VubWF5YSDDp2FsxLHFn8SxbMSxeW9yLlxuIgorCisjfiBtc2dpZCAiSUQ9JTAyeFx0U1RBUlQ9JWRcdExFTkdUSD0lZFxuIgorI34gbXNnc3RyICJLaW1saWs9JTAyeFx0QmHFn2xhbmfEscOnPSVkXHRCb3k9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIldSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGV0aWtldGkpOiAlZCBrYWZhLCAlZCBzZWt0w7ZyLCAlZCBycG1cbiIKKyN+ICIlZCBzaWxpbmRpciwgJWQgYWxtYcWfxLFrIHNpbGluZGlyLCAlZCBmaXppa3NlbCBzaWxpbmRpclxuIgorI34gIiVkIGZhemxhZGFuIHNla3Qvc2xkLCBzZXJwacWfdGlybWUgJWQ6MVxuIgorI34gIiVzXG4iCisjfiAiQmlyaW0gPSAlcyAgKCVkICogNTEyIGJheXQpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJXUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgZXRpa2V0aSk6ICVkIGthZmEsICVkIHNla3TDtnIsICVkIHNpbGluZGlyXG4iCisjfiAiQmlyaW0gPSAlcyAgKCVkICogNTEyIGJheXQpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIlKnMgRmxhZyAgICBTdGFydCAgICAgICBFbmQgICAgQmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIlKnMgRmxhbWEgQmHFn2xhbmfEscOnICAgIEJpdGnFnyAgIEJsb2sjICAgS2ltbCBTaXN0ZW1cbiIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIGdpemxpIEM6IGF5Z8SxdMSxIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdVxuIgorI34gbXNnc3RyICIlcyDDvHplcmluZGUgZXJpxZ9pbSBoYXRhc8SxIC0gJWx1IHlhIGVyacWfaWxlbWl5b3JcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3I6IHdhbnRlZCAweCUwOHglMDh4LCBnb3QgMHglMDh4JTA4eFxuIgorI34gbXNnc3RyICJlcmnFn2ltIGhhdGFzxLE6IDB4JTA4eCUwOHggaXN0ZW5kaSwgMHglMDh4JTA4eCBhbMSxbmTEsVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeSAtIGdpdmluZyB1cFxuIgorI34gbXNnc3RyICJiZWxsZWsgeWV0ZXJzaXogLSBixLFyYWvEsWzEsXlvclxuIgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbHVcbiIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlIG9rdW1hIGhhdGFzxLEgLSAlbHUgc2VrdMO2csO8IG9rdW5hbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZVxuIgorI34gbXNnc3RyICJIQVRBOiAlbHUgc2VrdMO2csO8IG1zZG9zIGltemFzxLEgdGHFn8SxbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyAtIGNhbm5vdCB3cml0ZSBzZWN0b3IgJWx1XG4iCisjfiBtc2dzdHIgIiVzIMO8emVyaW5kZSB5YXptYSBoYXRhc8SxIC0gJWx1IHNla3TDtnLDvG5lIHlhesSxbGFtxLF5b3JcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcylcbiIKKyN+IG1zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgc2VrdMO2ciBrYXnEsXQgZG9zeWFzxLEgKCVzKSBhw6fEsWxhbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcylcbiIKKyN+IG1zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgdGVrcmFyIG9sdcWfdHVybWEgZG9zeWFzxLEgKCVzKSBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gcmVzdG9yZSBmaWxlIGhhcyB3cm9uZyBzaXplIC0gbm90IHJlc3RvcmluZ1xuIgorI34gbXNnc3RyICJkaXNrIGLDtmzDvG3DvCB0ZWtyYXIgb2x1xZ90dXJtYSBkb3N5YXPEsW7EsW4gdXp1bmx1xJ91IGhhdGFsxLEgLSB0ZWtyYXIgb2x1xZ90dXJ1bGFtxLF5b3JcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/XG4iCisjfiBtc2dzdHIgImJlbGxlayB5ZXRlcnNpej9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKVxuIgorI34gbXNnc3RyICJkaXNrIGLDtmzDvG3DvCB0ZWtyYXIgb2x1xZ90dXJtYSBkb3N5YXPEsSAoJXMpIGHDp8SxbGFtxLF5b3JcbiIKKworI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiJXMgb2t1bnVya2VuIGhhdGFcbiIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlc1xuIgorI34gbXNnc3RyICIlbHUgc2VrdMO2csO8bsO8ICVzIMO8emVyaW5lIHlhem1hZGEgaGF0YVxuIgorCisjfiBtc2dpZCAiRGlzayAlczogY2Fubm90IGdldCBnZW9tZXRyeVxuIgorI34gbXNnc3RyICJEaXNrICVzOiBnZW9tZXRyaSBhbMSxbmFtxLF5b3JcbiIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgc2l6ZVxuIgorI34gbXNnc3RyICJEaXNrICVzOiBib3l1IGFsxLFuYW3EsXlvclxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHN0YXJ0PSVsdSAtIHRoaXMgbG9va3MgbGlrZSBhIHBhcnRpdGlvbiByYXRoZXIgdGhhblxuIgorI34gInRoZSBlbnRpcmUgZGlzay4gVXNpbmcgZmRpc2sgb24gaXQgaXMgcHJvYmFibHkgbWVhbmluZ2xlc3MuXG4iCisjfiAiW1VzZSB0aGUgLS1mb3JjZSBvcHRpb24gaWYgeW91IHJlYWxseSB3YW50IHRoaXNdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6IGJhxZ9sYW5nxLHDpz0lbHUgLSBidSBkaXNraW4gdGFtYW3EsSBkZcSfaWwgZGUgYmlyIGRpc2sgYsO2bMO8bcO8XG4iCisjfiAiZ2liaSBnw7Zyw7xuw7x5b3IuIGZkaXNrIGt1bGxhbm1hayBhbmxhbWzEsSBvbG1heWFjYWsuXG4iCisjfiAiW0J1bnUgbXV0bGFrYSB5YXBtYWsgaXN0aXlvcnNhbsSxeiAtLWZvcmNlIHNlw6dlbmXEn2luaSBrdWxsYW5hYmlsaXJzaW5pel1cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogSERJT19HRVRHRU8gJWx1IGthZmEgYmlsZGlyaXlvclxuIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICJVeWFyxLE6IEhESU9fR0VUR0VPICVsdSBzZWt0w7ZyIGJpbGRpcml5b3JcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogQkxLR0VUU0laRS9IRElPX0dFVEdFTyAlbHUgc2lsaW5kaXIgYmlsZGlyaXlvclxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHVubGlrZWx5IG51bWJlciBvZiBzZWN0b3JzICglbHUpIC0gdXN1YWxseSBhdCBtb3N0IDYzXG4iCisjfiAiVGhpcyB3aWxsIGdpdmUgcHJvYmxlbXMgd2l0aCBhbGwgc29mdHdhcmUgdGhhdCB1c2VzIEMvSC9TIGFkZHJlc3NpbmcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6IHNla3TDtnIgc2F5xLFzxLEgKCVsdSkgZW4gZmF6bGEgNjMgb2xhYmlsZWNlxJ9pbmRlbiBwZWsgc2VrdMO2clxuIgorI34gInNhecSxc8SxbmEgYmVuemVtaXlvci4gQnUgY2hzIGFkcmVzbGVtZSBrdWxsYW7EsWxhbiB5YXrEsWzEsW1sYXJsYSBzb3J1biDDp8Sxa2FyxLFyLlxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSlcbiIKKyN+IG1zZ3N0ciAiJXMgKCVzIGRpc2sgYsO2bMO8bcO8bmRla2kpIHlhbmzEscWfIGthZmEgc2F5xLFzxLEgacOnZXJpeW9yOiAlbHUgKDAtJWx1IGFyYXPEsW5kYSBvbG1hbMSxeWTEsSlcbiIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3Igc2VjdG9yOiAlbHUgKHNob3VsZCBiZSBpbiAxLSVsdSlcbiIKKyN+IG1zZ3N0ciAiJXMgKCVzIGRpc2sgYsO2bMO8bcO8bmRla2kpIHlhbmzEscWfIHNla3TDtnIgc2F5xLFzxLEgacOnZXJpeW9yOiAlbHUgKDEtJWx1IGFyYXPEsW5kYSBvbG1hbMSxeWTEsSlcbiIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSlcbiIKKyN+IG1zZ3N0ciAiJXMgKCVzIGRpc2sgYsO2bMO8bcO8bmRla2kpIHlhbmzEscWfIHNpbGluZGlyIHNhecSxc8SxIGnDp2VyaXlvcjogJWx1ICgwLSVsdSBhcmFzxLFuZGEgb2xtYWzEsXlkxLEpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51biB5ZW5pZGVuIG9rdW5tYXPEsSBiYcWfYXLEsWxhbWFkxLFcbiIKKyN+ICJta2ZzIGt1bGxhbmFiaWxtZWsgacOnaW4gc2lzdGVtaSB5ZW5pZGVuIGJhxZ9sYXRtYWzEsXPEsW7EsXouXG4iCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzXG4iCisjfiBtc2dzdHIgIiVzIGthcGF0xLFsxLFya2VuIGhhdGFcbiIKKworI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXNcbiIKKyN+IG1zZ3N0ciAiZGVzdGVrbGVubWV5ZW4gYmnDp2VtIC0gJXMga3VsbGFuxLFsxLF5b3JcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0cyA9IGN5bGluZGVycyBvZiAlbHUgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJiaXJpbWxlciA9ICVsdSBiYXl0bMSxayBzaWxpbmRpciwgMTAyNCBiYXl0bMSxayBibG9rLCAlZCdkZW4gYmHFn2xheWFyYWtcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2lsaW5kaXIgICBibG9rXG4iCisjfiAiICAgQXlnxLF0IMOWbnlrbCBCYWxhbmfEscOnIEJpdGnFnyBzYXnEsXPEsSAgIHNhecSxc8SxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHMgPSBzZWN0b3JzIG9mIDUxMiBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiYmlyaW1sZXIgPSA1MTIgYmF5dGzEsWsgc2VrdMO2ciwgJWQnZGVuIGJhxZ9sYXlhcmFrXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgIEF5Z8SxdCDDlm55w7xrbCBCYcWfbGFuZ8Sxw6cgICBCaXRpxZ8gICBzZWt0w7ZyICBLaW1sIFNpc3RlbVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXnEsXPEsVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzID0gYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gImJpcmltID0gMTAyNCBiYXl0bMSxayBibG9rLCAlZCdkZW4gYmHFn2xheWFyYWtcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICBBeWfEsXQgw5ZuecO8a2wgQmHFn2xhbmfEscOnICAgQml0acWfICAgIGJsb2sgICAgS2ltbCBTaXN0ZW1cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXnEsXPEsVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzID0gbWViaWJ5dGVzIG9mIDEwNDg1NzYgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJiaXJpbWxlciA9IDEwNDg1NzYgYmF5dGzEsWsgbWViaWJheXQsIDEwMjQgYmF5dGzEsWsgYmxvaywgJWQnZGVuIGJhxZ9sYXlhcmFrXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgIEF5Z8SxdCDDlm55w7xrIEJhxZ9sICAgQml0acWfICAgIE1pQiAgICAgYmxvayAgICBLaW1sIFNpc3RlbVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXnEsXPEsVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0YmHFn2xhbmfEscOnOiAoc2xkLGthZmEsc2VrdCkgKCVsZCwlbGQsJWxkKSBnZXJla2lya2VuICglbGQsJWxkLCVsZCkgYnVsdW5kdVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGJpdGnFnzogKHNsZCxrYWZhLHNla3QpICglbGQsJWxkLCVsZCkgZ2VyZWtpcmtlbiAoJWxkLCVsZCwlbGQpIGJ1bHVuZHVcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgZGlzayBzb251bmRhbiBzb25yYSwgJWxkLiBzaWxpbmRpcmRlIGJpdGl5b3JcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV5YXLEsTogRGlzayBiw7Zsw7xtw7xuw7xuIHNsZC9rYWZhL3Nla3Qgc8SxcmFsYW1hc8SxICovJWxkLyVsZFxuIgorI34gIiglbGQvJWxkLyVsZCB5ZXJpbmUpIHlhcMSxbG3EscWfIGfDtnLDvG7DvHlvci5cbiIKKyN+ICJCdSBsaXN0ZWxlbWUgYnUgZ2VvbWV0cml5bGUga2FidWwgZWRpbGl5b3IuXG4iCisKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC5cbiIKKyN+IG1zZ3N0ciAidHVoYWYsIHNhZGVjZSAlZCBkaXNrIGLDtmzDvG3DvCBhdGFubcSxxZ8uXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eVxuIgorI34gbXNnc3RyICJVeWFyxLE6ICVzIGRpc2sgYsO2bMO8bcO8IHPEsWbEsXIgdXp1bmx1a3RhIGFtYSBib8WfIG9sYXJhayBpbWxpIGRlxJ9pbFxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIGlzIGJvb3RhYmxlXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtw7wgc8SxZsSxciB1enVubHVrdGEgdmUgw7ZuecO8a2xlbmViaWxpclxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnRcbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiAlcyBkaXNrIGLDtmzDvG3DvCBzxLFmxLFyIHV6dW5sdWt0YSB2ZSBiYcWfbGFuZ8SxY8SxIDAgZGEgZGXEn2lsXG4iCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICJ2ZSAlcyBiaXJiaXJpbmUgZ2lybWnFn1xuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbHUpLFxuIgorI34gImFuZCB3aWxsIGRlc3Ryb3kgaXQgd2hlbiBmaWxsZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnVuIGJpciBrxLFzbcSxbsSxIGnDp2VyZGnEn2luZGVuIChzZWt0w7ZyICVsdSlcbiIKKyN+ICJkb2xkdcSfdW5kYSBvbnUgYm96YWNha1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMFxuIgorI34gbXNnc3RyICJVeWFyxLE6ICVzIGRpc2sgYsO2bMO8bcO8IDAuIHNla3TDtnJkZSBiYcWfbMSxeW9yXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtw7wgZGlzayBzb251bnUgYcWfxLF5b3JcbiIKKworI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkJpcmluY2lsIGRpc2sgYsO2bMO8bWxlcmluZGVuIGVuIMOnb2sgYmlyaSBlayBkaXNrIGLDtmzDvG3DvG5kZSBidWx1bmFiaWxpci5cbiIKKyN+ICIgKMWew7xwaGVzaXogTGludXggYWx0xLFuZGEgYnUgYmlyIHNvcnVuIGRlxJ9pbGRpcilcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5XG4iCisjfiBtc2dzdHIgIlV5YXLEsTogJXMgZGlzayBiw7Zsw7xtw7wgYmlyIHNpbGluZGlyIHPEsW7EsXLEsW5kYW4gYmHFn2xhbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZG9lcyBub3QgZW5kIGF0IGEgY3lsaW5kZXIgYm91bmRhcnlcbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiAlcyBkaXNrIGLDtmzDvG3DvCBiaXIgc2lsaW5kaXIgc8SxbsSxcsSxbmRhIGJpdG1peW9yXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogbW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLlxuIgorI34gbXNnc3RyICIiCisjfiAiVXlhcsSxOiBiaXJkZW4gZmF6bGEgZGlzayBiw7Zsw7xtw7wgw7ZuecO8a2xlbWUgZmxhbWFzxLEgacOnZXJpeW9yLlxuIgorI34gIkJ1IExJTE8gacOnaW4gc29ydW4geWFyYXRtYXogYW1hIERPUyBNQlIgYnUgZGlza2kgw6dhbMSxxZ90xLFyYW1hei5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6IGJpcmluY2lsIGRpc2sgYsO2bMO8bWxlcmluZGVuIHNhZGVjZSBiaXIgdGFuZXNpIMO2bnnDvGtsZW5lYmlsaXIsXG4iCisjfiAiTElMTyBgYm9vdGFibGUnIGZsYW1hc8SxbmEgYWxkxLFybWF6LlxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLEgaGnDp2JpciBkaXNrIGLDtmzDvG3DvCDDtm55w7xrbGVtZSBiYXlyYcSfxLEgacOnZXJtaXlvclxuIgorI34gIkJ1IExJTE8gacOnaW4gc29ydW4gb2x1xZ90dXJtYXogYW1hIERPUyBNQlIgYnUgZGlza2kgw6dhbMSxxZ90xLFyYW1hei5cbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogYmHFn2xhbmfEscOnOiAoc2xkLGthZmEsc2VrdCkgc8SxcmFzxLF5bGEgKCVsZCwlbGQsJWxkKSBvbG1hbMSxeWTEsVxuIgorI34gIiglbGQsJWxkLCVsZCkgYnVsdW5kdVxuIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJiaXRpxZ8iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBiaXRpxZ86IChzbGQsa2FmYSxzZWt0KSBzxLFyYXPEsXlsYSAoJWxkLCVsZCwlbGQpIG9sbWFsxLF5ZMSxXG4iCisjfiAiKCVsZCwlbGQsJWxkKSBidWx1bmR1XG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrXG4iCisjfiBtc2dzdHIgIiVzIGRpc2tpbiBzb251bnUgYcWfYXJhayAlbGQuIHNpbGluZGlyZGUgYml0aXlvclxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHNoaWZ0ZWQgc3RhcnQgb2YgdGhlIGV4dGQgcGFydGl0aW9uIGZyb20gJWxkIHRvICVsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6IGVrIGRpc2sgYsO2bMO8bcO8bsO8biBiYcWfbGFuZ8SxY8SxICVsZCBkZW4gJWxkIHllIGtheWTEsXLEsWxkxLFcbiIKKyN+ICIoU2FkZWNlIGxpc3RlIHV5dW1sdWx1xJ91IGnDp2luLiDEsMOnZXJpxJ9pIGRlxJ9pxZ9taXlvci4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogZXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiAiRE9TIGFuZCBMaW51eCB3aWxsIGludGVycHJldCB0aGUgY29udGVudHMgZGlmZmVyZW50bHkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJVeWFyxLE6IGVrIGRpc2sgYsO2bMO8bcO8IGJpciBzaWxpbmRpciBzxLFuxLFyxLFuZGEgYmHFn2xhbcSxeW9yLlxuIgorI34gIkRPUyB2ZSBMaW51eCBpw6dlcmlrbGVyaSBmYXJrbMSxIHlvcnVtbGF5YWNha3TEsXIuXG4iCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJWQpXG4iCisjfiBtc2dzdHIgImRpc2sgYsO2bMO8bcO8IHNhecSxc8SxIMOnb2sgZmF6bGEgLSBCdSBzb251bmN1c3UgKCVkKSBkaXNrIGLDtmzDvG3DvFxuIgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0XG4iCisjfiBtc2dzdHIgIkRpc2sgecO2bmV0aWNpc2kgc2FwdGFkxLEgLSBidWx1bmFuIERNNiBpbXphc8SxXG4iCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgImlsZSDDp2FsxLHFn8SxbGFtxLF5b3IgLSBixLFyYWvEsWzEsXlvclxuIgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYW4gZXh0ZW5kZWQgcGFydGl0aW9uIG9mIHNpemUgMD9cbiIKKyN+IG1zZ3N0ciAidHVoYWYuLi4sIHPEsWbEsXIgdXp1bmx1a3RhIGJpciBlayBkaXNrIGLDtmzDvG3DvD9cbiIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGEgQlNEIHBhcnRpdGlvbiBvZiBzaXplIDA/XG4iCisjfiBtc2dzdHIgInR1aGFmLi4uLCBzxLFmxLFyIHV6dW5sdWt0YSBiaXIgQlNEIGRpc2sgYsO2bMO8bcO8P1xuIgorCisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZFxuIgorI34gbXNnc3RyICItbiBmbGFtYXPEsSB2ZXJpbG1pxZ86IEhpw6diaXIgxZ9leSBkZcSfacWfbWVkaVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHNhdmluZyB0aGUgb2xkIHNlY3RvcnMgLSBhYm9ydGluZ1xuIgorI34gbXNnc3RyICJFc2tpIHNla3TDtnJsZXJlIHlhem1hZGEgYmHFn2FyxLFzxLF6bMSxayAtIMOnxLFrxLFsxLF5b3JcbiIKKworI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmdcbiIKKyN+IG1zZ3N0ciAidXp1biB2ZSBla3NpayBnaXJkaSBzYXTEsXLEsSAtIMOnxLFrxLFsxLF5b3JcbiIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGRcbiIKKyN+IG1zZ3N0ciAiZ2lyZGkgaGF0YXPEsTogJXMgYWxhbsSxbmRhbiBzb25yYSBiaXIgYD0nIGdlcmVrbGlcbiIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZFxuIgorI34gbXNnc3RyICJnaXJkaSBoYXRhc8SxOiAlYyBrYXJha3RlcmkgZ2VyZWtzaXogKCVzIGFsYW7EsW5kYW4gc29ucmEpXG4iCisKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlclxuIgorI34gbXNnc3RyICJzYXnEsWRhbiBzb25yYXPEsW5kYSBzw7xwcsO8bnTDvFxuIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3JcbiIKKyN+IG1zZ3N0ciAiZGlzayBiw7Zsw7xtw7wgYmV0aW1sZXlpY2kgacOnaW4geWVyIHlva1xuIgorCisjfiBtc2dpZCAiY2Fubm90IGJ1aWxkIHN1cnJvdW5kaW5nIGV4dGVuZGVkIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICJrdcWfYXRhbiBlayBkaXNrIGLDtmzDvG3DvCBrdXJndWxhbmFtxLF5b3JcbiIKKworI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkc1xuIgorI34gbXNnc3RyICJnaXJkaSBhbGFubGFyxLEgw6dvayBmYXpsYVxuIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZVxuIgorI34gbXNnc3RyICJEYWhhIGZhemxhIHllciB5b2tcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsdSlcbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiBiZWxpcnRpbGVuICglbHUpIHV6dW5sdWssIGl6aW4gdmVyaWxlbiAoJWx1KSB1enVubHVrdGFuIGZhemxhXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiVXlhcsSxOiBib8WfIGRpc2sgYsO2bMO8bcO8XG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbHUpXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogZGlzayBiw7Zsw7xtw7wgYmHFn2xhbmfEsWPEsSBoYXRhbMSxIChlbiBlcmtlbiAlbHUpXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICpcbiIKKyN+IG1zZ3N0ciAiYW5sYcWfxLFsbWF5YW4gw7ZuecO8a2xlbWUgZmxhbWFzxLE7IC0geWEgZGEgKiBzZcOnaW5pelxuIgorCisjfiBtc2dpZCAicGFydGlhbCBjLGgscyBzcGVjaWZpY2F0aW9uP1xuIgorI34gbXNnc3RyICJrxLFzbWkgc2xkLGthZmEsc2VrdCDDtnplbGxpa2xlcmk/XG4iCisKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkXG4iCisjfiBtc2dzdHIgIkVrIGRpc2sgYsO2bMO8bcO8IGdlcmVrZW4geWVyZGUgZGXEn2lsXG4iCisKKyN+IG1zZ2lkICJiYWQgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiZ2lyZGkgaGF0YWzEsVxuIgorCisjfiBtc2dpZCAidG9vIG1hbnkgcGFydGl0aW9uc1xuIgorI34gbXNnc3RyICLDp29rIGZhemxhIGRpc2sgYsO2bMO8bcO8IHZhclxuIgorCisjfiBtc2dpZCAiIgorI34gIklucHV0IGluIHRoZSBmb2xsb3dpbmcgZm9ybWF0OyBhYnNlbnQgZmllbGRzIGdldCBhIGRlZmF1bHQgdmFsdWUuXG4iCisjfiAiPHN0YXJ0PiA8c2l6ZT4gPHR5cGUgW0UsUyxMLFgsaGV4XT4gPGJvb3RhYmxlIFstLCpdPiA8YyxoLHM+IDxjLGgscz5cbiIKKyN+ICJVc3VhbGx5IHlvdSBvbmx5IG5lZWQgdG8gc3BlY2lmeSA8c3RhcnQ+IGFuZCA8c2l6ZT4gKGFuZCBwZXJoYXBzIDx0eXBlPikuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJHaXJkaSBiacOnZW1pIGHFn2HEn8SxZGFraSBnaWJpZGlyOyB2ZXJpbG1leWVuIGFsYW5sYXJhIMO2bnRhbsSxbWzEsSBkZcSfZXJsZXIgYXRhbsSxci5cbiIKKyN+ICI8YmHFn2xhbmfEscOnPiA8dXp1bmx1az4gPHTDvHLDvCBbRSxTLEwsWCxoZXhdPiA8w7ZuecO8a2xlbWUgWy0sKl0+XG4iCisjfiAiPHNsZCxrYWZhLHNla3Q+IDxzbGQsa2FmYSxzZWt0PlxuIgorI34gIkdlbmVsbGlrbGUgPGJhxZ9sYW5nxLHDpz4gdmUgPHV6dW5sdWs+IGRlxJ9lcmxlcmkgKHZlIHRhYmlpIGtpIDx0w7xyw7w+KVxuIgorI34gImJlbGlydG1layB5ZXRlcmxpZGlyLlxuIgorCisjfiBtc2dpZCAiZGV2aWNlOiBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYSIKKyN+IG1zZ3N0ciAiYXlnxLF0OiAvZGV2L2hkYSB2ZXlhIC9kZXYvc2RhIGdpYmkiCisKKyN+IG1zZ2lkICIgICAgLXMgW29yIC0tc2hvdy1zaXplXTogbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgLXMgIC0tc2hvdy1zaXplICAgICBkaXNrIGLDtmzDvG3DvCB1enVubHVrbGFyxLEgbGlzdGVsZW5pciIKKworI34gbXNnaWQgIiAgICAtaSBbb3IgLS1pbmNyZW1lbnRdOiBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwIgorI34gbXNnc3RyICIgICAgLWkgIC0taW5jcmVtZW50ICAgICBzaWxpbmRpciBzYXnEsXPEsSB2LnMuIDAgeWVyaW5lIDEgZGVuIGl0aWJhcmVuIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVTLCAtdUIsIC11QywgLXVNICBzZWt0w7ZyL2Jsb2svc2lsaW5kaXIvTUIgYmlyaW1sZXJpeWxlIGRlxJ9lciBhbMSxci9nw7ZzdGVyaXIiCisKKyN+IG1zZ2lkICIgICAgLUQgW29yIC0tRE9TXTogICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZSIKKyN+IG1zZ3N0ciAiICAgIC1EICAtLURPUyAgICAgICAgICAgRE9TLXV5dW1sdWx1xJ91IGnDp2luOiBiaXIgZGlzayBiw7Zsw7xtw7xuw7wgw6dvcmFrbGHFn3TEsXLEsXIiCisKKyN+IG1zZ2lkICIgICAgLVIgW29yIC0tcmUtcmVhZF06ICAgbWFrZSBrZXJuZWwgcmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgIC1SICAtLXJlLXJlYWQgICAgICAgw6dla2lyZGVrIHllbmlkZW4gb2t1bWEgdGFibG9zdSB5YXBhciIKKworI34gbXNnaWQgIiAgICAtTyBmaWxlIDogICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byBmaWxlIgorI34gbXNnc3RyICIgICAgLU8gZG9zeWEgICAgICAgICAgICDDvHN0w7xuZSB5YXphcmFrIHNla3TDtnJsZXJpIGRvc3lheWEga2F5ZGVkZXIiCisKKyN+IG1zZ2lkICIgICAgLUkgZmlsZSA6ICAgICAgICAgICAgcmVzdG9yZSB0aGVzZSBzZWN0b3JzIGFnYWluIgorI34gbXNnc3RyICIgICAgLUkgZG9zeWEgICAgICAgICAgICBzZWt0w7ZybGVyaSBidSBkb3N5YWRhbiB0ZWtyYXIgb2x1xZ90dXJ1ciIKKworI34gbXNnaWQgIiAgICAtdiBbb3IgLS12ZXJzaW9uXTogICBwcmludCB2ZXJzaW9uIgorI34gbXNnc3RyICIgICAgLXYgIC0tdmVyc2lvbiAgICAgICBzw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpciIKKworI34gbXNnaWQgIiAgICAtZyBbb3IgLS1zaG93LWdlb21ldHJ5XTogcHJpbnQgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIGdlb21ldHJ5IgorI34gbXNnc3RyICIgICAgLWcgIC0tc2hvdy1nZW9tZXRyeSDDp2VraXJkZcSfaW4gZ2VvbWV0cmkgYmlsZ2lzaW5pIGfDtnN0ZXJpciIKKworI34gbXNnaWQgIiAgICAtRyBbb3IgLS1zaG93LXB0LWdlb21ldHJ5XTogcHJpbnQgZ2VvbWV0cnkgZ3Vlc3NlZCBmcm9tIHRoZSBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtRyBbdmV5YSAtLXNob3ctcHQtZ2VvbWV0cnldOiBiw7Zsw7xtbGVtZSB0YWJsb3N1bmRhbiBhbMSxbmFuIGdlb21ldHJpeWkgYmFzYXIiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgIC14IFtvciAtLXNob3ctZXh0ZW5kZWRdOiBhbHNvIGxpc3QgZXh0ZW5kZWQgcGFydGl0aW9ucyBvbiBvdXRwdXRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBvbiBpbnB1dCIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAteCAgLS1zaG93LWV4dGVuZGVkIGVrIGRpc2sgYsO2bMO8bWxlcmluaSBnw7ZzdGVyaXIgdmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBiZXRpbWxleWljaWxlcmkgacOnaW4gZ2lyZGkgYmVrbGVyIgorCisjfiBtc2dpZCAiICAgIC1MICBbb3IgLS1MaW51eF06ICAgICAgZG8gbm90IGNvbXBsYWluIGFib3V0IHRoaW5ncyBpcnJlbGV2YW50IGZvciBMaW51eCIKKyN+IG1zZ3N0ciAiICAgIC1MICAtLUxpbnV4ICAgICAgICAgTGludXggaWxlIGFsYWthc8SxeiDFn2V5bGVyIGhha2vEsW5kYSBoYXRhIMO8cmV0bWV6IgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiU2FwdGFuYW4gZ2VvbWV0cml5aSBhxZ9tYWsgacOnaW4gc2XDp2VuZWtsZXI6IgorCisjfiBtc2dpZCAiICAgIC1mICBbb3IgLS1mb3JjZV06ICAgICAgZG8gd2hhdCBJIHNheSwgZXZlbiBpZiBpdCBpcyBzdHVwaWQiCisjfiBtc2dzdHIgIiAgICAtZiAgLS1mb3JjZSAgICAgICAgIHlhcMSxbGFjYWsgacWfbGVtIGhhdGFsxLEgZGEgb2xzYSB5YXDEsWzEsXIiCisKKyN+IG1zZ2lkICIlcyBkZXZpY2VcdFx0IGxpc3QgYWN0aXZlIHBhcnRpdGlvbnMgb24gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiVzIGF5Z8SxdFx0XHQgYXlnxLF0IMO8c3TDvG5kZWtpIGV0a2luIGRpc2sgYsO2bMO8bWxlcmluaSBnw7ZzdGVyaXJcbiIKKworI34gbXNnaWQgIiVzIGRldmljZSBuMSBuMiAuLi4gYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzIGF5Z8SxdCBuMSBuMiAuLi4gbjEsIG4yIGlsZSBiZWxpcnRpbGVuIGRpc2sgYsO2bMO8bWxlcmkgZXRraW5sZcWfdGlyaWxpcixcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgZGnEn2VybGVyaSBldGtpc2l6bGXFn3RpcmlsaXJcbiIKKworI34gbXNnaWQgIiVzIC1BbiBkZXZpY2VcdCBhY3RpdmF0ZSBwYXJ0aXRpb24gbiwgaW5hY3RpdmF0ZSB0aGUgb3RoZXIgb25lc1xuIgorI34gbXNnc3RyICIlcyAtQW4gYXlnxLF0XHQgbi4gZGlzayBiw7Zsw7xtw7xuw7wgZXRraW5sZcWfdGlyaWxpciwgZGnEn2VybGVyaW5pIGV0a2lzaXpsZcWfdGlyaWxpclxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLXByaW50LWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiBzZmRpc2sgLS1wcmludC1pZCBheWfEsXQgZGlzay1iw7Zsw7xtw7wtbnVtYXJhc8SxXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiBzZmRpc2sgLS1jaGFuZ2UtaWQgYXlnxLF0IGRpc2stYsO2bMO8bcO8LW51bWFyYXPEsSBraW1saWtcbiIKKworI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpXG4iCisjfiBtc2dzdHIgInNhZGVjZSBiaXIgYXlnxLF0IGJlbGlydGlsZWJpbGlyICgtbCB5YSBkYSAtcyBpbGUgZ2VyZWtpcilcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzIHJlYWQtd3JpdGVcbiIKKyN+IG1zZ3N0ciAiJXMgb2t1LXlheiBhw6fEsWxhbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZ1xuIgorI34gbXNnc3RyICIlcyBva3VtYWsgacOnaW4gYcOnxLFsYW3EsXlvclxuIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBzaWxpbmRpciwgJWxkIGthZmEsICVsZCBzZWt0w7ZyL2l6XG4iCisKKyN+IG1zZ2lkICJiYWQgYWN0aXZlIGJ5dGU6IDB4JXggaW5zdGVhZCBvZiAweDgwXG4iCisjfiBtc2dzdHIgImhhdGFsxLEgZXRraW4gYmF5dDogMHg4MCB5ZXJpbmUgMHgleFxuIgorCisjfiBtc2dpZCAiIgorI34gIkRvbmVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkJpdHRpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVkIGV0a2luIGJpcmluY2lsIGRpc2sgYsO2bMO8bcO8IHZhci4gQnUgTElMTyBpw6dpbiBzb3J1biBvbG1hbWFrbGEgYmVyYWJlclxuIgorI34gIkRPUyBNQlIgc2FkZWNlIDEgZXRraW4gZGlzayBiw7Zsw7xtw7wgw7ZuecO8a2xlbWVzaSB5YXBhYmlsaXIuXG4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuXG4iCisjfiBtc2dzdHIgIiVzIGRpc2sgYsO2bMO8bcO8bsO8biBraW1sacSfaSAleCB2ZSBnaXpsaSBkZcSfaWxcbiIKKworI34gbXNnaWQgIkJhZCBJZCAlbHhcbiIKKyN+IG1zZ3N0ciAiS2ltbGlrICVseCBoYXRhbMSxXG4iCisKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXNcbiIKKyN+IG1zZ3N0ciAiw5Zsw7xtY8O8bCBoYXRhOiAlcyBidWx1bmFtxLF5b3JcbiIKKworI34gbXNnaWQgIk9LXG4iCisjfiBtc2dzdHIgIlRBTUFNXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXRcbiIKKyN+IG1zZ3N0ciAiJWQuIGRpc2sgYsO2bMO8bcO8IG9sbWFkxLHEn8SxbmRhbiBnZcOnaWxlbWl5b3JcbiIKKworI34gbXNnaWQgIiIKKyN+ICJJIGRvbid0IGxpa2UgdGhlc2UgcGFydGl0aW9ucyAtIG5vdGhpbmcgY2hhbmdlZC5cbiIKKyN+ICIoSWYgeW91IHJlYWxseSB3YW50IHRoaXMsIHVzZSB0aGUgLS1mb3JjZSBvcHRpb24uKVxuIgorI34gbXNnc3RyICIiCisjfiAiQnUgZGlzayBiw7Zsw7xtbGVyaW5kZSBoacOnIGJpciBkZcSfacWfaWtsaWsgeWFwxLFsbWFkxLEuXG4iCisjfiAiKEJ1bnUgZ2Vyw6dla3RlbiBpc3RpeW9yc2FuxLF6IC0tZm9yY2Ugc2XDp2VuZcSfaW5pIGt1bGxhbsSxbi4pXG4iCisKKyN+IG1zZ2lkICJJIGRvbid0IGxpa2UgdGhpcyAtIHByb2JhYmx5IHlvdSBzaG91bGQgYW5zd2VyIE5vXG4iCisjfiBtc2dzdHIgIlV5Z3VsYW5hbcSxeW9yIC0gc2l6IGRlIEhhecSxciBkZXJkaW5peiwgYsO8ecO8ayBpaHRpbWFsbGVcbiIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICJCdW5kYW4gbWVtbnVuIG11c3VudXo/IFtlaHNdICIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJzZmRpc2s6IHByZW1hdHVyZSBlbmQgb2YgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gInNmZGlzazogZ2lyZGkgc29udSBla3Npa1xuIgorCisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWRcbiIKKyN+IG1zZ3N0ciAiw4fEsWvEsWzEsXlvciAtIERlxJ9pxZ9pa2xpayB5b2tcbiIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIkzDvHRmZW4gZSwgaCwgcyBoYXJmbGVyaW5kZW4gYmlyaSBpbGUgeWFuxLF0bGF5xLFuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiU3VjY2Vzc2Z1bGx5IHdyb3RlIHRoZSBuZXcgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJZZW5pIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBiYcWfYXLEsXlsYSB5YXrEsWxkxLFcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJJZiB5b3UgY3JlYXRlZCBvciBjaGFuZ2VkIGEgRE9TIHBhcnRpdGlvbiwgL2Rldi9mb283LCBzYXksIHRoZW4gdXNlIGRkKDEpXG4iCisjfiAidG8gemVybyB0aGUgZmlyc3QgNTEyIGJ5dGVzOiAgZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihTZWUgZmRpc2soOCkuKVxuIgorI34gbXNnc3RyICIiCisjfiAiQmlyIERPUyBkaXNrIGLDtmzDvG3DvG7DvCAow7Zybi4gL2Rldi9mb283KSBvbHXFn3R1cmR1eXNhbsSxeiB5YSBkYSBkZcSfacWfdGlyZGl5c2VuaXpcbiIKKyN+ICJpbGsgNTEyIGJheXTEsW7EsSBzxLFmxLFybGFtYWsgacOnaW4gZGQga3VsbGFuxLFuOlxuIgorI34gImRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoZGFoYSBmYXpsYSBiaWxnaSBpw6dpbjogZmRpc2soOCkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldBUk5JTkc6IGNvdWxkbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNvdWxkbid0IGFsbG9jYXRlIG1lbW9yeSBmb3IgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gbXNnc3RyICJtb3VudDogZG9zeWEgc2lzdGVtaSB0w7xyw7xuw7wgYmVsaXJ0bWVsaXNpbml6IgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQgZnN0eXBlXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMgLi4uXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogbWtmcyBbLVZdIFstdCBkc3lTaXN0VMO8csO8XSBbZHN5U2lzdC1zZcOnZW5la2xlcmldIGF5Z8SxdCBbdXp1bmx1a11cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICIlMiRzIGRla2kgJTEkc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiRMO8xJ/DvG1sZXIgacOnaW4gdGFtcG9uIGJlbGxlayBheXLEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogZ2V0b3B0IHNlw6dlbmVrLWRpemdlc2kgcGFyYW1ldHJlbGVyXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSBbLS1dIG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW3Nlw6dlbmVrbGVyXSBbLS1dIHNlw6dlbmVrLWRpemdlc2kgcGFyYW1ldHJlbGVyXG4iCisKKyN+IG1zZ2lkICIgICAgICAgZ2V0b3B0IFtvcHRpb25zXSAtb3wtLW9wdGlvbnMgb3B0c3RyaW5nIFtvcHRpb25zXSBbLS1dXG4iCisjfiBtc2dzdHIgIiAgICAgICBnZXRvcHQgW3Nlw6dlbmVrbGVyXSAtb3wtLW9wdGlvbnMgc2XDp2VuZWstZGl6Z2VzaSBbc2XDp2VuZWtsZXJdIFstLV1cbiIKKworI34gbXNnaWQgImdldG9wdCAoZW5oYW5jZWQpIDEuMS40XG4iCisjfiBtc2dzdHIgImdldG9wdCAoZ2VsacWfbWnFnykgMS4xLjRcbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydDogJXMiCisjfiBtc2dzdHIgIi9kZXYvcG9ydCBhw6fEsWxhbcSxeW9yOiAlcyIKKworI34gbXNnaWQgIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLilcbiIKKyN+IG1zZ3N0ciAiKEdlcmVrZW46IGBVVEMnLCBgTE9DQUwnIHlhIGRhIGhpw6diaXJpLilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkJhxZ9sYW5nxLHDpyB6YW1hbsSxbmRhbiBiZXJpIGdlw6dlbiB6YW1hbiAlLjZmIHNhbml5ZSBvbGR1LlxuIgorI34gIkdlY2lrbWUgc29ucmFraSB0YW0gc2FuaXlleWUga2FkYXIgb2xhbmRhbiBkYWhhIGZhemxhLlxuIgorCisjfiBtc2dpZCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0ciAiJWQgc2FuaXllIGdpcm1layBnZXJla2xpIHZlIHphbWFuICUuNmYgc2FuaXllIMO2bmNlc2luZSBhaXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHNob3cgdGhpcyBoZWxwXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9jayAtIERvbmFuxLFtIHNhYXRpbmkgKFJUQykgYXlhcmxhbWFrIHZlIHNvcmd1bGFtYWsgacOnaW4ga3VsbGFuxLFsxLFyLlxuIgorI34gIlxuIgorI34gIkt1bGxhbsSxbcSxOiBod2Nsb2NrIFvEsMWeTEVWXSBbU0XDh0VORUsuLi5dXG4iCisjfiAiXG4iCisjfiAixLDFnkxFVmxlcjpcbiIKKyN+ICIgIC0taGVscCAgICAgICAgYnUgeWFyZMSxbSBpbGV0aXNpbmkgZ8O2c3RlcmlyXG4iCisjfiAiICAtLXNob3cgICAgICAgIGRvbmFuxLFtIHNhYXRpIG9rdW51ciB2ZSBzb251Y3UgZ8O2c3RlcmlsaXJcbiIKKyN+ICIgIC0tc2V0ICAgICAgICAgZG9uYW7EsW0gc2FhdGkgLS1kYXRlIGlsZSB2ZXJpbGVuIGRlxJ9lcmUgYXlhcmxhbsSxclxuIgorI34gIiAgLS1oY3Rvc3lzICAgICBzaXN0ZW0gemFtYW7EsSBkb25hbsSxbSBzYWF0aW5kZW4gYXlhcmxhbsSxclxuIgorI34gIiAgLS1zeXN0b2hjICAgICBkb25hbsSxbSBzYWF0aSBzaXN0ZW0gc2FhdGluZGVuIGF5YXJsYW7EsXJcbiIKKyN+ICIgIC0tYWRqdXN0ICAgICAgc2FhdGluIHNvbiBheWFyxLFuZGFuIGJlcmkgb2x1xZ9hbiBzaXN0ZW1hdGlrIHNhcG1heWEgZ8O2cmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgZG9uYW7EsW0gc2FhdGkgYXlhcmxhbsSxclxuIgorI34gIiAgLS1nZXRlcG9jaCAgICDDp2VraXJkZcSfaW4gZG9uYW7EsW0gc2FhdGkgZMO2bmVtc2VsbGlrIGRlxJ9lcmkgZ8O2c3RlcmlsaXJcbiIKKyN+ICIgIC0tc2V0ZXBvY2ggICAgw6dla2lyZGXEn2luIGRvbmFuxLFtIHNhYXRpIGTDtm5lbXNlbGxpayBkZcSfZXJpIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgICAgICAgICAgaWxlIHZlcmlsZW4gZGXEn2VyZSBheWFybGFuxLFyXG4iCisjfiAiICAtLXZlcnNpb24gICAgIGh3Y2xvY2sgc8O8csO8bSBiaWxnaWxlcmkgZ8O2c3RlcmlsaXJcbiIKKyN+ICJcbiIKKyN+ICJTRcOHRU5FS2xlcjogXG4iCisjfiAiICAtLXV0YyAgICAgICAgIGRvbmFuxLFtIHNhYXRpIGtvb3JkaW5hdGzEsSBldnJlbnNlbCB6YW1hbmRhIHR1dHVsdXJcbiIKKyN+ICIgIC0tbG9jYWx0aW1lICAgZG9uYW7EsW0gc2FhdGkgeWVyZWwgemFtYW5kYSB0dXR1bHVyXG4iCisjfiAiICAtLWRpcmVjdGlzYSAgICVzIHllcmluZSBJU0EgdmVyaXlvbHVuYSBkb8SfcnVkYW4gZXJpxZ9pbGlyXG4iCisjfiAiICAtLWJhZHllYXIgICAgIGJpb3MgYm96dWsgb2xkdcSfdW5kYSBkb25hbsSxbSBzYWF0aW5pbiB5xLFsxLEgZ8O2emFyZMSxIGVkaWxpclxuIgorI34gIiAgLS1kYXRlICAgICAgICBkb25hbsSxbSBzYWF0aW5pbiBheWFybGFuYWNhxJ/EsSBkZcSfZXIgYmVsaXJ0aWxpclxuIgorI34gIiAgLS1lcG9jaD1ZSUwgICBkb25hbsSxbSBzYWF0aW5pbiBkw7ZuZW1zZWxsaWsgYmHFn2xhbmfEscOnIGRlxJ9lcmkgb2xhblxuIgorI34gIiAgICAgICAgICAgICAgICBZSUwgYmVsaXJ0aWxpclxuIgorI34gIiAgLS1ub2FkamZpbGUgICAvZXRjL2FkanRpbWUgb2t1bm1hei4gWWEgLS11dGMgeWEgZGEgLS1sb2NhbHRpbWUga3VsbGFubWFrXG4iCisjfiAiICAgICAgICAgICAgICAgIGdlcmVraXIuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLlxuIgorI34gbXNnc3RyICIiCisjfiAiw4dvayBzYXnEsWRhIGnFn2xldiBiZWxpcnR0aW5pei5cbiIKKyN+ICJCaXIgZGVmYWRhIHNhZGVjZSBiaXIgacWfbGV2IHV5Z3VsYW5hYmlsaXIuXG4iCisKKyN+IG1zZ2lkICIlczogVGhlIC0tdXRjIGFuZCAtLWxvY2FsdGltZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguXG4iCisjfiBtc2dzdHIgIiVzOiAtLXV0YyB2ZSAtLWxvY2FsdGltZSBzZcOnZW5la2xlcmkgYmlyYmlyaXlsZSDDp2VsacWfaXlvci4gIMSwa2lzaSBkZSBiZWxpcnRpbG1pxZ8uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IFRoZSAtLWFkamZpbGUgYW5kIC0tbm9hZGpmaWxlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiAgLS1hZGp1c3QgdmUgLS1ub2FkamZpbGUgc2XDp2VuZWtsZXJpIGJpcmJpcml5bGUgw6dlbGnFn2lyLlxuIgorI34gIlNpeiBpa2lzaW5pIGRlIGJlbGlydG1pxZ9zaW5pei5cbiIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC5cbiIKKyN+IG1zZ3N0ciAiw4dla2lyZGVrdGVraSBEb25hbsSxbSBTYWF0aSBkw7ZuZW1zZWxsaWsgZGXEn2VyaSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiBkZcSfacWfdGlyaWxlYmlsaXIuXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgemFtYW4gZGXEn2nFn3RpcmlsbWVrIMO8emVyZSDDp2V2cmltIGnDp2luZGUgYmVrbGVuaXlvci5cbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIHphbWFuxLEgb2t1bWFkYSBiYcWfYXLEsXPEsXoiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIMOnZXZyaW0gacOnaW5kZSB6YW1hbsSxIG9rdW1hZGEgYmHFn2FyxLFzxLF6IgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLRFNIV0NMSyBiYcWfYXLEsXPEsXoiCisKKyN+IG1zZ2lkICJDYW4ndCBvcGVuIC9kZXYvdHR5MSBvciAvZGV2L3ZjLzEiCisjfiBtc2dzdHIgIi9kZXYvdHR5MSB2ZXlhIC9kZXYvdmMvMSBhw6fEsWxhbcSxeW9yIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICJyZWFkKCkgJXMgZGVuIHNhYXQgZGFyYmVzaSBiZWtsZXJrZW4gaGF0YSB2ZXJkaSIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJiYcWfbGF0bWEgZGl6Z2VzaSBpw6dpbiB5ZXIgYXlyxLFsYW3EsXlvciIKKworI34gbXNnaWQgInVzZXJzIgorI34gbXNnc3RyICJrdWxsYW7EsWPEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFstOGhpTG1Vd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGJhdWRfcmF0ZSwuLi4gbGluZSBbdGVybXR5cGVdXG4iCisjfiAib3JcdFstaGlMbXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBsaW5lIGJhdWRfcmF0ZSwuLi4gW3Rlcm10eXBlXVxuIgorI34gbXNnc3RyICIiCisjfiAiS3VsbGFuxLFtxLE6ICVzIFstaGlMbXddIFstbCBnaXJpxZ8sX3V5Z3VsYW1hc8SxXSBbLXQgemFtYW5BxZ/EsW3EsV1cbiIKKyN+ICIgICAgICAgICAgICAgIFstSSBiYcWfbGF0bWFEaXpnZXNpXSBbLUggZ2lyacWfX21ha2luYXPEsV0gYmHEn2xhbnTEsV9oxLF6xLEsLi4uXG4iCisjfiAiICAgICAgICAgICAgICBzYXTEsXIgW3Rlcm1pbmFsVMO8csO8XVxuIgorI34gIiAgICAgICB5YSBkYSAgWy1oaUxtd10gWy1sIGdpcmnFnyxfdXlndWxhbWFzxLFdIFstdCB6YW1hbkHFn8SxbcSxXVxuIgorI34gIiAgICAgICAgICAgICAgWy1JIGJhxZ9sYXRtYURpemdlc2ldIFstSCBnaXJpxZ9fbWFraW5hc8SxXSBzYXTEsXJcbiIKKyN+ICIgICAgICAgICAgICAgIGJhxJ9sYW50xLFfaMSxesSxLC4uLiBbdGVybWluYWxUw7xyw7xdXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAiZ2lyacWfOiBiZWxsZWsgYXosIGdpcmnFnyB5YXDEsWxhbWF5YWJpbGlyXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJ0dHljbGFzcyBpw6dpbiBiZWxsZWsgYXlyxLFsYW1hZMSxIgorCisjfiBtc2dpZCAiY2FuJ3QgbWFsbG9jIGZvciBncnBsaXN0IgorI34gbXNnc3RyICJncnBsaXN0IGnDp2luIGJlbGxlayBheXLEsWxhbWFkxLEiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlbiAlcyBtYWtpbmFzxLFuYSBnaXJpxZ9lIGl6aW4gdmVyaWxtZWRpLlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsgLWYgZnVsbC1uYW1lIF0gWyAtbyBvZmZpY2UgXSAiCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbIC1mIGFkLXNveWFkxLEgXSBbIC1vIGnFnyB5ZXJpIF0gIgorCisjfiBtc2dpZCAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjfiBtc2dpZCAiQ29udHJvbCBjaGFyYWN0ZXJzIGFyZSBub3QgYWxsb3dlZC5cbiIKKyN+IG1zZ3N0ciAiS29udHJvbCBrYXJha3Rlcmxlcmkga3VsbGFuxLFsYW1hei5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWyAtcyBzaGVsbCBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIHVzZXJuYW1lIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxbcSxOiAlcyBbIC1zIGthYnVrIF0gWyAtLWxpc3Qtc2hlbGxzIF0gWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsga3VsbGFuxLFjxLFfaXNtaSBdXG4iCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZC5cbiIKKyN+IG1zZ3N0ciAiJXM6ICclYycga3VsbGFuxLFsYW1hei5cbiIKKworI34gbXNnaWQgIiVzOiBDb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkLlxuIgorI34gbXNnc3RyICIlczogS29udHJvbCBrYXJha3Rlcmxlcmkga3VsbGFuxLFsYW1hei5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogVXNlIC1sIG9wdGlvbiB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiJXM6IGxpc3RleWkgZ8O2cm1layBpw6dpbiAgLWwgc2XDp2VuZcSfaW5pIGt1bGxhbsSxblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIGZvciByZWFkaW5nLCBleGl0aW5nLiIKKyN+IG1zZ3N0ciAiJXMgb2t1bWFrIGnDp2luIGHDp8SxbGFtxLF5b3IiCisKKyN+IG1zZ2lkICJ1c2FnZTogbGFzdCBbLSNdIFstZiBmaWxlXSBbLXQgdHR5XSBbLWggaG9zdG5hbWVdIFt1c2VyIC4uLl1cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6IGxhc3QgWy0jXSBbLWYgZG9zeWFdIFstdCB0dHldIFstaCBtYWtpbmFBZMSxXSBba3VsbGFuxLFjxLEgLi4uXVxuIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgxZ91IGFuIHNpc3RlbWRlIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3Q6IGJlbGxlayBheXLEsWxhbWFkxLEuXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJsb2dpbjogQmVsbGVrIHlldGVyc2l6XG4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICIlcyDEsMOHxLBOICVzIE1BS8SwTkFTSU5EQU4gJXMgVEVSTcSwTkFMxLBORSBHxLBSxLDFniBSRURERUTEsExExLAiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAiJXMgxLDDh8SwTiAlcyBURVJNxLBOQUzEsE5FIEfEsFLEsMWeIFJFRERFRMSwTETEsCIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJHaXJpxZ8gYmHFn2FyxLFzxLF6XG4iCisKKyN+IG1zZ2lkICJsb2dpbjogZmFpbHVyZSBmb3JraW5nOiAlcyIKKyN+IG1zZ3N0ciAibG9naW46IGFzdCBzw7xyZcOnIG9sdcWfdHVybWEgYmHFn2FyxLFzxLF6OiAlcyIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2luOiBrYWJ1ayB5b2s6ICVzLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiVzIGxvZ2luOiAiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlcyBrdWxsYW7EsWPEsSBpc21pOiAiCisKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxY8SxIGFkxLFuxLF6IMOnb2sgdXp1bi5cbiIKKworI34gbXNnaWQgImxvZ2luIG5hbWVzIG1heSBub3Qgc3RhcnQgd2l0aCAnLScuXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxY8SxIGlzaW1sZXJpIGJpciAnLScgaWxlIGJhxZ9sYXlhbWF6LlxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiSEFERMSwTkRFTiBGQVpMQSBib8WfIGdpcmnFnyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVzIE1BS8SwTkFTSU5EQU4gJXMgR8SwUsSwxZ7EsCBCQcWeQVJJU0laIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIiVzIMOcWkVSxLBOREVOICVzIEfEsFLEsMWexLAgQkHFnkFSSVNJWiIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIEZST00gJXMsICVzIgorI34gbXNnc3RyICIlMyRzICUyJHMgTUFLxLBOQVNJTkRBTiAlMSRkIEtFUkUgR8SwUkVNRUTEsCIKKworI34gbXNnaWQgIiVkIExPR0lOIEZBSUxVUkVTIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiJTMkcyAlMiRzIMOcWkVSxLBOREVOICUxJGQgS0VSRSBHxLBSRU1FRMSwIgorCisjfiBtc2dpZCAidXNhZ2U6IG1lc2cgW3kgfCBuXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogbWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBzZXRnaWQiCisKKyN+IG1zZ2lkICJuZXdncnA6IFBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJuZXdncnA6IEVyacWfaW0gZW5nZWxsZW5kaSIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IHNldHVpZCIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrZGFraWthXVxuIgorCisjfiBtc2dpZCAiU2h1dGRvd24gcHJvY2VzcyBhYm9ydGVkIgorI34gbXNnc3RyICJLYXBhdG1hIGnFn2xlbWkgZHVyZHVydWxkdSIKKworI34gbXNnaWQgIiVzOiBPbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi5cbiIKKyN+IG1zZ3N0ciAiJXM6IFNhZGVjZSByb290IHNpc3RlbWkga2FwYXRhYmlsaXIuXG4iCisKKyN+IG1zZ2lkICJUaGF0IG11c3QgYmUgdG9tb3Jyb3csIGNhbid0IHlvdSB3YWl0IHRpbGwgdGhlbj9cbiIKKyN+IG1zZ3N0ciAiRMO8bmUga2FkYXIgYmVrbGV5ZWJpbGVjZWsgbWlzaW5pej9cbiIKKworI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgInRlxZ9oaXMgacOnaW47IHrEsXBsYSwgesSxcGxhIgorCisjfiBtc2dpZCAiVGhlIHN5c3RlbSBpcyBiZWluZyBzaHV0IGRvd24gd2l0aGluIDUgbWludXRlcyIKKyN+IG1zZ3N0ciAiU2lzdGVtIDUgZGFraWtheWEga2FkYXIga2FwYW7EsXlvciIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAiQnUgbmVkZW5sZSBnaXJpxZ9sZXIgeWFzYWtsYW5kxLEuIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICIlcyB0YXJhZsSxbmRhbiB5YWVuaWRlbiBiYcWfbGF0xLFsZMSxOiAlcyIKKworI34gbXNnaWQgImhhbHRlZCBieSAlczogJXMiCisjfiBtc2dzdHIgIiVzIHRhcmFmxLFuZGFuIGthcGF0xLFsZMSxOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVGVrcmFyIGfDtnLDvMWfbWVrIMO8emVyZS4uLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJOb3cgeW91IGNhbiB0dXJuIG9mZiB0aGUgcG93ZXIuLi4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLFnmltZGkgbWFraW5hbsSxbiBlbmVyamlzaW5pIGtlc2ViaWxpcnNpbml6Li4uIgorCisjfiBtc2dpZCAiQ2FsbGluZyBrZXJuZWwgcG93ZXItb2ZmIGZhY2lsaXR5Li4uXG4iCisjfiBtc2dzdHIgIsOHZWtpcmRla3Rla2kgZW5lcmppIGthcGF0bWEgc2lzdGVtaSDDp2HEn3LEsWzEsXlvci4uLlxuIgorCisjfiBtc2dpZCAiRXJyb3IgcG93ZXJpbmcgb2ZmXHQlc1xuIgorI34gbXNnc3RyICJFbmVyamkga2FwYXTEsWzEsXJrZW4gaGF0YSBvbHXFn3R1XHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAiXCIlc1wiIHV5Z3VsYW1hc8SxIMOnYWzEscWfdMSxcsSxbMSxeW9yIC4uLlxuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiw5ZORU1MxLA6ICVzJ2RlbiB1eWFyxLE6IgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gJWQgaG91cnMgJWQgbWludXRlcyIKKyN+IG1zZ3N0ciAiU2lzdGVtICVkIHNhYXQgJWQgZGFraWtheWEga2FkYXIga2FwYW7EsXlvciIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJTaXN0ZW0gMSBzYWF0ICVkIGRha2lrYXlhIGthZGFyIGthcGFuxLF5b3IiCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIlNpc3RlbSAlZCBkYWtpa2F5YSBrYWRhciBrYXBhbsSxeW9yXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJTaXN0ZW0gMSBkYWtpa2F5YSBrYWRhciBrYXBhbsSxeW9yXG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBJTU1FRElBVEVMWSFcbiIKKyN+IG1zZ3N0ciAiU2lzdGVtIMWeVSBBTkRBIGthcGFuxLF5b3IhXG4iCisKKyN+IG1zZ2lkICJcdC4uLiAlcyAuLi5cbiIKKyN+IG1zZ3N0ciAiXHQuLi4gJXMgLi4uXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZm9yayBmb3Igc3dhcG9mZi4gU2hydWchIgorI34gbXNnc3RyICJzd2Fwb2ZmIGFzdCBzw7xyZcOnIG9sYW3EsXlvci4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAic3dhcG9mZiDDp2FsxLHFn3TEsXLEsWxhbcSxeW9yLCB1bW91bnQgZGVuZW5lY2VrLiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciB1bW91bnQsIHRyeWluZyBtYW51YWxseS4iCisjfiBtc2dzdHIgInVtb3VudCBhc3Qgc8O8cmXDpyBvbGFtxLF5b3IsIGRvxJ9ydWRhbiDDp2FsxLHFn3TEsXLEsWxtYXPEsSBkZW5lbmVjZWsuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIiVzIMOnYWzEscWfdMSxcsSxbGFtxLF5b3IuIHVtb3VudCBkZW5lbmVjZWsuXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICJ1bW91bnQgw6dhbMSxxZ90xLFyxLFsYW3EsXlvciwgdW1vdW50J2RhbiB2YXpnZcOnaWxpeW9yLiIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiAlcyBheXLEsWxhbWFkxLE6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIlRlayBrdWxsYW7EsWPEsWzEsSBraXAgYmHFn2xhdMSxbMSxeW9yLlxuIgorCisjfiBtc2dpZCAiZXhlYyBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiVGVrIGt1bGxhbsSxY8SxbMSxIGthYnVrIMOnYWzEscWfdMSxcsSxbGFtYWTEsVxuIgorCisjfiBtc2dpZCAiZm9yayBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAiVGVrIGt1bGxhbsSxY8SxbMSxIGthYnXEn3VuIGFzdCBzw7xyZWNlIGFsxLFuYW1hZMSxXG4iCisKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAiZmlmbyBhw6fEsWzEsXJrZW4gaGF0YVxuIgorCisjfiBtc2dpZCAiZXJyb3Igc2V0dGluZyBjbG9zZS1vbi1leGVjIG9uIC9kZXYvaW5pdGN0bCIKKyN+IG1zZ3N0ciAiL2Rldi9pbml0Y3RsIMO8c3TDvG5kZSBjbG9zZS1vbi1leGVjIGF5YXJsYW7EsXJrZW4gaGF0YSIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgInXDpyB1eWd1bGFtYSDDp2FsxLHFn3TEsXLEsWzEsXJrZW4gaGF0YVxuIgorCisjfiBtc2dpZCAiZXJyb3IgZm9ya2luZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAidcOnIHV5Z3VsYW1hIGFzdCBzw7xyZWNlIGFsxLFuxLFya2VuIGhhdGFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXcm9uZyBwYXNzd29yZC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlBhcm9sYSB5YW5sxLHFny5cbiIKKworI34gbXNnaWQgImxzdGF0IG9mIHBhdGggZmFpbGVkXG4iCisjfiBtc2dzdHIgImRvc3lhIHlvbHUgZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW1hZMSxXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW1hZMSxXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgImluaXR0YWIgYcOnxLFsYW3EsXlvclxuIgorCisjfiBtc2dpZCAibm8gVEVSTSBvciBjYW5ub3Qgc3RhdCB0dHlcbiIKKyN+IG1zZ3N0ciAiWWEgVEVSTSBib8WfIHlhIGRhIHR0eSBkdXJ1bSBiaWxnaWxlcmkgYWzEsW5hbcSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAic2VydmlzIGR1cmR1cnVsdXJrZW4gaGF0YTogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAic2VydmlzIGR1cmR1cnVsdXJrZW4gaGF0YTogXCIlc1wiIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgInNlcnZpcyBkdXJkdXJ1bHVya2VuIGhhdGE6IFwiJXNcIiIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAiaW92IHNhecSxc8SxIMOnb2sgZmF6bGEgKHdhbGwvdHR5bXNnLmMgZGUga29kdSBkZcSfacWfdGlyKSIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBCxLBMxLBOTUVZRU4gSEFUQSIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogZ3J1cCBkb3N5YXPEsSBtZcWfZ3VsLlxuIgorCisjfiBtc2dpZCAiJXM6IHRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBkb3N5YXPEsSBtZcWfZ3VsLiAoJXMgaGF6xLFyKVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IGxpbmsgJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBpw6dpbiBiYcSfIG9sdcWfdHVydWxhbcSxeW9yOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyBpw6dpbiBiYcSfIGthbGTEsXLEsWxhbcSxeW9yOiAlcyAoZGXEn2nFn2lrbGlrbGVyaW5peiBoYWxhICVzIGnDp2luZGUpXG4iCisKKyN+IG1zZ2lkICIlczogQ2Fubm90IGZvcmtcbiIKKyN+IG1zZ3N0ciAiJXM6IEFzdCBzw7xyZcOnIG9sdcWfdHVydWxhbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgW2ZpbGVdXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbZG9zeWFdXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIG9rdW5hbcSxeW9yLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHN0YXQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBnZcOnaWNpIGRvc3lhIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3IuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGdlw6dpY2kgZG9zeWEgb2t1bmFtxLF5b3IuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IGNhbCBbLTEzc21qeVZdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiBjYWwgWy0xM3NtanlWXSBbW2F5XSB5xLFsXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiU3QuIFRpYiBHw7xuw7wiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAiJXM6ICVzIMO8emVyaW5kZSBlcmnFn2ltIGhhdGFzxLFcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIFsgLXMgc2lueWFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1sIFsgc2lnbmFsIF1cbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1sIFsgc2lueWFsIF1cbiIKKworI34gbXNnaWQgImxvZ2dlcjogJXM6ICVzLlxuIgorI34gbXNnc3RyICJsb2dnZXI6ICVzOiAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb2dnZXIgWy1pc10gWy1mIGZpbGVdIFstcCBwcmldIFstdCB0YWddIFstdSBzb2NrZXRdIFsgbWVzc2FnZSAuLi4gXVxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogbG9nZ2VyIFstaXNdIFstZiBkb3N5YV0gWy1wIHByaV0gWy10IGJhxZ9sxLFrXSBbLXUgc29rZXRdIFsgaWxldGkgLi4uIF1cbiIKKworI34gbXNnaWQgInVzYWdlOiBsb29rIFstZGZhXSBbLXQgY2hhcl0gc3RyaW5nIFtmaWxlXVxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogbG9vayBbLWRmYV0gWy10IGthcmFrdGVyXSBkaXpnZSBbZG9zeWFdXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICIlcyBhw6fEsWxhbWFkxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5PyIKKyN+IG1zZ3N0ciAiYmVsbGVrIHlldGVyc2l6P1xuIgorCisjfiBtc2dpZCAiJXM6IG91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiJXM6IGJlbGxlayB5ZXRlcnNpelxuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICLDp2HEn3LEsTogJXMgaGFuZ2kgZG9zeWFsYXJsYSDDp2FsxLHFn2FjYWs/XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiBzY3JpcHQgWy1hXSBbLWZdIFstcV0gWy10XSBbZG9zeWFdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHdyaXRlIGVycm9yICVkOiAlc1xuIgorI34gbXNnc3RyICIlcyDDvHplcmluZGUgeWF6bWEgaGF0YXPEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgw7x6ZXJpbmRlIHlhem1hIGhhdGFzxLFcbiIKKworI34gbXNnaWQgIiVzOiBBcmd1bWVudCBlcnJvciwgdXNhZ2VcbiIKKyN+IG1zZ3N0ciAiJXM6IEFyZ8O8bWFuIGhhdGFzxLEsIGt1bGxhbsSxbcSxXG4iCisKKyN+IG1zZ2lkICIgIFsgLXRlcm0gdGVybWluYWxfbmFtZSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtdGVybSB0ZXJtaW5hbF9pc21pIF1cbiIKKworI34gbXNnaWQgIiAgWyAtcmVzZXQgXVxuIgorI34gbXNnc3RyICIgIFsgLXJlc2V0IF1cbiIKKworI34gbXNnaWQgIiAgWyAtaW5pdGlhbGl6ZSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtaW5pdGlhbGl6ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWN1cnNvciBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtY3Vyc29yIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1yZXBlYXQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXJlcGVhdCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLWFwcGN1cnNvcmtleXMgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1saW5ld3JhcCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtbGluZXdyYXAgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1kZWZhdWx0IF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1kZWZhdWx0IF1cbiIKKworI34gbXNnaWQgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorI34gbXNnc3RyICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQgXVxuIgorCisjfiBtc2dpZCAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1iYWNrZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGUgXVxuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIGF0dHIgXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWludmVyc2VzY3JlZW4gW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLWludmVyc2VzY3JlZW4gW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1ib2xkIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1ib2xkIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtYmxpbmsgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLWJsaW5rIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtcmV2ZXJzZSBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtcmV2ZXJzZSBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXN0b3JlIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdG9yZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWNsZWFyIFthbGx8cmVzdF0gXVxuIgorI34gbXNnc3RyICIgIFsgLWNsZWFyIFthbGx8cmVzdF0gXVxuIgorCisjfiBtc2dpZCAiICBbIC10YWJzIFsgdGFiMSB0YWIyIHRhYjMgLi4uIF0gXSAgICAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAgWyAtdGFicyBbIHRhYjEgdGFiMiB0YWIzIC4uLiBdIF0gICAgICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiICBbIC1jbHJ0YWJzIFsgdGFiMSB0YWIyIHRhYjMgLi4uIF0gXSAgICh0YWJuID0gMS0xNjApXG4iCisjfiBtc2dzdHIgIiAgWyAtY2xydGFicyBbIHRhYjEgdGFiMiB0YWIzIC4uLiBdIF0gICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiICBbIC1yZWd0YWJzIFsxLTE2MF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXJlZ3RhYnMgWzEtMTYwXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICBbIC1ibGFuayBbMC02MHxmb3JjZXxwb2tlXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtYmxhbmsgWzAtNjBdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtZHVtcCAgIFsxLU5SX0NPTlNPTEVTXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtZHVtcCAgIFsxLUtvbnNvbF9ucl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1hcHBlbmQgWzEtTlJfQ09OU09MRVNdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBlbmQgWzEtS29uc29sX25yXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWZpbGUgZHVtcGZpbGVuYW1lIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1maWxlIGTDtmvDvG1Eb3N5YXPEsSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLW1zZyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtbXNnIFtvbnxvZmZdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtbXNnbGV2ZWwgWzAtOF0gXVxuIgorI34gbXNnc3RyICIgIFsgLW1zZ2xldmVsIFswLThdIF1cbiIKKworI34gbXNnaWQgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtcG93ZXJkb3duIFswLTYwXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJsZW5ndGggWzAtMjAwMF0gXVxuIgorI34gbXNnc3RyICIgIFsgLWJsZW5ndGggWzAtMjAwMF0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1iZnJlcSBmcmVxbnVtYmVyIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1iZnJlcSBmcmVrYW5zX25yIF1cbiIKKworI34gbXNnaWQgIkVycm9yIHdyaXRpbmcgc2NyZWVuZHVtcFxuIgorI34gbXNnc3RyICJFa3JhbiBkw7Zrw7xtw7wgeWF6xLFsxLFya2VuIGhhdGFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1kXSBbLXAgcGlkZmlsZV0gWy1zIHNvY2tldHBhdGhdIFstVCB0aW1lb3V0XVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogbGFzdCBbLSNdIFstZiBkb3N5YV0gWy10IHR0eV0gWy1oIG1ha2luYUFkxLFdIFtrdWxsYW7EsWPEsSAuLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAtbCBbIHNpbnlhbCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4vY3JlYXRlICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogYcOnxLFsYW3EsXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGYWlsZWQgdG8gbG9jayAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiTnVtYXJhIGdlw6dlcnNpejogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiAlcyBbZG9zeWFdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiJXMgZGlza2kgZ2XDp2VybGkgYmlyIGRpc2sgYsO2bMO8bWxlbWUgdGFibG9zdSBpw6dlcm1peW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIkF5YXIgZGXEn2VyaSBnZcOnZXJzaXo6ICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogd3JpdGUgdXNlciBbdHR5XVxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogd3JpdGUga3VsbGFuxLFjxLEgW3R0eV1cbiIKKworI34gbXNnaWQgIndhcm5pbmc6IGVycm9yIHJlYWRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJ1eWFyxLE6ICVzIG9rdW51cmtlbiBoYXRhOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJ1eWFyxLE6ICVzIGHDp8SxbGFtxLF5b3I6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJtb3VudDogJXMgYcOnxLFsYW1hZMSxIC0geWVyaW5lICVzIGt1bGxhbsSxbMSxeW9yXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBjcmVhdGUgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJraWxpdCBkb3N5YXPEsSAlcyBvbHXFn3R1cnVsYW3EsXlvcjogJXMgKHpvcmxhbWFrIGnDp2luIC1uIHNlw6dlbmXEn2luaSBrdWxsYW7EsW4pIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIiVzIGtpbGl0IGRvc3lhc8SxIGnDp2luIGJhxJ8gb2x1xZ90dXJ1bGFtxLF5b3I6ICVzICh6b3JsYW1hayBpw6dpbiAtbiBzZcOnZW5lxJ9pbmkga3VsbGFuxLFuKSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICIlcyBraWxpdCBkb3N5YXPEsSBhw6fEsWxhbcSxeW9yOiAlcyAoem9ybGFtYWsgacOnaW4gLW4gc2XDp2VuZcSfaW5pIGt1bGxhbsSxbikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMga2lsaXQgZG9zeWFzxLEga2lsaXRsZW5lbWl5b3I6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIiVzIGtpbGl0IGRvc3lhc8SxIGtpbGl0bGVuZW1peW9yOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAiJXMgYmHEn8SxIG9sdcWfdHVydWxhbcSxeW9yXG4iCisjfiAiS2FsbcSxxZ8gYmlyIGtpbGl0IGRvc3lhc8SxIG9sYWJpbGlyIG1pP1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgKCVzKSAtIG10YWIgbm90IHVwZGF0ZWQiCisjfiBtc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3IgKCVzKSAtIG10YWIgZ8O8bmNlbCBkZcSfaWwiCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBpw6dpbiBraXAgZGXEn2nFn3RpcmlsaXJrZW4gaGF0YTogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBvd25lciBvZiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXMgacOnaW4ga2lwIGRlxJ9pxZ90aXJpbGlya2VuIGhhdGE6ICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogJXMgYXlnxLF0xLEgaGFra8SxbmRhIGJpbGdpIGFsxLFuYW3EsXlvcjogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIsIG9mZnNldCAlPFBSSXU2ND4iCisjfiBtc2dzdHIgIiwgYmHFn2wgJWQiCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICIsIMWfaWZyZWxlbWUgdMO8csO8ICVkIGJpbGlubWl5b3JcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDogJXMgYXlnxLF0xLEgaGFra8SxbmRhIGJpbGdpIGFsxLFuYW3EsXlvcjogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiAlcyBheWfEsXTEsSBhw6fEsWxhbcSxeW9yOiAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiBcIiVzXCIgeW9rLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiAvZGV2L2xvb3AjIGnDp2luIGl6aW5sZXIgeWV0ZXJzaXoiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2U/IChJZiBzbywgcmVjb21waWxlIG9yIGBtb2Rwcm9iZSBsb29wJy4pIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEhpw6cgYmlyIGxvb3AgYXlnxLF0xLEgYnVsdW5hbWFkxLEuIEJ1IMOnZWtpcmRlayBsb29wIGF5Z8SxdMSxIGhha2vEsW5kYVxuIgorI34gIiAgICAgICBiaWxnaXllIHNhaGlwIGRlxJ9pbC4gKGBtb2Rwcm9iZSBsb29wJyBkZW5leWluLCBzb251w6cgYWxhbWF6c2FuxLF6XG4iCisjfiAiICAgICAgIMOnZWtpcmRlxJ9pIHllbmlkZW4gZGVybGV5aW4uKSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoaWxlIHJlYWRpbmcgcGFzc3BocmFzZSIKKyN+IG1zZ3N0ciAiVGFtcG9uIGLDvHnDvHTDvGzDvHJrZW4gYmVsbGVrIHlldG1lZGkuXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2FybmluZzogJXMgaXMgYWxyZWFkeSBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAiU2VrdMO2ciAlZCB6YXRlbiBrdWxsYW7EsW1kYVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgeWF6bWEga29ydW1hbMSxLCBzYWx0LW9rdW51ciBvbGFyYWsgYmHEn2xhbsSxeW9yIgorCisjfiBtc2dpZCAiQ291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSwgZXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiQmVsbGVrIGnDp2luZGUga2lsaXRsZW5lbWVkaSwgw6fEsWvEsWzEsXlvci5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgInNldF9sb29wKCVzLCVzLCVsbHUpOiBiYcWfYXLEsWzEsVxuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKTogYmHFn2FyxLFsxLFcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGRlbGV0ZSBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6ICVzIGF5Z8SxdMSxIHNpbGluZW1peW9yOiAlc1xuIgorCisjfiBtc2dpZCAiVGhpcyBtb3VudCB3YXMgY29tcGlsZWQgd2l0aG91dCBsb29wIHN1cHBvcnQuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIkJ1IG1vdW50IGxvb3AgZGVzdGXEn2kgb2xtYWtzxLF6xLFuIGRlcmxlbm1pxZ8uIEzDvHRmZW4geWVuaWRlbiBkZXJsZXlpbi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdmUgaW5mb1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkXG4iCisjfiAiICUxJHMgLWQgfCAtLWRldGFjaCA8bG9vcGRldj4gWzxsb29wZGV2PiAuLi5dIGRlbGV0ZVxuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kIHVudXNlZFxuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICAgICAgICAgICByZXNpemVcbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZmlsZT4gWy1vIDxudW0+XSAgICAgbGlzdCBhbGwgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gIiAlMSRzIFsgb3B0aW9ucyBdIHstZnwtLWZpbmR8bG9vcGRldn0gPGZpbGU+ICBzZXR1cFxuIgorI34gbXNnc3RyICIiCisjfiAia3VsbGFuxLFtxLE6XG4iCisjfiAiICAlcyBsb29wX2F5Z8SxdMSxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBiaWxnaSB2ZXJpbGlyXG4iCisjfiAiICAlcyAtZCBsb29wX2F5Z8SxdMSxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBzaWxtZVxuIgorI34gIiAgJXMgLWYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIGt1bGxhbsSxbG1hbcSxxZ9sYXJcbiIKKyN+ICIgICVzIFsgLWUgxZ9pZnJlbGVtZSBdIFsgLW8ga29udW0gXSB7LWZ8bG9vcF9heWfEsXTEsX0gZG9zeWEgIyBheWFybGFtYVxuIgorCisjfiBtc2dpZCAiTm8gbG9vcCBzdXBwb3J0IHdhcyBhdmFpbGFibGUgYXQgY29tcGlsZSB0aW1lLiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICJEZXJsZW1lIHPEsXJhc8SxbmRhIGxvb3AgZGVzdGXEn2kgdmVyaWxtZW1pxZ8uIEzDvHRmZW4geWVuaWRlbiBkZXJsZXlpbi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorI34gbXNnc3RyICJtb3VudDogbXRhYidhIGfDtnJlLCAlcyB6YXRlbiAlcyDDvHplcmluZGUgYmHEn2zEsSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IG10YWInYSBnw7ZyZSwgJXMgJXMgw7x6ZXJpbmRlIGJhxJ9sxLEiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyB5YXptYWsgacOnaW4gYcOnxLFsYW3EsXlvcjogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyB5YXrEsWzEsXJrZW4gaGF0YTogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBraXBpIGRlxJ9pxZ90aXJpbGlya2VuIGhhdGE6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IGdyb3VwIGlkOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGjEsXogYXlhcmxhbmFtxLF5b3I6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVzIgorI34gbXNnc3RyICJtb3VudDogaMSxeiBheWFybGFuYW3EsXlvcjogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDogYXN0IHPDvHJlw6cgb2x1xZ90dXJ1bGFtxLF5b3I6ICVzIgorCisjfiBtc2dpZCAiVHJ5aW5nICVzXG4iCisjfiBtc2dzdHIgIiVzIGRlbmVuaXlvclxuIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBkaWRuJ3Qgc3BlY2lmeSBhIGZpbGVzeXN0ZW0gdHlwZSBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGnDp2luIGJpciBkb3N5YSBzaXN0ZW1pIHTDvHLDvCBiZWxpcnRpbG1lbWnFn1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgYWxsIHR5cGVzIG1lbnRpb25lZCBpbiAlcyBvciAlc1xuIgorI34gbXNnc3RyICIgICAgICAgJXMgeWEgZGEgJXMgacOnaW5kZWtpIGFuxLFsYW4gdMO8bSB0w7xybGVyIGRlbmVuZWNla1xuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICB2ZSBidSB0YWthcyBhbGFuxLEgZ2liaSBnw7Zyw7xuw7x5b3JcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IHR5cGUgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIHTDvHLDvCBkZW5lbmVjZWtcbiIKKworI34gbXNnaWQgIiVzIGxvb2tzIGxpa2Ugc3dhcHNwYWNlIC0gbm90IG1vdW50ZWQiCisjfiBtc2dzdHIgIiVzIHRha2FzIGFsYW7EsSBnaWJpIGfDtnLDvG7DvHlvciAtIGJhxJ9sYW5tYWTEsSIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IHTDvHLDvCBpa2kgZGVmYSBiZWxpcnRpbG1pxZ8iCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGxvb3AgYXlnxLF0xLEgYXlhcmxhcsSxIGF0bGFuxLF5b3JcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIGFzIGxvb3AiCisjfiBtc2dzdHIgIm1vdW50OiBtdGFiJ2EgZ8O2cmUsICVzIHphdGVuICVzIMO8emVyaW5kZSBiYcSfbMSxIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW50OiBsb29wIGF5Z8SxdMSxIGF5YXJsYXLEsSB0YW1hbWxhbmTEsVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDogJXMgeW9rIC0gb2x1xZ90dXJ1bHV5b3IuLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGHDp8SxbGFtxLF5b3I6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogLXAgdmUgLS1wYXNzLWZkIHNlw6dlbmVrbGVyaW5pbiBhcmfDvG1hbsSxIGJpciBzYXnEsSBvbG1hbMSxZMSxciIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgb3BlbiAlcyBmb3Igc2V0dGluZyBzcGVlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGjEsXrEsSBheWFybGFtYWsgacOnaW4gJXMgYcOnxLFsYW3EsXlvciIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGjEsXogYXlhcmxhbmFtxLF5b3I6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBtdGFiJ2EgZ8O2cmUsICVzIHphdGVuICVzIMO8emVyaW5kZSBiYcSfbMSxIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgbWXFn2d1bC0gc2FsdC1va3VudXIgb2xhcmFrIHllbmlkZW4gYmHEn2xhbmTEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBtZcWfZ3VsLSBzYWx0LW9rdW51ciBvbGFyYWsgeWVuaWRlbiBiYcSfbGFuZMSxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChjb3VsZCB0aGlzIGJlIHRoZSBJREUgZGV2aWNlIHdoZXJlIHlvdSBpbiBmYWN0IHVzZVxuIgorI34gIiAgICAgICBpZGUtc2NzaSBzbyB0aGF0IHNyMCBvciBzZGEgb3Igc28gaXMgbmVlZGVkPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKGZpaWxlbiBpZGUtc2NzaSBrdWxsYW7EsWxkxLHEn8SxbmEgZ8O2cmUgYnUgYmlyIElERSBheWfEsXRcbiIKKyN+ICIgICAgICAgIG9sYWJpbGlyIG1pPyBCdXJhZGEgc3IwLCBzZGEgZ2liaSBiaXLFn2V5bGVyIG9sbWFsxLEsIGRlxJ9pbCBtaT8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoYXJlbid0IHlvdSB0cnlpbmcgdG8gbW91bnQgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLFxuIgorI34gIiAgICAgICBpbnN0ZWFkIG9mIHNvbWUgbG9naWNhbCBwYXJ0aXRpb24gaW5zaWRlPykiCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKGnDp2luZGVraSBiaXIgbWFudMSxa3NhbCBkaXNrIGLDtmzDvG3DvCB5ZXJpbmVcbiIKKyN+ICIgICAgICAgIGJpciBlayBkaXNrIGLDtmzDvG3DvG7DvCBiYcSfbGFtYXlhIMOnYWzEscWfbcSxeW9yIG11c3VudXo/KSIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlczogYXlnxLF0IGJpbGlubWl5b3IiCisKKyN+IG1zZ2lkICJtb3VudDogcHJvYmFibHkgeW91IG1lYW50ICVzIgorI34gbXNnc3RyICJtb3VudDogaGVyaGFsZGUgJXMga2FzdGV0dGluaXoiCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICdpc285NjYwJz8iCisjfiBtc2dzdHIgIm1vdW50OiAnaXNvOTY2MCcga2FzdGV0bWnFnyBvbGFiaWxpciBtaXNpbml6PyIKKworI34gbXNnaWQgIm1vdW50OiBtYXliZSB5b3UgbWVhbnQgJ3ZmYXQnPyIKKyN+IG1zZ3N0ciAibW91bnQ6ICd2ZmF0JyBrYXN0ZXRtacWfIG9sYWJpbGlyIG1pc2luaXo/IgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGhhcyB3cm9uZyBkZXZpY2UgbnVtYmVyIG9yIGZzIHR5cGUgJXMgbm90IHN1cHBvcnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHlhbmzEscWfIGF5Z8SxdCBudW1hcmFzxLFuYSBzYWhpcCB5YSBkYSBkb3N5YSBzaXN0ZW1pIHTDvHLDvCAlcyBkZXN0ZWtsZW5taXlvciIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudDogdMO8ciBiZWxpcnRpbG1lbWnFnyAtICc6JyBpw6dlcmRpxJ9pbmRlbiBuZnMgdmFyc2F5xLFsxLF5b3JcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW50OiB0w7xyIGJlbGlydGlsbWVtacWfIC0gJy8vJyDDtm5la2kgacOnZXJkacSfaW5kZW4gY2lmcyB2YXJzYXnEsWzEsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogbW91bnQgLVYgICAgICAgICAgICAgICAgIDogcHJpbnQgdmVyc2lvblxuIgorI34gIiAgICAgICBtb3VudCAtaCAgICAgICAgICAgICAgICAgOiBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAgIDogbGlzdCBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiICAgICAgIG1vdW50IC1sICAgICAgICAgICAgICAgICA6IGlkZW0sIGluY2x1ZGluZyB2b2x1bWUgbGFiZWxzXG4iCisjfiAiU28gZmFyIHRoZSBpbmZvcm1hdGlvbmFsIHBhcnQuIE5leHQgdGhlIG1vdW50aW5nLlxuIgorI34gIlRoZSBjb21tYW5kIGlzIGBtb3VudCBbLXQgZnN0eXBlXSBzb21ldGhpbmcgc29tZXdoZXJlJy5cbiIKKyN+ICJEZXRhaWxzIGZvdW5kIGluIC9ldGMvZnN0YWIgbWF5IGJlIG9taXR0ZWQuXG4iCisjfiAiICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IG1vdW50IGFsbCBzdHVmZiBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAgIDogbW91bnQgZGV2aWNlIGF0IHRoZSBrbm93biBwbGFjZVxuIgorI34gIiAgICAgICBtb3VudCBkaXJlY3RvcnkgICAgICAgICAgOiBtb3VudCBrbm93biBkZXZpY2UgaGVyZVxuIgorI34gIiAgICAgICBtb3VudCAtdCB0eXBlIGRldiBkaXIgICAgOiBvcmRpbmFyeSBtb3VudCBjb21tYW5kXG4iCisjfiAiTm90ZSB0aGF0IG9uZSBkb2VzIG5vdCByZWFsbHkgbW91bnQgYSBkZXZpY2UsIG9uZSBtb3VudHNcbiIKKyN+ICJhIGZpbGVzeXN0ZW0gKG9mIHRoZSBnaXZlbiB0eXBlKSBmb3VuZCBvbiB0aGUgZGV2aWNlLlxuIgorI34gIk9uZSBjYW4gYWxzbyBtb3VudCBhbiBhbHJlYWR5IHZpc2libGUgZGlyZWN0b3J5IHRyZWUgZWxzZXdoZXJlOlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQgb2xkZGlyIG5ld2RpclxuIgorI34gIm9yIG1vdmUgYSBzdWJ0cmVlOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIG1vdW50IGNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIk9uZSBjYW4gY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUgbW91bnRzIGluIGEgbW91bnQgc3VidHJlZVxuIgorI34gImNvbnRhaW5pbmcgdGhlIGRpcmVjdG9yeSBkaXI6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJBIGRldmljZSBjYW4gYmUgZ2l2ZW4gYnkgbmFtZSwgc2F5IC9kZXYvaGRhMSBvciAvZGV2L2Nkcm9tLFxuIgorI34gIm9yIGJ5IGxhYmVsLCB1c2luZyAgLUwgbGFiZWwgIG9yIGJ5IHV1aWQsIHVzaW5nICAtVSB1dWlkIC5cbiIKKyN+ICJPdGhlciBvcHRpb25zOiBbLW5mRnJzdnddIFstbyBvcHRpb25zXSBbLXAgcGFzc3dkZmRdLlxuIgorI34gIkZvciBtYW55IG1vcmUgZGV0YWlscywgc2F5ICBtYW4gOCBtb3VudCAuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLdWxsYW7EsW3EsTogbW91bnQgW3Nlw6dlbmVrbGVyXSBbYXlnxLF0XSBbZGl6aW5dXG4iCisjfiAiQmlsZ2lsZW5kaXJtZTpcbiIKKyN+ICIgIG1vdW50ICAgICAgICAgICAgICAgICBiYcSfbMSxIGRvc3lhIHNpc3RlbWxlcmluaSBnw7ZzdGVyaXIuXG4iCisjfiAiICBtb3VudCAtbCAgICAgICAgICAgICAgw7xzdHRla2luZSBlayBvbGFyYWsgYsO2bMO8bSBldGlrZXRsZXJpbmkgZ8O2c3RlcmlyXG4iCisjfiAiICBtb3VudCAtViAgICAgICAgICAgICAgc8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKyN+ICIgIG1vdW50IC1oICAgICAgICAgICAgICBidSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXJcbiIKKyN+ICJcbiIKKyN+ICJCaXIgYXlnxLF0xLEgYmHEn2xhbWE6XG4iCisjfiAiICBtb3VudCAtYSBbLXR8LU9dIC4uLiAvZXRjL2ZzdGFiJ2RhIGJ1bHVuYW5sYXLEsW4gdGFtYW3EsW7EsSBiYcSfbGFyXG4iCisjfiAiICBtb3VudCBheWfEsXQgICAgICAgICAgYnUgYXlnxLF0xLEgL2V0Yy9mc3RhYidkYSBiZWxpcnRpbG1pxZ8gZGl6aW5lIGJhxJ9sYXJcbiIKKyN+ICIgIG1vdW50IGRpemluICAgICAgICAgIGJ1IGRpemluZSAvZXRjL2ZzdGFiJ2RhIGJlbGlydGlsbWnFnyBheWfEsXTEsSBiYcSfbGFyXG4iCisjfiAiICBtb3VudCAtdCBUw5xSIEFZR0lUIETEsFrEsE4gICAgIFTDnFIgdMO8csO8bmRla2kgQVlHSVTEsSBExLBaxLBOZSBiYcSfbGFyXG4iCisjfiAiXG4iCisjfiAiQmHEn2zEsSBiaXIgZG9zeWEgc2lzdGVtaW5kZWtpIGnFn2xlbWxlcjpcbiIKKyN+ICIgIG1vdW50IC0tYmluZCBFU0vEsETEsFrEsE4gWUVOxLBExLBaxLBOXG4iCisjfiAiICAgICAgICAgICAgICAgICBFU0vEsETEsFrEsE5kZSBiYcSfbMSxIG9sYW4gYXlnxLF0xLEgWUVOxLBExLBaxLBOZSB5ZW5pZGVuIGJhxJ9sYXJcbiIKKyN+ICIgIG1vdW50IC0tbW92ZSBFU0vEsETEsFrEsE4gWUVOxLBExLBaxLBOXG4iCisjfiAiICAgICAgICAgICAgICAgICBFU0vEsETEsFrEsE5kZSBiYcSfbMSxIG9sYW4gYXlnxLF0xLFuIGRvc3lhIHNpc3RlbWluZGVraSB5ZXJpbmlcbiIKKyN+ICIgICAgICAgICAgICAgICAgIFlFTsSwRMSwWsSwTiBvbGFyYWsgZGXEn2nFn3RpcmlyLlxuIgorI34gIlxuIgorI34gIkRpxJ9lciBzZcOnZW5la2xlcjogWy1uZkZyc3Z3XSBbLW8gc2XDp2VuZWtsZXJdIFstcCBwYXJvbGFdLlxuIgorI34gIiAgbW91bnQgLW8gcmVtb3VudCxybyBExLBaxLBOICAgICBExLBaxLBOaSBzYWx0LW9rdW51ciBvbGFyYWsgeWVuaWRlbiBiYcSfbGFyLlxuIgorI34gIiAgbW91bnQgLW8gcmVtb3VudCxydyBExLBaxLBOICAgICBExLBaxLBOaSBva3UteWF6IG9sYXJhayB5ZW5pZGVuIGJhxJ9sYXIuXG4iCisjfiAiXG4iCisjfiAiw4dldmlyaSBoYXRhbGFyxLFuxLEgPGdudS10ckBiZWxnZWxlci5vcmc+IGFkcmVzaW5lIGJpbGRpcmluaXouXG4iCisjfiAiRGFoYSBmYXpsYSBiaWxnaSBlZGlubWVrIGnDp2luICdtYW4gOCBtb3VudCcgeWF6YWJpbGlyc2luaXouXG4iCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICJoacOnYmlyIMWfZXkgYmHEn2xhbm1hZMSxIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICJtb3VudDogYsO2eWxlIGJpciBkaXNrIGLDtmzDvG3DvCB5b2siCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiB1eWFyxLE6ICVzIGRvc3lhc8SxbsSxbiBzb251bmRhIHNvbiBiaXIgc2F0xLFyc29udSBnZXJla2xpXG4iCisKKyN+IG1zZ2lkICJbbW50ZW50XTogbGluZSAlZCBpbiAlcyBpcyBiYWQlc1xuIgorI34gbXNnc3RyICJbbW50ZW50XTogJWQgc2F0xLFyxLEgJXMgZG9zeWFzxLFuZGEgaGF0YWzEsSVzXG4iCisKKyN+IG1zZ2lkICI7IHJlc3Qgb2YgZmlsZSBpZ25vcmVkIgorI34gbXNnc3RyICI7IGRvc3lhbsSxbiBrYWxhbsSxIHlva3NhecSxbGTEsSIKKworI34gbXNnaWQgImJ1ZyBpbiB4c3RybmR1cCBjYWxsIgorI34gbXNnc3RyICJ4c3RybmR1cCDDp2HEn3LEsXPEsW5kYSB5YXrEsWzEsW0gaGF0YXPEsSIKKworI34gbXNnaWQgIm5vdCBlbm91Z2ggbWVtb3J5IgorI34gbXNnc3RyICJ5ZXRlcmxpIGJlbGxlayB5b2siCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICLDp2FsxLHFn3TEsXJtYSBiYcWfYXLEsXPEsXpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzYW1lIgorI34gbXNnc3RyICLEsHNpbSIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJ1bW91bnQ6IC1mIGnDp2luIGRlc3RlayBpw6dlcm1la3NpemluIGRlcmxlbm1pxZ9cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVzIgorI34gbXNnc3RyICJtb3VudDogaMSxeiBheWFybGFuYW3EsXlvcjogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVzIgorI34gbXNnc3RyICJtb3VudDogaMSxeiBheWFybGFuYW3EsXlvcjogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBhc3Qgc8O8cmXDpyBvbHXFn3R1cnVsYW3EsXlvcjogJXMiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogJXMiCisKKyN+IG1zZ2lkICJubyB1bW91bnQyLCB0cnlpbmcgdW1vdW50Li4uXG4iCisjfiBtc2dzdHIgInVtb3VudDIgeW9rLCB1bW91bnQgZGVuZW5peW9yLi4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgbWXFn2d1bC0gc2FsdC1va3VudXIgb2xhcmFrIHllbmlkZW4gYmHEn2xhbmTEsVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb3VsZCBub3QgcmVtb3VudCAlcyByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBzYWx0IG9rdW51ciBvbGFyYWsgeWVuaWRlbiBiYcSfbGFuYW3EsXlvclxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyBzaXN0ZW1kZW4gYXlyxLFsZMSxXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmaW5kIGxpc3Qgb2YgZmlsZXN5c3RlbXMgdG8gdW5tb3VudCIKKyN+IG1zZ3N0ciAidW1vdW50OiBheXLEsWxhY2FrIGRvc3lhIHNpc3RlbWxlcmluaW4gbGlzdGVzaSBidWx1bmFtxLF5b3IiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxbcSxOiB1bW91bnQgWy1oVl1cbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZl0gWy1sXSBbLXJdIFstbl0gWy12XSBbLXQgZHMtdMO8csO8XSBbLU8gc2XDp2VuZWtsZXJdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWZdIFstcl0gWy1uXSBbLXZdIMO2emVsIHwgZMO8xJ/DvG0uLi5cbiIKKyN+ICJCYcSfbMSxIGRvc3lhIHNpc3RlbWxlcmluaSBhecSxcm1hayBpw6dpbiBrdWxsYW7EsWzEsXIuXG4iCisjfiAiICAtaCAgICAgICAgICBidSB5YXJkxLFtIGlsZXRpc2luaSBnw7ZzdGVyaXIgdmUgw6fEsWthclxuIgorI34gIiAgLVYgICAgICAgICAgc8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXIgdmUgw6fEsWthclxuIgorI34gIiAgLWEgICAgICAgICAgL2V0Yy9tdGFiJ2RhIGthecSxdGzEsSB0w7xtIGRvc3lhIHNpc3RlbWxlcmluaSBhecSxcsSxclxuIgorI34gIiAgLXYgICAgICAgICAgw6fEsWt0xLEgYXlyxLFudMSxIGnDp2VyaXJcbiIKKyN+ICIgIC1uICAgICAgICAgIC9ldGMvbXRhYiBkb3N5YXPEsW5hIHlhem1helxuIgorI34gIiAgLXIgICAgICAgICAgYXnEsXJtYSBiYcWfYXLEsXPEsXogb2x1cnNhIHNhbHQtb2t1bnVyIG9sYXJhayBiYcSfbGFtYXnEsSBkZW5lclxuIgorI34gIiAgLWYgICAgICAgICAgZG9zeWEgc2lzdGVtaSBlcmnFn2lsZWJpbGlyIGRlxJ9pbHNlIGJpbGUgZG9zeWEgc2lzdGVtaW5pIGF5xLFyxLFyXG4iCisjfiAiICAtbCAgICAgICAgICBkb3N5YSBzaXN0ZW1pbmkgbXV0bGFrYSBhecSxcsSxci4gKGVuIGF6IGxpbnV4LTIuNC4xMSBnZXJla2lyKVxuIgorI34gIiAgLXQgZHMtdMO8csO8ICAtYSBzZcOnZW5lxJ9pIGlsZSBrdWxsYW7EsWxkxLHEn8SxbmRhIHNhZGVjZSB0w7xyw7wgYmVsaXJ0aWxlbiBkb3N5YVxuIgorI34gIiAgICAgICAgICAgICAgc2lzdGVtbGVyaW5pIGF5xLFyxLFyXG4iCisjfiAiXG4iCisjfiAiw4dldmlyaSBoYXRhbGFyxLFuxLEgPGdudS10ckBiZWxnZWxlci5vcmc+IGFkcmVzaW5lIGJpbGRpcmluaXpcbiIKKyN+ICJEYWhhIGZhemxhIGJpbGdpIGVkaW5tZWsgacOnaW4gJ21hbiA4IHVtb3VudCcgeWF6xLFuxLF6LlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiXCJcIiBheXLEsWxhbWF6XG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIm10YWIgacOnaW5kZSAlcyBidWx1bmFtYWTEsVxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGJhxJ9sxLEgZGXEn2lsIChtdGFiIGnDp2luZGUgeW9rKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBkZWZhbGFyY2EgYmHEn2xhbm3EscWfIGfDtnLDvG7DvHlvciIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGZzdGFiIGnDp2luZGUgeW9rICh2ZSBzaXogcm9vdCBkZcSfaWxzaW5peikiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW50OiAlcyBiYcSfxLEgZnN0YWIgaWxlIMOnZWxpxZ9peW9yIgorCisjfiBtc2dpZCAidW1vdW50OiBvbmx5ICVzIGNhbiB1bm1vdW50ICVzIGZyb20gJXMiCisjfiBtc2dzdHIgInVtb3VudDogc2FkZWNlICUxJHMgJTMkcyBheWfEsXTEsW7EsSAlMiRzIGRpemluaW5kZW4gYXnEsXJhYmlsaXIiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAidW1vdW50OiBidSBzYWRlY2Ugcm9vdCB0YXJhZsSxbmRhbiB5YXDEsWxhYmlsaXIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICJiaWxpbm1leWVuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgJyVzJyIKKyN+IG1zZ3N0ciAiJXMgYcOnxLFsYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgYW5kICVkLiIKKyN+IG1zZ3N0ciAiIHZlICIKKworI34gbXNnaWQgIlVzYWdlOiBjdHJsYWx0ZGVsIGhhcmR8c29mdFxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWZcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkRvc3lhICVzLCBlxZ9payBkZcSfZXJpICVsdSwgZmlmbydkYWtpIGVuIGZhemxhIGthcmFrdGVyIHNhecSxc8SxICVkIHZlXG4iCisjfiAia2FyYWt0ZXIvc2FuaXllIGNpbnNpbmRlbiBlbiB5w7xrc2VrIGFrdGFyxLFtIGjEsXrEsSAlZiBpZGlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltcm91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJEb3N5YSAlcywgZcWfaWsgZGXEn2VyaSAlbHUsIHphbWFuIGHFn8SxbcSxIGRlxJ9lcmkgJWx1LFxuIgorI34gImZpZm8nZGFraSBlbiBmYXpsYSBrYXJha3RlciBzYXnEsXPEsSAlZCB2ZVxuIgorI34gImthcmFrdGVyL3Nhbml5ZSBjaW5zaW5kZW4gZW4gecO8a3NlayBha3RhcsSxbSBoxLF6xLEgJWYgaWRpXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsdWVdfFstUyB2YWx1ZV0pIChbLXQgdmFsdWVdfFstVCB2YWx1ZV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFtxLE6ICVzIFstcSBbLWkgYXJhbMSxa11dIChbLXMgZGXEn2VyXXxbLVMgZGXEn2VyXSkgKFstdCBkZcSfZXJdfFstVCBkZcSfZXJdKSBbLWd8LUddIGRvc3lhIFtkb3N5YS4uLl1cbiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzIGHDp8SxbGFtxLF5b3I6ICVzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBzZXQgJXMgdG8gdGhyZXNob2xkICVkOiAlc1xuIgorI34gbXNnc3RyICIlcyAlZCBlxZ9payBkZcSfZXJpbmUgYXlhcmxhbmFtxLF5b3I6ICVzXG4iCisKKyN+IG1zZ2lkICJDYW4ndCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzICVkIHphbWFuIGXFn2lrIGRlxJ9lcmluZSBheWFybGFuYW3EsXlvcjogJXNcbiIKKworI34gbXNnaWQgIkNhbid0IGdldCB0aHJlc2hvbGQgZm9yICVzOiAlc1xuIgorI34gbXNnc3RyICIlcyBpw6dpbiBlxZ9payBkZcSfZXJpIGFsxLFuYW3EsXlvcjogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBlxZ9payB2ZSAlbGQgemFtYW4gYcWfxLFtxLEgbWV2Y3V0XG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVzOiAlbGQgZcWfaWsgdmUgJWxkIHphbWFuIGHFn8SxbcSxIMO2bnRhbsSxbWzEsVxuIgorCisjfiBtc2dpZCAiQ2FuJ3QgaXNzdWUgQ1lHRVRNT04gb24gJXM6ICVzXG4iCisjfiBtc2dzdHIgIiVzIMO8emVyaW5kZSBDWUdFVE1PTiB1eWd1bGFuYW3EsXlvcjogJXNcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUga2VzbWUsICVsdS8lbHUga2Fya3Q7IGZpZm86ICVsdSBlxZ9paywgJWx1IHphbS5hxZ8sIGVuw6dvayAlbHUsIMWfdWFuICVsdVxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjLCAlZiBzZW5kIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYga2VzbWUvczsgJWYga2F5xLF0LCAlZiBnw7ZuZGVyaSAoa2Fya3QvcylcbiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBrZXNtZSwgJWx1IGthcmFrdGVyOyBmaWZvOiBlxZ9payAlbHUsIHphbWFuIGHFn8SxbcSxICVsdSwgZW4gw6dvayAlbHUsIMWfaW1kaWtpICVsdVxuIgorCisjfiBtc2dpZCAiICAgJWYgaW50L3NlYzsgJWYgcmVjIChjaGFyL3NlYylcbiIKKyN+IG1zZ3N0ciAiICAgJWYga2VzbWUvc2VjOyAlZiBrYXnEsXQgKGthcmt0L3MpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogJXMgWy1jXSBbLW4gc2V2aXllXSBbLXMgdGFtcG9uQm95dV1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAiTnVtYXJhIGdlw6dlcnNpejogJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgImFzdCBzw7xyZcOnIG9sdcWfdHVydWxhbWFkxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZnN0YXQgZmFpbGVkIgorI34gbXNnc3RyICJkb3N5YSB5b2x1IGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtYWTEsVxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJlc2tpIGt1bGxhbsSxbcSxOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBraW1saWsgLi4uXG4iCisjfiAiS2ltbGlrIGlsZSBiZWxpcnRpbGVuIMO2emtheW5hxJ/EsSBrYWxkxLFyxLFyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0gLi4uIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gImt1bGxhbsSxbcSxOiAlcyBbIFstcSBtc3FraW1sXSBbLW0gc2hta2ltbF0gWy1zIHNlbWtpbWxdXG4iCisjfiAiICAgICAgICAgICAgICBbLVEgbXNnYW5oXSBbLU0gc2htYW5oXSBbLVMgc2VtYW5oXSAuLi4gXVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVzOiBrdXJhbGTEscWfxLEgc2XDp2VuZWsgLS0gJWNcbiIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4ga2V5IgorI34gbXNnc3RyICJhbmFodGFyZGEgYmlsaW5tZXllbiBoYXRhIgorCisjfiBtc2dpZCAibWF4IHNlZyBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgImF6YW1pIGLDtmzDvHQgYm95dSAoa2IpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAiYXlyxLFsbcSxxZ8gYsO2bMO8dCBzYXnEsXPEsSAlZFxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICJheXLEsWxtxLHFnyBzYXlmYSBzYXnEsXPEsSAgJWxkXG4iCisKKyN+IG1zZ2lkICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisjfiBtc2dzdHIgImJ1bHVuYW4gc2F5ZmEgc2F5xLFzxLEgICAlbGRcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiVGFrYXMgdmVyaW1pOiAlbGQgZGVuZW1lXHQgJWxkIGJhxZ9hcsSxXG4iCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNiYXl0PSVsZFx0cWJheXQ9JWxkXHRxU2F5xLFzxLE9JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsZGF0dGFjaCBmcm9tICVzXG4iCisjfiBtc2dzdHIgIiUyJHMgZGVraSAlMSRzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZXJyb3I6IGNhbm5vdCBvcGVuICVzIgorI34gbXNnc3RyICIlczogJXMgYcOnxLFsYW3EsXlvclxuIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBVc2FnZTogXCIlcyBbb3B0aW9uc11cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorI34gIlx0XHRcdFx0ICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAoZGVmYXVsdDogXCIlc1wiKVxuIgorI34gIlx0IC1NIDxtdWx0PiAgICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorI34gIlx0IC12ICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCisjfiAiXHQgLWEgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCisjfiAiXHQgLWIgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCisjfiAiXHQgLXMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKKyN+ICJcdCAtciAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorI34gIlx0IC1WICAgICAgICAgICAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IEt1bGxhbsSxbcSxOiBcIiVzIFtzZcOnZW5la2xlcl1cbiIKKyN+ICJcdCAtbSA8ZcWfbGVtZG9zeWFzxLE+ICAow7ZudGFuxLFtbMSxID0gXCIlc1wiIHZlXG4iCisjfiAiXHQgICAgICAgICAgICAgICAgICAgICBcIiVzXCIpXG4iCisjfiAiXHQgLXAgPHByb2Rvc3lhc8SxPiAgICAow7ZudGFuxLFtbMSxID0gXCIlc1wiKVxuIgorI34gIlx0IC1NIDzDp2FycGFuPiAgICAgICAgcHJvZmlsIMOnb8SfdWxsYXnEsWPEsSBiZWxpcnRpbGlyXG4iCisjfiAiXHQgLWkgICAgICAgICAgICAgICAgIMO2cm5la2xlbWUgYWTEsW3EsSBoYWtrxLFuZGEgYmlsZ2kgdmVyaXJcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgICAgICAgYXlyxLFudMSxbMSxIGJpbGdpIHZlcmlyXG4iCisjfiAiXHQgLWEgICAgICAgICAgICAgICAgIHNhecSxc8SxIDAgYmlsZSBvbHNhIHTDvG0gc2VtYm9sbGVyaSBnw7ZzdGVyaXJcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgICAgICAgaGlzdG9ncmFtLWJpbiBzYXnEsWxhcsSxbsSxIHRlayB0ZWsgZ8O2c3RlcmlyXG4iCisjfiAiXHQgLXMgICAgICAgICAgICAgICAgIGnFn2xldmxlcmluIGnDp2luZGVraSBiYcSfxLFtc8SxeiBzYXlhw6dsYXLEsSBiYXNhclxuIgorI34gIlx0IC1yICAgICAgICAgICAgICAgICB0w7xtIHNheWHDp2xhciBzxLFmxLFybGFuxLFyIChzYWRlY2Ugcm9vdClcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgICAgICAgYmF5dCBzxLFyYWxhbWFzxLFuxLFuIHNhcHRhbm1hc8SxbsSxIMO2bmxlclxuIgorI34gIlx0IC1WICAgICAgICAgICAgICAgICBzw7xyw7xtIGJpbGdpbGVyaW5pIGfDtnN0ZXJpciB2ZSDDp8Sxa2FyXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVhZHByb2ZpbGU6IGVycm9yIHdyaXRpbmcgJXM6ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyB5YXrEsWzEsXJrZW4gaGF0YTogJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAiJTIkcyBkZWtpICUxJHNcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IHVua25vd24gdXNlclxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBrdWxsYW7EsWPEsSBiaWxpbm1peW9yXG4iCisKKyN+IG1zZ2lkICJyZW5pY2U6ICVzOiBiYWQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAicmVuaWNlOiAlczogZGXEn2VyIGhhdGFsxLFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzOiBrdXJhbGTEscWfxLEgdHXFnyAoJXMpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVzOiBrdXJhbGTEscWfxLEgc2XDp2VuZWsgLS0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJydGMgcmVhZCIKKyN+IG1zZ3N0ciAiLCBoYXrEsXIiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIHByb2dyYW0gW2FyZyAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIDxkZXZpY2U+IFsgLWkgPElSUT4gfCAtdCA8VElNRT4gfCAtYyA8Q0hBUlM+IHwgLXcgPFdBSVQ+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIiCisjfiAiS3VsbGFuxLFtxLE6ICVzIDxheWfEsXQ+IFsgLWkgPElSUT4gfCAtdCA8WkFNQU4+IHwgLWMgPEtBUktUPiB8IC13IDxHRUPEsEtNRT4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICJtYWxsb2MgZXJyb3IiCisjfiBtc2dzdHIgImJlbGxlayBhecSxcm1hIGhhdGFzxLEiCisKKyN+IG1zZ2lkICIlczogYmFkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiVzOiBkZcSfZXIgaGF0YWzEsVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInR1bmVscDogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudDogYmHEn2xhbmFtYWTEsSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiw6dhbMSxxZ90xLFybWEgYmHFn2FyxLFzxLF6XG4iCisKKyN+IG1zZ2lkICJjb2w6IGJhZCAtbCBhcmd1bWVudCAlcy5cbiIKKyN+IG1zZ3N0ciAiY29sOiAtbCBhcmfDvG1hbsSxICVzIGhhdGFsxLEuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sIFstYmZweF0gWy1sIG5saW5lXVxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogY29sIFstYmZweF0gWy1sIHNhdMSxcnNhecSxc8SxXVxuIgorCisjfiBtc2dpZCAiY29sOiB3cml0ZSBlcnJvci5cbiIKKyN+IG1zZ3N0ciAiY29sOiB5YXptYSBoYXRhc8SxLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLSBdIFsgLTIgXSBbIGZpbGUgLi4uIF1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIFsgLSBdIFsgLTIgXSBbIGRvc3lhIC4uLiBdXG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJzYXTEsXIgw6dvayB1enVuIgorCisjfiBtc2dpZCAidXNhZ2U6IGNvbHVtbiBbLXR4XSBbLWMgY29sdW1uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJrdWxsYW7EsW3EsTogY29sdW1uIFstdHhdIFstYyBzw7x0dW5dIFtkb3N5YSAuLi5dXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBiYWQgbGVuZ3RoIHZhbHVlLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiB1enVubHVrIGhhdGFsxLEuXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBiYWQgc2tpcCB2YWx1ZS5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogYXRsYW1hIGRlxJ9lcmkgaGF0YWzEsS5cbiIKKworI34gbXNnaWQgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIGZtdF9maWxlXSBbLW4gbGVuZ3RoXSBbLXMgc2tpcF0gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBbLWJjQ2RvdnhdIFstZSBiacOnZW1dIFstZiBiacOnZW1Eb3N5YXPEsV0gWy1uIHV6dW5sdWtdIFstcyBhdGxhbmFuXSBbZG9zeWEgLi4uXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6ICVzIFstZGZscGNzdV0gWytzYXTEsXJudW0gfCArL2thbMSxcF0gaXNpbTEgaXNpbTIgLi4uXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAiLi4ua2FsYW4gMSBzYXlmYSIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICIuLi5iaXIgc2F0xLFyIGF0bGFuxLF5b3IiCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2Q6IG9kKDEpIGhleGR1bXAoMSkgacOnaW4gdXlndW4gYnVsdW5tYW3EscWfdMSxLlxuIgorCisjfiBtc2dpZCAib2Q6IGhleGR1bXAoMSkgY29tcGF0aWJpbGl0eSBkb2Vzbid0IHN1cHBvcnQgdGhlIC0lYyBvcHRpb24lc1xuIgorI34gbXNnc3RyICJvZDogaGV4ZHVtcCgxKSB1eXVtbHVsdcSfdSAtJWMgc2XDp2VuZcSfaW5pIGRlc3Rla2xlbWl5b3Ilc1xuIgorCisjfiBtc2dpZCAiOyBzZWUgc3RyaW5ncygxKS4iCisjfiBtc2dzdHIgIjsgQmFrOiBzdHJpbmdzKDEpLiIKKworI34gbXNnaWQgImhleGR1bXA6IGNhbid0IHJlYWQgJXMuXG4iCisjfiBtc2dzdHIgImhleGR1bXA6ICVzIG9rdW5hbcSxeW9yLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogbGluZSB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogc2F0xLFyIMOnb2sgdXp1bi5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5XG4iCisjfiBtc2dzdHIgIkJlbGxlayB5ZXRlcnNpeiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiQcOnxLFsYW3EsXlvciIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyc3BhY2UiCisjfiBtc2dzdHIgIlRhbXBvbiBhbGFuxLEgYXlyxLFsYW1hZMSxXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogcmV2IFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6IHJldiBbZG9zeWEgLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogdGFpbGYgZ8O8bmzDvGtfZG9zeWFzxLFcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBkb3N5YS4uLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiVGFtcG9uIGF5csSxbGFtYWTEsS5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiVGFtcG9uIGLDvHnDvHTDvGzDvHJrZW4gYmVsbGVrIHlldG1lZGkuXG4iCisKKyN+IG1zZ2lkICJgJXMnOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKKyN+IG1zZ3N0ciAiYCVzJzogZGl6aW4gaGF0YWzEsTogJy4nIGlsayBkZcSfaWxcbiIKKworI34gbXNnaWQgImAlcyc6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCisjfiBtc2dzdHIgImAlcyc6IGRpemluIGhhdGFsxLE6ICcuLicgaWtpbmNpIGRlxJ9pbFxuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiBsYWJlbCBvbmx5IHdpdGggdjEgc3dhcCBhcmVhXG4iCisjfiBtc2dzdHIgIiVzOiBoYXRhOiBzYWRlY2UgdjEgdGFrYXMgYWxhbmzEsSBldGlrZXRcbiIKKworI34gbXNnaWQgImZhdGFsOiBmaXJzdCBwYWdlIHVucmVhZGFibGUiCisjfiBtc2dzdHIgIsO2bMO8bWPDvGw6IGlsayBzYXlmYSBva3VuYWJpbGlyIGRlxJ9pbCIKKworI34gbXNnaWQgIiIKKyN+ICIlczogRGV2aWNlICclcycgY29udGFpbnMgYSB2YWxpZCBTdW4gZGlza2xhYmVsLlxuIgorI34gIlRoaXMgcHJvYmFibHkgbWVhbnMgY3JlYXRpbmcgdjAgc3dhcCB3b3VsZCBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiTm8gc3dhcCBjcmVhdGVkLiBJZiB5b3UgcmVhbGx5IHdhbnQgdG8gY3JlYXRlIHN3YXAgdjAgb24gdGhhdCBkZXZpY2UsIHVzZVxuIgorI34gInRoZSAtZiBvcHRpb24gdG8gZm9yY2UgaXQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogJyVzJyBheWfEsXTEsSBiaXIgZ2XDp2VybGkgU3VuIGRpc2sgZXRpa2V0aSBpw6dlcml5b3IuXG4iCisjfiAiQnUgZHVydW1kYSB2MCB0YWthcyBhbGFuxLEgb2x1xZ90dXJtYWsgYsO2bMO8bWxlbWUgdGFibG9zdW51IGJvemFjYcSfxLFuZGFuXG4iCisjfiAidGFrYXMgYWxhbsSxIG9sdcWfdHVydWxtYWTEsS4gQnVyYWRhIG11dGxha2EgYmlyIHYwIHRha2FzIGFsYW7EsSBvbHXFn3R1cm1ha1xuIgorI34gImlzdGl5b3JzYW7EsXogLWYgc2XDp2VuZcSfaSBpbGUgYnVudSB5YXBhYmlsaXJzaW5pei5cbiIKKworI34gbXNnaWQgIkxpbnV4IGV4dDIiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDIiCisKKyN+IG1zZ2lkICJMaW51eCBleHQzIgorI34gbXNnc3RyICJMaW51eCBleHQzIgorCisjfiBtc2dpZCAiTGludXggWEZTIgorI34gbXNnc3RyICJMaW51eCBYRlMiCisKKyN+IG1zZ2lkICJMaW51eCBKRlMiCisjfiBtc2dzdHIgIkxpbnV4IEpGUyIKKworI34gbXNnaWQgIkxpbnV4IFJlaXNlckZTIgorI34gbXNnc3RyICJMaW51eCBSZWlzZXJGUyIKKworI34gbXNnaWQgIk9TLzIgSUZTIgorI34gbXNnc3RyICJPUy8yIElGUyIKKworI34gbXNnaWQgIk5URlMiCisjfiBtc2dzdHIgIk5URlMiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IGZkaXNrIFstYiBTU1pdIFstdV0gRElTSyAgICAgQ2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAgICAgICBmZGlzayAtbCBbLWIgU1NaXSBbLXVdIERJU0sgIExpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICAgICAgIGZkaXNrIC1zIFBBUlRJVElPTiAgICAgICAgICAgR2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICIgICAgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICBHaXZlIGZkaXNrIHZlcnNpb25cbiIKKyN+ICJIZXJlIERJU0sgaXMgc29tZXRoaW5nIGxpa2UgL2Rldi9oZGIgb3IgL2Rldi9zZGFcbiIKKyN+ICJhbmQgUEFSVElUSU9OIGlzIHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhN1xuIgorI34gIi11OiBnaXZlIFN0YXJ0IGFuZCBFbmQgaW4gc2VjdG9yIChpbnN0ZWFkIG9mIGN5bGluZGVyKSB1bml0c1xuIgorI34gIi1iIDIwNDg6IChmb3IgY2VydGFpbiBNTyBkaXNrcykgdXNlIDIwNDgtYnl0ZSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJLdWxsYW7EsW3EsTpcbiIKKyN+ICIgICAgZmRpc2sgWy1iIFNrdFV6XSBbLXVdIERpU0sgICAgRGlzayBiw7Zsw7xtbGVtZSB0YWJsb3N1bnUgZGXEn2nFn3RpcmlyXG4iCisjfiAiICAgIGZkaXNrIC1sIFstYiBTa3RVel0gWy11XSBEaVNLIERpc2sgYsO2bMO8bWxlbWUgdGFibG9zdW51IGxpc3RlbGVyXG4iCisjfiAiICAgIGZkaXNrIC1zIELDlkzDnE0gICAgICAgICAgICAgICAgQsO2bMO8bSB1enVubHVrbGFyxLFuxLEgYmxvayBjaW5zaW5kZW4gdmVyaXJcbiIKKyN+ICIgICAgZmRpc2sgLXYgICAgICAgICAgICAgICAgICAgICAgZmRpc2sgc8O8csO8bSBiaWxnaWxlcmluaSBnw7ZzdGVyaXJcbiIKKyN+ICJCdXJhZGE6XG4iCisjfiAiRGlTSyAvZGV2L2hkYiB2ZXlhIC9kZXYvc2RhIGdpYmkgdmVcbiIKKyN+ICJCw5ZMw5xNIC9kZXYvaGRiNyBnaWJpIHZlcmlsaXIuXG4iCisjfiAiLXU6IEJhxZ9sYW5nxLHDpyB2ZSBiaXRpxZ8gc2VrdMO2cmxlcmluaSAoc2lsaW5kaXIgZGXEn2lsKSB2ZXJpclxuIgorI34gIi1iIDIwNDg6IDIwNDggYmF5dGzEsWsgc2VrdMO2cmxlciBrdWxsYW7EsWzEsXJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogZmRpc2sgWy1sXSBbLWIgU1NaXSBbLXVdIGRldmljZVxuIgorI34gIkUuZy46IGZkaXNrIC9kZXYvaGRhICAoZm9yIHRoZSBmaXJzdCBJREUgZGlzaylcbiIKKyN+ICIgIG9yOiBmZGlzayAvZGV2L3NkYyAgKGZvciB0aGUgdGhpcmQgU0NTSSBkaXNrKVxuIgorI34gIiAgb3I6IGZkaXNrIC9kZXYvZWRhICAoZm9yIHRoZSBmaXJzdCBQUy8yIEVTREkgZHJpdmUpXG4iCisjfiAiICBvcjogZmRpc2sgL2Rldi9yZC9jMGQwICBvcjogZmRpc2sgL2Rldi9pZGEvYzBkMCAgKGZvciBSQUlEIGRldmljZXMpXG4iCisjfiAiICAuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkt1bGxhbsSxbcSxOiBmZGlzayBbLWxdIFstYiBTa3RdIFstdV0gYXlnxLF0XG4iCisjfiAiICDDlnJuZcSfaW46XG4iCisjfiAiICAgZmRpc2sgL2Rldi9oZGEgIChpbGsgSURFIGRpc2spXG4iCisjfiAiICAgZmRpc2sgL2Rldi9zZGMgICjDvMOnw7xuY8O8IFNDU0kgZGlzaylcbiIKKyN+ICIgICBmZGlzayAvZGV2L2VkYSAgKGlsayBQUy8yIEVTREkgYXlnxLF0xLEpXG4iCisjfiAiICAgZmRpc2sgL2Rldi9yZC9jMGQwICB2ZXlhXG4iCisjfiAiICAgZmRpc2sgL2Rldi9pZGEvYzBkMCAgKFJBSUQgYXlnxLF0bGFyxLEpXG4iCisjfiAiICAuLi5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJUaGUgbnVtYmVyIG9mIGN5bGluZGVycyBmb3IgdGhpcyBkaXNrIGlzIHNldCB0byAlZC5cbiIKKyN+ICJUaGVyZSBpcyBub3RoaW5nIHdyb25nIHdpdGggdGhhdCwgYnV0IHRoaXMgaXMgbGFyZ2VyIHRoYW4gMTAyNCxcbiIKKyN+ICJhbmQgY291bGQgaW4gY2VydGFpbiBzZXR1cHMgY2F1c2UgcHJvYmxlbXMgd2l0aDpcbiIKKyN+ICIxKSBzb2Z0d2FyZSB0aGF0IHJ1bnMgYXQgYm9vdCB0aW1lIChlLmcuLCBvbGQgdmVyc2lvbnMgb2YgTElMTylcbiIKKyN+ICIyKSBib290aW5nIGFuZCBwYXJ0aXRpb25pbmcgc29mdHdhcmUgZnJvbSBvdGhlciBPU3NcbiIKKyN+ICIgICAoZS5nLiwgRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQnUgZGlzayBpw6dpbiBzaWxpbmRpciBzYXnEsXPEsSAlZCBvbGFyYWsgYmVsaXJsZW5kaS5cbiIKKyN+ICJZYW5sxLHFnyBiaXIgxZ9leSB5b2sgZmFrYXQgMTAyNCBzaWxpbmRpcmRlbiBiw7x5w7xrIGRlxJ9lcmxlcmxlXG4iCisjfiAiYmF6xLEgeWF6xLFsxLFtbGFyIHNvcnVuIMOnxLFrYWJpbGlyOlxuIgorI34gIjEpIMO2bnnDvGtsZW1lIHPEsXJhc8SxbmRhIMOnYWzEscWfYW4geWF6xLFsxLFtbGFyICjDtnJuLiBMSUxPJ251biBlc2tpIHPDvHLDvG1sZXJpKVxuIgorI34gIjIpIGRpxJ9lciBpxZ9sZXRpbSBzaXN0ZW1sZXJpbmluIMO2bnnDvGtsZW1lIHZlIGRpc2sgYsO2bMO8bWxlbWUgeWF6xLFsxLFtbGFyxLFcbiIKKyN+ICIgICAow7Zybi4gRE9TIEZESVNLLCBPUy8yIEZESVNLKVxuIgorCisjfiBtc2dpZCAiIyBwYXJ0aXRpb24gdGFibGUgb2YgJXNcbiIKKyN+IG1zZ3N0ciAiIyAlcyBkaXNrIGLDtmzDvG1sZW1lIHRhYmxvc3VcbiIKKworI34gbXNnaWQgImNhbGxpbmcgb3Blbl90dHlcbiIKKyN+IG1zZ3N0ciAib3Blbl90dHkgw6dhxJ9yxLFsxLF5b3JcbiIKKworI34gbXNnaWQgImNhbGxpbmcgdGVybWlvX2luaXRcbiIKKyN+IG1zZ3N0ciAidGVybWlvX2luaXQgw6dhxJ9yxLFsxLF5b3JcbiIKKworI34gbXNnaWQgIndyaXRpbmcgaW5pdCBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAiYmHFn2xhdG1hIGRpemdlc2kgeWF6xLFsxLF5b3JcbiIKKworI34gbXNnaWQgImJlZm9yZSBhdXRvYmF1ZFxuIgorI34gbXNnc3RyICJiYcSfbGFudMSxIGjEsXrEsSBzYXB0YW1hIMO2bmNlc2lcbiIKKworI34gbXNnaWQgIndhaXRpbmcgZm9yIGNyLWxmXG4iCisjfiBtc2dzdHIgImNyLWxmIGnDp2luIGJla2xlbml5b3JcbiIKKworI34gbXNnaWQgInJlYWRpbmcgbG9naW4gbmFtZVxuIgorI34gbXNnc3RyICJrdWxsYW7EsWPEsSBpc21pIG9rdW51eW9yXG4iCisKKyN+IG1zZ2lkICJhZnRlciBnZXRvcHQgbG9vcFxuIgorI34gbXNnc3RyICJnZXRvcHQgw6dldnJpbWkgc29ucmFzxLFcbiIKKworI34gbXNnaWQgImV4aXRpbmcgcGFyc2VhcmdzXG4iCisjfiBtc2dzdHIgInBhcnNlYXJncyDDp8Sxa8SxeW9yXG4iCisKKyN+IG1zZ2lkICJlbnRlcmVkIHBhcnNlX3NwZWVkc1xuIgorI34gbXNnc3RyICJwYXJzZV9zcGVlZHMgZ2lyaWxkaVxuIgorCisjfiBtc2dpZCAiZXhpdGluZyBwYXJzZXNwZWVkc1xuIgorI34gbXNnc3RyICJwYXJzZXNwZWVkcydkZW4gw6fEsWvEsWx5b3JcbiIKKworI34gbXNnaWQgIm9wZW4oMilcbiIKKyN+IG1zZ3N0ciAib3BlbigyKVxuIgorCisjfiBtc2dpZCAiZHVwaW5nXG4iCisjfiBtc2dzdHIgIsOnb8SfYWx0xLF5b3JcbiIKKworI34gbXNnaWQgInRlcm1faW8gMlxuIgorI34gbXNnc3RyICJ0ZXJtX2lvIDJcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluIC9ldGMvc2hlbGxzXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogXCIlc1wiIC9ldGMvc2hlbGxzIGRvc3lhc8SxbmRhIHlvay5cbiIKKworI34gbXNnaWQgIkNhbid0IHJlYWQgJXMsIGV4aXRpbmcuIgorI34gbXNnc3RyICIlcyBva3VuYW3EsXlvciwgYsSxcmFrxLFsxLF5b3IuIgorCisjfiBtc2dpZCAidGltZW91dCA9ICVkLCBxdWlldCA9ICVkLCByZWJvb3QgPSAlZFxuIgorI34gbXNnc3RyICJ6YW1hbiBhxZ/EsW3EsSA9ICVkLCBiYXNpdCA9ICVkLCB5ZW5pZGVuID0gJWRcbiIKKworI34gbXNnaWQgIm5hbWVpOiB1bmFibGUgdG8gZ2V0IGN1cnJlbnQgZGlyZWN0b3J5IC0gJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IMOnYWzEscWfxLFsYW4gZGl6aW5lIGdlw6dpbGVtaXlvciAtICVzXG4iCisKKyN+IG1zZ2lkICJuYW1laTogdW5hYmxlIHRvIGNoZGlyIHRvICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICJuYW1laTogJXMgZGl6aW5pbmUgZ2XDp2lsZW1peW9yIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAibmFtZWk6IGNvdWxkIG5vdCBjaGRpciB0byByb290IVxuIgorI34gbXNnc3RyICJuYW1laToga8O2ayBkaXppbmUgZ2XDp2lsZW1lZGkhXG4iCisKKyN+IG1zZ2lkICJuYW1laTogY291bGQgbm90IHN0YXQgcm9vdCFcbiIKKyN+IG1zZ3N0ciAibmFtZWk6IEvDtmsgZGl6aW4gZHVydW0gYmlsZ2lsZXJpIGFsxLFuYW1hZMSxIVxuIgorCisjfiBtc2dpZCAiID8gY291bGQgbm90IGNoZGlyIGludG8gJXMgLSAlcyAoJWQpXG4iCisjfiBtc2dzdHIgIiA/ICVzIGnDp2luZGUgY2hkaXIgeWFwYW1hZMSxIC0gJXMgKCVkKVxuIgorCisjfiBtc2dpZCAiID8gcHJvYmxlbXMgcmVhZGluZyBzeW1saW5rICVzIC0gJXMgKCVkKVxuIgorI34gbXNnc3RyICIlcyBzZW1ib2xpayBiYcSfxLEgb2t1bnVya2VuIGhhdGEgLSAlcyAoJWQpXG4iCisKKyN+IG1zZ2lkICIgICoqKiBFWENFRURFRCBVTklYIExJTUlUIE9GIFNZTUxJTktTICoqKlxuIgorI34gbXNnc3RyICIgICoqKiBVTklYIFNFTUJPTMSwSyBCQcSeIFNJTklSTEFSSSBBxZ5JTERJICoqKlxuIgorCisjfiBtc2dpZCAibmFtZWk6IHVua25vd24gZmlsZSB0eXBlIDAlMDZvIG9uIGZpbGUgJXNcbiIKKyN+IG1zZ3N0ciAibmFtZWk6ICAwJTA2byBkb3N5YSB0w7xyw7wgJXMgZG9zeWFzxLFuZGEgYW5sYcWfxLFsYW1hZMSxXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkICVzLCBhbmQgY2Fubm90IGlvY3RsIGR1bXBcbiIKKyN+IG1zZ3N0ciAiJXMgb2t1bmFtYWTEsSB2ZSBpb2N0bCBkw7Zrw7xtbGVuZW1peW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIG1vdW50ICVzIGJ5ICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiAlcyBVVUlEJ3NpbmUgZ8O2cmUgYmHEn2xhbsSxeW9yXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IG5vIExBQkVMPSwgbm8gVVVJRD0sIGdvaW5nIHRvIG1vdW50ICVzIGJ5IHBhdGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGV0aWtldGluZSBnw7ZyZSBiYcSfbGFuxLF5b3JcbiIKKworI34gbXNnaWQgIiwgb2Zmc2V0ICVsbGQiCisjfiBtc2dzdHIgIiwgYmHFn2wgJWxsZCIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3QgZmluZCBhbnkgZGV2aWNlIC9kZXYvbG9vcCMiCisjfiBtc2dzdHIgIiVzOiAvZGV2L2xvb3AjIGdpYmkgYmlyIGF5Z8SxdCBidWx1bmFtYWTEsSIKKworI34gbXNnaWQgIm1vdW50OiBiYWNrZ3JvdW5kaW5nIFwiJXNcIlxuIgorI34gbXNnc3RyICJtb3VudDogXCIlc1wiIGFydGFsYW5hIGFsxLFuxLF5b3JcbiIKKworI34gbXNnaWQgIm1vdW50OiBnaXZpbmcgdXAgXCIlc1wiXG4iCisjfiBtc2dzdHIgIm1vdW50OiBcIiVzXCIgYsSxcmFrxLFsxLF5b3JcbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgJXMgLWEgWy1lXSBbLXZdXG4iCisjfiAiICAgICAgICVzIFstdl0gWy1wIHByaW9yaXR5XSBzcGVjaWFsfExBQkVMPXZvbHVtZV9uYW1lIC4uLlxuIgorI34gIiAgICAgICAlcyBbLXNdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJrdWxsYW7EsW3EsTogJXMgWy1oVl1cbiIKKyN+ICIgICAgICAgICAgICVzIC1hIFstZV0gWy12XVxuIgorI34gIiAgICAgICAgICAgJXMgWy12XSBbLXAgw7ZuY2VsaWtdIMO2emVsfExBQkVMPW95bHVtX2lzbWkgLi4uXG4iCisjfiAiICAgICAgICAgICAlcyBbLXNdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICVzIC1hIFstdl1cbiIKKyN+ICIgICAgICAgJXMgWy12XSBzcGVjaWFsIC4uLlxuIgorI34gbXNnc3RyICIiCisjfiAia3VsbGFuxLFtxLE6ICVzIFstaFZdXG4iCisjfiAiICAgICAgICAgICAlcyAtYSBbLXZdXG4iCisjfiAiICAgICAgICAgICAlcyBbLXZdIMO2emVsIC4uLlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBjYW5ub3QgY2Fub25pY2FsaXplICVzOiAlc1xuIgorI34gbXNnc3RyICIlczogJXMgYcOnxLFsYW3EsXlvcjogJXNcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3Qgc3RhdCAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIGR1cnVtIGJpbGdpbGVyaSBhbMSxbmFtxLF5b3I6ICVzXG4iCisKKyN+IG1zZ2lkICJjb3VsZCBub3QgdW1vdW50ICVzIC0gdHJ5aW5nICVzIGluc3RlYWRcbiIKKyN+IG1zZ3N0ciAidW1vdW50ICVzIGdlcsOnZWtsZcWfdGlyaWxlbWVkaS0geWVyaW5lICVzIGRlbmVuaXlvclxuIgorCisjfiBtc2dpZCAidXNhZ2UgOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisjfiBtc2dzdHIgImt1bGxhbsSxbcSxOiAlcyAtYXNtcSAtdGNsdXAgXG4iCisKKyN+IG1zZ2lkICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAlcyBbLXMgLW0gLXFdIC1pIGtpbWxpa1xuIgorCisjfiBtc2dpZCAiXHQlcyAtaCBmb3IgaGVscC5cbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAlcyAtaCB5YXJkxLFtIGFsbWFrIGnDp2luLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIFNwZWNpZmljYXRpb246XG4iCisjfiAiXHQtbSA6IHNoYXJlZF9tZW1cbiIKKyN+ICJcdC1xIDogbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIsOWemtheW5hayDDtnplbGxpa2xlcmk6XG4iCisjfiAiXHQtbSA6IHBheWxhxZ/EsW1sxLEgYmVsbGVrXG4iCisjfiAiXHQtcSA6IGlsZXRpbGVyXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtcyA6IHNlbWFwaG9yZXNcbiIKKyN+ICJcdC1hIDogYWxsIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtcyA6IHNlbWFmb3JsYXJcbiIKKyN+ICJcdC1hIDogdMO8bcO8ICjDtm50YW7EsW1sxLEpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3V0cHV0IEZvcm1hdDpcbiIKKyN+ICJcdC10IDogdGltZVxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogY3JlYXRvclxuIgorI34gbXNnc3RyICIiCisjfiAiw4fEsWt0xLEgYmnDp2VtaTpcbiIKKyN+ICJcdC10IDogemFtYW5cbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IG9sdcWfdHVyYW5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1sIDogbGltaXRzXG4iCisjfiAiXHQtdSA6IHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LWwgOiBzxLFuxLFybGFyXG4iCisjfiAiXHQtdSA6IMO2emV0XG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKyN+IG1zZ3N0ciAiJS0xMHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTI2LjI0cyAlLTI2LjI0c1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIgorCisjfiBtc2dpZCAiJS04cyAlLTEwcyAlLTIwcyAlLTIwcyAlLTIwc1xuIgorI34gbXNnc3RyICIlLThzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iCisKKyN+IG1zZ2lkICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorI34gbXNnc3RyICIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6IHJkZXYgWyAtcnYgXSBbIC1vIEtPTlVNIF0gWyBZQU5TSSBbIERFxJ5FUiBbIEtPTlVNIF0gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgICh2ZXlhIHJkZXYgL2xpbnV4LCB2Yi4pIEvDlksgYXlnxLF0xLEgZ8O2c3RlcmlyIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICBLw5ZLw7wgL2Rldi9oZGEyICd5ZSBheWFybGFyIgorCisjfiBtc2dpZCAiICByZGV2IC1SIC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgUk9PVEZMQUdTIChyZWFkb25seSBzdGF0dXMpIgorI34gbXNnc3RyICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgS8OWSyBCYXlyYWtsYXLEsSBiZWxpcmxlbmlyIChzYWx0LW9rdW51cikiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICBSQU1ESVNLIGJveXUgYmVsaXJsZW5pciIKKworI34gbXNnaWQgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICBzZXQgdGhlIGJvb3R1cCBWSURFT01PREUiCisjfiBtc2dzdHIgIiAgcmRldiAtdiAvZGV2L2ZkMCAxICAgICAgICAgICAgICDDtm55w7xrbGVtZSBWSURFT01PREUgYmVsaXJsZW5pciIKKworI34gbXNnaWQgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLVIiCisjfiBtc2dzdHIgIiAgcm9vdGZsYWdzIC4uLiAgICAgICAgICAgICAgICAgICByZGV2IC1SIGlsZSBheW7EsSIKKworI34gbXNnaWQgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXIiCisjfiBtc2dzdHIgIiAgcmFtc2l6ZSAuLi4gICAgICAgICAgICAgICAgICAgICByZGV2IC1yIGlsZSBheW7EsSIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICByZGV2IC12IGlsZSBheW7EsSIKKworI34gbXNnaWQgIk5vdGU6IHZpZGVvIG1vZGVzIGFyZTogLTM9QXNrLCAtMj1FeHRlbmRlZCwgLTE9Tm9ybWFsVmdhLCAxPWtleTEsIDI9a2V5MiwuLi4iCisjfiBtc2dzdHIgIkJpbGdpOiB2aWRlbyBraXBsZXJpOiAtMz1Tb3IsIC0yPUdlbGnFn21pxZ8sIC0xPU5vcm1hbFZnYSwgMT10dcWfMSwgMj10dcWfMiwuLi4iCisKKyN+IG1zZ2lkICIgICAgICB1c2UgLVIgMSB0byBtb3VudCByb290IHJlYWRvbmx5LCAtUiAwIGZvciByZWFkL3dyaXRlLiIKKyN+IG1zZ3N0ciAiICAgICAga8O2a8O8IHNhbHQtb2t1bnVyIGJhxJ9sYW1hayBpw6dpbiAtUiAxLCBva3UteWF6IGnDp2luIC1SIDAga3VsbGFuxLFuLiIKKworI34gbXNnaWQgIm1pc3NpbmcgY29tbWEiCisjfiBtc2dzdHIgInZpcmfDvGwgZWtzaWsiCisKKyN+IG1zZ2lkICJ1c2FnZTogcmVuaWNlIHByaW9yaXR5IFsgWyAtcCBdIHBpZHMgXSBbIFsgLWcgXSBwZ3JwcyBdIFsgWyAtdSBdIHVzZXJzIF1cbiIKKyN+IG1zZ3N0ciAia3VsbGFuxLFtxLE6IHJlbmljZSDDtm5jZWxpayBbIFsgLXAgXSBwaWQgXSBbIFsgLWcgXSBwZ3JwIF0gWyBbIC11IF0ga3VsbGFuxLFjxLEgXVxuIgorCisjfiBtc2dpZCAiRXhjZWVkZWQgTUFYRU5UUklFUy4gIFJhaXNlIHRoaXMgdmFsdWUgaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy5cbiIKKyN+IG1zZ3N0ciAiTUFYRU5UUklFUyBhxZ/EsWxkxLEuICBta2NyYW1mcy5jIGnDp2luZGUgYnUgZGXEn2VyaSB5w7xrc2VsdGluIHZlIHllbmlkZW4gZGVybGV5aW4uICAgw4fEsWvEsWzEsXlvci5cbiIKKworI34gbXNnaWQgIkFzc3VtaW5nIHBhZ2VzIG9mIHNpemUgJWQgKG5vdCAlZClcbiIKKyN+IG1zZ3N0ciAiU2F5ZmEgdXp1bmx1xJ91IG9sYXJhayAlZCBrdWxsYW7EsWzEsXlvciAoJWQgZGXEn2lsKVxuIgorCisjfiBtc2dpZCAiQXV0b2NvbmZpZ3VyZSBmb3VuZCBhICVzJXMlc1xuIgorI34gbXNnc3RyICJPdG9tYXRpayB5YXDEsWxhbmTEsXJtYSB0YXJhZsSxbmRhbiBiaXIgJXMlcyVzIGJ1bHVuZHVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEcml2ZSB0eXBlXG4iCisjfiAiICAgPyAgIGF1dG8gY29uZmlndXJlXG4iCisjfiAiICAgMCAgIGN1c3RvbSAod2l0aCBoYXJkd2FyZSBkZXRlY3RlZCBkZWZhdWx0cykiCisjfiBtc2dzdHIgIiIKKyN+ICJBeWfEsXQgdMO8csO8XG4iCisjfiAiICAgPyAgIG90byB5YXDEsWxhbmTEsXJtYVxuIgorI34gIiAgIDAgICDDtnplbCAoc2FwdGFuYW4gw7ZudGFuxLFtbGFyYSBzYWhpcCBkb25hbsSxbWxhKSIKKworI34gbXNnaWQgIlNlbGVjdCB0eXBlICg/IGZvciBhdXRvLCAwIGZvciBjdXN0b20pOiAiCisjfiBtc2dzdHIgIkF5Z8SxdCBUw7xyw7wgKD86IG90bywgMDogw7Z6ZWwpOiAiCisKKyN+IG1zZ2lkICJZb3UgbWF5IGNoYW5nZSBhbGwgdGhlIGRpc2sgcGFyYW1zIGZyb20gdGhlIHggbWVudSIKKyN+IG1zZ3N0ciAiVMO8bSBkaXNrIHBhcmFtZXRyZWxlcmluaSB4IG1lbsO8c8O8bmRlbiBkZcSfacWfdGlyZWJpbGlyc2luaXoiCisKKyN+IG1zZ2lkICIzLDVcIiBmbG9wcHkiCisjfiBtc2dzdHIgIjMsNVwiIGZsb3BweSIKKworI34gbXNnaWQgIiVzIGZyb20gdXRpbC1saW51eC0lc1xuIgorI34gbXNnc3RyICJ1dGlsLWxpbnV4LSUyJHMgc8O8csO8bcO8bmRla2kgJTEkc1xuIgorCisjfiBtc2dpZCAiJXM6IGVycm9yOiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzXG4iCisjfiBtc2dzdHIgIiVzOiBlcnJvcjogZXRpa2V0ICVzIGhlbSAlcyBoZW0gZGUgJXMgacOnaW4ga3VsbGFuxLFsbcSxxZ9cbiIKKworI34gbXNnaWQgIiVzOiBjb3VsZCBub3Qgb3BlbiAlcywgc28gVVVJRCBhbmQgTEFCRUwgY29udmVyc2lvbiBjYW5ub3QgYmUgZG9uZS5cbiIKKyN+IG1zZ3N0ciAiJXM6ICVzIGHDp8SxbGFtYWTEsSwgVVVJRCB2ZSBMQUJFTCBkw7Zuw7zFn8O8bcO8IHlhcMSxbG3EscWfIG9sbWF5YWJpbGlyLlxuIgorCisjfiBtc2dpZCAiJXM6IGJhZCBVVUlEIgorI34gbXNnc3RyICIlczogVVVJRCBoYXRhbMSxIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB3aXRoIG5mcyBtb3VudCB2ZXJzaW9uIDQsIHRyeWluZyAzLi5cbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG5mcyBtb3VudCBzw7xyw7xtIDQgaWxlIGJhxZ9hcsSxc8SxeiwgMyBkZW5lbml5b3IuLi5cbiIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3aGlsZSBndWVzc2luZyBmaWxlc3lzdGVtIHR5cGVcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGRvc3lhIHNpc3RlbWkgdMO8csO8IGJlbGlybGVuaXJrZW4gaGF0YVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgaG9zdDpkaXIgYXJndW1lbnRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IG1ha2luYTpkaXppbiBhcmfDvG1hbsSxIGdlcmXEn2luZGVuIHV6dW5cbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiBtdWx0aXBsZSBob3N0bmFtZXMgbm90IHN1cHBvcnRlZFxuIgorI34gbXNnc3RyICJtb3VudDogdXlhcsSxOiDDp29rbHUgbWFraW5hIGlzaW1sZXJpIGRlc3Rla2xlbm1peW9yXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZGlyZWN0b3J5IHRvIG1vdW50IG5vdCBpbiBob3N0OmRpciBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGJhxJ9sYW7EsWxhY2FrIGRpemluIG1ha2luYTpkaXppbiBiacOnZW1pbmRlIGRlxJ9pbFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudDogJXMgacOnaW4gYWRyZXMgYWzEsW5hbcSxeW9yXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHlhbmzEscWfIGhwLT5oX2xlbmd0aCBhbMSxbmTEsVxuIgorCisjfiBtc2dpZCAibW91bnQ6IGV4Y2Vzc2l2ZWx5IGxvbmcgb3B0aW9uIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgIm1vdW50OiBzZcOnZW5layBhcmfDvG1hbsSxIGdlcmXEn2luZGVuIHV6dW5cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IFVucmVjb2duaXplZCBwcm90bz0gb3B0aW9uLlxuIgorI34gbXNnc3RyICJVeWFyxLE6IHByb3RvPSBzZcOnZW5lxJ9pIGJpbGlubWl5b3IuXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBPcHRpb24gbmFtbGVuIGlzIG5vdCBzdXBwb3J0ZWQuXG4iCisjfiBtc2dzdHIgIlV5YXLEsTogbmFtbGVuIHNlw6dlbmXEn2kgZGVzdGVrbGVubWl5b3IuXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBtb3VudCBvcHRpb246ICVzJXNcbiIKKyN+IG1zZ3N0ciAiYmlsaW5tZXllbiBuZnMgYmHEnyBzZcOnZW5lxJ9pOiAlcyVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogZ290IGJhZCBocC0+aF9sZW5ndGg/XG4iCisjfiBtc2dzdHIgIm1vdW50OiB5YW5sxLHFnyBocC0+aF9sZW5ndGggYWzEsW5kxLE/XG4iCisKKyN+IG1zZ2lkICJuZnMgYmluZHJlc3Zwb3J0IgorI34gbXNnc3RyICJuZnMgYmluZHJlc3Zwb3J0IgorCisjfiBtc2dpZCAibmZzIHNlcnZlciByZXBvcnRlZCBzZXJ2aWNlIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJuZnMgc3VudWN1IHNlcnZpc2kga3VsbGFuxLFtZMSxxZ/EsSBvbGFyYWsgcmFwb3JsYWTEsSIKKworI34gbXNnaWQgInVzZWQgcG9ydG1hcHBlciB0byBmaW5kIE5GUyBwb3J0XG4iCisjfiBtc2dzdHIgIk5GUyBwb3J0dW51IGJ1bG1hayBpw6dpbiBwb3J0bWFwcGVyIGt1bGxhbsSxbGTEsVxuIgorCisjfiBtc2dpZCAidXNpbmcgcG9ydCAlZCBmb3IgbmZzIGRlYW1vblxuIgorI34gbXNnc3RyICJuZnMgYXJ0YWxhbiBzw7xyZWNpIGnDp2luICVkIHBvcnR1IGt1bGxhbsSxbMSxeW9yXG4iCisKKyN+IG1zZ2lkICJ1bmtub3duIG5mcyBzdGF0dXMgcmV0dXJuIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiYmlsaW5tZXllbiBuZnMgZHVydW0gc29udcOnIGRlxJ9lcmk6ICVkIgorCisjfiBtc2dpZCAiaG9zdDogJXMsIGRpcmVjdG9yeTogJXNcbiIKKyN+IG1zZ3N0ciAibWFraW5hOiAlcywgZGl6aW46ICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbid0IGdldCBhZGRyZXNzIGZvciAlc1xuIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGnDp2luIGFkcmVzIGFsxLFuYW3EsXlvclxuIgorCisjfiBtc2dpZCAidW1vdW50OiBnb3QgYmFkIGhvc3RwLT5oX2xlbmd0aFxuIgorI34gbXNnc3RyICJ1bW91bnQ6IHlhbmzEscWfIGhvc3RwLT5oX2xlbmd0aCBhbMSxbmTEsVxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS1iYWQgcGF0aCBsZW5ndGhcbiIKKyN+IG1zZ3N0ciAiJXM6IGdlw6dlcnNpeiBjcmFtZnMgLS0gZG9zeWEgeW9sdSB1enVubHXEn3UgaGF0YWzEsVxuIgorCisjfiBtc2dpZCAiJXM6IGludmFsaWQgY3JhbWZzLS13cm9uZyBtYWdpY1xuIgorI34gbXNnc3RyICIlczogZ2XDp2Vyc2l6IGNyYW1mcyAtLSBoYXRhbMSxIGRvc3lhIGtpbWxpxJ9pXG4iCisKKyN+IG1zZ2lkICIlczogd2FybmluZy0tZmlsZSBsZW5ndGggdG9vIGxvbmcsIHBhZGRlZCBpbWFnZT9cbiIKKyN+IG1zZ3N0ciAiJXM6IHV5YXLEsSAtLSBkb3N5YSB1enVubHXEn3Ugw6dvayBiw7x5w7xrLCBhZMSxbWzEsSBlxZ9sZW0/XG4iCisKKyN+IG1zZ2lkICIlczogaW52YWxpZCBjcmFtZnMtLWNyYyBlcnJvclxuIgorI34gbXNnc3RyICIlczogZ2XDp2Vyc2l6IGNyYW1mcy0tY3JjIGhhdGFzxLFcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIGNyYW1mcy0tYmFkIHN1cGVyYmxvY2tcbiIKKyN+IG1zZ3N0ciAiJXM6IGdlw6dlcnNpeiBjcmFtZnMgLS0gaGF0YWzEsSBzw7xwZXJibG9rXG4iCisKKyN+IG1zZ2lkICJmbG9jazogdW5rbm93biBvcHRpb24sIGFib3J0aW5nLlxuIgorI34gbXNnc3RyICJmbG9jazogYmlsaW5tZXllbiBzZcOnZW5laywgw6fEsWvEsWzEsXlvclxuIgorCisjfiBtc2dpZCAiVXNhZ2UgZmxvY2sgWy0tc2hhcmVkXSBbLS10aW1lb3V0PXNlY29uZHNdIGZpbGVuYW1lIGNvbW1hbmQge2FyZyBhcmcuLi59XG4iCisjfiBtc2dzdHIgIkt1bGxhbsSxbcSxOiBmbG9jayBbLS1zaGFyZWRdIFstLXRpbWVvdXQ9c2FuaXllXSBkb3N5YWlzbWkga29tdXQge2FyZyBhcmcuLi59XG4iCisKKyN+IG1zZ2lkICJTeW50YXggZXJyb3I6ICclcydcbiIKKyN+IG1zZ3N0ciAiU8O2emRpemltaSBoYXRhc8SxOiAnJXMnXG4iCisKKyN+IG1zZ2lkICJObyBzdWNoIHBhcmFtZXRlciBzZXQ6ICclcydcbiIKKyN+IG1zZ3N0ciAiQsO2eWxlIGJpciBwYXJhbWV0cmUgeW9rOiAnJXMnXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IG5hbWVcbiIKKyN+IG1zZ3N0ciAiICAgJXMgWyAtcCBdIGF5Z8SxdCBpc2ltXG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1wIF0gZGV2IHNpemUgc2VjdCBoZWFkcyB0cmFja3Mgc3RyZXRjaCBnYXAgcmF0ZSBzcGVjMSBmbXRfZ2FwXG4iCisjfiBtc2dzdHIgIiAgICVzIFsgLXAgXSBheWfEsXQgdXp1bmx1ayBzZWt0b3Iga2FmYSBpeiBnZXJpbG1lIGJvxZ9sdWsgb3JhbiDDtnplbGxpazEgZm10X2dhcFxuIgorCisjfiBtc2dpZCAiICAgJXMgWyAtYyB8IC15IHwgLW4gfCAtZCBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiB8IC1kIF0gYXlnxLF0XG4iCisKKyN+IG1zZ2lkICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGRldlxuIgorI34gbXNnc3RyICIgICAlcyBbIC1jIHwgLXkgfCAtbiBdIGF5Z8SxdFxuIgorCisjfiBtc2dpZCAiY291bGRuJ3Qgb3BlbiAvZGV2L3VyYW5kb20iCisjfiBtc2dzdHIgIi9kZXYvdXJhbmRvbSBhw6fEsWxhbWFkxLEiCisKKyN+IG1zZ2lkICJjb3VsZG4ndCByZWFkIHJhbmRvbSBkYXRhIGZyb20gL2Rldi91cmFuZG9tIgorI34gbXNnc3RyICIvZGV2L3VyYW5kb20nZGFuIHJhc2dlbGUgdmVyaSBva3VuYW1hZMSxIgorCisjfiBtc2dpZCAiY2FuJ3Qgc3RhdCglcykiCisjfiBtc2dzdHIgInN0YXQgJXMgeWFwxLFsYW1hZMSxIgorCisjfiBtc2dpZCAiJXMgZG9lc24ndCBoYXZlIHRoZSBjb3JyZWN0IGZpbGVtb2RlcyIKKyN+IG1zZ3N0ciAiJXMgZG/En3J1IGRvc3lhIGtpcGxlcmluZSBzYWhpcCBkZcSfaWwiCisKKyN+IG1zZ2lkICJjYW4ndCByZWFkIGRhdGEgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiJXMgZG9zeWFzxLFuZGFuIHZlcmkgb2t1bmFtxLF5b3IiCisKKyN+IG1zZ2lkICIiCisjfiAiVG9vIG1hbnkgdXNlcnMgbG9nZ2VkIG9uIGFscmVhZHkuXG4iCisjfiAiVHJ5IGFnYWluIGxhdGVyLlxuIgorI34gbXNnc3RyICIiCisjfiAiS3VsbGFuxLFjxLEgc2F5xLFzxLEgc8SxbsSxcsSxIGHFn8SxbGTEsS5cbiIKKyN+ICJEYWhhIHNvbnJhIHRla3JhciBkZW5leWluLlxuIgorCisjfiBtc2dpZCAiWW91IGhhdmUgdG9vIG1hbnkgcHJvY2Vzc2VzIHJ1bm5pbmcuXG4iCisjfiBtc2dzdHIgIsOHYWzEscWfdMSxcmFiaWxlY2XEn2luaXogdXlndWxhbWEgc2F5xLFzxLFuxLEgYcWfdMSxbsSxei5cbiIKKworI34gbXNnaWQgIlRoZSBwYXNzd29yZCBtdXN0IGhhdmUgYXQgbGVhc3QgNiBjaGFyYWN0ZXJzLCB0cnkgYWdhaW4uXG4iCisjfiBtc2dzdHIgIlBhcm9sYSBlbiBheiA2IGthcmFrdGVyIHV6dW5sdWt0YSBvbG1hbMSxZMSxciwgdGVrcmFyIGRlbmV5aW4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIHBhc3N3b3JkIG11c3QgY29udGFpbiBjaGFyYWN0ZXJzIG91dCBvZiB0d28gb2YgdGhlIGZvbGxvd2luZ1xuIgorI34gImNsYXNzZXM6ICB1cHBlciBhbmQgbG93ZXIgY2FzZSBsZXR0ZXJzLCBkaWdpdHMgYW5kIG5vbiBhbHBoYW51bWVyaWNcbiIKKyN+ICJjaGFyYWN0ZXJzLiBTZWUgcGFzc3dkKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiQmlyIHBhcm9sYSBidSBrYXJha3RlciBncnVwbGFyxLFuxLFuIGVuIGF6IGlraXNpbmRla2kga2FyYWt0ZXJsZXJpXG4iCisjfiAiacOnZXJtZWxpZGlyOiBiw7x5w7xrIHZlIGvDvMOnw7xrIGhhcmZsZXIsIHJha2FtbGFyLCBpxZ9hcmV0bGVyLlxuIgorI34gIkRhaGEgZmF6bGEgYmlsZ2kgacOnaW46ICdtYW4gMSBwYXNzd2QnXG4iCisKKyN+IG1zZ2lkICJZb3UgY2Fubm90IHJldXNlIHRoZSBvbGQgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIkVza2kgcGFyb2xhbsSxesSxIHllbmlkZW4ga3VsbGFuYW1henPEsW7EsXouXG4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZG9uJ3QgdXNlIHNvbWV0aGluZyBsaWtlIHlvdXIgdXNlcm5hbWUgYXMgcGFzc3dvcmQhXG4iCisjfiBtc2dzdHIgIkzDvHRmZW4gcGFyb2xhIG9sYXJhayBrdWxsYW7EsWPEsSBhZMSxbsSxeiBnaWJpIMWfZXlsZXJpIGt1bGxhbm1hecSxbsSxeiFcbiIKKworI34gbXNnaWQgIlBsZWFzZSBkb24ndCB1c2Ugc29tZXRoaW5nIGxpa2UgeW91ciByZWFsbmFtZSBhcyBwYXNzd29yZCFcbiIKKyN+IG1zZ3N0ciAiTMO8dGZlbiBwYXJvbGEgb2xhcmFrIGFkLXNveWFkxLEgZ2liaSDFn2V5bGVyaSBrdWxsYW5tYXnEsW7EsXohXG4iCisKKyN+IG1zZ2lkICJPbmx5IHJvb3QgbWF5IHVzZSB0aGUgb25lIGFuZCB0d28gYXJndW1lbnQgZm9ybXMuXG4iCisjfiBtc2dzdHIgIkFyZ8O8bWFubMSxIGt1bGxhbsSxbSBzYWRlY2Ugcm9vdCBpw6dpbiBtw7xta8O8bmTDvHIuXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogcGFzc3dkIFstZm9xc3ZWXSBbdXNlciBbcGFzc3dvcmRdXVxuIgorI34gbXNnc3RyICJLdWxsYW7EsW3EsTogcGFzc3dkIFstZm9xc3ZWXSBba3VsbGFuxLFjxLEgW3Bhcm9sYV1dXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZmluZCBsb2dpbiBuYW1lIgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBpc21pIGJ1bHVuYW3EsXlvciIKKworI34gbXNnaWQgIk9ubHkgcm9vdCBjYW4gY2hhbmdlIHRoZSBwYXNzd29yZCBmb3Igb3RoZXJzLlxuIgorI34gbXNnc3RyICJEacSfZXJsZXJpbmluIHBhcm9sYXPEsW7EsSBzYWRlY2Ugcm9vdCBkZcSfacWfdGlyZWJpbGlyLlxuIgorCisjfiBtc2dpZCAiQ2FuJ3QgZmluZCB1c2VybmFtZSBhbnl3aGVyZS4gSXMgYCVzJyByZWFsbHkgYSB1c2VyPyIKKyN+IG1zZ3N0ciAiS3VsbGFuxLFjxLEgaXNtaSBoacOnYmlyIHllcmRlIGJ1bHVuYW3EsXlvci4gYCVzJyBnZXLDp2VrdGVuIGJpciBrdWxsYW7EsWPEsSBpc21pIG1pPyIKKworI34gbXNnaWQgIlNvcnJ5LCBJIGNhbiBvbmx5IGNoYW5nZSBsb2NhbCBwYXNzd29yZHMuIFVzZSB5cHBhc3N3ZCBpbnN0ZWFkLiIKKyN+IG1zZ3N0ciAiU2FkZWNlIHllcmVsIHBhcm9sYWxhciBkZcSfacWfdGlyaWxlYmlsaXIuIEJ1bnVuIHllcmluZSB5cHBhc3N3ZCBrdWxsYW7EsW4uIgorCisjfiBtc2dpZCAiVUlEIGFuZCB1c2VybmFtZSBkb2VzIG5vdCBtYXRjaCwgaW1wb3N0ZXIhIgorI34gbXNnc3RyICJLdWxsYW7EsWPEsSBraW1sacSfaSBpbGUga3VsbGFuxLFjxLEgaXNtaSB1eXXFn211eW9yLCBzYWh0ZWthciEiCisKKyN+IG1zZ2lkICJDaGFuZ2luZyBwYXNzd29yZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiJXMgacOnaW4gcGFyb2xhIGRlxJ9pxZ90aXJpbGl5b3JcbiIKKworI34gbXNnaWQgIklsbGVnYWwgcGFzc3dvcmQsIGltcG9zdGVyLiIKKyN+IG1zZ3N0ciAiS3VyYWxkxLHFn8SxIHBhcm9sYS4iCisKKyN+IG1zZ2lkICJFbnRlciBuZXcgcGFzc3dvcmQ6ICIKKyN+IG1zZ3N0ciAiWWVuaSBwYXJvbGFuxLF6xLEgeWF6xLFuxLF6OiAiCisKKyN+IG1zZ2lkICJSZS10eXBlIG5ldyBwYXNzd29yZDogIgorI34gbXNnc3RyICJZZW5pIHBhcm9sYW7EsXrEsSB0ZWtyYXIgeWF6xLFuxLF6OiAiCisKKyN+IG1zZ2lkICJZb3UgbWlzc3BlbGxlZCBpdC4gUGFzc3dvcmQgbm90IGNoYW5nZWQuIgorI34gbXNnc3RyICJZYW5sxLHFnyB5YXpkxLFuxLF6LiBQYXJvbGEgZGXEn2nFn3RpcmlsbWVkaS4iCisKKyN+IG1zZ2lkICJST09UIFBBU1NXT1JEIENIQU5HRUQiCisjfiBtc2dzdHIgIlJPT1QgUEFST0xBU0kgREXEnsSwxZ5UxLBSxLBMRMSwIgorCisjfiBtc2dpZCAicGFzc3dvcmQgY2hhbmdlZCBieSByb290LCB1c2VyICVzIgorI34gbXNnc3RyICIlcyBpw6dpbiBwYXJvbGEgcm9vdCB0YXJhZsSxbmRhbiBkZcSfacWfdGlyaWxkaSIKKworI34gbXNnaWQgImNhbGxpbmcgc2V0cHduYW0gdG8gc2V0IHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICJwYXJvbGF5xLEga2F5ZGV0bWVrIGnDp2luIHNldHB3bmFtIMOnYcSfcsSxbMSxeW9yLlxuIgorCisjfiBtc2dpZCAiUGFzc3dvcmQgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKKyN+IG1zZ3N0ciAiUGFyb2xhIGRlxJ9pxZ90aXJpbG1lZGkhIERhaGEgc29ucmEgdGVrcmFyIGRlbmV5aW4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogdGhpcyB2ZXJzaW9uIHdhcyBjb21waWxlZCB3aXRob3V0IHN1cHBvcnQgZm9yIHRoZSB0eXBlIGBuZnMnIgorI34gbXNnc3RyICJtb3VudDogYnUgc8O8csO8bSBgbmZzJyB0w7xyw7wgacOnaW4gZGVzdGVrIG9sbWFrc8SxesSxbiBkZXJsZW5tacWfIgorCisjfiBtc2dpZCAiV2FybmluZzogb21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAlZFxuIgorI34gbXNnc3RyICJVeWFyxLE6ICVkIGLDtmzDvG3DvG5kZW4gc29ucmFraWxlciBhdGxhbsSxeW9yXG4iCisKKyN+IG1zZ2lkICIlczogbm90IGNvbXBpbGVkIHdpdGggbWluaXggdjIgc3VwcG9ydFxuIgorI34gbXNnc3RyICIlczogbWluaXggdjIgZGVzdGXEn2l5bGUgZGVybGVubWVtacWfXG4iCisKKyN+IG1zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBmb3IgJXNcbiIKKyN+IG1zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCAlcyBpw6dpbiBiYcWfYXLEsXPEsXpcbiIKKworI34gbXNnaWQgIm1vdW50OiAlcyBkdXBsaWNhdGUgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIHlpbmVsZW5kaSAtIGJhxJ9sYW5tYWTEsSIKKworI34gbXNnaWQgIm1vdW50OiB0aGUgbGFiZWwgJXMgb2NjdXJzIG9uIGJvdGggJXMgYW5kICVzIC0gbm90IG1vdW50ZWRcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGV0aWtldCAlcyBoZW0gJXMgaGVtIGRlICVzIGnDp2luIGfDtnLDvG7DvHlvciAtIGJhxJ9sYW5tYWTEsVxuIgorCisjfiBtc2dpZCAiQm9vdCAoJTAyWCkiCisjfiBtc2dzdHIgIkJvb3QgKCUwMlgpIgorCisjfiBtc2dpZCAiTm9uZSAoJTAyWCkiCisjfiBtc2dzdHIgIllvayAoJTAyWCkiCisKKyN+IG1zZ2lkICIlczogWyUwNHhdOiVsZCAoJXMpIG9mZnNldCAlZCwgJXMgZW5jcnlwdGlvblxuIgorI34gbXNnc3RyICIlczogWyUwNHhdOiVsZCAoJXMpIGfDtnJlbGkga29udW0gJWQsICVzIMWfaWZyZWxlbWVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogQ291bGQgbm90IGZpbmQgYW55IGxvb3AgZGV2aWNlLlxuIgorI34gIiAgICAgICBNYXliZSAvZGV2L2xvb3AjIGhhcyBhIHdyb25nIG1ham9yIG51bWJlcj8iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogSGnDpyBiaXIgbG9vcCBheWfEsXTEsSBidWx1bmFtYWTEsS5cbiIKKyN+ICIgICAgICAgL2Rldi9sb29wIyBiaXIgeWFubMSxxZ8gbWFqb3IgbnVtYXJhc8SxIGnDp2VyaXlvciBvbGFiaWxpciBtaT8iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IENvdWxkIG5vdCBmaW5kIGFueSBsb29wIGRldmljZS4gTWF5YmUgdGhpcyBrZXJuZWwgZG9lcyBub3Qga25vd1xuIgorI34gIiAgICAgICBhYm91dCB0aGUgbG9vcCBkZXZpY2UgKHRoZW4gcmVjb21waWxlIG9yIGBpbnNtb2QgbG9vcC5vJyksIG9yXG4iCisjfiAiICAgICAgIG1heWJlIC9kZXYvbG9vcCMgaGFzIHRoZSB3cm9uZyBtYWpvciBudW1iZXI/IgorI34gbXNnc3RyICIiCisjfiAibW91bnQ6IEhpw6cgYmlyIGxvb3AgYXlnxLF0xLEgYnVsdW5hbWFkxLEuIEJ1IMOnZWtpcmRlayB5YSBsb29wIGF5Z8SxdMSxIGhha2vEsW5kYVxuIgorI34gIiAgICAgICBiaWxnaXllIHNhaGlwIGRlxJ9pbCAoYGluc21vZCBsb29wLm8nIGRlbmV5aW4sIHNvbnXDpyBhbGFtYXpzYW7EsXpcbiIKKyN+ICIgICAgICAgw6dla2lyZGXEn2kgeWVuaWRlbiBkZXJsZXlpbi4pIHlhIGRhIC9kZXYvbG9vcCMgeWFubMSxxZ8gbWFqw7ZyIG51bWFyYXPEsW5hXG4iCisjfiAiICAgICAgIHNhaGlwIG9sYWJpbGlyPyIKKworI34gbXNnaWQgIkluaXQgKHVwIHRvIDE2IGhleCBkaWdpdHMpOiAiCisjfiBtc2dzdHIgIkJhxZ9sYW5nxLHDpyAoMTYgdGFuZXllIGthZGFyIG9uYWx0xLFsxLFrIHJha2FtKTogIgorCisjfiBtc2dpZCAiTm9uLWhleCBkaWdpdCAnJWMnLlxuIgorI34gbXNnc3RyICInJWMnIG9uYWx0xLFsxLFrIGJpciByYWthbSBkZcSfaWwuXG4iCisKKyN+IG1zZ2lkICJEb24ndCBrbm93IGhvdyB0byBnZXQga2V5IGZvciBlbmNyeXB0aW9uIHN5c3RlbSAlZFxuIgorI34gbXNnc3RyICIlZCDFn2lmcmVsZW1lIHNpc3RlbWkgacOnaW4gbmFzxLFsIGFuYWh0YXIgYWzEsW5hY2HEn8SxIGJpbGlubWl5b3JcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnk6XG4iCisjfiBtc2dzdHIgIiVpIGRpc2sgYsO2bMO8bcO8bsO8biBiaXRpxZ9pIHNpbGluZGlyIHPEsW7EsXJsYXLEsSBkxLHFn8SxbmRhOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlZCBzZWN0b3JzLCAlZCBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWQgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGthZmEsICVkIHNla3TDtnIsICVkIHNpbGluZGlyXG4iCisjfiAiQmlyaW0gPSAlcyAgKCVkICogJWQgYmF5dGzEsWspXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJudW1iZXIgYCVzJyB0byBgJXMnIG91dCBvZiByYW5nZVxuIgorI34gbXNnc3RyICJgJXMnIGAlcycgYXJhbMSxxJ/EsW7EsW4gZMSxxZ/EsW5kYVxuIgorCisjfiBtc2dpZCAib3B0aW9uIGAlcycgZG9lc24ndCBhbGxvdyBhbiBhcmd1bWVudFxuIgorI34gbXNnc3RyICJgJXMnIHNlw6dlbmXEn2kgYmlyIGFyZ8O8bWFuc8SxeiBrdWxsYW7EsWzEsXJcbiIKKworI34gbXNnaWQgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iCisjfiBtc2dzdHIgIiUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTBzICUtMTJzXG4iCmRpZmYgLS1naXQgYS9wby91ay5wbyBiL3BvL3VrLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiODgxMmEKLS0tIC9kZXYvbnVsbAorKysgYi9wby91ay5wbwpAQCAtMCwwICsxLDE5NTIxIEBACisjIFVrcmFpbmlhbiB0cmFuc2xhdGlvbiB0byB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgKEMpIDIwMDQgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMKKyMgVGhpcyBmaWxlIGlzIHB1dCBpbiB0aGUgcHVibGljIGRvbWFpbi4KKyMKKyMgTWF4aW0gVi4gRHppdW1hbmVua28gPG12ZEBteWxpbnV4LmNvbS51YT4sIDIwMDQtMjAwNi4KKyMgWXVyaSBDaG9ybm9pdmFuIDx5dXJjaG9yQHVrci5uZXQ+LCAyMDEyLCAyMDEzLCAyMDE0LCAyMDE1LCAyMDE2LCAyMDE3LCAyMDE4LgorbXNnaWQgIiIKK21zZ3N0ciAiIgorIlByb2plY3QtSWQtVmVyc2lvbjogdXRpbC1saW51eCAyLjMyLXJjMlxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDE4LTAzLTAyIDA4OjA4KzAyMDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFl1cmkgQ2hvcm5vaXZhbiA8eXVyY2hvckB1a3IubmV0PlxuIgorIkxhbmd1YWdlLVRlYW06IFVrcmFpbmlhbiA8dHJhbnNsYXRpb24tdGVhbS11a0BsaXN0cy5zb3VyY2Vmb3JnZS5uZXQ+XG4iCisiTGFuZ3VhZ2U6IHVrXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9VVRGLThcbiIKKyJDb250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0XG4iCisiWC1CdWdzOiBSZXBvcnQgdHJhbnNsYXRpb24gZXJyb3JzIHRvIHRoZSBMYW5ndWFnZS1UZWFtIGFkZHJlc3MuXG4iCisiWC1HZW5lcmF0b3I6IExva2FsaXplIDIuMFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9NDsgcGx1cmFsPW49PTEgPyAzIDogbiUxMD09MSAmJiBuJTEwMCE9MTEgPyAwIDogbiUxMD49MiAmJiBuJTEwPD00ICYmIChuJTEwMDwxMCB8fCBuJTEwMD49MjApID8gMSA6IDI7XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA80LTQuNGB0LrQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5PiA80L3QvtC80LXRgCDRgNC+0LfQtNGW0LvRgz4gPNC/0L7Rh9Cw0YLQvtC6PiA80LTQvtCy0LbQuNC90LA+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICLQn9C+0LLRltC00L7QvNC40YLQuCDRj9C00YDRgyDQv9GA0L4g0ZbRgdC90YPQstCw0L3QvdGPINCy0LrQsNC30LDQvdC+0LPQviDRgNC+0LfQtNGW0LvRgy5cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAi0L3QtdC00L7RgdGC0LDRgtC90YzQviDQsNGA0LPRg9C80LXQvdGC0ZbQsiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTggZGlzay11dGlscy9ibG9ja2Rldi5jOjI5NSBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDM5CisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDY1IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjcxOCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1OQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY0IGRpc2stdXRpbHMvZmRpc2suYzoxMDY2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMjEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozODAgZGlzay11dGlscy9mc2NrLmM6MTQ3MAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEyCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDIgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MgorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYwCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODAwIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyNAorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTcgZGlzay11dGlscy9ta3N3YXAuYzoyNDYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTMKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMyBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjcxMQorIzogZGlzay11dGlscy9zZmRpc2suYzo3NjUgZGlzay11dGlscy9zZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzo4OTgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAwNgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY1IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjUgbGliZmRpc2svc3JjL2JzZC5jOjY0MAorIzogbGliL3BhdGguYzo5NSBsaWIvcGF0aC5jOjExMyBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3NAorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0MyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1MgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzQgbG9naW4tdXRpbHMvdmlwdy5jOjI2MSBsb2dpbi11dGlscy92aXB3LmM6Mjc5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk5IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyMyBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxOTggc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODIgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5NgorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI0IHN5cy11dGlscy9lamVjdC5jOjQ5OSBzeXMtdXRpbHMvZWplY3QuYzo2OTUKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozOTYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE3IHN5cy11dGlscy9mc3RyaW0uYzo3NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMjcgc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTQgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAwCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkyIHN5cy11dGlscy9uc2VudGVyLmM6MTI5CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTkzIHN5cy11dGlscy9yZmtpbGwuYzo1NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjg2IHN5cy11dGlscy9zZXRwcml2LmM6Mjc2IHN5cy11dGlscy9zZXRwcml2LmM6NjE0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzNyBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc1IHN5cy11dGlscy9zd2Fwb24uYzo1MTgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2NyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwOCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIyIHN5cy11dGlscy93ZGN0bC5jOjM3OCBzeXMtdXRpbHMvenJhbWN0bC5jOjUwOAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzUyIHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2MAorIzogdGVybS11dGlscy9zY3JpcHQuYzo0NjggdGVybS11dGlscy9zY3JpcHQuYzo1NTkKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk4IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAxCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTkgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTM0CisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3VsLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0LggJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC90L7QvNC10YDQsCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/QvtGH0LDRgtC60YMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LTQvtCy0LbQuNC90LgiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjY0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LTQvtC00LDRgtC4INGA0L7Qt9C00ZbQuyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAi0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0Y/QuiDQu9C40YjQtS3QtNC70Y8t0YfQuNGC0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC40YLQuCDQtNC70Y8g0YfQuNGC0LDQvdC90Y8t0LfQsNC/0LjRgdGDIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4INGB0YLQsNC9INC70LjRiNC1LdC00LvRjy3Rh9C40YLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4INGB0YLQsNC9INC/0ZbQtNGC0YDQuNC80LrQuCDQstGW0LTQutC40LTQsNC90L3RjyDQvdGD0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCDQu9C+0LPRltGH0L3QvtCz0L4g0LHQu9C+0LrRgyAo0YHQtdC60YLQvtGA0LApIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDRgNC+0LfQvNGW0YAg0YTRltC30LjRh9C90L7Qs9C+INCx0LvQvtC60YMgKNGB0LXQutGC0L7RgNCwKSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4INC80ZbQvdGW0LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTA2Cittc2dpZCAiZ2V0IG9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgItC+0YLRgNC40LzQsNGC0Lgg0L7Qv9GC0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0LLQstC10LTQtdC90L3Rjy3QstC40LLQtdC00LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDQstGW0LTRgdGC0YPQvyDQstC40YDRltCy0L3RjtCy0LDQvdC90Y8g0YMg0LHQsNC50YLQsNGFIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4INC30L3QsNGH0LXQvdC90Y8g0LzQsNC60YHQuNC80LDQu9GM0L3QvtGXINC60ZbQu9GM0LrQvtGB0YLRliDRgdC10LrRgtC+0YDRltCyINC90LAg0LfQsNC/0LjRgiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEyNAorbXNnaWQgImdldCBibG9ja3NpemUiCittc2dzdHIgItC+0YLRgNC40LzQsNGC0Lgg0YDQvtC30LzRltGAINCx0LvQvtC60YMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgItCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0L7Qt9C80ZbRgCDRgyDQsdC70L7QutCw0YUg0LTQtdGB0LrRgNC40L/RgtC+0YDQsCDRhNCw0LnQu9CwLCDRidC+INCy0ZbQtNC60YDQuNCy0LDRlCDQsdC70L7QutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0LkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICLQvtGC0YDQuNC80LDRgtC4IDMyLdCx0ZbRgtC+0LLRgyDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQtdC60YLQvtGA0ZbQsiAo0LfQsNGB0YLQsNGA0ZbQu9C40LksINGB0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPIC0tZ2V0c3opIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgItC+0YLRgNC40LzQsNGC0Lgg0YDQvtC30LzRltGAINGDINCx0LDQudGC0LDRhSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgItCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0L/QvtC/0LXRgNC10LTQvdGM0L7Qs9C+INGH0LjRgtCw0L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDRgdGC0LDQvSDRgNC10LbQuNC80YMg0L/QvtC/0LXRgNC10LTQvdGM0L7Qs9C+INGH0LjRgtCw0L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC40YLQuCDQtNC70Y8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCDRgNC10LbQuNC8INC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDRh9C40YLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2OQorbXNnaWQgImdldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0YLQuCDRgdGC0LDQvSDRgNC10LbQuNC80YMg0L/QvtC/0LXRgNC10LTQvdGM0L7Qs9C+INGH0LjRgtCw0L3QvdGPINC00LvRjyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAi0YHQutC40L3Rg9GC0Lgg0LHRg9GE0LXRgNC4IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0L/QtdGA0LXRh9C40YLQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstdnwtcV0g0LrQvtC80LDQvdC00Lgg0L/RgNC40YHRgtGA0L7Rl1xuIgorIiAlMSRzIC0tcmVwb3J0IFvQv9GA0LjRgdGC0YDQvtGXXVxuIgorIiAlMSRzIC1ofC1WXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTMKK21zZ2lkICJDYWxsIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAi0JLQuNC60LvQuNC60LDRgtC4INC60LXRgNGD0LLQsNC90L3RjyDQstCy0LXQtNC10L3QvdGP0Lwt0LLQuNCy0LXQtNC10L3QvdGP0Lwg0LHQu9C+0LrQvtCy0L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4g0Lcg0LrQvtC80LDQvdC00L3QvtCz0L4g0YDRj9C00LrQsC4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKK21zZ2lkICIgLXEgICAgICAgICAgICAgcXVpZXQgbW9kZSIKK21zZ3N0ciAiIC1xICAgICAgICAgICAgINGD0LLRltC80LrQvdGD0YLQuCDRgNC10LbQuNC8INCx0LXQtyDQv9C+0LLRltC00L7QvNC70LXQvdGMIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk3Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiIC12ICAgICAgICAgICAg0YDQtdC20LjQvCDQtNC+0LrQu9Cw0LTQvdC40YUg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIgICAgIC0tcmVwb3J0ICAg0LLQuNCy0LXRgdGC0Lgg0LfQstGW0YIg0LTQu9GPINCy0LrQsNC30LDQvdC40YUgKNCw0LHQviDRg9GB0ZbRhSkg0L/RgNC40YHRgtGA0L7Rl9CyIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjAzCittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAi0JTQvtGB0YLRg9C/0L3RliDQutC+0LzQsNC90LTQuDoiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzINC+0YLRgNC40LzQsNGC0Lgg0YDQvtC30LzRltGAINGDIDUxMi3QsdCw0LnRgtC+0LLQuNGFINGB0LXQutGC0L7RgNCw0YVcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+INC20L7QtNC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzAKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0YDQvtC30LzRltGAINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAi0J3QtdCy0ZbQtNC+0LzQsCDQutC+0LzQsNC90LTQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzINC/0L7RgtGA0LXQsdGD0ZQg0LLQuNC30L3QsNGH0LXQvdC90Y8g0LDRgNCz0YPQvNC10L3RgtGDIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGlvY3RsINGDICVzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAgJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICIlcyDQstC40LrQvtC90LDQvdC+LlxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INC+0LHRgNC+0LHQvdC40Logc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0L/QvtGH0LDRgtC+0Log0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiDRltC3IHN5c2ZzIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgItCn0YIgICAg0J/QvtCn0YIg0KDQt9C80KEgINCg0LfQvNCR0Lsg0J/QvtGH0KHQtdC60YIgICAgICAgICAgICAg0KDQvtC30LzRltGAINCf0YDQuNGB0YLRgNGW0LlcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAi0JfQsNCy0LDQvdGC0LDQti4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICLQn9C10YDQtdC80LrQvdGD0YLQuCDQvtC30L3QsNC60YMg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPINC/0L7RgtC+0YfQvdC+0LPQviDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUiCittc2dzdHIgItCS0LjQtNCw0LvQuNGC0LgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi0JLQuNC00LDQu9C40YLQuCDQv9C+0YLQvtGH0L3QuNC5INGA0L7Qt9C00ZbQuyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZXNpemUiCittc2dzdHIgItCX0LzRltC90LjRgtC4INGA0L7Qt9C80ZbRgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZWR1Y2Ugb3IgZW5sYXJnZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgItCX0LzQtdC90YjQuNGC0Lgg0LDQsdC+INC30LHRltC70YzRiNC40YLQuCDRgNC+0LfQvNGW0YDQuCDQv9C+0YLQvtGH0L3QvtCz0L4g0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiTmV3IgorbXNnc3RyICLQndC+0LLQuNC5IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAi0KHRgtCy0L7RgNC40YLQuCDQvdC+0LLQuNC5INGA0L7Qt9C00ZbQuyDRgyDQstGW0LvRjNC90L7QvNGDINC/0YDQvtGB0YLQvtGA0ZYiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCIKK21zZ3N0ciAi0JLQuNGF0ZbQtCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgItCS0LjQudGC0Lgg0Lcg0L/RgNC+0LPRgNCw0LzQuCDQsdC10Lcg0LfQsNC/0LjRgdGDINC00LDQvdGWIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MSBsaWJmZGlzay9zcmMvYnNkLmM6NDM4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMSBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OQorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMjYKK21zZ2lkICJUeXBlIgorbXNnc3RyICLQotC40L8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi0JfQvNGW0L3QuNGC0Lgg0YLQuNC/INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgItCU0L7QstGW0LTQutCwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICLQktC40LLQtdGB0YLQuCDQstGW0LrQvdC+INC3INC00L7QstGW0LTQutC+0Y4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAi0KPQv9C+0YDRj9C00LrRg9Cy0LDRgtC4IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLQktC40L/RgNCw0LLQuNGC0Lgg0L/QvtGA0Y/QtNC+0Log0YDQvtC30LTRltC70ZbQsiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAi0JfQsNC/0LjRgdCw0YLQuCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzayAodGhpcyBtaWdodCBkZXN0cm95IGRhdGEpIgorbXNnc3RyICLQl9Cw0L/QuNGB0LDRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0L3QsCDQtNC40YHQuiAo0LzQvtC20LUg0LfRltC/0YHRg9Cy0LDRgtC4INC00LDQvdGWKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INC00LDQvNC/IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INC00LDQvNC/INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIg0YMg0YHRg9C80ZbRgdC90L7QvNGDINC3IHNmZGlzayDRhNCw0LnQu9GWINGB0LrRgNC40L/RgtGDIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjY0MiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAi0LLQvdGD0YLRgNGW0YjQvdGPINC/0L7QvNC40LvQutCwOiDQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0YLQuNC/INC00ZbQsNC70L7Qs9GDLCAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKNC30LzQvtC90YLQvtCy0LDQvdC+KSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3Cittc2dpZCAiUGFydGl0aW9uIG5hbWU6IgorbXNnc3RyICLQndCw0LfQstCwINGA0L7Qt9C00ZbQu9GDOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICJVVUlEINGA0L7Qt9C00ZbQu9GDOiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2Cittc2dpZCAiUGFydGl0aW9uIHR5cGU6IgorbXNnc3RyICLQotC40L8g0YDQvtC30LTRltC70YM6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAi0JDRgtGA0LjQsdGD0YLQuDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM0NworbXNnaWQgIkZpbGVzeXN0ZW0gVVVJRDoiCittc2dzdHIgIlVVSUQg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuDoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICLQnNCG0KLQmtCQINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80Lg6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjAKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAi0KTQsNC50LvQvtCy0LAg0YHQuNGB0YLQtdC80LA6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjUKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAi0KLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3RjzoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAi0JTQuNGB0Lo6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgItCg0L7Qt9C80ZbRgDogJXMsICVqdSDQsdCw0LnRgtGW0LIsICVqdSDRgdC10LrRgtC+0YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAi0JzRltGC0LrQsDogJXMsINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAOiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAi0JzRltGC0LrQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAi0JzQvtC20L3QsCDQstC60LDQt9Cw0YLQuCDQvtC00LjQvdC40YbRjiwgTSDigJQg0JzRltCRLCBHIOKAlCDQk9GW0JEsIFQg4oCUINCi0ZbQkSwg0LDQsdC+IFMsINGP0LrRidC+INGA0L7Qt9C80ZbRgCDQstC60LDQt9Cw0L3QviDRgyDRgdC10LrRgtC+0YDQsNGFLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICLQkdGD0LTRjCDQu9Cw0YHQutCwLCDQstC60LDQttGW0YLRjCDRgNC+0LfQvNGW0YAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg4oCUICVqdSDQsdCw0LnRgtGW0LIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg4oCUICVqdSDQsdCw0LnRgtGW0LIuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINGA0L7Qt9C80ZbRgNGDLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLQktC40LHQtdGA0ZbRgtGMINGC0LjQvyDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWU6ICIKK21zZ3N0ciAi0JLQstC10LTRltGC0Ywg0L3QsNC30LLRgyDRhNCw0LnQu9CwINGB0LrRgNC40L/RgtGDOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgItCk0LDQudC7INGB0LrRgNC40L/RgtGDINCx0YPQtNC1INC30LDRgdGC0L7RgdC+0LLQsNC90L4g0LTQviDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyINGDINC/0LDQvOKAmdGP0YLRliDQutC+0LzQv+KAmdGO0YLQtdGA0LAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0LggJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YTQsNC50Lsg0YHQutGA0LjQv9GC0YMgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0YHRgtC+0YHRg9Cy0LDRgtC4INGB0LrRgNC40L/RgiAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgItCU0LvRjyDQv9C+0YLQvtGH0L3QvtGXINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIg0YMg0L/QsNC84oCZ0Y/RgtGWINC60L7QvNC/4oCZ0Y7RgtC10YDQsCDQsdGD0LTQtSDRgdGC0LLQvtGA0LXQvdC+INC00LDQvNC/INGDINGE0LDQudC70ZYuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTEyCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0L/QsNC84oCZ0Y/RgtGMINC/0ZbQtCDQvtCx0YDQvtCx0LrQuCDRgdC60YDQuNC/0YLRltCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INC60L7QvNC/0L7QvdGD0LLQsNC90L3RjyDQtNC40YHQutCwINC00L4g0YHQutGA0LjQv9GC0YMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAi0JrQvtC80L/QvtC90YPQstCw0L3QvdGPINC00LjRgdC60LAg0YPRgdC/0ZbRiNC90L4g0L/QtdGA0LXQvdC10YHQtdC90L4g0LTQviDQtNCw0LzQv9GDLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0YHQutGA0LjQv9GCICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAi0JLQuNCx0YDQsNGC0Lgg0YLQuNC/INC80ZbRgtC60LgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuSDQvdC1INC80ZbRgdGC0LjRgtGMINGA0L7Qt9C/0ZbQt9C90LDQvdC+0Zcg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAi0JLQuNCx0LXRgNGW0YLRjCDRgtC40L8g0LTQu9GPINGB0YLQstC+0YDQtdC90L3RjyDQvNGW0YLQutC4INCw0LHQviDQvdCw0YLQuNGB0L3RltGC0Ywg0LrQu9Cw0LLRltGI0YMgwqtMwrssINGJ0L7QsSDQt9Cw0LLQsNC90YLQsNC20LjRgtC4INGE0LDQudC7INGB0LrRgNC40L/RgtGDLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICLQptC1IGNmZGlzayAtINC60L7QvdGB0L7Qu9GM0L3QsCDQv9GA0L7Qs9GA0LDQvNCwINGA0L7QsdC+0YLQuCDQtyDRgNC+0LfQtNGW0LvQsNC80Lgg0L3QsCDQsdCw0LfRliBjdXJzZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAi0J3QsNC00LDRlCDQt9C80L7Qs9GDINGB0YLQstC+0YDRjtCy0LDRgtC4LCDQstC40LvRg9GH0LDRgtC4INGC0LAg0LfQvNGW0L3RjtCy0LDRgtC4INGA0L7Qt9C00ZbQu9C4INC90LAg0LHQu9C+0LrQvtCy0L7QvNGDINC/0YDQuNGB0YLRgNC+0ZcuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAi0JrQvtC80LDQvdC00LAgICAgICDQn9GA0LjQt9C90LDRh9C10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAg0J/QtdGA0LXQvNC60L3Rg9GC0Lgg0L7Qt9C90LDQutGDINC30LDQstCw0L3RgtCw0LbQtdC90L3RjyDQv9C+0YLQvtGH0L3QvtCz0L4g0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAg0JLQuNC00LDQu9C40YLQuCDQv9C+0YLQvtGH0L3QuNC5INGA0L7Qt9C00ZbQuyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIgIGggICAgICAgICAg0JLQuNCy0LXRgdGC0Lgg0YbRjiDQtNC+0LLRltC00LrRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgINCh0YLQstC+0YDQuNGC0Lgg0L3QvtCy0LjQuSDRgNC+0LfQtNGW0Lsg0YMg0LLRltC70YzQvdC+0LzRgyDQv9GA0L7RgdGC0L7RgNGWIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICDQktC40LnRgtC4INC3INC/0YDQvtCz0YDQsNC80Lgg0LHQtdC3INC30LDQv9C40YHRgyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiAgcyAgICAgICAgICDQktC40L/RgNCw0LLQuNGC0Lgg0L/QvtGA0Y/QtNC+0Log0YDQvtC30LTRltC70ZbQsiAo0LvQuNGI0LUg0L/QvtC30LAg0LzQsNGB0LjQstC+0LwpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiICB0ICAgICAgICAgINCX0LzRltC90LjRgtC4INGC0LjQvyDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg4Cittc2dpZCAiICB1ICAgICAgICAgIER1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiAgdSAgICAgICAgICDQodGC0LLQvtGA0LjRgtC4INC00LDQvNC/INC60L7QvNC/0L7QvdGD0LLQsNC90L3RjyDQtNC40YHQutCwINGDINGB0YPQvNGW0YHQvdC+0LzRgyDQtyBzZmRpc2sg0YTQsNC50LvRliDRgdC60YDQuNC/0YLRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAg0JfQsNC/0LjRgdCw0YLQuCDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyINC90LAg0LTQuNGB0LogKNGB0LvRltC0INCy0LLQtdGB0YLQuCBXINGDINCy0LXRgNGF0L3RjNC+0LzRgyDRgNC10LPRltGB0YLRgNGWKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgICAg0L7RgdC60ZbQu9GM0LrQuCDRhtC1INC80L7QttC1INC30YDRg9C50L3Rg9Cy0LDRgtC4INC00LDQvdGWINC90LAg0LTQuNGB0LrRgywg0L3QtdC+0LHRhdGW0LTQvdC+INCw0LHQviIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkxCittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAgINC/0ZbQtNGC0LLQtdGA0LTQuNGC0LgsINCw0LHQviDQstGW0LTQvNC+0LLQuNGC0LjRgdGMINCy0ZbQtCDQt9Cw0L/QuNGB0YMg0L3QsNCx0YDQsNCy0YjQuCDCq3llc8K7INGH0Lggwqtub8K7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIgIHggICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LDQsdC+INC/0YDQuNGF0L7QstCw0YLQuCDQtNC+0LTQsNGC0LrQvtCy0YMg0ZbQvdGE0L7RgNC80LDRhtGW0Y4g0YnQvtC00L4g0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICLQodGC0YDRltC70LrQsNCS0LPQvtGA0YMg0J/QtdGA0LXQvNGW0YHRgtC40YLQuCDQutGD0YDRgdC+0YAg0L3QsCDQv9C+0L/QtdGA0LXQtNC90Y4g0L/QvtC30LjRhtGW0Y4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgItCh0YLRgNGW0LvQutCw0JLQvdC40LcgINCf0LXRgNC10LzRltGB0YLQuNGC0Lgg0LrRg9GA0YHQvtGAINGDINC90LDRgdGC0YPQv9C90YMg0L/QvtC30LjRhtGW0Y4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICLQodGC0YDRltC70LrQsCDQu9GW0LLQvtGA0YPRhyDQn9C10YDQtdC80ZbRgdGC0LjRgtC4INC60YPRgNGB0L7RgCDQvdCwINC/0L7Qv9C10YDQtdC00L3RltC5INC/0YPQvdC60YIg0LzQtdC90Y4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgItCh0YLRgNGW0LvQutCwINC/0YDQsNCy0L7RgNGD0YcgINCf0LXRgNC10LzRltGB0YLQuNGC0Lgg0LrRg9GA0YHQvtGAINC90LAg0L3QsNGB0YLRg9C/0L3QuNC5INC/0YPQvdC60YIg0LzQtdC90Y4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OAorbXNnaWQgIk5vdGU6IEFsbCBvZiB0aGUgY29tbWFuZHMgY2FuIGJlIGVudGVyZWQgd2l0aCBlaXRoZXIgdXBwZXIgb3IgbG93ZXIiCittc2dzdHIgItCX0LDRg9Cy0LDQttGC0LU6INCS0YHRliDQutC+0LzQsNC90LTQuCDQstCy0L7QtNGP0YLRjNGB0Y8g0LDQsdC+INGDINC90LjQttC90YzQvtC80YMg0LDQsdC+INGDINCy0LXRgNGF0L3RjNC+0LzRgyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgItGA0LXQs9GW0YHRgtGA0LDRhSAo0LfQsCDQstC40L3Rj9GC0LrQvtC8IChXKdC30LDQv9C40YHRgykuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMDEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAi0JTQvtC60LvQsNC00L3RltGI0LUg0L/RgNC+INC/0YDQuNGB0YLRgNGW0Lkg0LzQvtC20L3QsCDQtNGW0LfQvdCw0YLQuNGB0Y8g0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gbHNibGsoOCkg0LDQsdC+IHBhcnR4KDgpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjExIGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxNAorbXNnaWQgIlByZXNzIGEga2V5IHRvIGNvbnRpbnVlLiIKK21zZ3N0ciAi0J3QsNGC0LjRgdC90ZbRgtGMINCx0YPQtNGMLdGP0LrRgyDQutC70LDQstGW0YjRgyDQtNC70Y8g0L/RgNC+0LTQvtCy0LbQtdC90L3Rjy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC/0LXRgNC10LzQutC90YPRgtC4INC/0YDQsNC/0L7RgNC10YbRjC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0LjQu9GD0YfQuNGC0Lgg0YDQvtC30LTRltC7ICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwOSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dSDQstC40LvRg9GH0LXQvdC+LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCittc2dpZCAiUGFydGl0aW9uIHNpemU6ICIKK21zZ3N0ciAi0KDQvtC30LzRltGAINGA0L7Qt9C00ZbQu9GDOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgItCX0LzRltC90LXQvdC+INGC0LjQvyDRgNC+0LfQtNGW0LvRgyAlenUuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICLQotC40L8g0YDQvtC30LTRltC70YMgJXp1INC30LDQu9C40YjQuNCy0YHRjyDQvdC10LfQvNGW0L3QvdC40LwuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTQKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICLQndC+0LLQuNC5INGA0L7Qt9C80ZbRgDogIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAi0JfQvNGW0L3QtdC90L4g0YDQvtC30LzRltGAINGA0L7Qt9C00ZbQu9GDICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQyNyBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDMgZGlzay11dGlscy9mZGlzay5jOjEwNjMKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5MQorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuSDQstGW0LTQutGA0LjRgtC+INGDINGA0LXQttC40LzRliDQu9C40YjQtSDRh9C40YLQsNC90L3Rjy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAi0JLQuCDQstC/0LXQstC90LXQvdGWLCDRidC+INCx0LDQttCw0ZTRgtC1INC30LDQv9C40YHQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiDQvdCwINC00LjRgdC6PyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM0Cittc2dpZCAiVHlwZSBcInllc1wiIG9yIFwibm9cIiwgb3IgcHJlc3MgRVNDIHRvIGxlYXZlIHRoaXMgZGlhbG9nLiIKK21zZ3N0ciAi0JLQstC10LTRltGC0Ywgwqt5ZXPCuyAo0YLQsNC6KSDQsNCx0L4gwqtub8K7ICjQvdGWKSDQsNCx0L4g0L3QsNGC0LjRgdC90ZbRgtGMINC60LvQsNCy0ZbRiNGDIEVTQywg0YnQvtCxINC/0YDQuNC/0LjQvdC40YLQuCDQtNGW0LDQu9C+0LMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgInllcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQwCittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgItCd0LUg0LfQsNC/0LjRgdGD0LLQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiDQvdCwINC00LjRgdC6LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDQvNGW0YLQutGDINC00LjRgdC60LAuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAi0KLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiDQsdGD0LvQviDQt9C80ZbQvdC10L3Qvi4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgItCX0LDRg9Cy0LDQttGC0LUsINGJ0L4g0YLQtdC/0LXRgCDQstC4INCx0LDRh9C40YLQtSDQt9Cw0L/QuNGB0Lgg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiDQvdC1INGDINGC0L7QvNGDINC/0L7RgNGP0LTQutGDLCDRj9C6INC90LAg0LTQuNGB0LrRgy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgItCf0YDQuNGB0YLRgNGW0Lkg0LLQttC1INC80ZbRgdGC0LjRgtGMINC/0ZbQtNC/0LjRgSAlczsg0LnQvtCz0L4g0LHRg9C00LUg0LLQuNC70YPRh9C10L3QviDQutC+0LzQsNC90LTQvtGOINC30LDQv9C40YHRgy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUyMgorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0L3QvtCy0YMg0LzRltGC0LrRgyDQtNC40YHQutCwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRgNC+0LfQtNGW0LvQuCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz5cbiIKK21zZ3N0ciAiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC00LjRgdC6PlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDQsNCx0L4g0LrQtdGA0YPQstCw0YLQuCDRgtCw0LHQu9C40YbQtdGOINGA0L7Qt9C00ZbQu9GW0LIg0LTQuNGB0LrQsC5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1jb2xvcls9PNGD0LzQvtCy0LA+XSAgICDRgNC+0LfRhNCw0YDQsdC+0LLRg9Cy0LDQvdC90Y8g0LLQuNCy0LXQtNC10L3QuNGFINC00LDQvdC40YUgKGF1dG8gKNCw0LLRgtC+KSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHdheXMgKNC30LDQstC20LTQuCkg0LDQsdC+IG5ldmVyICjQvdGW0LrQvtC70LgpKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLXosIC0temVybyAgICAgICAgICAgICAg0YDQvtC30L/QvtGH0LDRgtC4INC3INC30LDQvdGD0LvQtdC90L7RlyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0YDQtdC20LjQvCDRgNC+0LfRhNCw0YDQsdC+0LLRg9Cy0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30LzRltGB0YLQuNGC0Lgg0LrQvtC90YLQtdC60YHRgtC90ZYg0LTQsNC90ZYgbGliZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPlxuIgorbXNnc3RyICIgJXMgPNC00LjRgdC60L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuT4gPNC90L7QvNC10YAg0YDQvtC30LTRltC70YM+XG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIHRvIGZvcmdldCBhYm91dCBhIHNwZWNpZmllZCBwYXJ0aXRpb24uXG4iCittc2dzdHIgItCf0L7QstGW0LTQvtC80LjRgtC4INGP0LTRgNGDINC/0YDQviDRgtC1LCDRidC+INGB0LvRltC0INC30LDQsdGD0YLQuCDQv9GA0L4g0LLQutCw0LfQsNC90LjQuSDRgNC+0LfQtNGW0LsuXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC70YPRh9C40YLQuCDRgNC+0LfQtNGW0LsiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgItCk0L7RgNC80LDRgtGD0LLQsNC90L3RjyAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NjggZGlzay11dGlscy9mZGZvcm1hdC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJkb25lXG4iCittc2dzdHIgItCy0LjQutC+0L3QsNC90L5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICLQn9C10YDQtdCy0ZbRgNC60LAgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAi0KfQuNGC0LDQvdC90Y86ICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJQcm9ibGVtIHJlYWRpbmcgdHJhY2svaGVhZCAldS8ldSwgZXhwZWN0ZWQgJWQsIHJlYWQgJWRcbiIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAg0LfRh9C40YLRg9Cy0LDQvdC90Y8g0LTQvtGA0ZbQttC60Lgv0LPQvtC70ZbQstC60LggJXUvJXUsINC+0YfRltC60YPQstCw0LvQvtGB0YwgJWQsINC/0YDQvtGH0LjRgtCw0L3QviAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisi0L/QvtC80LjQu9C60L7QstGWINC00LDQvdGWINC90LAg0LTQvtGA0ZbQttGG0ZYv0LPQvtC70ZbQstGG0ZYgJXUvJXVcbiIKKyLQn9GA0L7QtNC+0LLQttGD0ZTQvNC+Li4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80L/RgNC40YHRgtGA0ZbQuT5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OQorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAi0JLQuNC60L7QvdCw0YLQuCDQvdC40LfRjNC60L7RgNGW0LLQvdC10LLQtSDRhNC+0YDQvNCw0YLRg9Cy0LDQvdC90Y8g0LTQuNGB0LrQtdGC0LguXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIC1mLCAtLWZyb20gPE4+ICAgINC/0L7Rh9Cw0YLQuCDQvdCwINC00L7RgNGW0LbRhtGWIE4gKNGC0LjQv9C+0LLQviAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgINC30YPQv9C40L3QuNGC0LjRgdGPINC90LAg0LTQvtGA0ZbQttGG0ZYgTlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICDRgdC/0YDQvtCx0YPQstCw0YLQuCDQstC40L/RgNCw0LLQuNGC0Lgg0LTQvtGA0ZbQttC60Lgg0Lcg0L/QvtC80LjQu9C60LDQvNC4LFxuIgorIiAgICAgICAgICAgICAgICAgICAgINCy0LjRj9Cy0LvQtdC90ZYg0L/RltC0INGH0LDRgSDQv9C10YDQtdCy0ZbRgNC60LggKNC00L4gTiDQv9C+0LLRgtC+0YDRltCyKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICDQstC40LzQutC90YPRgtC4INC/0LXRgNC10LLRltGA0LrRgyDQv9GW0YHQu9GPINGE0L7RgNC80LDRgtGD0LLQsNC90L3Rj1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIGZyb20iCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiAtIGZyb20iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiAtIHRvIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCIC0gcmVwYWlyIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjIzIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNDgKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxODggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMzNworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzk3CisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjEgZGlzay11dGlscy9ta3N3YXAuYzoyNDMgZGlzay11dGlscy9wYXJ0eC5jOjk1MQorIzogbG9naW4tdXRpbHMvbGFzdC5jOjY4OCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNyBtaXNjLXV0aWxzL25hbWVpLmM6MTM1CisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjYzIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg1IHN5cy11dGlscy9ibGt6b25lLmM6OTkKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTk3IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyMAorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjc5IHN5cy11dGlscy9uc2VudGVyLmM6MTY0IHN5cy11dGlscy9uc2VudGVyLmM6MTY4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTIzIHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjk0CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMzcgdGVybS11dGlscy9tZXNnLmM6MTI5IHRleHQtdXRpbHMvbW9yZS5jOjUyNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdGF0IG9mICVzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGB0YLQsNGC0LjRgdGC0LjRh9C90ZYg0LTQsNC90ZYgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTAgbWlzYy11dGlscy9sc2Jsay5jOjE1MDEKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTg3IHN5cy11dGlscy9ibGt6b25lLmM6MTAxCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlczog0L3QtSDRlCDQsdC70L7QutC+0LLQuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LfQvdCw0YfQuNGC0Lgg0L/QvtGC0L7Rh9C90LjQuSDRgtC40L8g0YTQvtGA0LzQsNGC0YMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMt0YHRgtC+0YDQvtC90LgsICVkINC00L7RgNGW0LbQvtC6LCAlZCDRgdC10LrRgi/QtNC+0YDRltC20LrRgy4g0JfQsNCz0LDQu9GM0L3QuNC5INC+0LEn0ZTQvCAlZCDQutCxLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICLQlNCy0ZYiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzQKK21zZ2lkICJTaW5nbGUiCittc2dzdHIgItCe0LTQvdCwIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjQxCittc2dpZCAidXNlciBkZWZpbmVkIHN0YXJ0IHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICLQstC40LfQvdCw0YfQtdC90LAg0LrQvtGA0LjRgdGC0YPQstCw0YfQtdC8INC/0L7Rh9Cw0YLQutC+0LLQsCDQtNC+0YDRltC20LrQsCDQv9C10YDQtdCx0YPQstCw0ZQg0LfQsCDQvNC10LbQsNC80Lgg0LzQsNC60YHQuNC80LDQu9GM0L3QvtGXINC80L7QttC70LjQstC+0Zcg0LTQu9GPINCy0ZbQtNC/0L7QstGW0LTQvdC+0LPQviDQvdC+0YHRltGPINC00LDQvdC40YUiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICLQstC40LfQvdCw0YfQtdC90LAg0LrQvtGA0LjRgdGC0YPQstCw0YfQtdC8INC60ZbQvdGG0LXQstCwINC00L7RgNGW0LbQutCwINC/0LXRgNC10LHRg9Cy0LDRlCDQt9CwINC80LXQttCw0LzQuCDQvNCw0LrRgdC40LzQsNC70YzQvdC+0Zcg0LzQvtC20LvQuNCy0L7RlyDQtNC70Y8g0LLRltC00L/QvtCy0ZbQtNC90L7Qs9C+INC90L7RgdGW0Y8g0LTQsNC90LjRhSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICLQstC40LfQvdCw0YfQtdC90LAg0LrQvtGA0LjRgdGC0YPQstCw0YfQtdC8INC/0L7Rh9Cw0YLQutC+0LLQsCDQtNC+0YDRltC20LrQsCDQv9C10YDQtdCx0YPQstCw0ZQg0LfQsCDQvNC10LbQsNC80Lgg0LLQuNC30L3QsNGH0LXQvdC+0Zcg0LrQvtGA0LjRgdGC0YPQstCw0YfQtdC8INC60ZbQvdGG0LXQstC+0Zcg0LTQvtGA0ZbQttC60LgiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0LrRgNC40YLRgtGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAi0JLQuNCx0ZbRgCAo0YLQuNC/0L7QstC+ICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0ZTQvNC+INGC0LjQv9C+0LLRgyDQstGW0LTQv9C+0LLRltC00YwsICVjLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi0JfQvdCw0YfQtdC90L3RjyDQv9C+0LfQsCDQv9GA0LjQv9GD0YHRgtC40LzQuNC8INC00ZbQsNC/0LDQt9C+0L3QvtC8LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMsIGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICglcywg0YLQuNC/0L7QstC+ICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCVzLCDRgtC40L/QvtCy0L4gJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjLCDRgtC40L/QvtCy0L4gJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0PiwgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+LCDRgtC40L/QvtCy0L4gJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVjLSVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY5IGRpc2stdXRpbHMvZmRpc2suYzozMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIFtZXWVzICjQotCw0LopL1tOXW8gKNCd0ZYpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICLQqNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstC40Lkg0LrQvtC0ICjQvdCw0LHQtdGA0ZbRgtGMIEwsINGJ0L7QsSDQv9C10YDQtdCz0LvRj9C90YPRgtC4INGB0L/QuNGB0L7QuiDQutC+0LTRltCyKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAi0KLQuNC/INGA0L7Qt9C00ZbQu9GDICjQstCy0LXQtNGW0YLRjCBMLCDRidC+0LEg0L/QtdGA0LXQs9C70Y/QvdGD0YLQuCDRgdC/0LjRgdC+0Log0YLQuNC/0ZbQsik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgItCS0YHRgtCw0L3QvtCy0LvQtdC90L4g0L/RgNCw0L/QvtGA0LXRhtGMINGB0YPQvNGW0YHQvdC+0YHRgtGWINC3IERPUyAo0JfQkNCh0KLQkNCg0IbQm9CVISkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIG5vdCBzZXQiCittc2dzdHIgItCf0YDQsNC/0L7RgNC10YbRjCDRgdGD0LzRltGB0L3QvtGB0YLRliDQtyBET1Mg0L3QtSDQstGB0YLQsNC90L7QstC70LXQvdC+IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA0IGRpc2stdXRpbHMvZmRpc2suYzo2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICLQoNC+0LfQtNGW0LvRgyAlenUg0YnQtSDQvdC1INGW0YHQvdGD0ZQhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA5IGRpc2stdXRpbHMvZmRpc2suYzo2MTggbGliZmRpc2svc3JjL2Fzay5jOjEwMDMKK21zZ2lkICJVbmtub3duIgorbXNnc3RyICLQndC10LLRltC00L7QvNC40LkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLQotC40L8g0YDQvtC30LTRltC70YMgwqslc8K7INC30LzRltC90LXQvdC+INC90LAgwqslc8K7LiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgItCi0LjQvyDRgNC+0LfQtNGW0LvRgyAlenUg0LfQsNC70LjRiNC40LLRgdGPINC90LXQt9C80ZbQvdC90LjQvDogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIlMTVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczog0LfRgdGD0LIgPSAlPFBSSXU2ND4sINGA0L7Qt9C80ZbRgCA9ICV6dSDQsdCw0LnRgtGW0LIuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKK21zZ2lkICJjYW5ub3QgcmVhZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INGH0LjRgtCw0L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzQxIGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOTgKK21zZ2lkICJGaXJzdCBzZWN0b3IiCittc2dzdHIgItCf0LXRgNGI0LjQuSDRgdC10LrRgtC+0YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGlvY3RsIEJMS0dFVFNJWkUg0L3QsCAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgItCX0LDRgdGC0LDRgNGW0LvQuNC5INC/0ZbQtNC/0LjRgSAlcyDQsdGD0LTQtSDQstC40LvRg9GH0LXQvdC+INC60L7QvNCw0L3QtNC+0Y4g0LfQsNC/0LjRgdGDLiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICLQndCwINC/0YDQuNGB0YLRgNC+0Zcg0LzQvtC20LUg0LfQsNC70LjRiNC40YLQuNGB0Y8g0YHRgtCw0YDQuNC5INC/0ZbQtNC/0LjRgSAlcy4g0KDQtdC60L7QvNC10L3QtNGD0ZTQvNC+INCy0LjRgtC10YDRgtC4INC/0YDQuNGB0YLRgNGW0Lkg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gd2lwZWZzKDgpINCw0LHQviBmZGlzayAtLXdpcGUg0Lcg0LzQtdGC0L7RjiDRg9C90LjQutC90LXQvdC90Y8g0LzQvtC20LvQuNCy0LjRhSDQvdC10LPQsNGA0LDQt9C00ZbQsi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisiICUxJHMgW29wdGlvbnNdIC1sIFs8ZGlzaz5dIGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80LTQuNGB0Lo+ICAgICAg0LfQvNGW0L3QuNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQslxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIC1sIFs80LTQuNGB0Lo+XSDQv9C+0LrQsNC30LDRgtC4INGB0L/QuNGB0L7QuiDRgtCw0LHQu9C40YbRjCDRgNC+0LfQtNGW0LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKK21zZ2lkICIgLWIsIC0tc2VjdG9yLXNpemUgPHNpemU+ICAgICAgcGh5c2ljYWwgYW5kIGxvZ2ljYWwgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDzRgNC+0LfQvNGW0YA+ICAgICDRgNC+0LfQvNGW0YAg0YTRltC30LjRh9C90L7Qs9C+INGWINC70L7Qs9GW0YfQvdC+0LPQviDRgdC10LrRgtC+0YDRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTIKK21zZ2lkICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyBsYWJlbFxuIgorbXNnc3RyICIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAg0L3QtSDQstC40YLQuNGA0LDRgtC4INCx0ZbRgtC4INC30LDQstCw0L3RgtCw0LbQtdC90L3RjyDQv9GW0LQg0YfQsNGBINGB0YLQstC+0YDQtdC90L3RjyDQvdC+0LLQvtGXINC80ZbRgtC60LhcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMworbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PNGA0LXQttC40Lw+XSDRgNC10LbQuNC8INGB0YPQvNGW0YHQvdC+0YHRgtGWOiDCq2Rvc8K7INCw0LHQviDCq25vbmRvc8K7ICjRgtC40L/QvtCy0LjQuSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAtTCwgLS1jb2xvcls9PNGD0LzQvtCy0LA+XSAgICAgICAgINGA0L7Qt9GE0LDRgNCx0L7QstGD0LLQsNC90L3RjyDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhSAoYXV0byAo0LDQstGC0L4pLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyAo0LfQsNCy0LbQtNC4KSDQsNCx0L4gbmV2ZXIgKNC90ZbQutC+0LvQuCkpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YDQvtC30LTRltC70ZbQsiDRliDQt9Cw0LLQtdGA0YjQuNGC0Lgg0YDQvtCx0L7RgtGDXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTgKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAgICAgICAgINGB0YLQvtCy0L/Rh9C40LrQuCDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgICAgICAgICAgIHJlY29nbml6ZSBzcGVjaWZpZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUgb25seVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA80YLQuNC/PiAgICAgICAgICAgICAg0YDQvtC30L/RltC30L3QsNCy0LDRgtC4INC70LjRiNC1INCy0LrQsNC30LDQvdC40Lkg0YLQuNC/INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMAorbXNnaWQgIiAtdSwgLS11bml0c1s9PHVuaXQ+XSAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtdSwgLS11bml0c1s9PNC+0LTQuNC90LjRhtGPPl0gICAgICAg0L7QtNC40L3QuNGG0ZYg0L/QvtC60LDQt9GDINC00LDQvdC40YU6IMKrY3lsaW5kZXJzwrsgKNGG0LjQu9GW0L3QtNGA0LgpINCw0LHQviDCq3NlY3RvcnPCuyAo0YHQtdC60YLQvtGA0LgsINGC0LjQv9C+0LLQsClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgNC+0LfQvNGW0YAg0L/RgNC40YHRgtGA0L7RjiDRgyA1MTIt0LHQsNC50YLQvtCy0LjRhSDRgdC10LrRgtC+0YDQsNGFIFvQl9CQ0KHQotCQ0KDQhtCb0JjQmV1cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0KDQntCX0JzQhtCgINGDINCx0LDQudGC0LDRhSwg0LAg0L3QtSDRgyDQt9GA0YPRh9C90L7QvNGDINC00LvRjyDRh9C40YLQsNC90L3RjyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA80YDQtdC20LjQvD4gICAgICAgICAgICDRgNC10LbQuNC8INCy0LjRgtC40YDQsNC90L3RjyDQv9GW0LTQv9C40YHRltCyIChhdXRvICjQsNCy0YLQviksIGFsd2F5cyAo0LfQsNCy0LbQtNC4KSDQsNCx0L4gbmV2ZXIgKNC90ZbQutC+0LvQuCkpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2Cittc2dpZCAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA8bW9kZT4gIHdpcGUgc2lnbmF0dXJlcyBmcm9tIG5ldyBwYXJ0aXRpb25zIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtdywgLS13aXBlLXBhcnRpdGlvbnMgPNGA0LXQttC40Lw+INGA0LXQttC40Lwg0LLQuNGC0LjRgNCw0L3QvdGPINC/0ZbQtNC/0LjRgdGW0LIg0Lcg0L3QvtCy0LjRhSDRgNC+0LfQtNGW0LvRltCyIChhdXRvICjQsNCy0YLQviksIGFsd2F5cyAo0LfQsNCy0LbQtNC4KSDQsNCx0L4gbmV2ZXIgKNC90ZbQutC+0LvQuCkpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzICA80LrRltC70YzQutGW0YHRgtGMPiAg0LLQutCw0LfQsNGC0Lgg0LrRltC70YzQutGW0YHRgtGMINGG0LjQu9GW0L3QtNGA0ZbQslxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPNC60ZbQu9GM0LrRltGB0YLRjD4gICAgICAg0LLQutCw0LfQsNGC0Lgg0LrRltC70YzQutGW0YHRgtGMINCz0L7Qu9GW0LLQvtC6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3JzIDzQutGW0LvRjNC60ZbRgdGC0Yw+ICAgICDQstC60LDQt9Cw0YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQtdC60YLQvtGA0ZbQsiDQvdCwINC00L7RgNGW0LbQutGDXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4OTggZGlzay11dGlscy9mZGlzay5jOjkwMCBkaXNrLXV0aWxzL3BhcnR4LmM6ODczCittc2dpZCAiaW52YWxpZCBzZWN0b3Igc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINGA0L7Qt9C80ZbRgNGDINGB0LXQutGC0L7RgNCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTEwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQutGW0LvRjNC60L7RgdGC0ZYg0YbQuNC70ZbQvdC00YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgItC90LUg0LfQvdCw0LnQtNC10L3QviDQtNGA0LDQudCy0LXRgNCwINC80ZbRgtC+0LogRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDRgNC10LbQuNC8INGB0YPQvNGW0YHQvdC+0YHRgtGWLCDCqyVzwrsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MzUKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LrRltC70YzQutC+0YHRgtGWINCz0L7Qu9GW0LLQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTQxCittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LrRltC70YzQutC+0YHRgtGWINGB0LXQutGC0L7RgNGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlza2xhYmVsOiAlcyIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQvNGW0YLQutCwINC00LjRgdC60LA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTc1Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQvtC00LjQvdC40YbRjyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDg5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0YDQtdC20LjQvCDQstC40YLQuNGA0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCittc2dpZCAiVGhlIGRldmljZSBwcm9wZXJ0aWVzIChzZWN0b3Igc2l6ZSBhbmQgZ2VvbWV0cnkpIHNob3VsZCBiZSB1c2VkIHdpdGggb25lIHNwZWNpZmllZCBkZXZpY2Ugb25seS4iCittc2dzdHIgItCS0LvQsNGB0YLQuNCy0L7RgdGC0ZYg0L/RgNC40YHRgtGA0L7RjiAo0YDQvtC30LzRltGAINGB0LXQutGC0L7RgNCwINGC0LAg0LPQtdC+0LzQtdGC0YDRltGOKSDRgdC70ZbQtCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LvQuNGI0LUg0LTQu9GPINC+0LTQvdC+0LPQviDQstC60LDQt9Cw0L3QvtCz0L4g0L/RgNC40YHRgtGA0L7Rji4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworbXNnaWQgImJhZCB1c2FnZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC1INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAi0JLRltGC0LDRlNC80L4g0YMgZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyLQl9C80ZbQvdC4INCx0YPQtNC1INC30LHQtdGA0LXQttC10L3QviDRgyDQv9Cw0Lwn0Y/RgtGWLCDQtNC+0LrQuCDQstC4INC90LUg0LLQuNGA0ZbRiNC40YLQtSDQt9Cw0L/QuNGB0LDRgtC4INGX0YUuXG4iCisi0JHRg9C00YzRgtC1INC+0LHQtdGA0LXQttC90ZYg0Lcg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGP0Lwg0LrQvtC80LDQvdC00Lgg0LfQsNC/0LjRgdGDLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICLQktC40Y/QstC70LXQvdC+INCz0ZbQsdGA0LjQtNC90LjQuSBHUFQuINCS0LDQvCDQtNC+0LLQtdC00LXRgtGM0YHRjyDRgdC40L3RhdGA0L7QvdGW0LfRg9Cy0LDRgtC4INCz0ZbQsdGA0LjQtNC90LjQuSBNQlIg0LLRgNGD0YfQvdGDICjQtNC+0LTQsNGC0LrQvtCy0LjQuSDRgNC10LbQuNC8IMKrTcK7KS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB0eXBlOiAlcyIKK21zZ3N0ciAi0KLQuNC/INC80ZbRgtC60Lgg0LTQuNGB0LrQsDogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgItCG0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC00LjRgdC60LA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi0JTQuNGB0LogJXM6ICVzLCAlanUg0LHQsNC50YLRltCyLCAlanUg0YHQtdC60YLQvtGA0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VvbWV0cnk6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMvdHJhY2ssICVsbHUgY3lsaW5kZXJzIgorbXNnc3RyICLQk9C10L7QvNC10YLRgNGW0Y86ICVkINCz0L7Qu9GW0LLQvtC6LCAlbGx1INGB0LXQutGC0L7RgNGW0LIv0LTQvtGA0ZbQttC60YMsICVsbHUg0YbQuNC70ZbQvdC00YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3MiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICLQntC00LjQvdC40YbRljogJXMg0LcgJWQgKiAlbGQgPSAlbGQg0LHQsNC50YLRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgItCg0L7Qt9C80ZbRgCDRgdC10LrRgtC+0YDQsCAo0LvQvtCz0ZbRh9C90L7Qs9C+L9GE0ZbQt9C40YfQvdC+0LPQvik6ICVsdSDQsdCw0LnRgtGW0LIgLyAlbHUg0LHQsNC50YLRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICJJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogJWx1IGJ5dGVzIC8gJWx1IGJ5dGVzIgorbXNnc3RyICLQoNC+0LfQvNGW0YAg0LLQstC10LTQtdC90L3Rjy3QstC40LLQtdC00LXQvdC90Y8gKNC80ZbQvdGW0LzQsNC70YzQvdC40Lkv0L7Qv9GC0LjQvNCw0LvRjNC90LjQuSk6ICVsdSDQsdCw0LnRgtGW0LIgLyAlbHUg0LHQsNC50YLRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgItCS0ZbQtNGB0YLRg9C/INCy0LjRgNGW0LLQvdGO0LLQsNC90L3RjzogJWx1INCx0LDQudGC0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIzNgorIzogZGlzay11dGlscy9mc2NrLmM6MTI1NQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgNC+0LfQv9C+0LTRltC70LjRgtC4INGW0YLQtdGA0LDRgtC+0YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgNC+0LfRgtCw0YjRg9Cy0LDRgtC4INGDINC/0LDQvOKAmdGP0YLRliDRgtCw0LHQu9C40YbRjiDQstC40LLQtdC00LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE2MyBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNjYKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1ODEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5NzQgbWlzYy11dGlscy9maW5jb3JlLmM6MTIzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2ODggbWlzYy11dGlscy9maW5kbW50LmM6NzA2IG1pc2MtdXRpbHMvbHNibGsuYzoxMTc2CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzozOTEgbWlzYy11dGlscy91dWlkcGFyc2UuYzoxNTQgbWlzYy11dGlscy93aXBlZnMuYzoyMTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzQwIHN5cy11dGlscy9sb3NldHVwLmM6MzY5IHN5cy11dGlscy9sc2NwdS5jOjE2MzUKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2NjMgc3lzLXV0aWxzL2xzaXBjLmM6NDcwIHN5cy11dGlscy9sc2lwYy5jOjU0NQorIzogc3lzLXV0aWxzL2xzaXBjLmM6NjQ3IHN5cy11dGlscy9sc2lwYy5jOjczOSBzeXMtdXRpbHMvbHNpcGMuYzo5MDAKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjI5IHN5cy11dGlscy9yZmtpbGwuYzozNzQgc3lzLXV0aWxzL3N3YXBvbi5jOjE3OQorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjE0IHN5cy11dGlscy96cmFtY3RsLmM6NDA3IHRleHQtdXRpbHMvY29sdW1uLmM6NDUzCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9GC0LDRiNGD0LLQsNGC0Lgg0YMg0L/QsNC84oCZ0Y/RgtGWINGA0Y/QtNC+0Log0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorbXNnaWQgImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LTQvtC00LDRgtC4INCy0LjQstC10LTQtdC90ZYg0LTQsNC90ZYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenUg0L3QtSDQv9C+0YfQuNC90LDRlNGC0YzRgdGPINC90LAg0LzQtdC20ZYg0YTRltC30LjRh9C90L7Qs9C+INGB0LXQutGC0L7RgNCwLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAi0J/RltC00L/QuNGBINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgvUkFJRCDQvdCwINGA0L7Qt9C00ZbQu9GWICV6dSDQsdGD0LTQtSDQstC40YLQtdGA0YLQvi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwOQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgItCX0LDQv9C40YHQuCDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyINC90LUg0YMg0YLQvtC80YMg0L/QvtGA0Y/QtNC60YMsINGP0Log0L3QsCDQtNC40YHQutGDLiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICLQn9C+0YfQsNGC0L7QuiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAi0JrRltC90LXRhtGMIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjcKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAi0KHQtdC60YLQvtGA0LgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICLQoNC+0LfQvNGW0YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi0J3QtdGA0L7Qt9C/0L7QtNGW0LvQtdC90LjQuSDQv9GA0L7RgdGC0ZbRgCDQvdCwICVzOiAlcywgJWp1INCx0LDQudGC0ZbQsiwgJWp1INGB0LXQutGC0L7RgNGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LjQuSDRgdGC0L7QstC/0YfQuNC6ICVzOiAlcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICLQl9Cw0LPQsNC70YzQvdC1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLQuNC70YPRh9C40YLQuCDRgNC+0LfQtNGW0LsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk5Cittc2dpZCAibGlzdCBmcmVlIHVucGFydGl0aW9uZWQgc3BhY2UiCittc2dzdHIgItC/0L7QutCw0LfQsNGC0Lgg0YHQv9C40YHQvtC6INC90LXRgNC+0LfQv9C+0LTRltC70LXQvdC+0LPQviDQvNGW0YHRhtGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAi0L/QvtC60LDQt9Cw0YLQuCDRgdC/0LjRgdC+0Log0LLRltC00L7QvNC40YUg0YLQuNC/0ZbQsiDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICLQtNC+0LTQsNGC0Lgg0L3QvtCy0LjQuSDRgNC+0LfQtNGW0LsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItCy0LjQstC10YHRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMworbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDRgtC40L8g0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorbXNnaWQgInZlcmlmeSB0aGUgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLQv9C10YDQtdCy0ZbRgNC40YLQuCDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNworbXNnaWQgInByaW50IHRoZSByYXcgZGF0YSBvZiB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gdGhlIGRldmljZSIKK21zZ3N0ciAi0LLQuNCy0LXRgdGC0Lgg0L3QtdC+0LHRgNC+0LHQu9C10L3RliDQtNCw0L3RliDQtyDQv9C10YDRiNC+0LPQviDRgdC10LrRgtC+0YDQsCDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDgKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgItCy0LjQstC10YHRgtC4INC90LXQvtCx0YDQvtCx0LvQtdC90ZYg0LTQsNC90ZYg0LzRltGC0LrQuCDQtNC40YHQutCwINC3INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLQstC40L/RgNCw0LLQuNGC0Lgg0L/QvtGA0Y/QtNC+0Log0YDQvtC30LTRltC70ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAi0IbQvdGI0LUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMgorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAi0LLQuNCy0LXRgdGC0Lgg0YbQtSDQvNC10L3RjiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgItC30LzRltC90LjRgtC4INC+0LTQuNC90LjRhtGWINC/0L7QutCw0LfRgy/QstCy0LXQtNC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICLQtNC+0LTQsNGC0LrQvtCy0ZYg0YTRg9C90LrRhtGW0L7QvdCw0LvRjNC90ZYg0LzQvtC20LvQuNCy0L7RgdGC0ZYgKNC70LjRiNC1INC00LvRjyDRhNCw0YXRltCy0YbRltCyKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICLQodC60YDQuNC/0YIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgItC30LDQstCw0L3RgtCw0LbQuNGC0Lgg0LrQvtC80L/QvtC90YPQstCw0L3QvdGPINC00LjRgdC60LAg0ZbQtyDRhNCw0LnQu9CwINGB0LrRgNC40L/RgtGDIHNmZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgItGB0YLQstC+0YDQuNGC0Lgg0LTQsNC80L8g0LrQvtC80L/QvtC90YPQstCw0L3QvdGPINC00LjRgdC60LAg0LTQviDRhNCw0LnQu9CwINGB0LrRgNC40L/RgtGDIHNmZGlzayIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgItCX0LHQtdGA0LXQs9GC0Lgg0ZYg0LLQuNC50YLQuCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAi0LfQsNC/0LjRgdCw0YLQuCDRgtCw0LHQu9C40YbRjiDQvdCwINC00LjRgdC6INGWINCy0LjQudGC0LgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgItC30LDQv9C40YHQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0L3QsCDQtNC40YHQuiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICLQstC40LnRgtC4INCx0LXQtyDQt9Cx0LXRgNC10LbQtdC90L3RjyDQt9C80ZbQvSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI0Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAi0L/QvtCy0LXRgNC90YPRgtC40YHRjCDQtNC+INCz0L7Qu9C+0LLQvdC+0LPQviDQvNC10L3RjiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI2Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAi0L/QvtCy0LXRgNC90YPRgtC40YHRjyDQtyBCU0Qg0LTQviBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworbXNnaWQgIkNyZWF0ZSBhIG5ldyBsYWJlbCIKK21zZ3N0ciAi0KHRgtCy0L7RgNC40YLQuCDQvdC+0LLRgyDQvNGW0YLQutGDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi0YHRgtCy0L7RgNC40YLQuCDQvdC+0LLRgyDQv9C+0YDQvtC20L3RjiDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyIEdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgdGC0LLQvtGA0LjRgtC4INC90L7QstGDINC/0L7RgNC+0LbQvdGOINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgU0dJIChJUklYKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItGB0YLQstC+0YDQuNGC0Lgg0L3QvtCy0YMg0L/QvtGA0L7QttC90Y4g0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiBET1MiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLRgdGC0LLQvtGA0LjRgtC4INC90L7QstGDINC/0L7RgNC+0LbQvdGOINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgU3VuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDUKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgItGB0YLQstC+0YDQuNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiBJUklYIChTR0kpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJHZW9tZXRyeSAoZm9yIHRoZSBjdXJyZW50IGxhYmVsKSIKK21zZ3N0ciAi0JPQtdC+0LzQtdGC0YDRltGPICjQtNC70Y8g0L/QvtGC0L7Rh9C90L7RlyDQvNGW0YLQutC4KSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgItC30LzRltC90LjRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDRhtC40LvRltC90LTRgNGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgItC30LzRltC90LjRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDQs9C+0LvRltCy0L7QuiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQtdC60YLQvtGA0ZbQsi/QtNC+0YDRltC20LrRgyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgItC30LzRltC90LjRgtC4IEdVSUQg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQvdCw0LfQstGDINGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgItC30LzRltC90LjRgtC4IFVVSUQg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorbXNnaWQgImNoYW5nZSB0YWJsZSBsZW5ndGgiCittc2dzdHIgItC30LzRltC90LjRgtC4INC00L7QstC20LjQvdGDINGC0LDQsdC70LjRhtGWIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzEKK21zZ2lkICJlbnRlciBwcm90ZWN0aXZlL2h5YnJpZCBNQlIiCittc2dzdHIgItGD0LLRltC50YLQuCDQtNC+INC30LDRhdC40YHQvdC+0LPQviDQsNCx0L4g0LPRltCx0YDQuNC00L3QvtCz0L4gTUJSIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgItC/0LXRgNC10LzQutC90YPRgtC4INC30LDRgdGC0LDRgNGW0LvQuNC5INC/0YDQsNC/0L7RgNC10YbRjCBCSU9TINC/0YDQuNC00LDRgtC90L7RgdGC0ZYg0LTQviDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorbXNnaWQgInRvZ2dsZSB0aGUgbm8gYmxvY2sgSU8gcHJvdG9jb2wgZmxhZyIKK21zZ3N0ciAi0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMINC/0YDQvtGC0L7QutC+0LvRgyDQvdC10LHQu9C+0LrQvtCy0L7Qs9C+INCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKK21zZ2lkICJ0b2dnbGUgdGhlIHJlcXVpcmVkIHBhcnRpdGlvbiBmbGFnIgorbXNnc3RyICLQv9C10YDQtdC80LrQvdGD0YLQuCDQv9GA0LDQv9C+0YDQtdGG0Ywg0L3QtdC+0LHRhdGW0LTQvdC+0LPQviDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgItC/0LXRgNC10LzQutC90YPRgtC4INGB0L/QtdGG0LjRhNGW0YfQvdGWINC00LvRjyBHVUlEINCx0ZbRgtC4IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAi0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMIMKr0LvQuNGI0LUt0LTQu9GPLdGH0LjRgtCw0L3QvdGPwrsiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgItC/0LXRgNC10LzQutC90YPRgtC4INC/0YDQsNC/0L7RgNC10YbRjCDQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0LfQsNC/0LDRgdC90LjRhSDRhtC40LvRltC90LTRgNGW0LIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgItC30LzRltC90LjRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDQtNC+0LTQsNGC0LrQvtCy0LjRhSDRgdC10LrRgtC+0YDRltCyINC90LAg0YbQuNC70ZbQvdC00YAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MworbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi0LfQvNGW0L3QuNGC0Lgg0LrQvtC10YTRltGG0ZbRlNC90YIg0YfQtdGA0LPRg9Cy0LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAi0LfQvNGW0L3QuNGC0Lgg0YjQstC40LTQutGW0YHRgtGMINC+0LHQtdGA0YLQsNC90L3RjyAo0L7QsS4v0YXQsi4pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTUKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi0LfQvNGW0L3QuNGC0Lgg0YDQvtC30LzRltGAINGE0ZbQt9C40YfQvdC40YUg0YbQuNC70ZbQvdC00YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLQuNCx0YDQsNGC0Lgg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40Lkg0YDQvtC30LTRltC7IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKK21zZ2lkICJlZGl0IGJvb3RmaWxlIGVudHJ5IgorbXNnc3RyICLRgNC10LTQsNCz0YPQstCw0YLQuCDQt9Cw0L/QuNGBINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QvtCz0L4g0YTQsNC50LvQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAi0LLQuNCx0YDQsNGC0Lggc2dpLdGA0L7Qt9C00ZbQuyDRgdCy0L7Qv9GW0L3Qs9GDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDgKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgItGB0YLQstC+0YDQuNGC0Lgg0LTQsNC90ZYgU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTcKK21zZ2lkICJET1MgKE1CUikiCittc2dzdHIgIkRPUyAoTUJSKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4Cittc2dpZCAidG9nZ2xlIGEgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAi0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQvdC+0YHRgtGWIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTkKK21zZ2lkICJlZGl0IG5lc3RlZCBCU0QgZGlza2xhYmVsIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDQstC60LvQsNC00LXQvdGDINC80ZbRgtC60YMg0LTQuNGB0LrQsCBCU0QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAi0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L/RgNCw0L/QvtGA0LXRhtGMINGB0YPQvNGW0YHQvdC+0YHRgtGWINC3IGRvcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi0L/QtdGA0LXQvNGW0YHRgtC40YLQuCDQv9C+0YfQsNGC0L7QuiDQtNCw0L3QuNGFINC90LAg0YDQvtC30LTRltC70ZYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLQt9C80ZbQvdC40YLQuCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQtNC40YHQutCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICLQv9C+0LLQtdGA0L3Rg9GC0LjRgdGPINGW0Lcg0LfQsNGF0LjRgdC90L7Qs9C+INCw0LHQviDQs9GW0LHRgNC40LTQvdC+0LPQviBNQlIg0LTQviBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgItC30LzRltC90LjRgtC4INC00LDQvdGWINC00LjRgdC60LAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworbXNnaWQgImluc3RhbGwgYm9vdHN0cmFwIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC40YLQuCDQv9C+0YfQsNGC0LrQvtCy0LjQuSDQt9Cw0LLQsNC90YLQsNC20YPQstCw0YciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOAorbXNnaWQgInNob3cgY29tcGxldGUgZGlza2xhYmVsIgorbXNnc3RyICLQv9C+0LrQsNC30LDRgtC4INC80ZbRgtC60YMg0LTQuNGB0LrQsCDQv9C+0LLQvdGW0YHRgtGOIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgItC/0YDQuNCyJ9GP0LfRg9Cy0LDQvdC90Y8g0YDQvtC30LTRltC70YMgQlNEINC00L4g0YDQvtC30LTRltC70YMsINGJ0L4g0L3QtSDQvdCw0LvQtdC20LjRgtGMINC00L4g0YLQuNC/0YMgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQlNC+0LLRltC00LrQsCAo0YDQvtC30YjQuNGA0LXQvdC40Lkg0L3QsNCx0ZbRgCDQutC+0LzQsNC90LQpOlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtCy0ZbQtNC60LA6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICJZb3UncmUgZWRpdGluZyBuZXN0ZWQgJyVzJyBwYXJ0aXRpb24gdGFibGUsIHByaW1hcnkgcGFydGl0aW9uIHRhYmxlIGlzICclcycuIgorbXNnc3RyICLQktC4INGA0LXQtNCw0LPRg9GU0YLQtSDQstC60LvQsNC00LXQvdGDINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgwqslc8K7LCDQvtGB0L3QvtCy0L3QvtGOINGC0LDQsdC70LjRhtC10Y4g0YDQvtC30LTRltC70ZbQsiDRlCDCqyVzwrsuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAi0JrQvtC80LDQvdC00Lgg0LXQutGB0L/QtdGA0YLQvdC+0LPQviDRgNC10LbQuNC80YMobSAtINC00L7QstGW0LTQutCwKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsCAobSAtINC00L7QstGW0LTQutCwKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MzUKK21zZ2lkICIiCisiXG4iCisiRG8geW91IHJlYWxseSB3YW50IHRvIHF1aXQ/ICIKK21zZ3N0ciAiIgorIlxuIgorItCS0Lgg0YHQv9GA0LDQstC00ZYg0YXQvtGH0LXRgtC1INCy0LjQudGC0Lg/ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVjOiB1bmtub3duIGNvbW1hbmQiCittc2dzdHIgIiVjOiDQvdC10LLRltC00L7QvNCwINC60L7QvNCw0L3QtNCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA2Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZSIKK21zZ3N0ciAi0JLQstC10LTRltGC0Ywg0L3QsNC30LLRgyDRhNCw0LnQu9CwINGB0LrRgNC40L/RgtGDIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODUKK21zZ2lkICJSZXNldHRpbmcgZmRpc2shIgorbXNnc3RyICLQktGW0LTQvdC+0LLQu9GO0ZTQvNC+INC/0L7Rh9Cw0YLQutC+0LLQuNC5INGB0YLQsNC9IGZkaXNrISIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAi0KHQutGA0LjQv9GCINGD0YHQv9GW0YjQvdC+INC30LDRgdGC0L7RgdC+0LLQsNC90L4uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC/0LXRgNC10YLQstC+0YDQuNGC0Lgg0LrQvtC80L/QvtC90YPQstCw0L3QvdGPINC00LjRgdC60LAg0L3QsCDRgdC60YDQuNC/0YIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICLQodC60YDQuNC/0YIg0YPRgdC/0ZbRiNC90L4g0LfQsdC10YDQtdC20LXQvdC+LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenUg0LzRltGB0YLQuNGC0Ywg0L/RltC00L/QuNGBICVzLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNworbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAi0KXQvtGH0LXRgtC1INCy0LjQu9GD0YfQuNGC0Lgg0L/RltC00L/QuNGBPyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTYzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUxMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgItCf0ZbQtNC/0LjRgSDQsdGD0LTQtSDQstC40LvRg9GH0LXQvdC+INC60L7QvNCw0L3QtNC+0Y4g0LfQsNC/0LjRgdGDLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INC80ZbRgtC60YMg0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4Cittc2dpZCAiRmFpbGVkIHRvIGZpeCBwYXJ0aXRpb25zIG9yZGVyLiIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstC40L/RgNCw0LLQuNGC0Lgg0L/QvtGA0Y/QtNC+0Log0YDQvtC30LTRltC70ZbQsi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY0MAorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICLQn9C+0YDRj9C00L7QuiDRgNC+0LfQtNGW0LvRltCyINCy0LjQv9GA0LDQstC70LXQvdC+LiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstC40LvRg9GH0LjRgtC4INGA0L7Qt9C00ZbQuyAlenUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICLQl9C80ZbQvdCwINC+0LTQuNC90LjRhtGMINC/0L7QutCw0LfRgyDRliDQstC40LLQtdC00LXQvdC90Y8g0L3QsCDRhtC40LvRltC90LTRgNC4ICjQl9CQ0KHQotCQ0KDQhtCb0JUhKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgItCX0LzRltC90LAg0L7QtNC40L3QuNGG0Ywg0L/QvtC60LDQt9GDINGWINCy0LLQtdC00LXQvdC90Y8g0L3QsCDRgdC10LrRgtC+0YDQuC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICLQl9Cw0LvQuNGI0LDRlNC80L4g0LLQutC70LDQtNC10L3RgyDQvNGW0YLQutGDINC00LjRgdC60LAuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICLQndC+0LLRliDQvNCw0LrRgdC40LzQsNC70YzQvdGWINC30LDQv9C40YHQuCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgItCS0YXQvtC00LjQvNC+INC00L4g0LfQsNGF0LjRidC10L3QvtGXINCw0LHQviDQs9GW0LHRgNC40LTQvdC+0Zcg0LzRltGC0LrQuCDQtNC40YHQutCwIE1CUi4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc2MQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgItCd0L7QstC40LkgVVVJRCAo0YMg0YTQvtGA0LzQsNGC0ZYgOC00LTQtNC0xMikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorbXNnaWQgIk5ldyBuYW1lIgorbXNnc3RyICLQndC+0LLQsCDQvdCw0LfQstCwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgItCS0YXQvtC00LjQvNC+INC00L4g0LLQutC70LDQtNC10L3QvtGXINC80ZbRgtC60Lgg0LTQuNGB0LrQsCBCU0QuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAi0JrRltC70YzQutGW0YHRgtGMINGG0LjQu9GW0L3QtNGA0ZbQsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0NAorbXNnaWQgIk51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAi0JrRltC70YzQutGW0YHRgtGMINCz0L7Qu9GW0LLQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUwCittc2dpZCAiTnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRgtC+0YDRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyDQt9C80L7QvdGC0L7QstCw0L3Qvi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzINC90LUg0LfQvNC+0L3RgtC+0LLQsNC90L5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0LggJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC+0LHRgNC+0LHQutC4OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0LrQsNGC0LDQu9C+0LMgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAi0JHQu9C+0LrRg9GU0LzQviDQtNC40YHQuiDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiAlcyAuLi4gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiKHdhaXRpbmcpICIKK21zZ3N0ciAiKNC+0YfRltC60YPQstCw0L3QvdGPKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAic3VjY2VlZGVkIgorbXNnc3RyICLRg9GB0L/RltGI0L3QviIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAiZmFpbGVkIgorbXNnc3RyICLQvdC10LLQtNCw0YfQsCIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAi0KDQvtC30LHQu9C+0LrQvtCy0YPRlNC80L4gJXMuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ0MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC90LDQu9Cw0YjRgtGD0LLQsNGC0Lgg0L7Qv9C40YEg0LTQu9GPICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L7QsdGA0L7QsdC60Lgg0YMg0YDRj9C00LrRgyAlZCAtLSDQv9GA0L7RltCz0L3QvtGA0L7QstCw0L3QviIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA0IGRpc2stdXRpbHMvZnNjay5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IGZzdGFiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODcgbG9naW4tdXRpbHMvbG9naW4uYzo5NDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDggc3lzLXV0aWxzL2Zsb2NrLmM6MzQ2IHN5cy11dGlscy9uc2VudGVyLmM6MTgwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzIwIHN5cy11dGlscy91bnNoYXJlLmM6MjIxIHN5cy11dGlscy91bnNoYXJlLmM6NDM1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjgwNQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICLQvdC10LLQtNCw0LvQtSDRgNC+0LfQs9Cw0LvRg9C20LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjY5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0ZSBmYWlsZWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQstC40LrQvtC90LDQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAi0YfQtdC60LDQudGC0LUsINCx0ZbQu9GM0YjQtSDQvdC1INC30LDQu9C40YjQuNC70L7RgdGPINC00L7Rh9GW0YDQvdGW0YUg0L/RgNC+0YbQtdGB0ZbQsj8hPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6Nzg1IHN5cy11dGlscy9mbG9jay5jOjM2NCBzeXMtdXRpbHMvc3dhcG9uLmM6MzUyCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQxOSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ0MAorbXNnaWQgIndhaXRwaWQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCB3YWl0cGlkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00LbQtdC90L3Rjy4uLiDQstC40LrQvtC90LDQvdC90Y8gJXMg0LTQu9GPINC/0YDQuNGB0YLRgNC+0Y4gJXMg0LfQsNCy0LXRgNGI0LjQu9C+0YHRjyDRgdC40LPQvdCw0LvQvtC8ICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlczog0YHRgtCw0L0g4oCUICV4LCDRgtCw0LrQvtCz0L4g0L3QtSDQv9C+0LLQuNC90L3QviDQsdGD0LvQviDRgdGC0LDRgtC40YHRjy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAi0JfQsNCy0LXRgNGI0LXQvdC+LCAlcyAo0YHRgtCw0L0g0LLQuNGF0L7QtNGDICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo5MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgJWQgKCVtKSB3aGlsZSBleGVjdXRpbmcgZnNjay4lcyBmb3IgJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwICVkICglbSkg0L/RltC0INGH0LDRgSDQstC40LrQvtC90LDQvdC90Y8gZnNjay4lcyDQtNC70Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEwMDIKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyLQn9GA0LXRhNGW0LrRgSDCq25vwrsg0LDQsdC+IMKrIcK7INC80LDRlCDQsdGD0YLQuCDQv9C10YDQtdC00LDQvdC+INCw0LHQviDQstGB0ZbQvCDQsNCx0L4g0LbQvtC00L3QvtC80YMg0Lcg0YLQuNC/0ZbQsiDRhNCw0LnQu9C+0LLQuNGFXG4iCisi0YHQuNGB0YLQtdC8LCDQv9C10YDQtdC00LDQvdC40YUg0LTQviAtdC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiVzOiDQv9GA0L7Qv9GD0YHQutCw0ZTQvNC+INC/0L7QvNC40LvQutC+0LLQuNC5INGA0Y/QtNC+0Log0YMgL2V0Yy9mc3RhYjog0LzQvtC90YLRg9Cy0LDQvdC90Y8g0Lcg0L/RgNC40LIn0Y/Qt9GD0LLQsNC90L3Rj9C8INGWINC90LXQvdGD0LvRjNC+0LLQvtGOINC60ZbQu9GM0LrRltGB0YLRjiDQv9GA0L7RhdC+0LTRltCyIGZzY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczog0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviDQv9GA0LjRgdGC0YDRltC5LCDRj9C60L7Qs9C+INC90LUg0ZbRgdC90YPRlFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiDQv9GA0LjRgdGC0YDQvtGOINC90LUg0ZbRgdC90YPRlCAo0YnQvtCxINC/0YDQvtC/0YPRgdGC0LjRgtC4INGG0LXQuSDQv9GA0LjRgdGC0YDRltC5LCDQvNC+0LbQvdCwINGB0LrQvtGA0LjRgdGC0LDRgtC40YHRjyDQv9Cw0YDQsNC80LXRgtGA0L7QvCBcIm5vZmFpbFwiINGDIGZzdGFiKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlczog0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgyDQvdC10LLRltC00L7QvNC+0LPQviDRgtC40L/Rg1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QtdGA0LXQstGW0YDQuNGC0LggJXM6INC90LAg0LLQuNGP0LLQu9C10L3QviBmc2NrLiVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAi0J/QtdGA0LXQstGW0YDQutCwINCy0YHRltGFINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLdC+0YfRltC60YPQstCw0L3QvdGPLS0gKNC/0YDQvtGF0ZbQtCAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LggZnNja10gW9C/0LDRgNCw0LzQtdGC0YDQuCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4XSBb0YTQsNC50LvQvtCy0LAg0YHQuNGB0YLQtdC80LAuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0J/QtdGA0LXQstGW0YDQuNGC0Lgg0ZYg0LLQuNC/0YDQsNCy0LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtQSAgICAgICAgINC/0LXRgNC10LLRltGA0LjRgtC4INCy0YHRliDRhNCw0LnQu9C+0LLRliDRgdC40YHRgtC10LzQuFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgPNC00YQ+ICAgINC/0L7QutCw0LfRg9Cy0LDRgtC4INGB0LzRg9C20LrRgyDQv9C+0YHRgtGD0L/Rgywg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvQsCDQv9GA0LjQt9C90LDRh9C10L3QviDQtNC70Y8g0LPRgNCw0YTRltGH0L3QvtCz0L4g0ZbQvdGC0LXRgNGE0LXQudGB0YNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICDQt9Cw0LHQu9C+0LrRg9Cy0LDRgtC4INC/0YDQuNGB0YLRgNGW0LksINGJ0L7QsSDQs9Cw0YDQsNC90YLRg9Cy0LDRgtC4INCy0LjQutC70Y7Rh9C90LjQuSDQtNC+0YHRgtGD0L9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtTSAgICAgICAgINC90LUg0L/QtdGA0LXQstGW0YDRj9GC0Lgg0LfQvNC+0L3RgtC+0LLQsNC90ZYg0YTQsNC50LvQvtCy0ZYg0YHQuNGB0YLQtdC80LhcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiAtTiAgICAgICAgINC90ZbRh9C+0LPQviDQvdC1INCy0LjQutC+0L3Rg9Cy0LDRgtC4LCDQv9GA0L7RgdGC0L4g0L/QvtC60LDQt9Cw0YLQuCDQtNGW0ZcsINGP0LrRliDQsdGD0LTQtSDQstC40LrQvtC90LDQvdC+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAg0L/QtdGA0LXQstGW0YDQuNGC0Lgg0YTQsNC50LvQvtCy0ZYg0YHQuNGB0YLQtdC80LgsINC30L7QutGA0LXQvNCwINC60L7RgNC10L3QtdCy0YMsINGDINC/0LDRgNCw0LvQtdC70YzQvdC+0LzRgyDRgNC10LbQuNC80ZZcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAg0L/RgNC+0L/Rg9GB0YLQuNGC0Lgg0LrQvtGA0LXQvdC10LLRgyDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgzsg0LrQvtGA0LjRgdC90LUg0LvQuNGI0LUg0LcgwqstQcK7XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDEKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzzQtNGEPl0gINCy0LjQstC10YHRgtC4INGB0YLQsNGC0LjRgdGC0LjRh9C90ZYg0LTQsNC90ZYg0YnQvtC00L4g0LrQvtC20L3QvtCz0L4g0L/QtdGA0LXQstGW0YDQtdC90L7Qs9C+INC00LjRgdC60LA7XG4iCisiICAgICAgICAgICAg0LTQtdGB0LrRgNC40L/RgtC+0YAg0YTQsNC50LvQsCDQv9GA0LjQt9C90LDRh9C10L3QviDQtNC70Y8g0LPRgNCw0YTRltGH0L3QuNGFINGW0L3RgtC10YDRhNC10LnRgdGW0LJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMworbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INC/0L7RgdC70ZbQtNC+0LLQvdGW0YHRgtGMINC00ZbQuSDQtyDQv9C10YDQtdCy0ZbRgNC60LhcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtVCAgICAgICAgINC90LUg0L/QvtC60LDQt9GD0LLQsNGC0Lgg0LfQsNCz0L7Qu9C+0LLQvtC6INC/0ZbRgdC70Y8g0LfQsNC/0YPRgdC60YNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPNGC0LjQvz4gICDQstC60LDQt9Cw0YLQuCDRgtC40L/QuCDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvCwg0Y/QutGWINGB0LvRltC0INC/0LXRgNC10LLRltGA0LjRgtC4O1xuIgorIiAgICAgICAgICAgINGC0LjQv9C4INC80L7QttC90LAg0LLQutCw0LfQsNGC0Lgg0YMg0YTQvtGA0LzQsNGC0ZYg0YHQv9C40YHQutGDINC3INCy0ZbQtNC+0LrRgNC10LzQu9C10L3QvdGP0Lwg0LrQvtC80LDQvNC4XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKK21zZ2lkICIgLVYgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLVYgICAgICAgICDQv9C+0Y/RgdC90Y7QstCw0YLQuCwg0YnQviDRgNC+0LHQuNGC0Ywg0L/RgNC+0LPRgNCw0LzQsFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAi0J7Qt9C90LDQudC+0LzRgtC10YHRjyDQtyDQtNC+0LLRltC00LrQvtGOINC00L4g0LrQvtC80LDQvdC0IGZzY2suKiwg0YnQvtCxINC00ZbQt9C90LDRgtC40YHRjyDQsdGW0LvRjNGI0LUg0L/RgNC+INC/0LDRgNCw0LzQtdGC0YDQuCDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICLQt9Cw0LHQsNCz0LDRgtC+INC/0YDQuNGB0YLRgNC+0ZfQsiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICIvcHJvYyDQt9C80L7QvdGC0L7QstCw0L3Qvj8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAi0LTQu9GPINC/0L7RiNGD0LrRgyDQstGW0LTQv9C+0LLRltC00L3QuNGFINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8INGB0LvRltC0INCy0LjQutC+0L3Rg9Cy0LDRgtC4INC60L7QvNCw0L3QtNGDINCy0ZbQtCDRltC80LXQvdGWINCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGA0LAgKHJvb3QpOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBmaW5kIG1hdGNoaW5nIGZpbGVzeXN0ZW06ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCDQstGW0LTQv9C+0LLRltC00L3RgyDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorbXNnaWQgInRvbyBtYW55IGFyZ3VtZW50cyIKK21zZ3N0ciAi0LfQsNCx0LDQs9Cw0YLQviDQsNGA0LPRg9C80LXQvdGC0ZbQsiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0LDRgNCz0YPQvNC10L3RgiAtciIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCDCqyVzwrsg0LzQvtC20L3QsCDQstC60LDQt9GD0LLQsNGC0Lgg0LvQuNGI0LUg0L7QtNC40L0g0YDQsNC3IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAi0YDQsNC30L7QvCDQtyDQv9Cw0YDQsNC80LXRgtGA0L7QvCDCqyVzwrsg0LzQsNGUINCx0YPRgtC4INCy0LrQsNC30LDQvdC+INCw0YDQs9GD0LzQtdC90YIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INCw0YDQs9GD0LzQtdC90YIgLXI6ICVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLWwg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LvQuNGI0LUg0Lcg0L7QtNC90LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwgLSDRltCz0L3QvtGA0YPRlNC80L4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRhNCw0LnQuz5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNAorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQn9C10YDQtdCy0ZbRgNC40YLQuCDRliDQstC40L/RgNCw0LLQuNGC0Lgg0YHRgtC40YHQvdC10L3RgyDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgyBST00uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICDQu9C40YjQtSDQtNC70Y8g0YHRg9C80ZbRgdC90L7RgdGC0ZYsINGW0LPQvdC+0YDRg9GU0YLRjNGB0Y9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg0LLQuNCy0L7QtNC40YLQuCDQtNC+0LrQu9Cw0LTQvdGWINC/0L7QstGW0LTQvtC80LvQtdC90L3Rj1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAg0LvQuNGI0LUg0LTQu9GPINGB0YPQvNGW0YHQvdC+0YHRgtGWLCDRltCz0L3QvtGA0YPRlNGC0YzRgdGPXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjAKK21zZ2lkICIgLWIsIC0tYmxvY2tzaXplIDxzaXplPiAgIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgZGVmYXVsdHMgdG8gcGFnZSBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1ibG9ja3NpemUgPNGA0L7Qt9C80ZbRgD4g0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0YDQvtC30LzRltGAINCx0LvQvtC60YMsINGC0LjQv9C+0LLQuNC8INGUINGA0L7Qt9C80ZbRgCDRgdGC0L7RgNGW0L3QutC4XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiICAgICAtLWV4dHJhY3RbPTzQutCw0YI+XSAgICDQv9C10YDQtdCy0ZbRgNC40YLQuCDRgNC+0LfQv9Cw0LrRg9Cy0LDQvdC90Y8sINC00L7QtNCw0YLQutC+0LLQviDQvNC+0LbQvdCwINCy0LjQt9C90LDRh9C40YLQuCDQutCw0YLQsNC70L7QsyA80LrQsNGCPiDQtNC70Y8g0YbRjNC+0LPQvlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGlvY3RsOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDRgNC+0LfQvNGW0YAg0L/RgNC40YHRgtGA0L7RjjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGEgYmxvY2sgZGV2aWNlIG9yIGZpbGU6ICVzIgorbXNnc3RyICLQvdC1INGUINCx0LvQvtC60L7QstC40Lwg0L/RgNC40YHRgtGA0L7RlNC8INCw0LHQviDRhNCw0LnQu9C+0Lw6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDMKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgItC00L7QstC20LjQvdCwINGE0LDQudC70LAg0ZQg0L3QsNC00YLQviDQvNCw0LvQvtGOIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc2IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTEgbGliZmRpc2svc3JjL2JzZC5jOjcxNyBsaWJmZGlzay9zcmMvYnNkLmM6ODkyCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjAzIGxvZ2luLXV0aWxzL2xhc3QuYzoyMzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyDQvdCwICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAi0L3QtSDQt9C90LDQudC00LXQvdC+INC60L7QvdGC0YDQvtC70YzQvdC+0Zcg0YHRg9C80Lgg0YHRg9C/0LXRgNCx0LvQvtC60YMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAi0L/QvtGA0Y/QtNC+0Log0LHQsNC50YLRltCyIGNyYW1mczogJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImJpZyIKK21zZ3N0ciAi0L/RgNGP0LzQuNC5IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAibGl0dGxlIgorbXNnc3RyICLQt9Cy0L7RgNC+0YLQvdC40LkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdGWINC80L7QttC70LjQstC+0YHRgtGWINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VwZXJibG9jayBzaXplICglZCkgdG9vIHNtYWxsIgorbXNnc3RyICLRgNC+0LfQvNGW0YAg0YHRg9C/0LXRgNCx0LvQvtC60YMgKCVkKSDRlCDQvdCw0LTRgtC+INC80LDQu9C40LwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDEKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgItC90YPQu9GM0L7QstCwINC60ZbQu9GM0LrRltGB0YLRjCDRhNCw0LnQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAi0YTQsNC50Lsg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC30LAg0LzQtdC20LDQvNC4INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAi0LfQsNGB0YLQsNGA0ZbQu9C40Lkg0YTQvtGA0LzQsNGCIGNyYW1mcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QtdGA0LXQstGW0YDQuNGC0LggQ1JDOiDQt9Cw0YHRgtCw0YDRltC70LjQuSDRhNC+0YDQvNCw0YIgY3JhbWZzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4ICU8UFJJdTMyPiDQsdCw0LnRgtGW0LIg0Lcg0YTQsNC50LvQsCAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI3NAorbXNnaWQgImNyYyBlcnJvciIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgY3JjIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2MAorbXNnaWQgInNlZWsgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQv9GA0Lgg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGWINC/0L7Qt9C40YbRltGXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA4Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGH0LjRgtCw0L3QvdGPIHJvbWZzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQwCittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICLQutC+0YDQtdC90LXQstC40Lkg0LLRg9C30L7QuyDQvdC1INGUINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INC30YHRg9CyINC60L7RgNC10L3RjyAoJWx1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2MgorbXNnaWQgImRhdGEgYmxvY2sgdG9vIGxhcmdlIgorbXNnc3RyICLQsdC70L7QuiDQtNCw0L3QuNGFINGUINC90LDQtNGC0L4g0LLQtdC70LjQutC40LwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGA0L7Qt9C/0LDQutC+0LLRg9Cy0LDQvdC90Y86ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiICDQtNGW0YDQutCwINC90LAgJWx1ICglenUpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozOTkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgINGA0L7Qt9C/0LDQutC+0LLRg9GU0LzQviDQsdC70L7QuiDQtyAlbHUg0LTQviAlbHUgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgItC90LXQsdC70L7QutC+0LLRliAoJWxkKSDQsdCw0LnRgtC4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAi0LHQtdC30YDQvtC30LzRltGA0L3RliAoJWxkLCDQsCDQvdC1ICVsZCkg0LHQsNC50YLQuCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxNSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTE4CisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwOSBtaXNjLXV0aWxzL3V1aWRkLmM6MzY2IHN5cy11dGlscy9mYWxsb2NhdGUuYzo0MDgKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NTEgc3lzLXV0aWxzL3NldHByaXYuYzo2MjAgc3lzLXV0aWxzL3NldHByaXYuYzo2NDMKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozOTMgdGVybS11dGlscy90dHltc2cuYzoxNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgd3JpdGU6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBsY2hvd246ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGNob3duOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1dGltZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCB1dGltZTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgImlub2RlINC60LDRgtCw0LvQvtCz0YMg0LzQsNGUINC90YPQu9GM0L7QstC40Lkg0LfRgdGD0LIg0ZYg0L3QtdC90YPQu9GM0L7QstC40Lkg0YDQvtC30LzRltGAOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ2MgorIywgYy1mb3JtYXQKK21zZ2lkICJta2RpciBmYWlsZWQ6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBta2RpcjogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAi0YDQvtC30LzRltGAINC90LDQt9Cy0Lgg0YTQsNC50LvQsCDRlCDQvdGD0LvRjNC+0LLQuNC8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC40Lkg0YDQvtC30LzRltGAINC90LDQt9Cy0Lgg0YTQsNC50LvQsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INCy0ZbQtNGB0YLRg9C/INCy0YPQt9C70LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDEKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAiaW5vZGUg0YTQsNC50LvQsCDQvNCw0ZQg0L3Rg9C70YzQvtCy0LjQuSDQt9GB0YPQsiDRliDQvdC10L3Rg9C70YzQvtCy0LjQuSDRgNC+0LfQvNGW0YAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiaW5vZGUg0YTQsNC50LvQsCDQvNCw0ZQg0L3Rg9C70YzQvtCy0LjQuSDRgNC+0LfQvNGW0YAg0ZYg0L3QtdC90YPQu9GM0L7QstC40Lkg0LfRgdGD0LIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAi0YHQuNC80LLQvtC70ZbRh9C90LUg0L/QvtGB0LjQu9Cw0L3QvdGPINC80LDRlCDQvdGD0LvRjNC+0LLQuNC5INCy0ZbQtNGB0YLRg9C/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICLRgdC40LzQstC+0LvRltGH0L3QtSDQv9C+0YHQuNC70LDQvdC90Y8g0LzQsNGUINC90YPQu9GM0L7QstC40Lkg0YDQvtC30LzRltGAIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGA0L7Qt9C80ZbQvdGDINGDINGB0LjQvNCy0L7Qu9GW0YfQvdC+0LzRgyDQv9C+0YHQuNC70LDQvdC90ZY6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgc3ltbGluazogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBmaWxlIGhhcyBub24temVybyBvZmZzZXQ6ICVzIgorbXNnc3RyICLQvtGB0L7QsdC70LjQstC40Lkg0YTQsNC50Lsg0LzQsNGUINC90LXQvdGD0LvRjNC+0LLQuNC5INCy0ZbQtNGB0YLRg9C/OiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiZmlmbyDQvNCw0ZQg0L3QtdC90YPQu9GM0L7QstC40Lkg0YDQvtC30LzRltGAOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICLRgdC+0LrQtdGCINC80LDRlCDQvdC10L3Rg9C70YzQvtCy0LjQuSDRgNC+0LfQvNGW0YA6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgItGE0ZbQutGC0LjQstC90LjQuSDRgNC10LbQuNC8OiAlcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutCwIG1rbm9kOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBzdGFydCAoJWx1KSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIHN0YXJ0ICglenUpIgorbXNnc3RyICLQv9C+0YfQsNGC0L7QuiDQtNCw0L3QuNGFINC60LDRgtCw0LvQvtCz0YMgKCVsdSkgPCDRgNC+0LfQvNGW0YAoc3RydWN0IGNyYW1mc19zdXBlcikgKyDQv9C+0YfQsNGC0L7QuiAoJXp1KSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICLQt9Cw0LLQtdGA0YjQtdC90L3RjyDQtNCw0L3QuNGFINC60LDRgtCw0LvQvtCz0YMgKCVsdSkgIT0g0L/QvtGH0LDRgtC60YMg0LTQsNC90LjRhSDRhNCw0LnQu9GW0LIgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LfRgdGD0LIg0LTQsNC90LjRhSDRhNCw0LnQu9CwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKK21zZ2lkICJpbnZhbGlkIGJsb2Nrc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINGA0L7Qt9C80ZbRgNGDINGDINCx0LvQvtC60LDRhSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXM6INCT0LDRgNCw0LfQtFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQn9C10YDQtdCy0ZbRgNC40YLQuCDQvdCwINGG0ZbQu9GW0YHQvdGW0YHRgtGMINGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDIE1pbml4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICBsaXN0IGFsbCBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGD0YHRltGFINC90LDQt9CyINGE0LDQudC70ZbQslxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgINCw0LLRgtC+0LzQsNGC0LjRh9C90L4g0LLQuNC/0YDQsNCy0LvRj9GC0LhcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg5Cittc2dpZCAiIC1yLCAtLXJlcGFpciAgICAgaW50ZXJhY3RpdmUgcmVwYWlyXG4iCittc2dzdHIgIiAtciwgLS1yZXBhaXIgICAgINGW0L3RgtC10YDQsNC60YLQuNCy0L3QviDQstC40L/RgNCw0LLQu9GP0YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgINC00L7QutC70LDQtNC90LjQuSDRgNC10LbQuNC8XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorbXNnaWQgIiAtcywgLS1zdXBlciAgICAgIG91dHB1dCBzdXBlci1ibG9jayBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXMsIC0tc3VwZXIgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDRgdGD0L/QtdGA0LHQu9C+0LrRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MgorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tLCAtLXVuY2xlYXJlZCAg0LfQsNC00ZbRj9GC0Lgg0YDQtdC20LjQvCDQsdC10Lcg0LLQuNC70YPRh9C10L3QvdGPINC/0L7Qv9C10YDQtdC00LbQtdC90YxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkzCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgZm9yY2UgY2hlY2tcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAg0L/RgNC40LzRg9GB0L7QstCwINC/0LXRgNC10LLRltGA0LrQsFxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICjRgi/QvSDQsNCx0L4geS9uKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKNC9L9GCINCw0LHQviBuL3kpPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgInlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzINC30LzQvtC90YLQvtCy0LDQvdC+Llx0ICIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICLQktC4INC00ZbQudGB0L3QviDQsdCw0LbQsNGU0YLQtSDQv9GA0L7QtNC+0LLQttC40YLQuCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgItC/0LXRgNC10LLRltGA0LrRgyDQv9C10YDQtdGA0LLQsNC90L4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJuciDQt9C+0L3QuCA8IEZJUlNUWk9ORSDRgyDRhNCw0LnQu9GWIGAlcycuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAibnIg0LfQvtC90LggPj0gWk9ORVMg0YMg0YTQsNC50LvRliBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAi0JLQuNC00LDQu9C40YLQuCDQsdC70L7QuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLQn9C+0LzQuNC70LrQsCDRh9C40YLQsNC90L3Rjzog0L/QvtC80LjQu9C60LAg0L/RgNC4INC/0L7Qt9C40YbRltGO0LLQsNC90L3RliDQvdCwINCx0LvQvtC6INGDINGE0LDQudC70ZYgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLQn9C+0LzQuNC70LrQsCDRh9C40YLQsNC90L3Rjzog0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INCx0LvQvtC6INGDINGE0LDQudC70ZYgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkludGVybmFsIGVycm9yOiB0cnlpbmcgdG8gd3JpdGUgYmFkIGJsb2NrXG4iCisiV3JpdGUgcmVxdWVzdCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyLQktC90YPRgtGA0ZbRiNC90Y8g0L/QvtC80LjQu9C60LA6INGB0L/RgNC+0LHQsCDQt9Cw0L/QuNGB0YMg0YMg0L/QvtGI0LrQvtC00LbQtdC90LjQuSDQsdC70L7QulxuIgorItCe0L/QtdGA0LDRhtGW0Y8g0LfQsNC/0LjRgdGDINC/0YDQvtGW0LPQvdC+0YDQvtCy0LDQvdCwXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQv9GA0Lgg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGWINGDINGE0YPQvdC60YbRltGXIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDOiDQv9C+0YjQutC+0LTQttC10L3QuNC5INCx0LvQvtC6INGDINGE0LDQudC70ZYgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo0MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogYmxvY2sgb3V0IG9mIHJhbmdlXG4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0LHQu9C+0Log0L/QvtC30LAg0LTRltCw0L/QsNC30L7QvdC+0LxcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0YDQuCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90ZYg0YMg0YTRg9C90LrRhtGW0Zcgd3JpdGVfc3VwZXJfYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMworbXNnaWQgInVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDINGB0YPQv9C10YDQsdC70L7QutGDIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjYKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LrQsNGA0YLRgyBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LzQsNC/0YMg0LfQvtC9IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MzIKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LLRg9C30LvQuCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY0Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INCx0YPRhNC10YAg0LTQu9GPINGB0YPQv9C10YDQsdC70L7QutGDIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjcKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0YHRg9C/0LXRgNCx0LvQvtC6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1ODkKK21zZ2lkICJiYWQgbWFnaWMgbnVtYmVyIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdCwINGB0LjQs9C90LDRgtGD0YDQsCDRgdGD0L/QtdGA0LHQu9C+0LrQsCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICLQn9GW0LTRgtGA0LjQvNGD0Y7RgtGM0YHRjyDQu9C40YjQtSAxayDQsdC70L7QutC4L9C30L7QvdGDIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTMKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LUg0L/QvtC70LUgc19uaW5vZGVzINGDINGB0YPQv9C10YDQsdC70L7RhtGWIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTUKK21zZ2lkICJiYWQgc19pbWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QtSBzX2ltYXBfYmxvY2tzINC/0L7Qu9C1INGDINGB0YPQv9C10YDQsdC70L7RhtGWIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTcKK21zZ2lkICJiYWQgc19maXJzdGRhdGF6b25lIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LUg0L/QvtC70LUgc19maXJzdGRhdGF6b25lINGDINGB0YPQv9C10YDQsdC70L7RhtGWIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MDAKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QtSBzX3ptYXBfYmxvY2tzINC/0L7Qu9C1INGDINGB0YPQv9C10YDQsdC70L7RhtGWIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC00ZbQu9C40YLQuCDQsdGD0YTQtdGAINC00LvRjyDQvNCw0L/QuCDQstGD0LfQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINGA0L7Qt9C80ZbRgdGC0LjRgtC4INCx0YPRhNC10YAg0LTQu9GPINC60LDRgNGC0Lgg0LfQvtC9IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC00ZbQu9C40YLQuCDQsdGD0YTQtdGAINC00LvRjyDQstGD0LfQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0LjQtNGW0LvQuNGC0Lgg0LHRg9GE0LXRgCDQtNC70Y8g0LvRltGH0LjQu9GM0L3QuNC60LAg0LLRg9C30LvRltCyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjgKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIGNvdW50IgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0LjQtNGW0LvQuNGC0Lgg0LHRg9GE0LXRgCDQtNC70Y8g0LvRltGH0LjQu9GM0L3QuNC60LAg0LfQvtC9IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INC80LDQv9GDINCy0YPQt9C70ZbQsiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INC80LDQv9GDINC30L7QvSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQwCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGVzIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDQstGD0LfQu9C4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00LbQtdC90L3RjzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCDQstGD0LfQu9GW0LJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkINCx0LvQvtC60ZbQslxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgItCf0LXRgNGI0LAg0LfQvtC90LAg0LTQsNC90LjRhT0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgItCg0L7Qt9C80ZbRgCDQt9C+0L3QuD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAi0JzQsNC60YEu0YDQvtC30LzRltGAPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICLQodGC0LDQvSDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorItC00L7QstC2LtC90LDQt9Cy0Lg9JXpkXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWQgbWFya2VkIHVudXNlZCwgYnV0IHVzZWQgZm9yIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLQktGD0LfQvtC7ICVkINC/0L7Qt9C90LDRh9C10L3QuNC5INGP0Log0LLRltC70YzQvdC40LksINCw0LvQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyDRgyAnJXMnXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY3MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MjMKK21zZ2lkICJNYXJrIGluIHVzZSIKK21zZ3N0ciAi0J/QvtC30L3QsNGH0LjRgtC4INGP0Log0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDQvdC40LkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgItCk0LDQudC7IGAlcycg0LzQsNGUINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMgJTA1b1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0LfQvdCw0YfQtdC90L3RjyDQu9GW0YfQuNC70YzQvdC40LrQsCDQstGD0LfQu9GW0LIg0L3QsNC00YLQviDQstC10LvQuNC60LUuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NjkKK21zZ2lkICJyb290IGlub2RlIGlzbid0IGEgZGlyZWN0b3J5IgorbXNnc3RyICLQutC+0YDQtdC90LXQstC40Lkg0LLRg9C30L7QuyDQvdC1INGUINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgItCR0LvQvtC6INCy0LbQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyDRgNCw0L3RltGI0LUuINCi0LXQv9C10YAg0YMg0YTQsNC50LvRliBgJXMnLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxNAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAi0J7Rh9C40YHRgtC40YLQuCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICLQkdC70L7QuiAlZCDQtyDRhNCw0LnQu9GDIGAlcycg0L/QvtC30L3QsNGH0LXQvdC40Lkg0LLRltC70YzQvdC40LwuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI2Cittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAi0JLQuNC/0YDQsNCy0LjRgtC4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgItCa0LDRgtCw0LvQvtCzICclcycg0LzRltGB0YLQuNGC0Ywg0L3QtdC/0YDQsNCy0LjQu9GM0L3RgyDQutGW0LvRjNC60ZbRgdGC0Ywg0LLRg9C30LvRltCyINC00LvRjyDRhNCw0LnQu9GDICclLipzJy4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDQxCittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiINCS0LjQtNCw0LvQuNGC0LgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6INC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQutCw0YLQsNC70L7Qszog0LXQu9C10LzQtdC90YIgJy4nINC90LUg0L/QtdGA0YjQuNC5XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk5MiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZFxuIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC60LDRgtCw0LvQvtCzOiDQtdC70LXQvNC10L3RgiAnLi4nINC90LUg0LTRgNGD0LPQuNC5XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyMworbXNnaWQgImludGVybmFsIGVycm9yIgorbXNnc3RyICLQstC90YPRgtGA0ZbRiNC90Y8g0L/QvtC80LjQu9C60LAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogc2l6ZSA8IDMyIgorbXNnc3RyICIlczog0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC60LDRgtCw0LvQvtCzOiDRgNC+0LfQvNGW0YAgPCAzMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutC+0LLQuNC5INC60LDRgtCw0LvQvtCzOiDQvdC10LrQvtGA0LXQutGC0L3QtSDQt9C90LDRh9C10L3QvdGPIGlfem9uZSwg0YHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8gLS1yZXBhaXIg0LTQu9GPINCy0LjQv9GA0LDQstC70LXQvdC90Y9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQv9GA0Lgg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGWINGDINGE0YPQvdC60YbRltGXIGJhZF96b25lIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICLQoNC10LbQuNC8IGlub2RlICVsdSDQvdC1INGB0LrQuNC90YPRgtC+LiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDQvdC1INCy0LjQutC+0YDQuNGB0YLQsNC90L4sINGF0L7Rh9CwINC50L7Qs9C+INC/0L7Qt9C90LDRh9C10L3QviDRj9C6INCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQvdCwINC60LDRgNGC0ZYuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDQstC40LrQvtGA0LjRgdGC0LDQvdC+LCDRhdC+0YfQsCDQudC+0LPQviDQv9C+0LfQvdCw0YfQtdC90L4g0Y/QuiDQvdC10LLQuNC60L7RgNC40YHRgtCw0L3QuNC5INC90LAg0LrQsNGA0YLRli4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAi0JLRgdGC0LDQvdC+0LLQuNGC0LgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kZSAlbHUgKNGA0LXQttC40Lwg0LTQvtGB0YLRg9C/0YMgPSAlMDdvKSwgaV9ubGlua3M9JWQsINC70ZbRh9C40LvRjNC90LjQuj0lZC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAi0JLRgdGC0LDQvdC+0LLQuNGC0LggaV9ubGlua3Mg0YMg0LfQvdCw0YfQtdC90L3RjyDQu9GW0YfQuNC70YzQvdC40LrQsCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBtYXJrZWQgaW4gdXNlLCBubyBmaWxlIHVzZXMgaXQuIgorbXNnc3RyICLQl9C+0L3QsCAlbHU6INC/0L7Qt9C90LDRh9C10L3QsCDRj9C6INCy0LjQutC+0YDQuNGB0YLQsNC90LAsINGF0L7Rh9CwINC90LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8g0LbQvtC00L3QuNC8INGE0LDQudC70L7QvC4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0MQorbXNnaWQgIlVubWFyayIKK21zZ3N0ciAi0JfQvdGP0YLQuCDQv9C+0LfQvdCw0YfQtdC90L3RjyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAi0JfQvtC90LAgJWx1OiDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjywg0LvRltGH0LjQu9GM0L3QuNC6PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbm90IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICLQl9C+0L3QsCAlbHU6INC90LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8sINC70ZbRh9C40LvRjNC90LjQuj0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjk5Cittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LjQuSDRgNC+0LfQvNGW0YAgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC90L7QvNC10YAg0LLRg9C30LvQsCDQstC10YDRgdGW0ZcgMiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgItC00LvRjyDRltC90YLQtdGA0LDQutGC0LjQstC90L7Qs9C+INCy0ZbQtNC90L7QstC70LXQvdC90Y8g0L3QtdC+0LHRhdGW0LTQvdC40Lkg0YLQtdGA0LzRltC90LDQuyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlczogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyAtINGH0LjRgdGC0LjQuSwg0L/QtdGA0LXQstGW0YDQutCwINC90LUg0LLQuNC60L7QvdGD0LLQsNGC0LjQvNC10YLRjNGB0Y8uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICLQn9GA0LjQvNGD0YHQvtCy0LAg0L/QtdGA0LXQstGW0YDQutCwINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80Lgg0L3QsCAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAi0KTQsNC50LvQvtCy0LAg0YHQuNGB0YLQtdC80LAg0L3QsCAlcyDQv9C+0YjQutC+0LTQttC10L3QsCwg0L/QvtGC0YDRltCx0L3QsCDQv9C10YDQtdCy0ZbRgNC60LAuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisiJTZsZCDQstC40LrQvtGA0LjRgdGC0LDQvdC40YUg0LLRg9C30LvRltCyICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlNmxkIHpvbmVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIlNmxkINCy0LjQutC+0YDQuNGB0YLQsNC90LjRhSDQt9C+0L0gKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkINC30LLQuNGH0LDQudC90LjRhSDRhNCw0LnQu9GW0LJcbiIKKyIlNmQg0LrQsNGC0LDQu9C+0LPRltCyXG4iCisiJTZkINGE0LDQudC70ZbQsiDRgdC40LzQstC+0LvRjNC90LjRhSDQv9GA0LjRgdGC0YDQvtGX0LJcbiIKKyIlNmQg0YTQsNC50LvRltCyINCx0LvQvtGH0L3QuNGFINC/0YDQuNGB0YLRgNC+0ZfQslxuIgorIiU2ZCDQv9C+0YHQuNC70LDQvdGMXG4iCisiJTZkINGB0LjQvNCy0L7Qu9GM0L3QuNGFINC/0L7RgdC40LvQsNC90YxcbiIKKyItLS0tLS1cbiIKKyIlNmQg0YTQsNC50LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorItCk0JDQmdCb0J7QktCQINCh0JjQodCi0JXQnNCQINCX0JDQl9Cd0JDQm9CQINCX0JzQhtCdXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDMyIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzOAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1NDEgZGlzay11dGlscy9wYXJ0eC5jOjEwNTggZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTE0CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDAwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MSBzeXMtdXRpbHMvZG1lc2cuYzo2NjEgc3lzLXV0aWxzL3dkY3RsLmM6MzQ3CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTIgdGVybS11dGlscy9zY3JpcHQuYzoyOTggdGVybS11dGlscy9zY3JpcHQuYzozNzUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4NyB0ZXh0LXV0aWxzL3BnLmM6MTI1NgorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAi0LfQsNC/0LjRgSDQt9Cw0LLQtdGA0YjQuNCy0YHRjyDQv9C+0LzQuNC70LrQvtGOIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6INC80L7QttC70LjQstC+INC90LUg0ZQg0YTQsNC50LvQvtCy0L7RjiDRgdC40YHRgtC10LzQvtGOIElTTyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDRh9C40YLQsNC90L3RjyDQvdCwICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRgtC+0YDRltCyOiAlZCwg0YDQvtC30LzRltGAINGB0LXQutGC0L7RgNCwOiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPiAuLi5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRhNCw0LnQu1/QvtCx0YDQsNC30YNfaXNvOTY2MD4gLi4uXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtC4INC00L7QstC20LjQvdGDINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LggSVNPLTk2NjAuXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIgLWQsIC0tZGl2aXNvcj080YfQuNGB0LvQvj4gICDQv9C+0LTRltC70LjRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDQsdCw0LnRgtGW0LIg0L3QsCA80YfQuNGB0LvQvj5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQutGW0LvRjNC60L7RgdGC0ZYg0YHQtdC60YLQvtGA0ZbQsiDRgtCwINGA0L7Qt9C80ZbRgNGDXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE4NworbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC/0L7QtNGW0LvRgyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKK21zZ3N0ciAi0JrQvtGA0LjRgdGC0YPQstCw0L3QvdGPOiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSDQv9GA0LjRgdGC0YDRltC5IFvQutGW0LvRjNC60ZbRgdGC0Ywg0LHQu9C+0LrRltCyXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC40YLQuCDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgyBiZnMgU0NPLlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1OLCAtLWlub2Rlcz1OVU0gICAgc3BlY2lmeSBkZXNpcmVkIG51bWJlciBvZiBpbm9kZXNcbiIKKyIgLVYsIC0tdm5hbWU9TkFNRSAgICBzcGVjaWZ5IHZvbHVtZSBuYW1lXG4iCisiIC1GLCAtLWZuYW1lPU5BTUUgICAgc3BlY2lmeSBmaWxlIHN5c3RlbSBuYW1lXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAtTiwgLS1pbm9kZXM90KfQmNCh0JvQniAg0LLQutCw0LfQsNGC0Lgg0LHQsNC20LDQvdGDINC60ZbQu9GM0LrRltGB0YLRjCBpbm9kZVxuIgorIiAtViwgLS12bmFtZT3QndCQ0JfQktCQICAg0LLQutCw0LfQsNGC0Lgg0L3QsNC30LLRgyDRgtC+0LzRg1xuIgorIiAtRiwgLS1mbmFtZT3QndCQ0JfQktCQICAg0LLQutCw0LfQsNGC0Lgg0L3QsNC30LLRgyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAg0L/QvtGP0YHQvdC40YLQuCDQtNGW0ZcsINGP0LrRliDQsdGD0LTQtSDQstC40LrQvtC90LDQvdC+XG4iCisiIC1jICAgICAgICAgICAgICAgICAg0YbQtdC5INC/0LDRgNCw0LzQtdGC0YAg0LHRg9C00LUg0LHQtdC3INC/0L7Qv9C10YDQtdC00LbQtdC90L3RjyDQv9GA0L7Qv9GD0YnQtdC90L5cbiIKKyIgLWwgICAgICAgICAgICAgICAgICDRhtC10Lkg0L/QsNGA0LDQvNC10YLRgCDQsdGD0LTQtSDQsdC10Lcg0L/QvtC/0LXRgNC10LTQttC10L3QvdGPINC/0YDQvtC/0YPRidC10L3QvlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QsCDQutGW0LvRjNC60ZbRgdGC0YwgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAi0L3QsNC30LLQsCDRgtC+0LzRgyDQt9Cw0L3QsNC00YLQviDQtNC+0LLQs9CwIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgItC90LDQt9Cy0LAg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCDQvdCw0LTRgtC+INC00L7QstCz0LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTYKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAi0LDRgNCz0YPQvNC10L3RgiDQsdC70L7QutGW0LIg0ZQg0L3QsNC00YLQviDQstC10LvQuNC60LjQvCwg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC8INGUINC30L3QsNGH0LXQvdC90Y8gJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgItC90LDQtNGC0L4g0LHQsNCz0LDRgtC+INCy0YPQt9C70ZbQsiAtINC80LDQutGB0LjQvNGD0LwgNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgItC90LUg0LLQuNGB0YLQsNGH0LDRlCDQv9GA0L7RgdGC0L7RgNGDLCDQv9C+0YLRgNGW0LHQvdC+INC/0YDQuNC90LDQudC80L3RliAlbGx1INCx0LvQvtC60ZbQsiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgItCf0YDQuNGB0YLRgNGW0Lk6ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAi0KLQvtC8OiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICLQndCw0LfQstCwINGELtGBLjogPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICLQoNC+0LfQvNGW0YAg0LHQu9C+0LrRgzogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSW5vZGU6ICVsZCAo0YMgMSDQsdC70L7RhtGWKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGU6ICVsZCAo0YMgJWxsdSDQsdC70L7QutCw0YUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgItCR0LvQvtC60ZbQsjogJWxsdVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlIGVuZDogJWQsIERhdGEgZW5kOiAlZFxuIgorbXNnc3RyICLQmtGW0L3QtdGG0Ywg0LLRg9C30LvRltCyOiAlZCwg0JrRltC90LXRhtGMINC00LDQvdC40YU6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNjIKK21zZ2lkICJlcnJvciB3cml0aW5nIHN1cGVyYmxvY2siCittc2dzdHIgItC/0L7QvNC40LvQutCwINC30LDQv9C40YHRgyDRgdGD0L/QtdGA0LHQu9C+0LrRgyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDINC60L7RgNC10L3QtdCy0L7Qs9C+INCy0YPQt9C70LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0L/QuNGB0YMg0LLRg9C30LvQsCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MQorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDINC10LvQtdC80LXQvdGC0LAgJy4nIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDINC10LvQtdC80LXQvdGC0LAgJy4uJyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0LrRgNC40LLQsNC90L3RjyAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFstdCA80YLQuNC/Pl0gW9C/0LDRgNCw0LzQtdGC0YDQuCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4XSA80L/RgNC40YHRgtGA0ZbQuT4gWzzRgNC+0LfQvNGW0YA+XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTzRgtC40L8+ICAg0YLQuNC/INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LguINCv0LrRidC+INC90LUg0LLQutCw0LfQsNC90L4sINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPIGV4dDIuXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgZnMtb3B0aW9ucyAgICAg0L/QsNGA0LDQvNC10YLRgNC4INC00LvRjyDRgdC/0YDQsNCy0LbQvdGM0L7Qs9C+INC30LDRgdC+0LHRgyDQv9C+0LHRg9C00L7QstC4INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8ZGV2aWNlPiAgICAgICBwYXRoIHRvIHRoZSBkZXZpY2UgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIgICAgIDzQv9GA0LjRgdGC0YDRltC5PiAgICAg0YjQu9GP0YUg0LTQviDQv9GA0LjRgdGC0YDQvtGOLCDRj9C60LjQuSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LjQvNC10YLRjNGB0Y9cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDzRgNC+0LfQvNGW0YA+ICAgICAgINC60ZbQu9GM0LrRltGB0YLRjCDQsdC70L7QutGW0LIsINGP0LrRliDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+INC90LAg0L/RgNC40YHRgtGA0L7Rl1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQtNGW0LksINGP0LrRliDQstC40LrQvtC90YPRjtGC0YzRgdGPO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICDQstC40LfQvdCw0YfQtdC90L3RjyDQtNC10LrRltC70YzQutC+0YUgLVYg0L/RgNC40LfQstC+0LTQuNGC0Ywg0LTQviDRgtC10YHRgtC+0LLQvtCz0L4g0LfQsNC/0YPRgdC60YNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorItC60L7RgNC40YHRgtGD0LLQsNC90L3RjzogJXMgWy1oXSBbLXZdIFstYiDRgNC+0LfQvF/QsdC7XSBbLWUg0LzQvtC00LjRhNGW0LrQsNGG0ZbRj10gWy1OINC/0L7RgNGP0LTQvtC6XSBbLWkg0YTQsNC50LtdIFstbiDQvdCw0LfQstCwXSDQvdCw0LfQsl/QutCw0YIg0YTQsNC50Ltf0LLQuNCyXG4iCisiIC12ICAgICAgICAg0LTQvtC60LvQsNC00L3RltGI0LjQuSDQstC40LLRltC0XG4iCisiIC1FICAgICAgICAg0LLQstCw0LbQsNGC0Lgg0LLRgdGWINC/0L7Qv9C10YDQtdC00LbQtdC90L3RjyDQv9C+0LzQuNC70LrQsNC80LggKNC90LXQvdGD0LvRjNC+0LLQuNC5INC60L7QtCDQt9Cw0LLQtdGA0YjQtdC90L3RjylcbiIKKyIgLWIg0YDQvtC30Lxf0LHQuyDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YbQtdC5INGA0L7Qt9C80ZbRgCDQsdC70L7QutGDLCDQv9C+0LLQuNC90LXQvSDQtNC+0YDRltCy0L3RjtCy0LDRgtC4INGA0L7Qt9C80ZbRgNGDINGB0YLQvtGA0ZbQvdC60LhcbiIKKyIgLWUg0LzQvtC00LjRhNGW0LrQsNGG0ZbRjyDQstGB0YLQsNC90L7QstC40YLQuCDQvdC+0LzQtdGAINC80L7QtNC40YTRltC60LDRhtGW0ZcgKNGH0LDRgdGC0LjQvdCwINCy0ZbQtCBmc2lkKVxuIgorIiAtTiDQv9C+0YDRj9C00L7QuiDQstGB0YLQsNC90L7QstC40YLQuCDQv9C+0YDRj9C00L7QuiDQsdCw0LnRgtGW0LIg0YMgY3JhbWZzIChiaWd8bGl0dGxlfGhvc3QpLCDRgtC40L/QvtCy0LjQvCDRlCBob3N0XG4iCisiIC1pINGE0LDQudC7ICAgINCy0YHRgtCw0LLQuNGC0Lgg0YTQsNC50Lsg0L7QsdGA0LDQt9GDINGDINGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDXG4iCisiIC1uINC90LDQt9Cy0LAgICDQstGB0YLQsNC90L7QstC40YLQuCDQvdCw0LfQstGDINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LggY3JhbWZzXG4iCisiIC1wICAgICAgICAg0LfQsNGA0LXQt9C10YDQstGD0LLQsNGC0LggJWQg0LHQsNC50YIg0LTQu9GPINC60L7QtNGDINC30LDQstCw0L3RgtCw0LbRg9Cy0LDRh9CwXG4iCisiIC1zICAgICAgICAg0YHQvtGA0YLRg9Cy0LDRgtC4INC10LvQtdC80LXQvdGC0Lgg0LrQsNGC0LDQu9C+0LPRgyAo0LfQsNGB0YLQsNGA0ZbQu9C40Lkg0L/QsNGA0LDQvNC10YLRgCwg0ZbQs9C90L7RgNGD0ZTRgtGM0YHRjylcbiIKKyIgLXogICAgICAgICDRgdGC0LLQvtGA0Y7QstCw0YLQuCDRj9Cy0L3RliDQtNGW0YDQutC4XG4iCisiINC90LDQt9CyX9C60LDRgiAgINC60L7RgNC10L3QtdCy0LjQuSDQutCw0YLQsNC70L7QsyDQvNCw0LnQsdGD0YLQvdGM0L7RlyDRgdGC0LjRgdC90YPRgtC+0Zcg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuFxuIgorIiDRhNCw0LnQu1/QstC40LIgICDRhNCw0LnQuyDQstC40LLQvtC00YNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE2MgorIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCByZWFkbGluazogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQgZGlyZWN0b3J5ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDQutCw0YLQsNC70L7QsyAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICLRhNCw0LnQu9C+0LLQsCDRgdC40YHRgtC10LzQsCDQvdCw0LTRgtC+INCy0LXQu9C40LrQsC4g0JfQsNCy0LXRgNGI0LXQvdC90Y8uIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFJRUVFOiBibG9jayBcImNvbXByZXNzZWRcIiB0byA+IDIqYmxvY2tsZW5ndGggKCVsZClcbiIKK21zZ3N0ciAiQUlFRUU6INCx0LvQvtC6IFwi0YHRgtC40YHQvdC10L3QuNC5XCIgPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiU2LjJmJSUgKCUrbGQg0LHQsNC50YLRltCyKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0LrRgNC40YLQuCDRhNCw0LnQuyAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQvdC+0LzQtdGA0LAg0LzQvtC00LjRhNGW0LrQsNGG0ZbRlyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1MgorbXNnaWQgImludmFsaWQgZW5kaWFubmVzcyBnaXZlbjsgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIKK21zZ3N0ciAi0LLQutCw0LfQsNC90L4g0L3QtdC60L7RgNC10LrRgtC90LjQuSDQv9C+0YDRj9C00L7QuiDQsdCw0LnRgtGW0LIuINCc0LDRlCDQsdGD0YLQuCDQstC60LDQt9Cw0L3QviDCq2JpZ8K7LCDCq2xpdHRsZcK7INCw0LHQviDCq2hvc3TCuyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0L7Rh9GW0LrRg9Cy0LDQvdC40Lkg0L3QtdC+0LHRhdGW0LTQvdC40Lkg0YDQvtC30LzRltGAICjQstC10YDRhdC90Y8g0LzQtdC20LApINGB0LrQu9Cw0LTQsNGUICVsbGQg0JzQkSwg0LDQu9C1INC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0L7QsdGA0LDQt9GDIOKAlCAldSDQnNCRLiDQnNC+0LbQu9C40LLQtSDQv9C10YDQtdC00YfQsNGB0L3QtSDQsNCy0LDRgNGW0LnQvdC1INC30LDQstC10YDRiNC10L3QvdGPLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgItC60LDRgNGC0LrQsCDQvtCx0YDQsNC30YMgUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAi0JLQutC70Y7Rh9Cw0ZTRgtGM0YHRjzogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgItCU0LDQvdGWINC60LDRgtCw0LvQvtCz0YM6ICV6ZCDQsdCw0LnRgtGW0LJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgItCX0LDQs9Cw0LvQvtC8OiAlemQg0LrRltC70L7QsdCw0LnRgtGW0LJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgItCh0YPQv9C10YDQsdC70L7QujogJXpkINCx0LDQudGC0ZbQslxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAi0JrQvtC90YLRgNC+0LvRjNC90LAg0YHRg9C80LA6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAi0L3QtSDQstC40YHRgtCw0YfQsNGUINC/0YDQvtGB0YLQvtGA0YMg0LTQu9GPIFJPTS3QvtCx0YDQsNC30YMgKNC+0YLRgNC40LzQsNC90L4gJWxsZCwg0LLQuNC60L7RgNC40YHRgtCw0L3QviAlenUpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0L/QuNGB0YMgUk9NLdC+0LHRgNGW0LfRgyAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgItC+0LHRgNCw0LcgUk9NIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC90LDQt9Cy0Lgg0YTQsNC50LvRltCyINC+0LHRgNGW0LfQsNC90L4g0LTQviAldSDQsdCw0LnRgtGW0LIuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1Cittc2dpZCAid2FybmluZzogZmlsZXMgd2VyZSBza2lwcGVkIGR1ZSB0byBlcnJvcnMuIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INGE0LDQudC70Lgg0L/RgNC+0L/Rg9GJ0LXQvdC+INGH0LXRgNC10Lcg0L/QvtC80LjQu9C60LguIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDRgNC+0LfQvNGW0YDQuCDRhNCw0LnQu9GW0LIg0L7QsdGA0ZbQt9Cw0L3QviDQtNC+ICVsdSDQnNCRICjQvNGW0L3Rg9GBIDEg0LHQsNC50YIpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86IHVpZCDQvtCx0YDRltC30LDQvdC+INC00L4gJXUg0LHRltGC0ZbQsi4gKNCm0LUg0LzQvtC20LUg0LfQsNCz0YDQvtC20YPQstCw0YLQuCDQsdC10LfQv9C10YbRli4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGdpZHMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICAoVGhpcyBtYXkgYmUgYSBzZWN1cml0eSBjb25jZXJuLikiCittc2dzdHIgItC/0L7Qv9C10YDQtdC00LbQtdC90L3RjzogZ2lkINC+0LHRgNGW0LfQsNC90L4g0LTQviAldSDQsdGW0YLRltCyLiAo0KbQtSDQvNC+0LbQtSDQt9Cw0LPRgNC+0LbRg9Cy0LDRgtC4INCx0LXQt9C/0LXRhtGWLikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIldBUk5JTkc6IGRldmljZSBudW1iZXJzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgVGhpcyBhbG1vc3QgY2VydGFpbmx5IG1lYW5zXG4iCisidGhhdCBzb21lIGRldmljZSBmaWxlcyB3aWxsIGJlIHdyb25nLiIKK21zZ3N0ciAiIgorItCj0JLQkNCT0JA6INC90L7QvNC10YDQuCDQv9GA0LjRgdGC0YDQvtGX0LIg0L7QsdGA0ZbQt9Cw0L3QviDQtNC+ICV1INCx0ZbRgtGW0LIuINCm0LUg0LzQsNC50LbQtSDQt9Cw0LLQttC00Lgg0L7Qt9C90LDRh9Cw0ZRcbiIKKyLRidC+INC00LXRj9C60ZYg0Lcg0YTQsNC50LvRltCyINC/0YDQuNGB0YLRgNC+0ZfQsiDQsdGD0LTRg9GC0Ywg0L/QvtC80LjQu9C60L7QstC40LzQuC4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gL2Rldi/QvdCw0LfQstCwIFvQsdC70L7QutC4XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKK21zZ2lkICIgLTEgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMVxuIgorbXNnc3RyICIgLTEgICAgICAgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCBNaW5peCDQstC10YDRgdGW0ZcgMVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLTIsIC12ICAgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCBNaW5peCDQstC10YDRgdGW0ZcgMlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDIKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLTMgICAgICAgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCBNaW5peCDQstC10YDRgdGW0ZcgM1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKK21zZ2lkICIgLW4sIC0tbmFtZWxlbmd0aCA8bnVtPiAgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lbGVuZ3RoIDzRh9C40YHQu9C+PiAg0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQtNC+0LLQttC40L3QsCDQvdCw0LfQsiDRhNCw0LnQu9GW0LJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ0Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtaSwgLS1pbm9kZXMgPNGH0LjRgdC70L4+ICAgINC60ZbQu9GM0LrRltGB0YLRjCBpbm9kZSDQtNC70Y8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDUKK21zZ2lkICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgY2hlY2sgdGhlIGRldmljZSBmb3IgYmFkIGJsb2Nrc1xuIgorbXNnc3RyICIgLWMsIC0tY2hlY2sgICAgICAgICAgICAg0L/QtdGA0LXQstGW0YDQuNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSDQvdCwINC/0L7RiNC60L7QtNC20LXQvdGWINCx0LvQvtC60LhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA80YTQsNC50Ls+ICDRgdC/0LjRgdC+0Log0L/QvtGI0LrQvtC00LbQtdC90LjRhSDQsdC70L7QutGW0LIg0Lcg0YTQsNC50LvQsFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINC/0L7Qt9C40YbRltGO0LLQsNC90L3RjyDRgyDQsdC70L7RhtGWINC30LDQstCw0L3RgtCw0LbQtdC90L3RjyDRgyB3cml0ZV90YWJsZXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDRgdC/0L7RgNC+0LbQvdC40YLQuCDRgdC10LrRgtC+0YAg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNGH0LAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGPINGDINGE0YPQvdC60YbRltGXIHdyaXRlX3RhYmxlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0YHRg9C/0LXRgNCx0LvQvtC6IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LrQsNGA0YLRgyBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LrQsNGA0YLRgyDQt9C+0L0iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGPINGDINGE0YPQvdC60YbRltGXIHdyaXRlX2Jsb2NrIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINC30LDQv9C40YHRgyDRgyDRhNGD0L3QutGG0ZbRlyB3cml0ZV9ibG9jayIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczog0L3QsNC00YLQviDQsdCw0LPQsNGC0L4g0L/QvtC80LjQu9C60L7QstC40YUg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBlbm91Z2ggZ29vZCBibG9ja3MiCittc2dzdHIgIiVzOiDQvdC10LTQvtGB0YLQsNGC0L3RjNC+INC90LXRg9GI0LrQvtC00LbQtdC90LjRhSDQsdC70L7QutGW0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyLQn9C10YDRiNC40Lkg0LHQu9C+0Log0LTQsNC90LjRhSDRgNC+0LfRgtCw0YjQvtCy0LDQvdC+INC90LAg0L/QvtC30LjRhtGW0ZcgJWpkLCDRgtC+0LHRgtC+INC90LDQtNGC0L4g0LTQsNC70LXQutC+ICjQvNCw0LrRgdC40LzRg9C8ICVkKS5cbiIKKyLQodC/0YDQvtCx0YPQudGC0LUg0LLQutCw0LfQsNGC0Lgg0LzQtdC90YjQtSBpbm9kZSwg0L/QtdGA0LXQtNCw0Y7Rh9C4IC0taW5vZGVzIDzRh9C40YHQu9C+PiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpbm9kZVxuIgorbXNnc3RyWzFdICIlbHUgaW5vZGVcbiIKK21zZ3N0clsyXSAiJWx1IGlub2RlXG4iCittc2dzdHJbM10gIiVsdSBpbm9kZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1INCx0LvQvtC6XG4iCittc2dzdHJbMV0gIiVsdSDQsdC70L7QutC4XG4iCittc2dzdHJbMl0gIiVsdSDQsdC70L7QutGW0LJcbiIKK21zZ3N0clszXSAiJWx1INCx0LvQvtC6XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAi0KDQvtC30LzRltGAINC30L7QvdC4PSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk1heHNpemU9JXp1XG4iCisiXG4iCittc2dzdHIgIiIKKyLQnNCw0LrRgS7RgNC+0LfQvNGW0YA9JXp1XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGPINC/0YDQuCDQv9C10YDQtdCy0ZbRgNGG0ZYg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgItCd0LXQt9GA0L7Qt9GD0LzRltC70LUg0LfQvdCw0YfQtdC90L3RjyDRgyDRhNGD0L3QutGG0ZbRlyBkb19jaGVjazog0LzQvtC20LvQuNCy0L4g0L/QvtC80LjQu9C60LBcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90Y8g0YMg0YTRg9C90LrRhtGW0ZcgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgIiVzOiDQvdC10L/RgNCw0LLQuNC70YzQvdGWINCx0LvQvtC60Lgg0L/QtdGA0LXQtCDQvtCx0LvQsNGB0YLRjiDQtNCw0L3QuNGFOiDQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0KTQoSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCDQv9C+0YjQutC+0LTQttC10L3QuNC5INCx0LvQvtC6XG4iCittc2dzdHJbMV0gIiVkINC/0L7RiNC60L7QtNC20LXQvdC40YUg0LHQu9C+0LrQuFxuIgorbXNnc3RyWzJdICIlZCDQv9C+0YjQutC+0LTQttC10L3QuNGFINCx0LvQvtC60ZbQslxuIgorbXNnc3RyWzNdICIlZCDQv9C+0YjQutC+0LTQttC10L3QuNC5INCx0LvQvtC6XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0YTQsNC50Lsg0L/QvtGI0LrQvtC00LbQtdC90LjRhSDQsdC70L7QutGW0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDRgyDQstGF0ZbQtNC90LjRhSDQtNCw0L3QuNGFINGJ0L7QtNC+INC60ZbQu9GM0LrQvtGB0YLRliDQv9C+0YjQutC+0LTQttC10L3QuNGFINCx0LvQvtC60ZbQsiDRgyDRgNGP0LTQutGDICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgYmFkYmxvY2tzIGZpbGUiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRhNCw0LnQuyDQv9C+0LzQuNC70LrQvtCy0LjRhSDQsdC70L7QutGW0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAi0YDQvtC30LzRltGAINCx0LvQvtC60YMg0ZQg0LzQtdC90YjQuNC8INC30LAg0YDQvtC30LzRltGAINGE0ZbQt9C40YfQvdC+0LPQviDRgdC10LrRgtC+0YDQsCwgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INGA0L7Qt9C80ZbRgCAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiVzOiDQutGW0LvRjNC60ZbRgdGC0Ywg0L/QvtGC0YDRltCx0L3QuNGFINCx0LvQvtC60ZbQsiAoJWxsdSkg0L/QtdGA0LXQstC40YnRg9GUINC60ZbQu9GM0LrRltGB0YLRjCDQtNC+0YHRgtGD0L/QvdC40YUg0LHQu9C+0LrRltCyICglbGx1KVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBibG9ja3MgdG9vIHNtYWxsIgorbXNnc3RyICIlczog0LrRltC70YzQutGW0YHRgtGMINCx0LvQvtC60ZbQsiDRlCDQvdCw0LTRgtC+INC80LDQu9C+0Y4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdCwINC00L7QstC20LjQvdCwINC90LDQt9CyOiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdCwINCy0LXRgNGB0ZbRjyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IG1pbml4OiAlZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICItdiDRlCDQvdC10L7QtNC90L7Qt9C90LDRh9C90LjQvCwg0LrRgNCw0YnQtSDRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyDCqy0ywrsiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINC80LDQutGB0LjQvNCw0LvRjNC90L7RlyDQtNC+0LLQttC40L3QuCDQvdCw0LfQsiDRhNCw0LnQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQutGW0LvRjNC60L7RgdGC0ZYgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQutGW0LvRjNC60L7RgdGC0ZYg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzINC/0ZbQtNC60LvRjtGH0LXQvdC40Lk7INGC0YPRgiDQvdC1INC80L7QttC90LAg0YHRgtCy0L7RgNGO0LLQsNGC0Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMhIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgItCa0L7RgNC40YHRgtGD0LLQsNGH0LXQvCDQstC60LDQt9Cw0L3QviDQv9C+0LzQuNC70LrQvtCy0LjQuSDRgNC+0LfQvNGW0YAg0YHRgtC+0YDRltC90LrQuCwgJXUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINCy0LrQsNC30LDQvdC40Lkg0LrQvtGA0LjRgdGC0YPQstCw0YfQtdC8INGA0L7Qt9C80ZbRgCDRgdGC0L7RgNGW0L3QutC4ICVkLCDQt9Cw0LzRltGB0YLRjCDRgdC40YHRgtC10LzQvdC+0LPQviDQt9C90LDRh9C10L3QvdGPICVkIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICLQnNGW0YLQutGDINCx0YPQu9C+INC+0LHRgNGW0LfQsNC90L4uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICLQvdC10LzQsNGUINC80ZbRgtC60LgsICIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICLQvdC10LzQsNGUIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisi0JrQvtGA0LjRgdGC0YPQstCw0L3QvdGPOlxuIgorIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSDQv9GA0LjRgdGC0YDRltC5IFvRgNC+0LfQvNGW0YBdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUzCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICLQndCw0LvQsNGI0YLRg9Cy0LDRgtC4INC+0LHQu9Cw0YHRgtGMINGA0LXQt9C10YDQstC90L7RlyDQv9Cw0LzigJnRj9GC0ZYgTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGNoZWNrIGJhZCBibG9ja3MgYmVmb3JlIGNyZWF0aW5nIHRoZSBzd2FwIGFyZWFcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBhbGxvdyBzd2FwIHNpemUgYXJlYSBiZSBsYXJnZXIgdGhhbiBkZXZpY2VcbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICBzcGVjaWZ5IHBhZ2Ugc2l6ZSBpbiBieXRlc1xuIgorIiAtTCwgLS1sYWJlbCBMQUJFTCAgICAgICAgIHNwZWNpZnkgbGFiZWxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICBzcGVjaWZ5IHN3YXAtc3BhY2UgdmVyc2lvbiBudW1iZXJcbiIKKyIgLVUsIC0tdXVpZCBVVUlEICAgICAgICAgICBzcGVjaWZ5IHRoZSB1dWlkIHRvIHVzZVxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgINC/0LXRgNC10LLRltGA0LjRgtC4INC/0LDQvCfRj9GC0Ywg0LTQviDRgdGC0LLQvtGA0LXQvdC90Y8g0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRg1xuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgINC00L7Qt9Cy0L7Qu9C40YLQuCDQv9C10YDQtdCy0LjRidC10L3QvdGPINC+0LEn0ZTQvNGDINC/0YDQuNGB0YLRgNC+0Y4g0L7QsdC70LDRgdGC0Y4g0YHQstC+0L/RltC90LPRg1xuIgorIiAtcCwgLS1wYWdlc2l6ZSDQoNCe0JfQnNCG0KAgICAgINCy0LrQsNC30LDRgtC4INGA0L7Qt9C80ZbRgCDRgdGC0L7RgNGW0L3QutC4INGDINCx0LDQudGC0LDRhVxuIgorIiAtTCwgLS1sYWJlbCDQnNCG0KLQmtCQICAgICAgICAg0LLQutCw0LfQsNGC0Lgg0LzRltGC0LrRg1xuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiDQp9CY0KHQm9CeICAg0LLQutCw0LfQsNGC0Lgg0L3QvtC80LXRgCDQstC10YDRgdGW0Zcg0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRg1xuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgINCy0LrQsNC30LDRgtC4IHV1aWQsINGP0LrQuNC8INGB0LvRltC0INGB0LrQvtGA0LjRgdGC0LDRgtC40YHRj1xuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAi0L3QsNC00YLQviDQsdCw0LPQsNGC0L4g0L/QvtGI0LrQvtC00LbQtdC90LjRhSDRgdGC0L7RgNGW0L3QvtC6OiAlbHUiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTk3Cittc2dpZCAic2VlayBmYWlsZWQgaW4gY2hlY2tfYmxvY2tzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90Y8g0YMg0YTRg9C90LrRhtGW0ZcgY2hlY2tfYmxvY2tzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUg0L/QvtGI0LrQvtC00LbQtdC90LAg0YHRgtC+0YDRltC90LrQsFxuIgorbXNnc3RyWzFdICIlbHUg0L/QvtGI0LrQvtC00LbQtdC90ZYg0YHRgtC+0YDRltC90LrQuFxuIgorbXNnc3RyWzJdICIlbHUg0L/QvtGI0LrQvtC00LbQtdC90LjRhSDRgdGC0L7RgNGW0L3QvtC6XG4iCittc2dzdHJbM10gIiVsdSDQv9C+0YjQutC+0LTQttC10L3QsCDRgdGC0L7RgNGW0L3QutCwXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC/0LDQvCfRj9GC0Ywg0LTQu9GPINC90L7QstC+0LPQviDQt9C+0L3QtNGD0LLQsNC90L3RjyBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0LjQt9C90LDRh9C40YLQuCDQv9GA0LjRgdGC0YDRltC5INC00L4g0LfQvtC90LTRg9Cy0LDQvdC90Y8gbGliYmxraWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgItC/0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0L/QtdGA0LXQstGW0YDQutC4INGE0LDQudC70LAg0YDQtdC30LXRgNCy0L3QvtGXINC/0LDQvOKAmdGP0YLRliDQvdCwINC/0L7QvNC40LvQutC+0LLRliDQsdC70L7QutC4INC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QvjogJXMiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjYzIGRpc2stdXRpbHMvbWtzd2FwLmM6Mjg5IGRpc2stdXRpbHMvbWtzd2FwLmM6MzM2Cittc2dpZCAidW5hYmxlIHRvIHJld2luZCBzd2FwLWRldmljZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINC/0L7Qt9C40YbRltGXINC90LAg0L/QvtGH0LDRgtC+0Log0L/RgNC40YHRgtGA0L7RjiDRgdCy0L7Qv9GW0L3Qs9GDIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MgorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YfQuNGB0YLQuNGC0Lgg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdGWINGB0LXQutGC0L7RgNC4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlczog0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDQstC40YLQuNGA0LDRlNC80L4g0YHRgtCw0YDQuNC5INC/0ZbQtNC/0LjRgSAlcy4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczog0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDQvdC1INCy0LjQu9GD0YfQsNC50YLQtSDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90ZYg0YHQtdC60YLQvtGA0LgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAo0LLQuNGP0LLQu9C10L3QviDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyICVzKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgICjQt9GW0LHRgNCw0L3QviDQsdC10Lcg0L/RltC00YLRgNC40LzQutC4IGxpYmJsa2lkKS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJVc2UgLWYgdG8gZm9yY2UuXG4iCittc2dzdHIgItCh0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPIC1mINC00LvRjyDQv9GA0LjQvNGD0YHQvtCy0L7RlyDQvtCx0YDQvtCx0LrQuC5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDRgdGC0L7RgNGW0L3QutGDINC/0ZbQtNC/0LjRgdGDIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorbXNnaWQgInBhcnNpbmcgcGFnZSBzaXplIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC+0LHRgNC+0LHQutC4INGA0L7Qt9C80ZbRgNGDINGB0YLQvtGA0ZbQvdC60Lgg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQvtCx0YDQvtCx0LrQuCDQvdC+0LzQtdGA0LAg0LLQtdGA0YHRltGXINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60Lgg0LLQtdGA0YHRltGXIHN3YXBzcGFjZSAlZCDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGlnbm9yaW5nIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQgYnkgJXMpIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INGW0LPQvdC+0YDRg9GU0LzQviAtVSAoVVVJRCDQvdC1INC/0ZbQtNGC0YDQuNC80YPRjtGC0YzRgdGPICVzKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MTYKK21zZ2lkICJvbmx5IG9uZSBkZXZpY2UgYXJndW1lbnQgaXMgY3VycmVudGx5IHN1cHBvcnRlZCIKK21zZ3N0ciAi0YMg0L/QvtGC0L7Rh9C90ZbQuSDQstC10YDRgdGW0Zcg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQu9C40YjQtSDQvtC00LjQvSDQsNGA0LPRg9C80LXQvdGCINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwOiDQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyBVVUlEIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQzMgorbXNnaWQgImVycm9yOiBOb3doZXJlIHRvIHNldCB1cCBzd2FwIG9uPyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6INCd0LUg0LLQutCw0LfQsNC90L4sINC00LUg0YHRgtCy0L7RgNC40YLQuCDQvtCx0LvQsNGB0YLRjCDRgdCy0L7Qv9GW0L3Qs9GDPyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LrRltC70YzQutC+0YHRgtGWINCx0LvQvtC60ZbQsiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6INGA0L7Qt9C80ZbRgCAlbGx1INCa0ZbQkSDRlCDQsdGW0LvRjNGI0LjQvCDQt9CwINGA0L7Qt9C80ZbRgCDQv9GA0LjRgdGC0YDQvtGOLCAlPFBSSXU2ND4g0JrRltCRIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgItC/0L7QvNC40LvQutCwOiDQvtCx0LvQsNGB0YLRjCDRgdCy0L7Qv9GW0L3Qs9GDINC80LDRlCDQv9C10YDQtdCy0LjRidGD0LLQsNGC0Lgg0LfQsCDQvtCxJ9GU0LzQvtC8ICVsZCDQmtGW0JEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC+0LHRgNGW0LfQsNGU0LzQviDQvtCx0LvQsNGB0YLRjCDRgdCy0L7Qv9GW0L3Qs9GDINC00L4gJWxsdSDQmtGW0JEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6ICVzINC30LzQvtC90YLQvtCy0LDQvdC+OyDQvNGW0YHRhtC1INC00LvRjyDRgNC10LfQtdGA0LLQvdC+0LPQviDQt9Cx0LXRgNGW0LPQsNC90L3RjyDQvdC1INCx0YPQtNC1INGB0YLQstC+0YDQtdC90L4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDcwIHN5cy11dGlscy9zd2Fwb24uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6INC90LXQsdC10LfQv9C10YfQvdGWINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMgJTA0bywg0L/RgNC+0L/QvtC90YPRlNC80L4g0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPICUwNG8uIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3NCBzeXMtdXRpbHMvc3dhcG9uLmM6NTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczog0L3QtdCx0LXQt9C/0LXRh9C90LUg0LfQvdCw0YfQtdC90L3RjyDQstC70LDRgdC90LjQutCwINGE0LDQudC70LAgJWQsINC/0YDQvtC/0L7QvdGD0ZTQvNC+INGB0LrQvtGA0LjRgdGC0LDRgtC40YHRjyAwIChyb290KS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0YDQvtGB0YLRltGAINGB0LLQvtC/0ZbQvdCz0YM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAi0JLRgdGC0LDQvdC+0LLQu9GO0ZTQvNC+INCy0LXRgNGB0ZbRjiAlZCDQvtCx0LvQsNGB0YLRliDRgdCy0L7Qv9GW0L3Qs9GDLCDRgNC+0LfQvNGW0YAgPSAlcyAoJTxQUkl1NjQ+INCx0LDQudGC0ZbQsilcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBvYnRhaW4gc2VsaW51eCBmaWxlIGxhYmVsIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC80ZbRgtC60YMg0YTQsNC50LvQsCBzZWxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNworbXNnaWQgInVuYWJsZSB0byBtYXRjaHBhdGhjb24oKSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4IG1hdGNocGF0aGNvbigpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMAorbXNnaWQgInVuYWJsZSB0byBjcmVhdGUgbmV3IHNlbGludXggY29udGV4dCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC90L7QstC40Lkg0LrQvtC90YLQtdC60YHRgiBzZWxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyMgorbXNnaWQgImNvdWxkbid0IGNvbXB1dGUgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDQutC+0L3RgtC10LrRgdGCIHNlbGludXgiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INC80ZbRgtC60YMgJXMg0L3QsCAlcyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg2Cittc2dpZCAicGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLQv9C+0YfQsNGC0L7QuiDRgNC+0LfQtNGW0LvRgyDRgyDRgdC10LrRgtC+0YDQsNGFIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLQutGW0L3QtdGG0Ywg0YDQvtC30LTRltC70YMg0YMg0YHQtdC60YLQvtGA0LDRhSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5Cittc2dpZCAibnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRgtC+0YDRltCyIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTAKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICLQt9GA0YPRh9C90LjQuSDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YDQvtC30LzRltGAIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKK21zZ2lkICJwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIlVVSUQg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MworbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAi0YLQuNC/INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIgKGRvcywgZ3B0LCAuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAi0L/RgNCw0L/QvtGA0YbRliDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgItGC0LjQvyDRgNC+0LfQtNGW0LvRgyAo0YDRj9C00L7QuiwgVVVJRCDQsNCx0L4g0YjRltGB0YLQvdCw0LTRhtGP0YLQutC+0LLQtSDRh9C40YHQu9C+KSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCBsb29wY3h0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCDQvdC10LLQuNC60L7RgNC40YHRgtCw0L3QuNC5INC/0LXRgtC70YzQvtCy0LjQuSAobG9vcCkg0L/RgNC40YHRgtGA0ZbQuSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICLQodC/0YDQvtCx0LAg0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPIMKrJXPCuyDRj9C6INC/0LXRgtC70YzQvtCy0L7Qs9C+IChsb29wKSDQv9GA0LjRgdGC0YDQvtGOXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LfQtdGA0LLQvdC40Lkg0YTQsNC50LsiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC90LDQu9Cw0YjRgtGD0LLQsNGC0Lgg0L/QtdGC0LvRjNC+0LLQuNC5IChsb29wKSDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YHRgtC+0LLQv9GH0LjQujogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQvdC+0LzQtdGAINGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLQstC60LDQt9Cw0L3QuNC5INC00ZbQsNC/0LDQt9C+0L0gPCVkOiVkPiDQvdC1INC80LDRlCDRgdC10L3RgdGDIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgInJhbmdlIHJlY291bnQ6IG1heCBwYXJ0bm89JWQsIGxvd2VyPSVkLCB1cHBlcj0lZFxuIgorbXNnc3RyICLQv9C10YDQtdC+0LHRh9C40YHQu9C10L3QvdGPINC00ZbQsNC/0LDQt9C+0L3Rgzog0LzQsNC60YEuINC90L7QvNC10YAg0YDQvtC30LTRltC70YM9JWQsINC90LjQttC90ZbQuT0lZCwg0LLQtdGA0YXQvdGW0Lk9JWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDRgdC/0YDQvtCx0Lgg0LLQuNC70YPRh9C10L3QvdGPINGA0L7Qt9C00ZbQu9GDICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDRgdC/0YDQvtCx0Lgg0LLQuNC70YPRh9C10L3QvdGPINGA0L7Qt9C00ZbQu9GW0LIgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICVkINCy0LjQu9GD0YfQtdC90L5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiVzOiDRgNC+0LfQtNGW0LvRgyAlZCDQvdC1INGW0YHQvdGD0ZRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0LLQuNC70YPRh9C10L3QvdGPINGA0L7Qt9C00ZbQu9GDICVkINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDQtNC+0LTQsNCy0LDQvdC90Y8g0YDQvtC30LTRltC70YMgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDQtNC+0LTQsNCy0LDQvdC90Y8g0YDQvtC30LTRltC70ZbQsiAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGFkZGVkXG4iCittc2dzdHIgIiVzOiDQtNC+0LTQsNC90L4g0YDQvtC30LTRltC7ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFkZGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDQtNC+0LTQsNCy0LDQvdC90Y8g0YDQvtC30LTRltC70YMgJWQg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0YHQv9GA0L7QsdC4INC+0L3QvtCy0LvQtdC90L3RjyDRgNC+0LfQtNGW0LvRgyAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0L7QvdC+0LLQu9C10L3QvdGPINGA0L7Qt9C00ZbQu9GW0LIgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVzOiDQvdC10LzQsNGUINGA0L7Qt9C00ZbQu9GDINC3INC90L7QvNC10YDQvtC8ICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXM6INGA0L7Qt9C80ZbRgCDRgNC+0LfQtNGW0LvRgyAlZCDQt9C80ZbQvdC10L3QvlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDQvtC90L7QstC70LXQvdC90Y8g0YDQvtC30LTRltC70YMgJWQg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSDRgdC10LrRgtC+0YAsICU2anUg0JzQkSlcbiIKK21zZ3N0clsxXSAiIyUyZDogJTlqdS0lOWp1ICglOWp1INGB0LXQutGC0L7RgNC4LCAlNmp1INCc0JEpXG4iCittc2dzdHJbMl0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSDRgdC10LrRgtC+0YDRltCyLCAlNmp1INCc0JEpXG4iCittc2dzdHJbM10gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSDRgdC10LrRgtC+0YAsICU2anUg0JzQkSlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30LzRltGB0YLQuNGC0Lgg0YHRgtC+0LLQv9GH0LjQuiDQstC40LLQtdC00LXQvdC90Y8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGW0L3RltGG0ZbQsNC70ZbQt9GD0LLQsNGC0Lgg0YTRltC70YzRgtGAINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0ZbQsiDQsdC70L7QutGW0LIg0LTQu9GPIMKrJXPCuyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczog0LLQuNGP0LLQu9C10L3QviDRgtC40L8g0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiDCqyVzwrtcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHdpdGggbm8gcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6INGC0LDQsdC70LjRhtGPINGA0L7Qt9C00ZbQu9GW0LIg0LHQtdC3INGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBbLWF8LWR8LXN8LXVdIFstLW5yIDxuOm0+IHwgPNGA0L7Qt9C00ZbQuz5dIDzQtNC40YHQuj5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICLQn9C+0LLRltC00L7QvNC40YLQuCDRj9C00YDQviDRidC+0LTQviDQvdCw0Y/QstC90L7RgdGC0ZYg0ZYg0L3Rg9C80LXRgNGD0LLQsNC90L3RjyDRgNC+0LfQtNGW0LvRltCyLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAg0LTQvtC00LDRgtC4INCy0LrQsNC30LDQvdGWINGA0L7Qt9C00ZbQu9C4INCw0LHQviDQstGB0ZYg0YDQvtC30LTRltC70LhcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1kLCAtLWRlbGV0ZSAgICAgICAgINCy0LjQu9GD0YfQuNGC0Lgg0LLQutCw0LfQsNC90ZYg0YDQvtC30LTRltC70Lgg0LDQsdC+INCy0YHRliDRgNC+0LfQtNGW0LvQuFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLXUsIC0tdXBkYXRlICAgICAgICAg0L7QvdC+0LLQuNGC0Lgg0LLQutCw0LfQsNC90ZYg0YDQvtC30LTRltC70Lgg0LDQsdC+INCy0YHRliDRgNC+0LfQtNGW0LvQuFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYzCittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YDQvtC30LTRltC70ZbQslxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwIHN5cy11dGlscy9sc21lbS5jOjUwNQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQoNCe0JfQnNCG0KAg0YMg0LHQsNC50YLQsNGFLCDQsCDQvdC1INGDINC30YDRg9GH0L3QvtC80YMg0LTQu9GPINGH0LjRgtCw0L3QvdGPINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIgLWcsIC0tbm9oZWFkaW5ncyAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrQuCDQtNC70Y8gLS1zaG93XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIC1uLCAtLW5yIDxuOm0+ICAgICAgINCy0LrQsNC30LDRgtC4INC00ZbQsNC/0LDQt9C+0L0g0YDQvtC30LTRltC70ZbQsiAo0L3QsNC/0YDQuNC60LvQsNC0LCAtLW5yIDI6NClcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPNGB0L/QuNGB0L7Quj4gINCy0LjQt9C90LDRh9C40YLQuCwg0Y/QutGWINGB0YLQvtCy0L/Rh9C40LrQuCDRgdC70ZbQtCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LTQu9GPINCy0LjQstC10LTQtdC90L3Rj1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU2IHN5cy11dGlscy9sc21lbS5jOjUwMworbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtUCwgLS1wYWlycyAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyDQutC70Y7Rhz1cItC30L3QsNGH0LXQvdC90Y9cIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU3IHN5cy11dGlscy9sc21lbS5jOjUwOAorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPINCx0LXQtyDQvtCx0YDQvtCx0LrQuFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCittc2dpZCAiIC1TLCAtLXNlY3Rvci1zaXplIDxudW0+ICBvdmVyd3JpdGUgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3Rvci1zaXplIDzRgNC+0LfQvNGW0YA+INC/0LXRgNC10LLQuNC30L3QsNGH0LjRgtC4INGA0L7Qt9C80ZbRgCDRgdC10LrRgtC+0YDQsFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcxCittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDzRgtC40L8+ICAgICDQstC60LDQt9Cw0YLQuCDRgtC40L8g0YDQvtC30LTRltC70YNcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MgorbXNnaWQgIiAgICAgLS1saXN0LXR5cGVzICAgICBsaXN0IHN1cHBvcnRlZCBwYXJ0aXRpb24gdHlwZXMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtdHlwZXMgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LjRhSDRgtC40L/RltCyINGA0L7Qt9C00ZbQu9GW0LIg0ZYg0LLQuNC50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzczIHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMDEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICDQtNC+0LrQu9Cw0LTQvdC40Lkg0YDQtdC20LjQvFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQtNGW0LDQv9Cw0LfQvtC9IC0tbnIgPE0tTj4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NDIKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgItC90LDQt9Cy0LAg0YDQvtC30LTRltC70YMg0ZYg0LTQuNGB0LrQsCDRlCDQvdC10LLRltC00L/QvtCy0ZbQtNC90LjQvNC4INC+0LTQvdCwINC+0LTQvdGW0LkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5yINGWIDzRgNC+0LfQtNGW0Ls+INC90LUg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0L7QtNC90L7Rh9Cw0YHQvdC+IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICLRgNC+0LfQtNGW0Ls6ICVzLCDQtNC40YHQujogJXMsINC90LjQttC90ZbQuTogJWQsINCy0LXRgNGF0L3RltC5OiAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LvRg9GH0LjRgtC4INGA0L7Qt9C00ZbQu9C4IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VzIHVuc3VwcG9ydGVkIgorbXNnc3RyICIlczog0L/RltC00YLRgNC40LzQutC4INC/0LXRgtC70YzQvtCy0LjRhSAobG9vcCkg0L/RgNC40YHRgtGA0L7Rl9CyLCDQv9C+0LTRltC70LXQvdC40YUg0L3QsCDRgNC+0LfQtNGW0LvQuCwg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INC30L7QvdC00YPQstCw0LvRjNC90LjQuiDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNGW0LIg0LHQu9C+0LrRltCyIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisiICUxJHMgJTIkc3Jhd04gPNC+0YHQvdC+0LLQvdC40Lk+IDzQtNGA0YPQs9C+0YDRj9C00L3QuNC5PlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPNCx0LvQvtC60L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICLQn9C+0LLigJnRj9C30LDRgtC4INC/0YDQvtGB0YLQuNC5INGB0LjQvNCy0L7Qu9GM0L3QuNC5INC/0YDQuNGB0YLRgNGW0Lkg0ZbQtyDQsdC70L7QutC+0LLQuNC8INC/0YDQuNGB0YLRgNC+0ZTQvC5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvNGWINC30LDQv9C40YLRg1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYxCittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg0L7Qv9C40YLQsNGC0Lgg0LLRgdGWINC90LXQvtCx0YDQvtCx0LvQtdC90ZYg0L/RgNC40YHRgtGA0L7Rl1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgItCf0YDQuNGB0YLRgNGW0Lkgwqslc8K7INC90LUg0LrQvtC90YLRgNC+0LvRjNC90LjQvCDQvdC10L7QsdGA0L7QsdC70LXQvdC40Lwg0L/RgNC40YHRgtGA0L7RlNC8ICjRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyByYXc8Tj4sINC00LUgPE4+INGUINCx0ZbQu9GM0YjQuNC8INC30LAg0L3Rg9C70YwpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDRgNC+0LfRgtCw0YjRg9Cy0LDQvdC90Y8g0LHQu9C+0LrQvtCy0L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4gwqslc8K7IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgItCf0YDQuNGB0YLRgNGW0Lkgwqslc8K7INC90LUg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INCw0YDQs9GD0LzQtdC90YIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuIG1hc3RlciByYXcgZGV2aWNlICclcyciCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDQvtGB0L3QvtCy0L3QuNC5INC90LXQvtCx0YDQvtCx0LvQtdC90LjQuSDQv9GA0LjRgdGC0YDRltC5IMKrJXPCuyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSByYXcgZGV2aWNlICclcyciCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INGA0L7Qt9GC0LDRiNGD0LLQsNC90L3RjyDQvdC10L7QsdGA0L7QsdC70LXQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIMKrJXPCuyIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgItCd0LXQvtCx0YDQvtCx0LvQtdC90LjQuSDQv9GA0LjRgdGC0YDRltC5IMKrJXPCuyDQvdC1INGUINGB0LjQvNCy0L7Qu9GM0L3QuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuSDCqyVzwrsg0L3QtSDRlCDQvdC10L7QsdGA0L7QsdC70LXQvdC40Lwg0L/RgNC40YHRgtGA0L7RlNC8IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgItCf0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0YHQv9GA0L7QsdC4INC+0L/QuNGC0YPQstCw0L3QvdGPINC90LXQvtCx0YDQvtCx0LvQtdC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU4IGRpc2stdXRpbHMvcmF3LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZDogINC/0YDQuNCyJ9GP0LfQsNGC0LjRgdGPINC00L4g0L7RgdC90L7QstC90L7Qs9C+ICVkLCDQtNC+0LTQsNGC0LrQvtCy0L7Qs9C+ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICLQn9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINGB0L/RgNC+0LHQuCDQvdCw0LvQsNGI0YLQvtCy0YPQstCw0L3QvdGPINC90LXQvtCx0YDQvtCx0LvQtdC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPNC00LjRgdC60L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuT4gPNC90L7QvNC10YAg0YDQvtC30LTRltC70YM+IDzQtNC+0LLQttC40L3QsD5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLQn9C+0LLRltC00L7QvNC40YLQuCDRj9C00YDQviDRidC+0LTQviDQvdC+0LLQvtCz0L4g0YDQvtC30LzRltGA0YMg0YDQvtC30LTRltC70YMuXG4iCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQt9C90LDRh9C10L3QvdGPINC/0L7Rh9Cw0YLQutGDINGA0L7Qt9C00ZbQu9GDINC3INC90L7QvNC10YDQvtC8ICVzIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTEKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDRgNC+0LfQvNGW0YDQuCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30LzRltGB0YLQuNGC0Lgg0LLQutC70LDQtNC10L3RliDQutC+0L3RgtC10LrRgdGC0L3RliDQtNCw0L3RliBsaWJmZGlzayIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQv9C+0LfQuNGG0ZbRjtCy0LDQvdC90Y8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTEycyAob2Zmc2V0ICU1anUsIHNpemUgJTVqdSk6ICVzIgorbXNnc3RyICIlMTJzICjQt9GB0YPQsiAlNWp1LCDRgNC+0LfQvNGW0YAgJTVqdSk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDRgNC10LfQtdGA0LLQvdGDINC60L7Qv9GW0Y4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDRhNCw0LnQuyDRgNC10LfQtdGA0LLQvdC+0Zcg0LrQvtC/0ZbRlywgJEhPTUUg0L3QtSDQstC40LfQvdCw0YfQtdC90L4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAi0KTQsNC50LvQuCDRgNC10LfQtdGA0LLQvdC40YUg0LrQvtC/0ZbQuToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INC90L7QstC40Lkg0YDQvtC30LTRltC7INGW0Lcg0L/RgNC40YHRgtGA0L7Rjjsg0ZbQs9C90L7RgNGD0ZTQvNC+IC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDRgNC+0LfQvNGW0YAg0L3QvtCy0L7Qs9C+INGA0L7Qt9C00ZbQu9GDOyDRltCz0L3QvtGA0YPRlNC80L4gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNCw0L3RliDRidC+0LTQviDQv9C+0YfQsNGC0LrRgyDQvdC+0LLQvtCz0L4g0YDQvtC30LTRltC70YM7INGW0LPQvdC+0YDRg9GU0LzQviAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODYKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0YDQvtC30LzRltGAINGB0YLQsNGA0L7Qs9C+INGA0L7Qt9C00ZbQu9GDOyDRltCz0L3QvtGA0YPRlNC80L4gLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNCw0L3RliDRidC+0LTQviDQv9C+0YfQsNGC0LrRgyDRgdGC0LDRgNC+0LPQviDRgNC+0LfQtNGW0LvRgzsg0ZbQs9C90L7RgNGD0ZTQvNC+IC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MAorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi0L/QvtGH0LDRgtC+0Log0YDQvtC30LTRltC70YMg0L3QtSDQsdGD0LvQviDQv9C10YDQtdGB0YPQvdGD0YLQvjsg0ZbQs9C90L7RgNGD0ZTQvNC+IC0tbW92ZS1kYXRhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAi0L3QvtCy0LjQuSDRgNC+0LfQtNGW0Lsg0ZQg0LzQtdC90YjQuNC8INC30LAg0L/QvtGH0LDRgtC60L7QstC40Lk7INGW0LPQvdC+0YDRg9GU0LzQviAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICLQn9C10YDQtdGB0YPQstCw0L3QvdGPINC00LDQvdC40YU6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiINGE0LDQudC7IHR5cGVzY3JpcHQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIg0YHRgtCw0YDQuNC5INC/0L7Rh9Cw0YLQvtC6OiAlanUsINC90L7QstC40Lkg0L/QvtGH0LDRgtC+0Lo6ICVqdSAo0L/QtdGA0LXRgdGD0LLQsNC90L3RjyAlanUg0YHQtdC60YLQvtGA0ZbQsilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAi0KXQvtGH0LXRgtC1INC/0LXRgNC10YHRg9C90YPRgtC4INC00LDQvdGWINGA0L7Qt9C00ZbQu9GDPyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgItCS0LjRhdC+0LTQuNC80L4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QtdGA0LXRgdGD0L3Rg9GC0Lgg0LTQsNC90ZYiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQyCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgItCi0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0L3QtSDQt9C80ZbQvdC10L3QviAoLS1uby1hY3QpLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDgKK21zZ2lkICIiCisiXG4iCisiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorIlxuIgorItCi0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0LHRg9C70L4g0LfQvNGW0L3QtdC90L4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBsYWJlbCAnJXMnIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdCwINC80ZbRgtC60LAsIMKrJXPCuyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzQKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCG0LTQtdC90YLQuNGELiDQndCw0LfQstCwXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YLQuNC/INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAi0LfQsNCz0LDQu9C+0Lw6ICVqdSDQsdC70L7QutGW0LJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4OTQgZGlzay11dGlscy9zZmRpc2suYzo5MzUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzMiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwOTYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMDcgZGlzay11dGlscy9zZmRpc2suYzoxNTYxCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+INC/0YDQuNGB0YLRgNC+0Y4g0LTQuNGB0LrQsCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QtdGA0LXQvNC60L3Rg9GC0LjRgdGPINC90LAgUE1CUiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvciBQTUJSIG9ubHkiCittc2dzdHIgItC/0LXRgNC10LzQuNC60LDQvdC90Y8g0L/RgNCw0L/QvtGA0YbRltCyINC30LDQstCw0L3RgtCw0LbQtdC90L3RjyDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC70LjRiNC1INC00LvRjyBNQlIg0LDQsdC+IFBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC90L7QvNC10YAg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6INGA0L7Qt9C00ZbQuyAlZDog0L3QtSDQstC00LDQu9C+0YHRjyDQv9C10YDQtdC80LrQvdGD0YLQuCDRhNCw0LnQuyDQv9GA0LjQtNCw0YLQvdC+0YHRgtGWINC00L4g0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiJXM6INGA0L7Qt9C00ZbQuyAlenU6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC70YPRh9C40YLQuCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6INC/0YDQuNGB0YLRgNGW0Lkg0L3QtSDQvNGW0YHRgtC40YLRjCDRgNC+0LfQv9GW0LfQvdCw0L3QvtGXINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0L/QsNC84oCZ0Y/RgtGMINC00LvRjyDRgdGC0YDRg9C60YLRg9GA0Lgg0LTQsNC80L/RgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDQtNCw0LzQvyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6INC90LUg0LfQvdCw0LnQtNC10L3QviDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0YLQsNCx0LvQuNGG0Y8g0YDQvtC30LTRltC70ZbQsiDQvNGW0YHRgtC40YLRjCDQu9C40YjQtSAlenUg0YDQvtC30LTRltC70ZbQsiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0YDQvtC30LTRltC7INC90LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQvdC+0LzQtdGAINGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNDIgZGlzay11dGlscy9zZmRpc2suYzoxMTA2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE2MQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjE3Cittc2dpZCAidW5leHBlY3RlZCBhcmd1bWVudHMiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90ZYg0LDRgNCz0YPQvNC10L3RgtC4IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiDRgNC+0LfQtNGW0LsgJXp1OiDQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0YLQuNC/INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgtC40L8g0YDQvtC30LTRltC70YMgJXMgwqslc8K7IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiDRgNC+0LfQtNGW0LsgJXp1OiDQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGC0LjQvyDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4IFVVSUQg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQv9Cw0LzigJnRj9GC0Ywg0L/RltC0INC+0LHigJnRlNC60YIg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXM6INGA0L7Qt9C00ZbQuyAlenU6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0LggVVVJRCDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC90LDQt9Cy0YMg0YDQvtC30LTRltC70YMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6INGA0L7Qt9C00ZbQuyAlenU6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L3QsNC30LLRgyDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczog0YDQvtC30LTRltC7ICV6dTog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQsNGC0YDQuNCx0YPRgtC4INGA0L7Qt9C00ZbQu9GDIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODcKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiDQmtC+0LzQsNC90LTQuDpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICDQt9Cw0L/QuNGB0LDRgtC4INGC0LDQsdC70LjRhtGOINC90LAg0LTQuNGB0Log0ZYg0LLQuNC50YLQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIgICBxdWl0ICAgICBzaG93IG5ldyBzaXR1YXRpb24gYW5kIHdhaXQgZm9yIHVzZXIncyBmZWVkYmFjayBiZWZvcmUgd3JpdGVcbiIKK21zZ3N0ciAiICAgcXVpdCAgICAg0L/QvtC60LDQt9Cw0YLQuCDQvdC+0LLRgyDRgdC40YLRg9Cw0YbRltGOINGWINC30LDRh9C10LrQsNGC0Lgg0L3QsCDQstGW0LTQv9C+0LLRltC00Ywg0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDQtNC+INCy0LjQutC+0L3QsNC90L3RjyDQt9Cw0L/QuNGB0YNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAg0LLQuNC50YLQuCDRltC3INC+0LHQvtC70L7QvdC60Lggc2ZkaXNrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICDQstC40LLQtdGB0YLQuCDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MworbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiICAgaGVscCAgICAg0L/QvtC60LDQt9Cw0YLQuCDRhtC10Lkg0YLQtdC60YHRgiDQtNC+0LLRltC00LrQuFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTUKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiICAgQ3RybC1EICAg0YLQtSDRgdCw0LzQtSwg0YnQviDRliDQutC+0LzQsNC90LTQsCDCq3F1aXTCu1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTkKK21zZ2lkICIgSW5wdXQgZm9ybWF0OlxuIgorbXNnc3RyICIg0JLRhdGW0LTQvdC40Lkg0YTQvtGA0LzQsNGCOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA80L/QvtGH0LDRgtC+0Lo+LCA8c9GA0L7Qt9C80ZbRgD4sIDzRgtC40L8+LCA80LfQsNCy0LDQvdGC0LDQttGD0LLQsNC90ZbRgdGC0Yw+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA80L/QvtGH0LDRgtC+0Lo+INC/0L7Rh9Cw0YLQvtC6INGA0L7Qt9C00ZbQu9GDINGDINGB0LXQutGC0L7RgNCw0YUg0LDQsdC+INCx0LDQudGC0LDRhSwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0YMg0YTQvtGA0LzQsNGC0ZZcbiIKKyIgICAgICAgICAgICA80YfQuNGB0LvQvj57SyxNLEcsVCxQLEUsWixZfS4g0KLQuNC/0L7QstC+INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINGD0LLQtdGB0YxcbiIKKyIgICAgICAgICAgICDQtNC+0YHRgtGD0L/QvdC40Lkg0LLRltC70YzQvdC40Lkg0L/RgNC+0YHRgtGW0YAuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorbXNnaWQgIiIKKyIgICA8c2l6ZT4gICBTaXplIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIGFsbCBhdmFpbGFibGUgc3BhY2UuXG4iCittc2dzdHIgIiIKKyIgICA80YDQvtC30LzRltGAPiDRgNC+0LfQvNGW0YAg0YDQvtC30LTRltC70YMg0YMg0YHQtdC60YLQvtGA0LDRhSwg0Y/QutGJ0L4g0LLQutCw0LfQsNC90L4g0YMg0YTQvtGA0LzQsNGC0ZZcbiIKKyIgICAgICAgICAgICA80YDQvtC30LzRltGAPntLLE0sRyxULFAsRSxaLFl9LCDQvtCx0YDQvtCx0LvRj9GU0YLRjNGB0Y8g0Y/QuiDRgNC+0LfQvNGW0YBcbiIKKyIgICAgICAgICAgICDRgyDQsdCw0LnRgtCw0YUuINCi0LjQv9C+0LLQviDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyDRg9Cy0LXRgdGMINC00L7RgdGC0YPQv9C90LjQuSDQv9GA0L7RgdGC0ZbRgC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE0Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA80YLQuNC/PiAgICDRgtC40L8g0YDQvtC30LTRltC70YMuINCi0LjQv9C+0LLQuNC8INGUINGA0L7Qt9C00ZbQuyDQtNCw0L3QuNGFIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTUKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYLFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgTUJSOiDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstC1INGH0LjRgdC70L4g0LDQsdC+INGB0LrQvtGA0L7Rh9C10L3QvdGPIEwsUyxFLFgsVSxSLFYuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNgorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogVVVJRCDQsNCx0L4g0YHQutC+0YDQvtGH0LXQvdC90Y8gTCxTLEgsVSxSLFYuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA80LfQsNCy0LDQvdGC0LDQttGD0LLQsNC90ZbRgdGC0Yw+IMKrKsK7LCDRidC+0LEg0L/QvtC30L3QsNGH0LjRgtC4INGA0L7Qt9C00ZbQuyBNQlIg0Y/QuiDQv9GA0LjQtNCw0YLQvdC40Lkg0LTQviDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyMworbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIg0J/RgNC40LrQu9Cw0LQ6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyNQorbXNnaWQgIiAgICwgNEcgICAgIENyZWF0ZXMgYSA0R2lCIHBhcnRpdGlvbiBhdCBkZWZhdWx0IHN0YXJ0IG9mZnNldC5cbiIKK21zZ3N0ciAiICAgLCA0RyAgICAg0YHRgtCy0L7RgNC40YLQuCDRgNC+0LfQtNGW0Lsg0YMgNCDQk9GW0JEg0Lcg0YLQuNC/0L7QstC40Lwg0LfRgdGD0LLQvtC8INC/0L7Rh9Cw0YLQutGDLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzNTcgc3lzLXV0aWxzL2RtZXNnLmM6MTUzOQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LAg0LrQvtC80LDQvdC00LAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLRgNGP0LTQvtC6ICVkOiDQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdCwINC60L7QvNCw0L3QtNCwIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3Igc2ZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgItCd0LAg0L/RgNC40YHRgtGA0L7RlyDQvNC+0LbQtSDQt9Cw0LvQuNGI0LjRgtC40YHRjyDRgdGC0LDRgNC40Lkg0L/RltC00L/QuNGBICVzLiDQoNC10LrQvtC80LXQvdC00YPRlNC80L4g0LLQuNGC0LXRgNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiB3aXBlZnMoOCkg0LDQsdC+IHNmZGlzayAtLXdpcGUg0Lcg0LzQtdGC0L7RjiDRg9C90LjQutC90LXQvdC90Y8g0LzQvtC20LvQuNCy0LjRhSDQvdC10LPQsNGA0LDQt9C00ZbQsi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUyOAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC/0LDQvOKAmdGP0YLRjCDQv9GW0LQg0L3QsNC30LLRgyDRgNC+0LfQtNGW0LvRgyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0L/QsNC84oCZ0Y/RgtGMINC/0ZbQtCDQvtCx0YDQvtCx0LrQuCDRgdC60YDQuNC/0YLRltCyIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBubyBwYXJ0aXRpb24gdGFibGUgd2FzIGZvdW5kIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstC90LXRgdGC0Lgg0LfQvNGW0L3QuCDQtNC+INGA0L7Qt9C00ZbQu9GDICVkLCDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyINC90LUg0LfQvdCw0LnQtNC10L3QviIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0L3QtdGB0YLQuCDQt9C80ZbQvdC4INC00L4g0YDQvtC30LTRltC70YMgJWQsINGC0LDQsdC70LjRhtGPINGA0L7Qt9C00ZbQu9GW0LIg0LzRltGB0YLQuNGC0Ywg0LvQuNGI0LUgJXp1INGA0L7Qt9C00ZbQu9GW0LIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiAlczog0YDQvtC30LTRltC7ICVkINGJ0LUg0L3QtSDQstC40LfQvdCw0YfQtdC90L4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyLQktGW0YLQsNGU0LzQviDRgyBzZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICLQn9C10YDQtdCy0ZbRgNGP0ZTQvNC+LCDRh9C4INC90LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUINC00LjRgdC6INGP0LrQsNGB0Ywg0L/RgNC+0LPRgNCw0LzQsC4uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI1Cittc2dpZCAiIgorIiBGQUlMRURcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiDQn9Ce0JzQmNCb0JrQkFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorItCm0LXQuSDQtNC40YHQuiDQvdCw0YDQsNC30ZYg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8gLSDQt9C80ZbQvdCwINGA0L7Qt9C00ZbQu9GW0LIsINC80L7QttC70LjQstC+LCDQv9C+0LPQsNC90LAg0ZbQtNC10Y8uXG4iCisi0JTQtdC80L7QvdGC0YPQudGC0LUg0LLRgdGWINGE0LDQudC70L7QstGWINGB0LjRgdGC0LXQvNC4LCDRgtCwINCy0ZbQtNC60LvRjtGH0ZbRgtGMINCy0YHRliDRgNC+0LfQtNGW0LvQuCDRgdCy0L7Qv9GW0L3Qs9GDINC90LAg0YbRjNC+0LzRgyDQtNC40YHQutGDLlxuIgorItCS0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUg0L/QsNGA0LDQvNC10YLRgCAtLW5vLXJlcmVhZCDRidC+0LEg0L7QsdC80LjQvdGD0YLQuCDRhtGOINC/0LXRgNC10LLRltGA0LrRgy5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUg0L/QsNGA0LDQvNC10YLRgCAtLWZvcmNlLCDRidC+0LEg0LLRltC00YXQuNC70LjRgtC4INCy0YHRliDQv9C10YDQtdCy0ZbRgNC60LguIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIg0JLQmNCa0J7QndCQ0J3QnlxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NDcKK21zZ2lkICIiCisiXG4iCisiT2xkIHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyLQn9C+0L/QtdGA0LXQtNC90ZbQuSDRgdGC0LDQvToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorIlxuIgorInNmZGlzayDRgdC/0YDQvtCx0YPRlCDRgdGC0LLQvtGA0LjRgtC4INC00LjRgdC60L7QstGDINC80ZbRgtC60YMgwqslc8K7LlxuIgorItCh0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPINC60L7QvNCw0L3QtNC+0Y4gwqtsYWJlbDogPNC90LDQt9Cy0LA+wrssINC/0LXRgNGIINC90ZbQtiDQstC40LfQvdCw0YfQsNGC0LhcbiIKKyLQv9C10YDRiNC40Lkg0YDQvtC30LTRltC7LCDRidC+0LEg0L/QtdGA0LXQstC40LfQvdCw0YfQuNGC0Lgg0YLQuNC/0L7QstGDINC80ZbRgtC60YMuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQktCy0LXQtNGW0YLRjCDQutC+0LzQsNC90LTRgyDCq2hlbHDCuywg0YnQvtCxINC+0YLRgNC40LzQsNGC0Lgg0LHRltC70YzRiNC1INGW0L3RhNC+0YDQvNCw0YbRltGXLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2ODYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyB1c2VkLiIKK21zZ3N0ciAi0JLQuNC60L7RgNC40YHRgtCw0L3QviDRg9GB0ZYg0YDQvtC30LTRltC70LguIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MTQKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICLQktC40LrQvtC90LDQvdC+LlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MjYKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICLQhtCz0L3QvtGA0YPRlNC80L4g0YDQvtC30LTRltC7LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzM1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5NQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNGB0YLQvtGB0YPQstCw0YLQuCDQt9Cw0LPQvtC70L7QstC60Lgg0YHQutGA0LjQv9GC0YMsINC00LjRgdC60L7QstGDINC80ZbRgtC60YMg0L3QtSDRgdGC0LLQvtGA0LXQvdC+LiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQtNC+0LTQsNGC0Lgg0YDQvtC30LTRltC7ICVkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAi0JfQsNCz0L7Qu9C+0LLQvtC6INGB0LrRgNC40L/RgtGDINC/0YDQuNC50L3Rj9GC0L4uIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKK21zZ2lkICIiCisiXG4iCisiTmV3IHNpdHVhdGlvbjoiCittc2dzdHIgIiIKKyJcbiIKKyLQndC+0LLQuNC5INGB0YLQsNC9OiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAi0KXQvtGH0LXRgtC1INC30LDQv9C40YHQsNGC0Lgg0YbQtSDQvdCwINC00LjRgdC6PyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAi0JLQuNGF0L7QtNC40LzQvi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQtNC40YHQuj4gW1stTl0gPNGA0L7Qt9C00ZbQuz5dXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC60L7QvNCw0L3QtNCwPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIChQKU1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtQSwgLS1hY3RpdmF0ZSA80L/RgNC40YHRgtGA0ZbQuT4gWzzRgNC+0LfQtNGW0Ls+IC4uLl0g0L/QvtC60LDQt9Cw0YLQuCDRgdC/0LjRgdC+0Log0LDQsdC+INCy0YHRgtCw0L3QvtCy0LjRgtC4INC30LDQstCw0L3RgtCw0LbRg9Cy0LDQvdGW0YHRgtGMINC00LvRjyDRgNC+0LfQtNGW0LvRltCyIChQKU1CUlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA80L/RgNC40YHRgtGA0ZbQuT4gICAgICAgICAgICAg0YHRgtCy0L7RgNC40YLQuCDQtNCw0LzQvyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyICjQv9GA0LjQtNCw0YLQvdC40Lkg0LTQu9GPINC90LDRgdGC0YPQv9C90L7Qs9C+INC/0LXRgNC10LTQsNCy0LDQvdC90Y8g0ZbQvdGI0LjQvCDQv9GA0L7Qs9GA0LDQvNCw0LwpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gPNC/0YDQuNGB0YLRgNGW0Lk+ICAgICAgICAgICAgINGB0YLQstC+0YDQuNGC0Lgg0LTQsNC80L8g0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiDRgyDRhNC+0YDQvNCw0YLRliBKU09OXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzzQv9GA0LjRgdGC0YDRltC5PiAuLi5dICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INCz0LXQvtC80LXRgtGA0ZbRlyDRg9GB0ZbRhSDQv9GA0LjRgdGC0YDQvtGX0LIg0LDQsdC+INCy0LrQsNC30LDQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs80L/RgNC40YHRgtGA0ZbQuT4gLi4uXSAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0YDQvtC30LTRltC70ZbQsiDRg9GB0ZbRhSDQv9GA0LjRgdGC0YDQvtGX0LIg0LDQsdC+INCy0LrQsNC30LDQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1GLCAtLWxpc3QtZnJlZSBbPNC/0YDQuNGB0YLRgNGW0Lk+IC4uLl0gINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQvdC10YDQvtC30L/QvtC00ZbQu9C10L3QuNGFINCy0ZbQu9GM0L3QuNGFINC+0LHQu9Cw0YHRgtC10Lkg0LrQvtC20L3QvtCz0L4g0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtciwgLS1yZW9yZGVyIDzQv9GA0LjRgdGC0YDRltC5PiAgICAgICAgICDQstC40L/RgNCw0LLQuNGC0Lgg0L/QvtGA0Y/QtNC+0Log0YDQvtC30LTRltC70ZbQsiAo0LfQsCDQv9C+0YfQsNGC0LrQvtCy0LjQvCDQt9GB0YPQstC+0LwpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNob3ctc2l6ZSBbPNC/0YDQuNGB0YLRgNGW0Lk+IC4uLl0gINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRgNC+0LfQvNGW0YDRltCyINGD0YHRltGFINC/0YDQuNGB0YLRgNC+0ZfQsiDQsNCx0L4g0LLQutCw0LfQsNC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU0Cittc2dpZCAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmVjb2duaXplZCB0eXBlcyAoc2VlIC1YKVxuIgorbXNnc3RyICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGA0L7Qt9C/0ZbQt9C90LDQvdGWINGC0LjQv9C4ICjQtNC40LIuIC1YKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyaWZ5IFs80L/RgNC40YHRgtGA0ZbQuT4gLi4uXSAgICAg0L/QtdGA0LXQstGW0YDQuNGC0LgsINGH0Lgg0ZQg0LrQvtGA0LXQutGC0L3QuNC80Lgg0YDQvtC30LTRltC70LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAgICAgLS1kZWxldGUgPNC/0YDQuNGB0YLRgD4gWzzRgNC+0LfQtD4gLi4uXSDQstC40LvRg9GH0LjRgtC4INGD0YHRliDQsNCx0L4g0LLQutCw0LfQsNC90ZYg0YDQvtC30LTRltC70LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiAtLXBhcnQtbGFiZWwgPNC/0YDQuNGB0YLRgNGW0Lk+IDzRgNC+0LfQtNGW0Ls+IFs80YDRj9C00L7Quj5dINCy0LjQstC10YHRgtC4INCw0LHQviDQt9C80ZbQvdC40YLQuCDQvNGW0YLQutGDINGA0L7Qt9C00ZbQu9GDXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtLXBhcnQtdHlwZSA80L/RgNC40YHRgtGA0ZbQuT4gPNGA0L7Qt9C00ZbQuz4gWzzRgtC40L8+XSDQstC40LLQtdGB0YLQuCDQsNCx0L4g0LfQvNGW0L3QuNGC0Lgg0YLQuNC/INGA0L7Qt9C00ZbQu9GDXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAtLXBhcnQtdXVpZCA80L/RgNC40YHRgtGA0ZbQuT4gPNGA0L7Qt9C00ZbQuz4gWzx1dWlkPl0g0LLQuNCy0LXRgdGC0Lgg0LDQsdC+INC30LzRltC90LjRgtC4IHV1aWQg0YDQvtC30LTRltC70YNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIC0tcGFydC1hdHRycyA80L/RgNC40YHRgtGA0ZbQuT4gPNGA0L7Qt9C00ZbQuz4gWzzRgNGP0LTQvtC6Pl0g0LLQuNCy0LXRgdGC0Lgg0LDQsdC+INC30LzRltC90LjRgtC4INCw0YLRgNC40LHRg9GC0Lgg0YDQvtC30LTRltC70YNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY1Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIDzQv9GA0LjRgdGC0YDRltC5PiAgICAgICAgICAgICAgICDRiNC70Y/RhSDQtNC+INC/0YDQuNGB0YLRgNC+0Y4gKNC30LDQt9Cy0LjRh9Cw0LksINC00LjRgdC60LApXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDzRgNC+0LfQtNGW0Ls+ICAgICAgICAgICAgICAgICAg0L3QvtC80LXRgCDRgNC+0LfQtNGW0LvRg1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIgPNGC0LjQvz4gICAgICAgICAgICAgICAgICAgICDRgtC40L8g0YDQvtC30LTRltC70YMsIEdVSUQg0LTQu9GPIEdQVCwg0YjRltGB0YLQvdCw0LTRhtGP0YLQutC+0LLQtSDRh9C40YHQu9C+INC00LvRjyBNQlJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgINC00L7Qv9C40YHQsNGC0Lgg0YDQvtC30LTRltC70Lgg0LTQviDQvdCw0Y/QstC90L7RlyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INGA0LXQt9C10YDQstC90YMg0LrQvtC/0ZbRjiDRgdC10LrRgtC+0YDRltCyINGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIgKNC00LjQsi4gLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INCg0J7Ql9Cc0IbQoCDRgyDQsdCw0LnRgtCw0YUsINCwINC90LUg0YMg0LfRgNGD0YfQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YTQvtGA0LzQsNGC0ZZcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODczCittc2dpZCAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gKHJlcXVpcmVzIC1OKVxuIgorbXNnc3RyICIgICAgIC0tbW92ZS1kYXRhWz080LzQsNGI0LjQvdC+0L/QuNGBPl0g0L/QtdGA0LXRgdGD0L3Rg9GC0Lgg0LTQsNC90ZYg0YDQvtC30LTRltC70YMg0L/RltGB0LvRjyDQv9C10YDQtdC80ZbRidC10L3QvdGPICjQv9C+0YLRgNC10LHRg9GUIC1OKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDQstC40LzQutC90YPRgtC4INGD0YHRliDQv9C10YDQtdCy0ZbRgNC60Lgg0YbRltC70ZbRgdC90L7RgdGC0ZZcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgICAgLS1jb2xvcls9PNGD0LzQvtCy0LA+XSAgINGA0L7Qt9GE0LDRgNCx0L7QstGD0LLQsNC90L3RjyDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhSAoYXV0byAo0LDQstGC0L4pLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyAo0LfQsNCy0LbQtNC4KSDQsNCx0L4gbmV2ZXIgKNC90ZbQutC+0LvQuCkpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLU4sIC0tcGFydG5vIDzRh9C40YHQu9C+PiAgICAgINCy0LrQsNC30LDRgtC4INC90L7QvNC10YAg0YDQvtC30LTRltC70YNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgd3JpdGUgdG8gZGV2aWNlXG4iCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgINCy0LjQutC+0L3Rg9Cy0LDRgtC4INGD0YHRliDQtNGW0ZcsINC+0LrRgNGW0Lwg0LfQsNC/0LjRgdGDINC90LAg0L/RgNC40YHRgtGA0ZbQuVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICDQvdC1INC/0LXRgNC10LLRltGA0Y/RgtC4LCDRh9C4INC/0LXRgNC10LHRg9Cy0LDRlCDQv9GA0LjRgdGC0YDRltC5INGDINC60L7RgNC40YHRgtGD0LLQsNC90L3RllxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICDQvdC1INC/0L7QstGW0LTQvtC80LvRj9GC0Lgg0Y/QtNGA0YMg0L/RgNC+INC30LzRltC90LhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiAtTywgLS1iYWNrdXAtZmlsZSA80YjQu9GP0YU+ICDQv9C10YDQtdCy0LjQt9C90LDRh9C40YLQuCDRgtC40L/QvtCy0YMg0L3QsNC30LLRgyDRhNCw0LnQu9CwINGA0LXQt9C10YDQstC90L7RlyDQutC+0L/RltGXXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPNGB0L/QuNGB0L7Quj4gICAgINGB0YLQvtCy0L/Rh9C40LrQuCDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBzdXBwcmVzcyBleHRyYSBpbmZvIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgINC/0YDQuNC00YPRiNC40YLQuCDQtNC+0LTQsNGC0LrQvtCy0ZYg0ZbQvdGE0L7RgNC80LDRhtGW0LnQvdGWINC/0L7QstGW0LTQvtC80LvQtdC90L3Rj1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC13LCAtLXdpcGUgPNGA0LXQttC40Lw+ICAgICAgICDRgNC10LbQuNC8INCy0LjRgtC40YDQsNC90L3RjyDQv9GW0LTQv9C40YHRltCyIChhdXRvICjQsNCy0YLQviksIGFsd2F5cyAo0LfQsNCy0LbQtNC4KSDQsNCx0L4gbmV2ZXIgKNC90ZbQutC+0LvQuCkpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDzQvdCw0LfQstCwPiAgICAgICDQstC60LDQt9Cw0YLQuCDRgtC40L8g0LzRltGC0LrQuCAoZG9zLCBncHQsIC4uLilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg4Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPNC90LDQt9Cy0LA+INCy0LrQsNC30LDRgtC4INGC0LjQvyDQstC60LvQsNC00LXQvdC+0Zcg0LzRltGC0LrQuCAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICDQt9Cw0YHRgtCw0YDRltC70LjQuSwg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90LjQuSDQstCw0YDRltCw0L3RgiAtLXNob3ctZ2VvbWV0cnlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkxCittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgLUwsIC0tTGludXggICAgICAgICAgICAgICDQt9Cw0YHRgtCw0YDRltC70LjQuSwg0LvQuNGI0LUg0LTQu9GPINC30LLQvtGA0L7RgtC90L7RlyDRgdGD0LzRltGB0L3QvtGB0YLRllxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICDQt9Cw0YHRgtCw0YDRltC70LjQuSwg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQv9GW0LTRgtGA0LjQvNC60YMg0LvQuNGI0LUg0L7QtNC40L3QuNGG0ZYg0YHQtdC60YLQvtGA0ZbQslxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIiVzINCy0LLQsNC20LDRlNGC0YzRgdGPINC30LDRgdGC0LDRgNGW0LvQuNC8LCDRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyDQutGA0LDRidC1IC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGAIC0taWQg0ZQg0LfQsNGB0YLQsNGA0ZbQu9C40LwsINGB0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPINC60YDQsNGJ0LUgLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICLQn9GW0LTRgtGA0LjQvNC60YMgLS1zaG93LXB0LWdlb21ldHJ5INGDINC/0L7RgtC+0YfQvdGW0Lkg0LLQtdGA0YHRltGXINC/0YDQuNC/0LjQvdC10L3Qvi4g0JLQuNC60L7RgNC40YHRgtC+0LLRg9GU0LzQviAtLXNob3ctZ2VvbWV0cnkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgCAtLUxpbnV4INGUINC90LXQvtCx0L7QsuKAmdGP0LfQutC+0LLQuNC8INGWINCy0LLQsNC20LDRlNGC0YzRgdGPINC30LDRgdGC0LDRgNGW0LvQuNC8IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdCwINC+0LTQuNC90LjRhtGPLCDCqyVjwrsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3NSBpbmNsdWRlL2MuaDozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlc1xuIgorbXNnc3RyICIlcyDQtyAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxNTIKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICItLW1vdmVkYXRhINC/0L7RgtGA0LXQsdGD0ZQgLU4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggVVVJRDogJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/QvtC30LjRhtGW0Y4g0LTQviBVVUlEINGB0LLQvtC/0ZbQvdCz0YMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4IFVVSUQiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgbGFiZWwgIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQv9C+0LfQuNGG0ZbRjiDQvdCwINC80ZbRgtC60YMg0YHQstC+0L/RltC90LPRgyAiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgImxhYmVsIGlzIHRvbyBsb25nLiBUcnVuY2F0aW5nIGl0IHRvICclcyciCittc2dzdHIgItC80ZbRgtC60LAg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C+0Y4uINCH0Zcg0LHRg9C00LUg0L7QsdGA0ZbQt9Cw0L3QviDQtNC+ICclcyciCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LzRltGC0LrRgyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjcKK21zZ2lkICJEaXNwbGF5IG9yIGNoYW5nZSB0aGUgbGFiZWwgb3IgVVVJRCBvZiBhIHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDQsNCx0L4g0LfQvNGW0L3QuNGC0Lgg0LzRltGC0LrRgyDQsNCx0L4gVVVJRCDQvtCx0LvQsNGB0YLRliDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPNC80ZbRgtC60LA+INCy0LrQsNC30LDRgtC4INC90L7QstGDINC80ZbRgtC60YNcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICDQstC60LDQt9Cw0YLQuCDQvdC+0LLQuNC5IHV1aWRcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgItGW0LPQvdC+0YDRg9Cy0LDRgtC4IC1VIChVVUlEINC90LUg0L/RltC00YLRgNC40LzRg9GO0YLRjNGB0Y8pIgorCisjOiBpbmNsdWRlL2MuaDoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5ICclcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLQktGW0LTQtNCw0LnRgtC1INC60L7QvNCw0L3QtNGDIMKrJXMgLS1oZWxwwrssINGJ0L7QsSDQtNGW0LfQvdCw0YLQuNGB0Y8g0LHRltC70YzRiNC1LlxuIgorCisjOiBpbmNsdWRlL2MuaDozMTgKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQmtC+0YDQuNGB0YLRg9Cy0LDQvdC90Y86XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjAKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KTRg9C90LrRhtGW0Zc6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCa0L7QvNCw0L3QtNC4OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjIKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtGB0YLRg9C/0L3RliDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPINGB0YLQvtCy0L/Rh9C40LrQuDpcbiIKKworIzogaW5jbHVkZS9jLmg6MzI1Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgItC/0L7QutCw0LfQsNGC0Lgg0YbQtSDQtNC+0LLRltC00LrQvtCy0LUg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPIgorCisjOiBpbmNsdWRlL2MuaDozMjYKK21zZ2lkICJkaXNwbGF5IHZlcnNpb24iCittc2dzdHIgItC/0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LLQtdGA0YHRltGXIgorCisjOiBpbmNsdWRlL2MuaDozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkZvciBtb3JlIGRldGFpbHMgc2VlICVzLlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtC60LvQsNC00L3RltGI0ZYg0LLRltC00L7QvNC+0YHRgtGWINC80L7QttC90LAg0L7RgtGA0LjQvNCw0YLQuCDQtyDQtNC+0LrRg9C80LXQvdGC0LDRhtGW0Zcg0LTQviAlcy5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LfQsNC/0LjRgdGDIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgItGC0LjQv9C+0LLQviwg0YDQvtC30YTQsNGA0LHQvtCy0YPQstCw0L3QvdGPINGD0LLRltC80LrQvdC10L3QviIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAi0YLQuNC/0L7QstC+LCDRgNC+0LfRhNCw0YDQsdC+0LLRg9Cy0LDQvdC90Y8g0LLQuNC80LrQvdC10L3QviIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDI2CisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMzAgdGVybS11dGlscy9hZ2V0dHkuYzoxMTY5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC30LzRltC90L3RgyDRgdC10YDQtdC00L7QstC40YnQsCAlcyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXR1YWxseSBleGNsdXNpdmUgYXJndW1lbnRzOiIKK21zZ3N0ciAiJXM6INCy0LfQsNGU0LzQvtCy0LjQutC70Y7Rh9C90ZYg0LDRgNCz0YPQvNC10L3RgtC4OiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICLQn9C+0YDQvtC20L0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIkV4dGVuZGVkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3Cittc2dpZCAiRkFUMTYiCittc2dzdHIgIkZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICJIUEZTL05URlMvZXhGQVQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIkFJWCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIkFJWCBib290YWJsZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiBCb290IE1hbmFnZXIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgRXh0J2QgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIkhpZGRlbiBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSBkaWFnbm9zdGljcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiSGlkZGVuIEZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIwCittc2dpZCAiSGlkZGVuIEZBVDE2IgorbXNnc3RyICJIaWRkZW4gRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiSGlkZGVuIEhQRlMvTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiQVNUIFNtYXJ0U2xlZXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAiSGlkZGVuIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiSGlkZGVuIE5URlMgV2luUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJQUEMgUFJlUCBCb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMgorbXNnaWQgIlNGUyIKK21zZ3N0ciAiU0ZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMworbXNnaWQgIlFOWDQueCIKK21zZ3N0ciAiUU5YNC54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNAorbXNnaWQgIlFOWDQueCAybmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDJuZCBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IDNyZCBwYXJ0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIG9yIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiT2xkICBNaW5peCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiTWluaXggLyBvbGQgTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUyCittc2dpZCAiTGludXggc3dhcCAvIFNvbGFyaXMiCittc2dzdHIgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAi0J/RgNC40YXQvtCy0LDQvdC40LkgT1MvMiDQsNCx0L4g0YDQvtC30LTRltC7INC00LvRjyDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPIEludGVsIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCBleHRlbmRlZCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMgdm9sdW1lIHNldCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IHBsYWludGV4dCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4gYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzIKK21zZ2lkICJIRlMgLyBIRlMrIgorbXNnc3RyICJIRlMgLyBIRlMrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MworbXNnaWQgIkJTREkgZnMiCittc2dzdHIgIkJTREkgZnMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICJCU0RJIHN3YXAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICJCb290IFdpemFyZCBoaWRkZW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIkFjcm9uaXMgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40LkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAi0J3QtS3QpNChINC00LDQvdGWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAvIC4uLiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODYKK21zZ2lkICJEZWxsIFV0aWxpdHkiCittc2dzdHIgIkRlbGwgVXRpbGl0eSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1MgYWNjZXNzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICLQktC40YDRltCy0L3RjtCy0LDQvdC90Y8gUnVmdXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0MgYm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAwCittc2dpZCAiRE9TIHNlY29uZGFyeSIKK21zZ3N0ciAiRE9TIHNlY29uZGFyeSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk1GUyBWTXdhcmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTUtDT1JFIFZNd2FyZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlcyBpcyBtaXNhbGlnbmVkIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC/0L7QvNC40LvQutC+0LLQtSDQstC40YDRltCy0L3RjtCy0LDQvdC90Y8gJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICLQktC40LHRgNCw0L3QuNC5INGA0L7Qt9C00ZbQuyAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICLQqdC1INC90LUg0LLQuNC30L3QsNGH0LXQvdC+INC20L7QtNC90L7Qs9C+INGA0L7Qt9C00ZbQu9GDISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgItCd0LXQvNCw0ZQg0LLRltC70YzQvdC40YUg0YDQvtC30LTRltC70ZbQsiEiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo1MDUKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLQndC+0LzQtdGAINGA0L7Qt9C00ZbQu9GDIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICLQodGC0LLQvtGA0LXQvdC+INC90L7QstC40Lkg0YDQvtC30LTRltC7ICVkINGC0LjQv9GDIMKrJXPCuywg0YDQvtC30LzRltGAIC0gJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6ZDog0L3QtdC60L7RgNC10LrRgtC90LjQuSDQvdGD0LvRjNC+0LLQuNC5INC/0L7Rh9Cw0YLQutC+0LLQuNC5INGB0LXQutGC0L7RgC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICLQndCwICVzINC90LXQvNCw0ZQg0YDQvtC30LTRltC70ZbQsiAqQlNELiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgItCf0LXRgNGI0LjQuSDRhtC40LvRltC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5MSBsaWJmZGlzay9zcmMvZG9zLmM6MTIxMworbXNnaWQgIkxhc3QgY3lsaW5kZXIsICtjeWxpbmRlcnMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90ZbQuSDRhtC40LvRltC90LTRgCwgK2N5bGluZGVycyDQsNCx0L4gK3NpemV7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NiBsaWJmZGlzay9zcmMvZG9zLmM6MTIxOCBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLQntGB0YLQsNC90L3RltC5INGB0LXQutGC0L7RgCwgK3NlY3RvcnMg0LDQsdC+ICtzaXple0ssTSxHLFQsUH0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICLQndCwINC/0YDQuNGB0YLRgNC+0ZcgJXMg0L3QtSDQvNGW0YHRgtC40YLRjNGB0Y8g0LzRltGC0LrQuCDQtNC40YHQutCwIEJTRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAi0KXQvtGH0LXRgtC1INGB0YLQstC+0YDQuNGC0Lgg0LzRltGC0LrRgyDQtNC40YHQutCwIEJTRD8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDgKK21zZ2lkICJEaXNrIgorbXNnc3RyICLQlNC40YHQuiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ1NQorbXNnaWQgIlBhY2tuYW1lIgorbXNnc3RyICLQndCw0LfQstCwINC/0LDQutGD0L3QutCwIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDYyIGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI3Cittc2dpZCAiRmxhZ3MiCittc2dzdHIgItCe0LfQvdCw0LrQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NQorbXNnaWQgIiByZW1vdmFibGUiCittc2dzdHIgIiDQt9C80ZbQvdC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiINC/0L7RiNC6LtGB0LXQutGCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICLQkdCw0LnRgi/RgdC10LrRgtC+0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgItCU0L7RgNGW0LbQvtC6L9GG0LjQu9GW0L3QtNGAIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAi0KHQtdC60YLQvtGA0ZbQsi/RhtC40LvRltC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAi0KbQuNC70ZbQvdC00YDRltCyIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKK21zZ2lkICJScG0iCittc2dzdHIgItC+0LEv0YXQsiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICLQp9C10YDQs9GD0LLQsNC90L3RjyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAi0JTQvtGA0ZbQttC6LtGD0YXQuNC7IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCittc2dpZCAiQ3lsaW5kZXJza2V3IgorbXNnc3RyICLQptC40LvRltC90LTRgC7Rg9GF0LjQuyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgItCf0LXRgNC10YUu0LPQvtC70ZbQstC+0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKK21zZ2lkICJUcmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICLQn9C10YDQtdGFLtC90LDRgdGCLtC00L7RgNGW0LbQutC4IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICLQsdCw0LnRgi/RgdC10LrRgtC+0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTMKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICLRgdC10LrRgtC+0YDRltCyL9C00L7RgNGW0LbQutGDIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE0Cittc2dpZCAidHJhY2tzL2N5bGluZGVyIgorbXNnc3RyICLQtNC+0YDRltC20L7Qui/RhtC40LvRltC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAi0YbQuNC70ZbQvdC00YDQuCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgItGB0LXQutGC0L7RgNGW0LIv0YbQuNC70ZbQvdC00YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgItC+0LEv0YXQsiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgItGH0LXRgNCz0YPQstCw0L3QvdGPIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICLQtNC+0YDRltC20Lou0YPRhdC40LsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgItGG0LjQu9GW0L3QtNGALtGD0YXQuNC7IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAi0L/QtdGA0LXRhS7Qs9C+0LvRltCy0L7QuiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgItC/0LXRgNC10YUu0L3QsNGB0YIu0LTQvtGA0ZbQttC60LgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICLQpNCw0LnQuyBib290c3RyYXAgJXMg0YPRgdC/0ZbRiNC90L4g0LfQsNCy0LDQvdGC0LDQttC10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAoZGVmYXVsdCAlMSRzKSIKK21zZ3N0ciAiQm9vdHN0cmFwOiAlMSRzYm9vdCAtPiBib290JTEkcyAo0YLQuNC/0L7QstC+ICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAiQm9vdHN0cmFwINC/0LXRgNC10LrRgNC40LLQsNGU0YLRjNGB0Y8g0Lcg0LzRltGC0LrQvtGOINC00LjRgdC60LAhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJCb290c3RyYXAg0LLRgdGC0LDQvdC+0LLQu9C10L3QviDQvdCwICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAi0JzRltGC0LrRgyDQtNC40YHQutCwINC30LDQv9C40YHQsNC90L4g0LTQviAlcy4gKNCd0LUg0LfQsNCx0YPQtNGM0YLQtSDQt9Cw0L/QuNGB0LDRgtC4INGC0LDQutC+0LYg0LzRltGC0LrRgyDQtNC40YHQutCwICVzLikiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICLQnNGW0YLQutGDINC00LjRgdC60LAg0LfQsNC/0LjRgdCw0L3QviDQvdCwICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICLQodC40L3RhdGA0L7QvdGW0LfQsNGG0ZbRjyDQtNC40YHQutGW0LIuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgItCc0ZbRgtC60YMgQlNEINC90LUg0LLQutC70LDQtNC10L3QviDRgyDRgNC+0LfQtNGW0LsgRE9TLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi0KDQvtC30LTRltC7IEJTRCDCqyVjwrsg0L/QvtCyJ9GP0LfQsNC90L4g0Lcg0YDQvtC30LTRltC70L7QvCBET1MgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTYKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAi0JfRgNGW0LciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgItGA0L7Qt9C80ZbRgNGE0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI0Cittc2dpZCAiQnNpemUiCittc2dzdHIgItGA0L7Qt9C80ZbRgNCx0LsiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICLRhtC40Lsv0LPRgCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0LfQsNC60YDQuNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NTYKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLQktC40LrQu9C40LrQsNGU0LzQviBpb2N0bCgpLCDRidC+0LEg0L/QtdGA0LXRh9C40YLQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0YDQvtC30LTRltC70ZbQsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY1Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgItCh0L/RgNC+0LHQsCDQv9C+0LLRgtC+0YDQvdC+0LPQviDRh9C40YLQsNC90L3RjyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgItCv0LTRgNC+INC/0YDQvtC00L7QstC20YPRlCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YHRgtCw0YDRgyDRgtCw0LHQu9C40YbRji4g0J3QvtCy0YMg0YLQsNCx0LvQuNGG0Y4g0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QviDQv9GW0LQg0YfQsNGBINC90LDRgdGC0YPQv9C90L7Qs9C+INC/0LXRgNC10LfQsNCy0LDQvdGC0LDQttC10L3QvdGPINCw0LHQviDQt9Cw0L/Rg9GB0LrRgyBwYXJ0cHJvYmUoOCkg0YfQuCBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiAlenUgZnJvbSBzeXN0ZW0iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC70YPRh9C40YLQuCDQtyDRgdC40YHRgtC10LzQuCDRgNC+0LfQtNGW0LsgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0L3QvtCy0LjRgtC4INC00LDQvdGWINGB0LjRgdGC0LXQvNC4INGJ0L7QtNC+INGA0L7Qt9C00ZbQu9GDICV6dSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQtNC+0LTQsNGC0Lgg0LTQviDRgdC40YHRgtC10LzQuCDRgNC+0LfQtNGW0LsgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICLQr9C00YDQviDQv9GA0L7QtNC+0LLQttGD0ZQg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGB0YLQsNGA0LjQuSDRgNC+0LfQtNGW0LsuINCd0L7QstGDINGC0LDQsdC70LjRhtGOINCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L4g0L/RltC0INGH0LDRgSDQvdCw0YHRgtGD0L/QvdC+0LPQviDQv9C10YDQtdC30LDQstCw0L3RgtCw0LbQtdC90L3Rjy4gIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICLRhtC40LvRltC90LTRgCIKK21zZ3N0clsxXSAi0YbQuNC70ZbQvdC00YDQuCIKK21zZ3N0clsyXSAi0YbQuNC70ZbQvdC00YDRltCyIgorbXNnc3RyWzNdICLRhtC40LvRltC90LTRgCIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICLRgdC10LrRgtC+0YAiCittc2dzdHJbMV0gItGB0LXQutGC0L7RgNC4IgorbXNnc3RyWzJdICLRgdC10LrRgtC+0YDRltCyIgorbXNnc3RyWzNdICLRgdC10LrRgtC+0YAiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTM4OAorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgItCd0LXQutC+0YDQtdC60YLQvdC40Lkg0L/QsNGA0LDQvNC10YLRgCDQs9C10L7QvNC10YLRgNGW0ZcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAi0JLRgdGWINC/0LXRgNCy0LjQvdC90ZYg0YDQvtC30LTRltC70Lgg0LLQttC1INCy0LjQt9C90LDRh9C10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKK21zZ2lkICJQcmltYXJ5IHBhcnRpdGlvbiBub3QgYXZhaWxhYmxlLiIKK21zZ3N0ciAi0J7RgdC90L7QstC90LjQuSDRgNC+0LfQtNGW0Lsg0L3QtdC00L7RgdGC0YPQv9C90LjQuS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0YDQvtC30YjQuNGA0LXQvdGDINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIgKNC30YHRg9CyPSVqdSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDAKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgItCT0LXQvtC80LXRgtGA0ZbRjiDQvNC+0LbQvdCwINC30LDQtNCw0YLQuCDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiDQvNC10L3RjiDQtNC+0LTQsNGC0LrQvtCy0LjRhSDRhNGD0L3QutGG0ZbQuS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDMKK21zZ2lkICJET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIgorbXNnc3RyICLQoNC10LbQuNC8INGB0YPQvNGW0YHQvdC+0YHRgtGWINC3IERPUyDQstCy0LDQttCw0ZTRgtGM0YHRjyDQt9Cw0YHRgtCw0YDRltC70LjQvC4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0L7RlNC8INC/0L7QstGW0LTQvtC80LvRj9GU0YLRjNGB0Y8g0L/RgNC+INGA0L7Qt9C80ZbRgCDQu9C+0LPRltGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAsINGP0LrQuNC5INGUINC80LXQvdGI0LjQvCDQt9CwINGA0L7Qt9C80ZbRgCDRhNGW0LfQuNGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAuINCg0LXQutC+0LzQtdC90LTRg9GU0LzQviDQstCw0Lwg0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPINCy0LjRgNGW0LLQvdGO0LLQsNC90L3Rj9C8INC30LAg0YDQvtC30LzRltGA0L7QvCDRhNGW0LfQuNGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAgKNC+0L/RgtC40LzQsNC70YzQvdC40Lwg0YDQvtC30LzRltGA0L7QvCDQstCy0LXQtNC10L3QvdGPLdCy0LjQstC10LTQtdC90L3RjyksINGW0L3QsNC60YjQtSDQvNC+0LbQtSDQv9C+0YHRgtGA0LDQttC00LDRgtC4INGI0LLQuNC00LrQvtC00ZbRjy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgItCm0LjQu9GW0L3QtNGA0LgsINGP0Log0L7QtNC40L3QuNGG0ZYg0L/QvtC60LDQt9GDLCDQstCy0LDQttCw0Y7RgtGM0YHRjyDQt9Cw0YHRgtCw0YDRltC70LjQvNC4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbm5vdCBiZSB1c2VkIG9uIGRyaXZlcyBmb3Igdm9sdW1lcyBsYXJnZXIgdGhhbiAlbHUgYnl0ZXMgZm9yICVsdS1ieXRlIHNlY3RvcnMuIFVzZSBHVUlEIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgKEdQVCkuIgorbXNnc3RyICLQn9Ce0J/QldCg0JXQlNCW0JXQndCd0K86INGA0L7Qt9C80ZbRgCDRhtGM0L7Qs9C+INC00LjRgdC60LAg0LTQvtGA0ZbQstC90Y7RlCAlcyAoJWp1INCx0LDQudGC0ZbQsikuINCk0L7RgNC80LDRgiDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyIERPUyDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC00LvRjyDQtNC40YHQutGW0LIg0Lcg0YLQvtC80LDQvNC4LCDQsdGW0LvRjNGI0LjQvNC4INC30LAgKCVsdSDQsdCw0LnRgtGW0LIpINC00LvRjyAlbHUt0LHQsNC50YLQvtCy0LjRhSDRgdC10LrRgtC+0YDRltCyLiDQodC60L7RgNC40YHRgtCw0LnRgtC10YHRjyDRhNC+0YDQvNCw0YLQvtC8INGC0LDQsdC70LjRhtGWINGA0L7Qt9C00ZbQu9GW0LIgR1VJRCAoR1BUKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QuNC5INC30YHRg9CyINGDINCz0L7Qu9C+0LLQvdC+0LzRgyDRgNC+0LfRiNC40YDQtdC90L7QvNGDINGA0L7Qt9C00ZbQu9GWLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICJPbWl0dGluZyBwYXJ0aXRpb25zIGFmdGVyICMlenUuIFRoZXkgd2lsbCBiZSBkZWxldGVkIGlmIHlvdSBzYXZlIHRoaXMgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi0J/RgNC+0L/Rg9GB0LrQsNGU0LzQviDRgNC+0LfQtNGW0LvQuCDQv9GW0YHQu9GPICV6dS4g0KbRliDRgNC+0LfQtNGW0LvQuCDQsdGD0LTQtSDQstC40LvRg9GH0LXQvdC+LCDRj9C60YnQviDQstC4INC30LHQtdGA0LXQttC10YLQtSDRhtGOINGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAi0JfQsNC50LLQuNC5INCy0LrQsNC30ZbQstC90LjQuiDRgyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAi0JfQsNC50LLRliDQtNCw0L3RliDRgyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyICV6dSDQv9GA0L7RltCz0L3QvtGA0L7QstCw0L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICLQv9GA0L7Qv9GD0YHQutCw0ZTQvNC+INC/0L7RgNC+0LbQvdGW0Lkg0YDQvtC30LTRltC7ICglenUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICLQodGC0LLQvtGA0LXQvdC+INC80ZbRgtC60YMg0LTQuNGB0LrQsCBET1Mg0Lcg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8INC00LjRgdC60LAgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcyNgorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLQktC60LDQttGW0YLRjCDQvdC+0LLQuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC00LjRgdC60LAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MzMKK21zZ2lkICJJbmNvcnJlY3QgdmFsdWUuIgorbXNnc3RyICLQn9C+0LzQuNC70LrQvtCy0LUg0LfQvdCw0YfQtdC90L3Rjy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAi0IbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0LTQuNGB0LrQsCDQt9C80ZbQvdC10L3QviDQtyAweCUwOHgg0L3QsCAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgItCG0LPQvdC+0YDRg9GU0LzQviDQt9Cw0LnQstC40Lkg0YDQvtC30YjQuNGA0LXQvdC40Lkg0YDQvtC30LTRltC7ICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LjQuSDQv9GA0LDQv9C+0YDQtdGG0YwgMHglMDJ4JTAyeCBFQlIgKNC00LvRjyDRgNC+0LfQtNGW0LvRgyAlenUpINCx0YPQtNC1INCy0LjQv9GA0LDQstC70LXQvdC+INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIHcocml0ZSkg0LDQsdC+INC30LDQv9C40YHRgy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLQn9C+0YfQsNGC0LrQvtCy0LjQuSDRgdC10LrRgtC+0YAgJWp1INC/0LXRgNC10LHRg9Cy0LDRlCDQt9CwINC80LXQttCw0LzQuCDQv9GA0LjQv9GD0YHRgtC40LzQvtCz0L4g0LTRltCw0L/QsNC30L7QvdGDLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dSDQstC20LUg0LLQuNC30L3QsNGH0LXQvdC40LkuINCS0LjQu9GD0YfRltGC0Ywg0LnQvtCz0L4g0L/QtdGA0LXQtCDQv9C+0LLRgtC+0YDQvdC40Lwg0LTQvtC00LDQstCw0L3QvdGP0LwuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgItCh0LXQutGC0L7RgCAlbGx1INCy0LbQtSDRgNC+0LfQv9C+0LTRltC70LXQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODUgbGliZmRpc2svc3JjL2dwdC5jOjIzMzAKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAi0J3QtdC80LDRlCDQstGW0LvRjNC90LjRhSDRgdC10LrRgtC+0YDRltCyLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi0JTQvtC00LDQstCw0L3QvdGPINC70L7Qs9GW0YfQvdC+0LPQviDRgNC+0LfQtNGW0LvRgyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1INC80ZbRgdGC0LjRgtGMINC90YPQu9GM0L7QstC40Lkg0YHQtdC60YLQvtGAIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1OiDQs9C+0LvRltCy0LrQsCAlZCDQv9C10YDQtdCy0LjRidGD0ZQg0LzQsNC60YHQuNC80YPQvCDRgyAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenU6INGB0LXQutGC0L7RgCAlZCDQv9C10YDQtdCy0LjRidGD0ZQg0LzQsNC60YHQuNC80YPQvCDRgyAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjeWxpbmRlciAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlbGx1IgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1OiDRhtC40LvRltC90LTRgCAlZCDQv9C10YDQtdCy0LjRidGD0ZQg0LzQsNC60YHQuNC80YPQvCDRgyAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1OiDQutGW0LvRjNC60ZbRgdGC0Ywg0L/QvtC/0LXRgNC10LTQvdGW0YUg0YHQtdC60YLQvtGA0ZbQsiAldSDQstGW0LTRgNGW0LfQvdGP0ZTRgtGM0YHRjyDQstGW0LQg0LfQsNCz0LDQu9GM0L3QvtGXICV1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQzOQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICLQoyDRgNC+0LfQtNGW0LvRgyAlenUg0LLRltC00YDRltC30L3Rj9GO0YLRjNGB0Y8g0YTRltC30LjRh9C90LjQuSDRgtCwINC70L7Qs9GW0YfQvdC40Lkg0L/QvtGH0LDRgtC+0LogKNC90LUtTGludXg/KTog0YTRltC30LjRh9C90LjQuT0oJWQsICVkLCAlZCksINC70L7Qs9GW0YfQvdC40Lk9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBlbmRpbmdzOiBwaHlzPSglZCwgJWQsICVkKSwgbG9naWNhbD0oJWQsICVkLCAlZCkiCittc2dzdHIgItCjINGA0L7Qt9C00ZbQu9GDICV6dSDQstGW0LTRgNGW0LfQvdGP0Y7RgtGM0YHRjyDRhNGW0LfQuNGH0L3QuNC5INGC0LAg0LvQvtCz0ZbRh9C90LjQuSDQutGW0L3RhtGWOiDRhNGW0LfQuNGH0L3QuNC5PSglZCwgJWQsICVkKSwg0LvQvtCz0ZbRh9C90LjQuT0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenUg0L3QtSDQt9Cw0LrRltC90YfRg9GU0YLRjNGB0Y8g0L3QsCDQvNC10LbRliDRhtC40LvRltC90LTRgNCwLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1OiDQv9C+0LzQuNC70LrQvtCy0LjQuSDQv9C+0YfQsNGC0L7QuiDQtNCw0L3QuNGFLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogb3ZlcmxhcHMgcGFydGl0aW9uICV6dS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenU6INC/0LXRgNC10LrRgNC40LLQsNGU0YLRjNGB0Y8g0Lcg0YDQvtC30LTRltC70L7QvCAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenU6INC/0L7RgNC+0LbQvdGW0LkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi0JvQvtCz0ZbRh9C90LjQuSDRgNC+0LfQtNGW0LsgJXp1INC90LUg0LLQvNGW0YnRg9GU0YLRjNGB0Y8g0YbRltC70LrQvtC8INGDINGA0L7Qt9C00ZbQuyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAi0JfQsNCz0LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0YDQvtC30L/QvtC00ZbQu9C10L3QuNGFINGB0LXQutGC0L7RgNGW0LIsICVsbHUsINC/0LXRgNC10LLQuNGJ0YPRlCDQvNCw0LrRgdC40LzQsNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8sICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAi0JfQsNC70LjRiNCw0ZTRgtGM0YHRjyAlbGxkINC90LXRgNC+0LfQv9C+0LTRltC70LXQvdC40YUgJWxkLdCx0LDQudGC0L7QstC40YUg0YHQtdC60YLQvtGA0ZbQsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAxIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDYzCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAi0KDQvtC30YjQuNGA0LXQvdC40Lkg0YDQvtC30LTRltC7INCy0LbQtSDRltGB0L3Rg9GULiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MzEKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3RzLiBGYWlsZWQgdG8gYWRkIGxvZ2ljYWwgcGFydGl0aW9uLiIKK21zZ3N0ciAi0KDQvtC30YjQuNGA0LXQvdC+0LPQviDRgNC+0LfQtNGW0LvRgyDQvdC1INGW0YHQvdGD0ZQuINCd0LUg0LLQtNCw0LvQvtGB0Y8g0LTQvtC00LDRgtC4INC70L7Qs9GW0YfQvdC40Lkg0YDQvtC30LTRltC7LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAi0JLQttC1INGB0YLQstC+0YDQtdC90L4g0LzQsNC60YHQuNC80LDQu9GM0L3RgyDQutGW0LvRjNC60ZbRgdGC0Ywg0YDQvtC30LTRltC70ZbQsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjgxCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLiIKK21zZ3N0ciAi0KPRgdGWINC+0YHQvdC+0LLQvdGWINGA0L7Qt9C00ZbQu9C4INCy0LbQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICLQktGB0LUg0LzRltGB0YbQtSDQv9GW0LQg0L7RgdC90L7QstC90ZYg0YDQvtC30LTRltC70Lgg0LLQttC1INCy0LjQutC+0YDQuNGB0YLQsNC90L4uIgorCisjLiBUUkFOU0xBVE9SUzogVHJ5IHRvIGtlZXAgdGhpcyB3aXRoaW4gODAgY2hhcmFjdGVycy4KKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjk3Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLQr9C60YnQviDQstCw0Lwg0L/QvtGC0YDRltCx0L3QviDRgdGC0LLQvtGA0LjRgtC4INCx0ZbQu9GM0YjQtSDRgNC+0LfQtNGW0LvRltCyLCDQstCw0Lwg0YHQu9GW0LQg0YHQv9C10YDRiNGDINC30LDQvNGW0L3QuNGC0Lgg0L7RgdC90L7QstC90LjQuSDRgNC+0LfQtNGW0Lsg0L3QsCDRgNC+0LfRiNC40YDQtdC90LjQuSDRgNC+0LfQtNGW0LsuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICLQo9GB0ZYg0LvQvtCz0ZbRh9C90ZYg0YDQvtC30LTRltC70Lgg0LfQsNC50L3Rj9GC0L4uINCU0L7QtNCw0ZTQvNC+INC+0YHQvdC+0LLQvdC40Lkg0YDQvtC30LTRltC7LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi0KLQuNC/INGA0L7Qt9C00ZbQu9GDIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICLQvtGB0L3QvtCy0L3QuNC5OiAlenUsINGA0L7Qt9GI0LjRgNC10L3QuNC5OiAlZCwg0LLRltC70YzQvdC+OiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzMzCittc2dpZCAicHJpbWFyeSIKK21zZ3N0ciAi0L/QtdGA0LLQuNC90L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICLRgNC+0LfRiNC40YDQtdC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucyIKK21zZ3N0ciAi0LrQvtC90YLQtdC50L3QtdGAINC70L7Qs9GW0YfQvdC40YUg0YDQvtC30LTRltC70ZbQsiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKK21zZ2lkICJsb2dpY2FsIgorbXNnc3RyICLQu9C+0LPRltGH0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAi0L3Rg9C80LXRgNCw0YbRltGPINC/0L7Rh9C40L3QsNGU0YLRjNGB0Y8g0LcgNSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gdHlwZSBgJWMnLiIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LjQuSDRgtC40L8g0YDQvtC30LTRltC70YMgwqslY8K7LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICLQodC/0YDQvtCx0LAg0LfQsNC/0LjRgdGDINGB0LXQutGC0L7RgNCwICVqZCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRljog0L/QvtC80LjQu9C60LAg0L/QvtC30LjRhtGW0Y7QstCw0L3QvdGPIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi0IbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0LTQuNGB0LrQsCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICLQoyDQsdCw0LPQsNGC0YzQvtGFINGB0LjRgdGC0LXQvNCw0YUg0YLQuNC/IDAg0L7Qt9C90LDRh9Cw0ZQg0LLRltC70YzQvdC1INC80ZbRgdGG0LUsINGC0L7QvNGDINC90LUg0LLQsNGA0YLQviDRgdGC0LLQvtGA0Y7QstCw0YLQuCDRgNC+0LfQtNGW0LvQuCDRgtC40L/RgyAwLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAi0J3QtdC80L7QttC70LjQstC+INC30LzRltC90LjRgtC4INGC0LjQvyDRgNC+0LfRiNC40YDQtdC90L7Qs9C+INGA0L7Qt9C00ZbQu9GDLCDRj9C60LjQuSDQstC20LUg0LLQuNC60L7RgNC40YHRgtCw0L3QviDQu9C+0LPRltGH0L3QuNC80Lgg0YDQvtC30LTRltC70LDQvNC4INCh0L/QvtGH0LDRgtC60YMg0LLQsNC8INGB0LvRltC0INCy0LjQu9GD0YfQuNGC0Lgg0LvQvtCz0ZbRh9C90ZYg0YDQvtC30LTRltC70LguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI1OSBsaWJmZGlzay9zcmMvZ3B0LmM6MzAzNworbXNnaWQgIk5vdGhpbmcgdG8gZG8uIE9yZGVyaW5nIGlzIGNvcnJlY3QgYWxyZWFkeS4iCittc2dzdHIgItCd0LXQvNCwINGH0L7Qs9C+INGA0L7QsdC40YLQuC4g0J/QvtGA0Y/QtNC+0Log0LLQttC1INC/0YDQsNCy0LjQu9GM0L3QuNC5LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogbm8gZGF0YSBhcmVhLiIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dSDQvdC1INC80LDRlCDQvtCx0LvQsNGB0YLRliDQtNCw0L3QuNGFLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgItCd0L7QstC40Lkg0L/QvtGH0LDRgtC+0Log0LTQsNC90LjRhSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAi0KDQvtC30LTRltC7ICV6dSDRlCDRgNC+0LfRiNC40YDQtdC90LjQvCDRgNC+0LfQtNGW0LvQvtC8LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgItCi0LXQv9C10YAg0L/RgNCw0L/QvtGA0LXRhtGMINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQvdC+0YHRgtGWINC90LAg0YDQvtC30LTRltC70ZYgJXp1INGD0LLRltC80LrQvdC10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAi0KLQtdC/0LXRgCDQv9GA0LDQv9C+0YDQtdGG0Ywg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC90L7RgdGC0ZYg0L3QsCDRgNC+0LfQtNGW0LvRliAlenUg0LLQuNC80LrQvdC10L3Qvi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjQgbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiQm9vdCIKK21zZ3N0ciAi0JfQsNCy0LDQvS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI1Cittc2dpZCAiSWQiCittc2dzdHIgItCG0LQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgItCf0L7Rh9Cw0YLQvtC6LdCmL9CTL9ChIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNQorbXNnaWQgIkVuZC1DL0gvUyIKK21zZ3N0ciAi0JrRltC90LXRhtGMLdCmL9CTL9ChIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE2MAorbXNnaWQgIkF0dHJzIgorbXNnc3RyICLQkNGC0YDQuNCx0YPRgtC4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAi0KHQuNGB0YLQtdC80LAgRUZJIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgItCh0YXQtdC80LAg0YDQvtC30LTRltC70ZbQsiBNQlIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICJJbnRlbCBGYXN0IEZsYXNoIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY1Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJCSU9TLCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgItCX0LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QuNC5INGA0L7Qt9C00ZbQuyBTb255IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5Cittc2dpZCAiTGVub3ZvIGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICLQl9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSDRgNC+0LfQtNGW0LsgTGVub3ZvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcyCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIlBvd2VyUEMgUFJlUCwg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIk9OSUUsINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIk9OSUUsINC90LDQu9Cw0YjRgtGD0LLQsNC90L3RjyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiTWljcm9zb2Z0LCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCwg0L7RgdC90L7QstC90ZYg0LTQsNC90ZYiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQsINC80LXRgtCw0LTQsNC90ZYgTERNIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgyCittc2dpZCAiTWljcm9zb2Z0IExETSBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQsINC00LDQvdGWIExETSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgItCh0LXRgNC10LTQvtCy0LjRidC1INCy0ZbQtNC90L7QstC70LXQvdC90Y8gV2luZG93cyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICLQl9Cw0LPQsNC70YzQvdCwINC/0LDRgNCw0LvQtdC70YzQvdCwINGE0LDQudC70L7QstCwINGB0LjRgdGC0LXQvNCwIElCTSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IFN0b3JhZ2UgU3BhY2VzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg4Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAi0JTQsNC90ZYgSFAtVVgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKK21zZ2lkICJIUC1VWCBzZXJ2aWNlIgorbXNnc3RyICLQodC70YPQttCx0L7QstC40LkgSFAtVVgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIkxpbnV4IHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICLQpNCw0LnQu9C+0LLQsCDRgdC40YHRgtC10LzQsCBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eCwg0LTQsNC90ZYg0YHQtdGA0LLQtdGA0LAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICLQmtC+0YDQtdC90LXQstC40Lkg0YDQvtC30LTRltC7IExpbnV4ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAi0JrQvtGA0LXQvdC10LLQuNC5INGA0L7Qt9C00ZbQuyBMaW51eCAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgItCa0L7RgNC10L3QtdCy0LjQuSDRgNC+0LfQtNGW0LsgTGludXggKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICLQmtC+0YDQtdC90LXQstC40Lkg0YDQvtC30LTRltC7IExpbnV4IChBUk0tNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAi0JrQvtGA0LXQvdC10LLQuNC5IExpbnV4XHQoSUEtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIkxpbnV4LCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAxCittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAi0KDQvtC30LTRltC7IC9ob21lIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCwg0YDQvtC30YjQuNGA0LXQvdC40Lkg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40LkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0QsINC00LDQvdGWIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNELCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiRnJlZUJTRCwgU3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNAorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNELCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCwgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCwgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTkKK21zZ2lkICJBcHBsZSBIRlMvSEZTKyIKK21zZ3N0ciAiQXBwbGUsIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSwgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiQXBwbGUsIFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjIKK21zZ2lkICJBcHBsZSBSQUlEIG9mZmxpbmUiCittc2dzdHIgIkFwcGxlLCBSQUlEICjQstC40LzQutC90LXQvdC+KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlLCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICJBcHBsZSwg0LzRltGC0LrQsCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICJBcHBsZSBUViwg0LLRltC00L3QvtCy0LvRjtCy0LDQu9GM0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICLQntGB0L3QvtCy0L3QtSDRgdGF0L7QstC40YnQtSBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcywg0LrQvtGA0LXQvdC10LLQuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3Ig0YLQsCBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMsIFN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAiU29sYXJpcywg0YDQtdC30LXRgNCy0L3QsCDQutC+0L/RltGPIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzLCAvdmFyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcywgL2hvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKK21zZ2lkICJTb2xhcmlzIGFsdGVybmF0ZSBzZWN0b3IiCittc2dzdHIgIlNvbGFyaXMsINCw0LvRjNGC0LXRgNC90LDRgtC40LLQvdC40Lkg0YHQtdC60YLQvtGAIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTb2xhcmlzLCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC5IDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlNvbGFyaXMsINC30LDRgNC10LfQtdGA0LLQvtCy0LDQvdC40LkgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU29sYXJpcywg0LfQsNGA0LXQt9C10YDQstC+0LLQsNC90LjQuSAzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzLCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC5IDQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlNvbGFyaXMsINC30LDRgNC10LfQtdGA0LLQvtCy0LDQvdC40LkgNSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0QsIFN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICJOZXRCU0QsIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCwgTEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiTmV0QlNELCDQtyfRlNC00L3QsNC90LjQuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIk5ldEJTRCwg0LfQsNGI0LjRhNGA0L7QstCw0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCwgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAi0K/QtNGA0L4gQ2hyb21lT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICLQmtC+0YDQtdC90LXQstCwINGE0LDQudC70L7QstCwINGB0LjRgdGC0LXQvNCwIENocm9tZU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TLCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAi0JTQsNC90ZYgTWlkbmlnaHRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICLQl9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIk1pZG5pZ2h0QlNEIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFVGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIk1pZG5pZ2h0QlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2Cittc2dpZCAiQ2VwaCBKb3VybmFsIgorbXNnc3RyICJDZXBoLCDQttGD0YDQvdCw0LsiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjcKK21zZ2lkICJDZXBoIEVuY3J5cHRlZCBKb3VybmFsIgorbXNnc3RyICJDZXBoLCDQt9Cw0YjQuNGE0YDQvtCy0LDQvdC40Lkg0LbRg9GA0L3QsNC7IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIkNlcGgsIE9TRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICJDZXBoLCDQt9Cw0YjQuNGE0YDQvtCy0LDQvdC40LkgT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICJDZXBoLCDQtNC40YHQuiDQv9GW0LQg0YfQsNGBINGB0YLQstC+0YDQtdC90L3RjyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiQ2VwaCwg0LfQsNGI0LjRhNGA0L7QstCw0L3QuNC5INC00LjRgdC6INC/0ZbQtCDRh9Cw0YEg0YHRgtCy0L7RgNC10L3QvdGPIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1Cittc2dpZCAiVk13YXJlIERpYWdub3N0aWMiCittc2dzdHIgItCU0ZbQsNCz0L3QvtGB0YLQuNGH0L3QuNC5IFZNd2FyZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAi0JLRltGA0YLRg9Cw0LvRjNC90LjQuSBTQU4gVk13YXJlIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiVk13YXJlIFZpcnN0byIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiVk13YXJlLCDQt9Cw0YDQtdC30LXRgNCy0L7QstCw0L3QuNC5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJPcGVuQlNELCDQtNCw0L3RliIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgItCk0LDQudC70L7QstCwINGB0LjRgdGC0LXQvNCwIFFOWDYiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODcKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgUGxhbiA5IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NjYxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30LzRltGB0YLQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQvtC6IEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgItCf0LXRgNGI0LjQuSBMQkEsINCy0LrQsNC30LDQvdC40Lkg0YHQutGA0LjQv9GC0L7QvCwg0L/QtdGA0LXQsdGD0LLQsNGUINC/0L7Qt9CwINC00L7RgdGC0YPQv9C90LjQvCDQtNGW0LDQv9Cw0LfQvtC90L7QvC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo3NTYKK21zZ2lkICJMYXN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgItCe0YHRgtCw0L3QvdGW0LkgTEJBLCDQstC60LDQt9Cw0L3QuNC5INGB0LrRgNC40L/RgtC+0LwsINC/0LXRgNC10LHRg9Cy0LDRlCDQv9C+0LfQsCDQtNC+0YHRgtGD0L/QvdC40Lwg0LTRltCw0L/QsNC30L7QvdC+0LwuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAi0J3QtdCy0ZbQtNC/0L7QstGW0LTQvdGW0YHRgtGMINGA0L7Qt9C80ZbRgNGW0LIgUE1CUiBHUFQgKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pLiDQkdGD0LTQtSDQstC40L/RgNCw0LLQu9C10L3QviDRgyDQstGW0LTQv9C+0LLRltC00Ywg0L3QsCDQt9Cw0L/QuNGBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B0OiDQv9C+0LzQuNC70LrQsCBzdGF0KCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiDQvtCx0YDQvtCx0LrQsCDRhNCw0LnQu9GW0LIg0Lcg0YDQtdC20LjQvNC+0Lwg0LTQvtGB0YLRg9C/0YMgJW8g0L3QtdC80L7QttC70LjQstCwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgItCX0LDQs9C+0LvQvtCy0L7QuiBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTk2Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgItCX0LDQv9C40YHQuCBHUFQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICLQn9C10YDRiNC1IExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzMKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90ZQgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAi0JDQu9GM0YLQtdGA0L3QsNGC0LjQstC90LUgTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1Cittc2dpZCAiUGFydGl0aW9uIGVudHJpZXMgTEJBIgorbXNnc3RyICLQl9Cw0L/QuNGB0Lgg0YDQvtC30LTRltC70ZbQsiBMQkEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCittc2dpZCAiQWxsb2NhdGVkIHBhcnRpdGlvbiBlbnRyaWVzIgorbXNnc3RyICLQl9Cw0L/QuNGB0Lgg0YDQvtC30LzRltGJ0LXQvdC40YUg0YDQvtC30LTRltC70ZbQsiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICLQoNC10LfQtdGA0LLQvdGDINGC0LDQsdC70LjRhtGOIEdQVCDQv9C+0YjQutC+0LTQttC10L3Qviwg0L7RgdC90L7QstC90LAsINC30LTQsNGU0YLRjNGB0Y8g0ZQg0L/RgNCw0LLQuNC70YzQvdC+0Y4sINGC0L7QvNGDINCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L4g0L7RgdC90L7QstC90YMg0YLQsNCx0LvQuNGG0Y4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgItCe0YHQvdC+0LLQvdGDINGC0LDQsdC70LjRhtGOIEdQVCDQv9C+0YjQutC+0LTQttC10L3Qviwg0LDQu9C1INGA0LXQt9C10YDQstC90LAg0LLQuNCz0LvRj9C00LDRlCDQv9GA0LDQstC40LvRjNC90L7Rjiwg0YLQvtC80YMg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC40YHRjCDRgdCw0LzQtSDQstC+0L3QsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjE4Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAi0KDQtdC30LXRgNCy0L3RgyDRgtCw0LHQu9C40YbRjiBHUFQg0YDQvtC30YLQsNGI0L7QstCw0L3QviDQvdC1INC90LDQv9GA0LjQutGW0L3RhtGWINC/0YDQuNGB0YLRgNC+0Y4uINCm0Y4g0L/RgNC+0LHQu9C10LzRgyDQsdGD0LTQtSDQstC40L/RgNCw0LLQu9C10L3QviDQt9Cw0L/QuNGB0L7QvC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LjQuSDQsdGW0YIg0LDRgtGA0LjQsdGD0YLQsCBHUFQsIMKrJXPCuyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIEdQVCBhdHRyaWJ1dGUgc3RyaW5nICclcyciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgNGP0LTQvtC6INCw0YLRgNC40LHRg9GC0ZbQsiBHUFQsIMKrJXPCuyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiVVVJRCDRgNC+0LfQtNGW0LvRgyDQt9C80ZbQvdC10L3QviDQtyAlcyDQvdCwICVzLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNsYXRlIHBhcnRpdGlvbiBuYW1lLCBuYW1lIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQv9C10YDQtdC90LXRgdGC0Lgg0L3QsNC30LLRgyDRgNC+0LfQtNGW0LvRgywg0L3QsNC30LLRgyDQvdC1INC30LzRltC90LXQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAi0J3QsNC30LLRgyDRgNC+0LfQtNGW0LvRgyDQt9C80ZbQvdC10L3QviDQtyDCqyVzwrsg0L3QsCDCqyUuKnPCuy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQ1Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgItCf0L7Rh9Cw0YLQvtC6INC/0ZbQtNC60YDQvtC60ZbQsiDRgNC+0LfQtNGW0LvRgyBGaXJzdFVzYWJsZUxCQS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAi0JrRltC90LXRhtGMINC90LDQtNC60YDQvtC60ZbQsiDRgNC+0LfQtNGW0LvRgyBMYXN0VXNhYmxlTEJBLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAi0J3QsCDQv9GA0LjRgdGC0YDQvtGXINC80ZbRgdGC0LjRgtGM0YHRjyDQs9GW0LHRgNC40LTQvdC40LkgTUJSLCDRgtC+0LzRgyDQt9Cw0L/QuNGB0YPRlNC80L4g0LvQuNGI0LUgR1BULiDQktCw0Lwg0LTQvtCy0LXQtNC10YLRjNGB0Y8g0LLQuNC60L7QvdCw0YLQuCDRgdC40L3RhdGA0L7QvdGW0LfQsNGG0ZbRjiDQtyBNQlIg0LLRgNGD0YfQvdGDLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAi0J3QsCDQtNC40YHQutGDINC90LUg0LzRltGB0YLQuNGC0YzRgdGPINC60L7RgNC10LrRgtC90L7Qs9C+INC30LDQs9C+0LvQvtCy0LrQsCDRgNC10LfQtdGA0LLQvdC+0Zcg0LrQvtC/0ZbRly4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTU2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICLQndC10LrQvtGA0LXQutGC0L3QsCDQutC+0L3RgtGA0L7Qu9GM0L3QsCDRgdGD0LzQsCBDUkMg0LfQsNCz0L7Qu9C+0LLQutCwINC+0YHQvdC+0LLQvdC+0Zcg0LrQvtC/0ZbRly4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYwCittc2dpZCAiSW52YWxpZCBiYWNrdXAgaGVhZGVyIENSQyBjaGVja3N1bS4iCittc2dzdHIgItCd0LXQutC+0YDQtdC60YLQvdCwINC60L7QvdGC0YDQvtC70YzQvdCwINGB0YPQvNCwIENSQyDQt9Cw0LPQvtC70L7QstC60LAg0YDQtdC30LXRgNCy0L3QvtGXINC60L7Qv9GW0ZcuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2NQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LAg0LrQvtC90YLRgNC+0LvRjNC90LAg0YHRg9C80LAg0LfQsNC/0LjRgdGDINGA0L7Qt9C00ZbQu9GDLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90ZYg0YDQtdC30YPQu9GM0YLQsNGC0Lgg0L/QtdGA0LXQstGW0YDQutC4INC90LAg0YLQvtGH0L3RltGB0YLRjCDQtNCw0L3QuNGFINGJ0L7QtNC+INC30LDQs9C+0LvQvtCy0LrQsCBMQkEg0L7RgdC90L7QstC90L7RlyDQutC+0L/RltGXLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICLQndC10LrQvtGA0LXQutGC0L3RliDRgNC10LfRg9C70YzRgtCw0YLQuCDQv9C10YDQtdCy0ZbRgNC60Lgg0L3QsCDRgtC+0YfQvdGW0YHRgtGMINC00LDQvdC40YUg0YnQvtC00L4g0LfQsNCz0L7Qu9C+0LLQutCwIExCQSDRgNC10LfQtdGA0LLQvdC+0Zcg0LrQvtC/0ZbRly4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiTXlMQkEg0L3QtSDQstGW0LTQv9C+0LLRltC00LDRlCDRgdC/0YDQsNCy0LbQvdGW0Lkg0L/QvtC30LjRhtGW0Zcg0YMg0LfQsNCz0L7Qu9C+0LLQutGDINC+0YHQvdC+0LLQvdC+0Zcg0LrQvtC/0ZbRly4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJNeUxCQSDQvdC1INCy0ZbQtNC/0L7QstGW0LTQsNGUINGB0L/RgNCw0LLQttC90ZbQuSDQv9C+0LfQuNGG0ZbRlyDRgyDQt9Cw0LPQvtC70L7QstC60YMg0YDQtdC30LXRgNCy0L3QvtGXINC60L7Qv9GW0ZcuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4OAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICLQlNC40YHQuiDQvdCw0LTRgtC+INC80LDQu9C40Lkg0LTQu9GPINC30LHQtdGA0ZbQs9Cw0L3QvdGPINCy0YHRltGFINC00LDQvdC40YUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICLQndC10LLRltC00L/QvtCy0ZbQtNC90ZbRgdGC0Ywg0LfQsNCz0L7Qu9C+0LLQutGW0LIg0L7RgdC90L7QstC90L7RlyDRliDRgNC10LfQtdGA0LLQvdC+0Zcg0LrQvtC/0ZbRly4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAldSDQv9C10YDQtdC60YDQuNCy0LDRlNGC0YzRgdGPINC3INGA0L7Qt9C00ZbQu9C+0LwgJXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXUg0ZQg0L3QsNC00YLQviDQstC10LvQuNC60LjQvCDQtNC70Y8g0LTQuNGB0LrQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXUg0LfQsNCy0LXRgNGI0YPRlNGC0YzRgdGPINC00L4g0YHQstC+0LPQviDQv9C+0YfQsNGC0LrRgy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAi0J/QvtC80LjQu9C+0Log0L3QtSDQstC40Y/QstC70LXQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGVhZGVyIHZlcnNpb246ICVzIgorbXNnc3RyICLQktC10YDRgdGW0Y8g0LfQsNCz0L7Qu9C+0LLQutCwOiAlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQvtCy0YPRlNC80L4gJXp1INC3ICV6dSDRgNC+0LfQtNGW0LvRltCyLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50cyAodGhlIGxhcmdlc3QgaXMgJXMpLiIKK21zZ3N0clswXSAi0JfQsNCz0LDQu9C+0Lwg0LTQvtGB0YLRg9C/0L3RliAlanUg0LLRltC70YzQvdC40YUg0YHQtdC60YLQvtGA0ZbQsiDRgyAldSDRhNGA0LDQs9C80LXQvdGC0ZYgKNC90LDQudCx0ZbQu9GM0YjQuNC5IC0gJXMpLiIKK21zZ3N0clsxXSAi0JfQsNCz0LDQu9C+0Lwg0LTQvtGB0YLRg9C/0L3RliAlanUg0LLRltC70YzQvdC40YUg0YHQtdC60YLQvtGA0ZbQsiDRgyAldSDRhNGA0LDQs9C80LXQvdGC0LDRhSAo0L3QsNC50LHRltC70YzRiNC40LkgLSAlcykuIgorbXNnc3RyWzJdICLQl9Cw0LPQsNC70L7QvCDQtNC+0YHRgtGD0L/QvdGWICVqdSDQstGW0LvRjNC90LjRhSDRgdC10LrRgtC+0YDRltCyINGDICV1INGE0YDQsNCz0LzQtdC90YLQsNGFICjQvdCw0LnQsdGW0LvRjNGI0LjQuSAtICVzKS4iCittc2dzdHJbM10gItCX0LDQs9Cw0LvQvtC8INC00L7RgdGC0YPQv9C90ZYgJWp1INCy0ZbQu9GM0L3QuNGFINGB0LXQutGC0L7RgNGW0LIg0YMgJXUg0YTRgNCw0LPQvNC10L3RgtGWLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICLQktC40Y/QstC70LXQvdC+ICVkINC/0L7QvNC40LvQutGDLiIKK21zZ3N0clsxXSAi0JLQuNGP0LLQu9C10L3QviAlZCDQv9C+0LzQuNC70LrQuC4iCittc2dzdHJbMl0gItCS0LjRj9Cy0LvQtdC90L4gJWQg0L/QvtC80LjQu9C+0LouIgorbXNnc3RyWzNdICLQktC40Y/QstC70LXQvdC+INC+0LTQvdGDINC/0L7QvNC40LvQutGDLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICLQktGB0ZYg0YDQvtC30LTRltC70Lgg0LLQttC1INCy0LjQutC+0YDQuNGB0YLQsNC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgItCh0LXQutGC0L7RgCAlanUg0LLQttC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0YDQvtC30LTRltC7ICV6dSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGxhc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgItCe0YHRgtCw0L3QvdGW0Lwg0L/RgNC40LTQsNGC0L3QuNC8INC00L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINGB0LXQutGC0L7RgNC+0LwgR1BUINGUICVqdSwg0LDQu9C1INC/0L7RgtGA0ZbQsdC10L0gJWp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpcnN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICLQn9C10YDRiNC40Lwg0L/RgNC40LTQsNGC0L3QuNC8INC00L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINGB0LXQutGC0L7RgNC+0LwgR1BUINGUICVqdSwg0LDQu9C1INC/0L7RgtGA0ZbQsdC10L0gJWp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICLQodGC0LLQvtGA0LXQvdC+INC90L7QstGDINC80ZbRgtC60YMg0LTQuNGB0LrQsCBHUFQgKEdVSUQ6ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICLQktC60LDQttGW0YLRjCBVVUlEINC90L7QstC+0LPQviDQtNC40YHQutCwICjRgyDRhNC+0YDQvNCw0YLRliA4LTQtNC00LTEyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INCy0LrQsNC30LDQvdC40Lkg0LLQsNC80LggVVVJRC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllciBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICLQhtC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQtNC40YHQutCwINC30LzRltC90LXQvdC+INC3ICVzINC90LAgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworbXNnaWQgIk5vdCBlbm91Z2ggc3BhY2UgZm9yIG5ldyBwYXJ0aXRpb24gdGFibGUhIgorbXNnc3RyICLQndC10LTQvtGB0YLQsNGC0L3RjNC+INC/0YDQvtGB0YLQvtGA0YMg0LTQu9GPINC90L7QstC+0Zcg0YLQsNCx0LvQuNGG0ZYg0YDQvtC30LTRltC70ZbQsiEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgItCg0L7Qt9C00ZbQuyAlenUg0LvQtdC20LjRgtGMINC/0L7Qt9CwINC/0YDQuNC/0YPRgdGC0LjQvNC40Lwg0LTRltCw0L/QsNC30L7QvdC+0LwgKNC80ZbQvdGW0LzQsNC70YzQvdC40Lwg0L/QvtGH0LDRgtC60L7QvCDRlCAlPFBSSXU2ND4g0YHQtdC60YLQvtGA0ZbQsikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXp1INC70LXQttC40YLRjCDQv9C+0LfQsCDQv9GA0LjQv9GD0YHRgtC40LzQuNC8INC00ZbQsNC/0LDQt9C+0L3QvtC8ICjQvNCw0LrRgdC40LzQsNC70YzQvdC40Lwg0LrRltC90YbQtdC8INGUICU8UFJJdTY0PiDRgdC10LrRgtC+0YDRltCyKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG51bWJlciBvZiB0aGUgcGFydGl0aW9uIGhhcyB0byBiZSBzbWFsbGVyIHRoYW4gJXp1LiIKK21zZ3N0ciAi0J3QvtC80LXRgCDRgNC+0LfQtNGW0LvRgyDQvNCw0ZQg0LHRg9GC0Lgg0LzQtdC90YjQuNC8INC30LAgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRgNC+0LfQv9C+0LTRltC70LjRgtC4INC/0LDQvOKAmdGP0YLRjCEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBsZW5ndGggY2hhbmdlZCBmcm9tICU8UFJJdTMyPiB0byAlPFBSSXU2ND4uIgorbXNnc3RyICLQlNC+0LLQttC40L3RgyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyINC30LzRltC90LXQvdC+INC3ICU8UFJJdTMyPiDQvdCwICU8UFJJdTY0Pi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgItCQ0YLRgNC40LHRg9GC0Lgg0L3QsCDRgNC+0LfQtNGW0LvRliAlenUg0LfQvNGW0L3QtdC90L4g0L3QsCAweCUwMTY8UFJJeDY0Pi4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgItCS0LLQtdC00ZbRgtGMINGB0L/QtdGG0LjRhNGW0YfQvdC40Lkg0LTQu9GPIEdVSUQg0LHRltGCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QuNC5INCx0ZbRgiAlbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAi0KLQtdC/0LXRgCDRgdC/0LXRhtC40YTRltGH0L3QuNC5INC00LvRjyBHVUlEINCx0ZbRgiAlZCDQvdCwINGA0L7Qt9C00ZbQu9GWICV6dSDRg9Cy0ZbQvNC60L3QtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICLQotC10L/QtdGAINGB0L/QtdGG0LjRhNGW0YfQvdC40Lkg0LTQu9GPIEdVSUQg0LHRltGCICVkINC90LAg0YDQvtC30LTRltC70ZYgJXp1INCy0LjQvNC60L3QtdC90L4uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAi0KLQtdC/0LXRgCDQv9GA0LDQv9C+0YDQtdGG0YwgJXMg0L3QsCDRgNC+0LfQtNGW0LvRliAlenUg0YPQstGW0LzQutC90LXQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICLQotC10L/QtdGAINC/0YDQsNC/0L7RgNC10YbRjCAlcyDQvdCwINGA0L7Qt9C00ZbQu9GWICV6dSDQstC40LzQutC90LXQvdC+LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgItCi0LjQvy1VVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMyNAorbXNnaWQgIk5hbWUiCittc2dzdHIgItCd0LDQt9Cy0LAiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKK21zZ2lkICJGcmVlIHNwYWNlIgorbXNnc3RyICLQktGW0LvRjNC90LjQuSDQv9GA0L7RgdGC0ZbRgCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNGW0L3QuNGC0Lgg0YDQvtC30LzRltGA0Lgg0YDQvtC30LTRltC70YMgJXp1LiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0kg0YLQvtC8IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICLQlNCw0L3RliBTR0kg0YHRgtCy0L7RgNC10L3QviDQvdCwINC00YDRg9Cz0L7QvNGDINGB0LXQutGC0L7RgNGWLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OAorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgItCX0L3QsNC50LTQtdC90L4g0LzRltGC0LrRgyDQtNC40YHQutCwIFNHSSDQtyDQvdC10L/RgNCw0LLQuNC70YzQvdC+0Y4g0LrQvtC90YLRgNC+0LvRjNC90L7RjiDRgdGD0LzQvtGOLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MSBsaWJmZGlzay9zcmMvc3VuLmM6NzgzCittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLQpNGW0LfQuNGH0L3QuNGFINGG0LjQu9GW0L3QtNGA0ZbQsiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICLQlNC+0LTQsNGC0LrQvtCy0LjRhSDRgdC10LrRgtC+0YDRltCyINGDINGG0LjQu9GW0L3QtNGA0ZYiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTYKK21zZ2lkICJCb290ZmlsZSIKK21zZ3N0ciAi0KTQsNC50Lsg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mzk0Cittc2dpZCAiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuIFwiL3VuaXhcIiBvciBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90LjQuSDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSDRhNCw0LnQuyEg0JfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40Lkg0YTQsNC50Lsg0L/QvtCy0LjQvdC10L0g0LzQsNGC0Lgg0L3QtdC90YPQu9GM0L7QstC40Lkg0LDQsdGB0L7Qu9GO0YLQvdC40Lkg0YjQu9GP0YUsINC90LDQv9GA0LjQutC70LDQtCBcIi91bml4XCIg0LDQsdC+IFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZSBtYXhpbXVtLiIKK21zZ2lkX3BsdXJhbCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGVzIG1heGltdW0uIgorbXNnc3RyWzBdICLQndCw0LfQstCwINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QvtCz0L4g0YTQsNC50LvQsCDRlCDQvdCw0LTRgtC+INC00L7QstCz0L7Rjjog0L3QsNC30LLQsCDQvdC1INC/0L7QstC40L3QvdCwINC/0LXRgNC10LLQuNGJ0YPQstCw0YLQuCDQt9CwINGA0L7Qt9C80ZbRgNC+0LwgJXp1INCx0LDQudGCLiIKK21zZ3N0clsxXSAi0J3QsNC30LLQsCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90L7Qs9C+INGE0LDQudC70LAg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C+0Y46INC90LDQt9Cy0LAg0L3QtSDQv9C+0LLQuNC90L3QsCDQv9C10YDQtdCy0LjRidGD0LLQsNGC0Lgg0LfQsCDRgNC+0LfQvNGW0YDQvtC8ICV6dSDQsdCw0LnRgtC4LiIKK21zZ3N0clsyXSAi0J3QsNC30LLQsCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90L7Qs9C+INGE0LDQudC70LAg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C+0Y46INC90LDQt9Cy0LAg0L3QtSDQv9C+0LLQuNC90L3QsCDQv9C10YDQtdCy0LjRidGD0LLQsNGC0Lgg0LfQsCDRgNC+0LfQvNGW0YDQvtC8ICV6dSDQsdCw0LnRgtGW0LIuIgorbXNnc3RyWzNdICLQndCw0LfQstCwINC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QvtCz0L4g0YTQsNC50LvQsCDRlCDQvdCw0LTRgtC+INC00L7QstCz0L7Rjjog0L3QsNC30LLQsCDQvdC1INC/0L7QstC40L3QvdCwINC/0LXRgNC10LLQuNGJ0YPQstCw0YLQuCDQt9CwINGA0L7Qt9C80ZbRgNC+0LwgJXp1INCx0LDQudGCLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwNworbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgItCh0LvRltC0INCy0LrQsNC30YPQstCw0YLQuCDQv9C+0LLQvdC40Lkg0YjQu9GP0YUg0LTQviDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90L7Qs9C+INGE0LDQudC70LAuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCittc2dpZCAiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgXCIvdW5peFwiLCBhbmQgZm9yIGJhY2t1cCBcIi91bml4LnNhdmVcIi4iCittc2dzdHIgItCf0LDQvOKAmdGP0YLQsNC50YLQtSwg0YnQviDRltGB0L3Rg9Cy0LDQvdC90Y8g0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC+0LPQviDRhNCw0LnQu9GDINC90LUg0L/QtdGA0LXQstGW0YDRj9GU0YLRjNGB0Y8uINCi0LjQv9C+0LLQuNC80Lgg0LTQu9GPIFNHSSDRlCBcIi91bml4XCIg0YLQsCDRgNC10LfQtdGA0LLQvdCwINC60L7Qv9GW0Y8gXCIvdW5peC5zYXZlXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBjdXJyZW50IGJvb3QgZmlsZSBpczogJXMiCittc2dzdHIgItCf0L7RgtC+0YfQvdC40Lkg0LfQsNCy0LDQvdGC0LDQttGD0LLQsNC70YzQvdC40Lkg0YTQsNC50Ls6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgItCS0LrQsNC20ZbRgtGMINC90LDQt9Cy0YMg0L3QvtCy0L7Qs9C+INC30LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QvtCz0L4g0YTQsNC50LvQsCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICLQl9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSDRhNCw0LnQuyDQvdC1INC30LzRltC90LXQvdC+LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290ZmlsZSBoYXMgYmVlbiBjaGFuZ2VkIHRvIFwiJXNcIi4iCittc2dzdHIgItCX0LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QuNC5INGE0LDQudC7INC30LzRltC90LXQvdC+INC90LAgXCIlc1wiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorbXNnaWQgIk1vcmUgdGhhbiBvbmUgZW50aXJlIGRpc2sgZW50cnkgcHJlc2VudC4iCittc2dzdHIgItCc0LDRlNC80L4g0LTQtdC60ZbQu9GM0LrQsCDQt9Cw0L/QuNGB0ZbQsiDRhtGW0LvQvtCz0L4g0LTQuNGB0LrQsC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgItCd0LUg0LLQuNC30L3QsNGH0LXQvdC+INGA0L7Qt9C00ZbQu9GW0LIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEyCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiSVJJWCDQv9C+0LrQu9Cw0LTQsNGU0YLRjNGB0Y8g0L3QsCDRgtC1LCDRidC+INGA0L7Qt9C00ZbQuyAxMSDQt9Cw0LnQvNCw0ZQg0LLQtdGB0Ywg0LTQuNGB0LouIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gc2hvdWxkIHN0YXJ0IGF0IGJsb2NrIDAsIG5vdCBhdCBibG9jayAlZC4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyDQvdCwINCy0LXRgdGMINC00LjRgdC6INC/0L7QstC40L3QtdC9INC/0L7Rh9C40L3QsNGC0LjRgdGMINC3INCx0LvQvtC60YMgMCwg0LAg0L3QtSDQtyDQsdC70L7QutGDICVkLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAi0KDQvtC30LTRltC7IDExINC80LDRlCDQt9Cw0L/QvtCy0L3RjtCy0LDRgtC4INCy0LXRgdGMINC00LjRgdC6LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gItCg0L7Qt9C00ZbQu9C4ICVkINGC0LAgJWQg0L/QtdGA0LXQutGA0LjQstCw0Y7RgtGM0YHRjyDQvdCwICVkINGB0LXQutGC0L7RgC4iCittc2dzdHJbMV0gItCg0L7Qt9C00ZbQu9C4ICVkINGC0LAgJWQg0L/QtdGA0LXQutGA0LjQstCw0Y7RgtGM0YHRjyDQvdCwICVkINGB0LXQutGC0L7RgNC4LiIKK21zZ3N0clsyXSAi0KDQvtC30LTRltC70LggJWQg0YLQsCAlZCDQv9C10YDQtdC60YDQuNCy0LDRjtGC0YzRgdGPINC90LAgJWQg0YHQtdC60YLQvtGA0ZbQsi4iCittc2dzdHJbM10gItCg0L7Qt9C00ZbQu9C4ICVkINGC0LAgJWQg0L/QtdGA0LXQutGA0LjQstCw0Y7RgtGM0YHRjyDQvdCwICVkINGB0LXQutGC0L7RgC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2NjIgbGliZmRpc2svc3JjL3NnaS5jOjY4NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICLQndC10LLQuNC60L7RgNC40YHRgtCw0L3QuNC5INC/0YDQvtGB0YLRltGAINC3ICU4dSDRgdC10LrRgtC+0YDQsCAtINGB0LXQutGC0L7RgNC4ICU4dS0ldSIKK21zZ3N0clsxXSAi0J3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQv9GA0L7RgdGC0ZbRgCDQtyAlOHUg0YHQtdC60YLQvtGA0LggLSDRgdC10LrRgtC+0YDQuCAlOHUtJXUiCittc2dzdHJbMl0gItCd0LXQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0L/RgNC+0YHRgtGW0YAg0LcgJTh1INGB0LXQutGC0L7RgNGW0LIgLSDRgdC10LrRgtC+0YDQuCAlOHUtJXUiCittc2dzdHJbM10gItCd0LXQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0L/RgNC+0YHRgtGW0YAg0LcgJTh1INGB0LXQutGC0L7RgCAtINGB0LXQutGC0L7RgNC4ICU4dSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgItCX0LDQstCw0L3RgtCw0LbRg9Cy0LDQu9GM0L3QvtCz0L4g0YDQvtC30LTRltC70YMg0L3QtSDRltGB0L3Rg9GULiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgItCg0L7Qt9C00ZbQu9GDINGB0LLQvtC/0ZbQvdCz0YMg0L3QtSDRltGB0L3Rg9GULiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAi0KDQvtC30LTRltC7INGB0LLQvtC/0ZbQvdCz0YMg0L3QtSDQvdCw0LvQtdC20LjRgtGMINC00L4g0YLQuNC/0YMg0YDQvtC30LTRltC70ZbQsiDRgdCy0L7Qv9GW0L3Qs9GDIChzd2FwKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKK21zZ2lkICJZb3UgaGF2ZSBjaG9zZW4gYW4gdW51c3VhbCBib290ZmlsZSBuYW1lLiIKK21zZ3N0ciAi0JLQuCDQstC40LHRgNCw0LvQuCDQvdC10YLQuNC/0L7QstGDINC90LDQt9Cy0YMg0YTQsNC50LvRgyDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzU4Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICLQn9C10YDQtdC60YDQuNGC0YLRjyDRgNC+0LfQtNGW0LvRltCyINC90LAg0LTQuNGB0LrRgy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NDMKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICLQodC/0YDQvtCx0LAg0YHRgtCy0L7RgNC40YLQuCDQstC10YHRjCDQtNC40YHQuiDQsNCy0YLQvtC80LDRgtC40YfQvdC+LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAi0JLQtdGB0Ywg0LTQuNGB0Log0LLQttC1INC30LDQudC90Y/RgtC40Lkg0YDQvtC30LTRltC70LDQvNC4LiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAi0J3QsCDQtNC40YHQutGDINGUINGA0L7Qt9C00ZbQu9C4LCDRidC+INC/0LXRgNC10LrRgNC40LLQsNGO0YLRjNGB0Y8uINCh0L/QvtGH0LDRgtC60YMg0LLQuNC/0YDQsNCy0YLQtSDRhtC1ISIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICLQn9C10YDRiNC40LkgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTggbGliZmRpc2svc3JjL3NnaS5jOjk0OAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICLQndCw0L/QvtC70LXQs9C70LjQstC+INGA0LXQutC+0LzQtdC90LTRg9GU0YLRjNGB0Y8sINGJ0L7QsSDQvtC00LjQvdCw0LTRhtGP0YLQuNC5INGA0L7Qt9C00ZbQuyDQt9Cw0LnQvNCw0LIg0YPQstC10YHRjCDQtNC40YHQuiDRgtCwINC90LDQu9C10LbQsNCyINC00L4g0YLQuNC/0YMgwqtTR0kgdm9sdW1lwrsuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90ZbQuSAlcyDQsNCx0L4gKyVzLCDQsNCx0L4gK3NpemV7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NCBsaWJmZGlzay9zcmMvc3VuLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiBVc2luZyBnZW9tZXRyeSBjeWxpbmRlciB2YWx1ZSBvZiAlbGx1LiBUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAi0KTRg9C90LrRhtGW0Y8gQkxLR0VUU0laRSBpb2N0bCDQsNCy0LDRgNGW0LnQvdC+INC30LDQstC10YDRiNC40LvQsCDRgNC+0LHQvtGC0YMg0L3QsCAlcy4g0JLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8g0LfQvdCw0YfQtdC90L3RjyDQs9C10L7QvNC10YLRgNGW0Zcg0YbQuNC70ZbQvdC00YDQsCAlbGx1LiDQptC1INC30L3QsNGH0LXQvdC90Y8g0LzQvtC20LUg0LHRg9GC0Lgg0L7QsdGA0ZbQt9Cw0L3QtSDQtNC70Y8g0L/RgNC40YHRgtGA0L7Rl9CyID4gMzMsOCDQk9CRLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTAKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICLQodGC0LLQvtGA0LXQvdC+INC90L7QstGDINC80ZbRgtC60YMg0LTQuNGB0LrQsCBTR0kuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAi0JLQuNCx0LDRh9GC0LUsINC30LzRltC90Y7QstCw0YLQuCDQvNGW0YLQutGDINC80L7QttC90LAg0LvQuNGI0LUg0LTQu9GPINC90LXQv9C+0YDQvtC20L3RltGFINGA0L7Qt9C00ZbQu9GW0LIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA3NQorbXNnaWQgIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDkgYXMgdm9sdW1lIGhlYWRlciAoMCksIGFuZCBwYXJ0aXRpb24gMTEgYXMgZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgItCS0LDQvCDQstCw0YDRgtC+INC30YDQvtCx0LjRgtC4INGA0L7Qt9C00ZbQuyA5INC30LDQs9C+0LvQvtCy0LrQvtC8INGC0L7QvNGDICgwKSwg0LAg0YDQvtC30LTRltC7IDExINC/0L7QstC90LjQvCDRgtC+0LzQvtC8ICg2KSwg0Y/QuiDRhtC1INC+0YfRltC60YPRlNGC0YzRgdGPIElSSVguIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAi0J3QsNC/0L7Qu9C10LPQu9C40LLQviDRgNC10LrQvtC80LXQvdC00YPRlNGC0YzRgdGPLCDRidC+0LEg0YLQuNC/INGA0L7Qt9C00ZbQu9GDINC30ZYg0LfRgdGD0LLQvtC8IDAg0LHRg9CyIFwiU0dJIHZvbGhkclwiLCBJUklYINGB0LjRgdGC0LXQvNCwINC/0L7QutC70LDQtNCw0ZTRgtGM0YHRjyDQvdCwINGG0LUg0L/RgNC4INC+0YLRgNC40LzQsNC90L3RliDQtyDRl9GXINC60LDRgtCw0LvQvtCz0YMg0L7QutGA0LXQvNC40YUg0YPRgtC40LvRltGCLCDQvdCw0L/RgNC40LrQu9Cw0LQgc2FzaCDRgtCwIGZ4LiDQndC1INC00L7RgtGA0LjQvNGD0LLQsNGC0LjRgdGMINGG0YzQvtCz0L4g0LzQvtC20YPRgtGMINC70LjRiNC1IFwiU0dJIHZvbHVtZVwiINC90LAg0LLQtdGB0Ywg0LTQuNGB0LouINCS0Lgg0YHQv9GA0LDQstC00ZYg0LLQv9C10LLQvdC10L3Rliwg0YnQviDRhdC+0YfQtdGC0LUg0L/QvtC30L3QsNGH0LjRgtC4INGG0LXQuSDRgNC+0LfQtNGW0Lsg0L/Qvi3RltC90YjQvtC80YM/IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICLQndC1INC/0YDQuNC30L3QsNGH0LXQvdC+IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDEKK21zZ2lkICJTdW5PUyByb290IgorbXNnc3RyICJTdW5PUyByb290IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDIKK21zZ2lkICJTdW5PUyBzd2FwIgorbXNnc3RyICJTdW5PUyBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAi0JLQtdGB0Ywg0LTQuNGB0LoiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NQorbXNnaWQgIlN1bk9TIHN0YW5kIgorbXNnc3RyICJTdW5PUyBzdGFuZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NworbXNnaWQgIlN1bk9TIGhvbWUiCittc2dzdHIgIlN1bk9TIGhvbWUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OAorbXNnaWQgIlN1bk9TIGFsdCBzZWN0b3JzIgorbXNnc3RyICJTdW5PUywg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90ZYg0YHQtdC60YLQvtGA0LgiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIGNhY2hlZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyByZXNlcnZlZCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzMAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgItCX0L3QsNC50LTQtdC90L4g0LzRltGC0LrRgyDQtNC40YHQutCwIHN1biDQtyDQvdC10L/RgNCw0LLQuNC70YzQvdC+0Y4g0LrQvtC90YLRgNC+0LvRjNC90L7RjiDRgdGD0LzQvtGOLiDQnNC+0LbQu9C40LLQviwg0YHQu9GW0LQg0L/QtdGA0LXQstGB0YLQsNC90L7QstC40YLQuCDQstGB0ZYg0LfQvdCw0YfQtdC90L3Rjywg0LfQvtC60YDQtdC80LAg0LrRltC70YzQutGW0YHRgtGMINCz0L7Qu9GW0LLQvtC6LCDRgdC10LrRgtC+0YDRltCyLCDRhtC40LvRltC90LTRgNGW0LIg0YLQsCDRgNC+0LfQtNGW0LvRltCyINCw0LHQviDQv9GA0LjQvNGD0YHQvtCy0L4g0YHQv9C+0YDQvtC20L3QuNGC0Lgg0LzRltGC0LrRgyAo0LrQvtC80LDQvdC00LAgcyDRgyDQs9C+0LvQvtCy0L3QvtC80YMg0LzQtdC90Y4pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICLQktC40Y/QstC70LXQvdC+INC80ZbRgtC60YMg0LTQuNGB0LrQsCBzdW4g0Lcg0L/QvtC80LjQu9C60L7QstC+0Y4g0LLQtdGA0YHRltGU0Y4gWyVkXS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2Muc2FuaXR5IFsweCUwOHhdLiIKK21zZ3N0ciAi0JLQuNGP0LLQu9C10L3QviDQvNGW0YLQutGDINC00LjRgdC60LAgc3VuINC3INC/0L7QvNC40LvQutC+0LLQuNC8INC30L3QsNGH0LXQvdC90Y/QvCB2dG9jLnNhbml0eSBbMHglMDh4XS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICLQktC40Y/QstC70LXQvdC+INC80ZbRgtC60YMg0LTQuNGB0LrQsCBTdW4g0Lcg0L/QvtC80LjQu9C60L7QstC40Lwg0LfQvdCw0YfQtdC90L3Rj9C8ICB2dG9jLm5wYXJ0cyBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC20LXQvdC90Y86INC/0L7QvNC40LvQutC+0LLRliDQt9C90LDRh9C10L3QvdGPINGB0LvRltC0INCy0LjQv9GA0LDQstC40YLQuCwg0ZfRhSDQsdGD0LTQtSDQstC40L/RgNCw0LLQu9C10L3QviDQutC+0LzQsNC90LTQvtGOIHcocml0ZSkiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxODcKK21zZ2lkICJIZWFkcyIKK21zZ3N0ciAi0JPQvtC70L7QstC60LgiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICLQodC10LrRgtC+0YDRltCyL9C00L7RgNGW0LbQutGDIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCittc2dpZCAiQ3JlYXRlZCBhIG5ldyBTdW4gZGlza2xhYmVsLiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC10L3QviDQvdC+0LLRgyDQvNGW0YLQutGDINC00LjRgdC60LAgU3VuLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLQoNC+0LfQtNGW0LsgJXUg0L3QtSDQt9Cw0LrRltC90YfRg9GU0YLRjNGB0Y8g0L3QsCDQvNC10LbRliDRhtC40LvRltC90LTRgNCwLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgItCg0L7Qt9C00ZbQuyAldSDQv9C10YDQtdC60YDQuNCy0LDRlNGC0YzRgdGPINC3INGW0L3RiNC40Lwg0YMg0YHQtdC60YLQvtGA0LDRhSAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgItCd0LXQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0L/RgNC+0YHRgtGW0YAgLSDRgdC10LrRgtC+0YDQuCAwLSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NiBsaWJmZGlzay9zcmMvc3VuLmM6NDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAi0J3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQv9GA0L7RgdGC0ZbRgCAtINGB0LXQutGC0L7RgNC4ICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAi0IbQvdGI0ZYg0YDQvtC30LTRltC70Lgg0LLQttC1INC30LDQudC80LDRjtGC0Ywg0LLQtdGB0Ywg0LTQuNGB0LouINCS0LjQu9GD0YfRltGC0Ywg0YfQsNGB0YLQuNC90YMv0LfQvNC10L3RiNGW0YLRjCDRl9GFINGA0L7Qt9C80ZbRgCDQv9C10YDQtdC0INGB0L/RgNC+0LHQvtGOLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAi0J3QsNC/0L7Qu9C10LPQu9C40LLQviDRgNC10LrQvtC80LXQvdC00YPRlNC80L4g0LfRgNC+0LHQuNGC0Lgg0YLQsNC6LCDRidC+0LEg0YLRgNC10YLRltC5INGA0L7Qt9C00ZbQuyDQt9Cw0LnQvNCw0LIg0LLQtdGB0Ywg0LTQuNGB0Log0YLQsCDQvdCw0LvQtdC20LDQsiDQtNC+INGC0LjQv9GDIMKr0JLQtdGB0Ywg0LTQuNGB0LrCuyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLQktC40YDRltCy0L3RjtGU0LzQviDQv9C10YDRiNC40Lkg0YHQtdC60YLQvtGAINC3ICV1INC00L4gJXUg0YLQsNC6LCDRidC+0LEg0LLRltC9INC/0LXRgNC10LHRg9Cy0LDQsiDQvdCwINC80LXQttGWINGG0LjQu9GW0L3QtNGA0ZbQsi4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVkIGlzIGFscmVhZHkgYWxsb2NhdGVkIgorbXNnc3RyICLQodC10LrRgtC+0YAgJWQg0LLQttC1INGA0L7Qt9C/0L7QtNGW0LvQtdC90L4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIllvdSBoYXZlbid0IGNvdmVyZWQgdGhlIHdob2xlIGRpc2sgd2l0aCB0aGUgM3JkIHBhcnRpdGlvbiwgYnV0IHlvdXIgdmFsdWVcbiIKKyIlbHUgJXMgY292ZXJzIHNvbWUgb3RoZXIgcGFydGl0aW9uLiBZb3VyIGVudHJ5IGhhcyBiZWVuIGNoYW5nZWRcbiIKKyJ0byAlbHUgJXMiCittc2dzdHIgIiIKKyLQotGA0LXRgtGW0Lkg0YDQvtC30LTRltC7INC90LUg0LfQsNC50LzQsNGUINCy0LXRgdGMINC00LjRgdC6LCDQsNC70LUg0LfQvdCw0YfQtdC90L3Rj1xuIgorIiVsdSAlcyDQv9C10YDQtdC60YDQuNCy0LDRlCDQtNC10Y/QutC40Lkg0ZbQvdGI0LjQuSDRgNC+0LfQtNGW0LsuINCS0LDRiCDQtdC70LXQvNC10L3RgiDQsdGD0LvQviDQt9C80ZbQvdC10L3QvlxuIgorItC90LAgJWx1ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIklmIHlvdSB3YW50IHRvIG1haW50YWluIFN1bk9TL1NvbGFyaXMgY29tcGF0aWJpbGl0eSwgY29uc2lkZXIgbGVhdmluZyB0aGlzIHBhcnRpdGlvbiBhcyBXaG9sZSBkaXNrICg1KSwgc3RhcnRpbmcgYXQgMCwgd2l0aCAldSBzZWN0b3JzIgorbXNnc3RyICLQr9C60YnQviDQstC4INCx0LDQttCw0ZTRgtC1INC/0ZbQtNGC0YDQuNC80YPQstCw0YLQuCDRgdGD0LzRltGB0L3RltGB0YLRjCDQtyBTdW5PUy9Tb2xhcmlzLCDRgdGC0LLQvtGA0ZbRgtGMINGG0LXQuSDRgNC+0LfQtNGW0Lsg0Y/QuiDQstC10YHRjCDQtNC40YHQuig1KSwg0L/QvtGH0LjQvdCw0Y7Rh9C4INC3IDAsINGA0L7Qt9C80ZbRgNC+0LwgJXUg0YHQtdC60YLQvtGA0ZbQsiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICLQhtC0LiDQvNGW0YLQutC4IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICLQhtC0LiDRgtC+0LzRgyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc3OAorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgItCX0LDQv9Cw0YHQvdC40YUg0YbQuNC70ZbQvdC00YDRltCyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDQt9Cw0L/QsNGB0L3QuNGFINGG0LjQu9GW0L3QtNGA0ZbQsiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLQlNC+0LTQsNGC0LrQvtCy0LjRhSDRgdC10LrRgtC+0YDRltCyINGDINGG0LjQu9GW0L3QtNGA0ZYiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi0KTQsNC60YLQvtGAINGH0LXRgNCz0YPQstCw0L3QvdGPIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgItCo0LLQuNC00LrRltGB0YLRjCDQvtCx0LXRgNGC0LDQvdC90Y8gKNC+0LEv0YXQsikiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5ODEKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLQmtGW0LvRjNC60ZbRgdGC0Ywg0YTRltC30LjRh9C90LjRhSDRhtC40LvRltC90LTRgNGW0LIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ2Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisi0J7QsdC80ZbRgNC60YPQudGC0LUg0LLQsNGA0ZbQsNC90YIg0YDQvtC30YLQsNGI0YPQstCw0L3QvdGPINGA0L7Qt9C00ZbQu9GDIDMg0L3QsCDQstC10YHRjCDQtNC40LogKDUpLFxuIgorItGC0L7QvNGDINGJ0L4g0L3QsCDRhtC1INC/0L7QutC70LDQtNCw0Y7RgtGM0YHRjyBTdW5PUy9Tb2xhcmlzLCDRgtCwIExpbnV4INGC0LDQutC+0LYg0YbQtSDRgdC/0YDQuNC50LzQsNGULlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorItCd0LDQv9C+0LvQtdCz0LvQuNCy0L4g0YDQtdC60L7QvNC10L3QtNGD0ZTRgtGM0YHRjywg0YnQvtCxINGA0L7Qt9C00ZbQuyDQt9GWINC30YHRg9Cy0L7QvCAwINCx0YPQsiBVRlMsXG4iCisi0YTQsNC50LvQvtCy0L7RjiDRgdC40YHRgtC10LzQvtGOIEVYVDJGUyDQsNCx0L4gU3VuT1Mgc3dhcC4g0K/QutGJ0L4g0YLRg9GCINCy0YHRgtCw0LLQuNGC0LggTGludXggc3dhcCxcbiIKKyLQvNC+0LbQvdCwINC30YDRg9C50L3Rg9Cy0LDRgtC4INGC0LDQsdC70LjRhtGOINGA0L7Qt9C00ZbQu9GW0LIg0YLQsCDQt9Cw0LLQsNC90YLQsNC20YPQstCw0LvRjNC90LjQuSDQsdC70L7Qui5cbiIKKyLQktC4INGB0L/RgNCw0LLQtNGWINGF0L7Rh9C10YLQtSDQv9C+0LfQvdCw0YfQuNGC0Lgg0YDQvtC30LTRltC7INGP0Log0YDQtdC30LXRgNCy0L3QuNC5INGA0L7Qt9C00ZbQuyAoc3dhcCkgTGludXg/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgItC/0L7QvNC40LvQutCwINC00ZbRlzogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgItCf0J7Qn9CV0KDQldCU0JbQldCd0J3Qrzog0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0YHRgtC+0YHRg9Cy0LDRgtC4INC/0YDQsNC/0L7RgNGG0ZYg0L/QvtGI0LjRgNC10L3QvdGPIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgItCf0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0L/RgNC40YHRgtGA0ZbQuSDQt9Cw0YXQuNGJ0LXQvdC+INCy0ZbQtCDQt9Cw0L/QuNGB0YMsINC30LzQvtC90YLQvtCy0LDQvdC+INGDINGA0LXQttC40LzRliDQu9C40YjQtSDRh9C40YLQsNC90L3RjyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAi0LTRltGOINC80L7QttC1INCy0LjQutC+0L3Rg9Cy0LDRgtC4INC70LjRiNC1INCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGAIChyb290KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMg0LLQttC1INC30LzQvtC90YLQvtCy0LDQvdC+IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0Lgg0YMgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHBvaW50IGluICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30L3QsNC50YLQuCDRgtC+0YfQutGDINC80L7QvdGC0YPQstCw0L3QvdGPINGDICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBzb3VyY2UgJXMgaW4gJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvdCw0LnRgtC4INC00LbQtdGA0LXQu9C+INC80L7QvdGC0YPQstCw0L3QvdGPICVzINGDICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZCBvbiAlczsgdXNlIC10IDx0eXBlPiBvciB3aXBlZnMoOCkiCittc2dzdHIgItC90LAgJXMg0LLQuNGP0LLQu9C10L3QviDRltC90YjRliDRhNCw0LnQu9C+0LLRliDRgdC40YHRgtC10LzQuDsg0YHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8gLXQgPNGC0LjQvz4g0LDQsdC+IHdpcGVmcyg4KSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDRgtC40L8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGZpbGVzeXN0ZW0gdHlwZSBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0YLQuNC/0YMg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvdCw0LnRgtC4ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgc291cmNlIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQtNC20LXRgNC10LvQsCDQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC/0LDRgNCw0LzQtdGC0YDQuCDQvNC+0L3RgtGD0LLQsNC90L3RjzogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC/0LDRgNCw0LzQtdGC0YDQuCDQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSBmb3IgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L3QsNC70LDRiNGC0YPQstCw0YLQuCDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSDQtNC70Y8gJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICLRltGB0L3Rg9GUINC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5INGW0Lcg0L/QtdGA0LXQutGA0LjRgtGC0Y/QvCDQtNC70Y8gJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNCBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgImxvY2tpbmcgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LHQu9C+0LrRg9Cy0LDQvdC90Y8g0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQvNC+0L3RgtGD0LLQsNC90L3RjzogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQyNworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgItGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDINC30LzQvtC90YLQvtCy0LDQvdC+LCDQsNC70LUg0L3QtSDQstC00LDQu9C+0YHRjyDQvtC90L7QstC40YLQuCDRgtCw0LHQu9C40YbRjiDQvNC+0L3RgtGD0LLQsNC90L3RjyDRgyDQv9GA0L7RgdGC0L7RgNGWINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgItGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDINC30LzQvtC90YLQvtCy0LDQvdC+LCDQsNC70LUg0YPRgdGWINC90LDRgdGC0YPQv9C90ZYg0LTRltGXINCy0LjQutC+0L3QsNGC0Lgg0L3QtSDQstC00LDQu9C+0YHRjzogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICLRgtC+0YfQutCwINC80L7QvdGC0YPQstCw0L3QvdGPINC90LUg0ZQg0LrQsNGC0LDQu9C+0LPQvtC8IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIgorbXNnc3RyICLQstGW0LTQvNC+0LLQu9C10L3QviDRgyDQtNC+0YHRgtGD0L/RliIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAi0LTQu9GPINCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyBtb3VudCDRgdC70ZbQtCDQvNCw0YLQuCDQv9GA0LDQstCwINCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGA0LAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICLRgtC+0YfQutGDINC80L7QvdGC0YPQstCw0L3QvdGPINC30LDQudC90Y/RgtC+IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorbXNnc3RyICIlcyDQstC20LUg0LfQvNC+0L3RgtC+0LLQsNC90L4g0LTQviAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICIlcyDQstC20LUg0LfQvNC+0L3RgtC+0LLQsNC90L4g0LDQsdC+INGC0L7Rh9C60YMg0LzQvtC90YLRg9Cy0LDQvdC90Y8g0LfQsNC50L3Rj9GC0L4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi0YLQvtGH0LrQuCDQvNC+0L3RgtGD0LLQsNC90L3RjyDQvdC1INGW0YHQvdGD0ZQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAi0YLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3RjyDRlCDRgdC40LzQstC+0LvRltGH0L3QuNC8INC/0L7RgdC40LvQsNC90L3Rj9C8LCDRj9C60LUg0L3RltC60YPQtNC4INC90LUg0LLQutCw0LfRg9GUIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgItGB0L/QtdGG0ZbQsNC70YzQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOICVzINC90LUg0ZbRgdC90YPRlCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDRgdC40YHRgtC10LzQvdC+0LPQviDQstC40LrQu9C40LrRgyBtb3VudCgyKTogJW0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICLRgdC/0LXRhtGW0LDQu9GM0L3QvtCz0L4g0L/RgNC40YHRgtGA0L7RjiAlcyDQvdC1INGW0YHQvdGD0ZQgKNC/0YDQtdGE0ZbQutGBINGI0LvRj9GF0YMg0L3QtSDRlCDQutCw0YLQsNC70L7Qs9C+0LwpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAi0YLQvtGH0LrRgyDQvNC+0L3RgtGD0LLQsNC90L3RjyDQvdC1INC30LzQvtC90YLQvtCy0LDQvdC+INCw0LHQviDQstC60LDQt9Cw0L3QviDQv9C+0LzQuNC70LrQvtCy0LjQuSDQv9Cw0YDQsNC80LXRgtGAIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgItC90LUg0ZQg0YLQvtGH0LrQvtGOINC80L7QvdGC0YPQstCw0L3QvdGPINCw0LHQviDQv9C+0LzQuNC70LrQvtCy0ZYg0L/QsNGA0LDQvNC10YLRgNC4IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INC/0LDRgNCw0LzQtdGC0YAuINCf0ZbQtNGC0YDQuNC80LrQuCDQv9C10YDQtdGB0YPQstCw0L3QvdGPINGC0L7Rh9C60Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8g0YMg0YDQsNC30ZYg0YHQv9GW0LvRjNC90L7Qs9C+INC80L7QvdGC0YPQstCw0L3QvdGPINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3Qvi4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzMworIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDQv9Cw0YDQsNC80LXRgtGAOyAo0LTQu9GPINGA0L7QsdC+0YLQuCDQtyDQtNC10Y/QutC40LzQuCDRhNCw0LnQu9C+0LLQuNC80Lgg0YHQuNGB0YLQtdC80LDQvNC4ICjQt9C+0LrRgNC10LzQsCBuZnMsIGNpZnMpINCy0LDQvCDQvNC+0LbQtSDQt9C90LDQtNC+0LHQuNGC0LjRgdGPINC00L7Qv9C+0LzRltC20L3QsCDQv9GA0L7Qs9GA0LDQvNCwIC9zYmluL21vdW50LjzRgtC40L8+IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDRgtC40L8g0KTQoSwg0L/QvtC80LjQu9C60L7QstC40Lkg0L/QsNGA0LDQvNC10YLRgCwg0L/QvtC80LjQu9C60L7QstC40Lkg0YHRg9C/0LXRgNCx0LvQvtC6INC90LAgJXMsINC90LUg0LLQuNGB0YLQsNGH0LDRlCDQutC+0LTQvtCy0L7RlyDRgdGC0L7RgNGW0L3QutC4INCw0LHQviDQtNC+0L/QvtC80ZbQttC90L7RlyDQv9GA0L7Qs9GA0LDQvNC4INGH0Lgg0ZbQvdGI0LAg0L/QvtC80LjQu9C60LAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICLRgtCw0LHQu9C40YbRjyDQvNC+0L3RgtGD0LLQsNC90L3RjyDQv9C10YDQtdC/0L7QstC90LXQvdCwIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRgdGD0L/QtdGA0LHQu9C+0Log0L3QsCAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDRgtC40L8g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCDCqyVzwrsiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INGC0LjQvyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiVzINC90LUg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwsINCwINGB0L/RgNC+0LHQsCDQstC40LrQvtC90LDQvdC90Y8gc3RhdCgyKSDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRlj8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXJcIiBpcyBuZWNlc3NhcnkiCittc2dzdHIgItC/0YDQuNGB0YLRgNGW0LkgJXMg0L3QtSDRgNC+0LfQv9GW0LfQvdCw0L3QviDRj9C00YDQvtC8INGP0Log0LHQu9C+0LrQvtCy0LjQuTsg0LzQvtC20LvQuNCy0L4sINGB0LvRltC0INCy0LrQsNC30LDRgtC4IMKrbW9kcHJvYmUg0LTRgNCw0LnQstC10YDCuyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZTsgdHJ5IFwiLW8gbG9vcFwiIgorbXNnc3RyICIlcyDQvdC1INGUINCx0LvQvtC60L7QstC40Lwg0L/RgNC40YHRgtGA0L7RlNC8OyDRgdC/0YDQvtCx0YPQudGC0LUgwqstbyBsb29wwrsiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzINC90LUg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzINC90LUg0ZQg0LrQvtGA0LXQutGC0L3QuNC8INCx0LvQvtC60L7QstC40Lwg0L/RgNC40YHRgtGA0L7RlNC8IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80L7QvdGC0YPQstCw0YLQuCAlcyDRgyDRgNC10LbQuNC80ZYg0LvQuNGI0LUg0YfQuNGC0LDQvdC90Y8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IHJlYWQtd3JpdGUgbW9kZSByZXF1ZXN0ZWQiCittc2dzdHIgIiVzINC30LDRhdC40YnQtdC90L4g0LLRltC0INC30LDQv9C40YHRgywg0LLRgtGW0LwsINCx0YPQu9C+INGP0LLQvdC+INCy0LrQsNC30LDQvdC+INGA0LXQttC40Lwg0YfQuNGC0LDQvdC90Y8t0LfQsNC/0LjRgdGDIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0L7QstGC0L7RgNC90L4g0LfQvNC+0L3RgtGD0LLQsNGC0LggJXMg0YMg0YDQtdC20LjQvNGWINGH0LjRgtCw0L3QvdGPLdC30LDQv9C40YHRgywg0L/RgNC40YHRgtGA0ZbQuSDQt9Cw0YXQuNGJ0LXQvdC+INCy0ZbQtCDQt9Cw0L/QuNGB0YMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0L/RgNC40LLigJnRj9C30YPQstCw0L3QvdGPICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICLRgyAlcyDQvdC1INC30L3QsNC50LTQtdC90L4g0L3QvtGB0ZbRjyDQtNCw0L3QuNGFIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80L7QvdGC0YPQstCw0YLQuDsg0LnQvNC+0LLRltGA0L3Qviwg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMg0L3QsCAlcyDQv9C+0YjQutC+0LTQttC10L3QviIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3MiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudGVkIgorbXNnc3RyICLQvdC1INC30LzQvtC90YLQvtCy0LDQvdC+IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCB1bW91bnQ6ICVtIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDg5CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIHVubW91bnRlZCwgYnV0IGZhaWxlZCB0byB1cGRhdGUgdXNlcnNwYWNlIG1vdW50IHRhYmxlIgorbXNnc3RyICLRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgyDQtNC10LzQvtC90YLQvtCy0LDQvdC+LCDQsNC70LUg0L3QtSDQstC00LDQu9C+0YHRjyDQvtC90L7QstC40YLQuCDRgtCw0LHQu9C40YbRjiDQvNC+0L3RgtGD0LLQsNC90L3RjyDRgyDQv9GA0L7RgdGC0L7RgNGWINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgItGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDINC00LXQvNC+0L3RgtC+0LLQsNC90L4sINCw0LvQtSDRg9GB0ZYg0L3QsNGB0YLRg9C/0L3RliDQtNGW0Zcg0LLQuNC60L7QvdCw0YLQuCDQvdC1INCy0LTQsNC70L7RgdGPOiAlbSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsdC70L7QutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0LkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INGB0YPQv9C10YAg0LHQu9C+0LoiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFyZ2V0IGlzIGJ1c3kiCittc2dzdHIgItC/0YDQuNC30L3QsNGH0LXQvdC90Y8g0LfQsNC50L3Rj9GC0L4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+INGC0L7Rh9C60Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAi0LTQu9GPINC00LXQvNC+0L3RgtGD0LLQsNC90L3RjyDRgdC70ZbQtCDQvNCw0YLQuCDQv9GA0LDQstCwINCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGA0LAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICLQsdC70L7QutC+0LLRliDQv9GA0LjRgdGC0YDQvtGXINC90LUg0LTQvtC30LLQvtC70LXQvdC+INC90LAg0YTQsNC50LvQvtCy0ZbQuSDRgdC40YHRgtC10LzRliIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDRgdC40YHRgtC10LzQvdC+0LPQviDQstC40LrQu9C40LrRgyB1bW91bnQoMik6ICVtIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgd2FpdHBpZCAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0LggY2FsbG9jYXRlINC00LvRjyDQvdCw0LHQvtGA0YMg0L/RgNC+0YbQtdGB0L7RgNGW0LIiCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGB0L/QuNGB0L7QuiDQv9GA0L7RhtC10YHQvtGA0ZbQsiAlcyIKKworIzogbGliL3BhdGguYzoyNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LzQsNGB0LrRgyDQv9GA0L7RhtC10YHQvtGA0ZbQsiAlcyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0YHQvtC60LXRgiBVTklYIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5Cittc2dpZCAiY2Fubm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0LDRgNCw0LzQtdGC0YAg0LTQu9GPINGB0L7QutC10YLQsCBVTklYIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfigJnRlNC00L3QsNC90L3RjyDQtyDRgdC+0LrQtdGC0L7QvCBVTklYIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgcGx5bW91dGggcmVxdWVzdCAlYyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgItC30LDQv9C40YIgcGx5bW91dGggJWMg0L3QtSDRgNC10LDQu9GW0LfQvtCy0LDQvdC+IgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2Cittc2dpZCAiZ2V0cmFuZG9tKCkgZnVuY3Rpb24iCittc2dzdHIgItGE0YPQvdC60YbRltGPIGdldHJhbmRvbSgpIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAi0YTRg9C90LrRhtGW0Zcg0L/RgdC10LLQtNC+0LLQuNC/0LDQtNC60L7QstC40YUg0YfQuNGB0LXQuyBsaWJjIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0LfQvtC90LTRg9Cy0LDQvdC90Y8g0L/RgNC40YHRgtGA0L7RjiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIlczog0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdC40Lkg0YDQtdC30YPQu9GM0YLQsNGCINC30L7QvdC00YPQstCw0L3QvdGPOyDRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczog0L3QtSDRlCDQutC+0YDQtdC60YLQvdC40Lwg0YDQvtC30LTRltC70L7QvCDRgdCy0L7Qv9GW0L3Qs9GDICjRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC8J9GP0YLRlikiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlczog0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQstC10YDRgdGW0Y8g0YHQstC+0L/RltC90LPRgywgwqslc8K7IgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDU5Cittc2dpZCAiZm9ybWF0X2lzb190aW1lOiBidWZmZXIgb3ZlcmZsb3cuIgorbXNnc3RyICJmb3JtYXRfaXNvX3RpbWU6INC/0LXRgNC10L/QvtCy0L3QtdC90L3RjyDQsdGD0YTQtdGA0LAuIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi0YfQsNGBICVsZCDQv9C+0LfQsCDQtNC+0L/Rg9GB0YLQuNC80LjQvCDQtNGW0LDQv9Cw0LfQvtC90L7QvC4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80LrQvtGA0LjRgdGC0YPQstCw0Yc+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgItCX0LzRltC90LjRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0LDRiNC+0LPQviDQstGW0LTQsdC40YLQutCwLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPNGW0Lwn0Y8+ICAgICAgINGB0L/RgNCw0LLQttC90ZQg0ZbQvCfRj1xuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAzCittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDzQutGW0LzQvdCw0YLQsD4gICAgICAg0L3QvtC80LXRgCDQutGW0LzQvdCw0YLQuFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLXAsIC0tb2ZmaWNlLXBob25lIDzRgtC10LvQtdGE0L7QvT4g0L3QvtC80LXRgCDRgNC+0LHQvtGH0L7Qs9C+INGC0LXQu9C10YTQvtC90YNcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDzRgtC10LvQtdGE0L7QvT4gICDQvdC+0LzQtdGAINC00L7QvNCw0YjQvdGM0L7Qs9C+INGC0LXQu9C10YTQvtC90YNcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi0L/QvtC70LUgJXMg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C40LwiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjcgbG9naW4tdXRpbHMvY2hzaC5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaGFzIGlsbGVnYWwgY2hhcmFjdGVycyIKK21zZ3N0ciAiJXM6INC80ZbRgdGC0LjRgtC4INC90LXQutC+0YDQtdC60YLQvdGWINGB0LjQvNCy0L7Qu9C4IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAibG9naW4uZGVmcyDQt9Cw0LHQvtGA0L7QvdGP0ZQg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAi0KHQu9GD0LbQsdC+0LLQuNC5IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTY4IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzAgbG9naW4tdXRpbHMvY2hmbi5jOjMyOAorbXNnaWQgIk9mZmljZSBQaG9uZSIKK21zZ3N0ciAi0KHQu9GD0LbQsdC+0LLQuNC5INGC0LXQu9C10YTQvtC9IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzYgbG9naW4tdXRpbHMvY2hmbi5jOjMzMAorbXNnaWQgIkhvbWUgUGhvbmUiCittc2dzdHIgItCU0L7QvNCw0YjQvdGW0Lkg0YLQtdC70LXRhNC+0L0iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxOTQgbG9naW4tdXRpbHMvY2hzaC5jOjE4NworbXNnaWQgImNhbm5vdCBoYW5kbGUgbXVsdGlwbGUgdXNlcm5hbWVzIgorbXNnc3RyICLQvtCx0YDQvtCx0LrQuCDQtNC10LrRltC70YzQutC+0YUg0ZbQvNC10L0g0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjI0OAorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICLQn9C10YDQtdGA0LLQsNC90L4uIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGhhcyB1bmV4cGVjdGVkIHZhbHVlOiAlcyIKK21zZ3N0ciAiJXM6IENIRk5fUkVTVFJJQ1Qg0LzQsNGUINC90LXQvtGH0ZbQutGD0LLQsNC90LUg0LfQvdCw0YfQtdC90L3RjzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUINC30LDQsdC+0YDQvtC90Y/RlCDQsdGD0LTRjC3Rj9C60ZYg0LfQvNGW0L3QuCIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiRmluZ2VyINGW0L3RhNC+0YDQvNCw0YbRltGOINCd0JUg0LfQvNGW0L3QtdC90L4uINCh0L/RgNC+0LHRg9C50YLQtSDQv9GW0LfQvdGW0YjQtS5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyINGW0L3RhNC+0YDQvNCw0YbRltGOINC30LzRltC90LXQvdC+LlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDI1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ICh1c2VyICVkKSBkb24ndCBleGlzdC4iCittc2dzdHIgItCy0LDRiNC+0LPQviDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwICglZCkg0L3QtSDRltGB0L3Rg9GULiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzMSBsb2dpbi11dGlscy9jaHNoLmM6Mjc4IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgItC60L7RgNC40YHRgtGD0LLQsNGH0LAgwqslc8K7INC90LUg0ZbRgdC90YPRlC4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICLQvNC+0LbQtSDQt9C80ZbQvdGO0LLQsNGC0Lgg0LvQuNGI0LUg0LvQvtC60LDQu9GM0L3RliDQt9Cw0L/QuNGB0LgiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMg0L3QtSDRg9C/0L7QstC90L7QstCw0LbQtdC90L4g0L3QsCDQt9C80ZbQvdGDINGW0L3RhNC+0YDQvNCw0YbRltGXIGZpbmdlciDRidC+0LTQviAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MiBsb2dpbi11dGlscy9jaHNoLmM6MzAwCittc2dpZCAiVW5rbm93biB1c2VyIGNvbnRleHQiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LjQuSDQutC+0L3RgtC10LrRgdGCINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTggbG9naW4tdXRpbHMvY2hzaC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRgtC40L/QvtCy0LjQuSDQutC+0L3RgtC10LrRgdGCINC00LvRjyAlcyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIlVJRCwg0LLRltC0INGW0LzQtdC90ZYg0Y/QutC+0LPQviDQt9Cw0L/Rg9GJ0LXQvdC+INC60L7QvNCw0L3QtNGDLCDQvdC1INC30LHRltCz0LDRlNGC0YzRgdGPINC3IFVJRCDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwLCDQtNC+INC/0LDRgNCw0LzQtdGC0YDRltCyINGA0L7QsdC+0YLQuCDRj9C60L7Qs9C+INCy0L3QvtGB0Y/RgtGM0YHRjyDQt9C80ZbQvdC4LCDRgyDQt9C80ZbQvdGWINC+0LHQvtC70L7QvdC60Lgg0LLRltC00LzQvtCy0LvQtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAi0JfQvNGW0L3QsCBmaW5nZXIg0ZbQvdGE0L7RgNC80LDRhtGW0Zcg0LTQu9GPICVzLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBub3QgY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyINGW0L3RhNC+0YDQvNCw0YbRltGOINC90LUg0LfQvNGW0L3QtdC90L4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICLQl9C80ZbQvdC40YLQuCDQstCw0YjRgyDQvtCx0L7Qu9C+0L3QutGDINC00LvRjyDQstGF0L7QtNGDINC00L4g0YHQuNGB0YLQtdC80LguXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA80L7QsdC+0LvQvtC90LrQsD4g0LLQutCw0LfQsNGC0Lgg0L7QsdC+0LvQvtC90LrRgyDQstGF0L7QtNGDINC00L4g0YHQuNGB0YLQtdC80LhcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0L7QsdC+0LvQvtC90L7QuiDRliDQstC40LnRgtC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgItGI0LvRj9GFINC00L4g0L7QsdC+0LvQvtC90LrQuCDQvNCw0ZQg0LHRg9GC0Lgg0LLQutCw0LfQsNC90L4g0L/QvtCy0L3RltGB0YLRjiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIsKrJXPCuyDQvdC1INGW0YHQvdGD0ZQiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICLCqyVzwrsg0L3QtSDRlCDQstC40LrQvtC90YPQstCw0L3QuNC8INGE0LDQudC70L7QvCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00LbQtdC90L3Rjzogwqslc8K7INC90LXQvNCw0ZQg0YMg0YHQv9C40YHQutGDICVzLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisiwqslc8K7INC90LXQvNCw0ZQg0YMg0YHQv9C40YHQutGDICVzLlxuIgorItCh0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPICVzIC1sLCDRidC+0LEg0L/QtdGA0LXQs9C70Y/QvdGD0YLQuCDRgdC/0LjRgdC+0LouIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzINC90LUg0YPQv9C+0LLQvdC+0LLQsNC20LXQvdC+INC90LAg0LfQvNGW0L3RgyDQutC+0LzQsNC90LTQvdC+0Zcg0L7QsdC+0LvQvtC90LrQuCAlcyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIlVJRCwg0LLRltC0INGW0LzQtdC90ZYg0Y/QutC+0LPQviDQt9Cw0L/Rg9GJ0LXQvdC+INC60L7QvNCw0L3QtNGDLCDQvdC1INC30LHRltCz0LDRlNGC0YzRgdGPINC3IFVJRCDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwLCDQtNC+INC/0LDRgNCw0LzQtdGC0YDRltCyINGA0L7QsdC+0YLQuCDRj9C60L7Qs9C+INCy0L3QvtGB0Y/RgtGM0YHRjyDQt9C80ZbQvdC4LCDRgyDQt9C80ZbQvdGWINC+0LHQvtC70L7QvdC60Lgg0LLRltC00LzQvtCy0LvQtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgItCy0LDRiNC+0Zcg0L7QsdC+0LvQvtC90LrQuCDQvdC10LzQsNGUINGDICVzLCDRgyDQt9C80ZbQvdGWINC+0LHQvtC70L7QvdC60Lgg0LLRltC00LzQvtCy0LvQtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICLQl9C80ZbQvdGO0ZTRgtGM0YHRjyDQvtCx0L7Qu9C+0L3QutCwINC00LvRjyAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAi0J3QvtCy0LAg0L7QsdC+0LvQvtC90LrQsCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAi0J7QsdC+0LvQvtC90LrRgyDQvdC1INC30LzRltC90LXQvdC+LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICLQntCx0L7Qu9C+0L3QutGDICrQndCVKiDQt9C80ZbQvdC10L3Qvi4g0KHQv9GA0L7QsdGD0LnRgtC1INC/0ZbQt9C90ZbRiNC1LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorItC/0L7QvNC40LvQutCwIHNldHB3bmFtXG4iCisi0J7QsdC+0LvQvtC90LrRgyDQvdC1INC30LzRltC90LXQvdC+LiDQn9C+0LLRgtC+0YDRltGC0Ywg0YHQv9GA0L7QsdGDINC/0ZbQt9C90ZbRiNC1LiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGVsbCBjaGFuZ2VkLlxuIgorbXNnc3RyICLQntCx0L7Qu9C+0L3QutCwINC30LzRltC90LXQvdCwLlxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAi0JrQvtGA0LjRgdGC0YPQstCw0L3QvdGPOiAlcyA80YTQsNC50Ltf0L/QsNGA0L7Qu9GW0LI+IDzQutC+0YDQuNGB0YLRg9Cy0LDRhz4uLi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YTQvtGA0LzQsNGCINC30LDQv9C40YHRgyDRh9Cw0YHRgzogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAi0J/QtdGA0LXRgNCy0LDQvdC+ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM1IGxvZ2luLXV0aWxzL2xhc3QuYzo0NDYgbG9naW4tdXRpbHMvbGFzdC5jOjg5MgorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAi0L/QtdGA0LXQstC40YnQtdC90L4g0YDQvtC30LzRltGAINC+0LHQu9Cw0YHRgtGWINC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDRgNC+0LfQvNGW0YnQtdC90L3RjyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNC60L7RgNC40YHRgtGD0LLQsNGHPi4uLl0gWzx0dHk+Li4uXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0YHQv9C40YHQvtC6INC60L7RgNC40YHRgtGD0LLQsNGH0ZbQsiwg0Y/QutGWINCy0YXQvtC00LjQu9C4INC00L4g0YHQuNGB0YLQtdC80Lgg0L7RgdGC0LDQvdC90ZbQvNC4LlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc4Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC080LrRltC70YzQutGW0YHRgtGMPiAgICAgICAgINC60ZbQu9GM0LrRltGB0YLRjCDRgNGP0LTQutGW0LIsINGP0LrRliDRgdC70ZbQtCDQv9C+0LrQsNC30LDRgtC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICDQv9C+0LrQsNC30LDRgtC4INC90LDQt9Cy0Lgg0LLRg9C30LvRltCyINGDINC+0YHRgtCw0L3QvdGM0L7QvNGDINGB0YLQvtCy0L/Rh9C40LrRg1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiAtZCwgLS1kbnMgICAgICAgICAgICDQstC40LfQvdCw0YfQuNGC0Lgg0LfQsCDQt9C90LDRh9C10L3QvdGP0LwgSVAg0L3QsNC30LLRgyDQstGD0LfQu9CwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA80YTQsNC50Ls+ICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQstC60LDQt9Cw0L3QuNC5INGE0LDQudC7INC30LDQvNGW0YHRgtGMICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODMKK21zZ2lkICIgLUYsIC0tZnVsbHRpbWVzICAgICAgcHJpbnQgZnVsbCBsb2dpbiBhbmQgbG9nb3V0IHRpbWVzIGFuZCBkYXRlc1xuIgorbXNnc3RyICIgLUYsIC0tZnVsbHRpbWVzICAgICAg0LLQuNCy0L7QtNC40YLQuCDRh9Cw0YEg0ZYg0LTQsNGC0YMg0LLRhdC+0LTRgyDRliDQstC40YXQvtC00YMg0L/QvtCy0L3RltGB0YLRjlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcCAgICAgICAgICAgICDQv9C+0LrQsNC30YPQstCw0YLQuCBJUC3QsNC00YDQtdGB0Lgg0YMg0YTQvtGA0LzQsNGC0ZYg0YfQuNGB0LXQuyDQtyDRgtC+0YfQutCw0LzQuFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDzQutGW0LvRjNC60ZbRgdGC0Yw+INC60ZbQu9GM0LrRltGB0YLRjCDRgNGP0LTQutGW0LIsINGP0LrRliDRgdC70ZbQtCDQv9C+0LrQsNC30YPQstCw0YLQuFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2Cittc2dpZCAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGRvbid0IGRpc3BsYXkgdGhlIGhvc3RuYW1lIGZpZWxkXG4iCittc2dzdHIgIiAtUiwgLS1ub2hvc3RuYW1lICAgICDQvdC1INC/0L7QutCw0LfRg9Cy0LDRgtC4INC/0L7Qu9GPINC90LDQt9Cy0Lgg0LLRg9C30LvQsFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXMsIC0tc2luY2UgPNGH0LDRgT4gICAg0L/QvtC60LDQt9Cw0YLQuCDRgNGP0LTQutC4LCDRj9C60ZYg0LHRg9C70L4g0LfQsNC/0LjRgdCw0L3QviDQv9GW0YHQu9GPINCy0LrQsNC30LDQvdC+0LPQviDQvNC+0LzQtdC90YLRgyDRh9Cw0YHRg1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPNGH0LDRgT4gICAg0L/QvtC60LDQt9GD0LLQsNGC0Lgg0YDRj9C00LrQuCwg0Y/QutGWINCx0YPQu9C+INC30LDQv9C40YHQsNC90L4g0LTQviDQstC60LDQt9Cw0L3QvtCz0L4g0LzQvtC80LXQvdGC0YMg0YfQsNGB0YNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcCwgLS1wcmVzZW50IDzRh9Cw0YE+ICDQv9C+0LrQsNC30LDRgtC4LCDRhdGC0L4g0L/RgNCw0YbRjtCy0LDQsiDRgyDRgdC40YHRgtC10LzRliDRgyDQstC60LDQt9Cw0L3QuNC5INGH0LDRgVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgINC/0L7QutCw0LfRg9Cy0LDRgtC4INC90LDQt9Cy0Lgg0LfQsNC/0LjRgdGW0LIg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyINGWINC00L7QvNC10L3QuCDQv9C+0LLQvdGW0YHRgtGOXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTEKK21zZ2lkICIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIC14LCAtLXN5c3RlbSAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0LfQsNC/0LjRgdC4INC30LDQstC10YDRiNC10L3QvdGPINGA0L7QsdC+0YLQuCDRgdC40YHRgtC10LzQuCDRgtCwINC30LzRltC90Lgg0YDRltCy0L3RjyDQt9Cw0L/Rg9GB0LrRg1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDzRhNC+0YDQvNCw0YI+ICDQv9C+0LrQsNC30YPQstCw0YLQuCDRh9Cw0YHQvtCy0ZYg0L/QvtC30L3QsNGH0LrQuCDRgyDQstC60LDQt9Cw0L3QvtC80YMg0YTQvtGA0LzQsNGC0ZY6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlcyBiZWdpbnMgJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiVzINGA0L7Qt9C/0L7Rh9C40L3QsNGUICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRh9C40YHQu9C+IgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC1INC30L3QsNGH0LXQvdC90Y8g0YfQsNGB0YMsIMKrJXPCuyIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRgdC60LjQvdGD0YLQuCDQv9GA0LDQstCwINC00L7RgdGC0YPQv9GDINCz0YDRg9C/0LgiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0ZbQvdGW0YbRltCw0LvRltC30LDRhtGW0ZcgbGlidXNlciDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRljogJXMuIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQt9C80ZbQvdC40YLQuCDQsNGC0YDQuNCx0YPRgiDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICLQsNGC0YDQuNCx0YPRgiDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwINC90LUg0LfQvNGW0L3QtdC90L46ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgItCa0KDQmNCi0JjQp9Cd0JAg0J/QntCc0JjQm9Ca0JA6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCB0dHk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgItCa0KDQmNCi0JjQp9Cd0JAg0J/QntCc0JjQm9Ca0JA6ICVzINC90LUg0ZQg0YLQtdGA0LzRltC90LDQu9C+0LwiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgItGB0L/RgNC+0LHQsCDQt9C80ZbQvdC4INCy0LvQsNGB0L3QuNC60LAgKCVzLCAlbHUsICVsdSkg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZY6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxOQorIywgYy1mb3JtYXQKK21zZ2lkICJjaG1vZCAoJXMsICV1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LfQvNGW0L3QuCDRgNC10LbQuNC80YMg0LTQvtGB0YLRg9C/0YMgKCVzLCAldSkg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZY6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM4MAorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICLQpNCQ0KLQkNCb0KzQndCQINCf0J7QnNCY0JvQmtCQOiDQvdC10L/RgNCw0LLQuNC70YzQvdC40LkgdHR5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICLQkNCS0JDQoNCG0K86ICVzOiDRgdC/0YDQvtCx0LAg0LfQvNGW0L3QuCDQv9GA0LDQsiDQtNC+0YHRgtGD0L/RgyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRljogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICLQntGB0YLQsNC90L3RltC5INCy0YXRltC0OiAlLipzICIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZnJvbSAlLipzXG4iCittc2dzdHIgItC3ICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICLQvdCwICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1NDcKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC30LDQv9C40YHRgyBsYXN0bG9nINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgItCS0KXQhtCUINCd0JAgJXMg0JLQhtCUICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgItCS0KXQhtCUIFJPT1Qg0J3QkCAlcyDQlyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAi0JLQpdCG0JQgUk9PVCDQndCQICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICLQktCl0IbQlCDQndCQICVzINCa0J7QoNCY0KHQotCj0JLQkNCnICVzINCXICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAi0JLQpdCG0JQg0J3QkCAlcyDQmtCe0KDQmNCh0KLQo9CS0JDQpyAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICLQutC+0YDQuNGB0YLRg9Cy0LDRhzogIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBQQU0sINC/0LXRgNC10YDQstCw0L3QvjogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4IFBBTTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgItCf0J7QnNCY0JvQmtCQINCS0KXQntCU0KMgJXUg0JcgJXMg0JTQm9CvICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisi0J3QtdC60L7RgNC10LrRgtC90LjQuSDQstGF0ZbQtFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi0J3QkNCU0KLQniDQkdCQ0JPQkNCi0J4g0J/QntCc0JjQm9Ce0Jog0JLQpdCe0JTQoyAoJXUpINCXICVzINCU0JvQryAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi0J3QldCS0JTQkNCb0JjQmSDQodCV0JDQndChINCS0KXQntCU0KMg0JcgJXMg0JTQm9CvICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisi0J3QtdC60L7RgNC10LrRgtC90LjQuSDQstGF0ZbQtFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NCBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDEgbG9naW4tdXRpbHMvbG9naW4uYzoxMjY0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gc2V0dXAgcHJvYmxlbSwgYWJvcnQuIgorbXNnc3RyICIiCisiXG4iCisi0J/RgNC+0LHQu9C10LzQsCDQtyDQvdCw0LvQsNGI0YLQvtCy0YPQstCw0L3QvdGP0Lwg0YHQtdCw0L3RgdGDLCDQv9C10YDQtdGA0LLQsNC90L4uIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJOVUxMIHVzZXIgbmFtZSBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICJOVUxMINGW0Lwn0Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDRgyAlczolZC4g0JLQuNGF0ZbQtC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBUSU9DU0NUVFk6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgWy1wXSBbLWggPNCy0YPQt9C+0Ls+XSBbLUhdIFtbLWZdIDzQutC+0YDQuNGB0YLRg9Cy0LDRhz5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICLQoNC+0LfQv9C+0YfQsNGC0Lgg0YHQtdCw0L3RgSDRgyDRgdC40YHRgtC10LzRli5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCittc2dpZCAiIC1wICAgICAgICAgICAgIGRvIG5vdCBkZXN0cm95IHRoZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIC1wICAgICAgICAgICAgINC90LUg0LfQvdC40YnRg9Cy0LDRgtC4INGB0LXRgNC10LTQvtCy0LjRidC1IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICAgINC/0YDQvtC/0YPRgdGC0LjRgtC4INC00YDRg9Cz0LUg0YDQvtC30L/RltC30L3QsNCy0LDQvdC90Y8g0L/RgNC4INCy0YXQvtC00ZYiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNQorbXNnaWQgIiAtaCA8aG9zdD4gICAgICBob3N0bmFtZSB0byBiZSB1c2VkIGZvciB1dG1wIGxvZ2dpbmciCittc2dzdHIgIiAtaCA80LLRg9C30L7Quz4gICAgINC90LDQt9Cy0LAg0LLRg9C30LvQsCwg0Y/QutGDINGB0LvRltC0INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQtNC70Y8g0LLRhdC+0LTRgyB1dG1wIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiIC1IICAgICAgICAgICAgINC/0YDQuNC00YPRiNC40YLQuCDQv9C+0LrQsNC3INC90LDQt9Cy0Lgg0YMg0LfQsNC/0LjRgtGWINGJ0L7QtNC+INCy0YXQvtC00YMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGltZWQgb3V0IGFmdGVyICV1IHNlY29uZHMiCittc2dzdHIgIiVzOiDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0LHRg9C70L4g0LLQuNGH0LXRgNC/0LDQvdC+INC30LAgJXUg0YHQtdC60YPQvdC0IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjogLWgg0L/RgNC40LfQvdCw0YfQtdC90L4g0LvQuNGI0LUg0LTQu9GPINGB0YPQv9C10YDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwICjQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgNCwKVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgItCd0LXQv9GA0LDQstC40LvRjNC90LUg0ZbQvCfRjyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIFwiJXNcIiDRgyAlczolZC4g0JLQuNGF0ZbQtC4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINGW0L3RltGG0ZbQsNC70ZbQt9Cw0YbRltGXINCz0YDRg9C/INC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjg4Cittc2dpZCAic2V0Z2lkKCkgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBzZXRnaWQoKSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICLQlNC70Y8g0LLQsNGBINGUINC90L7QstCwINC/0L7RiNGC0LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICLQlNC70Y8g0LLQsNGBINGUINC/0L7RiNGC0LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgc2V0dWlkKCkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDQt9C80ZbQvdC40YLQuCDQutCw0YLQsNC70L7QsyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAi0JLRhdGW0LQg0Lcg0LTQvtC80LDRiNC90ZbQvCDQutCw0YLQsNC70L7Qs9C+0LwgPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDRgdC60YDQuNC/0YIg0L7QsdC+0LvQvtC90LrQuCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgItC90LXQvNCw0ZQg0L7QsdC+0LvQvtC90LrQuCIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiAlcyDQvNGW0YHRgtC40YLRjCDQvdC10LrQvtGA0LXQutGC0L3QtSDRh9C40YHQu9C+0LLQtSDQt9C90LDRh9C10L3QvdGPOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MzgzCittc2dpZCAiaHVzaCBsb2dpbiBzdGF0dXM6IHJlc3RvcmUgb3JpZ2luYWwgSURzIGZhaWxlZCIKK21zZ3N0ciAi0YHRgtCw0L0g0LLRhdC+0LTRgyDQsdC10Lcg0LTQvtC00LDRgtC60L7QstC40YUg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjDog0YHQv9GA0L7QsdCwINCy0ZbQtNC90L7QstC70LXQvdC90Y8g0L/QvtGH0LDRgtC60L7QstC40YUg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDRltCyINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOCBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2IHN5cy11dGlscy9sc2NwdS5jOjE0NDYKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgIm5vIgorbXNnc3RyICJubyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAi0ZbQvCfRjyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICLQhtC8J9GPINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgItGW0LQuINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE5Cittc2dpZCAicGFzc3dvcmQgbm90IHJlcXVpcmVkIgorbXNnc3RyICLQv9Cw0YDQvtC70Ywg0L3QtSDQv9C+0YLRgNGW0LHQtdC9IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgIlBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAi0J/QsNGA0L7Qu9GMINC90LUg0L/QvtGC0YDRltCx0LXQvSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAi0LLRhdGW0LQg0LfQsCDQv9Cw0YDQvtC70LXQvCDQstC40LzQutC90LXQvdC+IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICLQktGF0ZbQtCDQt9CwINC/0LDRgNC+0LvQtdC8INCy0LjQvNC60L3QtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAi0L/QsNGA0L7Qu9GMINCy0LjQt9C90LDRh9C10L3Qviwg0LDQu9C1INC30LDQsdC70L7QutC+0LLQsNC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICLQn9Cw0YDQvtC70Ywg0LfQsNCx0LvQvtC60L7QstCw0L3QviIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAi0LLRhdGW0LQg0LLQuNC80LrQvdC10L3QviDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiBub2xvZ2luKDgpINCw0LHQviBwYW1fbm9sb2dpbig4KSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJObyBsb2dpbiIKK21zZ3N0ciAi0J3QtdC80LDRlCDQt9Cw0L/QuNGB0YMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINC/0LXRgNCy0LjQvdC90L7RlyDQs9GA0YPQv9C4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgItCe0YHQvdC+0LLQvdCwINCz0YDRg9C/0LAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAi0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0L7RgdC90L7QstC90L7RlyDQs9GA0YPQv9C4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgItC90LDQt9Cy0Lgg0LTQvtC/0L7QvNGW0LbQvdC40YUg0LPRgNGD0L8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgItCU0L7Qv9C+0LzRltC20L3RliDQs9GA0YPQv9C4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICLRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC4INC00L7Qv9C+0LzRltC20L3QuNGFINCz0YDRg9C/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICLQhtC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC4INC00L7Qv9C+0LzRltC20L3QuNGFINCz0YDRg9C/IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgImhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICLQtNC+0LzQsNGI0L3RltC5INC60LDRgtCw0LvQvtCzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICLQlNC+0LzQsNGI0L3RltC5INC60LDRgtCw0LvQvtCzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICLQvtCx0L7Qu9C+0L3QutCwINCy0YXQvtC00YMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgItCe0LHQvtC70L7QvdC60LAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgItGW0Lwn0Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDQv9C+0LLQvdGW0YHRgtGOIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICLQv9C+0LvQtSBHRUNPUyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgItC00LDRgtCwINC+0YHRgtCw0L3QvdGM0L7Qs9C+INCy0YXQvtC00YMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90ZbQuSDQstGF0ZbQtCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICLQvtGB0YLQsNC90L3RltC5INCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDRgtC10YDQvNGW0L3QsNC7IHR0eSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICLQntGB0YLQsNC90L3RltC5INGC0LXRgNC80ZbQvdCw0LsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgItC90LDQt9Cy0LAg0LLRg9C30LvQsCDQv9GW0LQg0YfQsNGBINC+0YHRgtCw0L3QvdGM0L7Qs9C+INGB0LXQsNC90YHRgyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICLQntGB0YLQsNC90L3RjyDQvdCw0LfQstCwINCy0YPQt9C70LAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi0LTQsNGC0LAg0L7RgdGC0LDQvdC90YzQvtGXINC90LXQstC00LDQu9C+0Zcg0YHQv9GA0L7QsdC4INGD0LLRltC50YLQuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJGYWlsZWQgbG9naW4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0YPQstGW0LnRgtC4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgItC90LAg0Y/QutC+0LzRgyDQutGA0L7RhtGWINGB0YLQsNC70LDRgdGPINC/0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0LLRhdC+0LTRgz8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINGD0LLRltC50YLQuCDQtNC+INGC0LXRgNC80ZbQvdCw0LvQsCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4INCy0YLQuNGF0L7QvNC40YDQtdC90L3RjyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAi0JLRgtC40YXQvtC80LjRgNC10L3QviIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDQtNC90ZbQsiDQvNGW0LYg0L/QtdGA0YjQuNC8INC/0L7Qv9C10YDQtdC00LbQtdC90L3Rj9C8INGWINC30LDQstC10YDRiNC10L3QvdGP0Lwg0YHRgtGA0L7QutGDINC00ZbRlyDQv9Cw0YDQvtC70Y8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICLQhtC90YLQtdGA0LLQsNC7INC80ZbQtiDQvdCw0LPQsNC00YPQstCw0L3QvdGP0LzQuCDRidC+0LTQviDQt9Cw0LLQtdGA0YjQtdC90L3RjyDRgdGC0YDQvtC60YMg0LTRltGXINC/0LDRgNC+0LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgItC00LDRgtCwINC30LDQstC10YDRiNC10L3QvdGPINGB0YLRgNC+0LrRgyDQtNGW0Zcg0L/QsNGA0L7Qu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgItCe0LHQvNC10LbQtdC90L3RjyDRgtC10YDQvNGW0L3RgyDQtNGW0Zcg0L/QsNGA0L7Qu9GPIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgItC00LDRgtCwINC+0YHRgtCw0L3QvdGM0L7RlyDQt9C80ZbQvdC4INC/0LDRgNC+0LvRjyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICLQn9Cw0YDQvtC70Ywg0LfQvNGW0L3QtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICLQstC40LzQvtCz0LAg0YnQvtC00L4g0LrRltC70YzQutGW0YHRgtGMINC00L3RltCyINC80ZbQtiDQt9C80ZbQvdCw0LzQuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICLQnNGW0L3RltC80LDQu9GM0L3QuNC5INGH0LDRgSDQt9C80ZbQvdC4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDQtNC90ZbQsiwg0L/RgNC+0YLRj9Cz0L7QvCDRj9C60LjRhSDQv9Cw0YDQvtC70Ywg0LzQvtC20LUg0LvQuNGI0LDRgtC40YHRjyDQvdC10LfQvNGW0L3QvdC40LwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGH0LDRgSDQt9C80ZbQvdC4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAi0LrQvtC90YLQtdC60YHRgiDQt9Cw0YXQuNGB0YLRgyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAi0JrQvtC90YLQtdC60YHRgiBTRUxpbnV4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICLQutGW0LvRjNC60ZbRgdGC0Ywg0L/RgNC+0YbQtdGB0ZbQsiwg0LfQsNC/0YPRidC10L3QuNGFINC60L7RgNC40YHRgtGD0LLQsNGH0LXQvCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAi0JfQsNC/0YPRidC10L3RliDQv9GA0L7RhtC10YHQuCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAi0LLQutCw0LfQsNC90L4g0L3QsNC00YLQviDQsdCw0LPQsNGC0L4g0YHRgtC+0LLQv9GH0LjQutGW0LIsINC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC90LUg0LHRltC70YzRiNC1INC30LAgJXp1IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LjQuSDRgtC40L8g0YfQsNGB0YMiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ2Cittc2dpZCAiZmFpbGVkIHRvIGNvbXBvc2UgdGltZSBzdHJpbmciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QvtCx0YPQtNGD0LLQsNGC0Lgg0YDRj9C00L7QuiDRh9Cw0YHRgyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo2NDMKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtC/0L7QvNGW0LbQvdGWINCz0YDRg9C/0LgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA2OAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAi0LLQvdGD0YLRgNGW0YjQvdGPINC/0L7QvNC40LvQutCwOiDQvdC10LLRltC00L7QvNC40Lkg0YHRgtC+0LLQv9GH0LjQuiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQntGB0YLQsNC90L3RliDQstGF0L7QtNC4OlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LLRltC00L7QvNC40YUg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyINGB0LjRgdGC0LXQvNC4LlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzIKK21zZ2lkICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgIGRpc3BsYXkgaW5mbyBhYm91dCBwYXNzd29yZHMgZXhwaXJhdGlvblxuIgorbXNnc3RyICIgLWEsIC0tYWNjLWV4cGlyYXRpb24gICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INGB0YLRgNC+0LrRltCyINC30LDQstC10YDRiNC10L3QvdGPINC00ZbRlyDQv9Cw0YDQvtC70ZbQslxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGRpc3BsYXkgZGF0YSBpbiBhIGZvcm1hdCBzaW1pbGFyIHRvIC9ldGMvcGFzc3dkXG4iCittc2dzdHIgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YMg0YTQvtGA0LzQsNGC0ZYsINC/0L7QtNGW0LHQvdC+0LzRgyDQtNC+INGE0L7RgNC80LDRgtGDIC9ldGMvcGFzc3dkXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGDINGE0L7RgNC80LDRgtGWLCDQv9GA0LjQtNCw0YLQvdC+0LzRgyDQtNC+INC10LrRgdC/0L7RgNGC0YPQstCw0L3QvdGPXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L7RgdGC0LDQvdC90ZbRhSDQvdC10LLQtNCw0LvQuNGFINGB0L/RgNC+0LEg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyINGD0LLRltC50YLQuCDQtNC+INGB0LjRgdGC0LXQvNC4XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICDQv9C+0LrQsNC30LDRgtC4INC00LDQvdGWINGJ0L7QtNC+INCz0YDRg9C/XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTzQs9GA0YPQv9C4PiAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyLCDRidC+INC90LDQu9C10LbQsNGC0Ywg0LTQviDQs9GA0YPQv9C4INGDINCz0YDRg9C/0LDRhSA80LPRgNGD0L/QuD5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBzaG93IGluZm8gYWJvdXQgdGhlIHVzZXJzJyBsYXN0IGxvZ2luIHNlc3Npb25zXG4iCittc2dzdHIgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L7RgdGC0LDQvdC90ZbRhSDRgdC10LDQvdGB0ZbQsiDQstGF0L7QtNGDINC60L7RgNC40YHRgtGD0LLQsNGH0ZbQslxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9PNC30LDQv9C40YHQuD4gICAg0LLQuNCy0LXRgdGC0Lgg0LvQuNGI0LUg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyINC30ZYg0YHQv9C40YHQutGDIDzQt9Cw0L/QuNGB0Lg+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LrQvtC20LXQvSDQtyDRhNGA0LDQs9C80LXQvdGC0ZbQsiDQtNCw0L3QuNGFINC3INC90L7QstC+0LPQviDRgNGP0LTQutCwXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrQuFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDIgc3lzLXV0aWxzL2xzaXBjLmM6MjkzCittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICDQvdC1INC+0LHRgNGW0LfQsNGC0Lgg0LLQuNCy0LXQtNC10L3RliDQtNCw0L3RllxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXRbPTzRgdC/0LjRgdC+0Lo+XSAg0LLQuNC30L3QsNGH0LjRgtC4INGB0YLQvtCy0L/Rh9C40LrQuCDQtNCw0L3QuNGFINC00LvRjyDQstC40LLQtdC00LXQvdC90Y9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYsINC/0L7QsuKAmdGP0LfQsNC90ZYg0ZbQtyDQstGF0L7QtNC+0Lwg0LfQsCDQv9Cw0YDQvtC70LXQvC5cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGDINGA0LXQttC40LzRliDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQvtCx0LvRltC60L7QstC40YUg0LfQsNC/0LjRgdGW0LIg0YHQuNGB0YLQtdC80LhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjI5NAorbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdD080YLQuNC/PiAg0LLQuNCy0LXRgdGC0Lgg0LTQsNGC0Lgg0YMg0YHQutC+0YDQvtGH0LXQvdC+0LzRgywg0L/QvtCy0L3QvtC80YMg0YTQvtGA0LzQsNGC0ZYg0LDQsdC+INGE0L7RgNC80LDRgtGWIElTT1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQvtCx0LvRltC60L7QstC40YUg0LfQsNC/0LjRgdGW0LIg0LrQvtGA0LjRgdGC0YPQstCw0YfRltCyXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LrQvtC90YLQtdC60YHRgtC4IFNFTGludXhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgINCy0ZbQtNC+0LrRgNC10LzQu9GO0LLQsNGC0Lgg0LfQsNC/0LjRgdC4INC60L7RgNC40YHRgtGD0LLQsNGH0ZbQsiDQvdGD0LvRjNC+0LLQuNC8INGB0LjQvNCy0L7Qu9C+0LxcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiICAgICAtLXd0bXAtZmlsZSA80YjQu9GP0YU+ICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90LjQuSDRiNC70Y/RhSDQtNC70Y8gd3RtcFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIgICAgIC0tYnRtcC1maWxlIDzRiNC70Y/RhT4gICDQstGB0YLQsNC90L7QstC40YLQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INGI0LvRj9GFINC00LvRjyBidG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQzNAorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L3QsNC00ZbRgdC70LDRgtC4INC30LDQv9C40YIg0YnQvtC00L4g0YHRgtCw0L3RgyBzZWxpbnV4IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAi0JzQvtC20L3QsCDQstC60LDQt9Cw0YLQuCDQu9C40YjQtSDQvtC00L3QvtCz0L4g0LrQvtGA0LjRgdGC0YPQstCw0YfQsC4g0JTQu9GPINC00LXQutGW0LvRjNC60L7RhSDQutC+0YDQuNGB0YLRg9Cy0LDRh9GW0LIg0YHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8g0L/QsNGA0LDQvNC10YLRgNC+0LwgLWwuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQsNGC0YDQuNCx0YPRgtC4INGC0LXRgNC80ZbQvdCw0LvQsCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6NTcKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBnZXRsaW5lKCkiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgItCf0LDRgNC+0LvRjDogIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNjAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjk5NQorbXNnaWQgImNyeXB0IGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YjQuNGE0YDRg9Cy0LDQvdC90Y8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIgJXMgPNCz0YDRg9C/0LA+XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3NgorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAi0KPQstGW0LnRgtC4INC00L4g0L3QvtCy0L7RlyDQs9GA0YPQv9C4LlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgItCy0Lgg0YXRgtC+PyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHNldGdpZCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgItGC0LDQutC+0Zcg0LPRgNGD0L/QuCDQvdC10LzQsNGUIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMzMgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzYKK21zZ2lkICJzZXR1aWQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBzZXR1aWQiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICLQo9Cy0ZbRh9C70LjQstC+INCy0ZbQtNC80L7QstC40YLQuCDRgyDQstGF0L7QtNGWINC00L4g0YHQuNGB0YLQtdC80LguXG4iCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGlzIGFjY291bnQgaXMgY3VycmVudGx5IG5vdCBhdmFpbGFibGUuXG4iCittc2dzdHIgItCm0LXQuSDQvtCx0LvRltC60L7QstC40Lkg0LfQsNC/0LjRgSDQvdCw0YDQsNC30ZYg0ZQg0L3QtdC00L7RgdGC0YPQv9C90LjQvC5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiAo0YHRgtCy0L7RgNC10L3QviDQtNCw0LzQvyDQv9Cw0LzigJnRj9GC0ZYpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQsNGC0YDQuNCx0YPRgtC4INGC0LXRgNC80ZbQvdCw0LvQsCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDQv9GB0LXQstC00L7RgtC10YDQvNGW0L3QsNC7IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNCx0LvQvtC60YPQstCw0YLQuCDRgdC40LPQvdCw0LvQuCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI0IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzo0OTQKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgcG9sbCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjcwCittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDRgdC10YDQtdC00L7QstC40YnQtSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICLQvdC1INC80L7QttC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuNGB0Y8g0L3RltC60LjQvCwg0L7QutGA0ZbQvCByb290IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INC/0LDRgNC+0LvRjCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0YHQtdCw0L3RgTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGW0L3RltGG0ZbQsNC70ZbQt9GD0LLQsNGC0Lgg0LzQsNGB0LrRgyDRgdC40LPQvdCw0LvRgyDQtNC70Y8g0YHQtdCw0L3RgdGDIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3ODcKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INC80LDRgdC60YMg0YHQuNCz0L3QsNC70ZbQsiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQvtCx0YDQvtCx0L3QuNC6INGB0LjQs9C90LDQu9GW0LIg0LTQu9GPINGB0LXQsNC90YHRgyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODA1IG1pc2MtdXRpbHMvdXVpZGQuYzozOTggc3lzLXV0aWxzL2xzY3B1LmM6NzQzCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc5NgorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L7QsdGA0L7QsdC90LjQuiDRgdC40LPQvdCw0LvRgyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQvNCw0YHQutGDINGB0LjQs9C90LDQu9GW0LIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg0MQorbXNnaWQgImNhbm5vdCBjcmVhdGUgY2hpbGQgcHJvY2VzcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INC00L7Rh9GW0YDQvdGW0Lkg0L/RgNC+0YbQtdGBIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNGW0L3QuNGC0Lgg0LrQsNGC0LDQu9C+0LMg0L3QsCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LDQvdGBINC/0LXRgNC10YDQstCw0L3Qviwg0LfQsNCy0LXRgNGI0YPRlNC80L4g0YDQvtCx0L7RgtGDINC+0LHQvtC70L7QvdC60LjigKYiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIg4oCm0LfQsNCy0LXRgNGI0LXQvdC+LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo5NDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC30LzRltC90L3RgyDRgdC10YDQtdC00L7QstC40YnQsCBQQVRIIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LPRgNGD0L/QuCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdXNlciBjcmVkZW50aWFsczogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPINGA0LXRlNGB0YLRgNCw0YbRltC50L3QuNC80Lgg0LTQsNC90LjQvNC4OiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyMiBzeXMtdXRpbHMvZWplY3QuYzo2NjAKK21zZ2lkICJjYW5ub3Qgc2V0IGdyb3VwIGlkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INCz0YDRg9C/0L7QstC40LkgaWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjQgc3lzLXV0aWxzL2VqZWN0LmM6NjYzCittc2dpZCAiY2Fubm90IHNldCB1c2VyIGlkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4IGlkINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgINC90LUg0YHQutC40LTQsNGC0Lgg0LfQvNGW0L3QvdGWINGB0LXRgNC10LTQvtCy0LjRidCwXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA80LPRgNGD0L/QsD4gICAgICAgICAgICAg0LLQutCw0LfQsNGC0Lgg0L7RgdC90L7QstGDINCz0YDRg9C/0YNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXAgPNCz0YDRg9C/0LA+ICAgICAgICDQstC60LDQt9Cw0YLQuCDQtNC+0L/QvtC80ZbQttC90YMg0LPRgNGD0L/Rg1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICDQv9C10YDQtdGC0LLQvtGA0LjRgtC4INC+0LHQvtC70L7QvdC60YMg0L3QsCDQvtCx0L7Qu9C+0L3QutGDINCy0YXQvtC00YMg0LTQviDRgdC40YHRgtC10LzQuFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk4Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAtYyAgLS1jb21tYW5kIDzQutC+0LzQsNC90LTQsD4gICAgICAgICDQv9C10YDQtdC00LDRgtC4INC+0LHQvtC70L7QvdGG0ZYg0L7QtNC90YMg0LrQvtC80LDQvdC00YMg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gLWNcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA80LrQvtC80LDQvdC00LA+ICAgICDQv9C10YDQtdC00LDRgtC4INC+0LHQvtC70L7QvdGG0ZYg0L7QtNC90YMg0LrQvtC80LDQvdC00YMg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgINGWINC90LUg0YHRgtCy0L7RgNGO0LLQsNGC0Lgg0L3QvtCy0L7Qs9C+INGB0LXQsNC90YHRgy5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgINC/0LXRgNC10LTQsNGC0Lgg0L7QsdC+0LvQvtC90YbRliAtZiAo0LTQu9GPIGNzaCDQsNCx0L4gdGNzaClcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPNC+0LHQvtC70L7QvdC60LA+ICAgICAgICAgINC30LDQv9GD0YHRgtC40YLQuCDQvtCx0L7Qu9C+0L3QutGDLCDRj9C60YnQviDRhtC1INC00L7Qt9Cy0L7Qu9C10L3QviDRgyAvZXRjL3NoZWxsc1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INC/0YHQtdCy0LTQvtGC0LXRgNC80ZbQvdCw0LtcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisiICUxJHMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIC11IDzQutC+0YDQuNGB0YLRg9Cy0LDRhz4gW1stLV0gPNC60L7QvNCw0L3QtNCwPl1cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbLV0gWzzQutC+0YDQuNGB0YLRg9Cy0LDRhz4gWzzQsNGA0LPRg9C80LXQvdGCPi4uLl1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTgKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisi0JLQuNC60L7QvdCw0YLQuCDQutC+0LzQsNC90LTRgyA80LrQvtC80LDQvdC00LA+INCy0ZbQtCDRltC80LXQvdGWINC60L7RgNC40YHRgtGD0LLQsNGH0LAg0ZYg0LPRgNGD0L/QuCA80LrQvtGA0LjRgdGC0YPQstCw0Yc+LiDQr9C60YnQvlxuIgorItC90LUg0LLQutCw0LfQsNC90L4gLXUsINC60L7QvNCw0L3QtNCwINCy0LjQutC+0L3Rg9GU0YLRjNGB0Y8g0YMg0YDQtdC20LjQvNGWINGB0LXQvNCw0L3RgtC40LrQuCBzdSgxKSDRltC3INC30LDQv9GD0YHQutC+0Lwg0YHRgtCw0L3QtNCw0YDRgtC90L7RlyDQutC+0LzQsNC90LTQvdC+0Zcg0L7QsdC+0LvQvtC90LrQuC5cbiIKKyLQn9Cw0YDQsNC80LXRgtGA0LggLWwsIC1jLCAtZiDRliAtcyDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGA0LDQt9C+0Lwg0LcgLXUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMjMKK21zZ2lkICIgLXUsIC0tdXNlciA8dXNlcj4gICAgICAgICAgICAgICB1c2VybmFtZVxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA80LrQvtGA0LjRgdGC0YPQstCw0Yc+ICAgICAgICDRltC84oCZ0Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWy1dIFs80LrQvtGA0LjRgdGC0YPQstCw0Yc+IFs80LDRgNCz0YPQvNC10L3Rgj4uLi5dXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM4Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyLQl9C80ZbQvdC40YLQuCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQv9C+0YLQvtGH0L3QvtCz0L4g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDRliDQs9GA0YPQv9C4INC90LAg0LLQutCw0LfQsNC90ZYg0LTQsNC90ZYuXG4iCisi0J/RgNC+0YHRgtC+INC30L3QsNC6INC80ZbQvdGD0YEg0L7Qt9C90LDRh9Cw0ZQgLWwuINCv0LrRidC+IDzQutC+0YDQuNGB0YLRg9Cy0LDRhz4g0L3QtSDQstC60LDQt9Cw0L3QvixcbiIKKyLQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyByb290LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cCBpcyBub3QgcG9zc2libGUiCittc2dpZF9wbHVyYWwgInNwZWNpZnlpbmcgbW9yZSB0aGFuICVkIHN1cHBsZW1lbnRhbCBncm91cHMgaXMgbm90IHBvc3NpYmxlIgorbXNnc3RyWzBdICLQvdC1INC80L7QttC90LAg0LLQuNC30L3QsNGH0LDRgtC4INCx0ZbQu9GM0YjQtSDQt9CwICVkINC00L7Qv9C+0LzRltC20L3RgyDQs9GA0YPQv9GDIgorbXNnc3RyWzFdICLQvdC1INC80L7QttC90LAg0LLQuNC30L3QsNGH0LDRgtC4INCx0ZbQu9GM0YjQtSDQt9CwICVkINC00L7Qv9C+0LzRltC20L3RliDQs9GA0YPQv9C4IgorbXNnc3RyWzJdICLQvdC1INC80L7QttC90LAg0LLQuNC30L3QsNGH0LDRgtC4INCx0ZbQu9GM0YjQtSDQt9CwICVkINC00L7Qv9C+0LzRltC20L3QuNGFINCz0YDRg9C/IgorbXNnc3RyWzNdICLQvdC1INC80L7QttC90LAg0LLQuNC30L3QsNGH0LDRgtC4INCx0ZbQu9GM0YjQtSDQt9CwINC+0LTQvdGDINC00L7Qv9C+0LzRltC20L3RgyDQs9GA0YPQv9GDIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLQs9GA0YPQv9C4INC3INC90LDQt9Cy0L7RjiDCqyVzwrsg0L3QtSDRltGB0L3Rg9GUIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMjkwCittc2dpZCAiLS1wdHkgaXMgbm90IHN1cHBvcnRlZCBmb3IgeW91ciBzeXN0ZW0iCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrQuCAtLXB0eSDRgyDRhtGW0Lkg0YHQuNGB0YLQtdC80ZYg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICLRltCz0L3QvtGA0YPRlNC80L4gLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwg0LnQvtCz0L4g0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRgNCw0LfQvtC8INC3IC0tbG9naW4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4IC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59INGWIC0tdXNlciDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGA0LDQt9C+0LwiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0LrQvtC80LDQvdC00LgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNTUKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHNwZWNpZnkgYWx0ZXJuYXRpdmUgZ3JvdXBzIgorbXNnc3RyICLQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3RliDQs9GA0YPQv9C4INC80L7QttC1INCy0LjQt9C90LDRh9Cw0YLQuCDQu9C40YjQtSByb290IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgItC60L7RgNC40YHRgtGD0LLQsNGH0LAgJXMg0L3QtSDRltGB0L3Rg9GUIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgItCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINC+0LHQvNC10LbQtdC90LAg0L7QsdC+0LvQvtC90LrQsCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INC60LDRgtCw0LvQvtCzINC90LAgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKK21zZ2lkICJ0Y2dldGF0dHIgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCB0Y2dldGF0dHIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCB0Y3NldGF0dHIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290XG4iCittc2dzdHIgIiVzOiDQvdC10LzQsNGUINC30LDQv9C40YHRgyDQtNC70Y8gcm9vdFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXM6INC90LXQvNCw0ZQg0LfQsNC/0LjRgdGDINC00LvRjyByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiDQv9Cw0YDQvtC70Ywg0LDQtNC80ZbQvdGW0YHRgtGA0LDRgtC+0YDQsCAocm9vdCkg0LLQuNC60YDQuNCy0LvQtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisiXG4iCisi0J3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC00L7RgdGC0YPQvyDQtNC+INC60L7QvdGB0L7Qu9GWLCDQvtCx0LvRltC60L7QstC40Lkg0LfQsNC/0LjRgSByb290INC30LDQsdC70L7QutC+0LLQsNC90L4uXG4iCisi0KnQvtCxINC00ZbQt9C90LDRgtC40YHRjyDQsdGW0LvRjNGI0LUsINC+0LfQvdCw0LnQvtC80YLQtdGB0Y8g0ZbQtyDRgdGC0L7RgNGW0L3QutC+0Y4g0LTQvtCy0ZbQtNC90LjQutCwINC3IHN1bG9naW4oOCkuXG4iCisiXG4iCisi0J3QsNGC0LjRgdC90ZbRgtGMIEVudGVyLCDRidC+0LEg0L/RgNC+0LTQvtCy0LbQuNGC0LguXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICLQktC60LDQttGW0YLRjCDQv9Cw0YDQvtC70Ywgcm9vdCwg0YnQvtCxINGD0LLRltC50YLQuCDQtNC+INGB0LjRgdGC0LXQvNC4OiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgItCd0LDRgtC40YHQvdGW0YLRjCBFbnRlciwg0YnQvtCxINGD0LLRltC50YLQuCDQtNC+INGB0LjRgdGC0LXQvNC4OiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLQktC60LDQttGW0YLRjCDQv9Cw0YDQvtC70Ywgcm9vdCwg0YnQvtCxINCy0LjQutC+0L3QsNGC0Lgg0LTRltGXINC3INC/0ZbQtNGC0YDQuNC80LDQvdC90Y8g0L/RgNCw0YbQtdC30LTQsNGC0L3QvtGB0YLRliDRgdC40YHRgtC10LzQuFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLQndCw0YLQuNGB0L3RltGC0YwgRW50ZXIsINGJ0L7QsSDQv9C10YDQtdC50YLQuCDQtNC+INGA0LXQttC40LzRgyDRgdGD0L/RgNC+0LLQvtC00YNcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIob3IgcHJlc3MgQ29udHJvbC1EIHRvIGNvbnRpbnVlKTogIgorbXNnc3RyICIo0LDQsdC+INC90LDRgtC40YHQvdGW0YLRjCBDdHJsLUQsINGJ0L7QsSDQv9GA0L7QtNC+0LLQttC40YLQuCk6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworbXNnaWQgImNoYW5nZSBkaXJlY3RvcnkgdG8gc3lzdGVtIHJvb3QgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LfQvNGW0L3QuCDQutCw0YLQsNC70L7Qs9GDINC90LAg0LrQvtGA0LXQvdC10LLQuNC5INC60LDRgtCw0LvQvtCzINGB0LjRgdGC0LXQvNC4INC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHNldGV4ZWNjb24iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFvQv9GA0LjRgdGC0YDRltC5IHR0eV1cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICLQktGF0ZbQtCDQtNC70Y8g0L7QtNC90L7Qs9C+INC60L7RgNC40YHRgtGD0LLQsNGH0LAuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAg0LfQsNC/0YPRgdGC0LjRgtC4INC+0LHQvtC70L7QvdC60YMg0YDQtdGU0YHRgtGA0LDRhtGW0ZdcbiIKKyIgLXQsIC0tdGltZW91dCA80YHQtdC60YPQvdC00Lg+ICDQvNCw0LrRgdC40LzQsNC70YzQvdCwINGC0YDQuNCy0LDQu9GW0YHRgtGMINC+0YfRltC60YPQstCw0L3QvdGPINC90LAg0L/QsNGA0L7Qu9GMICjRgtC40L/QvtCy0L4g0L3QtSDQvtCx0LzQtdC20YPRlNGC0YzRgdGPKVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAg0L/QtdGA0LXQstGW0YDQuNGC0Lgg0YTQsNC50LvQuCDQv9Cw0YDQvtC70ZbQsiDQsdC10LfQv9C+0YHQtdGA0LXQtNC90YzQviwg0Y/QutGJ0L4g0YbQtSDQvdC1INC80L7QttC1INC30YDQvtCx0LjRgtC4IGdldHB3bmFtKDMpXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINGH0LDRgdGDINC+0YfRltC60YPQstCw0L3QvdGPIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0Cittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgItC30LDQv9GD0YHQutCw0YLQuCDRhtGOINC/0YDQvtCz0YDQsNC80YMg0LzQvtC20L3QsCDQu9C40YjQtSDQstGW0LQg0ZbQvNC10L3RliDRgdGD0L/QtdGA0LrQvtGA0LjRgdGC0YPQstCw0YfQsCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkyNworbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDQutC+0L3RgdC+0LvRjCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0LHQsNC30YMg0LTQsNC90LjRhSDQv9Cw0YDQvtC70ZbQsiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0L7QsdC+0LvQvtC90LrRgyBzdVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorItCf0LXRgNC10LLQuNGJ0LXQvdC+INGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3Rj1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTA0OQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisi0L3QtSDQstC00LDQu9C+0YHRjyDQtNC+0YfQtdC60LDRgtC40YHRjyDQvdCwINCy0ZbQtNC/0L7QstGW0LTRjCDQvtCx0L7Qu9C+0L3QutC4IHN1XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQtNC+0LTQsNGC0Lgg0L/Rg9C90LrRgiDRgdC/0L7RgdGC0LXRgNC10LbQtdC90L3RjyBpbm90aWZ5LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0YHQv9C40YHQvtC6INC/0L7QtNGW0LkgaW5vdGlmeSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgItCX0LDQudCy0LjQuSDRgdC40LzQstC+0Lsg0L3QvtCy0L7Qs9C+INGA0Y/QtNC60LAg0YMg0YTQsNC50LvRli4g0JfQsNCy0LXRgNGI0LXQvdC90Y8g0YDQvtCx0L7RgtC4LiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBb0L3QsNC30LLQsCDRhNCw0LnQu9CwXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwNgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INC00LDQvNC/INGE0LDQudC70ZbQsiBVVE1QINGWIFdUTVAg0YMg0YTQvtGA0LzQsNGC0ZYg0LTQsNC90LjRhSDQsdC10Lcg0L7QsdGA0L7QsdC60LguXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICDQstC40LLQvtC00LjRgtC4INC00L7Qv9C40YHQsNC90ZYg0LTQsNC90ZYg0YMg0YDQsNC30ZYg0LfQsdGW0LvRjNGI0LXQvdC90Y8g0YTQsNC50LvQsFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiAtciwgLS1yZXZlcnNlICDQstC40LrQvtC90YPQstCw0YLQuCDQt9Cy0L7RgNC+0YLQvdC40Lkg0LfQsNC/0LjRgSDQt9GW0LHRgNCw0L3QuNGFINC00LDQvdC40YUg0LTQviDRhNCw0LnQu9CwIHV0bXBcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzRhNCw0LnQuz4gINC30LDQv9C40YHQsNGC0Lgg0LTQsNC90ZYg0LTQviDRhNCw0LnQu9CwINC30LDQvNGW0YHRgtGMINGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstC40LLQtdC00LXQvdC90Y9cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrQuCDQstC60LDQt9Cw0L3QvtCz0L4g0L3QuNC20YfQtSDQtNC20LXRgNC10LvQsCDQstGF0ZbQtNC90LjRhSDQtNCw0L3QuNGFINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAi0JfQstC+0YDQvtGC0L3QuNC5INC00LDQvNC/IHV0bXAgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgItCU0LDQvNC/IHV0bXAgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDRgtC40LzRh9Cw0YHQvtCy0LjQuSDRhNCw0LnQuyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0YHRgtCy0L7RgNC10L3QvdGPINC/0L7RgdC40LvQsNC90L3RjyDQvdCwICVzINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC60L7QvdGC0LXQutGB0YIg0LTQu9GPICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQutC+0L3RgtC10LrRgdGCINC00LvRjyAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bmNoYW5nZWQiCittc2dzdHIgIiVzINC90LUg0LfQvNGW0L3QtdC90L4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTcKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNCx0LvQvtC60YPQstCw0YLQuCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAi0L3QtSDQsdGD0LvQviDQstC90LXRgdC10L3QviDQttC+0LTQvdC40YUg0LfQvNGW0L0iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTMKK21zZ2lkICJjYW5ub3QgY2htb2QgZmlsZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDRgNC10LbQuNC8INC00L7RgdGC0YPQv9GDINC00L4g0YTQsNC50LvQsCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjMwOAorbXNnaWQgIkVkaXQgdGhlIHBhc3N3b3JkIG9yIGdyb3VwIGZpbGUuXG4iCittc2dzdHIgItCg0LXQtNCw0LPRg9Cy0LDRgtC4INC/0LDRgNC+0LvRjCDQsNCx0L4g0YTQsNC50Lsg0LPRgNGD0L8uXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgItCd0LAg0YbRltC5INGB0LjRgdGC0LXQvNGWINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRjtGC0YzRgdGPINGC0ZbQvdGM0L7QstGWINCz0YDRg9C/0LguXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgItCd0LAg0YbRltC5INGB0LjRgdGC0LXQvNGWINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRjtGC0YzRgdGPINGC0ZbQvdGM0L7QstGWINC/0LDRgNC+0LvRli5cbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgItCR0LDQttCw0ZTRgtC1INCy0ZbQtNGA0LXQtNCw0LPRg9Cy0LDRgtC4ICVzINC30LDRgNCw0LcgW3kvbl0/ICIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgIChsaWJibGtpZCAlcywgJXMpXG4iCittc2dzdHIgIiVzINC3ICVzICAobGliYmxraWQgJXMsICVzKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgLS1sYWJlbCA80LzRltGC0LrQsD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA80YTQsNC50Ls+XSBbLWdobEx2XSBbLS1vdXRwdXQgPNGE0L7RgNC80LDRgj5dIFstLW1hdGNoLXRhZyA80LzRltGC0LrQsD5dIFxuIgorIiAgICAgICBbLS1tYXRjaC10b2tlbiA80LrQu9GO0Yc+XSBbPNC/0YDQuNGB0YLRgNGW0Lk+IC4uLl1cbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPNC80ZbRgtC60LA+XSBbLS1vZmZzZXQgPNC30YHRg9CyPl0gWy0tc2l6ZSA80YDQvtC30LzRltGAPl0gXG4iCisiICAgICAgIFstLW91dHB1dCA80YTQvtGA0LzQsNGCPl0gPNC/0YDQuNGB0YLRgNGW0Lk+IC4uLlxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiICVzIC1pIFstLW1hdGNoLXRhZyA80LzRltGC0LrQsD5dIFstLW91dHB1dCA80YTQvtGA0LzQsNGCPl0gPNC/0YDQuNGB0YLRgNGW0Lk+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKK21zZ2lkICIiCisiIC1jLCAtLWNhY2hlLWZpbGUgPGZpbGU+ICAgIHJlYWQgZnJvbSA8ZmlsZT4gaW5zdGVhZCBvZiByZWFkaW5nIGZyb20gdGhlIGRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA80YTQsNC50Ls+ICAgINGH0LjRgtCw0YLQuCDQtyDRhNCw0LnQu9CwIDzRhNCw0LnQuz4sINCwINC90LUg0Lcg0YLQuNC/0L7QstC+0LPQviDRhNCw0LnQu9CwINC60LXRiNGDXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKC1jIC9kZXYvbnVsbCDQvtC30L3QsNGH0LDRlCDCq9C90LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC60LXRiMK7KVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICDQvdC1INC60L7QtNGD0LLQsNGC0Lgg0L3QtdC/0YDQuNC30L3QsNGH0LXQvdGWINC00LvRjyDQtNGA0YPQutGDINGB0LjQvNCy0L7Qu9C4XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICDQv9GA0LjQsdGA0LDRgtC4INC30LDRgdGC0LDRgNGW0LvRliDQtNCw0L3RliDRltC3INC60LXRiNGDIGJsa2lkXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NworbXNnaWQgIiIKKyIgLW8sIC0tb3V0cHV0IDxmb3JtYXQ+ICAgICAgb3V0cHV0IGZvcm1hdDsgY2FuIGJlIG9uZSBvZjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQgb3IgZnVsbDsgKGRlZmF1bHQ6IGZ1bGwpXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0IDzRhNC+0YDQvNCw0YI+ICAgICAg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3Rjzsg0LzQvtC20LvQuNCy0ZYg0LfQvdCw0YfQtdC90L3RjzpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSwgZGV2aWNlLCBleHBvcnQg0YLQsCBmdWxsOyAo0YLQuNC/0L7QstC1OiBmdWxsKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRg9GB0ZbRhSDQstGW0LTQvtC80LjRhSDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvC9SQUlEINGWINCy0LjQudGC0LhcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIgLXMsIC0tbWF0Y2gtdGFnIDzQvNGW0YLQutCwPiAgICDQv9C+0LrQsNC30LDRgtC4INC70LjRiNC1INCy0LrQsNC30LDQvdGWINC80ZbRgtC60LggKNGC0LjQv9C+0LLQviDQsdGD0LTQtSDQv9C+0LrQsNC30LDQvdC+INGD0YHRliDQvNGW0YLQutC4KVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTEKK21zZ2lkICIgLXQsIC0tbWF0Y2gtdG9rZW4gPHRva2VuPiAgZmluZCBkZXZpY2Ugd2l0aCBhIHNwZWNpZmljIHRva2VuIChOQU1FPXZhbHVlIHBhaXIpXG4iCittc2dzdHIgIiAtdCwgLS1tYXRjaC10b2tlbiA80LrQu9GO0Yc+ICAg0LfQvdCw0LnRgtC4INC/0YDQuNGB0YLRgNGW0Lkg0LfQsCDQstC60LDQt9Cw0L3QuNC8INC60LvRjtGH0LXQvCAo0L/QsNGA0L7RjiDQndCQ0JfQktCQPdC30L3QsNGH0LXQvdC90Y8pXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MgorbXNnaWQgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICBsb29rIHVwIG9ubHkgZmlyc3QgZGV2aWNlIHdpdGggdG9rZW4gc3BlY2lmaWVkIGJ5IC10XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LW9uZSAgICAgICAgICAgICDRiNGD0LrQsNGC0Lgg0LvQuNGI0LUg0L/QtdGA0YjQuNC5INC/0YDQuNGB0YLRgNGW0Lkg0ZbQtyDQutC70Y7Rh9C10LwsINCy0LrQsNC30LDQvdC40Lwg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gLXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCittc2dpZCAiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgICAgIGNvbnZlcnQgTEFCRUwgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC1MLCAtLWxhYmVsIDzQvNGW0YLQutCwPiAgICAgICAg0L/QtdGA0LXRgtCy0L7RgNC40YLQuCDQvNGW0YLQutGDINC90LAg0L3QsNC30LLRgyDQv9GA0LjRgdGC0YDQvtGOXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgINC/0LXRgNC10YLQstC+0YDQuNGC0LggVVVJRCDQvdCwINC90LDQt9Cy0YMg0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTUKK21zZ2lkICIgPGRldj4gICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeSBkZXZpY2UocykgdG8gcHJvYmUgKGRlZmF1bHQ6IGFsbCBkZXZpY2VzKVxuIgorbXNnc3RyICIgPNC/0YDQuNGB0YLRgNGW0Lk+ICAgICAgICAgICAgICAgICDQstC60LDQt9Cw0YLQuCDQv9GA0LjRgdGC0YDRltC5ICjQv9GA0LjRgdGC0YDQvtGXKSDQtNC70Y8g0LfQvtC90LTRg9Cy0LDQvdC90Y8gKNGC0LjQv9C+0LLQviwg0YPRgdGWINC/0YDQuNGB0YLRgNC+0ZcpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YDQuCDQvdC40LfRjNC60L7RgNGW0LLQvdC10LLQvtCz0L4g0LfQvtC90LTRg9Cy0LDQvdC90Y86XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorbXNnaWQgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAg0L3QuNC30YzQutC+0YDRltCy0L3QtdCy0LUg0LfQvtC90LTRg9Cy0LDQvdC90Y8g0YHRg9C/0LXRgNCx0LvQvtC60ZbQsiAo0L/RgNC+0L/Rg9GB0YLQuNGC0Lgg0LrQtdGIKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IEkvTyBsaW1pdHNcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgINC30ZbQsdGA0LDRgtC4INC00LDQvdGWINGJ0L7QtNC+INC+0LHQvNC10LbQtdC90Ywg0LLQstC10LTQtdC90L3Rjy3QstC40LLQtdC00LXQvdC90Y9cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgICBvdmVyd3JpdGUgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPNGA0L7Qt9C80ZbRgD4gICAgICAgINC/0LXRgNC10LfQsNC/0LjRgdCw0YLQuCDRgNC+0LfQvNGW0YAg0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIC1PLCAtLW9mZnNldCA80LfRgdGD0LI+ICAgICAgICDQt9C+0L3QtNGD0LLQsNGC0Lgg0LfQsCDQstC60LDQt9Cw0L3QuNC8INC30YHRg9Cy0L7QvFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCittc2dpZCAiIC11LCAtLXVzYWdlcyA8bGlzdD4gICAgICAgIGZpbHRlciBieSBcInVzYWdlXCIgKGUuZy4gLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorbXNnc3RyICIgLXUsIC0tdXNhZ2VzIDzRgdC/0LjRgdC+0Lo+ICAgICAg0YTRltC70YzRgtGA0YPQstCw0YLQuCDQt9CwINCy0LjQutC+0YDQuNGB0YLQsNC90L3Rj9C8ICjQvdCw0L/RgNC40LrQu9Cw0LQgLXUgZmlsZXN5c3RlbSxyYWlkKVxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAzCittc2dpZCAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorbXNnc3RyICIgLW4sIC0tbWF0Y2gtdHlwZXMgPNGB0L/QuNGB0L7Quj4g0YTRltC70YzRgtGA0YPQstCw0YLQuCDQt9CwINGC0LjQv9C+0Lwg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCAo0L3QsNC/0YDQuNC60LvQsNC0IC1uIHZmYXQsZXh0MylcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIo0LfQvNC+0L3RgtC+0LLQsNC90L4sINC90LXQstGW0LTQvtC80LAg0YLQvtGH0LrQsCkiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiKNCy0LjQutC+0YDQuNGB0YLQsNC90L4pIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiKNC90LUg0LfQvNC+0L3RgtC+0LLQsNC90L4pIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6ICVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpdmFsZW50IHJlc3VsdCAocHJvYmFibHkgbW9yZSBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlLCB1c2Ugd2lwZWZzKDgpIHRvIHNlZSBtb3JlIGRldGFpbHMpIgorbXNnc3RyICIlczog0L3QtdC+0LTQvdC+0LfQvdCw0YfQvdC40Lkg0YDQtdC30YPQu9GM0YLQsNGCICjQudC80L7QstGW0YDQvdC+LCDQvdCwINC/0YDQuNGB0YLRgNC+0Zcg0LHRltC70YzRiNC1INGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8OyDRgdC60L7RgNC40YHRgtCw0LnRgtC10YHRjyB3aXBlZnMoOCksINGJ0L7QsSDQtNGW0LfQvdCw0YLQuNGB0Y8g0LHRltC70YzRiNC1KSIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC1INC60LvRjtGH0L7QstC1INGB0LvQvtCy0L4g0YMg0LDRgNCz0YPQvNC10L3RgtGWIC11IDxsaXN0Pjogwqslc8K7IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjExCittc2dpZCAiZXJyb3I6IC11IDxsaXN0PiBhcmd1bWVudCBpcyBlbXB0eSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6INC/0L7RgNC+0LbQvdGW0Lkg0LDRgNCz0YPQvNC10L3RgiAtdSA80YHQv9C40YHQvtC6PiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0ICVzIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1OSBtaXNjLXV0aWxzL3dpcGVmcy5jOjY5NworbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LfRgdGD0LLRgyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2NgorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICLQktC60LDQt9Cw0L3QviDQt9Cw0LHQsNCz0LDRgtC+INC80ZbRgtC+0LoiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRgNC+0LfQvNGW0YDRgyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAi0JzQvtC20L3QsCDRiNGD0LrQsNGC0Lgg0LvQuNGI0LUg0LTQu9GPINC+0LTQvdGW0ZTRlyDQv9Cw0YDQuCDQndCQ0JfQktCQPdC30L3QsNGH0LXQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3ODMKK21zZ2lkICItdCBuZWVkcyBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIi10INC/0L7RgtGA0LXQsdGD0ZQg0L/QsNGA0Lgg0J3QkNCX0JLQkD3Qt9C90LDRh9C10L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAi0KMg0L3QuNC30YzQutC+0YDRltCy0L3QtdCy0L7QvNGDINGA0LXQttC40LzRliDQt9C+0L3QtNGD0LLQsNC90L3RjyDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4g0L/RltC00YLRgNC40LzQutC4INGE0L7RgNC80LDRgtGDINCy0LjQstC10LTQtdC90L3RjyDCq2xpc3TCuyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg0NgorbXNnaWQgIlRoZSBsb3ctbGV2ZWwgcHJvYmluZyBtb2RlIHJlcXVpcmVzIGEgZGV2aWNlIgorbXNnc3RyICLQlNC70Y8g0YDQtdC20LjQvNGDINC90LjQt9GM0LrQvtGA0ZbQstC90LXQstC+0LPQviDQt9C+0L3QtNGD0LLQsNC90L3RjyDRgdC70ZbQtCDQstC60LDQt9Cw0YLQuCDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YAg0L/QvtGI0YPQutGDINC/0L7RgtGA0LXQsdGD0ZQg0LLQuNC30L3QsNGH0LXQvdC90Y8g0YLQuNC/0YMg0L/QvtGI0YPQutGDINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIC10IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQxMQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQvNGW0YHRj9GG0ZbQsiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRgtC40LbQvdGPIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyMQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQtSDQt9C90LDRh9C10L3QvdGPINGC0LjQttC90Y86INC80LDQu9C+INCx0YPRgtC4INCy0ZbQtCAxINC00L4gNTQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDY2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB0aW1lc3RhbXAgb3IgdW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGH0LDRgdC+0LLRgyDQv9C+0LfQvdCw0YfQutGDINCw0LHQviDQvdC10LLRltC00L7QvNCwINC90LDQt9Cy0LAg0LzRltGB0Y/RhtGPOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LUg0LfQvdCw0YfQtdC90L3RjyDQtNC90Y8iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc3IG1pc2MtdXRpbHMvY2FsLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60L7QstC1INC30L3QsNGH0LXQvdC90Y8g0LTQvdGPOiDQvNCw0LvQviDQsdGD0YLQuCAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4MSBtaXNjLXV0aWxzL2NhbC5jOjQ4OQorbXNnaWQgImlsbGVnYWwgbW9udGggdmFsdWU6IHVzZSAxLTEyIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8g0LzRltGB0Y/RhtGPOiDQstC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1IDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LAg0L3QsNC30LLQsCDQvNGW0YHRj9GG0Y86ICVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5MiBtaXNjLXV0aWxzL2NhbC5jOjQ5NgorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LUg0LfQvdCw0YfQtdC90L3RjyDRgNC+0LrRgyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8g0YDQvtC60YM6INC30L3QsNGH0LXQvdC90Y8g0LzQsNC70L4g0LHRg9GC0Lgg0LTQvtC00LDRgtC90LjQvCDRhtGW0LvQuNC8IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LjQuSDQvdC+0LzQtdGAINGC0LjQttC90Y86INGDINGA0L7RhtGWICVkINC90LXQvNCw0ZQg0YLQuNC20L3RjyDQtyDQvdC+0LzQtdGA0L7QvCAlZCIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiVzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlMDRkIgorbXNnc3RyICIlMDRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIlcyAlMDRkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gW1tb0LTQtdC90YxdINC80ZbRgdGP0YbRjF0g0YDRltC6XVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRh9Cw0YHQvtCy0LAg0L/QvtC30L3QsNGH0LrQsHzQvdCw0LfQstCwINC80ZbRgdGP0YbRjz5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgItCf0L7QutCw0Lcg0LrQsNC70LXQvdC00LDRgNGPINCw0LHQviDQudC+0LPQviDQv9C10LLQvdC+0Zcg0YfQsNGB0YLQuNC90LguXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAi0K/QutGJ0L4g0L3QtSDQstC60LDQt9Cw0L3QviDQsNGA0LPRg9C80LXQvdGC0ZbQsiwg0LHRg9C00LUg0L/QvtC60LDQt9Cw0L3QviDQutCw0LvQtdC90LTQsNGAINC/0L7RgtC+0YfQvdC+0LPQviDQvNGW0YHRj9GG0Y8uXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0LvQuNGI0LUg0LTQu9GPINC/0L7RgtC+0YfQvdC+0LPQviDQvNGW0YHRj9GG0Y8gKNGC0LjQv9C+0LLQvilcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCittc2dpZCAiIC0zLCAtLXRocmVlICAgICAgICAgICBzaG93IHRocmVlIG1vbnRocyBzcGFubmluZyB0aGUgZGF0ZVxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0LTQu9GPINC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviwg0L/QvtGC0L7Rh9C90L7Qs9C+INGWINC90LDRgdGC0YPQv9C90L7Qs9C+INC80ZbRgdGP0YbRj1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDQKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLW4sIC0tbW9udGhzIDzRh9C40YHQu9C+PiAg0L/QvtC60LDQt9Cw0YLQuCDQstC60LDQt9Cw0L3RgyDQutGW0LvRjNC60ZbRgdGC0Ywg0LzRltGB0Y/RhtGW0LIg0Lcg0LzRltGB0Y/RhtGPINC00LDRgtC4XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtUywgLS1zcGFuICAgICAgICAgICAg0LLQutC70Y7Rh9Cw0YLQuCDQtNCw0YLRgywg0Y/QutGJ0L4g0L/QvtC60LDQt9GD0ZTRgtGM0YHRjyDQtNC10LrRltC70YzQutCwINC80ZbRgdGP0YbRltCyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAg0L/QtdGA0YjQuNC8INC00L3QtdC8INGC0LjQttC90Y8g0ZQg0L3QtdC00ZbQu9GPXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAg0L/QtdGA0YjQuNC8INC00L3QtdC8INGC0LjQttC90Y8g0ZQg0L/QvtC90LXQtNGW0LvQvtC6XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC00LXQvdGMINGA0L7QutGDINC00LvRjyDRg9GB0ZbRhSDQutCw0LvQtdC90LTQsNGA0ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiICAgICAtLXJlZm9ybSA80LfQvdCw0Yc+ICAg0LTQsNGC0LAg0LPRgNC40LPQvtGA0ZbQsNC90YHRjNC60L7RlyDRgNC10YTQvtGA0LzQuCAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgLS1pc28gICAgICAgICAgICAg0YLQtSDRgdCw0LzQtSwg0YnQviAtLXJlZm9ybT1pc29cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTExCittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAteSwgLS15ZWFyICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDQtNCw0L3RliDQtNC70Y8g0YPRgdGM0L7Qs9C+INGA0L7QutGDXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiAtWSwgLS10d2VsdmUgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDQvdCw0YHRgtGD0L/QvdGWINC00LLQsNC90LDQtNGG0Y/RgtGMINC80ZbRgdGP0YbRltCyXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTzRh9C40YHQu9C+Pl0gINCy0LjQstC10YHRgtC4INC90L7QvNC10YDQuCDRgtC40LbQvdGPINGDINGE0L7RgNC80LDRgtGWINCh0KjQkCDQsNCx0L4gSVNPLTg2MDFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiICAgICAtY29sb3JbPTzRg9C80L7QstCwPl0gINGA0L7Qt9GE0LDRgNCx0L7QstGD0LLQsNC90L3RjyDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhSAoYXV0byAo0LDQstGC0L4pLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBhbHdheXMgKNC30LDQstC20LTQuCkg0LDQsdC+IG5ldmVyICjQvdGW0LrQvtC70LgpKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gcGFnZXMiCittc2dzdHIgItGB0YLQsNC70ZYg0LTQsNC90ZYg0YTQsNC50LvQsCDRgyDQv9Cw0LzigJnRj9GC0ZYg0YMg0YHRgtC+0YDRltC90LrQsNGFIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MgorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgItGB0YLQsNC70ZYg0LTQsNC90ZYg0YTQsNC50LvQsCDRgyDQv9Cw0LzigJnRj9GC0ZYg0YMg0LHQsNC50YLQsNGFIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MworbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgItGA0L7Qt9C80ZbRgCDRhNCw0LnQu9CwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDRhNCw0LnQu9CwIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0LggbWluY29yZTogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCBtbWFwOiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4OiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCBmc3RhdDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdINGE0LDQudC7Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI2OQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YDQvtC30LzRltGAINGDINCx0LDQudGC0LDRhSwg0LAg0L3QtSDRgyDQt9GA0YPRh9C90L7QvNGDINC00LvRjyDRh9C40YLQsNC90L3RjyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrQuFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPNGB0L/QuNGB0L7Quj4g0YHRgtC+0LLQv9GH0LjQutC4INCy0LjQstC10LTQtdC90LjRhSDQtNCw0L3QuNGFXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LHQtdC3INC+0LHRgNC+0LHQutC4XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjM0MyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5MworbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+INC20L7QtNC90L7Qs9C+INGE0LDQudC70LAiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSB7TEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUx9PTx2YWx1ZT5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PNC30L3QsNGH0LXQvdC90Y8+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICLQl9C90LDQudGC0Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMg0LfQsCDQvNGW0YLQutC+0Y4g0LDQsdC+IFVVSUQuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INCy0LjQt9C90LDRh9C10L3QvdGPIMKrJXPCuyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6OTkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICLQv9GA0LjRgdGC0YDRltC5LdC00LbQtdGA0LXQu9C+IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICLRgtC+0YfQutCwINC80L7QvdGC0YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi0YLQuNC/INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICLQstGB0ZYg0L/QsNGA0LDQvNC10YLRgNC4INC80L7QvdGC0YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDMKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4INC80L7QvdGC0YPQstCw0L3QvdGPLCDRgdC/0LXRhtC40YTRltGH0L3RliDQtNC70Y8gVkZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8sINGB0L/QtdGG0LjRhNGW0YfQvdGWINC00LvRjyDQpNChIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICLQvNGW0YLQutCwINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICJVVUlEINGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNworbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAi0LzRltGC0LrQsCDRgNC+0LfQtNGW0LvRgyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICLQvdC+0LzQtdGAINC/0YDQuNGB0YLRgNC+0Y4g0L7RgdC90L7QstC90LjQuTrQtNC+0LTQsNGC0LrQvtCy0LjQuSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAi0LTRltGPLCDQstC40Y/QstC70LXQvdCwIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICLRgdGC0LDRgNGWINC/0LDRgNCw0LzQtdGC0YDQuCDQvNC+0L3RgtGD0LLQsNC90L3Rjywg0LfQsdC10YDQtdC20LXQvdGWIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEyCittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICLQv9C+0L/QtdGA0LXQtNC90Y8g0YLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3Rjywg0LfQsdC10YDQtdC20LXQvdCwINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICLRgNC+0LfQvNGW0YAg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAi0LLRltC70YzQvdC40Lkg0L7QsSfRlNC8INGDINGE0LDQudC70L7QstGW0Lkg0YHQuNGB0YLQtdC80ZYiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICLQstC40LrQvtGA0LjRgdGC0LDQvdC40Lkg0YDQvtC30LzRltGAINGDINGE0LDQudC70L7QstGW0Lkg0YHQuNGB0YLQtdC80ZYiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgItCy0ZbQtNGB0L7RgtC+0Log0LLQuNC60L7RgNC40YHRgtCw0L3QvtGB0YLRliDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKK21zZ2lkICJmaWxlc3lzdGVtIHJvb3QiCittc2dzdHIgItC60L7RgNGW0L3RjCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICLRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQt9Cw0LLQtNCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAi0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0LzQvtC90YLRg9Cy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAi0LTQvtC00LDRgtC60L7QstGWINC/0L7Qu9GPINC80L7QvdGC0YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgItCf0YDQsNC/0L7RgNGG0ZYg0YDQvtC30YjQuNGA0LXQvdC90Y8gVkZTIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAi0KLRgNC40LLQsNC70ZbRgdGC0Ywg0L/RgNC+0LzRltC20LrRgyDQvNGW0LYg0LLQuNC60L7QvdCw0L3QvdGP0LzQuCBkdW1wKDgpINGDINC00L3Rj9GFIFvQu9C40YjQtSBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMworbXNnaWQgInBhc3MgbnVtYmVyIG9uIHBhcmFsbGVsIGZzY2soOCkgW2ZzdGFiIG9ubHldIgorbXNnc3RyICLQv9C10YDQtdC00LDRgtC4INC60ZbQu9GM0LrRltGB0YLRjCDQv9Cw0YDQsNC70LXQu9GM0L3QuNGFIGZzY2soOCkgW9C70LjRiNC1IGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQsCDQtNGW0Y86ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAidW1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJyZW1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICJtb3ZlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGW0L3RltGG0ZbQsNC70ZbQt9GD0LLQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4gbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjg0MSB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDRltGC0LXRgNCw0YLQvtGAIGxpYm1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFiZGlmZiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4IHRhYmRpZmYgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBwb2xsKCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiB8IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPiA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlIDxkZXZpY2U+XSBbLS10YXJnZXQgPHBhdGg+IHwgLS1tb3VudHBvaW50IDxkaXI+XVxuIgorbXNnc3RyICIiCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF1cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80L/RgNC40YHRgtGA0ZbQuT4gfCA80YLQvtGH0LrQsF/QvNC+0L3RgtGD0LLQsNC90L3Rjz5cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80L/RgNC40YHRgtGA0ZbQuT4gPNGC0L7Rh9C60LBf0LzQvtC90YLRg9Cy0LDQvdC90Y8+XG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWy0tc291cmNlIDzQv9GA0LjRgdGC0YDRltC5Pl0gWy0tdGFyZ2V0IDzRgtC+0YfQutCwX9C80L7QvdGC0YPQstCw0L3QvdGPPiB8IC0tbW91bnRwb2ludCA80LrQsNGC0LDQu9C+0LM+XVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTk5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQl9C90LDQudGC0LggKNC30LzQvtC90YLQvtCy0LDQvdGDKSDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgy5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMgorbXNnaWQgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1zLCAtLWZzdGFiICAgICAgICAgICAg0YjRg9C60LDRgtC4INGDINGB0YLQsNGC0LjRh9C90ZbQuSDRgtCw0LHQu9C40YbRliDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAg0YjRg9C60LDRgtC4INGDINGC0LDQsdC70LjRhtGWINC30LzQvtC90YLQvtCy0LDQvdC40YUg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LxcbiIKKyJcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICjQstC60LvRjtGH0LDRlCDQv9Cw0YDQsNC80LXRgtGA0Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8g0ZbQtyDQv9GA0L7RgdGC0L7RgNGDINC60L7RgNC40YHRgtGD0LLQsNGH0LApXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgINGI0YPQutCw0YLQuCDRgyDRgtCw0LHQu9C40YbRliDRj9C00YDQsCDQt9C80L7QvdGC0L7QstCw0L3QuNGFXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvCAo0YLQuNC/0L7QstCwINC/0L7QstC10LTRltC90LrQsClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorbXNnaWQgIiAtcCwgLS1wb2xsWz08bGlzdD5dICAgIG1vbml0b3IgY2hhbmdlcyBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcCwgLS1wb2xsWz080YHQv9C40YHQvtC6Pl0gINGB0YLQtdC20LjRgtC4INC30LAg0LfQvNGW0L3QsNC80Lgg0YMg0YLQsNCx0LvQuNGG0ZYg0LfQvNC+0L3RgtC+0LLQsNC90LjRhSDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIgorIiAtdywgLS10aW1lb3V0IDzRh9C40YHQu9C+PiAg0LLQtdGA0YXQvdGPINC80LXQttCwINGH0LDRgdGDINC+0YfRltC60YPQstCw0L3QvdGPINGDINC80ZbQu9GW0YHQtdC60YPQvdC00LDRhSwg0Y/QutGDINCx0LvQvtC60YPQstCw0YLQuNC80LUgLS1wb2xsXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BLCAtLWFsbCAgICAgICAgICAgICAg0LLQuNC80LrQvdGD0YLQuCDRg9GB0ZYg0LLQsdGD0LTQvtCy0LDQvdGWINGE0ZbQu9GM0YLRgNC4LCDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDRg9GB0ZbRhSDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIC1hLCAtLWFzY2lpICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC00LvRjyDRhNC+0YDQvNCw0YLRg9Cy0LDQvdC90Y8g0YHQuNC80LLQvtC70LggQVNDSUlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgNC+0LfQvNGW0YAg0YMg0LHQsNC50YLQsNGFLCDQsCDQvdC1INGDINC30YDRg9GH0L3QvtC80YMg0LTQu9GPINGH0LjRgtCw0L3QvdGPINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTUKK21zZ2lkICIgLUMsIC0tbm9jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgd2hlbiBjb21wYXJpbmcgcGF0aHNcbiIKK21zZ3N0ciAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAg0L3QtSDQstC40LrQvtC90YPQstCw0YLQuCDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8g0LTQviDQutCw0L3QvtC90ZbRh9C90L7RlyDRhNC+0YDQvNC4INC/0ZbQtCDRh9Cw0YEg0L/QvtGA0ZbQstC90Y/QvdC90Y8g0YjQu9GP0YXRltCyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTYKK21zZ2lkICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tY2Fub25pY2FsaXplICAgICDQstC40LrQvtC90YPQstCw0YLQuCDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8g0LTQviDQutCw0L3QvtC90ZbRh9C90L7RlyDRhNC+0YDQvNC4INC00LvRjyDQstC40LLQtdC00LXQvdC40YUg0YjQu9GP0YXRltCyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAg0ZbQvNGW0YLRg9Cy0LDRgtC4INCy0LjQstGW0LQgZGYoMSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPNGB0LvQvtCy0L4+INC90LDQv9GA0Y/QvNC+0Log0L/QvtGI0YPQutGDLCDCq2ZvcndhcmTCuyAo0LLQv9C10YDQtdC0KSDQsNCx0L4gwqtiYWNrd2FyZMK7ICjQvdCw0LfQsNC0KVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICDQv9C10YDQtdGC0LLQvtGA0Y7QstCw0YLQuCDQvNGW0YLQutC4IChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDQvdCwINC90LDQt9Cy0Lgg0L/RgNC40YHRgtGA0L7Rl9CyXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgLUYsIC0tdGFiLWZpbGUgPNGI0LvRj9GFPiAg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90LjQuSDRhNCw0LnQuyDQtNC70Y8g0L/QsNGA0LDQvNC10YLRgNGW0LIgLXMsIC1tINGC0LAgLWtcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMgorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LvQuNGI0LUg0L/QtdGA0YjRgyDQt9GWINC30L3QsNC50LTQtdC90LjRhSDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICDRltC90LLQtdGA0YLRg9Cy0LDRgtC4INC60YDQuNGC0LXRgNGW0Zcg0LLRltC00L/QvtCy0ZbQtNC90L7RgdGC0ZZcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyBKU09OXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjUgc3lzLXV0aWxzL2xzbnMuYzo5MDIKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0LjRgdGPINC00LvRjyDQstC40LLQtdC00LXQvdC90Y8g0YTQvtGA0LzQsNGCINGB0L/QuNGB0LrRg1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCittc2dzdHIgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INC/0YDQvtGB0YLRltGAINC90LDQt9CyICAgICAgICAgICAgICAgICAgICAgICAgICAo0YTQsNC50LsgL3Byb2MvPHRpZD4vbW91bnRpbmZvKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQt9Cw0LPQvtC70L7QstC60Lgg0YHRgtC+0LLQv9GH0LjQutGW0LJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIgLU8sIC0tb3B0aW9ucyA80YHQv9C40YHQvtC6PiDQvtCx0LzQtdC20LjRgtC4INC90LDQsdGW0YAg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10Lwg0LfQsCDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4INC80L7QvdGC0YPQstCw0L3QvdGPXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAg0YHRgtC+0LLQv9GH0LjQutC4INCy0LjQstC10LTQtdC90L3Rjywg0Y/QutGWINCx0YPQtNC1INC/0L7QutCw0LfQsNC90L5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMAorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPINC60LvRjtGHPVwi0LfQvdCw0YfQtdC90L3Rj1wiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0YPRgdGW0YUg0L/RltC00LvQtdCz0LvQuNGFINC80L7QvdGC0YPQstCw0L3QvdGPINC00LvRjyDQstGW0LTQv9C+0LLRltC00L3QuNGFINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzIKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LHQtdC3INC+0LHRgNC+0LHQutC4XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKyIgLVMsIC0tc291cmNlIDzRgNGP0LTQvtC6PiAgINC/0YDQuNGB0YLRgNGW0Lkg0LTQu9GPINC80L7QvdGC0YPQstCw0L3QvdGPICjQt9CwINC90LDQt9Cy0L7Rjiwg0L7RgdC9OtC/0ZbQtCwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzUKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA80YjQu9GP0YU+ICAg0YjQu9GP0YUg0LTQviDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4LCDRj9C60L7RjiDRgdC70ZbQtCDRgdC60L7RgNC40YHRgtCw0YLQuNGB0Y9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorbXNnaWQgIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIKK21zZ3N0ciAiICAgICAtLXRyZWUgICAgICAgICAgICAg0YPQstGW0LzQutC90YPRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LTQtdGA0LXQstC+0LwsINGP0LrRidC+INC80L7QttC70LjQstC+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPNC60LDRgj4g0LrQsNGC0LDQu9C+0LMg0YLQvtGH0LrQuCDQvNC+0L3RgtGD0LLQsNC90L3Rj1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM4Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBGUyB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPNGB0L/QuNGB0L7Quj4gICDQvtCx0LzQtdC20LjRgtC4INC90LDQsdGW0YAg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10Lwg0LfQsCDRgtC40L/QsNC80Lgg0KTQoVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgLVUsIC0tdW5pcSAgICAgICAgICAgICDRltCz0L3QvtGA0YPQstCw0YLQuCDRhNCw0LnQu9C+0LLRliDRgdC40YHRgtC10LzQuCDQtyDQtNGD0LHQu9GO0LLQsNC90L3Rj9C8INC/0YDQuNC30L3QsNGH0LXQvdGMXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDAgbWlzYy11dGlscy9sc2xvY2tzLmM6NTA3IHN5cy11dGlscy9sc25zLmM6OTA3Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgINC90LUg0L7QsdGA0ZbQt9Cw0YLQuCDRgtC10LrRgdGCINGDINGB0YLQvtCy0L/Rh9C40LrQsNGFXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCBbL2Rpcl0g0LTQu9GPINC80L7QvdGC0YPQstCw0L3RjCBiaW5kINCw0LHQviBidHJmc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAteCwgLS12ZXJpZnkgICAgICAgICAgINC/0LXRgNC10LLRltGA0LjRgtC4INCy0LzRltGB0YIg0YLQsNCx0LvQuNGG0ZYg0LzQvtC90YLRg9Cy0LDQvdC90Y8gKNGC0LjQv9C+0LLQviBmc3RhYilcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNC+0LrQu9Cw0LTQvdGW0YjRliDQstGW0LTQvtC80L7RgdGC0ZZcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTM3MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGRpcmVjdGlvbiAnJXMnIgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0L3QsNC/0YDRj9C80L7QuiDCqyVzwrsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCIFRJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorbXNnaWQgIi0tcG9sbCBhY2NlcHRzIG9ubHkgb25lIGZpbGUsIGJ1dCBtb3JlIHNwZWNpZmllZCBieSAtLXRhYi1maWxlIgorbXNnc3RyICLQtyAtLXBvbGwg0LzQvtC20L3QsCDQstC60LDQt9GD0LLQsNGC0Lgg0LvQuNGI0LUg0L7QtNC40L0g0YTQsNC50LssINCw0LvQtSDRgyAtLXRhYi1maWxlINCy0LrQsNC30LDQvdC+INC00LXQutGW0LvRjNC60LAg0YTQsNC50LvRltCyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTIwCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4IC0tdGFyZ2V0INGWIC0tc291cmNlINC90LUg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YDQsNC30L7QvCDQtyDQtdC70LXQvNC10L3RgtCw0LzQuCDQutC+0LzQsNC90LTQvdC+0LPQviDRgNGP0LTQutCwLCDRj9C60ZYg0L3QtSDRlCDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTczCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgY2FjaGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDQutC10YggbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAi0L3QsNC00ZbQudGI0L7QsiDQt9Cw0L/QuNGCINC90LAg0YHRgtC+0LLQv9GH0LjQuiAlcywg0LDQu9C1IC0tcG9sbCDQvdC1INGD0LLRltC80LrQvdC10L3QviIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgItC/0YDQuNC30L3QsNGH0LXQvdC90Y8g0LLQutCw0LfQsNC90L4g0LTQtdC60ZbQu9GM0LrQsCDRgNCw0LfRltCyIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDQv9C+0YDRj9C00L7QujogJXMg0LLQutCw0LfQsNC90L4g0L/QtdGA0LXQtCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICLQvdC10LLQuNC30L3QsNGH0LXQvdCwINGG0ZbQu9GMIChmc19maWxlKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgItC90LXQutCw0L3QvtC90ZbRh9C90LjQuSDRiNC70Y/RhSDQv9GA0LjQt9C90LDRh9C10L3QvdGPICjQvdCw0YHQv9GA0LDQstC00ZYgJXMpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAi0L3QtdC00L7RgdGC0YPQv9C90LjQuSDQvdCwINC/0L7RgtGA0ZbQsdC90L7QvNGDINC00LvRjyDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8g0L/RgNC40LfQvdCw0YfQtdC90L3RljogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgdGFyZ2V0OiAlbSIKK21zZ3N0ciAi0L3QtdC00L7RgdGC0YPQv9C90LUg0L/RgNC40LfQvdCw0YfQtdC90L3RjzogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICLQv9GA0LjQt9C90LDRh9C10L3QvdGPINC90LUg0ZQg0LrQsNGC0LDQu9C+0LPQvtC8IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUyCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAi0L/RgNC40LfQvdCw0YfQtdC90L3RjyDQstC20LUg0ZbRgdC90YPRlCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHNvdXJjZTogJXM9JXMiCittc2dzdHIgItC90LXQtNC+0YHRgtGD0L/QvdC40Lkg0L3QsCDQv9C+0YLRgNGW0LHQvdC+0LzRgyDQtNC70Y8g0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPINC00LbQtdGA0LXQu9GWOiAlcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgItC90LXQtNC+0YHRgtGD0L/QvdC40Lk6ICVzPSVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzPSVzINGC0YDQsNC90YHQu9GM0L7QstCw0L3QviDRgyAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE4OQorbXNnaWQgInVuZGVmaW5lZCBzb3VyY2UgKGZzX3NwZWMpIgorbXNnc3RyICLQvdC10LLQuNC30L3QsNGH0LXQvdC1INC00LbQtdGA0LXQu9C+IChmc19zcGVjKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QsCDQvNGW0YLQutCwINC00LbQtdGA0LXQu9CwOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAi0L3QtSDQv9C10YDQtdCy0ZbRgNGP0YLQuCDQtNC20LXRgNC10LvQviAlcyAocHNldWRvL25ldCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgItC90LXQtNC+0YHRgtGD0L/QvdC1INC00LbQtdGA0LXQu9C+OiAlczogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLWJpbmQgbW91bnQgc291cmNlICVzIGlzIGEgZGlyZWN0b3J5IG9yIHJlZ3VsYXIgZmlsZSIKK21zZ3N0ciAi0LTQttC10YDQtdC70L4g0LzQvtC90YLRg9Cy0LDQvdC90Y8gJXMg0LHQtdC3INC/0YDQuNCy4oCZ0Y/Qt9C60Lgg0ZQg0LrQsNGC0LDQu9C+0LPQvtC8INCw0LHQviDQt9Cy0LjRh9Cw0LnQvdC40Lwg0YTQsNC50LvQvtC8IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgItC00LbQtdGA0LXQu9C+ICVzINC90LUg0ZQg0LHQu9C+0LrQvtCy0LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAi0LTQttC10YDQtdC70L4gJXMg0LLQttC1INGW0YHQvdGD0ZQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGA0Lgg0LLRltGA0YLRg9Cw0LvRjNC90L7RlyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4OiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgNC4INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80Lg6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4INC/0YDQvtGB0YLQvtGA0YMg0LrQvtGA0LjRgdGC0YPQstCw0YfQsDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdGWINC/0YDQsNCy0LjQu9CwINCy0ZbQtNC60LjQtNCw0L3QvdGPIHN3YXBhcmVhOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQv9Cw0YDQsNC80LXRgtGAINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYgc3dhcGFyZWEiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICLQvdC1INC/0LXRgNC10LLRltGA0Y/RgtC4INGC0LjQvyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4ICVzIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAi0KLQuNC/INGE0LDQudC70L7QstC+0Zcg0YHQuNGB0YLQtdC80Lggwqtub25lwrsg0YDQtdC60L7QvNC10L3QtNC+0LLQsNC90L4g0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1INC00LvRjyDQtNGW0Lkg0Lcg0L/RgNC40LLigJnRj9C30YPQstCw0L3QvdGPINCw0LHQviDQv9C10YDQtdGB0YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAi0JfQtNCw0ZTRgtGM0YHRjywg0YMg0L/QvtGC0L7Rh9C90L7QvNGDINGP0LTRgNGWINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQv9GW0LTRgtGA0LjQvNC60LggJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTkgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMAorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INGC0LjQvyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4INC90LAg0LTQuNGB0LrRgyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiVzINC90LUg0LLRltC00L/QvtCy0ZbQtNCw0ZQgJXMg0L3QsCDQtNC40YHQutGDIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9uLWRpc2sgJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICLQl9C00LDRlNGC0YzRgdGPLCDRgyDQv9C+0YLQvtGH0L3QvtC80YMg0Y/QtNGA0ZYg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC/0ZbQtNGC0YDQuNC80LrQuCAlcyDQvdCwINC00LjRgdC60YMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlMgdHlwZSBpcyAlcyIKK21zZ3N0ciAi0KLQuNC/0L7QvCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4INGUICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICLRgNC10LrQvtC80LXQvdC00L7QstCw0L3QvtGOINC60ZbQu9GM0LrRltGB0YLRjiDQv9Cw0YDQvtC70ZbQsiDQutC+0YDQtdC90LXQstC+0Zcg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCDRlCAxICjQv9C+0YLQvtGH0L3QvtGOINC60ZbQu9GM0LrRltGB0YLRjiDRlCAlZCkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgcGFyc2UgZXJyb3IiCittc2dpZF9wbHVyYWwgIiVkIHBhcnNlIGVycm9ycyIKK21zZ3N0clswXSAiJWQg0L/QvtC80LjQu9C60LAg0L7QsdGA0L7QsdC60LgiCittc2dzdHJbMV0gIiVkINC/0L7QvNC40LvQutC4INC+0LHRgNC+0LHQutC4IgorbXNnc3RyWzJdICIlZCDQv9C+0LzQuNC70L7QuiDQvtCx0YDQvtCx0LrQuCIKK21zZ3N0clszXSAiJWQg0L/QvtC80LjQu9C60LAg0L7QsdGA0L7QsdC60LgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCBlcnJvciIKK21zZ2lkX3BsdXJhbCAiLCAlZCBlcnJvcnMiCittc2dzdHJbMF0gIiwgJWQg0L/QvtC80LjQu9C60LAiCittc2dzdHJbMV0gIiwgJWQg0L/QvtC80LjQu9C60LgiCittc2dzdHJbMl0gIiwgJWQg0L/QvtC80LjQu9C+0LoiCittc2dzdHJbM10gIiwgJWQg0L/QvtC80LjQu9C60LAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCAlZCB3YXJuaW5nIgorbXNnaWRfcGx1cmFsICIsICVkIHdhcm5pbmdzIgorbXNnc3RyWzBdICIsICVkINC/0L7Qv9C10YDQtdC00LbQtdC90L3RjyIKK21zZ3N0clsxXSAiLCAlZCDQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y8iCittc2dzdHJbMl0gIiwgJWQg0L/QvtC/0LXRgNC10LTQttC10L3RjCIKK21zZ3N0clszXSAiLCAlZCDQv9C+0L/QtdGA0LXQtNC20LXQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzcywgbm8gZXJyb3JzIG9yIHdhcm5pbmdzIGRldGVjdGVkXG4iCittc2dzdHIgItCj0YHQv9GW0YUsINC90LUg0LLQuNGP0LLQu9C10L3QviDQv9C+0LzQuNC70L7QuiDQsNCx0L4g0L/QvtC/0LXRgNC10LTQttC10L3RjFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwMgorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAi0L/QvtGA0L7QttC90ZbQuSDQtNC+0LLQs9C40Lkg0L/QsNGA0LDQvNC10YLRgCDQv9GW0YHQu9GPINCw0YDQs9GD0LzQtdC90YLRgyAtbCDQsNCx0L4gLS1sb25nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyMworbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQsCDQvtCx0L7Qu9C+0L3QutCwINC/0ZbRgdC70Y8g0LDRgNCz0YPQvNC10L3RgtGDIC1zINCw0LHQviAtLXNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIDzRgNGP0LTQvtC6X9C/0LDRgNCw0LzQtdGC0YDRltCyPiA80L/QsNGA0LDQvNC10YLRgNC4PlxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFstLV0gPNGA0Y/QtNC+0Lpf0L/QsNGA0LDQvNC10YLRgNGW0LI+IDzQv9Cw0YDQsNC80LXRgtGA0Lg+XG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gLW98LS1vcHRpb25zIDzRgNGP0LTQvtC6X9C/0LDRgNCw0LzQtdGC0YDRltCyPiBb0L/QsNGA0LDQvNC10YLRgNC4XSBbLS1dIDzQv9Cw0YDQsNC80LXRgtGA0Lg+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICLQntCx0YDQvtCx0LvRj9GC0Lgg0L/QsNGA0LDQvNC10YLRgNC4INC60L7QvNCw0L3QtNC4LlxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzOQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAg0LTQvtCy0LPRliDQsNGA0LPRg9C80LXQvdGC0Lgg0LzQvtC20YPRgtGMINC/0L7Rh9C40L3QsNC70LjRgdGMINC3INC+0LTQvdC+0LPQviAtXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQwCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgIC1sLCAtLWxvbmdvcHRpb25zIDzQtNC+0LLQs9GWX9C/0LDRgNCw0Lw+INC00L7QstCz0ZYg0LLQtdGA0YHRltGXINC/0LDRgNCw0LzQtdGC0YDRltCyLCDRj9C60ZYg0YHQu9GW0LQg0YDQvtC30L/RltC30L3QsNCy0LDRgtC4XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIHRoZSBuYW1lIHVuZGVyIHdoaWNoIGVycm9ycyBhcmUgcmVwb3J0ZWRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPNC90LDQt9Cy0LBf0L/RgNC+0LPRgNCw0LzQuD4gICDQv9C+0LzQuNC70LrQuCDQstC40LLQvtC00LjRgtC4INCy0ZbQtCDRltC80LXQvdGWINGG0ZbRlNGXINC/0YDQvtCz0YDQsNC80LhcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA80YDRj9C00L7Qul/Qv9Cw0YDQsNC8PiAgINC60L7RgNC+0YLQutGWINCy0LXRgNGB0ZbRlyDQv9Cw0YDQsNC80LXRgtGA0ZbQsiwg0Y/QutGWINGB0LvRltC0INGA0L7Qt9C/0ZbQt9C90LDQstCw0YLQuFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgINCy0LjQvNC60L3Rg9GC0Lgg0YHQv9C+0LLRltGJ0LXQvdC90Y8g0L/RgNC+INC/0L7QvNC40LvQutC4INCy0ZbQtCBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LLQuNGH0LDQudC90ZYg0LTQsNC90ZZcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDUKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPNC+0LHQvtC70L7QvdC60LA+ICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgdGC0LjQu9GMINCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQu9Cw0L/QvtC6INGP0Log0YMg0L7QsdC+0LvQvtC90YbRllxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAg0L/QtdGA0LXQstGW0YDQuNGC0Lgg0LLQtdGA0YHRltGOIGdldG9wdCgxKVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NworbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAg0L3QtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LvQsNC/0LrQuCDRgyDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5NiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NgorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LzQsNGUINCw0YDQs9GD0LzQtdC90YLRgyDRgdC/0LXRhtC40YRf0LDRgNCzIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICLQstC90YPRgtGA0ZbRiNC90Y8g0L/QvtC80LjQu9C60LAsINC30LIn0Y/QttGW0YLRjNGB0Y8g0Lcg0LDQstGC0L7RgNC+0LwuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICLQvdC10LLRltC00L7QvNC40Lkg0YHQuNCz0L3QsNC7ICVzOyDQv9GA0LDQstC40LvRjNC90ZYg0YHQuNCz0L3QsNC70Lg6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDxwaWQ+fDzQvdCw0LfQstCwPi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLQn9GA0LjQvNGD0YHQvtCy0L4g0L/QtdGA0LXRgNCy0LDRgtC4INC/0YDQvtGG0LXRgS5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTgyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgINC90LUg0L7QsdC80LXQttGD0LLQsNGC0Lgg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPINC90LDQt9CyINC90LAgcGlkINC/0YDQvtGG0LXRgdCw0LzQuCDQtyDRgtC40LxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgINGB0LDQvNC40LwgdWlkLCDRidC+INGWINC/0L7RgtC+0YfQvdC40Lkg0L/RgNC+0YbQtdGBXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA80YHQuNCz0L3QsNC7PiAg0L3QsNC00ZbRgdC70LDRgtC4INCy0LrQsNC30LDQvdC40LkgPNGB0LjQs9C90LDQuz4g0LfQsNC80ZbRgdGC0YwgU0lHVEVSTVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlIDzQt9C90LDRh9C10L3QvdGPPiDQstC40LrQvtGA0LjRgdGC0LDRgtC4IHNpZ3F1ZXVlKDIpINC30LDQvNGW0YHRgtGMIGtpbGwoMikg0ZYg0L/QtdGA0LXQtNCw0YLQuCA80LfQvdCw0YfQtdC90L3Rjz4g0Y/QuiDQtNCw0L3RllxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODgKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0LggcGlkINCx0LXQtyDQvdCw0LTRgdC40LvQsNC90L3RjyDRgdC40LPQvdCw0LvRltCyINC/0YDQvtGG0LXRgdGW0LJcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg5Cittc2dpZCAiIC1sLCAtLWxpc3RbPTxzaWduYWw+XSAgbGlzdCBzaWduYWwgbmFtZXMsIG9yIGNvbnZlcnQgYSBzaWduYWwgbnVtYmVyIHRvIGEgbmFtZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdFs9PNGB0LjQs9C90LDQuz5dICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0L3QsNC30LIg0YHQuNCz0L3QsNC70ZbQsiDQsNCx0L4g0L/QtdGA0LXRgtCy0L7RgNC40YLQuCDQvdC+0LzQtdGAINGB0LjQs9C90LDQu9GDINC90LAg0L3QsNC30LLRg1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIgLUwsIC0tdGFibGUgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0L3QsNC30LIg0ZYg0L3QvtC80LXRgNGW0LIg0YHQuNCz0L3QsNC70ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICDQstC40LLQtdGB0YLQuCBwaWQsINGP0LrQuNC8INCx0YPQtNC1INC90LDQtNGW0YHQu9Cw0L3QviDRgdC40LPQvdCw0LtcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjQwIG1pc2MtdXRpbHMva2lsbC5jOjI0OSBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDRgdC40LPQvdCw0Ls6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMg0YLQsCAlcyDRlCDQstC30LDRlNC80L7QstC40LrQu9GO0YfQvdC40LzQuCIKKworIzogbWlzYy11dGlscy9raWxsLmM6Mjg3IHN5cy11dGlscy9lamVjdC5jOjIwNSBzeXMtdXRpbHMvZWplY3QuYzoyMzAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzA3IHN5cy11dGlscy90dW5lbHAuYzoxNjcgc3lzLXV0aWxzL3R1bmVscC5jOjE3NAorIzogc3lzLXV0aWxzL3R1bmVscC5jOjE4MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTg4IHN5cy11dGlscy90dW5lbHAuYzoxOTUKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyMDEgc3lzLXV0aWxzL3R1bmVscC5jOjIwNSBzeXMtdXRpbHMvdHVuZWxwLmM6MjEyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTEgdGVybS11dGlscy9zZXR0ZXJtLmM6MjE0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI4OSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTYgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk4CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzEyIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyMQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDYKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM1OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNjAgdGVybS11dGlscy9zZXR0ZXJtLmM6MzcxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDEgdGVybS11dGlscy9zZXR0ZXJtLmM6NTQ2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTU2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjAwCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDUgdGVybS11dGlscy9zZXR0ZXJtLmM6NjEzIHRlcm0tdXRpbHMvc2V0dGVybS5jOjY0NgorbXNnaWQgImFyZ3VtZW50IGVycm9yIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDQsNGA0LPRg9C80LXQvdGCIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QsCDQvdCw0LfQstCwINCw0LHQviDQvdC+0LzQtdGAINGB0LjQs9C90LDQu9GDOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICLQvdCw0LTRgdC40LvQsNGU0LzQviDRgdC40LPQvdCw0LsgJWQg0LTQviBwaWQgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC90LDQtNGB0LjQu9Cw0L3QvdGPINGB0LjQs9C90LDQu9GDICVzINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvdCw0LnRgtC4INC/0YDQvtGG0LXRgSDCqyVzwrsiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgbmFtZTogJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LAg0L3QsNC30LLQsCDQvNC+0LbQu9C40LLQvtGB0YLRljogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LAg0L3QsNC30LLQsCDQv9GA0ZbQvtGA0LjRgtC10YLRgzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvcGVubG9nICVzOiDRiNC70Y/RhSDRlCDQvdCw0LTRgtC+INC00L7QstCz0LjQvCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic29ja2V0ICVzIgorbXNnc3RyICLRgdC+0LrQtdGCICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDQsNC00YDQtdGB0YMg0LfQsCDQvdCw0LfQstC+0Y4gJXMg0ZYg0L/QvtGA0YLQvtC8ICVzOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQt+KAmdGU0LTQvdCw0L3QvdGPINC3ICVzLCDQv9C+0YDRgiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICLQv9C10YDQtdCy0LjRidC10L3QviDQutGW0LvRjNC60ZbRgdGC0Ywg0YDRj9C00LrRltCyINCy0YXRltC00L3QuNGFINC00LDQvdC40YUgKCVkKSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0L3QsNC00YHQuNC70LDQvdC90Y8g0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICLRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDRgdGC0YDRg9C60YLRg9GA0L7QstCw0L3QuNGFINC00LDQvdC40YUgwqslc8K7INC90LUg0ZQg0YPQvdGW0LrQsNC70YzQvdC40LwiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIi0tc2QtaWQg0L3QtSDQsdGD0LvQviDQstC60LDQt9Cw0L3QviDQtNC70Y8gLS1zZC1wYXJhbSAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjgKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGxvY2FsdGltZSgpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICLQvdCw0LfQstCwINCy0YPQt9C70LAsIMKrJXPCuywg0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICLQvNGW0YLQutCwIMKrJXPCuyDRlCDQvdCw0LTRgtC+INC00L7QstCz0L7RjiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICLRltCz0L3QvtGA0YPRlNC80L4g0L3QtdCy0ZbQtNC+0LzQuNC5INCw0YDQs9GD0LzQtdC90YIg0L/QsNGA0LDQvNC10YLRgNCwOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgjogJXM6INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNC80L4g0LDQstGC0L7QvNCw0YLQuNGH0L3RliDQv9C+0LzQuNC70LrQuCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPPl1cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMzCittc2dpZCAiRW50ZXIgbWVzc2FnZXMgaW50byB0aGUgc3lzdGVtIGxvZy5cbiIKK21zZ3N0ciAi0JLQstC10YHRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQtNC+INC20YPRgNC90LDQu9GDINGB0LjRgdGC0LXQvNGDLlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzYKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIC1pICAgICAgICAgICAgICAgICAgICAgICDQt9Cw0L/QuNGB0YPQstCw0YLQuCDQtNC+INC20YPRgNC90LDQu9GDIFBJRCDQutC+0LzQsNC90LTQuCDQt9Cw0YHQvtCx0YMg0LbRg9GA0L3QsNC70Y7QstCw0L3QvdGPXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgICAgIC0taWRbPTzRltC0Pl0gICAgICAgICAg0LfQsNC/0LjRgdGD0LLQsNGC0Lgg0LTQviDQttGD0YDQvdCw0LvRgyDQstC60LDQt9Cw0L3QuNC5IDzRltC0Piwg0LDQsdC+INGW0L3QsNC60YjQtSBQSURcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA80YTQsNC50Ls+ICAgICAgICDQt9Cw0L/QuNGB0LDRgtC4INC00L4g0LbRg9GA0L3QsNC70YMg0LLQvNGW0YHRgiDQstC60LDQt9Cw0L3QvtCz0L4g0YTQsNC50LvQsFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAg0L3QtSDQt9Cw0L/QuNGB0YPQstCw0YLQuCDQtNC+INC20YPRgNC90LDQu9GDINC/0L7RgNC+0LbQvdGWINGA0Y/QtNC60Lgg0L/RltC0INGH0LDRgSDQvtCx0YDQvtCx0LrQuCDRhNCw0LnQu9GW0LJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQwCittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgINCy0LjQutC+0L3QsNGC0Lgg0YPRgdGWINC00ZbRlywg0L7QutGA0ZbQvCDQt9Cw0L/QuNGB0YPQstCw0L3QvdGPINC20YPRgNC90LDQu9GDXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPNGH0LjRgdC70L4+ICAg0L/QvtC30L3QsNGH0LjRgtC4INCy0LrQsNC30LDQvdC1INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDRhtC40Lwg0YDRltCy0L3QtdC8INC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZZcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQyCittc2dpZCAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICB1c2UgcmZjNjU4NyBvY3RldCBjb3VudGluZ1xuIgorbXNnc3RyICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0Lgg0L7QsdC70ZbQuiDQvtC60YLQtdGCIHJmYzY1ODdcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQzCittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgINGI0YPQutCw0YLQuCDQv9GA0LXRhNGW0LrRgSDQvdCwINC60L7QttC90L7QvNGDINGA0Y/QtNC60YMg0YfQuNGC0LDQvdC90Y8g0LfRliDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQstC10LTQtdC90L3Rj1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgtCw0LrQvtC2INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQtNC+INGB0YLQsNC90LTQsNGA0YLQvdC+0LPQviDQstC40LLQtdC00LXQvdC90Y8g0L/QvtC80LjQu9C+0LpcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPNGA0L7Qt9C80ZbRgD4gICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINC+0LTQvdC+0LPQviDQv9C+0LLRltC00L7QvNC70LXQvdC90Y9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDzQvNGW0YLQutCwPiAgICAgICAg0L/QvtC30L3QsNGH0LDRgtC4INC60L7QttC10L0g0YDRj9C00L7QuiDRhtGW0ZTRjiDQvNGW0YLQutC+0Y5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ3Cittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiAtbiwgLS1zZXJ2ZXIgPNC90LDQt9Cy0LA+ICAgICDQstC40LrQvtC90LDRgtC4INC30LDQv9C40YEg0LTQviDRhtGM0L7Qs9C+INCy0ZbQtNC00LDQu9C10L3QvtCz0L4g0YHQtdGA0LLQtdGA0LAg0LbRg9GA0L3QsNC70Y7QstCw0L3QvdGPXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAtUCwgLS1wb3J0IDzQv9C+0YDRgj4gICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQstC60LDQt9Cw0L3QuNC5INC/0L7RgNGCINC00LvRjyDQt+KAmdGU0LTQvdCw0L3QvdGPIFVEUCDQsNCx0L4gVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1IFRDUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTAKK21zZ2lkICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorbXNnc3RyICIgLWQsIC0tdWRwICAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSBVRFBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUxCittc2dpZCAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICB1c2UgdGhlIG9ic29sZXRlIEJTRCBzeXNsb2cgcHJvdG9jb2xcbiIKK21zZ3N0ciAiICAgICAtLXJmYzMxNjQgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LfQsNGB0YLQsNGA0ZbQu9C40Lkg0L/RgNC+0YLQvtC60L7QuyBzeXNsb2cgQlNEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC/0YDQvtGC0L7QutC+0Lsgc3lzbG9nICjRgtC40L/QvtCy0L4g0LTQu9GPINCy0ZbQtNC00LDQu9C10L3QuNGFKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAg0LfQvdCw0YfQtdC90L3Rj9C8IDxzbmlwPiDQvNC+0LbQtSDQsdGD0YLQuCBub3RpbWUg0LDQsdC+IG5vdHEg0ZYv0LDQsdC+IG5vaG9zdFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAgICAgLS1zZC1pZCA80ZbQtC4+ICAgICAgICDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDRgdGC0YDRg9C60YLRg9GA0L7QstCw0L3QuNGFINC00LDQvdC40YUgcmZjNTQyNFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiICAgICAtLXNkLXBhcmFtIDzQtNCw0L3Rlj4gICAg0YHRgtGA0YPQutGC0YPRgNC+0LLQsNC90ZYg0LTQsNC90ZYgcmZjNTQyNCDRgyDRhNC+0YDQvNCw0YLRliDQvdCw0LfQstCwPdC30L3QsNGH0LXQvdC90Y9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAgICAgLS1tc2dpZCA80ZbQtC4g0L/QvtCy0ZbQtNC+0LzQuy4+INCy0YHRgtCw0L3QvtCy0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0L/QvtC70Y8gaWQg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPIHJmYzU0MjRcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPNGB0L7QutC10YI+ICAgICDQstC40LrQvtC90LDRgtC4INC30LDQv9C40YEg0LTQviDRhtGM0L7Qs9C+INGB0L7QutC10YLQsCBVbml4XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC/0L7QvNC40LvQutC4INCy0LjQv9GA0LDQstC70LXQvdC90Y8sINGP0LrRidC+INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRjtGC0YzRgdGPINGB0L7QutC10YLQuCBVbml4XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA2MQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiICAgICAtLWpvdXJuYWxkWz080YTQsNC50Ls+XSAg0LfQsNC/0LjRgdCw0YLQuCDQt9Cw0L/QuNGBIGpvdXJuYWxkXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICLRhNCw0LnQuyAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTYyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINGA0L7Qt9C80ZbRgNGDINC/0L7QstGW0LTQvtC80LvQtdC90L3RjyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiLS1tc2dpZCDQvdC1INC/0L7QstC40L3QvdC+INC80ZbRgdGC0LjRgtC4INC/0YDQvtCx0ZbQu9GW0LIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBJRDogJyVzJyIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDRgdGC0YDRg9C60YLRg9GA0L7QstCw0L3QuNGFINC00LDQvdC40YU6IMKrJXPCuyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQv9Cw0YDQsNC80LXRgtGAINGB0YLRgNGD0LrRgtGD0YDQvtCy0LDQvdC40YUg0LTQsNC90LjRhTogwqslc8K7IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTIKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICItLWZpbGUgPNGE0LDQudC7PiDRliA80L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPPiDQvdC1INC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC+0LTQvdC+0YfQsNGB0L3Qviwg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC/0YDQvtGW0LPQvdC+0YDQvtCy0LDQvdC+IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTkKK21zZ2lkICJqb3VybmFsZCBlbnRyeSBjb3VsZCBub3QgYmUgd3JpdHRlbiIKK21zZ3N0ciAi0LfQsNC/0LjRgSBqb3VybmFsZCDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0LgiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80YDRj9C00L7Quj4gWzzRhNCw0LnQuz4uLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtC4INGA0Y/QtNC60LgsINGJ0L4g0L/QvtGH0LjQvdCw0Y7RgtGM0YHRjyDRltC3INCy0LrQsNC30LDQvdC+0Zcg0L/QvtGB0LvRltC00L7QstC90L7RgdGC0ZYg0YHQuNC80LLQvtC70ZbQsi5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LDQu9GM0YLQtdGA0L3QsNGC0LjQstC90LjQuSDRgdC70L7QstC90LjQulxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZCwgLS1hbHBoYW51bSAgICAgICAgICAg0L/QvtGA0ZbQstC90Y7QstCw0YLQuCDQu9C40YjQtSDQv9GA0L7QsdGW0LvQuCwg0YbQuNGE0YDQuCDRliDQu9GW0YLQtdGA0LhcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY4Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgINC/0ZbQtCDRh9Cw0YEg0L/QvtGA0ZbQstC90Y/QvdC90Y8g0L3QtSDQt9Cy0LDQttCw0YLQuCDQvdCwINGA0LXQs9GW0YHRgtGAINGB0LjQvNCy0L7Qu9GW0LJcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY5Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC10LCAtLXRlcm1pbmF0ZSA80YHQuNC80LLQvtC7PiDQstC40LfQvdCw0YfQuNGC0Lgg0YHQuNC80LLQvtC7INC30LDQstC10YDRiNC10L3QvdGPINGA0Y/QtNC60LBcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgItCy0L3Rg9GC0YDRltGI0L3RjyDQvdCw0LfQstCwINC/0YDQuNGB0YLRgNC+0Y4g0YMg0Y/QtNGA0ZYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICLQstC90YPRgtGA0ZbRiNC90Y8g0L3QsNC30LLQsCDQvtGB0L3QvtCy0L3QvtCz0L4g0L/RgNC40YHRgtGA0L7RjiDRgyDRj9C00YDRliIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NyBzeXMtdXRpbHMvenJhbWN0bC5jOjg2Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICLQutGD0LTQuCDQt9C80L7QvdGC0L7QstCw0L3QviDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAi0JzQhtCi0JrQkCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiVVVJRCDRgtC40L/RgyDRgNC+0LfQtNGW0LvRgyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MgorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAi0JzQhtCi0JrQkCDRgNC+0LfQtNGW0LvRgyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NgorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YHRgtCw0L0g0LLQuNC/0LXRgNC10LTQttCw0LvRjNC90L7Qs9C+INGH0LjRgtCw0L3QvdGPINC3INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgItC/0YDQuNGB0YLRgNGW0Lkg0LvQuNGI0LUt0LTQu9GPLdGH0LjRgtCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAi0L/QvtGA0YLQsNGC0LjQstC90LjQuSDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAi0L/QvtGA0YLQsNGC0LjQstC90LjQuSDQv9GA0LjRgdGC0YDRltC5ICh1c2IsIHBjbWNpYSwgLi4uKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICLQt9C80ZbQvdC90LjQuSDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICLQtNC+0LTQsNGUINCy0LjQv9Cw0LTQutC+0LLQvtGB0YLRliIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICLRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICLRgdC10YDRltC50L3QuNC5INC90L7QvNC10YAg0LTQuNGB0LrQsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YDQvtC30LzRltGAINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLRgdGC0LDQvSDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDQs9GA0YPQv9C4IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgItC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMg0LTQviDQstGD0LfQu9CwINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODkKK21zZ2lkICJhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICLQstGW0LTRgdGC0YPQvyDQstC40YDRltCy0L3RjtCy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTAKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICLQvNGW0L3RltC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDQstCy0LXQtNC10L3QvdGPLdCy0LjQstC10LTQtdC90L3RjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgItC+0L/RgtC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgItGA0L7Qt9C80ZbRgCDRhNGW0LfQuNGH0L3QvtCz0L4g0YHQtdC60YLQvtGA0LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICLRgNC+0LfQvNGW0YAg0LvQvtCz0ZbRh9C90L7Qs9C+INGB0LXQutGC0L7RgNCwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINC/0LvQsNC90YPQstCw0LvRjNC90LjQutCwINCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICLRgNC+0LfQvNGW0YAg0YfQtdGA0LPQuCDQt9Cw0L/QuNGC0ZbQsiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NgorbXNnaWQgImRldmljZSB0eXBlIgorbXNnc3RyICLRgtC40L8g0L/RgNC40YHRgtGA0L7RjiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAi0LLRltC00LrQuNC90YPRgtC4INCy0ZbQtNGB0YLRg9C/INCy0LjRgNGW0LLQvdGO0LLQsNC90L3RjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorbXNnaWQgImRpc2NhcmQgZ3JhbnVsYXJpdHkiCittc2dzdHIgItCy0ZbQtNC60LjQvdGD0YLQuCDQs9C70LjQsdC40L3RgyDQtNC10YLQsNC70ZbQt9Cw0YbRltGXIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk5Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgItCy0ZbQtNC60LjQvdGD0YLQuCDQvNCw0LrRgdC40LzQsNC70YzQvdGDINC60ZbQu9GM0LrRltGB0YLRjCDQsdCw0LnRgtGW0LIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICLQstGW0LTQutC40L3Rg9GC0Lgg0L3Rg9C70YzQvtCy0ZYg0LTQsNC90ZYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAi0LfQsNC/0LjRgdCw0YLQuCDRgtGDINGB0LDQvNGDINC80LDQutGB0LjQvNCw0LvRjNC90YMg0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgItGD0L3RltC60LDQu9GM0L3QuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINGB0YXQvtCy0LjRidCwINC00LDQvdC40YUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAi0JLRg9C30L7QuzrQmtCw0L3QsNC7OtCm0ZbQu9GMOkx1biDQtNC70Y8gU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAi0YLQuNC/INC/0LXRgNC10LTQsNCy0LDQvdC90Y8g0LTQsNC90LjRhSDQvdCwINC/0YDQuNGB0YLRgNGW0LkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDUKK21zZ2lkICJkZS1kdXBsaWNhdGVkIGNoYWluIG9mIHN1YnN5c3RlbXMiCittc2dzdHIgItC70LDQvdGG0Y7QttC+0Log0L/RltC00YHQuNGB0YLQtdC8INC3INGD0YHRg9Cy0LDQvdC90Y/QvCDQtNGD0LHQu9GW0LrQsNGC0ZbQsiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAi0LzQvtC00LjRhNGW0LrQsNGG0ZbRjyDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA3Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAi0LLQuNGA0L7QsdC90LjQuiDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAi0LzQvtC00LXQu9GMINC30L7QvdC4IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRldmljZSBkaXJlY3RvcnkgaW4gc3lzZnMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDQutCw0YLQsNC70L7QsyDQv9GA0LjRgdGC0YDQvtGOINGDIHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfRltCx0YDQsNGC0Lgg0YjQu9GP0YUgc3lzZnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBsaW5rIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0L/QvtGB0LjQu9Cw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC90LDQt9Cy0YMgc3lzZnMiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQvdC+0LzQtdGAINC/0YDQuNGB0YLRgNC+0Y4g0LLRgdGM0L7Qs9C+INC00LjRgdC60LAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk0CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YHQv9C40YHQvtC6ICclcyciCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAi0YHQv9C40YHQvtC6INCy0LjQutC70Y7Rh9C10L3QuNGFINC/0YDQuNGB0YLRgNC+0ZfQsiDRlCDQt9Cw0L3QsNC00YLQviDQtNC+0LLQs9C40LwgKNC+0LHQvNC10LbQtdC90L4gJWQg0L/RgNC40YHRgtGA0L7Rj9C80LgpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgItGB0L/QuNGB0L7QuiDQstC60LvRjtGH0LXQvdC40YUg0L/RgNC40YHRgtGA0L7Rl9CyINGUINC30LDQvdCw0LTRgtC+INC00L7QstCz0LjQvCAo0L7QsdC80LXQttC10L3QviAlZCDQv9GA0LjRgdGC0YDQvtGP0LzQuCkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzIHN5cy11dGlscy93ZGN0bC5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNC/0YDQuNGB0YLRgNGW0Lk+IC4uLl1cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgItCh0L/QuNGB0L7QuiDQtNCw0L3QuNGFINGJ0L7QtNC+INCx0LvQvtC60L7QstC40YUg0L/RgNC40YHRgtGA0L7Rl9CyLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LLRgdGW0YUg0L/RgNC40YHRgtGA0L7Rl9CyXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQxCittc2dpZCAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCittc2dzdHIgIiAtZCwgLS1ub2RlcHMgICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQv9GW0LTQu9C10LPQu9GWINC10LvQtdC80LXQvdGCINCw0LHQviDRg9GC0YDQuNC80YPQstCw0YfRllxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLUQsIC0tZGlzY2FyZCAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstGW0LTQutC40L3Rg9GC0LjRhSDQvNC+0LbQu9C40LLQvtGB0YLQtdC5XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiIC16LCAtLXpvbmVkICAgICAgICAgINCy0LjQstC10YHRgtC4INC80L7QtNC10LvRjCDQt9C+0L3QuFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NAorbXNnaWQgIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiAtZSwgLS1leGNsdWRlIDzRgdC/0LjRgdC+0Lo+INCy0LjQutC70Y7Rh9C40YLQuCDQv9GA0LjRgdGC0YDQvtGXINC30LAg0L7RgdC90L7QstC90LjQvCDQvdC+0LzQtdGA0L7QvCAo0YLQuNC/0L7QstC+INC00LjRgdC60Lgg0YMg0L/QsNC8J9GP0YLRlilcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDUKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZzICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LxcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgLWksIC0tYXNjaWkgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LvQuNGI0LUg0YHQuNC80LLQvtC70LggQVNDSUlcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA80YHQv9C40YHQvtC6PiDQstC40LLQtdGB0YLQuCDQu9C40YjQtSDQv9GA0LjRgdGC0YDQvtGXINC3INCy0LrQsNC30LDQvdC40LzQuCDQvtGB0L3QvtCy0L3QuNC80Lgg0L3QvtC80LXRgNCw0LzQuFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OCBzeXMtdXRpbHMvbHNtZW0uYzo1MDIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPIEpTT05cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0LDRgtC40YHRjyDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPINGE0L7RgNC80LDRgiDRgdC/0LjRgdC60YNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKK21zZ2lkICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNlIHRyZWUgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLVQsIC0tdHJlZSAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC00LvRjyDQstC40LLQtdC00LXQvdC90Y8g0ZbRlNGA0LDRgNGF0ZbRh9C90LjQuSDRhNC+0YDQvNCw0YJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTEKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L/RgNCw0LIg0LTQvtGB0YLRg9C/0YNcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQt9Cw0LPQvtC70L7QstC60LhcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPNGB0L/QuNGB0L7Quj4gINGB0YLQvtCy0L/Rh9C40LrQuCDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NAorbXNnaWQgIiAtTywgLS1vdXRwdXQtYWxsICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dC1hbGwgICAgINCy0LjQstC10YHRgtC4INGD0YHRliDRgdGC0L7QstC/0YfQuNC60LhcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGI0LvRj9GFINC00L4g0L/RgNC40YHRgtGA0L7RjiDQv9C+0LLQvdGW0YHRgtGOXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU4Cittc2dpZCAiIC1zLCAtLWludmVyc2UgICAgICAgIGludmVyc2UgZGVwZW5kZW5jaWVzXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICAgINCy0LjQutC+0L3QsNGC0Lgg0ZbQvdCy0LXRgNGB0ZbRjiDQt9Cw0LvQtdC20L3QvtGB0YLQtdC5XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgLVMsIC0tc2NzaSAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L/RgNC40YHRgtGA0L7Rl9CyIFNDU0lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIC10LCAtLXRvcG9sb2d5ICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0YLQvtC/0L7Qu9C+0LPRltGXXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYxCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiAteCwgLS1zb3J0IDzRgdGC0L7QstC/0YfQuNC6PiDRg9C/0L7RgNGP0LTQutGD0LLQsNGC0Lgg0YDQtdC30YPQu9GM0YLQsNGC0Lgg0LfQsCDRgdGC0L7QstC/0YfQuNC60L7QvCA80YHRgtC+0LLQv9GH0LjQuj5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtGB0YLRg9C/0YMg0LTQviDQutCw0YLQsNC70L7Qs9GDIHN5c2ZzOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgItC60L7QvNCw0L3QtNCwINC/0YDQvtGG0LXRgdGDLCDRidC+INGD0YLRgNC40LzRg9GUINCx0LvQvtC60YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQg0L/RgNC+0YbQtdGB0YMsINGP0LrQuNC5INGD0YLRgNC40LzRg9GUINCx0LvQvtC60YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorbXNnaWQgImtpbmQgb2YgbG9jayIKK21zZ3N0ciAi0YLQuNC/INCx0LvQvtC60YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NgorbXNnaWQgInNpemUgb2YgdGhlIGxvY2siCittc2dzdHIgItGA0L7Qt9C80ZbRgCDQsdC70L7QutGD0LLQsNC90L3RjyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICLRgNC10LbQuNC8INC00L7RgdGC0YPQv9GDINC00L4g0LHQu9C+0LrRg9Cy0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4Cittc2dpZCAibWFuZGF0b3J5IHN0YXRlIG9mIHRoZSBsb2NrOiAwIChub25lKSwgMSAoc2V0KSIKK21zZ3N0ciAi0L7QsdC+0LIn0Y/Qt9C60L7QstC40Lkg0YHRgtCw0L0g0LHQu9C+0LrRg9Cy0LDQvdC90Y86IDAgKNC90LXQvNCw0ZQpLCAxICjQstGB0YLQsNC90L7QstC70LXQvdC+KSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAi0LLRltC00L3QvtGB0L3QuNC5INC30YHRg9CyINCx0LvQvtC60YPQstCw0L3QvdGPINGDINCx0LDQudGC0LDRhSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODAKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICLQt9GB0YPQsiDQutGW0L3RhtGPINCx0LvQvtC60YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICLRiNC70Y/RhSDQtNC+INC30LDQsdC70L7QutC+0LLQsNC90L7Qs9C+INGE0LDQudC70LAiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGJsb2NraW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQg0L/RgNC+0YbQtdGB0YMsINGP0LrQuNC5INGD0YLRgNC40LzRg9GUINCx0LvQvtC60YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IHBpZCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIo0L3QtdCy0ZbQtNC+0LzQuNC5KSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0L/QvtGH0LDRgtC+0LoiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQutGW0L3QtdGG0YwiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtC4INGB0L/QuNGB0L7QuiDQsdC70L7QutGD0LLQsNC90Ywg0LvQvtC60LDQu9GM0L3QvtGXINGB0LjRgdGC0LXQvNC4LlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgINGW0LPQvdC+0YDRg9Cy0LDRgtC4INCx0LvQvtC60YPQstCw0L3QvdGPINCx0LXQtyDQv9GA0LDQsiDQtNC+0YHRgtGD0L/RgyDQvdCwINGH0LjRgtCw0L3QvdGPXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMyBzeXMtdXRpbHMvbHNucy5jOjkwMyBzeXMtdXRpbHMvcmZraWxsLmM6NTczCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0LrQuFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAg0LLQuNC30L3QsNGH0LjRgtC4LCDRj9C60ZYg0YHRgtC+0LLQv9GH0LjQutC4INGB0LvRltC0INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNQorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIGRpc3BsYXkgb25seSBsb2NrcyBoZWxkIGJ5IHRoaXMgcHJvY2Vzc1xuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICDQstC40LLQtdGB0YLQuCDQu9C40YjQtSDQsdC70L7QutGD0LLQsNC90L3Rjywg0Y/QutGWINGD0YLRgNC40LzRg9GO0YLRjNGB0Y8g0LLQutCw0LfQsNC90LjQvCDQv9GA0L7RhtC10YHQvtC8XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNiBzeXMtdXRpbHMvbHNucy5jOjkwNiBzeXMtdXRpbHMvcmZraWxsLmM6NTc1Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiBQSUQiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg2Cittc2dpZCAiR2VuZXJhdGUgbWFnaWMgY29va2llcyBmb3IgeGF1dGguXG4iCittc2dzdHIgItCh0YLQstC+0YDQuNGC0Lgg0LrRg9C60Lgg0LrQvtC90YLRgNC+0LvRjNC90LjRhSDRgdGD0Lwg0LTQu9GPIHhhdXRoLlxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4OQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA80YTQsNC50Ls+ICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LLQutCw0LfQsNC90LjQuSDRhNCw0LnQuyDRj9C6INC00LbQtdGA0LXQu9C+INC/0L7Rh9Cw0YLQutC+0LLQuNGFINC00LDQvdC40YUg0LTQu9GPINC60YPQutC4XG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPNGH0LjRgdC70L4+ICDQvtCx0LzQtdC20LjRgtC4INGH0LjRgtCw0L3QvdGPINC00LDQvdC40YUg0Lcg0YTQsNC50LvRltCyINC/0L7Rh9Cw0YLQutC+0LLQuNGFINGH0LjRgdC10LtcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LTRltC5LCDRj9C60ZYg0LLQuNC60L7QvdGD0Y7RgtGM0YHRj1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gItCe0YLRgNC40LzQsNC90L4gJXp1INCx0LDQudGCINC3ICVzXG4iCittc2dzdHJbMV0gItCe0YLRgNC40LzQsNC90L4gJXp1INCx0LDQudGC0Lgg0LcgJXNcbiIKK21zZ3N0clsyXSAi0J7RgtGA0LjQvNCw0L3QviAlenUg0LHQsNC50YLRltCyINC3ICVzXG4iCittc2dzdHJbM10gItCe0YLRgNC40LzQsNC90L4gJXp1INCx0LDQudGCINC3ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDRgdC/0YDQvtCx0Lgg0LfQsNC60YDQuNGC0LggJXMiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzEwCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LTQvtCy0LbQuNC90YMiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIi0tbWF4LXNpemUg0LHRg9C00LUg0L/RgNC+0ZbQs9C90L7RgNC+0LLQsNC90L4sINGP0LrRidC+INC90LUg0LLQutCw0LfQsNC90L4gLS1maWxlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICLQntGC0YDQuNC80LDQvdC+ICVkINCx0LDQudGCINC3ICVzXG4iCittc2dzdHJbMV0gItCe0YLRgNC40LzQsNC90L4gJWQg0LHQsNC50YLQuCDQtyAlc1xuIgorbXNnc3RyWzJdICLQntGC0YDQuNC80LDQvdC+ICVkINCx0LDQudGC0ZbQsiDQtyAlc1xuIgorbXNnc3RyWzNdICLQntGC0YDQuNC80LDQvdC+ICVkINCx0LDQudGCINC3ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0YHQuNC80LLQvtC70ZbRh9C90LUg0L/QvtGB0LjQu9Cw0L3QvdGPOiAlcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMg4oCUINC90LXQvNCw0ZQg0YLQsNC60L7Qs9C+INGE0LDQudC70LAg0LDQsdC+INC60LDRgtCw0LvQvtCz0YMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80YjQu9GP0YU+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICLQodC70ZbQtNGD0LLQsNGC0Lgg0LfQsCDRiNC70Y/RhdC+0LwsINC00L7QutC4INC90LUg0LHRg9C00LUg0LfQvdCw0LnQtNC10L3QviDRgtC+0YfQutGDINGC0LXRgNC80ZbQvdCw0LvQsC5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC14LCAtLW1vdW50cG9pbnRzICAg0LLQuNCy0LXRgdGC0Lgg0LrQsNGC0LDQu9C+0LPQuCDRgtC+0YfQvtC6INC80L7QvdGC0YPQstCw0L3QvdGPINC3IMKrRMK7XG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LHRltGC0Lgg0YDQtdC20LjQvNGDINC00L7RgdGC0YPQv9GDINC00LvRjyDQutC+0LbQvdC+0LPQviDQtyDRhNCw0LnQu9GW0LJcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRidC+0LTQviDQstC70LDRgdC90LjQutCwINGWINC90LDQt9Cy0Lgg0LPRgNGD0L/QuCDQtNC70Y8g0LrQvtC20L3QvtCz0L4g0Lcg0YTQsNC50LvRltCyXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQtNC+0LLQs9C+0LPQviDRgdC/0LjRgdC60YMgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICDQvdC1INC/0LXRgNC10YXQvtC00LjRgtC4INC30LAg0YHQuNC80LLQvtC70ZbRh9C90LjQvNC4INC/0L7RgdC40LvQsNC90L3Rj9C80LhcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICDQstC10YDRgtC40LrQsNC70YzQvdC1INCy0LjRgNGW0LLQvdGO0LLQsNC90L3RjyDQtNC70Y8g0LfQsNC/0LjRgdGW0LIg0YDQtdC20LjQvNGW0LIg0YLQsCDQstC70LDRgdC90LjQutGW0LJcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQwOAorbXNnaWQgInBhdGhuYW1lIGFyZ3VtZW50IGlzIG1pc3NpbmciCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0LDRgNCz0YPQvNC10L3RgtGDINGI0LvRj9GF0YMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzoxMDU3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgNC+0LfQvNGW0YHRgtC40YLQuCDQutC10YggVUlEIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgNC+0LfQvNGW0YHRgtC40YLQuCDQutC10YggR0lEIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6INC/0LXRgNC10LLQuNGJ0LXQvdC+INC+0LHQvNC10LbQtdC90L3RjyDQvdCwINGB0LjQvNCy0L7Qu9GW0YfQvdGWINC/0L7RgdC40LvQsNC90L3RjyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6INC90LUg0ZQg0YHQuNC80LLQvtC70ZbRh9C90LjQvCDQv9C+0YHQuNC70LDQvdC90Y/QvCIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZGxpbmsgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgcmVhZGxpbmsiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICLQn9GA0L7Qv9GD0YHQutCw0ZTQvNC+INC90LDRj9Cy0L3QtSDQv9C+0YHQuNC70LDQvdC90Y86IMKrJXPCu1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgdW5saW5rIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDRgdGC0LLQvtGA0LXQvdC90Y8g0YHQuNC80LLQvtC70ZbRh9C90L7Qs9C+INC/0L7RgdC40LvQsNC90L3RjyDQvdCwICVzINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBmaWxlOiBgJXMnXG4iCittc2dzdHIgItCf0YDQvtC/0YPRgdC60LDRlNC80L4g0L3QsNGP0LLQvdC40Lkg0YTQsNC50Ls6IMKrJXPCu1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6INGB0L/RgNC+0LHQsCDQv9C10YDQtdC50LzQtdC90YPQstCw0L3QvdGPINC90LAgJXMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80LLQuNGA0LDQtz4gPNC30LDQvNGW0L3QvdC40Lo+IDzRhNCw0LnQuz4uLi5cbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgItCf0LXRgNC10LnQvNC10L3Rg9Cy0LDRgtC4INGE0LDQudC70LguXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LTRltC5LCDRj9C60ZYg0LLQuNC60L7QvdGD0Y7RgtGM0YHRj1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAtcywgLS1zeW1saW5rICAgICAgINCy0LjQutC+0L3QsNGC0Lgg0LTRltGOINC90LDQtCDQv9GA0LjQt9C90LDRh9C10L3QvdGP0LzQuCDRgdC40LzQstC+0LvRltGH0L3QuNGFINC/0L7RgdC40LvQsNC90YxcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLW4sIC0tbm8tYWN0ICAgICAgICDQvdC1INCy0L3QvtGB0LjRgtC4INC20L7QtNC90LjRhSDQt9C80ZbQvVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIgLW8sIC0tbm8tb3ZlcndyaXRlICDQvdC1INC/0LXRgNC10LfQsNC/0LjRgdGD0LLQsNGC0Lgg0L3QsNGP0LLQvdGWINGE0LDQudC70LhcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0Cittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgItCk0L7QvdC+0LLQsCDRgdC70YPQttCx0LAg0LTQu9GPINGB0YLQstC+0YDQtdC90L3RjyBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDzRiNC70Y/RhT4gICAgICAgINGI0LvRj9GFINC00L4g0YTQsNC50LvQsCBwaWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3Cittc2dpZCAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIHBhdGggdG8gc29ja2V0XG4iCittc2dzdHIgIiAtcywgLS1zb2NrZXQgPNGI0LvRj9GFPiAgICAg0YjQu9GP0YUg0LTQviDRgdC+0LrQtdGC0LBcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtVCwgLS10aW1lb3V0IDzRgdC10Lo+ICAgICDQstC40LfQvdCw0YfQuNGC0Lgg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0YMg0LHQtdC30LTRltGP0LvRjNC90L7RgdGC0ZZcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgINC/0YDQuNC/0LjQvdC40YLQuCDRgNC+0LHQvtGC0YMg0LfQsNC/0YPRidC10L3QvtGXINGE0L7QvdC+0LLQvtGXINGB0LvRg9C20LHQuFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzAKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAgdGVzdCByYW5kb20tYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAg0L/QtdGA0LXQstGW0YDQuNGC0Lgg0LfQsNGB0ZbQsSDQs9C10L3QtdGA0LDRhtGW0Zcg0LLQuNC/0LDQtNC60L7QstC40YUg0YfQuNGB0LXQu1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzEKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgdGVzdCB0aW1lLWJhc2VkIGdlbmVyYXRpb25cbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgINC/0LXRgNC10LLRltGA0LjRgtC4INCz0LXQvdC10YDQsNGG0ZbRjiDQvdCwINC+0YHQvdC+0LLRliDQtNCw0L3QuNGFINGJ0L7QtNC+INGH0LDRgdGDXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MgorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgLW4sIC0tdXVpZHMgPNGH0LjRgdC70L4+ICAgICDQvdCw0LTRltGB0LvQsNGC0Lgg0LfQsNC/0LjRgiDRidC+0LTQviDQstC60LDQt9Cw0L3QvtGXINC60ZbQu9GM0LrQvtGB0YLRliB1dWlkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MworbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtUCwgLS1uby1waWQgICAgICAgICAgICDQvdC1INGB0YLQstC+0YDRjtCy0LDRgtC4INGE0LDQudC7IHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAg0L3QtSDRgdGC0LLQvtGA0Y7QstCw0YLQuCDRhNC+0L3QvtCy0L7RlyDRgdC70YPQttCx0Lgg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4g0L/QvtC00LLRltC50L3QvtCz0L4g0LLRltC00LPQsNC70YPQttC10L3QvdGPXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uINC90LUg0YHRgtCy0L7RgNGO0LLQsNGC0Lgg0YHQvtC60LXRgtCwINC+0YfRltC60YPQstCw0L3QvdGPINC00LDQvdC40YVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg0LfQsNC/0YPRgdGC0LjRgtC4INGDINGA0LXQttC40LzRliDQtNGW0LDQs9C90L7RgdGC0LjQutC4XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgINGD0LLRltC80LrQvdGD0YLQuCDRgNC10LbQuNC8INCx0LXQtyDQv9C+0LLRltC00L7QvNC70LXQvdGMXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0ZYg0L/QsNGA0LDQvNC10YLRgNC4IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2Cittc2dpZCAic29ja2V0IgorbXNnc3RyICLRgdC+0LrQtdGCIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI3Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAi0Lcn0ZTQtNC90LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAi0LfQsNC/0LjRgSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDRh9C40YLQsNC90YwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LAg0LTQvtCy0LbQuNC90LAg0LLRltC00L/QvtCy0ZbQtNGWIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LDQsdC70L7QutGD0LLQsNGC0LggJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMzcKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0YHQvtC60LXRgiDQv9C+0YLQvtC60YMg0LTQsNC90LjRhSBVTklYIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjYyCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGJpbmQgdW5peCBzb2NrZXQgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC40LLigJnRj9C30LDRgtC40YHRjyDQtNC+INGB0L7QutC10YLQsCBVTklYOiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorbXNnaWQgInJlY2VpdmluZyBzaWduYWwgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0L7RgtGA0LjQvNCw0L3QvdGPINGB0LjQs9C90LDQu9GDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICLQstC40LnRiNC+0LIg0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L3QsNC70LDRiNGC0YPQstCw0YLQuCDRgtCw0LnQvNC10YAiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXVpZGQgZGFlbW9uIGlzIGFscmVhZHkgcnVubmluZyBhdCBwaWQgJXMiCittc2dzdHIgItGE0L7QvdC+0LLRgyDRgdC70YPQttCx0YMgdXVpZGQg0LLQttC1INC30LDQv9GD0YnQtdC90L4g0LcgcGlkICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9C+0YfQsNGC0Lgg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0LTQsNC90LjRhSDQvdCwINGB0L7QutC10YLRliBVTklYICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDRltC30LDRgtC4INGE0LDQudC7ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAgc2RfbGlzdGVuX2ZkcygpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgwCittc2dpZCAibm8gZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgc3lzdGVtY3RsIHN0YXR1cyB1dWlkZC5zb2NrZXQiCittc2dzdHIgItC90LUg0L7RgtGA0LjQvNCw0L3QviDQtNC10YHQutGA0LjQv9GC0L7RgNGW0LIg0YTQsNC50LvRltCyLCDQv9C10YDQtdCy0ZbRgNGC0LUg0YHRgtCw0L0gc3lzdGVtY3RsIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MworbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAi0L7RgtGA0LjQvNCw0L3QviDQt9Cw0L3QsNC00YLQviDQsdCw0LPQsNGC0L4g0YTQsNC50LvQvtCy0LjRhSDQtNC10YHQutGA0LjQv9GC0L7RgNGW0LIsINC/0LXRgNC10LLRltGA0YLQtSDQt9C90LDRh9C10L3QvdGPIHV1aWRkLnNvY2tldCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgItGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyBbJWQg0YHQtdC60YPQvdC0XVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKK21zZ2lkICJyZWFkIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YfQuNGC0LDQvdC90Y8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0YfQuNGC0LDQvdC90Y8g0Lcg0LrQu9GW0ZTQvdGC0LAsINC00L7QstC20LjQvdCwID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICLQvtC/0LXRgNCw0YbRltGPICVkLCDQstGF0ZbQtNC90LUg0YfQuNGB0LvQviA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgItC00ZbRjyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgItCh0YLQstC+0YDQtdC90LjQuSDQvdCwINC+0YHQvdC+0LLRliDRh9Cw0YHRgyBVVUlEOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC10L3QuNC5INC/0YHQtdCy0LTQvtCy0LjQv9Cw0LTQutC+0LLQuNC5IFVVSUQ6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICLQodGC0LLQvtGA0LXQvdC+IFVVSUQg0L3QsCDQvtGB0L3QvtCy0ZYg0YfQsNGB0YMgJXMg0ZYg0YnQtSAlZCBVVUlEXG4iCittc2dzdHJbMV0gItCh0YLQstC+0YDQtdC90L4gVVVJRCDQvdCwINC+0YHQvdC+0LLRliDRh9Cw0YHRgyAlcyDRliDRidC1ICVkIFVVSURcbiIKK21zZ3N0clsyXSAi0KHRgtCy0L7RgNC10L3QviBVVUlEINC90LAg0L7RgdC90L7QstGWINGH0LDRgdGDICVzINGWINGJ0LUgJWQgVVVJRFxuIgorbXNnc3RyWzNdICLQodGC0LLQvtGA0LXQvdC+IFVVSUQg0L3QsCDQvtGB0L3QvtCy0ZYg0YfQsNGB0YMgJXMg0ZYg0YnQtSDQvtC00L3QtSBVVUlEXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAi0KHRgtCy0L7RgNC10L3QviAlZCBVVUlEOlxuIgorbXNnc3RyWzFdICLQodGC0LLQvtGA0LXQvdC+ICVkIFVVSUQ6XG4iCittc2dzdHJbMl0gItCh0YLQstC+0YDQtdC90L4gJWQgVVVJRDpcbiIKK21zZ3N0clszXSAi0KHRgtCy0L7RgNC10L3QviAlZCBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgItCd0LXQutC+0YDQtdC60YLQvdCwINC00ZbRjyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICLQndC10L7Rh9GW0LrRg9Cy0LDQvdCwINC00L7QstC20LjQvdCwINCy0ZbQtNC/0L7QstGW0LTRliDQstGW0LQg0YHQtdGA0LLQtdGA0LAgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IC0tdXVpZHMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCDQsdGD0LvQviDQt9GW0LHRgNCw0L3QviDQsdC10Lcg0L/RltC00YLRgNC40LzQutC4INCw0LrRgtC40LLQsNGG0ZbRlyDRgdC+0LrQtdGC0ZbQsi4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggLS10aW1lb3V0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgItC90LDQt9Cy0LAg0YLQvtC80YMg0LfQsNC90LDQtNGC0L4g0LTQvtCy0LPQsCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgItCS0LrQsNC30LDQvdC+INC+0LTRgNCw0LfRgyDQv9Cw0YDQsNC80LXRgtGA0LggLS1zb2NrZXQtYWN0aXZhdGlvbiDRliAtLXNvY2tldC4g0IbQs9C90L7RgNGD0ZTQvNC+IC0tc29ja2V0LiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0YHQv9GA0L7QsdC4INCy0LjQutC70LjQutCw0YLQuCDRhNC+0L3QvtCy0YMg0YHQu9GD0LbQsdGDIHV1aWRkICglcykiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworbXNnaWQgInVuZXhwZWN0ZWQgZXJyb3IiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LAg0L/QvtC80LjQu9C60LAiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyDRliAlZCDQv9C+0YHQu9GW0LTQvtCy0L3QuNC5IFVVSURcbiIKK21zZ3N0clsxXSAiJXMg0ZYgJWQg0L/QvtGB0LvRltC00L7QstC90ZYgVVVJRFxuIgorbXNnc3RyWzJdICIlcyDRliAlZCDQv9C+0YHQu9GW0LTQvtCy0L3RliBVVUlEXG4iCittc2dzdHJbM10gIiVzINGWICVkINC/0L7RgdC70ZbQtNC+0LLQvdC40LkgVVVJRFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIkxpc3Qgb2YgVVVJRHM6XG4iCittc2dzdHIgItCh0L/QuNGB0L7QuiBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC40L/QuNC90LjRgtC4INGA0L7QsdC+0YLRgyB1dWlkZCwg0LfQsNC/0YPRidC10L3QvtCz0L4g0LcgcGlkICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAi0J/RgNC40L/QuNC90LXQvdC+INGA0L7QsdC+0YLRgyB1dWlkZCDQtyBwaWQgJWQuXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgItCh0YLQstC+0YDQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgINGB0YLQstC+0YDQuNGC0LggdXVpZCDQvdCwINC/0YHQtdCy0LTQvtCy0LjQv9Cw0LTQutC+0LLRltC5INC+0YHQvdC+0LLRllxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMworbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgICDRgdGC0LLQvtGA0LjRgtC4IHV1aWQg0L3QsCDQvtGB0L3QvtCy0ZYg0LTQsNC90LjRhSDRidC+0LTQviDRh9Cw0YHRg1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNAorbXNnaWQgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmFtZXNwYWNlINC/0L0gINGB0YLQstC+0YDQuNGC0Lgg0LfQsNGB0L3QvtCy0LDQvdC40Lkg0L3QsCDRhdC10YjRliB1dWlkINGDINGG0YzQvtC80YMg0L/RgNC+0YHRgtC+0YDRliDQvdCw0LfQslxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIgLU4sIC0tbmFtZSDRltC8J9GPICAgICDRgdGC0LLQvtGA0LjRgtC4INC30LDRgdC90L7QstCw0L3QuNC5INC90LAg0YXQtdGI0ZYgdXVpZCDQtNC70Y8g0YbRjNC+0LPQviDRltC80LXQvdGWXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiIC1tLCAtLW1kNSAgICAgICAgICAg0YHRgtCy0L7RgNC40YLQuCDRhdC10Ygt0YHRg9C80YMgbWQ1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAtcywgLS1zaGExICAgICAgICAgINGB0YLQstC+0YDQuNGC0Lgg0YXQtdGILdGB0YPQvNGDIHNoYTFcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzgKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1oZXggICAgICAgICAgINCy0LLQsNC20LDRgtC4INGW0Lwn0Y8g0YjRltGB0YLQvdCw0LTRhtGP0YLQutC+0LLQuNC8INGA0Y/QtNC60L7QvFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc2Cittc2dpZCAidW5pcXVlIGlkZW50aWZpZXIiCittc2dzdHIgItGD0L3RltC60LDQu9GM0L3QuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3Cittc2dpZCAidmFyaWFudCBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINCy0LDRgNGW0LDQvdGC0LAiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzgKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgItC90LDQt9Cy0LAg0YLQuNC/0YMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzkKK21zZ2lkICJ0aW1lc3RhbXAiCittc2dzdHIgItGH0LDRgdC+0LLQsCDQv9C+0LfQvdCw0YfQutCwIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHV1aWQgLi4uPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPHV1aWQgLi4uPlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyBKU09OIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQutC4IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAg0YHRgtC+0LLQv9GH0LjQutC4INCy0LjQstC10LTQtdC90L3Rjywg0Y/QutGWINCx0YPQtNC1INC/0L7QutCw0LfQsNC90L4gKNC00LjQsi4g0L3QuNC20YfQtSkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0LHQtdC3INC+0LHRgNC+0LHQutC4IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE3MiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5MQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMjIKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICLRltC90YjQtSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTcKK21zZ2lkICJuaWwiCittc2dzdHIgItC/0L7RgNC+0LbQvdGW0LkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAi0L3QsCDQvtGB0L3QvtCy0ZYg0YfQsNGB0YMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjA4Cittc2dpZCAibmFtZS1iYXNlZCIKK21zZ3N0ciAi0L3QsCDQvtGB0L3QvtCy0ZYg0L3QsNC30LLQuCIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgItCy0LjQv9Cw0LTQutC+0LLQuNC5IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNAorbXNnaWQgInNoYTEtYmFzZWQiCittc2dzdHIgItC90LAg0L7RgdC90L7QstGWIHNoYTEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INGB0YLQvtCy0L/Rh9C40Log0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbLUJNUyA80LrQsNGC0LDQu9C+0LM+Li4uIC1mXSA80L3QsNC30LLQsD5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgItCS0LrQsNC30LDRgtC4INC80ZbRgdGG0LUg0LLQuNC60L7QvdGD0LLQsNC90LjRhSDRhNCw0LnQu9GW0LIsINC60L7QtNGDINGC0LAg0YHRgtC+0YDRltC90LrQuCDQv9GW0LTRgNGD0YfQvdC40LrQsCDQv9GA0L7Qs9GA0LDQvNC4LlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1iICAgICAgICAg0YjRg9C60LDRgtC4INC70LjRiNC1INCy0LjQutC+0L3Rg9Cy0LDQvdGWINGE0LDQudC70LhcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA2Cittc2dpZCAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtQiA80LrQsNGCPiAgINCy0LjQt9C90LDRh9C40YLQuCDQvNGW0YHRhtGPINC/0L7RiNGD0LrRgyDQstC40LrQvtC90YPQstCw0L3QuNGFINGE0LDQudC70ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAg0YjRg9C60LDRgtC4INC70LjRiNC1INGDINC60LDRgtCw0LvQvtCz0LDRhSDQtyDQv9GW0LTRgNGD0YfQvdC40LrQsNC80Lgg0YLQsCDRhNCw0LnQu9Cw0LzQuCBpbmZvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1NIDzQutCw0YI+ICAg0LLQuNC30L3QsNGH0LjRgtC4INC80ZbRgdGG0Y8g0L/QvtGI0YPQutGDINC/0ZbQtNGA0YPRh9C90LjQutGW0LIg0YLQsCDRhNCw0LnQu9GW0LIgaW5mb1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDRiNGD0LrQsNGC0Lgg0LvQuNGI0LUg0YMg0LrQsNGC0LDQu9C+0LPQsNGFINC3INC/0L7Rh9Cw0YLQutC+0LLQuNC80Lgg0LrQvtC00LDQvNC4XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiAtUyA80LrQsNGCPiAgINCy0LjQt9C90LDRh9C40YLQuCDQvNGW0YHRhtGPINC/0L7RiNGD0LrRgyDQv9C+0YfQsNGC0LrQvtCy0LjRhSDQutC+0LTRltCyXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgLWYgICAgICAgICDQv9C10YDQtdGA0LLQsNGC0Lgg0YHQv9C40YHQvtC6INCw0YDQs9GD0LzQtdC90YLRgyDQutCw0YLQsNC70L7Qs9GW0LIgPNC60LDRgj5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAg0YjRg9C60LDRgtC4INGB0LXRgNC10LQg0L3QtdGC0LjQv9C+0LLQuNGFINC+0LEn0ZTQutGC0ZbQslxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIgLWwgICAgICAgICDQstC40LLQtdGB0YLQuCDQtdGE0LXQutGC0LjQstC90ZYg0YjQu9GP0YUg0L/QvtGI0YPQutGDXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjY0OAorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+INC/0LDRgNCw0LzQtdGC0YDQsCAtZiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKK21zZ2lkICJwYXJ0aXRpb24vZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICLRgNC+0LfQtNGW0Lsg0LDQsdC+IFVVSUQg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICLQtNC+0LLQttC40L3QsCDQvNCw0LPRltGH0L3QvtCz0L4g0YDRj9C00LrQsCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAi0YLQuNC/INGB0YPQv9C10YDQsdC70L7QutGDIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworbXNnaWQgIm1hZ2ljIHN0cmluZyBvZmZzZXQiCittc2dzdHIgItCy0ZbQtNGB0YLRg9C/INC80LDQs9GW0YfQvdC+0LPQviDRgNGP0LTQutCwIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOAorbXNnaWQgInR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgItC+0L/QuNGBINGC0LjQv9GDIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINCx0LvQvtC60L7QstC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorbXNnaWQgInBhcnRpdGlvbi10YWJsZSIKK21zZ3N0ciAi0YLQsNCx0LvQuNGG0Y8g0YDQvtC30LTRltC70ZbQsiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6ICVzOiDRgdC/0YDQvtCx0LAg0ZbQvdGW0YbRltCw0LvRltC30LDRhtGW0Zcg0LfQvtC90LTRg9Cy0LDQvdC90Y8g0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstC40YLQtdGA0YLQuCDRgNGP0LTQvtC6INC60L7QvdGC0YDQvtC70YzQvdC+0Zcg0YHRg9C80LggJXMg0LfQsCDQt9GB0YPQstC+0LwgMHglMDhqeCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6ICV6ZCDQsdCw0LnRgiDQsdGD0LvQviDQstC40LvRg9GH0LXQvdC+INC30LAg0LfRgdGD0LLQvtC8IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzFdICIlczogJXpkINCx0LDQudGC0Lgg0LHRg9C70L4g0LLQuNC70YPRh9C10L3QviDQt9CwINC30YHRg9Cy0L7QvCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clsyXSAiJXM6ICV6ZCDQsdCw0LnRgtGW0LIg0LHRg9C70L4g0LLQuNC70YPRh9C10L3QviDQt9CwINC30YHRg9Cy0L7QvCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clszXSAiJXM6ICV6ZCDQsdCw0LnRgiDQsdGD0LvQviDQstC40LvRg9GH0LXQvdC+INC30LAg0LfRgdGD0LLQvtC8IDB4JTA4anggKCVzKTogIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0YDQtdC30LXRgNCy0L3RgyDQutC+0L/RltGOINC/0ZbQtNC/0LjRgdGDIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiJXM6INCy0LjQutC70LjQutCw0ZTQvNC+IGlvY2x0INC00LvRjyDQv9C+0LLRgtC+0YDQvdC+0LPQviDRh9C40YLQsNC90L3RjyDRgtCw0LHQu9C40YbRliDRgNC+0LfQtNGW0LvRltCyOiAlbVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDRgNC10LfQtdGA0LLQvdGDINC60L7Qv9GW0Y4g0L/RltC00L/QuNGB0YMsICRIT01FINC90LXQstC40LfQvdCw0YfQtdC90L4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiDRltCz0L3QvtGA0YPRlNC80L4g0LLQutC70LDQtNC10L3RgyDRgtCw0LHQu9C40YbRjiDRgNC+0LfQtNGW0LvRltCyIMKrJXPCuywg0L7RgdC60ZbQu9GM0LrQuCDQstC+0L3QsCDQv9C+0LrRgNC40LLQsNGUINC90LUg0YPQstC10YHRjCDQtNC40YHQutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0LkiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIlczog0L/QvtC30LjRhtGW0Zcg0LfRliDQt9GB0YPQstC+0LwgMHglangg0L3QtSDQt9C90LDQudC00LXQvdC+IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0LnRgtC1INC/0LDRgNCw0LzQtdGC0YAgLS1mb3JjZSDQtNC70Y8g0L/RgNC40LzRg9GB0L7QstC+0LPQviDQstC40YLQuNGA0LDQvdC90Y8uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAi0JLQuNGC0LXRgNGC0Lgg0L/RltC00L/QuNGBINC3INC/0YDQuNGB0YLRgNC+0Y4uIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKSIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAg0LLQuNGC0LXRgNGC0Lgg0YPRgdGWINC80LDQs9GW0YfQvdGWINGA0Y/QtNC60LggKNCe0JHQldCg0JXQltCd0J4hKSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FIgorbXNnc3RyICIgLWIsIC0tYmFja3VwICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INGA0LXQt9C10YDQstC90YMg0LrQvtC/0ZbRjiDQv9GW0LTQv9C40YHRgyDRgyAkSE9NRSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTAKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICDQv9GA0LjQvNGD0YHQvtCy0LUg0LLQuNGC0LjRgNCw0L3QvdGPIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLWksIC0tbm9oZWFkaW5ncyAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQutGW0LIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPIEpTT04iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgINCy0LjQutC+0L3QsNGC0Lgg0YPRgdGWINC00ZbRlywg0L7QutGA0ZbQvCDQstC40LrQu9C40LrRgyB3cml0ZSgpIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNAorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXMiCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPNGH0LjRgdC70L4+INCy0ZbQtNGB0YLRg9C/INC00LvRjyDQstC40YLQuNGA0LDQvdC90Y8g0YMg0LHQsNC50YLQsNGFIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNQorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGxpc3Q+IENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiDRgdGC0L7QstC/0YfQuNC60Lgg0LLQuNCy0LXQtNC10L3QvdGPLCDRj9C60ZYg0LHRg9C00LUg0L/QvtC60LDQt9Cw0L3QviAo0LTQuNCyLiDQvdC40LbRh9C1KSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTYKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgLXAsIC0tcGFyc2FibGUgICAgICDQstC40LLQtdGB0YLQuCDQtNCw0L3RliDRgyDQv9GA0LjQtNCw0YLQvdC+0LzRgyDQtNC70Y8g0L7QsdGA0L7QsdC60LgsINCwINC90LUg0YMg0L/RgNC40LTQsNGC0L3QvtC80YMg0LTQu9GPINC00YDRg9C60YMg0YTQvtGA0LzQsNGC0ZYiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE3Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICDQv9GA0LjQtNGD0YjQuNGC0Lgg0LLQuNCy0LXQtNC10L3QvdGPINC/0L7QstGW0LTQvtC80LvQtdC90YwiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE4Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPNGB0L/QuNGB0L7Quj4g0L7QsdC80LXQttC40YLQuCDQvdCw0LHRltGAINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8LCBSQUlEINCw0LHQviDRgtCw0LHQu9C40YbRjCDRgNC+0LfQtNGW0LvRltCyIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGAIC0tYmFja3VwINGDINGG0YzQvtC80YMg0LrQvtC90YLQtdC60YHRgtGWINC90LUg0LzQsNGUINGB0LXQvdGB0YMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDQsNCx0L4g0LfQvNGW0L3QuNGC0Lgg0LDRgtGA0LjQsdGD0YLQuCDQv9C70LDQvdGD0LLQsNC90L3RjyDQv9GA0L7RhtC10YHRgyDRgyDRgNC10LDQu9GM0L3QvtC80YMg0YfQsNGB0ZYuXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorItCS0YHRgtCw0L3QvtCy0LjRgtC4INC/0YDQsNCy0LjQu9CwOlxuIgorIiBjaHJ0IFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQv9GA0ZbQvtGA0LjRgtC10YLQvdGW0YHRgtGMPiA80LrQvtC80LDQvdC00LA+IFs80LDRgNCz0YPQvNC10L3Rgj4uLi5dXG4iCisiIGNocnQgW9C/0LDRgNCw0LzQtdGC0YDQuF0gLS1waWQgPNC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0Yw+IDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0MQorbXNnaWQgIiIKKyJHZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSAtcCA8cGlkPlxuIgorbXNnc3RyICIiCisi0J7RgtGA0LjQvNCw0YLQuCDQv9GA0LDQstC40LvQsDpcbiIKKyIgY2hydCBb0L/QsNGA0LDQvNC10YLRgNC4XSAtcCA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAi0J/QsNGA0LDQvNC10YLRgNC4INC/0YDQsNCy0LjQu9CwOlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIgLWIsIC0tYmF0Y2ggICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQv9GA0LDQstC40Lsg0YMgU0NIRURfQkFUQ0hcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ3Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYWRsaW5lICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0YDQsNCy0LjQu9CwINGDIFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0L/RgNCw0LLQuNC7INGDIFNDSEVEX0ZJRk9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLWksIC0taWRsZSAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQv9GA0LDQstC40Lsg0YMgU0NIRURfSURMRVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIgLW8sIC0tb3RoZXIgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQv9GA0LDQstC40Lsg0YMgU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQt9C90LDRh9C10L3QvdGPINC/0YDQsNCy0LjQuyDRgyBTQ0hFRF9SUiAo0YLQuNC/0L7QstC+KVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTQKK21zZ2lkICJTY2hlZHVsaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YDQuCDQv9C70LDQvdGD0LLQsNC90L3RjzpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIC1SIHwgLS1yZXNldC1vbi1mb3JrICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0LggU0NIRURfUkVTRVRfT05fRk9SSyDQtNC70Y8gRklGTyDQsNCx0L4gUlJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gINC/0LDRgNCw0LzQtdGC0YAg0YfQsNGB0YMg0LLQuNC60L7QvdCw0L3QvdGPINC00LvRjyBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTcKK21zZ2lkICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICBwZXJpb2QgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVAsIC0tc2NoZWQtcGVyaW9kIDxucz4gICDQv9Cw0YDQsNC80LXRgtGAINC/0LXRgNGW0L7QtNGDINC00LvRjyBERUFETElORVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+INC/0LDRgNCw0LzQtdGC0YAg0LPRgNCw0L3QuNGH0L3QvtCz0L4g0YfQsNGB0YMg0LTQu9GPIERFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgItCG0L3RiNGWINC/0LDRgNCw0LzQtdGC0YDQuDpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtYSwgLS1hbGwtdGFza3MgICAgICDQvtCx0YDQvtCx0LjRgtC4INGD0YHRliDQt9Cw0LLQtNCw0L3QvdGPICjQv9C+0YLQvtC60LgpINC00LvRjyDQt9Cw0LTQsNC90L7Qs9C+IHBpZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKK21zZ2lkICIgLW0sIC0tbWF4ICAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCittc2dzdHIgIiAtbSwgLS1tYXggICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQvNGW0L3RltC80LDQu9GM0L3QtSDRliDQvNCw0LrRgdC40LzQsNC70YzQvdC1INC60L7RgNC10LrRgtC90LUg0LfQvdCw0YfQtdC90L3RjyDQv9GA0ZbQvtGA0LjRgtC10YLQvdC+0YHRgtGWXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAg0L/RgNCw0YbRjtCy0LDRgtC4INC3INC90LDRj9Cy0L3QuNC8INCy0LrQsNC30LDQvdC40LwgcGlkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAg0LLQuNCy0L7QtNC40YLQuCDQtNCw0L3RliDRidC+0LTQviDRgdGC0LDQvdGDXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQv9GA0LDQstC40LvQsCDRidC+0LTQviBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQsNGC0YDQuNCx0YPRgtC4IHBpZCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgItC90L7QstGWINC/0YDQsNCy0LjQu9CwINC/0LvQsNC90YPQstCw0L3QvdGPINC00LvRjyBwaWQgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgItC/0L7RgtC+0YfQvdGWINC/0YDQsNCy0LjQu9CwINC/0LvQsNC90YPQstCw0L3QvdGPINC00LvRjyBwaWQgJWQ6ICVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgItC90L7QstC40Lkg0L/RgNGW0L7RgNC40YLQtdGCINC/0LvQsNC90YPQstCw0L3QvdGPIHBpZCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAi0L/QvtGC0L7Rh9C90LjQuSDQv9GA0ZbQvtGA0LjRgtC10YIg0L/Qu9Cw0L3Rg9Cy0LDQvdC90Y8gcGlkICVkOiAlZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgItCd0L7QstGWINC/0LDRgNCw0LzQtdGC0YDQuCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwaWQgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgItCf0L7RgtC+0YfQvdGWINC/0LDRgNCw0LzQtdGC0YDQuCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwaWQgJWQ6ICVqdS8lanUvJWp1XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0YHQv9C40YHQvtC6INC30LDQstC00LDQvdGMIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbWluL21heCBwcmlvcml0eVx0OiAlZC8lZFxuIgorbXNnc3RyICLQnNGW0L0uL9Cc0LDQutGBLiDQv9GA0ZbQvtGA0LjRgtC10YLQvdGW0YHRgtGMICVzXHQ6ICVkLyVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICIlcyDQvdC1INC/0ZbQtNGC0YDQuNC80YPRlNGC0YzRgdGPP1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/RgNCw0LLQuNC70LAg0YnQvtC00L4gdGlkICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/RgNCw0LLQuNC70LAg0YnQvtC00L4gcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODQKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQv9C10YDRltC+0LTRgyDQstC40LrQvtC90LDQvdC90Y8iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NworbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/QtdGA0ZbQvtC00YMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQs9GA0LDQvdC40YfQvdC+0LPQviDRh9Cw0YHRgyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE1Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC/0YDRltC+0YDQuNGC0LXRgtGDIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTkKK21zZ2lkICItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAi0L/RltC00YLRgNC40LzQutGDINC/0LDRgNCw0LzQtdGC0YDQsCAtLXJlc2V0LW9uLWZvcmsg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQu9C40YjQtSDQtNC70Y8g0L/RgNCw0LLQuNC7IFNDSEVEX0ZJRk8g0ZYgU0NIRURfUlIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgItCf0ZbQtNGC0YDQuNC80LrRgyDQv9Cw0YDQsNC80LXRgtGA0ZbQsiAtLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0g0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQu9C40YjQtSDQtNC70Y8gU0NIRURfREVBRExJTkUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUzOQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60LggU0NIRURfREVBRExJTkUg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC1INC30L3QsNGH0LXQvdC90Y8g0L/RgNGW0L7RgNC40YLQtdGC0L3QvtGB0YLRliDQv9GA0LDQstC40LvQsDogJWQ6INC00LjQsi4gLS1tYXgsINGJ0L7QsSDQvtC30L3QsNC50L7QvNC40YLQuNGB0Y8g0ZbQtyDQutC+0YDQtdC60YLQvdC40Lwg0LTRltCw0L/QsNC30L7QvdC+0LwiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgaW9wcmlvX2dldCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXM6INC/0YDRltC+0YDQuNGC0LXRgiAlbHVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBpb3ByaW9fc2V0IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80LrQvtC80LDQvdC00LA+XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LDQsdC+INC30LzRltC90LjRgtC4INC60LvQsNGBINC/0LvQsNC90YPQstCw0L3QvdGPINCy0LLQtdC00LXQvdC90Y8t0LLQuNCy0LXQtNC10L3QvdGPINGWINC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0Ywg0L/RgNC+0YbQtdGB0YMuXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jbGFzcyA80LrQu9Cw0YE+ICAgICDQvdCw0LfQstCwINCw0LHQviDQvdC+0LzQtdGAINC60LvQsNGB0YMg0L/Qu9Cw0L3Rg9Cy0LDQvdC90Y8sXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiDQvdC10LzQsNGULCAxOiDRgNC10LDQu9GM0L3QvtCz0L4g0YfQsNGB0YMsIDI6INC90LDQudC60YDQsNGJ0ZYg0LfRg9GB0LjQu9C70Y8sIDM6INC70ZbQvdC40LLQuNC5XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPNGH0LjRgdC70L4+ICDQv9GA0ZbQvtGA0LjRgtC10YLQvdGW0YHRgtGMICgwLi43KSDRgyDQstC60LDQt9Cw0L3QvtC80YMg0LrQu9Cw0YHRliDQv9C70LDQvdGD0LLQsNC90L3RjyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgINC70LjRiNC1INC00LvRjyDQutC70LDRgdGW0LIg0YDQtdCw0LvRjNC90L7Qs9C+INGH0LDRgdGDINGC0LAg0L3QsNC50LrRgNCw0YnQuNGFINC30YPRgdC40LvRjFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgINC/0YDQsNGG0Y7QstCw0YLQuCDRltC3INCy0LrQsNC30LDQvdC40LzQuCDQstC20LUg0LfQsNC/0YPRidC10L3QuNC80Lgg0L/RgNC+0YbQtdGB0LDQvNC4XG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgINC/0YDQsNGG0Y7QstCw0YLQuCDQtyDRg9C20LUg0LfQsNC/0YPRidC10L3QuNC80Lgg0L/RgNC+0YbQtdGB0LDQvNC4INGW0Lcg0LLQutCw0LfQsNC90LjRhSDQs9GA0YPQv1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXQsIC0taWdub3JlICAgICAgICAgICDRltCz0L3QvtGA0YPQstCw0YLQuCDQvdC10LLQtNCw0YfRllxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgINC/0YDQsNGG0Y7QstCw0YLQuCDQtyDRg9C20LUg0LfQsNC/0YPRidC10L3QuNC80Lgg0L/RgNC+0YbQtdGB0LDQvNC4LCDQstC70LDRgdC90LjQutCw0LzQuCDRj9C60LjRhSDRlCDQstC60LDQt9Cw0L3RliDQutC+0YDQuNGB0YLRg9Cy0LDRh9GWXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LTQsNC90LjRhSDQutC70LDRgdGDIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQutC70LDRgdGDIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDQutC70LDRgSDQv9C70LDQvdGD0LLQsNC90L3Rjzogwqslc8K7IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICLQv9GA0L7Qs9GA0LDQvNCwINC30LTQsNGC0L3QsCDQvtC00L3QvtGH0LDRgdC90L4g0L7QsdGA0L7QsdC70Y/RgtC4INC30LDQv9C40YLQuCDQu9C40YjQtSDRidC+0LTQviDQvtC00L3QvtCz0L4g0LLQsNGA0ZbQsNC90YLQsDogcGlkLCBwZ2lkINCw0LHQviB1aWQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIgUEdJRCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCIFVJRCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICLRltCz0L3QvtGA0YPRlNC80L4g0LLQutCw0LfQsNC90ZYg0LTQsNC90ZYg0LrQu9Cw0YHRgyDQtNC70Y8g0L/QvtGA0L7QttC90YzQvtCz0L4g0LrQu9Cw0YHRgyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICLRltCz0L3QvtGA0YPRlNC80L4g0LLQutCw0LfQsNC90ZYg0LTQsNC90ZYg0LrQu9Cw0YHRgyDQtNC70Y8g0L3QtdCw0LrRgtC40LLQvdC+0LPQviDQutC70LDRgdGDIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW8gY2xhc3MgJWQiCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDQutC70LDRgSDQv9GA0ZbQvtGA0LjRgtC10YLRgyAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlVzYWdlOiAlcyBbb3B0aW9uc10gW21hc2sgfCBjcHUtbGlzdF0gW3BpZHxjbWQgW2FyZ3MuLi5dXVxuIgorIlxuIgorbXNnc3RyICIiCisi0JrQvtGA0LjRgdGC0YPQstCw0L3QvdGPOiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBb0LzQsNGB0LrQsCB8INGB0L/QuNGB0L7Qul/Qv9GA0L7RhtC10YHQvtGA0ZbQsl0gW3BpZHzQutC+0LzQsNC90LTQsCBb0LDRgNCz0YPQvNC10L3RgtC4Li4uXV1cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDQsNCx0L4g0LfQvNGW0L3QuNGC0Lgg0YHQv9C+0YDRltC00L3QtdC90ZbRgdGC0Ywg0L/RgNC+0YbQtdGB0YMg0ZbQtyDQv9GA0L7RhtC10YHQvtGA0L7QvC5cbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9wdGlvbnM6XG4iCisiIC1hLCAtLWFsbC10YXNrcyAgICAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorbXNnc3RyICIiCisi0J/QsNGA0LDQvNC10YLRgNC4OlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICDQv9GA0LDRhtGO0LLQsNGC0Lgg0Lcg0YPRgdGW0LzQsCDQt9Cw0LLQtNCw0L3QvdGP0LzQuCAo0L/QvtGC0L7QutCw0LzQuCkg0LTQu9GPINCy0LrQsNC30LDQvdC+0LPQviBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAg0L/RgNCw0YbRjtCy0LDRgtC4INC3INCy0LbQtSDRgdGC0LLQvtGA0LXQvdC40Lwg0LLQutCw0LfQsNC90LjQvCBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LDQsdC+INCy0LrQsNC30LDRgtC4INC/0YDQvtGG0LXRgdC+0YDQuCDRgyDRhNC+0YDQvNCw0YLRliDRgdC/0LjRgdC60YNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyLQotC40L/QvtCy0L7RjiDQv9C+0LLQtdC00ZbQvdC60L7RjiDRlCDQt9Cw0L/Rg9GB0Log0L3QvtCy0L7RlyDQutC+0LzQsNC90LTQuDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyLQktC4INC80L7QttC10YLQtSDQvtGC0YDQuNC80LDRgtC4INC80LDRgdC60YMg0LLQttC1INGB0YLQstC+0YDQtdC90L7Qs9C+INC30LDQstC00LDQvdC90Y86XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisi0JDQsdC+INCy0YHRgtCw0L3QvtCy0LjRgtC4INGX0Zc6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisi0KMg0YTQvtGA0LzQsNGC0ZYg0YHQv9C40YHQutGDINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINGB0L/QuNGB0L7QuiDQt9C90LDRh9C10L3RjCwg0LLRltC00L7QutGA0LXQvNC70LXQvdC40YUg0LrQvtC80LDQvNC4INC30LDQvNGW0YHRgtGMINC80LDRgdC60Lg6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorItCU0ZbQsNC/0LDQt9C+0L3QuCDRgyDRhNC+0YDQvNCw0YLRliDRgdC/0LjRgdC60YMg0LzQvtC20YPRgtGMINC/0YDQuNC50LzQsNGC0Lgg0LDRgNCz0YPQvNC10L3RgiDQutGA0L7QutGDOlxuIgorIiAgICDQvdCw0L/RgNC40LrQu9Cw0LQsIDAtMzE6MiDQtdC60LLRltCy0LDQu9C10L3RgtC90LUg0LzQsNGB0YbRliAweDU1NTU1NTU1XG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICLQndC+0LLQuNC5INGB0L/QuNGB0L7QuiDRgdC/0L7RgNGW0LTQvdC10L3QvtGB0YLRliDQtNC70Y8gcGlkICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgItCf0L7RgtC+0YfQvdC40Lkg0YHQv9C40YHQvtC6INGB0L/QvtGA0ZbQtNC90LXQvdC+0YHRgtGWIHBpZCAlZDogJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgItCd0L7QstCwINC80LDRgdC60LAg0YHQv9C+0YDRltC00L3QtdC90L7RgdGC0ZYgcGlkICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IG1hc2s6ICVzXG4iCittc2dzdHIgItCf0L7RgtC+0YfQvdCwINC80LDRgdC60LAg0YHQv9C+0YDRltC00L3QtdC90L7RgdGC0ZYgcGlkICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICLQstC90YPRgtGA0ZbRiNC90Y8g0L/QvtC80LjQu9C60LA6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8g0Lcg0L3QsNCx0L7RgNGDINC/0YDQvtGG0LXRgdC+0YDRltCyIChjcHVzZXQpINGDINGA0Y/QtNC+0LoiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGB0L/QvtGA0ZbQtNC90LXQvdGW0YHRgtGMINC00LvRjyBwaWQgJWQiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0YHQv9C+0YDRltC00L3QtdC90L7RgdGC0ZYgcGlkICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxOTUgc3lzLXV0aWxzL2NoY3B1LmM6MjkyCittc2dpZCAiY2Fubm90IGRldGVybWluZSBOUl9DUFVTOyBhYm9ydGluZyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LfQvdCw0YfQuNGC0LggTlJfQ1BVUzsg0L/QtdGA0LXRgNC40LLQsNGU0LzQviDRgNC+0LHQvtGC0YMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgY3B1c2V0X2FsbG9jIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgdC/0LjRgdC+0Log0L/RgNC+0YbQtdGB0L7RgNGW0LI6ICVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC80LDRgdC60YMg0L/RgNC+0YbQtdGB0L7RgNGW0LI6ICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBaZXJvLWZpbGxlZCAlPFBSSXU2ND4gYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICU8UFJJdTY0PlxuIgorbXNnc3RyICIlczog0LfQsNC/0L7QstC90LXQvdC+INC90YPQu9GP0LzQuCAlPFBSSXU2ND4g0LHQsNC50YLRltCyINC3INC/0L7Qt9C40YbRltGXICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6INCy0ZbQtNC60LjQvdGD0YLQviAlPFBSSXU2ND4g0LHQsNC50YLRltCyINC3INC/0L7Qt9C40YbRltGXICU8UFJJdTY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICLQktGW0LTQutC40L3Rg9GC0Lgg0LLQvNGW0YHRgiDRgdC10LrRgtC+0YDRltCyINC90LAg0L/RgNC40YHRgtGA0L7Rly5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8bj4gICAg0LLRltC00YHRgtGD0L8g0YMg0LHQsNC50YLQsNGFLCDQtyDRj9C60L7Qs9C+INGB0LvRltC0INGA0L7Qt9C/0L7Rh9C40L3QsNGC0Lgg0LLRltC00LrQuNC00LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDxuPiAgICDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQsNC50YLRltCyLCDRj9C60ZYg0YHQu9GW0LQg0LLRltC00LrQuNC90YPRgtC4XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIC1wLCAtLXN0ZXAgPG4+ICAgICAg0YDQvtC30LzRltGAINGW0YLQtdGA0LDRhtGW0Lkg0LLRltC00LrQuNC00LDQvdC90Y8g0YMg0LzQtdC20LDRhSDQstGW0LTRgdGC0YPQv9GDXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTQKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtcywgLS1zZWN1cmUgICAgICAgINCy0LjQutC+0L3QsNGC0Lgg0LHQtdC30L/QtdGH0L3QtSDQstGW0LTQutC40LTQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk1Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC16LCAtLXplcm9vdXQgICAgICAg0LfQsNC/0L7QstC90LjRgtC4INC90YPQu9GP0LzQuCDQt9Cw0LzRltGB0YLRjCDQstGW0LTQutC40LTQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICDQstC40LLQtdGB0YLQuCDQstC40YDRltCy0L3Rj9C90YMg0LTQvtCy0LbQuNC90YMg0YLQsCDQstGW0LTRgdGC0YPQv1xuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfRgdGD0LIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTU0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0ZXAiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQutGA0L7QuiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzYgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3MworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTExIHN5cy11dGlscy9mc3RyaW0uYzozMzYKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LAg0LrRltC70YzQutGW0YHRgtGMINCw0YDQs9GD0LzQtdC90YLRltCyIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIGlvY3RsIEJMS0dFVFNJWkU2NCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTIgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCBpb2N0bCBCTEtTU1pHRVQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczog0LfRgdGD0LIgJTxQUkl1NjQ+INC90LUg0LLQuNGA0ZbQstC90Y/QvdC+INC00L4g0YDQvtC30LzRltGA0YMg0YHQtdC60YLQvtGA0LAgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczog0LfRgdGD0LIg0LLQuNGF0L7QtNC40YLRjCDQt9CwINC80LXQttGWINGA0L7Qt9C80ZbRgNGDINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIlczog0LTQvtCy0LbQuNC90YMgJTxQUkl1NjQ+INC90LUg0LLQuNGA0ZbQstC90Y/QvdC+INC00L4g0YDQvtC30LzRltGA0YMg0YHQtdC60YLQvtGA0LAgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIGlvY3RsIEJMS1pFUk9PVVQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIGlvY3RsIEJMS1NFQ0RJU0NBUkQiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIGlvY3RsIEJMS0RJU0NBUkQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzMKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICLQl9Cy0ZbRgiDRidC+0LTQviDQtNCw0L3QuNGFINC/0YDQviDQt9C+0L3QuCDQvdCwINC30LDQtNCw0L3QvtC80YMg0L/RgNC40YHRgtGA0L7RlyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3NAorbXNnaWQgIlJlc2V0IGEgcmFuZ2Ugb2Ygem9uZXMuIgorbXNnc3RyICLQodC60LjQvdGD0YLQuCDQtNGW0LDQv9Cw0LfQvtC9INC30L7QvS4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgaW9jdGwgYmxrZGV2X2dldF9zZWN0b3JzIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQt9C90LDRh9C40YLQuCDRgNC+0LfQvNGW0YAg0LfQvtC90LgiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIGlvY3RsIEJMS1JFUE9SVFpPTkUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvdW5kICVkIHpvbmVzIGZyb20gMHglPFBSSXg2ND5cbiIKK21zZ3N0ciAi0JfQvdCw0LnQtNC10L3QviAlZCDQt9C+0L3QuCDQtyAweCU8UFJJeDY0PlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZW4gMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKK21zZ3N0ciAiICDQv9C+0YcuOiAweCUwOTxQUkl4NjQ+LCDQtNC+0LIuIDB4JTA2PFBSSXg2ND4sIHct0LLQutCw0LcgMHglMDY8UFJJeDY0PiDRgdC60LjQtC46JXUg0L3QtdC/0L7RgdC7LjoldSwgei3Rg9C80L7QsjolMnUoJXMpIFvRgtC40L86ICV1KCVzKV1cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiJXM6INC30YHRg9CyICU8UFJJdTY0PiDQvdC1INCy0LjRgNGW0LLQvdGP0L3QviDQtNC+INGA0L7Qt9C80ZbRgNGDINC30L7QvdC4ICVsdSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIlczog0LrRltC70YzQutGW0YHRgtGMINGB0LXQutGC0L7RgNGW0LIgJTxQUkl1NjQ+INC90LUg0LLQuNGA0ZbQstC90Y/QvdC+INC30LAg0YDQvtC30LzRltGA0L7QvCDQt9C+0L3QuCAlbHUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgaW9jdGwgQkxLUkVTRVRaT05FIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3VjY2Vzc2Z1bGx5IHJlc2V0IGluIHJhbmdlIGZyb20gJTxQUkl1NjQ+LCB0byAlPFBSSXU2ND4iCittc2dzdHIgIiVzOiDRg9GB0L/RltGI0L3QviDRgdC60LjQvdGD0YLQviDRgyDQtNGW0LDQv9Cw0LfQvtC90ZYg0LLRltC0ICU8UFJJdTY0PiDQtNC+ICU8UFJJdTY0PiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxjb21tYW5kPiBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiICVzIDzQutC+0LzQsNC90LTQsD4gW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC/0YDQuNGB0YLRgNGW0Lk+XG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICLQktC40LrQvtC90LDRgtC4INC60L7QvNCw0L3QtNGDINC00LvRjyDQt9C+0L3QuCDQvdCw0LQg0LLQutCw0LfQsNC90LjQvCDQsdC70L7QutC+0LLQuNC8INC/0YDQuNGB0YLRgNC+0ZTQvC5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPNGB0LXQutGC0L7RgD4gINC/0L7Rh9Cw0YLQutC+0LLQuNC5INGB0LXQutGC0L7RgCDQt9C+0L3QuCDQtNC70Y8g0LTRltGXICjRgyA1MTIt0LHQsNC50YLQvtCy0LjRhSDRgdC10LrRgtC+0YDQsNGFKVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMAorbXNnaWQgIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPNGB0LXQutGC0L7RgNC4PiDQvNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRgtC+0YDRltCyINC00LvRjyDQtNGW0ZcgKNGDIDUxMi3QsdCw0LnRgtC+0LLQuNGFINGB0LXQutGC0L7RgNCw0YUpXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCittc2dpZCAiIC1jLCAtLWNvdW50IDxudW1iZXI+ICAgbWF4aW11bSBudW1iZXIgb2Ygem9uZXNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvdW50IDzRh9C40YHQu9C+PiAgICDQvNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDQt9C+0L1cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTIKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNC+0LrQu9Cw0LTQvdGW0YjRliDQv9C+0LLRltC00L7QvNC70LXQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IHZhbGlkIGNvbW1hbmQgbmFtZSIKK21zZ3N0ciAiJXMg0L3QtSDRlCDQutC+0YDQtdC60YLQvdC+0Y4g0L3QsNC30LLQvtGOINC60L7QvNCw0L3QtNC4IgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINC60ZbQu9GM0LrQvtGB0YLRliDQt9C+0L0iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzczCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQutGW0LvRjNC60L7RgdGC0ZYg0YHQtdC60YLQvtGA0ZbQsiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugem9uZSBvZmZzZXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9GB0YPQsiDQt9C+0L3QuCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTEgc3lzLXV0aWxzL3NldHNpZC5jOjkyCittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0LrQvtC80LDQvdC00YMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjg3IHN5cy11dGlscy9jaGNwdS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgItC/0YDQvtGG0LXRgdC+0YDQsCAldSDQvdC1INGW0YHQvdGD0ZQiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAi0L/RgNC+0YbQtdGB0L7RgCAldSDQvdC1INC80L7QttC90LAg0LLRgdGC0LDQstC70Y/RgtC4INC90LDQttC40LLQviIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICLQv9GA0L7RhtC10YHQvtGAICV1INCy0LbQtSDRg9Cy0ZbQvNC60L3QtdC90L5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgItC/0YDQvtGG0LXRgdC+0YAgJXUg0LLQttC1INCy0LjQvNC60L3QtdC90L5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LzQuNC60LDQvdC90Y8g0L/RgNC+0YbQtdGB0L7RgNCwICV1INC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWICjQv9GA0L7RhtC10YHQvtGAINCy0LjQu9GD0YfQtdC90L4g0Lcg0L3QsNC70LDRiNGC0YPQstCw0L3RjCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LzQuNC60LDQvdC90Y8g0L/RgNC+0YbQtdGB0L7RgNCwICV1INC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAi0L/RgNC+0YbQtdGB0L7RgCAldSDRg9Cy0ZbQvNC60L3QtdC90L5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40LzQuNC60LDQvdC90Y8g0L/RgNC+0YbQtdGB0L7RgNCwICV1INC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWICjQvtGB0YLQsNC90L3RltC5INGD0LLRltC80LrQvdC10L3QuNC5INC/0YDQvtGG0LXRgdC+0YApIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC80LjQutCw0L3QvdGPINC/0YDQvtGG0LXRgdC+0YDQsCAldSDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICLQv9GA0L7RhtC10YHQvtGAICV1INCy0LjQvNC60L3QtdC90L5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgItCjINGG0ZbQuSDRgdC40YHRgtC10LzRliDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4g0L/RltC00YLRgNC40LzQutC4INC/0L7QstGC0L7RgNC90L7Qs9C+INC/0L7RiNGD0LrRgyDQv9GA0L7RhtC10YHQvtGA0ZbQsiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30L/QvtGH0LDRgtC4INC/0L7QstGC0L7RgNC90LjQuSDQv9C+0YjRg9C6INC/0YDQvtGG0LXRgdC+0YDRltCyIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgItCg0L7Qt9C/0L7Rh9Cw0YLQviDQv9C+0LLRgtC+0YDQvdC40Lkg0L/QvtGI0YPQuiDQv9GA0L7RhtC10YHQvtGA0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgdGhlIGRpc3BhdGNoaW5nIG1vZGUgb2YgQ1BVcyIKK21zZ3N0ciAi0KMg0YbRltC5INGB0LjRgdGC0LXQvNGWINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQv9GW0LTRgtGA0LjQvNC60Lgg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINGA0LXQttC40LzRgyDRgNC+0LfQv9C+0LTRltC70YMg0L/RgNC+0YbQtdGB0L7RgNGW0LIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90L7Qs9C+INGA0L7Qt9C/0L7QtNGW0LvRgyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgItCj0YHQv9GW0YjQvdC+INCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0YDQtdC20LjQvCDQs9C+0YDQuNC30L7QvdGC0LDQu9GM0L3QvtCz0L4g0YDQvtC30L/QvtC00ZbQu9GDXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LbQuNC8INCy0LXRgNGC0LjQutCw0LvRjNC90L7Qs9C+INGA0L7Qt9C/0L7QtNGW0LvRgyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLQo9GB0L/RltGI0L3QviDQstGB0YLQsNC90L7QstC70LXQvdC+INGA0LXQttC40Lwg0LLQtdGA0YLQuNC60LDQu9GM0L3QvtCz0L4g0YDQvtC30L/QvtC00ZbQu9GDXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAi0L/RgNC+0YbQtdGB0L7RgCAldSDQvdC1INC80L7QttC90LAg0L3QsNC70LDRiNGC0L7QstGD0LLQsNGC0LgiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgItC/0YDQvtGG0LXRgdC+0YAgJXUg0LLQttC1INC00L7QtNCw0L3QviDQtNC+INC90LDQu9Cw0YjRgtGD0LLQsNC90YxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICLQv9GA0L7RhtC10YHQvtGAICV1INCy0LbQtSDQstC40LvRg9GH0LXQvdC+INC3INC90LDQu9Cw0YjRgtGD0LLQsNC90YxcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQu9GD0YfQtdC90L3RjyDQv9GA0L7RhtC10YHQvtGA0LAgJXUg0Lcg0L3QsNC70LDRiNGC0YPQstCw0L3RjCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliAo0LTQvtGB0YLRg9C/INC00L4g0L/RgNC+0YbQtdGB0L7RgNCwINCy0YHQtSDRidC1INC00L7Qt9Cy0L7Qu9C10L3QvikiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC00L7QtNCw0LLQsNC90L3RjyDQv9GA0L7RhtC10YHQvtGA0LAgJXUg0LTQviDQvdCw0LvQsNGI0YLRg9Cy0LDQvdGMINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAi0L/RgNC+0YbQtdGB0L7RgCAldSDQvdCw0LvQsNGI0YLQvtCy0LDQvdC+XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC70YPRh9C10L3QvdGPINC/0YDQvtGG0LXRgdC+0YDQsCAldSDQtyDQvdCw0LvQsNGI0YLRg9Cy0LDQvdGMINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICLQv9GA0L7RhtC10YHQvtGAICV1INCy0LjQu9GD0YfQtdC90L4g0Lcg0L3QsNC70LDRiNGC0YPQstCw0L3RjFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBDUFUgbnVtYmVyIGluIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQvdC+0LzQtdGAINC/0YDQvtGG0LXRgdC+0YDQsCDRgyDRgdC/0LjRgdC60YMg0L/RgNC+0YbQtdGB0L7RgNGW0LI6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorItCa0L7RgNC40YHRgtGD0LLQsNC90L3RjzpcbiIKKyIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICLQndCw0LvQsNGI0YLRg9Cy0LDRgtC4INC/0YDQvtGG0LXRgdC+0YDQuCDRgyDQsdCw0LPQsNGC0L7Qv9GA0L7RhtC10YHQvtGA0L3RltC5INGB0LjRgdGC0LXQvNGWLlxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorIiAtZSwgLS1lbmFibGUgPNC/0YDQvtGG0LXRgdC+0YDQuD4gICAgICDRg9Cy0ZbQvNC60L3Rg9GC0Lgg0L/RgNC+0YbQtdGB0L7RgNC4XG4iCisiIC1kLCAtLWRpc2FibGUgPNC/0YDQvtGG0LXRgdC+0YDQuD4gICAgINCy0LjQvNC60L3Rg9GC0Lgg0L/RgNC+0YbQtdGB0L7RgNC4XG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA80L/RgNC+0YbQtdGB0L7RgNC4PiAgINC00L7QtNCw0YLQuCDQtNC+INC90LDQu9Cw0YjRgtGD0LLQsNC90Ywg0L/RgNC+0YbQtdGB0L7RgNC4XG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDzQv9GA0L7RhtC10YHQvtGA0Lg+INCy0LjQu9GD0YfQuNGC0Lgg0Lcg0L3QsNC70LDRiNGC0YPQstCw0L3RjCDQv9GA0L7RhtC10YHQvtGA0LhcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPNGA0LXQttC40Lw+ICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LbQuNC8INGA0L7Qt9C/0L7QtNGW0LvRgyDQvdCw0LLQsNC90YLQsNC20LXQvdC90Y9cbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAg0LLQuNC60L7QvdCw0YLQuCDQv9C+0LLRgtC+0YDQvdC40Lkg0L/QvtGI0YPQuiDQv9GA0L7RhtC10YHQvtGA0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzozMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0LDRgNCz0YPQvNC10L3RgjogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgItCR0LvQvtC6INC/0LDQvOKAmdGP0YLRliAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBpbmRleCIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGW0L3QtNC10LrRgSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWRcbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRg9Cy0ZbQvNC60L3Rg9GC0LggJXNcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkXG4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC80LrQvdGD0YLQuCAlc1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTYgc3lzLXV0aWxzL2NobWVtLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiJXMg0YPQstGW0LzQutC90LXQvdC+XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZWRcbiIKK21zZ3N0ciAiJXMg0LLQuNC80LrQvdC10L3QvlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICLQnNC+0LbQvdCwINGD0LLRltC80LrQvdGD0YLQuCDQu9C40YjQtSAlcyDQv9Cw0LzigJnRj9GC0ZYiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IgorbXNnc3RyICLQnNC+0LbQvdCwINCy0LjQvNC60L3Rg9GC0Lgg0LvQuNGI0LUgJXMg0L/QsNC84oCZ0Y/RgtGWIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIiVzINCy0LbQtSDRg9Cy0ZbQvNC60L3QtdC90L5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiJXMg0LLQttC1INCy0LjQvNC60L3QtdC90L5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YPQstGW0LzQutC90YPRgtC4ICVzOiDQvdC10LLRltC00L/QvtCy0ZbQtNC90ZbRgdGC0Ywg0LfQvtC9IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC80LrQvdGD0YLQuCAlczog0L3QtdCy0ZbQtNC/0L7QstGW0LTQvdGW0YHRgtGMINC30L7QvSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YPQstGW0LzQutC90YPRgtC4ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC80LrQvdGD0YLQuCAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjY2IHN5cy11dGlscy9sc21lbS5jOjQ3NiBzeXMtdXRpbHMvbHNtZW0uYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgJXMiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0L3QvtC80LXRgCDQsdC70L7QutGDIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0YDQvtC30LzRltGA0YMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICLQoNC+0LfQvNGW0YAg0LzQsNGUINCx0YPRgtC4INC60YDQsNGC0L3QuNC8INC00L4g0YDQvtC30LzRltGA0YMg0LHQu9C+0LrRgyDQv9Cw0LzigJnRj9GC0ZYgKCVzKSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjkyCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0L/QvtGH0LDRgtC+0LoiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQutGW0L3QtdGG0YwiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LjQuSDRhNC+0YDQvNCw0YIg0L/QvtGH0LDRgtC60L7QstC+0Zcg0LDQtNGA0LXRgdC4OiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LjQuSDRhNC+0YDQvNCw0YIg0LrRltC90YbQtdCy0L7RlyDQsNC00YDQtdGB0Lg6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC/0L7Rh9Cw0YLQutC+0LLRgyDQsNC00YDQtdGB0YMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC60ZbQvdGG0LXQstGDINCw0LTRgNC10YHRgyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlN0YXJ0IGFkZHJlc3MgYW5kIChlbmQgYWRkcmVzcyArIDEpIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICLQn9C+0YfQsNGC0LrQvtCy0YMg0LDQtNGA0LXRgdGDINGWICjQutGW0L3RhtC10LLRgyDQsNC00YDQtdGB0YMgKyAxKSDQvNCw0ZQg0LHRg9GC0Lgg0LLQuNGA0ZbQstC90Y/QvdC+INC90LAg0LzQtdC20YMg0YDQvtC30LzRltGA0YMg0LHQu9C+0LrRgyDQv9Cw0LzigJnRj9GC0ZYgKCVzKSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LjQuSDQv9Cw0YDQsNC80LXRgtGAOiAlcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICLQndC10LrQvtGA0LXQutGC0L3QuNC5INC00ZbQsNC/0LDQt9C+0L06ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gW9Cg0J7Ql9Cc0IbQoHzQlNCG0JDQn9CQ0JfQntCdfNCU0IbQkNCf0JDQl9Ce0J1f0JHQm9Ce0JrQhtCSXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICLQktGB0YLQsNC90L7QstC40YLQuCDQv9C10LLQvdC40Lkg0YDQvtC30LzRltGAINCw0LHQviDQtNGW0LDQv9Cw0LfQvtC9INC30LDQtNGW0Y/QvdC+0Zcg0LDQsdC+INC90LXQt9Cw0LTRltGP0L3QvtGXINC/0LDQvOKAmdGP0YLRli5cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQwCittc2dpZCAiIC1lLCAtLWVuYWJsZSAgICAgICBlbmFibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtZSwgLS1lbmFibGUgICAgICAg0YPQstGW0LzQutC90YPRgtC4INC/0LDQvCfRj9GC0YxcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQxCittc2dpZCAiIC1kLCAtLWRpc2FibGUgICAgICBkaXNhYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgLWQsIC0tZGlzYWJsZSAgICAgINCy0LjQvNC60L3Rg9GC0Lgg0L/QsNC84oCZ0Y/RgtGMXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorbXNnaWQgIiAtYiwgLS1ibG9ja3MgICAgICAgdXNlIG1lbW9yeSBibG9ja3NcbiIKK21zZ3N0ciAiIC1iLCAtLWJsb2NrcyAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LHQu9C+0LrQuCDQv9Cw0LzigJnRj9GC0ZZcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIC16LCAtLXpvbmUgPNC90LDQt9Cy0LA+INCy0LjQv9GA0LDRgtC4INC30L7QvdGDINC/0LDQvCfRj9GC0ZYgKNC00LjQsi4g0L3QuNC20YfQtSlcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgINGA0LXQttC40Lwg0LTQvtC60LvQsNC00L3QuNGFINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCf0ZbQtNGC0YDQuNC80YPQstCw0L3RliDQt9C+0L3QuDpcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDI5Cittc2dpZCAiem9uZSBpZ25vcmVkLCBubyB2YWxpZF96b25lcyBzeXNmcyBhdHRyaWJ1dGUgcHJlc2VudCIKK21zZ3N0ciAi0LfQvtC90YMg0L/RgNC+0ZbQs9C90L7RgNC+0LLQsNC90L4sINC90LXQvNCw0ZQg0LDRgtGA0LjQsdGD0YLQsCBzeXNmcyB2YWxpZF96b25lcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbWVtb3J5IHpvbmU6ICVzIgorbXNnc3RyICLQvdC10LLRltC00L7QvNCwINC30L7QvdCwINC/0LDQvCfRj9GC0ZY6ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAi0JLRgdGC0LDQvdC+0LLQuNGC0Lgg0YTRg9C90LrRhtGW0Y4g0LTQu9GPINC60L7QvNCx0ZbQvdCw0YbRltGXINC60LvQsNCy0ZbRiCBDdHJsLUFsdC1EZWwuXG4iCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTEKK21zZ2lkICJpbXBsaWNpdCIKK21zZ3N0ciAi0L3QtdGP0LLQvdC40LkiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICLQvdC10L7Rh9GW0LrRg9Cy0LDQvdC1INC30L3QsNGH0LXQvdC90Y8g0YMgJXM6ICVqdSIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo2MworbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgItCU0LvRjyDQvdCw0LvQsNGI0YLQvtCy0YPQstCw0L3QvdGPINCy0ZbQtNC/0L7QstGW0LTRliDQvdCwINC90LDRgtC40YHQutCw0L3QvdGPIEN0cmwtQWx0LURlbCDQstCw0Lwg0L/QvtGC0YDRltCx0L3RliDQv9GA0LDQstCwINC00L7RgdGC0YPQv9GDIHJvb3QiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INCw0YDQs9GD0LzQtdC90YI6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgItGB0LjRgdGC0LXQvNCwINC90LUg0L/RgNC40LTQsNGC0L3QsCDQtNC+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgItC00ZbRjiDQvNCw0ZQg0LHRg9GC0Lgg0LLQuNC60L7QvdCw0L3QviDQvdC10LPQsNC50L3QviIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAi0LrRgNC40YLQuNGH0L3RliDRg9C80L7QstC4IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICLRg9C80L7QstC4INC/0L7QvNC40LvQutC4IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgItGD0LzQvtCy0Lgg0L/QvtC/0LXRgNC10LTQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAi0YPQvNC+0LLQsCDRidC+0LTQviDQt9Cy0LjRh9Cw0LnQvdC40YUsINCw0LvQtSDQt9C90LDRh9C40LzQuNGFIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICLRltC90YTQvtGA0LzQsNGG0ZbQudC90ZYiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICLQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0LTRltCw0LPQvdC+0YHRgtC40YfQvdC+0LPQviDRgNGW0LLQvdGPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzAKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgItC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDRj9C00YDQsCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgItCy0LjQv9Cw0LTQutC+0LLRliDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0YDRltCy0L3RjyDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAi0L/QvtGI0YLQvtCy0LAg0YHQuNGB0YLQtdC80LAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMworbXNnaWQgInN5c3RlbSBkYWVtb25zIgorbXNnc3RyICLRhNC+0L3QvtCy0ZYg0YHQu9GD0LbQsdC4INGB0LjRgdGC0LXQvNC4IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICLQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0LfQsNGF0LjRgdGC0YMg0ZYg0YPQv9C+0LLQvdC+0LLQsNC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgItC/0L7QstGW0LTQvtC80LvQtdC90L3Rjywg0YHRgtCy0L7RgNC10L3RliBzeXNsb2dkINC90LAg0LLQvdGD0YLRgNGW0YjQvdGM0L7QvNGDINGA0ZbQstC90ZYiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgItC/0ZbQtNGB0LjRgdGC0LXQvNCwINC70ZbQvdGW0LnQvdC+0LPQviDQtNGA0YPQutGDIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICLQv9GW0LTRgdC40YHRgtC10LzQsCDQvdC+0LLQuNC9INC80LXRgNC10LbRliIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4Cittc2dpZCAiVVVDUCBzdWJzeXN0ZW0iCittc2dzdHIgItC/0ZbQtNGB0LjRgdGC0LXQvNCwIFVVQ1AiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAi0YTQvtC90L7QstCwINGB0LvRg9C20LHQsCDQs9C+0LTQuNC90L3QuNC60LAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMgKHByaXZhdGUpIgorbXNnc3RyICLQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0LfQsNGF0LjRgdGC0YMv0YPQv9C+0LLQvdC+0LLQsNC20LXQvdC90Y8gKNC30LDQutGA0LjRgtGWKSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQxCittc2dpZCAiRlRQIGRhZW1vbiIKK21zZ3N0ciAi0YTQvtC90L7QstCwINGB0LvRg9C20LHQsCBGVFAiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICLQn9C+0LrQsNC30LDRgtC4INCx0YPRhNC10YAg0LPRg9C00LrRltCyINGP0LTRgNCwINCw0LHQviDQutC10YDRg9Cy0LDRgtC4INC90LjQvC5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjcyCittc2dpZCAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAg0YHQv9C+0YDQvtC20L3QuNGC0Lgg0LrRltC70YzRhtC10LLQuNC5INCx0YPRhNC10YAg0Y/QtNGA0LBcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICDQv9GA0L7Rh9C40YLQsNGC0Lgg0ZYg0YHQv9C+0YDQvtC20L3QuNGC0Lgg0LLRgdGWINC/0L7QstGW0LTQvtC80LvQtdC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgINCy0LjQvNC60L3Rg9GC0Lgg0LLQuNCy0LXQtNC10L3QvdGPINC/0L7QstGW0LTQvtC80LvQtdC90Ywg0LTQviDQutC+0L3RgdC+0LvRllxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAg0YPQstGW0LzQutC90YPRgtC4INCy0LjQstC10LTQtdC90L3RjyDQv9C+0LLRltC00L7QvNC70LXQvdGMINC00L4g0LrQvtC90YHQvtC70ZZcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1GLCAtLWZpbGUgPNGE0LDQudC7PiAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0LDQudC7INC30LDQvNGW0YHRgtGMINCx0YPRhNC10YDQsCDQttGD0YDQvdCw0LvRgyDRj9C00YDQsFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzcKK21zZ2lkICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKK21zZ3N0ciAiIC1mLCAtLWZhY2lsaXR5IDzRgdC/0LjRgdC+0Lo+ICAgICDQvtCx0LzQtdC20LjRgtC4INCy0LjQstC10LTQtdC90L3RjyDQstC40LfQvdCw0YfQtdC90LjQvNC4INC80L7QttC70LjQstC+0YHRgtGP0LzQuFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzgKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgINCy0LjQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFINGDINC30YDRg9GH0L3QvtC80YMg0LTQu9GPINGH0LjRgtCw0L3QvdGPINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0Y/QtNGA0LBcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICAgICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiIC1MLCAtLWNvbG9yWz080YPQvNC+0LLQsD5dICAgICAgINGA0L7Qt9GE0LDRgNCx0L7QstGD0LLQsNC90L3RjyDQstC40LLQtdC00LXQvdC40YUg0LTQsNC90LjRhSAoYXV0byAo0LDQstGC0L4pLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHdheXMgKNC30LDQstC20LTQuCkg0LDQsdC+IG5ldmVyICjQvdGW0LrQvtC70LgpKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIgLWwsIC0tbGV2ZWwgPNGB0L/QuNGB0L7Quj4gICAgICAgINC+0LHQvNC10LbQuNGC0Lgg0LLQuNCy0LXQtNC10L3QvdGPINCy0LrQsNC30LDQvdC40LzQuCDRgNGW0LLQvdGP0LzQuFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPNGA0ZbQstC10L3RjD4g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDRltCy0LXQvdGMINCy0LjQstC10LTQtdC90L3RjyDQv9C+0LLRltC00L7QvNC70LXQvdGMINC00L4g0LrQvtC90YHQvtC70ZZcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAg0L3QtSDQv9C10YDQtdC00LDQstCw0YLQuCDQstC40LLQtdC00LXQvdGWINC00LDQvdGWINC00L4g0LfQsNGB0L7QsdGDINC/0L7QtNGW0LvRgyDQvdCwINGB0YLQvtGA0ZbQvdC60LhcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAg0L/RgNC40LzRg9GB0L7QstC1INCy0LjQstC10LTQtdC90L3RjyDRh9Cw0YHQvtCy0L7RlyDQv9C+0LfQvdCw0YfQutC4INGDINC60L7QttC90L7QvNGDINGA0Y/QtNC60YMg0LHQsNCz0LDRgtC+0YDRj9C00LrQvtCy0LjRhSDQv9C+0LLRltC00L7QvNC70LXQvdGMXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INCx0YPRhNC10YAg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4Cittc2dpZCAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorbXNnc3RyICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgINC/0YDQuNC80YPRgdC+0LLQviDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lggc3lzbG9nKDIpINC30LDQvNGW0YHRgtGMIC9kZXYva21zZ1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1zLCAtLWJ1ZmZlci1zaXplIDzRgNC+0LfQvNGW0YA+ICDRgNC+0LfQvNGW0YAg0LHRg9GE0LXRgNCwINC00LvRjyDQvtC/0LjRgtGD0LLQsNC90L3RjyDQutGW0LvRjNGG0LXQstC+0LPQviDQsdGD0YTQtdGA0LAg0Y/QtNGA0LBcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgINCy0LjQstC+0LTQuNGC0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC3INC/0YDQvtGB0YLQvtGA0YMg0LrQvtGA0LjRgdGC0YPQstCw0YfQsFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgINC+0YfRltC60YPQstCw0YLQuCDQvdCwINC90L7QstGWINC/0L7QstGW0LTQvtC80LvQtdC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAg0LTQtdC60L7QtNGD0LLQsNGC0Lgg0LzQvtC20LvQuNCy0L7RgdGC0ZYg0ZYg0YDRltCy0LXQvdGMINGDINC/0YDQuNC00LDRgtC90LjQuSDQtNC+INGH0LjRgtCw0L3QvdGPINGA0Y/QtNC+0LpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCittc2dpZCAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YfQsNGB0L7QstC40Lkg0LrRgNC+0Log0LzRltC2INCy0LjQstC10LTQtdC90LjQvNC4INC/0L7QstGW0LTQvtC80LvQtdC90L3Rj9C80LhcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LzRltGB0YbQtdCy0LjQuSDRh9Cw0YEg0ZYg0LrRgNC+0Log0YMg0LfRgNGD0YfQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YTQvtGA0LzQsNGC0ZZcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgINCy0LjQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFINGDINC30YDRg9GH0L3QvtC80YMg0LTQu9GPINGH0LjRgtCw0L3QvdGPINGE0L7RgNC80LDRgtGWICjQvNC+0LbQu9C40LLQviwg0L3QtdGC0L7Rh9C90L4hKVxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTYKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INGH0LDRgdC+0LLQuNGFINC/0L7Qt9C90LDRh9C+0Log0YDQsNC30L7QvCDRltC3INC/0L7QstGW0LTQvtC80LvQtdC90L3Rj9C80LhcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPNGE0L7RgNC80LDRgj4gINC/0L7QutCw0LfRg9Cy0LDRgtC4INGH0LDRgdC+0LLRliDQv9C+0LfQvdCw0YfQutC4INGDINCy0LrQsNC30LDQvdC+0LzRgyDRhNC+0YDQvNCw0YLRljpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyLQn9GA0LjRgdC40L/Qu9GP0L3QvdGPINGC0LAg0LLRltC00L3QvtCy0LvQtdC90L3RjyDRgNC+0LHQvtGC0Lgg0YHQuNGB0YLQtdC80Lgg0YDQvtCx0LjRgtGMINGH0LDRgdC+0LLRliDQv9C+0LfQvdCw0YfQutC4IGN0aW1lINGC0LAgaXNvINC90LXRgtC+0YfQvdC40LzQuC5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzAyCittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCf0ZbQtNGC0YDQuNC80YPQstCw0L3RliDQvNC+0LbQu9C40LLQvtGB0YLRliDQttGD0YDQvdCw0LvRjtCy0LDQvdC90Y86XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9GW0LTRgtGA0LjQvNGD0LLQsNC90ZYg0YDRltCy0L3RliDQttGD0YDQvdCw0LvRjtCy0LDQvdC90Y8gKNC/0YDRltC+0YDQuNGC0LXRgtC4KTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YDRltCy0LXQvdGMIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbGV2ZWwgJyVzJyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INGA0ZbQstC10L3RjCDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30LDQv9C40YEg0LzQvtC20LvQuNCy0L7RgdGC0ZYsIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQsCDQvNC+0LbQu9C40LLRltGB0YLRjCwgwqslc8K7IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0LggbW1hcDogJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YDQvtC30LzRltGA0YMg0LHRg9GE0LXRgNCwIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDg4Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiLS1zaG93LWRlbHRhINCx0YPQtNC1INC/0YDQvtGW0LPQvdC+0YDQvtCy0LDQvdC+LCDRj9C60YnQviDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjyDRhNC+0YDQvNCw0YIg0LfQsNC/0LjRgdGDINGH0LDRgdGDIGlzbzg2MDEiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiLS1yYXcg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YDQsNC30L7QvCDQtyAtLWxldmVsINCw0LHQviAtLWZhY2lsaXR5LCDQu9C40YjQtSDRj9C60YnQviDRh9C40YLQsNC90L3RjyDQv9C+0LLRltC00L7QvNC70LXQvdGMINCy0LjQutC+0L3Rg9GU0YLRjNGB0Y8g0LcgL2Rldi9rbXNnIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINGH0LjRgtCw0L3QvdGPINCx0YPRhNC10YDQsCDRj9C00YDQsCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorbXNnaWQgImtsb2djdGwgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBrbG9nY3RsIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWzzQv9GA0LjRgdGC0YDRltC5Pnw80YLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3Rjz5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzOAorbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAi0JLQuNGI0YLQvtCy0YXQvdGD0YLQuCDQv9C+0YDRgtCw0YLQuNCy0L3QuNC5INC90L7RgdGW0Lkg0LTQsNC90LjRhS5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0Lgg0LDQsdC+INCy0LjQvNC60L3Rg9GC0Lgg0LzQvtC20LvQuNCy0ZbRgdGC0Ywg0LDQstGC0L7QstGW0LQn0ZTQtNC90LDQvdC90Y9cbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPNGB0LvQvtGCPiAgICDQv9C10YDQtdC80LrQvdGD0YLQuCDQtNC40YHQutC4INGDINC30LDQvNGW0L3QvdC40LrRgyBDRC1ST01cbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGC0LjQv9C+0LLQvtCz0L4g0L/RgNC40YHRgtGA0L7RjlxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAg0LLQuNGI0YLQvtCy0YXQvdGD0YLQuCDQtNC40YHQutC10YLRg1xuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAg0L3QtSDQt9Cy0LDQttCw0YLQuCDQvdCwINGC0LjQvyDQv9GA0LjRgdGC0YDQvtGOXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICDRg9Cy0ZbQvNC60L3Rg9GC0Lgg0LDQsdC+INCy0LjQvNC60L3Rg9GC0Lgg0LfQsNGF0LjRgdGCINCy0ZbQtCDQstGW0LQn0ZTQtNC90LDQvdC90Y8g0LLRgNGD0YfQvdGDXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICDQvdC1INC00LXQvNC+0L3RgtGD0LLQsNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSwg0L3QsNCy0ZbRgtGMINGP0LrRidC+INC50L7Qs9C+INC30LzQvtC90YLQvtCy0LDQvdC+XG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCDQvdC1INC00LXQvNC+0L3RgtGD0LLQsNGC0Lgg0ZbQvdGI0ZYg0YDQvtC30LTRltC70LhcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgINC90LUg0LLRltC0J9GU0LTQvdGD0LLQsNGC0LgsINC/0YDQvtGB0YLQviDQstC40LLQtdGB0YLQuCDQt9C90LDQudC00LXQvdGWINC/0YDQuNGB0YLRgNC+0ZdcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCAvcHJvYy9tb3VudHMg0LfQsNC80ZbRgdGC0YwgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICDQstC40YjRgtC+0LLRhdC90YPRgtC4INGB0YLRgNGW0YfQutC+0LLQuNC5INC90LDQutC+0L/QuNGH0YPQstCw0YdcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgINCy0LjRiNGC0L7QstGF0L3Rg9GC0LggQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICDQstC40YjRgtC+0LLRhdC90YPRgtC4IFNDU0kt0L/RgNC40YHRgtGA0ZbQuVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAg0LfQsNC60YDQuNGC0Lgg0LvQvtGC0L7QulxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAg0L/QtdGA0LXQvNC60L3Rg9GC0Lgg0YHRgtCw0L0g0LfQsNC60YDQuNGC0YLRjyDQu9C+0YLQutCwXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0Lgg0YDQtdC20LjQvCDQtNC+0LrQu9Cw0LTQvdC40YUg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorIiAteCwgLS1jZHNwZWVkIDzRiNCy0LjQtNC60ZbRgdGC0Yw+ICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LzQsNC60YHQuNC80LDQu9GM0L3RgyDRiNCy0LjQtNC60ZbRgdGC0YwgQ0QtUk9NXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LTQvtGB0YLRg9C/0L3QuNGFINGI0LLQuNC00LrQvtGB0YLQtdC5IENELVJPTVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKK21zZ2lkICIiCisiXG4iCisiQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorItCi0LjQv9C+0LLQviwg0LHRg9C00LUg0LLQuNC60L7QvdCw0L3QviDRgdC/0YDQvtCx0YMg0L/QvtGB0LvRltC00L7QstC90L7Qs9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyAtciwgLXMsIC1mINGWIC1xLCDQsNC2INC00L7QutC4INC90LUg0LHRg9C00LUg0LTQvtGB0Y/Qs9C90YPRgtC+INGD0YHQv9GW0YXRgy5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjEwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC/0LDRgNCw0LzQtdGC0YDQsCAtLWNoYW5nZXJzbG90INCw0LHQviAtYyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/QsNGA0LDQvNC10YLRgNCwIC0tY2RzcGVlZCDQsNCx0L4gLXgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC60L7QvdCw0L3QvdGPINC60L7QvNCw0L3QtNC4INCw0LLRgtC+0LLQuNGI0YLQvtCy0YXRg9Cy0LDQvdC90Y8gQ0QtUk9NINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMzkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgItCf0ZbQtNGC0YDQuNC80LrQuCDQsdC70L7QutGD0LLQsNC90L3RjyDQu9C+0YLQutCwIENELVJPTSDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MQorbXNnaWQgIm90aGVyIHVzZXJzIGhhdmUgdGhlIGRyaXZlIG9wZW4gYW5kIG5vdCBDQVBfU1lTX0FETUlOIgorbXNnc3RyICLRltC90YjRliDQutC+0YDQuNGB0YLRg9Cy0LDRh9GWINCy0ZbQtNC60YDQuNC70Lgg0LTQuNGB0Log0ZYg0L3QtSDQstGB0YLQsNC90L7QstC70LXQvdC+IENBUF9TWVNfQURNSU4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0MworbXNnaWQgIkNELVJPTSBsb2NrIGRvb3IgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40LrQvtC90LDRgtC4INC60L7QvNCw0L3QtNGDINCx0LvQvtC60YPQstCw0L3QvdGPINC70L7RgtC60LAgQ0QtUk9NINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICLQstC40YjRgtC+0LLRhdC90YPRgtC4INC70L7RgtC+0Log0L/RgNC40YHRgtGA0L7RjiDRh9C40YLQsNC90L3RjyDQutC+0LzQv9Cw0LrRgi3QtNC40YHQutGW0LIg0J3QlSDQvNC+0LbQvdCwINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOINC60L3QvtC/0LrQuCDQvdCwINC/0YDQuNGB0YLRgNC+0ZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAi0LLQuNGI0YLQvtCy0YXQvdGD0YLQuCDQu9C+0YLQvtC6INC/0YDQuNGB0YLRgNC+0Y4g0YfQuNGC0LDQvdC90Y8g0LrQvtC80L/QsNC60YIt0LTQuNGB0LrRltCyINC80L7QttC90LAg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4g0LrQvdC+0L/QutC4INC90LAg0L/RgNC40YHRgtGA0L7RlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzYxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBkaXNjIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQutC+0LzQsNC90LTQuCDQstC40LHQvtGA0YMg0LTQuNGB0LrQsCBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQutC+0L3QsNC90L3RjyDQutC+0LzQsNC90LTQuCDQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y8gQ0QtUk9NINC3INC70L7RgtC60LAg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgItGDINGG0YzQvtC80YMg0Y/QtNGA0ZYg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC60L7QvNCw0L3QtNC4INC30LzRltC90LggQ0QtUk9NLCDQtyfRlNC00L3QsNC90L7Qs9C+INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIElERS9BVEFQSVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INC60L7QvNCw0L3QtNGDINC30LDQutGA0LjRgtGC0Y8g0LvQvtGC0LrQsCBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICLRgyDRhtGM0L7QvNGDINGP0LTRgNGWINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQutC+0LzQsNC90LTQuCDQt9Cw0LrRgNC40YLRgtGPINC70L7RgtC60LAgQ0QtUk9NXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi0L/RltC00YLRgNC40LzQutC4INCy0LjRiNGC0L7QstGF0YPQstCw0L3QvdGPIENELVJPTSDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzMiBzeXMtdXRpbHMvZWplY3QuYzo0NTUgc3lzLXV0aWxzL2VqZWN0LmM6MTAwNgorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQutC+0L3QsNC90L3RjyDQutC+0LzQsNC90LTQuCDQstC40YjRgtC+0LLRhdGD0LLQsNC90L3RjyBDRC1ST00g0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgItC00LDQvdGWINGJ0L7QtNC+IENELVJPTSDQvdC10LTQvtGB0YLRg9C/0L3RliIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM4Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAi0L/RgNC40YHRgtGA0ZbQuSDRh9C40YLQsNC90L3RjyBDRC1ST00g0L3QtdCz0L7RgtC+0LLQuNC5IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0LrQvtC80LDQvdC00YMg0LLQuNCx0L7RgNGDINGI0LLQuNC00LrQvtGB0YLRliDRgNC+0LHQvtGC0LggQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAi0YMg0YbRjNC+0LzRgyDRj9C00YDRliDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4g0LrQvtC80LDQvdC00Lgg0LLQuNCx0L7RgNGDINGI0LLQuNC00LrQvtGB0YLRliDRgNC+0LHQvtGC0LggQ0QtUk9NIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LfQvdCw0YfQuNGC0Lgg0L3QsNC30LLRgyBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRiNCy0LjQtNC60ZbRgdGC0YwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRiNCy0LjQtNC60ZbRgdGC0YwiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgItC90LUg0ZQg0L/RgNC40YHRgtGA0L7RlNC8IHNnINCw0LHQviDRlCDQt9Cw0YHRgtCw0YDRltC70LjQvCDQv9GA0LjRgdGC0YDQvtGU0Lwgc2ciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXM6INC00LXQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjczCittc2dpZCAidW5hYmxlIHRvIGZvcmsiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDQstGW0LTQs9Cw0LvRg9C20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY4MAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bm1vdW50IG9mIGAlcycgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICLQtNC10LzQvtC90YLRg9Cy0LDQvdC90Y8gwqslc8K7INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNCy0LXRgNGI0LjRgtC4INGDINC30LLQuNGH0LDQudC90L7QvNGDINGA0LXQttC40LzRliIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC00LXQvNC+0L3RgtGD0LLQsNC90L3RjyDCqyVzwrsg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjyDQvdC10LLQtNCw0LvQvlxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MjUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgtCw0LHQu9C40YbRjiDQvNC+0L3RgtGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXM6INC30LzQvtC90YLQvtCy0LDQvdC+INC00L4gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgItCy0YHRgtCw0L3QvtCy0LvRjtGU0LzQviDRiNCy0LjQtNC60ZbRgdGC0Ywg0YDQvtCx0L7RgtC4IENELVJPTSDQsNCy0YLQvtC80LDRgtC40YfQvdC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAi0LLRgdGC0LDQvdC+0LLQu9GO0ZTQvNC+INGI0LLQuNC00LrRltGB0YLRjCDRgNC+0LHQvtGC0LggQ0QtUk9NINGDINC30L3QsNGH0LXQvdC90Y8gJWxkWCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICLRgtC40L/QvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5OiDCqyVzwrsiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICLQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTQvNC+INGC0LjQv9C+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lkgwqslc8K7IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvdCw0LnRgtC4INC/0YDQuNGB0YLRgNGW0LkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICLQvdCw0LfQstCwINC/0YDQuNGB0YLRgNC+0Y4g4oCUIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiDQvdC1INC30LzQvtC90YLQvtCy0LDQvdC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVzOiDQtNC40YHQutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lk6ICVzICjQtNC40YHQutC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lkg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QviDQtNC70Y8gZWplY3QpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIlczog0L3QtSDQstC40Y/QstC70LXQvdC+INGC0L7Rh9C60Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8g0LDQsdC+INC/0YDQuNGB0YLRgNC+0Y4g0Lcg0LLQutCw0LfQsNC90L7RjiDQvdCw0LfQstC+0Y4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVzOiDRlCDQv9GA0LjRgdGC0YDQvtGU0Lwg0LLRgdGM0L7Qs9C+INC00LjRgdC60LAiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlczog0L3QtSDRlCDQv9GA0LjRgdGC0YDQvtGU0Lwg0Lcg0ZbQvdGC0LXRgNCw0LrRgtC40LLQvdC40Lwg0Lcn0ZTQtNC90LDQvdC90Y/QvCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICLQv9GA0LjRgdGC0YDQvtGU0Lwg0ZQgwqslc8K7IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MTMKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICLQt9Cw0LLQtdGA0YjRg9GU0LzQviDRgNC+0LHQvtGC0YMg0YfQtdGA0LXQtyDQtNC+0LTQsNCy0LDQvdC90Y8g0L/QsNGA0LDQvNC10YLRgNCwIC1uLy0tbm9vcCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiDQstC80LjQutCw0ZTQvNC+INGA0LXQttC40Lwg0LDQstGC0L7QstC40YjRgtC+0LLRhdGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczog0LLQuNC80LjQutCw0ZTQvNC+INGA0LXQttC40Lwg0LDQstGC0L7QstC40YjRgtC+0LLRhdGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVzOiDQt9Cw0LrRgNC40LLQsNGU0LzQviDQu9C+0YLQvtC6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVzOiDQv9C10YDQtdC80LjQutCw0ZTQvNC+INGB0YLQsNC9INC30LDQutGA0LjRgtGC0Y8g0LvQvtGC0LrQsCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXM6INC/0L7QutCw0LfRg9GU0LzQviDRgdC/0LjRgdC+0Log0YjQstC40LTQutC+0YHRgtC10Lkg0YDQvtCx0L7RgtC4IENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LA6ICVzOiDQv9GA0LjRgdGC0YDRltC5INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIgorbXNnc3RyICIlczog0LLQuNCx0LjRgNCw0ZTQvNC+INC00LjRgdC6IENELVJPTSDihJYlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6INC90LDQvNCw0LPQsNGU0LzQvtGB0Y8g0LLQuNGI0YLQvtCy0YXQvdGD0YLQuCDQu9C+0YLQvtC6INC30LAg0LTQvtC/0L7QvNC+0LPQvtGOINC60L7QvNCw0L3QtNC4IGVqZWN0INC00LvRjyBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgItGD0YHQv9GW0YjQvdC+INCy0LjQutC+0L3QsNC90L4g0LrQvtC80LDQvdC00YMg0LLQuNGI0YLQvtCy0YXRg9Cy0LDQvdC90Y8g0LvQvtGC0LrQsCBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlczog0L3QsNC80LDQs9Cw0ZTQvNC+0YHRjyDQstC40YjRgtC+0LLRhdC90YPRgtC4INC70L7RgtC+0Log0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4g0LrQvtC80LDQvdC0IFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAi0YPRgdC/0ZbRiNC90LUg0LLRltC0J9GU0LTQvdCw0L3QvdGPIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTMKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAi0KHQv9GA0L7QsdCwINCy0ZbQtCfRlNC00L3QsNC90L3RjyBTQ1NJINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiDQvdCw0LzQsNCz0LDRlNC80L7RgdGPINCy0LjRiNGC0L7QstGF0L3Rg9GC0Lgg0LvQvtGC0L7QuiDQt9CwINC00L7Qv9C+0LzQvtCz0L7RjiDQutC+0LzQsNC90LTQuCBlamVjdCDQtNC70Y8g0LTQuNGB0LrQtdGC0LgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTkKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgItGD0YHQv9GW0YjQvdC+INCy0LjQutC+0L3QsNC90L4g0LrQvtC80LDQvdC00YMg0LLQuNGI0YLQvtCy0YXRg9Cy0LDQvdC90Y8g0LTQuNGB0LrQtdGC0LgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstC40YjRgtC+0LLRhdGD0LLQsNC90L3RjyDQtNC40YHQutC10YLQuCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlczog0L3QsNC80LDQs9Cw0ZTQvNC+0YHRjyDQstC40YjRgtC+0LLRhdC90YPRgtC4INGB0YLRgNGW0YfQutC+0LLQuNC5INC90LDQutC+0L/QuNGH0YPQstCw0Ycg0LrQvtC80LDQvdC00L7RjiDQudC+0LPQviDQstC40LzQuNC60LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgItC60L7QvNCw0L3QtNGDINCy0LjQvNC40LrQsNC90L3RjyDRgdGC0YDRltGH0LrQvtCy0L7Qs9C+INC90LDQutC+0L/QuNGH0YPQstCw0YfQsCDRg9GB0L/RltGI0L3QviDQstC40LrQvtC90LDQvdC+IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI3Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC80LjQutCw0L3QvdGPINGB0YLRgNGW0YfQutC+0LLQvtCz0L4g0L3QsNC60L7Qv9C40YfRg9Cy0LDRh9CwINC30LDQstC10YDRiNC40LvQsNGB0Y8g0L3QtdCy0LTQsNC70L4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMzEKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC0J9GU0LTQvdCw0YLQuCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGVuYW1lPlxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC90LDQt9Cy0LAg0YTQsNC50LvQsD5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgItCf0L7Qv9C10YDQtdC00L3RjNC+INC+0YLRgNC40LzQsNGC0Lgg0LzRltGB0YbQtSDRgyDRhNCw0LnQu9GWINCw0LHQviDRgdC60LDRgdGD0LLQsNGC0Lgg0L7RgtGA0LjQvNCw0L3QvdGPINC80ZbRgdGG0Y8g0YMg0YTQsNC50LvRli5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlINCy0LjQu9GD0YfQuNGC0Lgg0LTRltCw0L/QsNC30L7QvSDQtyDRhNCw0LnQu9CwXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgINCy0LjRj9Cy0LjRgtC4INC90YPQu9GWINGWINC30LDQvNGW0L3QuNGC0Lgg0ZfRhSDQtNGW0YDQutCw0LzQuFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIgLWksIC0taW5zZXJ0LXJhbmdlICAg0LLRgdGC0LDQstC40YLQuCDQtNC+INC00ZbQsNC/0LDQt9C+0L3RgyDQv9GA0L7Qs9Cw0LvQuNC90YMsINC30YHRg9C90YPQstGI0Lgg0L3QsNGP0LLQvdGWINC00LDQvdGWXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPNGH0LjRgdC70L4+INC00L7QstC20LjQvdCwINC+0L/QtdGA0LDRhtGW0Lkg0Lcg0LTRltCw0L/QsNC30L7QvdCw0LzQuCwg0YMg0LHQsNC50YLQsNGFXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NAorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAg0LfQsdC10YDRltCz0LDRgtC4INGA0L7Qt9C80ZbRgCDRhNCw0LnQu9CwXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPNGH0LjRgdC70L4+INCy0ZbQtNGB0YLRg9C/INC00LvRjyDQtNGW0Lkg0Lcg0LTRltCw0L/QsNC30L7QvdCw0LzQuCwg0YMg0LHQsNC50YLQsNGFXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NgorbXNnaWQgIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iCittc2dzdHIgIiAtcCwgLS1wdW5jaC1ob2xlICAgICDQt9Cw0LzRltC90LjRgtC4INC00ZbQsNC/0LDQt9C+0L0g0LTRltGA0LrQvtGOICjQstC40LrQvtGA0LjRgdGC0L7QstGD0ZQgLW4pXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NworbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvLXJhbmdlICAgICDQt9Cw0L3Rg9C70LjRgtC4INGWINC30LDQsdC10LfQv9C10YfQuNGC0Lgg0YDQvtC30LzRltGJ0LXQvdC90Y8g0LTRltCw0L/QsNC30L7QvdGDXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorbXNnaWQgIiAteCwgLS1wb3NpeCAgICAgICAgICB1c2UgcG9zaXhfZmFsbG9jYXRlKDMpIGluc3RlYWQgb2YgZmFsbG9jYXRlKDIpXG4iCittc2dzdHIgIiAteCwgLS1wb3NpeCAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LggcG9zaXhfZmFsbG9jYXRlKDMpINC30LDQvNGW0YHRgtGMIGZhbGxvY2F0ZSgyKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGZhbGxvY2F0ZTog0L/RltC00YLRgNC40LzQutC4INGA0LXQttC40LzRgyDQt9Cx0LXRgNC10LbQtdC90L3RjyDRgNC+0LfQvNGW0YDRgyDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGZhbGxvY2F0ZSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBmYWlsZWQiCittc2dzdHIgIiVzOiDQv9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINGB0L/RgNC+0LHQuCDRh9C40YLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiJXM6ICVzICglanUg0LHQsNC50YLRltCyKSDQv9C10YDQtdGC0LLQvtGA0LXQvdC+INGDINGA0L7Qt9GA0ZbQtNC20LXQvdGWINC00ZbRgNC60LguXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrRgyBwb3NpeF9mYWxsb2NhdGUg0L3QtSDQt9GW0LHRgNCw0L3QviIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0L3QsNC30LLQuCDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzgwIHN5cy11dGlscy9mYWxsb2NhdGUuYzozODYKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgItCy0LrQsNC30LDQvdC+INC90LXQutC+0YDQtdC60YLQvdC1INC30L3QsNGH0LXQvdC90Y8g0LTQvtCy0LbQuNC90LgiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+INCw0YDQs9GD0LzQtdC90YLRgyDQtNC+0LLQttC40L3QuCIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4OQorbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAi0LLQutCw0LfQsNC90L4g0L3QtdC60L7RgNC10LrRgtC90LUg0LfQvdCw0YfQtdC90L3RjyDQt9GB0YPQstGDIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiA8Y29tbWFuZD4gWzxhcmd1bWVudD4uLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlPnw8ZGlyZWN0b3J5PiAtYyA8Y29tbWFuZD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80YTQsNC50Ls+fDzQutCw0YLQsNC70L7Qsz4gPNC60L7QvNCw0L3QtNCwPiBbPNCw0YDQs9GD0LzQtdC90YI+Li4uXVxuIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRhNCw0LnQuz58PNC60LDRgtCw0LvQvtCzPiAtYyA80LrQvtC80LDQvdC00LA+XG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNGH0LjRgdC70L7QstC1INC30L3QsNGH0LXQvdC90Y8g0LTQtdGB0LrRgNC40L/RgtC+0YDQsCDRhNCw0LnQu9CwPlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAi0JrQtdGA0YPQstCw0YLQuCDQsdC70L7QutGD0LLQsNC90L3Rj9C80Lgg0YTQsNC50LvRltCyINC00LvRjyDRgdC60YDQuNC/0YLRltCyINC+0LHQvtC70L7QvdC60LguXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgINC+0YLRgNC40LzQsNGC0Lgg0LHQu9C+0LrRg9Cy0LDQvdC90Y8g0YHQv9GW0LvRjNC90L7Qs9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgINC+0YLRgNC40LzQsNGC0Lgg0LLQuNC60LvRjtGH0L3QtSDQsdC70L7QutGD0LLQsNC90L3RjyAo0YLQuNC/0L7QstC40LkpXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY0Cittc2dpZCAiIC11LCAtLXVubG9jayAgICAgICAgICAgICByZW1vdmUgYSBsb2NrXG4iCittc2dzdHIgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAg0LLQuNC70YPRh9C40YLQuCDQsdC70L7QutGD0LLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAg0LfQsNCy0LXRgNGI0LjRgtC4INGA0L7QsdC+0YLRgyDQsdC10Lcg0L7Rh9GW0LrRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIgLXcsIC0tdGltZW91dCA80YHQtdC60YPQvdC00Lg+ICDQvtGH0ZbQutGD0LLQsNGC0Lgg0L7QsdC80LXQttC10L3QuNC5INC/0YDQvtC80ZbQttC+0Log0YfQsNGB0YNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKK21zZ2lkICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIgorbXNnc3RyICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDzRh9C40YHQu9C+PiAgINC60L7QtCDQstC40YXQvtC00YMg0L/RltGB0LvRjyDQutC+0L3RhNC70ZbQutGC0YMg0LDQsdC+INC30LDQstC10YDRiNC10L3QvdGPINGH0LDRgdGDINC+0YfRltC60YPQstCw0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgINC30LDQutGA0LjRgtC4INC00LXRgdC60YDQuNC/0YLQvtGAINGE0LDQudC70LAg0LTQviDQstC40LrQvtC90LDQvdC90Y8g0LrQvtC80LDQvdC00LhcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gIHJ1biBhIHNpbmdsZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBzaGVsbFxuIgorbXNnc3RyICIgLWMsIC0tY29tbWFuZCA80LrQvtC80LDQvdC00LA+ICDQstC40LrQvtC90LDRgtC4INC+0LrRgNC10LzQuNC5INGA0Y/QtNC+0Log0LrQvtC80LDQvdC00Lgg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4g0L7QsdC+0LvQvtC90LrQuFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgINCy0LjQutC+0L3QsNGC0Lgg0LrQvtC80LDQvdC00YMg0LHQtdC3INGA0L7Qt9Cz0LDQu9GD0LbQtdC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAg0LfQsdGW0LvRjNGI0LjRgtC4INGA0ZbQstC10L3RjCDQtNC+0LrQu9Cw0LTQvdC+0YHRgtGWINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INGE0LDQudC7INCx0LvQvtC60YPQstCw0L3QvdGPLCAlcyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjA4Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IHZhbHVlIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QtSDQt9C90LDRh9C10L3QvdGPINGH0LDRgdGDINC+0YfRltC60YPQstCw0L3QvdGPIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMTIKK21zZ2lkICJpbnZhbGlkIGV4aXQgY29kZSIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQutC+0LQg0LLQuNGF0L7QtNGDIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMjkKK21zZ2lkICJ0aGUgLS1uby1mb3JrIGFuZCAtLWNsb3NlIG9wdGlvbnMgYXJlIGluY29tcGF0aWJsZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4IC0tbm8tZm9yayDRliAtLWNsb3NlINGUINCy0LfQsNGU0LzQvdC+INC90LXRgdGD0LzRltGB0L3QuNC80LgiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlcyDQstC40LzQsNCz0LDRlCDRgtC+0YfQvdC+INC+0LTQvdC+0LPQviDQsNGA0LPRg9C80LXQvdGC0YMg0LrQvtC80LDQvdC00LgiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INC00LXRgdC60YDQuNC/0YLQvtGAINGE0LDQudC70LAiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgItC/0L7RgtGA0LXQsdGD0ZQg0LTQtdGB0LrRgNC40L/RgtC+0YDQsCDRhNCw0LnQu9CwLCDQvdCw0LfQstC4INGE0LDQudC70LAg0LDQsdC+INC60LDRgtCw0LvQvtCz0YMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0LHQu9C+0LrRg9Cy0LDRgtC4IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgItC/0LXRgNC10LLQuNGJ0LXQvdC90Y8g0YfQsNGB0YMg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0L3QsCDQvtGC0YDQuNC80LDQvdC90Y8g0LHQu9C+0LrRg9Cy0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiJXM6INC/0YDQvtGG0LXQtNGD0YDQsCDQsdC70L7QutGD0LLQsNC90L3RjyDRgtGA0LjQstCw0LvQsCAlbGQuJTA2bGQg0YHQtdC60YPQvdC0XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiVzOiDQstC40LrQvtC90YPRlNC80L4gJXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRgtC+0YfQutCwINC80L7QvdGC0YPQstCw0L3QvdGPPlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0J/RgNC40LfRg9C/0LjQvdC40YLQuCDQtNC+0YHRgtGD0L8g0LTQviDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4LlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgINC30LDQvNC+0YDQvtC30LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ4Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtdSwgLS11bmZyZWV6ZSAgICDRgNC+0LfQvNC+0YDQvtC30LjRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4g0L3RliAtLWZyZWV6ZSwg0L3RliAtLXVuZnJlZXplIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXM6INC90LUg0ZQg0LrQsNGC0LDQu9C+0LPQvtC8IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINC30LDQvNC+0YDQvtC30LjRgtC4IgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30LzQvtGA0L7Qt9C40YLQuCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiDQvdC1INGUINC60LDRgtCw0LvQvtCz0L7QvCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAgaW9jdGwgRklUUklNIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6ICVzICglPFBSSXU2ND4g0LHQsNC50YLRltCyKSDQvtCx0YDRltC30LDQvdC+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggJXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80YLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3Rjz5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi0JLRltC00LrQuNC90YPRgtC4INC90LXQstC40LrQvtGA0LjRgdGC0LDQvdGWINCx0LvQvtC60Lgg0L3QsCDQt9C80L7QvdGC0L7QstCw0L3RltC5INGE0LDQudC70L7QstGW0Lkg0YHQuNGB0YLQtdC80ZYuXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICDQvtCx0YDRltC30LDRgtC4INGD0YHRliDQt9C80L7QvdGC0L7QstCw0L3RliDRhNCw0LnQu9C+0LLRliDRgdC40YHRgtC10LzQuCwg0L/RltC00YLRgNC40LzQutGDINGP0LrQuNGFINC/0LXRgNC10LTQsdCw0YfQtdC90L5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPNGH0LjRgdC70L4+ICDQstGW0LTRgdGC0YPQvyDRgyDQsdCw0LnRgtCw0YUsINC3INGP0LrQvtCz0L4g0YHQu9GW0LQg0YDQvtC30L/QvtGH0LjQvdCw0YLQuCDQstGW0LTQutC40LTQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPG4+ICAgINC60ZbQu9GM0LrRltGB0YLRjCDQsdCw0LnRgtGW0LIsINGP0LrRliDRgdC70ZbQtCDQstGW0LTQutC40L3Rg9GC0LhcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLW0sIC0tbWluaW11bSA80YfQuNGB0LvQvj4g0LzRltC90ZbQvNCw0LvRjNC90LAg0LTQvtCy0LbQuNC90LAg0LTQu9GPINCy0ZbQtNC60LjQtNCw0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INC60ZbQu9GM0LrQvtGB0YLRliDQstGW0LTQutC40L3Rg9GC0LjRhSDQsdCw0LnRgtGW0LJcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINC80ZbQvdGW0LzQsNC70YzQvdC+0LPQviDQvtCxJ9GU0LzRgyDQtNC+0LLQttC40L3QuCIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+INGC0L7Rh9C60Lgg0LzQvtC90YLRg9Cy0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICIlczog0L/RltC00YLRgNC40LzQutC4INC00ZbRlyDQtyDQstGW0LTQutC40LTQsNC90L3RjyDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFzc3VtaW5nIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gJXMgdGltZS5cbiIKK21zZ3N0ciAi0JLQstCw0LbQsNGU0YLRjNGB0Y8sINGJ0L4g0LDQv9Cw0YDQsNGC0L3QuNC5INCz0L7QtNC40L3QvdC40Log0YHQuNC90YXRgNC+0L3RltC30L7QstCw0L3QuNC5INC3ICVzINGH0LDRgdC+0LwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjA0IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAiVVRDIgorbXNnc3RyICJVVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjA0IHN5cy11dGlscy9od2Nsb2NrLmM6MjY3Cittc2dpZCAibG9jYWwiCittc2dzdHIgItC70L7QutCw0LvRjNC90LjQuSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNTQKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorItCf0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0L3QtdGA0L7Qt9C/0ZbQt9C90LDQvdC40Lkg0YLRgNC10YLRltC5INGA0Y/QtNC+0Log0YMg0YTQsNC50LvRliBhZGp0aW1lXG4iCisiKNCc0LDQu9C+INCx0YPRgtC4IMKrVVRDwrssIMKrTE9DQUzCuyDQsNCx0L4g0L/QvtGA0L7QttC90ZbQuSDRgNGP0LTQvtC6LikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90Y8g0LrQvtGA0LXQutGG0ZbRjyDQstGW0LTRhdC40LvQtdC90L3RjyDQstC40LrQvtC90LDQvdCwINGDICVsZCDRgdC10LrRg9C90LQg0L/RltGB0LvRjyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgItCe0YHRgtCw0L3QvdGUINC60LDQu9GW0LHRgNGD0LLQsNC90L3RjyDQstC40LrQvtC90LDQvdC+INGDICVsZCDRgdC10LrRg9C90LQg0L/RltGB0LvRjyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAi0JDQv9Cw0YDQsNGC0L3QuNC5INCz0L7QtNC40L3QvdC40Log0L3QsNC70LDRiNGC0L7QstCw0L3QuNC5INC90LAgJXMg0YfQsNGBXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgZm9yIGNsb2NrIHRpY2suLi5cbiIKK21zZ3N0ciAi0J7Rh9GW0LrRg9GU0YLRjNGB0Y8g0YHQuNCz0L3QsNC7INCz0L7QtNC40L3QvdC40LrQsC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIuKAptGB0L/RgNC+0LHQsCDRgdC40L3RhdGA0L7QvdGW0LfQsNGG0ZbRlyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRllxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi7QvtGC0YDQuNC80LDQvdC+INGB0LjQs9C90LDQuyDQs9C+0LTQuNC90L3QuNC60LBcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAi0J3QtdC/0YDQsNCy0LjQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPINGDINCw0L/QsNGA0LDRgtC90L7QvNGDINCz0L7QtNC40L3QvdC40LrRgzogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi0KfQsNGBINCw0L/QsNGA0LDRgtC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCDRgdC10LrRg9C90LQg0L/RltGB0LvRjyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgItCn0LDRgSDQv9GA0L7Rh9C40YLQsNC90LjQuSDQtyDQsNC/0LDRgNCw0YLQvdC+0LPQviDQs9C+0LTQuNC90L3QuNC60LA6ICU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi0JDQv9Cw0YDQsNGC0L3QuNC5INCz0L7QtNC40L3QvdC40Log0LLRgdGC0LDQvdC+0LLQu9GO0ZTRgtGM0YHRjyDRgyAlLjJkOiUuMmQ6JS4yZCA9ICVsZCDRgdC10LrRg9C90LQg0L/RltGB0LvRjyAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUganVtcGVkIGJhY2t3YXJkICUuNmYgc2Vjb25kcyB0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIgorbXNnc3RyICLQv9C+0LfQvdCw0YfQutGDINGH0LDRgdGDINC/0LXRgNC10YHRg9C90YPRgtC+INC90LAgJS42ZiDRgdC10LrRg9C90LQg0L3QsNC30LDQtCDQtNC+ICVsZC4lMDZsZCAtINC/0LXRgNC10L3QsNC70LDRiNGC0L7QstGD0ZTQvNC+0YHRj1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgItC/0YDQvtC/0YPRidC10L3QviAtICVsZC4lMDZsZCDQvdCw0LTRgtC+INC00LDQu9C10LrQviDRgyDQvNC40L3Rg9C70L7QvNGDINCy0ZbQtNC90L7RgdC90L4gJWxkLiUwNmxkICglLjZmID4gJS42ZilcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKyIlbGQuJTA2bGQg0LTQvtGB0YLQsNGC0L3RjNC+INCx0LvQuNC30YzQutC+INC00L4gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyLQktGB0YLQsNC90L7QstC70Y7RlNC80L4gUlRDINGDICVsZCAoJWxkICsgJWQ7INC10YLQsNC70L7QvdC90LjQuSDRh9Cw0YEg0YHQuNGB0YLQtdC80LggPSAlbGQuJTA2bGQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAi0JLQuNC60LvQuNC6IHNldHRpbWVvZmRheShOVUxMLCAlZCkg0LTQu9GPINCy0YHRgtCw0L3QvtCy0LvQtdC90L3RjyBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjgKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAwKSB0byBsb2NrIHRoZSB3YXJwIGZ1bmN0aW9uLiIKK21zZ3N0ciAi0JLQuNC60LvQuNC6IHNldHRpbWVvZmRheShOVUxMLCAwKSDQtNC70Y8g0LHQu9C+0LrRg9Cy0LDQvdC90Y8g0YTRg9C90LrRhtGW0Zcg0LLQuNC60YDQuNCy0LvQtdC90L3Rjy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgItCS0LjQutC70LjQutCw0ZTQvNC+IHNldHRpbWVvZmRheSglbGQuJTA2bGQsICVkKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICLQktC40LrQu9C40LrQsNGU0LzQviBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzYKK21zZ2lkICJ0byBzZXQgdGhlIGtlcm5lbCB0aW1lem9uZS4iCittc2dzdHIgItGJ0L7QsSDQstGB0YLQsNC90L7QstC40YLQuCDRh9Cw0YHQvtCy0LjQuSDQv9C+0Y/RgSDRj9C00YDQsC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgItGJ0L7QsSDQt9C80ZbQvdC40YLQuCDRh9Cw0YEg0YHQuNGB0YLQtdC80LguIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY1NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YMgc2V0dGltZW9mZGF5KCkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiB3YXMgbm90IHVzZWQuXG4iCittc2dzdHIgItCd0LUg0LrQvtGA0LjQs9GD0ZTQvNC+INC60L7QtdGE0ZbRhtGW0ZTQvdGCINCy0ZbQtNGF0LjQu9C10L3QvdGPLCDQvtGB0LrRltC70YzQutC4INC90LUg0LHRg9C70L4g0LLQuNC60L7RgNC40YHRgtCw0L3QviDQv9Cw0YDQsNC80LXRgtGAIC0tdXBkYXRlLWRyaWZ0LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorItCa0L7QtdGE0ZbRhtGW0ZTQvdGCINCy0ZbQtNGF0LjQu9C10L3QvdGPINC90LUg0LrQvtGA0LjQs9GD0ZTRgtGM0YHRjywg0YLQvtC80YMg0YnQviDRh9Cw0YEg0L7RgdGC0LDQvdC90YzQvtCz0L4g0LrQsNC70ZbQsdGA0YPQstCw0L3QvdGPINC00L7RgNGW0LLQvdGO0ZQg0L3Rg9C70Y4sXG4iCisi0YLQvtC80YMg0L/QvtC/0LXRgNC10LTQvdGUINC30L3QsNGH0LXQvdC90Y8g0L3QtdC/0YDQsNCy0LjQu9GM0L3QtSDRgtCwINC90LXQvtCx0YXRltC00L3QtSDRgNC10LrQsNC70ZbQsdGA0YPQstCw0L3QvdGPLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICLQmtC+0LXRhNGW0YbRltGU0L3RgiDQstGW0LTRhdC40LvQtdC90L3RjyDQvdC1INC60L7RgNC40LPRg9GU0YLRjNGB0Y8sINGC0L7QvNGDINGJ0L4g0LzQuNC90YPQu9C+INC80LXQvdGI0LUg0YfQvtGC0LjRgNGM0L7RhSDQs9C+0LTQuNC9INC3INC80L7QvNC10L3RgtGDINC+0YHRgtCw0L3QvdGM0L7Qs9C+INC60LDQu9GW0LHRgNGD0LLQsNC90L3Rjy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisi0J7QsdGH0LjRgdC70LXQvdCwINC80ZbRgNCwINC/0L7RhdC40LHQutC4INCz0L7QtNC40L3QvdC40LrQsDogJWYg0YHQtdC60YPQvdC0INC30LAg0LTQtdC90YwuXG4iCisi0KbQtSDQvdCw0LTRgtC+INCx0LDQs9Cw0YLQvi4g0J/QvtCy0LXRgNGC0LDRlNC80L7RgdGPINC00L4g0L3Rg9C70YzQvtCy0L7Qs9C+INC30L3QsNGH0LXQvdC90Y8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorItCS0ZbQtNGF0LjQu9C10L3QvdGPINCz0L7QtNC40L3QvdC40LrQsCAlLmYg0YHQtdC60YPQvdC0INC30LAg0L7RgdGC0LDQvdC90ZYgJS5mINGB0LXQutGD0L3QtCxcbiIKKyLQvdC10LfQstCw0LbQsNGO0YfQuCDQvdCwINC60L7QtdGE0ZbRhtGW0ZTQvdGCINCy0LjQv9GA0LDQstC70LXQvdC90Y8g0LLRltC00YXQuNC70LXQvdC90Y8gJWYg0YHQtdC60YPQvdC0L9C00L7QsdGDLlxuIgorItCa0L7QtdGE0ZbRhtGW0ZTQvdGCINCy0ZbQtNGF0LjQu9C10L3QvdGPINC60L7RgNC40LPRg9GU0YLRjNGB0Y8g0L3QsCAlZiDRgdC10LrRg9C90LQv0LTQvtCx0YNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICLQlyDQvNC+0LzQtdC90YLRgyDQvtGB0YLQsNC90L3RjNC+0LPQviDQutC+0YDQuNCz0YPQstCw0L3QvdGPINC80LjQvdGD0LvQsCAlbGQg0YHQtdC60YPQvdC00LBcbiIKK21zZ3N0clsxXSAi0Jcg0LzQvtC80LXQvdGC0YMg0L7RgdGC0LDQvdC90YzQvtCz0L4g0LrQvtGA0LjQs9GD0LLQsNC90L3RjyDQvNC40L3Rg9C70L4gJWxkINGB0LXQutGD0L3QtNC4XG4iCittc2dzdHJbMl0gItCXINC80L7QvNC10L3RgtGDINC+0YHRgtCw0L3QvdGM0L7Qs9C+INC60L7RgNC40LPRg9Cy0LDQvdC90Y8g0LzQuNC90YPQu9C+ICVsZCDRgdC10LrRg9C90LRcbiIKK21zZ3N0clszXSAi0Jcg0LzQvtC80LXQvdGC0YMg0L7RgdGC0LDQvdC90YzQvtCz0L4g0LrQvtGA0LjQs9GD0LLQsNC90L3RjyDQvNC40L3Rg9C70LAgJWxkINGB0LXQutGD0L3QtNCwXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAi0J7QsdGH0LjRgdC70LXQvdC1INCy0ZbQtNGF0LjQu9C10L3QvdGPINCw0L/QsNGA0LDRgtC90L7Qs9C+INCz0L7QtNC40L3QvdC40LrQsCDQtNC+0YDRltCy0L3RjtGUICVsZC4lMDZsZCDRgdC10LrRg9C90LRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk5ldyAlcyBkYXRhOlxuIgorIiVzIgorbXNnc3RyICIiCisi0J3QvtCy0ZYg0LTQsNC90ZYgJXM6XG4iCisiJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODE3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1cGRhdGUgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QvdC+0LLQuNGC0LggJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgItCX0L3QsNGH0LXQvdC90Y8g0LPQvtC00LjQvdC90LjQutCwINC90LUg0LLRgdGC0LDQvdC+0LLQu9C10L3Qviwg0L7RgdC60ZbQu9GM0LrQuCDQvtGB0YLQsNC90L3RlCDQutC+0YDQuNCz0YPQstCw0L3QvdGPINCx0YPQu9C+INC90YPQu9GM0L7QstC40LwsINC+0YLQttC1INC20YPRgNC90LDQuyDQt9C80ZbQvSDQv9C+0YjQutC+0LTQttC10L3Qvi5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICLQndC1INCy0YHRgtCw0L3QvtCy0LvRjtGU0LzQviDRh9Cw0YEg0LPQvtC00LjQvdC90LjQutCwLCDQvtGB0LrRltC70YzQutC4INC60L7QtdGE0ZbRhtGW0ZTQvdGCINCy0ZbQtNGF0LjQu9C10L3QvdGPICVmINGUINC90LDQtNGC0L4g0LLQtdC70LjQutC40LwuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vIHVzYWJsZSBjbG9jayBpbnRlcmZhY2UgZm91bmQuXG4iCittc2dzdHIgItCd0LUg0LfQvdCw0LnQtNC10L3QviDQv9GW0LTRgtGA0LjQvNGD0LLQsNC90L7Qs9C+INGW0L3RgtC10YDRhNC10LnRgdGDINCz0L7QtNC40L3QvdC40LrQsC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNC+0YHRgtGD0L8g0LTQviDQsNC/0LDRgNCw0YLQvdC+0LPQviDQs9C+0LTQuNC90L3QuNC60LAg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4g0LHRg9C00Ywt0Y/QutC+0LPQviDQtyDQstGW0LTQvtC80LjRhSDQvNC10YLQvtC00ZbQsi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAi0KHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8g0L/QsNGA0LDQvNC10YLRgNC+0LwgLS12ZXJib3NlINC00LvRjyDQvtGC0YDQuNC80LDQvdC90Y8g0LTQvtC00LDRgtC60L7QstC40YUg0LLRltC00L7QvNC+0YHRgtC10Lkg0YnQvtC00L4g0L/QvtGI0YPQutGDINGB0L/QvtGB0L7QsdGDINC00L7RgdGC0YPQv9GDLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGFyZ2V0IGRhdGU6ICAgJWxkXG4iCittc2dzdHIgItCU0LDRgtCwINC/0YDQuNC30L3QsNGH0LXQvdC90Y86ICVsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAi0J/QtdGA0LXQtNCx0LDRh9C10L3QvdGPIFJUQzogJWxkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgItCh0L/RgNC+0LHQsCDRh9C40YLQsNC90L3RjyBSVEMg0L/RgNC40LfQstC10LvQsCDQtNC+INC+0YLRgNC40LzQsNC90L3RjyDQvdC10LrQvtGA0LXQutGC0L3QvtCz0L4g0LfQvdCw0YfQtdC90L3Rjy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAi0J3QtdC+0LHRhdGW0LTQvdCwINC60L7RgNC10LrRhtGW0Y8g0LzQtdC90YjQtSDQvdGW0LYg0L3QsCDQvtC00L3RgyDRgdC10LrRg9C90LTRgywg0YLQvtC80YMg0LPQvtC00LjQvdC90LjQuiDQvdC1INC+0L3QvtCy0LvRjtGU0YLRjNGB0Y8uXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorbXNnaWQgInVuYWJsZSB0byByZWFkIHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDQtNCw0L3RliDRidC+0LTQviDQtdC/0L7RhdC4IFJUQy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgUlRDIGVwb2NoIGlzIHNldCB0byAlbHUuXG4iCittc2dzdHIgItCV0L/QvtGF0YMgUlRDINCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0YMg0LfQvdCw0YfQtdC90L3RjyAlbHUuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICLRgNCw0LfQvtC8INGW0LcgLS1zZXRlcG9jaCDRgdC70ZbQtCDQstC60LDQt9Cw0YLQuCAtLWVwb2NoLiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQzCittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQtdC/0L7RhdGDIFJUQy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgJXMgW9GE0YPQvdC60YbRltGPXSBb0L/QsNGA0LDQvNC10YLRgC4uLl1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgItCf0YDQvtCz0YDQsNC80LAg0LTQu9GPINGA0L7QsdC+0YLQuCDQtyDQs9C+0LTQuNC90L3QuNC60L7QvC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2MworbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiIC1yLCAtLXNob3cgICAgICAgICAgINCy0LjQstC10YHRgtC4INGH0LDRgSBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiICAgICAtLWdldCAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGH0LDRgSBSVEMg0ZbQtyDQstC40L/RgNCw0LLQu9C10L3QvdGP0Lwg0LLRltC00YXQuNC70LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NQorbXNnaWQgIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIgICAgIC0tc2V0ICAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YfQsNGBIFJUQyDQvdCwINC+0YHQvdC+0LLRliAtLWRhdGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NgorbXNnaWQgIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIFJUQyIKK21zZ3N0ciAiIC1zLCAtLWhjdG9zeXMgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGH0LDRgSDRgdC40YHRgtC10LzQuCDQvdCwINC+0YHQvdC+0LLRliBSVEMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NworbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiIC13LCAtLXN5c3RvaGMgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGH0LDRgSBSVEMg0L3QsCDQvtGB0L3QvtCy0ZYg0YfQsNGB0YMg0YHQuNGB0YLQtdC80LgiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorbXNnaWQgIiAgICAgLS1zeXN0eiAgICAgICAgICBzZW5kIHRpbWVzY2FsZSBjb25maWd1cmF0aW9ucyB0byB0aGUga2VybmVsIgorbXNnc3RyICIgICAgIC0tc3lzdHogICAgICAgICAg0L3QsNC00ZbRgdC70LDRgtC4INC90LDQu9Cw0YjRgtGD0LLQsNC90L3RjyDRh9Cw0YHQvtCy0L7RlyDRiNC60LDQu9C4INC00L4g0Y/QtNGA0LAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIgLWEsIC0tYWRqdXN0ICAgICAgICAg0LrQvtGA0LjQs9GD0LLQsNGC0LggUlRDINC00LvRjyDQstGA0LDRhdC+0LLRg9Cy0LDQvdC90Y8g0YHQuNGB0YLQtdC80LDRgtC40YfQvdC+0LPQviDQstGW0LTRhdC40LvQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcxCittc2dpZCAiICAgICAtLWdldGVwb2NoICAgICAgIGRpc3BsYXkgdGhlIFJUQyBlcG9jaCIKK21zZ3N0ciAiICAgICAtLWdldGVwb2NoICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INC10L/QvtGF0LggUlRDIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzIKK21zZ2lkICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBSVEMgZXBvY2ggYWNjb3JkaW5nIHRvIC0tZXBvY2giCittc2dzdHIgIiAgICAgLS1zZXRlcG9jaCAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQtdC/0L7RhdGDIFJUQyDQstGW0LTQv9C+0LLRltC00L3QviDQtNC+IC0tZXBvY2giCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAgICAgLS1wcmVkaWN0ICAgICAgICDQv9C10YDQtdC00LHQsNGH0LjRgtC4INCy0ZbQtNGF0LjQu9C10L3QvdGPINGH0LDRgdGDIFJUQyDQvdCwINC+0YHQvdC+0LLRliAtLWRhdGUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBVVEMiCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICDRiNC60LDQu9CwINGH0LDRgdGDIFJUQyDQstGW0LTQv9C+0LLRltC00LDRlCDQstGB0LXRgdCy0ZbRgtC90YzQvtC80YMg0YfQsNGB0YMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NworbXNnaWQgIiAtbCwgLS1sb2NhbHRpbWUgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBMb2NhbCIKK21zZ3N0ciAiIC1sLCAtLWxvY2FsdGltZSAgICAgINGI0LrQsNC70LAg0YfQsNGB0YMgUlRDINCy0ZbQtNC/0L7QstGW0LTQsNGUINC80ZbRgdGG0LXQstC+0LzRgyDRh9Cw0YHRgyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIgLWYsIC0tcnRjIDzRhNCw0LnQuz4gICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INGE0LDQudC7ICUxJHNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIgorbXNnc3RyICIgICAgIC0tZGlyZWN0aXNhICAgICAg0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPINC60LDQvdCw0LvQvtC8IElTQSDQt9Cw0LzRltGB0YLRjCDQtNC+0YHRgtGD0L/RgyDQtNC+ICUxJHNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg0Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGRhdGUvdGltZSBpbnB1dCBmb3IgLS1zZXQgYW5kIC0tcHJlZGljdCIKK21zZ3N0ciAiICAgICAtLWRhdGUgPNGH0LDRgT4gICAgINCy0YXRltC00L3RliDQtNCw0L3RliDQtNCw0YLQuCDRliDRh9Cw0YHRgyDQtNC70Y8gLS1zZXQg0ZYgLS1wcmVkaWN0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKK21zZ2lkICIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giCittc2dzdHIgIiAgICAgLS1lcG9jaCA80YDRltC6PiAgICDQstGF0ZbQtNC90ZYg0LTQsNC90ZYg0LXQv9C+0YXQuCDQtNC70Y8gLS1zZXRlcG9jaCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiICAgICAtLXVwZGF0ZS1kcmlmdCAgINC+0L3QvtCy0LjRgtC4INC60L7QtdGE0ZbRhtGW0ZTQvdGCINCy0ZbQtNGF0LjQu9C10L3QvdGPIFJUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgdXNlICUxJHNcbiIKK21zZ3N0ciAiICAgICAtLW5vYWRqZmlsZSAgICAgINC90LUg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4ICUxJHNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIgICAgIC0tYWRqZmlsZSA80YTQsNC50Ls+INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INGE0LDQudC7ICUxJHNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkzCittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgIC0tdGVzdCAgICAgICAgICAg0LTRltCw0LPQvdC+0YHRgtC40YfQvdC40Lkg0LfQsNC/0YPRgdC6OyDQsNCy0YLQvtC80LDRgtC40YfQvdC+INC00L7QtNCw0ZTRgtGM0YHRjyAtLXZlcmJvc2UiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5NAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgINCy0LjQstC10YHRgtC4INC00L7QutC70LDQtNC90ZbRiNGWINC/0L7QstGW0LTQvtC80LvQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC30LIn0Y/Qt9Cw0YLQuNGB0Y8g0ZbQtyDRgdC40YHRgtC10LzQvtGOINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICLQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTQvNC+IC0tdmVyYm9zZSwgLS1kZWJ1ZyDQstCy0LDQttCw0ZTRgtGM0YHRjyDQt9Cw0YHRgtCw0YDRltC70LjQvC4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgItCS0LrQsNC30LDQvdC+INC90LAgJWQg0LDRgNCz0YPQvNC10L3RgtGW0LIg0LHRltC70YzRiNC1INC90ZbQtiDQv9C+0YLRgNGW0LHQvdC+IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMTcKK21zZ2lkICItLXVwZGF0ZS1kcmlmdCByZXF1aXJlcyAtLXNldCBvciAtLXN5c3RvaGMiCittc2dzdHIgItC00LvRjyAtLXNldCDQsNCx0L4gLS1zeXN0b2hjINGB0LvRltC0INCy0LrQsNC30YPQstCw0YLQuCAtLXVwZGF0ZS1kcmlmdCIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgItCg0LDQt9C+0Lwg0LcgLS1ub2FkamZpbGUg0YHQu9GW0LQg0LLQutCw0LfRg9Cy0LDRgtC4INCw0LHQviAtLXV0Yywg0LDQsdC+IC0tbG9jYWx0aW1lIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjkKK21zZ2lkICItLWRhdGUgaXMgcmVxdWlyZWQgZm9yIC0tc2V0IG9yIC0tcHJlZGljdCIKK21zZ3N0ciAi0LTQu9GPIC0tc2V0INCw0LHQviAtLXByZWRpY3Qg0YHQu9GW0LQg0LLQutCw0LfRg9Cy0LDRgtC4IC0tZGF0ZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QsCDQtNCw0YLQsDogwqslc8K7IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICLQp9Cw0YEg0YHQuNGB0YLQtdC80Lg6ICVsZC4lMDZsZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICLQoNC10LbQuNC8INC/0LXRgNC10LLRltGA0LrQuDog0L3RltGH0L7Qs9C+INC90LUg0LfQvNGW0L3QtdC90L4uIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAi0JTQvtGB0YLRg9C/INC00L4g0L/QvtGA0YLRgyBJU0Eg0L3QtSDRgNC10LDQu9GW0LfQvtCy0LDQvdC+IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzkxCittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC00L7RgdGC0YPQvyDQtNC+INC/0L7RgNGC0YMgaW9wbCgpIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0ZTQvNC+INCx0LXQt9C/0L7RgdC10YDQtdC00L3RltC5INC00L7RgdGC0YPQvyBJU0Eg0LTQviDQs9C+0LTQuNC90L3QuNC60LAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAi0J3QsNC80LDQs9Cw0ZTQvNC+0YHRjyDQstGW0LTQutGA0LjRgtC4OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INC/0YDQuNGB0YLRgNGW0LkgcnRjIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0LLQuNC60L7QvdCw0L3QvdGPIGlvY3RsKCVzKSDQtNC+ICVzINC00LvRjyDRh9C40YLQsNC90L3RjyDRh9Cw0YHRgyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICLQntGH0ZbQutGD0LLQsNC90L3RjyDQt9C80ZbQvdC4INGH0LDRgdGDINC3ICVzINGDINGG0LjQutC70ZZcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjMzCittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAi0J/QtdGA0LXQstC40YnQtdC90L4g0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPINC90LAg0LfQvNGW0L3RgyDRh9Cw0YHRgy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAi0L/QtdGA0LXQstC40YnQtdC90L4g0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPINGDINGG0LjQutC70ZYg0LTQu9GPIHNlbGVjdCgpINGJ0L7QtNC+ICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINC+0YfRltC60YPQstCw0L3QvdGPINGDINGG0LjQutC70ZYg0LIgc2VsZWN0KCkg0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9mZiB1cGRhdGUgaW50ZXJydXB0cyBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINCy0LjQvNC60L3QtdC90L3RjyDQvtC90L7QstC70LXQvdC90Y8g0L/QtdGA0LXRgNC40LLQsNC90Ywg0YMgaW9jdGwoKSDQtNC70Y8gJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICLQn9C+0LzQuNC70LrQsCDQv9GW0LQg0YfQsNGBINCy0YHRgtCw0L3QvtCy0LvQtdC90L3RjyBpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkg0YMgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQutC+0L3QsNC90L3RjyBpb2N0bCglcykg0LTQu9GPICVzINC3INC80LXRgtC+0Y4g0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINC30L3QsNGH0LXQvdC90Y8g0YfQsNGB0YMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSDRg9GB0L/RltGI0L3QviDQstC40LrQvtC90LDQvdC+LlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNzMKK21zZ2lkICJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0ZTQvNC+INGW0L3RgtC10YDRhNC10LnRgSBydGMg0LTQviDQs9C+0LTQuNC90L3QuNC60LAuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgItCf0L7QvNC40LvQutCwINC/0ZbQtCDRh9Cw0YEg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPIGlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkg0YMgJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAi0KPRgdC/0ZbRiNC90L4g0LLRgdGC0LDQvdC+0LLQu9C10L3QviBpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApINGDICVzLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LAg0LXQv9C+0YXQsCwgwqslc8K7LiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQwCisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCBpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSDRgyAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAi0KPRgdC/0ZbRiNC90L4g0LLRgdGC0LDQvdC+0LLQu9C10L3QviBpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSDRgyAlcy5cbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICLQodGC0LLQvtGA0LjRgtC4INGA0ZbQt9C90L7QvNCw0L3RltGC0L3RliDRgNC10YHRg9GA0YHQuCBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA80YDQvtC30LzRltGAPiAgICAg0YHRgtCy0L7RgNC40YLQuCDRgdC10LPQvNC10L3RgiDQv9Cw0Lwn0Y/RgtGWINGB0L/RltC70YzQvdC+0LPQviDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0YDQvtC30LzRltGA0L7QvCA80YDQvtC30LzRltGAPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPNGH0LjRgdC70L4+ICDRgdGC0LLQvtGA0LjRgtC4INC80LDRgdC40LIg0YHQtdC80LDRhNC+0YDRltCyINC3IDzRh9C40YHQu9C+PiDQtdC70LXQvNC10L3RgtGW0LJcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKK21zZ2lkICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg0YHRgtCy0L7RgNC40YLQuCDRh9C10YDQs9GDINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA80LTQvtGB0YLRg9C/PiAgICAgINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMg0LTQviDRgNC10YHRg9GA0YHRgyAo0YLQuNC/0L7QstC40LzQuCDRlCAwNjQ0KVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTAgc3lzLXV0aWxzL2xvc2V0dXAuYzo3MTUgc3lzLXV0aWxzL3pyYW1jdGwuYzo2MjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0YDQvtC30LzRltGA0YMiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC10LvQtdC80LXQvdGC0LgiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0YHRgtCy0L7RgNC10L3QvdGPINC+0LHQu9Cw0YHRgtGWINC/0LDQvCfRj9GC0ZYg0YHQv9GW0LvRjNC90L7Qs9C+INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgItCG0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINGB0L/RltC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRljogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0YHRgtCy0L7RgNC10L3QvdGPINGH0LXRgNCz0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgItCG0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINGH0LXRgNCz0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDRgdGC0LLQvtGA0LXQvdC90Y8g0YHQtdC80LDRhNC+0YDQsCDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAi0IbQtNC10L3Rgi4g0YHQtdC80LDRhNC+0YDQsDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPNGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAPi4uLlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1NQorbXNnaWQgIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgItCS0LjQu9GD0YfQuNGC0Lgg0L/QtdCy0L3RliDRgNC10YHRg9GA0YHQuCBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDzRltC0PiAgICAgICAg0LLQuNC70YPRh9C40YLQuCDRgdC10LPQvNC10L3RgiDQv9Cw0Lwn0Y/RgtGWINGB0L/RltC70YzQvdC+0LPQviDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0LfQsCA8aWQ+XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbS1rZXkgPNC60LvRjtGHPiAgICAg0LLQuNC70YPRh9C40YLQuCDRgdC10LPQvNC10L3RgiDQv9Cw0Lwn0Y/RgtGWINGB0L/RltC70YzQvdC+0LPQviDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0LfQsCDQutC70Y7Rh9C10LxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDzRltC0Lj4gICAgICAg0LLQuNC70YPRh9C40YLQuCDRh9C10YDQs9GDINC/0L7QstGW0LTQvtC80LvQtdC90Ywg0LfQsCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0LxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPNC60LvRjtGHPiAgICAg0LLQuNC70YPRh9C40YLQuCDRh9C10YDQs9GDINC/0L7QstGW0LTQvtC80LvQtdC90Ywg0LfQsCDQutC70Y7Rh9C10LxcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDzRltC0PiAgICDQstC40LvRg9GH0LjRgtC4INGB0LXQvNCw0YTQvtGAINC30LAg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDzQutC70Y7Rhz4g0LLQuNC70YPRh9C40YLQuCDRgdC10LzQsNGE0L7RgCDQt9CwINC60LvRjtGH0LXQvFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NAorbXNnaWQgIiAtYSwgLS1hbGxbPXNobXxtc2d8c2VtXSAgICByZW1vdmUgYWxsIChpbiB0aGUgc3BlY2lmaWVkIGNhdGVnb3J5KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAg0LLQuNC70YPRh9C40YLQuCDRg9GB0LUgKNGDINCy0LrQsNC30LDQvdGW0Lkg0LrQsNGC0LXQs9C+0YDRltGXKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LTRltC5LCDRj9C60ZYg0LLQuNC60L7QvdGD0Y7RgtGM0YHRj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICLQstC40LvRg9GH0LDRlNC80L4g0YHQtdCz0LzQtdC90YIg0L/QsNC8J9GP0YLRliDRgdC/0ZbQu9GM0L3QvtCz0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINC3INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0L7QvCDCqyVkwrtcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgItCy0LjQu9GD0YfQsNGU0LzQviDRh9C10YDQs9GDINC/0L7QstGW0LTQvtC80LvQtdC90Ywg0Lcg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8IMKrJWTCu1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICLQstC40LvRg9GH0LDRlNC80L4g0YHQtdC80LDRhNC+0YAg0Lcg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8IMKrJWTCu1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAi0LTQvtGB0YLRg9C/INC30LDQsdC+0YDQvtC90LXQvdC+INC00LvRjyDQutC70Y7Rh9CwIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgItC00L7RgdGC0YPQvyDQt9Cw0LHQvtGA0L7QvdC10L3QviDQtNC70Y8g0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQsCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICLQvdC10L/RgNCw0LLQuNC70YzQvdC40Lkg0LrQu9GO0YciCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgItC90LXQv9GA0LDQstC40LvRjNC90LjQuSDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgItC60LvRjtGHINCy0LbQtSDQstC40LTQsNC70LXQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTQKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQgaWQiCittc2dzdHIgItGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINCy0LbQtSDQstC40LTQsNC70LXQvdC40LkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDRgyDQutC70Y7Rh9GWIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGDINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0ZYiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkOiAlcyIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgDogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgItGA0LXRgdGD0YDRgSjQuCkg0LLQuNC00LDQu9C10L3QuNC5XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDQutC70Y7RhyAoJXMpIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNTYKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrRgyDRgdC/0ZbQu9GM0L3QvtGXINC/0LDQvCfRj9GC0ZYg0L3QtSDQvdCw0LvQsNGI0YLQvtCy0LDQvdC+INGDINGP0LTRgNGWIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrRgyDRgdC10LzQsNGE0L7RgNGW0LIg0L3QtSDQvdCw0LvQsNGI0YLQvtCy0LDQvdC+INGDINGP0LTRgNGWIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60YMg0YfQtdGA0LMg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQvdC1INC90LDQu9Cw0YjRgtC+0LLQsNC90L4g0YMg0Y/QtNGA0ZYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGALdGA0LXRgdGD0YDRgdGDLi4uXSBb0L/QsNGA0LDQvNC10YLRgC3QstC40LLQtdC00LXQvdC90Y9dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPNGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3IHN5cy11dGlscy9sc2lwYy5jOjI4MQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0ZbQvdGE0L7RgNC80LDRhtGW0Y4g0YnQvtC00L4g0LzQvtC20LvQuNCy0L7RgdGC0LXQuSBJUEMuXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDzRltC0PiAg0LLQuNCy0LXRgdGC0Lgg0L/QvtC00YDQvtCx0LjRhtGWINGJ0L7QtNC+INGA0LXRgdGD0YDRgdGDINC3INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0L7QvCA80ZbQtD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKK21zZ2lkICJSZXNvdXJjZSBvcHRpb25zOlxuIgorbXNnc3RyICLQn9Cw0YDQsNC80LXRgtGA0Lgg0YDQtdGB0YPRgNGB0ZbQsjpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAg0YHQtdCz0LzQtdC90YLQuCDQv9Cw0Lwn0Y/RgtGWINGB0L/RltC70YzQvdC+0LPQviDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlcyAgICAgINGH0LXRgNCz0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmVzICDRgdC10LzQsNGE0L7RgNC4XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAg0LLRgdGWICjRgtC40L/QvtCy0LAg0L/QvtCy0LXQtNGW0L3QutCwKVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjcxCittc2dpZCAiT3V0cHV0IG9wdGlvbnM6XG4iCittc2dzdHIgItCf0LDRgNCw0LzQtdGC0YDQuCDQstC40LLQtdC00LXQvdC90Y86XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICDQstC40LLQvtC00LjRgtC4INGH0LDRgdC4INC00L7Qu9GD0YfQtdC90L3Rjywg0LLRltC0J9GU0LTQvdCw0L3QvdGPINGC0LAg0LfQvNGW0L3QuFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjczCittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICDQstC40LLQtdGB0YLQuCBQSUQg0L/RgNC+0YbQtdGB0YMg0YHRgtCy0L7RgNC10L3QvdGPINGC0LAg0L7RgdGC0LDQvdC90YzQvtCz0L4g0L7Qv9C10YDQsNGC0L7RgNCwXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0YLQvtCz0L4sINGF0YLQviDRgdGC0LLQvtGA0LjQsiwg0YLQsCDQstC70LDRgdC90LjQutCwXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpbWl0cyAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INC+0LHQvNC10LbQtdC90Ywg0YDQtdGB0YPRgNGB0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIC11LCAtLXN1bW1hcnkgICAgINCy0LjQstC10YHRgtC4INGA0LXQt9GO0LzQtSDRidC+0LTQviDRgdGC0LDQvdGDXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzcKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLWh1bWFuICAgICAgINCy0LjQstC10YHRgtC4INGA0L7Qt9C80ZbRgNC4INGDINC30YDRg9GH0L3QvtC80YMg0LTQu9GPINGH0LjRgtCw0L3QvdGPINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YDQvtC30LzRltGA0Lgg0YMg0LHQsNC50YLQsNGFXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgItGP0LrRidC+INCy0LjQutC+0YDQuNGB0YLQsNC90L4g0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAsINC80LDRlCDQsdGD0YLQuCDQstC60LDQt9Cw0L3QviDQvtC00LjQvSDRgNC10YHRg9GA0YEiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L7QsdC80LXQttC10L3QvdGPINGB0L/RltC70YzQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0J7QsdC80LXQttC10L3QvdGPINGB0L/RltC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRliAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINGB0LXQs9C80LXQvdGC0ZbQsiA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAi0LzQsNC60YEuINGA0L7Qt9C80ZbRgCDRgdC10LPQvNC10L3RgtCwIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICLQvNCw0LrRgdC40LzRg9C8INGB0L/RltC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRliDQt9Cw0LPQsNC70L7QvCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgItC80ZbQvdGW0LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGB0LXQs9C80LXQvdGC0LAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60YMg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWINC90LUg0L3QsNC70LDRiNGC0L7QstCw0L3QviDRgyDRj9C00YDRllxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCh0YLQsNC9INGB0L/RltC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRliAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyLQvtGC0YDQuNC80LDQvdC+INGB0LXQs9C80LXQvdGC0ZbQsiAgICVkXG4iCisi0L7RgtGA0LjQvNCw0L3QviDRgdGC0L7RgNGW0L3QvtC6ICAgICVsZFxuIgorItC+0L/QtdGA0LDRgtC40LLQvdC40YUg0YHRgtC+0YDRltC90L7QuiAlbGRcbiIKKyLRgdGC0L7RgNGW0L3QvtC6INGDINGB0LLQvtC/0ZbQvdCz0YMgICVsZFxuIgorItCo0LLQuNC00LrQvtC00ZbRjyDRgdCy0L7Qv9GW0L3Qs9GDOiAgJWxkINGB0L/RgNC+0LFcdCAlbGQg0YPRgdC/0ZbRhdGW0LJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCQ0LLRgtC+0YDQuC/QktC70LDRgdC90LjQutC4INGB0LXQs9C80LXQvdGC0ZbQsiDRgdC/0ZbQu9GM0L3QvtGXINC/0LDQvCfRj9GC0ZYgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAi0L/RgNCw0LLQsCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQp9Cw0YEg0L/RgNC40ZTQtNC90LDQvdC90Y8v0LLRltC0J9GU0LTQvdCw0L3QvdGPL9C30LzRltC90Lgg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mjg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJvd25lciIKK21zZ3N0ciAi0LLQu9Cw0YHQvdC40LoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgItC/0YDQuNGU0LTQvdCw0L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAi0LLRltC0J9GU0LTQvdCw0L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzQKK21zZ2lkICJjaGFuZ2VkIgorbXNnc3RyICLQt9C80ZbQvdC10L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLSBQSUQg0L/RgNC+0YbQtdGB0YMg0YHRgtCy0L7RgNC10L3QvdGPINGB0L8uINC/0LDQvCfRj9GC0ZYv0L7RgdGCLiDQvtC/0LXRgNCw0YLQvtGAIC1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQodC10LPQvNC10L3RgtC4INGB0L/RltC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRliAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAi0LrQu9GO0YciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAic2l6ZSIKK21zZ3N0ciAi0YDQvtC30LzRltGAIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICLQsdCw0LnRgiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgItC60ZbQu9GM0Lou0L/RltC00LrQuyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgItGB0YLQsNC9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICLQndC1INCy0YHRgtCw0L0uIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAi0LfRgNGD0LnQvSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNDMgc3lzLXV0aWxzL2xzaXBjLmM6OTg4IHN5cy11dGlscy9sc2lwYy5jOjEwMDEKK21zZ2lkICJsb2NrZWQiCittc2dzdHIgItCx0LvQvtC60L7QstCw0L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIHNlbWFwaG9yZSBsaW1pdHNcbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC00LDQvdGWINGJ0L7QtNC+INC+0LHQvNC10LbQtdC90Ywg0YHQtdC80LDRhNC+0YDRltCyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQntCx0LzQtdC20LXQvdC90Y8g0YHQtdC80LDRhNC+0YDRltCyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LzQsNGB0LjQstGW0LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBwZXIgYXJyYXkgPSAlZFxuIgorbXNnc3RyICLQvNCw0LrRgdC40LzRg9C8INGB0LXQvNCw0YTQvtGA0ZbQsiDQvdCwINC80LDRgdC40LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0YHQtdC80LDRhNC+0YDRltCyINGDINGB0LjRgdGC0LXQvNGWID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0L7Qv9C10YDQsNGG0ZbQuSDQt9CwIHNlbW9wINCy0LjQutC70LjQuiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8g0YHQtdC80LDRhNC+0YDQsCA9ICV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60YMg0YHQtdC80LDRhNC+0YDRltCyINC90LUg0L3QsNC70LDRiNGC0L7QstCw0L3QviDRgyDRj9C00YDRllxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHRgtCw0L0g0YHQtdC80LDRhNC+0YDQsCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgItCy0LjQutC+0YDQuNGB0YLQsNC90L4g0LzQsNGB0LjQstGW0LIgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgItCy0LjQtNGW0LvQtdC90L4g0YHQtdC80LDRhNC+0YDRltCyID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDQkNCy0YLQvtGA0Lgv0JLQu9Cw0YHQvdC40LrQuCDQvNCw0YHQuNCy0ZbQsiDRgdC10LzQsNGE0L7RgNGW0LIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KfQsNGBINC00ZbRly/QstC90LXRgdC10L3QvdGPINC30LzRltC9INC00L4g0YHQtdC80LDRhNC+0YDRltCyIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAi0L7RgdGC0LDQvS3QvtC/IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAi0L7RgdGC0LDQvS3Qt9C80ZbQvSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCc0LDRgdC40LLQuCDRgdC10LzQsNGE0L7RgNGW0LIgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAi0LrRltC70YzQui7RgdC10LwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L7QsdC80LXQttC10L3RjCDQv9C+0LLRltC00L7QvNC70LXQvdGMXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLSDQntCx0LzQtdC20LXQvdC90Y8g0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgItC80LDQutGB0LjQvNGD0Lwg0YfQtdGA0LMg0YMg0YHQuNGB0YLQtdC80ZYgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgItGC0LjQv9C+0LLQuNC5INC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDRgNC+0LfQvNGW0YAg0YfQtdGA0LPQuCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICLQv9GW0LTRgtGA0LjQvNC60YMg0YfQtdGA0LMg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQvdC1INC90LDQu9Cw0YjRgtC+0LLQsNC90L4g0YMg0Y/QtNGA0ZZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KHRgtCw0L0g0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCAtLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICLQstC40LTRltC70LXQvdC+INGH0LXRgNCzID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAi0LLQuNC60L7RgNC40YHRgtCw0L3QviDQt9Cw0LPQvtC70L7QstC60ZbQsiA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAi0LLQuNC60L7RgNC40YHRgtCw0L3QtSDQvNGW0YHRhtC1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIg0LHQsNC50YLRltCyXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0g0KHRgtCy0L7RgNGO0LLQsNGH0ZYg0YLQsCDQstC70LDRgdC90LjQutC4INGH0LXRgNCzINC/0L7QstGW0LTQvtC80LvQtdC90YwgLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tINCn0LDRgSDQstGW0LTQv9GA0LDQstC70LXQvdC90Y8v0L7RgtGA0LjQvNCw0L3QvdGPL9C30LzRltC90Lgg0YfQtdGA0LMg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAi0LLRltC00L/RgNCw0LLQu9C10L3QviIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJyZWN2IgorbXNnc3RyICLQvtGC0YDQuNC80LDQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAi0LfQvNGW0L3QtdC90L4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQSUQg0YfQtdGA0LMg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g0KfQtdGA0LPQuCDQv9C+0LLRltC00L7QvNC70LXQvdGMIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE0Cittc2dpZCAidXNlZC1ieXRlcyIKK21zZ3N0ciAi0LLQuNC60L7RgNC40YHRgtCw0L3Qvi3QsdCw0LnRgiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTUKK21zZ2lkICJtZXNzYWdlcyIKK21zZ3N0ciAi0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAi0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAgJWQg0L3QtSDQt9C90LDQudC00LXQvdC+IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodC10LPQvNC10L3RgiDRgdC/0ZbQu9GM0L3QvtGXINC/0LDQvCfRj9GC0ZYgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi0YDQtdC20LjQvD0lI29cdNC/0YDQsNCy0LBf0LTQvtGB0YLRg9C/0YM9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgItGA0L7Qt9C80ZbRgD0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAiYnl0ZXM9IgorbXNnc3RyICLQsdCw0LnRgtC4PSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItGH0LDRgV/Qv9GA0LjRlNC00L09JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi0YfQsNGBX9Cy0ZbQtCfRlNC00L09JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi0YfQsNGBX9C30LzRltC9PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQp9C10YDQs9CwINC/0L7QstGW0LTQvtC80LvQtdC90YwgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHTRgNC10LbQuNC8PSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3NpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJxc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgItGH0LDRgV/QvdCw0LTRgdC40Ls9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicmN2X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi0YfQsNGBX9C+0YLRgNC40Lw9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi0JzQsNGB0LjQsiDRgdC10LzQsNGE0L7RgNGW0LIgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi0YDQtdC20LjQvD0lI28sINC/0YDQsNCy0LBf0LTQvtGB0YI9JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm5zZW1zID0gJWp1XG4iCittc2dzdHIgIm5zZW1zID0gJWp1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm90aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAib3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJjdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgImN0aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJzZW1udW0iCittc2dzdHIgItC90L7QvC7RgdC10LwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgItC30L3QsNGH0LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCAlcyIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiVzICjRgyDQsdCw0LnRgtCw0YUpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzICjRgyDQutGW0LvQvtCx0LDQudGC0LDRhSkgPSAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0L/RgNCw0L/QvtGA0LXRhtGMINGA0LXQttC40LzRgyDQstCy0LXQtNC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA8bGRpc2M+IDzQv9GA0LjRgdGC0YDRltC5PlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAi0JTQvtC70YPRh9C40YLQuCDQv9GA0LDQstC40LvQsCDQvtCx0YDQvtCx0LrQuCDRgNGP0LTQutCwINC00L4g0L/QvtGB0LvRltC00L7QstC90L7Qs9C+INGA0Y/QtNC60LAuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg0LLQuNCy0L7QtNC40YLQuCDQtNC+0LrQu9Cw0LTQvdGWINC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQtNC+IHN0ZGVyclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA80LfQvdCw0YfQtdC90L3Rjz4gINCy0YHRgtCw0L3QvtCy0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0YjQstC40LTQutC+0YHRgtGWINC/0L7RgdC70ZbQtNC+0LLQvdC+0Zcg0LvRltC90ZbRl1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIgLWMsIC0taW50cm8tY29tbWFuZCA80YDRj9C00L7Quj4gINCy0YHRgtGD0L8g0L3QsNC00ZbRgdC70LDQvdC+INC00L4gbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA5Cittc2dpZCAiIC1wLCAtLXBhdXNlIDxzZWNvbmRzPiAgIHBhdXNlIGJldHdlZW4gaW50cm8gYW5kIGxkYXR0YWNoXG4iCittc2dzdHIgIiAtcCwgLS1wYXVzZSA80YHQtdC60YPQvdC00Lg+ICAg0L/QsNGD0LfQsCDQvNGW0LYg0LLRgdGC0YPQv9C+0Lwg0ZYgbGRhdHRhY2hcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4IDct0LHRltGC0L7QstC40Lkg0YDQvtC30LzRltGAINGB0LjQvNCy0L7Qu9GDXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMQorbXNnaWQgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iCittc2dzdHIgIiAtOCwgLS1laWdodGJpdHMgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCA4LdCx0ZbRgtC+0LLQuNC5INGA0L7Qt9C80ZbRgCDRgdC40LzQstC+0LvRg1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LbQuNC8INCx0LXQtyDQstC40LfQvdCw0YfQtdC90L3RjyDQv9Cw0YDQvdC+0YHRgtGWXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworbXNnaWQgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICBzZXQgcGFyaXR5IHRvIGV2ZW5cbiIKK21zZ3N0ciAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0L/QsNGA0L3QvtGB0YLRllxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0LXQttC40Lwg0L3QtdC/0LDRgNC90L7RgdGC0ZZcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgdGC0L7Qvy3QsdGW0YLQuCDRgyDQt9C90LDRh9C10L3QvdGPINC+0LTQuNC90LjRhtGWXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHRgtC+0L8t0LHRltGC0Lgg0YMg0LfQvdCw0YfQtdC90L3RjyDQtNCy0ZbQudC60LhcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE3Cittc2dpZCAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gIHNldCBpbnB1dCBtb2RlIGZsYWdcbiIKK21zZ3N0ciAiIC1pLCAtLWlmbGFnIFstXTxpZmxhZz4gINCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0YDQsNC/0L7RgNC10YbRjCDRgNC10LbQuNC80YMg0LLQstC10LTQtdC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjIKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCS0ZbQtNC+0LzRliDQv9GA0L7Qs9GA0LDQvNGWINC30L3QsNGH0LXQvdC90Y8gPGxkaXNjPjpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQktGW0LTQvtC80ZYg0L/RgNC+0LPRgNCw0LzRliDQt9C90LDRh9C10L3QvdGPIDxpZmxhZz46XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRiNCy0LjQtNC60L7RgdGC0ZYiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NworbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQv9GA0LjQt9GD0L/QuNC90LrQuCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQv9GA0LDQstC40Lsg0L7QsdGA0L7QsdC60Lgg0YDRj9C00LrRltCyIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzINC90LUg0ZQg0L/QvtGB0LvRltC00L7QstC90L7RjiDQu9GW0L3RltGU0Y4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwMQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LDRgtGA0LjQsdGD0YLQuCDRgtC10YDQvNGW0L3QsNC70LAg0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgItC/0ZbQtNGC0YDQuNC80LrQuCDRiNCy0LjQtNC60L7RgdGC0ZYgJWQg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQsNGC0YDQuNCx0YPRgtC4INGC0LXRgNC80ZbQvdCw0LvQsCDQtNC70Y8gJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgd3JpdGUgaW50cm8gY29tbWFuZCB0byAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/QuNGB0LDRgtC4INCy0YHRgtGD0L/QvdGDINC60L7QvNCw0L3QtNGDINC00L4gJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0YDQsNCy0LjQu9CwINC+0LHRgNC+0LHQutC4INGA0Y/QtNC60ZbQsiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDRgdGC0LLQvtGA0LjRgtC4INGE0L7QvdC+0LLRgyDRgdC70YPQttCx0YMiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzAKK21zZ2lkICJhdXRvY2xlYXIgZmxhZyBzZXQiCittc2dzdHIgItCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0L/RgNCw0L/QvtGA0LXRhtGMINCw0LLRgtC+0YHQv9C+0YDQvtC20L3QtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgItGE0LDQudC7INGA0LXQt9C10YDQstC90L7RlyDQutC+0L/RltGXINC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICLQvdC+0LzQtdGAINC70L7Qs9GW0YfQvdC+0LPQviDQstGD0LfQu9CwINGA0LXQt9C10YDQstC90L7Qs9C+INGE0LDQudC70LAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAi0L3QvtC80LXRgCDQv9GA0LjRgdGC0YDQvtGOINC+0YHQvdC+0LLQvdC40Lk60LTQvtC00LDRgtC60L7QstC40Lkg0LTQu9GPINGA0LXQt9C10YDQstC90L7Qs9C+INGE0LDQudC70LAiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINC/0LXRgtC70YzQvtCy0L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4gKGxvb3ApIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAi0LLRltC00YHRgtGD0L8g0LLRltC0INC/0L7Rh9Cw0YLQutGDIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgItCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0L/RgNCw0L/QvtGA0LXRhtGMIHBhcnRzY2FuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4Cittc2dpZCAic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIKK21zZ3N0ciAi0L7QsdC80LXQttC10L3QvdGPINGA0L7Qt9C80ZbRgNGDINGE0LDQudC70LAg0YMg0LHQsNC50YLQsNGFIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5Cittc2dpZCAibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIgorbXNnc3RyICLQvdC+0LzQtdGAINC/0YDQuNGB0YLRgNC+0Y4g0L7RgdC90L7QstC90LjQuTrQtNC+0LTQsNGC0LrQvtCy0LjQuSDQtNC70Y8g0L/QtdGC0LvRjNC+0LLQvtCz0L4g0L/RgNC40YHRgtGA0L7RjiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgItC+0YLRgNC40LzQsNC90L3RjyDQtNC+0YHRgtGD0L/RgyDQtNC+INGE0LDQudC70LAg0YDQtdC30LXRgNCy0L3QvtGXINC60L7Qv9GW0Zcg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4gZGlyZWN0LWlvIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAi0YDQvtC30LzRltGAINC70L7Qs9GW0YfQvdC+0LPQviDRgdC10LrRgtC+0YDQsCDRgyDQsdCw0LnRgtCw0YUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAiLCDQt9GB0YPQsiAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCDQvtCx0LzQtdC20LXQvdC90Y8g0L3QsCDRgNC+0LfQvNGW0YAgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsINGI0LjRhNGA0YPQstCw0L3QvdGPICVzICjRgtC40L8gJXUpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwINCy0ZbQtCfRlNC00L3QsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxsb29wZGV2PiA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80L/QtdGC0LvQv9GA0LjRgdGC0YDRltC5Pl1cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSAtZiB8IDzQv9C10YLQu9C/0YDQuNGB0YLRgNGW0Lk+IDzRhNCw0LnQuz5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICLQndCw0LvQsNGI0YLRg9Cy0LDRgtC4INC/0LXRgtC70YzQvtCy0ZYg0L/RgNC40YHRgtGA0L7RlyDRgtCwINC60LXRgNGD0LLQsNGC0Lgg0L3QuNC80LguXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INGD0YHRltGFINCy0LjQutC+0YDQuNGB0YLQsNC90LjRhSDQv9GA0LjRgdGC0YDQvtGX0LJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA80L/QtdGC0LvRjNC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lk+Li4uINCy0ZbQtOKAmdGU0LTQvdCw0YLQuCDQvtC00LjQvSDQsNCx0L4g0LTQtdC60ZbQu9GM0LrQsCDQv9GA0LjRgdGC0YDQvtGX0LJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgINCy0ZbQtOKAmdGU0LTQvdCw0YLQuCDRg9GB0ZYg0LLQuNC60L7RgNC40YHRgtCw0L3RliDQv9GA0LjRgdGC0YDQvtGXXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA1Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAg0LfQvdCw0LnRgtC4INC/0LXRgNGI0LjQuSDQvdC10LLQuNC60L7RgNC40YHRgtCw0L3QuNC5INC/0YDQuNGB0YLRgNGW0LlcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA80L/QtdGC0LvRjNC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lk+INC30LzRltC90LjRgtC4INGA0L7Qt9C80ZbRgCDQv9GA0LjRgdGC0YDQvtGOXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorbXNnc3RyICIgLWosIC0tYXNzb2NpYXRlZCA80YTQsNC50Ls+ICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0YHQv9C40YHQvtC6INGD0YHRltGFINC/0YDQuNGB0YLRgNC+0ZfQsiwg0L/QvtCy4oCZ0Y/Qt9Cw0L3QuNGFINC3INGE0LDQudC70L7QvCA80YTQsNC50Ls+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA4Cittc2dpZCAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIgorbXNnc3RyICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAg0YPQvdC40LrQsNGC0Lgg0LzQvtC20LvQuNCy0LjRhSDQutC+0L3RhNC70ZbQutGC0ZbQsiDQvNGW0LYg0L/RgNC40YHRgtGA0L7Rj9C80LhcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDxuPiAgICAgICAgICAgICAg0YDQvtC30L/QvtGH0LDRgtC4INC3INCy0ZbQtNGB0YLRg9C/0YMgPG4+INGDINGE0LDQudC70ZZcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAtLXNpemVsaW1pdCA8bj4gICAgICAgICAgINC/0YDQuNGB0YLRgNGW0Lkg0L7QsdC80LXQttC10L3QviA8bj4g0LHQsNC50YLQsNC80Lgg0YTQsNC50LvQsFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNAorbXNnaWQgIiAtYiAgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgICAgICBzZXQgdGhlIGxvZ2ljYWwgc2VjdG9yIHNpemUgdG8gPG51bT5cbiIKK21zZ3N0ciAiIC1iICAtLXNlY3Rvci1zaXplIDzRh9C40YHQu9C+PiAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LTQu9GPINC70L7Qs9GW0YfQvdC+0LPQviDRgdC10LrRgtC+0YDQsCDRgNC+0LfQvNGW0YAgPNGH0LjRgdC70L4+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICDRgdGC0LLQvtGA0LjRgtC4INC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5INC3INGA0L7Qt9C00ZbQu9Cw0LzQuFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgINGB0YLQstC+0YDQuNGC0Lgg0L/RgNC40LTQsNGC0L3QuNC5INC70LjRiNC1INC00LvRjyDRh9C40YLQsNC90L3RjyDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICDQstGW0LTQutGA0LjRgtC4INGE0LDQudC7INGA0LXQt9C10YDQstC90L7RlyDQutC+0L/RltGXINC30LAg0LTQvtC/0L7QvNC+0LPQvtGOIE9fRElSRUNUXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L3QsNC30LLRgyDQv9GA0LjRgdGC0YDQvtGOINC/0ZbRgdC70Y8g0L3QsNC70LDRiNGC0YPQstCw0L3QvdGPICjQtyAtZilcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICDRgNC10LbQuNC8INC00L7QutC70LDQtNC90LjRhSDQv9C+0LLRltC00L7QvNC70LXQvdGMXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDIzCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LTQu9GPINCy0LjQstC10LTQtdC90L3RjyAtbGlzdCDRhNC+0YDQvNCw0YIgSlNPTlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INC00LDQvdGWINGJ0L7QtNC+INCy0YHRjNC+0LPQviDQsNCx0L4g0LLQutCw0LfQsNC90L7Qs9C+ICjRgtC40L/QvtCy0L4pXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI1Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQutGW0LIg0LTQu9GPINC00LDQvdC40YUsINCy0LjQstC10LTQtdC90LjRhSAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjYKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPNGB0YLQvtCy0L/Rh9C40LrQuD4gICAgICDQstC60LDQt9Cw0YLQuCDRgdGC0L7QstC/0YfQuNC60LgsINGP0LrRliDRgdC70ZbQtCDQstC40LLQtdGB0YLQuCwg0LTQu9GPIC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YTQvtGA0LzQsNGCINCy0LjQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFIC0tbGlzdCDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzIG9yIGludmlzaWJsZSBmb3Igc3lzdGVtIHRvb2xzLiIKK21zZ3N0ciAiJXM6INC/0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0YDQvtC30LzRltGAINGE0LDQudC70LAg0ZQg0LzQtdC90YjQuNC8INC30LAgNTEyINCx0LDQudGC0ZbQsiwg0L/QtdGC0LvRjNC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lkg0LzQvtC20LUg0LLQuNGP0LLQuNGC0LjRgdGPINC90LXQv9GA0LjQtNCw0YLQvdC40Lwg0LDQsdC+INC90LXQstC40LTQuNC80LjQvCDQtNC70Y8g0ZbQvdGB0YLRgNGD0LzQtdC90YLRltCyINGB0LjRgdGC0LXQvNC4LiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiJXM6INC/0L7Qv9C10YDQtdC00LbQtdC90L3Rjzog0YTQsNC50Lsg0L3QtSDQstC60LvQsNC00LDRlNGC0YzRgdGPINGDIDUxMi3QsdCw0LnRgtC+0LLQuNC5INGB0LXQutGC0L7RgCwg0L7RgtC20LUg0LrRltC90LXRhtGMINGE0LDQudC70LAg0LHRg9C00LUg0L/RgNC+0ZbQs9C90L7RgNC+0LLQsNC90L4uIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczog0ZbRgdC90YPRlCDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSDRltC3INC/0LXRgNC10LrRgNC40YLRgtGP0LwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczog0ZbRgdC90YPRlCDQv9GA0LjQt9C90LDRh9C10L3QuNC5INC70LjRiNC1INC00LvRjyDRh9C40YLQsNC90L3RjyDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSDRltC3INC/0LXRgNC10LrRgNC40YLRgtGP0LwiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBlbmNyeXB0ZWQgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczog0ZbRgdC90YPRlCDQt9Cw0YjQuNGE0YDQvtCy0LDQvdC40Lkg0L/QtdGC0LvRjNC+0LLQuNC5INC/0YDQuNGB0YLRgNGW0Lkg0ZbQtyDQv9C10YDQtdC60YDQuNGC0YLRj9C8IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L/QvtCy0YLQvtGA0L3QviDQstC40LrQvtGA0LjRgdGC0LDRgtC4INC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwNworbXNnaWQgImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4INGW0L3RgdC/0LXQutGC0YPQstCw0L3QvdGPINC/0LXRgtC70YzQvtCy0LjRhSDQv9GA0LjRgdGC0YDQvtGX0LIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7QvdCw0YLQuCDQv9C10YDQtdCy0ZbRgNC60YMg0YnQvtC00L4g0LrQvtC90YTQu9GW0LrRgtGW0LIg0LzRltC2INC/0LXRgtC70YzQvtCy0LjQvNC4INC/0YDQuNGB0YLRgNC+0Y/QvNC4IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0Lgg0L3QtdCy0LjQutC+0YDQuNGB0YLQsNC90LjQuSDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDRgdC60L7RgNC40YHRgtCw0YLQuNGB0Y8g0YDQtdC30LXRgNCy0L3QuNC8INGE0LDQudC70L7QvCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDRgNC+0LfQvNGW0YDRgyDQu9C+0LPRltGH0L3QvtCz0L4g0LHQu9C+0LrRgyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC60L7RgNC40YHRgtCw0YLQuCDQv9GA0LjRgdGC0YDRltC5IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQttC+0LTQvdC+0LPQviDQv9C10YLQu9GM0L7QstC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIChsb29wKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDQuCAlcyDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSDQtNC70Y8g0L/QvtGH0LDRgtC60L7QstC+0LPQviDQvdCw0LvQsNGI0YLQvtCy0YPQstCw0L3QvdGPINC/0LXRgtC70YzQvtCy0L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODA1Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLS1vZmZzZXQg0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRgyDRhtGM0L7QvNGDINC60L7QvdGC0LXQutGB0YLRliIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINC80ZbRgdGC0LrQvtGB0YLRliDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIgorbXNnc3RyICIlczog0YHQv9GA0L7QsdCwINCy0YHRgtCw0L3QvtCy0LvQtdC90L3RjyDQsdC10LfQv9C+0YHQtdGA0LXQtNC90YzQvtCz0L4g0LLQstC10LTQtdC90L3Rjy3QstC40LLQtdC00LXQvdC90Y8g0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgbG9naWNhbCBibG9jayBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQvtC30LzRltGAINC70L7Qs9GW0YfQvdC+0LPQviDQsdC70L7QutGDIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorbXNnaWQgIm5vbmUiCittc2dzdHIgItC90LXQvNCw0ZQiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAi0L/QsNGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk3Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAi0L/QvtCy0L3QsCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgItC60L7QvdGC0LXQudC90LXRgCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAi0LPQvtGA0LjQt9C+0L3RgtCw0LvRjNC90LjQuSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCittc2dpZCAidmVydGljYWwiCittc2dzdHIgItCy0LXRgNGC0LjQutCw0LvRjNC90LjQuSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk0Cittc2dpZCAibG9naWNhbCBDUFUgbnVtYmVyIgorbXNnc3RyICLQvdC+0LzQtdGAINC70L7Qs9GW0YfQvdC+0LPQviDQv9GA0L7RhtC10YHQvtGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0LvQvtCz0ZbRh9C90L7Qs9C+INGP0LTRgNCwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0LvQvtCz0ZbRh9C90L7Qs9C+INGB0L7QutC10YLQsCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICLQvdC+0LzQtdGAINC70L7Qs9GW0YfQvdC+0LPQviDQstGD0LfQu9CwIE5VTUEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0LvQvtCz0ZbRh9C90L7RlyDQutC90LjQs9C4IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKK21zZ2lkICJsb2dpY2FsIGRyYXdlciBudW1iZXIiCittc2dzdHIgItC90L7QvNC10YAg0LvQvtCz0ZbRh9C90L7RlyDRiNGD0YXQu9GP0LTQuCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAwCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAi0L/QvtC60LDQt9GD0ZQsINGP0Log0YDQvtC30L/QvtC00ZbQu9C10L3QviDQutC10YjRliDQvNGW0LYg0L/RgNC+0YbQtdGB0L7RgNCw0LzQuCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAi0KDQtdC20LjQvCDRgNC+0LfQv9C+0LTRltC70YMg0YfQsNGB0YMg0L/RgNC+0YbQtdGB0L7RgNGW0LIg0L3QsCDQstGW0YDRgtGD0LDQu9GM0L3QvtC80YMg0L7QsdC70LDQtNC90LDQvdC90ZYiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMgorbXNnaWQgInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiCittc2dzdHIgItGE0ZbQt9C40YfQvdCwINCw0LTRgNC10YHQsCDQv9GA0L7RhtC10YHQvtGA0LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAi0L/QvtC60LDQt9GD0ZQsINGH0Lgg0L7RgtGA0LjQvNCw0L3QviDQs9GW0L/QtdGA0LLRltC30L7RgNC+0Lwg0YMg0LrQvtGA0LjRgdGC0YPQstCw0L3QvdGPINC/0YDQvtGG0LXRgdC+0YAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwNAorbXNnaWQgInNob3dzIGlmIExpbnV4IGN1cnJlbnRseSBtYWtlcyB1c2Ugb2YgdGhlIENQVSIKK21zZ3N0ciAi0L/QvtC60LDQt9GD0ZQsINGH0Lgg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUINC30LDRgNCw0LcgTGludXgg0L/RgNC+0YbQtdGB0L7RgCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgItC/0L7QutCw0LfRg9GUINC80LDQutGB0LjQvNCw0LvRjNC90YMg0YfQsNGB0YLQvtGC0YMg0L/RgNC+0YbQtdGB0L7RgNCwINGDINCc0JPRhiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgItC/0L7QutCw0LfRg9GUINC80ZbQvdGW0LzQsNC70YzQvdGDINGH0LDRgdGC0L7RgtGDINC/0YDQvtGG0LXRgdC+0YDQsCDRgyDQnNCT0YYiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjM5OQorbXNnaWQgImVycm9yOiB1bmFtZSBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0LggdW5hbWUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LfQvdCw0YfQuNGC0Lgg0LrRltC70YzQutGW0YHRgtGMINC/0YDQvtGG0LXRgdC+0YDRltCyOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00L3QvtCy0LjRgtC4INC+0LHRgNC+0LHQvdC40Log0YHQuNCz0L3QsNC70YMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjEzMDcKK21zZ2lkICJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC00L7QsdGD0YLQuCDQvdC+0LzQtdGAINCy0YPQt9C70LAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIlkiCittc2dzdHIgIlkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyDQndC40LbRh9C1INC90LDQstC10LTQtdC90L4g0LTQsNC90ZYg0YMg0L/RgNC40LTQsNGC0L3QvtC80YMg0LTQviDQvtCx0YDQvtCx0LrQuCDRhNC+0YDQvNCw0YLRliwg0Y/QutC40Lkg0LzQvtC20L3QsFxuIgorIiMg0L/QtdGA0LXQtNCw0YLQuCDRltC90YjQuNC8INC/0YDQvtCz0YDQsNC80LDQvC4g0JLRgdGWINC30LDQv9C40YHQuCDRgyDQutC+0LbQvdC+0LzRgyDRgdGC0L7QstC/0YfQuNC60YMg0LzQsNGO0YLRjFxuIgorIiMg0YPQvdGW0LrQsNC70YzQvdGWINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0LgsINGJ0L4g0L/QvtGH0LjQvdCw0Y7RgtGM0YHRjyDQtyDQvdGD0LvRjy5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgItCQ0YDRhdGW0YLQtdC60YLRg9GA0LA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICLQoNC10LbQuNC80Lgg0KbQnzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTc0MgorbXNnaWQgIkJ5dGUgT3JkZXI6IgorbXNnc3RyICLQn9C+0YDRj9C00L7QuiDQsdCw0LnRgtGW0LI6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAi0J/RgNC+0YbQtdGB0L7RgNC4OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICLQnNCw0YHQutCwINGA0L7QsdC+0YfQuNGFINCm0J86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgItCh0L/QuNGB0L7QuiDRgNC+0LHQvtGH0LjRhSDQptCfOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi0JzQsNGB0LrQsCDQstC40LzQutC90LXQvdC40YUg0KbQnzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjgKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgItCh0L/QuNGB0L7QuiDQstC40LzQutC90LXQvdC40YUg0KbQnzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDMKK21zZ2lkICJUaHJlYWQocykgcGVyIGNvcmU6IgorbXNnc3RyICLQn9C+0YLQvtC60ZbQsiDQvdCwINGP0LTRgNC+OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgItCv0LTQtdGAINC90LAg0YHQvtC60LXRgjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICLQodC+0LrQtdGC0ZbQsiDQvdCwINC60L3QuNCz0YM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAi0JrQvdC40LMg0L3QsCDRiNGD0YXQu9GP0LTRgyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMworbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgItCo0YPRhdC70Y/QtDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTUKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAi0JrQvdC40LPQuDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICLQodC+0LrQtdGC0Lg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAi0JLRg9C30LvQuCBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgItCG0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINCy0LjRgNC+0LHQvdC40LrQsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjYKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICLQotC40L8g0LDRgNGF0ZbRgtC10LrRgtGD0YDQuDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAi0KHRltC80LXQudGB0YLQstC+INC/0YDQvtGG0LXRgdC+0YDRltCyOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMAorbXNnaWQgIk1vZGVsOiIKK21zZ3N0ciAi0JzQvtC00LXQu9GMOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICLQndCw0LfQstCwINC80L7QtNC10LvRljoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzQKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgItCc0L7QtNC40YTRltC60LDRhtGW0Y86IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgItCn0LDRgdGC0L7RgtCwINGDINCc0JPRhjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzgKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICLQlNC40L3QsNC80ZbRh9C90LAg0YfQsNGB0YLQvtGC0LAg0L/RgNC+0YbQtdGB0L7RgNCwINGDINCc0JPRhjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgItCh0YLQsNGC0LjRh9C90LAg0YfQsNGB0YLQvtGC0LAg0L/RgNC+0YbQtdGB0L7RgNCwINGDINCc0JPRhjoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgItCc0LDQutGBLiDRh9Cw0YHRgtC+0YLQsCDQv9GA0L7RhtC10YHQvtGA0LAg0YMg0JzQk9GGOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAi0JzRltC9LiDRh9Cw0YHRgtC+0YLQsCDQv9GA0L7RhtC10YHQvtGA0LAg0YMg0JzQk9GGOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NgorbXNnaWQgIkJvZ29NSVBTOiIKK21zZ3N0ciAiQm9nb01JUFM6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ5IHN5cy11dGlscy9sc2NwdS5jOjE4NTEKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgItCS0ZbRgNGC0YPQsNC70ZbQt9Cw0YbRltGPOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICLQk9GW0L/QtdGA0LLRltC30L7RgDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTYKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgItCS0LjRgNC+0LHQvdC40Log0LPRltC/0LXRgNCy0ZbQt9C+0YDQsDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAi0KLQuNC/INCy0ZbRgNGC0YPQsNC70ZbQt9Cw0YbRltGXOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2MAorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICLQoNC10LbQuNC8INGA0L7Qt9C/0L7QtNGW0LvRgzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgItCa0LXRiCAlczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAi0J/RgNC+0YbQtdGB0L7RgNC4INCy0YPQt9C70LAlZCBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICLQpNGW0LfQuNGH0L3RliDRgdC+0LrQtdGC0Lg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICLQpNGW0LfQuNGH0L3RliDQvNGW0LrRgNC+0YHRhdC10LzQuDoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAi0KTRltC30LjRh9C90ZYg0Y/QtNGA0LAv0LzRltC60YDQvtGB0YXQtdC80LA6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4Cittc2dpZCAiRmxhZ3M6IgorbXNnc3RyICLQn9GA0LDQv9C+0YDRhtGWOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LDRgNGF0ZbRgtC10LrRgtGD0YDQuCDQv9GA0L7RhtC10YHQvtGA0LAuXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDYKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLWUpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDRgNC+0LHQvtGH0LjRhSDRliDQstC40LzQutC90LXQvdC40YUg0KbQnyAo0YLQuNC/0L7QstC+INC00LvRjyAtZSlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC70LjRiNC1INGA0L7QsdC+0YfQuNGFINCm0J8gKNGC0LjQv9C+0LLQviDQtNC70Y8gLXApXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDgKK21zZ2lkICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC70LjRiNC1INCy0LjQvNC60L3QtdC90LjRhSDQv9GA0L7RhtC10YHQvtGA0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0LDRgtC4INGC0LjQv9C+0LLQuNC5INCw0LHQviDRgNC+0LfRiNC40YDQtdC90LjQuSDRhNC+0YDQvNCw0YIgSlNPTlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz080YHQv9C40YHQvtC6Pl0g0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YMg0YDQvtC30YjQuNGA0LXQvdC+0LzRgyDQv9GA0LjQtNCw0YLQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YTQvtGA0LzQsNGC0ZZcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1wLCAtLXBhcnNlWz080YHQv9C40YHQvtC6Pl0gICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YMg0L/RgNC40LTQsNGC0L3QvtC80YMg0LTQviDQvtCx0YDQvtCx0LrQuCDRhNC+0YDQvNCw0YLRllxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDzQutCw0YLQsNC70L7Qsz4gICDQstC40LrQvtGA0LjRgdGC0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0LrQsNGC0LDQu9C+0LMg0Y/QuiDQutC+0YDQtdC90LXQstC40Lkg0YMg0YHQuNGB0YLQtdC80ZZcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgICAgICBwcmludCBoZXhhZGVjaW1hbCBtYXNrcyByYXRoZXIgdGhhbiBsaXN0cyBvZiBDUFVzXG4iCittc2dzdHIgIiAteCwgLS1oZXggICAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGI0ZbRgdGC0L3QsNC00YbRj9GC0LrQvtCy0ZYg0LzQsNGB0LrQuCDQt9Cw0LzRltGB0YLRjCDRgdC/0LjRgdC60ZbQsiDQv9GA0L7RhtC10YHQvtGA0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTE0Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgINCy0LjQstC10YHRgtC4INGE0ZbQt9C40YfQvdGWLCDQsCDQvdC1INC70L7Qs9GW0YfQvdGWINGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0LhcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCICVzIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXM6INC/0LDRgNCw0LzQtdGC0YDQuCAtLWFsbCwgLS1vbmxpbmUg0ZYgLS1vZmZsaW5lINC80L7QttC90LAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INC70LjRiNC1INGA0LDQt9C+0Lwg0Lcg0L/QsNGA0LDQvNC10YLRgNC+0LwgLS1leHRlbmRlZCDQsNCx0L4gLS1wYXJzZS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICLQmtC70Y7RhyDRgNC10YHRg9GA0YHRgyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICLQmtC70Y7RhyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgItCG0LQuINGA0LXRgdGD0YDRgdGDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAi0IbQtC4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICLQhtC84oCZ0Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDQsNCx0L4gVUlEINCy0LvQsNGB0L3QuNC60LAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICLQktC70LDRgdC90LjQuiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCittc2dpZCAiUGVybWlzc2lvbnMiCittc2dzdHIgItCf0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICJVSUQg0YLQstC+0YDRhtGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgItCa0L7RgNC40YHRgtGD0LLQsNGHLdGC0LLQvtGA0LXRhtGMIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiR0lEINGC0LLQvtGA0YbRjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAi0JPRgNGD0L/QsCDRgtCy0L7RgNGG0Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgItCG0LQuINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVJRCIKK21zZ3N0ciAiVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgItCG0Lwn0Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgItCa0L7QtCDQs9GA0YPQv9C4IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIkdJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAi0J3QsNC30LLQsCDQs9GA0YPQv9C4IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAi0KfQsNGBINCy0L3QtdGB0LXQvdC90Y8g0L7RgdGC0LDQvdC90ZbRhSDQt9C80ZbQvSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgItCe0YHRgi4g0LfQvNGW0L3QuCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAi0JHQsNC50YLRltCyINCy0LjQutC+0YDQuNGB0YLQsNC90L4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAi0JrRltC70YzQutGW0YHRgtGMINC/0L7QstGW0LTQvtC80LvQtdC90YwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk1lc3NhZ2VzIgorbXNnc3RyICLQn9C+0LLRltC00L7QvNC70LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgc2VudCIKK21zZ3N0ciAi0KfQsNGBINC90LDQtNGB0LjQu9Cw0L3QvdGPINC+0YHRgtCw0L3QvdGM0L7Qs9C+INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgItCd0LDQtNGB0LjQu9Cw0L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICLQp9Cw0YEg0L7RgtGA0LjQvNCw0L3QvdGPINC+0YHRgtCw0L3QvdGM0L7Qs9C+INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICLQntGC0YDQuNC80LDQvdC+IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAiUElEINCy0ZbQtNC/0YDQsNCy0L3QuNC60LAg0L7RgdGC0LDQvdC90YzQvtCz0L4g0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJNc2cgc2VuZGVyIgorbXNnc3RyICLQktGW0LTQv9GA0LDQstC90LjQuiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiUElEINC+0YLRgNC40LzRg9Cy0LDRh9CwINC+0YHRgtCw0L3QvdGM0L7Qs9C+INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICLQntGC0YDQuNC80YPQstCw0YciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAi0KDQvtC30LzRltGAINGB0LXQs9C80LXQvdGC0LAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDQtNC+0LvRg9GH0LXQvdC40YUg0L/RgNC+0YbQtdGB0ZbQsiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiQXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICLQlNC+0LvRg9GH0LXQvdGWINC/0YDQvtGG0LXRgdC4IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgItCh0YLQsNC9IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKK21zZ2lkICJBdHRhY2ggdGltZSIKK21zZ3N0ciAi0KfQsNGBINC00L7Qu9GD0YfQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgItCn0LDRgSDQstGW0LTigJnRlNC00L3QsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgItCa0L7QvNCw0L3QtNC90LjQuSDRgNGP0LTQvtC6INC/0YDQvtGG0LXRgdGDLdGC0LLQvtGA0YbRjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICLQmtC+0LzQsNC90LTQsCDQv9GA0L7RhtC10YHRgy3RgtCy0L7RgNGG0Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiUElEINC/0YDQvtGG0LXRgdGDLdGC0LLQvtGA0YbRjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIlBJRCDRgtCy0L7RgNGG0Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorbXNnaWQgIlBJRCBvZiBsYXN0IHVzZXIiCittc2dzdHIgIlBJRCDQvtGB0YLQsNC90L3RjNC+0LPQviDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICJQSUQg0L7RgdGC0LDQvdC90YzQvtCz0L4g0LrQvtGA0LjRgdGCLiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDRgdC10LzQsNGE0L7RgNGW0LIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgItCh0LXQvNCw0YTQvtGA0ZbQsiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgItCn0LDRgSDQvtGB0YLQsNC90L3RjNC+0Zcg0LTRltGXIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAi0J7RgdGC0LDQvdC90Y8g0LTRltGPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICLQndCw0LfQstCwINGA0LXRgdGD0YDRgdGDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAi0KDQtdGB0YPRgNGBIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi0J7Qv9C40YEg0YDQtdGB0YPRgNGB0YMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICLQntC/0LjRgSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgItCX0LDRgNCw0Lcg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OAorbXNnaWQgIlVzZWQiCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQsNC90L4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi0J/QvtGC0L7Rh9C90LjQuSDQstGW0LTRgdC+0YLQvtC6INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg5Cittc2dpZCAiVXNlIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIlN5c3RlbS13aWRlIGxpbWl0IgorbXNnc3RyICLQl9Cw0LPQsNC70YzQvdC+0YHQuNGB0YLQtdC80L3QtSDQvtCx0LzQtdC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE5MAorbXNnaWQgIkxpbWl0IgorbXNnc3RyICLQntCx0LzQtdC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb2x1bW4gJXMgZG9lcyBub3QgYXBwbHkgdG8gdGhlIHNwZWNpZmllZCBJUEMiCittc2dzdHIgItGB0YLQvtCy0L/Rh9C40LogJXMg0L3QtdC30LDRgdGC0L7RgdC+0LLQvdC40Lkg0LTQviDQstC60LDQt9Cw0L3QvtCz0L4gSVBDIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIgLWcsIC0tZ2xvYmFsICAgICAg0LTQsNC90ZYg0YnQvtC00L4g0LfQsNCz0LDQu9GM0L3QvtCz0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPINGB0LjRgdGC0LXQvNC4ICjQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQtyAtbSwgLXEg0ZYgLXMpXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICAgICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIgLWksIC0taWQgPNGW0LQ+ICAgINCy0LjQstC10YHRgtC4INC/0L7QtNGA0L7QsdC40YbRliDRidC+0LTQviDRgNC10YHRg9GA0YHRgyDQtyDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0LwgPNGW0LQ+XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQoNCe0JfQnNCG0KAg0YMg0LHQsNC50YLQsNGFLCDQsCDQvdC1INGDINC30YDRg9GH0L3QvtC80YMg0LTQu9GPINGH0LjRgtCw0L3QvdGPINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0YLQvtCz0L4sINGF0YLQviDRgdGC0LLQvtGA0LjQsiwg0YLQsCDQstC70LDRgdC90LjQutCwXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPIEpTT05cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICBmb3JjZSBsaXN0IG91dHB1dCBmb3JtYXQgKGZvciBleGFtcGxlIHdpdGggLS1pZClcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICDQv9GA0LjQvNGD0YHQvtCy0LjQuSDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPINGB0L/QuNGB0LrQvtC8ICjQvdCw0L/RgNC40LrQu9Cw0LQg0LcgLS1pZClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAg0LLQuNCy0LXRgdGC0Lgg0YfQuNGB0LvQvtCy0ZYg0L/RgNCw0LLQsCDQtNC+0YHRgtGD0L/RgyAo0YHRgtC+0LLQv9GH0LjQuiBQRVJNUylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA0Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICDQstC40LLQvtC00LjRgtC4INGH0LDRgdC4INC00L7Qu9GD0YfQtdC90L3Rjywg0LLRltC0J9GU0LTQvdCw0L3QvdGPINGC0LAg0LfQvNGW0L3QuFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkdlbmVyaWMgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCX0LDQs9Cw0LvRjNC90ZYg0YHRgtC+0LLQv9GH0LjQutC4OlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNoYXJlZC1tZW1vcnkgY29sdW1ucyAoLS1zaG1lbXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHRgtC+0LLQv9GH0LjQutC4INGB0L/RltC70YzQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWICgtLXNobWVtcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodGC0L7QstC/0YfQuNC60Lgg0YfQtdGA0LPQuCDQv9C+0LLRltC00L7QvNC70LXQvdGMICgtLXF1ZXVlcyk6XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLQodGC0L7QstC/0YfQuNC60Lgg0YHQtdC80LDRhNC+0YDRltCyICgtLXNlbWFwaG9yZXMpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisiXG4iCisi0KHRgtC+0LLQv9GH0LjQutC4INGA0LXQt9GO0LzQtSAoLS1nbG9iYWwpOlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisi0JXQu9C10LzQtdC90YLQuDpcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3Cittc2dpZCAiZmFpbGVkIHRvIHNldCBkYXRhIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LTQsNC90ZYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgItCa0ZbQu9GM0LrRltGB0YLRjCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNGW0LIg0YHQtdC80LDRhNC+0YDRltCyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKK21zZ2lkICJUb3RhbCBudW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAi0JfQsNCz0LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0YHQtdC80LDRhNC+0YDRltCyIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKK21zZ2lkICJNYXggc2VtYXBob3JlcyBwZXIgc2VtYXBob3JlIHNldC4iCittc2dzdHIgItCc0LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINGB0LXQvNCw0YTQvtGA0ZbQsiDRgyDQvdCw0LHQvtGA0ZYg0YHQtdC80LDRhNC+0YDRltCyLiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE1Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LTRltC5INGDINC+0LTQvdC+0LzRgyBzZW1vcCgyKSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE2Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPINGB0LXQvNCw0YTQvtGA0LAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3MworbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAi0JrRltC70YzQutGW0YHRgtGMINGH0LXRgNCzINC/0L7QstGW0LTQvtC80LvQtdC90YwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8gKNGDINCx0LDQudGC0LDRhSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAi0KLQuNC/0L7QstC40Lkg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDRh9C10YDQs9C4ICjRgyDQsdCw0LnRgtCw0YUpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgImh1Z2V0bGIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJub3Jlc2VydmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICLQodC10LPQvNC10L3RgtC4INGB0L/RltC70YzQvdC+0Zcg0L/QsNC8J9GP0YLRliIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworbXNnaWQgIlNoYXJlZCBtZW1vcnkgcGFnZXMiCittc2dzdHIgItCh0YLQvtGA0ZbQvdC60Lgg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0LzigJnRj9GC0ZYiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAi0JzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDRgdC10LPQvNC10L3RgtCwINGB0L/RltC70YzQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWICjRgyDQsdCw0LnRgtCw0YUpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgItCc0ZbQvdGW0LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGB0LXQs9C80LXQvdGC0LAg0YHQv9GW0LvRjNC90L7RlyDQv9Cw0LzigJnRj9GC0ZYgKNGDINCx0LDQudGC0LDRhSkiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCBJUEMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEyMzkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAiLS1nbG9iYWwg0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRgNCw0LfQvtC8INGW0LcgLS1jcmVhdG9yLCAtLWlkINGC0LAgLS10aW1lIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjgKK21zZ2lkICJzdGFydCBhbmQgZW5kIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAi0L/QvtGH0LDRgtC60L7QstCwINGWINC60ZbQvdGG0LXQstCwINCw0LTRgNC10YHQuCDQtNGW0LDQv9Cw0LfQvtC90YMg0L/QsNC84oCZ0Y/RgtGWIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMjkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgItGA0L7Qt9C80ZbRgCDQtNGW0LDQv9Cw0LfQvtC90YMg0L/QsNC84oCZ0Y/RgtGWIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgItGB0YLQsNC9INGA0L7QsdC+0YLQuCDQtNGW0LDQv9Cw0LfQvtC90YMg0L/QsNC84oCZ0Y/RgtGWIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICLQv9Cw0LzigJnRj9GC0Ywg0ZQg0LfQvNGW0L3QvdC+0Y4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICLQvdC+0LzQtdGAINCx0LvQvtC60YMg0L/QsNC84oCZ0Y/RgtGWINCw0LHQviDQtNGW0LDQv9Cw0LfQvtC9INCx0LvQvtC60ZbQsiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMzCittc2dpZCAibnVtYSBub2RlIG9mIG1lbW9yeSIKK21zZ3N0ciAi0LLRg9C30L7QuyBudW1hINC/0LDQvOKAmdGP0YLRliIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTM0Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgItC60L7RgNC10LrRgtC90ZYg0LfQvtC90Lgg0LTQu9GPINC00ZbQsNC/0LDQt9C+0L3RgyDQv9Cw0Lwn0Y/RgtGWIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKK21zZ2lkICJvbmxpbmUiCittc2dzdHIgItC30LDQtNGW0Y/QvdC+IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjIKK21zZ2lkICJvZmZsaW5lIgorbXNnc3RyICLQvdC1INC30LDQtNGW0Y/QvdC+IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjMKK21zZ2lkICJvbi0+b2ZmIgorbXNnc3RyICLRg9Cy0ZbQvNC60L0uLT7QstC40LzQutC9LiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIyIHN5cy11dGlscy9sc21lbS5jOjMyOQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAi0KDQvtC30LzRltGAINCx0LvQvtC60YMg0L/QsNC84oCZ0Y/RgtGWOiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworbXNnaWQgIlRvdGFsIG9ubGluZSBtZW1vcnk6IgorbXNnc3RyICLQl9Cw0LPQsNC70L7QvCDQt9Cw0LTRltGP0L3QvtGXINC/0LDQvOKAmdGP0YLRljoiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyNCBzeXMtdXRpbHMvbHNtZW0uYzozMzcKK21zZ2lkICJUb3RhbCBvZmZsaW5lIG1lbW9yeToiCittc2dzdHIgItCX0LDQs9Cw0LvQvtC8INC90LXQt9Cw0LTRltGP0L3QvtGXINC/0LDQvOKAmdGP0YLRljoiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4ICVzIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgItCjINGG0ZbQuSDRgdC40YHRgtC10LzRliDQvdC1INC/0LXRgNC10LTQsdCw0YfQtdC90L4g0L/RltC00YLRgNC40LzQutC4INCx0LvQvtC60ZbQsiDQv9Cw0LzigJnRj9GC0ZYiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ5OQorbXNnaWQgIkxpc3QgdGhlIHJhbmdlcyBvZiBhdmFpbGFibGUgbWVtb3J5IHdpdGggdGhlaXIgb25saW5lIHN0YXR1cy5cbiIKK21zZ3N0ciAi0JLQuNCy0LXRgdGC0Lgg0YHQv9C40YHQvtC6INC00ZbQsNC/0LDQt9C+0L3RltCyINC00L7RgdGC0YPQv9C90L7RlyDQv9Cw0LzigJnRj9GC0ZYg0ZbQtyDQtNCw0L3QuNC80Lgg0YnQvtC00L4g0ZfRhdC90YzQvtCz0L4g0YHRgtCw0L3RgyDRgNC+0LHQvtGC0LguXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgINC/0L7QutCw0LfQsNGC0Lgg0YHQv9C40YHQvtC6INC+0LrRgNC10LzQuNGFINCx0LvQvtC60ZbQsiDQv9Cw0LzigJnRj9GC0ZZcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgLVMsIC0tc3BsaXQgPNGB0L/QuNGB0L7Quj4g0L/QvtC00ZbQu9C40YLQuCDQtNGW0LDQv9Cw0LfQvtC90Lgg0LfQsCDQstC60LDQt9Cw0L3QuNC80Lgg0YHRgtC+0LLQv9GH0LjQutCw0LzQuFxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTAKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgdXNlIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDzQutCw0YLQsNC70L7Qsz4gICDQstC40LrQvtGA0LjRgdGC0LDRgtC4INCy0LrQsNC30LDQvdC40Lkg0LrQsNGC0LDQu9C+0LMg0Y/QuiDQutC+0YDQtdC90LXQstC40Lkg0YMg0YHQuNGB0YLQtdC80ZZcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTExCittc2dpZCAiICAgICAtLXN1bW1hcnlbPXdoZW5dIHByaW50IHN1bW1hcnkgaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBvciBvbmx5KVxuIgorbXNnc3RyICIgICAgIC0tc3VtbWFyeVs90YPQvNC+0LLQsF0g0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YDQtdC30Y7QvNC1IChuZXZlciAo0L3RltC60L7Qu9C4KSwgYWx3YXlzICjQt9Cw0LLQttC00LgpINCw0LHQviBvbmx5ICjQu9C40YjQtSkpXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYxOAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc3VtbWFyeSBhcmd1bWVudCIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3QuNC5INCw0YDQs9GD0LzQtdC90YIgLS1zdW1tYXJ5IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKK21zZ2lkICJvcHRpb25zIC0te3Jhdyxqc29uLHBhaXJzfSBhbmQgLS1zdW1tYXJ5PW9ubHkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4IC0te3Jhdyxqc29uLHBhaXJzfSDRliAtLXN1bW1hcnk9b25seSDRlCDQstC30LDRlNC80L7QstC40LrQu9GO0YfQvdC40LzQuCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjY0IHN5cy11dGlscy9sc25zLmM6NzgxCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGW0L3RltGG0ZbQsNC70ZbQt9GD0LLQsNGC0Lgg0YLQsNCx0LvQuNGG0Y4g0LLQuNCy0LXQtNC10L3QvdGPINC00LDQvdC40YUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY3NgorbXNnaWQgIkZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDRgdGC0L7QstC/0YfQuNC6INCy0LjQstC10LTQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5OQorbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICLRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyICjQvdC+0LzQtdGAIGlub2RlKSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDAKK21zZ2lkICJraW5kIG9mIG5hbWVzcGFjZSIKK21zZ3N0ciAi0YLQuNC/INC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLRiNC70Y/RhSDQtNC+INC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLQutGW0LvRjNC60ZbRgdGC0Ywg0L/RgNC+0YbQtdGB0ZbQsiDRgyDQv9GA0L7RgdGC0L7RgNGWINC90LDQt9CyIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi0L3QsNC50L3QuNC20YfQuNC5IFBJRCDRgyDQv9GA0L7RgdGC0L7RgNGWINC90LDQt9CyIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiUFBJRCBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgItC60L7QvNCw0L3QtNC90LjQuSDRgNGP0LTQvtC6IFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDYKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiVUlEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICLRltC84oCZ0Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCBQSUQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA4Cittc2dpZCAibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iCittc2dzdHIgItGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LIsINGP0LrQuNC5INCy0LjQutC+0YDQuNGB0YLQvtCy0YPRlNGC0YzRgdGPINC/0ZbQtNGB0LjRgdGC0LXQvNC+0Y4g0LzQtdGA0LXQttGWIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAi0YLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3RjyBuc2ZzICjQt9Cw0LfQstC40YfQsNC5LCDQstC40LrQvtGA0LjRgdGC0LDQvdCwINC/0ZbQtNGB0LjRgdGC0LXQvNCwINC80LXRgNC10LbRlikiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQtNC+0LTQsNGC0Lgg0YDRj9C00L7QuiDQtNC+INCy0LjQstC10LTQtdC90LjRhSDQtNCw0L3QuNGFIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80L/RgNC+0YHRgtGW0YAg0L3QsNC30LI+XVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5OAorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgItCS0LjQstC10YHRgtC4INGB0L/QuNGB0L7QuiDQv9GA0L7RgdGC0L7RgNGW0LIg0L3QsNC30LIg0YHQuNGB0YLQtdC80LguXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA1Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtcCwgLS10YXNrIDxwaWQ+ICAgICAgINCy0LjQstC10YHRgtC4INC/0YDQvtGB0YLQvtGA0Lgg0L3QsNC30LIg0L/RgNC+0YbQtdGB0YNcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKK21zZ2lkICIgLVcsIC0tbm93cmFwICAgICAgICAgICBkb24ndCB1c2UgbXVsdGktbGluZSByZXByZXNlbnRhdGlvblxuIgorbXNnc3RyICIgLVcsIC0tbm93cmFwICAgICAgICAgICDQvdC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQsdCw0LPQsNGC0L7RgNGP0LTQutC+0LLQtSDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwOQorbXNnaWQgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA80L3QsNC30LLQsD4gICAgINGC0LjQvyDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDRgtC40L8g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsjogJXMiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNAorbXNnaWQgIi0tdGFzayBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8bmFtZXNwYWNlPiIKK21zZ3N0ciAiLS10YXNrINC90LUg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0YDQsNC30L7QvCDRltC3INCw0YDQs9GD0LzQtdC90YLQvtC8IDzQv9GA0L7RgdGC0ZbRgCDQvdCw0LfQsj4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAi0L3QtSDQt9C90LDQudC00LXQvdC+INC/0YDQvtGB0YLQvtGA0YMg0L3QsNC30LI6ICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0L7QvCDCqy0tJXPCuyDQvNC+0LbQtSDQutC+0YDQuNGB0YLRg9Cy0LDRgtC40YHRjyDQu9C40YjQtSDQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgCAoVUlEINC00L7RgNGW0LLQvdGO0ZQgJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2OCBzeXMtdXRpbHMvdW1vdW50LmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgItGG0Y4g0LTRltGOINC80L7QttC1INCy0LjQutC+0L3Rg9Cy0LDRgtC4INC70LjRiNC1INCw0LTQvNGW0L3RltGB0YLRgNCw0YLQvtGAIChVSUQg0LTQvtGA0ZbQstC90Y7RlCAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcyIHN5cy11dGlscy91bW91bnQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0L7QvCDCqy0tJXPCuyDQvNC+0LbQtSDQutC+0YDQuNGB0YLRg9Cy0LDRgtC40YHRjyDQu9C40YjQtSDQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAi0YbQtSDQvNC+0LbQtSDRgNC+0LHQuNGC0Lgg0LvQuNGI0LUg0LrQvtGA0LjRgdGC0YPQstCw0Ycgcm9vdCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6ODQgc3lzLXV0aWxzL3Vtb3VudC5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIgorbXNnc3RyICIlcyDQtyAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIG10YWIiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L/RgNC+0YfQuNGC0LDRgtC4INGC0LDQsdC70LjRhtGOINC80L7QvdGC0YPQstCw0L3QvdGPIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czog0L/RgNC+0ZbQs9C90L7RgNC+0LLQsNC90L5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiJS0yNXM6INCy0LbQtSDQt9C80L7QvdGC0L7QstCw0L3QvlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMg0L/QtdGA0LXRgdGD0L3Rg9GC0L4g0LTQviAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBib3VuZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzINC/0YDQuNCyJ9GP0LfQsNC90L4g0LTQviAlcy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXM6ICVzINC30LzQvtC90YLQvtCy0LDQvdC+INC00L4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiJXM6INC30LzRltC90LXQvdC+INC/0YDQsNC/0L7RgNGG0ZYg0L/QvtGI0LjRgNC10L3QvdGPICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudDogJXMg0L3QtSDQvNGW0YHRgtC40YLRjCDQvNGW0YLQvtC6IFNFTGludXguXG4iCisiICAgICAgINCS0Lgg0YnQvtC50L3QviDQt9C80L7QvdGC0YPQstCw0LvQuCDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgywg0YMg0Y/QutGW0Lkg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQvNGW0YLQutC4INGWINGP0LrQsFxuIgorIiAgICAgICDQvdC1INC80ZbRgdGC0LjRgtGMINC80ZbRgtC+0LosINGDINC+0L/QtdGA0LDRhtGW0LnQvdGW0Lkg0YHQuNGB0YLQtdC80ZYg0Lcg0L/RltC00YLRgNC40LzQutC+0Y4gU0VMaW51eC5cbiIKKyIgICAgICAg0JnQvNC+0LLRltGA0L3Qviwg0L/RgNC+0LPRgNCw0LzQuCDQtyDQvtCx0LzQtdC20LXQvdC90Y/QvNC4INGDINC00L7RgdGC0YPQv9GWINCy0LjQstC+0LTQuNGC0LjQvNGD0YLRjCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y9cbiIKKyIgICAgICAgQVZDINGWINC90LUg0LfQvNC+0LbRg9GC0Ywg0L7RgtGA0LjQvNGD0LLQsNGC0Lgg0LTQvtGB0YLRg9C/INC00L4g0YbRltGU0Zcg0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuC5cbiIKKyIgICAgICAg0KnQvtCxINC00ZbQt9C90LDRgtC40YHRjyDQsdGW0LvRjNGI0LUsINC+0LfQvdCw0LnQvtC80YLQtdGB0Y8g0Lcg0LTQvtC60YPQvNC10L3RgtCw0YbRltGU0Y4g0LTQviByZXN0b3JlY29uKDgpINGWXG4iCisiICAgICAgIG1vdW50KDgpLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMuIgorbXNnc3RyICIlczogJXMuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0YTQvtGA0LzQsNGCINC/0LDRgNCw0LzQtdGC0YDRltCyOiAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhcHBlbmQgb3B0aW9uICclcyciCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LTQvtC/0LjRgdCw0YLQuCDQv9Cw0YDQsNC80LXRgtGAIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW9C/0LDRgNCw0LzQtdGC0YDQuF1cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSBbLS1zb3VyY2VdIDzQtNC20LXRgNC10LvQvj4gfCBbLS10YXJnZXRdIDzQutCw0YLQsNC70L7Qsz5cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80LTQttC10YDQtdC70L4+IDzQutCw0YLQsNC70L7Qsz5cbiIKKyIgJTEkcyA80LTRltGPPiA80YLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3Rjz4gWzzQv9GA0LjQt9C90LDRh9C10L3QvdGPPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLQl9C80L7QvdGC0YPQstCw0YLQuCDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgy5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDQt9C80L7QvdGC0YPQstCw0YLQuCDQstGB0ZYg0YTQsNC50LvQvtCy0ZYg0YHQuNGB0YLQtdC80LgsINC30LPQsNC00LDQvdGWINGDIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgINC90LUg0L/QtdGA0LXQstC+0LTQuNGC0Lgg0YjQu9GP0YXQuCDRgyDQutCw0L3QvtC90ZbRh9C90YMg0YTQvtGA0LzRg1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICDRgtC10YHRgtC+0LLQuNC5INC30LDQv9GD0YHQujsg0L/RgNC+0L/Rg9GB0YLQuNGC0Lgg0YHQuNGB0YLQtdC80L3QuNC5INCy0LjQutC70LjQuiBtb3VudCgyKVxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICDQstGW0LTQs9Cw0LvRg9C20YPQstCw0YLQuNGB0Y8g0LTQu9GPINC60L7QttC90L7Qs9C+INC/0YDQuNGB0YLRgNC+0Y4gKNC60L7RgNC40YHRgtGD0LnRgtC10YHRjyDQtyAtYSlcbiIKKyIgLVQsIC0tZnN0YWIgPNGI0LvRj9GFPiAgICAgINGE0LDQudC7LCDQsNC70YzRgtC10YDQvdCw0YLQuNCy0L3QuNC5INGJ0L7QtNC+IC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAg0L3QtSDQstC40LrQu9C40LrQsNGC0Lgg0LTQvtC/0L7QvNGW0LbQvdGWINC/0YDQvtCz0YDQsNC80LggbW91bnQuPNGC0LjQvz5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgINCy0LjQstC10YHRgtC4INGC0LDQutC+0LYg0LzRltGC0LrQuCDRhNCw0LnQu9C+0LLQuNGFINGB0LjRgdGC0LXQvFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgINC90LUg0LLQuNC60L7QvdGD0LLQsNGC0Lgg0LfQsNC/0LjRgSDQtNC+IC9ldGMvbXRhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPNGB0L/QuNGB0L7Quj4gICDRgdC/0LjRgdC+0Log0LLRltC00L7QutGA0LXQvNC70LXQvdC40YUg0LrQvtC80LDQvNC4INC/0LDRgNCw0LzQtdGC0YDRltCyINC80L7QvdGC0YPQstCw0L3QvdGPXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA80YHQv9C40YHQvtC6PiDQvtCx0LzQtdC20LjRgtC4INC90LDQsdGW0YAg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LwgKNGB0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPINC3IC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAg0LfQvNC+0L3RgtGD0LLQsNGC0Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMg0YMg0YDQtdC20LjQvNGWINC70LjRiNC1INGH0LjRgtCw0L3QvdGPICg9IC1vIHJvKVxuIgorIiAtdCwgLS10eXBlcyA80YHQv9C40YHQvtC6PiAgICAg0L7QsdC80LXQttC40YLQuCDQvdCw0LHRltGAINGC0LjQv9GW0LIg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LxcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDx0YXJnZXQ+ICAgZXhwbGljaXRseSBzcGVjaWZpZXMgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisiICAgICAtLXNvdXJjZSA80LTQttC10YDQtdC70L4+ICDQstC60LDQt9Cw0YLQuCDQtNC20LXRgNC10LvQviDRj9Cy0L3QviAo0YjQu9GP0YUsINC80ZbRgtC60LAsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA80YbRltC70Yw+ICAgICDQstC60LDQt9Cw0YLQuCDRgtC+0YfQutGDINC80L7QvdGC0YPQstCw0L3QvdGPINGP0LLQvdC+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg0L/QvtCy0ZbQtNC+0LzQuNGC0Lgg0L/RgNC+INC00ZbRlywg0Y/QutGWINCx0YPQtNC1INCy0LjQutC+0L3QsNC90L5cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAg0LfQvNC+0L3RgtGD0LLQsNGC0Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMg0YMg0YDQtdC20LjQvNGWINGH0LjRgtCw0L3QvdGPLdC30LDQv9C40YHRgyAo0YLQuNC/0L7QstC+KVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQttC10YDQtdC70L46XG4iCisiIC1MLCAtLWxhYmVsIDzQvNGW0YLQutCwPiAgICAg0YHQuNC90L7QvdGW0Lwg0LTQviBMQUJFTD080LzRltGC0LrQsD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAg0YHQuNC90L7QvdGW0Lwg0LTQviBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD080LzRltGC0LrQsD4gICAgICAgICAgINCy0LrQsNC30LDRgtC4INC/0YDQuNGB0YLRgNGW0Lkg0LfQsCDQvNGW0YLQutC+0Y4g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICDQstC60LDQt9Cw0YLQuCDQv9GA0LjRgdGC0YDRltC5INC30LAgVVVJRCDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4XG4iCisiIFBBUlRMQUJFTD080LzRltGC0LrQuD4gICAgICAg0LLQutCw0LfQsNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSDQt9CwINC80ZbRgtC60L7RjiDRgNC+0LfQtNGW0LvRg1xuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICDQstC60LDQt9Cw0YLQuCDQv9GA0LjRgdGC0YDRltC5INC30LAgVVVJRCDRgNC+0LfQtNGW0LvRg1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDzQv9GA0LjRgdGC0YDRltC5PiAgICAgICAgICAgICAg0LLQutCw0LfQsNGC0Lgg0L/RgNC40YHRgtGA0ZbQuSDQt9CwINGI0LvRj9GF0L7QvFxuIgorIiA80LrQsNGC0LDQu9C+0LM+ICAgICAgICAgICAgICAg0YLQvtGH0LrQsCDQvNC+0L3RgtGD0LLQsNC90L3RjyDQtNC70Y8g0LzQvtC90YLRg9Cy0LDQvdGMINC/0YDQuNCyJ9GP0LfRg9Cy0LDQvdC90Y8gKNC00LjQsi4gLS1iaW5kL3JiaW5kKVxuIgorIiA80YTQsNC50Ls+ICAgICAgICAgICAgICAgICAg0LfQstC40YfQsNC50L3QuNC5INGE0LDQudC7INC00LvRjyDQvdCw0LvQsNGI0YLRg9Cy0LDQvdC90Y8g0L/QtdGC0LvRjNC+0LLQvtCz0L4g0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisiXG4iCisi0JTRltGXOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICDQt9C80L7QvdGC0YPQstCw0YLQuCDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGDINGW0L3RiNC1INC80ZbRgdGG0LUgKNGC0LUg0YHQsNC80LUsINGJ0L4g0ZYgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAg0L/QtdGA0LXRgdGD0L3Rg9GC0Lgg0L/RltC00ZbRlNGA0LDRgNGF0ZbRjiDQtNC+INGW0L3RiNC+0LPQviDQvNGW0YHRhtGPXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgINC30LzQvtC90YLRg9Cy0LDRgtC4INC/0ZbQtNGW0ZTRgNCw0YDRhdGW0Y4g0ZYg0LLRgdGWINC/0ZbQtNC80L7QvdGC0YPQstCw0L3QvdGPINGDINGW0L3RiNC1INC80ZbRgdGG0LVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgINC/0L7Qt9C90LDRh9C40YLQuCDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGP0Log0YHQv9GW0LvRjNC90YNcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAg0L/QvtC30L3QsNGH0LjRgtC4INC/0ZbQtNGW0ZTRgNCw0YDRhdGW0Y4g0Y/QuiDQv9GW0LTQu9C10LPQu9GDXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgINC/0L7Qt9C90LDRh9C40YLQuCDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGP0Log0LfQsNC60YDQuNGC0YNcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAg0L/QvtC30L3QsNGH0LjRgtC4INC/0ZbQtNGW0ZTRgNCw0YDRhdGW0Y4g0Y/QuiDQvdC10L/RgNC40LTQsNGC0L3RgyDQtNC+INC/0YDQuNCyJ9GP0LfRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgINGA0LXQutGD0YDRgdC40LLQvdC+INC/0L7Qt9C90LDRh9C40YLQuCDQstGB0Y4g0L/RltC00ZbRlNGA0LDRgNGF0ZbRjiDRj9C6INGB0L/RltC70YzQvdGDXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgINGA0LXQutGD0YDRgdC40LLQvdC+INC/0L7Qt9C90LDRh9C40YLQuCDQstGB0Y4g0L/RltC00ZbRlNGA0LDRgNGF0ZbRjiDRj9C6INC/0ZbQtNC70LXQs9C70YNcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAg0YDQtdC60YPRgNGB0LjQstC90L4g0L/QvtC30L3QsNGH0LjRgtC4INCy0YHRjiDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGP0Log0LfQsNC60YDQuNGC0YNcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAg0YDQtdC60YPRgNGB0LjQstC90L4g0L/QvtC30L3QsNGH0LjRgtC4INCy0YHRjiDQv9GW0LTRltGU0YDQsNGA0YXRltGOINGP0Log0L3QtdC/0YDQuNC00LDRgtC90YMg0LTQviDQv9GA0LjQsifRj9C30LrQuFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30L/QvtC00ZbQu9C40YLQuCDQutC+0L3RgtC10LrRgdGCIGxpYm1vdW50IgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGI0LDQsdC70L7QvSDQv9Cw0YDQsNC80LXRgtGA0ZbQsiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzU3Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi0LTQttC10YDQtdC70L4g0LLQutCw0LfQsNC90L4g0LTQtdC60ZbQu9GM0LrQsCDRgNCw0LfRltCyIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1xZF0gL3BhdGgvdG8vZGlyZWN0b3J5XG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstcWRdIC/RiNC70Y/RhS/QtNC+L9C60LDRgtCw0LvQvtCz0YNcbiIKKyIgJTEkcyAteCAvZGV2L9C/0YDQuNGB0YLRgNGW0LlcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICLQn9C10YDQtdCy0ZbRgNC40YLQuCDRh9C4INGUINC60LDRgtCw0LvQvtCzINCw0LHQviDRhNCw0LnQuyDRgtC+0YfQutC+0Y4g0LzQvtC90YLRg9Cy0LDQvdC90Y8uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgINGA0LXQttC40Lwg0LHQtdC3INCy0LjQstC10LTQtdC90L3RjyDQv9C+0LLRltC00L7QvNC70LXQvdGMXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICDQstC40LLQtdGB0YLQuCDQvdC+0LzQtdGAINC/0YDQuNGB0YLRgNC+0Y4g0YTQsNC50LvQvtCy0L7RlyDRgdC40YHRgtC10LzQuCwg0L7RgdC90L7QstC90LjQuTrQtNC+0LTQsNGC0LrQvtCy0LjQuVxuIgorIiAteCwgLS1kZXZubyAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L3QvtC80LXRgCDQv9GA0LjRgdGC0YDQvtGOINCx0LvQvtC60L7QstC+0LPQviDQv9GA0LjRgdGC0YDQvtGOLCDQvtGB0L3QvtCy0L3QuNC5OtC00L7QtNCw0YLQutC+0LLQuNC5XG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMg0L3QtSDRlCDRgtC+0YfQutC+0Y4g0LzQvtC90YLRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzINGUINGC0L7Rh9C60L7RjiDQvNC+0L3RgtGD0LLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80L/RgNC+0LPRgNCw0LzQsD4gWzzQsNGA0LPRg9C80LXQvdGCPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgItCX0LDQv9GD0YHRgtC40YLQuCDQv9GA0L7Qs9GA0LDQvNGDINC3INC/0YDQvtGB0YLQvtGA0LDQvNC4INC90LDQt9CyINGW0L3RiNC40YUg0L/RgNC+0YbQtdGB0ZbQsi5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgINCy0LLQtdGB0YLQuCDRg9GB0ZYg0L/RgNC+0YHRgtC+0YDQuCDQvdCw0LfQslxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICDQv9GA0L7RhtC10YEg0L/RgNC40LfQvdCw0YfQtdC90L3RjyDQtNC70Y8g0L7RgtGA0LjQvNCw0L3QvdGPINC/0YDQvtGB0YLQvtGA0ZbQsiDQvdCw0LfQslxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PNGE0LDQudC7Pl0gICDQstCy0LXRgdGC0Lgg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIg0LzQvtC90YLRg9Cy0LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PNGE0LDQudC7Pl0gICAgINCy0LLQtdGB0YLQuCDQv9GA0L7RgdGC0ZbRgCDQvdCw0LfQsiBVVFMgKNC90LDQt9Cy0LAg0LLRg9C30LvQsCDRgtC+0YnQvilcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PNGE0LDQudC7Pl0gICAgINCy0LLQtdGB0YLQuCDQv9GA0L7RgdGC0ZbRgCDQvdCw0LfQsiBJUEMgU3lzdGVtIFZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgIGVudGVyIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTzRhNCw0LnQuz5dICAgICDQstCy0LXRgdGC0Lgg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIg0LzQtdGA0LXQttGWXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTzRhNCw0LnQuz5dICAgICDQstCy0LXRgdGC0Lgg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIgcGlkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODcKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtQywgLS1jZ3JvdXBbPTzRhNCw0LnQuz5dICDQstCy0LXRgdGC0Lgg0L/RgNC+0YHRgtGW0YAg0L3QsNC30LIgY2dyb3VwXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PNGE0LDQudC7Pl0gICAg0LLQstC10YHRgtC4INC/0YDQvtGB0YLRltGAINC90LDQt9CyINC60L7RgNC40YHRgtGD0LLQsNGH0LBcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorbXNnaWQgIiAtUywgLS1zZXR1aWQgPHVpZD4gICAgIHNldCB1aWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0LggdWlkINGDINCy0LrQsNC30LDQvdC+0LzRgyDQv9GA0L7RgdGC0L7RgNGWINC90LDQt9CyXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4IGdpZCDRgyDQstC60LDQt9Cw0L3QvtC80YMg0L/RgNC+0YHRgtC+0YDRliDQvdCw0LfQslxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkxCittc2dpZCAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzIGRvIG5vdCB0b3VjaCB1aWRzIG9yIGdpZHNcbiIKK21zZ3N0ciAiICAgICAtLXByZXNlcnZlLWNyZWRlbnRpYWxzINC90LUg0YLQvtGA0LrQsNGC0LjRgdGPIHVpZCDQsNCx0L4gZ2lkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz080LrQsNGCPl0gICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7RgNC10L3QtdCy0LjQuSDQutCw0YLQsNC70L7Qs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXcsIC0td2RbPTzQutCw0YI+XSAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC+0LHQvtGH0LjQuSDQutCw0YLQsNC70L7Qs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICDQvdC1INCy0LjQutC+0L3Rg9Cy0LDRgtC4INGA0L7Qt9Cz0LDQu9GD0LbQtdC90L3RjyDQtNC+INCy0LjQutC+0L3QsNC90L3RjyDQv9GA0L7Qs9GA0LDQvNC4IDzQv9GA0L7Qs9GA0LDQvNCwPlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk2Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7QvdGC0LXQutGB0YIgU0VMaW51eCDQstGW0LTQv9C+0LLRltC00L3QviDQtNC+IFBJRCAtLXRhcmdldFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJuZWl0aGVyIGZpbGVuYW1lIG5vciB0YXJnZXQgcGlkIHN1cHBsaWVkIGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQvdGWINC90LDQt9Cy0Lgg0YTQsNC50LvQsCDQvdGWIHBpZCDQv9GA0LjQt9C90LDRh9C10L3QvdGPINC00LvRjyAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggdWlkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCBnaWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzQ5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiCittc2dzdHIgItC90LUg0LLQutCw0LfQsNC90L4gUElEINC/0YDQuNC30L3QsNGH0LXQvdC90Y8g0LTQu9GPIC0tZm9sbG93LWNvbnRleHQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgJWQgU0VMaW51eCBjb250ZXh0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LrQvtC90YLQtdC60YHRgiBTRUxpbnV4ICVkIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7QvdGC0LXQutGB0YIg0LLQuNC60L7QvdCw0L3QvdGPINGDINC30L3QsNGH0LXQvdC90Y8gJXMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICLQvdC1INCy0LrQsNC30LDQvdC+IFBJRCDQv9GA0LjQt9C90LDRh9C10L3QvdGPINC00LvRjyAtLWFsbCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0L/QvtCy0YLQvtGA0L3QvtGXINC/0YDQuNCyJ9GP0LfQutC4INC00L4g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiDCqyVzwrsg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQxCittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INC/0L7RgtC+0YfQvdC40Lkg0YDQvtCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQ4Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQt9C80ZbQvdC4INC60LDRgtCw0LvQvtCz0YMg0L3QsCDQutCw0YLQsNC70L7QsyDQtyDQtNC10YHQutGA0LjQv9GC0L7RgNC+0Lwg0YTQsNC50LvQsCDQutC+0YDQtdC90LXQstC+0LPQviDQutCw0YLQsNC70L7Qs9GDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGNocm9vdCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQt9C80ZbQvdC4INC60LDRgtCw0LvQvtCz0YMg0L3QsCDQutCw0YLQsNC70L7QsyDQtyDQtNC10YHQutGA0LjQv9GC0L7RgNC+0Lwg0YTQsNC50LvQsCDRgNC+0LHQvtGH0L7Qs9C+INC60LDRgtCw0LvQvtCz0YMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDcyIHN5cy11dGlscy9zZXRwcml2LmM6OTYyIHN5cy11dGlscy9zZXRwcml2LmM6OTY5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgc2V0Z3JvdXBzIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0g0L3QvtCy0LjQuV/QutC+0YDRltC90Ywg0LzRltGB0YbQtV/RgdGC0LDRgNC+0LPQvlxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM4Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgItCX0LzRltC90LjRgtC4INC60L7RgNC10L3QtdCy0YMg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMuXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzRltC90LjRgtC4INC60L7RgNC10L3QtdCy0YMg0YLQtdC60YMg0Lcgwqslc8K7INC90LAgwqslc8K7IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1Cittc2dpZCAiYWRkcmVzcyBzcGFjZSBsaW1pdCIKK21zZ3N0ciAi0L7QsdC80LXQttC10L3QvdGPINC/0YDQvtGB0YLQvtGA0YMg0LDQtNGA0LXRgSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDRhNCw0LnQu9CwINGP0LTRgNCwIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgItCn0LDRgSDQv9GA0L7RhtC10YHQvtGA0LAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICLRgdC10LrRg9C90LQiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICLQvNCw0LrRgS4g0YDQvtC30LzRltGAINC00LDQvdC40YUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICLQvNCw0LrRgS4g0YDQvtC30LzRltGAINGE0LDQudC70LAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAi0LTQvtGB0Y/Qs9C90YPRgtC+INC80LDQutGB0LjQvNCw0LvRjNC90L7RlyDQutGW0LvRjNC60L7RgdGC0ZYg0LHQu9C+0LrRg9Cy0LDQvdGMINGE0LDQudC70ZbQsiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorbXNnaWQgImxvY2tzIgorbXNnc3RyICLQsdC70L7QutGD0LLQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDQv9GA0L7RgdGC0ZbRgCDQsNC00YDQtdGBINCx0LvQvtC60YPQstCw0L3QvdGPINGDINC/0LDQvCfRj9GC0ZYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIKK21zZ2lkICJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQsNC50YLRltCyINGDIG0t0YfQtdGA0LPQsNGFIFBPU0lYIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgzCittc2dpZCAibWF4IG5pY2UgcHJpbyBhbGxvd2VkIHRvIHJhaXNlIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC1INC30L3QsNGH0LXQvdC90Y8g0L/RgNGW0L7RgNC40YLQtdGC0L3QvtGB0YLRliBuaWNlLCDRj9C60LUg0LzQvtC20L3QsCDQstGB0YLQsNC90L7QstC40YLQuCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAi0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LLRltC00LrRgNC40YLQuNGFINGE0LDQudC70ZbQsiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgImZpbGVzIgorbXNnc3RyICLRhNCw0LnQu9C4IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1Cittc2dpZCAibWF4IG51bWJlciBvZiBwcm9jZXNzZXMiCittc2dzdHIgItC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINC/0YDQvtGG0LXRgdGW0LIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgItC/0YDQvtGG0LXRgdC4IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINC+0L/QtdGA0LDRgtC40LLQvdC+0LPQviDQvdCw0LHQvtGA0YMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKK21zZ2lkICJtYXggcmVhbC10aW1lIHByaW9yaXR5IgorbXNnc3RyICLQvNCw0LrRgS4g0L/RgNGW0L7RgNC40YLQtdGCINGA0LXQsNC70YzQvdC+0LPQviDRh9Cw0YHRgyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAi0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPINC00LvRjyDQt9Cw0LLQtNCw0L3RjCDRgNC10LDQu9GM0L3QvtCz0L4g0YfQsNGB0YMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgItC80LrRgSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICLQvNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDRgdC40LPQvdCw0LvRltCyINGDINGH0LXRgNC30ZYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICLRgdC40LPQvdCw0LvQuCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICLQvNCw0LrRgS4g0YDQvtC30LzRltGAINGB0YLQtdC60LAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTIzCittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDRgNC10YHRg9GA0YHRgyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi0L7Qv9C40YEg0YDQtdGB0YPRgNGB0YMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAi0Lwn0Y/QutC1INC+0LHQvNC10LbQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAi0LbQvtGA0YHRgtC60LUg0L7QsdC80LXQttC10L3QvdGPICjRgdGC0LXQu9GPKSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjcKK21zZ2lkICJ1bml0cyIKK21zZ3N0ciAi0L7QtNC40L3QuNGG0YwiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFstcCBQSURdXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0g0JrQntCc0JDQndCU0JBcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAi0J/QvtC60LDQt9Cw0YLQuCDQsNCx0L4g0LfQvNGW0L3QuNGC0Lgg0L7QsdC80LXQttC10L3QvdGPINC/0YDQvtGG0LXRgdGDINGJ0L7QtNC+INGA0LXRgdGD0YDRgdGW0LIuXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCX0LDQs9Cw0LvRjNC90ZYg0L/QsNGA0LDQvNC10YLRgNC4OlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3MAorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQv9GA0L7RhtC10YHRg1xuIgorIiAtbywgLS1vdXRwdXQgPNGB0L/QuNGB0L7Quj4gINCy0LjQt9C90LDRh9C40YLQuCDRgdC/0LjRgdC+0Log0YHRgtC+0LLQv9GH0LjQutGW0LIg0LTQu9GPINCy0LjQstC10LTQtdC90L3Rj1xuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQt9Cw0LPQvtC70L7QstC60ZbQsiDRgdGC0L7QstC/0YfQuNC60ZbQslxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0LHQtdC3INC+0LHRgNC+0LHQutC4XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAg0YDQtdC20LjQvCDQtNC+0LrQu9Cw0LTQvdC+0LPQviDQstC40LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorItCf0LDRgNCw0LzQtdGC0YDQuCDRgNC10YHRg9GA0YHRltCyOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OQorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDRgdGC0LLQvtGA0LXQvdC40YUg0YTQsNC50LvRltCyINGP0LTRgNCwXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDRgdC10LPQvNC10L3RgtCwINC00LDQvdC40YUg0L/RgNC+0YbQtdGB0YNcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdCwINC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0Ywg0L/RgNC+0YbQtdGB0YNcbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdC40Lkg0YDQvtC30LzRltGAINGE0LDQudC70ZbQsiwg0Y/QutGWINC80L7QttC1INC30LDQv9C40YHRg9Cy0LDRgtC4INC/0YDQvtGG0LXRgVxuIgorIiAtaSwgLS1zaWdwZW5kaW5nICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINGB0LjQs9C90LDQu9GW0LIg0YMg0YfQtdGA0LfRllxuIgorIiAtbCwgLS1tZW1sb2NrICAgICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDQvtCxJ9GU0LwsINGP0LrQuNC5INC/0YDQvtGG0LXRgSDQvNC+0LbQvdCwINC30LDQsdC70L7QutGD0LLQsNGC0Lgg0YMg0L/QsNC8J9GP0YLRllxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LjQuSDQvtCxJ9GU0Lwg0L7Qv9C10YDQsNGC0LjQstC90L7Qs9C+INC90LDQsdC+0YDRg1xuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgINC80LDQutGB0LjQvNCw0LvRjNC90LAg0LrRltC70YzQutGW0YHRgtGMINCy0ZbQtNC60YDQuNGC0LjRhSDRhNCw0LnQu9GW0LJcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDQsdCw0LnRgtGW0LIg0YMg0YfQtdGA0LPQsNGFINC/0L7QstGW0LTQvtC80LvQtdC90YwgUE9TSVhcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdCwINC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0Ywg0YMg0L/Qu9Cw0L3Rg9Cy0LDQvdC90ZYg0YDQtdCw0LvRjNC90L7Qs9C+INGH0LDRgdGDXG4iCisiIC1zLCAtLXN0YWNrICAgICAgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INGA0L7Qt9C80ZbRgCDRgdGC0LXQutCwXG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC5INC/0YDQvtGG0LXRgdC+0YDQvdC40Lkg0YfQsNGBINGDINGB0LXQutGD0L3QtNCw0YVcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICDQvNCw0LrRgdC40LzQsNC70YzQvdCwINC60ZbQu9GM0LrRltGB0YLRjCDQv9GA0L7RhtC10YHRltCyINC60L7RgNC40YHRgtGD0LLQsNGH0LBcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICDQvtCxJ9GU0Lwg0LLRltGA0YLRg9Cw0LvRjNC90L7RlyDQv9Cw0Lwn0Y/RgtGWXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAg0LzQsNC60YHQuNC80LDQu9GM0L3QsCDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQu9C+0LrRg9Cy0LDQvdGMINGE0LDQudC70ZbQslxuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgINC/0YDQvtGG0LXRgdC+0YDQvdC40Lkg0YfQsNGBINGDINC80ZbQutGA0L7RgdC10LrRg9C90LTQsNGFLCDQt9Cw0L/Qu9Cw0L3QvtCy0LDQvdC40Lkg0LTQu9GPINC/0YDQvtGG0LXRgdGDXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg0YMg0YDQtdC20LjQvNGWINC/0LvQsNC90YPQstCw0L3QvdGPINGA0LXQsNC70YzQvdC+0LPQviDRh9Cw0YHRg1xuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgItCx0LXQtyDQvtCx0LzQtdC20LXQvdGMIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC/0L7Qv9C10YDQtdC00L3RlCDQvtCx0LzQtdC20LXQvdC90Y8gJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzU1CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiCittc2dzdHIgItC30L3QsNGH0LXQvdC90Y8g0Lwn0Y/QutC+0LPQviDQvtCx0LzQtdC20LXQvdC90Y8sICVzLCDQvdC1INC80L7QttC1INC/0LXRgNC10LLQuNGJ0YPQstCw0YLQuCDQt9C90LDRh9C10L3QvdGPINC20L7RgNGB0YLQutC+0LPQviDQvtCx0LzQtdC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgItCd0L7QstC1INC+0LHQvNC10LbQtdC90L3RjyAlcyDQtNC70Y8gcGlkICVkOiAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC+0LHQvNC10LbQtdC90L3RjyDRgNC10YHRg9GA0YHRgyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQvtCx0LzQtdC20LXQvdC90Y8g0YDQtdGB0YPRgNGB0YMgJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC+0LHQvNC10LbQtdC90L3RjyAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODQKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YAgLS1waWQg0LzQvtC20L3QsCDQstC60LDQt9GD0LLQsNGC0Lgg0LvQuNGI0LUg0L7QtNC40L0g0YDQsNC3IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgNC4IC0tcGlkINGWINCa0J7QnNCQ0J3QlNCQINC90LUg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0L7QtNC90L7Rh9Cw0YHQvdC+IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L/RgNC+0YTRltC70Y7QstCw0L3QvdGPINGP0LTRgNCwLlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDzRhNCw0LnQuyDQutCw0YDRgtC4PiAo0YLQuNC/0L7QstC40LzQuCDRlCDCqyVzwrsg0ZZcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIMKrJXPCuylcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA80L/RgNC+0YTRltC70Yw+ICAgKNGC0LjQv9C+0LLQuNC8INGUIMKrJXPCuylcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIC1NLCAtLW11bHRpcGxpZXIgPG0+ICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LzQvdC+0LbQvdC40Log0L/RgNC+0YTRltC70Y7QstCw0L3QvdGPINGDINC30L3QsNGH0LXQvdC90Y8gPG0+XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNworbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIHByaW50IG9ubHkgaW5mbyBhYm91dCB0aGUgc2FtcGxpbmcgc3RlcFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQu9C40YjQtSDQtNCw0L3RliDRidC+0LTQviDQutGA0L7QutGDINC00LjRgdC60YDQtdGC0LjQt9Cw0YbRltGXXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQtNC+0LrQu9Cw0LTQvdGWINC00LDQvdGWXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0LLRgdGWINGB0LjQvNCy0L7Qu9C4LCDQvdCw0LLRltGC0Ywg0Y/QutGJ0L4g0LrRltC70YzQutGW0YHRgtGMINC00L7RgNGW0LLQvdGO0ZQg0L3Rg9C70LXQstGWXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMAorbXNnaWQgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKK21zZ3N0ciAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L7QutGA0LXQvNGWINC30L3QsNGH0LXQvdC90Y8g0L/QvtC30L3QsNGH0L7QuiDQs9GW0YHRgtC+0LPRgNCw0LzQuFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L7QutGA0LXQvNGWINC70ZbRh9C40LvRjNC90LjQutC4INGDINGE0YPQvdC60YbRltGP0YVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICDQt9Cw0L3Rg9C70LjRgtC4INCy0YHRliDQu9GW0YfQuNC70YzQvdC40LrQuCAo0LvQuNGI0LUg0LTQu9GPIHJvb3QpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMworbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICDQstC40LzQutC90YPRgtC4INCw0LLRgtC+0LzQsNGC0LjRh9C90LUg0LLQuNC30L3QsNGH0LXQvdC90Y8g0L/QvtGA0Y/QtNC60YMg0LHQsNC50YLRltCyXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0L/QuNGB0YMgJXMiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI3MAorbXNnaWQgIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuIFVzZSAtbiB0byBmb3JjZSBuYXRpdmUgYnl0ZSBvcmRlci4iCittc2dzdHIgItCS0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQvtCx0LXRgNC90LXQvdC40Lkg0L/QvtGA0Y/QtNC+0Log0LHQsNC50YLRltCyLiDQodC60L7RgNC40YHRgtCw0LnRgtC10YHRjyAtbiwg0YnQvtCxINC/0YDQuNC80YPRgdC+0LLQviDQstGB0YLQsNC90L7QstC40YLQuCDQv9GA0LjRgNC+0LTQvdC40Lkg0L/QvtGA0Y/QtNC+0Log0LHQsNC50YLRltCyLiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgItCa0YDQvtC6X9C/0YDQvtGE0ZbQu9GO0LLQsNC90L3RjzogJXVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzAxIHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSk6INC/0L7QvNC40LvQutC+0LLQuNC5INGA0Y/QtNC+0Log0LrQsNGA0YLQuCIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgXCJfc3RleHRcIiBpbiAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0Lggwqtfc3RleHTCuyDRgyAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICLQsNC00YDQtdGB0LAg0L/RgNC+0YTRltC70Y4g0L/QvtC30LAg0LTRltCw0L/QsNC30L7QvdC+0LwuINCf0L7QvNC40LvQutC+0LLQuNC5INGE0LDQudC7INC60LDRgNGC0Lg/IgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDMKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAi0LfQsNCz0LDQu9C+0LwiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgItGW0LQuINC/0YDQvtGG0LXRgdGDIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICLRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQs9GA0YPQv9C4INC/0YDQvtGG0LXRgdGW0LIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPNC/0YDRltC+0YDQuNGC0LXRgj4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPNC/0YDRltC+0YDQuNGC0LXRgj4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDzQv9GA0ZbQvtGA0LjRgtC10YI+ICAtdXwtLXVzZXIgPNC60L7RgNC40YHRgtGD0LLQsNGHPi4uLlxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NjgKK21zZ2lkICJBbHRlciB0aGUgcHJpb3JpdHkgb2YgcnVubmluZyBwcm9jZXNzZXMuXG4iCittc2dzdHIgItCX0LzRltC90LjRgtC4INC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0Ywg0LfQsNC/0YPRidC10L3QuNGFINC/0YDQvtGG0LXRgdGW0LIuXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiAtbiwgLS1wcmlvcml0eSA8bj4gICAgINCy0LrQsNC30LDRgtC4INC30L3QsNGH0LXQvdC90Y8g0L/RgNC40YDQvtGB0YLRgyDQv9GA0ZbQvtGA0LjRgtC10YLQvdC+0YHRgtGWXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDzRltC0PiAgICAgICAgINCy0LLQsNC20LDRgtC4INCw0YDQs9GD0LzQtdC90YIg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8INC/0YDQvtGG0LXRgdGDICjRgtC40L/QvtCy0L4pXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgINCy0LLQsNC20LDRgtC4INCw0YDQs9GD0LzQtdC90YIg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQvtC8INCz0YDRg9C/0Lgg0L/RgNC+0YbQtdGB0ZbQslxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA80ZbQvOKAmdGPPnw80ZbQtD4g0LLQstCw0LbQsNGC0Lgg0LDRgNCz0YPQvNC10L3RgiDRltC80LXQvdC10Lwg0LDQsdC+INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGA0L7QvCDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQv9GA0ZbQvtGA0LjRgtC10YLQvdC+0YHRgtGWINC00LvRjyAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQt9C90LDRh9C10L3QvdGPINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYg0LTQu9GPICVkICglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpINC/0L7Qv9C10YDQtdC00L3RlCDQt9C90LDRh9C10L3QvdGPINC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYgLSAlZCwg0L3QvtCy0LUg0LfQvdCw0YfQtdC90L3RjyDQv9GA0ZbQvtGA0LjRgtC10YLQvdC+0YHRgtGWIC0gJWRcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdCwINC/0YDRltC+0YDQuNGC0LXRgtC90ZbRgdGC0YwsIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjE3OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDQutC+0YDQuNGB0YLRg9Cy0LDRhyAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQtSDQt9C90LDRh9C10L3QvdGPICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDQv9GA0LjRgdGC0YDQvtGOINGP0LTRgNCwIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgItC30L3QsNGH0LXQvdC90Y8g0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YDQsCDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgItC90LDQt9Cy0LAg0YLQuNC/0YMg0L/RgNC40YHRgtGA0L7Rjiwg0Y/QutC+0Y4g0LzQvtC20L3QsCDRgdC60L7RgNC40YHRgtCw0YLQuNGB0Y8g0Y/QuiDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgNC+0LwiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKK21zZ2lkICJkZXZpY2UgdHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi0L7Qv9C40YEg0YLQuNC/0YMg0L/RgNC40YHRgtGA0L7RjiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMworbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAi0YHRgtCw0L0g0L/RgNC+0LPRgNCw0LzQvdC+0LPQviDQsdC70L7QutGDIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTM0Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICLRgdGC0LDQvSDQsNC/0LDRgNCw0YLQvdC+0LPQviDQsdC70L7QutGDIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGB0YLQsNC9INCx0LXQtyDQsdC70L7QutGD0LLQsNC90L3RjyAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INGA0L7Qt9C80ZbRgCDQv9C+0LTRltGXIHJma2lsbDogJXp1IDwgJWQiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7Qv9C40YLQsNGC0LggJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXIiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorbXNnaWQgImJsb2NrZWQiCittc2dzdHIgItC30LDQsdC70L7QutC+0LLQsNC90L4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorbXNnaWQgInVuYmxvY2tlZCIKK21zZ3N0ciAi0YDQvtC30LHQu9C+0LrQvtCy0LDQvdC+IgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDE1IHN5cy11dGlscy9yZmtpbGwuYzo0ODAgc3lzLXV0aWxzL3Jma2lsbC5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0g0LrQvtC80LDQvdC00LAgW9GW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAIC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAi0J/RgNC+0LPRgNCw0LzQsCDQtNC70Y8g0LLQvNC40LrQsNC90L3RjyDRgtCwINCy0LjQvNC40LrQsNC90L3RjyDQsdC10LfQtNGA0L7RgtC+0LLQuNGFINC/0YDQuNGB0YLRgNC+0ZfQsi5cbiIKKworIy4gVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisjLiB0aGVtIGFzIGFkZGl0aW9uYWwgZmllbGQgYWZ0ZXIgaWRlbnRpZmllciBpcyBmaW5lLCBmb3IgZXhhbXBsZQorIy4gKgorIy4gbGlzdCAgIFtpZGVudGlmaWVyXSAgIChsaXN0YSBbdGFya2VubmVdKQorIy4KKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTIKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIgaGVscCAo0LTQvtCy0ZbQtNC60LApXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTMKK21zZ2lkICIgZXZlbnRcbiIKK21zZ3N0ciAiIGV2ZW50ICjQv9C+0LTRltGPKVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk0Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAiIGxpc3QgICBbaWRlbnRpZmllcl0gKNGB0L/QuNGB0L7QuiBb0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YBdKVxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1Cittc2dpZCAiIGJsb2NrICAgaWRlbnRpZmllclxuIgorbXNnc3RyICIgYmxvY2sgICBpZGVudGlmaWVyICjQsdC70L7QutGD0LLQsNGC0Lgg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YApXG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKK21zZ2lkICIgdW5ibG9jayBpZGVudGlmaWVyXG4iCittc2dzdHIgIiB1bmJsb2NrIGlkZW50aWZpZXIgKNGA0L7Qt9Cx0LvQvtC60YPQstCw0YLQuCDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDEKK21zZ2lkICJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIKK21zZ3N0ciAi0J/QtdGA0LXQstC10YHRgtC4INGB0LjRgdGC0LXQvNGDINC00L4g0YHRgtCw0L3RgyDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPINC00L4g0LLQutCw0LfQsNC90L7Qs9C+INGH0LDRgdGDINC/0YDQvtCx0YPQtNC20LXQvdC90Y8uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0Cittc2dpZCAiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgINC/0YDQvtGH0LjRgtCw0YLQuCDRgNC10LbQuNC8INCz0L7QtNC40L3QvdC40LrQsCDQtyDRhNCw0LnQu9CwINC60L7RgNC40LPRg9Cy0LDQvdC90Y8gKNGC0LjQv9C+0LLQsCDQv9C+0LLQtdC00ZbQvdC60LApXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorIiAtQSwgLS1hZGpmaWxlIDzRhNCw0LnQuz4gICAgINCy0LjQt9C90LDRh9Cw0ZQg0YjQu9GP0YUg0LTQviDRhNCw0LnQu9CwINC60L7RgNC40LPRg9Cy0LDQvdC90Y87XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgINGC0LjQv9C+0LLQuNC8INGUICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPNGH0LDRgT4gICAgICAgICDRh9Cw0YEg0LTQsNGC0Lgg0YfQsNGB0L7QstC+0Zcg0L/QvtC30L3QsNGH0LrQuCDQtNC70Y8g0L/RgNC+0LHRg9C00LbQtdC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOQorbXNnaWQgIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCittc2dzdHIgIiAtZCwgLS1kZXZpY2UgPNC/0YDQuNGB0YLRgNGW0Lk+ICDQstC40LHRgNCw0YLQuCDQv9GA0LjRgdGC0YDRltC5IHJ0YyAocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICDQstC40LrQvtC90LDRgtC4INCy0YHRliDQtNGW0ZcsINC+0LrRgNGW0Lwg0L/RgNC40YHQuNC/0LvRj9C90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUINC70L7QutCw0LvRjNC90LjQuSDRh9Cw0YHQvtCy0LjQuSDQv9C+0Y/RgVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0LTQvtGB0YLRg9C/0L3QuNGFINGA0LXQttC40LzRltCyXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA80YDQtdC20LjQvD4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiDRgNC10LbQuNC8INC/0YDQuNGB0LjQv9C70Y/QvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIC1zLCAtLXNlY29uZHMgPNGB0LXQutGD0L3QtNC4PiAg0LrRltC70YzQutGW0YHRgtGMINGB0LXQutGD0L3QtCDQtNC+INC/0YDQuNGB0LjQv9C70Y/QvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTUKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA80YfQsNGBPiAgICAgICAgICDRh9Cw0YEg0LTQviDQv9GA0L7QsdGD0LTQttC10L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE2Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMgdXNlcyBVVENcbiIKK21zZ3N0ciAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUIFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgINGA0LXQttC40Lwg0LTQvtC60LvQsNC00L3QuNGFINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINGH0LjRgtCw0L3QvdGPINGH0LDRgdGDIHJ0YyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINGH0LjRgtCw0L3QvdGPINC30L3QsNGH0LXQvdC90Y8g0YHQuNGB0YLQtdC80L3QvtCz0L4g0YfQsNGB0YMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8g0YfQsNGB0YMgcnRjINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQstGB0YLQsNC90L7QstC70LXQvdC90Y8g0L3QsNCz0LDQtNGD0LLQsNC90L3RjyDRidC+0LTQviDQv9GA0L7QsdGD0LTQttC10L3QvdGPIHJ0YyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzQKK21zZ2lkICJkaXNjYXJkaW5nIHN0ZGluIgorbXNnc3RyICLQstGW0LTQutC40LTQsNGU0LzQviBzdGRpbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgItC90LXQvtGH0ZbQutGD0LLQsNC90LjQuSDRgtGA0LXRgtGW0Lkg0YDRj9C00L7QuiDRgzogJXM6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINGH0LjRgtCw0L3QvdGPINC90LDQs9Cw0LTRg9Cy0LDQvdC90Y8gcnRjINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgItC90LDQs9Cw0LTRg9Cy0LDQvdC90Y86INCy0LjQvNC60L3QtdC90L5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNTYKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICLRgdC/0YDQvtCx0LAg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPINGH0LDRgdGDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICLQvdCw0LPQsNC00YPQstCw0L3QvdGPOiDQviAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuDogJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDRgdGC0LDQvSDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPIMKrJXPCuyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRgdC10LrRg9C90LQiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDk3Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YfQsNGB0YMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVzOiDQv9GA0LjQv9GD0YHQutCw0ZTRgtGM0YHRjywg0YnQviBSVEMg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUIFVUQy4uLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0ZTQvNC+INCy0YHQtdGB0LLRltGC0L3RltC5INGH0LDRgSAoVVRDKS5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzAKK21zZ2lkICJVc2luZyBsb2NhbCB0aW1lLlxuIgorbXNnc3RyICLQktC40LrQvtGA0LjRgdGC0L7QstGD0ZTQvNC+INC80ZbRgdGG0LXQstC40Lkg0YfQsNGBLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICLRgdC70ZbQtCDQstC60LDQt9Cw0YLQuCDRh9Cw0YEg0L/RgNC+0LHRg9C00LbQtdC90L3RjyAo0LTQuNCyLiDQv9Cw0YDQsNC80LXRgtGA0LggLS1zZWNvbmRzLCAtLXRpbWUg0ZYgLS1kYXRlKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzINC90LUg0LLQuNC30L3QsNGH0LXQvdC+INC00LvRjyDQv9C+0LTRltC5INC/0YDQvtCx0YPQtNC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAi0L3QsNCz0LDQtNGD0LLQsNC90L3RjyAlbGQsINGB0LjRgdGCX9GH0LDRgSAlbGQsINGH0LDRgV9ydGMgJWxkLCDRgdC10LrRg9C90LTQuCAldVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1MworIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgItGH0LDRgSDQstC20LUg0L3QtSDQv9C+0LLQtdGA0L3QtdGC0YzRgdGPINC00L4gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiDQv9GA0L7QsdGD0LTQttC10L3QvdGPINC90LAg0L7RgdC90L7QstGWICVzINC+ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczog0L/RgNC+0LHRg9C00LbQtdC90L3RjyDQtyDCqyVzwrsg0L3QsCDQvtGB0L3QvtCy0ZYgJXMg0L4gJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAi0YDQtdC20LjQvCDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPOiDQvdGWOyDQstC40YXQvtC00LjQvNC+XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTg2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogb2ZmOyBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAi0YDQtdC20LjQvCDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPOiDQstC40LzQutC90LXQvdC+OyDQstC40LrQvtC90YPRlNC80L4gJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAi0YDQtdC20LjQvCDQv9GA0LjRgdC40L/Qu9GP0L3QvdGPOiDRg9Cy0ZbQvNC60L3QtdC90L47INGH0LjRgtCw0ZTQvNC+IHJ0Y1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINGH0LjRgtCw0L3QvdGPIHJ0YyDQt9Cw0LLQtdGA0YjQuNC70LDRgdGPINC90LXQstC00LDQu9C+IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICLRgNC10LbQuNC8INC/0YDQuNGB0LjQv9C70Y/QvdC90Y86INCy0LjQvNC60L3QtdC90L47INCy0LjQvNC40LrQsNGU0LzQviDQvdCw0LPQsNC00YPQstCw0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICLRgNC10LbQuNC8INC/0YDQuNGB0LjQv9C70Y/QvdC90Y86INC/0L7QutCw0Lc7INCy0LjQstC+0LTQuNC80L4g0LTQsNC90ZYg0L3QsNCz0LDQtNGD0LLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICLRgNC10LbQuNC8INC/0YDQuNGB0LjQv9C70Y/QvdC90Y86ICVzOyDQv9GA0LjRgdC40L/Qu9GP0ZTQvNC+INGB0LjRgdGC0LXQvNGDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3Cittc2dpZCAiZGlzYWJsZSBydGMgYWxhcm0gaW50ZXJydXB0IGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0LjQvNC40LrQsNC90L3RjyDQv9C10YDQtdGA0LjQstCw0L3QvdGPINC90LDQs9Cw0LTRg9Cy0LDQvdC90Y8gcnRjINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAi0JLQvNC40LrQsNGU0LzQviAlcy5cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGFyY2g+IFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIDzQsNGA0YXRltGC0LXQutGC0YPRgNCwPiBb0L/QsNGA0LDQvNC10YLRgNC4XSBbPNC/0YDQvtCz0YDQsNC80LA+IFs80LDRgNCz0YPQvNC10L3Rgj4uLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAi0JfQvNGW0L3QuNGC0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3RgyDQsNGA0YXRltGC0LXQutGC0YPRgNGDINGWINCy0YHRgtCw0L3QvtCy0LjRgtC4INC/0YDQsNC/0L7RgNGG0ZYg0ZbQvdC00LjQstGW0LTRg9Cw0LvRjNC90L7RgdGC0ZYuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0LggQUREUl9MSU1JVF8zMkJJVFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgINC30YDQvtCx0LjRgtC4INGC0LDQuiwg0YnQvtCxINCy0LrQsNC30ZbQstC90LjQutC4INGE0YPQvdC60YbRltC5INCy0LrQsNC30YPQstCw0LvQuCDQvdCwINC00LXRgdC60YDQuNC/0YLQvtGA0LhcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDAKK21zZ2lkICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIHR1cm5zIG9uIFNIT1JUX0lOT0RFXG4iCittc2dzdHIgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAg0YPQstGW0LzQutC90YPRgtC4IFNIT1JUX0lOT0RFXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQg0LfQvNGW0L3QuNGC0Lgg0YHQv9C+0YHRltCxINGA0L7Qt9C/0L7QtNGW0LvRgyDQstGW0YDRgtGD0LDQu9GM0L3QvtGXINC/0LDQvCfRj9GC0ZZcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgINCy0LjQvNC60L3Rg9GC0Lgg0LLQuNC/0LDQtNC60L7QstGW0YHRgtGMINCy0ZbRgNGC0YPQsNC70YzQvdC+0LPQviDQv9GA0L7RgdGC0L7RgNGDINCw0LTRgNC10YFcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0LggV0hPTEVfU0VDT05EU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAg0YPQstGW0LzQutC90YPRgtC4IFNUSUNLWV9USU1FT1VUU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICDRg9Cy0ZbQvNC60L3Rg9GC0LggUkVBRF9JTVBMSUVTX0VYRUNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAg0YPQstGW0LzQutC90YPRgtC4IE1NQVBfUEFHRV9aRVJPXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIgLTMsIC0tM2diICAgICAgICAgICAgICAgINC+0LHQvNC10LbQuNGC0Lgg0LLQuNC60L7RgNC40YHRgtCw0L3QuNC5INC/0YDQvtGB0YLRltGAINCw0LTRgNC10YEg0LzQsNC60YHQuNC80LDQu9GM0L3QuNC8INC30L3QsNGH0LXQvdC90Y/QvCDRgyAzINCT0JFcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAg0ZbQs9C90L7RgNGD0ZTRgtGM0YHRjyAo0LvQuNGI0LUg0LTQu9GPINC30LLQvtGA0L7RgtC90L7RlyDRgdGD0LzRltGB0L3QvtGB0YLRlilcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0LggVU5BTUUyNlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgdC/0LjRgdC+0Log0L/QsNGA0LDQvNC10YLRgNGW0LIsINGP0LrRliDQstC40LrQvtGA0LjRgdGC0LDQvdC+XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L/RgNC40LTQsNGC0L3RliDQtNC70Y8g0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINCw0YDRhdGW0YLQtdC60YLRg9GA0Lgg0ZYg0LLQuNC50YLQuFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIKK21zZ3N0ciAiJXM6INC90LXRgNC+0LfQv9GW0LfQvdCw0L3QsCDQsNGA0YXRltGC0LXQutGC0YPRgNCwIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgItCv0LTRgNC+INC90LUg0LzQvtC20LUg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDRgNGF0ZbRgtC10LrRgtGD0YDRgyAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyODYKK21zZ2lkICJOb3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAi0J3QtdC00L7RgdGC0LDRgtC90YzQviDQsNGA0LPRg9C80LXQvdGC0ZbQsiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi0J3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRgdC/0LXRhtGW0LDQu9GW0LfQsNGG0ZbRjiDRgyDQt9C90LDRh9C10L3QvdGPICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgItC90LXQstGW0LTQvtC80LjQuSDQv9Cw0YDQsNC80LXRgtGAIMKrLS1saXN0wrsiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAi0L3QtSDQstC60LDQt9Cw0L3QviDQsNGA0LPRg9C80LXQvdGC0YMg0LDRgNGF0ZbRgtC10LrRgtGD0YDQuCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRgdC/0LXRhtGW0LDQu9GW0LfQsNGG0ZbRjiDRgyDQt9C90LDRh9C10L3QvdGPICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAi0JLQuNC60L7QvdCw0YLQuCDQutC+0LzQsNC90LTRgyDCqyVzwrsuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC/0YDQvtCz0YDQsNC80LA+IFs80LDRgNCz0YPQvNC10L3Rgj4uLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgItCX0LDQv9GD0YHRgtC40YLQuCDQv9GA0L7Qs9GA0LDQvNGDINC3INGW0L3RiNC40LzQuCDQv9Cw0YDQsNC80LXRgtGA0LDQvNC4INC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZYuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIyCittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDQv9C+0YLQvtGH0L3QuNC5INGB0YLQsNC9ICjRliDQvdGW0YfQvtCz0L4g0L3QtSDQstC40LrQvtC90YPQstCw0YLQuClcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICDQt9Cw0LHQvtGA0L7QvdC40YLQuCDQvdCw0LTQsNC90L3RjyDQvdC+0LLQuNGFINC/0YDQsNCyINC00L7RgdGC0YPQv9GDXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0tYW1iaWVudC1jYXBzIDzQvNC+0LbQuywuLi4+ICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LfQvtCy0L3RltGI0L3RliDQvNC+0LbQu9C40LLQvtGB0YLRllxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA80LzQvtC20LssLi4uPiAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGD0YHQv9Cw0LTQutC+0LLRg9Cy0LDQvdGWINC80L7QttC70LjQstC+0YHRgtGWXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIC0tYm91bmRpbmctc2V0IDzQvNC+0LbQuz4gICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQvtCx0LzQtdC20YPQstCw0LvRjNC90LjQuSDQvdCw0LHRltGAINC80L7QttC70LjQstC+0YHRgtC10LlcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjcKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHQv9GA0LDQstC20L3RltC5IHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOAorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC10YTQtdC60YLQuNCy0L3QuNC5IHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgdC/0YDQsNCy0LbQvdGW0LkgZ2lkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LXRhNC10LrRgtC40LLQvdC40LkgZ2lkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMxCittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YHQv9GA0LDQstC20L3RltC5INGC0LAg0LXRhNC10LrRgtC40LLQvdC40LkgdWlkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMyCittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGB0L/RgNCw0LLQttC90Y4g0YLQsCDQtdGE0LXQutGC0LjQstC90YMgZ2lkXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMzCittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgINGB0L/QvtGA0L7QttC90LjRgtC4INGB0L/QuNGB0L7QuiDQtNC+0L/QvtC80ZbQttC90LjRhSDQs9GA0YPQv1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorbXNnaWQgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAgICAga2VlcCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgINC30LHQtdGA0LXQs9GC0Lgg0LTQvtC/0L7QvNGW0LbQvdGWINCz0YDRg9C/0LhcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INC00L7Qv9C+0LzRltC20L3RliDQs9GA0YPQv9C4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM2Cittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tZ3JvdXBzIDzQs9GA0YPQv9CwLC4uLj4gICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC00L7Qv9C+0LzRltC20L3RliDQs9GA0YPQv9C4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3Cittc2dpZCAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICAgICBzZXQgc2VjdXJlYml0c1xuIgorbXNnc3RyICIgLS1zZWN1cmViaXRzIDzQsdGW0YLQuD4gICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDQsdGW0YLQuCDQt9Cw0YXQuNGB0YLRg1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgICAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIC0tc2VsaW51eC1sYWJlbCA80LzRltGC0LrQsD4gICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC80ZbRgtC60YMgU0VMaW51eFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA80L/RgD4gICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INCy0LrQsNC30LDQvdC40Lkg0L/RgNC+0YTRltC70YwgQXBwQXJtb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxNDQKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiINCa0L7RgNC40YHRgtGD0LLQsNC90L3RjyDRhtGW0ZTRjiDQv9GA0L7Qs9GA0LDQvNC+0Y4g0LzQvtC20LUg0YHRgtCw0L3QvtCy0LjRgtC4INC90LXQsdC10LfQv9C10LrRgyDQtNC70Y8g0LTQsNC90LjRhS4g0J7Qt9C90LDQudC+0LzRgtC10YHRjyDQt9GWINGB0YLQvtGA0ZbQvdC60L7RjiDQv9GW0LTRgNGD0YfQvdC40LrQsCAobWFuKSwg0LHRg9C00YzRgtC1INC+0LHQtdGA0LXQttC90ZYuXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3Cittc2dpZCAiaW52YWxpZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0YLQuNC/INC80L7QttC70LjQstC+0YHRgtGWIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQvtGC0YDQuNC80LDQvdC90Y8g0LHRltGC0ZbQsiDQt9Cw0YXQuNGB0YLRgyDQv9GA0L7RhtC10YHRgyDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICLQkdGW0YLQuCDQt9Cw0YXQuNGB0YLRgzogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiW9C90LXQvNCw0ZRdXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbG9uZyIKK21zZ3N0ciAiJXM6INC90LDQtNGC0L4g0LLQtdC70LjQutC40LkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgItCU0L7Qv9C+0LzRltC20L3RliDQs9GA0YPQv9C4OiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIlvQvdC10LzQsNGUXSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICJ1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgImV1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgInN1aWQ6ICV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQ1IHN5cy11dGlscy9zZXRwcml2LmM6NDQ1Cittc2dpZCAiZ2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgZ2V0cmVzdWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGdldHJlc2dpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRWZmZWN0aXZlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICLQldGE0LXQutGC0LjQstC90ZYg0LzQvtC20LvQuNCy0L7RgdGC0ZY6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICLQlNC+0L/Rg9GJ0LXQvdGWINC80L7QttC70LjQstC+0YHRgtGWOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICLQo9GB0L/QsNC00LrQvtCy0YPQstCw0L3RliDQvNC+0LbQu9C40LLQvtGB0YLRljogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICLQl9C+0LLQvdGW0YjQvdGWINC80L7QttC70LjQstC+0YHRgtGWOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIlvQvdC10LzQsNGUINC/0ZbQtNGC0YDQuNC80LrQuF0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhcGFiaWxpdHkgYm91bmRpbmcgc2V0OiAiCittc2dzdHIgItCd0LDQsdGW0YAg0L7QsdC80LXQttGD0LLQsNC70YzQvdC40YUg0LzQvtC20LvQuNCy0L7RgdGC0LXQuTogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgItCc0ZbRgtC60LAgU0VMaW51eCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MDAKK21zZ2lkICJBcHBBcm1vciBwcm9maWxlIgorbXNnc3RyICLQn9GA0L7RhNGW0LvRjCBBcHBBcm1vciIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICLQvNC+0LbQuyAlZDogbGliY2FwLW5nINC/0L7RiNC60L7QtNC20LXQvdC+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAi0J3QtdC60L7RgNC10LrRgtC90LjQuSDRltC00LXQvdGC0LjRhNGW0LrQsNGC0L7RgCDQtNC+0L/QvtC80ZbQttC90L7RlyDQs9GA0YPQv9C4IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MworbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIHNldHJlc3VpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NjgKK21zZ2lkICJzZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBzZXRyZXNnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTAwCittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICLQvdC10L/RltC00YLRgNC40LzRg9Cy0LDQvdC40Lkg0YLQuNC/INC80L7QttC70LjQstC+0YHRgtC10LkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDRgNGP0LTQvtC6INC80L7QttC70LjQstC+0YHRgtC10LkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAibGliY2FwLW5nINGUINC90LDQtNGC0L4g0LfQsNGB0YLQsNGA0ZbQu9C40Lwg0LTQu9GPINC80L7QttC70LjQstC+0YHRgtC10LkgXCJhbGxcIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQsCDQvNC+0LbQu9C40LLRltGB0YLRjCBcIiVzXCIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICLQstGB0YLQsNC90L7QstC70LXQvdC+INC90LXRgNC+0LfQv9GW0LfQvdCw0L3QuNC5INCx0ZbRgiDQt9Cw0YXQuNGB0YLRgyAtINGDINCy0YHRgtCw0L3QvtCy0LvQtdC90L3RliDQstGW0LTQvNC+0LLQu9C10L3QviBhZGp1c3QiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTY1Cittc2dpZCAiYmFkIHNlY3VyZWJpdHMgc3RyaW5nIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDRgNGP0LTQvtC6INCx0ZbRgtGW0LIg0LfQsNGF0LjRgdGC0YMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTcyCittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICLQsdGW0YLQuCDQt9Cw0YXQuNGB0YLRgyArYWxsINC30LDQsdC+0YDQvtC90LXQvdC+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAi0LrQvtGA0LjQs9GD0LLQsNC90L3RjyBrZWVwX2NhcHMg0ZQg0LHQtdC30LfQvNGW0YHRgtC+0LLQvdC40LwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCIKK21zZ3N0ciAi0L3QtdGA0L7Qt9C/0ZbQt9C90LDQvdC40Lkg0LHRltGCINC30LDRhdC40YHRgtGDIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYwOQorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXgg0L3QtSDQt9Cw0L/Rg9GJ0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCDQt9Cw0LrRgNC40YLRgtGPOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3Ig0L3QtSDQt9Cw0L/Rg9GJ0LXQvdC+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NQorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLW5vLW5ldy1wcml2cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAi0LTRg9Cx0LvRjtCy0LDQvdC90Y8gcnVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkwCittc2dpZCAiZHVwbGljYXRlIGV1aWQiCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPIGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5NgorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPIHJ1aWQg0LDQsdC+IGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggcmV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPIHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCByZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxMworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlZ2lkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyByZ2lkINCw0LHQviBlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZWdpZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4IHJlZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgyNgorbXNnaWQgImR1cGxpY2F0ZSAtLWNsZWFyLWdyb3VwcyBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLWNsZWFyLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MzIKK21zZ2lkICJkdXBsaWNhdGUgLS1rZWVwLWdyb3VwcyBvcHRpb24iCittc2dzdHIgItC00YPQsdC70Y7QstCw0L3QvdGPINC/0LDRgNCw0LzQtdGC0YDQsCAtLWtlZXAtZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAi0LTRg9Cx0LvRjtCy0LDQvdC90Y8g0L/QsNGA0LDQvNC10YLRgNCwIC0taW50LWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0LAgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODUzCittc2dpZCAiZHVwbGljYXRlIC0taW5oLWNhcHMgb3B0aW9uIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0LAgLS1pbmgtY2FwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTkKK21zZ2lkICJkdXBsaWNhdGUgLS1hbWJpZW50LWNhcHMgb3B0aW9uIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0LAgLS1hbWJpZW50LWNhcHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODY1Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAi0LTRg9Cx0LvRjtCy0LDQvdC90Y8g0L/QsNGA0LDQvNC10YLRgNCwIC0tYm91bmRpbmctc2V0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3MQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0LAgLS1zZWN1cmViaXRzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3NworbXNnaWQgImR1cGxpY2F0ZSAtLXNlbGludXgtbGFiZWwgb3B0aW9uIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0LAgLS1zZWxpbnV4LWxhYmVsIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg4MworbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0LAgLS1hcHBhcm1vci1wcm9maWxlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg5OQorbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtLWR1bXAg0L3QtdGB0YPQvNGW0YHQvdC40Lkg0Lcg0ZbQvdGI0LjQvNC4INC/0LDRgNCw0LzQtdGC0YDQsNC80LgiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzINGB0LvRltC0INCy0LrQsNC30YPQstCw0YLQuCDQsdC10Lcg0ZbQvdGI0LjRhSDQv9Cw0YDQsNC80LXRgtGA0ZbQsiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAi0J3QtSDQstC60LDQt9Cw0L3QviDQv9GA0L7Qs9GA0LDQvNGDIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCDQv9C+0YLRgNC10LHRg9GUINC30LDQt9C90LDRh9C10L3QvdGPIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzINCw0LHQviAtLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjMKK21zZ2lkICItLWluaXQtZ3JvdXBzIHJlcXVpcmVzIC0tcnVpZCBvciAtLXJldWlkIgorbXNnc3RyICItLWluaXQtZ3JvdXBzINC/0L7RgtGA0LXQsdGD0ZQg0LfQsNC30L3QsNGH0LXQvdC90Y8gLS1ydWlkINCw0LHQviAtLXJldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgItC90LUg0LfQvdCw0LnQtNC10L3QviB1aWQgJWxkLCAtLWluaXQtZ3JvdXBzINC/0L7RgtGA0LXQsdGD0ZQg0LfQsNC30L3QsNGH0LXQvdC90Y8g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCwg0L7QsdC70ZbQutC+0LLQuNC5INC30LDQv9C40YEg0Y/QutC+0LPQviDRlCDRgyDRgdC40YHRgtC10LzRliIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNCx0L7RgNC+0L3QuNGC0Lgg0L3QsNC00LDQvdC90Y8g0L3QvtCy0LjRhSDQv9GA0LDQsiDQtNC+0YHRgtGD0L/RgyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC30LHQtdGA0LXQttC10L3QvdGPINC80L7QttC70LjQstC+0YHRgtC10Lkg0L/RgNC+0YbQtdGB0YMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQ4Cittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLQt9Cw0LTRltGP0YLQuCDQvNC+0LbQu9C40LLQvtGB0YLRliIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAi0L/QvtCy0YLQvtGA0L3QviDQt9Cw0LTRltGP0YLQuCDQvNC+0LbQu9C40LLQvtGB0YLRliIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKK21zZ2lkICJpbml0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgaW5pdGdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINCy0YHRgtCw0L3QvtCy0LvQtdC90L3RjyDQsdGW0YLRltCyINC30LDRhdC40YHRgtGDINC/0YDQvtGG0LXRgdGDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAi0LfQsNGB0YLQvtGB0YPQstCw0YLQuCDQvdCw0LHRltGAINC+0LHQvNC10LbQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5ODUKK21zZ2lkICJhcHBseSBjYXBhYmlsaXRpZXMiCittc2dzdHIgItC30LDRgdGC0L7RgdGD0LLQsNGC0Lgg0LzQvtC20LvQuNCy0L7RgdGC0ZYiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQv9GA0L7Qs9GA0LDQvNCwPiBb0LDRgNCz0YPQvNC10L3RgtC4IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICLQl9Cw0L/Rg9GB0YLQuNGC0Lgg0L/RgNC+0LPRgNCw0LzRgyDRgyDQvdC+0LLQvtC80YMg0YHQtdCw0L3RgdGWLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgINC30YDQvtCx0LjRgtC4INC60LXRgNGW0LLQvdC40Lwg0YLQtdGA0LzRltC90LDQu9C+0Lwg0L/QvtGC0L7Rh9C90LjQuSDRgtC10YDQvNGW0L3QsNC7XG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYsIC0tZm9yayAgICAg0LfQsNCy0LbQtNC4INCy0ZbQtNCz0LDQu9GD0LbRg9Cy0LDRgtC4XG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgICAgINC30LDRh9C10LrQsNGC0Lgg0L3QsCDQt9Cw0LLQtdGA0YjQtdC90L3RjyDRgNC+0LHQvtGC0Lgg0L/RgNC+0LPRgNCw0Lwg0ZYg0LLQuNC60L7RgNC40YHRgtCw0YLQuCDRgtGWINGB0LDQvNGWINC/0L7QstC10YDQvdGD0YLRliDQtNCw0L3RllxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAi0YDQvtC30LPQsNC70YPQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAi0LTQvtGH0ZbRgNC90ZbQuSDQv9GA0L7RhtC10YEgJWQg0L3QtSDQt9Cw0LLQtdGA0YjQuNCyINGA0L7QsdC+0YLRgyDRgyDRiNGC0LDRgtC90L7QvNGDINGA0LXQttC40LzRliIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExNworbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwINGDIHNldHNpZCIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60LXRgNGW0LLQvdC40Lkg0YLQtdGA0LzRltC90LDQuyIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInN3YXBvZmYgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAi0J3QtSDQsNC00LzRltC90ZbRgdGC0YDQsNGC0L7RgC4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb2ZmIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIHN3YXBvZmYiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWzzRgdC/0LXRhtC40YTRltC60LDRhtGW0Y8+XVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyNQorbXNnaWQgIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgItCS0LjQvNC60L3Rg9GC0Lgg0L/RgNC40YHRgtGA0L7RlyDRliDRhNCw0LnQu9C4INC00LvRjyDQv9C+0LTRltC70YMg0L3QsCDRgdGC0L7RgNGW0L3QutC4INGWINGA0LXQt9C10YDQstGD0LLQsNC90L3Rjy5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAg0LLQuNC80LrQvdGD0YLQuCDQstGB0ZYg0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRgyDQtyAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgINGA0LXQttC40Lwg0LTQvtC60LvQsNC00L3QuNGFINC/0L7QstGW0LTQvtC80LvQtdC90YxcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMzQKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgTEFCRUwgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQn9Cw0YDQsNC80LXRgtGAIDzRgdC/0LXRhtC40YTRltC60LDRhtGW0Y8+OlxuIgorIiAtTCA80LzRltGC0LrQsD4gICAgICAgICAgICAg0JzQhtCi0JrQkCDQv9GA0LjRgdGC0YDQvtGOLCDRj9C60LjQuSDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCDQv9GA0LjRgdGC0YDQvtGOLCDRj9C60LjQuSDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+XG4iCisiIExBQkVMPTzQvNGW0YLQutCwPiAgICAgICAgICDQnNCG0KLQmtCQINC/0YDQuNGB0YLRgNC+0Y4sINGP0LrQuNC5INCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L5cbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEINC/0YDQuNGB0YLRgNC+0Y4sINGP0LrQuNC5INCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L5cbiIKKyIgPNC/0YDQuNGB0YLRgNGW0Lk+ICAgICAgICAgICAgINC90LDQt9Cy0LAg0L/RgNC40YHRgtGA0L7Rjiwg0Y/QutC40Lkg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QvlxuIgorIiA80YTQsNC50Ls+ICAgICAgICAgICAgICAgICDQvdCw0LfQstCwINGE0LDQudC70LAsINGP0LrQuNC5INCx0YPQtNC1INCy0LjQutC+0YDQuNGB0YLQsNC90L5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk2Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgItGE0LDQudC7INC/0YDQuNGB0YLRgNC+0Y4g0LDQsdC+INGI0LvRj9GFINC00L4g0YDQvtC30LTRltC70YMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5NworbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi0YLQuNC/INC/0YDQuNGB0YLRgNC+0Y4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAi0YDQvtC30LzRltGAINC+0LHQu9Cw0YHRgtGWINGA0LXQt9C10YDQstC90L7RlyDQv9Cw0Lwn0Y/RgtGWICjRgdCy0L7Qv9GW0L3Qs9GDKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk5Cittc2dpZCAiYnl0ZXMgaW4gdXNlIgorbXNnc3RyICLQsdCw0LnRgtGW0LIg0LLQuNC60L7RgNC40YHRgtCw0L3QviIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgItC/0YDRltC+0YDQuNGC0LXRgiDRgdCy0L7Qv9GW0L3Qs9GDIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJ1dWlkINGA0LXQt9C10YDQstC90L7RlyDQv9Cw0LzigJnRj9GC0ZYiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICLQvNGW0YLQutCwINGB0LLQvtC/0ZbQvdCz0YMgKNGA0LXQt9C10YDQstC90L7RlyDQv9Cw0LzigJnRj9GC0ZYpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHTQotC40L9cdFx00KDQvtC30LzRltGAXHTQktC40LrQvtGALlx00J/RgNGW0L7RgNC40YLQtdGCXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKK21zZ2lkICJGaWxlbmFtZSIKK21zZ3N0ciAi0J3QsNC30LLQsCDRhNCw0LnQu9CwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWluaXRpYWxpemluZyB0aGUgc3dhcC4iCittc2dzdHIgIiVzOiDQv9C+0LLRgtC+0YDQvdC+INGW0L3RltGG0ZbQsNC70ZbQt9GD0ZTQvNC+INGA0LXQt9C10YDQstC90YMg0L/QsNC8J9GP0YLRjCAo0YHQstC+0L/RltC90LMpLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczog0L7Qv9C10YDQsNGG0ZbRjyBsc2VlayDQt9Cw0LLQtdGA0YjQuNC70LDRgdGMINC/0L7QvNC40LvQutC+0Y4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0LfQsNC/0LjRgdGDINC/0ZbQtNC/0LjRgdGDINC30LDQt9C90LDQu9CwINC90LXQstC00LDRh9GWIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVzOiDQv9GA0L7Qv9GD0YHQutCw0ZTQvNC+LCDQt9C00LDRlNGC0YzRgdGPLCDQvNGW0YHRgtC40YLRjCDQtNGW0YDQutC4LiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZ2V0IHNpemUgZmFpbGVkIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INGA0L7Qt9C80ZbRgCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiVzOiDRgdC/0YDQvtCx0LAg0YfQuNGC0LDQvdC90Y8g0LfQsNCz0L7Qu9C+0LLQutCwINGA0LXQt9C10YDQstC90L7RlyDQv9Cw0Lwn0Y/RgtGWICjRgdCy0L7Qv9GW0L3Qs9GDKSDQt9Cw0LfQvdCw0LvQsCDQvdC10LLQtNCw0YfRliIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiJXM6INCy0LjRj9Cy0LvQtdC90L4g0L/RltC00L/QuNGBIFvRgNC+0LfQvNGW0YAg0YHRgtC+0YDRltC90LrQuD0lZCwg0L/RltC00L/QuNGBPSVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXM6INGA0L7Qt9C80YHRgtC+0YA9JWQsINGA0L7Qt9C80YHQstC+0L89JWxsdSwg0YDQvtC30LzQv9GA0LjRgdGC0YA9JWxsdSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGFzdF9wYWdlIDB4JTA4bGx4IGlzIGxhcmdlciB0aGFuIGFjdHVhbCBzaXplIG9mIHN3YXBzcGFjZSIKK21zZ3N0ciAiJXM6INC30L3QsNGH0LXQvdC90Y8gbGFzdF9wYWdlIDB4JTA4bGx4INGUINCx0ZbQu9GM0YjQuNC8INC30LAg0YHQv9GA0LDQstC20L3RltC5INGA0L7Qt9C80ZbRgCDQv9GA0L7RgdGC0L7RgNGDINGB0LLQvtC/0ZbQvdCz0YMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXM6INGA0L7Qt9C80ZbRgCDRgdGC0L7RgNGW0L3QutC4INGE0L7RgNC80LDRgtGDINGB0LLQvtC/0ZbQvdCz0YMg0ZQg0L3QtdCy0ZbQtNC/0L7QstGW0LTQvdC40LwuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiVzOiDRgNC+0LfQvNGW0YAg0YHRgtC+0YDRltC90LrQuCDRhNC+0YDQvNCw0YLRgyDRgdCy0L7Qv9GW0L3Qs9GDINGUINC90LXQstGW0LTQv9C+0LLRltC00L3QuNC8LiAo0KHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8gLS1maXhwZ3N6LCDRidC+0LEg0L/QvtCy0YLQvtGA0L3QviDRltC90ZbRhtGW0LDQu9GW0LfRg9Cy0LDRgtC4INC50L7Qs9C+LikiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVzOiDQstC40Y/QstC70LXQvdC+INC00LDQvdGWINC/0YDQvtCz0YDQsNC80L3QvtCz0L4g0L/RgNC40YHQuNC/0LvRj9C90L3Rjy4g0J/QtdGA0LXQt9Cw0L/QuNGB0YPRlNC80L4g0L/RltC00L/QuNGBINGA0L7Qt9C00ZbQu9GDINGB0LLQvtC/0ZbQvdCz0YMuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXM6INC/0L7QvNC40LvQutCwIHN3YXBvbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIlczog0L/QsNGA0LDQvNC10YLRgCBub2F1dG8gLS0g0ZbQs9C90L7RgNGD0ZTQvNC+IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlczog0LLQttC1INC30LDQtNGW0Y/QvdC+IC0tINGW0LPQvdC+0YDRg9GU0LzQviIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiDQvdC10LTQvtGB0YLRg9C/0L3QtSAtLSDQv9GA0L7RltCz0L3QvtGA0L7QstCw0L3QviIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAi0KPQstGW0LzQutC90YPRgtC4INC/0YDQuNGB0YLRgNC+0Zcg0ZYg0YTQsNC50LvQuCDQtNC70Y8g0L/QvtC00ZbQu9GDINC90LAg0YHRgtC+0YDRltC90LrQuCDRliDRgNC10LfQtdGA0LLRg9Cy0LDQvdC90Y8uXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAg0YPQstGW0LzQutC90YPRgtC4INGD0YHRliDQvtCx0LvQsNGB0YLRliDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWINC3IC9ldGMvZnN0YWJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRpc2NhcmRbPTzQv9GA0LDQstC40LvQsD5dINGD0LLRltC80LrQvdGD0YLQuCDQstGW0LTQutC40LTQsNC90L3RjyDRidC+0LTQviDRgNC10LfQtdGA0LLRg9Cy0LDQvdC90Y8sINGP0LrRidC+INC/0ZbQtNGC0YDQuNC80YPRlNGC0YzRgdGPINC/0YDQuNGB0YLRgNC+0ZTQvFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICDQsdC10Lcg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjCDQv9GA0L7Qv9GD0YHQutCw0YLQuCDQv9GA0LjRgdGC0YDQvtGXLCDRj9C60LjRhSDQvdC1INGW0YHQvdGD0ZRcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgINC/0L7QstGC0L7RgNC90L4g0ZbQvdGW0YbRltCw0LvRltC30YPQstCw0YLQuCDQv9GA0L7RgdGC0ZbRgCDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWLCDRj9C60YnQviDQv9C+0YLRgNGW0LHQvdC+XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA80YHQv9C40YHQvtC6PiAgINGB0L/QuNGB0L7QuiDQstGW0LTQvtC60YDQtdC80LvQtdC90LjRhSDQutC+0LzQsNC80Lgg0L/QsNGA0LDQvNC10YLRgNGW0LIg0YHQstC+0L/RltC90LPRgyAo0YDQtdC30LXRgNCy0L3QvtGXINC/0LDQvOKAmdGP0YLRlilcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorbXNnaWQgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA80YfQuNGB0LvQvj4gICDQstC60LDQt9Cw0YLQuCDQv9GA0ZbQvtGA0LjRgtC10YLQvdGW0YHRgtGMINC/0YDQuNGB0YLRgNC+0Y4g0YDQtdC30LXRgNCy0L3QvtGXINC/0LDQvOKAmdGP0YLRllxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA2Cittc2dpZCAiIC1zLCAtLXN1bW1hcnkgICAgICAgICAgICBkaXNwbGF5IHN1bW1hcnkgYWJvdXQgdXNlZCBzd2FwIGRldmljZXMgKERFUFJFQ0FURUQpXG4iCittc2dzdHIgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDRgNC10LfRjtC80LUg0YnQvtC00L4g0LLQuNC60L7RgNC40YHRgtCw0L3QuNGFINC/0YDQuNGB0YLRgNC+0ZfQsiDRgNC10LfQtdGA0LLQvdC+0Zcg0L/QsNC84oCZ0Y/RgtGWICjQl9CQ0KHQotCQ0KDQhtCb0JUpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDcKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTzRgdGC0L7QstC/0YfQuNC60Lg+XSDQv9C+0LrQsNC30LDRgtC4INGA0LXQt9GO0LzQtSDRgyDQstC40LfQvdCw0YfQtdC90ZbQuSDRgtCw0LHQu9C40YbRllxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA4Cittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIKK21zZ3N0ciAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQvtC6INGC0LDQsdC70LjRhtGWICjQtyAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPINCx0LXQtyDQvtCx0YDQvtCx0LrQuCAo0LcgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODEwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAg0L/QvtC60LDQt9Cw0YLQuCDRgNC+0LfQvNGW0YAg0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRgyAo0YDQtdC30LXRgNCy0L3QvtGXINC/0LDQvOKAmdGP0YLRlikg0YMg0LHQsNC50YLQsNGFINGDINCy0LjQstC10LTQtdC90L3RliAtLXNob3dcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg0YDQtdC20LjQvCDQtNC+0LrQu9Cw0LTQvdC40YUg0L/QvtCy0ZbQtNC+0LzQu9C10L3RjFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODE2Cittc2dpZCAiIgorIlxuIgorIlRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIgorIiAtTCA8bGFiZWw+ICAgICAgICAgICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIG5hbWUgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIgorbXNnc3RyICIiCisiXG4iCisi0J/QsNGA0LDQvNC10YLRgCA80YHQv9C10YbQuNGE0ZbQutCw0YbRltGPPjpcbiIKKyIgLUwgPNC80ZbRgtC60LA+ICAgICAgICAgICAgINGB0LjQvdC+0L3RltC8IExBQkVMPTzQvNGW0YLQutCwPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgINGB0LjQvdC+0L3RltC8IFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTzQvNGW0YLQutCwPiAgICAgICAgICDQstC40LfQvdCw0YfQsNGUINC/0YDQuNGB0YLRgNGW0Lkg0LfQsCDQvNGW0YLQutC+0Y4g0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRg1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgINCy0LjQt9C90LDRh9Cw0ZQg0L/RgNC40YHRgtGA0ZbQuSDQt9CwIFVVSUQg0L7QsdC70LDRgdGC0ZYg0YHQstC+0L/RltC90LPRg1xuIgorIiBQQVJUTEFCRUw9PNC80ZbRgtC60LA+ICAgICAg0LLQuNC30L3QsNGH0LDRlCDQv9GA0LjRgdGC0YDRltC5INC30LAg0LzRltGC0LrQvtGOINGA0L7Qt9C00ZbQu9GDXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAg0LLQuNC30L3QsNGH0LDRlCDQv9GA0LjRgdGC0YDRltC5INC30LAgVVVJRCDRgNC+0LfQtNGW0LvRg1xuIgorIiA80L/RgNC40YHRgtGA0ZbQuT4gICAgICAgICAgICAg0L3QsNC30LLQsCDQv9GA0LjRgdGC0YDQvtGOLCDRj9C60LjQuSDQsdGD0LTQtSDQstC40LrQvtGA0LjRgdGC0LDQvdC+XG4iCisiIDzRhNCw0LnQuz4gICAgICAgICAgICAgICAgINC90LDQt9Cy0LAg0YTQsNC50LvQsCwg0Y/QutC40Lkg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QvlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODI2Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisiIG9uY2UgICAgOiBvbmx5IHNpbmdsZS10aW1lIGFyZWEgZGlzY2FyZHMgYXJlIGlzc3VlZFxuIgorIiBwYWdlcyAgIDogZnJlZWQgcGFnZXMgYXJlIGRpc2NhcmRlZCBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIgorbXNnc3RyICIiCisiXG4iCisi0JTQvtGB0YLRg9C/0L3RliDRgtC40L/QuCDQv9GA0LDQstC40Lsg0LLRltC00LrQuNC00LDQvdC90Y8gKNC00LvRjyAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDog0LLQuNC60L7RgNC40YHRgtC+0LLRg9GO0YLRjNGB0Y8g0LvQuNGI0LUg0LLRltC00LrQuNC00LDQvdC90Y8g0L7QtNC90L7RgNCw0LfQvtCy0LjRhSDQvtCx0LvQsNGB0YLQtdC5LiAoc3dhcG9uKVxuIgorIiBwYWdlcyAgIDog0LLRltC00LrQuNC00LDRgtC4INC30LLRltC70YzQvdC10L3RliDRgdGC0L7RgNGW0L3QutC4INC00L4g0L/QvtCy0YLQvtGA0L3QvtCz0L4g0LLQuNC60L7RgNC40YHRgtCw0L3QvdGPLlxuIgorIiDQr9C60YnQviDQvdC1INCy0LjQsdGA0LDQvdC+INC20L7QtNC90LjRhSDQv9GA0LDQstC40LssINCy0LjQutC+0YDQuNGB0YLQvtCy0YPRjtGC0YzRgdGPINC+0LHQuNC00LLQsCDQvdCw0LHQvtGA0LggKNGC0LjQv9C+0LLQsCDQv9C+0LLQtdC00ZbQvdC60LApLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0LfQvdCw0YfQtdC90L3RjyDQv9GA0ZbQvtGA0LjRgtC10YLQvdC+0YHRgtGWIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAi0L3QtdC/0ZbQtNGC0YDQuNC80YPQstCw0L3RliDQv9GA0LDQstC40LvQsCDQstGW0LTQutC40LTQsNC90L3RjzogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvdCw0LnRgtC4INC/0YDQuNGB0YLRgNGW0Lkg0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INC60LDRgtCw0LvQvtCzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2OAorbXNnaWQgInN0YXQgZmFpbGVkIgorbXNnc3RyICLQvtC/0LXRgNCw0YbRltGPIHN0YXQg0LfQsNCy0LXRgNGI0LjQu9Cw0YHRjCDQv9C+0LzQuNC70LrQvtGOIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQv9GA0L7Rh9C40YLQsNGC0Lgg0LrQsNGC0LDQu9C+0LMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtCfRlNC00L3QsNGC0LggJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LzQvtC90YLRg9Cy0LDRgtC4INGA0YPRhdC+0LzQuNC5ICVzINC00L4gJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgItC/0YDQuNC80YPRgdC+0LLQviDQstC40LrQvtC90YPRlNC80L4g0LTQtdC80L7QvdGC0YPQstCw0L3QvdGPICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNGW0L3QuNGC0Lgg0LrQsNGC0LDQu9C+0LMg0L3QsCAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80L7QvdGC0YPQstCw0YLQuCDRgNGD0YXQvtC80LjQuSAlcyDQtNC+IC8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDQutC+0YDQtdC90LXQstC40Lkg0LrQsNGC0LDQu9C+0LMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE5MgorbXNnaWQgIm9sZCByb290IGZpbGVzeXN0ZW0gaXMgbm90IGFuIGluaXRyYW1mcyIKK21zZ3N0ciAi0YHRgtCw0YDQvtGOINC60L7RgNC10L3QtdCy0L7RjiDRhNCw0LnQu9C+0LLQvtGOINGB0LjRgdGC0LXQvNC+0Y4g0L3QtSDRlCBpbml0cmFtZnMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxuZXdyb290ZGlyPiA8aW5pdD4gPGFyZ3MgdG8gaW5pdD5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQvdC+0LLQuNC5INC60L7RgNC10L3QtdCy0LjQuSDQutCw0YLQsNC70L7Qsz4gPGluaXQ+IDzQsNGA0LPRg9C80LXQvdGC0Lgg0LTQviBpbml0PlxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDkKK21zZ2lkICJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIgorbXNnc3RyICLQn9C10YDQtdC80LrQvdGD0YLQuNGB0Y8g0L3QsCDRltC90YjRgyDRhNCw0LnQu9C+0LLRgyDRgdC40YHRgtC10LzRgyDRj9C6INC60L7RgNC10L3QtdCy0YMg0YMg0ZbRlNGA0LDRgNGF0ZbRlyDQvNC+0L3RgtGD0LLQsNC90L3Rjy5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgItC/0L7QvNC40LvQutCwLiDQktC40LHQsNGH0YLQtS4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgYWNjZXNzICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtGB0YLRg9C/INC00L4gJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgItCS0YHRgtCw0L3QvtCy0LjRgtC4INGA0ZbQt9C90L7QvNCw0L3RltGC0L3RliDQv9Cw0YDQsNC80LXRgtGA0Lgg0YDRj9C00LrQvtCy0L7Qs9C+INC/0YDQuNC90YLQtdGA0LAuXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKK21zZ2lkICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBzcGVjaWZ5IHBhcmFsbGVsIHBvcnQgaXJxXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPNGH0LjRgdC70L4+ICAgICAgICAgICAg0LLQutCw0LfQsNGC0LggaXJxINC/0LDRgNCw0LvQtdC70YzQvdC+0LPQviDQv9C+0YDRgtGDXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA80LzRgT4gICAgICAgICAgICAgINGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDQtNGA0LDQudCy0LXRgNCwINGDINC80ZbQu9GW0YHQtdC60YPQvdC00LDRhVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAzCittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPG4+ICAgICAgICAgICAgICDQutGW0LvRjNC60ZbRgdGC0Ywg0LLQuNCy0LXQtNC10L3QuNGFINGB0LjQvNCy0L7Qu9GW0LIg0L/QtdGA0LXQtCDRgdC90L7QvFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA0Cittc2dpZCAiIC13LCAtLXdhaXQgPHVzPiAgICAgICAgICAgICAgc3Ryb2JlIHdhaXQgaW4gbWljcm8gc2Vjb25kc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA80LzQutGBPiAgICAgICAgICAgICDQvtGH0ZbQutGD0LLQsNC90L3RjyDRgyDQvNGW0LrRgNC+0YHQtdC60YPQvdC00LDRhVxuIgorCisjLiBUUkFOU0xBVE9SUzogZG8gbm90IHRyYW5zbGF0ZSA8b258b2ZmPiBhcmd1bWVudHMuIFRoZQorIy4gYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisjLiBleGFjdGx5IHRoYXQgdmVyeSBzYW1lIHN0cmluZy4KKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDgKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICDQv9C10YDQtdGA0LjQstCw0YLQuCDRgNC+0LHQvtGC0YMg0YMg0YDQsNC30ZYg0L/QvtC80LjQu9C60LhcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICDQv9C10YDQtdCy0ZbRgNC40YLQuCDRgdGC0LDQvSDQv9GA0LjQvdGC0LXRgNCwINC00L4g0LLQuNC60L7QvdCw0L3QvdGPINC00YDRg9C60YNcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICDQtNC+0LTQsNGC0LrQvtCy0LAg0LTQviDQv9C10YDQtdCy0ZbRgNC60Lgg0YHRgtCw0L3RgyDQv9C10YDQtdCy0ZbRgNC60LBcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgINC+0L/QuNGC0LDRgtC4INC/0YDQuNC90YLQtdGAINGJ0L7QtNC+INGB0YLQsNC90YNcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgINGB0LrQuNC90YPRgtC4INC90L7QvNC10YAg0L/QvtGA0YLRg1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgINC/0LXRgNC10LzQuNC60LDRhyDQv9C+0LrQsNC30YMg0L/QvtGC0L7Rh9C90LjRhSDQv9Cw0YDQsNC80LXRgtGA0ZbQsiBpcnFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyDQvdC1INGUINC/0YDQuNGB0YLRgNC+0ZTQvCBscCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIiVzINGB0YLQsNC9IC0gJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIsINC30LDQudC90Y/RgtC40LkiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiLCDQs9C+0YLQvtCy0LjQuSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG91dCBvZiBwYXBlciIKK21zZ3N0ciAiLCDRgdC60ZbQvdGH0LjQstGB0Y8g0L/QsNC/0ZbRgCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgb24tbGluZSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICIsINC/0L7QvNC40LvQutCwIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk4Cittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBpb2N0bCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICLQv9C+0LzQuNC70LrQsCBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUIElSUSAlZFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIHBvbGxpbmdcbiIKK21zZ3N0ciAiJXMg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUINC+0L/QuNGC0YPQstCw0L3QvdGPINGB0YLQsNC90YNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFvQv9Cw0YDQsNC80LXRgtGA0LhdXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gPNC00LbQtdGA0LXQu9C+PiB8IDzQutCw0YLQsNC70L7Qsz5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAi0JTQtdC80L7QvdGC0YPQstCw0YLQuCDRhNCw0LnQu9C+0LLRliDRgdC40YHRgtC10LzQuC5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICDQtNC10LzQvtC90YLRg9Cy0LDRgtC4INCy0YHRliDRhNCw0LnQu9C+0LLRliDRgdC40YHRgtC10LzQuFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAg0LTQtdC80L7QvdGC0YPQstCw0YLQuCDQstGB0ZYg0YLQvtGH0LrQuCDQvNC+0L3RgtGD0LLQsNC90L3RjyDQstC60LDQt9Cw0L3QvtCz0L4g0L/RgNC40YHRgtGA0L7RjlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICDRgyDQstC60LDQt9Cw0L3QvtC80YMg0L/RgNC+0YHRgtC+0YDRliDQvdCw0LfQslxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDQvdC1INC/0LXRgNC10LLQvtC00LjRgtC4INGI0LvRj9GF0Lgg0YMg0LrQsNC90L7QvdGW0YfQvdGDINGE0L7RgNC80YNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICDRj9C60YnQviDQt9C80L7QvdGC0L7QstCw0L3QviDQv9C10YLQu9GM0L7QstC40Lkg0L/RgNC40YHRgtGA0ZbQuSwg0YLQsNC60L7QtiDQt9Cy0ZbQu9GM0L3QuNGC0Lgg0YbQtdC5INC/0LXRgtC70YzQvtCy0LjQuSDQv9GA0LjRgdGC0YDRltC5XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAg0YLQtdGB0YLQvtCy0LjQuSDQt9Cw0L/Rg9GB0Lo7INC/0YDQvtC/0YPRgdGC0LjRgtC4INGB0LjRgdGC0LXQvNC90LjQuSDQstC40LrQu9C40LogdW1vdW50KDIpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICDQv9GA0LjQvNGD0YHQvtCy0LUg0LTQtdC80L7QvdGC0YPQstCw0L3QvdGPICjRgyDRgNCw0LfRliDQvdC10LTQvtGB0YLRg9C/0L3QvtGB0YLRliDRgdC40YHRgtC10LzQuCBORlMpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgINC90LUg0LLQuNC60LvQuNC60LDRgtC4INC00L7Qv9C+0LzRltC20L3RliDQv9GA0L7Qs9GA0LDQvNC4IHVtb3VudC480YLQuNC/PlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICDQstGW0LQn0ZTQtNC90LDRgtC4INGE0LDQudC70L7QstGDINGB0LjRgdGC0LXQvNGDINC30LDRgNCw0LcsINCwINCy0LjQu9GD0YfQuNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L3QtdGXINC/0ZbQt9C90ZbRiNC1XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5OAorbXNnaWQgIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKK21zZ3N0ciAiIC1PLCAtLXRlc3Qtb3B0cyA80YHQv9C40YHQvtC6PiDQvtCx0LzQtdC20LjRgtC4INC90LDQsdGW0YAg0YTQsNC50LvQvtCy0LjRhSDRgdC40YHRgtC10LwgKNGB0LrQvtGA0LjRgdGC0LDQudGC0LXRgdGPINC3IC1hKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTkKK21zZ2lkICIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIKK21zZ3N0ciAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgINGA0LXQutGD0YDRgdC40LLQvdC+INC00LXQvNC+0L3RgtGD0LLQsNGC0Lgg0L/RgNC40LfQvdCw0YfQtdC90L3RjyDQtyDRg9GB0ZbQvNCwINC00L7Rh9GW0YDQvdGW0LzQuCDQstGD0LfQu9Cw0LzQuFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAg0Y/QutGJ0L4g0L3QtSDQstC00LDRgdGC0YzRgdGPINC00LXQvNC+0L3RgtGD0LLQsNGC0LgsINGB0L/RgNC+0LHRg9Cy0LDRgtC4INC/0LXRgNC10LzQvtC90YLRg9Cy0LDRgtC4INGDINGA0LXQttC40LzRliDRh9C40YLQsNC90L3Rj1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAxCittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPNGB0L/QuNGB0L7Quj4gICAgINC+0LHQvNC10LbQuNGC0Lgg0L3QsNCx0ZbRgCDRgtC40L/RltCyINGE0LDQudC70L7QstC40YUg0YHQuNGB0YLQtdC8XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzKSB1bm1vdW50ZWQiCittc2dzdHIgIiVzICglcykg0LTQtdC80L7QvdGC0L7QstCw0L3QviIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzINC00LXQvNC+0L3RgtC+0LLQsNC90L4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0L/RgNC40LfQvdCw0YfQtdC90L3RjyB1bW91bnQiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YDQvtC30L/QvtC00ZbQu9GDINGC0LDQsdC70LjRhtGWIGxpYm1vdW50IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YDQvtC30L/QvtC00ZbQu9GDINGW0YLQtdGA0LDRgtC+0YDQsCBsaWJtb3VudCIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0LTQvtGH0ZbRgNC90Y4g0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMgJXMiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozMTAgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGZvdW5kIgorbXNnc3RyICIlczog0L3QtSDQt9C90LDQudC00LXQvdC+IgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC30L3QsNGH0LjRgtC4INC00LbQtdGA0LXQu9C+ICjQv9GW0LTRgtGA0LjQvNC60LggLS1hbGwtdGFyZ2V0cyDQtNC70Y8g0YHQuNGB0YLQtdC8INC30ZYg0LfQstC40YfQsNC50L3QuNC8INGE0LDQudC70L7QvCBtdGFiINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QvikuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LjQuSDQsNGA0LPRg9C80LXQvdGCIC0tc2V0Z3JvdXBzLCDCqyVzwrsiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTEyIHN5cy11dGlscy91bnNoYXJlLmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0L/RltC0INGH0LDRgSDRgdC/0YDQvtCx0Lgg0LfQsNC/0LjRgdGDOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgItC90LXQv9GW0LTRgtGA0LjQvNGD0LLQsNC90LjQuSDRgNC10LbQuNC8INC/0L7RiNC40YDQtdC90L3RjzogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU5Cittc2dpZCAiY2Fubm90IGNoYW5nZSByb290IGZpbGVzeXN0ZW0gcHJvcGFnYXRpb24iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNGW0L3QuNGC0Lgg0L/QvtGI0LjRgNC10L3QvdGPINC60L7RgNC10L3QtdCy0L7RlyDRhNCw0LnQu9C+0LLQvtGXINGB0LjRgdGC0LXQvNC4IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQvNC+0L3RgtGD0LLQsNC90L3RjyAlcyDQtNC+ICVzINC30LDQstC10YDRiNC40LvQsNGB0Y8g0L3QtdCy0LTQsNC70L4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0YLRgNC40LzQsNGC0Lgg0YHRgtCw0YLQuNGB0YLQuNGH0L3RliDQtNCw0L3RliDRidC+0LTQviAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgcGlwZSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwaXBlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0LjQutC+0L3QsNGC0Lgg0YfQuNGC0LDQvdC90Y8g0LrQsNC90LDQu9GDIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICLQl9Cw0L/Rg9GB0YLQuNGC0Lgg0L/RgNC+0LPRgNCw0LzRgyDRltC3INC00LXRj9C60LjQvNC4INC/0YDQvtGB0YLQvtGA0LDQvNC4INC90LDQt9CyLCDRj9C60ZYg0L3QtSDRlCDRgdC/0ZbQu9GM0L3QuNC80Lgg0LTQu9GPINCx0LDRgtGM0LrRltCy0YHRjNC60L7Qs9C+INC/0YDQvtGG0LXRgdGDLlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTzRhNCw0LnQuz5dICAgICAg0YHQutCw0YHRg9Cy0LDRgtC4INGB0L/RltC70YzQvdC1INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyINC80L7QvdGC0YPQstCw0L3QvdGPXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTzRhNCw0LnQuz5dICAgICAgINGB0LrQsNGB0YPQstCw0YLQuCDRgdC/0ZbQu9GM0L3QtSDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiBVVFMgKNC90LDQt9Cy0Lgg0LLRg9C30LvQsCDRgtC+0YnQvilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PNGE0LDQudC7Pl0gICAgICAg0YHQutCw0YHRg9Cy0LDRgtC4INGB0L/RltC70YzQvdC1INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyIElQQyBTeXN0ZW0gVlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9PNGE0LDQudC7Pl0gICAgICAg0YHQutCw0YHRg9Cy0LDRgtC4INGB0L/RltC70YzQvdC1INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyINC80LXRgNC10LbRllxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkWz080YTQsNC50Ls+XSAgICAgICAg0YHQutCw0YHRg9Cy0LDRgtC4INGB0L/RltC70YzQvdC1INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyIHBpZFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTzRhNCw0LnQuz5dICAgICAg0YHQutCw0YHRg9Cy0LDRgtC4INGB0L/RltC70YzQvdC1INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQv9GA0L7RgdGC0L7RgNGDINC90LDQt9CyINC60L7RgNC40YHRgtGD0LLQsNGH0LBcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9PNGE0LDQudC7Pl0gICAgINGB0LrQsNGB0YPQstCw0YLQuCDRgdC/0ZbQu9GM0L3QtSDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y8g0L/RgNC+0YHRgtC+0YDRgyDQvdCw0LfQsiBjZ3JvdXBcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgINCy0LjQutC+0L3QsNGC0Lgg0YDQvtC30LPQsNC70YPQttC10L3QvdGPINC00L4g0LfQsNC/0YPRgdC60YMg0L/RgNC+0LPRgNCw0LzQuCA80L/RgNC+0LPRgNCw0LzQsD5cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hpbGRbPTzQvdCw0LfQstCwX9GB0LjQsz5dINC/0ZbQtCDRh9Cw0YEg0LfQsNCy0LXRgNGI0LXQvdC90Y8g0YDQvtCx0L7RgtC4INCy0LHQuNGC0Lgg0LLRltC00LPQsNC70YPQttC10L3QuNC5INC00L7Rh9GW0YDQvdGW0Lkg0L/RgNC+0YbQtdGBICjQvdC10Y/QstC90LUgLS1mb3JrKTsg0YLQuNC/0L7QstC40Lwg0ZQg0YHQuNCz0L3QsNC7IFNJR0tJTExcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjQKK21zZ2lkICIgICAgIC0tbW91bnQtcHJvY1s9PGRpcj5dICBtb3VudCBwcm9jIGZpbGVzeXN0ZW0gZmlyc3QgKGltcGxpZXMgLS1tb3VudClcbiIKK21zZ3N0ciAiICAgICAtLW1vdW50LXByb2NbPTzQutCw0YI+XSAg0LfQvNC+0L3RgtGD0LLQsNGC0Lgg0YTQsNC50LvQvtCy0YMg0YHQuNGB0YLQtdC80YMgcHJvYyDQv9C10YDRiNC+0Y4gKNC3INCy0LjQutC+0YDQuNGB0YLQsNC90L3Rj9C8IC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAg0L/QvtCy4oCZ0Y/Qt9Cw0YLQuCDQv9C+0YLQvtGH0L3QvtCz0L4g0LrQvtGA0LjRgdGC0YPQstCw0YfQsCDQtyDQutC+0YDQuNGB0YLRg9Cy0LDRh9C10Lwgcm9vdCAo0LLQuNC60L7RgNC40YHRgtC+0LLRg9GUIC0tdXNlcilcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjYKK21zZ2lkICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmeSBtb3VudCBwcm9wYWdhdGlvbiBpbiBtb3VudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICDQt9C80ZbQvdC40YLQuCDQv9C+0YjQuNGA0LXQvdC90Y8g0LzQvtC90YLRg9Cy0LDQvdC90Y8g0YMg0L/RgNC+0YHRgtC+0YDRliDQvdCw0LfQsiDQvNC+0L3RgtGD0LLQsNC90YxcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjgKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgINC60LXRgNGD0LLQsNGC0Lgg0LLQuNC60LvQuNC60LDQvNC4IHNldGdyb3VwINGDINC/0YDQvtGB0YLQvtGA0LDRhSDQvdCw0LfQsiDQutC+0YDQuNGB0YLRg9Cy0LDRh9GW0LJcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MDEKK21zZ2lkICJ1bnNoYXJlIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgdW5zaGFyZSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC30LDQstC10YDRiNC40YLQuCDQtNC+0YfRltGA0L3RltC5INC/0YDQvtGG0LXRgSDQt9Cw0LLQtdGA0YjQuNC70LDRgdGPINC90LXQstC00LDQu9C+IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICLQv9Cw0YDQsNC80LXRgtGA0LggLS1zZXRncm91cHM9YWxsb3cg0ZYgLS1tYXAtcm9vdC11c2VyINC90LUg0LzQvtC20L3QsCDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0L7QtNC90L7Rh9Cw0YHQvdC+IgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgItGB0L/RgNC+0LHQsCDQvNC+0L3RgtGD0LLQsNC90L3RjyAlcyDQt9Cw0LLQtdGA0YjQuNC70LDRgdGPINC90LXQstC00LDQu9C+IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICLQn9GA0L7RhtC10YHQvtGAINGA0LDQvdGW0YjQtSDRgdC60LjQvdGD0YLQviDQutCw0YDRgtC60L7RjiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICLQl9C+0LLQvdGW0YjQvdGW0Lkg0L/QtdGA0LXQvNC40LrQsNGHIDEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc1Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMiIKK21zZ3N0ciAi0JfQvtCy0L3RltGI0L3RltC5INC/0LXRgNC10LzQuNC60LDRhyAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgItCf0L7QvNC40LvQutCwINC00LDQvdC40YUg0YnQvtC00L4g0L7RhdC+0LvQvtC00LbQtdC90L3RjyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgItCS0ZbQtNC/0L7QstGW0LTRjCDQv9GW0LTRgtGA0LjQvNCw0L3QvdGPINC30LIn0Y/Qt9C60YMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAi0J/RltC00YLRgNC40LzRg9GUINGB0LjQvNCy0L7QuyDQvNCw0LPRltGH0L3QvtCz0L4g0LfQsNC60YDQuNGC0YLRjyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICLQodC60LjQvdGD0YLQviDRh9C10YDQtdC3INC/0LXRgNC10LPRgNGW0LLQsNC90L3RjyDQv9GA0L7RhtC10YHQvtGA0LAiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgwCittc2dpZCAiUG93ZXIgb3ZlciB2b2x0YWdlIgorbXNnc3RyICLQndCw0LTQvNGW0YDQvdC1INC20LjQstC70LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgxCittc2dpZCAiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IgorbXNnc3RyICLQn9C+0LzQuNC70LrQsC/QktGW0LTQvNC+0LLQsCDQttC40LLQu9C10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MgorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC90ZbQuSDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8gKNGDINGB0LXQutGD0L3QtNCw0YUpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAi0JLRgdGC0LDQvdC+0LLQuNGC0Lgg0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPICjRgyDRgdC10LrRg9C90LTQsNGFKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgItCd0LUg0L/QtdGA0LXQt9Cw0LLQsNC90YLQsNC20YPQstCw0YLQuCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINC/0YDQsNC/0L7RgNGG0Y8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgItC+0L/QuNGBINC/0YDQsNC/0L7RgNGG0Y8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMgorbXNnaWQgImZsYWcgc3RhdHVzIgorbXNnc3RyICLRgdGC0LDQvSDQv9GA0LDQv9C+0YDRhtGPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICLRgdGC0LDQvSDQv9GA0LDQv9C+0YDRhtGPINC/0ZbQtCDRh9Cw0YEg0LfQsNCy0LDQvdGC0LDQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi0L3QsNC30LLQsCDRgdC/0L7RgdGC0LXRgNC10LbQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INC/0YDQsNC/0L7RgNC10YbRjDogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0YHRgtCw0L0g0LfQsNGB0L7QsdGDINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPINC30LAg0L7QsdC70LDQtNC90LDQvdC90Y/QvC5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZsYWdzIDzRgdC/0LjRgdC+0Lo+ICAg0LLQuNCy0LXRgdGC0Lgg0LvQuNGI0LUg0LLQuNCx0YDQsNC90ZYg0L/RgNCw0L/QvtGA0YbRllxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQtNCw0L3RliDRidC+0LTQviDQv9GA0LDQv9C+0YDRhtGW0LJcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0L/RgNC+0YTRltC70Y4g0YHQv9C+0YHRgtC10YDQtdC20LXQvdC90Y9cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQutC4INC00LvRjyDRgtCw0LHQu9C40YbRliDQv9GA0LDQv9C+0YDRhtGW0LJcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICDQstC40LLQtdGB0YLQuCDQstGB0ZYg0LTQsNC90ZYg0YMg0L7QtNC40L0g0YDRj9C00L7QulxuIgorIiAtbywgLS1vdXRwdXQgPNGB0L/QuNGB0L7Quj4gINCy0LjQstC10YHRgtC4INGB0YLQvtCy0L/Rh9C40LrQuCDQv9GA0LDQv9C+0YDRhtGW0LJcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICDRhNC+0YDQvNCw0YIg0LLQuNCy0LXQtNC10L3QvdGPINCx0LXQtyDQvtCx0YDQvtCx0LrQuCDQtNC70Y8g0YLQsNCx0LvQuNGG0ZYg0L/RgNCw0L/QvtGA0YbRltCyXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INGH0LDRgdC4INC+0YfRltC60YPQstCw0L3QvdGPINC30LDRgdC+0LHRgyDRgdC/0L7RgdGC0LXRgNC10LbQtdC90L3Rj1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDzRgdC10Lo+INCy0YHRgtCw0L3QvtCy0LjRgtC4INGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDQt9Cw0YHQvtCx0YMg0YHQv9C+0YHRgtC10YDQtdC20LXQvdC90Y9cbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICDQstC40LLQtdGB0YLQuCDQu9C40YjQtSDRgtCw0LHQu9C40YbRjiDQv9GA0LDQv9C+0YDRhtGW0LIgKNGC0LUg0YHQsNC80LUsINGJ0L4g0ZYgLUkgLVQpXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgItCi0LjQv9C+0LLQuNC8INC/0YDQuNGB0YLRgNC+0ZTQvCDRlCAlcy5cbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXM6INC90LXQstGW0LTQvtC80ZYg0L/RgNCw0L/QvtGA0YbRliAweCV4XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMCBzeXMtdXRpbHMvd2RjdGwuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iCittc2dzdHIgIiVzOiDQt9Cw0YHRltCxINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPINCy0LbQtSDQstC40LrQvtGA0LjRgdGC0L7QstGD0ZTRgtGM0YHRjywg0L/QtdGA0LXRgNC40LLQsNGU0LzQviDQt9Cw0LLQtNCw0L3QvdGPLiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzM0IHN5cy11dGlscy93ZGN0bC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLQuNC80LrQvdGD0YLQuCDQt9Cw0YHRltCxINGB0L/QvtGB0YLQtdGA0LXQttC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0LTQu9GPICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICLQkdGD0LvQviDQstGB0YLQsNC90L7QstC70LXQvdC+INGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDRgyAlZCDRgdC10LrRg9C90LTRgy5cbiIKK21zZ3N0clsxXSAi0JHRg9C70L4g0LLRgdGC0LDQvdC+0LLQu9C10L3QviDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0YMgJWQg0YHQtdC60YPQvdC00LguXG4iCittc2dzdHJbMl0gItCR0YPQu9C+INCy0YHRgtCw0L3QvtCy0LvQtdC90L4g0YfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPINGDICVkINGB0LXQutGD0L3QtC5cbiIKK21zZ3N0clszXSAi0JHRg9C70L4g0LLRgdGC0LDQvdC+0LLQu9C10L3QviDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0YMg0L7QtNC90YMg0YHQtdC60YPQvdC00YMuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQtNCw0L3RliDRidC+0LTQviDQt9Cw0YHQvtCx0YMg0YHQv9C+0YHRgtC10YDQtdC20LXQvdC90Y8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpINGB0LXQutGD0L3QtNCwXG4iCittc2dzdHJbMV0gIiUtMTRzICUyaSDRgdC10LrRg9C90LTQuFxuIgorbXNnc3RyWzJdICIlLTE0cyAlMmkg0YHQtdC60YPQvdC0XG4iCittc2dzdHJbM10gIiUtMTRzICUyaSDRgdC10LrRg9C90LTQsFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAi0KfQsNGBINC+0YfRltC60YPQstCw0L3QvdGPOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY5Cittc2dpZCAiUHJlLXRpbWVvdXQ6IgorbXNnc3RyICLQn9C+0L/QtdGA0LXQtNC90ZbQuSDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y86IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NzIKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgItCX0LDQu9C40YguINGH0LDRgdGDOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAi0J/RgNC40YHRgtGA0ZbQuToiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNgorbXNnaWQgIklkZW50aXR5OiIKK21zZ3N0ciAi0J/RgNC+0YTRltC70Yw6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDgKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICLQstC10YDRgdGW0Y8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICLQvdCw0LfQstCwINC/0YDQuNGB0YLRgNC+0Y4genJhbSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgItC+0LHQvNC10LbQtdC90L3RjyDRidC+0LTQviDQvdC10YHRgtC40YHQvdC10L3QvtCz0L4g0L7QsdGB0Y/Qs9GDINC00LDQvdC40YUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzcKK21zZ2lkICJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi0L3QtdGB0YLQuNGB0L3QtdC90LjQuSDRgNC+0LfQvNGW0YAg0LfQsdC10YDQtdC20LXQvdC40YUg0LTQsNC90LjRhSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi0YHRgtC40YHQvdC10L3QuNC5INGA0L7Qt9C80ZbRgCDQt9Cx0LXRgNC10LbQtdC90LjRhSDQtNCw0L3QuNGFIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAi0LLQuNCx0YDQsNC90LjQuSDQsNC70LPQvtGA0LjRgtC8INGB0YLQuNGB0LrQsNC90L3RjyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDQvtC00L3QvtGH0LDRgdC90LjRhSDQtNGW0Lkg0LfRliDRgdGC0LjRgdC60LDQvdC90Y8iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODEKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgItC/0L7RgNC+0LbQvdGWINGB0YLQvtGA0ZbQvdC60Lgg0LHQtdC3INGA0L7Qt9C/0L7QtNGW0LvQtdC90L7RlyDQv9Cw0LzigJnRj9GC0ZYiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgItGD0YHRjyDQv9Cw0LzigJnRj9GC0Ywg0ZbQtyDRhNGA0LDQs9C80LXQvdGC0LDRhtGW0ZTRjiDQsNC70L7QutCw0YLQvtGA0ZbQsiDRgtCwINC00L7QtNCw0YLQutC+0LLQuNC8INC+0LHRgdGP0LPQvtC8INC80LXRgtCw0LTQsNC90LjRhSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAi0L7QsdC80LXQttC10L3QvdGPINC/0LDQvOKAmdGP0YLRliDQtNC70Y8g0LfQsdC10YDRltCz0LDQvdC90Y8g0YHRgtC40YHQvdC10L3QuNGFINC00LDQvdC40YUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICLQstC40LrQvtGA0LjRgdGC0LDQvdCwIHpyYW0g0L/QsNC84oCZ0Y/RgtGWINC00LvRjyDQt9Cx0LXRgNC10LbQtdC90L3RjyDRgdGC0LjRgdC90LXQvdC40YUg0LTQsNC90LjRhSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NQorbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgItC60ZbQu9GM0LrRltGB0YLRjCDQvtCx4oCZ0ZTQutGC0ZbQsiwg0L/QtdGA0LXQvdC10YHQtdC90LjRhSDQv9GW0LQg0YfQsNGBINGD0YnRltC70YzQvdC10L3QvdGPIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLQndC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0LggbW1fc3RhdCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorIiAlMSRzIC1yIDxkZXZpY2U+IFsuLi5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGRldmljZT4gLXMgPHNpemU+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSA80L/RgNC40YHRgtGA0ZbQuT5cbiIKKyIgJTEkcyAtciA80L/RgNC40YHRgtGA0ZbQuT4gWy4uLl1cbiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSAtZiB8IDzQv9GA0LjRgdGC0YDRltC5PiAtcyA80YDQvtC30LzRltGAPlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgItCd0LDQu9Cw0YjRgtGD0LLQsNGC0Lgg0L/RgNC40YHRgtGA0L7RlyB6cmFtINGWINC60LXRgNGD0LLQsNGC0Lgg0L3QuNC80LguXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICDQsNC70LPQvtGA0LjRgtC8INGB0YLQuNGB0LrQsNC90L3Rjywg0Y/QutC40Lwg0YHQu9GW0LQg0YHQutC+0YDQuNGB0YLQsNGC0LjRgdGPXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgINCy0LjQstC10YHRgtC4INGA0L7Qt9C80ZbRgCDRgyDQsdCw0LnRgtCw0YUsINCwINC90LUg0YMg0LfRgNGD0YfQvdC+0LzRgyDQtNC70Y8g0YfQuNGC0LDQvdC90Y8g0YTQvtGA0LzQsNGC0ZZcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDMKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAg0LfQvdCw0LnRgtC4INCy0ZbQu9GM0L3QuNC5INC/0YDQuNGB0YLRgNGW0LlcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDQKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LfQsNCz0L7Qu9C+0LLQutC4XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA80YHQv9C40YHQvtC6PiAgICAg0LLQuNC30L3QsNGH0LjRgtC4INGB0YLQvtCy0L/Rh9C40LrQuCDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPINC00LDQvdC40YUg0YnQvtC00L4g0YHRgtCw0L3Rg1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAg0LLQuNC60L7RgNC40YHRgtC+0LLRg9Cy0LDRgtC4INGE0L7RgNC80LDRgiDQstC40LLQtdC00LXQvdC90Y8g0YHRgtCw0L3RgyDQsdC10Lcg0L7QsdGA0L7QsdC60LhcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDcKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAg0YHQutC40L3Rg9GC0Lgg0YPRgdGWINCy0LrQsNC30LDQvdGWINC/0YDQuNGB0YLRgNC+0ZdcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA80YDQvtC30LzRltGAPiAgICAgICDRgNC+0LfQvNGW0YAg0L/RgNC40YHRgtGA0L7RjlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OQorbXNnaWQgIiAtdCwgLS1zdHJlYW1zIDxudW1iZXI+ICAgIG51bWJlciBvZiBjb21wcmVzc2lvbiBzdHJlYW1zXG4iCittc2dzdHIgIiAtdCwgLS1zdHJlYW1zIDzQutGW0LvRjNC60ZbRgdGC0Yw+INC60ZbQu9GM0LrRltGB0YLRjCDQv9C+0YLQvtC60ZbQsiDRgdGC0LjRgdC60LDQvdC90Y9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC30LDQv9C40YEg0L/QvtGC0L7QutGW0LIg0L7QsdGA0L7QsdC60LgiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCAtLWZpbmQg0L3QtSDQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQvtC00L3QvtGH0LDRgdC90L4g0LcgPNC/0YDQuNGB0YLRgNGW0Lk+IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICLQvNC+0LbQvdCwINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDQu9C40YjQtSDQvtC00LjQvSA80L/RgNC40YHRgtGA0ZbQuT4g0LfQsCDRgNCw0LciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgItC/0LDRgNCw0LzQtdGC0YDQuCAtLWFsZ29yaXRobSDRliAtLXN0cmVhbXMg0YHQu9GW0LQg0L/QvtGU0LTQvdGD0LLQsNGC0Lgg0LcgLS1zaXplIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5NCBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDRgdC60LjQvdGD0YLQuCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICLQvdC1INC30L3QsNC50LTQtdC90L4g0LLRltC70YzQvdC+0LPQviDQv9GA0LjRgdGC0YDQvtGOIHpyYW0iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGB0YLQsNC90L7QstC40YLQuCDQutGW0LvRjNC60ZbRgdGC0Ywg0L/QvtGC0L7QutGW0LIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGFsZ29yaXRobSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDQu9Cz0L7RgNC40YLQvCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4INGA0L7Qt9C80ZbRgCDQtNC40YHQutCwICglanUg0LHQsNC50YLRltCyKSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIlcyVzICjQsNCy0YLQvtC80LDRgtC40YfQvdC40Lkg0LLRhdGW0LQpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDQutC+0YDQtdC90LXQstC40Lkg0LrQsNGC0LDQu9C+0LMgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQvNGW0L3QuNGC0Lgg0YDQvtCx0L7Rh9C40Lkg0LrQsNGC0LDQu9C+0LMgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9C80ZbQvdC40YLQuCDQv9GA0ZbQvtGA0LjRgtC10YLQvdGW0YHRgtGMINC/0YDQvtGG0LXRgdGDOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIlczog0L3QtSDQstC00LDQu9C+0YHRjyDQt9Cw0L/Rg9GB0YLQuNGC0LggJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzNyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxNDg0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MjYgdGVybS11dGlscy9hZ2V0dHkuYzoyMDkzIHRlcm0tdXRpbHMvYWdldHR5LmM6MjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC/0LDQvCfRj9GC0Yw6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIgorbXNnc3RyICIlcyDQtyAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NDgKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0LfQsNGC0YDQuNC80LrQuCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIKK21zZ3N0ciAi0L3QtdC60L7RgNC10LrRgtC90LjQuSDQsNGA0LPRg9C80LXQvdGCINC/0LDRgNCw0LzQtdGC0YDQsCAtLWxvY2FsLWxpbmUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODA1Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0L/RgNGW0L7RgNC40YLQtdGC0L3QvtGB0YLRliIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQsNCy0LjQu9GM0L3QtSDQt9C90LDRh9C10L3QvdGPINGI0LLQuNC00LrQvtGB0YLRljogJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA4Cittc2dpZCAidG9vIG1hbnkgYWx0ZXJuYXRlIHNwZWVkcyIKK21zZ3N0ciAi0L3QsNC00YLQviDQsdCw0LPQsNGC0L4g0LfQsNC/0LDRgdC90LjRhSDQt9C90LDRh9C10L3RjCDRiNCy0LjQtNC60L7RgdGC0ZYiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTkgdGVybS11dGlscy9hZ2V0dHkuYzoxMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4INGB0YLQsNC90LTQsNGA0YLQvdC40Lkg0LLQstGW0LQ6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtSDRlCDRgdC40LzQstC+0LvRjNC90LjQvCDQv9GA0LjRgdGC0YDQvtGU0LwiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6INC90LUg0ZQg0YLQtdGA0LzRltC90LDQu9C+0LwgdHR5IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNDQgdGVybS11dGlscy9hZ2V0dHkuYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBnZXQgY29udHJvbGxpbmcgdHR5OiAlbSIKK21zZ3N0ciAiL2Rldi8lczog0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4INC00LDQvdGWINGJ0L7QtNC+IHR0eSDQutC10YDRg9Cy0LDQvdC90Y86ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogdmhhbmd1cCgpIGZhaWxlZDogJW0iCittc2dzdHIgIi9kZXYvJXM6INC/0L7QvNC40LvQutCwIHZoYW5ndXAoKTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiVzOiDQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0LTQu9GPINGH0LjRgtCw0L3QvdGPL9C30LDQv9C40YHRgyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LPRgNGD0L/RgyDQv9GA0L7RhtC10YHRgzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlczog0L/QvtC80LjQu9C60LAg0L/RgNC4IGR1cDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQsNGC0YDQuNCx0YPRgtC4INGC0LXRgNC80ZbQvdCw0LvQsDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDRgtGA0LjQsdGD0YLQuCDRgtC10YDQvNGW0L3QsNC70LA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NjQKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRltC00LrRgNC40YLQuCDRhNCw0LnQuyBvcy1yZWxlYXNlIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSByZWxvYWQgZmlsZTogJXM6ICVtIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0YTQsNC50Lsg0L/QtdGA0LXQt9Cw0LLQsNC90YLQsNC20LXQvdC90Y86ICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW9C90LDRgtC40YHQvdGW0YLRjCBFTlRFUiwg0YnQvtCxINGD0LLRltC50YLQuF0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg1OQorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiTnVtIExvY2sg0LLQuNC80LrQvdC10L3QviIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIk51bSBMb2NrINGD0LLRltC80LrQvdC10L3QviIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzIExvY2sg0YPQstGW0LzQutC90LXQvdC+IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sg0YPQstGW0LzQutC90LXQvdC+IgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyLQn9GW0LTQutCw0LfQutCwOiAlc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlczog0L/RgNC+0YfQuNGC0LDQvdC+OiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlczog0L/QtdGA0LXQv9C+0LLQvdC10L3QvdGPINCy0LLQvtC00YMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA4OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiCittc2dzdHIgIiVzOiDQvdC10LrQvtGA0LXQutGC0L3QtSDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8g0YHQuNC80LLQvtC70ZbQsiDRgyDRltC80LXQvdGWINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczog0L3QtdC60L7RgNC10LrRgtC90LjQuSDRgdC40LzQstC+0LsgMHgleCDRgyDRltC80LXQvdGWINC60L7RgNC40YHRgtGD0LLQsNGH0LAiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6INC90LUg0LLQtNCw0LvQvtGB0Y8g0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LDRgtGA0LjQsdGD0YLQuCDRgtC10YDQvNGW0L3QsNC70LA6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBb0L/QsNGA0LDQvNC10YLRgNC4XSDQu9GW0L3RltGPIFvRh9Cw0YHRgtC+0YLQsF/Rg1/QsdC+0LTQsNGFLC4uLl0gW9GC0LjQvyDRgtC10YDQvNGW0L3QsNC70LBdXG4iCisiICUxJHMgW9C/0LDRgNCw0LzQtdGC0YDQuF0g0YfQsNGB0YLQvtGC0LBf0YNf0LHQvtC00LDRhSwuLi4g0LvRltC90ZbRjyBb0YLQuNC/INGC0LXRgNC80ZbQvdCw0LvQsF1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgItCS0ZbQtNC60YDQuNGC0Lgg0YLQtdGA0LzRltC90LDQuyDRliDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LbQuNC8INC50L7Qs9C+INGA0L7QsdC+0YLQuC5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgINC/0YDQuNC/0YPRgdC60LDRgtC4LCDRidC+IHR0eSA4LdCx0ZbRgtC+0LLQuNC5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNAorbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIgLWEsIC0tYXV0b2xvZ2luIDzQutC+0YDQuNGB0YLRg9Cy0LDRhz4g0LLQuNC60L7QvdGD0LLQsNGC0Lgg0LLRhdGW0LQg0LLQutCw0LfQsNC90L7Qs9C+INC60L7RgNC40YHRgtGD0LLQsNGH0LAg0LDQstGC0L7QvNCw0YLQuNGH0L3QvlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAg0L3QtSDRgdC60LjQtNCw0YLQuCDRgNC10LbQuNC8INC60LXRgNGD0LLQsNC90L3Rj1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0LggLXIgPNC90LDQt9Cy0LAg0LLRg9C30LvQsD4g0LTQu9GPIGxvZ2luKDEpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNworbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWlzc3VlLWZpbGUgPNGE0LDQudC7PiAgICDQv9C+0LrQsNC30LDRgtC4INGE0LDQudC7IGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICDRg9Cy0ZbQvNC60L3Rg9GC0Lgg0LDQv9Cw0YDQsNGC0L3QtSDQutC10YDRg9Cy0LDQvdC90Y8g0L/QvtGC0L7QutC+0Lwg0LTQsNC90LjRhVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDzQvdCw0LfQstCwINCy0YPQt9C70LA+ICAgINCy0LrQsNC30LDRgtC4INCy0YPQt9C+0Lsg0LLRhdC+0LTRgyDQtNC+INGB0LjRgdGC0LXQvNC4XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MAorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0LLQvNGW0YHRgiDRhNCw0LnQu9CwIGlzc3VlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MQorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1JLCAtLWluaXQtc3RyaW5nIDzRgNGP0LTQvtC6PiDQstGB0YLQsNC90L7QstC40YLQuCDRgNGP0LTQvtC6INGW0L3RltGG0ZbQsNC70ZbQt9Cw0YbRltGXXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICDQvdC1INGB0L/QvtGA0L7QttC90Y/RgtC4INC10LrRgNCw0L0g0L/QtdGA0LXQtCDQvdCw0LTRgdC40LvQsNC90L3Rj9C8INC30LDQv9C40YLRg1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDzRhNCw0LnQuz4g0LLQutCw0LfQsNGC0Lgg0YTQsNC50Lsg0L/RgNC+0LPRgNCw0LzQuCDQstGF0L7QtNGDINC00L4g0YHQuNGB0YLQtdC80LhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIgLUwsIC0tbG9jYWwtbGluZVs9PNGA0LXQttC40Lw+XSDQutC10YDRg9Cy0LDQvdC90Y8g0L/RgNCw0L/QvtGA0YbQtdC8INC70L7QutCw0LvRjNC90L7RlyDQu9GW0L3RltGXXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NQorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAg0LLQuNC00L7QsdGD0YLQuCDQtNCw0L3RliDRidC+0LTQviDRiNCy0LjQtNC60L7RgdGC0ZYg0YMg0LHQvtC00LDRhSDQv9GW0LQg0YfQsNGBINC3J9GU0LTQvdCw0L3QvdGPXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAg0L3QtSDQv9GA0L7RgdC40YLQuCDQv9GA0L4g0LLRhdGW0LQg0LTQviDRgdC40YHRgtC10LzQuFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDcKK21zZ2lkICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKK21zZ3N0ciAiIC1OLCAtLW5vbmV3bGluZSAgICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDRgdC40LzQstC+0Lsg0L3QvtCy0L7Qs9C+INGA0Y/QtNC60LAg0LTQviBpc3N1ZVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDgKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPNC/0LDRgD4gINC/0LDRgNCw0LzQtdGC0YDQuCwg0Y/QutGWINGB0LvRltC0INC/0LXRgNC10LTQsNGC0Lgg0L/RgNC+0LPRgNCw0LzRliDQtNC70Y8g0LLRhdC+0LTRg1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICDQvtGH0ZbQutGD0LLQsNGC0Lgg0L3QsCDQvdCw0YLQuNGB0LrQsNC90L3RjyDRj9C60L7Rl9GB0Ywg0LrQu9Cw0LLRltGI0ZYg0LTQviDQstGF0L7QtNGDINC00L4g0YHQuNGB0YLQtdC80LhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUwCittc2dpZCAiIC1yLCAtLWNocm9vdCA8ZGlyPiAgICAgICAgIGNoYW5nZSByb290IHRvIHRoZSBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLWNocm9vdCA80LrQsNGCPiAgICAgICAgINC30LzRltC90LjRgtC4INC60L7RgNC10L3QtdCy0LjQuSDQutCw0YLQsNC70L7QsyDQvdCwINCy0LrQsNC30LDQvdC40LlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCittc2dpZCAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorbXNnc3RyICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAg0LLQuNC60L7QvdCw0YLQuCDQstGW0YDRgtGD0LDQu9GM0L3QtSDQt9Cw0LLQtdGA0YjQtdC90L3RjyDRgNC+0LHQvtGC0Lgg0YMgdHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgINC90LDQvNCw0LPQsNGC0LjRgdGPINC30LHQtdGA0LXQs9GC0Lgg0YjQstC40LTQutGW0YHRgtGMINC3J9GU0LTQvdCw0L3QvdGPINC/0ZbRgdC70Y8g0YDQvtC30ZbRgNCy0LDQvdC90Y9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA80YfQuNGB0LvQvj4gICAgICDRh9Cw0YEg0L7Rh9GW0LrRg9Cy0LDQvdC90Y8g0L3QsCDQtNCw0L3RliDQstGW0LQg0L/RgNC+0YbQtdGB0YMg0LLRhdC+0LTRgyDQtNC+INGB0LjRgdGC0LXQvNC4XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NAorbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICDQstC40Y/QstC40YLQuCDRgtC10YDQvNGW0L3QsNC7INCy0LXRgNGF0L3RjNC+0LPQviDRgNC10LPRltGB0YLRgNGDXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAg0L7Rh9GW0LrRg9Cy0LDRgtC4INC90LAg0YHQuNC80LLQvtC7INC/0L7QstC10YDQvdC10L3QvdGPINC60LDRgNC10YLQutC4XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQv9GW0LTQutCw0LfQutC4XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAg0L3QtSDQv9C+0LrQsNC30YPQstCw0YLQuCDQvdCw0LfQstGDINCy0YPQt9C70LAg0LLQt9Cw0LPQsNC70ZZcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU4Cittc2dpZCAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKK21zZ3N0ciAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgINCy0LjQstC10YHRgtC4INC90LDQt9Cy0YMg0LLRg9C30LvQsCDQv9C+0LLQvdGW0YHRgtGOXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OQorbXNnaWQgIiAgICAgLS1lcmFzZS1jaGFycyA8c3RyaW5nPiBhZGRpdGlvbmFsIGJhY2tzcGFjZSBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0tZXJhc2UtY2hhcnMgPNGA0Y/QtNC+0Lo+ICDQtNC+0LTQsNGC0LrQvtCy0ZYg0YHQuNC80LLQvtC70LggYmFja3NwYWNlXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hhcnMgPNGA0Y/QtNC+0Lo+ICAg0LTQvtC00LDRgtC60L7QstGWINGB0LjQvNCy0L7Qu9C4INC/0LXRgNC10YDQuNCy0LDQvdC90Y9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYxCittc2dpZCAiICAgICAtLWNoZGlyIDxkaXJlY3Rvcnk+ICAgIGNoZGlyIGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiICAgICAtLWNoZGlyIDzQutCw0YLQsNC70L7Qsz4gICAgICDQt9C80ZbQvdC40YLQuCDQutCw0YLQsNC70L7QsyDQvdCwINCy0LrQsNC30LDQvdC40Lkg0L/QtdGA0LXQtCDQstGF0L7QtNC+0LxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgIC0tZGVsYXkgPNGH0LjRgdC70L4+ICAgICAgICDQt9Cw0YfQtdC60LDRgtC4INCy0LrQsNC30LDQvdGDINC60ZbQu9GM0LrRltGB0YLRjCDRgdC10LrRg9C90LQg0LTQviDQvdCw0LTRgdC40LvQsNC90L3RjyDQt9Cw0L/QuNGC0YNcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPNGH0LjRgdC70L4+ICAgICAgICAg0LfQsNC/0YPRgdGC0LjRgtC4INC30LDRgdGW0LEg0LLRhdC+0LTRgyDRltC3INCy0LrQsNC30LDQvdC40Lwg0YDRltCy0L3QtdC8INC/0YDRltC+0YDQuNGC0LXRgtC90L7RgdGC0ZZcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgICAgIC0tcmVsb2FkICAgICAgICAgICAgICAg0L/QtdGA0LXQt9Cw0LLQsNC90YLQsNC20LjRgtC4INC30LDQv9C40YLQuCDRgyDQt9Cw0L/Rg9GJ0LXQvdC40YUg0LXQutC30LXQvNC/0LvRj9GA0LDRhSBhZ2V0dHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY1Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgINCy0LjQstC10YHRgtC4INC/0ZbQtNGC0YDQuNC80YPQstCw0L3RliDRiNCy0LjQtNC60L7RgdGC0ZYg0YMg0LHQvtC00LDRhVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkINC60L7RgNC40YHRgtGD0LLQsNGHIgorbXNnc3RyWzFdICIlZCDQutC+0YDQuNGB0YLRg9Cy0LDRh9CwIgorbXNnc3RyWzJdICIlZCDQutC+0YDQuNGB0YLRg9Cy0LDRh9GW0LIiCittc2dzdHJbM10gIiVkINC60L7RgNC40YHRgtGD0LLQsNGHIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2tuYW1lIGZhaWxlZDogJW0iCittc2dzdHIgItC/0L7QvNC40LvQutCwIGNoZWNrbmFtZTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LrQvtC90LDRgtC4IHRvdWNoINC00LvRjyDRhNCw0LnQu9CwICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAi0J/RltC00YLRgNC40LzQutC4IC0tcmVsb2FkINGDINCy0LDRiNGW0Lkg0YHQuNGB0YLQtdC80ZYg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFt5IHwgbl1cbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICLQmtC10YDRg9Cy0LDRgtC4INC00L7RgdGC0YPQv9C+0Lwg0ZbQvdGI0LjRhSDQutC+0YDQuNGB0YLRg9Cy0LDRh9GW0LIg0YnQvtC00L4g0LfQsNC/0LjRgdGDINC00LvRjyDQstCw0YjQvtCz0L4g0YLQtdGA0LzRltC90LDQu9CwLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YnQvtC00L4g0LTRltC5LCDRj9C60ZYg0LLQuNC60L7QvdGD0Y7RgtGM0YHRj1xuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMjUKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgdHR5bmFtZSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAi0LLRgdGC0LDQvdC+0LLQu9C10L3QviB5IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICLQstGB0YLQsNC90L7QstC70LXQvdC+ICBuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIKK21zZ3N0ciAi0YHQv9GA0L7QsdCwINC30LzRltC90LjRgtC4INGA0LXQttC40LwgJXMg0LfQsNC30L3QsNC70LAg0L3QtdCy0LTQsNGH0ZYiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgItC30LDQv9C40YEg0L3QsCDQstCw0Ygg0YLQtdGA0LzRltC90LDQuyDQtNC+0LfQstC+0LvQtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAi0LfQsNC/0LjRgSDQvdCwINCy0LDRiCDRgtC10YDQvNGW0L3QsNC7INC30LDQsdC+0YDQvtC90LXQvdC+IgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INCw0YDQs9GD0LzQtdC90YI6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gW9GE0LDQudC7XVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAi0KHRgtCy0L7RgNC40YLQuCDRgdC60YDQuNC/0YIg0LLQstC10LTQtdC90L3RjyDRgdC10LDQvdGB0YMg0YLQtdGA0LzRltC90LDQu9CwLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NworbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICDQtNC+0L/QuNGB0LDRgtC4INCy0LjQstC10LTQtdC90ZYg0LTQsNC90ZZcbiIKKyIgLWMsIC0tY29tbWFuZCA80LrQvtC80LDQvdC00LA+INCy0LjQutC+0L3QsNGC0Lgg0LrQvtC80LDQvdC00YMg0LfQsNC80ZbRgdGC0Ywg0ZbQvdGC0LXRgNCw0LrRgtC40LLQvdC+0Zcg0L7QsdC+0LvQvtC90LrQuFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICDQv9C+0LLQtdGA0L3Rg9GC0Lgg0LrQvtC0INCy0LjRhdC+0LTRgyDQtNC+0YfRltGA0L3RjNC+0LPQviDQv9GA0L7RhtC10YHRg1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICDQstC40LrQvtC90YPQstCw0YLQuCDRgdC60LjQtNCw0L3QvdGPINC/0ZbRgdC70Y8g0LrQvtC20L3QvtCz0L4g0LfQsNC/0LjRgdGDXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhNCw0LnQuyDQstC40LLQtdC00LXQvdC90Y8sINC90LDQstGW0YLRjCDRj9C60YnQviDQstGW0L0g0ZQg0L/QvtGB0LjQu9Cw0L3QvdGP0LxcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3Rj1xuIgorIiAtdCwgLS10aW1pbmdbPTzRhNCw0LnQuz5dICAg0LLQuNCy0LXRgdGC0Lgg0LTQsNC90ZYg0YfQsNGB0L7QstC40YUg0L/QsNGA0LDQvNC10YLRgNGW0LIg0LTQviBzdGRlcnIgKNCw0LHQviDQtNC+INGE0LDQudC70LApXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyLRhNCw0LnQuyDQstC40LLQtdC00LXQvdC90Y8g0LTQsNC90LjRhSwgwqslc8K7LCDRlCDQv9C+0YHQuNC70LDQvdC90Y/QvCDQvdCwINGW0L3RiNC40Lkg0YTQsNC50LsuXG4iCisi0KHQutC+0YDQuNGB0YLQsNC50YLQtdGB0Y8g0L/QsNGA0LDQvNC10YLRgNC+0LwgLS1mb3JjZSwg0Y/QutGJ0L4g0YHQv9GA0LDQstC00ZYg0YXQvtGH0LXRgtC1INCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRhtC10Lkg0YTQsNC50LsuXG4iCisi0J/RgNC+0LPRgNCw0LzRgyDQvdC1INC30LDQv9GD0YnQtdC90L4uIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgZG9uZSwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICLQodGG0LXQvdCw0YDRltC5INC30LDQstC10YDRiNC10L3Qviwg0YTQsNC50LsgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyODgKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0LfQsNC/0LjRgdCw0YLQuCDRhNCw0LnQuyDRgdC60YDQuNC/0YLRgyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlc3Npb24gdGVybWluYXRlZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorItCh0LXQsNC90YEg0L/QtdGA0LXRgNCy0LDQvdC+LlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlc1xuIgorbXNnc3RyICLQodGG0LXQvdCw0YDRltC5INC90LAgJXMg0LfQsNC/0YPRidC10L3QvlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2NyaXB0IGRvbmUgb24gJXNcbiIKK21zZ3N0ciAiIgorIlxuIgorItCh0YbQtdC90LDRgNGW0Lkg0L3QsCAlcyDQt9Cw0LLQtdGA0YjQtdC90L5cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAgb3BlbnB0eSIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2NzcKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgItGB0LrRltC90YfQuNC70LjRgdGMIHB0eS3Qv9GA0LjRgdGC0YDQvtGXIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICLQodGG0LXQvdCw0YDRltC5INC30LDQv9GD0YnQtdC90L4sINGE0LDQudC7IC0gJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICVzIFstdF0g0YTQsNC50Ltf0YfQsNGB0L7QstC40YVf0L/QsNGA0LDQvNC10YLRgNGW0LIgW9Cy0LLQtdC00LXQvdC90Y8g0YHQutGA0LjQv9GC0YNdIFvQtNGW0LvRjNC90LjQul1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLQktGW0LTRgtCy0L7RgNC40YLQuCDRgdC60YDQuNC/0YLQuCDQstCy0LXQtNC10L3QvdGPINGC0LXRgNC80ZbQvdCw0LvQsCDQtyDQstC40LrQvtGA0LjRgdGC0LDQvdC90Y/QvCDQtNCw0L3QuNGFINGJ0L7QtNC+INGA0L7Qt9C60LvQsNC00YMuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDzRhNCw0LnQuz4gICAgINGE0LDQudC7INCy0LjQstC10LTQtdC90L3RjyDQtNC70Y8g0YfQsNGB0L7QstC40YUg0L/QsNGA0LDQvNC10YLRgNGW0LIg0LLQuNC60L7QvdCw0L3QvdGPINGB0LrRgNC40L/RgtGDXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPNGE0LDQudC7PiDRhNCw0LnQuyDQstC40LLQtdC00LXQvdC90Y8g0YHQtdCw0L3RgdGDINGC0LXRgNC80ZbQvdCw0LvQsCDRgdC60YDQuNC/0YLRg1xuIgorIiAtZCwgLS1kaXZpc29yIDzRh9C40YHQu9C+PiAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INC00ZbQu9GM0L3QuNC6INC/0YDQuNGI0LLQuNC00YjQtdC90L3RjyDQsNCx0L4g0YPQv9C+0LLRltC70YzQvdC10L3QvdGPINCy0LjQutC+0L3QsNC90L3Rj1xuIgorIiAtbSwgLS1tYXhkZWxheSA80YfQuNGB0LvQvj4gINGH0LXQutCw0YLQuCDQvNGW0LYg0L7QvdC+0LLQu9C10L3QvdGP0LzQuCDQvdC1INCx0ZbQu9GM0YjQtSDQstC60LDQt9Cw0L3QvtGXINC60ZbQu9GM0LrQvtGB0YLRliDRgdC10LrRg9C90LRcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC30LDQv9C40YHQsNGC0Lgg0LTQviDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LLQuNCy0LXQtNC10L3QvdGPIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjExOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIGVuZCBvZiBmaWxlIG9uICVzIgorbXNnc3RyICLQvdC10L7Rh9GW0LrRg9Cy0LDQvdC1INC30LDQstC10YDRiNC10L3QvdGPINGE0LDQudC70LAg0L3QsCAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRhNCw0LnQuyB0eXBlc2NyaXB0ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorbXNnaWQgIndyb25nIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQsCDQutGW0LvRjNC60ZbRgdGC0Ywg0L/QsNGA0LDQvNC10YLRgNGW0LIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC/0YDQvtGH0LjRgtCw0YLQuCDRhNCw0LnQuyDRh9Cw0YHQvtCy0LjRhSDQv9Cw0YDQsNC80LXRgtGA0ZbQsiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAi0L7QsdGH0LjRgdC70LXQvdC90Y8g0YfQsNGB0YMg0LLQuNC60L7QvdCw0L3QvdGPINGE0LDQudC70LAgJXM6INGA0Y/QtNC+0LogJWx1OiDQvdC10L7Rh9GW0LrRg9Cy0LDQvdC40Lkg0YTQvtGA0LzQsNGCIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiYXJndW1lbnQgZXJyb3I6IGJyaWdodCAlcyBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDQsNGA0LPRg9C80LXQvdGCOiDQv9GW0LTRgtGA0LjQvNC60Lgg0LrQvtC70YzQvtGA0YMgYnJpZ2h0ICVzINC90LUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAi0LfQsNC90LDQtNGC0L4g0LHQsNCz0LDRgtC+INGC0LDQsdGD0LvRj9GG0ZbQuSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgItCS0YHRgtCw0L3QvtCy0LjRgtC4INCw0YLRgNC40LHRg9GC0Lgg0YLQtdGA0LzRltC90LDQu9CwLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIC0tdGVybSAgICAgICAgICA80L3QsNC30LLQsF/RgtC10YDQvNGW0L3QsNC70LA+INC/0LXRgNC10LLQuNC30L3QsNGH0LjRgtC4INC30L3QsNGH0LXQvdC90Y8g0LfQvNGW0L3QvdC+0Zcg0YHQtdGA0LXQtNC+0LLQuNGJ0LAgVEVSTVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAg0L/QtdGA0LXQstC10YHRgtC4INGC0LXRgNC80ZbQvdCw0Lsg0YMg0YDQtdC20LjQvCDQv9C+0LLQvdC+0YbRltC90L3QvtGXINGA0L7QsdC+0YLQuFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODcKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICDRgdC60LjQvdGD0YLQuCDRgNGP0LTQutC4INGWINGB0YLQvtCy0L/Rh9C40LrQuCDRgtC10YDQvNGW0L3QsNC70LBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICDQstC40LLQtdGB0YLQuCDRgNGP0LTQvtC6INGW0L3RltGG0ZbQsNC70ZbQt9Cw0YbRltGXINGWINGB0LrQvtGA0LjRgdGC0LDRgtC40YHRjyDRgtC40L/QvtCy0LjQvNC4INC/0LDRgNCw0LzQtdGC0YDQsNC80LhcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgINCy0LjQutC+0YDQuNGB0YLQvtCy0YPQstCw0YLQuCDRgtC40L/QvtCy0ZYg0L/QsNGA0LDQvNC10YLRgNC4INGA0L7QsdC+0YLQuCDRgtC10YDQvNGW0L3QsNC70LBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCittc2dpZCAiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgZGVmYXVsdFxuIgorbXNnc3RyICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgINC30LHQtdGA0LXQs9GC0Lgg0L/QvtGC0L7Rh9C90ZYg0L/QsNGA0LDQvNC10YLRgNC4INGA0L7QsdC+0YLQuCDRgtC10YDQvNGW0L3QsNC70LAg0Y/QuiDRgtC40L/QvtCy0ZZcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkxCittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgINGA0LXQttC40Lwg0L/QvtC60LDQt9GDINC60YPRgNGB0L7RgNCwXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAg0YDQtdC20LjQvCDQv9C+0LLRgtC+0YDQtdC90L3RjyDQtNC70Y8g0LrQu9Cw0LLRltCw0YLRg9GA0LhcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICDRgNC10LbQuNC8INC60LvQsNCy0ZbRiCDQt9GWINGB0YLRgNGW0LvQvtGH0LrQsNC80Lgg0YMg0L/RgNC+0LPRgNCw0LzRllxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTQKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgINGA0LXQttC40Lwg0L/RgNC+0LTQvtCy0LbQtdC90L3RjyDQtyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsCDQtNC70Y8g0LTQvtCy0LPQuNGFINGA0Y/QtNC60ZbQslxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAg0L/QvtC80ZbQvdGP0YLQuCDQvNGW0YHRhtGP0LzQuCDQutC+0LvRjNC+0YDQuCDQvdCwINGD0YHRjNC+0LzRgyDQtdC60YDQsNC90ZZcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PNC60L7Qu9GW0YA+ICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LrQvtC70ZbRgCDRgtC10LrRgdGC0YNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PNC60L7Qu9GW0YA+ICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LrQvtC70ZbRgCDRgtC70LBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPNC60L7Qu9GW0YA+ICDQstGB0YLQsNC90L7QstC40YLQuCDQutC+0LvRltGAINC/0ZbQtNC60YDQtdGB0LvQtdC90L7Qs9C+INGC0LXQutGB0YLRg1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA80LrQvtC70ZbRgD4gINCy0YHRgtCw0L3QvtCy0LjRgtC4INC60L7Qu9GW0YAg0LTQu9GPINC90LDQv9GW0LLQttC40YDQvdC+0LPQviDRgtC10LrRgdGC0YNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICA80LrQvtC70ZbRgD46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LbQuNC8INCy0LjQutC+0YDQuNGB0YLQsNC90L3RjyDQvdCw0L/RltCy0LbQuNGA0L3QvtCz0L4g0YjRgNC40YTRgtGDXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvCDQv9GA0LjRgtC70YPQvNC70LXQvdC90Y8g0LrQvtC70YzQvtGA0ZbQslxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAg0YDQtdC20LjQvCDQsdC70LjQvNCw0L3QvdGPXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNAorbXNnaWQgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iCittc2dzdHIgIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvCDQv9GW0LTQutGA0LXRgdC70Y7QstCw0L3QvdGPXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNQorbXNnaWQgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAgc3dhcCBmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kIGNvbG9yc1xuIgorbXNnc3RyICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgINC/0L7QvNGW0L3Rj9GC0Lgg0LzRltGB0YbRj9C80Lgg0LrQvtC70ZbRgCDRgtC10LrRgdGC0YMg0ZYg0YLQu9CwXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAg0YHQv9C+0YDQvtC20L3QuNGC0Lgg0LXQutGA0LDQvSDRliDQstGB0YLQsNC90L7QstC40YLQuCDQv9C+0LfQuNGG0ZbRjiDQutGD0YDRgdC+0YDQsFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDcKK21zZ2lkICIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIgorbXNnc3RyICIgLS10YWJzICAgICAgICAgIFs80YfQuNGB0LvQvj4uLi5dICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0LLQutCw0LfQsNC90ZYg0L/QvtC30LjRhtGW0Zcg0LTQu9GPINC/0LXRgNC10YXQvtC00YMg0LfQsCDQtNC+0L/QvtC80L7Qs9C+0Y4g0LrQu9Cw0LLRltGI0ZYg0YLQsNCx0YPQu9GP0YbRltGXINCw0LHQviDQv9C+0LrQsNC30LDRgtC4INC/0L7Qt9C40YbRltGXXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiAtLWNscnRhYnMgICAgICAgWzxudW1iZXI+Li4uXSAgICAgY2xlYXIgdGhlc2UgdGFiIHN0b3AgcG9zaXRpb25zLCBvciBhbGxcbiIKK21zZ3N0ciAiIC0tY2xydGFicyAgICAgICBbPNGH0LjRgdC70L4+Li4uXSAgICAgINCy0LjQu9GD0YfQuNGC0Lgg0LLQutCw0LfQsNC90ZYg0L/QvtC30LjRhtGW0Zcg0YLQsNCx0YPQu9GP0YbRltGXINCw0LHQviDQstC40LvRg9GH0LjRgtC4INGD0YHRliDQv9C+0LfQuNGG0ZbRl1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC10LPRg9C70Y/RgNC90LjQuSDRltC90YLQtdGA0LLQsNC7INC80ZbQtiDQv9C+0LfQuNGG0ZbRj9C80Lgg0YLQsNCx0YPQu9GP0YbRltGXXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdINCy0YHRgtCw0L3QvtCy0LjRgtC4INCz0YDQsNC90LjRh9C90LjQuSDRh9Cw0YEg0LHQtdC30LTRltGP0LvRjNC90L7RgdGC0ZYg0LTQu9GPINCy0LjQvNC40LrQsNC90L3RjyDQtdC60YDQsNC90LBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tZHVtcCAgICAgICAgICBbPNGH0LjRgdC70L4+XSAgICAgICAgINC30LDQv9C40YHQsNGC0Lgg0LTQsNC80L8g0LrQvtC90YHQvtC70ZYgdmNzYTzRh9C40YHQu9C+PiDQtNC+INGE0LDQudC70LBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWFwcGVuZCAgICAgICAgWzzRh9C40YHQu9C+Pl0gICAgICAgICDQtNC+0LTQsNGC0Lgg0LTQsNC80L8g0LrQvtC90YHQvtC70ZYgdmNzYTzRh9C40YHQu9C+PiDQtNC+INGE0LDQudC70LBcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIC0tZmlsZSAgICAgICAgICA80L3QsNC30LLQsF/RhNCw0LnQu9CwPiAgICAg0L3QsNC30LLQsCDRhNCw0LnQu9CwINC00LDQvNC/0YNcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAg0LLQuNC30L3QsNGH0LjRgtC4LCDRh9C4INGB0LvRltC0INC90LDQtNGB0LjQu9Cw0YLQuCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0Y/QtNGA0LAg0LTQviDQutC+0L3RgdC+0LvRllxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgINGA0ZbQstC10L3RjCDQttGD0YDQvdCw0LvRjtCy0LDQvdC90Y8g0Y/QtNGA0LAg0LTQviDQutC+0L3RgdC+0LvRllxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKK21zZ2lkICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorbXNnc3RyICIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTcKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCB2ZXNhIHBvd2Vyc2F2aW5nIGZlYXR1cmVzXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg0LLRgdGC0LDQvdC+0LLQuNGC0Lgg0YDQtdC20LjQvCDRgNC+0LHQvtGC0Lgg0LzQvtC20LvQuNCy0L7RgdGC0LXQuSDQtyDQtdC60L7QvdC+0LzRltGXINC10L3QtdGA0LPRltGXIHZlc2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgINCy0YHRgtCw0L3QvtCy0LjRgtC4INGW0L3RgtC10YDQstCw0Lsg0LLQuNC80LjQutCw0L3QvdGPINC20LjQstC70LXQvdC90Y8g0LTQu9GPIHZlc2Eg0YMg0YXQstC40LvQuNC90LDRhVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTkKK21zZ2lkICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgIGR1cmF0aW9uIG9mIHRoZSBiZWxsIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIgLS1ibGVuZ3RoICAgICAgIFswLTIwMDBdICAgICAgICAgINGC0YDQuNCy0LDQu9GW0YHRgtGMINGB0LjQs9C90LDQu9GDINC80ZbQu9GW0YHQtdC60YPQvdC00LDRhVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPNGH0LjRgdC70L4+ICAgICAgICAgICDRh9Cw0YHRgtC+0YLQsCDRgdC40LPQvdCw0LvRgyDRgyDQk9GGXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICLQtNGD0LHQu9GO0LLQsNC90L3RjyDQv9Cw0YDQsNC80LXRgtGA0LAiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAi0L3QtSDQvNC+0LbQvdCwINC/0YDQuNC80YPRgdC+0LLQviDQstC40LrQvtC90YPQstCw0YLQuCBibGFuayIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgItC90LUg0LzQvtC20L3QsCDQv9GA0LjQvNGD0YHQvtCy0L4g0LLQuNC60L7QvdGD0LLQsNGC0LggdW5ibGFuayIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzUxCittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDRgdGC0LDQvSBibGFuayIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0ZbQtNC60YDQuNGC0Lgg0YTQsNC50Lsg0LTQsNC80L/RgyAlcyDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPINC00LDQvdC40YUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICLRgyDRgtC10YDQvNGW0L3QsNC70ZYgJXMg0L3QtSDQv9C10YDQtdC00LHQsNGH0LXQvdC+INC/0ZbQtNGC0YDQuNC80LrQuCAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LLQuNCx0L7RgNGDIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKK21zZ2lkICJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIgorbXNnc3RyICJzdGRpbiDQvdC1INC/0L7RgdC40LvQsNGU0YLRjNGB0Y8g0L3QsCDRgtC10YDQvNGW0L3QsNC7IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBjdXJzb3IgcG9zaXRpb246ICVzIgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QsCDQv9C+0LfQuNGG0ZbRjyDQutGD0YDRgdC+0YDQsDogJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkzMworbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0YHQutC40LTQsNC90L3RjyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINCy0YHRgtCw0L3QvtCy0LjRgtC4ICjRgdC60LDRgdGD0LLQsNGC0LgpINGA0LXQttC40Lwg0LXQvdC10YDQs9C+0LfQsdC10YDQtdC20LXQvdC90Y8iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMTYgdGVybS11dGlscy9zZXR0ZXJtLmM6MTEyNQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGtsb2djdGwiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNINC90LUg0LLQuNC30L3QsNGH0LXQvdC+LiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQt9C90LDQudGC0Lgg0LHQsNC30YMg0LTQsNC90LjRhSB0ZXJtaW5mbyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczog0L3QtdCy0ZbQtNC+0LzQuNC5INGC0LjQvyDRgtC10YDQvNGW0L3QsNC70LAiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTcKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAi0YLQtdGA0LzRltC90LDQu9C+0Lwg0ZQg0YLQtdGA0LzRltC90LDQuyDQttC+0YDRgdGC0LrQvtCz0L4g0LrQvtC/0ZbRjtCy0LDQvdC90Y8iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICLQstC90YPRgtGA0ZbRiNC90Y8g0L/QvtC80LjQu9C60LA6INC30LDQsdCw0LPQsNGC0L4gaW92IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjk0CisjLCBjLWZvcm1hdAorbXNnaWQgImV4Y2Vzc2l2ZWx5IGxvbmcgbGluZSBhcmciCittc2dzdHIgItC90LDQtNC80ZbRgNC90L4g0LTQvtCy0LPQuNC5INGA0Y/QtNC+0Log0L/QsNGA0LDQvNC10YLRgNCwIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiZm9yazogJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0L/RgNC+0YbQtdGBIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiJXM6INCf0J7QnNCY0JvQmtCQLCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0ZQg0L3QsNC00YLQviDQtNC+0LLQs9C40LwiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80YTQsNC50Ls+IHwgPNC/0L7QstGW0LTQvtC80LvQtdC90L3Rjz5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAi0JfQsNC/0LjRgdCw0YLQuCDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0LTQu9GPINGD0YHRltGFINC60L7RgNC40YHRgtGD0LLQsNGH0ZbQsi5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDzQs9GA0YPQv9CwPiAgICAg0L3QsNC00ZbRgdC70LDRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQu9C40YjQtSDQstC60LDQt9Cw0L3RltC5INCz0YDRg9C/0ZZcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INCx0LDQvdC10YAsINC/0YDQsNGG0Y7RlCDQu9C40YjQtSDQtNC70Y8gcm9vdFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5NAorbXNnaWQgIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWVvdXQgPNGH0LDRgT4gICAgINGH0LDRgSDQvtGH0ZbQutGD0LLQsNC90L3RjyDQvdCwINC30LDQstC10YDRiNC10L3QvdGPINC30LDQv9C40YHRgyDRgyDRgdC10LrRg9C90LTQsNGFXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDQs9GA0YPQv9C4IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlczog0L3QtdCy0ZbQtNC+0LzQuNC5INGW0LTQtdC90YLQuNGE0ZbQutCw0YLQvtGAINCz0YDRg9C/0LgiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICJnZXRncm91cGxpc3Qg0LLQuNGP0LLQu9C10L3QviDQsdGW0LvRjNGI0LUg0LPRgNGD0L8sINC90ZbQtiDRhtC1INC00L7Qt9Cy0L7Qu9C10L3QviBzeXNjb25mIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICItLW5vYmFubmVyINC80L7QttC1INC60L7RgNC40YHRgtGD0LLQsNGC0LjRgdGPINC70LjRiNC1INCw0LTQvNGW0L3RltGB0YLRgNCw0YLQuNCy0L3QuNC5INC60L7RgNC40YHRgtGD0LLQsNGHIChyb290KSIKKworIzogdGVybS11dGlscy93YWxsLmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgItC90LXQutC+0YDQtdC60YLQvdC40Lkg0LDRgNCz0YPQvNC10L3RgiDRh9Cw0YHRgyDQvtGH0ZbQutGD0LLQsNC90L3RjzogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtGC0YDQuNC80LDRgtC4IFVJRCBwYXNzd2QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7RgtGA0LjQvNCw0YLQuCDQvdCw0LfQstGDIHR0eSIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAi0KLRgNCw0L3RgdC70Y/RhtGW0LnQvdC1INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDQstGW0LQgJXNAJXMgKCVzKSAoJXMpOiIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICLQvdC1INCx0YPQtNC1INC/0YDQvtGH0LjRgtCw0L3QviAlcyDigJQg0LLQuNC60L7RgNC40YHRgtC+0LLRg9GU0YLRjNGB0Y8gc3RkaW4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzQutC+0YDQuNGB0YLRg9Cy0LDRhz4gWzzQvdCw0LfQstCwIHR0eT5dXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MQorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAi0J3QsNC00ZbRgdC70LDRgtC4INC/0L7QstGW0LTQvtC80LvQtdC90L3RjyDRltC90YjQvtC80YMg0LrQvtGA0LjRgdGC0YPQstCw0YfQtdCy0ZYuXG4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZWZmZWN0aXZlIGdpZCBkb2VzIG5vdCBtYXRjaCBncm91cCBvZiAlcyIKK21zZ3N0ciAi0LXRhNC10LrRgtC40LLQvdC40LkgZ2lkINC90LUg0LLRltC00L/QvtCy0ZbQtNCw0ZQg0LPRgNGD0L/RliAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyDQvdC1INCy0LLRltC50YjQvtCyINC00L4g0YHQuNGB0YLQtdC80LgiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstC40LfQvdCw0YfQuNGC0Lgg0L3QsNC30LLRgyDQstCw0YjQvtCz0L4gdHR5IgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAi0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPICVzINCy0LjQvNC60L3QtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyDRg9Cy0ZbQudGI0L7QsiDQtNC+INGB0LjRgdGC0LXQvNC4INCx0ZbQu9GM0YjQtSDQvtC00L3QvtCz0L4g0YDQsNC30YM7INC90LDQtNGB0LjQu9Cw0ZTQvNC+INC00L4gJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgItC/0L7QvNC40LvQutCwIGNhcmVmdWxwdXRjIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgItCf0L7QstGW0LTQvtC80LvQtdC90L3RjyDQstGW0LQgJXNAJXMgKNGP0LogJXMpINC00L4gJXMg0YMgJTAyZDolMDJkIOKApiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAi0J/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINCy0ZbQtCAlc0AlcyDQvdCwICVzINGDICUwMmQ6JTAyZCAuLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgItCy0LDRiNGWINC/0YDQsNCy0LAg0LTQvtGB0YLRg9C/0YMg0YnQvtC00L4g0LfQsNC/0LjRgdGDINCy0LjQvNC60L3QtdC90L4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIKK21zZ3N0ciAiJXMg0L3QtSDQstCy0ZbQudGI0L7QsiDQtNC+INGB0LjRgdGC0LXQvNC4INC90LAgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICLQv9C+0LLRltC00L7QvNC70LXQvdC90Y8gJXMg0L3QsCAlcyDQstC40LzQutC90LXQvdC+IgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICLQktC40LvRg9GH0LjRgtC4INGE0ZbQu9GM0YLRgNGD0LLQsNC90L3Rj9C8INC30LLQvtGA0L7RgtC90ZYg0LfQsNC/0L7QstC90LXQvdC90Y8g0YDRj9C00LrRltCyLlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorItCf0LDRgNCw0LzQtdGC0YDQuDpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICDQvdC1INCy0LjQstC+0LTQuNGC0Lgg0YHQuNC80LLQvtC70Lgg0LfQstC+0YDQvtGC0L3QvtCz0L4g0YXQvtC00YNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICDQtNC+0LfQstC+0LvQuNGC0Lgg0L/QtdGA0LXRhdC+0LTQuCDQstC/0LXRgNC10LQg0L3QsCDQv9C+0LvQvtCy0LjQvdGDINGA0Y/QtNC60LBcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICDQv9C10YDQtdC00LDRgtC4INC90LXQstGW0LTQvtC80ZYg0LrQtdGA0ZbQstC90ZYg0L/QvtGB0LvRltC00L7QstC90L7RgdGC0ZZcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICDQv9C10YDQtdGC0LLQvtGA0LjRgtC4INC/0YDQvtCx0ZbQu9C4INGDINGC0LDQsdGD0LvRj9GG0ZbRl1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgINC/0LXRgNC10YLQstC+0YDQuNGC0Lgg0YLQsNCx0YPQu9GP0YbRltGXINGDINC/0YDQvtCx0ZbQu9C4XG4iCisiIC1sLCAtLWxpbmVzINCn0JjQodCb0J4gICAgICDQt9Cx0LXRgNGW0LPQsNGC0Lgg0YMg0LHRg9GE0LXRgNGWINC/0YDQuNC90LDQudC80L3RliDQp9CY0KHQm9CeINGA0Y/QtNC60ZbQslxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1MSB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzINGH0LjRgtCw0ZQg0LTQsNC90ZYg0LfRliDRgdGC0LDQvdC00LDRgNGC0L3QvtCz0L4g0LTQttC10YDQtdC70LAg0LTQsNC90LjRhSDRliDQt9Cw0L/QuNGB0YPRlCDRl9GFINC00L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC10LTQtdC90L3RjyDQtNCw0L3QuNGFXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1Cittc2dpZCAiYmFkIC1sIGFyZ3VtZW50IgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LjQuSDQsNGA0LPRg9C80LXQvdGCIC1sIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAi0L/QvtC/0LXRgNC10LTQttC10L3QvdGPOiDQvdC1INCy0LTQsNC70L7RgdGPINGB0YLQstC+0YDQuNGC0Lgg0YDQtdC30LXRgNCy0L3RgyDQutC+0L/RltGOICVzLiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgItC/0L7QstC3INC/0LXRgNGI0LjQuSDRgNGP0LTQvtC6IgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSDRgNGP0LTQvtC6INCy0LbQtSDRgdC60LjQvdGD0YLQviDRgyDQv9C+0YLRltC6IgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80YTQsNC50Ls+Li4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgItCk0ZbQu9GM0YLRgNGD0LLQsNGC0Lgg0LLQuNCy0LXQtNC10L3RliDQtNCw0L3RliBucm9mZiDQtNC70Y8g0L/QvtC/0LXRgNC10LTQvdGM0L7Qs9C+INC/0LXRgNC10LPQu9GP0LTRgyBDUlQuXG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICDQv9GA0LjQtNGD0YjQuNGC0Lgg0L/RltC00LrRgNC10YHQu9GO0LLQsNC90L3Rj1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICDQstC40LLQtdGB0YLQuCDRg9GB0ZYg0L/RltCy0YDRj9C00LrQuFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQmtC+0YDQuNGB0YLRg9Cy0LDQvdC90Y86XG4iCisiICVzIFvQv9C+0YfQsNGC0LrQvtCy0LjQuSDRgdGC0L7QstC/0YfQuNC6IFvQt9Cw0LLQtdGA0YjQsNC70YzQvdC40Lkg0YHRgtC+0LLQv9GH0LjQul1dXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICLQktC40LvRg9GH0LDRgtC4INGE0ZbQu9GM0YLRgNGD0LLQsNC90L3Rj9C8INCy0LrQsNC30LDQvdGWINGB0YLQvtCy0L/Rh9C40LrQuC5cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorbXNnaWQgImZpcnN0IGFyZ3VtZW50IgorbXNnc3RyICLQv9C10YDRiNC40Lkg0LDRgNCz0YPQvNC10L3RgiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAi0LTRgNGD0LPQuNC5INCw0YDQs9GD0LzQtdC90YIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGB0YLQvtCy0L/Rh9C40LoiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICLQvdC10LLQuNC30L3QsNGH0LXQvdCwINC90LDQt9Cy0LAg0YHRgtC+0LLQv9GH0LjQutCwLCDCqyVzwrsiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INGB0L/QuNGB0L7QuiAtLXRhYmxlLW9yZGVyIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjM5NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXJpZ2h0IGxpc3QiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgdC/0LjRgdC+0LogLS10YWJsZS1yaWdodCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YHQv9C40YHQvtC6IC0tdGFibGUtdHJ1bmMiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtbm9leHRyZW1lIGxpc3QiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgdC/0LjRgdC+0LogLS10YWJsZS1ub2V4dHJlbWUiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtd3JhcCBsaXN0IgorbXNnc3RyICLQvdC1INCy0LTQsNC70L7RgdGPINC+0LHRgNC+0LHQuNGC0Lgg0YHQv9C40YHQvtC6IC0tdGFibGUtd3JhcCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDRgdC/0LjRgdC+0LogLS10YWJsZS1oaWRlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgItGA0Y/QtNC+0LogJXp1OiDQtNC70Y8gSlNPTiDQv9C+0YLRgNGW0LHQvdCwINC90LDQt9Cy0LAg0YHRgtC+0LLQv9GH0LjQutCwICV6dSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGRhdGEiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YDQvtC30LzRltGB0YLQuNGC0Lgg0YMg0L/QsNC84oCZ0Y/RgtGWINCy0LjQstC10LTQtdC90ZYg0LTQsNC90ZYiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICLQn9C+0LTRltC70LjRgtC4INGB0L/QuNGB0LrQuCDQvdCwINGB0YLQvtCy0L/Rh9C40LrQuC5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDAKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICAgICAgICAgINGB0YLQstC+0YDQuNGC0Lgg0YLQsNCx0LvQuNGG0Y5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKK21zZ2lkICIgLW4sIC0tdGFibGUtbmFtZSA8bmFtZT4gICAgICAgICAgdGFibGUgbmFtZSBmb3IgSlNPTiBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLXRhYmxlLW5hbWUgPNC90LDQt9Cy0LA+ICAgICAgICAg0L3QsNC30LLQsCDRgtCw0LHQu9C40YbRliDQtNC70Y8g0LLQuNCy0LXQtNC10L3QvdGPIEpTT05cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tdGFibGUtb3JkZXIgPNGB0YLQvtCy0L/Rh9C40LrQuD4gICAg0LLQutCw0LfQsNGC0Lgg0L/QvtGA0Y/QtNC+0Log0LLQuNCy0LXQtNC10L3QvdGPINGB0YLQvtCy0L/Rh9C40LrRltCyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiAtTiwgLS10YWJsZS1jb2x1bW5zIDzQvdCw0LfQstC4PiAgICAgINGB0L/QuNGB0L7QuiDQvdCw0LfQsiDRgdGC0L7QstC/0YfQuNC60ZbQsiwg0LLRltC00L7QutGA0LXQvNC70LXQvdC40YUg0LrQvtC80LDQvNC4XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ0Cittc2dpZCAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIgorbXNnc3RyICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDzRgdGC0L7QstC/0YfQuNC60Lg+INC90LUg0LLQutC70Y7Rh9Cw0YLQuCDQtNC+0LLQs9GWINGC0LXQutGB0YLQvtCy0ZYg0YDRj9C00LrQuCDQt9GWINGB0YLQvtCy0L/Rh9C40LrRltCyINC00L4g0YjQuNGA0LjQvdC4INGB0YLQvtCy0L/Rh9C40LrRltCyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAg0L3QtSDQstC40LLQvtC00LjRgtC4INC30LDQs9C+0LvQvtCy0L7QulxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgINC/0L7QstGC0L7RgNGO0LLQsNGC0Lgg0LfQsNCz0L7Qu9C+0LLQvtC6INC90LAg0LrQvtC20L3RltC5INGB0YLQvtGA0ZbQvdGG0ZZcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDcKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1ILCAtLXRhYmxlLWhpZGUgPNGB0YLQvtCy0L/Rh9C40LrQuD4gICAgINC90LUg0LLQuNCy0L7QtNC40YLQuCDQstC60LDQt9Cw0L3RliDRgdGC0L7QstC/0YfQuNC60LhcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDgKK21zZ2lkICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVtbnM+ICAgICAgcmlnaHQgYWxpZ24gdGV4dCBpbiB0aGVzZSBjb2x1bW5zXG4iCittc2dzdHIgIiAtUiwgLS10YWJsZS1yaWdodCA80YHRgtC+0LLQv9GH0LjQutC4PiAgICDQstC40YDRltCy0L3Rj9GC0Lgg0YLQtdC60YHRgiDQv9GA0LDQstC+0YDRg9GHINGDINCy0LrQsNC30LDQvdC40YUg0YHRgtC+0LLQv9GH0LjQutCw0YVcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPNGB0YLQvtCy0L/Rh9C40LrQuD4g0L7QsdGA0ZbQt9Cw0YLQuCDRgtC10LrRgdGCINGDINCy0LrQsNC30LDQvdC40YUg0YHRgtC+0LLQv9GH0LjQutCw0YUsINGP0LrRidC+INC/0L7RgtGA0ZbQsdC90L5cbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTAKK21zZ2lkICIgLVcsIC0tdGFibGUtd3JhcCA8Y29sdW1ucz4gICAgICAgd3JhcCB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gbmVjZXNzYXJ5XG4iCittc2dzdHIgIiAtVywgLS10YWJsZS13cmFwIDzQv9C+0LfQuNGG0ZbRjz4gICAgICAg0L/QtdGA0LXQvdC+0YHQuNGC0Lgg0YDRj9C00LrQuCDRgyDQstC60LDQt9Cw0L3RltC5INC/0L7Qt9C40YbRltGXLCDRj9C60YnQviDRgtGA0LXQsdCwXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQgZm9yIHRhYmxlXG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICDQstC40LrQvtGA0LjRgdGC0L7QstGD0LLQsNGC0Lgg0LTQu9GPINCy0LjQstC10LTQtdC90L3RjyAtbGlzdCDRhNC+0YDQvNCw0YIgSlNPTiDQtNC70Y8g0YLQsNCx0LvQuNGG0ZZcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIC1yLCAtLXRyZWUgPNGB0YLQvtCy0L/Rh9C40Lo+ICAgICAgICAgICAg0YHRgtC+0LLQv9GH0LjQuiwg0LTQviDRj9C60L7Qs9C+INGB0LvRltC0INCy0LjQstC10YHRgtC4INC00LXRgNC10LLQvtC/0L7QtNGW0LHQvdGDINGH0LDRgdGC0LjQvdGDINGC0LDQsdC70LjRhtGWXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU1Cittc2dpZCAiIC1pLCAtLXRyZWUtaWQgPGNvbHVtbj4gICAgICAgICAgIGxpbmUgSUQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLXRyZWUtaWQgPNGB0YLQvtCy0L/Rh9C40Lo+ICAgICAgICAg0ZbQtNC10L3RgtC40YTRltC60LDRgtC+0YAg0YDRj9C00LrQsCDQtNC70Y8g0LLRgdGC0LDQvdC+0LLQu9C10L3QvdGPINC30LLigJnRj9C30LrRgyDQvNGW0LYg0LTQvtGH0ZbRgNC90ZbQvCDRliDQsdCw0YLRjNC60ZbQstGB0YzQutC40Lwg0LfQsNC/0LjRgdC+0LxcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtcCwgLS10cmVlLXBhcmVudCA80YHRgtC+0LLQv9GH0LjQuj4gICAgINCx0LDRgtGM0LrRltCy0YHRjNC60LjQuSDQt9Cw0L/QuNGBINGDINC30LLigJnRj9C30LrRgyDQtNC+0YfRltGA0L3RltC5LdCx0LDRgtGM0LrRltCy0YHRjNC60LjQuSDQt9Cw0L/QuNGBXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU5Cittc2dpZCAiIC1jLCAtLW91dHB1dC13aWR0aCA8d2lkdGg+ICAgICAgIHdpZHRoIG9mIG91dHB1dCBpbiBudW1iZXIgb2YgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWMsIC0tb3V0cHV0LXdpZHRoIDzRiNC40YDQuNC90LA+ICAgICAg0YjQuNGA0LjQvdCwINCy0LjQstC10LTQtdC90L3RjyDRgyDRgdC40LzQstC+0LvQsNGFXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCittc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcylcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPNGA0Y/QtNC+0Lo+ICAg0YDQvtC30LTRltC70YzQvdC40Log0YHRgtC+0LLQv9GH0LjQutGW0LIg0YMg0LLQuNCy0LXQtNC10L3RltC5INGC0LDQsdC70LjRhtGWLiDQotC40L/QvtCy0LjQvCDRlCDQtNCy0LAg0L/RgNC+0LHRltC70LguXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCittc2dpZCAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlcGFyYXRvciA80YDRj9C00L7Quj4gICAgICAgICAg0LzQvtC20LvQuNCy0ZYg0YDQvtC30LTRltC70YzQvdC40LrQuCDRgyDRgtCw0LHQu9C40YbRllxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgINC30LDQv9C+0LLQvdGO0LLQsNGC0Lgg0YDRj9C00LrQuCDQtNC+INGB0YLQvtCy0L/Rh9C40LrRltCyXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICLQvdC10LrQvtGA0LXQutGC0L3QuNC5INCw0YDQs9GD0LzQtdC90YIg0YHRgtC+0LLQv9GH0LjQutGW0LIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQvtCx0YDQvtCx0LjRgtC4INC90LDQt9Cy0Lgg0YHRgtC+0LLQv9GH0LjQutGW0LIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgItC00LvRjyDQtNC10YDQtdCy0L7Qv9C+0LTRltCx0L3QvtCz0L4g0YTQvtGA0LzQsNGC0YPQstCw0L3QvdGPINGB0LvRltC0INCy0LrQsNC30LDRgtC4INC/0LDRgNCw0LzQtdGC0YDQuCAtLXRyZWUtaWQg0ZYgLS10cmVlLXBhcmVudCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAi0LTQu9GPINGD0YHRltGFINC/0LDRgNCw0LzQtdGC0YDRltCyIC0tdGFibGUtKiDRgdC70ZbQtCDQstC60LDQt9GD0LLQsNGC0Lgg0L/QsNGA0LDQvNC10YLRgCAtLXRhYmxlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAi0LcgLS0ganNvbiDRgdC70ZbQtCDQstC60LDQt9GD0LLQsNGC0Lgg0L/QsNGA0LDQvNC10YLRgCAtLXRhYmxlLWNvbHVtbnMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIDzRhNCw0LnQuz4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU5Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgItCf0L7QutCw0LfQsNGC0Lgg0LLQvNGW0YHRgiDRhNCw0LnQu9CwINGDINGE0L7RgNC80LDRgtGWINGI0ZbRgdGC0L3QsNC00YbRj9GC0LrQvtCy0LjRhSwg0LTQtdGB0Y/RgtC60L7QstC40YUsINCy0ZbRgdGW0LzQutC+0LLQuNGFINGH0LjRgdC10Lsg0LDQsdC+IGFzY2lpLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgINC/0L7QutCw0LfRgyDRgyDQvtC00L3QvtCx0LDQudGC0L7QstC+0LzRgyDQstGW0YHRltC80LrQvtCy0L7QvNGDINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgINC/0L7QutCw0Lcg0YMg0L7QtNC90L7QsdCw0LnRgtC+0LLQvtC80YMg0YHQuNC80LLQvtC70YzQvdC+0LzRgyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAg0LrQsNC90L7QvdGW0YfQvdC40Lkg0L/QvtC60LDQtyDRiNGW0YHRgtC90LDQtNGG0Y/RgtC60L7QstGWK0FTQ0lJXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICDQv9C+0LrQsNC3INGDINC00LLQvtCx0LDQudGC0L7QstC+0LzRgyDQtNC10YHRj9GC0LrQvtCy0L7QvNGDINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAg0L/QvtC60LDQtyDRgyDQtNCy0L7QsdCw0LnRgtC+0LLQvtC80YMg0LLRltGB0ZbQvNC60L7QstC+0LzRgyDRhNC+0YDQvNCw0YLRllxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgINC/0L7QutCw0Lcg0YMg0LTQstC+0LHQsNC50YLQvtCy0L7QvNGDINGI0ZbRgdGC0L3QsNC00YbRj9GC0LrQvtCy0L7QvNGDINGE0L7RgNC80LDRgtGWXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz080YDQtdC20LjQvD5dICAgICDQvtCx0YDQvtCx0LjRgtC4INGB0L/QtdGG0LjRhNGW0LrQsNGC0L7RgNC4INGE0L7RgNC80LDRgtGD0LLQsNC90L3RjyDQutC+0LvRjNC+0YDRltCyXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCittc2dzdHIgIiAtZSwgLS1mb3JtYXQgPGZvcm1hdD4gICAgICAg0YDRj9C00L7QuiDRhNC+0YDQvNCw0YLRgywg0Y/QutC40Lkg0LHRg9C00LUg0LLQuNC60L7RgNC40YHRgtCw0L3QviDQtNC70Y8g0L/QvtC60LDQt9GDINC00LDQvdC40YVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiAtZiwgLS1mb3JtYXQtZmlsZSA80YTQsNC50Ls+ICDRhNCw0LnQuywg0YnQviDQvNGW0YHRgtC40YLRjCDRgNGP0LTQutC4INGE0L7RgNC80LDRgtGW0LJcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiAtbiwgLS1sZW5ndGggPNC00L7QstC20LjQvdCwPiAgICDQvtCx0YDQvtCx0LvRj9GC0Lgg0LvQuNGI0LUg0LLQutCw0LfQsNC90YMg0LTQvtCy0LbQuNC90YMg0LLRhdGW0LTQvdC40YUg0LTQsNC90LjRhVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPNC30YHRg9CyPiAgICAgICAgICDQv9GA0L7Qv9GD0YHRgtC40YLQuCDQstC60LDQt9Cw0L3RgyDQutGW0LvRjNC60ZbRgdGC0Ywg0LHQsNC50YLRltCyINC90LAg0L/QvtGH0LDRgtC60YNcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICDQstC40LLQvtC00LjRgtC4INGW0LTQtdC90YLQuNGH0L3RliDRgNGP0LTQutC4XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1Cittc2dpZCAiYWxsIGlucHV0IGZpbGUgYXJndW1lbnRzIGZhaWxlZCIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0Lcg0YPRgdGW0LzQsCDQsNGA0LPRg9C80LXQvdGC0LDQvNC4INCy0YXRltC00L3QuNGFINGE0LDQudC70ZbQsiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICLQv9C+0LzQuNC70LrQvtCy0LAg0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiDQtNC70Y8g0YHQuNC80LLQvtC70YMg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPICVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IgorbXNnc3RyICIlJXMg0L/QvtGC0YDQtdCx0YPRlCDQstC40LfQvdCw0YfQtdC90L3RjyDRgtC+0YfQvdC+0YHRgtGWINCw0LHQviDQutGW0LvRjNC60L7RgdGC0ZYg0LHQsNC50YLRltCyIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgZm9ybWF0IHslc30iCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQtSDRhNC+0YDQvNCw0YLRg9Cy0LDQvdC90Y8geyVzfSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgItC/0L7QvNC40LvQutC+0LLQuNC5INGB0LjQvNCy0L7QuyDQv9C10YDQtdGC0LLQvtGA0LXQvdC90Y8gJSUlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAi0LrRltC70YzQutGW0YHRgtGMINCx0LDQudGC0ZbQsiDQtyDQtNC10LrRltC70YzQutC+0LzQsCDRgdC40LzQstC+0LvQsNC80Lgg0L/QtdGA0LXRgtCy0L7RgNC10L3QvdGPIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgItCf0YDQvtGH0LjRgtCw0YLQuCDQvtC00LjQvSDRgNGP0LTQvtC6LlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICLQpNGW0LvRjNGC0YAg0YPQstCw0LbQvdC+0LPQviDRh9C40YLQsNC90L3RjyDRhNCw0LnQu9GW0LIg0LTQu9GPINC/0LXRgNC10LPQu9GP0LTRgyBDUlQuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorbXNnaWQgIiAtZCAgICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5naW5nIGJlbGxcbiIKK21zZ3N0ciAiIC1kICAgICAgICAgINCy0LjQstC10YHRgtC4INC00L7QstGW0LTQutC+0LLRliDQv9C+0LLRltC00L7QvNC70LXQvdC90Y8g0LfQsNC80ZbRgdGC0Ywg0LfQstGD0LrQvtCy0L7Qs9C+INGB0LjQs9C90LDQu9GDXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAg0YDQsNGF0YPQstCw0YLQuCDRgNGP0LTQutC4INGDINCx0YPRhNC10YDRliDRgNGP0LTQutGW0LIg0YMg0L/QsNC84oCZ0Y/RgtGWLCDQsCDQvdC1INGA0Y/QtNC60Lgg0L3QsCDQtdC60YDQsNC90ZZcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCittc2dpZCAiIC1sICAgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorbXNnc3RyICIgLWwgICAgICAgICAg0L/RgNC40LTRg9GI0LjRgtC4INC/0LDRg9C30YMg0L/RltGB0LvRjyDRgdC40LzQstC+0LvRgyDQv9C+0LTQsNGH0ZYg0YHRgtC+0YDRltC90LrQuFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgINC90LUg0LPQvtGA0YLQsNGC0Lgg0LLQvNGW0YHRgiwg0L/QvtC60LDQt9GD0LLQsNGC0Lgg0YLQtdC60YHRgiDRliDQstC40YDRltC30LDRgtC4INC60ZbQvdGG0ZYg0LTQvtCy0LPQuNGFINGA0Y/QtNC60ZbQslxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgINC90LUg0LPQvtGA0YLQsNGC0Lgg0LLQvNGW0YHRgiwg0YHQv9C+0YDQvtC20L3Rj9GC0Lgg0LXQutGA0LDQvSDRgyDRgNCw0LfRliDQt9Cw0L/QvtCy0L3QtdC90L3Rj1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAg0L7QseKAmdGU0LTQvdGD0LLQsNGC0Lgg0LTQtdC60ZbQu9GM0LrQsCDQv9C+0YDQvtC20L3RltGFINGA0Y/QtNC60ZbQsiDRgyDQvtC00LjQvVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDQKK21zZ2lkICIgLXUgICAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgINC/0YDQuNC00YPRiNC40YLQuCDQv9GW0LTQutGA0LXRgdC70Y7QstCw0L3QvdGPXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC080YfQuNGB0LvQvj4gICAg0LrRltC70YzQutGW0YHRgtGMINGA0Y/QtNC60ZbQsiDQvdCwINC10LrRgNCw0L1cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzzRh9C40YHQu9C+PiAgICDQv9C+0LrQsNC30LDRgtC4INC/0L7Rh9Cw0YLQvtC6INGE0LDQudC70LAg0Lcg0YDRj9C00LrQsCDQtyDQstC60LDQt9Cw0L3QuNC8INGH0LjRgdC70L7QvCDQvdC+0LzQtdGA0L7QvFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiICsvPNGA0Y/QtNC+0Lo+ICDQv9C+0LrQsNC30LDRgtC4INC/0L7Rh9Cw0YLQvtC6INGE0LDQudC70LAg0Lcg0L/QvtC30LjRhtGW0Zcg0LfQvdCw0LnQtNC10L3QvtCz0L4g0LLRltC00L/QvtCy0ZbQtNC90LjQutCwINGA0Y/QtNC60LBcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQuNC5INC/0LDRgNCw0LzQtdGC0YAgLSVzIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqICVzOiDQutCw0YLQsNC70L7QsyAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlczog0L3QtSDRlCDRgtC10LrRgdGC0L7QstC40Lwg0YTQsNC50LvQvtC8ICoqKioqKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiW9CS0LjQutC+0YDQuNGB0YLQvtCy0YPQudGC0LUgcSDRh9C4IFEg0YnQvtCxINCy0LjQudGC0LhdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0t0JTQsNC70ZYtLSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiKNCd0LDRgdGC0YPQv9C90LjQuSDRhNCw0LnQuzogJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJb0J3QsNGC0LjRgdC90ZbRgtGMINC/0YDQvtCx0ZbQuywg0YnQvtCxINC/0YDQvtC00L7QstC20LjRgtC4LCDQsNCx0L4gJ3EnLCDRidC+0LEg0LLQuNC50YLQuC5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAiLi4u0L3QsNC30LDQtCDQvdCwICVkINGB0YLQvtGA0ZbQvdC60YMiCittc2dzdHJbMV0gIi4uLtC90LDQt9Cw0LQg0L3QsCAlZCDRgdGC0L7RgNGW0L3QutC4IgorbXNnc3RyWzJdICIuLi7QvdCw0LfQsNC0INC90LAgJWQg0YHRgtC+0YDRltC90L7QuiIKK21zZ3N0clszXSAiLi4u0L3QsNC30LDQtCDQvdCwICVkINGB0YLQvtGA0ZbQvdC60YMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLtC/0YDQvtC/0YPRgdC60LDRlNC80L4gJWQg0YDRj9C00L7QuiIKK21zZ3N0clsxXSAiLi4u0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviAlZCDRgNGP0LTQutC4IgorbXNnc3RyWzJdICIuLi7Qv9GA0L7Qv9GD0YHQutCw0ZTQvNC+ICVkINGA0Y/QtNC60ZbQsiIKK21zZ3N0clszXSAiLi4u0L/RgNC+0L/Rg9GB0LrQsNGU0LzQviAlZCDRgNGP0LTQvtC6IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKtCd0LDQt9Cw0LQqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI4NAorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAi0JLRltC00YHRg9GC0L3RltC5INC/0L7Qv9C10YDQtdC00L3RltC5INGA0LXQs9GD0LvRj9GA0L3QuNC5INCy0LjRgNCw0LciCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisi0JHRltC70YzRiNGW0YHRgtGMINC60L7QvNCw0L3QtCDQvNC+0LbRg9GC0Ywg0LzQsNGC0Lgg0L3QtdC+0LHQvtCyJ9GP0LfQutC+0LLQuNC5INGH0LjRgdC70L7QstC40Lkg0L/QsNGA0LDQvNC10YLRgCBrLiAg0KLQuNC/0L7QstGWINC30L3QsNGH0LXQvdC90Y8g0YMg0LrRg9GC0L7QstC40YUg0LTRg9C20LrQsNGFLlxuIgorItCX0ZbRgNC+0YfQutCwICgqKSDQvtC30L3QsNGH0LDRlCwg0YnQviDQv9Cw0YDQsNC80LXRgtGAINGB0YLQsNGUINC90L7QstC40Lwg0YLQuNC/0L7QstC40Lwg0LfQvdCw0YfQtdC90L3Rj9C8LlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAg0JLQuNCy0ZbQtCDQvdCw0YHRgtGD0L/QvdC40YUgayDRgNGP0LTQutGW0LIg0YLQtdC60YHRgtGDIFvQv9C+0YLQvtGH0L3QuNC5INGA0L7Qt9C80ZbRgCDQtdC60YDQsNC90YNdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAg0JLQuNCy0ZbQtCDQvdCw0YHRgtGD0L/QvdC40YUgayDRgNGP0LTQutGW0LIg0YLQtdC60YHRgtGDIFvQv9C+0YLQvtGH0L3QuNC5INGA0L7Qt9C80ZbRgCDQtdC60YDQsNC90YNdKlxuIgorIjxlbnRlcj4gICAgICAgICAgICAgICAgINCS0LjQstGW0LQg0L3QsNGB0YLRg9C/0L3QuNGFIGsg0YDRj9C00LrRltCyINGC0LXQutGB0YLRgyBbMV0qXG4iCisiZCDQsNCx0L4gY3RybC1EICAgICAgICAgICAg0J/RgNC+0LrRgNGD0YLQuNGC0LggayDRgNGP0LTQutGW0LIgW9C/0L7RgtC+0YfQvdC40Lkg0YDQvtC30LzRltGAINC/0YDQvtC60YDRg9GC0LrQuCwg0YHQv9C+0YfQsNGC0LrRgyAxMV0qXG4iCisicSDQsNCx0L4gUSDQsNCx0L4gPGludGVycnVwdD4g0JLQuNC50YLQuCDQtyBtb3JlXG4iCisicyAgICAgICAgICAgICAgICAgICAgICAg0J/QtdGA0LXQudGC0Lgg0LLQv9C10YDQtdC0INC90LAgayDRgNGP0LTQutGW0LIg0YLQtdC60YHRgtGDIFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgINCf0LXRgNC10LnRgtC4INCy0L/QtdGA0LXQtCDQvdCwIGsg0LXQutGA0LDQvdGW0LIg0YLQtdC60YHRgtGDIFsxXVxuIgorImIg0LDQsdC+IGN0cmwtQiAgICAgICAgICAgINCf0LXRgNC10LnRgtC4INC90LDQt9Cw0LQg0L3QsCBrINC10LrRgNCw0L3RltCyINGC0LXQutGB0YLRgyBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICDQn9C10YDQtdC50YLQuCDRgyDQvNGW0YHRhtC1INC/0L7Rh9Cw0YLQutGDINC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDQv9C+0YjRg9C60YNcbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICDQktGW0LTQvtCx0YDQsNC30LjRgtC4INC/0L7RgtC+0YfQvdC40Lkg0L3QvtC80LXRgCDRgNGP0LTQutCwXG4iCisiLzzRgNC10LPRg9C70Y/RgNC90LjQuSDQstC40YDQsNC3PiAgICAg0JfQvdCw0LnRgtC4IGst0Lkg0LLQuNC/0LDQtNC+0Log0LfQsdGW0LPRgyDQtyDRgNC10LPRg9C70Y/RgNC90LjQvCDQstC40YDQsNC30L7QvCBbMV1cbiIKKyJuICAgICAgICAgICAgICAgICAgICAgICDQl9C90LDQudGC0Lggay3QuSDQstC40L/QsNC00L7QuiDQt9Cx0ZbQs9GDINC3INC+0YHRgtCw0L3QvdGW0Lwg0YDQtdCzLtCy0LjRgNCw0LfQvtC8IFsxXVxuIgorIiE80LrQvNC90LQ+INCw0LHQviA6ITzQutC80L3QtD4gICAg0JLQuNC60L7QvdCw0YLQuCA80LrQvNC90LQ+INGDINC+0LHQvtC70L7QvdGG0ZZcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICDQl9Cw0L/Rg9GB0YLQuNGC0LggL3Vzci9iaW4vdmkg0Lcg0L/QvtGC0L7Rh9C90L7Qs9C+INGA0Y/QtNC60LBcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICDQntC90L7QstC40YLQuCDQstC80ZbRgdGCINC10LrRgNCw0L3Rg1xuIgorIjpuICAgICAgICAgICAgICAgICAgICAgINCf0LXRgNC10LnRgtC4INC90LAgay3QuSDRgNGP0LTQvtC6INGE0LDQudC70YMgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAg0J/QtdGA0LXQudGC0Lgg0L3QsCBrLdC5INC/0L7Qv9C10YDQtdC00L3RltC5INGE0LDQudC7IFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgINCS0ZbQtNC+0LHRgNCw0LfQuNGC0Lgg0L3QsNC30LLRgyDQv9C+0YLQvtGH0L3QvtCz0L4g0YTQsNC50LvRgyDRgtCwINC90L7QvNC10YAg0YDRj9C00LrQsFxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgINCf0L7QstGC0L7RgNC40YLQuCDQv9C+0L/QtdGA0LXQtNC90Y4g0LrQvtC80LDQvdC00YNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM5NCB0ZXh0LXV0aWxzL21vcmUuYzoxNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJb0J3QsNGC0LjRgdC90ZbRgtGMICdoJyDRidC+0LEg0L/QtdGA0LXQs9C70Y/QvdGD0YLQuCDQtNC+0LLRltC00LrRgy5dIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBsaW5lICVkIgorbXNnc3RyICJcIiVzXCIg0YDRj9C00L7QuiAlZCIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW9Cd0LUg0YTQsNC50LtdINGA0Y/QtNC+0LogJWQiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1MTUKK21zZ2lkICIgIE92ZXJmbG93XG4iCittc2dzdHIgIiAg0J/QtdGA0LXQv9C+0LLQvdC10L3QvdGPXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIuLi7Qv9C10YDQtdGF0ZbQtFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyLQqNCw0LHQu9C+0L0g0L3QtSDQt9C90LDQudC00LXQvdC+XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2MDQgdGV4dC11dGlscy9wZy5jOjEwMzUgdGV4dC11dGlscy9wZy5jOjExODEKK21zZ2lkICJQYXR0ZXJuIG5vdCBmb3VuZCIKK21zZ3N0ciAi0KjQsNCx0LvQvtC9INC90LUg0LfQvdCw0LnQtNC10L3QviIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgItC/0L7QvNC40LvQutCwINC30LDQv9GD0YHQutGDXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NjYKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDQv9GA0L7RhtC10YFcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyIuLi7Qn9C10YDQtdGF0ZbQtCAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAiLi4u0J/QtdGA0LXRhdGW0LQg0LTQviDRhNCw0LnQu9GDIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4u0J/QtdGA0LXRhdGW0LQg0L3QsNC30LDQtCDQtNC+INGE0LDQudC70YMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE5OTUKK21zZ2lkICJMaW5lIHRvbyBsb25nIgorbXNnc3RyICLQoNGP0LTQvtC6INC90LDQtNGC0L4g0LTQvtCy0LPQuNC5IgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAi0J3QtdC80LDRlCDQv9C+0L/QtdGA0LXQtNC90YzQvtGXINC60L7QvNCw0L3QtNC4INC00LvRjyDQt9Cw0LzRltC90LgiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTIKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAg0YbQtSDQtNC+0LLRltC00LrQvtCy0LUg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPXG4iCisiICBxINCw0LHQviBRICAgICAgICAgICAgICAgICDQstC40LnRgtC4INC3INC/0YDQvtCz0YDQsNC80LhcbiIKKyIgIDzRgdC40LzQstC+0Lsg0L3QvtCy0L7Qs9C+INGA0Y/QtNC60LA+ICAg0L3QsNGB0YLRg9C/0L3QsCDRgdGC0L7RgNGW0L3QutCwXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICDQv9C10YDQtdC50YLQuCDQvdCwINGB0YLQvtGA0ZbQvdC60YMg0LLQv9C10YDQtdC0XG4iCisiICBkINCw0LHQviBeRCAgICAgICAgICAgICAgICDQstC/0LXRgNC10LQg0L3QsCDQv9GW0LIg0YHRgtC+0YDRltC90LrQuFxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAg0L3QsNGB0YLRg9C/0L3QuNC5INGA0Y/QtNC+0LpcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgINC+0YHRgtCw0L3QvdGPINGB0YLQvtGA0ZbQvdC60LBcbiIKKyIgIC/QstC40YDQsNC3LyAgICAgICAgICAgICAgICAg0YjRg9C60LDRgtC4INCy0LjRgNCw0Lcg0LLQv9C10YDQtdC0INC30LAg0YLQtdC60YHRgtC+0LxcbiIKKyIgID/QstC40YDQsNC3PyDQsNCx0L4gXtCy0LjRgNCw0LdeICAgICDRiNGD0LrQsNGC0Lgg0LLQuNGA0LDQtyDQvdCw0LfQsNC0INC30LAg0YLQtdC60YHRgtC+0LxcbiIKKyIgIC4g0LDQsdC+IF5MICAgICAgICAgICAgICAgINC+0L3QvtCy0LjRgtC4INCy0LzRltGB0YIg0LXQutGA0LDQvdCwXG4iCisiICB3INCw0LHQviB6ICAgICAgICAgICAgICAgICDQstGB0YLQsNC90L7QstC40YLQuCDRgNC+0LfQvNGW0YAg0YHRgtC+0YDRltC90LrQuCDRliDQv9C10YDQtdC50YLQuCDQtNCw0LvRllxuIgorIiAgcyDQvdCw0LfQstCwX9GE0LDQudC70LAgICAgICAgICAgINC30LHQtdGA0LXQs9GC0Lgg0L/QvtGC0L7Rh9C90ZYg0LTQsNC90ZYg0LTQviDRhNCw0LnQu9CwXG4iCisiICAh0LrQvtC80LDQvdC00LAgICAgICAgICAgICAgICAg0LrQtdGA0YPQstCw0L3QvdGPINC3INC60L7QvNCw0L3QtNC90L7RlyDQvtCx0L7Qu9C+0L3QutC4XG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICDQv9C10YDQtdC50YLQuCDQtNC+INC/0L7Qv9C10YDQtdC00L3RjNC+0LPQviDRhNCw0LnQu9CwXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICDQv9C10YDQtdC50YLQuCDQtNC+INC90LDRgdGC0YPQv9C90L7Qs9C+INGE0LDQudC70LBcbiIKKyJcbiIKKyLQoyDQsdCw0LPQsNGC0YzQvtGFINC60L7QvNCw0L3QtNCw0YUg0L/QtdGA0LXQtNCx0LDRh9C10L3QviDQtNC+0LTQsNCy0LDQvdC90Y8g0L/QtdGA0LXQtCDQutC+0LzQsNC90LTQvtGOINGH0LjRgdC70LAsINC/0YDQuNC60LvQsNC0OlxuIgorIisxPNGB0LjQvNCy0L7QuyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsD4gKNC90LDRgdGC0YPQv9C90LAg0YHRgtC+0YDRltC90LrQsCk7IC0xPNGB0LjQvNCy0L7QuyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsD5cbiIKKyIo0L/QvtC/0LXRgNC10LTQvdGPINGB0YLQvtGA0ZbQvdC60LApOyAxPNGB0LjQvNCy0L7QuyDQvdC+0LLQvtCz0L4g0YDRj9C00LrQsD4gKNC/0LXRgNGI0LAg0YHRgtC+0YDRltC90LrQsCkuXG4iCisiXG4iCisi0JTQuNCyLiDQtNC+0LrRg9C80LXQvdGC0LDRhtGW0Y4g0LTQviBwZygxKSwg0YnQvtCxINC00ZbQt9C90LDRgtC40YHRjyDQsdGW0LvRjNGI0LUuXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIgorbXNnc3RyICIgJXMgW9C/0LDRgNCw0LzQtdGC0YDQuF0gWyvRgNGP0LTQvtC6XSBbKy/RiNCw0LHQu9C+0L0vXSBb0YTQsNC50LvQuF1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgItCf0L7RgdGC0L7RgNGW0L3QutC+0LLQsCDQvdCw0LLRltCz0LDRhtGW0Y8g0YLQtdC60YHRgtC+0LLQuNC80Lgg0YTQsNC50LvQsNC80LguXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAt0YfQuNGB0LvQviAgICAgICDQutGW0LvRjNC60ZbRgdGC0Ywg0YDRj9C00LrRltCyINC90LAg0YHRgtC+0YDRltC90LrRg1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICDRgdC/0L7RgNC+0LbQvdC40YLQuCDQtdC60YDQsNC9INC/0LXRgNC10LQg0L/QvtC60LDQt9C+0Lwg0LTQsNC90LjRhVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQwCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIgLWUgICAgICAgICAgINC90LUg0L/RgNC40LfRg9C/0LjQvdGP0YLQuCDRgNC+0LHQvtGC0YMg0L3QsNC/0YDQuNC60ZbQvdGG0ZYg0YTQsNC50LvQsFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQxCittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgINC90LUg0YDQvtC30LTRltC70Y/RgtC4INC00L7QstCz0ZYg0YDRj9C00LrQuFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQyCittc2dpZCAiIC1uICAgICAgICAgICB0ZXJtaW5hdGUgY29tbWFuZCB3aXRoIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiAgICAgICAgICAg0LfQsNCy0LXRgNGI0LjRgtC4INCy0LjQutC+0L3QsNC90L3RjyDQutC+0LzQsNC90LTQuCDRgdC40LzQstC+0LvQvtC8INC90L7QstC+0LPQviDRgNGP0LTQutCwXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiAtcCA80LfQsNC/0LjRgj4gICDQstC60LDQt9Cw0YLQuCDQt9Cw0L/QuNGCXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDQKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgINCy0LjQvNC60L3Rg9GC0Lgg0LXQutGA0LDQvdGD0LLQsNC90L3RjyDRgdC40LzQstC+0LvRltCyINC+0LHQvtC70L7QvdC60LhcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg0LLQuNCy0LXRgdGC0Lgg0L/QvtCy0ZbQtNC+0LzQu9C10L3QvdGPINC00L4g0YHRgtCw0L3QtNCw0YDRgtC90L7Qs9C+INCy0LjQstC10LTQtdC90L3RjyAoc3Rkb3V0KVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK9GH0LjRgdC70L4gICAgICAg0L/QvtGH0LDRgtC4INC3INCy0LrQsNC30LDQvdC+0LPQviDRgNGP0LTQutCwXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy/RiNCw0LHQu9C+0L0vICAgINC/0L7Rh9Cw0YLQuCDQtyDRgNGP0LTQutCwLCDRidC+INC80ZbRgdGC0LjRgtGMINGI0LDQsdC70L7QvVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAi0L/QsNGA0LDQvNC10YLRgCDQv9C+0YLRgNC10LHRg9GUINCy0LrQsNC30YPQstCw0L3QvdGPINCw0YDQs9GD0LzQtdC90YLRgyAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAi0L3QtdC/0YDQuNC/0YPRgdGC0LjQvNC40Lkg0L/QsNGA0LDQvNC10YLRgCAtICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY3Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi7Qv9C10YDQtdGF0ZbQtCDQstC/0LXRgNC10LRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLtC/0LXRgNC10YXRltC0INC90LDQt9Cw0LRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAi0J3QtdC80LDRlCDQvdCw0YHRgtGD0L/QvdC+0LPQviDRhNCw0LnQu9GDIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAi0J3QtdC80LDRlCDQv9C+0L/QtdGA0LXQtNC90YzQvtCz0L4g0YTQsNC50LvRgyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAi0J/QvtC80LjQu9C60LAg0YfQuNGC0LDQvdC90Y8g0Lcg0YTQsNC50LvQsCAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIgorbXNnc3RyICLQndC10L7Rh9GW0LrRg9Cy0LDQvdC40Lkg0LrRltC90LXRhtGMINGE0LDQudC70LAg0YMg0YTQsNC50LvRliAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgItCd0LXQstGW0LTQvtC80LAg0L/QvtC80LjQu9C60LAg0YMg0YTQsNC50LvRliAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjk0OQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgItCd0LUg0LLQtNCw0LvQvtGB0Y8g0YHRgtCy0L7RgNC40YLQuCDRgtC40LzRh9Cw0YHQvtCy0LjQuSDRhNCw0LnQuyIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgItCf0L7QvNC40LvQutCwINCg0JI6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKNCa0ZbQvdC10YbRjCDRhNCw0LnQu9GDKSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMzAgdGV4dC11dGlscy9wZy5jOjExNTYKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgItCd0LXQvNCw0ZQg0LfQsdC10YDQtdC20LXQvdC+0LPQviDRgyDQv9Cw0Lwn0Y/RgtGWINGA0Y/QtNC60YMg0L/QvtGI0YPQutGDIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIxMQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAi0L3QtSDQstC00LDQu9C+0YHRjyDQstGW0LTQutGA0LjRgtC4ICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAi0LfQsdC10YDQtdC20LXQvdC+IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAiOiDQutC+0LzQsNC90LTQsCAhINC90LUg0LTQvtC/0YPRgdGC0LjQvNCwINGDINGA0LXQttC40LzRliByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAi0L/QvtC80LjQu9C60LAg0LLQuNC60L7QvdCw0L3QvdGPIGZvcmsoKSwg0YHQv9GA0L7QsdGD0LnRgtC1INC/0ZbQt9C90ZbRiNC1INGJ0LUg0YDQsNC3XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIo0J3QsNGB0YLRg9C/0L3QuNC5INGE0LDQudC7OiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIMKpIEd1bm5hciBSaXR0ZXIsIDIwMDDigJMyMDAxLiDQktGB0ZYg0L/RgNCw0LLQsCDQt9Cw0YHRgtC10YDQtdC20LXQvdC+LlxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU5NCB0ZXh0LXV0aWxzL3BnLmM6MTY2NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiCittc2dzdHIgItC90LUg0LLQtNCw0LvQvtGB0Y8g0L7QsdGA0L7QsdC40YLQuCDQt9C90LDRh9C10L3QvdGPINC60ZbQu9GM0LrQvtGB0YLRliDRgNGP0LTQutGW0LIg0L3QsCDRgdGC0L7RgNGW0L3QutGDIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICLQmtC+0YDQuNGB0YLRg9Cy0LDQvdC90Y86ICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFvRhNCw0LnQuyAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODEKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgItCe0LHQtdGA0YLQsNC90L3RjyDRgNGP0LTQutGW0LIg0LfQsCDRgdC40LzQstC+0LvQsNC80LguXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvQv9Cw0YDQsNC80LXRgtGA0LhdIFs80YTQsNC50Ls+IC4uLl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICLQn9GW0LTQutGA0LXRgdC70Y7QstCw0YLQuC5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OAorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtdCwgLVQsIC0tdGVybWluYWwg0KLQldCg0JzQhtCd0JDQmyAg0L/QtdGA0LXQstC40LfQvdCw0YfQuNGC0Lgg0LfQvNGW0L3QvdGDINGB0LXRgNC10LTQvtCy0LjRidCwIFRFUk1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgINC/0ZbQtNC60YDQtdGB0LvRjtCy0LDQvdC90Y8g0L/QvtC30L3QsNGH0LDRlNGC0YzRgdGPINC+0LrRgNC10LzQuNC8INGA0Y/QtNC60L7QvFxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICLQv9GA0L7QsdC70LXQvNCwINC/0YDQuCDRh9C40YLQsNC90L3RliB0ZXJtaW5mbyIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgItGC0LXRgNC80ZbQvdCw0Lsgwqslc8K7INC90LUg0L3QsNC70LXQttC40YLRjCDQtNC+INGB0L/QuNGB0LrRgyDQstGW0LTQvtC80LjRhSwg0L/QvtCy0LXRgNGC0LDRlNC80L7RgdGPINC00L4g0YLQuNC/0L7QstC+0LPQviwgwqtkdW1iwrsiCisKKyM6IHRleHQtdXRpbHMvdWwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIKK21zZ3N0ciAi0L3QtdCy0ZbQtNC+0LzQsCDQutC10YDRltCy0L3QsCDQv9C+0YHQu9GW0LTQvtCy0L3RltGB0YLRjCDRgyDQstGF0ZbQtNC90LjRhSDQtNCw0L3QuNGFOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAi0KDRj9C00L7QuiDQstGF0ZbQtNC90LjRhSDQtNCw0L3QuNGFINGUINC90LDQtNGC0L4g0LTQvtCy0LPQuNC8LiIKZGlmZiAtLWdpdCBhL3BvL3VwZGF0ZS1wb3RmaWxlcyBiL3BvL3VwZGF0ZS1wb3RmaWxlcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44ODRlNGQ5Ci0tLSAvZGV2L251bGwKKysrIGIvcG8vdXBkYXRlLXBvdGZpbGVzCkBAIC0wLDAgKzEsNDEgQEAKKyMhL2Jpbi9zaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisKKyMgZmluZCBhbGwgZ2l0LXRyYWNrZWQgYW5kIGV4aXN0aW5nICouYyBhbmQgKi5oIGZpbGVzCisjIGV4Y2x1ZGUgc29tZSAoc3ViKWRpcmVjdG9yaWVzCisjIHNvcnQgdGhlIGxpc3QKKworaWYgWyAhIC1mICJwby9NYWtldmFycyIgXTsgdGhlbgorCWVjaG8gImVycm9yOiB1cGRhdGUtcG90ZmlsZXMgbXVzdCBydW4gaW4gdGhlIHRvcC1sZXZlbCBkaXJlY3RvcnkiID4mMgorCWV4aXQgMQorZmkKKworIyBmaW5kIGFsbCBnaXQtdHJhY2tlZCBmaWxlcworc291cmNlX2ZpbGVzPSQoZ2l0IGxzLWZpbGVzIC4gMj4vZGV2L251bGwpCitpZiBbICQ/IC1uZSAwIF0gfHwgWyAteiAiJHNvdXJjZV9maWxlcyIgXTsgdGhlbgorCWVjaG8gIiQwOiB3YXJuaW5nOiB1cGRhdGUtcG90ZmlsZXMgcmVxdWlyZXMgZ2l0IiA+JjIKKwkjIHdlIHN0aWxsIGdvIHRocm91Z2ggdGhlIHJlc3Qgb2YgdGhpcyBzY3JpcHQgdG8gcHJvdmlkZSBhdCBsZWFzdCBhbiBlbXB0eQorCSMgbGlzdCBvciByZW1vdmUgbm9uLWV4aXN0aW5nIChkZWxldGVkKSBmaWxlcworCXNvdXJjZV9maWxlcz0kKGNhdCBwby9QT1RGSUxFUy5pbiAyPi9kZXYvbnVsbCkKK2ZpCisKKyMgYXBwbHkgaW5jbHVkZS9leGNsdWRlIHBhdHRlcm5zCitzb3VyY2VfZmlsZXM9JCgKKwllY2hvICIkc291cmNlX2ZpbGVzIiBcCisJfCBzZWQgXAorCQktZSAnL1woXC5oXHxcLmNcKSQvIWQnIFwKKwkJLWUgJy9edGVzdHNcLy9kJyBcCisJCS1lICcvXC9zYW1wbGVzXC8vZCcgXAorCQktZSAnL15Eb2N1bWVudGF0aW9uXC8vZCcgXAorKQorCisjIHRocm93IGF3YXkgbm9uLWV4aXN0aW5nIGZpbGVzIChkaXJ0eSBnaXQgcmVwbykKK2VjaG8gIiRzb3VyY2VfZmlsZXMiIFwKKwl8IHhhcmdzIC1yIGZpbmQgMj4vZGV2L251bGwgXAorCXwgc29ydCBcCisJPiBwby9QT1RGSUxFUy5pbgorCisjIGlmIHRoaXMgc2NyaXB0IGlzIGJyb2tlbiB0aGVuIHdlIGhhdmUgcHJvYmFibHkgYW4gZW1wdHkgbGlzdAorWyAtcyBwby9QT1RGSUxFUy5pbiBdIHx8IGVjaG8gIiQwOiB3YXJuaW5nOiBwby9QT1RGSUxFUy5pbiBpcyBlbXB0eSIgPiYyCmRpZmYgLS1naXQgYS9wby91dGlsLWxpbnV4LnBvdCBiL3BvL3V0aWwtbGludXgucG90Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBhMDhlYzEKLS0tIC9kZXYvbnVsbAorKysgYi9wby91dGlsLWxpbnV4LnBvdApAQCAtMCwwICsxLDE5MTkyIEBACisjIFNPTUUgREVTQ1JJUFRJVkUgVElUTEUuCisjIENvcHlyaWdodCAoQykgWUVBUiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBzYW1lIGxpY2Vuc2UgYXMgdGhlIHV0aWwtbGludXggcGFja2FnZS4KKyMgRklSU1QgQVVUSE9SIDxFTUFJTEBBRERSRVNTPiwgWUVBUi4KKyMKKyMsIGZ1enp5Cittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMzItcmMyLTU5LTJkYWRcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogWUVBUi1NTy1EQSBITzpNSStaT05FXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBGVUxMIE5BTUUgPEVNQUlMQEFERFJFU1M+XG4iCisiTGFuZ3VhZ2UtVGVhbTogTEFOR1VBR0UgPExMQGxpLm9yZz5cbiIKKyJMYW5ndWFnZTogXG4iCisiTUlNRS1WZXJzaW9uOiAxLjBcbiIKKyJDb250ZW50LVR5cGU6IHRleHQvcGxhaW47IGNoYXJzZXQ9Q0hBUlNFVFxuIgorIkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXRcbiIKKyJQbHVyYWwtRm9ybXM6IG5wbHVyYWxzPUlOVEVHRVI7IHBsdXJhbD1FWFBSRVNTSU9OO1xuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjUzIGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyNDQgZGlzay11dGlscy9kZWxwYXJ0LmM6NTMKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxMzMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6OTUgbWlzYy11dGlscy9raWxsLmM6MjY5CisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMTEgbWlzYy11dGlscy9yZW5hbWUuYzoxOTkgbWlzYy11dGlscy93aGVyZWlzLmM6NTE4CisjOiBzeXMtdXRpbHMvZmxvY2suYzoxNzUgc3lzLXV0aWxzL2lwY3JtLmM6MTYwIHN5cy11dGlscy9sZGF0dGFjaC5jOjM2OAorIzogc3lzLXV0aWxzL3JlbmljZS5jOjE0NiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNDEgc3lzLXV0aWxzL3R1bmVscC5jOjE1MgorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NTkgdGVybS11dGlscy9hZ2V0dHkuYzo4NjAgdGVybS11dGlscy9hZ2V0dHkuYzo4NjgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODY5Cittc2dpZCAibm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTggZGlzay11dGlscy9ibG9ja2Rldi5jOjI5NSBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDM5CisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDY1IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjcxOCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1OQorIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY0IGRpc2stdXRpbHMvZmRpc2suYzoxMDY2CisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozMjEgZGlzay11dGlscy9mZGlzay1saXN0LmM6MzYxCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozODAgZGlzay11dGlscy9mc2NrLmM6MTQ3MAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTEyCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDIgZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5MgorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjE3MSBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjYwCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODAwIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyNAorIzogZGlzay11dGlscy9ta3N3YXAuYzoyMTcgZGlzay11dGlscy9ta3N3YXAuYzoyNDYgZGlzay11dGlscy9wYXJ0eC5jOjEwMTMKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMyBkaXNrLXV0aWxzL3NmZGlzay5jOjY1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjcxMQorIzogZGlzay11dGlscy9zZmRpc2suYzo3NjUgZGlzay11dGlscy9zZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzo4OTgKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTM5IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAwNgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY1IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NjUgbGliZmRpc2svc3JjL2JzZC5jOjY0MAorIzogbGliL3BhdGguYzo5NSBsaWIvcGF0aC5jOjExMyBsb2dpbi11dGlscy9pc2xvY2FsLmM6ODcgbG9naW4tdXRpbHMvbGFzdC5jOjY3NAorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ0MyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDgwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjEzNCBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM1MgorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzQgbG9naW4tdXRpbHMvdmlwdy5jOjI2MSBsb2dpbi11dGlscy92aXB3LmM6Mjc5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDk5IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIyMyBtaXNjLXV0aWxzL21jb29raWUuYzoxMTUKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxOTggc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODIgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5NgorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI0IHN5cy11dGlscy9lamVjdC5jOjQ5OSBzeXMtdXRpbHMvZWplY3QuYzo2OTUKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozOTYgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTE3IHN5cy11dGlscy9mc3RyaW0uYzo3NAorIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMjcgc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTQgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDAwCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzkyIHN5cy11dGlscy9uc2VudGVyLmM6MTI5CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTkzIHN5cy11dGlscy9yZmtpbGwuYzo1NDQgc3lzLXV0aWxzL3J0Y3dha2UuYzoxMzYKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjg2IHN5cy11dGlscy9zZXRwcml2LmM6Mjc2IHN5cy11dGlscy9zZXRwcml2LmM6NjE0CisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYzNyBzeXMtdXRpbHMvc3dhcG9uLmM6Mzc1IHN5cy11dGlscy9zd2Fwb24uYzo1MTgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2NyBzeXMtdXRpbHMvdW5zaGFyZS5jOjEwOCBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyMworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIyIHN5cy11dGlscy93ZGN0bC5jOjM3OCBzeXMtdXRpbHMvenJhbWN0bC5jOjUwOAorIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzUyIHRlcm0tdXRpbHMvbWVzZy5jOjEyNyB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2MAorIzogdGVybS11dGlscy9zY3JpcHQuYzo0NjggdGVybS11dGlscy9zY3JpcHQuYzo1NTkKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTk4IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjAxCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTkgdGV4dC11dGlscy9jb2xjcnQuYzoyODIgdGV4dC11dGlscy9tb3JlLmM6NTM0CisjOiB0ZXh0LXV0aWxzL3Jldi5jOjE0MSB0ZXh0LXV0aWxzL3VsLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorbXNnaWQgImludmFsaWQgc3RhcnQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjMgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTEwCittc2dpZCAiaW52YWxpZCBsZW5ndGggYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjk0Cittc2dpZCAiZ2V0IHBoeXNpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTEyCittc2dpZCAiZ2V0IGFsaWdubWVudCBvZmZzZXQgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExOAorbXNnaWQgImdldCBtYXggc2VjdG9ycyBwZXIgcmVxdWVzdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTMxCittc2dpZCAic2V0IGJsb2Nrc2l6ZSBvbiBmaWxlIGRlc2NyaXB0b3Igb3BlbmluZyB0aGUgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzcKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNDMKK21zZ2lkICJnZXQgc2l6ZSBpbiBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTUwCittc2dpZCAic2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3MworbXNnaWQgImZsdXNoIGJ1ZmZlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisiICUxJHMgLWh8LVZcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTkzCittc2dpZCAiQ2FsbCBibG9jayBkZXZpY2UgaW9jdGxzIGZyb20gdGhlIGNvbW1hbmQgbGluZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NgorbXNnaWQgIiAtcSAgICAgICAgICAgICBxdWlldCBtb2RlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKK21zZ2lkICIgLXYgICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTgKK21zZ2lkICIgICAgIC0tcmVwb3J0ICAgcHJpbnQgcmVwb3J0IGZvciBzcGVjaWZpZWQgKG9yIGFsbCkgZGV2aWNlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjAzCittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlLTI1cyBnZXQgc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzAKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIkJvb3RhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2Cittc2dpZCAiVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorbXNnaWQgIlJlZHVjZSBvciBlbmxhcmdlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIk5ldyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJIZWxwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJTb3J0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiRml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTQKK21zZ2lkICJXcml0ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCBwYXJ0aXRpb24gdGFibGUgdG8gc2ZkaXNrIGNvbXBhdGlibGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEyOTcKK21zZ2lkICJQYXJ0aXRpb24gbmFtZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTMxNgorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKK21zZ2lkICJGaWxlc3lzdGVtIFVVSUQ6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZTogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCittc2dpZCAiUGxlYXNlLCBzcGVjaWZ5IHNpemUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk2OAorbXNnaWQgIlNlbGVjdCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMTggZGlzay11dGlscy9jZmRpc2suYzoyMDQ4Cittc2dpZCAiRW50ZXIgc2NyaXB0IGZpbGUgbmFtZTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorbXNnaWQgIkZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNjMKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBkaXNrIGxheW91dCBpbnRvIHNjcmlwdC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDc3Cittc2dpZCAiRGlzayBsYXlvdXQgc3VjY2Vzc2Z1bGx5IGR1bXBlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExNgorbXNnaWQgIlNlbGVjdCBsYWJlbCB0eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjExOSBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3NCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODgKK21zZ2lkICJEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMjcKK21zZ2lkICJTZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBsYWJlbCBvciBwcmVzcyAnTCcgdG8gbG9hZCBzY3JpcHQgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc2Cittc2dpZCAiVGhpcyBpcyBjZmRpc2ssIGEgY3Vyc2VzLWJhc2VkIGRpc2sgcGFydGl0aW9uaW5nIHByb2dyYW0uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworbXNnaWQgIkl0IGxldHMgeW91IGNyZWF0ZSwgZGVsZXRlLCBhbmQgbW9kaWZ5IHBhcnRpdGlvbnMgb24gYSBibG9jayBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgzCittc2dpZCAiICBoICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODcKK21zZ2lkICIgIHQgICAgICAgICAgQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKK21zZ2lkICIiCisiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MAorbXNnaWQgIiIKKyIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKK21zZ2lkICIgIHggICAgICAgICAgRGlzcGxheS9oaWRlIGV4dHJhIGluZm9ybWF0aW9uIGFib3V0IGEgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NAorbXNnaWQgIkRvd24gQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk1Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5OQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA5IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGhhcyBiZWVuIGRlbGV0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIHR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorbXNnaWQgIk5ldyBzaXplOiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzOSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgInllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKK21zZ2lkICJEaWQgbm90IHdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDUKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NzQgZGlzay11dGlscy9jZmRpc2suYzoyNTQ1Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlICIKKyJjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MjIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjMyIGRpc2stdXRpbHMvZmRpc2suYzo4MDggZGlzay11dGlscy9zZmRpc2suYzoxODQzCittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKK21zZ2lkICIgLXosIC0temVybyAgICAgICAgICAgICAgIHN0YXJ0IHdpdGggemVyb2VkIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY5NiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODg4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjI0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworbXNnaWQgImZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiYmFkIGRhdGEgaW4gdHJhY2svaGVhZCAldS8ldVxuIgorIkNvbnRpbnVpbmcgLi4uICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ5Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTIKK21zZ2lkICIgLWYsIC0tZnJvbSA8Tj4gICAgc3RhcnQgYXQgdGhlIHRyYWNrIE4gKGRlZmF1bHQgMClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gdG8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTQ4CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzcKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc5NworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODIxIGRpc2stdXRpbHMvbWtzd2FwLmM6MjQzIGRpc2stdXRpbHMvcGFydHguYzo5NTEKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODggbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzcgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NSBzeXMtdXRpbHMvYmxrem9uZS5jOjk5CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5NyBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjAKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo3OSBzeXMtdXRpbHMvbnNlbnRlci5jOjE2NCBzeXMtdXRpbHMvbnNlbnRlci5jOjE2OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUyMyBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5NAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTM3IHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorbXNnaWQgImNvdWxkIG5vdCBkZXRlcm1pbmUgY3VycmVudCBmb3JtYXQgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzLXNpZGVkLCAlZCB0cmFja3MsICVkIHNlYy90cmFjay4gVG90YWwgY2FwYWNpdHkgJWQga0IuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVzLCBkZWZhdWx0ICU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDc5Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgyCittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBzZXQgKERFUFJFQ0FURUQhKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IGV4aXN0IHlldCEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE4IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAzCittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxNXM6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzOiBvZmZzZXQgPSAlPFBSSXU2ND4sIHNpemUgPSAlenUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc5MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSAiCisiZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIGZkaXNrIC0td2lwZSwgaW4gb3JkZXIgdG8gYXZvaWQgcG9zc2libGUgY29sbGlzaW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgwMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyIgJTEkcyBbb3B0aW9uc10gLWwgWzxkaXNrPl0gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorbXNnaWQgIiIKKyIgLUIsIC0tcHJvdGVjdC1ib290ICAgICAgICAgICAgZG9uJ3QgZXJhc2UgYm9vdGJpdHMgd2hlbiBjcmVhdGluZyBhIG5ldyAiCisibGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorbXNnaWQgIiIKKyIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHBhcnRpdGlvbnMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE4Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOQorbXNnaWQgIiIKKyIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSAiCisib25seVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIiCisiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICIKKyInc2VjdG9ycycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorbXNnaWQgIiIKKyIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzICIKKyJbREVQUkVDQVRFRF1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiIgorIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuICIKKyJyZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCittc2dpZCAiIgorIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorbXNnaWQgIiIKKyIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sICIKKyJhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNworbXNnaWQgIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI5Cittc2dpZCAiIgorIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxMAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MjIKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorbXNnaWQgImludmFsaWQgaGVhZHMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk0MQorbXNnaWQgImludmFsaWQgc2VjdG9ycyBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk4NCBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA4NAorIzogZGlzay11dGlscy9zZmRpc2suYzoyMDg5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCittc2dpZCAiIgorIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSAiCisic3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTAzMyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA0OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njk1CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTk4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3ODcKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NjcgZGlzay11dGlscy9yYXcuYzoxMzcgZGlzay11dGlscy9yYXcuYzoxNTAKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTYyIGRpc2stdXRpbHMvcmF3LmM6MjAzIG1pc2MtdXRpbHMvY2FsLmM6NTIwCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjU4IG1pc2MtdXRpbHMvbG9vay5jOjE1MCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1NzMKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU4NCBtaXNjLXV0aWxzL3doZXJlaXMuYzo1OTUgbWlzYy11dGlscy93aGVyZWlzLmM6NjM3CisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MDQgc2NoZWR1dGlscy9pb25pY2UuYzoyNjIgc2NoZWR1dGlscy90YXNrc2V0LmM6MTg5CisjOiBzeXMtdXRpbHMvY2hjcHUuYzozNDQgc3lzLXV0aWxzL2NobWVtLmM6NDE5IHN5cy11dGlscy9kbWVzZy5jOjE0NjkKKyM6IHN5cy11dGlscy9pcGNtay5jOjEzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozMjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo4ODgKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMjUgc3lzLXV0aWxzL2xzbWVtLmM6NjI4IHN5cy11dGlscy9tb3VudC5jOjY5OAorIzogc3lzLXV0aWxzL21vdW50LmM6NzExIHN5cy11dGlscy9tb3VudC5jOjc4MCBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjE4MQorIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzo3MiBzeXMtdXRpbHMvc3dhcG9mZi5jOjIzMCBzeXMtdXRpbHMvc3dhcG9uLmM6OTg4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTAgc3lzLXV0aWxzL3Vtb3VudC5jOjUyOCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTc2CisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIzMyB0ZXh0LXV0aWxzL21vcmUuYzozMzcKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTYKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDc5Cittc2dpZCAiIgorIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCAiCisiY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo3OCBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbm1lbnQgb2Zmc2V0OiAlbHUgYnl0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTE2IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIzNgorIzogZGlzay11dGlscy9mc2NrLmM6MTI1NQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBpdGVyYXRvciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMjIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjQyCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjY3IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTE2IG1pc2MtdXRpbHMvZmluY29yZS5jOjM2MQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU5NiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwOCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NDkKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjUyIG1pc2MtdXRpbHMvd2lwZWZzLmM6MTUxIHN5cy11dGlscy9sb3NldHVwLmM6MzIxCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjA5IHN5cy11dGlscy9sc2NwdS5jOjE3MTIgc3lzLXV0aWxzL2xzaXBjLmM6MzM4CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI5NyBzeXMtdXRpbHMvcmZraWxsLmM6NDU3IHN5cy11dGlscy9zd2Fwb24uYzoyODQKKyM6IHN5cy11dGlscy93ZGN0bC5jOjI2MCBzeXMtdXRpbHMvenJhbWN0bC5jOjQ4NyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIwOQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKK21zZ2lkICJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjI0MjYKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI5IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIxCittc2dpZCAiRW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OAorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorbXNnaWQgImxpc3QgZnJlZSB1bnBhcnRpdGlvbmVkIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMAorbXNnaWQgImxpc3Qga25vd24gcGFydGl0aW9uIHR5cGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCittc2dpZCAicHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDMKK21zZ2lkICJjaGFuZ2UgYSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKK21zZ2lkICJwcmludCBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGZpcnN0IHNlY3RvciBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA4Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBkaXNrbGFiZWwgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgIk1pc2MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCittc2dpZCAicHJpbnQgdGhpcyBtZW51IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMworbXNnaWQgImNoYW5nZSBkaXNwbGF5L2VudHJ5IHVuaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorbXNnaWQgImV4dHJhIGZ1bmN0aW9uYWxpdHkgKGV4cGVydHMgb25seSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNworbXNnaWQgImxvYWQgZGlzayBsYXlvdXQgZnJvbSBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIwCittc2dpZCAiU2F2ZSAmIEV4aXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIxCittc2dpZCAid3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMworbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKK21zZ2lkICJyZXR1cm4gdG8gbWFpbiBtZW51IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNgorbXNnaWQgInJldHVybiBmcm9tIEJTRCB0byBET1MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM3Cittc2dpZCAiQ3JlYXRlIGEgbmV3IGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOAorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBHUFQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDAKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDUKK21zZ2lkICJjcmVhdGUgYW4gSVJJWCAoU0dJKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU2Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBoZWFkcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTcKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY4Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc1Cittc2dpZCAidG9nZ2xlIHRoZSBubyBibG9jayBJTyBwcm90b2NvbCBmbGFnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAiU3VuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OAorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk0Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDgKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3Cittc2dpZCAiRE9TIChNQlIpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxOAorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCittc2dpZCAibW92ZSBiZWdpbm5pbmcgb2YgZGF0YSBpbiBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjMKK21zZ2lkICJjaGFuZ2UgdGhlIGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM4Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscCAoZXhwZXJ0IGNvbW1hbmRzKTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzMgZGlzay11dGlscy9zZmRpc2suYzoxMjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJIZWxwOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQzNQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NQorbXNnaWQgIlJlc2V0dGluZyBmZGlzayEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDkyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBhcHBsaWVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTgKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1OCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDcKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTYzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUxMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY0MAorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg3Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBzZWN0b3JzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2OTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6ODY4Cittc2dpZCAiTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3MzQKK21zZ2lkICJOZXcgbWF4aW11bSBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc0NQorbXNnaWQgIkVudGVyaW5nIHByb3RlY3RpdmUvaHlicmlkIE1CUiBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc2MQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Nzc2Cittc2dpZCAiTmV3IG5hbWUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMzcKK21zZ2lkICJOdW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMzEgbGliL3BhdGguYzoxNjMgbGliL3BhdGguYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAicGFyc2UgZXJyb3I6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM1OAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAiZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDcyIG1pc2MtdXRpbHMvZmluZG1udC5jOjc4NCBtaXNjLXV0aWxzL2xzYmxrLmM6NDQ2CisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMDEgc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzoxOSBzeXMtdXRpbHMvdW1vdW50LmM6NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UgZnN0YWIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yICVkICglbSkgd2hpbGUgZXhlY3V0aW5nIGZzY2suJXMgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEwMDIKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IHNraXBwaW5nIGJhZCBsaW5lIGluIC9ldGMvZnN0YWI6IGJpbmQgbW91bnQgd2l0aCBub256ZXJvIGZzY2sgcGFzcyBudW1iZXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzICIKKyJkZXZpY2UpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgdW5rbm93biBmaWxlc3lzdGVtIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTI3MAorbXNnaWQgIkNoZWNraW5nIGFsbCBmaWxlIHN5c3RlbXMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0Cittc2dpZCAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OAorbXNnaWQgIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5OQorbXNnaWQgIiAtUCAgICAgICAgIGNoZWNrIGZpbGVzeXN0ZW1zIGluIHBhcmFsbGVsLCBpbmNsdWRpbmcgcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDAKK21zZ2lkICIgLVIgICAgICAgICBza2lwIHJvb3QgZmlsZXN5c3RlbTsgdXNlZnVsIG9ubHkgd2l0aCAnLUEnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAzCittc2dpZCAiIC1zICAgICAgICAgc2VyaWFsaXplIHRoZSBjaGVja2luZyBvcGVyYXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNAorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQxMworbXNnaWQgIlNlZSB0aGUgc3BlY2lmaWMgZnNjay4qIGNvbW1hbmRzIGZvciBhdmFpbGFibGUgZnMtb3B0aW9ucy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ2MAorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSByb290IHRvIHNjYW4gZm9yIG1hdGNoaW5nIGZpbGVzeXN0ZW1zOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ5MiBkaXNrLXV0aWxzL2ZzY2suYzoxNTg5IG1pc2MtdXRpbHMva2lsbC5jOjIzNgorIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc4Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNAorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBjb21wcmVzc2VkIFJPTSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiIgorIiAgICAgLS1leHRyYWN0Wz08ZGlyPl0gICAgdGVzdCB1bmNvbXByZXNzaW9uLCBvcHRpb25hbGx5IGV4dHJhY3QgaW50byA8ZGlyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDMKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VlayBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg0Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NworIywgYy1mb3JtYXQKK21zZ2lkICJjcmFtZnMgZW5kaWFubmVzcyBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJiaWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTkyCittc2dpZCAidW5zdXBwb3J0ZWQgZmlsZXN5c3RlbSBmZWF0dXJlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA3Cittc2dpZCAib2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzA4Cittc2dpZCAicmVhZCByb21mcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0MAorbXNnaWQgInJvb3QgaW5vZGUgaXMgbm90IGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJkZWNvbXByZXNzaW9uIGVycm9yOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgaG9sZSBhdCAlbHUgKCV6dSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1zaXplICglbGQgdnMgJWxkKSBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDE1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTgKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA5IG1pc2MtdXRpbHMvdXVpZGQuYzozNjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjQwOAorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU1MSBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjY0MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM5MyB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAibGNob3duIGZhaWxlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4MAorbXNnaWQgImJhZCBmaWxlbmFtZSBsZW5ndGgiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQ4NgorbXNnaWQgImJhZCBpbm9kZSBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTMzCittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzNQorbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4MQorIywgYy1mb3JtYXQKK21zZ2lkICJmaWZvIGhhcyBub24temVybyBzaXplOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU5MAorIywgYy1mb3JtYXQKK21zZ2lkICJib2d1cyBtb2RlOiAlcyAoJW8pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgYy1mb3JtYXQKK21zZ2lkICJkaXJlY3RvcnkgZGF0YSBlbmQgKCVsdSkgIT0gZmlsZSBkYXRhIHN0YXJ0ICglbHUpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NworbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgIGxpc3QgYWxsIGZpbGVuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgIGF1dG9tYXRpYyByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBiZSB2ZXJib3NlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCittc2dpZCAiIC1tLCAtLXVuY2xlYXJlZCAgYWN0aXZhdGUgbW9kZSBub3QgY2xlYXJlZCB3YXJuaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MworbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IHRoZXNlIHllcyBubyBxdWVzdGlvbnMgdXNlcyBycG1hdGNoKCksIGFuZCBzaG91bGQgYmUKKyMuICogdHJhbnNsYXRlZC4KKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoeS9uKT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAobi95KT8gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg5Cittc2dpZCAiRG8geW91IHJlYWxseSB3YW50IHRvIGNvbnRpbnVlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVjayBhYm9ydGVkLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMxOSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA8IEZJUlNUWk9ORSBpbiBmaWxlIGAlcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSBuciA+PSBaT05FUyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IHVuYWJsZSB0byBzZWVrIHRvIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjQyNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTEKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiB3cml0ZV9zdXBlcl9ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MjkKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTMyCittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU5MworbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MDAKK21zZ2lkICJiYWQgc196bWFwX2Jsb2NrcyBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTYKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE5Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyNQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIGNvdW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYyOAorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMyCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibmFtZWxlbj0lemRcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIzCittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3MDIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGlub2RlIGNvdW50IHRvbyBiaWcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayBoYXMgYmVlbiB1c2VkIGJlZm9yZS4gTm93IGluIGZpbGUgYCVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxNAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Nzk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNgorbXNnaWQgIkNvcnJlY3QiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTY1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRpcmVjdG9yeSAnJXMnIGNvbnRhaW5zIGEgYmFkIGlub2RlIG51bWJlciBmb3IgZmlsZSAnJS4qcycuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDQxCittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIzCittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTM4Cittc2dpZCAic2VlayBmYWlsZWQgaW4gYmFkX3pvbmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBtb2RlIG5vdCBjbGVhcmVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIwCittc2dpZCAiU2V0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG1hcmtlZCBpbiB1c2UsIG5vIGZpbGUgdXNlcyBpdC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGNsZWFuLCBubyBjaGVjay5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTZsZCB6b25lcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJGSUxFIFNZU1RFTSBIQVMgQkVFTiBDSEFOR0VEXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbWlnaHQgbm90IGJlIGFuIElTTyBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMSBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTg3Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc4Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5NgorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJibG9ja3MgYXJndW1lbnQgdG9vIGxhcmdlLCBtYXggaXMgJWxsdSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjYyCittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4OAorbXNnaWQgImVycm9yIHdyaXRpbmcgaW5vZGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MQorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLXQgPHR5cGU+XSBbZnMtb3B0aW9uc10gPGRldmljZT4gWzxzaXplPl1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdCwgLS10eXBlPTx0eXBlPiAgZmlsZXN5c3RlbSB0eXBlOyB3aGVuIHVuc3BlY2lmaWVkLCBleHQyIGlzIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxzaXplPiAgICAgICAgIG51bWJlciBvZiBibG9ja3MgdG8gYmUgdXNlZCBvbiB0aGUgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtViwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmU7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZnlpbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzoxMzkgaW5jbHVkZS9jLmg6MjIzIGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MzUKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTEgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5NSBzeXMtdXRpbHMvZmxvY2suYzoxMjEKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTk1IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBleGVjdXRlICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uICIKKyJuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorbXNnaWQgImZpbGVzeXN0ZW0gdG9vIGJpZy4gIEV4aXRpbmcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiQUlFRUU6IGJsb2NrIFwiY29tcHJlc3NlZFwiIHRvID4gMipibG9ja2xlbmd0aCAoJWxkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTYuMmYlJSAoJStsZCBieXRlcylcdCVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCittc2dpZCAiaW52YWxpZCBlZGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzUyCittc2dpZCAiaW52YWxpZCBlbmRpYW5uZXNzIGdpdmVuOyBtdXN0IGJlICdiaWcnLCAnbGl0dGxlJywgb3IgJ2hvc3QnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gIgorImltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg1NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbmNsdWRpbmc6ICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDUKK21zZ2lkICJ3YXJuaW5nOiBmaWxlcyB3ZXJlIHNraXBwZWQgZHVlIHRvIGVycm9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ2lkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gL2Rldi9uYW1lIFtibG9ja3NdXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgdG8gYm9vdCBibG9jayBmYWlsZWQgIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX3RhYmxlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgem9uZSBtYXAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBmYWlsZWQgaW4gd3JpdGVfYmxvY2siCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkZpcnN0IGRhdGEgYmxvY2sgYXQgJWpkLCB3aGljaCBpcyB0b28gZmFyIChtYXggJWQpLlxuIgorIlRyeSBzcGVjaWZ5aW5nIGZld2VyIGlub2RlcyBieSBwYXNzaW5nIC0taW5vZGVzIDxudW0+IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgaW5vZGVcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGlub2Rlc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlbHUgYmxvY2tzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgZHVyaW5nIHRlc3Rpbmcgb2YgYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBibG9ja3MgYmVmb3JlIGRhdGEtYXJlYTogY2Fubm90IG1ha2UgZnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGJhZGJsb2NrcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIGJsb2NrcyB0b28gc21hbGwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzI1IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc3MQorbXNnaWQgIi12IGlzIGFtYmlndW91cywgdXNlICctMicgaW5zdGVhZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgYmxvY2tzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIGEgZmlsZXN5c3RlbSBoZXJlISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEyNAorbXNnaWQgIkxhYmVsIHdhcyB0cnVuY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGxhYmVsLCAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdIGRldmljZSBbc2l6ZV1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzAKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgbmV3IGxpYmJsa2lkIHByb2JlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzgyCittc2dpZCAicGFyc2luZyBwYWdlIHNpemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5NworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHN3YXAgYXJlYSBuZWVkcyB0byBiZSBhdCBsZWFzdCAlbGQgS2lCIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDU4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IHRydW5jYXRpbmcgc3dhcCBhcmVhIHRvICVsbHUgS2lCIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ3MCBzeXMtdXRpbHMvc3dhcG9uLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnNlY3VyZSBwZXJtaXNzaW9ucyAlMDRvLCAlMDRvIHN1Z2dlc3RlZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4OQorbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5NAorIywgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIG9idGFpbiBzZWxpbnV4IGZpbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODYKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCittc2dpZCAicGFydGl0aW9uIHRhYmxlIHR5cGUgKGRvcywgZ3B0LCAuLi4pIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NCBtaXNjLXV0aWxzL2xzYmxrLmM6MTc0Cittc2dpZCAicGFydGl0aW9uIGZsYWdzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIChhIHN0cmluZywgYSBVVUlELCBvciBoZXgpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjEgc3lzLXV0aWxzL2xvc2V0dXAuYzo2MzAKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBmaW5kIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byB1c2UgJyVzJyBmb3IgdGhlIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEzMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjU2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZW1vdmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBkb2Vzbid0IGV4aXN0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjcyMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjAKK21zZ2lkICIgLWEsIC0tYWRkICAgICAgICAgICAgYWRkIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MQorbXNnaWQgIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYyCittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlICIKKyJmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY2Cittc2dpZCAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIHNwZWNpZnkgdGhlIHJhbmdlIG9mIHBhcnRpdGlvbnMgKGUuZy4gLS1uciAyOjQpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgc3BlY2lmeSB0aGUgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcyCittc2dpZCAiICAgICAtLWxpc3QtdHlwZXMgICAgIGxpc3Qgc3VwcG9ydGVkIHBhcnRpdGlvbiB0eXBlcyBhbmQgZXhpdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzMgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEwMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgZGVsZXRlIHBhcnRpdGlvbnMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo1NworbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYwCittc2dpZCAiIC1xLCAtLXF1ZXJ5ICAgIHNldCBxdWVyeSBtb2RlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuICIKKyJ6ZXJvKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIGJsb2NrIGRldmljZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzNQorIywgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yYXcuYzoyNzIKK21zZ2lkICJFcnJvciBzZXR0aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTEKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBuZXN0ZWQgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorbXNnaWQgImZhaWxlZCB0byByZWFkIG5ldyBwYXJ0aXRpb24gZnJvbSBkZXZpY2U7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OAorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBoYXMgbm90IGJlZW4gbW92ZWQ7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkyCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQyCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgdHlwZXNjcmlwdCBmaWxlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDUyCittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTQgZGlzay11dGlscy9zZmRpc2suYzoxODE0Cittc2dpZCAiTGVhdmluZy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDIKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGlzIHVuY2hhbmdlZCAoLS1uby1hY3QpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzQKK21zZ2lkICIiCisiSWQgIE5hbWVcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjY2NAorbXNnaWQgInVucmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKK21zZ2lkICJjYW5ub3Qgc3dpdGNoIHRvIFBNQlIiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKK21zZ2lkICJ0b2dnbGUgYm9vdCBmbGFncyBpcyBzdXBwb3J0ZWQgZm9yIE1CUiBvciBQTUJSIG9ubHkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4NjcgZGlzay11dGlscy9zZmRpc2suYzo5MTQgZGlzay11dGlscy9zZmRpc2suYzoxMDM3CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDEgZGlzay11dGlscy9zZmRpc2suYzoxMTU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMgorIzogZGlzay11dGlscy9zZmRpc2suYzoxNTU5IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA1NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkwOSBkaXNrLXV0aWxzL3NmZGlzay5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGRlbGV0ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gdGFibGUgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiBpcyB1bnVzZWQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDM2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwMCBkaXNrLXV0aWxzL3NmZGlzay5jOjExNTUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxMQorbXNnaWQgIm5vIHBhcnRpdGlvbiBudW1iZXIgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA0MiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDYgZGlzay11dGlscy9zZmRpc2suYzoxMTYxCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTcKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDc2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBwYXJ0aXRpb24gdHlwZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTMxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE4NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDAKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG9iamVjdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg3Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4OQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTAKK21zZ2lkICIiCisiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKK21zZ2lkICIgICBoZWxwICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwNAorbXNnaWQgIiIKKyIgICA8c3RhcnQ+ICBCZWdpbm5pbmcgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgdGhlIGZpcnN0IGZyZWUgc3BhY2UuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA5Cittc2dpZCAiIgorIiAgIDxzaXplPiAgIFNpemUgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzLCBvciBieXRlcyBpZlxuIgorIiAgICAgICAgICAgIHNwZWNpZmllZCBpbiB0aGUgZm9ybWF0IDxudW1iZXI+e0ssTSxHLFQsUCxFLFosWX0uXG4iCisiICAgICAgICAgICAgVGhlIGRlZmF1bHQgaXMgYWxsIGF2YWlsYWJsZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTQKK21zZ2lkICIgICA8dHlwZT4gICBUaGUgcGFydGl0aW9uIHR5cGUuICBEZWZhdWx0IGlzIGEgTGludXggZGF0YSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1Cittc2dpZCAiICAgICAgICAgICAgTUJSOiBoZXggb3IgTCxTLEUsWCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxILFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjMKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjUKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSAiCisiZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlICIKKyJjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjI4Cittc2dpZCAiIgorIlRoaXMgZGlzayBpcyBjdXJyZW50bHkgaW4gdXNlIC0gcmVwYXJ0aXRpb25pbmcgaXMgcHJvYmFibHkgYSBiYWQgaWRlYS5cbiIKKyJVbW91bnQgYWxsIGZpbGUgc3lzdGVtcywgYW5kIHN3YXBvZmYgYWxsIHN3YXAgcGFydGl0aW9ucyBvbiB0aGlzIGRpc2suXG4iCisiVXNlIHRoZSAtLW5vLXJlcmVhZCBmbGFnIHRvIHN1cHByZXNzIHRoaXMgY2hlY2suXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIGZsYWcgdG8gb3ZlcnJ1bGUgYWxsIGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY4Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNAorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2Cittc2dpZCAiSWdub3JpbmcgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MzUgZGlzay11dGlscy9zZmRpc2suYzoxNzk1Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwMgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byB3cml0ZSB0aGlzIHRvIGRpc2s/IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgyNQorbXNnaWQgIkxlYXZpbmcuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKK21zZ2lkICIiCisiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworbXNnaWQgIiIKKyIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyICIKKyJpbnB1dClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDgKK21zZ2lkICIiCisiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiIKKyIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4gLi4uXSAgIGxpc3QgZ2VvbWV0cnkgb2YgYWxsIG9yIHNwZWNpZmllZCAiCisiZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MAorbXNnaWQgIiAtbCwgLS1saXN0IFs8ZGV2PiAuLi5dICAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIG9mIGVhY2ggZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCittc2dpZCAiIgorIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCAiCisiZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUyCittc2dpZCAiIgorIiAtciwgLS1yZW9yZGVyIDxkZXY+ICAgICAgICAgICAgICAgZml4IHBhcnRpdGlvbnMgb3JkZXIgKGJ5IHN0YXJ0IG9mZnNldClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIiCisiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHNpemVzIG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiIKKyIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU1Cittc2dpZCAiIgorIiAtViwgLS12ZXJpZnkgWzxkZXY+IC4uLl0gICAgICAgICAgdGVzdCB3aGV0aGVyIHBhcnRpdGlvbnMgc2VlbSBjb3JyZWN0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU2Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYwCittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MgorbXNnaWQgIiIKKyIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NworbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorbXNnaWQgIiAtYiwgLS1iYWNrdXAgICAgICAgICAgICAgIGJhY2t1cCBwYXJ0aXRpb24gdGFibGUgc2VjdG9ycyAoc2VlIC1PKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiIKKyIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlICIKKyJmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzMKK21zZ2lkICIiCisiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSBtb3ZlIHBhcnRpdGlvbiBkYXRhIGFmdGVyIHJlbG9jYXRpb24gIgorIihyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3NQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgxCittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODMKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICB3aXBlIHNpZ25hdHVyZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg4Cittc2dpZCAiIC1ZLCAtLWxhYmVsLW5lc3RlZCA8bmFtZT4gc3BlY2lmeSBuZXN0ZWQgbGFiZWwgdHlwZSAoZG9zLCBic2QpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkwCittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkxCittc2dpZCAiIgorIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MworbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDc1IGluY2x1ZGUvYy5oOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIFVVSUQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHdyaXRlIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMzAKK21zZ2lkICIiCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gc3BlY2lmeSBhIG5ldyBsYWJlbFxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIHNwZWNpZnkgYSBuZXcgdXVpZFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzE4Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzIxCittc2dpZCAiIgorIlxuIgorIkNvbW1hbmRzOlxuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzI1Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jLmg6MzI2Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvYy5oOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiRm9yIG1vcmUgZGV0YWlscyBzZWUgJXMuXG4iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3Cittc2dpZCAiY29sb3JzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9jb2xvcnMuaDoyOQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2Vudi5oOjE4IGxpYi9wYWdlci5jOjE1MSBsb2dpbi11dGlscy9sb2dpbi5jOjEwMjYKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAzMCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtdXR1YWxseSBleGNsdXNpdmUgYXJndW1lbnRzOiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxCittc2dpZCAiRW1wdHkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MgorbXNnaWQgIkZBVDEyIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NgorbXNnaWQgIkV4dGVuZGVkIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4Cittc2dpZCAiSFBGUy9OVEZTL2V4RkFUIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkKK21zZ2lkICJBSVgiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAKK21zZ2lkICJBSVggYm9vdGFibGUiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMgorbXNnaWQgIlc5NSBGQVQzMiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMworbXNnaWQgIlc5NSBGQVQzMiAoTEJBKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNAorbXNnaWQgIlc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNQorbXNnaWQgIlc5NSBFeHQnZCAoTEJBKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxNgorbXNnaWQgIk9QVVMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTkKK21zZ2lkICJIaWRkZW4gRkFUMTYgPDMyTSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjIKK21zZ2lkICJBU1QgU21hcnRTbGVlcCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI1Cittc2dpZCAiSGlkZGVuIFc5NSBGQVQxNiAoTEJBKSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMyCittc2dpZCAiU0ZTIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMzCittc2dpZCAiUU5YNC54IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM0Cittc2dpZCAiUU5YNC54IDJuZCBwYXJ0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTAKK21zZ2lkICJPbGQgTWluaXgiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTEKK21zZ2lkICJNaW5peCAvIG9sZCBMaW51eCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUzCittc2dpZCAiTGludXgiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYwCittc2dpZCAiTGludXggcGxhaW50ZXh0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYxIGxpYmZkaXNrL3NyYy9ncHQuYzoyMDQgbGliZmRpc2svc3JjL3NnaS5jOjYyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTMKK21zZ2lkICJMaW51eCBMVk0iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjIKK21zZ2lkICJBbW9lYmEiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjMKK21zZ2lkICJBbW9lYmEgQkJUIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NworbXNnaWQgIk9wZW5CU0QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OQorbXNnaWQgIkRhcndpbiBVRlMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzMKK21zZ2lkICJCU0RJIGZzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc0Cittc2dpZCAiQlNESSBzd2FwIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc1Cittc2dpZCAiQm9vdCBXaXphcmQgaGlkZGVuIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2Cittc2dpZCAiQWNyb25pcyBGQVQzMiBMQkEiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzcgbGliZmRpc2svc3JjL2dwdC5jOjIyOQorbXNnaWQgIlNvbGFyaXMgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTMKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk2Cittc2dpZCAiRUZJIChGQVQtMTIvMTYvMzIpIgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk3Cittc2dpZCAiTGludXgvUEEtUklTQyBib290IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwNgorbXNnaWQgIkxBTnN0ZXAiCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICIiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDgwIGxpYmZkaXNrL3NyYy9hc2suYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDgzCittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDk1Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NTA1Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NiBsaWJmZGlzay9zcmMvZG9zLmM6MTIxOCBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRldmljZSAlcyBkb2VzIG5vdCBjb250YWluIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzozODIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBjcmVhdGUgYSBCU0QgZGlza2xhYmVsPyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjYKK21zZ2lkICIgZWNjIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODAKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4NQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKK21zZ2lkICJScG0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDUKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMAorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE1Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTMKK21zZ2lkICJzZWN0b3JzL3RyYWNrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIyCittc2dpZCAicnBtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjMKK21zZ2lkICJpbnRlcmxlYXZlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjQKK21zZ2lkICJ0cmFja3NrZXciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNQorbXNnaWQgImN5bGluZGVyc2tldyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI3Cittc2dpZCAiaGVhZHN3aXRjaCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcwMworbXNnaWQgIkJvb3RzdHJhcCBvdmVybGFwcyB3aXRoIGRpc2tsYWJlbCEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXAgaW5zdGFsbGVkIG9uICVzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MTEgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODgKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjQKK21zZ2lkICJCc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNQorbXNnaWQgIkNwZyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NworbXNnaWQgIiIKKyJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgIgorInJlYm9vdCBvciBhZnRlciB5b3UgcnVuIHBhcnRwcm9iZSg4KSBvciBrcGFydHgoOCkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NzQKK21zZ2lkICIiCisiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlICIKKyJuZXh0IHJlYm9vdC4gIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTA4NAorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGhhdmUgYmVlbiBkZWZpbmVkIGFscmVhZHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKK21zZ2lkICJQcmltYXJ5IHBhcnRpdGlvbiBub3QgYXZhaWxhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQzCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ3Cittc2dpZCAiIgorIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCAiCisic2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyAiCisicmVjb21tZW5kZWQsIG9yIHBlcmZvcm1hbmNlIG1heSBiZSBpbXBhY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM1MworbXNnaWQgIkN5bGluZGVycyBhcyBkaXNwbGF5IHVuaXRzIGFyZSBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgc2l6ZSBvZiB0aGlzIGRpc2sgaXMgJXMgKCVqdSBieXRlcykuIERPUyBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IGNhbm5vdCAiCisiYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiAiCisiVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjUzNAorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyAiCisicGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkV4dHJhIGxpbmsgcG9pbnRlciBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGRhdGEgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSAiCisidyhyaXRlKS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjk2OQorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODUgbGliZmRpc2svc3JjL2dwdC5jOjIzMzAKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGhlYWQgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICIKKyIlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksICIKKyJsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGJhZCBzdGFydC1vZi1kYXRhLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVtYWluaW5nICVsbGQgdW5hbGxvY2F0ZWQgJWxkLWJ5dGUgc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKK21zZ2lkICIiCisiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCAiCisicGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI0Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworbXNnaWQgInByaW1hcnkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCB3cml0ZSBzZWN0b3IgJWpkOiBzZWVrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTk1NCBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyMQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA2OAorbXNnaWQgIiIKKyJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyAiCisicHJvYmFibHkgdW53aXNlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjA3MworbXNnaWQgIiIKKyJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgIgorImxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIzNDcKK21zZ2lkICJOZXcgYmVnaW5uaW5nIG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaXMgYW4gZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQwOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTggbGliZmRpc2svc3JjL3N1bi5jOjExMjUKK21zZ2lkICJJZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OQorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTcyCittc2dpZCAiUG93ZXJQQyBQUmVQIGJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MgorbXNnaWQgIk1pY3Jvc29mdCBMRE0gZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg0Cittc2dpZCAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg4Cittc2dpZCAiSFAtVVggZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MCBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTMKK21zZ2lkICJMaW51eCBmaWxlc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTQKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCittc2dpZCAiTGludXggcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMQorbXNnaWQgIkxpbnV4IGhvbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMiBsaWJmZGlzay9zcmMvc2dpLmM6NjMKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMgorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEzCittc2dpZCAiRnJlZUJTRCBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNgorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNAorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzUKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNgorbXNnaWQgIlNvbGFyaXMgL2hvbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDYKK21zZ2lkICJOZXRCU0QgRkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKK21zZ2lkICJOZXRCU0QgUkFJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTQKK21zZ2lkICJDaHJvbWVPUyByb290IGZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU4Cittc2dpZCAiTWlkbmlnaHRCU0QgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU5Cittc2dpZCAiTWlkbmlnaHRCU0QgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYwCittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NworbXNnaWQgIkNlcGggRW5jcnlwdGVkIEpvdXJuYWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OAorbXNnaWQgIkNlcGggT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzYKK21zZ2lkICJWTXdhcmUgVmlydHVhbCBTQU4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NworbXNnaWQgIlZNd2FyZSBWaXJzdG8iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODQKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODcKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NjEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzQ0Cittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTE3Cittc2dpZCAiZ3B0OiBzdGF0KCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjExOTYKK21zZ2lkICJHUFQgRW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIyOAorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzMworbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5Cittc2dpZCAiQWx0ZXJuYXRpdmUgTEJBIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhcnQgb2YgdGhlIGFycmF5IG9mIHBhcnRpdGlvbiBlbnRyaWVzLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNDUKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNTAKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICIiCisiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSAiCisidXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICIiCisiVGhlIHByaW1hcnkgR1BUIHRhYmxlIGlzIGNvcnJ1cHQsIGJ1dCB0aGUgYmFja3VwIGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSAiCisidXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICIiCisiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgbm90IG9uIHRoZSBlbmQgb2YgdGhlIGRldmljZS4gVGhpcyBwcm9ibGVtIHdpbGwgYmUgIgorImNvcnJlY3RlZCBieSB3cml0ZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwNQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0NQorbXNnaWQgIlRoZSBzdGFydCBvZiB0aGUgcGFydGl0aW9uIHVuZGVyc3RlcHMgRmlyc3RVc2FibGVMQkEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCittc2dpZCAiVGhlIGVuZCBvZiB0aGUgcGFydGl0aW9uIG92ZXJzdGVwcyBMYXN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIiIKKyJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSICIKKyJtYW51YWxseS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzQKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgTEJBIHNhbml0eSBjaGVja3MuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4MworbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE4OAorbXNnaWQgIkRpc2sgaXMgdG9vIHNtYWxsIHRvIGhvbGQgYWxsIGRhdGEuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTk4Cittc2dpZCAiUHJpbWFyeSBhbmQgYmFja3VwIGhlYWRlciBtaXNtYXRjaC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI3Cittc2dpZCAiTm8gZXJyb3JzIGRldGVjdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOAorIywgYy1mb3JtYXQKK21zZ2lkICJIZWFkZXIgdmVyc2lvbjogJXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQSB0b3RhbCBvZiAlanUgZnJlZSBzZWN0b3JzIGlzIGF2YWlsYWJsZSBpbiAldSBzZWdtZW50LiIKK21zZ2lkX3BsdXJhbCAiIgorIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyNgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIGFyZSBhbHJlYWR5IGluIHVzZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzODMgbGliZmRpc2svc3JjL2dwdC5jOjI0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDc1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2ODcKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY5OAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgdG8gYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NjkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBkaXNhYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNAorbXNnaWQgIlR5cGUtVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNQorbXNnaWQgIlVVSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzYgbG9naW4tdXRpbHMvY2hmbi5jOjE1NiBsb2dpbi11dGlscy9jaGZuLmM6MTU4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzI0Cittc2dpZCAiTmFtZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiAjJXp1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvcGFydHR5cGUuYzoyNTggbWlzYy11dGlscy9maW5kbW50LmM6NjU1CisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5OSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNyBzY2hlZHV0aWxzL2NocnQuYzoyMDUKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6Nzkgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJ1bmtub3duIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NgorbXNnaWQgIlNHSSB2b2xoZHIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ4Cittc2dpZCAiU0dJIHNlY3JlcGwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MQorbXNnaWQgIlNHSSBzeXN2IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUzCittc2dpZCAiU0dJIGVmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTUKK21zZ2lkICJTR0kgcmx2b2wiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU2Cittc2dpZCAiU0dJIHhmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OAorbXNnaWQgIlNHSSB4bHYiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5Cittc2dpZCAiU0dJIHh2bSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTgKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyODEgbGliZmRpc2svc3JjL3N1bi5jOjc4MworbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKK21zZ2lkICJFeHRyYSBzZWN0cy9jeWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI5NgorbXNnaWQgIkJvb3RmaWxlIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKK21zZ2lkICIiCisiSW52YWxpZCBib290ZmlsZSEgIFRoZSBib290ZmlsZSBtdXN0IGJlIGFuIGFic29sdXRlIG5vbi16ZXJvIHBhdGhuYW1lLCBlLmcuICIKKyJcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTMKK21zZ2lkICIiCisiQmUgYXdhcmUgdGhhdCB0aGUgYm9vdGZpbGUgaXMgbm90IGNoZWNrZWQgZm9yIGV4aXN0ZW5jZS4gIFNHSSdzIGRlZmF1bHQgaXMgIgorIlwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQwCittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorbXNnaWQgIkJvb3QgZmlsZSBpcyB1bmNoYW5nZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQm9vdGZpbGUgaGFzIGJlZW4gY2hhbmdlZCB0byBcIiVzXCIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTcKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDEKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gaGFzIG5vIHN3YXAgdHlwZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwOAorbXNnaWQgIllvdSBoYXZlIGNob3NlbiBhbiB1bnVzdWFsIGJvb3RmaWxlIG5hbWUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0MworbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCittc2dpZCAiWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiBGaXggaXQgZmlyc3QhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrICIKKyJhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0ICVzIG9yICslcyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5ODQgbGliZmRpc2svc3JjL3N1bi5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgIgorInZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNjkKK21zZ2lkICJTb3JyeSwgb25seSBmb3Igbm9uLWVtcHR5IHBhcnRpdGlvbnMgeW91IGNhbiBjaGFuZ2UgdGhlIHRhZy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyAiCisiZW50aXJlIHZvbHVtZSAoNiksIGFzIElSSVggZXhwZWN0cyBpdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwODQKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJICIKKyJ2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3RvcnkgIgorInN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgIgorInNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gIgorImRpZmZlcmVudGx5PyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MAorbXNnaWQgIlN1bk9TIHJlc2VydmVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMzAKK21zZ2lkICIiCisiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsICIKKyJ0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCAiCisibGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1MgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxNjIKK21zZ2lkICIiCisiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE4NworbXNnaWQgIkhlYWRzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgLSBzZWN0b3JzIDAtJXUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorbXNnaWQgIiIKKyJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtICIKKyJiZWZvcmUgcmV0cnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTEKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHRoaXJkIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIHdob2xlIGRpc2sgYW5kICIKKyJpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyAiCisicGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjgKK21zZ2lkICJWb2x1bWUgSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc3OAorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjg4NAorbXNnaWQgIk51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MDkKK21zZ2lkICJFeHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTMzCittc2dpZCAiSW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk1NworbXNnaWQgIlJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5ODEKK21zZ2lkICJOdW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDQ2Cittc2dpZCAiIgorIkNvbnNpZGVyIGxlYXZpbmcgcGFydGl0aW9uIDMgYXMgV2hvbGUgZGlzayAoNSksXG4iCisiYXMgU3VuT1MvU29sYXJpcyBleHBlY3RzIGl0IGFuZCBldmVuIExpbnV4IGxpa2VzIGl0LlxuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3Cittc2dpZCAiIgorIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDBcbiIKKyJpcyBVRlMsIEVYVDJGUyBmaWxlc3lzdGVtIG9yIFN1bk9TIHN3YXAuIFB1dHRpbmcgTGludXggc3dhcFxuIgorInRoZXJlIG1heSBkZXN0cm95IHlvdXIgcGFydGl0aW9uIHRhYmxlIGFuZCBib290YmxvY2suXG4iCisiQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHRhZyB0aGUgcGFydGl0aW9uIGFzIExpbnV4IHN3YXA/IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0LmM6MjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBkZXZpY2Ugd3JpdGUtcHJvdGVjdGVkLCBtb3VudGVkIHJlYWQtb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIHBlcm1pdHRlZCBmb3Igcm9vdCBvbmx5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBhbHJlYWR5IG1vdW50ZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzY5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgcG9pbnQgaW4gJXMiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkIG9uICVzOyB1c2UgLXQgPHR5cGU+IG9yIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIGZpbGVzeXN0ZW0gdHlwZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE0IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgbW91bnRlZCwgYnV0IGFueSBzdWJzZXF1ZW50IG9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYnVzeSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGEgc3ltYm9saWMgbGluayB0byBub3doZXJlIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudCBwb2ludCBvciBiYWQgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi8iCisibW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUzNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisid3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyICIKKyJwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlLCBhbmQgc3RhdCgyKSBmYWlscz8iCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ0aGUga2VybmVsIGRvZXMgbm90IHJlY29nbml6ZSAlcyBhcyBhIGJsb2NrIGRldmljZTsgbWF5YmUgXCJtb2Rwcm9iZSBkcml2ZXIiCisiXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgcmVhZC13cml0ZSBtb2RlIHJlcXVlc3RlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW91bnQ7IHByb2JhYmx5IGNvcnJ1cHRlZCBmaWxlc3lzdGVtIG9uICVzIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTA3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTE2CisjLCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibXVzdCBiZSBzdXBlcnVzZXIgdG8gdW5tb3VudCIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxpYi9wYWdlci5jOjExMgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICIiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgIiIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICIiCisKKyM6IGxpYi9wYXRoLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjczCittc2dpZCAiY2Fubm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgIiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3OQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIiIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IGxpYi9yYW5kdXRpbHMuYzoxODYKK21zZ2lkICJnZXRyYW5kb20oKSBmdW5jdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYW1iaWd1b3VzIHByb2JpbmcgcmVzdWx0OyB1c2Ugd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NTkKK21zZ2lkICJmb3JtYXRfaXNvX3RpbWU6IGJ1ZmZlciBvdmVyZmxvdy4iCittc2dzdHIgIiIKKworIzogbGliL3RpbWV1dGlscy5jOjQ3NyBsaWIvdGltZXV0aWxzLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5OQorbXNnaWQgIkNoYW5nZSB5b3VyIGZpbmdlciBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMworbXNnaWQgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIG9mZmljZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA0Cittc2dpZCAiIC1wLCAtLW9mZmljZS1waG9uZSA8cGhvbmU+ICAgb2ZmaWNlIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmllbGQgJXMgaXMgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzI2Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBkb2VzIG5vdCBhbGxvdyBhbnkgY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQyNSBsb2dpbi11dGlscy9jaHNoLmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgc2V0IGRlZmF1bHQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBpcyBub3QgZXhlY3V0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLlxuIgorIlVzZSAlcyAtbCB0byBzZWUgbGlzdC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKK21zZ2lkICIiCisicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgInlvdXIgc2hlbGwgaXMgbm90IGluICVzLCBzaGVsbCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgc2hlbGwgZm9yICVzLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNDIKK21zZ2lkICJOZXcgc2hlbGwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1MAorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU1Cittc2dpZCAiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorbXNnaWQgIiIKKyJzZXRwd25hbSBmYWlsZWRcbiIKKyJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvaXNsb2NhbC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NDM1IGxvZ2luLXV0aWxzL2xhc3QuYzo0NDYgbG9naW4tdXRpbHMvbGFzdC5jOjg5MgorbXNnaWQgInByZWFsbG9jYXRpb24gc2l6ZSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc1Cittc2dpZCAiU2hvdyBhIGxpc3Rpbmcgb2YgbGFzdCBsb2dnZWQgaW4gdXNlcnMuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OQorbXNnaWQgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBkaXNwbGF5IGhvc3RuYW1lcyBpbiB0aGUgbGFzdCBjb2x1bW5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NAorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MAorbXNnaWQgIiAtdywgLS1mdWxsbmFtZXMgICAgICBkaXNwbGF5IGZ1bGwgdXNlciBhbmQgZG9tYWluIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MQorbXNnaWQgIiIKKyIgLXgsIC0tc3lzdGVtICAgICAgICAgZGlzcGxheSBzeXN0ZW0gc2h1dGRvd24gZW50cmllcyBhbmQgcnVuIGxldmVsIGNoYW5nZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkyCittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXBzIGluIHRoZSBzcGVjaWZpZWQgPGZvcm1hdD46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vdGltZXxzaG9ydHxmdWxsfGlzb1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjk5MyBsb2dpbi11dGlscy9sYXN0LmM6OTk4IGxvZ2luLXV0aWxzL2xhc3QuYzoxMDAzCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWUgdmFsdWUgXCIlc1wiIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzoyOSBsb2dpbi11dGlscy9saWJ1c2VyLmM6MzEKK21zZ2lkICJDb3VsZG4ndCBkcm9wIGdyb3VwIHByaXZpbGVnZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjUyCittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIGF0dHJpYnV0ZSBub3QgY2hhbmdlZDogJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6IGNhbid0IHJlb3BlbiB0dHk6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlcyBpcyBub3QgYSB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozODAKK21zZ2lkICJGQVRBTDogYmFkIHR0eSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgbG9naW46ICUuKnMgIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzk3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxMgorIywgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MSBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVMTCB1c2VyIG5hbWUgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjk5NAorIywgYy1mb3JtYXQKK21zZ2lkICJUSU9DU0NUVFkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbjogLWggaXMgZm9yIHN1cGVydXNlciBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2MworIywgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMzNAorbXNnaWQgInNldHVpZCgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjcyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2hhbmdlIGRpcmVjdG9yeSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGNvbnRhaW5zIGludmFsaWQgbnVtZXJpY2FsIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJob21lIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJTaGVsbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgIkxhc3QgaG9zdG5hbWUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIkZhaWxlZCBsb2dpbiB0ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAiSHVzaGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiZGF5cyB1c2VyIGlzIHdhcm5lZCBvZiBwYXNzd29yZCBleHBpcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM2Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiB3YXJuIGludGVydmFsIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJQYXNzd29yZCBjaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAiTWF4aW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgInRoZSB1c2VyJ3Mgc2VjdXJpdHkgY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgcnVuIGJ5IHRoZSB1c2VyIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyODggbWlzYy11dGlscy9maW5kbW50LmM6MTM2IG1pc2MtdXRpbHMvbHNibGsuYzoyNDEKKyM6IHN5cy11dGlscy9sc2lwYy5jOjIwNCBzeXMtdXRpbHMvbHNtZW0uYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgY29sdW1ucyBzcGVjaWZpZWQsIHRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyNiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5NSBtaXNjLXV0aWxzL21jb29raWUuYzo4MyBtaXNjLXV0aWxzL3V1aWRkLmM6NjIKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI2IHN5cy11dGlscy9kbWVzZy5jOjI2NiBzeXMtdXRpbHMvaXBjbWsuYzo2NworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMCBzeXMtdXRpbHMvbHNpcGMuYzoyNzggc3lzLXV0aWxzL2xzbWVtLmM6NDk2CisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzkKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMyCittc2dpZCAiIC1hLCAtLWFjYy1leHBpcmF0aW9uICAgICBkaXNwbGF5IGluZm8gYWJvdXQgcGFzc3dvcmRzIGV4cGlyYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzMKK21zZ2lkICIiCisiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiIKKyIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzcKK21zZ2lkICIiCisiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4Cittc2dpZCAiIgorIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjk5Cittc2dpZCAiIgorIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MyBzeXMtdXRpbHMvbHNpcGMuYzozMDEKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKK21zZ2lkICIiCisiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NgorbXNnaWQgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAgZGlzcGxheSBzeXN0ZW0gYWNjb3VudHNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKK21zZ2lkICIgLXUsIC0tdXNlci1hY2NzICAgICAgICAgIGRpc3BsYXkgdXNlciBhY2NvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MQorbXNnaWQgIiAgICAgLS13dG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciB3dG1wXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0MzQKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjU3Cittc2dpZCAiZ2V0bGluZSgpIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNTAKK21zZ2lkICJQYXNzd29yZDogIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGdyb3VwPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3NgorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MzAKK21zZ2lkICJQb2xpdGVseSByZWZ1c2UgYSBsb2dpbi5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjIyNAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHBzZXVkby10ZXJtaW5hbCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NTI0IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTEgdGVybS11dGlscy9zY3JpcHQuYzo0OTQKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKK21zZ2lkICJmYWlsZWQgdG8gbW9kaWZ5IGVudmlyb25tZW50IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjcwNgorbXNnaWQgIm1heSBub3QgYmUgdXNlZCBieSBub24tcm9vdCB1c2VycyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc3OQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIGZvciBzZXNzaW9uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc4NworbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc5NworbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODA1IG1pc2MtdXRpbHMvdXVpZGQuYzozOTggc3lzLXV0aWxzL2xzY3B1LmM6NzQzCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc5NgorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NDEKK21zZ2lkICJjYW5ub3QgY3JlYXRlIGNoaWxkIHByb2Nlc3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODYwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAwNgorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjIgc3lzLXV0aWxzL2VqZWN0LmM6NjYwCittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDI0IHN5cy11dGlscy9lamVjdC5jOjY2MworbXNnaWQgImNhbm5vdCBzZXQgdXNlciBpZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkyCittc2dpZCAiIC1tLCAtcCwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTMKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBwcmltYXJ5IGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5NAorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIiCisiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5OQorbXNnaWQgIiIKKyIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBkbyBub3QgY3JlYXRlIGEgbmV3IHNlc3Npb25cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAxCittc2dpZCAiIgorIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisiICUxJHMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4Cittc2dpZCAiIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgIgorInNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEyMworbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM4Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTI5MAorbXNnaWQgIi0tcHR5IGlzIG5vdCBzdXBwb3J0ZWQgZm9yIHlvdXIgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzMjYKK21zZ2lkICJpZ25vcmluZyAtLXByZXNlcnZlLWVudmlyb25tZW50LCBpdCdzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC0tbG9naW4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MAorbXNnaWQgIiIKKyJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5ICIKKyJleGNsdXNpdmUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MworbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzU1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworbXNnaWQgInRjc2V0YXR0ciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIGxvZ2luOiAiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdpdmUgcm9vdCBwYXNzd29yZCBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZXNzIEVudGVyIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMzCittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSB0byBzeXN0ZW0gcm9vdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc4MgorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vICIKKyJsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgIgorImZhaWxzXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4ODQKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM0Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTcKK21zZ2lkICIiCisiVGltZWQgb3V0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKK21zZ2lkICIiCisiY2Fubm90IHdhaXQgb24gc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjE4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IHJlYWQgaW5vdGlmeSBldmVudHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDYKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwOQorbXNnaWQgIiAtZiwgLS1mb2xsb3cgICAgICAgICBvdXRwdXQgYXBwZW5kZWQgZGF0YSBhcyB0aGUgZmlsZSBncm93c1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzEwCittc2dpZCAiIC1yLCAtLXJldmVyc2UgICAgICAgIHdyaXRlIGJhY2sgZHVtcGVkIGRhdGEgaW50byB1dG1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGZpbGU+ICB3cml0ZSB0byBmaWxlIGluc3RlYWQgb2Ygc3RhbmRhcmQgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTQ1Cittc2dpZCAiY2FuJ3Qgb3BlbiB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IGdldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODQKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDgKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjEKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBncm91cHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKyMuICogd2hpY2ggbWVhbnMgdGhleSBjYW4gYmUgdHJhbnNsYXRlZC4KKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiV291bGQgeW91IGxpa2UgdG8gZWRpdCAlcyBub3cgW3kvbl0/ICIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtLWxhYmVsIDxsYWJlbD4gfCAtLXV1aWQgPHV1aWQ+XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgWy0tY2FjaGUtZmlsZSA8ZmlsZT5dIFstZ2hsTHZdIFstLW91dHB1dCA8Zm9ybWF0Pl0gWy0tbWF0Y2gtdGFnIDx0YWc+XSBcbiIKKyIgICAgICAgWy0tbWF0Y2gtdG9rZW4gPHRva2VuPl0gWzxkZXY+IC4uLl1cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlcyAtcCBbLS1tYXRjaC10YWcgPHRhZz5dIFstLW9mZnNldCA8b2Zmc2V0Pl0gWy0tc2l6ZSA8c2l6ZT5dIFxuIgorIiAgICAgICBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgLWkgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vdXRwdXQgPGZvcm1hdD5dIDxkZXY+IC4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MworbXNnaWQgIiIKKyIgLWMsIC0tY2FjaGUtZmlsZSA8ZmlsZT4gICAgcmVhZCBmcm9tIDxmaWxlPiBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgIgorImRlZmF1bHRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWNoZSBmaWxlICgtYyAvZGV2L251bGwgbWVhbnMgbm8gY2FjaGUpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg1Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogIgorImZ1bGwpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5Cittc2dpZCAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3QgYWxsIGtub3duIGZpbGVzeXN0ZW1zL1JBSURzIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIgorIiAtcywgLS1tYXRjaC10YWcgPHRhZz4gICAgICBzaG93IHNwZWNpZmllZCB0YWcocykgKGRlZmF1bHQgc2hvdyBhbGwgdGFncylcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTEKK21zZ2lkICIiCisiIC10LCAtLW1hdGNoLXRva2VuIDx0b2tlbj4gIGZpbmQgZGV2aWNlIHdpdGggYSBzcGVjaWZpYyB0b2tlbiAoTkFNRT12YWx1ZSAiCisicGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKK21zZ2lkICIiCisiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgIgorImJ5IC10XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkzCittc2dpZCAiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgICAgIGNvbnZlcnQgTEFCRUwgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTQKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1Cittc2dpZCAiIgorIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsICIKKyJkZXZpY2VzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4Cittc2dpZCAiIgorIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgSS9PIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICAgb3ZlcndyaXRlIGRldmljZSBzaXplXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMgorbXNnaWQgIiIKKyIgLXUsIC0tdXNhZ2VzIDxsaXN0PiAgICAgICAgZmlsdGVyIGJ5IFwidXNhZ2VcIiAoZS5nLiAtdSBmaWxlc3lzdGVtLHJhaWQpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworbXNnaWQgIiIKKyIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNQorbXNnaWQgIihtb3VudGVkLCBtdHB0IHVua25vd24pIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzcKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogYW1iaXZhbGVudCByZXN1bHQgKHByb2JhYmx5IG1vcmUgZmlsZXN5c3RlbXMgb24gdGhlIGRldmljZSwgdXNlICIKKyJ3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGtleXdvcmQgaW4gLXUgPGxpc3Q+IGFyZ3VtZW50OiAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2NgorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzgzCittc2dpZCAiLXQgbmVlZHMgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIxCittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ3NyBtaXNjLXV0aWxzL2NhbC5jOjUwMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZTogdXNlIDEtJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0ODEgbWlzYy11dGlscy9jYWwuYzo0ODkKK21zZ2lkICJpbGxlZ2FsIG1vbnRoIHZhbHVlOiB1c2UgMS0xMiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDk0Cittc2dpZCAiaWxsZWdhbCB5ZWFyIHZhbHVlOiB1c2UgcG9zaXRpdmUgaW50ZWdlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlMDRkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk4Cittc2dpZCAiRGlzcGxheSBhIGNhbGVuZGFyLCBvciBzb21lIHBhcnQgb2YgaXQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDQKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA2Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDcKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiIgorIiAgICAgLS1yZWZvcm0gPHZhbD4gICAgR3JlZ29yaWFuIHJlZm9ybSBkYXRlICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMAorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorbXNnaWQgIiAtWSwgLS10d2VsdmUgICAgICAgICAgc2hvdyB0aGUgbmV4dCB0d2VsdmUgbW9udGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExNAorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gcGFnZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjIKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2NAorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCittc2dpZCAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgIgorImZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjczCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKK21zZ2lkICJubyBmaWxlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT08dmFsdWU+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzozMgorbXNnaWQgIkZpbmQgYSBmaWxlc3lzdGVtIGJ5IGxhYmVsIG9yIFVVSUQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNAorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1Cittc2dpZCAiZmlsZXN5c3RlbSBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorbXNnaWQgImFjdGlvbiBkZXRlY3RlZCBieSAtLXBvbGwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE0Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIGF2YWlsYWJsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTUKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKK21zZ2lkICJmaWxlc3lzdGVtIHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNworbXNnaWQgImZpbGVzeXN0ZW0gcm9vdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMAorbXNnaWQgIm9wdGlvbmFsIG1vdW50IGZpZWxkcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEKK21zZ2lkICJWRlMgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyCittc2dpZCAiZHVtcCg4KSBwZXJpb2QgaW4gZGF5cyBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKK21zZ2lkICJ1bW91bnQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKK21zZ2lkICJtb3ZlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjgxNCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDc3IHN5cy11dGlscy9lamVjdC5jOjcxNAorIzogc3lzLXV0aWxzL21vdW50LmM6MzI0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworbXNnaWQgInBvbGwoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IHwgPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+IDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2UgPGRldmljZT5dIFstLXRhcmdldCA8cGF0aD4gfCAtLW1vdW50cG9pbnQgPGRpcj5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE5OQorbXNnaWQgIkZpbmQgYSAobW91bnRlZCkgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAyCittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDgKK21zZ2lkICIiCisiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIgorIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiIKKyIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjEzCittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlICIKKyJmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworbXNnaWQgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxCittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCittc2dpZCAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjMKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNSBzeXMtdXRpbHMvbHNucy5jOjkwMgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI2Cittc2dpZCAiIgorIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyAiCisiZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOAorbXNnaWQgIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzEKK21zZ2lkICIiCisiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworbXNnaWQgIiAtTSwgLS1tb3VudHBvaW50IDxkaXI+IHRoZSBtb3VudHBvaW50IGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOQorbXNnaWQgIiAtVSwgLS11bmlxICAgICAgICAgICAgIGlnbm9yZSBmaWxlc3lzdGVtcyB3aXRoIGR1cGxpY2F0ZSB0YXJnZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDEKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NAorbXNnaWQgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIHZlcmlmeSBtb3VudCB0YWJsZSBjb250ZW50IChkZWZhdWx0IGlzIGZzdGFiKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzczCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTQ0NQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTYKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTIwCittc2dpZCAiIgorIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgIgorImVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNvbHVtbiBpcyByZXF1ZXN0ZWQsIGJ1dCAtLXBvbGwgaXMgbm90IGVuYWJsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTMyCittc2dpZCAidW5kZWZpbmVkIHRhcmdldCAoZnNfZmlsZSkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzOQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tY2Fub25pY2FsIHRhcmdldCBwYXRoIChyZWFsOiAlcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGU6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgc291cmNlOiAlczogJW0iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmluZCBtb3VudCBzb3VyY2UgJXMgaXMgYSBkaXJlY3Rvcnkgb3IgcmVndWxhciBmaWxlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgInNvdXJjZSAlcyBleGlzdHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6Mzk1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBGUyB0eXBlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDA1Cittc2dpZCAiXCJub25lXCIgRlMgdHlwZSBpcyByZWNvbW1lbmRlZCBmb3IgYmluZCBvciBtb3ZlIG9wcmF0aW9ucyBvbmx5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc2VlbXMgdW5zdXBwb3J0ZWQgYnkgdGhlIGN1cnJlbnQga2VybmVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MTkgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyMAorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkZTIHR5cGUgaXMgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJyZWNvbW1lbmRlZCByb290IEZTIHBhc3NubyBpcyAxIChjdXJyZW50IGlzICVkKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgZXJyb3IiCittc2dpZF9wbHVyYWwgIiwgJWQgZXJyb3JzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzIzCittc2dpZCAidW5rbm93biBzaGVsbCBhZnRlciAtcyBvciAtLXNoZWxsIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM5Cittc2dpZCAiIgorIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQwCittc2dpZCAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIHRoZSBsb25nIG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQxCittc2dpZCAiIgorIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ0Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiIKKyIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgc2V0IHF1b3RpbmcgY29udmVudGlvbnMgdG8gdGhvc2Ugb2YgPHNoZWxsPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDcKK21zZ2lkICIgLXUsIC0tdW5xdW90ZWQgICAgICAgICAgICAgICAgZG8gbm90IHF1b3RlIHRoZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5NiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NgorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4MgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICBkbyBub3QgcmVzdHJpY3QgdGhlIG5hbWUtdG8tcGlkIGNvbnZlcnNpb24gdG8gIgorInByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIiCisiIC1xLCAtLXF1ZXVlIDx2YWx1ZT4gICAgdXNlIHNpZ3F1ZXVlKDIpLCBub3Qga2lsbCgyKSwgYW5kIHBhc3MgPHZhbHVlPiBhcyAiCisiZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiIKKyIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSAiCisibmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNDAgbWlzYy11dGlscy9raWxsLmM6MjQ5IHN5cy11dGlscy91bnNoYXJlLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyODcgc3lzLXV0aWxzL2VqZWN0LmM6MjA1IHN5cy11dGlscy9lamVjdC5jOjIzMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MDcgc3lzLXV0aWxzL3R1bmVscC5jOjE2NyBzeXMtdXRpbHMvdHVuZWxwLmM6MTc0CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTgxIHN5cy11dGlscy90dW5lbHAuYzoxODggc3lzLXV0aWxzL3R1bmVscC5jOjE5NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjIwMSBzeXMtdXRpbHMvdHVuZWxwLmM6MjA1IHN5cy11dGlscy90dW5lbHAuYzoyMTIKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxMSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMTQgdGVybS11dGlscy9zZXR0ZXJtLmM6MjMzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzUgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjI3MgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mjg5IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyOTgKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMTIgdGVybS11dGlscy9zZXR0ZXJtLmM6MzIxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjkgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM0NgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzU4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM2MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0MSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NDYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTUxCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTYgdGVybS11dGlscy9zZXR0ZXJtLmM6NTgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU4NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTkwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU5NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MDAKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2MTMgdGVybS11dGlscy9zZXR0ZXJtLmM6NjQ2Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc2lnbmFsIG5hbWUgb3IgbnVtYmVyOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgJWQgdG8gcGlkICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmYWNpbGl0eSBuYW1lOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHByaW9yaXR5IG5hbWU6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVzb2x2ZSBuYW1lICVzIHBvcnQgJXM6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4aW11bSBpbnB1dCBsaW5lcyAoJWQpIGV4Y2VlZGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1Cittc2dpZCAic2VuZCBtZXNzYWdlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICJzdHJ1Y3R1cmVkIGRhdGEgSUQgJyVzJyBpcyBub3QgdW5pcXVlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NjgKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaG9zdG5hbWUgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjg0NworIywgYy1mb3JtYXQKK21zZ2lkICJpZ25vcmluZyB1bmtub3duIG9wdGlvbiBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzMKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNgorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzkKK21zZ2lkICIiCisiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDEKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDIKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQzCittc2dpZCAiIgorIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgbG9vayBmb3IgYSBwcmVmaXggb24gZXZlcnkgbGluZSByZWFkIGZyb20gc3RkaW5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDUKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgIG1heGltdW0gc2l6ZSBmb3IgYSBzaW5nbGUgbWVzc2FnZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NgorbXNnaWQgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAgbWFyayBldmVyeSBsaW5lIHdpdGggdGhpcyB0YWdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDgKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUwCittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorbXNnaWQgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIHVzZSB0aGUgc3lzbG9nIHByb3RvY29sICh0aGUgZGVmYXVsdCBmb3IgcmVtb3RlKTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNuaXA+IGNhbiBiZSBub3RpbWUsIG9yIG5vdHEsIGFuZC9vciBub2hvc3RcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTQKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU4Cittc2dpZCAiIgorIiAgICAgLS1zb2NrZXQtZXJyb3JzWz08b258b2ZmfGF1dG8+XVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbnQgY29ubmVjdGlvbiBlcnJvcnMgd2hlbiB1c2luZyBVbml4IHNvY2tldHNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZpbGUgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTYyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIHBhcmFtZXRlcjogJyVzJyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTIKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1OQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKK21zZ2lkICIiCisiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OAorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjkKK21zZ2lkICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiAgIGRlZmluZSB0aGUgc3RyaW5nLXRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjIKK21zZ2lkICJkZXZpY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzCittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKK21zZ2lkICJpbnRlcm5hbCBwYXJlbnQga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY4IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA0Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCittc2dpZCAicGFydGl0aW9uIExBQkVMIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzYKK21zZ2lkICJyZWFkLWFoZWFkIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4Cittc2dpZCAicmVtb3ZhYmxlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc5Cittc2dpZCAicmVtb3ZhYmxlIG9yIGhvdHBsdWcgZGV2aWNlICh1c2IsIHBjbWNpYSwgLi4uKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MQorbXNnaWQgImFkZHMgcmFuZG9tbmVzcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgyCittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MworbXNnaWQgImRpc2sgc2VyaWFsIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg0Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODcKK21zZ2lkICJncm91cCBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkyCittc2dpZCAicGh5c2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MworbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorbXNnaWQgIkkvTyBzY2hlZHVsZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDQKK21zZ2lkICJkZXZpY2UgdHJhbnNwb3J0IHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNQorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA2Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDcKK21zZ2lkICJkZXZpY2UgdmVuZG9yIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDgKK21zZ2lkICJ6b25lIG1vZGVsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxMjkyCittc2dpZCAiZmFpbGVkIHRvIG9wZW4gZGV2aWNlIGRpcmVjdG9yeSBpbiBzeXNmcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzeXNmcyBuYW1lIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHdob2xlLWRpc2sgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzIHN5cy11dGlscy93ZGN0bC5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzYKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDMKK21zZ2lkICIgLXosIC0tem9uZWQgICAgICAgICAgcHJpbnQgem9uZSBtb2RlbFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ0Cittc2dpZCAiIgorIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBleGNsdWRlIGRldmljZXMgYnkgbWFqb3IgbnVtYmVyIChkZWZhdWx0OiBSQU0gZGlza3MpXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDUKK21zZ2lkICIgLWYsIC0tZnMgICAgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NgorbXNnaWQgIiAtaSwgLS1hc2NpaSAgICAgICAgICB1c2UgYXNjaWkgY2hhcmFjdGVycyBvbmx5XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUwCittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUyIHN5cy11dGlscy9sc21lbS5jOjUwNgorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUzIHN5cy11dGlscy9sc21lbS5jOjUwNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU0Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU1Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTgKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYxCittc2dpZCAiIC14LCAtLXNvcnQgPGNvbHVtbj4gIHNvcnQgb3V0cHV0IGJ5IDxjb2x1bW4+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFjY2VzcyBzeXNmcyBkaXJlY3Rvcnk6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjczCittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0Cittc2dpZCAiUElEIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKK21zZ2lkICJraW5kIG9mIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc3Cittc2dpZCAibG9jayBhY2Nlc3MgbW9kZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk4Cittc2dpZCAiTGlzdCBsb2NhbCBzeXN0ZW0gbG9ja3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAyCittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMyBzeXMtdXRpbHMvbHNucy5jOjkwMyBzeXMtdXRpbHMvcmZraWxsLmM6NTczCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKK21zZ2lkICJpbnZhbGlkIFBJRCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NgorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTAKK21zZ2lkICIgLW0sIC0tbWF4LXNpemUgPG51bT4gIGxpbWl0IGhvdyBtdWNoIGlzIHJlYWQgZnJvbSBzZWVkIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6OTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE2NCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE0NiBzeXMtdXRpbHMvZnN0cmltLmM6MzEwCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIC0gTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzNgorbXNnaWQgIkZvbGxvdyBhIHBhdGhuYW1lIHVudGlsIGEgdGVybWluYWwgcG9pbnQgaXMgZm91bmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjM0MAorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTQgc3lzLXV0aWxzL2xzbnMuYzoxMDU3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE3Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGxpbms6IGAlcydcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM4Cittc2dpZCAiUmVuYW1lIGZpbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDMKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQ0Cittc2dpZCAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgZG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0Cittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjcKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKK21zZ2lkICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjczCittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorbXNnaWQgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzYKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc3Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMDkKK21zZ2lkICJiYWQgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMTYKK21zZ2lkICJzb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEyNworbXNnaWQgImNvbm5lY3QiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE0NworbXNnaWQgIndyaXRlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNTUKK21zZ2lkICJyZWFkIGNvdW50IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNjEKK21zZ2lkICJiYWQgcmVzcG9uc2UgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworbXNnaWQgImNvdWxkbid0IGNyZWF0ZSB1bml4IHN0cmVhbSBzb2NrZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBiaW5kIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyODkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMzYgc3lzLXV0aWxzL2Zsb2NrLmM6MjcyCittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHRydW5jYXRlIGZpbGU6ICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozNzcKK21zZ2lkICJzZF9saXN0ZW5fZmRzKCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCAlZCBVVUlEOlxuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgJWQgVVVJRHM6XG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdXVpZHMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorbXNnaWQgInV1aWRkIGhhcyBiZWVuIGJ1aWx0IHdpdGhvdXQgc3VwcG9ydCBmb3Igc29ja2V0IGFjdGl2YXRpb24iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworbXNnaWQgIkJvdGggLS1zb2NrZXQtYWN0aXZhdGlvbiBhbmQgLS1zb2NrZXQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLXNvY2tldC4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Njk5CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGtpbGwgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwNAorIywgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNAorbXNnaWQgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzgKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NgorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzcKK21zZ2lkICJ2YXJpYW50IG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorbXNnaWQgInR5cGUgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc5Cittc2dpZCAidGltZXN0YW1wIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDAKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDMKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorbXNnaWQgImludmFsaWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxODYKK21zZ2lkICJvdGhlciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5NworbXNnaWQgIm5pbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwMgorbXNnaWQgInRpbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDgKK21zZ2lkICJuYW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjExCittc2dpZCAicmFuZG9tIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjE0Cittc2dpZCAic2hhMS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjI2NyBtaXNjLXV0aWxzL3dpcGVmcy5jOjE3MCBzeXMtdXRpbHMvbHNjcHUuYzoxNzIyCisjOiBzeXMtdXRpbHMvbHNucy5jOjgwNiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ5NgorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwMgorbXNnaWQgIkxvY2F0ZSB0aGUgYmluYXJ5LCBzb3VyY2UsIGFuZCBtYW51YWwtcGFnZSBmaWxlcyBmb3IgYSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNworbXNnaWQgIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBtYW51YWxzIGFuZCBpbmZvc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjExCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTMKK21zZ2lkICIgLWwgICAgICAgICBvdXRwdXQgZWZmZWN0aXZlIGxvb2t1cCBwYXRoc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjY0OAorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTAzCittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworbXNnaWQgIm1hZ2ljIHN0cmluZyBvZmZzZXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKK21zZ2lkICJ0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5Cittc2dpZCAiYmxvY2sgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgMHglanggbm90IGZvdW5kIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTgwCittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDUKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMworbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE0Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNQorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGxpc3Q+IENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKK21zZ2lkICIiCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKK21zZ2lkICJQb2xpY3kgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKK21zZ2lkICIgLWIsIC0tYmF0Y2ggICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NworbXNnaWQgIiAtZCwgLS1kZWFkbGluZSAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0RFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ4Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTAKK21zZ2lkICIgLW8sIC0tb3RoZXIgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NAorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NworbXNnaWQgIiAtUCwgLS1zY2hlZC1wZXJpb2QgPG5zPiAgIHBlcmlvZCBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MworbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzEgc2NoZWR1dGlscy9jaHJ0LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY4CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBtaW4vbWF4IHByaW9yaXR5XHQ6ICVkLyVkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBzdXBwb3J0ZWQ/XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODQKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUxOQorbXNnaWQgIiIKKyItLXJlc2V0LW9uLWZvcmsgb3B0aW9uIGlzIHN1cHBvcnRlZCBmb3IgU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjQKK21zZ2lkICIiCisiLS1zY2hlZC17cnVudGltZSxkZWFkbGluZSxwZXJpb2R9IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgIgorIm9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTM5Cittc2dpZCAiU0NIRURfREVBRExJTkUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo5OAorbXNnaWQgImlvcHJpb19zZXQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTExCittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIEkvTy1zY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTQKK21zZ2lkICIiCisiIC1jLCAtLWNsYXNzIDxjbGFzcz4gICAgbmFtZSBvciBudW1iZXIgb2Ygc2NoZWR1bGluZyBjbGFzcyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOAorbXNnaWQgIiAtcCwgLS1waWQgPHBpZD4uLi4gICAgIGFjdCBvbiB0aGVzZSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTkKK21zZ2lkICIiCisiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKK21zZ2lkICIgLXQsIC0taWdub3JlICAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiIKKyIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSAiCisidXNlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworbXNnaWQgImludmFsaWQgY2xhc3MgZGF0YSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2MworbXNnaWQgImludmFsaWQgY2xhc3MgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxOTMKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2MAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwOQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjE5NSBzeXMtdXRpbHMvY2hjcHUuYzoyOTIKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIE5SX0NQVVM7IGFib3J0aW5nIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjQgc3lzLXV0aWxzL2NoY3B1LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKK21zZ2lkICIgLXAsIC0tc3RlcCA8bnVtPiAgICBzaXplIG9mIHRoZSBkaXNjYXJkIGl0ZXJhdGlvbnMgd2l0aGluIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTYKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTAgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjY5MQorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTI0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTc2IHN5cy11dGlscy9ibGt6b25lLmM6Mzk4IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNzMKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExMSBzeXMtdXRpbHMvZnN0cmltLmM6MzM2Cittc2dpZCAidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkyIHN5cy11dGlscy9ibGt6b25lLmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzMKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmxrZGV2X2dldF9zZWN0b3JzIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFUE9SVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvdW5kICVkIHpvbmVzIGZyb20gMHglPFBSSXg2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tIgorInNlcToldSwgemNvbmQ6JTJ1KCVzKSBbdHlwZTogJXUoJXMpXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG51bWJlciBvZiBzZWN0b3JzICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWNjZXNzZnVsbHkgcmVzZXQgaW4gcmFuZ2UgZnJvbSAlPFBSSXU2ND4sIHRvICU8UFJJdTY0PiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzAyCittc2dpZCAiUnVuIHpvbmUgY29tbWFuZCBvbiB0aGUgZ2l2ZW4gYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzA5Cittc2dpZCAiIgorIiAtbywgLS1vZmZzZXQgPHNlY3Rvcj4gIHN0YXJ0IHNlY3RvciBvZiB6b25lIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMAorbXNnaWQgIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKK21zZ2lkICIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiB6b25lcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKK21zZ2lkICJubyBjb21tYW5kIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCAobGFzdCBlbmFibGVkIENQVSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZXNjYW5uaW5nIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NQorbXNnaWQgIkZhaWxlZCB0byBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1NgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1OQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCB2ZXJ0aWNhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5OQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lbW9yeSBCbG9jayAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGluZGV4IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU4IHN5cy11dGlscy9jaG1lbS5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNjYgc3lzLXV0aWxzL2xzbWVtLmM6NDc2IHN5cy11dGlscy9sc21lbS5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNzQKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBlbmQgYWRkcmVzcyBmb3JtYXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlN0YXJ0IGFkZHJlc3MgYW5kIChlbmQgYWRkcmVzcyArIDEpIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM3Cittc2dpZCAiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDEKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQyCittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MworbXNnaWQgIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NworbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDI5Cittc2dpZCAiem9uZSBpZ25vcmVkLCBubyB2YWxpZF96b25lcyBzeXNmcyBhdHRyaWJ1dGUgcHJlc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgaGFyZHxzb2Z0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NzEgc3lzLXV0aWxzL2lwY3JtLmM6Mzk1IHN5cy11dGlscy9pcGNybS5jOjQxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEwCittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCittc2dpZCAiY3JpdGljYWwgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTIKK21zZ2lkICJlcnJvciBjb25kaXRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKK21zZ2lkICJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNgorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorbXNnaWQgImtlcm5lbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzEKK21zZ2lkICJyYW5kb20gdXNlci1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzIKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKK21zZ2lkICJzeXN0ZW0gZGFlbW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzQKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorbXNnaWQgIm1lc3NhZ2VzIGdlbmVyYXRlZCBpbnRlcm5hbGx5IGJ5IHN5c2xvZ2QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2Cittc2dpZCAibGluZSBwcmludGVyIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzcKK21zZ2lkICJuZXR3b3JrIG5ld3Mgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOAorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MworbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc2Cittc2dpZCAiIgorIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgwCittc2dpZCAiIgorIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODMKK21zZ2lkICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NAorbXNnaWQgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4NgorbXNnaWQgIiIKKyIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlIHRpbWVzdGFtcCBvdXRwdXQgb24gZWFjaCBsaW5lIG9mIG11bHRpLSIKKyJsaW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4Cittc2dpZCAiIgorIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODkKK21zZ2lkICIiCisiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorbXNnaWQgIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkyCittc2dpZCAiIgorIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTQKK21zZ2lkICIiCisiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgIgorImZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorbXNnaWQgIiIKKyIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgIgorImluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTcKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5ICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtbWFwOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2Cittc2dpZCAiaW52YWxpZCBidWZmZXIgc2l6ZSBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDg4Cittc2dpZCAiLS1zaG93LWRlbHRhIGlzIGlnbm9yZWQgd2hlbiB1c2VkIHRvZ2V0aGVyIHdpdGggaXNvODYwMSB0aW1lIGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCittc2dpZCAiIgorIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nICIKKyJtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2Cittc2dpZCAicmVhZCBrZXJuZWwgYnVmZmVyIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMzgKK21zZ2lkICJFamVjdCByZW1vdmFibGUgbWVkaWEuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDEKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM0OAorbXNnaWQgIkNELURyaXZlIG1heSBOT1QgYmUgZWplY3RlZCB3aXRoIGRldmljZSBidXR0b24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzUwCittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjUKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY3Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODcKK21zZ2lkICJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMyIHN5cy11dGlscy9lamVjdC5jOjQ1NSBzeXMtdXRpbHMvZWplY3QuYzoxMDA2Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM4Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MworbXNnaWQgIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1NDMKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzcGVlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1ODMKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjcyNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3ODYgc3lzLXV0aWxzL2VqZWN0LmM6ODg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtb3VudGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODMwCisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvICVsZFgiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg2MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyBkZWZhdWx0IGRldmljZSBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MSBzeXMtdXRpbHMvcnRjd2FrZS5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGZpbmQgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4OSBzeXMtdXRpbHMvdW1vdW50LmM6MzA5IHN5cy11dGlscy91bW91bnQuYzozMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBtb3VudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYyBkZXZpY2U6ICVzIChkaXNrIGRldmljZSB3aWxsIGJlIHVzZWQgZm9yIGVqZWN0KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCBtb3VudHBvaW50IG9yIGRldmljZSB3aXRoIHRoZSBnaXZlbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworbXNnaWQgImV4aXRpbmcgZHVlIHRvIC1uLy0tbm9vcCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlbmFibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXM6IGRldmljZSBpbiB1c2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAwNQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgU0NTSSBjb21tYW5kcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEyCittc2dpZCAiU0NTSSBlamVjdCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBmbG9wcHkgZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjAKK21zZ2lkICJmbG9wcHkgZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODcKK21zZ2lkICJQcmVhbGxvY2F0ZSBzcGFjZSB0bywgb3IgZGVhbGxvY2F0ZSBzcGFjZSBmcm9tIGEgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTIKK21zZ2lkICIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MworbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gICBsZW5ndGggZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk0Cittc2dpZCAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIG1haW50YWluIHRoZSBhcHBhcmVudCBzaXplIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk1Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NworbXNnaWQgIiAteiwgLS16ZXJvLXJhbmdlICAgICB6ZXJvIGFuZCBlbnN1cmUgYWxsb2NhdGlvbiBvZiBhIHJhbmdlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTQ1Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjU5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYyCittc2dpZCAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICBnZXQgYSBzaGFyZWQgbG9ja1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCittc2dpZCAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKK21zZ2lkICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIgorIiAtRSwgLS1jb25mbGljdC1leGl0LWNvZGUgPG51bWJlcj4gIGV4aXQgY29kZSBhZnRlciBjb25mbGljdCBvciB0aW1lb3V0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjgKK21zZ2lkICIiCisiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY5Cittc2dpZCAiIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIGV4ZWN1dGUgY29tbWFuZCB3aXRob3V0IGZvcmtpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjI5Cittc2dpZCAidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGV4YWN0bHkgb25lIGNvbW1hbmQgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjU1Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTgKK21zZ2lkICJyZXF1aXJlcyBmaWxlIGRlc2NyaXB0b3IsIGZpbGUgb3IgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4MgorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODkKK21zZ2lkICJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NAorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0OAorbXNnaWQgIiAtdSwgLS11bmZyZWV6ZSAgICB1bmZyZWV6ZSB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5mcmVlemUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkzIHN5cy11dGlscy9sc25zLmM6MTA2NiBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHRyaW0gYWxsIG1vdW50ZWQgZmlsZXN5c3RlbXMgdGhhdCBhcmUgc3VwcG9ydGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjMKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMTgKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMzEKK21zZ2lkICJubyBtb3VudHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzAwCisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLmdvdCBjbG9jayB0aWNrXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHJlYWQgZnJvbSBIYXJkd2FyZSBDbG9jazogJTRkLyUuMmQvJS4yZCAlMDJkOiUwMmQ6JTAyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyOAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsIDApIHRvIGxvY2sgdGhlIHdhcnAgZnVuY3Rpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjU1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlICIKKyJ0aGUgbGFzdCBjYWxpYnJhdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICVmIHNlY29uZHMvZGF5LlxuIgorIkl0IGlzIGZhciB0b28gbXVjaC4gUmVzZXR0aW5nIHRvIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc4CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGN1bGF0ZWQgSGFyZHdhcmUgQ2xvY2sgZHJpZnQgaXMgJWxkLiUwNmxkIHNlY29uZHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg1NworIywgYy1mb3JtYXQKK21zZ2lkICJOb3Qgc2V0dGluZyBjbG9jayBiZWNhdXNlIGRyaWZ0IGZhY3RvciAlZiBpcyBmYXIgdG9vIGhpZ2guXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4OQorbXNnaWQgIiIKKyJVc2UgdGhlIC0tdmVyYm9zZSBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyAiCisibWV0aG9kLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk3MAorbXNnaWQgIlJUQyByZWFkIHJldHVybmVkIGFuIGludmFsaWQgdmFsdWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MworbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbZnVuY3Rpb25dIFtvcHRpb24uLi5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorbXNnaWQgIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKK21zZ2lkICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgYWNjb3JkaW5nIHRvIC0tZGF0ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjYKK21zZ2lkICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBSVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3Cittc2dpZCAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorbXNnaWQgIiAgICAgLS1zeXN0eiAgICAgICAgICBzZW5kIHRpbWVzY2FsZSBjb25maWd1cmF0aW9ucyB0byB0aGUga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorbXNnaWQgIiAgICAgLS1nZXRlcG9jaCAgICAgICBkaXNwbGF5IHRoZSBSVEMgZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcyCittc2dpZCAiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NAorbXNnaWQgIiAgICAgLS1wcmVkaWN0ICAgICAgICBwcmVkaWN0IHRoZSBkcmlmdGVkIFJUQyB0aW1lIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc2Cittc2dpZCAiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIFVUQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzcKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IHVzZSAlMSRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1hZGpmaWxlIDxmaWxlPiB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworbXNnaWQgIiAgICAgLS10ZXN0ICAgICAgICAgICBkcnkgcnVuOyBpbXBsaWVzIC0tdmVyYm9zZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHRvbyBtYW55IGFyZ3VtZW50cyBnaXZlbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMTcKK21zZ2lkICItLXVwZGF0ZS1kcmlmdCByZXF1aXJlcyAtLXNldCBvciAtLXN5c3RvaGMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzIyCittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZGF0ZSAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gVGltZTogJWxkLiUwNmxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5Cittc2dpZCAiSVNBIHBvcnQgYWNjZXNzIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6MzkxCittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3Cittc2dpZCAiVXNpbmcgZGlyZWN0IElTQSBhY2Nlc3MgdG8gdGhlIGNsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxNTAgc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjUzCittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyMzMKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX1VJRV9PTiwgMCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MworbXNnaWQgIlVzaW5nIHRoZSBydGMgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0NgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzQKK21zZ2lkICIiCisiIC1TLCAtLXNlbWFwaG9yZSA8bnVtYmVyPiBjcmVhdGUgc2VtYXBob3JlIGFycmF5IHdpdGggPG51bWJlcj4gZWxlbWVudHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiIKKyIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbWFwaG9yZSBpZDogJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OAorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKK21zZ2lkICIgLU0sIC0tc2htZW0ta2V5IDxrZXk+ICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBrZXlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYxCittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZS1pZCA8aWQ+ICAgIHJlbW92ZSBzZW1hcGhvcmUgYnkgaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjUKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4IHN5cy11dGlscy9pcGNybS5jOjIyMgorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTA4Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMSBzeXMtdXRpbHMvaXBjcm0uYzoyMjgKK21zZ2lkICJpbnZhbGlkIGtleSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNAorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcgc3lzLXV0aWxzL2lwY3JtLmM6MjMxCittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKK21zZ2lkICJpZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI2OQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3JlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyOTAKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtyZXNvdXJjZS1vcHRpb24uLi5dIFtvdXRwdXQtb3B0aW9uXVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU3IHN5cy11dGlscy9sc2lwYy5jOjI4MQorbXNnaWQgIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MAorbXNnaWQgIiAtaSwgLS1pZCA8aWQ+ICBwcmludCBkZXRhaWxzIG9uIHJlc291cmNlIGlkZW50aWZpZWQgYnkgPGlkPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1IHN5cy11dGlscy9sc2lwYy5jOjI4NQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKK21zZ2lkICIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY3IHN5cy11dGlscy9sc2lwYy5jOjI4NworbXNnaWQgIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2OAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzQKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzUKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoxNjQKK21zZ2lkICJ3aGVuIHVzaW5nIGFuIElELCBhIHNpbmdsZSByZXNvdXJjZSBtdXN0IGJlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTgKK21zZ2lkICJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIyMAorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzNgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODYKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJscGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBvcHMgcGVyIHNlbW9wIGNhbGwgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBhcnJheXMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgInNlbWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAibnNlbXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDcxCittc2dpZCAibWF4IHNpemUgb2YgbWVzc2FnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MworbXNnaWQgImRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUwMSBzeXMtdXRpbHMvaXBjcy5jOjUwNworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJtc3FpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHJwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4OAorIywgYy1mb3JtYXQKK21zZ2lkICJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTkwCittc2dpZCAic2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJieXRlcz0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGV0X3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjYnl0ZXM9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdCBnaWQ9JXVcdCBjdWlkPSV1XHQgY2dpZD0ldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAidmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJuY291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJ6Y291bnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTkKK21zZ2lkICJwaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjMwIHN5cy11dGlscy9pcGN1dGlscy5jOjIzNCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzgKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjI0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChieXRlcykgPSAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorbXNnaWQgImludmFsaWQgaWZsYWciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMworbXNnaWQgIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjExCittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKK21zZ2lkICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNAorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNDcKK21zZ2lkICJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM3NAorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ4MworbXNnaWQgImNhbm5vdCBkYWVtb25pemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MAorbXNnaWQgImF1dG9jbGVhciBmbGFnIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxCittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCittc2dpZCAiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjczCittc2dpZCAiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NAorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorbXNnaWQgInBhcnRzY2FuIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZXRhY2ggZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8bG9vcGRldj4gPGZpbGU+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAyCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDA3Cittc2dpZCAiIgorIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorbXNnaWQgIiIKKyIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgICAgICAgICAgc3RhcnQgYXQgb2Zmc2V0IDxudW0+IGludG8gZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiIgorIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE0Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiIgorIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxOQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIgorIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaXN0IGluZm8gYWJvdXQgYWxsIG9yIHNwZWNpZmllZCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI3Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlIG1heSBiZSB1c2VsZXNzICIKKyJvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlICIKKyJ3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc3IHN5cy11dGlscy9sb3NldHVwLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDcKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTQyIHN5cy11dGlscy9sb3NldHVwLmM6ODQ3Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsb2dpY2FsIGJsb2NrIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo2NDkgc3lzLXV0aWxzL2xvc2V0dXAuYzo2NTkgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NzQKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Nzg4IHN5cy11dGlscy9sb3NldHVwLmM6ODI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwNQorbXNnaWQgInRoZSBvcHRpb24gLS1vZmZzZXQgaXMgbm90IGFsbG93ZWQgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgY2FwYWNpdHkgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKK21zZ2lkICJub25lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCittc2dpZCAiaG9yaXpvbnRhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTQKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk1Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKK21zZ2lkICJsb2dpY2FsIHNvY2tldCBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCittc2dpZCAiQ1BVIGRpc3BhdGNoaW5nIG1vZGUgb24gdmlydHVhbCBoYXJkd2FyZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDIKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMworbXNnaWQgInNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6Mzk5Cittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBudW1iZXIgb2YgQ1BVczogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4Cittc2dpZCAiY2Fubm90IHJlc3RvcmUgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTMwNworbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIk4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKyIjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElEXG4iCisiIyBzdGFydGluZyBmcm9tIHplcm8uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTczNworbXNnaWQgIkNQVSBvcC1tb2RlKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ3Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjcKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAzCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyMgorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzAKK21zZ2lkICJNb2RlbDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzMgorbXNnaWQgIk1vZGVsIG5hbWU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzQKK21zZ2lkICJTdGVwcGluZzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNgorbXNnaWQgIkNQVSBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzgKK21zZ2lkICJDUFUgZHluYW1pYyBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDAKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MgorbXNnaWQgIkNQVSBtYXggTUh6OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ0Cittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDYKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0OSBzeXMtdXRpbHMvbHNjcHUuYzoxODUxCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTQKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU2Cittc2dpZCAiSHlwZXJ2aXNvciB2ZW5kb3I6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYwCittc2dpZCAiRGlzcGF0Y2hpbmcgbW9kZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg2NCBzeXMtdXRpbHMvbHNjcHUuYzoxODcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGNhY2hlOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODc3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTUEgbm9kZSVkIENQVShzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorbXNnaWQgIlBoeXNpY2FsIHNvY2tldHM6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorbXNnaWQgIlBoeXNpY2FsIGNvcmVzL2NoaXA6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODgKK21zZ2lkICJGbGFnczoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgYm90aCBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyAoZGVmYXVsdCBmb3IgLSIKKyJlKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDcKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworbXNnaWQgIiIKKyIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OTkgc3lzLXV0aWxzL2xzbWVtLmM6NjAxCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS0iCisiZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNDkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiS2V5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIlJlc291cmNlIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MAorbXNnaWQgIklEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCittc2dpZCAiR3JvdXAgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKK21zZ2lkICJCeXRlcyB1c2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKK21zZ2lkICJTZWdtZW50IHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NQorbXNnaWQgIkF0dGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCBsaW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorbXNnaWQgIlNlbWFwaG9yZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJVc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIiCisiIC1nLCAtLWdsb2JhbCAgICAgIGluZm8gYWJvdXQgc3lzdGVtLXdpZGUgdXNhZ2UgKG1heSBiZSB1c2VkIHdpdGggLW0sIC1xIGFuZCAiCisiLXMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjg5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gICAgIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1Cittc2dpZCAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSAiCisiZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk2Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgICAgICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk4Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiIKKyIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgIGZvcmNlIGxpc3Qgb3V0cHV0IGZvcm1hdCAoZm9yIGV4YW1wbGUgd2l0aCAtLWlkKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk1lc3NhZ2UtcXVldWUgY29sdW1ucyAoLS1xdWV1ZXMpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIGNvbHVtbnMgKC0tc2VtYXBob3Jlcyk6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNgorbXNnaWQgIlNlbWFwaG9yZSBtYXggdmFsdWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorbXNnaWQgIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTg5IHN5cy11dGlscy9sc2lwYy5jOjEwMDgKK21zZ2lkICJodWdldGxiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc1Cittc2dpZCAiTWluIHNpemUgb2Ygc2hhcmVkIG1lbW9yeSBzZWdtZW50IChieXRlcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTE0NQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJUEMgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI5Cittc2dpZCAic2l6ZSBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMAorbXNnaWQgIm9ubGluZSBzdGF0dXMgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworbXNnaWQgIm51bWEgbm9kZSBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTM0Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYxCittc2dpZCAib25saW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorbXNnaWQgIm9mZmxpbmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5Cittc2dpZCAiTWVtb3J5IGJsb2NrIHNpemU6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3Cittc2dpZCAiVG90YWwgb2ZmbGluZSBtZW1vcnk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NDk5Cittc2dpZCAiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUwNAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKK21zZ2lkICIgLVMsIC0tc3BsaXQgPGxpc3Q+ICAgc3BsaXQgcmFuZ2VzIGJ5IHNwZWNpZmllZCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiIKKyIgICAgIC0tc3VtbWFyeVs9d2hlbl0gcHJpbnQgc3VtbWFyeSBpbmZvcm1hdGlvbiAobmV2ZXIsYWx3YXlzIG9yIG9ubHkpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjE4Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY2NCBzeXMtdXRpbHMvbHNucy5jOjc4MQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA0Cittc2dpZCAiUFBJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA1Cittc2dpZCAiY29tbWFuZCBsaW5lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDYKK21zZ2lkICJVSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNworbXNnaWQgInVzZXJuYW1lIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDgKK21zZ2lkICJuYW1lc3BhY2UgSUQgYXMgdXNlZCBieSBuZXR3b3JrIHN1YnN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOQorbXNnaWQgIm5zZnMgbW91bnRwb2ludCAodXN1YWxseSB1c2VkIG5ldHdvcmsgc3Vic3lzdGVtKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjcxOQorbXNnaWQgImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA1Cittc2dpZCAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKK21zZ2lkICIgLVcsIC0tbm93cmFwICAgICAgICAgICBkb24ndCB1c2UgbXVsdGktbGluZSByZXByZXNlbnRhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIgorIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIG5hbWVzcGFjZSB0eXBlIChtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgIgorImNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyNQorbXNnaWQgImludmFsaWQgbmFtZXNwYWNlIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3NworIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZm91bmQgbmFtZXNwYWNlOiAlanUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IChlZmZlY3RpdmUgVUlEIGlzICV1KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MyBzeXMtdXRpbHMvdW1vdW50LmM6MTI4Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIChsaWJtb3VudCAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMjkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MSBzeXMtdXRpbHMvdW1vdW50LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUzIHN5cy11dGlscy9tb3VudC5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJtb3VudDogJXMgZG9lcyBub3QgY29udGFpbiBTRUxpbnV4IGxhYmVscy5cbiIKKyIgICAgICAgWW91IGp1c3QgbW91bnRlZCBhbiBmaWxlIHN5c3RlbSB0aGF0IHN1cHBvcnRzIGxhYmVscyB3aGljaCBkb2VzIG5vdFxuIgorIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKyIgICAgICAgYXBwbGljYXRpb25zIHdpbGwgZ2VuZXJhdGUgQVZDIG1lc3NhZ2VzIGFuZCBub3QgYmUgYWxsb3dlZCBhY2Nlc3MgdG9cbiIKKyIgICAgICAgdGhpcyBmaWxlIHN5c3RlbS4gIEZvciBtb3JlIGRldGFpbHMgc2VlIHJlc3RvcmVjb24oOCkgYW5kIG1vdW50KDgpLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjMwNyBzeXMtdXRpbHMvdW1vdW50LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IDxkaXJlY3Rvcnk+XG4iCisiICUxJHMgPG9wZXJhdGlvbj4gPG1vdW50cG9pbnQ+IFs8dGFyZ2V0Pl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLWEsIC0tYWxsICAgICAgICAgICAgICAgbW91bnQgYWxsIGZpbGVzeXN0ZW1zIG1lbnRpb25lZCBpbiBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorIiAtRiwgLS1mb3JrICAgICAgICAgICAgICBmb3JrIG9mZiBmb3IgZWFjaCBkZXZpY2UgKHVzZSB3aXRoIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICBhbHRlcm5hdGl2ZSBmaWxlIHRvIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDEyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNvdXJjZTpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD08bGFiZWw+ICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gVVVJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXNsYXZlICAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICBtYXJrIGEgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1ycHJpdmF0ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2Cittc2dpZCAiIgorIiAtcSwgLS1xdWlldCAgICAgICAgcXVpZXQgbW9kZSAtIGRvbid0IHByaW50IGFueXRoaW5nXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzMgc3lzLXV0aWxzL3NldGFyY2guYzo5MiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgZW50ZXIgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCittc2dpZCAiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTQKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBkbyBub3QgZm9yayBiZWZvcmUgZXhlYydpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMxMworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IGV4ZWMgY29udGV4dCB0byAnJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ0MQorbXNnaWQgImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHJvb3QgZmlsZSBkZXNjcmlwdG9yIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozOAorbXNnaWQgIkNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzUKK21zZ2lkICJhZGRyZXNzIHNwYWNlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgIkNQVSB0aW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibG9ja3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyMworbXNnaWQgInJlc291cmNlIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorbXNnaWQgInNvZnQgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjYKK21zZ2lkICJoYXJkIGxpbWl0IChjZWlsaW5nKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NworbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZXNvdXJjZSBsaW1pdHMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY5Cittc2dpZCAiIgorIlxuIgorIkdlbmVyYWwgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3MAorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKK21zZ2lkICIiCisiXG4iCisiUmVzb3VyY2VzIE9wdGlvbnM6XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzkKK21zZ2lkICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBhIHByb2Nlc3MncyBkYXRhIHNlZ21lbnRcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBtYXhpbXVtIG5pY2UgcHJpb3JpdHkgYWxsb3dlZCB0byByYWlzZVxuIgorIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgbWF4aW11bSBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAgbWF4aW11bSBzaXplIGEgcHJvY2VzcyBtYXkgbG9jayBpbnRvIG1lbW9yeVxuIgorIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBvcGVuIGZpbGVzXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAgbWF4aW11bSBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlc1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBtYXhpbXVtIHN0YWNrIHNpemVcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBtYXhpbXVtIGFtb3VudCBvZiBDUFUgdGltZSBpbiBzZWNvbmRzXG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBzaXplIG9mIHZpcnR1YWwgbWVtb3J5XG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2Nrc1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdW5kZXIgcmVhbC10aW1lIHNjaGVkdWxpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0MyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI0OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2NQorIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzAKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJOZXcgJXMgbGltaXQgZm9yIHBpZCAlZDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjYxNAorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgIChkZWZhdWx0czogXCIlc1wiIGFuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICBwcmludCBhbGwgc3ltYm9scywgZXZlbiBpZiBjb3VudCBpcyAwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKK21zZ2lkICJBc3N1bWluZyByZXZlcnNlZCBieXRlIG9yZGVyLiBVc2UgLW4gdG8gZm9yY2UgbmF0aXZlIGJ5dGUgb3JkZXIuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzo0MDMKK21zZ2lkICJ0b3RhbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTIKK21zZ2lkICJwcm9jZXNzIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLWd8LS1wZ3JwIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiAgLXV8LS11c2VyIDx1c2VyPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzEKK21zZ2lkICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MworbXNnaWQgIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjc0Cittc2dpZCAiIC11LCAtLXVzZXIgPG5hbWU+fDxpZD4gaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciB2YWx1ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMxCittc2dpZCAiZGV2aWNlIHR5cGUgbmFtZSB0aGF0IGNhbiBiZSB1c2VkIGFzIGlkZW50aWZpZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMgorbXNnaWQgImRldmljZSB0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKK21zZ2lkICJzdGF0dXMgb2Ygc29mdHdhcmUgYmxvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzNAorbXNnaWQgInN0YXR1cyBvZiBoYXJkd2FyZSBibG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgbm9uLWJsb2NraW5nICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAid3Jvbmcgc2l6ZSBvZiByZmtpbGwgZXZlbnQ6ICV6dSA8ICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjMxMworbXNnaWQgImludmFsaWQgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorbXNnaWQgInVuYmxvY2tlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDE1IHN5cy11dGlscy9yZmtpbGwuYzo0ODAgc3lzLXV0aWxzL3Jma2lsbC5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY5Cittc2dpZCAiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyMuIFRSQU5TTEFUT1JTOiBjb21tYW5kIG5hbWVzIHNob3VsZCBub3QgYmUgdHJhbnNsYXRlZCwgZXhwbGFpbmluZworIy4gdGhlbSBhcyBhZGRpdGlvbmFsIGZpZWxkIGFmdGVyIGlkZW50aWZpZXIgaXMgZmluZSwgZm9yIGV4YW1wbGUKKyMuICoKKyMuIGxpc3QgICBbaWRlbnRpZmllcl0gICAobGlzdGEgW3Rhcmtlbm5lXSkKKyMuCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkyCittc2dpZCAiIGhlbHBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTkzCittc2dpZCAiIGV2ZW50XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NAorbXNnaWQgIiBsaXN0ICAgW2lkZW50aWZpZXJdXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk2Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTAxCittc2dpZCAiRW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgYSBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDQKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gICAgICAgICAgICAgICByZWFkcyB0aGUgY2xvY2sgbW9kZSBmcm9tIGFkanVzdCBmaWxlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRlZmF1bHQgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorbXNnaWQgIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEwCittc2dpZCAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTIKK21zZ2lkICIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTQKK21zZ2lkICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNjcKK21zZ2lkICJyZWFkIHJ0YyB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyMzcKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmV4cGVjdGVkIHRoaXJkIGxpbmUgaW46ICVzOiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb2ZmXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNTYKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzYxCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGQgbm90IHJlYWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKK21zZ2lkICJpbnZhbGlkIHRpbWUgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFzc3VtaW5nIFJUQyB1c2VzIFVUQyAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworbXNnaWQgIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1MworIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTc3CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogbm87IGxlYXZpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYxMAorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3dpdGNoaW5nIG9uICVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5NQorbXNnaWQgIkNoYW5nZSB0aGUgcmVwb3J0ZWQgYXJjaGl0ZWN0dXJlIGFuZCBzZXQgcGVyc29uYWxpdHkgZmxhZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo5OAorbXNnaWQgIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIiCisiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIiCisiIC1SLCAtLWFkZHItbm8tcmFuZG9taXplICBkaXNhYmxlcyByYW5kb21pemF0aW9uIG9mIHRoZSB2aXJ0dWFsIGFkZHJlc3MgIgorInNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDMKK21zZ2lkICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNAorbXNnaWQgIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDUKK21zZ2lkICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDYKK21zZ2lkICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIiCisiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyAiCisiR0JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOQorbXNnaWQgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgdHVybnMgb24gVU5BTUUyNlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTkKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMgorbXNnaWQgIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgICAgc2hvdyBjdXJyZW50IHN0YXRlIChhbmQgZG8gbm90IGV4ZWMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjMKK21zZ2lkICIgLS1ubnAsIC0tbm8tbmV3LXByaXZzICAgICAgIGRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI1Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjYKK21zZ2lkICIgLS1ib3VuZGluZy1zZXQgPGNhcHM+ICAgICAgIHNldCBjYXBhYmlsaXR5IGJvdW5kaW5nIHNldFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3Cittc2dpZCAiIC0tcnVpZCA8dWlkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOAorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKK21zZ2lkICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzEKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzQKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM2Cittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorbXNnaWQgIiAtLXNlbGludXgtbGFiZWwgPGxhYmVsPiAgICAgc2V0IFNFTGludXggbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3Cittc2dpZCAiaW52YWxpZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3VyZWJpdHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHM6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NyBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MgorIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzggc3lzLXV0aWxzL3NldHByaXYuYzozODQgc3lzLXV0aWxzL3NldHByaXYuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiW25vbmVdIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzM5CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJldWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU0IHN5cy11dGlscy9zZXRwcml2LmM6NDYwCittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFtYmllbnQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW3Vuc3VwcG9ydGVkXSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzk3Cittc2dpZCAiU0VMaW51eCBsYWJlbCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDUzCittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2OAorbXNnaWQgInNldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjUKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IHNldCAtLSByZWZ1c2luZyB0byBhZGp1c3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKK21zZ2lkICJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjA5Cittc2dpZCAiU0VMaW51eCBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjMyCittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgwCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTYKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCBvciBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxMworbXNnaWQgImR1cGxpY2F0ZSBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI2Cittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzOAorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0NAorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTMKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTkKK21zZ2lkICJkdXBsaWNhdGUgLS1hbWJpZW50LWNhcHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODY1Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg3MQorbXNnaWQgImR1cGxpY2F0ZSAtLXNlY3VyZWJpdHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4ODMKK21zZ2lkICJkdXBsaWNhdGUgLS1hcHBhcm1vci1wcm9maWxlIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg5OQorbXNnaWQgIi0tZHVtcCBpcyBpbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkwNworbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTEzCittc2dpZCAiTm8gcHJvZ3JhbSBzcGVjaWZpZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTkKK21zZ2lkICIiCisiLS1bcmVdZ2lkIHJlcXVpcmVzIC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCAtLWluaXQtZ3JvdXBzLCBvciAtLWdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyMworbXNnaWQgIi0taW5pdC1ncm91cHMgcmVxdWlyZXMgLS1ydWlkIG9yIC0tcmV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorInVpZCAlbGQgbm90IGZvdW5kLCAtLWluaXQtZ3JvdXBzIHJlcXVpcmVzIGFuIHVzZXIgdGhhdCBjYW4gYmUgZm91bmQgb24gdGhlICIKKyJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NzMKK21zZ2lkICJzZXQgcHJvY2VzcyBzZWN1cmViaXRzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3VtZW50cyAuLi5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MAorbXNnaWQgIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MgorbXNnaWQgIiAtdywgLS13YWl0ICAgICB3YWl0IHByb2dyYW0gdG8gZXhpdCwgYW5kIHVzZSB0aGUgc2FtZSByZXR1cm5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTAwCittc2dpZCAiZm9yayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTE3Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTIwCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo4NQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjIgc3lzLXV0aWxzL3N3YXBvbi5jOjc5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXNcdFx0XHRcdFR5cGVcdFx0U2l6ZVx0VXNlZFx0UHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCittc2dpZCAiRmlsZW5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3cml0ZSBzaWduYXR1cmUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZm91bmQgc2lnbmF0dXJlIFtwYWdlc2l6ZT0lZCwgc2lnbmF0dXJlPSVzXSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYWdlc2l6ZT0lZCwgc3dhcHNpemU9JWxsdSwgZGV2c2l6ZT0lbGx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4gKFVzZSAtLWZpeHBnc3ogdG8gcmVpbml0aWFsaXplIGl0LikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFscmVhZHkgYWN0aXZlIC0tIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIiCisiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDIKK21zZ2lkICIgLWUsIC0taWZleGlzdHMgICAgICAgICAgIHNpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA2Cittc2dpZCAiIgorIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzICIKKyIoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMAorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTYKK21zZ2lkICIiCisiXG4iCisiVGhlIDxzcGVjPiBwYXJhbWV0ZXI6XG4iCisiIC1MIDxsYWJlbD4gICAgICAgICAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBwYXJ0aXRpb24gbGFiZWxcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiA8ZmlsZT4gICAgICAgICAgICAgICAgIG5hbWUgb2YgZmlsZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorbXNnaWQgImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxOTIKK21zZ2lkICJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBhY2Nlc3MgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjk4Cittc2dpZCAiU2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxpbmUgcHJpbnRlci5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAxCittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKK21zZ2lkICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICBkcml2ZXIgd2FpdCB0aW1lIGluIG1pbGxpc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIiCisiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA5Cittc2dpZCAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAgY2hlY2sgcHJpbnRlciBzdGF0dXMgYmVmb3JlIHByaW50aW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTEKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTIKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICByZXNldCB0aGUgcG9ydFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTMKK21zZ2lkICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBkaXNwbGF5IGN1cnJlbnQgaXJxIHNldHRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk4Cittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVubW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiAiCisidGhlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIgorIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NAorbXNnaWQgIiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgIgorInN5c3RlbSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIgorIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICBkZXRhY2ggdGhlIGZpbGVzeXN0ZW0gbm93LCBjbGVhbiB1cCB0aGluZ3MgbGF0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIgorIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICByZWN1cnNpdmVseSB1bm1vdW50IGEgdGFyZ2V0IHdpdGggYWxsIGl0cyBjaGlsZHJlblxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDAKK21zZ2lkICIiCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIyMworbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjM0NgorbXNnaWQgImxpYm1vdW50IGl0ZXJhdG9yIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzEwIHN5cy11dGlscy91bW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlczogZmFpbGVkIHRvIGRldGVybWluZSBzb3VyY2UgKC0tYWxsLXRhcmdldHMgaXMgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRoICIKKyJyZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zZXRncm91cHMgYXJndW1lbnQgJyVzJyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjExMiBzeXMtdXRpbHMvdW5zaGFyZS5jOjEyNworIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTkKK21zZ2lkICJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBvbiAlcyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyOQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTcKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYwCittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjYxCittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIiCisiICAgICAtLWtpbGwtY2hpbGRbPTxzaWduYW1lPl0gIHdoZW4gZHlpbmcsIGtpbGwgdGhlIGZvcmtlZCBjaGlsZCAoaW1wbGllcyAtLSIKKyJmb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiIgorIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4Cittc2dpZCAiIgorIiAtcywgLS1zZXRncm91cHMgYWxsb3d8ZGVueSAgY29udHJvbCB0aGUgc2V0Z3JvdXBzIHN5c2NhbGwgaW4gdXNlciAiCisibmFtZXNwYWNlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0Cittc2dpZCAiRXh0ZXJuYWwgcmVsYXkgMSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc4Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODAKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODEKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworbXNnaWQgIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKK21zZ2lkICJmbGFnIHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDMKK21zZ2lkICJmbGFnIGJvb3Qgc3RhdHVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwNAorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZsYWc6ICVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCittc2dpZCAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIHByaW50IHNlbGVjdGVkIGZsYWdzIG9ubHlcbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBkb24ndCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFnc1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1PLCAtLW9uZWxpbmUgICAgICAgICAgcHJpbnQgYWxsIGluZm9ybWF0aW9uIG9uIG9uZSBsaW5lXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0IGZvciBmbGFncyB0YWJsZVxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIHRpbWVvdXRzXG4iCisiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBwcmludCBvbmx5IGZsYWdzIHRhYmxlIChzYW1lIGFzIC1JIC1UKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZC5cbiIKK21zZ2lkX3BsdXJhbCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjUgc3lzLXV0aWxzL3dkY3RsLmM6NDY4IHN5cy11dGlscy93ZGN0bC5jOjQ3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiIKK21zZ3N0clsxXSAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNAorbXNnaWQgIkRldmljZToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA2Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOAorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorbXNnaWQgImVtcHR5IHBhZ2VzIHdpdGggbm8gYWxsb2NhdGVkIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODMKK21zZ2lkICJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NAorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NQorbXNnaWQgIm51bWJlciBvZiBvYmplY3RzIG1pZ3JhdGVkIGJ5IGNvbXBhY3Rpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzozNzYKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzOAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKK21zZ2lkICIiCisiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCittc2dpZCAiIgorIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuICIKKyJyZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDYKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDcKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OAorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDkKK21zZ2lkICIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjMzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NTUKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjYxCittc2dpZCAib25seSBvbmUgPGRldmljZT4gYXQgYSB0aW1lIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjQKK21zZ2lkICJvcHRpb25zIC0tYWxnb3JpdGhtIGFuZCAtLXN0cmVhbXMgbXVzdCBiZSBjb21iaW5lZCB3aXRoIC0tc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5NCBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzA1IHN5cy11dGlscy96cmFtY3RsLmM6NzEzCittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo0NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMlcyAoYXV0b21hdGljIGxvZ2luKVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3NDgKK21zZ2lkICJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Nzg2Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MDUKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAzOAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSBjaGFyYWN0ZXIgZGV2aWNlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQ0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY0Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorbXNnaWQgIlNjcm9sbCBMb2NrIG9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSGludDogJXNcbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMzCittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzUKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNgorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDEKK21zZ2lkICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQyCittc2dpZCAiIC1KICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NQorbXNnaWQgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICBleHRyYWN0IGJhdWQgcmF0ZSBkdXJpbmcgY29ubmVjdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NworbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OQorbXNnaWQgIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTAKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTIKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NAorbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU1Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU2Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjY0Cittc2dpZCAiIgorIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjYxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHRvdWNoIGZpbGUgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU5Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM0Cittc2dpZCAiaXMgeSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTU3Cittc2dpZCAid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgZGVuaWVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY0Cittc2dpZCAiTWFrZSBhIHR5cGVzY3JpcHQgb2YgYSB0ZXJtaW5hbCBzZXNzaW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY3Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10WzxmaWxlPl0sIC0tdGltaW5nWz08ZmlsZT5dIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgb3IgdG8gRklMRVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKK21zZ2lkICJvcGVucHR5IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0OAorbXNnaWQgIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg1Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODIKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODUKK21zZ2lkICIgLS10ZXJtICAgICAgICAgIDx0ZXJtaW5hbF9uYW1lPiAgIG92ZXJyaWRlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg3Cittc2dpZCAiIC0tcmVzaXplICAgICAgICAgICAgICAgICAgICAgICAgICByZXNldCB0ZXJtaW5hbCByb3dzIGFuZCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIgorIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0ICIKKyJzZXR0aW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIiCisiIC0tc3RvcmUgICAgICAgICAgICAgICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgdGVybWluYWwgc2V0dGluZ3MgYXMgIgorImRlZmF1bHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKK21zZ2lkICIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorbXNnaWQgIiIKKyIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgIgorImZ1bGxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTUKK21zZ2lkICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk2Cittc2dpZCAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgZm9yZWdyb3VuZCBjb2xvclxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NworbXNnaWQgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGJhY2tncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIiCisiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSAiCisieWVsbG93XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDMKK21zZ2lkICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJsaW5rXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIiCisiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIgorIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA3Cittc2dpZCAiIgorIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyAiCisidGhlbVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOAorbXNnaWQgIiIKKyIgLS1jbHJ0YWJzICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIGNsZWFyIHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3IgYWxsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA5Cittc2dpZCAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEwCittc2dpZCAiIgorIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuICIKKyJibGFua3NcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIiCisiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTIKK21zZ2lkICIiCisiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKK21zZ2lkICIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTUKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3Cittc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOAorbXNnaWQgIiIKKyIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIgorIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKK21zZ2lkICJjYW5ub3QgZm9yY2UgdW5ibGFuayIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NTEKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODU3Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4ODMKK21zZ2lkICJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCittc2dpZCAicmVzZXQgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjEwOTcKK21zZ2lkICJjYW5ub3QgKHVuKXNldCBwb3dlcnNhdmUgbW9kZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NworbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHRvbyBtYW55IGlvdidzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE0OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZm9yayIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE4MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjkyCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGdpZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxNjcKK21zZ2lkICJnZXRncm91cGxpc3QgZm91bmQgbW9yZSBncm91cHMgdGhhbiBzeXNjb25mIGFsbG93cyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTMKK21zZ2lkICItLW5vYmFubmVyIGlzIGF2YWlsYWJsZSBvbmx5IGZvciByb290IgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNjIKK21zZ2lkICJjYW5ub3QgZ2V0IHR0eSBuYW1lIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo5MQorbXNnaWQgIlNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlci5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM3Cittc2dpZCAiY2FyZWZ1bHB1dGMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyNzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIChhcyAlcykgb24gJXMgYXQgJTAyZDolMDJkIC4uLiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM1Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAgZG8gbm90IG91dHB1dCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgcGVybWl0IGZvcndhcmQgaGFsZiBsaW5lIGZlZWRzXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAgY29udmVydCBzcGFjZXMgdG8gdGFic1xuIgorIiAteCwgLS1zcGFjZXMgICAgICAgICAgIGNvbnZlcnQgdGFicyB0byBzcGFjZXNcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlcyByZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzoyMTUKK21zZ2lkICJiYWQgLWwgYXJndW1lbnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2FuJ3QgYmFjayB1cCAlcy4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICJwYXN0IGZpcnN0IGxpbmUiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjgyIHRleHQtdXRpbHMvY29sdW1uLmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg5Cittc2dpZCAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzo2NQorbXNnaWQgIkZpbHRlciBvdXQgdGhlIHNwZWNpZmllZCBjb2x1bW5zLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgY29sdW1uIG5hbWUgJyVzJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjMyMQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1yaWdodCBsaXN0IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtdHJ1bmMgbGlzdCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwNQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtd3JhcCBsaXN0IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtaGlkZSBsaXN0IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImxpbmUgJXp1OiBmb3IgSlNPTiB0aGUgbmFtZSBvZiB0aGUgY29sdW1uICV6dSBpcyByZXF1aXJlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1OAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNworbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MAorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQxCittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCittc2dpZCAiIC1OLCAtLXRhYmxlLWNvbHVtbnMgPG5hbWVzPiAgICAgIGNvbW1hIHNlcGFyYXRlZCBjb2x1bW5zIG5hbWVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIiCisiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvICIKKyJjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ4Cittc2dpZCAiIC1SLCAtLXRhYmxlLXJpZ2h0IDxjb2x1bW5zPiAgICAgIHJpZ2h0IGFsaWduIHRleHQgaW4gdGhlc2UgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ5Cittc2dpZCAiIgorIiAtVCwgLS10YWJsZS10cnVuY2F0ZSA8Y29sdW1ucz4gICB0cnVuY2F0ZSB0ZXh0IGluIHRoZSBjb2x1bW5zIHdoZW4gIgorIm5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIgorIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU0Cittc2dpZCAiIgorIiAtciwgLS10cmVlIDxjb2x1bW4+ICAgICAgICAgICAgICBjb2x1bW4gdG8gdXNlIHRyZWUtbGlrZSBvdXRwdXQgZm9yIHRoZSAiCisidGFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorbXNnaWQgIiIKKyIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2Cittc2dpZCAiIgorIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW1uPiAgICAgICBwYXJlbnQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorbXNnaWQgIiIKKyIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjAKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz4gIGNvbHVtbnMgc2VwYXJhdG9yIGZvciB0YWJsZSBvdXRwdXQgIgorIihkZWZhdWx0IGlzIHR3byBzcGFjZXMpXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjEKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+ICAgICAgICAgcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCittc2dpZCAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1OQorbXNnaWQgIkRpc3BsYXkgZmlsZSBjb250ZW50cyBpbiBoZXhhZGVjaW1hbCwgZGVjaW1hbCwgb2N0YWwsIG9yIGFzY2lpLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MgorbXNnaWQgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjMKK21zZ2lkICIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY4Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08bW9kZT5dICAgICAgaW50ZXJwcmV0IGNvbG9yIGZvcm1hdHRpbmcgc3BlY2lmaWVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MQorbXNnaWQgIiIKKyIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorbXNnaWQgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIG91dHB1dCBpZGVudGljYWwgbGluZXNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jOjM2NQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGJ5dGUgY291bnQgZm9yIGNvbnZlcnNpb24gY2hhcmFjdGVyICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUlcyByZXF1aXJlcyBhIHByZWNpc2lvbiBvciBhIGJ5dGUgY291bnQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9saW5lLmM6MzQKK21zZ2lkICJSZWFkIG9uZSBsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzNQorbXNnaWQgIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NAorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDYKK21zZ2lkICIgKzxudW1iZXI+ICAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIGxpbmUgbnVtYmVyXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ3Cittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKiAlczogZGlyZWN0b3J5ICoqKlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjY2NgorIywgYy1mb3JtYXQKK21zZ2lkICJbVXNlIHEgb3IgUSB0byBxdWl0XSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIihOZXh0IGZpbGU6ICVzKSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uYmFjayAlZCBwYWdlIgorbXNnaWRfcGx1cmFsICIuLi5iYWNrICVkIHBhZ2VzIgorbXNnc3RyWzBdICIiCittc2dzdHJbMV0gIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5za2lwcGluZyAlZCBsaW5lIgorbXNnaWRfcGx1cmFsICIuLi5za2lwcGluZyAlZCBsaW5lcyIKK21zZ3N0clswXSAiIgorbXNnc3RyWzFdICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjkKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gIgorImJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMjEKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM5NCB0ZXh0LXV0aWxzL21vcmUuYzoxNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1NjQKK21zZ2lkICIuLi5za2lwcGluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1OTgKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzAwCittc2dpZCAiIgorIlxuIgorIi4uLlNraXBwaW5nICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA0Cittc2dpZCAiLi4uU2tpcHBpbmcgdG8gZmlsZSAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNgorbXNnaWQgIi4uLlNraXBwaW5nIGJhY2sgdG8gZmlsZSAiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0ICIKKyJwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorbXNnaWQgIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQwCittc2dpZCAiIC1lICAgICAgICAgICBkbyBub3QgcGF1c2UgYXQgZW5kIG9mIGEgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDEKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDMKK21zZ2lkICIgLXAgPHByb21wdD4gIHNwZWNpZnkgcHJvbXB0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorbXNnaWQgIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NgorbXNnaWQgIiArbnVtYmVyICAgICAgc3RhcnQgYXQgdGhlIGdpdmVuIGxpbmVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ3Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjY0CisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgb3B0aW9uIC0tICVzIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjcKK21zZ2lkICIuLi5za2lwcGluZyBmb3J3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlVua25vd24gZXJyb3IgaW4gJXMgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCittc2dpZCAiY2Fubm90IG9wZW4gIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjYzCittc2dpZCAic2F2ZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTU0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlcyBDb3B5cmlnaHQgKGMpIDIwMDAtMjAwMSBHdW5uYXIgUml0dGVyLiBBbGwgcmlnaHRzIHJlc2VydmVkLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTk0IHRleHQtdXRpbHMvcGcuYzoxNjY3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvcmV2LmM6ODEKK21zZ2lkICJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ4Cittc2dpZCAiIC10LCAtVCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQ5Cittc2dpZCAiIgorIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy91bC5jOjYyOQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICIiCmRpZmYgLS1naXQgYS9wby92aS5wbyBiL3BvL3ZpLnBvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyNmY5N2QKLS0tIC9kZXYvbnVsbAorKysgYi9wby92aS5wbwpAQCAtMCwwICsxLDI2NTc4IEBACisjIFZpZXRuYW1lc2UgdHJhbnNsYXRpb24gZm9yIFV0aWwtTGludXguCisjIELhuqNuIGThu4tjaCB0aeG6v25nIFZp4buHdCBkw6BuaCBjaG8gdXRpbC1saW51eC4KKyMgQ29weXJpZ2h0IMKpIDIwMTUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjIFBoYW4gVmluaCBUaGluaCA8dGVwcGk4MkBnbWFpbC5jb20+LCAyMDA1LTIwMDcuCisjIENseXRpZSBTaWRkYWxsIDxjbHl0aWVAcml2ZXJsYW5kLm5ldC5hdT4sIDIwMDctMjAxMC4KKyMgVHLhuqduIE5n4buNYyBRdcOibiA8dm53aWxkbWFuQGdtYWlsLmNvbT4sIDIwMTItMjAxNCwgMjAxNS4KKyMKK21zZ2lkICIiCittc2dzdHIgIiIKKyJQcm9qZWN0LUlkLVZlcnNpb246IHV0aWwtbGludXgtMi4yNi1yYzJcbiIKKyJSZXBvcnQtTXNnaWQtQnVncy1UbzogdXRpbC1saW51eEB2Z2VyLmtlcm5lbC5vcmdcbiIKKyJQT1QtQ3JlYXRpb24tRGF0ZTogMjAxOC0wMy0yMSAxMzoxMiswMTAwXG4iCisiUE8tUmV2aXNpb24tRGF0ZTogMjAxNS0wMi0xNSAwODozMSswNzAwXG4iCisiTGFzdC1UcmFuc2xhdG9yOiBUcuG6p24gTmfhu41jIFF1w6JuIDx2bndpbGRtYW5AZ21haWwuY29tPlxuIgorIkxhbmd1YWdlLVRlYW06IFZpZXRuYW1lc2UgPHRyYW5zbGF0aW9uLXRlYW0tdmlAbGlzdHMuc291cmNlZm9yZ2UubmV0PlxuIgorIkxhbmd1YWdlOiB2aVxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MTsgcGx1cmFsPTA7XG4iCisiWC1HZW5lcmF0b3I6IFBvZWRpdCAxLjUuNVxuIgorIlgtUG9lZGl0LVNvdXJjZUNoYXJzZXQ6IFVURi04XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8c3RhcnQ+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8dGhp4bq/dCBi4buLIMSRxKlhPiA8c+G7kSBwaMOibiB2w7luZz4gICAgPMSRLsSR4bqndT4gPMSR4buZIGTDoGk+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJDaG8gbmjDom4gYmnhur90IHbhu4Egc+G7sSB04buTbiB04bqhaSBj4bunYSBt4buZdCBwaMOibiB2w7luZyBjaOG7iSDEkeG7i25oLlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorbXNnaWQgIm5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJraMO0bmcgxJHhu6cgxJHhu5FpIHPhu5EiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjU4IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyOTUgZGlzay11dGlscy9ibG9ja2Rldi5jOjQzOQorIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ2NSBkaXNrLXV0aWxzL2NmZGlzay5jOjI3MTggZGlzay11dGlscy9kZWxwYXJ0LmM6NTkKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjkgZGlzay11dGlscy9mZGlzay5jOjc2NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2NgorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzIxIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM2MQorIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MzgwIGRpc2stdXRpbHMvZnNjay5jOjE0NzAKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxMgorIzogZGlzay11dGlscy9pc29zaXplLmM6MTAyIGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTIKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNzEgZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2MAorIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgwMCBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MjQKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjE3IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ2IGRpc2stdXRpbHMvcGFydHguYzoxMDEzCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMDMgZGlzay11dGlscy9zZmRpc2suYzo2NTUgZGlzay11dGlscy9zZmRpc2suYzo3MTEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODk4CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjkzOSBkaXNrLXV0aWxzL3NmZGlzay5jOjk2OSBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMDYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2NSBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjY1IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDAKKyM6IGxpYi9wYXRoLmM6OTUgbGliL3BhdGguYzoxMTMgbG9naW4tdXRpbHMvaXNsb2NhbC5jOjg3IGxvZ2luLXV0aWxzL2xhc3QuYzo2NzQKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0NDMgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ4MAorIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNTIKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc0IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNjEgbG9naW4tdXRpbHMvdmlwdy5jOjI3OQorIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5OSBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMjMgbWlzYy11dGlscy9tY29va2llLmM6MTE1CisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTk4IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTgyIHN5cy11dGlscy9ibGt6b25lLmM6OTYKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUyNCBzeXMtdXRpbHMvZWplY3QuYzo0OTkgc3lzLXV0aWxzL2VqZWN0LmM6Njk1CisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzk2IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjExNyBzeXMtdXRpbHMvZnN0cmltLmM6NzQKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjI3IHN5cy11dGlscy9od2Nsb2NrLmM6ODE0IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwMAorIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5MiBzeXMtdXRpbHMvbnNlbnRlci5jOjEyOQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5MyBzeXMtdXRpbHMvcmZraWxsLmM6NTQ0IHN5cy11dGlscy9ydGN3YWtlLmM6MTM2CisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI4NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI3NiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYxNAorIzogc3lzLXV0aWxzL3NldHByaXYuYzo2Mzcgc3lzLXV0aWxzL3N3YXBvbi5jOjM3NSBzeXMtdXRpbHMvc3dhcG9uLmM6NTE4CisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjcgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMDggc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjMKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMyMiBzeXMtdXRpbHMvd2RjdGwuYzozNzggc3lzLXV0aWxzL3pyYW1jdGwuYzo1MDgKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1MiB0ZXJtLXV0aWxzL21lc2cuYzoxMjcgdGVybS11dGlscy9zY3JpcHQuYzo0NjAKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDY4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NTU5CisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE5OCB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIwMQorIzogdGVybS11dGlscy93YWxsLmM6NDE5IHRleHQtdXRpbHMvY29sY3J0LmM6MjgyIHRleHQtdXRpbHMvbW9yZS5jOjUzNAorIzogdGV4dC11dGlscy9yZXYuYzoxNDEgdGV4dC11dGlscy91bC5jOjIzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXMiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYxIGRpc2stdXRpbHMvZGVscGFydC5jOjYyIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjEwMAorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5Egc+G7kSBsxrDhu6NuZyBwaMOibiB2w7luZyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjIKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBraOG7n2kgxJHhuqd1IGtow7RuZyBo4bujcCBs4buHIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTAKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAidGhhbSBz4buRIGNoaeG7gXUgZMOgaSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjQKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHRow6ptIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICLEkeG6t3QgY2jhu4ktxJHhu41jIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAixJHhurd0IMSR4buNYy12aeG6v3QiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgImzhuqV5IGNo4buJLcSR4buNYyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCittc2dpZCAiZ2V0IGRpc2NhcmQgemVyb2VzIHN1cHBvcnQgc3RhdHVzIgorbXNnc3RyICJs4bqleSB0cuG6oW5nIHRow6FpIGjhu5cgdHLhu6Mgc+G7kSBraMO0bmcgbG/huqFpIGLhu48iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgImzhuqV5IGvDrWNoIGPhu6Ega2jhu5FpIGzDtGfDrWMgKGN1bmcgdOG7qykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo5NAorbXNnaWQgImdldCBwaHlzaWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICJs4bqleSBrw61jaCBj4buhIGto4buRaSB24bqtdCBsw70gKGN1bmcgdOG7qykiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibOG6pXkga8OtY2ggY+G7oSBWL1IgdOG7kWkgdGhp4buDdSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICJs4bqleSBrw61jaCBj4buhIFYvUiB04buRaSDGsHUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAibOG6pXkga2hv4bqjbmcgY2jDqm5oIG9mZnNldCB0aGVvIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTgKK21zZ2lkICJnZXQgbWF4IHNlY3RvcnMgcGVyIHJlcXVlc3QiCittc2dzdHIgImzhuqV5IHPhu5EgdOG7kWkgxJFhIGPDoWMgY3VuZyB04burIGNobyBt4buXaSB5w6p1IGPhuqd1IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTI0Cittc2dpZCAiZ2V0IGJsb2Nrc2l6ZSIKK21zZ3N0ciAibOG6pXkga8OtY2ggY+G7oSBraOG7kWkiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIsSR4bq3dCBj4buhIGto4buRaSB0csOqbiBi4buZIG3DtCB04bqjIHThuq1wIHRpbiBt4bufIMSR4bqndSB0aGnhur90IGLhu4sga2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTM3Cittc2dpZCAiZ2V0IDMyLWJpdCBzZWN0b3IgY291bnQgKGRlcHJlY2F0ZWQsIHVzZSAtLWdldHN6KSIKK21zZ3N0ciAibOG6pXkgc+G7kSBsxrDhu6NuZyBjdW5nIHThu6sgMzIgYml0IChraMO0bmcgxJHGsOG7o2MgZMO5bmcsIHPhu60gZOG7pW5nIC0tZ2V0c3opIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImzhuqV5IGvDrWNoIGPhu6EgdMOtbmggYuG6sW5nIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICLEkeG6t3QgxJHhu41jIHPhurVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAibOG6pXkgxJHhu41jIHPhurVuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTYzCittc2dpZCAic2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICLEkeG6t3QgxJHhu41jIHPhurVuIGNobyBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICJs4bqleSDEkeG7jWMgc+G6tW4gY2hvIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICLEkeG6qXkgZOG7ryBsaeG7h3UgYuG7mSDEkeG7h20gbMOqbiDEkcSpYSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE3NworbXNnaWQgInJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIsSR4buNYyBs4bqhaSBi4bqjbmcgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIGNo4bq3biBjw6FjIHRow7RuZyB0aW4gdGjDtG5nIGLDoW8gbeG7nyBy4buZbmdcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5NworIywgZnV6enkKK21zZ2lkICIgLXYgICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGNo4bq/IMSR4buZIGNoaSB0aeG6v3RcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5OAorbXNnaWQgIiAgICAgLS1yZXBvcnQgICBwcmludCByZXBvcnQgZm9yIHNwZWNpZmllZCAob3IgYWxsKSBkZXZpY2VzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAiQXZhaWxhYmxlIGNvbW1hbmRzOiIKK21zZ3N0ciAiQ8OhYyBj4buZdCBz4bq1biBkw7luZzpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMgbOG6pXkga8OtY2ggY+G7oSB0aGVvIGN1bmcgdOG7qyBsw6AgNTEyIGJ5dGVcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSBjaOG7iSDEkeG7i25oIHRoaeG6v3QgYuG7iyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzMAorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBrw61jaCB0aMaw4bubYyB0aGnhur90IGLhu4siCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAiS2jDtG5nIGhp4buDdSBjw6J1IGzhu4duaDogJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgYW4gYXJndW1lbnQiCittc2dzdHIgIiVzIHnDqnUgY+G6p3UgbeG7mXQgxJHhu5FpIHPhu5EiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBlcnJvciBvbiAlcyIKK21zZ3N0ciAibOG7l2kgaW9jdGwgdHLDqm4gJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkLlxuIgorbXNnc3RyICIlcyBn4bq3cCBs4buXaS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIHRow6BuaCBjw7RuZy5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGdoaSBraOG7n2kgdOG6oW8gYuG7mSB0aeG6v3AgaOG7o3Agc3lzZnMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiBzdGFydCBmcm9tIHN5c2ZzIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIMSR4buNYyBi4bqvdCDEkeG6p3UgcGjDom4gdsO5bmcgdOG7qyBzeXNmcyAoaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBo4buHIHRo4buRbmcpIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAgQ3VuZ8SQ4bqndSAgICAgICAgICAgICBD4buhICAgICBUaGnhur90IGLhu4tcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAiQ8OzIHRo4buDIGto4bufaSDEkeG7mW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiQuG6t3QgdOG6r3Qga2jhuqMgbsSDbmcga2jhu59pIMSR4buZbmcgY+G7p2EgcGjDom4gdsO5bmcgaGnhu4duIHThuqFpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAiWMOzYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcKK21zZ2lkICJEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJYw7NhIHBow6JuIHbDuW5nIGhp4buHbiB04bqhaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVzaXplIgorbXNnc3RyICJrw61jaC10aMaw4bubYyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICJYw7NhIHBow6JuIHbDuW5nIGhp4buHbiB04bqhaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODkKK21zZ2lkICJOZXciCittc2dzdHIgIlThuqFvIG3hu5tpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OQorbXNnaWQgIkNyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiVOG6oW8gbeG7mXQgcGjDom4gdsO5bmcgbeG7m2kgdOG7qyB2w7luZyDEkcSpYSB0cuG7kW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQiCittc2dzdHIgIlRob8OhdCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBjaGFuZ2VzIgorbXNnc3RyICJUaG/DoXQgY2jGsMahbmcgdHLDrG5oIHbDoCBraMO0bmcgZ2hpIGzhuqFpIGLhuqNuZyBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAiS2nhu4N1IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorbXNnaWQgIkNoYW5nZSB0aGUgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIsSQ4buVaSBraeG7g3UgY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAiVHLhu6MgZ2nDunAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiUHJpbnQgaGVscCBzY3JlZW4iCittc2dzdHIgIkhp4buDbiB0aOG7iyBtw6BuIGjDrG5oIHRy4bujIGdpw7pwIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIlNvcnQiCittc2dzdHIgIlPhuq9wIHjhur9wIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIkZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICJT4butYSB0aOG7qSB04buxIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICJHaGkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAiR2hpIGLhuqNuZyBwaMOibiB2w7luZyBsw6puIMSRxKlhIChjw7MgdGjhu4MgaOG7p3kgZOG7ryBsaeG7h3UpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAiCittc2dzdHIgIsSQ4buVIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLEkOG7lSBi4bqjbmcgcGjDom4gdsO5bmcgcmEgdOG6rXAgdGluIHbEg24gbMOqbmggdMawxqFuZyB0aMOtY2ggc2ZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjY0MiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDYxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bnN1cHBvcnRlZCBkaWFsb2cgdHlwZSAlZCIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mToga2jDtG5nIGjhu5cgdHLhu6Mga2nhu4N1IGjhu5lwIHRob+G6oWkgJWQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlcyBjaMawYSDEkcaw4bujYyBn4bqvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAidMOqbiBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzA0CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBVVUlEOiIKK21zZ3N0ciAiVVVJRCBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAiS2nhu4N1IHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKKyMsIGZ1enp5Cittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIkF0dHJzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAiVVVJRCBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNTQKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBMQUJFTDoiCittc2dzdHIgIk5Iw4NOIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtOiIKK21zZ3N0ciAiaOG7hyB0aOG7kW5nIHRoxrAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJNb3VudHBvaW50OiIKK21zZ3N0ciAixJFp4buDbSBn4bqvbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzA4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICLEkMSpYTogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiQ+G7oTogJXMsICVqdSBieXRlLCAlanUgY3VuZyB04burIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzLCBpZGVudGlmaWVyOiAlcyIKK21zZ3N0ciAiTmjDo246ICVzLCDEkOG7i25oIGRhbmggxJHEqWE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFiZWw6ICVzIgorbXNnc3RyICJOaMOjbjogJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg2NgorbXNnaWQgIk1heSBiZSBmb2xsb3dlZCBieSBNIGZvciBNaUIsIEcgZm9yIEdpQiwgVCBmb3IgVGlCLCBvciBTIGZvciBzZWN0b3JzLiIKK21zZ3N0ciAiQ8OzIHRo4buDIHRoZW8gc2F1IGLhurFuZyBNIGNobyBNaUIsIEcgY2hvIEdpQiAsVCBjaG8gVGlCICwgaGF5IFMgY2hvIGN1bmcgdOG7qy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAiVnVpIGzDsm5nIGNobyBiaeG6v3Qga8OtY2ggY+G7oS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5NAorIywgYy1mb3JtYXQKK21zZ2lkICJNaW5pbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiQ+G7oSB04buRaSB0aGnhu4N1IGzDoCAlanUgYnl0ZS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgYy1mb3JtYXQKK21zZ2lkICJNYXhpbXVtIHNpemUgaXMgJWp1IGJ5dGVzLiIKK21zZ3N0ciAiQ+G7oSB04buRaSDEkWEgbMOgICVqdSBieXRlLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNpemUuIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggY8O6IHBow6FwIGvDrWNoIGPhu6EuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NjgKK21zZ2lkICJTZWxlY3QgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIkNo4buNbiBraeG7g3UgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDgKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIk5o4bqtcCB2w6BvIHTDqm4gdOG6rXAgdGluIGLDsyBs4buHbmg6ICIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAiVOG6rXAgdGluIHbEg24gbOG7h25oIHPhur0gxJHGsOG7o2Mgw6FwIGThu6VuZyB2w6BvIGLhuqNuZyBwaMOibiB2w7luZyB0cm9uZyBi4buZIG5o4bubLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDI4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3MAorIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggY8O6IHBow6FwIGPhu6dhIHThuq1wIHRpbiB2xINuIGzhu4duaCAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYXBwbHkgc2NyaXB0ICVzIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgw6FwIGThu6VuZyB2xINuIGzhu4duaCAlcyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIkLhuqNuZyBwaMOibiB2w7luZyB0cm9uZyBi4buZIG5o4bubIGhp4buHbiB04bqhaSBz4bq9IMSRxrDhu6NjIMSR4buVIHRow6BuaCB04bqtcCB0aW4uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNTcgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTEyCittc2dpZCAiRmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgY+G6pXAgcGjDoXQgY8OhbiBj4bunYSB2xINuIGzhu4duaCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHhu41jIGLhu5EgY+G7pWMgxJHEqWEgdsOgbyB2xINuIGzhu4duaC4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICJC4buRIGPhu6VjIMSRxKlhIMSRw6MgxJHGsOG7o2MgxJHhu5UgdGjDoG5oIGPDtG5nLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDgwIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgZ2hpIHbEg24gbOG7h25oICVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKK21zZ2lkICJTZWxlY3QgbGFiZWwgdHlwZSIKK21zZ3N0ciAiQ2jhu41uIGtp4buDdSBuaMOjbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJUaGnhur90IGLhu4sga2jDtG5nIGNo4bupYSBi4bqjbmcgcGjDom4gdsO5bmcgxJHGsOG7o2MgYmnhur90LiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICJDaOG7jW4gbeG7mXQga2nhu4N1IMSR4buDIHThuqFvIG3hu5l0IG5ow6NuIG3hu5tpIGhv4bq3YyBuaOG6pW4g4oCcTOKAnSDEkeG7gyB04bqjaSB04bqtcCB0aW4gdsSDbiBs4buHbmguIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzYKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIsSQw6J5IGzDoCBjZmRpc2ssIG3hu5l0IGNoxrDGoW5nIHRyw6xuaCBwaMOibiB2w7luZyDEkcSpYSBk4buxYSB0csOqbiBjdXJzZXMuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAiY2jGsMahbmcgdHLDrG5oIGNobyBwaMOpcCBi4bqhbiB04bqhbywgeMOzYSB2w6Agc+G7rWEgxJHhu5VpIGPDoWMgcGjDom4gdsO5bmcgdHLDqm4gbeG7mXQgdGhp4bq/dCBi4buLIGto4buRaS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3OQorbXNnaWQgIkNvbW1hbmQgICAgICBNZWFuaW5nIgorbXNnc3RyICJDw6J1IGzhu4duaCAgICAgw50gbmdoxKlhIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODAKK21zZ2lkICItLS0tLS0tICAgICAgLS0tLS0tLSIKK21zZ3N0ciAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MQorbXNnaWQgIiAgYiAgICAgICAgICBUb2dnbGUgYm9vdGFibGUgZmxhZyBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgYiAgICAgICAgICBC4bqtdC904bqvdCBraOG6oyBuxINuZyBraOG7n2kgxJHhu5luZyBj4bunYSBwaMOibiB2w7luZyBoaeG7h24gdOG6oWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAgWMOzYSBwaMOibiB2w7luZyBoaeG7h24gdOG6oWkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIEhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODQKK21zZ2lkICIgIG4gICAgICAgICAgQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICIgIG4gICAgICAgICAgVOG6oW8gbeG7mXQgcGjDom4gdsO5bmcgbeG7m2kgdOG7qyBraMO0bmcgZ2lhbiB0cuG7kW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODUKK21zZ2lkICIgIHEgICAgICAgICAgUXVpdCBwcm9ncmFtIHdpdGhvdXQgd3JpdGluZyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiAgcSAgICAgICAgICBUaG/DoXQga2jhu49pIGNoxrDGoW5nIHRyw6xuaCB2w6Aga2jDtG5nIGdoaSBs4bqhaSBi4bqjbmcgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NgorbXNnaWQgIiAgcyAgICAgICAgICBGaXggcGFydGl0aW9ucyBvcmRlciAob25seSB3aGVuIGluIGRpc2FycmF5KSIKK21zZ3N0ciAiICBzICAgICAgICAgIFPhu61hIHRo4bupIHThu7EgY8OhYyBwaMOibiB2w7luZyAoY2jhu4kga2hpIGPDsyB4w6FvIHRy4buZbikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAgVGhheSDEkeG7lWkga2nhu4N1IHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIMSQ4buVIGLhu5EgY+G7pWMgxJHEqWEgcmEgdOG6rXAgdGluIHTGsMahbmcgdGjDrWNoIHbhu5tpIHbEg24gbOG7h25oIHNmZGlzayIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAgR2hpIGLhuqNuZyBwaMOibiB2w7luZyBsw6puIMSRxKlhIChj4bqnbiBuaOG6rXAgY2jhu68gVyBob2EpOyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkwCittc2dpZCAiICAgICAgICAgICAgICAgc2luY2UgdGhpcyBtaWdodCBkZXN0cm95IGRhdGEgb24gdGhlIGRpc2ssIHlvdSBtdXN0IGVpdGhlciIKK21zZ3N0ciAiICAgICAgICAgICAgICAgdsOsIGPDonUgbOG7h25oIGPDsyB0aOG7gyBo4buneSBk4buvIGxp4buHdSB0csOqbiDEkcSpYSwgYuG6oW4gY+G6p24iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MQorbXNnaWQgIiAgICAgICAgICAgICAgIGNvbmZpcm0gb3IgZGVueSB0aGUgd3JpdGUgYnkgZW50ZXJpbmcgJ3llcycgb3IgJ25vJyIKK21zZ3N0ciAiICAgICAgICAgICAgICAgaG/hurdjIMSR4buTbmcgw70gaG/hurdjIGjhu6d5IGLhu48gdmnhu4djIGdoaSBi4bqxbmcgY8OhYyBuaOG6rXAgXCJ5ZXNcIiAoY8OzKSBob+G6t2MgXCJub1wiIChraMO0bmcpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTIKKyMsIGZ1enp5Cittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiIC1WICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkzCittc2dpZCAiVXAgQXJyb3cgICAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBwYXJ0aXRpb24iCittc2dzdHIgIk3FqWkgdMOqbiBsw6puICBEaSBjaHV54buDbiBjb24gdHLhu48gdOG7m2kgcGjDom4gdsO5bmcg4bufIHRyxrDhu5tjIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICJNxalpIHTDqm4geHXhu5FuZyBEaSBjaHV54buDbiBjb24gdHLhu48gdOG7m2kgcGjDom4gdsO5bmcgdGnhur9wIHRoZW8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NQorbXNnaWQgIkxlZnQgQXJyb3cgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgbWVudSBpdGVtIgorbXNnc3RyICJNxalpIHTDqm4gdHLDoWkgRGkgY2h1eeG7g24gY29uIHRy4buPIHThu5tpIG3hu6VjIMSRxqFuIGvhur8gdHLGsOG7m2MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorbXNnaWQgIlJpZ2h0IEFycm93ICBNb3ZlIGN1cnNvciB0byB0aGUgbmV4dCBtZW51IGl0ZW0iCittc2dzdHIgIk3FqWkgdMOqbiBwaOG6o2kgRGkgY2h1eeG7g24gY29uIHRy4buPIHThu5tpIG3hu6VjIMSRxqFuIGvhur8gdGnhur9wIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICJDaMO6IMO9OiBDw7MgdGjhu4Mgbmjhuq1wIHThuqV0IGPhuqMgY8OhYyBjw6J1IGzhu4duaCB24bubaSBjaOG7ryB0aMaw4budbmcgdsOgIGNo4buvIGhvYSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5Cittc2dpZCAiY2FzZSBsZXR0ZXJzIChleGNlcHQgZm9yIFdyaXRlKS4iCittc2dzdHIgImNo4buvIEhPQSAobmdv4bqhaSB0cuG7qyBs4buHbmggV3JpdGUgW2doaV0pLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjAxCittc2dpZCAiVXNlIGxzYmxrKDgpIG9yIHBhcnR4KDgpIHRvIHNlZSBtb3JlIGRldGFpbHMgYWJvdXQgdGhlIGRldmljZS4iCittc2dzdHIgIkTDuW5nIGxzYmxrKDgpIGhheSBwYXJ0eCg4KSDEkeG7gyB4ZW0gdGjDtG5nIHRpbiBjaGkgdGnhur90IGjGoW4gduG7gSB0aGnhur90IGLhu4suIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMTEgZGlzay11dGlscy9jZmRpc2suYzoyNTE0Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICJOaOG6pW4gbeG7mXQgcGjDrW0gxJHhu4MgdGnhur9wIHThu6VjLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIktow7RuZyB0aOG7gyBi4bqtdC904bqvdCBj4budLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIktow7RuZyB0aOG7gyB4w7NhIHBow6JuIHbDuW5nICV6dS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwOSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1IMSRw6MgYuG7iyB4w7NhIGLhu48uIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzMzAKK21zZ2lkICJQYXJ0aXRpb24gc2l6ZTogIgorbXNnc3RyICJD4buhIHBow6JuIHbDuW5nOiAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2VkIHR5cGUgb2YgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIsSQ4buVaSBraeG7g3UgY+G7p2EgcGjDom4gdsO5bmcg4oCcJXp14oCdLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSB0eXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAiS2nhu4N1IGPhu6dhIHBow6JuIHbDuW5nIOKAnCV6deKAnSBjaMawYSB0aGF5IMSR4buVaS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorIywgZnV6enkKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICJzaGVsbCAoaOG7hyB24buPKSBt4bubaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IHJlc2l6ZWQuIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgIyVkIMSRxrDhu6NjIHRoYXkgxJHhu5VpIGvDrWNoIHRoxrDhu5tjXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQyNyBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDMgZGlzay11dGlscy9mZGlzay5jOjEwNjMKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5MQorbXNnaWQgIkRldmljZSBpcyBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIMSRxrDhu6NjIG3hu58gdHJvbmcgY2jhur8gxJHhu5kgY2jhu4kgY2hvIMSR4buNYy4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAiQuG6oW4gY8OzIGNo4bqvYyBtdeG7kW4gZ2hpIGLhuqNuZyBwaMOibiB2w7luZyBsw6puIMSRxKlhIGtow7RuZz8gIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICJHw7UgXCJjw7NcIiBob+G6t2MgXCJraMO0bmdcIiBoYXkgbmjhuqVuIEVTQyDEkeG7gyDEkeG7gyBs4bqhaSBo4buZcCB0aG/huqFpLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDM5IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA5IHN5cy11dGlscy9sc2NwdS5jOjE0MzYKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0NDYgc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAieWVzIgorbXNnc3RyICJjw7MiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ0MAorbXNnaWQgIkRpZCBub3Qgd3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suIgorbXNnc3RyICJLaMO0bmcgZ2hpIGLhuqNuZyBwaMOibiB2w7luZyBsw6puIMSRxKlhLiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBnaGkgbmjDo24gxJHEqWEuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NTEgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLiIKK21zZ3N0ciAiQuG6o25nIHBow6JuIHbDuW5nIMSRw6MgYuG7iyB0aGF5IMSR4buVaSEiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKK21zZ2lkICJOb3RlIHRoYXQgcGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyIG5vdy4iCittc2dzdHIgIkPDoWMgbeG7pWMgdHJvbmcgYuG6o25nIHBow6JuIHbDuW5nIGhp4buHbiBnaeG7nSBraMO0bmcgxJHDum5nIG5oxrAgdGjhu6kgdOG7sSBuaMawIOG7nyB0csOqbiDEkcSpYS4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBkaXNrbGFiZWwiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB04bqhbyBuaMOjbiDEkcSpYSBt4bubaSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9ucyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyBjw6FjIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICUxJHMgW29wdGlvbnNdIDxkaXNrPlxuIgorbXNnc3RyICIgJTEkcyBbY8OhYy10w7l5LWNo4buNbl0gPMSRxKlhPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKK21zZ2lkICJEaXNwbGF5IG9yIG1hbmlwdWxhdGUgYSBkaXNrIHBhcnRpdGlvbiB0YWJsZS5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIGhheSB0aGFvIHTDoWMgduG7m2kgYuG6o25nIHBow6JuIHbDuW5nIMSRxKlhLlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIgorIiAtTCAtLWNvbG9yWz08a2hpPl0gICAgICB0w7Qgc8Ohbmcga+G6v3QgeHXhuqV0IDxraGk+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGF1dG8gICAgdOG7sSDEkeG7mW5nLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGFsd2F5cyAgbHXDtG4gaG/hurdjXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV2ZXIgICBraMO0bmcgYmFvIGdp4budKVxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzgKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm8gICAgICAgICAgICAgICBzdGFydCB3aXRoIHplcm9lZCBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiIC16IC0temVybyAgICAgICAgICAgICAgIGLhuq90IMSR4bqndSB24bubaSBi4bqjbmcgcGjDom4gdsO5bmcgxJHGsOG7o2MgeMOzYSB0cuG6r25nXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb2xvciBtb2RlIgorbXNnc3RyICJraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB0w7QgbcOgdSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIGLhu5Ugbmfhu68gY+G6o25oIGxpYmZkaXNrIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj5cbiIKK21zZ3N0ciAiICVzIDx0aGnhur90LWLhu4s+ICAgIDxz4buRLXBow6JuLXbDuW5nPlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICJZw6p1IGPhuqd1IGjhuqF0IG5ow6JuIHF1w6puIHBow6JuIHbDuW5nIGNo4buJIMSR4buLbmguXG4iCisKKyM6IGRpc2stdXRpbHMvZGVscGFydC5jOjYzCittc2dpZCAiZmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBn4buhIGLhu48gcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICJGb3JtYXR0aW5nIC4uLiAiCittc2dzdHIgIsSQYW5nIMSR4buLbmggZOG6oW5nIOKApiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAieG9uZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVmVyaWZ5aW5nIC4uLiAiCittc2dzdHIgIsSQYW5nIGtp4buDbSB0cmEg4oCmICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAixJDhu41jOiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIkPDsyB24bqlbiDEkeG7gSBraGkgxJHhu41jIHLDo25oL8SR4bqndSAldS8ldSwgY+G6p24gJWQsIG5o4bqtbiDEkcaw4bujYyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisiZOG7ryBsaeG7h3Ugc2FpIHThuqFpIHLDo25oL8SR4bqndSAldS8ldVxuIgorIsSQYW5nIHRp4bq/cCB04bulYyDigKYgIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4MworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMjMgbWlzYy11dGlscy93aXBlZnMuYzo2MDIgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo4NQorIzogc3lzLXV0aWxzL3R1bmVscC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKK21zZ3N0ciAiJXMgW2PDoWMtdMO5eS1jaOG7jW5dIDx0aGnhur90LWLhu4s+XG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNDkKK21zZ2lkICJEbyBhIGxvdy1sZXZlbCBmb3JtYXR0aW5nIG9mIGEgZmxvcHB5IGRpc2suXG4iCittc2dzdHIgIlRo4buxYyBoaeG7h24gxJHhu4tuaCBk4bqhbmcgxJHEqWEgbeG7gW0g4bufIG3hu6ljIHRo4bqlcC5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAgYuG6r3QgxJHhuqd1IHThuqFpIHLDo25oIE4gKGRlZmF1bHQgMClcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MworbXNnaWQgIiAtdCwgLS10byA8Tj4gICAgICBzdG9wIGF0IHRoZSB0cmFjayBOXG4iCittc2dzdHIgIiAtdCwgLS10byA8Tj4gICAgICBk4burbmcgdOG6oWkgcsOjbmggTlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICBj4buRIHPhu61hIGPDoWMgcsOjbmggYuG7iyBs4buXaSB0cm9uZyBxdcOhIHRyw6xuaFxuIgorIiAgICAgICAgICAgICAgICAgICAgIHRo4bqpbSB0cmEgKHThu5FpIMSRYSBOIGzhuqduIHRo4butKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICB04bqvdCB0aOG6qW0gdHJhIHNhdSBraGkgxJHhu4tuaCBk4bqhbmdcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyAtIHThu6sgKGZyb20pIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyAtIMSR4bq/biAodG8pIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjAxCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHJlcGFpciIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4cgLSBz4butYSBjaOG7r2EgKHJlcGFpcikiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMjMgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE0OAorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzM3CisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzU4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3OTcKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgyMSBkaXNrLXV0aWxzL21rc3dhcC5jOjI0MyBkaXNrLXV0aWxzL3BhcnR4LmM6OTUxCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Njg4IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM3IG1pc2MtdXRpbHMvbmFtZWkuYzoxMzUKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjMgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODUgc3lzLXV0aWxzL2Jsa3pvbmUuYzo5OQorIzogc3lzLXV0aWxzL2RtZXNnLmM6NTI2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxOTcgc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTIwCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6Nzkgc3lzLXV0aWxzL25zZW50ZXIuYzoxNjQgc3lzLXV0aWxzL25zZW50ZXIuYzoxNjgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1MjMgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6OTQKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjEzNyB0ZXJtLXV0aWxzL21lc2cuYzoxMjkgdGV4dC11dGlscy9tb3JlLmM6NTI1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbOG7l2kgbOG6pXkgdGjhu5FuZyBrw6ogdOG6rXAgdGluICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI2IGRpc2stdXRpbHMvcGFydHguYzoxMDEwIG1pc2MtdXRpbHMvbHNibGsuYzoxNTAxCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NyBzeXMtdXRpbHMvYmxrem9uZS5jOjEwMQorIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXM6IGtow7RuZyBwaOG6o2kgbMOgIHRoaeG6v3QgYuG7iyBraOG7kWkiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzEKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgImtow7RuZyB0aOG7gyB4w6FjIMSR4buLbmggxJHGsOG7o2Mga2nhu4N1IMSR4buLbmggZOG6oW5nIGhp4buHbiB04bqhaSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlcy1t4bq3dCwgJWQgcsOjbmgsICVkIGN1bmcvcsOjbmguIFThu5VuZyBkdW5nIGzGsOG7o25nICVkIGtCLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiRG91YmxlIgorbXNnc3RyICJLw6lwIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICLEkMahbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSBtZWRpdW0gc3BlY2lmaWMgbWF4aW11bSIKK21zZ3N0ciAicsOjbmggYuG6r3QgxJHhuqd1IGRvIG5nxrDhu51pIGTDuW5nIMSR4buLbmggbmdoxKlhIMSRw6Mgdsaw4bujdCBxdcOhIHPhu5EgbOG7m24gbmjhuqV0IHJpw6puZyBiaeG7h3QgdHJ1bmcgYsOsbmgiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDMKK21zZ2lkICJ1c2VyIGRlZmluZWQgZW5kIHRyYWNrIGV4Y2VlZHMgdGhlIG1lZGl1bSBzcGVjaWZpYyBtYXhpbXVtIgorbXNnc3RyICJyw6NuaCBjdeG7kWkgZG8gbmfGsOG7nWkgZMO5bmcgxJHhu4tuaCBuZ2jEqWEgxJHDoyB2xrDhu6N0IHF1w6Egc+G7kSBs4bubbiBuaOG6pXQgcmnDqm5nIGJp4buHdCB0cnVuZyBiw6xuaCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICJyw6NuaCBi4bqvdCDEkeG6p3UgZG8gbmfGsOG7nWkgZMO5bmcgxJHhu4tuaCBuZ2jEqWEgxJHDoyB2xrDhu6N0IHF1w6EgxJFp4buDbSBjdeG7kWkgxJHGsOG7o2MgbmfGsOG7nWkgZMO5bmcgxJHhu4tuaCBuZ2jEqWEiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHDs25nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlbGVjdCAoZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiQ2jhu41uICht4bq3YyDEkeG7i25oICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzaW5nIGRlZmF1bHQgcmVzcG9uc2UgJWMuIgorbXNnc3RyICJT4butIGThu6VuZyDEkcOhcCDhu6luZyBt4bq3YyDEkeG7i25oICVjIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIyIGRpc2stdXRpbHMvZmRpc2suYzoyOTYgZGlzay11dGlscy9mZGlzay5jOjM3MQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyNDEgbGliZmRpc2svc3JjL2dwdC5jOjI0NjkKK21zZ2lkICJWYWx1ZSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJHacOhIHRy4buLIG7hurFtIG5nb8OgaSBwaOG6oW0gdmkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVzLCBt4bq3YyDEkeG7i25oICVjKTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywgbeG6t2MgxJHhu4tuaCAlanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMsIG3hurdjIMSR4buLbmggJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJWp1LSVqdSwgbeG6t2MgxJHhu4tuaCAlanUpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjKTogIgorbXNnc3RyICIlcyAoJWMtJWMpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglanUtJWp1KTogIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDM4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTk4Cittc2dpZCAiIFtZXWVzL1tOXW86ICIKK21zZ3N0ciAiIFtDXcOzL1tLXWjDtG5nOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKK21zZ2lkICJIZXggY29kZSAodHlwZSBMIHRvIGxpc3QgYWxsIGNvZGVzKTogIgorbXNnc3RyICJNw6MgSGV4IChnw7UgTCDEkeG7gyBsaeG7h3Qga8OqIHThuqV0IGPhuqMgY8OhYyBtw6MpOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0ODAKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSAodHlwZSBMIHRvIGxpc3QgYWxsIHR5cGVzKTogIgorbXNnc3RyICJLaeG7g3UgcGjDom4gdsO5bmcgKGfDtSBMIMSR4buDIGxp4buHdCBrw6ogdOG6pXQgY+G6oyBjw6FjIGtp4buDdSk6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgc2V0IChERVBSRUNBVEVEISkiCittc2dzdHIgIkPhu50gdMawxqFuZyB0aMOtY2ggduG7m2kgRE9TIMSRxrDhu6NjIMSR4bq3dCAoxJDDgyBM4buWSSBUSOG7nEkhKSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MworbXNnaWQgIkRPUyBDb21wYXRpYmlsaXR5IGZsYWcgaXMgbm90IHNldCIKK21zZ3N0ciAiQ+G7nSB0xrDGoW5nIHRow61jaCBET1Mga2jDtG5nIMSRxrDhu6NjIMSR4bq3dCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwNCBkaXNrLXV0aWxzL2ZkaXNrLmM6NjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3QgZXhpc3QgeWV0ISIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1IGtow7RuZyB04buTbiB04bqhaSEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIktow7RuZyBoaeG7g3UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLEkMOjIHRoYXkgxJHhu5VpIGtp4buDdSBj4bunYSBwaMOibiB2w7luZyDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlR5cGUgb2YgcGFydGl0aW9uICV6dSBpcyB1bmNoYW5nZWQ6ICVzLiIKK21zZ3N0ciAiS2nhu4N1IGPhu6dhIHBow6JuIHbDuW5nICV6dSBjaMawYSB0aGF5IMSR4buVaTogJXMuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAixJDEqWE6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXM6IG9mZnNldCA9ICU8UFJJdTY0Piwgc2l6ZSA9ICV6dSBieXRlcy4iCittc2dzdHIgIiIKKyJcbiIKKyIlczogaGnhu4d1ID0gJWp1LCBj4buhID0gJXp1IGJ5dGUuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCittc2dpZCAiY2Fubm90IHNlZWsiCittc2dzdHIgImtow7RuZyB0aOG7gyBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7jWMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NDEgbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM5OAorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAiQ3VuZyB04burIMSR4bqndSB0acOqbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc2OAorIywgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCBraMO0bmcgdGjDoG5oIGPDtG5nIHRyw6puICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6Nzg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIlczogdGhp4bq/dCBi4buLIGPDsyBjaOG7qWEgY2jhu68ga8O9IGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdLCBraHV54bq/biBuZ2jhu4sgYuG6oW4gdOG6qXkgdGhp4bq/dCBi4buLIGLhurFuZyBs4buHbmggd2lwZWZzKDgpIG7hur91IG7DsyBraMO0bmcgbmjGsCBtb25nIMSR4bujaSwgY+G7kXQgxJHhu4MgbcOgIHRyw6FuaCB4dW5nIMSR4buZdCBjw7MgdGjhu4MgeOG6o3kgcmEuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIDzEkcSpYT4gICAgICAgdGhheSDEkeG7lWkgYuG6o25nIHBow6JuIHbDuW5nXG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIC1sIFs8xJHEqWE+XSAgbGnhu4d0IGvDqiBjw6FjIGLhuqNuZyBwaMOibiB2w7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODExCittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8Y+G7oT4gICAgICAgIGPhu6EgY3VuZyB04burIGzDtC1nw61jIHbhuq10IGzDvVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEyCittc2dpZCAiIC1CLCAtLXByb3RlY3QtYm9vdCAgICAgICAgICAgIGRvbid0IGVyYXNlIGJvb3RiaXRzIHdoZW4gY3JlYXRpbmcgYSBuZXcgbGFiZWxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODEzCittc2dpZCAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTxtb2RlPl0gIG1vZGUgaXMgJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08Y2jhur9fxJHhu5k+XSBjaOG6vyDEkeG7mSB0xrDGoW5nIHRow61jaDog4oCcZG9z4oCdIGhheSDigJxub25kb3PigJ0gKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tY29sb3JbPTxraGk+XSAgICAgICAgICAgdMO0IHPDoW5nIGvhur90IHh14bqldCA8a2hpPjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRvICAgIHThu7EgxJHhu5luZyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHdheXMgIGx1w7RuIGhv4bq3Y1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldmVyICAga2jDtG5nIGJhbyBnaeG7nSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxkLnPDoWNoPiAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIGPhu5l0XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTkKK21zZ2lkICIgLXQsIC0tdHlwZSA8dHlwZT4gICAgICAgICAgICAgcmVjb2duaXplIHNwZWNpZmllZCBwYXJ0aXRpb24gdGFibGUgdHlwZSBvbmx5XG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxraeG7g3U+ICAgICAgICAgICAgIMOpcCBideG7mWMgY2jhu4kgY2jhuqVwIG5o4bqtbiBraeG7g3UgYuG6o25nIHBow6JuIHbDuW5nIMSRw6MgY2hvXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC11LCAtLXVuaXRzWz08xJHGoW5fduG7iz5dICAgICAgICBoaeG7g24gdGjhu4sgdGhlbyA8xJHGoW5fduG7iz46XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDigJxjeWxpbmRlcnPigJ0gdHLhu6VcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAnHNlY3RvcnPigJ0gICBjdW5nIHThu6sgKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjEKK21zZ2lkICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgZGlzcGxheSBkZXZpY2Ugc2l6ZSBpbiA1MTItYnl0ZSBzZWN0b3JzIFtERVBSRUNBVEVEXVxuIgorbXNnc3RyICIgLXMsIC0tZ2V0c3ogICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGPhu6EgdGhp4bq/dCBi4buLIHRoZW8gY3VuZyB04burIDUxMiBieXRlIFtQSOG6ok4gxJDhu5BJXVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sga8OtY2ggdGjGsOG7m2MgdGhlbyBieXRlIHRoYXkgdsOsIMSR4buLbmggZOG6oW5nIGTDoG5oIGNobyBjb24gbmfGsOG7nWlcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMworIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2lwZSA8bW9kZT4gICAgICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PGtoaT5dICAgICAgICAgdMO0IG3DoHUgdGjDtG5nIMSRaeG7h3AgKOKAnGF1dG/igJ0uIOKAnGFsd2F5c+KAnSBoYXkg4oCcbmV2ZXLigJ0uXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjQgZGlzay11dGlscy9zZmRpc2suYzoxODg2CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS13aXBlLXBhcnRpdGlvbnMgPG1vZGU+ICB3aXBlIHNpZ25hdHVyZXMgZnJvbSBuZXcgcGFydGl0aW9ucyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLUwsIC0tY29sb3JbPTxraGk+XSAgICAgICAgIHTDtCBtw6B1IHRow7RuZyDEkWnhu4dwICjigJxhdXRv4oCdLiDigJxhbHdheXPigJ0gaGF5IOKAnG5ldmVy4oCdLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI3Cittc2dpZCAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKK21zZ3N0ciAiIC1DLCAtLWN5bGluZGVycyA8c+G7kT4gICAgICAgICAgY2jhu4kgcmEgc+G7kSBsxrDhu6NuZyB0cuG7pSB0cuG7q1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI4Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgLUgsIC0taGVhZHMgPHPhu5E+ICAgICAgICAgICAgICBjaOG7iSDEkeG7i25oIHPhu5EgbMaw4bujbmcgxJHhuqd1IHThu6tcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorbXNnaWQgIiAtUywgLS1zZWN0b3JzIDxudW1iZXI+ICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKK21zZ3N0ciAiIC1TLCAtLXNlY3RvcnMgPHPhu5E+ICAgICAgICAgICAgY2jhu4kgxJHhu4tuaCBz4buRIGzGsOG7o25nIGN1bmcgdOG7qyBt4buXaSByw6NuaFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSBrw61jaCB0aMaw4bubYyByw6NuaCAoc2VjdG9yKSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkxMAorbXNnaWQgImludmFsaWQgY3lsaW5kZXJzIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSB0cuG7pSAoY3lsaW5kZXJzKSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyMgorbXNnaWQgIm5vdCBmb3VuZCBET1MgbGFiZWwgZHJpdmVyIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkg4buVIMSRxKlhIG5ow6NuIERPUyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGNo4bq/IMSR4buZIHTGsMahbmcgdGjDrWNoIOKAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM1Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgdHLhu6Uga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGN1bmcgdOG7qyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk2NworIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNrbGFiZWw6ICVzIgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyBuaMOjbiDEkcSpYTolcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjk3NQorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0IgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyDEkcahbiB24buLIOKAnCVj4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICJraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyB0w7QgbcOgdSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDIKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAiVGh14buZYyB0w61uaCB0aGnhur90IGLhu4sgKGvDrWNoIGPhu6EgY3VuZyB04burIHbDoCBj4bqldSB0csO6YyBow6xuaCBo4buNYykgY+G6p24gc+G7rSBk4bulbmcgduG7m2kgbeG7mXQgdGhp4bq/dCBi4buLIHjDoWMgxJHhu4tuaC4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgImdpw6EgdHLhu4sgc2FpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICJDaMOgbyBt4burbmcgYuG6oW4gZMO5bmcgZmRpc2sgKCVzKS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyJUaGF5IMSR4buVaSBjaOG7iSBkaeG7hW4gcmEgdHJvbmcgYuG7mSBuaOG7mywgY2hvIMSR4bq/biBraGkgYuG6oW4gcXV54bq/dCDEkeG7i25oIGdoaSBs4bqhaSBuw7MuXG4iCisiSMOjeSBj4bqpbiB0aOG6rW4gdHLGsOG7m2Mga2hpIGNo4bqheSBs4buHbmggZ2hpIGzhuqFpLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA3OQorbXNnaWQgIkEgaHlicmlkIEdQVCB3YXMgZGV0ZWN0ZWQuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIGh5YnJpZCBNQlIgbWFudWFsbHkgKGV4cGVydCBjb21tYW5kICdNJykuIgorbXNnc3RyICJUw6xtIHRo4bqleSBt4buZdCBHUFQgbGFpLiBC4bqhbiBwaOG6o2kgxJHhu5NuZyBi4buZIGjDs2EgTUJSIGxhaSBi4bqxbmcgdGF5IChj4bqnbiBs4buHbmgg4oCcTeKAnSkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIktp4buDdSBuaMOjbiDEkcSpYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIsSQ4buLbmggZGFuaCDEkcSpYTogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICLEkMSpYSAlczogJXMsICVqdSBieXRlLCAlanUgY3VuZyB04burIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIkPhuqV1IHRyw7pjIGjDrG5oIGjhu41jOiAlZCDEkeG6p3UgdOG7qywgJWxsdSBjdW5nIHThu6svcsOjbmgsICVsbHUgdHLhu6UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICJVbml0czogJXMgb2YgJWQgKiAlbGQgPSAlbGQgYnl0ZXMiCittc2dzdHIgIsSQxqFuIHbhu4s6ICVzIGPhu6dhICVkICogJWxkID0gJWxkIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiS8OtY2ggY+G7oSBjdW5nIHThu6sgKGzDtGfDrWMvduG6rXQgbMO9KTogJWx1IGJ5dGUgLyAlbHUgYnl0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiS8OtY2ggY+G7oSBWL1IgKHThu5FpX3RoaeG7g3UvdOG7kWlfxrB1KTogJWx1IGJ5dGUgLyAlbHUgYnl0ZSIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICJLaG/huqNuZyBjaMOqbmggc+G6r3AgaMOgbmc6ICVsdSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjM2CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgY+G6pXAgcGjDoXQgaXRlcmF0b3IiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIGLhu5UgYuG6o25nIGvhur90IHh14bqldCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiBi4buVIGTDsm5nIGvhur90IHh14bqldCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHRow6ptIGThu68gbGnhu4d1IHbDoG8gYuG6o25nIGvhur90IHh14bqldCIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1IGtow7RuZyBi4bqvdCDEkeG6p3Ug4bufIGJpw6puIGdp4bubaSBjdW5nIHThu6sgduG6rXQgbMO9LiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uICV6dSB3aWxsIGJlIHdpcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICJDw6FjIG3hu6VjIHRyb25nIGLhuqNuZyBwaMOibiB2w7luZyBraMO0bmcgxJHDum5nIG5oxrAgdGjhu6kgdOG7sSBuaMawIOG7nyB0csOqbiDEkcSpYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKK21zZ2lkICJTdGFydCIKK21zZ3N0ciAixJDhuqd1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTggbGliZmRpc2svc3JjL2Rvcy5jOjI0MjYKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTI5IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU0IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIxCittc2dpZCAiRW5kIgorbXNnc3RyICJDdeG7kWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzAgbGliZmRpc2svc3JjL3NnaS5jOjExNTUgbGliZmRpc2svc3JjL3N1bi5jOjExMjIKK21zZ2lkICJTZWN0b3JzIgorbXNnc3RyICJDdW5nIHThu6siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMSBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzEgbGliZmRpc2svc3JjL3NnaS5jOjExNTcgbGliZmRpc2svc3JjL3N1bi5jOjExMjQKK21zZ2lkICJTaXplIgorbXNnc3RyICJLw61jaCB0aMaw4bubYyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnBhcnRpdGlvbmVkIHNwYWNlICVzOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAixJDEqWEgJXM6ICVzLCAlanUgYnl0ZSwgJWp1IGN1bmcgdOG7qyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVua25vd24gY29sdW1uOiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBj4buZdCAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk3Cittc2dpZCAiR2VuZXJpYyIKK21zZ3N0ciAiQ2h1bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4Cittc2dpZCAiZGVsZXRlIGEgcGFydGl0aW9uIgorbXNnc3RyICJ4w7NhIG3hu5l0IHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAibGnhu4d0IGvDqiBjw6FjIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIGtp4buDdSBwaMOibiB2w7luZyDEkcOjIGJp4bq/dCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCittc2dpZCAiYWRkIGEgbmV3IHBhcnRpdGlvbiIKK21zZ3N0ciAidGjDqm0gbeG7mXQgcGjDom4gdsO5bmcgbeG7m2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImluIHJhIGLhuqNuZyBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgInRoYXkgxJHhu5VpIGtp4buDdSBj4bunYSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImtp4buDbSB0cmEgYuG6o25nIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIkhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgdGhp4bq/dCBi4buLIGto4buRaS5cbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICJpbiBi4bqjbmcgcmEgZOG7ryBsaeG7h3UgdGjDtCBj4bunYSBjdW5nIHThu6sgxJHhuqd1IHRpw6puIHThu6sgdGhp4bq/dCBi4buLIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDgKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgImluIGLhuqNuZyByYSBk4buvIGxp4buHdSB0aMO0IGPhu6dhIG5ow6NuIMSRxKlhIHThu6sgdGhp4bq/dCBi4buLIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDkKK21zZ2lkICJmaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAic+G7rWEgdGjhu6kgdOG7sSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAiTGluaCB0aW5oIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgImhp4buDbiB0aOG7iyB0csOsbmggxJHGoW4gbsOgeSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgInRoYXkgxJHhu5VpIMSRxqFuIHbhu4sgaGnhu4NuIHRo4buLIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTQKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICJjw6FjIGNo4bupYyBuxINuZyBt4bufIHLhu5luZyAoY2jhu4kgZMOgbmggY2hvIG5nxrDhu51pIGPDsyBraW5oIG5naGnhu4dtKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE2Cittc2dpZCAiU2NyaXB0IgorbXNnc3RyICJWxINuIGzhu4duaCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE3Cittc2dpZCAibG9hZCBkaXNrIGxheW91dCBmcm9tIHNmZGlzayBzY3JpcHQgZmlsZSIKK21zZ3N0ciAidOG6o2kgYuG7kSBj4bulYyDEkcSpYSB04burIHThuq1wIHRpbiB2xINuIGzhu4duaCBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLEkeG7lSBi4buRIGPhu6VjIMSRxKlhIHJhIHThuq1wIHRpbiB2xINuIGzhu4duaCBzZmRpc2siCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICJHaGkgbOG6oWkgJiB0aG/DoXQgcmEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXQiCittc2dzdHIgImdoaSBi4bqjbmcgcGjDom4gdsO5bmcgbMOqbiDEkcSpYSB2w6AgdGhvw6F0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjIKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICJnaGkgYuG6o25nIHbDoG8gxJHEqWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMworbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAidGhvw6F0IHbDoCBraMO0bmcgZ2hpIG5o4bubIGPDoWMgdGhheSDEkeG7lWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgInF1YXkgbOG6oWkgdHLDrG5oIMSRxqFuIGNow61uaCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI2Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAidHLhuqMgduG7gSB04burIEJTRCB0aMOgbmggRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgInThuqFvIG3hu5l0IG5ow6NuIG3hu5tpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgR1BUIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidOG6oW8gbeG7mXQgYuG6o25nIHBow6JuIHbDuW5nIEdQVCBy4buXbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzOQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTR0kgKElSSVgpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidOG6oW8gbeG7mXQgYuG6o25nIHBow6JuIHbDuW5nIEdQVCAoSVJJWCkgcuG7l25nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDAKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAidOG6oW8gbeG7mXQgYuG6o25nIHBow6JuIHbDuW5nIERPUyBy4buXbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0MQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ04bqhbyBt4buZdCBi4bqjbmcgcGjDom4gdsO5bmcgU1VOIHLhu5duZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1Cittc2dpZCAiY3JlYXRlIGFuIElSSVggKFNHSSkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICJ04bqhbyBt4buZdCBi4bqjbmcgcGjDom4gdsO5bmcgSVJJWCAoU0dJKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU0Cittc2dpZCAiR2VvbWV0cnkgKGZvciB0aGUgY3VycmVudCBsYWJlbCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgInRoYXkgxJHhu5VpIHPhu5EgdHLhu6UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgInRoYXkgxJHhu5VpIHPhu5EgxJHhuqd1IMSR4buNYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICJ0aGF5IMSR4buVaSBz4buRIGN1bmcgdOG7qy9yw6NuaCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworbXNnaWQgImNoYW5nZSBkaXNrIEdVSUQiCittc2dzdHIgInRoYXkgxJHhu5VpIEdVSUQgY+G7p2EgxJHEqWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAidGhheSDEkeG7lWkgdMOqbiBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5Cittc2dpZCAiY2hhbmdlIHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJ0aGF5IMSR4buVaSBVVUlEIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHRhYmxlIGxlbmd0aCIKK21zZ3N0ciAia2jDtG5nIHBow6JuIHTDrWNoIMSRxrDhu6NjIMSR4buZIGTDoGkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAidsOgbyBNQlIgYuG6o29fduG7hy9sYWkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NAorbXNnaWQgInRvZ2dsZSB0aGUgbGVnYWN5IEJJT1MgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiYuG6rXQvdOG6r3QgY+G7nSBjw7MgdGjhu4Mga2jhu59pIMSR4buZbmcgQklPUyBraeG7g3UgY8WpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgImLhuq10L3Thuq90IGtow7RuZyBwaOG6o2kgY+G7nSBnaWFvIHRo4bupYyBraOG7kWkgVlIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NgorbXNnaWQgInRvZ2dsZSB0aGUgcmVxdWlyZWQgcGFydGl0aW9uIGZsYWciCittc2dzdHIgImLhuq10L3Thuq90IGPhu50gcGjDom4gdsO5bmcgxJHGsOG7o2MgecOqdSBj4bqndSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc3Cittc2dpZCAidG9nZ2xlIHRoZSBHVUlEIHNwZWNpZmljIGJpdHMiCittc2dzdHIgImLhuq10L3Thuq90IGLDrXQgbcOjIHPhu5EgbmjDs20gxJHhurdjIGJp4buHdCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg3Cittc2dpZCAiU3VuIgorbXNnc3RyICJTdW4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OAorbXNnaWQgInRvZ2dsZSB0aGUgcmVhZC1vbmx5IGZsYWciCittc2dzdHIgImLhuq10L3Thuq90IGPhu50gY2jhu4ktxJHhu41jIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKK21zZ2lkICJ0b2dnbGUgdGhlIG1vdW50YWJsZSBmbGFnIgorbXNnc3RyICJi4bqtdC904bqvdCBj4budIGPDsyB0aOG7gyBn4bqvbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkxCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBhbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICJ0aGF5IMSR4buVaSBz4buRIHRy4bulIHbhuq10IGzDvSB0aGF5IHRo4bq/IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTIKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJ0aGF5IMSR4buVaSBz4buRIGN1bmcgdOG7qyBk4buxIHBow7JuZyB0cm9uZyBt4buXaSB0cuG7pSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCittc2dpZCAiY2hhbmdlIGludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJ0aGF5IMSR4buVaSBo4buHIHPhu5EgeGVuIGvhur0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NAorbXNnaWQgImNoYW5nZSByb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAidGhheSDEkeG7lWkgdOG7kWMgxJHhu5kgcXVheSAocnBtKSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk1Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgInRoYXkgxJHhu5VpIHPhu5EgdHLhu6UgduG6rXQgbMO9IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKK21zZ2lkICJTR0kiCittc2dzdHIgIlNHSSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA1Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAiY2jhu41uIHBow6JuIHbDuW5nIGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA2Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAic2/huqFuIHRo4bqjbyB04bqtcCB0aW4ga2jhu59pIMSR4buZbmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNworbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgImNo4buNbiBwaMOibiB2w7luZyB0cmFvIMSR4buVaSBzZ2kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAidOG6oW8gdGjDtG5nIHRpbiBTR0kiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICJi4bqtdC904bqvdCBj4budIGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAic+G7rWEgbmjDo24gxJHEqWEgQlNEIGzhu5NuZyBuaGF1IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKK21zZ2lkICJ0b2dnbGUgdGhlIGRvcyBjb21wYXRpYmlsaXR5IGZsYWciCittc2dzdHIgImLhuq10IGPhu50gdMawxqFuZyB0aMOtY2ggduG7m2kgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjIKK21zZ2lkICJtb3ZlIGJlZ2lubmluZyBvZiBkYXRhIGluIGEgcGFydGl0aW9uIgorbXNnc3RyICJkaSBjaHV54buDbiBk4buvIGxp4buHdSBi4bqvdCDEkeG6p3UgdHJvbmcgbeG7mXQgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMworbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJ0aGF5IMSR4buLbmggZGFuaCBuaOG6rW4gZGnhu4duIMSRxKlhIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjUKK21zZ2lkICJyZXR1cm4gZnJvbSBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgdG8gR1BUIgorbXNnc3RyICJ0cuG6oyB24buBIHThu6sgTUJSIGLhuqNvX3bhu4cvbGFpIHRow6BuaCBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgInPhu61hIGThu68gbGnhu4d1IOG7lSDEkcSpYSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgImPDoGkgxJHhurd0IHRyw6xuaCBraOG7n2kgxJHhu5luZyB04buxIG3hu5NpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKK21zZ2lkICJzaG93IGNvbXBsZXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIHRvw6BuIGLhu5kgbmjDo24gxJHEqWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorbXNnaWQgImxpbmsgQlNEIHBhcnRpdGlvbiB0byBub24tQlNEIHBhcnRpdGlvbiIKK21zZ3N0ciAibGnDqm4ga+G6v3QgcGjDom4gdsO5bmcgQlNEIHThu5tpIHBow6JuIHbDuW5nIGtow7RuZyBwaOG6o2kgQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUcuG7oyBnacO6cCAobOG7h25oIGNhbyBj4bqlcCk6XG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjM3MyBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUcuG7oyBnacO6cDpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIkLhuqFuIMSRYW5nIHPhu61hIGLhuqNuZyBwaMOibiB2w7luZyBs4buTbmcgbmhhdSDigJwlc+KAnSwgYuG6o25nIHBow6JuIHbDuW5nIGNow61uaCBsw6Ag4oCcJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjMKK21zZ2lkICJFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiQ8OidSBs4buHbmggbsOibmcgY2FvIChtIMSR4buDIHhlbSB0cuG7oyBnacO6cCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDI1Cittc2dpZCAiQ29tbWFuZCAobSBmb3IgaGVscCk6ICIKK21zZ3N0ciAiTOG7h25oIChtIMSR4buDIHhlbSB0cuG7oyBnacO6cCk6ICIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyJC4bqhbiB0aOG7sWMgc+G7sSBtdeG7kW4gdGhvw6F0IGtow7RuZz8gIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IGtow7RuZyBoaeG7g3UgY8OidSBs4buHbmgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ3MyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MDYKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lIgorbXNnc3RyICJIw6N5IG5o4bqtcCB0w6puIGPhu6dhIHThuq1wIHRpbiB2xINuIGzhu4duaCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICJWxINuIGzhu4duaCDEkcOjIMSRxrDhu6NjIMOhcCBk4bulbmcgdGjDoG5oIGPDtG5nLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTE4Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zZm9ybSBkaXNrIGxheW91dCBpbnRvIHNjcmlwdCIKK21zZ3N0ciAiR+G6t3AgbOG7l2kgY2h1eeG7g24gxJHhu5VpIGLhu5EgY+G7pWMgxJHEqWEgdsOgbyB2xINuIGzhu4duaCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIlbEg24gbOG7h25oIMSRw6MgbMawdSBs4bqhaSB0aMOgbmggY8O0bmcuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTUgZGlzay11dGlscy9zZmRpc2suYzoxNTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dTogY2jhu6lhIGN1bmcgdOG7qyAwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1NTggZGlzay11dGlscy9zZmRpc2suYzoxNTA3CisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHJlbW92ZSB0aGUgc2lnbmF0dXJlPyIKK21zZ3N0ciAiQuG6oW4gY8OzIG114buRbiBnaGkgbMOqbiDEkcSpYT8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorbXNnaWQgImZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGkgbmjDo24gxJHEqWEiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjYzOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICJz4butYSB0aOG7qSB04buxIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NDAKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9ucyBvcmRlciBmaXhlZC4iCittc2dzdHIgIktow7RuZyBjw7MgcGjDom4gdsO5bmcgbsOgbyDEkcaw4bujYyDEkeG7i25oIG5naMSpYS4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIktow7RuZyB0aOG7gyB4w7NhIHBow6JuIHbDuW5nICV6dSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg1Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIsSQYW5nIGNodXnhu4NuIMSR4buVaSDEkcahbiB24buLIGhp4buDbiB0aOG7iy9t4bulYyB0aW4gdGjDoG5oIHRy4bulICjEkMODIEzhuqBDIEjhuqxVISkuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODcKK21zZ2lkICJDaGFuZ2luZyBkaXNwbGF5L2VudHJ5IHVuaXRzIHRvIHNlY3RvcnMuIgorbXNnc3RyICLEkGFuZyBjaHV54buDbiDEkeG7lWkgxJHGoW4gduG7iyBoaeG7g25fdGjhu4svbeG7pWMgdGjDoG5oIGN1bmcgdOG7qy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICJS4budaSBuaMOjbiDEkcSpYSBu4bqxbSB0cm9uZy4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIsSQYW5nIHbDoG8gbmjDo24gxJHEqWEgTUJSIGLhuqNvX3bhu4cvbGFpLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzYxCittc2dpZCAiTmV3IFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAiVVVJRCBt4bubaSAo4bufIMSR4buLbmggZOG6oW5nIDgtNC00LTQtMTIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAiVMOqbiBt4bubaSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6ODM5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICJWw6BvIG5ow6NuIMSRxKlhIG7hurFtIHRyb25nLiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzNworbXNnaWQgIk51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIlPhu5EgbMaw4bujbmcgdHLhu6UiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNDQKK21zZ2lkICJOdW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIlPhu5EgxJHhuqd1IMSR4buNYyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1MAorbXNnaWQgIk51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJT4buRIGN1bmcgdOG7qyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgxJHDoyDEkcaw4bujYyBn4bqvblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMgY2jGsGEgxJHGsOG7o2MgZ+G6r25cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzI5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzNAorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjI5OCBsaWJmZGlzay9zcmMvYnNkLmM6NjQ1CisjOiBsaWIvcGF0aC5jOjE0MCBsaWIvcGF0aC5jOjE2MSBsaWIvcGF0aC5jOjE4MiBsaWIvcGF0aC5jOjIzMAorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwOCBsb2dpbi11dGlscy9sYXN0LmM6MjQ1IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo2NTUKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoyMTQgc3lzLXV0aWxzL3NldHByaXYuYzoyODUgdGVybS11dGlscy9zZXR0ZXJtLmM6NzIzCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6Nzg0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc5MQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVhZCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzMxIGxpYi9wYXRoLmM6MTYzIGxpYi9wYXRoLmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnNlIGVycm9yOiAlcyIKK21zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggY8O6IHBow6FwOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzU4CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdGjGsCBt4bulYyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvY2tpbmcgZGlzayBieSAlcyAuLi4gIgorbXNnc3RyICLEkGFuZyBraMOzYSDEkcSpYSBi4bqxbiAlcyDigKYiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM4MgorIywgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIoxJFhbmcgY2jhu50pICIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgInRow6BuaCBjw7RuZyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAiZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVubG9ja2luZyAlcy5cbiIKK21zZ3N0ciAixJBhbmcgbeG7nyBraMOzYSAlcy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXR1cCBkZXNjcmlwdGlvbiBmb3IgJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjw6BpIMSR4bq3dCBtw7QgdOG6oyBjaG8gJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIgorbXNnc3RyICIlczogbOG7l2kgcGjDom4gdMOtY2ggY8O6IHBow6FwIHThuqFpIGTDsm5nICVkIC0tIGlnbm9yZSIKKworIzogZGlzay11dGlscy9mc2NrLmM6NTA0IGRpc2stdXRpbHMvZnNjay5jOjUwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGZzdGFiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODcgbG9naW4tdXRpbHMvbG9naW4uYzo5NDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDggc3lzLXV0aWxzL2Zsb2NrLmM6MzQ2IHN5cy11dGlscy9uc2VudGVyLmM6MTgwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzIwIHN5cy11dGlscy91bnNoYXJlLmM6MjIxIHN5cy11dGlscy91bnNoYXJlLmM6NDM1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjgwNQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaCIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHRo4buxYyB0aGkgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAixJHhu6NpOiBraMO0bmcgY8OzIHRp4bq/biB0csOsbmggY29uIG7hu69hPyE/IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQgYuG7iyBs4buXaSIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmcuLi4gJXMgZm9yIGRldmljZSAlcyBleGl0ZWQgd2l0aCBzaWduYWwgJWQuIgorbXNnc3RyICJD4bqjbmggYsOhb+KApiAlcyBjaG8gdGhp4bq/dCBi4buLICVzIMSRw6MgdGhvw6F0IHbhu5tpIHTDrW4gaGnhu4d1ICVkLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6ODA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzOiBzdGF0dXMgaXMgJXgsIHNob3VsZCBuZXZlciBoYXBwZW4uIgorbXNnc3RyICIlcyAlczogdHLhuqFuZyB0aMOhaSBsw6AgJXgsIGtow7RuZyBiYW8gZ2nhu50gbsOqbiB44bqjeSByYS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAixJDDoyBr4bq/dCB0aMO6YyB24bubaSAlcyAodHLhuqFuZyB0aMOhaSB0aG/DoXQgJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgJWQgKCVtKSB0cm9uZyBraGkgdGjhu7FjIGhp4buHbiBmc2NrLiVzIGNobyAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorbXNnaWQgIiIKKyJFaXRoZXIgYWxsIG9yIG5vbmUgb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZXMgcGFzc2VkIHRvIC10IG11c3QgYmUgcHJlZml4ZWRcbiIKKyJ3aXRoICdubycgb3IgJyEnLiIKK21zZ3N0ciAiIgorIkhv4bq3YyB04bqldCBj4bqjIGhv4bq3YyBraMO0bmcgY8OzIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRxrDhu6NjIHF1YVxuIgorImNobyB0w7l5IGNo4buNbiDigJwtdOKAnSBwaOG6o2kgY8OzIHRp4buBbiB04buRIOKAnG5v4oCdIGhheSDigJwh4oCdLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiJXM6IMSRYW5nIGLhu48gcXVhIGTDsm5nIHNhaSB0cm9uZyDigJwvZXRjL2ZzdGFi4oCdOiBideG7mWMgZ+G6r24gduG7m2kgc+G7kSBn4butaSBxdWEgZnNjayBraMOhYy1raMO0bmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIG5vbmV4aXN0ZW50IGRldmljZVxuIgorbXNnc3RyICIlczogxJFhbmcgYuG7jyBxdWEgdGhp4bq/dCBi4buLIGtow7RuZyB04buTbiB04bqhaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub25leGlzdGVudCBkZXZpY2UgKFwibm9mYWlsXCIgZnN0YWIgb3B0aW9uIG1heSBiZSB1c2VkIHRvIHNraXAgdGhpcyBkZXZpY2UpXG4iCittc2dzdHIgIiVzOiB0aGnhur90IGLhu4sga2jDtG5nIHPhurVuIHPDoG5nICh0w7l5IGNo4buNbiBcIm5vZmFpbFwiIGPhu6dhIGZzdGFiIGPDsyBs4bq9IMSRw6MgxJHGsOG7o2Mgc+G7rSBk4bulbmcgxJHhu4MgYuG7jyBxdWEgdGhp4bq/dCBi4buLIG7DoHkpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVzOiBi4buPIHF1YSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBjaMawYSBiaeG6v3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hlY2sgJXM6IGZzY2suJXMgbm90IGZvdW5kIgorbXNnc3RyICJraMO0bmcgdGjhu4Mga2nhu4NtIHRyYSAlczogZnNjay4lcyBraMO0bmcgdMOsbSB0aOG6pXkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICLEkGFuZyBraeG7g20gdHJhIHThuqV0IGPhuqMgY8OhYyBo4buHIHRo4buRbmcgdOG6rXAgdGluLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLXdhaXRpbmctLSAobOG6p24gY2jhuqF5ICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIC0tIFt0w7l5LWNo4buNbi1mc10gWzxo4buHIHRo4buRbmcgdOG6rXAgdGluPiDigKZdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiS2nhu4NtIHRyYSB2w6Agc+G7rWEgY2jhu69hIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gTGludXguXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTQKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BICAgICAgICAga2nhu4NtIHRyYSB04bqldCBj4bqjIGPDoWMgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk1Cittc2dpZCAiIC1DIFs8ZmQ+XSAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorbXNnc3RyICIgLUMgWzxmZD5dICBoaeG7g24gdGjhu4sgdGhhbmggZGnhu4VuIHRp4bq/bjsgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4gbMOgIGTDoG5oIGNobyBHVUlzXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTYKK21zZ2lkICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdG8gZ3VhcmFudGVlIGV4Y2x1c2l2ZSBhY2Nlc3NcbiIKK21zZ3N0ciAiIC1sICAgICAgICAga2jDs2EgdGhp4bq/dCBi4buLIMSR4buDIMSR4bqjbSBi4bqjbyBjw6FjIOG7qW5nIGThu6VuZyBraMOhYyBraMO0bmcgxJHGsOG7o2MgdHJ1eSBj4bqtcCB2w6BvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTcKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLU0gICAgICAgICBraMO0bmcga2nhu4NtIHRyYSBjw6FjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyDEkcaw4bujYyBn4bqvblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk4Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIC1OICAgICAgICAga2jDtG5nIHRo4buxYyBoaeG7h24sIGNo4buJIHhlbSB0aOG7rSB4ZW0gbmjhu69uZyBnw6wgc+G6vSDEkcaw4bujYyBsw6BtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAga2nhu4NtIHRyYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIHNvbmcgc29uZywgYmFvIGfhu5NtIGPhuqMgcm9vdFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAwCittc2dpZCAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggJy1BJ1xuIgorbXNnc3RyICIgLVIgICAgICAgICBi4buPIHF1YSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGfhu5FjOyBjaOG7iSBo4buvdSBk4bulbmcgduG7m2kg4oCcLUHigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMQorIywgZnV6enkKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtciAgICAgICAgIGLDoW8gY8OhbyB0aOG7kW5nIGvDqiBjaG8gdOG7q25nIHRoaeG6v3QgYuG7iyDEkcaw4bujYyBraeG7g20gdHJhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDMKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgdGhhbyB0w6FjIGtp4buDbSB0cmEgZOG6oW5nIG7hu5FpIHRp4bq/cFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA0Cittc2dpZCAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKK21zZ3N0ciAiIC1UICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyB0acOqdSDEkeG7gSBraGkga2jhu59pIMSR4buZbmdcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorIywgZnV6enkKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisiIC10IDxraeG7g3U+ICBjaOG7iSDEkeG7i25oIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRxrDhu6NjIGtp4buDbSB0cmE7XG4iCisiICAgICAgICAgICAgIDxraeG7g3U+IMSRxrDhu6NjIHBow6lwIGTDuW5nIGRhbmggc8OhY2ggbmfEg24gY8OhY2ggYuG6sW5nIGThuqV1IHBo4bqpeVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA3Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgZ2nhuqNpIHRow61jaCBuaOG7r25nIGfDrCDEkWFuZyDEkcaw4bujYyBsw6BtXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MTMKK21zZ2lkICJTZWUgdGhlIHNwZWNpZmljIGZzY2suKiBjb21tYW5kcyBmb3IgYXZhaWxhYmxlIGZzLW9wdGlvbnMuIgorbXNnc3RyICJYZW0gxJHhurdjIHThuqMgduG7gSBjw6FjIGzhu4duaCBmc2NrLiogxJHhu4MgYmnhur90IGPDoWMgdMO5eSBjaOG7jW4gZnMtb3B0aW9ucyBjw7MgdGjhu4MgZMO5bmcuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYwCittc2dpZCAidG9vIG1hbnkgZGV2aWNlcyIKK21zZ3N0ciAicXXDoSBuaGnhu4F1IHRoaeG6v3QgYuG7iyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorbXNnaWQgIklzIC9wcm9jIG1vdW50ZWQ/IgorbXNnc3RyICIvcHJvYyDEkcOjIMSRxrDhu6NjIGfhuq9uIGNoxrBhPyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICJwaOG6o2kgbMOgIG5nxrDhu51pIGNo4bunIChyb290KSDEkeG7gyBxdcOpdCB0w6xtIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdMawxqFuZyDhu6luZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4ga2jhu5twOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ5MiBkaXNrLXV0aWxzL2ZzY2suYzoxNTg5IG1pc2MtdXRpbHMva2lsbC5jOjIzNgorIzogc3lzLXV0aWxzL2VqZWN0LmM6Mjc4Cittc2dpZCAidG9vIG1hbnkgYXJndW1lbnRzIgorbXNnc3RyICJxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NDcgZGlzay11dGlscy9mc2NrLmM6MTU1MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IG9mIC1yIgorbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyAtIHThu6sgKGZyb20pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1waWQgY8OzIGzhur0gY2jhu4kgZMO5bmcgbeG7mXQgbOG6p24iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE1NjkgbWlzYy11dGlscy9raWxsLmM6MjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICJ0w7l5IGNo4buNbiDigJwlc+KAnSBj4bqnbiBt4buZdCDEkeG7kWkgc+G7kSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTYwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHIC0gxJHhur9uICh0bykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2NDMKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLWwgY2jhu4kgY8OzIHRo4buDIHPhu60gZOG7pW5nIHbhu5tpIG3hu5l0IHRoaeG6v3QgYuG7iyBtw6AgdGjDtGkgLS0gaWdub3JlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+XG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSA8VOG6rFBfVElOPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE0Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIGNvbXByZXNzZWQgUk9NIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIktp4buDbSB0cmEgdsOgIHPhu61hIGNo4buvYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIFJPTSDEkcOjIG7DqW4uXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTcKK21zZ2lkICIgLWEgICAgICAgICAgICAgICAgICAgICAgIGZvciBjb21wYXRpYmlsaXR5IG9ubHksIGlnbm9yZWRcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBkw6BuaCBjaG8gbeG7pWMgxJHDrWNoIHTGsMahbmcgdGjDrWNoLCBi4buLIGLhu48gcXVhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTgKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGNoaSB0aeG6v3QgaMahbiBu4buvYVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZMOgbmggY2hvIG3hu6VjIMSRw61jaCB0xrDGoW5nIHRow61jaCwgYuG7iyBi4buPIHF1YVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDxj4buhPiAgICAgZMO5bmcgY+G7oSBraOG7kWkgbsOgeSwgbeG6t2MgxJHhu4tuaCBsw6AgY+G7oSB0cmFuZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiAgICAgLS1leHRyYWN0Wz08VG3hu6VjPl0gICBraeG7g20gdHJhIGdp4bqjaSBuw6luLCB0w7l5IMO9IHLDunQgdHLDrWNoIHJhIDxUbeG7pWM+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZmFpbGVkOiB1bmFibGUgdG8gZGV0ZXJtaW5lIGRldmljZSBzaXplOiAlcyIKK21zZ3N0ciAiaW9jdGwgZ+G6t3AgbOG7l2k6IGtow7RuZyB0aOG7gyB4w6FjIMSR4buLbmgga8OtY2ggY+G7oSB0aGnhur90IGLhu4s6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAia2jDtG5nIHBo4bqjaSB0aGnhur90IGLhu4sga2jhu5FpIGhheSB04bqtcCB0aW46ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDMKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgImNoaeG7gXUgZMOgaSB04bqtcCB0aW4gcXXDoSBuZ+G6r24iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNzYgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIzMQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjI1MSBsaWJmZGlzay9zcmMvYnNkLmM6NzE3IGxpYmZkaXNrL3NyYy9ic2QuYzo4OTIKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDMgbG9naW4tdXRpbHMvbGFzdC5jOjIzNyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICJkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIHRyw6puICVzIGfhurdwIGzhu5dpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTgyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODQKK21zZ2lkICJzdXBlcmJsb2NrIG1hZ2ljIG5vdCBmb3VuZCIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IG1hIHRodeG6rXQgc2nDqnUga2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImNyYW1mcyBraMO0bmcgZW5kaWFuIGzDoCAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICJs4bubbiB0csaw4bubYyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorbXNnaWQgImxpdHRsZSIKK21zZ3N0ciAibmjhu48gdHLGsOG7m2MiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxOTIKK21zZ2lkICJ1bnN1cHBvcnRlZCBmaWxlc3lzdGVtIGZlYXR1cmVzIgorbXNnc3RyICJn4bq3cCB0w61uaCBuxINuZyBo4buHIHRo4buRbmcgdOG6rXAgdGluIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1cGVyYmxvY2sgc2l6ZSAoJWQpIHRvbyBzbWFsbCIKK21zZ3N0ciAia8OtY2ggY+G7oSBzacOqdSBraOG7kWkgKCVkKSBxdcOhIG5o4buPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjAxCittc2dpZCAiemVybyBmaWxlIGNvdW50IgorbXNnc3RyICJz4buRIHThuq1wIHRpbiBraMO0bmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDUKK21zZ2lkICJmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbSIKK21zZ3N0ciAidOG6rXAgdGluIGvDqW8gZMOgaSBxdcOhIMSRaeG7g20gY3Xhu5FpIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmcgY3JhbWZzIGPFqSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgImtow7RuZyB0aOG7gyB0aOG7rSBDUkM6IMSR4buLbmggZOG6oW5nIGNyYW1mcyBjxakiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgImzhu5dpIMSR4buNYyB04bqtcCB0aW4gYuG6o24gxJHDoW5oIG3DoXkgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImzhu5dpIGNyYyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwNCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjAKK21zZ2lkICJzZWVrIGZhaWxlZCIKK21zZ3N0ciAiZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyBn4bq3cCBs4buXaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICLEkeG7jWMgcm9tZnMgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNDAKK21zZ2lkICJyb290IGlub2RlIGlzIG5vdCBkaXJlY3RvcnkiCittc2dzdHIgImlub2RlIGfhu5FjIGtow7RuZyBwaOG6o2kgdGjGsCBt4bulYyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgcm9vdCBvZmZzZXQgKCVsdSkiCittc2dzdHIgIm9mZnNldCBn4buRYyBzYWkgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAia2jhu5FpIGThu68gbGnhu4d1IHF1w6EgbOG7m24iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgImzhu5dpIGdp4bqjaSBuw6luOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIGfhurdwIGzhu5cg4bufICVsZCAoJXpkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgdW5jb21wcmVzc2luZyBibG9jayBhdCAlbHUgdG8gJWx1ICglbHUpXG4iCittc2dzdHIgIiAgxJFhbmcgZ2nhuqNpIG7DqW4ga2jhu5FpIOG7nyAlbGQgxJHhur9uICVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAia2jDoWMga2jhu5FpICglbGQpIGJ5dGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibm9uLXNpemUgKCVsZCB2cyAlbGQpIGJ5dGVzIgorbXNnc3RyICJraMOhYyBrw61jaCBj4buhICglbGQgdnMgJWxkKSBieXRlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDE1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTgKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA5IG1pc2MtdXRpbHMvdXVpZGQuYzozNjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjQwOAorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU1MSBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjY0MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM5MyB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJs4buXaSBnaGk6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24gYuG7iyBs4buXaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24gYuG7iyBs4buXaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUgZ+G6t3AgbOG7l2k6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJpbm9kZSB0aMawIG3hu6VjIGPDsyBoaeG7h3Ugc+G7kSBraMO0bmcgdsOgIGvDrWNoIGPhu6Ega2jDoWMgc+G7kSBraMO0bmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDYyCisjLCBjLWZvcm1hdAorbXNnaWQgIm1rZGlyIGZhaWxlZDogJXMiCittc2dzdHIgIm1rZGlyIGLhu4sgbOG7l2k6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDc4Cittc2dpZCAiZmlsZW5hbWUgbGVuZ3RoIGlzIHplcm8iCittc2dzdHIgInThuq1wIHRpbiBjw7MgdMOqbiBkw6BpIHPhu5Ega2jDtG5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAidOG6rXAgdGluIGPDsyB0w6puIGTDoGkgc2FpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAia2hv4bqjbmcgYsO5IChvZmZzZXQpIGlub2RlIHNhaSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICJpbm9kZSB04bqtcCB0aW4gY8OzIGhp4buHdSBz4buRIGtow7RuZyB2w6Aga8OtY2ggY+G7oSBraMOhYyBz4buRIGtow7RuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwNAorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gc2l6ZSBhbmQgbm9uLXplcm8gb2Zmc2V0IgorbXNnc3RyICJpbm9kZSB04bqtcCB0aW4gY8OzIGvDrWNoIGPhu6Egc+G7kSBraMO0bmcgdsOgIGhp4buHdSBraMOhYyBz4buRIGtow7RuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUzMworbXNnaWQgInN5bWJvbGljIGxpbmsgaGFzIHplcm8gb2Zmc2V0IgorbXNnc3RyICJsacOqbiBr4bq/dCBt4buBbSBjw7MgaGnhu4d1IHPhu5Ega2jDtG5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICJsacOqbiBr4bq/dCBt4buBbSBjw7Mga8OtY2ggY+G7oSBz4buRIGtow7RuZyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJzaXplIGVycm9yIGluIHN5bWxpbms6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBrw61jaCBj4buhIHRyb25nIGxpw6puIGvhur90IG3hu4FtOiAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU1OAorIywgYy1mb3JtYXQKK21zZ2lkICJzeW1saW5rIGZhaWxlZDogJXMiCittc2dzdHIgImxpw6puIGvhur90IG3hu4FtIGLhu4sgbOG7l2k6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZmlsZSBoYXMgbm9uLXplcm8gb2Zmc2V0OiAlcyIKK21zZ3N0ciAidOG6rXAgdGluIMSR4bq3YyBiaeG7h3QgY8OzIGhp4buHdSBraMOhYyBz4buRIGtow7RuZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIkZJRk8gY8OzIGvDrWNoIGPhu6Ega2jDoWMgc+G7kSBraMO0bmc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIuG7lSBj4bqvbSAoc29ja2V0KSBjw7Mga8OtY2ggY+G7oSBraMOhYyBz4buRIGtow7RuZzogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYm9ndXMgbW9kZTogJXMgKCVvKSIKK21zZ3N0ciAiY2jhur8gxJHhu5kgZ2nhuqM6ICVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2QgYuG7iyBs4buXaTogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgc3RhcnQgKCVsdSkgPCBzaXplb2Yoc3RydWN0IGNyYW1mc19zdXBlcikgKyBzdGFydCAoJXp1KSIKK21zZ3N0ciAixJHhuqd1IGThu68gbGnhu4d1IHRoxrAgbeG7pWMgKCVsdSkgPCBrw61jaF9j4buhKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgxJHhuqd1ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgImN14buRaSBk4buvIGxp4buHdSB0aMawIG3hu6VjICglbHUpICE9IMSR4bqndSBk4buvIGxp4buHdSB04bqtcCB0aW4gKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgInNhaSDEkeG6t3Qga2hv4bqjbmcgYsO5IChvZmZzZXQpIGThu68gbGnhu4d1IHThuq1wIHRpbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSBibG9ja3NpemUgKGvDrWNoIHRoxrDhu5tjIGto4buRaSkga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo3MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IE9LXG4iCittc2dzdHIgIiVzOiBPS1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODUKK21zZ2lkICJDaGVjayB0aGUgY29uc2lzdGVuY3kgb2YgYSBNaW5peCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJLaeG7g20gdHJhIHTDrW5oIG5o4bqldCBxdcOhbiBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIE1pbml4LlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCAgbGnhu4d0IGvDqiB04bqldCBj4bqjIHTDqm4gdOG6rXAgdGluXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSAgc+G7rWEgbOG7l2kgdOG7sSDEkeG7mW5nXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yICBz4butYSBjaOG7r2Ega2nhu4N1IHTGsMahbmcgdMOhYyB24bubaSBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgY2jhur8gxJHhu5kgY2hpIHRp4bq/dFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTEKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcyAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gY+G7p2Egc3VwZXItYmxvY2sgKHNpw6p1IGto4buRaSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tICBob+G6oXQgaMOzYSBjaOG6vyDEkeG7mSBraMO0bmcgeMOzYSBjw6FjIGPhuqNuaCBiw6FvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MworIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICBmb3JjZSBjaGVja1xuIgorbXNnc3RyICIgLWYgIMOpcCBideG7mWMga2nhu4NtIHRyYVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICh5L24vYy9rKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKG4veS9rL2MpPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgImNcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAia1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIMSRw6MgxJHGsOG7o2MgZ+G6r24uXHQgIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIkLhuqFuIGPDsyB0aOG7sWMgc+G7sSBtdeG7kW4gdGnhur9wIHThu6VjIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAia2nhu4NtIHRyYSBi4buLIGThu6tuZy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzE5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lIG5yIDwgRklSU1RaT05FIGluIGZpbGUgYCVzJy4iCittc2dzdHIgIlbDuW5nIG5yIDwgVsOZTkfEkOG6plVUScOKTiB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAiVsO5bmcgbnIgPj0gQ8OBQ1bDmU5HIHRyb25nIHThuq1wIHRpbiDigJwlc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjMyNiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNDcKK21zZ2lkICJSZW1vdmUgYmxvY2siCittc2dzdHIgIljDs2Ega2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkzhu5dpIMSR4buNYzoga2jDtG5nIHRo4buDIHTDrG0gdOG7m2kga2jhu5FpIHRyb25nIHThuq1wIHRpbiDigJwlc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICJM4buXaSDEkeG7jWM6IGto4buRaSBzYWkgdHJvbmcgdOG6rXAgdGluIOKAnCVz4oCdXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIkzhu5dpIG7hu5lpIGLhu5k6IGdoaSB2w6BvIGto4buRaSBzYWlcbiIKKyJZw6p1IGPhuqd1IGdoaSBi4buLIGLhu48gcXVhXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIGLhu4sgbOG7l2kgdHJvbmcgZ2hpX2to4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzkwCisjLCBjLWZvcm1hdAorbXNnaWQgIldyaXRlIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIkzhu5dpIGdoaToga2jhu5FpIHNhaSB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAiQ+G6o25oIGLDoW86IHPhu5EgbMaw4bujbmcgaW5vZGUgcXXDoSBs4bubbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgImRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgYuG7iyBs4buXaSB0cm9uZyBnaGlfc2nDqnVfIGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIHNpw6p1LWto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSDDoW5oIHjhuqEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGdoaSDDoW5oIHjhuqEgdsO5bmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgY8OhYyBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY0Cittc2dpZCAidW5hYmxlIHRvIGFsbG9jIGJ1ZmZlciBmb3Igc3VwZXJibG9jayIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGPhuqVwIHBow6F0IHbDuW5nIMSR4buHbSBjaG8gc2nDqnUga2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjcKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCBzdXBlciBibG9jayIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBzacOqdSBraOG7kWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInPhu5EgbWFnaWMgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICJDaOG7iSBo4buXIHRy4bujIGto4buRaS92w7luZyAxayIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkzCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInbDuW5nIHNfaW1hcF9ibG9ja3Mgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInbDuW5nIHNfaW1hcF9ibG9ja3Mgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInbDuW5nIHNfaW1hcF9ibG9ja3Mgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgInbDuW5nIHNfem1hcF9ibG9ja3Mgc2FpIHRyb25nIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gcGjhu5FpIGLhu5kgxJHhu4dtIGNobyDDoW5oIHjhuqEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gY+G6pXAgYuG7mSDEkeG7h20gY2hvIMOhbmggeOG6oSB2w7luZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjIyCittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gcGjhu5FpIGLhu5kgxJHhu4dtIGNobyBjw6FjIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIHBo4buRaSBi4buZIMSR4buHbSBjaG8gdmnhu4djIMSR4bq/bSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIHBo4buRaSBi4buZIMSR4buHbSBjaG8gdmnhu4djIMSR4bq/bSB2w7luZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjMyCittc2dpZCAiVW5hYmxlIHRvIHJlYWQgaW5vZGUgbWFwIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIMOhbmggeOG6oSBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjM2Cittc2dpZCAiVW5hYmxlIHRvIHJlYWQgem9uZSBtYXAiCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgw6FuaCB44bqhIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDAKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZXMiCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgY8OhYyBpbm9kZSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICJD4bqjbmggYsOhbzogRmlyc3R6b25lICE9IE5vcm1fZmlyc3R6b25lXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIlbGQgaW5vZGVzXG4iCittc2dzdHIgIiVsZCBpbm9kZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQga2jhu5FpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKK21zZ3N0ciAiRmlyc3RkYXRhem9uZT0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIkPhu6FfdsO5bmc9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIkPhu6FfdOG7kWlfxJFhPSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICJUcuG6oW5nIHRow6FpIGjhu4cgdGjhu5FuZyB04bqtcCB0aW49JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisiY+G7oV90w6puPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiaW5vZGUgJWQgxJHDoW5oIGThuqV1IGtow7RuZyBz4butIGThu6VuZywgbmjGsG5nIGzhuqFpIGTDuW5nIGNobyB04bqtcCB0aW4g4oCcJXPigJ1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICJE4bqldSDEkcaw4bujYyBkw7luZyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAiVOG6rXAgdGluIOKAnCVz4oCdIGPDsyBjaOG6vyDEkeG7mSAlMDVvXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcwMiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZzogaW5vZGUgY291bnQgdG9vIGJpZy5cbiIKK21zZ3N0ciAiQ+G6o25oIGLDoW86IHPhu5EgbMaw4bujbmcgaW5vZGUgcXXDoSBs4bubbi5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgImlub2RlIGfhu5FjIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICJLaOG7kWkgxJHDoyDEkcaw4bujYyBkw7luZy4gQsOieSBnaeG7nSB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ0uIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3ODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODE0CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ5IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNTgKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxNAorbXNnaWQgIkNsZWFyIgorbXNnc3RyICJYw7NhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIkto4buRaSAlZCB0cm9uZyB04bqtcCB0aW4g4oCcJXPigJ0gY8OzIGThuqV1IOKAnGtow7RuZyBkw7luZ+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MjYKK21zZ2lkICJDb3JyZWN0IgorbXNnc3RyICLEkMO6bmciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkaXJlY3RvcnkgJyVzJyBjb250YWlucyBhIGJhZCBpbm9kZSBudW1iZXIgZm9yIGZpbGUgJyUuKnMnLiIKK21zZ3N0ciAiVGjGsCBt4bulYyDigJwlc+KAnSBjaOG7qWEgbeG7mXQgc+G7kSBoaeG7h3UgaW5vZGUgc2FpIGNobyB04bqtcCB0aW4g4oCcJS4qc+KAnS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDQxCittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIELhu48iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IHRoxrAgbeG7pWMgc2FpOiDigJwu4oCdIGtow7RuZyBwaOG6o2kgxJHhu6luZyDEkeG6p3VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVzOiB0aMawIG3hu6VjIHNhaTog4oCcLi7igJ0ga2jDtG5nIHBo4bqjaSBjw6FpIHRo4bupIGhhaVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVzOiB0aMawIG3hu6VjIHNhaToga8OtY2ggY+G7oSA8IDMyIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogaW52YWxpZCBpX3pvbmUsIHVzZSAtLXJlcGFpciB0byBmaXhcbiIKK21zZ3N0ciAiJXM6IHRoxrAgbeG7pWMgc2FpOiDigJwu4oCdIGtow7RuZyBwaOG6o2kgxJHhu6luZyDEkeG6p3VcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICJkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIGtow7RuZyB0aMOgbmggY8O0bmcgdHJvbmcgYmFkX3pvbmUgKHbDuW5nX3NhaSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgbW9kZSBub3QgY2xlYXJlZC4iCittc2dzdHIgIklub2RlICVsdSBjaMawYSDEkcaw4bujYyB4w7NhLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIkNoxrBhIHPhu60gZOG7pW5nICVsdSBpbm9kZSwgY8OybiDEkcOhbmggZOG6pXUg4oCcxJHDoyBkw7luZ+KAnSB0cm9uZyDhuqNuaCBt4bqjbmcuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIsSQw6Mgc+G7rSBk4bulbmcgJWx1IGlub2RlLCBjw7JuIMSRw6FuaCBk4bqldSDigJxjaMawYSBkw7luZ+KAnSB0cm9uZyDhuqNuaCBt4bqjbmcuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY0IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjAKK21zZ2lkICJTZXQiCittc2dzdHIgIsSQ4bq3dCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2OCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVsdSAoY2jhur8gxJHhu5kgPSAlMDdvKSwgaV9ubGlua3M9JWQsIHPhu5FfbMaw4bujbmc9JWQuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIsSQ4bq3dCBpX25saW5rcyBjaG8gc+G7kSDEkeG6v20iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiVsO5bmcgJWx1OiDEkcaw4bujYyDEkcOhbmggZOG6pXUgbMOgIMSRYW5nIGTDuW5nLCBraMO0bmcgdOG6rXAgdGluIG7DoG8gZMO5bmcgbsOzLiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICJC4buPIMSRw6FuaCBk4bqldSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiVsO5bmcgJWx1OiDEkWFuZyBkw7luZywgc+G7kSBsxrDhu6NuZz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAiVsO5bmcgJWx1OiBraMO0bmcgZMO5bmcsIHPhu5EgbMaw4bujbmc9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIGlub2RlIHNhaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTMwMQorbXNnaWQgImJhZCB2MiBpbm9kZSBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIGlub2RlIHYyIHNhaSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgImPhuqduIGTDuW5nIHRoaeG6v3QgYuG7iyBjdeG7kWkgY2hvIG5o4buvbmcgc+G7rWEgY2jhu69hIHTGsMahbmcgdMOhYyBxdWEgbOG6oWkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyBz4bqhY2ggc+G6vSwga2jDtG5nIGtp4buDbSB0cmEuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uICVzLlxuIgorbXNnc3RyICJC4bqvdCBideG7mWMga2nhu4NtIHRyYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRyw6puICVzLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICJI4buHIHRo4buRbmcgdOG6rXAgdGluICVzIGLhuqluLCBj4bqnbiBraeG7g20gdHJhLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyB1c2VkICglbGQlJSlcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2bGQgaW5vZGUgxJHGsOG7o2MgZMO5bmcgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQgdsO5bmcgxJHGsOG7o2MgZMO5bmcgKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlNmQgcmVndWxhciBmaWxlc1xuIgorIiU2ZCBkaXJlY3Rvcmllc1xuIgorIiU2ZCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzXG4iCisiJTZkIGJsb2NrIGRldmljZSBmaWxlc1xuIgorIiU2ZCBsaW5rc1xuIgorIiU2ZCBzeW1ib2xpYyBsaW5rc1xuIgorIi0tLS0tLVxuIgorIiU2ZCBmaWxlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJTZkIHThuq1wIHRpbiB0aMaw4budbmdcbiIKKyIlNmQgdGjGsCBt4bulY1xuIgorIiU2ZCB04bqtcCB0aW4gdGhp4bq/dCBi4buLIGvDvSB04buxXG4iCisiJTZkIHThuq1wIHRpbiB0aGnhur90IGLhu4sga2jhu5FpXG4iCisiJTZkIGxpw6puIGvhur90XG4iCisiJTZkIGxpw6puIGvhur90IG3hu4FtXG4iCisiLS0tLS0tXG4iCisiJTZkIHThuq1wIHRpblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRFxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyJI4buGIFRI4buQTkcgVOG6rFAgVElOIELhu4ogVEhBWSDEkOG7lElcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE0MzIgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODM4CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjU0MSBkaXNrLXV0aWxzL3BhcnR4LmM6MTA1OCBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoxMTQKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjMyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0MDAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzkxIHN5cy11dGlscy9kbWVzZy5jOjY2MSBzeXMtdXRpbHMvd2RjdGwuYzozNDcKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQxMiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI5OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjM3NQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODg3IHRleHQtdXRpbHMvcGcuYzoxMjU2Cittc2dpZCAid3JpdGUgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXM6IGPDsyBs4bq9IGtow7RuZyBwaOG6o2kgbeG7mXQgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBJU08iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMSBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAibOG7l2kgxJHhu41jIHRyw6puICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgInPhu5EgY3VuZyB04burOiAlZCwga8OtY2ggY+G7oSBjdW5nIHThu6s6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8aXNvOTY2MF9pbWFnZV9maWxlPiAuLi5cbiIKK21zZ3N0ciAiICVzIFtjw6FjX3TDuXlfY2jhu41uXSA8dOG7h3BfdGluX+G6o25oX2lzbzk2NjA+XG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgxJHhu5kgZMOgaSBj4bunYSBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluIElTTy5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTxz4buRPiAgICAgIGNoaWEgdOG7lW5nIGzGsOG7o25nIGJ5dGUgdGhlbyA8c+G7kT5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU2Cittc2dpZCAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCittc2dzdHIgIiAteCwgLS1zZWN0b3JzICAgICAgICAgICBoaeG7g24gdGjhu4sgc+G7kSBsxrDhu6NuZyB2w6Aga8OtY2ggdGjGsOG7m2MgY3VuZyB04burXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE4NworbXNnaWQgImludmFsaWQgZGl2aXNvciBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgxrDhu5tjIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIGRldmljZSBbYmxvY2stY291bnRdXG4iCittc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbIHTDuXlfY2jhu41u4oCmIF0gdGhp4bq/dF9i4buLIFtz4buRX2zGsOG7o25nX2to4buRaV1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjc4Cittc2dpZCAiTWFrZSBhbiBTQ08gYmZzIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlThuqFvIG3hu5l0IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gYmZzIFNDT1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIlTDuXkgY2jhu41uOlxuIgorIiAtTiwgLS1pbm9kZXM9U+G7kCAgICAgY2jhu4kgxJHhu4tuaCBT4buQIG1vbmcgbXXhu5FuIGNobyBuw7p0XG4iCisiIC1WLCAtLXZuYW1lPVTDik4gICAgIGNo4buJIMSR4buLbmggVMOKTiBwaMOibiB2w7luZ1xuIgorIiAtRiwgLS1mbmFtZT1Uw4pOICAgICBjaOG7iSDEkeG7i25oIFTDik4gaOG7hyB0aOG7kW5nXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgZ2nhuqNpIHRow61jaCDEkcOjIGzDoG0gbmjhu69uZyBnw6xcbiIKKyIgLWMgICAgICAgICAgICAgICAgICB0w7l5IGNo4buNbiBuw6B5IMSRxqFuIGdp4bqjbiBi4buLIGzhu50gxJFpXG4iCisiIC1sICAgICAgICAgICAgICAgICAgdMO5eSBjaOG7jW4gbsOgeSDEkcahbiBnaeG6o24gYuG7iyBs4budIMSRaVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAtViBwaOG6o2kgxJHhu6luZyBt4buZdCBtw6xuaFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJz4buRIGzGsOG7o25nIGlub2RlIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTUxCittc2dpZCAidm9sdW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgInTDqm4ga2jhu5FpIHRpbiBxdcOhIGTDoGkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAidMOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIHF1w6EgZMOgaSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5NgorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgInPhu5EgbMaw4bujbmcga2jhu5FpIHNhaSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgImtow7RuZyBs4bqleSDEkcaw4bujYyBrw61jaCBj4buhICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICLEkeG7kWkgc+G7kSBraOG7kWkgcXXDoSBs4bubbiwgdOG7kWkgxJFhICVsbHUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMjQKK21zZ2lkICJ0b28gbWFueSBpbm9kZXMgLSBtYXggaXMgNTEyIgorbXNnc3RyICJxdcOhIG5oaeG7gXUgaW5vZGUgLSB04buRaSDEkWEgbMOgIDUxMiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIzNAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlLCBuZWVkIGF0IGxlYXN0ICVsbHUgYmxvY2tzIgorbXNnc3RyICJraMO0bmcgxJHhu6cgY2jhu5cgdHLhu5FuZywgY+G6p24gw610IG5o4bqldCAlbGx1IGto4buRaSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIlRoaeG6v3QgYuG7izogJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICJLaOG7kWkgdGluOiA8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICJUw6puIGjhu4cgdGjhu5FuZyB04bqtcCB0aW46IDwlLTZzPlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrU2l6ZTogJWRcbiIKK21zZ3N0ciAiS8OtY2ggY+G7oSBraOG7kWk6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAxIGJsb2NrKVxuIgorbXNnc3RyICJJbm9kZTogJWx1ICh0cm9uZyAxIGto4buRaSlcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluICVsbHUgYmxvY2tzKVxuIgorbXNnc3RyICJJbm9kZXM6ICVsdSAodHJvbmcgJWxsdSBraOG7kWkpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICJLaOG7kWk6ICVsbGRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiS+G6v3QgdGjDumMgaW5vZGU6ICVkLCBL4bq/dCB0aMO6YyBk4buvIGxp4buHdTogJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI2MgorbXNnaWQgImVycm9yIHdyaXRpbmcgc3VwZXJibG9jayIKK21zZ3N0ciAibOG7l2kgZ2hpIG5o4bubIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI4MworbXNnaWQgImVycm9yIHdyaXRpbmcgcm9vdCBpbm9kZSIKK21zZ3N0ciAibOG7l2kgZ2hpIGlub2RlIGfhu5FjIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAibOG7l2kgZ2hpIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAibOG7l2kgZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAibOG7l2kgZ2hpIG3hu6VjIG5o4bqtcCBjaOG6pW0gKC4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAibOG7l2kgZ2hpIG3hu6VjIG5o4bqtcCBjaOG6pW0gxJHDtGkgKC4uKSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICJs4buXaSDEkcOzbmcgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy10IDx0eXBlPl0gW2ZzLW9wdGlvbnNdIDxkZXZpY2U+IFs8c2l6ZT5dXG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSBbLXQgPGtp4buDdT5dIFt0w7l5IGNo4buNbiBo4buHIHRo4buRbmcgdOG6rXAgdGluXSA8dGhp4bq/dF9i4buLPiBbPGvDrWNoX2Phu6E+XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OQorbXNnaWQgIk1ha2UgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJU4bqhbyBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTxraeG7g3U+ICBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbjsga2hpIGtow7RuZyBjaOG7iSDEkeG7i25oIHRow6wgZXh0MiBz4bq9IMSRxrDhu6NjIGTDuW5nXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgZnMtb3B0aW9ucyAgICAgcGFyYW1ldGVycyBmb3IgdGhlIHJlYWwgZmlsZXN5c3RlbSBidWlsZGVyXG4iCittc2dzdHIgIiAgICAgZnMtb3B0aW9ucyAgICAgY8OhYyDEkeG7kWkgc+G7kSBkw6BuaCBjaG8gYuG7mSB4w6J5IGThu7FuZyBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRo4buxYyB04bq/XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPGRldmljZT4gICAgICAgcGF0aCB0byB0aGUgZGV2aWNlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiICAgICA8ZGV2aWNlPiAgICAgICDEkcaw4budbmcgZOG6q24gxJHhur9uIHRoaeG6v3QgYuG7iyBz4bq9IGTDuW5nXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgPHNpemU+ICAgICAgICAgbnVtYmVyIG9mIGJsb2NrcyB0byBiZSB1c2VkIG9uIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiICAgICA8c2l6ZT4gICAgICAgICBz4buRIGto4buRaSBz4bq9IMSRxrDhu6NjIGTDuW5nIHRyw6puIHRoaeG6v3QgYuG7i1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmeWluZyAtViBtb3JlIHRoYW4gb25jZSB3aWxsIGNhdXNlIGEgZHJ5LXJ1blxuIgorbXNnc3RyICIiCisiIC1WLCAtLXZlcmJvc2UgICAgICBnaeG6o2kgdGjDrWNoIMSRYW5nIGzDoG0gbmjhu69uZyBnw6w7XG4iCisiICAgICAgICAgICAgICAgICAgICAgIGNo4buJIMSR4buLbmggLVYgbmhp4buBdSBoxqFuIG3hu5l0IHPhur0gdGjhu7FjIGhp4buHbiBjaOG6oXkgdGjhu61cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAibOG7l2kgdGjhu7FjIGhp4buHbiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXNcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisiY8OhY2ggZMO5bmc6ICVzIFstaF0gWy12XSBbLWIgY+G7oV9raOG7kWldIFstZSBwaGnDqm5fYuG6o25dIFstTiBraeG7g3UteOG6v3AtYnl0ZV0gWy1pIHThuq1wX3Rpbl0gWy1uIHTDqm5dIHTDqm5fdGjGsF9t4bulYyB04bqtcF90aW5fcmFcbiIKKyIgLWggICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeVxuIgorIiAtdiAgICAgICAgIHh14bqldCBjaGkgdGnhur90XG4iCisiIC1FICAgICAgICAgbMOgbSBjaG8gbeG7jWkgY+G6o25oIGLDoW8gbMOgIGzhu5dpICh0cuG6oW5nIHRow6FpIHRob8OhdCBraMOhYyBz4buRIGtow7RuZylcbiIKKyIgLWIgY+G7oV9raOG7kWkgZMO5bmcga8OtY2ggY+G7oSBraOG7kWkgbsOgeSAocGjhuqNpIGLhurFuZyB24bubaSBrw61jaCBj4buhIHRyYW5nKVxuIgorIiAtZSBi4bqjbl9pbiAgxJHhurd0IHPhu5EgdGjhu6kgdOG7sSBi4bqjbiBpbiAocGjhuqduIGPhu6dhIGZzaWQpXG4iCisiIC1OIHRo4bupLXThu7EtYnl0ZSDEkeG6t3QgdMOsbmggdHLhuqFuZyBjdeG7kWkgY3JhbWZzOlxuIgorIiAgICAgICAgICAgICAgICAgICAgKiBiaWcgICAgICBieXRlIGzhu5tuIMSR4bupbmcgdHLGsOG7m2NcbiIKKyIgICAgICAgICAgICAgICAgICAgICogbGl0dGxlICAgYnl0ZSBuaOG7jyDEkeG7qW5nIHRyxrDhu5tjXG4iCisiICAgICAgICAgICAgICAgICAgICAqIGhvc3QgICAgIHRoZW8gbcOheSDEkWFuZyBkw7luZyht4bq3YyDEkeG7i25oKVxuIgorIiAtaSB04bqtcF90aW4gY2jDqG4gbeG7mXQg4bqjbmggdOG6rXAgdGluIHbDoG8gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiAoY+G6p24g4omlMi40LjApXG4iCisiIC1uIHTDqm4gICAgIMSR4bq3dCB0w6puIGPhu6dhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gY3JhbWZzXG4iCisiIC1wICAgICAgICAgxJHhu4dtIHRoZW8gJWQgYnl0ZSBjaG8gbcOjIGto4bufaSDEkeG7mW5nXG4iCisiIC1zICAgICAgICAgc+G6r3AgeOG6v3AgY8OhYyBt4bulYyBuaOG6rXAgdGjGsCBt4bulYyAodMO5eSBjaOG7jW4gY8WpIHRow6wgYuG7iyBs4budIMSRaSlcbiIKKyIgLXogICAgICAgICB04bqhbyBjw6FjIGzhu5cgZOG7qXQga2hvw6F0IChj4bqnbiDiiaUyLjMuMzkpXG4iCisiIHTDqm5fdGjGsF9t4bulYyBn4buRYyBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGPhuqduIG7DqW5cbiIKKyIgdOG6rXBfdGluX3JhICB04bqtcCB0aW4ga+G6v3QgeHXhuqV0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhZGxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAicmVhZGxpbmsgZ+G6t3AgbOG7l2k6ICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyB0aMawIG3hu6VjICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgImjhu4cgdGjhu5FuZyB04bqtcCB0aW4gcXXDoSBs4bubbi4gxJBhbmcgdGhvw6F0LiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVFOiBraOG7kWkgXCLEkcOjIG7DqW5cIiB0aMOgbmggPiAyKmLhu4FfZMOgaV9raOG7kWkgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCBieXRlKVx0JXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyB04bqtcCB0aW4gJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NDIKK21zZ2lkICJpbnZhbGlkIGVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBjb24gc+G7kSBwaGnDqm4gYuG6o24ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTIKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgImtp4buDdSBlbmRpYW4gKGjGsOG7m25nIGzGsHUgdHLhu68gc+G7kSkgxJHDoyBjaG8ga2jDtG5nIGjhu6NwIGzhu4c7IFBo4bqjaSBsw6Ag4oCcYmln4oCdLCDigJxsaXR0bGXigJ0sIGhheSDigJxob3N04oCdIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGd1ZXN0aW1hdGUgb2YgcmVxdWlyZWQgc2l6ZSAodXBwZXIgYm91bmQpIGlzICVsbGRNQiwgYnV0IG1heGltdW0gaW1hZ2Ugc2l6ZSBpcyAldU1CLiAgV2UgbWlnaHQgZGllIHByZW1hdHVyZWx5LiIKK21zZ3N0ciAiY+G6o25oIGLDoW86IHPhu5EgxrDhu5tjIGzGsOG7o25nIGPhu6dhIGvDrWNoIGPhu6EgecOqdSBj4bqndSAoZ2nhu5tpIGjhuqFuIHRyw6puKSBsw6AgJWxsZCBNQiwgbmjGsG5nIGvDrWNoIGPhu6Eg4bqjbmggbOG7m24gbmjhuqV0IGzDoCAldU1CLiAgQ2jDum5nIHRhIGPDsyB0aOG7gyBjaOG6v3Qgbm9uLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg0MgorbXNnaWQgIlJPTSBpbWFnZSBtYXAiCittc2dzdHIgIsOBbmggeOG6oSDhuqNuaCBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5jbHVkaW5nOiAlc1xuIgorbXNnc3RyICJCYW8gZ+G7k206ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlyZWN0b3J5IGRhdGE6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJE4buvIGxp4buHdSB0aMawIG3hu6VjOiAlemQgYnl0ZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkV2ZXJ5dGhpbmc6ICV6ZCBraWxvYnl0ZXNcbiIKK21zZ3N0ciAiTeG7jWkgdGjhu6k6ICV6ZCBraWzDtCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VwZXIgYmxvY2s6ICV6ZCBieXRlc1xuIgorbXNnc3RyICJTacOqdSBraOG7kWk6ICV6ZCBieXRlXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1JDOiAleFxuIgorbXNnc3RyICJDUkM6ICV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSBhbGxvY2F0ZWQgZm9yIFJPTSBpbWFnZSAoJWxsZCBhbGxvY2F0ZWQsICV6dSB1c2VkKSIKK21zZ3N0ciAia2jDtG5nIMSR4bunIGtob+G6o25nIHRy4buRbmcgcGjDom4gY+G6pXAgY2hvIOG6o25oIFJPTSAocGjDom4gY+G6pXAgJWxsZCwgZMO5bmcgJXp1KSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJST00gaW1hZ2Ugd3JpdGUgZmFpbGVkICglemQgJXpkKSIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIGdoaSDhuqNuaCBST00gKCV6ZCAlemQpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODk0Cittc2dpZCAiUk9NIGltYWdlIgorbXNnc3RyICLhuqJuaCBST00iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGVuYW1lcyB0cnVuY2F0ZWQgdG8gJXUgYnl0ZXMuIgorbXNnc3RyICJj4bqjbmggYsOhbzogdMOqbiB04bqtcCB0aW4gYuG7iyBj4bqvdCBuZ+G6r24gdGjDoG5oIDI1NSBieXRlLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAiY+G6o25oIGLDoW86IGPDoWMgdOG6rXAgdGluIGLhu4sgYuG7jyBxdWEgdsOsIGPDsyBs4buXaS4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZSBzaXplcyB0cnVuY2F0ZWQgdG8gJWx1TUIgKG1pbnVzIDEgYnl0ZSkuIgorbXNnc3RyICJj4bqjbmggYsOhbzoga8OtY2ggY+G7oSB04bqtcCB0aW4gYuG7iyBj4bqvdCBuZ+G6r24gdGjDoG5oICVsdU1CICh0cuG7qyAxIGJ5dGUpLiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxMQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJj4bqjbmggYsOhbzogdWlkcyBi4buLIGPhuq90IG5n4bqvbiB0aMOgbmggJXUgYml0LiAgKMSQw6J5IGPDsyB0aOG7gyBsw6Agc+G7sSBsbyBuZ+G6oWkgYuG6o28gbeG6rXQuKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICJj4bqjbmggYsOhbzogZ2lkcyBi4buLIGPhuq90IG5n4bqvbiB0aMOgbmggJXUgYml0LiAgKMSQw6J5IGPDsyB0aOG7gyBsw6Agc+G7sSBsbyBuZ+G6oWkgYuG6o28gbeG6rXQuKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisiQ+G6ok5IIELDgU86IHPhu5EgdGhp4bq/dCBi4buLIGPhuq90IG5n4bqvbiB0aMOgbmggJXUgYml0LiAgxJBp4buBdSBuw6B5IGfhuqduIGNo4bqvYyBjaOG6r24gY8OzIG5naMSpYSBsw6BcbiIKKyJt4buZdCB2w6BpIHThuq1wIHRpbiB0aGnhur90IGLhu4sgc+G6vSBi4buLIGjhu49uZy4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFsgdMO5eV9jaOG7jW7igKYgXSB0aGnhur90X2Lhu4sgW3Phu5FfbMaw4bujbmdfa2jhu5FpXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAiIC0xICAgICAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDFcbiIKK21zZ3N0ciAiIC1hICAgICAgICAgICAgICAgICAgICAgICBkw6BuaCBjaG8gbeG7pWMgxJHDrWNoIHTGsMahbmcgdGjDrWNoLCBi4buLIGLhu48gcXVhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLTIsIC12ICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gMlxuIgorbXNnc3RyICIgLXYgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHBoacOqbiBi4bqjbiBj4bunYSBjaMawxqFuZyB0csOsbmhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZMOgbmggY2hvIG3hu6VjIMSRw61jaCB0xrDGoW5nIHRow61jaCwgYuG7iyBi4buPIHF1YVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5hbWVsZW5ndGggPG51bT4gIG1heGltdW0gbGVuZ3RoIG9mIGZpbGVuYW1lc1xuIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdGluIMSR4buZIGTDoGkgdOG7kWkgxJFhIGPhu6dhIHTDqm4gdOG6rXAgdGluIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtQywgLS1jeWxpbmRlcnMgPHPhu5E+ICAgICAgICAgIGNo4buJIHJhIHPhu5EgbMaw4bujbmcgdHLhu6UgdHLhu6tcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgZ+G7oSBi4buPIG3hu5l0IGtow7NhXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIHRvIGJvb3QgYmxvY2sgZmFpbGVkICBpbiB3cml0ZV90YWJsZXMiCittc2dzdHIgIiVzOiB0w6xtIHThu5tpIGto4buRaSBraOG7n2kgxJHhu5luZyBraMO0bmcgdGjDoG5oIGPDtG5nIHRyb25nIHdyaXRlX3RhYmxlcyAoZ2hpIGPDoWMgYuG6o25nKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gY2xlYXIgYm9vdCBzZWN0b3IiCittc2dzdHIgIiVzOiBraMO0bmcgeMOzYSDEkcaw4bujYyBjdW5nIHThu6sga2jhu59pIMSR4buZbmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlczogdMOsbSB04bubaSBraMO0bmcgdGjDoG5oIGPDtG5nIHRyb25nIHdyaXRlX3RhYmxlcyAoZ2hpIGPDoWMgYuG6o25nKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgZ2hpIHNpw6p1IGto4buRaSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgaW5vZGUgbWFwIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGdoaSDDoW5oIHjhuqEgaW5vZGUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGdoaSDDoW5oIHjhuqEgdsO5bmciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnaGkgY8OhYyBpbm9kZSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgYuG7iyBs4buXaSB0cm9uZyBnaGlfa2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBnaGkgdHJvbmcgd3JpdGVfYmxvY2sgKGdoaSBraOG7kWk/KSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjIzIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjI5OAorIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MzQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0b28gbWFueSBiYWQgYmxvY2tzIgorbXNnc3RyICIlczogcXXDoSBuaGnhu4F1IGto4buRaSBzYWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGtow7RuZyDEkeG7pyBraOG7kWkgdOG7kXQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBuw7p0XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUga2jhu5FpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICJab25lc2l6ZT0lenVcbiIKK21zZ3N0ciAiWm9uZXNpemU9JXp1XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTWF4c2l6ZT0lenVcbiIKKyJcbiIKK21zZ3N0ciAiIgorIkvDrWNoIGPhu6EgdOG7kWkgxJFhPSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXM6IHTDrG0gdOG7m2kga2jDtG5nIHRow6BuaCBjw7RuZyB0cm9uZyBraGkgdGjhu60gY8OhYyBraOG7kWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiR2nDoSB0cuG7iyBr4buzIGzhuqEgdHJvbmcgZG9fY2hlY2sgKGzDoG0ga2nhu4NtIHRyYSk6IGPDsyB0aOG7gyBsw6AgbOG7l2lcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVzOiB0w6xtIHThu5tpIGtow7RuZyB0aMOgbmggY8O0bmcgdHJvbmcgY2hlY2tfYmxvY2tzIChraeG7g20gdHJhIGto4buRaSkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXM6IGto4buRaSBzYWkgdHLGsOG7m2MgdsO5bmcgZOG7ryBsaeG7h3U6IGtow7RuZyB0aOG7gyB04bqhbyByYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIGJhZCBibG9ja1xuIgorbXNnaWRfcGx1cmFsICIlZCBiYWQgYmxvY2tzXG4iCittc2dzdHJbMF0gIiVkIGto4buRaSBo4buPbmdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IGtow7RuZyBt4bufIMSRxrDhu6NjIHThuq1wIHRpbiBj4bunYSBjw6FjIGto4buRaSBzYWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWRibG9jayBudW1iZXIgaW5wdXQgZXJyb3Igb24gbGluZSAlZFxuIgorbXNnc3RyICLhu5dpIG5o4bqtcCBz4buRIGto4buRaS1zYWkgdHLDqm4gZMOybmcgJWRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyDEkeG7jWMgdOG6rXAgdGluIGto4buRaS1zYWkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICJibG9jayBzaXplIHNtYWxsZXIgdGhhbiBwaHlzaWNhbCBzZWN0b3Igc2l6ZSBvZiAlcyIKK21zZ3N0ciAia8OtY2ggY+G7oSBraOG7kWkgbmjhu48gaMahbiBrw61jaCBj4buhIGN1bmcgdOG7qyB24bqtdCBsw70gY+G7p2EgJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBxdXnhur90IMSR4buLbmgga8OtY2ggY+G7oSBj4bunYSAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZXF1ZXN0ZWQgYmxvY2tzICglbGx1KSBleGNlZWRzIGF2YWlsYWJsZSAoJWxsdSkgYmxvY2tzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXM6IHPhu5EgbMaw4bujbmcga2jhu5FpIHF1w6Egbmjhu48iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAidGhhbSBz4buRIGtow7RuZyBo4buXIHRy4bujOiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBtaW5peCBmaWxlIHN5c3RlbSB2ZXJzaW9uOiAlZCIKK21zZ3N0ciAiZ+G6t3AgdMOtbmggbsSDbmcgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0aW4gxJHhu5kgZMOgaSB04buRaSDEkWEgY+G7p2EgdMOqbiB04bqtcCB0aW4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggc+G7kSBuw7p0IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGJsb2NrcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIHPhu5Ega2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBhIGZpbGVzeXN0ZW0gaGVyZSEiCittc2dzdHIgIiVzIMSRw6MgxJHGsOG7o2MgZ+G6r24sIHPhur0ga2jDtG5nIHThuqFvIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4g4bufIMSRw6J5ISIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCYWQgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICV1IgorbXNnc3RyICJTYWkga8OtY2ggY+G7oSB0cmFuZyBkbyBuZ8aw4budaSBkw7luZyBjaOG7iSByYSAldSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAiU+G7rSBk4bulbmcga8OtY2ggY+G7oSB0cmFuZyBkbyBuZ8aw4budaSBkw7luZyBjaOG7iSByYSAlZCwgdGhheSBjaG8gZ2nDoSB0cuG7iyBo4buHIHRo4buRbmcgJWQiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTI0Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIk5ow6NuIGLhu4sgY+G6r3Qgbmfhuq9uLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAia2jDtG5nIG5ow6NuLCAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAia2jDtG5nIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhY2ggZMO5bmc6XG4iCisiJXMgW1RV4buyX0NI4buMTl0gdGhp4bq/dF9i4buLIFtrw61jaF9j4buhXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAiQ8OgaSDEkeG6t3QgdsO5bmcgdHLDoW8gxJHhu5VpIExpbnV4LlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIHTDuXkgY2jhu41uOlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIGtp4buDbSB0cmEga2jhu5FpIGjhu49uZyB0csaw4bubYyBraGkgdOG6oW8gdsO5bmcgaG/DoW4gY2h1eeG7g25cbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBjaG8gcGjDqXAga8OtY2ggdGjGsOG7m2MgdsO5bmcgaG/DoW4gY2h1eeG7g24gbOG7m24gaMahblxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoaeG6v3QgYuG7i1xuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIGNo4buJIMSR4buLbmggY+G7oSB0cmFuZyB0aGVvIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgY2jhu4kgxJHhu4tuaCBuaMOjblxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIGNo4buJIMSR4buLbmggc+G7kSBwaGnDqm4gYuG6o24gY2hvIHbDuW5nIGhvw6FuIGNodXnhu4NuXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgY2jhu4kgxJHhu4tuaCB1dWlkXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAga+G6v3QgeHXhuqV0IHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBiYWQgcGFnZXM6ICVsdSIKK21zZ3N0ciAicXXDoSBuaGnhu4F1IHRyYW5nIHNhaTogJWx1IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE5NworbXNnaWQgInNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAidMOsbSB04bubaSBraMO0bmcgdGjDoG5oIGPDtG5nIHRyb25nIGNoZWNrX2Jsb2NrcyAoa2nhu4NtIHRyYSBraOG7kWkpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmFkIHBhZ2VcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJhZCBwYWdlc1xuIgorbXNnc3RyWzBdICIlbHUgdHJhbmcgc2FpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMwCittc2dpZCAidW5hYmxlIHRvIGFsbG9jIG5ldyBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGPhuqVwIHBow6F0IMSRb+G6oW4gZMOyIGxpYmJsa2xpZCBt4bubaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMzIKK21zZ2lkICJ1bmFibGUgdG8gYXNzaWduIGRldmljZSB0byBsaWJibGtpZCBwcm9iZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGfDoW4gdGhp4bq/dCBi4buLIGNobyBi4buZIHRoxINtIGTDsiBsaWJibGtpZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogY2hlY2tpbmcgYmFkIGJsb2NrcyBmcm9tIHN3YXAgZmlsZSBpcyBub3Qgc3VwcG9ydGVkOiAlcyIKK21zZ3N0ciAiY+G6o25oIGLDoW86IHZp4buHYyBraeG7g20gdHJhIGto4buRaSBo4buPbmcgdOG7qyB04bqtcCB0aW4gdHLDoW8gxJHhu5VpIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujOiAlcyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICJraMO0bmcgdGjhu4Mg4oCcdHVhIGzhuqFp4oCdIHRoaeG6v3QgYuG7iyB0cmFvIMSR4buVaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyOTIKK21zZ2lkICJ1bmFibGUgdG8gZXJhc2UgYm9vdGJpdHMgc2VjdG9ycyIKK21zZ3N0ciAia2jDtG5nIHjDs2EgxJHGsOG7o2MgY3VuZyB04burIGJpdCBraOG7n2kgxJHhu5luZyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXM6IGPhuqNuaCBiw6FvOiB04bqpeSB4w7NhIHTDrW4gaGnhu4d1ICVzIGPFqS4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlczogY+G6o25oIGLDoW86IMSR4burbmcgeMOzYSBjdW5nIHThu6sga2jhu59pIMSR4buZbmciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAoJXMgYuG6o25nIHBow6JuIHbDuW5nIMSRxrDhu6NjIHTDrG0gdGjhuqV5KS4gIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxOAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgICAgIChjb21waWxlZCB3aXRob3V0IGxpYmJsa2lkKS4gIgorbXNnc3RyICIgICAgICAgIChiacOqbiBk4buLY2ggbcOgIGtow7RuZyBjw7MgbGliYmxraWQpLiAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiRMO5bmcgLWYgxJHhu4Mgw6lwIGJ14buZYy5cbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzaWduYXR1cmUgcGFnZSIKK21zZ3N0ciAiICVzOiBraMO0bmcgdGjhu4MgZ2hpIHRyYW5nIGNo4buvIGvDvSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODIKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgInBow6JuIHTDrWNoIGvDrWNoIGPhu6EgdHJhbmcgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzg4Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBz4buRIHBoacOqbiBi4bqjbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcHNwYWNlIHZlcnNpb24gJWQgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6MgcGhpw6puIGLhuqNuIHN3YXBzcGFjZSAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgImPhuqNuaCBiw6FvOiBi4buPIHF1YSDigJwtVeKAnSAoVVVJRHMga2jDtG5nIMSRxrDhu6NjICVzIGjhu5cgdHLhu6MpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICJoaeG7h24gdOG6oWkgY2jhu4kgbeG7mXQgdGhp4bq/dCBi4buLIGzDoG0gxJHhu5FpIHPhu5EgxJHGsOG7o2MgaOG7lyB0cuG7oyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MjMKK21zZ2lkICJlcnJvcjogcGFyc2luZyBVVUlEIGZhaWxlZCIKK21zZ3N0ciAibOG7l2k6IGfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgVVVJRCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgImzhu5dpOiBraMO0bmcgY8OzIGNo4buXIG7DoG8gxJHhu4MgY8OgaSDEkeG6t3QgYuG7mSBuaOG7myB0cmFvIMSR4buVaT8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4Cittc2dpZCAiaW52YWxpZCBibG9jayBjb3VudCBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgY2jhu4kgcmEgc+G7kSBsxrDhu6NuZyBraOG7kWkga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc2l6ZSAlbGx1IEtpQiBpcyBsYXJnZXIgdGhhbiBkZXZpY2Ugc2l6ZSAlPFBSSXU2ND4gS2lCIgorbXNnc3RyICJs4buXaToga8OtY2ggY+G7oSAlbGx1IEtpQiBs4bubbiBoxqFuIGvDrWNoIGPhu6EgdGhp4bq/dCBi4buLICVqdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzd2FwIGFyZWEgbmVlZHMgdG8gYmUgYXQgbGVhc3QgJWxkIEtpQiIKK21zZ3N0ciAibOG7l2k6IHbDuW5nIHRyYW8gxJHhu5VpIGPhuqduIMOtdCBuaOG6pXQgJWxkIEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgImPhuqNuaCBiw6FvOiDEkWFuZyBj4bqvdCBuZ+G6r24gdsO5bmcgdHJhbyDEkeG7lWkgdGjDoG5oICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgImzhu5dpOiAlcyDEkcOjIMSRxrDhu6NjIGfhuq9uOyBz4bq9IGtow7RuZyB04bqhbyB2w7luZyB0cmFvIMSR4buVaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlczogY8OzIHF1eeG7gW4ga2jDtG5nIGLhuqNvIG3huq10ICUwNG8sIMSR4buBIG5naOG7iyBkw7luZyAlMDRvLiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgZmlsZSBvd25lciAlZCwgMCAocm9vdCkgc3VnZ2VzdGVkLiIKK21zZ3N0ciAiJXM6IGNo4bunIHPhu58gaOG7r3Uga2jDtG5nIGLhuqNvIG3huq10ICVkLCDEkeG7gSBuZ2jhu4sgZMO5bmcgMCAocm9vdCkuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ4OQorbXNnaWQgIlVuYWJsZSB0byBzZXQgdXAgc3dhcC1zcGFjZTogdW5yZWFkYWJsZSIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIGPDoGkgxJHhurd0IHbDuW5nIHRyYW8gxJHhu5VpOiBraMO0bmcgdGjhu4MgxJHhu41jIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyB1cCBzd2Fwc3BhY2UgdmVyc2lvbiAlZCwgc2l6ZSA9ICVzICglPFBSSXU2ND4gYnl0ZXMpXG4iCittc2dzdHIgIsSQYW5nIGPDoGkgxJHhurd0IHbDuW5nIHRyw6FvIMSR4buVaSBwaGnDqm4gYuG6o24gJWQsIGvDrWNoIGPhu6EgPSAlcyAoJWp1IGJ5dGUpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBs4bqleSBuaMOjbiB04bqtcCB0aW4gU0VMaW51eCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTcKK21zZ2lkICJ1bmFibGUgdG8gbWF0Y2hwYXRoY29uKCkiCittc2dzdHIgImtow7RuZyB0aOG7gyBtYXRjaHBhdGhjb24oKSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjAKK21zZ2lkICJ1bmFibGUgdG8gY3JlYXRlIG5ldyBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBuZ+G7ryBj4bqjbmggU0VMaW51eCBt4bubaSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjIKK21zZ2lkICJjb3VsZG4ndCBjb21wdXRlIHNlbGludXggY29udGV4dCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHTDrW5oIG5n4buvIGPhuqNuaCBTRUxpbnV4IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjUyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVsYWJlbCAlcyB0byAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buVaSBuaMOjbiBj4bunYSAlcyB0aMOgbmggJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgInPhu5EgY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAixJFp4buDbSDEkeG6p3UgY+G7p2EgcGjDom4gdsO5bmcgdGhlbyDEkcahbiB24buLIHLDo25oIChzZWN0b3IpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODgKK21zZ2lkICJlbmQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLEkWnhu4NtIGN14buRaSBj4bunYSBwaMOibiB2w7luZyB0aGVvIMSRxqFuIHbhu4sgcsOjbmggKHNlY3RvcikiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICJz4buRIGzGsOG7o25nIGN1bmcgdOG7qyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkwCittc2dpZCAiaHVtYW4gcmVhZGFibGUgc2l6ZSIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmcga8OtY2ggdGjGsOG7m2MgY2hvIG5nxrDhu51pIMSR4buNYyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgInTDqm4gcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDggbWlzYy11dGlscy9sc2Jsay5jOjE3MworbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICJVVUlEIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgImtp4buDdSBi4bqjbmcgcGjDom4gdsO5bmcgKGRvcywgZ3B0LCDigKYpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAiY8OhYyBj4budIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAia2nhu4N1IHBow6JuIHbDuW5nIChjaHXhu5dpLCBVVUlELCBoYXkgaGV4KSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBraOG7n2kgdOG6oW8gbG9vcGN4dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogdMOsbSB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AgY2jGsGEgc+G7rSBk4bulbmcgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJ5aW5nIHRvIHVzZSAnJXMnIGZvciB0aGUgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiQ+G7kSBz4butIGThu6VuZyDigJwlc+KAnSBjaG8gdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCB04bqtcCB0aW4gxJHhu6luZyBzYXUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIGxvb3AiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgY+G7mXQ6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgbOG6pXkgc+G7kSBj4bunYSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmaWVkIHJhbmdlIDwlZDolZD4gZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAidsO5bmcgxJHDoyBjaOG7iSDEkeG7i25oIDwlZDolZD4ga2jDtG5nIHThuqFvIG7Dqm4gcGjDom4gYmnhu4d0IEhPQS90aMaw4budbmciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlczogbOG7l2kga2hpIHjDs2EgYuG7jyBwaMOibiB2w7luZyAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXM6IGzhu5dpIGtoaSB4w7NhIGLhu48gcGjDom4gdsO5bmcgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgIyVkIGLhu4sgZ+G7oSBi4buPXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgZG9lc24ndCBleGlzdFxuIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgIyVkIGNoxrBhIHThu5NuIHThuqFpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRlbGV0aW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogeMOzYSBwaMOibiB2w7luZyAjJWQgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBs4buXaSB0aMOqbSBwaMOibiB2w7luZyAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbnMgJWQtJWQiCittc2dzdHIgIiVzOiBs4buXaSBraGkgdGjDqm0gcGjDom4gdsO5bmcgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MDUgZGlzay11dGlscy9wYXJ0eC5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgIyVkIMSRxrDhu6NjIHRow6ptIHbDoG9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYWRkaW5nIHBhcnRpdGlvbiAjJWQgZmFpbGVkIgorbXNnc3RyICIlczogdGjDqm0gcGjDom4gdsO5bmcgIyVkIGfhurdwIGzhu5dpIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgY+G6rXAgbmjhuq10IHBow6JuIHbDuW5nICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGPhuq1wIG5o4bqtdCBwaMOibiB2w7luZyAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gcGFydGl0aW9uICMlZCIKK21zZ3N0ciAiJXM6IGtow7RuZyBjw7MgcGjDom4gdsO5bmcgIyVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXM6IHBow6JuIHbDuW5nICMlZCDEkcaw4bujYyB0aGF5IMSR4buVaSBrw61jaCB0aMaw4bubY1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1cGRhdGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGPhuq1wIG5o4bqtdCBwaMOibiB2w7luZyAjJWQgZ+G6t3AgbOG7l2kiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBjdW5nIHThu6ssICU2anUgTUIpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NzggbWlzYy11dGlscy9maW5jb3JlLmM6MzczIG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MjIKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ2MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjMzMworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTYxOCBzeXMtdXRpbHMvcHJsaW1pdC5jOjMwNiBzeXMtdXRpbHMvcmZraWxsLmM6NDY3CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjkzIHN5cy11dGlscy93ZGN0bC5jOjI3MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIGLhu5UgZMOybmcga+G6v3QgeHXhuqV0IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIGZpbHRlciBmb3IgJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGto4bufaSB04bqhbyBi4buZIGzhu41jIGJsa2lkIGNobyDigJwlc+KAnSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIlczogbOG7l2kgxJHhu41jIGto4buRaSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjczNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlczogdMOsbSB0aOG6pXkga2nhu4N1IGLhuqNuZyBwaMOibiB2w7luZyDigJwlc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogYuG6o25nIHBow6JuIHbDuW5nIGtow7RuZyBjw7MgcGjDom4gdsO5bmcgbsOgbyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGjDom4gdsO5bmc+XSA8xJHEqWE+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTcKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiTsOzaSBjaG8gaOG6oXQgbmjDom4gduG7gSBwaMOibiB2w7luZyBoaeG7h24gdOG6oWkgdsOgIHPhu5EgY+G7p2EgbsOzLlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCittc2dpZCAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWEsIC0tYWRkICAgICAgICAgICAgdGjDqm0gcGjDom4gdsO5bmcgxJHDoyBjaOG7iSDEkeG7i25oIGhheSB04bqldCBj4bqjIGNow7puZ1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICAgeMOzYSBwaMOibiB2w7luZyDEkcOjIGNo4buJIMSR4buLbmggaGF5IHjDs2EgdOG6pXQgY+G6oyBjaMO6bmdcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MgorbXNnaWQgIiAtdSwgLS11cGRhdGUgICAgICAgICB1cGRhdGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVwZGF0ZSAgICAgICAgIGPhuq1wIG5o4bqtdCBwaMOibiB2w7luZyDEkcOjIGNo4buJIMSR4buLbmggaGF5IHThuqV0IGPhuqMgY2jDum5nXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKK21zZ2lkICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxpc3QgcGFydGl0aW9uc1xuIgorIlxuIgorbXNnc3RyICIiCisiIC1zLCAtLXNob3cgICAgICAgICAgIGxp4buHdCBrw6ogY8OhYyBwaMOibiB2w7luZ1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwIHN5cy11dGlscy9sc21lbS5jOjUwNQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgaGnhu4NuIHRo4buLIGvDrWNoIHRoxrDhu5tjIHRoZW8gYnl0ZSB0aGF5IHbDrCDEkeG7i25oIGThuqFuZyBkw6BuaCBjaG8gY29uIG5nxrDhu51pXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIgLWcsIC0tbm9oZWFkaW5ncyAgICAga2jDtG5nIGhp4buDbiB0aOG7iyBwaOG6p24gxJHhuqd1IGNobyAtLXNob3dcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bT4gICAgICAgY2jhu4kgxJHhu4tuaCB2w7luZyBjw6FjIHBow6JuIHbDuW5nICh2w60gZOG7pTogLS1uciAyOjQpXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjcKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxkc8OhY2g+IMSR4buLbmggbmdoxKlhIHhlbSBj4buZdCBuw6BvIHPhur0gxJHGsOG7o2MgZMO5bmdcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OCBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NiBzeXMtdXRpbHMvbHNtZW0uYzo1MDMKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcga+G6v3QgeHXhuqV0IGtow7NhPVwiZ2nDoSB0cuG7i1wiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcwCisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgb3ZlcndyaXRlIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8Y+G7oT4gICAgICAgIGPhu6EgY3VuZyB04burIGzDtC1nw61jIHbhuq10IGzDvVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZVxuIgorbXNnc3RyICIgLXQsIC0tdHlwZSA8a2nhu4N1PiAgICBjaOG7iSDEkeG7i25oIGtp4buDdSBwaMOibiB2w7luZyAoZG9zLCBic2QsIHNvbGFyaXMsIHYudi4uKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzcyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1saXN0LXR5cGVzICAgICBsaXN0IHN1cHBvcnRlZCBwYXJ0aXRpb24gdHlwZXMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgIC1UIFtoYXkgLS1saXN0LXR5cGVzXTpcdFx0bGnhu4d0IGvDqiBjw6FjIGtp4buDdSBwaMOibiB2w7luZyDEkcOjIGJp4bq/dCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MyBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTAxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgY2jhur8gxJHhu5kgY2hpIHRp4bq/dFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgImzhu5dpIGtoaSBwaMOibiB0w61jaCBwaOG6oW0gdmkgLS1uciA8TS1OPiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gYW5kIGRpc2sgbmFtZSBkbyBub3QgbWF0Y2giCittc2dzdHIgIkLhuqNuZyBwaMOibiB2w7luZyBraMO0bmcgdGhheSDEkeG7lWkgKC0tbm8tYWN0KS4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5NzEKK21zZ2lkICItLW5yIGFuZCA8cGFydGl0aW9uPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLW5yIHbDoCA8cGFydGl0aW9uPiBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1IgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICJwaMOibiB2w7luZzogJXMsICDEkcSpYTogJXMsICB0aOG6pXA6ICVkLCAgIGNhbzogJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB4w7NhIGPDoWMgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVzOiB0aGnhur90IGLhu4sgbOG6t3AgKGxvb3ApIMSRw6MgcGjDom4gdsO5bmcga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDIyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBwcm9iZXIiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkga2jhu59pIHThuqFvIGLhu5kgdGjEg20gZMOyIGJsa2lkIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyAlMiRzcmF3TiA8bWFqb3I+IDxtaW5vcj5cbiIKKyIgJTEkcyAlMiRzcmF3TiAvZGV2LzxibG9ja2RldmljZT5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorbXNnc3RyICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88dGhp4bq/dGLhu4traOG7kWk+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1NworbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiQnXhu5ljIG3hu5l0IHRoaeG6v3QgYuG7iyBrw70gdOG7sSB0aMO0IHbDoG8gbeG7mXQgdGhp4bq/dCBi4buLIGto4buRaS5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAgxJHhurd0IGNo4bq/IMSR4buZIHRydXkgduG6pW5cbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICBxdWVyeSBhbGwgcmF3IGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIHRydXkgduG6pW4gbeG7jWkgdGhp4bq/dCBi4buLIHRow7RcbiIKKworIzogZGlzay11dGlscy9yYXcuYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgdGhlIGNvbnRyb2wgcmF3IGRldmljZSAodXNlIHJhdzxOPiB3aGVyZSA8Tj4gaXMgZ3JlYXRlciB0aGFuIHplcm8pIgorbXNnc3RyICJUaGnhur90IGLhu4sg4oCcJXPigJ0gbMOgIHRoaeG6v3QgYuG7iyB0aMO0IMSRaeG7gXUga2hp4buDbiAoaMOjeSBkw7luZyB0aMO0PE4+IG3DoCA8Tj4gbOG7m24gaMahbiBz4buRIGtow7RuZykiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIktow7RuZyB0aOG7gyBj4bqlcCBwaMOhdCB0aGnhur90IGLhu4sgdGjDtCDigJwlc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICJUaGnhur90IGLhu4sg4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSB0aGnhur90IGLhu4sga2jhu5FpIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE5NiBkaXNrLXV0aWxzL3Jhdy5jOjE5OSBzeXMtdXRpbHMvaXBjcm0uYzozNTIKKyM6IHN5cy11dGlscy9pcGNybS5jOjM2NiBzeXMtdXRpbHMvaXBjcm0uYzozODAKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCDEkeG7kWkgc+G7kSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdGhp4bq/dCBi4buLIGNo4bunIHRow7Qg4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgdGhp4bq/dCBi4buLIHRow7Qg4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBjLWZvcm1hdAorbXNnaWQgIlJhdyBkZXZpY2UgJyVzJyBpcyBub3QgYSBjaGFyYWN0ZXIgZGV2IgorbXNnc3RyICJUaGnhur90IGLhu4sgdGjDtCDigJwlc+KAnSBraMO0bmcgcGjhuqNpIG3hu5l0IHRoaeG6v3QgYuG7iyBrw70gdOG7sSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIOKAnCVz4oCdIGtow7RuZyBwaOG6o2kgbeG7mXQgdGhp4bq/dCBi4buLIHRow7QiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjQ5Cittc2dpZCAiRXJyb3IgcXVlcnlpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAiTOG7l2kgaOG7j2kgdGhp4bq/dCBi4buLIHRow7QiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU4IGRpc2stdXRpbHMvcmF3LmM6MjczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzcmF3JWQ6ICBib3VuZCB0byBtYWpvciAlZCwgbWlub3IgJWRcbiIKK21zZ3N0ciAiJXNyYXclZDogIGJpw6puIGjhuqFuIHPhu5EgbOG7m24gJWQsIG5o4buPICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCittc2dpZCAiRXJyb3Igc2V0dGluZyByYXcgZGV2aWNlIgorbXNnc3RyICJM4buXaSDEkeG6t3QgdGhp4bq/dCBi4buLIHRow7QiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPHRoaeG6v3QgYuG7iyDEkcSpYT4gPHPhu5EgcGjDom4gdsO5bmc+IDzEkeG7mSBkw6BpPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyNAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIkNobyBuaMOibiBiaeG6v3QgY+G7oSBt4bubaSBj4bunYSBwaMOibiB2w7luZy5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IMSRaeG7g20gYuG6r3QgxJHhuqd1IGPhu6dhIHBow6JuIHbDuW5nIHPhu5EgJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICJ0aGF5IMSR4buVaSBrw61jaCB0aMaw4bubYyBwaMOibiB2w7luZyBn4bq3cCBs4buXaSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMzIKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiBi4buVIG5n4buvIGPhuqNuaCBsaWJmZGlzayBs4buTbmcgbmhhdSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNlZWsgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlMTJzIChvZmZzZXQgJTVqdSwgc2l6ZSAlNWp1KTogJXMiCittc2dzdHIgIiUxMnM6IChoaeG7h3UgPSAlanUsIGPhu6EgPSAlanUpOiAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgdOG6oW8gbeG7mXQgYuG6o24gZOG7sSBwaMOybmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAgZmlsZSwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gbeG7mXQgc2FvIGzGsHUgY2jhu68ga8O9LCBjaMawYSDEkeG7i25oIG5naMSpYSBiaeG6v24gJEhPTUUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiVOG6rXAgdGluIHNhbyBsxrB1IGThu7EgcGjDsm5nOiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7jWMgYuG6o25nIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIChvZmZzZXQ9JWp1KSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzaXplIG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBs4bqleSDEkWnhu4NtIGLhuq90IMSR4bqndSBj4bunYSBwaMOibiB2w7luZyBz4buRICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBs4bqleSDEkWnhu4NtIGLhuq90IMSR4bqndSBj4bunYSBwaMOibiB2w7luZyBz4buRICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IMSRaeG7g20gYuG6r3QgxJHhuqd1IGPhu6dhIHBow6JuIHbDuW5nIHPhu5EgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc3RhcnQgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IMSRaeG7g20gYuG6r3QgxJHhuqd1IGPhu6dhIHBow6JuIHbDuW5nIHPhu5EgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBs4bqleSDEkWnhu4NtIGLhuq90IMSR4bqndSBj4bunYSBwaMOibiB2w7luZyBz4buRICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM5MgorbXNnaWQgIm5ldyBwYXJ0aXRpb24gaXMgc21hbGxlciB0aGFuIG9yaWdpbmFsOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0MgorbXNnaWQgIkRhdGEgbW92ZToiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gYuG6o24gxJHDoW5oIG3DoXkgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiBvbGQgc3RhcnQ6ICVqdSwgbmV3IHN0YXJ0OiAlanUgKG1vdmUgJWp1IHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gbW92ZSBwYXJ0aXRpb24gZGF0YT8iCittc2dzdHIgIkLhuqFuIGPDsyBtdeG7kW4gZ2hpIGzDqm4gxJHEqWE/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiUuG7nWkgYuG7jy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXM6IGtow7RuZyBt4bufIMSRxrDhu6NjIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0MgorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaXMgdW5jaGFuZ2VkICgtLW5vLWFjdCkuIgorbXNnc3RyICJC4bqjbmcgcGjDom4gdsO5bmcga2jDtG5nIHRoYXkgxJHhu5VpICgtLW5vLWFjdCkuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjU0OAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisiXG4iCisiQuG6o25nIHBow6JuIHbDuW5nIMSRw6MgYuG7iyB0aGF5IMSR4buVaSEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgImtow7RuZyBo4buXIHRy4bujIG5ow6NuIMSRxKlhIOKAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQgIFTDqm5cbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NjQKK21zZ2lkICJ1bnJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlIHR5cGUiCittc2dzdHIgImtp4buDdSBi4bqjbmcgcGjDom4gdsO5bmcga2jDtG5nIG5o4bqtbiByYSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkga8OtY2ggY+G7oSBj4bunYSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAidOG7lW5nIHPhu5E6ICVqdSBraOG7kWlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MTYgZGlzay11dGlscy9zZmRpc2suYzo4OTQgZGlzay11dGlscy9zZmRpc2suYzo5MzUKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTY1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzMiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwOTYKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1MSBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMDcgZGlzay11dGlscy9zZmRpc2suYzoxNTYxCittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSBjaOG7iSDEkeG7i25oIHRoaeG6v3QgYuG7iyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHN3aXRjaCB0byBQTUJSIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdHLhuqFuZyB0aMOhaSAoc3RhdCkgduG7gSAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICJi4bqtdC904bqvdCBjw6FjIGPhu50ga2jhu59pIMSR4buZbmcgY2jhu4kgaOG7lyB0cuG7oyB24bubaSBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIHPhu5EgY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJWQ6IGZhaWxlZCB0byB0b2dnbGUgYm9vdGFibGUgZmxhZyIKK21zZ3N0ciAiJXM6IHBow6JuIHbDuW5nICVkOiBn4bq3cCBs4buXaSBraGkgYuG6rXQvdOG6r3QgY+G7nSBraOG7n2kgxJHhu5luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgJXp1OiBn4bq3cCBs4buXaSBraGkgbOG6pXkga2nhu4N1IGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIGtow7RuZyBjaOG7qWEgYuG6o25nIHBow6JuIHbDuW5nIMSRxrDhu6NjIGJp4bq/dC4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTc2Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGR1bXAgc3RydWN0IgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gYuG7lSBj4bqldSB0csO6YyDEkeG7lSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7lSBi4bqjbmcgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAiJXM6IGtow7RuZyB0w6xtIHRo4bqleSBi4bqjbmcgcGjDom4gdsO5bmcuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczogYuG6o25nIHBow6JuIHbDuW5nICV6dTogYuG6o25nIHBow6JuIHbDuW5nIGNo4buJIGNo4bupYSAlenUgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiJXM6IFBow6JuIHbDuW5nICV6dTogcGjDom4gdsO5bmcgY2jGsGEgxJHGsOG7o2MgZMO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKK21zZ2lkICJubyBwYXJ0aXRpb24gbnVtYmVyIHNwZWNpZmllZCIKK21zZ3N0ciAiY2jGsGEgY2jhu4kgcmEgc+G7kSBj4bunYSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICJn4bq3cCBz4buRIGPDoWMgxJHhu5FpIHPhu5Ega2jDtG5nIGPhuqduIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIiVzOiBwaMOibiB2w7luZyAlenU6IGfhurdwIGzhu5dpIGtoaSBs4bqleSBraeG7g3UgY+G7p2EgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIHBow6JuIHbDuW5nIOKAnCVz4oCdIGtp4buDdSDigJwlc+KAnSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgJXp1OiBn4bq3cCBs4buXaSBraGkgxJHhurd0IGtp4buDdSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgJXp1OiBn4bq3cCBs4buXaSBraGkgbOG6pXkgbcOjIHPhu5EgdGhp4bq/dCBi4buLIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMzEgZGlzay11dGlscy9zZmRpc2suYzoxMTg2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0MAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgY+G6pXAgcGjDoXQgxJHhu5FpIHTGsOG7o25nIGLhuqNuZyBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgJXp1OiBn4bq3cCBs4buXaSBraGkgxJHhurd0IG3DoyBz4buRIHRoaeG6v3QgYuG7iyBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgJXp1OiBn4bq3cCBs4buXaSBraGkgbOG6pXkgdMOqbiBj4bunYSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlczogcGjDom4gdsO5bmcgJXp1OiBn4bq3cCBs4buXaSBraGkgxJHhurd0IHTDqm4gY2hvIHBow6JuIHbDuW5nIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVzOiBwaMOibiB2w7luZyAlenU6IGfhurdwIGzhu5dpIGtoaSDEkeG6t3QgdGh14buZYyB0w61uaCBj4bunYSBwaMOibiB2w7luZyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg3Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICJM4buHbmg6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4OQorbXNnaWQgIiAgIHdyaXRlICAgIHdyaXRlIHRhYmxlIHRvIGRpc2sgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgd3JpdGUgICAgZ2hpIGLhuqNuZyBwaMOibiB2w7luZyBsw6puIMSRxKlhIHbDoCB0aG/DoXRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiAgIHF1aXQgICAgIGhp4buDbiB0aOG7iyB0w6xuaCB0cuG6oW5nIG3hu5tpIHbDoCDEkeG7o2kgcGjhuqNuIGjhu5NpIGPhu6dhIG5nxrDhu51pIGTDuW5nIHRyxrDhu5tjIGtoaSBnaGlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiICAgYWJvcnQgICAgdGhvw6F0IGto4buPaSBo4buHIHbhu48gc2ZkaXNrXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorIywgZnV6enkKK21zZ2lkICIgICBwcmludCAgICBkaXNwbGF5IHRoZSBwYXJ0aXRpb24gdGFibGVcbiIKK21zZ3N0ciAiICAgcHJpbnQgICAgaW4gcmEgYuG6o25nIHBow6JuIHbDuW5nLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeS5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1CisjLCBmdXp6eQorbXNnaWQgIiAgIEN0cmwtRCAgIHRoZSBzYW1lIGFzICdxdWl0J1xuIgorbXNnc3RyICIgICBDVFJMLUQgICBnaeG7kW5nIHbhu5tpIGzhu4duaCDigJxxdWl04oCdXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5OQorbXNnaWQgIiBJbnB1dCBmb3JtYXQ6XG4iCittc2dzdHIgIsSQ4buLbmggZOG6oW5nIMSR4bqndSB2w6BvOlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA8xJHhuqd1PiwgPGPhu6E+LCA8a2nhu4N1PiwgPGto4bufaSDEkeG7mW5nIMSRxrDhu6NjPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDQKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorIiAgIDzEkeG6p3U+ICAgIGLhuq90IGThuqd1IHBow6JuIHbDuW5nIHTDrW5oIHRoZW8gY3VuZyB04burIGhv4bq3YyBieXRlIG7hur91XG4iCisiICAgICAgICAgICAgICAgIGNo4buJIMSR4buLbmggdGhlbyDEkeG7i25oIGThuqFuZyA8c+G7kT57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICAgICAgTeG6t2MgxJHhu4tuaCBsw6AgxJHhuqd1IGNo4buXIHRy4buRbmcuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwOQorIywgZnV6enkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPGPhu6E+ICAgIGPhu6EgY+G7p2EgcGjDom4gdsO5bmcgdMOtbmggdGhlbyBjdW5nIHThu6sgaGF5IGNo4buJIHJhIHRoZW9cbiIKKyIgICAgICAgICAgICDEkeG7i25oIGThuqFuZyA8c+G7kT57SyxNLEcsVCxQLEUsWixZfSB0aOG6vyB0aMOsIG7DsyDEkcaw4bujYyBiacOqblxuIgorIiAgICAgICAgICAgIGThu4tjaCBsw6AgdGhlbyBieXRlLiBN4bq3YyDEkeG7i25oIGzDoCBt4buNaSB2w7luZyB0cuG7kW5nIHPhurVuIGPDs1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTQKKyMsIGZ1enp5Cittc2dpZCAiICAgPHR5cGU+ICAgVGhlIHBhcnRpdGlvbiB0eXBlLiAgRGVmYXVsdCBpcyBhIExpbnV4IGRhdGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICIgICA8a2nhu4N1PiAga2nhu4N1IHBow6JuIHbDuW5nLiBN4bq3YyDEkeG7i25oIGzDoCBwaMOibiB2w7luZyBk4buvIGxp4buHdSBMaW51eC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIE1CUjogaGV4IG9yIEwsUyxFLFgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIgICAgICAgICAgICBNQlI6IGhleCBoYXkgcGjDrW0gdOG6r3QgTCxTLEUsWC5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgIEdQVDogVVVJRCBvciBMLFMsSCxVLFIsViBzaG9ydGN1dHMuXG4iCittc2dzdHIgIiAgICAgICAgICAgIEdQVDogdXVpZCBoYXkgcGjDrW0gdOG6r3QgTCxTLEguXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorIywgZnV6enkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAiICAgPGto4bufaSDEkeG7mW5nIMSRxrDhu6NjPiAg4oCcKuKAnSDEkcOhbmggZOG6pXUgYuG6o25nIE1CUiBsw6Aga2jhu59pIMSR4buZbmcgxJHGsOG7o2MuIFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMjMKK21zZ2lkICIgRXhhbXBsZTpcbiIKK21zZ3N0ciAiVsOtIGThu6U6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyNQorIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgICwgNEcgICAgIHThuqFvIHBow6JuIHbDuW5nIDRHaUIgdHLDqm4gduG7iyB0csOtIGLDuSBt4bq3YyDEkeG7i25oIMSR4bqndSB0acOqbi5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJs4buHbmgga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICJkw7JuZyAlZDogbOG7h25oIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICIlczogdGhp4bq/dCBi4buLIGPDsyBjaOG7qWEgY2jhu68ga8O9IGtow7RuZyBo4bujcCBs4buHIOKAnCVz4oCdLCBraHV54bq/biBuZ2jhu4sgYuG6oW4gdOG6qXkgdGhp4bq/dCBi4buLIGLhurFuZyBs4buHbmggd2lwZWZzKDgpIG7hur91IG7DsyBraMO0bmcgbmjGsCBtb25nIMSR4bujaSwgY+G7kXQgxJHhu4MgbcOgIHRyw6FuaCB4dW5nIMSR4buZdCBjw7MgdGjhu4MgeOG6o3kgcmEuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgImfhurdwIGzhu5dpIGPhuqVwIHBow6F0IHTDqm4gcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzY3JpcHQgaGFuZGxlciIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGPhuqVwIHBow6F0IGPDoW4gY+G7p2EgdsSDbiBs4buHbmgiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4Mgc+G7rWEgcGjDom4gdsO5bmcgJWQsIGtow7RuZyB0w6xtIHRo4bqleSBi4bqjbmcgcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHPhu61hIHBow6JuIHbDuW5nICVkLCBi4bqjbmcgcGjDom4gdsO5bmcgY2jhu4kgY2jhu6lhICV6dSBwaMOibiB2w7luZyBtw6AgdGjDtGkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXM6IHBhcnRpdGlvbiAlZCBpcyBub3QgZGVmaW5lZCB5ZXQiCittc2dzdHIgIktow7RuZyBjw7MgcGjDom4gdsO5bmcgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEhIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIldlbGNvbWUgdG8gc2ZkaXNrICglcykuIgorbXNnc3RyICIiCisiXG4iCisiQ2jDoG8gbeG7q25nIGLhuqFuIGTDuW5nIGZkaXNrICglcykuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKK21zZ2lkICJDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiIKK21zZ3N0ciAixJBhbmcga2nhu4NtIHRyYSB4ZW0gxJHhu4MgY2jhuq9jIGNo4bqvbiBsw6Aga2jDtG5nIGPDsyBhaSDEkcOzIMSRYW5nIHPhu60gZOG7pW5nIMSRxKlhIG7DoHnigKYiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIgQuG7iiBM4buWSVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjgKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIsSQxKlhIG7DoHkgaGnhu4duIHThuqFpIMSRYW5nIMSRxrDhu6NjIHPhu60gZOG7pW5nIC0gcGjDom4gdsO5bmcgbOG6oWkga2jDtG5nIHBo4bqjaSBsw6Agw70gdMaw4bufbmdcbiIKKyJoYXkuIEjDo3kgQuG7jyBn4bqvbiB04bqldCBj4bqjIGPDoWMgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiwgdsOgIHThuq90IChzd2Fwb2ZmKSBjw6FjIHBow6JuIHbDuW5nIHRyYW8gxJHhu5VpXG4iCisidHLDqm4gxJHEqWEgbsOgeS4gU+G7rSBk4bulbmcg4oCcLS1uby1yZXJlYWTigJ0gxJHhu4MgYuG7jyBraeG7g20gdHJhIG7DoHkuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYzMworbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICJT4butIGThu6VuZyB0w7l5IGNo4buNbiAtLWZvcmNlIMSR4buDIGLDo2kgYuG7jyBt4buNaSBraeG7g20gdHJhLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1Cittc2dpZCAiIgorIiBPS1xuIgorIlxuIgorbXNnc3RyICIiCisiT0tcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjQ3Cittc2dpZCAiIgorIlxuIgorIk9sZCBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiVHLhuqFuZyB0aMOhaSBjxak6IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorInNmZGlzayBpcyBnb2luZyB0byBjcmVhdGUgYSBuZXcgJyVzJyBkaXNrIGxhYmVsLlxuIgorIlVzZSAnbGFiZWw6IDxuYW1lPicgYmVmb3JlIHlvdSBkZWZpbmUgYSBmaXJzdCBwYXJ0aXRpb25cbiIKKyJ0byBvdmVycmlkZSB0aGUgZGVmYXVsdC4iCittc2dzdHIgIiIKKyJcbiIKKyJzZmRpc2sgc+G6vSB04bqhbyBuaMOjbiDEkcSpYSDigJwlc+KAnSBt4bubaS5cbiIKKyJEw7luZyDigJxsYWJlbDogPHTDqm4+4oCdIHRyxrDhu5tjIGtoaSBi4bqhbiDEkeG7i25oIG5naMSpYSBwaMOibiB2w7luZyDEkeG6p3UgdGnDqm5cbiIKKyLEkeG7gyBtw6AgxJHDqCBsw6puIG3hurdjIMSR4buLbmguIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyJIw6N5IGfDtSBs4buHbmgg4oCcJXMgLS1oZWxw4oCdIMSR4buDIHTDrG0gdGjhuqV5IHRow7RuZyB0aW4gdGjDqm0uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY4NgorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICJN4buNaSBwaMOibiB2w7luZyDEkcOjIMSRxrDhu6NjIGTDuW5nLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0CisjLCBmdXp6eQorbXNnaWQgIkRvbmUuXG4iCittc2dzdHIgIsSQw6MgeG9uZy4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorIywgZnV6enkKK21zZ2lkICJJZ25vcmluZyBwYXJ0aXRpb24uIgorbXNnc3RyICJC4buPIHF1YSBwaMOibiB2w7luZyAlenUuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MzUgZGlzay11dGlscy9zZmRpc2suYzoxNzk1Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMOhcCBk4bulbmcgcGjhuqduIMSR4bqndSB2xINuIGzhu4duaCwgbmjDo24gxJFpYSBjaMawYSB04bqhby4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCAjJWQgcGFydGl0aW9uIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgdGjDqm0gcGjDom4gdsO5bmciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc3NworbXNnaWQgIlNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuIgorbXNnc3RyICJQaOG6p24gxJHhuqd1IHbEg24gbOG7h25oIMSRxrDhu6NjIGNo4bqlcCB0aHXhuq1uLiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODAyCittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICIiCisiXG4iCisiVHLhuqFuZyB0aMOhaSBt4bubaToiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgxMgorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIkLhuqFuIGPDsyBtdeG7kW4gZ2hpIGzDqm4gxJHEqWE/IgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICJS4budaSBi4buPLlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZGV2PiBbWy1OXSA8cGFydD5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIDx0aGnhur90LWLhu4s+IFtbLU5dIDxwaOG6p24+XVxuIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8bOG7h25oPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgLWEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiDigKZdIGxp4buHdCBrw6ogaG/hurdjIMSR4bq3dCBjw6FjIHBow6JuIHbDuW5nIE1CUiBraOG7n2kgxJHhu5luZyDEkcaw4bujY1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIMSR4buVIGLhuqNuZyBwaMOibiB2w7luZyAoY8OzIHRo4buDIGTDuW5nIGzDoG0gxJHhuqd1IHbDoG8gc2F1IG7DoHkpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlIGluIEpTT04gZm9ybWF0XG4iCittc2dzdHIgIiAtZCwgLS1kdW1wIDxkZXY+ICAgICAgICAgICAgICAgICAgxJHhu5UgYuG6o25nIHBow6JuIHbDuW5nIChjw7MgdGjhu4MgZMO5bmcgbMOgbSDEkeG6p3UgdsOgbyBzYXUgbsOgeSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ5Cittc2dpZCAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzxkZXY+IC4uLl0gICBsaXN0IGdlb21ldHJ5IG9mIGFsbCBvciBzcGVjaWZpZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWcsIC0tc2hvdy1nZW9tZXRyeSBbPGRldj4g4oCmXSAgIGxp4buHdCBrw6ogaMOsbmggaOG7jWMgY+G7p2EgdGhp4bq/dCBi4buLIMSRw6MgY2hvIGhv4bq3YyBt4buNaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCBbPGRldj4g4oCmXSAgICAgICAgICAgICAgbGnhu4d0IGvDqiBjw6FjIHBow6JuIHbDuW5nIGPhu6dhIHThu6tuZyB0aGnhur90IGLhu4tcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUxCisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgWzxkZXY+IOKApl0gICAgICAgICAgICAgIGxp4buHdCBrw6ogY8OhYyBwaMOibiB2w7luZyBj4bunYSB04burbmcgdGhp4bq/dCBi4buLXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtYSwgLS1hZGQgICAgICAgICAgICB0aMOqbSBwaMOibiB2w7luZyDEkcOjIGNo4buJIMSR4buLbmggaGF5IHThuqV0IGPhuqMgY2jDum5nXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MworbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNob3ctc2l6ZSBbPGRldj4g4oCmXSAgICAgICAgIGxp4buHdCBrw6ogY8OhYyBj4buhIGPhu6dhIG3hu41pIGhheSB04burbmcgdGhp4bq/dCBi4buLIMSRw6MgY2hvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgY8OhYyBraeG7g3UgxJHGsOG7o2MgY2jhuqVwIG5o4bqtbiAoeGVtIC1YKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgICAgICAgICBraeG7g20gdHJhIHhlbSBwaMOibiB2w7luZyDEkcOjIMSRw7puZyBjaMawYVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRlbGV0ZSA8ZGV2PiBbPHBhcnQ+IC4uLl0gICBkZWxldGUgYWxsIG9yIHNwZWNpZmllZCBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtYSwgLS1hY3RpdmF0ZSA8ZGV2PiBbPHBhcnQ+IOKApl0gbGnhu4d0IGvDqiBob+G6t2MgxJHhurd0IGPDoWMgcGjDom4gdsO5bmcgTUJSIGto4bufaSDEkeG7mW5nIMSRxrDhu6NjXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIgLS1wYXJ0LWxhYmVsIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIGluIGhheSDEkeG7lWkgbmjDo24gcGjDom4gdsO5bmdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYwCittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBpbiBob+G6t2MgxJHhu5VpIGtp4buDdSBwaMOibiB2w7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjEKK21zZ2lkICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gdXVpZFxuIgorbXNnc3RyICIgLS1wYXJ0LXV1aWQgPGRldj4gPHBhcnQ+IFs8dXVpZD5dIGluIGhheSDEkeG7lWkgdXVpZCBj4bunYSBwaMOibiB2w7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIGluIGhheSDEkeG7lWkgY8OhYyB0aHXhu5ljIHTDrW5oIGPhu6dhIHBow6JuIHbDuW5nXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIMSRxrDhu51uZyBk4bqrbiB0aGnhur90IGLhu4sgKHRoxrDhu51uZyBsw6AgxJHEqWEpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NgorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgc+G7kSBwaMOibiB2w7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjcKK21zZ2lkICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBwYXJ0aXRpb24gdHlwZSwgR1VJRCBmb3IgR1BULCBoZXggZm9yIE1CUlxuIgorbXNnc3RyICIgPHR5cGU+ICAgICAgICAgICAgICAgICAgICBraeG7g3UgcGjDom4gdsO5bmcsIEdVSUQgY2hvIEdQVCwgaGV4IGNobyBNQlJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLUEsIC0tYXBwZW5kICAgICAgICAgICAgICB0aMOqbSBjw6FjIHBow6JuIHbDuW5nIHPhurVuIGPDsyB2w6BvIGLhuqNuZyBwaMOibiB2w7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAgc2FvIGzGsHUgY8OhYyBjdW5nIHThu6sgYuG6o25nIHBow6JuIHbDuW5nICh4ZW0gLU8pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MgorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBrw61jaCB0aMaw4bubYyB0aGVvIGJ5dGUgdGhheSB2w6wgxJHhu4tuaCBk4bqhbmcgZMOgbmggY2hvIGNvbiBuZ8aw4budaVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzMKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0Cittc2dpZCAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgdOG6r3QgbeG7jWkga2nhu4NtIHRyYSB0b8OgbiB24bq5blxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKyIgLUwgLS1jb2xvcls9PGtoaT5dICAgICAgdMO0IHPDoW5nIGvhur90IHh14bqldCA8a2hpPjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChhdXRvICAgIHThu7EgxJHhu5luZyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHdheXMgIGx1w7RuIGhv4bq3Y1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldmVyICAga2jDtG5nIGJhbyBnaeG7nSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc4Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIGNo4buJIMSR4buLbmggc+G7kSBwaMOibiB2w7luZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgbMOgbSBt4buNaSB0aOG7qSBuZ2/huqFpIHRy4burIGdoaSBsw6puIHRoaeG6v3QgYuG7i1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODAKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBraMO0bmcgY+G6p24ga2nhu4NtIHRyYSB4ZW0gdGhp4bq/dCBi4buLIGPDsyDEkWFuZyDEkcaw4bujYyBkw7luZyBoYXkga2jDtG5nXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIMSR4burbmcgY+G6r3Qgbmfhuq9uIGvhur90IHh14bqldFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODIKK21zZ2lkICIgLU8sIC0tYmFja3VwLWZpbGUgPHBhdGg+ICBvdmVycmlkZSBkZWZhdWx0IGJhY2t1cCBmaWxlIG5hbWVcbiIKK21zZ3N0ciAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgxJHDqCBsw6puIHTDqm4gdOG6rXAgdGluIHNhbyBsxrB1IGThu7EgcGjDsm5nIG3hurdjIMSR4buLbmhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8ZC5zw6FjaD4gIGhp4buDbiB0aOG7iyBjw6FjIGPhu5l0XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgY2jhurduIGPDoWMgdGjDtG5nIHRpbiB0aMO0bmcgYsOhbyBt4bufIHLhu5luZ1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODUKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgd2lwZSBzaWduYXR1cmVzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9PGtoaT5dICAgICAgICAgdMO0IG3DoHUgdGjDtG5nIMSRaeG7h3AgKOKAnGF1dG/igJ0uIOKAnGFsd2F5c+KAnSBoYXkg4oCcbmV2ZXLigJ0uXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NworbXNnaWQgIiAtWCwgLS1sYWJlbCA8bmFtZT4gICAgICAgIHNwZWNpZnkgbGFiZWwgdHlwZSAoZG9zLCBncHQsIC4uLilcbiIKK21zZ3N0ciAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgY2jhu4kgxJHhu4tuaCBraeG7g3UgbmjDo24gKGRvcywgZ3B0LCDigKYpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIgLVksIC0tbGFiZWwtbmVzdGVkIDxuYW1lPiBjaOG7iSDEkeG7i25oIGtp4buDdSBuaMOjbiBs4buTbmcgbmhhdSAoZG9zLCBic2QpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorbXNnaWQgIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRlcHJlY2F0ZWQsIG9ubHkgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiIKK21zZ3N0ciAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgxJHDoyBs4bqhYyBo4bqtdSwgZMOgbmggY2hvIG3hu6VjIMSRw61jaCB0xrDGoW5nIHRow61jaCBuZ8aw4bujY1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKK21zZ2lkICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IHNlY3RvciB1bml0IGlzIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLXUsIC0tdW5pdCBTICAgICAgICAgICAgICDEkcOjIGzhuqFjIGjhuq11LCBjaOG7iSDEkcahbiB24buLIGN1bmcgdOG7qyDEkcaw4bujYyBo4buXIHRy4bujXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiJXMgxJHDoyBs4buXaSB0aOG7nWkgdHJvbmctLS1wYXJ0LXR5cGUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxNQorbXNnaWQgIi0taWQgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgLS1wYXJ0LXR5cGUiCittc2dzdHIgIi0taWQgxJHDoyBs4buXaSB0aOG7nWkgdHJvbmcgLS0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMzEKK21zZ2lkICItLXNob3ctcHQtZ2VvbWV0cnkgaXMgbm8gbW9yZSBpbXBsZW1lbnRlZC4gVXNpbmcgLS1zaG93LWdlb21ldHJ5LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiVMO5eSBjaOG7jW4gLS1MaW51eCBsw6Aga2jDtG5nIGPhuqduIHRoaeG6v3QgdsOgIMSRw6MgbOG7l2kgdGjhu51pIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyDEkcahbiB24buLIOKAnCVj4oCdIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAi4oCcJXPigJ0gdOG7qyBnw7NpIHBo4bqnbiBt4buBbSDigJwlc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxNTIKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCBVVUlEOiAlcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlczogbOG7l2kgZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyB04bubaSBVVUlEIHRyYW8gxJHhu5VpIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXM6IGzhu5dpIGdoaSBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2VlayB0byBzd2FwIGxhYmVsICIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIHThu5tpIG5ow6NuIHRyYW8gxJHhu5VpICIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAibmjDo24gcXXDoSBkw6BpIG7Dqm4gY+G6r3Qgbmfhuq9uIG7DsyB0aMOgbmgg4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVzOiBs4buXaSBnaGkgbmjDo24iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTI3Cittc2dpZCAiRGlzcGxheSBvciBjaGFuZ2UgdGhlIGxhYmVsIG9yIFVVSUQgb2YgYSBzd2FwIGFyZWEuXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyBoYXkgdGhheSDEkeG7lWkgbmjDo24gaGF5IFVVSUQgY+G7p2EgdsO5bmcgdHLDoW8gxJHhu5VpLlxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPG5ow6NuPiAgY2jhu4kgcmEgbeG7mXQgbmjDo24gbeG7m2lcbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICBjaOG7iSByYSBt4buZdCBVVUlEIG3hu5tpXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICJi4buPIHF1YSAtVSAoY8OhYyBVVUlEIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujKSIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIkjDo3kgdGjhu60gbOG7h25oIOKAnCVzIC0taGVscOKAnSDEkeG7gyB4ZW0gdGjDtG5nIHRpbiB0aMOqbS5cbiIKKworIzogaW5jbHVkZS9jLmg6MzE4Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhY2ggZMO5bmc6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiVMO5eSBjaOG7jW46XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorbXNnaWQgIiIKKyJcbiIKKyJGdW5jdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJIw6BtOlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJM4buHbmg6XG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMgorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIG91dHB1dCBjb2x1bW5zOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyBj4buZdCBz4bq1biBkw7luZyBjaG8gLS1saXN0OlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiAtPyAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICIgLXZlcnNpb25cbiIKKworIzogaW5jbHVkZS9jLmg6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtICVzLlxuIgorIlRow7RuZyBiw6FvIGzhu5dpIGThu4tjaCBjaG8gPGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vdmkuaHRtbD5cbiIKKworIzogaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ2IGluY2x1ZGUvY2xvc2VzdHJlYW0uaDo0OCBsb2dpbi11dGlscy92aXB3LmM6Mjc2CisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjk1IHN5cy11dGlscy9ydGN3YWtlLmM6Mjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxMQorIzogdGV4dC11dGlscy9jb2wuYzoxNjAKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAibOG7l2kgZ2hpIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLEkMSDbmcgbmjhuq1wIHRyw6puICVzIHThu6sgJXMgYuG7iyBj4bqlbSB0aGVvIG3hurdjIMSR4buLbmguXG4iCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjkKKyMsIGZ1enp5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLEkMSDbmcgbmjhuq1wIHRyw6puICVzIHThu6sgJXMgYuG7iyBj4bqlbSB0aGVvIG3hurdjIMSR4buLbmguXG4iCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyNgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDMwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgZ2nhu5tpIGjhuqFuIG5ndeG7k24gJXMiCisKKyM6IGluY2x1ZGUvb3B0dXRpbHMuaDo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG11dHVhbGx5IGV4Y2x1c2l2ZSBhcmd1bWVudHM6IgorbXNnc3RyICJsw6AgbG/huqFpIHThu6sgbOG6q24gbmhhdS4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEKK21zZ2lkICJFbXB0eSIKK21zZ3N0ciAiUuG7l25nIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyCittc2dpZCAiRkFUMTIiCittc2dzdHIgIkZBVDEyIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozCittc2dpZCAiWEVOSVggcm9vdCIKK21zZ3N0ciAiWEVOSVggZ+G7kWMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQKK21zZ2lkICJYRU5JWCB1c3IiCittc2dzdHIgIlhFTklYIHVzciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NQorbXNnaWQgIkZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IDwzMk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYKK21zZ2lkICJFeHRlbmRlZCIKK21zZ3N0ciAiTeG7nyBy4buZbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjcKK21zZ2lkICJGQVQxNiIKK21zZ3N0ciAiRkFUMTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQVRYIGto4bufaSDEkeG7mW5nIMSRxrDhu6NjIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIFF14bqjbiBsw70ga2jhu59pIMSR4buZbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgRXh0J2QgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIkZBVDEyIOG6qW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE4Cittc2dpZCAiQ29tcGFxIGRpYWdub3N0aWNzIgorbXNnc3RyICJDaHXhuqluIMSRb8OhbiBDb21wYXEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIkZBVDE2IOG6qW4gPDMyTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjAKK21zZ2lkICJIaWRkZW4gRkFUMTYiCittc2dzdHIgIkZBVDE2IOG6qW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIxCittc2dpZCAiSGlkZGVuIEhQRlMvTlRGUyIKK21zZ3N0ciAiSFBGUy9OVEZTIOG6qW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCBTbWFydFNsZWVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMworbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiDhuqluIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNAorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiDhuqluIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSDhuqluIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNgorbXNnaWQgIk5FQyBET1MiCittc2dzdHIgIk5FQyBET1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI3Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIk5URlMgV2luUkUg4bqpbiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjgKK21zZ2lkICJQbGFuIDkiCittc2dzdHIgIlBsYW4gOSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjkKK21zZ2lkICJQYXJ0aXRpb25NYWdpYyByZWNvdmVyeSIKK21zZ3N0ciAiS2jDtGkgcGjhu6VjIFBhcnRpdGlvbk1hZ2ljIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMAorbXNnaWQgIlZlbml4IDgwMjg2IgorbXNnc3RyICJWZW5peCA4MDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzEKK21zZ2lkICJQUEMgUFJlUCBCb290IgorbXNnc3RyICJLaOG7n2kgxJHhu5luZyBQUEMgUFJlUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCBwaOG6p24gMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzUKK21zZ2lkICJRTlg0LnggM3JkIHBhcnQiCittc2dzdHIgIlFOWDQueCBwaOG6p24gMyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzYKK21zZ2lkICJPblRyYWNrIERNIgorbXNnc3RyICJPblRyYWNrIERNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNworbXNnaWQgIk9uVHJhY2sgRE02IEF1eDEiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM4Cittc2dpZCAiQ1AvTSIKK21zZ3N0ciAiQ1AvTSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzkKK21zZ2lkICJPblRyYWNrIERNNiBBdXgzIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MAorbXNnaWQgIk9uVHJhY2tETTYiCittc2dzdHIgIk9uVHJhY2tETTYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQxCittc2dpZCAiRVotRHJpdmUiCittc2dzdHIgIkVaLURyaXZlIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MgorbXNnaWQgIkdvbGRlbiBCb3ciCittc2dzdHIgIkdvbGRlbiBCb3ciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQzCittc2dpZCAiUHJpYW0gRWRpc2siCittc2dzdHIgIlByaWFtIEVkaXNrIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MQorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTkKK21zZ2lkICJTcGVlZFN0b3IiCittc2dzdHIgIlNwZWVkU3RvciIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDUKK21zZ2lkICJHTlUgSFVSRCBvciBTeXNWIgorbXNnc3RyICJHTlUgSFVSRCBoYXkgU3lzViIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDYKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAyODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDI4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDcKK21zZ2lkICJOb3ZlbGwgTmV0d2FyZSAzODYiCittc2dzdHIgIk5vdmVsbCBOZXR3YXJlIDM4NiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDgKK21zZ2lkICJEaXNrU2VjdXJlIE11bHRpLUJvb3QiCittc2dzdHIgIkLhuqNvbeG6rXTEkcSpYSDEkGEta2jhu59pLcSR4buZbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAiTWluaXggY8WpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIExpbnV4IGPFqSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiVHJhbyDEkeG7lWkgTGludXgvU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTcKK21zZ2lkICJMaW51eCBleHRlbmRlZCIKK21zZ3N0ciAiTGludXggbeG7nyBy4buZbmciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJC4buZIGto4buRaSB0aW4gTlRGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IGNo4buvIHRoxrDhu51uZyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJOZ+G7pyDEkcO0bmcgSUJNIFRoaW5rcGFkIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2NgorbXNnaWQgIkZyZWVCU0QiCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY3Cittc2dpZCAiT3BlbkJTRCIKK21zZ3N0ciAiT3BlbkJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjgKK21zZ2lkICJOZVhUU1RFUCIKK21zZ3N0ciAiTmVYVFNURVAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY5Cittc2dpZCAiRGFyd2luIFVGUyIKK21zZ3N0ciAiRGFyd2luIFVGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzAKK21zZ2lkICJOZXRCU0QiCittc2dzdHIgIk5ldEJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzEKK21zZ2lkICJEYXJ3aW4gYm9vdCIKK21zZ3N0ciAiS2jhu59pIMSR4buZbmcgRGFyd2luIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiSHR0dCBCU0RJIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NAorbXNnaWQgIkJTREkgc3dhcCIKK21zZ3N0ciAiVHJhbyDEkeG7lWkgQlNESSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIlRodeG6rXQgc8SpIGto4bufaSDEkeG7mW5nIOG6qW4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc2CisjLCBmdXp6eQorbXNnaWQgIkFjcm9uaXMgRkFUMzIgTEJBIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIFNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc4Cittc2dpZCAiU29sYXJpcyIKK21zZ3N0ciAiU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzkKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xMikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTEyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODAKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODEKK21zZ2lkICJEUkRPUy9zZWMgKEZBVC0xNikiCittc2dzdHIgIkRSRE9TL3NlYyAoRkFULTE2KSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODIKK21zZ2lkICJTeXJpbngiCittc2dzdHIgIlN5cmlueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODMKK21zZ2lkICJOb24tRlMgZGF0YSIKK21zZ3N0ciAiROG7ryBsaeG7h3Uga2jDtG5nIHBo4bqjaSBGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyDigKYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJDw7RuZyBj4bulIERlbGwiCisKKyMgTmFtZTogZG9uJ3QgdHJhbnNsYXRlL1TDqm46IMSR4burbmcgZOG7i2NoCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NworbXNnaWQgIkJvb3RJdCIKK21zZ3N0ciAiQm9vdEl0IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4OAorbXNnaWQgIkRPUyBhY2Nlc3MiCittc2dzdHIgIlRydXkgY+G6rXAgRE9TIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCisjLCBmdXp6eQorbXNnaWQgIlJ1ZnVzIGFsaWdubWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgxJHhuqd1IHRpw6puIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NAorbXNnaWQgIkJlT1MgZnMiCittc2dzdHIgIkh0dHQgQmVPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIExpbnV4L1BBLVJJU0MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyBwaOG7pSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQKK21zZ2lkICJWTXdhcmUgVk1GUyIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMgorbXNnaWQgIlZNd2FyZSBWTUtDT1JFIgorbXNnc3RyICJWTXdhcmUgVk1LQ09SRSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAzIGxpYmZkaXNrL3NyYy9zdW4uYzo1NAorbXNnaWQgIkxpbnV4IHJhaWQgYXV0b2RldGVjdCIKK21zZ3N0ciAiVOG7sSDEkeG7mW5nIG5o4bqtbiByYSBMaW51eCByYWlkIgorCisjIE5hbWU6IGRvbid0IHRyYW5zbGF0ZS9Uw6puOiDEkeG7q25nIGThu4tjaAorIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAiY+G6o25oIGLDoW86ICVzIGtow7RuZyDEkcaw4bujYyDEkeG7k25nIGNo4buJbmgiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3RlZCBwYXJ0aXRpb24gJWp1IgorbXNnc3RyICJQaMOibiB2w7luZyDEkcOjIGNo4buNbiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKK21zZ2lkICJObyBwYXJ0aXRpb24gaXMgZGVmaW5lZCB5ZXQhIgorbXNnc3RyICJLaMO0bmcgY8OzIHBow6JuIHbDuW5nIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhISIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIktow7RuZyBjw7JuIHBow6JuIHbDuW5nIGPDsm4gdHLhu5FuZyBuw6BvIGPhuqMhIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NTA1Cittc2dpZCAiUGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAiU+G7kSB0aOG7qSB04buxIHBow6JuIHbDuW5nIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMgorIywgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICJU4bqhbyBwaMOibiB2w7luZyAlZCBraeG7g3UgJXMgdsOgIGvDrWNoIGPhu6EgJXMuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTY1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlemQ6IGhhcyBpbnZhbGlkIHN0YXJ0aW5nIHNlY3RvciAwLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXpkOiBjw7MgY3VuZyB04burIGLhuq90IMSR4bqndSAwIGLhu4sgbOG7l2kuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZXJlIGlzIG5vICpCU0QgcGFydGl0aW9uIG9uICVzLiIKK21zZ3N0ciAiS2jDtG5nIGPDsyBwaMOibiB2w7luZyAqQlNEIHRyw6puICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCittc2dpZCAiRmlyc3QgY3lsaW5kZXIiCittc2dzdHIgIlRy4bulIHThu6sgxJHhuqd1IHRpw6puIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MjkxIGxpYmZkaXNrL3NyYy9kb3MuYzoxMjEzCittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICJUcuG7pSB04burIGN14buRaSwgK3Ry4bulIGhheSArc2l6ZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3Cittc2dpZCAiTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIkN1bmcgdOG7qyBjdeG7kWksICtzZWN0b3JzIGhheSArc2l6ZXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZXZpY2UgJXMgZG9lcyBub3QgY29udGFpbiBCU0QgZGlza2xhYmVsLiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLICVzIGtow7RuZyBjaOG7qWEgbmjDo24gxJHEqWEgQlNELiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MgorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICJC4bqhbiBjw7MgbXXhu5FuIHThuqFvIG3hu5l0IG5ow6NuIMSRxKlhIEJTRD8iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAixJDEqWE6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICJD4budIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY1Cittc2dpZCAiIHJlbW92YWJsZSIKK21zZ3N0ciAiIGPDsyB0aOG7gyB0aMOhbyBy4budaSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NgorbXNnaWQgIiBlY2MiCittc2dzdHIgIiBlY2MiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjcKK21zZ2lkICIgYmFkc2VjdCIKK21zZ3N0ciAiIGN1bmcgdOG7qyBzYWkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NzUKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICJieXRlL2N1bmcgdOG7qyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorIywgZnV6enkKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgInLDo25oL3Ry4bulIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1CisjLCBmdXp6eQorbXNnaWQgIlNlY3RvcnMvQ3lsaW5kZXIiCittc2dzdHIgImN1bmcvdHLhu6UgdOG7qyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAiQ8OhYyB0cuG7pSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5NSBsaWJmZGlzay9zcmMvc3VuLmM6NzczCisjLCBmdXp6eQorbXNnaWQgIlJwbSIKK21zZ3N0ciAidsOybmcgbeG7l2kgcGjDunQiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDAgbGliZmRpc2svc3JjL3NnaS5jOjI5MSBsaWJmZGlzay9zcmMvc3VuLmM6NzkzCisjLCBmdXp6eQorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgInhlbiBr4bq9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTA1CisjLCBmdXp6eQorbXNnaWQgIlRyYWNrc2tldyIKK21zZ3N0ciAixJHhu5kgbOG7h2NoIHLDo25oIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTEwCisjLCBmdXp6eQorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAixJHhu5kgbOG7h2NoIHRy4bulIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE1CisjLCBmdXp6eQorbXNnaWQgIkhlYWRzd2l0Y2giCittc2dzdHIgImLhuq10IMSR4bqndSDEkeG7jWMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MjAKKyMsIGZ1enp5Cittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAiZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyB04burIHLDo25oIHThu5tpIHLDo25oIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICJieXRlL2N1bmcgdOG7qyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgImN1bmcgdOG7qy9yw6NuaCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAicsOjbmgvdHLhu6UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgInRy4bulIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAiY3VuZy90cuG7pSB04burIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIyCittc2dpZCAicnBtIgorbXNnc3RyICJ2w7JuZyBt4buXaSBwaMO6dCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgInhlbiBr4bq9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICLEkeG7mSBs4buHY2ggcsOjbmgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgIsSR4buZIGzhu4djaCB0cuG7pSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNworbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgImLhuq10IMSR4bqndSDEkeG7jWMiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjgKK21zZ2lkICJ0cmFjay10by10cmFjayBzZWVrIgorbXNnc3RyICJkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIHThu6sgcsOjbmggdOG7m2kgcsOjbmgiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RzdHJhcCBmaWxlICVzIHN1Y2Nlc3NmdWxseSBsb2FkZWQuIgorbXNnc3RyICJU4bqtcCB0aW4gbeG7k2kgJXMgxJHDoyDEkcaw4bujYyB04bqjaSB0aMOgbmggY8O0bmcuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcDogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKGRlZmF1bHQgJTEkcykiCittc2dzdHIgIlRyw6xuaCBt4buTaTogJTEkc2Jvb3QgLT4gYm9vdCUxJHMgKG3hurdjIMSR4buLbmggJTEkcykiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDMKK21zZ2lkICJCb290c3RyYXAgb3ZlcmxhcHMgd2l0aCBkaXNrbGFiZWwhIgorbXNnc3RyICJUcsOsbmggbeG7k2kgxJHDqCBsw6puIG5oYXUgduG7m2kgbmjDo24gxJHEqWEhIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICJUcsOsbmggbeG7k2kgxJHGsOG7o2MgY8OgaSB0csOqbiAlcy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuICAoRG9uJ3QgZm9yZ2V0IHRvIHdyaXRlIHRoZSAlcyBkaXNrbGFiZWwgdG9vLikiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwNQorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIk5ow6NuIMSRxKlhIMSRxrDhu6NjIGdoaSB2w6BvICVzLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorbXNnaWQgIlN5bmNpbmcgZGlza3MuIgorbXNnc3RyICLEkGFuZyDEkeG7k25nIGLhu5kgaMOzYSBjw6FjIMSRxKlhLiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk1MgorbXNnaWQgIkJTRCBsYWJlbCBpcyBub3QgbmVzdGVkIHdpdGhpbiBhIERPUyBwYXJ0aXRpb24uIgorbXNnc3RyICJuaMOjbiBCU0Qga2jDtG5nIG7hurFtIHRyb25nIHBow6JuIHbDuW5nIERPUy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQlNEIHBhcnRpdGlvbiAnJWMnIGxpbmtlZCB0byBET1MgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBow6JuIHbDuW5nIEJTRCDigJwlY+KAnSBsacOqbiBr4bq/dCB04bubaSBwaMOibiB2w7luZyBET1MgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMTYKK21zZ2lkICJTbGljZSIKK21zZ3N0ciAiU2xpY2UiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgIkZzaXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNAorbXNnaWQgIkJzaXplIgorbXNnc3RyICJCc2l6ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIkNwZyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgxJHDs25nIHRoaeG6v3QtYuG7iyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NTYKK21zZ2lkICJDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLEkGFuZyBn4buNaSBow6BtIGlvY3RsKCkgxJHhu4MgxJHhu41jIGzhuqFpIGLhuqNuZyBwaMOibiB2w7luZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY1Cittc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC4iCittc2dzdHIgIkdsIGtoaSDEkeG7jWMgbOG6oWkgYuG6o25nIHBow6JuIHbDuW5nLiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjcKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCB0YWJsZS4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290IG9yIGFmdGVyIHlvdSBydW4gcGFydHByb2JlKDgpIG9yIGtwYXJ0eCg4KS4iCittc2dzdHIgIk5ow6JuIGjhu4cgxJFp4buBdSBow6BuaCB24bqrbiBjw7JuIGTDuW5nIGLhuqNuZyBjxakuIELhuqNuZyBt4bubaSBz4bq9IMSRxrDhu6NjIGTDuW5nIOG7nyBs4bqnbiBraOG7n2kgxJHhu5luZyBr4bq/IHRp4bq/cCwgaG/hurdjIHNhdSBraGkgYuG6oW4gY2jhuqF5IGzhu4duaCBwYXJ0cHJvYmUoOCkgaGF5IGtwYXJ0eCg4KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiAlenUgZnJvbSBzeXN0ZW0iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBn4buhIGLhu48gcGjDom4gdsO5bmciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJIaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHRoaeG6v3QgYuG7iyBraOG7kWkuXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiAlenUgdG8gc3lzdGVtIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdGjDqm0gcGjDom4gdsO5bmciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODc0CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHBhcnRpdGlvbnMuIFRoZSBuZXcgdGFibGUgd2lsbCBiZSB1c2VkIGF0IHRoZSBuZXh0IHJlYm9vdC4gIgorbXNnc3RyICJOaMOibiBo4buHIMSRaeG7gXUgaMOgbmggduG6q24gY8OybiBkw7luZyBi4bqjbmcgY8WpLiBC4bqjbmcgbeG7m2kgc+G6vSDEkcaw4bujYyBkw7luZyDhu58gbOG6p24ga2jhu59pIMSR4buZbmcga+G6vyB0aeG6v3AsIGhv4bq3YyBzYXUga2hpIGLhuqFuIGNo4bqheSBs4buHbmggcGFydHByb2JlKDgpIGhheSBrcGFydHgoOCkuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODQKK21zZ2lkICJjeWxpbmRlciIKK21zZ2lkX3BsdXJhbCAiY3lsaW5kZXJzIgorbXNnc3RyWzBdICJ0cuG7pSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1Cittc2dpZCAic2VjdG9yIgorbXNnaWRfcGx1cmFsICJzZWN0b3JzIgorbXNnc3RyWzBdICJjdW5nIHThu6siCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6MTM4OAorbXNnaWQgIkluY29tcGxldGUgZ2VvbWV0cnkgc2V0dGluZy4iCittc2dzdHIgIkPDoGkgxJHhurd0IGjDrG5oIGjhu41jIGtow7RuZyBob8OgbiB0aGnhu4duLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIxMworbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgaGF2ZSBiZWVuIGRlZmluZWQgYWxyZWFkeS4iCittc2dzdHIgIlThuqV0IGPhuqMgY8OhYyBwaMOibiB2w7luZyBjaMOtbmggxJHDoyDEkcaw4bujYyDEkeG7i25oIG5naMSpYSBy4buTaSEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIktow7RuZyBjw7JuIHBow6JuIHbDuW5nIGPDsm4gdHLhu5FuZyBuw6BvIGPhuqMhIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkIGV4dGVuZGVkIHBhcnRpdGlvbiB0YWJsZSAob2Zmc2V0PSVqdSkiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7jWMgYuG6o25nIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIChvZmZzZXQ9JWp1KSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorbXNnaWQgIllvdSBjYW4gc2V0IGdlb21ldHJ5IGZyb20gdGhlIGV4dHJhIGZ1bmN0aW9ucyBtZW51LiIKK21zZ3N0ciAiQuG6oW4gY8OzIHRo4buDIMSR4bq3dCBj4bqldSB0csO6YyBow6xuaCBo4buNYyB04burIHRyw6xuaCDEkcahbiBjaOG7qWMgbsSDbmcgbeG7nyBy4buZbmcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQzCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiY2jhur8gxJHhu5kgdMawxqFuZyB0aMOtY2ggduG7m2kgRE9TIMSRw6MgbOG7l2kgdGjhu51pLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0NworbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICJUaGnhur90IGLhu4sgxJHGsGEgcmEgbeG7mXQga8OtY2ggY+G7oSBjdW5nIHThu6sgbMO0Z8OtYyB24bqrbiBuaOG7jyBoxqFuIGvDrWNoIGPhu6EgY3VuZyB04burIHbhuq10IGzDvS4gxJDhu4MgdHLDoW5oIGhp4buHdSBzdeG6pXQgYuG7iyBnaeG6o20sIG7Dqm4gY8SDbiBjaOG7iW5oIHRow6BuaCBrw61jaCBj4buhIGN1bmcgdOG7qyB24bqtdCBsw70gKGhheSBWL1IgdOG7kWkgxrB1KS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNTMKK21zZ2lkICJDeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4iCittc2dzdHIgIkhp4buDbiB0aOG7iyBi4bqxbmcgxJHGoW4gduG7iyB0cuG7pSB04burIMSRw6MgbOG7l2kgdGjhu51pLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIHNpemUgb2YgdGhpcyBkaXNrIGlzICVzICglanUgYnl0ZXMpLiBET1MgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCBjYW5ub3QgYmUgdXNlZCBvbiBkcml2ZXMgZm9yIHZvbHVtZXMgbGFyZ2VyIHRoYW4gJWx1IGJ5dGVzIGZvciAlbHUtYnl0ZSBzZWN0b3JzLiBVc2UgR1VJRCBwYXJ0aXRpb24gdGFibGUgZm9ybWF0IChHUFQpLiIKK21zZ3N0ciAixJDEqWEgbsOgeSBjw7Mga8OtY2ggY+G7oSAlcyAoJWp1IGJ5dGVzKS4gxJDhu4tuaCBk4bqhbmcgYuG6o25nIHBow6JuIHbDuW5nIERPUyBraMO0bmcgZMO5bmcgxJHGsOG7o2MgdHLDqm4g4buVIMSRxKlhIGPDsyBraOG7kWkgdGluIGzhu5tuIGjGoW4gJWx1IGJ5dGUgY2hvIGN1bmcgdOG7qyAlbHUtYnl0ZS4gSMOjeSBkw7luZyDEkeG7i25oIGThuqFuZyBi4bqjbmcgcGjDom4gdsO5bmcgR1VJRCAoR1BUKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAiU2FpIEhp4buHdSB0cm9uZyBwaMOibiB2w7luZyBt4bufIHLhu5luZyBjaMOtbmguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICJC4buPIHPDs3QgY8OhYyBwaMOibiB2w7luZyBzYXUgIyV6dS4gQ2jDum5nIHPhur0gYuG7iyB4w7NhIG7hur91IGLhuqFuIGdoaSBi4bqjbmcgcGjDom4gdsO5bmcgbsOgeS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICJDb24gdHLhu48gbGnDqm4ga+G6v3QgbeG7nyBy4buZbmcgdHJvbmcgYuG6o25nIHBow6JuIHbDuW5nICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZGF0YSBpbiBwYXJ0aXRpb24gdGFibGUgJXp1LiIKK21zZ3N0ciAiQuG7jyBxdWEgZOG7ryBsaeG7h3UgbeG7nyBy4buZbmcgdHJvbmcgYuG6o25nIHBow6JuIHbDuW5nICV6dS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib21pdHRpbmcgZW1wdHkgcGFydGl0aW9uICglenUpIgorbXNnc3RyICJi4buPIHF1YSBwaMOibiB2w7luZyBy4buXbmcgKCV6dSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIsSQYW5nIHThuqFvIG5ow6NuIMSRxKlhIERPUyBt4bubaSB24bubaSDEkeG7i25oIGRhbmggxJHEqWEgMHglMDh4LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcyNgorbXNnaWQgIkVudGVyIHRoZSBuZXcgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICJOaOG6rXAgdsOgbyDEkeG7i25oIGRhbmggbmjhuq1uIGRp4buHbiDEkcSpYSBt4bubaSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIkdpw6EgdHLhu4sga2jDtG5nIMSRw7puZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo3NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAixJDhu4tuaCBkYW5oIMSRxKlhIHRoYXkgxJHhu5VpIHThu6sgMHglMDh4IHRow6BuaCAweCUwOHguIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODM4CisjLCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIkLhu48gcXVhIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIG5nb8OgaSAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBmbGFnIDB4JTAyeCUwMnggb2YgRUJSIChmb3IgcGFydGl0aW9uICV6dSkgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgdyhyaXRlKS4iCittc2dzdHIgIkPhu50gMHglMDJ4JTAyeCBj4bunYSBFQlIgKGNobyBwaMOibiB2w7luZyAlenUpIGtow7RuZyBo4bujcCBs4buHIHPhur0gxJHGsOG7o2Mgc+G7rWEgYuG6sW5nIHcoZ2hpKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICJDdW5nIHThu6sgYuG6r3QgxJHhuqd1ICVqdSBu4bqxbSBuZ2/DoGkgcGjhuqFtIHZpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1IMSRw6MgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEgcuG7k2kuICBYw7NhIG7DsyDEkWkgcuG7k2kgdGjDqm0gbOG6oWkuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWxsdSBpcyBhbHJlYWR5IGFsbG9jYXRlZC4iCittc2dzdHIgIkN1bmcgdOG7qyAlbGx1IMSRw6MgxJHGsOG7o2MgcGjDom4gcGjhu5FpLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODUgbGliZmRpc2svc3JjL2dwdC5jOjIzMzAKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAiS2jDtG5nIGPDsm4gY3VuZyB04burIGPDsm4gdHLhu5FuZyBuw6BvIGPhuqMuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJUaMOqbSBwaMOibiB2w7luZyBsw7QtZ8OtYyAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzcyCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGNvbnRhaW5zIHNlY3RvciAwIgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6IGNo4bupYSBjdW5nIHThu6sgMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiBwaOG6p24gxJHhuqd1ICVkIGzhu5tuIGjGoW4gdOG7kWkgxJFhICVkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiBjdW5nIHThu6sgJWQgbOG7m24gaMahbiB04buRaSDEkWEgJWxsdSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY3lsaW5kZXIgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiB0cuG7pSAlZCBs4bubbiBoxqFuIG3hu6ljIHThu5FpIMSRYSAlbGx1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBwcmV2aW91cyBzZWN0b3JzICV1IGRpc2FncmVlcyB3aXRoIHRvdGFsICV1IgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6ICV1IGN1bmcgdOG7qyB0csaw4bubYyBraMO0bmcgdGjDrWNoIGjhu6NwIHbhu5tpIHThu5VuZyAldSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXp1OiBraMOhYyBiaeG7h3QgYuG6r3QgxJHhuqd1IHbhuq10IGzDvS9sw7Rnw61jIChraMO0bmctcGjhuqNpLUxpbnV4Pyk6IHZsw709KCVkLCAlZCwgJWQpLCBsw7Rnw61jPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6IGtow6FjIGJp4buHdCBr4bq/dCB0aMO6YyB24bqtdCBsw70gLyBsw7Rnw61jOiB2bMO9PSglZCwgJWQsICVkKSwgbMO0Z8OtYz0oJWQsICVkLCAlZCkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDU5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dToga2jDtG5nIGvhur90IHRow7pjIHRyw6puIGjhuqFuIGJpw6puIGPhu6dhIHRy4bulIHThu6suIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBiYWQgc3RhcnQtb2YtZGF0YS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dToga2jhu59pLcSR4bqndS1k4buvLWxp4buHdSB44bqldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDk5CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6IMSRw6ggbMOqbiBwaMOibiB2w7luZyAlenUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBlbXB0eS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dTogcuG7l25nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIlBow6JuIHbDuW5nIGzDtC1nw61jICV6dToga2jDtG5nIG7hurFtIHRvw6BuIGLhu5kgdHJvbmcgcGjDom4gdsO5bmcgJXp1LiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVG90YWwgYWxsb2NhdGVkIHNlY3RvcnMgJWxsdSBncmVhdGVyIHRoYW4gdGhlIG1heGltdW0gJWxsdS4iCittc2dzdHIgIlThu5VuZyBz4buRIGN1bmcgdOG7qyDEkcOjIHBow6JuIHBo4buRaSAlbGx1IGzhu5tuIGjGoW4gdOG7kWkgxJFhICVsbHUuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MworIywgYy1mb3JtYXQKK21zZ2lkICJSZW1haW5pbmcgJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSBzZWN0b3JzLiIKK21zZ3N0ciAiQ8OybiBs4bqhaSBjaMawYSBj4bqlcCBwaMOhdCAlbGxkIGN1bmcgdOG7qyAlbGQtYnl0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjAxIGxpYmZkaXNrL3NyYy9kb3MuYzoxNjE2IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDYzCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgbeG7nyBy4buZbmcgxJHDoyBz4bq1biBjw7MuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTYzMQorbXNnaWQgIkV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjY3Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIsSQw6MgdOG6oW8gcmEgc+G7kSBwaMOibiB2w7luZyBs4bubbiBuaOG6pXQgY2hvIHBow6lwLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODEKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICJU4bqldCBj4bqjIGPDoWMgcGjDom4gdsO5bmcgY2jDrW5oIMSRw6MgxJHGsOG7o2Mgc+G7rSBk4bulbmcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MyBsaWJmZGlzay9zcmMvZG9zLmM6MTY5NAorbXNnaWQgIkFsbCBzcGFjZSBmb3IgcHJpbWFyeSBwYXJ0aXRpb25zIGlzIGluIHVzZS4iCittc2dzdHIgIlThuqV0IGPhuqMgY8OhYyBwaMOibiB2w7luZyBjaMOtbmggxJHDoyDEkcaw4bujYyBz4butIGThu6VuZy4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIk7hur91IGLhuqFuIG114buRbiB04bqhbyByYSBuaGnhu4F1IHBow6JuIHbDuW5nIGjGoW4gbuG7r2EsIGLhuqFuIHBo4bqjaSDEkeG7lWkgbeG7mXQgcGjDom4gdsO5bmcgY8ahIGLhuqNuIHRow6BuaCBraeG7g3UgbeG7nyBy4buZbmcuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcwMgorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICJU4bqldCBj4bqjIGPDoWMgcGjDom4gdsO5bmcgbMO0Z8OtYyDEkcaw4bujYyBz4butIGThu6VuZy4gxJBhbmcgdGjDqm0gbeG7mXQgcGjDom4gdsO5bmcgY2jDrW5oLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKK21zZ2lkICJQYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiS2nhu4N1IHBow6JuIHbDuW5nIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlenUgcHJpbWFyeSwgJWQgZXh0ZW5kZWQsICV6dSBmcmVlIgorbXNnc3RyICIlenUgY2jDrW5oLCAlZCBt4bufIHLhu5luZywgJXp1IGPDsm4gdHLhu5FuZyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzMKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICJjaMOtbmgiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1Cittc2dpZCAiZXh0ZW5kZWQiCittc2dzdHIgIm3hu58gcuG7mW5nIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICJjw6FpIGNo4bupYSBjw6FjIHBow6JuIHbDuW5nIGzDtC1nw61jIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgImzDtGfDrWMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICLEkcOhbmggc+G7kSBi4bqvdCDEkeG6p3UgdOG7qyA1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICJLaeG7g3UgcGjDom4gdsO5bmcga2jDtG5nIGjhu6NwIGzhu4cg4oCcJWPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgd3JpdGUgc2VjdG9yICVqZDogc2VlayBmYWlsZWQiCittc2dzdHIgIktow7RuZyB0aOG7gyBnaGkgY3VuZyB04burICVqZDogZ+G6t3AgbOG7l2kga2hpIGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAixJDhu4tuaCBkYW5oIMSRxKlhOiAlcyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICJHw7UgMCBjw7MgbmdoxKlhIGzDoCBraMO0bmcgZ2lhbiB0cuG7kW5nIMSR4buRaSB24bubaSBuaGnhu4F1IGjhu4cgdGjhu5FuZy4gQ8OzIHBow6JuIHbDuW5nIGtp4buDdSAwIGzDoCBn4bqnbiBuaMawIGtow7RuZyBraMO0biBuZ29hbi4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICJLaMO0bmcgY+G6p24gbMOgbSBnw6wuIFRo4bupIHThu7EgxJHDoyDEkcO6bmcgcuG7k2kuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjMxNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICJQaMOibiB2w7luZyAlenU6IGtow7RuZyBjw7MgdsO5bmcgZOG7ryBsaeG7h3UuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjM0NworbXNnaWQgIk5ldyBiZWdpbm5pbmcgb2YgZGF0YSIKK21zZ3N0ciAixJBp4buDbSBi4bqvdCDEkeG6p3UgZOG7ryBsaeG7h3UgbeG7m2kiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIlBow6JuIHbDuW5nICV6dTogbMOgIG3hu5l0IHBow6JuIHbDuW5nIG3hu58gcuG7mW5nLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGJvb3RhYmxlIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkPhu50ga2jhu59pIMSR4buZbmcgdHLDqm4gcGjDom4gdsO5bmcgJXp1IMSRxrDhu6NjIGLhuq10IG5nYXkgYsOieSBnaeG7nS4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiQ+G7nSBraOG7n2kgxJHhu5luZyB0csOqbiBwaMOibiB2w7luZyAlenUgxJHGsOG7o2MgdOG6r3QgbmdheSBiw6J5IGdp4budLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjMgbGliZmRpc2svc3JjL2dwdC5jOjMxMjcgbGliZmRpc2svc3JjL3NnaS5jOjExNTIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTE5Cittc2dpZCAiRGV2aWNlIgorbXNnc3RyICJUaGnhur90IGLhu4siCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI0IGxpYmZkaXNrL3NyYy9zdW4uYzo0MAorbXNnaWQgIkJvb3QiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNQorbXNnaWQgIklkIgorbXNnc3RyICJJZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzQKK21zZ2lkICJTdGFydC1DL0gvUyIKK21zZ3N0ciAixJBp4buDbSDEkeG6p3UtQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICLEkGnhu4NtIGN14buRaS1DL0gvUyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiQXR0cnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTkKK21zZ2lkICJFRkkgU3lzdGVtIgorbXNnc3RyICJI4buHIHRo4buRbmcgRUZJIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxCittc2dpZCAiTUJSIHBhcnRpdGlvbiBzY2hlbWUiCittc2dzdHIgIkzGsOG7o2MgxJHhu5MgcGjDom4gdsO5bmcgTUJSIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYyCittc2dpZCAiSW50ZWwgRmFzdCBGbGFzaCIKK21zZ3N0ciAiSW50ZWwgRmFzdCBGbGFzaCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2NQorbXNnaWQgIkJJT1MgYm9vdCIKK21zZ3N0ciAiS2jhu59pIMSR4buZbmcgQklPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OAorIywgZnV6enkKK21zZ2lkICJTb255IGJvb3QgcGFydGl0aW9uIgorbXNnc3RyICJwaMOibiB2w7luZyBraOG7n2kgxJHhu5luZyBCSU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgIkxlbm92byBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAicGjDom4gdsO5bmcga2jhu59pIMSR4buZbmcgQklPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiS2jhu59pIMSR4buZbmcgUFBDIFBSZVAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiT05JRSBib290IgorbXNnc3RyICJLaOG7n2kgxJHhu5luZyBCSU9TIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc2Cittc2dpZCAiT05JRSBjb25maWciCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiTWljcm9zb2Z0IHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgwCittc2dpZCAiTWljcm9zb2Z0IGJhc2ljIGRhdGEiCittc2dzdHIgIkThu68gbGnhu4d1IGPGoSBz4bufIE1pY3Jvc29mdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MQorbXNnaWQgIk1pY3Jvc29mdCBMRE0gbWV0YWRhdGEiCittc2dzdHIgIlNpw6p1IGThu68gbGnhu4d1IE1pY3Jvc29mdCBMRE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIkThu68gbGnhu4d1IE1pY3Jvc29mdCBMRE0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODMKK21zZ2lkICJXaW5kb3dzIHJlY292ZXJ5IGVudmlyb25tZW50IgorbXNnc3RyICJNw7RpIHRyxrDhu51uZyBraMO0aSBwaOG7pWMgTWljcm9zb2Z0IFdpbmRvd3MiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIEdlbmVyYWwgUGFyYWxsZWwgRnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgImThu68gbGnhu4d1IEhQLVVYIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTg5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAiROG7i2NoIHbhu6UgSFAtVVgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTIgbGliZmRpc2svc3JjL3NnaS5jOjYwIGxpYmZkaXNrL3NyYy9zdW4uYzo1MQorbXNnaWQgIkxpbnV4IHN3YXAiCittc2dzdHIgIlRyYW8gxJHhu5VpIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCittc2dpZCAiTGludXggZmlsZXN5c3RlbSIKK21zZ3N0ciAiSOG7hyB0aOG7kW5nIHThuq1wIHRpbiBMaW51eCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJE4buvIGxp4buHdSBtw6F5IGNo4bunIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NgorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290IChBUk0pIgorbXNnc3RyICJMaW51eCByb290ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiTGludXggcm9vdCAoeDg2LTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5OAorIywgZnV6enkKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYtNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5CisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJvb3RcdChJQS02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDAKK21zZ2lkICJMaW51eCByZXNlcnZlZCIKK21zZ3N0ciAiTGludXggcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJUaMawIG3hu6VjIGPDoSBuaMOibiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMiBsaWJmZGlzay9zcmMvc2dpLmM6NjMKK21zZ2lkICJMaW51eCBSQUlEIgorbXNnc3RyICJMaW51eCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAzCittc2dpZCAiTGludXggZXh0ZW5kZWQgYm9vdCIKK21zZ3N0ciAia2jhu59pIMSR4buZbmcgTGludXggbeG7nyBy4buZbmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgImThu68gbGnhu4d1IEZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTIKK21zZ2lkICJGcmVlQlNEIGJvb3QiCittc2dzdHIgIkZyZWVCU0QgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiRnJlZUJTRCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0Cittc2dpZCAiRnJlZUJTRCBVRlMiCittc2dzdHIgIkZyZWVCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1Cittc2dpZCAiRnJlZUJTRCBaRlMiCittc2dzdHIgIkZyZWVCU0QgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2Cittc2dpZCAiRnJlZUJTRCBWaW51bSIKK21zZ3N0ciAiRnJlZUJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOQorbXNnaWQgIkFwcGxlIEhGUy9IRlMrIgorbXNnc3RyICJBcHBsZSBIRlMvSEZTKyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMAorbXNnaWQgIkFwcGxlIFVGUyIKK21zZ3N0ciAiQXBwbGUgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxCittc2dpZCAiQXBwbGUgUkFJRCIKK21zZ3N0ciAiQXBwbGUgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiQXBwbGUgUkFJRCBvZmZsaW5lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiQXBwbGUgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICJuaMOjbiBBcHBsZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICJBcHBsZSBUViBwaOG7pWMgaOG7k2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIkFwcGxlIENvcmUgc3RvcmFnZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiS2jhu59pIMSR4buZbmcgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMgorbXNnaWQgIlNvbGFyaXMgL3VzciAmIEFwcGxlIFpGUyIKK21zZ3N0ciAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMzCittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIHN3YXAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzQKK21zZ2lkICJTb2xhcmlzIGJhY2t1cCIKK21zZ3N0ciAic2FvIGzGsHUgZOG7sSBwaMOybmcgU29sYXJpcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorbXNnaWQgIlNvbGFyaXMgL3ZhciIKK21zZ3N0ciAiU29sYXJpcyAvdmFyIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM2Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyAvaG9tZSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNworbXNnaWQgIlNvbGFyaXMgYWx0ZXJuYXRlIHNlY3RvciIKK21zZ3N0ciAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmVkIDEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDIiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU29sYXJpcyByZXNlcnZlZCAzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxCittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTb2xhcmlzIHJlc2VydmVkIDQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKK21zZ2lkICJTb2xhcmlzIHJlc2VydmVkIDUiCittc2dzdHIgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qgc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NgorbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCBGRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDcKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QgTEZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4Cittc2dpZCAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKK21zZ3N0ciAiTmV0QlNEIGNvbmNhdGVuYXRlZCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0OQorbXNnaWQgIk5ldEJTRCBlbmNyeXB0ZWQiCittc2dzdHIgIk5ldEJTRCDEkcOjIG3DoyBow7NhIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUwCittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjUzCittc2dpZCAiQ2hyb21lT1Mga2VybmVsIgorbXNnc3RyICJOaMOibiBDaHJvbWVPUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1NAorbXNnaWQgIkNocm9tZU9TIHJvb3QgZnMiCittc2dzdHIgIkNocm9tZU9TIHJvb3QgZnMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTUKK21zZ2lkICJDaHJvbWVPUyByZXNlcnZlZCIKK21zZ3N0ciAiQ2hyb21lT1MgcmVzZXJ2ZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTgKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICJE4buvIGxp4buHdSBNaWRuaWdodEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIk1pZG5pZ2h0QlNEIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKK21zZ2lkICJNaWRuaWdodEJTRCBzd2FwIgorbXNnc3RyICJNaWRuaWdodEJTRCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYxCittc2dpZCAiTWlkbmlnaHRCU0QgVUZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjIKK21zZ2lkICJNaWRuaWdodEJTRCBaRlMiCittc2dzdHIgIk1pZG5pZ2h0QlNEIFpGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MworbXNnaWQgIk1pZG5pZ2h0QlNEIFZpbnVtIgorbXNnc3RyICJNaWRuaWdodEJTRCBWaW51bSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJDaHXhuqluIMSRb8OhbiBDb21wYXEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzYKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnR1YWwgU0FOIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NworIywgZnV6enkKK21zZ2lkICJWTXdhcmUgVmlyc3RvIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgUmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIHJlc2VydmVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCisjLCBmdXp6eQorbXNnaWQgIk9wZW5CU0QgZGF0YSIKK21zZ3N0ciAiZOG7ryBsaeG7h3UgRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorIywgZnV6enkKK21zZ2lkICJRTlg2IGZpbGUgc3lzdGVtIgorbXNnc3RyICJI4buHIHRo4buRbmcgdOG6rXAgdGluIExpbnV4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIlBsYW4gOSBwYXJ0aXRpb24iCittc2dzdHIgInjDs2EgbeG7mXQgcGjDom4gdsO5bmciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NjEKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgR1BUIGhlYWRlciIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGPhuqVwIHBow6F0IHBo4bqnbiDEkeG6p3UgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzQ0Cittc2dpZCAiRmlyc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo4OTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiQ+G7oSBHUFQgUE1CUiBraMO0bmcga2jhu5twICgldSAhPSAldSkgc+G6vSDEkcaw4bujYyBz4butYSBi4bqxbmcgdyhnaGkpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B0OiBzdGF0KCkgZ+G6t3AgbOG7l2kiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo5MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3B0OiBjYW5ub3QgaGFuZGxlIGZpbGVzIHdpdGggbW9kZSAlbyIKK21zZ3N0ciAiZ3B0OiBraMO0bmcgdGjhu4MgdGnhur9wIGjhu6NwIGPDoWMgdOG6rXAgdGluIHbhu5tpIGNo4bq/IMSR4buZICVvIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgInBo4bqnbiDEkeG6p3UgR1BUIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICJDw6FjIG3hu6VjIEdQVCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMjgKKyMsIGZ1enp5Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICJMQkEgxJHhuqd1IHRpw6puOiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjMzCisjLCBmdXp6eQorbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICJMQkEgY3Xhu5FpOiAlanUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgTEJBIChMb2dpY2FsIEJsb2NrIEFkZHJlc3MpIG9mIHRoZSBiYWNrdXAgR1BUIGhlYWRlci4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjM5CisjLCBmdXp6eQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAiTEJBIGx1w6JuIHBoacOqbjogJWp1IgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YXJ0IG9mIHRoZSBhcnJheSBvZiBwYXJ0aXRpb24gZW50cmllcy4KKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAixJBp4buDbSBi4bqvdCDEkeG6p3UgY+G7p2EgcGjDom4gdsO5bmcgTEJBOiAlanUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAiQ8OhYyDEkeG7gSBt4bulYyBwaMOibiB2w7luZyDEkcOjIGPhuqVwIHBow6F0OiAldSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJC4bqjbmcgR1BUIHNhbyBsxrB1IGLhu4sgaOG7j25nLCBuaMawbmcgYuG6o25nIGNow61uaCBow6xuaCBuaMawIHbhuqtuIHThu5F0LCB2w6wgdGjhur8gc+G6vSBz4butIGThu6VuZyBi4bqjbmcgY2jDrW5oLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICJC4bqjbmcgR1BUIGNow61uaCBi4buLIGjhu49uZywgbmjGsG5nIHNhbyBsxrB1IGjDrG5oIG5oxrAgduG6q24gdOG7kXQsIHbDrCB0aOG6vyBz4bq9IHPhu60gZOG7pW5nIHNhbyBsxrB1LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgImLDrXQgdGh14buZYyB0w61uaCBHUFQga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6Mg4oCcJXPigJ0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggZGFuaCBzw6FjaCDigJwlc+KAnSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIFVVSUQgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAiVVVJRCBwaMOibiB2w7luZyDEkcaw4bujYyB0aGF5IMSR4buVaSDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkxNAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNsYXRlIHBhcnRpdGlvbiBuYW1lLCBuYW1lIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgY+G6pXAgcGjDoXQgdMOqbiBwaMOibiB2w7luZyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICclcycgdG8gJyUuKnMnLiIKK21zZ3N0ciAiVMOqbiBwaMOibiB2w7luZyDEkcaw4bujYyB0aGF5IMSR4buVaSB04burIOKAnCVz4oCdIHRow6BuaCDigJwlLipz4oCdLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gdW5kZXJzdGVwcyBGaXJzdFVzYWJsZUxCQS4iCittc2dzdHIgIlBow6JuIHbDuW5nIGto4bufaSDEkeG7mW5nIGtow7RuZyB04buTbiB04bqhaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBlbmQgb2YgdGhlIHBhcnRpdGlvbiBvdmVyc3RlcHMgTGFzdFVzYWJsZUxCQS4iCittc2dzdHIgIsSRaeG7g20gY3Xhu5FpIGPhu6dhIHBow6JuIHbDuW5nIHRoZW8gxJHGoW4gduG7iyByw6NuaCAoc2VjdG9yKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMTQKK21zZ2lkICJUaGUgZGV2aWNlIGNvbnRhaW5zIGh5YnJpZCBNQlIgLS0gd3JpdGluZyBHUFQgb25seS4gWW91IGhhdmUgdG8gc3luYyB0aGUgTUJSIG1hbnVhbGx5LiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIGPDsyBjaOG7qWEgTUJSIGxhaSAtLSBjaOG7iSBnaGkgR1BULiBC4bqhbiBwaOG6o2kgxJHhu5NuZyBi4buZIE1CUiBi4bqxbmcgdGF5LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAixJDEqWEga2jDtG5nIGNo4bupYSBwaOG6p24gxJHhuqd1IHNhbyBsxrB1IGjhu6NwIGzhu4cuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiVOG7lW5nIGtp4buDbSB0cmEgQ1JDIG5ndXnDqm4gZ+G7kWMg4bufIHBo4bqnbiDEkeG6p3Uga2jDtG5nIGjhu6NwIGzhu4cuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICJU4buVbmcga2nhu4NtIHRyYSBDUkMgc2FvIGzGsHUgZOG7sSBwaMOybmcg4bufIHBo4bqnbiDEkeG6p3Uga2jDtG5nIGjhu6NwIGzhu4cuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2NQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAiUGjhuqduIHThu5VuZyBraeG7g20gdHJhIHBow6JuIHbDuW5nIGtow7RuZyBo4bujcCBs4buHLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiS2nhu4NtIHRyYSDEkcO6bmcgbeG7sWMgTEJBIG5ndXnDqm4gZ+G7kWMg4bufIHBo4bqnbiDEkeG6p3Uga2jDtG5nIGjhu6NwIGzhu4cuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIktp4buDbSB0cmEgxJHDum5nIG3hu7FjIExCQSBzYW8gbMawdSBk4buxIHBow7JuZyDhu58gcGjhuqduIMSR4bqndSBraMO0bmcgaOG7o3AgbOG7hy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTc5Cittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IHByaW1hcnkgaGVhZGVyLiIKK21zZ3N0ciAia2jDtG5nIGto4bubcCBNeUxCQSB24bubaSB24buLIHRyw60gdGjhu7FjIHThur8gdOG6oWkgcGjhuqduIMSR4bqndSBjxqEgc+G7ny4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICJraMO0bmcga2jhu5twIE15TEJBIHbhu5tpIHbhu4sgdHLDrSB0aOG7sWMgdOG6vyB04bqhaSBwaOG6p24gxJHhuqd1IHNhbyBsxrB1IGThu7EgcGjDsm5nLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAixJDEqWEgcXXDoSBuaOG7jyDEkeG7gyBjw7MgdGjhu4MgY2jhu6lhIMSRxrDhu6NjIHRvw6BuIGLhu5kgZOG7ryBsaeG7h3UuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICJQaOG6p24gxJHhuqd1IG5ndXnDqm4gZ+G7kWMgdsOgIHNhbyBsxrB1IGPhu6dhIG7DsyBraMO0bmcga2jhu5twIG5oYXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBwYXJ0aXRpb24gJXUuIgorbXNnc3RyICJQaMOibiB2w7luZyAldSDEkcOoIGzDqm4gcGjDom4gdsO5bmcgJXUuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICJQaMOibiB2w7luZyAldSBxdcOhIGzhu5tuIMSR4buRaSB24bubaSDEkcSpYS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjE4CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBlbmRzIGJlZm9yZSBpdCBzdGFydHMuIgorbXNnc3RyICJQaMOibiB2w7luZyAldSBr4bq/dCB0aMO6YyB0csaw4bubYyDEkWnhu4NtIGLhuq90IMSR4bqndSBj4bunYSBuw7MuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIktow7RuZyB0aOG6pXkgbOG7l2kgbsOgby4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAiUGjhuqduIMSR4bqndSBwaGnDqm4gYuG6o246ICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgJXp1IG91dCBvZiAlenUgcGFydGl0aW9ucy4iCittc2dzdHIgIkTDuW5nICV1IHRyb25nIHPhu5EgJWQgcGjDom4gdsO5bmcuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICJDw7MgdOG7lW5nIHPhu5EgJWp1IGN1bmcgdOG7qyBjw7JuIHRy4buRbmcga2jhuqMgZOG7pW5nIHRyb25nICV1IMSRb+G6oW4gKGzhu5tuIG5o4bqldCBsw6AgJXMpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgZXJyb3IgZGV0ZWN0ZWQuIgorbXNnaWRfcGx1cmFsICIlZCBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyWzBdICJwaMOhdCBoaeG7h24gdGjhuqV5ICVkIGzhu5dpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKK21zZ2lkICJBbGwgcGFydGl0aW9ucyBhcmUgYWxyZWFkeSBpbiB1c2UuIgorbXNnc3RyICJU4bqldCBj4bqjIGPDoWMgcGjDom4gdsO5bmcgxJHDoyBz4bq1biBzw6BuZyDEkeG7gyBz4butIGThu6VuZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgzIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlanUgYWxyZWFkeSB1c2VkLiIKK21zZ3N0ciAiQ3VuZyB04burICVqdSDEkcOjIMSRxrDhu6NjIGTDuW5nIHLhu5NpLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGNyZWF0ZSBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICJLaMO0bmcgdGjhu4MgdOG6oW8gcGjDom4gdsO5bmcgJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBHUFQgZGlza2xhYmVsIChHVUlEOiAlcykuIgorbXNnc3RyICJU4bqhbyBt4buZdCBuaMOjbiDEkcSpYSBHUFQgKEdVSUQ6ICVzKS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICJOaOG6rXAgdsOgbyBVVUlEIGPhu6dhIMSRxKlhICjhu58gxJHhu4tuaCBk4bqhbmcgOC00LTQtNC0xMikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHlvdXIgVVVJRC4iCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBVVUlEIGPhu6dhIGLhuqFuLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIsSQ4buLbmggZGFuaCDEkcSpYSDEkcaw4bujYyB0aGF5IMSR4buVaSDigJwlc+KAnSB0aMOgbmgg4oCcJXPigJ0uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAiS2jDtG5nIGPDsm4gcGjDom4gdsO5bmcgY8OybiB0cuG7kW5nIG7DoG8gY+G6oyEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICJQaMOibiB2w7luZyAlemQ6IGPDsyBjdW5nIHThu6sgYuG6r3QgxJHhuqd1IDAgYuG7iyBs4buXaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICLEkMOjIHThuqFvIHJhIHPhu5EgcGjDom4gdsO5bmcgbOG7m24gbmjhuqV0IGNobyBwaMOpcC4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBhbGxvY2F0ZSBtZW1vcnkhIgorbXNnc3RyICJraMO0bmcgY+G6pXAgcGjDoXAgxJHGsOG7o2MgYuG7mSBuaOG7mzogJW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAiVMOqbiBwaMOibiB2w7luZyDEkcaw4bujYyB0aGF5IMSR4buVaSB04burIOKAnCVz4oCdIHRow6BuaCDigJwlLipz4oCdLiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBhdHRyaWJ1dGVzIG9uIHBhcnRpdGlvbiAlenUgY2hhbmdlZCB0byAweCUwMTY8UFJJeDY0Pi4iCittc2dzdHIgIktp4buDdSBj4bunYSBwaMOibiB2w7luZyDigJwlenXigJ0gY2jGsGEgdGhheSDEkeG7lWkuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICJOaOG6rXAgdsOgbyBiw610IEdVSUQgxJHhurdjIGJp4buHdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgYuG6rXQvdOG6r3Qga2jDtG5nIGjhu5cgdHLhu6MgYml0ICVsdSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICJCw610IEdVSUQgxJHhurdjIHRyxrBuZyAlZCB0csOqbiBwaMOibiB2w7luZyAlenUgxJHGsOG7o2MgYuG6rXQgbmdheS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkLDrXQgxJHhurd0IGJp4buHdCBHVUlEICVkIHRyw6puIHBow6JuIHbDuW5nICV6dSDEkcaw4bujYyB04bqvdCBuZ2F5LiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIkPhu50gJXMgdHLDqm4gcGjDom4gdsO5bmcgJXp1IMSRxrDhu6NjIGLhuq10IGLDonkgZ2nhu50uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIkPhu50gJXMgdHLDqm4gcGjDom4gdsO5bmcgJXp1IHPhur0gxJHGsOG7o2MgdOG6r3QgbmdheS4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM0Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICJLaeG7g3UtVVVJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzUKK21zZ2lkICJVVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICJUw6puIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6ODQ4Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAiQ2jhu5cgdHLhu5FuZyIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uICMlenUuIgorbXNnc3RyICJ0aGF5IMSR4buVaSBrw61jaCB0aMaw4bubYyBwaMOibiB2w7luZyBn4bq3cCBs4buXaSIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ2Cittc2dpZCAiU0dJIHZvbGhkciIKK21zZ3N0ciAiU0dJIHZvbGhkciIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ3Cittc2dpZCAiU0dJIHRya3JlcGwiCittc2dzdHIgIlNHSSB0cmtyZXBsIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDgKK21zZ2lkICJTR0kgc2VjcmVwbCIKK21zZ3N0ciAiU0dJIHNlY3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OQorbXNnaWQgIlNHSSByYXciCittc2dzdHIgIlNHSSB0aMO0IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTAKK21zZ2lkICJTR0kgYnNkIgorbXNnc3RyICJTR0kgYnNkIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTEKK21zZ2lkICJTR0kgc3lzdiIKK21zZ3N0ciAiU0dJIHN5c3YiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1MgorbXNnaWQgIlNHSSB2b2x1bWUiCittc2dzdHIgIkto4buRaSB0aW4gU0dJIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuZ3V5w6puIGLhuqNuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTU4Cittc2dpZCAiU0dJIGluZm8gY3JlYXRlZCBvbiBzZWNvbmQgc2VjdG9yLiIKK21zZ3N0ciAidGjDtG5nIHRpbiBTR0kgxJHGsOG7o2MgdOG6oW8gdHLDqm4gY3VuZyB04burIHRo4bupIGhhaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTgKK21zZ2lkICJEZXRlY3RlZCBhbiBTR0kgZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIgorbXNnc3RyICJUw6xtIHRo4bqleSBuaMOjbiDEkcSpYSBTR0kgduG7m2kgdOG7lW5nIGtp4buDbSB0cmEgKGNoZWNrc3VtKSBzYWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICJT4buRIHRy4bulIHbhuq10IGzDvSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4CisjLCBmdXp6eQorbXNnaWQgIkV4dHJhIHNlY3RzL2N5bCIKK21zZ3N0ciAiU+G7kSBjdW5nIHThu6sgZOG7sSBwaMOybmcgbeG7l2kgdHLhu6UiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIlThuq1wIHRpbiBraOG7n2kgxJHhu5luZzogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzozOTQKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiVOG6rXAgdGluIGto4bufaSDEkeG7mW5nIGtow7RuZyBo4bujcCBs4buHISBU4bqtcCB0aW4ga2jhu59pIMSR4buZbmcgcGjhuqNpIGzDoCBt4buZdCB0w6puIMSRxrDhu51uZyBk4bqrbiB0dXnhu4d0IMSR4buRaSBraMO0bmcgcuG7l25nLCB2LmQuIFwiL3VuaXhcIiBoYXkgXCIvdW5peC5zYXZlXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlIG1heGltdW0uIgorbXNnaWRfcGx1cmFsICJOYW1lIG9mIGJvb3RmaWxlIGlzIHRvbyBsb25nOiAlenUgYnl0ZXMgbWF4aW11bS4iCittc2dzdHJbMF0gIlTDqm4gY+G7p2EgdOG6rXAgdGluIGto4bufaSDEkeG7mW5nIHF1w6EgZMOgaTogdOG7kWkgxJFhIGzDoCAlenUgYnl0ZS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICJU4bqtcCB0aW4ga2jhu59pIMSR4buZbmcgcGjhuqNpIGPDsyDEkcaw4budbmcgZOG6q24gxJHhuqd5IMSR4bunLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQxMworbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICJD4bqnbiBiaeG6v3QgcuG6sW5nIHThuq1wIHRpbiBraOG7n2kgxJHhu5luZyBraMO0bmcgxJHGsOG7o2Mga2nhu4NtIHRyYSB04buTbiB04bqhaS4gTeG6t2MgxJHhu4tuaCBTR0kgbMOgIFwiL3VuaXhcIiB2w6Agc2FvIGzGsHUgbMOgIFwiL3VuaXguc2F2ZVwiLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICJU4bqtcCB0aW4ga2jhu59pIMSR4buZbmcgaGnhu4duIHThuqFpIGzDoDogJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDAKK21zZ2lkICJFbnRlciBvZiB0aGUgbmV3IGJvb3QgZmlsZSIKK21zZ3N0ciAiWGluIGjDo3kgbmjhuq1wIHTDqm4gY+G7p2EgdOG6rXAgdGluIGto4bufaSDEkeG7mW5nIG3hu5tpIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDQ1Cittc2dpZCAiQm9vdCBmaWxlIGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIlThuq1wIHRpbiBraOG7n2kgxJHhu5luZyBraMO0bmcgdGhheSDEkeG7lWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiVOG6rXAgdGluIGto4bufaSDEkeG7mW5nIMSRxrDhu6NjIHRoYXkgxJHhu5VpIHRow6BuaCBcIiVzXCIuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTk1Cittc2dpZCAiTW9yZSB0aGFuIG9uZSBlbnRpcmUgZGlzayBlbnRyeSBwcmVzZW50LiIKK21zZ3N0ciAiQ8OzIG5oaeG7gXUgaMahbiBt4buZdCB0b8OgbiBi4buZIMSRxKlhIGhp4buHbiBkaeG7h24uIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjAyIGxpYmZkaXNrL3NyYy9zdW4uYzo0NTkKK21zZ2lkICJObyBwYXJ0aXRpb25zIGRlZmluZWQuIgorbXNnc3RyICJLaMO0bmcgY8OzIHBow6JuIHbDuW5nIG7DoG8gxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEyCittc2dpZCAiSVJJWCBsaWtlcyBpdCB3aGVuIHBhcnRpdGlvbiAxMSBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAiVGjDrWNoIGjhu6NwIHbhu5tpIElSSVgga2hpIFBow6JuIHbDuW5nIDExIGJhbyBi4buNYyBj4bqjIG3hu5l0IMSRxKlhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICJQaMOibiB2w7luZyBjaOG7qWEgY+G6oyBt4buZdCDEkcSpYSBwaOG6o2kgYuG6r3QgxJHhuqd1IHThuqFpIGto4buRaSAwLCBjaOG7qSBraMO0bmcgcGjhuqNpIHThuqFpIGto4buRaSAlZC4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MjcKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIlBow6JuIHbDuW5nIDExIG7Dqm4gY2jhu6lhIHRvw6BuIGLhu5kgxJHEqWEuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9yLiIKK21zZ2lkX3BsdXJhbCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3JzLiIKK21zZ3N0clswXSAiUGjDom4gdsO5bmcgJWQgdsOgICVkIGNow6huIGzDqm4gbmhhdSAlZCBjdW5nIHThu6suIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjYyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yOiBzZWN0b3IgJTh1IgorbXNnaWRfcGx1cmFsICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3JzOiBzZWN0b3JzICU4dS0ldSIKK21zZ3N0clswXSAiS2hv4bqjbmcgdHLhu5FuZyBraMO0bmcgc+G7rSBk4bulbmcgJTh1IGN1bmcgdOG7qyAtIGN1bmcgdOG7qyAlOHUtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2OTcKK21zZ2lkICJUaGUgYm9vdCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICJQaMOibiB2w7luZyBraOG7n2kgxJHhu5luZyBraMO0bmcgdOG7k24gdOG6oWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzAxCittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgdHJhbyDEkeG7lWkga2jDtG5nIHThu5NuIHThuqFpLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgdHJhbyDEkeG7lWkgY8OzIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4ga2jDtG5nIHBo4bqjaSBraeG7g3UgdHJhbyDEkeG7lWkuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIkLhuqFuIMSRw6MgY2jhu41uIG3hu5l0IHTDqm4gdOG6rXAgdGluIGto4bufaSDEkeG7mW5nIGLhuqV0IGLDrG5oIHRoxrDhu51uZy4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKK21zZ2lkICJQYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4iCittc2dzdHIgIlBow6JuIHbDuW5nIGNo4buTbmcgbMOqbiBuaGF1IHRyw6puIMSRxKlhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0MworbXNnaWQgIkF0dGVtcHRpbmcgdG8gZ2VuZXJhdGUgZW50aXJlIGRpc2sgZW50cnkgYXV0b21hdGljYWxseS4iCittc2dzdHIgIlRo4butIHThu7EgxJHhu5luZyBwaMOibiB2w7luZyBj4bqjIMSRxKlhLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorbXNnaWQgIlRoZSBlbnRpcmUgZGlzayBpcyBhbHJlYWR5IGNvdmVyZWQgd2l0aCBwYXJ0aXRpb25zLiIKK21zZ3N0ciAiVG/DoG4gYuG7mSDEkcSpYSDEkcOjIGJhbyBjw6FjIHBow6JuIHbDuW5nLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg1MgorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAiQuG6oW4gY8OzIG3hu5l0IHBow6JuIHbDuW5nIMSRw6ggbMOqbiBuaGF1IHRyw6puIOG7lSDEkcSpYS4gSMOjeSBz4butYSDEkWkhIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODc0IGxpYmZkaXNrL3NyYy9zdW4uYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlyc3QgJXMiCittc2dzdHIgIiVzIMSR4bqndSB0acOqbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg5OCBsaWJmZGlzay9zcmMvc2dpLmM6OTQ4Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIlLhuqV0IGtodXnDqm4gYuG6oW4gbsOqbiBkw7luZyB2w7luZyBz4buRIG3GsOG7nWkgbeG7mXQgY2jhu6lhIGPhuqMg4buVIMSRxKlhIHbDoCBjw7MgbG/huqFpIOKAnGto4buRaSB0aW4gU0dJ4oCdLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjkxMyBsaWJmZGlzay9zcmMvc3VuLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgJXMgb3IgKyVzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIiVzIGN14buRaSBoYXkgKyVzIGhv4bq3YyAra8OtY2hfY+G7oXtLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg0IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICJCTEtHRVRTSVpFIGlvY3RsIGfhurdwIGzhu5dpIHRyw6puICVzLiDEkGFuZyBkw7luZyBnacOhIHRy4buLIHRy4bulIGjDrG5oIGjhu41jIGPhu6dhICVsbHUuIEdpw6EgdHLhu4sgbsOgeSBjw7MgdGjhu4MgYuG7iyBj4bqvdCBuZ+G6r24gY2hvIHRoaeG6v3QgYuG7iyA+IDMzLjggR0IuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU0dJIGRpc2tsYWJlbC4iCittc2dzdHIgIlThuqFvIG5ow6NuIMSRxKlhIFNHSSBt4bubaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDY5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICJS4bqldCB0aeG6v2MsIG5oxrBuZyBjaOG7iSBwaMOibiB2w7luZyBraMO0bmcgcuG7l25nIG3hu5tpIGPDsyB0aOG7gyB0aGF5IMSR4buVaSBj4budLiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKK21zZ2lkICJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiA5IGFzIHZvbHVtZSBoZWFkZXIgKDApLCBhbmQgcGFydGl0aW9uIDExIGFzIGVudGlyZSB2b2x1bWUgKDYpLCBhcyBJUklYIGV4cGVjdHMgaXQuIgorbXNnc3RyICJOw6puIMSR4buDIHBow6JuIHbDuW5nIDkgbmjGsCDEkeG6p3UgbeG7mXQga2jhu5FpIHRpbiAoMCksIHbDoCBwaMOibiB2w7luZyAxMSBuaMawIGPhuqMgbeG7mXQga2jhu5FpIHRpbiAoNikgdGhlbyB5w6p1IGPhuqd1IGPhu6dhIElSSVguIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBwYXJ0aXRpb24gYXQgb2Zmc2V0IDAgaXMgb2YgdHlwZSBcIlNHSSB2b2xoZHJcIiwgdGhlIElSSVggc3lzdGVtIHdpbGwgcmVseSBvbiBpdCB0byByZXRyaWV2ZSBmcm9tIGl0cyBkaXJlY3Rvcnkgc3RhbmRhbG9uZSB0b29scyBsaWtlIHNhc2ggYW5kIGZ4LiBPbmx5IHRoZSBcIlNHSSB2b2x1bWVcIiBlbnRpcmUgZGlzayBzZWN0aW9uIG1heSB2aW9sYXRlIHRoaXMuIEFyZSB5b3Ugc3VyZSBhYm91dCB0YWdnaW5nIHRoaXMgcGFydGl0aW9uIGRpZmZlcmVudGx5PyIKK21zZ3N0ciAiUuG6pXQga2h1ecOqbiBkw7luZyBsw6AgcGjDom4gdsO5bmcgdOG6oWkgduG7iyB0csOtIG9mZnNldCAwIGPDsyBraeG7g3UgbMOgIFwiU0dJIHZvbGhkclwiLCBo4buHIHRo4buRbmcgSVJJWCBz4bq9IGThu7FhIHRyw6puIMSRw7MgxJHhu4MgbOG6pXkgduG7gSB04burIHRoxrAgbeG7pWMgY+G7p2EgbsOzIGPDoWMgY8O0bmcgY+G7pSBjaOG6oXkgxJHGoW4gbmjGsCBzYXNoIHbDoCBmeC4gQ2jhu4kgY8OzIGPDoWMgdsO5bmcgY2jhu6lhIHRvw6BuIGLhu5kgxJHEqWEgXCJTR0kgdm9sdW1lXCIgbeG7m2kgeMOibSBwaOG6oW0gbsOzLiBHw7UgQ8OTIG7hur91IGLhuqFuIGNo4bqvYyBjaOG6r24gbXXhu5FuIMSR4bq3dCB0aOG6uyBjaG8gcGjDom4gdsO5bmcgbsOgeSB0aGVvIGPDoWNoIGtow6FjLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjM5Cittc2dpZCAiVW5hc3NpZ25lZCIKK21zZ3N0ciAiQ2jGsGEgZ8OhbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxCittc2dpZCAiU3VuT1Mgcm9vdCIKK21zZ3N0ciAiR+G7kWMgU3VuT1MiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MgorbXNnaWQgIlN1bk9TIHN3YXAiCittc2dzdHIgIlRyYW8gxJHhu5VpIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAiQ+G6oyDEkcSpYSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDYKK21zZ2lkICJTdW5PUyB2YXIiCittc2dzdHIgIlN1bk9TIHZhciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ3Cittc2dpZCAiU3VuT1MgaG9tZSIKK21zZ3N0ciAiU3VuT1MgaG9tZSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIkN1bmcgdOG7qyB0aGF5IHRo4bq/IFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDkKK21zZ2lkICJTdW5PUyBjYWNoZWZzIgorbXNnc3RyICJI4buHIHRo4buRbmcgdOG6rXAgdGluIG5o4bubIHThuqFtIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTAKK21zZ2lkICJTdW5PUyByZXNlcnZlZCIKK21zZ3N0ciAiRMOgbmggcmnDqm5nIFN1bk9TIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTMwCittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiBQcm9iYWJseSB5b3UnbGwgaGF2ZSB0byBzZXQgYWxsIHRoZSB2YWx1ZXMsIGUuZy4gaGVhZHMsIHNlY3RvcnMsIGN5bGluZGVycyBhbmQgcGFydGl0aW9ucyBvciBmb3JjZSBhIGZyZXNoIGxhYmVsIChzIGNvbW1hbmQgaW4gbWFpbiBtZW51KSIKK21zZ3N0ciAixJDDoyBuaOG6rW4gcmEgbmjDo24gxJHEqWEgc3VuIHbhu5tpIHThu5VuZyBraeG7g20gdHJhIGNoZWNrc3VtIGzhu5dpLiBH4bqnbiBuaMawIGNo4bqvYyBjaOG6r24gbMOgIGLhuqFuIHBo4bqjaSDEkeG6t3QgbOG6oWkgdOG6pXQgY+G6oyBjw6FjIGdpw6EgdHLhu4ssIHYuZC4gxJHhuqd1IHThu6tjLCBjdW5nIHThu6ssIHRy4bulIHbDoCBwaMOibiB2w7luZyBob+G6t2MgYuG6r3QgYnXhu5ljIG3hu5l0IG5ow6NuIG3hu5tpIChjw6J1IGzhu4duaCDigJxz4oCdIHRyb25nIHRyw6xuaCDEkcahbiBjaMOtbmgpIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2ZXJzaW9uIFslZF0uIgorbXNnc3RyICJUw6xtIHRo4bqleSBuaMOjbiDEkcSpYSBTdW4gduG7m2kgc+G7kSBwaGnDqm4gYuG6o24gc2FpIFslZF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIlTDrG0gdGjhuqV5IG5ow6NuIMSRxKlhIFN1biB24bubaSB2dG9jLnNhbml0eSBzYWkgWzB4JTA4eF0uIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTU3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLm5wYXJ0cyBbJXVdLiIKK21zZ3N0ciAiVMOsbSB0aOG6pXkgbmjDo24gxJHEqWEgU3VuIHbhu5tpIHZ0b2MubnBhcnRzIHNhaSBbJXVdLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE2MgorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICJD4bqjbmggYsOhbzogY8OhYyBnacOhIHRy4buLIGtow7RuZyDEkcO6bmcgY+G6p24gcGjhuqNpIMSRxrDhu6NjIHPhu61hIGNo4buvYSBuw6puIHPhur0gxJHGsOG7o2Mgc+G7rWEgYuG7n2kgdyhyaXRlKSAoZ2hpKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE4NworbXNnaWQgIkhlYWRzIgorbXNnc3RyICLEkOG6p3UgdOG7qyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIkN1bmcgdOG7qy9yw6NuaCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjI5MworbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIlThuqFvIG5ow6NuIMSRxKlhIFN1biBt4bubaS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGRvZXNuJ3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAiUGjDom4gdsO5bmcgJXUga2jDtG5nIGvhur90IHRow7pjIHRyw6puIHJhbmggZ2nhu5tpIHRy4bulLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQzNgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgb3ZlcmxhcHMgd2l0aCBvdGhlcnMgaW4gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIlBow6JuIHbDuW5nICV1IMSRw6ggbMOqbiBjw6FjIHBow6JuIHbDuW5nIGtow6FjIHRyw6puIHLDo25oIGdoaSAldS0ldS4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIktob+G6o25nIHRy4buRbmcga2jDtG5nIHPhu60gZOG7pW5nIC0gcsOjbmggZ2hpIDAtJXUiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIC0gc2VjdG9ycyAldS0ldS4iCittc2dzdHIgIktob+G6o25nIHRy4buRbmcga2jDtG5nIHPhu60gZOG7pW5nIC0gcsOjbmggZ2hpICV1LSV1LiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorbXNnaWQgIk90aGVyIHBhcnRpdGlvbnMgYWxyZWFkeSBjb3ZlciB0aGUgd2hvbGUgZGlzay4gRGVsZXRlIHNvbWUvc2hyaW5rIHRoZW0gYmVmb3JlIHJldHJ5LiIKK21zZ3N0ciAiQ8OhYyBwaMOibiB2w7luZyBraMOhYyDEkcOjIGNo4bupYSBj4bqjIMSRxKlhLiBIw6N5IHjDs2EgaGF5IHRodSBuaOG7jyBrw61jaCB0aMaw4bubYyBjaMO6bmcgdHLGsOG7m2Mga2hpIHRo4butIGzhuqFpLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAiUuG6pXQga2h1ecOqbiDEkeG6t3QgcGjDom4gdsO5bmcgdGjhu6kgYmEgY2hp4bq/bSB0b8OgbiBi4buZIMSRxKlhIHbDoCBjw7Mga2nhu4N1IOKAnFRvw6BuIMSRxKlh4oCdIChXaG9sZSBkaXNrKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICJDaOG7iW5oIGN1bmcgdOG7qyDEkeG6p3UgdGnDqm4gdOG7qyAldSB0aMOgbmggJXUgxJHhu4MgbsOzIG7hurFtIHRyw6puIGJpw6puIGPhu6dhIHRy4bulLiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQiCittc2dzdHIgIkN1bmcgdOG7qyAlZCDEkcOjIMSRxrDhu6NjIHBow6JuIHBo4buRaSBy4buTaSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIlBow6JuIHbDuW5nIHRo4bupIDMga2jDtG5nIGNo4bupYSB0b8OgbiBi4buZIOG7lSDEkcSpYSwgbmjGsG5nIGPDoWMgZ2nDoSB0cuG7iyAlbHUgJXMgY+G7p2EgYuG6oW4gxJHDqCBsw6puXG4iCisibeG7mXQgc+G7kSBwaMOibiB2w7luZyBraMOhYy4gQ8OhYyBt4bulYyDEkcOjIMSRxrDhu6NjIHRoYXkgxJHhu5VpIHRow6BuaCAlbHUgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWYgeW91IHdhbnQgdG8gbWFpbnRhaW4gU3VuT1MvU29sYXJpcyBjb21wYXRpYmlsaXR5LCBjb25zaWRlciBsZWF2aW5nIHRoaXMgcGFydGl0aW9uIGFzIFdob2xlIGRpc2sgKDUpLCBzdGFydGluZyBhdCAwLCB3aXRoICV1IHNlY3RvcnMiCittc2dzdHIgIiIKKyJO4bq/dSBi4bqhbiBtdeG7kW4gYuG6o28gdHLDrCBt4buZdCDEkcSpYSB0xrDGoW5nIHRow61jaCB24bubaSBTdW5PUy9Tb2xhcmlzLCB0aMOsIGPhuqduIMSR4buDIHBow6JuXG4iCisidsO5bmcgbsOgeSBsw6AgQ+G6oyDEkcSpYSAoNSksIGLhuq90IMSR4bqndSB04burIDAsIHbhu5tpICV1IGN1bmcgdOG7qyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2MworIywgZnV6enkKK21zZ2lkICJMYWJlbCBJRCIKK21zZ3N0ciAiSUQgbmjDo246ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzY4CisjLCBmdXp6eQorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAiSUQgdsO5bmc6ICVzIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4CisjLCBmdXp6eQorbXNnaWQgIkFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIlPhu5EgdHLhu6UgeGVuIGvhur0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAiU+G7kSB0cuG7pSB4ZW4ga+G6vSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICJT4buRIGN1bmcgdOG7qyBk4buxIHBow7JuZyBt4buXaSB0cuG7pSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkzMworbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICJI4buHIHPhu5EgeGVuIGvhur0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NTcKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAiVOG7kWMgxJHhu5kgcXVheSAocnBtKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIlPhu5EgdHLhu6UgduG6rXQgbMO9IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0NgorbXNnaWQgIiIKKyJDb25zaWRlciBsZWF2aW5nIHBhcnRpdGlvbiAzIGFzIFdob2xlIGRpc2sgKDUpLFxuIgorImFzIFN1bk9TL1NvbGFyaXMgZXhwZWN0cyBpdCBhbmQgZXZlbiBMaW51eCBsaWtlcyBpdC5cbiIKK21zZ3N0ciAiIgorIk7Dqm4gxJHhu4MgcGjDom4gdsO5bmcgMyBuaMawIEPhuqMgbeG7mXQgxJHEqWEgKFdob2xlIGRpc2sgKDUpKSxcbiIKKyJ2w6wgU3VuT1MvU29sYXJpcyDEkcOyaSBo4buPaSDEkWnhu4F1IG7DoHkgdsOgIHRo4bqtbSBjaMOtIExpbnV4IHRow61jaCB0aOG6vy5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNTcKK21zZ2lkICIiCisiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMFxuIgorImlzIFVGUywgRVhUMkZTIGZpbGVzeXN0ZW0gb3IgU3VuT1Mgc3dhcC4gUHV0dGluZyBMaW51eCBzd2FwXG4iCisidGhlcmUgbWF5IGRlc3Ryb3kgeW91ciBwYXJ0aXRpb24gdGFibGUgYW5kIGJvb3RibG9jay5cbiIKKyJBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gdGFnIHRoZSBwYXJ0aXRpb24gYXMgTGludXggc3dhcD8iCittc2dzdHIgIiIKKyJS4bqldCBraHV5w6puIGTDuW5nIHBow6JuIHbDuW5nIHThuqFpIG9mZnNldCAwIGPDsyBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisiVUZTLCBFWFQyRlMgaGF5IHN3YXAgU3VuT1MuIE7hur91IMSR4bq3dCB0aMOgbmggdsO5bmcgdHJhbyDEkeG7lWkgY+G7p2EgTGludXggdGjDrFxuIgorImPDsyB0aOG7gyBo4buneSBi4bqjbmcgcGjDom4gdsO5bmcgY+G7p2EgYuG6oW4gdsOgIGto4buRaSBraOG7n2kgxJHhu5luZy5cbiIKKyJC4bqhbiBjw7MgY2jhuq9jIGNo4bqvbiBtdeG7kW4gxJHhurd0IHBow6JuIHbDuW5nIMSRw7MgdGjDoG5oIHbDuW5nIHRyYW8gxJHhu5VpIChzd2FwKSBMaW51eCk/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dC5jOjIzNzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJyZWFkbGluayBn4bq3cCBs4buXaTogJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTMzNQorIywgYy1mb3JtYXQKK21zZ2lkICJXQVJOSU5HOiBmYWlsZWQgdG8gYXBwbHkgcHJvcGFnYXRpb24gZmxhZ3MiCittc2dzdHIgIkPhuqJOSCBCw4FPOiBn4bq3cCBs4buXaSBraGkgw6FwIGThu6VuZyBjw6FjIGPhu50gbGFuIHRydXnhu4FuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldBUk5JTkc6IGRldmljZSB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50ZWQgcmVhZC1vbmx5IgorbXNnc3RyICIlcyDEkcaw4bujYyBi4bqjbyB24buHIGNo4buRbmcgZ2hpIG7Dqm4gY2jhu4kgZ+G6r24ga2nhu4N1IGNo4buJLcSR4buNYyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICIlcyDEkcOjIGfhuq9uIGvhur90IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSAlcyB0cm9uZyAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHBvaW50IGluICVzIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgxJFp4buDbSBn4bqvbiAlcyB0cm9uZyAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzc1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgbmd14buTbiBn4bqvbiAlcyB0cm9uZyAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQgb24gJXM7IHVzZSAtdCA8dHlwZT4gb3Igd2lwZWZzKDgpIgorbXNnc3RyICIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRldGVybWluZSBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgeMOhYyDEkeG7i25oIG5ndeG7k24iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAiY2jGsGEgeMOhYyDEkeG7i25oIHTDqm4gdOG6rXAgdGluIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCAlcyIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHNvdXJjZSBzcGVjaWZpZWQiCittc2dzdHIgImNoxrBhIGNo4buJIHJhIMSRaeG7g20gZ+G6r24iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggY8OhYyB0w7l5IGNo4buNbiBn4bqvbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDAyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggY8OhYyB0w7l5IGNo4buNbiBn4bqvbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyBsb29wIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgJXMiCittc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoaeG6v3QgYuG7iyBscCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDE0IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvY2tpbmcgZmFpbGVkIgorbXNnc3RyICLEkcOzbmcgJXMgZ+G6t3AgbOG7l2kiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQgKGfhuq9uKSBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXM6IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBi4buPIGfhuq9uLCBuaMawbmcgbOG7h25oIG1vdW50KDgpIGfhurdwIGzhu5dpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXM6IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBi4buPIGfhuq9uLCBuaMawbmcgbOG7h25oIG1vdW50KDgpIGfhurdwIGzhu5dpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIsSRaeG7g20gZ+G6r24gJXMga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgdGjGsCBt4bulYyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgYy1mb3JtYXQKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCIKK21zZ3N0ciAicXV54buBbiB0cnV5IGPhuq1wIGLhu4sgdOG7qyBjaOG7kWkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1NAorIywgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgImPhuqduIHBo4bqjaSBsw6Agc2nDqnUgbmfGsOG7nWkgZMO5bmcgKHJvb3QpIMSR4buDIHPhu60gZOG7pW5nIGzhu4duaCBtb3VudCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJtb3VudDogJXMgxJFhbmcgYuG6rW4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9uICVzIgorbXNnc3RyICJtb3VudDogxJHDoyBn4bqvbiAlcyB0csOqbiAlc1xuIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvciBtb3VudCBwb2ludCBidXN5IgorbXNnc3RyICIgJXPEkcOjIGfhuq9uIHLhu5NpIGhv4bq3YyAlcyDEkWFuZyBi4bqtbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAixJFp4buDbSBn4bqvbiAlcyBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIsSRaeG7g20gZ+G6r24gJXMgbMOgIG3hu5l0IGxpw6puIGvhur90IG3hu4FtIGtow7RuZyBjaOG7iSB04bubaSDEkcOidSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJ0aGnhur90IGLhu4sgxJHhurdjIGJp4buHdCAlcyBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MTYKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwMCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50KDIpIHN5c3RlbSBjYWxsIGZhaWxlZDogJW0iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBtb3VudCgyKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTEyCisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSkiCittc2dzdHIgInRoaeG6v3QgYuG7iyDEkeG6t2MgYmnhu4d0ICVzIGtow7RuZyB04buTbiB04bqhaSAodGnhu4FuIHThu5EgY+G7p2EgxJHGsOG7nW5nIGThuqtuIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoxrAgbeG7pWMpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIm1vdW50OiAlcyBjaMawYSBn4bqvbiwgaG/hurdjIHTDuXkgY2jhu41uIHNhaSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnQgcG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiICVzIGtow7RuZyBwaOG6o2kgbMOgIMSRaeG7g20gZ+G6r24sIGhv4bq3YyB0w7l5IGNo4buNbiBzYWkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKyJ0w7l5IGNo4buNbiBzYWkuIENow7ogw70gcuG6sW5nIGRpIGNodXnhu4NuIG3hu5l0IG1vdW50IG5n4bulIGTGsOG7m2kgbeG7mXRcbiIKKyIgICAgICAgbW91bnQga2jDtG5nIGNoaWEgc+G6uyB0aMOsIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujLiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICIiCisiICAgICAgICjEkeG7kWkgduG7m2kgdsOgaSBo4buHIHRo4buRbmcgdOG6rXAgdGluLCB2LmQuIG5mcywgY2lmcywgY8OzIGzhur1cbiIKKyIgICAgICAgYuG6oW4gY+G6p24gZMO5bmcg4bupbmcgZOG7pW5nIGLhu5UgdHLhu6Mg4oCcL3NiaW4vbW91bnQuPGtp4buDdT7igJ0uIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorInNhaSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiwgdMO5eSBjaOG7jW4gc2FpLCBzacOqdSBraOG7kWkgc2FpIHRyw6puICVzLFxuIgorIiAgICAgICB0aGnhur91IHRyYW5nIG3DoyBoYXkgY2jGsMahbmcgdHLDrG5oIGLhu5UgdHLhu6MsIGhv4bq3YyBs4buXaSBraMOhYyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHRhYmxlIGZ1bGwiCittc2dzdHIgImLhuqNuZyBn4bqvbiBi4buLIMSR4bqneSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkIHN1cGVyYmxvY2sgb24gJXMiCittc2dzdHIgIiVzOiBraMO0bmcgxJHhu41jIMSRxrDhu6NjIHNpw6p1IGto4buRaSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgImtow7RuZyBoaeG7g3Uga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4g4oCcJXPigJ0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aGnhur90IGLhu4sga2jhu5FpLCB2w6Agc3RhdCAobOG6pXkgdHLhuqFuZyB0aMOhaSkga2jDtG5nIHRow6BuaCBjw7RuZz8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisiaOG6oXQgbmjDom4ga2jDtG5nIG5o4bqtbiByYSAlcyBuaMawIGzDoCB0aGnhur90IGLhu4sga2jhu5FpXG4iCisiICAgICAgIChjw7MgdGjhu4MgdGjhu60g4oCcbW9kcHJvYmUgZHJpdmVy4oCdLikiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGzDoCB0aGnhur90IGLhu4sga2jhu5FpIChjw7MgdGjhu4MgaMOjeSB0aOG7rSDigJwtbyBsb29w4oCdLikiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlcyBraMO0bmcgcGjhuqNpIHRoaeG6v3QgYuG7iyDEkeG6t2MgYmnhu4d0IGto4buRaS4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGzDoCB0aGnhur90IGLhu4sga2jhu5FpIHRow61jaCBo4bujcCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgImtow7RuZyBn4bqvbiDEkcaw4bujYyAlcyB24bubaSBjaOG6vyDEkeG7mSBjaOG7iS3EkeG7jWMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICIlcyDEkcaw4bujYyBi4bqjbyB24buHIGto4buPaSBnaGkgbmjGsG5nIMSRxrBhIHJhIGPhu50g4oCcLXfigJ0gKHdyaXRlLCBnaGkpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHJlbW91bnQgJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6r3AgbOG6oWkgJXMgxJHhu41jLWdoaSB2w6wgbsOzIMSRxrDhu6NjIGLhuqNvIHbhu4cgY2jhu5FuZyBnaGkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmluZCAlcyBmYWlsZWQiCittc2dzdHIgIiVzIGfhurdwIGzhu5dpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgduG6rXQgY2jhu6lhIHRyw6puICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudDsgcHJvYmFibHkgY29ycnVwdGVkIGZpbGVzeXN0ZW0gb24gJXMiCittc2dzdHIgInPhur0ga2jDtG5nIHRo4butIHThuqFvIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdHLDqm4g4oCcJXPigJ0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiBjaMawYSBn4bqvbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgIm1vdW50IChn4bqvbikga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIiVzOiBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgYuG7jyBn4bqvbiwgbmjGsG5nIGzhu4duaCBtb3VudCg4KSBn4bq3cCBs4buXaSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiVzOiBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgYuG7jyBn4bqvbiwgbmjGsG5nIGzhu4duaCBtb3VudCg4KSBn4bq3cCBs4buXaSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzOiB0aGnhur90IGLhu4sga2jhu5FpIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGdoaSBzacOqdSBraOG7kWkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICIlcyDEkWFuZyBi4bqtbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSBjaOG7iSByYSDEkWnhu4NtIGfhuq9uIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlczogcGjhuqNpIGzDoCBzacOqdSBuZ8aw4budaSBkw7luZyAocm9vdCkgxJHhu4MgYuG7jyBn4bqvbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgZGV2aWNlcyBhcmUgbm90IHBlcm1pdHRlZCBvbiBmaWxlc3lzdGVtIgorbXNnc3RyICIlczogdGhp4bq/dCBi4buLIGto4buRaSBraMO0bmcgxJHGsOG7o2MgdGjhu6thIG5o4bqtbiB0csOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG1vdW50KDIpIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCBi4buLIGzhu5dpICglcykiCisKKyM6IGxpYi9wYXRoLmM6MjM5IHN5cy11dGlscy9sc2NwdS5jOjE3NjAKK21zZ2lkICJmYWlsZWQgdG8gY2FsbG9jYXRlIGNwdSBzZXQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiBj4bqlcCAoY2FsbG9jYXRlKSB04bqtcCBo4bujcCBDUFUiCisKKyM6IGxpYi9wYXRoLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGRhbmggc8OhY2ggQ1BVICVzIgorCisjOiBsaWIvcGF0aC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgY+G7p2EgYuG7mSBs4buNYyBDUFUgJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gVU5JWCBzb2NrZXQiCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIGLhuqNuZyDEkWnhu4F1IGtoaeG7g24iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICJraW5oIHThur8gxJHhurd0IHRo4budaSBo4bqhbiBjaOG7nSBjaG8gJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgImtow7RuZyB0aOG7gyBt4bufIGLhuqNuZyDEkWnhu4F1IGtoaeG7g24iCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICJow6BtIHBzZXVkby1yYW5kb20gdOG7qyBsaWJjIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTk5Cittc2dpZCAibGliYyBwc2V1ZG8tcmFuZG9tIGZ1bmN0aW9ucyIKK21zZ3N0ciAiaMOgbSBwc2V1ZG8tcmFuZG9tIHThu6sgbGliYyIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIHRoxINtIGTDsiB0aGnhur90IGLhu4siCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXM6IGvhur90IHF14bqjIHRoxINtIGTDsiBraMO0bmcgcsO1OyBkw7luZyB3aXBlZnMoOCkiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHZhbGlkIHN3YXAgcGFydGl0aW9uIgorbXNnc3RyICIlczoga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQgcGjDom4gdsO5bmcgdHJhbyDEkeG7lWkgxJHDum5nIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXM6IGtow7RuZyBo4buXIHRy4bujIHbDuW5nIHRyYW8gxJHhu5VpIHBoacOqbiBi4bqjbiDigJwlc+KAnSIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAiIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgImPhu5VuZyDigJwlbGTigJ0gbuG6sW0gbmdvw6BpIHBo4bqhbSB2aSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW3R14buzX2No4buNbl0gWzx0w6BpX2tob+G6o25fbmfGsOG7nWlfZMO5bmc+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIlRoYXkgxJHhu5VpIHRow7RuZyB0aW4gbcOjIHbDom4gdGF5IGPhu6dhIGLhuqFuLlxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAgLWYsIC0tZnVsbC1uYW1lIDxo4buNX3TDqm4+ICAgIHRoYXkgxJHhu5VpIGjhu40gdMOqbiB0aOG6rXQgY+G7p2EgYuG6oW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgIHPhu5EgdsSDbiBwaMOybmdcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNAorbXNnaWQgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIG9mZmljZSBwaG9uZSBudW1iZXJcbiIKK21zZ3N0ciAiICAtcCwgLS1vZmZpY2UtcGhvbmUgPHPEkXQ+ICAgIHPhu5EgxJFp4buHbiB0aG/huqFpIHbEg24gcGjDsm5nIGPhu6dhIGLhuqFuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgIC1oLCAtLWhvbWUtcGhvbmUgPHPEkXThu59uPiAgICBz4buRIMSRaeG7h24gdGhv4bqhaSBj4bunYSBi4bqhbiDhu58gbmjDoFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICJ0csaw4budbmcgJXMgcXXDoSBkw6BpIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVzOiBjw7MgY2jhu6lhIGPDoWMga8O9IHThu7Ega2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICJsb2dpbi5kZWZzIG5nxINuIGPhuqNuIGPDoGkgxJHhurd0ICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTYyIGxvZ2luLXV0aWxzL2NoZm4uYzoxNjQgbG9naW4tdXRpbHMvY2hmbi5jOjMyNgorbXNnaWQgIk9mZmljZSIKK21zZ3N0ciAiVsSDbiBwaMOybmciCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICLEkGnhu4duIHRob+G6oWkgdsSDbiBwaMOybmciCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAixJBp4buHbiB0aG/huqFpIOG7nyBuaMOgIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIkLhu4sgaOG7p3kgYuG7jy4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCBjw7MgZ2nDoSB0cuG7iyBraMO0bmcgbmjGsCBtb25nIMSR4bujaTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIGtow7RuZyBjaG8gYuG6pXQga+G7syB0aGF5IMSR4buVaSBuw6BvIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLlxuIgorbXNnc3RyICJUaMO0bmcgdGluIGZpbmdlciAqQ0jGr0EqIHRoYXkgxJHhu5VpLiAgSMOjeSB0aOG7rSBs4bqhaSBzYXUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIGNoYW5nZWQuXG4iCittc2dzdHIgIlRow7RuZyB0aW4gZmluZ2VyIMSRw6MgdGhheSDEkeG7lWkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAiYuG6oW4gKG5nxrDhu51pIGTDuW5nICVkKSBraMO0bmcgdOG7k24gdOG6oWkuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgXCIlc1wiIGRvZXMgbm90IGV4aXN0LiIKK21zZ3N0ciAibmfGsOG7nWkgZMO5bmcgXCIlc1wiIGtow7RuZyB04buTbiB04bqhaS4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzcgbG9naW4tdXRpbHMvY2hzaC5jOjI4NAorbXNnaWQgImNhbiBvbmx5IGNoYW5nZSBsb2NhbCBlbnRyaWVzIgorbXNnc3RyICJjaOG7iSBjw7MgdGjhu4MgdGhheSDEkeG7lWkgY8OhYyBt4bulYyBu4buZaSBi4buZIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgZmluZ2VyIGluZm8gb2YgJXMiCittc2dzdHIgIiVzIGNoxrBhIMSRxrDhu6NjIHjDoWMgdGjhu7FjIMSR4buDIHRoYXkgxJHhu5VpIHRow7RuZyB0aW4gZmluZ2VyIGPhu6dhICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAiS2jDtG5nIGhp4buDdSBuZ+G7ryBj4bqjbmggbmfGsOG7nWkgZMO5bmciCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTggbG9naW4tdXRpbHMvY2hzaC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAia2jDtG5nIMSR4bq3dCDEkcaw4bujYyB2xINuIGPhuqNuaCBjaG8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NjkKK21zZ2lkICJydW5uaW5nIFVJRCBkb2Vzbid0IG1hdGNoIFVJRCBvZiB1c2VyIHdlJ3JlIGFsdGVyaW5nLCBjaGFuZ2UgZGVuaWVkIgorbXNnc3RyICJVSUQgxJFhbmcgaG/huqF0IMSR4buZbmcga2jDtG5nIHTGsMahbmcg4bupbmcgduG7m2kgVUlEIGPhu6dhIG5nxrDhu51pIGTDuW5nIGNow7puZyB0YSBiaeG6v24gxJHhu5VpLCBraMO0bmcgY2hvIHBow6lwIHRoYXkgxJHhu5VpIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDczCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5naW5nIGZpbmdlciBpbmZvcm1hdGlvbiBmb3IgJXMuXG4iCittc2dzdHIgIlRoYXkgxJHhu5VpIHRow7RuZyB0aW4gZmluZ2VyIGNobyAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIlRow7RuZyB0aW4gZmluZ2VyIGNoxrBhIHRoYXkgxJHhu5VpLlxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6NzcKK21zZ2lkICJDaGFuZ2UgeW91ciBsb2dpbiBzaGVsbC5cbiIKK21zZ3N0ciAixJDhu5VpIHNoZWxsICho4buHIHbhu48pIMSRxINuZyBuaOG6rXAgY+G7p2EgYuG6oW4uXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBzcGVjaWZ5IGxvZ2luIHNoZWxsXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICBjaOG7iSDEkeG7i25oIHNoZWxsICho4buHIHbhu48pIMSRxINuZyBuaOG6rXBcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgxCittc2dpZCAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIHByaW50IGxpc3Qgb2Ygc2hlbGxzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICBpbiByYSBkYW5oIHPDoWNoIGPDoWMgc2hlbGwgKGjhu4cgduG7jykgcuG7k2kgdGhvw6F0XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzAKK21zZ2lkICJzaGVsbCBtdXN0IGJlIGEgZnVsbCBwYXRoIG5hbWUiCittc2dzdHIgInNoZWxsICho4buHIHbhu48pIHBo4bqjaSBjw7MgZOG6oW5nIHTDqm4gxJHGsOG7nW5nIGThuqtuIMSR4bqneSDEkeG7pyIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIlwiJXNcIiBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICJcIiVzXCIga2jDtG5nIGPDsyBraOG6oyBuxINuZyB0aOG7sWMgdGhpIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IFwiJXNcIiBpcyBub3QgbGlzdGVkIGluICVzLiIKK21zZ3N0ciAiQ+G6o25oIGLDoW86IFwiJXNcIiBraMO0bmcgbuG6sW0gdHJvbmcgXCIlc1wiLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisiXCIlc1wiIGtow7RuZyBu4bqxbSB0cm9uZyBcIiVzXCIuXG4iCisiU+G7rSBk4bulbmcgJXMgLWwgxJHhu4MgeGVtIGRhbmggc8OhY2guIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhdXRob3JpemVkIHRvIGNoYW5nZSB0aGUgc2hlbGwgb2YgJXMiCittc2dzdHIgIiVzIGtow7RuZyDEkcaw4bujYyB4w6FjIHRo4buxYyDEkeG7gyB0aGF5IMSR4buVaSBzaGVsbCAoaOG7hyB24buPKSBj4bunYSDigJwlc+KAnSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMyNQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIlVJRCDEkWFuZyBob+G6oXQgxJHhu5luZyBraMO0bmcgdMawxqFuZyDhu6luZyB24bubaSBVSUQgY+G7p2EgbmfGsOG7nWkgZMO5bmcgY2jDum5nIHRhIMSRYW5nIG5o4bqtcCwgc2hlbGwgKGjhu4cgduG7jykga2jDtG5nIGNobyBwaMOpcCB0aGF5IMSR4buVaSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICJ5b3VyIHNoZWxsIGlzIG5vdCBpbiAlcywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAic2hlbGwgKGjhu4cgduG7jykgY+G7p2EgYuG6oW4ga2jDtG5nIGPDsyB0cm9uZyAlcywga2jDtG5nIGNobyBwaMOpcCB0aGF5IMSR4buVaSBo4buHIHbhu48gKHNoZWxsKSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIsSQYW5nIHRoYXkgxJHhu5VpIHNoZWxsICho4buHIHbhu48pIGNobyAlcy5cbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAic2hlbGwgKGjhu4cgduG7jykgbeG7m2kiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTAKK21zZ2lkICJTaGVsbCBub3QgY2hhbmdlZC4iCittc2dzdHIgIkNoxrBhIHRoYXkgxJHhu5VpIHNoZWxsICho4buHIHbhu48pLiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1NQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICJTaGVsbCAqQ0jGr0EqIHRoYXkgxJHhu5VpLiAgSMOjeSB0aOG7rSBs4bqhaSBzYXUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisic2V0cHduYW0gZ+G6t3AgbOG7l2lcbiIKKyJzaGVsbCAoaOG7hyB24buPKSAqQ0jGr0EqIHRoYXkgxJHhu5VpLiAgSMOjeSB0aOG7rSBs4bqhaSBzYXUuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgInNoZWxsICho4buHIHbhu48pIMSRw6MgdGhheSDEkeG7lWkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgPHBhc3N3b3JkZmlsZT4gPHVzZXJuYW1lPi4uLlxuIgorbXNnc3RyICJDw6FjaCBkw7luZzogJXMgPHThuq1wIHRpbiBt4bqtdCBraOG6qXU+IDx0w6BpIGtob+G6o24+4oCmXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHRpbWUgZm9ybWF0OiAlcyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSDEkeG7i25oIGThuqFuZyBnaeG7nTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyNzYgbG9naW4tdXRpbHMvbGFzdC5jOjI4NAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnRlcnJ1cHRlZCAlcyIKK21zZ3N0ciAiJXMgYuG7iyBuZ+G6r3QiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo0MzUgbG9naW4tdXRpbHMvbGFzdC5jOjQ0NiBsb2dpbi11dGlscy9sYXN0LmM6ODkyCittc2dpZCAicHJlYWxsb2NhdGlvbiBzaXplIGV4Y2VlZGVkIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyBj4bqlcCBwaMOhdCB0csaw4bubYyDEkcOjIGLhu4sgdsaw4bujdCBxdcOhIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT4uLi5dIFs8dHR5Pi4uLl1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8dMOgaSBraG/huqNuIG5nxrDhu51pIGTDuW5n4oCmPiBbPHTDqm4gdHR5PuKApl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgZGFuaCBzw6FjaCDEkcSDbmcgbmjhuq1wIGN14buRaSBj4bunYSBjw6FjIG5nxrDhu51pIGTDuW5nLlxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc4Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC08bnVtYmVyPiAgICAgICAgICAgIGhp4buDbiB0aOG7iyBiYW8gbmhpw6p1IGTDsm5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzkKK21zZ2lkICIgLWEsIC0taG9zdGxhc3QgICAgICAgZGlzcGxheSBob3N0bmFtZXMgaW4gdGhlIGxhc3QgY29sdW1uXG4iCittc2dzdHIgIiAtYSwgLS1ob3N0bGFzdCAgICAgICBoaeG7g24gdGjhu4sgdMOqbiBtw6F5IHRyb25nIGPhu5l0IGN14buRaVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgwCittc2dpZCAiIC1kLCAtLWRucyAgICAgICAgICAgIHRyYW5zbGF0ZSB0aGUgSVAgbnVtYmVyIGJhY2sgaW50byBhIGhvc3RuYW1lXG4iCittc2dzdHIgIiAtZCwgLS1kbnMgICAgICAgICAgICBiacOqbiBk4buLY2ggc+G7kSBJUCBuZ8aw4bujYyBs4bqhaSB0aMOgbmggdMOqbiBtw6F5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgIHVzZSBhIHNwZWNpZmljIGZpbGUgaW5zdGVhZCBvZiAlc1xuIgorbXNnc3RyICIgLWYsIC0tZmlsZSA8VOG6rFAtVElOPiBkw7luZyB04bqtcCB0aW4gdGhheSBjaG8gJXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MworbXNnaWQgIiAtRiwgLS1mdWxsdGltZXMgICAgICBwcmludCBmdWxsIGxvZ2luIGFuZCBsb2dvdXQgdGltZXMgYW5kIGRhdGVzXG4iCittc2dzdHIgIiAtRiwgLS1mdWxsdGltZXMgICAgICBoaeG7g24gdGjhu4sgbmfDoHkgZ2nhu50gxJHEg25nIG5o4bqtcC94deG6pXQgZOG6oW5nIMSR4bqneSDEkeG7p1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcCAgICAgICAgICAgICBoaeG7g24gdGjhu4sgY8OhYyBz4buRIElQIOG7nyBk4bqhbmcgZ2hpIGNow7ogbmfEg24gY8OhY2ggYuG6sW5nIGThuqV1IGNo4bqlbVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIC1uLCAtLWxpbWl0IDxz4buRPiAgICAgbXXhu5FuIGhp4buDbiB0aOG7iyBiYW8gbmhpw6p1IGTDsm5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODYKK21zZ2lkICIgLVIsIC0tbm9ob3N0bmFtZSAgICAgZG9uJ3QgZGlzcGxheSB0aGUgaG9zdG5hbWUgZmllbGRcbiIKK21zZ3N0ciAiIC1SLCAtLW5vaG9zdG5hbWUgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgdHLGsOG7nW5nIHTDqm4gbcOheVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg3Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgaGnhu4NuIHRo4buLIGPDoWMgZMOybmcga+G7gyB04burIHRo4budaSBnaWFuIMSRw6MgY2hvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKK21zZ2lkICIgLXQsIC0tdW50aWwgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgdW50aWwgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtdCwgLS11bnRpbCA8dGltZT4gICBoaeG7g24gdGjhu4sgY8OhYyBkw7JuZyBjaG8gxJHhur9uIHRo4budaSDEkWnhu4NtIMSRw6MgY2hvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXAsIC0tcHJlc2VudCA8dGltZT4gaGnhu4NuIHRo4buLIGFpIG5nxrDhu51pIG3DoCBoaeG7h24gZGnhu4duIHThuqFpIHRo4budaSDEkWnhu4NtIMSRw6MgY2hvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKK21zZ2lkICIgLXcsIC0tZnVsbG5hbWVzICAgICAgZGlzcGxheSBmdWxsIHVzZXIgYW5kIGRvbWFpbiBuYW1lc1xuIgorbXNnc3RyICIgLXcsIC0tZnVsbG5hbWVzICAgICAgaGnhu4NuIHRo4buLIMSR4bqneSDEkeG7pyB0w6puIG1p4buBbiB2w6AgdMOqbiBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICBoaeG7g24gdGjhu4sgY8OhYyBt4bulYyB04bqvdCBtw6F5IGjhu4cgdGjhu5FuZyB2w6AgY8OhYyB0aGF5IMSR4buVaSBt4bupYyBjaOG6oXlcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8xJHhu4tuaF9k4bqhbmc+IGhp4buDbiB0aOG7iyBk4bqldSB0aOG7nWkgZ2lhbiBkw7luZyA8xJHhu4tuaF9k4bqhbmc+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6ODkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJXMgYmVnaW5zICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlcyBi4bqvdCDEkeG6p3UgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBz4buRIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTkzIGxvZ2luLXV0aWxzL2xhc3QuYzo5OTggbG9naW4tdXRpbHMvbGFzdC5jOjEwMDMKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTAzCisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgImdpw6EgdHLhu4sgZ2nhu50ga2jDtG5nIGjhu6NwIGzhu4cgXCIlc1wiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICJLaMO0bmcgdGjhu4MgeMOzYSDEkeG6t2MgcXV54buBbiBuaMOzbSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgImto4bufaSB04bqhbyBsaWJ1c2VyIGfhurdwIGzhu5dpOiAlcy4iCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo1MgorbXNnaWQgImNoYW5naW5nIHVzZXIgYXR0cmlidXRlIGZhaWxlZCIKK21zZ3N0ciAidGhheSDEkeG7lWkgdGh14buZYyB0w61uaCBuZ8aw4budaSBkw7luZyBn4bq3cCBs4buXaSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAidGh14buZYyB0w61uaCBuZ8aw4budaSBkw7luZyBraMO0bmcgdGhheSDEkeG7lWk6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIk5HSEnDik0gVFLhu4xORzoga2jDtG5nIHRo4buDIG3hu58gbOG6oWkgdHR5OiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICJOR0hJw4pNIFRS4buMTkc6ICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoaeG6v3QgYuG7iyBjdeG7kWkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duICglcywgJWx1LCAlbHUpIGZhaWxlZDogJW0iCittc2dzdHIgImNob3duICglcywgJWx1LCAlbHUpIGfhurdwIGzhu5dpOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2htb2QgKCVzLCAldSkgZ+G6t3AgbOG7l2k6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM4MAorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICJOR0hJw4pNIFRS4buMTkc6IHR0eSBzYWkiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Mzk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiAlczogY2hhbmdlIHBlcm1pc3Npb25zIGZhaWxlZDogJW0iCittc2dzdHIgIk5HSEnDik0gVFLhu4xORzogJXM6IHRoYXkgxJHhu5VpIHF1eeG7gW4gZ+G6t3AgbOG7l2k6ICVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAixJDEg25nIG5o4bqtcCBs4bqnbiBjdeG7kWk6ICUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAidOG7qyAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9uICUuKnNcbiIKK21zZ3N0ciAidHLDqm4gJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworbXNnaWQgIndyaXRlIGxhc3Rsb2cgZmFpbGVkIgorbXNnc3RyICJs4bqnbiBnaGkgbmjhuq10IGvDvSBjdeG7kWkgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIkRJQUxVUCBBVCAlcyBCWSAlcyIKK21zZ3N0ciAiUVVBWSBT4buQIFThuqBJICVzIELhu55JICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0MworIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIEZST00gJXMiCittc2dzdHIgIsSQxIJORyBOSOG6rFAgTkfGr+G7nEkgQ0jhu6YgVFLDik4gJXMgVOG7qiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyIKK21zZ3N0ciAixJDEgk5HIE5I4bqsUCBOR8av4bucSSBDSOG7piBUUsOKTiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMgRlJPTSAlcyIKK21zZ3N0ciAixJDEgk5HIE5I4bqsUCBUUsOKTiAlcyBC4bueSSAlcyBU4buqICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAixJDEgk5HIE5I4bqsUCBUUsOKTiAlcyBC4bueSSAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICLEkMSDbmcgbmjhuq1wOiAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlBBTSBmYWlsdXJlLCBhYm9ydGluZzogJXMiCittc2dzdHIgIlBBTSB0aOG6pXQgYuG6oWkgbsOqbiBo4buneSBi4buPOiAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGRuJ3QgaW5pdGlhbGl6ZSBQQU06ICVzIgorbXNnc3RyICJLaMO0bmcgdGjhu4Mga2jhu59pIHThuqFvIFBBTTogJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Nzg5CisjLCBjLWZvcm1hdAorbXNnaWQgIkZBSUxFRCBMT0dJTiAldSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkzhu5ZJIMSQxIJORyBOSOG6rFAgJXUgVOG7qiAlcyBDSE8gJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyJTYWkgdMOqbiBuZ8aw4budaSBkw7luZyBob+G6t2MgbeG6rXQga2jhuql1XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODEyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJRVcOBIE5ISeG7gFUgTOG6pk4gVEjhu6wgxJDEgk5HIE5I4bqsUCAoJXUpIFThu6ogJXMgQ0hPICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOIFNFU1NJT04gRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJQSEnDik4gQ0jhuqBZIMSQxIJORyBOSOG6rFAgQuG7iiBM4buWSSBU4buqICVzIENITyAlcywgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMb2dpbiBpbmNvcnJlY3RcbiIKK21zZ3N0ciAiIgorIlxuIgorIlNhaSB0w6puIG5nxrDhu51pIGTDuW5nIGhv4bq3YyBt4bqtdCBraOG6qXVcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHNldHVwIHByb2JsZW0sIGFib3J0LiIKK21zZ3N0ciAiIgorIlxuIgorIkPDsyB24bqlbiDEkeG7gSBj4bqldSBow6xuaCBwaGnDqm4gY2jhuqF5IG7Dqm4gaOG7p3kgYuG7jy4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIlTDqm4gbmfGsOG7nWkgZMO5bmcgYuG6sW5nIFbDlCBHScOBIFRS4buKIChOVUxMKSB0cm9uZyAlczolZC4gVGhvw6F0LiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSBi4buLIGzhu5dpOiAlbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIkPDoWNoIGTDuW5nOiBsb2dpbiBbLXBdIFstaCA8bcOheS1jaOG7pz5dIFstSF0gW1stZl0gPHTDoGkta2hv4bqjbj5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMAorbXNnaWQgIkJlZ2luIGEgc2Vzc2lvbiBvbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICJC4bqvdCDEkeG6p3UgbeG7mXQgcGhpw6puIHRyw6puIGjhu4cgdGjhu5FuZy5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtcCAgICAgICAgICAgICBkbyBub3QgZGVzdHJveSB0aGUgZW52aXJvbm1lbnQiCittc2dzdHIgIiAtZiAgICAgICAgICAga2jDtG5nIGPhuq90IHh14buRbmcgZMOybmcga2hpIGfhurdwIGTDsm5nIGTDoGlcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAtdSAgICAgICAgICB0aHUgaOG7k2kgZ+G6oWNoIGNow6JuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICJs4buXaSBxdcOhIGzDonUgc2F1ICV1IGdpw6J5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbjog4oCcLWjigJ0gY2jhu4kgZMOgbmggY2hvIHNpw6p1IG5nxrDhu51pIGTDuW5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHVzZXIgbmFtZSBcIiVzXCIgaW4gJXM6JWQuIEFib3J0LiIKK21zZ3N0ciAiVMOqbiBuZ8aw4budaSBkw7luZyBzYWkgXCIlc1wiIHRyb25nICVzOiVkLiBI4buneSBi4buPLiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjYzCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwcyBpbml0aWFsaXphdGlvbiBmYWlsZWQ6ICVtIgorbXNnc3RyICJz4buxIGto4bufaSB04bqhbyBuaMOzbSBn4bq3cCBs4buXaTogJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorbXNnaWQgInNldGdpZCgpIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkKCkgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMxOAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBuZXcgbWFpbC5cbiIKK21zZ3N0ciAiQuG6oW4gY8OzIHRoxrAgbeG7m2kuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTMyMAorIywgYy1mb3JtYXQKK21zZ2lkICJZb3UgaGF2ZSBtYWlsLlxuIgorbXNnc3RyICJC4bqhbiBjw7MgdGjGsC5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzM0Cittc2dpZCAic2V0dWlkKCkgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQoKSBn4bq3cCBs4buXaSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlczogxJHhu5VpIHRoxrAgbeG7pWMgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIsSQYW5nIMSRxINuZyBuaOG6rXAgduG7m2kgdGjGsCBt4bulYyBjw6EgbmjDom4gPSBcIi9cIi5cbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc2Cittc2dpZCAiY291bGRuJ3QgZXhlYyBzaGVsbCBzY3JpcHQiCittc2dzdHIgImtow7RuZyB0aOG7sWMgaGnhu4duIMSRxrDhu6NjIHbEg24gbOG7h25oIHNoZWxsICho4buHIHbhu48pIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKK21zZ2lkICJubyBzaGVsbCIKK21zZ3N0ciAia2jDtG5nIGPDsyBo4buHIHbhu48iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlczogJXMgY2jhu6lhIGdpw6EgdHLhu4sgYuG6sW5nIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICJ0cuG6oW5nIHRow6FpIMSRxINuZyBuaOG6rXAgaW0gbOG6t25nOiBwaOG7pWMgaOG7k2kgSUQgbmd1ecOqbiBn4buRYyBn4bq3cCBs4buXaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDggc3lzLXV0aWxzL2xzY3B1LmM6MTQzNiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2CisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJubyIKK21zZ3N0ciAia2jDtG5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNyBtaXNjLXV0aWxzL2xzYmxrLmM6MTg2Cittc2dpZCAidXNlciBuYW1lIgorbXNnc3RyICJ0w6BpIGtob+G6o24iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE3Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIlTDoGkga2hv4bqjbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0Cittc2dpZCAidXNlciBJRCIKK21zZ3N0ciAibcOjIElEIE5nxrDhu51pIGTDuW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxOQorbXNnaWQgInBhc3N3b3JkIG5vdCByZXF1aXJlZCIKK21zZ3N0ciAia2jDtG5nIGPhuqduIG3huq10IGto4bqpdSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIktow7RuZyBj4bqnbiBt4bqtdCBraOG6qXUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIsSRxINuZyBuaOG6rXAgYuG6sW5nIG3huq10IGto4bqpdSBi4buLIGPhuqVtIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICLEkMSDbmcgbmjhuq1wIGLhurFuZyBt4bqtdCBraOG6qXUgYuG7iyBj4bqlbSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKK21zZ2lkICJwYXNzd29yZCBkZWZpbmVkLCBidXQgbG9ja2VkIgorbXNnc3RyICJt4bqtdCBraOG6qXUgxJHDoyDEkcaw4bujYyDEkeG7i25oIG5naMSpYSBuaMawbmcgbsOzIGzhuqFpIGLhu4sga2jDs2EiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICJN4bqtdCBraOG6qXUgYuG7iyBraMOzYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKK21zZ2lkICJsb2cgaW4gZGlzYWJsZWQgYnkgbm9sb2dpbig4KSBvciBwYW1fbm9sb2dpbig4KSIKK21zZ3N0ciAixJHEg25nIG5o4bqtcCBi4buLIHThuq90IGLhu59pIG5vbG9naW4oOCkgaGF5IHBhbV9ub2xvZ2luKDgpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgIk5vIGxvZ2luIgorbXNnc3RyICJLaMO0bmcgxJHEg25nIG5o4bqtcCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgInTDqm4gbmjDs20gY2jDrW5oIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMworbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIk5ow7NtIGNow61uaCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKK21zZ2lkICJwcmltYXJ5IGdyb3VwIElEIgorbXNnc3RyICJtw6Mgc+G7kSBuaMOzbSBjaMOtbmgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAic3VwcGxlbWVudGFyeSBncm91cCBuYW1lcyIKK21zZ3N0ciAiY8OhYyB0w6puIG5ow7NtIHBo4bulIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICJDw6FjIG5ow7NtIHBo4bulIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICJtw6Mgc+G7kSBuaMOzbSBwaOG7pSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAiTcOjIHPhu5EgbmjDs20gcGjhu6UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgInRoxrAgbeG7pWMgY8OhIG5ow6JuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNworbXNnaWQgIkhvbWUgZGlyZWN0b3J5IgorbXNnc3RyICJUaMawIG3hu6VjIGPDoSBuaMOibiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKK21zZ2lkICJsb2dpbiBzaGVsbCIKK21zZ3N0ciAiaOG7hyB24buPIMSRxINuZyBuaOG6rXAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIkjhu4cgduG7jyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJmdWxsIHVzZXIgbmFtZSIKK21zZ3N0ciAiaOG7jSB0w6puIGPhu6dhIG5nxrDhu51pIGTDuW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgIkdlY29zIGZpZWxkIgorbXNnc3RyICJUcsaw4budbmcgR2Vjb3MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMwCittc2dpZCAiZGF0ZSBvZiBsYXN0IGxvZ2luIgorbXNnc3RyICJ0aOG7nWkgxJFp4buDbSDEkcSDbmcgbmjhuq1wIGzhuqduIGN14buRaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICJM4bqnbiDEkcSDbmcgbmjhuq1wIGN14buRaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzEKK21zZ2lkICJsYXN0IHR0eSB1c2VkIgorbXNnc3RyICJ0dHkgZMO5bmcgbOG6p24gY3Xhu5FpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIlRoaeG6v3QgYuG7iyBjdeG7kWkgY3Xhu5FpIGPDuW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMgorbXNnaWQgImhvc3RuYW1lIGR1cmluZyB0aGUgbGFzdCBzZXNzaW9uIgorbXNnc3RyICJ0w6puIG3DoXkgdHJvbmcgc3Xhu5F0IHBoacOqbiBsw6BtIHZp4buHYyBjdeG7kWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAiVMOqbiBtw6F5IGN14buRaSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzMKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICJ0aOG7nWkgxJFp4buDbSBjdeG7kWkgxJHEg25nIG5o4bqtcCBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSRxINuZyBuaOG6rXAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAid2hlcmUgZGlkIHRoZSBsb2dpbiBmYWlsPyIKK21zZ3N0ciAibsahaSDEkcSDbmcgbmjhuq1wIHRo4bqldCBi4bqhaT8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICJUaGnhur90IGLhu4sgY3Xhu5FpIMSRxINuZyBuaOG6rXAgdGjhuqV0IGLhuqFpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgInVzZXIncyBodXNoIHNldHRpbmdzIgorbXNnc3RyICJjw6BpIMSR4bq3dCBodXNoIGPhu6dhIG5nxrDhu51pIGTDuW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAiSHVzaGVkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAibsOgeSBtw6AgbmfGsOG7nWkgZMO5bmcgbXXhu5FuIG3huq10IGto4bqpdSBo4bq/dCBo4bqhbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIk5o4buLcCBj4bqjbmggYsOhbyBo4bq/dCBo4bqhbiBt4bqtdCBraOG6qXUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAicGFzc3dvcmQgZXhwaXJhdGlvbiBkYXRlIgorbXNnc3RyICJuZ8OgeSBt4bqtdCBraOG6qXUgaOG6v3QgaOG6oW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM3Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAiTeG6rXQga2jhuql1IMSRw6MgaOG6v3QgaOG6oW4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiZGF0ZSBvZiBsYXN0IHBhc3N3b3JkIGNoYW5nZSIKK21zZ3N0ciAibmfDoHkgdGjDoW5nIHRoYXkgxJHhu5VpIG3huq10IGto4bqpdSBjdeG7kWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAiTeG6rXQga2jhuql1IMSRw6MgdGhheSDEkeG7lWkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAibnVtYmVyIG9mIGRheXMgcmVxdWlyZWQgYmV0d2VlbiBjaGFuZ2VzIgorbXNnc3RyICJz4buRIG5nw6B5IGPhuqduIGdp4buvYSBjw6FjIGzhuqduIHRoYXkgxJHhu5VpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIk1pbmltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIlRo4budaSBnaWFuIHRoYXkgxJHhu5VpIHThu5FpIHRoaeG7g3UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgInPhu5EgbmfDoHkgdOG7kWkgxJFhIG3DoCBt4bqtdCBraOG6qXUga2jDtG5nIGPhuqduIHRoYXkgxJHhu5VpIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIk1heGltdW0gY2hhbmdlIHRpbWUiCittc2dzdHIgIlRo4budaSBnaWFuIHRoYXkgxJHhu5VpIHThu5FpIMSRYSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDEKK21zZ2lkICJ0aGUgdXNlcidzIHNlY3VyaXR5IGNvbnRleHQiCittc2dzdHIgIm5n4buvIGPhuqNuaCBhbiBuaW5oIGPhu6dhIG5nxrDhu51pIGTDuW5nIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiTmfhu68gY+G6o25oIFNFTGludXgiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBydW4gYnkgdGhlIHVzZXIiCittc2dzdHIgInPhu5EgbMaw4bujbmcgdGnhur9uIHRyw6xuaCBjaOG6oXkgYuG7n2kgbmfGsOG7nWkgZMO5bmciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQyCittc2dpZCAiUnVubmluZyBwcm9jZXNzZXMiCittc2dzdHIgIkPDoWMgdGnhur9uIHRyw6xuaCDEkWFuZyBjaOG6oXkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjQxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQgc3lzLXV0aWxzL2xzbWVtLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIsSRw6MgY2jhu4kgcmEgcXXDoSBuaGnhu4F1IGPhu5l0LCBnaeG7m2kgaOG6oW4gbMOgICV6dSBj4buZdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDIgc3lzLXV0aWxzL2xzaXBjLmM6NDU3Cittc2dpZCAidW5zdXBwb3J0ZWQgdGltZSB0eXBlIgorbXNnc3RyICJraeG7g3UgdGjhu51pIGdpYW4ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQ2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjb21wb3NlIHRpbWUgc3RyaW5nIgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCAtLXRpbWVvdXQgKGNo4budIHThu5FpIMSRYSkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6NjQzCittc2dpZCAiZmFpbGVkIHRvIGdldCBzdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IGPDoWMgbmjDs20gcGjhu6UiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA2OAorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mToga2jDtG5nIGhp4buDdSBj4buZdCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJOaOG6rXQga8O9IGN14buRaTpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI2IGxvZ2luLXV0aWxzL25vbG9naW4uYzoyNworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NDk1IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjgzIG1pc2MtdXRpbHMvdXVpZGQuYzo2MgorIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjYgc3lzLXV0aWxzL2RtZXNnLmM6MjY2IHN5cy11dGlscy9pcGNtay5jOjY3CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAwIHN5cy11dGlscy9sc2lwYy5jOjI3OCBzeXMtdXRpbHMvbHNtZW0uYzo0OTYKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNCBzeXMtdXRpbHMvcnRjd2FrZS5jOjk4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3OQorIzogdGV4dC11dGlscy9saW5lLmM6MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW1TDuXkgY2jhu41uXVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjkKK21zZ2lkICJEaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGtub3duIHVzZXJzIGluIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4Egbmjhu69uZyBuZ8aw4budaSBkw7luZyDEkcOjIGJp4bq/dCB0cm9uZyBo4buHIHRo4buRbmcuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMgorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBo4bq/dCBo4bqhbiBt4bqtdCBraOG6qXVcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMzCittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIgLWMsIC0tY29sb24tc2VwYXJhdGUgICAgIGhp4buDbiB0aOG7iyBk4buvIGxp4buHdSDhu58gZOG6oW5nIGdp4buRbmcgbmjGsCAvZXRjL3Bhc3N3ZFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzQgc3lzLXV0aWxzL2xzaXBjLmM6Mjk3Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBoaeG7g24gdGjhu4sg4bufICDEkeG7i25oIGThuqFuZyBjw7MgdGjhu4MgeHXhuqV0IHJhXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorbXNnaWQgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgZGlzcGxheSBkYXRhIGFib3V0IHRoZSB1c2VycycgbGFzdCBmYWlsZWQgbG9naW5zXG4iCittc2dzdHIgIiAtZiwgLS1mYWlsZWQgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGThu68gbGnhu4d1IHbhu4EgxJHEg25nIG5o4bqtcCB0aOG6pXQgYuG6oWkgbOG6p24gY3Xhu5FpIGPhu6dhIG5nxrDhu51pIGTDuW5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNgorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBncm91cHNcbiIKK21zZ3N0ciAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIGPDoWMgbmjDs21cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiAtZywgLS1ncm91cHM9PG5ow7NtPiAgICAgIGhp4buDbiB0aOG7iyBuaMawbmcgbmfGsOG7nWkgZMO5bmcgY8O5bmcgduG7m2kgbmjDs20gdHJvbmcgPG5ow7NtPlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzgKK21zZ2lkICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIHNob3cgaW5mbyBhYm91dCB0aGUgdXNlcnMnIGxhc3QgbG9naW4gc2Vzc2lvbnNcbiIKK21zZ3N0ciAiIC1MLCAtLWxhc3QgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgY8OhYyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIMSRxINuZyBuaOG6rXAgY3Xhu5FpIGPhu6dhIG5nxrDhu51pIGTDuW5nXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOQorbXNnaWQgIiAtbCwgLS1sb2dpbnM9PGxvZ2lucz4gICAgZGlzcGxheSBvbmx5IHVzZXJzIGZyb20gPGxvZ2lucz5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBoaeG7g24gdGjhu4sgY2jhu4kgbmjhu69uZyBuZ8aw4budaSBkw7luZyB04burIDxsb2dpbnM+XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgaGnhu4NuIHRo4buLIHThu6tuZyBt4bqjbmggdGjDtG5nIHRpbiB0csOqbiBt4buZdCBkw7JuZyBt4bubaVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDEgc3lzLXV0aWxzL2xzaXBjLmM6MjkyCittc2dpZCAiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIMSR4burbmcgY+G6r3Qgbmfhuq9uIGvhur90IHh14bqldFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXRbPTxsaXN0Pl0gICAgxJHhu4tuaCBuZ2jEqWEgY8OhYyBj4buZdCBz4bq9IGhp4buDbiB0aOG7iyByYVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDQKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBsacOqbiBxdWFuIMSR4bq/biDEkcSDbmcgbmjhuq1wIGLhurFuZyBt4bqtdCBraOG6qXUuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDMKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGRpc3BsYXkgaW4gcmF3IG1vZGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sg4bufIGNo4bq/IMSR4buZIHRow7RcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ2Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIHTDoGkga2hv4bqjbiBo4buHIHRo4buRbmdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ3IHN5cy11dGlscy9sc2lwYy5jOjI5NAorbXNnaWQgIiAgICAgLS10aW1lLWZvcm1hdD08dHlwZT4gZGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdCA8a2nhu4N1PiAgaGnhu4NuIHRo4buLIHRo4budaSBnaWFuIGTDuW5nIMSR4buLbmggZOG6oW5nIG5n4bqvbiwgxJHhuqd5IMSR4bunIGhheSBpc29cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ4Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBoaeG7g24gdGjhu4sgY8OhYyB0w6BpIGtob+G6o24gbmfGsOG7nWkgZMO5bmdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5Cittc2dpZCAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBkaXNwbGF5IFNFTGludXggY29udGV4dHNcbiIKK21zZ3N0ciAiIC1aLCAtLWNvbnRleHQgICAgICAgICAgICBoaeG7g24gdGjhu4sgbmfhu68gY+G6o25oIFNFTGludXhcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUwCittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLXosIC0tcHJpbnQwICAgICAgICAgICAgIG5nxINuIGPDoWNoIGPDoWMgbeG7pWMgYuG6sW5nIGvDvSB04buxIG51bFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDzEkcaw4budbmdfZOG6q24+ICDEkeG6t3QgxJHGsOG7nW5nIGThuqtuIHRoYXkgdGjhur8gY2hvIHd0bXBcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUyCittc2dpZCAiICAgICAtLWJ0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIGJ0bXBcbiIKK21zZ3N0ciAiICAgICAtLWJ0bXAtZmlsZSA8xJHGsOG7nW5nX2ThuqtuPiAgxJHhurd0IMSRxrDhu51uZyBk4bqrbiB0aGF5IHRo4bq/IGNobyBidG1wXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQzNAorbXNnaWQgImZhaWxlZCB0byByZXF1ZXN0IHNlbGludXggc3RhdGUiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSB5w6p1IGPhuqd1IHRy4bqhbmcgdGjDoWkgc2VsaW51eCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDQ4IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ1MgorbXNnaWQgIk9ubHkgb25lIHVzZXIgbWF5IGJlIHNwZWNpZmllZC4gVXNlIC1sIGZvciBtdWx0aXBsZSB1c2Vycy4iCittc2dzdHIgIkNo4buJIMSRxrDhu6NjIMSRxrBhIHJhIG3hu5l0IG5nxrDhu51pIGTDuW5nLiBEw7luZyAtbCDEkeG7gyBkw7luZyBjaG8gbmhp4buBdSBuZ8aw4budaS4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1Cittc2dpZCAiY291bGQgbm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IGPDoWMgdGh14buZYyB0w61uaCBj4bunYSB0aGnhur90IGLhu4sgY3Xhu5FpIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSBn4bq3cCBs4buXaSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTUwCittc2dpZCAiUGFzc3dvcmQ6ICIKK21zZ3N0ciAiTeG6rXQga2jhuql1OiAiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE2MCBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTk1Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICJjcnlwdCBn4bq3cCBs4buXaSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAlcyA8bmjDs20+XG4iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3NgorbXNnaWQgIkxvZyBpbiB0byBhIG5ldyBncm91cC5cbiIKK21zZ3N0ciAixJDEg25nIG5o4bqtcCB2w6BvIG3hu5l0IG5ow7NtIG3hu5tpLlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgImLhuqFuIGzDoCBhaT8iCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxNyBsb2dpbi11dGlscy9uZXdncnAuYzoyMjkgc3lzLXV0aWxzL25zZW50ZXIuYzo0NzQKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjIyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNAorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgImtow7RuZyBjw7MgbmjDs20gbmjGsCB24bqteSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2Cittc2dpZCAic2V0dWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIGLhu4sgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICJU4burIGNo4buRaSBt4buZdCDEkcSDbmcgbmjhuq1wIG3hu5l0IGPDoWNoIHRhbyBuaMOjLlxuIgorCisjOiBsb2dpbi11dGlscy9ub2xvZ2luLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICJUw6BpIGtob+G6o24gbsOgeSBoaeG7h24gdOG6oWkga2jDtG5nIHPhurVuIHPDoG5nLlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyMjQKK21zZ2lkICIgKGNvcmUgZHVtcGVkKSIKK21zZ3N0ciAiKGzDtWkgxJHGsOG7o2MgxJHhu5UpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoyNzggdGVybS11dGlscy9zY3JpcHQuYzo2MzIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSBjw6FjIHRodeG7mWMgdMOtbmggY+G7p2EgdGhp4bq/dCBi4buLIGN14buRaSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MzAyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgcHNldWRvLXRlcm1pbmFsIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gYuG7lSBi4bqjbmcga+G6v3QgeHXhuqV0IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo0ODggbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzYyCittc2dpZCAiY2Fubm90IGJsb2NrIHNpZ25hbHMiCittc2dzdHIgImtow7RuZyB0aOG7gyBuZ8SDbiBj4bqjbiBjw6FjIHTDrW4gaGnhu4d1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAicG9sbCgpIGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58gdGjGsCBt4bulYyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHGsOG7o2MgZMO5bmcgYuG7n2kgbeG7mXQgdMOgaSBraG/huqNuIGtow7RuZyBwaOG6o2kgc2nDqnUgcXXhuqNuIHRy4buLIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MzAKK21zZ2lkICJpbmNvcnJlY3QgcGFzc3dvcmQiCittc2dzdHIgInNhaSBt4bqtdCBraOG6qXUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBzZXNzaW9uOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gcGhpw6puOiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbmfEg24gY+G6o24gY8OhYyB0w61uIGhp4buHdSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgImtow7RuZyDEkeG6t3QgYuG7mSB0aeG6v3AgaOG7o3AgdMOtbiBoaeG7h3UiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJraMO0bmcgxJHhurd0IGLhu5kgdGnhur9wIGjhu6NwIHTDrW4gaGnhu4d1IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAia2jDtG5nIMSR4bq3dCBi4buZIHRp4bq/cCBo4bujcCB0w61uIGhp4buHdSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gdGnhur9uIHRyw6xuaCBjb24iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAia2jDtG5nIGNodXnhu4NuIMSR4buVaSDEkcaw4bujYyBzYW5nIHRoxrAgbeG7pWMgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg3OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisiUGhpw6puIGzDoG0gdmnhu4djIGLhu4sgY2jhuqVtIGThu6l0LCDEkWFuZyBnaeG6v3Qgc2hlbGzigKYiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIg4oCmYuG7iyBnaeG6v3QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhurd0IGdp4bubaSBo4bqhbiBuZ3Xhu5NuICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgImtow7RuZyDEkeG6t3QgxJHGsOG7o2MgY8OhYyBuaMOzbSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVzZXIgY3JlZGVudGlhbHM6ICVzIgorbXNnc3RyICJraMO0bmcgcGjDom4gdMOtY2ggxJHGsOG7o2MgbeG7qWMg4oCcJXPigJ0iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjIgc3lzLXV0aWxzL2VqZWN0LmM6NjYwCittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAia2jDtG5nIMSR4bq3dCDEkcaw4bujYyBtw6Mgc+G7kSBuaMOzbSAoR0lEKSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgImtow7RuZyDEkeG6t3QgxJHGsOG7o2MgbcOjIHPhu5EgbmfGsOG7nWkgZMO5bmcgKFVJRCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGtow7RuZyDEkeG6t3QgbOG6oWkgY8OhYyBiaeG6v24gbcO0aSB0csaw4budbmdcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MworbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1nLCAtLWdyb3VwIDxuaMOzbT4gICAgICAgICAgICAgIGNo4buJIMSR4buLbmggbmjDs20gY2jDrW5oXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPG5ow7NtPiAgICAgICAgIGNo4buJIMSR4buLbmggbmjDs20gcGjhu6UgdGjDqm0gdsOgb1xuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICBsw6BtIGjhu4cgduG7jyDEkcSDbmcgbmjhuq1wIGjhu4cgduG7j1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk4Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAtYyAgLS1jb21tYW5kIDxs4buHbmg+ICAgICAgICAgICAgY2h1eeG7g24gbeG7mXQgY8OidSBs4buHbmggxJHGoW4gY2hvIGjhu4cgduG7jyB24bubaSAtY1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDxs4buHbmg+ICAgICAgICBjaHV54buDbiBt4buZdCBjw6J1IGzhu4duaCDEkcahbiBjaG8gaOG7hyB24buPIHbhu5tpIC1jXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdsOgIGtow7RuZyB04bqhbyBt4buZdCBwaGnDqm4gbeG7m2lcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIGNodXnhu4NuIC1mIHThu5tpIGjhu4cgduG7jyAoY2hvIGNzaCBoYXkgdGNzaClcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPGjhu4cgduG7jz4gICAgICAgICAgICAgY2jhuqF5IGjhu4cgduG7jyBu4bq/dSAvZXRjL3NoZWxscyBjaG8gcGjDqXAgbsOzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLXB0eSAgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgbmV3IHBzZXVkby10ZXJtaW5hbFxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIHThuqFvIG3hu5l0IGLhuqNuZ1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC11IDx1c2VyPiBbWy0tXSA8Y29tbWFuZD5dXG4iCisiICUxJHMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8dGhp4bq/dC1i4buLPiBbWy1OXSA8cGjhuqduPl1cbiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gPGzhu4duaD5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExOAorIywgZnV6enkKK21zZ2lkICIiCisiUnVuIDxjb21tYW5kPiB3aXRoIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgb2YgPHVzZXI+LiAgSWYgLXUgaXNcbiIKKyJub3QgZ2l2ZW4sIGZhbGwgYmFjayB0byBzdSgxKS1jb21wYXRpYmxlIHNlbWFudGljcyBhbmQgZXhlY3V0ZSBzdGFuZGFyZCBzaGVsbC5cbiIKKyJUaGUgb3B0aW9ucyAtYywgLWYsIC1sLCBhbmQgLXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIC11LlxuIgorbXNnc3RyICIiCisiXG4iCisiQ2jhuqF5IDxM4buGTkg+IHbhu5tpIHZhaSB0csOyIGzDoCBpZCBj4bunYSB0w6BpIGtob+G6o24gaGF5IG5ow7NtLiBO4bq/dSBraMO0bmcgxJHGsGEgcmEgLXVcbiIKKyJ0aMOsIGPDsyB0w6FjIGThu6VuZyBnaeG7kW5nIHbhu5tpIHN1KDEpIHbDoCBo4buHIHbhu48gdGnDqnUgY2h14bqpbiDEkcaw4bujYyB0aOG7sWMgdGhpLlxuIgorIkPDoWMgdMO5eSBjaOG7jW4gLWMsIC1mLCAtbCB2w6AgLXMgbMOgIHh1bmcgxJHhu5l0IHbhu5tpIC11LlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx0w6BpLWtob+G6o24+ICAgICAgICB0w6BpIGtob+G6o25cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstXSBbPHVzZXI+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSBbLV0gWzx0w6BpLWtob+G6o24+IFs8xJHhu5FpIHPhu5E+4oCmXV1cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEzOAorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlIHRoZSBlZmZlY3RpdmUgdXNlciBJRCBhbmQgZ3JvdXAgSUQgdG8gdGhhdCBvZiA8dXNlcj4uXG4iCisiQSBtZXJlIC0gaW1wbGllcyAtbC4gIElmIDx1c2VyPiBpcyBub3QgZ2l2ZW4sIHJvb3QgaXMgYXNzdW1lZC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIlRoYXkgxJHhu5VpIElEIG5nxrDhu51pIGTDuW5nIHbDoCBuaMOzbSBjaG8gbmjhu69uZyBjw6FpIMSRw7MgY+G7p2EgPE5Hxq/hu5xJLUTDmU5HPi5cbiIKKyItIGhp4buDdSBsw6AgLTEuIE7hur91IGtow7RuZyBjaOG7iSByYSA8TkfGr+G7nEktRMOZTkc+IHRow6wgY29pIGzDoCBzacOqdSBuZ8aw4budaSBkw7luZy5cbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAia2jDtG5nIHRo4buDIGNo4buJIMSR4buLbmggbmhp4buBdSBoxqFuICVkIG5ow7NtIHBo4bulIHRow6ptIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImdyb3VwICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICJuaMOzbSAlcyBraMO0bmcgdOG7k24gdOG6oWkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKKyMsIGZ1enp5Cittc2dpZCAiLS1wdHkgaXMgbm90IHN1cHBvcnRlZCBmb3IgeW91ciBzeXN0ZW0iCittc2dzdHIgImjhu4cgdGjhu5FuZyBj4bunYSBi4bqhbiBraMO0bmcgaOG7lyB0cuG7oyAtLXJlbG9hZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTMyNgorbXNnaWQgImlnbm9yaW5nIC0tcHJlc2VydmUtZW52aXJvbm1lbnQsIGl0J3MgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1sb2dpbiIKK21zZ3N0ciAiYuG7jyBxdWEgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgbsOzIGxv4bqhaSB0cuG7qyBxdWEgbOG6oWkgduG7m2kgLS1sb2dpbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MAorbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJjw6FjIHTDuXkgY2jhu41uIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IHbDoCAtLXVzZXIgbG/huqFpIHRy4burIGzhuqtuIG5oYXUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgImNoxrBhIGNo4buJIHJhIGzhu4duaCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgImNo4buJIHJvb3QgY8OzIHRo4buDIGNo4buJIMSR4buLbmggY8OhYyBuaMOzbSB0aGF5IHRo4bq/IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIm5nxrDhu51pIGTDuW5nICVzIGtow7RuZyB04buTbiB04bqhaSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICJz4butIGThu6VuZyBzaGVsbCAoaOG7hyB24buPKSBi4buLIGdp4bubaSBo4bqhbiAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiY+G6o25oIGLDoW86IGtow7RuZyB0aOG7gyBjaHV54buDbiDEkeG7lWkgdGjGsCBt4bulYyBzYW5nICVzIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTMwCittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNnZXRhdHRyIGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MjA3Cittc2dpZCAidGNzZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNzZXRhdHRyIGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlczoga2jDtG5nIGPDsyBt4bulYyBuw6BvIGNobyByb290XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlczoga2jDtG5nIGPDsyBt4bulYyBuw6BvIGNobyByb290IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByb290IHBhc3N3b3JkIGdhcmJsZWQiCittc2dzdHIgIiVzOiBt4bqtdCBraOG6qXUgY2hvIHNpw6p1IG5nxrDhu51pIGTDuW5nIGtow7RuZyDEkcO6bmciCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkNhbm5vdCBvcGVuIGFjY2VzcyB0byBjb25zb2xlLCB0aGUgcm9vdCBhY2NvdW50IGlzIGxvY2tlZC5cbiIKKyJTZWUgc3Vsb2dpbig4KSBtYW4gcGFnZSBmb3IgbW9yZSBkZXRhaWxzLlxuIgorIlxuIgorIlByZXNzIEVudGVyIHRvIGNvbnRpbnVlLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICLEkMawYSByYSBt4bqtdCBraOG6qXUgc2nDqnUgcXXhuqNuIHRy4buLIMSR4buDIMSRxINuZyBuaOG6rXA6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbG9naW46ICIKK21zZ3N0ciAiQuG6pW0gdsOgbyBuw7p0IEVudGVyIMSR4buDIMSRxINuZyBuaOG6rXA6ICIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJHaXZlIHJvb3QgcGFzc3dvcmQgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIsSQxrBhIHJhIG3huq10IGto4bqpdSBzacOqdSBxdeG6o24gdHLhu4sgxJHhu4MgYuG6o28gdHLDrFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAiQuG6pW0gdsOgbyBuw7p0IEVudGVyIMSR4buDIGLhuqNvIHRyw6wiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKGhv4bq3YyBnw7UgQ29udHJvbC1EIG7hur91IG114buRbiB0aeG6v3AgdOG7pWMpOiAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzMKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAidGhheSDEkeG7lWkgdGjGsCBt4bulYyBzYW5nIGfhu5FjIGPhu6dhIGjhu4cgdGjhu5FuZyBn4bq3cCBs4buXaSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc4MgorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJzZXRleGVjY29uIGfhurdwIGzhu5dpIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiVzIFt0w7l5IGNo4buNbl0gW3RoaeG6v3QgYuG7iyB0dHldXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4MDYKK21zZ2lkICJTaW5nbGUtdXNlciBsb2dpbi5cbiIKK21zZ3N0ciAixJDEg25nIG5o4bqtcCDEkcahbiBuZ8aw4budaSBkw7luZy5cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBraOG7n2kgxJHhu5luZyBzaGVsbCAoaOG7hyB24buPKSDEkcSDbmcgbmjhuq1wXG4iCisiIC10LCAtLXRpbWVvdXQgPGdpw6J5PiAgICAgdGjhu51pIGdpYW4gY2jhu50gbeG6rXQga2jhuql1IHThu5FpIMSRYSAobeG6t2MgxJHhu4tuaDoga2jDtG5nIGdp4bubaSBo4bqhbilcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIHhlbSB4w6l0IMSR4bq/biBjw6FjIHThuq1wIHRpbiBt4bqtdCBraOG6qXUgbeG7mXQgY8OhY2ggdHLhu7FjXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0aeG6v3AgbuG6v3UgZ2V0cHduYW0oMykgZ+G6t3AgbOG7l2lcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBxdcOhIGdp4budIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODg0Cittc2dpZCAib25seSBzdXBlcnVzZXIgY2FuIHJ1biB0aGlzIHByb2dyYW0iCittc2dzdHIgImNo4buJIGPDsyBzacOqdSBuZ8aw4budaSBkw7luZyAocm9vdCkgbeG7m2kgY2jhuqF5IGNoxrDGoW5nIHRyw6xuaCBuw6B5IgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gYuG6o25nIMSRaeG7gXUga2hp4buDbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorbXNnaWQgImNhbm5vdCBvcGVuIHBhc3N3b3JkIGRhdGFiYXNlIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gY8ahIHPhu58gZOG7ryBsaeG7h3UiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiY2Fubm90IGV4ZWN1dGUgc3Ugc2hlbGxcbiIKKyJcbiIKK21zZ3N0ciAiIgorIktow7RuZyB0aOG7gyB0aOG7sWMgdGhpIGjhu4cgduG7jyBzdSAoc2nDqnUgdMOgaSBraG/huqNuKVxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxNworbXNnaWQgIiIKKyJUaW1lZCBvdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlF1w6EgaOG6oW5cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwNDkKKyMsIGZ1enp5Cittc2dpZCAiIgorImNhbm5vdCB3YWl0IG9uIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIiIKKyJLaMO0bmcgdGjhu4MgdGjhu7FjIHRoaSBo4buHIHbhu48gc3UgKHNpw6p1IHTDoGkga2hv4bqjbilcbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaC4iCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgdGjDqm0gc+G7sSB0aGVvIGTDtWkgaW5vdGlmeS4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBpbm90aWZ5IGV2ZW50cyIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyDEkeG7jWMgc+G7sSBraeG7h24gaW5vdGlmeSIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIktp4buDdSB4deG7kW5nIGTDsm5nIG3hu5tpIHhhIGzhuqEgdHJvbmcgdOG6rXAgdGluLiDEkGFuZyB0aG/DoXQuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiJXMgW2PDoWMtdMO5eS1jaOG7jW5dIFt0w6puLXThuq1wLXRpbl1cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDYKK21zZ2lkICJEdW1wIFVUTVAgYW5kIFdUTVAgZmlsZXMgaW4gcmF3IGZvcm1hdC5cbiIKK21zZ3N0ciAixJDhu5UgY8OhYyB04bqtcCB0aW4gVVRNUCB2w6AgV1RNUCB0aGVvIMSR4buLbmggZOG6oW5nIHRow7QuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiAtZiwgLS1mb2xsb3cgICAgICAgICBu4buRaSB0aMOqbSBk4buvIGxp4buHdSBr4bq/dCB4deG6pXQgbMOgbSBjaG8gdOG6rXAgdGluIGzhu5tuIGzDqm5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTAKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgZ2hpIGThu68gbGnhu4d1IOKAnMSR4buVIGThu5Nu4oCdIHbDoG8gdOG6rXAgdGluIHV0bXBcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDxU4bqsUC1USU4+ICBHaGkgdsOgbyBU4bqsUC1USU4sIHRoYXkgdsOsIHbDoG8gxJHhuqd1IHJhIHRpw6p1IGNodeG6qW5cbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgImPDoWMgxJHhuqd1IHbDoG8gY2h14bqpbiBzYXUgxJHDonkga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgdW5kdW1wIG9mICVzXG4iCittc2dzdHIgIlV0bXAgdW5kdW1wIGPhu6dhICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlV0bXAgZHVtcCBvZiAlc1xuIgorbXNnc3RyICLEkeG7lSBVdG1wIGPhu6dhICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNDUKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gdOG6oW0iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNyZWF0ZSBhIGxpbmsgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogdOG6oW8gxJHGsOG7o2MgbGnDqm4ga+G6v3QgbeG7gW0gdOG7m2kgJXMgZ+G6t3AgbOG7l2kiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3QgZ2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICJLaMO0bmcgbOG6pXkgxJHGsOG7o2MgdsSDbiBj4bqjbmggY2hvICVzIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbid0IHNldCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAiS2jDtG5nIMSR4bq3dCDEkcaw4bujYyB2xINuIGPhuqNuaCBjaG8gJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5jaGFuZ2VkIgorbXNnc3RyICIlcyBraMO0bmcgdGhheSDEkeG7lWkiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNTcKK21zZ2lkICJjYW5ub3QgZ2V0IGxvY2siCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSBraMOzYSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI4NAorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAia2jDtG5nIGPDsyB0aGF5IMSR4buVaSBuw6BvIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkzCittc2dpZCAiY2Fubm90IGNobW9kIGZpbGUiCittc2dzdHIgImtow7RuZyB0aOG7gyDEkeG7lWkgY2jhur8gxJHhu5kgdOG6rXAgdGluIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiU+G7rWEgbeG6rXQga2jhuql1IGhheSB04bqtcC10aW4gbmjDs20gKGdyb3VwKS5cbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAiQuG6oW4gxJFhbmcgZMO5bmcgc2hhZG93IGdyb3VwIChiw7NuZyBuaMOzbSkgdHLDqm4gaOG7hyB0aOG7kW5nIG7DoHkuXG4iCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozNjIKK21zZ2lkICJZb3UgYXJlIHVzaW5nIHNoYWRvdyBwYXNzd29yZHMgb24gdGhpcyBzeXN0ZW0uXG4iCittc2dzdHIgIkLhuqFuIMSRYW5nIGTDuW5nIHNoYWRvdyBwYXNzd29yZHMgKG3huq10IGto4bqpdSBiw7NuZykgdHLDqm4gaOG7hyB0aOG7kW5nIG7DoHkuXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICJTb+G6oW4gdGjhuqNvICVzIGLDonkgZ2nhu50gW3kvbl0/ICIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIgorbXNnc3RyICIlcyB04burICVzIChsaWJtb3VudCAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxmaWxlPiAgICByZWFkIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBkZWZhdWx0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUgZmlsZSAoLWMgL2Rldi9udWxsIG1lYW5zIG5vIGNhY2hlKVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFkamZpbGUgPHQudGluPiAgICBjaOG7iSDEkeG7i25oIMSRxrDhu51uZyBk4bqrbiB04bubaSB04bqtcCB0aW4gY2jhu4luaCBz4butYTtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgbeG6t2MgxJHhu4tuaCBsw6AgJXNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1uby1lbmNvZGluZyAgICAgICAgICBkb24ndCBlbmNvZGUgbm9uLXByaW50aW5nIGNoYXJhY3RlcnNcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAga2jDtG5nIGluIHBo4bqnbiDEkeG6p3VcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIGluIHJhIGRhbmggc8OhY2ggY8OhYyBzaGVsbCAoaOG7hyB24buPKSBy4buTaSB0aG/DoXRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxp4buHdCBrw6ogdGjDtG5nIHRpbiB24buBIHThuqV0IGPhuqMgaGF5IG5o4buvbmcgdGjhu6kgxJHGsOG7o2MgY2jhu4kgcmEgKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8Y+G7oT4gICAgICAgICAgIGPhu6EgdGhp4bq/dCBi4buLXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgICAgY29udmVydCBVVUlEIHRvIGRldmljZSBuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDx0w6BpLWtob+G6o24+ICAgICAgICB0w6BpIGtob+G6o25cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIMSRxrDhu51uZyBk4bqrbiB0aGnhur90IGLhu4sgKHRoxrDhu51uZyBsw6AgxJHEqWEpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworIywgZnV6enkKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICJUw7l5IGNo4buNbiB4deG6pXQ6XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJvYmUgICAgICAgICAgICAgICAgbG93LWxldmVsIHN1cGVyYmxvY2tzIHByb2JpbmcgKGJ5cGFzcyBjYWNoZSlcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgICAga2jDtG5nIGNoaWEgc+G6uyBraMO0bmcgZ2lhbiB0w6puIHBpZFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgIGdhdGhlciBpbmZvcm1hdGlvbiBhYm91dCBJL08gbGltaXRzXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBjw6FjIHRow7RuZyB0aW4gduG7gSBixrDhu5tjIG3huqt1XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8Y+G7oT4gICAgICAgICAgIGPhu6EgdGhp4bq/dCBi4buLXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW9mZnNldCA8b2Zmc2V0PiAgICAgIHByb2JlIGF0IHRoZSBnaXZlbiBvZmZzZXRcbiIKK21zZ3N0ciAiIC1ILCAtLWhvc3QgPHTDqm4gbcOheT4gICAgICAgY2jhu4kgxJHhu4tuaCB0w6puIG3DoXkgY2jhu6cgxJHEg25nIG5o4bqtcFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2FnZXMgPGxpc3Q+ICAgICAgICBmaWx0ZXIgYnkgXCJ1c2FnZVwiIChlLmcuIC11IGZpbGVzeXN0ZW0scmFpZClcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxkLnPDoWNoPiAgICBjw6FjIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGLhu4sgaOG6oW4gY2jhur9cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbWF0Y2gtdHlwZXMgPGxpc3Q+ICAgZmlsdGVyIGJ5IGZpbGVzeXN0ZW0gdHlwZSAoZS5nLiAtbiB2ZmF0LGV4dDMpXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8ZC5zw6FjaD4gICAgY8OhYyBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBi4buLIGjhuqFuIGNo4bq/XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICJE4bqldSDEkcaw4bujYyBkw7luZyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzOQorIywgZnV6enkKK21zZ2lkICIobm90IG1vdW50ZWQpIgorbXNnc3RyICIlczogY2jGsGEgZ+G6r24iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzIgorbXNnc3RyICJs4buXaTogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSDEkeG7kWkgc+G7kTogJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgImtow7RuZyBo4buXIHRy4bujIMSR4buLbmggZOG6oW5nIHTDuXkgY2jhu41uOiAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1OSBtaXNjLXV0aWxzL3dpcGVmcy5jOjY5NworbXNnaWQgImludmFsaWQgb2Zmc2V0IGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBraG/huqNuZyBiw7kga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NjYKKyMsIGZ1enp5Cittc2dpZCAiVG9vIG1hbnkgdGFncyBzcGVjaWZpZWQiCittc2dzdHIgImNoxrBhIGNo4buJIHJhIGzhu4duaCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNpemUgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSB0aOG7nWkgZ2lhbiBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzgzCittc2dpZCAiLXQgbmVlZHMgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBtb250aCBhcmd1bWVudCIKK21zZ3N0ciAidGhhbSBz4buRIGNoaeG7gXUgZMOgaSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKK21zZ2lkICJpbnZhbGlkIHdlZWsgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIHR14bqnbiBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKKyMsIGZ1enp5Cittc2dpZCAiaWxsZWdhbCB3ZWVrIHZhbHVlOiB1c2UgMS01NCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgdHXhuqduIGtow7RuZyBo4bujcCBs4buHOiBkw7luZyAxLTUzIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggYsaw4bubYyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAiZ2nDoSB0cuG7iyBuZ8OgeSBi4buLIHNhaSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzcgbWlzYy11dGlscy9jYWwuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICJnacOhIHRy4buLIG5nw6B5IGLhu4sgc2FpOiBow6N5IGTDuW5nIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgImdpw6EgdHLhu4sgdGjDoW5nIGLhu4sgc2FpOiBow6N5IGTDuW5nIDEtMTIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IHTDqm4gxrB1IHRpw6puOiAlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgImdpw6EgdHLhu4sgbsSDbSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICJnacOhIHRy4buLIG7Eg20ga2jDtG5nIGjhu6NwIGzhu4c6IGjDo3kgZMO5bmcgc+G7kSBuZ3V5w6puIGTGsMahbmciCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NTMwIG1pc2MtdXRpbHMvY2FsLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgdHXhuqduIGtow7RuZyBo4bujcCBs4buHOiBuxINtICVkIGtow7RuZyBjw7MgdHXhuqduICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIlcyBbdHXhu7NfY2jhu41uXSBbW1tuZ8OgeV0gdGjDoW5nXSBuxINtXVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHRpbWVzdGFtcHxtb250aG5hbWU+XG4iCittc2dzdHIgIiVzIFtDw4FDX1TDmVlfQ0jhu4xOXSA8VMOKTl9U4bqsUF9USU4+XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OAorbXNnaWQgIkRpc3BsYXkgYSBjYWxlbmRhciwgb3Igc29tZSBwYXJ0IG9mIGl0LlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgbOG7i2NoIGhheSBt4buZdCBz4buRIGLhu5kgcGjhuq1uIGPhu6dhIG7Dsy5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk5Cittc2dpZCAiV2l0aG91dCBhbnkgYXJndW1lbnRzLCBkaXNwbGF5IHRoZSBjdXJyZW50IG1vbnRoLlxuIgorbXNnc3RyICJO4bq/dSBraMO0bmcgY8OzIMSR4buRaSBz4buRIHRow6wgaGnhu4NuIHRo4buLIHRow6FuZyBoaeG7h24gdOG6oWkuXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBt4buZdCB0aMOhbmcgKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDoW5nIGhp4buHbiB04bqhaSB2w6AgaGFpIHRow6FuZyB0csaw4bubYyB2w6Agc2F1XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbW9udGhzIDxudW0+ICAgIHNob3cgbnVtIG1vbnRocyBzdGFydGluZyB3aXRoIGRhdGUncyBtb250aFxuIgorbXNnc3RyICIgLTMsIC0tdGhyZWUgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMOhbmcgaGnhu4duIHThuqFpIHbDoCBoYWkgdGjDoW5nIHRyxrDhu5tjIHbDoCBzYXVcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGFuICAgICAgICAgICAgc3BhbiB0aGUgZGF0ZSB3aGVuIGRpc3BsYXlpbmcgbXVsdGlwbGUgbW9udGhzXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIOG7nyBjaOG6vyDEkeG7mSB0aMO0XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorbXNnaWQgIiAtcywgLS1zdW5kYXkgICAgICAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtcywgLS1zdW5kYXkgICAgICAgICAgQ2jhu6cgbmjhuq10IGzDoCBuZ8OgeSDEkeG6p3UgdHXhuqduXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworbXNnaWQgIiAtbSwgLS1tb25kYXkgICAgICAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCittc2dzdHIgIiAtbSwgLS1tb25kYXkgICAgICAgICAgVGjhu6kgaGFpIGzDoCBuZ8OgeSDEkeG6p3UgdHXhuqduXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIHVzZSBkYXktb2YteWVhciBmb3IgYWxsIGNhbGVuZGFyc1xuIgorbXNnc3RyICIgLWosIC0tanVsaWFuICAgICAgICAgIGvhur90IHh14bqldCBk4bqhbmcgbmfDoHkgdGjDoW5nIGtp4buDdSBKdWxpYW5cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA5Cittc2dpZCAiICAgICAtLXJlZm9ybSA8dmFsPiAgICBHcmVnb3JpYW4gcmVmb3JtIGRhdGUgKDE3NTJ8Z3JlZ29yaWFufGlzb3xqdWxpYW4pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pc28gICAgICAgICAgICAgYWxpYXMgZm9yIC0tcmVmb3JtPWlzb1xuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgdCAtIELhuqNuZyB0aGVvIMSR4buLbmggZOG6oW5nIHRow7QiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0b8OgbiBi4buZIG7Eg20gbmF5XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0b8OgbiBi4buZIG7Eg20gbmF5XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMworbXNnaWQgIiAtdywgLS13ZWVrWz08bnVtPl0gICAgc2hvdyBVUyBvciBJU08tODYwMSB3ZWVrIG51bWJlcnNcbiIKK21zZ3N0ciAiIC13LCAtLXdlZWtbPTxz4buRPl0gICAgIGhp4buDbiB0aOG7iyBz4buRIHR14bqnbiBVUyBob+G6t2MgSVNPLTg2MDFcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisiICAgICAtLWNvbG9yWz08a2hpPl0gICB0w7QgbcOgdSBjaOG7ryBraGk6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoYXV0byAgIHThu7EgxJHhu5luZyxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBhbHdheXMgbHXDtG4gbHXDtG4sXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV2ZXIgIGtow7RuZyBiYW8gZ2nhu50pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gcGFnZXMiCittc2dzdHIgIklEIHbDuW5nIG5o4bubIGTDuW5nIGNodW5nOiAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MgorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIGJ5dGVzIgorbXNnc3RyICJJRCB2w7luZyBuaOG7myBkw7luZyBjaHVuZzogJWRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZmlsZSIKK21zZ3N0ciAia8OtY2ggY+G7oSBj4bunYSB0aGnhur90IGLhu4siCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjY0CisjLCBmdXp6eQorbXNnaWQgImZpbGUgbmFtZSIKK21zZ3N0ciAiVMOqbiB04bqtcCB0aW4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIGxpw6puIGvhur90IG3hu4FtOiAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgImzhu5dpIG3hu58gJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG9wZW46ICVzIgorbXNnc3RyICJs4buXaSBt4bufICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgImtow7RuZyDEkeG7jWMgxJHGsOG7o2M6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSBbVOG6rFBfVElO4oCmXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7RcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIGhp4buDbiB0aOG7iyBj4buhIHRoZW8gYnl0ZSB0aGF5IHbDrCBk4bqhbmcgZMOgbmggY2hvIGNvbiBuZ8aw4budaSDEkeG7jWNcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGQuc8OhY2g+IGhp4buDbiB0aOG7iyBjw6FjIGPhu5l0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBkw7luZyDEkeG7i25oIGThuqFuZyB0aMO0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjM0MyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc5MworbXNnaWQgIm5vIGZpbGUgc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSBnaGkgcsO1IHThuq1wIHRpbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW2PDoWMtdMO5eS1jaOG7jW5dIHtOSMODTixVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PGdpw6EtdHLhu4s+XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKK21zZ2lkICJGaW5kIGEgZmlsZXN5c3RlbSBieSBsYWJlbCBvciBVVUlELlxuIgorbXNnc3RyICJUw6xtIG3hu5l0IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdGhlbyBuaMOjbiBoYXkgVVVJRC5cbiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzo3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gcmVzb2x2ZSAnJXMnIgorbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gZ2nhuqNpIOKAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorbXNnaWQgInNvdXJjZSBkZXZpY2UiCittc2dzdHIgInRoaeG6v3QgYuG7iyBuZ3Xhu5NuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICLEkWnhu4NtIGfhuq9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorbXNnaWQgImZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAia2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICJ04bqldCBj4bqjIHTDuXkgY2jhu41uIGNobyBn4bqvbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAzCittc2dpZCAiVkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIlZGUyBjaOG7iSDEkeG7i25oIHTDuXkgY2jhu41uIGfhuq9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJGUyBjaOG7iSDEkeG7i25oIHTDuXkgY2jhu41uIGfhuq9uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDUKK21zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorbXNnc3RyICJuaMOjbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDYgbWlzYy11dGlscy9sc2Jsay5jOjE2OQorbXNnaWQgImZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAiVVVJRCBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIm5ow6NuIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorbXNnaWQgIm1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiCittc2dzdHIgInPhu5EgbOG7m246bmjhu48gdGhp4bq/dCBi4buLIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTAKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICJow6BuaCDEkeG7mW5nIMSRxrDhu6NjIG5o4bqtbiByYSB24bufaSAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMQorbXNnaWQgIm9sZCBtb3VudCBvcHRpb25zIHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiY8OhYyB0w7l5IGNo4buNbiBjxakgxJHGsOG7o2MgZ2hpIGzhuqFpIGLhurFuZyB0w7l5IGNo4buNbiAtLXBvbGwiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMgorbXNnaWQgIm9sZCBtb3VudHBvaW50IHNhdmVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAixJFp4buDbSBn4bqvbiBjxakgxJHGsOG7o2MgZ2hpIGzhuqFpIGLhu59pIHTDuXkgY2jhu41uIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEzCittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIGPDsyB0aOG7gyBkw7luZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE1Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIHVzZWQiCittc2dzdHIgImvDrWNoIHRoxrDhu5tjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBkw7luZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE2Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAicGjhuqduIHRyxINtIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBkw7luZyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICJH4buQQyBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTgKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICJJRCB0w6FjIHbhu6UiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorbXNnaWQgIm1vdW50IElEIgorbXNnc3RyICJJRCBn4bqvbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwCittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJjw6FjIHRyxrDhu51uZyB0w7l5IGNo4buNbiBn4bqvbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJD4budIGxhbiB0cnV54buBbiBWRlMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMgorbXNnaWQgImR1bXAoOCkgcGVyaW9kIGluIGRheXMgW2ZzdGFiIG9ubHldIgorbXNnc3RyICJjaHUga+G7syBkdW1wKDgpIHTDrW5oIGLhurFuZyBuZ8OgeSBbY2jhu4kgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiY2h1eeG7g24gc+G7kSB0csOqbiBmc2NrKDgpIHNvbmcgc29uZyBbY2jhu4kgZnN0YWJdIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhY3Rpb246ICVzIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGjDoG5oIMSR4buZbmc6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDMKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAiZ+G6r24iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAiYuG7jyBn4bqvbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6NjQ5Cittc2dpZCAicmVtb3VudCIKK21zZ3N0ciAiZ+G6r24gbOG6oWkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgImRpIGNodXnhu4NuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkga2jhu59pIHThuqFvIGLhuqNuZyBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgImtow7RuZyDEkeG7jWMgxJHGsOG7o2MgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICJs4buXaSBraOG7n2kgdOG6oW8gYuG7mSBs4bq3cCBs4bqhaSBsaWJtb3VudCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA4OQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBraOG7n2kgdOG6oW8gYuG6o25nIHRhYmRpZmYgbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFt0deG7s19jaOG7jW5dXG4iCisiICUxJHMgW3R14buzX2No4buNbl0gPHRoaeG6v3RfYuG7iz4gfCA8xJFp4buDbV9s4bqvcD5cbiIKKyIgJTEkcyBbdHXhu7NfY2jhu41uXSA8dGhp4bq/dF9i4buLPiA8xJFp4buDbV9s4bqvcD5cbiIKKyIgJTEkcyBbdHXhu7NfY2jhu41uXSBbLS1zb3VyY2UgPHRoaeG6v3RfYuG7iz5dIFstLXRhcmdldCA8xJFp4buDbV9s4bqvcD5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIlTDrG0gbeG7mXQgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiAoxJHDoyBn4bqvbikuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHTDrG0gdHJvbmcgYuG6o25nIGPhu5EgxJHhu4tuaCBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAoaW5jbHVkZXMgdXNlciBzcGFjZSBtb3VudCBvcHRpb25zKVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgdMOsbSBraeG6v20gYuG6o25nIG5ow6JuIGPhu6dhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIMSRw6MgZ+G6r24gKG3hurdjIMSR4buLbmgpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDUKK21zZ2lkICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgc2VhcmNoIGluIGtlcm5lbCB0YWJsZSBvZiBtb3VudGVkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHTDrG0ga2nhur9tIGLhuqNuZyBuaMOibiBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDEkcOjIGfhuq9uICht4bq3YyDEkeG7i25oKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgdGhlbyBkw7VpIGPDoWMgdGhheSDEkeG7lWkgdHJvbmcgYuG6o25nIGPhu6dhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBn4bqvblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPG51bT4gICAgdXBwZXIgbGltaXQgaW4gbWlsbGlzZWNvbmRzIHRoYXQgLS1wb2xsIHdpbGwgYmxvY2tcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPHPhu5E+ICAgICBnaeG7m2kgaOG6oW4gdHLDqm4gdGhlbyBtaWxsaS1nacOieSBtw6AgLS1wb2xsIHPhur0ga2jDs2FcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMgorbXNnaWQgIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLUEsIC0tYWxsICAgICAgICAgICAgICB04bqvdCB04bqldCBj4bqjIGPDoWMgYuG7mSBs4buNYyBk4buxbmcgc+G6tW4sIGluIG3hu41pIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxMworbXNnaWQgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCittc2dzdHIgIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIGTDuW5nIGPDoWMga8O9IHThu7EgQVNDSUkgxJHhu4MgxJHhu4tuaCBk4bqhbmcgY8OieVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE0Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgIGhp4buDbiB0aOG7iyBj4buhIHRoZW8gYnl0ZSB0aGF5IHbDrCBk4bqhbmcgZMOgbmggY2hvIGNvbiBuZ8aw4budaSDEkeG7jWNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIgLUMsIC0tbm8tY2Fub25pY2FsaXplICBraMO0bmcgY2Fub25pY2FsIGjDs2EgxJHGsOG7nW5nIGThuqtuIGtoaSBzbyBzw6FuaCBjw6FjIMSRxrDhu51uZyBk4bqrblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE2Cittc2dpZCAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKK21zZ3N0ciAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsIGjDs2EgxJHGsOG7nW5nIGThuqtuXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTcKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC1ELCAtLWRmICAgICAgICAgICAgICAgeHXhuqV0IHRoZW8ga2nhu4N1IGRmKDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIgLWQsIC0tZGlyZWN0aW9uIDx04burPiAgIGjGsOG7m25nIHTDrG0ga2nhur9tLCDigJxmb3J3YXJk4oCdIGhv4bq3YyDigJxiYWNrd2FyZOKAnVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjaHV54buDbiDEkeG7lWkgY8OhYyB0aOG6uyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdGjDoG5oIHTDqm4gdGhp4bq/dCBi4buLXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgLUYsIC0tdGFiLWZpbGUgPMSRxrDhu51uZ19k4bqrbj4gIHThuq1wIHRpbiB0aGF5IHRo4bq/IGNobyB0w7l5IGNo4buNbiAtcywgLW0gaGF5IC1rXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBo4buHIHRo4buRbmcgdOG6rXAgdGluIHTDrG0gdGjhuqV5IMSR4bqndSB0acOqblxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAgICDEkeG6o28gbmfGsOG7o2MgcGjhuqduIGto4bubcFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7RcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNSBzeXMtdXRpbHMvbHNucy5jOjkwMgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcga+G6v3QgeHXhuqV0IGxp4buHdCBrw6pcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNgorbXNnaWQgIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorbXNnc3RyICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICBkw7luZyBraMO0bmcgZ2lhbiB0w6puIHRoYXkgdGjhur8gKHThuq1wIHRpbiAvcHJvYy88dGlkPi9tb3VudGluZm8pXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyBwaOG6p24gxJHhuqd1IGPhu6dhIGPhu5l0XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW9wdGlvbnMgPGQuc8OhY2g+IGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBo4buHIHRo4buRbmcgdOG6rXAgdGluIGLhu59pIHTDuXkgY2jhu41uIGfhuq9uXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gYmUgc2hvd25cbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGQuc8OhY2g+IGPDoWMgY+G7mXQgc+G6vSBoaeG7g24gdGjhu4tcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMAorbXNnaWQgIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgZMO5bmcga+G6v3QgeHXhuqV0IHRoZW8gxJHhu4tuaCBk4bqhbmcga2jDs2E9XCJnacOhIHRy4buLXCJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMQorbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLVIsIC0tc3VibW91bnRzICAgICAgICBoaeG7g24gdGjhu4sgbeG7jWkgZ+G6r24gY29uIGNobyBo4buHIHRo4buRbmcgdOG6rXAgdGluIGto4bubcFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMyCittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7RcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorIiAtUywgLS1zb3VyY2UgPGNodeG7l2k+ICAgdGhp4bq/dCBi4buLIMSR4buDIGfhuq9uIChi4bqxbmcgdMOqbiwgbOG7m246bmjhu48sIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDxjaHXhu5dpPiAgIMSRaeG7g20gZ+G6r24gxJHGsOG7o2MgZMO5bmdcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdHJlZSAgICAgICAgICAgICBlbmFibGUgdHJlZSBmb3JtYXQgb3V0cHV0IGlzIHBvc3NpYmxlXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIGvhur90IHh14bqldCBsaeG7h3Qga8OqXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLW1vdW50cG9pbnQgPGRpcj4gdGhlIG1vdW50cG9pbnQgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz08dC5t4bulYz5dIMSR4bq3dCB0aMawIG3hu6VjIGfhu5FjXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA8ZC5zw6FjaD4gICBnaeG7m2kgaOG6oW4gdOG6rXAgaOG7o3AgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiB0aGVvIGtp4buDdVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBi4buPIHF1YSBo4buHIHRo4buRbmcgdOG6rXAgdGluIHbhu5tpIMSRw61jaCB0csO5bmcgbOG6t3BcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo5MDcKK21zZ2lkICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgxJHhu6tuZyBj4bqvdCBuZ+G6r24gdHJvbmcgY8OhYyBj4buZdFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQxCittc2dpZCAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorbXNnc3RyICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICDEkeG7q25nIGluIFsvZGlyXSBjaG8gZ+G6r24gYmluZCBoYXkgYnRyZnNcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZSAgICAgICAgICAgICBjaOG7iSBoaeG7g24gdGjhu4sgbeG7mXQgdGjDoW5nICht4bq3YyDEkeG7i25oKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgIHByaW50IG1vcmUgZGV0YWlsc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBoaeG7g24gdGjhu4sgZOG7ryBsaeG7h3UgZOG6oW5nIMSR4bqneSDEkeG7p1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzczCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgImtow7RuZyBoaeG7g3UgaMaw4bubbmcg4oCcJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgVElEIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTE2Cittc2dpZCAiLS1wb2xsIGFjY2VwdHMgb25seSBvbmUgZmlsZSwgYnV0IG1vcmUgc3BlY2lmaWVkIGJ5IC0tdGFiLWZpbGUiCittc2dzdHIgIi0tcG9sbCB0aOG7q2Egbmjhuq1uIGNo4buJIG3hu5l0IHThuq1wIHRpbiwgbmjGsG5nIHBo4bqjaSDEkcaw4bujYyBjaOG7iSDEkeG7i25oIGLhu59pIC0tdGFiLWZpbGUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MjAKK21zZ2lkICJvcHRpb25zIC0tdGFyZ2V0IGFuZCAtLXNvdXJjZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggY29tbWFuZCBsaW5lIGVsZW1lbnQgdGhhdCBpcyBub3QgYW4gb3B0aW9uIgorbXNnc3RyICJraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmcgY+G6oyBoYWkgdMO5eSBjaOG7jW4g4oCcLS10YXJnZXTigJ0gKMSRw61jaCkgdsOgIOKAnC0tc291cmNl4oCdIChuZ3Xhu5NuKSB24bubaSBt4buZdCB54bq/dSB04buRIGTDsm5nIGzhu4duaCBtw6Aga2jDtG5nIHRo4buDIGzDoCBt4buZdCB0w7l5IGNo4buNbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTU3MworbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGNhY2hlIgorbXNnc3RyICJs4buXaSBraOG7n2kgdOG6oW8gdsO5bmcgbmjhu5sgdOG6oW0gbGlibW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE2MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiJXMgY+G7mXQgxJHGsOG7o2MgecOqdSBj4bqndSwgbmjGsG5nIHTDuXkgY2jhu41uIC0tcG9sbCBs4bqhaSBraMO0bmcgxJHGsOG7o2MgYuG6rXQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAibmd14buTbiDEkcaw4bujYyBnaGkgbmhp4buBdSBoxqFuIG3hu5l0IGzhuqduIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhu41jICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUwCisjLCBmdXp6eQorbXNnaWQgInRhcmdldCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTUyCittc2dpZCAidGFyZ2V0IGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgc291cmNlOiAlcz0lcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWM6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcz0lcyB0cmFuc2xhdGVkIHRvICVzIgorbXNnc3RyICIlcyB0xrDGoW5nIOG7qW5nIHbhu5tpICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxODkKK21zZ2lkICJ1bmRlZmluZWQgc291cmNlIChmc19zcGVjKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAidGhhbSBz4buRIGtow7RuZyBo4buXIHRy4bujOiAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIwNQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgc291cmNlIChwc2V1ZG8vbmV0KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBzb3VyY2U6ICVzOiAlbSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gxJHGsO+/ve+/vWMg4oCcJXPigJ06ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSB0aGnhur90IGLhu4sgxJHhurdjIGJp4buHdCBraOG7kWkuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICJ0aGnhur90IGLhu4sgbmd14buTbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICIlczogY8OhYyB0w7l5IGNo4buNbiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZTIG9wdGlvbnM6ICVzIgorbXNnc3RyICIlczogY8OhYyB0w7l5IGNo4buNbiAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVMO5eSBjaOG7jW4gdMOgaSBuZ3V5w6puOlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzd2FwYXJlYSBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgImtow7RuZyBo4buXIHRy4bujIGNow61uaCBzw6FjaCBsb+G6oWkgYuG7jzogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN3YXBhcmVhIHByaW9yaXR5IG9wdGlvbiIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIG3hu6ljIMawdSB0acOqbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIkzhu4duaCBjaOG7jW4gdOG7kWMgxJHhu5kgxJHEqWEgQ0QtUk9NIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIGLhu59pIGtlcm5lbCBuw6B5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDE5IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0MjAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQyNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBkb2VzIG5vdCBtYXRjaCB3aXRoIG9uLWRpc2sgJXMiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIkzhu4duaCBjaOG7jW4gdOG7kWMgxJHhu5kgxJHEqWEgQ0QtUk9NIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIGLhu59pIGtlcm5lbCBuw6B5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICJraeG7g3U6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gImzhu5dpIHBow6JuIHTDrWNoIGPDuiBwaMOhcFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAiLCBn4bq3cCBs4buXaSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMworIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIHdhcm5pbmciCittc2dpZF9wbHVyYWwgIiwgJWQgd2FybmluZ3MiCittc2dzdHJbMF0gIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxNgorIywgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzLCBubyBlcnJvcnMgb3Igd2FybmluZ3MgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMwMgorbXNnaWQgImVtcHR5IGxvbmcgb3B0aW9uIGFmdGVyIC1sIG9yIC0tbG9uZyBhcmd1bWVudCIKK21zZ3N0ciAidMO5eSBjaOG7jW4gZMOgaSBy4buXbmcgc2F1IC1sIGhheSB0aGFtIHPhu5EgLS1sb25nIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyMworbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBzaGVsbCAoaOG7hyB24buPKSBzYXUgLXMgaGF5IHRoYW0gc+G7kSAtLXNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIDxjaHXhu5dpIHTDuXkgY2jhu41uPiA8Y8OhYyB0aGFtIHPhu5E+XG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIFstLV0gPGNodeG7l2kgdMO5eSBjaOG7jW4+IDxjw6FjIHRoYW0gc+G7kT5cbiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gLW98LS1vcHRpb25zIDxjaHXhu5dpIHTDuXkgY2jhu41uPiBbY8OhYyB0w7l5IGNo4buNbl0gWy0tXSA8Y8OhYyB0aGFtIHPhu5E+XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM2Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICJUw7l5IGNo4buNbiBwaMOibiB0w61jaCBs4buHbmguXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM5Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIGFsbG93IGxvbmcgb3B0aW9ucyBzdGFydGluZyB3aXRoIHNpbmdsZSAtXG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBjaG8gcGjDqXAgdMO5eSBjaOG7jW4gZMOgaSBi4bqvdCDEkeG6p3UgduG7m2kgbeG7mXQgLSDEkcahblxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MAorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1sLCAtLWxvbmdvcHRpb25zIDx0w7l5Y2jhu41uZMOgaT4gdMO5eSBjaOG7jW4gZMOgaSBj4bqnbiBuaOG6rW4gcmFcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDEKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA8dMOqbl9jaMawxqFuZ190csOsbmg+IHTDqm4gbcOgIGLhu4sgYsOhbyBjw6FvIGzhu5dpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQyCittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGNodeG7l2lfdMO5eV9jaOG7jW4+IGPDoWMgdMO5eSBjaOG7jW4gbmfhuq9uIGPhuqduIG5o4bqtbiByYVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIHThuq90IGLhu48gYsOhbyBjw6FvIGzhu5dpIGLhurFuZyBnZXRvcHQoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAga2jDtG5nIGPDsyBr4bq/dCB4deG6pXQgdGjDtG5nIHRoxrDhu51uZ1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8aOG7h1924buPPiAgICAgICAgICAgxJHhurd0IHF1eSDGsOG7m2MgdHLDrWNoIGThuqtuIHNoZWxsICho4buHIHbhu48pXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ2Cittc2dpZCAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAgIHRlc3QgZm9yIGdldG9wdCgxKSB2ZXJzaW9uXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0aOG7rSBwaGnDqm4gYuG6o24gZ2V0b3B0KDEpXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICDEkeG7q25nIHRyw61jaCBk4bqrbiBr4bq/dCBxdeG6oyByYVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM5NiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1NgorbXNnaWQgIm1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50IgorbXNnc3RyICJ0aGnhur91IMSR4buRaSBz4buRIGNodeG7l2lfdMO5eV9jaOG7jW4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgImzhu5dpIG7hu5lpIGLhu5ksIGjDo3kgbGnDqm4gaOG7hyB24bubaSB0w6FjIGdp4bqjLiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSB0w61uIGhp4buHdSAlczsgdMOtbiBoaeG7h3UgaOG7o3AgbOG7hyBsw6A6IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtjw6FjLXTDuXktY2jhu41uXSA8bcOjX3Phu5FfdGnhur9uX3Ryw6xuaD58PHTDqm5fdGnhur9uX3Ryw6xuaD7igKZcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTc5Cittc2dpZCAiRm9yY2libHkgdGVybWluYXRlIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiw4lwIGJ14buZYyBr4bq/dCB0aMO6YyBt4buZdCB0aeG6v24gdHLDrG5oLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODIKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZG8gbm90IHJlc3RyaWN0IHRoZSBuYW1lLXRvLXBpZCBjb252ZXJzaW9uIHRvIHByb2Nlc3Nlc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCB0aGUgc2FtZSB1aWQgYXMgdGhlIHByZXNlbnQgcHJvY2Vzc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAga2jDtG5nIGjhuqFuIGNo4bq/IGNodXnhu4NuIMSR4buVaSB0w6puLXRow6BuaC1tw6Mtc+G7kS10aeG6v24tdHLDrG5oXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgdGjDoG5oIHRp4bq/biB0csOsbmggduG7m2kgY8O5bmcgdWlkIHbhu5tpIHRp4bq/biB0csOsbmggaGnhu4duIHThuqFpXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4NAorbXNnaWQgIiAtcywgLS1zaWduYWwgPHNpZ25hbD4gIHNlbmQgdGhpcyA8c2lnbmFsPiBpbnN0ZWFkIG9mIFNJR1RFUk1cbiIKK21zZ3N0ciAiIC1zLCAtLXNpZ25hbCA8dMOtbl9oaeG7h3U+IGfhu61pIHTDrW4gaGnhu4d1IMSRw6MgY2jhu4kgcmEgdGhheSBjaG8gU0lHVEVSTVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlIDxnacOhLXRy4buLPiAgZMO5bmcgc2lncXVldWUoMiksIGtow7RuZyBkw7luZyBraWxsKDIpLCB2w6AgY2h1eeG7g24gZ2nDoS10cuG7iyB0aMOgbmggZOG7ryBsaeG7h3VcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg4Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgICAgcHJpbnQgcGlkcyB3aXRob3V0IHNpZ25hbGluZyB0aGVtXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIHBpZCBtw6Aga2jDtG5nIGPDsyB0w61uIGhp4buHdVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs9PHTDrW4gaGnhu4d1Pl0gbGnhu4d0IGvDqiB0w6puIHTDrW4gaGnhu4d1LCBoYXkgY2h1eeG7g24gxJHhu5VpIHThu6sgc+G7kSBzYW5nIHTDqm5cbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkwCittc2dpZCAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGlzdCBzaWduYWwgbmFtZXMgYW5kIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1MLCAtLXRhYmxlICAgICAgICAgICAgbGnhu4d0IGvDqiBjw6FjIHTDqm4gdsOgIHPhu5EgdMOtbiBoaeG7h3VcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTkxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgcGlkcyB0aGF0IHdpbGwgYmUgc2lnbmFsZWRcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgaW4gY8OhYyBtw6Mgc+G7kSB0aeG6v24gdHLDrG5oIHPhur0gxJHGsOG7o2MgZ+G7rWkgdMOtbiBoaeG7h3VcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjQwIG1pc2MtdXRpbHMva2lsbC5jOjI0OSBzeXMtdXRpbHMvdW5zaGFyZS5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHNpZ25hbDogJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgdMOtbiBoaeG7h3U6ICVzIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoyNjAgbWlzYy11dGlscy9raWxsLmM6MjYzIG1pc2MtdXRpbHMva2lsbC5jOjI3MgorIzogbWlzYy11dGlscy9raWxsLmM6Mjg0IG1pc2MtdXRpbHMva2lsbC5jOjMwNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBhbmQgJXMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiJXMgdsOgICVzIGxv4bqhaSB04burIGzhuqtuIG5oYXUiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAic2FpIMSR4buRaSBz4buRIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICJz4buRIGhheSB0w6puIGPhu6dhIHTDrW4gaGnhu4d1IGtow7RuZyBo4bujcCBs4buHOiAlcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICJn4butaSB0w61uIGhp4buHdSAlZCDEkeG6v24gdGnhur9uIHRyw6xuaCBjw7MgbcOjIHPhu5EgJWRcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiZ+G7rWkgdMOtbiBoaeG7h3UgxJHhur9uICVzIGfhurdwIGzhu5dpIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSB0aeG6v24gdHLDrG5oIOKAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IHTDqm4gY8ahIGPhuqV1OiAlcy4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgdMOqbiDGsHUgdGnDqm46ICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJvcGVubG9nICVzOiBwYXRobmFtZSB0b28gbG9uZyIKK21zZ3N0ciAib3BlbmxvZyAlczogdMOqbiDEkcaw4budbmcgZOG6q24gcXXDoSBkw6BpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIuG7lSBj4bqvbSAoc29ja2V0KSAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIGdp4bqjaSB0w6puICVzIGPhu5VuZyAlczogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzI0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjb25uZWN0IHRvICVzIHBvcnQgJXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBr4bq/dCBu4buRaSDEkeG6v24gJXMgY+G7lW5nICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJtYXhpbXVtIGlucHV0IGxpbmVzICglZCkgZXhjZWVkZWQiCittc2dzdHIgIsSRw6Mgdsaw4bujdCBxdcOhIHPhu5EgbMaw4bujbmcgZMOybmcgdOG7kWkgxJFhICglZCkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTA1CisjLCBmdXp6eQorbXNnaWQgInNlbmQgbWVzc2FnZSBmYWlsZWQiCittc2dzdHIgImzhu5dpIHThuqFvIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RydWN0dXJlZCBkYXRhIElEICclcycgaXMgbm90IHVuaXF1ZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICItLXNkLWlkIHdhcyBub3Qgc3BlY2lmaWVkIGZvciAtLXNkLXBhcmFtICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NzY4Cittc2dpZCAibG9jYWx0aW1lKCkgZmFpbGVkIgorbXNnc3RyICJsb2NhbHRpbWUoKSBi4buLIGzhu5dpIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICJ0w6puIG3DoXkg4oCcJXPigJ0gbMOgIHF1w6EgZMOgaSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAidGFnICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgInRo4bq7IOKAnCVz4oCdIGzDoCBxdcOhIGTDoGkiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAiYuG7jyBxdWEgY8OhYyDEkeG7kWkgc+G7kSB0w7l5IGNob24gY2jGsGEgYmnhur90OiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQ6ICVzOiB1c2luZyBhdXRvbWF0aWMgZXJyb3JzIgorbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyDEkeG7kWkgduG7m2kgdMO5eSBjaOG7jW4gLS1hdXRvLy1hIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW3TDuXkgY2jhu41uXSBbdGjDtG5nIMSRaeG7h3BdXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIk5o4bqtcCBs4budaSBuaOG6r24gdsOgbyBuaOG6rXQga8O9IGjhu4cgdGjhu5FuZy5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgIGTDuW5nIGdpYW8gdGjhu6ljIHN5c2xvZyAobeG6t2MgxJHhu4tuaClcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgLWksIC0taWRbPTxpZD5dICAgICAgICAgIGxvZyA8aWQ+ICht4bq3YyDEkeG7i25oIGzDoCBQSUQpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOAorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPFThuqxQLVRJTj4gICAgIGhp4buDbiB0aOG7iyBuaOG6rXQga8O9IGPhu6dhIHThuq1wIHRpbiBuw6B5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzOQorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBraMO0bmcgbmjhuq9jIMSRxINuZyBuaOG6rXBcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAgbMOgbSBt4buNaSB0aOG7qSBuZ2/huqFpIHRy4burIGdoaSBsw6puIHRoaeG6v3QgYuG7i1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDEKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICDEkcOhbmggZOG6pXUgbOG7nWkgbmjhuq9uIMSRw6MgY2hvIHbhu5tpIG3hu6ljIMawdSB0acOqbiBuw6B5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAgdMOsbSBraeG6v20gdGnhu4FuIHThu5EgdHLDqm4gbeG7l2kgZMOybmcgxJHhu41jIHThu6sgxJHhuqd1IHbDoG8gY2h14bqpblxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICBjxaluZyBoaeG7g24gdGjhu4sgdGjDtG5nIMSRaeG7h3AgcmEgxJHhuqd1IHJhIGzhu5dpIHRpw6p1IGNodeG6qW5cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAtcywgLS1zaXplIDxj4buhPiAgICAgICAgICAgY+G7oSB0aGnhur90IGLhu4tcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ2Cittc2dpZCAiIC10LCAtLXRhZyA8dGFnPiAgICAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorbXNnc3RyICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIMSRw6FuaCBk4bqldSBt4buNaSBkw7JuZyBi4bqxbmcgdGjhursgbsOgeVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDcKK21zZ2lkICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgICAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKK21zZ3N0ciAiIC1uLCAtLXNlcnZlciA8dMOqbj4gICAgICAgZ2hpIGPDoWkgbsOgeSDEkeG6v24gbcOheSBjaOG7pyBnaGkgc3lzbG9nXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcG9ydCA8cG9ydD4gICAgICAgIHVzZSB0aGlzIHBvcnQgZm9yIFVEUCBvciBUQ1AgY29ubmVjdGlvblxuIgorbXNnc3RyICIgLVAsIC0tcG9ydCA8c+G7kT4gICAgICAgICAgZMO5bmcgY+G7lW5nIFVEUCBuw6B5XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0OQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgY2jhu4kgZMO5bmcgVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgY2jhu4kgZMO5bmcgVURQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MQorbXNnaWQgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgdXNlIHRoZSBvYnNvbGV0ZSBCU0Qgc3lzbG9nIHByb3RvY29sXG4iCittc2dzdHIgIiAgICAgLS1yZmMzMTY0ICAgICAgICAgICAgZMO5bmcgZ2lhbyB0aOG7qWMgc3lzbG9nIEJTRCBraeG7g3UgY8WpXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MgorIywgZnV6enkKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIGTDuW5nIGdpYW8gdGjhu6ljIHN5c2xvZyAobeG6t2MgxJHhu4tuaCk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjw7MgdGjhu4MgbMOgIG5vdGltZSwgaG/hurdjIG5vdHEsIHbDoC9ob+G6t2Mgbm9ob3N0XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgxJHhurd0IGdpZCB0aOG7sWMgdOG6v1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTUKK21zZ2lkICIgICAgIC0tc2QtcGFyYW0gPGRhdGE+ICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIG5hbWU9dmFsdWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW1zZ2lkIDxtc2dpZD4gICAgICBzZXQgcmZjNTQyNCBtZXNzYWdlIGlkIGZpZWxkXG4iCittc2dzdHIgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgxJHhurd0IGdpZCB0aOG7sWMgdOG6v1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTcKK21zZ2lkICIgLXUsIC0tc29ja2V0IDxzb2NrZXQ+ICAgIHdyaXRlIHRvIHRoaXMgVW5peCBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICBnaGkgcmEg4buVIGPhuq9tIFVuaXggbsOgeVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTgKK21zZ2lkICIiCisiICAgICAtLXNvY2tldC1lcnJvcnNbPTxvbnxvZmZ8YXV0bz5dXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBwcmludCBjb25uZWN0aW9uIGVycm9ycyB3aGVuIHVzaW5nIFVuaXggc29ja2V0c1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA2MQorbXNnaWQgIiAgICAgLS1qb3VybmFsZFs9PGZpbGU+XSAgd3JpdGUgam91cm5hbGQgZW50cnlcbiIKK21zZ3N0ciAiICAgICAtLWpvdXJuYWxkWz08dOG6rXAtdGluPl0gIGdoaSBt4bulYyBuaOG6rXQga8O9XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICJ04bqtcCB0aW4gJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE2MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIElEIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExODAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBrw61jaCBj4buhIHRyYW5nIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgSUQ6ICclcyciCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHOiAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgIsSR4buRaSBz4buRIMSR4bq3dCBjaG8gcXXDoSBnaeG7nSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1MgorbXNnaWQgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLCBtZXNzYWdlIGlzIGlnbm9yZWQiCittc2dzdHIgIi0tZmlsZSA8ZmlsZT4gYW5kIDxtZXNzYWdlPiBsb+G6oWkgdOG7qyBs4bqrbiBuaGF1LCBjaHXhu5dpIGLhu4sgYuG7jyBxdWEiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTI1OQorbXNnaWQgImpvdXJuYWxkIGVudHJ5IGNvdWxkIG5vdCBiZSB3cml0dGVuIgorbXNnc3RyICJraMO0bmcgdGjhu4MgZ2hpIG3hu6VjIHRpbiBqb3VybmFsZCIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHN0cmluZz4gWzxmaWxlPi4uLl1cbiIKK21zZ3N0ciAiJXMgW1RV4buyX0NI4buMTl0gPGNodeG7l2k+IFtU4bqsUF9USU7igKZdXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgY8OhYyBkw7JuZyDEkeG6p3UgduG7m2kgY2h14buXaSDEkcOjIGNoby5cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICBkw7luZyB04burIMSRaeG7g24gdGhheSB0aOG6v1xuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNo4buJIHNvIHPDoW5oIGPDoWMga8O9IHThu7EgYmnhu4N1IGRp4buFbiBz4buRXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OAorbXNnaWQgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKK21zZ3N0ciAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBraMO0bmcgcGjDom4gYmnhu4d0IEhPQSB0aMaw4budbmcga2hpIHNvIHPDoW5oXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgxJHhu4tuaCBuZ2jEqWEga8O9IHThu7EgY2jhuqVtIGThu6l0IGNodeG7l2lcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICJ0w6puIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MworbXNnaWQgImludGVybmFsIGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAidMOqbiB0aGnhur90IGLhu4sgbmjDom4gbuG7mWkgYuG7mSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgInTDqm4gdGhp4bq/dCBi4buLIG5ow6JuIGNoYSBt4bq5IG7hu5lpIGLhu5kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjcgc3lzLXV0aWxzL3pyYW1jdGwuYzo4NgorbXNnaWQgIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIKK21zZ3N0ciAibsahaSBtw6AgdGhp4bq/dCBi4buLIMSRxrDhu6NjIGfhuq9uIHbDoG8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICJOSMODTiBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCittc2dpZCAicGFydGl0aW9uIHR5cGUgVVVJRCIKK21zZ3N0ciAiVVVJRCBraeG7g3UgcGjDom4gdsO5bmciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzIKK21zZ2lkICJwYXJ0aXRpb24gTEFCRUwiCittc2dzdHIgIk5Iw4NOIGPhu6dhIHBow6JuIHbDuW5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJyZWFkLWFoZWFkIGPhu6dhIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3NyBzeXMtdXRpbHMvbG9zZXR1cC5jOjc3Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAidGhp4bq/dCBi4buLIGNo4buJLcSR4buNYyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgInRoaeG6v3QgYuG7iyBjw7MgdGjhu4MgdGjDoW8gcuG7nWkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzkKK21zZ2lkICJyZW1vdmFibGUgb3IgaG90cGx1ZyBkZXZpY2UgKHVzYiwgcGNtY2lhLCAuLi4pIgorbXNnc3RyICJ0aGnhur90IGLhu4sgZGkgxJHhu5luZyBoYXkgY+G6r20gbsOzbmcgKHVzYiwgcGNtY2lhLCDigKYpIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgwCittc2dpZCAicm90YXRpb25hbCBkZXZpY2UiCittc2dzdHIgInRoaeG6v3QgYuG7iyBxdWF5IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgxCittc2dpZCAiYWRkcyByYW5kb21uZXNzIgorbXNnc3RyICJi4buVIHh1bmcgbmfhuqt1IG5oacOqbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICLEkeG7i25oIGRhbmggdGhp4bq/dCBi4buLIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICJz4buRIHPDqi1yaSDEkcSpYSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAia8OtY2ggY+G7oSBj4bunYSB0aGnhur90IGLhu4siCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKK21zZ2lkICJzdGF0ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICJ0cuG6oW5nIHRow6FpIGPhu6dhIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NworbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgInTDqm4gbmjDs20iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODgKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAiY8OhYyBxdXnhu4FuIGPhu6dhIG7DunQgdGhp4bq/dCBi4buLIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5Cittc2dpZCAiYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAia2hv4bqjbmcgY2jDqm5oIHPhuq9wIGjDoG5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkwCittc2dpZCAibWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAibOG6pXkga8OtY2ggY+G7oSBWL1IgdOG7kWkgdGhp4buDdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorbXNnaWQgIm9wdGltYWwgSS9PIHNpemUiCittc2dzdHIgImzhuqV5IGvDrWNoIGPhu6EgVi9SIHThu5FpIMawdSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorbXNnaWQgInBoeXNpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJLw61jaCBj4buhIGN1bmcgdOG7qyB24bqtdCBsw70iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTMKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIgorbXNnc3RyICJrw61jaCBj4buhIGto4buRaSB24bqtdCBsw70iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTQKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgInTDqm4gbOG7i2NoIGJp4buDdSBJL08iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKK21zZ2lkICJyZXF1ZXN0IHF1ZXVlIHNpemUiCittc2dzdHIgInnDqnUgY+G6p3Uga8OtY2ggY+G7oSBow6BuZyDEkeG7o2kiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAia2nhu4N1IHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworbXNnaWQgImRpc2NhcmQgYWxpZ25tZW50IG9mZnNldCIKK21zZ3N0ciAibG/huqFpIGLhu48ga2hv4bqjbmcgY2jDqm5oIHPhuq9wIGjDoG5nIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk4Cittc2dpZCAiZGlzY2FyZCBncmFudWxhcml0eSIKK21zZ3N0ciAiaOG7p3kgZ3JhbnVsYXJpdHkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAibG/huqFpIGLhu48ga8OtY2ggY+G7oSBs4bubbiBuaOG6pXQiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDAKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICJi4buPIHF1YSBk4buvIGxp4buHdSBraMO0bmciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKK21zZ2lkICJ3cml0ZSBzYW1lIG1heCBieXRlcyIKK21zZ3N0ciAiZ2hpIGPDuW5nIHPhu5EgYnl0ZSB04buRaSDEkWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDIKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICLEkeG7i25oIGRhbmggdGhp4bq/dCBi4buLIGzGsHUgdHLhu68gZHV5IG5o4bqldCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBjaG8gU0NTSSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAia2nhu4N1IHbhuq1uIGNodXnhu4NuIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNQorbXNnaWQgImRlLWR1cGxpY2F0ZWQgY2hhaW4gb2Ygc3Vic3lzdGVtcyIKK21zZ3N0ciAibmfhuq90IGNodeG7l2kgbOG6t3AgY+G7p2EgaOG7hyB0aOG7kW5nIGNvbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNgorbXNnaWQgImRldmljZSByZXZpc2lvbiIKK21zZ3N0ciAicGhpw6puIGLhuqNuIHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIm5ow6Agc+G6o24geHXhuqV0IHRoaeG6v3QgYuG7iyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbeG7nyB0aMawIG3hu6VjIHRoaeG6v3QgYuG7iyB0cm9uZyBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE0NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgdOG6oW8gxJHGsOG7nW5nIGThuqtuIHN5c2ZzIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXM6IGzhu5dpIGtoaSDEkeG7jWMgbGnDqm4ga+G6v3QgbeG7gW0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgbOG6pXkgdMOqbiBzeXNmcyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHPhu5EgdGhp4bq/dCBi4buLIHRyw6puIHRvw6BuIGLhu5kgxJHEqWEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY3IG1pc2MtdXRpbHMvbHNibGsuYzoxNTY5IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk0CisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCBkYW5oIHPDoWNoIOKAnCVz4oCdIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU3NAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgImRhbmggc8OhY2ggY8OhYyB0aGnhur90IGLhu4sgbG/huqFpIHRy4burIHF1w6EgbOG7m24gKGdp4bubaSBo4bqhbiBsw6AgJWQgdGhp4bq/dCBi4buLKSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBmb3IgJWQgaXMgMjU2LgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIGxpc3Qgb2YgaW5jbHVkZWQgZGV2aWNlcyBpcyB0b28gbGFyZ2UgKGxpbWl0IGlzICVkIGRldmljZXMpIgorbXNnc3RyICJkYW5oIHPDoWNoIGPDoWMgdGhp4bq/dCBi4buLIHF1w6EgbOG7m24gKGdp4bubaSBo4bqhbiBsw6AgJWQgdGhp4bq/dCBi4buLKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiJXMgW3TDuXkgY2jhu41uXSBbPHRoaeG6v3QgYuG7iz4g4oCmXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorbXNnaWQgIkxpc3QgaW5mb3JtYXRpb24gYWJvdXQgYmxvY2sgZGV2aWNlcy5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSB0aGnhur90IGLhu4sga2jhu5FpLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBwcmludCBhbGwgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgaGnhu4NuIHRo4buLIG3hu41pIHRoaeG6v3QgYuG7i1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAgxJHhu6tuZyBpbiDigJxzbGF2ZeKAnSBoYXkg4oCcaG9sZGVy4oCdXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICBoaeG7g24gdGjhu4sgZHVuZyB0w61jaCBi4buLIGxv4bqhaSBi4buPXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyBDUFUgxJFhbmcgdOG6r3RcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA8ZHPDoWNoPiBsb+G6oWkgdHLhu6sgY8OhYyB0aGnhur90IGLhu4sgdGhlbyBz4buRIGzhu5tuICht4bq3YyDEkeG7i25oOiDEkcSpYSBSQU0pXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1Cittc2dpZCAiIC1mLCAtLWZzICAgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtZiwgLS1mcyAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKK21zZ2lkICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorbXNnc3RyICIgLWksIC0tYXNjaWkgICAgICAgICAgY2jhu4kgZMO5bmcgY2jhu68gY8OhaSB0cm9uZyBi4bqjbmcgbcOjIEFTQ0lJXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ3Cittc2dpZCAiIC1JLCAtLWluY2x1ZGUgPGxpc3Q+IHNob3cgb25seSBkZXZpY2VzIHdpdGggc3BlY2lmaWVkIG1ham9yIG51bWJlcnNcbiIKK21zZ3N0ciAiIC1JLCAtLWluY2x1ZGUgPGRzw6FjaD4gY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgdGhp4bq/dCBi4buLIGPDsyBz4buRIGzhu5tuIMSRw6MgY2hvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ4IHN5cy11dGlscy9sc21lbS5jOjUwMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICBkw7luZyBr4bq/dCB4deG6pXQgxJHhu4tuaCBk4bqhbmcgZGFuaCBzw6FjaFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdHJlZSAgICAgICAgICAgdXNlIHRyZWUgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgZMO5bmcga+G6v3QgeHXhuqV0IMSR4buLbmggZOG6oW5nIGRhbmggc8OhY2hcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTEKK21zZ2lkICIgLW0sIC0tcGVybXMgICAgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIC1tLCAtLXBlcm1zICAgICAgICAgIHh14bqldCB0aMO0bmcgdGluIHbhu4EgY8OhYyBxdXnhu4FuXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUyIHN5cy11dGlscy9sc21lbS5jOjUwNgorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAga2jDtG5nIGluIHBo4bqnbiDEkeG6p3VcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGQuc8OhY2g+IGhp4buDbiB0aOG7iyBjw6FjIGPhu5l0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU0Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgeHXhuqV0IHJhIG3hu41pIGPhu5l0XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU1Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtcCwgLS1wYXRocyAgICAgICAgICBoaeG7g24gdGjhu4sgxJHhuqd5IMSR4bunIMSRxrDhu51uZyBk4bqrbiB0aGnhur90IGLhu4tcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTgKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC1zLCAtLWludmVyc2UgICAgICAgIMSR4bqjbyBuZ8aw4bujYyBjw6FjIHBo4bqnbiBwaOG7pSB0aHXhu5ljXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgLVMsIC0tc2NzaSAgICAgICAgICAgxJHGsGEgcmEgdGjDtG5nIHRpbiB24buBIHRoaeG6v3QgYuG7i3QgU0NTSVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MAorbXNnaWQgIiAtdCwgLS10b3BvbG9neSAgICAgICBvdXRwdXQgaW5mbyBhYm91dCB0b3BvbG9neVxuIgorbXNnc3RyICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBow6xuaCBo4buNY1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MQorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIgLXgsIC0tc29ydCA8Y+G7mXQ+ICAgICBz4bqvcCB44bq/cCBr4bq/dCB4deG6pXQgdGhlbyA8Y+G7mXQ+XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhY2Nlc3Mgc3lzZnMgZGlyZWN0b3J5OiAlcyIKK21zZ3N0ciAiVHJ1eSBj4bqtcCB0aMawIG3hu6VjIHN5c2ZzIGfhurdwIGzhu5dpOiAlcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgImzhu4duaCBj4bunYSBj4bunYSB0aeG6v24gdHLDrG5oIMSRYW5nIGdp4buvIGtow7NhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NAorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQgY+G7p2EgdGnhur9uIHRyw6xuaCBnaeG7ryBraMOzYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyBj4bunYSBraMOzYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKK21zZ2lkICJzaXplIG9mIHRoZSBsb2NrIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyBj4bunYSBraMOzYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzcKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICJjaOG6vyDEkeG7mSB0cnV5IGPhuq1wIGtow7NhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OAorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgInRy4bqhbmcgdGjDoWkgbOG7h25oIGPhu6dhIGtow7NhOiAwIChraMO0bmcpLCAxICjEkeG6t3QpIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorbXNnaWQgInJlbGF0aXZlIGJ5dGUgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICJraG/huqNuZyBiw7kgdGhlbyBieXRlIHTGsMahbmcgxJHhu5FpIGPhu6dhIGtow7NhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgImvhur90IHRow7pjIGtob+G6o25nIGLDuSBj4bunYSBraMOzYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAixJHGsOG7nW5nIGThuqtuIHThuq1wIHRpbiBraMOzYSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODIKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgYmxvY2tpbmcgdGhlIGxvY2siCittc2dzdHIgIlBJRCBj4bunYSB0aeG6v24gdHLDrG5oIG5nxINuIGPhuqNuIGtow7NhIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyNTkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSUQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggUElEIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODQKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIihraMO0bmcgaGnhu4N1KSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJn4bq3cCBs4buXaSBwaMOibiB0w61jaCBi4bqvdCDEkeG6p3UiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbmQiCittc2dzdHIgImfhurdwIGzhu5dpIHBow6JuIHTDrWNoIGvhur90IHRow7pjIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTgKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAiTGnhu4d0IGvDqiBjw6FjIGtow7NhIGjhu4cgdGjhu5FuZyBu4buZaSBi4buZLlxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDIKK21zZ2lkICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICBpZ25vcmUgbG9ja3Mgd2l0aG91dCByZWFkIHBlcm1pc3Npb25zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNCBzeXMtdXRpbHMvbHNucy5jOjkwNCBzeXMtdXRpbHMvcmZraWxsLmM6NTc0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8ZHPDoWNoPiDEkeG7i25oIG5naMSpYSB4ZW0gY+G7mXQgbsOgbyBz4bq9IMSRxrDhu6NjIGTDuW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8bcOjX3Phu5FfdGnhur9uX3Ryw6xuaD7igKYgICAgIHRo4buxYyBoaeG7h24gdHLDqm4gbmjhu69uZyB0aeG6v24gdHLDrG5oIMSRYW5nIGNo4bqheVxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7RcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIFBJRCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODYKK21zZ2lkICJHZW5lcmF0ZSBtYWdpYyBjb29raWVzIGZvciB4YXV0aC5cbiIKK21zZ3N0ciAiVOG6oW8gY29va2llcyBtYSB0aHXhuq10IGNobyB4YXV0aC5cbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPFThuqxQLVRJTj4gIGTDuW5nIHThuq1wIHRpbiBuaMawIGzDoCBzZWVkIGNvb2tpZVxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo5MAorbXNnaWQgIiAtbSwgLS1tYXgtc2l6ZSA8bnVtPiAgbGltaXQgaG93IG11Y2ggaXMgcmVhZCBmcm9tIHNlZWQgZmlsZXNcbiIKK21zZ3N0ciAiIC1tLCAtLW1heC1zaXplIDxzw7M+ICAgZ2nhu5tpIGjhuqFuIMSR4buNYyB04burIHThuq1wIHRpbiBt4bqnbSBiYW8gbmhpw6p1XG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGdp4bqjaSB0aMOtY2ggxJFhbmcgbMOgbSBnw6xcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICJOaOG6rW4gJXp1IGJ5dGUgdOG7qyAlc1xuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2luZyAlcyBmYWlsZWQiCittc2dzdHIgIsSRw7NuZyAlcyBn4bq3cCBs4buXaSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZW5ndGgiCittc2dzdHIgImtow7RuZyBwaMOibiB0w61jaCDEkcaw4bujYyDEkeG7mSBkw6BpIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICItLW1heC1zaXplIGLhu4sgYuG7jyBxdWEga2hpIGTDuW5nIG3DoCBraMO0bmcgY8OzIC0tZmlsZSIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlZCBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICVkIGJ5dGVzIGZyb20gJXNcbiIKK21zZ3N0clswXSAixJDDoyBuaOG6rW4gJWQgYnl0ZSB04burICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo5MAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBzeW1saW5rOiAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyBsacOqbiBr4bq/dCBt4buBbTogJXMiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgLSBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5XG4iCittc2dzdHIgIiVzIC0gS2jDtG5nIGPDsyB04bqtcCB0aW4gaGF5IHRoxrAgbeG7pWMgbmjGsCB24bqteS5cbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFtjw6FjLXTDuXktY2jhu41uXSA8dMOqbl/Ekcaw4budbmdfZOG6q24+4oCmXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozMzYKK21zZ2lkICJGb2xsb3cgYSBwYXRobmFtZSB1bnRpbCBhIHRlcm1pbmFsIHBvaW50IGlzIGZvdW5kLlxuIgorbXNnc3RyICJUaGVvIHTDqm4gxJHGsOG7nW5nIGThuqtuIGNobyDEkeG6v24ga2hpIHTDrG0gdGjhuqV5IMSRaeG7g20ga+G6v3QgdGjDumMuXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBoaeG7g24gdGjhu4sgY8OhYyB0aMawIG3hu6VjIMSRaeG7g20gbOG6r3AgZMO5bmcg4oCcROKAnVxuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIGJpdCBjaOG6vyDEkeG7mSBj4bunYSBt4buXaSB04bqtcCB0aW5cbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBoaeG7g24gdGjhu4sgdMOqbiBjaOG7pyB2w6AgbmjDs20gY+G7p2EgbeG7l2kgdOG6rXAgdGluXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAgZMO5bmcgbeG7mXQgxJHhu4tuaCBk4bqhbmcgbGnhu4d0IGvDqiBkw6BpICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAga2jDtG5nIHRoZW8gbGnDqm4ga+G6v3QgbeG7gW1cbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICBz4bqvcCBow6BuZyB0aGVvIGNoaeG7gXUgZOG7jWMgY8OhYyBjaOG6vyDEkeG7mSB2w6AgY2jhu6cgc+G7nyBo4buvdVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDA4Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAixJHhu5FpIHPhu5EgdOG7m2kgdMOqbiDEkcaw4budbmcgZOG6q24gY8OybiB0aGnhur91IgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgY+G6pXAgcGjDoXQgcGjhuqduIMSR4bqndSBHUFQiCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGPhuqVwIHBow6F0IHBo4bqnbiDEkeG6p3UgR1BUIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXM6IHbGsOG7o3QgcXXDoSBo4bqhbiBuZ+G6oWNoIHPhu5EgY8OhYyBsacOqbiBr4bq/dCBt4buBbSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgc3ltYm9saWMgbGluayIKK21zZ3N0ciAiJXM6IGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IGxpw6puIGvhur90IG3hu4FtIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVzOiByZWFkbGluayBn4bq3cCBs4buXaSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4MgorIywgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBsaW5rOiBgJXMnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5saW5rIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBi4buPIGxpw6puIGvhur90IG3hu4FtIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzeW1saW5raW5nIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHThuqFvIGxpw6puIGvhur90IG3hu4FtIMSR4bq/biAlcyBn4bq3cCBs4buXaSIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGZpbGU6IGAlcydcbiIKK21zZ3N0ciAi4oCmTmjhuqN5IHThu5tpIHThuq1wIHRpbiAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlczogxJHhu5VpIHTDqm4gdGjDoG5oICVzIGfhurdwIGzhu5dpIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxleHByZXNzaW9uPiA8cmVwbGFjZW1lbnQ+IDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIDxiaeG7g3VfdGjhu6ljPiA8dGhheV90aOG6vz4gPHThuq1wX3Rpbj7igKZcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxMzgKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgIsSQ4buVaSB0w6puIGPDoWMgdOG6rXAgdGluLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIGdp4bqjaSB0aMOtY2ggxJFhbmcgbMOgbSBnw6xcbiIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5bWxpbmsgICAgICAgYWN0IG9uIHRoZSB0YXJnZXQgb2Ygc3ltbGlua3NcbiIKK21zZ3N0ciAiIC1zLCAtLXN5bWxpbmsgICAgdMOhYyDEkeG7mW5nIGzDqm4gxJHDrWNoIGxpw6puIGvhur90IG3hu4FtXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIG5vdCBtYWtlIGFueSBjaGFuZ2VzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBraMO0bmcgaW4gcGjhuqduIMSR4bqndVxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICJQaOG6p24gbeG7gW0gZOG7i2NoIHbhu6UgxJHhu4MgdOG6oW8gY8OhYyBVVUlELlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1ULCAtLXRhcmdldCA8Y2h14buXaT4gICDEkWnhu4NtIGfhuq9uIMSRxrDhu6NjIGTDuW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKK21zZ3N0ciAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICBnaGkgcmEg4buVIGPhuq9tIFVuaXggbsOgeVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxz4buRPiAgICAgICAgIHRo4budaSBo4bqhbiBjaOG7nSB0aeG6v24gdHLDrG5oIHThu5FpIMSRYVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGLhu48gZ+G6r24gdOG6pXQgY+G6oyBjw6FjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICBoaeG7g24gdGjhu4sgbmfGsOG7nWkgdOG6oW8gdsOgIGNo4bunIHPhu58gaOG7r3VcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICB0csOsbmggxJFp4buBdSBraGnhu4NuIMSR4bujaSB0cm9uZyBtaS1saS1nacOieVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtSCwgLS1oZWFkcyA8c+G7kT4gICAgICAgICAgICAgIGNo4buJIMSR4buLbmggc+G7kSBsxrDhu6NuZyDEkeG6p3UgdOG7q1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgdOG6rXAgdGluIHBow6F0IHJhXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICBraMO0bmcgcuG6vSBuaMOhbmggdGnhur9uIHRyw6xuaCB0csaw4bubYyB0aOG7sWMgdGhpIDxjaMawxqFuZyB0csOsbmg+XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIkPhuqMgaGFpIHTDuXkgY2jhu41uIC0tc29ja2V0LWFjdGl2YXRpb24gdsOgIC0tc29ja2V0IMSRxrDhu6NjIGNo4buJIHJhLiDEkGFuZyBs4budIMSRaSAtLXNvY2tldC4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBpbiB0aMO0bmcgxJFp4buHcCBk4bqhbmcgxJHhuqd5IMSR4bunIHJhIGTDsm5nIGLDoW8gbOG7l2kgc3RkZXJyXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworIywgZnV6enkKK21zZ2lkICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgdHVybiBvbiBxdWlldCBtb2RlXG4iCittc2dzdHIgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIGNo4bq3biBjw6FjIHRow7RuZyB0aW4gdGjDtG5nIGLDoW8gbeG7nyBy4buZbmdcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEwOQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIsSR4buRaSBz4buRIHNhaSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExNgorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAi4buVIGPhuq9tIChzb2NrZXQpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI3Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAia+G6v3QgbuG7kWkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAiZ2hpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU1Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAixJHhur9tIHPhu5EgbOG6p24gxJHhu41jIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAiY2hp4buBdSBkw6BpIMSRw6FwIOG7qW5nIHNhaSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbG9jayAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGtow7NhICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjM3Cittc2dpZCAiY291bGRuJ3QgY3JlYXRlIHVuaXggc3RyZWFtIHNvY2tldCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHThuqFvIOG7lSBj4bqvbSBsdeG7k25nIFVOSVgiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSRw7NuZyBr4bq/dCDhu5UgY+G6r20gVU5JWCAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAiZ+G7rWkgdMOtbiBoaeG7h3UgxJHhur9uICVzIGfhurdwIGzhu5dpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzAyCittc2dpZCAidGltZWQgb3V0IgorbXNnc3RyICJxdcOhIGjhuqFuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHVwIHRpbWVyIgorbXNnc3RyICJraMO0bmcgxJHhurd0IMSRxrDhu6NjIG3DoyBz4buRIG5ow7NtIChHSUQpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInV1aWRkIGRhZW1vbiBpcyBhbHJlYWR5IHJ1bm5pbmcgYXQgcGlkICVzIgorbXNnc3RyICJUcsOsbmggbuG7gW4gdXVpZGQgxJHDoyBjaOG6oXkgduG7m2kgUElEICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGxpc3RlbiBvbiB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuq9uZyBuZ2hlIHRyw6puIOG7lSBj4bqvbSBVTklYICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCB0cnVuY2F0ZSBmaWxlOiAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGPhuq90IG5n4bqvbiB04bqtcCB0aW46ICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODAKK21zZ2lkICJubyBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayBzeXN0ZW1jdGwgc3RhdHVzIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzgzCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHV1aWRkLnNvY2tldCIKK21zZ3N0ciAia2jDtG5nIGhv4bq3YyBsw6AgcXXDoSBuaGnhu4F1IGLhu5kgbcO0IHThuqMgdOG6rXAgdGluIMSRxrDhu6NjIG5o4bqtbiB24buBIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lb3V0IFslZCBzZWNdXG4iCittc2dzdHIgImzhu5dpIHF1w6EgbMOidSBzYXUgJXUgZ2nDonkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzQgdGVybS11dGlscy9zZXR0ZXJtLmM6ODk5IHRleHQtdXRpbHMvY29sdW1uLmM6NDk2CisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjUyOQorbXNnaWQgInJlYWQgZmFpbGVkIgorbXNnc3RyICLEkeG7jWMgZ+G6t3AgbOG7l2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgdOG7qyDhu6luZyBk4bulbmcga2jDoWNoLCBkw6BpID0gJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICJ0aGFvIHTDoWMgJWQsIHPhu5EgZ+G7rWkgxJHhur9uID0gJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWRcbiIKK21zZ3N0ciAidGhhbyB0w6FjICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCB0aOG7nWkgZ2lhbiDEkcOjIHThuqFvIHJhOiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCByYW5kb20gVVVJRDogJXNcbiIKK21zZ3N0ciAiVVVJRCBuZ+G6q3Ugbmhpw6puIMSRw6MgdOG6oW8gcmE6ICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnc3RyWzBdICLEkMOjIHThuqFvIHJhIFVVSUQgdGjhu51pIGdpYW4gJXMgdsOgICVkIHRoZW8gc2F1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkICVkIFVVSUQ6XG4iCittc2dpZF9wbHVyYWwgIkdlbmVyYXRlZCAlZCBVVUlEczpcbiIKK21zZ3N0clswXSAixJDDoyB04bqhbyByYSAlZCBVVUlEOlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIlRoYW8gdMOhYyBraMO0bmcgaOG7o3AgbOG7hyAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgcmVwbHkgbGVuZ3RoIGZyb20gc2VydmVyICVkIgorbXNnc3RyICJNw6F5IHBo4bulYyB24bulIMSRw6FwIOG7qW5nIHbhu5tpIGNoaeG7gXUgZMOgaSBi4bqldCB0aMaw4budbmcgJWQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo1OTEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS11dWlkcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIC0tdXVpZHMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCDEkcaw4bujYyB4w6J5IGThu7FuZyBtw6Aga2jDtG5nIGjhu5cgdHLhu6MgY2hvIGhv4bqhdCBow7NhIOG7lSBj4bqvbSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYyNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRpbWVvdXQiCittc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIC0tdGltZW91dCAoY2jhu50gdOG7kWkgxJFhKSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICJ0w6puIGto4buRaSB0aW4gcXXDoSBkw6BpIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQ3Cittc2dpZCAiQm90aCAtLXNvY2tldC1hY3RpdmF0aW9uIGFuZCAtLXNvY2tldCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tc29ja2V0LiIKK21zZ3N0ciAiQ+G6oyBoYWkgdMO5eSBjaOG7jW4gLS1zb2NrZXQtYWN0aXZhdGlvbiB2w6AgLS1zb2NrZXQgxJHGsOG7o2MgY2jhu4kgcmEuIMSQYW5nIGzhu50gxJFpIC0tc29ja2V0LiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NCBtaXNjLXV0aWxzL3V1aWRkLmM6NjgyCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNhbGxpbmcgdXVpZGQgZGFlbW9uICglcykiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBn4buNaSBwaOG6p24gbeG7gW0gZOG7i2NoIHbhu6UgdXVpZGQgKCVzKSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgYuG6pXQgdGjGsOG7nW5nIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJXMgdsOgICVkIFVVSUQgeOG6o3kgcmEgc2F1XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiRGFuaCBzw6FjaCBjw6FjIFVVSUQ6XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGJ14buZYyBr4bq/dCB0aMO6YyB1dWlkZCDEkWFuZyBjaOG6oXkgduG7m2kgUElEICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBjLWZvcm1hdAorbXNnaWQgIktpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZC5cbiIKK21zZ3N0ciAixJDDoyBideG7mWMga+G6v3QgdGjDumMgdXVpZGQgY2jhuqF5IHbhu5tpIFBJRCAlZC5cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAiVOG6oW8gbeG7mXQgZ2nDoSB0cuG7iyBVVUlEIG3hu5tpLlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmFuZG9tICAgICAgICBnZW5lcmF0ZSByYW5kb20tYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgaGnhu4NuIHRo4buLIG5nxrDhu51pIHThuqFvIHbDoCBjaOG7pyBz4bufIGjhu691XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMzCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgIGdlbmVyYXRlIHRpbWUtYmFzZWQgdXVpZFxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICB0csOsbmggxJFp4buBdSBraGnhu4NuIMSR4bujaSB0cm9uZyBtaS1saS1nacOieVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNAorbXNnaWQgIiAtbiwgLS1uYW1lc3BhY2UgbnMgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBpbiB0aGlzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM1Cittc2dpZCAiIC1OLCAtLW5hbWUgbmFtZSAgICAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGZyb20gdGhpcyBuYW1lXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzYKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1kNSAgICAgICAgICAgZ2VuZXJhdGUgbWQ1IGhhc2hcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGhp4buDbiB0aOG7iyBt4buNaSB0aGnhur90IGLhu4tcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgbOG6pXkga2jhu5FpIGNoaWEgc+G6u1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAtcywgLS1pbnZlcnNlICAgICAgICAgIMSR4bqjbyBuZ8aw4bujYyBwaOG6p24ga2jhu5twXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIGlkZW50aWZpZXIiCittc2dzdHIgIsSR4buLbmggZGFuaCB0aGnhur90IGLhu4sgbMawdSB0cuG7ryBkdXkgbmjhuqV0IgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc3CisjLCBmdXp6eQorbXNnaWQgInZhcmlhbnQgbmFtZSIKK21zZ3N0ciAidMOqbiBwaMOibiB2w7luZyIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgIlTDqm4gbeG7m2kiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzkKK21zZ2lkICJ0aW1lc3RhbXAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSA8VOG6rFBfVElOPuKAplxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBkw7luZyDEkeG7i25oIGThuqFuZyB0aMO0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAga2jDtG5nIGluIHBo4bqnbiDEkeG6p3VcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8ZC5zw6FjaD4gY8OhYyBj4buZdCBz4bq9IGhp4buDbiB0aOG7i1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBkw7luZyDEkeG7i25oIGThuqFuZyB0aMO0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTcyIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTkxCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIgorbXNnc3RyICJpZCBzYWkiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTg2Cittc2dpZCAib3RoZXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTcKK21zZ2lkICJuaWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMDIKK21zZ2lkICJ0aW1lLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjA4Cittc2dpZCAibmFtZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxMQorbXNnaWQgInJhbmRvbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIxNAorbXNnaWQgInNoYTEtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNjcgbWlzYy11dGlscy93aXBlZnMuYzoxNzAgc3lzLXV0aWxzL2xzY3B1LmM6MTcyMgorIzogc3lzLXV0aWxzL2xzbnMuYzo4MDYgc3lzLXV0aWxzL3pyYW1jdGwuYzo0OTYKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICJs4buXaSBraOG7n2kgdOG6oW8gY+G7mXQga+G6v3QgeHXhuqV0IgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW1RV4buyX0NI4buMTl0gWzxU4bqsUF9USU4+IOKApl1cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIsSQ4buLbmggduG7iyBjw6FjIHThuq1wIHRpbiBuaOG7iyBwaMOibiwgbcOjIG5ndeG7k24sIHbDoCB0cmFuZyBoxrDhu5tuZyBk4bqrbiBjaG8gbeG7mXQgbOG7h25oLlxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1iICAgICAgICAgY2jhu4kgdMOsbSBraeG6v20gY2hvIG5o4buLIHBow6JuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPHQubeG7pWM+IMSR4buLbmggbmdoxKlhIHRoxrAgbeG7pWMgdMOsbSBraeG6v20gbmjhu4sgcGjDom5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA3Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtbSAgICAgICAgIGNo4buJIHTDrG0ga2nhur9tIGjGsOG7m25nIGThuqtuIGThuqFuZyBtYW4gdsOgIGluZm9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA4Cittc2dpZCAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBhbmQgaW5mbyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLU0gPHQubeG7pWM+IMSR4buLbmggbmdoxKlhIMSRxrDhu51uZyBk4bqrbiB0w6xtIGtp4bq/bSBtYW4gdsOgIGluZm9cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA5Cittc2dpZCAiIC1zICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIHNvdXJjZXNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgY2jhu4kgdMOsbSBraeG6v20gY2hvIG5ndeG7k25cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDx0Lm3hu6VjPiDEkeG7i25oIG5naMSpYSDEkcaw4budbmcgZOG6q24gdMOsbSBr4bq/bSBuZ3Xhu5NuXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgLWYgICAgICAgICBjaOG6pW0gZOG7qXQgZGFuaCBzw6FjaCDEkeG7kWkgc+G7kSA8dC5t4bulYz5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAgdMOsbSBraeG6v20gY8OhYyBt4bulYyBi4bqldCB0aMaw4budbmdcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEzCittc2dpZCAiIC1sICAgICAgICAgb3V0cHV0IGVmZmVjdGl2ZSBsb29rdXAgcGF0aHNcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgaGnhu4NuIHRo4buLIGPDoWMgxJHGsOG7nW5nIGThuqtuIHTDrG0ga2nhur9tIGjhu691IMOtY2hcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICLEkeG7kWkgc+G7kSB04bubaSB0w6puIMSRxrDhu51uZyBk4bqrbiBjw7JuIHRoaeG6v3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi9maWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIlVVSUQgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDUKK21zZ2lkICJtYWdpYyBzdHJpbmcgbGVuZ3RoIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA2Cittc2dpZCAic3VwZXJibG9rIHR5cGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAibWFnaWMgc3RyaW5nIG9mZnNldCIKK21zZ3N0ciAia2hv4bqjbmcgYsO5IChvZmZzZXQpIGlub2RlIHNhaSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAibcO0IHThuqMgY+G7nSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDkKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2sgZGV2aWNlIG5hbWUiCittc2dzdHIgInRoaeG6v3QgYuG7iyBraOG7kWkgIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgImLhuqNuZyBwaMOibiB2w7luZyIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAibOG7l2k6ICVzOiBs4buXaSBraOG7n2kgdOG6oW8gaMOgbSBkw7IiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZXJhc2UgJXMgbWFnaWMgc3RyaW5nIGF0IG9mZnNldCAweCUwOGp4IgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIHThuql5IGNodeG7l2kgbcOgdSBuaGnhu4dtICVzIHThuqFpIHbhu4sgdHLDrSBvZmZzZXQgMHglMDhqeCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXM6ICV6ZCBieXRlcyBi4buLIHjDs2Eg4bufIGtob+G6o25nIGLDuSAweCUwOGp4ICglcyk6ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIHThuqFvIG3hu5l0IGLhuqNuIGThu7EgcGjDsm5nIGvDvSBoaeG7h3UiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYWxsaW5nIGlvY3RsIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlOiAlbVxuIgorbXNnc3RyICIlczogxJFhbmcgZ+G7jWkgaMOgbSBpb2N0bCgpIMSR4buDIMSR4buNYyBs4bqhaSBi4bqjbmcgcGjDom4gdsO5bmc6ICVtXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTI4Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHThuqFvIG3hu5l0IHNhbyBsxrB1IGNo4buvIGvDvSwgY2jGsGEgxJHhu4tuaCBuZ2jEqWEgYmnhur9uICRIT01FIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaWdub3JpbmcgbmVzdGVkIFwiJXNcIiBwYXJ0aXRpb24gdGFibGUgb24gbm9uLXdob2xlIGRpc2sgZGV2aWNlIgorbXNnc3RyICIlczogYuG7jyBxdWEgYuG6o25nIHBow6JuIHbDuW5nIGzhu5NuZyBuaGF1IFwiJXNcIiB0csOqbiB0aGnhur90IGLhu4sga2jDtG5nLXRvw6BuLcSRxKlhIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU3NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0IDB4JWp4IG5vdCBmb3VuZCIKK21zZ3N0ciAiJXM6IMSRaeG7g20gb2Zmc2V0IDB4JWp4IGtow7RuZyB0w6xtIHRo4bqleSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1ODAKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIHRvIGZvcmNlIGVyYXNlLiIKK21zZ3N0ciAiRMO5bmcgdMO5eSBjaOG7jW4gLS1mb3JjZSDEkeG7gyBideG7mWMgdOG6qXkuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorIywgZnV6enkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIlThuql5IGNo4buvIGvDvSB04burIG3hu5l0IHRoaeG6v3QgYuG7iy5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgaGnhu4NuIHRo4buLIG3hu41pIHRoaeG6v3QgYuG7i1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgdOG6oW8gbeG7mXQgc2FvIGzGsHUgY2jhu68ga8O9LCBjaMawYSDEkeG7i25oIG5naMSpYSBiaeG6v24gJEhPTUUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmUiCittc2dzdHIgIiAtZiAgw6lwIGJ14buZYyBraeG7g20gdHJhXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAga2jDtG5nIGluIHBo4bqnbiDEkeG6p3VcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTIKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7RcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGzDoG0gbeG7jWkgdGjhu6kgbmdv4bqhaSB0cuG7qyBnaGkgbMOqbiB0aGnhur90IGLhu4tcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c+G7kT4gICAga2hv4bqjbmcgYsO5IGNobyB0aGFvIHTDoWMgdsO5bmcsIHTDrW5oIGLhurFuZyBieXRlXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9PGRzw6FjaD5dICAgaW4gcmEgxJHhu4tuaCBk4bqhbmcgcGjDom4gdMOtY2ggxJHGsOG7o2NcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICBjaOG6t24gY8OhYyB0aMO0bmcgdGluIHRow7RuZyBiw6FvIG3hu58gcuG7mW5nXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE4CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlcyIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxkLnPDoWNoPiAgIGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRoZW8ga2nhu4N1XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NzI0Cittc2dpZCAiVGhlIC0tYmFja3VwIG9wdGlvbiBpcyBtZWFuaW5nbGVzcyBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIlTDuXkgY2jhu41uIC0tYmFja3VwIGtow7RuZyBjw7MgbmdoxKlhIHRyb25nIG5n4buvIGPhuqNuaCBuw6B5IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxMzUKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVhbC10aW1lIHNjaGVkdWxpbmcgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyBoYXkgxJHhu5VpIGPDoWMgdGh14buZYyB0w61uaCB0w6FjIHbhu6UgdGjhu51pLWdpYW4tdGjhu7FjIGPhu6dhIG3hu5l0IHRp4bq/biB0csOsbmguXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworIywgZnV6enkKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJcbiIKKyLEkOG6t3QgY2jDrW5oIHPDoWNoOlxuIgorIiAgY2hydCBbdHXhu7NfY2jhu41u4oCmXSBbPGNow61uaF9zw6FjaD5dIDzGsHVfdGnDqm4+IFstcCA8cGlkPiB8IDxs4buHbmg+IFs8xJHhu5FpX3Phu5E+IOKApl1dXG4iCisiXG4iCisiTOG6pXkgY2jDrW5oIHPDoWNoOlxuIgorIiAgY2hydCBbdHXhu7NfY2jhu41u4oCmXSAtcCA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIlTDuXkgY2jhu41uIHTDoGkgbmd1ecOqbjpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2CisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDEkeG6t3QgYsOtdCBjaOG6tW4gbOG6uyB0aMOgbmggcuG7l25nIGtow7RuZ1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIMSR4bq3dCBiw610IGNo4bq1biBs4bq7IHRow6BuaCBy4buXbmcga2jDtG5nXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmlmbyAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDEkeG6t3QgYsOtdCBjaOG6tW4gbOG6uyB0aMOgbmggcuG7l25nIGtow7RuZ1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDkKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgxJHhurd0IGLDrXQgY2jhurVuIGzhursgdGjDoG5oIHLhu5duZyBraMO0bmdcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICDEkeG6t3QgYsOtdCBjaOG6tW4gbOG6uyB0aMOgbmggbOG6u1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtMSwgLS1vbmUgICAgICAgICAgICAgY2jhu4kgaGnhu4NuIHRo4buLIG3hu5l0IHRow6FuZyAobeG6t2MgxJHhu4tuaClcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAiVMO5eSBjaOG7jW4geHXhuqV0OlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIgorIlxuIgorIkPhu50gxJHhu4tuaCB0aOG7nWk6XG4iCisiICAtUiB8IC0tcmVzZXQtb24tZm9yayDEkeG6t3QgU0NIRURfUkVTRVRfT05fRk9SSyBjaG8gRklGTyBoYXkgUlJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIlTDuXkgY2jhu41uIHh14bqldDpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYyCittc2dpZCAiIC1hLCAtLWFsbC10YXNrcyAgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKK21zZ3N0ciAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICB4deG6pXQgZOG6pXUgdGjhu51pIGdpYW4g4bufIGThuqFuZyBkw6BuaCBjaG8gY29uIG5nxrDhu51pIMSR4buNY1xuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCittc2dzdHIgIiAtQSwgLS1hcHBlbmQgICAgICAgICAgICAgIHRow6ptIGPDoWMgcGjDom4gdsO5bmcgc+G6tW4gY8OzIHbDoG8gYuG6o25nIHBow6JuIHbDuW5nXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIGdp4bqjaSB0aMOtY2ggY8OhYyBjw7RuZyB2aeG7h2MgxJHDoyBsw6BtXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjIzMSBzY2hlZHV0aWxzL2NocnQuYzoyNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgImzhu5dpIGzhuqV5IGNow61uaCBzw6FjaCBj4bunYSBQSUQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgImzhu5dpIGzhuqV5IGPDoWMgdGh14buZYyB0w61uaCB24buBIFBJRCAlZCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwb2xpY3k6ICVzIgorbXNnc3RyICJjaMOtbmggc8OhY2ggxJHhu4tuaCB0aOG7nWkgbeG7m2kgY+G7p2EgUElEICVkOiAiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgImNow61uaCBzw6FjaCDEkeG7i25oIHRo4budaSBoaeG7h24gdOG6oWkgY+G7p2EgUElEICVkOiAiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAibeG7qWMgxrB1IHRpw6puIMSR4buLbmggdGjhu51pIG3hu5tpIGPhu6dhIFBJRCAlZDogJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAibeG7qWMgxrB1IHRpw6puIMSR4buLbmggdGjhu51pIGhp4buHbiB04bqhaSBj4bunYSBQSUQgJWQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAibeG7qWMgxrB1IHRpw6puIMSR4buLbmggdGjhu51pIGhp4buHbiB04bqhaSBj4bunYSBQSUQgJWQ6ICVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKK21zZ2lkICJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhuqV5IGRhbmggc8OhY2ggdMOhYyB24bulIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiU0NIRURfJXMgxrB1IHRpw6puIHRp4buDdS/EkWFcdDogJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJTQ0hFRF8lcyBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyA/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjM5OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibOG7l2kgxJHhurd0IHRpZCBj4bunYSBjaMOtbmggc8OhY2ggJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAibOG7l2kgxJHhurd0IGNow61uaCBzw6FjaCBj4bunYSBQSUQgJWQiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSB0aOG7nWkgZ2lhbiBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IgorbXNnc3RyICJ0aGFtIHPhu5EgdOG7kWMgxJHhu5kga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjQ5MAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGRlYWRsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSB0cuG7pSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE1Cittc2dpZCAiaW52YWxpZCBwcmlvcml0eSBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgbeG7qWMgxrB1IHRpw6puIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTkKKyMsIGZ1enp5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIkPhu50gU0NIRURfUkVTRVRfT05fRk9SSyBjaOG7iSDEkcaw4bujYyBo4buXIHRy4bujIGNobyBjaMOtbmggc8OhY2ggU0NIRURfRklGTyB2w6AgU0NIRURfUlIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTM5CisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF8lcyBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyA/XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcmlvcml0eSB2YWx1ZSBmb3IgdGhlIHBvbGljeTogJWQ6IHNlZSAtLW1heCBmb3IgdmFsaWQgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzo3NgorbXNnaWQgImlvcHJpb19nZXQgZmFpbGVkIgorbXNnc3RyICJpb3ByaW9fZ2V0IGLhu4sgbOG7l2kiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVzOiBwcmlvICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQgYuG7iyBs4buXaSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbY8OhY190deG7s19jaOG7jW5dIC1wIDxtw6Nfc+G7kV90aeG6v25fdHLDrG5oPuKAplxuIgorIiAlMSRzIFtjw6FjX3R14buzX2No4buNbl0gLVAgPG3Do19z4buRX3Rp4bq/bl90csOsbmg+4oCmXG4iCisiICUxJHMgW2PDoWNfdHXhu7NfY2jhu41uXSAtdSA8bcOjX3Phu5FfbmjDs21fdGnhur9uX3Ryw6xuaD7igKZcbiIKKyIgJTEkcyBbY8OhY190deG7s19jaOG7jW5dIDxs4buHbmg+XVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICJIaeG7g24gdGjhu4sgaGF5IMSR4buVaSBs4bubcCB0w6FjIHbhu6UgVlIgdsOgIG3hu6ljIMawdSB0acOqbiBj4bunYSB0aeG6v24gdHLDrG5oLlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNAorbXNnaWQgIiIKKyIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCittc2dzdHIgIiIKKyIgLWMsIC0tY2xhc3MgPGzhu5twPiAgICAgIHTDqm4gaGF5IHPhu5EgY+G7p2EgbOG7m3AgbOG7i2NoIGJp4buDdSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IGtow7RuZywgMTogdGjhu51pIGdpYW4gdGjhu7FjLCAyOiBiZXN0LWVmZm9ydCwgMzogbmdo4buJXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE2Cittc2dpZCAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBvbmx5IGZvciB0aGUgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKK21zZ3N0ciAiIgorIiAtbiwgLS1jbGFzc2RhdGEgPHPhu5E+ICAgxrB1IHRpw6puICgwLi43KSB0cm9uZyBs4bubcCB0w6FjIHbhu6UgxJHDoyBjaOG7iSByYSxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNo4buJIGTDoG5oIGNobyBs4bubcCB0aOG7nWkgZ2lhbiB0aOG7sWMgaGF5IOKAnGJlc3QtZWZmb3J04oCdXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8bcOjX3Phu5FfdGnhur9uX3Ryw6xuaD7igKYgICAgIHRo4buxYyBoaeG7h24gdHLDqm4gbmjhu69uZyB0aeG6v24gdHLDrG5oIMSRYW5nIGNo4bqheVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExOQorbXNnaWQgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIgorbXNnc3RyICIgLVAsIC0tcGdpZCA8bcOjX3Phu5FfbmjDs21fdGnhur9uX3Ryw6xuaD7igKYgICAgIHRo4buxYyBoaeG7h24gdHLDqm4gbmjhu69uZyB0aeG6v24gdHLDrG5oIMSRYW5nIGNo4bqheSB0cm9uZyBuaMOzbVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXQsIC0taWdub3JlICAgICAgICAgICBi4buPIHF1YSBjw6FjIGzhu5dpIG5naGnDqm0gdHLhu41uZ1xuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMQorbXNnaWQgIiAtdSwgLS11aWQgPHVpZD4uLi4gICAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIG93bmVkIGJ5IHRoZXNlIHVzZXJzXG4iCittc2dzdHIgIiAtdSwgLS11aWQgPG3Do19z4buRX25nxrDhu51pX2TDuW5nPuKApiAgICAgdGjhu7FjIGhp4buHbiB0csOqbiBuaOG7r25nIHRp4bq/biB0csOsbmggxJFhbmcgY2jhuqF5IGLhu59pIG5nxrDhu51pIGTDuW5nXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTU3Cittc2dpZCAiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBs4bubcCBk4buvIGxp4buHdSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBs4bubcCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGzhu5twIHRo4budaSBraMOzYSBiaeG7g3U6IOKAnCVz4oCdIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NCBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MgorbXNnaWQgImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIgorbXNnc3RyICJjaOG7iSBjw7MgdGjhu4MgeOG7rSBsw70gbeG7mXQgcGlkLCBwZ2lkIGhv4bq3YyB1aWQgbeG7mXQgbMO6YyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxODUKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIFBHSUQga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIFVJRCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMTIKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIgorbXNnc3RyICLEkWFuZyBs4budIMSRaSBk4buvIGxp4buHdSBo4bqhbmcgxJHGsGEgcmEgY2hvIGjhuqFuZyDigJxraMO0bmcgY8Oz4oCdIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIsSRYW5nIGzhu50gxJFpIGThu68gbGnhu4d1IGjhuqFuZyDEkcawYSByYSBjaG8gaOG6oW5nIG5naOG7iSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvIGNsYXNzICVkIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGzhu5twIHByaW86ICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyJDw6FjaCBkw7luZzogJXMgW3R14buzX2No4buNbl0gW2Lhu5lfbOG7jWMgfCBkYW5oX3PDoWNoX0NQVV0gW1BJRHxs4buHbmggW8SR4buRaV9z4buR4oCmXV1cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIGhheSB0aGF5IMSR4buVaSDDoWkgbOG7sWMgQ1BVIGPhu6dhIG3hu5l0IHRp4bq/biB0csOsbmguXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiT3B0aW9uczpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyIgLXAsIC0tcGlkICAgICAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyIgLWMsIC0tY3B1LWxpc3QgICAgICAgICAgZGlzcGxheSBhbmQgc3BlY2lmeSBjcHVzIGluIGxpc3QgZm9ybWF0XG4iCittc2dzdHIgIiIKKyJUw7l5IGNo4buNbjpcbiIKKyIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgdGhhbyB0w6FjIHRyw6puIHThuqV0IGPhuqMgY8OhYyB0w6FjIHbhu6UgKHR1eeG6v24pIHbhu5tpIHBpZCDEkcOjIGNob1xuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICB0aGFvIHTDoWMgdHLDqm4gUElEIMSRxrBhIHJhIMSRw6Mgc+G6tW4gY8OzXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGhp4buDbiB0aOG7iyB2w6AgZ2hpIHLDtSBjw6FjIENQVSB0aGVvIMSR4buLbmggZOG6oW5nIGRhbmggc8OhY2hcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHlcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgeHXhuqV0IHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o25cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIHJ1biBhIG5ldyBjb21tYW5kOlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIllvdSBjYW4gcmV0cmlldmUgdGhlIG1hc2sgb2YgYW4gZXhpc3RpbmcgdGFzazpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJPciBzZXQgaXQ6XG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisiTGlzdCBmb3JtYXQgdXNlcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IGluc3RlYWQgb2YgYSBtYXNrOlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyJSYW5nZXMgaW4gbGlzdCBmb3JtYXQgY2FuIHRha2UgYSBzdHJpZGUgYXJndW1lbnQ6XG4iCisiICAgIGUuZy4gMC0zMToyIGlzIGVxdWl2YWxlbnQgdG8gbWFzayAweDU1NTU1NTU1XG4iCittc2dzdHIgIiIKKyLhu6huZyB44butIG3hurdjIMSR4buLbmggbMOgIGNo4bqheSBt4buZdCBjw6J1IGzhu4duaCBt4bubaVxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIkLhuqFuIGPDsyB0aOG7gyBs4bqleSBi4buZIGzhu41jIGPhu6dhIG3hu5l0IGPDtG5nIHZp4buHYyDEkcOjIGPDszpcbiIKKyIgICAgJTEkcyAtcCA3MDBcbiIKKyJIb+G6t2MgxJHhurd0IG7DszpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyLEkOG7i25oIGThuqFuZyBkYW5oIHPDoWNoIHRow6wgZMO5bmcgbeG7mXQgZGFuaCBzw6FjaCDEkeG7i25oIGdp4bubaSBi4bqxbmcgZOG6pXUgcGjhuql5XG4iCisidGhheSBjaG8gbeG7mXQgYuG7mSBs4buNYzpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUGjhuqFtIHZpIHRoZW8gxJHhu4tuaCBk4bqhbmcgZGFuaCBzw6FjaCBjw7Mga2jhuqMgbsSDbmcgY2jhuqVwIG5o4bqtbiBt4buZdCDEkeG7kWkgc+G7kSBzdHJpZGU6XG4iCisiICAgIHYuZC4uIDAtMzE6MiB0xrDGoW5nIMSRxrDGoW5nIHbhu5tpIGLhu5kgbOG7jWMgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiZGFuaCBzw6FjaCBxdWFuIGjhu4cgYuG7mSB44butIGzDvSBt4bubaSBj4bunYSBQSUQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAiZGFuaCBzw6FjaCBxdWFuIGjhu4cgYuG7mSB44butIGzDvSBoaeG7h24gdOG6oWkgY+G7p2EgUElEICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiYuG7mSBs4buNYyBxdWFuIGjhu4cgYuG7mSB44butIGzDvSBt4bubaSBj4bunYSBQSUQgJWQ6ICVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAiYuG7mSBs4buNYyBxdWFuIGjhu4cgYuG7mSB44butIGzDvSBoaeG7h24gdOG6oWkgY+G7p2EgUElEICVkOiAlc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDAKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIgorbXNnc3RyICJs4buXaSBu4buZaSBi4buZOiBjaHV54buDbiDEkeG7lWkgY3B1c2V0IHRow6BuaCBjaHXhu5dpIGfhurdwIGzhu5dpIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAibOG7l2kgxJHhurd0IHF1YW4gaOG7hyBi4buZIHjhu60gbMO9IGPhu6dhIFBJRCAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYWZmaW5pdHkiCittc2dzdHIgImzhu5dpIGzhuqV5IHF1YW4gaOG7hyBi4buZIHjhu60gbMO9IGPhu6dhIFBJRCAlZCIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgImtow7RuZyB0aOG7gyBxdXnhur90IMSR4buLbmggTlJfQ1BVUyBuw6puIGjhu6d5IGLhu48iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIwNCBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMTcgc3lzLXV0aWxzL2NoY3B1LmM6Mjk4Cittc2dpZCAiY3B1c2V0X2FsbG9jIGZhaWxlZCIKK21zZ3N0ciAiY3B1c2V0X2FsbG9jIGLhu4sgbOG7l2kiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNCBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggZGFuaCBzw6FjaCBDUFU6ICVzIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggbeG6t3QgbuG6oSBDUFU6ICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiJXM6IExv4bqhaSBi4buPICU8UFJJdTY0PiBieXRlIHThu6sgduG7iyB0csOtIG9mZnNldCAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiBMb+G6oWkgYuG7jyAlPFBSSXU2ND4gYnl0ZSB04burIHbhu4sgdHLDrSBvZmZzZXQgJTxQUkl1NjQ+XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODgKK21zZ2lkICJEaXNjYXJkIHRoZSBjb250ZW50IG9mIHNlY3RvcnMgb24gYSBkZXZpY2UuXG4iCittc2dzdHIgIkxv4bqhaSBi4buPIG7hu5lpIGR1bmcgY+G7p2EgY8OhYyBjdW5nIHThu6sgdHLDqm4gbeG7mXQgdGhp4bq/dCBi4buLLlxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c+G7kT4gICB24buLIHRyw60gdMawxqFuZyDEkeG7kWkgdMOtbmggYuG6sW4gYnl0ZSDEkeG7gyBi4bqvdCDEkeG6p3UgbG/huqFpIGLhu48gdOG7qyDEkcOzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPHPhu5E+ICAgc+G7kSBsxrDhu6NuZyBieXRlIMSRxrDhu6NjIGxv4bqhaSBi4buPXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHPhu5E+ICAgIGtob+G6o25nIGLDuSBjaG8gdGhhbyB0w6FjIHbDuW5nLCB0w61uaCBi4bqxbmcgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC0tc2VjdXJlYml0cyA8Yml0cz4gICAgICDEkcSDdCBzZWN1cmViaXRzXG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTUKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBsw6BtIGjhu49uZyB0aGF5IHbDrCDEkeG7o2lcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZ2nhuqNpIHRow61jaCDEkWFuZyBsw6BtIGfDrFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugb2Zmc2V0IgorbXNnc3RyICJraMO0bmcgcGjDom4gdMOtY2ggxJHGsOG7o2Mgb2Zmc2V0IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzdGVwIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggYsaw4bubYyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzYgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTggc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM3MworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTExIHN5cy11dGlscy9mc3RyaW0uYzozMzYKK21zZ2lkICJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiCittc2dzdHIgImfhurdwIHPhu5EgY8OhYyDEkeG7kWkgc+G7kSBi4bqldCB0aMaw4budbmciCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NTWkdFVCBpb2N0bCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiVzOiBraG/huqNuZyBiw7kgJTxQUkl1NjQ+IGtow7RuZyDEkcaw4bujYyBjxINuIGNo4buJbmggduG7m2kgY+G7oSBjdW5nIHThu6sgJWkiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjAxIHN5cy11dGlscy9ibGt6b25lLmM6MTczIHN5cy11dGlscy9ibGt6b25lLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICIlczoga2hv4bqjbmcgYsO5IGPDsm4gbOG7m24gaMahbiBj4bqjIGPhu6EgY+G7p2EgdGhp4bq/dCBi4buLIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IGNoaeG7gXUgZMOgaSAlPFBSSXU2ND4ga2jDtG5nIMSRxrDhu6NjIGPEg24gY2jhu4luaCB24bubaSBj4buhIGN1bmcgdOG7qyAlaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NTWkdFVCBpb2N0bCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLU0VDRElTQ0FSRCBpb2N0bCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLRElTQ0FSRCBpb2N0bCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzo3MworIywgZnV6enkKK21zZ2lkICJSZXBvcnQgem9uZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZ2l2ZW4gZGV2aWNlIgorbXNnc3RyICJIaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHRoaeG6v3QgYuG7iyBraOG7kWkuXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVzOiDEkeG7lWkgdGjGsCBt4bulYyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZGV0ZXJtaW5lIHpvbmUgc2l6ZSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnaGkgw6FuaCB44bqhIHbDuW5nIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFUE9SVFpPTkUgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBraG/huqNuZyBiw7kgJTxQUkl1NjQ+IGtow7RuZyDEkcaw4bujYyBjxINuIGNo4buJbmggduG7m2kgY+G7oSBjdW5nIHThu6sgJWkiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiBraG/huqNuZyBiw7kgJTxQUkl1NjQ+IGtow7RuZyDEkcaw4bujYyBjxINuIGNo4buJbmggduG7m2kgY+G7oSBjdW5nIHThu6sgJWkiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEJMS1NTWkdFVCBpb2N0bCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWNjZXNzZnVsbHkgcmVzZXQgaW4gcmFuZ2UgZnJvbSAlPFBSSXU2ND4sIHRvICU8UFJJdTY0PiIKK21zZ3N0ciAiVMOqbiBwaMOibiB2w7luZyDEkcaw4bujYyB0aGF5IMSR4buVaSB04burIOKAnCVz4oCdIHRow6BuaCDigJwlLipz4oCdLiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiVzIFtjw6FjLXTDuXktY2jhu41uXSA8dGhp4bq/dC1i4buLPlxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwMgorbXNnaWQgIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMwOQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxzZWN0b3I+ICBzdGFydCBzZWN0b3Igb2Ygem9uZSB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHPhu5E+ICAgIGtob+G6o25nIGLDuSBjaG8gdGhhbyB0w6FjIHbDuW5nLCB0w61uaCBi4bqxbmcgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMAorbXNnaWQgIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNvdW50IDxudW1iZXI+ICAgbWF4aW11bSBudW1iZXIgb2Ygem9uZXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPHPDtD4gICAgICAgIHPhu5EgbHXhu5NuZyBuw6luXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzEyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBk4buvIGxp4buHdSBk4bqhbmcgxJHhuqd5IMSR4bunXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICIlczoga2jDtG5nIHBo4bqjaSBsw6AgdGhp4bq/dCBi4buLIGto4buRaSB0aMOtY2ggaOG7o3AiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBz4buRIGTDsm5nIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBz4buRIGTDsm5nIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM3NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugem9uZSBvZmZzZXQiCittc2dzdHIgImtow7RuZyBwaMOibiB0w61jaCDEkcaw4bujYyBvZmZzZXQiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzkxIHN5cy11dGlscy9zZXRzaWQuYzo5MgorIywgZnV6enkKK21zZ2lkICJubyBjb21tYW5kIHNwZWNpZmllZCIKK21zZ3N0ciAiY2jGsGEgY2jhu4kgcmEgbOG7h25oIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo4NyBzeXMtdXRpbHMvY2hjcHUuYzoxNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQ1BVIOKAnCVk4oCdIGtow7RuZyB04buTbiB04bqhaSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiQ1BVICVkIGNoxrBhIMSRxrDhu6NjIGPhuq9tIG7Ds25nIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJWQgxJHDoyDEkcaw4bujYyBi4bqtdCBy4buTaVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCDEkcOjIGLhu4sgdOG6r3QgcuG7k2lcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgImLhuq10IENQVSAlZCBn4bq3cCBs4buXaSAoQ1BVIGLhu4sgYuG7jyBj4bqldSBow6xuaCkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZSBmYWlsZWQiCittc2dzdHIgImLhuq10IENQVSAlZCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJWQgxJHGsOG7o2MgYuG6rXRcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIgorbXNnc3RyICJ04bqvdCBDUFUgJWQgZ+G6t3AgbOG7l2kgKENQVSDEkcaw4bujYyBi4bqtdCBjdeG7kWkgY8O5bmcpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAidOG6r3QgQ1BVICVkIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJWQgYuG7iyB04bqvdFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAiSOG7hyB0aOG7kW5nIG7DoHkga2jDtG5nIGjhu5cgdHLhu6MgcXXDqXQgdMOsbSBs4bqhaSBj4bunYSBDUFUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworbXNnaWQgIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgYuG6q3kgdmnhu4djIHF1w6l0IHTDrG0gbOG6oWkgQ1BVcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICJC4bqreSBxdcOpdCB0w6xtIGPhu6dhIENQVXNcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTUxCittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIkjhu4cgdGjhu5FuZyBuw6B5IGtow7RuZyBo4buXIHRy4buNIGPDoGkgxJHhurd0IGNo4bq/IMSR4buZIHBow6JuIHBo4buRaSBj4bunYSBjw6FjIGLhu5kgdmkgeOG7rSBsw70uIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKK21zZ2lkICJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAiR+G6t3AgbOG7l2kga2hpIMSR4bq3dCBjaOG6vyDEkeG7mSBwaMOibiBwaOG7kWkgdGhlbyBjaGnhu4F1IG5nYW5nIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIKK21zZ3N0ciAixJDhurd0IHRow6BuaCBjaOG6vyDEkeG7mSBwaMOibiBwaOG7kWkgdGhlbyBjaGnhu4F1IG5nYW5nIG3hu5l0IGPDoWNoIHRow6BuaCBjw7RuZ1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY2jhur8gxJHhu5kgcGjDom4gcGjhu5FpIHRoZW8gY2hp4buBdSBk4buNYyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLEkOG6t3QgdGjDoG5oIGNo4bq/IMSR4buZIHBow6JuIHBo4buRaSB0aGVvIGNoaeG7gXUgZOG7jWMgbeG7mXQgY8OhY2ggdGjDoG5oIGPDtG5nXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBjb25maWd1cmFibGUiCittc2dzdHIgIkNQVSAlZCBraMO0bmcgdGjhu4MgY+G6pXUgaMOsbmgiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJWQgY2jGsGEgxJHGsOG7o2MgY+G6pXUgaMOsbmhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIMSRw6MgxJHGsOG7o2MgY+G6pXUgaMOsbmggcuG7k2lcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIChDUFUgaXMgZW5hYmxlZCkiCittc2dzdHIgIkNQVSAlZCBi4buPIGPhuqV1IGjDrG5oIGfhurdwIGzhu5dpIChDUFUgxJHGsOG7o2MgYuG6rXQpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJj4bqldSBow6xuaCBDUFUgJWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIMSRw6MgxJHGsOG7o2MgY+G6pXUgaMOsbmhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJi4buPIGPhuqV1IGjDrG5oIENQVSAlZCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmVkXG4iCittc2dzdHIgIkNQVSAlZCBi4buPIGPhuqV1IGjDrG5oXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJz4buRIENQVSBzYWkgdHJvbmcgZGFuaCBzw6FjaCBDUFU6ICVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzkgdGV4dC11dGlscy9jb2wuYzoxMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiIgorIlxuIgorIkPDoWNoIGTDuW5nOlxuIgorIiVzIFtjw6FjX3TDuXlfY2jhu41uXVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDMKK21zZ2lkICJDb25maWd1cmUgQ1BVcyBpbiBhIG11bHRpLXByb2Nlc3NvciBzeXN0ZW0uXG4iCittc2dzdHIgIkPhuqV1IGjDrG5oIGPDoWMgYuG7mSB2aSB44butIGzDvSB0csOqbiBo4buHIHRo4buRbmcgbmhp4buBdSB2aSB44butIGzDvS5cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAgZW5hYmxlIGNwdXNcbiIKKyIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisiIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGNvbmZpZ3VyZSBjcHVzXG4iCisiIC1nLCAtLWRlY29uZmlndXJlIDxjcHUtbGlzdD4gIGRlY29uZmlndXJlIGNwdXNcbiIKKyIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKyIgLXIsIC0tcmVzY2FuICAgICAgICAgICAgICAgICAgdHJpZ2dlciByZXNjYW4gb2YgY3B1c1xuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyB0w7l5IGNo4buNbjpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisiICAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBi4bqtdCBjw6FjIGNwdVxuIgorIiAgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgdOG6r3QgY8OhYyBjcHVcbiIKKyIgIC1jLCAtLWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICAgIGPhuqV1IGjDrG5oIGPDoWMgY3B1XG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBi4buPIGPhuqV1IGjDrG5oIGNwdVxuIgorIiAgLXAsIC0tZGlzcGF0Y2ggPGNo4bq/IMSR4buZPiAgICAgICDEkeG6t3QgY2jhur8gxJHhu5kgcGjDom4gcGjhu5FpXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICBi4bqreSBxdcOpdCBs4bqhaSBj4bunYSBjw6FjIGNwdVxuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBhcmd1bWVudDogJXMiCittc2dzdHIgInRoYW0gc+G7kSBraMO0bmcgaOG7lyB0cuG7ozogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBJRCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkXG4iCittc2dzdHIgImLhuq10IENQVSAlZCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICJ04bqvdCBDUFUgJWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1NiBzeXMtdXRpbHMvY2htZW0uYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICVkIMSRxrDhu6NjIGLhuq10XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCBi4buLIHThuq90XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICVkIMSRw6MgxJHGsOG7o2MgYuG6rXQgcuG7k2lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCDEkcOjIGLhu4sgdOG6r3QgcuG7k2lcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkOiBab25lIG1pc21hdGNoIgorbXNnc3RyICJi4bqtdCBDUFUgJWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgInThuq90IENQVSAlZCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJi4bqtdCBDUFUgJWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgInThuq90IENQVSAlZCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjY2IHN5cy11dGlscy9sc21lbS5jOjQ3NiBzeXMtdXRpbHMvbHNtZW0uYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICLEkeG7jWMgdOG7kWMgxJHhu5kgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggc+G7kSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggY8O6IHBow6FwIGvDrWNoIGPhu6EuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICJn4bq3cCBs4buXaSBwaMOibiB0w61jaCBi4bqvdCDEkeG6p3UiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICJn4bq3cCBs4buXaSBwaMOibiB0w61jaCBr4bq/dCB0aMO6YyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega2jhu59pIMSR4bqndSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgInPhu5EgaGF5IHTDqm4gY+G7p2EgdMOtbiBoaeG7h3Uga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgImfhurdwIGzhu5dpIHBow6JuIHTDrWNoIGLhuq90IMSR4bqndSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2gga+G6v3QgdGjDumMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBhZGRyZXNzIGFuZCAoZW5kIGFkZHJlc3MgKyAxKSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcGFyYW1ldGVyOiAlcyIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbU0laRXxSQU5HRXxCTE9DS1JBTkdFXVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIFtjIHwga11cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM3Cittc2dpZCAiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWVuYWJsZSAgICAgICBlbmFibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBjaOG6vyDEkeG7mSBjaGkgdGnhur90XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBjaOG6vyDEkeG7mSBjaGkgdGnhur90XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICBjaOG6vyDEkeG7mSBjaGkgdGnhur90XG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MworbXNnaWQgIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIGNo4bq/IMSR4buZIGNoaSB0aeG6v3RcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJI4buXIHRy4bujIGPDoWMgcGjGsMahbmcgdGnhu4duIGdoaSBuaOG6rXQga8O9OlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgdMOqbiDGsHUgdGnDqm46ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjUxCittc2dpZCAiaW1wbGljaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICJn4bq3cCBr4bq/dCB0aMO6YyB04bqtcCB0aW4gYuG6pXQgdGjGsOG7nW5nIHRyw6puICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCittc2dpZCAiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIKK21zZ3N0ciAiUGjhuqNpIGzDoCBuZ8aw4budaSBjaOG7pyAocm9vdCkgxJHhu4MgxJHhurd0IGPDoWNoIOG7qW5nIHjhu60gY+G7p2EgQ3RybC1BbHQtRGVsIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBhcmd1bWVudDogJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgxJHhu5FpIHPhu5E6ICVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMDkKK21zZ2lkICJzeXN0ZW0gaXMgdW51c2FibGUiCittc2dzdHIgImjhu4cgdGjhu5FuZyBraMO0bmcgdGjhu4Mgc+G7rSBk4bulbmciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICJow6BuaCDEkeG7mW5nIHBo4bqjaSDEkcaw4bujYyBu4bqvbSBuZ2F5IGzhuq1wIHThu6ljIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTEKK21zZ2lkICJjcml0aWNhbCBjb25kaXRpb25zIgorbXNnc3RyICLEkWnhu4F1IGtp4buHbiB04bubaSBo4bqhbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAixJFp4buBdSBraeG7h24gbOG7l2kiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMworbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAixJFp4buBdSBraeG7h24gY+G6o25oIGLDoW8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExNAorbXNnaWQgIm5vcm1hbCBidXQgc2lnbmlmaWNhbnQgY29uZGl0aW9uIgorbXNnc3RyICJ0aMO0bmcgdGjGsOG7nW5nIG5oxrBuZyDEkWnhu4F1IGtp4buHbiBsw6AgcXVhbiB0cuG7jW5nIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTUKK21zZ2lkICJpbmZvcm1hdGlvbmFsIgorbXNnc3RyICJ0aMO0bmcgdGluIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAidGjDtG5nIMSRaeG7h3AgbeG7qWMgZ+G7oSBs4buXaSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMwCittc2dpZCAia2VybmVsIG1lc3NhZ2VzIgorbXNnc3RyICJ0aMO0bmcgxJFp4buHcCBuaMOibiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgInRow7RuZyDEkWnhu4dwIG5n4bqrdSBuaGnDqm4gbeG7qWMgbmfGsOG7nWkgZMO5bmciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorbXNnaWQgIm1haWwgc3lzdGVtIgorbXNnc3RyICJo4buHIHRo4buRbmcgdGjGsCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgInRyw6xuaCBk4buLY2ggduG7pSBo4buHIHRo4buRbmciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNAorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgInRow7RuZyDEkWnhu4dwIGFuIG5pbmggdsOgIHjDoWMgdGjhu7FjIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzUKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICJ0aMO0bmcgxJFp4buHcCDEkcaw4bujYyB04bqhbyByYSB04burIG7hu5lpIGLhu5kgYsOqbiB0cm9uZyBi4bufaSBzeXNsb2dkIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzYKK21zZ2lkICJsaW5lIHByaW50ZXIgc3Vic3lzdGVtIgorbXNnc3RyICJo4buHIHRo4buRbmcgY29uIG3DoXkgaW4gZMOybmciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNworbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgImjhu4cgdGjhu5FuZyBt4bqhbmcgY29uIG3hu5tpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiaOG7hyB0aOG7kW5nIGNvbiBVVUNQIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzkKK21zZ2lkICJjbG9jayBkYWVtb24iCittc2dzdHIgImThu4tjaCB24bulIMSR4buTbmcgaOG7kyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQwCittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgInRow7RuZyB0aW4gYW4tbmluaC9jaOG7qW5nLXRo4buxYyAocmnDqm5nIHTGsCkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorbXNnaWQgIkZUUCBkYWVtb24iCittc2dzdHIgImThu4tjaCB24bulIGZ0cCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjY5Cittc2dpZCAiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyBoYXkgxJFp4buBdSBraGnhu4NuIGLhu5kgxJHhu4dtIHbDsm5nIG5ow6JuLlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzIKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICB4w7NhIGLhu5kgxJHhu4dtIHbDsm5nIGtlcm5lbFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzMKK21zZ2lkICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIMSR4buNYyB2w6AgeMOzYSB04bqldCBj4bqjIGzhu51pIG5o4bqvblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzQKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGtow7RuZyBpbiBs4budaSBuaOG6r24gcmEgdGhp4bq/dCBi4buLIMSRaeG7gXUga2hp4buDblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKK21zZ2lkICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgY2hvIHBow6lwIGhp4buDbiB0aOG7iyBs4budaSBuaOG6r24gdHLDqm4gdGhp4bq/dCBi4buLIMSRaeG7gXUga2hp4buDblxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA8VOG6rFAtVElOPiAgICAgICAgc+G7rSBk4bulbmcgdOG6rXAgdGluIHRoYXkgY2hvIGLhu5kgxJHhu4dtIG5o4bqtdCBrw70gbmjDom5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA8ZHPDoWNoPiAgICAgIGjhuqFuIGNo4bq/IGvhur90IHh14bqldCDEkeG6v24gcGjGsMahbmcgdGnhu4duIMSRw6MgxJHhu4tuaCBuZ2jEqWFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICB4deG6pXQg4bufIGThuqFuZyBkw6BuaCBjaG8gY29uIG5nxrDhu51pIMSR4buNY1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzkKK21zZ2lkICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyDEkWnhu4dwIGPhu6dhIG5ow6JuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgY29sb3JpemUgbWVzc2FnZXMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08a2hpPl0gICAgICAgICB0w7QgbcOgdSB0aMO0bmcgxJFp4buHcCAo4oCcYXV0b+KAnS4g4oCcYWx3YXlz4oCdIGhheSDigJxuZXZlcuKAnS5cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICBo4bqhbiBjaOG6vyBr4bq/dCB4deG6pXQgxJHhur9uIG3hu6ljIMSRw6MgxJHhu4tuaCBuZ2jEqWFcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtbiwgLS1jb25zb2xlLWxldmVsIDxt4bupYz4gICDEkeG6t3QgbeG7qWMgdGjDtG5nIMSRaeG7h3AgxJHGsOG7o2MgaW4gxJHhur9uIHRoaeG6v3QgYuG7iyDEkWnhu4F1IGtoaeG7g25cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1Cittc2dpZCAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICBkbyBub3QgcGlwZSBvdXRwdXQgaW50byBhIHBhZ2VyXG4iCittc2dzdHIgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAga2jDtG5nIHh14bqldCDEkcaw4budbmcg4buRbmcgdsOgbyBt4buZdCB0cmFuZ1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODYKK21zZ2lkICIgLXAsIC0tZm9yY2UtcHJlZml4ICAgICAgICAgIGZvcmNlIHRpbWVzdGFtcCBvdXRwdXQgb24gZWFjaCBsaW5lIG9mIG11bHRpLWxpbmUgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODcKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByYXcgbWVzc2FnZSBidWZmZXJcbiIKK21zZ3N0ciAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBpbiBi4buZIMSR4buHbSB0aMO0bmcgxJFp4buHcCBk4bqhbmcgdGjDtFxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODgKK21zZ2lkICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iCittc2dzdHIgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgYnXhu5ljIGTDuW5nIHN5c2xvZygyKSB0aGF5IGNobyAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA8Y+G7oT4gICAgICBrw61jaCB0aMaw4bubYyBi4buZIMSR4buHbSDEkeG7gyB0cnV5IHbhuqVuIGLhu5kgxJHhu4dtIHbDsm5nIG5ow6JuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorbXNnaWQgIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBoaeG7g24gdGjhu4sgY8OhYyB0aMO0bmcgxJFp4buHcCDhu58ga2jDtG5nIGdpYW4gbmfGsOG7nWkgZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkxCittc2dpZCAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICDEkeG7o2kgbOG7nWkgbmjhuq9uIG3hu5tpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MgorbXNnaWQgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKK21zZ3N0ciAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBwaMawxqFuZyB0aeG7h24gZ2nhuqNpIG3DoyB2w6AgbeG7qWMgY2hvIGNodeG7l2kgY8OzIHRo4buDIMSR4buNY1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTMKK21zZ2lkICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjhu51pIGdpYW4g4oCcZGVsdGHigJ0gZ2nhu69hIGPDoWMgbOG7nWkgbmjhuq9uIMSRxrDhu6NjIGluXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NAorbXNnaWQgIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aOG7nWkgZ2lhbiBu4buZaSBi4buZIHbDoCDigJxkZWx0YeKAnSB0cm9uZyDEkeG7i25oIGThuqFuZyBjw7MgdGjhu4MgxJHhu41jXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4tcmVhZGFibGUgdGltZXN0YW1wIChtYXkgYmUgaW5hY2N1cmF0ZSEpXG4iCittc2dzdHIgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgeHXhuqV0IGThuqV1IHRo4budaSBnaWFuIOG7nyBk4bqhbmcgZMOgbmggY2hvIGNvbiBuZ8aw4budaSDEkeG7jWNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBraMO0bmcgY+G6p24gaW4gZOG6pXUgduG6v3QgdGjhu51pIGdpYW4gY+G7p2EgbOG7nWkgbmjhuq9uXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NworIywgZnV6enkKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8xJHhu4tuaF9k4bqhbmc+IGhp4buDbiB0aOG7iyBk4bqldSB0aOG7nWkgZ2lhbiBkw7luZyDEkeG7i25oIGThuqFuZzpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJOZ+G7q25nL2No4bqheSBz4bq9IGzDoG0gZOG6pXUgdGjhu51pIGdpYW4g4oCcY3RpbWXigJ0gdsOgIOKAnGlzb+KAnSBraMO0bmcgY2jDrW5oIHjDoWMuXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwMgorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGZhY2lsaXRpZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJI4buXIHRy4bujIGPDoWMgcGjGsMahbmcgdGnhu4duIGdoaSBuaOG6rXQga8O9OlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBsZXZlbHMgKHByaW9yaXRpZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhYyBt4bupYyBnaGkgbmjhuq10IGvDvSAobeG7qWMgxrB1IHRpw6puKTpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MzYyCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICJraMO0bmcgcGjDom4gdMOtY2ggxJHGsOG7o2MgbeG7qWMg4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGxldmVsICclcyciCittc2dzdHIgImtow7RuZyBoaeG7g3UgbeG7qWMg4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIHBoxrDGoW5nIHRp4buHbiDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSBwaMawxqFuZyB0aeG7h24g4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBtbWFwOiAlcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQzNgorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGvDrWNoIGPhu6Ega2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0ODgKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXNob3ctZGVsdGEgYuG7iyBi4buPIHF1YSBraGkgZMO5bmcgY8O5bmcgduG7m2kgxJHhu4tuaCBk4bqhbmcgdGjhu51pIGdpYW4gaXNvODYwMSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTUxMQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICJ0w7l5IGNo4buNbiAtLXJhdyBjw7MgdGjhu4Mgc+G7rSBk4bulbmcgY8O5bmcgduG7m2kgY8OhYyB0w7l5IGNo4buNbiAtLWxldmVsIGhheSAtLWZhY2lsaXR5IGNo4buJIGtoaSDEkeG7jWMgdGjDtG5nIMSRaeG7h3AgdOG7qyAvZGV2L2ttc2ciCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MjYKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICLEkeG7jWMgYuG7mSDEkeG7h20ga2VybmVsIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTQ1Cittc2dpZCAia2xvZ2N0bCBmYWlsZWQiCittc2dzdHIgImtsb2djdGwgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiVzIFt0w7l5IGNo4buNbl0gWzx0aGnhur90LWLhu4s+fDzEkWnhu4NtLWfhuq9uPl1cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM4Cittc2dpZCAiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIgorbXNnc3RyICLEkOG6qXkgdGhp4bq/dCBi4buLIMSRYSBwaMawxqFuZyB0aeG7h24gZGkgxJHhu5luZy5cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTQxCittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICBi4bqtdCB0w61uaCBuxINuZyB04buxLcSR4bqpeS3EkcSpYSBsw6AgdOG6r3QgaG/hurdjIGLhuq10XG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBjaHV54buDbiDEkcSpYSB0csOqbiBi4buZIGNodXnhu4NuIMSRxKlhIENELVJPTVxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRoaeG6v3QgYuG7iyBt4bq3YyDEkeG7i25oXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICDEkeG6qXkgxJHEqWEgbeG7gW1cbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGtow7RuZyBxdWFuIHTDom0ga2nhu4N1IHRoaeG6v3QgYuG7iyBsw6AgZ8OsXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICBi4bqtdC904bqvdCBjaOG7qWMgbsSDbmcgYuG6o28gduG7hyDEkeG6qXkgxJHEqWEgcmEgYuG6sW5nIHRheVxuIgorIiAtbSwgLS1uby11bm1vdW50ICAgICAgICAgICAga2jDtG5nIGLhu48gZ+G6r24gdGjhuq1tIGNow60gY+G6oyBraGkgbsOzIMSRw6MgxJHGsOG7o2MgZ+G6r25cbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGtow7RuZyBi4buPIGfhuq9uIGPDoWMgcGjDom4gdsO5bmcga2jDoWNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGtow7RuZyDEkeG6qXkgcmEsIGNo4buJIGhp4buDbiB0aOG7iyBjw6FjIHRoaeG6v3QgYuG7iyB0w6xtIHRo4bqleVxuIgorIiAtcCwgLS1wcm9jICAgICAgICAgICAgICAgICAgc+G7rSBk4bulbmcgL3Byb2MvbW91bnRzIHRoYXkgdsOsIC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAgxJHhuql5IGLEg25nIHThu6tcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIMSR4bqpeSDEkcSpYSBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIMSR4bqpeSB0aGnhur90IGLhu4sgU0NTSVxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAgxJHDs25nIGtoYXkgxJHEqWFcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIMSRw7NuZy9t4bufIGtoYXkgxJHEqWFcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIGNobyBwaMOpcCBoaeG7g24gdGjhu4sgY2hpIHRp4bq/dCBjw7RuZyB2aeG7h2NcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIMSR4bq3dCB04buRYyDEkeG7mSBDRC1ST00gdOG7kWkgxJFhXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaeG7h3Qga8OqIHThu5FjIMSR4buZIENELVJPTSBz4bq1biBjw7NcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTY0Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJUaGVvIG3hurdjIMSR4buLbmggY8OhYyBt4bulYyAtciwgLXMsIC1mLCB2w6AgLXEgdGjhu7FjIGhp4buHbiB0aGVvIHRo4bupIHThu7EgbsOgeSBjaG8gxJHhur9uIGtoaSB0aMOgbmggY8O0bmcuXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHIMSR4buRaSB24bubaSB0w7l5IGNo4buNbiAtLWNoYW5nZXJzbG90Ly1jIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHIMSR4buRaSB24bubaSB0w7l5IGNo4buNbiAtLWNkc3BlZWQvLXgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJM4buHbmggxJHhuql5IMSRxKlhIENELVJPTSByYSB04buxIMSR4buZbmcgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMzOQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiS2jDtG5nIGjhu5cgdHLhu6Mga2jDs2EgY+G7rWEg4buVIMSRxKlhIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgImPDoWMgbmfGsOG7nWkgZMO5bmcga2jDoWMgY8OzIMSRxKlhIG3hu58gdsOgIGtow7RuZyBDQVBfU1lTX0FETUlOIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJM4buHbmgga2jDs2EgY+G7rWEgQ0QtUk9NIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICLEkMSpYSBDRC1ST00gY8OzIGzhur0ga2jDtG5nIHRo4buDIMSRxrDhu6NjIMSR4bqpeSByYSB24bubaSBuw7p0IOG7nyB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAixJDEqWEgQ0QtUk9NIGPDsyBs4bq9IMSRxrDhu6NjIMSR4bqpeSByYSB24bubaSBuw7p0IOG7nyB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorbXNnaWQgIkNELVJPTSBzZWxlY3QgZGlzYyBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiTOG7h25oIGNo4buNbiDEkcSpYSBjaG8gQ0QtUk9NIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjUKK21zZ2lkICJDRC1ST00gbG9hZCBmcm9tIHNsb3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgInTDoGkgQ0QtUk9NIHThu6sgbOG7h25oIHNsb3QgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NworbXNnaWQgIklERS9BVEFQSSBDRC1ST00gY2hhbmdlciBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iCittc2dzdHIgIlRoYXkgxJHhu5VpIElERS9BVEFQSSBDRC1ST00ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kga2VybmVsIG7DoHlcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg1Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkzhu4duaCDEkcOzbmcgxJHEqWEgQ0QtUk9NIHbDoG8gZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICJM4buHbmggxJHDs25nIMSRxKlhIENELVJPTSB2w6BvIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujIGLhu59pIGtlcm5lbCBuw6B5XG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQwNAorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAixJDhuql5IMSRxKlhIENELVJPTSByYSBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDMyIHN5cy11dGlscy9lamVjdC5jOjQ1NSBzeXMtdXRpbHMvZWplY3QuYzoxMDA2Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJM4buHbmggxJHhuql5IMSRxKlhIENELVJPTSByYSBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM1Cittc2dpZCAibm8gQ0QtUk9NIGluZm9ybWF0aW9uIGF2YWlsYWJsZSIKK21zZ3N0ciAia2jDtG5nIGPDsyB0aMO0bmcgdGluIENELVJPTSBz4bq1biBzw6BuZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDM4Cittc2dpZCAiQ0QtUk9NIGRyaXZlIGlzIG5vdCByZWFkeSIKK21zZ3N0ciAi4buUIMSRxKlhIENELVJPTSBjaMawYSBz4bq1biBzw6BuZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDgxCittc2dpZCAiQ0QtUk9NIHNlbGVjdCBzcGVlZCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiTOG7h25oIGNo4buNbiB04buRYyDEkeG7mSBjaG8gQ0QtUk9NIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAiTOG7h25oIGNo4buNbiB04buRYyDEkeG7mSDEkcSpYSBDRC1ST00ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgYuG7n2kga2VybmVsIG7DoHkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVzOiBs4buXaSBraGkgbOG6pXkgdMOqbiBDRC1ST00iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVzOiDEkeG7jWMgdOG7kWMgxJHhu5kgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICLEkeG7jWMgdOG7kWMgxJHhu5kgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworbXNnaWQgIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiCittc2dzdHIgImtow7RuZyBwaOG6o2kgbMOgICB0aGnhur90IGLhu4sgc2csIGhv4bq3YyB0csOsbmggxJFp4buBdSBraGnhu4NuIHNnIHF1w6EgY8WpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVubW91bnRpbmciCittc2dzdHIgIiVzOiDEkWFuZyBi4buPIGfhuq9uIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2NzMKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHLhur0gbmjDoW5oIHRp4bq/biB0csOsbmggY29uIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAiYuG7jyBn4bqvbiDigJwlc+KAnSBraMO0bmcgdGhvw6F0IGLDrG5oIHRoxrDhu51uZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAiYuG7jyBn4bqvbiDigJwlc+KAnSBn4bq3cCBs4buXaVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MjUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBi4bqjbmcgZ+G6r24iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjc4NiBzeXMtdXRpbHMvZWplY3QuYzo4ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIiVzOiDEkcaw4bujYyBn4bqvbiB2w6BvICVzIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MjgKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICLEkeG6t3QgdOG7kWMgxJHhu5kgY2hvIENELVJPTSB0aMOgbmggdOG7sSDEkeG7mW5nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAixJHhurd0IHThu5FjIMSR4buZIGNobyBDRC1ST00gdGjDoG5oIHThu7EgxJHhu5luZyAlbGRYIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgInRoaeG6v3QgYuG7iyBt4bq3YyDEkeG7i25oOiDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgInPhu60gZOG7pW5nIHRoaeG6v3QgYuG7iyBt4bq3YyDEkeG7i25oIOKAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB0w6xtIHRoaeG6v3QgYuG7iyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODgzCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgInTDqm4gdGhp4bq/dCBi4buLIGzDoCDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVzOiBjaMawYSBn4bqvbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODkzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlczogdGhp4bq/dCBi4buLIMSRxKlhOiAlcyAodGhp4bq/dCBi4buLIMSRxKlhIHPhur0gxJHGsOG7o2MgxJHhuql5IHJhKSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXM6IGtow7RuZyB0w6xtIHRo4bqleSDEkWnhu4NtIGfhuq9uIGhheSB0aGnhur90IGLhu4sgY8OzIHTDqm4gxJHDoyBjaOG7iSByYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIKK21zZ3N0ciAiJXM6IGzDoCB0aGnhur90IGLhu4sgdG/DoG4tYuG7mS3EkcSpYSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgaG90LXBsdWdnYWJsZSBkZXZpY2UiCittc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGzDoCB0aGnhur90IGLhu4sgY+G6r20gbsOzbmciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMgorIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAidGhp4bq/dCBi4buLIGzDoCDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAidGhvw6F0IHJhIGLhu59pIHbDrCB0w7l5IGNo4buNbiAtbi8tLW5vb3AiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlczogYuG6rXQgY2jhur8gxJHhu5kgdOG7sS3EkeG7mW5nLcSR4bqpeS1raGF5LcSRxKlhIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2FibGluZyBhdXRvLWVqZWN0IG1vZGUiCittc2dzdHIgIiVzOiB04bqvdCBjaOG6vyDEkeG7mSB04buxLcSR4buZbmctxJHhuql5LWtoYXktxJHEqWEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2luZyB0cmF5IgorbXNnc3RyICIlczogxJHDs25nIGtoYXkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9nZ2xpbmcgdHJheSIKK21zZ3N0ciAiJXM6IMSRw7NuZy9t4bufIGtoYXkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGlzdGluZyBDRC1ST00gc3BlZWQiCittc2dzdHIgIiVzOiBsaeG7h3Qga8OqIHThu5FjIMSR4buZIENELVJPTSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIKK21zZ3N0ciAibOG7l2k6ICVzOiB0aGnhur90IGLhu4sgxJFhbmcgxJHGsOG7o2Mgc+G7rSBk4bulbmciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiVzOiDEkWFuZyBjaOG7jW4gxJHEqWEgQ0QtUk9NICMlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBDRC1ST00gZWplY3QgY29tbWFuZCIKK21zZ3N0ciAiJXM6IMSRYW5nIHRo4butIMSR4bqpeSDEkcSpYUNELVJPTSByYSBz4butIGThu6VuZyBs4buHbmggZWplY3QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkzhu4duaCDEkeG6qXkgxJHEqWEgQ0QtUk9NIHJhIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVzOiDEkWFuZyB0aOG7rSDEkeG6qXkgxJHEqWFDRC1ST00gcmEgc+G7rSBk4bulbmcgbOG7h25oIFNDU0kiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTIKK21zZ2lkICJTQ1NJIGVqZWN0IHN1Y2NlZWRlZCIKK21zZ3N0ciAixJHhuql5IMSRxKlhIHJhIHPhu60gZOG7pW5nIFNDU0kgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEzCittc2dpZCAiU0NTSSBlamVjdCBmYWlsZWQiCittc2dzdHIgIsSR4bqpeSDEkcSpYSByYSBz4butIGThu6VuZyBTQ1NJIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVzOiDEkWFuZyB0aOG7rSDEkeG6qXkgxJHEqWEgbeG7gW0gcmEgc+G7rSBk4bulbmcgbOG7h25oIGVqZWN0IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5Cittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJs4buHbmggxJHhuql5IMSRxKlhIG3hu4FtIHJhIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyMAorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAibOG7h25oIMSR4bqpeSDEkcSpYSBt4buBbSByYSBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlczogxJFhbmcgdGjhu60gxJHhuql5IMSRxKlhIHJhIHPhu60gZOG7pW5nIGzhu4duaCAg4oCcdGFwZSBvZmZsaW5l4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI2Cittc2dpZCAidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIgorbXNnc3RyICJs4buHbmggxJHhuql5IMSRxKlhIOKAnHRhcGUgb2ZmbGluZeKAnSB0aMOgbmggY8O0bmciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjcKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgImzhu4duaCDEkeG6qXkgxJHEqWEg4oCcdGFwZSBvZmZsaW5l4oCdIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyBraGF5IMSRxrDhu6NjIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iCittc2dzdHIgIiVzIFtDw4FDX1TDmVlfQ0jhu4xOXSA8VMOKTl9U4bqsUF9USU4+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICJD4bqlcC90aHUgaOG7k2kga2jDtG5nIGdpYW4gY2hvL3Thu6sgbeG7mXQgdOG6rXAgdGluLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTAKK21zZ2lkICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgcmVtb3ZlIGEgcmFuZ2UgZnJvbSB0aGUgZmlsZVxuIgorbXNnc3RyICIgLWMsIC0tY29sbGFwc2UtcmFuZ2UgZ+G7oSBi4buPIG3hu5l0IHbDuW5nIHThu6sgdOG6rXAgdGluXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MQorbXNnaWQgIiAtZCwgLS1kaWctaG9sZXMgICAgICBkZXRlY3QgemVyb2VzIGFuZCByZXBsYWNlIHdpdGggaG9sZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRpZy1ob2xlcyAgICAgIGTDsiBz4buRIGtow7RuZyB2w6AgdGhheSBi4bqxbmcgY8OhYyBs4buXXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5MgorbXNnaWQgIiAtaSwgLS1pbnNlcnQtcmFuZ2UgICBpbnNlcnQgYSBob2xlIGF0IHJhbmdlLCBzaGlmdGluZyBleGlzdGluZyBkYXRhXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkzCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxlbmd0aCA8c+G7kT4gICAgxJHhu5kgZMOgaSBjaG8gY8OhYyB0aGFvIHTDoWMgdsO5bmcsIHTDrW5oIGLhurFuZyBieXRlXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NAorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLW4sIC0ta2VlcC1zaXplICAgICAgYuG6o28gdHLDrCBj4buhIGJp4buDdSBraeG6v24gY+G7p2EgdOG6rXAgdGluXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICBvZmZzZXQgZm9yIHJhbmdlIG9wZXJhdGlvbnMsIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHPhu5E+ICAgIGtob+G6o25nIGLDuSBjaG8gdGhhbyB0w6FjIHbDuW5nLCB0w61uaCBi4bqxbmcgYnl0ZVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgdGhheSB0aOG6vyBt4buZdCB2w7luZyBi4bqxbmcgbeG7mXQgbOG7lyAow70gbMOgIC1uKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTcKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIgLXosIC0temVyby1yYW5nZSAgICAgxJFp4buBbiBi4bqxbmcgc+G7kSBraMO0bmcgdsOgIMSR4bqjbSBi4bqjbyBhbGxvY2F0aW9uIGPhu6dhIHbDuW5nXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tcG9zaXggICAgICAgICAgdXNlIHBvc2l4X2ZhbGxvY2F0ZSgzKSBpbnN0ZWFkIG9mIGZhbGxvY2F0ZSgyKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgaGnhu4NuIHRo4buLIG3hu41pIHRoaeG6v3QgYuG7i1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM1CisjLCBmdXp6eQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJjaOG6vyDEkeG7mSBnaeG7ryBrw61jaCBj4buhICh0w7l5IGNo4buNbiDigJwtbuKAnS4ga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQiCittc2dzdHIgImZhbGxvY2F0ZSBi4buLIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSDEkeG7jWMiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglanUgYnl0ZXMpIGNvbnZlcnRlZCB0byBzcGFyc2UgaG9sZXMuXG4iCittc2dzdHIgIiVzOiAlcyAoJWp1IGJ5dGVzKSDEkcaw4bujYyBjaHV54buDbiDEkeG7lWkgdGjDoG5oIGPDoWMgbOG7lyBy4bqjaSByw6FjLlxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzU0Cittc2dpZCAicG9zaXhfZmFsbG9jYXRlIHN1cHBvcnQgaXMgbm90IGNvbXBpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNjggc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTA3Cittc2dpZCAibm8gZmlsZW5hbWUgc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSB4w6FjIMSR4buLbmggdMOqbiB04bqtcCB0aW4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODAgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NgorbXNnaWQgImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIKK21zZ3N0ciAic2FpIHjDoWMgxJHhu4tuaCBnacOhIHRy4buLIGNoaeG7gXUgZMOgaSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4NAorbXNnaWQgIm5vIGxlbmd0aCBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgImNoxrBhIHjDoWMgxJHhu4tuaCDEkeG7kWkgc+G7kSBjaGnhu4F1IGTDoGkiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgInNhaSB4w6FjIMSR4buLbmggZ2nDoSB0cuG7iyBjaMOqbmgiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8dOG6rXAtdGluPnw8dGjGsC1t4bulYz4gPGzhu4duaD4gWzxjw6FjIMSR4buRaSBz4buRPuKApl1cbiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gPHThuq1wLXRpbj58PHRoxrAtbeG7pWM+IC1jIDxs4buHbmg+XG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIDxz4buRIG3DtCB04bqjIHThuq1wIHRpbj5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKK21zZ2lkICJNYW5hZ2UgZmlsZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMuXG4iCittc2dzdHIgIlF14bqjbiBsw70gY8OhYyBraMOzYSB04bqtcCB0aW4gdOG7qyB2xINuIGzhu4duaCBo4buHIHbhu49cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjIKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgbOG6pXkga2jhu5FpIGNoaWEgc+G6u1xuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MworbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGzhuqV5IG3hu5l0IGtow7NhIGxv4bqhaSB0cuG7qyAobeG6t2MgxJHhu4tuaClcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjQKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11LCAtLXVubG9jayAgICAgICAgICAgICBn4buhIGLhu48gbeG7mXQga2jDs2FcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKK21zZ2lkICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorbXNnc3RyICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGzDoG0gaOG7j25nIHRoYXkgdsOsIMSR4bujaVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NgorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxzZWNzPiAgICAgd2FpdCBmb3IgYSBsaW1pdGVkIGFtb3VudCBvZiB0aW1lXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDxnacOieT4gICAgIGNo4budIMSR4bujaSBjw7MgZ2nhu5tpIGjhuqFuXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8c+G7kT4gIG3DoyB0aG/DoXQgc2F1IHh1bmcgxJHhu5l0IGhv4bq3YyBxdcOhIGdp4budXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIMSRw7NuZyBi4buZIG3DtCB04bqjIHThuq1wIHRpbiB0csaw4bubYyBraGkgY2jhuqF5IGzhu4duaFxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDxs4buHbmg+ICAgICBjaOG6oXkgbeG7mXQgY8OidSBs4buHbmggxJHGoW4gdGjDtG5nIHF1YSBo4buHIHbhu48gc2hlbGxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGtow7RuZyBy4bq9IG5ow6FuaCB0aeG6v24gdHLDrG5oIHRyxrDhu5tjIHRo4buxYyB0aGkgPGNoxrDGoW5nIHRyw6xuaD5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBjaGkgdGnhur90IGjGoW4gbuG7r2FcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2MgdOG6rXAgdGluIGtow7NhICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgImdpw6EgdHLhu4sgcXXDoSBnaeG7nSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCittc2dpZCAiaW52YWxpZCBleGl0IGNvZGUiCittc2dzdHIgIm3DoyB0aG/DoXQga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IgorbXNnc3RyICIlczogecOqdSBj4bqndSBjaMOtbmggeMOhYyBt4buZdCDEkeG7kWkgc+G7kSBs4buHbmgiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1NQorbXNnaWQgImJhZCBmaWxlIGRlc2NyaXB0b3IiCittc2dzdHIgIm3DtCB04bqjIHThuq1wIHRpbiBzYWkiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgInnDqnUgY+G6p3UgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4sIHThuq1wIHRpbiBoYXkgdGjGsCBt4bulYyIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgbG9jayIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBk4buvIGxp4buHdSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6Mjg5Cittc2dpZCAidGltZW91dCB3aGlsZSB3YWl0aW5nIHRvIGdldCBsb2NrIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlMDZkIGdpw6J5XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjM0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJM4buXaSB0aOG7sWMgaGnhu4duIFx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnRwb2ludD5cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8xJFp4buDbV9n4bqvbj5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKKyMsIGZ1enp5Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJH4bqvbiBr4bq/dCBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluLlxuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0NworbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC1mLCAtLWZyZWV6ZSAgICAgIMSRw7NuZyBixINuZyBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ4Cittc2dpZCAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtdSwgLS11bmZyZWV6ZSAgICBi4buPIMSRw7NuZyBixINuZyBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEwNQorbXNnaWQgIm5laXRoZXIgLS1mcmVlemUgb3IgLS11bmZyZWV6ZSBzcGVjaWZpZWQiCittc2dzdHIgImtow7RuZyBjaOG7iSDEkeG7i25oIC0tZnJlZXplIG3DoCBjxaluZyBraMO0bmcgLS11bmZyZWV6ZSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgxJHDs25nIGLEg25nIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuZnJlZXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBi4buPIMSRw7NuZyBixINuZyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIG3hu5l0IHRoxrAgbeG7pWMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXM6IEZJVFJJTSBpb2N0bCBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIGLhu4sgeMOpblxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MTkzIHN5cy11dGlscy9sc25zLmM6MTA2NiBzeXMtdXRpbHMvc3dhcG9uLmM6NzMzCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2ggJXMiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gPMSRaeG7g21fZ+G6r24+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIkxv4bqhaSBi4buPIGPDoWMga2jhu5FpIGtow7RuZyBkw7luZyB0csOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgZ+G6r24uXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICBj4bqvdCB04bqldCBj4bqjIGPDoWMgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcOjIGfhuq9uIG3DoCBuw7Mga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6NcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPHPhu5E+ICAgduG7iyB0csOtIHTGsMahbmcgxJHhu5FpIHTDrW5oIGLhurFuIGJ5dGUgxJHhu4MgYuG6r3QgxJHhuqd1IGxv4bqhaSBi4buPIHThu6sgxJHDs1xuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPHPhu5E+ICAgc+G7kSBsxrDhu6NuZyBieXRlIMSRxrDhu6NjIGxv4bqhaSBi4buPXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjMKK21zZ2lkICIgLW0sIC0tbWluaW11bSA8bnVtPiB0aGUgbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1pbmltdW0gPHPhu5E+ICBjaGnhu4F1IGTDoGkgcXV5IG3DtCB04buRaSB0aGnhu4N1IMSR4buDIGxv4bqhaSBi4buPXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgIGhp4buDbiB0aOG7iyBz4buRIGzGsOG7o25nIGJ5dGUgxJHGsOG7o2MgbG/huqFpIGLhu49cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0aW4gxJHhu5kgZMOgaSB04buRaSB0aGnhu4N1IGPhu6dhIHBo4bqnbiBt4bufIHLhu5luZyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMzMQorbXNnaWQgIm5vIG1vdW50cG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSBjaOG7iSByYSDEkWnhu4NtIGfhuq9uIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aGUgZGlzY2FyZCBvcGVyYXRpb24gaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAiJXM6IGtow7RuZyBo4buXIHRy4bujIGjhu6d5IHRoYW8gdMOhYyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQXNzdW1pbmcgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiAlcyB0aW1lLlxuIgorbXNnc3RyICJDb2kgbmjGsCDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyDEkcaw4bujYyBnaeG7ryB04bqhaSAlcy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAixJHhu4thIHBoxrDGoW5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisiQ+G6o25oIGLDoW86IGtow7RuZyBjaOG6pXAgbmjhuq1uIGTDsm5nIHRo4bupIGJhIGPhu6dhIHThuq1wIHRpbiBkw7luZyBjaG8gY2jhu4luaCBz4butYVxuIgorIihD4bqnbjog4oCcVVRD4oCdIGhv4bq3YyDigJxMT0NBTOKAnSBob+G6t2Mga2jDtG5nIGfDrCBj4bqjLikiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYxCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgZHJpZnQgYWRqdXN0bWVudCBkb25lIGF0ICVsZCBzZWNvbmRzIGFmdGVyIDE5NjlcbiIKK21zZ3N0ciAixJBp4buBdSBjaOG7iW5oIMSR4buZIGzhu4djaCBs4bqnbiBjdeG7kWkgdOG6oWkgJWxkIGdpw6J5IHNhdSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIlPhu7EgxJHhu4tuaCBraHXDtG4gdGjhu7FjIGhp4buHbiBs4bqnbiBjdeG7kWkgdOG6oWkgJWxkIGdpw6J5IHNhdSBuxINtIDE5NjlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiSGFyZHdhcmUgY2xvY2sgaXMgb24gJXMgdGltZVxuIgorbXNnc3RyICLEkOG7k25nIGjhu5MgcGjhuqduIGPhu6luZyBsw6AgdHLDqm4gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICJDaOG7nSB0aeG6v25nIHTDrWMgdOG6r2MgY+G7p2EgxJHhu5NuZyBo4buT4oCmXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mjk4CisjLCBjLWZvcm1hdAorbXNnaWQgIi4uLnN5bmNocm9uaXphdGlvbiBmYWlsZWRcbiIKK21zZ3N0ciAi4oCmbOG7l2kgxJHhu5NuZyBi4buZIGjDs2FcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAi4oCmxJHDoyBuZ2hlIHRo4bqleSB0aeG6v25nIHTDrWMgdOG6r2NcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAiR2nDoSB0cuG7iyBraMO0bmcgxJHDum5nIHRyb25nIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkh3IGNsb2NrIHRpbWUgOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkID0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIgorbXNnc3RyICJUaOG7nWkgZ2lhbiDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZzogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBnacOieSBr4buDIHThu6sgbsSDbSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIlRo4budaSBnaWFuIMSR4buNYyB04burIMSQ4buTbmcgaOG7kyBQaOG6p24gY+G7qW5nOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgSGFyZHdhcmUgQ2xvY2sgdG8gJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIsSQ4bq3dCDEkOG7k25nIGjhu5MgUGjhuqduIGPhu6luZyB0aMOgbmggJS4yZDolLjJkOiUuMmQgPSAlbGQgZ2nDonkga+G7gyB04burIG5hbSAxOTY5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAidGjhu51pIGdpYW4gbmjhuqN5IG5nxrDhu6NjICUuNmYgZ2nDonkgxJHhur9uICVsZC4lMDZkIC0gxJFhbmcgdMOhaSBs4bqtcCBt4bulYyB0acOqdVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICLEkcOjIG3huqV0IC0gJWxkLiUwNmQgbsOzIGzDoCBxdcOhIHhhIHF1w6Ega2jhu6kgJWxkLiUwNmQgKCUuNmYgPiAlLjZmKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjU1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKyIlbGQuJTA2ZCBsw6AgZ+G6p24gxJHhu6cgxJHhu4MgJWxkLiUwNmQgKCUuNmYgPCAlLjZmKVxuIgorIsSQ4bq3dCBSVEMgdGjDoG5oICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2ZClcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIsSQYW5nIGfhu41pIGzhu4duaCBnaeG7nSBzZXR0aW1lb2ZkYXk6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICLEkGFuZyBn4buNaSBs4buHbmggZ2nhu50gc2V0dGltZW9mZGF5OlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzNgorbXNnaWQgInRvIHNldCB0aGUga2VybmVsIHRpbWV6b25lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYzOAorbXNnaWQgInRvIHdhcnAgU3lzdGVtIHRpbWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjU1Cittc2dpZCAic2V0dGltZW9mZGF5KCkgZmFpbGVkIgorbXNnc3RyICJzZXR0aW1lb2ZkYXkoKSBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24gd2FzIG5vdCB1c2VkLlxuIgorbXNnc3RyICJLaMO0bmcgY2jhu4luaCDEkeG7mSBs4buHbmggdGjhu51pIGdpYW4gdsOsIHTDuXkgY2jhu41uIC0tdXBkYXRlLWRyaWZ0IMSRw6Mga2jDtG5nIMSRxrDhu6NjIGTDuW5nLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIktow7RuZyBjaOG7iW5oIMSR4buZIGzhu4duaCB0aOG7nWkgZ2lhbiB2w6wgbOG6p24gxJHhu4tuaCB0aOG7nWkgZ2lhbiBjdeG7kWkgY8O5bmcgYuG6sW5nIDAsXG4iCisidsOsIHRo4bq/IGzhu4tjaCBz4butIHNhaSwgdsOgIGPhuqduIGto4bufaSDEkeG7mW5nIGzhuqFpIHZp4buHYyDEkeG7i25oIHRo4budaSBnaWFuLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICJLaMO0bmcgY2jhu4luaCDEkeG7mSBs4buHbmggdGjhu51pIGdpYW4gdsOsIG7DsyBuaOG7jyBi4buRbiBnaeG7nSBr4buDIHThu6sgbOG6p24gY8OibiBjaOG7iW5oIHRo4budaSBnaWFuIGN14buRaSBjw7luZy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisiSOG7hyBz4buRIHRyw7RpIMSR4buTbmcgaOG7kyDEkcOjIMSRxrDhu6NjIHTDrW5oIGzDoCAlZiBnacOieS9uZ8OgeS5cbiIKKyJOw7MgbMOgIHF1w6EgbOG7m24uIMSQ4bq3dCBs4bqhaSB0aMOgbmggMC5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJDbG9jayBkcmlmdGVkICVmIHNlY29uZHMgaW4gdGhlIHBhc3QgJWYgc2Vjb25kc1xuIgorImluIHNwaXRlIG9mIGEgZHJpZnQgZmFjdG9yIG9mICVmIHNlY29uZHMvZGF5LlxuIgorIkFkanVzdGluZyBkcmlmdCBmYWN0b3IgYnkgJWYgc2Vjb25kcy9kYXlcbiIKK21zZ3N0ciAiIgorIsSQ4buTbmcgaOG7kyBjaOG6oXkgc2FpIGzhu4djaCAlLjFmIGdpw6J5IHRyb25nIHPhu5EgJS4xZiBnacOieSDEkcOjIHF1YVxuIgorInbDoCDEkWkgbmfGsOG7o2MgbOG6oWkgxJHhu5kgc2FpIGzhu4djaCAlZiBnacOieS9uZ8OgeS5cbiIKKyJDaOG7iW5oIGzhuqFpIMSR4buZIHNhaSBs4buHY2ggJWYgZ2nDonkvbmfDoHlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZHNcbiIKK21zZ3N0clswXSAiVGjhu51pIGdpYW4ga+G7gyB04burIGzhuqduIGNo4buJbmggY3Xhu5FpIGPDuW5nIGzDoCAlZCBnacOieVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICLEkOG7mSBs4buHbmggxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgdMOtbmggdG/DoW4gbMOgICVsZC4lMDZkIGdpw6J5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOZXcgJXMgZGF0YTpcbiIKKyIlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHVwZGF0ZSAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODUzCisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIlPhur0ga2jDtG5nIMSR4bq3dCDEkeG7k25nIGjhu5MgdsOsIHRo4budaSBnaWFuIMSRaeG7gXUgY2jhu4luaCBjdeG7kWkgY8O5bmcgbMOgIHPhu5Ega2jDtG5nLCBkbyDEkcOzIGzhu4tjaCBz4butIHNhaS5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIgorbXNnc3RyICJT4bq9IGtow7RuZyDEkeG6t3QgxJHhu5NuZyBo4buTIHbDrCBo4buHIHPhu5EgdHLDtGkgJWYgbMOgIHF1w6EgY2FvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgZ2lhbyBkaeG7h24gxJHhu5NuZyBo4buTIGPDsyB0aOG7gyBz4butIGThu6VuZyBuw6BvLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NgorbXNnaWQgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSBhbnkga25vd24gbWV0aG9kLiIKK21zZ3N0ciAiS2jDtG5nIHRo4buDIHRydXkgY+G6rXAgdOG7m2kgxJDhu5NuZyBo4buTIFBo4bqnbiBj4bupbmcgcXVhIG3hu5l0IHBoxrDGoW5nIHBow6FwIGtow7RuZyByw7UuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4OQorIywgZnV6enkKK21zZ2lkICJVc2UgdGhlIC0tdmVyYm9zZSBvcHRpb24gdG8gc2VlIHRoZSBkZXRhaWxzIG9mIG91ciBzZWFyY2ggZm9yIGFuIGFjY2VzcyBtZXRob2QuIgorbXNnc3RyICJT4butIGThu6VuZyB0w7l5IGNo4buNbiAtLWRlYnVnIMSR4buDIHhlbSBjaGkgdGnhur90IHbhu4EgdGnhur9uIHRyw6xuaCB0w6xtIGtp4bq/bSBwaMawxqFuZyBwaMOhcCB0cnV5IGPhuq1wIGPhu6dhIGNow7puZyB0YS4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAiJWxkIHRyYW5nIMSRw6MgxJHGsGEgdsOgbyBzd2FwXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlByZWRpY3RlZCBSVEM6ICVsZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTcwCittc2dpZCAiUlRDIHJlYWQgcmV0dXJuZWQgYW4gaW52YWxpZCB2YWx1ZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5OTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmVlZGVkIGFkanVzdG1lbnQgaXMgbGVzcyB0aGFuIG9uZSBzZWNvbmQsIHNvIG5vdCBzZXR0aW5nIGNsb2NrLlxuIgorbXNnc3RyICJD4bqnbiBjaOG7iW5oIMOtdCBoxqFuIG3hu5l0IGdpw6J5LCB2w6wgdGjhur8ga2jDtG5nIMSR4bq3dCDEkeG7k25nIGjhu5MuXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyBzacOqdSBraOG7kWkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgUlRDIGVwb2NoIGlzIHNldCB0byAlbHUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQwCittc2dpZCAiLS1lcG9jaCBpcyByZXF1aXJlZCBmb3IgLS1zZXRlcG9jaC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDQzCisjLCBmdXp6eQorbXNnaWQgInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIktow7RuZyDEkeG6t3QgxJHGsOG7o2MgxJHhu5NuZyBo4buTIGjhu4cgdGjhu5FuZy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBbaMOgbV0gW3TDuXkgY2jhu41u4oCmXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyDhu58gY2jhur8gxJHhu5kgdGjDtFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIGhp4buDbiB0aOG7iyBuZ+G7ryBj4bqjbmggU0VMaW51eFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIMSR4bq3dCBs4bqhaSBj4buVbmdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY2Cittc2dpZCAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgUlRDIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NworIywgZnV6enkKK21zZ2lkICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBSVEMgZnJvbSB0aGUgc3lzdGVtIHRpbWUiCittc2dzdHIgIiAtdCwgLS10eXBlcyA8ZC5zw6FjaD4gICAgY8OhYyBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBi4buLIGjhuqFuIGNo4bq/XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc3lzdHogICAgICAgICAgc2VuZCB0aW1lc2NhbGUgY29uZmlndXJhdGlvbnMgdG8gdGhlIGtlcm5lbCIKK21zZ3N0ciAiICAgICAtLXh5enp5ICAgICAgICAgICAgIGNo4buJIGTDuW5nIHTDuXkgY2jhu41uIGThuqFuZyBkw6BpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZGlzcGxheSB0aGUgUlRDIGVwb2NoIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBkw7luZyBVVENcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbHRpbWUgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBMb2NhbCIKK21zZ3N0ciAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgZMO5bmcgbcO6aSBnaeG7nSDEkeG7i2EgcGjGsMahbmdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPFThuqxQLVRJTj4gZMO5bmcgdOG6rXAgdGluIHRoYXkgY2hvICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tZGlyZWN0aXNhICAgICAgdXNlIHRoZSBJU0EgYnVzIGluc3RlYWQgb2YgJTEkcyBhY2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGRhdGUvdGltZSBpbnB1dCBmb3IgLS1zZXQgYW5kIC0tcHJlZGljdCIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aOG7nWkgxJFp4buDbSB0aOG7qWMgZ2nhuqVjXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NgorbXNnaWQgIiAgICAgLS1lcG9jaCA8eWVhcj4gICBlcG9jaCBpbnB1dCBmb3IgLS1zZXRlcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODgKK21zZ2lkICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIHRoZSBSVEMgZHJpZnQgZmFjdG9yIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLW5vYWRqZmlsZSAgICAgIGRvIG5vdCB1c2UgJTEkc1xuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWFkamZpbGUgPGZpbGU+IHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDxU4bqsUC1USU4+IGTDuW5nIHThuq1wIHRpbiB0aGF5IGNobyAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRlc3QgICAgICAgICAgIGRyeSBydW47IGltcGxpZXMgLS12ZXJib3NlIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgY2jhuqF5IHRo4butOyBi4buPIHF1YSBjw7ogZ+G7jWkgaOG7hyB0aOG7kW5nIHVtb3VudCgyKVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICBoaeG7g24gdGjhu4sgZOG7ryBsaeG7h3UgZOG6oW5nIMSR4bqneSDEkeG7p1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjExODYKK21zZ2lkICJVbmFibGUgdG8gY29ubmVjdCB0byBhdWRpdCBzeXN0ZW0iCittc2dzdHIgImtow7RuZyB0aOG7gyBr4bq/dCBu4buRaSDEkeG6v24gaOG7hyB0aOG7kW5nIGF1ZGl0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICJxdcOhIG5oaeG7gXUgxJHhu5FpIHPhu5EiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKK21zZ2lkICJXaXRoIC0tbm9hZGpmaWxlLCB5b3UgbXVzdCBzcGVjaWZ5IGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIKK21zZ3N0ciAiVuG7m2kg4oCcLS1ub2FkamZpbGXigJ0sIGLhuqFuIHBo4bqjaSBjaOG7iSByYSDigJwtLXV0Y+KAnSBob+G6t2Mg4oCcLS1sb2NhbHRpbWXigJ0iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgImlkIGtow7RuZyBo4bujcCBs4buHOiAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTeXN0ZW0gVGltZTogJWxkLiUwNmxkXG4iCittc2dzdHIgIlRo4budaSBnaWFuIGjhu4cgdGjhu5FuZyBoaeG7h24gdOG6oWk6ICVsZCA9ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM2NQorIywgZnV6enkKK21zZ2lkICJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyB2w7luZyBob8OhbiDEkeG7lWkiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozODkKK21zZ2lkICJJU0EgcG9ydCBhY2Nlc3MgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAib3BlbigpIGNobyAlcyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAixJBhbmcgZMO5bmcgY8OhYyBjaOG7iSBs4buHbmggVi9SIHRy4buxYyB0aeG6v3AgY2hvIMSR4buTbmcgaOG7kyBJU0EuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyeWluZyB0byBvcGVuOiAlc1xuIgorbXNnc3RyICLEkGFuZyB0aOG7rSBi4buPIGfhuq9uICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHJlYWQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICJpb2N0bCglcykgdOG7m2kgJXMgxJHhu4MgxJHhu41jIHRo4budaSBnaWFuIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSAlcyB0byBjaGFuZ2VcbiIKK21zZ3N0ciAiQ2jhu50gY2hvIHRo4budaSBnaWFuIHThu6sgJXMgdGhheSDEkeG7lWlcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjMzCittc2dpZCAiVGltZWQgb3V0IHdhaXRpbmcgZm9yIHRpbWUgY2hhbmdlLiIKK21zZ3N0ciAiUXXDoSB0aOG7nWkgZ2lhbiBjaOG7nSB0aGF5IMSR4buVaSB0aOG7nWkgZ2lhbi4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIKK21zZ3N0ciAic2VsZWN0KCkgdOG7m2kgJXMgxJHhu4MgY2jhu50gdGnhur9uZyB0w61jIHThuq9jIGLhu4sgcXXDoSB0aOG7nWkgZ2lhbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorbXNnc3RyICJzZWxlY3QoKSB04bubaSAlcyDEkeG7gyBjaOG7nSB0aeG6v25nIHTDrWMgdOG6r2Mga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICJpb2N0bCgpIHThu5tpICVzIMSR4buDIHThuq90IGPDoWMgbmfhuq90IGPhuq1wIG5o4bqtdCBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIHThu5tpICVzIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsKCVzKSB04bubaSAlcyDEkeG7gyDEkeG6t3QgdGjhu51pIGdpYW4ga2jDtG5nIHRow6BuaCBjw7RuZy4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSDEkcOjIHRow6BuaCBjw7RuZy5cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIHRoZSBydGMgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIkTDuW5nIGdpYW8gZGnhu4duIC9kZXYgY2hvIMSR4buTbmcgaOG7ky4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBmYWlsZWQiCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9SRUFEKSB04bubaSAlcyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfUkVBRCkgdOG7m2kgJXMga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGVwb2NoICclcycuIgorbXNnc3RyICJpZCBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICJpb2N0bChSVENfRVBPQ0hfU0VUKSB04bubaSAlcyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkgdOG7m2kgJXMga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzAKK21zZ2lkICJDcmVhdGUgdmFyaW91cyBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICJU4bqhbyBjw6FjIG5ndeG7k24gSVBDIGtow6FjIG5oYXUuXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA8c2l6ZT4gICAgICAgdOG6oW8gxJFv4bqhbiBuaOG7myBjaGlhIHPhursgY8OzIGvDrWNoIHRoxrDhu5tjIDxzaXplPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPHPhu5E+ICAgICAgdOG6oW8gbeG6o25nIHTDrW4gaGnhu4d1IHbhu5tpIDxz4buRPiBwaOG6p24gdOG7rVxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NQorbXNnaWQgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICB04bqhbyBow6BuZyDEkeG7o2kgdGjDtG5nIMSRaeG7h3BcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzYKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHF1eeG7gW4gY+G7p2Egbmd14buTbiB0w6BpIG5ndXnDqm4gKG3hurdjIMSR4buLbmggbMOgIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhurd0IGvDrWNoIGPhu6EgdHJhbmciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGPDoWMgcGjhuqduIHThu60iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICJs4buXaSB04bqhbyB2w7luZyBuaOG7myBkw7luZyBjaHVuZyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iCittc2dzdHIgIklEIHbDuW5nIG5o4bubIGTDuW5nIGNodW5nOiAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgImzhu5dpIHThuqFvIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcCIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIklEIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcDogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTU3Cittc2dpZCAiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiCittc2dzdHIgImzhu5dpIHThuqFvIGPhu50gaGnhu4d1IgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICJJRCBj4budIGhp4buHdTogJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXVxuIgorIiAlMSRzIHNobXxtc2d8c2VtIDxpZD4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtDw4FDX1RV4buyX0NI4buMTl1cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+4oCmXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiR+G7oSBi4buPIGPDoWMgbmd14buTbiBJUEMgxJHDoyBiaeG6v3QuXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4Cittc2dpZCAiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtLWlkIDxtw6Nfc+G7kT4gICAgIGfhu6EgYuG7jyDEkW/huqFuIG5o4bubIGNoaWEgc+G6uyB0aGVvIG3DoyBz4buRXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbS1rZXkgPGtow7NhPiAgICAgZ+G7oSBi4buPIMSRb+G6oW4gbmjhu5sgY2hpYSBz4bq7IHRoZW8ga2jDs2FcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKK21zZ2lkICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkgaWRcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIGfhu6EgYuG7jyBow6BuZyDEkeG7o2kgdGjDtG5nIMSRaeG7h3AgYuG7n2kgaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKK21zZ2lkICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZS1rZXkgPGtow7NhPiAgICAgZ+G7oSBi4buPIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcCBi4bufaSBraMOzYVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MgorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICBn4buhIGLhu48gdMOtbiBoaeG7h3UgYuG6sW5nIGlkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYzCittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxraMOzYT4gZ+G7oSBi4buPIHTDrW4gaGnhu4d1IGLhu59pIGtow7NhXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPTxzaG18bXNnfHNlbT5dICBn4buhIGLhu48gdOG6pXQgY+G6oyAodHJvbmcgcGjDom4gbG/huqFpIMSR4bq3YyBiaeG7h3QpXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBnaeG6o2kgdGjDrWNoIGPDoWMgY8O0bmcgdmnhu4djIMSRYW5nIGzDoG1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIKK21zZ3N0ciAiZ+G7oSBi4buPIMSRb+G6oW4gYuG7mSBuaOG7myBjaGlhIHPhursgY8OzIGlkIOKAnCVk4oCdXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIG1lc3NhZ2UgcXVldWUgaWQgYCVkJ1xuIgorbXNnc3RyICJn4buhIGLhu48gaWQgaMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwIOKAnCVk4oCdXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIsSRYW5nIGfhu6EgYuG7jyBj4budIGhp4buHdSBpZCDigJwlZOKAnVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAia2jDtG5nIMSR4bunIHF1eeG7gW4gaOG6oW4gY2hvIGNow6xhIGtow7NhIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgImtow7RuZyDEkeG7pyBxdXnhu4FuIGjhuqFuIGNobyBpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICJjaMOsYSBraMOzYSBraMO0bmcgxJHDum5nIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTEKK21zZ2lkICJpbnZhbGlkIGlkIgorbXNnc3RyICJpZCBzYWkiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNCBzeXMtdXRpbHMvaXBjcm0uYzoyMjUKK21zZ2lkICJhbHJlYWR5IHJlbW92ZWQga2V5IgorbXNnc3RyICJraMOzYSDEkcOjIMSRxrDhu6NjIHjDs2EgYuG7jyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICLEkcOjIHjDs2EgaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICJraMOzYSBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE3Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICJpZCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWQ6ICVzIgorbXNnc3RyICJpZCBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJyZXNvdXJjZShzKSBkZWxldGVkXG4iCittc2dzdHIgIsSRw6MgeMOzYSAoY8OhYykgbmd14buTblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBrZXkgKCVzKSIKK21zZ3N0ciAia2jDs2Ega2jDtG5nIGjhu41wIGzhu4cgKCVzKSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICJuaMOibiBraMO0bmcgY+G6pXUgaMOsbmggY2hvIGLhu5kgbmjhu5sgY2hpYSBz4bq7IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIm5ow6JuIGtow7RuZyBj4bqldSBow6xuaCBjaG8gxJHDqG4gdMOtbiBoaeG7h3UiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXMiCittc2dzdHIgIm5ow6JuIGtow7RuZyBj4bqldSBow6xuaCBjaG8gaMOgbmcgxJHhu6NpIHRpbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW3Jlc291cmNlLW9wdGlvbi4uLl0gW291dHB1dC1vcHRpb25dXG4iCisiICUxJHMgLW18LXF8LXMgLWkgPGlkPlxuIgorbXNnc3RyICIiCisiICUxJHMgW3TDuXkgY2jhu41uIHTDoGkgbmd1ecOqbuKApl0gW8SR4buLbmhfZOG6oW5nX2vhur90X3h14bqldF1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTcgc3lzLXV0aWxzL2xzaXBjLmM6MjgxCittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiQ3VuZyBj4bqlcCB0aMO0bmcgdGluIHbhu4EgcGjGsMahbmcgdGnhu4duIElQQ1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8bcOjX3Phu5E+IGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIGNoaSB0aeG6v3QgdHLDqm4gbmd14buTbiB0w6BpIG5ndXnDqm4gxJHhu4tuaCBuZ2jEqWEgYuG7n2kgPG3Do19z4buRPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0IHN5cy11dGlscy9sc2lwYy5jOjI4NAorbXNnaWQgIlJlc291cmNlIG9wdGlvbnM6XG4iCittc2dzdHIgIlTDuXkgY2jhu41uIHTDoGkgbmd1ecOqbjpcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NSBzeXMtdXRpbHMvbHNpcGMuYzoyODUKK21zZ2lkICIgLW0sIC0tc2htZW1zICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAgxJFv4bqhbiBi4buZIG5o4bubIGNoaWEgc+G6u1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAgaMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIHTDrW4gaGnhu4d1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgdOG6pXQgY+G6oyAobeG6t2MgxJHhu4tuaClcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorbXNnaWQgIk91dHB1dCBvcHRpb25zOlxuIgorbXNnc3RyICJUw7l5IGNo4buNbiB4deG6pXQ6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICBoaeG7g24gdGjhu4sgxJHDrW5oIGvDqG0sIGLhu48gxJHDrW5oIGvDqG0gdsOgIHRo4budaSBnaWFuIHRoYXkgxJHhu5VpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIGhp4buDbiB0aOG7iyBtw6Mgc+G7kSB0aeG6v24gdHLDrG5oIGPhu6dhIGLhu5kgdOG6oW8gdsOgIHRoYW8gdMOhYyBjdeG7kWlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NAorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICBoaeG7g24gdGjhu4sgbmfGsOG7nWkgdOG6oW8gdsOgIGNo4bunIHPhu58gaOG7r3VcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorbXNnaWQgIiAtbCwgLS1saW1pdHMgICAgICBzaG93IHJlc291cmNlIGxpbWl0c1xuIgorbXNnc3RyICIgLWwsIC0tbGltaXRzICAgICAgaGnhu4NuIHRo4buLIGdp4bubaSBo4bqhbiBuZ3Xhu5NuIHTDoGkgbmd1ecOqblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2Cittc2dpZCAiIC11LCAtLXN1bW1hcnkgICAgIHNob3cgc3RhdHVzIHN1bW1hcnlcbiIKK21zZ3N0ciAiIC11LCAtLXN1bW1hcnkgICAgIGhp4buDbiB0aOG7iyB04buVbmcgaOG7o3AgdHLhuqFuZyB0aMOhaVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc3Cittc2dpZCAiICAgICAtLWh1bWFuICAgICAgIHNob3cgc2l6ZXMgaW4gaHVtYW4tcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAgICAgLS1odW1hbiAgICAgICBoaeG7g24gdGjhu4sga8OtY2ggY+G7oSB0aGVvIG3hu5l0IMSR4buLbmggZOG6oW5nIGNobyBuZ8aw4budaSDEkeG7jWMgxJHGsOG7o2NcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3OAorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICBoaeG7g24gdGjhu4sga8OtY2ggdGjGsOG7m2MgdMOtbmggYuG6sW5nIGJ5dGVzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgImtoaSBkw7luZyBt4buZdCBJRCwgY+G6p24gY2jhu4kgcmEgbeG7mXQgbmd14buTbiDEkcahbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICJ04buVbmcgc+G7kSBi4buZIG5o4bubIGNoaWEgc+G6uyBs4bubbiBuaOG6pXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA3CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gR2nhu5tpIGjhuqFuIGLhu5kgbmjhu5sgY2hpYSBz4bq7IC0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgInPhu5EgxJFv4bqhbiBs4bubbiBuaOG6pXQgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKK21zZ2lkICJtYXggc2VnIHNpemUiCittc2dzdHIgImvDrWNoIGPhu6EgxJFv4bqhbiBs4bubbiBuaOG6pXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE4Cittc2dpZCAibWF4IHRvdGFsIHNoYXJlZCBtZW1vcnkiCittc2dzdHIgInThu5VuZyBz4buRIGLhu5kgbmjhu5sgY2hpYSBz4bq7IGzhu5tuIG5o4bqldCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMjAKK21zZ2lkICJtaW4gc2VnIHNpemUiCittc2dzdHIgImvDrWNoIGPhu6EgxJFv4bqhbiBuaOG7jyBuaOG6pXQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICJuaMOibiBraMO0bmcgY+G6pXUgaMOsbmggY2hvIGLhu5kgbmjhu5sgY2hpYSBz4bq7XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gVHLhuqFuZyB0aMOhaSBi4buZIG5o4bubIGNoaWEgc+G6uyAtLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyJzZWdtZW50cyDEkcaw4bujYyBj4bqlcCBwaMOhdCAlZFxuIgorInPhu5EgdHJhbmcgxJHGsOG7o2MgY+G6pXAgcGjDoXQgJWxkXG4iCisic+G7kSB0cmFuZyB0aMaw4budbmcgdHLDuiAgJWxkXG4iCisic+G7kSB0cmFuZyDEkcaw4bujYyBob8OhbiDEkeG7lWkgICAlbGRcbiIKKyJIaeG7h3Ugc3XhuqV0IGhvw6FuIMSR4buVaTogJWxkIHRo4butXHQgJWxkIHRow6BuaCBjw7RuZ1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gTmfGsOG7nWkgdOG6oW8vQ2jhu6cgc+G7nyBo4buvdSBjw6FjIMSRb+G6oW4gY+G7p2EgYuG7mSBuaOG7myBjaGlhIHPhursgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAicXV54buBbiBo4bqhbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBH4bqvbi9C4buPIGfhuq9uL1Ro4budaSBnaWFuIHRoYXkgxJHhu5VpIGLhu5kgbmjhu5sgY2hpYSBz4bq7IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczIHN5cy11dGlscy9pcGNzLmM6MjgwIHN5cy11dGlscy9pcGNzLmM6Mjg2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OCBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUwMQorIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJvd25lciIKK21zZ3N0ciAiY2jhu6cgc+G7nyBo4buvdSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJhdHRhY2hlZCIKK21zZ3N0ciAixJHDoyBn4bqvbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAixJHDoyBi4buPIGfhuq9uIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIsSRw6MgdGhheSDEkeG7lWkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjc4CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IENyZWF0b3IvTGFzdC1vcCBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBQSUQgVHLDrG5oIHThuqFvIHbDuW5nIG5o4bubIGNoaWEgc+G6uyAvVGhhbyB0w6FjIGN14buRaSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIEPDoWMgxJFv4bqhbiB2w7luZyBuaOG7myBjaGlhIHPhursgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJrZXkiCittc2dzdHIgImtow7NhIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgImvDrWNoLXRoxrDhu5tjIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Nzggc3lzLXV0aWxzL3BybGltaXQuYzo3OSBzeXMtdXRpbHMvcHJsaW1pdC5jOjgxCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyIHN5cy11dGlscy9wcmxpbWl0LmM6ODYgc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgImJ5dGVzIgorbXNnc3RyICJieXRlIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAibmF0dGNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAidHLhuqFuZyB0aMOhaSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAiQ2jGsGEgxJHhurd0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAixJHDrWNoIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAixJHDoyBraMOzYSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzZW1hcGhvcmUgbGltaXRzXG4iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgZ2nhu5tpIGjhuqFuIG5ndeG7k24gJXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBHaeG7m2kgaOG6oW4gY+G7nSBoaeG7h3UgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBhcnJheXMgPSAlZFxuIgorbXNnc3RyICJz4buRIGTDo3kgbOG7m24gbmjhuqV0ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAic+G7kSBj4budIGhp4buHdSBs4bubbiBuaOG6pXQgdHLDqm4gbeG7l2kgZMOjeSA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAic+G7kSBj4budIGhp4buHdSBs4bubbiBuaOG6pXQgY+G7p2EgY+G6oyBo4buHIHRo4buRbmcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAic+G7kSB0aGFvIHTDoWMgbOG7m24gbmjhuqV0IGPhu6dhIG3hu5dpIGzhu51pIGfhu41pIGPhu50gaGnhu4d1ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICJnacOhIHRy4buLIGPhu50gaGnhu4d1IGzhu5tuIG5o4bqldCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICJuaMOibiBraMO0bmcgY+G6pXUgaMOsbmggY2hvIGPhu50gaGnhu4d1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUcuG6oW5nIHRow6FpIGPhu50gaGnhu4d1IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAibeG6o25nIMSRw6MgZMO5bmcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgc2VtYXBob3JlcyA9ICVkXG4iCittc2dzdHIgImPhu50gaGnhu4d1IMSRw6MgcGjDom4gcGjhu5FpID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBOZ8aw4budaSB04bqhby9DaOG7pyBz4bufIGjhu691IGTDo3kgY+G7nSBoaeG7h3UgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAibcOjIHPhu5EgY+G7nSBoaeG7h3UiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gVGjhu51pIGdpYW4gdGhheSDEkeG7lWkgLyB0aGFvIHTDoWMgQ+G7nSBoaeG7h3UgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICJ0aGFvIHTDoWMgY3Xhu5FpIGPDuW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAidGhheSDEkeG7lWkgY3Xhu5FpIGPDuW5nIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLSBN4bqjbmcgY+G7nSBoaeG7h3UgLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNworbXNnaWQgIm5zZW1zIgorbXNnc3RyICJz4buRIGPhu50gaGnhu4d1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIlPhu5EgxJHhuqd1IMSR4buNYyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tIEdp4bubaSBo4bqhbiBUaMO0bmcgxJFp4buHcCAtLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iCittc2dzdHIgInPhu5EgaMOgbmcgxJHhu6NpIGzhu5tuIG5o4bqldCBj4bunYSBo4buHIHRo4buRbmcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorbXNnaWQgIm1heCBzaXplIG9mIG1lc3NhZ2UiCittc2dzdHIgImvDrWNoIGPhu6EgbOG7m24gbmjhuqV0IGPhu6dhIHRpbiBuaOG6r24iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDczCittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAia8OtY2ggY+G7oSBt4bq3YyDEkeG7i25oIGzhu5tuIG5o4bqldCBj4bunYSBow6BuZyDEkeG7o2kiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAibmjDom4ga2jDtG5nIGPhuqV1IGjDrG5oIGNobyBow6BuZyDEkeG7o2kgdGluIG5o4bqvblxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSBUcuG6oW5nIHRow6FpIFRow7RuZyDEkWnhu4dwIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICJow6BuZyDEkeG7o2kgxJHDoyBwaMOibiBwaOG7kWkgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICJwaOG6p24gxJHhuqd1IMSRw6MgZMO5bmcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OAorbXNnaWQgInVzZWQgc3BhY2UiCittc2dzdHIgImtow7RuZyBnaWFuIMSRw6MgZMO5bmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5Cittc2dpZCAiIGJ5dGVzXG4iCittc2dzdHIgIiBieXRlXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIE5nxrDhu51pIHThuqFvL0No4bunIHPhu58gaOG7r3UgSMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDk1IHN5cy11dGlscy9pcGNzLmM6NTAxIHN5cy11dGlscy9pcGNzLmM6NTA3CisjOiBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm1zcWlkIgorbXNnc3RyICJtc3FpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFNlbmQvUmVjdi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIFRo4budaSBnaWFuIEfhu61pL05o4bqtbi/EkOG7lWkgSMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAiZ+G7rWkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAicmVjdiIKK21zZ3N0ciAibmjhuq1uIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgImNoYW5nZSIKK21zZ3N0ciAixJHhu5VpIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gUElEIGPhu6dhIGjDoG5nIMSR4bujaSB0aMO0bmcgxJFp4buHcCAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxzcGlkIgorbXNnc3RyICJsc3BpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDcKK21zZ2lkICJscnBpZCIKK21zZ3N0ciAibHJwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0gSMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICJieXRlIMSRw6MgZMO5bmciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgInRow7RuZyDEkWnhu4dwIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4MCBzeXMtdXRpbHMvaXBjcy5jOjYxMCBzeXMtdXRpbHMvaXBjcy5jOjY0MworIzogc3lzLXV0aWxzL2xzaXBjLmM6NTM3IHN5cy11dGlscy9sc2lwYy5jOjcyOSBzeXMtdXRpbHMvbHNpcGMuYzo4ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWQgJWQgbm90IGZvdW5kIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgaWQgJWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIsSQb+G6oW4gdsO5bmcgbmjhu5sgY2hpYSBz4bq7IHNobWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvXHRhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgImNo4bq/X8SR4buZPSUjb1x0cXV54buBbl90cnV5X2Phuq1wPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgInNpemU9IgorbXNnc3RyICJzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJieXRlcz0iCittc2dzdHIgImJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImF0dF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk3CisjLCBjLWZvcm1hdAorbXNnaWQgImRldF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImRldF90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk5IHN5cy11dGlscy9pcGNzLmM6NjMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgImNoYW5nZV90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJIw6BuZyDEkeG7o2kgVGjDtG5nIMSRaeG7h3AgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNzaXplPSIKK21zZ3N0ciAiY3NpemU9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxOQorbXNnaWQgImNieXRlcz0iCittc2dzdHIgImNieXRlcz0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicXNpemU9IgorbXNnc3RyICJxc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjIxCittc2dpZCAicWJ5dGVzPSIKK21zZ3N0ciAicWJ5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyOAorIywgYy1mb3JtYXQKK21zZ2lkICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJyY3ZfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyJEw6N5IGPhu50gaGnhu4d1IHNlbWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCittc2dzdHIgInVpZD0ldVx0IGdpZD0ldVx0IGN1aWQ9JXVcdCBjZ2lkPSV1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iCittc2dzdHIgImNo4bq/X8SR4buZPSUjbywgcXV54buBbl90cnV5X2Phuq1wPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgYy1mb3JtYXQKK21zZ2lkICJuc2VtcyA9ICVqdVxuIgorbXNnc3RyICJuc2VtcyA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1NAorIywgYy1mb3JtYXQKK21zZ2lkICJvdGltZSA9ICUtMjYuMjRzXG4iCittc2dzdHIgIm90aW1lID0gJS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJjdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAic2VtbnVtIgorbXNnc3RyICJz4buRIGPhu50gaGnhu4d1IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInZhbHVlIgorbXNnc3RyICJnacOhIHRy4buLIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgIm5jb3VudCIKK21zZ3N0ciAibmNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInpjb3VudCIKK21zZ3N0ciAiemNvdW50IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInBpZCIKK21zZ3N0ciAicGlkIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzAgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM0IHN5cy11dGlscy9pcGN1dGlscy5jOjIzOAorIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAoYnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKGtieXRlcykgPSAiCittc2dzdHIgIiVzIChrYnl0ZXMpID0gIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoxODQKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICJpZmxhZyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGxkaXNjPiA8ZGV2aWNlPlxuIgorbXNnc3RyICIlcyBbY8OhYyB0w7l5IGNo4buNbl0gPGxkaXNjPiA8dGhp4bq/dCBi4buLPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAixJDDrW5oIGvDqG0ga+G7tyBsdeG6rXQgZMOybmcgxJHhur9uIMSRxrDhu51uZyBu4buRaSB0aeG6v3AuXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgaW4gdGjDtG5nIMSRaeG7h3AgZOG6oW5nIMSR4bqneSDEkeG7pyByYSBkw7JuZyBiw6FvIGzhu5dpIHN0ZGVyclxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDcKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8Z2nDoV90cuG7iz4gICDEkeG6t3QgdOG7kWMgxJHhu5kgY+G7lW5nIG7hu5FpIHRp4bq/cFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDgKK21zZ2lkICIgLWMsIC0taW50cm8tY29tbWFuZCA8c3RyaW5nPiBpbnRybyBzZW50IGJlZm9yZSBsZGF0dGFjaFxuIgorbXNnc3RyICIgLWMsIC0taW50cm8tY29tbWFuZCA8Y2h14buXaT4gIGludHJvIGfhu61pIHRyxrDhu5tjIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwOQorbXNnaWQgIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIgorbXNnc3RyICIgLXAsIC0tcGF1c2UgPGdpw6J5PiAgICAgIHThuqFtIGThu6tuZyBnaeG7r2EgaW50cm8gdsOgIGxkYXR0YWNoXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMAorbXNnaWQgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gNyBiaXRzXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICDEkeG6t3Qga8OtY2ggdGjGsOG7m2Mga8O9IHThu7EgdGjDoG5oIDcgYml0c1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgxJHhurd0IGvDrWNoIHRoxrDhu5tjIGvDvSB04buxIHRow6BuaCA4IGJpdHNcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEyCittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgxJHhurd0IGLDrXQgY2jhurVuIGzhursgdGjDoG5oIHLhu5duZyBraMO0bmdcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEzCittc2dpZCAiIC1lLCAtLWV2ZW5wYXJpdHkgICAgICAgIHNldCBwYXJpdHkgdG8gZXZlblxuIgorbXNnc3RyICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgxJHhurd0IGLDrXQgY2jhurVuIGzhursgdGjDoG5oIGNo4bq1blxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTQKK21zZ2lkICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIKK21zZ3N0ciAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIMSR4bq3dCBiw610IGNo4bq1biBs4bq7IHRow6BuaCBs4bq7XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorbXNnaWQgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIgorbXNnc3RyICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgxJHhurd0IGPDoWMgYsOtdCBk4burbmcgdGjDoG5oIG3hu5l0XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNgorbXNnaWQgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICBzZXQgc3RvcCBiaXRzIHRvIHR3b1xuIgorbXNnc3RyICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgxJHhurd0IGPDoWMgYsOtdCBk4burbmcgdGjDoG5oIGhhaVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTcKK21zZ2lkICIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIgorbXNnc3RyICIgLWksIC0taWZsYWcgWy1dPGPhu50+ICAgICDEkeG6t3QgY+G7nSBjaOG6vyDEkeG7mSDEkeG6p3UgdsOgb1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjIKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGxkaXNjPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIkPDoWMgdMOqbiA8bGRpc2M+IMSRw6MgYmnhur90IMSR4bq/bjpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJDw6FjIHTDqm4gPGlmbGFnPiDEkcOjIGJp4bq/dCDEkeG6v246XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NAorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSB04buRYyDEkeG7mSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3Cittc2dpZCAiaW52YWxpZCBwYXVzZSBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgZOG7q25nIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozNzQKK21zZ2lkICJpbnZhbGlkIGxpbmUgZGlzY2lwbGluZSBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega+G7tyBsdeG6rXQgZMOybmcga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSBsw6AgZMOybmcgbuG7kWkgdGnhur9wIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRodeG7mWMgdMOtbmggdGhp4bq/dCBi4buLIHbhu4EgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAidOG7kWMgxJHhu5kgJWQga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IGPDoWMgdGh14buZYyB0w61uaCB0aGnhur90IGLhu4sgY2hvICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbOG7h25oIGdp4bubaSB0aGnhu4d1IHbDoG8gJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ3MworbXNnaWQgImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIgorbXNnc3RyICJraMO0bmcgdGjhu4MgxJHhurd0IGvhu7cgbHXhuq10IGTDsm5nIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0ODMKK21zZ2lkICJjYW5ub3QgZGFlbW9uaXplIgorbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhuqF5IHRyb25nIG7hu4FuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICLEkeG6t3QgY+G7nSBhdXRvY2xlYXIgKHThu7EgeMOzYSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKK21zZ2lkICJkZXZpY2UgYmFja2luZyBmaWxlIgorbXNnc3RyICJ04bqtcCB0aW4gaOG7lyB0cuG7oyB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzIKK21zZ2lkICJiYWNraW5nIGZpbGUgaW5vZGUgbnVtYmVyIgorbXNnc3RyICJz4buRIG7DunQgdOG6rXAgdGluIGjhu5cgdHLhu6MiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAidOG6rXAgdGluIGjhu5cgdHLhu6Mgc+G7kSBs4bubbjpuaOG7jyB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzQKK21zZ2lkICJsb29wIGRldmljZSBuYW1lIgorbXNnc3RyICJ0w6puIHRoaeG6v3QgYuG7iyBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAib2Zmc2V0IHThu6sgxJFp4buDbSBi4bqvdCDEkeG6p3UiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzYKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAixJHhurd0IGPhu50gcGFydHNjYW4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICJnaeG7m2kgaOG6oW4ga8OtY2ggdGjGsOG7m2MgdOG6rXAgdGluIHTDrW5oIHRoZW8gYnl0ZSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAic+G7kSBs4bubbjpuaOG7jyB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AgKGxvb3ApIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgxCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiCittc2dzdHIgImvDrWNoIGPhu6Ega2jhu5FpIHbhuq10IGzDvSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxMzggc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvZmZzZXQgJWp1IgorbXNnc3RyICIsIG9mZnNldCAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgc2l6ZWxpbWl0ICVqdSIKK21zZ3N0ciAiLCBnaeG7m2lfaOG6oW5fa8OtY2hfdGjGsOG7m2MgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICIsIG3DoyBow7NhICVzIChraeG7g3UgJXUpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXM6IHRow6FvIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIC1mIHwgPGxvb3BkZXY+IDx04bqtcC10aW4+XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6Mzk4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcy5cbiIKK21zZ3N0ciAiQ8OgaSDEkeG6t3QgdsOgIMSRaeG7gXUga2hp4buDbiBjw6FjIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cC5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgbeG7jWkgdGhp4bq/dCBi4buLXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IOKApiAgICAgIHTDoWNoIHLhu51pIG3hu5l0IGhheSBuaGnhu4F1IHRoaeG6v3QtYuG7i1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNAorbXNnaWQgIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgdMOhY2ggcuG7nWkgbeG7jWkgdGhp4bq/dCBi4buLIMSRw6MgZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKK21zZ2lkICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICB0w6xtIHRoaeG6v3QgYuG7iyBjaMawYSBkw7luZyDEkeG6p3UgdGnDqm5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIMSR4buVaSBrw61jaCB0aMaw4bubYyBj4bunYSB0aGnhur90LWLhu4tcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDcKK21zZ2lkICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCittc2dzdHIgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaeG7h3Qga8OqIG3hu41pIHRoaeG6v3QtYuG7iyBr4bq/dCBo4bujcCB24bubaSA8dOG6rXAtdGluPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIHTDrG0gdGhp4bq/dCBi4buLIGPDsm4gcuG6o25oXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEyCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA8c+G7kT4gICAgICAgICAgICAgYuG6r3QgxJHhuqd1IHThuqFpIG9mZnNldCA8c+G7kT4gdOG6rXAgdGluXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCittc2dpZCAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBpcyBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCittc2dzdHIgIiAgICAgLS1zaXplbGltaXQgPHPhu5E+ICAgICAgICAgIHRoaeG6v3QgYuG7iyDEkcaw4bujYyBnaeG7m2kgaOG6oW4gPHPhu5E+IGJ5dGUgY+G7p2EgdOG6rXAgdGluXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE0CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgICAgICBzZXQgdGhlIGxvZ2ljYWwgc2VjdG9yIHNpemUgdG8gPG51bT5cbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3Rvci1zaXplIDxj4buhPiAgICAgICAgY+G7oSBjdW5nIHThu6sgbMO0LWfDrWMgduG6rXQgbMO9XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1Cittc2dpZCAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIGNyZWF0ZSBhIHBhcnRpdGlvbmVkIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICB04bqhbyB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AgxJHGsOG7o2MgcGjDom4gdsO5bmdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTYKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0IHVwIGEgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBjw6BpIMSR4bq3dCB0aGnhur90IGLhu4sgbG9vcCBjaOG7iS3EkeG7jWNcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHTDqm4gdGhp4bq/dCBi4buLIHNhdSBjw6BpIMSR4bq3dCAoduG7m2kgLWYpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgY2jhur8gxJHhu5kgY2hpIHRp4bq/dFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyMworIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7QgY2hvIGvhur90IHh14bqldCAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjQKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICBsaeG7h3Qga8OqIHRow7RuZyB0aW4gduG7gSB04bqldCBj4bqjIGhheSBuaOG7r25nIHRo4bupIMSRxrDhu6NjIGNo4buJIHJhICht4bq3YyDEkeG7i25oKVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgLS1saXN0IG91dHB1dFxuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyBwaOG6p24gxJHhuqd1IGNobyBr4bq/dCB4deG6pXQg4oCcLS1saXN04oCdXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI2Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8Y29scz4gICAgICAgICAgIHNwZWNpZnkgY29sdW1ucyB0byBvdXRwdXQgZm9yIC0tbGlzdFxuIgorbXNnc3RyICIgLU8sIC0tb3V0cHV0IDxj4buZdD4gICAgICAgICAgICBjaOG7iSDEkeG7i25oIGPhu5l0IHPhur0gaGnhu4NuIHRo4buLIGNobyAtLWxpc3RcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjcKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtCBjaG8ga+G6v3QgeHXhuqV0IC0tbGlzdFxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBpcyBzbWFsbGVyIHRoYW4gNTEyIGJ5dGVzOyB0aGUgbG9vcCBkZXZpY2UgbWF5IGJlIHVzZWxlc3Mgb3IgaW52aXNpYmxlIGZvciBzeXN0ZW0gdG9vbHMuIgorbXNnc3RyICIlczogQ+G6o25oIGLDoW86IHThuq1wIHRpbiBuaOG7jyBoxqFuIDUxMiBieXRlcywgdGhp4bq/dCBi4buLIGxvb3AgY8OzIGzhur0ga2jDtG5nIGTDuW5nIMSRxrDhu6NjIGhv4bq3YyBraMO0bmcga2jhuqMgZOG7pW5nIGNobyBjw6FjIGPDtG5nIGPhu6UgY+G7p2EgaOG7hyB0aOG7kW5nLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFdhcm5pbmc6IGZpbGUgZG9lcyBub3QgZml0IGludG8gYSA1MTItYnl0ZSBzZWN0b3I7IHRoZSBlbmQgb2YgdGhlIGZpbGUgd2lsbCBiZSBpZ25vcmVkLiIKK21zZ3N0ciAiJXM6IEPhuqNuaCBiw6FvOiB04bqtcCB0aW4ga2jDtG5nIHbhu6thIGto4bubcCBjdW5nIHThu6sgKHNlY3RvcikgNTEyLWJ5dGUgbsOqbiBr4bq/dCB0aMO6YyB04bqtcCB0aW4gc+G6vSBi4buLIGLhu48gcXVhLiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0Nzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo1MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoaeG6v3QgYuG7iyBscCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0OTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG92ZXJsYXBwaW5nIGVuY3J5cHRlZCBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyBsb29wIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjw6BpIMSR4bq3dCB0aGnhur90IGLhu4sgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBjw6BpIMSR4bq3dCB0aGnhur90IGLhu4sgbG9vcCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NDIgc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKK21zZ2lkICJjYW5ub3QgZmluZCBhbiB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSB0aGnhur90IGLhu4sgbG9vcCBjaMawYSBkw7luZyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgYmFja2luZyBmaWxlIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kgc+G7rSBk4bulbmcgdOG6rXAgdGluIHRy4bujIGdpw7pwIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhurd0IGvDrWNoIGPhu6EgdHJhbmciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgc+G7rSBk4bulbmcgdGhp4bq/dCBi4buLIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAia2jDtG5nIGNo4buJIHJhIHRoaeG6v3QgYuG7iyBsb29wICh2w7JuZyBuZ8aw4bujYykiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBvcHRpb25zICVzIGFyZSBhbGxvd2VkIGR1cmluZyBsb29wIGRldmljZSBzZXR1cCBvbmx5IgorbXNnc3RyICJ0w7l5IGNo4buNbiAlcyBjaOG7iSBjaG8gcGjDqXAgY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwIChsb29wKSB0aMO0aSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1vZmZzZXQgbMOgIGtow7RuZyDEkcaw4bujYyBwaMOpcCB0cm9uZyBuZ+G7ryBj4bqjbmggbsOgeSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVzOiDEkeG6t3QgZHVuZyBsxrDhu6NuZyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZXQgZGlyZWN0IGlvIGZhaWxlZCIKK21zZ3N0ciAiJXM6IMSR4buVaSB0aMawIG3hu6VjIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBsb2dpY2FsIGJsb2NrIHNpemUgZmFpbGVkIgorbXNnc3RyICIlczogbOG7l2kgbOG6pXkga8OtY2ggY+G7oSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKK21zZ2lkICJub25lIgorbXNnc3RyICJraMO0bmciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAicGjhuqduIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgIsSR4bqneSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgInRow7luZyBjaOG7qWEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIm5nYW5nIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDIKK21zZ2lkICJ2ZXJ0aWNhbCIKK21zZ3N0ciAiZOG7jWMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAic+G7kSBDUFUgbG9nw61jIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUKK21zZ2lkICJsb2dpY2FsIGNvcmUgbnVtYmVyIgorbXNnc3RyICJz4buRIGzDtWkgbMO0Z8OtYyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICJz4buRIGtoZSBj4bqvbSBsw7Rnw61jIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTcKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgInPhu5EgbsO6dCBOVU1BIGzDtGfDrWMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgInPhu5EgY2jhu5cgbG9nw61jIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTkKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICJz4buRIGzDtWkgbMO0Z8OtYyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAwCittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIGLhu5kgbmjhu5sgxJHhu4dtIMSRxrDhu6NjIGNoaWEgc+G6uyBnaeG7ryBjw6FjIGLhu5kgdmkgeOG7rSBsw70iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMQorbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIkNo4bq/IMSR4buZIENQVSBwaMOibiBwaOG7kWkgdHLDqm4gcGjhuqduIGPhu6luZyDhuqNvIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDIKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICLEkeG7i2EgY2jhu4kgduG6rXQgbMO9IGPhu6dhIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICJoaeG7g24gdGjhu4sgbuG6v3UgbcOheSDhuqNvIMSRw6MgxJHGsOG7o2MgY+G6pXAgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgImhp4buDbiB0aOG7iyBu4bq/dSBMaW51eCBoaeG7h24gdOG6oWkgY8OzIHPhu60gZOG7pW5nIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgImhp4buDbiB0aOG7iyB04bqnbiBz4buRIMSR4buTbmcgaOG7kyB04buRaSDEkWEgY+G7p2EgQ1BVIHRoZW8gbWh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAiaGnhu4NuIHRo4buLIHThuqduIHPhu5EgxJHhu5NuZyBo4buTIHThu5FpIHRoaeG7g3UgY+G7p2EgQ1BVIHRoZW8gbWh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICJs4buXaTogdW5hbWUga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NDg2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgeMOhYyDEkeG7i25oIHPhu5EgQ1BVOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorbXNnc3RyICJraMO0bmcgxJHhurd0IGLhu5kgdGnhur9wIGjhu6NwIHTDrW4gaGnhu4d1IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICJH4bq3cCBs4buXaSBraGkgbOG6pXkgc+G7kSBj4bunYSBuw7p0IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJZIgorbXNnc3RyICJDIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKK21zZ2lkICJOIgorbXNnc3RyICJLIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlclxuIgorIiMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSURcbiIKKyIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIKK21zZ3N0ciAiIgorIiMgU2F1IMSRw6J5IGzDoCDEkeG7i25oIGThuqFuZyBjw7MgdGjhu4MgcGjDom4gdMOtY2gsIGtp4buDdSBtw6AgY8OzIHRo4buDIMSRxrDhu6NjIGfhu61pIGNobyBjaMawxqFuZ1xuIgorIiMgdHLDrG5oIGtow6FjLiBN4buXaSBt4bulYyByacOqbmcgdHJvbmcgbeG7l2kgY+G7mXQgY8OzIG3hu5l0IG3DoyBz4buRIElEIGR1eSBuaOG6pXQsXG4iCisiIyBi4bqvdCDEkeG6p3UgdOG7qyBz4buRIGtow7RuZy5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTcyNAorbXNnaWQgIkFyY2hpdGVjdHVyZToiCittc2dzdHIgIktp4bq/biB0csO6YzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNo4bq/IMSR4buZIHRoYW8gdMOhYyBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAiVGjhu6kgdOG7sSBCeXRlOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NAorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKK21zZ2lkICJPbi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTeG6t3QgbuG6oSBDUFUgdHLhu7FjIHR1eeG6v246IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ4Cittc2dpZCAiT24tbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIkRhbmggc8OhY2ggQ1BVIHRy4buxYyB0dXnhur9uOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAiTeG6t3QgbuG6oSBDUFUgbmdv4bqhaSB0dXnhur9uOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2OAorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAiRGFuaCBzw6FjaCBDUFUgbmdv4bqhaSB0dXnhur9uOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwMworbXNnaWQgIlRocmVhZChzKSBwZXIgY29yZToiCittc2dzdHIgIlPhu5EgdHV54bq/biBt4buXaSBsw7VpOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgwNQorbXNnaWQgIkNvcmUocykgcGVyIHNvY2tldDoiCittc2dzdHIgIlPhu5EgbMO1aSBt4buXaSDEkeG6vyBj4bqvbToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MDgKK21zZ2lkICJTb2NrZXQocykgcGVyIGJvb2s6IgorbXNnc3RyICJT4buRIFNvY2tldChzKSB0csOqbiBt4buXaSBs4bqnbiDEkeG7o2k6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIkNo4buXIGdp4buvOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxOAorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIlPhu5EgxJHhur8gY+G6r206IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODIyCittc2dpZCAiTlVNQSBub2RlKHMpOiIKK21zZ3N0ciAiTsO6dCBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIklEIG5ow6Agc+G6o24geHXhuqV0OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorIywgZnV6enkKK21zZ2lkICJNYWNoaW5lIHR5cGU6IgorbXNnc3RyICJLaeG7g3UgcGjDom4gdsO5bmciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjgKK21zZ2lkICJDUFUgZmFtaWx5OiIKK21zZ3N0ciAiSOG7jSBDUFU6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICJNw7QgaMOsbmg6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMyCittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIlTDqm4gbcO0IGjDrG5oOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNAorbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAiQsaw4bubYzoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzYKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiQ1BVIE1IejoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzgKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiVOG6p24gc+G7kSDEkeG7k25nIGjhu5MgQ1BVIHThu5FpIHRoaeG7g3UgKE1Ieik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQwCisjLCBmdXp6eQorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiVOG6p24gc+G7kSDEkeG7k25nIGjhu5MgQ1BVIHThu5FpIMSRYSAoTUh6KToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKK21zZ2lkICJDUFUgbWF4IE1IejoiCittc2dzdHIgIlThuqduIHPhu5EgxJHhu5NuZyBo4buTIENQVSB04buRaSDEkWEgKE1Ieik6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ0Cittc2dpZCAiQ1BVIG1pbiBNSHo6IgorbXNnc3RyICJU4bqnbiBz4buRIMSR4buTbmcgaOG7kyBDUFUgdOG7kWkgdGhp4buDdSAoTUh6KToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDYKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIkJvZ29NSVBTOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0OSBzeXMtdXRpbHMvbHNjcHUuYzoxODUxCittc2dpZCAiVmlydHVhbGl6YXRpb246IgorbXNnc3RyICLhuqJvIGjDs2E6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODU0Cittc2dpZCAiSHlwZXJ2aXNvcjoiCittc2dzdHIgIuG6om8gaMOzYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTYKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIk5ow6AgY3VuZyBj4bqlcCBi4buZIOG6o28gaMOzYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAiS2nhu4N1IOG6o28gaMOzYToiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAiQ2jhur8gxJHhu5kgxJFp4buBdSBwaOG7kWk6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICJC4buZIG5o4bubIMSR4buHbSAlczoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVIG7DunQlZCBOVU1BOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MgorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAiU+G7kSB0cuG7pSB24bqtdCBsw70iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODMKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICJT4buRIHRy4bulIHbhuq10IGzDvSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAiS8OtY2ggY+G7oSBjdW5nIHThu6sgduG6rXQgbMO9IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAiQ+G7nSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMworbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4Ega2nhur9uIHRyw7pjIENQVS5cbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGluIHJhIGPhuqMgQ1BVIMSRYW5nIGNo4bqheSB2w6AgxJFhbmcgbmdo4buJICht4bq3YyDEkeG7i25oIGNobyAtZSlcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIGNo4buJIGhp4buDbiB0aOG7iyBjw6FjIENQVSBvbmxpbmUgKG3hurdjIMSR4buLbmggY2hvIC1wKVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4Cittc2dpZCAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iCittc2dzdHIgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBjaOG7iSBoaeG7g24gdGjhu4sgY8OhYyBDUFUgxJFhbmcgdOG6r3RcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7RcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtZSwgLS1leHRlbmRlZFs9PGRzw6FjaD5dIGluIHJhIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyDEkeG7jWMgxJHGsOG7o2MgcGjhuqduIG3hu58gcuG7mW5nXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9PGRzw6FjaD5dICAgaW4gcmEgxJHhu4tuaCBk4bqhbmcgcGjDom4gdMOtY2ggxJHGsOG7o2NcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMgorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICB1c2Ugc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgICAgZMO5bmcgdGjGsCBt4bulYyDEkcOjIGNobyBuaMawIGzDoCB0aMawIG3hu6VjIGfhu5FjIGPhu6dhIGjhu4cgdGjhu5FuZ1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgdGjhuq1wIGzhu6VjIHBow6JuIHRoYXkgY2hvIGRhbmggc8OhY2ggQ1BVXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGhp4buDbiB0aOG7iyBt4buNaSB0aGnhur90IGLhu4tcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5OSBzeXMtdXRpbHMvbHNtZW0uYzo2MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gJXMiCittc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHOiAlcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3B0aW9ucyAtLWFsbCwgLS1vbmxpbmUgYW5kIC0tb2ZmbGluZSBtYXkgb25seSBiZSB1c2VkIHdpdGggb3B0aW9ucyAtLWV4dGVuZGVkIG9yIC0tcGFyc2UuXG4iCittc2dzdHIgIiVzOiBjw6FjIHTDuXkgY2jhu41uIC0tYWxsLCAtLW9ubGluZSB2w6AgLS1vZmZsaW5lIGPDsyBs4bq9IGNo4buJIHPhu60gZOG7pW5nIGPDuW5nIHbhu5tpIGPDoWMgdMO5eSBjaOG7jW4gLS1leHRlbmRlZCBoYXkgLS1wYXJzYS5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGtleSIKK21zZ3N0ciAidMOqbiBj4bunYSB0w6BpIG5ndXnDqm4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJLZXkiCittc2dzdHIgImtow7NhIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgInTDqm4gY+G7p2EgdMOgaSBuZ3V5w6puIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorIywgZnV6enkKK21zZ2lkICJPd25lciIKK21zZ3N0ciAiY2jhu6cgc+G7nyBo4buvdSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIlBlcm1pc3Npb25zIgorbXNnc3RyICJwaGnDqm4gYuG6o24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MworbXNnaWQgIkNyZWF0b3IgVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTUKK21zZ2lkICJDcmVhdG9yIEdJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBncm91cCIKK21zZ3N0ciAiTmjDs20gY2jDrW5oIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBJRCIKK21zZ3N0ciAibcOjIElEIE5nxrDhu51pIGTDuW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTcKKyMsIGZ1enp5Cittc2dpZCAiVUlEIgorbXNnc3RyICJVVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTgKKyMsIGZ1enp5Cittc2dpZCAiVXNlciBuYW1lIgorbXNnc3RyICJUw6BpIGtob+G6o24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorbXNnaWQgIkdyb3VwIElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OQorIywgZnV6enkKK21zZ2lkICJHSUQiCittc2dzdHIgIlNHSSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgInTDqm4gbmjDs20iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IGNoYW5nZSIKK21zZ3N0ciAia8OtY2ggdGjGsOG7m2MgdsO5bmcgaG/DoW4gxJHhu5VpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjEKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgInRoYXkgxJHhu5VpIGN14buRaSBjw7luZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzIHVzZWQiCittc2dzdHIgImJ5dGUgxJHDoyBkw7luZyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1CisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlcyIKK21zZ3N0ciAiU+G7kSDEkeG6p3UgxJHhu41jIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgInRow7RuZyDEkWnhu4dwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICJ0aOG7nWkgxJFp4buDbSDEkcSDbmcgbmjhuq1wIGzhuqduIGN14buRaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiTXNnIHNlbnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyByZWNlaXZlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJNc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHJlY2VpdmVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OQorbXNnaWQgIk1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzIKKyMsIGZ1enp5Cittc2dpZCAiU2VnbWVudCBzaXplIgorbXNnc3RyICJs4bqleSBrw61jaCBj4buhIGto4buRaSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBhdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgdGnhur9uIHRyw6xuaCB04buRaSDEkWEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAiU3RhdHVzIgorbXNnc3RyICJ0cuG6oW5nIHRow6FpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIsSRw6MgZ+G6r24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NgorIywgZnV6enkKK21zZ2lkICJEZXRhY2ggdGltZSIKK21zZ3N0ciAixJHDoyBi4buPIGfhuq9uIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIlTDuXkgY2jhu41uIHBow6JuIHTDrWNoIGzhu4duaC5cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgY29tbWFuZCIKK21zZ3N0ciAiTOG7h25oIGPhuqVtIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJQSUQgb2YgdGhlIGNyZWF0b3IiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiUElEIG9mIGxhc3QgdXNlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAibcOjIElEIE5nxrDhu51pIGTDuW5nIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIlPhu5EgY3VuZyB04burIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAiSUQgY+G7nSBoaeG7h3U6ICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MworIywgZnV6enkKK21zZ2lkICJMYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAidGhhbyB0w6FjICVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NgorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBuYW1lIgorbXNnc3RyICJ0w6puIGPhu6dhIHTDoGkgbmd1ecOqbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICJ0w6puIGPhu6dhIHTDoGkgbmd1ecOqbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJi4buZIG3DtCB04bqjIHTDoGkgbmd1ecOqbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgIkRlc2NyaXB0aW9uIgorbXNnc3RyICJtw7QgdOG6oyBj4budIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJDdXJyZW50bHkgdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgInBo4bqnbiB0csSDbSBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgZMO5bmciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJVc2UiCittc2dzdHIgIkPDoWNoIGTDuW5nOiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxtw6Nfc+G7kT4gaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gY2hpIHRp4bq/dCB0csOqbiBuZ3Xhu5NuIHTDoGkgbmd1ecOqbiDEkeG7i25oIG5naMSpYSBi4bufaSA8bcOjX3Phu5E+XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICBoaeG7g24gdGjhu4sga8OtY2ggdGjGsOG7m2MgdGhlbyBieXRlIHRoYXkgdsOsIMSR4buLbmggZOG6oW5nIGTDoG5oIGNobyBjb24gbmfGsOG7nWlcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk2CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgaGnhu4NuIHRo4buLIG5nxrDhu51pIHThuqFvIHbDoCBjaOG7pyBz4bufIGjhu691XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5OAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7RcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIGvhur90IHh14bqldCBsaeG7h3Qga8OqXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMgorbXNnaWQgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwNAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAgaGnhu4NuIHRo4buLIMSRw61uaCBrw6htLCBi4buPIMSRw61uaCBrw6htIHbDoCB0aOG7nWkgZ2lhbiB0aGF5IMSR4buVaVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyJUw7l5IGNo4buNbiBDaHVuZzpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLEkG/huqFuIHbDuW5nIG5o4bubIGNoaWEgc+G6uyBzaG1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIHTDrW4gaGnhu4d1XG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgdMOtbiBoaeG7h3VcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBk4buvIGxp4buHdSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzEyCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBzZW1hcGhvcmUgaWRlbnRpZmllcnMiCittc2dzdHIgIlPhu5EgY3VuZyB04burIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgY3VuZyB04burIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNlbWFwaG9yZXMgcGVyIHNlbWFwaG9yZSBzZXQuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlcyAgdMOtbiBoaeG7h3VcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE1CisjLCBmdXp6eQorbXNnaWQgIk1heCBudW1iZXIgb2Ygb3BlcmF0aW9ucyBwZXIgc2Vtb3AoMikiCittc2dzdHIgInPhu5EgbMaw4bujbmcgdOG6rXAgdGluIHThu5FpIMSRYSDEkcaw4bujYyBt4bufIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAiZ2nDoSB0cuG7iyBj4budIGhp4buHdSBs4bubbiBuaOG6pXQgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICJT4buRIMSR4bqndSDEkeG7jWMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgImvDrWNoIGPhu6EgbOG7m24gbmjhuqV0IGPhu6dhIHRpbiBuaOG6r24iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3NQorIywgZnV6enkKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgImvDrWNoIGPhu6EgbeG6t2MgxJHhu4tuaCBs4bubbiBuaOG6pXQgY+G7p2EgaMOgbmcgxJHhu6NpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6OTkwIHN5cy11dGlscy9sc2lwYy5jOjEwMTUKKyMsIGZ1enp5Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJMaW51eCByZXNlcnZlZCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisixJBv4bqhbiB2w7luZyBuaOG7myBjaGlhIHPhursgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICJJRCB2w7luZyBuaOG7myBkw7luZyBjaHVuZzogJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NAorIywgZnV6enkKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAia8OtY2ggY+G7oSBs4bubbiBuaOG6pXQgY+G7p2EgdGluIG5o4bqvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NQorIywgZnV6enkKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAia8OtY2ggY+G7oSBs4bubbiBuaOG6pXQgY+G7p2EgdGluIG5o4bqvbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTE0NQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIzOQorIywgZnV6enkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1maW5kIGxv4bqhaSB0cuG7qyB24bubaSA8dGhp4bq/dCBi4buLPiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAia8OtY2ggY+G7oSBj4bunYSB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMAorbXNnaWQgIm9ubGluZSBzdGF0dXMgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAibWVtb3J5IGlzIHJlbW92YWJsZSIKK21zZ3N0ciAiIGPDsyB0aOG7gyB0aMOhbyBy4budaSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMyCittc2dpZCAibWVtb3J5IGJsb2NrIG51bWJlciBvciBibG9ja3MgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIm51bWEgbm9kZSBvZiBtZW1vcnkiCittc2dzdHIgIktow7RuZyDEkeG7pyBi4buZIG5o4bubIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgImvDrWNoIGPhu6EgY+G7p2EgdGhp4bq/dCBi4buLIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAib25saW5lIgorbXNnc3RyICIsIHRy4buxYyB0dXnhur9uIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAib2ZmbGluZSIKK21zZ3N0ciAiLCB0cuG7sWMgdHV54bq/biIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYzCittc2dpZCAib24tPm9mZiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjIgc3lzLXV0aWxzL2xzbWVtLmM6MzI5CisjLCBmdXp6eQorbXNnaWQgIk1lbW9yeSBibG9jayBzaXplOiIKK21zZ3N0ciAibOG6pXkga8OtY2ggY+G7oSBraOG7kWkiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgImtow7RuZyDEkeG7pyBi4buZIG5o4bubIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAia2jDtG5nIMSR4bunIGLhu5kgbmjhu5siCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMiCittc2dzdHIgImzhu5dpIG3hu58gJXMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorIywgZnV6enkKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgIkjhu4cgdGjhu5FuZyBuw6B5IGtow7RuZyBo4buXIHRy4bujIHF1w6l0IHTDrG0gbOG6oWkgY+G7p2EgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIGhp4buDbiB0aOG7iyBt4buNaSB0aGnhur90IGLhu4tcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zcGxpdCA8bGlzdD4gICBzcGxpdCByYW5nZXMgYnkgc3BlY2lmaWVkIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA8ZC5zw6FjaD4gIGhp4buDbiB0aOG7iyBjw6FjIGPhu5l0XG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3lzcm9vdCA8ZGlyPiAgdXNlIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICBkw7luZyB0aMawIG3hu6VjIMSRw6MgY2hvIG5oxrAgbMOgIHRoxrAgbeG7pWMgZ+G7kWMgY+G7p2EgaOG7hyB0aOG7kW5nXG4iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjUxMQorbXNnaWQgIiAgICAgLS1zdW1tYXJ5Wz13aGVuXSBwcmludCBzdW1tYXJ5IGluZm9ybWF0aW9uIChuZXZlcixhbHdheXMgb3Igb25seSlcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgLS1zdW1tYXJ5IGFyZ3VtZW50IgorbXNnc3RyICItLXNldGdyb3VwcyBraMO0bmcgaOG7lyB0cuG7oyB0aGFtIHPhu5Eg4oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYzMworIywgZnV6enkKK21zZ2lkICJvcHRpb25zIC0te3Jhdyxqc29uLHBhaXJzfSBhbmQgLS1zdW1tYXJ5PW9ubHkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiY8OhYyB0w7l5IGNo4buNbiAtLXNldGdyb3Vwcz1hbGxvdyB2w6AgLS1tYXAtcm9vdC11c2VyIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NjQgc3lzLXV0aWxzL2xzbnMuYzo3ODEKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgImzhu5dpIGto4bufaSB04bqhbyBi4bqjbmcga+G6v3QgeHXhuqV0IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAibOG7l2kga2jhu59pIHThuqFvIGPhu5l0IGvhur90IHh14bqldCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5OQorIywgZnV6enkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAic+G7kSBuw7p0IHThuq1wIHRpbiBo4buXIHRy4bujIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgInBhdGggdG8gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAidHLhuqFuZyB0aMOhaSBj4bunYSB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAic+G7kSBsxrDhu6NuZyB0aeG6v24gdHLDrG5oIGNo4bqheSBi4bufaSBuZ8aw4budaSBkw7luZyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDMKK21zZ2lkICJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDQKK21zZ2lkICJQUElEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDUKK21zZ2lkICJjb21tYW5kIGxpbmUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA3Cittc2dpZCAidXNlcm5hbWUgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAia2jDtG5nIHRow6ptIMSRxrDhu6NjIGTDsm5nIHbDoG8ga+G6v3QgeHXhuqV0IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iCittc2dzdHIgIiAlcyBbdMO5eSBjaOG7jW5dIFt0aMO0bmcgxJFp4buHcF1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKKyMsIGZ1enp5Cittc2dpZCAiTGlzdCBzeXN0ZW0gbmFtZXNwYWNlcy5cbiIKK21zZ3N0ciAiTGnhu4d0IGvDqiBjw6FjIGtow7NhIGjhu4cgdGjhu5FuZyBu4buZaSBi4buZLlxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwNQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGnhur9uIHRyw6xuaCDEkcOtY2ggxJHhu4MgbOG6pXkga2jDtG5nIGdpYW4gdMOqbiB04burIMSRw7NcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1XLCAtLW5vd3JhcCAgICAgICAgICAgZG9uJ3QgdXNlIG11bHRpLWxpbmUgcmVwcmVzZW50YXRpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGtow7RuZyBnaGkgdsOgbyAvZXRjL210YWJcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICJk4bqhbmcgbmd14buTbiBraMO0bmcgcsO1OiAlc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjQKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICJ0w7l5IGNo4buNbiAtLWZpbmQgbG/huqFpIHRy4burIHbhu5tpIDx0aGnhur90IGLhu4s+IgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIGThu6tuZyBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgImNo4buJIG5nxrDhu51pIGNo4bunIChyb290KSBjw7MgcXV54buBbiAgc+G7rSBk4bulbmcgdMO5eSBjaOG7jW4gXCItLSVzXCIgKFVJRCBjw7Mga+G6v3QgcXXhuqMgbMOgICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njggc3lzLXV0aWxzL3Vtb3VudC5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICJjaOG7iSBuZ8aw4budaSBjaOG7pyAocm9vdCkgY8OzIHF1eeG7gW4gbMOgbSDEkcOzIChVSUQgY8OzIGvhur90IHF14bqjIGzDoCAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjcyIHN5cy11dGlscy91bW91bnQuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIgorbXNnc3RyICJjaOG7iSBjw7MgcsO0dCBt4bubaSBjw7MgdGjhu4Mgc+G7rSBk4bulbmcgdMO5eSBjaOG7jW4gXCItLSVzXCIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjgKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiCittc2dzdHIgImNo4buJIG5nxrDhu51pIGNo4bunIChyb290KSBjw7MgcXV54buBbiB0aOG7sWMgaGnhu4duIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIHThu6sgJXMgKGxpYm1vdW50ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMjkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICJ2aeG7h2MgxJHhu41jIHThuq1wIHRpbiBtdGFiIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTEgc3lzLXV0aWxzL3Vtb3VudC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czogYuG7iyBi4buPIHF1YVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czogxJHDoyBn4bqvbiBr4bq/dFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlczogJXMgxJHGsOG7o2MgZGkgY2h1eeG7g24gxJHhur9uICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIGJvdW5kIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgcsOgbmcgYnXhu5ljIHRyw6puICVzLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlczogJXMgxJHGsOG7o2MgZ+G6r24gdHLDqm4gJXMuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiJXM6ICVzIGPhu50gbGFuIHRydXnhu4FuIMSRw6MgdGhheSDEkeG7lWkuXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW50OiAlcyBraMO0bmcgY2jhu6lhIG5ow6NuIGtp4buDdSBTRUxpbnV4LlxuIgorIiAgICAgICBC4bqhbiB24burYSBt4bubaSBn4bqvbiBr4bq/dCBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluIG3DoCBo4buXIHRy4bujIG5ow6NuXG4iCisiICAgICAgIG5oxrBuZyBjxaluZyBraMO0bmcgY8OzIG5ow6NuLCDEkeG6v24gbeG7mXQgbcOheSBraeG7g3UgU0VMaW51eC5cbiIKKyIgICAgICAgUuG6pXQgY8OzIHRo4buDIGzDoCDhu6luZyBk4bulbmcgYuG7iyBnaWFtIGjDo20gc+G6vSB04bqhbyB0aMO0bmcgxJFp4buHcCBBVkNcbiIKKyIgICAgICAgdsOgIGtow7RuZyBjw7MgcXV54buBbiB0cnV5IGPhuq1wIMSR4bq/biBo4buHIHRo4buRbmcgdOG6rXAgdGluIG7DoHkuXG4iCisiICAgICAgIMSQ4buDIHTDrG0gY2hpIHRp4bq/dCwgeGVtIHRyYW5nIGjGsOG7m25nIGThuqtuIChtYW4pIHJlc3RvcmVjb24oOCkgdsOgIG1vdW50KDgpLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzLiIKK21zZ3N0ciAixJDEqWE6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiICVzOiBn4bq3cCBs4buXaSBwaMOibiB0w61jaCIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzcyCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyDEkeG7i25oIGThuqFuZyB0w7l5IGNo4buNbjogJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICJu4buRaSB0aMOqbSB0w7l5IGNo4buNbiDigJwlc+KAnSBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW3R14buzX2No4buNbl1cbiIKKyIgJTEkcyBbdHXhu7NfY2jhu41uXSBbLS1zb3VyY2VdICA8bmd14buTbj4gfCAgWy0tdGFyZ2V0XSA8dGjGsC1t4bulYz5cbiIKKyIgJTEkcyBbdHXhu7NfY2jhu41uXSA8bmd14buTbj4gPHRoxrAgbeG7pWM+XG4iCisiICUxJHMgPHRoYW8tdMOhYz4gPMSRaeG7g21fZ+G6r24+IFs8xJHDrWNoPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCittc2dpZCAiTW91bnQgYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICJH4bqvbiBr4bq/dCBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGfhuq9uIHThuqV0IGPhuqMgY8OhYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRxrDhu6NjIMSR4buBIGPhuq1wIHRyb25nIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGtow7RuZyDEkcaw4budbmcgZOG6q24gY2Fub25pY2FsaXplXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIGNo4bqheSBnaeG6ozsgYuG7jyBixrDhu5tjIGfhu41pIGjDoG0gaOG7hyB0aOG7kW5nIG1vdW50KDIpXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIHLhur0gbmjDoW5oIGNobyBt4buXaSB0aGnhur90IGLhu4sgKHPhu60gZOG7pW5nIHbhu5tpIHTDuXkgY2jhu41uIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICB04bqtcCB0aW4gdGhheSB0aOG6vyBjaG8gL2V0Yy9mc3RhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorbXNnc3RyICIgLWksIC0taW50ZXJuYWwtb25seSAgICAga2jDtG5nIGfhu41pIGNoxrDGoW5nIHRyw6xuaCBo4buXIHRy4bujIHVtb3VudC48a2nhu4N1PlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgIGhp4buDbiB0aOG7iyBrw61jaCB0aMaw4bubYyB0w61uaCBi4bqxbmcgYnl0ZXNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE0IHN5cy11dGlscy91bW91bnQuYzo5NgorIywgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBraMO0bmcgZ2hpIHbDoG8gL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgZGFuaCBzw6FjaCBjw6FjIHTDuXkgY2jhu41uIGfhuq9uIMSRxrDhu6NjIG5nxINuIGPDoWNoIGLhurFuZyBk4bqldSBwaOG6qXlcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgZ2nhu5tpIGjhuqFuIHThuq1wIGjhu6NwIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gKGTDuW5nIHbhu5tpIHTDuXkgY2jhu41uIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBn4bqvbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIGNo4buJIGNobyDEkeG7jWMgKGdp4buRbmcgbmjGsCBsw6AgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICBleHBsaWNpdGx5IHNwZWNpZmllcyBzb3VyY2UgKHBhdGgsIGxhYmVsLCB1dWlkKVxuIgorIiAgICAgLS10YXJnZXQgPHRhcmdldD4gICBleHBsaWNpdGx5IHNwZWNpZmllcyBtb3VudHBvaW50XG4iCittc2dzdHIgIiIKKyIgICAgIC0tc291cmNlIDxuZ3Xhu5NuPiAgICBjaOG7iSByw7UgcsOgbmcgbmd14buTbiAoxJHGsOG7nW5nIGThuqtuLCBuaMOjbiwgdXVpZClcbiIKKyIgICAgIC0tdGFyZ2V0IDzEkcOtY2g+ICAgICBjaOG7iSByw7UgcsOgbmcgxJFp4buDbS1n4bqvblxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgZ2nhuqNpIHRow61jaCBjw6FjIGPDtG5nIHZp4buHYyDEkcOjIGzDoG1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyJOZ3Xhu5NuOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICDEkeG7k25nIG5naMSpYSBjaG8gTEFCRUw9PGxhYmVsPlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICDEkeG7k25nIG5naMSpYSBjaG8gVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgY2jhu4kgxJHhu4tuaCByw7UgdGhp4bq/dCBi4buLIGLhurFuZyBuaMOjbiBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIGNo4buJIMSR4buLbmggcsO1IHRoaeG6v3QgYuG7iyBi4bqxbmcgVVVJRCBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIGNo4buJIMSR4buLbmggdGhp4bq/dCBi4buLIHRoZW8gbmjDo24gY+G7p2EgcGjDom4gdsO5bmdcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAgY2jhu4kgxJHhu4tuaCB0aGnhur90IGLhu4sgdGhlbyBVVUlEIGPhu6dhIHBow6JuIHbDuW5nXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICAgY2jhu4kgxJHhu4tuaCB0aGnhur90IGLhu4sgdGhlbyDEkcaw4budbmcgZOG6q25cbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgxJFp4buDbSBn4bqvbiBjaG8gZ+G6r24gc+G7rSBk4bulbmcgdMO5eSBjaOG7jW4gYmluZCAoeGVtIHRow6ptIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgdOG6rXAgdGluIHRoxrDhu51uZyBkw6BuaCBjaG8gY8OgaSDEkeG6t3QgbG9vcGRldlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wZXJhdGlvbnM6XG4iCisiIC1CLCAtLWJpbmQgICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBzb21ld2hlcmUgZWxzZSAoc2FtZSBhcyAtbyBiaW5kKVxuIgorIiAtTSwgLS1tb3ZlICAgICAgICAgICAgICBtb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlXG4iCisiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIgorbXNnc3RyICIiCisiXG4iCisiVGhhbyB0w6FjOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBn4bqvbiBt4buZdCBjw6J5IGNvbiDhu58gbeG7mXQgbsahaSBraMOhYyAoZ2nhu5FuZyBuaMawIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIGRpIGNodXnhu4NuIG3hu5l0IGPDonkgY29uIMSR4bq/biBt4buZdCBjaOG7lyBraMOhY1xuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBn4bqvbiBt4buZdCBjw6J5IGNvbiB2w6AgdOG6pXQgY+G6oyBjw6FjIGfhuq9uIGNvbiDhu58gbeG7mXQgY2jhu5cga2jDoWNcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIMSRw6FuaCBk4bqldSBt4buZdCBjw6J5IGNvbiBuaMawIGzDoCBwaOG6p24gY2hpYSBz4bq7IChzaGFyZWQpXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIMSRw6FuaCBk4bqldSBt4buZdCBjw6J5IGNvbiBuaMawIGzDoCB04bubIChzbGF2ZSlcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgxJHDoW5oIGThuqV1IG3hu5l0IGPDonkgY29uIG5oxrAgbMOgIHJpw6puZyAocHJpdmF0ZSlcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgxJHDoW5oIGThuqV1IG3hu5l0IGPDonkgY29uIG5oxrAgbMOgIGtow7RuZyB0aOG7gyBideG7mWMgKHVuYmluZGFibGUpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICDEkcOhbmggZOG6pXUgbeG7mXQgY8OhY2ggxJHhu4cgcXVpIHRvw6BuIGLhu5kgY8OieSBjb24gbMOgIGNoaWEgc+G6u1xuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICDEkcOhbmggZOG6pXUgbeG7mXQgY8OhY2ggxJHhu4cgcXVpIHRvw6BuIGLhu5kgY8OieSBjb24gbMOgIHThu5tcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgxJHDoW5oIGThuqV1IG3hu5l0IGPDoWNoIMSR4buHIHF1aSB0b8OgbiBi4buZIGPDonkgY29uIGzDoCByacOqbmdcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgxJHDoW5oIGThuqV1IG3hu5l0IGPDoWNoIMSR4buHIHF1aSB0b8OgbiBi4buZIGPDonkgY29uIGzDoCBraMO0bmdcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgdGjhu4MgYnXhu5ljICh1bmJpbmRhYmxlKVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo1NDQgc3lzLXV0aWxzL3Vtb3VudC5jOjQ0OAorbXNnaWQgImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImPhuqVwIHBow6F0IG5n4buvIGPhuqNuaCBj4bunYSBsaWJtb3VudCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjAxIHN5cy11dGlscy91bW91bnQuYzo1MDEKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAixJHhurd0IG3huqt1IHTDuXkgY2jhu41uIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTcKK21zZ2lkICJzb3VyY2Ugc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIgorbXNnc3RyICJuZ3Xhu5NuIMSRxrDhu6NjIGdoaSBuaGnhu4F1IGjGoW4gbeG7mXQgbOG6p24iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKyIgJTEkcyAteCAvZGV2L2RldmljZVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1xZF0gL8SRxrDhu51uZy9k4bqrbi904bubaS90aMawL23hu6VjXG4iCisiICUxJHMgLXggL2Rldi9kZXZpY2VcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICJLaeG7g20gdHJhIHhlbSBt4buZdCB0aMawIG3hu6VjIGhheSBt4buZdCB04bqtcCB0aW4gY8OzIHBo4bqjaSBsw6AgbeG7mXQgxJFp4buDbSBn4bqvbiBoYXkga2jDtG5nLlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNgorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICBjaOG6vyDEkeG7mSBpbSBs4bq3bmcgLSBraMO0bmcgaGnhu4NuIHRo4buLIGfDrCBj4bqjXG4iCisiIC1kLCAtLWZzLWRldm5vICAgICBoaeG7g24gdGjhu4sgY+G6t3Agc+G7kSBtYWo6bWluIGPhu6dhIHRoaeG6v3QgYuG7iyBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisiIC14LCAtLWRldm5vICAgICAgICBoaeG7g24gdGjhu4sgY+G6t3Agc+G7kSBtYWo6bWluIGPhu6dhIHRoaeG6v3QgYuG7iyBj4bunYSB0aGnhur90IGLhu4sga2jhu5FpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAi4oCcJXPigJ0ga2jDtG5nIHBo4bqjaSBt4buZdCDEkWnhu4NtIGfhuq9uXG4iCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MjAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyBsw6AgbeG7mXQgxJFp4buDbSBn4bqvblxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSBbPGNoxrDGoW5nIHRyw6xuaD4gW2PDoWMgxJHhu5FpIHPhu5Eg4oCmXV1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiQ2jhuqF5IG3hu5l0IGNoxrDGoW5nIHRyw6xuaCB24bubaSBraMO0bmcgZ2lhbiB0w6puIGPhu6dhIGPDoWMgdGnhur9uIHRyw6xuaCBraMOhYy5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgaGnhu4NuIHRo4buLIG3hu41pIHRoaeG6v3QgYuG7i1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgxCittc2dpZCAiIC10LCAtLXRhcmdldCA8cGlkPiAgICAgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IG5hbWVzcGFjZXMgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0aeG6v24gdHLDrG5oIMSRw61jaCDEkeG7gyBs4bqleSBraMO0bmcgZ2lhbiB0w6puIHThu6sgxJHDs1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PFThuqxQLVRJTj5dIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4gZ+G6r25cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MworbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgIGVudGVyIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PFThuqxQLVRJTj5dICBuaOG6rXAgdsOgbyBraMO0bmcgZ2lhbiB0w6puIFVUUyAodMOqbiBtw6F5IHYudi4uKVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg0Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz08VOG6rFAtVElOPl0gIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4g4oCcU3lzdGVtIFYgSVBD4oCdXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICBlbnRlciBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08VOG6rFAtVElOPl0gIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4gbeG6oW5nXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODYKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICBlbnRlciBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxU4bqsUC1USU4+XSAgbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBwaWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NworIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICBlbnRlciBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PFThuqxQLVRJTj5dIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4gZ+G6r25cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtVSwgLS11c2VyWz08VOG6rFAtVElOPl0gbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICDEkeG6t3QgdWlkIHRyb25nIGtow7RuZyBnaWFuIHTDqm4gbmfGsOG7nWkgZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MAorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1HLCAtLXNldGdpZCA8Z2lkPiAgICAgxJHhurd0IGdpZCB0cm9uZyBraMO0bmcgZ2lhbiB0w6puIG5ow7NtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgxJHhu6tuZyBjaOG6oW0gbcOjIHPhu5EgbmfGsOG7nWkgZMO5bmcgdsOgIG5ow7NtXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKK21zZ2lkICIgLXIsIC0tcm9vdFs9PGRpcj5dICAgICBzZXQgdGhlIHJvb3QgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1yb290Wz08dC5t4bulYz5dIMSR4bq3dCB0aMawIG3hu6VjIGfhu5FjXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PHQubeG7pWM+XSDEkeG6t3QgdGjGsCBt4bulYyBsw6BtIHZp4buHYyBoaeG7h24gaMOgbmhcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAga2jDtG5nIHLhur0gbmjDoW5oIHRp4bq/biB0csOsbmggdHLGsOG7m2MgdGjhu7FjIHRoaSA8Y2jGsMahbmcgdHLDrG5oPlxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk2Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgImtow7RuZyBjw7MgdMOqbiB04bqtcCB0aW4gY8Wpbmcga2jDtG5nIGPDsyBwaWQgxJHDrWNoIMSRxrDhu6NjIMOhcCBk4bulbmcgY2hvICVzIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjMwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB1aWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCB1aWQiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGdpZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGdpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgImtow7RuZyB0aOG7gyB04bqhbyBuZ+G7ryBj4bqjbmggU0VMaW51eCBt4bubaSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgZXhlYyBjb250ZXh0IHRvICclcyciCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY8OhIG5ow6JuIHRow6BuaCAlcyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNjEKKyMsIGZ1enp5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICJuZ3Xhu5NuIMSRxrDhu6NjIGdoaSBuaGnhu4F1IGjGoW4gbeG7mXQgbOG6p24iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBjLWZvcm1hdAorbXNnaWQgInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIKK21zZ3N0ciAia+G6v3QgaOG7o3AgbOG6oWkgY2hvIGtow7RuZyBnaWFiIHTDqm4g4oCcJXPigJ0gZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQxCittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdGjGsCBt4bulYyBob+G6oXQgxJHhu5luZyBoaeG7h24gdOG6oWkiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQ4Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgInRoYXkgxJHhu5VpIHRoxrAgbeG7pWMgYuG7n2kgbcO0IHThuqMgdOG6rXAgdGluIGfhu5FjIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ1MQorbXNnaWQgImNocm9vdCBmYWlsZWQiCittc2dzdHIgImNocm9vdCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgInRoYXkgxJHhu5VpIHRoxrAgbeG7pWMgYuG6sW5nIG3DtCB04bqjIHThuq1wIHRpbiB0aMawIG3hu6VjIGzDoG0gdmnhu4djIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2MiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk2OQorbXNnaWQgInNldGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInNldGdyb3VwcyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIG5ld19yb290IHB1dF9vbGRcbiIKK21zZ3N0ciAiICVzIFt0w7l5IGNo4buNbl0gZ+G7kWNfbeG7m2kgY+G6pXRfY8WpXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKK21zZ2lkICJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorIlRoYXkgxJHhu5VpIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gZ+G7kWMuXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNoYW5nZSByb290IGZyb20gYCVzJyB0byBgJXMnIgorbXNnc3RyICJ0aGF5IMSR4buVaSByb290IHThu6sg4oCcJXPigJ0gdGjDoG5oIOKAnCVz4oCdIHRo4bqldCBi4bqhaSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgImdp4bubaSBo4bqhbiBraMO0bmcgZ2lhbiDEkeG7i2EgY2jhu4kiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzYKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgImvDrWNoIGPhu6EgbMO1aSB04bqtcCB0aW4gdOG7kWkgxJFhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgInRo4budaSBnaWFuIENQVSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworbXNnaWQgInNlY29uZHMiCittc2dzdHIgImdpw6J5IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAiY+G7oSBk4buvIGxp4buHdSB04buRaSDEkWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICJrw61jaCB0aMaw4bubYyB04bqtcCB0aW4gbOG7m24gbmjhuqV0IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiCittc2dzdHIgImNvbiBz4buRIGzhu5tuIG5o4bqldCBj4bunYSBraMOzYSBu4bqvbSBnaeG7ryB04bqtcCB0aW4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKKyMsIGZ1enp5Cittc2dpZCAibG9ja3MiCittc2dzdHIgImto4buRaSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgImtow7RuZyBnaWFuIMSR4buLYSBjaOG7iSBsb2NrZWQtaW4tbWVtb3J5IHThu5FpIMSRYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJz4buRIGzGsOG7o25nIGJ5dGUgbOG7m24gbmjhuqV0IHRyb25nIG1xdWV1ZXMgUE9TSVgiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIm3hu6ljIMawdSB0acOqbiB0dXnhur9uIHRyw6xuaCB04buRaSDEkWEgxJHGsOG7o2MgcGjDqXAgxJHGsGEgcmEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODQKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgdOG6rXAgdGluIHThu5FpIMSRYSDEkcaw4bujYyBt4bufIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0CisjLCBmdXp6eQorbXNnaWQgImZpbGVzIgorbXNnc3RyICJ04bqtcCB0aW4gJXMiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIKK21zZ3N0ciAic+G7kSBsxrDhu6NuZyB0aeG6v24gdHLDrG5oIHThu5FpIMSRYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorIywgZnV6enkKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIklEIHRp4bq/biB0csOsbmgiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKK21zZ2lkICJtYXggcmVzaWRlbnQgc2V0IHNpemUiCittc2dzdHIgImvDrWNoIGPhu6EgxJHhu4MgxJHhurd0IGTDoGkgaOG6oW4gdOG7kWkgxJFhIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAibeG7qWMgxrB1IHRpw6puIHRo4budaS1naWFuLXRo4buxYyB04buRaSDEkWEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJ0aW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MiCittc2dzdHIgInRo4budaSBnaWFuIHThu5FpIMSRYSBkw6BuaCBjaG8gdMOhYyB24bulIHRo4budaSBnaWFuIHRo4buxYyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OAorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAibWktY3LDtCBnacOieSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICJjb24gc+G7kSBs4bubbiBuaOG6pXQgY+G7p2EgdMOtbiBoaeG7h3UgdHJlbyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgInNpZ25hbHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo5MAorbXNnaWQgIm1heCBzdGFjayBzaXplIgorbXNnc3RyICJj4buhIHN0YWNrIHThu5FpIMSRYSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICJ0w6puIGPhu6dhIHTDoGkgbmd1ecOqbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjQKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAiYuG7mSBtw7QgdOG6oyB0w6BpIG5ndXnDqm4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI1Cittc2dpZCAic29mdCBsaW1pdCIKK21zZ3N0ciAiZ2nhu5tpIGjhuqFuIG3hu4FtIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNgorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICJnaeG7m2kgaOG6oW4gY+G7qW5nICh0cuG6p24pIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICLEkcahbiBfduG7izoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIENPTU1BTkRcbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSBM4buGTkhcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIGhheSB0aGF5IMSR4buVaSBjw6FjIGdp4bubaSBo4bqhbiB0w6BpIG5ndXnDqm4gY+G7p2EgbeG7mXQgdGnhur9uIHRyw6xuaC5cbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiVMO5eSBjaOG7jW4gQ2h1bmc6XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBpZCBj4bunYSB0aeG6v24gdHLDrG5oXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgxJHhu4tuaCBuZ2jEqWEgbMOgIGPhu5l0IGvhur90IHh14bqldCBuw6BvIHPhur0gxJHGsOG7o2Mgc+G7rSBk4bulbmdcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIMSR4bqndSDEkeG7gVxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIHPhu60gZOG7pW5nIMSR4buLbmggZOG6oW5nIGhp4buDbiB0aOG7iyB0aMO0XG4iCisiICAgICAtLXZlcmJvc2UgICAgICAgICAgaGnhu4NuIHRo4buLIMSR4bqneSDEkeG7pyB0aMO0bmcgdGluXG4iCisiIC1oLCAtLWhlbHAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc4Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisiVMO5eSBjaOG7jW4gVMOgaSBuZ3V5w6puOlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OQorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAga8OtY2ggdGjGsOG7m2MgdOG7kWkgxJFhIGPhu6dhIHThuq1wIHRpbiBsw7VpIChjb3JlKSDEkcaw4bujYyB04bqhbyByYVxuIgorIiAtZCwgLS1kYXRhICAgICAgICAgICAgIGvDrWNoIHRoxrDhu5tjIHThu5FpIMSRYSBj4bunYSDEkW/huqFuIGThu68gbGnhu4d1IGPhu6dhIHRp4bq/biB0csOsbmhcbiIKKyIgLWUsIC0tbmljZSAgICAgICAgICAgICBt4bupYyDGsHUgdGnDqm4gdOG7kWkgxJFhIMSRxrDhu6NjIHBow6lwIG7Dom5nIGzDqm5cbiIKKyIgLWYsIC0tZnNpemUgICAgICAgICAgICBrw61jaCB0aMaw4bubYyB04buRaSDEkWEgY+G7p2EgdOG6rXAgdGluIMSRxrDhu6NjIGdoaSBi4bufaSB0aeG6v24gdHLDrG5oXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAgY29uIHPhu5EgdOG7kWkgxJFhIGPhu6dhIHTDrW4gaGnhu4d1IHRyZW9cbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBrw61jaCB0aMaw4bubYyB04buRaSDEkWEgbeG7mXQgdGnhur9uIHRyw6xuaCBjw7MgdGjhu4Mga2jDs2EgdsOgbyBi4buZIG5o4bubXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAga8OtY2ggdGjGsOG7m2MgdOG7kWkgxJFhIHRoxrDhu51uZyB0cuG7sWNcbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICBz4buRIHThuq1wIHRpbiB04buRaSDEkWEgxJHGsOG7o2MgbeG7n1xuIgorIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIHPhu5EgYnl0ZSB04buRaSDEkWEgdHJvbmcgaMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwIFBPU0lYXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbeG7qWMgxrB1IHRpw6puIHThu5FpIMSRYSBjaG8gdmnhu4djIGzhuq1wIGzhu4tjaCB0aOG7nWkgZ2lhbiB0aOG7sWNcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICBrw61jaCB0aMaw4bubYyBraOG7kWkgbmjhu5sgKHN0YWNrKSB04buRaSDEkWFcbiIKKyIgLXQsIC0tY3B1ICAgICAgICAgICAgICBt4bupYyB04buRaSDEkWEgduG7gSB04buVbmcgc+G7kSB0aOG7nWkgZ2lhbiBj4bunYSBDUFUgdMOtbmggdGhlbyBnacOieVxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIHPhu5EgbMaw4bujbmcgdGnhur9uIHRyw6xuaCBj4bunYSBuZ8aw4budaSBkw7luZyB04buRaSDEkWFcbiIKKyIgLXYsIC0tYXMgICAgICAgICAgICAgICBrw61jaCB0aMaw4bubYyBj4bunYSBi4buZIG5o4bubIOG6o29cbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBz4buRIGzGsOG7o25nIHThuq1wIHRpbiBi4buLIGtow7NhIHThu5FpIMSRYVxuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIHRo4budaSBnaWFuIENQVSB0w61uaCB0aGVvIG1pLWNyw7QgZ2nDonkgbeG7mXQgdGnhur9uIHRyw6xuaCDEkcaw4bujY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICBs4bqtcCBs4buLY2ggZMaw4bubaSBs4buLY2ggdGjhu51pIGdpYW4gdGjhu7FjXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAidsO0IGjhuqFuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAibOG7l2kgbOG6pXkgZ2nhu5tpIGjhuqFuICVzIGPFqSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAiZ2nhu5tpIGjhuqFuIG3hu4FtICVzIGtow7RuZyB0aOG7gyB2xrDhu6N0IHF1w6EgZ2nhu5tpIGjhuqFuIGPhu6luZyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIkdp4bubaSBo4bqhbiAlcyBt4bubaTogIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBnaeG7m2kgaOG6oW4gbmd14buTbiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBs4bqleSBnaeG7m2kgaOG6oW4gbmd14buTbiAlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo0NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZ2nhu5tpIGjhuqFuICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorbXNnaWQgIm9wdGlvbiAtLXBpZCBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1waWQgY8OzIGzhur0gY2jhu4kgZMO5bmcgbeG7mXQgbOG6p24iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0Cittc2dpZCAib3B0aW9ucyAtLXBpZCBhbmQgQ09NTUFORCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJ0w7l5IGNo4buNbiAtLXBpZCB2w6AgTOG7hk5IIGxv4bqhaSB04burIGzhuqtuIG5oYXUiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEwNworbXNnaWQgIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIHRow7RuZyB0aW4gaOG7kyBzxqEgaOG6oXQgbmjDom4uXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgYy1mb3JtYXQKK21zZ2lkICIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKK21zZ3N0ciAiIC1tLCAtLW1hcGZpbGUgPHThuq1wIHRpbiDDoW5oIHjhuqE+ICAgKG3hurdjIMSR4buLbmg6IFwiJXNcIiB2w6BcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIgorbXNnc3RyICIgLXAsIC0tcHJvZmlsZSA8cHJvLWZpbGU+ICAobeG6t2MgxJHhu4tuaDogIFwiJXNcIilcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgxJHhurd0IGjhu4cgc+G7kSBuaMOibiBwcm9maWxpbmcgdGjDoG5oIDxtdWx0PlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgdGjDtG5nIHRpbiB24buBIGLGsOG7m2MgbeG6q3VcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBk4buvIGxp4buHdSBk4bqhbmcgxJHhuqd5IMSR4bunXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgaW4gcmEgdG/DoG4gYuG7mSBjw6FjIGvDvSBoaeG7h3UsIGPhuqMga2hpIHPhu5EgbMaw4bujbmcgbMOgIDBcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIwCittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBoaeG7g24gdGjhu4sgc+G7kSBsxrDhu6NuZyBoaXN0b2dyYW0tYmluIGPDoSBuaMOiblxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgaGnhu4NuIHRo4buLIHPhu5EgbMaw4bujbmcgY8OhIG5ow6JuIHRyb25nIGjDoG1cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICDEkeG6t3QgbOG6oWkgdOG6pXQgY+G6oyBz4buRIMSR4bq/bSAoY2jhu4kgcm9vdCBt4bubaSB0aOG7sWMgaGnhu4duIMSRxrDhu6NjKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjMKK21zZ2lkICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgdOG6r3QgY2jhu6ljIG7Eg25nIHThu7EgxJHhu5luZyBkw7IgdMOsbSB0aOG7qSB04buxIGJ5dGVcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHdyaXRpbmcgJXMiCittc2dzdHIgImzhu5dpIGdoaSAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcwCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAiR2nhuqMgc+G7rSB0aOG7qSB04buxIGJ5dGUgxJHhuqNvIGzhu5luLiBEw7luZyDigJwtbuKAnSDEkeG7gyDDqXAgYnXhu5ljIHRoZW8gdGjhu6kgdOG7sSBieXRlIHThu7Egbmhpw6puIGPhu6dhIG3DoXkuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIlNhbXBsaW5nX3N0ZXA6ICVpXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkpOiBzYWkgZMOybmcgw6FuaCB44bqhIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICJraMO0bmcgdMOsbSB0aOG6pXkgXCJfc3RleHRcIiB0cm9uZyAlcyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzQ1Cittc2dpZCAicHJvZmlsZSBhZGRyZXNzIG91dCBvZiByYW5nZS4gV3JvbmcgbWFwIGZpbGU/IgorbXNnc3RyICLEkeG7i2EgY2jhu4kgY+G7p2EgeMOhYyBs4bqtcCBu4bqxbSBuZ2/DoGkgcGjhuqFtIHZpLiBU4bqtcCB0aW4gw6FuaCB44bqhIHNhaT8iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjQwMworbXNnaWQgInRvdGFsIgorbXNnc3RyICJ04buVbmciCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MgorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIklEIHRp4bq/biB0csOsbmgiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo1MworbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIklEIG5ow7NtIHRp4bq/biB0csOsbmgiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXB8LS1waWRdIDxwaWQ+4oCmXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+4oCmXG4iCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtdXwtLXVzZXIgPHVzZXI+4oCmXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2OAorbXNnaWQgIkFsdGVyIHRoZSBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiVGhheSDEkeG7lWkgbeG7qWMgxrB1IHRpw6puIGPhu6dhIGPDoWMgdGnhur9uIHRyw6xuaCDEkWFuZyBjaOG6oXkuXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiAtbiwgLS1wcmlvcml0eSA8c+G7kT4gICAgY2jhu4kgxJHhu4tuaCBnacOhIHRy4buLIG5pY2UgZ2lhIHTEg25nXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBwaGnDqm4gZOG7i2NoIMSR4buRaSBz4buRIGzDoCBt4buZdCBtw6Mgc+G7kSB0aeG6v24gdHLDrG5oICht4bq3YyDEkeG7i25oKVxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzMKK21zZ2lkICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorbXNnc3RyICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBwaGnDqm4gZOG7i2NoIMSR4buRaSBz4buRIGzDoCBt4buZdCBtw6Mgc+G7kSBuaMOzbSB0aeG6v24gdHLDrG5oXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3NAorbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGJpw6puIGThu4tjaCDEkeG7kWkgc+G7kSBsw6AgbeG7mXQgdMOgaSBraG/huqNuIGhheSBt4buZdCBtw6Mgc+G7kSBuZ8aw4budaSBkw7luZ1xuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IG3hu6ljIMawdSB0acOqbiBjaG8gJWQgKCVzKSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjk5CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkcSDdGggbeG7qWMgxrB1IHRpw6puIGNobyAlZCAoJXMpIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIKK21zZ3N0ciAiJWQgKCVzKSBxdXnhu4FuIMawdSB0acOqbiBjxakgJWQsIHF1eeG7gW4gxrB1IHRpw6puIG3hu5tpICVkXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgJyVzJyIKK21zZ3N0ciAiaWQga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAibmfGsOG7nWkgZMO5bmcgbOG6oSAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCAlcyB2YWx1ZTogJXMiCittc2dzdHIgImdpw6EgdHLhu4sgc2FpICVzOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEyOQorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgInTDqm4gdGhp4bq/dCBi4buLIG5ow6JuIG7hu5lpIGLhu5kiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgIsSR4buLbmggZGFuaCB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzEKK21zZ2lkICJkZXZpY2UgdHlwZSBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgYXMgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSB0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICJtw7QgdOG6oyBj4budIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMzCisjLCBmdXp6eQorbXNnaWQgInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIKK21zZ3N0ciAia8OtY2ggdGjGsOG7m2MgY+G7p2Ega2jDs2EiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICJIaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSBj4bunYSDEkeG7k25nIGjhu5MgZ2nhu68gbmjDoCBwaOG6p24gY+G7qW5nLlxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IG5vbi1ibG9ja2luZyAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGtow7NhICVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE5CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcG9sbCAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2ggJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICLEkeG7i25oIGRhbmggdGhp4bq/dCBi4buLIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MzkzIHN5cy11dGlscy9yZmtpbGwuYzozOTYKKyMsIGZ1enp5Cittc2dpZCAiYmxvY2tlZCIKK21zZ3N0ciAixJHDoyBraMOzYSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjM5MyBzeXMtdXRpbHMvcmZraWxsLmM6Mzk2CisjLCBmdXp6eQorbXNnaWQgInVuYmxvY2tlZCIKK21zZ3N0ciAixJHDoyBraMOzYSIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIsSQ4buLbmggZGFuaCDEkcSpYTogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gY29tbWFuZCBbaWRlbnRpZmllciAuLi5dXG4iCittc2dzdHIgIiVzIFt0w7l5IGNo4buNbl0gWzx0aGnhur90IGLhu4s+IOKApl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorIywgZnV6enkKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIgLWhlbHBcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAixJDhu4tuaCBkYW5oIMSRxKlhOiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NQorIywgZnV6enkKK21zZ2lkICIgYmxvY2sgICBpZGVudGlmaWVyXG4iCittc2dzdHIgIsSQ4buLbmggZGFuaCDEkcSpYTogJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTYKKyMsIGZ1enp5Cittc2dpZCAiIHVuYmxvY2sgaWRlbnRpZmllclxuIgorbXNnc3RyICLEkOG7i25oIGRhbmggxJHEqWE6ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICJWw6BvIG3hu5l0IHRy4bqhbmcgdGjDoWkgaOG7hyB0aOG7kW5nIG5n4bunIGNobyDEkeG6v24gdGjhu51pIMSRaeG7g20gdGjhu6ljIGThuq15IMSRw6MgY2jhu4kgxJHhu4tuaC5cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDQKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgxJHhu41jIGNo4bq/IMSR4buZIMSR4buTbmcgaOG7kyB04burIHThuq1wIHRpbiBjaOG7iW5oIHPhu61hICht4bq3YyDEkeG7i25oKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA8dC50aW4+ICAgIGNo4buJIMSR4buLbmggxJHGsOG7nW5nIGThuqtuIHThu5tpIHThuq1wIHRpbiBjaOG7iW5oIHPhu61hO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICBt4bq3YyDEkeG7i25oIGzDoCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRo4budaSDEkWnhu4NtIHRo4bupYyBnaeG6pWNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDx0aGnhur90LWLhu4s+ICBjaOG7jW4gdGhp4bq/dCBi4buLIHJ0YyAocnRjMHxydGMxfOKApilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBraMO0bmcgbMOgbSBnw6wgY+G6oywgbmjGsG5nIHThuqFtIHRyZW9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIGTDuW5nIG3DumkgZ2nhu50gxJHhu4thIHBoxrDGoW5nXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIgLW0sIC0tbW9kZSA8Y2jhur9fxJHhu5k+ICAgICAgY2jhur8gxJHhu5kgbmfhu6cgc3RhbmRieXxtZW184oCmXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiAtcywgLS1zZWNvbmRzIDxnacOieT4gICAgIHPhu5EgZ2nDonkgc+G6vSBuZ+G7p1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNQorbXNnaWQgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGjhu51pIMSRaeG7g20gdGjhu6ljIGdp4bqlY1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNgorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIGTDuW5nIFVUQ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIG3DtCB04bqjIGNoaSB0aeG6v3Qgbmjhu69uZyBnw6wgxJHGsOG7o2MgbMOgbVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE2NworbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIHRo4budaSBnaWFuIHThu6sgIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKK21zZ2lkICJyZWFkIHN5c3RlbSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyB0aOG7nWkgZ2lhbiB04burIMSR4buTbmcgaOG7kyBj4bunYSBo4buHIHRo4buRbmciCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjaHV54buDbiDEkeG7lWkgdGjhu51pIGdpYW4gdOG7qyAgcnRjIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY2h1w7RuZyBiw6FvIHRo4bupYyBydGMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgImRpc2NhcmRpbmcgc3RkaW4iCittc2dzdHIgImxv4bqhaSBi4buPIGtob+G6o25nIGNow6puaCBz4bqvcCBow6BuZyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICJn4bq3cCBr4bq/dCB0aMO6YyB04bqtcCB0aW4gYuG6pXQgdGjGsOG7nW5nIHRyw6puICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4buNYyBjaHXDtG5nIGLDoW8gdGjhu6ljIHJ0YyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm06IG9mZlxuIgorbXNnc3RyICJiw6FvIHRo4bupYzogdOG6r3RcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNTYKK21zZ2lkICJjb252ZXJ0IHRpbWUgZmFpbGVkIgorbXNnc3RyICJjaHV54buDbiDEkeG7lWkgdGjhu51pIGdpYW4gxJHDoyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICJiw6FvIHRo4bupYzogbMO6YyAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIktow7RuZyB0aOG7gyDEkeG7jWMgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgImtow7RuZyBoaeG7g3UgxJHGsOG7o2MgdHLhuqFuZyB0aMOhaSB0cmVvIOKAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworbXNnaWQgImludmFsaWQgc2Vjb25kcyBhcmd1bWVudCIKK21zZ3N0ciAidGhhbSBz4buRIGdpw6J5IGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5NworbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAidGhhbSBz4buRIHRo4budaSBnaWFuIGtow7RuZyBo4bujcCBs4buHIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIgorbXNnc3RyICIlczogY29pIGzDoCBSVEMgZMO5bmcgVVRDIOKAplxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICJT4butIGThu6VuZyB0aOG7nWkgZ2lhbiBVVEMuXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAiU+G7rSBk4bulbmcgdGjhu51pIGdpYW4gxJHhu4thIHBoxrDGoW5nLlxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAicGjhuqNpIGN1bmcgY+G6pXAgdGjhu51pIMSRaeG7g20gxJHDoW5oIHRo4bupYyAoeGVtIHRow6ptIGPDoWMgdMO5eSBjaOG7jW4gLXQgdsOgIC1zKSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IGVuYWJsZWQgZm9yIHdha2V1cCBldmVudHMiCittc2dzdHIgIiVzIGtow7RuZyB0aOG7gyBi4bqtdCBz4buxIGtp4buHbiBiw6FvIHRo4bupYyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxhcm0gJWxkLCBzeXNfdGltZSAlbGQsIHJ0Y190aW1lICVsZCwgc2Vjb25kcyAldVxuIgorbXNnc3RyICJiw6FvIHRo4bupYyAlbGQsIGdp4budX2jhu4dfdGjhu5FuZyAlbGQsIGdp4budX1JUQyAlbGQsIGdpw6J5ICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAidGjhu51pIGdpYW4ga2jDtG5nIGNo4bqheSBuZ8aw4bujYyB24buBICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlczogdGjhu6ljIGThuq15IHPhu60gZOG7pW5nICVzIGzDumMgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTY3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YWtldXAgZnJvbSBcIiVzXCIgdXNpbmcgJXMgYXQgJXMiCittc2dzdHIgIiVzOiB0aOG7qWMgZOG6rXkgdOG7qyBcIiVzXCIgc+G7rSBk4bulbmcgJXMgbMO6YyAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBubzsgbGVhdmluZ1xuIgorbXNnc3RyICJjaOG6vyDEkeG7mSBuZ8awbmc6IGtow7RuZzsgxJFhbmcgcuG7nWlcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIgorbXNnc3RyICJjaOG6vyDEkeG7mSBuZ8awbmc6IGLhu4sgdOG6r3Q7IMSRYW5nIHRo4buxYyBoaeG7h24gJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBvbjsgcmVhZGluZyBydGNcbiIKK21zZ3N0ciAiY2jhur8gxJHhu5kgbmfGsG5nOiDEkcOjIGLhuq10OyDEkWFuZyDEkeG7jWMgUlRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICLEkeG7jWMgZnRzIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYyMgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IGRpc2FibGU7IGRpc2FibGluZyBhbGFybVxuIgorbXNnc3RyICJjaOG6vyDEkeG7mSBuZ8awbmc6IHbDtCBoaeG7h3UgaMOzYTsgxJFhbmcgdOG6r3QgYsOhbyDEkeG7mW5nXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICJjaOG6vyDEkeG7mSBuZ8awbmc6IGhp4buDbiB0aOG7izsgxJFhbmcgaW4gdGjDtG5nIHRpbiBiw6FvIHRo4bupY1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYzMworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIgorbXNnc3RyICJjaOG6vyDEkeG7mSBuZ8awbmc6ICVzOyDEkWFuZyBuZ8awbmcgY2jhuqF5IGjhu4cgdGjhu5FuZ1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0NworbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgInThuq90IGto4bqjIG5n4bqvdCBj4bunYSDEkeG7k25nIGjhu5MgYsOhbyB0aOG7qWMgUlRDIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAixJBhbmcgYuG6rXQgJXMuXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxhcmNoPiBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyA8YXJjaD4gW2PDoWMgdMO5eSBjaOG7jW5dIFs8Y2jGsMahbmcgdHLDrG5oPiBbY8OhYyDEkeG7kWkgc+G7kSDigKZdXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk1Cittc2dpZCAiQ2hhbmdlIHRoZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncy5cbiIKK21zZ3N0ciAiVGhheSDEkeG7lWkga2nhur9uIHRyw7pjIMSRw6MgYsOhbyBjw6FvIHbDoCDEkeG6t3QgY+G7nSBjw6EgbmjDom4uXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICBi4bqtdCBBRERSX0xJTUlUXzMyQklUXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTkKK21zZ2lkICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIG1ha2VzIGZ1bmN0aW9uIHBvaW50ZXJzIHBvaW50IHRvIGRlc2NyaXB0b3JzXG4iCittc2dzdHIgIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbMOgbSBjb24gdHLhu48gaMOgbSBjaOG7iSDEkeG6v24gbeG7mXQgYuG7mSBtw7QgdOG6o1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICBi4bqtdCBTSE9SVF9JTk9ERVxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMQorbXNnaWQgIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQgY2hhbmdlcyB0aGUgd2F5IHZpcnR1YWwgbWVtb3J5IGlzIGFsbG9jYXRlZFxuIgorbXNnc3RyICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IHRoYXkgxJHhu5VpIGPDoWNoIG3DoCBi4buZIG5o4bubIOG6o28gxJHGsOG7o2MgY+G6pXAgcGjDqXBcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIHThuq90IG5n4bqrdSBuaGnDqm4gaMOzYSBj4bunYSBraMO0bmcgZ2lhbiDEkeG7i2EgY2jhu4kg4bqjb1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIGLhuq10IFdIT0xFX1NFQ09ORFNcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIGLhuq10IFNUSUNLWV9USU1FT1VUU1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNQorbXNnaWQgIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgdHVybnMgb24gUkVBRF9JTVBMSUVTX0VYRUNcbiIKK21zZ3N0ciAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICBi4bqtdCBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICBi4bqtdCBNTUFQX1BBR0VfWkVST1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNworbXNnaWQgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKK21zZ3N0ciAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBnaeG7m2kgaOG6oW4ga2jDtG5nIGdpYW4gxJHhu4thIGNo4buJIHThu5FpIMSRYSBsw6AgMyBHQlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwOAorbXNnaWQgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKK21zZ3N0ciAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBi4buLIGLhu48gcXVhICh24bubaSBt4bulYyDEkcOtY2ggdMawxqFuZyB0aMOtY2ggbmfGsOG7o2MpXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgYuG6rXQgVU5BTUUyNlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBuw7NpIHLDtSB0w7l5IGNo4buNbiBuw6BvIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h25cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaeG7h3Qga8OqIGPDoWMga2nhur9uIHRyw7pjIGPDsyB0aOG7gyDEkeG6t3QgcuG7k2kgdGhvw6F0XG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlIgorbXNnc3RyICIlczoga2nhur9uIHRyw7pjIGtow7RuZyBuaOG6rW4gcmEiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MjM4CisjLCBjLWZvcm1hdAorbXNnaWQgIktlcm5lbCBjYW5ub3Qgc2V0IGFyY2hpdGVjdHVyZSB0byAlcyIKK21zZ3N0ciAiSOG6oXQgbmjDom4ga2jDtG5nIHRo4buDIMSR4bq3dCBraeG6v24gdHLDumMgdGjDoG5oICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjI4NgorbXNnaWQgIk5vdCBlbm91Z2ggYXJndW1lbnRzIgorbXNnc3RyICJLaMO0bmcgxJHhu6cgxJHhu5FpIHPhu5EiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIkzhu5dpIMSR4bq3dCBjw6EgdMOtbmggdGjDoG5oICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM2MAorbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJy0tbGlzdCciCittc2dzdHIgImtow7RuZyB0aOG7q2Egbmjhuq1uIHTDuXkgY2jhu41uIOKAnC0tbGlzdOKAnSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjgKK21zZ2lkICJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICJjaMawYSBjaOG7iSDEkeG7i25oIMSR4buRaSBz4buRIGtp4bq/biB0csO6YyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBjw6EgbmjDom4gdGjDoG5oICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iCittc2dzdHIgIsSQYW5nIHRo4buxYyBoaeG7h24gY2jGsMahbmcgdHLDrG5oIOKAnCVz4oCd4oCmXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIDxjaMawxqFuZyB0csOsbmg+IFs8Y8OhYyDEkeG7kWkgc+G7kT7igKZdXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIkNo4bqheSBt4buZdCBjaMawxqFuZyB0csOsbmggduG7m2kgY8OhYyBjw6BpIMSR4bq3dCDEkeG6t2MgcXV54buBbiBraMOhYy5cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhuqFuZyB0aMOhaSBoaeG7h24gdOG6oWkgKHbDoCBraMO0bmcgdGjhu7FjIHRoaSBnw6wpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICBj4bqlbSBj4bqlcCDEkeG6t2MgcXV54buBbiBt4bubaVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNAorIywgZnV6enkKK21zZ2lkICIgLS1hbWJpZW50LWNhcHMgPGNhcHMsLi4uPiAgIHNldCBhbWJpZW50IGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIgLS1pbmgtY2FwcyA8Y2FwcyzigKY+ICAgICAgxJHhurd0IGPDoWMgcXV54buBbiBo4bqhbiBr4bq/IHRo4burYVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorIywgZnV6enkKK21zZ2lkICIgLS1pbmgtY2FwcyA8Y2FwcywuLi4+ICAgICAgIHNldCBpbmhlcml0YWJsZSBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPGNhcHMs4oCmPiAgICAgIMSR4bq3dCBjw6FjIHF1eeG7gW4gaOG6oW4ga+G6vyB0aOG7q2FcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjYKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICDEkeG6t3QgdOG6rXAgaOG7o3AgaOG6oW4gYmnDqm4gZHVuZyB0w61jaFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgIMSR4bq3dCB1aWQgdGjhuq10XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC0tZXVpZCA8dWlkPiAgICAgICAgICAgICDEkeG6t3QgdWlkIGNo4buLdSB0w6FjIMSR4buZbmdcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgcmVhbCBnaWRcbiIKK21zZ3N0ciAiIC0tcmdpZCA8Z2lkPiAgICAgICAgICAgICDEkeG6t3QgZ2lkIHRo4buxYyB04bq/XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIiAtLWVnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSBnaWRcbiIKK21zZ3N0ciAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICDEkeG6t3QgbmjDs20gY2jhu4t1IHTDoWMgxJHhu5luZ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMQorIywgZnV6enkKK21zZ2lkICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLXJldWlkIDx1aWQ+ICAgICAgICAgICAgxJHhurd0IHVpZCB0aOG7sWMgdOG6vyB2w6AgY2jhu4t1IHTDoWMgxJHhu5luZ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMgorIywgZnV6enkKK21zZ2lkICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgICAgIHNldCByZWFsIGFuZCBlZmZlY3RpdmUgZ2lkXG4iCittc2dzdHIgIiAtLXJlZ2lkIDxnaWQ+ICAgICAgICAgICAgxJHhurd0IGdpZCB0aOG7sWMgdOG6vyB2w6AgY2jhu4t1IHTDoWMgxJHhu5luZ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzMworIywgZnV6enkKK21zZ2lkICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgICAgIGNsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgeMOzYSBz4bqhY2ggY8OhYyBuaMOzbSBwaOG7pVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorIywgZnV6enkKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICBnaeG7ryBs4bqhaSBjw6FjIG5ow7NtIHBo4bulXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM1CisjLCBmdXp6eQorbXNnaWQgIiAtLWluaXQtZ3JvdXBzICAgICAgICAgICAgICAgaW5pdGlhbGl6ZSBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgIGdp4buvIGzhuqFpIGPDoWMgbmjDs20gcGjhu6VcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzYKKyMsIGZ1enp5Cittc2dpZCAiIC0tZ3JvdXBzIDxncm91cCwuLi4+ICAgICAgICBzZXQgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0tZ3JvdXBzIDxuaMOzbSzigKY+ICAgICAgICDEkeG6t3QgY8OhYyBuaMOzbSBwaOG7pVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgxJHEg3Qgc2VjdXJlYml0c1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtLXNlbGludXgtbGFiZWwgPG5ow6NuPiAgIMSR4bq3dCBuaMOjbiBTRUxpbnV4XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM5CisjLCBmdXp6eQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIC0tYXBwYXJtb3ItcHJvZmlsZSA8cHI+ICDEkeG6t3QgaOG7kyBzxqEgQXBwQXJtb3JcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxNDQKK21zZ2lkICIgVGhpcyB0b29sIGNhbiBiZSBkYW5nZXJvdXMuICBSZWFkIHRoZSBtYW5wYWdlLCBhbmQgYmUgY2FyZWZ1bC5cbiIKK21zZ3N0ciAiIEPDtG5nIGPhu6UgbsOgeSB0xrDGoW5nIMSR4buRaSBuZ3V5IGhp4buDbS4gSMOjeSDEkeG7jWMgdHJhbmcgbWFucGFnZSwgdsOgIGTDuW5nIG3hu5l0IGPDoWNoIHRo4bqtbiB0cuG7jW5nLlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAiY2h14buXaSBkdW5nIHTDrWNoIHNhaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyMzkgc3lzLXV0aWxzL3NldHByaXYuYzo1NTIKK21zZ2lkICJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIgorbXNnc3RyICJs4bqleSBiw610IMSR4bqjbSBi4bqjbyB0aeG6v24gdHLDrG5oIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI0MworIywgYy1mb3JtYXQKK21zZ2lkICJTZWN1cmViaXRzOiAiCittc2dzdHIgIkLDrXQgYW4gbmluaDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAiW2tow7RuZ11cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICIlczogcXXDoSBkw6BpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICJDw6FjIG5ow7NtIHBo4bulOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIltraMO0bmddIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgInVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXVpZDogJXVcbiIKK21zZ3N0ciAiZXVpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAic3VpZDogJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXN1aWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzU0IHN5cy11dGlscy9zZXRwcml2LmM6NDYwCittc2dpZCAiZ2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAiZ2V0cmVzZ2lkIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkR1bmcgbMaw4bujbmcgY8OybiBkw7luZyDEkcaw4bujYzogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIkR1bmcgdMOtY2ggY8OybiDEkcaw4bujYyBwaMOpcDogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAiQ8OhYyBkdW5nIHTDrWNoIGvhur8gdGjhu6thOiAiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJBbWJpZW50IGNhcGFiaWxpdGllczogIgorbXNnc3RyICJEdW5nIHTDrWNoIGPDsm4gxJHGsOG7o2MgcGjDqXA6ICIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgImzhu4duaCBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiVOG6rXAgaOG7o3AgaOG6oW4gYmnDqm4gZHVuZyBsxrDhu6NuZzogIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIk5ow6NuIFNFTGludXgiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiSOG7kyBzxqEgQXBwQXJtb3IiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDEzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhcCAlZDogbGliY2FwLW5nIGlzIGJyb2tlbiIKK21zZ3N0ciAiY2FwICVkOiBsaWJjYXAtbmcgYuG7iyBo4buPbmciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDM2Cittc2dpZCAiSW52YWxpZCBzdXBwbGVtZW50YXJ5IGdyb3VwIGlkIgorbXNnc3RyICJNw6Mgc+G7kSBuaMOzbSBwaOG7pSB0aMOqbSBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKK21zZ2lkICJzZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXRyZXN1aWQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDY4Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUwMAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjYXBhYmlsaXR5IHR5cGUiCittc2dzdHIgImtp4buDdSB0aOG7nWkgZ2lhbiBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgImNodeG7l2kgZHVuZyB0w61jaCBzYWkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAibGliY2FwLW5nIGzDoCBxdcOhIGPFqSBjaG8gXCJhbGxcIiBjYXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjUzNworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGR1bmcgbMaw4bujbmcgXCIlc1wiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2MQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQgc2V0IC0tIHJlZnVzaW5nIHRvIGFkanVzdCIKK21zZ3N0ciAia2jDtG5nIGhp4buDdSB04bqtcCBo4bujcCBiw610IGFuIG5pbmggLS0ga2jGsOG7m2MgdOG7qyBjaOG7iW5oIHPhu61hIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAiY2h14buXaSBiw610IGFuIHRvw6BuIHNhaSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKK21zZ2lkICIrYWxsIHNlY3VyZWJpdHMgaXMgbm90IGFsbG93ZWQiCittc2dzdHIgIithbGwgc2VjdXJlYml0cyBsw6Aga2jDtG5nIMSRxrDhu6NjIHBow6lwIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4NQorbXNnaWQgImFkanVzdGluZyBrZWVwX2NhcHMgZG9lcyBub3QgbWFrZSBzZW5zZSIKK21zZ3N0ciAixJFp4buBdSBjaOG7iW5oIGtlZXBfY2FwcyBraMO0bmcgaOG7o3AgbMO9IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4OQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgc2VjdXJlYml0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYwOQorbXNnaWQgIlNFTGludXggaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIlNFTGludXgga2jDtG5nIGhv4bqhdCDEkeG7mW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyNAorIywgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHDs25nOiAlcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MzIKK21zZ2lkICJBcHBBcm1vciBpcyBub3QgcnVubmluZyIKK21zZ3N0ciAiQXBwQXJtb3Iga2jDtG5nIGhv4bqhdCDEkeG7mW5nIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc3NQorbXNnaWQgImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLW5vLW5ldy1wcml2cyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODAKK21zZ2lkICJkdXBsaWNhdGUgcnVpZCIKK21zZ3N0ciAidHLDuW5nIHJ1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgyCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBydWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICJ0csO5bmcgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk2Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAidHLDuW5nIHJ1aWQgaG/hurdjIGV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk4Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJldWlkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggcmV1aWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA3Cittc2dpZCAiZHVwbGljYXRlIHJnaWQiCittc2dzdHIgInRyw7luZyByZ2lkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggcmdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTMKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAidHLDuW5nIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgImfhurdwIGzhu5dpIHBow6JuIHTDrWNoIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE5Cittc2dpZCAiZHVwbGljYXRlIHJnaWQgb3IgZWdpZCIKK21zZ3N0ciAidHLDuW5nIHJnaWQgaG/hurdjIGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODIxCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggcmVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI2Cittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAidHLDuW5nIHTDuXkgY2jhu41uIC0tY2xlYXItZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgzMgorbXNnaWQgImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAidHLDuW5nIHTDuXkgY2jhu41uIC0ta2VlcC1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM4CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAidHLDuW5nIHTDuXkgY2jhu41uIC0tZ3JvdXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg0NAorbXNnaWQgImR1cGxpY2F0ZSAtLWdyb3VwcyBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLWdyb3VwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NTMKK21zZ2lkICJkdXBsaWNhdGUgLS1pbmgtY2FwcyBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLWluaC1jYXBzIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1OQorIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgLS1hbWJpZW50LWNhcHMgb3B0aW9uIgorbXNnc3RyICJ0csO5bmcgdMO5eSBjaOG7jW4gLS1pbmgtY2FwcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NjUKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICJ0csO5bmcgdMO5eSBjaOG7jW4gLS1ib3VuZGluZy1zZXQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLXNlY3VyZWJpdHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLXNlbGludXgtbGFiZWwiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODgzCittc2dpZCAiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iCittc2dzdHIgInRyw7luZyB0w7l5IGNo4buNbiAtLWFwcGFybW9yLXByb2ZpbGUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODk5Cittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICItLWR1bXAga2jDtG5nIHTGsMahbmcgdGjDrWNoIHbhu5tpIHThuqV0IGPhuqMgY8OhYyB0w7l5IGNo4buNbiBraMOhYyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MDcKK21zZ2lkICItLWxpc3QtY2FwcyBtdXN0IGJlIHNwZWNpZmllZCBhbG9uZSIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1saXN0LWNhcHMgcGjhuqNpIMSRxrDhu6NjIGTDuW5nIG3hu5l0IG3DrG5oIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworbXNnaWQgIk5vIHByb2dyYW0gc3BlY2lmaWVkIgorbXNnc3RyICJDaMawYSBjaOG7iSByYSBjaMawxqFuZyB0csOsbmgiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTE5CisjLCBmdXp6eQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIi0tW3JlXWdpZCB5w6p1IGPhuqd1IC0ta2VlcC1ncm91cHMsIC0tY2xlYXItZ3JvdXBzLCBoYXkgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgImPhuqVtIGPhuqVwIMSR4bq3YyBxdXnhu4FuIG3hu5tpIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0MAorbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2nhu68gZHVuZyBsxrDhu6NuZyB0aeG6v24gdHLDrG5oIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiRHVuZyB0w61jaCBob+G6oXQgxJHhu5luZyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NTQKK21zZ2lkICJyZWFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiZHVuZyB0w61jaCDEkcaw4bujYyBrw61jaCBob+G6oXQgbOG6oWkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1CisjLCBmdXp6eQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCittc2dpZCAic2V0IHByb2Nlc3Mgc2VjdXJlYml0cyBmYWlsZWQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgYsOtdCBhbiB0b8OgbiB0aeG6v24gdHLDrG5oIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiw6FwIGThu6VuZyB04bqtcCBo4bujcCBiacOqbiBnaeG7m2kiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICJjw6FjIGR1bmcgbMaw4bujbmcgw6FwIGThu6VuZyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIDxjaMawxqFuZyB0csOsbmg+IFtjw6FjIMSR4buRaSBz4buRIOKApl1cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjM3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIgorbXNnc3RyICJDaOG6oXkgbeG7mXQgY2jGsMahbmcgdHLDrG5oIHRyb25nIG3hu5l0IHBoacOqbiBt4bubaS5cbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQwCittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICDEkeG6t3QgdGhp4bq/dCBi4buLIGN14buRaSDEkWnhu4F1IGtoaeG7g24gY2hvIGPDoWkgaGnhu4duIHThuqFpXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzo0MQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgYWx3YXlzIGZvcmtcbiIKK21zZ3N0ciAiIC1mICDDqXAgYnXhu5ljIGtp4buDbSB0cmFcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQyCittc2dpZCAiIC13LCAtLXdhaXQgICAgIHdhaXQgcHJvZ3JhbSB0byBleGl0LCBhbmQgdXNlIHRoZSBzYW1lIHJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCAgICAgY2jhu50gY2jGsMahbmcgdHLDrG5oIGvhur90IHRow7pjIHbDoCBkw7luZyBjw7luZyBnacOhLXRy4buLIHRy4bqjIHbhu4FcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwMAorbXNnaWQgImZvcmsiCittc2dzdHIgInLhur0gbmjDoW5oIHRp4bq/biB0csOsbmgiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICJ0aeG6v24gdHLDrG5oIGNvbiDigJwlZOKAnSB0aG/DoXQga2jDtG5nIGLDrG5oIHRoxrDhu51uZyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjExNworbXNnaWQgInNldHNpZCBmYWlsZWQiCittc2dzdHIgInNldHNpZCBi4buLIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTIwCittc2dpZCAiZmFpbGVkIHRvIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgdGhp4bq/dCBi4buLIGN14buRaSDEkWnhu4F1IGtoaeG7g24iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICJzd2Fwb2ZmICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIktow7RuZyBwaOG6o2kgc2nDqnUgbmfGsOG7nWkgZMO5bmcucyIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlcyBzd2Fwb2ZmIGLhu4sgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIFs8c3BlYz5dXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiVOG6r3QgY8OhYyB0aGnhur90IGLhu4sgdsOgIHThuq1wIHRpbiBkw6BuaCBjaG8gxJHDoW5oIHRyYW5nIHbDoCB0csOhbyDEkeG7lWkuXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI4Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzIGZyb20gL3Byb2Mvc3dhcHNcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIHThuq90IHRvw6BuIGLhu5kgc3dhcHMgdOG7qyAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIGNo4bq/IMSR4buZIGhp4buDbiB0aOG7iyDEkeG6p3kgxJHhu6cgdGjDtG5nIHRpblxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkPDoWMgxJHhu5FpIHPhu5EgPHNwZWM+OlxuIgorIiAtTCA8TkjDg04+ICAgICAgICAgICAgICBOSMODTiAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIExBQkVMPTxOSMODTj4gICAgICAgICAgIE5Iw4NOICBj4bunYSB0aGnhur90IGLhu4sgY+G6p24gZMO5bmdcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEICBj4bunYSB0aGnhur90IGLhu4sgY+G6p24gZMO5bmdcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICB0w6puICBj4bunYSB0aGnhur90IGLhu4sgY+G6p24gZMO5bmdcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICB0w6puIGPhu6dhIHThuq1wIHRpbiDEkcaw4bujYyBkw7luZ1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAidOG6rXAgdGluIHRoaeG6v3QgYuG7iyBob+G6t2MgxJHGsOG7nW5nIGThuqtuIHThu5tpIHBow6JuIHbDuW5nIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgImtp4buDdSB0aGnhur90IGLhu4siCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OAorbXNnaWQgInNpemUgb2YgdGhlIHN3YXAgYXJlYSIKK21zZ3N0ciAia8OtY2ggdGjGsOG7m2MgdsO5bmcgaG/DoW4gxJHhu5VpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgImJ5dGUgxJHDoyBkw7luZyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorbXNnaWQgInN3YXAgcHJpb3JpdHkiCittc2dzdHIgInF1eeG7gW4gxrB1IHRpw6puIHN3YXAiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgInV1aWQgdHLDoW8gxJHhu5VpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAyCittc2dpZCAic3dhcCBsYWJlbCIKK21zZ3N0ciAibmjDo24gdHLDoW8gxJHhu5VpIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHRLaeG7g3VcdFx0S8OtY2ggY+G7oVx0RMO5bmdcdE3hu6ljxq91VGnDqm5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICJUw6puIHThuq1wIHRpbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVpbml0aWFsaXppbmcgdGhlIHN3YXAuIgorbXNnc3RyICIlczogxJFhbmcga2jhu59pIHThuqFvIGzhuqFpIHbDuW5nIHRyYW8gxJHhu5VpLiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbHNlZWsgZmFpbGVkIgorbXNnc3RyICIlczogbHNlZWsgYuG7iyBs4buXaSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM4NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGzhu5dpIGdoaSBjaOG7ryBrw70iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIC0gaXQgYXBwZWFycyB0byBoYXZlIGhvbGVzLiIKK21zZ3N0ciAiJXM6IMSRYW5nIGLhu48gcXVhIOKAlCBjw7MgduG6uyBsw6AgbsOzIGLhu4sgbOG7ly4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldCBzaXplIGZhaWxlZCIKK21zZ3N0ciAiJXM6IGzhu5dpIGzhuqV5IGvDrWNoIGPhu6EiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQgc3dhcCBoZWFkZXIgZmFpbGVkIgorbXNnc3RyICIlczogbOG7l2kgxJHhu41jIHBo4bqnbiDEkeG6p3UgdsO5bmcgdHJhbyDEkeG7lWkiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlczogdMOsbSB0aOG6pXkgY2jhu68ga8O9IHRyYW8gxJHhu5VpOiBwaGnDqm4gYuG6o24gJXVkLCBrw61jaCBj4buhIHRyYW5nICVkLCB0aOG7qSB04buxIGJ5dGUgJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiCittc2dzdHIgIiVzOiBrw61jaCBj4buhIHRyYW5nPSVkLCBrw61jaCBj4buhIHbDuW5nIHRyYW8gxJHhu5VpPSVsbHUsIGvDrWNoIGPhu6EgdGhp4bq/dCBi4buLPSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggbOG7m24gaMahbiBrw61jaCBj4buhIHRo4bqtdCBj4bunYSB2w7luZyB0cmFvIMSR4buVaSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlczoga8OtY2ggY+G7oSB0cmFuZyDEkeG7i25oIGThuqFuZyB0cmFvIMSR4buVaSBraMO0bmcgdMawxqFuZyDhu6luZy4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiAoVXNlIC0tZml4cGdzeiB0byByZWluaXRpYWxpemUgaXQuKSIKK21zZ3N0ciAiJXM6IGvDrWNoIGPhu6EgdHJhbmcgxJHhu4tuaCBk4bqhbmcgdHJhbyDEkeG7lWkga2jDtG5nIHTGsMahbmcg4bupbmcuIChEw7luZyAtLWZpeHBnc3ogxJHhu4Mga2jhu59pIHThuqFvIGzhuqFpIG7Dsy4pIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjAwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzb2Z0d2FyZSBzdXNwZW5kIGRhdGEgZGV0ZWN0ZWQuIFJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIgorbXNnc3RyICIlczogcGjDoXQgaGnhu4duIGThu68gbGnhu4d1IG5nxrBuZyBwaOG6p24gbeG7gW0uIMSQYW5nIGdoaSBs4bqhaSBjaOG7ryBrw70gdHJhbyDEkeG7lWkuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBjLWZvcm1hdAorbXNnaWQgInN3YXBvbiAlc1xuIgorbXNnc3RyICJzd2Fwb24gJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjY3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9uIGZhaWxlZCIKK21zZ3N0ciAiJXMgc3dhcG9uIGLhu4sgbOG7l2kiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub2F1dG8gb3B0aW9uIC0tIGlnbm9yZWQiCittc2dzdHIgIiVzOiBs4buXaSBwaMOibiB0w61jaCBjw7ogcGjDoXAgdOG6oWkgZMOybmcgJWQgLS0gaWdub3JlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGzhu5dpIHBow6JuIHTDrWNoIGPDuiBwaMOhcCB04bqhaSBkw7JuZyAlZCAtLSBpZ25vcmUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbmFjY2Vzc2libGUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyBnaGkgY8OhYyBpbm9kZSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiQuG6rXQgY8OhYyB0aGnhur90IGLhu4sgdsOgIHThuq1wIHRpbiDEkeG7gyBkw7luZyBjaG8gdmnhu4djIMSRw6FuaCB0cmFuZyB2w6AgdHLDoW8gxJHhu5VpLlxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIGLhuq10IG3hu41pIGLhu5kgbmjhu5sgdHLDoW8gxJHhu5VpIGPDsyB0cm9uZyAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDEKK21zZ2lkICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gYuG6rXQgbG/huqFpIGLhu48gdHLDoW8gxJHhu5VpLCBu4bq/dSDEkcaw4bujYyBo4buXIHRy4bujIGLhu59pIHRoaeG6v3QgYuG7i1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBi4buPIHF1YSBt4buZdCBjw6FjaCDDom0gdGjhuqdtIGPDoWMgdGhp4bq/dCBi4buLIG3DoCBuw7Mga2jDtG5nIHThu5NuIHThuqFpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDMKK21zZ2lkICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICBraOG7n2kgdOG6oW8gbOG6oWkgY2jhu5cgdHLDoW8gxJHhu5VpIG7hur91IHRo4bqleSBj4bqnbiB0aGnhur90XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDQKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHN3YXAgb3B0aW9uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8ZC5zw6FjaD4gZGFuaCBzw6FjaCDEkeG7i25oIGdp4bubaSBi4bqxbmcgZOG6pXUgcGjhuql5IGPhu6dhIGPDoWMgdMO5eSBjaOG7jW4gdHLDoW8gxJHhu5VpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDUKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIGNo4buJIMSR4buLbmggbeG7qWMgxrB1IHRpw6puIGPhu6dhIHRoaeG6v3QgYuG7iyB0csOhbyDEkeG7lWlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHRo4buVbmcgaOG7o3AgduG7gSB0aGnhur90IGLhu4sgdHLDoW8gxJHhu5VpICjEkMODIEzhu5ZJIFRI4bucSSlcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNworbXNnaWQgIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorbXNnc3RyICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHThu5VuZyBo4bujcCB0cm9uZyBi4bqjbmcgxJHhu4tuaCBuZ2jEqWFcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorbXNnaWQgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgdGFibGUgaGVhZGluZyAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAga2jDtG5nIGluIHBo4bqnbiDEkeG6p3UgYuG6o25nICh24bubaSAtLXNob3cpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC1yLCAtLXJhdyAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7QgY2hvIGvhur90IHh14bqldCAoduG7m2kgLS1zaG93KVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODEwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGPhu6EgYuG7mSBuaOG7myB0csOhbyDEkeG7lWkgdMOtbmggdGhlbyBieXRlIOG7nyBr4bq/dCB4deG6pXQgLS1zaG93XG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MTEKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGNo4bq/IMSR4buZIGNoaSB0aeG6v3RcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIkPDoWMgxJHhu5FpIHPhu5EgPHNwZWM+OlxuIgorIiAtTCA8TkjDg04+ICAgICAgICAgICAgICBOSMODTiAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgVVVJRCAgY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIExBQkVMPTxOSMODTj4gICAgICAgICAgIE5Iw4NOICBj4bunYSB0aGnhur90IGLhu4sgY+G6p24gZMO5bmdcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgICBVVUlEICBj4bunYSB0aGnhur90IGLhu4sgY+G6p24gZMO5bmdcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBjaOG7iSDEkeG7i25oIHRoaeG6v3QgYuG7iyB0aGVvIG5ow6NuIGPhu6dhIHBow6JuIHbDuW5nbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIGNo4buJIMSR4buLbmggdGhp4bq/dCBi4buLIHRoZW8gVVVJRCBj4bunYSBwaMOibiB2w7luZ1xuIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgIHTDqm4gY+G7p2EgdGhp4bq/dCBi4buLIGPhuqduIGTDuW5nXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgdMOqbiBj4bunYSB04bqtcCB0aW4gxJHGsOG7o2MgZMO5bmdcbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgyNgorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgZGlzY2FyZCBwb2xpY3kgdHlwZXMgKGZvciAtLWRpc2NhcmQpOlxuIgorIiBvbmNlICAgIDogb25seSBzaW5nbGUtdGltZSBhcmVhIGRpc2NhcmRzIGFyZSBpc3N1ZWRcbiIKKyIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorIklmIG5vIHBvbGljeSBpcyBzZWxlY3RlZCwgYm90aCBkaXNjYXJkIHR5cGVzIGFyZSBlbmFibGVkIChkZWZhdWx0KS5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkPDoWMga2nhu4N1IGNow61uaCBzw6FjaCBsb+G6oWkgYuG7jyBz4bq1biBjw7MgKGNobyB0w7l5IGNo4buNbiAtLWRpc2NhcmQpOlxuIgorIiBvbmNlXHQgIDogY2jhu4kgbG/huqFpIGLhu48gY8OhYyB2w7luZyDEkcaw4bujYyBj4bqlcCB0aOG7nWktZ2lhbi3Ekcahbi4gKHN3YXBvbilcbiIKKyIgcGFnZXNcdCAgOiBsb+G6oWkgYuG7jyBjw6FjIHRyYW5nIMSRw6MgZ2nhuqNpIHBow7NuZyB0csaw4bubYyBraGkgZMO5bmcgbOG6oWkgbsOzLlxuIgorIk7hur91IGtow7RuZyBjaOG7jW4gY2jDrW5oIHPDoWNoIG7DoG8gdGjDrCBj4bqjIGhhaSBraeG7g3UgdHLDqm4gxJHhu4F1IGLhuq10ICht4bq3YyDEkeG7i25oKS5cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBwcmlvcml0eSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIG3hu6ljIMawdSB0acOqbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkyOAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgImtow7RuZyBo4buXIHRy4bujIGNow61uaCBzw6FjaCBsb+G6oWkgYuG7jzogJXMiCisKKyM6IHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgdGhlIGRldmljZSBmb3IgJXMiCittc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSB0aGnhur90IGLhu4sgY2hvICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorbXNnaWQgImZhaWxlZCB0byBvcGVuIGRpcmVjdG9yeSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58gdGjGsCBt4bulYyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAibOG7l2kgbOG6pXkgdHLhuqFuZyB0aMOhaSB24buBIHThuq1wIHRpbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NzkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIsSR4buNYyB0aMawIG3hu6VjIGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHVubGluayAlcyIKK21zZ3N0ciAiYuG7jyBsacOqbiBr4bq/dCBt4buBbSAlcyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGRpIGNodXnhu4NuIGfhuq9uICVzIHThu5tpICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZm9yY2luZyB1bm1vdW50IG9mICVzIgorbXNnc3RyICLDqXAgYnXhu5ljIGLhu48gZ+G6r24gY+G7p2EgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHRoYXkgxJHhu5VpIHRoxrAgbeG7pWMgdOG7m2kgJXMiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gbW91bnQgbW92aW5nICVzIHRvIC8iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBkaSBjaHV54buDbiBn4bqvbiAlcyB04bubaSAvIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgImtow7RuZyB0aOG7gyBjaHV54buDbiDEkeG7lWkgdGjGsCBt4bulYyBn4buRYyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICJo4buHIHRo4buRbmcgdOG6rXAgdGluIHJvb3Qga2jDtG5nIHBo4bqjaSBsw6AgbeG7mXQg4oCcaW5pdHJhbWZz4oCdIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gPHRoxrBfbeG7pWNfZ+G7kWNfbeG7m2k+IDxpbml0PiA8xJHhu5FpIHPhu5EgY2hvIGto4bufaSB04bqhbz5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA5Cittc2dpZCAiU3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZS5cbiIKK21zZ3N0ciAiQ2h1eeG7g24gc2FuZyBo4buHIHRo4buRbmcgdOG6rXAgdGluIGtow6FjIGzDoG0gZ+G7kWMgY+G7p2EgY8OieSBn4bqvbi5cbiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1Cittc2dpZCAiZmFpbGVkLiBTb3JyeS4iCittc2dzdHIgImfhurdwIGzhu5dpLiBS4bqldCB0aeG6v2MuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHRydXkgY+G6rXAgJXMiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5OAorbXNnaWQgIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iCittc2dzdHIgIsSQ4bq3dCBjw6FjIHRoYW0gc+G7kSBraMOhYyBuaGF1IGNobyBtw6F5IGluIGTDsm5nLlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAxCittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBjaOG7iSDEkeG7i25oIGNvbiBz4buRIGlycSBjaG8gY+G7lW5nIHNvbmcgc29uZ1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTAyCittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgdHLDrG5oIMSRaeG7gXUga2hp4buDbiDEkeG7o2kgdHJvbmcgbWktbGktZ2nDonlcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMworbXNnaWQgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIKK21zZ3N0ciAiIC1jLCAtLWNoYXJzIDxz4buRPiAgICAgICAgICAgICBz4buRIGvDvSB04buxIMSRxrDhu6NjIGvhur90IHh14bqldCB0csaw4bubYyBraGkgbmfhu6dcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorbXNnaWQgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQgPG1pY3LDtGdpw6J5PiAgICAgICBuaOG6pXAgbmjDoXkgxJHhu6NpIHRyb25nIG1pY3LDtGdpw6J5XG4iCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorbXNnaWQgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGFib3J0IG9uIGVycm9yXG4iCittc2dzdHIgIiAtYSwgLS1hYm9ydCA8b258b2ZmPiAgICAgICAgIGjhu6d5IGLhu48gbuG6v3UgbOG7l2lcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorbXNnaWQgIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIgorbXNnc3RyICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBraeG7g20gdHJhIHRy4bqhbmcgdGjDoWkgbcOheSBpbiB0csaw4bubYyBraGkgaW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMAorbXNnaWQgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIGV4dHJhIGNoZWNraW5nIHRvIHN0YXR1cyBjaGVja1xuIgorbXNnc3RyICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBraeG7g20gdHJhIGLhu5UgeHVuZyBjaG8gdmnhu4djIGtp4buDbSB0cmEgdHLhuqFuZyB0aMOhaVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCittc2dpZCAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgcXVlcnkgcHJpbnRlciBzdGF0dXNcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAgdHJ1eSB24bqlbiB0cuG6oW5nIHRow6FpIG3DoXkgaW5cbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIMSR4bq3dCBs4bqhaSBj4buVbmdcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMworbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICBoaeG7g24gdGjhu4sgY8OgaSDEkeG6t3QgaXJxIGhp4buHbiBow6BuaFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoaeG6v3QgYuG7iyBscCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJs4buXaSBMUEdFVFNUQVRVUyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgInRy4bqhbmcgdGjDoWkgJXMgbMOgICVkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgYnVzeSIKK21zZ3N0ciAiLCDEkWFuZyBi4bqtbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICIsIHPhurVuIHPDoG5nIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICIsIGtow7RuZyDEkeG7pyB0cmFuZyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIiwgdHLhu7FjIHR1eeG6v24iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAiLCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5OAorbXNnaWQgImlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMwOAorbXNnaWQgIkxQR0VUSVJRIGVycm9yIgorbXNnc3RyICJs4buXaSBMUEdFVElSUSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBJUlEgJWRcbiIKK21zZ3N0ciAiJXMgxJFhbmcgZMO5bmcgSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyDEkWFuZyBkw7luZyBraOG6oyBuxINuZyB0csawbmcgY+G6p3VcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiB8IDxkaXJlY3Rvcnk+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWhWXVxuIgorIiAlMSRzIC1hIFtjw6FjIHTDuXkgY2jhu41uXVxuIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8bmd14buTbj4gfCA8dGjGsC1t4bulYz5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg1Cittc2dpZCAiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIKK21zZ3N0ciAiQuG7jyBn4bqvbiBo4buHIHRo4buRbmcgdOG6rXAgdGluLlxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGLhu48gZ+G6r24gdOG6pXQgY+G6oyBjw6FjIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIGLhu48gZ+G6r24gbeG7jWkgxJFp4buDbSBn4bqvbiBjaG8gdGhp4bq/dCBi4buLIMSRw6MgY2hvXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJvbmcga2jDtG5nIGdpYW4gdMOqbiBoaeG7h24gdOG6oWlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkxCittc2dpZCAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAga2jDtG5nIGNhbm9uaWNhbCBow7NhIMSRxrDhu51uZyBk4bqrblxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTIKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIG7hur91IGPDsyBn4bqvbiB0aGnhur90IGLhu4sgbG9vcCwgdGjDrCBjxaluZyBnaeG6o2kgcGjDs25nIHRoaeG6v3QgYuG7iyBuw6B5XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MworbXNnaWQgIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorbXNnc3RyICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgY2jhuqF5IHRo4butOyBi4buPIHF1YSBjw7ogZ+G7jWkgaOG7hyB0aOG7kW5nIHVtb3VudCgyKVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgYnXhu5ljIGLhu48gZ+G6r24gKHRyb25nIHRyxrDhu51uZyBo4bujcCBraMO0bmcgdGjhu4MgdGhhbyB0w6FjIHbhu5tpIGjhu4cgdGjhu5FuZyBORlMpXG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGtow7RuZyBn4buNaSBjaMawxqFuZyB0csOsbmggaOG7lyB0cuG7oyB1bW91bnQuPGtp4buDdT5cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk3Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgdMOhY2ggcuG7nWkgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBuZ2F5LCB2w6AgZOG7jW4gc+G6oWNoIHThuqV0IGPhuqMgc2F1IMSRw7NcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk4Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgLU8sIC0tdGVzdC1vcHRzIDxkc8OhY2g+IGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBo4buHIHRo4buRbmcgdOG6rXAgdGluIChkw7luZyB24bubaSAtYSlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICBi4buPIGfhuq9uIG3hu5l0IGPDoWNoIMSR4buHIHF1eSB04bqldCBj4bqjIGPDoWMgY29uIGPhu6dhIG7Ds1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTAwCittc2dpZCAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIGluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICB0cm9uZyB0csaw4budbmcgaOG7o3AgYuG7jyBn4bqvbiBn4bq3cCBs4buXaSwgaMOjeSB0aOG7rSBn4bqvbiBs4bqhaSBjaOG7iS3EkeG7jWNcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorbXNnaWQgIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0gdHlwZXNcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDxkLnPDoWNoPiAgICBjw6FjIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIGLhu4sgaOG6oW4gY2jhur9cbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJXMpIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgKCVzKSDEkcaw4bujYyBi4buPIGfhuq9uIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVubW91bnRlZCIKK21zZ3N0ciAiJXMgY2jGsGEgxJHGsOG7o2MgZ+G6r24iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMDcKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG6t3QgxJHDrWNoIGLhu48gZ+G6r24iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjMKK21zZ2lkICJsaWJtb3VudCB0YWJsZSBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiY+G6pXAgcGjDoXQgYuG6o25nIGxpYm1vdW50IGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjY2IHN5cy11dGlscy91bW91bnQuYzozNDYKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAiY+G6pXAgcGjDoXQgYuG7mSBs4bq3cCBsaWJtb3VudCBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI3MgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgbOG6pXkgZnMgKGjhu4cgdGjhu5FuZyB04bqtcCB0aW4pIGNvbiBj4bunYSAlcyIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVzOiBraMO0bmcgdMOsbSB0aOG6pXkiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzozNDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkZXRlcm1pbmUgc291cmNlICgtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCByZWd1bGFyIG10YWIgZmlsZSkuIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGTDsiB0w6xtIG5ndeG7k24gKC0tYWxsLXRhcmdldHMga2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MgdHLDqm4gaOG7hyB0aOG7kW5nIHbhu5tpIHThuq1wIHRpbiBtdGFiIHRoxrDhu51uZykuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIi0tc2V0Z3JvdXBzIGtow7RuZyBo4buXIHRy4bujIHRoYW0gc+G7kSDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgZ2hpOiAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIgorbXNnc3RyICJraMO0bmcgaOG7lyB0cuG7oyDEkeG7i25oIGThuqFuZyB0w7l5IGNo4buNbjogJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICIiCisiVGhheSDEkeG7lWkgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBn4buRYy5cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgb24gJXMgZmFpbGVkIgorbXNnc3RyICJn4bqvbiAlcyB0csOqbiAlcyBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHN0YXQgJXMiCittc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0cuG6oW5nIHRow6FpIChzdGF0KSB24buBICVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjIxNQorIywgZnV6enkKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBpcGUiCittc2dzdHIgIsSR4buNYyB04buRYyDEkeG7mSBn4bq3cCBs4buXaSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTIKK21zZ2lkICJSdW4gYSBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gdGhlIHBhcmVudC5cbiIKK21zZ3N0ciAiQ2jhuqF5IG3hu5l0IGNoxrDGoW5nIHRyw6xuaCB24bubaSBt4buZdCBz4buRIGtow7RuZyBnaWFuIHTDqm4ga2jDtG5nIGNoaWEgc+G6uyB04burIGNoYSBt4bq5LlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW91bnRbPTxmaWxlPl0gICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1tLCAtLW1vdW50Wz08VOG6rFAtVElOPl0gbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBn4bqvblxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRzWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKK21zZ3N0ciAiIC11LCAtLXV0c1s9PFThuqxQLVRJTj5dICBuaOG6rXAgdsOgbyBraMO0bmcgZ2lhbiB0w6puIFVUUyAodMOqbiBtw6F5IHYudi4uKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworIywgZnV6enkKK21zZ2lkICIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9PFThuqxQLVRJTj5dICBuaOG6rXAgdsOgbyBraMO0bmcgZ2lhbiB0w6puIOKAnFN5c3RlbSBWIElQQ+KAnVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OAorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbiwgLS1uZXRbPTxU4bqsUC1USU4+XSAgbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBt4bqhbmdcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBwaWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWRbPTxU4bqsUC1USU4+XSAgbmjhuq1wIHbDoG8ga2jDtG5nIGdpYW4gdMOqbiBwaWRcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9PFThuqxQLVRJTj5dIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4gbmfGsOG7nWkgZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9PFThuqxQLVRJTj5dIG5o4bqtcCB2w6BvIGtow7RuZyBnaWFuIHTDqm4gZ+G6r25cbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKK21zZ2lkICIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iCittc2dzdHIgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIHLhur0gbmjDoW5oIHRp4bq/biB0csOsbmggdHLGsOG7m2MgdGjhu7FjIHRoaSA8Y2jGsMahbmcgdHLDrG5oPlxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIGfhuq9uIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gcHJvYyB0csaw4bubYyAoa8OpbyB0aGVvIC0tbW91bnQpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgw6FuaCB44bqhIG5nxrDhu51pIGTDuW5nIGhp4buHbiBuYXkgdGjDoG5oIHJvb3QgKMO9IGzDoCAtLXVzZXIpXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY2Cittc2dpZCAiIgorIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjgKK21zZ2lkICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIMSRaeG7gXUga2hp4buDbiBjw7ogZ+G7jWkgaOG7hyB0aOG7kW5nIMSR4bq3dCBuaMOzbSB0cm9uZyBraMO0bmcgZ2lhbiB0w6puIG5nxrDhu51pIGTDuW5nXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDAxCittc2dpZCAidW5zaGFyZSBmYWlsZWQiCittc2dzdHIgInVuc2hhcmUgYuG7iyBs4buXaSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAidGnhur9uIHRyw6xuaCBjb24gdGhvw6F0IGfhurdwIGzhu5dpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICJjw6FjIHTDuXkgY2jhu41uIC0tc2V0Z3JvdXBzPWFsbG93IHbDoCAtLW1hcC1yb290LXVzZXIgbG/huqFpIHRy4burIGzhuqtuIG5oYXUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGfhuq9uICVzIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICJDYXJkIHRyxrDhu5tjIMSRw6J5IGto4bufaSDEkeG7mW5nIGzhuqFpIENQVSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzQKK21zZ2lkICJFeHRlcm5hbCByZWxheSAxIgorbXNnc3RyICJSxqEtbGUgbuG7mWkgdOG6oWkgMSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzUKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICJSxqEtbGUgbuG7mWkgdOG6oWkgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKK21zZ2lkICJGYW4gZmFpbGVkIgorbXNnc3RyICJRdeG6oXQgZ+G6t3AgbOG7l2kiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc3Cittc2dpZCAiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IgorbXNnc3RyICJUcuG6oyBs4budaSB04burIGzhu4duaCBwaW5nIGTDuW5nIMSR4buDIGR1eSB0csOsIGvhur90IG7hu5FpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OAorbXNnaWQgIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiCittc2dzdHIgIkjhu5cgdHLhu6Mga8O9IHThu7EgxJHDs25nIGvhu7MgZGnhu4d1IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIkto4bufaSDEkeG7mW5nIGzhuqFpIGLhu59pIHbDrCBDUFUgYuG7iyBxdcOhIG7Ds25nIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAiUXXDoSDEkWnhu4duIMOhcCBuZ3Xhu5NuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAiTmd14buTbiDEkWnhu4duIHNhaS9s4buXaSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAiUHJldGltZW91dCAodMOtbmggYuG6sW5nIGdpw6J5KSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODMKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIsSQ4bq3dCB0aOG7nWkgZ2lhbiBjaOG7nSB04buRaSDEkWEgKHRoZW8gZ2nDonkpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4NAorbXNnaWQgIk5vdCB0cmlnZ2VyIHJlYm9vdCIKK21zZ3N0ciAiS2jDtG5nIGLhuqt5IGto4bufaSDEkeG7mW5nIGzhuqFpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDAKK21zZ2lkICJmbGFnIG5hbWUiCittc2dzdHIgInTDqm4gY+G7nSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAxCittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAibcO0IHThuqMgY+G7nSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgInRy4bqhbmcgdGjDoWkgY+G7nSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAidHLhuqFuZyB0aMOhaSBj4budICBraOG7n2kgxJHhu5luZyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0Cittc2dpZCAid2F0Y2hkb2cgZGV2aWNlIG5hbWUiCittc2dzdHIgInTDqm4gdGhp4bq/dCBi4buLIGdp4buvIG5ow6AgKHdhdGNoZG9nKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmxhZzogJXMiCittc2dzdHIgImtow7RuZyBoaeG7g3UgY+G7nTogJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIkhp4buDbiB0aOG7iyB0cuG6oW5nIHRow6FpIGPhu6dhIMSR4buTbmcgaOG7kyBnaeG7ryBuaMOgIHBo4bqnbiBj4bupbmcuXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE4MQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIGNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIGPhu50gxJHDoyBjaOG7jW5cbiIKKyIgLUYsIC0tbm9mbGFncyAgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIGPDoWMgdOG6rXAgdGluIGNobyBjw6FjIGPhu51cbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gxJHhu4tuaCBkYW5oIHdhdGNoZG9nXG4iCisiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyDEkeG6p3UgxJHhu4EgY2hvIGLhuqNuZyBjw6FjIGPhu51cbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBoaeG7g24gdGjhu4sgbeG7jWkgdGjDtG5nIHRpbiB0csOqbiBt4buZdCBkw7JuZ1xuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGhp4buDbiB0aOG7iyBjw6FjIGPhu5l0IHRoZW8gZGFuaCBzw6FjaFxuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHPhu60gZOG7pW5nIMSR4buLbmggZOG6oW5nIHRow7QgY2hvIGLhuqNuZyBjw6FjIGPhu51cbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRo4budaSBnaWFuIGNo4budIHThu5FpIMSRYSBj4bunYSB3YXRjaGRvZ1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IMSR4bq3dCB0aOG7nWkgZ2lhbiBjaOG7nSB04buRaSDEkWEgd2F0Y2hkb2dcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICBjaOG7iSBoaeG7g24gdGjhu4sgYuG6o25nIGPDoWMgY+G7nSAoZ2nhu5FuZyB24bubaSAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLIG3hurdjIMSR4buLbmggbMOgICVzLlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZmxhZ3MgMHgleFxuIgorbXNnc3RyICIlczoga2jDtG5nIGhp4buDdSBj4budIDB4JXhcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzIwIHN5cy11dGlscy93ZGN0bC5jOjM3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiJXM6IHdhdGNoZG9nIMSRw6Mgc+G6tW4gxJFhbmcgc+G6tW4gZMO5bmcsIMSRYW5nIGNo4bqlbSBk4bupdC4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgZ2nhuqNpIHRy4burIMSR4buTbmcgaOG7kyBnaeG7ryBuaMOgICh3YXRjaGRvZykiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICJraW5oIHThur8gxJHhurd0IHRo4budaSBo4bqhbiBjaOG7nSBjaG8gJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIlRo4budaSBnaWFuIGNo4budIHThu5FpIMSRYSDEkcaw4bujYyDEkeG6t3QgdGjDoG5oICVkIGdpw6J5LlxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgbOG6pXkgdGjDtG5nIHRpbiB24buBIMSR4buTbmcgaOG7kyBnaeG7ryBuaMOgICh3YXRjaGRvZykiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNXMgJTJpIGdpw6J5XG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NgorbXNnaWQgIlRpbWVvdXQ6IgorbXNnc3RyICJUaOG7nWkgZ2lhbiBjaOG7nSB04buRaSDEkWE6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIlByZS10aW1lb3V0OiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICJDw7JuOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA0Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAiVGhp4bq/dCBi4buLOiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA2Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICLEkOG7i25oIGRhbmg6IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDgKK21zZ2lkICJ2ZXJzaW9uIgorbXNnc3RyICJwaGnDqm4gYuG6o24iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzUKK21zZ2lkICJ6cmFtIGRldmljZSBuYW1lIgorbXNnc3RyICJ0w6puIHRoaeG6v3QgYuG7iyB6cmFtIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAiZ2nhu5tpIGjhuqFuIHThu5VuZyBk4buvIGxp4buHdSBjaMawYSBuw6luIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgImPhu6EgY2jGsGEgbsOpbiBj4bunYSBk4buvIGxp4buHdSBsxrB1IHRy4buvIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc4Cittc2dpZCAiY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICJj4buhIHNhdSBuw6luIGPhu6dhIGThu68gbGnhu4d1IGzGsHUgdHLhu68iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzkKK21zZ2lkICJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIgorbXNnc3RyICJ0aHXhuq10IHRvw6FuIG7DqW4gxJHDoyBjaOG7jW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODAKK21zZ2lkICJudW1iZXIgb2YgY29uY3VycmVudCBjb21wcmVzcyBvcGVyYXRpb25zIgorbXNnc3RyICJz4buRIGzGsOG7o25nIHRoYW8gdMOhYyBuw6luIMSR4buTbmcgdGjhu51pIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICJ0cmFuZyB0cuG7kW5nIHbhu5tpIGtow7RuZyBi4buZIG5o4bubIGPhuqVwIHBow6F0IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgyCittc2dpZCAiYWxsIG1lbW9yeSBpbmNsdWRpbmcgYWxsb2NhdG9yIGZyYWdtZW50YXRpb24gYW5kIG1ldGFkYXRhIG92ZXJoZWFkIgorbXNnc3RyICJt4buNaSBi4buZIG5o4bubIGJhbyBn4buTbSBjw6FjIG3huqNuaCBwaMOibiDEkeG7i25oIHbDoCB04buVbmcgcGjDrSBk4buvIGxp4buHdSBtZXRhIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAiZ2nhu5tpIGjhuqFuIHThu5VuZyBk4buvIGxp4buHdSBjaMawYSBuw6luIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0CisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSB6cmFtIGhhdmUgYmVlbiBjb25zdW1lZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiCittc2dzdHIgImdp4bubaSBo4bqhbiB04buVbmcgZOG7ryBsaeG7h3UgY2jGsGEgbsOpbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4NQorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICJz4buRIGzGsOG7o25nIHRoYW8gdMOhYyBuw6luIMSR4buTbmcgdGjhu51pIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgbW1fc3RhdCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2ggYuG6r3QgxJHhuqd1IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8dGhp4bq/dCBi4buLPlxuIgorIiAlMSRzIC1yIDx0aGnhur90IGLhu4s+IFvigKZdXG4iCisiICUxJHMgW2PDoWMgdMO5eSBjaOG7jW5dIC1mIHwgPHRoaeG6v3QgYuG7iz4gLXMgPGPhu6E+XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTM4Cittc2dpZCAiU2V0IHVwIGFuZCBjb250cm9sIHpyYW0gZGV2aWNlcy5cbiIKK21zZ3N0ciAiQ8OgaSDEkeG6t3QgdsOgIMSRaeG7gXUga2hp4buDbiBjw6FjIHRoaeG6v3QgYuG7iyB6cmFtLlxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejR8bHo0aGN8ZGVmbGF0ZXw4NDIgICBjb21wcmVzc2lvbiBhbGdvcml0aG0gdG8gdXNlXG4iCittc2dzdHIgIiAtYSwgLS1hbGdvcml0aG0gbHpvfGx6NCAgIHRodeG6rXQgdG/DoW4gbsOpbiBtdeG7kW4gZMO5bmdcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDIKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGPhu6EgdGhlbyBieXRlIHRoYXkgdsOsIGThuqFuZyBkw6BuaCBjaG8gY29uIG5nxrDhu51pIMSR4buNY1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0MworbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICB0w6xtIHRoaeG6v3QgYuG7iyBjw7JuIHLhuqNuaFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgY29sdW1ucyB0byB1c2UgZm9yIHN0YXR1cyBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICAgxJHhu4tuaCBuZ2jEqWEgY8OhYyBj4buZdCBz4bq9IGhp4buDbiB0aOG7iyByYVxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgZMO5bmcgxJHhu4tuaCBk4bqhbmcgdGjDtCBjaG8ga+G6v3QgeHXhuqV0XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIMSR4bq3dCBs4bqhaSBt4buNaSB0aGnhur90IGLhu4sgxJHDoyBjaG9cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKK21zZ2lkICIgLXMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA8Y+G7oT4gICAgICAgICAgIGPhu6EgdGhp4bq/dCBi4buLXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPHPDtD4gICAgICAgIHPhu5EgbHXhu5NuZyBuw6luXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjMzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiCittc2dzdHIgImfhurdwIGzhu5dpIHBow6JuIHTDrWNoIGPDoWMgZMOybmcgZOG7ryBsaeG7h3UiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjU1Cittc2dpZCAib3B0aW9uIC0tZmluZCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCA8ZGV2aWNlPiIKK21zZ3N0ciAidMO5eSBjaOG7jW4gLS1maW5kIGxv4bqhaSB0cuG7qyB24bubaSA8dGhp4bq/dCBi4buLPiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjEKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAiY2jhu4kgbeG7mXQgPHRoaeG6v3QgYuG7iz4gxJHGsOG7o2MgZMO5bmcgdOG6oWkgbeG7mXQgdGjhu51pIMSRaeG7g20iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgInTDuXkgY2jhu41uIC0tYWxnb3JpdGhtIHbDoCAtLXN0cmVhbXMga2jDtG5nIHRo4buDIHThu5UgaOG7o3AgY8O5bmcgduG7m2kgLS1zaXplIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5NCBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIgJXM6IGfhurdwIGzhu5dpIGtoaSDEkeG6t3QgbOG6oWkiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzA1IHN5cy11dGlscy96cmFtY3RsLmM6NzEzCittc2dpZCAibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIKK21zZ3N0ciAia2jDtG5nIHTDrG0gdGjhuqV5IHRoaeG6v3QgYuG7iyB6cmFtIGPDsm4gcuG6o25oIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBudW1iZXIgb2Ygc3RyZWFtcyIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSDEkeG6t3Qgc+G7kSBj4bunYSBsdeG7k25nIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgxJHhurd0IHRodeG6rXQgdG/DoW4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGRpc2tzaXplICglanUgYnl0ZXMpIgorbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBj4buhIMSRxKlhICglanUgYnl0ZSkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NDcwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIKK21zZ3N0ciAiJXMlcyAoxJHEg25nIG5o4bqtcCB04buxIMSR4buZbmcpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGNodXnhu4NuIMSR4buVaSB0aMawIG3hu6VjIGfhu5FjICVzOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgdGhheSDEkeG7lWkgdGjGsCBt4bulYyBsw6BtIHZp4buHYyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2UgcHJvY2VzcyBwcmlvcml0eTogJW0iCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgdGhheSDEkeG7lWkgbeG7qWMgxrB1IHRpw6puIGPhu6dhIHRp4bq/biB0csOsbmg6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVzOiBraMO0bmcgdGjhu7FjIGhp4buHbiDEkcaw4bujYyAlczogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICJraMO0bmcgY+G6pXAgcGjDoXAgxJHGsOG7o2MgYuG7mSBuaOG7mzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NjY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzIgorbXNnc3RyICLigJwlc+KAnSB04burIGfDs2kgcGjhuqduIG3hu4FtIOKAnCVz4oCdXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIsSR4buRaSBz4buRIHRy4bulIGtow7RuZyBo4bujcCBs4buHIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICLEkeG7kWkgc+G7kSBjaG8gdMO5eSBjaOG7jW4g4oCcLS1sb2NhbC1saW5l4oCdIGtow7RuZyBo4bujcCBs4buHIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgwNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG5pY2UgYXJndW1lbnQiCittc2dzdHIgInRoYW0gc+G7kSB0aOG7nWkgZ2lhbiBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIHNwZWVkOiAlcyIKK21zZ3N0ciAidOG7kWMgxJHhu5kgc2FpOiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDgKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICJxdcOhIG5oaeG7gXUgdOG7kWMgxJHhu5kgbHXDom4gcGhpw6puIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTUgdGVybS11dGlscy9hZ2V0dHkuYzoxMDE5IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgb3BlbiBhcyBzdGFuZGFyZCBpbnB1dDogJW0iCittc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjIC9kZXYvJXMgbmjGsCBt4buZdCDEkeG6p3UgdsOgbyB0acOqdSBjaHXhuqluIChzdGRpbik6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lczoga2jDtG5nIHBo4bqjaSB0aGnhur90IGLhu4sga8O9IHThu7EiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA0MAorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIi9kZXYvJXM6IGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHR0eSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQ0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXM6IGtow7RuZyB0aOG7gyBs4bqleSB0dHkgxJFp4buBdSBraGnhu4NuOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiB2aGFuZ3VwKCkgZ+G6t3AgbOG7l2k6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlczoga2jDtG5nIG3hu58gxJHGsOG7o2MgxJHhu41jL3Zp4bq/dCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDkyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBzZXQgcHJvY2VzcyBncm91cDogJW0iCittc2dzdHIgIi9kZXYvJXM6IGtow7RuZyB0aOG7gyDEkeG6t3QgbmjDs20gdGnhur9uIHRyw6xuaDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlczogduG6pW4gxJHhu4Ega2hpIGR1cDogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSBs4bqleSBjw6FjIHRodeG7mWMgdMOtbmggdGhp4bq/dCBi4buLIGN14buRaTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iCittc2dzdHIgImfhurdwIGzhu5dpIGtoaSBjw6BpIMSR4bq3dCBjw6FjIHRodeG7mWMgdMOtbmggdGhp4bq/dCBi4buLIGN14buRaTogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjIHThuq1wIHRpbiBraMOzYSAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgImzhu5dpIMSR4buNYyB04bqtcCB0aW4gYuG6o24gxJHDoW5oIG3DoXkgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIlti4bqlbSBFTlRFUiDEkeG7gyDEkcSDbmcgbmjhuq1wXSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5Cittc2dpZCAiTnVtIExvY2sgb2ZmIgorbXNnc3RyICJU4bqvdCBwaMOtbSBOdW0gTG9jayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIkLhuq10IHBow61tIE51bSBMb2NrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKK21zZ2lkICJDYXBzIExvY2sgb24iCittc2dzdHIgIkLhuq10IHBow61tIENhcHMgTG9jayIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY4Cittc2dpZCAiU2Nyb2xsIExvY2sgb24iCittc2dzdHIgIkLhuq10IHBow61tIFNjcm9sbCBMb2NrIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyJUw6xtIHRo4bqleTogJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXM6IMSR4buNYzogJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5wdXQgb3ZlcnJ1biIKK21zZ3N0ciAiJXM6IHRo4burYSBk4buvIGxp4buHdSB2w6BvIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwODkgdGVybS11dGlscy9hZ2V0dHkuYzoyMDk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnZhbGlkIGNoYXJhY3RlciBjb252ZXJzaW9uIGZvciBsb2dpbiBuYW1lIgorbXNnc3RyICIlczogY2h1eeG7g24gxJHhu5VpIGvDvSB04buxIGtow7RuZyBo4bujcCBs4buHIGNobyB0w6puIMSRxINuZyBuaOG6rXAiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlczoga8O9IHThu7EgMHgleCBraMO0bmcgaOG7o3AgbOG7hyB0cm9uZyB0w6puIMSRxINuZyBuaOG6rXAiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjE4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIKK21zZ3N0ciAiJXM6IGfhurdwIGzhu5dpIGtoaSDEkeG6t3QgY8OhYyB0aHXhu5ljIHTDrW5oIHRoaeG6v3QgYuG7iyBjdeG7kWk6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbY8OhYyB0w7l5IGNo4buNbl0gPGxpbmU+IFs8YmF1ZF9yYXRlPizigKZdIFs8dGVybXR5cGU+XVxuIgorIiAlMSRzIFtjw6FjIHTDuXkgY2jhu41uXSA8YmF1ZF9yYXRlPizigKYgPGxpbmU+IFs8dGVybXR5cGU+XVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzAKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiTeG7nyBt4buZdCB0aGnhur90IGLhu4sgY3Xhu5FpIHbDoCDEkeG6t3QgY2jhur8gxJHhu5kgY+G7p2EgbsOzLlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzMKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgY29pIGzDoCB0dHkgOC1iaXRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM0Cittc2dpZCAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCittc2dzdHIgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICDEkcSDbmcgbmjhuq1wIHbhu5tpIHTDoGkga2hv4bqjbiDEkcOjIGNo4buJIMSR4buLbmggbeG7mXQgY8OhY2ggdOG7sSDEkeG7mW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBraMO0bmcgxJHhurd0IGzhuqFpIGNo4bq/IMSR4buZIMSRaeG7gXUga2hp4buDblxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzYKK21zZ2lkICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iCittc2dzdHIgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICBkw7luZyAtciA8dMOqbi1tw6F5PiBkw6BuaCBjaG8gbG9naW4oMSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3Cittc2dpZCAiIC1mLCAtLWlzc3VlLWZpbGUgPGZpbGU+ICAgIGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorbXNnc3RyICIgLWYsIC0taXNzdWUtZmlsZSA8VOG6rFAtVElOPiBoaeG7g24gdGjhu4sgdOG6rXAgdGluIMSRxrBhIHJhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOAorbXNnaWQgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBlbmFibGUgaGFyZHdhcmUgZmxvdyBjb250cm9sXG4iCittc2dzdHIgIiAtaCwgLS1mbG93LWNvbnRyb2wgICAgICAgICBi4bqtdCDEkWnhu4F1IGtoaeG7g24gdHLDoG4gcGjhuqduIGPhu6luZ1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDx0w6puIG3DoXk+ICAgICAgIGNo4buJIMSR4buLbmggdMOqbiBtw6F5IGNo4bunIMSRxINuZyBuaOG6rXBcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgdOG6rXAgdGluIHBow6F0IHJhXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MQorbXNnaWQgIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1JLCAtLWluaXQtc3RyaW5nIDxjaHXhu5dpPiAgxJHhurd0IGNodeG7l2kga2jhu59pIHThuqFvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBraMO0bmcgeMOzYSBtw6BuIGjDrG5oIHRyxrDhu5tjIGThuqV1IG5o4bqvY1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbi1wcm9ncmFtIDxULlRpbj4gY2jhu4kgxJHhu4tuaCBjaMawxqFuZyB0csOsbmggxJHEg25nIG5o4bqtcFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDQKK21zZ2lkICIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iCittc2dzdHIgIiAtTCwgLS1sb2NhbC1saW5lWz08Y2jhur/EkeG7mT5dIMSRaeG7gXUga2hp4buDbiBj4budIGTDonkgbuG7mWkgYuG7mVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDUKK21zZ2lkICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKK21zZ3N0ciAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIHRyw61jaCB04buRYyDEkeG7mSBiYXVkIHRyb25nIHF1w6EgdHLDrG5oIGvhur90IG7hu5FpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NgorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAga2jDtG5nIG5o4bqvYyDEkcSDbmcgbmjhuq1wXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0NworbXNnaWQgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICBkbyBub3QgcHJpbnQgYSBuZXdsaW5lIGJlZm9yZSBpc3N1ZVxuIgorbXNnc3RyICIgLU4gIC0tbm9uZXdsaW5lICAgICAgICAgICAga2jDtG5nIGluIG3hu5l0IGvDvSBoaeG7h3UgZMOybmcgbeG7m2kgdHLGsOG7m2MgcGjDoXQgaMOgbmhcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ4Cittc2dpZCAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCittc2dzdHIgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBjw6FjIHTDuXkgY2jhu41uIGNodXnhu4NuIHF1YSBjaG8gbG9naW5cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ5Cittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgY2jhu50gYuG6pW0gcGjDrW0gYuG6pXQga+G7syB0csaw4bubYyBraGkgxJHEg25nIG5o4bqtcFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTAKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXIsIC0tY2hyb290IDx0Lm3hu6VjPiAgICAgICB0aGF5IMSR4buVaSB0aMawIG3hu6VjIGfhu5FjIHNhbmcgdGjGsCBt4bulY1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICB0aOG7sWMgaGnhu4duIHZp4buHYyB0cmVvIOG6o28gdHLDqm4gdHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorbXNnaWQgIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKK21zZ3N0ciAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRo4butIGdp4buvIHThu5FjIMSR4buZIGJhdWQgc2F1IG5n4bqvdFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxz4buRPiAgICAgICAgIHRo4budaSBo4bqhbiBjaOG7nSB0aeG6v24gdHLDrG5oIHThu5FpIMSRYVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTQKK21zZ2lkICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIgorbXNnc3RyICIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgcGjDom4gYmnhu4d0IEhPQS90aMaw4budbmcgdGhp4bq/dCBi4buLIGN14buRaVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTUKK21zZ2lkICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKK21zZ3N0ciAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIMSR4bujaSBrw70gaGnhu4d1IHbhu4EgxJHhuqd1IGTDsm5nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NgorbXNnaWQgIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKK21zZ3N0ciAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIEtow7RuZyBn4bujaSDDvVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKK21zZ2lkICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKK21zZ3N0ciAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgdMOqbiBtw6F5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBoaeG7g24gdGjhu4sgdMOqbiBtw6F5IMSR4bunIMSRaeG7gXUga2nhu4duIGThuqFuZyDEkeG6p3kgxJHhu6dcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1lcmFzZS1jaGFycyA8Y2h14buXaT4gIGPDoWMga8O9IHThu7EgeMOzYSBsw7lpIHBo4bulIHRow6ptXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MAorbXNnaWQgIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIKK21zZ3N0ciAiICAgICAtLWtpbGwtY2hhcnMgPGNodeG7l2k+ICAgY8OhYyBrw70gdOG7sSBnaeG6v3QgYuG7lSB4dW5nXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAgLS1jaGRpciA8dGjGsC1t4bulYz4gICAgICDEkeG7lWkgdGjGsCBt4bulYyB0csaw4bubYyBraGkgxJHEg25nIG5o4bqtcFxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjIKK21zZ2lkICIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAgICAgLS1kZWxheSA8c+G7kT4gICAgICAgICAgIG5naOG7iSB0csaw4bubYyBraGkgbmjhuq9jXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MworbXNnaWQgIiAgICAgLS1uaWNlIDxudW1iZXI+ICAgICAgICBydW4gbG9naW4gd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAgICAgLS1uaWNlIDxz4buRPiAgICAgICAgICAgIGNo4bqheSDEkcSDbmcgbmjhuq1wIHbhu5tpIG3hu6ljIMawdSB0acOqbiBuw6B5XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIGzhuqV5IGzhuqFpIGThuqV1IG5o4bqvYyB0csOqbiBtaW5oIGThu6UgYWdldHR5IMSRYW5nIGNo4bqheVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgIC1UIFtoYXkgLS1saXN0LXR5cGVzXTpcdFx0bGnhu4d0IGvDqiBjw6FjIGtp4buDdSBwaMOibiB2w7luZyDEkcOjIGJp4bq/dCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHVzZXIiCittc2dpZF9wbHVyYWwgIiVkIHVzZXJzIgorbXNnc3RyWzBdICIlZCB0w6BpIGtob+G6o24iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJjaGVja25hbWUgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hlY2tuYW1lIGfhurdwIGzhu5dpOiAlbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU1CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB0b3VjaCBmaWxlICVzIgorbXNnc3RyICJraMO0bmcgdGjhu4MgY2jhuqFtIHThuq1wIHRpbiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU5Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgImjhu4cgdGjhu5FuZyBj4bunYSBi4bqhbiBraMO0bmcgaOG7lyB0cuG7oyAtLXJlbG9hZCIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gW2MgfCBrXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OQorbXNnaWQgIkNvbnRyb2wgd3JpdGUgYWNjZXNzIG9mIG90aGVyIHVzZXJzIHRvIHlvdXIgdGVybWluYWwuXG4iCittc2dzdHIgIsSQaeG7gXUga2hp4buDbiB0cnV5IGPhuq1wIGdoaSBj4bunYSBjw6FjIG5nxrDhu51pIGTDuW5nIGtow6FjIMSR4bq/biB0aGnhur90IGLhu4sgY3Xhu5FpIGPhu6dhIGLhuqFuLlxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo4MgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgZ2nhuqNpIHRow61jaCDEkWFuZyBsw6BtIG5o4buvbmcgZ8OsXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorbXNnaWQgInR0eW5hbWUgZmFpbGVkIgorbXNnc3RyICJ0dHluYW1lIGLhu4sgbOG7l2kiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorbXNnaWQgImlzIHkiCittc2dzdHIgImzDoCBjIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzcKK21zZ2lkICJpcyBuIgorbXNnc3RyICJsw6AgayIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTQ4IHRlcm0tdXRpbHMvbWVzZy5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG7lWkgY2jhur8gxJHhu5kgJXMiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGFsbG93ZWQiCittc2dzdHIgInF1eeG7gW4gdHJ1eSBj4bqtcCBnaGkgdOG7m2kgdGhp4bq/dCBi4buLIGN14buRaSBj4bunYSBi4bqhbiBsw6AgxJHGsOG7o2MgcGjDqXAiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAicXV54buBbiB0cnV5IGPhuq1wIGdoaSB04bubaSB0aGnhur90IGLhu4sgY3Xhu5FpIGPhu6dhIGLhuqFuIGLhu4sgdOG7qyBjaOG7kWkiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAixJHhu5FpIHPhu5Ega2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIlcyBbVFXhu7JfQ0jhu4xOXSBbVOG6rFBfVElOXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2NAorbXNnaWQgIk1ha2UgYSB0eXBlc2NyaXB0IG9mIGEgdGVybWluYWwgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiVOG6oW8gdsSDbiBraeG7h24gY+G7p2EgcGhpw6puIHRoaeG6v3QgYuG7iyBjdeG7kWkuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICBu4buRaSB0aMOqbSB2w6BvIGvhur90IHh14bqldFxuIgorIiAtYywgLS1jb21tYW5kIDxs4buHbmg+ICAgIGNo4bqheSBs4buHbmggdGhheSB2w6wgaOG7hyB24buPIHTGsMahbmcgdMOhY1xuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICB0cuG6oyB24buBIG3DoyBj4bunYSBxdcOhIHRyw6xuaCBjb25cbiIKKyIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgY2jhuqF5IGzhu4duaCBmbHVzaCBzYXUgbeG7l2kgbOG6p24gZ2hpXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIHPhu60gZOG7pW5nIHThuq1wIHRpbiBr4bq/dCB4deG6pXQgbmdheSBj4bqjIGtoaSBuw7MgbMOgIG3hu5l0IGxpw6puIGvhur90XG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIGltIGzhurduZ1xuIgorIiAtdCwgLS10aW1pbmdbPTxU4bqsUC1USU4+XSBr4bq/dCB4deG6pXQgZOG7ryBsaeG7h3UgdGjhu51pIGdpYW4gdOG7m2kgc3RkZXJyIChoYXkgdOG7m2kgVOG6rFAtVElOKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyJ04bqtcCB0aW4ga+G6v3QgeHXhuqV0IOKAnCVz4oCdIGzDoCBt4buZdCBsacOqbiBr4bq/dC5cbiIKKyJIw6N5IGTDuW5nIOKAnC0tZm9yY2XigJ0gbuG6v3UgdGjhu7FjIHPhu7EgbXXhu5FuIHPhu60gZOG7pW5nIG7Dsy5cbiIKKyJDaMawxqFuZyB0csOsbmggY2jGsGEga2jhu59pIGNo4bqheS4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIkhvw6BuIHThuqV0IGNo4bqheSB2xINuIGzhu4duaCwgdOG6rXAgdGluIGzDoCAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGdoaSB04bqtcCB0aW4gYsOzIGzhu4duaCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyJQaGnDqm4gbMOgbSB2aeG7h2MgYuG7iyBjaOG6pW0gZOG7qXQsIMSRYW5nIGdp4bq/dCBzaGVsbOKApiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIlbEg24gbOG7h25oIMSRw6Mga2jhu59pIGNo4bqheSB0csOqbiAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiSG/DoG4gdOG6pXQgY2jhuqF5IHbEg24gbOG7h25oIHRyw6puICVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzOQorbXNnaWQgIm9wZW5wdHkgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IGtow7RuZyB0aMOgbmggY8O0bmciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6Njc3Cittc2dpZCAib3V0IG9mIHB0eSdzIgorbXNnc3RyICJo4bq/dCBwdHnigJ0uIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc3NworIywgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIgorbXNnc3RyICJWxINuIGzhu4duaCDEkcOjIGto4bufaSBjaOG6oXksIHThuq1wIHRpbiBsw6AgJXNcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo0NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBbZGl2aXNvcl1cbiIKK21zZ3N0ciAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDgKK21zZ2lkICJQbGF5IGJhY2sgdGVybWluYWwgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbi5cbiIKK21zZ3N0ciAiVHLDrG5oIGRp4buFbiBs4bqhaSB2xINuIGtp4buHbiB0aGnhur90IGLhu4sgY3Xhu5FpLCBkw7luZyB0aMO0bmcgdGluIHRo4budaSBnaWFuLlxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjUxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAgc2NyaXB0IHRpbWluZyBvdXRwdXQgZmlsZVxuIgorIiAtcywgLS10eXBlc2NyaXB0IDxmaWxlPiBzY3JpcHQgdGVybWluYWwgc2Vzc2lvbiBvdXRwdXQgZmlsZVxuIgorIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisiIC1tLCAtLW1heGRlbGF5IDxudW0+ICAgIHdhaXQgYXQgbW9zdCB0aGlzIG1hbnkgc2Vjb25kcyBiZXR3ZWVuIHVwZGF0ZXNcbiIKK21zZ3N0ciAiIgorIiAtdCwgLS10aW1pbmcgPHThuq1wLXRpbj4gIHThuq1wIHRpbiBr4bq/dCB4deG6pXQgdMOtbmggdG/DoW4gdGjhu51pIGdpYW4gc2NyaXB0XG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPHThuq1wLXRpbj4gdOG6rXAgdGluIGvhur90IHh14bqldCBwaGnDqm4gdGhp4bq/dCBi4buLIGN14buRaSBzY3JpcHRcbiIKKyIgLWQsIC0tZGl2aXNvciA8c+G7kT4gICAgICB0xINuZyBob+G6t2MgZ2nhuqNtIHThu5FjIHRoaSBow6BuaCB24bubaSBz4buRIGNoaWFcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPHPhu5E+ICAgICBjaOG7nSBuaGnhu4F1IG5o4bqldCBsw6Agc+G7kSBnacOieSBuw6B5IGdp4buvYSBjw6FjIGzhuqduIGPhuq1wIG5o4bqtdFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTEzCittc2dpZCAid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIKK21zZ3N0ciAibOG7l2kgZ2hpIHbDoG8gxJHhuqd1IHJhIHRpw6p1IGNodeG6qW4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgImfhurdwIGvhur90IHRow7pjIHThuq1wIHRpbiBi4bqldCB0aMaw4budbmcgdHLDqm4gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHR5cGVzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAibOG7l2kgxJHhu41jIHThuq1wIHRpbiBi4bqjbiDEkcOhbmggbcOheSAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxODUKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICJz4buRIMSR4buRaSBz4buRIGtow7RuZyDEkcO6bmciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgxJHhu41jIHThuq1wIHRpbiDEkeG6v20gdGjhu51pIGdpYW4gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IgorbXNnc3RyICJ04bqtcCB0aW4gxJHhur9tIHRo4budaSBnaWFuICVzOiAlbHU6IMSR4buLbmggZOG6oW5nIGLhuqV0IHRoxrDhu51uZyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAibOG7l2kgxJHhu5FpIHPhu5E6IG3hu6ljIHPDoW5nICVzIGzDoCBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAicXXDoSBuaGnhu4F1IHRhYiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIsSQ4bq3dCBjw6FjIHRodeG7mWMgdMOtbmggdGhp4bq/dCBi4buLIGN14buRaS5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiAtLXRlcm0gICAgICAgICAgPHTDqm5fdGhp4bq/dF9i4buLX2N14buRaT4gICBnaGkgxJHDqCBsw6puIGJp4bq/biBtw7RpIHRyxrDhu51uZyBURVJNXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NgorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICDEkeG6t3QgdGhp4bq/dCBi4buLIGN14buRaSB0aMOgbmcgdHLhuqFuZyB0aMOhaSBi4bqtdCDEkWnhu4duXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICDEkeG6t3QgdGhp4bq/dCBi4buLIGN14buRaSB0aMOgbmcgdHLhuqFuZyB0aMOhaSBi4bqtdCDEkWnhu4duXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorbXNnaWQgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iCittc2dzdHIgIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGNodeG7l2kga2jhu59pIHThuqFvLCB2w6AgZMO5bmcgY8OhYyBjw6BpIMSR4bq3dCBt4bq3YyDEkeG7i25oXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorbXNnaWQgIiAtLWRlZmF1bHQgICAgICAgICAgICAgICAgICAgICAgICAgdXNlIGRlZmF1bHQgdGVybWluYWwgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICBkw7luZyBjw6FjIGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyBjdeG7kWkgbeG6t2MgxJHhu4tuaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgbMawdSBjw6BpIMSR4bq3dCB0aGnhur90IGLhu4sgY3Xhu5FpIGhp4buHbiBuYXkgbMOgbSBt4bq3YyDEkeG7i25oXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBoaeG7g24gdGjhu4sgY29uIHRy4buPXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MgorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAgbOG6t3AgYsOgbiBwaMOtbVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGNo4bq/IMSR4buZIGtow7NhIGNvbiB0cuG7jyDhu6luZyBk4bulbmdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICB0aeG6v3AgdOG7pWMgdHLDqm4gZMOybmcgbeG7m2kga2hpIGTDsm5nIMSRw6MgxJHhuqd5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NQorbXNnaWQgIiAtLWludmVyc2VzY3JlZW4gW29ufG9mZl0gICAgICAgICAgc3dhcCBjb2xvcnMgZm9yIHRoZSB3aG9sZSBzY3JlZW5cbiIKK21zZ3N0ciAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICB0csOhbyDEkeG7lWkgbcOgdSBjaG8gdG/DoG4gYuG7mSBtw6BuIGjDrG5oXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIC0tZm9yZWdyb3VuZCAgICBkZWZhdWx0fDxtw6B1PiAgICAgxJHhurd0IG3DoHUgdGnhu4FuIGPhuqNuaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWJhY2tncm91bmQgICAgZGVmYXVsdHw8bcOgdT4gICAgIMSR4bq3dCBtw6B1IGjhuq11IGPhuqNuaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTgKK21zZ2lkICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0tdWxjb2xvciAgICAgICBbc8OhbmddIDxtw6B1PiAgICAgIMSR4bq3dCBtw6B1IGNo4buvIGfhuqFjaCBjaMOiblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTkKK21zZ2lkICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCBib2xkIHRleHQgY29sb3JcbiIKK21zZ3N0ciAiIC0taGJjb2xvciAgICAgICBbc8OhbmddIDxtw6B1PiAgICAgIMSR4bq3dCBtw6B1IGNo4buvIMSR4bqtbVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDAKK21zZ2lkICIgICAgICAgICAgICAgICAgIDxjb2xvcj46IGJsYWNrIGJsdWUgY3lhbiBncmVlbiBncmV5IG1hZ2VudGEgcmVkIHdoaXRlIHllbGxvd1xuIgorbXNnc3RyICIiCisiICAgICAgICAgICAgICAgICA8bcOgdT4gbMOgOiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKKyIgICAgICAgICAgICAgICAgIMSRZW4sIHhhbmggZMawxqFuZywgeGFuaCBuZ+G7jWMsIHhhbmggbMOhLCB4w6FtLCDEkeG7jyB0aOG6r20sIMSR4buPLCB0cuG6r25nLCB2w6BuZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKK21zZ2lkICIgLS1ib2xkICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGJvbGRcbiIKK21zZ3N0ciAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICDEkeG6rW1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAyCittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBnaeG6o20gc8OhbmdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAzCittc2dpZCAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICBibGlua1xuIgorbXNnc3RyICIgLS1ibGluayAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIG5o4bqlcCBuaMOheVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKK21zZ2lkICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIHVuZGVybGluZVxuIgorbXNnc3RyICIgLS11bmRlcmxpbmUgICAgIFtvbnxvZmZdICAgICAgICAgIGfhuqFjaCBjaMOiblxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDUKK21zZ2lkICIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIKK21zZ3N0ciAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICB0csOhbyDEkeG7lWkgbcOgdSB0aeG7gW4gY+G6o25oIHbDoCBo4bqtdSBj4bqjbmhcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2Cittc2dpZCAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICBjbGVhciBzY3JlZW4gYW5kIHNldCBjdXJzb3IgcG9zaXRpb25cbiIKK21zZ3N0ciAiIC0tY2xlYXIgICAgICAgICBbYWxsfHJlc3RdICAgICAgICB4w7NhIG3DoG4gaMOsbmggdsOgIMSR4bq3dCB24buLIHRyw60gY29uIHRy4buPXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAtLXRhYnMgICAgICAgICAgWzxz4buRPuKApl0gICAgICAgICAgIMSR4bq3dCBjw6FjIHbhu4sgdHLDrSBk4burbmcgdGFiIGhp4buDbiB0aOG7iyBjaMO6bmdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIgLS1jbHJ0YWJzICAgICAgIFs8c+G7kT7igKZdICAgICAgICAgICB4w7NhIGPDoWMgxJFp4buDbSBk4burbmcgdGFiLCBob+G6t2MgdOG6pXQgY+G6o1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDkKK21zZ2lkICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIHNldCBhIHJlZ3VsYXIgdGFiIHN0b3AgaW50ZXJ2YWxcbiIKK21zZ3N0ciAiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICDEkeG6t3QgbeG7mXQgbmjhu4twIGThu6tuZyB0YWIgdGjDtG5nIHRoxrDhu51uZ1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSDEkeG6t3QgdGjhu51pIGdpYW4ga2jDtG5nIGTDuW5nIHRyxrDhu5tjIGtoaSB4w7NhIHRy4bqvbmcgbcOgbiBow6xuaFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTEKK21zZ2lkICIgLS1kdW1wICAgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIHdyaXRlIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1kdW1wICAgICAgICAgIFs8c+G7kT5dICAgICAgICAgICAgZ2hpIMSR4buVIHRoaeG6v3QgYuG7iyBjdeG7kWkgdmNzYTxz4buRPiByYSB04bqtcCB0aW5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiAtLWFwcGVuZCAgICAgICAgWzxz4buRPl0gICAgICAgICAgICBu4buRaSB0aMOqbSDEkeG7lSB0aGnhur90IGLhu4sgY3Xhu5FpIHZjc2E8c+G7kT4gcmEgdOG6rXAgdGluXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMworbXNnaWQgIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iCittc2dzdHIgIiAtLWZpbGUgICAgICAgICAgPHTDqm5fdOG6rXBfdGluPiAgICAgdMOqbiB04bqtcCB0aW4gY+G6p24gxJHhu5VcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgZ+G7rWkgbOG7nWkgbmjhuq9uIGjhuqF0IG5ow6JuIHJhIHRoaeG6v3QgYuG7iyDEkWnhu4F1IGtoaeG7g25cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE1Cittc2dpZCAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBrZXJuZWwgY29uc29sZSBsb2cgbGV2ZWxcbiIKK21zZ3N0ciAiIC0tbXNnbGV2ZWwgICAgICAwLTggICAgICAgICAgICAgICBt4bupYyBnaGkgbmjhuq10IGvDvSBuaMOibiB0aGnhur90IGLhu4sgxJFp4buBdSBraGnhu4NuXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDEkeG6t3QgdMOtbmggbsSDbmcgdGnhur90IGtp4buHbSDEkWnhu4duIHZlc2FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIMSR4bq3dCBraG/huqNuZyBuaOG7i3AgdOG6r3Qgbmd14buTbiB2ZXNhIHTDrW5oIHRoZW8gcGjDunRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5Cittc2dpZCAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICDEkeG7mSBkw6BpIGNodcO0bmcgdMOtbmggdGhlbyBtaS1saS1nacOieVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiAtLWJmcmVxICAgICAgICAgPHPhu5E+ICAgICAgICAgICAgICB04bqnbiBz4buRIGNodcO0bmcgdMOtbmggYuG6sW5nIEhlcnR6XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICJ0csO5bmcgdMO5eSBjaOG7jW4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMOhcCBideG7mWMgxJHhu4MgdHLhu5FuZyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgImtow7RuZyB0aOG7gyDDoXAgYnXhu5ljIGtow7RuZyDEkeG7gyB0cuG7kW5nIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NTEKK21zZ2lkICJjYW5ub3QgZ2V0IGJsYW5rIHN0YXR1cyIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRy4bqhbmcgdGjDoWkgdOG7qyBkw7JuZyB0cuG7kW5nIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGR1bXAgZmlsZSAlcyBmb3Igb3V0cHV0IgorbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gZHVtcCAlcyDEkeG7gyB4deG6pXQgcmEiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjgxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICJ0aGnhur90IGLhu4sgY3Xhu5FpICVzIGtow7RuZyBo4buXIHRy4bujICVzIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4NTcKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAic2VtY3RsIGLhu4sgbOG7l2kiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworIywgZnV6enkKK21zZ2lkICJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIgorbXNnc3RyICIlcyDEkcSDbmcgbmjhuq1wIGLhu4sgdOG7qyBjaOG7kWkgdHLDqm4gdGhp4bq/dCBi4buLIGN14buRaSBuw6B5LlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY3Vyc29yIHBvc2l0aW9uOiAlcyIKK21zZ3N0ciAidMO5eSBjaOG7jW4gc2FpIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MzMKKyMsIGZ1enp5Cittc2dpZCAicmVzZXQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQga2jDtG5nIHRow6BuaCBjw7RuZyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICJraMO0bmcgIMSR4bq3dCAoYuG7jykgxJHGsOG7o2MgY2jhur8gxJHhu5kgdGnhur90IGtp4buHbSDEkWnhu4duIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTE2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExMjUKK21zZ2lkICJrbG9nY3RsIGVycm9yIgorbXNnc3RyICJs4buXaSBrbG9nY3RsIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTQ2Cittc2dpZCAiJFRFUk0gaXMgbm90IGRlZmluZWQuIgorbXNnc3RyICIkVEVSTSBjaMawYSDEkcaw4bujYyDEkeG7i25oIG5naMSpYS4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNTMKK21zZ2lkICJ0ZXJtaW5mbyBkYXRhYmFzZSBjYW5ub3QgYmUgZm91bmQiCittc2dzdHIgImPGoSBz4bufIGThu68gbGnhu4d1IHRlcm1pbmZvIGtow7RuZyB0aOG7gyB0w6xtIHRo4bqleSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlczoga2jDtG5nIGhp4buDdSBraeG7g3UgdGhp4bq/dCBi4buLIGN14buRaSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NworbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICJ0aGnhur90IGLhu4sgY3Xhu5FpIGzDoCBtw6F5IGluIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAibOG7l2kgbuG7mWkgYuG7mTogcXXDoSBuaGnhu4F1IGlvduKAnS4iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIKK21zZ3N0ciAiZMOybmcgxJHhu5FpIHPhu5EgcXXDoSBkw6BpIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjEwOAorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIG3hu58iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJy4bq9IG5ow6FuaCB0aeG6v24gdHLDrG5oOiAlbSIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZvcmsiCittc2dzdHIgImtow7RuZyB0aOG7gyBwaMOibiBuaMOhbmgiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCQUQgRVJST1IsIG1lc3NhZ2UgaXMgZmFyIHRvbyBsb25nIgorbXNnc3RyICIlczogTOG7lkkgWOG6pFUsIHRow7RuZyDEkWnhu4dwIHF1w6EgZMOgaSIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IHwgPG1lc3NhZ2U+XVxuIgorbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIFs8dOG6rXAtdGluPiB8IDxtZXNzYWdlPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICJWaeG6v3QgbOG7nWkgbmjhuq9uIGNobyBt4buNaSBuZ8aw4budaSBkw7luZy5cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA8bmjDs20+ICAgICAgICAgICAgICBjaOG7iSDEkeG7i25oIG5ow7NtIGNow61uaFxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MworbXNnaWQgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCittc2dzdHIgIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBraMO0bmcgaW4gbOG7nWkgY2jDoG8sIGNo4buJIGzDoG0gdmnhu4djIHbhu5tpIHJvb3RcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDxnacOieT4gICAgdGjhu51pIGdpYW4gY2jhu50gdOG7kWkgxJFhIGtoaSBnaGkgdMOtbmggYuG6sW5nIGdpw6J5XG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyMgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IgorbXNnc3RyICJ0aGFtIHPhu5EgdOG7kWMgxJHhu5kga2jDtG5nIGjhu6NwIGzhu4ciCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjEyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVua25vd24gZ2lkIgorbXNnc3RyICIlYzoga2jDtG5nIGhp4buDdSBjw6J1IGzhu4duaCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjEzCittc2dpZCAiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIKK21zZ3N0ciAiLS1ub2Jhbm5lciBjaOG7iSBkw6BuaCBjaG8gcm9vdCIKKworIzogdGVybS11dGlscy93YWxsLmM6MjE4CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgIsSR4buRaSBz4buRIMSR4bq3dCBjaG8gcXXDoSBnaeG7nSBraMO0bmcgaOG7o3AgbOG7hzogJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHVpZCBt4bqtdCBraOG6qXUiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgImtow7RuZyBs4bqleSDEkcaw4bujYyB0w6puIHR0eSIKKworIzogdGVybS11dGlscy93YWxsLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAiVGluIG5o4bqvbiBxdeG6o25nIGLDoSB04burICVzQCVzICglcykgKCVzKToiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxNQorIywgYy1mb3JtYXQKK21zZ2lkICJ3aWxsIG5vdCByZWFkICVzIC0gdXNlIHN0ZGluLiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIMSR4buNYyAlcyAtIHPhu60gZOG7pW5nIMSR4bqndSB2w6BvIGNodeG6qW4gc3RkaW4uIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8dMOgaSBraG/huqNuIG5nxrDhu51pIGTDuW5nPiBbPHTDqm4gdHR5Pl1cbiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjkxCittc2dpZCAiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIgorbXNnc3RyICJH4butaSBs4budaSBuaOG6r24gxJHhur9uIG5nxrDhu51pIGtow6FjLlxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyBjaMawYSDEkcSDbmcgbmjhuq1wIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjA2Cittc2dpZCAiY2FuJ3QgZmluZCB5b3VyIHR0eSdzIG5hbWUiCittc2dzdHIgImtow7RuZyB0aOG7gyB0w6xtIHTDqm4gdHR5IGPhu6dhIGLhuqFuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGhhcyBtZXNzYWdlcyBkaXNhYmxlZCIKK21zZ3N0ciAiJXMgY8OzIGPDoWMgdGjDtG5nIMSRaeG7h3AgYuG7iyB04bqvdCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiCittc2dzdHIgIiVzIMSRxINuZyBuaOG6rXAgbmhp4buBdSBoxqFuIG3hu5l0IGzhuqduLCDEkWFuZyBnaGkgdsOgbyAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIzNworbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMgZ+G6t3AgbOG7l2kiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyNzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIlRpbiBuaOG6r24gdOG7qyAlc0AlcyAobmjGsCAlcykgdHLDqm4gJXMgbMO6YyAlcyDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICJUaW4gbmjhuq9uICVzQCVzIHTDqm4gJXMgbMO6YyAlcyDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKK21zZ2lkICJ5b3UgaGF2ZSB3cml0ZSBwZXJtaXNzaW9uIHR1cm5lZCBvZmYiCittc2dzdHIgInF1eeG7gW4gZ2hpIGPhu6dhIGLhuqFuIMSRw6MgYuG7iyB04bqvdCIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIG9uICVzIgorbXNnc3RyICIlcyBraMO0bmcgxJHGsOG7o2MgxJHEg25nIG5o4bqtcCB0csOqbiAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiCittc2dzdHIgIiVzIGPDsyBjw6FjIHRow7RuZyDEkWnhu4dwIGLhu4sgdOG6r3QgdHLDqm4gJXMiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM1Cittc2dpZCAiRmlsdGVyIG91dCByZXZlcnNlIGxpbmUgZmVlZHMuXG4iCittc2dzdHIgIkzhu41jIHJhIG5nxrDhu6NjIHRo4bupIHThu7EgZMOybmcgxJHhuqd1IHbDoG8uXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICBwZXJtaXQgZm9yd2FyZCBoYWxmIGxpbmUgZmVlZHNcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICBwYXNzIHVua25vd24gY29udHJvbCBzZXF1ZW5jZXNcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAgY29udmVydCB0YWJzIHRvIHNwYWNlc1xuIgorIiAtbCwgLS1saW5lcyBOVU0gICAgICAgIGJ1ZmZlciBhdCBsZWFzdCBOVU0gbGluZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIkPDoWMgdMO5eSBjaOG7jW46XG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAga2jDtG5nIGvhur90IHh14bqldCBiYWNrc3BhY2VzXG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAgY2hvIHBow6lwIGNodXnhu4NuIHRp4bq/cCBu4butYSBkw7JuZ1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIGNodXnhu4NuIGTDo3kgxJFp4buBdSBraGnhu4NuIGNoxrBhIGhp4buDdVxuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNodXnhu4NuIMSR4buVaSBraG/huqNuZyB0cuG6r25nIHRow6BuaCB0YWJcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjaHV54buDbiDEkeG7lWkgdGFiIHRow6BuaCBraG/huqNuZyB0cuG6r25nXG4iCisiIC1sLCAtLWxpbmVzIFPhu5AgICAgICAgICDEkeG7h20gw610IG5o4bqldCBsw6AgU+G7kCBkw7JuZ1xuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1MSB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzIMSR4buNYyB04burIMSR4bqndSB2w6BvIHRpw6p1IGNodeG6qW4gdsOgIGdoaSByYSDEkeG6p3UgcmEgdGnDqnUgY2h14bqpblxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxNQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgLWwgc2FpIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAiY+G6o25oIGLDoW86IGtow7RuZyBzYW8gbMawdSDEkcaw4bujYyAlcy4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICLEkWkgcXVhIGTDsm5nIGN14buRaSBjw7luZyIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDUKK21zZ2lkICItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIKK21zZ3N0ciAiLS0gZMOybmcgxJHDoyDEkcaw4bujYyDEkeG6qXkgdsOgbyDEkcSpYSIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSBbPFThuqxQX1RJTj4g4oCmXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIkzhu41jIGvhur90IHh14bqldCBucm9mZiBjaG8geGVtIHRyxrDhu5tjIENSVC5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OAorbXNnaWQgIiAtLCAgLS1uby11bmRlcmxpbmluZyAgICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKK21zZ3N0ciAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHRodSBo4buTaSBn4bqhY2ggY2jDom5cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorbXNnaWQgIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorbXNnc3RyICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgaW4gbeG7jWkgbuG7rWEtZMOybmdcbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjYwCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisiQ8OhY2ggZMO5bmc6XG4iCisiJXMgW2Phu5l0IMSR4bqndSBbY+G7mXQgY3Xhu5FpXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIkzhu41jIHJhIGPDoWMgY+G7mXQgxJHDoyBjaG8uXG4iCisKKyM6IHRleHQtdXRpbHMvY29scm0uYzoxODUKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAixJHhu5FpIHPhu5EgxJHhuqd1IHRpw6puIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3Cittc2dpZCAic2Vjb25kIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSB0aOG7qSBoYWkiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjM1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4iCittc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIGzhu5twIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciCittc2dzdHIgImNoxrBhIMSR4buLbmggbmdoxKlhIMSRaeG7g20gZ+G6r24iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIC0tdGltZW91dCAoY2jhu50gdOG7kWkgxJFhKSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozOTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2ggYuG6r3QgxJHhuqd1IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS10cnVuYyBsaXN0IgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCAtLXRpbWVvdXQgKGNo4budIHThu5FpIMSRYSkiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICJs4buXaSBwaMOibiB0w61jaCAtLXRpbWVvdXQgKGNo4budIHThu5FpIMSRYSkiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXdyYXAgbGlzdCIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kgcGjDom4gdMOtY2ggYuG6r3QgxJHhuqd1IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQxMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiCittc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIC0tdGltZW91dCAoY2jhu50gdOG7kWkgxJFhKSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIGLhu5UgYuG6o25nIGvhur90IHh14bqldCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2MzcKK21zZ2lkICJDb2x1bW5hdGUgbGlzdHMuXG4iCittc2dzdHIgIlThuqFvIGPDoWMgZGFuaCBzw6FjaCBjw6FjIGPhu5l0LlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICB04bqhbyBt4buZdCBi4bqjbmdcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLXRhYmxlLW5hbWUgPG5hbWU+ICAgICAgICAgIHRhYmxlIG5hbWUgZm9yIEpTT04gb3V0cHV0XG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDx0w6puX2NoxrDGoW5nX3Ryw6xuaD4gdMOqbiBtw6AgYuG7iyBiw6FvIGPDoW8gbOG7l2lcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPGPhu5l0PiAgICAgc+G6r3AgeOG6v3Aga+G6v3QgeHXhuqV0IHRoZW8gPGPhu5l0PlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MworIywgZnV6enkKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPGQuc8OhY2g+IGRhbmggc8OhY2ggxJHhu4tuaCBnaeG7m2kgYuG6sW5nIGThuqV1IHBo4bqpeSBj4bunYSBjw6FjIHTDuXkgY2jhu41uIHRyw6FvIMSR4buVaVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NAorbXNnaWQgIiAtRSwgLS10YWJsZS1ub2V4dHJlbWUgPGNvbHVtbnM+ICBkb24ndCBjb3VudCBsb25nIHRleHQgZnJvbSB0aGUgY29sdW1ucyB0byBjb2x1bW4gd2lkdGhcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tdGFibGUtbm9oZWFkaW5ncyAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGVyXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGtow7RuZyBpbiBwaOG6p24gxJHhuqd1XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHBo4bqnbiDEkeG6p3UgY+G7p2EgY+G7mXRcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDgKK21zZ2lkICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVtbnM+ICAgICAgcmlnaHQgYWxpZ24gdGV4dCBpbiB0aGVzZSBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhYmxlLXRydW5jYXRlIDxjb2x1bW5zPiAgIHRydW5jYXRlIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgxJHhu6tuZyBj4bqvdCBuZ+G6r24gdHJvbmcgY8OhYyBj4buZdFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MAorbXNnaWQgIiAtVywgLS10YWJsZS13cmFwIDxjb2x1bW5zPiAgICAgICB3cmFwIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1MQorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdCBmb3IgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIGTDuW5nIMSR4buLbmggZOG6oW5nIHRow7QgY2hvIGvhur90IHh14bqldCAtLWxpc3RcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXRyZWUgPGNvbHVtbj4gICAgICAgICAgICAgIGNvbHVtbiB0byB1c2UgdHJlZS1saWtlIG91dHB1dCBmb3IgdGhlIHRhYmxlXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPGPhu5l0PiAgICAgICAgICAgIGNo4buJIMSR4buLbmggY+G7mXQgc+G6vSBoaeG7g24gdGjhu4sgY2hvIC0tbGlzdFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICBjaOG7iSDEkeG7i25oIGNvbiBz4buRIGlycSBjaG8gY+G7lW5nIHNvbmcgc29uZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iCittc2dzdHIgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIGNo4buJIMSR4buLbmggc+G7kSBwaMOibiB2w7luZ1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYywgLS1jb2x1bW5zIDxy4buZbmc+ICAgICDEkeG7mSBy4buZbmcga8O9IHThu7Ega+G6v3QgeHXhuqV0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+ICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0IChkZWZhdWx0IGlzIHR3byBzcGFjZXMpXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8Y2h14buXaT5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGNodeG7l2kgZMO5bmcgxJHhu4MgbmfEg24gY8OhY2ggY+G7mXQga+G6v3QgeHXhuqV0IGLhuqNuZywgbeG6t2MgxJHhu4tuaCBsw6AgaGFpIGThuqV1IGPDoWNoXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gICAgICAgICBwb3NzaWJsZSB0YWJsZSBkZWxpbWl0ZXJzXG4iCittc2dzdHIgIiAtcywgLS1zZXBhcmF0b3IgPGNodeG7l2k+ICBk4bqldSBnaeG7m2kgaOG6oW4gYuG6o25nIGPDsyB0aOG7g1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgxJFp4buBbiDEkeG6p3kgY8OhYyBow6BuZyB0csaw4bubYyBjw6FjIGPhu5l0XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICLEkeG7kWkgc+G7kSBj4buZdCBraMO0bmcgaOG7o3AgbOG7hyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAibOG7l2kgcGjDom4gdMOtY2ggbOG7m3AiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODExCittc2dpZCAib3B0aW9ucyAtLXRyZWUtaWQgYW5kIC0tdHJlZS1wYXJlbnQgYXJlIHJlcXVpcmVkIGZvciB0cmVlIGZvcm1hdHRpbmciCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTkKK21zZ2lkICJvcHRpb24gLS10YWJsZSByZXF1aXJlZCBmb3IgYWxsIC0tdGFibGUtKiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgyMgorbXNnaWQgIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTYgdGV4dC11dGlscy9tb3JlLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBbVFXhu7JfQ0jhu4xOXSA8VOG6rFBfVElOPuKAplxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiSGnhu4NuIHRo4buLIG7hu5lpIGR1bmcgY+G7p2EgdOG6rXAgdGluIOG7nyBk4bqhbmcgdGjhuq1wIGzhu6VjIHBow6JuLCB0aOG6rXAgcGjDom4sIGLDoXQgcGjDom4gaGF5IGFzY2lpLlxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtYiwgLS1vbmUtYnl0ZS1vY3RhbCAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgYsOhdCBwaMOibiBt4buZdC1ieXRlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2MworbXNnaWQgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCittc2dzdHIgIiAtYywgLS1vbmUtYnl0ZS1jaGFyICAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcga8O9IHThu7EgbeG7mXQtYnl0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgaGnhu4NuIHRo4buLIGNhbm9uaWNhbCBk4bqhbmcgaGV4K0FTQ0lJXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NQorbXNnaWQgIiAtZCwgLS10d28tYnl0ZXMtZGVjaW1hbCAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICBoaeG7g24gdGjhu4sgZOG6oW5nIHRo4bqtcCBwaMOibiBoYWktYnl0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgYsOhdCBwaMOibiBoYWktYnl0ZVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjcKK21zZ2lkICIgLXgsIC0tdHdvLWJ5dGVzLWhleCAgICAgICB0d28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XG4iCittc2dzdHIgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgdGjhuq1wIGzhu6VjIHBow6JuIGhhaS1ieXRlXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz08bcOgdT5dICAgICAgIHBoacOqbiBk4buLY2ggxJHhurdjIHThuqMgxJHhu4tuaCBk4bqhbmcgbcOgdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBjaHXhu5dpIMSR4buLbmggZOG6oW5nIGTDuW5nIMSR4buDIGhp4buDbiB0aOG7iyBk4buvIGxp4buHdVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzIKK21zZ2lkICIgLWYsIC0tZm9ybWF0LWZpbGUgPGZpbGU+ICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvcm1hdC1maWxlIDx04bqtcC10aW4+IHThuq1wIHRpbiBtw6AgY2jhu6lhIGNodeG7l2kgxJHhu4tuaCBk4bqhbmdcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTczCittc2dpZCAiIC1uLCAtLWxlbmd0aCA8bGVuZ3RoPiAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCittc2dzdHIgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGNo4buJIGTDuW5nIHPhu5EgYnl0ZSBuw6B5IHThu6sgxJHhuqd1IHbDoG9cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc0Cittc2dpZCAiIC1zLCAtLXNraXAgPG9mZnNldD4gICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCittc2dzdHIgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIGLhu48gcXVhIGPDoWMgYnl0ZSB0w61uaCB04burIMSR4bqndVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzUKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAtdiwgLS1uby1zcXVlZXppbmcgICAgICAgIHh14bqldCBjw6FjIGTDonkgdHLDuW5nIG5oYXVcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICJ0b8OgbiBi4buZIMSR4buRaSBz4buRIHThuq1wIHRpbiBr4bq/dCB4deG6pXQgc2FpIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo1NQorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgYnl0ZSBzYWkgY2hvIGvDvSB04buxIGNodXnhu4NuIMSR4buVaSAlcyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIHnDqnUgY+G6p3UgxJHhu5kgY2jDrW5oIHjDoWMgaG/hurdjIG3hu5l0IHPhu5EgxJHhur9tIGJ5dGUiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjY1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAixJHhu4tuaCBk4bqhbmcgc2FpIHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIgorbXNnc3RyICJrw70gdOG7sSBjaHV54buDbiDEkeG7lWkgc2FpICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorbXNnaWQgImJ5dGUgY291bnQgd2l0aCBtdWx0aXBsZSBjb252ZXJzaW9uIGNoYXJhY3RlcnMiCittc2dzdHIgInPhu5EgbMaw4bujbmcgYnl0ZSB24bubaSBjw6FjIGvDvSB04buxIMSRYSBjaHV54buDbiDEkeG7lWkiCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjM0Cittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAixJDhu41jIG3hu5l0IGTDsm5nLlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICJN4buZdCB04bqtcCB0aW4gcGVydXNhbCBs4buNYyBjaG8geGVtIENSVC5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgdGhheSB2w6wgcnVuZyBjaHXDtG5nXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgxJHhur9tIGzDtC1nw61jIHRoYXkgY2hvIGPDoWMgZMOybmcgbcOgbiBow6xuaFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDAKK21zZ2lkICIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iCittc2dzdHIgIiAtbCAgICAgICAgICBraMO0bmcgdOG6oW0gZOG7q25nIHNhdSBraGkgcXVheSB24buBIHThu6sg4oCcZm9ybeKAnVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDEKK21zZ2lkICIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgIMSR4burbmcgY3Xhu5luLCBoaeG7g24gdGjhu4sgY2jhu68gdsOgIHjDs2EgxJHhur9uIGN14buRaSBkw7JuZ1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKK21zZ2lkICIgLXAgICAgICAgICAgZG8gbm90IHNjcm9sbCwgY2xlYW4gc2NyZWVuIGFuZCBkaXNwbGF5IHRleHRcbiIKK21zZ3N0ciAiIC1wICAgICAgICAgIMSR4burbmcgY3Xhu5luLCB4w7NhIG3DoG4gaMOsbmggdsOgIGhp4buDbiB0aOG7iyBjaOG7r1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDMKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgbsOpbiBuaGnDqnUgZMOybmcgdHLhu5FuZyB0aMOgbmggbeG7mXRcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICB0aHUgaOG7k2kgZ+G6oWNoIGNow6JuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorbXNnaWQgIiAtPG51bWJlcj4gICB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKK21zZ3N0ciAiIC08c+G7kT4gICAgICAgc+G7kSBsxrDhu6NuZyBkw7JuZyB0csOqbiB0b8OgbiBtw6BuIGjDrG5oXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiICs8c+G7kT4gICAgICBoaeG7g24gdGjhu4sgdOG6rXAgdGluIGLhuq90IMSR4bqndSB04burIGTDsm5nIDxz4buRPlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiICsvPGNodeG7l2k+ICAgaGnhu4NuIHRo4buLIHThuq1wIHRpbiBi4bqvdCDEkeG6p3UgdOG7qyBjaOG7lyB0w6xtIHRo4bqleSBjaHXhu5dpIG7DoHlcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAia2jDtG5nIGJp4bq/dCB0w7l5IGNo4buNbiAtJXMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqICVzOiBkaXJlY3RvcnkgKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKiogJXM6IHRoxrAgbeG7pWMgKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiKioqKioqKiogJXM6IE5vdCBhIHRleHQgZmlsZSAqKioqKioqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioqKioqKiogJXM6IEtow7RuZyBwaOG6o2kgdOG6rXAgdGluIHbEg24gYuG6o24gKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJbU+G7rSBk4bulbmcgcSBob+G6t2MgUSDEkeG7gyB0aG/DoXRdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0tQ8OybiBu4buvYS0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIoVOG6rXAgdGluIHRp4bq/cCB0aGVvOiAlcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIltOaOG6pW4gcGjDrW0gdHLhuq9uZyDEkeG7gyB0aeG6v3AgdOG7pWMsIOKAnHHigJ0gxJHhu4MgdGhvw6F0XSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE4MworIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIuKApnF1YXkgbOG6oWkgJWQgdHJhbmciCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIuKApmLhu48gcXVhICVkIGTDsm5nIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMjY5Cittc2dpZCAiIgorIlxuIgorIioqKkJhY2sqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKlF1YXkgbOG6oWkqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTI4NAorbXNnaWQgIk5vIHByZXZpb3VzIHJlZ3VsYXIgZXhwcmVzc2lvbiIKK21zZ3N0ciAiS2jDtG5nIGPDsyBiaeG7g3UgdGjhu6ljIGNow61uaCBxdXkgxJFpIHRyxrDhu5tjIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzE0Cittc2dpZCAiIgorIlxuIgorIk1vc3QgY29tbWFuZHMgb3B0aW9uYWxseSBwcmVjZWRlZCBieSBpbnRlZ2VyIGFyZ3VtZW50IGsuICBEZWZhdWx0cyBpbiBicmFja2V0cy5cbiIKKyJTdGFyICgqKSBpbmRpY2F0ZXMgYXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC5cbiIKK21zZ3N0ciAiIgorIlxuIgorIkPDsyB0aOG7gyB0aMOqbSBt4buZdCB0aGFtIHPhu5Egc+G7kSBuZ3V5w6puIHbDoG8gdHLGsOG7m2MgaOG6p3UgaOG6v3QgY8OhYyBjw6J1IGzhu4duaC4gIE3hurdjIMSR4buLbmggxJHhurd0dHJvbmcgZOG6pXUgbmdv4bq3YyDEkcahbi5cbiIKKyJE4bqldSBzYW8gKCopIGNobyBiaeG6v3QgdGhhbSBz4buRIHPhur0gdGjDoG5oIG3hurdjIMSR4buLbmggbeG7m2kuXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMjEKK21zZ2lkICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKyJkIG9yIGN0cmwtRCAgICAgICAgICAgICBTY3JvbGwgayBsaW5lcyBbY3VycmVudCBzY3JvbGwgc2l6ZSwgaW5pdGlhbGx5IDExXSpcbiIKKyJxIG9yIFEgb3IgPGludGVycnVwdD4gICBFeGl0IGZyb20gbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAgU2tpcCBmb3J3YXJkIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorImIgb3IgY3RybC1CICAgICAgICAgICAgIFNraXAgYmFja3dhcmRzIGsgc2NyZWVuZnVscyBvZiB0ZXh0IFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyXG4iCisiLzxyZWd1bGFyIGV4cHJlc3Npb24+ICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKyIhPGNtZD4gb3IgOiE8Y21kPiAgICAgICBFeGVjdXRlIDxjbWQ+IGluIGEgc3Vic2hlbGxcbiIKKyJ2ICAgICAgICAgICAgICAgICAgICAgICBTdGFydCB1cCAvdXNyL2Jpbi92aSBhdCBjdXJyZW50IGxpbmVcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIG5leHQgZmlsZSBbMV1cbiIKKyI6cCAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggcHJldmlvdXMgZmlsZSBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIFJlcGVhdCBwcmV2aW91cyBjb21tYW5kXG4iCittc2dzdHIgIiIKKyI8c3BhY2U+ICAgICAgICAgICAgICAgICBIaeG7h24gayBkw7JuZyB2xINuIGLhuqNuIHRp4bq/cCB0aGVvIFtrw61jaCBj4buhIG3DoG4gaMOsbmggaGnhu4duIHRo4budaV1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICBIaeG7g24gdGjhu4sgayBkw7JuZyB2xINuIGLhuqNuIHRp4bq/cCB0aGVvIFtrw61jaCBj4buhIG3DoG4gaMOsbmggaGnhu4duIHThuqFpXSpcbiIKKyI8cmV0dXJuPiAgICAgICAgICAgICAgICBIaeG7g24gdGjhu4sgayBkw7JuZyB2xINuIGLhuqNuIHRp4bq/cCB0aGVvIFsxXSpcbiIKKyJkIGhv4bq3YyBjdHJsLUQgICAgICAgICAgIEN14buZbiBrIGTDsm5nIFtrw61jaCBj4buhIGN14buZbiBoaeG7h24gdOG6oWksIGJhbiDEkeG6p3UgbMOgIDExXSpcbiIKKyJxIGhv4bq3YyBRIGhheSA8aW50ZXJydXB0PiAgIFRob8OhdCBraOG7j2kgbW9yZVxuIgorInMgICAgICAgICAgICAgICAgICAgICAgIELhu48gcXVhIGsgZMOybmcgdsSDbiBi4bqjbiBbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICBC4buPIHF1YSBrIG3DoG4gaMOsbmggdsSDbiBi4bqjbiBbMV1cbiIKKyJiIGhv4bq3YyBjdHJsLUIgICAgICAgICAgIE5o4bqjeSBuZ8aw4bujYyBs4bqhaSBrIG3DoG4gaMOsbmggdsSDbiBi4bqjbiBbMV1cbiIKKyLigJwgICAgICAgICAgICAgICAgICAgICAgIMSQaSB04bubaSBuxqFpIHRyxrDhu5tjIGtoaSBi4bqvdCDEkeG6p3UgdMOsbSBraeG6v21cbiIKKyI9ICAgICAgICAgICAgICAgICAgICAgICBIaeG7g24gdGjhu4sgc+G7kSB0aOG7qSB04buxIGTDsm5nIGhp4buHbiB04bqhaVxuIgorIi88Ymnhu4N1IHRo4bupYyBjaMOtbmggcXV5PiAgVMOsbSBraeG6v20gbOG6p24geHXhuqV0IGhp4buHbiB0aOG7qSBrIGPhu6dhIGJp4buDdSB0aOG7qWMgWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAgVMOsbSBraeG6v20gbOG6p24geHXhuqV0IGhp4buHbiB0aOG7qSBrIGPhu6dhIGJp4buDdSB0aOG7qWMgY3Xhu5FpIGPDuW5nIFsxXVxuIgorIiE8bOG7h25oPiBob+G6t2MgOiE8bOG7h25oPiAgIFRo4buxYyBoaeG7h24gPGzhu4duaD4gdHJvbmcgbeG7mXQgaOG7hyB24buPIGNvblxuIgorInYgICAgICAgICAgICAgICAgICAgICAgIENo4bqheSAvdXNyL2Jpbi92aSB04bqhaSBkw7JuZyBoaeG7h24gdOG6oWlcbiIKKyJjdHJsLUwgICAgICAgICAgICAgICAgICBW4bq9IGzhuqFpIG3DoG4gaMOsbmhcbiIKKyI6biAgICAgICAgICAgICAgICAgICAgICDEkGkgdOG7m2kgdOG6rXAgdGluIHRo4bupIGsgdGnhur9wIHRoZW8gWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgxJBpIHThu5tpIHThuq1wIHRpbiB0aOG7qSBrIHBow61hIHRyxrDhu5tjIFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIEhp4buDbiB0aOG7iyB0w6puIHThuq1wIHRpbiBoaeG7h24gdOG6oWkgdsOgIHPhu5EgdGjhu6kgdOG7sSBkw7JuZ1xuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIEzhurdwIGzhuqFpIGPDonUgbOG7h25oIHbhu6thIHRo4buxYyBoaeG7h25cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM5NCB0ZXh0LXV0aWxzL21vcmUuYzoxNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJbSMOjeSBuaOG6pW4g4oCcaOKAnSDEkeG7gyB4ZW0gY2jhu4kgZOG6q24uXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAiXCIlc1wiIGTDsm5nICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJbS2jDtG5nIHBo4bqjaSB04bqtcCB0aW5dIGTDsm5nICVkIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIELhu4sgdHLDoG5cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU2NAorbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIuKApmLhu48gcXVhXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1OTgKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIktow7RuZyB0w6xtIHRo4bqleSBt4bqrdSB0w6xtIGtp4bq/bVxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSBt4bqrdSB0w6xtIGtp4bq/bSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgInRo4buxYyBoaeG7h24gKGV4ZWMpIGtow7RuZyB0aMOgbmggY8O0bmdcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAia2jDtG5nIHRo4buDIHLhur0gbmjDoW5oIHRp4bq/biB0csOsbmhcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwMAorbXNnaWQgIiIKKyJcbiIKKyIuLi5Ta2lwcGluZyAiCittc2dzdHIgIiIKKyJcbiIKKyLigKZC4buPIHF1YSAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDQKK21zZ2lkICIuLi5Ta2lwcGluZyB0byBmaWxlICIKK21zZ3N0ciAi4oCmTmjhuqN5IHThu5tpIHThuq1wIHRpbiAiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDYKK21zZ2lkICIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIgorbXNnc3RyICLigKZOaOG6o3kgcXVheSBs4bqhaSB04bqtcCB0aW4gIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxOTk1Cittc2dpZCAiTGluZSB0b28gbG9uZyIKK21zZ3N0ciAiRMOybmcgcXXDoSBkw6BpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMDMyCittc2dpZCAiTm8gcHJldmlvdXMgY29tbWFuZCB0byBzdWJzdGl0dXRlIGZvciIKK21zZ3N0ciAiS2jDtG5nIGPDsyBjw6J1IGzhu4duaCBuZ2F5IHRyxrDhu5tjIMSR4buDIHRoYXkgdGjhur8gY2hvIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTUyCittc2dpZCAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRoaXMgc2NyZWVuXG4iCisiICBxIG9yIFEgICAgICAgICAgICAgICAgICBxdWl0IHByb2dyYW1cbiIKKyIgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgc2tpcCBhIHBhZ2UgZm9yd2FyZFxuIgorIiAgZCBvciBeRCAgICAgICAgICAgICAgICAgbmV4dCBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICBsYXN0IHBhZ2VcbiIKKyIgIC9yZWdleC8gICAgICAgICAgICAgICAgIHNlYXJjaCBmb3J3YXJkIGZvciByZWdleFxuIgorIiAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuIgorIiAgLiBvciBeTCAgICAgICAgICAgICAgICAgcmVkcmF3IHNjcmVlblxuIgorIiAgdyBvciB6ICAgICAgICAgICAgICAgICAgc2V0IHBhZ2Ugc2l6ZSBhbmQgZ28gdG8gbmV4dCBwYWdlXG4iCisiICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuIgorIiAgIWNvbW1hbmQgICAgICAgICAgICAgICAgc2hlbGwgZXNjYXBlXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBwcmV2aW91cyBmaWxlXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcbiIKKyJcbiIKKyJNYW55IGNvbW1hbmRzIGFjY2VwdCBwcmVjZWRpbmcgbnVtYmVycywgZm9yIGV4YW1wbGU6XG4iCisiKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG4iCisiXG4iCisiU2VlIHBnKDEpIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKK21zZ3N0ciAiIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKyIgIGggICAgICAgICAgICAgICAgICAgICAgIHRy4bujIGdpw7pwIG7DoHlcbiIKKyIgIHEgaGF5IFEgICAgICAgICAgICAgICAgIHRob8OhdCBraOG7j2kgY2jGsMahbmcgdHLDrG5oXG4iCisiICA8ZMOybmdfbeG7m2k+ICAgICAgICAgICAgICB0cmFuZyBr4bq/IHRp4bq/cFxuIgorIiAgZiAgICAgICAgICAgICAgICAgICAgICAgbmjhuqN5IHThu5tpIG3hu5l0IHRyYW5nXG4iCisiICBkIGhheSBeRCAgICAgICAgICAgICAgICBu4butYSB0cmFuZyBr4bq/IHRp4bq/cFxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAgZMOybmcga+G6vyB0aeG6v3BcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIHRyYW5nIGN14buRaSBjw7luZ1xuIgorIiAgL2Jp4buDdSB0aOG7qWMgY2jDrW5oIHF1eS8gICBxdcOpdCB04bubaSB0w6xtIGNodeG7l2kgbsOgeVxuIgorIiAgP2Jp4buDdSB0aOG7qWMgY2jDrW5oIHF1eT8gaGF5IF5iaeG7g3UgdGjhu6ljIGNow61uaCBxdXleICAgIHF1w6l0IG5nxrDhu6NjIHTDrG0gY2h14buXaSBuw6B5XG4iCisiICAuIGhheSBeTCAgICAgICAgICAgICAgICB24bq9IGzhuqFpIG3DoG4gaMOsbmhcbiIKKyIgIHcgaGF5IHogICAgICAgICAgICAgICAgIMSR4bq3dCBrw61jaCBj4buhIHRyYW5nIHbDoCDEkWkgdOG7m2kgdHJhbmcga+G6vyB0aeG6v3BcbiIKKyIgIHMgdMOqbl904bqtcF90aW4gICAgICAgICAgIGzGsHUgdOG6rXAgdGluIGhp4buHbiB04bqhaSB2w6BvIHTDqm4gdOG6rXAgdGluIG7DoHlcbiIKKyIgICFjw6J1X2zhu4duaCAgICAgICAgICAgICAgIHRob8OhdCB2w6BvIHNoZWxsICho4buHIHbhu48pXG4iCisiICBwICAgICAgICAgICAgICAgICAgICAgICDEkWkgduG7gSB04bqtcCB0aW4gdHLGsOG7m2NcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIMSRaSB04bubaSB04bqtcCB0aW4ga+G6vyB0aeG6v3BcbiIKKyJcbiIKKyJOaGnhu4F1IGPDonUgbOG7h25oIGPFqW5nIGNo4bqlcCBuaOG6rW4gc+G7kSDEkWkgdHLGsOG7m2MsIHYuZC5cbiIKKyIrMTxkw7JuZ19t4bubaT4gKHRyYW5nIGvhur8gdGnhur9wKTsgLTE8ZMOybmdfbeG7m2k+ICh0cmFuZyB0csaw4bubYyk7IDE8ZMOybmdfbeG7m2k+ICh0cmFuZyDEkeG6p3UpLlxuIgorIlxuIgorIlhlbSBwZygxKSDEkeG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4uXG4iCisiVGjDtG5nIGLDoW8gbOG7l2kgZOG7i2NoIGNobyA8aHR0cDovL3RyYW5zbGF0aW9ucHJvamVjdC5vcmcvdGVhbS92aS5odG1sPlxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFsrbGluZV0gWysvcGF0dGVybi9dIFtmaWxlc11cbiIKK21zZ3N0ciAiICVzIFtjw6FjLXTDuXktY2jhu41uXSBbK2TDsm5nXSBbKy9t4bqrdS9dIFt04bqtcC10aW5dXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzUKK21zZ2lkICJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIgorbXNnc3RyICJEdXnhu4d0IG5nxrDhu6NjIHRyYW5nIHRvw6BuIGLhu5kgdOG6rXAgdGluIHbEg24gYuG6o24uXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzgKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAgc+G7kSBkw7JuZyBt4buXaSB0cmFuZ1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICB4w7NhIHPhuqFjaCBtw6BuIGjDrG5oIHNhdSBraGkgaGnhu4NuIHRo4buLXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDAKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAga2jDtG5nIHThuqFtIGThu6tuZyB04bqhaSBjdeG7kWkgdOG6rXAgdGluXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDEKK21zZ2lkICIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAga2jDtG5nIGPhuq90IHh14buRbmcgZMOybmcga2hpIGfhurdwIGTDsm5nIGTDoGlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIGNo4bqlbSBk4bupdCBs4buHbmggduG7m2kgbeG7mXQgZMOybmcgbeG7m2lcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MworbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxk4bqldS1uaOG6r2M+IGNo4buJIHJhIGThuqV1IG5o4bqvY1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ0Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIC1yICAgICAgICAgICBraMO0bmcgY2hvIHBow6lwIHRob8OhdCBraOG7j2kgaOG7hyB24buPXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgxJFp4buHcCByYSDEkeG6p3UgcmEgdGnDqnUgY2h14bqpblxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK3Phu5EgICAgICAgICAgYuG6r3QgxJHhuqd1IHThuqFpIGTDsm5nIMSRxrDhu6NjIGNo4buJIHJhXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy9t4bqrdS8gICBi4bqvdCDEkeG6p3UgdOG6oWkgZMOybmcgY8OzIGNo4bupYSBt4bqrdVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjU4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIKK21zZ3N0ciAidMO5eSBjaOG7jW4gecOqdSBj4bqndSBt4buZdCB0aGFtIHPhu5EgLS0gJXMiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBvcHRpb24gLS0gJXMiCittc2dzdHIgInTDuXkgY2jhu41uIGtow7RuZyBo4bujcCBs4buHIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY3Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICLigKZuaOG6o3kgduG7gSB0csaw4bubY1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY5Cittc2dpZCAiLi4uc2tpcHBpbmcgYmFja3dhcmRcbiIKK21zZ3N0ciAi4oCmbmjhuqN5IHF1YXkgbOG6oWlcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAiS2jDtG5nIGPDsyB04bqtcCB0aW4gdGnhur9wIHRoZW8iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICJLaMO0bmcgY8OzIHThuq1wIHRpbiB0csaw4bubYyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5MQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiTOG7l2kgxJHhu41jIHThu6sgdOG6rXAgdGluICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIkfhurdwIEVPRiAoS+G6v3QgdGjDumMpIGLhuqV0IG5n4budIHRyb25nIHThuq1wIHRpbiAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjg5NgorIywgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIkfhurdwIGzhu5dpIGtow7RuZyBoaeG7g3UgdHJvbmcgdOG6rXAgdGluICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5CisjLCBmdXp6eQorbXNnaWQgIkNhbm5vdCBjcmVhdGUgdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIktow7RuZyB0aOG7gyB04bqhbyB04bqtcCB0aW4gdOG6oW0gdGjhu51pIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAiTOG7l2kgUkU6ICIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKEvhur90IHRow7pjIHThuq1wIHRpbikiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICJLaMO0bmcgbmjhu5sgY2h14buXaSB0w6xtIGtp4bq/bSBuw6BvIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTIxMQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTI2MworbXNnaWQgInNhdmVkIgorbXNnc3RyICLEkcOjIGdoaSIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIWPDonVs4buHbmgga2jDtG5nIGNobyBwaMOpcCB0cm9uZyBjaOG6vyDEkeG7mSByZmxhZy5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIGtow7RuZyB0aMOgbmggY8O0bmcsIGjDo3kgdGjhu60gbOG6oWkgc2F1XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNDc1Cittc2dpZCAiKE5leHQgZmlsZTogIgorbXNnc3RyICIoVOG6rXAgdGluIHRp4bq/cCB0aGVvOiAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIFTDoWMgcXV54buBbiAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEdp4buvIHRvw6BuIGLhu5kgYuG6o24gcXV54buBbi5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGxpbmVzIHBlciBwYWdlIgorbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggc+G7kSBkw7JuZyBt4buXaSB0cmFuZyIKKworIzogdGV4dC11dGlscy9yZXYuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFtUw5lZX0NI4buMTl0gW1ThuqxQX1RJTuKApl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAixJDhuqNvIG5nxrDhu6NjIGPDoWMga8O9IHThu7EgdHLDqm4gY8OhYyBkw7JuZy5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW1RV4buyX0NI4buMTl0gWzxU4bqsUF9USU4+IOKApl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICJUaOG7sWMgaGnhu4duIGfhuqFjaCBjaMOibi5cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OAorbXNnaWQgIiAtdCwgLVQsIC0tdGVybWluYWwgVEVSTUlOQUwgIG92ZXJyaWRlIHRoZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKyIgLXQsIC1ULCAtLXRlcm1pbmFsIFRISeG6vlQtQuG7ii1DVeG7kElcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdoaSDEkcOoIGzDqm4gYmnhur9uIG3DtGkgdHLGsOG7nW5nIFRFUk1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIHVuZGVybGluaW5nIGlzIGluZGljYXRlZCB2aWEgYSBzZXBhcmF0ZSBsaW5lXG4iCittc2dzdHIgIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICAgIGfhuqFjaCBjaMOibiBiaeG7g3UgdGjhu4sgdGjDtG5nIHF1YSBkw7JuZyBuZ8SDbiBjw6FjaFxuIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjA5Cittc2dpZCAidHJvdWJsZSByZWFkaW5nIHRlcm1pbmZvIgorbXNnc3RyICJjw7MgduG6pW4gxJHhu4Ega2hpIMSR4buNYyB0ZXJtaW5mbyIKKworIzogdGV4dC11dGlscy91bC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCBgJXMnIGlzIG5vdCBrbm93biwgZGVmYXVsdGluZyB0byBgZHVtYiciCittc2dzdHIgInRoaeG6v3QgYuG7iyBjdeG7kWkg4oCcJXPigJ0ga2jDtG5nIGhp4buDdSwgbeG6t2MgxJHhu4tuaCBsw6Ag4oCcZHVtYuKAnSIKKworIzogdGV4dC11dGlscy91bC5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICJraMO0bmcgaGnhu4N1IGTDo3kgdGhvw6F0IHRyb25nIGThu68gbGnhu4d1IMSR4bqndSB2w6BvOiAlbywgJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAiRMOybmcgxJHhuqd1IHbDoG8gcXXDoSBkw6BpLiIKKworI34gbXNnaWQgIkdlb21ldHJ5IgorI34gbXNnc3RyICJD4bqldSB0csO6YyIKKworI34gbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorI34gbXNnc3RyICJraeG7g3Uga2jDs2E6IEZMX0ZMT0NLIGhv4bq3YyBGTF9QT1NJWC4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICJraW5oIHThur8gdGhpIGjDoG5oIC9iaW4vdW1vdW50IGNobyDigJwlc+KAnSIKKworI34gbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCisjfiBtc2dzdHIgIsSRYW5nIG5n4bunIH4lZCBtaWNybyBnacOieVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKKyN+IG1zZ3N0ciAiJWxkLiUwNmQgPCAlbGQuJTA2ZCAoJS42ZilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBk4buvIGxp4buHdSBk4bqhbmcgxJHhuqd5IMSR4bunXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgImtow7RuZyDEkeG7jWMgxJHGsOG7o2M6ICVzIgorCisjfiBtc2dpZCAiY2Fubm90IGV4ZWN1dGU6ICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgdGjhu7FjIGhp4buHbjogJXMiCisKKyN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorI34gbXNnc3RyICJ0aHXhuq10IHRvw6FuIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGVzdCBtb2RlOiAlcyB3YXMgbm90IHVwZGF0ZWQgd2l0aDpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAidGhp4bq/dCBi4buLICVzIGtow7RuZyB0xrDGoW5nIOG7qW5nIHbhu5tpICVzXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyBpbiBpdCAoJXMpIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gY2jhu6lhIGPDoWMgdGhhbSBz4buRIMSRaeG7gXUgY2jhu4luaCDEkeG7k25nIGjhu5MgKCVzKSDEkeG7gyBnaGkiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBj4bqtcCBuaOG6rXQgdOG6rXAgdGluIGNo4bupYSBjw6FjIHRoYW0gc+G7kSDEkWnhu4F1IGNo4buJbmggxJHhu5NuZyBo4buTICglcykiCisKKyN+IG1zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorI34gbXNnc3RyICJLaMO0bmcgY+G6rXAgbmjhuq10IGPDoWMgdGhhbSBz4buRIGNo4buJbmggc2FpIGzhu4djaC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGVzdCBtb2RlOiBlcG9jaCB3YXMgbm90IHNldCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAia8OtY2ggdGjGsOG7m2MgdsO5bmcgaG/DoW4gxJHhu5VpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiAiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBbdGhp4bq/dF9i4buLXVxuIgorI34gIiAlMSRzIFstdnwtcV0gbOG7h25oIHRoaeG6v3RfYuG7i1xuIgorI34gIlxuIgorI34gIkPDoWMgbOG7h25oIHPhurVuIGPDszpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC1vKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgY+G7mXQgc+G6tW4gZMO5bmcgKGNobyAtbyk6XG4iCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIgorI34gbXNnc3RyICJs4buXaSBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jIHRyw6puICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0O1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAtViBhcyAtLXZlcnNpb24gbXVzdCBiZSB0aGUgb25seSBvcHRpb25cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdDtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgIC1WIGPFqW5nIG5oxrAgLS12ZXJzaW9uIHBo4bqjaSBsw6AgdMO5eSBjaOG7jW4gZHV5IG5o4bqldFxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLXNob3csIC0tcmF3IG9yIC0tcGFpcnMpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhYyBj4buZdCBz4bq1biBkw7luZyAoY2hvIC0tc2hvdywgLS1yYXcgaGF5IC0tcGFpcnMpOlxuIgorCisjfiBtc2dpZCAiIC12LCAtLXZlcnNpb24gIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJzaW9uICDEkcawYSByYSB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUcnkgJyVzIC1oJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAiSMOjeSB0aOG7rSBs4buHbmgg4oCcJXMgLS1oZWxw4oCdIMSR4buDIHhlbSB0aMO0bmcgdGluIHRow6ptLlxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWxwICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgxJHGsGEgcmEgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyN+IG1zZ2lkICIgLXUsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC11LCAtLWhlbHAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiTm8ga25vd24gc2hlbGxzLiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGhp4buDdSBzaGVsbCAoaOG7hyB24buPKS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjIGPhu5l0IHPhurVuIGTDuW5nOlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uIF0gLXUgPHTDoGkta2hv4bqjbj4gPGzhu4duaD5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tb3V0cHV0KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgY+G7mXQgc+G6tW4gZMO5bmcgKGNobyBr4bq/dCB4deG6pXQpOlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJIw6N5IHRo4butIGzhu4duaCDigJwlcyAtLWhlbHDigJ0gxJHhu4MgeGVtIHRow7RuZyB0aW4gdGjDqm0uXG4iCisKKyN+IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICBnaeG6o2kgdGjDrWNoIGPDoWMgY8O0bmcgdmnhu4djIMSRw6MgbMOgbVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAgdOG6oW8gc+G7kSBuZ+G6q3Ugbmhpw6puIGPGoSBz4bufIHV1aWRcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICB04bqhbyB0aOG7nWkgZ2lhbiBjxqEgc+G7nyB1dWlkXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgd2lwZSBhbGwgbWFnaWMgc3RyaW5ncyAoQkUgQ0FSRUZVTCEpXG4iCisjfiAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRVxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGxcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAgcHJpbnQgb3V0IGluIHBhcnNhYmxlIGluc3RlYWQgb2YgcHJpbnRhYmxlIGZvcm1hdFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIHN1cHByZXNzIG91dHB1dCBtZXNzYWdlc1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSwgUkFJRHMgb3IgcGFydGl0aW9uIHRhYmxlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICB4w7NhIG3hu41pIGNodeG7l2kgbWEgdGh14bqtdCAoQ+G6qE4gVEjhuqxOISlcbiIKKyN+ICIgLWIsIC0tYmFja3VwICAgICAgICB04bqhbyBt4buZdCBzYW8gY2jDqXAgY2jhu68ga8O9IHRyb25nICRIT01FXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgw6lwIGJ14buZYyB4w7NhXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHlcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICBsw6BtIHThuqV0IGPhuqMgY8OhYyB2aeG7h2MsIHRy4burIGPDuiBn4buNaSBnaGkgd3JpdGUoKSB0aOG6rXRcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxT4buQPiAgIGtob+G6o25nIGNow6puaCBj4bqnbiB4w7NhLCB0aGVvIGJ5dGVcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICBpbiByYSB0aGVvIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyBwaMOibiB0w61jaCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICB0aGF5IGNobyDEkeG7i25oIGThuqFuZyBjw7MgdGjhu4MgaW4g4bqlblxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIGNo4bq3biBt4buNaSB0aMO0bmcgxJFp4buHcFxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gIGdp4bubaSBo4bqhbiB04bqtcCBo4bujcCBo4buHIHRo4buRbmcgdOG6rXAgdGluLCBSQUlEcyBoYXkgYuG6o25nIHBow6JuIHbDuW5nXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgeHXhuqV0IHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCisjfiBtc2dzdHIgIsSQ4buTbmcgaOG7kyBQaOG6p24gY+G7qW5nIGNo4bupYSBjw6FjIGdpw6EgdHLhu4sgaG/hurdjIGtow7RuZyDEkcO6bmcgKHYuZC4gbmfDoHkgdGjhu6kgNTAgY+G7p2EgdGjDoW5nKSBob+G6t2Mgdsaw4bujdCBxdcOhIHBo4bqhbSB2aSBjaMO6bmcgdGEgY8OzIHRo4buDIG7huq9tIGdp4buvICh2LmQuIE7Eg20gMjA5NSkuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3Qgc2V0IHRoZSBTeXN0ZW0gVGltZSBmcm9tIGl0LiIKKyN+IG1zZ3N0ciAixJDhu5NuZyBo4buTIFBo4bqnbiBj4bupbmcga2jDtG5nIGNo4bupYSB0aOG7nWkgZ2lhbiB0aMOtY2ggaOG7o3AsIHbDrCB0aOG6vyBjaMO6bmcgdGEga2jDtG5nIHRo4buDIMSR4bq3dCBUaOG7nWkgZ2lhbiBj4bunYSBI4buHIHRo4buRbmcgdOG7qyDEkcOzLiIKKworI34gbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisjfiBtc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyN+IG1zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKKyN+IG1zZ3N0ciAiQ+G6p24gcGjhuqNpIGzDoCBuZ8aw4budaSBkw7luZyByb290IMSR4buDIMSR4bq3dCDEkeG7k25nIGjhu5MgaOG7hyB0aOG7kW5nLiIKKworI34gbXNnaWQgIlx0VVRDOiAlc1xuIgorI34gbXNnc3RyICJcdFVUQzogJXNcbiIKKworI34gbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCisjfiBtc2dzdHIgIktow7RuZyBjaOG7iW5oIMSR4buZIGzhu4duaCB0aOG7nWkgZ2lhbiB2w6wgxJDhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgY2jhu6lhIHLDoWMuXG4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBhZGp1c3QgaXQuIgorI34gbXNnc3RyICLEkOG7k25nIGjhu5MgUGjhuqduIGPhu6luZyBraMO0bmcgY8OzIHRo4budaSBnaWFuIHRow61jaCBo4bujcCwgdsOsIHRo4bq/IGNow7puZyB0YSBraMO0bmcgdGjhu4MgY2jhu4luaC4iCisKKyN+IG1zZ2lkICJBdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5LCBSVEMgaXMgcHJlZGljdGVkIHRvIHJlYWQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiVsOgbyAlbGQgZ2nDonkgc2F1IDE5NjksIFJUQyDEkcaw4bujYyBk4buxIMSRb8OhbiDEkeG7gyDEkeG7jWMgJWxkIGdpw6J5IHNhdSAxOTY5LlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGdldCB0aGUgZXBvY2ggdmFsdWUgZnJvbSB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGzhuqV5IMSRxrDhu6NjIGdpw6EgdHLhu4sga2jhu59pIMSR4bqndSB04burIG5ow6JuLiIKKworI34gbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKKyN+IG1zZ3N0ciAiTmjDom4gxJFhbmcgZ2nhu68gZ2nDoSB0cuG7iyBraOG7n2kgxJHhuqd1IGzDoCAlbHVcbiIKKworI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIsSQ4buDIMSR4bq3dCBnacOhIHRy4buLIGto4bufaSDEkeG6p3UsIGLhuqFuIGPhuqduIHPhu60gZOG7pW5nIHTDuXkgY2jhu41uIOKAnGVwb2No4oCdIMSR4buDIHRow7RuZyBiw6FvIGdpw6EgdHLhu4sgbXXhu5FuIMSR4bq3dC4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIMSR4bq3dCBraOG7n2kgxJHhuqd1IHRow6BuaCAlZCAtIGNo4buJIHRo4butIG5naGnhu4dtLlxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIHNldCB0aGUgZXBvY2ggdmFsdWUgaW4gdGhlIGtlcm5lbC5cbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIMSR4bq3dCDEkcaw4bujYyBnacOhIHRy4buLIGto4bufaSDEkeG6p3UgdHJvbmcgbmjDom4uXG4iCisKKyN+IG1zZ2lkICJRdWVyeSBvciBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrLlxuIgorI34gbXNnc3RyICJUcnV5IHbhuqVuIGhheSDEkeG6t3QgxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAtLWdldCAgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IGRyaWZ0IGNvcnJlY3RlZCByZXN1bHRcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAgc2V0IHRoZSBSVEMgdG8gdGhlIHRpbWUgZ2l2ZW4gd2l0aCAtLWRhdGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLXIsIC0tc2hvdyAgICAgICAgICAgxJHhu41jIGdp4budIHThu6sgcGjhuqduIGPhu6luZyB2w6AgaW4ga+G6v3QgcXXhuqMgcmFcbiIKKyN+ICIgICAgIC0tZ2V0ICAgICAgICAgICAgxJHhu41jIGdp4budIHThu6sgcGjhuqduIGPhu6luZyB2w6AgaW4ga+G6v3QgcXXhuqMgc2FpIGzhu4duaCDEkcOjIHPhu61hIHJhXG4iCisjfiAiICAgICAtLXNldCAgICAgICAgICAgIMSR4bq3dCBSVEMgduG7m2kgdGjhu51pIGdpYW4gxJHGsOG7o2MgY2jhu4kgxJHhu4tuaCB24bubaSAtLWRhdGVcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIGZyb20gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgIC0tc3lzdHogICAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIMSR4bq3dCBnaeG7nSBo4buHIHRo4buRbmcgdOG7qyDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyBj4bunYSBtw6F5IHTDrW5oXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIMSR4bq3dCBnaeG7nSBo4buHIHRo4buRbmcgdOG7qyBnaeG7nSBoaeG7h24gaMOgbmggY+G7p2EgaOG7hyB0aOG7kW5nXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIMSR4bq3dCBnaeG7nSBo4buHIHRo4buRbmcgdHLDqm4gY8ahIHPhu58gbcO6aSBnaeG7nSBoaeG7h24gaMOgbmhcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgY2jhu4luaCBSVEMgxJHhu4MgdMOtbmggdG/DoW4gYuG6sW5nIGPDoWNoIGThu4tjaCB0aOG7nWkgZ2lhbiB0w61uaCB04burXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgxJHhu5NuZyBo4buTIGzhuqduIGN14buRaSDEkcaw4bujYyDEkeG6t3QgaGF5IGNo4buJbmggc+G7rWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1nZXRlcG9jaCAgICAgICBoaeG7g24gdGjhu4sgcmEgZ2nDoSB0cuG7iyBraOG7n2kgxJHhuqd1IGPhu6dhIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nIGPhu6dhIG5ow6JuXG4iCisjfiAiICAgICAtLXNldGVwb2NoICAgICAgIMSR4bq3dCBnacOhIHRy4buLIGto4bufaSDEkeG6p3UgxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgYuG6sW5nXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZ2nDoSB0cuG7iyDEkcaw4bujYyDEkcawYSByYSBi4bufaSAtLWVwb2NoXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIHByZWRpY3QgUlRDIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1wcmVkaWN0ICAgICAgICBk4buxIMSRb8OhbiB2aeG7h2MgxJHhu41jIFJUQyB04bqhaSB0aOG7nWkgxJFp4buDbSBjaOG7iSByYSBi4bufaSAtLWRhdGVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIMSR4buTbmcgaOG7kyBj4bunYSBtw6F5IHTDrW5oIGdp4buvIHRoZW8gbcO6aSBnaeG7nSBRdeG7kWMgdOG6vyBVVENcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAgxJHhu5NuZyBo4buTIGPhu6dhIG3DoXkgdMOtbmggZ2nhu68gdGhlbyBtw7ppIGdp4budIGLhuqNuIMSR4buLYVxuIgorCisjfiBtc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHNwZWNpYWwgL2Rldi8uLi4gZmlsZSB0byB1c2UgaW5zdGVhZCBvZiBkZWZhdWx0XG4iCisjfiBtc2dzdHIgIiAtZiwgLS1ydGMgPHThuq1wLXRpbj4gIGNo4buJIMSR4buLbmggdOG6rXAgdGluIC9kZXYv4oCmIMSR4buDIHPhu60gZOG7pW5nIHRoYXkgdsOsIG3hurdjIMSR4buLbmhcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgY+G6rXAgbmjhuq10IMSR4buZIGzhu4djaCB0cm9uZyAlMSRzIChj4bqnblxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IGhv4bq3YyAtLXN5c3RvaGMpXG4iCisjfiAiICAgICAtLW5vYWRqZmlsZSAgICAgIGtow7RuZyB0cnV5IGPhuq1wICUxJHM7IG7DsyB5w6p1IGPhuqd1IHPhu60gZOG7pW5nXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgbeG7mXQgdHJvbmcgaGFpIC0tdXRjIGhv4bq3YyAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgLS1hZGpmaWxlIDx0LnRpbj4gY2jhu4kgxJHhu4tuaCDEkcaw4budbmcgZOG6q24gdOG7m2kgdOG6rXAgdGluIGNo4buJbmggc+G7rWE7XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgbeG6t2MgxJHhu4tuaCBsw6AgJTEkc1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBkbyBub3QgdXBkYXRlIGFueXRoaW5nLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBoYXBwZW5cbiIKKyN+ICIgLUQsIC0tZGVidWcgICAgICAgICAgZGVidWdnaW5nIG1vZGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS10ZXN0ICAgICAgICAgICBraMO0bmcgY+G6rXAgbmjhuq10IGPDoWkgZ8OsIGPhuqMsIGNo4buJIGhp4buDbiB0aOG7iyBuaOG7r25nIGfDrCBjw7MgdGjhu4MgeOG6o3kgcmFcbiIKKyN+ICIgLUQsIC0tZGVidWcgICAgICAgICAgY2jhur8gxJHhu5kgZ+G7oSBs4buXaVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKKyN+IG1zZ3N0ciAixJHhu5FpIHPhu5EgZXBvY2gga2jDtG5nIGjhu6NwIGzhu4ciCisKKyN+IG1zZ2lkICIlcyBkb2VzIG5vdCBoYXZlIGludGVycnVwdCBmdW5jdGlvbnMuICIKKyN+IG1zZ3N0ciAiJXMga2jDtG5nIGPDsyBow6BtIGdpw6FuIMSRb+G6oW4gbsOgby4gIgorCisjfiBtc2dpZCAiaW9jdGwoKSB0byAlcyB0byB0dXJuIG9uIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCB1bmV4cGVjdGVkbHkiCisjfiBtc2dzdHIgImlvY3RsKCkgdOG7m2kgJXMgxJHhu4MgYuG6rXQgY8OhYyBuZ+G6r3QgY+G6rXAgbmjhuq10IGtow7RuZyB0aMOgbmggY8O0bmcgbeG7mXQgY8OhY2ggYuG6pXQgdGjGsOG7nW5nIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZS4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCisjfiBtc2dzdHIgIsSQ4buDIMSRaeG7gXUga2hp4buDbiBnacOhIHRy4buLIGto4bufaSDEkeG6p3UgKGVwb2NoKSB0cm9uZyBuaMOibiwgY2jDum5nIHRhIGPhuqduIHRydXkgY+G6rXAgdOG7m2kgZHJpdmVyIHRoaeG6v3QgYuG7iyDigJxydGPigJ0gcXVhIHThuq1wIHRpbiB0aGnhur90IGLhu4sgxJHhurdjIGJp4buHdCAlcy4gIFThuq1wIHRpbiBuw6B5IGtow7RuZyB04buTbiB04bqhaSB0csOqbiBo4buHIHRo4buRbmcgbsOgeS4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisjfiBtc2dzdHIgImNow7puZyB0YSDEkeG7jWMga2jhu59pIMSR4bqndSAoZXBvY2gpICVsZCB04burICVzIGLhurFuZyBSVENfRVBPQ0hfUkVBRCBpb2N0bC5cbiIKKworI34gbXNnaWQgIlRoZSBlcG9jaCB2YWx1ZSBtYXkgbm90IGJlIGxlc3MgdGhhbiAxOTAwLiAgWW91IHJlcXVlc3RlZCAlbGQiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sga2jhu59pIMSR4bqndSAoZXBvY2gpIGtow7RuZyDEkcaw4bujYyBuaOG7jyBoxqFuIDE5MDAuICBC4bqhbiDEkcOjIHnDqnUgY+G6p3UgJWxkIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNldHRpbmcgZXBvY2ggdG8gJWx1IHdpdGggUlRDX0VQT0NIX1NFVCBpb2N0bCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAiY8OgaSDEkeG6t3Qga2jhu59pIMSR4bqndSAoZXBvY2gpIHRow6BuaCAlbGQgYuG6sW5nIFJUQ19FUE9DSF9TRVQgaW9jdGwgdOG7m2kgJXMuXG4iCisKKyN+IG1zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorI34gbXNnc3RyICJUcsOsbmggxJFp4buBdSBraGnhu4NuIHRoaeG6v3QgYuG7iyBj4bunYSBuaMOibiBjaG8gJXMga2jDtG5nIGPDsyBSVENfRVBPQ0hfU0VUIGlvY3RsLiIKKworI34gbXNnaWQgIiIKKyN+ICIlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICIlc1xuIgorI34gIkjDo3kgdGjhu60gbOG7h25oIOKAnCVzIC0taGVscOKAnSDEkeG7gyB4ZW0gdGjDtG5nIHRpbiB0aMOqbS4iCisKKyN+IG1zZ2lkICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICJIw6N5IHRo4butIGzhu4duaCDigJwlcyAtLWhlbHDigJ0gxJHhu4MgeGVtIHRow7RuZyB0aW4gdGjDqm0uIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93KTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgY+G7mXQgc+G6tW4gZMO5bmcgKGNobyAtLXNob3cpOlxuIgorCisjfiBtc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCisjfiBtc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIHnDqnUgY+G6p3UgdHLDrG5oIMSRaeG7gXUga2hp4buDbiB0aW4gaXJxXG4iCisKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiICAgICAtLXZlcnNpb24gICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgc2hvdyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtLXZlcnNpb24gICAgICAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHRow6ptIGThu68gbGnhu4d1IHbDoG8gYuG6o25nIGvhur90IHh14bqldCIKKworI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorI34gbXNnc3RyICJn4bq3cCBs4buXaSBraGkga2jhu59pIHThuqFvIGTDsm5nIGvhur90IHh14bqldCIKKworI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlczogbmjhu69uZyB0w7l5IGNo4buNbiBuw6B5IGxv4bqhaSB04burIGzhuqtuIG5oYXU6IgorCisjfiBtc2dpZCAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW10YWIgICAgICAgICAgICAgdMOsbSB0cm9uZyBi4bqjbmcgY+G7p2EgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcOjIGfhuq9uXG4iCisKKyN+IG1zZ2lkICJTdXNwZW5kIGFjY2VzcyB0byBhIGZpbGVzeXN0ZW0gKGV4dDMvNCwgUmVpc2VyRlMsIEpGUywgWEZTKS5cbiIKKyN+IG1zZ3N0ciAixJDDrG5oIGNo4buJIHRydXkgY+G6rXAgdsOgbyBt4buZdCBo4buHIHRo4buRbmcgdOG6rXAgdGluIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCisKKyN+IG1zZ2lkICJDbG9jayBub3QgY2hhbmdlZCAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAixJDhu5NuZyBo4buTIGtow7RuZyB0aGF5IMSR4buVaSAtIGNo4buJIHRo4butIG5naGnhu4dtIG3DoCB0aMO0aS5cbiIKKworI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGNo4buJIHJhIHTDuXkgY2jhu41uIC0tZGF0ZS4iCisKKyN+IG1zZ2lkICItLWRhdGUgYXJndW1lbnQgdG9vIGxvbmciCisjfiBtc2dzdHIgIlRoYW0gc+G7kSAtLWRhdGUgcXXDoSBkw6BpIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorI34gIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCisjfiBtc2dzdHIgIiIKKyN+ICJHacOhIHRy4buLIGPhu6dhIHTDuXkgY2jhu41uIOKAnC0tZGF0ZeKAnSBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBuZ8OgeSB0aMOtY2ggaOG7o3AuXG4iCisjfiAiVHJvbmcgdHLGsOG7nW5nIGjhu6NwIG7DoHksIG7DsyBjaOG7qWEgY8OhYyBk4bqldSB0csOtY2ggZOG6q24uIgorCisjfiBtc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCisjfiBtc2dzdHIgIsSQxrBhIHJhIGPDonUgbOG7h25oIGRhdGUgKG5nw6B5IHRow6FuZyk6ICVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorI34gbXNnc3RyICJLaMO0bmcgY2jhuqF5IMSRxrDhu6NjIGNoxrDGoW5nIHRyw6xuaCDigJxkYXRl4oCdIHRyb25nIHNoZWxsICho4buHIHbhu48pLiBwb3BlbigpIGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCisjfiBtc2dzdHIgIsSRw6FwIOG7qW5nIHThu6sgY8OidSBs4buHbmggZGF0ZSA9ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAiQ8OidSBs4buHbmggZGF0ZSAobmfDoHkgdGjDoW5nKSDEkcawYSByYSBi4bufaSAlcyB0cuG6oyBs4bqhaSBr4bq/dCBxdeG6oyBraMO0bmcgY+G6p24uXG4iCisjfiAiQ8OidSBs4buHbmggbMOgOlxuIgorI34gIiAgJXNcbiIKKyN+ICJL4bq/dCBxdeG6oyBsw6A6XG4iCisjfiAiICAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgZGF0ZSBjb21tYW5kIGlzc3VlZCBieSAlcyByZXR1cm5lZCBzb21ldGhpbmcgb3RoZXIgdGhhbiBhbiBpbnRlZ2VyIHdoZXJlIHRoZSBjb252ZXJ0ZWQgdGltZSB2YWx1ZSB3YXMgZXhwZWN0ZWQuXG4iCisjfiAiVGhlIGNvbW1hbmQgd2FzOlxuIgorI34gIiAgJXNcbiIKKyN+ICJUaGUgcmVzcG9uc2Ugd2FzOlxuIgorI34gIiAlc1xuIgorI34gbXNnc3RyICIiCisjfiAiQ8OidSBs4buHbmggZGF0ZSAobmfDoHkgdGjDoW5nKSDEkcawYSByYSBi4bufaSAlcyB0cuG6oyBs4bqhaSBr4bq/dCBxdeG6oyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCBz4buRIG5ndXnDqm4sIHRyb25nIGtoaSBj4bqnbiBnacOhIHRy4buLIHRo4budaSBnaWFuIMSRw6MgY2h1eeG7g24gxJHhu5VpLlxuIgorI34gIkPDonUgbOG7h25oIGzDoDpcbiIKKyN+ICIgICVzXG4iCisjfiAiS+G6v3QgcXXhuqMgbMOgOlxuIgorI34gIiAgJXNcbiIKKworI34gbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKKyN+IG1zZ3N0ciAiY2h14buXaSBuZ8OgeSB0aMOhbmcgJXMgYuG6sW5nICVsZCBnacOieSBr4buDIHThu6sgbsSDbSAxOTY5LlxuIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgc3lzdGVtIGNsb2NrIGJlY2F1c2UgcnVubmluZyBpbiB0ZXN0IG1vZGUuXG4iCisjfiBtc2dzdHIgIktow7RuZyBjw6BpIMSR4bq3dCDEkeG7k25nIGjhu5MgaOG7hyB0aOG7kW5nIGLhu58gdsOsIMSRYW5nIGNo4bqheSB0cm9uZyBjaOG6vyDEkeG7mSB0aOG7rSBuZ2hp4buHbS5cbiIKKworI34gbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCisjfiBtc2dzdHIgIktow7RuZyBj4bqtcCBuaOG6rXQgdGjhu51pIGdpYW4gY2jhu4luaCB2w6wgY2jhur8gxJHhu5kgdGjhu60gbmdoaeG7h20uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiV291bGQgaGF2ZSB3cml0dGVuIHRoZSBmb2xsb3dpbmcgdG8gJXM6XG4iCisjfiAiJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJHaGkgbmjhu5sgY8OhaSBzYXUgdOG7m2kgJXM6XG4iCisjfiAiJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJOaMOibiBjaOG7iSBnaeG7ryBnacOhIHRy4buLIGto4bufaSDEkeG6p3UgY2hvIMSQ4buTbmcgaOG7kyBQaOG6p24gY+G7qW5nIHRyw6puIG3hu5l0IG3DoXkgQWxwaGEuXG4iCisjfiAiQuG6o24gc2FvIG7DoHkgY+G7p2EgaHdjbG9jayDEkcaw4bujYyBiacOqbiBk4buLY2ggY2hvIG3hu5l0IG3DoXkga2jDoWMgdGhheSB2w6wgQWxwaGFcbiIKKyN+ICIodsOgIHbDrCB0aOG6vyDEkW/DoW4gcuG6sW5nIGtow7RuZyBjaOG6oXkgdHLDqm4gbeG7mXQgbcOheSBBbHBoYSkuIEtow7RuZyB0aOG7sWMgaGnhu4duIGfDrC4iCisKKyN+IG1zZ2lkICIgLWMsIC0tY29tcGFyZSAgICAgICAgcGVyaW9kaWNhbGx5IGNvbXBhcmUgdGhlIHN5c3RlbSBjbG9jayB3aXRoIHRoZSBDTU9TIGNsb2NrXG4iCisjfiBtc2dzdHIgIiAtYywgLS1jb21wYXJlICAgICAgICBzbyBzw6FuaCDEkeG7i25oIGvhu7MgxJHhu5NuZyBo4buTIGjhu4cgdGjhu5FuZyB2w6AgxJHhu5NuZyBo4buTIENNT1NcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAgaWdub3JlIFJUQydzIHllYXIgYmVjYXVzZSB0aGUgQklPUyBpcyBicm9rZW5cbiIKKyN+ICIgICAgIC0tZGF0ZSA8dGltZT4gICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgIC0tZXBvY2ggPHllYXI+ICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgaGFyZHdhcmUgY2xvY2sncyBlcG9jaCB2YWx1ZVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIHRydXkgY+G6rXAgdHLhu7FjIHRp4bq/cCBxdWEgYnVzIElTQSB0aGF5IHbDrCAlc1xuIgorI34gIiAgICAgLS1iYWR5ZWFyICAgICAgICBi4buPIHF1YSBuxINtIGPhu6dhIFJUQyBi4bufaSB2w6wgQklPUyDEkcOjIGLhu4sgaOG7j25nXG4iCisjfiAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGNo4buJIMSR4buLbmggdGjhu51pIGdpYW4gbcOgIG7DsyDEkcaw4bujYyDEkeG6t3QgY2hvIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nIG3DoXkgdMOtbmhcbiIKKyN+ICIgICAgIC0tZXBvY2ggPHllYXI+ICAgY2jhu4kgxJHhu4tuaCBuxINtIG3DoCBuw7MgbMOgbSBnacOhIHRy4buLIGto4bufaSDEkeG6p3VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBjaG8gxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICB0ZWxsIGh3Y2xvY2sgdGhlIHR5cGUgb2YgQWxwaGEgeW91IGhhdmUgKHNlZSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiICAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgICBiw6FvIGh3Y2xvY2sgYmnhur90IGtp4buDdSBhbHBoYSBi4bqhbiBjw7MgKHhlbSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHVzZSB0aGUgSGFyZHdhcmUgQ2xvY2suIgorI34gbXNnc3RyICJS4bqldCB0aeG6v2MsIG5oxrBuZyBjaOG7iSBuZ8aw4budaSBkw7luZyByb290IG3hu5tpIGPDsyB0aOG7gyB0aGF5IMSR4buVaSDEkOG7k25nIGjhu5MgUGjhuqduIGPhu6luZy4iCisKKyN+IG1zZ2lkICIlcyB0YWtlcyBubyBub24tb3B0aW9uIGFyZ3VtZW50cy4gIFlvdSBzdXBwbGllZCAlZC5cbiIKKyN+IG1zZ3N0ciAiJXMgbOG6pXkgY8OhYyB0aGFtIHPhu5Ega2jDtG5nIHTDuXkgY2jhu41uLiAgQuG6oW4gxJHDoyBjdW5nIGPhuqVwICVkLlxuIgorCisjfiBtc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCisjfiBtc2dzdHIgIktow7RuZyBjw7MgdGjhu51pIGdpYW4gc2V0LXRvIG7DoG8gY8OzIHRo4buDIHPhu60gZOG7pW5nLiBLaMO0bmcgdGjhu4MgxJHhurd0IMSR4buTbmcgaOG7kyIKKworI34gbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKKyN+IG1zZ3N0ciAia2jhu59pIMSR4buZbmcgdOG7qyBNSUxPXG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICLEkOG7k25nIGjhu5MgUnVmZmlhbiBCQ0RcbiIKKworI34gbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCisjfiBtc2dzdHIgImNsb2NrcG9ydCAoYuG6o24gY2h1eeG7g24gxJHhu5NuZyBo4buTKSDEkWnhu4F1IGNo4buJbmggdGjDoG5oIDB4JXhcbiIKKworI34gbXNnaWQgImZ1bmt5IFRPWSFcbiIKKyN+IG1zZ3N0ciAixJDhu5IgQ0jGoEkgbmjDunQgbmjDoXQhXG4iCisKKyN+IG1zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorI34gbXNnc3RyICJuZ3V5w6puIHThu60gJXMgZ+G6t3AgbOG7l2kgc2F1IGzhurdwIDEwMDAgbOG6p24hIgorCisjfiBtc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NfcmVhZCgpOiBn4bq3cCBs4buXaSBraGkgZ2hpIMSR4buLYSBjaOG7iSDEkWnhu4F1IGtoaeG7g24gJVgiCisKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogcmVhZCBmcm9tIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NfcmVhZCgpOiBn4bq3cCBs4buXaSBraGkgxJHhu41jIMSR4buLYSBjaOG7iSBk4buvIGxp4buHdSAlWCIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc193cml0ZSgpOiBn4bq3cCBs4buXaSBraGkgZ2hpIHbDoG8gxJHhu4thIGNo4buJIMSRaeG7gXUga2hp4buDbiAlWCIKKworI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gZGF0YSBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc193cml0ZSgpOiBn4bq3cCBs4buXaSBraGkgZ2hpIHbDoG8gxJHhu4thIGNo4buJIGThu68gbGnhu4d1ICVYIgorCisjfiBtc2dpZCAiSSBmYWlsZWQgdG8gZ2V0IHBlcm1pc3Npb24gYmVjYXVzZSBJIGRpZG4ndCB0cnkuIgorI34gbXNnc3RyICJUw7RpIGzhuqV5IHRow7RuZyB0aW4gcXV54buBbiBo4bqhbiBraMO0bmcgdGjDoG5oIGPDtG5nIHbDrCDEkcOjIGtow7RuZyBj4buRIHRo4butLiIKKworI34gbXNnaWQgInVuYWJsZSB0byBnZXQgSS9PIHBvcnQgYWNjZXNzOiAgdGhlIGlvcGwoMykgY2FsbCBmYWlsZWQuIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdHJ1eSBj4bqtcCBj4buVbmcgVi9SOiAgZ+G7jWkgaW9wbCgzKSBraMO0bmcgdGjDoG5oIGPDtG5nLiIKKworI34gbXNnaWQgIlByb2JhYmx5IHlvdSBuZWVkIHJvb3QgcHJpdmlsZWdlcy5cbiIKKyN+IG1zZ3N0ciAiUuG6pXQgY8OzIHRo4buDIGLhuqFuIGPhuqduIHF1eeG7gW4gc2nDqnUgcXXhuqNuIHRy4buLIChyb290KS5cbiIKKworI34gbXNnaWQgImVycm9yOiBjYW4gbm90IHNldCBzaWduYWwgaGFuZGxlciIKKyN+IG1zZ3N0ciAibOG7l2k6IGtow7RuZyB0aOG7gyDEkeG6t3QgYuG7mSB0aeG6v3AgaOG7o3AgdMOtbiBoaeG7h3UiCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICJs4buXaToga2jDtG5nIHRo4buDIHBo4bulYyBo4buTaSBi4buZIHRp4bq/cCBo4bujcCB0w61uIGhp4buHdSIKKworI34gbXNnaWQgIm9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgImNo4buJIHNpw6p1IG5nxrDhu51pIGTDuW5nIG3hu5tpIGPDsyBxdXnhu4FuIGfhuq9uICVzIHbDoG8gJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICIlcyDEkcaw4bujYyBi4bqjbyB24buHIGNo4buRbmcgZ2hpIG7Dqm4gY2jhu4kgZ+G6r24ga2nhu4N1IGNo4buJLcSR4buNYyIKKworI34gbXNnaWQgIiIKKyN+ICIlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyN+ICIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorI34gIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuIgorI34gbXNnc3RyICIiCisjfiAiJXM6IHBow6F0IGhp4buHbiDEkcaw4bujYyBuaGnhu4F1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gaMahbixcbiIKKyN+ICIgICAgICAgIHRyxrDhu51uZyBo4bujcCBuw6B5IGtow7RuZyBuw6puIHjhuqN5IHJhLlxuIgorI34gIiAgICAgICAgSMOjeSBkw7luZyDigJwtdCA8a2nhu4N1PuKAnSDEkeG7gyBnaGkgcsO1IGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisjfiAiICAgICAgICBob+G6t2MgZMO5bmcgd2lwZWZzKDgpIMSR4buDIGzDoG0gc+G6oWNoIHRoaeG6v3QgYuG7iy4iCisKKyN+IG1zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiVMO0aSBraMO0bmcgdGjhu4Mgbmjhuq1uIHJhIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluLCB2w6AgbmfGsOG7nWkgZMO5bmcga2jDtG5nIGNo4buJIHJhIGtp4buDdSBuw6BvIgorCisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJi4bqhbiBj4bqnbiBjaOG7iSByw7Uga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIm5ndeG7k24gZ+G6r24gY2jGsGEgxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEiCisKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICIlczogZ+G6r24ga2jDtG5nIHRow6BuaCBjw7RuZyIKKworI34gbXNnaWQgIiVzOiBmaWxlc3lzdGVtIG1vdW50ZWQsIGJ1dCBtb3VudCg4KSBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgxJHGsOG7o2MgZ+G6r24sIG5oxrBuZyBs4buHbmggbW91bnQoOCkgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICIgICAgICAgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICDEkcOjIGfhuq9uICVzIHRyw6puICVzXG4iCisKKyN+IG1zZ2lkICIlcyBub3QgbW91bnRlZCBvciBiYWQgb3B0aW9uIgorI34gbXNnc3RyICIlcyBjaMawYSBn4bqvbiwgaG/hurdjIHTDuXkgY2jhu41uIHNhaSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0XG4iCisjfiAiICAgICAgIG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAgKMSR4buRaSB24bubaSB2w6BpIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4sIHYuZC4gbmZzLCBjaWZzLCBjw7MgbOG6vVxuIgorI34gIiAgICAgICBi4bqhbiBj4bqnbiBkw7luZyB0csOsbmggdGnhur9wIGjhu6NwIGtp4buDdSBuaMawIOKAnC9zYmluL21vdW50LjxraeG7g3U+4oCdLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIgICAgICBUcm9uZyBt4buZdCBz4buRIHRyxrDhu51uZyBo4bujcCBjw7MgdGjhu4MgdMOsbSB0aOG6pXkgdGjDtG5nIHRpbiBjw7NcbiIKKyN+ICIgICAgICDDrWNoIHRyb25nIHN5c2xvZyAtIGjDo3kgdGjhu60gZG1lc2cgfCB0YWlsIGhv4bq3YyB0xrDGoW5nIHThu7FcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKKyN+IG1zZ3N0ciAia2jDtG5nIGNo4bqlcCBuaOG6rW4gdMO5eSBjaOG7jW4g4oCcJWPigJ0iCisKKyN+IG1zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGLhu48gZ+G6r24gZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IHRhcmdldCBpcyBidXN5XG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdFxuIgorI34gIiAgICAgICAgIHVzZSB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiB0aGnhur90IGLhu4sgxJFhbmcgYuG6rW4uXG4iCisjfiAiICAgICAgICAoVHJvbmcgbeG7mXQgc+G7kSB0csaw4budbmcgaOG7o3AsXG4iCisjfiAiICAgICAgICBow6BtIGxzb2YoOCkgaG/hurdjIGZ1c2VyKDEpIGPDsyB0aOG7gyB0w6xtIHRow7RuZyB0aW5cbiIKKyN+ICIgICAgICAgIGPDsyDDrWNoIHbhu4EgY8OhYyB0aeG6v24gdHLDrG5oIMSRYW5nIGTDuW5nIHRoaeG6v3QgYuG7iy4pIgorCisjfiBtc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorI34gbXNnc3RyICIlczoga2jDtG5nIHTDrG0gdGjhuqV5IMSRaeG7g20gZ+G6r24iCisKKyN+IG1zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCisjfiBtc2dzdHIgImTDsm5nICVkIHF1w6EgZMOgaSwga+G6v3QgeHXhuqV0IHPhur0gYuG7iyBj4bqvdCBuZ+G6r24iCisKKyN+IG1zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKKyN+IG1zZ3N0ciAiZ2hpIGtow7RuZyBob8OgbiB0b8OgbiB2w6BvIFwiJXNcIiAoxJHDoyBnaGkgJXpkLCBj4bqnbiAlemQpXG4iCisKKyN+IG1zZ2lkICIlczogY2Fubm90IGFkZCBpbm90aWZ5IHdhdGNoIChsaW1pdCBvZiBpbm90aWZ5IHdhdGNoZXMgd2FzIHJlYWNoZWQpLiIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB0aMOqbSBz4buxIHRoZW8gZMO1aSBpbm90aWZ5ICjEkcOjIHThu5tpIGdp4bubaSBo4bqhbiBjw6FjIHPhu7EgZ2nhu5tpIGjhuqFuIGlub3RpZnkpLiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiICVzIFtUVeG7sl9DSOG7jE5dIDxU4bqsUF9USU4+XG4iCisKKyN+IG1zZ2lkICJGb2xsb3cgdGhlIGdyb3d0aCBvZiBhIGxvZyBmaWxlLlxuIgorI34gbXNnc3RyICLEkGkgdGhlbyBz4buxIGzhu5tuIG3huqFuaCBj4bunYSB04bqtcCB0aW4gbmjhuq10IGvDvS5cbiIKKworI34gbXNnaWQgIiAtbiwgLS1saW5lcyA8bnVtYmVyPiAgIG91dHB1dCB0aGUgbGFzdCA8bnVtYmVyPiBsaW5lc1xuIgorI34gbXNnc3RyICIgLW4sIC0tbGluZXMgPHPhu5E+ICAgICAgeHXhuqV0IHJhIDxz4buRPiBkw7JuZyBjdeG7kWlcbiIKKworI34gbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICAgIHNhbWUgYXMgJy1uIDxudW1iZXI+J1xuIgorI34gbXNnc3RyICIgLTxz4buRPiAgICAgICAgICAgICAgICAgIGdp4buRbmcgduG7m2kg4oCcLW4gPHPhu5E+4oCdXG4iCisKKyN+IG1zZ2lkICJubyBpbnB1dCBmaWxlIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiY2jGsGEgZ2hpIHLDtSB04bqtcCB0aW4gxJHhuqd1IHbDoG8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGlzIG5vdCBhIGZpbGUiCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIHNlY2NvbXAgY29udGV4dCIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGto4bufaSB04bqhbyBsb29wY3h0IgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBhZGQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICLEkeG7jWMgdOG7kWMgxJHhu5kgZ+G6t3AgbOG7l2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGxvYWQgc2VjY29tcCBydWxlIgorI34gbXNnc3RyICLEkeG7jWMgdOG7kWMgxJHhu5kgZ+G6t3AgbOG7l2kiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmlsZXN5c3RlbSBsYWJlbDoiCisjfiBtc2dzdHIgIm5ow6NuIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSDEkeG6t3QgYmnhur9uIFBBVEggKMSQxq/hu5xORy1E4bqqTikiCisKKyN+IG1zZ2lkICIlZCIKKyN+IG1zZ3N0ciAiJWQiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAidmnhu4djIGTDuW5nIHTDuXkgY2jhu41uIOKAnGtpbGwgLS1waWTigJ0gbmjGsCBsw6AgbOG7h25oIGLhu4sgcGjhuqNuIMSR4buRaSIKKworI34gbXNnaWQgImV4cGVjdGVkIGEgbnVtYmVyLCBidXQgZ290ICclcyciCisjfiBtc2dzdHIgImPhuqduIGNvbiBz4buRLCBuaMawbmcgbOG6oWkgbmjhuq1uIMSRxrDhu6NjIOKAnCVz4oCdIgorCisjfiBtc2dpZCAiZGl2aXNvciAnJXMnIgorI34gbXNnc3RyICJz4buRIGNoaWEg4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgInNhaSDEkeG7kWkgc+G7kTogJXMiCisKKyN+IG1zZ2lkICJ0dHkgcGF0aCAlcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAixJHGsOG7nW5nIGThuqtuIHR0eSAlcyBxdcOhIGTDoGkiCisKKyN+IG1zZ2lkICJiYWQgdGltZW91dCB2YWx1ZTogJXMiCisjfiBtc2dzdHIgImdpw6EgdHLhu4sgdGjhu51pIGdpYW4gY2jhu50gdOG7kWkgxJFhIGLhu4sgc2FpOiAlcyIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICIlczogbOG7l2kgcGjDom4gdMOtY2ggdOG6oWkgZMOybmcgJWQiCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6IGlnbm9yZSBlbnRyeSBhdCBsaW5lICVkLiIKKyN+IG1zZ3N0ciAiJXM6IGzhu5dpIHBow6JuIHTDrWNoIGPDuiBwaMOhcDogYuG7jyBxdWEgbeG7pWMgdOG6oWkgZMOybmcgJWQuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBub3Qgc2V0dXAgdGltZXIiCisjfiBtc2dzdHIgImtow7RuZyDEkeG6t3QgxJHGsOG7o2MgbcOjIHPhu5EgbmjDs20gKEdJRCkiCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgImtow6FjIgorCisjfiBtc2dpZCAic2FtZSIKKyN+IG1zZ3N0ciAiZ2nhu5FuZyBuaGF1IgorCisjfiBtc2dpZCAiY2Fubm90IGFjY2VzcyBmaWxlICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgdHJ1eSBj4bqtcCB04bqtcCB0aW4gJXMiCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMga2jDtG5nIHBo4bqjaSBsw6AgdGhp4bq/dCBi4buLIGto4buRaSDEkeG6t2MgYmnhu4d0IgorCisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlcyB0aGnhur90IGLhu4sga2jDtG5nIMSRxrDhu6NjIMSR4buTbmcgY2jhu4luaCIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIOG7lSDEkcSpYSBDOiDhuqluIgorCisjfiBtc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgZGV2aWNlIHBhdGgiCisjfiBtc2dzdHIgIiVzOiBs4buXaSBraGkgbOG6pXkgxJHGsOG7nW5nIGThuqtuIHRoaeG6v3QgYuG7iyIKKworI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICIlczoga2jDtG5nIGhp4buDdSB0w6puIHRoaeG6v3QgYuG7iyIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgbOG6pXkgdMOqbiBkbSIKKworI34gbXNnaWQgInRoZSBzb3J0IGNvbHVtbiBoYXMgdG8gYmUgYW1vbmcgdGhlIG91dHB1dCBjb2x1bW5zIgorI34gbXNnc3RyICJj4buZdCBz4bqvcCB44bq/cCBwaOG6o2kgbMOgIHRyb25nIHPhu5EgY8OhYyBj4buZdCB4deG6pXQiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIMSRxrDhu51uZyBk4bqrbiB04bubaSB04bqtcCB0aW4gcGlkXG4iCisjfiAiIC1zLCAtLXNvY2tldCA8cGF0aD4gICAgIMSRxrDhu51uZyBk4bqrbiB04bubaSBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgY2jhu4kgxJHhu4tuaCB0aOG7nWkgZ2lhbiBob+G6oXQgxJHhu5luZyB04buRaSDEkWFcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAgZGnhu4d0IGThu4tjaCB24bulIChkYWVtb24pIMSRYW5nIGNo4bqheVxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICBraeG7g20gdHJhIHThuqFvIHPhu5Egbmfhuqt1IG5oacOqblxuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICBraeG7g20gdHJhIHThuqFvIHRo4budaSBnaWFuIGPGoSBz4bufXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHnDqnUgY+G6p3Ugc+G7kSBj4bunYSB1dWlkc1xuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBraMO0bmcgcuG6vSBuaMOhbmggdHV54bq/biB0csOsbmggc+G7rSBk4bulbmcgZm9yay1rw6lwXG4iCisjfiAiIC1TLCAtLXNvY2tldC1hY3RpdmF0aW9uIGtow7RuZyB04bqhbyDhu5UgY+G6r20gKHNvY2tldCkgbOG6r25nIG5naGVcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgY2jhuqF5IHRyb25nIGNo4bq/IMSR4buZIGfhu6EgbOG7l2lcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgYuG6rXQgY2jhur8gxJHhu5kgaW0gbOG6t25nXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBwb2xpY3kiCisjfiBtc2dzdHIgImtow7RuZyBoaeG7g3UgY2jDrW5oIHPDoWNoIHRo4budaSBraMOzYSBiaeG7g3UiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxz4buRPiAgIGtob+G6o25nIGLDuSAob2Zmc2V0KSB0w61uaCB0aGVvIGJ5dGVzIMSR4buDIG3DoCBi4buPIHF1YSB04burIMSRw7NcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxz4buRPiAgIMSR4buZIGTDoGkgYnl0ZSDEkeG7gyBi4buPIHF1YSB0w61uaCB04burIGtob+G6o25nIGLDuSAob2Zmc2V0KVxuIgorI34gIiAtcCwgLS1zdGVwIDxz4buRPiAgICAgY+G7oSBj4bunYSBixrDhu5tjIGzhurdwIGxv4bqhaSBi4buPIGLDqm4gdHJvbmcga2hv4bqjbmcgYsO5IFxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHRo4buxYyBoaeG7h24gbG/huqFpIGLhu48gYW4gdG/DoG5cbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBoaeG7g24gdGjhu4sgxJHhu5kgZMOgaSB2w6Aga2hv4bqjbmcgYsO5IGPEg24gY2jhu4luaFxuIgorCisjfiBtc2dpZCAiJXMgIC4lMDZkIHNlY29uZHNcbiIKKyN+IG1zZ3N0ciAiJXMgICUwNmQgZ2nDonlcbiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICJ0cmFuZyIKKworI34gbXNnaWQgIkRldmljZSBvcGVuIGluIHJlYWQtb25seSBtb2RlLiIKKyN+IG1zZ3N0ciAiVGhp4bq/dCBi4buLIG3hu58gdHJvbmcgY2jhur8gxJHhu5kgY2jhu4kgY2hvIMSR4buNYy4iCisKKyN+IG1zZ2lkICIiCisjfiAiVmVyeSBsb25nICglenUgYnl0ZXMpIGZpbGVuYW1lIGAlcycgZm91bmQuXG4iCisjfiAiIFBsZWFzZSBpbmNyZWFzZSBNQVhfSU5QVVRfTkFNRUxFTiBpbiBta2NyYW1mcy5jIGFuZCByZWNvbXBpbGUuICBFeGl0aW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIlTDrG0gdGjhuqV5IHThuq1wIHRpbiBy4bqldCBkw6BpICglenUgYnl0ZXMpIGzDoCDigJwlc+KAnS5cbiIKKyN+ICIgWGluIGjDo3kgdMSDbmcgZ2nDoSB0cuG7iyDigJxNQVhfSU5QVVRfTkFNRUxFTuKAnSB0cm9uZyB04bqtcCB0aW4g4oCcbWtjcmFtZnMuY+KAnSBy4buTaSBiacOqbiBk4buLY2ggbOG6oWkuICDEkGFuZyB0aG/DoXQuIgorCisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQgdsO5bmcgxJHhu4dtIGNobyBzacOqdSBraOG7kWkiCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnMgZm9yIG1hcHMiCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgcGjDom4gcGjhu5FpIGPDoWMgYuG7mSDEkeG7h20gY2hvIMOhbmggeOG6oSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCisjfiBtc2dzdHIgIiVzOiBLaMO0bmcgdGjhu4MgcGjDom4gcGjhu5FpIGLhu5kgxJHhu4dtIGNobyBjw6FjIGlub2RlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAgcHJvY2VzcyBpZFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgIG3DoyBz4buRIGPhu6dhIHRp4bq/biB0csOsbmhcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICDEkeG7i25oIG5naMSpYSBj4buZdCBr4bq/dCB4deG6pXQgbsOgbyBz4bq9IMSRxrDhu6NjIHPhu60gZOG7pW5nXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyDEkeG6p3UgxJHhu4FcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBz4butIGThu6VuZyDEkeG7i25oIGThuqFuZyBoaeG7g24gdGjhu4sgdGjDtFxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGtow7RuZyBj4bqvdCBj4buldCBjaOG7ryB0cm9uZyBjw6FjIGPhu5l0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTnVtYmVyIG9mIFNlbWFwaG9yZSBJRHMiCisjfiBtc2dzdHIgIlPhu5EgY3VuZyB04burIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxpc3RzIGFsbCBtb3VudHMgd2l0aCBMQUJFTHNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGtow7RuZyBn4buNaSBs4buHbmggdGnhur9wIGjhu6NwIG1vdW50LjxraeG7g3U+XG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxp4buHdCBrw6ogY8OhYyBn4bqvbiB24bubaSBOSMODTlxuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBraMO0bmcgZ2hpIHbDoG8gdOG6rXAgdGluIC9ldGMvbXRhYlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FpIGfDrCDEkWFuZyDEkcaw4bujYyB0aOG7sWMgaGnhu4duXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBn4bqvbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIOG7nyBjaOG6vyDEkeG7mSDEkeG7jWMtZ2hpICht4bq3YyDEkeG7i25oKVxuIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAgeHXhuqV0IGNoaSB0aeG6v3RcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbLWMgfCAtbCB0w6puX3Thuq1wX3Rpbl0gWy1uWFhdIFstaVhYXSAvZGV2L3TDqm4gW2to4buRaV0iCisKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVzOiBrw61jaCBj4buhIG7DunQgc2FpIgorCisjfiBtc2dpZCAidHlwZTogJWQiCisjfiBtc2dzdHIgImtp4buDdTogJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICLEkcSpYTogJS4qcyIKKworI34gbXNnaWQgImxhYmVsOiAlLipzIgorI34gbXNnc3RyICJuaMOjbjogJS4qcyIKKworI34gbXNnaWQgImZsYWdzOiAlcyIKKyN+IG1zZ3N0ciAiY+G7nTogJXMiCisKKyN+IG1zZ2lkICJieXRlcy9zZWN0b3I6ICVsZCIKKyN+IG1zZ3N0ciAiYnl0ZS9jdW5nIHThu6s6ICVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAiY3VuZy9yw6NuaCB04burOiAlbGQiCisKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAicsOjbmgvdHLhu6UgdOG7qzogJWxkIgorCisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICJjdW5nL3Ry4bulIHThu6s6ICVsZCIKKworI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICJ0cuG7pTogJWxkIgorCisjfiBtc2dpZCAicnBtOiAlZCIKKyN+IG1zZ3N0ciAidsOybmcgbeG7l2kgcGjDunQ6ICVkIgorCisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgInhlbiBr4bq9OiAlZCIKKworI34gbXNnaWQgInRyYWNrc2tldzogJWQiCisjfiBtc2dzdHIgIsSR4buZIGzhu4djaCByw6NuaDogJWQiCisKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICLEkOG7mSBs4buHY2ggdHLhu6U6ICVkIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICJjaHV54buDbiDEkeG6p3UgxJHhu41jOiAlbGQgKG1pbGxpIGdpw6J5KSIKKworI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyB04burbmcgcsOjbmggbeG7mXQ6ICVsZCAobWlsbGkgZ2nDonkpIgorCisjfiBtc2dpZCAicGFydGl0aW9uczogJWQiCisjfiBtc2dzdHIgInBow6JuIHbDuW5nOiAlZCIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIkLhuqFuIGtow7RuZyB0aOG7gyB0aGF5IMSR4buVaSBt4buZdCBwaMOibiB2w7luZyB0aMOgbmggbeG7nyBy4buZbmcgaGF5IG5nxrDhu6NjIGzhuqFpLiBIw6N5IHjDs2EgbsOzIHRyxrDhu5tjLiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIw6xuaCBo4buNYyBj4bunYSBuaMOjbjogJWQgxJHhuqd1IHThu6ssICVsbHUgY3VuZyB04burXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICVsbHUgdHLhu6UsICVkIHRy4bulIHbhuq10IGzDvVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAlZCBjdW5nL3Ry4bulIHThu6sgbeG7nyBy4buZbmcsIHhlbiBr4bq9ICVkOjFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgcnBtLCAlZCBhbHRlcm5hdGUgYW5kICVkIHBoeXNpY2FsIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjEiCisjfiBtc2dzdHIgIiIKKyN+ICJIw6xuaCBo4buNYyBuaMOjbjogJWQgcnBtLCAlZCBsdcOibiBwaGnDqm4gdsOgICVkIHRy4bulIHbhuq10IGzDvSxcbiIKKyN+ICIgICAgICAgICAgICAgICAlZCBjdW5nL3Ry4bulIHThu6sgbeG7nyBy4buZbmcsIHhlbiBr4bq9ICVkOjEiCisKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIjxraMO0bmc+IgorCisjfiBtc2dpZCAiZ2V0dGltZW9mZGF5IGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGdldHRpbWVvZmRheSAobOG6pXkgZ2nhu50pIgorCisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgImzhuqV5IHRow7RuZyB0aW4gaOG7hyB0aOG7kW5nIChzeXNpbmZvKSBn4bq3cCBs4buXaSIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogbGFzdCBbLSNdIFstZiB04bqtcF90aW5dIFstdCB0dHldIFstaCB0w6puX23DoXldIFtuZ8aw4budaV9kw7luZyDigKZdXG4iCisKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgIiVzOiBs4buXaSBtbWFwIgorCisjfiBtc2dpZCAiICBzdGlsbCBsb2dnZWQgaW4iCisjfiBtc2dzdHIgIiAgduG6q24gY8OybiDEkcSDbmcgbmjhuq1wIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInd0bXAgYmVnaW5zICVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAid3RtcCBi4bqvdCDEkeG6p3UgJXMiCisKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgIkzhu5dpIGdldGhvc3RuYW1lIChs4bqleSB0w6puIG3DoXkpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkcOjIG5n4bqvdCAlMTAuMTBzICU1LjVzIFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNjaGVkdWxpbmcgcG9saWNpZXM6XG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9PVEhFUlxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9SUiAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buLbmggdGjhu51pIGNow61uaCBzw6FjaFxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgxJHhurd0IGNow61uaCBzw6FjaCB0aMOgbmggU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIMSR4bq3dCBjaMOtbmggc8OhY2ggdGjDoG5oIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIMSR4bq3dCBjaMOtbmggc8OhY2ggdGjDoG5oIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIMSR4bq3dCBjaMOtbmggc8OhY2ggdGjDoG5oIFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICDEkeG6t3QgY2jDrW5oIHPDoWNoIHRow6BuaCBTQ0hFRF9SUiAobeG6t2MgxJHhu4tuaClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWEgfCAtLWFsbC10YXNrcyAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlTDuXkgY2jhu41uOlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHlcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIHTDoWMgxJHhu5luZyBsw6puIHRvw6BuIGLhu5kgY8OhYyB0w6FjIHbhu6UgKHR1eeG7g24pIGNobyBwaWQgxJHDoyBjaOG7iSByYVxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgaGnhu4NuIHRo4buLIG3hu6ljIMawdSB0acOqbiBo4bujcCBs4buHIGPhuqMgaGFpIHThu5FpIMSRYSB2w6AgdOG7kWkgdGhp4buDdVxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgdGhhbyB0w6FjIG3hu5l0IFBJRCBo4bujcCBs4buHIMSRw6MgY8OzXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHRy4bqhbmcgdGjDoWlcbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIHh14bqldCB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tYXV0by8tYSBvcHRpb24iCisjfiBtc2dzdHIgIsSR4buRaSBz4buRIGtow7RuZyBo4bujcCBs4buHIMSR4buRaSB24bubaSB0w7l5IGNo4buNbiAtLWF1dG8vLWEiCisKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tbWFudWFsZWplY3QvLWkgb3B0aW9uIgorI34gbXNnc3RyICLEkeG7kWkgc+G7kSBraMO0bmcgaOG7o3AgbOG7hyDEkeG7kWkgduG7m2kgdMO5eSBjaOG7jW4gLS1tYW51YWxlamVjdC8taSIKKworI34gbXNnaWQgIlNvcnJ5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIGNoYW5nZSB0aGUgU3lzdGVtIENsb2NrLiIKKyN+IG1zZ3N0ciAiUuG6pXQgdGnhur9jLCBuaMawbmcgY2jhu4kgbmfGsOG7nWkgZMO5bmcgcm9vdCBt4bubaSBjw7MgdGjhu4MgdGhheSDEkeG7lWkgxJDhu5NuZyBo4buTIEjhu4cgdGjhu5FuZy4iCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICJS4bqldCB0aeG6v2MsIG5oxrBuZyBjaOG7iSBuZ8aw4budaSBkw7luZyByb290IG3hu5tpIGPDsyB0aOG7gyB0aGF5IMSR4buVaSBraOG7n2kgxJHhuqd1IGPhu6dhxJDhu5NuZyBo4buTIFBo4bqnbiBj4bupbmcgdHJvbmcgbmjDom4uIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICJyZWFkKCkgdOG7m2kgJXMgxJHhu4MgY2jhu50gdGnhur9uZyB0w61jIHThuq9jIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIMSR4bq3dCBjaHXDtG5nIHJ0YyIKKworI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICJn4bq3cCBs4buXaSBraGkgY2hvIHBow6lwIMSR4bq3dCBjaHXDtG5nIHJ0YyIKKworI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICJ0cmVvIFwiJXNcIiBraMO0bmcgc+G6tW4gc8OgbmciCisKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAga2jDtG5nIGNoaWEgc+G6uyBraMO0bmcgZ2lhbiB0w6puIMSRaeG7g20gZ+G6r25cbiIKKworI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgLXUsIC0tdXRzICAgICAgICAgICAgICAgICBraMO0bmcgY2hpYSBz4bq7IGtow7RuZyBnaWFuIHTDqm4gVVRTICh0w6puIG3DoXkgdi52Li4pXG4iCisKKyN+IG1zZ2lkICIgLWksIC0taXBjICAgICAgICAgICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAga2jDtG5nIGNoaWEgc+G6uyBraMO0bmcgZ2lhbiB0w6puIOKAnFN5c3RlbSBWIElQQ+KAnVxuIgorCisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICBraMO0bmcgY2hpYSBz4bq7IGtow7RuZyBnaWFuIHTDqm4gbeG6oW5nXG4iCisKKyN+IG1zZ2lkICIgLVUsIC0tdXNlciAgICAgICAgICAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIGtow7RuZyBjaGlhIHPhursga2jDtG5nIGdpYW4gdMOqbiBuZ8aw4budaSBkw7luZ1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVtIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlczogJW0iCisKKyN+IG1zZ2lkICJmcmVhZCBmYWlsZWQiCisjfiBtc2dzdHIgImZyZWFkIGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiTWluaW1hbCBzaXplIGlzICVqdSIKKyN+IG1zZ3N0ciAiQ+G7oSB04buRaSB0aGnhu4N1IGzDoCAlanUiCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJUcuG7oyBnacO6cCBj4bunYSBjZmRpc2siCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAi4buVIMSRxKlhLiIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorI34gbXNnc3RyICJC4bqjbiBxdXnhu4FuIChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisKKyN+IG1zZ2lkICJCYXNlZCBvbiB0aGUgb3JpZ2luYWwgY2ZkaXNrIGZyb20gS2V2aW4gRS4gTWFydGluICYgYWViLiIKKyN+IG1zZ3N0ciAiROG7sWEgdHLDqm4gY2ZkaXNrIHThu6sgS2V2aW4gRS4gTWFydGluICYgYWViLiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAg4oCca2jDtG5n4oCdIgorCisjfiBtc2dpZCAiVG9vIHNtYWxsIHBhcnRpdGlvbiBzaXplIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkPhu6EgcGjDom4gdsO5bmcgxJHDoyBjaG8gbMOgIHF1w6Egbmjhu48uIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIlRoaeG6v3QgYuG7iyBt4bufIHRyb25nIGNo4bq/IMSR4buZIGNo4buJIGNobyDEkeG7jWMiCisKKyN+IG1zZ2lkICJzdGF0IGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIGzhuqV5IHRo4buRbmcga8OqICVzIgorCisjfiBtc2dpZCAiZmFpbGQgdG8gYWxsb2NhdGUgaXRlcmF0b3IiCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBj4bqlcCBwaMOhdCBpdGVyYXRvciAoYmnhur9uIGzhurdwKSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu586ICVzIgorCisjfiBtc2dpZCAiJXM6IHN0YXQgZmFpbGVkIgorI34gbXNnc3RyICIlczogbOG7l2kgbOG6pXkgdHLhuqFuZyB0aMOhaSIKKworI34gbXNnaWQgIiAgICAgLS1yZmM1NDI0Wz08bm90aW1lLG5vdHEsbm9ob3N0Pl1cbiIKKyN+IG1zZ3N0ciAiICAgICAtLXJmYzU0MjRbPTxub3RpbWUsbm90cSxub2hvc3Q+XVxuIgorCisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGxzdGF0IGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlNldHMgb3IgZ2V0cyB0aGUgSU8gc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgcHJvY2Vzc2VzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhurd0IGhheSBs4bqleSBs4bubcCB0w6FjIHbhu6UgVlIgdsOgIG3hu6ljIMawdSB0acOqbiBj4bunYSB0aeG6v24gdHLDrG5oLlxuIgorCisjfiBtc2dpZCAiUGxlYXNlLCBzZWxlY3QgYSB0eXBlIHRvIGNyZWF0ZSBhIG5ldyBkaXNrIGxhYmVsLiIKKyN+IG1zZ3N0ciAiVnVpIGzDsm5nIGNo4buNbiBraeG7g3UgxJHhu4MgdOG6oW8gbmjDo24gxJHEqWEgbeG7m2kuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFtjw6FjLXTDuXktY2jhu41uXSB0aGnhur90LWLhu4tcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtbiwgLS1uby12ZXJpZnkgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAga2jDtG5nIHRo4bqpbSDEkeG7i25oIHNhdSDEkeG7i25oIGThuqFuZ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiVXNhZ2U6XG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBta2ZzKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gbWtmcyg4KS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICIlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzICglcylcbiIKKworI34gbXNnaWQgIkJhZCBzd2FwIGhlYWRlciBzaXplLCBubyBsYWJlbCB3cml0dGVuLiIKKyN+IG1zZ3N0ciAiS8OtY2ggY+G7oSBwaOG6p24gxJHhuqd1IHNhaSBjaG8gYuG7mSBuaOG7myB0cmFvIMSR4buVaSwga2jDtG5nIGdoaSBuaMOjbiBuw6BvLiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMgLSBjYW5ub3Qgc2VlayB0byAlbHUiCisjfiBtc2dzdHIgImzhu5dpIGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgJXMgLSBraMO0bmcgdGjhu4MgZGkgY2h1eeG7g24gdOG7m2kgJWx1IgorCisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4IgorI34gbXNnc3RyICJs4buXaSBkaSBjaHV54buDbiB24buLIHRyw60gxJHhu41jOiBj4bqnbiAweCUwOHglMDh4LCBuaOG6rW4gxJHGsOG7o2MgMHglMDh4JTA4eCIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAibOG7l2kgxJHhu41jIHRyw6puICVzIC0ga2jDtG5nIHRo4buDIMSR4buNYyBjdW5nIHThu6sgJWxsdSIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbGx1IgorI34gbXNnc3RyICJs4buXaSBnaGkgdHLDqm4gJXMgLSBraMO0bmcgdGjhu4MgZ2hpIGN1bmcgdOG7qyAlbGx1IgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gcGFydGl0aW9uIHNlY3RvciBzYXZlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIGzGsHUgY3VuZyB04burIHBow6JuIHbDuW5nICglcykiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAibOG7l2kgZ2hpIHRyw6puICVzIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbOG6pXkgdGjhu5FuZyBrw6ogdOG6rXAgdGluIHBo4bulYyBo4buTaSBwaMOibiB2w7luZyAoJXMpIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgInThuq1wIHRpbiBwaOG7pWMgaOG7k2kgcGjDom4gdsO5bmcgY8OzIGvDrWNoIGPhu6Egc2FpIC0ga2jDtG5nIHBo4bulYyBo4buTaSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIHBo4bulYyBo4buTaSBwaMOibiB2w7luZyAoJXMpIgorCisjfiBtc2dpZCAiZXJyb3IgcmVhZGluZyAlcyIKKyN+IG1zZ3N0ciAibOG7l2kgxJHhu41jICVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB0aGnhur90IGLhu4sgJXMgxJHhu4MgZ2hpIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyBzZWN0b3IgJWx1IG9uICVzIgorI34gbXNnc3RyICJs4buXaSBnaGkgY3VuZyB04burICVsdSB0csOqbiAlcyIKKworI34gbXNnaWQgIkRpc2sgJXM6IGNhbm5vdCBnZXQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIsSQxKlhICVzOiBraMO0bmcgdGjhu4MgbOG6pXkgY+G6pXUgdHLDumMiCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIsSQxKlhICVzOiBraMO0bmcgdGjhu4MgbOG6pXkga8OtY2ggY+G7oSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiDEkeG6p3U9JWx1IC0gZ2nhu5FuZyBt4buZdCBwaMOibiB2w7luZyBoxqFuIGzDoCBj4bqjIG3hu5l0IMSRxKlhLlxuIgorI34gIlPhu60gZOG7pW5nIGZkaXNrIGPDsyB0aOG7gyBraMO0bmcgY8OzIMO9IG5naMSpYSBnw6wuXG4iCisjfiAiW1Phu60gZOG7pW5nIHTDuXkgY2jhu41uIC0tZm9yY2UgbuG6v3UgYuG6oW4gdGjhu7FjIHPhu7EgbXXhu5FuXSIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGhlYWRzIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogSERJT19HRVRHRU8gbsOzaSBjw7MgJWx1IMSR4bqndSDEkeG7jWMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBIRElPX0dFVEdFTyBzYXlzIHRoYXQgdGhlcmUgYXJlICVsdSBzZWN0b3JzIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogSERJT19HRVRHRU8gbsOzaSBjw7MgJWx1IGN1bmcgdOG7qyIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogQkxLR0VUU0laRS9IRElPX0dFVEdFTyBuw7NpIGPDsyAlbHUgdHLhu6UiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdW5saWtlbHkgbnVtYmVyIG9mIHNlY3RvcnMgKCVsdSkgLSB1c3VhbGx5IGF0IG1vc3QgNjNcbiIKKyN+ICJUaGlzIHdpbGwgZ2l2ZSBwcm9ibGVtcyB3aXRoIGFsbCBzb2Z0d2FyZSB0aGF0IHVzZXMgQy9IL1MgYWRkcmVzc2luZy4iCisjfiBtc2dzdHIgIiIKKyN+ICJD4bqjbmggYsOhbzoga2jDtG5nIGdp4buRbmcgc+G7kSBjdW5nIHThu6sgKCVsdSkgLSB0aMaw4budbmcgbmhp4buBdSBuaOG6pXQgbMOgIDYzXG4iCisjfiAiU+G6vSBu4bqjeSBzaW5oIHbhuqVuIMSR4buBIHbhu5tpIHThuqV0IGPhuqMgcGjhuqduIG3hu4FtIHPhu60gZOG7pW5nIGPDoWNoIMSRw6FuaCDEkeG7i2EgY2jhu4kgQy9IL1MuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsdSBjeWxpbmRlcnMsICVsdSBoZWFkcywgJWx1IHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQxKlhICVzOiAlbHUgdHLhu6UsICVsdSDEkeG6p3UgxJHhu41jLCAlbHUgY3VuZyB04burL3LDo25oXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgY+G7p2EgcGjDom4gdsO5bmcgJXMgY8OzIHPhu5EgxJHhuqd1IMSR4buNYyBraMO0bmcgdGjhu4MgY8OzOiAlbHUgKHBo4bqjaSB0cm9uZyBraG/huqNuZyAwLSVsdSkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICIlcyBj4bunYSBwaMOibiB2w7luZyAlcyBjw7Mgc+G7kSBjdW5nIHThu6sga2jDtG5nIHRo4buDIGPDszogJWx1IChwaOG6o2kgdHJvbmcga2hv4bqjbmcgMS0lbHUpIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBjeWxpbmRlcnM6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAiJXMgY+G7p2EgcGjDom4gdsO5bmcgJXMgY8OzIHPhu5EgdHLhu6Uga2jDtG5nIHRo4buDIGPDszogJWx1IChwaOG6o2kgdHJvbmcga2hv4bqjbmcgMS0lbHUpIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICLEkGFuZyDEkeG7jWMgbOG6oWkgYuG6o25nIHBow6JuIHbDuW5nIOKAplxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBjb21tYW5kIHRvIHJlLXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuXG4iCisjfiAiUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB5b3VyIHN5c3RlbSBub3csXG4iCisjfiAiYmVmb3JlIHVzaW5nIG1rZnMiCisjfiBtc2dzdHIgIiIKKyN+ICJH4bq3cCBs4buXaSBraGkgY2jhuqF5IGPDonUgbOG7h25oIMSR4buNYyBs4bqhaSBi4bqjbmcgcGjDom4gdsO5bmcuXG4iCisjfiAiSMOjeSBjaOG6oXkgY8O0bmcgY+G7pSBwYXJ0cHJvYmUoOCkgaGF5IGtwYXJ0eCg4KSxcbiIKKyN+ICJob+G6t2Mga2jhu59pIMSR4buZbmcgbOG6oWkgaOG7hyB0aOG7kW5nIG5nYXkgYsOieSBnaeG7nSxcbiIKKyN+ICJ0csaw4bubYyBraGkgZMO5bmcgbWtmcy4iCisKKyN+IG1zZ2lkICJFcnJvciBjbG9zaW5nICVzIgorI34gbXNnc3RyICJH4bq3cCBs4buXaSBraGkgxJHDs25nICVzIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgY8OzIHBow6JuIHbDuW5nIG5oxrAgduG6rXlcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBmb3JtYXQgLSB1c2luZyBzZWN0b3JzIgorI34gbXNnc3RyICLEkeG7i25oIGThuqFuZyBraMO0bmcgbmjhuq1uIHJhIC0gc+G7rSBk4bulbmcgY3VuZyB04burIgorCisjfiBtc2dpZCAidW5pbXBsZW1lbnRlZCBmb3JtYXQgLSB1c2luZyAlcyIKKyN+IG1zZ3N0ciAixJHhu4tuaCBk4bqhbmcgY2jGsGEgxJHGsOG7o2Mgdmnhur90IG3DoyAtIHPhu60gZOG7pW5nICVzIgorCisjfiBtc2dpZCAic2VjdG9ycyIKKyN+IG1zZ3N0ciAiY3VuZyB04burIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAixJDGoW4gduG7izogdHLhu6UgJWx1IGJ5dGUsIGto4buRaSAxMDI0IGJ5dGUsIMSR4bq/bSB04burICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgICAgRW5kICAgI2N5bHMgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAgVGIuS2jhu59pIMSR4buZbmcgxJDhuqd1ICAgICAgQ3Xhu5FpICAjdHLhu6UgICAgICNraOG7kWkgICAgIElkICBI4buHIHRo4buRbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIsSQxqFuIHbhu4s6IHNlY3RvciA1MTIgYnl0ZSwgxJHhur9tIHThu6sgJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgIFN0YXJ0ICAgICAgIEVuZCAgICNzZWN0b3JzICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiBUYi5LaOG7n2kgxJHhu5luZyAgICAgxJDhuqd1ICAgICAgICAgQ3Xhu5FpICAjY3VuZyB04burIElkICBI4buHIHRo4buRbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIsSQxqFuIHbhu4s6IGto4buRaSAxMDI0IGJ5dGUsIMSR4bq/bSB04burICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICBULmLhu4sgIEsuxJHhu5luZyAgxJDhuqd1ICAgICAgICAgQ3Xhu5FpICAgI0to4buRaSAgICAgSWQgIEjhu4cgdGjhu5FuZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAixJDGoW4gduG7izogMU1pQiA9IDEwMjQqMTAyNCBieXRlcywga2jhu5FpIGPDoWMgMTAyNCBieXRlLCDEkeG6v20gdOG7qyAlZFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIFQuYuG7iyAgIEsuxJHhu5luZyDEkOG6p3UgICBDdeG7kWkgICBNaUIgICAgI0to4buRaSAgICAgSWQgIEjhu4cgdGjhu5FuZ1xuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx0xJHhuqd1OiAoYyxoLHMpIGPhuqduICglbGQsJWxkLCVsZCkgdMOsbSB0aOG6pXkgKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdGN14buRaTogKGMsaCxzKSBj4bqnbiAoJWxkLCVsZCwlbGQpIHTDrG0gdGjhuqV5ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAicGjDom4gdsO5bmcga+G6v3QgdGjDumMgdHLDqm4gdHLhu6UgJWxkLCB2xrDhu6N0IHF1w6EgxJFp4buDbSBjdeG7kWkgY+G7p2EgxJHEqWFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS4iCisjfiBtc2dzdHIgIiIKKyN+ICJD4bqjbmggYsOhbzogQuG6o25nIHBow6JuIHbDuW5nIGPDsyB24bq7IG5oxrAgxJHGsOG7o2MgdOG6oW8gcmFcbiIKKyN+ICJ24bubaSBDL0gvUz0qLyVsZC8lbGQgKHRoYXkgdsOsICVsZC8lbGQvJWxkKS5cbiIKKyN+ICJUw7RpIHPhur0gdGjhu6thIG5o4bqtbiBj4bqldSB0csO6YyDEkcOzIGNobyBkYW5oIHPDoWNoIG7DoHkuIgorCisjfiBtc2dpZCAibm8gcGFydGl0aW9uIHRhYmxlIHByZXNlbnQiCisjfiBtc2dzdHIgImtow7RuZyBjw7MgYuG6o25nIHBow6JuIHbDuW5nIG7DoG8gaGnhu4duIGRp4buHbiIKKworI34gbXNnaWQgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9uIGRlZmluZWQiCisjfiBtc2dpZF9wbHVyYWwgInN0cmFuZ2UsIG9ubHkgJWQgcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyWzBdICJr4buzIGzhuqEsIGNo4buJIGPDsyAlZCBwaMOibiB2w7luZyDEkcaw4bujYyDEkeG7i25oIG5naMSpYSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBoYXMgc2l6ZSAwIGJ1dCBpcyBub3QgbWFya2VkIEVtcHR5IgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogcGjDom4gdsO5bmcgJXMgY8OzIGvDrWNoIGPhu6EgMCBuaMawbmcga2jDtG5nIMSRxrDhu6NjIMSRw6FuaCBk4bqldSBy4buXbmciCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBjw7Mga8OtY2ggY+G7oSAwIHbDoCBjw7MgdGjhu4Mga2jhu59pIMSR4buZbmciCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgbm9uemVybyBzdGFydCIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IHBow6JuIHbDuW5nICVzIGPDsyBrw61jaCBj4buhIDAgdsOgIMSRaeG7g20gxJHhuqd1IGtow6FjIDAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaXMgbm90IGNvbnRhaW5lZCBpbiBwYXJ0aXRpb24gJXMiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyDigJwlc+KAnSBraMO0bmcgxJHGsOG7o2MgY2jhu6lhIHRyb25nIHBow6JuIHbDuW5nICVzIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IHBow6JuIHbDuW5nICVzIHbDoCAlcyBjaOG7k25nIGzDqm4gbmhhdSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZCIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBjaOG7qWEgbeG7mXQgcGjhuqduIGPhu6dhIGLhuqNuZyBwaMOibiB2w7luZyAoY3VuZyB04burICVsbHUpLFxuIgorI34gInbDoCBz4bq9IHBow6EgaOG7p3kgbsOzIGtoaSDEkcaw4bujYyDEkWnhu4FuIMSR4bqneSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yIDAiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBi4bqvdCDEkeG6p3UgdOG6oWkgY3VuZyB04burIDAiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgZXh0ZW5kcyBwYXN0IGVuZCBvZiBkaXNrIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogcGjDom4gdsO5bmcgJXMga8OpbyBkw6BpIHF1w6EgxJFp4buDbSBjdeG7kWkgxJHEqWEiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplICVkLiVkIFRCICglbGx1IGJ5dGVzKSxcbiIKKyN+ICJ3aGljaCBpcyBsYXJnZXIgdGhhbiB0aGUgJWxsdSBieXRlcyBsaW1pdCBpbXBvc2VkXG4iCisjfiAiYnkgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgZm9yICVkLWJ5dGUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBjw7Mga8OtY2ggdGjGsOG7m2MgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gIm3DoCBuw7MgbOG7m24gaMahbiBnaeG7m2kgaOG6oW4gJWxsdSBieXRlcyBi4buLIGLhuq90IGJ14buZY1xuIgorI34gImLhu59pIGLhuqNuZyBwaMOibiB2w7luZyBraeG7g3UgRE9TIGNobyAlZC1ieXRlIHLDo25oIChzZWN0b3JzKSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAlbGx1ICglZC4lZCBUQiBmb3IgJWQtYnl0ZSBzZWN0b3JzKSxcbiIKKyN+ICJ3aGljaCBleGNlZWRzIHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGxpbWl0IG9mICVsbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlcyBi4bqvdCDEkeG6p3UgdOG6oWkgY3VuZyB04burIChzZWN0b3IpICVsbHUgKCVkLiVkIFRCIGNobyBjdW5nIHThu6sgJWQtYnl0ZSksXG4iCisjfiAibcOgIG7DsyDEkcOjIHbGsOG7o3QgZ2nhu5tpIGjhuqFuIGLhuqNuZyBwaMOibiB2w7luZyBraeG7g3UgRE9TIGPhu6dhICVsbHUgY3VuZyB04burIgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIlRyb25nIHPhu5EgY8OhYyBwaMOibiB2w7luZyBjaMOtbmgsIG5oaeG7gXUgbmjhuqV0IGNo4buJIGPDsyBt4buZdCBsw6AgbeG7nyBy4buZbmdcbiIKKyN+ICIgKG3hurdjIGTDuSDEkcOieSBraMO0bmcgcGjhuqNpIGzDoCB24bqlbiDEkeG7gSBkxrDhu5tpIExpbnV4KSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogcGjDom4gdsO5bmcgJXMga2jDtG5nIGLhuq90IMSR4bqndSB0csOqbiByYW5oIGdp4bubaSB0cuG7pSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBlbmQgYXQgYSBjeWxpbmRlciBib3VuZGFyeSIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IHBow6JuIHbDuW5nICVzIGtow7RuZyBr4bq/dCB0aMO6YyB0csOqbiByYW5oIGdp4bubaSB0cuG7pSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAiQ+G6o25oIGLDoW86IGPDsyBuaGnhu4F1IGjGoW4gbeG7mXQgcGjDom4gdsO5bmcgY2jDrW5oIMSRxrDhu6NjIMSRw6FuaCBk4bqldSBjw7MgdGjhu4Mga2jhu59pXG4iCisjfiAixJHhu5luZy4gxJDDonkga2jDtG5nIHBo4bqjaSBsw6AgduG6pW4gxJHhu4EgxJHhu5FpIHbhu5tpIExJTE8sIG5oxrBuZyBNQlIgY+G7p2EgRE9TIHPhur0ga2jDtG5nXG4iCisjfiAia2jhu59pIMSR4buZbmcgxJHEqWEgbsOgeS4iCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiB0aMO0bmcgdGjGsOG7nW5nIG5nxrDhu51pIGTDuW5nIGNo4buJIGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZyB04burIHBow6JuIHbDuW5nXG4iCisjfiAiY2jDrW5oLiBMSUxPIGtow7RuZyBxdWFuIHTDom0gxJHhur9uIGPhu50g4oCcY8OzIHRo4buDIGto4bufaSDEkeG7mW5n4oCdLiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBubyBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUgKGFjdGl2ZSlcbiIKKyN+ICJUaGlzIGRvZXMgbm90IG1hdHRlciBmb3IgTElMTywgYnV0IHRoZSBET1MgTUJSIHdpbGwgbm90IGJvb3QgdGhpcyBkaXNrLiIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBraMO0bmcgY8OzIHBow6JuIHbDuW5nIGNow61uaCBuw6BvIMSRxrDhu6NjIMSRw6FuaCBk4bqldSBjw7MgdGjhu4Mga2jhu59pXG4iCisjfiAixJHhu5luZy4gxJDDonkga2jDtG5nIHBo4bqjaSBsw6AgduG6pW4gxJHhu4EgxJHhu5FpIHbhu5tpIExJTE8sIG5oxrBuZyBNQlIgY+G7p2EgRE9TIHPhur0ga2jDtG5nXG4iCisjfiAia2jhu59pIMSR4buZbmcgxJHEqWEgbsOgeS4iCisKKyN+IG1zZ2lkICJzdGFydCIKKyN+IG1zZ3N0ciAixJHhuqd1IgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzOiBzdGFydDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBow6JuIHbDuW5nICVzOiDEkeG6p3U6IChjLGgscykgY+G6p24gKCVsZCwlbGQsJWxkKSB0w6xtIHRo4bqleSAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICJjdeG7kWkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgInBow6JuIHbDuW5nICVzOiBjdeG7kWk6IChjLGgscykgY+G6p24gKCVsZCwlbGQsJWxkKSB0w6xtIHRo4bqleSAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlzayIKKyN+IG1zZ3N0ciAicGjDom4gdsO5bmcgJXMga+G6v3QgdGjDumMgdHLDqm4gdHLhu6UgJWxkLCB2xrDhu6N0IHF1w6EgxJFp4buDbSBjdeG7kWkgY+G7p2EgxJHEqWEiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogc2hpZnRlZCBzdGFydCBvZiB0aGUgZXh0ZCBwYXJ0aXRpb24gZnJvbSAlbGxkIHRvICVsbGRcbiIKKyN+ICIoRm9yIGxpc3RpbmcgcHVycG9zZXMgb25seS4gRG8gbm90IGNoYW5nZSBpdHMgY29udGVudHMuKSIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqNuaCBiw6FvOiBk4buLY2ggY2h1eeG7g24gxJHhuqd1IGPhu6dhIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIHThu6sgJWxsZCB04bubaSAlbGxkXG4iCisjfiAiIChDaOG7iSB24bubaSBt4bulYyDEkcOtY2ggbGnhu4d0IGvDqi4gS2jDtG5nIHRoYXkgxJHhu5VpIG7hu5lpIGR1bmcuKSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICJD4bqjbmggYsOhbzogcGjDom4gdsO5bmcgbeG7nyBy4buZbmcga2jDtG5nIGLhuq90IMSR4bqndSB0csOqbiByYW5oIGdp4bubaSB0cuG7pS5cbiIKKyN+ICJET1MgdsOgIExpbnV4IHPhur0gYmnDqm4gZOG7i2NoIG7hu5lpIGR1bmcgbeG7mXQgY8OhY2gga2jDoWMgbmhhdS4iCisKKyN+IG1zZ2lkICJFUlJPUjogc2VjdG9yICVsbHUgZG9lcyBub3QgaGF2ZSBhbiBtc2RvcyBzaWduYXR1cmUiCisjfiBtc2dzdHIgIkzhu5ZJOiBjdW5nIHThu6sgJWxsdSBraMO0bmcgY8OzIGvDvSBoaeG7h3UgY+G7p2EgbXNkb3MiCisKKyN+IG1zZ2lkICJ0b28gbWFueSBwYXJ0aXRpb25zIC0gaWdub3JpbmcgdGhvc2UgcGFzdCBuciAoJXp1KSIKKyN+IG1zZ3N0ciAicXXDoSBuaGnhu4F1IHBow6JuIHbDuW5nIC0gYuG7jyBxdWEgbmjhu69uZyBwaMOibiB2w7luZyBzYXUgbnIgKCV6dSkiCisKKyN+IG1zZ2lkICJ0cmVlIG9mIHBhcnRpdGlvbnM/IgorI34gbXNnc3RyICJjw6J5IHBow6JuIHbDuW5nPyIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdCIKKyN+IG1zZ3N0ciAidMOsbSB0aOG6pXkgVHLDrG5oIFF14bqjbiBMw70gxJDEqWEgLSBuaMawbmcga2jDtG5nIHRo4buDIMSRaeG7gXUga2hp4buDbiBuw7MiCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICJLaMO0bmcgdMOsbSB0aOG6pXkgZOG6pXUgaGnhu4d1IERNNiAtIGLDsyB0YXkiCisKKyN+IG1zZ2lkICJzdHJhbmdlLi4uLCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gb2Ygc2l6ZSAwPyIKKyN+IG1zZ3N0ciAia+G7syBs4bqh4oCmLCBt4buZdCBwaMOibiB2w7luZyBt4bufIHLhu5luZyB24bubaSBrw61jaCBj4buhIDA/IgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgImvhu7MgbOG6oWnigKYsIG3hu5l0IHBow6JuIHbDuW5nIEJTRCB24bubaSBrw61jaCBj4buhIDA/IgorCisjfiBtc2dpZCAiLW4gZmxhZyB3YXMgZ2l2ZW46IE5vdGhpbmcgY2hhbmdlZCIKKyN+IG1zZ3N0ciAixJHDoyDEkcawYSByYSBj4budIC1uOiBLaMO0bmcgY8OzIGfDrCB0aGF5IMSR4buVaSIKKworI34gbXNnaWQgIkZhaWxlZCBzYXZpbmcgdGhlIG9sZCBzZWN0b3JzIC0gYWJvcnRpbmdcbiIKKyN+IG1zZ3N0ciAiTOG7l2kgZ2hpIGN1bmcgdOG7qyBjxakgLSDEkWFuZyBk4burbmcgbOG6oWlcbiIKKworI34gbXNnaWQgIkZhaWxlZCB3cml0aW5nIHRoZSBwYXJ0aXRpb24gb24gJXMiCisjfiBtc2dzdHIgIkfhurdwIGzhu5dpIGtoaSBnaGkgcGjDom4gdsO5bmcgdHLDqm4gJXMiCisKKyN+IG1zZ2lkICJsb25nIG9yIGluY29tcGxldGUgaW5wdXQgbGluZSAtIHF1aXR0aW5nIgorI34gbXNnc3RyICJkw7JuZyBuaOG6rXAgdsOgbyBkw6BpIGhheSBraMO0bmcgxJHhuqd5IMSR4bunIC0gxJFhbmcgdGhvw6F0IgorCisjfiBtc2dpZCAiaW5wdXQgZXJyb3I6IGA9JyBleHBlY3RlZCBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAibOG7l2kgbmjhuq1wOiBj4bqnbiDigJw94oCdIHNhdSB0csaw4budbmcgJXMiCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgImzhu5dpIG5o4bqtcDogY+G6p24ga8O9IHThu7EgJWMgc2F1IHbDuW5nICVzIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAiZOG7ryBsaeG7h3UgdsOgbyBraMO0bmcgbmjhuq1uIHJhOiAlcyIKKworI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICJz4buRIHF1w6EgbOG7m24iCisKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlciIKKyN+IG1zZ3N0ciAiZ+G6t3AgcsOhYyBzYXUgY29uIHPhu5EiCisKKyN+IG1zZ2lkICJubyByb29tIGZvciBwYXJ0aXRpb24gZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAia2jDtG5nIGPDsyBjaOG7lyBjaG8gbcO0IHThuqMgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgdOG6oW8gcGjDom4gdsO5bmcgbeG7nyBy4buZbmcgYmFvIHF1YW5oIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzIgorI34gbXNnc3RyICJxdcOhIG5oaeG7gXUgdHLGsOG7nW5nIG5o4bqtcCB2w6BvIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAiS2jDtG5nIGPDsm4gY2jhu5cgdHLhu5FuZyIKKworI34gbXNnaWQgIklsbGVnYWwgdHlwZSIKKyN+IG1zZ3N0ciAiS2nhu4N1IGtow7RuZyBo4bujcCBs4buHIgorCisjfiBtc2dpZCAiV2FybmluZzogZ2l2ZW4gc2l6ZSAoJWxsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsbHUpIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzoga8OtY2ggY+G7oSDEkcawYSByYSAoJWxsdSkgdsaw4bujdCBxdcOhIGvDrWNoIGPhu6EgdOG7kWkgxJFhIGNobyBwaMOpcCAoJWxsdSkiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyBy4buXbmciCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgcGFydGl0aW9uIHN0YXJ0IChlYXJsaWVzdCAlbGx1KSIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IMSRaeG7g20gxJHhuqd1IHBow6JuIHbDuW5nIHNhaSAodHLGsOG7m2MgJWxsdSkiCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICoiCisjfiBtc2dzdHIgImtow7RuZyBuaOG6rW4gcmEgY+G7nSBjw7MgdGjhu4Mga2jhu59pIMSR4buZbmcgLSBjaOG7jW4gLSBoYXkgKiIKKworI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgIsSR4bq3YyB04bqjIHJpw6puZyBwaMOibiB2w7luZyBjLGgscz8iCisKKyN+IG1zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gbm90IHdoZXJlIGV4cGVjdGVkIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBt4bufIHLhu5luZyBraMO0bmcg4bufIGNo4buXIG1vbmcgxJHhu6NpIgorCisjfiBtc2dpZCAiYmFkIGlucHV0IgorI34gbXNnc3RyICJk4buvIGxp4buHdSB2w6BvIHNhaSIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgInF1w6Egbmhp4buBdSBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIkThu68gbGnhu4d1IHbDoG8gdHJvbmcgxJHhu4tuaCBk4bqhbmcgc2F1OyBkw7luZyBnacOhIHRy4buLIG3hurdjIMSR4buLbmggY2hvIGNo4buXIHRoaeG6v3UuXG4iCisjfiAiPMSR4bqndT4gPGvDrWNodGjGsOG7m2M+IDxsb+G6oWkgW0UsUyxMLFgsaGV4XT4gPGto4bufacSR4buZbmcgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlRow7RuZyB0aMaw4budbmcgYuG6oW4gY2jhu4kgY+G6p24gY2jhu4kgcsO1IDzEkeG6p3U+IHbDoCA8a8OtY2h0aMaw4bubYz4gKHbDoCBjw7MgdGjhu4MgPGxv4bqhaT4pLiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8dGhp4bq/dCBi4buLPuKAplxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvblxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIGNoYW5nZSBvciBwcmludCBwYXJ0aXRpb24gSWRcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICBjaGFuZ2UgSWRcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICBwcmludCBJZFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgbGnhu4d0IGvDqiBrw61jaCB0aMaw4bubYyBj4bunYSBt4buZdCBwaMOibiB2w7luZ1xuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIHRoYXkgxJHhu5VpIGhheSBoaeG7g24gdGjhu4sgSWQgcGjDom4gdsO5bmdcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICB0aGF5IMSR4buVaSBJZFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIGhp4buDbiB0aOG7iyBJZFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXRcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICBudW1iZXIgY3lsaW5kZXJzIGV0Yy4gZnJvbSAxIGluc3RlYWQgb2YgZnJvbSAwXG4iCisjfiAiIC11LCAtLXVuaXQgPGxldHRlcj4gICAgICAgdW5pdHMgdG8gYmUgdXNlZDsgPGxldHRlcj4gY2FuIGJlIG9uZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VjdG9ycyksIEMgKGN5bGluZGVycyksIEIgKGJsb2NrcyksIG9yIE0gKE1CKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgbGnhu4d0IGvDqiBjw6FjIHBow6JuIHbDuW5nIGPhu6dhIHThu6tuZyB0aGnhur90IGLhu4tcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBuaMawIHRyw6puLCBuaMawbmcg4bufIMSR4buLbmggZOG6oW5nIHBow7kgaOG7o3AgbMOgbSDEkeG6p3UgdsOgbyBzYXUgbsOgeVxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIHPhu5EgdHLhu6UgdsOtIGThu6UgdOG7qyAxIHRoYXkgdsOsIHThu6sgMFxuIgorI34gIiAtdSwgLS11bml0IDzEkcahbiB24buLPiAgICAgICBraeG7g3UgxJHGoW4gduG7iyBz4bq9IMSRxrDhu6NjIHPhu60gZOG7pW5nOyA8xJHGoW4gduG7iz4gY8OzIHRo4buDIGzDoCBt4buZdCB0cm9uZ1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUyAoc2VjdG9ycyksIEMgKGN5bGluZGVycyksIEIgKGJsb2NrcyksIGhheSBNIChNQilcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAgdMO5eSBjaOG7jW4gZOG7sSB0cuG7ryBuw6B5IGhp4buHbiB04bqhaSBraMO0bmcgbMOgbSBnw6wgY+G6o1xuIgorI34gIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgIGxp4buHdCBrw6ogY8OhYyBraeG7g3UgcGjDom4gdsO5bmdcbiIKKyN+ICIgLUQsIC0tRE9TICAgICAgICAgICAgICAgICBkw6BuaCDEkeG7gyB0xrDGoW5nIHRow61jaCB24bubaSBET1M6IGjGoWkgdOG7kW4ga2jDtG5nIGdpYW4gbeG7mXQgY2jDunRcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICB0xrDGoW5nIHRow61jaCB24bubaSBwaMOibiB2w7luZyBt4bufIHLhu5luZyBET1NcbiIKKyN+ICIgLVIsIC0tcmUtcmVhZCAgICAgICAgICAgICBsw6BtIGNobyBuaMOibiBjw7MgdGjhu4MgxJHhu41jIGLhuqNuZyBwaMOibiB2w7luZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTiA8bnVtYmVyPiAgICAgICAgICAgICAgIGNoYW5nZSBvbmx5IHRoZSBwYXJ0aXRpb24gd2l0aCB0aGlzIDxudW1iZXI+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IGFjdHVhbGx5IHdyaXRlIHRvIGRpc2tcbiIKKyN+ICIgLU8gPGZpbGU+ICAgICAgICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byA8ZmlsZT5cbiIKKyN+ICIgLUkgPGZpbGU+ICAgICAgICAgICAgICAgICByZXN0b3JlIHNlY3RvcnMgZnJvbSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTiA8c+G7kT4gICAgICAgICAgICAgICAgICAgdGhheSDEkeG7lWkgY2jhu4kgduG7m2kgcGjDom4gdsO5bmcgduG7m2kgPHPhu5E+IG7DoHlcbiIKKyN+ICIgLW4gICAgICAgICAgICAgICAgICAgICAgICBraMO0bmcgdGjhu7FjIHPhu7EgZ2hpIHbDoG8gxJHEqWFcbiIKKyN+ICIgLU8gPHThuq1wLXRpbj4gICAgICAgICAgICAgIGdoaSBjw6FjIGxpw6puIGN1bmcgbcOgIG7DsyBz4bq9IGLhu4sgZ2hpIMSRw6ggdsOgbyA8dOG6rXAtdGluPlxuIgorI34gIiAtSSA8dOG6rXAtdGluPiAgICAgICAgICAgICAgcGjhu6VjIGjhu5NpIGPDoWMgbGnDqm4gY3VuZyB04burIDx04bqtcC10aW4+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgY2hlY2sgdGhhdCB0aGUgbGlzdGVkIHBhcnRpdGlvbnMgYXJlIHJlYXNvbmFibGVcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICBraeG7g20gdHJhIHhlbSBi4bqjbmcgcGjDom4gdsO5bmcgxJHDoyBsaeG7h3Qga8OqIGPDsyBo4bujcCBsw70ga2jDtG5nXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHbDoCB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW4gbmd1eSBoaeG7g206XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgY29uc2lzdGVuY3kgY2hlY2tpbmdcbiIKKyN+ICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgcGFydGl0aW9uIGlzIGluIHVzZVxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIHdhcm5pbmcgbWVzc2FnZXNcbiIKKyN+ICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICB04bqvdCB04bqldCBj4bqjIHZp4buHYyBraeG7g20gdHJhIG5o4bqldCBxdcOhblxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGtow7RuZyBraeG7g20gdHJhIGTDuSBwaMOibiB2w7luZyDEkWFuZyBz4butIGThu6VuZ1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIGPhuqVtIGPDoWMgdGjDtG5nIHRpbiBj4bqjbmggYsOhb1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGtow7RuZyBwaMOgbiBuw6BuIHbhu4EgY8OhYyB0aOG7qSBraMO0bmcgdGjDrWNoIGjhu6NwIHbhu5tpIEhESCBMaW51eFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1zaG93LWdlb21ldHJ5ICAgICAgIHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeVxuIgorI34gIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIHByaW50IGdlb21ldHJ5IGd1ZXNzZWQgZnJvbSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBoaeG7g24gdGjhu4sgw70ga2nhur9uIGPhu6dhIG5ow6JuIHbhu4EgaMOsbmggaOG7jWMgY+G7p2EgxJHEqWFcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBoaeG7g24gdGjhu4sgaMOsbmggaOG7jWMgxrDhu5tjIMSRb8OhbiB04burIGLhuqNuZyBwaMOibiB2w7luZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIHRoZSBib290YWJsZSBmbGFnXG4iCisjfiAiIC1VLCAtLXVuaGlkZVs9PGRldmljZT5dICAgc2V0IHBhcnRpdGlvbiBhcyB1bmhpZGRlblxuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIGFsc28gbGlzdCBleHRlbmRlZCBwYXJ0aXRpb25zIGluIHRoZSBvdXRwdXQsXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvciBleHBlY3QgZGVzY3JpcHRvcnMgZm9yIHRoZW0gaW4gdGhlIGlucHV0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWN0aXZhdGVbPTx0aGnhur90LWLhu4s+XSBrw61jaCBob+G6oXQgY+G7nSBraOG7n2kgxJHhu5luZ1xuIgorI34gIiAtVSwgLS11bmhpZGVbPTx0aGnhur90LWLhu4s+XSAgIMSR4bq3dCBwaMOibiB2w7luZyB0aMOgbmgga2jDtG5nIOG6qW5cbiIKKyN+ICIgLXgsIC0tc2hvdy1leHRlbmRlZCAgICAgICDEkeG7k25nIHRo4budaSBsaeG7h3Qga8OqIGPDoWMgcGjDom4gdsO5bmcgbeG7nyBy4buZbmcgdHJvbmdcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICBr4bq/dCB4deG6pXQgaGF5IGPDoWMgbcO0IHThuqMgY+G6p24gY2hvIGNow7puZyB0cm9uZyDEkeG6p3UgdsOgb1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIGRvIG5vdCBhbGxvY2F0ZSB0aGUgbGFzdCBjeWxpbmRlclxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIHNhbWUgYXMgLS1sZWF2ZS1sYXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbGVhdmUtbGFzdCAgICAgICAgICBraMO0bmcgY+G6pXAgcGjDoXQgdHLhu6UgY3Xhu5FpIGPDuW5nXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgZ2nhu5FuZyBuaMawIC0tbGVhdmUtbGFzdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIGluIG9yZGVyXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgcGFydGl0aW9ucyBhcmUgbm90IGluIG9yZGVyXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICBub3QgYWxsIGxvZ2ljYWxzIGluc2lkZSBvdXRlcm1vc3QgZXh0ZW5kZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1pbi1vcmRlciAgICAgICAgICAgIGPDoWMgcGjDom4gdsO5bmcgdGhlbyB0aOG7qSB04buxXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAgY8OhYyBwaMOibiB2w7luZyBraMO0bmcgdGhlbyB0aOG7qSB04buxXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAgdOG6pXQgY+G6oyBjw6FjIHBow6JuIHbDuW5nIGzDtGfDrWMg4bufIHRyb25nIHBo4bqnbiBt4bufIHLhu5luZyBuZ2/DoGkgY8O5bmdcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICBuZ8aw4bujYyB24bubaSAtLWluc2lkZS1vdXRlclxuIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1uZXN0ZWQgICAgICAgICAgICAgIGV2ZXJ5IHBhcnRpdGlvbiBpcyBkaXNqb2ludCBmcm9tIGFsbCBvdGhlcnNcbiIKKyN+ICIgICAgIC0tY2hhaW5lZCAgICAgICAgICAgICBsaWtlIG5lc3RlZCwgYnV0IGV4dGVuZGVkIHBhcnRpdGlvbnMgbWF5IGxpZSBvdXRzaWRlXG4iCisjfiAiICAgICAtLW9uZXNlY3RvciAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgbXV0dWFsbHkgZGlzam9pbnRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1uZXN0ZWQgICAgICAgICAgICAgIG3hu41pIHBow6JuIHbDuW5nIHLhu51pIHbhu5tpIGPDoWMgY8OhaSBraMOhY1xuIgorI34gIiAgICAgLS1jaGFpbmVkICAgICAgICAgICAgIGdp4buRbmcgduG7m2kgbmVzdGVkLCBuaMawbmcgcGjDom4gdsO5bmcgbeG7nyBy4buZbmcgY8OzIHRo4buDIOG7nyBiw6puIG5nb8OgaVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIGPDoWMgcGjDom4gdsO5bmcgcuG7nWkgbOG6q24gbmhhdVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkdoaSDEkcOoIGjDrG5oIGjhu41jIMSRw6MgZMOyIHTDrG0gdGjhuqV5IHPhu60gZOG7pW5nOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPHPhu5E+ICAgICDEkeG6t3Qgc+G7kSB0cuG7pSDEkeG7gyBz4butIGThu6VuZ1xuIgorI34gIiAtSCwgLS1oZWFkcyA8c+G7kT4gICAgICAgICDEkeG6t3Qgc+G7kSDEkeG6p3UgdOG7qyDEkeG7gyBz4butIGThu6VuZ1xuIgorI34gIiAtUywgLS1zZWN0b3JzIDxz4buRPiAgICAgICDEkeG6t3Qgc+G7kSBjdW5nIHThu6sgxJHhu4Mgc+G7rSBk4bulbmdcbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzJXN0aGnhur90IGLhu4sgICAgICAgICAgbGnhu4d0IGvDqiBwaMOibiB2w7luZyBrw61jaCBob+G6oXQgdHLDqm4gdGhp4bq/dCBi4buLXG4iCisKKyN+IG1zZ2lkICIgJXMlc2RldmljZSBuMSBuMiAuLi4gIGFjdGl2YXRlIHBhcnRpdGlvbnMgbjEgLi4uLCBpbmFjdGl2YXRlIHRoZSByZXN0XG4iCisjfiBtc2dzdHIgIiAlcyVzIHRoaeG6v3QgYuG7iyBuMSBuMiDigKYga8OtY2ggaG/huqF0IHBow6JuIHbDuW5nIG4xIOKApiwgYuG7jyBrw61jaCBob+G6oXQgcGjhuqduIGPDsm4gbOG6oWlcbiIKKworI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgInRoYW0gc+G7kSBz4buRIGzGsOG7o25nIHBow6JuIHbDuW5nIGtow7RuZyBo4bujcCBs4buHIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXNcbiIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1wcmludC1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IHNmZGlzayAtLXByaW50LWlkIHRoaeG6v3QtYuG7iyBz4buRLXBow6JuLXbDuW5nIgorCisjfiBtc2dpZCAidXNhZ2U6IHNmZGlzayAtLWNoYW5nZS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBJZCIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IHNmZGlzayAtLWNoYW5nZS1pZCB0aGnhur90LWLhu4sgc+G7kS1waMOibi12w7luZyBJZCIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBbSWRdIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzogc2ZkaXNrIC0taWQgdGhp4bq/dC1i4buLIHPhu5EtcGjDom4tdsO5bmcgW0lkXSIKKworI34gbXNnaWQgImNhbiBzcGVjaWZ5IG9ubHkgb25lIGRldmljZSAoZXhjZXB0IHdpdGggLWwgb3IgLXMpIgorI34gbXNnc3RyICJjaOG7iSBjw7MgdGjhu4MgY2jhu4kgcmEgbeG7mXQgdGhp4bq/dCBi4buLIChuZ2/huqFpIHRy4burIHbhu5tpIC1sIGhheSAtcykiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyByZWFkLXdyaXRlIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlcyDEkeG7gyDEkeG7jWMtdmnhur90IgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgImtow7RuZyBt4bufIMSRxrDhu6NjICVzIMSR4buDIMSR4buNYyIKKworI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXM6IE9LIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjeWxpbmRlcnMsICVsZCBoZWFkcywgJWxkIHNlY3RvcnMvdHJhY2tcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCB0cuG7pSwgJWxkIMSR4bqndSDEkeG7jWMsICVsZCBjdW5nIHThu6svcsOjbmhcbiIKKworI34gbXNnaWQgImJhZCBhY3RpdmUgYnl0ZTogMHgleCBpbnN0ZWFkIG9mIDB4ODAiCisjfiBtc2dzdHIgImJ5dGUga8OtY2ggaG/huqF0IHNhaTogMHgleCB0aGF5IGNobyAweDgwIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAiSG/DoG4gdOG6pXQiCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICJC4bqhbiBjw7MgJWQgcGjDom4gdsO5bmcgY2jDrW5oIGvDrWNoIGhv4bqhdC4gxJDDonkga2jDtG5nIHBo4bqjaSBsw6AgduG6pW4gxJHhu4EgduG7m2kgTElMTyxcbiIKKyN+ICJuaMawbmcgTUJSIGPhu6dhIERPUyBz4bq9IGNo4buJIGto4bufaSDEkeG7mW5nIMSRxKlhIGPDsyAxIHBow6JuIHbDuW5nIGvDrWNoIGhv4bqhdC4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgaGFzIGlkICV4IGFuZCBpcyBub3QgaGlkZGVuIgorI34gbXNnc3RyICJwaMOibiB2w7luZyAlcyBjw7MgaWQgJXggdsOgIGtow7RuZyBwaOG6o2kgbMOgIOG6qW4iCisKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICJJZCBzYWkgJWx4IgorCisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICLEkMSpYSBuw6B5IGhp4buHbiDEkWFuZyDEkcaw4bujYyBz4butIGThu6VuZy4iCisKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIkzhu5dpIG5naGnDqm0gdHLhu41uZzoga2jDtG5nIHRo4buDIHTDrG0gJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiAlcyBraMO0bmcgcGjhuqNpIGzDoCB0aGnhur90IGLhu4sga2jhu5FpIgorCisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIk9LIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGRvZXMgbm90IGV4aXN0LCBjYW5ub3QgY2hhbmdlIGl0IgorI34gbXNnc3RyICJQaMOibiB2w7luZyAlZCBraMO0bmcgdOG7k24gdOG6oWksIGtow7RuZyB0aOG7gyB0aGF5IMSR4buVaSBuw7MiCisKKyN+IG1zZ2lkICIiCisjfiAiSSBkb24ndCBsaWtlIHRoZXNlIHBhcnRpdGlvbnMgLSBub3RoaW5nIGNoYW5nZWQuXG4iCisjfiAiKElmIHlvdSByZWFsbHkgd2FudCB0aGlzLCB1c2UgdGhlIC0tZm9yY2Ugb3B0aW9uLikiCisjfiBtc2dzdHIgIiIKKyN+ICJUw7RpIGtow7RuZyB0aMOtY2ggbmjhu69uZyBwaMOibiB2w7luZyBuw6B5IC0ga2jDtG5nIGPDsyBnw6wgdGhheSDEkeG7lWkuXG4iCisjfiAiKE7hur91IGLhuqFuIHRo4buxYyBz4buxIG114buRbiDEkWnhu4F1IG7DoHksIHPhu60gZOG7pW5nIHTDuXkgY2jhu41uIC0tZm9yY2UuKSIKKworI34gbXNnaWQgIkkgZG9uJ3QgbGlrZSB0aGlzIC0gcHJvYmFibHkgeW91IHNob3VsZCBhbnN3ZXIgTm8iCisjfiBtc2dzdHIgIlTDtGkga2jDtG5nIHRow61jaCDEkWnhu4F1IG7DoHkgLSBi4bqhbiBuw6puIHRy4bqjIGzhu51pIE5vIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIkLhuqFuIGPDsyBow6BpIGzDsm5nIHbhu5tpIMSRaeG7gXUgbsOgeT8gW3lucV0gIgorCisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIsSQYW5nIHRob8OhdCAtIGtow7RuZyBjw7MgZ8OsIHRoYXkgxJHhu5VpIgorCisjfiBtc2dpZCAiUGxlYXNlIGFuc3dlciBvbmUgb2YgeSxuLHFcbiIKKyN+IG1zZ3N0ciAiWGluIGjDo3kgdHLhuqMgbOG7nWkgbeG7mXQgdHJvbmcgeSxuLHFcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlZp4bq/dCB0aMOgbmggY8O0bmcgYuG6o25nIHBow6JuIHbDuW5nIG3hu5tpXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IGNyZWF0ZWQgb3IgY2hhbmdlZCBhIERPUyBwYXJ0aXRpb24sIC9kZXYvZm9vNywgc2F5LCB0aGVuIHVzZSBkZCgxKVxuIgorI34gInRvIHplcm8gdGhlIGZpcnN0IDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2VlIGZkaXNrKDgpLikiCisjfiBtc2dzdHIgIiIKKyN+ICJO4bq/dSBi4bqhbiB04bqhbyBoYXkgdGhheSDEkeG7lWkgbeG7mXQgcGjDom4gdsO5bmcgRE9TLCB2w60gZOG7pSAvZGV2L2ZvbzcsIHRow6wgaMOjeSBkw7luZyBkZCgxKVxuIgorI34gIsSR4buDIGzDoG0gcuG7l25nIDUxMiBieXRlIMSR4bqndTogZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIihYZW0gZmRpc2soOCkuKSIKKworI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIk7hur91IGLhuqFuIHBo4bqjaSB04bqhbyBoYXkgc+G7rWEgxJHhu5VpIGLhuqV0IGvhu7MgcGjDom4gdsO5bmcgRE9TIDYueCBuw6BvLCB4aW4gaMOjeSB4ZW0gaMaw4bubbmcgZOG6q24gbmfGsOG7nWkgZMO5bmcgZmRpc2sgxJHhu4MgYmnhur90IHRow6ptIHRow7RuZyB0aW4uIgorCisjfiBtc2dpZCAiZmllbGQgaXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInRyxrDhu51uZyBxdcOhIGTDoGkiCisKKyN+IG1zZ2lkICIlczogJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyBjaG8gcGjDqXAg4oCcJWPigJ0iCisKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICJraMO0bmcgY2hvIHBow6lwIOKAnCVj4oCdIgorCisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgY2hvIHBow6lwIGTDuW5nIGvDvSB04buxIMSRaeG7gXUga2hp4buDbiIKKworI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgImtow7RuZyBjaG8gcGjDqXAgZMO5bmcga8O9IHThu7EgxJFp4buBdSBraGnhu4NuIgorCisjfiBtc2dpZCAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLXN1cHAtZ3JvdXBzICAgICAgICBjxaluZyBoaeG7g24gdGjhu4sgY+G6oyBuaMOzbSBwaOG7pVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGRldGFpbHMgc2VlIGxzbG9naW5zKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gbHNsb2dpbigxKS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY3J5cHQoKSBn4bq3cCBs4buXaSIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgSMaw4bubbmcgZOG6q24gc+G7rSBk4bulbmcgbmfhuq9uIG7DoHlcbiIKKworI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiBtc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIEvhur90IHh14bqldCB0aMO0bmcgdGluIHBoacOqbiBi4bqjblxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIHVzZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY29tcGFyZSBvbmx5IGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCisjfiAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgaWdub3JlIGNhc2UgZGlmZmVyZW5jZXMgd2hlbiBjb21wYXJpbmdcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiBkZWZpbmUgc3RyaW5nIHRlcm1pbmF0aW9uIGNoYXJhY3RlclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgIHPhu60gZOG7pW5nIHThu6sgxJFp4buDbiB0aGF5IHRo4bq/XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgY2jhu4kgc28gc8OhbmggY2jhu68gY8OhaSB2w6AgY2jhu68gc+G7kVxuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGtow7RuZyBwaMOibiBiaeG7h3QgSE9BL3RoxrDhu51uZyBraGkgc28gc8OhbmhcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDxjaGFyPiDEkeG7i25oIG5naMSpYSBrw70gdOG7sSBjaOG6pW0gZOG7qXQgY2h14buXaVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSBuYW1laSgxKS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHdpcGVmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtIHdpcGVmcyg4KS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHRhc2tzZXQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSB0YXNrc2V0KDEpLlxuIgorI34gIlRow7RuZyBiw6FvIGzhu5dpIGThu4tjaCBjaG8gPGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vdmkuaHRtbD5cbiIKKworI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlczogbMOgIHRoaeG6v3QgYuG7iyB0aMOhbyBs4bqvcCDEkcaw4bujYyIKKworI34gbXNnaWQgIiVzOiBjb25uZWN0ZWQgYnkgaG90cGx1ZyBzdWJzeXN0ZW06ICVzIgorI34gbXNnc3RyICIlczogxJHGsOG7o2Mga+G6v3QgbuG7kWkgYuG7n2kgaOG7hyB0aOG7kW5nIGNvbiBj4bqvbS1uw7NuZzogJXMiCisKKyN+IG1zZ2lkICJ0aW1lb3V0IGNhbm5vdCBiZSB6ZXJvIgorI34gbXNnc3RyICJ0aOG7nWkgZ2lhbiBxdcOhIGdp4budIGtow7RuZyB0aOG7gyBsw6Agc+G7kSBraMO0bmciCisKKyN+IG1zZ2lkICJOZWVkIHRvIGluc2VydCAlZCBzZWNvbmQgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dpZF9wbHVyYWwgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHJbMF0gIkPhuqduIHRow6ptICVkIGdpw6J5IHbDoCBjaHV54buDbiB0aOG7nWkgZ2lhbiBuZ8aw4bujYyBs4bqhaSAlLjZmIGdpw6J5IHRyxrDhu5tjXG4iCisKKyN+IG1zZ2lkICJXYWl0aW5nIGluIGxvb3AgZm9yIHRpbWUgZnJvbSBLREdIV0NMSyB0byBjaGFuZ2VcbiIKKyN+IG1zZ3N0ciAixJBhbmcgY2jhu50gKHbDsm5nIGzhurdwKSB0aOG7nWkgZ2lhbiB04burIEtER0hXQ0xLIHRoYXkgxJHhu5VpXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDEkeG7jWMgdGjhu51pIGdpYW4ga2jDtG5nIHRow6BuaCBjw7RuZyIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQgaW4gbG9vcCIKKyN+IG1zZ3N0ciAiS0RHSFdDTEsgaW9jdGwgxJHhu41jIHRo4budaSBnaWFuIGtow7RuZyB0aMOgbmggY8O0bmcgdHJvbmcgdsOybmcgbOG6t3AiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSDEkeG7jWMgdGjhu51pIGdpYW4ga2jDtG5nIHRow6BuaCBjw7RuZyB04burICVzIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLRFNIV0NMSyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjfiBtc2dpZCAiVXNpbmcgdGhlIEtER0hXQ0xLIGludGVyZmFjZSB0byBtNjhrIGNsb2NrLiIKKyN+IG1zZ3N0ciAixJBhbmcgZMO5bmcgZ2lhbyBkaeG7h24gS0RHSFdDTEsgY2hvIMSR4buTbmcgaOG7kyBtNjhrLiIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58g4oCcL2Rldi90dHkx4oCdIGhheSDigJwvZGV2L3ZjLzHigJ0iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSBsc2NwdSgxKS5cbiIKKyN+ICJUaMO0bmcgYsOhbyBs4buXaSBk4buLY2ggY2hvIDxodHRwOi8vdHJhbnNsYXRpb25wcm9qZWN0Lm9yZy90ZWFtL3ZpLmh0bWw+XG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJncy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFtjw6FjIHTDuXkgY2jhu41uXSA8Y2jGsMahbmcgdHLDrG5oPiBbY8OhYyDEkeG7kWkgc+G7keKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBncm91cCBJRFxuIgorI34gIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCisjfiAiIC1wLCAtLXBpZCA8aWQ+ICAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgSUQgKGRlZmF1bHQpXG4iCisjfiAiIC11LCAtLXVzZXIgPG5hbWV8aWQ+ICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHVzZXJuYW1lIG9yIHVzZXIgSURcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaGnhu4N1IGzDoCBJRCBuaMOzbSB0aeG6v24gdHLDrG5oXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgY2jhu4kgxJHhu4tuaCBt4bupYyDGsHUgdGnDqm5cbiIKKyN+ICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBoaeG7g3UgxJHDonkgbMOgIElEIHRp4bq/biB0csOsbmhcbiIKKyN+ICIgLXUsIC0tdXNlciA8bmFtZXxpZD4gICBoaeG7g3UgbMOgIHTDqm4gdMOgaSBraG/huqNuIGhheSBJRCBuZ8aw4budaSBkw7luZ1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBoaeG7g24gdGjhu4sgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSByZW5pY2UoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSByZW5pY2UoMSkuXG4iCisjfiAiVGjDtG5nIGLDoW8gbOG7l2kgZOG7i2NoIGNobyA8aHR0cDovL3RyYW5zbGF0aW9ucHJvamVjdC5vcmcvdGVhbS92aS5odG1sPlxuIgorCisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIiAlcyVzIFtjw6FjIHTDuXkgY2jhu41uXSBbY2jGsMahbmdfdHLDrG5oIFtjw6FjIHRoYW0gc+G7kSBj4bunYSBjaMawxqFuZyB0csOsbmhdXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgYuG6rXQgdOG6pXQgY+G6oyBjw6FjIHbDuW5nIGLhu5kgbmjhu5sgdHJhbyDEkeG7lWkgdHJvbmcgdOG6rXAgdGluIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PGNow61uaF9zw6FjaD5dIGLhuq10IGPDoWMgdsO5bmcgdHJhbyDEkeG7lWkgxJHDoyBi4buLIGxv4bqhaSBi4buPLCBu4bq/dSDEkcaw4bujYyBo4buXIHRy4bujIGLhu59pIHRoaeG6v3QtYuG7i1xuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgICAgw6JtIHRo4bqnbSBi4buPIHF1YSBjw6FjIHRoaeG6v3QgYuG7iyBtw6AgbsOzIGtow7RuZyB04buTbiB04bqhaVxuIgorI34gIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAga2jhu59pIHThuqFvIGzhuqFpIGtow7RuZyBnaWFuIGLhu5kgbmjhu5sgdHJhbyDEkeG7lWkgbuG6v3UgdGjhuqV5IGPhuqduXG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBjaOG7iSDEkeG7i25oIG3hu6ljIMawdSB0acOqbiBj4bunYSB0aGnhur90IGLhu4sgYuG7mSBuaOG7myB0cmFvIMSR4buVaS5cbiIKKyN+ICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHThu5VuZyBxdcOhdCB24buBIHRoaeG6v3QgYuG7iyBi4buZIG5o4bubXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgdHLDoW8gxJHhu5VpIMSRw6Mgc+G7rSBk4bulbmcgcuG7k2kgdGhvw6F0XG4iCisjfiAiICAgICAtLXNob3dbPTxj4buZdD5dICAgICAgIGhp4buDbiB0aOG7iyBk4bqhbmcgdOG7lW5nIHF1w6F0IHRyb25nIGLhuqNuZyDEkeG7i25oIG5naMSpYVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyDEkeG6p3UgxJHhu4EsIHPhu60gZOG7pW5nIHbhu5tpIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgc+G7rSBk4bulbmcga+G6v3QgeHXhuqV0IGThuqFuZyB0aMO0LCBz4butIGThu6VuZyB24bubaSAtLXNob3dcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB2w7luZyBob8OhbiDEkeG7lWkgdMOtbmggYuG6sW5nIGJ5dGVzIHRyb25nIGvhur90XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgeHXhuqV0IGtoaSBkw7luZyAtLXNob3dcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGNo4bq/IMSR4buZIHRyw6xuaCBiw6B5IMSR4bqneSDEkeG7pyB0aMO0bmcgdGluXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgWHXhuqV0IHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdC5cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBIaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXQuXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIlcyBbdMO5eV9jaOG7jW5dIFt0w6puX3Thu4dwX3RpbuKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBjaOG6t24gbeG7jWkgZMOybmcgZ+G6oWNoIGTGsOG7m2lcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIGhp4buDbiB0aOG7iyB04bqldCBj4bqjIG7hu61hIGTDsm5nXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbGxpbmcgaGV4ZHVtcCBhcyBvZCBoYXMgYmVlbiBkZXByZWNhdGVkIGluIGZhdm9yIG9mIEdOVSBjb3JldXRpbHMgb2QiCisjfiBtc2dzdHIgInZp4buHYyBn4buNaSDigJxoZXhkdW1w4oCdIGdp4buRbmcgbmjGsCBsw6AgbOG7h25oIOKAnG9k4oCdIMSRw6MgYuG7iyBwaOG6o24gxJHhu5FpIHRyb25nIHPhu7EgdGhp4buHbiDDvSBj4bunYSBs4buHbmgg4oCcb2TigJ0gY+G7p2EgZ8OzaSDigJxHTlUgY29yZXV0aWxz4oCdIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gcmV2KDEpLlxuIgorI34gIlRow7RuZyBiw6FvIGzhu5dpIGThu4tjaCBjaG8gPGh0dHA6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RlYW0vdmkuaHRtbD5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbl0gZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiICVzIFt0w7l5X2No4buNbl0gdOG6rXBfdGluXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC1uLCAtLWxpbmVzIE5VTUJFUiAgaGnhu4NuIHRo4buLIE5VTUJFUiBkw7JuZyBjdeG7kWlcbiIKKyN+ICIgLU5VTUJFUiAgICAgICAgICAgICBnaeG7kW5nIG5oxrAg4oCcLW4gTlVNQkVS4oCdXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJUeXBlIG9mIHRoZSBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCisjfiBtc2dzdHIgIktp4buDdSBj4bunYSBwaMOibiB2w7luZyAlenUgY2jGsGEgdGhheSDEkeG7lWkuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIiVzIFtUVeG7sl9DSOG7jE5dIFtU4bqsUF9USU5dXG4iCisKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgImNo4buJIGPDsyB0aOG7gyB0aGF5IMSR4buVaSBjw6FjIG3hu6VjIG7hu5lpIGLhu5kuIgorCisjfiBtc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWUgc3RhbXAgdXNpbmcgZm9ybWF0OlxuIgorI34gbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIGhp4buDbiB0aOG7iyBk4bqldSB0aOG7nWkgZ2lhbiBkw7luZyDEkeG7i25oIGThuqFuZzpcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKworI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIkNoxrBhIGPDsyBM4buGTkguIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBwYXRobmFtZSBbcGF0aG5hbWUgLi4uXVxuIgorI34gbXNnc3RyICIlcyBbY8OhY190deG7s19jaOG7jW5dIHTDqm5fxJHGsOG7nW5nX2ThuqtuIFt0w6puX8SRxrDhu51uZ19k4bqrbiDigKZdXG4iCisKKyN+IG1zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQuIgorI34gbXNnc3RyICJjaMawYSB4w6FjIMSR4buLbmggdMOqbiB04bqtcCB0aW4uIgorCisjfiBtc2dpZCAiLi4uYmFjayAxIHBhZ2UiCisjfiBtc2dzdHIgIuKApnF1YXkgbOG6oWkgMSB0cmFuZyIKKworI34gbXNnaWQgIi4uLnNraXBwaW5nIG9uZSBsaW5lIgorI34gbXNnc3RyICLigKZi4buPIHF1YSBt4buZdCBkw7JuZyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW4sIC0tbm8tYXJndW1lbnQgICAgICAgb3B0aW9uIGRvZXMgbm90IHVzZSBhcmd1bWVudFxuIgorI34gbXNnc3RyICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAga2jDtG5nIMSR4bq3dCBs4bqhaSBjaOG6vyDEkeG7mSDEkWnhu4F1IGtoaeG7g25cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXIsIC0tcmVxdWlyZWQgPGFyZz4gICAgb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50XG4iCisjfiBtc2dzdHIgInTDuXkgY2jhu41uIHnDqnUgY+G6p3UgbeG7mXQgdGhhbSBz4buRIC0tICVzIgorCisjfiBtc2dpZCAiIC1lLCAtLWV4dHJlbWVseS1sb25nLWxvbmctb3B0aW9uXG4iCisjfiBtc2dzdHIgIiAtZSwgLS1leHRyZW1lbHktbG9uZy1sb25nLW9wdGlvblxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uIG9uIHR3bywgb3IgbXVsdGlwbGUgbGluZXMsIHdoZXJlIHRoZVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBraMO0bmcgdOG6oW8gcGhpw6puIG3hu5tpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc2VjdXRpdmUgbGluZXMgYXJlIGludGVuZGVkIGJ5IHR3byBzcGFjZXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2jDtG5nIHThuqFvIHBoacOqbiBt4bubaVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZiwgLS1mb29iYXIgICAgICAgICAgICBuZXh0IG9wdGlvbiBkZXNjcmlwdGlvbiByZXNldHMgaW5kZW50XG4iCisjfiBtc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBraMO0bmcgxJHhurd0IGzhuqFpIGNo4bq/IMSR4buZIMSRaeG7gXUga2hp4buDblxuIgorCisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIndhaWRwaWQgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIGV4dHJhY3QgaW50byBkaXJlY3RvcnlcbiIKKyN+IG1zZ3N0ciAiIC14LCAtLWRlc3RpbmF0aW9uIDx0beG7pWM+IHLDunQgdHLDrWNoIHJhIHRoxrAgbeG7pWNcbiIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAiYmnDqm4gZOG7i2NoIG3DoCBraMO0bmcgaOG7lyB0cuG7oyAteCIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlczogS2jDtG5nIMSR4bunIGLhu5kgbmjhu5shXG4iCisKKyN+IG1zZ2lkICJVbnVzYWJsZSIKKyN+IG1zZ3N0ciAiS2jDtG5nIGTDuW5nIMSRxrDhu6NjIgorCisjfiBtc2dpZCAid3JpdGUgZmFpbGVkXG4iCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBnaGlcbiIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAixJDEqWEgxJHDoyDEkcaw4bujYyB0aGF5IMSR4buVaS5cbiIKKworI34gbXNnaWQgIlJlYm9vdCB0aGUgc3lzdGVtIHRvIGVuc3VyZSB0aGUgcGFydGl0aW9uIHRhYmxlIGlzIGNvcnJlY3RseSB1cGRhdGVkLlxuIgorI34gbXNnc3RyICJLaOG7n2kgxJHhu5luZyBs4bqhaSBo4buHIHRo4buRbmcgxJHhu4MgxJHhuqNtIGLhuqNvIGzDoCBi4bqjbmcgcGjDom4gdsO5bmcgxJHGsOG7o2MgY+G6rXAgbmjhuq10IMSRw7puZy5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueVxuIgorI34gIkRPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgY2ZkaXNrIG1hbnVhbFxuIgorI34gInBhZ2UgZm9yIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJD4bqiTkggQsOBTzogTuG6v3UgYuG6oW4gcGjhuqNpIHThuqFvIGhheSBz4butYSDEkeG7lWkgYuG6pXQga+G7s1xuIgorI34gInBow6JuIHbDuW5nIERPUyA2LnggbsOgbywgeGluIGjDo3kgeGVtIGjGsOG7m25nIGThuqtuIG5nxrDhu51pXG4iCisjfiAiZMO5bmcgY2ZkaXNrIMSR4buDIGJp4bq/dCB0aMOqbSB0aMO0bmcgdGluLlxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIkzhu5ZJIE5HSEnDik0gVFLhu4xORyIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIkjDo3kgbmjhuqVuIHBow61tIGLhuqV0IGvhu7MgxJHhu4MgdGhvw6F0IGto4buPaSBjZmRpc2siCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgZGkgY2h1eeG7g24gduG7iyB0csOtIMSR4buNYyB0csOqbiDhu5UgxJHEqWEiCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIOG7lSDEkcSpYSIKKworI34gbXNnaWQgIkNhbm5vdCB3cml0ZSBkaXNrIGRyaXZlIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgZ2hpIHbDoG8g4buVIMSRxKlhIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAiUXXDoSBuaGnhu4F1IHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nIGLhuq90IMSR4bqndSB0csaw4bubYyBjdW5nIHThu6sgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGJlZm9yZSBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcga+G6v3QgdGjDumMgdHLGsOG7m2MgY3VuZyB04burIDAiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gYmVnaW5zIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBi4bqvdCDEkeG6p3UgdHLGsOG7m2Mga+G6v3QtdGjDumMtY+G7p2EtxJHEqWEiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBhZnRlciBlbmQtb2YtZGlzayIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcga+G6v3QgdGjDumMgc2F1IGvhur90LXRow7pjLWPhu6dhLcSRxKlhIgorCisjfiBtc2dpZCAibG9naWNhbCBwYXJ0aXRpb25zIG5vdCBpbiBkaXNrIG9yZGVyIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBsw7Rnw61jIGtow7RuZyB0aGVvIHRo4bupIHThu7EgxJHEqWEiCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAicGjDom4gdsO5bmcgbMO0Z8OtYyBjaOG7k25nIGzDqm4gbmhhdSIKKworI34gbXNnaWQgImVubGFyZ2VkIGxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICJwaMOibiB2w7luZyBsw7Rnw61jIG3hu58gcuG7mW5nIGNo4buTbmcgbMOqbiBuaGF1IgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEgTOG7l2kgbuG7mWkgYuG7mSBraGkgdOG6oW8gY8OhYyDhu5UgbMO0Z8OtYyBtw6Aga2jDtG5nIGPDsyBwaMOibiB2w7luZyBt4bufIHLhu5luZyAhISEhIgorCisjfiBtc2dpZCAiQ2Fubm90IGNyZWF0ZSBsb2dpY2FsIGRyaXZlIGhlcmUgLS0gd291bGQgY3JlYXRlIHR3byBleHRlbmRlZCBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgdOG6oW8g4buVIGzDtGfDrWMg4bufIMSRw6J5IC0tIHbDrCBuaMawIHRo4bq/IHPhur0gdOG6oW8gaGFpIHBow6JuIHbDuW5nIG3hu58gcuG7mW5nIgorCisjfiBtc2dpZCAiTWVudSBpdGVtIHRvbyBsb25nLiBNZW51IG1heSBsb29rIG9kZC4iCisjfiBtc2dzdHIgIk3hu6VjIHRyw6xuaCDEkcahbiBxdcOhIGTDoGkuIFRyw6xuaCDEkcahbiBjw7MgdGjhu4MgdHLDtG5nIGzhuqFjIGzDtW5nLiIKKworI34gbXNnaWQgIklsbGVnYWwga2V5IgorI34gbXNnc3RyICJQaMOtbSBj4bqlbSIKKworI34gbXNnaWQgIkNyZWF0ZSBhIG5ldyBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiVOG6oW8gbeG7mXQgcGjDom4gdsO5bmcgY2jDrW5oIG3hu5tpIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IGxvZ2ljYWwgcGFydGl0aW9uIgorI34gbXNnc3RyICJU4bqhbyBt4buZdCBwaMOibiB2w7luZyBsw7Rnw61jIG3hu5tpIgorCisjfiBtc2dpZCAiQ2FuY2VsIgorI34gbXNnc3RyICJI4buneSBi4buPIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICLEkOG7q25nIHThuqFvIG3hu5l0IHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiISEhIEludGVybmFsIGVycm9yICEhISIKKyN+IG1zZ3N0ciAiISEhIEzhu5dpIG7hu5lpIGLhu5kgISEhIgorCisjfiBtc2dpZCAiU2l6ZSAoaW4gTUIpOiAiCisjfiBtc2dzdHIgIkvDrWNoIGPhu6EgKHRoZW8gTUIpOiAiCisKKyN+IG1zZ2lkICJCZWdpbm5pbmciCisjfiBtc2dzdHIgIsSQ4bqndSIKKworI34gbXNnaWQgIkFkZCBwYXJ0aXRpb24gYXQgYmVnaW5uaW5nIG9mIGZyZWUgc3BhY2UiCisjfiBtc2dzdHIgIlRow6ptIG3hu5l0IHBow6JuIHbDuW5nIHThuqFpIMSR4bqndSB2w7luZyDEkcSpYSB0cuG7kW5nIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBlbmQgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAiVGjDqm0gbeG7mXQgcGjDom4gdsO5bmcgdOG6oWkgY3Xhu5FpIHbDuW5nIMSRxKlhIHRy4buRbmciCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICJLaMO0bmcgY8OybiBjaOG7lyDEkeG7gyB04bqhbyBwaMOibiB2w7luZyBt4bufIHLhu5luZyIKKworI34gbXNnaWQgIk5vIHBhcnRpdGlvbiB0YWJsZS4gU3RhcnRpbmcgd2l0aCB6ZXJvIHRhYmxlLiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGPDsyBi4bqjbmcgcGjDom4gdsO5bmcuIEto4bufaSDEkeG7mW5nIHbhu5tpIG3hu5l0IGLhuqNuZyB0cuG6r25nLiIKKworI34gbXNnaWQgIkJhZCBzaWduYXR1cmUgb24gcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJDaOG7ryBrw70gc2FpIHRyb25nIGLhuqNuZyBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIlVua25vd24gcGFydGl0aW9uIHRhYmxlIHR5cGUiCisjfiBtc2dzdHIgIktow7RuZyBoaeG7g3Uga2nhu4N1IGLhuqNuZyBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIkRvIHlvdSB3aXNoIHRvIHN0YXJ0IHdpdGggYSB6ZXJvIHRhYmxlIFt5L05dID8iCisjfiBtc2dzdHIgIkLhuqFuIGPDsyBtdeG7kW4ga2jhu59pIMSR4buZbmcgduG7m2kgbeG7mXQgYuG6o25nIHRy4buRbmcgW2MvS10gPyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyBt4bufIOG7lSDEkcSpYSIKKworI34gbXNnaWQgIk9wZW5lZCBkaXNrIHJlYWQtb25seSAtIHlvdSBoYXZlIG5vIHBlcm1pc3Npb24gdG8gd3JpdGUiCisjfiBtc2dzdHIgIk3hu58gxJHEqWEgY2jhu4ktxJHhu41jIC0gYuG6oW4ga2jDtG5nIGPDsyBxdXnhu4FuIGdoaSIKKworI34gbXNnaWQgIkNhbm5vdCBnZXQgZGlzayBzaXplIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgbOG6pXkga8OtY2ggY+G7oSDEkcSpYSIKKworI34gbXNnaWQgIkJhZCBwcmltYXJ5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgY2jDrW5oIHNhaSIKKworI34gbXNnaWQgIldhcm5pbmchISAgVGhpcyBtYXkgZGVzdHJveSBkYXRhIG9uIHlvdXIgZGlzayEiCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvISEgQ8OzIHRo4buDIHPhur0geMOzYSBo4bq/dCBk4buvIGxp4buHdSB0csOqbiDEkcSpYSBj4bunYSBi4bqhbi4iCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAiWGluIGjDo3kgbmjhuq1wIOKAnGPDs+KAnSBoYXkg4oCca2jDtG5n4oCdIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAixJBhbmcgZ2hpIGLhuqNuZyBwaMOibiB2w7luZyBsw6puIMSRxKlh4oCmIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIsSQw6MgZ2hpIGLhuqNuZyBwaMOibiB2w7luZyBsw6puIMSRxKlhIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlLCBidXQgcmUtcmVhZCB0YWJsZSBmYWlsZWQuICBSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHRvIHVwZGF0ZSB0YWJsZS4iCisjfiBtc2dzdHIgIsSQw6MgZ2hpIGLhuqNuZyBwaMOibiB2w7luZywgbmjGsG5nIGtow7RuZyDEkeG7jWMgbOG6oWkgxJHGsOG7o2MgYuG6o25nLiAgSMOjeSBjaOG6oXkgY8O0bmcgY+G7pSBwYXJ0cHJvYmUoOCkgaGF5IGtwYXJ0eCg4KSwgaG/hurdjIGto4bufaSDEkeG7mW5nIGzhuqFpIMSR4buDIGPhuq1wIG5o4bqtdCBi4bqjbmcuIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIktow7RuZyBjw7MgcGjDom4gdsO5bmcgY2jDrW5oIG7DoG8gxJHGsOG7o2MgxJHDoW5oIGThuqV1IGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZy4gTUJSICht4bulYyBnaGkga2jhu59pIMSR4buZbmcgY2jhu6cpIGPhu6dhIERPUyBraMO0bmcgdGjhu4Mga2jhu59pIMSR4buZbmcgdHJvbmcgdHLGsOG7nW5nIGjhu6NwIG7DoHkuIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIkPDsyB2w6BpIHBow6JuIHbDuW5nIGNow61uaCDEkcaw4bujYyDEkcOhbmggZOG6pXUgbMOgIGPDsyB0aOG7gyBraOG7n2kgxJHhu5luZy4gTUJSICht4bulYyBnaGkga2jhu59pIMSR4buZbmcgY2jhu6cpIGPhu6dhIERPUyBraMO0bmcgdGjhu4Mga2jhu59pIMSR4buZbmcgdHJvbmcgdHLGsOG7nW5nIGjhu6NwIG7DoHkuIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIk5o4bqtcCB0w6puIHThuq1wIHRpbiBob+G6t2MgbmjhuqVuIHBow61tIFJFVFVSTiDEkeG7gyBoaeG7g24gdGjhu4sgdHLDqm4gbcOgbiBow6xuaDogIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXNcbiIKKyN+IG1zZ3N0ciAi4buUIMSRxKlhOiAlc1xuIgorCisjfiBtc2dpZCAiU2VjdG9yIDA6XG4iCisjfiBtc2dzdHIgIkN1bmcgdOG7qyAwOlxuIgorCisjfiBtc2dpZCAiU2VjdG9yICVkOlxuIgorI34gbXNnc3RyICJDdW5nIHThu6sgJWQ6XG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICBLaMO0bmcgICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICJDaMOtbmgvTMO0Z8OtYyIKKworI34gbXNnaWQgIiAgIFByaW1hcnkiCisjfiBtc2dzdHIgIiAgICAgQ2jDrW5oIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAgICBMw7Rnw61jIgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICJLaMO0bmciCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIkLhuqNuZyBQaMOibiBWw7luZyBjaG8gJXNcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgxJDhuqd1ICAgICAgICAgQ3Xhu5FpXG4iCisKKyN+IG1zZ2lkICIgIyBUeXBlICAgICAgIFNlY3RvciAgICAgIFNlY3RvciAgIE9mZnNldCAgICBMZW5ndGggICBGaWxlc3lzdGVtIFR5cGUgKElEKSBGbGFnXG4iCisjfiBtc2dzdHIgIiAjIEtp4buDdSAgICAgICBDdW5nIHThu6sgICAgIEN1bmcgdOG7qyAgSGnhu4d1ICAgICAgxJDhu5kgZMOgaSAgICBLaeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiAoSUQpIEPhu51cbiIKKworI34gbXNnaWQgIi0tIC0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tLS0tLS0tLS0tIC0tLS1cbiIKKyN+IG1zZ3N0ciAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tQuG6r3QgxJHhuqd1LS0tICAgICAgICAtLS0tS+G6v3QgdGjDumMtLS0tICAgIMSQ4bqndSAgICAgIFPhu5FcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyBD4budICAgIMSQ4bqndSAgUsOjbmggIFRy4bulICAgSUQgIMSQ4bqndSAgUsOjbmggIFRy4bulICAgICBDdW5nIHThu6sgICBDdW5nIHThu6tcbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAiVGjDtCIKKworI34gbXNnaWQgIlByaW50IHRoZSB0YWJsZSB1c2luZyByYXcgZGF0YSBmb3JtYXQiCisjfiBtc2dzdHIgIkluIGLhuqNuZyByYSBz4butIGThu6VuZyDEkeG7i25oIGThuqFuZyBk4buvIGxp4buHdSB0aMO0IgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiSW4gYuG6o25nIHRoZW8gdGjhu6kgdOG7sSBjdW5nIHThu6siCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAiQuG6o25nIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICJDaOG7iSBpbiBi4bqjbmcgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIsSQ4burbmcgaW4gYuG6o25nIHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTE5OTkgS2V2aW4gRS4gTWFydGluICYgYWViIgorI34gbXNnc3RyICJUw6FjIHF1eeG7gW4gwqkgbsSDbSAxOTk0LTE5OTkgY+G7p2EgS2V2aW4gRS4gTWFydGluICYgYWViIgorCisjfiBtc2dpZCAiICBnICAgICAgICAgIENoYW5nZSBjeWxpbmRlcnMsIGhlYWRzLCBzZWN0b3JzLXBlci10cmFjayBwYXJhbWV0ZXJzIgorI34gbXNnc3RyICIgIGcgICAgICAgICAgVGhheSDEkeG7lWkgY8OhYyB0aGFtIHPhu5E6IGN5bGluZGVycyAoaMOsbmggdHLhu6UpLCBoZWFkcyAoxJHhuqd1IMSR4buNYyksIHNlY3RvcnMtcGVyLXRyYWNrIChz4buRIGN1bmcgdOG7qyB0csOqbiBt4buXaSByw6NuaCkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAgQ+G6ok5IIELDgU86IFTDuXkgY2jhu41uIG7DoHkgY2jhu4kgZMOgbmggY2hvIG5o4buvbmcgbmfGsOG7nWkgZMO5bmciCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIMSRw6MgY8OzIGtpbmggbmdoaeG7h20uIgorCisjfiBtc2dpZCAiICBtICAgICAgICAgIE1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorI34gbXNnc3RyICIgIG0gICAgICAgICAgxJDhurd0IHBow6JuIHbDuW5nIGhp4buHbiB04bqhaSBkw7luZyB2w7luZyDEkcSpYSBs4bubbiBuaOG6pXQgY8OzIHRo4buDIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIE5vdGU6IFRoaXMgbWF5IG1ha2UgdGhlIHBhcnRpdGlvbiBpbmNvbXBhdGlibGUgd2l0aCIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIENow7ogw706IGPDsyB0aOG7gyBsw6BtIGNobyBwaMOibiB2w7luZyBraMO0bmcgdMawxqFuZyB0aMOtY2ggduG7m2kiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBET1MsIE9TLzIsIOKApiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICBJbiByYSBtw6BuIGjDrG5oIGhheSBnaGkgdsOgbyB04bqtcCB0aW4gYuG6o25nIHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAgQ8OzIHbDoGkgxJHhu4tuaCBk4bqhbmcga2jDoWMgbmhhdSBjaG8gcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIG3DoCBi4bqhbiBjw7MgdGjhu4MgY2jhu41uOiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIEThu68gbGnhu4d1IHRow7QgKGzDoCBjw6FpIGNow61uaCB4w6FjIHPhur0gxJHGsOG7o2MgZ2hpIGzDqm4gxJHEqWEpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0gQuG6o25nIHjhur9wIHRoZW8gdGjhu6kgdOG7sSBjdW5nIHThu6siCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgIHUgICAgICAgICAgVGhheSDEkeG7lWkgxJHGoW4gduG7iyBoaeG7g24gdGjhu4sga8OtY2ggY+G7oSBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIEx1w6JuIHBoacOqbiBNQiwgY8OhYyBjdW5nIHThu6sgdsOgIGjDrG5oIHRy4bulIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIEPhuq1wIG5o4bqtdCBtw6BuIGjDrG5oIgorCisjfiBtc2dpZCAiICA/ICAgICAgICAgIFByaW50IHRoaXMgc2NyZWVuIgorI34gbXNnc3RyICIgID8gICAgICAgICAgSGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkiCisKKyN+IG1zZ2lkICJDaGFuZ2UgY3lsaW5kZXIgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlRoYXkgxJHhu5VpIGPhuqV1IHRyw7pjIHRy4bulIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIlRoYXkgxJHhu5VpIGPhuqV1IHRyw7pjIMSR4bqndSB04burIgorCisjfiBtc2dpZCAiQ2hhbmdlIHNlY3RvciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiVGhheSDEkeG7lWkgY+G6pXUgdHLDumMgY3VuZyB04burIgorCisjfiBtc2dpZCAiRG9uZSB3aXRoIGNoYW5naW5nIGdlb21ldHJ5IgorI34gbXNnc3RyICJIb8OgbiB0aMOgbmggdmnhu4djIHRoYXkgxJHhu5VpIGPhuqV1IHRyw7pjIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBjeWxpbmRlcnM6ICIKKyN+IG1zZ3N0ciAiTmjhuq1wIHPhu5EgaMOsbmggdHLhu6U6ICIKKworI34gbXNnaWQgIklsbGVnYWwgY3lsaW5kZXJzIHZhbHVlIgorI34gbXNnc3RyICJHacOhIHRy4buLIGNobyBz4buRIGzGsOG7o25nIHRy4bulIGtow7RuZyBo4bujcCBs4buHIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICJOaOG6rXAgc+G7kSDEkeG6p3UgxJHhu41jOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGhlYWRzIHZhbHVlIgorI34gbXNnc3RyICJHacOhIHRy4buLIHPhu5EgxJHhuqd1IMSR4buNYyBraMO0bmcgaOG7o3AgbOG7hyIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAiTmjhuq1wIHPhu5EgY3VuZyB04burIHRyw6puIG3hu5dpIHLDo25oOiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgY3VuZyB04burIGtow7RuZyBo4bujcCBs4buHIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZXN5c3RlbSB0eXBlOiAiCisjfiBtc2dzdHIgIk5o4bqtcCBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbjogIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSBGUyBUeXBlIHRvIGVtcHR5IgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgdGhheSDEkeG7lWkga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gdGjDoG5oIHLhu5duZyIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRoYXkgxJHhu5VpIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRow6BuaCBt4bufIHLhu5luZyIKKworI34gbXNnaWQgIlVuayglMDJYKSIKKyN+IG1zZ3N0ciAiS2jDtG5nX3LDtSglMDJYKSIKKworI34gbXNnaWQgIiwgTkMiCisjfiBtc2dzdHIgIiwgTkMiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAiTkMiCisKKyN+IG1zZ2lkICJQcmkvTG9nIgorI34gbXNnc3RyICJDaMOtbmgvTMO0Z8OtYyIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICJLaMO0bmcgaGnhu4N1ICglMDJYKSIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzIgorI34gbXNnc3RyICLhu5QgxJHEqWE6ICVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAiS8OtY2ggY+G7oTogJWxsZCBieXRlLCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICJLw61jaCBj4buhOiAlbGxkIGJ5dGUsICVsbGQuJWxsZCBHQiIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAixJDhuqd1IMSR4buNYzogJWQgIEN1bmcgdOG7qyBt4buXaSByw6NuaDogJWQgICAgICAgICBUcuG7pTogJWxsZCIKKworI34gbXNnaWQgIlBhcnQgVHlwZSIKKyN+IG1zZ3N0ciAiS2nhu4N1IHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiRlMgVHlwZSIKKyN+IG1zZ3N0ciAiS2nhu4N1IGjhu4cgdGjhu5FuZyIKKworI34gbXNnaWQgIltMYWJlbF0iCisjfiBtc2dzdHIgIltOaMOjbl0iCisKKyN+IG1zZ2lkICIgICAgU2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgIEN1bmcgdOG7qyIKKworI34gbXNnaWQgIiAgQ3lsaW5kZXJzIgorI34gbXNnc3RyICIgIFRy4bulIgorCisjfiBtc2dpZCAiICBTaXplIChNQikiCisjfiBtc2dzdHIgIiAgS8OtY2ggY+G7oSAoTUIpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIiAgS8OtY2ggY+G7oSAoR0IpIgorCisjfiBtc2dpZCAiTm8gbW9yZSBwYXJ0aXRpb25zIgorI34gbXNnc3RyICJLaMO0bmcgY8OzIHRow6ptIHBow6JuIHbDuW5nIG7DoG8gbuG7r2EiCisKKyN+IG1zZ2lkICJDaGFuZ2UgZGlzayBnZW9tZXRyeSAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAiVGhheSDEkeG7lWkgY+G6pXUgdHLDumMgxJHEqWEgKGNo4buJIGTDoG5oIGNobyBuZ8aw4budaSBjw7Mga2luaCBuZ2hp4buHbSkiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSIKKyN+IG1zZ3N0ciAiTOG7m24gbmjhuqV0IgorCisjfiBtc2dpZCAiTWF4aW1pemUgZGlzayB1c2FnZSBvZiB0aGUgY3VycmVudCBwYXJ0aXRpb24gKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIsSQ4bq3dCBwaMOibiB2w7luZyBoaeG7h24gdOG6oWkgZMO5bmcgdsO5bmcgbOG7m24gbmjhuqV0IGPDsyB0aOG7gyB0csOqbiDEkcSpYSAoY2jhu4kgZMOgbmggY2hvIG5nxrDhu51pIGPDsyBraW5oIG5naGnhu4dtKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICJJbiIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIlRoYXkgxJHhu5VpIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIChET1MsIExpbnV4LCBPUy8yIHYuduKApikiCisKKyN+IG1zZ2lkICJVbml0cyIKKyN+IG1zZ3N0ciAixJDGoW4gduG7iyIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIlRoYXkgxJHhu5VpIMSRxqFuIHbhu4sgaGnhu4duIHRo4buLIGvDrWNoIGPhu6EgcGjDom4gdsO5bmcgKE1CLCBjdW5nIHThu6ssIHRy4bulKSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgbMOgbSBjaG8gcGjDom4gdsO5bmcgY8OzIHRo4buDIGto4bufaSDEkeG7mW5nIgorCisjfiBtc2dpZCAiQ2Fubm90IGRlbGV0ZSBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIktow7RuZyB0aOG7gyB4w7NhIG3hu5l0IHBow6JuIHbDuW5nIHLhu5duZyIKKworI34gbXNnaWQgIkNhbm5vdCBtYXhpbWl6ZSB0aGlzIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIHTEg25nIGvDrWNoIGPhu6EgbMOqbiBs4bubbiBuaOG6pXQgcGjDom4gdsO5bmcgbsOgeSIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBuw6B5IGtow7RuZyB0aOG7gyBz4butIGThu6VuZyIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIGFscmVhZHkgaW4gdXNlIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBuw6B5IMSRw6MgxJHGsOG7o2Mgc+G7rSBk4bulbmciCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIHRoZSB0eXBlIG9mIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIHRoYXkgxJHhu5VpIGtp4buDdSBj4bunYSBt4buZdCBwaMOibiB2w7luZyBy4buXbmciCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKyN+IG1zZ3N0ciAiVMOhYyBxdXnhu4FuIMKpIG7Eg20gMTk5NC0yMDAyIGPhu6dhIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWFkcyA8c+G7kT4gICAgICAgICAgxJHhurd0IHPhu5EgxJHhuqd1IHThu6sgc+G7rSBk4bulbmdcbiIKKworI34gbXNnaWQgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIGd1ZXNzIGEgZ2VvbWV0cnkgZnJvbSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+IG1zZ3N0ciAiIC1nLCAtLWd1ZXNzICAgICAgICAgICAgICAgZ+G7o2kgw70gaMOsbmggaOG7jWMgY+G7p2EgYuG6o25nIHBow6JuIHbDuW5nXG4iCisKKyN+IG1zZ2lkICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBwcmludCBwYXJ0aXRpb24gdGFibGUgaW4gc3BlY2lmaWVkIGZvcm1hdFxuIgorI34gbXNnc3RyICIgLVAsIC0tcHJpbnQgPHJ8c3x0PiAgICAgICBpbiByYSBi4bqjbmcgcGjDom4gdsO5bmcgdGhlbyDEkeG7i25oIGThuqFuZyDEkcOjIGNob1xuIgorCisjfiBtc2dpZCAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAgdXNlIGFycm93IGZvciBoaWdobGlnaHRpbmcgdGhlIGN1cnJlbnQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiAtYSwgLS1hcnJvdyAgICAgICAgICAgICAgIGTDuW5nIG3FqWkgdMOqbiDEkeG7gyB0w7Qgc8OhbmcgcGjDom4gdsO5bmcgaGnhu4duIHThuqFpXG4iCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIHPhu5EgdHLhu6UiCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGhlYWRzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggc+G7kSDEkeG6p3UgdOG7qyIKKworI34gbXNnaWQgImNhbm5vdCBwYXJzZSBudW1iZXIgb2Ygc2VjdG9ycyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIHBow6JuIHTDrWNoIHPhu5EgcsOjbmgiCisKKyN+IG1zZ2lkICI6ICIKKyN+IG1zZ3N0ciAiOiAiCisKKyN+IG1zZ2lkICIgLWIgPHNpemU+ICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gbXNnc3RyICIgLWIgPGPhu6E+ICAgICAgICAgICBrw61jaCB0aMaw4bubYyBjdW5nIHThu6sgKDUxMiwgMTAyNCwgMjA0OCBoYXkgNDA5NilcbiIKKworI34gbXNnaWQgIiAtaCAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gbXNnc3RyICIgLWggICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisKKyN+IG1zZ2lkICJcbiIKKyN+IG1zZ3N0ciAiXG4iCisKKyN+IG1zZ2lkICIjIgorI34gbXNnc3RyICIjIgorCisjfiBtc2dpZCAiZnNpemUiCisjfiBtc2dzdHIgImZzaXplIgorCisjfiBtc2dpZCAiYnNpemUiCisjfiBtc2dzdHIgImJzaXplIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgJWQgxJHDoyDEkcaw4bujYyDEkeG7i25oIG5naMSpYS4gIEjDo3kgeMOzYSBuw7MgdHLGsOG7m2Mga2hpIHRow6ptIGzhuqFpIGzhuqduIG7hu69hLiIKKworI34gbXNnaWQgIiIKKyN+ICJQYXJ0aXRpb24gdHlwZTpcbiIKKyN+ICIgICBwICAgcHJpbWFyeSAoJXpkIHByaW1hcnksICVkIGV4dGVuZGVkLCAlemQgZnJlZSlcbiIKKyN+ICIlc1xuIgorI34gIlNlbGVjdCAoZGVmYXVsdCAlYykiCisjfiBtc2dzdHIgIiIKKyN+ICJLaeG7g3UgcGjDom4gdsO5bmc6XG4iCisjfiAiICAgcCAgIGNow61uaCAoJXpkIGNow61uaCwgJWQgbeG7nyBy4buZbmcsICV6ZCB0cuG7kW5nKVxuIgorI34gIiVzXG4iCisjfiAiQ2jhu41uICht4bq3YyDEkeG7i25oIGzDoCAlYykiCisKKyN+IG1zZ2lkICIgICBlICAgZXh0ZW5kZWQiCisjfiBtc2dzdHIgIiAgIGUgICBt4bufIHLhu5luZyIKKworI34gbXNnaWQgIk5yIgorI34gbXNnc3RyICJOciIKKworI34gbXNnaWQgIkFGIgorI34gbXNnc3RyICJBRiIKKworI34gbXNnaWQgIkhkIgorI34gbXNnc3RyICLEkHQiCisKKyN+IG1zZ2lkICJTZWMiCisjfiBtc2dzdHIgIkdpw6J5IgorCisjfiBtc2dpZCAiQ3lsIgorI34gbXNnc3RyICJUcuG7pSIKKworI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiQ8OzIHbhursgbmjGsCDEkcOieSBraMO0bmcgcGjhuqNpIGzDoCBi4bqjbmcgcGjDom4gdsO5bmcuIEfhuqduIG5oxrAgY2jhuq9jIGNo4bqvbiBsw6AgYuG6oW4gxJHDoyBjaOG7jW4gbmjhuqdtIHRoaeG6v3QgYuG7iy4iCisKKyN+IG1zZ2lkICJCbG9ja3MgIgorI34gbXNnc3RyICJLaOG7kWkiCisKKyN+IG1zZ2lkICJTeXN0ZW0iCisjfiBtc2dzdHIgIkjhu4cgdGjhu5FuZyIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nICV6ZCDEkcOjIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhLiAgSMOjeSB4w7NhIG7DsyB0csaw4bubYyBraGkgdGjDqm0gbOG6oWkgbOG6p24gbuG7r2EiCisKKyN+IG1zZ2lkICJQdCMiCisjfiBtc2dzdHIgIlB0IyIKKworI34gbXNnaWQgIkluZm8iCisjfiBtc2dzdHIgIlRodGluIgorCisjfiBtc2dpZCAiU2VjdG9yIgorI34gbXNnc3RyICJDdW5nIHThu6siCisKKyN+IG1zZ2lkICJZb3Ugd2lsbCBnZXQgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKKyN+IG1zZ3N0ciAiQuG6oW4gc+G6vSBjw7MgbeG7mXQgcGjDom4gdsO5bmcgxJHDqCBsw6puIG5oYXUgdHLDqm4g4buVIMSRxKlhLiBIw6N5IHPhu61hIMSRaSEiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAgQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorI34gbXNnc3RyICJD4bqjbmggYsOhbzogQkxLR0VUU0laRSBpb2N0bCBn4bq3cCBs4buXaSB0csOqbiAlcy4gxJBhbmcgZMO5bmcgZ2nDoSB0cuG7iyB0cuG7pSBow6xuaCBo4buNYyBj4bunYSAlbGx1LiBHacOhIHRy4buLIG7DoHkgY8OzIHRo4buDIGLhu4sgY+G6r3Qgbmfhuq9uIGNobyB0aGnhur90IGLhu4sgPiAzMy44IEdCLiIKKworI34gbXNnaWQgIkZsYWciCisjfiBtc2dzdHIgIkPhu50iCisKKyN+IG1zZ2lkICIiCisjfiAiICUxJHMgW29wdGlvbnNdIExBQkVMPTxsYWJlbD5cbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gVVVJRD08dXVpZD5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiUxJHMgW3TDuXkgY2jhu41uXSBMQUJFTD08bmjDo24+XG4iCisjfiAiJTEkcyBbdMO5eSBjaOG7jW5dIFVVSUQ9PHV1aWQ+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorI34gIiAtRCwgLS1kZiAgICAgICAgICAgICAgIGltaXRhdGUgdGhlIG91dHB1dCBvZiBkZigxKVxuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtLWZzdGFiLCAtLW10YWIgb3IgLS1rZXJuZWwgb3B0aW9uc1xuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQSwgLS1hbGwgICAgICAgICAgICAgIHThuq90IHThuqV0IGPhuqMgYuG7mSBs4buNYyBk4buxbmcgc+G6tW4sIGhp4buDbiB0aOG7iyB0b8OgbiBi4buZIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICBz4butIGThu6VuZyBrw70gdOG7sSBBU0NJSSDEkeG7gyDEkeG7i25oIGThuqFuZyBjw6J5XG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgxJHGsOG7nW5nIGThuqtuIGluIMSRxrDhu6NjIGThuqFuZyBjYW5vbmljYWxpemVcbiIKKyN+ICIgLUQsIC0tZGYgICAgICAgICAgICAgICBraOG7n2kgdOG6oW8ga+G6v3QgeHXhuqV0IGPhu6dhIGRmKDEpXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gaMaw4bubbmcgdMOsbSBraeG6v20sIOKAnGZvcndhcmTigJ0gaGF5IOKAnGJhY2t3YXJk4oCdXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY+G7nSBjaHV54buDbiDEkeG7lWkgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBjaG8gdMOqbiB0aGnhur90IGLhu4tcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICB04bqtcCB0aW4gdGhheSB0aOG6vyBjaG8gLS1mc3RhYiwgLS1tdGFiIGhheSBjw6FjIHTDuXkgY2jhu41uIC0ta2VybmVsXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgY2jhu4kgaGnhu4NuIHRo4buLIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHhuqd1IHRpw6puIHTDrG0gdGjhuqV5XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKKyN+ICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIMSR4bqjbyBuZ8aw4bujYyDDvSBzbyBraOG7m3BcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICBkw7luZyBraMO0bmcgZ2lhbiB0w6puIHRoYXkgdGjhur9cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAodOG6rXAgdGluIC9wcm9jLzx0aWQ+L21vdW50aW5mbylcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIMSR4bqndSBj4buZdFxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGtow7RuZyBj4bqvdCBuZ+G6r24gY2jhu68gdHJvbmcgY8OhYyBj4buZdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICBwcmludCBhbGwgc3VibW91bnRzIGZvciB0aGUgbWF0Y2hpbmcgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICB0aGUgbW91bnRwb2ludCB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGtow7RuZyBpbiByYSBbL2Rpcl0ga2hpIGfhuq9uIGTDuW5nIHTDuXkgY2jhu41uIGJpbmQgaGF5IGJ0cmZzXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgaW4gcmEgdG/DoG4gYuG7mSBjw6FjIGfhuq9uIGNvbiBjaG8gaOG7hyB0aOG7kW5nIHThuq1wIHRpbiB0xrDGoW5nIOG7qW5nXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhp4bq/dCBi4buLIMSR4buDIGfhuq9uICh0aGVvIHTDqm4sIG1hajptaW4sIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorI34gIiAtVCwgLS10YXJnZXQgPHN0cmluZz4gIMSRaeG7g20gZ+G6r24gc+G6vSBz4butIGThu6VuZ1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiB1c2UgZmlsZSBhcyBhIGNvb2tpZSBzZWVkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gc+G7rSBk4bulbmcgdOG6rXAgdGluIG5oxrAgbMOgIGjhuqF0IGdp4buRbmcgY2hvIGNvb2tpZVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICBnaeG6o2kgdGjDrWNoIG5o4buvbmcgZ8OsIMSRYW5nIMSRxrDhu6NjIHRo4buxYyBoaeG7h25cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiQm90aCAtLXBpZCBhbmQgLS1uby1waWQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLW5vLXBpZC4iCisjfiBtc2dzdHIgIkPhuqMgaGFpIHTDuXkgY2jhu41uIC0tcGlkIHbDoCAtLW5vLXBpZCDEkcaw4bujYyBjaOG7iSByYS4gxJBhbmcgbOG7nSDEkWkgLS1uby1waWQuIgorCisjfiBtc2dpZCAid2FybmluZzogZXJyb3IgcmVhZGluZyAlczogJXMiCisjfiBtc2dzdHIgImPhuqNuaCBiw6FvOiBs4buXaSDEkeG7jWMgJXM6ICVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgImPhuqNuaCBiw6FvOiBraMO0bmcgbeG7nyDEkcaw4bujYyAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY291bGQgbm90IG9wZW4gJXMgLSB1c2luZyAlcyBpbnN0ZWFkXG4iCisjfiBtc2dzdHIgIm1vdW50OiBraMO0bmcgbeG7nyDEkcaw4bujYyAlcyAtIHPhu60gZOG7pW5nICVzIMSR4buDIHRoYXkgdGjhur9cbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgImtow7RuZyB04bqhbyDEkcaw4bujYyB04bqtcCB0aW4ga2jDs2EgJXM6ICVzIChow6N5IGTDuW5nIGPhu50gLW4gxJHhu4MgZ2hpIMSRw6ggbMOqbikiCisKKyN+IG1zZ2lkICJjYW4ndCBsaW5rIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAia2jDtG5nIGxpw6puIGvhur90IMSRxrDhu6NjIHThuq1wIHRpbiBraMOzYSAlczogJXMgKGjDo3kgZMO5bmcgY+G7nSAtbiDEkeG7gyBnaGkgxJHDqCBsw6puKSIKKworI34gbXNnaWQgImNhbid0IG9wZW4gbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICJraMO0bmcgbeG7nyDEkcaw4bujYyB04bqtcCB0aW4ga2jDs2EgJXM6ICVzIChow6N5IGTDuW5nIGPhu50gLW4gxJHhu4MgZ2hpIMSRw6ggbMOqbikiCisKKyN+IG1zZ2lkICJDYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGtow7NhIMSRxrDhu6NjIHThuq1wIHRpbiBraMOzYSAobG9jayBmaWxlKSAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIGtow7NhIMSRxrDhu6NjIHThuq1wIHRpbiBraMOzYSAobG9jayBmaWxlKSAlczogJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiQ2Fubm90IGNyZWF0ZSBsaW5rICVzXG4iCisjfiAiUGVyaGFwcyB0aGVyZSBpcyBhIHN0YWxlIGxvY2sgZmlsZT9cbiIKKyN+IG1zZ3N0ciAiIgorI34gIktow7RuZyB04bqhbyDEkcaw4bujYyBsacOqbiBr4bq/dCAlc1xuIgorI34gIkPDsyB0aOG7gyDEkcOieSBsw6AgdOG6rXAgdGluIGtow7NhIGLhu4FuIHbhu69uZz9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICJraMO0bmcgbeG7nyDEkcaw4bujYyAlcyAoJXMpIC0gbXRhYiBjaMawYSBj4bqtcCBuaOG6rXQiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibOG7l2kgZ2hpIG5o4bubICVzOiAlcyIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlczoga2jDtG5nIHRo4buDIGZmbHVzaCBjw6FjIHRoYXkgxJHhu5VpOiAlcyIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImzhu5dpIHRoYXkgxJHhu5VpIGNo4bq/IMSR4buZIGPhu6dhICVzOiAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgImzhu5dpIHRoYXkgxJHhu5VpIGNo4bunIHPhu58gaOG7r3UgY+G7p2EgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCByZW5hbWUgJXMgdG8gJXM6ICVzXG4iCisjfiBtc2dzdHIgImtow7RuZyDEkeG7lWkgdMOqbiDEkcaw4bujYyAlcyB0aMOgbmggJXM6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAibW91bnQ6IHdhcm5pbmc6IC9ldGMvbXRhYiBpcyBub3Qgd3JpdGFibGUgKGUuZy4gcmVhZC1vbmx5IGZpbGVzeXN0ZW0pLlxuIgorI34gIiAgICAgICBJdCdzIHBvc3NpYmxlIHRoYXQgaW5mb3JtYXRpb24gcmVwb3J0ZWQgYnkgbW91bnQoOCkgaXMgbm90XG4iCisjfiAiICAgICAgIHVwIHRvIGRhdGUuIEZvciBhY3R1YWwgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtIG1vdW50IHBvaW50c1xuIgorI34gIiAgICAgICBjaGVjayB0aGUgL3Byb2MvbW91bnRzIGZpbGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJtb3VudDogY+G6o25oIGLDoW86IOKAnC9ldGMvbXRhYuKAnSBraMO0bmcgY2hvIGdoaSAodOG7qWMgbMOgIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKyN+ICIgICAgICAgY2jhu4ktxJHhu41jKS4gQ8OzIHRo4buDIGzDoCBtb3VudCg4KSDEkcOjIGN1bmcgY+G6pXAgdGjDtG5nIHRpbiBxdcOhIGPFqS4gxJDhu4MgdMOsbVxuIgorI34gIiAgICAgICB0aMO0bmcgdGluIHRo4bqtdCB24buBIGPDoWMgxJFp4buDbSBs4bqvcCBo4buHIHRo4buRbmcsIHhlbSB04bqtcCB0aW4g4oCcL3Byb2MvIG1vdW50c+KAnS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBjaHXhu5dpIHTDuXkgY2jhu41uIOKAnCVz4oCdIHNhaSB0csOtY2ggZOG6q24iCisKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IMSRw6MgZOG7i2NoICVzIOKAnCVz4oCdIHNhbmcg4oCcJXPigJ1cbiIKKworI34gbXNnaWQgIm1vdW50OiBTRUxpbnV4ICpjb250ZXh0PSBvcHRpb25zIGFyZSBpZ25vcmUgb24gcmVtb3VudC5cbiIKKyN+IG1zZ3N0ciAiZ+G6r246IFNFTGludXggKmNvbnRleHQ9IHTDuXkgY2jhu41uIGLhu4sgYuG7jyBxdWEga2hpIGfhuq9uIGzhuqFpLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW50OiB0aGVvIG5oxrAgbXRhYiB0aMOsICVzIMSRw6MgZ+G6r24gdsOgbyAlcyIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgbW91bnRlZCBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IHRoZW8gbmjGsCBtdGFiIHRow6wgJXMgxJHDoyBn4bqvbiB2w6BvICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXMgZm9yIHdyaXRpbmc6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIG3hu58gxJHGsOG7o2MgJXMgxJHhu4MgZ2hpIG5o4bubOiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciB3cml0aW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGzhu5dpIGdoaSBuaOG7myAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW50OiBs4buXaSB0aGF5IMSR4buVaSBjaOG6vyDEkeG7mSBj4bunYSAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW50OiBraMO0bmcgxJHhurd0IMSRxrDhu6NjIGlkIG5ow7NtOiAlbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIMSR4bq3dCDEkcaw4bujYyBpZCBuZ8aw4budaSBkw7luZzogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IGZvcms6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIHRo4buDIHBow6JuIG5ow6FuaCAlcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICLEkGFuZyB0aOG7rSAlcy5cbiIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgZGlkbid0IHNwZWNpZnkgYSBmaWxlc3lzdGVtIHR5cGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIm1vdW50OiBi4bqhbiBjaMawYSBjaOG7iSByYSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBjaG8gJXNcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIFPhur0gdGjhu60gdOG6pXQgY+G6oyBt4buNaSBraeG7g3UgxJHhu4EgY+G6rXAgxJHhur9uIHRyb25nICVzIGhheSAlc1xuIgorCisjfiBtc2dpZCAiICAgICAgIGFuZCBpdCBsb29rcyBsaWtlIHRoaXMgaXMgc3dhcHNwYWNlXG4iCisjfiBtc2dzdHIgIiAgICAgICB2w6AgxJHDonkgY8OzIHbhursgbMOgIHbDuW5nIHRyYW8gxJHhu5VpXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICBT4bq9IHRo4butIGtp4buDdSAlc1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMgY8OzIHbhursgbMOgIHbDuW5nIHRyYW8gxJHhu5VpIC0ga2jDtG5nIGfhuq9uIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiAlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyN+ICIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorI34gIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogJXM6IHBow6F0IGhp4buHbiDEkcaw4bujYyBuaGnhu4F1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gaMahbi5cbiIKKyN+ICIgICAgICAgIFRyxrDhu51uZyBo4bujcCBuw6B5IGtow7RuZyBuw6puIHjhuqN5IHJhLlxuIgorI34gIiAgICAgICAgSMOjeSBkw7luZyDigJwtdCA8a2nhu4N1PuKAnSDEkeG7gyBjaOG7iSDEkeG7i25oIHLDtSByw6BuZyBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorI34gIiAgICAgICAgaG/hurdjIGTDuW5nIHdpcGVmcyg4KSDEkeG7gyBsw6BtIHPhuqFjaCB0aGnhur90IGLhu4suXG4iCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGNo4buJIHNpw6p1IG5nxrDhu51pIGTDuW5nIG3hu5tpIGPDsyBxdXnhu4FuIGfhuq9uICVzIHbDoG8gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudDogY2jhu4kgcmEgaGFpIGzhuqduIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnQ6IGNo4buJIHJhIGhhaSBs4bqnbiBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudDogYuG7jyBxdWEgdmnhu4djIGPhuqV1IGjDrG5oIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cFxuIgorCisjfiBtc2dpZCAibW91bnQ6IGVuYWJsaW5nIGF1dG9jbGVhciBsb29wZGV2IGZsYWdcbiIKKyN+IG1zZ3N0ciAiZ+G6r246IGNobyBwaMOpcCB04buxIMSR4buZbmcgeMOzYSBj4budIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCAobG9vcGRldilcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IHNhaSB4w6FjIMSR4buLbmggZ2nDoSB0cuG7iyBjaMOqbmgg4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJtb3VudDogaW52YWxpZCBzaXplbGltaXQgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW50OiBzYWkgeMOhYyDEkeG7i25oIGdp4bubaSBo4bqhbiBrw61jaCBj4buhIOKAnCVz4oCdIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlcyBhcyBsb29wIgorI34gbXNnc3RyICJtb3VudDogdGhlbyBuaMawIG10YWIgdGjDrCAlcyDEkcOjIGfhuq9uIHbDoG8gJXMgbMOgbSB2w7JuZyBs4bq3cCIKKworI34gbXNnaWQgImVuY3J5cHRpb24gbm90IHN1cHBvcnRlZCwgdXNlIGNyeXB0c2V0dXAoOCkgaW5zdGVhZCIKKyN+IG1zZ3N0ciAibcOjIGjDs2Ega2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6MsIGjDo3kgZMO5bmcgY3J5cHRzZXR1cCg4KSDEkeG7gyB0aGF5IHRo4bq/IgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BkZXYgY29udGV4dCIKKyN+IG1zZ3N0ciAibW91bnQ6IGfhurdwIGzhu5dpIGtoaSBraOG7n2kgdOG6oW8gbmfhu68gY+G6o25oIGxvb3BkZXYgKHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cD8pIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byB1c2UgJXMgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogZ+G6t3AgbOG7l2kga2hpIGTDuW5nIHRoaeG6v3QgYuG7iyAlcyIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gZm91bmQgZnJlZSBsb29wIGRldmljZSIKKyN+IG1zZ3N0ciAiZ+G6r246IHTDrG0gY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwIHLhuqNuaCBy4buXaSBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjfiBtc2dpZCAibW91bnQ6IGdvaW5nIHRvIHVzZSB0aGUgbG9vcCBkZXZpY2UgJXNcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IHPhur0gc+G7rSBk4bulbmcgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICJn4bqvbjogJXM6IMSR4bq3dCBjw6FjIHRodeG7mWMgdMOtbmggduG7gSAgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwIChsb29wZGV2KSBn4bq3cCBs4buXaSIKKworI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICJtb3VudDogJXM6IGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCBraMO0bmcgdGjDoG5oIGPDtG5nICVtIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudDogc3RvbGVuIGxvb3A9JXMgKHbDsm5nIGzhurdwIGLhu4sgxINuIGPhuq9wKSBuw6puIHRo4butIGzhuqFpXG4iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMiCisjfiBtc2dzdHIgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyAodsOybmcgbOG6t3AgYuG7iyDEg24gY+G6r3ApIgorCisjfiBtc2dpZCAibW91bnQ6IHNldHVwIGxvb3AgZGV2aWNlIHN1Y2Nlc3NmdWxseVxuIgorI34gbXNnc3RyICJtb3VudDogY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwIHRow6BuaCBjw7RuZ1xuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vICVzIGZvdW5kIC0gY3JlYXRpbmcgaXQuLlxuIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIHTDrG0gdGjhuqV5ICVzIC0gxJFhbmcgdOG6oW8uLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBvcGVuICVzIGZvciBzZXR0aW5nIHNwZWVkIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIG3hu58gxJHGsOG7o2MgJXMgxJHhu4MgxJHhurd0IHThu5FjIMSR4buZIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBzZXQgc3BlZWQ6ICVtIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIMSR4bq3dCDEkcaw4bujYyB04buRYyDEkeG7mTogJW0iCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICJtb3VudDogdGhlbyBuaMawIG10YWIgdGjDrCAlcyDEkcOjIGfhuq9uIHbDoG8gJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBj4bqjbmggYsOhbzogY8OzIHbhursgbMOgICVzIMSRxrDhu6NjIGzhuq9wIMSR4buNYy1naGkuXG4iCisKKyN+IG1zZ2lkICJtb3VudDogd2FybmluZzogJXMgc2VlbXMgdG8gYmUgbW91bnRlZCByZWFkLW9ubHkuXG4iCisjfiBtc2dzdHIgIm1vdW50OiBj4bqjbmggYsOhbzogY8OzIHbhursgbMOgICVzIMSRxrDhu6NjIGzhuq9wIGNo4buJLcSR4buNYy5cbiIKKworI34gbXNnaWQgIm1vdW50OiBJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0aOG7gyBuaOG6rW4gcmEga2nhu4N1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4sIHbDoCBuZ8aw4budaSBkw7luZyBraMO0bmcgY2jhu4kgcmEga2nhu4N1IG7DoG8iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudDogY+G6p24gY2jhu4kgcsO1IGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGfhuq9uIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgbm90IGEgZGlyZWN0b3J5IgorI34gbXNnc3RyICJtb3VudDogxJFp4buDbSBn4bqvbiAlcyBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIMSR4bunIHF1eeG7gW4gaOG6oW4iCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudDogY+G6p24gcGjhuqNpIGzDoCBzacOqdSBuZ8aw4budaSBkw7luZyAocm9vdCkgxJHhu4Mgc+G7rSBk4bulbmcgaMOgbSBtb3VudCIKKworI34gbXNnaWQgIm1vdW50OiBwcm9jIGFscmVhZHkgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IMSRw6MgZ+G6r24gcHJvYyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnQ6IMSRw6MgZ+G6r24gJXMgaG/hurdjICVzIMSRYW5nIGLhuq1uIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudDogxJFp4buDbSBn4bqvbiAlcyBraMO0bmcgdOG7k24gdOG6oWkiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW50OiDEkWnhu4NtIGfhuq9uICVzIGzDoCBt4buZdCBsacOqbiBr4bq/dCBt4buBbSBraMO0bmcgY2jhu4kgdOG7m2kgxJHDonUiCisKKyN+IG1zZ2lkICJtb3VudDogc3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW50OiB0aGnhur90IGLhu4sgxJHhurdjIGJp4buHdCAlcyBraMO0bmcgdOG7k24gdOG6oWkiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0XG4iCisjfiAiICAgICAgIChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW50OiB0aGnhur90IGLhu4sgxJHhurdjIGJp4buHdCAlcyBraMO0bmcgdOG7k24gdOG6oWlcbiIKKyN+ICIgICAgICAgKHRp4buBbiB04buRIGPhu6dhIMSRxrDhu51uZyBk4bqrbiBraMO0bmcgcGjhuqNpIGzDoCBt4buZdCB0aMawIG3hu6VjKVxuIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiB3cm9uZyBmcyB0eXBlLCBiYWQgb3B0aW9uLCBiYWQgc3VwZXJibG9jayBvbiAlcyxcbiIKKyN+ICIgICAgICAgbWlzc2luZyBjb2RlcGFnZSBvciBoZWxwZXIgcHJvZ3JhbSwgb3Igb3RoZXIgZXJyb3IiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogc2FpIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluLCB0w7l5IGNo4buNbiBzYWksIHNpw6p1IGto4buRaSBzYWkgdHLDqm4gJXMsXG4iCisjfiAiICAgICAgIHRoaeG6v3UgdHJhbmcgbcOjIGhheSBjaMawxqFuZyB0csOsbmggYuG7lSB0cuG7oywgaG/hurdjIGzhu5dpIGtow6FjIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIChjw7MgdGjhu4MgxJHDonkgbMOgIHRoaeG6v3QgYuG7iyBJREUgbcOgIHRyw6puIHRo4buxYyB04bq/IHPhu60gZOG7pW5nXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHbDrCB0aOG6vyBj4bqnbiBzcjAgaG/hurdjIHNkYSBob+G6t2MgdMawxqFuZyB04buxPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAoY8OzIHBo4bqjaSBi4bqhbiDEkWFuZyBj4buRIGfhuq9uIG3hu5l0IHBow6JuIHbDuW5nIG3hu58gcuG7mW5nLFxuIgorI34gIiAgICAgICBjaOG7qSBraMO0bmcgcGjhuqNpIG3hu5l0IHBow6JuIHbDuW5nIGzDtGfDrWMgYsOqbiB0cm9uZyBuw7M/KSIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsICBvciBzb1xuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgIFRyb25nIG3hu5l0IHPhu5EgdHLGsOG7nW5nIGjhu6NwIGPDsyB0aOG7gyB0w6xtIHRo4bqleSB0aMO0bmcgdGluIGPDs1xuIgorI34gIiAgICAgICDDrWNoIHRyb25nIHN5c2xvZyAtIGjDo3kgdGjhu60gZG1lc2cgfCB0YWlsIGhv4bq3YyB0xrDGoW5nIHThu7FcbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtb3VudDogJXMga2jDtG5nIMSR4buNYyDEkcaw4bujYyBzacOqdSBraOG7kWkiCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IHVua25vd24gZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXM6IGtow7RuZyBoaeG7g3UgdGhp4bq/dCBi4buLIgorCisjfiBtc2dpZCAibW91bnQ6IHVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCisjfiBtc2dzdHIgIm1vdW50OiBraMO0bmcgaGnhu4N1IGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIOKAnCVz4oCdIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2JhYmx5IHlvdSBtZWFudCAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGPDsyB0aOG7gyBtdeG7kW4gxJHhurd0ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudDogY8OzIHRo4buDIG114buRbiDEkeG6t3Qg4oCcaXNvOTY2MOKAnS4iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW50OiBjw7MgcGjhuqNpIMO9IGLhuqFuIGzDoCDigJx2ZmF04oCdPyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBjw7Mgc+G7kSBoaeG7h3UgdGhp4bq/dCBi4buLIHNhaSBob+G6t2MgY2jGsGEgaOG7lyB0cuG7oyBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiAlcyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2UsIGFuZCBzdGF0IGZhaWxzPyIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzIGtow7RuZyBwaOG6o2kgbMOgIG3hu5l0IHRoaeG6v3QgYuG7iyBraOG7kWksIHbDoCBzdGF0IChs4bqleSB0cuG6oW5nIHRow6FpKSBraMO0bmcgdGjDoG5oIGPDtG5nPyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudDogaOG6oXQgbmjDom4ga2jDtG5nIG5o4bqtbiByYSAlcyBuaMawIGzDoCB0aGnhur90IGLhu4sga2jhu5FpXG4iCisjfiAiICAgICAgIChjw7MgdGjhu4MgdGjhu60g4oCcbW9kcHJvYmUgZHJpdmVy4oCdLikiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBraMO0bmcgcGjhuqNpIGzDoCB0aGnhur90IGLhu4sga2jhu5FpIChjw7MgdGjhu4MgaMOjeSB0aOG7rSDigJwtbyBsb29w4oCdLikiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudDogJXMga2jDtG5nIHBo4bqjaSBsw6AgdGhp4bq/dCBi4buLIGto4buRaSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW50OiAlcyBraMO0bmcgcGjhuqNpIGzDoCB0aGnhur90IGLhu4sga2jhu5FpIHRow61jaCBo4bujcCIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW50OiBraMO0bmcgZ+G6r24gxJHGsOG7o2MgJXMlcyB24bubaSBjaOG6vyDEkeG7mSBjaOG7iS3EkeG7jWMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgxJHGsOG7o2MgYuG6o28gduG7hyBraOG7j2kgZ2hpIG5oxrBuZyDEkcawYSByYSBj4budIOKAnC134oCdICh3cml0ZSwgZ2hpKSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgcmVtb3VudCAlcyVzIHJlYWQtd3JpdGUsIGlzIHdyaXRlLXByb3RlY3RlZCIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0aOG7gyBs4bqvcCBs4bqhaSAlcyVzIMSR4buNYy1naGkgdsOsIG7DsyBj4bqlbSBnaGkiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQsIG1vdW50aW5nIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnQ6ICVzJXMgxJHGsOG7o2MgYuG6o28gduG7hyBraOG7j2kgZ2hpLCDEkWFuZyBn4bqvbiBjaOG7iS3EkeG7jWMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIHTDrG0gdGjhuqV5IHbhuq10IGNo4bupYSB0csOqbiAlcyIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIMSRxrBhIHJhIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluIG7Dqm4gY29pIG5oxrAgbmZzIHbDrCBjw7MgZOG6pXUgaGFpIGNo4bqlbVxuIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHR5cGUgd2FzIGdpdmVuIC0gSSdsbCBhc3N1bWUgY2lmcyBiZWNhdXNlIG9mIHRoZSAvLyBwcmVmaXhcbiIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyDEkcawYSByYSBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBuw6puIGdp4bqjIHPhu60gc21iZnMgdsOsIGPDsyAvLyDEkeG6sW5nIHRyxrDhu5tjXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaWdub3JlICVzICh1bnBhcnNhYmxlIG9mZnNldD0gb3B0aW9uKVxuIgorI34gbXNnc3RyICJn4bqvbjogbOG7nSDEkWkgJXMgKGtow7RuZyB0aOG7gyBwaMOibiB0w61jaCDEkcaw4bujYyBvZmZzZXQ9IHTDuXkgY2jhu41uKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBwcmludCB2ZXJzaW9uXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IHByaW50IHRoaXMgaGVscFxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0IG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVkaW5nIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTbyBmYXIgdGhlIGluZm9ybWF0aW9uYWwgcGFydC4gTmV4dCB0aGUgbW91bnRpbmcuXG4iCisjfiAiVGhlIGNvbW1hbmQgaXMgYG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmUnLlxuIgorI34gIkRldGFpbHMgZm91bmQgaW4gL2V0Yy9mc3RhYiBtYXkgYmUgb21pdHRlZC5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbW91bnQgYWxsIHN0dWZmIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkZXZpY2UgICAgICAgICAgICAgOiBtb3VudCBkZXZpY2UgYXQgdGhlIGtub3duIHBsYWNlXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmVjdG9yeSAgICAgICAgICA6IG1vdW50IGtub3duIGRldmljZSBoZXJlXG4iCisjfiAiICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgICA6IG9yZGluYXJ5IG1vdW50IGNvbW1hbmRcbiIKKyN+ICJOb3RlIHRoYXQgb25lIGRvZXMgbm90IHJlYWxseSBtb3VudCBhIGRldmljZSwgb25lIG1vdW50c1xuIgorI34gImEgZmlsZXN5c3RlbSAob2YgdGhlIGdpdmVuIHR5cGUpIGZvdW5kIG9uIHRoZSBkZXZpY2UuXG4iCisjfiAiT25lIGNhbiBhbHNvIG1vdW50IGFuIGFscmVhZHkgdmlzaWJsZSBkaXJlY3RvcnkgdHJlZSBlbHNld2hlcmU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAib3IgbW92ZSBhIHN1YnRyZWU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgbW91bnQgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgYWxsIHRoZSBtb3VudHMgaW4gYSBtb3VudCBzdWJ0cmVlXG4iCisjfiAiY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGRpclxuIgorI34gIkEgZGV2aWNlIGNhbiBiZSBnaXZlbiBieSBuYW1lLCBzYXkgL2Rldi9oZGExIG9yIC9kZXYvY2Ryb20sXG4iCisjfiAib3IgYnkgbGFiZWwsIHVzaW5nICAtTCBsYWJlbCAgb3IgYnkgdXVpZCwgdXNpbmcgIC1VIHV1aWQgLlxuIgorI34gIk90aGVyIG9wdGlvbnM6IFstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiRm9yIG1hbnkgbW9yZSBkZXRhaWxzLCBzYXkgIG1hbiA4IG1vdW50IC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOiBtb3VudCAtViAgICAgICAgICAgICA6IGluIHJhIHBoacOqbiBi4bqjblxuIgorI34gIiAgICAgICAgICAgbW91bnQgLWggICAgICAgICAgICAgOiBpbiByYSB0cuG7oyBnacO6cCBuw6B5XG4iCisjfiAiICAgICAgICAgICBtb3VudCAgICAgICAgICAgICAgICA6IGxp4buHdCBrw6ogY8OhYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgZ+G6r25cbiIKKyN+ICIgICAgICAgICAgIG1vdW50IC1sICAgICAgICAgICAgIDogbmjGsCB0csOqbiwgYmFvIGfhu5NtIGPhuqMgbmjDo24ga2jhu5FpIHRpblxuIgorI34gIlxuIgorI34gIlBo4bqnbiB0csaw4bubYyBsw6AgcGjhuqduIHRow7RuZyB0aW4uIFRp4bq/cCB0aGVvIGfhuq9uLlxuIgorI34gIkPDonUgbOG7h25oIGzDoDpcbiIKKyN+ICJcdG1vdW50IFstdCBraeG7g3VfaOG7h190aOG7kW5nX3Thuq1wX3Rpbl0gbeG7pWMgduG7i190csOtLlxuIgorI34gIlxuIgorI34gIkNoaSB0aeG6v3QgdMOsbSB0aOG6pXkgdHJvbmcg4oCcL2V0Yy9mc3RhYuKAnSBjw7MgdGjhu4MgYuG7iyBi4buPIMSRaS5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSDigKYgICAgICAgOiBn4bqvbiBt4buNaSB0aOG7qSB04burIOKAnC9ldGMvZnN0YWLigJ1cbiIKKyN+ICIgICAgICAgbW91bnQgdGhp4bq/dF9i4buLICAgICAgICAgICA6IGfhuq9uIHRoaeG6v3QgYuG7iyBuw6B5IHbDoG8gbsahaSDEkcOjIGJp4bq/dFxuIgorI34gIiAgICAgICBtb3VudCB0aMawX23hu6VjICAgICAgICAgICAgOiBn4bqvbiB0aGnhur90IGLhu4sgxJHDoyBiaeG6v3QgdsOgbyB0aMawIG3hu6VjIG7DoHlcbiIKKyN+ICIgICAgICAgbW91bnQgLXQga2nhu4N1IHRoaeG6v3RfYuG7iyB0aMawX23hu6VjOiBjw6J1IGzhu4duaCBn4bqvbiBjaHXhuqluXG4iCisjfiAiXG4iCisjfiAiQ2jDuiDDvSBy4bqxbmcgbmfGsOG7nWkgZMO5bmcga2jDtG5nIHRo4buxYyBz4buxIGfhuq9uIG3hu5l0IHRoaeG6v3QgYuG7iywgbcOgIGfhuq9uIGjhu4cgdGjhu5FuZ1xuIgorI34gInThuq1wIHRpbiAoduG7m2kga2nhu4N1IMSRxrBhIHJhKSB0w6xtIHRo4bqleSB0csOqbiB0aGnhur90IGLhu4suXG4iCisjfiAiTmfGsOG7nWkgZMO5bmcgY8WpbmcgY8OzIHRo4buDIGfhuq9uIGPDonkgdGjGsCBt4bulYyDEkcOjIGfhuq9uIHbDoG8gbsahaSBraMOhYzpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIHRoxrBfbeG7pWNfY8WpIHRoxrBfbeG7pWNfbeG7m2lcbiIKKyN+ICJob+G6t2MgZGkgY2h1eeG7g24gbeG7mXQgY8OieSB0aMawIG3hu6VjIGNvbjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIHRoxrBfbeG7pWNfY8WpIHRoxrBfbeG7pWNfbeG7m2lcbiIKKyN+ICJcbiIKKyN+ICJDxaluZyBjw7MgdGjhu4MgdGhheSDEkeG7lWkga2nhu4N1IMSR4buTIGfhuq9uIGNo4bupYSB0aMawIG3hu5l0IG3hu6VjIG7DoG8gxJHDszpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCB0aMawX23hu6VjXHRraGnhur9uIMSR4buTIGfhuq9uIGTDuW5nIGNodW5nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSB0aMawX23hu6VjXHRraGnhur9uIMSR4buTIGfhuq9uIHBo4bulXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIHRoxrBfbeG7pWNcdGtoaeG6v24gxJHhu5MgZ+G6r24gcmnDqm5nXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIHRoxrBfbeG7pWMgICAga2hp4bq/biB0aMawIG3hu6VjIGtow7RuZyB0aOG7gyDEkcOzbmcga+G6v3RcbiIKKyN+ICJcbiIKKyN+ICJDxaluZyBjw7MgdGjhu4MgdGhheSDEkeG7lWkga2nhu4N1IGPhu6dhIG3hu41pIMSR4buTIGfDoW4gdHJvbmcgY8O5bmcgbeG7mXQgY8OieSBjb24gZ+G6r25cbiIKKyN+ICJjaOG7qWEgbeG7mXQgdGjGsCBt4bulYyBuw6BvIMSRw7M6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIHRoxrBfbeG7pWNcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSB0aMawX23hu6VjXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSB0aMawX23hu6VjXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSB0aMawX23hu6VjXG4iCisjfiAiXG4iCisjfiAiQ8OzIHRo4buDIHjDoWMgxJHhu4tuaCB0aGnhur90IGLhu4sgdGhlbyB0w6puICh2LmQuIOKAnC9kZXYvaGRhMeKAnSBoYXkg4oCcL2Rldi9jZHJvbeKAnSxcbiIKKyN+ICJob+G6t2MgdGhlbyBuaMOjbiwgZMO5bmcgdMO5eSBjaOG7jW4g4oCcLUwgbmjDo27igJ0sXG4iCisjfiAiaG/hurdjIHRoZW8gVVVJRCwgZMO5bmcgdMO5eSBjaOG7jW4g4oCcLVUgVVVJROKAnSAuXG4iCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW4ga2jDoWM6IFstbmZGcnN2d10gWy1vIHTDuXlfY2jhu41uXSBbLXAgdGjGsF9t4bulY19jaOG7qWFfdOG6rXBfdGluX23huq10X2to4bqpdV0uXG4iCisjfiAixJDhu4MgeGVtIHLhuqV0IG5oaeG7gXUgY2hpIHRp4bq/dCwgZMO5bmcgbOG7h25oIOKAnG1hbiA4IG1vdW504oCdLlxuIgorCisjfiBtc2dpZCAiLS1wYXNzLWZkIGlzIG5vIGxvbmdlciBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIlTDuXkgY2jhu41uIC0tcGFzcy1mZCBraMO0bmcgY8OybiDEkcaw4bujYyBo4buXIHRy4bujIG7hu69hLiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudDogY2jhu4kgbmfGsOG7nWkgY2jhu6cgKHJvb3QpIGPDsyBxdXnhu4FuIGzDoG0gxJHDsyAoVUlEIGPDsyBr4bq/dCBxdeG6oyBsw6AgJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnQ6IGNo4buJIHNpw6p1IG5nxrDhu51pIGTDuW5nIChyb290KSBt4bubaSBjw7MgcXV54buBbiB0aOG7sWMgaGnhu4duIgorCisjfiBtc2dpZCAibm90aGluZyB3YXMgbW91bnRlZCIKKyN+IG1zZ3N0ciAia2jDtG5nIGfhuq9uIGfDrCBj4bqjIgorCisjfiBtc2dpZCAibW91bnQ6IG5vIHN1Y2ggcGFydGl0aW9uIGZvdW5kIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIHTDrG0gdGjhuqV5IHBow6JuIHbDuW5nIG5oxrAgduG6rXkiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3QgZmluZCAlcyBpbiAlcyBvciAlcyIKKyN+IG1zZ3N0ciAibW91bnQ6IGtow7RuZyB0w6xtIHRo4bqleSAlcyB0cm9uZyAlcyBob+G6t2MgJXMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRdOiBj4bqjbmggYsOhbzoga2jDtG5nIGPDsyBkw7JuZyBt4bubaSDEkeG6t3Qg4bufIGN14buRaSAlc1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF06IGTDsm5nICVkIHRyb25nICVzIHNhaSAlc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAiOyBi4buPIHF1YSBwaOG6p24gY8OybiBs4bqhaSBj4bunYSB04bqtcCB0aW4iCisKKyN+IG1zZ2lkICJub3QgZW5vdWdoIG1lbW9yeSIKKyN+IG1zZ3N0ciAia2jDtG5nIMSR4bunIGLhu5kgbmjhu5siCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvbXBpbGVkIHdpdGhvdXQgc3VwcG9ydCBmb3IgLWZcbiIKKyN+IG1zZ3N0ciAidW1vdW50OiBraMO0bmcgYmnDqm4gZOG7i2NoIGjhu5cgdHLhu6MgLWZcbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIMSR4bq3dCDEkcaw4bujYyBpZCBuaMOzbTogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIMSR4bq3dCDEkcaw4bujYyBpZCBuZ8aw4budaSBkw7luZzogJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBraMO0bmcgdGjhu4MgcGjDom4gbmjDoW5oICVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHRoaeG6v3QgYuG7iyBraOG7kWkga2jDtG5nIGjhu6NwIGzhu4ciCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW50OiAlczogY2jGsGEgZ+G6r24iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBraMO0bmcgdGjhu4MgZ2hpIHNpw6p1IGto4buRaSIKKworI34gbXNnaWQgIiIKKyN+ICJ1bW91bnQ6ICVzOiBkZXZpY2UgaXMgYnVzeS5cbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0IHVzZVxuIgorI34gIiAgICAgICAgIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKSkiCisjfiBtc2dzdHIgIiIKKyN+ICJ1bW91bnQ6ICVzOiB0aGnhur90IGLhu4sgxJFhbmcgYuG6rW4uXG4iCisjfiAiXHQoVHJvbmcgbeG7mXQgc+G7kSB0csaw4budbmcgaOG7o3AgbsOgbyDEkcOzLFxuIgorI34gIlx0aMOgbSBsc29mKDgpIGhv4bq3YyBmdXNlcigxKSBjw7MgdGjhu4MgdMOsbVxuIgorI34gIlx0dGjDtG5nIHRpbiBjw7Mgw61jaCB24buBIGPDoWMgdGnhur9uIHRyw6xuaCDEkWFuZyBkw7luZyB0aGnhur90IGLhu4suIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbm90IGZvdW5kIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzOiBraMO0bmcgdMOsbSB0aOG6pXkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBtdXN0IGJlIHN1cGVydXNlciB0byB1bW91bnQiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHBo4bqjaSBsw6Agc2nDqnUgbmfGsOG7nWkgZMO5bmcgKHJvb3QpIMSR4buDIGLhu48gZ+G6r24iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6IHRoaeG6v3QgYuG7iyBraOG7kWkga2jDtG5nIGNobyBwaMOpcCB0csOqbiBo4buHIHRo4buRbmcgdOG6rXAgdGluIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogJXMiCisjfiBtc2dzdHIgInVtb3VudDogJXM6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBpbnRlcm5hbCBlcnJvcjogaW52YWxpZCBhYnMgcGF0aDogJXMiCisjfiBtc2dzdHIgImfhuq9uOiBs4buXaSBu4buZaSBi4buZOiDEkcaw4budbmcgZOG6q24gdHV54buHdCDEkeG7kWkga2jDtG5nIGjhu6NwIGzhu4c6ICVzIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gY2hkaXIgdG8gJXM6ICVtIgorI34gbXNnc3RyICJraMO0bmcgY2h1eeG7g24gdGjGsCBt4bulYyDEkeG6v24gJXM6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAidW1vdW50OiBn4bq3cCBs4buXaSBraGkgbOG6pXkgdGjGsCBt4bulYyBoaeG7h24gaMOgbmg6ICVtIgorCisjfiBtc2dpZCAidW1vdW50OiBtb3VudHBvaW50IG1vdmVkICglcyAtPiAlcykiCisjfiBtc2dzdHIgInVtb3VudDogxJFp4buDbSBn4bqvbiDEkcOjIGLhu4sgZGkgY2h1eeG7g24gKCVzIC0+ICVzKSIKKworI34gbXNnaWQgImN1cnJlbnQgZGlyZWN0b3J5IG1vdmVkIHRvICVzXG4iCisjfiBtc2dzdHIgInRoxrAgbeG7pWMgaGnhu4duIGjDoG5oIMSRxrDhu6NjIGRpIGNodXnhu4NuIMSR4bq/biAlc1xuIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICJraMO0bmcgY8OzIHVtb3VudDIsIMSRYW5nIHRo4butIHVtb3VudC4uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGJ1c3kgLSByZW1vdW50ZWQgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDogJXMgYuG6rW4gLSBn4bqvbiBs4bqhaSBjaOG7iS3EkeG7jWNcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIHRo4buDIGfhuq9uIGzhuqFpICVzIGNo4buJLcSR4buNY1xuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIMSRw6MgYuG7jyBn4bqvblxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZmluZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIHRvIHVubW91bnQiCisjfiBtc2dzdHIgInVtb3VudDoga2jDtG5nIHTDrG0gdGjhuqV5IGRhbmggc8OhY2ggaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkeG7gyBi4buPIGfhuq9uIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiB1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgICB1bW91bnQgLWEgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIFstdCB2ZnN0eXBlc10gWy1PIG9wdHNdXG4iCisjfiAiICAgICAgIHVtb3VudCBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gc3BlY2lhbCB8IG5vZGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOnVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IGtp4buDdV9WRlMg4oCmXSBbLU8gdHXhu7NfY2jhu41uIOKApl1cbiIKKyN+ICIgICAgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZeKAplxuIgorI34gIlxuIgorI34gInNwZWNpYWxcdMSR4bq3YyBiaeG7h3RcbiIKKyN+ICJub2RlXHRuw7p0XG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJ29mZnNldD0lcycgb3B0aW9uc1xuIgorI34gbXNnc3RyICJwaMOibiB0w61jaCB0w7l5IGNo4buNbiDigJxvZmZzZXQ9JXPigJ0gZ+G6t3AgbOG7l2lcbiIKKworI34gbXNnaWQgImRldmljZSAlcyBpcyBhc3NvY2lhdGVkIHdpdGggJXNcbiIKKyN+IG1zZ3N0ciAidGhp4bq/dCBi4buLICVzIHTGsMahbmcg4bupbmcgduG7m2kgJXNcbiIKKworI34gbXNnaWQgIkNhbm5vdCB1bm1vdW50IFwiXCJcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIGLhu48gZ+G6r24gxJHGsOG7o2MgXCJcIlxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb25mdXNlZCB3aGVuIGFuYWx5emluZyBtdGFiIgorI34gbXNnc3RyICJ1bW91bnQ6IGJpzKMgbMOizINuIGzDtMyjbiBraGkgcGjDom4gdMOtY2ggbXRhYiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHVubW91bnQgJXMgLS0gJXMgaXMgbW91bnRlZCBvdmVyIGl0IG9uIHRoZSBzYW1lIHBvaW50IgorI34gbXNnc3RyICJ1bW91bnQ6IGtow7RuZyB0aOG7gyB0aMOhbyBn4bqvbiBr4bq/dCAlcyDigJQgJXMgxJHGsOG7o2MgZ+G6r24ga+G6v3Qg4bufIHRyw6puIG7DsyDhu58gY8O5bmcgbeG7mXQgxJFp4buDbS4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIktow7RuZyB0w6xtIHRo4bqleSAlcyB0cm9uZyBtdGFiXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IHdhcm5pbmc6ICVzIGlzIGFzc29jaWF0ZWQgd2l0aCBtb3JlIHRoYW4gb25lIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgImLhu48gZ+G6r246IGPhuqNuaCBiw6FvOiAlcyDEkcaw4bujYyB0aeG6v3AgaOG7o3AgduG7m2kgbmhp4buBdSBoxqFuIG3hu5l0IHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cFxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnQ6ICVzIGNoxrBhIGfhuq9uICh0aGVvIG10YWIpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnQ6IGPDsyB24bq7IGzDoCAlcyDEkcaw4bujYyBn4bqvbiBuaGnhu4F1IGzhuqduIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgaW4gdGhlIGZzdGFiIChhbmQgeW91IGFyZSBub3Qgcm9vdCkiCisjfiBtc2dzdHIgInVtb3VudDogJXMga2jDtG5nIGPDsyB0cm9uZyBmc3RhYiAodsOgIG5nxrDhu51pIGTDuW5nIGtow7RuZyBwaOG6o2kgbMOgIHJvb3QpIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBtb3VudCBkaXNhZ3JlZXMgd2l0aCB0aGUgZnN0YWIiCisjfiBtc2dzdHIgInVtb3VudDogZ+G6r24gJXMga2jDtG5nIHTGsMahbmcg4bupbmcgZnN0YWIiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG9ubHkgJXMgY2FuIHVubW91bnQgJXMgZnJvbSAlcyIKKyN+IG1zZ3N0ciAidW1vdW50OiBjaOG7iSBjw7MgJXMgY8OzIHRo4buDIGLhu48gZ+G6r24gJXMgdOG7qyAlcyIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnQ6IGNo4buJIG5nxrDhu51pIGNo4bunIChyb290KSBjw7MgcXV54buBbiB0aOG7sWMgaGnhu4duIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiUxJHMgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICUxJHMgW09QVElPTl0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFtPUFRJT05dIENPTU1BTkRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHNjaGVkdWxpbmcgY2xhc3MgbmFtZSBvciBudW1iZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiBzY2hlZHVsaW5nIGNsYXNzIGRhdGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgZm9yIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgdmlldyBvciBtb2RpZnkgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0gxJHhurd0IGhheSBs4bqleSB0aeG6v24gdHLDrG5oIGzhu5twIGzhuq1wIGzhu4tuaCB2w6BvIHJhIHbDoCBt4bupYyDGsHUgdGnDqm4uXG4iCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiICAlMSRzIFtUVeG7sl9DSOG7jE5dIC1wIFBJRCBbUElE4oCmXVxuIgorI34gIiAgJTEkcyBbVFXhu7JfQ0jhu4xOXSBM4buGTkhcbiIKKyN+ICJcbiIKKyN+ICJDw6FjIHTDuXkgY2jhu41uOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHTDqm4gaGF5IHPhu5EgY+G7p2EgbOG7m3AgbOG7i2NoIGJp4buDdVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IGtow7RuZywgMTogdGjhu51pIGdpYW4gdGjhu7FjLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorI34gIiAgLW4sIC0tY2xhc3NkYXRhIDxudW0+IGThu68gbGnhu4d1IGPhu6dhIGzhu5twIGzhu4tjaCBiaeG7g3VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgY2hvIGzhu5twIGjhu4cgdGjhu5FuZyB0aOG7nWkgZ2lhbiB0aOG7sWMgdsOgIGJlc3QtZWZmb3J0XG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgaGnhu4NuIHRo4buLIGhheSBjaOG7iW5oIHPhu61hIHRp4bq/biB0csOsbmggxJHDoyBjaOG6oXkgc+G6tW4gcuG7k2lcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBs4budIMSRaSBjw6FjIHRo4bqldCBi4bqhaVxuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPHR0eT4gWy4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFt0w7l5IGNo4buNbl0gPHR0eT4gW+KApl1cbiIKKworI34gbXNnaWQgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxudW0+ICAgICAgICAgIHNldCBpbnRlcnJ1cHRpb24gdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxz4buRPiAgICAgICAgICAgxJHhurd0IGdpw6EgdHLhu4sgbmfGsOG7oW5nIG5n4bqvdFxuIgorCisjfiBtc2dpZCAiIC1TLCAtLXNldC1kZWZhdWx0LXRocmVzaG9sZCA8bnVtPiAgc2V0IGRlZmF1bHQgdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPHPhu5E+ICAgxJHhurd0IGdpw6EgdHLhu4sgbmfGsOG7oW5nIG3hurdjIMSR4buLbmhcbiIKKworI34gbXNnaWQgIiAtdCwgLS1zZXQtZmx1c2ggPG51bT4gICAgICAgICAgICAgIHNldCBmbHVzaCB0aW1lb3V0IHRvIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtdCwgLS1zZXQtZmx1c2ggPHPhu5E+ICAgICAgICAgICAgICAgxJHhurd0IHRo4budaSBnaWFuIHF1w6EgZ2nhu50gY2hvIGZsdXNoXG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPHPhu5E+ICAgICAgIMSR4bq3dCBnacOhIHRy4buLIHF1w6EgZ2nhu50gbeG6t2MgxJHhu4tuaCBjaG8gZmx1c2hcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pbnRlcnZhbCA8c2Vjb25kcz4gICAgICAgICAgIGdhdGhlciBzdGF0aXN0aWNzIGV2ZXJ5IDxzZWNvbmRzPiBpbnRlcnZhbFxuIgorI34gbXNnc3RyICIgLWksIC0taW50ZXJ2YWwgPGdpw6J5PiAgICAgICAgICAgICAgdGh1IHRo4bqtcCB0aOG7kW5nIGvDqiBzYXUgbeG7l2kgPGdpw6J5PlxuIgorCisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIlThuq1wIHRpbiAlcywgQ2hvIGdpw6EgdHLhu4sgbmfGsOG7oW5nICVsdSwgU+G7kSBrw70gdOG7sSBs4bubbiBuaOG6pXQgdHJvbmcgZmlmbyBsw6AgJWQsXG4iCisjfiAidsOgIHThu5FjIMSR4buZIHRydXnhu4FuIHThuqNpIGzhu5tuIG5o4bqldCB0w61uaCB0aGVvIGvDvSB04buxL2dpw6J5IGzDoCAlZiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAiVOG6rXAgdGluICVzLCBDaG8gZ2nDoSB0cuG7iyBuZ8aw4buhbmcgJWx1LCB2w6AgZ2nDoSB0cuG7iyB0aOG7nWkgZ2lhbiBjaOG7nSAlbHUsIFPhu5Ega8O9IHThu7EgbOG7m24gbmjhuqV0IHRyb25nIGZpZm8gbMOgICVkLFxuIgorI34gInbDoCB04buRYyDEkeG7mSB0cnV54buBbiB04bqjaSBs4bubbiBuaOG6pXQgdMOtbmggdGhlbyBrw70gdOG7sS9nacOieSBsw6AgJWYiCisKKyN+IG1zZ2lkICJjYW5ub3QgaXNzdWUgQ1lHRVRNT04gb24gJXMiCisjfiBtc2dzdHIgImtow7RuZyBwaMOhdCBow6BuaCBDWUdFVE1PTiDEkcaw4bujYyB0csOqbiAlcyIKKworI34gbXNnaWQgImNhbm5vdCBnZXQgdGhyZXNob2xkIGZvciAlcyIKKyN+IG1zZ3N0ciAiS2jDtG5nIGzhuqV5IMSRxrDhu6NjIG5nxrDhu6FuZyBjaG8gJXMiCisKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICJraMO0bmcgbOG6pXkgxJHGsOG7o2MgdGjhu51pIGdpYW4gY2jhu50gY2hvICVzIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUvJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsdSBuZ+G6r3QsICVsdS8lbHUga8O9IHThu7E7IGZpZm86ICVsdSBuZ8aw4buhbmcsICVsdSB0aOG7nWkgaOG6oW4sICVsdSB04buRaSDEkWEsICVsdSBiw6J5IGdp4budXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQvZ2nDonk7ICVmIHJlYywgJWYgZ+G7rWkgKGvDvXThu7EvZ2nDonkpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgbmfhuq90LCAlbHUga8O9IHThu7E7IGZpZm86ICVsdSBuZ8aw4buhbmcsICVsdSB0aOG7nWkgaOG6oW4sICVsdSB04buRaSDEkWEsICVsdSBiw6J5IGdp4budXG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQvZ2nDonk7ICVmIHJlYyAoa8O9dOG7sS9nacOieSlcbiIKKworI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWUiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgbmjhu4twIHRo4budaSBnaWFuIGtow7RuZyDEkcO6bmciCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAiR2nDoSB0cuG7iyBraG/huqNuZyB0aOG7nWkgZ2lhbiBraMO0bmcgxJHDum5nOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgc2V0IHZhbHVlIgorI34gbXNnc3RyICJHacOhIHRy4buLIMSR4bq3dCBraMO0bmcgxJHDum5nIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJHacOhIHRy4buLIMSR4bq3dCBraMO0bmcgxJHDum5nOiAlZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiR2nDoSB0cuG7iyBt4bq3YyDEkeG7i25oIGtow7RuZyDEkcO6bmciCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdmFsdWU6ICVkIgorI34gbXNnc3RyICJHacOhIHRy4buLIG3hurdjIMSR4buLbmgga2jDtG5nIMSRw7puZzogJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICJHacOhIHRy4buLIMSR4bq3dCB0aOG7nWkgZ2lhbiBraMO0bmcgxJHDum5nIgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgxJHhurd0IHRo4budaSBnaWFuIGtow7RuZyDEkcO6bmc6ICVkIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIkdpw6EgdHLhu4sgdGjhu51pIGdpYW4gbeG6t2MgxJHhu4tuaCBraMO0bmcgxJHDum5nIgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICJHacOhIHRy4buLIHRo4budaSBnaWFuIG3hurdjIMSR4buLbmgga2jDtG5nIMSRw7puZzogJWQiCisKKyN+IG1zZ2lkICJjYW5ub3Qgc2V0ICVzIHRvIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiS2jDtG5nIMSR4bq3dCDEkcaw4bujYyAlcyBjaG8gbmfGsOG7oW5nICVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAiS2jDtG5nIMSR4bq3dCDEkcaw4bujYyAlcyBjaG8gbmfGsOG7oW5nIHRo4budaSBnaWFuICVkIgorCisjfiBtc2dpZCAiJXM6ICVsZCBjdXJyZW50IHRocmVzaG9sZCBhbmQgJWxkIGN1cnJlbnQgdGltZW91dFxuIgorI34gbXNnc3RyICIlczogJWxkIG5nxrDhu6FuZyBoaeG7h24gdOG6oWkgdsOgICVsZCB0aOG7nWkgZ2lhbiBjaOG7nSBoaeG7h24gdOG6oWlcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgZGVmYXVsdCB0aHJlc2hvbGQgYW5kICVsZCBkZWZhdWx0IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXM6ICVsZCBuZ8aw4buhbmcgbeG6t2MgxJHhu4tuaCB2w6AgJWxkIHRo4budaSBnaWFuIGNo4budIG3hurdjIMSR4buLbmhcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0ta2VlcC1zaXplICAgICBkb24ndCBtb2RpZnkgdGhlIGxlbmd0aCBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgIHB1bmNoIGhvbGVzIGluIHRoZSBmaWxlXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIMSR4burbmcgc+G7rWEgxJHhu5VpIGNoaeG7gXUgZMOgaSBj4bunYSB04bqtcCB0aW5cbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICBi4bqlbSBs4buXIHRyb25nIHThuq1wIHRpblxuIgorI34gIiAtbywgLS1vZmZzZXQgPFPhu5A+ICAga2hv4bqjbmcgYsO5IGPhuqVwIHBow6F0LCB0aGVvIGJ5dGVcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxT4buQPiAgIGNoaeG7gXUgZMOgaSBj4bqlcCBwaMOhdCwgdGhlbyBieXRlXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtbSwgLS1taW5pbXVtIDxudW0+IG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1vLCAtLW9mZnNldCA8c+G7kT4gICBraG/huqNuZyBiw7kgKG9mZnNldCkgdMOtbmggdGhlbyBieXRlcyDEkeG7gyBtw6AgYuG7jyBxdWEgdOG7qyDEkcOzXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8c+G7kT4gICDEkeG7mSBkw6BpIGJ5dGUgxJHhu4MgYuG7jyBxdWEgdMOtbmggdOG7qyBraG/huqNuZyBiw7kgKG9mZnNldClcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA8c+G7kT4gIMSR4buZIGTDoGkgbeG7nyBy4buZbmcgdOG7kWkgdGhp4buDdSDEkeG7gyBi4buPIHF1YVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIGhp4buDbiB0aOG7iyBz4buRIGJ5dGUgxJHDoyBi4buLIGLhu48gcXVhXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlRo4budaSBnaWFuIHRyw7RpIHF1YSBr4buDIHThu6sgdGjhu51pIGdpYW4gdGhhbSBjaGnhur91IGzDoCAlLjZmIGdpw6J5LlxuIgorI34gIlRyw6wgaG/Do24gdGjDqm0gxJHhu4MgxJFpIHThu5tpIHRo4budaSBnaWFuIG3hu5tpLlxuIgorCisjfiBtc2dpZCAiIC10ZXJtIDx0ZXJtaW5hbF9uYW1lPlxuIgorI34gbXNnc3RyICIgLXRlcm0gPHTDqm5fdGhp4bq/dF9i4buLX2N14buRaT5cbiIKKworI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiIC1yZXNldFxuIgorCisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAtaW5pdGlhbGl6ZVxuIgorCisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgLWRlZmF1bHRcbiIKKworI34gbXNnaWQgIiAtZm9yZWdyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWZvcmVncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtYmFja2dyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWJhY2tncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtaGJjb2xvciA8YmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1oYmNvbG9yIDxibGFja3xibHVlfGJyaWdodHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYm9sZCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJsaW5rIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgLXN0b3JlXG4iCisKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIOKApj4gICAgICAgICh0YWJuID0gMS0xNjApXG4iCisKKyN+IG1zZ2lkICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLWNscnRhYnMgPHRhYjEgdGFiMiB0YWIzIOKApj4gICAgKHRhYm4gPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiBtc2dzdHIgIiAtcmVndGFicyA8MS0xNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiBtc2dzdHIgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKworI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKworI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKworI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiIC1maWxlIHTDqm4gdOG6rXAgdGluXG4iCisKKyN+IG1zZ2lkICIgLW1zZyA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLW1zZyA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1tc2dsZXZlbCA8MC04PlxuIgorI34gbXNnc3RyICIgLW1zZ2xldmVsIDwwLTg+XG4iCisKKyN+IG1zZ2lkICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+IG1zZ3N0ciAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+IG1zZ3N0ciAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisKKyN+IG1zZ2lkICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+IG1zZ3N0ciAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisKKyN+IG1zZ2lkICJFcnJvciB3cml0aW5nIHNjcmVlbmR1bXAiCisjfiBtc2dzdHIgIkzhu5dpIGdoaSBkdW1wIG3DoG4gaMOsbmgiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgxJHhu41jIC9kZXYvdmNzYTAgY8WpbmcgbmjGsCAvZGV2L3Zjc2EiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDw6FjaCBkw7luZzogJXMgW1TDmVlfQ0jhu4xOXSBU4bqsUF9USU7igKZcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWQgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmcgYmVsbFxuIgorI34gIiAgLWYgICAgICAgIGNvdW50IGxvZ2ljYWwsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorI34gIiAgLWwgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorI34gIiAgLXAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCisjfiAiICAtYyAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKKyN+ICIgIC11ICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorI34gIiAgLXMgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKKyN+ICIgIC1OVU0gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorI34gIiAgK05VTSAgICAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlciBOVU1cbiIKKyN+ICIgICsvU1RSSU5HICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorI34gIiAgLVYgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDw6FjIHTDuXkgY2jhu41uOlxuIgorI34gIiAgLWQgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCB0aGF5IHbDrCBiw6FvIGNodcO0bmdcbiIKKyN+ICIgIC1mICAgICAgICDEkeG6v20gbMO0Z8OtYywgdGhheSB2w6wgY8OhYyBkw7JuZyBtw6BuIGjDrG5oXG4iCisjfiAiICAtbCAgICAgICAga2jDtG5nIGNobyB04bqhbSBk4burbmcgc2F1IGZvcm0gZmVlZFxuIgorI34gIiAgLXAgICAgICAgIGtow7RuZyBjaG8gY3Xhu5luLCB4w7NhIG3DoG4gaMOsbmggdsOgIHRyw6xuaCBiw6B5IGNo4buvXG4iCisjfiAiICAtYyAgICAgICAga2jDtG5nIGNobyBjdeG7mW4sIHRyw6xuaCBiw6B5IGNo4buvIHbDoCB4w7NhIGN14buRaSBkw7JuZ1xuIgorI34gIiAgLXUgICAgICAgIGtow7RuZyBjaG8gZ+G6oWNoIGNow6JuXG4iCisjfiAiICAtcyAgICAgICAgbsOpbiBuaGnhu4F1IGTDsm5nIHRy4buRbmcgbOG6oWkgdGjDoG5oIG3hu5l0XG4iCisjfiAiICAtTlVNICAgICAgY2jhu4kgxJHhu4tuaCBz4buRIGTDsm5nIHRyw6puIG3DoG4gaMOsbmggxJHhuqd5XG4iCisjfiAiICArTlVNICAgICAgaGnhu4NuIHRo4buLIHThuq1wIHRpbiBi4bqvdCDEkeG6p3UgdOG7qyBkw7JuZyBz4buRIE5VTVxuIgorI34gIiAgKy9TVFJJTkcgIGhp4buDbiB0aOG7iyB04bqtcCB0aW4gYuG6r3QgxJHhuqd1IHThu6sgY2h14buXaSBraOG7m3AgduG7m2kgdOG7qyBj4bqnbiB0w6xtXG4iCisjfiAiICAtViAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisKKyN+IG1zZ2lkICJsaW5lIHRvbyBsb25nIgorI34gbXNnc3RyICJkw7JuZyBxdcOhIGTDoGkiCisKKyN+IG1zZ2lkICJzZXQgYmxvY2tzaXplIgorI34gbXNnc3RyICLEkeG6t3Qga8OtY2ggY+G7oSBraOG7kWkiCisKKyN+IG1zZ2lkICJvbmUgYmFkIGJsb2NrXG4iCisjfiBtc2dzdHIgIm3hu5l0IGto4buRaSBzYWlcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiB0eXBlIGhleCBvciB1dWlkIgorI34gbXNnc3RyICJraeG7g3UgY+G7p2EgcGjDom4gdsO5bmcgZOG6oW5nIHRo4bqtcCBs4bulYyBwaMOibiBoYXkgdXVpZCIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIiAlcyBbY8OhYyB0w7l5IGNo4buNbl0gdGhp4bq/dF9i4buLPlxuIgorCisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSDEkeG7jWMgJXMiCisKKyN+IG1zZ2lkICJzZWVrIGZhaWxlZCAlcyIKKyN+IG1zZ3N0ciAic2VlayBn4bq3cCBs4buXaSAlcyIKKworI34gbXNnaWQgInNlZWsgZmFpbGVkOiAlZCIKKyN+IG1zZ3N0ciAic2VlayBn4bq3cCBs4buXaTogJWQiCisKKyN+IG1zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICJs4buXaSBnaGk6ICVkIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgJWQgZXJyb3IocykuIgorI34gbXNnc3RyICJUaOG6pXkgJWQgbOG7l2kuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICJLaMO0bmcgY8OzIHBow6JuIHbDuW5nIG7DoG8gxJHGsOG7o2MgxJHhu4tuaCBuZ2jEqWEiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIGRldmljZVxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaeG7h3Qga8OqIHThuqV0IGPhuqMgY8OhYyB0aGnhur90IGLhu4sgxJHDoyBkw7luZ1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFvigKZdICAgIHTDoWNoIHJhIG3hu5l0IGhheSBoxqFuIG3hu5l0IHRoaeG6v3QgYuG7i1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICB0w6FjaCByYSB04bqldCBj4bqjIGPDoWMgdGhp4bq/dCBi4buLIMSRw6MgZMO5bmdcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgdMOsbSBraeG6v20gdGhp4bq/dCBi4buLIGNoxrBhIGTDuW5nIMSR4bqndSB0acOqblxuIgorI34gIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICB0aGF5IMSR4buVaSBrw61jaCB0aMaw4bubYyB0aGnhur90IGLhu4tcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8dOG6rXAtdGluPiAgICBsaeG7h3Qga8OqIHThuqV0IGPhuqMgY8OhYyB0aGnhur90IGLhu4sgbGnDqm4gcXVhbiDEkeG6v24gPHThuq1wLXRpbj5cbiIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlLCBvZmZzZXQgaXMgbm90IDUxMi1ieXRlIGFsaWduZWQuIgorI34gbXNnc3RyICIlczogZ+G6t3AgbOG7l2kga2hpIGPDoGkgxJHhurd0IHRoaeG6v3QgYuG7iyBsb29wLCBvZmZzZXQga2jDtG5nIMSRxrDhu6NjIGPEg24gY2jhu4luaCA1MTItYnl0ZSIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICJjw6FjaCBkw7luZzpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHRHSEkgQ0jDmjogZWx2dHVuZSBjaOG7iSBob+G6oXQgxJHhu5luZyB24bubaSBuaMOibiBsaW51eCBwaGnDqm4gYuG6o24gMi40XG4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAidGhp4bq/dSB0aGnhur90IGLhu4sga2jhu5FpLCBkw7luZyBs4buHbmgg4oCcLWjigJ0gxJHhu4MgY8OzIHRy4bujIGdpw7pwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSBpcyBvbmx5IHVzZWZ1bCBvbiBvbGRlciBrZXJuZWxzO1xuIgorI34gImZvciAyLjYgdXNlIElPIHNjaGVkdWxlciBzeXNmcyB0dW5hYmxlcyBpbnN0ZWFkLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImVsdnR1bmUgY2jhu4kgaOG7r3Ugw61jaCBraGkgc+G7rSBk4bulbmcgduG7m2kgbmjDom4gbGludXggY8WpO1xuIgorI34gIsSR4buRaSB24bubaSBwaGnDqm4gYuG6o24gMi42LCBow6N5IHRoYXkgdGjhur8gYuG6sW5nXG4iCisjfiAicGjhuqduIG3hu4FtIMSR4buLbmggdGjhu51pIFYvUiBzeXNmcyB0dW5hYmxlcy5cbiIKKworI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAieHXhuqV0IGLhuqNuIHRoYW0gc+G7kSBz4buRIGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyBi4buLIGzhu5dpIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIlByaW50IHZlcnNpb246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIlByaW50IHBhcnRpdGlvbiB0YWJsZTpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW29wdGlvbnNdIGRldmljZVxuIgorI34gIkludGVyYWN0aXZlIHVzZTpcbiIKKyN+ICIgICAgICAgICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIi1hOiBVc2UgYXJyb3cgaW5zdGVhZCBvZiBoaWdobGlnaHRpbmc7XG4iCisjfiAiLXo6IFN0YXJ0IHdpdGggYSB6ZXJvIHBhcnRpdGlvbiB0YWJsZSwgaW5zdGVhZCBvZiByZWFkaW5nIHRoZSBwdCBmcm9tIGRpc2s7XG4iCisjfiAiLWMgQyAtaCBIIC1zIFM6IE92ZXJyaWRlIHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzLFxuIgorI34gIiAgICAgICAgICAgICAgICB0aGUgbnVtYmVyIG9mIGhlYWRzIGFuZCB0aGUgbnVtYmVyIG9mIHNlY3RvcnMvdHJhY2suXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICJIaeG7h24gc+G7kSBwaGnDqm4gYuG6o246XG4iCisjfiAiICAgICAgICAlcyAtdlxuIgorI34gIkhp4buHbiBi4bqjbmcgcGjDom4gdsO5bmc6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFt0w7l5IGNo4buNbl0gdGhp4bq/dCBi4buLXG4iCisjfiAiRMO5bmcgdMawxqFuZyB0w6FjOlxuIgorI34gIiAgICAgICAgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIHRoaeG6v3QgYuG7i1xuIgorI34gIlxuIgorI34gIlTDuXkgY2jhu41uOlxuIgorI34gIi1hOiBz4butIGThu6VuZyBtxalpIHTDqm4gdGhheSBjaG8gdMO0IHPDoW5nO1xuIgorI34gIi16OiBC4bqvdCDEkeG6p3UgduG7m2kgYuG6o25nIHBow6JuIHbDuW5nIHRy4buRbmcgcuG7l25nIHRoYXkgdsOsIMSR4buNYyBuw7MgdOG7qyDEkcSpYTtcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogVmnhur90IGNow6huIGzDqm4gc+G7kSB0cuG7pSwgc+G7kSDEkeG6p3UgxJHhu41jIHbDoCBz4buRXG4iCisjfiAiICAgICAgICAgICAgICAgIGN1bmcgdOG7qy9yw6NuaCB0aGVvIHF1YW4gbmnhu4dtIGPhu6dhIG5ow6JuIExpbnV4LlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiV3JpdGluZyBkaXNrbGFiZWwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIlZp4bq/dCBuaMOjbiDEkcSpYSB2w6BvICVzLlxuIgorCisjfiBtc2dpZCAiTGFzdCAlcyBvciArc2l6ZSBvciArc2l6ZU0gb3IgK3NpemVLIgorI34gbXNnc3RyICIlcyBjdeG7kWkgaGF5ICtzaXplIGhheSArc2l6ZU0gaGF5ICtzaXplSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAixJDhu41jIG5ow6NuIMSRxKlhIGPhu6dhICVzIHThuqFpIGN1bmcgdOG7qyAlZC5cbiIKKworI34gbXNnaWQgIkJTRCBkaXNrbGFiZWwgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKKyN+IG1zZ3N0ciAiQ8OidSBs4buHbmggbmjDo24gxJHEqWEgQlNEIChtIMSR4buDIHhlbSB0cuG7oyBnacO6cCk6ICIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICJk4buvIGxp4buHdSDhu5UgxJHEqWE6ICIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICAgIMSR4bqndSAgICAgICAgIGN14buRaSAgICAga8OtY2ggY+G7oSAga2nhu4N1Lmh0dHQgW2Phu6FfdOG7h3AgY+G7oV9raOG7kWkgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAiUGjhuqNpIOKJpCBz4buRIGN1bmcgdOG7qy9yw6NuaCAqIHPhu5EgcsOjbmgvdHLhu6UgKG3hurdjIMSR4buLbmgpLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIChhLSVjKTogIgorI34gbXNnc3RyICJQaMOibiB2w7luZyAoYS0lYyk6ICIKKworI34gbXNnaWQgIldhcm5pbmc6IHRvbyBtYW55IHBhcnRpdGlvbnMgKCVkLCBtYXhpbXVtIGlzICVkKS5cbiIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW86IGPDsyBxdcOhIG5oaeG7gXUgcGjDom4gdsO5bmcgKCVkLCB04buRaSDEkWEgbMOgICVkKS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTeW5jaW5nIGRpc2tzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu5NuZyBi4buZIGPDoWMgxJHEqWEuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIDxkaXNrPiAgICBjaGFuZ2UgcGFydGl0aW9uIHRhYmxlXG4iCisjfiAiICUxJHMgW29wdGlvbnNdIC1sIDxkaXNrPiBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorI34gIiAlMSRzIC1zIDxwYXJ0aXRpb24+ICAgICAgZ2l2ZSBwYXJ0aXRpb24gc2l6ZShzKSBpbiBibG9ja3NcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtYiA8c2l6ZT4gICAgICAgICAgICAgc2VjdG9yIHNpemUgKDUxMiwgMTAyNCwgMjA0OCBvciA0MDk2KVxuIgorI34gIiAtY1s9PG1vZGU+XSAgICAgICAgICAgY29tcGF0aWJsZSBtb2RlOiAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKKyN+ICIgLWggICAgICAgICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC11Wz08dW5pdD5dICAgICAgICAgICBkaXNwbGF5IHVuaXRzOiAnY3lsaW5kZXJzJyBvciAnc2VjdG9ycycgKGRlZmF1bHQpXG4iCisjfiAiIC12ICAgICAgICAgICAgICAgICAgICBwcmludCBwcm9ncmFtIHZlcnNpb25cbiIKKyN+ICIgLUMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBjeWxpbmRlcnNcbiIKKyN+ICIgLUggPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorI34gIiAtUyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIgJTEkcyBbdHXhu7NfY2jhu41uXSA8xJHEqWE+ICAgIHRoYXkgxJHhu5VpIGLhuqNuZyBwaMOibiB2w7luZ1xuIgorI34gIiAlMSRzIFt0deG7s19jaOG7jW5dIC1sIDzEkcSpYT4gbGnhu4d0IGvDqiAoY8OhYykgYuG6o25nIHBow6JuIHbDuW5nXG4iCisjfiAiICUxJHMgLXMgPHBow6JuX3bDuW5nPiAgICAgIMSRxrBhIHJhIChjw6FjKSBrw61jaCBj4buhIHBow6JuIHbDuW5nIHRoZW8ga2jhu5FpXG4iCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46XG4iCisjfiAiIC1iIDxrw61jaF9j4buhPiAgICAgICAgICBrw61jaCBj4buhIGN1bmcgdOG7qyAoNTEyLCAxMDI0LCAyMDQ4IGhheSA0MDk2KVxuIgorI34gIiAtY1s9PGNo4bq/X8SR4buZPl0gICAgICAgICBjaOG6vyDEkeG7mSB0xrDGoW5nIHRow61jaDog4oCcZG9z4oCdIGhheSDigJxub25kb3PigJ0gKG3hurdjIMSR4buLbmgpXG4iCisjfiAiIC1oICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunBcbiIKKyN+ICIgLXVbPTzEkcahbl924buLPl0gICAgICAgICBoaeG7g24gdGjhu4sgdGhlbyDEkcahbiB24buLOiDigJxjeWxuZGVyc+KAnSAodHLhu6UpIGhheVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAg4oCcc2VjdG9yc+KAnSAoY3VuZyB04burOiBt4bq3YyDEkeG7i25oKVxuIgorI34gIiAtdiAgICAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHPhu5EgdGjhu6kgdOG7sSBwaGnDqm4gYuG6o25cbiIKKyN+ICIgLUMgPHPhu5E+ICAgICAgICAgICAgICAgZ2hpIHLDtSBz4buRIGPDoWMgdHLhu6VcbiIKKyN+ICIgLUggPHPhu5E+ICAgICAgICAgICAgICAgZ2hpIHLDtSBz4buRIGPDoWMgxJHhuqd1IHThu6tcbiIKKyN+ICIgLVMgPHPhu5E+ICAgICAgICAgICAgICAgZ2hpIHLDtSBz4buRIGPDoWMgY3VuZyB04burIHRyw6puIG3hu5dpIHLDo25oXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc2VlayBvbiAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGRpIGNodXnhu4NuIHbhu4sgdHLDrSDEkeG7jWMgdHLDqm4gJXMiCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgImtow7RuZyBnaGkgxJHGsOG7o2MgJXMiCisKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAibOG7l2kgbmdoacOqbSB0cuG7jW5nIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIlTDoWMgZOG7pW5nIGPhu6dhIGPDonUgbOG7h25oIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICJC4bqhbiBwaOG6o2kgxJHhurd0IgorCisjfiBtc2dpZCAiaGVhZHMiCisjfiBtc2dzdHIgIsSR4bqndSDEkeG7jWMiCisKKyN+IG1zZ2lkICIgYW5kICIKKyN+IG1zZ3N0ciAiIHbDoCAiCisKKyN+IG1zZ2lkICJVbnN1cHBvcnRlZCBzdWZmaXg6ICclcycuXG4iCisjfiBtc2dzdHIgIkjhuq11IHThu5Ega2jDtG5nIMSRxrDhu6NjIGjhu5cgdHLhu6M6IOKAnCVz4oCdLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1cHBvcnRlZDogMTBeTjogS0IgKEtpbG9CeXRlKSwgTUIgKE1lZ2FCeXRlKSwgR0IgKEdpZ2FCeXRlKVxuIgorI34gIiAgICAgICAgICAgIDJeTjogSyAgKEtpYmlCeXRlKSwgTSAgKE1lYmlCeXRlKSwgRyAgKEdpYmlCeXRlKVxuIgorI34gbXNnc3RyICIiCisjfiAiSOG7lyB0cuG7ozpcbiIKKyN+ICIgKiAxMF5OXG4iCisjfiAiICAgS0IgICBraWzDtC1ieXRlXG4iCisjfiAiICAgTUIgICBtZWdhLWJ5dGVcbiIKKyN+ICIgICBHQiAgIGdpZ2EtYnl0ZVxuIgorI34gIiAqIDJeTlxuIgorI34gIiAgIEsgICAga2liaS1ieXRlXG4iCisjfiAiICAgTSAgICBtZWJpLWJ5dGVcbiIKKyN+ICIgICBHICAgIGdpYmktYnl0ZVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICJT4butIGThu6VuZyBnacOhIHRy4buLIG3hurdjIMSR4buLbmggJXVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkMSpYSAlczogJWxkIE1CLCAlbGxkIGJ5dGUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlczogJWxkLiVsZCBHQiwgJWxsdSBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQxKlhICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorCisjfiBtc2dpZCAiLCAlbGx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAiLCAlbGx1IGN1bmcgdOG7q1xuIgorCisjfiBtc2dpZCAiY2Fubm90IHdyaXRlIGRpc2sgbGFiZWwiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBnaGkgbmjDo24gxJHEqWEiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRXJyb3IgY2xvc2luZyBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJM4buXaSDEkcOzbmcgdOG6rXAgdGluXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBjw6BpIMSR4bq3dCBraG/huqNuZyBiw7kgY3VuZyB04burIGNobyB0xrDGoW5nIHRow61jaCBET1NcbiIKKworI34gbXNnaWQgIkRldGVjdGVkIGFuIE9TRi8xIGRpc2tsYWJlbCBvbiAlcywgZW50ZXJpbmcgZGlza2xhYmVsIG1vZGUuXG4iCisjfiBtc2dzdHIgIlTDrG0gdGjhuqV5IG3hu5l0IG5ow6NuIMSRxKlhIE9TRi8xIHRyw6puICVzLCBuaOG6rXAgY2jhur8gxJHhu5kgbmjDo24gxJHEqWEuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiBJdCdzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvXG4iCisjfiAiICAgICAgICAgc3dpdGNoIG9mZiB0aGUgbW9kZSAod2l0aCBjb21tYW5kICdjJykuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ+G6ok5IIELDgU86IGNo4bq/IMSR4buZIHTGsMahbmcgdGjDrWNoIHbhu5tpIERPUyBi4buLIHBo4bqjbiDEkeG7kWkuXG4iCisjfiAiICAgICAgICAgIEtodXnDqm4gYuG6oW4gdOG6r3QgY2jhur8gxJHhu5kgbsOgeSAoZMO5bmcgbOG7h25oIOKAnGPigJ0uLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBjeWxpbmRlcnMgYXMgZGlzcGxheSB1bml0cyBhcmUgZGVwcmVjYXRlZC4gVXNlIGNvbW1hbmQgJ3UnIHRvXG4iCisjfiAiICAgICAgICAgY2hhbmdlIHVuaXRzIHRvIHNlY3RvcnMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJD4bqiTkggQsOBTzogaGnhu4NuIHRo4buLIMSRxqFuIHbhu4sgdHLhu6UgZ2nhu50gYuG7iyBwaOG6o24gxJHhu5FpLiBIw6N5IGTDuW5nIGzhu4duaCDigJx14oCdXG4iCisjfiAiICAgICAgICAgIMSR4buDIGNodXnhu4NuIMSR4buVaSDEkcahbiB24buLIHNhbmcgY3VuZyB04burLlxuIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIsSQ4buTIG5o4bqtbiBkaeG7h24gxJHEqWEgbeG7m2kgKGhp4buHbiB04bqhaSAweCUwOHgpOiAiCisKKyN+IG1zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlXG4iCisjfiBtc2dzdHIgIktow7RuZyBjw7JuIGN1bmcgdOG7qyBuw6BvIHRy4buRbmdcbiIKKworI34gbXNnaWQgIkxhc3QgJTEkcywgKyUyJHMgb3IgK3NpemV7SyxNLEd9IgorI34gbXNnc3RyICJDdeG7kWkgJTEkcywgKyUyJHMgaGF5ICtrw61jaF9j4buhe0ssTSxHfSIKKworI34gbXNnaWQgIiAgICAgcGh5cz0oJWQsICVkLCAlZCkgIgorI34gbXNnc3RyICIgICB24bqtdCBsw709KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgImzDtGfDrWM9KCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgc3RhcnQtb2YtZGF0YSBpbiBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBraOG7n2ktxJHhuqd1LWThu68tbGnhu4d1IGtow7RuZyBo4bujcCBs4buHIHRyb25nIHBow6JuIHbDuW5nICV6ZFxuIgorCisjfiBtc2dpZCAiQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiVGjDqm0gcGjDom4gdsO5bmcgY2jDrW5oXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnkgRE9TIDYueHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGZkaXNrIG1hbnVhbCBwYWdlIGZvciBhZGRpdGlvbmFsaW5mb3JtYXRpb24uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJD4bqiTkggQsOBTzogTuG6v3UgYuG6oW4gxJHDoyB04bqhbyBob+G6t2Mgc+G7rWEgxJHhu5VpIGLhuqV0IGvhu7MgcGjDom4gdsO5bmcgRE9TIDYueCBuw6BvLCB4aW4gaMOjeSB4ZW0gdHJhbmcgaMaw4bubbmcgZOG6q24gc+G7rSBk4bulbmcgbWFuIGZkaXNrIMSR4buDIGJp4bq/dCB0aMOqbSBjaGkgdGnhur90LlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIEto4bufaV/EkeG7mW5nICDEkOG6p3UgICAgICAgICAgQ3Xhu5FpICAgICAgS2jhu5FpICAgIElkICBI4buHX3Ro4buRbmdcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDEqWEgJXM6ICVkIMSR4bqndSDEkeG7jWMsICVsbHUgY3VuZyB04burLCAlbGx1IHRy4bulXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAiTnIgQUYgIMSQ4bqndSBSw6NuaCBUcuG7pSDEkOG6p3UgUsOjbmggVHLhu6UgICAgQuG6r3RfxJHhuqd1ICAgIEPhu6EgICBJRFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBNYWMgbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBmZGlzaygxKSBjYW5ub3QgaGFuZGxlIHRoZXNlIGRpc2tzLlxuIgorI34gIlx0VXNlIGVpdGhlciBwZGlzayBvciBwYXJ0ZWQgdG8gbW9kaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiAiXHROZXZlcnRoZWxlc3Mgc29tZSBhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJcdEPDsyBt4buZdCBuaMOjbiBNYWMgaOG7o3AgbOG7hyB0csOqbiDEkcSpYSBuw6B5LlxuIgorI34gIlx0S2jDtG5nIG1heSBsw6AgaGnhu4duIHThuqFpIGZkaXNrKDEpIGtow7RuZyB0aOG7gyDEkWnhu4F1IGtoaeG7g25cbiIKKyN+ICJcdG5o4buvbmcgxJHEqWEgbsOgeS4gRMO5bmcgaG/hurdjIHBkaXNrIGhv4bq3YyBwYXJ0ZWRcbiIKKyN+ICLEkeG7gyBz4butYSDEkeG7lWkgYuG6o25nIHBow6JuIHbDuW5nLlxuIgorI34gIlxuIgorI34gIlR1eSBuaGnDqm4gbeG7mXQgdsOgaSBs4budaSBraHV5w6puOlxuIgorI34gIlx0MS4gZmRpc2sgc+G6vSBo4buneSBo4bq/dCBu4buZaSBkdW5nIMSRxKlhIGtoaSBnaGkuXG4iCisjfiAiXHQyLiBD4bqnbiDEkeG6o20gYuG6o28gbMOgIMSRxKlhIG7DoHkgS0jDlE5HIHBo4bqjaSBsw6AgcGjhuqduXG4iCisjfiAiXHQgICBxdWFuIHRy4buNbmcgY+G7p2EgbeG7mXQgbmjDs20gxJHEqWEuIChOw7NpIGPDoWNoIGtow6FjIGLhuqFuIGPDs1xuIgorI34gIlx0ICAgdGjhu4MgeMOzYSBjw6FjIMSRxKlhIGtow6FjLCBu4bq/dSBraMO0bmcgdOG6oW8gZ8awxqFuZy4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0WGluIGzhu5dpIC0gZmRpc2sgbsOgeSBraMO0bmcgdGjhu4MgcXXhuqNuIGzDvSBuaMOjbiDEkcSpYSBNYWMuXG4iCisjfiAiXHRO4bq/dSBi4bqhbiBtdeG7kW4gdGjDqm0gY8OhYyBwaMOibiB2w7luZyBk4bqhbmcgRE9TLCBow6N5IHThuqFvXG4iCisjfiAiXHRt4buZdCBi4bqjbmcgcGjDom4gdsO5bmcgRE9TIHLhu5duZyB0csaw4bubYy4gKFPhu60gZOG7pW5nIOKAnG/igJ0uKVxuIgorI34gIlx0Q+G6ok5IIELDgU86IE7hu5lpIGR1bmcgaGnhu4duIHThuqFpIGPhu6dhIMSRxKlhIHPhur0gYuG7iyBo4buneS5cbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIlTDuXkgdGhlbyBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYy4gdGjDrCBOaMOjbiBraMO0bmcgxJHGsOG7o2MgY2jhu6lhIG5oaeG7gXUgaMahbiA1MTIgYnl0ZVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkMSpYSAlcyAobmjDo24gxJHEqWEgU0dJICk6ICVkIMSR4bqndSDEkeG7jWMsICVsbHUgY3VuZyB04burLCAlbGx1IHRy4bulXG4iCisjfiAixJDGoW4gduG7iyA9ICVzIHRyw6puICVkICogJWxkIGJ5dGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBwYXJ0aXRpb25zIC0tLS0tXG4iCisjfiAiUHQjICUqcyAgSW5mbyAgICAgU3RhcnQgICAgICAgRW5kICAgU2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gY8OhYyBwaMOibiB2w7luZyAtLS0tLVxuIgorI34gIlB2IyAlKnMgIFRoVGluICAgIMSQ4bqndSAgICAgICAgIEN14buRaSAgQ3VuZyB04burICBJZCAgSOG7hyB0aOG7kW5nXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gQm9vdGluZm8gLS0tLS1cbiIKKyN+ICJCb290ZmlsZTogJXNcbiIKKyN+ICItLS0tLSBEaXJlY3RvcnkgRW50cmllcyAtLS0tLVxuIgorI34gbXNnc3RyICIiCisjfiAiLS0tLS0gVGjDtG5nIHRpbiBraOG7n2kgxJHhu5luZyAtLS0tLVxuIgorI34gIlThuq1wIHRpbiBraOG7n2kgxJHhu5luZzogJXNcbiIKKyN+ICItLS0tLSBUaMawIG3hu6VjIC0tLS0tXG4iCisKKyN+IG1zZ2lkICIlMnpkOiAlLTEwcyBzZWN0b3IlNXUgc2l6ZSU4dVxuIgorI34gbXNnc3RyICIlMnpkOiAlLTEwcyBjdW5nIHThu6slNXUgY+G7oSU4dVxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkXG4iCisjfiBtc2dzdHIgIktow7RuZyBjw7MgcGjDom4gdsO5bmcgbsOgbyDEkcaw4bujYyDEkeG7i25oIG5naMSpYVxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlBow6JuIHbDuW5nIGNo4bupYSBj4bqjIG3hu5l0IMSRxKlhIGNo4buJIGfhu5NtICVkIGto4buRaSxcbiIKKyN+ICJ0cm9uZyBraGkgxJHEqWEgY2jhu6lhICVkIGto4buRaS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgJWQga2jDtG5nIGLhuq90IMSR4bqndSB0csOqbiByYW5oIGdp4bubaSB0cuG7pS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nICVkIGtow7RuZyBr4bq/dCB0aMO6YyB0csOqbiByYW5nIGdp4bubaSB0cuG7pS5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlemQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nICV6ZCDEkcOjIMSRxrDhu6NjIMSR4buLbmggbmdoxKlhIHLhu5NpLiAgSMOjeSB4w7NhIG7DsyB0csaw4bubYyBraGkgdGjDqm0gbOG6oWkgbOG6p24gbuG7r2EuXG4iCisKKyN+IG1zZ2lkICIgTGFzdCAlcyIKKyN+IG1zZ3N0ciAiICVzIGN14buRaSIKKworI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuXG4iCisjfiBtc2dzdHIgIsSQYW5nIHThuqFvIG3hu5l0IG5ow6NuIMSRxKlhIFNHSSBt4bubaS5cbiIKKworI34gbXNnaWQgIkhESU9fR0VUR0VPIGlvY3RsIGZhaWxlZCBvbiAlcyIKKyN+IG1zZ3N0ciAiSERJT19HRVRHRU8gaW9jdGwgZ+G6t3AgbOG7l2kgdHLDqm4gJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAgVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS5cbiIKKyN+ICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLlxuIgorI34gbXNnc3RyICIiCisjfiAiQ+G6o25oIGLDoW86IEJMS0dFVFNJWkUgaW9jdGwgZ+G6t3AgbOG7l2kgdHLDqm4gJXMuIFPhu60gZOG7pW5nIGdpw6EgdHLhu4sgY+G6pXUgdHLDumMgdHLhu6UgbMOgICVsbHUuXG4iCisjfiAiR2nDoSB0cuG7iyBuw6B5IGPDsyBs4bq9IGLhu4sgY+G6r3QgY+G7pXQgY2hvIHRoaeG6v3QgYuG7iyA+IDMzLjggR0IuXG4iCisKKyN+IG1zZ2lkICJJRD0lMDJ4XHRTVEFSVD0lZFx0TEVOR1RIPSVkXG4iCisjfiBtc2dzdHIgIklEPSUwMnhcdMSQ4bqmVT0lZFx0xJDhu5ggRMOAST0lZFxuIgorCisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb25zIGFscmVhZHkgc2V0LlxuIgorI34gbXNnc3RyICLEkGFuZyBj4buRIGdp4buvIGzhuqFpIGPDoWMgdGhhbSBz4buRIGPhu6dhIHBow6JuIHbDuW5nIMSRw6MgxJHGsOG7o2MgxJHhurd0IHPhurVuLlxuIgorCisjfiBtc2dpZCAiWUVTXG4iCisjfiBtc2dzdHIgIllFU1xuIgorCisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCisjfiBtc2dzdHIgIsSQYW5nIHjDonkgZOG7sW5nIFN1biBkaXNrbGFiZWwgbeG7m2kuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFN1biBkaXNrIGxhYmVsKTogJXUgaGVhZHMsICVsbHUgc2VjdG9ycywgJWQgcnBtXG4iCisjfiAiJWxsdSBjeWxpbmRlcnMsICVkIGFsdGVybmF0ZSBjeWxpbmRlcnMsICVkIHBoeXNpY2FsIGN5bGluZGVyc1xuIgorI34gIiVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiAiTGFiZWwgSUQ6ICVzXG4iCisjfiAiVm9sdW1lIElEOiAlc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQxKlhICVzIChuaMOjbiDEkcSpYSBTdW4pOiAldSDEkeG6p3UgxJHhu41jLCAlbGx1IGN1bmcgdOG7qywgJWQgdsOybmcvcGjDunRcbiIKKyN+ICIlbGx1IHRy4bulLCAlZCB0cuG7pSB4ZW4ga+G6vSwgJWQgdHLhu6UgduG6rXQgbMO9XG4iCisjfiAiJWQgY3VuZyB04burL3Ry4bulIHRow6ptLCDEkeG7mSB4ZW4ga+G6vSAlZDoxXG4iCisjfiAiSUQgbmjDo246ICVzXG4iCisjfiAiSUQgdsO5bmc6ICVzXG4iCisjfiAixJDGoW4gduG7iyA9ICVzIHRyw6puICVkICogNTEyIGJ5dGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzIChTdW4gZGlzayBsYWJlbCk6ICV1IGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDEqWEgJXMgKG5ow6NuIMSRxKlhIFN1bik6ICV1IMSR4bqndSDEkeG7jWMsICVsbHUgY3VuZyB04burLCAlbGx1IHRy4bulXG4iCisjfiAixJDGoW4gduG7iyA9ICVzIHRyw6puICVkICogNTEyIGJ5dGVcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyBD4budICAgICAgxJDhuqd1ICAgICAgICBDdeG7kWkgICAgS2jhu5FpICAgICBJZCAgSOG7hyB0aOG7kW5nXG4iCisKKyN+IG1zZ2lkICIlcyAtQW4gZGV2aWNlXHQgYWN0aXZhdGUgcGFydGl0aW9uIG4sIGluYWN0aXZhdGUgdGhlIG90aGVyIG9uZXNcbiIKKyN+IG1zZ3N0ciAiJXMgLUFuIHRoaeG6v3QgYuG7i1x0IGvDrWNoIGhv4bqhdCBwaMOibiB2w7luZyBuLCBi4buPIGvDrWNoIGhv4bqhdCBuaOG7r25nIGPDoWkga2jDoWNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJIb8OgbiB0aMOgbmhcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIldBUk5JTkc6IGZkaXNrIEdQVCBzdXBwb3J0IGlzIGN1cnJlbnRseSBuZXcsIGFuZCB0aGVyZWZvcmUgaW4gYW4gZXhwZXJpbWVudGFsIHBoYXNlLiBVc2UgYXQgeW91ciBvd24gZGlzY3JldGlvbi4iCisjfiBtc2dzdHIgIkPhuqJOSCBCw4FPOiBo4buXIHRy4bujIGZkaXNrIEdQVCBoaeG7h24gbMOgIHTDrW5oIG7Eg25nIG3hu5tpLCB2w6AgZG8gxJHDsyBuw7MgbeG7m2kgY2jhu4kgbMOgIHRo4butIG5naGnhu4dtLiBC4bqhbiBwaOG6o2kgY2jhu4t1IHLhu6dpIHJvIG7hur91IHPhu60gZOG7pW5nIG7Dsy4iCisKKyN+IG1zZ2lkICJDcmVhdGVkIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgxJHDoyB04bqhbyAlemRcbiIKKworI34gbXNnaWQgIkJ1aWxkaW5nIGEgbmV3IEdQVCBkaXNrbGFiZWwgKEdVSUQ6ICUwOFgtJTA0WC0lMDRYLSUwMlglMDJYLSUwMlglMDJYJTAyWCUwMlglMDJYJTAyWClcbiIKKyN+IG1zZ3N0ciAixJBhbmcgeMOieSBk4buxbmcgR1BUIGRpc2tsYWJlbCBt4bubaSAoR1VJRDogJTA4WC0lMDRYLSUwNFgtJTAyWCUwMlgtJTAyWCUwMlglMDJYJTAyWCUwMlglMDJYKVxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8VVNFUj4gQ09NTUFORFxuIgorI34gbXNnc3RyICIgJXMgW2PDoWMgdMO5eSBjaOG7jW5dIC11IDxUw4BJX0tIT+G6ok4+IEzhu4ZOSFxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBbY8OhYy10w7l5LWNo4buNbl0gWy1dIFtOR1Xhu5xJLUTDmU5HIFt0c+G7kV3igKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0xLCAtLW9uZSAgICAgICAgc2hvdyBvbmx5IGN1cnJlbnQgbW9udGggKGRlZmF1bHQpXG4iCisjfiAiIC0zLCAtLXRocmVlICAgICAgc2hvdyBwcmV2aW91cywgY3VycmVudCBhbmQgbmV4dCBtb250aFxuIgorI34gIiAtcywgLS1zdW5kYXkgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIG91dHB1dCBKdWxpYW4gZGF0ZXNcbiIKKyN+ICIgLXksIC0teWVhciAgICAgICBzaG93IHdob2xlIGN1cnJlbnQgeWVhclxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtMSwgLS1vbmUgICAgICAgIGhp4buDbiB0aOG7iyBjaOG7iSB0aMOhbmcgaGnhu4duIGjDoG5oICht4bq3YyDEkeG7i25oKVxuIgorI34gIiAtMywgLS10aHJlZSAgICAgIGhp4buDbiB0aOG7iyB0aMOhbmcgdHLGsOG7m2MsIGhp4buHbiBow6BuaCB2w6Aga+G6vyB0aeG6v3BcbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBDaOG7pyBuaOG6rXQgbMOgIG5nw6B5IMSR4bqndSB0acOqbiBj4bunYSB0deG6p25cbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICBUaOG7qSBoYWkgbMOgIG5nw6B5IMSR4bqndSB0acOqbiBj4bunYSB0deG6p25cbiIKKyN+ICIgLWosIC0tanVsaWFuICAgICBr4bq/dCB4deG6pXQgxJHhu4tuaCBk4bqhbmcgSnVsaWFuXG4iCisjfiAiIC15LCAtLXllYXIgICAgICAgaGnhu4NuIHRo4buLIHRvw6BuIGLhu5kgbsSDbSBoaeG7h24gdOG6oWlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJnZXRhZGRyaW5mbyAlczolczogJXMiCisjfiBtc2dzdHIgImdldGFkZHJpbmZvICVzOiVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tdWRwICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorI34gIiAtaSwgLS1pZCAgICAgICAgICAgICAgbG9nIHRoZSBwcm9jZXNzIElEIHRvb1xuIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAgY2jhu4kgZMO5bmcgVURQXG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICBnaGkgY+G6oyBuaOG6rXQga8O9IElEIHRp4bq/biB0csOsbmhcbiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIGdoaSBuaOG6rXQga8O9IG7hu5lpIGR1bmcgY+G7p2EgdOG6rXAgdGluIG7DoHlcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorI34gIiAtUCwgLS1wb3J0IDxudW1iZXI+ICAgdXNlIHRoaXMgVURQIHBvcnRcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+IG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKKyN+ICIgLXMsIC0tc3RkZXJyICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgZ2hpIHThu5tpIG3DoXkgY2jhu6cgZ2hpIG5o4bqtdCBrw70gaOG7hyB0aOG7kW5nIHRyw6puIG3huqFuZyBuw6B5XG4iCisjfiAiIC1QLCAtLXBvcnQgPG51bWJlcj4gICBz4butIGThu6VuZyBj4buVbmcgVURQIG7DoHlcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+IMSRw6FuaCBk4bqldSB0aMO0bmcgxJFp4buHcCDEkcOjIGNo4buJIHJhIHbhu5tpIG3hu6ljIMawdSB0acOqbiBuw6B5XG4iCisjfiAiIC1zLCAtLXN0ZGVyciAgICAgICAgICBr4bq/dCB4deG6pXQgdGjDtG5nIMSRaeG7h3AgcmEgxJHhuqd1IGzhu5dpIGNodeG6qW4gY8WpbmcgdOG7kXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCisjfiAiIC11LCAtLXNvY2tldCA8c29ja2V0PiB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC10LCAtLXRhZyA8dGFnPiAgICAgICDEkcOhbmggZOG6pXUgbeG7jWkgZMOybmcgduG7m2kgY+G7nSBuw6B5XG4iCisjfiAiIC11LCAtLXNvY2tldCA8c29ja2V0PiBnaGkgdsOgbyDEkeG6p3UgbuG7kWkgKHNvY2tldCkgVW5peCBuw6B5XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3Blbi9jcmVhdGUgJXM6ICVtXG4iCisjfiBtc2dzdHIgIkzhu5dpIHThuqFvIGhv4bq3YyBt4bufL3ThuqFvICAlczogJW1cbiIKKworI34gbXNnaWQgIkZhaWxlZCB0byBsb2NrICVzOiAlbVxuIgorI34gbXNnc3RyICJM4buXaSBraGkga2jDs2EgJXM6ICVtXG4iCisKKyN+IG1zZ2lkICJCYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICJT4buRIHNhaTogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wIChjb3VsZCBiZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgZOG6pXUgduG6v3QgdGjhu51pIGdpYW4g4bufIGThuqFuZyBjb24gbmfGsOG7nWkgxJHhu41jIMSRxrDhu6NjIChjw7MgdGjhu4NcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2jDtG5nIGNow61uaCB4w6FjIG7hur91IGLhuqFuIMSRw6MgZMO5bmcgU1VTUEVORC9SRVNVTUUpXG4iCisKKyN+IG1zZ2lkICItLW5vdGltZSBjYW4ndCBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1jdGltZSBvciAtLXJlbHRpbWUiCisjfiBtc2dzdHIgIi0tbm90aW1lIGtow7RuZyB0aOG7gyBz4butIGThu6VuZyBjw7luZyB24bubaSAtLWN0aW1lIGhheSAtLXJlbHRpbWUiCisKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgInTDrG0gdGhp4bq/dCBi4buLIGxvb3AgY2jGsGEgc+G7rSBk4bulbmcgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgIG91dHB1dCBoZWxwIHNjcmVlbiBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICBnaeG6o2kgdGjDrWNoIG5o4buvbmcgZ8OsIMSRYW5nIMSRxrDhu6NjIGzDoG1cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIHh14bqldCB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgIGhp4buDbiB0aOG7iyBtw6BuIGjDrG5oIHRy4bujIGdpw7pwIHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIGtow7RuZyBpbiByYSB0acOqdSDEkeG7gSAoYmFubmVyKSwgY2jhu4kgbMOgbSB2aeG7h2MgduG7m2kgcm9vdFxuIgorI34gIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiBnaGkgdGjhu51pIGdpYW4gcXXDoSBnaeG7nSB0w61uaCBi4bqxbmcgZ2nDonlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+XG4iCisjfiBtc2dzdHIgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxjaHXhu5dpPlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiJXMgW3TDuXlfY2jhu41uXSB0w6puX3Thu4dwX3RpbuKAplxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iICAgICAgICAgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCisjfiAiIC1jICAgICAgICAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIgorI34gIiAtQyAgICAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iCisjfiAiIC1kICAgICAgICAgICAgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLXggICAgICAgICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKKyN+ICIgLWUgZm9ybWF0ICAgICAgIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhXG4iCisjfiAiIC1mIGZvcm1hdF9maWxlICBmaWxlIHRoYXQgY29udGFpbnMgZm9ybWF0IHN0cmluZ3NcbiIKKyN+ICIgLW4gbGVuZ3RoICAgICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorI34gIiAtcyBvZmZzZXQgICAgICAgc2tpcCBvZmZzZXQgYnl0ZXMgZnJvbSB0aGUgYmVnaW5uaW5nXG4iCisjfiAiIC12ICAgICAgICAgICAgICBkaXNwbGF5IHdpdGhvdXQgc3F1ZWV6aW5nIHNpbWlsYXIgbGluZXNcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjIHTDuXkgY2jhu41uOlxuIgorI34gIiAtYiAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGtp4buDdSBt4buZdC1ieXRlIGLDoXQgcGjDom5cbiIKKyN+ICIgLWMgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBraeG7g3UgbeG7mXQtYnl0ZSBrw70gdOG7sVxuIgorI34gIiAtQyAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIGtp4buDdSB0aOG6rXAgbOG7pWMgcGjDom4gICtBU0NJSSBjYW5vbmljYWxcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBraeG7g3UgaGFpLWJ5dGUgdGjhuq1wIHBow6JuXG4iCisjfiAiIC1vICAgICAgICAgICAgICBoaeG7g24gdGjhu4sga2nhu4N1IGhhaS1ieXRlIGLDoXQgcGjDom5cbiIKKyN+ICIgLXggICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBraeG7g3UgaGFpLWJ5dGUgdGjhuq1wIGzhu6VjIHBow6JuXG4iCisjfiAiIC1lIGZvcm1hdCAgICAgICBjaHXhu5dpIMSRw6MgxJHhu4tuaCBk4bqhbmcgxJHGsOG7o2Mgc+G7rSBk4bulbmcgxJHhu4MgaGnhu4NuIHRo4buLIGThu68gbGnhu4d1XG4iCisjfiAiIC1mIGZvcm1hdF9maWxlICB04bqtcCB0aW4gbcOgIG7DsyBjaOG7qWEgY2jhu5dpIMSRw6MgxJHhu4tuaCBk4bqhbmdcbiIKKyN+ICIgLW4gbGVuZ3RoICAgICAgIGNo4buJIHRo4buDIGhp4buHbiBjaGnhu4F1IGTDoGkgY+G7p2Ega+G6v3QgeHXhuqV0IHTDrW5oIHRoZW8gYnl0ZVxuIgorI34gIiAtcyBvZmZzZXQgICAgICAgYuG7jyBxdWEgbeG7mXQga2hv4bqjbmcgKG3hu5l0IHPhu5EpICBieXRlcyB0w61uaCB04burIMSRaeG7g20gYuG6r3QgxJHhuqd1XG4iCisjfiAiIC12ICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgbcOgIGtow7RuZyBk4buTbiBuw6luIGPDoWMgZMOybmcgZ2nhu5FuZyBuaGF1XG4iCisjfiAiIC1WICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjcnlwdCBmYWlsZWQ6ICVtXG4iCisjfiBtc2dzdHIgImNyeXB0IGfhurdwIGzhu5dpOiAlbVxuIgorCisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu4MgcGjDom4gbmjDoW5oOiAlbVxuIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgImzhu5dpIChidWcpIHRyb25nIGzhu51pIGfhu41pIHhzdHJuZHVwIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1BICAgICAgICAgY2hlY2sgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1SICAgICAgICAgc2tpcCByb290IGZpbGVzeXN0ZW07IHVzZWZ1bCBvbmx5IHdpdGggYC1BJ1xuIgorI34gIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisjfiAiICAgICAgICAgICAgICB0eXBlIGlzIGFsbG93ZWQgdG8gYmUgY29tbWEtc2VwYXJhdGVkIGxpc3RcbiIKKyN+ICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKKyN+ICIgLXIgICAgICAgICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgZnNja1xuIgorI34gIiAtcyAgICAgICAgIHNlcmlhbGl6ZSBmc2NrIG9wZXJhdGlvbnNcbiIKKyN+ICIgLWwgICAgICAgICBsb2NrIHRoZSBkZXZpY2UgdXNpbmcgZmxvY2soKVxuIgorI34gIiAtTiAgICAgICAgIGRvIG5vdCBleGVjdXRlLCBqdXN0IHNob3cgd2hhdCB3b3VsZCBiZSBkb25lXG4iCisjfiAiIC1UICAgICAgICAgZG8gbm90IHNob3cgdGhlIHRpdGxlIG9uIHN0YXJ0dXBcbiIKKyN+ICIgLUMgPGZkPiAgICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCisjfiAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLT8gICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gIlNlZSBmc2NrLiogY29tbWFuZHMgZm9yIGZzLW9wdGlvbnMuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46XG4iCisjfiAiIC1BICAgICAgICAga2nhu4NtIHRyYSB0b8OgbiBi4buZIGjhu4cgdGjhu5FuZ1xuIgorI34gIiAtUiAgICAgICAgIGLhu48gcXVhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gZ+G7kWMgKHJvb3QpOyBjaOG7iSBjw7Mgw61jaCB24bubaSB0w7l5IGNo4buNbiDigJwtQeKAnVxuIgorI34gIiAtTSAgICAgICAgIGtow7RuZyBraeG7g20gdHJhIGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gxJHDoyBn4bqvblxuIgorI34gIiAtdCA8a2nhu4N1PiAgY2jhu4kgxJHhu4tuaCBraeG7g3UgY2hvIGjhu4cgdGjDtG5nIHThuq1wIHRpbiBz4bq9IMSRxrDhu6NjIGtp4buDbSB0cmE7XG4iCisjfiAiICAgICAgICAgICAga2nhu4N1IMSRxrDhu6NjIGNobyBwaMOpcCBsw6AgZGFuaCBzw6FjaCBuZ8SDbiBjw6FjaCBi4bqxbmcgZOG6pXUgcGjhuql5XG4iCisjfiAiIC1QICAgICAgICAga2nhu4NtIHRyYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIHNvbmcgc29uZywgYmFvIGfhu5NtIGPhuqMgcm9vdFxuIgorI34gIiAtciAgICAgICAgIGLDoW8gY8OhbyB0aOG7kW5nIGvDqiBjaG8gbeG7l2kgZnNjayB0aGnhur90IGLhu4tcbiIKKyN+ICIgLXMgICAgICAgICBob+G6oXQgxJHhu5luZyBraeG7g3UgZnNjayBu4buRaSB0aeG6v3AgbmhhdVxuIgorI34gIiAtbCAgICAgICAgIGtow7NhIHRoaeG6v3QgYuG7iyBz4butIGThu6VuZyBmbG9jaygpXG4iCisjfiAiIC1OICAgICAgICAga2jDtG5nIHRo4buxYyBoaeG7h24sIGNo4buJIGhp4buDbiB0aOG7iyBjw6FpIGfDrCBz4bq9IGzDoG1cbiIKKyN+ICIgLVQgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIHRpw6p1IMSR4buBIGtoaSBraOG7n2kgxJHhu5luZ1xuIgorI34gIiAtQyA8ZmQ+ICAgIGhp4buDbiB0aOG7iyB0aGFuaCBkaeG7hW4gdGnhur9uOyBi4buZIG3DtCB04bqjIHThuq1wIHRpbiBjaG8gR1VJc1xuIgorI34gIiAtViAgICAgICAgIGdp4bqjbmcgZ2nhuqNpIGPDoWkgZ8OsIMSRYW5nIMSRxrDhu6NjIGzDoG1cbiIKKyN+ICIgLT8gICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICJcbiIKKyN+ICJYZW0gbOG7h25oIGZzY2suKiDEkeG7gyBiaeG6v3QgY8OhYy10w7l5LWNo4buNbi1mcy4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWQsIC0tZGl2aXNvcj1OVU0gICAgICBkaXZpZGUgYnl0ZXMgTlVNXG4iCisjfiAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtSCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUw7l5IGNo4buNbjpcbiIKKyN+ICIgLWQsIC0tZGl2aXNvcj1T4buQICAgICAgIFPhu5AgYnl0ZSBjaGlhXG4iCisjfiAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgaGnhu4NuIHRo4buLIHPhu5EgcsOjbmggdsOgIGvDrWNoIHRoxrDhu5tjXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1ILCAtLWhlbHAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXQsIC0tdHlwZT1UWVBFICBmaWxlIHN5c3RlbSB0eXBlLCB3aGVuIHVuZGVmaW5lZCBleHQyIGlzIHVzZWRcbiIKKyN+ICIgICAgIGZzLW9wdGlvbnMgICBwYXJhbWV0ZXJzIHRvIHJlYWwgZmlsZSBzeXN0ZW0gYnVpbGRlclxuIgorI34gIiAgICAgZGV2aWNlICAgICAgIHBhdGggdG8gYSBkZXZpY2VcbiIKKyN+ICIgICAgIHNpemUgICAgICAgICBudW1iZXIgb2YgYmxvY2tzIG9uIHRoZSBkZXZpY2VcbiIKKyN+ICIgLVYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgZG9uZVxuIgorI34gIiAgICAgICAgICAgICAgICAgIGRlZmluaW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAtViBhcyB2ZXJzaW9uIG11c3QgYmUgb25seSBvcHRpb25cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXQsIC0tdHlwZT1UWVBFICBraeG7g3UgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiwga2hpIGV4dDIgY2jGsGEgcsO1IMSRxrDhu6NjIHPhu60gZOG7pW5nXG4iCisjfiAiICAgICBmcy1vcHRpb25zICAgY8OhYyB0aGFtIHPhu5EgY2hvIGLhu5kgeMOieSBk4buxbmcgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiB0aOG7sWMgdOG6v1xuIgorI34gIiAgICAgZGV2aWNlICAgICAgIMSRxrDhu51uZyBk4bqrbiB04bubaSB0aGnhur90IGLhu4tcbiIKKyN+ICIgICAgIHNpemUgICAgICAgICBz4buRIGzGsOG7o25nIGto4buRaSB0csOqbiB0aGnhur90IGLhu4tcbiIKKyN+ICIgLVYsIC0tdmVyYm9zZSAgICBnaeG6o2kgdGjDrWNoIMSRw6MgbMOgbSBuaOG7r25nIGfDrFxuIgorI34gIiAgICAgICAgICAgICAgICAgIHRow6ptIC1WIG5oaeG7gXUgaMahbiBt4buZdCDEkeG7gyBjw7Mgbmhp4buBdSB0aMO0bmcgdGluIGjGoW4gbuG7r2FcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAtViBjaOG7iSBsw6AgdMO5eSBjaOG7jW5cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgIm1rZnMgKCVzKVxuIgorI34gbXNnc3RyICJta2ZzICglcylcbiIKKworI34gbXNnaWQgInN0cnRvbCBlcnJvcjogbnVtYmVyIG9mIGJsb2NrcyBub3Qgc3BlY2lmaWVkIgorI34gbXNnc3RyICJs4buXaSBzdHJ0b2w6IGtow7RuZyBjaOG7iSByYSBz4buRIGto4buRaSIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICJt4buZdCB0cmFuZyBzYWlcbiIKKworI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICAgICAgIHRyw6puIHRvw6BuIMSRxKlhLiAiCisKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAia2jDtG5nIGjhu5cgdHLhu6Mgc3dhcHNwYWNlIHBoacOqbiBi4bqjbiAlZC4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFkZCAgICAgICAgICAgIGFkZCBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorI34gIiAtZCwgLS1kZWxldGUgICAgICAgICBkZWxldGUgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zIChERVBSRUNBVEVEKVxuIgorI34gIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyN+ICJcbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorI34gIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorI34gIiAtbywgLS1vdXRwdXQgPHR5cGU+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlIChkb3MsIGJzZCwgc29sYXJpcywgZXRjLilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWRkICAgICAgICAgICAgdGjDqm0gY8OhYyBwaMOibiB2w7luZyDEkcOjIGNo4buJIMSR4buLbmggaGF5IHThuqV0IGPhuqMgY2jDum5nXG4iCisjfiAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIHjDs2EgY8OhYyBwaMOibiB2w7luZyDEkcOjIGNo4buJIMSR4buLbmggaGF5IHThuqV0IGPhuqMgY2jDum5nXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgIGxp4buHdCBrw6ogY8OhYyBwaMOibiB2w7luZyAoS0jDlE5HIE7Dik4gRMOZTkcgTuG7rkEpXG4iCisjfiAiIC1zLCAtLXNob3cgICAgICAgICAgIGxp4buHdCBrw6ogY8OhYyBwaMOibiB2w7luZ1xuIgorI34gIlxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICBoaeG7g24gdGjhu4sgU0laRSB0w61uaCB0aGVvIGJ5dGUgdGhheSB2w6wgxJHhu4tuaCBk4bqhbmdcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgxJHhu4MgY2hvIGNvbiBuZ8aw4budaSDEkeG7jWNcbiIKKyN+ICIgLWcsIC0tbm9oZWFkaW5ncyAgICAga2jDtG5nIGhp4buDbiB0aOG7iyB0acOqdSDEkeG7gSBjaG8gdMO5eSBjaOG7jW4gLS1zaG93XG4iCisjfiAiIC1uLCAtLW5yIDxuOm0+ICAgICAgIGNo4buJIMSR4buLbmggbeG7mXQgdsO5bmcgY8OhYyBwaMOibiB2w7luZyAodi5kIC0tbnIgMjo0KVxuIgorI34gIiAtbywgLS1vdXRwdXQgPHR5cGU+ICDEkeG7i25oIG5naMSpYSBj4buZdCBuw6BvIHPhur0gxJHGsOG7o2MgZMO5bmdcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgc+G7rSBk4bulbmcga2jDs2E9XCJnacOhIHRy4buLXCIgbMOgbSDEkeG7i25oIGThuqFuZyBr4bq/dCB4deG6pXRcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgc+G7rSBk4bulbmcga+G6v3QgeHXhuqV0IGThuqFuZyB0aMO0XG4iCisjfiAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIGNo4buJIMSR4buLbmgga2nhu4N1IHBow6JuIHbDuW5nIChkb3MsIGJzZCwgc29sYXJpcywgdi52Li4pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgIGNo4bq/IMSR4buZIGhp4buDbiB0aOG7iyDEkeG6p3kgxJHhu6dcbiIKKworI34gbXNnaWQgIldhcm5pbmchISAgVW5zdXBwb3J0ZWQgR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQuIFVzZSBHTlUgUGFydGVkLiIKKyN+IG1zZ3N0ciAiQ+G6o25oIGLDoW8hISAgUGjDoXQgaGnhu4duIEdQVCAoYuG6o25nIHBow6JuIHbDuW5nIEdVSUQpIGtow7RuZyDEkcaw4bujYyBo4buXIHRy4bujLiBIw6N5IGTDuW5nIGNoxrDGoW5nIHRyw6xuaCBHTlUgUGFydGVkLiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFRoZXJlIGlzIGEgdmFsaWQgQUlYIGxhYmVsIG9uIHRoaXMgZGlzay5cbiIKKyN+ICJcdFVuZm9ydHVuYXRlbHkgTGludXggY2Fubm90IGhhbmRsZSB0aGVzZVxuIgorI34gIlx0ZGlza3MgYXQgdGhlIG1vbWVudC4gIE5ldmVydGhlbGVzcyBzb21lXG4iCisjfiAiXHRhZHZpY2U6XG4iCisjfiAiXHQxLiBmZGlzayB3aWxsIGRlc3Ryb3kgaXRzIGNvbnRlbnRzIG9uIHdyaXRlLlxuIgorI34gIlx0Mi4gQmUgc3VyZSB0aGF0IHRoaXMgZGlzayBpcyBOT1QgYSBzdGlsbCB2aXRhbFxuIgorI34gIlx0ICAgcGFydCBvZiBhIHZvbHVtZSBncm91cC4gKE90aGVyd2lzZSB5b3UgbWF5XG4iCisjfiAiXHQgICBlcmFzZSB0aGUgb3RoZXIgZGlza3MgYXMgd2VsbCwgaWYgdW5taXJyb3JlZC4pXG4iCisjfiAiXHQzLiBCZWZvcmUgZGVsZXRpbmcgdGhpcyBwaHlzaWNhbCB2b2x1bWUgYmUgc3VyZVxuIgorI34gIlx0ICAgdG8gcmVtb3ZlIHRoZSBkaXNrIGxvZ2ljYWxseSBmcm9tIHlvdXIgQUlYXG4iCisjfiAiXHQgICBtYWNoaW5lLiAgKE90aGVyd2lzZSB5b3UgYmVjb21lIGFuIEFJWHBlcnQpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx0Q8OzIG3hu5l0IG5ow6NuIEFJWCBo4bujcCBs4buHIHRyw6puIMSRxKlhIG7DoHkuXG4iCisjfiAiXHRLaMO0bmcgbWF5IGzDoCBoaeG7h24gdOG6oWkgTGludXgga2jDtG5nIHRo4buDIMSRaeG7gXUga2hp4buDblxuIgorI34gIlx0bmjhu69uZyDEkcSpYSBuw6B5LiAgVHV5IG5oacOqbiBt4buZdCB2w6BpXG4iCisjfiAiXHRs4budaSBraHV5w6puOlxuIgorI34gIlx0MS4gZmRpc2sgc+G6vSBo4buneSBo4bq/dCBu4buZaSBkdW5nIMSRxKlhIGtoaSBnaGkuXG4iCisjfiAiXHQyLiBD4bqnbiDEkeG6o20gYuG6o28gbMOgIMSRxKlhIG7DoHkgS0jDlE5HIHBo4bqjaSBsw6AgcGjhuqduXG4iCisjfiAiXHQgICBxdWFuIHRy4buNbmcgY+G7p2EgbeG7mXQgbmjDs20gxJHEqWEuIChOw7NpIGPDoWNoIGtow6FjIGLhuqFuIGPDs1xuIgorI34gIlx0ICAgdGjhu4MgeMOzYSBjw6FjIMSRxKlhIGtow6FjLCBu4bq/dSBraMO0bmcgdOG6oW8gZ8awxqFuZy4pXG4iCisjfiAiXHQzLiBUcsaw4bubYyBraGkgeMOzYSBi4buZIMSRxKlhIHbhuq10IGzDvSBuw6B5LCBj4bqnbiBwaOG6o2lcbiIKKyN+ICJcdCAgIHjDs2EgxJHEqWEgbeG7mXQgY8OhY2ggbMO0Z8OtYyB04burIG3DoXkgQUlYLlxuIgorI34gIlx0ICAgKE7Ds2kgY8OhY2gga2jDoWMgYuG6oW4gdHLhu58gdGjDoG5oIEFJWHBlcnRcbiIKKyN+ICJcdFx0W2NoxqFpIGNo4buvIHbhu5tpIOKAnGV4cGVydOKAnSA7KSBdKS4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBBSVggZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0WGluIGzhu5dpIC0gZmRpc2sgbsOgeSBraMO0bmcgdGjhu4MgcXXhuqNuIGzDvSBuaMOjbiDEkcSpYSBBSVguXG4iCisjfiAiXHRO4bq/dSBi4bqhbiBtdeG7kW4gdGjDqm0gY8OhYyBwaMOibiB2w7luZyBk4bqhbmcgRE9TLCBow6N5IHThuqFvXG4iCisjfiAiXHRt4buZdCBi4bqjbmcgcGjDom4gdsO5bmcgRE9TIHLhu5duZyB0csaw4bubYy4gKFPhu60gZOG7pW5nIG8uKVxuIgorI34gIlx0Q+G6ok5IIELDgU86IE7hu5lpIGR1bmcgaGnhu4duIHThuqFpIGPhu6dhIMSRxKlhIHPhur0gYuG7iyBo4buneS5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJCU0QgbGFiZWwgZm9yIGRldmljZTogJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIk5ow6NuIEJTRCBjaG8gdGhp4bq/dCBi4buLOiAlc1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVkIGhhcyBlbXB0eSB0eXBlXG4iCisjfiBtc2dzdHIgIkPhuqNuaCBiw6FvOiBwaMOibiB2w7luZyAlZCBjaMawYSBwaMOibiBsb+G6oWlcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIlBow6JuIHbDuW5nICVpIGtow7RuZyBr4bq/dCB0aMO6YyB0csOqbiByYW5oIGdp4bubaSB0cuG7pTpcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBmZGlzayBkb2Vzbid0IHN1cHBvcnQgR1BULiBVc2UgR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPhuqJOSCBCw4FPOiBwaMOhdCBoaeG7h24gR1BUIChi4bqjbmcgcGjDom4gdsO5bmcgR1VJRCkgdHLDqm4g4oCcJXPigJ0uIFRp4buHbiDDrWNoIGZkaXNrIGtow7RuZyBo4buXIHRy4bujIEdQVC4gSMOjeSBkw7luZyBjaMawxqFuZyB0csOsbmggR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIk5vdGU6IHNlY3RvciBzaXplIGlzICVsZCAobm90ICVkKVxuIgorI34gbXNnc3RyICJDaMO6IMO9OiBrw61jaCB0aMaw4bubYyBjdW5nIHThu6sgbMOgICVsZCAoa2jDtG5nIHBo4bqjaSBsw6AgJWQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogR1BUIChHVUlEIFBhcnRpdGlvbiBUYWJsZSkgZGV0ZWN0ZWQgb24gJyVzJyEgVGhlIHV0aWwgc2ZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ+G6ok5IIELDgU86IHBow6F0IGhp4buHbiBHUFQgKGLhuqNuZyBwaMOibiB2w7luZyBHVUlEKSB0csOqbiDigJwlc+KAnS4gVGnhu4duIMOtY2ggc2ZkaXNrIGtow7RuZyBo4buXIHRy4bujIEdQVC4gSMOjeSBkw7luZyBjaMawxqFuZyB0csOsbmggR05VIFBhcnRlZC5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIHRoaXMgY2hlY2suXG4iCisjfiBtc2dzdHIgIlPhu60gZOG7pW5nIGPhu50g4oCcLS1mb3JjZeKAnSAoYuG6r3QgYnXhu5ljKSDEkeG7gyBiw6NpIGLhu48gc+G7sSBraeG7g20gdHJhIG7DoHkuXG4iCisKKyN+IG1zZ2lkICJleGVjICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlYyAlcyBi4buLIGzhu5dpIgorCisjfiBtc2dpZCAiIgorI34gIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKKyN+ICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyN+ICIgLS1zZXNzaW9uLWNvbW1hbmQgPGNvbW1hbmQ+ICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCisjfiAiIC1mLCAtLWZhc3QgICAgICAgICAgICAgICAgICAgcGFzcyAtZiB0byB0aGUgc2hlbGwgKGZvciBjc2ggb3IgdGNzaClcbiIKKyN+ICIgLW0sIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCisjfiAiIC1wICAgICAgICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyAtbVxuIgorI34gIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgIHJ1biBzaGVsbCBpZiAvZXRjL3NoZWxscyBhbGxvd3MgaXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgIGzDoG0gY2hvIHNoZWxsICho4buHIHbhu48pIGzDoCDEkcaw4bujYyDEkcSDbmcgbmjhuq1wXG4iCisjfiAiIC1jLCAtLWNvbW1hbmQgPGzhu4duaD4gICAgICAgICBjaHV54buDbiBt4buZdCBjw6J1IGzhu4duaCDEkcahbiBjaG8gc2hlbGwgKGjhu4cgduG7jykgYuG6sW5nIC1jXG4iCisjfiAiIC0tc2Vzc2lvbi1jb21tYW5kIDxs4buHbmg+ICAgICBjaHV54buDbiBt4buZdCBjw6J1IGzhu4duaCDEkcahbiBjaG8gc2hlbGwgKGjhu4cgduG7jykgYuG6sW5nIC1jXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdsOgIGtow7RuZyB04bqhbyBt4buZdCBwaGnDqm4gbeG7m2lcbiIKKyN+ICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICBjaHV54buDbiAtZiBjaG8gc2hlbGwgKGjhu4cgduG7jykgKGNobyBjc2ggaGF5IHRjc2gpXG4iCisjfiAiIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAga2jDtG5nIMSR4bq3dCBs4bqhaSBiaeG6v24gbcO0aSB0csaw4budbmdcbiIKKyN+ICIgLXAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaeG7kW5nIHbhu5tpIC1tXG4iCisjfiAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgY2jhuqF5IHNoZWxsICho4buHIHbhu48pIG7hur91IC9ldGMvc2hlbGxzIGNobyBwaMOpcFxuIgorCisjfiBtc2dpZCAiJXM6IGV4ZWMgZmFpbGVkIgorI34gbXNnc3RyICIlczogZXhlYyBn4bq3cCBs4buXaSIKKworI34gbXNnaWQgIlRJT0NTQ1RUWTogaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJUSU9DU0NUVFk6IGlvY3RsIGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsrZm9ybWF0XSBbZGF5IG1vbnRoIHllYXJdXG4iCisjfiBtc2dzdHIgImPDoWNoIGTDuW5nOiAlcyBbK8SR4buLbmhfZOG6oW5nXSBbbmfDoHkgdGjDoW5nIG7Eg21dXG4iCisKKyN+IG1zZ2lkICJTdC4gVGliJ3MgRGF5IgorI34gbXNnc3RyICJOZ8OgeSBUaMOhbmggVGliIgorCisjfiBtc2dpZCAiIgorI34gIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgbW91bnQgb3B0aW9uc1xuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBnaeG7m2kgaOG6oW504bqtcCBo4bujcCBj4bunYSAgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBi4bufaSBjw6FjIHTDuXkgY2jhu41uIGfhuq9uXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgY8OhYyBj4buZdCBz4bq9IMSRxrDhu6NjIGhp4buDbiB0aOG7iyByYVxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICAgIHPhu60gZOG7pW5nIGtow7NhPVwidmFsdWVcIiDEkeG7gyDEkeG7i25oIGThuqFuZyBr4bq/dCB4deG6pXRcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICBz4butIGThu6VuZyBr4bq/dCB4deG6pXQgZOG6oW5nIHRow7RcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBnaeG7m2kgaOG6oW4gdOG6rXAgaOG7o3AgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBi4bufaSBraeG7g3UgRlNcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1zIHNpZ25hbCB8IC1wIF0gWyAtYSBdIHBpZCAuLi5cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzIFsgLXMgdMOtbl9oaeG7h3UgfCAtcCBdIFsgLWEgXSBwaWQg4oCmXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyB0w61uX2hp4buHdSBdXG4iCisKKyN+IG1zZ2lkICJjb25uZWN0ICVzIgorI34gbXNnc3RyICJr4bq/dCBu4buRaSAlcyIKKworI34gbXNnaWQgImludmFsaWQgcG9ydCBudW1iZXIgYXJndW1lbnQiCisjfiBtc2dzdHIgInRoYW0gc+G7kSBz4buRIGhp4buHdSBj4buVbmcga2jDtG5nIGjhu6NwIGzhu4ciCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiJXMgW3TDuXkgY2jhu41uXSBbPHRoaeG6v3QgYuG7iz4g4oCmXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCisjfiAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCisjfiAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCisjfiAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKKyN+ICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorI34gIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICB1c2FnZSBpbmZvcm1hdGlvbiAodGhpcylcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorI34gIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3VwdXRcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKKyN+ICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgIGhp4buDbiB0aOG7iyB04bqldCBj4bqjIGPDoWMgdGhp4bq/dCBi4buLXG4iCisjfiAiIC1iLCAtLWJ5dGVzICAgICAgICAgIGhp4buDbiB0aOG7iyBTSVpFIHTDrW5oIGLhurFuZyBieXRlIHRoYXkgdsOsIOG7nyDEkeG7i25oIGThuqFuZyBkYW5oIGNobyBuZ8aw4budaSDEkeG7jWNcbiIKKyN+ICIgLWQsIC0tbm9kZXBzICAgICAgICAga2jDtG5nIGhp4buDbiB0aOG7iyB0aGnhur90IGLhu4sgc2xhdmVzIGhheSBob2xkZXJzXG4iCisjfiAiIC1ELCAtLWRpc2NhcmQgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIGto4bqjIG7Eg25nIGLhu4sgaOG7p3kgYuG7j1xuIgorI34gIiAtZSwgLS1leGNsdWRlIDxsaXN0PiBsb+G6oWkgdHLhu6sgY8OhYyB0aGnhur90IGLhu4sgdGhlbyBz4buRIGzhu5tuIChtYWpvcikgKG3hurdjIMSR4buLbmg6IGPDoWMgxJHEqWEgUkFNKVxuIgorI34gIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBjaOG7iSBoaeG7g24gdGjhu4sgbmjhu69uZyB0aGnhur90IGLhu4sgduG7m2kgc+G7kSBtYWpvciDEkcaw4bujYyBjaOG7iSByYVxuIgorI34gIiAtZiwgLS1mcyAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIGjhu4cgdGjhu5FuZyB04bqtcCB0aW5cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgY8OhYyBz4butIGThu6VuZyAoY2jDrW5oIGPDoWkgbsOgeSlcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAgY2jhu4kgc+G7rSBk4bulbmcgY8OhYyBrw70gdOG7sSDEkeG7i25oIGThuqFuZyBhc2NpaVxuIgorI34gIiAtbSwgLS1wZXJtcyAgICAgICAgICBoaeG7g24gdGjhu4sgY8OhYyB0aMO0bmcgdGluIHbhu4EgcXV54buBbiBo4bqhblxuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICBz4butIGThu6VuZyBr4bq/dCB4deG6pXQgxJHhu4tuaCBk4bqhbmcga2nhu4N1IGRhbmggc8OhY2hcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAga2jDtG5nIGhp4buDbiB0aOG7iyB0acOqdSDEkeG7gVxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBjw6FjIGPhu5l0IHPhur0gxJHGsOG7o2Mga+G6v3QgeHXhuqV0XG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgIHPhu60gZOG7pW5nIGtow7NhID1cInZhbHVlXCIgbMOgbSDEkeG7i25oIGThuqFuZyBr4bq/dCB4deG6pXRcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgc+G7rSBk4bulbmcga+G6v3QgeHXhuqV0IHRoZW8gxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorI34gIiAtcywgLS1pbnZlcnNlICAgICAgICDEkeG6o28gbmfGsOG7o2MgcGjhuqduIHBo4bulIHRodeG7mWNcbiIKKyN+ICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgeHXhuqV0IHRow7RuZyB0aW4gduG7gSBow6xuaCB0aMOhaSBo4buNY1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgIGdp4bqjaSB0aMOtY2ggbmjhu69uZyBnw6wgxJFhbmcgxJHGsOG7o2MgdGjhu7FjIGhp4buHblxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZiA8ZmlsZT4gIGRlZmluZSBzZWFyY2ggc2NvcGVcbiIKKyN+ICIgLWIgICAgICAgICBzZWFyY2ggb25seSBiaW5hcmllc1xuIgorI34gIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorI34gIiAtbSAgICAgICAgIHNlYXJjaCBvbmx5IG1hbnVhbCBwYXRoc1xuIgorI34gIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gbG9va3VwIHBhdGhcbiIKKyN+ICIgLXMgICAgICAgICBzZWFyY2ggb25seSBzb3VyY2VzIHBhdGhcbiIKKyN+ICIgLVMgPGRpcnM+ICBkZWZpbmUgc291cmNlcyBsb29rdXAgcGF0aFxuIgorI34gIiAtdSAgICAgICAgIHNlYXJjaCBmcm9tIHVudXN1YWwgZW50aXRpZXNcbiIKKyN+ICIgLVYgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWYgPGZpbGU+ICDEkeG7i25oIG5naMSpYSBwaOG6oW0gdmkgdMOsbSBraeG6v21cbiIKKyN+ICIgLWIgICAgICAgICBjaOG7iSB0w6xtIGtp4buDdSBuaOG7iyBwaMOiblxuIgorI34gIiAtQiA8ZGlycz4gIMSR4buLbmggbmdoxKlhIMSRxrDhu51uZyBk4bqrbiB0w6xtIGtp4bq/bSBuaOG7iyBwaMOiblxuIgorI34gIiAtbSAgICAgICAgIGNo4buJIHTDrG0ga2nhur9tIGPDoWMgdGjGsCBt4bulYyDEkcaw4bujYyBjaOG7iSDEkeG7i25oIHRo4bunIGPDtG5nXG4iCisjfiAiIC1NIDxkaXJzPiAgxJHhu4tuaCBuZ2jEqWEgxJHGsOG7nW5nIGThuqtuIHTDrG0ga2nhur9tIGNobyBtYW5cbiIKKyN+ICIgLXMgICAgICAgICBjaOG7iSB0w6xtIHRyw6puIMSRxrDhu51uZyBk4bqrbiBuZ3Xhu5NuXG4iCisjfiAiIC1TIDxkaXJzPiAgxJHhu4tuaCBuZ2jEqWEgxJHGsOG7nW5nIGThuqtuIHTDrG0ga2nhur9tXG4iCisjfiAiIC11ICAgICAgICAgdMOsbSBraeG6v20gdOG7qyBjw6FjIG3hu6VjIGLhuqV0IHRoxrDhu51uZ1xuIgorI34gIiAtViAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHbhu4EgcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtaCAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiU2VlIGhvdyB0byB1c2UgZmlsZSBhbmQgZGlycyBhcmd1bWVudHMgZnJvbSB3aGVyZWlzKDEpIG1hbnVhbC5cbiIKKyN+IG1zZ3N0ciAiWGVtIHRow6ptIGPDoWNoIHPhu60gZOG7pW5nIMSR4buRaSBz4buRIHThuq1wIHRpbiB2w6AgdGjGsCBt4bulYyB04burIHBo4bqnbiBoxrDhu5tuZyBk4bqrbiBj4bunYSB3aGVyZWlzKDEpLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkbid0IGxvY2sgaW50byBtZW1vcnkiCisjfiBtc2dzdHIgIm1vdW50OiBraMO0bmcgdGjhu4Mga2jDs2EgdsOgbyBi4buZIG5o4bubIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudDogdGhhbSBz4buRIGNobyAtcCBob+G6t2MgLS1wYXNzLWZkIHBo4bqjaSBsw6AgbeG7mXQgc+G7kSIKKworI34gbXNnaWQgImV4ZWN1dGluZyAlcyBmYWlsZWQiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7sWMgaGnhu4duIMSRxrDhu6NjICVzIgorCisjfiBtc2dpZCAiIgorI34gIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorI34gIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKKyN+ICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKKyN+ICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIGVuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCisjfiAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICB1c2UgdGhlIGZpbGUgaW5zdGVhZCBvZiB0aGUga2VybmVsIGxvZyBidWZmZXJcbiIKKyN+ICIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorI34gIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCisjfiAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCisjfiAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICBmb3JjZSB0byB1c2Ugc3lzbG9nKDIpIHJhdGhlciB0aGFuIC9kZXYva21zZ1xuIgorI34gIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorI34gIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbiByZWFkYWJsZSB0aW1lc3RhbXAgKGNvdWxkIGJlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5hY2N1cmF0ZSBpZiB5b3UgaGF2ZSB1c2VkIFNVU1BFTkQvUkVTVU1FKVxuIgorI34gIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgbWVzc2FnZXMgdGltZXN0YW1wXG4iCisjfiAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorI34gIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAgZGVjb2RlIGZhY2lsaXR5IGFuZCBsZXZlbCB0byByZWFkYWJsZSBzdHJpbmdcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgeMOzYSBz4bqhY2ggYuG7mSDEkeG7h20gdsOybmcgbmjDom4gKGtlcm5lbClcbiIKKyN+ICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIMSR4buNYyB2w6AgeMOzYSBz4bqhY2ggdOG6pXQgY+G6oyBjw6FjIHRow7RuZyDEkWnhu4dwXG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICB04bqvdCBoaeG7g24gdGjhu4sgdGjDtG5nIMSRaeG7h3AgdOG7m2kgdGhp4bq/dCBi4buLIGNvbnNvbGVcbiIKKyN+ICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aOG7nWkgZ2lhbiBkZWx0YSBnaeG7r2EgY8OhYyB0aMO0bmcgxJFp4buHcCDEkcaw4bujYyBoaeG7g24gdGjhu4tcbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aOG7nWkgZ2lhbiDEkeG7i2EgcGjGsMahbmcgdsOgIGRlbHRhIOG7nyDEkeG7i25oIGThuqFuZyBjw7MgdGjhu4MgxJHhu41jIMSRxrDhu6NjXG4iCisjfiAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBjaG8gcGjDqXAgaGnhu4NuIHRo4buLIHRow7RuZyDEkWnhu4dwIHThu5tpIHRoaeG6v3QgYuG7iyBjb25zb2xlXG4iCisjfiAiIC1GLCAtLWZpbGUgPGZpbGU+ICAgICAgICAgICBz4butIGThu6VuZyB04bqtcCB0aW4gdGhheSB2w6wgYuG7mSDEkeG7h20gbmjhuq10IGvDvSBuaMOiblxuIgorI34gIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgaOG6oW4gY2jhur8ga+G6v3QgeHXhuqV0IMSR4bq/biBjw6FjIHBoxrDGoW5nIHRp4buHbiDEkcOjIMSR4buLbmggbmdoxKlhXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunAgbsOgeSBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgxJFp4buHcCBuaMOiblxuIgorI34gIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgaOG6oW4gY2jhur8ga+G6v3QgeHXhuqV0IMSR4bq/biBjw6FjIG3hu6ljIMSRw6MgxJHhu4tuaCBuZ2jEqWFcbiIKKyN+ICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IMSR4bq3dCBt4bupYyBj4bunYSB0aMO0bmcgxJFp4buHcCDEkcaw4bujYyBoaeG7g24gdGjhu4sg4bufIHRoaeG6v3QgYuG7iyBjb25zb2xlXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgcmEgYuG7mSDEkeG7h20gdGjDtG5nIMSRaeG7h3AgZOG6oW5nIHRow7RcbiIKKyN+ICIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIMOpcCBideG7mWMgc+G7rSBk4bulbmcgc3lzbG9nKDIpIHRoYXkgdsOsIC9kZXYva21zZ1xuIgorI34gIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAga8OtY2ggdGjGsOG7m2MgYuG7mSDEkeG7gyDEkeG7gyB0cnV5IHbhuqVuIGLhu5kgxJHhu4dtIHbDsm5nIG5ow6JuXG4iCisjfiAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgZOG6pXUgduG6v3QgdGjhu51pIGdpYW4gZOG6oW5nIGNobyBjb24gbmfGsOG7nWkgxJHhu41jIChjw7MgbOG6vSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhaSBu4bq/dSBi4bqhbiBz4butIGThu6VuZyBTVVNQRU5EL1JFU1VNRSlcbiIKKyN+ICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgZOG6pXUgduG6v3QgdGjhu51pIGdpYW5cbiIKKyN+ICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgxJFp4buHcCBt4bupYyBuZ8aw4budaSBkw7luZ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gcGhpw6puIGLhuqNuIHLhu5NpIHRob8OhdFxuIgorI34gIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iCisjfiAiIC14LCAtLWRlY29kZSAgICAgICAgICAgICAgICBnaeG6o2kgbcOjIHBoxrDGoW5nIHRpw6puIHbDoCBt4bupYyB0aMOgbmggY2jhu5dpIGPDsyB0aOG7gyDEkeG7jWMgxJHGsOG7o2NcbiIKKworI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgImVqZWN0OiBraMO0bmcgxJHhurd0IMSRxrDhu6NjIGlkIG5nxrDhu51pIGTDuW5nIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICB0aGlzIGhlbHBcbiIKKyN+ICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCisjfiAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgdHLhu6MgZ2nDunAgbsOgeVxuIgorI34gIiAtZiwgLS1mcmVlemUgICAgICBsw6BtIMSRw7RuZyDEkeG6t2MgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorI34gIiAtdSwgLS11bmZyZWV6ZSAgICBi4buPIMSRw7RuZyDEkeG6t2MgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtIGZzZnJlZXplKDgpLlxuIgorCisjfiBtc2dpZCAibWF4IHNlZyBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgImvDrWNoIGPhu6EgxJFv4bqhbiBs4bubbiBuaOG6pXQgKGtieXRlKSA9ICVsdVxuIgorCisjfiBtc2dpZCAibWluIHNlZyBzaXplIChieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAia8OtY2ggY+G7oSDEkW/huqFuIG5o4buPIG5o4bqldCAoYnl0ZSkgPSAlbHVcbiIKKworI34gbXNnaWQgInNobWN0bCBmYWlsZWQiCisjfiBtc2dzdHIgInNobWN0bCBi4buLIGzhu5dpIgorCisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibXNnY3RsIGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICJjYnl0ZXM9JWxkXHRxYnl0ZXM9JWxkXHRxbnVtPSVsZFx0bHNwaWQ9JWRcdGxycGlkPSVkXG4iCisjfiBtc2dzdHIgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWUsIC0tZW5jcnlwdGlvbiA8dHlwZT4gICAgICAgZW5hYmxlIGVuY3J5cHRpb24gd2l0aCBzcGVjaWZpZWQgPG5hbWUvbnVtPlxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCisjfiAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXBhc3MtZmQgPG51bT4gICAgICAgICAgIHJlYWQgcGFzc3BocmFzZSBmcm9tIGZpbGUgZGVzY3JpcHRvciA8bnVtPlxuIgorI34gIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0dXAgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCisjfiAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZSwgLS1lbmNyeXB0aW9uIDxraeG7g3U+ICAgICAgIGLhuq10IG3DoyBow7NhIGThu68gbGnhu4d1IHbhu5tpIDx0w6puL3Phu5E+IMSRw6MgZ2hpIHLDtVxuIgorI34gIiAtbywgLS1vZmZzZXQgPHPhu5E+ICAgICAgICAgICAgIGLhuq90IMSR4bqndSDhu58ga2hv4bqjbmcgYsO5IHPhu5EgbsOgeSB0cm9uZyB04bqtcCB0aW5cbiIKKyN+ICIgICAgICAtLXNpemVsaW1pdCA8c+G7kT4gICAgICAgICBo4bqhbiBjaOG6vyB0aGnhur90IGLhu4sgY2jhu4kgPHPhu5E+IGJ5dGUgY+G7p2EgdOG6rXAgdGluXG4iCisjfiAiIC1wLCAtLXBhc3MtZmQgPHPhu5E+ICAgICAgICAgICAgxJHhu41jIGPhu6VtIHThu6sgbeG6rXQga2jhuql1IHThu6sgYuG7mSBtw7QgdOG6oyB04bqtcCB0aW4gPHPhu5E+XG4iCisjfiAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIHThuqFvIHBow6JuIHbDuW5nIGNobyB0aGnhur90IGLhu4sgdsOybmcgbOG6t3BcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIHbDsm5nIGzhurdwIGNo4buJLcSR4buNY1xuIgorI34gIiAgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICBpbiByYSB0w6puIHRoaeG6v3QgYuG7iyBzYXUga2hpIGPDoGkgxJHhurd0ICh24bubaSDigJwtZuKAnS5cbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAgY2jhur8gxJHhu5kgY2hpIHRp4bq/dFxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBwYXNzcGhyYXNlIGZpbGUgZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAic2FpIG3huq10IGto4bqpdSBi4buZIG3DtCB04bqjIHThuq1wIHRpbiIKKworI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICIlcyBn4bq3cCBs4buXaSBraGkgc+G7rSBk4bulbmcgdGhp4bq/dCBi4buLIgorCisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGtow7NhIHbDoG8gYuG7mSBuaOG7myIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorI34gIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKKyN+ICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKKyN+ICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCisjfiAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBkaXJlY3RvcnkgRElSIGFzIHN5c3RlbSByb290XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHByaW50IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBjw6FjIENQVSB0cuG7sWMgdHV54bq/biB2w6Agbmdv4bqhaSB0dXnhur9uICht4bq3YyDEkeG7i25oIGNobyAtZSlcbiIKKyN+ICIgLWIsIC0tb25saW5lICAgICAgICAgICAgY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgQ1BVIHRy4buxYyB0dXnhur9uICht4bq3YyDEkeG7i25oIGNobyAtcClcbiIKKyN+ICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgY2jhu4kgaGnhu4NuIHRo4buLIGPDoWMgQ1BVIG5nb+G6oWkgdHV54bq/blxuIgorI34gIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBoaeG7g24gdGjhu4sgcmEgbeG7mXQgxJHhu4tuaCBk4bqhbmcgxJHhu41jIMSRxrDhu6NjIG3hu58gcuG7mW5nXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisjfiAiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIGhp4buDbiB0aOG7iyByYSBt4buZdCDEkeG7i25oIGThuqFuZyBwaMOibiB0w61jaCDEkcaw4bujY1xuIgorI34gIiAtcywgLS1zeXNyb290IDxkaXI+ICAgICBz4butIGThu6VuZyB0aMawIG3hu6VjIERJUiBuaMawIGzDoCByb290IGPhu6dhIGjhu4cgdGjhu5FuZ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHJhIG3hurd0IG3huqEgZOG6oW5nIHRo4bqtcCBs4bulYyBwaMOibiB0aGF5IHbDrCBraeG7g3UgbGnhu4d0IGvDqiBDUFVzXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldHVwIGxvb3AgZGV2aWNlIChwcm9iYWJseSB1bmtub3duIGVuY3J5cHRpb24gdHlwZSkiCisjfiBtc2dzdHIgIiVzOiBn4bq3cCBs4buXaSBraGkgY8OgaSDEkeG6t3QgdGhp4bq/dCBi4buLIGxvb3AgKGjhuqd1IG5oxrAgY2jhuq9jIGNo4bqvbiBsw6Aga2jDtG5nIGhp4buDdSBraeG7g3UgbcOjIGjDs2EpIgorCisjfiBtc2dpZCAicmVuaWNlIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAidGhheSDEkeG7lWkgxrB1IHRpw6puIHThu6sgJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorI34gIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKKyN+ICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCisjfiAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCisjfiAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtZXNzYWdlc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1kLCAtLWRldmljZSA8dGhp4bq/dF9i4buLPiAgY2jhu41uIHRoaeG6v3QgYuG7iyBydGMgKHJ0YzB8cnRjMXzigKYpXG4iCisjfiAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBsw6BtIG3hu41pIHZp4buHYywgbmjGsG5nIG3DoCB0cmVvXG4iCisjfiAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgZMO5bmcgbcO6aSBnaeG7nSBj4bulYyBi4buZXG4iCisjfiAiIC1tLCAtLW1vZGUgPGNo4bq/IMSR4buZPiAgICAgIGNo4bq/IMSR4buZIG5n4bunIHN0YW5kYnl8bWVtfOKApiBcbiIKKyN+ICIgLXMsIC0tc2Vjb25kcyA8Z2nDonk+IHPhu5EgIGdpw6J5IMSR4bujaSB0csaw4bubYyBraGkgbmfhu6dcbiIKKyN+ICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRo4budaSBnaWFuIHRyxrDhu5tjIGtoaSBrw61jaCBob+G6oXQgbOG6oWlcbiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyBkw7luZyB0aOG7nWkgZ2lhbiB0aOG6vyBnaeG7m2kgKFVUQylcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGluIHJhIGNoaSB0aeG6v3RcbiIKKworI34gbXNnaWQgInVuYWJsZSB0byBleGVjdXRlICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgdGjhu7FjIHRoaSAlcyIKKworI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheXMgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAgZGlzYWJsZXMgcmFuZG9taXphdGlvbiBvZiB0aGUgdmlydHVhbCBhZGRyZXNzIHNwYWNlXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKKyN+ICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIHR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDXG4iCisjfiAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICB0dXJucyBvbiBBRERSX0xJTUlUXzMyQklUXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorI34gIiAtVCwgLS1zdGlja3ktdGltZW91dHMgICAgdHVybnMgb24gU1RJQ0tZX1RJTUVPVVRTXG4iCisjfiAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorI34gIiAgICAgLS00Z2IgICAgICAgICAgICAgICAgaWdub3JlZCAoZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seSlcbiIKKyN+ICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgbGnhu4d0IGvDqiBuaOG7r25nIHTDuXkgY2jhu41uIMSRw6MgYuG6rXRcbiIKKyN+ICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIHThuq90IGNo4bupYyBuxINuZyBuZ+G6q3Ugbmhpw6puIGjDs2Ega2jDtG5nIGdpYW4gxJHhu4thIGNo4buJIOG6o29cbiIKKyN+ICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIGzDoG0gY2hvIGNvbiB0cuG7jyBow6BtIHRow6wgY2jhu4kgdOG7m2kgYuG7mSBtw7QgdOG6o1xuIgorI34gIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgYuG6rXQgTU1BUF9QQUdFX1pFUk9cbiIKKyN+ICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IHRoYXkgxJHhu5VpIGPDoWNoIGPhuqVwIHBow6F0IGLhu5kgbmjhu5sg4bqjb1xuIgorI34gIiAtWCwgLS1yZWFkLWltcGxpZXMtZXhlYyAgYuG6rXQgUkVBRF9JTVBMSUVTX0VYRUMgKMSR4buNYyBuZ+G7pSDDvSB0aOG7sWMgaGnhu4duKVxuIgorI34gIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgYuG6rXQgQUREUl9MSU1JVF8zMkJJVCAoZ2nhu5tpIGjhuqFuIMSR4buLYSBjaOG7iSAzMi1iaXQpXG4iCisjfiAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICBi4bqtdCBTSE9SVF9JTk9ERSAobsO6dCB0aMO0bmcgdGluIG5n4bqvbilcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIGLhuq10IFdIT0xFX1NFQ09ORFMgKG5ndXnDqm4gZ2nDonkpXG4iCisjfiAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICBi4bqtdCBTVElDS1lfVElNRU9VVFMgKHRo4budaSBo4bqhbiBkw61uaClcbiIKKyN+ICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIMSR4bq3dCBraMO0bmcgZ2lhbiDEkeG7i2EgY2jhu4kgdGnDqnUgdGjhu6UgdOG7kWkgxJFhIDMgR0JcbiIKKyN+ICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGLhu4sgYuG7jyBxdWEgKGNo4buJIMSR4buDIHTGsMahbmcgdGjDrWNoIG5nxrDhu6NjKVxuIgorI34gIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAgYuG6rXQgVU5BTUUyNlxuIgorCisjfiBtc2dpZCAiZXhlY3ZwIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZXhlY3ZwIGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICJleGVjdiBmYWlsZWQiCisjfiBtc2dzdHIgImV4ZWN2IGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHVtb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCisjfiAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCisjfiAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIGZvcmNlIHVubW91bnQgKGluIGNhc2Ugb2YgYW4gdW5yZWFjaGFibGUgTkZTIHN5c3RlbSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBi4buPIGfhuq9uIHRvw6BuIGLhu5kgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorI34gIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBraMO0bmcgY2Fub25pY2FsaXplIMSRxrDhu51uZyBk4bqrblxuIgorI34gIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBu4bq/dSDEkcOjIGfhuq9uIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cCwgxJHhu5NuZyB0aOG7nWkgZ2nhuqNpIHBow7NuZ1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICBsdcO0biBj4bqjIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cFxuIgorI34gIiAgICAgLS1mYWtlICAgICAgICAgICAgICBjaOG6oXkgdGjhu607IGLhu48gZ+G7jWkgaMOgbSBo4buHIHRo4buRbmcgdW1vdW50KDIpXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgICAgIMOpcCBideG7mWMgYuG7jyBn4bqvbiAodHJvbmcgdHLGsOG7nW5nIGjhu6NwIG3hu5l0IGjhu4cgdGjhu5FuZyBORlNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAga2jDtG5nIHRo4buDIGvhur90IG7hu5FpKVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGFuZCBjbGVhbnVwIGFsbCBsYXRlclxuIgorI34gbXNnc3RyICIiCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGtow7RuZyBn4buNaSBs4buHbmggYuG7jyBn4bqvbi4gdHLDrG5oIGjhu5cgdHLhu6MgPHR5cGU+XG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGtow7RuZyBnaGkgdsOgbyB04bqtcCB0aW4gL2V0Yy9tdGFiXG4iCisjfiAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIHRow6FvIGto4buPaSBo4buHIHRo4buRbmcgdOG6rXAgdGluIG5nYXksIHbDoCBk4buNbiBz4bqhY2ggdOG6pXQgY+G6oyBzYXUgxJHDs1xuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgSW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBnaeG7m2kgaOG6oW4gdOG6rXAgaOG7o3AgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiAoc+G7rSBk4bulbmcgduG7m2kgLWEpXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIFRyb25nIHRyxrDhu51uZyBo4bujcCBi4buPIGfhuq9uIGfhurdwIGzhu5dpLFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICB0aOG7rSBn4bqvbiBs4bqhaSB24bubaSBjaOG7iS3EkeG7jWNcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgZ2nhu5tpIGjhuqFuIHThuq1wIGjhu6NwIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIGhp4buDbiB0aOG7iyBuaOG7r25nIGfDrCDEkWFuZyDEkcaw4bujYyBsw6BtXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1tLCAtLW1vdW50ICAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorI34gIiAtdSwgLS11dHMgICAgICAgICB1bnNoYXJlIFVUUyBuYW1lc3BhY2UgKGhvc3RuYW1lIGV0YylcbiIKKyN+ICIgLWksIC0taXBjICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiAiIC1uLCAtLW5ldCAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgLW0sIC0tbW91bnQgICAgICBi4buPIGNoaWEgc+G6uyBtaeG7gW4gdMOqbiBtb3VudHNcbiIKKyN+ICIgIC11LCAtLXV0cyAgICAgICAgYuG7jyBjaGlhIHPhursgbWnhu4FuIHTDqm4gVVRTICh0w6puIG3DoXkgdi52LilcbiIKKyN+ICIgIC1pLCAtLWlwYyAgICAgICAgYuG7jyBjaGlhIHPhursgbWnhu4FuIHTDqm4gU3lzdGVtIFYgSVBDXG4iCisjfiAiICAtbiwgLS1uZXQgICAgICAgIGLhu48gY2hpYSBz4bq7IG1p4buBbiB0w6puIG5ldHdvcmtcbiIKKworI34gbXNnaWQgIiUtMTVzJXMgW3ZlcnNpb24gJXhdXG4iCisjfiBtc2dzdHIgIiUtMTVzJXMgW3BoacOqbiBi4bqjbiAleF1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iCisjfiAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIGxvZ2luIHRoZSBzcGVjaWZpZWQgdXNlciBhdXRvbWF0aWNhbGx5XG4iCisjfiAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIGRvIG5vdCByZXNldCBjb250cm9sIG1vZGVcbiIKKyN+ICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCisjfiAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKKyN+ICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCisjfiAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKKyN+ICIgLUksIC0taW5pdC1zdHJpbmcgPHN0cmluZz4gc2V0IGluaXQgc3RyaW5nXG4iCisjfiAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorI34gIiAtTCwgLS1sb2NhbC1saW5lICAgICAgICAgICBmb3JjZSBsb2NhbCBsaW5lXG4iCisjfiAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCisjfiAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCisjfiAiIC1vLCAtLWxvZ2luLW9wdGlvbnMgPG9wdHM+IG9wdGlvbnMgdGhhdCBhcmUgcGFzc2VkIHRvIGxvZ2luXG4iCisjfiAiIC1wLCAtLWxvZ2lucGF1c2UgICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorI34gIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKKyN+ICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorI34gIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCisjfiAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCisjfiAiICAgICAtLW5vY2xlYXIgICAgICAgICAgICAgIGRvIG5vdCBjbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBwcm9tcHRcbiIKKyN+ICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iCisjfiAiICAgICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCisjfiAiICAgICAtLW5vLWhvc3RuYW1lICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCisjfiAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIHNob3cgZnVsbCBxdWFsaWZpZWQgaG9zdG5hbWVcbiIKKyN+ICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGdp4bqjIMSR4buLbmggdHR5IDgtYml0XG4iCisjfiAiIC1hLCAtLWF1dG9sb2dpbiA8dXNlcj4gICAgIMSRxINuZyBuaOG6rXAgdOG7sSDEkeG7mW5nIHbhu5tpIHTDqm4gdMOgaSBraG/huqNuIMSRw6MgY2jhu4kgxJHhu4tuaFxuIgorI34gIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBraMO0bmcgxJHhurd0IGzhuqFpIGNo4bq/IMSR4buZIMSRaeG7gXUga2hp4buDblxuIgorI34gIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBoaeG7g24gdGjhu4sgdOG6rXAgdGluIHBow6F0IGjDoG5oXG4iCisjfiAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGNobyBwaMOpcCBwaOG6p24gY+G7qW5nIMSRaeG7gXUga2hp4buDbiBsdeG7k25nIGNo4bqjeVxuIgorI34gIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBjaOG7iSDEkeG7i25oIHTDqm4gbcOheSBjaOG7pyDEkcSDbmcgbmjhuq1wXG4iCisjfiAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgdOG6rXAgdGluIHBow6F0IGjDoG5oXG4iCisjfiAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IGNodeG7l2kga2jhu59pIHThuqFvXG4iCisjfiAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IGNo4buJIMSR4buLbmggY2jGsMahbmcgdHLDrG5oIMSRxINuZyBuaOG6rXBcbiIKKyN+ICIgLUwsIC0tbG9jYWwtbGluZSAgICAgICAgICAgw6lwIGJ14buZYyBkw7JuZyBj4bulYyBi4buZXG4iCisjfiAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIHRyw61jaCB04buRYyDEkeG7mSBiYXVkIHRyb25nIHN14buRdCBxdcOhIHRyw6xuaCBr4bq/dCBu4buRaVxuIgorI34gIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBraMO0bmcgaOG7j2kgY2hvIMSRxINuZyBuaOG6rXBcbiIKKyN+ICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gY8OhYyB0w7l5IGNo4buNbiBraMO0bmcgY2h1eeG7g24gcXVhIGNobyDEkcSDbmcgbmjhuq1wXG4iCisjfiAiIC1wLCAtLWxvZ2lucGF1c2UgICAgICAgICAgIGNo4budIG3hu5l0IHBow61tIGLhuqV0IGvhu7MgdHLGsOG7m2Mga2hpIMSRxINuZyBuaOG6rXBcbiIKKyN+ICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZ+G6p24gbmjGsCB0cmVvIGzDqm4gdHLDqm4gdHR5XG4iCisjfiAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRo4butIGdp4buvIHThu5FjIMSR4buZIGJhdWQgc2F1IGtoaSBuZ+G6r3RcbiIKKyN+ICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgdGjhu51pIGdpYW4gdOG7kWkgxJFhIGNobyBxdcOhIHRyw6xuaCDEkcSDbmcgbmjhuq1wXG4iCisjfiAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGTDsiB0w6xtIHRoaeG6v3QgYuG7iyBjdeG7kWkgY2jhu68gaG9hXG4iCisjfiAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIGNo4budIGvDvSBoaeG7h3UgduG7gSDEkeG6p3UgZMOybmcgKGNyKVxuIgorI34gIiAgICAgLS1ub2NsZWFyICAgICAgICAgICAgICBraMO0bmcgeMOzYSBtw6BuIGjDrG5oIHRyxrDhu5tjIGtoaSBo4buPaVxuIgorI34gIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBraMO0bmcgaGnhu4NuIHRo4buLIGfhu6NpIMO9XG4iCisjfiAiICAgICAtLW5vbmV3bGluZSAgICAgICAgICAgIGtow7RuZyBoaeG7g24gdGjhu4sgbeG7mXQgZMOybmcgbeG7m2kgdHLGsOG7m2Mga2hpIHBow6F0IGjDoG5oXG4iCisjfiAiICAgICAtLW5vLWhvc3RuYW1lICAgICAgICAgIGtow7RuZyBjw7MgdMOqbiBtw6F5IGNo4bunIGPFqW5nIMSRxrDhu6NjIGhp4buDbiB0aOG7i1xuIgorI34gIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBoaeG7g24gdGjhu4sgxJHhuqd5IMSR4bunIHTDqm4gbcOheSBjaOG7p1xuIgorI34gIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB24buBIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHkgcuG7k2kgdGhvw6F0XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAibmfGsOG7nWkgZMO5bmciCisKKyN+IG1zZ2lkICIiCisjfiAiIC10ZXJtIDx0ZXJtaW5hbF9uYW1lPlxuIgorI34gIiAtcmVzZXRcbiIKKyN+ICIgLWluaXRpYWxpemVcbiIKKyN+ICIgLWN1cnNvciA8b258b2ZmPlxuIgorI34gIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gIiAtZGVmYXVsdFxuIgorI34gIiAtZm9yZWdyb3VuZCA8YmxhY2t8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0PlxuIgorI34gIiAtYmFja2dyb3VuZCA8YmxhY2t8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0PlxuIgorI34gIiAtdWxjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtdWxjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxicmlnaHQgYmx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+ICIgLWJvbGQgPG9ufG9mZj5cbiIKKyN+ICIgLWhhbGYtYnJpZ2h0IDxvbnxvZmY+XG4iCisjfiAiIC1ibGluayA8b258b2ZmPlxuIgorI34gIiAtcmV2ZXJzZSA8b258b2ZmPlxuIgorI34gIiAtdW5kZXJsaW5lIDxvbnxvZmY+XG4iCisjfiAiIC1zdG9yZSA+XG4iCisjfiAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiAiIC10YWJzIDwgdGFiMSB0YWIyIHRhYjMgLi4uID4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gIiAtY2xydGFicyA8IHRhYjEgdGFiMiB0YWIzIC4uLiA+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+ICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+ICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKyN+ICIgLWZpbGUgZHVtcGZpbGVuYW1lXG4iCisjfiAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+ICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiAiIC1wb3dlcnNhdmUgPG9ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmY+XG4iCisjfiAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiAiIC12ZXJzaW9uXG4iCisjfiAiIC1oZWxwXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXRlcm0gPHTDqm4gdGjhur90IGLhu4sgY3Xhu5FpPlxuIgorI34gIiAtcmVzZXRcbiIKKyN+ICIgLWluaXRpYWxpemVcbiIKKyN+ICIgLWN1cnNvciA8b258b2ZmPiA6IGNvbiB0cuG7j1xuIgorI34gIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisjfiAiIC1saW5ld3JhcCA8b258b2ZmPlxuIgorI34gIiAtZGVmYXVsdCA6IG3hurdjIMSR4buLbmhcbiIKKyN+ICIgLWZvcmVncm91bmQgPGJsYWNrfGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdD4gOiBtw6B1IHRp4buBbiBj4bqjbmhcbiIKKyN+ICIgLWJhY2tncm91bmQgPGJsYWNrfGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdD4gOiBtw6B1IGjhuq11IGPhuqNuaFxuIgorI34gIiAtdWxjb2xvciA8YmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtdWxjb2xvciA8YnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC1oYmNvbG9yIDxicmlnaHQgYmx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWludmVyc2VzY3JlZW4gPG9ufG9mZj5cbiIKKyN+ICIgLWJvbGQgPG9ufG9mZj4gOiDEkeG6rW1cbiIKKyN+ICIgLWhhbGYtYnJpZ2h0IDxvbnxvZmY+XG4iCisjfiAiIC1ibGluayA8b258b2ZmPiA6bmjhuqVwIG5ow6F5XG4iCisjfiAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+ICIgLXN0b3JlID5cbiIKKyN+ICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+ICIgLXRhYnMgPCB0YWIxIHRhYjIgdGFiMyDigKYgPiAgICAgICh0YWJuID0gMS0xNjApXG4iCisjfiAiIC1jbHJ0YWJzIDwgdGFiMSB0YWIyIHRhYjMg4oCmID4gICAodGFibiA9IDEtMTYwKVxuIgorI34gIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+ICIgLW1zZyA8b258b2ZmPlxuIgorI34gIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+ICIgLXBvd2Vyc2F2ZSA8b258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZj5cbiIKKyN+ICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+ICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+ICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+ICIgLXZlcnNpb24gOiBwaGnDqm4gYuG6o25cbiIKKyN+ICIgLWhlbHAgOiB0cuG7oyBnacO6cFxuIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW92J3MgKGNoYW5nZSBjb2RlIGluIHdhbGwvdHR5bXNnLmMpIgorI34gbXNnc3RyICJxdcOhIG5oaeG7gXUgaW92ICh0aGF5IMSR4buVaSBtw6MgdHJvbmcgd2FsbC90dHltc2cuYykiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvci4iCisjfiBtc2dzdHIgImzhu5dpIGdoaSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWNoIGTDuW5nOiAlcyBbdMO5eV9jaOG7jW5dIFt0w6puX3Thu4dwX3RpbuKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgIGRpc3BsYXlzIHRoaXMgaGVscCB0ZXh0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCisjfiAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorI34gIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4gdGFibGUgZGVsaW1ldGVyXG4iCisjfiAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHlcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0aMO0bmcgdGluIHBoacOqbiBi4bqjbiBy4buTaSB0aG/DoXRcbiIKKyN+ICIgLWMsIC0tY29sdW1ucyA8d2lkdGg+ICAgIMSR4buZIHLhu5luZyBj4bunYSBr4bq/dCB4deG6pXQgdMOtbmggYuG6sW5nIHPhu5Ega8O9IHThu7FcbiIKKyN+ICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIHThuqFvIG3hu5l0IGLhuqNuZ1xuIgorI34gIiAtcywgLS1zZXBhcmF0b3IgPHN0cmluZz4ga8O9IHThu7EgbmfEg24gY8OhY2ggYuG6o25nXG4iCisjfiAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICDEkWnhu4FuIMSR4bqneSBow6BuZyB0csaw4bubYyBjw6FjIGPhu5l0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtIGNvbHVtbigxKS5cbiIKKworI34gbXNnaWQgIm1vcmUgKCVzKVxuIgorI34gbXNnc3RyICJtb3JlICglcylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQ8OhY2ggZMO5bmc6XG4iCisjfiAiJXMgW3TDuXlfY2jhu41uXSBbdMOqbl904buHcF90aW7igKZdXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXQsIC0tdGVybWluYWwgVEVSTUlOQUwgICAgb3ZlcnJpZGUgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGVcbiIKKyN+ICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWMgdMO5eSBjaOG7jW46XG4iCisjfiAiIC10LCAtLXRlcm1pbmFsIFRFUk1JTkFMICAgIGdoaSDEkcOoIGzDqm4gYmnhur9uIG3DtGkgdHLGsOG7nW5nIFRFUk1cbiIKKyN+ICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgxJHGsOG7nW5nIGfhuqFjaCBkxrDhu5tpIMSRxrDhu6NjIGNo4buJIHJhIHRow7RuZyBxdWEgbeG7mXQgZMOybmcgbmfEg24gY8OhY2hcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgaGnhu4NuIHRo4buLIHRow7RuZyB0aW4gduG7gSBwaGnDqm4gYuG6o24gcuG7k2kgdGhvw6F0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5IHLhu5NpIHRob8OhdFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidXNlciBgJXMnIGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAibmfGsOG7nWkgZMO5bmcg4oCcJXPigJ0ga2jDtG5nIHThu5NuIHThuqFpLiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IGZpbGUgJXMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBzdGF0IChs4bqleSB0cuG6oW5nIHRow6FpKSB04bqtcCB0aW4gJXMiCisKKyN+IG1zZ2lkICIiCisjfiAidXNhZ2U6ICVzIFstaHZdIFsteCBkaXJdIGZpbGVcbiIKKyN+ICIgLWggICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXggZGlyICAgICBleHRyYWN0IGludG8gZGlyXG4iCisjfiAiIC12ICAgICAgICAgYmUgbW9yZSB2ZXJib3NlXG4iCisjfiAiIGZpbGUgICAgICAgZmlsZSB0byB0ZXN0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJjw6FjaCBkw7luZzogJXMgWy1odl0gWy14IHRoxrAgbeG7pWNdIHThuq1wIHRpblxuIgorI34gIiAtaFx0XHQgaW4gcmEgaMaw4bubbmcgZOG6q24gbsOgeVxuIgorI34gIiAteCB0aMawIG3hu6VjXHQgZ2hpIHRow7RuZyB0aW4gdsOgbyB0aMawIG3hu6VjIG7DoHlcbiIKKyN+ICIgLXZcdFx0IGhp4buHbiB0aOG7iyBuaGnhu4F1IHRow7RuZyBiw6FvIGtoaSB0aOG7sWMgaGnhu4duXG4iCisjfiAiIHThuq1wIHRpblx0XHQgdOG6rXAgdGluIMSR4buDIHRo4butIG5naGnhu4dtXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1sYXJ2c21mXSAvZGV2L25hbWVcbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFstbGFydnNtZl0gL2Rldi9Uw4pOXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgImtow7RuZyB0aOG7gyBs4bqleSB0cuG6oW5nIHRow6FpIHbhu4EgdGhp4bq/dCBi4buLICVzIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGJsb2Nrc2l6ZSBhcmd1bWVudCIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIMSR4buRaSBz4buRIGvDrWNoX3RoxrDhu5tjX3Thu4dwX3RpbiIKKworI34gbXNnaWQgImVycm9yOiB3aWxsIG5vdCB0cnkgdG8gbWFrZSBzd2FwZGV2aWNlIG9uICclcyciCisjfiBtc2dzdHIgImzhu5dpOiBz4bq9IGtow7RuZyB0aOG7rSB04bqhbyB0aGnhur90IGLhu4sgdHJhbyDEkeG7lWkgdHLDqm4g4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnICglcylcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdGhp4bq/dCBi4buLIGNo4bunIHRow7Qg4oCcJXPigJ0gKCVzKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6ICVzIFt0w7l5X2No4buNbiDigKZdIDx0aGnhur90X2Lhu4s+XG4iCisjfiAiXG4iCisjfiAiVMO5eSBjaOG7jW46XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHN3YXBsYWJlbCg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtIHN3YXBsYWJlbCg4KS5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIGZpbGUgJyVzJyIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gdOG6rXAgdGluIOKAnCVz4oCdIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZGlzayBoYXMgYm90aCBET1MgYW5kIEJTRCBtYWdpYy5cbiIKKyN+ICJHaXZlIHRoZSAnYicgY29tbWFuZCB0byBnbyB0byBCU0QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIsSQxKlhIG7DoHkgY8OzIG1hZ2ljIGtp4buDdSBj4bqjIERPUyB2w6AgQlNELlxuIgorI34gIk5o4bqtcCBs4buHbmgg4oCcYuKAnSDEkeG7gyB2w6BvIGNo4bq/IMSR4buZIEJTRC5cbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlaSBkb2VzIG5vdCBzdGFydCBvbiBjeWxpbmRlciBib3VuZGFyeTpcbiIKKyN+IG1zZ3N0ciAiUGjDom4gdsO5bmcgJWkga2jDtG5nIGLhuq90IMSR4bqndSB0csOqbiByYW5oIGdp4bubaSB0cuG7pTpcbiIKKworI34gbXNnaWQgInNob3VsZCBiZSAoJWQsICVkLCAxKVxuIgorI34gbXNnc3RyICJwaOG6o2kgbMOgICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgInBo4bqjaSBsw6AgKCVkLCAlZCwgJWQpXG4iCisKKyN+IG1zZ2lkICJUaGlzIGtlcm5lbCBmaW5kcyB0aGUgc2VjdG9yIHNpemUgaXRzZWxmIC0gLWIgb3B0aW9uIGlnbm9yZWRcbiIKKyN+IG1zZ3N0ciAiTmjDom4gbsOgeSB04buxIHTDrG0ga8OtY2ggY+G7oSBjdW5nIHThu6sgLSB0w7l5IGNo4buNbiAtYiBi4buLIGLhu48gcXVhXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5P1xuIgorI34gbXNnc3RyICJ0csOgbiBi4buZIG5o4bubP1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2ZkaXNrOiBk4buvIGxp4buHdSB2w6BvIGvhur90IHRow7pjIHPhu5ttXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJD4bqiTkggQsOBTzoga2jDtG5nIHRo4buDIG3hu58gJXMiCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBiYWQgZm9ybWF0IG9uIGxpbmUgJWQgb2YgJXMiCisjfiBtc2dzdHIgIkPhuqJOSCBCw4FPOiBn4bq3cCDEkeG7i25oIGThuqFuZyBzYWkgdHLDqm4gZMOybmcgJWQgY+G7p2EgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiV0FSTklORzogWW91ciAvZXRjL2ZzdGFiIGRvZXMgbm90IGNvbnRhaW4gdGhlIGZzY2sgcGFzc25vXG4iCisjfiAiXHRmaWVsZC4gIEkgd2lsbCBrbHVkZ2UgYXJvdW5kIHRoaW5ncyBmb3IgeW91LCBidXQgeW91XG4iCisjfiAiXHRzaG91bGQgZml4IHlvdXIgL2V0Yy9mc3RhYiBmaWxlIGFzIHNvb24gYXMgeW91IGNhbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPhuqJOSCBCw4FPOiAvZXRjL2ZzdGFiIGPhu6dhIGLhuqFuIGtow7RuZyBjaOG7qWEgdHLGsOG7nW5nIGZzY2sgcGFzc25vLlxuIgorI34gIlx0VMO0aSBz4bq9IMSRaeG7gXUgY2jhu4luaCB04bqhbSB0aOG7nWksIG5oxrBuZyBi4bqhbiBuw6puIHPhu61hIGNo4buvYVxuIgorI34gIlx0dOG6rXAgdGluIC9ldGMvZnN0YWIgY8Ogbmcgc+G7m20gY8OgbmcgdOG7kXQuXG4iCisKKyN+IG1zZ2lkICJjb3VsZG4ndCBvcGVuICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyAlcyIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydCIKKyN+IG1zZ3N0ciAiS2jDtG5nIG3hu58gxJHGsOG7o2MgL2Rldi9wb3J0IgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVwb2NoIgorI34gbXNnc3RyICJn4bq3cCBs4buXaSBraGkgcGjDom4gdMOtY2ggZXBvY2giCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgc3BlY2lmaWVkIG11bHRpcGxlIGZ1bmN0aW9ucy5cbiIKKyN+ICJZb3UgY2FuIG9ubHkgcGVyZm9ybSBvbmUgZnVuY3Rpb24gYXQgYSB0aW1lLiIKKyN+IG1zZ3N0ciAiIgorI34gIkLhuqFuIHBo4bqjaSBjaOG7iSByYSBuaGnhu4F1IGjDoG0uXG4iCisjfiAiQuG6oW4gY2jhu4kgY8OzIHRo4buDIHRo4buxYyBoaeG7h24gbeG7mXQgaMOgbSBt4buXaSBs4bqnbi4iCisKKyN+IG1zZ2lkICJUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC4iCisjfiBtc2dzdHIgIkPDoWMgdMO5eSBjaOG7jW4g4oCcLS11dGPigJ0gdsOgIOKAnC0tbG9jYWx0aW1l4oCdIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1LiAgQuG6oW4gbOG6oWkgxJHGsGEgcmEgY+G6oyBoYWkuIgorCisjfiBtc2dpZCAiVGhlIC0tYWRqdXN0IGFuZCAtLW5vYWRqZmlsZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuICBZb3Ugc3BlY2lmaWVkIGJvdGguIgorI34gbXNnc3RyICJDw6FjIHTDuXkgY2jhu41uIOKAnC0tYWRqdXN04oCdIHbDoCDigJwtLW5vYWRqdXN04oCdIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1LiAgQuG6oW4gbOG6oWkgxJHGsGEgcmEgY+G6oyBoYWkuIgorCisjfiBtc2dpZCAiVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLiIKKyN+IG1zZ3N0ciAiQ8OhYyB0w7l5IGNo4buNbiDigJwtLWFkamZpbGXigJ0gdsOgIOKAnC0tbm9hZGpmaWxl4oCdIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1LiAgQuG6oW4gbOG6oWkgxJHGsGEgcmEgY+G6oyBoYWkuIgorCisjfiBtc2dpZCAiT3BlbiBvZiAlcyBmYWlsZWQiCisjfiBtc2dzdHIgIk3hu58gJXMga2jDtG5nIHRow6BuaCBjw7RuZyIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzIgorI34gbXNnc3RyICJLaMO0bmcgbeG7nyDEkcaw4bujYyAlcyIKKworI34gbXNnaWQgImVycm9yOiBjYW5ub3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIG3hu58gJXMiCisKKyN+IG1zZ2lkICJGYWlsZWQgdG8gb3BlbiAlcyBmb3IgcmVhZGluZywgZXhpdGluZy4iCisjfiBtc2dzdHIgIktow7RuZyBt4bufIMSRxrDhu6NjICVzIMSR4buDIMSR4buNYyBuw6puIHRob8OhdC4iCisKKyN+IG1zZ2lkICJjYW5ub3QgbG9jayBncm91cCBmaWxlIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4Mga2jDs2EgdOG6rXAgdGluIG5ow7NtIgorCisjfiBtc2dpZCAidGhlICVzIGZpbGUgaXMgYnVzeSAoJXMgcHJlc2VudCkiCisjfiBtc2dzdHIgInThuq1wIHRpbiAlcyDEkWFuZyBi4bqtbiAoJXMgaGnhu4duIGRp4buHbikiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgTEFCRUw9PGxhYmVsPnxVVUlEPTx1dWlkPlxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgTEFCRUw9PG5ow6NuPnxVVUlEPTx1dWlkPlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmaW5kbW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gZmluZG1udCgxKS5cbiIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaWd2YWwiCisjfiBtc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIHNpZ3ZhbCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbHNibGsoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLEkOG7gyB0w6xtIHRow6ptIHRow7RuZyB0aW4sIHhlbSBsc2Jsayg4KS5cbiIKKworI34gbXNnaWQgImludmFsaWQgb2Zmc2V0IHZhbHVlICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJzYWkgeMOhYyDEkeG7i25oIGdpw6EgdHLhu4sgY2jDqm5oIOKAnCVz4oCdIgorCisjfiBtc2dpZCAid2FybmluZzogZmFpbGVkIHRvIHJlYWQgbXRhYiIKKyN+IG1zZ3N0ciAiY+G6o25oIGLDoW86IHZp4buHYyDEkeG7jWMgdOG6rXAgdGluIG10YWIgZ+G6t3AgbOG7l2kiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY2xhc3MgZGF0YSIKKyN+IG1zZ3N0ciAibOG7l2kgc2FvIHBow6JuIHTDrWNoIGThu68gbGnhu4d1IGzhu5twIgorCisjfiBtc2dpZCAiY29uZmlndXJlLCBkZWNvbmZpZ3VyZSwgZGlzYWJsZSwgZGlzcGF0Y2gsIGVuYWJsZSBhbmQgcmVzY2FuIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgImPhuqV1IGjDrG5oLCBi4buPIGPhuqV1IGjDrG5oLCBi4bqldCBob+G6oXQsIHBow6JuIHBo4buRaSwgYuG6rXQgdsOgIHF1w6l0IHTDrG0gbOG6oWkgbMOgIGxv4bqhaSB0cuG7qyBs4bqrbiBuaGF1IgorCisjfiBtc2dpZCAiY2xlYXIsIHJlYWQtY2xlYXIsIGNvbnNvbGUtbGV2ZWwsIGNvbnNvbGUtb24sIGFuZCBjb25zb2xlLW9mZiBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCisjfiBtc2dzdHIgImNsZWFyLCByZWFkLWNsZWFyLCBjb25zb2xlLWxldmVsLCBjb25zb2xlLW9uLCB2w6AgY29uc29sZS1vZmYgbMOgIGPDoWMgdMO5eSBjaOG7jW4gbG/huqFpIHRy4burIGzhuqtuIG5oYXUiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gcGFyc2UgYnVmZmVyIHNpemUiCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBwaMOibiB0w61jaCBrw61jaCB0aMaw4bubYyBi4buZIMSR4buHbSIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgZmFsbG9jYXRlKDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gZmFsbG9jYXRlKDEpLlxuIgorCisjfiBtc2dpZCAiJXM6IGZzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXM6IGZzdGF0IGLhu4sgbOG7l2kiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZzdHJpbSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtICBmc3RyaW0oOCkuXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIHNwZWVkIgorI34gbXNnc3RyICJ04buRYyDEkeG7mSBraMO0bmcgaOG7o3AgbOG7hyIKKworI34gbXNnaWQgImludmFsaWQgb2Zmc2V0ICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJzYWkgeMOhYyDEkeG7i25oIGdpw6EgdHLhu4sgY2jDqm5oIOKAnCVz4oCdIgorCisjfiBtc2dpZCAiaW52YWxpZCBzaXplICclcycgc3BlY2lmaWVkIgorI34gbXNnc3RyICJjaOG7iSDEkeG7i25oIGvDrWNoIGPhu6Eg4oCcJXPigJ0ga2jDtG5nIGjhu6NwIGzhu4ciCisKKyN+IG1zZ2lkICJleHRlbmRlZCBhbmQgcGFyc2FibGUgZm9ybWF0cyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorI34gbXNnc3RyICLEkeG7i25oIGThuqFuZyBwaMOibiB0w61jaCDEkcaw4bujYyB2w6AgbeG7nyBy4buZbmcgbG/huqFpIHThu6sgbOG6q24gbmhhdSIKKworI34gbXNnaWQgIi0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKKyN+IG1zZ3N0ciAiLS1hbGwsIC0tb25saW5lIHbDoCAtLW9mZmxpbmUgbG/huqFpIHThu6sgbOG6q24gbmhhdSIKKworI34gbXNnaWQgIm9ubHkgb25lIDxzb3VyY2U+IG1heSBiZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgImNo4buJIGPDsyB0aOG7gyDEkcawYSByYSBt4buZdCA8dGhp4bq/dCBi4buLPiIKKworI34gbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBzb3VyY2UgYnVmZmVyIgorI34gbXNnc3RyICJs4buXaSBj4bqlcCBwaMOhdCBt4buZdCB2w7luZyDEkeG7h20gPG5ndeG7k24+IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBtb3VudHBvaW50KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAixJDhu4MgdMOsbSB0aMOqbSB0aMO0bmcgdGluLCB4ZW0gbW91bnRwb2ludCgxKS5cbiIKKworI34gbXNnaWQgIm9ubHkgdXNlIG9uZSBQSUQgYXQgYSB0aW1lIgorI34gbXNnc3RyICJjaOG7iSBz4butIGThu6VuZyBt4buZdCBQSUQgdOG6oWkgbeG7mXQgdGjhu51pIMSRaeG7g20iCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgUElEIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgcGjDom4gdMOtY2ggIFBJRCIKKworI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzZWNvbmRzIHZhbHVlIgorI34gbXNnc3RyICJwaMOibiB0w61jaCBnacOhIHRy4buLIGdpw6J5IGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVfdCB2YWx1ZSIKKyN+IG1zZ3N0ciAiZ+G6t3AgbOG7l2kga2hpIHBow6JuIHTDrWNoIGdpw6EgdHLhu4sgdGltZV90IgorCisjfiBtc2dpZCAiJyVzJyBpcyB1bnN1cHBvcnRlZCBwcm9ncmFtIG5hbWUgKG11c3QgYmUgJ3N3YXBvbicgb3IgJ3N3YXBvZmYnKS4iCisjfiBtc2dzdHIgIuKAnCVz4oCdIGzDoCBt4buZdCB0w6puIGNoxrDGoW5nIHRyw6xuaCBraMO0bmcgxJHGsOG7o2MgaOG7lyB0cuG7oyAocGjhuqNpIGzDoCDigJxzd2Fwb27igJ0gaGF5IOKAnHN3YXBvZmbigJ0uLiIKKworI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRo4buRbmcga8OqIHN0YXQgdGjGsCBt4bulYyIKKworI34gbXNnaWQgImZhaWxlZCB0byBzdGF0IGRpcmVjdG9yeSAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRo4buRbmcga8OqIHN0YXQgdGjGsCBt4bulYyAlcyIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHRpbWluZyBmaWxlICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgbeG7nyB04bqtcCB0aW4gxJHhur9tIHRo4budaSBnaWFuICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBsc2JsaygxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIsSQ4buDIHTDrG0gdGjDqm0gdGjDtG5nIHRpbiwgeGVtIGxzYmxrKDEpLlxuIgorCisjfiBtc2dpZCAiYXJndW1lbnQgJWx1IGlzIHRvbyBsYXJnZSIKKyN+IG1zZ3N0ciAidGhhbSBz4buRICVsdSBxdcOhIGzhu5tuIgorCisjfiBtc2dpZCAidGVybWluYWwgZW52aXJvbm1lbnQgQ09MVU1OUyBmYWlsZWQiCisjfiBtc2dzdHIgIsSR4bq3dCBiaeG6v24gbcO0aSB0csaw4budbmcgQ09MVU1OUyBjaG8gdGhp4bq/dCBi4buLIGN14buRaSAodGVybWluYWwpIGfhurdwIGzhu5dpIgorCisjfiBtc2dpZCAiYmFkIGNvbHVtbnMgd2lkdGggdmFsdWUiCisjfiBtc2dzdHIgImdpw6EgdHLhu4sgxJHhu5kgcuG7mW5nIGPhu5l0IHNhaSIKKworI34gbXNnaWQgIi0lYyBwb3NpdGl2ZSBpbnRlZ2VyIGV4cGVjdGVkIGFzIGFuIGFyZ3VtZW50IgorI34gbXNnc3RyICItJWMgc+G7kSBuZ3V5w6puIGTGsMahbmcgxJHGsOG7o2MgY+G6p24gbMOgIG3hu5l0IMSR4buRaSBz4buRIgorCisjfiBtc2dpZCAiYmFkIGxlbmd0aCB2YWx1ZSIKKyN+IG1zZ3N0ciAiZ2nDoSB0cuG7iyBjaGnhu4F1IGTDoGkgc2FpLiIKKworI34gbXNnaWQgImJhZCBza2lwIHZhbHVlIgorI34gbXNnc3RyICJi4buPIHF1YSBnacOhIHRy4buLIHNhaSIKKworI34gbXNnaWQgIiVzOiBVc2FnZTogJXMgWy1udW1iZXJdIFstcCBzdHJpbmddIFstY2VmbnJzXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCisjfiBtc2dzdHIgIiVzOiBDw6FjaCBkw7luZzogJXMgWy1z4buRXSBbLXAgY2h14buXaV0gWy1jZWZucnNdIFsrZMOybmddIFsrL3BhdHRlcm4vXSBbY8OhY1904bqtcHRpbl1cbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAiS2jDtG5nIG3hu58gxJHGsOG7o2MgIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gYCVzJyBmb3IgcmVhZCIKKyN+IG1zZ3N0ciAia2jDtG5nIG3hu58gxJHGsOG7o2Mg4oCcJXPigJ0gxJHhu4MgxJHhu41jIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgYCVzJyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRy4bqhbmcgdGjDoWkgduG7gSDigJwlc+KAnSIKKworI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAlcyAtVlxuIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBbdGhp4bq/dCBi4buLXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIGPDonVfbOG7h25oIHRoaeG6v3RfYuG7i1xuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgdGjhu4MgbeG7nyAlc1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLW4gXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6ICVzIFsgLW4gXSB0aGnhur90IGLhu4tcbiIKKworI34gbXNnaWQgIm1hbGxvYyBmYWlsZWQiCisjfiBtc2dzdHIgIm1hbGxvYyBraMO0bmcgdGjDoG5oIGPDtG5nIgorCisjfiBtc2dpZCAiJXM6IG9wdGlvbiBwYXJzZSBlcnJvclxuIgorI34gbXNnc3RyICIlczogbOG7l2kgcGjDom4gdMOtY2ggdMO5eSBjaOG7jW5cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXhdIFstZCA8bnVtPl0gaXNvOTY2MC1pbWFnZVxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgWy14XSBbLWQgPHPhu5E+XSB04bqtcC10aW4t4bqjbmgtaXNvOTY2MFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViB2b2x1bWUtbmFtZV1cbiIKKyN+ICIgICAgICAgWy1GIGZzbmFtZV0gZGV2aWNlIFtibG9jay1jb3VudF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOiAlcyBbLXZdIFstTiBz4buRX2lub2RlXSBbLVYgdMOqbl9raOG7kWlfdGluXVxuIgorI34gIiAgICAgICBbLUYgdMOqbl9o4buHX3Ro4buRbmdfdOG6rXBfdGluXSB0aGnhur90X2Lhu4sgW8SR4bq/bV9raOG7kWldXG4iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gc3RhdCAlcyIKKyN+IG1zZ3N0ciAia2jDtG5nIHRo4buDIGzhuqV5IHRy4bqhbmcgdGjDoWkgduG7gSAlcyIKKworI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgcXV54bq/dCDEkeG7i25oIGvDrWNoIGPhu6EgY3VuZyB04burIGNobyAlcyIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWNdIFstcFBBR0VTWl0gWy1MIGxhYmVsXSBbLVUgVVVJRF0gL2Rldi9uYW1lIFtibG9ja3NdXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbLWNdIFstcEvDjUNIX0Phu6BfVFJBTkddIFstTCBuaMOjbl0gWy1VIFVVSURdIC9kZXYvdMOqbiBbY8OhY19raOG7kWldXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIgICVzICIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGluIHRoZSBmaW5hbCBwYXJ0aWFsIGN5bGluZGVyIgorI34gbXNnc3RyICJQaMOibiB2w7luZyBr4bq/dCB0aMO6YyB0cm9uZyBow6xuaCB0cuG7pSBiw6FuIHBo4bqnbiBjdeG7kWkgY8O5bmciCisKKyN+IG1zZ2lkICJNZW51IHdpdGhvdXQgZGlyZWN0aW9uLiBEZWZhdWx0aW5nIHRvIGhvcml6b250YWwuIgorI34gbXNnc3RyICJUcsOsbmggxJHGoW4ga2jDtG5nIGPDsyBwaMawxqFuZyBoxrDhu5tuZyBuw6puIGTDuW5nIGPDoGkgxJHhurd0IG3hurdjIMSR4buLbmggKG7hurFtIG5nYW5nKS4iCisKKyN+IG1zZ2lkICIgICBkICAgZGVsZXRlIGEgQlNEIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgZCAgIHjDs2EgbeG7mXQgcGjDom4gdsO5bmcgQlNEIgorCisjfiBtc2dpZCAiICAgbiAgIGFkZCBhIG5ldyBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBuICAgdGjDqm0gbeG7mXQgcGjDom4gdsO5bmcgQlNEIG3hu5tpIgorCisjfiBtc2dpZCAiICAgdCAgIGNoYW5nZSBhIHBhcnRpdGlvbidzIGZpbGVzeXN0ZW0gaWQiCisjfiBtc2dzdHIgIiAgIHQgICB0aGF5IMSR4buVaSBtw6MgaGnhu4d1IGjhu4cgdGjhu5FuZyB04bqtcCB0aW4gY+G7p2EgbeG7mXQgcGjDom4gdsO5bmciCisKKyN+IG1zZ2lkICIgICB1ICAgY2hhbmdlIHVuaXRzIChjeWxpbmRlcnMvc2VjdG9ycykiCisjfiBtc2dzdHIgIiAgIHUgICB0aGF5IMSR4buVaSDEkcahbiB24buLICh0cuG7pS9jdW5nIHThu6spIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIG3hu58gJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBhbnkgbW9yZSBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIHBo4buRaSB0aMOqbSBi4buZIG5o4bubXG4iCisKKyN+IG1zZ2lkICIgICBwICAgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiICAgcCAgIGluIHJhIGLhuqNuZyBwaMOibiB2w7luZyIKKworI34gbXNnaWQgIiIKKyN+ICJCdWlsZGluZyBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC5cbiIKKyN+ICJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisjfiAiQWZ0ZXIgdGhhdCwgb2YgY291cnNlLCB0aGUgcHJldmlvdXMgY29udGVudCB3b24ndCBiZSByZWNvdmVyYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlThuqFvIG3hu5l0IG5ow6NuIMSRxKlhIERPUyBt4bubaSBjw7MgxJHhu5Mgbmjhuq1uIGRp4buHbiDEkcSpYSAweCUwOHguXG4iCisjfiAiVGhheSDEkeG7l2kgY2jhu4kgbuG6sW0gdOG6oW0gdHJvbmcgYuG7mSBuaOG7mywgY2hvIMSR4bq/biBraGkgYuG6oW5cbiIKKyN+ICJxdXnhur90IMSR4buLbmggZ2hpIGNow7puZy4gU2F1IMSRw7MsIHThuqV0IG5oacOqbiwgbuG7mWkgZHVuZ1xuIgorI34gInRyxrDhu5tjIMSRw7Mgc+G6vSBraMO0bmcgdGjhu4MgxJHGsOG7o2MgcGjhu6VjIGjhu5NpLlxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiRGV2aWNlIGNvbnRhaW5zIG5laXRoZXIgYSB2YWxpZCBET1MgcGFydGl0aW9uIHRhYmxlLCBub3IgU3VuLCBTR0kgb3IgT1NGIGRpc2tsYWJlbFxuIgorI34gbXNnc3RyICJUaGnhur90IGLhu4sgY2jhu6lhIG3hu5l0IGLhuqNuZyBwaMOibiB2w7luZyBET1MsIGhheSBTdW4sIFNHSSBoYXkgT1NGIGLhu4sgbOG7l2lcbiIKKworI34gbXNnaWQgIkludGVybmFsIGVycm9yXG4iCisjfiBtc2dzdHIgIkzhu5dpIG7hu5lpIGLhu5lcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibmjhuq1uIMSRxrDhu6NjIEVPRiBiYSBs4bqnbiAtIMSRYW5nIHRob8OhdC4uXG4iCisKKyN+IG1zZ2lkICJZb3UgbXVzdCBkZWxldGUgc29tZSBwYXJ0aXRpb24gYW5kIGFkZCBhbiBleHRlbmRlZCBwYXJ0aXRpb24gZmlyc3RcbiIKKyN+IG1zZ3N0ciAiQuG6oW4gcGjhuqNpIHjDs2EgdsOgaSBwaMOibiB2w7luZyB2w6AgdGjDqm0gbeG7mXQgcGjDom4gdsO5bmcgbeG7nyBy4buZbmcgdHLGsOG7m2NcbiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUw6FjIGThu6VuZyBj4bunYSBjw6J1IGzhu4duaFxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHBow6JuIHbDuW5nIGNow61uaCAoMS00KVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0U29ycnksIG5vIGV4cGVydHMgbWVudSBmb3IgU0dJIHBhcnRpdGlvbiB0YWJsZXMgYXZhaWxhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHRYaW4gbOG7l2ksIGtow7RuZyBjw7MgdHLDrG5oIMSRxqFuIG7Dom5nIGNhbyBjaG8gYuG6o25nIHBow6JuIHbDuW5nIFNHSS5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNvcnJ5IFlvdSBtYXkgY2hhbmdlIHRoZSBUYWcgb2Ygbm9uLWVtcHR5IHBhcnRpdGlvbnMuXG4iCisjfiBtc2dzdHIgIlhpbiBs4buXaSBjw7MgdGjhu4MgQuG6oW4gdGhheSDEkeG7lWkgVGFnIGPhu6dhIHBow6JuIHbDuW5nIGtow7RuZyBy4buXbmcuXG4iCisKKyN+IG1zZ2lkICJEbyBZb3Uga25vdywgWW91IGdvdCBhIHBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrP1xuIgorI34gbXNnc3RyICJC4bqhbiBDw7MgYmnhur90LCBy4bqxbmcgYuG6oW4gY8OzIG3hu5l0IHBow6JuIHbDuW5nIMSRw6ggbMOqbiBuaGF1IHRyw6puIMSRxKlhP1xuIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IFNHSSBkaXNrbGFiZWwuIENoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksXG4iCisjfiAidW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLiBBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91c1xuIgorI34gImNvbnRlbnQgd2lsbCBiZSB1bnJlY292ZXJhYmx5IGxvc3QuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJYw6J5IGThu7FuZyBt4buZdCBuaMOjbiDEkcSpYSBTR0kgbeG7m2kuIFRoYXkgxJHhu5VpIHPhur0gY2jhu4kgZ2hpIHRyb25nIGLhu5kgbmjhu5ssXG4iCisjfiAiY2hvIMSR4bq/biBraGkgYuG6oW4gcXV54bq/dCDEkeG7i25oIGdoaSBjaMO6bmcuIFNhdSDEkcOzLCB04bqldCBuaGnDqm4sIG7hu5lpIGR1bmcgY8WpXG4iCisjfiAic+G6vSBt4bqldCB2w6Aga2jDtG5nIHRo4buDIHBo4bulYyBo4buTaS5cbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnkgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAidHLDoG4gYuG7mSBuaOG7myAtIGtow7RuZyB0aOG7gyB0aeG6v3AgdOG7pWNcbiIKKworI34gbXNnaWQgImFuZCAlcyBvdmVybGFwXG4iCisjfiBtc2dzdHIgInbDoCAlcyDEkcOoIGzDqm4gbmhhdVxuIgorCisjfiBtc2dpZCAiZGV2aWNlOiBzb21ldGhpbmcgbGlrZSAvZGV2L2hkYSBvciAvZGV2L3NkYSIKKyN+IG1zZ3N0ciAidGhp4bq/dCBi4buLOiBjw7MgZOG6oW5nIC9kZXYvaGRhIGhheSAvZGV2L3NkYSIKKworI34gbXNnaWQgIiAgICAtcyBbb3IgLS1zaG93LXNpemVdOiBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAtcyBbaGF5IC0tc2hvdy1zaXplXTogbGnhu4d0IGvDqiBrw61jaCBj4buhIHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiICAgIC1kIFtvciAtLWR1bXBdOiAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXQiCisjfiBtc2dzdHIgIiAgICAtZCBbaGF5IC0tZHVtcF06ICAgICAgY8WpbmcgbmjGsCB0csOqbiBuaMawbmcg4bufIGThuqFuZyBjw7MgdGjhu4MgZMO5bmcgY2hvIG5o4bqtcCB2w6BvIgorCisjfiBtc2dpZCAiICAgIC1pIFtvciAtLWluY3JlbWVudF06IG51bWJlciBjeWxpbmRlcnMgZXRjLiBmcm9tIDEgaW5zdGVhZCBvZiBmcm9tIDAiCisjfiBtc2dzdHIgIiAgICAtaSBbaGF5IC0taW5jcmVtZW50XTogc+G7kSB0cuG7pSB2LnbigKYgdOG7qyAxIHRoYXkgdsOsIHThu6sgMCIKKworI34gbXNnaWQgIiAgICAtdVMsIC11QiwgLXVDLCAtdU06ICBhY2NlcHQvcmVwb3J0IGluIHVuaXRzIG9mIHNlY3RvcnMvYmxvY2tzL2N5bGluZGVycy9NQiIKKyN+IG1zZ3N0ciAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGNo4bqlcCBuaOG6rW4vYsOhbyBjw6FvIHbhu5tpIMSRxqFuIHbhu4sgY3VuZyB04burL2to4buRaS90cuG7pS9NQiIKKworI34gbXNnaWQgIiAgICAtRCBbb3IgLS1ET1NdOiAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlIgorI34gbXNnc3RyICIgICAgLUQgW2hheSAtLURPU106ICAgICAgIMSR4buDIHTGsMahbmcgdGjDrWNoIHbhu5tpIERPUzogbMOjbmcgcGjDrSBt4buZdCBjaMO6dCBraG/huqNuZyB0cuG7kW5nIgorCisjfiBtc2dpZCAiICAgIC1SIFtvciAtLXJlLXJlYWRdOiAgIG1ha2Uga2VybmVsIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUiCisjfiBtc2dzdHIgIiAgICAtUiBbaGF5IC0tcmUtcmVhZF06ICAga2hp4bq/biBuaMOibiDEkeG7jWMgbOG6oWkgYuG6o25nIHBow6JuIHbDuW5nIgorCisjfiBtc2dpZCAiICAgIC1PIGZpbGUgOiAgICAgICAgICAgIHNhdmUgdGhlIHNlY3RvcnMgdGhhdCB3aWxsIGJlIG92ZXJ3cml0dGVuIHRvIGZpbGUiCisjfiBtc2dzdHIgIiAgICAtTyB04bqtcCB0aW4gOiAgICAgICAgICAgIGdoaSBjw6FjIGN1bmcgdOG7qyBz4bq9IGLhu4sgZ2hpIGNow6huIHbDoG8gdOG6rXAgdGluIgorCisjfiBtc2dpZCAiICAgIC1JIGZpbGUgOiAgICAgICAgICAgIHJlc3RvcmUgdGhlc2Ugc2VjdG9ycyBhZ2FpbiIKKyN+IG1zZ3N0ciAiICAgIC1JIHThuq1wIHRpbiA6ICAgICAgICAgICAgcGjhu6VjIGjhu5NpIGzhuqFpIG5o4buvbmcgY3VuZyB04burIG7DoHkiCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12IFtoYXkgLS12ZXJzaW9uXTogICBpbiByYSBz4buRIGhp4buHdSBwaGnDqm4gYuG6o24iCisKKyN+IG1zZ2lkICIgICAgLT8gW29yIC0taGVscF06ICAgICAgcHJpbnQgdGhpcyBtZXNzYWdlIgorI34gbXNnc3RyICIgICAgLT8gW2hheSAtLWhlbHBdOiAgICAgIGluIHRy4bujIGdpw7pwIG7DoHkiCisKKyN+IG1zZ2lkICIgICAgLWcgW29yIC0tc2hvdy1nZW9tZXRyeV06IHByaW50IHRoZSBrZXJuZWwncyBpZGVhIG9mIHRoZSBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAiICAgIC1nIFtoYXkgLS1zaG93LWdlb21ldHJ5XTogaW4gcmEgY+G6pXUgdHLDumMgxJHEqWEgdGhlbyBxdWFuIG5p4buHbSBj4bunYSBuaMOibiIKKworI34gbXNnaWQgIiAgICAtTCAgW29yIC0tTGludXhdOiAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXgiCisjfiBtc2dzdHIgIiAgICAtTCAgW2hheSAtLUxpbnV4XTogICAgIGtow7RuZyB0aGFuIHBoaeG7gW4gduG7gSBuaOG7r25nIGfDrCBraMO0bmcgdGjDrWNoIGjhu6NwIHbhu5tpIExpbnV4IgorCisjfiBtc2dpZCAiICAgIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOiIKKyN+IG1zZ3N0ciAiICAgIELhuqFuIGPDsyB0aOG7gyB2aeG6v3QgxJHDqCBsw6puIGPhuqV1IHRyw7pjIG5o4bqtbiByYSBz4butIGThu6VuZzoiCisKKyN+IG1zZ2lkICIgICAgLWYgIFtvciAtLWZvcmNlXTogICAgICBkbyB3aGF0IEkgc2F5LCBldmVuIGlmIGl0IGlzIHN0dXBpZCIKKyN+IG1zZ3N0ciAiICAgIC1mICBbaGF5IC0tZm9yY2VdOiAgICAgIGzDoG0gYuG6pXQgdGhlbyBs4budaSBi4bqhbiwgdGjhuq1tIGNow60gbMOgIG5ndSBuZ+G7kWMiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIGPhuqVwIGLhu5kgbmjhu5sgY2hvIGtp4buDdSBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IGZzdHlwZV0gW2ZzLW9wdGlvbnNdIFtmaWxlc3lzIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOiBmc2NrIFstQU1OUFJUVl0gWyAtQyBbIGZkIF0gXSBbLXQga2nhu4N1X0hUVFRdIFtjw6FjX3TDuXlfY2jhu41uX0hUVFRdIFtIVFRUIOKApl1cbiIKKyN+ICJcbiIKKyN+ICJIVFRUOiBo4buHIHRo4buRbmcgdOG6rXAgdGluXG4iCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICJLaMO0bmcgbeG7nyDEkcaw4bujYyAlczogJXNcbiIKKworI34gbXNnaWQgImZzY2sgZnJvbSAlc1xuIgorI34gbXNnc3RyICJmc2NrIHThu6sgJXNcbiIKKworI34gbXNnaWQgIiVzOiBVbmFibGUgdG8gYWxsb2NhdGUgbWVtb3J5IGZvciBmc2NrX3BhdGhcbiIKKyN+IG1zZ3N0ciAiJXM6IEtow7RuZyB0aOG7gyBwaMOibiBwaOG7kWkgYuG7mSBuaOG7myBjaG8gZnNja19wYXRoXG4iCisKKyN+IG1zZ2lkICJUcnkgYGdldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICJIw6N5IHRo4butIOKAnGdldG9wdCAtLWhlbHDigJ0gxJHhu4MgYmnhur90IHRow6ptIHRow7RuZyB0aW4uXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZ2V0b3B0IG9wdHN0cmluZyBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiBnZXRvcHQgY2h14buXaV90w7l5X2No4buNbiB0aGFtX3Phu5FcbiIKKworI34gbXNnaWQgIiAgICAgICBnZXRvcHQgW29wdGlvbnNdIFstLV0gb3B0c3RyaW5nIHBhcmFtZXRlcnNcbiIKKyN+IG1zZ3N0ciAiICAgICAgIGdldG9wdCBbdMO5eWNo4buNbl0gWy0tXSBjaHXhu5dpX3TDuXlfY2jhu41uIHRoYW1fc+G7kVxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgdGhhbSBz4buRXG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKMSRw6MgbsOibmcgY2FvKSAxLjEuNFxuIgorCisjfiBtc2dpZCAiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKVxuIgorI34gbXNnc3RyICIoTW9uZyDEkeG7o2k6IOKAnFVUQ+KAnSBoYXkg4oCcTE9DQUzigJ0gaGF5IGtow7RuZyBnw6wgY+G6oy4pXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiaHdjbG9jayAtIHF1ZXJ5IGFuZCBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrIChSVEMpXG4iCisjfiAiXG4iCisjfiAiVXNhZ2U6IGh3Y2xvY2sgW2Z1bmN0aW9uXSBbb3B0aW9ucy4uLl1cbiIKKyN+ICJcbiIKKyN+ICJGdW5jdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgIHNob3cgdGhpcyBoZWxwXG4iCisjfiAiICAtciB8IC0tc2hvdyAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICBzZXQgdGhlIHJ0YyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXMgfCAtLWhjdG9zeXMgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgdG8gdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWVcbiIKKyN+ICIgICAgICAgLS1zeXN0eiAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBiYXNlZCBvbiB0aGUgY3VycmVudCB0aW1lem9uZVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICBhZGp1c3QgdGhlIHJ0YyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IHNpbmNlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+ICIgICAgICAgLS1nZXRlcG9jaCAgICAgcHJpbnQgb3V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZVxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICBzZXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlIHRvIHRoZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIHJlYWRpbmcgYXQgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBwcmludCBvdXQgdGhlIHZlcnNpb24gb2YgaHdjbG9jayB0byBzdGRvdXRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gVVRDXG4iCisjfiAiICAgICAgIC0tbG9jYWx0aW1lICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIGxvY2FsIHRpbWVcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+ICIgICAgICAgLS1kaXJlY3Rpc2EgICAgYWNjZXNzIHRoZSBJU0EgYnVzIGRpcmVjdGx5IGluc3RlYWQgb2YgJXNcbiIKKyN+ICIgICAgICAgLS1iYWR5ZWFyICAgICAgaWdub3JlIHJ0YydzIHllYXIgYmVjYXVzZSB0aGUgYmlvcyBpcyBicm9rZW5cbiIKKyN+ICIgICAgICAgLS1kYXRlICAgICAgICAgc3BlY2lmaWVzIHRoZSB0aW1lIHRvIHdoaWNoIHRvIHNldCB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAgc3BlY2lmaWVzIHRoZSB5ZWFyIHdoaWNoIGlzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIGRvIG5vdCBhY2Nlc3MgL2V0Yy9hZGp0aW1lLiBSZXF1aXJlcyB0aGUgdXNlIG9mXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9cGF0aCBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlIChkZWZhdWx0IGlzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC9ldGMvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgYWN0dWFsbHkgdXBkYXRpbmcgdGhlIGhhcmR3YXJlXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGNsb2NrIG9yIGFueXRoaW5nIGVsc2VcbiIKKyN+ICIgIC1EIHwgLS1kZWJ1ZyAgICAgICAgZGVidWcgbW9kZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiaHdjbG9jayDigJQgaOG7j2kgZ2nhu50gdsOgIMSR4bq3dCDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZyAoUlRDKVxuIgorI34gIlxuIgorI34gIkPDoWNoIGTDuW5nOiBod2Nsb2NrIFtow6BtXSBbdMO5eSBjaOG7jW7igKZdXG4iCisjfiAiXG4iCisjfiAiSMOgbTpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgaGnhu4NuIHRo4buLIHRy4bujIGdpw7pwIG7DoHlcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgxJHhu41jIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nIHbDoCBpbiByYSBr4bq/dCBxdeG6o1xuIgorI34gIiAgICAgICAtLXNldCAgICAgICAgICDEkeG6t3QgcnRjIHRow6BuaCB0aOG7nWkgZ2lhbiDEkcawYSByYSwgZMO5bmcg4oCcLS1kYXRl4oCdXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIMSR4bq3dCB0aOG7nWkgZ2lhbiBo4buHIHRo4buRbmcgdOG7qyDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZ1xuIgorI34gIiAgLXcgfCAtLXN5c3RvaGMgICAgICDEkeG6t3QgxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgdGjDoG5oIHRo4budaSBnaWFuIGjhu4cgdGjhu5FuZyBoaeG7h24gdGjhu51pXG4iCisjfiAiICAgICAgIC0tc3lzdHogICAgICAgIMSR4bq3dCB0aOG7nWkgZ2lhbiBo4buHIHRo4buRbmcgZOG7sWEgdsOgbyBtw7ppIGdp4budIGhp4buHbiB04bqhaVxuIgorI34gIiAgICAgICAtLWFkanVzdCAgICAgICDEkWnhu4F1IGNo4buJbmggcnRjIMSR4buDIHTDrW5oIMSR4bq/biDEkeG7mSBs4buHY2ggY8OzIGjhu4cgdGjhu5FuZ1xuIgorI34gIlx0XHRcdFx0a+G6vyB04burIGzhuqduIGN14buRaSBjw7luZyDEkeG6t3QgaGF5IGNo4buJbmggxJHhu5NuZyBo4buTXG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIGluIHJhIGdpw6EgdHLhu4sgdGjhu51pIMSRaeG7g20gxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgY+G7p2EgaOG6oXQgbmjDom5cbiIKKyN+ICIgICAgICAgLS1zZXRlcG9jaCAgICAgxJHhurd0IGdpw6EgdHLhu4sgdGjhu51pIMSRaeG7g20gxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgY+G7p2EgaOG6oXQgbmjDom5cbiIKKyN+ICJcdFx0XHRcdHRow6BuaCBnacOhIHRy4buLIMSRxrBhIHJhIGTDuW5nIOKAnC0tZXBvY2jigJ1cbiIKKyN+ICIgICAgICAtLXByZWRpY3QgICAgIGThu7EgxJFvw6FuIMSR4buNYyBSVEMgbsOgbyB2w6BvIGdp4budIMSRxrBhIHJhIChkw7luZyAtLWRhdGUgKVxuIgorI34gIiAgLXYgfCAtLXZlcnNpb24gICAgICBpbiByYSDEkeG6p3UgcmEgdGnDqnUgY2h14bqpbiBwaGnDqm4gYuG6o24gY+G7p2EgaHdjbG9ja1xuIgorI34gIlxuIgorI34gIlTDuXkgY2jhu41uOiBcbiIKKyN+ICIgIC11IHwgLS11dGMgICAgICAgICAgxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgdMOtbmggdGhlbyBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgxJHhu5NuZyBo4buTIHBo4bqnbiBj4bupbmcgdMOtbmggdGhlbyB0aOG7nWkgZ2lhbiBj4bulYyBi4buZXG4iCisjfiAiICAtZiB8IC0tcnRjPcSRxrDhu51uZ19k4bqrbiAgICAgdOG6rXAgdGluIOKAnC9kZXYv4oCm4oCdIMSR4bq3YyBiaeG7h3QgY+G6p24gZMO5bmcgdGhheSBjaG8gbeG6t2MgxJHhu4tuaFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICB0cnV5IGPhuq1wIHRy4buxYyB0aeG6v3AgbeG6oWNoIG7hu5FpIElTQSB0aGF5IGNobyAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBs4budIMSRaSBuxINtIGPhu6dhIHJ0YyB2w6wgQklPUyBi4buLIGjhu49uZ1xuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBnaGkgcsO1IHRo4budaSBnaWFuIGPhuqduIMSR4bq3dCB0cm9uZyDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZ1xuIgorI34gIiAgICAgICAtLWVwb2NoPW7Eg20gICBnaGkgcsO1IG7Eg20gbMOgIMSR4bqndSBj4bunYSBnacOhIHRy4buLIHRo4budaSDEkWnhu4NtIMSR4buTbmcgaOG7kyBwaOG6p24gY+G7qW5nXG4iCisjfiAiICAgICAgIC0tbm9hZGpmaWxlICAgIMSR4burbmcgdHJ1eSBj4bqtcCDEkeG6v24g4oCcL2V0Yy9hZGp0aW1l4oCdLlxuIgorI34gIlx0XHRcdFx0Q+G6p24gZMO5bmcgaG/hurdjIOKAnC0tdXRj4oCdIGhv4bq3YyDigJwtLWxvY2FsdGltZeKAnVxuIgorI34gIiAgICAgICAtLWFkamZpbGU9xJHGsOG7nW5nX2ThuqtuXHRnaGkgcsO1IMSRxrDhu51uZyBk4bqrbiDEkeG6v24gdOG6rXAgdGluIMSRaeG7gXUgY2jhu4luaFxuIgorI34gIlx0XHRcdFx0KG3hurdjIMSR4buLbmggbMOgIOKAnC9ldGMvYWRqdGltZeKAnS5cbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAgbMOgbSB04bqldCBj4bqjIHRy4burIHRo4buxYyBz4buxIGPhuq1wIG5o4bqtdCDEkeG7k25nIGjhu5MgcGjhuqduIGPhu6luZ1xuIgorI34gIlx0XHRcdFx0aG/hurdjIGPDoWkgZ8OsIGtow6FjXG4iCisjfiAiICAtRCB8IC0tZGVidWcgICAgICAgIGNo4bq/IMSR4buZIGfhu6EgbOG7l2lcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICJraMO0bmcgbWFpbGxvYyDEkcaw4bujYyBjaHXhu5dpIGto4bufaSDEkeG6p3UgKGluaXQpIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbLThoaUxtVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIm9yXHRbLWhpTG13XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gbGluZSBiYXVkX3JhdGUsLi4uIFt0ZXJtdHlwZV1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOlxuIgorI34gIiVzIFstOGhpTG1Vd10gWy1sIHRyw6xuaF/EkcSDbmdfbmjhuq1wXSBbLXQgdGjhu51pX2jhuqFuXSBbLUkgY2h14buXaV9raOG7n2lfdOG6oW9dIFstSCBtw6F5X8SRxINuZ19uaOG6rXBdIHThu5FjX8SR4buZX2Lhu5F0LOKApiBkw7JuZyBba2nhu4N1X3RoaeG6v3RfYuG7i19jdeG7kWldXG4iCisjfiAiaG/hurdjXG4iCisjfiAiWy1oaUxtd10gWy1sIHRyw6xuaF/EkcSDbmdfbmjhuq1wXSBbLXQgdGjhu51pX2jhuqFuXSBbLUkgY2h14buXaV9raOG7n2lfdOG6oW9dIFstSCBtw6F5X8SRxINuZ19uaOG6rXBdIGTDsm5nIHThu5FjX8SR4buZX2Lhu5F0LOKApiBba2nhu4N1X3RoaeG6v3RfYuG7i19jdeG7kWldXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAibG9naW46IMOtdCBi4buZIG5o4bubLCBjw7MgdGjhu4Mga2jDtG5nIMSRxINuZyBuaOG6rXAgdGjDoG5oIGPDtG5nXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICJraMO0bmcgbWFsbG9jIMSRxrDhu6NjIGNobyB0dHljbGFzcyAobOG7m3AgdHR5KSIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgZ3JwbGlzdCIKKyN+IG1zZ3N0ciAia2jDtG5nIG1hbGxvYyDEkcaw4bujYyBjaG8gZ3JwbGlzdCAoZGFuaCBzw6FjaCBuaMOzbSkiCisKKyN+IG1zZ2lkICJMb2dpbiBvbiAlcyBmcm9tICVzIGRlbmllZC5cbiIKKyN+IG1zZ3N0ciAixJDEg25nIG5o4bqtcCB0csOqbiAlcyB04burICVzIGLhu4sgY+G6pW0uXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWyAtZiBmdWxsLW5hbWUgXSBbIC1vIG9mZmljZSBdICIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFsgLWYgdMOqbi3EkeG6p3ktxJHhu6cgXSBbIC1vIHbEg24tcGjDsm5nIF0gIgorCisjfiBtc2dpZCAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbIC1zIHNoZWxsIF0gWyAtLWxpc3Qtc2hlbGxzIF0gWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgdXNlcm5hbWUgXVxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6ICVzIFsgLXMgdHLDrG5oX2JhbyBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIHTDqm5fbmfGsOG7nWlfZMO5bmcgXVxuIgorCisjfiBtc2dpZCAiJXM6IFVzZSAtbCBvcHRpb24gdG8gc2VlIGxpc3QuXG4iCisjfiBtc2dzdHIgIiVzOiBEw7luZyB0w7l5IGNo4buNbiDigJwtbOKAnSDEkeG7gyB4ZW0gZGFuaCBzw6FjaC5cbiIKKworI34gbXNnaWQgIlVzZSAlcyAtbCB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAiSMOjeSBkw7luZyAlcyDigJwtbOKAnSDEkeG7gyB4ZW0gZGFuaCBzw6FjaC5cbiIKKworI34gbXNnaWQgImxhc3Q6IG1hbGxvYyBmYWlsdXJlLlxuIgorI34gbXNnc3RyICJsYXN0OiBtYWxsb2MgdGjhuqV0IGLhuqFpLlxuIgorCisjfiBtc2dpZCAibG9naW46IE91dCBvZiBtZW1vcnlcbiIKKyN+IG1zZ3N0ciAibG9naW46IEtow7RuZyDEkeG7pyBi4buZIG5o4bubXG4iCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIEZST00gJXMgT04gVFRZICVzIgorI34gbXNnc3RyICLEkMSCTkcgTkjhuqxQICVzIELhu4ogVOG7qiBDSOG7kEkgVOG7qiAlcyBUUsOKTiBUVFkgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiAlcyBSRUZVU0VEIE9OIFRUWSAlcyIKKyN+IG1zZ3N0ciAixJDEgk5HIE5I4bqsUCAlcyBC4buKIFThu6ogQ0jhu5BJIFRSw4pOIFRUWSAlcyIKKworI34gbXNnaWQgIkxvZ2luIGluY29ycmVjdFxuIgorI34gbXNnc3RyICJTYWkgdMOqbiBuZ8aw4budaSBkw7luZyBob+G6t2MgbeG6rXQga2jhuql1XG4iCisKKyN+IG1zZ2lkICJsb2dpbjogZmFpbHVyZSBmb3JraW5nOiAlcyIKKyN+IG1zZ3N0ciAibG9naW46IGzhu5dpIHBow6JuIG5ow6FuaCAoZm9yayk6ICVzIgorCisjfiBtc2dpZCAibG9naW46IG5vIHNoZWxsOiAlcy5cbiIKKyN+IG1zZ3N0ciAibG9naW46IGtow7RuZyBjw7MgdHLDrG5oIGJhbzogJXMuXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW46ICIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiVzIMSRxINuZyBuaOG6rXA6ICIKKworI34gbXNnaWQgImxvZ2luIG5hbWUgbXVjaCB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAidMOqbiDEkcSDbmcgbmjhuq1wIHF1w6EgZMOgaS5cbiIKKworI34gbXNnaWQgIk5BTUUgdG9vIGxvbmciCisjfiBtc2dzdHIgIlTDik4gcXXDoSBkw6BpIgorCisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy5cbiIKKyN+IG1zZ3N0ciAidMOqbiDEkcSDbmcgbmjhuq1wIGtow7RuZyDEkcaw4bujYyBi4bqvdCDEkeG6p3UgduG7m2kg4oCcLeKAnS5cbiIKKworI34gbXNnaWQgIkVYQ0VTU0lWRSBsaW5lZmVlZHMiCisjfiBtc2dzdHIgImTDsm5nIG5o4bqtcCB2w6BvIFRI4buqQSIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIkzhu5ZJIMSQxIJORyBOSOG6rFAgVOG7qiAlcywgJXMiCisKKyN+IG1zZ2lkICJMT0dJTiBGQUlMVVJFIE9OICVzLCAlcyIKKyN+IG1zZ3N0ciAiTOG7lkkgxJDEgk5HIE5I4bqsUCBUUsOKTiAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBGUk9NICVzLCAlcyIKKyN+IG1zZ3N0ciAiJWQgTOG6pk4gS0jDlE5HIMSQxIJORyBOSOG6rFAgxJDGr+G7okMgVOG7qiAlcywgJXMiCisKKyN+IG1zZ2lkICIlZCBMT0dJTiBGQUlMVVJFUyBPTiAlcywgJXMiCisjfiBtc2dzdHIgIiVkIEzhuqZOIEtIw5RORyDEkMSCTkcgTkjhuqxQIMSQxq/hu6JDIFRSw4pOICVzLCAlcyIKKworI34gbXNnaWQgInVzYWdlOiBtZXNnIFt5IHwgbl1cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IG1lc2cgW3kgfCBuXVxuIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXRnaWQiCisjfiBtc2dzdHIgIm5ld2dycDogc2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3JwOiBLaMO0bmcgxJHhu6cgcXV54buBbiBo4bqhbiIKKworI34gbXNnaWQgIm5ld2dycDogc2V0dWlkIgorI34gbXNnc3RyICJuZXdncnA6IHNldHVpZCIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogc2h1dGRvd24gWy1ofC1yXSBbLWZxc10gW25vd3xoaDpzc3wrcGjDunRdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIkThu6tuZyB2aeG7h2MgdOG6r3QgbcOheSIKKworI34gbXNnaWQgIiVzOiBPbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi5cbiIKKyN+IG1zZ3N0ciAiJXM6IENo4buJIG5nxrDhu51pIGNo4bunIChyb290KSBjw7MgdGjhu4MgdOG6r3QgbcOheS5cbiIKKworI34gbXNnaWQgIlRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuP1xuIgorI34gbXNnc3RyICJMw6AgbmfDoHkgbWFpLCBjw7MgdGjhu4MgY2jhu50gxJHhur9uIGzDumMgxJHDsz9cbiIKKworI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgImNobyBi4bqjbyBkxrDhu6FuZzsiCisKKyN+IG1zZ2lkICJUaGUgc3lzdGVtIGlzIGJlaW5nIHNodXQgZG93biB3aXRoaW4gNSBtaW51dGVzIgorI34gbXNnc3RyICJT4bq9IHThuq90IG3DoXkgc2F1IDUgcGjDunQiCisKKyN+IG1zZ2lkICJMb2dpbiBpcyB0aGVyZWZvcmUgcHJvaGliaXRlZC4iCisjfiBtc2dzdHIgIkRvIMSRw7MgxJHEg25nIG5o4bqtcCBsw6Aga2jDtG5nIHRo4buDLiIKKworI34gbXNnaWQgInJlYm9vdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAia2jhu59pIMSR4buZbmcgbOG6oWkgYuG7n2kgJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAiZOG7q25nIGLhu59pICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiVOG6oWkgc2FvIHTDtGkgduG6q24gY8OybiBz4buRbmcgc2F1IGtoaSBraOG7n2kgxJHhu5luZyBs4bqhaT8iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiTm93IHlvdSBjYW4gdHVybiBvZmYgdGhlIHBvd2VyLi4uIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiQsOieSBnaeG7nSBjw7MgdGjhu4MgdOG6r3Qgbmd14buTbiDEkWnhu4du4oCmIgorCisjfiBtc2dpZCAiQ2FsbGluZyBrZXJuZWwgcG93ZXItb2ZmIGZhY2lsaXR5Li4uXG4iCisjfiBtc2dzdHIgIsSQYW5nIGfhu41pIHBoxrDGoW5nIHRp4buHbiB04bqvdCBtw6F5IGPhu6dhIG5ow6Ju4oCmXG4iCisKKyN+IG1zZ2lkICJFcnJvciBwb3dlcmluZyBvZmZcdCVzXG4iCisjfiBtc2dzdHIgIkzhu5dpIHThuq90IG3DoXkgXHQlc1xuIgorCisjfiBtc2dpZCAiVVJHRU5UOiBicm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzOiIKKyN+IG1zZ3N0ciAiVVJHRU5UOiB0aMO0bmcgYsOhbyB0b8OgbiB0aOG7gyB04burICVzOiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIGhvdXJzICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIkjhu4cgdGjhu5FuZyBz4bq9IHThuq90IHNhdSAlZCBnaeG7nSAlZCBwaMO6dCIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgaG91ciAlZCBtaW51dGVzIgorI34gbXNnc3RyICJI4buHIHRo4buRbmcgc+G6vSB04bqvdCBzYXUgMSBnaeG7nSAlZCBwaMO6dCIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIG1pbnV0ZXNcbiIKKyN+IG1zZ3N0ciAiSOG7hyB0aOG7kW5nIHPhur0gdOG6r3Qgc2F1ICVkIHBow7p0XG4iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAxIG1pbnV0ZVxuIgorI34gbXNnc3RyICJI4buHIHRo4buRbmcgc+G6vSB04bqvdCBzYXUgMSBwaMO6dFxuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIkjhu4cgdGjhu5FuZyBz4bq9IHThuq90IHNhdSBOR0FZIEzhuqxQIFThu6hDIVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx04oCmICVzIOKAplxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAiS2jDtG5nIHRo4buDIHBow6JuIG5ow6FuaCBjaG8gc3dhcG9mZiAodOG6r3QgYuG7mSBuaOG7myB0cmFvIMSR4buVaSkuIELhu48gxJFpISIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHN3YXBvZmYsIGhvcGluZyB1bW91bnQgd2lsbCBkbyB0aGUgdHJpY2suIgorI34gbXNnc3RyICJLaMO0bmcgdGjhu7FjIGhp4buHbiDEkcaw4bujYyBzd2Fwb2ZmLCBoeSB24buNbmcgdW1vdW50IHPhur0gbMOgbSB0aGF5LiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciB1bW91bnQsIHRyeWluZyBtYW51YWxseS4iCisjfiBtc2dzdHIgIktow7RuZyBwaMOibiBuaMOhbmggxJHGsOG7o2MgY2hvIHVtb3VudCwgxJFhbmcgdGjhu60gbeG7mXQgY8OhY2ggdGjhu6cgY8O0bmcuIgorCisjfiBtc2dpZCAiQ2Fubm90IGV4ZWMgJXMsIHRyeWluZyB1bW91bnQuXG4iCisjfiBtc2dzdHIgIktow7RuZyBjaOG6oXkgxJHGsOG7o2MgJXMsIMSRYW5nIHRo4butIHVtb3VudC5cbiIKKworI34gbXNnaWQgIkNhbm5vdCBleGVjIHVtb3VudCwgZ2l2aW5nIHVwIG9uIHVtb3VudC4iCisjfiBtc2dzdHIgIktow7RuZyBjaOG6oXkgxJHGsOG7o2MgdW1vdW50LCBi4buPIHRyw6puIHVtb3VudC4iCisKKyN+IG1zZ2lkICJVbm1vdW50aW5nIGFueSByZW1haW5pbmcgZmlsZXN5c3RlbXMuLi4iCisjfiBtc2dzdHIgIsSQYW5nIGLhu48gZ+G6r24gbeG7jWkgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiBuw7NpIMSR4bq/buKApiIKKworI34gbXNnaWQgInNodXRkb3duOiBDb3VsZG4ndCB1bW91bnQgJXM6ICVzXG4iCisjfiBtc2dzdHIgInNodXRkb3duOiBLaMO0bmcgdW1vdW50IMSRxrDhu6NjICVzOiAlc1xuIgorCisjfiBtc2dpZCAiQm9vdGluZyB0byBzaW5nbGUgdXNlciBtb2RlLlxuIgorI34gbXNnc3RyICJLaOG7n2kgxJHhu5luZyB2w6BvIGNo4bq/IMSR4buZIG3hu5l0IG5nxrDhu51pIGTDuW5nLlxuIgorCisjfiBtc2dpZCAiZXhlYyBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAia2jDtG5nIGNo4bqheSB0aMOgbmggY8O0bmcgdHLDrG5oIGJhbyBjaG8gbmfGsOG7nWkgZMO5bmcgxJHGoW5cbiIKKworI34gbXNnaWQgImZvcmsgb2Ygc2luZ2xlIHVzZXIgc2hlbGwgZmFpbGVkXG4iCisjfiBtc2dzdHIgImtow7RuZyBwaMOibiBuaMOhbmggdGjDoG5oIGPDtG5nIHRyw6xuaCBiYW8gY2hvIG5nxrDhu51pIGTDuW5nIMSRxqFuXG4iCisKKyN+IG1zZ2lkICJlcnJvciBvcGVuaW5nIGZpZm9cbiIKKyN+IG1zZ3N0ciAibOG7l2kgbeG7nyBrw6puaCBmaWZvXG4iCisKKyN+IG1zZ2lkICJlcnJvciBzZXR0aW5nIGNsb3NlLW9uLWV4ZWMgb24gL2Rldi9pbml0Y3RsIgorI34gbXNnc3RyICJs4buXaSBjw6BpIMSR4bq3dCBjbG9zZS1vbi1leGVjIHRyw6puIC9kZXYvaW5pdGN0bCIKKworI34gbXNnaWQgImVycm9yIHJ1bm5pbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgImzhu5dpIGNo4bqheSBmaW5hbHByb2cgKGNoxrDGoW5nIHRyw6xuaCBjdeG7kWkgY8O5bmcpXG4iCisKKyN+IG1zZ2lkICJlcnJvciBmb3JraW5nIGZpbmFscHJvZ1xuIgorI34gbXNnc3RyICJs4buXaSBwaMOibiBuaMOhbmggZmluYWxwcm9nIChjaMawxqFuZyB0csOsbmggY3Xhu5FpIGPDuW5nKVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldyb25nIHBhc3N3b3JkLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiTeG6rXQga2jhuql1IGtow7RuZyDEkcO6bmcuXG4iCisKKyN+IG1zZ2lkICJyZXNwYXduaW5nOiBgJXMnIHRvbyBmYXN0OiBxdWVuY2hpbmcgZW50cnlcbiIKKyN+IG1zZ3N0ciAixJFhbmcgdOG6oW8gdsOgIHRo4buxYyBoaeG7h24gbOG6oWkg4oCcJXPigJ0gcXXDoSBuaGFuaDogxJFhbmcgZOG6rXAgdOG6r3QgbeG7pWMgbmjhuq1wXG4iCisKKyN+IG1zZ2lkICJmb3JrIGZhaWxlZFxuIgorI34gbXNnc3RyICJwaMOibiBuaMOhbmgga2jDtG5nIHRow6BuaCBjw7RuZ1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gaW5pdHRhYlxuIgorI34gbXNnc3RyICJraMO0bmcgbeG7nyDEkcaw4bujYyBpbml0dGFiXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICJraMO0bmcgY8OzIFRFUk0gaG/hurdjIGtow7RuZyB0aOG7gyBzdGF0IChs4bqleSB0cuG6oW5nIHRow6FpIHbhu4EpIHR0eVxuIgorCisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBgJXMnXG4iCisjfiBtc2dzdHIgImfhurdwIGzhu5dpIGtoaSBk4burbmcgY2jhuqF5IGThu4tjaCB24bulOiDigJwlc+KAnVxuIgorCisjfiBtc2dpZCAiU3RvcHBlZCBzZXJ2aWNlOiAlc1xuIgorI34gbXNnc3RyICJE4buLY2ggduG7pSBi4buLIGThu6tuZzogJXNcbiIKKworI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgYCVzJ1xuIgorI34gbXNnc3RyICJn4bq3cCBs4buXaSBraGkga2jhu59pIGNo4bqheSBk4buLY2ggduG7pTog4oCcJXPigJ1cbiIKKworI34gbXNnaWQgIiVzOiBCQUQgRVJST1IiCisjfiBtc2dzdHIgIiVzOiBM4buWSSBY4bqkVSIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlczogdOG6rXAgdGluIG5ow7NtIMSRYW5nIGLhuq1uLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHVubG9jayAlczogJXMgKHlvdXIgY2hhbmdlcyBhcmUgc3RpbGwgaW4gJXMpXG4iCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgbeG7nyBraMOzYSDEkcaw4bujYyAlczogJXMgKG3hu41pIHRoYXkgxJHhu5VpIHbhuqtuIGPDsm4gdHJvbmcgJXMpXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgW2ZpbGVdXG4iCisjfiBtc2dzdHIgImPDoWNoIGTDuW5nOiAlcyBbIHThuq1wIHRpbiBdXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyDEkeG7jWMgxJHGsOG7o2MgJXMuXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3Qgc3RhdCB0ZW1wb3JhcnkgZmlsZS5cbiIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyBs4bqleSDEkcaw4bujYyB0cuG6oW5nIHRow6FpIChzdGF0KSB04bqtcCB0aW4gdOG6oW0gdGjhu51pLlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgxJHhu41jIMSRxrDhu6NjIHThuq1wIHRpbiB04bqhbSB0aOG7nWkuXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY2FsIFstMTNzbWp5Vl0gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IGNhbCBbLTEzc21qeVZdIFtbW25nw6B5XSB0aMOhbmddIG7Eg21dXG4iCisKKyN+IG1zZ2lkICIlczogcGFyc2UgZXJyb3I6ICVzIgorI34gbXNnc3RyICIlczogbOG7l2kgcGjDom4gdMOtY2ggY8O6IHBow6FwOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtcywgLS1mc3RhYiAgICAgICAgICAgIHNlYXJjaCBpbiBzdGF0aWMgdGFibGUgb2YgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAtaywgLS1rZXJuZWwgICAgICAgICAgIHNlYXJjaCBpbiBrZXJuZWwgdGFibGUgb2YgbW91bnRlZCBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBmaWxlc3lzdGVtcyAoZGVmYXVsdClcbiIKKyN+ICJcbiIKKyN+ICIgLWMsIC0tY2Fub25pY2FsaXplICAgICBjYW5vbmljYWxpemUgcHJpbnRlZCBwYXRoc1xuIgorI34gIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IHNlYXJjaCBkaXJlY3Rpb24gLSAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIHByaW50IGFsbCBUQUdzIChMQUJFTC9VVUlEKSBldmFsdWF0ZWRcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHNlbnNlIG9mIG1hdGNoaW5nXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91cHV0XG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIKKyN+ICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1uc1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgZm9ybWF0IG91dHB1dFxuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBhc2NpaSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIGJ5IEZTIHR5cGVzXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgZGV2aWNlLCBMQUJFTD0gb3IgVVVJRD1kZXZpY2VcbiIKKyN+ICIgLVQsIC0tdGFyZ2V0IDxzdHJpbmc+ICBtb3VudHBvaW50XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJUw7l5IGNo4buNbjpcbiIKKyN+ICIgLXMsIC0tZnN0YWIgICAgICAgICAgICB0w6xtIGtp4bq/bSB0cm9uZyBi4bqjbmcgdMSpbmggY+G7p2EgaOG7hyB0aOG7kW5nIHThuq1wIHRpblxuIgorI34gIiAtbSwgLS1tdGFiICAgICAgICAgIHTDrG0ga2nhur9tIHRyb25nIGLhuqNuZyBj4bunYSBo4buHIHRo4buRbmcgdOG6rXAgdGluIMSRw6MgbOG6r3BcbiIKKyN+ICIgLWssIC0ta2VybmVsICAgICB0w6xtIGtp4bq/bSB0cm9uZyBi4bqjbmcgaOG6oXQgbmjDom4gY+G7p2EgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcOjIGzhuq9wICht4bq3YyDEkeG7i25oKVxuIgorI34gIlxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGzDoG0gY2hvIGjhu6NwIG5ndXnDqm4gdOG6r2MgY8OhYyDEkcaw4budbmcgZOG6q24gxJHGsOG7o2MgaW4gcmFcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDx04burPiAgICBoxrDhu5tuZyB0w6xtIGtp4bq/bTog4oCcZm9yd2FyZOKAnSAodGnhur9wKSBoYXkg4oCcYmFja3dhcmTigJ0gKGzDuWkpXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgaW4gcmEgbeG7jWkgVEjhurogKE5Iw4NOL1VVSUQpIMSRxrDhu6NjIHTDrW5oXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgY2jhu4kgaW4gcmEgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDEkcaw4bujYyB0w6xtIMSR4bqndSB0acOqblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGluIHJhIHRy4bujIGdpw7pwIG7DoHlcbiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICDEkeG6o28gbmfGsOG7o2MgY8OhY2gga2jhu5twXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgeHXhuqV0IHRoZW8gxJHhu4tuaCBk4bqhbmcgZGFuaCBzw6FjaFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIMSR4burbmcgaW4gcmEgcGjhuqduIMSR4bqndVxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgICAgxJHhu6tuZyBj4bqvdCBuZ+G6r24gY2h14buXaSB0cm9uZyBj4buZdFxuIgorI34gIiAtTywgLS1vcHRpb25zIDxkYW5oX3PDoWNoPiAgIGjhuqFuIGNo4bq/IHThuq1wIGjhu6NwIGPDoWMgaOG7hyB0aOG7kW5nIHThuq1wIHRpbiB0aGVvIHTDuXkgY2jhu41uIGzhuq9wXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8ZGFuaF9zw6FjaD4gICAgeHXhuqV0IGPhu5l0XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgeHXhuqV0IHRoZW8gxJHhu4tuaCBk4bqhbmcgdGjDtFxuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIMSR4buLbmggZOG6oW5nIGPDonkgYuG6sW5nIGvDvSB04buxIEFTQ0lJXG4iCisjfiAiIC10LCAtLXR5cGVzIDxkYW5oX3PDoWNoPiAgICAgaOG6oW4gY2jhur8gdOG6rXAgaOG7o3AgY8OhYyBo4buHIHRo4buRbmcgdOG6rXAgdGluIHRoZW8ga2nhu4N1IEhUVFRcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxjaHXhu5dpPiAgdGhp4bq/dCBi4buLLCBMQUJFTD0gKG5ow6NuIGzDoCkgaGF5IFVVSUQ9dGhp4bq/dF9i4buLXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8Y2h14buXaT4gICAgxJFp4buDbSBs4bqvcFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcjogJXM6ICVzLlxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiBsb2dnZXIgWy1pc10gWy1mIHThuq1wX3Rpbl0gWy1wIMawdV90acOqbl0gWy10IHRo4bq7XSBbLXUg4buVX2Phuq9tXSBbIHRow7RuZ19iw6FvIOKApiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IGxvb2sgWy1kZmFdIFstdCBrw71fdOG7sV0gY2h14buXaSBbdOG6rXBfdGluXVxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT8iCisjfiBtc2dzdHIgImtow7RuZyDEkeG7pyBi4buZIG5o4bubID8iCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlczoga2jDtG5nIMSR4bunIGLhu5kgbmjhu5tcbiIKKworI34gbXNnaWQgImNhbGw6ICVzIGZyb20gdG8gZmlsZXMuLi5cbiIKKyN+IG1zZ3N0ciAiY2FsbDogJXMgc2FuZyBjw6FjIHThuq1wIHRpbuKAplxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHNjcmlwdCBbLWFdIFstZV0gWy1mXSBbLXFdIFstdF0gW2ZpbGVdXG4iCisjfiBtc2dzdHIgImPDoWNoIGTDuW5nOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFt04buHcF1cbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvciAlZDogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGzhu5dpIGdoaSAlZDogJXNcbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGzhu5dpIGdoaTogJXNcbiIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVx0XHRjdeG7mW4gbeG7gW0gW2Lhuq10fHThuq90XVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgWyAtZm9yZWdyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW5cbiIKKyN+ICJcbiIKKyN+ICJtw6B1IHbEg24gYuG6o246IMSRZW58eGFuaHxs4bulY3x4YW5oIGzDoSBt4bqhIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZXxkZWZhdWx0IF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiAiXG4iCisjfiAifMSR4buPfMSR4buPIHTGsMahaXx2w6BuZ3x0cuG6r25nfG3hurdjIMSR4buLbmhcbiIKKworI34gbXNnaWQgIiAgWyAtYmFja2dyb3VuZCBibGFja3xibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuXG4iCisjfiAiXG4iCisjfiAibcOgdSBu4buBbjogxJFlbnx4YW5ofGzhu6VjfHhhbmggbMOhIG3huqEiCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW5cbiIKKyN+ICJcbiIKKyN+ICJtw6B1IGfhuqFjaCBkxrDhu5tpOiDEkWVufHjDoW18eGFuaHxs4bulY3x4YW5oIGzDoSBt4bqhIgorCisjfiBtc2dpZCAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+ICJcbiIKKyN+ICJ8xJHhu498xJHhu48gdMawxqFpfHbDoG5nfHRy4bqvbmdcbiIKKworI34gbXNnaWQgIiAgWyAtdWxjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIiCisjfiAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW5cbiIKKyN+ICJcbiIKKyN+ICJtw6B1IGfhuqFjaCBkxrDhu5tpOiB4YW5ofGzhu6VjfHhhbmggbMOhIG3huqEga2nhu4N1IHPDoW5nIgorCisjfiBtc2dpZCAiICBbIC1oYmNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1oYmNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKyN+IG1zZ3N0ciAiICBbIC1zdGFuZG91dCBbIHRodeG7mWNfdMOtbmggXSBdXHRcdGzDoG0gbuG7lWlcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbLWRdIFstcCB04bqtcF90aW5fUElEXSBbLXMgxJHGsOG7nW5nX2ThuqtuX+G7lV9j4bqvbV0gWy1UIHRo4budaV9o4bqhbl1cbiIKKworI34gbXNnaWQgIiAgICAgICAlcyBbLXJ8dF0gWy1uIG51bV0gWy1zIHNvY2tldHBhdGhdXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyBbLXJ8dF0gWy1uIHPhu5FdIFstcyDEkcaw4budbmdfZOG6q25f4buVX2Phuq9tXVxuIgorCisjfiBtc2dpZCAiICAgICAgICVzIC1rXG4iCisjfiBtc2dzdHIgIiAgICAgICAlcyAta1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstcl0gWy10XVxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgWy1yXSBbLXRdXG4iCisKKyN+IG1zZ2lkICJ3aGVyZWlzIFsgLXNibXUgXSBbIC1TQk0gZGlyIC4uLiAtZiBdIG5hbWUuLi5cbiIKKyN+IG1zZ3N0ciAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIHRoxrBfbeG7pWMg4oCmIC1mIF0gdMOqbuKAplxuIgorCisjfiBtc2dpZCAiV0FSTklORzogJXM6IGFwcGVhcnMgdG8gY29udGFpbiAnJXMnIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAiQ+G6ok5IIELDgU86ICVzOiBow6xuaCBuaMawIGNo4bupYSBi4bqjbmcgcGjDom4gdsO5bmcg4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJubyBtYWdpYyBzdHJpbmcgZm91bmQgYXQgb2Zmc2V0IDB4JWp4IC0tIGlnbm9yZWQiCisjfiBtc2dzdHIgImtow7RuZyB0w6xtIHRo4bqleSBjaHXhu5dpIG1hIHRodeG6rXQg4bufIGtob+G6o25nIGNow6puaCAweCVqeCBuw6puIGLhu48gcXVhIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAiY8OhY2ggZMO5bmc6IHdyaXRlIG5nxrDhu51pX2TDuW5nIFt0dHldXG4iCisKKyN+IG1zZ2lkICJsb29wOiBjYW4ndCBzZXQgY2FwYWNpdHkgb24gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29wOiBraMO0bmcgdGjhu4MgxJHhurd0IGto4bqjIG7Eg25nIHRyw6puIHRoaeG6v3QgYuG7iyAlczogJXNcbiIKKworI34gbXNnaWQgIiwgb2Zmc2V0ICU8UFJJdTY0PiIKKyN+IG1zZ3N0ciAiLCBiw7kgJTxQUkl1NjQ+IgorCisjfiBtc2dpZCAiLCBlbmNyeXB0aW9uIHR5cGUgJWRcbiIKKyN+IG1zZ3N0ciAiLCBk4bqhbmcgbcOjIGjDs2EgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2jDtG5nIGzhuqV5IMSRxrDhu6NjIHRow7RuZyB0aW4gdHLDqm4gdGhp4bq/dCBi4buLICVzOiAlc1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgb3BlbiBkZXZpY2UgJXM6ICVzXG4iCisjfiBtc2dzdHIgImxvb3A6IGtow7RuZyBt4bufIMSRxrDhu6NjIHRoaeG6v3QgYuG7iyAlczogJXNcbiIKKworI34gbXNnaWQgIiVzOiAvZGV2IGRpcmVjdG9yeSBkb2VzIG5vdCBleGlzdC4iCisjfiBtc2dzdHIgIiVzOiB0aMawIG3hu6VjIOKAnC9kZXbigJ0ga2jDtG5nIHThu5NuIHThuqFpLiIKKworI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVzOiBraMO0bmcgY8OzIHF1eeG7gW4geGVtIC9kZXYvbG9vcCVzPE4+IgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVzOiBLaMO0bmcgdMOsbSB0aOG6pXkgYuG6pXQga+G7syB0aGnhur90IGLhu4sgdsOybmcgbOG6t3AgbsOgby4gQ8OzIHRo4buDIG5ow6JuIG7DoHkga2jDtG5nIGJp4bq/dFxuIgorI34gIiAgICAgICB24buBIHRoaeG6v3QgYuG7iyB2w7JuZyBs4bq3cD8gKE7hur91IHbhuq15LCBow6N5IGJpw6puIGThu4tjaCBs4bqhaSBob+G6t2MgdGjhu60g4oCcbW9kcHJvYmUgbG9vcOKAnS4pIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIktow7RuZyDEkeG7pyBi4buZIG5o4bubIGtoaSDEkeG7jWMgY+G7pW0gdOG7qyBt4bqtdCBraOG6qXUiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiAlcyBpcyBhbHJlYWR5IGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICJj4bqjbmggYsOhbzogJXMgxJHDoyBsacOqbiBxdWFuIMSR4bq/biAlc1xuIgorCisjfiBtc2dpZCAid2FybmluZzogJXM6IGlzIHdyaXRlLXByb3RlY3RlZCwgdXNpbmcgcmVhZC1vbmx5LlxuIgorI34gbXNnc3RyICJj4bqjbmggYsOhbzogJXM6IMSRxrDhu6NjIGLhuqNvIHbhu4cgY2jhu5FuZyBnaGkgbsOqbiDEkeG6t3QgY2jhu4ktxJHhu41jLlxuIgorCisjfiBtc2dpZCAiaW9jdGwgTE9PUF9TRVRfRkQgZmFpbGVkOiAlc1xuIgorI34gbXNnc3RyICJpb2N0bCBMT09QX1NFVF9GRCBi4buLIGzhu5dpOiAlc1xuIgorCisjfiBtc2dpZCAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1KTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJzZXRfbG9vcCglcywlcywlbGx1LCVsbHUpOiB0aMOgbmggY8O0bmdcbiIKKworI34gbXNnaWQgImRlbF9sb29wKCVzKTogc3VjY2Vzc1xuIgorI34gbXNnc3RyICJkZWxfbG9vcCglcyk6IHRow6BuaCBjw7RuZ1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZGVsZXRlIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcDoga2jDtG5nIHjDs2EgxJHGsOG7o2MgdGhp4bq/dCBi4buLICVzOiAlc1xuIgorCisjfiBtc2dpZCAiVGhpcyBtb3VudCB3YXMgY29tcGlsZWQgd2l0aG91dCBsb29wIHN1cHBvcnQuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIlBoacOqbiBi4bqjbiBtb3VudCBuw6B5IMSRxrDhu6NjIGJpw6puIGThu4tjaCBraMO0bmcgaOG7lyB0cuG7oyB2w7JuZyBs4bq3cC4gWGluIGjDo3kgYmnDqm4gZOG7i2NoIGzhuqFpLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIGxvb3BfZGV2aWNlICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnaXZlIGluZm9cbiIKKyN+ICIgJTEkcyAtYSB8IC0tYWxsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZFxuIgorI34gIiAlMSRzIC1kIHwgLS1kZXRhY2ggPGxvb3BkZXY+IFs8bG9vcGRldj4gLi4uXSBkZWxldGVcbiIKKyN+ICIgJTEkcyAtZiB8IC0tZmluZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmluZCB1bnVzZWRcbiIKKyN+ICIgJTEkcyAtYyB8IC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgICAgICAgICAgcmVzaXplXG4iCisjfiAiICUxJHMgLWogfCAtLWFzc29jaWF0ZWQgPGZpbGU+IFstbyA8bnVtPl0gICAgIGxpc3QgYWxsIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+ICIgJTEkcyBbIG9wdGlvbnMgXSB7LWZ8LS1maW5kfGxvb3BkZXZ9IDxmaWxlPiAgc2V0dXBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIkPDoWNoIGTDuW5nOlxuIgorI34gIiAlMSRzIHRoaeG6v3RfYuG7i192w7JuZ19s4bq3cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY3VuZyBj4bqlcCB0aMO0bmcgdGluXG4iCisjfiAiICUxJHMgLWEgfCAtLWFsbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxp4buHdCBrw6ogdOG6pXQgY+G6oyDEkcaw4bujYyBkw7luZ1xuIgorI34gIiAlMSRzIC1kIHwgLS1kZXRhY2ggPFRCX3bDsm5nX2zhurdwPiBbPFRCX3bDsm5nX2zhurdwPiDigKZdICAgICAgICB4w7NhXG4iCisjfiAiICUxJHMgLWYgfCAtLWZpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHTDrG0gY8OhaSBjaMawYSBkw7luZ1xuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPFRCX3bDsm5nX2zhurdwPiAgICAgICAgICAgdGhheSDEkeG7lWkga8OtY2ggY+G7oVxuIgorI34gIiAlMSRzIC1qIHwgLS1hc3NvY2lhdGVkIDx04bqtcF90aW4+IFstbyA8c+G7kT5dICAgICBsaeG7h3Qga8OqIHThuqV0IGPhuqMgdMawxqFuZyDhu6luZyB24bubaSB04bqtcCB0aW4gbsOgeVxuIgorI34gIiAlMSRzIFsgdHXhu7NfY2jhu41uIOKApiBdIHstZnwtLWZpbmR8VEJfdsOybmdfbOG6t3B9IDx04bqtcF90aW4+ICAgICAgICB0aGnhur90IGzhuq1wXG4iCisKKyN+IG1zZ2lkICJzdG9sZW4gbG9vcD0lcy4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJ2w7JuZyBs4bq3cCBi4buLIMSDbiBj4bqvcD0lc+KApiBuw6puIHRo4butIGzhuqFpXG4iCisKKyN+IG1zZ2lkICJObyBsb29wIHN1cHBvcnQgd2FzIGF2YWlsYWJsZSBhdCBjb21waWxlIHRpbWUuIFBsZWFzZSByZWNvbXBpbGUuXG4iCisjfiBtc2dzdHIgIkJpw6puIGThu4tjaCBraMO0bmcgaOG7lyB0cuG7oyB2w7JuZyBs4bq3cC4gWGluIGjDo3kgYmnDqm4gZOG7i2NoIGzhuqFpLlxuIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICJtb3VudDoga2jDtG5nIG3hu58gxJHGsOG7o2MgJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICUxJHMgWy1wIHByaW9yaXR5XSBbLXZdIFstZl0gPHNwZWNpYWw+ICBlbmFibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCB1c2FnZSBzdW1tYXJ5XG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIgJTEkcyAtYSBbLWVdIFstdl0gWy1mXSAgICAgICAgIGLhuq10IHThuqV0IGPhuqMgY8OhYyB2w7luZyB0cmFvIMSR4buVaSB04burIC9ldGMvZnN0YWJcbiIKKyN+ICIgJTEkcyBbLXAgxrB1X3Rpw6puXSBbLXZdIFstZl0gPMSR4bq3Y19iaeG7h3Q+ICBi4bqtdCB2w7luZyB0cmFvIMSR4buVaSDEkcawYSByYVxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBsxrDhu6NjIHPhu60gduG7gSBjw6FjaCBz4butIGThu6VuZyB2w7luZyB0cmFvIMSR4buVaVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBwaGnDqm4gYuG6o25cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIHN3YXBzXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2lhbD4gICAgICAgICAgICAgICBkaXNhYmxlIGdpdmVuIHN3YXBcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaGVscFxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzpcbiIKKyN+ICIgJTEkcyAtYSBbLXZdICAgICAgICAgICAgICAgICAgICAgIHThuq90IG3hu41pIHRyYW8gxJHhu5VpXG4iCisjfiAiICUxJHMgWy12XSA8xJHhurdjX2Jp4buHdD4gICAgICAgICAgICAgIHThuq90IHRyYW8gxJHhu5VpIMSRw6MgY2hvXG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICBoaeG7g24gdGjhu4sgdHLhu6MgZ2nDunBcbiIKKyN+ICIgJTEkcyAtViAgICAgICAgICAgICAgICAgICAgICAgICAgIGhp4buDbiB0aOG7iyBwaGnDqm4gYuG6o25cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInVua25vd25cbiIKKyN+IG1zZ3N0ciAia2jDtG5nIHLDtVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImlvbmljZSAtIHNldHMgb3IgZ2V0cyBwcm9jZXNzIGlvIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5LlxuIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgaW9uaWNlIFsgb3B0aW9ucyBdIC1wIDxwaWQ+IFs8cGlkPiAuLi5dXG4iCisjfiAiICBpb25pY2UgWyBvcHRpb25zIF0gPGNvbW1hbmQ+IFs8YXJnPiAuLi5dXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1uIDxjbGFzc2RhdGE+ICAgICAgY2xhc3MgZGF0YSAoMC03LCBsb3dlciBiZWluZyBoaWdoZXIgcHJpbylcbiIKKyN+ICIgIC1jIDxjbGFzcz4gICAgICAgICAgc2NoZWR1bGluZyBjbGFzc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC10ICAgICAgICAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCisjfiAiICAtaCAgICAgICAgICAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiaW9uaWNlIOKAlCDEkeG6t3QgaGF5IGzhuqV5IGjhuqFuZyB2w6AgbeG7qWMgxrB1IHRpw6puIMSR4buLbmggdGjhu51pIFYvUiBj4bunYSB0aeG6v24gdHLDrG5oLlxuIgorI34gIlxuIgorI34gIkPDoWNoIGTDuW5nOlxuIgorI34gIiAgaW9uaWNlIFsgY8OhY190w7l5X2No4buNbiBdIC1wIDxwaWQ+IFs8cGlkPiDigKZdXG4iCisjfiAiICBpb25vY2UgWyBjw6FjX3TDuXlfY2jhu41uIF0gPGzhu4duaD4gWzzEkeG7kWlfc+G7kT4g4oCmXVxuIgorI34gIlxuIgorI34gIlTDuXkgY2jhu41uOlxuIgorI34gIiAgLW4gPGThu69fbGnhu4d1X2jhuqFuZz4gICAgICBk4buvIGxp4buHdSBo4bqhbmcgKDAtNywgbmjhu48gaMahbiB0aMOsIG3hu6ljIMawdSB0acOqbiBjYW8gaMahbilcbiIKKyN+ICIgIC1jIDxo4bqhbmc+ICAgICAgICAgIGjhuqFuZyDEkeG7i25oIHRo4budaVxuIgorI34gIlx0KiAwXHRraMO0bmcgY8OzXG4iCisjfiAiXHQqIDFcdHRo4budaSBnaWFuIHRo4bqtdFxuIgorI34gIlx0KiAyXHRj4buRIGfhuq9uZyB04buRdCBuaOG6pXRcbiIKKyN+ICJcdCogM1x0bmdo4buJXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIGLhu48gcXVhIGzhu5dpXG4iCisjfiAiICAtaCAgICAgICAgICAgICAgICAgIHRy4bujIGdpw7pwIG7DoHlcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkNQVSBtYXNrIgorI34gbXNnc3RyICJC4buZIGzhu41jIENQVSIKKworI34gbXNnaWQgInBhcnNlIGVycm9yIGF0IGxpbmVzOiAiCisjfiBtc2dzdHIgImzhu5dpIHBow6JuIHTDrWNoIGPDuiBwaMOhcCDhu58gZMOybmc6ICIKKworI34gbXNnaWQgIiBhbmQgJWQuIgorI34gbXNnc3RyICIgdsOgICVkLiIKKworI34gbXNnaWQgIlVzYWdlOiBjdHJsYWx0ZGVsIGhhcmR8c29mdFxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogY3RybGFsdGRlbCBoYXJkfHNvZnRcdFx0Y+G7qW5nfG3hu4FtXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1xIFstaSBpbnRlcnZhbF1dIChbLXMgdmFsdWVdfFstUyB2YWx1ZV0pIChbLXQgdmFsdWVdfFstVCB2YWx1ZV0pIFstZ3wtR10gZmlsZSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFstcSBbLWkga2hv4bqjbmd0aOG7nWlnaWFuXV0gKFstcyBnacOhdHLhu4tdfFstUyBnacOhdHLhu4tdKSAoWy10IGdpw6F0cuG7i118Wy1UIGdpw6F0cuG7i10pIFstZ3wtR10gdOG6rXB0aW4gW3Thuq1wdGlu4oCmXVxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIG3hu58gxJHGsOG7o2MgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLW4gbGV2ZWxdIFstcl0gWy1zIGJ1ZnNpemVdXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiAlcyBbLWNdIFstbiBi4bqtY10gWy1yXSBbIC1zIGPhu6FfYuG7mV/EkeG7h21dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1zeHVuXVstdyAjXSBmZCNcbiIKKyN+ICIgICAgICAgJTEkcyBbLXN4b25dWy13ICNdIGZpbGUgWy1jXSBjb21tYW5kLi4uXG4iCisjfiAiICAgICAgICUxJHMgWy1zeG9uXVstdyAjXSBkaXJlY3RvcnkgWy1jXSBjb21tYW5kLi4uXG4iCisjfiAiICAtcyAgLS1zaGFyZWQgICAgIEdldCBhIHNoYXJlZCBsb2NrXG4iCisjfiAiICAteCAgLS1leGNsdXNpdmUgIEdldCBhbiBleGNsdXNpdmUgbG9ja1xuIgorI34gIiAgLXUgIC0tdW5sb2NrICAgICBSZW1vdmUgYSBsb2NrXG4iCisjfiAiICAtbiAgLS1ub25ibG9jayAgIEZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIgorI34gIiAgLXcgIC0tdGltZW91dCAgICBXYWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKKyN+ICIgIC1vICAtLWNsb3NlICAgICAgQ2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKKyN+ICIgIC1jICAtLWNvbW1hbmQgICAgUnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCisjfiAiICAtaCAgLS1oZWxwICAgICAgIERpc3BsYXkgdGhpcyB0ZXh0XG4iCisjfiAiICAtViAgLS12ZXJzaW9uICAgIERpc3BsYXkgdmVyc2lvblxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6ICUxJHMgWy1zeHVuXVstdyAjXSBmZCNcbiIKKyN+ICIgICAgICAgJTEkcyBbLXN4b25dWy13ICNdIHThuq1wX3RpbiBbLWNdIGzhu4duaOKAplxuIgorI34gIiAgICAgICAlMSRzIFstc3hvbl1bLXcgI10gdGjGsF9t4bulYyBbLWNdIGzhu4duaOKAplxuIgorI34gIlxuIgorI34gIiAgLXMgIC0tc2hhcmVkICAgICBM4bqleSBt4buZdCBz4buxIGtow7NhIGTDuW5nIGNodW5nXG4iCisjfiAiICAteCAgLS1leGNsdXNpdmUgIEzhuqV5IG3hu5l0IHPhu7Ega2jDs2EgcmnDqm5nXG4iCisjfiAiICAtdSAgLS11bmxvY2sgICAgIEfhu6EgYuG7jyBt4buZdCBz4buxIGtow7NhXG4iCisjfiAiICAtbiAgLS1ub25ibG9jayAgIFRo4bqldCBi4bqhaSBoxqFuIGzDoCDEkeG7o2lcbiIKKyN+ICIgIC13ICAtLXRpbWVvdXQgICAgxJDhu6NpIG3hu5l0IGtob+G6o25nIHRo4budaSBnaWFuXG4iCisjfiAiICAtbyAgLS1jbG9zZSAgICAgIMSQw7NuZyBi4buZIG3DtCB04bqjIHThuq1wIHRpbiB0csaw4bubYyBraGkgY2jhuqF5IGPDonUgbOG7h25oXG4iCisjfiAiICAtYyAgLS1jb21tYW5kICAgIENo4bqheSB0cm9uZyB0csOsbmggYmFvIG3hu5l0IGNodeG7l2kgbOG7h25oIHJpw6puZyBs4bq7XG4iCisjfiAiICAtaCAgLS1oZWxwICAgICAgIEhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisjfiAiICAtViAgLS12ZXJzaW9uICAgIEhp4buDbiB0aOG7iyBwaGnDqm4gYuG6o25cbiIKKworI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlczogc+G7kSBzYWk6ICVzXG4iCisKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVzOiBs4buXaSBwaMOibiBuaMOhbmg6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAtTSA8c2l6ZT4gICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKKyN+ICIgIC1TIDxuc2Vtcz4gICAgY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxuc2Vtcz4gZWxlbWVudHNcbiIKKyN+ICIgIC1RICAgICAgICAgICAgY3JlYXRlIG1lc3NhZ2UgcXVldWVcbiIKKyN+ICIgIC1wIDxtb2RlPiAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgIC1NIDxrw61jaF9j4buhPiAgICAgdOG6oW8gxJFv4bqhbiBuaOG7myBkw7luZyBjaHVuZyBjw7Mga8OtY2ggY+G7oSBuw6B5XG4iCisjfiAiICAtUyA8c+G7kT4gICAgdOG6oW8gbeG6o25nIGPhu50gaGnhu4d1IGPDsyBz4buRIG3hu6VjIG7DoHlcbiIKKyN+ICIgIC1RICAgICAgICAgICAgdOG6oW8gaMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwXG4iCisjfiAiICAtcCA8Y2jhur9fxJHhu5k+ICAgICBxdXnhu4FuIGjhuqFuIGPhu6dhIHTDoGkgbmd1ecOqbiAobeG6t2MgxJHhu4tuaCAwNjQ0KVxuIgorCisjfiBtc2dpZCAiY2Fubm90IHJlbW92ZSBpZCAlcyAoJXMpXG4iCisjfiBtc2dzdHIgImtow7RuZyB4w7NhIGLhu48gxJHGsOG7o2MgaWQgJXMgKCVzKVxuIgorCisjfiBtc2dpZCAiZGVwcmVjYXRlZCB1c2FnZTogJXMge3NobSB8IG1zZyB8IHNlbX0gaWQgLi4uXG4iCisjfiBtc2dzdHIgImtow7RuZyBuw6puIHPhu60gZOG7pW5nOiAlcyB7c2htIHwgbXNnIHwgc2VtfSBpZCDigKZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAiQ8OhY2ggZMO5bmc6ICVzIFsgWy1xIG1zcWlkXSBbLW0gc2htaWRdIFstcyBzZW1pZF1cbiIKKyN+ICIgICAgICAgICAgWy1RIG1zZ2tleV0gWy1NIHNobWtleV0gWy1TIHNlbWtleV0g4oCmIF1cbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIG9wdGlvbiAtLSAlY1xuIgorI34gbXNnc3RyICIlczogdMO5eSBjaOG7jW4ga2jDtG5nIGNobyBwaMOpcCDigJwtLSAlY+KAnVxuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgImzhu5dpIGtow7RuZyByw7UgdHJvbmcgY2jDrGEga2jDs2EiCisKKyN+IG1zZ2lkICJ1bmtub3duIGVycm9yIGluIGlkIgorI34gbXNnc3RyICJs4buXaSBraMO0bmcgcsO1IHRyb25nIGlkIgorCisjfiBtc2dpZCAiJXM6ICVzICglcylcbiIKKyN+IG1zZ3N0ciAiJXM6ICVzICglcylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLWFzbXFdIFstdHwtY3wtbHwtdXwtcF1cbiIKKyN+ICIgICAgICAgJTEkcyBbLXN8LW18LXFdIC1pIGlkXG4iCisjfiAiICAgICAgICUxJHMgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOiAlMSRzIFstYXNtcV0gWy10fC1jfC1sfC11fC1wXVxuIgorI34gIiAgICAgICAlMSRzIFstc3wtbXwtcV0gLWkgaWRcbiIKKyN+ICIgICAgICAgJTEkcyAtaCDEkeG7gyB4ZW0gdHLhu6MgZ2nDunBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJSZXNvdXJjZSBvcHRpb25zOlxuIgorI34gIiAgICAtbSAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKKyN+ICIgICAgLXEgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorI34gIiAgICAtcyAgICAgIHNlbWFwaG9yZXNcbiIKKyN+ICIgICAgLWEgICAgICBhbGwgKGRlZmF1bHQpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUw7l5IGNo4buNbiB0w6BpIG5ndXnDqm46XG4iCisjfiAiICAgIC1tICAgICAgxJFv4bqhbiB2w7luZyBuaOG7myBjaGlhIHPhurtcbiIKKyN+ICIgICAgLXEgICAgICAgaMOgbmcgxJHhu6NpIHRow7RuZyDEkWnhu4dwXG4iCisjfiAiICAgIC1zICAgICAgIGPhu50gaGnhu4d1XG4iCisjfiAiICAgIC1hICAgICAgdOG6pXQgY+G6oyAobeG6t2MgxJHhu4tuaClcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJPdXRwdXQgZm9ybWF0OlxuIgorI34gIiAgICAtdCAgICAgIHRpbWVcbiIKKyN+ICIgICAgLXAgICAgICBwaWRcbiIKKyN+ICIgICAgLWMgICAgICBjcmVhdG9yXG4iCisjfiAiICAgIC1sICAgICAgbGltaXRzXG4iCisjfiAiICAgIC11ICAgICAgc3VtbWFyeVxuIgorI34gbXNnc3RyICIiCisjfiAixJDhu4tuaCBk4bqhbmcga+G6v3QgeHXhuqV0OlxuIgorI34gIiAgICAtdCAgICAgICB0aOG7nWkgZ2lhblxuIgorI34gIiAgICAtcCAgICAgIFBJRFxuIgorI34gIiAgICAtYyAgICAgIHRyw6xuaCB04bqhb1xuIgorI34gIiAgICAtbCAgICAgICBnaeG7m2kgaOG6oW5cbiIKKyN+ICIgICAgLXUgICAgICBi4bqjbiB0w7NtIHThuq90XG4iCisKKyN+IG1zZ2lkICJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyN+IG1zZ3N0ciAiJWQgxJFv4bqhbiDEkcOjIHBow6JuIHBo4buRaVxuIgorCisjfiBtc2dpZCAicGFnZXMgYWxsb2NhdGVkICVsZFxuIgorI34gbXNnc3RyICIlbGQgdHJhbmcgxJHDoyBwaMOibiBwaOG7kWlcbiIKKworI34gbXNnaWQgInBhZ2VzIHJlc2lkZW50ICAlbGRcbiIKKyN+IG1zZ3N0ciAiJWxkIHRyYW5nIG7hu5lpIHRyw7pcbiIKKworI34gbXNnaWQgIlN3YXAgcGVyZm9ybWFuY2U6ICVsZCBhdHRlbXB0c1x0ICVsZCBzdWNjZXNzZXNcbiIKKyN+IG1zZ3N0ciAiSGnhu4d1IHN14bqldCBzd2FwOiAlbGQgbOG6p24gdGjhu61cdCAlbGQgbOG6p24gdGjDoG5oIGPDtG5nXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFsgLWRoVjc4bmVvMTIgXSBbIC1zIDxzcGVlZD4gXSBbIC1pIFstXTxpZmxhZz4gXSA8bGRpc2M+IDxkZXZpY2U+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJDw6FjaCBkw7luZzogJXMgWyAtZGhWNzhuZW8xMiBdIFsgLXMgPHThu5FjX8SR4buZPiBdIFsgLWkgWy1dPGlmbGFnPiBdIDxsZGlzYz4gPHRoaeG6v3RfYuG7iz5cbiIKKworI34gbXNnaWQgImxkYXR0YWNoIGZyb20gJXNcbiIKKyN+IG1zZ3N0ciAibGRhdHRhY2ggdOG7qyAlc1xuIgorCisjfiBtc2dpZCAiZXJyb3I6IHN0cmR1cCBmYWlsZWQiCisjfiBtc2dzdHIgImzhu5dpOiBzdHJkdXAga2jDtG5nIHRow6BuaCBjw7RuZyIKKworI34gbXNnaWQgImVycm9yOiBjYWxsb2MgZmFpbGVkIgorI34gbXNnc3RyICJs4buXaTogY2FsbG9jIGtow7RuZyB0aMOgbmggY8O0bmciCisKKyN+IG1zZ2lkICIiCisjfiAiQ1BVIGFyY2hpdGVjdHVyZSBpbmZvcm1hdGlvbiBoZWxwZXJcbiIKKyN+ICJcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgIHVzYWdlIGluZm9ybWF0aW9uXG4iCisjfiAiICAtcCwgLS1wYXJzZSAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0LlxuIgorI34gIiAgLXMsIC0tc3lzcm9vdCAgdXNlIHRoZSBkaXJlY3RvcnkgYXMgYSBuZXcgc3lzdGVtIHJvb3QuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJUcsOsbmggYuG7lSB0cuG7oyB0aMO0bmcgdGluIGtp4bq/biB0csO6YyBDUFVcbiIKKyN+ICJcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgIHRy4bujIGdpw7pwXG4iCisjfiAiICAtcCwgLS1wYXJzZSAgICBpbiByYSB0aGVvIMSR4buLbmggZOG6oW5nIGPDsyB0aOG7gyBwaMOibiB0w61jaCB0aGF5IGNobyDEkeG7i25oIGThuqFuZyBpbiDEkcaw4bujY1xuIgorI34gIiAgLXMsIC0tc3lzcm9vdCAgZMO5bmcgdGjGsCBt4bulYyBsw6BtIGfhu5FjIGjhu4cgdGjhu5FuZyBt4bubaVxuIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBVc2FnZTogYCVzIFtvcHRpb25zXVxuIgorI34gIlx0IC1tIDxtYXBmaWxlPiAgKGRlZmF1bHRzOiBgJXMnIGFuZFxuIgorI34gIlx0XHRcdFx0ICBgJXMnKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IGAlcycpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICBzZXQgdGhlIHByb2ZpbGluZyBtdWx0aXBsaWVyIHRvIDxtdWx0PlxuIgorI34gIlx0IC1pICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCisjfiAiXHQgLXYgICAgICAgICAgICBwcmludCB2ZXJib3NlIGRhdGFcbiIKKyN+ICJcdCAtYSAgICAgICAgICAgIHByaW50IGFsbCBzeW1ib2xzLCBldmVuIGlmIGNvdW50IGlzIDBcbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgaGlzdG9ncmFtLWJpbiBjb3VudHNcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorI34gIlx0IC1yICAgICAgICAgICAgcmVzZXQgYWxsIHRoZSBjb3VudGVycyAocm9vdCBvbmx5KVxuIgorI34gIlx0IC1uICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCisjfiAiXHQgLVYgICAgICAgICAgICBwcmludCB2ZXJzaW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIlczogQ8OhY2ggZMO5bmc6IOKAnCVzIFt0w7l5IGNo4buNbl1cbiIKKyN+ICJcdCAtbSA8dOG6rXAgdGluIHPGoSDEkeG7kz4gICht4bq3YyDEkeG7i25oOiDigJwlc+KAnSB2w6BcbiIKKyN+ICJcdFx0XHRcdCAg4oCcJXPigJ0uXG4iCisjfiAiXHQgLXAgPHByby1maWxlPiAobeG6t2MgxJHhu4tuaDog4oCcJXPigJ0uXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICDEkeG6t3QgdHLDrG5oIHPhu5EgbmjDom4gY+G7p2EgeMOhYyBs4bqtcCB0aMOgbmggPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBjaOG7iSBpbiByYSB0aMO0bmcgdGluIHbhu4EgYsaw4bubYyB0aOG7rVxuIgorI34gIlx0IC12ICAgICAgICAgICAgaW4gZOG7ryBsaeG7h3UgY2hpIHRp4bq/dFxuIgorI34gIlx0IC1hICAgICAgICAgICAgaW4gbeG7jWkga8O9IHThu7EsIGvhu4MgY+G6oyBu4bq/dSBz4buRIMSR4bq/bSBsw6AgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgaW4gcmEgc+G7kSDEkeG6v20gaGlzdG9ncmFtLWJpbiByacOqbmdcbiIKKyN+ICJcdCAtcyAgICAgICAgICAgIGluIHJhIHPhu5EgxJHhur9tIHJpw6puZyB0cm9uZyBow6BtXG4iCisjfiAiXHQgLXIgICAgICAgICAgICDEkeG6t3QgbOG6oWkgdOG6pXQgY+G6oyBz4buRIMSR4bq/bSAoY2jhu4kgcm9vdClcbiIKKyN+ICJcdCAtbiAgICAgICAgICAgIHThuq90IGLhu48gdmnhu4djIHThu7EgxJHhu5luZyB0w6xtIHJhIHRo4bupIHThu7EgYnl0ZVxuIgorI34gIlx0IC1WICAgICAgICAgICAgaW4gcmEgcGhpw6puIGLhuqNuIHbDoCB0aG/DoXRcbiIKKworI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJyZWFkcHJvZmlsZTogbOG7l2kgZ2hpICVzOiAlc1xuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZTogJXM6IG5nxrDhu51pIGTDuW5nIGzhuqFcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2U6ICVzOiBnacOhIHRy4buLIHNhaVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgaW50ZXJ2YWwgJXMgc2Vjb25kc1xuIgorI34gbXNnc3RyICIlczoga2hv4bqjbmcgY+G6pW0gJXMgZ2nDonlcbiIKKworI34gbXNnaWQgIiVzOiBpbGxlZ2FsIHRpbWVfdCB2YWx1ZSAlc1xuIgorI34gbXNnc3RyICIlczogZ2nDoSB0cuG7iyDigJx0aW1lX3TigJ0gY+G6pW0gJXNcbiIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gZXhlY3V0ZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAiJXM6IGtow7RuZyB0aOG7gyB0aOG7sWMgaGnhu4duICVzOiAlc1xuIgorCisjfiBtc2dpZCAicnRjIHJlYWQiCisjfiBtc2dzdHIgIsSR4buNYyBSVEMiCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgcHJvZ3JhbSBbYXJnIC4uLl1cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIGNoxrDGoW5nIHRyw6xuaCBbxJHhu5FpX3Phu5Eg4oCmXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyA8ZGV2aWNlPiBbIC1pIDxJUlE+IHwgLXQgPFRJTUU+IHwgLWMgPENIQVJTPiB8IC13IDxXQUlUPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkPDoWNoIGTDuW5nOiAlcyA8dGhp4bq/dCBi4buLPiBbIC1pIDxJUlE+IHwgLXQgPEdJ4bucPiB8IC1jIDxLw51fVOG7sD4gfCAtdyA8xJDhu6JJPiB8IFxuIgorI34gIiAgICAgICAgICAtYSBbb258b2ZmXSB8IC1vIFtvbnxvZmZdIHwgLUMgW29ufG9mZl0gfCAtcSBbb258b2ZmXSB8IC1zIHwgXG4iCisjfiAiICAgICAgICAgIC1UIFtvbnxvZmZdIF0gXHRcdChi4bqtdHx04bqvdClcbiIKKworI34gbXNnaWQgIm1hbGxvYyBlcnJvciIKKyN+IG1zZ3N0ciAibOG7l2kgbWFsbG9jIgorCisjfiBtc2dpZCAiY29sOiBiYWQgLWwgYXJndW1lbnQgJXMuXG4iCisjfiBtc2dzdHIgImNvbDogdGhhbSBz4buRIC1sIHNhaSAlcy5cbiIKKworI34gbXNnaWQgInVzYWdlOiBjb2wgWy1iZnB4XSBbLWwgbmxpbmVdXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiBjb2wgWy1iZnB4XSBbLWwgbmxpbmVdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtIF0gWyAtMiBdIFsgZmlsZSAuLi4gXVxuIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogJXMgWyAtIF0gWyAtMiBdIFsgdOG6rXAgdGluIOKApiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY29sdW1uIFstdHhdIFstYyBjb2x1bW5zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiBjb2x1bW4gWy10eF0gWy1jIGPDoWMtY+G7mXRdIFt04bqtcC10aW4g4oCmXVxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgZm10X2ZpbGVdIFstbiBsZW5ndGhdIFstcyBza2lwXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImhleGR1bXA6IFstYmNDZG92eF0gWy1lIGZtdF0gWy1mIHThuq1wdGluX2ZtdF0gWy1uIGNoaeG7gXVkw6BpXSBbLXMgbmjhuqN5cXVhXSBbdOG6rXB0aW4g4oCmXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFstZGZscGNzdV0gWytz4buRZMOybmcgfCArL3BhdHRlcm5dIHTDqm4xIHTDqm4yIOKAplxuIgorCisjfiBtc2dpZCAib2Q6IG9kKDEpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgZm9yIGhleGR1bXAoMSkuXG4iCisjfiBtc2dzdHIgIm9kOiBvZCgxKSBraMO0bmcgdMawxqFuZyB0aMOtY2ggY2hvIGhleGR1bXAoMSkuXG4iCisKKyN+IG1zZ2lkICJvZDogaGV4ZHVtcCgxKSBjb21wYXRpYmlsaXR5IGRvZXNuJ3Qgc3VwcG9ydCB0aGUgLSVjIG9wdGlvbiVzXG4iCisjfiBtc2dzdHIgIm9kOiB0w61uaCB0xrDGoW5nIHRow61jaCB24bubaSBoZXhkdW1wKDEpIGtow7RuZyBo4buXIHRy4bujIHTDuXkgY2jhu41uIC0lYyAlc1xuIgorCisjfiBtc2dpZCAiOyBzZWUgc3RyaW5ncygxKS4iCisjfiBtc2dzdHIgIjsgaMOjeSB4ZW0gc3RyaW5ncygxKS4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBjYW4ndCByZWFkICVzLlxuIgorI34gbXNnc3RyICJoZXhkdW1wOiBraMO0bmcgxJHhu41jIMSRxrDhu6NjICVzLlxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogbGluZSB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcDogZMOybmcgcXXDoSBkw6BpLlxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICJLaMO0bmcgxJHhu6cgYuG7mSBuaOG7m1xuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlcnNwYWNlIgorI34gbXNnc3RyICJraMO0bmcgdGjhu4MgY+G6pXAgcGjDoXQga2jDtG5nIGdpYW4gxJHhu4dtIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIkPDoWNoIGTDuW5nOiByZXYgW3Thuq1wdGluIOKApl1cbiIKKworI34gbXNnaWQgInVzYWdlOiB0YWlsZiBbLW4gTiB8IC1OXSBsb2dmaWxlIgorI34gbXNnc3RyICJDw6FjaCBkw7luZzogdGFpbGYgWy1uIE4gfCAtTl0gdOG6rXBfdGluX2doaV9sxrB1IgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLWkgXSBbIC10VGVybSBdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIFsgLWkgXSBbIC10VGVybSBdIHThuq1wX3RpbuKAplxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIHBow6JuIHBo4buRaSDEkcaw4bujYyBi4buZIMSR4buHbS5cbiIKKworI34gbXNnaWQgIk91dCBvZiBtZW1vcnkgd2hlbiBncm93aW5nIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAiS2jDtG5nIMSR4bunIGLhu5kgbmjhu5sga2hpIHTEg25nIHbDuW5nIMSR4buHbS5cbiIKKworI34gbXNnaWQgIkxpbnV4IGV4dDMiCisjfiBtc2dzdHIgIkxpbnV4IGV4dDMiCisKKyN+IG1zZ2lkICJMaW51eCBYRlMiCisjfiBtc2dzdHIgIkxpbnV4IFhGUyIKKworI34gbXNnaWQgIkxpbnV4IEpGUyIKKyN+IG1zZ3N0ciAiTGludXggSkZTIgorCisjfiBtc2dpZCAiTGludXggUmVpc2VyRlMiCisjfiBtc2dzdHIgIkxpbnV4IFJlaXNlckZTIgorCisjfiBtc2dpZCAiT1MvMiBIUEZTIgorI34gbXNnc3RyICJPUy8yIEhQRlMiCisKKyN+IG1zZ2lkICJPUy8yIElGUyIKKyN+IG1zZ3N0ciAiT1MvMiBJRlMiCisKKyN+IG1zZ2lkICJOVEZTIgorI34gbXNnc3RyICJOVEZTIgorCisjfiBtc2dpZCAiIgorI34gIiBhbmQgY2hhbmdlIGRpc3BsYXkgdW5pdHMgdG9cbiIKKyN+ICIgICAgICAgICBzZWN0b3JzIChjb21tYW5kICd1JykuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgdsOgIHRoYXkgxJHhu5VpIMSRxqFuIHbhu4sgaGnhu4NuIHRo4buLXG4iCisjfiAiXHRzYW5nIGN1bmcgdOG7qyAobOG7h25oIOKAnHXigJ0uLlxuIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBwcm9ncmFtbWU6IGAlcydcbiIKKyN+IG1zZ3N0ciAibOG7l2kgY2jhuqF5IGNoxrDGoW5nIHRyw6xuaDog4oCcJXPigJ1cbiIKKworI34gbXNnaWQgIm1vdW50OiBubyBtZWRpdW0gZm91bmQgb24gJXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW50OiBraMO0bmcgdMOsbSB0aOG6pXkgduG6rXQgY2jhu6lhIHRyw6puICVz4oCmIG7Dqm4gdGjhu60gbOG6oWlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJjaHJ0IC0gbWFuaXB1bGF0ZSByZWFsLXRpbWUgYXR0cmlidXRlcyBvZiBhIHByb2Nlc3MuXG4iCisjfiAiXG4iCisjfiAiU2V0IHBvbGljeTpcbiIKKyN+ICIgIGNocnQgW29wdGlvbnNdIDxwb2xpY3k+IDxwcmlvcml0eT4gezxwaWQ+IHwgPGNvbW1hbmQ+IFs8YXJnPiAuLi5dfVxuIgorI34gIlxuIgorI34gIkdldCBwb2xpY3k6XG4iCisjfiAiICBjaHJ0IFtvcHRpb25zXSB7PHBpZD4gfCA8Y29tbWFuZD4gWzxhcmc+IC4uLl19XG4iCisjfiAiXG4iCisjfiAiXG4iCisjfiAiU2NoZWR1bGluZyBwb2xpY2llczpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLXAgfCAtLXBpZCAgICAgICAgICAgb3BlcmF0ZSBvbiBleGlzdGluZyBnaXZlbiBwaWRcbiIKKyN+ICIgIC1tIHwgLS1tYXggICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJjaHJ0IOKAlCB0aGFvIHTDoWMgY8OhYyB0aHXhu5ljIHTDrW5oIHRo4budaSBnaWFuIHRo4bqtdCBj4bunYSBt4buZdCB0aeG6v24gdHLDrG5oLlxuIgorI34gIlxuIgorI34gIsSQ4bq3dCBjaMOtbmggc8OhY2g6XG4iCisjfiAiICBjaHJ0IFtjw6FjX3TDuXlfY2jhu41uXSA8Y2jDrW5oX3PDoWNoPiA8xrB1X3Rpw6puPiB7PHBpZD4gfCA8bOG7h25oPiBbPMSR4buRaV9z4buRPiDigKZdfVxuIgorI34gIlxuIgorI34gIkzhuqV5IGNow61uaCBzw6FjaDpcbiIKKyN+ICIgIGNocnQgW2PDoWNfdMO5eV9jaOG7jW5dIHs8cGlkPiB8IDxs4buHbmg+IFs8xJHhu5FpX3Phu5E+IOKApl19XG4iCisjfiAiXG4iCisjfiAiXG4iCisjfiAiQ2jDrW5oIHPDoWNoIMSR4buLbmggdGjhu51pOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgxJHhurd0IGNow61uaCBzw6FjaCB0aMOgbmggU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIMSR4bq3dCBjaMOtbmggc8OhY2ggdGjDoG5oIFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIMSR4bq3dCBjaMOtbmggc8OhY2ggdGjDoG5oIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIMSR4bq3dCBjaMOtbmggc8OhY2ggdGjDoG5oIFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICDEkeG6t3QgY2jDrW5oIHPDoWNoIHRow6BuaCBTQ0hFRF9SUiAobeG6t2MgxJHhu4tuaClcbiIKKyN+ICJcbiIKKyN+ICJUw7l5IGNo4buNbjpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGhp4buDbiB0aOG7iyB0cuG7oyBnacO6cCBuw6B5XG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICB0aGFvIHTDoWMgdHLDqm4gbcOjIHPhu5EgdGnhur9uIHRyw6xuaCAoUElEKSDEkcOjIMSRxrBhIHJhXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBoaeG7g24gdGjhu4sgbeG7qWMgxrB1IHRpw6puIGjhu6NwIGzhu4cgdOG7kWkgxJFhIHbDoCB04buRaSB0aGnhu4N1XG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBoaeG7g24gdGjhu4sgdGjDtG5nIHRpbiB0cuG6oW5nIHRow6FpXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICB4deG6pXQgdGjDtG5nIHRpbiBwaGnDqm4gYuG6o25cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgImN1cnJlbnQiCisjfiBtc2dzdHIgImhp4buHbiB04bqhaSIKKworI34gbXNnaWQgIm5ldyIKKyN+IG1zZ3N0ciAibeG7m2kiCisKKyN+IG1zZ2lkICJ1c2FnZSA6ICVzIC1hc21xIC10Y2x1cCBcbiIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6ICVzIC1hc21xIC10Y2x1cCBcbiIKKworI34gbXNnaWQgIlx0JXMgWy1zIC1tIC1xXSAtaSBpZFxuIgorI34gbXNnc3RyICJcdCVzIFstcyAtbSAtcV0gLWkgaWRcbiIKKworI34gbXNnaWQgIlx0JXMgLWggZm9yIGhlbHAuXG4iCisjfiBtc2dzdHIgIlx0JXMgLWggxJHhu4MgeGVtIHRy4bujIGdpw7pwLlxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIFNwZWNpZmljYXRpb246XG4iCisjfiAiXHQtbSA6IHNoYXJlZF9tZW1cbiIKKyN+ICJcdC1xIDogbWVzc2FnZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIsSQ4bq3YyDEkWnhu4NtIG5ndeG7k246XG4iCisjfiAiXHQtbSA6IG5ndeG7k25fY2hpYXPhurtcbiIKKyN+ICJcdC1xIDogdGlubmjhuq9uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHQtcyA6IHNlbWFwaG9yZXNcbiIKKyN+ICJcdC1hIDogYWxsIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXHQtcyA6IGPhu5l0IMSRw6huIGhp4buHdVxuIgorI34gIlx0LWEgOiB04bqldCBj4bqjICht4bq3YyDEkeG7i25oKVxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBGb3JtYXQ6XG4iCisjfiAiXHQtdCA6IHRpbWVcbiIKKyN+ICJcdC1wIDogcGlkXG4iCisjfiAiXHQtYyA6IGNyZWF0b3JcbiIKKyN+IG1zZ3N0ciAiIgorI34gIsSQ4buLbmggZOG6oW5nIGvhur90IHF14bqjIMSRxrBhIHJhOlxuIgorI34gIlx0LXQgOiB0aOG7nWkgZ2lhblxuIgorI34gIlx0LXAgOiBwaWRcbiIKKyN+ICJcdC1jIDogbmfGsOG7nWkgdOG6oW9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdC1sIDogbGltaXRzXG4iCisjfiAiXHQtdSA6IHN1bW1hcnlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx0LWwgOiBnaeG7m2kgaOG6oW5cbiIKKyN+ICJcdC11IDogdOG7lW5nIGvhur90XG4iCisKKyN+IG1zZ2lkICJlcnJvciBwYXJzZTogJXMiCisjfiBtc2dzdHIgInBow6JuIHTDrWNoIGzhu5dpOiAlcyIKKworI34gbXNnaWQgImVycm9yOiAvc3lzIGZpbGVzeXN0ZW0gaXMgbm90IGFjY2Vzc2FibGUuIgorI34gbXNnc3RyICJs4buXaTogaOG7hyB0aOG7kW5nIHThuq1wIHRpbiDigJwvc3lz4oCdIGtow7RuZyB0aOG7gyB0cnV5IGPhuq1wIMSRxrDhu6NjIgorCisjfiBtc2dpZCAidXNhZ2U6IHJkZXYgWyAtcnYgXSBbIC1vIE9GRlNFVCBdIFsgSU1BR0UgWyBWQUxVRSBbIE9GRlNFVCBdIF0gXSIKKyN+IG1zZ3N0ciAiQ8OhY2ggZMO5bmc6IHJkZXYgWyAtcnYgXSBbIC1vIELDmSBdIFsg4bqiTkggWyBHScOBX1RS4buKIFsgQsOZIF0gXSBdIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwICAob3IgcmRldiAvbGludXgsIGV0Yy4pIGRpc3BsYXlzIHRoZSBjdXJyZW50IFJPT1QgZGV2aWNlIgorI34gbXNnc3RyICIgIHJkZXYgL2Rldi9mZDAgIChob+G6t2MgcmRldiAvbGludXgsIHYuduKApikgaGnhu4NuIHRo4buLIHRoaeG6v3QgYuG7iyBST09UIChn4buRYykgaGnhu4duIHThuqFpIgorCisjfiBtc2dpZCAiICByZGV2IC9kZXYvZmQwIC9kZXYvaGRhMiAgICAgICAgIHNldHMgUk9PVCB0byAvZGV2L2hkYTIiCisjfiBtc2dzdHIgIiAgcmRldiAvZGV2L2ZkMCAvZGV2L2hkYTIgICAgICAgICDEkeG6t3QgUk9PVCAoZ+G7kWMpIHRow6BuaCAvZGV2L2hkYTIiCisKKyN+IG1zZ2lkICIgIHJkZXYgLVIgL2Rldi9mZDAgMSAgICAgICAgICAgICAgc2V0IHRoZSBST09URkxBR1MgKHJlYWRvbmx5IHN0YXR1cykiCisjfiBtc2dzdHIgIiAgcmRldiAtUiAvZGV2L2ZkMCAxICAgICAgICAgICAgICDEkeG6t3QgUk9PVEZMQUdTIFtjw6FjIGPhu50gZ+G7kWNdICh0cuG6oW5nIHRow6FpIGNo4buJLcSR4buNYykiCisKKyN+IG1zZ2lkICIgIHJkZXYgLXIgL2Rldi9mZDAgNjI3ICAgICAgICAgICAgc2V0IHRoZSBSQU1ESVNLIHNpemUiCisjfiBtc2dzdHIgIiAgcmRldiAtciAvZGV2L2ZkMCA2MjcgICAgICAgICAgICDEkeG6t3Qga8OtY2ggY+G7oSBSQU1ESVNLICjEkcSpYSBSQU0pIgorCisjfiBtc2dpZCAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgIHNldCB0aGUgYm9vdHVwIFZJREVPTU9ERSIKKyN+IG1zZ3N0ciAiICByZGV2IC12IC9kZXYvZmQwIDEgICAgICAgICAgICAgIMSR4bq3dCBjaOG6vyDEkeG7mSBWSURFT01PREUgKGNo4bq/IMSR4buZIOG6o25oIMSR4buZbmcpIGto4bufaSDEkeG7mW5nIgorCisjfiBtc2dpZCAiICByb290ZmxhZ3MgLi4uICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgcmRldiAtUiIKKyN+IG1zZ3N0ciAiICByb290ZmxhZ3Mg4oCmICAgICAgICAgICAgICAgICAgICAgZ2nhu5FuZyBuaMawIHJkZXYgLVIiCisKKyN+IG1zZ2lkICIgIHJhbXNpemUgLi4uICAgICAgICAgICAgICAgICAgICAgc2FtZSBhcyByZGV2IC1yIgorI34gbXNnc3RyICIgIHJhbXNpemUg4oCmICAgICAgICAgICAgICAgICAgICAgICBnaeG7kW5nIG5oxrAgcmRldiAtciIKKworI34gbXNnaWQgIiAgdmlkbW9kZSAuLi4gICAgICAgICAgICAgICAgICAgICBzYW1lIGFzIHJkZXYgLXYiCisjfiBtc2dzdHIgIiAgdmlkbW9kZSDigKYgICAgICAgICAgICAgICAgICAgICAgIGdp4buRbmcgbmjGsCByZGV2IC12IgorCisjfiBtc2dpZCAiTm90ZTogdmlkZW8gbW9kZXMgYXJlOiAtMz1Bc2ssIC0yPUV4dGVuZGVkLCAtMT1Ob3JtYWxWZ2EsIDE9a2V5MSwgMj1rZXkyLC4uLiIKKyN+IG1zZ3N0ciAiQ2jDuiDDvTogY2jhur8gxJHhu5kg4bqjbmggxJHhu5luZyBsw6A6IC0zPUjhu49pLCAtMj1N4bufIHLhu5luZywgLTE9VkdBIGNodeG6qW4sIDE9cGjDrW0xLCAyPXBow61tMizigKYiCisKKyN+IG1zZ2lkICIgICAgICB1c2UgLVIgMSB0byBtb3VudCByb290IHJlYWRvbmx5LCAtUiAwIGZvciByZWFkL3dyaXRlLiIKKyN+IG1zZ3N0ciAiICAgICAgaMOjeSBkw7luZyDigJwtUiAx4oCdIMSR4buDIGfhuq9uIGfhu5FjIGNo4buJLcSR4buNYywg4oCcLVIgMOKAnSDEkeG7gyDEkeG7jWMvZ2hpLiIKKworI34gbXNnaWQgIm1pc3NpbmcgY29tbWEiCisjfiBtc2dzdHIgInRoaeG6v3UgZOG6pXUgcGjhuql5IgpkaWZmIC0tZ2l0IGEvcG8vemhfQ04ucG8gYi9wby96aF9DTi5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjI2YzhjCi0tLSAvZGV2L251bGwKKysrIGIvcG8vemhfQ04ucG8KQEAgLTAsMCArMSwyMzU1NiBAQAorIyBDaGluZXNlIHNpbXBsaWZpZWQgdHJhbnNsYXRpb24gb2YgdXRpbC1saW51eC4KKyMgQ29weXJpZ2h0IChDKSAyMDA4LTIwMTYsIHV0aWwtbGludXgncyBhdXRob3JzLgorIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHNhbWUgbGljZW5zZSBhcyB0aGUgdXRpbC1saW51eCBwYWNrYWdlLgorIyBSYXkgV2FuZyA8d2FuZ2xlaTExMjNAZ21haWwuY29tPiwgMjAwOC4KKyMgV3lsbWVyIFdhbmcgPHdhbnRpbmdoYXJkQGdtYWlsLmNvbT4sIDIwMTIsIDIwMTMsIDIwMTQsIDIwMTUsIDIwMTYuCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4LTIuMjktcmMyXG4iCisiUmVwb3J0LU1zZ2lkLUJ1Z3MtVG86IHV0aWwtbGludXhAdmdlci5rZXJuZWwub3JnXG4iCisiUE9ULUNyZWF0aW9uLURhdGU6IDIwMTgtMDMtMjEgMTM6MTIrMDEwMFxuIgorIlBPLVJldmlzaW9uLURhdGU6IDIwMTYtMTEtMDcgMDU6MjUtMDUwMFxuIgorIkxhc3QtVHJhbnNsYXRvcjogV3lsbWVyIFdhbmcgPHdhbnRpbmdoYXJkQGdtYWlsLmNvbT5cbiIKKyJMYW5ndWFnZS1UZWFtOiBDaGluZXNlIChzaW1wbGlmaWVkKSA8aTE4bi16aEBnb29nbGVncm91cHMuY29tPlxuIgorIkxhbmd1YWdlOiB6aF9DTlxuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlgtQnVnczogUmVwb3J0IHRyYW5zbGF0aW9uIGVycm9ycyB0byB0aGUgTGFuZ3VhZ2UtVGVhbSBhZGRyZXNzLlxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MTsgcGx1cmFsPTA7XG4iCisiWC1HZW5lcmF0b3I6IGNyb3dkaW4uY29tXG4iCisiWC1Dcm93ZGluLVByb2plY3Q6IHV0aWwtbGludXhcbiIKKyJYLUNyb3dkaW4tTGFuZ3VhZ2U6IHpoLUNOXG4iCisiWC1Dcm93ZGluLUZpbGU6IHV0aWwtbGludXgtMi4yOS1yYzIuemhfQ04ucG9cbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxzdGFydD4gPGxlbmd0aD5cbiIKK21zZ3N0ciAiICVzIDzno4Hnm5jorr7lpIc+IDzliIbljLrlj7c+IDzotbfngrk+IDzplb/luqY+XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE5Cittc2dpZCAiVGVsbCB0aGUga2VybmVsIGFib3V0IHRoZSBleGlzdGVuY2Ugb2YgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICLpgJrnn6XlhoXmoLjvvIzlrZjlnKjmn5DkuKrmjIflrprliIbljLrjgIJcbiIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NTMgZGlzay11dGlscy9ibG9ja2Rldi5jOjI0NCBkaXNrLXV0aWxzL2RlbHBhcnQuYzo1MworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjEzMyBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzo5NSBtaXNjLXV0aWxzL2tpbGwuYzoyNjkKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjMxMSBtaXNjLXV0aWxzL3JlbmFtZS5jOjE5OSBtaXNjLXV0aWxzL3doZXJlaXMuYzo1MTgKKyM6IHN5cy11dGlscy9mbG9jay5jOjE3NSBzeXMtdXRpbHMvaXBjcm0uYzoxNjAgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzY4CisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTQ2IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI0MSBzeXMtdXRpbHMvdHVuZWxwLmM6MTUyCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg1OSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2MCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4NjkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAi5Y+C5pWw5LiN5aSfIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIuaJk+S4jeW8gCAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCittc2dpZCAiaW52YWxpZCBwYXJ0aXRpb24gbnVtYmVyIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoTliIbljLrlj7flj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYyCittc2dpZCAiaW52YWxpZCBzdGFydCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOi1t+eCuSDlj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorbXNnaWQgImludmFsaWQgbGVuZ3RoIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoTplb/luqblj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjY0Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24iCittc2dzdHIgIua3u+WKoOWIhuWMuuWksei0pSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjYzCittc2dpZCAic2V0IHJlYWQtb25seSIKK21zZ3N0ciAi6K6+572u5Y+q6K+7IgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzAKK21zZ2lkICJzZXQgcmVhZC13cml0ZSIKK21zZ3N0ciAi6K6+572u6K+75YaZIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NzYKK21zZ2lkICJnZXQgcmVhZC1vbmx5IgorbXNnc3RyICLojrflvpflj6ror7siCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4MgorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAi6I635Y+WIOW/veeVpembtuaVsOaNriDmlK/mjIHnirbmgIEiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo4OAorbXNnaWQgImdldCBsb2dpY2FsIGJsb2NrIChzZWN0b3IpIHNpemUiCittc2dzdHIgIuiOt+W+l+mAu+i+keWdlyjmiYfljLop5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAi6I635b6X54mp55CG5Z2XKOaJh+WMuinlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDAKK21zZ2lkICJnZXQgbWluaW11bSBJL08gc2l6ZSIKK21zZ3N0ciAi6I635b6X5pyA5bCPIEkvTyDlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMDYKK21zZ2lkICJnZXQgb3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAi6I635b6X5pyA5LyYIEkvTyDlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMTIKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAi6I635b6X5a+56b2Q5YGP56e75a2X6IqC5pWwIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICLojrflvpfmr4/mrKHor7fmsYLnmoTmnIDlpKfmiYfljLrmlbAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICLojrflvpflnZflpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIuiuvue9ruaJk+W8gOivpeWdl+iuvuWkh+eahOaWh+S7tuaPj+i/sOespueahOWdl+Wkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworbXNnaWQgImdldCAzMi1iaXQgc2VjdG9yIGNvdW50IChkZXByZWNhdGVkLCB1c2UgLS1nZXRzeikiCittc2dzdHIgIuiOt+W+lyAzMi1iaXQg5omH5Yy65pWw6YePKOW3suW6n+W8g++8jOivt+S9v+eUqCAtLWdldHN6KSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE0MworbXNnaWQgImdldCBzaXplIGluIGJ5dGVzIgorbXNnc3RyICLojrflvpflrZfoioLlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNTAKK21zZ2lkICJzZXQgcmVhZGFoZWFkIgorbXNnc3RyICLorr7nva4gcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTU2Cittc2dpZCAiZ2V0IHJlYWRhaGVhZCIKK21zZ3N0ciAi6I635Y+WIHJlYWRhaGVhZCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi6K6+572uIOaWh+S7tuezu+e7nyByZWFkYWhlYWQiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNjkKK21zZ2lkICJnZXQgZmlsZXN5c3RlbSByZWFkYWhlYWQiCittc2dzdHIgIuiOt+WPliDmlofku7bns7vnu58gcmVhZGFoZWFkIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTczCittc2dpZCAiZmx1c2ggYnVmZmVycyIKK21zZ3N0ciAi5Yi35paw57yT5a2YIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTc3Cittc2dpZCAicmVyZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi6YeN5paw6K+75Y+W5YiG5Yy66KGoIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyIgJTEkcyAtaHwtVlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTMKK21zZ2lkICJDYWxsIGJsb2NrIGRldmljZSBpb2N0bHMgZnJvbSB0aGUgY29tbWFuZCBsaW5lLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk2CisjLCBmdXp6eQorbXNnaWQgIiAtcSAgICAgICAgICAgICBxdWlldCBtb2RlIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAg5byA5ZCv5a6J6Z2Z5qih5byPXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTcKKyMsIGZ1enp5Cittc2dpZCAiIC12ICAgICAgICAgICAgIHZlcmJvc2UgbW9kZSIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIOivpuWwveaooeW8j1xuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICLlj6/nlKjnmoTliJfvvJpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICIgJS0yNXMgZ2V0IHNpemUgaW4gNTEyLWJ5dGUgc2VjdG9yc1xuIgorbXNnc3RyICIgJS0yNXMg6I635b6XIDUxMi3lrZfoioLmiYfljLrnmoTlpKflsI9cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKK21zZ2lkICJubyBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprorr7lpIciCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzAKK21zZ2lkICJjb3VsZCBub3QgZ2V0IGRldmljZSBzaXplIgorbXNnc3RyICLml6Dms5XlpJrlvpforr7lpIflpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAi5pyq55+l5ZG95LukOiAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAiJXMg6ZyA6KaB5LiA5Liq5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzg3IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgIiVzIGlvY3RsIOWHuumUmSIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIOWksei0pS5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIOaIkOWKny5cbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjQ3NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgc3lzZnMgaGFuZGxlciIKK21zZ3N0ciAiJXPvvJrliJ3lp4vljJYgc3lzZnMg5aSE55CG5Ye95pWw5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXPvvJror7vlj5bku44gc3lzZnMg6LW35aeL55qE5YiG5Yy65aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPICAgIFJBICAgU1NaICAgQlNaICAgU3RhcnRTZWMgICAgICAgICAgICBTaXplICAgRGV2aWNlXG4iCittc2dzdHIgIlJPICAgIFJBICAgU1NaICAgQlNaICAg5byA5aeL5q61ICAgICAgICAgICAgICDlpKflsI8gICDorr7lpIdcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAi5Y+v5ZCv5YqoIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi5byA5YWz5b2T5YmN5YiG5Yy655qEIOWPr+WQr+WKqCDmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIgorbXNnc3RyICLliKDpmaQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3Cittc2dpZCAiRGVsZXRlIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi5Yig6Zmk5b2T5YmN5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJSZXNpemUiCittc2dzdHIgIuWkp+WwjyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICLliKDpmaTlvZPliY3liIbljLoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiTmV3IgorbXNnc3RyICLmlrDlu7oiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICLlnKjliankvZnnqbrpl7TkuIrliJvlu7rmlrDliIbljLoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCIKK21zZ3N0ciAi6YCA5Ye6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorbXNnaWQgIlF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgY2hhbmdlcyIKK21zZ3N0ciAi6YCA5Ye656iL5bqP6ICM5LiN5YaZ5YWl5pu05pS5IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MSBsaWJmZGlzay9zcmMvYnNkLmM6NDM4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIyCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMSBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMiBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OQorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMjYKK21zZ2lkICJUeXBlIgorbXNnc3RyICLnsbvlnosiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkxCittc2dpZCAiQ2hhbmdlIHRoZSBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAi5pu05pS55YiG5Yy657G75Z6LIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIkhlbHAiCittc2dzdHIgIuW4ruWKqSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTIKK21zZ2lkICJQcmludCBoZWxwIHNjcmVlbiIKK21zZ3N0ciAi5omT5Y2w5biu5Yqp55WM6Z2iIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworbXNnaWQgIlNvcnQiCittc2dzdHIgIuaOkuW6jyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTMKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAi5L+u5aSN5YiG5Yy66aG65bqPIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICLlhpnlhaUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAi5bCG5YiG5Yy66KGo5YaZ5YWl56OB55uYKOWPr+iDveaNn+Wdj+aVsOaNrikiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1Cittc2dpZCAiRHVtcCIKK21zZ3N0ciAi6L2s5YKoIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLlsIbliIbljLrooajovazlgqjliLDkuI4gc2ZkaXNrIOWFvOWuueeahOiEmuacrOaWh+S7tiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzo2NDIgZGlzay11dGlscy9mZGlzay5jOjQ2MQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdW5zdXBwb3J0ZWQgZGlhbG9nIHR5cGUgJWQiCittc2dzdHIgIuWGhemDqOmUmeivr++8muS4jeaUr+aMgeeahOWvueivneexu+WeiyAlZCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChtb3VudGVkKSIKK21zZ3N0ciAiJXMgKOW3suaMgui9vSkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI5NworbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAi5YiG5Yy65ZCN77yaIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRDoiCittc2dzdHIgIuWIhuWMuiBVVUlE77yaIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMTYKK21zZ2lkICJQYXJ0aXRpb24gdHlwZToiCittc2dzdHIgIuWIhuWMuuexu+Wei++8miIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzIzCittc2dpZCAiQXR0cmlidXRlczoiCittc2dzdHIgIuWxnuaAp++8miIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzQ3Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAi5paH5Lu257O757ufIFVVSUTvvJoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorbXNnaWQgIkZpbGVzeXN0ZW0gTEFCRUw6IgorbXNnc3RyICLmlofku7bns7vnu5/moIfnrb7vvJoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2MAorbXNnaWQgIkZpbGVzeXN0ZW06IgorbXNnc3RyICLmlofku7bns7vnu5/vvJoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM2NQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICLmjILovb3ngrnvvJoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcwOAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrOiAlcyIKK21zZ3N0ciAi56OB55uY77yaJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAi5bC65a+477yaJXPvvIwlanUg5a2X6IqC77yMJWp1IOS4quaJh+WMuiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxNzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIuagh+etvu+8miVz77yM5qCH6K+G56ym77yaJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxNgorIywgYy1mb3JtYXQKK21zZ2lkICJMYWJlbDogJXMiCittc2dzdHIgIuagh+etvu+8miVzIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIuWQjumdouWPr+S7peWKoCBNKE1pQiksIEcoR2lCKSwgVChUaUIpIOaIliBTKOaJh+WMuinjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg3MgorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAi6K+35oyH5a6a5paH5Lu25aSn5bCP44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWluaW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIuacgOWwj+WwuuWvuOS4uiAlanUg5a2X6IqC44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIuacgOWkp+WwuuWvuOS4uiAlanUg5a2X6IqC44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MTAKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZS4iCittc2dzdHIgIuino+aekOWkp+Wwj+Wksei0peOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTY4Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLpgInmi6nliIbljLrnsbvlnosiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAxOCBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNDgKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIui+k+WFpeiEmuacrOaWh+S7tuWQje+8miIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5Cittc2dpZCAiVGhlIHNjcmlwdCBmaWxlIHdpbGwgYmUgYXBwbGllZCB0byBpbi1tZW1vcnkgcGFydGl0aW9uIHRhYmxlLiIKK21zZ3N0ciAi6K+l6ISa5pys5paH5Lu25bCG5bqU55So5LqO5YaF5a2Y5Lit55qE5YiG5Yy66KGo44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBvcGVuICVzIgorbXNnc3RyICLmiZPkuI3lvIAgJXMiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLop6PmnpDohJrmnKzmlofku7YgJXMg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMzIgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgJXMiCittc2dzdHIgIuW6lOeUqOiEmuacrOaWh+S7tiAlcyDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OQorbXNnaWQgIlRoZSBjdXJyZW50IGluLW1lbW9yeSBwYXJ0aXRpb24gdGFibGUgd2lsbCBiZSBkdW1wZWQgdG8gdGhlIGZpbGUuIgorbXNnc3RyICLlvZPliY3nmoTlhoXlrZjkuK3liIbljLrooajlsIbovazlgqjliLDor6Xmlofku7bkuK3jgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA1NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MTIKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIuWIhumFjeiEmuacrOWkhOeQhueoi+W6j+Wksei0pSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZGlzayBsYXlvdXQgaW50byBzY3JpcHQuIgorbXNnc3RyICLlsIbno4Hnm5jluIPlsYDor7vlhaXohJrmnKzlh7rplJnjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA3NworbXNnaWQgIkRpc2sgbGF5b3V0IHN1Y2Nlc3NmdWxseSBkdW1wZWQuIgorbXNnc3RyICLmiJDlip/ovazlgqjkuobno4Hnm5jluIPlsYDjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA4MCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIHNjcmlwdCAlcyIKK21zZ3N0ciAi5YaZ6ISa5pys5paH5Lu2ICVzIOWksei0pSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE2Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIumAieaLqeagh+etvuexu+WeiyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTE5IGRpc2stdXRpbHMvZmRpc2suYzoxMDc0IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4OAorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLorr7lpIfkuI3ljIXlkKvlj6/or4bliKvnmoTliIbljLrooajjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjEyNworbXNnaWQgIlNlbGVjdCBhIHR5cGUgdG8gY3JlYXRlIGEgbmV3IGxhYmVsIG9yIHByZXNzICdMJyB0byBsb2FkIHNjcmlwdCBmaWxlLiIKK21zZ3N0ciAi6YCJ5oup5LiA56eN57G75Z6L5p2l5Yib5bu65paw5qCH562+77yM5oiW5oyJ4oCcTOKAneWKoOi9veiEmuacrOaWh+S7tuOAgiIKKworIyDku6XkuIvkuInlj6Xov57otK/vvIzkuIDotbfnv7vor5EKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorbXNnaWQgIlRoaXMgaXMgY2ZkaXNrLCBhIGN1cnNlcy1iYXNlZCBkaXNrIHBhcnRpdGlvbmluZyBwcm9ncmFtLiIKK21zZ3N0ciAi6L+Z5pivIGNmZGlza++8jOS4gOasvuWfuuS6jiBjdXJzZXMg55qE56OB55uY5YiG5Yy656iL5bqP77yMIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzcKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAi5Y+v5Lul5Yib5bu644CB5Yig6Zmk5ZKM5L+u5pS55Z2X6K6+5aSH5LiK55qE5YiG5Yy644CCIgorCisjIOS7peS4i+S4pOadoeazqOaEj+Wvuem9kAorIzogZGlzay11dGlscy9jZmRpc2suYzoyMTc5Cittc2dpZCAiQ29tbWFuZCAgICAgIE1lYW5pbmciCittc2dzdHIgIuWRveS7pCAgICAgICAgIOaEj+S5iSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgwCittc2dpZCAiLS0tLS0tLSAgICAgIC0tLS0tLS0iCittc2dzdHIgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODEKK21zZ2lkICIgIGIgICAgICAgICAgVG9nZ2xlIGJvb3RhYmxlIGZsYWcgb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGIgICAgICAgICAg5YiH5o2i5b2T5YmN5YiG5Yy655qEIOWPr+WQr+WKqCDmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MgorbXNnaWQgIiAgZCAgICAgICAgICBEZWxldGUgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICIgIGQgICAgICAgICAg5Yig6Zmk5b2T5YmN5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODMKK21zZ2lkICIgIGggICAgICAgICAgUHJpbnQgdGhpcyBzY3JlZW4iCittc2dzdHIgIiAgaCAgICAgICAgICDmiZPljbDmraTlsY/luZUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NAorbXNnaWQgIiAgbiAgICAgICAgICBDcmVhdGUgbmV3IHBhcnRpdGlvbiBmcm9tIGZyZWUgc3BhY2UiCittc2dzdHIgIiAgbiAgICAgICAgICDku47nqbrpl7Lnqbrpl7TliJvlu7rmlrDliIbljLoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NQorbXNnaWQgIiAgcSAgICAgICAgICBRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiICBxICAgICAgICAgIOmAgOWHuueoi+W6j+S9huS4jeWGmeWFpeWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg2Cittc2dpZCAiICBzICAgICAgICAgIEZpeCBwYXJ0aXRpb25zIG9yZGVyIChvbmx5IHdoZW4gaW4gZGlzYXJyYXkpIgorbXNnc3RyICIgIHMgICAgICAgICAg5L+u5aSN5YiG5Yy66aG65bqPKOS7heejgeebmOmYteWIlykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4NworbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAg5pu05pS55YiG5Yy657G75Z6LIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiICB1ICAgICAgICAgIOWwhuejgeebmOW4g+WxgOi9rOWCqOWIsOWFvOWuuSBzZmRpc2sg55qE6ISa5pys5paH5Lu2IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKK21zZ2lkICIgIFcgICAgICAgICAgV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHlvdSBtdXN0IGVudGVyIHVwcGVyY2FzZSBXKTsiCittc2dzdHIgIiAgVyAgICAgICAgICDlsIbliIbljLrooajlhpnlhaXno4Hnm5go5b+F6aG76L6T5YWl5aSn5YaZIFcp77ybIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTAKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAg55Sx5LqO6L+Z5Y+v6IO956C05Z2P56OB55uY5LiK55qE5pWw5o2u77yM5oKo5b+F6aG7IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTEKK21zZ2lkICIgICAgICAgICAgICAgICBjb25maXJtIG9yIGRlbnkgdGhlIHdyaXRlIGJ5IGVudGVyaW5nICd5ZXMnIG9yICdubyciCittc2dzdHIgIiAgICAgICAgICAgICDpgJrov4fovpPlhaXigJx5ZXPigJ3miJbigJxub+KAneadpeehruiupOaIluaLkue7nSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCittc2dpZCAiICB4ICAgICAgICAgIERpc3BsYXkvaGlkZSBleHRyYSBpbmZvcm1hdGlvbiBhYm91dCBhIHBhcnRpdGlvbiIKK21zZ3N0ciAiICB4ICAgICAgICAgIOaYvuekui/pmpDol4/liIbljLrnmoTpop3lpJbkv6Hmga8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICLkuIrnrq3lpLQgICAgICAg5YWJ5qCH56e75Yiw5LiK5LiA5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICLkuIvnrq3lpLQgICAgICAg5YWJ5qCH56e75Yiw5LiL5LiA5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKK21zZ2lkICJMZWZ0IEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIHByZXZpb3VzIG1lbnUgaXRlbSIKK21zZ3N0ciAi5LiK566t5aS0ICAgICAgIOWFieagh+enu+WIsOS4iuS4gOiPnOWNlemhuSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk2Cittc2dpZCAiUmlnaHQgQXJyb3cgIE1vdmUgY3Vyc29yIHRvIHRoZSBuZXh0IG1lbnUgaXRlbSIKK21zZ3N0ciAi5LiL566t5aS0ICAgICAgIOWFieagh+enu+WIsOS4i+S4gOiPnOWNlemhuSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk4Cittc2dpZCAiTm90ZTogQWxsIG9mIHRoZSBjb21tYW5kcyBjYW4gYmUgZW50ZXJlZCB3aXRoIGVpdGhlciB1cHBlciBvciBsb3dlciIKK21zZ3N0ciAi5rOo77ya5omA5pyJ5ZG95Luk5Z2H5Y+v5Lul5aSn5YaZ5oiW5bCP5YaZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTkKK21zZ2lkICJjYXNlIGxldHRlcnMgKGV4Y2VwdCBmb3IgV3JpdGUpLiIKK21zZ3N0ciAi5a2X5q+N6L6T5YWlKOmZpOS6hiDlhpnlhaUp44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIyMDEKK21zZ2lkICJVc2UgbHNibGsoOCkgb3IgcGFydHgoOCkgdG8gc2VlIG1vcmUgZGV0YWlscyBhYm91dCB0aGUgZGV2aWNlLiIKK21zZ3N0ciAi5L2/55SoIGxzYmxrKDgpIOaIliBwYXJ0eCg4KSDkuobop6PmnInlhbPno4Hnm5jnmoTmm7TlpJrnu4boioLjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKK21zZ2lkICJQcmVzcyBhIGtleSB0byBjb250aW51ZS4iCittc2dzdHIgIuaMieS4i+S4gOS4qumUrue7p+e7reOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMjk3Cittc2dpZCAiQ291bGQgbm90IHRvZ2dsZSB0aGUgZmxhZy4iCittc2dzdHIgIuaXoOazleWIh+aNouagh+W/l+OAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzA3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBkZWxldGUgcGFydGl0aW9uICV6dS4iCittc2dzdHIgIuaXoOazleWIoOmZpOWIhuWMuiAlenXjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwOSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBoYXMgYmVlbiBkZWxldGVkLiIKK21zZ3N0ciAi5YiG5Yy6ICV6dSDlt7LliKDpmaTjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMzMAorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIuWIhuWMuuWkp+Wwj++8miIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzcxCisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi5bey5pu05pS55YiG5Yy6ICV6dSDnmoTnsbvlnovjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIuWIhuWMuiAlenUg55qE57G75Z6L5pyq5pu05pS544CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIzOTQKKyMsIGZ1enp5Cittc2dpZCAiTmV3IHNpemU6ICIKK21zZ3N0ciAi5pawIHNoZWxsIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgcmVzaXplZC4iCittc2dzdHIgIiVz77ya5bey6LCD5pW05YiG5Yy6ICMlZCDnmoTlpKflsI9cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDI3IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0MyBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA2MworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTkxCittc2dpZCAiRGV2aWNlIGlzIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUuIgorbXNnc3RyICLorr7lpIfku6Xlj6ror7vmlrnlvI/miZPlvIDjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzMgorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAi5oKo56Gu5a6a5oOz5bCG5YiG5Yy66KGo5YaZ5YWl56OB55uY5ZCX77yfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICLovpPlhaXigJx5ZXPigJ3miJbigJxub+KAneaIluaMiSBFU0Mg5Y+W5raI5a+56K+d5qGG44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMDkgc3lzLXV0aWxzL2xzY3B1LmM6MTQzNgorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NiBzeXMtdXRpbHMvbHNtZW0uYzoyNjgKK21zZ2lkICJ5ZXMiCittc2dzdHIgIuaYryIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQwCittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIuacquWwhuWIhuWMuuihqOWGmeWFpeejgeebmOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1Cittc2dpZCAiRmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbC4iCittc2dzdHIgIuWGmeejgeebmOagh+etvuWksei0peOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorbXNnaWQgIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIuWIhuWMuuihqOW3suiwg+aVtOOAgiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDc0IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjU0NQorbXNnaWQgIk5vdGUgdGhhdCBwYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIgbm93LiIKK21zZ3N0ciAi5rOo5oSP77yM546w5Zyo5YiG5Yy66KGo6K6w5b2V5rKh5pyJ5oyJ56OB55uY6aG65bqP44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmU7IGl0IHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICLorr7lpIflt7LljIXlkKvkuIDkuKogJXMg562+5ZCN77yb5YaZ5YWl5ZG95Luk5Lya5bCG5YW256e76Zmk44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MjIKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGRpc2tsYWJlbCIKK21zZ3N0ciAi5Yib5bu65paw56OB55uY5qCH562+5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MzAKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb25zIgorbXNnc3RyICLor7vliIbljLrlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYyOQorIywgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlMSRzIFvpgInpobldIDzno4Hnm5g+XG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzMiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODA4IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0MworbXNnaWQgIkRpc3BsYXkgb3IgbWFuaXB1bGF0ZSBhIGRpc2sgcGFydGl0aW9uIHRhYmxlLlxuIgorbXNnc3RyICLmmL7npLrmiJbmk43kvZzno4Hnm5jliIbljLrooajjgIJcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM1Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz085L2V5pe2Pl0gICAgIOW9qeiJsui+k+WHuihhdXRv6Ieq5Yqo77yMYWx3YXlz5oC75piv5oiWbmV2ZXLku47kuI0pXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjYzOAorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAteiwgLS16ZXJvICAgICAgICAgICAgICDku6XnqbrliIbljLrooajlvIDlp4tcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjc2IGRpc2stdXRpbHMvZmRpc2suYzo5NTAgZGlzay11dGlscy9zZmRpc2suYzoyMTIwCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQyOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDEwIHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNAorbXNnaWQgInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiCittc2dzdHIgIuS4jeaUr+aMgeeahOminOiJsuaooeW8jyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjk2IGRpc2stdXRpbHMvZmRpc2suYzo4ODggZGlzay11dGlscy9zZmRpc2suYzoyMjQKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAi5YiG6YWNIGxpYmZkaXNrIOeOr+Wigyhjb250ZXh0KeWksei0pSIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA856OB55uY6K6+5aSHPiA85YiG5Yy65Y+3PlxuIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCB0byBmb3JnZXQgYWJvdXQgYSBzcGVjaWZpZWQgcGFydGl0aW9uLlxuIgorbXNnc3RyICLpgJrnn6XlhoXmoLjlv5jorrDmn5DkuKrnibnlrprnmoTliIbljLrjgIJcbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6NjMKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAi56e76Zmk5YiG5Yy65aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICLmraPlnKjmoLzlvI/ljJYgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjY4IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG9uZVxuIgorbXNnc3RyICLlrozmiJBcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlZlcmlmeWluZyAuLi4gIgorbXNnc3RyICLmraPlnKjpqozor4EgLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjEwOAorbXNnaWQgIlJlYWQ6ICIKK21zZ3N0ciAi6K+7OiAiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJvYmxlbSByZWFkaW5nIHRyYWNrL2hlYWQgJXUvJXUsIGV4cGVjdGVkICVkLCByZWFkICVkXG4iCittc2dzdHIgIuivu+ejgemBky/no4HlpLQgJXUvJXUg5pe25Ye66Zeu6aKYLCDmnJ/mnJsgJWQsIOivu+WPliAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisi56OB6YGTL+ejgeWktCAldS8ldSDmnInlnY/mlbDmja5cbiIKKyLlsIbnu6fnu60gLi4uICIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA86K6+5aSHPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTQ5Cittc2dpZCAiRG8gYSBsb3ctbGV2ZWwgZm9ybWF0dGluZyBvZiBhIGZsb3BweSBkaXNrLlxuIgorbXNnc3RyICLlr7nova/nm5jov5vooYzkvY7nuqfmoLzlvI/ljJbjgIJcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE1MgorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWYsIC0tZnJvbSA8Tj4gICAg5LuO56OB6YGTIE4g5byA5aeLKOm7mOiupCAwKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUzCittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC10LCAtLXRvIDxOPiAgICAgIOWcqOejgemBkyBOIOWBnOatolxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICDlsJ3or5Xkv67lpI3lnKjpqozor4Hml7blpLHotKXnmoTno4HpgZNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAo5pyA5aSa5bCd6K+VIE4g5qyhKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiAtbiwgLS1uby12ZXJpZnkgICDnpoHmraLmoLzlvI/ljJblkI7nmoTpqozor4FcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSBmcm9tIgorbXNnc3RyICLml6DmlYjlj4LmlbAgLSBmcm9tIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTk4Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICLml6DmlYjlj4LmlbAgLSB0byIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgLSByZXBhaXIiCittc2dzdHIgIuaXoOaViOWPguaVsCAtIHJlcGFpciIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTQ4CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzcKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc5NworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODIxIGRpc2stdXRpbHMvbWtzd2FwLmM6MjQzIGRpc2stdXRpbHMvcGFydHguYzo5NTEKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODggbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzcgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NSBzeXMtdXRpbHMvYmxrem9uZS5jOjk5CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5NyBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjAKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo3OSBzeXMtdXRpbHMvbnNlbnRlci5jOjE2NCBzeXMtdXRpbHMvbnNlbnRlci5jOjE2OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUyMyBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5NAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTM3IHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3RhdCBvZiAlcyBmYWlsZWQiCittc2dzdHIgIuWvuSAlcyBzdGF0IOWksei0pSIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVz77ya5LiN5piv5LiA5Liq5Z2X6K6+5aSHIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjMxCittc2dpZCAiY291bGQgbm90IGRldGVybWluZSBjdXJyZW50IGZvcm1hdCB0eXBlIgorbXNnc3RyICLkuI3og73noa7lrprlvZPliY3moLzlvI/nsbvlnosiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMtc2lkZWQsICVkIHRyYWNrcywgJWQgc2VjL3RyYWNrLiBUb3RhbCBjYXBhY2l0eSAlZCBrQi5cbiIKK21zZ3N0ciAiJXMt6Z2iLCAlZCDno4HpgZMsICVkIOenki/no4HpgZMuIOaAu+WuuemHjyAlZCBrQi5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAi5Y+M6Z2iIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICLljZXpnaIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIueUqOaIt+WumuS5ieeahOi1t+Wni+ejgemBk+i2heWHuuS6huWqkuS9k+eahOacgOWkp+aMh+WumuWAvCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIueUqOaIt+WumuS5ieeahOe7k+adn+ejgemBk+i2heWHuuS6huWqkuS9k+eahOacgOWkp+aMh+WumuWAvCIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICLnlKjmiLflrprkuYnnmoTotbflp4vno4HpgZPotoXov4fkuoblrprkuYnnmoTnu4jmraLno4HpgZMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCittc2dpZCAiY2xvc2UgZmFpbGVkIgorbXNnc3RyICLlhbPpl63lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0IChkZWZhdWx0ICVjKTogIgorbXNnc3RyICLpgInmi6kgKOm7mOiupCAlYynvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIuWwhuS9v+eUqOm7mOiupOWbnuW6lCAlY+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIyMiBkaXNrLXV0aWxzL2ZkaXNrLmM6Mjk2IGRpc2stdXRpbHMvZmRpc2suYzozNzEKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjQxIGxpYmZkaXNrL3NyYy9ncHQuYzoyNDY5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi5YC86LaF5Ye66IyD5Zu044CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCVz77yM6buY6K6kICVjKe+8miIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1NCBkaXNrLXV0aWxzL2ZkaXNrLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICglcywg6buY6K6kICAlPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJWMtJWPvvIzpu5jorqTkuLogJWMp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjYzIGRpc2stdXRpbHMvZmRpc2suYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Piwg6buY6K6kICU8UFJJdTY0Pik6ICIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJWMtJWMpOiAiCittc2dzdHIgIiVzICglYy0lYynvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjkgZGlzay11dGlscy9mZGlzay5jOjMyOAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoJTxQUkl1NjQ+LSU8UFJJdTY0Pik6ICIKK21zZ3N0ciAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4pOiAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzggZGlzay11dGlscy9zZmRpc2suYzoxOTgKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICLmmK9bWV0v5ZCmW05d77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDc5Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAiSGV4IOS7o+eggSjovpPlhaUgTCDliJflh7rmiYDmnInku6PnoIEp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCittc2dpZCAiUGFydGl0aW9uIHR5cGUgKHR5cGUgTCB0byBsaXN0IGFsbCB0eXBlcyk6ICIKK21zZ3N0ciAi5YiG5Yy657G75Z6LKOi+k+WFpSBMIOWIl+WHuuaJgOacieexu+WeiynvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODIKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICLlt7Lorr7nva4gRE9TIOWFvOWuueaAp+agh+W/lyjlt7Llup/lvIPvvIEpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NTgzCittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1Mg5YW85a655oCn5qCH5b+X5pyq6K6+572uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjA0IGRpc2stdXRpbHMvZmRpc2suYzo2NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICLliIbljLogJXp1IOi/mOS4jeWtmOWcqO+8gSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYwOSBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE4IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAzCittc2dpZCAiVW5rbm93biIKK21zZ3N0ciAi5pyq55+lIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNoYW5nZWQgdHlwZSBvZiBwYXJ0aXRpb24gJyVzJyB0byAnJXMnLiIKK21zZ3N0ciAi5bey5bCG5YiG5Yy64oCcJXPigJ3nmoTnsbvlnovmm7TmlLnkuLrigJwlc+KAneOAgiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgYy1mb3JtYXQKK21zZ2lkICJUeXBlIG9mIHBhcnRpdGlvbiAlenUgaXMgdW5jaGFuZ2VkOiAlcy4iCittc2dzdHIgIuWIhuWMuiAlenUg55qE57G75Z6L5pyq5pu05pS577yaJXPjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTE1czogJXMiCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorIlxuIgorIiVzOiDlgY/np7sgPSAlPFBSSXU2ND4sIOWkp+WwjyA9ICV6dSDlrZfoioLjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjMKK21zZ2lkICJjYW5ub3Qgc2VlayIKK21zZ3N0ciAi5peg5rOV5a6a5L2NIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzI4Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIuS4jeiDveivuyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4Cittc2dpZCAiRmlyc3Qgc2VjdG9yIgorbXNnc3RyICLnrKzkuIDkuKrmiYfljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMiCittc2dzdHIgIuWvuSAlcyDov5vooYwgQkxLR0VUU0laRSBpb2N0bCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3ODYgZGlzay11dGlscy9zZmRpc2suYzoxNDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLiIKK21zZ3N0ciAi5YaZ5YWl5ZG95Luk5bCG56e76Zmk6K+l562+5ZCN44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICLlvLrng4jlu7rorq7mgqjkvb/nlKggd2lwZWZzKDgp5p2l5pOm6Zmk6K+l6K6+5aSH77yM5Lul6YG/5YWN5r2c5Zyo55qE5Yay56qB44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisiICUxJHMgW+mAiemhuV0gPOejgeebmD4gICAgICAgICDmm7TmlLnliIbljLrooahcbiIKKyIgJTEkcyBb6YCJ6aG5XSAtbCBbPOejgeebmD5dICAgICDliJflh7rliIbljLrooahcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMQorbXNnaWQgIiAtYiwgLS1zZWN0b3Itc2l6ZSA8c2l6ZT4gICAgICBwaHlzaWNhbCBhbmQgbG9naWNhbCBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9ycy1zaXplIDzlpKflsI8+ICAgICDmmL7npLrmiYfljLrorqHmlbDlkozlpKflsI9cbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICDliJvlu7rmlrDmoIfnrb7ml7bkuI3opoHmk6bpmaQgYm9vdGJpdHMgXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTMKK21zZ2lkICIgLWMsIC0tY29tcGF0aWJpbGl0eVs9PG1vZGU+XSAgbW9kZSBpcyAnZG9zJyBvciAnbm9uZG9zJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbXBhdGliaWxpdHlbPTzmqKHlvI8+XSAg5qih5byP77yM5Li64oCcZG9z4oCd5oiW4oCcbm9uZG9z4oCdKOm7mOiupClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PHdoZW4+XSAgICAgICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz085pe25py6Pl0gICAgICAgICAg5b2p6Imy6L6T5Ye6KGF1dG8sIGFsd2F5cyDmiJYgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTcKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgICAgICDmmL7npLrliIbljLrlubbpgIDlh7pcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOAorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgICAgICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzliJfooag+ICAgICAgICAgICDovpPlh7rliJdcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxOQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGUgPOexu+Weiz4gICAgICAgICAgICAg5Y+q6K+G5Yir5oyH5a6a55qE5YiG5Yy66KGo57G75Z6LXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjAKK21zZ2lkICIgLXUsIC0tdW5pdHNbPTx1bml0Pl0gICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5pdHNbPTzljZXkvY0+XSAgICAgICAgICDmmL7npLrljZXkvY3vvIzigJxjeWxpbmRlcnPigJ3mn7HpnaLmiJbigJxzZWN0b3Jz4oCd5omH5Yy6KOm7mOiupClcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyMQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICDku6UgNTEyLeWtl+iKguaJh+WMuuaYvuekuuiuvuWkh+Wkp+Wwj1vlt7Llup/lvINdXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjIKK21zZ2lkICIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgICAgICDku6XlrZfoioLkuLrljZXkvY3ogIzpnZ7mmJPor7vnmoTmoLzlvI/mnaXmiZPljbAgU0laRVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIzCittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA85qih5byPPiAgICAgICAgICAgICDmk6bpmaTnrb7lkI0oYXV0bywgYWx3YXlzIOaIliBuZXZlcilcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODYKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1XLCAtLXdpcGUtcGFydGl0aW9ucyA85qih5byPPiAg5pOm6Zmk5paw5YiG5Yy655qE562+5ZCNKGF1dG8sIGFsd2F5cyDmiJYgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjcKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgLUMsIC0tY3lsaW5kZXJzIDzmlbDlrZc+ICAgICAgICDmjIflrprmn7HpnaLmlbBcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOAorbXNnaWQgIiAtSCwgLS1oZWFkcyA8bnVtYmVyPiAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKK21zZ3N0ciAiIC1ILCAtLWhlYWRzIDzmlbDlrZc+ICAgICAgICAgICAg5oyH5a6a56OB5aS05pWwXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIiAtUywgLS1zZWN0b3JzIDzmlbDlrZc+ICAgICAgICAgIOaMh+Wumuavj+adoeejgemBk+eahOaJh+WMuuaVsFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworbXNnaWQgImludmFsaWQgc2VjdG9yIHNpemUgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDmiYfljLrlpKflsI8g5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTEwCittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDmn7HpnaLmlbAg5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTIyCittc2dpZCAibm90IGZvdW5kIERPUyBsYWJlbCBkcml2ZXIiCittc2dzdHIgIuacquaJvuWIsCBET1Mg5qCH562+6amx5YqoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gY29tcGF0aWJpbGl0eSBtb2RlICclcyciCittc2dzdHIgIuacquefpeWFvOWuueaooeW8j+KAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTM1Cittc2dpZCAiaW52YWxpZCBoZWFkcyBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOejgeWktOaVsCDlj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKK21zZ2lkICJpbnZhbGlkIHNlY3RvcnMgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDmiYfljLrmlbAg5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTY3CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIuS4jeaUr+aMgeeahOejgeebmOagh+etvu+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTc1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQiCittc2dzdHIgIuS4jeaUr+aMgeeahOWNleS9jeKAnCVj4oCdIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKK21zZ2lkICJ1bnN1cHBvcnRlZCB3aXBlIG1vZGUiCittc2dzdHIgIuS4jeaUr+aMgeeahOaTpumZpOaooeW8jyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMDIKK21zZ2lkICJUaGUgZGV2aWNlIHByb3BlcnRpZXMgKHNlY3RvciBzaXplIGFuZCBnZW9tZXRyeSkgc2hvdWxkIGJlIHVzZWQgd2l0aCBvbmUgc3BlY2lmaWVkIGRldmljZSBvbmx5LiIKK21zZ3N0ciAi6K6+5aSH5bGe5oCnKOaJh+WMuuWkp+Wwj+WSjOWHoOS9leWxnuaApynlj6rog73nlKjkuo7mn5DkuKrmjIflrprnmoTorr7lpIfjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDMzIGRpc2stdXRpbHMvZmRpc2suYzoxMDQ4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2OTUKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxOTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc4NworIzogZGlzay11dGlscy9wYXJ0eC5jOjk2NyBkaXNrLXV0aWxzL3Jhdy5jOjEzNyBkaXNrLXV0aWxzL3Jhdy5jOjE1MAorIzogZGlzay11dGlscy9yYXcuYzoxNjIgZGlzay11dGlscy9yYXcuYzoyMDMgbWlzYy11dGlscy9jYWwuYzo1MjAKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NTggbWlzYy11dGlscy9sb29rLmM6MTUwIG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU3MworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NTg0IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjU5NSBtaXNjLXV0aWxzL3doZXJlaXMuYzo2MzcKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUwNCBzY2hlZHV0aWxzL2lvbmljZS5jOjI2MiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxODkKKyM6IHN5cy11dGlscy9jaGNwdS5jOjM0NCBzeXMtdXRpbHMvY2htZW0uYzo0MTkgc3lzLXV0aWxzL2RtZXNnLmM6MTQ2OQorIzogc3lzLXV0aWxzL2lwY21rLmM6MTM1IHN5cy11dGlscy9sZGF0dGFjaC5jOjMyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4OAorIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyNSBzeXMtdXRpbHMvbHNtZW0uYzo2Mjggc3lzLXV0aWxzL21vdW50LmM6Njk4CisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MTEgc3lzLXV0aWxzL21vdW50LmM6NzgwIHN5cy11dGlscy9tb3VudHBvaW50LmM6MTgxCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjcyIHN5cy11dGlscy9zd2Fwb2ZmLmM6MjMwIHN5cy11dGlscy9zd2Fwb24uYzo5ODgKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1MCBzeXMtdXRpbHMvdW1vdW50LmM6NTI4IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNzYKKyM6IHRleHQtdXRpbHMvY29sLmM6MjMzIHRleHQtdXRpbHMvbW9yZS5jOjMzNworIywgZnV6enkKK21zZ2lkICJiYWQgdXNhZ2UiCittc2dzdHIgIumUmeivr+WAvCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VsY29tZSB0byBmZGlzayAoJXMpLiIKK21zZ3N0ciAi5qyi6L+O5L2/55SoIGZkaXNrICglcynjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorbXNnaWQgIiIKKyJDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uXG4iCisiQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKyLmm7TmlLnlsIblgZznlZnlnKjlhoXlrZjkuK3vvIznm7TliLDmgqjlhrPlrprlsIbmm7TmlLnlhpnlhaXno4Hnm5jjgIJcbiIKKyLkvb/nlKjlhpnlhaXlkb3ku6TliY3or7fkuInmgJ3jgIJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAi5qOA5rWL5Yiw5re35ZCIIEdQVOOAguaCqOmcgOimgeaJi+WKqOWQjOatpea3t+WQiCBNQlIgKOeUqOS4k+WutuWRveS7pOKAnE3igJ0pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgdHlwZTogJXMiCittc2dzdHIgIuejgeebmOagh+etvuexu+Wei++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLno4Hnm5jmoIfor4bnrKbvvJolcyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlzayAlczogJXMsICVqdSBieXRlcywgJWp1IHNlY3RvcnMiCittc2dzdHIgIkRpc2sgJXPvvJolc++8jCVqdSDlrZfoioLvvIwlanUg5Liq5omH5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo2NworIywgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIuWHoOS9leWxnuaAp++8miVkIOS4quejgeWktCwgJWxsdSDkuKrmiYfljLov56OB6YGTLCAlbGx1IOS4quafsemdoiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzIgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgIlVuaXRzOiAlcyBvZiAlZCAqICVsZCA9ICVsZCBieXRlcyIKK21zZ3N0ciAi5Y2V5YWD77yaJXMgLyAlZCAqICVsZCA9ICVsZCDlrZfoioIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjc4IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAi5omH5Yy65aSn5bCPKOmAu+i+kS/niannkIYp77yaJWx1IOWtl+iKgiAvICVsdSDlrZfoioIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkkvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiAlbHUgYnl0ZXMgLyAlbHUgYnl0ZXMiCittc2dzdHIgIkkvTyDlpKflsI8o5pyA5bCPL+acgOS9synvvJolbHUg5a2X6IqCIC8gJWx1IOWtl+iKgiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICLlr7npvZDlgY/np7vph4/vvJolbHUg5a2X6IqCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxMTYgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjM2CisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjU1Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICLliIbphY3ov63ku6PlmajlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi5YiG6YWN6L6T5Ye66KGo5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNjMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjY2CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTgxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6OTc0IG1pc2MtdXRpbHMvZmluY29yZS5jOjEyMworIzogbWlzYy11dGlscy9maW5kbW50LmM6Njg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjcwNiBtaXNjLXV0aWxzL2xzYmxrLmM6MTE3NgorIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzkxIG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTU0IG1pc2MtdXRpbHMvd2lwZWZzLmM6MjEwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM0MCBzeXMtdXRpbHMvbG9zZXR1cC5jOjM2OSBzeXMtdXRpbHMvbHNjcHUuYzoxNjM1CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjYzIHN5cy11dGlscy9sc2lwYy5jOjQ3MCBzeXMtdXRpbHMvbHNpcGMuYzo1NDUKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY0NyBzeXMtdXRpbHMvbHNpcGMuYzo3Mzkgc3lzLXV0aWxzL2xzaXBjLmM6OTAwCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjIyOSBzeXMtdXRpbHMvcmZraWxsLmM6Mzc0IHN5cy11dGlscy9zd2Fwb24uYzoxNzkKKyM6IHN5cy11dGlscy93ZGN0bC5jOjIxNCBzeXMtdXRpbHMvenJhbWN0bC5jOjQwNyB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ1MworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIKK21zZ3N0ciAi5YiG6YWN6L6T5Ye66KGM5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxNzMgZGlzay11dGlscy9mZGlzay1saXN0LmM6MjczCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NjQ0IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTA3MiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxNTkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY5MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MTEgbWlzYy11dGlscy9sc2Jsay5jOjExNjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQzNiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIzOSBtaXNjLXV0aWxzL3dpcGVmcy5jOjI1MAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozMDEgc3lzLXV0aWxzL2xzY3B1LmM6MTY0MyBzeXMtdXRpbHMvbHNjcHUuYzoxNjc0CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo1MDQgc3lzLXV0aWxzL2xzaXBjLmM6NjI5IHN5cy11dGlscy9wcmxpbWl0LmM6MjYxCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NDAyIHN5cy11dGlscy9zd2Fwb24uYzoyMjcgc3lzLXV0aWxzL3dkY3RsLmM6MjQyCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjQ3MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIgorbXNnc3RyICLlkJHovpPlh7rooajmt7vliqDmlbDmja7lh7rplJkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjE5MworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4iCittc2dzdHIgIuWIhuWMuiAlenUg5pyq6LW35aeL5LqO54mp55CG5omH5Yy66L6555WM44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwOQorbXNnaWQgIlBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4iCittc2dzdHIgIuWIhuWMuuihqOiusOW9leayoeacieaMieejgeebmOmhuuW6j+OAgiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE3IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI1CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMAorbXNnaWQgIlN0YXJ0IgorbXNnc3RyICLotbfngrkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxOCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNgorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjkgbGliZmRpc2svc3JjL3NnaS5jOjExNTQgbGliZmRpc2svc3JjL3N1bi5jOjExMjEKK21zZ2lkICJFbmQiCittc2dzdHIgIuacq+WwviIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE5IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI3CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NSBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMgorbXNnaWQgIlNlY3RvcnMiCittc2dzdHIgIuaJh+WMuiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIxIGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI5CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzMSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNAorbXNnaWQgIlNpemUiCittc2dzdHIgIuWkp+WwjyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICLmnKrliIbljLrnmoTnqbrpl7QgJXPvvJolc++8jCVqdSDkuKrlrZfoioLvvIwlanUg5Liq5omH5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICIlcyDmnKrnn6XliJc6ICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5NworbXNnaWQgIkdlbmVyaWMiCittc2dzdHIgIuW4uOinhCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTgKK21zZ2lkICJkZWxldGUgYSBwYXJ0aXRpb24iCittc2dzdHIgIuWIoOmZpOWIhuWMuiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAi5YiX5Ye65pyq5YiG5Yy655qE56m66Zey5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKK21zZ2lkICJsaXN0IGtub3duIHBhcnRpdGlvbiB0eXBlcyIKK21zZ3N0ciAi5YiX5Ye65bey55+l5YiG5Yy657G75Z6LIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDEKK21zZ2lkICJhZGQgYSBuZXcgcGFydGl0aW9uIgorbXNnc3RyICLmt7vliqDmlrDliIbljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwMgorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaJk+WNsOWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCittc2dpZCAiY2hhbmdlIGEgcGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuabtOaUueWIhuWMuuexu+WeiyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA0Cittc2dpZCAidmVyaWZ5IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuajgOafpeWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA1Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIuaJk+WNsOafkOS4quWIhuWMuueahOebuOWFs+S/oeaBryIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA3Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLmiZPljbDorr7lpIfnrKwx5Liq5omH5Yy655qE5Y6f5aeL5pWw5o2uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDgKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIuaJk+WNsOiuvuWkh+ejgeebmOagh+etvueahOWOn+Wni+aVsOaNriIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5Cittc2dpZCAiZml4IHBhcnRpdGlvbnMgb3JkZXIiCittc2dzdHIgIuS/ruWkjeWIhuWMuumhuuW6jyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTExCittc2dpZCAiTWlzYyIKK21zZ3N0ciAi5p2C6aG5IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTIKK21zZ2lkICJwcmludCB0aGlzIG1lbnUiCittc2dzdHIgIuaJk+WNsOatpOiPnOWNlSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEzCittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIuabtOaUuSDmmL7npLov6K6w5b2VIOWNleS9jSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE0Cittc2dpZCAiZXh0cmEgZnVuY3Rpb25hbGl0eSAoZXhwZXJ0cyBvbmx5KSIKK21zZ3N0ciAi5pu05aSa5Yqf6IO9KOS7hemZkOS4k+S4muS6uuWRmCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAi6ISa5pysIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICLku44gc2ZkaXNrIOiEmuacrOaWh+S7tuWKoOi9veejgeebmOW4g+WxgCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTE4Cittc2dpZCAiZHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgc2NyaXB0IGZpbGUiCittc2dzdHIgIuWwhuejgeebmOW4g+WxgOi9rOWCqOS4uiBzZmRpc2sg6ISa5pys5paH5Lu2IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjAKK21zZ2lkICJTYXZlICYgRXhpdCIKK21zZ3N0ciAi5L+d5a2Y5bm26YCA5Ye6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjEKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICLlsIbliIbljLrooajlhpnlhaXno4Hnm5jlubbpgIDlh7oiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorbXNnaWQgIndyaXRlIHRhYmxlIHRvIGRpc2siCittc2dzdHIgIuWwhuWIhuWMuuihqOWGmeWFpeejgeebmCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCittc2dpZCAicXVpdCB3aXRob3V0IHNhdmluZyBjaGFuZ2VzIgorbXNnc3RyICLpgIDlh7rogIzkuI3kv53lrZjmm7TmlLkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyNAorbXNnaWQgInJldHVybiB0byBtYWluIG1lbnUiCittc2dzdHIgIui/lOWbnuS4u+iPnOWNlSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTI2Cittc2dpZCAicmV0dXJuIGZyb20gQlNEIHRvIERPUyIKK21zZ3N0ciAi5LuOIEJTRCDlm57liLAgRE9TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzcKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIuaWsOW7uuepuuejgeebmOagh+etviIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTM4Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOW7uuS4gOS7vSBHUFQg5YiG5Yy66KGoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU0dJIChJUklYKSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOW7uuS4gOS7veepuiBHUFQgKElSSVgpIOWIhuWMuuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuaWsOW7uuS4gOS7veeahOepuiBET1Mg5YiG5Yy66KGoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNDEKK21zZ2lkICJjcmVhdGUgYSBuZXcgZW1wdHkgU3VuIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5paw5bu65LiA5Lu956m6IFN1biDliIbljLrooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE0NQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5Yib5bu65LiA5Lu9IElSSVgoU0dJKSDliIbljLrooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NAorbXNnaWQgIkdlb21ldHJ5IChmb3IgdGhlIGN1cnJlbnQgbGFiZWwpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgY3lsaW5kZXJzIgorbXNnc3RyICLmm7TmlLnmn7HpnaLmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE1NgorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIuabtOaUueejgeWktOaVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrIgorbXNnc3RyICLmm7TmlLnmiYfljLov56OB6YGT5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjYgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTUKK21zZ2lkICJHUFQiCittc2dzdHIgIkdQVCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY3Cittc2dpZCAiY2hhbmdlIGRpc2sgR1VJRCIKK21zZ3N0ciAi5pu05pS556OB55uYIEdVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAi5pu05pS55YiG5Yy65ZCNIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNjkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIuabtOaUueWIhuWMuiBVVUlEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzAKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICLmm7TmlLnooajplb/luqYiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAi6L+b5YWlIOS/neaKpC/mt7flkIggTUJSIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKK21zZ2lkICJ0b2dnbGUgdGhlIGxlZ2FjeSBCSU9TIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIuW8gOWFs+aXpyBCSU9TIOeahCDlj6/lkK/liqgg5qCH5b+XIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzUKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIuW8gOWFsyDkuI3pmLvloZ4gSU8g5Y2P6K6uIOagh+W/lyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTc2Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAi5byA5YWzIOW/hemcgOWIhuWMuiDmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICLlvIAv5YWzIEdVSUQg54m55a6a5L2NIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODcKK21zZ2lkICJTdW4iCittc2dzdHIgIlN1biIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTg4Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAi5byA5YWzIOWPquivuyDmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4OQorbXNnaWQgInRvZ2dsZSB0aGUgbW91bnRhYmxlIGZsYWciCittc2dzdHIgIuW8gOWFsyDlj6/mjILoh7cg5qCH5b+XIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTEKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIuabtOaUueWkh+mAieafsemdouaVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBleHRyYSBzZWN0b3JzIHBlciBjeWxpbmRlciIKK21zZ3N0ciAi5pu05pS55q+P5p+x6Z2i55qE6aKd5aSW5omH5Yy65pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTMKK21zZ2lkICJjaGFuZ2UgaW50ZXJsZWF2ZSBmYWN0b3IiCittc2dzdHIgIuabtOaUueS6pOmUmeezu+aVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTk0Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICLmm7TmlLnovazpgJ8o6L2sL+WIhikiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgcGh5c2ljYWwgY3lsaW5kZXJzIgorbXNnc3RyICLmm7TmlLnniannkIbmn7HpnaLmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNAorbXNnaWQgIlNHSSIKK21zZ3N0ciAiU0dJIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKK21zZ2lkICJzZWxlY3QgYm9vdGFibGUgcGFydGl0aW9uIgorbXNnc3RyICLpgInmi6nlj6/lkK/liqjliIbljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwNgorbXNnaWQgImVkaXQgYm9vdGZpbGUgZW50cnkiCittc2dzdHIgIue8lui+keWQr+WKqOaWh+S7tuiusOW9lSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3Cittc2dpZCAic2VsZWN0IHNnaSBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAi6YCJ5oupIHNnaSDkuqTmjaLliIbljLoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIwOAorbXNnaWQgImNyZWF0ZSBTR0kgaW5mbyIKK21zZ3N0ciAi5Yib5bu6IFNHSSDkv6Hmga8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIxNworbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIChNQlIpIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMTgKK21zZ2lkICJ0b2dnbGUgYSBib290YWJsZSBmbGFnIgorbXNnc3RyICLlvIDlhbMg5Y+v5ZCv5YqoIOagh+W/lyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE5Cittc2dpZCAiZWRpdCBuZXN0ZWQgQlNEIGRpc2tsYWJlbCIKK21zZ3N0ciAi57yW6L6R5bWM5aWX55qEIEJTRCDno4Hnm5jmoIfnrb4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMAorbXNnaWQgInRvZ2dsZSB0aGUgZG9zIGNvbXBhdGliaWxpdHkgZmxhZyIKK21zZ3N0ciAi5byA5YWzIGRvcyDlhbzlrrnmgKfmoIflv5ciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyMgorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIuenu+WKqOWIhuWMuuaVsOaNrueahOi1t+Wni+eCuSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCittc2dpZCAiY2hhbmdlIHRoZSBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIuabtOaUueejgeebmOagh+ivhuespiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjI1Cittc2dpZCAicmV0dXJuIGZyb20gcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIHRvIEdQVCIKK21zZ3N0ciAi5LuOIOS/neaKpC/mt7flkIggTUJSIOWbnuWIsCBHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKK21zZ2lkICJlZGl0IGRyaXZlIGRhdGEiCittc2dzdHIgIue8lui+kempseWKqOaVsOaNriIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM3Cittc2dpZCAiaW5zdGFsbCBib290c3RyYXAiCittc2dzdHIgIuWuieijheW8leWvvOeoi+W6jyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM4Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIuaYvuekuuWujOaVtOejgeebmOagh+etviIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM5Cittc2dpZCAibGluayBCU0QgcGFydGl0aW9uIHRvIG5vbi1CU0QgcGFydGl0aW9uIgorbXNnc3RyICLlsIYgQlNEIOWIhuWMuumTvuaOpeWIsOmdniBCU0Qg5YiG5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLluK7liqkgKOS4k+S4muWRveS7pCnvvJpcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiSGVscDpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuW4ruWKqe+8mlxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiWW91J3JlIGVkaXRpbmcgbmVzdGVkICclcycgcGFydGl0aW9uIHRhYmxlLCBwcmltYXJ5IHBhcnRpdGlvbiB0YWJsZSBpcyAnJXMnLiIKK21zZ3N0ciAi5oKo5q2j5Zyo57yW6L6R5bWM5aWX55qE4oCcJXPigJ3liIbljLrooajvvIzkuLvliIbljLrooajkuLrigJwlc+KAneOAgiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIuS4k+WutuWRveS7pCjovpPlhaUgbSDmmL7npLrluK7liqkp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLlkb3ku6Qo6L6T5YWlIG0g6I635Y+W5biu5YqpKe+8miIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1Cittc2dpZCAiIgorIlxuIgorIkRvIHlvdSByZWFsbHkgd2FudCB0byBxdWl0PyAiCittc2dzdHIgIiIKKyJcbiIKKyLmgqjnoa7lrp7opoHpgIDlh7rlkJfvvJ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlYzogdW5rbm93biBjb21tYW5kIgorbXNnc3RyICIlY++8muacquefpeWRveS7pCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDczIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUwNgorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIui+k+WFpeiEmuacrOaWh+S7tuWQjSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICLmiJDlip/lupTnlKjkuobohJrmnKzjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2Zvcm0gZGlzayBsYXlvdXQgaW50byBzY3JpcHQiCittc2dzdHIgIuWwhuejgeebmOW4g+WxgOi9rOaNouaIkOiEmuacrOWksei0pSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMyCittc2dpZCAiU2NyaXB0IHN1Y2Nlc3NmdWxseSBzYXZlZC4iCittc2dzdHIgIuaIkOacrOS/neWtmOS6huiEmuacrOOAgiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBjb250YWlucyBhICVzIHNpZ25hdHVyZS4iCittc2dzdHIgIuWIhuWMuiAjJXp1IOWMheWQq+S4gOS4qiAlcyDnrb7lkI3jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1OCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDcKK21zZ2lkICJEbyB5b3Ugd2FudCB0byByZW1vdmUgdGhlIHNpZ25hdHVyZT8iCittc2dzdHIgIuaCqOaDs+enu+mZpOivpeetvuWQjeWQl++8nyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTYzIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTUxMgorbXNnaWQgIlRoZSBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIuWGmeWFpeWRveS7pOWwhuenu+mZpOivpeetvuWQjeOAgiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NTk2Cittc2dpZCAiZmFpbGVkIHRvIHdyaXRlIGRpc2tsYWJlbCIKK21zZ3N0ciAi5YaZ56OB55uY5qCH562+5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2MzgKK21zZ2lkICJGYWlsZWQgdG8gZml4IHBhcnRpdGlvbnMgb3JkZXIuIgorbXNnc3RyICLkv67lpI3liIbljLrpobrluo/lpLHotKXjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY0MAorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICLlt7Lkv67lpI3liIbljLrpobrluo/jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY1NgorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIuaXoOazleWIoOmZpOWIhuWMuiAlenUiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gY3lsaW5kZXJzIChERVBSRUNBVEVEISkuIgorbXNnc3RyICLlsIbmmL7npLov6K6w5b2V5Y2V5L2N5pu05pS55Li65p+x6Z2iKOW3suW6n+W8g++8gSnjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY4NworbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIuWwhuaYvuekui/orrDlvZXljZXkvY3mm7TmlLnkuLrnm7LljLrjgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjY5NyBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4NjgKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICLnprvlvIDltYzlpZfnmoTno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjczNAorbXNnaWQgIk5ldyBtYXhpbXVtIGVudHJpZXMiCittc2dzdHIgIuaWsOeahOacgOWkp+iusOW9leaVsCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzQ1Cittc2dpZCAiRW50ZXJpbmcgcHJvdGVjdGl2ZS9oeWJyaWQgTUJSIGRpc2tsYWJlbC4iCittc2dzdHIgIui/m+WFpSDkv53miqQv5re35ZCIIE1CUiDno4Hnm5jmoIfnrb7jgIIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc2MQorbXNnaWQgIk5ldyBVVUlEIChpbiA4LTQtNC00LTEyIGZvcm1hdCkiCittc2dzdHIgIuaWsCBVVUlEICjku6UgOC00LTQtNC0xMiDmoLzlvI8pIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NzYKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAi5paw5ZCN56ewIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKK21zZ2lkICJFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIui/m+WFpeW1jOWll+eahCBCU0Qg56OB55uY5qCH562+44CCIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAi5p+x6Z2i5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICLno4HlpLTmlbAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi5omH5Yy65pWwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZFxuIgorbXNnc3RyICIlcyDlt7Lnu4/mjILovb1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MjE1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBtb3VudGVkXG4iCittc2dzdHIgIiVzIOacquaMgui9vVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozMjkgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3MQorIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3OCBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM0CisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mjk4IGxpYmZkaXNrL3NyYy9ic2QuYzo2NDUKKyM6IGxpYi9wYXRoLmM6MTQwIGxpYi9wYXRoLmM6MTYxIGxpYi9wYXRoLmM6MTgyIGxpYi9wYXRoLmM6MjMwCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjA4IGxvZ2luLXV0aWxzL2xhc3QuYzoyNDUgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjY1NQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxNCBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4NSB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3MjMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4MCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3ODQgdGVybS11dGlscy9zZXR0ZXJtLmM6NzkxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICLkuI3og73or7sgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgIuino+aekOmUmeivr++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBkaXJlY3RvcnkgJXMiCittc2dzdHIgIuaXoOazleWIm+W7uiAlcyDnm67lvZUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgYy1mb3JtYXQKK21zZ2lkICJMb2NraW5nIGRpc2sgYnkgJXMgLi4uICIKK21zZ3N0ciAi5q2j55SxICVzIOmUgeWumuejgeebmC4uLiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzgyCisjLCBjLWZvcm1hdAorbXNnaWQgIih3YWl0aW5nKSAiCittc2dzdHIgIijnrYnlvoXkuK0pICIKKworIy4gVFJBTlNMQVRPUlM6IFRoZXNlIGFyZSBmb2xsb3d1cHMgdG8gIkxvY2tpbmcgZGlzay4uLiIuCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKK21zZ2lkICJzdWNjZWVkZWQiCittc2dzdHIgIuaIkOWKnyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzkyCittc2dpZCAiZmFpbGVkIgorbXNnc3RyICLlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmxvY2tpbmcgJXMuXG4iCittc2dzdHIgIuato+WcqOino+mUgSAlc+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldHVwIGRlc2NyaXB0aW9uIGZvciAlcyIKK21zZ3N0ciAi6K6+572uICVzIOaPj+i/sCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQ3MiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3ODQgbWlzYy11dGlscy9sc2Jsay5jOjQ0NgorIzogc3lzLXV0aWxzL21vdW50LmM6MTAxIHN5cy11dGlscy9zd2Fwb24tY29tbW9uLmM6MTkgc3lzLXV0aWxzL3Vtb3VudC5jOjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIC0tIGlnbm9yZWQiCittc2dzdHIgIiVz77ya56ysICVkIOihjOino+aekOWHuumUmSAtLSDlt7Llv73nlaUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjUwNCBkaXNrLXV0aWxzL2ZzY2suYzo1MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSBmc3RhYiIKK21zZ3N0ciAiJXPvvJrop6PmnpAgZnN0YWIg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2ODcgbG9naW4tdXRpbHMvbG9naW4uYzo5NDAgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMjQKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMDggc3lzLXV0aWxzL2Zsb2NrLmM6MzQ2IHN5cy11dGlscy9uc2VudGVyLmM6MTgwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzIwIHN5cy11dGlscy91bnNoYXJlLmM6MjIxIHN5cy11dGlscy91bnNoYXJlLmM6NDM1CisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjgwNQorbXNnaWQgImZvcmsgZmFpbGVkIgorbXNnc3RyICJmb3JrIOWksei0pSIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrmiafooYzlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorbXNnaWQgIndhaXQ6IG5vIG1vcmUgY2hpbGQgcHJvY2Vzcz8hPyIKK21zZ3N0ciAi562J5b6F77ya5rKh5pyJ5Ymp5L2Z5a2Q6L+b56iL5LqG77yf77yB77yfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo3ODUgc3lzLXV0aWxzL2Zsb2NrLmM6MzY0IHN5cy11dGlscy9zd2Fwb24uYzozNTIKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDE5IHN5cy11dGlscy91bnNoYXJlLmM6NDQwCittc2dpZCAid2FpdHBpZCBmYWlsZWQiCittc2dzdHIgIndhaXRwaWQg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIuitpuWRii4uLiDlr7norr7lpIcgJTIkcyDnmoQgJTEkcyDku6Xkv6Hlj7cgJTMkZCDpgIDlh7rjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyAlczogc3RhdHVzIGlzICV4LCBzaG91bGQgbmV2ZXIgaGFwcGVuLiIKK21zZ3N0ciAiJXMgJXPvvJrnirbmgIHkuLogJXjvvIzov5nkuI3lupTor6Xlj5HnlJ/jgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjg1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5pc2hlZCB3aXRoICVzIChleGl0IHN0YXR1cyAlZClcbiIKK21zZ3N0ciAi5LulICVzIOe7k+adnyjpgIDlh7rnirbmgIHkuLogJWQpXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjkzNgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAi5a+5ICUzJHMg5omn6KGMIGZzY2suJTIkcyDml7blh7rnjrDplJnor68gJTEkZCAoJW0pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMDAyCittc2dpZCAiIgorIkVpdGhlciBhbGwgb3Igbm9uZSBvZiB0aGUgZmlsZXN5c3RlbSB0eXBlcyBwYXNzZWQgdG8gLXQgbXVzdCBiZSBwcmVmaXhlZFxuIgorIndpdGggJ25vJyBvciAnIScuIgorbXNnc3RyICLkvKDpgJLnu5kgLXQg6YCJ6aG555qE5paH5Lu257O757uf57G75Z6L5b+F6aG75YWo6YOoL+WFqOS4jeS7peKAnG5v4oCd5oiW4oCcIeKAneS4uuWJjee8gOOAgiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiJXPvvJrlsIbot7Pov4cgL2V0Yy9mc3RhYiDkuK3nmoTplJnor6/ooYzvvJpmc2NrIOmAmui/h+asoeaVsOmdnumbtueahOe7keWumuW8j+aMgui9vSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgbm9uZXhpc3RlbnQgZGV2aWNlXG4iCittc2dzdHIgIiVz77ya5bCG6Lez6L+H5LiN5a2Y5Zyo55qE6K6+5aSHXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiJXPvvJrorr7lpIfkuI3lrZjlnKgo5Y+v5Lul5L2/55SoZnN0YWIg6YCJ6aG54oCcbm9mYWls4oCd5p2l6Lez6L+H5q2k6K6+5aSHKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyB1bmtub3duIGZpbGVzeXN0ZW0gdHlwZVxuIgorbXNnc3RyICIlc++8mui3s+i/h+acquefpeeahOaWh+S7tuezu+e7n+exu+Wei1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTY2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIuaXoOazleajgOafpSAlc++8muaJvuS4jeWIsCBmc2NrLiVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMjcwCittc2dpZCAiQ2hlY2tpbmcgYWxsIGZpbGUgc3lzdGVtcy5cbiIKK21zZ3N0ciAi5q2j5Zyo5qOA5p+l5omA5pyJ5paH5Lu257O757uf44CCXG4iCisKKyMgcGFzcyBudW1iZXIg5pivZnN0YWLkuK3lrprkuYnnmoTvvIzkuI3kuLow5YiZ5q+P5qyh5qOA5rWLCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzYxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0td2FpdGluZy0tIChwYXNzICVkKVxuIgorbXNnc3RyICItLeetieW+heS4rS0tICjnrKwgJWQg6YGNKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gLS0gW2ZzLW9wdGlvbnNdIFs8ZmlsZXN5c3RlbT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gLS0gW+aWh+S7tuezu+e7n+mAiemhuV0gWzzmlofku7bns7vnu58+IC4uLl1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5MQorbXNnaWQgIkNoZWNrIGFuZCByZXBhaXIgYSBMaW51eCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmo4Dmn6Xlubbkv67lpI0gTGludXgg5paH5Lu257O757uf44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTQKK21zZ2lkICIgLUEgICAgICAgICBjaGVjayBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BICAgICAgICAg5qOA5p+l5omA5pyJ5paH5Lu257O757ufXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTUKK21zZ2lkICIgLUMgWzxmZD5dICBkaXNwbGF5IHByb2dyZXNzIGJhcjsgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiAtQyBbPGZkPl0gIOaYvuekuui/m+W6puadoe+8m+aWh+S7tuaPj+i/sOespiBmZCDnlKjkuo7lm77lvaLnlKjmiLfnlYzpnaJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NgorbXNnaWQgIiAtbCAgICAgICAgIGxvY2sgdGhlIGRldmljZSB0byBndWFyYW50ZWUgZXhjbHVzaXZlIGFjY2Vzc1xuIgorbXNnc3RyICIgLWwgICAgICAgICDplIHlrprorr7lpIfku6Xnoa7kv53ni6zljaDorr/pl65cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworbXNnaWQgIiAtTSAgICAgICAgIGRvIG5vdCBjaGVjayBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtTSAgICAgICAgIOS4jeajgOafpeW3suaMguiHt+eahOaWh+S7tuezu+e7n1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk4Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIC1OICAgICAgICAg5LiN5omn6KGM77yM5Y+q5pi+56S65bCG5omn6KGM55qE5pON5L2cXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTkKK21zZ2lkICIgLVAgICAgICAgICBjaGVjayBmaWxlc3lzdGVtcyBpbiBwYXJhbGxlbCwgaW5jbHVkaW5nIHJvb3RcbiIKK21zZ3N0ciAiIC1QICAgICAgICAg5bm26KGM5qOA5p+l5paH5Lu257O757uf77yM5YyF5ousIHJvb3RcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIC1SICAgICAgICAg6Lez6L+H5qC55paH5Lu257O757uf77yb5Y+q5Zyo5oyH5a6aICctQScg5pe25pyJ55SoXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDEKK21zZ2lkICIiCisiIC1yIFs8ZmQ+XSAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgZmlsZSBkZXNjcmlwdG9yIGlzIGZvciBHVUlzXG4iCittc2dzdHIgIiIKKyIgLXIgWzxmZD5dICDmiqXlkYrlr7nmr4/kuKrlt7Lmo4Dmn6Xorr7lpIfnmoTnu5/orqHvvJtcbiIKKyIgICAgICAgICAgICDmlofku7bmj4/ov7DnrKbnlKjkuo4gR1VJXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDMKK21zZ2lkICIgLXMgICAgICAgICBzZXJpYWxpemUgdGhlIGNoZWNraW5nIG9wZXJhdGlvbnNcbiIKK21zZ3N0ciAiIC1zICAgICAgICAg5Liy6KGM5YyW5qOA5p+l5pON5L2cXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDQKK21zZ2lkICIgLVQgICAgICAgICBkbyBub3Qgc2hvdyB0aGUgdGl0bGUgb24gc3RhcnR1cFxuIgorbXNnc3RyICIgLVQgICAgICAgICDlkK/liqjml7bkuI3mmL7npLrmoIfpophcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNQorbXNnaWQgIiIKKyIgLXQgPHR5cGU+ICBzcGVjaWZ5IGZpbGVzeXN0ZW0gdHlwZXMgdG8gYmUgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICA8dHlwZT4gaXMgYWxsb3dlZCB0byBiZSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCittc2dzdHIgIiIKKyIgLXQgPOexu+Weiz4gIOaMh+WumuimgeajgOafpeeahOaWh+S7tuezu+e7n+exu+Wei++8m1xuIgorIiAgICAgICAgICAgICA857G75Z6LPiDlj6/ku6XmmK/ku6Xoi7HmlofpgJflj7fliIbpmpTnmoTliJfooahcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwNworbXNnaWQgIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtViAgICAgICAgIOino+mHiuato+WcqOi/m+ihjOeahOaTjeS9nFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAi5Y+C6KeB54m55a6a55qEIGZzY2suKiDlkb3ku6Tkuobop6Plj6/nlKjnmoTmlofku7bns7vnu5/pgInpobnjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NjAKK21zZ2lkICJ0b28gbWFueSBkZXZpY2VzIgorbXNnc3RyICLorr7lpIfov4flpJoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0NzIKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAiL3Byb2Mg5oyC6L295LqG5ZCX77yfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgcm9vdCB0byBzY2FuIGZvciBtYXRjaGluZyBmaWxlc3lzdGVtczogJXMiCittc2dzdHIgIuW/hemhu+S7pSByb290IOeUqOaIt+i/m+ihjOWMuemFjeaWh+S7tuezu+e7n+aJq+aPj++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkbid0IGZpbmQgbWF0Y2hpbmcgZmlsZXN5c3RlbTogJXMiCittc2dzdHIgIuaJvuS4jeWIsOWMuemFjeeahOaWh+S7tuezu+e7n++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDkyIGRpc2stdXRpbHMvZnNjay5jOjE1ODkgbWlzYy11dGlscy9raWxsLmM6MjM2CisjOiBzeXMtdXRpbHMvZWplY3QuYzoyNzgKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIuWPguaVsOi/h+WkmiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtciIKK21zZ3N0ciAiLXIg55qE5Y+C5pWw5peg5pWIIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAiLS1waWQg6YCJ6aG55Y+q6IO95oyH5a6a5LiA5qyhIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTY5IG1pc2MtdXRpbHMva2lsbC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyByZXF1aXJlcyBhbiBhcmd1bWVudCIKK21zZ3N0ciAi4oCcJXPigJ3pgInpobnpnIDopoHkuIDkuKrlj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtcjogJWQiCittc2dzdHIgIi1yIOeahOWPguaVsOaXoOaViO+8miVkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNjQzCittc2dpZCAidGhlIC1sIG9wdGlvbiBjYW4gYmUgdXNlZCB3aXRoIG9uZSBkZXZpY2Ugb25seSAtLSBpZ25vcmUiCittc2dzdHIgIi1sIOmAiemhueWPquiDveeUqOS6juS4gOS4quiuvuWkhyAtLSDlv73nlaUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDzmlofku7Y+XG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5qOA5p+l5bm25L+u5aSN5Y6L57yp55qEIFJPTSDmlofku7bns7vnu5/jgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExNworbXNnaWQgIiAtYSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLWEgICAgICAgICAgICAgICAgICAgICAgIOe6r+WFvOWuueaAp+mAiemhue+8jOW/veeVpVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE4Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBiZSBtb3JlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDmm7Tor6blsL1cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOQorbXNnaWQgIiAteSAgICAgICAgICAgICAgICAgICAgICAgZm9yIGNvbXBhdGliaWxpdHkgb25seSwgaWdub3JlZFxuIgorbXNnc3RyICIgLXkgICAgICAgICAgICAgICAgICAgICAgIOe6r+WFvOWuueaAp+mAiemhue+8jOW/veeVpVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIwCittc2dpZCAiIC1iLCAtLWJsb2Nrc2l6ZSA8c2l6ZT4gICB1c2UgdGhpcyBibG9ja3NpemUsIGRlZmF1bHRzIHRvIHBhZ2Ugc2l6ZVxuIgorbXNnc3RyICIgLWIsIC0tYmxvY2tzaXplIDzlpKflsI8+ICAg5L2/55So5oyH5a6a55qE5Z2X5aSn5bCP77yM6buY6K6k5Li66aG155qE5aSn5bCPXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMjEKK21zZ2lkICIgICAgIC0tZXh0cmFjdFs9PGRpcj5dICAgIHRlc3QgdW5jb21wcmVzc2lvbiwgb3B0aW9uYWxseSBleHRyYWN0IGludG8gPGRpcj5cbiIKK21zZ3N0ciAiICAgICAtLWV4dHJhY3RbPTznm67lvZU+XSAgICDmtYvor5Xop6PljovvvIzlj6/mjIflrprop6PljovliLA855uu5b2VPlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTU4CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsIGZhaWxlZDogdW5hYmxlIHRvIGRldGVybWluZSBkZXZpY2Ugc2l6ZTogJXMiCittc2dzdHIgImlvY3RsIOWksei0pe+8muaXoOazleehruWumuiuvuWkh+Wkp+Wwj++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBhIGJsb2NrIGRldmljZSBvciBmaWxlOiAlcyIKK21zZ3N0ciAi5LiN5piv5LiA5Liq5Z2X6K6+5aSH5oiW5paH5Lu277yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxNjcgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMworbXNnaWQgImZpbGUgbGVuZ3RoIHRvbyBzaG9ydCIKK21zZ3N0ciAi5paH5Lu26ZW/5bqm6L+H55+tIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc2IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzEKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTEgbGliZmRpc2svc3JjL2JzZC5jOjcxNyBsaWJmZGlzay9zcmMvYnNkLmM6ODkyCisjOiBsb2dpbi11dGlscy9sYXN0LmM6MjAzIGxvZ2luLXV0aWxzL2xhc3QuYzoyMzcgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjIwMgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWVrIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAi5ZyoICVzIOS4iuWumuS9jeWksei0pSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4MiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg0Cittc2dpZCAic3VwZXJibG9jayBtYWdpYyBub3QgZm91bmQiCittc2dzdHIgIui2hee6p+Wdl+mtlOaVsChtYWdpYynmnKrmib7liLAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiY3JhbWZzIGVuZGlhbm5lc3MgaXMgJXNcbiIKK21zZ3N0ciAiY3JhbWZzIOWkp+Wwj+err+S4uiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTg4Cittc2dpZCAiYmlnIgorbXNnc3RyICLlpKfnq68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODgKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIuWwj+erryIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIuS4jeaUr+aMgeeahOaWh+S7tuezu+e7n+eJueaApyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIui2hee6p+Wdl+WwuuWvuCglZCnov4flsI8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDEKK21zZ2lkICJ6ZXJvIGZpbGUgY291bnQiCittc2dzdHIgIumbtuaWh+S7tuiuoeaVsCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICLorablkYrvvJrmlofku7botoXov4fkuobmlofku7bns7vnu5/nu4jngrkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDcKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAi5pen55qEIGNyYW1mcyDmoLzlvI8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMTYKK21zZ2lkICJ1bmFibGUgdG8gdGVzdCBDUkM6IG9sZCBjcmFtZnMgZm9ybWF0IgorbXNnc3RyICLml6Dms5Xmo4DmtYsgQ1JD77ya5pen55qEIGNyYW1mcyDmoLzlvI8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkICU8UFJJdTMyPiBieXRlcyBmcm9tIGZpbGUgJXMiCittc2dzdHIgIuivuyB0eXBlc2NyaXB0IOaWh+S7tiAlcyDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNzQKK21zZ2lkICJjcmMgZXJyb3IiCittc2dzdHIgImNyYyDplJnor68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYwCittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgIuWumuS9jeWksei0pSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorbXNnaWQgInJlYWQgcm9tZnMgZmFpbGVkIgorbXNnc3RyICLor7vlj5Ygcm9tZnMg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQwCittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICLmoLkgaW5vZGUg5LiN5piv5LiA5Liq55uu5b2VIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAi6ZSZ6K+v55qE5qC55YGP56e7KCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozNjIKK21zZ2lkICJkYXRhIGJsb2NrIHRvbyBsYXJnZSIKK21zZ3N0ciAi5pWw5o2u5Z2X6L+H5aSnIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlY29tcHJlc3Npb24gZXJyb3I6ICVzIgorbXNnc3RyICLop6Pljovlh7rplJnvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgYy1mb3JtYXQKK21zZ2lkICIgIGhvbGUgYXQgJWx1ICglenUpXG4iCittc2dzdHIgIiAg5L2N5LqOICVsdSDnmoTnqbrmtJ4oJXp1KVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mzk5IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICB1bmNvbXByZXNzaW5nIGJsb2NrIGF0ICVsdSB0byAlbHUgKCVsdSlcbiIKK21zZ3N0ciAiICDmraPlnKjlsIYgJWx1IOWkhOeahOWdl+ino+WOi+WIsCAlbHUgKCVsdSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQwNgorIywgYy1mb3JtYXQKK21zZ2lkICJub24tYmxvY2sgKCVsZCkgYnl0ZXMiCittc2dzdHIgIumdnuWdlyglbGQp5a2X6IqCICIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIuaXoOWkp+WwjyglbGQg77yaICVsZCnlrZfoioIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MTUgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUxOAorIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDkgbWlzYy11dGlscy91dWlkZC5jOjM2NiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6NDA4CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTUxIHN5cy11dGlscy9zZXRwcml2LmM6NjIwIHN5cy11dGlscy9zZXRwcml2LmM6NjQzCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MzkzIHRlcm0tdXRpbHMvdHR5bXNnLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZDogJXMiCittc2dzdHIgIuWGmeWksei0pe+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgImxjaG93biBmYWlsZWQ6ICVzIgorbXNnc3RyICJsY2hvd24g5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAiY2hvd24g5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidXRpbWUgZmFpbGVkOiAlcyIKK21zZ3N0ciAidXRpbWUg5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIuebruW9lSBpbm9kZSDlgY/np7vkuLogMO+8jOWkp+Wwj+S4jeS4uiAw77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIg5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAi5paH5Lu25ZCN6ZW/5bqm5Li6IDAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODAKK21zZ2lkICJiYWQgZmlsZW5hbWUgbGVuZ3RoIgorbXNnc3RyICLmlofku7blkI3plb/luqbmnInor68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0ODYKK21zZ2lkICJiYWQgaW5vZGUgb2Zmc2V0IgorbXNnc3RyICJpbm9kZSDlgY/np7vmnInor68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDEKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIG9mZnNldCBhbmQgbm9uLXplcm8gc2l6ZSIKK21zZ3N0ciAi5paH5Lu2IGlub2RlIOWBj+enu+S4uiAw77yM5aSn5bCP5LiN5Li6IDAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MDQKK21zZ2lkICJmaWxlIGlub2RlIGhhcyB6ZXJvIHNpemUgYW5kIG5vbi16ZXJvIG9mZnNldCIKK21zZ3N0ciAi5paH5Lu2IGlub2RlIOWkp+Wwj+S4uiAw77yM5YGP56e75LiN5Li6IDAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAi56ym5Y+36ZO+5o6l5YGP56e75Li6IDAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzUKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIHNpemUiCittc2dzdHIgIuespuWPt+mTvuaOpeWkp+Wwj+S4uiAwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInNpemUgZXJyb3IgaW4gc3ltbGluazogJXMiCittc2dzdHIgIuespuWPt+mTvuaOpeWkp+Wwj+WHuumUme+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTU4CisjLCBjLWZvcm1hdAorbXNnaWQgInN5bWxpbmsgZmFpbGVkOiAlcyIKK21zZ3N0ciAic3ltbGluayDlpLHotKXvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIueJueauiuaWh+S7tueahOWBj+enu+S4jeS4uiAw77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmlmbyBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIkZJRk8g55qE5aSn5bCP5LiN5Li6IDDvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU4NworIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICLlpZfmjqXlrZfnmoTlpKflsI/kuI3kuLogMO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIuS8qihib2d1cynmqKHlvI/vvJolcyAoJW8pIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTk5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1rbm9kIGZhaWxlZDogJXMiCittc2dzdHIgIm1rbm9kIOWksei0pe+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIuebruW9leaVsOaNrui1t+eCuSglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsg6LW354K5ICglenUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NjM1CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIGVuZCAoJWx1KSAhPSBmaWxlIGRhdGEgc3RhcnQgKCVsdSkiCittc2dzdHIgIuebruW9leaVsOaNrue7iOeCuSAoJWx1KSAhPSDmlofku7bmlbDmja7otbfngrkgKCVsdSkiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzkKK21zZ2lkICJpbnZhbGlkIGZpbGUgZGF0YSBvZmZzZXQiCittc2dzdHIgIuaXoOaViOeahOaWh+S7tuaVsOaNruWBj+enuyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY4OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzM2Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDlnZflpKflsI8g5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NzExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBPS1xuIgorbXNnc3RyICIlc++8mk9LXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4NQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuajgOafpSBNaW5peCDmlofku7bns7vnu5/nmoTkuIDoh7TmgKfjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg3Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgIOWIl+WHuuaJgOacieaWh+S7tuWQjVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODgKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAg6Ieq5Yqo5L+u5aSNXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorbXNnaWQgIiAtciwgLS1yZXBhaXIgICAgIGludGVyYWN0aXZlIHJlcGFpclxuIgorbXNnc3RyICIgLXIsIC0tcmVwYWlyICAgICDkuqTkupLkv67lpI1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgYmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDor6blsL3mlrnlvI9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkxCittc2dpZCAiIC1zLCAtLXN1cGVyICAgICAgb3V0cHV0IHN1cGVyLWJsb2NrIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zdXBlciAgICAgIOi+k+WHuui2hee6p+Wdl+S/oeaBr1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxOTIKK21zZ2lkICIgLW0sIC0tdW5jbGVhcmVkICBhY3RpdmF0ZSBtb2RlIG5vdCBjbGVhcmVkIHdhcm5pbmdzXG4iCittc2dzdHIgIiAtbSwgLS11bmNsZWFyZWQgIOa/gOa0uyDmqKHlvI/mnKrmuIXpmaQg6K2m5ZGKXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MworbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIOW8uuWItuajgOafpVxuIgorCisjLiBUUkFOU0xBVE9SUzogdGhlc2UgeWVzIG5vIHF1ZXN0aW9ucyB1c2VzIHJwbWF0Y2goKSwgYW5kIHNob3VsZCBiZQorIy4gKiB0cmFuc2xhdGVkLgorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICjmmK8v5ZCmKT8gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgKG4veSk/ICIKK21zZ3N0ciAiJXMgKOWQpi/mmK8pPyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI2OQorIywgYy1mb3JtYXQKK21zZ2lkICJ5XG4iCittc2dzdHIgIuaYr1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiblxuIgorbXNnc3RyICLlkKZcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Mjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQuXHQgIgorbXNnc3RyICIlcyDlt7Lnu4/mjILovb0uXHQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjI4OQorbXNnaWQgIkRvIHlvdSByZWFsbHkgd2FudCB0byBjb250aW51ZSIKK21zZ3N0ciAi5L2g56Gu6K6k6KaB57un57utIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hlY2sgYWJvcnRlZC5cbiIKK21zZ3N0ciAi5qOA5p+l5aSx6LSlLlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAibnIg5Yy6IDwg5paH5Lu24oCcJXPigJ3kuK3nmoQgRklSU1RaT05F44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAibnIg5Yy6ID49IOaWh+S7tuKAnCVz4oCd5Lit55qEIEZJUlNUWk9OReOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzI2IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM0NworbXNnaWQgIlJlbW92ZSBibG9jayIKK21zZ3N0ciAi5Yig6Zmk5Z2XIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvcjogdW5hYmxlIHRvIHNlZWsgdG8gYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIuivu+WPlumUmeivrzog5LiN6IO95Zyo5paH5Lu2ICclcycg5Lit5a6a5L2N5Yiw6K+l5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2OQorIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnJXMnXG4iCittc2dzdHIgIuivu+WPlumUmeivrzog5paH5Lu2ICclcycg5Lit5pyJ5Z2P5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiSW50ZXJuYWwgZXJyb3I6IHRyeWluZyB0byB3cml0ZSBiYWQgYmxvY2tcbiIKKyJXcml0ZSByZXF1ZXN0IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIuWGhemDqOmUmeivrzog6K+V5Zu+5YaZ5Z2P5Z2XXG4iCisi5YaZ6K+35rGC5b+955WlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICLlnKggd3JpdGVfYmxvY2sg5Lit5a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiV3JpdGUgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi5YaZ5YWl6ZSZ6K+vOiDmlofku7YgJyVzJyDkuK3mnInlnY/lnZdcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBibG9jayBvdXQgb2YgcmFuZ2VcbiIKK21zZ3N0ciAi6K2m5ZGKOiBpbm9kZSDorqHmlbDlpKrlpKcuXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUxMQorbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX3N1cGVyX2Jsb2NrIgorbXNnc3RyICLlnKggd3JpdGVfc3VwZXJfYmxvY2sg5Lit5a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MTMKK21zZ2lkICJ1bmFibGUgdG8gd3JpdGUgc3VwZXItYmxvY2siCittc2dzdHIgIuS4jeiDveWGmei2hee6p+WdlyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI2Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAi5LiN6IO95YaZIGlub2RlIG1hcCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTI5Cittc2dpZCAiVW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICLkuI3og73lhpkgem9uZSBtYXAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUzMgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZXMiCittc2dzdHIgIuS4jeiDveWGmSBpbm9kZXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBidWZmZXIgZm9yIHN1cGVyYmxvY2siCittc2dzdHIgIuaXoOazleS4uui2hee6p+Wdl+WIhumFjee8k+WGsuWMuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTY3Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgc3VwZXIgYmxvY2siCittc2dzdHIgIuS4jeiDveivu+i2hee6p+WdlyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTg5Cittc2dpZCAiYmFkIG1hZ2ljIG51bWJlciBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi6LaF57qn5Z2X5Lit55qE6a2U5pWw5pWw5a2X5o2f5Z2PIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTEKK21zZ2lkICJPbmx5IDFrIGJsb2Nrcy96b25lcyBzdXBwb3J0ZWQiCittc2dzdHIgIuWPquaUr+aMgSAxayDlnZcv5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1OTMKK21zZ2lkICJiYWQgc19uaW5vZGVzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLotoXnuqflnZfkuK3mnInkuI3mraPnoa7nmoQgc19uaW5vZGVzIOWtl+autSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIuS4jeato+ehrueahCBzX2ltYXBfYmxvY2tzIOWfn+WcqOi2hee6p+Wdl+S4rSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3Cittc2dpZCAiYmFkIHNfZmlyc3RkYXRhem9uZSBmaWVsZCBpbiBzdXBlci1ibG9jayIKK21zZ3N0ciAi6LaF57qn5Z2X5Lit5pyJ5LiN5q2j56Gu55qEIHNfZmlyc3RkYXRhem9uZSDlrZfmrrUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYwMAorbXNnaWQgImJhZCBzX3ptYXBfYmxvY2tzIGZpZWxkIGluIHN1cGVyLWJsb2NrIgorbXNnc3RyICLkuI3mraPnoa7nmoQgc196bWFwX2Jsb2NrcyDln5/lnKjotoXnuqflnZfkuK0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxNgorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIGlub2RlIG1hcCIKK21zZ3N0ciAi5LiN6IO95Li6IGlub2RlIG1hcCDliIbphY3nvJPlhrLljLoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYxOQorbXNnaWQgIlVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXIgZm9yIHpvbmUgbWFwIgorbXNnc3RyICLkuI3og73kuLogem9uZSBtYXAg5YiG6YWN57yT5Yay5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIuS4jeiDveS4uiBpbm9kZXMg5YiG6YWN57yT5Yay5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAi5LiN6IO95Li6IGlub2RlIGNvdW50IOWIhumFjee8k+WGsuWMuiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAi5LiN6IO95Li6IHpvbmUgY291bnQg5YiG6YWN57yT5Yay5Yy6IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIuS4jeiDveivuyBpbm9kZSBtYXAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICLkuI3og73or7sgem9uZSBtYXAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAi5LiN6IO96K+7IGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICLorablkYo6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGlub2Rlc1xuIgorbXNnc3RyICIlbGQg5LiqaW5vZGVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBibG9ja3NcbiIKK21zZ3N0ciAiJWxkIOWdl1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDkgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIummluS4quaVsOaNruWMuj0lamQgKCVqZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIuWMuuWkp+Wwjz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWF4c2l6ZT0lenVcbiIKK21zZ3N0ciAi5pyA5aSn5bC65a+4PSV6dVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbSBzdGF0ZT0lZFxuIgorbXNnc3RyICLmlofku7bns7vnu5/nirbmgIE9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorbXNnc3RyICIiCisi5ZCN56ew6ZW/5bqmPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQg5qCH6K6w5Li65pyq5L2/55SoLCDkvYbnlKjkuo7mlofku7YgJyVzJ1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIzCittc2dpZCAiTWFyayBpbiB1c2UiCittc2dzdHIgIuagh+iusOS4uuW3suS9v+eUqCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6Njk1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0MworIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlsZSBgJXMnIGhhcyBtb2RlICUwNW9cbiIKK21zZ3N0ciAi5paH5Lu2IGAlcycg55qE5qih5byPICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICLorablkYo6IGlub2RlIOiuoeaVsOWkquWkpy5cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuaguSBpbm9kZSDkuI3mmK/kuIDkuKrnm67lvZUiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLlnZflt7Lnu4/ooqvkvb/nlKgsIOeOsOWcqOWcqOaWh+S7tiBgJXMnIOS4rS4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTQKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE1OAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjE0Cittc2dpZCAiQ2xlYXIiCittc2dzdHIgIua4hemZpCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzkzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgyNAorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9jayAlZCBpbiBmaWxlIGAlcycgaXMgbWFya2VkIG5vdCBpbiB1c2UuIgorbXNnc3RyICLmlofku7bkuK3lnZcgJWQgYCVzJyDmoIforrDkuLrmsqHmnInkvb/nlKguIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI2Cittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAi5q2j56GuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIuebruW9lSAnJXMnIOWMheWQq+S6huS4gOS4quS4jeato+ehrueahCBpbm9kZSBudW1iZXIg5paH5Lu2ICclLipzJy4gIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjcgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA0MQorbXNnaWQgIiBSZW1vdmUiCittc2dzdHIgIiDliKDpmaQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiAnLicgaXNuJ3QgZmlyc3RcbiIKK21zZ3N0ciAiJXM6IOS4jeato+ehrueahOebruW9lTogJy4nIOS4jeaYr+esrOS4gOS4qlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5OTIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGRpcmVjdG9yeTogJy4uJyBpc24ndCBzZWNvbmRcbiIKK21zZ3N0ciAiJXM6IOS4jeato+ehrueahOebruW9lTogJy4nIOS4jeaYr+esrOS6jOS4qlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAwIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjMKK21zZ2lkICJpbnRlcm5hbCBlcnJvciIKK21zZ3N0ciAi5YaF6YOo6ZSZ6K+vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTAzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IHNpemUgPCAzMiIKK21zZ3N0ciAiJXM6IOS4jeato+ehrueahOebruW9lTog5aSn5bCPIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6IGludmFsaWQgaV96b25lLCB1c2UgLS1yZXBhaXIgdG8gZml4XG4iCittc2dzdHIgIiVzOiDnm67lvZXplJnor686IGlfem9uZSDml6DmlYjvvIzor7fnlKggLS1yZXBhaXIg5L+u5aSNXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMzgKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBiYWRfem9uZSIKK21zZ3N0ciAiYmFkX3pvbmUg5Lit5a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTQ4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJJbm9kZSAlbHUg5qih5byP5pyq5riF6Zmk44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLiIKK21zZ3N0ciAiSW5vZGUgJWx1IOacquS9v+eUqO+8jOS9huWcqOS9jeWbvihiaXRtYXAp5Lit5qCH6K6w5Li65bey5L2/55So44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTYzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDlt7Lkvb/nlKjvvIzkvYblnKjkvY3lm74oYml0bWFwKeS4reagh+iusOS4uuacquS9v+eUqOOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE2NCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjIwCittc2dpZCAiU2V0IgorbXNnc3RyICLorr7nva4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNAorIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSAlbHUgKG1vZGUgPSAlMDdvKSwgaV9ubGlua3M9JWQsIGNvdW50ZWQ9JWQuIgorbXNnc3RyICJJbm9kZSAlbHUgKOaooeW8jyA9ICUwN28pLCBpX25saW5rcz0lZCwg5bey6K6h5pWwPSVk44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTcxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjcKK21zZ2lkICJTZXQgaV9ubGlua3MgdG8gY291bnQiCittc2dzdHIgIuWwhiBpX25saW5rcyDorr7kuLrorqHmlbAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExODMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAiJWx1IOWMuu+8muagh+iusOS4uuS9v+eUqO+8jOS9huayoeacieaWh+S7tuS9v+eUqOWug+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICLmuIXmoIforrAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIuWMuiAlbHXvvJrkvb/nlKjkuK3vvIzlt7LorqHmlbA9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE5MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgJWx1OiBub3QgaW4gdXNlLCBjb3VudGVkPSVkXG4iCittc2dzdHIgIuWMuiAlbHXvvJrmnKrkvb/nlKjvvIzlt7LorqHmlbA9JWRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI5OQorbXNnaWQgImJhZCBpbm9kZSBzaXplIgorbXNnc3RyICJpbm9kZSDlpKflsI/mnInor68iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAidjIgaW5vZGUg5aSn5bCP5pyJ6K+vIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQ2Cittc2dpZCAibmVlZCB0ZXJtaW5hbCBmb3IgaW50ZXJhY3RpdmUgcmVwYWlycyIKK21zZ3N0ciAi6ZyA6KaB57uI56uv5p2l6L+b6KGM5Lqk5LqS5byP5L+u5aSNIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzUwCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlcyIKK21zZ3N0ciAi5peg5rOV5omT5byAICVz77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgY2xlYW4sIG5vIGNoZWNrLlxuIgorbXNnc3RyICIlcyDmmK/lubLlh4DnmoTvvIzkuI3mo4Dmn6XjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gJXMuXG4iCittc2dzdHIgIuW8uuWItuWcqCAlcyDkuIrov5vooYzmlofku7bns7vnu5/mo4Dmn6XjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaWxlc3lzdGVtIG9uICVzIGlzIGRpcnR5LCBuZWVkcyBjaGVja2luZy5cbiIKK21zZ3N0ciAiJXMg5LiK55qE5paH5Lu257O757uf5pyJ6Zeu6aKY77yM6ZyA6KaB5qOA5p+l44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiU2bGQgaW5vZGVzIHVzZWQgKCVsZCUlKVxuIgorbXNnc3RyICIiCisiXG4iCisi5bey5L2/55SoICU2bGQgaW5vZGVzKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIuW3suS9v+eUqCAlNmxkIOWMuiglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCDkuKrluLjop4Tmlofku7ZcbiIKKyIlNmQg5Liq55uu5b2VXG4iCisiJTZkIOS4quWtl+espuiuvuWkh+aWh+S7tlxuIgorIiU2ZCDkuKrlnZforr7lpIfmlofku7ZcbiIKKyIlNmQg5Liq6ZO+5o6lXG4iCisiJTZkIOS4quespuWPt+mTvuaOpVxuIgorIi0tLS0tLVxuIgorIiU2ZCDkuKrmlofku7ZcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tXG4iCisi5paH5Lu257O757uf5bey57uP5pu05pS5XG4iCisiLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDMyIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzOAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1NDEgZGlzay11dGlscy9wYXJ0eC5jOjEwNTggZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTE0CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDAwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MSBzeXMtdXRpbHMvZG1lc2cuYzo2NjEgc3lzLXV0aWxzL3dkY3RsLmM6MzQ3CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTIgdGVybS11dGlscy9zY3JpcHQuYzoyOTggdGVybS11dGlscy9zY3JpcHQuYzozNzUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4NyB0ZXh0LXV0aWxzL3BnLmM6MTI1NgorbXNnaWQgIndyaXRlIGZhaWxlZCIKK21zZ3N0ciAi5YaZ5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG1pZ2h0IG5vdCBiZSBhbiBJU08gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXPvvJrlj6/og73kuI3mmK8gSVNPIOaWh+S7tuezu+e7nyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgYy1mb3JtYXQKK21zZ2lkICJyZWFkIGVycm9yIG9uICVzIgorbXNnc3RyICIlcyDor7vlh7rplJkiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEyNAorIywgYy1mb3JtYXQKK21zZ2lkICJzZWN0b3IgY291bnQ6ICVkLCBzZWN0b3Igc2l6ZTogJWRcbiIKK21zZ3N0ciAi5omH5Yy66K6h5pWw77yaJWTvvIzmiYfljLrlpKflsI/vvJolZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA8aXNvOTY2MOmVnOWDj+aWh+S7tj5cbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTUyCittc2dpZCAiU2hvdyB0aGUgbGVuZ3RoIG9mIGFuIElTTy05NjYwIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuaYvuekuiBJU08tOTY2MCDmlofku7bns7vnu5/nmoTplb/luqbjgIJcbiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTU1Cittc2dpZCAiIC1kLCAtLWRpdmlzb3I9PG51bWJlcj4gIGRpdmlkZSB0aGUgYW1vdW50IG9mIGJ5dGVzIGJ5IDxudW1iZXI+XG4iCittc2dzdHIgIiAtZCwgLS1kaXZpc29yPTzmlbDlrZc+ICAgIOWwhuWtl+iKguaVsOmZpOS7pSA85pWw5a2XPlxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNTYKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC14LCAtLXNlY3RvcnMgICAgICAgICAgIOaYvuekuuaJh+WMuuiuoeaVsOWSjOWkp+Wwj1xuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKK21zZ2lkICJpbnZhbGlkIGRpdmlzb3IgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCBkaXZpc29yKOmZpOaVsCkg5Y+C5pWwIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICJVc2FnZTogJXMgW+mAiemhuV0g6K6+5aSHIFvlnZfmlbBdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3OAorbXNnaWQgIk1ha2UgYW4gU0NPIGJmcyBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLliLbkvZwgU0NPIGJmcyDmlofku7bns7vnu5/jgIJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICBzcGVjaWZ5IGRlc2lyZWQgbnVtYmVyIG9mIGlub2Rlc1xuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIHNwZWNpZnkgdm9sdW1lIG5hbWVcbiIKKyIgLUYsIC0tZm5hbWU9TkFNRSAgICBzcGVjaWZ5IGZpbGUgc3lzdGVtIG5hbWVcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorIiAtYyAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKKyIgLWwgICAgICAgICAgICAgICAgICB0aGlzIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLpgInpobnmnInvvJpcbiIKKyIgLU4sIC0taW5vZGVzPU5VTSAgICDmjIflrprluIzmnJvnmoQgaW5vZGVzIOaVsOebrlxuIgorIiAtViwgLS12bmFtZT1OQU1FICAgIOaMh+WumuWNt+WQjVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIOaMh+WumuaWh+S7tuezu+e7n+WQjVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIOino+mHiuato+WcqOi/m+ihjOeahOaTjeS9nFxuIgorIiAtYyAgICAgICAgICAgICAgICAgIOatpOmAiemhueWwhuiiq+W/veeVpe+8jOS4jeWBmuaPkOekulxuIgorIiAtbCAgICAgICAgICAgICAgICAgIOatpOmAiemhueWwhuiiq+W/veeVpe+8jOS4jeWBmuaPkOekulxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIOWkp+WGmeS7peekuuS4jeiDveS4juWFtuS7lumAiemhueWQiOeUqFxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1Cittc2dpZCAiaW52YWxpZCBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLml6DmlYjnmoQgaW5vZGVzIOaVsOebriIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE1MQorbXNnaWQgInZvbHVtZSBuYW1lIHRvbyBsb25nIgorbXNnc3RyICLljbflkI3ov4fplb8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTgKK21zZ2lkICJmc25hbWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAiZnNuYW1lIOWQjei/h+mVvyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5NgorbXNnaWQgImludmFsaWQgYmxvY2stY291bnQiCittc2dzdHIgIuaXoOaViOeahOWdl+iuoeaVsCIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIwNAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZ2V0IHNpemUgb2YgJXMiCittc2dzdHIgIuaXoOazleiOt+W+lyAlcyDnmoTlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2tzIGFyZ3VtZW50IHRvbyBsYXJnZSwgbWF4IGlzICVsbHUiCittc2dzdHIgIuWdl+WPguaVsOi/h+Wkp++8jOacgOWkp+WAvOaYryAlbGx1IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjI0Cittc2dpZCAidG9vIG1hbnkgaW5vZGVzIC0gbWF4IGlzIDUxMiIKK21zZ3N0ciAiaW5vZGVzIOi/h+WkmiAtIOacgOWkmiA1MTIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibm90IGVub3VnaCBzcGFjZSwgbmVlZCBhdCBsZWFzdCAlbGx1IGJsb2NrcyIKK21zZ3N0ciAi56m66Ze05LiN6Laz77yM6Iez5bCR6ZyA6KaBICVsbHUg5Liq5Z2XIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZTogJXNcbiIKK21zZ3N0ciAi6K6+5aSH77yaJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NworIywgYy1mb3JtYXQKK21zZ2lkICJWb2x1bWU6IDwlLTZzPlxuIgorbXNnc3RyICLljbfvvJo8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICJGU25hbWU6IDwlLTZzPlxuIgorbXNnc3RyICLmlofku7bns7vnu5/lkI3vvJo8JS02cz5cbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0OQorIywgYy1mb3JtYXQKK21zZ2lkICJCbG9ja1NpemU6ICVkXG4iCittc2dzdHIgIuWdl+Wkp+Wwj++8miVkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGVzOiAlbGQgKGluIDEgYmxvY2spXG4iCittc2dzdHIgIklub2Rlc++8miVsZCAo5ZyoIDEg5Liq5Z2X5LitKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGVz77yaJWxkICjlnKggJWxsdSDkuKrlnZfkuK0pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tzOiAlbGx1XG4iCittc2dzdHIgIuWdl++8miVsbHVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI1NworIywgYy1mb3JtYXQKK21zZ2lkICJJbm9kZSBlbmQ6ICVkLCBEYXRhIGVuZDogJWRcbiIKK21zZ3N0ciAiSW5vZGUg57uI54K577yaJWTvvIzmlbDmja7nu4jngrnvvJolZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjYyCittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICLlhpnotoXnuqflnZflh7rplJkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgIuWGmSDmoLkgaW5vZGUg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjg4Cittc2dpZCAiZXJyb3Igd3JpdGluZyBpbm9kZSIKK21zZ3N0ciAi5YaZIGlub2RlIOWHuumUmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5MQorbXNnaWQgInNlZWsgZXJyb3IiCittc2dzdHIgIuWumuS9jeWHuumUmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI5NworbXNnaWQgImVycm9yIHdyaXRpbmcgLiBlbnRyeSIKK21zZ3N0ciAi5YaZIC4g6K6w5b2V5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzAxCittc2dpZCAiZXJyb3Igd3JpdGluZyAuLiBlbnRyeSIKK21zZ3N0ciAi5YaZIC4uIOiusOW9leWHuumUmSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjMwNAorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjbG9zaW5nICVzIgorbXNnc3RyICLlhbPpl60gJXMg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWy10IDznsbvlnos+XSBb5paH5Lu257O757uf6YCJ6aG5XSA86K6+5aSHPiBbPOWkp+Wwjz5dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ5Cittc2dpZCAiTWFrZSBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuWIm+W7uuS4gOS4qkxpbnV4IOaWh+S7tuezu+e7n+OAglxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiAtdCwgLS10eXBlPTznsbvlnos+ICDmlofku7bns7vnu5/nsbvlnovvvJvoi6XkuI3mjIflrprvvIzlsIbkvb/nlKggZXh0MlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MworIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIGZzLW9wdGlvbnMgICAgIHBhcmFtZXRlcnMgZm9yIHRoZSByZWFsIGZpbGVzeXN0ZW0gYnVpbGRlclxuIgorbXNnc3RyICIgICAgIGZzLW9wdGlvbnMgICAgIOWunumZheaWh+S7tuezu+e7n+aehOW7uueoi+W6j+eahOWPguaVsFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiAgICAgPOiuvuWkhz4gICAgICAgICDopoHkvb/nlKjorr7lpIfnmoTot6/lvoRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIgICAgIDzlpKflsI8+ICAgICAgICAg6KaB5L2/55So6K6+5aSH5LiK55qE5Z2X5pWwXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIOino+mHiuato+WcqOi/m+ihjOeahOaTjeS9nO+8m1xuIgorIiAgICAgICAgICAgICAgICAgICAgICDlpJrmrKHmjIflrpogLVYg5bCG5a+86Ie056m66L+Q6KGMKGRyeS1ydW4pXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjEzOSBpbmNsdWRlL2MuaDoyMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQzNQorIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjc5MSBsb2dpbi11dGlscy9zdWxvZ2luLmM6Nzk1IHN5cy11dGlscy9mbG9jay5jOjEyMQorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1OTUgdGVybS11dGlscy9zY3JpcHQuYzo2MTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGV4ZWN1dGUgJXMiCittc2dzdHIgIuaJp+ihjCAlcyDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJ1c2FnZTogJXMgWy1oXSBbLXZdIFstYiBibGtzaXplXSBbLWUgZWRpdGlvbl0gWy1OIGVuZGlhbl0gWy1pIGZpbGVdIFstbiBuYW1lXSBkaXJuYW1lIG91dGZpbGVcbiIKKyIgLXYgICAgICAgICBiZSB2ZXJib3NlXG4iCisiIC1FICAgICAgICAgbWFrZSBhbGwgd2FybmluZ3MgZXJyb3JzIChub24temVybyBleGl0IHN0YXR1cylcbiIKKyIgLWIgYmxrc2l6ZSB1c2UgdGhpcyBibG9ja3NpemUsIG11c3QgZXF1YWwgcGFnZSBzaXplXG4iCisiIC1lIGVkaXRpb24gc2V0IGVkaXRpb24gbnVtYmVyIChwYXJ0IG9mIGZzaWQpXG4iCisiIC1OIGVuZGlhbiAgc2V0IGNyYW1mcyBlbmRpYW5uZXNzIChiaWd8bGl0dGxlfGhvc3QpLCBkZWZhdWx0IGhvc3RcbiIKKyIgLWkgZmlsZSAgICBpbnNlcnQgYSBmaWxlIGltYWdlIGludG8gdGhlIGZpbGVzeXN0ZW1cbiIKKyIgLW4gbmFtZSAgICBzZXQgbmFtZSBvZiBjcmFtZnMgZmlsZXN5c3RlbVxuIgorIiAtcCAgICAgICAgIHBhZCBieSAlZCBieXRlcyBmb3IgYm9vdCBjb2RlXG4iCisiIC1zICAgICAgICAgc29ydCBkaXJlY3RvcnkgZW50cmllcyAob2xkIG9wdGlvbiwgaWdub3JlZClcbiIKKyIgLXogICAgICAgICBtYWtlIGV4cGxpY2l0IGhvbGVzXG4iCisiIGRpcm5hbWUgICAgcm9vdCBvZiB0aGUgZmlsZXN5c3RlbSB0byBiZSBjb21wcmVzc2VkXG4iCisiIG91dGZpbGUgICAgb3V0cHV0IGZpbGVcbiIKK21zZ3N0ciAiIgorIueUqOazle+8miVzIFstaF0gWy12XSBbLWIg5Z2X5aSn5bCPXSBbLWUg54mI5pysXSBbLU4g5aSn5bCP56uvXSBbLWkg5paH5Lu2XSBbLW4g5ZCN56ewXSDnm67lvZXlkI0g6L6T5Ye65paH5Lu2XG4iCisiIC1oICAgICAgICAg5omT5Y2w5q2k5biu5YqpXG4iCisiIC12ICAgICAgICAg6K+m5bC95qih5byPXG4iCisiIC1FICAgICAgICAg5bCG5omA5pyJ6K2m5ZGK6KeG5Li66ZSZ6K+vKOmAgOWHuueKtuaAgeeggemdniAwKVxuIgorIiAtYiDlnZflpKflsI8gIOS9v+eUqOatpCDlnZflpKflsI/vvIzlv4XpobvkuI7pobXlpKflsI/nm7jlkIxcbiIKKyIgLWUg54mI5pysICAgIOiuvue9ruS/ruiuoueJiOacrOWPtyhmc2lkIOeahOS4gOmDqOWIhilcbiIKKyIgLU4g5aSn5bCP56uvICDorr7nva4gY3JhbWZzIOWkp+Wwj+erryhiaWd8bGl0dGxlfGhvc3Qp77yM6buY6K6k5Li6IGhvc3RcbiIKKyIgLWkg5paH5Lu2ICAgIOWwhuaWh+S7tumVnOWDj+aPkuWFpeaWh+S7tuezu+e7nyjopoHmsYIgPj0gMi40LjApXG4iCisiIC1uIOWQjeensCAgICDorr7nva5jcmFtZnMg5paH5Lu257O757uf5ZCN56ewXG4iCisiIC1wICAgICAgICAg55So5LqO5ZCv5Yqo5Luj56CB55qEICVkIOWtl+iKgueahCBwYWQg5Yy6XG4iCisiIC1zICAgICAgICAg5a+555uu5b2V6K6w5b2V6L+b6KGM5o6S5bqPKOaXp+mAiemhue+8jOS8muiiq+W/veeVpSlcbiIKKyIgLXogICAgICAgICDkuqfnlJ/mmL7lvI/nqbrmtJ4gKOimgeaxgiA+PSAyLjMuMzkpXG4iCisiIOebruW9leWQjSAgICAg6KaB5Y6L57yp55qE5paH5Lu257O757uf55qE5qC555uu5b2VXG4iCisiIOi+k+WHuuaWh+S7tiAgIOi+k+WHuuaWh+S7tlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgInJlYWRsaW5rIOWksei0pe+8miVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBjLWZvcm1hdAorbXNnaWQgImNvdWxkIG5vdCByZWFkIGRpcmVjdG9yeSAlcyIKK21zZ3N0ciAi5peg5rOV6K+755uu5b2VICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NDQyCittc2dpZCAiZmlsZXN5c3RlbSB0b28gYmlnLiAgRXhpdGluZy4iCittc2dzdHIgIuaWh+S7tuezu+e7n+i/h+Wkp+OAguWwhumAgOWHuuOAgiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVF77ya5Z2X5bey4oCc5Y6L57yp4oCd5YiwID4gMirlnZfplb/luqYoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiU2LjJmJSUgKCUrbGQgYnl0ZXMpXHQlc1xuIgorbXNnc3RyICIlNi4yZiUlICglK2xkIOWtl+iKgilcdCVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNsb3NlIGZpbGUgJXMiCittc2dzdHIgIuaXoOazleWFs+mXreaWh+S7tiAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc0MgorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahOS/ruiuoueJiOacrOWPt+WPguaVsCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1MgorbXNnaWQgImludmFsaWQgZW5kaWFubmVzcyBnaXZlbjsgbXVzdCBiZSAnYmlnJywgJ2xpdHRsZScsIG9yICdob3N0JyIKK21zZ3N0ciAi57uZ5a6a55qE5aSn5bCP56uv5peg5pWI44CC5b+F6aG75Li64oCcYmln4oCd44CB4oCcbGl0dGxl4oCd5oiW4oCcaG9zdOKAnSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBndWVzdGltYXRlIG9mIHJlcXVpcmVkIHNpemUgKHVwcGVyIGJvdW5kKSBpcyAlbGxkTUIsIGJ1dCBtYXhpbXVtIGltYWdlIHNpemUgaXMgJXVNQi4gIFdlIG1pZ2h0IGRpZSBwcmVtYXR1cmVseS4iCittc2dzdHIgIuitpuWRiu+8muS8sOiuoemcgOimgeeahOWkp+WwjyjkuIrpmZAp5Li6ICVsbGRNQu+8jOS9huacgOWkp+mVnOWDj+Wkp+Wwj+S4uiAldU1C44CC56iL5bqP5Y+v6IO95o+Q5YmN57uI5q2iKGRpZSnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4NDIKK21zZ2lkICJST00gaW1hZ2UgbWFwIgorbXNnc3RyICJST00g6ZWc5YOP5pig5bCEIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAi5YyF5ZCr77yaJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIuebruW9leaVsOaNru+8miV6ZCDlrZfoioJcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIuWFqOmDqO+8miV6ZCBLQlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODczCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cGVyIGJsb2NrOiAlemQgYnl0ZXNcbiIKK21zZ3N0ciAi6LaF57qn5Z2X77yaJXpkIOWtl+iKglxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODgwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNSQzogJXhcbiIKK21zZ3N0ciAiQ1JD77yaJXhcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgZW5vdWdoIHNwYWNlIGFsbG9jYXRlZCBmb3IgUk9NIGltYWdlICglbGxkIGFsbG9jYXRlZCwgJXp1IHVzZWQpIgorbXNnc3RyICLkuLogUk9NIOmVnOWDj+WIhumFjeeahOepuumXtOS4jei2syjlt7LliIbphY0gJWxsZO+8jOW3suS9v+eUqCAlenUpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODkxCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPTSBpbWFnZSB3cml0ZSBmYWlsZWQgKCV6ZCAlemQpIgorbXNnc3RyICLlhpkgUk9NIOmVnOWDj+Wksei0pSglemQgJXpkKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5NAorbXNnaWQgIlJPTSBpbWFnZSIKK21zZ3N0ciAiUk9NIOmVnOWDjyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMworIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlbmFtZXMgdHJ1bmNhdGVkIHRvICV1IGJ5dGVzLiIKK21zZ3N0ciAi6K2m5ZGK77ya5paH5Lu25ZCN6KKr5oiq55+t5Li6ICV1IOS4quWtl+iKguOAgiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwNQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAi6K2m5ZGK77ya55Sx5LqO6ZSZ6K+v77yM5paH5Lu26KKr6Lez6L+H44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGZpbGUgc2l6ZXMgdHJ1bmNhdGVkIHRvICVsdU1CIChtaW51cyAxIGJ5dGUpLiIKK21zZ3N0ciAi6K2m5ZGK77ya5paH5Lu25aSn5bCP6KKr5oiq55+t5Li6ICVsdU1CKOWHjyAxIOWtl+iKginjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo5MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdWlkcyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIChUaGlzIG1heSBiZSBhIHNlY3VyaXR5IGNvbmNlcm4uKSIKK21zZ3N0ciAi6K2m5ZGK77yadWlkIOiiq+aIquefreS4uiAldSDkvY3jgIIo5Y+v6IO95pyJ5a6J5YWo6ZqQ5oKj44CCKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkxNAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLorablkYrvvJpnaWQg6KKr5oiq55+t5Li6ICV1IOS9jeOAgijlj6/og73mnInlronlhajpmpDmgqPjgIIpIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJXQVJOSU5HOiBkZXZpY2UgbnVtYmVycyB0cnVuY2F0ZWQgdG8gJXUgYml0cy4gIFRoaXMgYWxtb3N0IGNlcnRhaW5seSBtZWFuc1xuIgorInRoYXQgc29tZSBkZXZpY2UgZmlsZXMgd2lsbCBiZSB3cm9uZy4iCittc2dzdHIgIuitpuWRiu+8muiuvuWkh+WPt+iiq+aIquefreS4uiAldSDkvY3jgILlh6DkuY7lj6/ku6Xogq/lrprmn5Dkupvorr7lpIfmlofku7blsIblh7rplJnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gL2Rldi9uYW1lIFvlnZfmlbBdXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MAorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtMSAgICAgICAgICAgICAgICAgICAgICDkvb/nlKggTWluaXgg56ysIDEg54mIXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MQorbXNnaWQgIiAtMiwgLXYgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAyXG4iCittc2dzdHIgIiAtMiwgLXYgICAgICAgICAgICAgICAgICDkvb/nlKggTWluaXgg56ysIDIg54mIXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorbXNnaWQgIiAtMyAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAzXG4iCittc2dzdHIgIiAtMyAgICAgICAgICAgICAgICAgICAgICDkvb/nlKggTWluaXgg56ysIDMg54mIXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MworbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWVsZW5ndGggPOaVsOWtlz4g5paH5Lu25ZCN55qE5pyA5aSn6ZW/5bqmXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NAorbXNnaWQgIiAtaSwgLS1pbm9kZXMgPG51bT4gICAgICBudW1iZXIgb2YgaW5vZGVzIGZvciB0aGUgZmlsZXN5c3RlbVxuIgorbXNnc3RyICIgLWksIC0taW5vZGVzIDzmlbDlrZc+ICAgICDmlofku7bns7vnu5/nmoQgaW5vZGUg5pWwXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtYywgLS1jaGVjayAgICAgICAgICAgICDmo4Dmn6Xorr7lpIflnY/lnZdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ2Cittc2dpZCAiIC1sLCAtLWJhZGJsb2NrcyA8ZmlsZT4gIGxpc3Qgb2YgYmFkIGJsb2NrcyBmcm9tIGZpbGVcbiIKK21zZ3N0ciAiIC1sLCAtLWJhZGJsb2NrcyA85paH5Lu2PiAg5YiX5Ye65paH5Lu25Lit55qE5Z2P5Z2XXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlc++8muWcqCB3cml0ZV90YWJsZXMg5Lit5a6a5L2N5Yiw5ZCv5Yqo5Z2X5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBjbGVhciBib290IHNlY3RvciIKK21zZ3N0ciAiJXPvvJrml6Dms5XmuIXpmaTlkK/liqjmiYfljLoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlc++8muWcqCB3cml0ZV90YWJsZXMg5Lit5a6a5L2N5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXPvvJrml6Dms5XlhpnotoXnuqflnZciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlIG1hcCIKK21zZ3N0ciAiJXPvvJrml6Dms5XlhpkgaW5vZGUgbWFwIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAiJXPvvJrml6Dms5Xlhpkgem9uZSBtYXAiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXPvvJrml6Dms5XlhpkgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlc++8muWcqCB3cml0ZV9ibG9jayDkuK3lrprkvY3lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd3JpdGUgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICIlc++8muWcqCB3cml0ZV9ibG9jayDkuK3lhpnlhaXlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIG1hbnkgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXPvvJrlnY/lnZflpKrlpJoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGVub3VnaCBnb29kIGJsb2NrcyIKK21zZ3N0ciAiJXPvvJrlpb3lnZfkuI3lpJ8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRmlyc3QgZGF0YSBibG9jayBhdCAlamQsIHdoaWNoIGlzIHRvbyBmYXIgKG1heCAlZCkuXG4iCisiVHJ5IHNwZWNpZnlpbmcgZmV3ZXIgaW5vZGVzIGJ5IHBhc3NpbmcgLS1pbm9kZXMgPG51bT4iCittc2dzdHIgIiIKKyLnrKzkuIDkuKrmlbDmja7lnZfkvY3kuo4gJWpk77yM6L+H6L+cKOacgOWkp+S4uiAlZCnjgIJcbiIKKyLor7flsJ3or5XpgJrov4fkvKDpgJIgLS1pbm9kZXMgPOaVsOWAvD4g5p2l5oyH5a6a5pu05bCR55qEIGlub2RlIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGlub2RlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBpbm9kZXNcbiIKK21zZ3N0clswXSAiJWx1IOS4qiBpbm9kZVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJsb2NrXG4iCittc2dpZF9wbHVyYWwgIiVsdSBibG9ja3NcbiIKK21zZ3N0clswXSAiJWx1IOS4quWdl1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIuWMuuWkp+Wwjz0lenVcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisi5pyA5aSn5bC65a+4PSV6dVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGR1cmluZyB0ZXN0aW5nIG9mIGJsb2NrcyIKK21zZ3N0ciAiJXPvvJrlnKjmtYvor5XlnZfml7blrprkvY3lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICJXZWlyZCB2YWx1ZXMgaW4gZG9fY2hlY2s6IHByb2JhYmx5IGJ1Z3NcbiIKK21zZ3N0ciAiZG9fY2hlY2sg5Lit55qE5YC85byC5bi477ya5Y+v6IO95pyJIGJ1Z1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNlZWsgZmFpbGVkIGluIGNoZWNrX2Jsb2NrcyIKK21zZ3N0ciAiJXPvvJrlnKggY2hlY2tfYmxvY2tzIOS4reWumuS9jeWksei0pSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgYmxvY2tzIGJlZm9yZSBkYXRhLWFyZWE6IGNhbm5vdCBtYWtlIGZzIgorbXNnc3RyICIlc++8muaVsOaNruWMuuWJjeacieWdj+Wdl++8muaXoOazleWIm+W7uuaWh+S7tuezu+e7nyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjQxIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCDkuKrlnY/lnZdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBvcGVuIGZpbGUgb2YgYmFkIGJsb2NrcyIKK21zZ3N0ciAiJXM6IOaJk+S4jeW8gOWdj+Wdl+aWh+S7tiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZGJsb2NrIG51bWJlciBpbnB1dCBlcnJvciBvbiBsaW5lICVkXG4iCittc2dzdHIgIuesrCAlZCDooYzlnY/lnZfmlbDovpPlhaXplJnor69cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXM6IOaJk+S4jeW8gCBiYWRibG9ja3Mg5paH5Lu2IgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmxvY2sgc2l6ZSBzbWFsbGVyIHRoYW4gcGh5c2ljYWwgc2VjdG9yIHNpemUgb2YgJXMiCittc2dzdHIgIuWdl+WwuuWvuOavlCAlcyDnmoTniannkIbmiYfljLrlsLrlr7jlsI8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZGV0ZXJtaW5lIHNpemUgb2YgJXMiCittc2dzdHIgIuaXoOazleehruWumiAlcyDnmoTlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcmVxdWVzdGVkIGJsb2NrcyAoJWxsdSkgZXhjZWVkcyBhdmFpbGFibGUgKCVsbHUpIGJsb2Nrc1xuIgorbXNnc3RyICIlc++8mumHjeWkjeeahOWdlyAoJWxsdSkg6LaF5Ye65Y+v55So55qEICglbGx1KSDlnZdcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXPvvJrlnZfmlbDlpKrlsI8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6ICVkIgorbXNnc3RyICLkuI3mlK/mjIHnmoTlkI3lrZfplb/luqbvvJolZCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzM0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG1pbml4IGZpbGUgc3lzdGVtIHZlcnNpb246ICVkIgorbXNnc3RyICIg5LiN5pSv5oyB55qEIG1pbml4IOaWh+S7tuezu+e7n+eJiOacrO+8miVkIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3NzEKK21zZ2lkICItdiBpcyBhbWJpZ3VvdXMsIHVzZSAnLTInIGluc3RlYWQiCittc2dzdHIgIi12IOWQq+S5ieS4jea4he+8jOivt+i9rOeUqOKAnC0y4oCdIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICLop6PmnpDmlofku7blkI3mnIDlpKfplb/luqblpLHotKUiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgaW5vZGVzIgorbXNnc3RyICLop6PmnpAgaW5vZGUg5pWwIOWksei0pSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIuino+aekOWdl+aVsOWksei0pSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDlt7LmjILovb3vvJvlsIbkuI3kvJrlnKjmraTliJvlu7rmlofku7bns7vnu5/vvIEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmFkIHVzZXItc3BlY2lmaWVkIHBhZ2Ugc2l6ZSAldSIKK21zZ3N0ciAi55So5oi35oyH5a6a55qE6aG15aSn5bCPICV1IOacieivryIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgYy1mb3JtYXQKK21zZ2lkICJVc2luZyB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJWQsIGluc3RlYWQgb2YgdGhlIHN5c3RlbSB2YWx1ZSAlZCIKK21zZ3N0ciAi5bCG5L2/55So55So5oi35oyH5a6a55qE6aG15aSn5bCPICVkIOadpeWPluS7o+ezu+e7n+WAvCAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKK21zZ2lkICJMYWJlbCB3YXMgdHJ1bmNhdGVkLiIKK21zZ3N0ciAi5qCH562+5bey5oiq55+t44CCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjEzMgorIywgYy1mb3JtYXQKK21zZ2lkICJubyBsYWJlbCwgIgorbXNnc3RyICLml6DmoIfnrb7vvIwiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vIHV1aWRcbiIKK21zZ3N0ciAi5pegIHV1aWRcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbb3B0aW9uc10gZGV2aWNlIFtzaXplXVxuIgorbXNnc3RyICIiCisiXG4iCisi55So5rOVXG4iCisiICVzIFvpgInpobldIOiuvuWkhyBb5aSn5bCPXVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1MworbXNnaWQgIlNldCB1cCBhIExpbnV4IHN3YXAgYXJlYS5cbiIKK21zZ3N0ciAi6K6+572uIExpbnV4IOS6pOaNouWMuuOAglxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCisiIC1jLCAtLWNoZWNrICAgICAgICAgICAgICAgY2hlY2sgYmFkIGJsb2NrcyBiZWZvcmUgY3JlYXRpbmcgdGhlIHN3YXAgYXJlYVxuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGFsbG93IHN3YXAgc2l6ZSBhcmVhIGJlIGxhcmdlciB0aGFuIGRldmljZVxuIgorIiAtcCwgLS1wYWdlc2l6ZSBTSVpFICAgICAgIHNwZWNpZnkgcGFnZSBzaXplIGluIGJ5dGVzXG4iCisiIC1MLCAtLWxhYmVsIExBQkVMICAgICAgICAgc3BlY2lmeSBsYWJlbFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIHNwZWNpZnkgc3dhcC1zcGFjZSB2ZXJzaW9uIG51bWJlclxuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIHNwZWNpZnkgdGhlIHV1aWQgdG8gdXNlXG4iCittc2dzdHIgIiIKKyJcbiIKKyLpgInpobnvvJpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICDliJvlu7rkuqTmjaLljLrliY3mo4Dmn6XlnY/lnZdcbiIKKyIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDlhYHorrjkuqTmjaLljLrlpKfkuo7orr7lpIflpKflsI9cbiIKKyIgLXAsIC0tcGFnZXNpemUgU0laRSAgICAgICDmjIflrprpobXlpKflsI/kuLogU0laRSDlrZfoioJcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICDmjIflrprmoIfnrb7kuLogTEFCRUxcbiIKKyIgLXYsIC0tc3dhcHZlcnNpb24gTlVNICAgICDmjIflrprkuqTmjaLnqbrpl7TniYjmnKzlj7fkuLogTlVNXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAg5oyH5a6a6KaB5L2/55So55qEIFVVSURcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgIuWdj+mhtei/h+Wkmu+8miVsdSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgImNoZWNrX2Jsb2NrcyAo5qOA5p+l5Z2XKeaXtuWumuS9jeWksei0pSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyMDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IOS4quWdj+mhtVxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIuaXoOazleWIhumFjeaWsOeahCBsaWJibGtpZCDmjqLpkogiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIuaXoOazleWwhuiuvuWkh+WIhumFjee7mSBsaWJibGtpZCDmjqLpkogiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIuitpuWRiu+8muS4jeaUr+aMgeajgOafpeS6pOaNouWMuueahOWdj+Wdl++8miVzIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI2MyBkaXNrLXV0aWxzL21rc3dhcC5jOjI4OSBkaXNrLXV0aWxzL21rc3dhcC5jOjMzNgorbXNnaWQgInVuYWJsZSB0byByZXdpbmQgc3dhcC1kZXZpY2UiCittc2dzdHIgIuaXoOazleWAkuWbnihyZXdpbmQp5Lqk5o2i6K6+5aSHIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjI5MgorbXNnaWQgInVuYWJsZSB0byBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICLkuI3og73mk6bpmaQgYm9vdGJpdHMg5omH5Yy6IgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FybmluZzogd2lwaW5nIG9sZCAlcyBzaWduYXR1cmUuIgorbXNnc3RyICIlc++8muitpuWRiu+8jOWwhuaTpumZpOaXp+eahCAlcyDnrb7lkI3jgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXJuaW5nOiBkb24ndCBlcmFzZSBib290Yml0cyBzZWN0b3JzIgorbXNnc3RyICIlc++8muitpuWRiu+8jOS4jeimgeaTpumZpCBib290Yml0cyDmiYfljLoiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKCVzIHBhcnRpdGlvbiB0YWJsZSBkZXRlY3RlZCkuICIKK21zZ3N0ciAiICAgICAgICAo5qOA5rWL5YiwICVzIOWIhuWMuuihqCnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgKGNvbXBpbGVkIHdpdGhvdXQgbGliYmxraWQpLiAiCittc2dzdHIgIiAgICAgICAgKOe8luivkeaXtuacqumTvuaOpSBsaWJibGtpZCnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAi5L2/55SoIC1mIOmAiemhueW8uuWItuaJp+ihjOOAglxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM0MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHNpZ25hdHVyZSBwYWdlIgorbXNnc3RyICIlc++8muaXoOazleWGmeetvuWQjemhtSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODIKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgIuino+aekOmhteWkp+Wwj+Wksei0pSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKK21zZ2lkICJwYXJzaW5nIHZlcnNpb24gbnVtYmVyIGZhaWxlZCIKK21zZ3N0ciAi6Kej5p6Q54mI5pys5Y+35aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJzd2Fwc3BhY2UgdmVyc2lvbiAlZCBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLkuI3mlK/mjIEgc3dhcHNwYWNlIOeJiOacrCAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogaWdub3JpbmcgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCBieSAlcykiCittc2dzdHIgIuitpuWRiu+8muWwhuW/veeVpSAtVSDpgInpobkoJXMg5LiN5pSv5oyBIFVVSUQpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICLlvZPliY3lj6rmlK/mjIHkuIDkuKrorr7lpIflj4LmlbAiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCittc2dpZCAiZXJyb3I6IHBhcnNpbmcgVVVJRCBmYWlsZWQiCittc2dzdHIgIumUmeivr++8muino+aekCBVVUlEIOWksei0pSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKK21zZ2lkICJlcnJvcjogTm93aGVyZSB0byBzZXQgdXAgc3dhcCBvbj8iCittc2dzdHIgIumUmeivr++8muayoeacieiuvue9ruS6pOaNouepuumXtOeahOWcsOaWue+8nyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzgKK21zZ2lkICJpbnZhbGlkIGJsb2NrIGNvdW50IGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQg5Z2X6K6h5pWwIOWPguaVsCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6IHNpemUgJWxsdSBLaUIgaXMgbGFyZ2VyIHRoYW4gZGV2aWNlIHNpemUgJTxQUkl1NjQ+IEtpQiIKK21zZ3N0ciAi6ZSZ6K+v77ya5bC65a+4ICVsbHUgS2lCIOWkp+S6juiuvuWkh+WwuuWvuCAlPFBSSXU2ND4gS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIumUmeivr++8muS6pOaNouWMuuiHs+WwkemcgOimgSAlbGQgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB0cnVuY2F0aW5nIHN3YXAgYXJlYSB0byAlbGx1IEtpQiIKK21zZ3N0ciAi6K2m5ZGK77ya5bCG5oqK5Lqk5o2i5Yy65oiq55+t5Li6ICVsbHUgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMgaXMgbW91bnRlZDsgd2lsbCBub3QgbWFrZSBzd2Fwc3BhY2UiCittc2dzdHIgIumUmeivr++8miVzIOW3suaMgui9ve+8m+WwhuS4jeS8muWIm+W7uuS6pOaNouepuumXtCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlc++8muS4jeWuieWFqOeahOadg+mZkCAlMDRv77yM5bu66K6u5L2/55SoICUwNG/jgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDc0IHN5cy11dGlscy9zd2Fwb24uYzo1MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVz77ya5LiN5a6J5YWo55qE5paH5Lu25oul5pyJ6ICFICVk77yM5bu66K6u5L2/55SoIDAocm9vdCnjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICLml6Dms5Xorr7nva7kuqTmjaLnqbrpl7TvvJrkuI3lj6/or7siCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlNldHRpbmcgdXAgc3dhcHNwYWNlIHZlcnNpb24gJWQsIHNpemUgPSAlcyAoJTxQUkl1NjQ+IGJ5dGVzKVxuIgorbXNnc3RyICLmraPlnKjorr7nva7kuqTmjaLnqbrpl7TniYjmnKwgJWTvvIzlpKflsI8gPSAlcyAoJTxQUkl1NjQ+ICDkuKrlrZfoioIpXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXPvvJrml6Dms5Xojrflvpcgc2VsaW51eCDmlofku7bmoIfnrb4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICLml6Dms5XmiafooYwgbWF0Y2hwYXRoY29uKCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICLml6Dms5XliJvlu7rmlrDnmoQgc2VsaW51eCDnjq/looMoY29udGV4dCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIyCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIuaXoOazleiuoeeulyBzZWxpbnV4IOeOr+Wigyhjb250ZXh0KSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlbGFiZWwgJXMgdG8gJXMiCittc2dzdHIgIuaXoOazleWwhiAlcyDmoIfnrb7mlLnkuLogJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorbXNnaWQgInBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIuWIhuWMuuWPtyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg3Cittc2dpZCAic3RhcnQgb2YgdGhlIHBhcnRpdGlvbiBpbiBzZWN0b3JzIgorbXNnc3RyICLliIbljLrotbfngrko5omH5Yy65pWwKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4Cittc2dpZCAiZW5kIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycyIKK21zZ3N0ciAi5YiG5Yy657uI54K5KOaJh+WMuuaVsCkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4OQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICLmiYfljLrmlbAiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorbXNnaWQgImh1bWFuIHJlYWRhYmxlIHNpemUiCittc2dzdHIgIuaYk+ivu+W9ouW8j+eahOWkp+WwjyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkxCittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuWIhuWMuuWQjSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCittc2dpZCAicGFydGl0aW9uIFVVSUQiCittc2dzdHIgIuWIhuWMuiBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTMKK21zZ2lkICJwYXJ0aXRpb24gdGFibGUgdHlwZSAoZG9zLCBncHQsIC4uLikiCittc2dzdHIgIuWIhuWMuuihqOexu+Weiyhkb3PjgIFncHTjgIEuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorbXNnaWQgInBhcnRpdGlvbiBmbGFncyIKK21zZ3N0ciAi5YiG5Yy65qCH5b+XIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTUKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSAoYSBzdHJpbmcsIGEgVVVJRCwgb3IgaGV4KSIKK21zZ3N0ciAi5YiG5Yy657G75Z6LKOWtl+espuS4su+8jFVVSUQg5oiW5Y2B5YWt6L+b5Yi25pWwKSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiCittc2dzdHIgIuWIneWni+WMliBsb29wY3h0IOWksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlc++8muafpeaJvuacquS9v+eUqOeahOWbnueOr+iuvuWkh+Wksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEyMgorIywgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICLlsJ3or5XlsIbigJwlc+KAneeUqOS9nOWbnueOr+iuvuWkh1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAiJXPvvJrorr7nva7lkI7lpIfmlofku7blpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMzEgc3lzLXV0aWxzL2xvc2V0dXAuYzo1NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgdXAgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVz77ya6K6+572u5Zue546v6K6+5aSH5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTYxIGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzA3IG1pc2MtdXRpbHMvZmluY29yZS5jOjkyCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozNzYgbWlzYy11dGlscy9sc2Jsay5jOjM2NyBtaXNjLXV0aWxzL2xzbG9ja3MuYzozNDIKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTI1IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTI2IHN5cy11dGlscy9sb3NldHVwLmM6MTEwCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMjAgc3lzLXV0aWxzL2xzaXBjLmM6MjMyIHN5cy11dGlscy9sc21lbS5jOjE4MAorIzogc3lzLXV0aWxzL2xzbnMuYzoyMjMgc3lzLXV0aWxzL3BybGltaXQuYzoyNzcgc3lzLXV0aWxzL3Jma2lsbC5jOjE2MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjE1MCBzeXMtdXRpbHMvd2RjdGwuYzoxNTEgc3lzLXV0aWxzL3pyYW1jdGwuYzoxNDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICLmnKrnn6XliJc6ICVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVz77ya6I635Y+W5YiG5Yy65Y+35aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjg2IGRpc2stdXRpbHMvcGFydHguYzozMjQgZGlzay11dGlscy9wYXJ0eC5jOjQ3NworIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZpZWQgcmFuZ2UgPCVkOiVkPiBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLmjIflrprnmoTojIPlm7QgPCVkOiVkPiDml6DmlYgiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIumHjeaWsOiuoeeul+iMg+WbtO+8muacgOWkp+WIhuWMuuWPtz0lZO+8jOS4i+mZkD0lZO+8jOS4iumZkD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVz77ya5Yig6Zmk5YiG5Yy6ICVkIOWHuumUmSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgZGVsZXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPvvJrliKDpmaTliIbljLogJWQtJWQg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlbW92ZWRcbiIKK21zZ3N0ciAiJXPvvJrliIbljLogIyVkIOW3suenu+mZpFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXPvvJrliIbljLogIyVkIOS4jeWtmOWcqFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkZWxldGluZyBwYXJ0aXRpb24gIyVkIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrliKDpmaTliIbljLogIyVkIOWksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgYWRkaW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXPvvJrmt7vliqDliIbljLogJWQg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPvvJrmt7vliqDliIbljLogJWQtJWQg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDA1IGRpc2stdXRpbHMvcGFydHguYzo1MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgYWRkZWRcbiIKK21zZ3N0ciAiJXPvvJrliIbljLogIyVkIOW3sua3u+WKoFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5re75Yqg5YiG5Yy6ICMlZCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIHVwZGF0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXPvvJrmm7TmlrDliIbljLogJWQg5Ye66ZSZIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlc++8muabtOaWsOWIhuWMuiAlZC0lZCDlh7rplJkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiAjJWQiCittc2dzdHIgIiVz77ya5peg5YiG5Yy6ICMlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCByZXNpemVkXG4iCittc2dzdHIgIiVz77ya5bey6LCD5pW05YiG5Yy6ICMlZCDnmoTlpKflsI9cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjUyMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5pu05paw5YiG5Yy6ICMlZCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvciwgJTZqdSBNQilcbiIKK21zZ2lkX3BsdXJhbCAiIyUyZDogJTlqdS0lOWp1ICglOWp1IHNlY3RvcnMsICU2anUgTUIpXG4iCittc2dzdHJbMF0gIiMlMmTvvJolOWp1LSU5anUgKCU5anUg5omH5Yy6JTZqdSBNQilcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjY3OCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNzMgbWlzYy11dGlscy9maW5kbW50LmM6MTYyMgorIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MzAgbWlzYy11dGlscy9sc2xvY2tzLmM6NDYyIHN5cy11dGlscy9sb3NldHVwLmM6MzMzCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNjE4IHN5cy11dGlscy9wcmxpbWl0LmM6MzA2IHN5cy11dGlscy9yZmtpbGwuYzo0NjcKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyOTMgc3lzLXV0aWxzL3dkY3RsLmM6MjcxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICLliIbphY3ovpPlh7rooYzlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgZmlsdGVyIGZvciAnJXMnIgorbXNnc3RyICLliJ3lp4vljJbigJwlc+KAneeahCBibGtpZCDov4fmu6TlmajlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXPvvJror7vlj5bliIbljLrooajlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiB0YWJsZSB0eXBlICclcycgZGV0ZWN0ZWRcbiIKK21zZ3N0ciAiJXPvvJrmo4DmtYvliLDliIbljLrooajnsbvlnovigJwlc+KAnVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlc++8muWIhuWMuuihqOS4reaXoOWIhuWMuiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1hfC1kfC1zfC11XSBbLS1uciA8bjptPiB8IDxwYXJ0aXRpb24+XSA8ZGlzaz5cbiIKK21zZ3N0ciAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA85YiG5Yy6Pl0gPOejgeebmD5cbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1NworbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgcHJlc2VuY2UgYW5kIG51bWJlcmluZyBvZiBwYXJ0aXRpb25zLlxuIgorbXNnc3RyICLlkYrnn6XlhoXmoLjliIbljLrnmoTlrZjlnKjlkozmjpLliJfmg4XlhrXjgIJcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MAorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1hLCAtLWFkZCAgICAgICAgICAgIOa3u+WKoOaMh+WumueahOWIhuWMuuaIluaJgOacieWIhuWMulxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLWQsIC0tZGVsZXRlICAgICAgICAg5Yig6Zmk5oyH5a6a55qE5YiG5Yy65oiW5omA5pyJ5YiG5Yy6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKK21zZ2lkICIgLXUsIC0tdXBkYXRlICAgICAgICAgdXBkYXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCittc2dzdHIgIiAtdSwgLS11cGRhdGUgICAgICAgICDmm7TmlrDmjIflrprnmoTliIbljLrmiJbmiYDmnInliIbljLpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2MworbXNnaWQgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisiXG4iCittc2dzdHIgIiIKKyIgLXMsIC0tc2hvdyAgICAgICAgICAg5YiX5Ye65YiG5Yy6XG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjQgbWlzYy11dGlscy9sc2Jsay5jOjE2NDAgc3lzLXV0aWxzL2xzbWVtLmM6NTA1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtYiwgLS1ieXRlcyAgICAgICAgICDku6XlrZfoioLkuLrljZXkvY3ogIzpnZ7mmJPor7vnmoTmoLzlvI/mnaXmiZPljbAgU0laRVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY1Cittc2dpZCAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKK21zZ3N0ciAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIC0tc2hvdyDml7bkuI3miZPljbDmoIfpophcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2NgorbXNnaWQgIiAtbiwgLS1uciA8bjptPiAgICAgICBzcGVjaWZ5IHRoZSByYW5nZSBvZiBwYXJ0aXRpb25zIChlLmcuIC0tbnIgMjo0KVxuIgorbXNnc3RyICIgLW4sIC0tbnIgPG46bT4gICAgICAg5oyH5a6a5YiG5Yy66IyD5Zu0KOS+i+Wmgu+8mi0tbnIgMjo0KVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA85YiX6KGoPiAg5a6a5LmJ5L2/55So5ZOq5Liq6L6T5Ye65YiXXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjggbWlzYy11dGlscy9sc2Jsay5jOjE2NTYgc3lzLXV0aWxzL2xzbWVtLmM6NTAzCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgIHVzZSBrZXk9XCJ2YWx1ZVwiIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1QLCAtLXBhaXJzICAgICAgICAgIOS9v+eUqCBrZXk94oCcdmFsdWXigJ0g6L6T5Ye65qC85byPXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjkgbWlzYy11dGlscy9sc2Jsay5jOjE2NTcgc3lzLXV0aWxzL2xzbWVtLmM6NTA4Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAg5L2/55So5Y6f55Sf6L6T5Ye65qC85byPXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlY3Rvci1zaXplIDxudW0+ICBvdmVyd3JpdGUgc2VjdG9yIHNpemVcbiIKK21zZ3N0ciAiIC1iLCAtLXNlY3RvcnMtc2l6ZSA85aSn5bCPPiAgICAg5pi+56S65omH5Yy66K6h5pWw5ZKM5aSn5bCPXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDznsbvlnos+ICAgIOaMh+WumuWIhuWMuuexu+Weiyhkb3PjgIFic2TjgIFzb2xhcmlzIOetiSlcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAgLS1saXN0ICAgICAgICAgICAgICAg5YiX5Ye65Y+v6K6+572u55qE5p625p6E5bm26YCA5Ye6XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzMgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEwMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgIOivpuWwveaooeW8j1xuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tbnIgPE0tTj4gcmFuZ2UiCittc2dzdHIgIuino+aekCAtLW5yIDxNLU4+IOiMg+WbtOWksei0pSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk0MgorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAi5YiG5Yy65ZKM56OB55uY5ZCN5LiN56ymIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCittc2dpZCAiLS1uciBhbmQgPHBhcnRpdGlvbj4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiLS1uciDlkowgPOWIhuWMuj4g55u45LqS5o6S5palIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTkwCisjLCBjLWZvcm1hdAorbXNnaWQgInBhcnRpdGlvbjogJXMsIGRpc2s6ICVzLCBsb3dlcjogJWQsIHVwcGVyOiAlZFxuIgorbXNnc3RyICLliIbljLrvvJolc++8jOejgeebmO+8miVz77yM5LuO5YiG5Yy677yaJWQs5Yiw5YiG5Yy677yaJWRcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBkZWxldGUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXPvvJrkuI3og73liKDpmaTliIbljLoiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVz77ya5LiN5pSv5oyB5bey5YiG5Yy655qE5Zue546v6K6+5aSHIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGluaXRpYWxpemUgYmxraWQgcHJvYmVyIgorbXNnc3RyICIlc++8muWIneWni+WMliBibGtpZCDmjqLpkojlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj4gPG1pbm9yPlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPGJsb2NrZGV2aWNlPlxuIgorIiAlMSRzIC1xICUyJHNyYXdOXG4iCisiICUxJHMgLXFhXG4iCittc2dzdHIgIiIKKyIgJTEkcyAlMiRzcmF3TiA85Li76K6+5aSH5Y+3PiA85qyh6K6+5aSH5Y+3PlxuIgorIiAlMSRzICUyJHNyYXdOIC9kZXYvPOWdl+iuvuWkhz5cbiIKKyIgJTEkcyAtcSAlMiRzcmF3TlxuIgorIiAlMSRzIC1xYVxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjU3Cittc2dpZCAiQmluZCBhIHJhdyBjaGFyYWN0ZXIgZGV2aWNlIHRvIGEgYmxvY2sgZGV2aWNlLlxuIgorbXNnc3RyICLlsIbljp/nlJ/lrZfnrKborr7lpIfnu5HlrprliLDlnZforr7lpIfjgIJcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo2MAorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAg6K6+572u5p+l6K+i5qih5byPXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgcXVlcnkgYWxsIHJhdyBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6Xor6LmiYDmnIkgcmF3IOiuvuWkh1xuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIuiuvuWkh+KAnCVz4oCd5piv5o6n5Yi25Y6f55Sf6K6+5aSHKOivt+S9v+eUqCByYXc8Tj7vvIzlhbbkuK0gPE4+IOWkp+S6jiAwKSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGxvY2F0ZSBibG9jayBkZXZpY2UgJyVzJyIKK21zZ3N0ciAi5peg5rOV5a6a5L2N5Z2X6K6+5aSH4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIkRldmljZSAnJXMnIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAi6K6+5aSH4oCcJXPigJ3kuI3mmK/lnZforr7lpIciCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTk2IGRpc2stdXRpbHMvcmF3LmM6MTk5IHN5cy11dGlscy9pcGNybS5jOjM1MgorIzogc3lzLXV0aWxzL2lwY3JtLmM6MzY2IHN5cy11dGlscy9pcGNybS5jOjM4MAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAi6Kej5p6Q5Y+C5pWw5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiBtYXN0ZXIgcmF3IGRldmljZSAnJXMnIgorbXNnc3RyICLml6Dms5XmiZPlvIDkuLsgUmF3IOiuvuWkh+KAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAi5peg5rOV5a6a5L2NIHJhdyDorr7lpIfigJwlc+KAnSIKKworIzogZGlzay11dGlscy9yYXcuYzoyMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmF3IGRldmljZSAnJXMnIGlzIG5vdCBhIGNoYXJhY3RlciBkZXYiCittc2dzdHIgIuiuvuWkh+KAnCVz4oCd5LiN5piv5a2X56ym6K6+5aSHIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyBub3QgYSByYXcgZGV2IgorbXNnc3RyICLorr7lpIfigJwlc+KAneS4jeaYryByYXcg6K6+5aSHIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorbXNnaWQgIkVycm9yIHF1ZXJ5aW5nIHJhdyBkZXZpY2UiCittc2dzdHIgIuafpeivouWOn+eUnyhyYXcp6K6+5aSH5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI1OCBkaXNrLXV0aWxzL3Jhdy5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiVzcmF3JWTvvJrnu5HlrprliLDkuLvorr7lpIflj7cgJWQsIOasoeiuvuWkh+WPtyAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI3MgorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAi6K6+572u5Y6f55SfKHJhdynorr7lpIflh7rplJkiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8ZGlzayBkZXZpY2U+IDxwYXJ0aXRpb24gbnVtYmVyPiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPOejgeebmOiuvuWkhz4gPOWIhuWMuuWPtz4gPOmVv+W6pj5cbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MjQKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIG5ldyBzaXplIG9mIGEgcGFydGl0aW9uLlxuIgorbXNnc3RyICLlkYror4nlhoXmoLjliIbljLrnmoTmlrDlsLrlr7jjgIJcbiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gbnVtYmVyICVzIgorbXNnc3RyICIlc++8muiOt+WPluWIhuWMuuWPtyAlcyDnmoTotbfngrnlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorbXNnaWQgImZhaWxlZCB0byByZXNpemUgcGFydGl0aW9uIgorbXNnc3RyICLosIPmlbTliIbljLrlpKflsI/lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjMyCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG5lc3RlZCBsaWJmZGlzayBjb250ZXh0IgorbXNnc3RyICLliIbphY3ltYzlpZcgbGliZmRpc2sg546v5aKDKGNvbnRleHQp5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2VlayAlcyIKK21zZ3N0ciAi5peg5rOV5a6a5L2NICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMwMyBsaWJmZGlzay9zcmMvYnNkLmM6NzIyIGxpYmZkaXNrL3NyYy9ic2QuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICLml6Dms5XlhpkgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiJTEycyAo5YGP56e7ICAlNWp1LCDlpKflsI8gJTVqdSk6ICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCIKK21zZ3N0ciAiJXPvvJrliJvlu7rlpIfku73lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzI5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBhIGJhY2t1cCBmaWxlLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIuWIm+W7uuWkh+S7veWksei0pe+8jOacquWumuS5iSAkSE9NRSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozNTUKK21zZ2lkICJCYWNrdXAgZmlsZXM6IgorbXNnc3RyICLlpIfku73mlofku7bvvJoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgwCittc2dpZCAiZmFpbGVkIHRvIHJlYWQgbmV3IHBhcnRpdGlvbiBmcm9tIGRldmljZTsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuS7juiuvuWkh+ivu+WPluaWsOWIhuWMuuWksei0pe+8m+WwhuW/veeVpSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODIKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG5ldyBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLojrflj5bmlrDliIbljLrlpKflsI/lpLHotKXvvIzlsIblv73nlaUgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuiOt+WPluaWsOWIhuWMuui1t+eCueWksei0pe+8jOWwhuW/veeVpSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozODYKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHNpemUgb2YgdGhlIG9sZCBwYXJ0aXRpb247IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICLojrflj5bmlrDliIbljLrlpKflsI/lpLHotKXvvIzlsIblv73nlaUgLS1tb3ZlLWRhdGEiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg4Cittc2dpZCAiZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuiOt+WPluaXp+WIhuWMuui1t+eCueWksei0pe+8jOWwhuW/veeVpSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTAKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGhhcyBub3QgYmVlbiBtb3ZlZDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuWIhuWMuui1t+eCueacquenu+WKqO+8m+WwhuW/veeVpSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzozOTIKK21zZ2lkICJuZXcgcGFydGl0aW9uIGlzIHNtYWxsZXIgdGhhbiBvcmlnaW5hbDsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIuaWsOWIhuWMuuWwj+S6juWOn+WIhuWMuu+8m+WwhuW/veeVpSAtLW1vdmUtZGF0YSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDIKK21zZ2lkICJEYXRhIG1vdmU6IgorbXNnc3RyICLmlbDmja7np7vliqjvuLAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiB0eXBlc2NyaXB0IGZpbGU6ICVzIgorbXNnc3RyICJ0eXBlc2NyaXB0IOaWh+S7tu+8miVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICIgb2xkIHN0YXJ0OiAlanUsIG5ldyBzdGFydDogJWp1IChtb3ZlICVqdSBzZWN0b3JzKVxuIgorbXNnc3RyICIg5Y6f6LW354K577yaJWp177yM5paw6LW354K577yaJWp1ICjnp7vliqggJWp1IOS4quaJh+WMuilcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NTIKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAi5oKo5oOz56e75Yqo5YiG5Yy65pWw5o2u5ZCX77yfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAi56a75byA5Lit44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIG1vdmUgZGF0YSIKK21zZ3N0ciAiJXPvvJrnp7vliqjmlbDmja7lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQyCittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIuWIhuWMuuihqOacquabtOaUuSgtLW5vLWFjdCnjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NTQ4Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyJcbiIKKyLliIbljLrooajlt7LosIPmlbTjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjMxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIuS4jeaUr+aMgeeahOagh+etvu+8muKAnCVz4oCdIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisiSWQg5ZCN56ewXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NjY0Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICLmnKror4bliKvnmoTliIbljLrooajnsbvlnosiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBnZXQgc2l6ZSBvZiAlcyIKK21zZ3N0ciAi5peg5rOV6I635b6XICVzIOeahOWkp+WwjyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo3NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAidG90YWw6ICVqdSBibG9ja3NcbiIKK21zZ3N0ciAi5YWx6K6h77yaJWp1IOS4quWdl1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKK21zZ2lkICJubyBkaXNrIGRldmljZSBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuejgeebmOiuvuWkhyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHN3aXRjaCB0byBQTUJSIgorbXNnc3RyICLml6Dms5Ugc3RhdCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo4MzIKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICLlvIAv5YWz5ZCv5Yqo5qCH5b+XIOWPquaUr+aMgSBNQlIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGFydGl0aW9uIG51bWJlciIKK21zZ3N0ciAi6Kej5p6Q5YiG5Yy65Y+35aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiVz77ya5YiG5Yy6ICVk77ya5byAL+WFs+WQr+WKqOagh+W/l+Wksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBkZWxldGUiCittc2dzdHIgIiVz77ya5YiG5Yy6ICV6de+8muWIoOmZpOWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuiuvuWkh+S4jeWMheWQq+WPr+ivhuWIq+eahOWIhuWMuuihqOOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzYKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgIuWIhumFjei9rOWCqOe7k+aehOWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZHVtcCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIui9rOWCqOWIhuWMuuihqOWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gdGFibGUgZm91bmQiCittc2dzdHIgIiVz77ya5om+5LiN5Yiw5YiG5Yy66KGoIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlc++8muWIhuWMuiAlenXvvJrliIbljLrooajkuK3lj6rljIXlkKsgJXp1IOS4quWIhuWMuiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBwYXJ0aXRpb24gaXMgdW51c2VkIgorbXNnc3RyICIlczog5YiG5Yy6ICV6dTog5YiG5Yy65pyq5L2/55SoIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwMzYgZGlzay11dGlscy9zZmRpc2suYzoxMTAwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NQorIzogZGlzay11dGlscy9zZmRpc2suYzoxMjExCittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuWIhuWMuuWPtyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworbXNnaWQgInVuZXhwZWN0ZWQgYXJndW1lbnRzIgorbXNnc3RyICLlj4LmlbDlvILluLgiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gdHlwZSIKK21zZ3N0ciAiJXM6IOWIhuWMuiAlenU66I635Y+W5YiG5Yy657G75Z6L5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIHBhcnRpdGlvbiB0eXBlICclcyciCittc2dzdHIgIuino+aekCAlcyDnmoTliIbljLrnsbvlnovigJwlc+KAneWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDgwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlczog5YiG5Yy6ICV6dTog6K6+572u5YiG5Yy657G75Z6L5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVzOiDliIbljLogJXp1OiDojrflj5bliIbljLogVVVJRCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBvYmplY3QiCittc2dzdHIgIuWIhumFjeWIhuWMuuWvueixoeWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTM1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICIlczog5YiG5Yy6ICV6dTog6K6+572u5YiG5Yy6IFVVSUQg5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBnZXQgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIiVzOiDliIbljLogJXp1OiDojrflj5bliIbljLrlkI3lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXM6IOWIhuWMuiAlenU6IOiuvue9ruWIhuWMuuWQjeWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjQ0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzIgorbXNnc3RyICIlczog5YiG5Yy6ICV6dTog6K6+572u5YiG5Yy65bGe5oCn5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODcKK21zZ2lkICIgQ29tbWFuZHM6XG4iCittc2dzdHIgIiDlkb3ku6TvvJpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjg5Cittc2dpZCAiICAgd3JpdGUgICAgd3JpdGUgdGFibGUgdG8gZGlzayBhbmQgZXhpdFxuIgorbXNnc3RyICIgICB3cml0ZSAgICDlsIbliIbljLrooajlhpnlhaXno4Hnm5jlubbpgIDlh7pcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiAgIHF1aXQgICAgIOaYvuekuuaWsOeKtuWGteW5tuetieW+heeUqOaIt+WPjemmiOWQjuWGjeWGmeWFpVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTEKK21zZ2lkICIgICBhYm9ydCAgICBleGl0IHNmZGlzayBzaGVsbFxuIgorbXNnc3RyICIgICBhYm9ydCAgICDpgIDlh7ogc2ZkaXNrIHNoZWxsXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI5MgorbXNnaWQgIiAgIHByaW50ICAgIGRpc3BsYXkgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgICBwcmludCAgICDmmL7npLrliIbljLrooahcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkzCittc2dpZCAiICAgaGVscCAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorbXNnc3RyICIgICBoZWxwICAgICDmmL7npLrluK7liqnlubbpgIDlh7pcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk1Cittc2dpZCAiICAgQ3RybC1EICAgdGhlIHNhbWUgYXMgJ3F1aXQnXG4iCittc2dzdHIgIiAgIEN0cmwtRCAgIOWQjOKAnHF1aXTigJ1cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjk5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAiIOi+k+WFpeagvOW8j++8mlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDEKK21zZ2lkICIgICA8c3RhcnQ+LCA8c2l6ZT4sIDx0eXBlPiwgPGJvb3RhYmxlPlxuIgorbXNnc3RyICIgICA86LW354K5PiwgPOWkp+Wwjz4sIDznsbvlnos+LCA85Y+v5ZCv5YqoPlxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDQKK21zZ2lkICIiCisiICAgPHN0YXJ0PiAgQmVnaW5uaW5nIG9mIHRoZSBwYXJ0aXRpb24gaW4gc2VjdG9ycywgb3IgYnl0ZXMgaWZcbiIKKyIgICAgICAgICAgICBzcGVjaWZpZWQgaW4gdGhlIGZvcm1hdCA8bnVtYmVyPntLLE0sRyxULFAsRSxaLFl9LlxuIgorIiAgICAgICAgICAgIFRoZSBkZWZhdWx0IGlzIHRoZSBmaXJzdCBmcmVlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPOi1t+eCuT4gICDliIbljLrnmoTotbflp4vmiYfljLrmlbDmiJblrZfoioLmlbDvvIzlpoLmnpzku6VcbiIKKyIgICAgICAgICAgICA85pWw5YC8PntLLE0sRyxULFAsRSxaLFl9IOagvOW8j+aMh+WumuOAglxuIgorIiAgICAgICAgICAgIOm7mOiupOS4uuesrOS4gOWkhOWPr+eUqOepuumXtOOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisiICAgPOWkp+Wwjz4gICDliIbljLrnmoTlpKflsI8o5omH5Yy65oiW5a2X6IqC5pWwKe+8jOWmguaenOS7pVxuIgorIiAgICAgICAgICAgIDzmlbDlgLw+e0ssTSxHLFQsUCxFLFosWX0g5qC85byP5oyH5a6a44CCXG4iCisiICAgICAgICAgICAg6buY6K6k5Li65omA5pyJ5Y+v55So56m66Ze044CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiICAgPOexu+Weiz4gICDliIbljLrnsbvlnovjgILpu5jorqTkuLogTGludXgg5pWw5o2u5YiG5Yy644CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNQorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYLFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgTUJS77yaaGV4IOaIliBMLFMsRSxYIOW/q+aNt+aWueW8j+OAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgR1BUOiBVVUlEIG9yIEwsUyxILFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiICAgICAgICAgICAgR1BU77yaVVVJRCDmiJYgTCxTLEgg5b+r5o235pa55byP44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorbXNnaWQgIiAgIDxib290YWJsZT4gIFVzZSAnKicgdG8gbWFyayBhbiBNQlIgcGFydGl0aW9uIGFzIGJvb3RhYmxlLlxuIgorbXNnc3RyICIgICA85Y+v5ZCv5YqoPiAgICDkvb/nlKjigJwq4oCd5bCGIE1CUiDliIbljLrmoIforrDkuLog5Y+v5ZCv5Yqo44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyMworbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICLnpLrkvovvvJpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzI1Cittc2dpZCAiICAgLCA0RyAgICAgQ3JlYXRlcyBhIDRHaUIgcGFydGl0aW9uIGF0IGRlZmF1bHQgc3RhcnQgb2Zmc2V0LlxuIgorbXNnc3RyICIgICAsIDRHICAgICDlnKjpu5jorqTotbflp4vlgY/np7vkvY3nva7liJvlu7rkuIDkuKogNEdpQiDliIbljLrjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU3IHN5cy11dGlscy9kbWVzZy5jOjE1MzkKK21zZ2lkICJ1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLkuI3mlK/mjIHnmoTlkb3ku6QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1OQorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLnrKwgJWQg6KGM77ya5LiN5pSv5oyB55qE5ZG95LukIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIG1heSByZW1haW4gb24gdGhlIGRldmljZS4gSXQgaXMgcmVjb21tZW5kZWQgdG8gd2lwZSB0aGUgZGV2aWNlIHdpdGggd2lwZWZzKDgpIG9yIHNmZGlzayAtLXdpcGUsIGluIG9yZGVyIHRvIGF2b2lkIHBvc3NpYmxlIGNvbGxpc2lvbnMuIgorbXNnc3RyICLlvLrng4jlu7rorq7mgqjkvb/nlKggd2lwZWZzKDgp5p2l5pOm6Zmk6K+l6K6+5aSH77yM5Lul6YG/5YWN5r2c5Zyo55qE5Yay56qB44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuWIhumFjeWIhuWMuuWQjeWksei0pSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTY5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHNjcmlwdCBoYW5kbGVyIgorbXNnc3RyICLliIbphY3ohJrmnKzlpITnkIbnqIvluo/lpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVz77ya5peg5rOV5L+u5pS55YiG5Yy6ICVk77ya5pyq5om+5Yiw5YiG5Yy66KGoIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCBtb2RpZnkgcGFydGl0aW9uICVkOiBwYXJ0aXRpb24gdGFibGUgY29udGFpbnMgb25seSAlenUgcGFydGl0aW9ucyIKK21zZ3N0ciAiJXM6IOaXoOazleS/ruaUueWIhuWMuiAlZDog5YiG5Yy66KGo5Y+q5YyF5ZCrICV6dSDkuKrliIbljLoiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU5NgorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiAlczogcGFydGl0aW9uICVkIGlzIG5vdCBkZWZpbmVkIHlldCIKK21zZ3N0ciAi6K2m5ZGK77yaJXM6IOWIhuWMuiAlZCDlsJrmnKrlrprkuYkiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiV2VsY29tZSB0byBzZmRpc2sgKCVzKS4iCittc2dzdHIgIiIKKyJcbiIKKyLmrKLov47kvb/nlKggc2ZkaXNrICglcynjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyMgorbXNnaWQgIkNoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIgorbXNnc3RyICLor7fmo4Dmn6XnjrDlnKjmmK/kuI3mmK/mnInkurrlnKjkvb/nlKjmraTno4Hnm5guLi4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyNQorbXNnaWQgIiIKKyIgRkFJTEVEXG4iCisiXG4iCittc2dzdHIgIiIKKyIg5aSx6LSlXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyOAorbXNnaWQgIiIKKyJUaGlzIGRpc2sgaXMgY3VycmVudGx5IGluIHVzZSAtIHJlcGFydGl0aW9uaW5nIGlzIHByb2JhYmx5IGEgYmFkIGlkZWEuXG4iCisiVW1vdW50IGFsbCBmaWxlIHN5c3RlbXMsIGFuZCBzd2Fwb2ZmIGFsbCBzd2FwIHBhcnRpdGlvbnMgb24gdGhpcyBkaXNrLlxuIgorIlVzZSB0aGUgLS1uby1yZXJlYWQgZmxhZyB0byBzdXBwcmVzcyB0aGlzIGNoZWNrLlxuIgorbXNnc3RyICIiCisi6K+l56OB55uY55uu5YmN5q2j5Zyo5L2/55SoIC0g5LiN5bu66K6u5oKo6YeN5paw5YiG5Yy644CCXG4iCisi6K+35Y246L295q2k56OB55uY5LiK5omA5pyJ55qE5paH5Lu257O757uf77yM5bm25YWz6ZetKHN3YXBvZmYp5LiK6Z2i55qE5Lqk5o2i5YiG5Yy644CCXG4iCisi5Y+v5L2/55SoIC0tbm8tcmVyZWFkIOagh+W/l+mYu+atouatpOajgOafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzMKK21zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSBhbGwgY2hlY2tzLiIKK21zZ3N0ciAi5L2/55SoIC0tZm9yY2Ug5qCH5b+X5ZCm5Yaz5omA5pyJ5qOA5p+l44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MzUKK21zZ2lkICIiCisiIE9LXG4iCisiXG4iCittc2dzdHIgIiIKKyIg5aW955qEXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY0NworbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIuaXp+eKtuWGte+8miIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJzZmRpc2sgaXMgZ29pbmcgdG8gY3JlYXRlIGEgbmV3ICclcycgZGlzayBsYWJlbC5cbiIKKyJVc2UgJ2xhYmVsOiA8bmFtZT4nIGJlZm9yZSB5b3UgZGVmaW5lIGEgZmlyc3QgcGFydGl0aW9uXG4iCisidG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQuIgorbXNnc3RyICIiCisiXG4iCisic2ZkaXNrIOWNs+WwhuWIm+W7uuS4gOS4quaWsOeahOejgeebmOagh+etvuKAnCVz4oCd44CCXG4iCisi5Zyo5a6a5LmJ56ys5LiA5Liq5YiG5Yy65LmL5YmN5L2/55So4oCcbGFiZWw6IDzlkI3lrZc+4oCd5Y+v6KaG55uW6buY6K6k5YC844CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKK21zZ2lkICIiCisiXG4iCisiVHlwZSAnaGVscCcgdG8gZ2V0IG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLor7fmiafooYzigJwlcyAtLWhlbHDigJ3kuobop6Pmm7TlpJrkv6Hmga/jgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjg2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgdXNlZC4iCittc2dzdHIgIuaJgOacieWIhuWMuuWdh+W3suS9v+eUqOOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzE0Cittc2dpZCAiRG9uZS5cbiIKK21zZ3N0ciAi5a6M5oiQ44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcyNgorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIuW/veeVpeWIhuWMuuOAgiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzM1IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTc5NQorbXNnaWQgIkZhaWxlZCB0byBhcHBseSBzY3JpcHQgaGVhZGVycywgZGlzayBsYWJlbCBub3QgY3JlYXRlZC4iCittc2dzdHIgIuaXoOazleW6lOeUqOiEmuacrOagh+WktChoZWFkZXIp77yM5pyq5Yib5bu656OB55uY5qCH562+44CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAi5re75Yqg5YiG5Yy65aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAi5bey5o6l5Y+X6ISa5pys5qCH5aS0KGhlYWRlcinjgIIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTgwMgorbXNnaWQgIiIKKyJcbiIKKyJOZXcgc2l0dWF0aW9uOiIKK21zZ3N0ciAiIgorIlxuIgorIuaWsOeKtuWGte+8miIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCittc2dpZCAiRG8geW91IHdhbnQgdG8gd3JpdGUgdGhpcyB0byBkaXNrPyIKK21zZ3N0ciAi5oKo5oOz5YaZ5YWl6K+l56OB55uY5ZCX77yfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MjUKK21zZ2lkICJMZWF2aW5nLlxuIgorbXNnc3RyICLnprvlvIDkuK3jgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgInpobldIDzorr7lpIc+IFtbLU5dIDzliIbljLo+XVxuIgorIiAlMSRzIFvpgInpobldIDzlkb3ku6Q+XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NgorIywgZnV6enkKK21zZ2lkICIgLUEsIC0tYWN0aXZhdGUgPGRldj4gWzxwYXJ0PiAuLi5dIGxpc3Qgb3Igc2V0IGJvb3RhYmxlIChQKU1CUiBwYXJ0aXRpb25zXG4iCittc2dzdHIgIiAtQSwgLS1hY3RpdmF0ZSA86K6+5aSHPiBbPOWIhuWMuj4gLi4uXSDliJflh7rmiJborr7nva7lj6/lkK/liqjnmoQgTUJSIOWIhuWMulxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDcKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCA86K6+5aSHPiAgICAgICAgICAgICAgICAg6L2s5YKo5YiG5Yy66KGoKOeUqOS6juWQjue7rei+k+WFpSlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4Cittc2dpZCAiIC1KLCAtLWpzb24gPGRldj4gICAgICAgICAgICAgICAgICBkdW1wIHBhcnRpdGlvbiB0YWJsZSBpbiBKU09OIGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiA86K6+5aSHPiAgICAgICAgICAgICAgICAg5LulIEpTT04g5qC85byP6L2s5YKo5YiG5Yy66KGoXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgWzzorr7lpIc+IC4uLl0gIOWIl+WHuuaJgOacieaIluaMh+WumuiuvuWkh+eahOWHoOS9leWxnuaAp1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKK21zZ2lkICIgLWwsIC0tbGlzdCBbPGRldj4gLi4uXSAgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCBbPOiuvuWkhz4gLi4uXSAgICAgICAgICAg5YiX5Ye65q+P5Y+w6K6+5aSH5LiK55qE5YiG5Yy6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MQorbXNnaWQgIiAtRiwgLS1saXN0LWZyZWUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCB1bnBhcnRpdGlvbmVkIGZyZWUgYXJlYXMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1GLCAtLWxpc3QtZnJlZSBbPOiuvuWkhz4gLi4uXSAgICAgIOWIl+WHuuavj+WPsOiuvuWkh+S4iueahOacquWIhuWMuuepuumXtFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTIKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtciwgLS1yZW9yZGVyIDzorr7lpIc+ICAgICAgICAgICAgICAo6YCa6L+H6LW35aeL5YGP56e76YePKeS/ruWkjeWIhuWMuumhuuW6j1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTMKK21zZ2lkICIgLXMsIC0tc2hvdy1zaXplIFs8ZGV2PiAuLi5dICAgICAgIGxpc3Qgc2l6ZXMgb2YgYWxsIG9yIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtcywgLS1zaG93LXNpemUgWzzorr7lpIc+IC4uLl0gICAgICAg5YiX5Ye65omA5pyJ5oiW5oyH5a6a6K6+5aSH55qE5aSn5bCPXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorbXNnaWQgIiAtVCwgLS1saXN0LXR5cGVzICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJlY29nbml6ZWQgdHlwZXMgKHNlZSAtWClcbiIKK21zZ3N0ciAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgICAgICAgICDmiZPljbDor4bliKvnmoTnsbvlnoso6KeBIC1YKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKK21zZ2lkICIgLVYsIC0tdmVyaWZ5IFs8ZGV2PiAuLi5dICAgICAgICAgIHRlc3Qgd2hldGhlciBwYXJ0aXRpb25zIHNlZW0gY29ycmVjdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyaWZ5IFs86K6+5aSHPiAuLi5dICAgICAgICAg5rWL6K+V5YiG5Yy65piv5ZCm5q2j56GuXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIgICAgIC0tZGVsZXRlIDzorr7lpIc+IFs85YiG5Yy6PiAuLi5dICDliKDpmaTmiYDmnInmiJbmjIflrprliIbljLpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODU5Cittc2dpZCAiIC0tcGFydC1sYWJlbCA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGxhYmVsXG4iCittc2dzdHIgIiAtLXBhcnQtbGFiZWwgPOiuvuWkhz4gPOWIhuWMuj4gWzzlrZfnrKbkuLI+XSDmiZPljbDmiJbmm7TmlLnliIbljLrmoIfnrb5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYwCittc2dpZCAiIC0tcGFydC10eXBlIDxkZXY+IDxwYXJ0PiBbPHR5cGU+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIHR5cGVcbiIKK21zZ3N0ciAiIC0tcGFydC10eXBlIDzorr7lpIc+IDzliIbljLo+IFs857G75Z6LPl0gICAg5omT5Y2w5oiW5pu05pS55YiG5Yy657G75Z6LXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAtLXBhcnQtdXVpZCA86K6+5aSHPiA85YiG5Yy6PiBbPHV1aWQ+XSAgICDmiZPljbDmiJbmm7TmlLnliIbljLogdXVpZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjIKK21zZ2lkICIgLS1wYXJ0LWF0dHJzIDxkZXY+IDxwYXJ0PiBbPHN0cj5dIHByaW50IG9yIGNoYW5nZSBwYXJ0aXRpb24gYXR0cmlidXRlc1xuIgorbXNnc3RyICIgLS1wYXJ0LWF0dHJzIDzorr7lpIc+IDzliIbljLo+IFs85a2X56ym5LiyPl0g5omT5Y2w5oiW5pu05pS55YiG5Yy65bGe5oCnXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgIGRldmljZSAodXN1YWxseSBkaXNrKSBwYXRoXG4iCittc2dzdHIgIiA86K6+5aSHPiAgICAgICAgICAgICAgICAgICAg6K6+5aSHKOmAmuW4uOaYr+ejgeebmCnnmoTot6/lvoRcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2Cittc2dpZCAiIDxwYXJ0PiAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgPOWIhuWMuj4gICAgICAgICAgICAgICAgICAg5YiG5Yy65Y+3XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NworbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiA857G75Z6LPiAgICAgICAgICAgICAgICAgICAg5YiG5Yy657G75Z6L77yMR1VJRCDlr7nlupQgR1BU77yMaGV4IOWvueW6lCBNQlJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCittc2dpZCAiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgYXBwZW5kIHBhcnRpdGlvbnMgdG8gZXhpc3RpbmcgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIOWwhuWIhuWMuumZhOWKoOWIsOW3suacieWIhuWMuuihqFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzEKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1iLCAtLWJhY2t1cCAgICAgICAgICAgICAg5aSH5Lu95YiG5Yy66KGo5omH5Yy6KOingSAtTylcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcyCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIOS7peWtl+iKguS4uuWNleS9jeiAjOmdnuaYk+ivu+eahOagvOW8j+adpeaJk+WNsCBTSVpFXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MworbXNnaWQgIiAgICAgLS1tb3ZlLWRhdGFbPTx0eXBlc2NyaXB0Pl0gbW92ZSBwYXJ0aXRpb24gZGF0YSBhZnRlciByZWxvY2F0aW9uIChyZXF1aXJlcyAtTilcbiIKK21zZ3N0ciAiICAgICAtLW1vdmUtZGF0YVs9PHR5cGVzY3JpcHQ+XSDph43mlrDlrprkvY3lkI7np7vliqjliIbljLrmlbDmja4o6ZyA6KaBIC1OKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICDnpoHnlKjmiYDmnInnmoTkuIDoh7TmgKfmo4Dmn6VcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9POS9leaXtj5dICAgICDlvanoibLovpPlh7ooYXV0b++8jGFsd2F5cyDmiJYgbmV2ZXIpXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3OAorbXNnaWQgIiAtTiwgLS1wYXJ0bm8gPG51bT4gICAgICAgIHNwZWNpZnkgcGFydGl0aW9uIG51bWJlclxuIgorbXNnc3RyICIgLU4sIC0tcGFydG5vIDzmlbDlrZc+ICAgICAgIOaMh+WumuWIhuWMuuWPt1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB3cml0ZSB0byBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWFjdCAgICAgICAgICAgICAg5LiN55yf5q2j5omn6KGM5YaZ5YWl6K6+5aSHXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorbXNnaWQgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgaXMgaW4gdXNlXG4iCittc2dzdHIgIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIOS4jeajgOafpeiuvuWkh+aYr+WQpuato+WcqOS9v+eUqFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKK21zZ2lkICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICBkbyBub3QgdGVsbCBrZXJuZWwgYWJvdXQgY2hhbmdlc1xuIgorbXNnc3RyICIgICAgIC0tbm8tdGVsbC1rZXJuZWwgICAgICDmm7TmlLnogIzkuI3lkYror4nlhoXmoLhcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiAtTywgLS1iYWNrdXAtZmlsZSA86Lev5b6EPiAg6KaG55uW6buY6K6k55qE5aSH5Lu95paH5Lu25ZCNXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPOWIl+ihqD4gICAgICAg6L6T5Ye65YiXXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NAorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIHN1cHByZXNzIGV4dHJhIGluZm8gbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAg56aB5q2i6L6T5Ye66aKd5aSW5L+h5oGvXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLXcsIC0td2lwZSA85qih5byPPiAgICAgICAgIOaTpumZpOetvuWQjShhdXRvLCBhbHdheXMg5oiWIG5ldmVyKVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKK21zZ2lkICIgLVgsIC0tbGFiZWwgPG5hbWU+ICAgICAgICBzcGVjaWZ5IGxhYmVsIHR5cGUgKGRvcywgZ3B0LCAuLi4pXG4iCittc2dzdHIgIiAtWCwgLS1sYWJlbCA85ZCN56ewPiAgICAgICAg5oyH5a6a5qCH562+57G75Z6LKGRvcywgZ3B0LCAuLi4pXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIgLVksIC0tbGFiZWwtbmVzdGVkIDzlkI3np7A+IOaMh+WumuW1jOWll+agh+etvuexu+Weiyhkb3MsIGJzZClcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkwCittc2dpZCAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAgZGVwcmVjYXRlZCwgYWxpYXMgdG8gLS1zaG93LWdlb21ldHJ5XG4iCittc2dzdHIgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIOW3suW6n+W8g++8jOWQjCAtLXNob3ctZ2VvbWV0cnlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkxCittc2dpZCAiIC1MLCAtLUxpbnV4ICAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuIgorbXNnc3RyICIgLUwsIC0tTGludXggICAgICAgICAgICAgICDlt7Llup/lvIPvvIzku4XkuLrlkJHlkI7lhbzlrrlcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODkyCittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAg5bey5bqf5byD77yM5Y+q5pSv5oyB5omH5Yy65Y2V5L2NXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiJXMg5bey5bqf5byD77yM6K+35pS555SoIC0tcGFydC10eXBlIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICItLWlkIOW3suW6n+W8g++8jOivt+aUueeUqCAtLXBhcnQtdHlwZSIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDMxCittc2dpZCAiLS1zaG93LXB0LWdlb21ldHJ5IGlzIG5vIG1vcmUgaW1wbGVtZW50ZWQuIFVzaW5nIC0tc2hvdy1nZW9tZXRyeS4iCittc2dzdHIgIi0tc2hvdy1wdC1nZW9tZXRyeSDkuI3lho3lrp7njrDjgILor7fkvb/nlKggLS1zaG93LWdlb21ldHJ544CCIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNDMKK21zZ2lkICItLUxpbnV4IG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBhbmQgZGVwcmVjYXRlZCIKK21zZ3N0ciAiLS1MaW51eCDpgInpobnmsqHlv4XopoHvvIzlubbkuJTlt7Llup/lvIMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCB1bml0ICclYyciCittc2dzdHIgIuS4jeaUr+aMgeeahOWNleS9jeKAnCVj4oCdIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNzUgaW5jbHVkZS9jLmg6MzM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXNcbiIKK21zZ3N0ciAiJXPvvIzmnaXoh6ogJXNcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMTUyCittc2dpZCAiLS1tb3ZlZGF0YSByZXF1aXJlcyAtTiIKK21zZ3N0ciAiLS1tb3ZlZGF0YSAg6ZyA6KaBIC1OIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBVVUlEOiAlcyIKK21zZ3N0ciAi6Kej5p6QIFVVSUQg5aSx6LSl77yaJXMiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZWVrIHRvIHN3YXAgVVVJRCIKK21zZ3N0ciAiJXPvvJrlrprkvY3liLDkuqTmjaLljLogVVVJRCDlpLHotKUiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB3cml0ZSBVVUlEIgorbXNnc3RyICIlc++8muWGmSBVVUlEIOWksei0pSIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVz77ya5peg5rOV5a6a5L2N5Yiw5Lqk5o2i5Yy65qCH562+ICIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAi5qCH562+6L+H6ZW/44CC5bCG5oiq55+t5Yiw4oCcJXPigJ0iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVz77ya5YaZ5qCH562+5aSx6LSlIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNworbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICLmmL7npLrmiJbmm7TmlLnkuqTmjaLljLrnmoTmoIfnrb7miJYgVVVJROOAglxuIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEzMAorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPOagh+etvj4gIOaMh+WumuS4gOS4quaWsOagh+etvlxuIgorIiAtVSwgLS11dWlkIDx1dWlkPiAgIOaMh+WumuS4gOS4quaWsCB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTcyCittc2dpZCAiaWdub3JlIC1VIChVVUlEcyBhcmUgdW5zdXBwb3J0ZWQpIgorbXNnc3RyICLlv73nlaUgLVUgKOS4jeaUr+aMgSBVVUlEKSIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuivt+WwneivleaJp+ihjOKAnCVzIC0taGVscOKAneS6huino+abtOWkmuS/oeaBr+OAglxuIgorCisjOiBpbmNsdWRlL2MuaDozMTgKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKworIzogaW5jbHVkZS9jLmg6MzE5Cittc2dpZCAiIgorIlxuIgorIk9wdGlvbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLpgInpobnvvJpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIwCittc2dpZCAiIgorIlxuIgorIkZ1bmN0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuWKn+iDve+8mlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjEKK21zZ2lkICIiCisiXG4iCisiQ29tbWFuZHM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlkb3ku6TvvJpcbiIKKworIzogaW5jbHVkZS9jLmg6MzIyCisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJBdmFpbGFibGUgb3V0cHV0IGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlj6/nlKjnmoQgLS1saXN0IOWIl++8mlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiAtPyAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorCisjOiBpbmNsdWRlL2MuaDozMjYKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB2ZXJzaW9uIgorbXNnc3RyICIgLXZlcnNpb25cbiIKKworIzogaW5jbHVkZS9jLmg6MzM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuabtOWkmuS/oeaBr+ivt+WPgumYhSAlc+OAglxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorbXNnaWQgIndyaXRlIGVycm9yIgorbXNnc3RyICLlhpnlh7rplJkiCisKKyM6IGluY2x1ZGUvY29sb3JzLmg6MjcKK21zZ2lkICJjb2xvcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAi6buY6K6k5ZCv55So6aKc6ImyIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5Cittc2dpZCAiY29sb3JzIGFyZSBkaXNhYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLpu5jorqTnpoHnlKjpopzoibIiCisKKyM6IGluY2x1ZGUvZW52Lmg6MTggbGliL3BhZ2VyLmM6MTUxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTAyNgorIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDMwIHRlcm0tdXRpbHMvYWdldHR5LmM6MTE2OQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAi6K6+572u546v5aKD5Y+Y6YePICVzIOWksei0pSIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIuebuOS6kuaOkuaWpeOAgiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICLnqboiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIuaJqeWxlSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorbXNnaWQgIkhQRlMvTlRGUy9leEZBVCIKK21zZ3N0ciAiSFBGUy9OVEZTL2V4RkFUIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5Cittc2dpZCAiQUlYIgorbXNnc3RyICJBSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwCittc2dpZCAiQUlYIGJvb3RhYmxlIgorbXNnc3RyICJBSVgg5Y+v5ZCv5YqoIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMQorbXNnaWQgIk9TLzIgQm9vdCBNYW5hZ2VyIgorbXNnc3RyICJPUy8yIOWQr+WKqOeuoeeQhuWZqCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTIKK21zZ2lkICJXOTUgRkFUMzIiCittc2dzdHIgIlc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTMKK21zZ2lkICJXOTUgRkFUMzIgKExCQSkiCittc2dzdHIgIlc5NSBGQVQzMiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTQKK21zZ2lkICJXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIlc5NSBGQVQxNiAoTEJBKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTUKK21zZ2lkICJXOTUgRXh0J2QgKExCQSkiCittc2dzdHIgIlc5NSDmianlsZUgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIumakOiXj+eahCBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSDor4rmlq0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIumakOiXj+eahCBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAi6ZqQ6JeP55qEIEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIumakOiXj+eahCBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCDmmbrog73nnaHnnKAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAi6ZqQ6JeP55qEIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICLpmpDol4/nmoQgVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIumakOiXj+eahCBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKK21zZ2lkICJIaWRkZW4gTlRGUyBXaW5SRSIKK21zZ3N0ciAi6ZqQ6JeP55qEIE5URlMgV2luUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI4Cittc2dpZCAiUGxhbiA5IgorbXNnc3RyICJQbGFuIDkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI5Cittc2dpZCAiUGFydGl0aW9uTWFnaWMgcmVjb3ZlcnkiCittc2dzdHIgIlBhcnRpdGlvbk1hZ2ljIOaBouWkjSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzAKK21zZ2lkICJWZW5peCA4MDI4NiIKK21zZ3N0ciAiVmVuaXggODAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMxCittc2dpZCAiUFBDIFBSZVAgQm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAgQm9vdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCDnrKwy6YOo5YiGIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNQorbXNnaWQgIlFOWDQueCAzcmQgcGFydCIKK21zZ3N0ciAiUU5YNC54IOesrDPpg6jliIYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM2Cittc2dpZCAiT25UcmFjayBETSIKK21zZ3N0ciAiT25UcmFjayBETSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzcKK21zZ2lkICJPblRyYWNrIERNNiBBdXgxIgorbXNnc3RyICJPblRyYWNrIERNNiBBdXgxIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOAorbXNnaWQgIkNQL00iCittc2dzdHIgIkNQL00iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM5Cittc2dpZCAiT25UcmFjayBETTYgQXV4MyIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDAKK21zZ2lkICJPblRyYWNrRE02IgorbXNnc3RyICJPblRyYWNrRE02IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MQorbXNnaWQgIkVaLURyaXZlIgorbXNnc3RyICJFWi1Ecml2ZSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDIKK21zZ2lkICJHb2xkZW4gQm93IgorbXNnc3RyICJHb2xkZW4gQm93IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0MworbXNnaWQgIlByaWFtIEVkaXNrIgorbXNnc3RyICJQcmlhbSBFZGlzayIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDQgaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTEKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk5Cittc2dpZCAiU3BlZWRTdG9yIgorbXNnc3RyICJTcGVlZFN0b3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ1Cittc2dpZCAiR05VIEhVUkQgb3IgU3lzViIKK21zZ3N0ciAiR05VIEhVUkQg5oiWIFN5c1YiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ2Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMjg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAyODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ3Cittc2dpZCAiTm92ZWxsIE5ldHdhcmUgMzg2IgorbXNnc3RyICJOb3ZlbGwgTmV0d2FyZSAzODYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ4Cittc2dpZCAiRGlza1NlY3VyZSBNdWx0aS1Cb290IgorbXNnc3RyICJEaXNrU2VjdXJlIOWkmuWQr+WKqCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDkKK21zZ2lkICJQQy9JWCIKK21zZ3N0ciAiUEMvSVgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUwCittc2dpZCAiT2xkIE1pbml4IgorbXNnc3RyICLml6cgTWluaXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUxCittc2dpZCAiTWluaXggLyBvbGQgTGludXgiCittc2dzdHIgIk1pbml4IC8g5penIExpbnV4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MgorbXNnaWQgIkxpbnV4IHN3YXAgLyBTb2xhcmlzIgorbXNnc3RyICJMaW51eCBzd2FwIC8gU29sYXJpcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTMKK21zZ2lkICJMaW51eCIKK21zZ3N0ciAiTGludXgiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU0Cittc2dpZCAiT1MvMiBoaWRkZW4gb3IgSW50ZWwgaGliZXJuYXRpb24iCittc2dzdHIgIk9TLzIg6ZqQ6JePIOaIliBJbnRlbCDkvJHnnKAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU3Cittc2dpZCAiTGludXggZXh0ZW5kZWQiCittc2dzdHIgIkxpbnV4IOaJqeWxlSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTggaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTkKK21zZ2lkICJOVEZTIHZvbHVtZSBzZXQiCittc2dzdHIgIk5URlMg5Y236ZuGIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MAorbXNnaWQgIkxpbnV4IHBsYWludGV4dCIKK21zZ3N0ciAiTGludXgg57qv5paH5pysIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MSBsaWJmZGlzay9zcmMvZ3B0LmM6MjA0IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjUzCittc2dpZCAiTGludXggTFZNIgorbXNnc3RyICJMaW51eCBMVk0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYyCittc2dpZCAiQW1vZWJhIgorbXNnc3RyICJBbW9lYmEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjYzCittc2dpZCAiQW1vZWJhIEJCVCIKK21zZ3N0ciAiQW1vZWJhIEJCVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjQKK21zZ2lkICJCU0QvT1MiCittc2dzdHIgIkJTRC9PUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjUKK21zZ2lkICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCittc2dzdHIgIklCTSBUaGlua3BhZCDkvJHnnKAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4g5ZCv5YqoIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkgc3dhcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzUKK21zZ2lkICJCb290IFdpemFyZCBoaWRkZW4iCittc2dzdHIgIkJvb3QgV2l6YXJkIOmakOiXjyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzYKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiQWNyb25pcyBGQVQzMiBMQkEiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc3IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjkKK21zZ2lkICJTb2xhcmlzIGJvb3QiCittc2dzdHIgIlNvbGFyaXMg5ZCv5YqoIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OAorbXNnaWQgIlNvbGFyaXMiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjc5Cittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTIpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xMikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgwCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNiA8IDMyTSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgxCittc2dpZCAiRFJET1Mvc2VjIChGQVQtMTYpIgorbXNnc3RyICJEUkRPUy9zZWMgKEZBVC0xNikiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgyCittc2dpZCAiU3lyaW54IgorbXNnc3RyICJTeXJpbngiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjgzCittc2dpZCAiTm9uLUZTIGRhdGEiCittc2dzdHIgIumdnuaWh+S7tuezu+e7n+aVsOaNriIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODQKK21zZ2lkICJDUC9NIC8gQ1RPUyAvIC4uLiIKK21zZ3N0ciAiQ1AvTSAvIENUT1MgLyAuLi4iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg2Cittc2dpZCAiRGVsbCBVdGlsaXR5IgorbXNnc3RyICJEZWxsIOW3peWFtyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODcKK21zZ2lkICJCb290SXQiCittc2dzdHIgIkJvb3RJdCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6ODgKK21zZ2lkICJET1MgYWNjZXNzIgorbXNnc3RyICJET1Mg6K6/6ZeuIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MAorbXNnaWQgIkRPUyBSL08iCittc2dzdHIgIkRPUyBSL08iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkzCittc2dpZCAiUnVmdXMgYWxpZ25tZW50IgorbXNnc3RyICJSdWZ1cyDlr7npvZAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk0Cittc2dpZCAiQmVPUyBmcyIKK21zZ3N0ciAiQmVPUyBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTYKK21zZ2lkICJFRkkgKEZBVC0xMi8xNi8zMikiCittc2dzdHIgIkVGSSAoRkFULTEyLzE2LzMyKSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTcKK21zZ2lkICJMaW51eC9QQS1SSVNDIGJvb3QiCittc2dzdHIgIkxpbnV4L1BBLVJJU0Mg5ZCv5YqoIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDAKK21zZ2lkICJET1Mgc2Vjb25kYXJ5IgorbXNnc3RyICJET1Mg5qyh6KaBIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDEgbGliZmRpc2svc3JjL2dwdC5jOjI3NAorbXNnaWQgIlZNd2FyZSBWTUZTIgorbXNnc3RyICJWTXdhcmUgVk1GUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTAyCittc2dpZCAiVk13YXJlIFZNS0NPUkUiCittc2dzdHIgIlZNd2FyZSBWTUtDT1JFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDMgbGliZmRpc2svc3JjL3N1bi5jOjU0Cittc2dpZCAiTGludXggcmFpZCBhdXRvZGV0ZWN0IgorbXNnc3RyICJMaW51eCByYWlkIOiHquWKqOajgOa1iyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA2Cittc2dpZCAiTEFOc3RlcCIKK21zZ3N0ciAiTEFOc3RlcCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTA3Cittc2dpZCAiQkJUIgorbXNnc3RyICJCQlQiCisKKyM6IGxpYi9ibGtkZXYuYzoyNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAi6K2m5ZGK77yaJXMg5pyq5q2j56Gu5a+56b2QIgorCisjOiBsaWJmZGlzay9zcmMvYXNrLmM6NDgwIGxpYmZkaXNrL3NyYy9hc2suYzo0OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAi5bey6YCJ5oup5YiG5Yy6ICVqdSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ4MworbXNnaWQgIk5vIHBhcnRpdGlvbiBpcyBkZWZpbmVkIHlldCEiCittc2dzdHIgIui/mOayoeacieWumuS5ieWIhuWMuu+8gSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjQ5NQorbXNnaWQgIk5vIGZyZWUgcGFydGl0aW9uIGF2YWlsYWJsZSEiCittc2dzdHIgIuaXoOepuumXsuWIhuWMuuWPr+eUqO+8gSIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjUwNQorbXNnaWQgIlBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIuWIhuWMuuWPtyIKKworIzogbGliZmRpc2svc3JjL2Fzay5jOjEwMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBwYXJ0aXRpb24gJWQgb2YgdHlwZSAnJXMnIGFuZCBvZiBzaXplICVzLiIKK21zZ3N0ciAi5Yib5bu65LqG5LiA5Liq5paw5YiG5Yy6ICVk77yM57G75Z6L5Li64oCcJXPigJ3vvIzlpKflsI/kuLogJXPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxNjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICLliIbljLogJXpk77ya5peg5pWI55qE6LW35aeL5omH5Yy6IDDjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICIlcyDkuIrmsqHmnIkgKkJTRCDliIbljLrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyNTggbGliZmRpc2svc3JjL2Rvcy5jOjk4MgorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICLnrKzkuIDkuKrmn7HpnaIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKK21zZ2lkICJMYXN0IGN5bGluZGVyLCArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0iCittc2dzdHIgIuacgOWQjuS4gOS4quafsemdoiwgK2N5bGluZGVycyDmiJYgK3NpemV7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI5NiBsaWJmZGlzay9zcmMvZG9zLmM6MTIxOCBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ0NworbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLkuIrkuKrmiYfljLrvvIwrc2VjdG9ycyDmiJYgK3NpemV7SyxNLEcsVCxQfSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIuiuvuWkhyAlcyDkuI3ljIXlkKtCU0Qg56OB55uY5qCH562+44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCittc2dpZCAiRG8geW91IHdhbnQgdG8gY3JlYXRlIGEgQlNEIGRpc2tsYWJlbD8iCittc2dzdHIgIuaCqOaDs+WIm+W7uuS4gOS4qiBCU0Qg56OB55uY5qCH562+5ZCX77yfIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDQ4Cittc2dpZCAiRGlzayIKK21zZ3N0ciAi56OB55uYIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIuWMheWQjSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICLmoIflv5ciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIg5Y+v56e75YqoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIg5Z2P5omH5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1Cittc2dpZCAiQnl0ZXMvU2VjdG9yIgorbXNnc3RyICLlrZfoioIv5omH5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDgwCittc2dpZCAiVHJhY2tzL0N5bGluZGVyIgorbXNnc3RyICLno4HpgZMv5p+x6Z2iIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDg1Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAi5omH5Yy6L+afsemdoiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAi5p+x6Z2iIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKK21zZ2lkICJScG0iCittc2dzdHIgIui9rOavj+WIhiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwMCBsaWJmZGlzay9zcmMvc2dpLmM6MjkxIGxpYmZkaXNrL3NyYy9zdW4uYzo3OTMKK21zZ2lkICJJbnRlcmxlYXZlIgorbXNnc3RyICLkuqTplJkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDUKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgIuejgemBk+ieuui3nSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMAorbXNnaWQgIkN5bGluZGVyc2tldyIKK21zZ3N0ciAi5p+x5aS06J666LedIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTE1Cittc2dpZCAiSGVhZHN3aXRjaCIKK21zZ3N0ciAi56OB5aS05YiH5o2iIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCittc2dpZCAiVHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAi6Leo56OB6YGT5a6a5L2NIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEwCittc2dpZCAiYnl0ZXMvc2VjdG9yIgorbXNnc3RyICLlrZfoioIv5omH5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjEzCittc2dpZCAic2VjdG9ycy90cmFjayIKK21zZ3N0ciAi5omH5Yy6L+ejgemBkyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNAorbXNnaWQgInRyYWNrcy9jeWxpbmRlciIKK21zZ3N0ciAi56OB6YGTL+afsemdoiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxNQorbXNnaWQgImN5bGluZGVycyIKK21zZ3N0ciAi5p+x6Z2iIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjE5Cittc2dpZCAic2VjdG9ycy9jeWxpbmRlciIKK21zZ3N0ciAi5omH5Yy6L+afsemdoiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMgorbXNnaWQgInJwbSIKK21zZ3N0ciAicnBtIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjIzCittc2dpZCAiaW50ZXJsZWF2ZSIKK21zZ3N0ciAi5Lqk6ZSZIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI0Cittc2dpZCAidHJhY2tza2V3IgorbXNnc3RyICLno4HpgZPonrrot50iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjUKK21zZ2lkICJjeWxpbmRlcnNrZXciCittc2dzdHIgIuafseWktOieuui3nSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNworbXNnaWQgImhlYWRzd2l0Y2giCittc2dzdHIgIuejgeWktOWIh+aNoiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyOAorbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIui3qOejgemBk+WumuS9jSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY1MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdHN0cmFwIGZpbGUgJXMgc3VjY2Vzc2Z1bGx5IGxvYWRlZC4iCittc2dzdHIgIuaIkOWKn+WKoOi9veS6huW8leWvvOeoi+W6j+aWh+S7tiAlc+OAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjY3MgorIywgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICLlvJXlr7zvvJolMSRzYm9vdCAtPiBib290JTEkcyAo6buY6K6kICUxJHMpIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzAzCittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAi5byV5a+856iL5bqP5LiO56OB55uY5qCH562+6YeN5Y+g77yBIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICLlt7LlnKggJXMg5LiK5a6J6KOF5byV5a+856iL5bqP44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRpc2tsYWJlbCB3cml0dGVuIHRvICVzLiAgKERvbid0IGZvcmdldCB0byB3cml0ZSB0aGUgJXMgZGlza2xhYmVsIHRvby4pIgorbXNnc3RyICLno4Hnm5jmoIfnrb7lt7LlhpnlhaUgJXPjgIIo5LiN6KaB5b+Y5LqG5Lmf5YaZ5YWlICVzIOejgeebmOagh+etvuOAgikiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHdyaXR0ZW4gdG8gJXMuIgorbXNnc3RyICLno4Hnm5jmoIfnrb7lt7LlhpnlhaUgJXPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5MTEgbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODgKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAi5q2j5Zyo5ZCM5q2l56OB55uY44CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTUyCittc2dpZCAiQlNEIGxhYmVsIGlzIG5vdCBuZXN0ZWQgd2l0aGluIGEgRE9TIHBhcnRpdGlvbi4iCittc2dzdHIgIkJTRCDmoIfnrb7mnKrltYzlpZflnKggRE9TIOWIhuWMuuS4reOAgiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjk4MAorIywgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAiQlNEIOWIhuWMuuKAnCVj4oCd5bey6ZO+5o6l5YiwIERPUyDliIbljLogJXp144CCIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNgorbXNnaWQgIlNsaWNlIgorbXNnc3RyICLniYciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDIzCittc2dpZCAiRnNpemUiCittc2dzdHIgIkZzaXplIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNAorbXNnaWQgIkJzaXplIgorbXNnc3RyICJCc2l6ZSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjUKK21zZ2lkICJDcGciCittc2dzdHIgIkNwZyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo2ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NlIGRldmljZSBmYWlsZWQiCittc2dzdHIgIiVz77ya5YWz6Zet6K6+5aSH5aSx6LSlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc1NgorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIuWwhuiwg+eUqCBpb2N0bCgpIOadpemHjeaWsOivu+WIhuWMuuihqOOAgiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo3NjUKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAi6YeN5paw6K+75Y+W5YiG5Yy66KGo5aSx6LSl44CCIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NworbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAi5YaF5qC45LuN5Zyo5L2/55So5pen5YiG5Yy66KGo44CC5paw5YiG5Yy66KGo5bCG5Zyo5LiL5qyh6YeN5ZCv5oiW6L+Q6KGMIHBhcnRwcm9iZSg4KSDmiJYga3BhcnR4KDgpIOWQjueUn+aViOOAgiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZW1vdmUgcGFydGl0aW9uICV6dSBmcm9tIHN5c3RlbSIKK21zZ3N0ciAi56e76Zmk5YiG5Yy65aSx6LSlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHVwZGF0ZSBzeXN0ZW0gaW5mb3JtYXRpb24gYWJvdXQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi5omT5Y2w5p+Q5Liq5YiG5Yy655qE55u45YWz5L+h5oGvIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFkZCBwYXJ0aXRpb24gJXp1IHRvIHN5c3RlbSIKK21zZ3N0ciAi5re75Yqg5YiG5Yy65aSx6LSlIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg3NAorIywgZnV6enkKK21zZ2lkICJUaGUga2VybmVsIHN0aWxsIHVzZXMgdGhlIG9sZCBwYXJ0aXRpb25zLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3QuICIKK21zZ3N0ciAi5YaF5qC45LuN5Zyo5L2/55So5pen5YiG5Yy66KGo44CC5paw5YiG5Yy66KGo5bCG5Zyo5LiL5qyh6YeN5ZCv5oiW6L+Q6KGMIHBhcnRwcm9iZSg4KSDmiJYga3BhcnR4KDgpIOWQjueUn+aViOOAgiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0Cittc2dpZCAiY3lsaW5kZXIiCittc2dpZF9wbHVyYWwgImN5bGluZGVycyIKK21zZ3N0clswXSAi5p+x6Z2iIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEwODUKK21zZ2lkICJzZWN0b3IiCittc2dpZF9wbHVyYWwgInNlY3RvcnMiCittc2dzdHJbMF0gIuaJh+WMuiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMzg4Cittc2dpZCAiSW5jb21wbGV0ZSBnZW9tZXRyeSBzZXR0aW5nLiIKK21zZ3N0ciAi5LiN5a6M5pW055qE5Yeg5L2V5bGe5oCn6K6+572u44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjEzCittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAi5bey57uP5a6a5LmJ5LqG5omA5pyJ5Li75YiG5Yy644CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgcGFydGl0aW9uIG5vdCBhdmFpbGFibGUuIgorbXNnc3RyICLml6Dnqbrpl7LliIbljLrlj6/nlKjvvIEiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlYWQgZXh0ZW5kZWQgcGFydGl0aW9uIHRhYmxlIChvZmZzZXQ9JWp1KSIKK21zZ3N0ciAi6K+75Y+W5omp5bGV5YiG5Yy66KGo5aSx6LSlKOWBj+enuz0lanUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQwCittc2dpZCAiWW91IGNhbiBzZXQgZ2VvbWV0cnkgZnJvbSB0aGUgZXh0cmEgZnVuY3Rpb25zIG1lbnUuIgorbXNnc3RyICLmgqjlj6/ku6Xku44g5pu05aSa5Yqf6IO9IOiPnOWNleiOt+WPluWHoOS9leWxnuaAp+OAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MworbXNnaWQgIkRPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4iCittc2dzdHIgIkRPUyDlhbzlrrnmqKHlvI/lt7Llup/lvIPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNDcKK21zZ2lkICJUaGUgZGV2aWNlIHByZXNlbnRzIGEgbG9naWNhbCBzZWN0b3Igc2l6ZSB0aGF0IGlzIHNtYWxsZXIgdGhhbiB0aGUgcGh5c2ljYWwgc2VjdG9yIHNpemUuIEFsaWduaW5nIHRvIGEgcGh5c2ljYWwgc2VjdG9yIChvciBvcHRpbWFsIEkvTykgc2l6ZSBib3VuZGFyeSBpcyByZWNvbW1lbmRlZCwgb3IgcGVyZm9ybWFuY2UgbWF5IGJlIGltcGFjdGVkLiIKK21zZ3N0ciAi6K6+5aSH5LiK5a2Y5Zyo5LiA5Liq5bCP5LqO54mp55CG5omH5Yy65bC65a+455qE6YC76L6R5omH5Yy65bC65a+444CC5bu66K6u5oKo5a+56b2Q5Yiw54mp55CG5omH5Yy6KOaIluacgOS9syBJL08p5bC65a+46L6555WM77yM5ZCm5YiZ5oCn6IO95Y+v6IO95Y+X5b2x5ZON44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzUzCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICLku6Xmn7HpnaLkuLrmmL7npLrljZXkvY3nmoTmlrnlvI/lt7Llup/lvIPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIuivpeejgeebmOeahOWkp+Wwj+S4uiAlcyAoJWp1IOS4quWtl+iKginjgIJET1Mg5YiG5Yy66KGo5LiN6IO955So5LqO5Y235a656YeP5aSn5LqOICVsdSDlrZfoioLvvIwlbHUg5a2X6IqC5omH5Yy655qE6amx5Yqo5Zmo44CC6K+35L2/55SoIEdVSUQg5YiG5Yy66KGo5qC85byPKEdQVCnjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1MzQKK21zZ2lkICJCYWQgb2Zmc2V0IGluIHByaW1hcnkgZXh0ZW5kZWQgcGFydGl0aW9uLiIKK21zZ3N0ciAi5Li75omp5bGV5YiG5Yy65Lit55qE5YGP56e76ZSZ6K+v44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIk9taXR0aW5nIHBhcnRpdGlvbnMgYWZ0ZXIgIyV6dS4gVGhleSB3aWxsIGJlIGRlbGV0ZWQgaWYgeW91IHNhdmUgdGhpcyBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLorablkYrvvJrlsIblv73nlaUgIyV6dSDlkI7nmoTmiYfljLrjgILlpoLmnpzmgqjkv53lrZjmraTliIbljLrooajvvIzlroPku6zkvJrooqvliKDpmaTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo1ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiRXh0cmEgbGluayBwb2ludGVyIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICLlnKjliIbljLrooaggJXp1IOS4reaciemineWklumTvuaOpeaMh+mSiOOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU4OQorIywgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICLlsIblv73nlaXliIbljLrooaggJXp1IOS4reeahOmineWkluaVsOaNruOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjY0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvbWl0dGluZyBlbXB0eSBwYXJ0aXRpb24gKCV6dSkiCittc2dzdHIgIuWwhuW/veeVpeepuuWIhuWMuiglenUpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzA1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgRE9TIGRpc2tsYWJlbCB3aXRoIGRpc2sgaWRlbnRpZmllciAweCUwOHguIgorbXNnc3RyICLliJvlu7rkuobkuIDkuKrno4Hnm5jmoIfor4bnrKbkuLogMHglMDh4IOeahOaWsCBET1Mg56OB55uY5qCH562+44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzI2Cittc2dpZCAiRW50ZXIgdGhlIG5ldyBkaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIui+k+WFpeaWsOejgeebmOagh+ivhuespiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjczMworbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIuaXoOaViOeahOWAvOOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tIDB4JTA4eCB0byAweCUwOHguIgorbXNnc3RyICLno4Hnm5jmoIfor4bku44gMHglMDh4IOaUueS4uiAweCUwOHjjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiSWdub3JpbmcgZXh0cmEgZXh0ZW5kZWQgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi5bCG5b+955Wl6aKd5aSW55qE5omp5bGV5YiG5Yy6ICV6dSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjg1MgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAi5YiG5Yy66KGoICUzJHp1IOeahOaXoOaViOagh+W/lyAweCUxJDAyeCUyJDAyeCDlsIbpgJrov4flhpnlhaXmnaXmm7TmraMiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo5NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgc2VjdG9yICVqdSBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLotbflp4vmiYfljLogJWp1IOi2heWHuuiMg+WbtOOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEwNzYgbGliZmRpc2svc3JjL2dwdC5jOjIzMjEgbGliZmRpc2svc3JjL3NnaS5jOjgzOAorIzogbGliZmRpc2svc3JjL3N1bi5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAi5YiG5Yy6ICV6dSDlt7Lnu4/lrprkuYnov4fjgILor7fliKDpmaTlkI7lho3ph43mlrDmt7vliqDlroPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAi5omH5Yy6ICVsbHUg5bey57uP5YiG6YWNLiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExODUgbGliZmRpc2svc3JjL2dwdC5jOjIzMzAKK21zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlLiIKK21zZ3N0ciAi5peg56m66Zey5omH5Yy65Y+v55So44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM0MQorIywgYy1mb3JtYXQKK21zZ2lkICJBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICLmt7vliqDpgLvovpHliIbljLogJXp1IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBjb250YWlucyBzZWN0b3IgMCIKK21zZ3N0ciAi5YiG5Yy6ICV6de+8muWMheWQq+aJh+WMuiAwIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBoZWFkICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVkIgorbXNnc3RyICLliIbljLogJXp177ya56OB5aS0ICVkIOWkp+S6juacgOWkp+WAvCAlZCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogc2VjdG9yICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIuWIhuWMuiAlenXvvJrmiYfljLogJWQg5aSn5LqO5pyA5aSn5YC8ICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzgwCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIuWIhuWMuiAlenXvvJrmn7HpnaIgJWQg5aSn5LqO5pyA5aSn5YC8ICVsbHUiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IHByZXZpb3VzIHNlY3RvcnMgJXUgZGlzYWdyZWVzIHdpdGggdG90YWwgJXUiCittc2dzdHIgIuWIhuWMuiAlenXvvJrkuYvliY3nmoTmiYfljLrmlbAgJXUg5LiO5oC75pWwICV1IOS4jeespiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0MzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgYmVnaW5uaW5ncyAobm9uLUxpbnV4Pyk6IHBoeXM9KCVkLCAlZCwgJWQpLCBsb2dpY2FsPSglZCwgJWQsICVkKSIKK21zZ3N0ciAi5YiG5Yy6ICV6dSDnmoTniannkIYv6YC76L6R6LW354K55LiN5ZCMKOmdniBMaW51eCDliIbljLrvvJ8p77ya54mp55CGPSglZCwgJWQsICVkKSwg6YC76L6RPSglZCwgJWQsICVkKSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICLliIbljLogJXp1IOeahOeJqeeQhi/pgLvovpHnu4jngrnkuI3lkIzvvJrniannkIY9KCVkLCAlZCwgJWQpLCDpgLvovpE9KCVkLCAlZCwgJWQpIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLliIbljLogJXp1IOacque7k+adn+WcqOafsemdoui+ueeVjOS4iuOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICLliIbljLogJXp177ya5pWw5o2u6LW354K56ZSZ6K+v44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBvdmVybGFwcyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi5YiG5Yy6ICV6de+8muS4jiDliIbljLogJXp1IOmHjeWPoOOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICLliIbljLogJXp177ya56m65YiG5Yy644CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgYy1mb3JtYXQKK21zZ2lkICJMb2dpY2FsIHBhcnRpdGlvbiAlenU6IG5vdCBlbnRpcmVseSBpbiBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi6YC76L6R5YiG5Yy6ICV6de+8muayoeacieWujOWFqOWcqOWIhuWMuiAlenUg5Lit44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTU0MAorIywgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAi5YiG6YWN55qE5oC75omH5Yy65pWwICVsbHUg5aSn5LqO5pyA5aSn5YC8ICVsbHXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICLliankvZkgJWxsZCDmnKrliIbphY3nmoQgJWxk5a2X6IqCIOaJh+WMuuOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKK21zZ2lkICJFeHRlbmRlZCBwYXJ0aXRpb24gYWxyZWFkeSBleGlzdHMuIgorbXNnc3RyICLmianlsZXliIbljLrlt7LlrZjlnKjjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKK21zZ2lkICJUaGUgbWF4aW11bSBudW1iZXIgb2YgcGFydGl0aW9ucyBoYXMgYmVlbiBjcmVhdGVkLiIKK21zZ3N0ciAi5bey5Yib5bu65YiG5Yy66L6+5Yiw5pyA5aSn5pWw6YeP44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorbXNnaWQgIkFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4iCittc2dzdHIgIuaJgOacieS4u+WIhuWMuumDveWcqOS9v+eUqOS4reOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKK21zZ2lkICJBbGwgc3BhY2UgZm9yIHByaW1hcnkgcGFydGl0aW9ucyBpcyBpbiB1c2UuIgorbXNnc3RyICLmiYDmnInkuLvliIbljLrnmoTnqbrpl7Tpg73lnKjkvb/nlKjkuK3jgIIiCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKK21zZ2lkICJUbyBjcmVhdGUgbW9yZSBwYXJ0aXRpb25zLCBmaXJzdCByZXBsYWNlIGEgcHJpbWFyeSB3aXRoIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIuimgeWIm+W7uuabtOWkmuWIhuWMuu+8jOivt+WFiOWwhuS4gOS4quS4u+WIhuWMuuabv+aNouS4uuaJqeWxleWIhuWMuuOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MDIKK21zZ2lkICJBbGwgbG9naWNhbCBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIEFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uLiIKK21zZ3N0ciAi5omA5pyJ6YC76L6R5YiG5Yy66YO95Zyo5L2/55So5Lit44CC5bCG5re75Yqg5LiA5Liq5Li75YiG5Yy644CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTcyNAorbXNnaWQgIlBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLliIbljLrnsbvlnosiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiV6dSBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXp1IGZyZWUiCittc2dzdHIgIiV6deS4quS4u+WIhuWMuu+8jCVk5Liq5omp5bGV5YiG5Yy677yMJXp156m66ZeyIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworbXNnaWQgInByaW1hcnkiCittc2dzdHIgIuS4u+WIhuWMuiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzUKK21zZ2lkICJleHRlbmRlZCIKK21zZ3N0ciAi5omp5bGV5YiG5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICLpgLvovpHliIbljLrlrrnlmagiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3Cittc2dpZCAibG9naWNhbCIKK21zZ3N0ciAi6YC76L6R5YiG5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczNworbXNnaWQgIm51bWJlcmVkIGZyb20gNSIKK21zZ3N0ciAi5LuOIDUg5byA5aeL57yW5Y+3IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc3NgorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICLml6DmlYjnmoTliIbljLrnsbvlnovigJwlY+KAneOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICLlhpnmiYfljLogJWpkIOWksei0pe+8muWumuS9jeWksei0pSIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE5NTQgbGliZmRpc2svc3JjL2dwdC5jOjEyMjEKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIiCittc2dzdHIgIuejgeebmOagh+ivhuespiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNjgKK21zZ2lkICJUeXBlIDAgbWVhbnMgZnJlZSBzcGFjZSB0byBtYW55IHN5c3RlbXMuIEhhdmluZyBwYXJ0aXRpb25zIG9mIHR5cGUgMCBpcyBwcm9iYWJseSB1bndpc2UuIgorbXNnc3RyICLlvojlpJrns7vnu5/lsIbnsbvlnosgMCDop4bkuLrnqbrpl7Lnqbrpl7TjgILkuI3lu7rorq7orr7nva7nsbvlnovkuLogMCDnmoTliIbljLrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDczCittc2dpZCAiQ2Fubm90IGNoYW5nZSB0eXBlIG9mIHRoZSBleHRlbmRlZCBwYXJ0aXRpb24gd2hpY2ggaXMgYWxyZWFkeSB1c2VkIGJ5IGxvZ2ljYWwgcGFydGl0aW9ucy4gRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyBmaXJzdC4iCittc2dzdHIgIuaXoOazleabtOaUueW3suiiq+mAu+i+keWIhuWMuuS9v+eUqOeahOaJqeWxleWIhuWMuueahOexu+Wei+OAguivt+WFiOWIoOmZpOmAu+i+keWIhuWMuuOAgiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIyNTkgbGliZmRpc2svc3JjL2dwdC5jOjMwMzcKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICLml6Dpobvmk43kvZzjgILpobrluo/lt7Lnu4/mmK/mraPnoa7nmoTkuobjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG5vIGRhdGEgYXJlYS4iCittc2dzdHIgIuWIhuWMuiAlenXvvJrml6DmlbDmja7ljLrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICLmlrDmlbDmja7otbfngrkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGlzIGFuIGV4dGVuZGVkIHBhcnRpdGlvbi4iCittc2dzdHIgIuWIhuWMuiAlenXvvJrmmK/kuIDkuKrmianlsZXliIbljLrjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZW5hYmxlZCBub3cuIgorbXNnc3RyICLliIbljLogJXp1IOeahCDlj6/lkK/liqgg5qCH5b+X5bey5ZCv55So44CCIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIuWIhuWMuiAlenUg55qEIOWPr+WQr+WKqCDmoIflv5flt7LnpoHnlKjjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDIzIGxpYmZkaXNrL3NyYy9ncHQuYzozMTI3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTUyCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTExOQorbXNnaWQgIkRldmljZSIKK21zZ3N0ciAi6K6+5aSHIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNCBsaWJmZGlzay9zcmMvc3VuLmM6NDAKK21zZ2lkICJCb290IgorbXNnc3RyICLlkK/liqgiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU4IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI1Cittc2dpZCAiSWQiCittc2dzdHIgIklkIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzNAorbXNnaWQgIlN0YXJ0LUMvSC9TIgorbXNnc3RyICLotbflp4stQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM1Cittc2dpZCAiRW5kLUMvSC9TIgorbXNnc3RyICLnu4gtQy9IL1MiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM2IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM3IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTYwCittc2dpZCAiQXR0cnMiCittc2dzdHIgIuWxnuaApyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OQorbXNnaWQgIkVGSSBTeXN0ZW0iCittc2dzdHIgIkVGSSDns7vnu58iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjEKK21zZ2lkICJNQlIgcGFydGl0aW9uIHNjaGVtZSIKK21zZ3N0ciAiTUJSIOWIhuWMuuaWueahiCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MgorbXNnaWQgIkludGVsIEZhc3QgRmxhc2giCittc2dzdHIgIkludGVsIEZhc3QgRmxhc2giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKK21zZ2lkICJCSU9TIGJvb3QiCittc2dzdHIgIkJJT1Mg5ZCv5YqoIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY4Cittc2dpZCAiU29ueSBib290IHBhcnRpdGlvbiIKK21zZ3N0ciAiU29ueSDlkK/liqjliIbljLoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIkxlbm92byDlkK/liqjliIbljLoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzIKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUG93ZXJQQyBQUmVQIGJvb3QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzUKK21zZ2lkICJPTklFIGJvb3QiCittc2dzdHIgIk9OSUUgYm9vdCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICJPTklFIOmFjee9riIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3OQorbXNnaWQgIk1pY3Jvc29mdCByZXNlcnZlZCIKK21zZ3N0ciAiTWljcm9zb2Z0IOS/neeVmSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICJNaWNyb3NvZnQg5Z+65pys5pWw5o2uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgxCittc2dpZCAiTWljcm9zb2Z0IExETSBtZXRhZGF0YSIKK21zZ3N0ciAiTWljcm9zb2Z0IExETSDlhYPmlbDmja4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIk1pY3Jvc29mdCBMRE0g5pWw5o2uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTgzCittc2dpZCAiV2luZG93cyByZWNvdmVyeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiV2luZG93cyDmgaLlpI3njq/looMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODQKK21zZ2lkICJJQk0gR2VuZXJhbCBQYXJhbGxlbCBGcyIKK21zZ3N0ciAiSUJNIOmAmueUqOW5tuihjOaWh+S7tuezu+e7nyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NQorbXNnaWQgIk1pY3Jvc29mdCBTdG9yYWdlIFNwYWNlcyIKK21zZ3N0ciAiTWljcm9zb2Z0IOWtmOWCqOepuumXtCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorbXNnaWQgIkhQLVVYIGRhdGEiCittc2dzdHIgIkhQLVVYIOaVsOaNriIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OQorbXNnaWQgIkhQLVVYIHNlcnZpY2UiCittc2dzdHIgIkhQLVVYIOacjeWKoSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MiBsaWJmZGlzay9zcmMvc2dpLmM6NjAgbGliZmRpc2svc3JjL3N1bi5jOjUxCittc2dpZCAiTGludXggc3dhcCIKK21zZ3N0ciAiTGludXggc3dhcCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MworbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIkxpbnV4IOaWh+S7tuezu+e7nyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorbXNnaWQgIkxpbnV4IHNlcnZlciBkYXRhIgorbXNnc3RyICJMaW51eCDkv53nlZnmlbDmja4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTUKK21zZ2lkICJMaW51eCByb290ICh4ODYpIgorbXNnc3RyICJMaW51eCByb290ICh4ODYpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiTGludXggcm9vdCAoQVJNKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NworbXNnaWQgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCittc2dzdHIgIkxpbnV4IHJvb3QgKHg4Ni02NCkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTgKK21zZ2lkICJMaW51eCByb290IChBUk0tNjQpIgorbXNnc3RyICJMaW51eCByb290IChBUk0tNjQpIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiTGludXggcm9vdFx0KElBLTY0KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMAorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJMaW51eCDkv53nlZkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKK21zZ2lkICJMaW51eCBob21lIgorbXNnc3RyICJMaW51eCBob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MworbXNnaWQgIkxpbnV4IFJBSUQiCittc2dzdHIgIkxpbnV4IFJBSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDMKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCDmianlsZXlkK/liqgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKK21zZ2lkICJGcmVlQlNEIGRhdGEiCittc2dzdHIgIkZyZWVCU0Qg5pWw5o2uIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCittc2dpZCAiRnJlZUJTRCBib290IgorbXNnc3RyICJGcmVlQlNEIOWQr+WKqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworbXNnaWQgIkZyZWVCU0Qgc3dhcCIKK21zZ3N0ciAiRnJlZUJTRCDkuqTmjaIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTQKK21zZ2lkICJGcmVlQlNEIFVGUyIKK21zZ3N0ciAiRnJlZUJTRCBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTUKK21zZ2lkICJGcmVlQlNEIFpGUyIKK21zZ3N0ciAiRnJlZUJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTYKK21zZ2lkICJGcmVlQlNEIFZpbnVtIgorbXNnc3RyICJGcmVlQlNEIFZpbnVtIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkFwcGxlIEhGUy9IRlMrIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwCittc2dpZCAiQXBwbGUgVUZTIgorbXNnc3RyICJBcHBsZSBVRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjEKK21zZ2lkICJBcHBsZSBSQUlEIgorbXNnc3RyICJBcHBsZSBSQUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyCittc2dpZCAiQXBwbGUgUkFJRCBvZmZsaW5lIgorbXNnc3RyICJBcHBsZSBSQUlEIOemu+e6vyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMworbXNnaWQgIkFwcGxlIGJvb3QiCittc2dzdHIgIkFwcGxlIOWQr+WKqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNAorbXNnaWQgIkFwcGxlIGxhYmVsIgorbXNnc3RyICJBcHBsZSDmoIfnrb4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjUKK21zZ2lkICJBcHBsZSBUViByZWNvdmVyeSIKK21zZ3N0ciAiQXBwbGUgVFYg5oGi5aSNIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI2Cittc2dpZCAiQXBwbGUgQ29yZSBzdG9yYWdlIgorbXNnc3RyICJBcHBsZSBDb3JlIOWtmOWCqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorbXNnaWQgIlNvbGFyaXMgcm9vdCIKK21zZ3N0ciAiU29sYXJpcyByb290IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICJTb2xhcmlzIC91c3IgJiBBcHBsZSBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKK21zZ2lkICJTb2xhcmlzIHN3YXAiCittc2dzdHIgIlNvbGFyaXMg5Lqk5o2iIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0Cittc2dpZCAiU29sYXJpcyBiYWNrdXAiCittc2dzdHIgIlNvbGFyaXMg5aSH5Lu9IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM1Cittc2dpZCAiU29sYXJpcyAvdmFyIgorbXNnc3RyICJTb2xhcmlzIC92YXIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKK21zZ2lkICJTb2xhcmlzIC9ob21lIgorbXNnc3RyICJTb2xhcmlzIC9ob21lIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM3Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICJTb2xhcmlzIOWkh+mAieaJh+WMuiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMSIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgMSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzOQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMiIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgMiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MAorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgMyIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgMyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MQorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNCIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgNCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0MgorbXNnaWQgIlNvbGFyaXMgcmVzZXJ2ZWQgNSIKK21zZ3N0ciAiU29sYXJpcyDkv53nlZkgNSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NQorbXNnaWQgIk5ldEJTRCBzd2FwIgorbXNnc3RyICJOZXRCU0Qg5Lqk5o2iIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2Cittc2dpZCAiTmV0QlNEIEZGUyIKK21zZ3N0ciAiTmV0QlNEIEZGUyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworbXNnaWQgIk5ldEJTRCBMRlMiCittc2dzdHIgIk5ldEJTRCBMRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ5Cittc2dpZCAiTmV0QlNEIGVuY3J5cHRlZCIKK21zZ3N0ciAiTmV0QlNEIOWKoOWvhiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MAorbXNnaWQgIk5ldEJTRCBSQUlEIgorbXNnc3RyICJOZXRCU0QgUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiQ2hyb21lT1Mg5YaF5qC4IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiQ2hyb21lT1Mg5qC55paH5Lu257O757ufIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1Cittc2dpZCAiQ2hyb21lT1MgcmVzZXJ2ZWQiCittc2dzdHIgIkNocm9tZU9TIOS/neeVmSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OAorbXNnaWQgIk1pZG5pZ2h0QlNEIGRhdGEiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOaVsOaNriIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1OQorbXNnaWQgIk1pZG5pZ2h0QlNEIGJvb3QiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOWQr+WKqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MAorbXNnaWQgIk1pZG5pZ2h0QlNEIHN3YXAiCittc2dzdHIgIk1pZG5pZ2h0QlNEIOS6pOaNoiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MQorbXNnaWQgIk1pZG5pZ2h0QlNEIFVGUyIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYyCittc2dpZCAiTWlkbmlnaHRCU0QgWkZTIgorbXNnc3RyICJNaWRuaWdodEJTRCBaRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjMKK21zZ2lkICJNaWRuaWdodEJTRCBWaW51bSIKK21zZ3N0ciAiTWlkbmlnaHRCU0QgVmludW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjYKK21zZ2lkICJDZXBoIEpvdXJuYWwiCittc2dzdHIgIkNlcGgg5pel5b+XIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiQ2VwaCDliqDlr4bml6Xlv5ciCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjgKK21zZ2lkICJDZXBoIE9TRCIKK21zZ3N0ciAiQ2VwaCBPU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjkKK21zZ2lkICJDZXBoIGNyeXB0IE9TRCIKK21zZ3N0ciAiQ2VwaCDliqDlr4YgT1NEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjcwCittc2dpZCAiQ2VwaCBkaXNrIGluIGNyZWF0aW9uIgorbXNnc3RyICLliJvlu7rkuK3nmoQgQ2VwaCDno4Hnm5giCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzEKK21zZ2lkICJDZXBoIGNyeXB0IGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIuWIm+W7uuS4reeahOWKoOWvhiBDZXBoIOejgeebmCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NQorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgRGlhZ25vc3RpYyIKK21zZ3N0ciAiQ29tcGFxIOiviuaWrSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NgorIywgZnV6enkKK21zZ2lkICJWTXdhcmUgVmlydHVhbCBTQU4iCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc3CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBWaXJzdG8iCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc4CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBSZXNlcnZlZCIKK21zZ3N0ciAiQ2hyb21lT1Mg5L+d55WZIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjgxCittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJPcGVuQlNEIOaVsOaNriIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NAorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIlFOWDYg5paH5Lu257O757ufIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg3Cittc2dpZCAiUGxhbiA5IHBhcnRpdGlvbiIKK21zZ3N0ciAiUGxhbiA5IOWIhuWMuiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjY2MQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHUFQgaGVhZGVyIgorbXNnc3RyICLliIbphY0gR1BUIOWktOWksei0pSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIuiEmuacrOaMh+WumueahOesrOS4gOS4qiBMQkEg6LaF5Ye66IyD5Zu044CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6NzU2Cittc2dpZCAiTGFzdCBMQkEgc3BlY2lmaWVkIGJ5IHNjcmlwdCBpcyBvdXQgb2YgcmFuZ2UuIgorbXNnc3RyICLohJrmnKzmjIflrprnmoTmnIDlkI7kuIDkuKogTEJBIOi2heWHuuiMg+WbtOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjg5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR1BUIFBNQlIgc2l6ZSBtaXNtYXRjaCAoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0Pikgd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICJHUFQgUE1CUiDlpKflsI/kuI3nrKYoJTxQUkl1NjQ+ICE9ICU8UFJJdTY0PinvvIzlsIbnlKggdyjlhpkpIOS6iOS7peabtOato+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkxNworbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiZ3B077yac3RhdCgpIOWksei0pSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICJncHTvvJrml6Dms5Xmk43kvZzmqKHlvI/kuLogJW8g55qE5paH5Lu2IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5MQorbXNnaWQgIkdQVCBIZWFkZXIiCittc2dzdHIgIkdQVCDlpLQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTk2Cittc2dpZCAiR1BUIEVudHJpZXMiCittc2dzdHIgIkdQVCDorrDlvZXpobkiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4Cittc2dpZCAiRmlyc3QgTEJBIgorbXNnc3RyICLnrKzkuIDkuKogTEJBIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzMworbXNnaWQgIkxhc3QgTEJBIgorbXNnc3RyICLmnIDlkI7kuIDkuKogTEJBIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIExCQSAoTG9naWNhbCBCbG9jayBBZGRyZXNzKSBvZiB0aGUgYmFja3VwIEdQVCBoZWFkZXIuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzOQorbXNnaWQgIkFsdGVybmF0aXZlIExCQSIKK21zZ3N0ciAi5pu/5LujIExCQSIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorbXNnaWQgIlBhcnRpdGlvbiBlbnRyaWVzIExCQSIKK21zZ3N0ciAi5YiG5Yy66K6w5b2V6aG5IExCQSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjEyNTAKK21zZ2lkICJBbGxvY2F0ZWQgcGFydGl0aW9uIGVudHJpZXMiCittc2dzdHIgIuW3suWIhumFjeeahOWIhuWMuumhuSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE1OTUKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIHByaW1hcnkgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICLlpIfku70gR1BUIOihqOaNn+Wdj++8jOS9huS4u+ihqOS8vOS5juato+W4uO+8jOWwhuS9v+eUqOWug+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MDUKK21zZ2lkICJUaGUgcHJpbWFyeSBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBiYWNrdXAgYXBwZWFycyBPSywgc28gdGhhdCB3aWxsIGJlIHVzZWQuIgorbXNnc3RyICLkuLsgR1BUIOihqOaNn+Wdj++8jOS9huWkh+S7veS8vOS5juato+W4uO+8jOWwhuS9v+eUqOWug+OAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICclcyciCittc2dzdHIgIuS4jeaUr+aMgeeahCBHUFQg5bGe5oCn5L2N4oCcJXPigJ0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgR1BUIGF0dHJpYnV0ZSBzdHJpbmcgJyVzJyIKK21zZ3N0ciAi6Kej5p6Q5YiX6KGo4oCcJXPigJ3lpLHotKUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBVVUlEIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIuWIhuWMuiBVVUlEIOW3suS7jiAlcyDmm7TmlLnkuLogJXPjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB0cmFuc2xhdGUgcGFydGl0aW9uIG5hbWUsIG5hbWUgbm90IGNoYW5nZWQuIgorbXNnc3RyICLliIbphY3liIbljLrlkI3lpLHotKUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIuWIhuWMuuWQjeW3sueUseKAnCVz4oCd5pS55Li64oCcJS4qc+KAneOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NDUKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAi5YiG5Yy66LW354K55pyq5Yiw6aaW5Liq5Y+v55SoIExCQeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NTIKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICLliIbljLrnu4jngrnotoXov4fkuobmnIDlkI7lj6/nlKggTEJB44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjExNAorbXNnaWQgIlRoZSBkZXZpY2UgY29udGFpbnMgaHlicmlkIE1CUiAtLSB3cml0aW5nIEdQVCBvbmx5LiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBNQlIgbWFudWFsbHkuIgorbXNnc3RyICLor6Xorr7lpIfljIXlkKvmt7flkIggTUJSIC0tIOWwhuWPquWGmeWFpSBHUFTjgILmgqjpnIDopoHmiYvliqjlkIzmraUgTUJS44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1MQorbXNnaWQgIkRpc2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICLno4Hnm5jkuI3lkKvmnInmlYjnmoTlpIfnlKjno4HlpLTjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTU2Cittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICLml6DmlYjnmoTkuLvno4HlpLQgQ1JDIOagoemqjOWSjOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNjAKK21zZ2lkICJJbnZhbGlkIGJhY2t1cCBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAi5peg5pWI55qE5aSH5Lu956OB5aS0IENSQyDmoKHpqozlkozjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1Cittc2dpZCAiSW52YWxpZCBwYXJ0aXRpb24gZW50cnkgY2hlY2tzdW0uIgorbXNnc3RyICLml6DmlYjnmoTliIbljLrorrDlvZXmoKHpqozlkozjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTcwCittc2dpZCAiSW52YWxpZCBwcmltYXJ5IGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIuaXoOaViOeahOS4u+ejgeWktCBMQkEg5a6M5pW05oCn5qOA5p+l44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIuaXoOaViOeahOWkh+eUqOejgeWktCBMQkEg5a6M5pW05oCn5qOA5p+l44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3OQorbXNnaWQgIk15TEJBIG1pc21hdGNoIHdpdGggcmVhbCBwb3NpdGlvbiBhdCBwcmltYXJ5IGhlYWRlci4iCittc2dzdHIgIk15TEJBIOS4jeWMuemFje+8jOecn+ato+S9jee9ruWcqOS4u+ejgeWktOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODMKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgYmFja3VwIGhlYWRlci4iCittc2dzdHIgIk15TEJBIOS4jeWMuemFje+8jOecn+ato+S9jee9ruWcqOWkh+S7veejgeWktOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxODgKK21zZ2lkICJEaXNrIGlzIHRvbyBzbWFsbCB0byBob2xkIGFsbCBkYXRhLiIKK21zZ3N0ciAi56OB55uY5aSq5bCP77yM5pS+5LiN5LiL5omA5pyJ5pWw5o2u44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE5OAorbXNnaWQgIlByaW1hcnkgYW5kIGJhY2t1cCBoZWFkZXIgbWlzbWF0Y2guIgorbXNnc3RyICLkuLvno4HlpLTlkozlpIfku73no4HlpLTkuI3ljLnphY3jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjA0CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIHBhcnRpdGlvbiAldS4iCittc2dzdHIgIuWIhuWMuiAldSDkuI4gJXUg6YeN5Y+g44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxMQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgaXMgdG9vIGJpZyBmb3IgdGhlIGRpc2suIgorbXNnc3RyICLliIbljLogJXUg5a+55LqO6K+l56OB55uY6ICM6KiA6L+H5aSn44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxOAorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZW5kcyBiZWZvcmUgaXQgc3RhcnRzLiIKK21zZ3N0ciAi5YiG5Yy6ICV1IOe7k+adn+S6jui1t+eCueS5i+WJjeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjcKK21zZ2lkICJObyBlcnJvcnMgZGV0ZWN0ZWQuIgorbXNnc3RyICLmnKrmo4DmtYvliLDplJnor6/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAi56OB5aS054mI5pys77yaJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAi5L2/55So552AICUyJGQg5Liq5YiG5Yy65Lit55qEICUxJHUg5Liq44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzOQorIywgYy1mb3JtYXQKK21zZ2lkICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnQuIgorbXNnaWRfcGx1cmFsICJBIHRvdGFsIG9mICVqdSBmcmVlIHNlY3RvcnMgaXMgYXZhaWxhYmxlIGluICV1IHNlZ21lbnRzICh0aGUgbGFyZ2VzdCBpcyAlcykuIgorbXNnc3RyWzBdICIlMiR1IOS4queJh+auteS4reWFseaciSAlMSRqdSDkuKrnqbrpl7LmiYfljLoo5pyA5aSn55qE5pivICUzJHMp44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIuajgOa1i+WIsCAlZCDkuKrplJnor6/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzI2Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAi5omA5pyJ5YiG5Yy65Z2H5bey5Y2g55So44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3IgJWp1IGFscmVhZHkgdXNlZC4iCittc2dzdHIgIuaJh+WMuiAlanUg5bey5L2/55So44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ3NQorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgY3JlYXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIuaXoOazleWIm+W7uuWIhuWMuiAlenUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBsYXN0IHVzYWJsZSBHUFQgc2VjdG9yIGlzICVqdSwgYnV0ICVqdSBpcyByZXF1ZXN0ZWQuIgorbXNnc3RyICLmnIDlkI7kuIDkuKrlj6/nlKjnmoQgR1BUIOaJh+WMuuaYryAlanXvvIzkvYbor7fmsYLkuoYgJWp144CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIuesrOS4gOS4quWPr+eUqOeahCBHUFQg5omH5Yy65pivICVqde+8jOS9huivt+axguS6hiAlanXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAi5bey5Yib5bu65paw55qEIEdQVCDno4Hnm5jmoIfnrb4oR1VJRDogJXMp44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY0NgorbXNnaWQgIkVudGVyIG5ldyBkaXNrIFVVSUQgKGluIDgtNC00LTQtMTIgZm9ybWF0KSIKK21zZ3N0ciAi6L6T5YWl5paw56OB55uYIFVVSUQo5LulIDgtNC00LTQtMTIg5qC85byPKSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NTMKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgeW91ciBVVUlELiIKK21zZ3N0ciAi6Kej5p6Q5oKo55qEIFVVSUQg5aSx6LSl44CCIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXIgY2hhbmdlZCBmcm9tICVzIHRvICVzLiIKK21zZ3N0ciAi5bCG56OB55uY5qCH6K+G5LuOICVzIOabtOaUueS4uiAlcyDlpLHotKXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjg3Cittc2dpZCAiTm90IGVub3VnaCBzcGFjZSBmb3IgbmV3IHBhcnRpdGlvbiB0YWJsZSEiCittc2dzdHIgIuWIm+W7uuaWsOWIhuWMuuihqOeahOepuumXsuepuumXtOS4jeWkn++8gSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWluaW1hbCBzdGFydCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIuWIhuWMuiAjJXUg6LaF5Ye66IyD5Zu0KOacgOWwj+i1t+eCueaYryAlPFBSSXU2ND4g5omH5Yy6KSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IG91dCBvZiByYW5nZSAobWF4aW1hbCBlbmQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICLliIbljLogIyV1IOi2heWHuuiMg+WbtCjmnIDlsI/nu4jngrnmmK8gJTxQUkl1NjQ+IOaJh+WMuikiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgbnVtYmVyIG9mIHRoZSBwYXJ0aXRpb24gaGFzIHRvIGJlIHNtYWxsZXIgdGhhbiAlenUuIgorbXNnc3RyICLlt7LliJvlu7rliIbljLrovr7liLDmnIDlpKfmlbDph4/jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzY5Cittc2dpZCAiQ2Fubm90IGFsbG9jYXRlIG1lbW9yeSEiCittc2dzdHIgIuaXoOazleWIhumFjeWGheWtmO+8gSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uIHRhYmxlIGxlbmd0aCBjaGFuZ2VkIGZyb20gJTxQUkl1MzI+IHRvICU8UFJJdTY0Pi4iCittc2dzdHIgIuWIhuWMuuihqOmVv+W6puW3suS7jiAlPFBSSXUzMj4g5pS55Li6ICU8UFJJdTY0PuOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGF0dHJpYnV0ZXMgb24gcGFydGl0aW9uICV6dSBjaGFuZ2VkIHRvIDB4JTAxNjxQUkl4NjQ+LiIKK21zZ3N0ciAi5YiG5Yy6ICV6dSDnmoTlsZ7mgKflt7LmlLnkuLogMHglMDE2PFBSSXg2ND7jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTU4Cittc2dpZCAiRW50ZXIgR1VJRCBzcGVjaWZpYyBiaXQiCittc2dzdHIgIui+k+WFpSBHVUlEIOeJueWumuS9jSIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHRvZ2dsZSB1bnN1cHBvcnRlZCBiaXQgJWx1IgorbXNnc3RyICLlvIAv5YWz5LiN5pSv5oyB55qE5L2NICVsdSDlpLHotKUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTg2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBHVUlEIHNwZWNpZmljIGJpdCAlZCBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAi5YiG5Yy6ICUyJHp1IOS4iueahCBHVUlEIOeJueWumuS9jSAlMSRkIOeOsOW3suWQr+eUqOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAi5YiG5Yy6ICUyJHp1IOS4iueahCBHVUlEIOeJueWumuS9jSAlMSRkIOeOsOW3suemgeeUqOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIuWIhuWMuiAlMiR6dSDkuIrnmoTmoIflv5cgJTEkcyDnjrDlt7LlkK/nlKjjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSAlcyBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAi5YiG5Yy6ICUyJHp1IOS4iueahOagh+W/lyAlMSRzIOeOsOW3suemgeeUqOOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKK21zZ2lkICJUeXBlLVVVSUQiCittc2dzdHIgIuexu+Weiy1VVUlEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNQorbXNnaWQgIlVVSUQiCittc2dzdHIgIlVVSUQiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE1OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjMyNAorbXNnaWQgIk5hbWUiCittc2dzdHIgIuWQjeensCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjg0OAorbXNnaWQgIkZyZWUgc3BhY2UiCittc2dzdHIgIuWJqeS9meepuumXtCIKKworIzogbGliZmRpc2svc3JjL3BhcnRpdGlvbi5jOjEyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIuiwg+aVtOWIhuWMuiAjJXp1IOeahOWkp+Wwj+Wksei0peOAgiIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAi5pyq55+lIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0kgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICLlnKjnrKzkuozmiYfljLrliJvlu7rkuoYgU0dJIOS/oeaBr+OAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI1OAorbXNnaWQgIkRldGVjdGVkIGFuIFNHSSBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4iCittc2dzdHIgIuajgOa1i+WIsOagoemqjOWSjOmUmeivr+eahCBzZ2kg56OB55uY5qCH562+44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MjgxIGxpYmZkaXNrL3NyYy9zdW4uYzo3ODMKK21zZ2lkICJQaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIueJqeeQhuafsemdouaVsCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4NiBsaWJmZGlzay9zcmMvc3VuLmM6Nzg4Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICLpop3lpJbmiYfljLov5p+x6Z2iIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjk2Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIuWQr+WKqOaWh+S7tiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorbXNnaWQgIkludmFsaWQgYm9vdGZpbGUhICBUaGUgYm9vdGZpbGUgbXVzdCBiZSBhbiBhYnNvbHV0ZSBub24temVybyBwYXRobmFtZSwgZS5nLiBcIi91bml4XCIgb3IgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICLml6DmlYjnmoTlkK/liqjmlofku7bvvIHlkK/liqjmlofku7blv4XpobvkuLrnu53lr7npnZ7pm7bot6/lvoTlkI3vvIzkvovlpoLigJwvdW5peOKAneaIluKAnC91bml4LnNhdmXigJ3jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAi5ZCv5Yqo5paH5Lu25ZCN6L+H6ZW/77ya5pyA5aSaICV6dSDkuKrlrZfoioLjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MDcKK21zZ2lkICJCb290ZmlsZSBtdXN0IGhhdmUgYSBmdWxseSBxdWFsaWZpZWQgcGF0aG5hbWUuIgorbXNnc3RyICLlkK/liqjmlofku7blv4XpobvnlKjlrozlhajpmZDlrprot6/lvoTlkI3jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0MTMKK21zZ2lkICJCZSBhd2FyZSB0aGF0IHRoZSBib290ZmlsZSBpcyBub3QgY2hlY2tlZCBmb3IgZXhpc3RlbmNlLiAgU0dJJ3MgZGVmYXVsdCBpcyBcIi91bml4XCIsIGFuZCBmb3IgYmFja3VwIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAi5rOo5oSP77yM5LiN5Lya5qOA5p+l5ZCv5Yqo5paH5Lu25piv5ZCm5a2Y5Zyo44CCU0dJIOm7mOiupOWAvOS4uuKAnC91bml44oCd77yM5aSH5Lu95Li64oCcL3VuaXguc2F2ZeKAneOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgY3VycmVudCBib290IGZpbGUgaXM6ICVzIgorbXNnc3RyICLlvZPliY3lkK/liqjmlofku7bkuLrvvJolcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0MAorbXNnaWQgIkVudGVyIG9mIHRoZSBuZXcgYm9vdCBmaWxlIgorbXNnc3RyICLovpPlhaXmlrDlkK/liqjmlofku7bnmoTot6/lvoQiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDUKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAi5ZCv5Yqo5paH5Lu25pyq5pS55Y+Y44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAi5ZCv5Yqo5paH5Lu25bey5pu05pS55Li64oCcJXPigJ3jgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1OTUKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICLlrZjlnKjotoXov4fkuIDkuKrmlbTno4Hnm5jorrDlvZXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo2MDIgbGliZmRpc2svc3JjL3N1bi5jOjQ1OQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIuacquWumuS5ieWIhuWMuuOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxMgorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVgg5YGP5ZCR5LqO6K6p5YiG5Yy6IDExIOimhuebluaVtOS4quejgeebmOOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYxNgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICLmlbTno4Hnm5jliIbljLrlupTlvIDlp4vkuo7lnZcgMO+8jOiAjOmdnuWdlyAlZOOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworbXNnaWQgIlBhcnRpdGlvbiAxMSBzaG91bGQgY292ZXIgdGhlIGVudGlyZSBkaXNrLiIKK21zZ3N0ciAi5YiG5Yy6IDExIOW6lOimhuebluaVtOS4quejgeebmOOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3Rvci4iCittc2dpZF9wbHVyYWwgIlBhcnRpdGlvbnMgJWQgYW5kICVkIG92ZXJsYXAgYnkgJWQgc2VjdG9ycy4iCittc2dzdHJbMF0gIuWIhuWMuiAlZCDkuI4gJWQg6YeN5Y+g5LqGICVkIOS4quaJh+WMuuOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MiBsaWJmZGlzay9zcmMvc2dpLmM6Njg0CisjLCBjLWZvcm1hdAorbXNnaWQgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3Rvcjogc2VjdG9yICU4dSIKK21zZ2lkX3BsdXJhbCAiVW51c2VkIGdhcCBvZiAlOHUgc2VjdG9yczogc2VjdG9ycyAlOHUtJXUiCittc2dzdHJbMF0gIuacieacquS9v+eUqOeahCAlOHUg5Liq5omH5Yy655qE6Ze06ZqZ77ya5omH5Yy6ICU4dS0ldSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY5NworbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIuWQr+WKqOWIhuWMuuS4jeWtmOWcqOOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIuS6pOaNouWIhuWMuuS4jeWtmOWcqOOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwNQorbXNnaWQgIlRoZSBzd2FwIHBhcnRpdGlvbiBoYXMgbm8gc3dhcCB0eXBlLiIKK21zZ3N0ciAi5Lqk5o2i5YiG5Yy65LiN5piv5Lqk5o2i57G75Z6L44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NzA4Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIuaCqOmAieaLqeS6huS4gOS4quS4jeW4uOeUqOeahOWQr+WKqOaWh+S7tuWQjeOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjc1OAorbXNnaWQgIlBhcnRpdGlvbiBvdmVybGFwIG9uIHRoZSBkaXNrLiIKK21zZ3N0ciAi56OB55uY5LiK55qE5YiG5Yy66YeN5Y+g44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQzCittc2dpZCAiQXR0ZW1wdGluZyB0byBnZW5lcmF0ZSBlbnRpcmUgZGlzayBlbnRyeSBhdXRvbWF0aWNhbGx5LiIKK21zZ3N0ciAi5bCd6K+V6Ieq5Yqo55Sf5oiQ5pW056OB55uY6K6w5b2V44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODQ4Cittc2dpZCAiVGhlIGVudGlyZSBkaXNrIGlzIGFscmVhZHkgY292ZXJlZCB3aXRoIHBhcnRpdGlvbnMuIgorbXNnc3RyICLmlbTkuKrno4Hnm5jlt7Lnu4/ooqvliIbljLropobnm5bjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NTIKK21zZ2lkICJZb3UgZ290IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCittc2dzdHIgIuejgeebmOS4iuaciemHjeWPoOWIhuWMuuOAguivt+WFiOS/ruWkjeWug++8gSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg3NCBsaWJmZGlzay9zcmMvc3VuLmM6NTU1CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ICVzIgorbXNnc3RyICLotbflp4sgJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4OTggbGliZmRpc2svc3JjL3NnaS5jOjk0OAorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSBlbGV2ZW50aCBwYXJ0aXRpb24gY292ZXJzIHRoZSBlbnRpcmUgZGlzayBhbmQgaXMgb2YgdHlwZSAnU0dJIHZvbHVtZScuIgorbXNnc3RyICLlvLrng4jlu7rorq7nrKzljYHkuIDliIbljLropobnm5bmlbTkuKrno4Hnm5jvvIzlubbkvb/nlKjigJxTR0kgdm9sdW1l4oCd57G75Z6L44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTEzIGxpYmZkaXNrL3NyYy9zdW4uYzo2NTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAi5pyA5ZCOICVzIOaIlislcyDmiJYgK+Wkp+Wwj3tLLE0sRyxULFB9IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6OTg0IGxpYmZkaXNrL3NyYy9zdW4uYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQkxLR0VUU0laRSBpb2N0bCBmYWlsZWQgb24gJXMuIFVzaW5nIGdlb21ldHJ5IGN5bGluZGVyIHZhbHVlIG9mICVsbHUuIFRoaXMgdmFsdWUgbWF5IGJlIHRydW5jYXRlZCBmb3IgZGV2aWNlcyA+IDMzLjggR0IuIgorbXNnc3RyICLlr7kgJXMg5omn6KGMIEJMS0dFVFNJWkUgaW9jdGwg5aSx6LSl44CC5bCG5L2/55So5Yeg5L2VIOafsemdoiDlsZ7mgKflgLwgJWxsdeOAguWvueS6juWkp+S6jiAzMy44IEdCIOeahOiuvuWkh++8jOi/meS4quWAvOWPr+iDveiiq+aIquefreOAgiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNTAKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICLliJvlu7rmlrDnmoRTR0kg56OB55uY5qCH562+44CCIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA2OQorbXNnaWQgIlNvcnJ5LCBvbmx5IGZvciBub24tZW1wdHkgcGFydGl0aW9ucyB5b3UgY2FuIGNoYW5nZSB0aGUgdGFnLiIKK21zZ3N0ciAi5oqx5q2J77yM5Y+q5pyJ6Z2e56m65YiG5Yy65omN6IO95pu05pS55qCH5b+XKHRhZynjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDc1Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAi6ICD6JmR5bCG5YiG5Yy6IDkg55WZ5L2c5Y235aS0KHZvbHVtZSBoZWFkZXIpICgwKe+8jOWIhuWMuiAxMSDkvZzkuLrmlbTljbcoNinvvIzku6XnrKblkIggSVJJWCDop4TlrprjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxMDg0Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIHBhcnRpdGlvbiBhdCBvZmZzZXQgMCBpcyBvZiB0eXBlIFwiU0dJIHZvbGhkclwiLCB0aGUgSVJJWCBzeXN0ZW0gd2lsbCByZWx5IG9uIGl0IHRvIHJldHJpZXZlIGZyb20gaXRzIGRpcmVjdG9yeSBzdGFuZGFsb25lIHRvb2xzIGxpa2Ugc2FzaCBhbmQgZnguIE9ubHkgdGhlIFwiU0dJIHZvbHVtZVwiIGVudGlyZSBkaXNrIHNlY3Rpb24gbWF5IHZpb2xhdGUgdGhpcy4gQXJlIHlvdSBzdXJlIGFib3V0IHRhZ2dpbmcgdGhpcyBwYXJ0aXRpb24gZGlmZmVyZW50bHk/IgorbXNnc3RyICLlvLrng4jlu7rorq7lgY/np7sgMCDlpITnmoTliIbljLrorr7kuLrigJxTR0kgdm9saGRy4oCd57G75Z6L77yMSVJJWCDkvJrkvp3pnaDlroPku47lroPnmoTnm67lvZXkuK3ojrflj5bni6znq4vnmoTlt6XlhbfvvIzlpoIgc2FzaCDlkowgZnjjgILlj6rmnInigJxTR0kgdm9sdW1l4oCd5pW056OB55uY6YOo5YiGKGVudGlyZSBkaXNrIHNlY3Rpb24p6IO96L+d5Y+N6L+Z5LiA6KeE5a6a44CC5oKo56Gu5a6a6KaB5bCG6L+Z5LiA5YiG5Yy65qCH6K6w5oiQ5YW25LuW57G75Z6L5ZCX77yfIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICLmnKrliIbphY0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIOaguSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mg5Lqk5o2iIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ0Cittc2dpZCAiV2hvbGUgZGlzayIKK21zZ3N0ciAi5pW055uYIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDUKK21zZ2lkICJTdW5PUyBzdGFuZCIKK21zZ3N0ciAiU3VuT1Mgc3RhbmQiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NgorbXNnaWQgIlN1bk9TIHZhciIKK21zZ3N0ciAiU3VuT1MgdmFyIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDgKK21zZ2lkICJTdW5PUyBhbHQgc2VjdG9ycyIKK21zZ3N0ciAiU3VuT1MgYWx0IOaJh+WMuiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ5Cittc2dpZCAiU3VuT1MgY2FjaGVmcyIKK21zZ3N0ciAiU3VuT1MgY2FjaGVmcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIOS/neeVmSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzMAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyBjaGVja3N1bS4gUHJvYmFibHkgeW91J2xsIGhhdmUgdG8gc2V0IGFsbCB0aGUgdmFsdWVzLCBlLmcuIGhlYWRzLCBzZWN0b3JzLCBjeWxpbmRlcnMgYW5kIHBhcnRpdGlvbnMgb3IgZm9yY2UgYSBmcmVzaCBsYWJlbCAocyBjb21tYW5kIGluIG1haW4gbWVudSkiCittc2dzdHIgIuajgOa1i+WIsOagoemqjOWSjOmUmeivr+eahCBzdW4g56OB55uY5qCH562+44CC5oKo5Y+v6IO96KaB6K6+572u5omA5pyJ55qE5YC8KOWmguejgeWktOOAgeaJh+WMuuOAgeafsemdouWSjOWIhuWMuinmiJblvLrliLbkuIDkuKrmlrDmoIfnrb4o5Li76I+c5Y2V5Lit55qEIHMg5ZG95LukKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdmVyc2lvbiBbJWRdLiIKK21zZ3N0ciAi5qOA5rWL5Yiw5bim6ZSZ6K+v54mI5pysIFslZF0g55qEIHN1biDno4Hnm5jmoIfnrb4g44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBjLWZvcm1hdAorbXNnaWQgIkRldGVjdGVkIHN1biBkaXNrbGFiZWwgd2l0aCB3cm9uZyB2dG9jLnNhbml0eSBbMHglMDh4XS4iCittc2dzdHIgIuajgOa1i+WIsOW4pumUmeivr+eahCB2dG9jLnNhbml0eSBbMHglMDh4XSDnmoQgc3VuIOejgeebmOagh+etvuOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5ucGFydHMgWyV1XS4iCittc2dzdHIgIuajgOa1i+WIsOW4pumUmeivryB2dG9jLm5wYXJ0cyBbJXVdIOeahCBzdW4g56OB55uY5qCH562+44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCittc2dpZCAiV2FybmluZzogV3JvbmcgdmFsdWVzIG5lZWQgdG8gYmUgZml4ZWQgdXAgYW5kIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHcocml0ZSkiCittc2dzdHIgIuitpuWRiu+8mumUmeivr+WAvOmcgOimgeS/ruWkje+8jOW5tuS4lOWwhumAmui/hyB3KOWGmSkg5pON5L2c5L+u5q2j44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTg3Cittc2dpZCAiSGVhZHMiCittc2dzdHIgIuejgeWktCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE5MgorbXNnaWQgIlNlY3RvcnMvdHJhY2siCittc2dzdHIgIuaJh+WMui/no4HpgZMiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoyOTMKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFN1biBkaXNrbGFiZWwuIgorbXNnc3RyICLliJvlu7rmlrDnmoQgU3VuIOejgeebmOagh+etvuOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQxNworIywgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLliIbljLogJXUg5pyq57uT5p2f5Zyo5p+x6Z2i6L6555WM5LiK44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAi5YiG5Yy6ICV1IOWcqOaJh+WMuiAldS0ldSDkuI7lhbbku5bliIbljLrph43lj6DjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIuacquS9v+eUqOeahOmXtOmamSAtIOaJh+WMuiAwLSV144CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDY2IGxpYmZkaXNrL3NyYy9zdW4uYzo0NzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICLmnKrkvb/nlKjnmoTpl7TpmpkgLSDmiYfljLogJXUtJXXjgIIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MzQKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIuWFtuS7luWIhuWMuuW3suimhuebluS6huaVtOS4quejgeebmOOAguWIoOmZpOWHoOS4quWIhuWMuuaIluWOi+e8qeWug+S7rO+8jOeEtuWQjumHjeivleOAgiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorbXNnaWQgIkl0IGlzIGhpZ2hseSByZWNvbW1lbmRlZCB0aGF0IHRoZSB0aGlyZCBwYXJ0aXRpb24gY292ZXJzIHRoZSB3aG9sZSBkaXNrIGFuZCBpcyBvZiB0eXBlIGBXaG9sZSBkaXNrJyIKK21zZ3N0ciAi5by654OI5bu66K6u6K6p56ys5LiJ5Liq5YiG5Yy66KaG55uW5pW05Liq56OB55uY77yM5bm26K6+5Li64oCc5pW055uY4oCd57G75Z6LIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTkzCisjLCBjLWZvcm1hdAorbXNnaWQgIkFsaWduaW5nIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSAldSB0byAldSB0byBiZSBvbiBjeWxpbmRlciBib3VuZGFyeS4iCittc2dzdHIgIuWwhuaKiuS7jiAldSDliLAgJXUg55qE6aaW5Liq5omH5Yy65a+56b2Q5Yiw5p+x6Z2i6L6555WM44CCIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NjIxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAi5omH5Yy6ICVkIOW3suWIhumFjSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjY5NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIuaCqOayoeacieS9v+esrOS4ieS4quWIhuWMuuimhuebluaVtOS4quejgeebmO+8jOS9huaYr+WAvCAlbHUgJXMg6KaG55uW5LqG5YW25LuW5YiG5Yy644CCXG4iCisi5oKo55qE6K6w5b2V5bey57uP5pu05pS55Li6ICVsdSAlcyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjczOQorIywgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAi5aaC5p6c5oKo5oOz5LiOIFN1bk9TL1NvbGFyaXMg5YW85a6577yM6K+35L+d5oyB5q2k5YiG5Yy65Li6IOaVtOebmCAoNSnvvIzku6UgMCDlvIDlp4vvvIzlpKflsI/kuLogJXUg5Liq5omH5Yy6IgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCittc2dpZCAiTGFiZWwgSUQiCittc2dzdHIgIuagh+etviBJRCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc2OAorbXNnaWQgIlZvbHVtZSBJRCIKK21zZ3N0ciAi5Y23IElEIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Nzc4Cittc2dpZCAiQWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi5aSH55So5p+x6Z2i5pWwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6ODg0Cittc2dpZCAiTnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIuWkh+eUqOafsemdoueahOaVsOmHjyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkwOQorbXNnaWQgIkV4dHJhIHNlY3RvcnMgcGVyIGN5bGluZGVyIgorbXNnc3RyICLmr4/kuKrmn7HpnaLnmoTpop3lpJbmiYfljLrmlbAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5MzMKK21zZ2lkICJJbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi5Lqk6ZSZ57O75pWwIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTU3Cittc2dpZCAiUm90YXRpb24gc3BlZWQgKHJwbSkiCittc2dzdHIgIui9rOmAnyjovawv5YiGKSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjk4MQorbXNnaWQgIk51bWJlciBvZiBwaHlzaWNhbCBjeWxpbmRlcnMiCittc2dzdHIgIueJqeeQhuafsemdouaVsCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEwNDYKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyLogIPomZHkv53mjIHliIbljLogMyDkuLog5pW055uYICg1Ke+8jFxuIgorIui/meaYryBTdW5PUy9Tb2xhcmlzIOeahOinhOWumu+8jExpbnV4IOS5n+W7uuiurui/meS5iOWBmuOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA1NworbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIuW8uueDiOW7uuiuruWBj+enuyAwIOWkhOeahOWIhuWMuuS4uiBVRlPjgIFFWFQyRlMg5paH5Lu257O757uf5oiWXG4iCisiU3VuT1Mg5Lqk5o2i5YiG5Yy644CC5bCGIExpbnV4IOS6pOaNouWIhuWMuuaUvuWcqOmCo+mHjOWPr+iDveavgeWdj+WIhuWMuuihqFxuIgorIuWSjOWQr+WKqOmUgeOAglxuIgorIuaCqOehruS/oeimgeaKiuivpeWIhuWMuuagh+iusOS4uiBMaW51eCDkuqTmjaLliIbljLrlkJfvvJ8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0LmM6MjM3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgInJlYWRsaW5rIOWksei0pe+8miVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzMzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICLorablkYrvvJrlupTnlKjkvKDmkq3moIflv5flpLHotKUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgIiVzIOWGmeS/neaKpO+8jOWwhuS7peWPquivu+aWueW8j+aMgui9vSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYWxyZWFkeSBtb3VudGVkIgorbXNnc3RyICIlcyDlt7Lnu4/mjILovb0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBpbiAlcyIKK21zZ3N0ciAi5ZyoICUyJHMg5Lit5om+5LiN5YiwICUxJHMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAi5ZyoICUyJHMg5Lit5om+5LiN5Yiw5oyC6L2954K5ICUxJHMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIG1vdW50IHNvdXJjZSAlcyBpbiAlcyIKK21zZ3N0ciAi5ZyoICUyJHMg5Lit5om+5LiN5Yiw5oyC6L295rqQICUxJHMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4MAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkIG9uICVzOyB1c2UgLXQgPHR5cGU+IG9yIHdpcGVmcyg4KSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICIlc++8muehruWumua6kOWksei0pSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBmaWxlc3lzdGVtIHR5cGUgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprmlofku7blkI0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kICVzIgorbXNnc3RyICLmib7kuI3liLAgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgc291cmNlIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5oyC6L2954K5IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCBvcHRpb25zOiAlbSIKK21zZ3N0ciAi6Kej5p6Q5oyC6Ie36YCJ6aG55aSx6LSlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIuino+aekOaMguiHt+mAiemhueWksei0pSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlc++8muiuvue9ruWbnueOr+iuvuWkh+Wksei0pSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICIlczog6YeN5Y+g55qE5Zue546v6K6+5aSH5bey5a2Y5ZyoIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgIuWFs+mXrSAlcyDlpLHotKUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAi5oyC6L295aSx6LSlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXPvvJrmlofku7bns7vnu5/lt7Lljbjovb3vvIzkvYYgbW91bnQoOCkg5aSx6LSlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBhbnkgc3Vic2VxdWVudCBvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXPvvJrmlofku7bns7vnu5/lt7Lljbjovb3vvIzkvYYgbW91bnQoOCkg5aSx6LSlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NTAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuaMgui9veeCuSAlcyDkuI3mmK/nm67lvZUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIuadg+mZkOS4jei2syIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDU0CisjLCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVzZSBtb3VudCIKK21zZ3N0ciAi5b+F6aG75Lul6LaF57qn55So5oi36Lqr5Lu95L2/55SoIG1vdW50IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIGJ1c3kiCittc2dzdHIgIm1vdW5077yaJXMg5b+ZIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAibW91bnTvvJolcyDlt7LmjILovb3kuo4gJXNcbiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb3IgbW91bnQgcG9pbnQgYnVzeSIKK21zZ3N0ciAiJXMg5bey57uP5oyC6L295oiWICVzIOW/mSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi5oyC6L2954K5ICVzIOS4jeWtmOWcqCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKK21zZ3N0ciAi5oyC6L2954K5ICVzIOaYr+S4gOS4quayoeacieebruagh+eahOespuWPt+mTvuaOpSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBjLWZvcm1hdAorbXNnaWQgInNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLnibnmrororr7lpIcgJXMg5LiN5a2Y5ZyoIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTE2CisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDAgbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICJtb3VudCgyKSDlpLHotKUiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpIgorbXNnc3RyICLnibnmrororr7lpIcgJXMg5LiN5a2Y5ZyoKOi3r+W+hOWJjee8gOS4jeaYr+ebruW9lSkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAibW91bnTvvJolcyDmnKrmjILovb3miJbpgInpobnplJnor68iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50IHBvaW50IG9yIGJhZCBvcHRpb24iCittc2dzdHIgIiVzIOS4jeaYr+S4gOS4quaMgui9veeCueaIlumAiemhueacieivryIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBtb3ZpbmcgYSBtb3VudCByZXNpZGluZyB1bmRlciBhIHNoYXJlZCBtb3VudCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi6YCJ6aG56ZSZ6K+v44CC5rOo5oSP77yM5LiN5pSv5oyB56e75Yqo5L2N5LqO5YWx5Lqr5oyC6L295YaF55qE5oyC6L2944CCIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBvcHRpb247IGZvciBzZXZlcmFsIGZpbGVzeXN0ZW1zIChlLmcuIG5mcywgY2lmcykgeW91IG1pZ2h0IG5lZWQgYSAvc2Jpbi9tb3VudC48dHlwZT4gaGVscGVyIHByb2dyYW0iCittc2dzdHIgIiIKKyIgICAgICAgKOWvueafkOS6m+aWh+S7tuezu+e7nyjlpoIgbmZz44CBY2lmcykg5oKo5Y+v6IO96ZyA6KaBXG4iCisiICAgICAgIOS4gOasviAvc2Jpbi9tb3VudC4857G75Z6LPiDliqnmiYvnqIvluo8pIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIuaWh+S7tuezu+e7n+exu+Wei+mUmeivr+OAgemAiemhuemUmeivr+OAgSVzIOS4iuacieWdj+i2hee6p+Wdl+OAgVxuIgorIiAgICAgICDnvLrlsJHku6PnoIHpobXmiJbliqnmiYvnqIvluo/vvIzmiJblhbbku5bplJnor68iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0NAorIywgYy1mb3JtYXQKK21zZ2lkICJtb3VudCB0YWJsZSBmdWxsIgorbXNnc3RyICLmjILovb3ooajmu6EiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIG9uICVzIgorbXNnc3RyICIlc++8muS4jeiDveivu+i2hee6p+WdlyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTU2CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmlsZXN5c3RlbSB0eXBlICclcyciCittc2dzdHIgIuacquefpeeahOaWh+S7tuezu+e7n+exu+Wei+KAnCVz4oCdIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIuacquefpeeahOaWh+S7tuezu+e7n+exu+WeiyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTY4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyDkuI3mmK/lnZforr7lpIfvvIzogIzkuJQgc3RhdCgyKSDlpLHotKXvvJ8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisi5YaF5qC45peg5rOV5bCGICVzIOivhuWIq+S4uuWdl+iuvuWkh1xuIgorIiAgICAgICAo6K+V6K+V4oCcbW9kcHJvYmUgZHJpdmVy4oCd77yfKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2U7IHRyeSBcIi1vIGxvb3BcIiIKK21zZ3N0ciAiJXMg5LiN5piv5Z2X6K6+5aSHKOeUqCBgLW8gbG9vcCcg6K+V6K+V77yfKSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBibG9jayBkZXZpY2UiCittc2dzdHIgIiVzIOS4jeaYr+S4gOS4quWdl+iuvuWkhyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMg5LiN5piv5LiA5Liq5pyJ5pWI55qE5Z2X6K6+5aSHIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50ICVzIHJlYWQtb25seSIKK21zZ3N0ciAi5peg5rOV5Lul5Y+q6K+75pa55byP5oyC6L29ICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgcmVhZC13cml0ZSBtb2RlIHJlcXVlc3RlZCIKK21zZ3N0ciAiJXMg5piv5YaZ5L+d5oqk55qE77yM5L2G5oyH5piO5LqG4oCcLXfigJ3moIflv5ciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIuaXoOazleS7peivu+WGmeaWueW8j+mHjeaWsOaMgui9vSAlc++8jOWug+aYr+WGmeS/neaKpOeahCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg5aSx6LSlIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MDgKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICLlnKggJXMg5LiK5om+5LiN5Yiw5aqS5L2TIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE2MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudDsgcHJvYmFibHkgY29ycnVwdGVkIGZpbGVzeXN0ZW0gb24gJXMiCittc2dzdHIgIuWwhuS4jeS8muWwneivleWcqOKAnCVz4oCd5LiK5Yib5bu65paH5Lu257O757ufIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDcyIGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBtb3VudGVkIgorbXNnc3RyICIlc++8muacquaMgui9vSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW1vdW50IGZhaWxlZDogJW0iCittc2dzdHIgIuaMgui9veWksei0pSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgZmFpbGVkIHRvIHVwZGF0ZSB1c2Vyc3BhY2UgbW91bnQgdGFibGUiCittc2dzdHIgIiVz77ya5paH5Lu257O757uf5bey5Y246L2977yM5L2GIG1vdW50KDgpIOWksei0pSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiVz77ya5paH5Lu257O757uf5bey5Y246L2977yM5L2GIG1vdW50KDgpIOWksei0pSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBibG9jayBkZXZpY2UiCittc2dzdHIgIiVz77ya5peg5pWI55qE5Z2X6K6+5aSHIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCB3cml0ZSBzdXBlcmJsb2NrIgorbXNnc3RyICIlc++8muaXoOazleWGmei2hee6p+WdlyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGFyZ2V0IGlzIGJ1c3kiCittc2dzdHIgIuebruagh+WtmOWcqCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbW91bnQgcG9pbnQgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprmjILovb3ngrkiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm11c3QgYmUgc3VwZXJ1c2VyIHRvIHVubW91bnQiCittc2dzdHIgIiVz77ya5b+F6aG75Lul6LaF57qn55So5oi36Lqr5Lu95Y246L29IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJibG9jayBkZXZpY2VzIGFyZSBub3QgcGVybWl0dGVkIG9uIGZpbGVzeXN0ZW0iCittc2dzdHIgIiVz77ya5paH5Lu257O757uf5LiN5YWB6K645Z2X6K6+5aSHIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAibW91bnQoMikg5aSx6LSlIgorCisjOiBsaWIvcGFnZXIuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAid2FpdHBpZCBmYWlsZWQgKCVzKSIKK21zZ3N0ciAid2FpdHBpZCDlpLHotKUoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICLliIbphY0oY2FsbG9jYXRlKSBDUFUg57uEIOWksei0pSIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0ICVzIgorbXNnc3RyICLop6PmnpAgQ1BVIOWIl+ihqCAlcyDlpLHotKUiCisKKyM6IGxpYi9wYXRoLmM6MjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzayAlcyIKK21zZ3N0ciAi6Kej5p6QIENQVSDmjqnnoIEgJXMg5aSx6LSlIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjczCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIFVOSVggc29ja2V0IgorbXNnc3RyICLmiZPkuI3lvIAgVU5JWCDlpZfmjqXlrZciCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6NzkKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBvcHRpb24gZm9yIFVOSVggc29ja2V0IgorbXNnc3RyICLml6Dms5Xorr7nva4gVU5JWCDlpZfmjqXlrZfpgInpobkiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6OTAKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNvbm5lY3Qgb24gVU5JWCBzb2NrZXQiCittc2dzdHIgIuaXoOazlei/nuaOpSBVTklYIOWll+aOpeWtlyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzoxMjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHBseW1vdXRoIHJlcXVlc3QgJWMgaXMgbm90IGltcGxlbWVudGVkIgorbXNnc3RyICJwbHltb3V0aCDor7fmsYIgJWMg5rKh5pyJ5a6e546wIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgImdldHJhbmRvbSgpIGZ1bmN0aW9uIgorbXNnc3RyICJsaWJjIOS8qumaj+acuuWHveaVsCIKKworIzogbGliL3JhbmR1dGlscy5jOjE5OQorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgImxpYmMg5Lyq6ZqP5py65Ye95pWwIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjE3IGxpYi9zd2FwcHJvYmVyLmM6MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBwcm9iZSBkZXZpY2UiCittc2dzdHIgIiVz77ya5peg5rOV5o6i5rWL6K6+5aSHIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpZ3VvdXMgcHJvYmluZyByZXN1bHQ7IHVzZSB3aXBlZnMoOCkiCittc2dzdHIgIiVz77ya5o6i5rWL57uT5p6c5pyJ5q2n5LmJ77yb6K+35L2/55SoIHdpcGVmcyg4KSIKKworIzogbGliL3N3YXBwcm9iZXIuYzozNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgdmFsaWQgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIiVz77ya5LiN5piv5pyJ5pWI55qE5Lqk5o2i5YiG5Yy6IgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bnN1cHBvcnRlZCBzd2FwIHZlcnNpb24gJyVzJyIKK21zZ3N0ciAiJXPvvJrkuI3mlK/mjIHnmoQgc3dhcCDniYjmnKzigJwlc+KAnSIKKworIzogbGliL3RpbWV1dGlscy5jOjQ1OQorbXNnaWQgImZvcm1hdF9pc29fdGltZTogYnVmZmVyIG92ZXJmbG93LiIKK21zZ3N0ciAiIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDc3IGxpYi90aW1ldXRpbHMuYzo1MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRpbWUgJWxkIGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIuWAvOi2heWHuuiMg+WbtOOAgiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjk2IGxvZ2luLXV0aWxzL2Noc2guYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzznlKjmiLflkI0+XVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKK21zZ2lkICJDaGFuZ2UgeW91ciBmaW5nZXIgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuabtOaUueaCqOeahOaJi+aMh+S/oeaBr+OAglxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTAyCittc2dpZCAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAgcmVhbCBuYW1lXG4iCittc2dzdHIgIiAtZiwgLS1mdWxsLW5hbWUgPOWFqOWQjT4gICAgICAg55yf5a6e5aeT5ZCNXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKK21zZ2lkICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICBvZmZpY2UgbnVtYmVyXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPOWKnuWFrD4gICAgICAgICAg5Yqe5YWs5Y+356CBXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDQKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPOeUteivnT4gICAg5Yqe5YWs55S16K+dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDUKK21zZ2lkICIgLWgsIC0taG9tZS1waG9uZSA8cGhvbmU+ICAgICBob21lIHBob25lIG51bWJlclxuIgorbXNnc3RyICIgLWgsIC0taG9tZS1waG9uZSA855S16K+dPiAgICAgIOS9j+WuheeUteivnVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIzCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZWxkICVzIGlzIHRvbyBsb25nIgorbXNnc3RyICLlrZfmrrUgJXMg6L+H6ZW/IgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTI3IGxvZ2luLXV0aWxzL2Noc2guYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGhhcyBpbGxlZ2FsIGNoYXJhY3RlcnMiCittc2dzdHIgIiVz77ya5ZCr5pyJ6Z2e5rOV5a2X56ymIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2OAorIzogbG9naW4tdXRpbHMvY2hmbi5jOjE3NAorIywgYy1mb3JtYXQKK21zZ2lkICJsb2dpbi5kZWZzIGZvcmJpZHMgc2V0dGluZyAlcyIKK21zZ3N0ciAibG9naW4uZGVmcyDnpoHmraLorr7nva4gJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzI2Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICLlip7lhawiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICLlip7lhaznlLXor50iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAi5L2P5a6F55S16K+dIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4Cittc2dpZCAiQWJvcnRlZC4iCittc2dzdHIgIuW3suS4reatouOAgiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjMxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQ0hGTl9SRVNUUklDVCBoYXMgdW5leHBlY3RlZCB2YWx1ZTogJXMiCittc2dzdHIgIiVzOiBDSEZOX1JFU1RSSUNUIOeahOWAvOW8guW4uO+8miVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBDSEZOX1JFU1RSSUNUIGRvZXMgbm90IGFsbG93IGFueSBjaGFuZ2VzIgorbXNnc3RyICIlczogQ0hGTl9SRVNUUklDVCDkuI3lhYHorrjmm7TmlLkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuXG4iCittc2dzdHIgIkZpbmdlciDkv6Hmga8q5rKh5pyJKuabtOaUueOAguivt+eojeWQjumHjeivleOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbmdlciBpbmZvcm1hdGlvbiBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXIg5L+h5oGv5bey5pu05pS544CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MjUgbG9naW4tdXRpbHMvY2hzaC5jOjI3MworIywgYy1mb3JtYXQKK21zZ2lkICJ5b3UgKHVzZXIgJWQpIGRvbid0IGV4aXN0LiIKK21zZ3N0ciAi5oKoKOeUqOaItyAlZCnkuI3lrZjlnKjjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0MzEgbG9naW4tdXRpbHMvY2hzaC5jOjI3OCBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBcIiVzXCIgZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICLnlKjmiLfigJwlc+KAneS4jeWtmOWcqOOAgiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQzNyBsb2dpbi11dGlscy9jaHNoLmM6Mjg0Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIuWPquiDveabtOaUueacrOWcsOiusOW9lSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIGZpbmdlciBpbmZvIG9mICVzIgorbXNnc3RyICIlcyDmnKrlvpfliLDmjojmnYPmm7TmlLkgJXMg55qEIGZpbmdlciDkv6Hmga8iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTIgbG9naW4tdXRpbHMvY2hzaC5jOjMwMAorbXNnaWQgIlVua25vd24gdXNlciBjb250ZXh0IgorbXNnc3RyICLmnKrnn6XnlKjmiLfnjq/looMoY29udGV4dCkiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NTggbG9naW4tdXRpbHMvY2hzaC5jOjMwNgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBzZXQgZGVmYXVsdCBjb250ZXh0IGZvciAlcyIKK21zZ3N0ciAi5peg5rOV6K6+572uICVzIOm7mOiupOeOr+Wigyhjb250ZXh0KSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ2OQorbXNnaWQgInJ1bm5pbmcgVUlEIGRvZXNuJ3QgbWF0Y2ggVUlEIG9mIHVzZXIgd2UncmUgYWx0ZXJpbmcsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIui/kOihjOS4reeahCBVSUQg5LiO6KaB5pS55Y+Y55qE55So5oi355qEIFVJRCDkuI3ljLnphY3vvIzmm7TmlLnooqvmi5Lnu50iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdpbmcgZmluZ2VyIGluZm9ybWF0aW9uIGZvciAlcy5cbiIKK21zZ3N0ciAi5q2j5Zyo5pu05pS5ICVzIOeahCBmaW5nZXIg5L+h5oGv44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluZ2VyIGluZm9ybWF0aW9uIG5vdCBjaGFuZ2VkLlxuIgorbXNnc3RyICJGaW5nZXIg5L+h5oGv5pyq5pu05pS544CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo3NworbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICLmm7TmlLnmgqjnmoTnmbvlvZUgc2hlbGzjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjgwCittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIHNwZWNpZnkgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gIOaMh+WumueZu+W9lSBzaGVsbFxuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6ODEKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIOaJk+WNsCBzaGVsbCDliJfooajlubbpgIDlh7pcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjIzMAorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAic2hlbGwg5b+F6aG75Li65a6M5pW06Lev5b6E5ZCN56ewIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgIlwiJXNcIiBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi4oCcJXPigJ3kuI3lrZjlnKgiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzoyMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGlzIG5vdCBleGVjdXRhYmxlIgorbXNnc3RyICLigJwlc+KAneS4jeWPr+aJp+ihjCIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0MAorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIuitpuWRiu+8muKAnCVz4oCd5pyq5ZyoICVzIOS4reWIl+WHuuOAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI0NCBsb2dpbi11dGlscy9jaHNoLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisi4oCcJXPigJ3mnKrliJflnKggJXMg5Lit44CCXG4iCisi6K+35L2/55SoICVzIC1sIOafpeeci+WIl+ihqOOAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjI5OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlcyDml6DmnYPmm7TmlLkgJXMg55qEIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzI1Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAi6L+Q6KGMIFVJRCDkuI7opoHmm7TmlLnnmoTnlKjmiLfnmoQgVUlEIOS4jeWMuemFje+8jOabtOaUuSBzaGVsbCDooqvmi5Lnu50iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIuaCqOeahCBzaGVsbCDkuI3lnKggJXMg5Lit77yM5pu05pS5IHNoZWxsIOiiq+aLkue7nSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIuato+WcqOabtOaUuSAlcyDnmoQgc2hlbGzjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAi5pawIHNoZWxsIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCittc2dpZCAiU2hlbGwgbm90IGNoYW5nZWQuIgorbXNnc3RyICJzaGVsbCDmnKrmm7TmlLnjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozNTUKK21zZ2lkICJTaGVsbCAqTk9UKiBjaGFuZ2VkLiAgVHJ5IGFnYWluIGxhdGVyLiIKK21zZ3N0ciAiU2hlbGwgKuacqiog5pu05pS544CC6K+356iN5ZCO6YeN6K+V44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU5Cittc2dpZCAiIgorInNldHB3bmFtIGZhaWxlZFxuIgorIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisic2V0cHduYW0g5aSx6LSlXG4iCisiU2hlbGwgKuacqiog5pu05pS544CC6K+356iN5ZCO6YeN6K+V44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgInNoZWxsIOW3suabtOaUueOAglxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIDxwYXNzd29yZGZpbGU+IDx1c2VybmFtZT4uLi5cbiIKK21zZ3N0ciAi55So5rOV77yaJXMgPOWvhueggeaWh+S7tj4gPOeUqOaIt+WQjT4uLi5cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjE2OSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMTcgc3lzLXV0aWxzL2RtZXNnLmM6MTI2OQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjY5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdGltZSBmb3JtYXQ6ICVzIgorbXNnc3RyICLmnKrnn6Xml7bpl7TmoLzlvI86ICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Mjc2IGxvZ2luLXV0aWxzL2xhc3QuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW50ZXJydXB0ZWQgJXMiCittc2dzdHIgIuS4reaWreeahCAlcyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIui2hei/h+S6humihOWIhumFjeWkp+WwjyIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8dXNlcm5hbWU+Li4uXSBbPHR0eT4uLi5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbPOeUqOaIt+WQjT4uLi5dIFs8dHR5Pi4uLl1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3NQorbXNnaWQgIlNob3cgYSBsaXN0aW5nIG9mIGxhc3QgbG9nZ2VkIGluIHVzZXJzLlxuIgorbXNnc3RyICLmmL7npLrkuIrmrKHnmbvlvZXnlKjmiLfnmoTliJfooajjgIJcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3OAorbXNnaWQgIiAtPG51bWJlcj4gICAgICAgICAgICBob3cgbWFueSBsaW5lcyB0byBzaG93XG4iCittc2dzdHIgIiAtPOaVsOWtlz4gICAgICAgICAgICAgIOaYvuekuuihjOaVsFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIgLWEsIC0taG9zdGxhc3QgICAgICAg5pyA5ZCO5LiA5YiX5pi+56S65Li75py65ZCNXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIC1kLCAtLWRucyAgICAgICAgICAgIOWwhiBJUCDlj7fovazmjaLlm57kuLvmnLrlkI1cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtRiwgLS1maWxlIDzmlofku7Y+ICAgIOeUqOaMh+WumuaWh+S7tuS7o+abvyAlc1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIOaJk+WNsOWujOaVtOeahOeZu+W9leWSjOazqOmUgOaXtumXtOWSjOaXpeacn1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0Cittc2dpZCAiIC1pLCAtLWlwICAgICAgICAgICAgIGRpc3BsYXkgSVAgbnVtYmVycyBpbiBudW1iZXJzLWFuZC1kb3RzIG5vdGF0aW9uXG4iCittc2dzdHIgIiAtaSwgLS1pcCAgICAgICAgICAgICDku6XmlbDlrZflkozngrnnmoTlvaLlvI/mmL7npLogSVAg5Y+3XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODUKK21zZ2lkICIgLW4sIC0tbGltaXQgPG51bWJlcj4gaG93IG1hbnkgbGluZXMgdG8gc2hvd1xuIgorbXNnc3RyICIgLW4sIC0tbGltaXQgPOaVsOWtlz4gICDopoHmmL7npLrnmoTooYzmlbBcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4NgorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgLVIsIC0tbm9ob3N0bmFtZSAgICAg5LiN5pi+56S65Li75py65ZCN5a2X5q61XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKK21zZ2lkICIgLXMsIC0tc2luY2UgPHRpbWU+ICAgZGlzcGxheSB0aGUgbGluZXMgc2luY2UgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcywgLS1zaW5jZSA85pe26Ze0PiAgIOaYvuekuuS7juaMh+WumuaXtumXtOi1t+eahOihjFxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg4Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLXQsIC0tdW50aWwgPOaXtumXtD4gICDmmL7npLrliLDmjIflrprml7bpl7TkuLrmraLnmoTooYxcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU4OQorbXNnaWQgIiAtcCwgLS1wcmVzZW50IDx0aW1lPiBkaXNwbGF5IHdobyB3ZXJlIHByZXNlbnQgYXQgdGhlIHNwZWNpZmllZCB0aW1lXG4iCittc2dzdHIgIiAtcCwgLS1wcmVzZW50IDzml7bpl7Q+IOaYvuekuuWcqOaMh+WumuaXtumXtOiwgeWcqOWcuihwcmVzZW50KVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkwCittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIOaYvuekuuWujOaVtOeahOeUqOaIt+WQjeWSjOWfn+WQjVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTkxCittc2dpZCAiIC14LCAtLXN5c3RlbSAgICAgICAgIGRpc3BsYXkgc3lzdGVtIHNodXRkb3duIGVudHJpZXMgYW5kIHJ1biBsZXZlbCBjaGFuZ2VzXG4iCittc2dzdHIgIiAteCwgLS1zeXN0ZW0gICAgICAgICDmmL7npLrns7vnu5/lhbPmnLrpobnlkozov5DooYznuqfliKvmm7TmlLlcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MgorbXNnaWQgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZXN0YW1wcyBpbiB0aGUgc3BlY2lmaWVkIDxmb3JtYXQ+OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKK21zZ3N0ciAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA85qC85byPPiAgICDku6XmjIflrpo85qC85byPPuaYvuekuuaXtumXtOaIs++8mlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBub3RpbWV8c2hvcnR8ZnVsbHxpc29cbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlc1xuIgorbXNnc3RyICIiCisiXG4iCisiJXMg5byA5aeLICVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6OTcyIHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjUKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NjkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICLop6PmnpDmlbDlrZflpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIKK21zZ3N0ciAi5peg5pWI55qE5pe26Ze05YC8XCIlc1wiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6MjkgbG9naW4tdXRpbHMvbGlidXNlci5jOjMxCittc2dpZCAiQ291bGRuJ3QgZHJvcCBncm91cCBwcml2aWxlZ2VzIgorbXNnc3RyICLml6Dms5XkuKLlvIMoZHJvcCnnu4TkvJjlhYjnuqciCisKKyM6IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzo0NworIywgYy1mb3JtYXQKK21zZ2lkICJsaWJ1c2VyIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJXMuIgorbXNnc3RyICJsaWJ1c2VyIOWIneWni+WMluWksei0pe+8miVz44CCIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKK21zZ2lkICJjaGFuZ2luZyB1c2VyIGF0dHJpYnV0ZSBmYWlsZWQiCittc2dzdHIgIuabtOaUueeUqOaIt+WxnuaAp+Wksei0pSIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjY2CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXIgYXR0cmlidXRlIG5vdCBjaGFuZ2VkOiAlcyIKK21zZ3N0ciAi55So5oi35bGe5oCn5pyq5pu05pS577yaJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBjLWZvcm1hdAorbXNnaWQgIkZBVEFMOiBjYW4ndCByZW9wZW4gdHR5OiAlbSIKK21zZ3N0ciAi6Ie05ZG977ya5peg5rOV6YeN5paw5omT5byAIHR0ee+8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXMgaXMgbm90IGEgdGVybWluYWwiCittc2dzdHIgIuiHtOWRve+8miVzIOS4jeaYr+e7iOerryIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hvd24gKCVzLCAlbHUsICVsdSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2hvd24gKCVzLCAlbHUsICVsdSkg5aSx6LSl77yaJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE5CisjLCBjLWZvcm1hdAorbXNnaWQgImNobW9kICglcywgJXUpIGZhaWxlZDogJW0iCittc2dzdHIgImNobW9kICglcywgJXUpIOWksei0pe+8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM4MAorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICLoh7Tlkb3vvJrlnY/nmoQgdHR5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogJXM6IGNoYW5nZSBwZXJtaXNzaW9ucyBmYWlsZWQ6ICVtIgorbXNnc3RyICLoh7Tlkb3vvJolc++8muabtOaUueadg+mZkOWksei0pe+8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNAorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGxvZ2luOiAlLipzICIKK21zZ3N0ciAi5LiK5qyh55m75b2V77yaJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTI2CisjLCBjLWZvcm1hdAorbXNnaWQgImZyb20gJS4qc1xuIgorbXNnc3RyICLmnaXoh6ogJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICJvbiAlLipzXG4iCittc2dzdHIgIuS6jiAlLipzXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NTQ3Cittc2dpZCAid3JpdGUgbGFzdGxvZyBmYWlsZWQiCittc2dzdHIgIuWGmSBsYXN0bG9nIOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2MzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRElBTFVQIEFUICVzIEJZICVzIgorbXNnc3RyICJESUFMVVAgQVQgJXMgQlkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMgRlJPTSAlcyIKK21zZ3N0ciAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0NgorIywgYy1mb3JtYXQKK21zZ2lkICJST09UIExPR0lOIE9OICVzIgorbXNnc3RyICJST09UIExPR0lOIE9OICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY0OQorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorbXNnc3RyICJMT0dJTiBPTiAlcyBCWSAlcyBGUk9NICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjY1MgorIywgYy1mb3JtYXQKK21zZ2lkICJMT0dJTiBPTiAlcyBCWSAlcyIKK21zZ3N0ciAiTE9HSU4gT04gJXMgQlkgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6Njg2Cittc2dpZCAibG9naW46ICIKK21zZ3N0ciAi55m75b2V77yaIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjcxNworIywgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJQQU0g5aSx6LSl77yM5bCG5Lit5q2i77yaJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAi5peg5rOV5Yid5aeL5YyWIFBBTe+8miVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorbXNnc3RyICJGQUlMRUQgTE9HSU4gJXUgRlJPTSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc5NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTG9naW4gaW5jb3JyZWN0XG4iCisiXG4iCittc2dzdHIgIiIKKyLnmbvlvZXkuI3mraPnoa5cbiIKKyJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiVE9PIE1BTlkgTE9HSU4gVFJJRVMgKCV1KSBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIlRPTyBNQU5ZIExPR0lOIFRSSUVTICgldSkgRlJPTSAlcyBGT1IgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIkZBSUxFRCBMT0dJTiBTRVNTSU9OIEZST00gJXMgRk9SICVzLCAlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkxvZ2luIGluY29ycmVjdFxuIgorbXNnc3RyICIiCisiXG4iCisi55m75b2V5LiN5q2j56GuXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU0IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI0MSBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyLkvJror53orr7nva7pl67popjvvIzkuK3mraLjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIiVzOiVkIOS4reaYr+epuihOVUxMKeeUqOaIt+WQjeOAguS4reatouOAgiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo5OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVElPQ1NDVFRZIGZhaWxlZDogJW0iCittc2dzdHIgIlRJT0NTQ1RUWSDlpLHotKXvvJolbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMDk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgWy1wXSBbLWggPGhvc3Q+XSBbLUhdIFtbLWZdIDx1c2VybmFtZT5dXG4iCittc2dzdHIgIueUqOazle+8mmxvZ2luIFstcF0gWy1oIDzkuLvmnLo+XSBbLUhdIFtbLWZdIDznlKjmiLflkI0+XVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDAKK21zZ2lkICJCZWdpbiBhIHNlc3Npb24gb24gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAi5Zyo5q2k57O757uf5LiK5byA5aeL5LiA5qyh5Lya6K+d44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLXAgICAgICAgICAgICAgZG8gbm90IGRlc3Ryb3kgdGhlIGVudmlyb25tZW50IgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVv+ihjFxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDQKK21zZ2lkICIgLWYgICAgICAgICAgICAgc2tpcCBhIHNlY29uZCBsb2dpbiBhdXRoZW50aWNhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDUKK21zZ2lkICIgLWggPGhvc3Q+ICAgICAgaG9zdG5hbWUgdG8gYmUgdXNlZCBmb3IgdXRtcCBsb2dnaW5nIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTEwNgorIywgZnV6enkKK21zZ2lkICIgLUggICAgICAgICAgICAgc3VwcHJlc3MgaG9zdG5hbWUgaW4gdGhlIGxvZ2luIHByb21wdCIKK21zZ3N0ciAiIC11ICAgICAgICAgIOWxj+iUveS4i+WIkue6v1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0aW1lZCBvdXQgYWZ0ZXIgJXUgc2Vjb25kcyIKK21zZ3N0ciAiJXUg56eS5ZCO6LaF5pe2IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAibG9naW46IC1oIGlzIGZvciBzdXBlcnVzZXIgb25seVxuIgorbXNnc3RyICJsb2dpbu+8mi1oIOaYr+i2hee6p+eUqOaIt+S4k+eUqOmAiemhuVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB1c2VyIG5hbWUgXCIlc1wiIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIiUyJHM6JTMkZCDkuK3mmK/ml6DmlYjnlKjmiLflkI3igJwlMSRz4oCd44CC5Lit5q2i44CCIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyNjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXBzIGluaXRpYWxpemF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIue7hOWIneWni+WMluWksei0pe+8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEyODgKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICLmnInmgqjnmoTmlrDpgq7ku7bjgIJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIuacieaCqOeahOmCruS7tuOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzQKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNoYW5nZSBkaXJlY3RvcnkgZmFpbGVkIgorbXNnc3RyICIlc++8muabtOaUueebruW9leWksei0pSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQ3IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiTG9nZ2luZyBpbiB3aXRoIGhvbWUgPSBcIi9cIi5cbiIKK21zZ3N0ciAi5LulIGhvbWUgPSDigJwv4oCdIOeZu+W9leOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzYKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAi5peg5rOV5omn6KGMKGV4ZWMpIHNoZWxsIOiEmuacrCIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzc4Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIuaXoCBzaGVsbCIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBjb250YWlucyBpbnZhbGlkIG51bWVyaWNhbCB2YWx1ZTogJXMiCittc2dzdHIgIiVz77yaJXMg5YyF5ZCr5peg5pWI55qE5pWw5a2X5YC877yaJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luZGVmcy5jOjM4MworbXNnaWQgImh1c2ggbG9naW4gc3RhdHVzOiByZXN0b3JlIG9yaWdpbmFsIElEcyBmYWlsZWQiCittc2dzdHIgIumdmem7mChodXNoKeeZu+W9leeKtuaAge+8muaBouWkjeWOnyBJRCDlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgIuWQpiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorbXNnaWQgInVzZXIgbmFtZSIKK21zZ3N0ciAi55So5oi35ZCNIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIxNworbXNnaWQgIlVzZXJuYW1lIgorbXNnc3RyICLnlKjmiLflkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjE4IHN5cy11dGlscy9yZW5pY2UuYzo1NAorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIueUqOaItyBJRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIuaXoOmcgOWvhueggSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIuaXoOmcgOWvhueggSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKK21zZ2lkICJsb2dpbiBieSBwYXNzd29yZCBkaXNhYmxlZCIKK21zZ3N0ciAi5bey56aB5q2i5L2/55So5a+G56CB55m75b2VIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMAorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICLlt7LnpoHmraLkvb/nlKjlr4bnoIHnmbvlvZUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIxCittc2dpZCAicGFzc3dvcmQgZGVmaW5lZCwgYnV0IGxvY2tlZCIKK21zZ3N0ciAi5a6a5LmJ5LqG5a+G56CB77yM5L2G5bey6ZSB5a6aIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgIlBhc3N3b3JkIGlzIGxvY2tlZCIKK21zZ3N0ciAi5a+G56CB5bey6ZSB5a6aIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMgorbXNnaWQgImxvZyBpbiBkaXNhYmxlZCBieSBub2xvZ2luKDgpIG9yIHBhbV9ub2xvZ2luKDgpIgorbXNnc3RyICJub2xvZ2luKDgpIOaIliBwYW1fbm9sb2dpbig4KSDnpoHmraLkuobnmbvlvZUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIuS4jeiDveeZu+W9lSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJwcmltYXJ5IGdyb3VwIG5hbWUiCittc2dzdHIgIuS4u+e7hOWQjSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKK21zZ2lkICJQcmltYXJ5IGdyb3VwIgorbXNnc3RyICLkuLvnu4QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI0Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAiIOS4u+e7hCBJRCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIG5hbWVzIgorbXNnc3RyICLpmYTlsZ7nu4TlkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI1Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIumZhOWxnue7hCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjYKK21zZ2lkICJzdXBwbGVtZW50YXJ5IGdyb3VwIElEcyIKK21zZ3N0ciAi6ZmE5bGe57uEIElEIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICLpmYTlsZ7nu4QgSUQiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI3Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIuS4u+ebruW9lSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKK21zZ2lkICJIb21lIGRpcmVjdG9yeSIKK21zZ3N0ciAi5Li755uu5b2VIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOAorbXNnaWQgImxvZ2luIHNoZWxsIgorbXNnc3RyICLnmbvlvZUgc2hlbGwiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI4Cittc2dpZCAiU2hlbGwiCittc2dzdHIgInNoZWxsIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyOQorbXNnaWQgImZ1bGwgdXNlciBuYW1lIgorbXNnc3RyICLlrozmlbTnlKjmiLflkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI5Cittc2dpZCAiR2Vjb3MgZmllbGQiCittc2dzdHIgIkdlY29zIOWtl+autSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgIuS4iuasoeeZu+W9leaXpeacnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKK21zZ2lkICJMYXN0IGxvZ2luIgorbXNnc3RyICLkuIrmrKHnmbvlvZUiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAi5LiK5qyh5L2/55So55qE57uI56uvIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorbXNnaWQgIkxhc3QgdGVybWluYWwiCittc2dzdHIgIuS4iuasoeeahOe7iOerryIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJob3N0bmFtZSBkdXJpbmcgdGhlIGxhc3Qgc2Vzc2lvbiIKK21zZ3N0ciAi5LiK5qyh5Lya6K+d5pe255qE5Li75py65ZCNKGhvc3RuYW1lKSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKK21zZ2lkICJMYXN0IGhvc3RuYW1lIgorbXNnc3RyICLkuIrmrKHnmoTkuLvmnLrlkI0iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiZGF0ZSBvZiBsYXN0IGZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi5LiK5qyh55m75b2V5aSx6LSl55qE5pel5pyfIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworbXNnaWQgIkZhaWxlZCBsb2dpbiIKK21zZ3N0ciAi5aSx6LSl55qE55m75b2VIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNAorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIueZu+W9leWcqOWTqumHjOWksei0peeahO+8nyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKK21zZ2lkICJGYWlsZWQgbG9naW4gdGVybWluYWwiCittc2dzdHIgIueZu+W9lee7iOerr+Wksei0pSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJ1c2VyJ3MgaHVzaCBzZXR0aW5ncyIKK21zZ3N0ciAi55So5oi355qE6Z2Z6buYKGh1c2gp6K6+572uIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNQorbXNnaWQgIkh1c2hlZCIKK21zZ3N0ciAi5bey6Z2Z6buYIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgImRheXMgdXNlciBpcyB3YXJuZWQgb2YgcGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAi6K2m5ZGK55So5oi35a+G56CB6L+H5pyf55qE5aSp5pWwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNgorbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24gd2FybiBpbnRlcnZhbCIKK21zZ3N0ciAi5a+G56CB6L+H5pyf6K2m5ZGK55qE6Ze06ZqUIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgInBhc3N3b3JkIGV4cGlyYXRpb24gZGF0ZSIKK21zZ3N0ciAi5a+G56CB6L+H5pyf5pelIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzNworbXNnaWQgIlBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIuWvhueggei/h+acnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKK21zZ2lkICJkYXRlIG9mIGxhc3QgcGFzc3dvcmQgY2hhbmdlIgorbXNnc3RyICLkuIrmrKHmm7TmlLnlr4bnoIHnmoTml6XmnJ8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM4Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAi5a+G56CB5bey5pu05pS5IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAi5pu05pS55a+G56CB55qE6ZmQ5pyfKOWkqSkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM5Cittc2dpZCAiTWluaW11bSBjaGFuZ2UgdGltZSIKK21zZ3N0ciAi5pyA5bCP5pu05pS55pe26Ze0IgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MAorbXNnaWQgIm1heCBudW1iZXIgb2YgZGF5cyBhIHBhc3N3b3JkIG1heSByZW1haW4gdW5jaGFuZ2VkIgorbXNnc3RyICLlr4bnoIHlj6/ku6XlpJrkuYXkuI3mm7TmlLko5aSp5pWwKSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICLmnIDlpKfmm7TmlLnml7bpl7QiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICLnlKjmiLfnmoTlronlhajnjq/looMoY29udGV4dCkiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAiU2VsaW51eCBjb250ZXh0IgorbXNnc3RyICJTZWxpbnV4IOeOr+WigyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDIKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAi55So5oi36L+Q6KGM55qE6L+b56iL5pWwIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorbXNnaWQgIlJ1bm5pbmcgcHJvY2Vzc2VzIgorbXNnc3RyICLov5DooYzkuK3nmoTov5vnqIsiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6Mjg4IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNiBtaXNjLXV0aWxzL2xzYmxrLmM6MjQxCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyMDQgc3lzLXV0aWxzL2xzbWVtLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCB0aGUgbGltaXQgaXMgJXp1IGNvbHVtbnMiCittc2dzdHIgIuaMh+WumuS6hui/h+WkmueahOWIl++8jOmZkOWItuaYryAlenUg5YiXIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo0NTcKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIuS4jeaUr+aMgeeahOaXtumXtOexu+WeiyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozNDYKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAi55Sf5oiQ5pe26Ze05a2X56ym5Liy5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworbXNnaWQgImZhaWxlZCB0byBnZXQgc3VwcGxlbWVudGFyeSBncm91cHMiCittc2dzdHIgIuiOt+W+l+mZhOWxnue7hOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVua25vd24gY29sdW1uIgorbXNnc3RyICLlhoXpg6jplJnor6/vvJrmnKrnn6XnmoTliJciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTE2NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTGFzdCBsb2dzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5LiK5qyh55qE5pel5b+X77yaXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyNiBsb2dpbi11dGlscy9ub2xvZ2luLmM6MjcKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5NSBtaXNjLXV0aWxzL21jb29raWUuYzo4MyBtaXNjLXV0aWxzL3V1aWRkLmM6NjIKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI2IHN5cy11dGlscy9kbWVzZy5jOjI2NiBzeXMtdXRpbHMvaXBjbWsuYzo2NworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwMCBzeXMtdXRpbHMvbHNpcGMuYzoyNzggc3lzLXV0aWxzL2xzbWVtLmM6NDk2CisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDQgc3lzLXV0aWxzL3J0Y3dha2UuYzo5OCB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNzkKKyM6IHRleHQtdXRpbHMvbGluZS5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc11cbiIKK21zZ3N0ciAiICVzIFvpgInpobldXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIyOQorbXNnaWQgIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQga25vd24gdXNlcnMgaW4gdGhlIHN5c3RlbS5cbiIKK21zZ3N0ciAi5pi+56S657O757uf5Lit5bey55+l55So5oi355qE5L+h5oGv44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMgorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAg5pi+56S65YWz5LqO5a+G56CB6L+H5pyf55qE5L+h5oGvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMworbXNnaWQgIiAtYywgLS1jb2xvbi1zZXBhcmF0ZSAgICAgZGlzcGxheSBkYXRhIGluIGEgZm9ybWF0IHNpbWlsYXIgdG8gL2V0Yy9wYXNzd2RcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICDku6XkuI4gL2V0Yy9wYXNzd2Qg55u45Ly855qE5qC85byP5pi+56S65pel5pyfXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKK21zZ2lkICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIGRpc3BsYXkgaW4gYW4gZXhwb3J0LWFibGUgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLWUsIC0tZXhwb3J0ICAgICAgICAgICAgIOS7peWPr+WvvOWHuueahOagvOW8j+aYvuekulxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzUKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIOaYvuekuuacieWFs+ivpeeUqOaIt+S4iuasoeeZu+W9leWksei0peeahOaVsOaNrlxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKK21zZ2lkICIgLUcsIC0tc3VwcC1ncm91cHMgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgZ3JvdXBzXG4iCittc2dzdHIgIiAtRywgLS1zdXBwLWdyb3VwcyAgICAgICAg5pi+56S65LiO57uE55u45YWz55qE5L+h5oGvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNworbXNnaWQgIiAtZywgLS1ncm91cHM9PGdyb3Vwcz4gICAgZGlzcGxheSB1c2VycyBiZWxvbmdpbmcgdG8gYSBncm91cCBpbiA8Z3JvdXBzPlxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXBzPTxncm91cHM+ICAgIOaYvuekuuWxnuS6jjxncm91cHM+5Lit55qE57uE55qE55So5oi3XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzOAorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLUwsIC0tbGFzdCAgICAgICAgICAgICAgIOaYvuekuuWFs+S6juivpeeUqOaIt+S4iuasoeeZu+W9leS8muivneeahOS/oeaBr1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzkKK21zZ2lkICIgLWwsIC0tbG9naW5zPTxsb2dpbnM+ICAgIGRpc3BsYXkgb25seSB1c2VycyBmcm9tIDxsb2dpbnM+XG4iCittc2dzdHIgIiAtbCwgLS1sb2dpbnM9POeZu+W9leaWueW8jz4gIOWPquaYvuekuuS7peaMh+WumjznmbvlvZXmlrnlvI8+55m75b2V55qE55So5oi3XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKK21zZ2lkICIgLW4sIC0tbmV3bGluZSAgICAgICAgICAgIGRpc3BsYXkgZWFjaCBwaWVjZSBvZiBpbmZvcm1hdGlvbiBvbiBhIG5ldyBsaW5lXG4iCittc2dzdHIgIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAg6YCQ6KGM5pi+56S65q+P5LiA6YOo5YiG5L+h5oGvXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MSBzeXMtdXRpbHMvbHNpcGMuYzoyOTIKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAgICAgIC0tbm9oZWFkaW5ncyAgICAg5LiN5omT5Y2w5qCH6aKYXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKK21zZ2lkICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIgorbXNnc3RyICIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIOS4jeaIquaWrei+k+WHulxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDMgc3lzLXV0aWxzL2xzaXBjLmM6MzAxCittc2dpZCAiIC1vLCAtLW91dHB1dFs9PGxpc3Q+XSAgICBkZWZpbmUgdGhlIGNvbHVtbnMgdG8gb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXRbPTzliJfooag+XSAgICDlrprkuYnopoHovpPlh7rnmoTliJdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ0Cittc2dpZCAiIC1wLCAtLXB3ZCAgICAgICAgICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIHJlbGF0ZWQgdG8gbG9naW4gYnkgcGFzc3dvcmQuXG4iCittc2dzdHIgIiAtcCwgLS1wd2QgICAgICAgICAgICAgICAg5pi+56S65LiOIOeUqOWvhueggeeZu+W9lSDnm7jlhbPnmoTkv6Hmga/jgIJcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ1IHN5cy11dGlscy9sc2lwYy5jOjMwMworbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgZGlzcGxheSBpbiByYXcgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIOS7peWOn+Wni+aWueW8j+aYvuekulxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKK21zZ2lkICIgLXMsIC0tc3lzdGVtLWFjY3MgICAgICAgIGRpc3BsYXkgc3lzdGVtIGFjY291bnRzXG4iCittc2dzdHIgIiAtcywgLS1zeXN0ZW0tYWNjcyAgICAgICAg5pi+56S657O757uf5biQ5oi3XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NyBzeXMtdXRpbHMvbHNpcGMuYzoyOTQKK21zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQ9PHR5cGU+IGRpc3BsYXkgZGF0ZXMgaW4gc2hvcnQsIGZ1bGwgb3IgaXNvIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0tdGltZS1mb3JtYXQ9POagvOW8jz4gIOS7peefreOAgemVv+aIliBpc28g5qC85byP5pi+56S65pel5pyfXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OAorbXNnaWQgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAgZGlzcGxheSB1c2VyIGFjY291bnRzXG4iCittc2dzdHIgIiAtdSwgLS11c2VyLWFjY3MgICAgICAgICAg5pi+56S655So5oi35biQ5oi3XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0OQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAg5pi+56S6IFNFTGludXgg546v5aKDXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MAorbXNnaWQgIiAteiwgLS1wcmludDAgICAgICAgICAgICAgZGVsaW1pdCB1c2VyIGVudHJpZXMgd2l0aCBhIG51bCBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIC16LCAtLXByaW50MCAgICAgICAgICAgICDnlKjnqbrlrZfnrKYobnVsKeWIhumalOeUqOaIt+iusOW9lemhuVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTEKK21zZ2lkICIgICAgIC0td3RtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3Igd3RtcFxuIgorbXNnc3RyICIgICAgIC0td3RtcC1maWxlIDzot6/lvoQ+ICAg6K6+572uIHd0bXAg55qE5Y+v6YCJ6Lev5b6EXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI1MgorbXNnaWQgIiAgICAgLS1idG1wLWZpbGUgPHBhdGg+ICAgc2V0IGFuIGFsdGVybmF0ZSBwYXRoIGZvciBidG1wXG4iCittc2dzdHIgIiAgICAgLS1idG1wLWZpbGUgPOi3r+W+hD4gICDorr7nva4gYnRtcCDnmoTlj6/pgInot6/lvoRcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDM0Cittc2dpZCAiZmFpbGVkIHRvIHJlcXVlc3Qgc2VsaW51eCBzdGF0ZSIKK21zZ3N0ciAi6K+35rGCIHNlbGludXgg54q25oCB5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NDggbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxNDUyCittc2dpZCAiT25seSBvbmUgdXNlciBtYXkgYmUgc3BlY2lmaWVkLiBVc2UgLWwgZm9yIG11bHRpcGxlIHVzZXJzLiIKK21zZ3N0ciAi5Y+q6IO95oyH5a6a5LiA5Liq55So5oi344CC5aSa55So5oi36K+35L2/55SoIC1s44CCIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo0OSBsb2dpbi11dGlscy9uZXdncnAuYzo1NQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi5peg5rOV6K6+572u57uI56uv5bGe5oCnIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworbXNnaWQgImdldGxpbmUoKSBmYWlsZWQiCittc2dzdHIgImdldGxpbmUoKSDlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIuWvhuegge+8miIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTYwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5OTUKK21zZ2lkICJjcnlwdCBmYWlsZWQiCittc2dzdHIgImNyeXB0IOWksei0pSIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTczCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8Z3JvdXA+XG4iCittc2dzdHIgIiAlcyA857uEPlxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoxNzYKK21zZ2lkICJMb2cgaW4gdG8gYSBuZXcgZ3JvdXAuXG4iCittc2dzdHIgIuS7peaWsOeahOe7hOeZu+W9leOAglxuIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMTMKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIuaCqOaYr+WTquS9je+8nyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorbXNnaWQgInNldGdpZCBmYWlsZWQiCittc2dzdHIgInNldGdpZCDlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyMiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjQKK21zZ2lkICJubyBzdWNoIGdyb3VwIgorbXNnc3RyICLml6DmraTnu4QiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIzMyBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NgorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCDlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICLlrqLmsJTnmoTmi5Lnu53nmbvlvZXjgIJcbiIKKworIzogbG9naW4tdXRpbHMvbm9sb2dpbi5jOjg3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoaXMgYWNjb3VudCBpcyBjdXJyZW50bHkgbm90IGF2YWlsYWJsZS5cbiIKK21zZ3N0ciAi5q2k5biQ5oi355uu5YmN5LiN5Y+v55So44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjIyNAorbXNnaWQgIiAoY29yZSBkdW1wZWQpIgorbXNnc3RyICIgKOaguOW/g+W3sui9rOWCqCkiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjI3OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYzMgorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi5Y+W57uI56uv5bGe5oCn5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgIuWIhumFjei+k+WHuuihqOWksei0pSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg4IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorbXNnaWQgImNhbm5vdCBibG9jayBzaWduYWxzIgorbXNnc3RyICLml6Dms5XpmLvloZ7kv6Hlj7ciCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjUyNCBtaXNjLXV0aWxzL3V1aWRkLmM6NDExIHRlcm0tdXRpbHMvc2NyaXB0LmM6NDk0Cittc2dpZCAicG9sbCBmYWlsZWQiCittc2dzdHIgIui9ruivouWksei0pSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NjcwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBtb2RpZnkgZW52aXJvbm1lbnQiCittc2dzdHIgIuaJk+W8gOebruW9leWksei0pSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzA2Cittc2dpZCAibWF5IG5vdCBiZSB1c2VkIGJ5IG5vbi1yb290IHVzZXJzIgorbXNnc3RyICLpnZ4gcm9vdCDnlKjmiLfkuI3og73kvb/nlKgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjczMAorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAi5a+G56CB6ZSZ6K+vIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gc2Vzc2lvbjogJXMiCittc2dzdHIgIuaXoOazleaJk+W8gOS8muivne+8miVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NzkKK21zZ2lkICJjYW5ub3QgaW5pdGlhbGl6ZSBzaWduYWwgbWFzayBmb3Igc2Vzc2lvbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3ODcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2siCittc2dzdHIgIuaXoOazlemYu+WhnuS/oeWPtyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIgZm9yIHNlc3Npb24iCittc2dzdHIgIuaXoOazleiuvue9ruS/oeWPt+WkhOeQhuWHveaVsCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODA1IG1pc2MtdXRpbHMvdXVpZGQuYzozOTggc3lzLXV0aWxzL2xzY3B1LmM6NzQzCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjc5NgorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCittc2dzdHIgIuaXoOazleiuvue9ruS/oeWPt+WkhOeQhuWHveaVsCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODEzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgc2lnbmFsIG1hc2siCittc2dzdHIgIuaXoOazleiuvue9ruS/oeWPt+WkhOeQhuWHveaVsCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODQxCittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICLml6Dms5XliJvlu7rlrZDov5vnqIsiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi5peg5rOV5pu05pS55YiwICVzIOebruW9lSIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQsIGtpbGxpbmcgc2hlbGwuLi4iCittc2dzdHIgIiIKKyJcbiIKKyLkvJror53lt7Lnu4jmraLvvIzmraPlnKjmnYDmrbsgc2hlbGwuLi4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgYy1mb3JtYXQKK21zZ2lkICIgLi4ua2lsbGVkLlxuIgorbXNnc3RyICIgLi4u5bey5p2A5q2744CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLorr7nva7njq/looPlj5jph48gJXMg5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2Cittc2dpZCAiY2Fubm90IHNldCBncm91cHMiCittc2dzdHIgIuaXoOazleiuvue9riDnu4QiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1c2VyIGNyZWRlbnRpYWxzOiAlcyIKK21zZ3N0ciAi6Kej5p6Q57qn5Yir4oCcJXPigJ3lpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMjIgc3lzLXV0aWxzL2VqZWN0LmM6NjYwCittc2dpZCAiY2Fubm90IHNldCBncm91cCBpZCIKK21zZ3N0ciAi5peg5rOV6K6+572uIOe7hCBpZCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIuaXoOazleiuvue9riDnlKjmiLcgaWQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTIKK21zZ2lkICIgLW0sIC1wLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICBkbyBub3QgcmVzZXQgZW52aXJvbm1lbnQgdmFyaWFibGVzXG4iCittc2dzdHIgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIOS4jemHjee9rueOr+Wig+WPmOmHj1xuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkzCittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgICAgICAgICAgc3BlY2lmeSB0aGUgcHJpbWFyeSBncm91cFxuIgorbXNnc3RyICIgLWcsIC0tZ3JvdXAgPOe7hD4gICAgICAgICAgICAgICAg5oyH5a6a5Li757uEXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXAgPGdyb3VwPiAgICAgICAgc3BlY2lmeSBhIHN1cHBsZW1lbnRhbCBncm91cFxuIgorbXNnc3RyICIiCisiIC1HLCAtLXN1cHAtZ3JvdXAgPOe7hD4gICAgICAgIOaMh+WumuS4gOS4qui+heWKqee7hFxuIgorIlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3Cittc2dpZCAiIC0sIC1sLCAtLWxvZ2luICAgICAgICAgICAgICAgICAgbWFrZSB0aGUgc2hlbGwgYSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICAgICDkvb8gc2hlbGwg5oiQ5Li655m75b2VIHNoZWxsXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKK21zZ2lkICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgICBwYXNzIGEgc2luZ2xlIGNvbW1hbmQgdG8gdGhlIHNoZWxsIHdpdGggLWNcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbW1hbmQgPOWRveS7pD4gICAgICAgICAgICDkvb/nlKggLWMg5ZCRIHNoZWxsIOS8oOmAkuS4gOadoeWRveS7pFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIiCisiIC0tc2Vzc2lvbi1jb21tYW5kIDzlkb3ku6Q+ICAgICAgICDkvb/nlKggLWMg5ZCRIHNoZWxsIOS8oOmAkuS4gOadoeWRveS7pFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg6ICM5LiN5Yib5bu65paw5Lya6K+dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMDEKK21zZ2lkICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICBwYXNzIC1mIHRvIHRoZSBzaGVsbCAoZm9yIGNzaCBvciB0Y3NoKVxuIgorbXNnc3RyICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICAgICDlkJFzaGVsbCDkvKDpgJIgLWYg6YCJ6aG5KGNzaCDmiJYgdGNzaClcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMgorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICAgICDoi6UgL2V0Yy9zaGVsbHMg5YWB6K6477yM6L+Q6KGMPHNoZWxsPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wdHkgICAgICAgICAgICAgICAgICAgICAgIGNyZWF0ZSBhIG5ldyBwc2V1ZG8tdGVybWluYWxcbiIKK21zZ3N0ciAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICDliJvlu7rooajmoLxcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLV0gWzx1c2VyPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YCJ6aG5XSA86K6+5aSHPiBbWy1OXSA85YiG5Yy6Pl1cbiIKKyIgJTEkcyBb6YCJ6aG5XSA85ZG95LukPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJSdW4gPGNvbW1hbmQ+IHdpdGggdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCBvZiA8dXNlcj4uICBJZiAtdSBpc1xuIgorIm5vdCBnaXZlbiwgZmFsbCBiYWNrIHRvIHN1KDEpLWNvbXBhdGlibGUgc2VtYW50aWNzIGFuZCBleGVjdXRlIHN0YW5kYXJkIHNoZWxsLlxuIgorIlRoZSBvcHRpb25zIC1jLCAtZiwgLWwsIGFuZCAtcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLXUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLku6U855So5oi3PueahOacieaViOeUqOaItyBpZCDlkoznu4QgaWQg6L+Q6KGMPOWRveS7pD7jgILlpoLmnpzmnKrnu5nlh7ogLXXvvIxcbiIKKyLlsIbpgIDogIzkvb/nlKjkuI4gc3UoMSkg5YW85a6555qE6K+t5rOV5bm25omn6KGM5qCH5YeGIHNoZWxs44CCXG4iCisi6YCJ6aG5IC1j44CBLWbjgIEtbCDlj4ogLXMg5LiOIC11IOebuOS6kuaOkuaWpeOAglxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDznlKjmiLc+ICAgICAgICAgICAgIOeUqOaIt+WQjVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWy1dIFs855So5oi3PiBbPOWPguaVsD4uLi5dXVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTM4CisjLCBmdXp6eQorbXNnaWQgIiIKKyJDaGFuZ2UgdGhlIGVmZmVjdGl2ZSB1c2VyIElEIGFuZCBncm91cCBJRCB0byB0aGF0IG9mIDx1c2VyPi5cbiIKKyJBIG1lcmUgLSBpbXBsaWVzIC1sLiAgSWYgPHVzZXI+IGlzIG5vdCBnaXZlbiwgcm9vdCBpcyBhc3N1bWVkLlxuIgorbXNnc3RyICIiCisiXG4iCisi5bCG5pyJ5pWI55So5oi3IGlkIOWSjOe7hCBpZCDmm7TmlLnkuLo855So5oi3PueahCBpZOOAglxuIgorIuWNleS4qiAtIOinhuS4uiAtbOOAguWmguaenOacquaMh+WumjznlKjmiLc+77yM5bCG5YGH5a6a5Li6IHJvb3TjgIJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXAgaXMgbm90IHBvc3NpYmxlIgorbXNnaWRfcGx1cmFsICJzcGVjaWZ5aW5nIG1vcmUgdGhhbiAlZCBzdXBwbGVtZW50YWwgZ3JvdXBzIGlzIG5vdCBwb3NzaWJsZSIKK21zZ3N0clswXSAi5LiN6IO95oyH5a6a5aSa5LqOICVkIOS4quihpeWFhee7hCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgYy1mb3JtYXQKK21zZ2lkICJncm91cCAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi57uEICVzIOS4jeWtmOWcqCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTI5MAorIywgZnV6enkKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAi5oKo55qE57O757uf5LiN5pSv5oyBIC0tcmVsb2FkIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICLlsIblv73nlaUgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudO+8jOWug+S4jiAtLWxvZ2luIOS6kuaWpeOAgiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM0MAorbXNnaWQgIm9wdGlvbnMgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0gYW5kIC0tdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICLpgInpobkgLS17c2hlbGwsZmFzdCxjb21tYW5kLHNlc3Npb24tY29tbWFuZCxsb2dpbn0g5ZKMIC0tdXNlciDkupLmlqUiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDMKK21zZ2lkICJubyBjb21tYW5kIHdhcyBzcGVjaWZpZWQiCittc2dzdHIgIuayoeacieaMh+WumuWRveS7pCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM1NQorbXNnaWQgIm9ubHkgcm9vdCBjYW4gc3BlY2lmeSBhbHRlcm5hdGl2ZSBncm91cHMiCittc2dzdHIgIuWPquaciSByb290IOeUqOaIt+iDveaMh+Wumuabv+S7o+e7hCIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLnlKjmiLcgJXMg5LiN5a2Y5ZyoIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIHJlc3RyaWN0ZWQgc2hlbGwgJXMiCittc2dzdHIgIuWwhuS9v+eUqOWPl+mZkCBzaGVsbCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTQyOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIKK21zZ3N0ciAi6K2m5ZGK77ya5peg5rOV5pu05pS55YiwICVzIOebruW9lSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEzMAorbXNnaWQgInRjZ2V0YXR0ciBmYWlsZWQiCittc2dzdHIgInRjZ2V0YXR0ciDlpLHotKUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoyMDcKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIg5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdFxuIgorbXNnc3RyICIlc++8muaXoCByb290IOeahOiusOW9lVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBlbnRyeSBmb3Igcm9vdCIKK21zZ3N0ciAiJXPvvJrml6Agcm9vdCDnmoTorrDlvZUiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXPvvJpyb290IOWvhueggeacieivryIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLml6Dms5Xorr/pl67nu4jnq6/vvIxyb290IOi0puWPt+iiq+mUgeOAgiBcbiIKKyLlj4LpmIUgc3Vsb2dpbig4KSDluK7liqnpobXpnaLkuobop6Pmm7TlpJrkv6Hmga/jgIJcbiIKKyJcbiIKKyLmjIkgRW50ZXIg57un57ut44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICLmjIflrpogcm9vdCDnmoTnmbvlvZXlr4bnoIHvvJoiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIuaMiSBFbnRlciDplK7nmbvlvZXvvJoiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo1NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLmjIflrpogcm9vdCDnmoTnu7TmiqTlr4bnoIFcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVzcyBFbnRlciBmb3IgbWFpbnRlbmFuY2VcbiIKK21zZ3N0ciAi5oyJIEVudGVyIOmUrui/m+ihjOe7tOaKpFxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgIihvciBwcmVzcyBDb250cm9sLUQgdG8gY29udGludWUpOiAiCittc2dzdHIgIijmiJbmjIkgQ29udHJvbC1EIOmUrue7p+e7rSnvvJoiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MzMKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAi5pu05pS55Yiw57O757uf5qC555uu5b2V5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCittc2dpZCAic2V0ZXhlY2NvbiBmYWlsZWQiCittc2dzdHIgInNldGV4ZWNjb24g5aSx6LSlIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gW3R0eSBkZXZpY2VdXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbdHR5IOiuvuWkh11cbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwNgorbXNnaWQgIlNpbmdsZS11c2VyIGxvZ2luLlxuIgorbXNnc3RyICLljZXnlKjmiLfnmbvlvZXjgIJcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorbXNnaWQgIiIKKyIgLXAsIC0tbG9naW4tc2hlbGwgICAgICAgIHN0YXJ0IGEgbG9naW4gc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA8c2Vjb25kcz4gIG1heCB0aW1lIHRvIHdhaXQgZm9yIGEgcGFzc3dvcmQgKGRlZmF1bHQ6IG5vIGxpbWl0KVxuIgorIiAtZSwgLS1mb3JjZSAgICAgICAgICAgICAgZXhhbWluZSBwYXNzd29yZCBmaWxlcyBkaXJlY3RseSBpZiBnZXRwd25hbSgzKSBmYWlsc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICDlkK/liqjnmbvlvZUgc2hlbGxcbiIKKyIgLXQsIC0tdGltZW91dCA856eS5pWwPiAgICAg562J5b6F5a+G56CB55qE5pyA5aSn5pe26Ze0KOm7mOiupO+8muaXoOmZkOWItilcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIOWmguaenCBnZXRwd25hbSgzKSDlpLHotKXvvIznm7TmjqXmo4Dmn6Xlr4bnoIHmlofku7ZcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg2MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDY4IHN5cy11dGlscy93ZGN0bC5jOjUyNAorIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MTcgdGVybS11dGlscy93YWxsLmM6MjE2Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQgdGltZW91dCDotoXml7blj4LmlbAiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4ODQKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAi5Y+q5pyJ6LaF57qn55So5oi36IO96L+Q6KGM5q2k56iL5bqPIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3Cittc2dpZCAiY2Fubm90IG9wZW4gY29uc29sZSIKK21zZ3N0ciAi5omT5LiN5byA57uI56uvIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTM0Cittc2dpZCAiY2Fubm90IG9wZW4gcGFzc3dvcmQgZGF0YWJhc2UiCittc2dzdHIgIuaXoOazleaJk+W8gOWvhueggeaVsOaNruW6kyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJjYW5ub3QgZXhlY3V0ZSBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisi5peg5rOV5omn6KGMIHN1IHNoZWxsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDE3Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICIiCisi6LaF5pe2XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICIiCisi5peg5rOV562J5b6FIHN1IHNoZWxsXG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlc++8muaXoOazlea3u+WKoCBpbm90aWZ5IOinguWvn+OAgiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlc++8muaXoOazleivuyBpbm90aWZ5IOS6i+S7tiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKK21zZ2lkICJFeHRyYW5lb3VzIG5ld2xpbmUgaW4gZmlsZS4gRXhpdGluZy4iCittc2dzdHIgIuaWh+S7tuS4reacieaXoOWFs+eahOaNouihjOespuOAguWwhumAgOWHuuOAgiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbZmlsZW5hbWVdXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBb5paH5Lu25ZCNXVxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMwNgorbXNnaWQgIkR1bXAgVVRNUCBhbmQgV1RNUCBmaWxlcyBpbiByYXcgZm9ybWF0LlxuIgorbXNnc3RyICLku6Xljp/lp4vmoLzlvI/ovazlgqggVVRNUCDlkowgV1RNUCDmlofku7bjgIJcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKK21zZ2lkICIgLWYsIC0tZm9sbG93ICAgICAgICAgb3V0cHV0IGFwcGVuZGVkIGRhdGEgYXMgdGhlIGZpbGUgZ3Jvd3NcbiIKK21zZ3N0ciAiIC1mLCAtLWZvbGxvdyAgICAgICAgIOmaj+aWh+S7tuWinumVv+i+k+WHuui/veWKoOeahOaVsOaNrlxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorbXNnaWQgIiAtciwgLS1yZXZlcnNlICAgICAgICB3cml0ZSBiYWNrIGR1bXBlZCBkYXRhIGludG8gdXRtcCBmaWxlXG4iCittc2dzdHIgIiAtciwgLS1yZXZlcnNlICAgICAgICDlsIbovazlgqjnmoTmlbDmja7lhpnlm54gdXRtcCDmlofku7ZcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxmaWxlPiAgd3JpdGUgdG8gZmlsZSBpbnN0ZWFkIG9mIHN0YW5kYXJkIG91dHB1dFxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzmlofku7Y+ICDlhpnlhaXmlofku7bogIzpnZ7moIflh4bovpPlh7pcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozNzcKK21zZ2lkICJmb2xsb3dpbmcgc3RhbmRhcmQgaW5wdXQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIuS4jeaUr+aMgei3n+majyhmb2xsb3cp5qCH5YeG6L6T5YWlIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICJVdG1wIHVuZHVtcCBvZiAlc1xuIgorbXNnc3RyICIlcyDnmoQgVXRtcCB1bmR1bXBcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVXRtcCBkdW1wIG9mICVzXG4iCittc2dzdHIgIiVzIOeahCBVdG1wIGR1bXBcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorbXNnaWQgImNhbid0IG9wZW4gdGVtcG9yYXJ5IGZpbGUiCittc2dzdHIgIuaXoOazleaJk+W8gOS4tOaXtuaWh+S7tiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY3JlYXRlIGEgbGluayB0byAlcyBmYWlsZWQiCittc2dzdHIgIiVz77ya5Yib5bu65oyH5ZCRICVzIOeahOmTvuaOpeWksei0pSIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE2OAorIywgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIuaXoOazleiOt+WPliAlcyDnmoTnjq/looMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLml6Dms5Xorr7nva4gJXMg55qE546v5aKDIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMg5pyq5pS55Y+YIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3Cittc2dpZCAiY2Fubm90IGdldCBsb2NrIgorbXNnc3RyICLml6Dms5XojrflvpfplIEiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyODQKK21zZ2lkICJubyBjaGFuZ2VzIG1hZGUiCittc2dzdHIgIuaXoOaUueWPmCIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjI5MworbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICLml6Dms5Xlr7nmlofku7YgY2htb2QiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzozMDgKK21zZ2lkICJFZGl0IHRoZSBwYXNzd29yZCBvciBncm91cCBmaWxlLlxuIgorbXNnc3RyICLnvJbovpHlr4bnoIHmiJbnu4Tmlofku7bjgIJcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MQorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IGdyb3VwcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAi5oKo5q2j5Zyo5L2/55So5q2k57O757uf5LiK55qE6YGu6JS9KHNoYWRvdynnu4TjgIJcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAi5oKo5q2j5Zyo5L2/55So5q2k57O757uf5LiK55qE6YGu6JS9KHNoYWRvdynlr4bnoIHjgIJcbiIKKworIy4gVFJBTlNMQVRPUlM6IHRoaXMgcHJvZ3JhbSB1c2VzIGZvciB5IGFuZCBuIHJwbWF0Y2goMyksCisjLiAqIHdoaWNoIG1lYW5zIHRoZXkgY2FuIGJlIHRyYW5zbGF0ZWQuCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIldvdWxkIHlvdSBsaWtlIHRvIGVkaXQgJXMgbm93IFt5L25dPyAiCittc2dzdHIgIuaCqOaDs+eOsOWcqOe8lui+kSAlcyDlkJdbeS9uXe+8nyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzICAobGliYmxraWQgJXMsICVzKVxuIgorbXNnc3RyICIlc++8jOadpeiHqiAlcyhsaWJtb3VudCAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxmaWxlPiAgICByZWFkIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBkZWZhdWx0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUgZmlsZSAoLWMgL2Rldi9udWxsIG1lYW5zIG5vIGNhY2hlKVxuIgorbXNnc3RyICIiCisiIC1BLCAtLWFkamZpbGUgPOaWh+S7tj4gICAgIOaMh+WumiBhZGp1c3Qg5paH5Lu255qE6Lev5b6EXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIOm7mOiupOS4uiAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLW5vLWVuY29kaW5nICAgICAgICAgIGRvbid0IGVuY29kZSBub24tcHJpbnRpbmcgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICDkuI3miZPljbDmoIfpophcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg2Cittc2dpZCAiIC1nLCAtLWdhcmJhZ2UtY29sbGVjdCAgICAgIGdhcmJhZ2UgY29sbGVjdCB0aGUgYmxraWQgY2FjaGVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODcKK21zZ2lkICIiCisiIC1vLCAtLW91dHB1dCA8Zm9ybWF0PiAgICAgIG91dHB1dCBmb3JtYXQ7IGNhbiBiZSBvbmUgb2Y6XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUsIGRldmljZSwgZXhwb3J0IG9yIGZ1bGw7IChkZWZhdWx0OiBmdWxsKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLWssIC0tbGlzdC1maWxlc3lzdGVtcyAgICAgbGlzdCBhbGwga25vd24gZmlsZXN5c3RlbXMvUkFJRHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIOaJk+WNsCBzaGVsbCDliJfooajlubbpgIDlh7pcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIOWIl+WHuuaJgOacieaIluaMh+WumueahOS/oeaBryjpu5jorqQpXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA85bC65a+4PiAgICAgICAgIOiuvuWkh+WwuuWvuFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgICAgIGNvbnZlcnQgVVVJRCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLXUsIC0tdXNlciA855So5oi3PiAgICAgICAgICAgICDnlKjmiLflkI1cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiA86K6+5aSHPiAgICAgICAgICAgICAgICAgICAg6K6+5aSHKOmAmuW4uOaYr+ejgeebmCnnmoTot6/lvoRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk3CisjLCBmdXp6eQorbXNnaWQgIkxvdy1sZXZlbCBwcm9iaW5nIG9wdGlvbnM6XG4iCittc2dzdHIgIuiwg+W6pumAiemhue+8mlxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXByb2JlICAgICAgICAgICAgICAgIGxvdy1sZXZlbCBzdXBlcmJsb2NrcyBwcm9iaW5nIChieXBhc3MgY2FjaGUpXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICAgICAgICAgIOWPlua2iOWFseS6qyBwaWQg5ZCN5a2X56m66Ze0XG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICAgZ2F0aGVyIGluZm9ybWF0aW9uIGFib3V0IEkvTyBsaW1pdHNcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5Y+q5omT5Y2w5pyJ5YWz6YeH5qC35q2l6aqkKHNhbXBsaW5nIHN0ZXAp55qE5L+h5oGvXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICAgIG92ZXJ3cml0ZSBkZXZpY2Ugc2l6ZVxuIgorbXNnc3RyICIgLXMsIC0tc2l6ZSA85bC65a+4PiAgICAgICAgIOiuvuWkh+WwuuWvuFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDzkuLvmnLrlkI0+ICAgICAgICDmjIflrprnmbvlvZXkuLvmnLpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNhZ2VzIDxsaXN0PiAgICAgICAgZmlsdGVyIGJ5IFwidXNhZ2VcIiAoZS5nLiAtdSBmaWxlc3lzdGVtLHJhaWQpXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA85YiX6KGoPiAgICAgIOmZkOWItuaWh+S7tuezu+e7n+mbhuWQiFxuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1tYXRjaC10eXBlcyA8bGlzdD4gICBmaWx0ZXIgYnkgZmlsZXN5c3RlbSB0eXBlIChlLmcuIC1uIHZmYXQsZXh0MylcbiIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDzliJfooag+ICAgICAg6ZmQ5Yi25paH5Lu257O757uf6ZuG5ZCIXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzUKK21zZ2lkICIobW91bnRlZCwgbXRwdCB1bmtub3duKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgIihpbiB1c2UpIgorbXNnc3RyICLmoIforrDkuLrlt7Lkvb/nlKgiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiKG5vdCBtb3VudGVkKSIKK21zZ3N0ciAiJXPvvJrmnKrmjILovb0iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyIKK21zZ3N0ciAi6Kej5p6Q6ZSZ6K+v77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYml2YWxlbnQgcmVzdWx0IChwcm9iYWJseSBtb3JlIGZpbGVzeXN0ZW1zIG9uIHRoZSBkZXZpY2UsIHVzZSB3aXBlZnMoOCkgdG8gc2VlIG1vcmUgZGV0YWlscykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjU5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBrZXl3b3JkIGluIC11IDxsaXN0PiBhcmd1bWVudDogJyVzJyIKK21zZ3N0ciAi5pyq55+l5Y+C5pWw77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2MTEKK21zZ2lkICJlcnJvcjogLXUgPGxpc3Q+IGFyZ3VtZW50IGlzIGVtcHR5IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG91dHB1dCBmb3JtYXQgJXMiCittc2dzdHIgIuS4jeaUr+aMgeeahOWPguaVsOagvOW8j++8miVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU5IG1pc2MtdXRpbHMvd2lwZWZzLmM6Njk3Cittc2dpZCAiaW52YWxpZCBvZmZzZXQgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDlgY/np7sg5Y+C5pWwIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICLmsqHmnInmjIflrprlkb3ku6QiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQg5pe26Ze0IOWPguaVsCIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc3NgorbXNnaWQgIkNhbiBvbmx5IHNlYXJjaCBmb3Igb25lIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzgzCittc2dpZCAiLXQgbmVlZHMgTkFNRT12YWx1ZSBwYWlyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4MzMKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSBkb2VzIG5vdCBzdXBwb3J0ICdsaXN0JyBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NDYKK21zZ2lkICJUaGUgbG93LWxldmVsIHByb2JpbmcgbW9kZSByZXF1aXJlcyBhIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODk2Cittc2dpZCAiVGhlIGxvb2t1cCBvcHRpb24gcmVxdWlyZXMgYSBzZWFyY2ggdHlwZSBzcGVjaWZpZWQgdXNpbmcgLXQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTEKK21zZ2lkICJpbnZhbGlkIG1vbnRoIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoTmnIjku73lj4LmlbAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDE5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQg5ZGoIOWPguaVsCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MjEKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHVzZSAxLTU0IgorbXNnc3RyICLpnZ7ms5XnmoQg5ZGoIOWAvO+8muivt+S9v+eUqCAxLTU0IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ2NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdGltZXN0YW1wIG9yIHVua25vd24gbW9udGggbmFtZTogJXMiCittc2dzdHIgIiDop6PmnpDml7bpl7TmiLPlpLHotKXmiJbmnIjku73lkI3mnKrnn6XvvJolcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzUKK21zZ2lkICJpbGxlZ2FsIGRheSB2YWx1ZSIKK21zZ3N0ciAi5pelIOWAvOS4jeWQiOazlSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0NzcgbWlzYy11dGlscy9jYWwuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWxsZWdhbCBkYXkgdmFsdWU6IHVzZSAxLSVkIgorbXNnc3RyICLml6Ug5YC85LiN5ZCI5rOV77ya6K+35L2/55SoIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIuaciOS7veWAvOS4jeWQiOazle+8muivt+S9v+eUqCAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICLmnIjku73lkI3mnKrnn6XvvJolcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTIgbWlzYy11dGlscy9jYWwuYzo0OTYKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWUiCittc2dzdHIgIuW5tOS7veWAvOS4jeWQiOazlSIKKworIzogbWlzYy11dGlscy9jYWwuYzo0OTQKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICLlubTku73lgLzkuI3lkIjms5XvvJror7fkvb/nlKjmraPmlbTmlbAiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NTMwIG1pc2MtdXRpbHMvY2FsLmM6NTQzCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogeWVhciAlZCBkb2Vzbid0IGhhdmUgd2VlayAlZCIKK21zZ3N0ciAi6Z2e5rOV55qEIOWRqCDlgLzvvJolZCDlubTmsqHmnInnrKwgJWQg5ZGoIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc0MgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyIKK21zZ3N0ciAiJXMiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiUwNGQiCittc2dzdHIgIiUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NzU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICUwNGQiCittc2dzdHIgIiVzICUwNGQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtbW2RheV0gbW9udGhdIHllYXJdXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbW1vml6VdIOaciF0g5bm0XVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dGltZXN0YW1wfG1vbnRobmFtZT5cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDzml7bpl7TmiLN85pyI5Lu95ZCNPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTgKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAi5pi+56S65pel5Y6G5oiW6YOo5YiG5pel5Y6G44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5OQorbXNnaWQgIldpdGhvdXQgYW55IGFyZ3VtZW50cywgZGlzcGxheSB0aGUgY3VycmVudCBtb250aC5cbiIKK21zZ3N0ciAi5LiN5bim5Y+C5pWw5pe277yM5pi+56S65b2T5pyI5pel5Y6G44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMgorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLTEsIC0tb25lICAgICAgICAgICAgIOWPquaYvuekuuS4gOS4quaciCjpu5jorqQpXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwMworbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC0zLCAtLXRocmVlICAgICAgICAgICDmmL7npLror6Xml6XmnJ/liY3lkI7kuInkuKrmnIhcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA0Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1uLCAtLW1vbnRocyA8IOaVsOWtlz4gICDmmL7npLrku6Xml6XmnJ/miYDlnKjmnIjku73lvIDlp4vnmoToi6XlubLkuKrmnIhcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA1Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1TLCAtLXNwYW4gICAgICAgICAgICDmmL7npLrlpJrkuKrmnIjku73ml7bnmoTml6XmnJ/ojIPlm7RcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA2Cittc2dpZCAiIC1zLCAtLXN1bmRheSAgICAgICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1zLCAtLXN1bmRheSAgICAgICAgICDlkajml6XkvZzkuLrkuIDlkajnmoTnrKzkuIDlpKlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA3Cittc2dpZCAiIC1tLCAtLW1vbmRheSAgICAgICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKK21zZ3N0ciAiIC1tLCAtLW1vbmRheSAgICAgICAgICDlkajkuIDkvZzkuLrkuIDlkajnmoTnrKzkuIDlpKlcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTA4CisjLCBmdXp6eQorbXNnaWQgIiAtaiwgLS1qdWxpYW4gICAgICAgICAgdXNlIGRheS1vZi15ZWFyIGZvciBhbGwgY2FsZW5kYXJzXG4iCittc2dzdHIgIiAtaiwgLS1qdWxpYW4gICAgICAgICAg6L6T5Ye65YSS55Wl5pel5pyfXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOQorbXNnaWQgIiAgICAgLS1yZWZvcm0gPHZhbD4gICAgR3JlZ29yaWFuIHJlZm9ybSBkYXRlICgxNzUyfGdyZWdvcmlhbnxpc298anVsaWFuKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMAorIywgZnV6enkKK21zZ2lkICIgICAgIC0taXNvICAgICAgICAgICAgIGFsaWFzIGZvciAtLXJlZm9ybT1pc29cbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgIHQgLSDljp/nlJ/moLzlvI/nmoTooagiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMQorbXNnaWQgIiAteSwgLS15ZWFyICAgICAgICAgICAgc2hvdyB0aGUgd2hvbGUgeWVhclxuIgorbXNnc3RyICIgLXksIC0teWVhciAgICAgICAgICAgIOaYvuekuuWFqOW5tFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTIKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLVksIC0tdHdlbHZlICAgICAgICAgIOaYvuekuuS5i+WQjueahCAxMiDkuKrmnIhcbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTEzCittc2dpZCAiIC13LCAtLXdlZWtbPTxudW0+XSAgICBzaG93IFVTIG9yIElTTy04NjAxIHdlZWsgbnVtYmVyc1xuIgorbXNnc3RyICIgLXcsIC0td2Vla1s9POaVsOWtlz5dICAg5pi+56S6576O5Zu95oiWIElTTy04NjAxIOWRqOaVsFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTQKK21zZ2lkICIgICAgIC0tY29sb3JbPTx3aGVuPl0gIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAgICAgLS1jb2xvcls9POaXtuacuj5dICDmtojmga/lvanoibLmmL7npLooYXV0bywgYWx3YXlzIOaIliBuZXZlcilcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBkYXRhIHJlc2lkZW50IGluIG1lbW9yeSBpbiBwYWdlcyIKK21zZ3N0ciAi5YWx5Lqr5YaF5a2Y6aG1IgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzo2MgorIywgZnV6enkKK21zZ2lkICJmaWxlIGRhdGEgcmVzaWRlbnQgaW4gbWVtb3J5IGluIGJ5dGVzIgorbXNnc3RyICLlhbHkuqvlhoXlrZjpobUiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgIuejgeebmOWuuemHjyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBuYW1lIgorbXNnc3RyICLmlofku7blkI0iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICLor7vnrKblj7fpk77mjqXlpLHotKXvvJolcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIuivu+WPluWksei0pe+4sCAlcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gb3BlbjogJXMiCittc2dzdHIgIuino+aekCAlcyDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIGZzdGF0OiAlcyIKK21zZ3N0ciAi6K+75Y+W5aSx6LSl77iwICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlLi4uXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSDmlofku7YuLi5cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAg5L2/55SoIEpTT04g6L6T5Ye65qC85byPXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MAorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgIOS7peWtl+iKguS4uuWNleS9jeiAjOmdnuaYk+ivu+eahOagvOW8j+adpeaJk+WNsOWkp+Wwj1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDkuI3miZPljbDmoIfpophcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgb3V0cHV0IGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW91dHB1dCA85YiX6KGoPiAg6L6T5Ye65YiXXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjI3MworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDkvb/nlKjljp/nlJ/ovpPlh7rmoLzlvI9cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MzQzIHN5cy11dGlscy9sb3NldHVwLmM6NzkzCittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuaWh+S7tiIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0ge0xBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMfT085YC8PlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjMyCittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAi5oyJ5qCH562+5oiWIFVVSUQg5p+l5om+5paH5Lu257O757uf44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIHJlc29sdmUgJyVzJyIKK21zZ3N0ciAi5LiN6IO96Kej5p6Q4oCcJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjk5Cittc2dpZCAic291cmNlIGRldmljZSIKK21zZ3N0ciAi5rqQ6K6+5aSHIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDAKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICLmjILovb3ngrkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2Cittc2dpZCAiZmlsZXN5c3RlbSB0eXBlIgorbXNnc3RyICLmlofku7bns7vnu5/nsbvlnosiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMgorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICLlhajpg6jmjILoh7fpgInpobkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworbXNnaWQgIlZGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJWRlMg55qE54m55a6a5oyC6L296YCJ6aG5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDQKK21zZ2lkICJGUyBzcGVjaWZpYyBtb3VudCBvcHRpb25zIgorbXNnc3RyICJGUyDnmoTnibnlrprmjILovb3pgInpobkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIuaWh+S7tuezu+e7n+agh+etviIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKK21zZ2lkICJmaWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIuaWh+S7tuezu+e7nyBVVUlEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDcKK21zZ2lkICJwYXJ0aXRpb24gbGFiZWwiCittc2dzdHIgIuWIhuWMuuagh+etviIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA5IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICLkuLs65qyhIOiuvuWkh+WPtyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTEwCittc2dpZCAiYWN0aW9uIGRldGVjdGVkIGJ5IC0tcG9sbCIKK21zZ3N0ciAiLS1wb2xsIOajgOa1i+WIsOeahOaTjeS9nCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExCittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICItLXBvbGwg5L+d5a2Y55qE5pen5oyC6L296YCJ6aG5IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKK21zZ2lkICJvbGQgbW91bnRwb2ludCBzYXZlZCBieSAtLXBvbGwiCittc2dzdHIgIi0tcG9sbCDkv53lrZjnmoTml6fmjILovb3ngrkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMworbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSIKK21zZ3N0ciAi5paH5Lu257O757uf5aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTQKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICLmlofku7bns7vnu5/lj6/nlKjlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorbXNnaWQgImZpbGVzeXN0ZW0gc2l6ZSB1c2VkIgorbXNnc3RyICLmlofku7bns7vnu5/lt7LnlKjlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNgorbXNnaWQgImZpbGVzeXN0ZW0gdXNlIHBlcmNlbnRhZ2UiCittc2dzdHIgIuaWh+S7tuezu+e7n+S9v+eUqOeZvuWIhuavlCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE3Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICLmlofku7bns7vnu58gcm9vdCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTE4Cittc2dpZCAidGFzayBJRCIKK21zZ3N0ciAi5Lu75YqhIElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAi5oyC6L29IElEIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKK21zZ2lkICJvcHRpb25hbCBtb3VudCBmaWVsZHMiCittc2dzdHIgIuWPr+mAieeahOaMgui9veWtl+autSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCittc2dpZCAiVkZTIHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICJWRlMg5Lyg5pKt5qCH5b+XIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiZHVtcCg4KSDlkajmnJ8o5aSp5pWwKSBb5LuFIGZzdGFiXSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzCittc2dpZCAicGFzcyBudW1iZXIgb24gcGFyYWxsZWwgZnNjayg4KSBbZnN0YWIgb25seV0iCittc2dzdHIgIuW5tuihjCBmc2NrKDgpIOeahOmBjeaVsChwYXNzIG51bWJlcikgW+S7hSBmc3RhYl0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGFjdGlvbjogJXMiCittc2dzdHIgIuacquefpeaTjeS9nDogJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworbXNnaWQgIm1vdW50IgorbXNnc3RyICLmjILovb0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0NgorbXNnaWQgInVtb3VudCIKK21zZ3N0ciAi5Y246L29IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICLph43mlrDmjILovb0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1MgorbXNnaWQgIm1vdmUiCittc2dzdHIgIuenu+WKqCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODE0IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwNzcgc3lzLXV0aWxzL2VqZWN0LmM6NzE0CisjOiBzeXMtdXRpbHMvbW91bnQuYzozMjQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAi5Yid5aeL5YyWIGxpYm1vdW50IHRhYmxlIOWksei0pSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgJXMiCittc2dzdHIgIuS4jeiDveivuyAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAxNyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDgzCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6OTQgbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQ4MQorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjE4OSBzeXMtdXRpbHMvbW91bnQuYzoxMzMgc3lzLXV0aWxzL21vdW50LmM6MTgxCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjU1IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTU0IHN5cy11dGlscy9zd2Fwb24uYzoyNDgKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNzggc3lzLXV0aWxzL3N3YXBvbi5jOjczNyBzeXMtdXRpbHMvdW1vdW50LmM6MTc0Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgaXRlcmF0b3IiCittc2dzdHIgIuaXoOazleWIneWni+WMliBsaWJtb3VudCDov63ku6PlmagiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwODkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJkaWZmIgorbXNnc3RyICLliJ3lp4vljJYgbGlibW91bnQgdGFiZGlmZiDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMTcKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICJwb2xsKCkg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgInpobldXG4iCisiICUxJHMgW+mAiemhuV0gPOiuvuWkhz4gfCA85oyC6Ie354K5PlxuIgorIiAlMSRzIFvpgInpobldIDzorr7lpIc+IDzmjILoh7fngrk+XG4iCisiICUxJHMgW+mAiemhuV0gWy0tc291cmNlIDzorr7lpIc+XSBbLS10YXJnZXQgPOaMguiHt+eCuT5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKK21zZ2lkICJGaW5kIGEgKG1vdW50ZWQpIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuafpeaJvijmjILovb3nmoQp5paH5Lu257O757uf44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKK21zZ2lkICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtcywgLS1mc3RhYiAgICAgICAgICAgIOWcqOaWh+S7tuezu+e7n+ihqOaAgeihqOS4reaQnOe0olxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAzCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKGluY2x1ZGVzIHVzZXIgc3BhY2UgbW91bnQgb3B0aW9ucylcbiIKK21zZ3N0ciAiIgorIiAtaywgLS1rZXJuZWwgICAgICAgICAgIOWcqOW3suaMgui9veaWh+S7tuezu+e7n+eahOWGheaguOihqOS4reaQnOe0olxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgKOm7mOiupClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwNQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAg5Zyo5bey5oyC6L295paH5Lu257O757uf55qE5YaF5qC46KGo5Lit5pCc57SiXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAo6buY6K6kKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA4Cittc2dpZCAiIC1wLCAtLXBvbGxbPTxsaXN0Pl0gICAgbW9uaXRvciBjaGFuZ2VzIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBvbGxbPTzliJfooag+XSAgICDnm5HmtYvlt7LmjILoh7fmlofku7bns7vnu5/ooajnmoTmlLnlj5hcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiAtdywgLS10aW1lb3V0IDzmlbDlrZc+ICAgLS1wb2xsIOmYu+WhnueahOaXtumXtOS4iumZkCjmr6vnp5IpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKK21zZ2lkICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1BLCAtLWFsbCAgICAgICAgICAgICAg56aB55So5omA5pyJ5YaF572u6L+H5ruk5Zmo77yM5omT5Y2w5omA5pyJ5paH5Lu257O757ufXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKK21zZ2lkICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorbXNnc3RyICIgLWEsIC0tYXNjaWkgICAgICAgICAgICDnlKggQVNDSUkg5a2X56ym5qC85byP5YyW5qCRXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICDku6XlrZfoioLkuLrljZXkvY3ogIzpnZ7mmJPor7vnmoTmoLzlvI/mnaXmiZPljbDlpKflsI9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNQorbXNnaWQgIiAtQywgLS1ub2Nhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSB3aGVuIGNvbXBhcmluZyBwYXRoc1xuIgorbXNnc3RyICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICDlnKjmr5TovoPot6/lvoTml7bkuI3lr7not6/lvoTop4TojIPljJZcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgIOWvueaJk+WNsOeahOi3r+W+hOinhOiMg+WMllxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE3Cittc2dpZCAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCittc2dzdHIgIiAtRCwgLS1kZiAgICAgICAgICAgICAgIOS7v+eFpyBkZigxKSDovpPlh7pcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxOAorbXNnaWQgIiAtZCwgLS1kaXJlY3Rpb24gPHdvcmQ+IGRpcmVjdGlvbiBvZiBzZWFyY2gsICdmb3J3YXJkJyBvciAnYmFja3dhcmQnXG4iCittc2dzdHIgIiAtZCwgLS1kaXJlY3Rpb24gPOWNleivjT4g5pCc57Si5pa55ZCR77yM4oCcZm9yd2FyZOKAnSjlvoDliY0p5oiW4oCcYmFja3dhcmTigJ0o5b6A5ZueKVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE5Cittc2dpZCAiIgorIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCittc2dzdHIgIiIKKyIgLWUsIC0tZXZhbHVhdGUgICAgICAgICDlsIbmoIfnrb4oTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIOi9rOaNouS4ulxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg6K6+5aSH5ZCNXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjEKK21zZ2lkICIgLUYsIC0tdGFiLWZpbGUgPHBhdGg+ICBhbHRlcm5hdGl2ZSBmaWxlIGZvciAtcywgLW0gb3IgLWsgb3B0aW9uc1xuIgorbXNnc3RyICIgLUYsIC0tdGFiLWZpbGUgPOi3r+W+hD4gIC1zLCAtbSDmiJYgLWsg6YCJ6aG555qE5pu/5Luj5paH5Lu2XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjIKK21zZ2lkICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCittc2dzdHIgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIOWPquaJk+WNsOaJvuWIsOeahOesrOS4gOS4quaWh+S7tuezu+e7n1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIzCittc2dpZCAiIC1pLCAtLWludmVydCAgICAgICAgICAgaW52ZXJ0IHRoZSBzZW5zZSBvZiBtYXRjaGluZ1xuIgorbXNnc3RyICIgLWksIC0taW52ZXJ0ICAgICAgICAgICDlj43ovazmkJzntKLnmoTljLnphY1cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDEgc3lzLXV0aWxzL2xzbnMuYzo5MDEKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1NzIKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICDkvb/nlKggSlNPTiDovpPlh7rmoLzlvI9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyNSBzeXMtdXRpbHMvbHNucy5jOjkwMgorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg5L2/55So5YiX6KGo5qC85byP55qE6L6T5Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAg5L2/55So5pu/5Luj55qE5ZCN5a2X56m66Ze0KC9wcm9jLzx0aWQ+L21vdW50aW5mbyDmlofku7YpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjcKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBjb2x1bW4gaGVhZGluZ3NcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg5LiN5omT5Y2w5YiX5qCH6aKYXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1PLCAtLW9wdGlvbnMgPOWIl+ihqD4gICDmoLnmja7mjILoh7fpgInpobnpmZDliLbmlofku7bns7vnu5/pm4blkIhcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyOQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzliJfooag+ICAgIOimgeaYvuekuueahOWIl1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMwCittc2dpZCAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVAsIC0tcGFpcnMgICAgICAgICAgICDkvb/nlKgg6ZSuPeKAnOWAvOKAneeahOi+k+WHuuagvOW8j1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCittc2dpZCAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIOaJk+WNsOWMuemFjeaWh+S7tuezu+e7n+eahOaJgOacieWtkOaMgui9vShzdWJtb3VudClcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDkvb/nlKjljp/nlJ/ovpPlh7rmoLzlvI9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMworbXNnaWQgIiIKKyIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICB0aGUgZGV2aWNlIHRvIG1vdW50IChieSBuYW1lLCBtYWo6bWluLCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKK21zZ3N0ciAiIgorIiAtUywgLS1zb3VyY2UgPOWtl+espuS4sj4gIOimgeaMgui9veeahOiuvuWkhyjmjIkg5ZCN56ewLCDkuLs65qyh6K6+5aSH5Y+3LCBcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPSwgVVVJRD0sIFBBUlRVVUlEPSwgUEFSVExBQkVMPSlcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorbXNnaWQgIiAtVCwgLS10YXJnZXQgPHBhdGg+ICAgIHRoZSBwYXRoIHRvIHRoZSBmaWxlc3lzdGVtIHRvIHVzZVxuIgorbXNnc3RyICIgLVQsIC0tdGFyZ2V0IDzot6/lvoQ+ICAgIOimgeS9v+eUqOeahOaWh+S7tuezu+e7n+eahOi3r+W+hFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjM2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS10cmVlICAgICAgICAgICAgIGVuYWJsZSB0cmVlIGZvcm1hdCBvdXRwdXQgaXMgcG9zc2libGVcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg5L2/55So5YiX6KGo5qC85byP55qE6L6T5Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzcKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1NLCAtLW1vdW50cG9pbnQgPOebruW9lT4g5oyC6L2954K555uu5b2VXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzgKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA85YiX6KGoPiAgICAg5qC55o2u5paH5Lu257O757uf57G75Z6L6ZmQ5Yi25paH5Lu257O757uf6ZuG5ZCIXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKK21zZ2lkICIgLVUsIC0tdW5pcSAgICAgICAgICAgICBpZ25vcmUgZmlsZXN5c3RlbXMgd2l0aCBkdXBsaWNhdGUgdGFyZ2V0XG4iCittc2dzdHIgIiAtVSwgLS11bmlxICAgICAgICAgICAgIOW/veeVpeebruagh+mHjeWkjeeahOaWh+S7tuezu+e7n1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQwIG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNyBzeXMtdXRpbHMvbHNucy5jOjkwNworbXNnaWQgIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorbXNnc3RyICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICDkuI3miKrmlq3liJfkuK3nmoTmlofmnKxcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorbXNnaWQgIiAtdiwgLS1ub2Zzcm9vdCAgICAgICAgIGRvbid0IHByaW50IFsvZGlyXSBmb3IgYmluZCBvciBidHJmcyBtb3VudHNcbiIKK21zZ3N0ciAiIC12LCAtLW5vZnNyb290ICAgICAgICAg5a+557uR5a6a5byP5oiWIGJ0cmZzIOaMgui9veS4jeaJk+WNsFsvZGlyXVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjQ0Cittc2dpZCAiIC14LCAtLXZlcmlmeSAgICAgICAgICAgdmVyaWZ5IG1vdW50IHRhYmxlIGNvbnRlbnQgKGRlZmF1bHQgaXMgZnN0YWIpXG4iCittc2dzdHIgIiAteCwgLS12ZXJpZnkgICAgICAgICAgIOmqjOivgeaMgui9veihqOWGheWuuSjpu5jorqTkuLogZnN0YWIpXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAg5omT5Y2w5pu05aSa57uG6IqCXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEzNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBkaXJlY3Rpb24gJyVzJyIKK21zZ3N0ciAi5pyq55+l5pa55ZCR4oCcJXPigJ0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE0NDUKK21zZ2lkICJpbnZhbGlkIFRJRCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIFRJRCDlj4LmlbAiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1MTYKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiLS1wb2xsIOWPquaOpeWPl+S4gOS4quaWh+S7tu+8jOS9hueUqCAtLXRhYi1maWxlIOaMh+WumuS6huWkmuS4qiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUyMAorbXNnaWQgIm9wdGlvbnMgLS10YXJnZXQgYW5kIC0tc291cmNlIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCBjb21tYW5kIGxpbmUgZWxlbWVudCB0aGF0IGlzIG5vdCBhbiBvcHRpb24iCittc2dzdHIgIi0tdGFyZ2V0IOWSjCAtLXNvdXJjZSDpgInpobnkuI3og73kuI7pnZ7pgInpobnnmoTlkb3ku6TooYzlhYPntKDkuIDotbfkvb/nlKgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAi5Yid5aeL5YyWIGxpYm1vdW50IOe8k+WtmOWksei0pSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjb2x1bW4gaXMgcmVxdWVzdGVkLCBidXQgLS1wb2xsIGlzIG5vdCBlbmFibGVkIgorbXNnc3RyICLor7fnpLrkuoYgJXMg5YiX77yM5L2G5pyq5ZCv55SoIC0tcG9sbCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExNgorbXNnaWQgInRhcmdldCBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIuS4jeatouS4gOasoeaMh+WumuebruaghyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjExOAorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBvcmRlcjogJXMgc3BlY2lmaWVkIGJlZm9yZSAlcyIKK21zZ3N0ciAi6aG65bqP6ZSZ6K+v77yaJXMg5ZyoICVzIOS5i+WJjeaMh+WumiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjEzMgorbXNnaWQgInVuZGVmaW5lZCB0YXJnZXQgKGZzX2ZpbGUpIgorbXNnc3RyICLmnKrlrprkuYnnm67moIcgKGZzX2ZpbGUpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAi55uu5qCH6Lev5b6E5LiN6KeE6IyDKOWunuS4uu+8miVzKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSBvbiBib290IHJlcXVpcmVkIHRhcmdldDogJW0iCittc2dzdHIgIuWQr+WKqOaJgOmcgOebruagh+aXoOazleiuv+mXru+8miVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHRhcmdldDogJW0iCittc2dzdHIgIuS4jeWPr+WPiueahOebruaghzogJW0iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKK21zZ2lkICJ0YXJnZXQgaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICLnm67moIfkuI3mmK/kuIDkuKrnm67lvZUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICLnm67moIflrZjlnKgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICLlkK/liqjmiYDpnIDnmoTmupDml6Dms5Xorr/pl67vvJolcz0lcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE2NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZTogJXM9JXMiCittc2dzdHIgIuS4jeWPr+WPijogJXM9JXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM9JXMgdHJhbnNsYXRlZCB0byAlcyIKK21zZ3N0ciAiJXM9JXMg6L2s5o2i5Li6ICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIua6kOacquWumuS5iShmc19zcGVjKSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBzb3VyY2UgdGFnOiAlcyIKK21zZ3N0ciAi5LiN5Y+X5pSv5oyB55qE5rqQ5qCH6K6w77iwICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICLkuI3mo4Dmn6UgJXMg5rqQKHBzZXVkby9uZXQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA4CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICLml6Dms5Xorr/pl67mupDvuLAgJXM6ICVtIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIumdnue7keWumuaMgui9vea6kCAlcyDmmK/kuIDkuKrnm67lvZXmiJbluLjop4Tmlofku7YiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAi5rqQICVzIOS4jeaYr+S4gOS4quWdl+iuvuWkhyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJzb3VyY2UgJXMgZXhpc3RzIgorbXNnc3RyICLmupAgJXMg5bey5a2Y5ZyoIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjI5CisjLCBjLWZvcm1hdAorbXNnaWQgIlZGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiVkZTIOmAiemhue+4sCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICJGUyBvcHRpb25zOiAlcyIKK21zZ3N0ciAiRlMg6YCJ6aG577iwICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjM3CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZXJzcGFjZSBvcHRpb25zOiAlcyIKK21zZ3N0ciAi55So5oi356m66Ze06YCJ6aG577iwICVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHN3YXBhcmVhIGRpc2NhcmQgcG9saWN5OiAlcyIKK21zZ3N0ciAi5LiN5pSv5oyB55qEIHN3YXBhcmVhIOaUvuW8g+etlueVpe+4sCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzd2FwYXJlYSBwcmlvcml0eSBvcHRpb24iCittc2dzdHIgIuino+aekCBzd2FwYXJlYSDkvJjlhYjnuqfpgInpobnlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzozOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiZG8gbm90IGNoZWNrICVzIEZTIHR5cGUgKHBzZXVkby9uZXQpIgorbXNnc3RyICLkuI3mo4Dmn6UgJXMg5paH5Lu257O757uf57G75Z6LIChwc2V1ZG8vbmV0KSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiXCJub25lXCIg6L+Z56eN5paH5Lu257O757uf57G75Z6L5Y+q5bu66K6u55So5LqO57uR5a6a5oiW56e75Yqo5pON5L2cIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIuW9k+WJjeWGheaguOS8vOS5juS4jeaUr+aMgSAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCittc2dpZCAiY2Fubm90IGRldGVjdCBvbi1kaXNrIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAi5peg5rOV5qOA5rWL56OB55uY5LiKKG9uLWRpc2sp55qE5paH5Lu257O757uf57G75Z6LIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiJXMg5LiO56OB55uY5LiK55qEICVzIOS4jeWMuemFjSIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib24tZGlzayAlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIuW9k+WJjeWGheaguOS8vOS5juS4jeaUr+aMgeejgeebmOS4iueahCAlcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQzMgorIywgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICLmlofku7bns7vnu5/nsbvlnovmmK8gJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVjb21tZW5kZWQgcm9vdCBGUyBwYXNzbm8gaXMgMSAoY3VycmVudCBpcyAlZCkiCittc2dzdHIgIiDmoLnmlofku7bns7vnu5/nmoQgcGFzc25vIOaOqOiNkOWAvOS4uiAxICjlvZPliY3mmK8gJWQpIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTExCisjLCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIiVkIOS4quino+aekOmUmeivryIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjUxMgorIywgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAi77yMJWQg5Liq6ZSZ6K+vIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAi77yMJWQg5Liq6K2m5ZGKIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICLmiJDlip/vvIzmnKrmo4DmtYvliLDplJnor6/miJborablkYpcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMDIKK21zZ2lkICJlbXB0eSBsb25nIG9wdGlvbiBhZnRlciAtbCBvciAtLWxvbmcgYXJndW1lbnQiCittc2dzdHIgIi1sIOaIliAtLWxvbmcg5Y+C5pWw5ZCO55qE6ZW/6YCJ6aG55Li656m6IgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMyMworbXNnaWQgInVua25vd24gc2hlbGwgYWZ0ZXIgLXMgb3IgLS1zaGVsbCBhcmd1bWVudCIKK21zZ3N0ciAiLXMg5oiWIC0tc2hlbGwg5Y+C5pWw5ZCO5piv5pyq55+l55qEIHNoZWxsIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjMzMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLV0gPG9wdHN0cmluZz4gPHBhcmFtZXRlcnM+XG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyA8b3B0c3RyaW5nPiBbb3B0aW9uc10gWy0tXSA8cGFyYW1ldGVycz5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIOmAiemhueWtl+espuS4siDlj4LmlbBcbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSDpgInpobnlrZfnrKbkuLIg5Y+C5pWwXG4iCisiICUxJHMgW29wdGlvbnNdIC1vfC0tb3B0aW9ucyDpgInpobnlrZfnrKbkuLIgW+mAiemhuV0gWy0tXSDlj4LmlbBcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKK21zZ2lkICJQYXJzZSBjb21tYW5kIG9wdGlvbnMuXG4iCittc2dzdHIgIuino+aekOWRveS7pOmAiemhueOAgiBcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzkKK21zZ2lkICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICAgYWxsb3cgbG9uZyBvcHRpb25zIHN0YXJ0aW5nIHdpdGggc2luZ2xlIC1cbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICAgICAgIOWFgeiuuOmVv+mAiemhueS7peWNleS4qiAtIOW8gOWktFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MAorbXNnaWQgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+ICB0aGUgbG9uZyBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4gIOimgeivhuWIq+eahOmVv+mAiemhuVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorbXNnaWQgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICB0aGUgbmFtZSB1bmRlciB3aGljaCBlcnJvcnMgYXJlIHJlcG9ydGVkXG4iCittc2dzdHIgIiAtbiwgLS1uYW1lIDxwcm9nbmFtZT4gICAgICAgICDopoHmiqXlkYrlhbbplJnor6/nmoTnqIvluo/lkI3np7BcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKK21zZ2lkICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAgdGhlIHNob3J0IG9wdGlvbnMgdG8gYmUgcmVjb2duaXplZFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICAg6KaB6K+G5Yir55qE55+t6YCJ6aG55ZCN56ewXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGRpc2FibGUgZXJyb3IgcmVwb3J0aW5nIGJ5IGdldG9wdCgzKVxuIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICAgICAg56aB5q2iIGdldG9wdCgzKSDnmoTplJnor6/miqXlkYpcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKK21zZ2lkICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAgbm8gbm9ybWFsIG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICAg5peg5bi46KeE6L6T5Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1Cittc2dpZCAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIHNldCBxdW90aW5nIGNvbnZlbnRpb25zIHRvIHRob3NlIG9mIDxzaGVsbD5cbiIKK21zZ3N0ciAiIC1zLCAtLXNoZWxsIDxzaGVsbD4gICAgICAgICAgIOiuvue9riA8c2hlbGw+IOeahOW8leeUqOS5oOaDr1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorbXNnaWQgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgICB0ZXN0IGZvciBnZXRvcHQoMSkgdmVyc2lvblxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICBnZXRvcHQoMSkg54mI5pys5rWL6K+VXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3Cittc2dpZCAiIC11LCAtLXVucXVvdGVkICAgICAgICAgICAgICAgIGRvIG5vdCBxdW90ZSB0aGUgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICDkuI3lvJXnlKjovpPlh7pcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAi57y65bCRIG9wdHN0cmluZyDlj4LmlbAiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6NDUxCittc2dpZCAiaW50ZXJuYWwgZXJyb3IsIGNvbnRhY3QgdGhlIGF1dGhvci4iCittc2dzdHIgIuWGhemDqOmUmeivr++8jOivt+iBlOezu+S9nOiAheOAgiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsICVzOyB2YWxpZCBzaWduYWxzOiIKK21zZ3N0ciAi5pyq55+l5L+h5Y+3ICVz77yb5pyJ5pWI5L+h5Y+35Li677yaIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDxwaWQ+fDzlkI3np7A+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxNzkKK21zZ2lkICJGb3JjaWJseSB0ZXJtaW5hdGUgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLlvLrliLbnu5PmnZ/mn5DkuKrov5vnqIvjgIJcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTgyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIOS4jemZkOS6juWPquWvueWSjOW9k+WJjei/m+eoi+eahCB1aWQg55u45ZCM55qE6L+b56iL6L+b6KGMXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDlkI3np7AtcGlkIOi9rOaNolxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODQKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiAtcywgLS1zaWduYWwgPOS/oeWPtz4gICAg5Y+R6YCB5oyH5a6a55qEPOS/oeWPtz7ogIzpnZ4gU0lHVEVSTVxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODYKK21zZ2lkICIgLXEsIC0tcXVldWUgPHZhbHVlPiAgICB1c2Ugc2lncXVldWUoMiksIG5vdCBraWxsKDIpLCBhbmQgcGFzcyA8dmFsdWU+IGFzIGRhdGFcbiIKK21zZ3N0ciAiIC1xLCAtLXF1ZXVlIDzlgLw+ICAgICAgIOS9v+eUqCBzaWdxdWV1ZSgyKSDku6Pmm78ga2lsbCgyKe+8jOW5tuS8oOmAkjzlgLw+5pWw5o2uXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICAgIHByaW50IHBpZHMgd2l0aG91dCBzaWduYWxpbmcgdGhlbVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAgICDmiZPljbAgcGlkIOiAjOS4jeWQkeWug+S7rOWPkemAgeS/oeWPt1xuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODkKK21zZ2lkICIgLWwsIC0tbGlzdFs9PHNpZ25hbD5dICBsaXN0IHNpZ25hbCBuYW1lcywgb3IgY29udmVydCBhIHNpZ25hbCBudW1iZXIgdG8gYSBuYW1lXG4iCittc2dzdHIgIiAtbCwgLS1saXN0IFs9POS/oeWPtz5dICAg5YiX5Ye65L+h5Y+35ZCN77yM5oiW5bCG5LiA5Liq5L+h5Y+35pWw5YC86L2s5o2i5Li65ZCN56ewXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MAorbXNnaWQgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIGxpc3Qgc2lnbmFsIG5hbWVzIGFuZCBudW1iZXJzXG4iCittc2dzdHIgIiAtTCwgLS10YWJsZSAgICAgICAgICAgIOWIl+WHuuS/oeWPt+WQjeWSjOaVsOWAvFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTEKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICDmiZPljbDlsIbmlLbliLDkv6Hlj7fnmoQgcGlkXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWw6ICVzIgorbXNnc3RyICLmnKrnn6Xkv6Hlj7fvvJolcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjYwIG1pc2MtdXRpbHMva2lsbC5jOjI2MyBtaXNjLXV0aWxzL2tpbGwuYzoyNzIKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NCBtaXNjLXV0aWxzL2tpbGwuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVzIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIiVzIOWSjCAlcyDnm7jkupLmjpLmlqUiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKK21zZ2lkICJhcmd1bWVudCBlcnJvciIKK21zZ3N0ciAi5Y+C5pWw5Ye66ZSZIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzaWduYWwgbmFtZSBvciBudW1iZXI6ICVzIgorbXNnc3RyICLml6DmlYjnmoTkv6Hlj7flkI3miJbmlbDlrZfvvJolcyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzIxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICLlsIbkv6Hlj7cgJWQg5Y+R6YCB57uZIHBpZCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VuZGluZyBzaWduYWwgdG8gJXMgZmFpbGVkIgorbXNnc3RyICLlkJEgJXMg5Y+R6YCB5L+h5Y+35aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGZpbmQgcHJvY2VzcyBcIiVzXCIiCittc2dzdHIgIuaJvuS4jeWIsOi/m+eoi+KAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjIyNQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICLmnKrnn6Xorr7mlr3lkI3np7DvvJolcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBwcmlvcml0eSBuYW1lOiAlcyIKK21zZ3N0ciAi5pyq55+l5LyY5YWI57qn5ZCN56ew77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjQzCisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW5sb2cgJXM6IHBhdGhuYW1lIHRvbyBsb25nIgorbXNnc3RyICJvcGVubG9nICVz77ya6Lev5b6E5ZCN6L+H6ZW/IgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI3MAorIywgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIuWll+aOpeWtlyAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlc29sdmUgbmFtZSAlcyBwb3J0ICVzOiAlcyIKK21zZ3N0ciAi6Kej5p6Q5ZCN56ewICVzIOerr+WPoyAlcyDlpLHotKXvvJolcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAi6L+e5o6lICVzIOerr+WPoyAlcyDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAi6LaF6L+H5LqG5pyA5aSn6L6T5YWl6KGM5pWwKCVkKSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1MDUKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICLlj5HpgIHmtojmga/lpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIue7k+aehOWMluaVsOaNrueahCBJRCDigJwlc+KAnSDkuI3llK/kuIAiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tc2QtaWQgd2FzIG5vdCBzcGVjaWZpZWQgZm9yIC0tc2QtcGFyYW0gJXMiCittc2dzdHIgIuayoeacieS4uiAtLXNkLXBhcmFtICVzIOaMh+WumiAtLXNkLWlkIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2OAorbXNnaWQgImxvY2FsdGltZSgpIGZhaWxlZCIKK21zZ3N0ciAibG9jYWx0aW1lKCkg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc3OAorIywgYy1mb3JtYXQKK21zZ2lkICJob3N0bmFtZSAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICLkuLvmnLrlkI3igJwnJXPigJ3lpKrplb8iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInRhZyAnJXMnIGlzIHRvbyBsb25nIgorbXNnc3RyICLmoIfnrb7igJwlc+KAneWkqumVvyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiaWdub3JpbmcgdW5rbm93biBvcHRpb24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICLlsIblv73nlaXmnKrnn6XnmoTpgInpobnlj4LmlbDvvJolcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXM6IHVzaW5nIGF1dG9tYXRpYyBlcnJvcnMiCittc2dzdHIgIuaXoOaViOWPguaVsO+4sCAlc++4sCDlsIbkvb/nlKjoh6rliqjplJnor68iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbPOa2iOaBrz5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworbXNnaWQgIkVudGVyIG1lc3NhZ2VzIGludG8gdGhlIHN5c3RlbSBsb2cuXG4iCittc2dzdHIgIuWwhua2iOaBr+i+k+WFpeezu+e7n+aXpeW/l+OAglxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzYKK21zZ2lkICIgLWkgICAgICAgICAgICAgICAgICAgICAgIGxvZyB0aGUgbG9nZ2VyIGNvbW1hbmQncyBQSURcbiIKK21zZ3N0ciAiIC1pICAgICAgICAgICAgICAgICAgICAgICDorrDlvZXml6Xlv5fnqIvluo/nmoQgUElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzNworbXNnaWQgIiAgICAgLS1pZFs9PGlkPl0gICAgICAgICAgbG9nIHRoZSBnaXZlbiA8aWQ+LCBvciBvdGhlcndpc2UgdGhlIFBJRFxuIgorbXNnc3RyICIgICAgIC0taWRbPTxpZD5dICAgICAgICAgIOiusOW9leaMh+WumueahCA8aWQ+77yM5ZCm5YiZ6K6w5b2VIFBJRFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzgKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgICAgIGxvZyB0aGUgY29udGVudHMgb2YgdGhpcyBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1maWxlIDzmlofku7Y+ICAgICAgIOiusOW9leaMh+WumuaWh+S7tueahOWGheWuuVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzkKK21zZ2lkICIgLWUsIC0tc2tpcC1lbXB0eSAgICAgICAgIGRvIG5vdCBsb2cgZW1wdHkgbGluZXMgd2hlbiBwcm9jZXNzaW5nIGZpbGVzXG4iCittc2dzdHIgIiAtZSwgLS1za2lwLWVtcHR5ICAgICAgICAg5aSE55CG5paH5Lu25pe25LiN6K6w5b2V56m66KGMXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MAorbXNnaWQgIiAgICAgLS1uby1hY3QgICAgICAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIHdyaXRlIHRoZSBsb2dcbiIKK21zZ3N0ciAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICDmk43kvZzkvYbkuI3lrp7pmYXlhpnlhaXml6Xlv5dcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQxCittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCittc2dzdHIgIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAg5bCG5oyH5a6a5raI5oGv5qCH6K6w5Li65q2k5LyY5YWI57qnXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MgorbXNnaWQgIiAgICAgLS1vY3RldC1jb3VudCAgICAgICAgdXNlIHJmYzY1ODcgb2N0ZXQgY291bnRpbmdcbiIKK21zZ3N0ciAiICAgICAtLW9jdGV0LWNvdW50ICAgICAgICDkvb/nlKggcmZjNjU4NyDlhavkvY3lhYPnu4Qob2N0ZXQpIOiuoeaVsFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDMKK21zZ2lkICIgICAgIC0tcHJpby1wcmVmaXggICAgICAgIGxvb2sgZm9yIGEgcHJlZml4IG9uIGV2ZXJ5IGxpbmUgcmVhZCBmcm9tIHN0ZGluXG4iCittc2dzdHIgIiAgICAgLS1wcmlvLXByZWZpeCAgICAgICAg5LuOIHN0ZGluIOi+k+WFpeeahOavj+S4gOihjOafpeaJvuWJjee8gFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDQKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zLCAtLXN0ZGVyciAgICAgICAgICAgICDkuZ/lkJHmoIflh4bplJnor6/ovpPlh7rmtojmga9cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1Cittc2dpZCAiIC1TLCAtLXNpemUgPHNpemU+ICAgICAgICBtYXhpbXVtIHNpemUgZm9yIGEgc2luZ2xlIG1lc3NhZ2VcbiIKK21zZ3N0ciAiIC1TLCAtLXNpemUgPOWkp+Wwjz4gICAgICAgIOWNleadoea2iOaBr+eahOacgOWkp+WwuuWvuFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDYKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiAtdCwgLS10YWcgPHRhZz4gICAgICAgICAg5ZCR5q+P5LiA6KGM5re75Yqg5oyH5a6a5qCH6K6wXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NworbXNnaWQgIiAtbiwgLS1zZXJ2ZXIgPG5hbWU+ICAgICAgd3JpdGUgdG8gdGhpcyByZW1vdGUgc3lzbG9nIHNlcnZlclxuIgorbXNnc3RyICIgLW4sIC0tc2VydmVyIDzlkI3np7A+ICAgICAg5YaZ5YWl5oyH5a6a55qE6L+c56iLIHN5c2xvZyDmnI3liqHlmahcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ4Cittc2dpZCAiIC1QLCAtLXBvcnQgPHBvcnQ+ICAgICAgICB1c2UgdGhpcyBwb3J0IGZvciBVRFAgb3IgVENQIGNvbm5lY3Rpb25cbiIKK21zZ3N0ciAiIC1QLCAtLXBvcnQgPOerr+WPoz4gICAgICAgIOS9v+eUqOaMh+Wumuerr+WPo+i/m+ihjCBVRFAg5oiWIFRDUCDov57mjqVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5Cittc2dpZCAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICB1c2UgVENQIG9ubHlcbiIKK21zZ3N0ciAiIC1ULCAtLXRjcCAgICAgICAgICAgICAgICDlj6rnlKggVENQXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MAorbXNnaWQgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCittc2dzdHIgIiAtZCwgLS11ZHAgICAgICAgICAgICAgICAg5Y+q55SoIFVEUFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTEKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIOS9v+eUqOi/h+aXtueahCBCU0Qgc3lzbG9nIOWNj+iurlxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTIKK21zZ2lkICIiCisiICAgICAtLXJmYzU0MjRbPTxzbmlwPl0gICB1c2UgdGhlIHN5c2xvZyBwcm90b2NvbCAodGhlIGRlZmF1bHQgZm9yIHJlbW90ZSk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiBjYW4gYmUgbm90aW1lLCBvciBub3RxLCBhbmQvb3Igbm9ob3N0XG4iCittc2dzdHIgIiIKKyIgICAgIC0tcmZjNTQyNFs9PHNuaXA+XSAgIOS9v+eUqCBzeXNsb2cg5Y2P6K6uKOi/nOeoi+aXtum7mOiupCk7XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzbmlwPiDlj6/ku6XmmK8gbm90aW1lLCDmiJYgbm90cSwg5ZKML+aIliBub2hvc3RcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU0Cittc2dpZCAiICAgICAtLXNkLWlkIDxpZD4gICAgICAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBJRFxuIgorbXNnc3RyICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQg57uT5p6E5YyW5pWw5o2uIElEXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NQorbXNnaWQgIiAgICAgLS1zZC1wYXJhbSA8ZGF0YT4gICAgcmZjNTQyNCBzdHJ1Y3R1cmVkIGRhdGEgbmFtZT12YWx1ZVxuIgorbXNnc3RyICIgICAgIC0tc2QtcGFyYW0gPOaVsOaNrj4gICAgcmZjNTQyNCDnu5PmnoTljJbmlbDmja7lkI3np7A95YC8XG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NgorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgICAgIC0tbXNnaWQgPG1zZ2lkPiAgICAgIOiuvue9riByZmM1NDI0IOa2iOaBryBpZCDlrZfmrrVcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU3Cittc2dpZCAiIC11LCAtLXNvY2tldCA8c29ja2V0PiAgICB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCittc2dzdHIgIiAtdSwgLS1zb2NrZXQgPOWll+aOpeWtlz4gICAg5YaZ5YWl5q2kIFVuaXgg5aWX5o6l5a2XXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIOS9v+eUqCBVbml4IOWll+aOpeWtl+aXtuaJk+WNsOi/nuaOpemUmeivr1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNjEKK21zZ2lkICIgICAgIC0tam91cm5hbGRbPTxmaWxlPl0gIHdyaXRlIGpvdXJuYWxkIGVudHJ5XG4iCittc2dzdHIgIiAgICAgLS1qb3VybmFsZFs9POaWh+S7tj5dICDlhpkgam91cm5hbGQg6K6w5b2VXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgYy1mb3JtYXQKK21zZ2lkICJmaWxlICVzIgorbXNnc3RyICLmlofku7YgJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE2MgorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBpZCIKK21zZ3N0ciAi6Kej5p6QIGlkIOWksei0pSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1lc3NhZ2Ugc2l6ZSIKK21zZ3N0ciAi6Kej5p6Q5raI5oGv5aSn5bCP5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMTUKK21zZ2lkICItLW1zZ2lkIGNhbm5vdCBjb250YWluIHNwYWNlIgorbXNnc3RyICItLW1zZ2lkIOS4jeiDveWMheWQq+epuuagvCIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjM3CisjLCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICLml6DmlYjnmoTnu5PmnoTljJbmlbDmja4gSUQ6IOKAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBzdHJ1Y3R1cmVkIGRhdGEgcGFyYW1ldGVyOiAnJXMnIgorbXNnc3RyICLml6DmlYjnmoTnu5PmnoTljJbmlbDmja7lj4LmlbA6IOKAnCVz4oCdIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTIKK21zZ2lkICItLWZpbGUgPGZpbGU+IGFuZCA8bWVzc2FnZT4gYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgbWVzc2FnZSBpcyBpZ25vcmVkIgorbXNnc3RyICItLWZpbGUgPOaWh+S7tj4g5ZKMIDzmtojmga8+IOS6kuaWpe+8jOa2iOaBr+W3suW/veeVpSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIuaXoOazleWGmeWFpSBqb3VybmFsZCDpobkiCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA85a2X56ym5LiyPiBbPOaWh+S7tj4uLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2MworbXNnaWQgIkRpc3BsYXkgbGluZXMgYmVnaW5uaW5nIHdpdGggYSBzcGVjaWZpZWQgc3RyaW5nLlxuIgorbXNnc3RyICLmmL7npLrku6XmjIflrprlrZfnrKbkuLLlvIDlpLTnmoTooYzjgIJcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2Cittc2dpZCAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICB1c2UgdGhlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgICDkvb/nlKjmm7/ku6PlrZflhbhcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY3Cittc2dpZCAiIC1kLCAtLWFscGhhbnVtICAgICAgICAgICBjb21wYXJlIG9ubHkgYmxhbmtzIGFuZCBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorbXNnc3RyICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIOWPquavlOi+g+epuueZveWSjOWtl+avjeaVsOWtl+Wtl+esplxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKK21zZ2lkICIgLWYsIC0taWdub3JlLWNhc2UgICAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCittc2dzdHIgIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgICAg5q+U6L6D5pe25b+955Wl5aSn5bCP5YaZXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2OQorbXNnaWQgIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+ICAgZGVmaW5lIHRoZSBzdHJpbmctdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCittc2dzdHIgIiAtdCwgLS10ZXJtaW5hdGUgPOWtl+espj4gICDlrprkuYnlrZfnrKbkuLLnu4jmraLlrZfnrKZcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MgorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICLorr7lpIflkI0iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKK21zZ2lkICJpbnRlcm5hbCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIuWGhemDqOWGheaguOiuvuWkh+WQjeensCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NAorbXNnaWQgImludGVybmFsIHBhcmVudCBrZXJuZWwgZGV2aWNlIG5hbWUiCittc2dzdHIgIuWGhemDqOS4iue6p+WGheaguOiuvuWkh+WQjeensCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NyBzeXMtdXRpbHMvenJhbWN0bC5jOjg2Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICLorr7lpIfmjILovb3kvY3nva4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKK21zZ2lkICJmaWxlc3lzdGVtIExBQkVMIgorbXNnc3RyICLmlofku7bns7vnu5/moIfnrb4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzEKK21zZ2lkICJwYXJ0aXRpb24gdHlwZSBVVUlEIgorbXNnc3RyICLliIbljLrnsbvlnosgVVVJRCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3MgorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAi5YiG5Yy6IExBQkVMIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2Cittc2dpZCAicmVhZC1haGVhZCBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLor6Xorr7lpIfnmoTpooTor7socmVhZC1haGVhZCkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNzcgc3lzLXV0aWxzL2xvc2V0dXAuYzo3NworbXNnaWQgInJlYWQtb25seSBkZXZpY2UiCittc2dzdHIgIuWPquivu+iuvuWkhyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OAorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIuWPr+enu+WKqOiuvuWkhyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgIuWPr+enu+WKqOaIlueDreaPkuaLlOiuvuWkhyh1c2IsIHBjbWNpYSwgLi4uKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorbXNnaWQgInJvdGF0aW9uYWwgZGV2aWNlIgorbXNnc3RyICLovazliqjorr7lpIciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgIua3u+WKoOmaj+acuuaApyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIgorbXNnc3RyICLorr7lpIfmoIfor4bnrKYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODMKK21zZ2lkICJkaXNrIHNlcmlhbCBudW1iZXIiCittc2dzdHIgIuejgeebmOW6j+WIl+WPtyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4NAorbXNnaWQgInNpemUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi56OB55uY5a656YePIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg1Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi6K6+5aSH55qE54q25oCBIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3Cittc2dpZCAiZ3JvdXAgbmFtZSIKK21zZ3N0ciAi57uE5ZCNIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg4Cittc2dpZCAiZGV2aWNlIG5vZGUgcGVybWlzc2lvbnMiCittc2dzdHIgIuiuvuWkh+iKgueCueadg+mZkCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIuWvuem9kOWBj+enu+mHjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorbXNnaWQgIm1pbmltdW0gSS9PIHNpemUiCittc2dzdHIgIuacgOWwjyBJL08g5aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkxCittc2dpZCAib3B0aW1hbCBJL08gc2l6ZSIKK21zZ3N0ciAi5pyA5LyYIEkvTyDlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTIKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi54mp55CG5omH5Yy65aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCittc2dpZCAibG9naWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi6YC76L6R5omH5Yy65aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk0Cittc2dpZCAiSS9PIHNjaGVkdWxlciBuYW1lIgorbXNnc3RyICJJL08g6LCD5bqm5Zmo5ZCN56ewIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk1Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICLor7fmsYLpmJ/liJflpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKK21zZ2lkICJkZXZpY2UgdHlwZSIKK21zZ3N0ciAi6K6+5aSH57G75Z6LIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTk3Cittc2dpZCAiZGlzY2FyZCBhbGlnbm1lbnQgb2Zmc2V0IgorbXNnc3RyICLlv73nlaXlr7npvZDlgY/np7vph48iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTgKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICLlv73nlaXnspLluqYiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKK21zZ2lkICJkaXNjYXJkIG1heCBieXRlcyIKK21zZ3N0ciAi5b+955Wl5pyA5aSn5a2X6IqC5pWwIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAwCittc2dpZCAiZGlzY2FyZCB6ZXJvZXMgZGF0YSIKK21zZ3N0ciAi5b+955Wl6Zu25pWw5o2uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjAxCittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIuWGmeebuOWQjOeahOacgOWkp+Wtl+iKguaVsCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorbXNnaWQgInVuaXF1ZSBzdG9yYWdlIGlkZW50aWZpZXIiCittc2dzdHIgIuaDn+S4gOWtmOWCqOagh+ivhuespiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMworbXNnaWQgIkhvc3Q6Q2hhbm5lbDpUYXJnZXQ6THVuIGZvciBTQ1NJIgorbXNnc3RyICJTQ1NJIOeahCBIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNAorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAi6K6+5aSH5Lyg6L6T57G75Z6LIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICLlr7nmiJDpk77nmoTlrZDns7vnu5/ljrvph40iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDYKK21zZ2lkICJkZXZpY2UgcmV2aXNpb24iCittc2dzdHIgIuiuvuWkh+S/ruiuoueJiOacrCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwNworbXNnaWQgImRldmljZSB2ZW5kb3IiCittc2dzdHIgIuiuvuWkh+WItumAoOWVhiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwOAorbXNnaWQgInpvbmUgbW9kZWwiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjEyOTIKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICLmiZPlvIAgc3lzZnMg5Lit55qE6K6+5aSH55uu5b2V5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNvbXBvc2Ugc3lzZnMgcGF0aCIKK21zZ3N0ciAiJXPvvJrnu4TmiJAgc3lzZnMg6Lev5b6E5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgbGluayIKK21zZ3N0ciAiJXPvvJror7vpk77mjqXlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHN5c2ZzIG5hbWUiCittc2dzdHIgIiVz77ya6I635Y+WIHN5c2ZzIOWQjeensOWksei0pSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlc++8muiOt+WPliDmlbTnm5gg6K6+5aSH5Y+35aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2NyBtaXNjLXV0aWxzL2xzYmxrLmM6MTU2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTU5NAorIzogbWlzYy11dGlscy9sc2Jsay5jOjE1OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxpc3QgJyVzJyIKK21zZ3N0ciAi6Kej5p6Q5YiX6KGo4oCcJXPigJ3lpLHotKUiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBsaXN0IG9mIGV4Y2x1ZGVkIGRldmljZXMgaXMgdG9vIGxhcmdlIChsaW1pdCBpcyAlZCBkZXZpY2VzKSIKK21zZ3N0ciAi5o6S6Zmk6K6+5aSH5YiX6KGo6L+H5aSnKOmZkOWItuS4uiAlZCDlj7Dorr7lpIcpIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGZvciAlZCBpcyAyNTYuCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIuWMheWQq+iuvuWkh+WIl+ihqOi/h+WkpyjpmZDliLbkuLogJWQg5Y+w6K6+5aSHKSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzMgc3lzLXV0aWxzL3dkY3RsLmM6MTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFs86K6+5aSHPiAuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjM2Cittc2dpZCAiTGlzdCBpbmZvcm1hdGlvbiBhYm91dCBibG9jayBkZXZpY2VzLlxuIgorbXNnc3RyICLliJflh7rlnZforr7lpIfnmoTkv6Hmga/jgIJcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2MzkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOaJk+WNsOaJgOacieiuvuWkh1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorbXNnaWQgIiAtZCwgLS1ub2RlcHMgICAgICAgICBkb24ndCBwcmludCBzbGF2ZXMgb3IgaG9sZGVyc1xuIgorbXNnc3RyICIgLWQsIC0tbm9kZXBzICAgICAgICAg5LiN5omT5Y2w5LuO5bGe6K6+5aSHKHNsYXZlKeaIluWNoOS9jeiuvuWkhyhob2xkZXIpXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQyCittc2dpZCAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtRCwgLS1kaXNjYXJkICAgICAgICDmiZPljbDml7bkuKLlvIPog73liptcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDMKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXpvbmVkICAgICAgICAgIHByaW50IHpvbmUgbW9kZWxcbiIKK21zZ3N0ciAiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIOWPquaJk+WNsOemu+e6vyBDUFVcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIgLWUsIC0tZXhjbHVkZSA85YiX6KGoPiDmoLnmja7kuLvorr7lpIflj7fmjpLpmaTorr7lpIco6buY6K6k77ya5YaF5a2Y55uYKVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWYsIC0tZnMgICAgICAgICAgICAg6L6T5Ye65paH5Lu257O757uf5L+h5oGvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ2Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC1pLCAtLWFzY2lpICAgICAgICAgIOWPquS9v+eUqCBhc2NpaSDlrZfnrKZcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDcKK21zZ2lkICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorbXNnc3RyICIgLUksIC0taW5jbHVkZSA85YiX6KGoPiDlj6rmmL7npLrmnInmjIflrprkuLvorr7lpIflj7fnmoTorr7lpIdcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgIOS9v+eUqCBKU09OIOi+k+WHuuagvOW8j1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICDkvb/nlKjliJfooajmoLzlvI/nmoTovpPlh7pcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3QgICAgICAgICAgIOS9v+eUqOWIl+ihqOagvOW8j+eahOi+k+WHulxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1MQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLW0sIC0tcGVybXMgICAgICAgICAg6L6T5Ye65p2D6ZmQ5L+h5oGvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUyIHN5cy11dGlscy9sc21lbS5jOjUwNgorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAg5LiN5omT5Y2w5qCH6aKYXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUzIHN5cy11dGlscy9sc21lbS5jOjUwNworbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzliJfooag+ICDovpPlh7rliJdcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKK21zZ2lkICIgLU8sIC0tb3V0cHV0LWFsbCAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQtYWxsICAgICDovpPlh7rmiYDmnInliJdcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKK21zZ2lkICIgLXAsIC0tcGF0aHMgICAgICAgICAgcHJpbnQgY29tcGxldGUgZGV2aWNlIHBhdGhcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdGhzICAgICAgICAgIOaJk+WNsOWujOaVtOiuvuWkh+i3r+W+hFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorbXNnaWQgIiAtcywgLS1pbnZlcnNlICAgICAgICBpbnZlcnNlIGRlcGVuZGVuY2llc1xuIgorbXNnc3RyICIgLXMsIC0taW52ZXJzZSAgICAgICAg5Y+N5ZCR5L6d6LWWXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5Cittc2dpZCAiIC1TLCAtLXNjc2kgICAgICAgICAgIG91dHB1dCBpbmZvIGFib3V0IFNDU0kgZGV2aWNlc1xuIgorbXNnc3RyICIgLVMsIC0tc2NzaSAgICAgICAgICAg6L6T5Ye65pyJ5YWzIFNDU0kg6K6+5aSH55qE5L+h5oGvXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjYwCittc2dpZCAiIC10LCAtLXRvcG9sb2d5ICAgICAgIG91dHB1dCBpbmZvIGFib3V0IHRvcG9sb2d5XG4iCittc2dzdHIgIiAtdCwgLS10b3BvbG9neSAgICAgICDovpPlh7rmi5PmiZHkv6Hmga9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjEKK21zZ2lkICIgLXgsIC0tc29ydCA8Y29sdW1uPiAgc29ydCBvdXRwdXQgYnkgPGNvbHVtbj5cbiIKK21zZ3N0ciAiIC14LCAtLXNvcnQgPOWIlz4gICAgICDmjIk85YiXPuWvuei+k+WHuuaOkuW6j1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3OAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIuaXoOazleiuv+mXriBzeXNmcyDnm67lvZXvvJolcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKK21zZ2lkICJjb21tYW5kIG9mIHRoZSBwcm9jZXNzIGhvbGRpbmcgdGhlIGxvY2siCittc2dzdHIgIuaMgeaciemUgeeahOi/m+eoi+WRveS7pCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzQKK21zZ2lkICJQSUQgb2YgdGhlIHByb2Nlc3MgaG9sZGluZyB0aGUgbG9jayIKK21zZ3N0ciAi5oyB5pyJ6ZSB55qE6L+b56iLIFBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAia2luZCBvZiBsb2NrIgorbXNnc3RyICLplIHnmoTlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc2Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAi6ZSB55qE5aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworbXNnaWQgImxvY2sgYWNjZXNzIG1vZGUiCittc2dzdHIgIumUgeiuv+mXruaooeW8jyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzgKK21zZ2lkICJtYW5kYXRvcnkgc3RhdGUgb2YgdGhlIGxvY2s6IDAgKG5vbmUpLCAxIChzZXQpIgorbXNnc3RyICLplIHnmoTlvLrliLYobWFuZGF0b3J5KeeKtuaAge+8mjAo5pyq6K6+572uKe+8jDEo6K6+572uKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAi6ZSB55qE55u45a+55a2X6IqC5YGP56e76YePIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorbXNnaWQgImVuZGluZyBvZmZzZXQgb2YgdGhlIGxvY2siCittc2dzdHIgIumUgeeahOacq+WwvuWBj+enu+mHjyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6ODEKK21zZ2lkICJwYXRoIG9mIHRoZSBsb2NrZWQgZmlsZSIKK21zZ3N0ciAi6ZSB5a6a5paH5Lu255qE6Lev5b6EIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MgorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAi6Zi75aGe6ZSB55qE6L+b56iL55qEIFBJRCIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElEIgorbXNnc3RyICLop6PmnpAgSUQg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyODEgc3lzLXV0aWxzL25zZW50ZXIuYzoyNjQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcGlkIgorbXNnc3RyICLop6PmnpAgcGlkIOWksei0pSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6Mjg0Cittc2dpZCAiKHVua25vd24pIgorbXNnc3RyICIo5pyq55+lKSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjkzCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLop6PmnpAg6LW354K5IOWksei0pSIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MzAwCittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAi6Kej5p6QIOe7iOeCuSDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorbXNnaWQgIkxpc3QgbG9jYWwgc3lzdGVtIGxvY2tzLlxuIgorbXNnc3RyICLliJflh7rmnKzlnLDns7vnu5/plIHjgIJcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAyCittc2dpZCAiIC1pLCAtLW5vaW5hY2Nlc3NpYmxlICAgaWdub3JlIGxvY2tzIHdpdGhvdXQgcmVhZCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLWksIC0tbm9pbmFjY2Vzc2libGUgICDlv73nlaXmsqHmnInor7vmnYPpmZDnmoTplIFcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTAzIHN5cy11dGlscy9sc25zLmM6OTAzIHN5cy11dGlscy9yZmtpbGwuYzo1NzMKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDkuI3miZPljbDmoIfpophcbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTA0IHN5cy11dGlscy9sc25zLmM6OTA0IHN5cy11dGlscy9yZmtpbGwuYzo1NzQKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIOWumuS5ieS9v+eUqOWTquS4qui+k+WHuuWIl1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAg5Y+q5pi+56S655Sx5oyH5a6a6L+b56iL5oyB5pyJ55qE6ZSBXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwNiBzeXMtdXRpbHMvbHNucy5jOjkwNiBzeXMtdXRpbHMvcmZraWxsLmM6NTc1Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDkvb/nlKjljp/nlJ/ovpPlh7rmoLzlvI9cbiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NTYzIHNjaGVkdXRpbHMvY2hydC5jOjQ3NSBzY2hlZHV0aWxzL2lvbmljZS5jOjE3NworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTcxIHN5cy11dGlscy9sc25zLmM6OTgzIHN5cy11dGlscy9wcmxpbWl0LmM6NTg1Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCBQSUQg5Y+C5pWwIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NgorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICLkuLogeGF1dGgg55Sf5oiQIG1hZ2ljIGNvb2tpZXPjgIJcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6ODkKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgIHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgPOaWh+S7tj4gICAgIOeUqOaMh+WumuaWh+S7tuS9nOS4uiBjb29raWUg56eN5a2QXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4LXNpemUgPOaVsOWtlz4g6ZmQ5Yi25LuO56eN5a2Q5paH5Lu26K+75Y+W55qE5aSn5bCPXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgIOino+mHiuato+WcqOi/m+ihjOeahOaTjeS9nFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICV6dSBieXRlIGZyb20gJXNcbiIKK21zZ2lkX3BsdXJhbCAiR290ICV6dSBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIuS7jiAlMiRzIOiOt+W+lyAlMSR6dSDlrZfoioJcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNsb3NpbmcgJXMgZmFpbGVkIgorbXNnc3RyICLlhbPpl60gJXMg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNjQgc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNDYgc3lzLXV0aWxzL2ZzdHJpbS5jOjMxMAorIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTE3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIKK21zZ3N0ciAi6Kej5p6Q6ZW/5bqm5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxNzcKK21zZ2lkICItLW1heC1zaXplIGlnbm9yZWQgd2hlbiB1c2VkIHdpdGhvdXQgLS1maWxlIgorbXNnc3RyICLkuI3luKYgLS1maWxlIOaXtuW/veeVpSAtLW1heC1zaXplIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiR290ICVkIGJ5dGUgZnJvbSAlc1xuIgorbXNnaWRfcGx1cmFsICJHb3QgJWQgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICLku44gJTIkcyDojrflj5bliLAgJTEkZCDlrZfoioJcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHN5bWxpbms6ICVzIgorbXNnc3RyICLor7vnrKblj7fpk77mjqXlpLHotKXvvJolcyIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMgLSDml6DmraTmlofku7bmiJbnm67lvZVcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwYXRobmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDzot6/lvoTlkI0+IC4uLlxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAi5rK/6Lev5b6E5a+75om+77yM55u05Yiw5p+Q5Liq57uI5q2i54K55Li65q2i44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzozNDAKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAteCwgLS1tb3VudHBvaW50cyAgIHNob3cgbW91bnQgcG9pbnQgZGlyZWN0b3JpZXMgd2l0aCBhICdEJ1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIHNob3cgdGhlIG1vZGUgYml0cyBvZiBlYWNoIGZpbGVcbiIKKyIgLW8sIC0tb3duZXJzICAgICAgICBzaG93IG93bmVyIGFuZCBncm91cCBuYW1lIG9mIGVhY2ggZmlsZVxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIHVzZSBhIGxvbmcgbGlzdGluZyBmb3JtYXQgKC1tIC1vIC12KSBcbiIKKyIgLW4sIC0tbm9zeW1saW5rcyAgICBkb24ndCBmb2xsb3cgc3ltbGlua3NcbiIKKyIgLXYsIC0tdmVydGljYWwgICAgICB2ZXJ0aWNhbCBhbGlnbiBvZiBtb2RlcyBhbmQgb3duZXJzXG4iCittc2dzdHIgIiIKKyIgLWgsIC0taGVscCAgICAgICAgICDmmL7npLrmraTluK7liqnmloflrZdcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICDnlKjigJxE4oCd5pi+56S65oyC6L2954K555uu5b2VXG4iCisiIC1tLCAtLW1vZGVzICAgICAgICAg5pi+56S65q+P5Liq5paH5Lu255qE5qih5byP5L2NXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAg5pi+56S65q+P5Liq5paH5Lu255qE5oul5pyJ6ICF5ZKM57uE5ZCNXG4iCisiIC1sLCAtLWxvbmcgICAgICAgICAg5L2/55So6ZW/5YiX6KGo5qC85byPICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAg5LiN5pi+56S656ym5Y+36ZO+5o6lXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAg56uW55u05a+56b2QIOaooeW8jyDlkowg5oul5pyJ6ICFXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKK21zZ2lkICJwYXRobmFtZSBhcmd1bWVudCBpcyBtaXNzaW5nIgorbXNnc3RyICLnvLrlsJEg6Lev5b6E5ZCNIOWPguaVsCIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNCBzeXMtdXRpbHMvbHNucy5jOjEwNTcKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICLliIbphY0gVUlEIOe8k+WtmOWksei0pSIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjQxNworbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBHSUQgY2FjaGUiCittc2dzdHIgIuWIhumFjSBHSUQg57yT5a2Y5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXPvvJrotoXov4fkuobnrKblj7fpk77mjqXpmZDliLYiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIHN5bWJvbGljIGxpbmsiCittc2dzdHIgIiVz77ya5LiN5piv56ym5Y+36ZO+5o6lIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkbGluayBmYWlsZWQiCittc2dzdHIgIiVz77yacmVhZGxpbmsg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIlNraXBwaW5nIGV4aXN0aW5nIGxpbms6IGAlcydcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlc++8mnVubGluayDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc++8muespuWPt+mTvuaOpeWIsCAlcyDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBmaWxlOiBgJXMnXG4iCittc2dzdHIgIi4uLui3s+WIsOaWh+S7tiAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZW5hbWUgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc++8mumHjeWRveWQjeS4uiAlcyDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGV4cHJlc3Npb24+IDxyZXBsYWNlbWVudD4gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA86KGo6L6+5byPPiA85pu/5o2iPiA85paH5Lu2Pi4uLlxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorbXNnaWQgIlJlbmFtZSBmaWxlcy5cbiIKK21zZ3N0ciAi6YeN5ZG95ZCN5paH5Lu244CCXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAg6Kej6YeK5q2j5Zyo6L+b6KGM55qE5pON5L2cXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeW1saW5rICAgICAgIGFjdCBvbiB0aGUgdGFyZ2V0IG9mIHN5bWxpbmtzXG4iCittc2dzdHIgIiAtcywgLS1zeW1saW5rICAgIOWcqOespuWPt+mTvuaOpeeahOebruagh+S4iuaJp+ihjFxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAg5LiN5omT5Y2w5qCH6aKYXG4iCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTQ0Cittc2dpZCAiIC1vLCAtLW5vLW92ZXJ3cml0ZSAgZG9uJ3Qgb3ZlcndyaXRlIGV4aXN0aW5nIGZpbGVzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0Cittc2dpZCAiQSBkYWVtb24gZm9yIGdlbmVyYXRpbmcgVVVJRHMuXG4iCittc2dzdHIgIuS4gOS4queUqOS6jueUn+aIkCBVVUlEIOeahOWuiOaKpOi/m+eoi+OAglxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDzot6/lvoQ+ICAgICAgICBwaWQg5paH5Lu26Lev5b6EXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NworbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgLXMsIC0tc29ja2V0IDzot6/lvoQ+ICAgICDlpZfmjqXlrZfot6/lvoRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4Cittc2dpZCAiIC1ULCAtLXRpbWVvdXQgPHNlYz4gICAgIHNwZWNpZnkgaW5hY3Rpdml0eSB0aW1lb3V0XG4iCittc2dzdHIgIiAtVCwgLS10aW1lb3V0IDznp5I+ICAgIOaMh+WumuaXoOa0u+WKqOi2heaXtlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKK21zZ2lkICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorbXNnc3RyICIgLWssIC0ta2lsbCAgICAgICAgICAgICAg5p2A5q276L+Q6KGM5Lit55qE5a6I5oqk6L+b56iLXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MAorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgICAgICDmtYvor5Xln7rkuo7pmo/mnLrmlbDnmoTnlJ/miJDmlrnlvI9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICDmtYvor5Xln7rkuo7ml7bpl7TnmoTnlJ/miJDmlrnlvI9cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCittc2dpZCAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCittc2dzdHIgIiAtbiwgLS11dWlkcyA85pWw5YC8PiAgICAgICDor7fmsYLmjIflrprmlbDph4/nmoQgdXVpZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzMKK21zZ2lkICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAgZG8gbm90IGNyZWF0ZSBwaWQgZmlsZVxuIgorbXNnc3RyICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAg5LiN5Yib5bu6IHBpZCDmlofku7ZcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIGRvIG5vdCBkYWVtb25pemUgdXNpbmcgZG91YmxlLWZvcmtcbiIKK21zZ3N0ciAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgIOS4jeS9v+eUqOWPjCBmb3JrIOWPmOaIkOWuiOaKpOi/m+eoi1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzUKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiDkuI3liJvlu7rkvqblkKzlpZfmjqXlrZdcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2Cittc2dpZCAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIHJ1biBpbiBkZWJ1Z2dpbmcgbW9kZVxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5Lul6LCD6K+V5qih5byP6L+Q6KGMXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NworbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICB0dXJuIG9uIHF1aWV0IG1vZGVcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIOW8gOWQr+WuiemdmeaooeW8j1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTA5Cittc2dpZCAiYmFkIGFyZ3VtZW50cyIKK21zZ3N0ciAi5Y+C5pWw6ZSZ6K+vIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTE2Cittc2dpZCAic29ja2V0IgorbXNnc3RyICLlpZfmjqXlrZciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxMjcKK21zZ2lkICJjb25uZWN0IgorbXNnc3RyICLov57mjqUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoxNDcKK21zZ2lkICJ3cml0ZSIKK21zZ3N0ciAi5YaZIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTU1Cittc2dpZCAicmVhZCBjb3VudCIKK21zZ3N0ciAi6K+76K6h5pWwIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTYxCittc2dpZCAiYmFkIHJlc3BvbnNlIGxlbmd0aCIKK21zZ3N0ciAi5ZON5bqU6ZW/5bqm6ZSZ6K+vIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MjEyCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBsb2NrICVzIgorbXNnc3RyICLml6Dms5XplIHlrpogJXMiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyMzcKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICLml6Dms5XliJvlu7ogdW5peCDmtYHlpZfmjqXlrZciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzoyNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAi5peg5rOV57uR5a6aIHVuaXgg5aWX5o6l5a2XICVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mjg5Cittc2dpZCAicmVjZWl2aW5nIHNpZ25hbCBmYWlsZWQiCittc2dzdHIgIuaOpeaUtuS/oeWPt+Wksei0pSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMwMgorbXNnaWQgInRpbWVkIG91dCIKK21zZ3N0ciAi5bey6LaF5pe2IgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzM2IHN5cy11dGlscy9mbG9jay5jOjI3MgorbXNnaWQgImNhbm5vdCBzZXQgdXAgdGltZXIiCittc2dzdHIgIuaXoOazleiuvue9ruWumuaXtuWZqCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAidXVpZGQg5a6I5oqk6L+b56iL5bey6L+Q6KGM77yMcGlkIOS4uiAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBsaXN0ZW4gb24gdW5peCBzb2NrZXQgJXMiCittc2dzdHIgIuaXoOazleS+puWQrCB1bml4IOWll+aOpeWtlyAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIuaXoOazleaIquefreaWh+S7tu+8miVzIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3Cittc2dpZCAic2RfbGlzdGVuX2ZkcygpIGZhaWxlZCIKK21zZ3N0ciAic2RfbGlzdGVuX2ZkcygpIOWksei0pSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICLmsqHmnInmlLbliLDmlofku7bmj4/ov7DnrKbvvIzor7fmo4Dmn6Ugc3lzdGVtY3RsIOeKtuaAgSB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODMKK21zZ2lkICJ0b28gbWFueSBmaWxlIGRlc2NyaXB0b3JzIHJlY2VpdmVkLCBjaGVjayB1dWlkZC5zb2NrZXQiCittc2dzdHIgIuaUtuWIsOWkquWkmuaWh+S7tuaPj+i/sOespu+8jOivt+ajgOafpSB1dWlkZC5zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICLotoXml7YgWyVkIOenkl1cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4OTkgdGV4dC11dGlscy9jb2x1bW4uYzo0OTYKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NTI5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgInJlYWQg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIHJlYWRpbmcgZnJvbSBjbGllbnQsIGxlbiA9ICVkIgorbXNnc3RyICLku47lrqLmiLfnq6/or7vlj5blh7rplJnvvIzplb/luqYgPSAlZCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ0NQorIywgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gJWQsIGluY29taW5nIG51bSA9ICVkXG4iCittc2dzdHIgIuaTjeS9nCAlZO+8jOaOpeaUtuaVsCA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkXG4iCittc2dzdHIgIuaTjeS9nCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQ6ICVzXG4iCittc2dzdHIgIuW3sueUn+aIkOaXtumXtCBVVUlE77yaJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ3NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgcmFuZG9tIFVVSUQ6ICVzXG4iCittc2dzdHIgIuW3sueUn+aIkOmaj+acuiBVVUlE77yaJXNcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkIHRpbWUgVVVJRCAlcyBhbmQgJWQgZm9sbG93aW5nXG4iCittc2dzdHJbMF0gIuW3sueUn+aIkOaXtumXtCBVVUlEICVzIOWSjOWQjue7rSAlZCDkuKpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUwNAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICLlt7LnlJ/miJAgJWQg5LiqIFVVSUTvvJpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUxOAorIywgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIG9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICLml6DmlYjmk43kvZwgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAi5pyN5Yqh5ZmoICVkIOWTjeW6lOmVv+W6puW8guW4uCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjU5MQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICLop6PmnpAgLS11dWlkcyDlpLHotKUiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MDgKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCDmnoTlu7rml7bmsqHmnInmt7vliqDlpZfmjqXlrZfmv4DmtLvmlK/mjIEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10aW1lb3V0IgorbXNnc3RyICLop6PmnpAgLS10aW1lb3V0IOWksei0pSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic29ja2V0IG5hbWUgdG9vIGxvbmc6ICVzIgorbXNnc3RyICLljbflkI3ov4fplb8iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NDcKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICLlkIzml7bmjIflrprkuoYgLS1zb2NrZXQtYWN0aXZhdGlvbiDlkowgLS1zb2NrZXTjgILlsIblv73nlaUgLS1zb2NrZXQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgYy1mb3JtYXQKK21zZ2lkICJlcnJvciBjYWxsaW5nIHV1aWRkIGRhZW1vbiAoJXMpIgorbXNnc3RyICLosIPnlKggdXVpZGQg5a6I5oqk6L+b56iLKCVzKeWHuumUmSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY1NSBtaXNjLXV0aWxzL3V1aWRkLmM6NjgzCittc2dpZCAidW5leHBlY3RlZCBlcnJvciIKK21zZ3N0ciAi5oSP5aSW6ZSZ6K+vIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlZCBzdWJzZXF1ZW50IFVVSURcbiIKK21zZ2lkX3BsdXJhbCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRHNcbiIKK21zZ3N0clswXSAiJXMg5ZKMICVkIOS4quWQjue7rSBVVUlEXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGlzdCBvZiBVVUlEczpcbiIKK21zZ3N0ciAiVVVJRCDliJfooajvvJpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZG4ndCBraWxsIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkIgorbXNnc3RyICLml6Dms5Xov5DooYwgcGlkIOS4uiAlZCDnmoQgdXVpZGQiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiS2lsbGVkIHV1aWRkIHJ1bm5pbmcgYXQgcGlkICVkLlxuIgorbXNnc3RyICLlt7LmnYDmrbvov5DooYwgcGlkIOS4uiAlZCDnmoQgdXVpZGTjgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MjkKK21zZ2lkICJDcmVhdGUgYSBuZXcgVVVJRCB2YWx1ZS5cbiIKK21zZ3N0ciAi5Yib5bu65paw55qEIFVVSUQg5YC844CCXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjMyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtciwgLS1yYW5kb20gICAgICAgICAgICDmtYvor5Xln7rkuo7pmo/mnLrmlbDnmoTnlJ/miJDmlrnlvI9cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICAgICAgICDmtYvor5Xln7rkuo7ml7bpl7TnmoTnlJ/miJDmlrnlvI9cbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzQKK21zZ2lkICIgLW4sIC0tbmFtZXNwYWNlIG5zICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgaW4gdGhpcyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNQorbXNnaWQgIiAtTiwgLS1uYW1lIG5hbWUgICAgIGdlbmVyYXRlIGhhc2gtYmFzZWQgdXVpZCBmcm9tIHRoaXMgbmFtZVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM2CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tZDUgICAgICAgICAgIGdlbmVyYXRlIG1kNSBoYXNoXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICDmiZPljbDmiYDmnInorr7lpIdcbiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNoYTEgICAgICAgICAgZ2VuZXJhdGUgc2hhMSBoYXNoXG4iCittc2dzdHIgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAg6I635Y+W5YWx5Lqr6ZSBXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM4CisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1oZXggICAgICAgICAgIGludGVycHJldCBuYW1lIGFzIGhleCBzdHJpbmdcbiIKK21zZ3N0ciAiIC1pLCAtLWludmVydCAgICAgICAgICAg5Y+N6L2s5pCc57Si55qE5Yy56YWNXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAidW5pcXVlIGlkZW50aWZpZXIiCittc2dzdHIgIuaDn+S4gOWtmOWCqOagh+ivhuespiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3NworIywgZnV6enkKK21zZ2lkICJ2YXJpYW50IG5hbWUiCittc2dzdHIgIuWIhuWMuuWQjSIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OAorIywgZnV6enkKK21zZ2lkICJ0eXBlIG5hbWUiCittc2dzdHIgIuaWsOWQjeensCIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo3OQorbXNnaWQgInRpbWVzdGFtcCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1dWlkIC4uLj5cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDzmlofku7Y+Li4uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICDkvb/nlKggSlNPTiDovpPlh7rmoLzlvI9cbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeaJk+WNsOagh+mimFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBDT0xVTU5TIHRvIGRpc3BsYXkgKHNlZSBiZWxvdykiCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPOWIl+ihqD4gICAg6KaB5pi+56S655qE5YiXXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+eUn+i+k+WHuuagvOW8j1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE3MiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5MQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCIKK21zZ3N0ciAi5peg5pWIIGlkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi5Yid5aeL5YyW6L6T5Ye65YiX5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbLUJNUyA8ZGlyPi4uLiAtZl0gPG5hbWU+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbLUJNUyA8ZGlyPi4uLiAtZl0gPOWQjeensD5cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIuWumuS9jeafkOS4quWRveS7pOeahOS6jOi/m+WItuaWh+S7tuOAgea6kOeggeWSjOW4ruWKqemhteaWh+S7tuOAglxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDUKK21zZ2lkICIgLWIgICAgICAgICBzZWFyY2ggb25seSBmb3IgYmluYXJpZXNcbiIKK21zZ3N0ciAiIC1iICAgICAgICAg5Y+q5pCc57Si5LqM6L+b5Yi25paH5Lu2XG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwNgorbXNnaWQgIiAtQiA8ZGlycz4gIGRlZmluZSBiaW5hcmllcyBsb29rdXAgcGF0aFxuIgorbXNnc3RyICIgLUIgPOebruW9lT4gIOWumuS5ieS6jOi/m+WItuaWh+S7tuafpeaJvui3r+W+hFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKK21zZ2lkICIgLW0gICAgICAgICBzZWFyY2ggb25seSBmb3IgbWFudWFscyBhbmQgaW5mb3NcbiIKK21zZ3N0ciAiIC1tICAgICAgICAg5Y+q5pCc57Si5omL5YaM5ZKM5L+h5oGvXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1NIDznm67lvZU+ICDlrprkuYkgbWFuIOWSjCBpbmZvIOafpeaJvui3r+W+hFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIgLXMgICAgICAgICDlj6rmkJzntKLmupDku6PnoIFcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEwCittc2dpZCAiIC1TIDxkaXJzPiAgZGVmaW5lIHNvdXJjZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIC1TIDznm67lvZU+ICDlrprkuYnmupDku6PnoIHmn6Xmib7ot6/lvoRcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjExCittc2dpZCAiIC1mICAgICAgICAgdGVybWluYXRlIDxkaXJzPiBhcmd1bWVudCBsaXN0XG4iCittc2dzdHIgIiAtZiAgICAgICAgIOe7iOatoiA855uu5b2VPiDlj4LmlbDliJfooahcbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjEyCittc2dpZCAiIC11ICAgICAgICAgc2VhcmNoIGZvciB1bnVzdWFsIGVudHJpZXNcbiIKK21zZ3N0ciAiIC11ICAgICAgICAg5pCc57Si5LiN5bi46KeB6K6w5b2VXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiAtbCAgICAgICAgIOi+k+WHuuacieaViOafpeaJvui3r+W+hFxuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo2NDgKK21zZ2lkICJvcHRpb24gLWYgaXMgbWlzc2luZyIKK21zZ3N0ciAi57y65bCRIC1mIOmAiemhuSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uL2ZpbGVzeXN0ZW0gVVVJRCIKK21zZ3N0ciAi5paH5Lu257O757ufIFVVSUQiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA1Cittc2dpZCAibWFnaWMgc3RyaW5nIGxlbmd0aCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNgorbXNnaWQgInN1cGVyYmxvayB0eXBlIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA3CisjLCBmdXp6eQorbXNnaWQgIm1hZ2ljIHN0cmluZyBvZmZzZXQiCittc2dzdHIgImlub2RlIOWBj+enu+acieivryIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi5qCH5b+X5o+P6L+wIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOQorIywgZnV6enkKK21zZ2lkICJibG9jayBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi5Z2X6K6+5aSHICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzozMTgKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uLXRhYmxlIgorbXNnc3RyICLliIbljLrooagiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlczogcHJvYmluZyBpbml0aWFsaXphdGlvbiBmYWlsZWQiCittc2dzdHIgIumUmeivr++8miVz77ya5o6i5rWL5Yid5aeL5YyW5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ1NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJTEkc++8muaTpumZpOS9jeS6juWBj+enuyAweCUzJDA4angg5aSE55qE6a2U5pWw5a2X56ym5LiyICUyJHMg5aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXpkIGJ5dGUgd2FzIGVyYXNlZCBhdCBvZmZzZXQgMHglMDhqeCAoJXMpOiAiCittc2dpZF9wbHVyYWwgIiVzOiAlemQgYnl0ZXMgd2VyZSBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnc3RyWzBdICIlc++8miV6ZCDkuKrlrZfoioLlt7Lmk6bpmaTvvIzkvY3nva7lgY/np7vkuLogMHglMDhqeCAoJXMp77yaIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVz77ya5Yib5bu6562+5ZCN5aSH5Lu95aSx6LSlIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FsbGluZyBpb2N0bCB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZTogJW1cbiIKK21zZ3N0ciAiJXPvvJrlsIbosIPnlKggaW9jdGwg5p2l6YeN5paw6K+75YiG5Yy66KGo77yaJW1cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1MjgKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCwgJEhPTUUgdW5kZWZpbmVkIgorbXNnc3RyICLliJvlu7rnrb7lkI3lpIfku73lpLHotKXvvIzmnKrlrprkuYkgJEhPTUUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpZ25vcmluZyBuZXN0ZWQgXCIlc1wiIHBhcnRpdGlvbiB0YWJsZSBvbiBub24td2hvbGUgZGlzayBkZXZpY2UiCittc2dzdHIgIiVz77ya5b+955WlIOmdnuaVtOebmCDorr7lpIfkuIrnmoTltYzlpZfliIbljLrooajigJwlc+KAnSIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVz77ya5om+5LiN5Yiw5YGP56e7IDB4JWp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU4MAorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBvcHRpb24gdG8gZm9yY2UgZXJhc2UuIgorbXNnc3RyICLkvb/nlKggLS1mb3JjZSDpgInpobnlvLrliLbmk6bpmaTjgIIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA1CisjLCBmdXp6eQorbXNnaWQgIldpcGUgc2lnbmF0dXJlcyBmcm9tIGEgZGV2aWNlLiIKK21zZ3N0ciAi5LuO6K6+5aSH5pOm6Zmk562+5ZCN44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjA4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKSIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOaJk+WNsOaJgOacieiuvuWkh1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FIgorbXNnc3RyICLliJvlu7rnrb7lkI3lpIfku73lpLHotKXvvIzmnKrlrprkuYkgJEhPTUUiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmUiCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIOW8uuWItuajgOafpVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tbm9oZWFkaW5ncyAgICBkb24ndCBwcmludCBoZWFkaW5ncyIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIOS4jeaJk+WNsOagh+mimFxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAg5L2/55SoIEpTT04g6L6T5Ye65qC85byPXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsIgorbXNnc3RyICIgICAgIC0tbm8tYWN0ICAgICAgICAgICAgIOaTjeS9nOS9huS4jeWunumZheWGmeWFpeaXpeW/l1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgdG8gZXJhc2UsIGluIGJ5dGVzIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDzmlbDlrZc+ICDojIPlm7Tmk43kvZznmoTlgY/np7vph48o5a2X6IqC5pWwKVxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNQorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGxpc3Q+IENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxNgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0IgorbXNnc3RyICIgLXAsIC0tcGFyc2VbPTzliJfooag+XSAgICDmiZPljbDlj6/op6PmnpDmoLzlvI9cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgLXEsIC0tcXVpZXQgICAgICAgICAgICAgICDnpoHmraLovpPlh7rpop3lpJbkv6Hmga9cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgLXQsIC0tdHlwZXMgPOWIl+ihqD4gICAgIOagueaNruaWh+S7tuezu+e7n+exu+Wei+mZkOWItuaWh+S7tuezu+e7n+mbhuWQiFxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorbXNnaWQgIlRoZSAtLWJhY2t1cCBvcHRpb24gaXMgbWVhbmluZ2xlc3MgaW4gdGhpcyBjb250ZXh0IgorbXNnc3RyICItLWJhY2t1cCDlnKjmraTnjq/looPkuK3ml6DmhI/kuYkiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSByZWFsLXRpbWUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAi5pi+56S65oiW5pu05pS55p+Q5Liq6L+b56iL55qE5a6e5pe26LCD5bqm5bGe5oCn44CCXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworbXNnaWQgIiIKKyJTZXQgcG9saWN5OlxuIgorIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisiIGNocnQgW29wdGlvbnNdIC0tcGlkIDxwcmlvcml0eT4gPHBpZD5cbiIKK21zZ3N0ciAiIgorIuiuvue9ruetlueVpe+8mlxuIgorIiBjaHJ0IFvpgInpobldIDzkvJjlhYjnuqc+IDzlkb3ku6Q+IFs85Y+C5pWwPi4uLl1cbiIKKyIgY2hydCBb6YCJ6aG5XSAtLXBpZCA85LyY5YWI57qnPiA8cGlkPlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorIuiOt+WPluetlueVpVxuIgorIiBjaHJ0IFvpgInpobldIC1wIDxwaWQ+XG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0NQorbXNnaWQgIlBvbGljeSBvcHRpb25zOlxuIgorbXNnc3RyICLnrZbnlaXpgInpobnvvJpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTQ2Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIC1iLCAtLWJhdGNoICAgICAgICAgIOWwhuetlueVpeiuvue9ruS4uiBTQ0hFRF9CQVRDSFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKK21zZ2lkICIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIgorbXNnc3RyICIgLWQsIC0tZGVhZGxpbmUgICAgICAg5bCG562W55Wl6K6+572u5Li6IFNDSEVEX0RFQURMSU5FXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OAorbXNnaWQgIiAtZiwgLS1maWZvICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0ZJRk9cbiIKK21zZ3N0ciAiIC1mLCAtLWZpZm8gICAgICAgICAgIOWwhuetlueVpeiuvue9ruS4uiBTQ0hFRF9GSUZPXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorbXNnaWQgIiAtaSwgLS1pZGxlICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKK21zZ3N0ciAiIC1pLCAtLWlkbGUgICAgICAgICAgIOWwhuetlueVpeiuvue9ruS4uiBTQ0hFRF9JRExFXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1MAorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS1vdGhlciAgICAgICAgICDlsIbnrZbnlaXorr7nva7kuLogU0NIRURfT1RIRVJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCittc2dpZCAiIC1yLCAtLXJyICAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtciwgLS1yciAgICAgICAgICAgICDlsIbnrZbnlaXorr7nva7kuLogU0NIRURfUlIgKOm7mOiupClcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0Cittc2dpZCAiU2NoZWR1bGluZyBvcHRpb25zOlxuIgorbXNnc3RyICLosIPluqbpgInpobnvvJpcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU1Cittc2dpZCAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIKK21zZ3N0ciAiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAg5Li6IEZJRk8g5oiWIFJSIOiuvue9riBTQ0hFRF9SRVNFVF9PTl9GT1JLXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NgorbXNnaWQgIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLVQsIC0tc2NoZWQtcnVudGltZSA8bnM+ICBERUFETElORSDnmoTov5DooYzml7blj4LmlbBcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICBERUFETElORSDnmoTlkajmnJ/lj4LmlbBcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU4Cittc2dpZCAiIC1ELCAtLXNjaGVkLWRlYWRsaW5lIDxucz4gZGVhZGxpbmUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIgorbXNnc3RyICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBERUFETElORSDnmoTmiKrmraLml7bpl7Tlj4LmlbBcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCittc2dpZCAiT3RoZXIgb3B0aW9uczpcbiIKK21zZ3N0ciAi5YW25LuW6YCJ6aG577yaXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2MgorbXNnaWQgIiAtYSwgLS1hbGwtdGFza3MgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsLXRhc2tzICAgICAg5a+55oyH5a6aIHBpZCDnmoTmiYDmnInku7vliqEo57q/56iLKSDmk43kvZxcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYzCittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLW0sIC0tbWF4ICAgICAgICAgICAg5pi+56S65pyA5bCP5ZKM5pyA5aSn5pyJ5pWI5LyY5YWI57qnXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NAorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAgICAg5a+55oyH5a6a5LiU5a2Y5Zyo55qEIHBpZCDmk43kvZxcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY1Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICDmmL7npLrnirbmgIHkv6Hmga9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjMxIHNjaGVkdXRpbHMvY2hydC5jOjI1MworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi5peg5rOV6I635b6XIHBpZCAlZCDnmoTnrZbnlaUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGF0dHJpYnV0ZXMiCittc2dzdHIgIuiOt+WPliBwaWQgJWQg55qE5bGe5oCn5aSx6LSlIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkIOKAnCVk4oCdIOeahOaWsOiwg+W6puetlueVpe+8miVzIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBzY2hlZHVsaW5nIHBvbGljeTogJXMiCittc2dzdHIgInBpZCAlZCDlvZPliY3nmoTosIPluqbnrZbnlaXvuLAgJXMiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkIOeahOaWsOiwg+W6puetlueVpe+8miVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI3NworIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcHJpb3JpdHk6ICVkXG4iCittc2dzdHIgInBpZCAlZCDnmoTlvZPliY3osIPluqbkvJjlhYjnuqfvvJolZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODIKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iCittc2dzdHIgInBpZCAlZCDmlrDnmoTov5DooYzml7Yv5oiq5q2i5pe26Ze0L+WRqOacn+WPguaVsO+4sCAlanUvJWp1LyVqdVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAlanUvJWp1LyVqdVxuIgorbXNnc3RyICJwaWQgJWQg5b2T5YmN55qE6L+Q6KGM5pe2L+aIquatouaXtumXtC/lkajmnJ/lj4LmlbDvuLAgJWp1LyVqdS8lanVcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjk5IHNjaGVkdXRpbHMvY2hydC5jOjM5NQorbXNnaWQgImNhbm5vdCBvYnRhaW4gdGhlIGxpc3Qgb2YgdGFza3MiCittc2dzdHIgIuaXoOazleiOt+WPluS7u+WKoeWIl+ihqCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiJXMg5pyA5bCPL+acgOWkp+S8mOWFiOe6p1x0OiAlZC8lZFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgbm90IHN1cHBvcnRlZD9cbiIKK21zZ3N0ciAiJXMg5LiN5pSv5oyB77yfIFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiCittc2dzdHIgIuiuvue9riB0aWQgJWQg562W55Wl5aSx6LSlIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiCittc2dzdHIgIuiuvue9riBwaWQgJWQg55qE562W55Wl5aSx6LSlIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODQKK21zZ2lkICJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahOi/kOihjOaXtuWPguaVsCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg3Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahOWRqOacn+WPguaVsCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCittc2dpZCAiaW52YWxpZCBkZWFkbGluZSBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE5oiq5q2i5pe26Ze05Y+C5pWwIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MTUKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQg5LyY5YWI57qnIOWPguaVsCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5Cittc2dpZCAiLS1yZXNldC1vbi1mb3JrIG9wdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIFNDSEVEX0ZJRk8gYW5kIFNDSEVEX1JSIHBvbGljaWVzIG9ubHkiCittc2dzdHIgIi0tcmVzZXQtb24tZm9yayDpgInpobnlj6rmlK/mjIEgU0NIRURfRklGTyBhbmQgU0NIRURfUlIg562W55WlIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MjQKK21zZ2lkICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyBhcmUgc3VwcG9ydGVkIGZvciBTQ0hFRF9ERUFETElORSBvbmx5IgorbXNnc3RyICItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0g6YCJ6aG55Y+q5pSv5oyBIFNDSEVEX0RFQURMSU5FIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1MzkKK21zZ2lkICJTQ0hFRF9ERUFETElORSBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi5LiN5pSv5oyBIFNDSEVEX0RFQURMSU5FIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJpb3JpdHkgdmFsdWUgZm9yIHRoZSBwb2xpY3k6ICVkOiBzZWUgLS1tYXggZm9yIHZhbGlkIHJhbmdlIgorbXNnc3RyICLkuI3mlK/mjIHmraTnrZbnlaXnmoTkvJjlhYjnuqflgLzvvJolZO+8muafpeeciyAtLW1heCDkuobop6PmnInmlYjojIPlm7QiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6NzYKK21zZ2lkICJpb3ByaW9fZ2V0IGZhaWxlZCIKK21zZ3N0ciAiaW9wcmlvX2dldCDlpLHotKUiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHByaW8gJWx1XG4iCittc2dzdHIgIiVz77ya5LyY5YWI57qnICVsdVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQg5aSx6LSlIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW29wdGlvbnNdIC1QIDxwZ2lkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtdSA8dWlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgInpobldIC1wIDxwaWQ+Li4uXG4iCisiICUxJHMgW+mAiemhuV0gLVAgPHBnaWQ+Li4uXG4iCisiICUxJHMgW+mAiemhuV0gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBb6YCJ6aG5XSA85ZG95LukPlxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICLorr7nva7miJbmm7TmlLnov5vnqIvnmoQgSU8g6LCD5bqm57G75Yir5ZKM5LyY5YWI57qn44CCXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorIiAtYywgLS1jbGFzcyA857G75YirPiAgICDosIPluqbnsbvliKvnmoTlkI3np7DmiJbmlbDlgLxcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IOaXoCwgMTog5a6e5pe2LCAyOiDlsL3lipssIDM6IOepuumXslxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNgorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDzmlbDlrZc+IOaMh+Wumuiwg+W6puexu+WIq+eahOS8mOWFiOe6pygwLi43Ke+8jOWPqumSiOWvuVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAg4oCc5a6e5pe24oCd5ZKM4oCc5bC95Yqb4oCd57G75YirXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE4Cittc2dpZCAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAg5a+56L+Z5Lqb5bey6L+Q6KGM55qE6L+b56iL5pON5L2cXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIOWvuei/meS6m+e7hOS4reW3sui/kOihjOeahOi/m+eoi+aTjeS9nFxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEyMAorbXNnaWQgIiAtdCwgLS1pZ25vcmUgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorbXNnc3RyICIgLXQsIC0taWdub3JlICAgICAgICAgICDlv73nlaXlpLHotKVcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjEKK21zZ2lkICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIgorbXNnc3RyICIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICDlr7nlsZ7kuo7ov5nkupvnlKjmiLfnmoTlt7Lov5DooYzov5vnqIvmk43kvZxcbiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNTcKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahOexu+WIq+aVsOaNruWPguaVsCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoTnsbvliKvlj4LmlbAiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTY4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBjbGFzczogJyVzJyIKK21zZ3N0ciAi5pyq55+l55qE6LCD5bqm57G75Yir77ya4oCcJXPigJ0iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc2IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkyCittc2dpZCAiY2FuIGhhbmRsZSBvbmx5IG9uZSBvZiBwaWQsIHBnaWQgb3IgdWlkIGF0IG9uY2UiCittc2dzdHIgIuaXoOazleS4gOasoeWPquWkhOeQhuS4gOS4qiBwaWTjgIFwZ2lkIOaIliB1aWQiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTg1Cittc2dpZCAiaW52YWxpZCBQR0lEIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQgUEdJRCDlj4LmlbAiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTkzCittc2dpZCAiaW52YWxpZCBVSUQgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCBVSUQg5Y+C5pWwIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIxMgorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIG5vbmUgY2xhc3MiCittc2dzdHIgIuWwhuW/veeVpeS4uuKAnOaXoOKAneexu+WIq+aMh+WumueahOexu+WIq+aVsOaNriIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjAKK21zZ2lkICJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIgorbXNnc3RyICLlsIblv73nlaXkuLrigJznqbrpl7LigJ3nsbvliKvmjIflrprnmoTnsbvliKvmlbDmja4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAi5pyq55+l55qE5LyY5YWI57qn57G75YirICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyLnlKjms5XvvJolcyBb6YCJ6aG5XSBb5o6p56CBIHwgY3B15YiX6KGoXSBbcGlkfOWRveS7pCBb5Y+C5pWwLi4uXV1cbiIKKyJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NTYKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgQ1BVIGFmZmluaXR5IG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAi5pi+56S65oiW5pu05pS55p+Q5Liq6L+b56iL55qEIENQVSDkurLlkozlipvjgIJcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIumAiemhue+8mlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICDlnKjnu5nlrpogcGlkIOeahOaJgOacieS7u+WKoSjnur/nqIsp5LiK5pON5L2cXG4iCisiIC1wLCAtLXBpZCAgICAgICAgICAgICAgIOWcqOWtmOWcqOeahOe7meWumiBwaWQg5LiK5pON5L2cXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIOS7peWIl+ihqOagvOW8j+aYvuekuuWSjOaMh+WumiBDUFVcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAg5pi+56S65q2k5biu5YqpXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr1xuIgorIlxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6XG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIk9yIHNldCBpdDpcbiIKKyIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKyJMaXN0IGZvcm1hdCB1c2VzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QgaW5zdGVhZCBvZiBhIG1hc2s6XG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKyIgICAgZS5nLiAwLTMxOjIgaXMgZXF1aXZhbGVudCB0byBtYXNrIDB4NTU1NTU1NTVcbiIKK21zZ3N0ciAiIgorIum7mOiupOihjOS4uuaYr+i/kOihjOS4gOadoeaWsOWRveS7pO+8mlxuIgorIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorIuaCqOWPr+S7peiOt+WPlueOsOacieS7u+WKoeeahOaOqeegge+8mlxuIgorIiAgICAlMSRzIC1wIDcwMFxuIgorIuaIluiuvue9ruaOqeegge+8mlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIuS9v+eUqOmAl+WPt+WIhumalOeahOWIl+ihqOagvOW8j+iAjOS4jeaYr+aOqeegge+8mlxuIgorIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKyLliJfooajmoLzlvI/kuK3nmoTojIPlm7Tlj6/ku6XluKbkuIDkuKrot6jluqblj4LmlbDvvJpcbiIKKyIgICAg5L6L5aaCIDAtMzE6MiDkuI7mjqnnoIEgMHg1NTU1NTU1NSDnrYnmlYhcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgInBpZCAlZCDnmoTmlrDkurLlkozlipvliJfooajvvJolc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IGFmZmluaXR5IGxpc3Q6ICVzXG4iCittc2dzdHIgInBpZCAlZCDnmoTlvZPliY3kurLlkozlipvliJfooajvvJolc1xuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5NQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAicGlkICVkIOeahOaWsOS6suWSjOWKm+aOqeegge+8miVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbWFzazogJXNcbiIKK21zZ3N0ciAicGlkICVkIOeahOW9k+WJjeS6suWSjOWKm+aOqeegge+8miVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjEwMAorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIuWGhemDqOmUmeivr++8muS7jiBjcHVzZXQg6L2s5o2i5Yiw5a2X56ym5Liy5aSx6LSlIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAi6K6+572uIHBpZCAlZCDnmoTkurLlkozlipvlpLHotKUiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICLojrflj5YgcGlkICVkIOeahOS6suWSjOWKm+Wksei0pSIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIuaXoOazleehruWumiBOUl9DUFVT77yb5bCG5Lit5q2iIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDQgc2NoZWR1dGlscy90YXNrc2V0LmM6MjE3IHN5cy11dGlscy9jaGNwdS5jOjI5OAorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNwdXNldF9hbGxvYyDlpLHotKUiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNCBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBsaXN0OiAlcyIKK21zZ3N0ciAi6Kej5p6QIENQVSDliJfooajlpLHotKXvvJolcyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiCittc2dzdHIgIuino+aekCBDUFUg5o6p56CB5aSx6LSl77yaJXMiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFplcm8tZmlsbGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiVzOiDnlKjpm7bloavlhYXnmoQgJTxQUkl1NjQ+IOS4quWtl+iKgu+8jOWni+S6juWBj+enu+mHjyAlPFBSSXU2ND5cbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo3NAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogRGlzY2FyZGVkICU8UFJJdTY0PiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgJTxQUkl1NjQ+XG4iCittc2dzdHIgIiUxJHPvvJrlt7Llv73nlaXku47lgY/np7sgJTMkPFBSSXU2ND4g5L2N572u5byA5aeL55qEICUyJDxQUkl1NjQ+IOS4quWtl+iKglxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICLkuKLlvIPkuIDkuKrorr7lpIfkuIrnmoTmiYfljLrlhoXlrrnjgIJcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKK21zZ3N0ciAiIC1vLCAtLW9mZnNldCA85pWw5YC8PiDopoHkuKLlvIPnmoTotbflp4vkvY3nva4o5a2X6IqCKVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCittc2dzdHIgIiAtbCwgLS1sZW5ndGggPOaVsOWAvD4g5LuO6LW35aeL5aSE6LW36KaB5Lii5byD55qE6ZW/5bqmKOWtl+iKguaVsClcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MworbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLXAsIC0tc3RlcCA85pWw5YC8PiAgIOWcqOWBj+enu+iMg+WbtOWGheS4ouW8g+i/reS7o+eahOWwuuWvuFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk0Cittc2dpZCAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorbXNnc3RyICIgLXMsIC0tc2VjdXJlICAgICAgICDmiafooYzlronlhajkuKLlvINcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorbXNnaWQgIiAteiwgLS16ZXJvb3V0ICAgICAgIHplcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkXG4iCittc2dzdHIgIiAteiwgLS16ZXJvb3V0ICAgICAgIOeUqCDpm7bloavlhYXogIzpnZ7kuKLlvINcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NgorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAg5omT5Y2w5a+56b2Q55qE6ZW/5bqm5ZKM5YGP56e7XG4iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTUwIHN5cy11dGlscy9mc3RyaW0uYzozMTQgc3lzLXV0aWxzL2xvc2V0dXAuYzo2OTEKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjEyNAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiCittc2dzdHIgIuino+aekOWBj+enu+Wksei0pSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNTQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAi6Kej5p6Q5q2l6ZW/5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAi5Y+C5pWw5pWw6YeP5byC5bi4IgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLR0VUU0laRTY0IGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpCTEtHRVRTSVpFNjQgaW9jdGwg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLU1NaR0VUIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpCTEtTU1pHRVQgaW9jdGwg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IOWBj+enu+mHjyAlPFBSSXU2ND4g5pyq5LiO5omH5Yy65aSn5bCPICVpIOWvuem9kCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiCittc2dzdHIgIiVz77ya5YGP56e76YeP6LaF6L+H6K6+5aSH5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbGVuZ3RoICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSAlaSIKK21zZ3N0ciAiJXM6IOmVv+W6piAlPFBSSXU2ND4g5pyq5LiO5omH5Yy65aSn5bCPICVpIOWvuem9kCIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1pFUk9PVVQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlczogQkxLWkVST09VVCBpb2N0bCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpCTEtTRUNESVNDQVJEIGlvY3RsIOWksei0pSIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++8mkJMS0RJU0NBUkQgaW9jdGwg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjczCisjLCBmdXp6eQorbXNnaWQgIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiCittc2dzdHIgIuWIl+WHuuWdl+iuvuWkh+eahOS/oeaBr+OAglxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjc0Cittc2dpZCAiUmVzZXQgYSByYW5nZSBvZiB6b25lcy4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++4sCDorr7nva7nm7TmjqUgaW8g5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICIlc++8muaXoOazleWGmSB6b25lIG1hcCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpCTEtHRVRTSVpFNjQgaW9jdGwg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE5OAorIywgYy1mb3JtYXQKK21zZ2lkICJGb3VuZCAlZCB6b25lcyBmcm9tIDB4JTxQUkl4NjQ+XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiICBzdGFydDogMHglMDk8UFJJeDY0PiwgbGVuIDB4JTA2PFBSSXg2ND4sIHdwdHIgMHglMDY8UFJJeDY0PiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiDlgY/np7vph48gJTxQUkl1NjQ+IOacquS4juaJh+WMuuWkp+WwjyAlaSDlr7npvZAiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbnVtYmVyIG9mIHNlY3RvcnMgJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHpvbmUgc2l6ZSAlbHUiCittc2dzdHIgIiVzOiDlgY/np7vph48gJTxQUkl1NjQ+IOacquS4juaJh+WMuuWkp+WwjyAlaSDlr7npvZAiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLUkVTRVRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpCTEtTU1pHRVQgaW9jdGwg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICU8UFJJdTY0PiwgdG8gJTxQUkl1NjQ+IgorbXNnc3RyICLliIbljLrooajplb/luqblt7Lku44gJTxQUkl1MzI+IOaUueS4uiAlPFBSSXU2ND7jgIIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOiuvuWkhz5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDIKK21zZ2lkICJSdW4gem9uZSBjb21tYW5kIG9uIHRoZSBnaXZlbiBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDzmlbDlrZc+ICDojIPlm7Tmk43kvZznmoTlgY/np7vph48o5a2X6IqC5pWwKVxuIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjMxMAorbXNnaWQgIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNvdW50IDxudW1iZXI+ICAgbWF4aW11bSBudW1iZXIgb2Ygem9uZXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPOaVsOWtlz4gICAgICDljovnvKnmtYHmlbDph49cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTIKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAg5omT5Y2w5pu05aSa57uG6IqCXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICIlcyDkuI3mmK/kuIDkuKrmnInmlYjnmoTlnZforr7lpIciCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgIuino+aekOihjOaVsOWksei0pSIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICLop6PmnpDooYzmlbDlpLHotKUiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAi6Kej5p6Q5YGP56e75aSx6LSlIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgIuayoeacieaMh+WumuWRveS7pCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAiQ1BVICV1IOS4jeWtmOWcqCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIG5vdCBob3QgcGx1Z2dhYmxlIgorbXNnc3RyICJDUFUgJXUg5LiN6IO96L+b6KGM54Ot5o+S5ouUIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzo5OAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iCittc2dzdHIgIkNQVSAldSDlt7Lnu4/lkK/nlKhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAldSDlt7Lnu4/npoHnlKhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIChDUFUgaXMgZGVjb25maWd1cmVkKSIKK21zZ3N0ciAiQ1BVICV1IOWQr+eUqOWksei0pShDUFUg5bey5Y+W5raI6YWN572uKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUg5ZCv55So5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOW3suWQr+eUqFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiQ1BVICV1IOemgeeUqOWksei0pSAo5pyA5ZCO5ZCv55So55qEIENQVSkiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAldSDnpoHnlKjlpLHotKUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjEyOAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOW3suemgeeUqFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDEKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAi6K+l57O757uf5LiN5pSv5oyB6YeN5paw5omr5o+PIENQVSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTQzCittc2dpZCAiRmFpbGVkIHRvIHRyaWdnZXIgcmVzY2FuIG9mIENQVXMiCittc2dzdHIgIuinpuWPkSBDUFUg6YeN5paw5omr5o+P5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVHJpZ2dlcmVkIHJlc2NhbiBvZiBDUFVzXG4iCittc2dzdHIgIuW3suinpuWPkSBDUFUg6YeN5paw5omr5o+PXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE1MQorbXNnaWQgIlRoaXMgc3lzdGVtIGRvZXMgbm90IHN1cHBvcnQgc2V0dGluZyB0aGUgZGlzcGF0Y2hpbmcgbW9kZSBvZiBDUFVzIgorbXNnc3RyICLmraTns7vnu5/kuI3mlK/mjIHorr7nva4gQ1BVIOWIhua0vuaooeW8jyhkaXNwYXRjaGluZyBtb2RlKSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU1Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIuiuvue9ruawtOW5s+WIhua0vuaooeW8j+Wksei0pSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgaG9yaXpvbnRhbCBkaXNwYXRjaGluZyBtb2RlXG4iCittc2dzdHIgIuaIkOWKn+iuvue9ruS6huawtOW5s+WIhua0vuaooeW8j1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTkKK21zZ2lkICJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIuiuvue9ruerluebtOWIhua0vuaooeW8j+Wksei0pSIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTYwCisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLmiJDlip/orr7nva7kuobnq5bnm7TliIbmtL7mqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIgorbXNnc3RyICJDUFUgJXUg5piv5LiN5Y+v6YWN572u55qEIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGlzIGFscmVhZHkgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUg5piv5bey57uP6YWN572u6L+H55qEXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE5NAorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOaYr+W3sue7j+WPlua2iOmFjee9rueahFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlIGZhaWxlZCAoQ1BVIGlzIGVuYWJsZWQpIgorbXNnc3RyICJDUFUgJXUg5Y+W5raI6YWN572u5aSx6LSlKENQVSDlt7LlkK/nlKgpIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkNQVSAldSDphY3nva7lpLHotKUiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUg5bey6YWN572uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIxMworIywgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGVjb25maWd1cmUgZmFpbGVkIgorbXNnc3RyICJDUFUgJXUg5Y+W5raI6YWN572u5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJXUg5bey5Y+W5raI6YWN572uXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIzMQorIywgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIgorbXNnc3RyICJDUFUg5YiX6KGo5Lit55qEIENQVSDmlbDph4/ml6DmlYjvvJolcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW29wdGlvbnNdXG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKyIgJXMgW+mAiemhuV1cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjQzCittc2dpZCAiQ29uZmlndXJlIENQVXMgaW4gYSBtdWx0aS1wcm9jZXNzb3Igc3lzdGVtLlxuIgorbXNnc3RyICLphY3nva7lpJrlpITnkIblmajns7vnu5/kuK3nmoQgQ1BV44CCXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0NworIywgZnV6enkKK21zZ2lkICIiCisiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisiIC1kLCAtLWRpc2FibGUgPGNwdS1saXN0PiAgICAgIGRpc2FibGUgY3B1c1xuIgorIiAtYywgLS1jb25maWd1cmUgPGNwdS1saXN0PiAgICBjb25maWd1cmUgY3B1c1xuIgorIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisiIC1wLCAtLWRpc3BhdGNoIDxtb2RlPiAgICAgICAgIHNldCBkaXNwYXRjaGluZyBtb2RlXG4iCisiIC1yLCAtLXJlc2NhbiAgICAgICAgICAgICAgICAgIHRyaWdnZXIgcmVzY2FuIG9mIGNwdXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIumAiemhue+8mlxuIgorIiAgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICAg5omT5Y2w5q2k5biu5YqpXG4iCisiICAtZSwgLS1lbmFibGUgPGNwdeWIl+ihqD4gICAgICAgIOWQr+eUqCBjcHVcbiIKKyIgIC1kLCAtLWRpc2FibGUgPGNwdeWIl+ihqD4gICAgICAg56aB55SoIGNwdVxuIgorIiAgLWMsIC0tY29uZmlndXJlIDxjcHXliJfooag+ICAgICDphY3nva4gY3B1XG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B15YiX6KGoPiAgIOWPlua2iOmFjee9riBjcHVcbiIKKyIgIC1wLCAtLWRpc3BhdGNoIDzmqKHlvI8+ICAgICAgICAg6K6+572u5YiG5rS+5qih5byPXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICDop6blj5Hph43mlrDmiavmj48gY3B1XG4iCisiICAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MzI5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5LiN5pSv5oyB55qE5Y+C5pWw77yaJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjEwMAorIywgYy1mb3JtYXQKK21zZ2lkICJNZW1vcnkgQmxvY2sgJTxQUkl1NjQ+ICgweCUwMTY8UFJJeDY0Pi0weCUwMTY8UFJJeDY0PikiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTI0IHN5cy11dGlscy9jaG1lbS5jOjE5NworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgaW5kZXgiCittc2dzdHIgIuino+aekCBpZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICJDUFUgJXUg5ZCv55So5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkXG4iCittc2dzdHIgIkNQVSAldSDnpoHnlKjlpLHotKUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1NiBzeXMtdXRpbHMvY2htZW0uYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOW3suWQr+eUqFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNTggc3lzLXV0aWxzL2NobWVtLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJXUg5bey56aB55SoXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE3MAorIywgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBvbmx5IGVuYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcyCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZGlzYWJsZSAlcyBvZiBtZW1vcnkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOW3sue7j+WQr+eUqFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZGlzYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICV1IOW3sue7j+emgeeUqFxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkNQVSAldSDlkK/nlKjlpLHotKUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkNQVSAldSDnpoHnlKjlpLHotKUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOWQr+eUqOWksei0pSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICV1IOemgeeUqOWksei0pSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjY2IHN5cy11dGlscy9sc21lbS5jOjQ3NiBzeXMtdXRpbHMvbHNtZW0uYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICLor7sg6YCf5bqmIOWksei0pSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc0CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBibG9jayBudW1iZXIiCittc2dzdHIgIuino+aekOaVsOWtl+Wksei0pSIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICLop6PmnpDlpKflsI/lpLHotKXjgIIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICJTaXplIG11c3QgYmUgYWxpZ25lZCB0byBtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQiCittc2dzdHIgIuino+aekCDotbfngrkg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIGVuZCIKK21zZ3N0ciAi6Kej5p6QIOe7iOeCuSDlpLHotKUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIuaXoOaViOeahCDotbfngrkg5Y+C5pWwIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgZW5kIGFkZHJlc3MgZm9ybWF0OiAlcyIKK21zZ3N0ciAi5peg5pWI55qE5L+h5Y+35ZCN5oiW5pWw5a2X77yaJXMiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc3RhcnQgYWRkcmVzcyIKK21zZ3N0ciAi6Kej5p6QIOi1t+eCuSDlpLHotKUiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMwMQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIGFkZHJlc3MiCittc2dzdHIgIuino+aekCDnu4jngrkg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgIuaXoOaViOWPguaVsO+8miVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICLml6DmlYjlj4LmlbDvvJolcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbeSB8IG5dXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjMzNworbXNnaWQgIlNldCBhIHBhcnRpY3VsYXIgc2l6ZSBvciByYW5nZSBvZiBtZW1vcnkgb25saW5lIG9yIG9mZmxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiAtZSwgLS1lbmFibGUgICAgICAgZW5hYmxlIG1lbW9yeVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICDor6blsL3mlrnlvI9cbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQxCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kaXNhYmxlICAgICAgZGlzYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAg6K+m5bC95pa55byPXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MgorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmxvY2tzICAgICAgIHVzZSBtZW1vcnkgYmxvY2tzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOivpuWwveaWueW8j1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDMKK21zZ2lkICIgLXosIC0tem9uZSA8bmFtZT4gIHNlbGVjdCBtZW1vcnkgem9uZSAoc2VlIGJlbG93KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0NAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOivpuWwveaWueW8j1xuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCB6b25lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuaUr+aMgeeahOaXpeW/l+iuvuaWve+8mlxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MjkKK21zZ2lkICJ6b25lIGlnbm9yZWQsIG5vIHZhbGlkX3pvbmVzIHN5c2ZzIGF0dHJpYnV0ZSBwcmVzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjQzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtZW1vcnkgem9uZTogJXMiCittc2dzdHIgIuaciOS7veWQjeacquefpe+8miVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjI4CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBoYXJkfHNvZnRcbiIKK21zZ3N0ciAiICVzIGhhcmR8c29mdFxuIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjMxCisjLCBjLWZvcm1hdAorbXNnaWQgIlNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbi5cbiIKK21zZ3N0ciAi6K6+572uIEN0cmwtQWx0LURlbCDnu4TlkIjplK7nmoTlip/og73jgIJcbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICLpmpDlkKsiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB2YWx1ZSBpbiAlczogJWp1IgorbXNnc3RyICIlcyDmnInlvILluLjlgLzvvJolanUiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NjMKK21zZ2lkICJZb3UgbXVzdCBiZSByb290IHRvIHNldCB0aGUgQ3RybC1BbHQtRGVsIGJlaGF2aW9yIgorbXNnc3RyICLlj6rmnIkgcm9vdCDnlKjmiLfmiY3og73orr7nva4gQ3RybC1BbHQtRGVsIOihjOS4uiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo3MSBzeXMtdXRpbHMvaXBjcm0uYzozOTUgc3lzLXV0aWxzL2lwY3JtLmM6NDE4CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICLmnKrnn6Xlj4LmlbDvvJolcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5Cittc2dpZCAic3lzdGVtIGlzIHVudXNhYmxlIgorbXNnc3RyICLns7vnu5/ml6Dms5Xkvb/nlKgiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMAorbXNnaWQgImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IgorbXNnc3RyICLmk43kvZzlv4Xpobvnq4vljbPmiafooYwiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjExMQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIue0p+aApeadoeS7tiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCittc2dpZCAiZXJyb3IgY29uZGl0aW9ucyIKK21zZ3N0ciAi6ZSZ6K+v5p2h5Lu2IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTMKK21zZ2lkICJ3YXJuaW5nIGNvbmRpdGlvbnMiCittc2dzdHIgIuitpuWRiuadoeS7tiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE0Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIuato+W4uOS9humHjeimgeeahOadoeS7tiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1Cittc2dpZCAiaW5mb3JtYXRpb25hbCIKK21zZ3N0ciAi5L+h5oGvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTYKK21zZ2lkICJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIKK21zZ3N0ciAi6LCD6K+V57qn5Yir55qE5raI5oGvIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzAKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIuWGheaguOa2iOaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCittc2dpZCAicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiCittc2dzdHIgIumaj+acuueahOeUqOaIt+e6p+a2iOaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMyCittc2dpZCAibWFpbCBzeXN0ZW0iCittc2dzdHIgIumCruS7tuezu+e7nyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMzCittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIuezu+e7n+WuiOaKpOi/m+eoiyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIKK21zZ3N0ciAi5a6J5YWoL+iupOivgea2iOaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM1Cittc2dpZCAibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIKK21zZ3N0ciAic3lzbG9nZCDlhoXpg6jnlJ/miJDnmoTmtojmga8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNgorbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIuihjOaJk+WNsOacuuWtkOezu+e7nyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3Cittc2dpZCAibmV0d29yayBuZXdzIHN1YnN5c3RlbSIKK21zZ3N0ciAi572R57uc5paw6Ze75a2Q57O757ufIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzgKK21zZ2lkICJVVUNQIHN1YnN5c3RlbSIKK21zZ3N0ciAiVVVDUCDlrZDns7vnu58iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzOQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAi5pe26ZKf5a6I5oqk6L+b56iLIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKK21zZ2lkICJzZWN1cml0eS9hdXRob3JpemF0aW9uIG1lc3NhZ2VzIChwcml2YXRlKSIKK21zZ3N0ciAi5a6J5YWoL+iupOivgea2iOaBryjnp4HmnIkpIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDEKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICJmdHAg5a6I5oqk6L+b56iLIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNjkKK21zZ2lkICJEaXNwbGF5IG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci5cbiIKK21zZ3N0ciAi5pi+56S65oiW5o6n5Yi25YaF5qC4546v5b2i57yT5Yay5Yy644CCXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorbXNnaWQgIiAtQywgLS1jbGVhciAgICAgICAgICAgICAgICAgY2xlYXIgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIOa4hemZpOWGheaguOeOr+W9oue8k+WGsuWMuihyaW5nIGJ1dHRlcilcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCittc2dpZCAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICByZWFkIGFuZCBjbGVhciBhbGwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1jLCAtLXJlYWQtY2xlYXIgICAgICAgICAgICDor7vlj5blubbmuIXpmaTmiYDmnInmtojmga9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc0Cittc2dpZCAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICDnpoHmraLlkJHnu4jnq6/miZPljbDmtojmga9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc1Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLUUsIC0tY29uc29sZS1vbiAgICAgICAgICAgIOWQr+eUqOWQkee7iOerr+aJk+WNsOa2iOaBr1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA85paH5Lu2PiAgICAgICAgICAg55SoIOaWh+S7tiDku6Pmm7/lhoXmoLjml6Xlv5fnvJPlhrLljLpcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc3Cittc2dpZCAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCittc2dzdHIgIiAtZiwgLS1mYWNpbGl0eSA85YiX6KGoPiAgICAgICDlsIbovpPlh7rpmZDliLbkuLrlrprkuYnnmoTorr7mlr1cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc4Cittc2dpZCAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICBodW1hbiByZWFkYWJsZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1ILCAtLWh1bWFuICAgICAgICAgICAgICAgICDmmJPor7vmoLzlvI/ovpPlh7pcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5Cittc2dpZCAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAgICAgICBkaXNwbGF5IGtlcm5lbCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIOaYvuekuuWGheaguOa2iOaBr1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODAKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtTCwgLS1jb2xvcls9POaXtuacuj5dICAgICAgICDlvanoibLmmL7npLrmtojmga8oYXV0bywgYWx3YXlzIOaIliBuZXZlcilcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjgzCittc2dpZCAiIC1sLCAtLWxldmVsIDxsaXN0PiAgICAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBsZXZlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxldmVsIDzliJfooag+ICAgICAgICAgIOmZkOWItui+k+WHuue6p+WIq1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODQKK21zZ2lkICIgLW4sIC0tY29uc29sZS1sZXZlbCA8bGV2ZWw+IHNldCBsZXZlbCBvZiBtZXNzYWdlcyBwcmludGVkIHRvIGNvbnNvbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPOe6p+WIqz4gIOiuvue9ruaJk+WNsOWIsOe7iOerr+eahOa2iOaBr+e6p+WIq1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyODUKK21zZ2lkICIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIKK21zZ3N0ciAiIC1QLCAtLW5vcGFnZXIgICAgICAgICAgICAgICDkuI3lsIbovpPlh7rpgJrov4fnrqHpgZPkvKDpgJLnu5nliIbpobXnqIvluo9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iCittc2dzdHIgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAg5omT5Y2w5Y6f55Sf5raI5oGv57yT5Yay5Yy6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OAorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICDlvLrliLbkvb/nlKggc3lzbG9nKDIpIOiAjOmdniAvZGV2L2ttc2dcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg5Cittc2dpZCAiIC1zLCAtLWJ1ZmZlci1zaXplIDxzaXplPiAgICBidWZmZXIgc2l6ZSB0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iCittc2dzdHIgIiAtcywgLS1idWZmZXItc2l6ZSA85aSn5bCPPiAgICDmn6Xor6LlhoXmoLjnjq/lvaLnvJPlhrLljLrmiYDnlKjnmoTnvJPlhrLljLrlpKflsI9cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkwCittc2dpZCAiIC11LCAtLXVzZXJzcGFjZSAgICAgICAgICAgICBkaXNwbGF5IHVzZXJzcGFjZSBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIOaYvuekuueUqOaIt+epuumXtOa2iOaBr1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTEKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIOetieW+heaWsOa2iOaBr1xuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAg5bCG6K6+5pa95ZKM57qn5Yir6Kej56CB5Li65Y+v6K+755qE5a2X56ym5LiyXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MworbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIOaYvuekuuaJk+WNsOa2iOaBr+S5i+mXtOeahOaXtumXtOW3rlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTQKK21zZ2lkICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIHNob3cgbG9jYWwgdGltZSBhbmQgdGltZSBkZWx0YSBpbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICDku6XmmJPor7vmoLzlvI/mmL7npLrmnKzlnLDml7bpl7Tlkozml7bpl7Tlt65cbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1Cittc2dpZCAiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIgorbXNnc3RyICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIOaYvuekuuaYk+ivu+eahOaXtumXtOaIsyjlj6/og73kuI3lh4bnoa7vvIEpXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorbXNnaWQgIiAtdCwgLS1ub3RpbWUgICAgICAgICAgICAgICAgZG9uJ3Qgc2hvdyBhbnkgdGltZXN0YW1wIHdpdGggbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICDkuI3mmL7npLrku7vkvZXmtojmga/nmoTml7bpl7TmiLNcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk3Cittc2dpZCAiIgorIiAgICAgLS10aW1lLWZvcm1hdCA8Zm9ybWF0PiAgc2hvdyB0aW1lc3RhbXAgdXNpbmcgdGhlIGdpdmVuIGZvcm1hdDpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2RlbHRhfHJlbHRpbWV8Y3RpbWV8bm90aW1lfGlzb11cbiIKKyJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iCittc2dzdHIgIiIKKyIgICAgIC0tdGltZS1mb3JtYXQgPOagvOW8jz4gICAg5Lul5oyH5a6a5qC85byP5pi+56S65pe26Ze05oiz77yaXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisi5oyC6LW3L+aBouWkjeS8muS9vyBjdGltZSDlkowgaXNvIOaXtumXtOaIs+S4jeeyvuehruOAglxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKK21zZ2lkICIiCisiXG4iCisiU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIgorbXNnc3RyICIiCisiXG4iCisi5pSv5oyB55qE5pel5b+X6K6+5pa977yaXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjMwOAorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLmlK/mjIHnmoTml6Xlv5fnuqfliKso5LyY5YWI57qnKe+8mlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciCittc2dzdHIgIuino+aekOe6p+WIq+KAnCVz4oCd5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICLmnKrnn6XnuqfliKvigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIgorbXNnc3RyICLop6PmnpDorr7mlr3igJwlc+KAneWksei0pSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAyCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAi5pyq55+l6K6+5pa94oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgbW1hcDogJXMiCittc2dzdHIgIuaXoOazlSBtbWFw77yaJXMiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MzYKK21zZ2lkICJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQg57yT5Yay5Yy65aSn5bCPIOWPguaVsCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ4OAorbXNnaWQgIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiCittc2dzdHIgIi0tc2hvdy1kZWx0YSDkuI4gaXNvODYwMSDml7bpl7TmoLzlvI/lhbHnlKjml7blsIblv73nlaUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MTEKK21zZ2lkICItLXJhdyBjYW4gYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tbGV2ZWwgb3IgLS1mYWNpbGl0eSBvbmx5IHdoZW4gcmVhZGluZyBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyIKK21zZ3N0ciAi5Y+q5pyJ5LuOIC9kZXYva21zZyDor7vmtojmga/ml7bvvIwtLXJhdyDmiY3lj6/kuI4gLS1sZXZlbCDmiJYgLS1mYWNpbGl0eSDlhbHnlKgiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1MjYKK21zZ2lkICJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIgorbXNnc3RyICLor7vlj5blhoXmoLjnvJPlhrLljLrlpLHotKUiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE1NDUKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAia2xvZ2N0bCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPnw8bW91bnRwb2ludD5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbPOiuvuWkhz58POaMguiHt+eCuT5dXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzOAorbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAi5by55Ye65Y+v56e75Yqo5aqS5L2TIFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDEKK21zZ2lkICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICB0dXJuIGF1dG8tZWplY3QgZmVhdHVyZSBvbiBvciBvZmZcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICBkaXNwbGF5IGRlZmF1bHQgZGV2aWNlXG4iCisiIC1mLCAtLWZsb3BweSAgICAgICAgICAgICAgICBlamVjdCBmbG9wcHlcbiIKKyIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIHRvZ2dsZSBtYW51YWwgZWplY3QgcHJvdGVjdGlvbiBvbi9vZmZcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIGRvIG5vdCB1bm1vdW50IGRldmljZSBldmVuIGlmIGl0IGlzIG1vdW50ZWRcbiIKKyIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorIiAtbiwgLS1ub29wICAgICAgICAgICAgICAgICAgZG9uJ3QgZWplY3QsIGp1c3Qgc2hvdyBkZXZpY2UgZm91bmRcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIHVzZSAvcHJvYy9tb3VudHMgaW5zdGVhZCBvZiAvZXRjL210YWJcbiIKKyIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKyIgLXIsIC0tY2Ryb20gICAgICAgICAgICAgICAgIGVqZWN0IENELVJPTVxuIgorIiAtcywgLS1zY3NpICAgICAgICAgICAgICAgICAgZWplY3QgU0NTSSBkZXZpY2VcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKyIgLVQsIC0tdHJheXRvZ2dsZSAgICAgICAgICAgIHRvZ2dsZSB0cmF5XG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICBlbmFibGUgdmVyYm9zZSBvdXRwdXRcbiIKKyIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisiIC1YLCAtLWxpc3RzcGVlZCAgICAgICAgICAgICBsaXN0IENELVJPTSBhdmFpbGFibGUgc3BlZWRzXG4iCittc2dzdHIgIiIKKyIgLWEsIC0tYXV0byA8b258b2ZmPiAgICAgICAgIOaJk+W8gC/lhbPpl63oh6rliqjlvLnlh7rlip/og71cbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3QgPOaPkuanvT4gICAg5Zyo5oyH5a6aIENELVJPTSDmm7TmjaLlmajkuIrmjaLnm5hcbiIKKyIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIOaYvuekuum7mOiupOiuvuWkh1xuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAg5by55Ye66L2v55uYXG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICDml6Dop4borr7lpIfnsbvlnotcbiIKKyIgLWksIC0tbWFudWFsZWplY3QgPG9ufG9mZj4gIOWIh+aNouaJi+WKqOW8ueWHuuS/neaKpOW8gC/lhbNcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIOS4jeWNuOi9veiuvuWkh++8jOWNs+S9v+Wug+W3suaMguiHt1xuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQg5LiN5Y246L295Y+m5aSW55qE5YiG5Yy6XG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICDkuI3lvLnlh7rvvIzlj6rmmL7npLrmib7liLDnmoTorr7lpIdcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIOS9v+eUqCAvcHJvYy9tb3VudHMg5Luj5pu/IC9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAg5by55Ye656OB5bimXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICDlvLnlh7ogQ0QtUk9NXG4iCisiIC1zLCAtLXNjc2kgICAgICAgICAgICAgICAgICDlvLnlh7ogU0NTSSDorr7lpIdcbiIKKyIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIOWFs+mXreaJmOebmFxuIgorIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAg5byA5YWz5omY55uYXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICDlkK/nlKjor6blsL3ovpPlh7pcbiIKKyIgLXgsIC0tY2RzcGVlZCA86YCf5bqmPiAgICAgICAg6K6+572uIENELVJPTSDmnIDpq5jpgJ/luqZcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIOWIl+WHuiBDRC1ST00g5Y+v55So6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjE2NAorbXNnaWQgIiIKKyJcbiIKKyJCeSBkZWZhdWx0IHRyaWVzIC1yLCAtcywgLWYsIGFuZCAtcSBpbiBvcmRlciB1bnRpbCBzdWNjZXNzLlxuIgorbXNnc3RyICIiCisiXG4iCisi6buY6K6k5bCG5L6d5qyh5bCd6K+VIC1y44CBLXPjgIEtZiDlkowgLXEg55u05Yiw5oiQ5Yqf44CCXG4iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjIxMAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jaGFuZ2Vyc2xvdC8tYyBvcHRpb24iCittc2dzdHIgIi0tY2hhbmdlcnNsb3QvLWMg6YCJ6aG555qE5Y+C5pWw5peg5pWIIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tY2RzcGVlZC8teCBvcHRpb24iCittc2dzdHIgIi0tY2RzcGVlZC8teCDpgInpobnnmoTlj4LmlbDml6DmlYgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjMyNQorbXNnaWQgIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g6Ieq5Yqo5by55Ye65ZG95Luk5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMzkKK21zZ2lkICJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIuS4jeaUr+aMgeWFieebmOS7k+mXqOmUgSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzQxCittc2dpZCAib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iCittc2dzdHIgIuWFtuS7lueUqOaIt+W8gOWQr+S6humpseWKqOWZqOS7k+mXqO+8jOW5tuS4lOmdniBDQVBfU1lTX0FETUlOIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKK21zZ2lkICJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g6ZSB5LuT6Zeo5ZG95Luk5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKK21zZ2lkICJDRC1Ecml2ZSBtYXkgTk9UIGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRCDpqbHliqjlmajkuI3og73pgJrov4forr7lpIfkuIrnmoTmjInpkq7lvLnlh7oiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM1MAorbXNnaWQgIkNELURyaXZlIG1heSBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0Qg6amx5Yqo5Zmo5Y+v5Lul6YCa6L+H6K6+5aSH5LiK55qE5oyJ6ZKu5by55Ye6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjEKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDpgInmi6nlhYnnm5jlkb3ku6TlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2NQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAiQ0QtUk9NIOS7juanveWKoOi9veWRveS7pOWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY3Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAi5q2k5YaF5qC45LiN5pSv5oyBIElERS9BVEFQSSBDRC1ST01cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg1Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDlhbPpl63ku5Ppl6jlkb3ku6TlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM4NworbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICLmraTlhoXmoLjkuI3mlK/mjIEgQ0QtUk9NIOWFs+mXreS7k+mXqOWRveS7pFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MDQKK21zZ2lkICJDRC1ST00gZWplY3QgdW5zdXBwb3J0ZWQiCittc2dzdHIgIuS4jeaUr+aMgSBDRC1ST00g5by55Ye6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIkNELVJPTSDlvLnlh7rlkb3ku6TlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorbXNnaWQgIm5vIENELVJPTSBpbmZvcm1hdGlvbiBhdmFpbGFibGUiCittc2dzdHIgIuayoeacieWPr+eUqOeahCBDRC1ST00g5L+h5oGvIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzgKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICJDRC1ST00g6amx5Yqo5Zmo5pyq5bCx57uqIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODEKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICJDRC1ST00g6YCJ5oup6YCf5bqm5ZG95Luk5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0ODMKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAi5q2k5YaF5qC45LiN5pSv5oyBIENELVJPTSDpgInmi6npgJ/luqblkb3ku6QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGZpbmRpbmcgQ0QtUk9NIG5hbWUiCittc2dzdHIgIiVz77ya6I635Y+WIENELVJPTSDlkI3np7DlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiCittc2dzdHIgIiVz77ya6K+7IOmAn+W6piDlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU0MworbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICLor7sg6YCf5bqmIOWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTgzCittc2dpZCAibm90IGFuIHNnIGRldmljZSwgb3Igb2xkIHNnIGRyaXZlciIKK21zZ3N0ciAi5LiN5pivIHNnIOiuvuWkh++8jOaIluS4uuaXpyBzZyDpqbHliqgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXPvvJrmraPlnKjljbjovb0iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3MworbXNnaWQgInVuYWJsZSB0byBmb3JrIgorbXNnc3RyICLml6Dms5UgZm9yayIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjgwCisjLCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIuWNuOi9veKAnCVz4oCd5pyq5q2j5bi46YCA5Ye6IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5tb3VudCBvZiBgJXMnIGZhaWxlZFxuIgorbXNnc3RyICLmjILoh7figJwlc+KAneWksei0pVxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3MjUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiCittc2dzdHIgIuino+aekOaMguiHt+ihqOWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Nzg2IHN5cy11dGlscy9lamVjdC5jOjg4NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXPvvJrlt7LmjILoh7fkuo4gJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorbXNnaWQgInNldHRpbmcgQ0QtUk9NIHNwZWVkIHRvIGF1dG8iCittc2dzdHIgIuato+WcqOWwhiBDRC1ST00g6YCf5bqm6K6+572u5Li66Ieq5YqoIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAi5q2j5Zyo5bCGIENELVJPTSDpgJ/luqborr7nva7kuLogJWxkWCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODU2CisjLCBjLWZvcm1hdAorbXNnaWQgImRlZmF1bHQgZGV2aWNlOiBgJXMnIgorbXNnc3RyICLpu5jorqTorr7lpIfvvJrigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODYyCisjLCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIuS9v+eUqOm7mOiupOiuvuWkh+KAnCVz4oCdIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIKK21zZ3N0ciAiJXPvvJrmib7kuI3liLDorr7lpIciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg4MworIywgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgbmFtZSBpcyBgJXMnIgorbXNnc3RyICLorr7lpIflkI3np7DkuLrigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6ODg5IHN5cy11dGlscy91bW91bnQuYzozMDkgc3lzLXV0aWxzL3Vtb3VudC5jOjMzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVz77ya5pyq5oyC6L29IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRpc2MgZGV2aWNlOiAlcyAoZGlzayBkZXZpY2Ugd2lsbCBiZSB1c2VkIGZvciBlamVjdCkiCittc2dzdHIgIiVz77ya55uY6K6+5aSH77yaJXMo55uY6K6+5aSH5bCG55So5LqO5by55Ye6KSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXPvvJrmnKrmib7liLDmjIflrprlkI3np7DnmoTmjILovb3ngrnmiJborr7lpIciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgd2hvbGUtZGlzayBkZXZpY2UiCittc2dzdHIgIiVz77ya5pivIOaVtOebmCDorr7lpIciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwOAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlc++8muS4jeaYr+eDreaPkuaLlOiuvuWkhyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBpcyBgJXMnIgorbXNnc3RyICLorr7lpIfmmK/igJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEzCittc2dpZCAiZXhpdGluZyBkdWUgdG8gLW4vLS1ub29wIG9wdGlvbiIKK21zZ3N0ciAi5bCG5ZugIC1uLy0tbm9vcCDpgInpobnpgIDlh7oiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlc++8muato+WcqOWQr+eUqOiHquWKqOW8ueWHuuaooeW8jyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNhYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlc++8muato+WcqOemgeeUqOiHquWKqOW8ueWHuuaooeW8jyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTM3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjbG9zaW5nIHRyYXkiCittc2dzdHIgIiVz77ya5q2j5Zyo5YWz6Zet5LuT6ZeoIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVz77ya5byA5YWz5LuT6ZeoIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIgorbXNnc3RyICIlc++8muato+WcqOWIl+WHuiBDRC1ST00g6YCf5bqmIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICLplJnor6/vvJolc++8muiuvuWkh+ato+WcqOS9v+eUqCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWxlY3RpbmcgQ0QtUk9NIGRpc2MgIyVsZCIKK21zZ3N0ciAiJXPvvJrmraPlnKjpgInmi6kgQ0QtUk9NIOebmCAjJWxkIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVz77ya5q2j5Zyo5bCd6K+V5L2/55SoIENELVJPTSDlvLnlh7rlkb3ku6TlvLnlh7oiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDUKK21zZ2lkICJDRC1ST00gZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIkNELVJPTSDlvLnlh7rlkb3ku6TmiJDlip8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIgorbXNnc3RyICIlc++8muato+WcqOWwneivleS9v+eUqCBTQ1NJIOWRveS7pOW8ueWHuiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMgorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJTQ1NJIOW8ueWHuuaIkOWKnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworbXNnaWQgIlNDU0kgZWplY3QgZmFpbGVkIgorbXNnc3RyICJTQ1NJIOW8ueWHuuWksei0pSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIgorbXNnc3RyICIlc++8muato+WcqOWwneivleS9v+eUqOi9r+ebmOW8ueWHuuWRveS7pOW8ueWHuiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxOQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAi6L2v55uY5by55Ye65ZG95Luk5oiQ5YqfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIwCittc2dpZCAiZmxvcHB5IGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLova/nm5jlvLnlh7rlkb3ku6TlpLHotKUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyB0YXBlIG9mZmxpbmUgY29tbWFuZCIKK21zZ3N0ciAiJXPvvJrmraPlnKjlsJ3or5Xkvb/nlKjno4HluKbnprvnur/lkb3ku6TlvLnlh7oiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMjYKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIuejgeW4puemu+e6v+WRveS7pOaIkOWKnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworbXNnaWQgInRhcGUgb2ZmbGluZSBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi56OB5bim56a757q/5ZG95Luk5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDMxCittc2dpZCAidW5hYmxlIHRvIGVqZWN0IgorbXNnc3RyICLml6Dms5XlvLnlh7oiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDzmlofku7blkI0+XG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo4NworbXNnaWQgIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIgorbXNnc3RyICLkuLrmlofku7bpooTliIbphY3nqbrpl7TmiJbku47mlofku7blm57mlLbnqbrpl7TjgIJcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIOenu+mZpOaWh+S7tuS4reeahOafkOS4quiMg+WbtFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiAtZCwgLS1kaWctaG9sZXMgICAgICDmo4DmtYvpm7blubbmm7/mjaLkuLrnqbrmtJ5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkyCittc2dpZCAiIC1pLCAtLWluc2VydC1yYW5nZSAgIGluc2VydCBhIGhvbGUgYXQgcmFuZ2UsIHNoaWZ0aW5nIGV4aXN0aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTMKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDzmlbDlrZc+ICDojIPlm7Tmk43kvZznmoTplb/luqYo5a2X6IqC5pWwKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTQKK21zZ2lkICIgLW4sIC0ta2VlcC1zaXplICAgICAgbWFpbnRhaW4gdGhlIGFwcGFyZW50IHNpemUgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgIOS/neaMgeaWh+S7tueahOaYvuekuuWkp+Wwj1xuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTUKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLW8sIC0tb2Zmc2V0IDzmlbDlrZc+ICDojIPlm7Tmk43kvZznmoTlgY/np7vph48o5a2X6IqC5pWwKVxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTYKK21zZ2lkICIgLXAsIC0tcHVuY2gtaG9sZSAgICAgcmVwbGFjZSBhIHJhbmdlIHdpdGggYSBob2xlIChpbXBsaWVzIC1uKVxuIgorbXNnc3RyICIgLXAsIC0tcHVuY2gtaG9sZSAgICAg5bCG5p+Q5Liq6IyD5Zu05pu/5o2i5Li656m65rSeKOi/nuW4puaJk+W8gCAtbilcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk3Cittc2dpZCAiIC16LCAtLXplcm8tcmFuZ2UgICAgIHplcm8gYW5kIGVuc3VyZSBhbGxvY2F0aW9uIG9mIGEgcmFuZ2VcbiIKK21zZ3N0ciAiIC16LCAtLXplcm8tcmFuZ2UgICAgIOa4hembtuW5tuS/neivgeWIhumFjeafkOS4quiMg+WbtFxuIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiIC14LCAtLXBvc2l4ICAgICAgICAgIHVzZSBwb3NpeF9mYWxsb2NhdGUoMykgaW5zdGVhZCBvZiBmYWxsb2NhdGUoMilcbiIKK21zZ3N0ciAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIOaJk+WNsOeJqeeQhiBJRCDogIzpnZ7pgLvovpEgSURcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEzNQorbXNnaWQgImZhbGxvY2F0ZSBmYWlsZWQ6IGtlZXAgc2l6ZSBtb2RlIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJmYWxsb2NhdGUg5aSx6LSl77yb5LiN5pSv5oyB5L+d5oyB5aSn5bCPKGtlZXAgc2l6ZSkg5qih5byPIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MTM2IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxNDUKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICJmYWxsb2NhdGUg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpyZWFkIOWksei0pSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjI3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgKCVqdSBieXRlcykgY29udmVydGVkIHRvIHNwYXJzZSBob2xlcy5cbiIKK21zZ3N0ciAiJXPvvJrlt7LlsIYgJXMoJWp1IOWtl+iKgikg6L2s5o2i5Li656iA55aP56m65rSe44CCXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuaWh+S7tuWQjSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICLmjIflrprnmoTplb/luqblgLzml6DmlYgiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLmsqHmnInmjIflrprplb/luqblj4LmlbAiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIuaMh+WumueahOWBj+enu+WAvOaXoOaViCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gLWMgPGNvbW1hbmQ+XG4iCisiICUxJHMgW29wdGlvbnNdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+mAiemhuV0gPOaWh+S7tnznm67lvZU+IDzlkb3ku6Q+IFs85Y+C5pWwPi4uLl1cbiIKKyIgJTEkcyBb6YCJ6aG5XSA85paH5Lu2fOebruW9lT4gLWMgPOWRveS7pD5cbiIKKyIgJTEkcyBb6YCJ6aG5XSA85paH5Lu25o+P6L+w56ym5Y+356CBPlxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo1OQorbXNnaWQgIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIKK21zZ3N0ciAi6YCa6L+HIHNoZWxsIOiEmuacrOeuoeeQhuaWh+S7tumUgeOAglxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorbXNnaWQgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIKK21zZ3N0ciAiIC1zLCAtLXNoYXJlZCAgICAgICAgICAgICDojrflj5blhbHkuqvplIFcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjMKK21zZ2lkICIgLXgsIC0tZXhjbHVzaXZlICAgICAgICAgIGdldCBhbiBleGNsdXNpdmUgbG9jayAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICDojrflj5bmjpLku5bplIEo6buY6K6kKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorbXNnaWQgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIgorbXNnc3RyICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIOenu+mZpOmUgVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NQorbXNnaWQgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAgZmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCittc2dzdHIgIiAtbiwgLS1ub25ibG9jayAgICAgICAgICAg5aSx6LSl6ICM6Z2e562J5b6FXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY2Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIC13LCAtLXRpbWVvdXQgPOenkj4gICAgICAg562J5b6F6ZmQ5a6a55qE5pe26Ze0XG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY3Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA85pWw5a2XPiAgICAg5Yay56qB5oiW6LaF5pe25ZCO55qE6YCA5Ye65Luj56CBXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4Cittc2dpZCAiIC1vLCAtLWNsb3NlICAgICAgICAgICAgICBjbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorbXNnc3RyICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIOi/kOihjOWRveS7pOWJjeWFs+mXreaWh+S7tuaPj+i/sOesplxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2OQorbXNnaWQgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iCittc2dzdHIgIiAtYywgLS1jb21tYW5kIDzlkb3ku6Q+ICAgICAg6YCa6L+HIHNoZWxsIOi/kOihjOWNleS4quWRveS7pOWtl+espuS4slxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo3MAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgIOaJp+ihjOWRveS7pOaXtuS4jSBmb3JrXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICBpbmNyZWFzZSB2ZXJib3NpdHlcbiIKK21zZ3N0ciAiICAgICAtLXZlcmJvc2UgICAgICAgICAgICDlop7liqDor6blsL3nqIvluqZcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIGxvY2sgZmlsZSAlcyIKK21zZ3N0ciAi5LiN6IO95omT5byA6ZSB5paH5Lu2ICVzIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMDgKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgIuaXoOaViOeahCDotoXml7blgLwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIxMgorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICLml6DmlYjpgIDlh7rku6PnoIEiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICItLW5vLWZvcmsg5ZKMIC0tY2xvc2Ug6YCJ6aG55LiN5YW85a65IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMg6ZyA6KaB5oOf5LiA55qE5ZG95Luk6KGM5Y+C5pWwIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKK21zZ2lkICJiYWQgZmlsZSBkZXNjcmlwdG9yIgorbXNnc3RyICLplJnor6/nmoTmlofku7bmj4/ov7DnrKYiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI1OAorbXNnaWQgInJlcXVpcmVzIGZpbGUgZGVzY3JpcHRvciwgZmlsZSBvciBkaXJlY3RvcnkiCittc2dzdHIgIumcgOimgeaWh+S7tuaPj+i/sOespuOAgeaWh+S7tuaIluebruW9lSIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjgyCittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICLojrflj5bplIHlpLHotKUiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OQorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAi562J5b6F6I635b6X6ZSB6LaF5pe2IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGdldHRpbmcgbG9jayB0b29rICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVz77ya562J5b6F6I635b6X6ZSB6Iqx5LqGICVsZC4lMDZsZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRpbmcgJXNcbiIKK21zZ3N0ciAiJXM6IOato+WcqOaJp+ihjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzo0MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxtb3VudHBvaW50PlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOaMguiHt+eCuT5cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDQKKyMsIGZ1enp5Cittc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmjILovb3mlofku7bns7vnu5/jgIJcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDcKK21zZ2lkICIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAtZiwgLS1mcmVlemUgICAgICDlhrvnu5Pmlofku7bns7vnu59cbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIC11LCAtLXVuZnJlZXplICAgIOino+WGu+aWh+S7tuezu+e7n1xuIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDUKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICLml6LmnKrmjIflrpogLS1mcmVlemUg5Lmf5pyq5oyH5a6aIC0tdW5mcmVlemUiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlc++8muS4jeaYr+ebruW9lSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlc++8muWGu+e7k+Wksei0pSIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVz77ya6Kej5Ya75aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPvvJrkuI3mmK/kuIDkuKrnm67lvZUiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogRklUUklNIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpGSVRSSU0gaW9jdGwg5aSx6LSlIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIHN0YW5kYXJkIHZhbHVlIGhlcmUgaXMgYSB2ZXJ5IGxhcmdlIG51bWJlci4KKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXPvvJolcyAoJTxQUkl1NjQ+IOWtl+iKgikg5bey5L+u5YmqXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIgorbXNnc3RyICLop6PmnpAgJXMg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50IHBvaW50PlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOaMguiHt+eCuT5cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NworbXNnaWQgIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5b+955Wl5bey5oyC6L295paH5Lu257O757uf5LiK55qE5pyq55So6ZSB44CCXG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjAKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICDkv67liarkuI3mlK/mjIHnmoTmiYDmnInlt7LmjILovb3mlofku7bns7vnu59cbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MQorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gIHRoZSBvZmZzZXQgaW4gYnl0ZXMgdG8gc3RhcnQgZGlzY2FyZGluZyBmcm9tXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPOaVsOWtlz4g5byA5aeL5Lii5byD55qE5YGP56e76YePKOWtl+iKgilcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MgorbXNnaWQgIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIgorbXNnc3RyICIgLWwsIC0tbGVuZ3RoIDzmlbDlrZc+IOimgeS4ouW8g+eahOWtl+espuaVsFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYzCittc2dpZCAiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iCittc2dzdHIgIiAtbSwgLS1taW5pbXVtIDzmlbDlrZc+IOimgeS4ouW8g+eahOacgOWwj+mZkOWItumVv+W6plxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjY0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICDmiZPljbDkuKLlvIPnmoTlrZfoioLmlbBcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtaW5pbXVtIGV4dGVudCBsZW5ndGgiCittc2dzdHIgIuino+aekCDmnIDlsI/ojIPlm7Tplb/luqYg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MzMxCittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuaMgui9veeCuSIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIiVz77ya5LiN5pSv5oyB5Lii5byD5pON5L2cIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIuWwhuWBh+iuvuehrOS7tuaXtumSn+S/neaMgeS4uiAlcyDml7bpl7TjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAi5b2T5ZywIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorbXNnaWQgIiIKKyJXYXJuaW5nOiB1bnJlY29nbml6ZWQgdGhpcmQgbGluZSBpbiBhZGp0aW1lIGZpbGVcbiIKKyIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIgorbXNnc3RyICIiCisi6K2m5ZGK77yaYWRqdGltZSDmlofku7bnrKzkuInooYzml6Dms5Xor4bliKtcbiIKKyIo5bqU5Li677ya4oCcVVRD4oCd5oiW4oCcTE9DQUzigJ3miJbnqbopIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MQorIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIuS4iuasoea8guenu+iwg+aVtOWujOaIkOS6jjE5Njko5bm0KeWQjiAlbGQg56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIkxhc3QgY2FsaWJyYXRpb24gZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iCittc2dzdHIgIuS4iuasoeagoeWHhuWujOaIkOS6jjE5Njko5bm0KeWQjiAlbGQg56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkhhcmR3YXJlIGNsb2NrIGlzIG9uICVzIHRpbWVcbiIKK21zZ3N0ciAi56Gs5Lu25pe26ZKf5Li6ICVzIOaXtumXtFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJXYWl0aW5nIGZvciBjbG9jayB0aWNrLi4uXG4iCittc2dzdHIgIuato+WcqOetieetieaXtumSn+a7tOetlC4uLlxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI5OAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5zeW5jaHJvbml6YXRpb24gZmFpbGVkXG4iCittc2dzdHIgIi4uLuWQjOatpeWksei0pVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjMwMAorIywgYy1mb3JtYXQKK21zZ2lkICIuLi5nb3QgY2xvY2sgdGlja1xuIgorbXNnc3RyICIuLi7lt7Lojrflj5bml7bpkp/mu7TnrZRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCB2YWx1ZXMgaW4gaGFyZHdhcmUgY2xvY2s6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKK21zZ3N0ciAi56Gs5Lu25pe26ZKf5YC85peg5pWI77yaJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjM0OQorIywgYy1mb3JtYXQKK21zZ2lkICJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi56Gs5Lu25pe26ZKf5pe26Ze077yaJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9IDE5Njko5bm0KeWQjiAlbGQg56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIuS7juehrOS7tuaXtumSn+ivu+WPlueahOaXtumXtO+8miU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi5q2j5Zyo5bCG56Gs5Lu25pe26ZKf6K6+572u5Li6ICUuMmQ6JS4yZDolLjJkID0gMTk2OSjlubQp5ZCOICVsZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzIHRvICVsZC4lMDZsZCAtIHJldGFyZ2V0aW5nXG4iCittc2dzdHIgIuaXtumXtOWAkumAgOS6hiAlLjZmIOenkuWIsCAlbGQuJTA2bGQgLSDmraPlnKjph43mlrDlrprkvY1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAibWlzc2VkIGl0IC0gJWxkLiUwNmxkIGlzIHRvbyBmYXIgcGFzdCAlbGQuJTA2bGQgKCUuNmYgPiAlLjZmKVxuIgorbXNnc3RyICLplJnov4fkuoYtICVsZC4lMDZsZCDlnKggJWxkLiUwNmxkIOS5i+WQjuWkqumVv+aXtumXtOS6higlLjZmID4gJS42ZilcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIlbGQuJTA2bGQgaXMgY2xvc2UgZW5vdWdoIHRvICVsZC4lMDZsZCAoJS42ZiA8ICUuNmYpXG4iCisiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIgorbXNnc3RyICIiCisiJWxkLiUwNmQg6LedICVsZC4lMDZkIOWkqui/kSglLjZmIDwgJS42ZilcbiIKKyLor7flsIYgUlRDIOiuvuS4uiAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmQpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSB0byBzZXQgcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjYyOAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsIDApIHRvIGxvY2sgdGhlIHdhcnAgZnVuY3Rpb24uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheSglbGQuJTA2bGQsICVkKVxuIgorbXNnc3RyICLmraPlnKjosIPnlKggc2V0dGltZW9mZGF577yaXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxsaW5nIHNldHRpbWVvZmRheShOVUxMLCAlZCkgIgorbXNnc3RyICLmraPlnKjosIPnlKggc2V0dGltZW9mZGF577yaXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM2Cittc2dpZCAidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjM4Cittc2dpZCAidG8gd2FycCBTeXN0ZW0gdGltZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NTUKK21zZ2lkICJzZXR0aW1lb2ZkYXkoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIOWksei0pSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAi5bCG5LiN6LCD5pW05ryC56e757O75pWw77yM5Zug5Li65rKh5pyJ5L2/55SoIC0tdXBkYXRlLWRyaWZ0IOmAiemhueOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSBsYXN0IGNhbGlicmF0aW9uIHRpbWUgaXMgemVybyxcbiIKKyJzbyBoaXN0b3J5IGlzIGJhZCBhbmQgY2FsaWJyYXRpb24gc3RhcnRvdmVyIGlzIG5lY2Vzc2FyeS5cbiIKK21zZ3N0ciAiIgorIuWwhuS4jeiwg+aVtOa8guenu+ezu+aVsO+8jOWboOS4uuS4iuasoeagoeWHhuaXtumXtOS4uumbtu+8jFxuIgorIuWOhuWPsuaciemXrumimO+8m+mcgOimgeWQr+WKqOagoeWHhuOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY4OQorIywgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICLlsIbkuI3osIPmlbTmvILnp7vns7vmlbDvvIzlm6DkuLrot53kuIrmrKHmoKHmraPkuI3liLDlm5vkuKrlsI/ml7bjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisi5pe26ZKf5ryC56e757O75pWw5Lya5oyJICVmIOenki/lpKnorqHnrpfjgIJcbiIKKyLns7vmlbDov4flpKfvvIzlsIbph43nva7kuLogMOOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0ZWQgJWYgc2Vjb25kcyBpbiB0aGUgcGFzdCAlZiBzZWNvbmRzXG4iCisiaW4gc3BpdGUgb2YgYSBkcmlmdCBmYWN0b3Igb2YgJWYgc2Vjb25kcy9kYXkuXG4iCisiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIgorbXNnc3RyICLlnKjov4fljrvnmoQgJTIkZCDnp5LlhoXvvIzml7bpkp/mvILnp7vkuoYgJTEkLjFmIOenku+8jOiAjOa8guenu+ezu+aVsOS4uiAlMyRmIOenki/lpKnjgILkvJrlsIbmvILnp7vns7vmlbDosIPmlbQgJTQkZiDnp5Iv5aSpXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Nzc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIlRpbWUgc2luY2UgbGFzdCBhZGp1c3RtZW50IGlzICVsZCBzZWNvbmRzXG4iCittc2dzdHJbMF0gIui3neS4iuasoeiwg+aVtOeahOaXtumXtOS4uiAlZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICLorqHnrpflh7rnmoTnoazku7bplIHlgY/lt67kuLogJWxkLiUwNmxkIOenklxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1cGRhdGUgJXMiCittc2dzdHIgIuaJk+S4jeW8gCAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCBzbyBoaXN0b3J5IGlzIGJhZC5cbiIKK21zZ3N0ciAi5bCG5LiN6K6+572u5pe26ZKf77yM5Zug5Li65LiK5qyh6LCD5pW05pe26Ze05Li66Zu277yM5Y6G5Y+y5pyJ6K+v44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODU3CisjLCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAi5bCG5LiN6K6+572u5pe26ZKf77yM5Zug5Li65LiK5qyh5ryC56e757O75pWwICVmIOi/h+mrmOOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICLmnKrmib7liLDlj6/nlKjnmoTml7bpkp/mjqXlj6PjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKK21zZ2lkICJDYW5ub3QgYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jayB2aWEgYW55IGtub3duIG1ldGhvZC4iCittc2dzdHIgIuaXoOazlemAmui/h+W3suefpeeahOS7u+S9leaWueW8j+iuv+mXruehrOS7tuaXtumSn+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODkKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLXZlcmJvc2Ugb3B0aW9uIHRvIHNlZSB0aGUgZGV0YWlscyBvZiBvdXIgc2VhcmNoIGZvciBhbiBhY2Nlc3MgbWV0aG9kLiIKK21zZ3N0ciAi6K+35L2/55SoIC0tZGVidWcg6YCJ6aG55p2l6KeC5a+f56iL5bqP5pCc57Si6K6/6Zeu5pa55rOV55qE6K+m5oOF44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjkzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUYXJnZXQgZGF0ZTogICAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk0MAorIywgYy1mb3JtYXQKK21zZ2lkICJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk3MAorbXNnaWQgIlJUQyByZWFkIHJldHVybmVkIGFuIGludmFsaWQgdmFsdWUuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6OTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCBzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIKK21zZ3N0ciAi6ZyA6KaB55qE6LCD5pW05LiN5Yiw5LiA56eS77yM5bCG5LiN6K6+572u5pe26ZKf44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTAzNQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gcmVhZCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAi5LiN6IO96K+76LaF57qn5Z2XIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIFJUQyBlcG9jaCBpcyBzZXQgdG8gJWx1LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MAorbXNnaWQgIi0tZXBvY2ggaXMgcmVxdWlyZWQgZm9yIC0tc2V0ZXBvY2guIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA0MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gc2V0IHRoZSBSVEMgZXBvY2guIgorbXNnc3RyICLml6Dms5Xorr7nva7ns7vnu5/ml7bpkp/jgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW2Z1bmN0aW9uXSBbb3B0aW9uLi4uXVxuIgorbXNnc3RyICIgaHdjbG9jayBb5Yqf6IO9XSBb6YCJ6aG5Li4uXVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjAKK21zZ2lkICJUaW1lIGNsb2NrcyB1dGlsaXR5LiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXNob3cgICAgICAgICAgIGRpc3BsYXkgdGhlIFJUQyB0aW1lIgorbXNnc3RyICIgLXIsIC0tcmF3ICAgICAgICAgICAgICAgIOS7peWOn+Wni+aWueW8j+aYvuekulxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWdldCAgICAgICAgICAgIGRpc3BsYXkgZHJpZnQgY29ycmVjdGVkIFJUQyB0aW1lIgorbXNnc3RyICIgLVosIC0tY29udGV4dCAgICAgICAgICAgIOaYvuekuiBTRUxpbnV4IOeOr+Wig1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9ruerr+WPo1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjYKK21zZ2lkICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBSVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiIC10LCAtLXR5cGVzIDzliJfooag+ICAgICAg6ZmQ5Yi25paH5Lu257O757uf6ZuG5ZCIXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OAorbXNnaWQgIiAgICAgLS1zeXN0eiAgICAgICAgICBzZW5kIHRpbWVzY2FsZSBjb25maWd1cmF0aW9ucyB0byB0aGUga2VybmVsIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2OQorbXNnaWQgIiAtYSwgLS1hZGp1c3QgICAgICAgICBhZGp1c3QgdGhlIFJUQyB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljIGRyaWZ0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZGlzcGxheSB0aGUgUlRDIGVwb2NoIgorbXNnc3RyICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyDkvb/nlKggVVRDXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9jYWx0aW1lICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgTG9jYWwiCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIOS9v+eUqOacrOWcsOaXtuWMulxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICB1c2UgYW4gYWx0ZXJuYXRlIGZpbGUgdG8gJTEkc1xuIgorbXNnc3RyICIgLUYsIC0tZmlsZSA85paH5Lu2PiAgICDnlKjmjIflrprmlofku7bku6Pmm78gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZT4gICAgZGF0ZS90aW1lIGlucHV0IGZvciAtLXNldCBhbmQgLS1wcmVkaWN0IgorbXNnc3RyICIgICAgIC0tZGF0ZSA85pe26Ze05oizPiAgICAgIOWUpOmGkuaXtumXtOaIs+eahOaXpeacn+aXtumXtFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKK21zZ2lkICIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgdXNlICUxJHNcbiIKK21zZ3N0ciAiICAgICAgLS1ub2hlYWRpbmdzICAgICDkuI3miZPljbDmoIfpophcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1GLCAtLWZpbGUgPOaWh+S7tj4gICAg55So5oyH5a6a5paH5Lu25Luj5pu/ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICDnqbrov5DooYzvvJvot7Pov4cgdW1vdW50KDIpIOezu+e7n+iwg+eUqFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgICAgIC0tdmVyYm9zZSAgICAgICAgICDmiZPljbDmm7TlpJrnu4boioJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2Cittc2dpZCAiVW5hYmxlIHRvIGNvbm5lY3QgdG8gYXVkaXQgc3lzdGVtIgorbXNnc3RyICLml6Dms5Xov57mjqXliLDlrqHorqHns7vnu58iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTIxMAorbXNnaWQgInVzZSAtLXZlcmJvc2UsIC0tZGVidWcgaGFzIGJlZW4gZGVwcmVjYXRlZC4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB0b28gbWFueSBhcmd1bWVudHMgZ2l2ZW4iCittc2dzdHIgIuWPguaVsOi/h+WkmiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzE3Cittc2dpZCAiLS11cGRhdGUtZHJpZnQgcmVxdWlyZXMgLS1zZXQgb3IgLS1zeXN0b2hjIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyMgorbXNnaWQgIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lIgorbXNnc3RyICLmjIflrpogLS1ub2FkamZpbGUg5pe277yM5oKo5b+F6aG75oyH5a6aIC0tdXRjIOaIliAtLWxvY2FsdGltZSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzI5Cittc2dpZCAiLS1kYXRlIGlzIHJlcXVpcmVkIGZvciAtLXNldCBvciAtLXByZWRpY3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGRhdGUgJyVzJyIKK21zZ3N0ciAi5peg5pWIIElE77yaJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTM0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU3lzdGVtIFRpbWU6ICVsZC4lMDZsZFxuIgorbXNnc3RyICLlvZPliY3ns7vnu5/ml7bpl7TvvJolbGQgPSAlc1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNjUKKyMsIGZ1enp5Cittc2dpZCAiVGVzdCBtb2RlOiBub3RoaW5nIHdhcyBjaGFuZ2VkLiIKK21zZ3N0ciAi5LiK5qyh5pu05pS55pe26Ze0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzg5CisjLCBmdXp6eQorbXNnaWQgIklTQSBwb3J0IGFjY2VzcyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgInBseW1vdXRoIOivt+axgiAlYyDmsqHmnInlrp7njrAiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIKK21zZ3N0ciAi5peg5rOV6K6/6Zeu5paH5Lu2ICVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmM6Mzk3CisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIGRpcmVjdCBJU0EgYWNjZXNzIHRvIHRoZSBjbG9jayIKK21zZ3N0ciAi5bCG5a+5IElTQSDml7bpkp/kvb/nlKjnm7TmjqUgSS9PIOaMh+S7pOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAi5q2j5Zyo5bCd6K+V5Y246L29ICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAi5omT5LiN5byAICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTg2CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi5a+5ICUyJHMg55qE6K+75Y+W5pe26Ze0IGlvY3RsKCUxJHMpIOWksei0pSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICLmraPlnKjlvqrnjq/nrYnlvoXmnaXoh6ogJXMg55qE5pe26Ze05pu05pS5XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworbXNnaWQgIlRpbWVkIG91dCB3YWl0aW5nIGZvciB0aW1lIGNoYW5nZS4iCittc2dzdHIgIuetieW+heaXtumXtOabtOaUuei2heaXtuOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgdGltZWQgb3V0IgorbXNnc3RyICLlr7kgJXMgc2VsZWN0KCkg5Lul562J5b6F5pe26ZKf5ZiA5ZeS6LaF5pe2IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayBmYWlsZWQiCittc2dzdHIgIuWvuSAlcyBzZWxlY3QoKSDku6XnrYnlvoXml7bpkp/lmIDll5LlpLHotKUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5NworIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIKK21zZ3N0ciAi5a+5ICVzIGlvY3RsKCkg5Lul5YWz6Zet5pu05paw5Lit5pat5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiCittc2dzdHIgIuWvuSAlcyDov5vooYwgaW9jdGwoUlRDX0VQT0NIX1NFVCkg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVzKSB0byAlcyB0byBzZXQgdGhlIHRpbWUgZmFpbGVkIgorbXNnc3RyICLlr7kgJTIkcyBpb2N0bCglMSRzKSDku6Xorr7nva7ml7bpl7TlpLHotKXjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM2MgorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgd2FzIHN1Y2Nlc3NmdWwuXG4iCittc2dzdHIgImlvY3RsKCVzKSDmiJDlip/jgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzczCisjLCBmdXp6eQorbXNnaWQgIlVzaW5nIHRoZSBydGMgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIuWwhuWvueaXtumSn+S9v+eUqCAvZGV2IOaOpeWPo+OAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAi5a+5ICVzIOi/m+ihjCBpb2N0bChSVENfRVBPQ0hfUkVBRCkg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIgorbXNnc3RyICLlr7kgJXMg6L+b6KGMIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSDlpLHotKUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBlcG9jaCAnJXMnLiIKK21zZ3N0ciAi5peg5pWIIElE77yaJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQ0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIgorbXNnc3RyICLlr7kgJXMg6L+b6KGMIGlvY3RsKFJUQ19FUE9DSF9TRVQpIOWksei0pSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIuWvuSAlcyDov5vooYwgaW9jdGwoUlRDX0VQT0NIX1NFVCkg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MAorbXNnaWQgIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iCittc2dzdHIgIuWIm+W7uuWQhOenjSBJUEMg6LWE5rqQ44CCXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjczCittc2dpZCAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbSA85bC65a+4PiAgICAgICDliJvlu7rlpKflsI/kuLrmjIflrpo85bC65a+4PueahOWFseS6q+WGheWtmOauteOAglxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUgPG51bWJlcj4gY3JlYXRlIHNlbWFwaG9yZSBhcnJheSB3aXRoIDxudW1iZXI+IGVsZW1lbnRzXG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUgPOaVsOWtlz4gICDliJvlu7rljIXlkKsgPOaVsOWtlz4g5Liq5YWD57Sg55qE5L+h5Y+36YePXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjc1Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOWIm+W7uua2iOaBr+mYn+WIl1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorbXNnaWQgIiAtcCwgLS1tb2RlIDxtb2RlPiAgICAgICAgcGVybWlzc2lvbiBmb3IgdGhlIHJlc291cmNlIChkZWZhdWx0IGlzIDA2NDQpXG4iCittc2dzdHIgIiAtcCwgLS1tb2RlIDzmqKHlvI8+ICAgICAgICDotYTmupDnmoTmnYPpmZDmqKHlvI/mjqnnoIEo6buY6K6k5Li6IDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBzaXplIgorbXNnc3RyICLop6PmnpDlpKflsI/lpLHotKUiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExNworbXNnaWQgImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIKK21zZ3N0ciAi6Kej5p6Q5YWD57Sg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDEKK21zZ2lkICJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIKK21zZ3N0ciAi5Yib5bu65YWx5Lqr5YaF5a2Y5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2hhcmVkIG1lbW9yeSBpZDogJWRcbiIKK21zZ3N0ciAi5YWx5Lqr5YaF5a2YIGlk77yaJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTQ5Cittc2dpZCAiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIgorbXNnc3RyICLliJvlu7rmtojmga/pmJ/liJflpLHotKUiCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1MQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIHF1ZXVlIGlkOiAlZFxuIgorbXNnc3RyICLmtojmga/pmJ/liJcgaWTvvJolZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTcKK21zZ2lkICJjcmVhdGUgc2VtYXBob3JlIGZhaWxlZCIKK21zZ3N0ciAi5Yib5bu65L+h5Y+36YeP5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VtYXBob3JlIGlkOiAlZFxuIgorbXNnc3RyICLkv6Hlj7fph48gaWTvvJolZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIiCisiICUxJHMgW+mAiemhuV1cbiIKKyIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU1Cittc2dpZCAiUmVtb3ZlIGNlcnRhaW4gSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAi56e76Zmk5p+Q5LiqIElQQyDotYTmupDjgIJcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTgKK21zZ2lkICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAgcmVtb3ZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBieSBpZFxuIgorbXNnc3RyICIgLW0sIC0tc2htZW0taWQgPGlkPiAgICAgICAg5oyJIGlkIOWPt+enu+mZpOWFseS6q+WGheWtmOautVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo1OQorbXNnaWQgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIgorbXNnc3RyICIgLU0sIC0tc2htZW0ta2V5IDzplK4+ICAgICAgIOaMiemUruWAvOenu+mZpOWFseS6q+WGheWtmOautVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MAorbXNnaWQgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBpZFxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAg5oyJIGlkIOWPt+enu+mZpOa2iOaBr+mYn+WIl1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MQorbXNnaWQgIiAtUSwgLS1xdWV1ZS1rZXkgPGtleT4gICAgICByZW1vdmUgbWVzc2FnZSBxdWV1ZSBieSBrZXlcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlLWtleSA86ZSuPiAgICAgICDmjInplK7lgLznp7vpmaTmtojmga/pmJ/liJdcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjIKK21zZ2lkICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIgorbXNnc3RyICIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAg5oyJIGlkIOWPt+enu+mZpOS/oeWPt+mHj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2MworbXNnaWQgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICByZW1vdmUgc2VtYXBob3JlIGJ5IGtleVxuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlLWtleSA86ZSuPiAg5oyJ6ZSu5YC856e76Zmk5L+h5Y+36YePXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY0Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGxbPTxzaG18bXNnfHNlbT5dICAo5bCG5oyH5a6a57G75Yir5Lit55qEKeWFqOmDqOenu+mZpFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo2NQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeK5q2j5Zyo6L+b6KGM55qE5pON5L2cXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBpZCBgJWQnXG4iCittc2dzdHIgIuato+WcqOenu+mZpOWFseS6q+WGheWtmOautSBpZCDigJwlZOKAnVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBtZXNzYWdlIHF1ZXVlIGlkIGAlZCdcbiIKK21zZ3N0ciAi5q2j5Zyo56e76Zmk5raI5oGv6Zif5YiXIGlkIOKAnCVk4oCdXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBjLWZvcm1hdAorbXNnaWQgInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iCittc2dzdHIgIuato+WcqOenu+mZpOS/oeWPt+mHjyBpZCDigJwlZOKAnVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAi5a+5IOmUriDnmoTmnYPpmZDkuI3otrMiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEwOAorbXNnaWQgInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIKK21zZ3N0ciAi5a+5IGlkIOeahOadg+mZkOS4jei2syIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICLml6DmlYjplK4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIuaXoOaViCBpZCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIuW3suenu+mZpOeahOmUriIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICLlt7Lnp7vpmaTnmoQgaWQiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKK21zZ2lkICJrZXkgZmFpbGVkIgorbXNnc3RyICLplK7lpLHotKUiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNworbXNnaWQgImlkIGZhaWxlZCIKK21zZ3N0ciAiSUQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIuaXoOaViCBJRO+8miVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICLotYTmupDlt7LliKDpmaRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwga2V5ICglcykiCittc2dzdHIgIumdnuazleeahOmUriglcykiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI1NgorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAi5YaF5qC45pyq5YGa5YWx5Lqr5YaF5a2Y55qE55u45YWz6YWN572uIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiCittc2dzdHIgIuWGheaguOacquWBmuS/oeWPt+mHj+eahOebuOWFs+mFjee9riIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjkwCittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAi5YaF5qC45pyq5YGa5raI5oGv55qE55u45YWz6YWN572uIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6LWE5rqQ6YCJ6aG5Li4uXSBb6L6T5Ye66YCJ6aG5XVxuIgorIiAlMSRzIC1tfC1xfC1zIC1pIDxpZD5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKK21zZ2lkICJTaG93IGluZm9ybWF0aW9uIG9uIElQQyBmYWNpbGl0aWVzLlxuIgorbXNnc3RyICLmmL7npLogSVBDIOiuvuaWveeahOS/oeaBr+OAglxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYwCittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICDmiZPljbDnlLE8aWQ+5qCH6K+G55qE6LWE5rqQ55qE6K+m57uG5L+h5oGvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQgc3lzLXV0aWxzL2xzaXBjLmM6Mjg0Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAi6LWE5rqQ6YCJ6aG577yaXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1Cittc2dpZCAiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIKK21zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIOWFseS6q+WGheWtmOautVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY2IHN5cy11dGlscy9sc2lwYy5jOjI4NgorbXNnaWQgIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIgorbXNnc3RyICIgLXEsIC0tcXVldWVzICAgICAg5raI5oGv6Zif5YiXXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Njcgc3lzLXV0aWxzL2xzaXBjLmM6Mjg3Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIOS/oeWPt+mHj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgIGFsbCAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgIOWFqOmDqCjpu5jorqQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzEKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAi6L6T5Ye66YCJ6aG577yaXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lICAgICAgICDmmL7npLrpmYTliqDjgIHohLHnprvlkozmm7TmlLnml7bpl7RcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MworbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICBzaG93IFBJRHMgb2YgY3JlYXRvciBhbmQgbGFzdCBvcGVyYXRvclxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAg5pi+56S65Yib5bu66ICF5ZKM5pyA5ZCO5pON5L2c6ICF55qEIFBJRFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0Cittc2dpZCAiIC1jLCAtLWNyZWF0b3IgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOaYvuekuuWIm+W7uuiAheWSjOaLpeacieiAhVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc1Cittc2dpZCAiIC1sLCAtLWxpbWl0cyAgICAgIHNob3cgcmVzb3VyY2UgbGltaXRzXG4iCittc2dzdHIgIiAtbCwgLS1saW1pdHMgICAgICDmmL7npLrotYTmupDpmZDliLZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NgorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICDmmL7npLrnirbmgIHmkZjopoFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworbXNnaWQgIiAgICAgLS1odW1hbiAgICAgICBzaG93IHNpemVzIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgICAgIC0taHVtYW4gICAgICAg5Lul5piT6K+75qC85byP5pi+56S65aSn5bCPXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgc2hvdyBzaXplcyBpbiBieXRlc1xuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAg5Lul5a2X6IqC5pWw5pi+56S65aSn5bCPXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MTY0Cittc2dpZCAid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiCittc2dzdHIgIuS9v+eUqCBJRCDml7bvvIzlv4XpobvmjIflrprkuIDkuKrotYTmupAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBzaGFyZWQgbWVtb3J5IGxpbWl0c1xuIgorbXNnc3RyICLml6Dms5Xojrflj5blhbHkuqvlhoXlrZjpmZDliLZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLS0g5ZCM5Lqr5YaF5a2Y6ZmQ5Yi2IC0tLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIHNlZ21lbnRzID0gJWp1XG4iCittc2dzdHIgIuacgOWkp+auteaVsCA9ICVqdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxMAorbXNnaWQgIm1heCBzZWcgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn5q615aSn5bCPIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIxOAorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICLmnIDlpKfmgLvlhbHkuqvlhoXlrZgiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjIwCittc2dpZCAibWluIHNlZyBzaXplIgorbXNnc3RyICLmnIDlsI/mrrXlpKflsI8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjMyCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeVxuIgorbXNnc3RyICLlhoXmoLjmnKrlgZrlhbHkuqvlhoXlrZjnmoTnm7jlhbPphY3nva5cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLS0g5YWx5Lqr5YaF5a2Y54q25oCBIC0tLS0tLS0tLS0tLVxuIgorCisjLiBUUkFOU0xBVE9SUzogVGhpcyBvdXRwdXQgZm9ybWF0IGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkCisjLiBjb21wYXRpYmlsaXR5IGFzIGlwY3MgaXMgdXNlZCBpbiBzY3JpcHRzLiBGb3IgY29uc2lzdGVuY3kKKyMuIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorIy4gKgorIy4gInNlZ21lbnRzIGFsbG9jYXRlZCA9ICVkXG4iCisjLiAicGFnZXMgYWxsb2NhdGVkID0gJWxkXG4iCisjLiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKyMuICJwYWdlcyBzd2FwcGVkID0gJWxkXG4iCisjLiAic3dhcCBwZXJmb3JtYW5jZSA9ICVsZCBhdHRlbXB0cywgJWxkIHN1Y2Nlc3Nlc1xuIgorIy4KKyM6IHN5cy11dGlscy9pcGNzLmM6MjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyLmrrXlt7LliIbphY0gJWRcbiIKKyLpobXlt7LliIbphY0gJWxkXG4iCisi6aG16am755WZICAlbGRcbiIKKyLpobXkuqTmjaIgICVsZFxuIgorIuS6pOaNouaAp+iDve+8miVsZCDmrKHlsJ3or5VcdCAlbGQg5qyh5oiQ5YqfXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnQgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLS0tLS0g5YWx5Lqr5YaF5a2Y5q615Yib5bu66ICFL+aLpeacieiAhSAtLS0tLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg2Cittc2dpZCAic2htaWQiCittc2dzdHIgInNobWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjM5MgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJwZXJtcyIKK21zZ3N0ciAi5p2D6ZmQIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImN1aWQiCittc2dzdHIgImN1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiY2dpZCIKK21zZ3N0ciAiY2dpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJ1aWQiCittc2dzdHIgInVpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJnaWQiCittc2dzdHIgImdpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQXR0YWNoL0RldGFjaC9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tLS0tIOWFseS6q+WGheWtmCDpmYTliqAv6ISx56a7L+abtOaUuSDml7bpl7QgLS0tLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICLmi6XmnInogIUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgIuW3sumZhOWKoCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAi5bey5pat5byAIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIuW3suabtOaUuSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0g5YWx5Lqr5YaF5a2YIOWIm+W7uuiAhS/kuIrmrKHkv67mlLnogIUgUElEIC0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODAKK21zZ2lkICJjcGlkIgorbXNnc3RyICJjcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImxwaWQiCittc2dzdHIgImxwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg0CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLS0tLSDlhbHkuqvlhoXlrZjmrrUgLS0tLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODYgc3lzLXV0aWxzL2lwY3MuYzo0MDcgc3lzLXV0aWxzL2lwY3MuYzo1MTMKK21zZ2lkICJrZXkiCittc2dzdHIgIumUriIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJzaXplIgorbXNnc3RyICLlpKflsI8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mjg3IHN5cy11dGlscy9wcmxpbWl0LmM6NzUgc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIzogc3lzLXV0aWxzL3BybGltaXQuYzo3OCBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODIgc3lzLXV0aWxzL3BybGltaXQuYzo4NiBzeXMtdXRpbHMvcHJsaW1pdC5jOjkwCittc2dpZCAiYnl0ZXMiCittc2dzdHIgIuWtl+iKgiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJuYXR0Y2giCittc2dzdHIgIui/nuaOpeaVsCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODgKK21zZ2lkICJzdGF0dXMiCittc2dzdHIgIueKtuaAgSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozMTIgc3lzLXV0aWxzL2lwY3MuYzozMTQgc3lzLXV0aWxzL2lwY3MuYzozMTYKKyM6IHN5cy11dGlscy9pcGNzLmM6NDMwIHN5cy11dGlscy9pcGNzLmM6NDMyIHN5cy11dGlscy9pcGNzLmM6NTM4CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU0MCBzeXMtdXRpbHMvaXBjcy5jOjU0MiBzeXMtdXRpbHMvaXBjcy5jOjU5NgorIzogc3lzLXV0aWxzL2lwY3MuYzo1OTggc3lzLXV0aWxzL2lwY3MuYzo2Mjcgc3lzLXV0aWxzL2lwY3MuYzo2MjkKKyM6IHN5cy11dGlscy9pcGNzLmM6NjMxIHN5cy11dGlscy9pcGNzLmM6NjU1Cittc2dpZCAiTm90IHNldCIKK21zZ3N0ciAi5pyq6K6+572uIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MiBzeXMtdXRpbHMvbHNpcGMuYzo5ODcgc3lzLXV0aWxzL2xzaXBjLmM6OTkzCittc2dpZCAiZGVzdCIKK21zZ3N0ciAi55uu5qCHIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM0MyBzeXMtdXRpbHMvbHNpcGMuYzo5ODggc3lzLXV0aWxzL2xzaXBjLmM6MTAwMQorbXNnaWQgImxvY2tlZCIKK21zZ3N0ciAi5bey6ZSB5a6aIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICLml6Dms5Xojrflj5bkv6Hlj7fph4/pmZDliLZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tIOS/oeWPt+mHj+mZkOWItiAtLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NworIywgYy1mb3JtYXQKK21zZ2lkICJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIuacgOWkp+aVsOe7hOaVsOmHjyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY4CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHBlciBhcnJheSA9ICVkXG4iCittc2dzdHIgIuavj+S4quaVsOe7hOeahOacgOWkp+S/oeWPt+mHj+aVsOebriA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBzZW1hcGhvcmVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAi57O757uf5pyA5aSn5L+h5Y+36YeP5pWwID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iCittc2dzdHIgIuavj+asoeS/oeWPt+mHj+iwg+eUqOacgOWkp+aTjeS9nOaVsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzcxCisjLCBjLWZvcm1hdAorbXNnaWQgInNlbWFwaG9yZSBtYXggdmFsdWUgPSAldVxuIgorbXNnc3RyICLkv6Hlj7fph4/mnIDlpKflgLw9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iCittc2dzdHIgIuWGheaguOacquWBmuS/oeWPt+mHj+eahOebuOWFs+mFjee9rlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0g5L+h5Y+36YeP54q25oCBIC0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg0CisjLCBjLWZvcm1hdAorbXNnaWQgInVzZWQgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAi5bey5L2/55So5pWw57uEID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIgorbXNnc3RyICLlt7LliIbphY3kv6Hlj7fph4/mlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tLS0g5L+h5Y+36YeP5pWw57uE5Yib5bu66ICFL+aLpeacieiAhSAtLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzozOTggc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJzZW1pZCIKK21zZ3N0ciAic2VtaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tLS0g5L+h5Y+36YePIOaTjeS9nC/mm7TmlLkg5pe26Ze0IC0tLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTgKK21zZ2lkICJsYXN0LW9wIgorbXNnc3RyICLkuIrkuIDmk43kvZwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1jaGFuZ2VkIgorbXNnc3RyICLkuIrmrKHmm7TmlLkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTZW1hcGhvcmUgQXJyYXlzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLSDkv6Hlj7fph4/mlbDnu4QgLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0MDcKK21zZ2lkICJuc2VtcyIKK21zZ3N0ciAibnNlbXMiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byBmZXRjaCBtZXNzYWdlIGxpbWl0c1xuIgorbXNnc3RyICLml6Dms5Xojrflj5bmtojmga/pmZDliLZcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tIOa2iOaBr+mZkOWItiAtLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2OQorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIKK21zZ3N0ciAi57O757uf5pyA5aSn6Zif5YiX5pWw6YePID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzEKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICLmnIDlpKfmtojmga/lsLrlr7giCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDczCittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAi6buY6K6k55qE6Zif5YiX5pyA5aSn5bC65a+4IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIuWGheaguOacquWBmua2iOaBr+eahOebuOWFs+mFjee9rlxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4MworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLS0g5raI5oGv54q25oCBIC0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIgorbXNnc3RyICLlt7LliIbphY3pmJ/liJfmlbAgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGhlYWRlcnMgPSAlZFxuIgorbXNnc3RyICLlt7LnlKjmtojmga/lpLQoaGVhZGVyKeaVsCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg4Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAi5bey55So56m66Ze0IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4OQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICIg5a2X6IqCXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tLS0tLSDmtojmga/pmJ/liJcg5Yib5bu66ICFL+aLpeacieiAhSAtLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKKyM6IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0tLS0tLSDmtojmga/pmJ/liJcg5Y+R6YCBL+aOpeaUti/mm7TmlLkg5pe26Ze0IC0tLS0tLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInNlbmQiCittc2dzdHIgIuWPkemAgSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJyZWN2IgorbXNnc3RyICLmjqXmlLYiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAiY2hhbmdlIgorbXNnc3RyICLmm7TmlLkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLSDmtojmga/pmJ/liJcgUElEIC0tLS0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLS0tLSDmtojmga/pmJ/liJcgLS0tLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICLlt7LnlKjlrZfoioLmlbAiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIua2iOaBryIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBjLWZvcm1hdAorbXNnaWQgImlkICVkIG5vdCBmb3VuZCIKK21zZ3N0ciAi5om+5LiN5YiwIGlkICVkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHkuqvlhoXlrZjmrrUgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi5qih5byPPSUjb1x06K6/6Zeu5p2D6ZmQPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgInNpemU9IgorbXNnc3RyICLlpKflsI89IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorbXNnaWQgImJ5dGVzPSIKK21zZ3N0ciAi5a2X6IqC5pWwPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGMtZm9ybWF0Cittc2dpZCAibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIgorbXNnc3RyICJscGlkPSV1XHRjcGlkPSV1XHRuYXR0Y2g9JWpkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTk1CisjLCBjLWZvcm1hdAorbXNnaWQgImF0dF90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIumZhOWKoOaXtumXtD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICLohLHnprvml7bpl7Q9JS0yNi4yNHNcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTkgc3lzLXV0aWxzL2lwY3MuYzo2MzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi5pu05pS55pe26Ze0PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlIFF1ZXVlIG1zcWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmtojmga/pmJ/liJcgbXNxaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdG1vZGU9JSNvXG4iCittc2dzdHIgInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHTmqKHlvI89JSNvXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY3NpemU9IgorbXNnc3RyICJjc2l6ZT0iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAiY2J5dGVzPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxc2l6ZT0iCittc2dzdHIgInFzaXplPSIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MjEKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICJxYnl0ZXM9IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyNgorIywgYy1mb3JtYXQKK21zZ2lkICJzZW5kX3RpbWU9JS0yNi4yNHNcbiIKK21zZ3N0ciAi5Y+R6YCB5pe26Ze0PSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgIuaOpeaUtuaXtumXtD0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2VtYXBob3JlIEFycmF5IHNlbWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLkv6Hlj7fph4/mlbDnu4Qgc2VtaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi5qih5byPPSUjb++8jOiuv+mXruadg+mZkD0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlanVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInZhbHVlIgorbXNnc3RyICLlgLwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZmFpbGVkIgorbXNnc3RyICIlcyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgYy1mb3JtYXQKK21zZ2lkICIlcyAoYnl0ZXMpID0gIgorbXNnc3RyICIlcyAo5a2X6IqCKSA9ICIKKworIzogc3lzLXV0aWxzL2lwY3V0aWxzLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlcyAo5Y2D5a2X6IqCKSA9ICIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MTg0Cittc2dpZCAiaW52YWxpZCBpZmxhZyIKK21zZ3N0ciAi5peg5pWI55qEIGlmbGFnIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA857q/6Lev6KeE5YiZPiA86K6+5aSHPlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDMKK21zZ2lkICJBdHRhY2ggYSBsaW5lIGRpc2NpcGxpbmUgdG8gYSBzZXJpYWwgbGluZS5cbiIKK21zZ3N0ciAi5ZCR5Liy5Y+j57q/6ZmE5Yqg5LiA5p2h57q/6Lev6KeE5YiZ44CCXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNgorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5ZCR5qCH5YeG6ZSZ6K+v5omT5Y2w6K+m5bC95raI5oGvXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworbXNnaWQgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICBzZXQgc2VyaWFsIGxpbmUgc3BlZWRcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDzlgLw+ICAgICAgICDorr7nva7kuLLlj6Pnur/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1jLCAtLWludHJvLWNvbW1hbmQgPOWtl+espuS4sj4g5YWI5Y+R6YCBIGludHJvIOWQjuWPkemAgSBsZGF0dGFjaFxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIC1wLCAtLXBhdXNlIDznp5LmlbA+ICAg5ZyoIGludHJvIOWSjCBsZGF0dGFjaCDkuYvpl7TmmoLlgZxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjEwCittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIOWtl+iKguWkp+Wwj+iuvuS4uiA3IOS9jVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKK21zZ2lkICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAgc2V0IGNoYXJhY3RlciBzaXplIHRvIDggYml0c1xuIgorbXNnc3RyICIgLTgsIC0tZWlnaHRiaXRzICAgICAgICAg5a2X6IqC5aSn5bCP6K6+5Li6IDgg5L2NXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMgorbXNnaWQgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICBzZXQgcGFyaXR5IHRvIG5vbmVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOiuvuS4uuaXoOagoemqjOS9jVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTMKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICDorr7kuLrlpYfmo4DpqoxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE0Cittc2dpZCAiIC1vLCAtLW9kZHBhcml0eSAgICAgICAgIHNldCBwYXJpdHkgdG8gb2RkXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICDorr7kuLrlgbbmo4DpqoxcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE1Cittc2dpZCAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIHNldCBzdG9wIGJpdHMgdG8gb25lXG4iCittc2dzdHIgIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICDlgZzmraLkvY3orr7kuLogMVxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTYKK21zZ2lkICIgLTIsIC0tdHdvc3RvcGJpdHMgICAgICAgc2V0IHN0b3AgYml0cyB0byB0d29cbiIKK21zZ3N0ciAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIOWBnOatouS9jeiuvuS4uiAyXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNworbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICDorr7nva7ovpPlhaXmqKHlvI/moIflv5dcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlt7Lnn6U857q/6Lev6KeE5YiZPuWQjeensO+8mlxuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMjYKK21zZ2lkICIiCisiXG4iCisiS25vd24gPGlmbGFnPiBuYW1lczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuW3suefpTxpZmxhZz7lkI3np7DvvJpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0Cittc2dpZCAiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOmAn+W6piDlj4LmlbAiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM0NworbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahOaaguWBnOWPguaVsCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0Cittc2dpZCAiaW52YWxpZCBsaW5lIGRpc2NpcGxpbmUgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDnur/ot6/op4TliJkg5Y+C5pWwIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgc2VyaWFsIGxpbmUiCittc2dzdHIgIiVzIOS4jeaYr+S4suihjOe6vyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDAxCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiCittc2dzdHIgIuaXoOazleiOt+WPliAlcyDnmoTnu4jnq6/lsZ7mgKciCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVlZCAlZCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi5LiN5pSv5oyB6YCf5bqmICVkIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAi5peg5rOV6K6+572uICVzIOeahOe7iOerr+WxnuaApyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDYzCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIgorbXNnc3RyICLml6Dms5XlkJEgJXMg5YaZ5YWlIGludHJvIOWRveS7pCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIuaXoOazleiuvue9ruihjOinhOWImSIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAi5peg5rOV6L2s5Li65a6I5oqk6L+b56iLIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICLlt7Lorr7nva4g6Ieq5Yqo5riF6ZmkIOagh+W/lyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MQorbXNnaWQgImRldmljZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIuiuvuWkh+WQjuWkh+aWh+S7tiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MgorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIuWQjuWkh+aWh+S7tiBpbm9kZSDlj7ciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzMKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAi5ZCO5aSH5paH5Lu2IOS4uzrmrKEg6K6+5aSH5Y+3IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0Cittc2dpZCAibG9vcCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi5Zue546v6K6+5aSH5ZCNIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc1Cittc2dpZCAib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIKK21zZ3N0ciAi6LW35aeL5L2N572u5YGP56e7IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc2Cittc2dpZCAicGFydHNjYW4gZmxhZyBzZXQiCittc2dzdHIgIuW3suiuvue9riBwYXJ0c2NhbiDmoIflv5ciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzgKK21zZ2lkICJzaXplIGxpbWl0IG9mIHRoZSBmaWxlIGluIGJ5dGVzIgorbXNnc3RyICLmlofku7bnmoTlpKflsI/pmZDliLYo5a2X6IqC5pWwKSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorbXNnaWQgImxvb3AgZGV2aWNlIG1ham9yOm1pbm9yIG51bWJlciIKK21zZ3N0ciAi5Zue546v6K6+5aSHIOS4uzrmrKEg6K6+5aSH5Y+3IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwCittc2dpZCAiYWNjZXNzIGJhY2tpbmcgZmlsZSB3aXRoIGRpcmVjdC1pbyIKK21zZ3N0ciAi6YCa6L+H55u05o6lIElPIOiuv+mXruWQjuWkh+aWh+S7tiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIGluIGJ5dGVzIgorbXNnc3RyICLpgLvovpHmiYfljLrlpKflsI8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb2Zmc2V0ICVqdSIKK21zZ3N0ciAi77yM5YGP56e7ICVqdSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoxNDEgc3lzLXV0aWxzL2xvc2V0dXAuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBzaXplbGltaXQgJWp1IgorbXNnc3RyICLvvIzlpKflsI/pmZDliLYgJWp1IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICLvvIzliqDlr4YgJXMo57G75Z6LICV1KSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGRldGFjaCBmYWlsZWQiCittc2dzdHIgIiVz77ya5pat5byA5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5MworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+mAiemhuV0gWzzlm57njq/orr7lpIc+XVxuIgorIiAlMSRzIFvpgInpobldIC1mIHwgPOWbnueOr+iuvuWkhz4gPOaWh+S7tj5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozOTgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIgorbXNnc3RyICLorr7nva7lkozmjqfliLblm57njq/orr7lpIfjgIJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAgbGlzdCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICDliJflh7rmiYDmnInkvb/nlKjnmoTorr7lpIdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDMKK21zZ2lkICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2Pi4uLiAgICAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKK21zZ3N0ciAiIC1kLCAtLWRldGFjaCA85Zue546v6K6+5aSHPi4uLiAgICDmlq3lvIDkuIDlj7DmiJblpJrlj7Dorr7lpIdcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKK21zZ2lkICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIOaWreW8gOaJgOacieS9v+eUqOeahOiuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIOafpeaJvuesrOS4gOS4quacquS9v+eUqOeahOiuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNgorbXNnaWQgIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIgorbXNnc3RyICIgLWMsIC0tc2V0LWNhcGFjaXR5IDzlm57njq/orr7lpIc+IOaUueWPmOiuvuWkh+WuuemHj1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIC1qLCAtLWFzc29jaWF0ZWQgPOaWh+S7tj4gICAgICAg5YiX5Ye65omA5pyJ5LiOIDzmlofku7Y+IOebuOWFs+eahOiuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorbXNnaWQgIiAtTCwgLS1ub292ZXJsYXAgICAgICAgICAgICAgICBhdm9pZCBwb3NzaWJsZSBjb25mbGljdCBiZXR3ZWVuIGRldmljZXNcbiIKK21zZ3N0ciAiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIOmBv+WFjeiuvuWkh+mXtOeahOa9nOWcqOWGsueqgVxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxMgorbXNnaWQgIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCittc2dzdHIgIiAtbywgLS1vZmZzZXQgPOaVsOWtlz4gICAgICAgICAgIOWcqOaWh+S7tuWBj+enu+mHjyA85pWw5a2XPiDlpITlvIDlp4tcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTMKK21zZ2lkICIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIKK21zZ3N0ciAiICAgICAtLXNpemVsaW1pdCA85pWw5a2XPiAgICAgICAg6K6+5aSH6ZmQ5Yi25Li65LqG5paH5Lu255qEPOaVsOWtlz7kuKrlrZfoioJcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgLWIsIC0tc2VjdG9ycy1zaXplIDzlpKflsI8+ICAgICDmmL7npLrmiYfljLrorqHmlbDlkozlpKflsI9cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTUKK21zZ2lkICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAgY3JlYXRlIGEgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1QLCAtLXBhcnRzY2FuICAgICAgICAgICAgICAgIOWIm+W7uuW4puWIhuWMuueahOWbnueOr+iuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNgorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIOWIm+W7uuWPquivu+eahOWbnueOr+iuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQxNworbXNnaWQgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICBvcGVuIGJhY2tpbmcgZmlsZSB3aXRoIE9fRElSRUNUXG4iCittc2dzdHIgIiAgICAgLS1kaXJlY3QtaW9bPTxvbnxvZmY+XSAgICDpgJrov4cgT19ESVJFQ1Qg5omT5byA5ZCO5aSH5paH5Lu2XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIgICAgIC0tc2hvdyAgICAgICAgICAgICAgICAgICAg6K6+572u5ZCO5omT5Y2w6K6+5aSH5ZCNKOWKoCAtZiDpgInpobkpXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAg6K+m5bC95qih5byPXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDIzCittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICDkvb/nlKggSlNPTiAtLWxpc3Qg6L6T5Ye65qC85byPXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI0Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAg5YiX5Ye65omA5pyJ5oiW5oyH5a6a55qE5L+h5oGvKOm7mOiupClcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIC0tbGlzdCDovpPlh7rml7bkuI3miZPljbDmoIfpophcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjYKK21zZ2lkICIgLU8sIC0tb3V0cHV0IDxjb2xzPiAgICAgICAgICAgc3BlY2lmeSBjb2x1bW5zIHRvIG91dHB1dCBmb3IgLS1saXN0XG4iCittc2dzdHIgIiAtTywgLS1vdXRwdXQgPOWIlz4gICAgICAgICAgIOaMh+WumiAtLWxpc3Qg6YCJ6aG56KaB6L6T5Ye655qE5YiXXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDI3Cittc2dpZCAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIHVzZSByYXcgLS1saXN0IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAgICAgIOS9v+eUqOWOn+eUnyAtLWxpc3Qg6L6T5Ye65qC85byPXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDUyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVz77ya6K2m5ZGK77yM5paH5Lu25bCP5LqOIDUxMiDkuKrlrZfoioLvvIzlm57njq/orr7lpIflj6/og73ml6DnlKjmiJblnKjns7vnu5/lt6XlhbfkuK3nnIvkuI3liLDjgIIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGRvZXMgbm90IGZpdCBpbnRvIGEgNTEyLWJ5dGUgc2VjdG9yOyB0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iCittc2dzdHIgIiVz77ya6K2m5ZGK77yM5paH5Lu25pyq5a+56b2QIDUxMiDlrZfoioLmiYfljLrvvIzlhbbmnKvlsL7lsIbooqvlv73nlaXjgIIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc3IHN5cy11dGlscy9sb3NldHVwLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiCittc2dzdHIgIiVzOiDph43lj6DnmoTlm57njq/orr7lpIflt7LlrZjlnKgiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvdmVybGFwcGluZyByZWFkLW9ubHkgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlczog5a2Y5Zyo6YeN5Y+g55qE5Y+q6K+75Zue546v6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiJXPvvJrlrZjlnKjph43lj6DnmoTliqDlr4blm57njq/orr7lpIciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmUtdXNlIGxvb3AgZGV2aWNlIgorbXNnc3RyICIlc++4sCDmnKrog73ph43mlrDkvb/nlKjlm57njq/orr7lpIciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTA3Cittc2dpZCAiZmFpbGVkIHRvIGluc3BlY3QgbG9vcCBkZXZpY2VzIgorbXNnc3RyICLlrqHmn6Xlm57njq/orr7lpIflpLHotKUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIKK21zZ3N0ciAiJXPvuLAg5qOA5p+l5Yay56qB55qE5b6q546v6K6+5aSH5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU0MiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg0NworbXNnaWQgImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIKK21zZ3N0ciAi5om+5LiN5Yiw5pyq5L2/55So55qE5Zue546v6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjU1MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVz77ya5L2/55So5ZCO5aSH5paH5Lu25aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICLop6PmnpDlpKflsI/lpLHotKUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBkZXZpY2UiCittc2dzdHIgIiVz77ya5L2/55So6K6+5aSH5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4NQorbXNnaWQgIm5vIGxvb3AgZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5Zue546v6K6+5aSHIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjgwMAorIywgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAi6YCJ6aG5ICVzIOWPquWFgeiuuOWcqOiuvue9ruWbnueOr+iuvuWkh+aXtuS9v+eUqCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKK21zZ2lkICJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAi5q2k546v5aKD5LiL5LiN5YWB6K645L2/55SoIC0tb2Zmc2V0IOmAiemhuSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBjYXBhY2l0eSBmYWlsZWQiCittc2dzdHIgIiVz77ya6K6+572u5a656YeP5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg3NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVz77iwIOiuvue9ruebtOaOpSBpbyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGxvZ2ljYWwgYmxvY2sgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVz77ya6I635Y+W5aSn5bCP5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NQorbXNnaWQgIm5vbmUiCittc2dzdHIgIuaXoCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTYKK21zZ2lkICJwYXJhIgorbXNnc3RyICLljYoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk3Cittc2dpZCAiZnVsbCIKK21zZ3N0ciAi5a6M5YWoIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5OAorbXNnaWQgImNvbnRhaW5lciIKK21zZ3N0ciAi5a655ZmoIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDEKK21zZ2lkICJob3Jpem9udGFsIgorbXNnc3RyICLmsLTlubMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MgorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICLnq5bnm7QiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorbXNnaWQgImxvZ2ljYWwgQ1BVIG51bWJlciIKK21zZ3N0ciAi6YC76L6RIENQVSDmlbDph48iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NQorbXNnaWQgImxvZ2ljYWwgY29yZSBudW1iZXIiCittc2dzdHIgIumAu+i+keaguOW/g+aVsOmHjyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk2Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICLpgLvovpEoQ1BVKeW6p+aVsOmHjyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk3Cittc2dpZCAibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIgorbXNnc3RyICLpgLvovpEgTlVNQSDoioLngrnmlbDph48iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5OAorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIumAu+i+kSBib29rIOaVsCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5Cittc2dpZCAibG9naWNhbCBkcmF3ZXIgbnVtYmVyIgorbXNnc3RyICLpgLvovpHmir3lsYnlj7ciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMAorbXNnaWQgInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiCittc2dzdHIgIuaYvuekuiBDUFUg6Ze05piv5aaC5L2V5YWx5Lqr57yT5a2Y55qEIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDEKK21zZ2lkICJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIgorbXNnc3RyICLomZrmi5/noazku7bkuIrnmoQgQ1BVIOiwg+W6puaooeW8jyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAyCittc2dpZCAicGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVSIKK21zZ3N0ciAiQ1BVIOeahOeJqeeQhuWcsOWdgCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAzCittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICLmmL7npLrotoXnuqfnm5HnnaMoaHlwZXJ2aXNvcinmmK/lkKbliIbphY3kuoYgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKK21zZ2lkICJzaG93cyBpZiBMaW51eCBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUiCittc2dzdHIgIuaYvuekuiBMaW51eCDlvZPliY3mmK/lkKblnKjkvb/nlKjor6UgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDUKK21zZ2lkICJzaG93cyB0aGUgbWF4aW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAi5pi+56S6IENQVSDnmoTmnIDlpKcgTUh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDYKK21zZ2lkICJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIKK21zZ3N0ciAi5pi+56S6IENQVSDnmoTmnIDlsI8gTUh6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzozOTkKK21zZ2lkICJlcnJvcjogdW5hbWUgZmFpbGVkIgorbXNnc3RyICLplJnor6/vvJp1bmFtZSDlpLHotKUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjQ4NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIG51bWJlciBvZiBDUFVzOiAlcyIKK21zZ3N0ciAi56Gu5a6aIENQVSDmlbAg5aSx6LSl77yaJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAi5peg5rOV6K6+572u5L+h5Y+35aSE55CG5Ye95pWwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3Cittc2dpZCAiRmFpbGVkIHRvIGV4dHJhY3QgdGhlIG5vZGUgbnVtYmVyIgorbXNnc3RyICLmj5Dlj5boioLngrnlj7flpLHotKUiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIlkiCittc2dzdHIgIlkiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworbXNnaWQgIk4iCittc2dzdHIgIk4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE1MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyDku6XkuIvmmK/lj6/op6PmnpDmoLzlvI/vvIzlj6/ku6XovpPnu5nlhbbku5bnqIvluo/jgILmr4/liJfkuK3nmoTlkITkuKrkuI3lkIzpobnmnInkuIDkuKrmg5/kuIBcbiIKKyIjIOeahOS7jiAwIOW8gOWni+eahCBJROOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzI0Cittc2dpZCAiQXJjaGl0ZWN0dXJlOiIKK21zZ3N0ciAi5p625p6E77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzM3Cittc2dpZCAiQ1BVIG9wLW1vZGUocyk6IgorbXNnc3RyICJDUFUg6L+Q6KGM5qih5byP77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQwIHN5cy11dGlscy9sc2NwdS5jOjE3NDIKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAi5a2X6IqC5bqP77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0Cittc2dpZCAiQ1BVKHMpOiIKK21zZ3N0ciAiQ1BVOiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0NworbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IgorbXNnc3RyICLlnKjnur8gQ1BVIOaOqeegge+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorbXNnaWQgIk9uLWxpbmUgQ1BVKHMpIGxpc3Q6IgorbXNnc3RyICLlnKjnur8gQ1BVIOWIl+ihqO+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc2NworbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi56a757q/IENQVSDmjqnnoIHvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NjgKK21zZ2lkICJPZmYtbGluZSBDUFUocykgbGlzdDoiCittc2dzdHIgIuemu+e6vyBDUFUg5YiX6KGo77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAzCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAi5q+P5Liq5qC455qE57q/56iL5pWw77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAi5q+P5Liq5bqn55qE5qC45pWw77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4Cittc2dpZCAiU29ja2V0KHMpIHBlciBib29rOiIKK21zZ3N0ciAi5q+P5LiqIGJvb2sg55qE5bqn5pWw77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODExCittc2dpZCAiQm9vayhzKSBwZXIgZHJhd2VyOiIKK21zZ3N0ciAi5q+P5Liq5oq95bGJ6YeM55qEIEJvb2sg5pWw77iwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODEzCittc2dpZCAiRHJhd2VyKHMpOiIKK21zZ3N0ciAi5oq95bGJ77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE1Cittc2dpZCAiQm9vayhzKToiCittc2dzdHIgIkJvb2vvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MTgKK21zZ2lkICJTb2NrZXQocyk6IgorbXNnc3RyICLluqfvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MjIKK21zZ2lkICJOVU1BIG5vZGUocyk6IgorbXNnc3RyICJOVU1BIOiKgueCue+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNAorbXNnaWQgIlZlbmRvciBJRDoiCittc2dzdHIgIuWOguWVhiBJRO+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyNgorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIuacuuWZqOexu+Wei++4sCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJDUFUg57O75YiX77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICLlnovlj7fvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKK21zZ2lkICJNb2RlbCBuYW1lOiIKK21zZ3N0ciAi5Z6L5Y+35ZCN56ew77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM0Cittc2dpZCAiU3RlcHBpbmc6IgorbXNnc3RyICLmraXov5vvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzYKK21zZ2lkICJDUFUgTUh6OiIKK21zZ3N0ciAiQ1BVIE1Ieu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzOAorbXNnaWQgIkNQVSBkeW5hbWljIE1IejoiCittc2dzdHIgIkNQVSDliqjmgIEgTUh6OiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MAorbXNnaWQgIkNQVSBzdGF0aWMgTUh6OiIKK21zZ3N0ciAiQ1BVIOmdmeaAgSBNSHo6IgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQyCittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUg5pyA5aSnIE1Ieu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NAorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIOacgOWwjyBNSHrvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDYKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIkJvZ29NSVBT77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ5IHN5cy11dGlscy9sc2NwdS5jOjE4NTEKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIuiZmuaLn+WMlu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorbXNnaWQgIkh5cGVydmlzb3I6IgorbXNnc3RyICLotoXnrqHnkIblmajvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTYKK21zZ2lkICJIeXBlcnZpc29yIHZlbmRvcjoiCittc2dzdHIgIui2heeuoeeQhuWZqOWOguWVhu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NworbXNnaWQgIlZpcnR1YWxpemF0aW9uIHR5cGU6IgorbXNnc3RyICLomZrmi5/ljJbnsbvlnovvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjAKK21zZ2lkICJEaXNwYXRjaGluZyBtb2RlOiIKK21zZ3N0ciAi5YiG5rS+5qih5byP77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODY0IHN5cy11dGlscy9sc2NwdS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgY2FjaGU6IgorbXNnc3RyICIlcyDnvJPlrZjvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiTlVNQSBub2RlJWQgQ1BVKHMpOiIKK21zZ3N0ciAiTlVNQSDoioLngrklZCBDUFXvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODIKK21zZ2lkICJQaHlzaWNhbCBzb2NrZXRzOiIKK21zZ3N0ciAi54mp55CG5aWX5o6l5a2X77iwIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODgzCittc2dpZCAiUGh5c2ljYWwgY2hpcHM6IgorbXNnc3RyICLniannkIboiq/niYfvuLAiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODQKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAi54mp55CG5qC45b+DL+iKr+eJh++4sCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4OAorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAi5qCH6K6w77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAi5pi+56S6IENQVSDmnrbmnoTkv6Hmga/jgIJcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNgorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIOWQjOaXtuaJk+WNsOWcqOe6v+WSjOemu+e6vyBDUFUgKC1lIOmAiemhuem7mOiupOWAvClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworbXNnaWQgIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKK21zZ3N0ciAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIOWPquaJk+WNsOWcqOe6vyBDUFUgKC1wIOmAiemhuem7mOiupOWAvClcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwOAorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAg5Y+q5omT5Y2w56a757q/IENQVVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICB1c2UgSlNPTiBmb3IgZGVmYXVsdCBvciBleHRlbmRlZCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIOS9v+eUqCBKU09OIOi+k+WHuuagvOW8j1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEwCittc2dpZCAiIC1lLCAtLWV4dGVuZGVkWz08bGlzdD5dIHByaW50IG91dCBhbiBleHRlbmRlZCByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1lLCAtLWV4dGVuZGVkWz085YiX6KGoPl0g5omT5Y2w5omp5bGV55qE5Y+v6K+75qC85byPXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTEKK21zZ2lkICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtcCwgLS1wYXJzZVs9POWIl+ihqD5dICAgIOaJk+WNsOWPr+ino+aekOagvOW8j1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiAtcywgLS1zeXNyb290IDznm67lvZU+ICAgIOS7peaMh+WumuebruW9leS9nOS4uuezu+e7n+agueebruW9lVxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEzCittc2dpZCAiIC14LCAtLWhleCAgICAgICAgICAgICAgIHByaW50IGhleGFkZWNpbWFsIG1hc2tzIHJhdGhlciB0aGFuIGxpc3RzIG9mIENQVXNcbiIKK21zZ3N0ciAiIC14LCAtLWhleCAgICAgICAgICAgICAgIOaJk+WNsOWNgeWFrei/m+WItuaOqeeggeiAjOmdniBDUFUg5YiX6KGoXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKK21zZ2lkICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAgcHJpbnQgcGh5c2ljYWwgaW5zdGVhZCBvZiBsb2dpY2FsIElEc1xuIgorbXNnc3RyICIgLXksIC0tcGh5c2ljYWwgICAgICAgICAg5omT5Y2w54mp55CGIElEIOiAjOmdnumAu+i+kSBJRFxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAi5peg5pWI5Y+C5pWw77yaJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIgorbXNnc3RyICIlc++8mi0tYWxs44CBLS1vbmxpbmUg5ZKMIC0tb2ZmbGluZSDpgInpobnlj6rog73kuI4gLS1leHRlbmRlZCDmiJYgLS1wYXJzZSDpgInpobnkuIDotbfkvb/nlKjjgIJcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5Cittc2dpZCAiUmVzb3VyY2Uga2V5IgorbXNnc3RyICLotYTmupDplK4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorbXNnaWQgIktleSIKK21zZ3N0ciAi6ZSuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJSZXNvdXJjZSBJRCIKK21zZ3N0ciAi6LWE5rqQIElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKK21zZ2lkICJJRCIKK21zZ3N0ciAiSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MQorbXNnaWQgIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIgorbXNnc3RyICLmi6XmnInogIXnmoTnlKjmiLflkI3miJYgVUlEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTEKK21zZ2lkICJPd25lciIKK21zZ3N0ciAi5oul5pyJ6ICFIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTIKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAi5p2D6ZmQIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIOWIm+W7uuiAhSBVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NAorbXNnaWQgIkNyZWF0b3IgdXNlciIKK21zZ3N0ciAiIOWIm+W7uuiAhSDnlKjmiLciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NQorbXNnaWQgIkNyZWF0b3IgR0lEIgorbXNnc3RyICLliJvlu7rogIUgR0lEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTYKK21zZ2lkICJDcmVhdG9yIGdyb3VwIgorbXNnc3RyICLliJvlu7rogIXnu4QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1NworbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgIueUqOaItyBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICJVSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorbXNnaWQgIlVzZXIgbmFtZSIKK21zZ3N0ciAi55So5oi35ZCNIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTkKK21zZ2lkICJHcm91cCBJRCIKK21zZ3N0ciAiIOe7hCBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR0lEIgorbXNnc3RyICJHSUQiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MAorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIue7hOWQjSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBjaGFuZ2UiCittc2dzdHIgIuS4iuasoeabtOaUueaXtumXtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCittc2dpZCAiTGFzdCBjaGFuZ2UiCittc2dzdHIgIuS4iuasoeabtOaUuSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY0Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAi5bey55So5a2X6IqC5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKK21zZ2lkICJOdW1iZXIgb2YgbWVzc2FnZXMiCittc2dzdHIgIua2iOaBr+aVsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY1Cittc2dpZCAiTWVzc2FnZXMiCittc2dzdHIgIua2iOaBryIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY2Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICLkuIrmrKHlj5Hmtojmga/nmoTml7bpl7QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIg5raI5oGv5bey5Y+R6YCBIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjcKK21zZ2lkICJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIgorbXNnc3RyICLmlLbliLDkuIrmnaHmtojmga/nmoTml7bpl7QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIk1zZyByZWNlaXZlZCIKK21zZ3N0ciAi5raI5oGv5bey5pS25YiwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjgKK21zZ2lkICJQSUQgb2YgdGhlIGxhc3QgbXNnIHNlbmRlciIKK21zZ3N0ciAi5LiK5p2h5raI5oGv5Y+R6YCB6ICF55qEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY4Cittc2dpZCAiTXNnIHNlbmRlciIKK21zZ3N0ciAiIOa2iOaBr+WPkemAgeiAhSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAi5LiK5p2h5raI5oGv5o6l5pS26ICF55qEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiTXNnIHJlY2VpdmVyIgorbXNnc3RyICLmtojmga/mjqXmlLbogIUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MgorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAi54mH5q615aSn5bCPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJOdW1iZXIgb2YgYXR0YWNoZWQgcHJvY2Vzc2VzIgorbXNnc3RyICLpmYTliqDnmoTov5vnqIvmlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3MworbXNnaWQgIkF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAi6ZmE5Yqg55qE6L+b56iLIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzQKK21zZ2lkICJTdGF0dXMiCittc2dzdHIgIueKtuaAgSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc1Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIumZhOWKoOaXtumXtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2Cittc2dpZCAiRGV0YWNoIHRpbWUiCittc2dzdHIgIuWIhuemu+aXtumXtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIGxpbmUiCittc2dzdHIgIuWIm+W7uuiAheWRveS7pOihjCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc3Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICLliJvlu7rogIXlkb3ku6QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAi5Yib5bu66ICF55qEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc4Cittc2dpZCAiQ3JlYXRvciBQSUQiCittc2dzdHIgIiDliJvlu7rogIUgUElEIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIg5LiK5Liq55So5oi355qEIFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc5Cittc2dpZCAiTGFzdCB1c2VyIFBJRCIKK21zZ3N0ciAi5LiK5LiA55So5oi3IFBJRCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIuS/oeWPt+mHj+S4quaVsCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgyCittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAi5L+h5Y+36YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODMKK21zZ2lkICJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIKK21zZ3N0ciAiIOS4iuasoeaTjeS9nOeahOaXtumXtCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiTGFzdCBvcGVyYXRpb24iCittc2dzdHIgIuS4iuasoeaTjeS9nCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2Cittc2dpZCAiUmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAi6LWE5rqQ5ZCN56ewIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODYKK21zZ2lkICJSZXNvdXJjZSIKK21zZ3N0ciAi6LWE5rqQIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi6LWE5rqQ5o+P6L+wIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKK21zZ2lkICJEZXNjcmlwdGlvbiIKK21zZ3N0ciAi5o+P6L+wIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJDdXJyZW50bHkgdXNlZCIKK21zZ3N0ciAi5b2T5YmN5bey5L2/55SoIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODgKK21zZ2lkICJVc2VkIgorbXNnc3RyICLlt7Lkvb/nlKgiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorbXNnaWQgIkN1cnJlbnRseSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi5b2T5YmN5L2/55So5q+U5L6LIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKK21zZ2lkICJVc2UiCittc2dzdHIgIuS9v+eUqCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIuezu+e7n+e6p+mZkOWItiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIumZkOWItiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAi5YiXICVzIOS4jemAgueUqOS6juaMh+WumueahCBJUEMiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OAorbXNnaWQgIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iCittc2dzdHIgIiAtZywgLS1nbG9iYWwgICAgICDmnInlhbPns7vnu5/ojIPlm7Tkvb/nlKjph4/nmoTkv6Hmga8o5Y+v5LiOIC1tLCAtcSDlkowgLXMg5YWx55SoKVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gICAgIOaJk+WNsOeUsTxpZD7moIfor4bnmoTotYTmupDnmoTor6bnu4bkv6Hmga9cbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Mjk1Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgIOS7peWtl+iKguS4uuaJk+WNsCBTSVpF77yM6ICM6Z2e5piT6K+75qC85byPXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIOaYvuekuuWIm+W7uuiAheWSjOaLpeacieiAhVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICAgIHVzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAg5L2/55SoIEpTT04g6L6T5Ye65qC85byPXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMwMAorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAg5by65Yi25Lul5YiX6KGo5qC85byP6L6T5Ye6KOWmguS4jiAtLWlkIOWFseeUqClcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAyCittc2dpZCAiIC1QLCAtLW51bWVyaWMtcGVybXMgICAgICBwcmludCBudW1lcmljIHBlcm1pc3Npb25zIChQRVJNUyBjb2x1bW4pXG4iCittc2dzdHIgIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAg5omT5Y2w5p2D6ZmQ5pWw5YC8KFBFUk1TIOWIlylcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA0Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICDmmL7npLrpmYTliqDjgIHohLHnprvlkozmm7TmlLnml7bpl7RcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzA5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLluLjop4TpgInpobnvvJpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHkuqvlhoXlrZjmrrUgc2htaWQ9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIua2iOaBr+mYn+WIlyDliJcocXVldWVzKe+8mlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIgorbXNnc3RyICIiCisiXG4iCisi5L+h5Y+36YePIOWIlygtLXNlbWFwaG9yZXMp77yaXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjMyNQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU3VtbWFyeSBjb2x1bW5zICgtLWdsb2JhbCk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLmkZjopoEg5YiXKC0tZ2xvYmFsKe+8mlxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo0MTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkVsZW1lbnRzOlxuIgorIlxuIgorbXNnc3RyICIiCisi5YWD57Sg77yaXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjY4NyBzeXMtdXRpbHMvbHNpcGMuYzo4NDggc3lzLXV0aWxzL2xzaXBjLmM6MTA0NworbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAi6K6+572u5pWw5o2u5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlIGlkZW50aWZpZXJzIgorbXNnc3RyICLkv6Hlj7fph4/moIfor4bnrKbnmoTmlbDph48iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxMworbXNnaWQgIlRvdGFsIG51bWJlciBvZiBzZW1hcGhvcmVzIgorbXNnc3RyICLkv6Hlj7fph4/nmoTmgLvmlbAiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjcxNAorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAi5q+P5Liq5L+h5Y+36YeP6ZuG55qE5pyA5aSn5L+h5Y+36YeP5pWw44CCIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKK21zZ2lkICJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIgorbXNnc3RyICLmr4/kuKogc2Vtb3AoMikg55qE5pyA5aSn5pON5L2c5pWwIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKK21zZ2lkICJTZW1hcGhvcmUgbWF4IHZhbHVlIgorbXNnc3RyICLkv6Hlj7fph4/nmoTmnIDlpKflgLwiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjg3MworbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAi5raI5oGv6Zif5YiX55qE5pWw55uuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKK21zZ2lkICJNYXggc2l6ZSBvZiBtZXNzYWdlIChieXRlcykiCittc2dzdHIgIua2iOaBr+eahOacgOWkp+WwuuWvuCjlrZfoioIpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzUKK21zZ2lkICJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiCittc2dzdHIgIumYn+WIl+eahOm7mOiupOacgOWkp+WwuuWvuCjlrZfoioIpIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5ODkgc3lzLXV0aWxzL2xzaXBjLmM6MTAwOAorbXNnaWQgImh1Z2V0bGIiCittc2dzdHIgImh1Z2V0bGIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk5MCBzeXMtdXRpbHMvbHNpcGMuYzoxMDE1Cittc2dpZCAibm9yZXNlcnZlIgorbXNnc3RyICJub3Jlc2VydmUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzIKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICLlhbHkuqvlhoXlrZjmrrUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzMKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICLlhbHkuqvlhoXlrZjpobUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzQKK21zZ2lkICJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAi5YWx5Lqr5YaF5a2Y5q6155qE5pyA5aSn5bC65a+4KOWtl+iKgikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjEwNzUKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAi5YWx5Lqr5YaF5a2Y5q6155qE5pyA5bCP5bC65a+4KOWtl+iKgikiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiCittc2dzdHIgIuino+aekCBJUEMg5qCH6K+G56ym5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMjM5Cittc2dpZCAiLS1nbG9iYWwgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggLS1jcmVhdG9yLCAtLWlkIGFuZCAtLXRpbWUiCittc2dzdHIgIi0tZ2xvYmFsIOS4jiAtLWNyZWF0b3IsIC0taWQg5ZKMIC0tdGltZSDkupLmlqUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOAorbXNnaWQgInN0YXJ0IGFuZCBlbmQgYWRkcmVzcyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEyOQorIywgZnV6enkKK21zZ2lkICJzaXplIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIuejgeebmOWuuemHjyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMwCittc2dpZCAib25saW5lIHN0YXR1cyBvZiB0aGUgbWVtb3J5IHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMQorIywgZnV6enkKK21zZ2lkICJtZW1vcnkgaXMgcmVtb3ZhYmxlIgorbXNnc3RyICIg5Y+v56e75YqoIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzIKK21zZ2lkICJtZW1vcnkgYmxvY2sgbnVtYmVyIG9yIGJsb2NrcyByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAibnVtYSBub2RlIG9mIG1lbW9yeSIKK21zZ3N0ciAi5YaF5a2Y5LiN6LazIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIuejgeebmOWuuemHjyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MjYxCisjLCBmdXp6eQorbXNnaWQgIm9ubGluZSIKK21zZ3N0ciAi77yM5Zyo57q/IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAib2ZmbGluZSIKK21zZ3N0ciAi77yM5Zyo57q/IgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjMKK21zZ2lkICJvbi0+b2ZmIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMiBzeXMtdXRpbHMvbHNtZW0uYzozMjkKKyMsIGZ1enp5Cittc2dpZCAiTWVtb3J5IGJsb2NrIHNpemU6IgorbXNnc3RyICLojrflvpflnZflpKflsI8iCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjMyMyBzeXMtdXRpbHMvbHNtZW0uYzozMzMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgb25saW5lIG1lbW9yeToiCittc2dzdHIgIuacgOWkp+aAu+WFseS6q+WGheWtmCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzI0IHN5cy11dGlscy9sc21lbS5jOjMzNworbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICLop6PmnpAgJXMg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0NzIKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIgorbXNnc3RyICLor6Xns7vnu5/kuI3mlK/mjIHph43mlrDmiavmj48gQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgIOaJk+WNsOaJgOacieiuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3V0cHV0IDzliJfooag+ICAgICAgIOi+k+WHuuWIl1xuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MTAKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIgorbXNnc3RyICIgLXMsIC0tc3lzcm9vdCA855uu5b2VPiAgICDku6XmjIflrprnm67lvZXkvZzkuLrns7vnu5/moLnnm67lvZVcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTExCittc2dpZCAiICAgICAtLXN1bW1hcnlbPXdoZW5dIHByaW50IHN1bW1hcnkgaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBvciBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYxOAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXN1bW1hcnkgYXJndW1lbnQiCittc2dzdHIgIuS4jeaUr+aMgeeahCAtLXNldGdyb3VwcyDlj4LmlbDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjMzCisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS17cmF3LGpzb24scGFpcnN9IGFuZCAtLXN1bW1hcnk9b25seSBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLXNldGdyb3Vwcz1hbGxvdyDlkowgLS1tYXAtcm9vdC11c2VyIOmAiemhueaYr+S6kuaWpeeahCIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NjY0IHN5cy11dGlscy9sc25zLmM6NzgxCittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IHRhYmxlIgorbXNnc3RyICLliJ3lp4vljJbovpPlh7rooajlpLHotKUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY3NgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIgorbXNnc3RyICLliJ3lp4vljJbovpPlh7rliJflpLHotKUiCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTkKK21zZ2lkICJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIKK21zZ3N0ciAi5ZCN5a2X56m66Ze05qCH6K+G56ymIChpbm9kZSDlj7cpIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMAorbXNnaWQgImtpbmQgb2YgbmFtZXNwYWNlIgorbXNnc3RyICLlkI3lrZfnqbrpl7TnsbvlnosiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAxCittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLlkI3lrZfnqbrpl7Tot6/lvoQiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCittc2dpZCAibnVtYmVyIG9mIHByb2Nlc3NlcyBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLlkI3lrZfnqbrpl7TkuK3nmoTov5vnqIvmlbAiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAzCittc2dpZCAibG93ZXN0IFBJRCBpbiB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLlkI3lrZfnqbrpl7TkuK3nmoTmnIDkvY4gUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiUElEIOeahCBQUElEIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICJQSUQg55qE5ZG95Luk6KGMIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNgorbXNnaWQgIlVJRCBvZiB0aGUgUElEIgorbXNnc3RyICJQSUQg55qEIFVJRCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICJQSUQg55qE55So5oi35ZCNIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwOAorbXNnaWQgIm5hbWVzcGFjZSBJRCBhcyB1c2VkIGJ5IG5ldHdvcmsgc3Vic3lzdGVtIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA5Cittc2dpZCAibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6NzE5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBsaW5lIHRvIG91dHB1dCIKK21zZ3N0ciAi5ZCR6L6T5Ye65re75Yqg6KGM5Ye66ZSZIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjg5NQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFs85ZCN5a2X56m66Ze0Pl1cbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo4OTgKK21zZ2lkICJMaXN0IHN5c3RlbSBuYW1lc3BhY2VzLlxuIgorbXNnc3RyICLliJflh7rns7vnu5/lkI3lrZfnqbrpl7TjgIJcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDUKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAg5omT5Y2w6L+b56iL5ZCN5a2X56m66Ze0XG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1tdGFiICAgICAgICAgICDkuI3lhpkgL2V0Yy9tdGFiXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA5Cittc2dpZCAiIC10LCAtLXR5cGUgPG5hbWU+ICAgICAgbmFtZXNwYWNlIHR5cGUgKG1udCwgbmV0LCBpcGMsIHVzZXIsIHBpZCwgdXRzLCBjZ3JvdXApXG4iCittc2dzdHIgIiAtdCwgLS10eXBlIDxuYW1lPiAgICAgIOWQjeWtl+epuumXtOexu+WeiyhtbnQsIG5ldCwgaXBjLCB1c2VyLCBwaWQsIHV0cywgY2dyb3VwKVxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBuYW1lc3BhY2UgdHlwZTogJXMiCittc2dzdHIgIuacquefpeeahOWQjeWtl+epuumXtOexu+Wei++4sCAlcyIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI0Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICItLXRhc2sg5LiOIDzlkI3lrZfnqbrpl7Q+IOS6kuaWpSIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDI1Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahOWQjeWtl+epuumXtOWPguaVsCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAi5om+5LiN5Yiw5ZCN5a2X56m66Ze077iwICVqdSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NjUgc3lzLXV0aWxzL3Vtb3VudC5jOjEyMAorIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICLlj6rmnIkgcm9vdCDnlKjmiLfog73kvb/nlKjigJwtLSVz4oCd6YCJ6aG5KOacieaViCBVSUQg5pivICV1KSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Njggc3lzLXV0aWxzL3Vtb3VudC5jOjEyMworIywgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICLlj6rmnIkgcm9vdCDnlKjmiLfog73miafooYzor6Xmk43kvZwo5pyJ5pWIIFVJRCDkuLogJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIKK21zZ3N0ciAi5Y+q5pyJIHJvb3Qg55So5oi36IO95L2/55So4oCcLS0lc+KAnemAiemhuSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NzMgc3lzLXV0aWxzL3Vtb3VudC5jOjEyOAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKK21zZ3N0ciAi5Y+q5pyJIHJvb3Qg6IO95omn6KGM6K+l5pON5L2cIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo4NCBzeXMtdXRpbHMvdW1vdW50LmM6NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVz77yM5p2l6IeqICVzKGxpYm1vdW50ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoxMjkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICLor7vlj5YgbXRhYiDlpLHotKUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MSBzeXMtdXRpbHMvdW1vdW50LmM6MTg0CisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMjVzOiBpZ25vcmVkXG4iCittc2dzdHIgIiUtMjVz77ya5bey5b+955WlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogYWxyZWFkeSBtb3VudGVkXG4iCittc2dzdHIgIiUtMjVz77ya5bey57uP5oyC6L29XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW92ZWQgdG8gJXMuXG4iCittc2dzdHIgIiVz77yaJXMg5bey56e75YiwICVz44CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVz77yaJXMg5bey57uR5a6a5YiwICVzIOOAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyBtb3VudGVkIG9uICVzLlxuIgorbXNnc3RyICIlc++8miVzIOW3suaMguiHt+WIsCAlc+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iCittc2dzdHIgIiVz77yaJXMg5Lyg5pKt5qCH5b+X5bey5pu05pS544CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI3NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisiICAgICAgIFlvdSBqdXN0IG1vdW50ZWQgYW4gZmlsZSBzeXN0ZW0gdGhhdCBzdXBwb3J0cyBsYWJlbHMgd2hpY2ggZG9lcyBub3RcbiIKKyIgICAgICAgY29udGFpbiBsYWJlbHMsIG9udG8gYW4gU0VMaW51eCBib3guIEl0IGlzIGxpa2VseSB0aGF0IGNvbmZpbmVkXG4iCisiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisiICAgICAgIHRoaXMgZmlsZSBzeXN0ZW0uICBGb3IgbW9yZSBkZXRhaWxzIHNlZSByZXN0b3JlY29uKDgpIGFuZCBtb3VudCg4KS5cbiIKK21zZ3N0ciAiIgorIm1vdW5077yaJXMg5LiN5YyF5ZCrIFNFTGludXgg5qCH5b+XXG4iCisiICAgICAgIOaCqOWImuWwhuS4gOS4quaUr+aMgeagh+etvuS9huacquWMheWQq+agh+etvueahOaWh+S7tuezu+e7n+aMgui9veWIsOS6hiBTRUxpbnV4IOacuuWZqOS4iuOAglxuIgorIiAgICAgICDlj5fpmZDliLbnmoTlupTnlKjnqIvluo/lj6/og73kvJrnlJ/miJAgQVZDIOa2iOaBr++8jOW5tuiiq+mYu+atouiuv+mXruivpeaWh+S7tuezu+e7n+OAglxuIgorIiAgICAgICDmm7TlpJror6bnu4bkv6Hmga/or7flj4LpmIUgcmVzdG9yZWNvbig4KSDlkowgbW91bnQoOCnjgIJcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzA3IHN5cy11dGlscy91bW91bnQuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcy4iCittc2dzdHIgIiUxNXM6ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBwYXJzZSIKK21zZ3N0ciAiJXPvvJrop6PmnpDlpLHotKUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3MgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIKK21zZ3N0ciAi5LiN5pSv5oyB55qE5Y+C5pWw5qC85byP77yaJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICLov73liqDpgInpobnigJwlc+KAneWksei0pSIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MzkyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tc291cmNlXSA8c291cmNlPiB8IFstLXRhcmdldF0gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKyIgJTEkcyA8b3BlcmF0aW9uPiA8bW91bnRwb2ludD4gWzx0YXJnZXQ+XVxuIgorbXNnc3RyICIiCisiICUxJHMgWy1saFZdXG4iCisiICUxJHMgLWEgW+mAiemhuV1cbiIKKyIgJTEkcyBb6YCJ6aG5XSBbLS1zb3VyY2VdIDzmupA+IHwgWy0tdGFyZ2V0XSA855uu5b2VPlxuIgorIiAlMSRzIFvpgInpobldIDzmupA+IDznm67lvZU+XG4iCisiICUxJHMgPOaTjeS9nD4gPOaMgui9veeCuT4gWzznm67moIc+XVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDAKK21zZ2lkICJNb3VudCBhIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuaMgui9veaWh+S7tuezu+e7n+OAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIOaMgui9vSBmc3RhYiDkuK3nmoTmiYDmnInmlofku7bns7vnu59cbiIKKyIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAg5LiN5a+56Lev5b6E6KeE6IyD5YyWXG4iCisiIC1mLCAtLWZha2UgICAgICAgICAgICAgIOepuui/kOihjO+8m+i3s+i/hyBtb3VudCgyKSDns7vnu5/osIPnlKhcbiIKKyIgLUYsIC0tZm9yayAgICAgICAgICAgICAg5a+55q+P5Liq6K6+5aSH56aB55SoIGZvcmso5ZKMIC1hIOmAiemhueS4gOi1t+S9v+eUqClcbiIKKyIgLVQsIC0tZnN0YWIgPOi3r+W+hD4gICAgICAvZXRjL2ZzdGFiIOeahOabv+S7o+aWh+S7tlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICDkuI3osIPnlKggbW91bnQuPHR5cGU+IOi+heWKqeeoi+W6j1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIgorbXNnc3RyICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAg5Lmf5pi+56S65paH5Lu257O757uf5qCH562+XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxNCBzeXMtdXRpbHMvdW1vdW50LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorbXNnc3RyICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAg5LiN5YaZIC9ldGMvbXRhYlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkgKHNhbWUgYXMgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorbXNnc3RyICIiCisiIC1vLCAtLW9wdGlvbnMgPOWIl+ihqD4gICAg5oyC6L296YCJ6aG55YiX6KGo77yM5Lul6Iux5paH6YCX5Y+35YiG6ZqUXG4iCisiIC1PLCAtLXRlc3Qtb3B0cyA85YiX6KGoPiAg6ZmQ5Yi25paH5Lu257O757uf6ZuG5ZCIKOWSjCAtYSDpgInpobnkuIDotbfkvb/nlKgpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIOS7peWPquivu+aWueW8j+aMgui9veaWh+S7tuezu+e7nyjlkIwgLW8gcm8pXG4iCisiIC10LCAtLXR5cGVzIDzliJfooag+ICAgICAg6ZmQ5Yi25paH5Lu257O757uf57G75Z6L6ZuG5ZCIXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyMQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb3VyY2UgPOa6kD4gICAgICAg5oyH5piO5rqQKOi3r+W+hOOAgeagh+etvuOAgXV1aWQpXG4iCisiICAgICAtLXRhcmdldCA855uu5qCHPiAgICAg5oyH5piO5oyC6L2954K5XG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQyNCBzeXMtdXRpbHMvdW1vdW50LmM6MTAyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICDmiZPljbDlvZPliY3ov5vooYznmoTmk43kvZxcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICBtb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLXdyaXRlIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAg5Lul6K+75YaZ5pa55byP5oyC6L295paH5Lu257O757ufKOm7mOiupClcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTb3VyY2U6XG4iCisiIC1MLCAtLWxhYmVsIDxsYWJlbD4gICAgIHN5bm9ueW0gZm9yIExBQkVMPTxsYWJlbD5cbiIKKyIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIGxhYmVsXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBVVUlEXG4iCisiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisiIFBBUlRVVUlEPTx1dWlkPiAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKK21zZ3N0ciAiIgorIlxuIgorIua6kO+8mlxuIgorIiAtTCwgLS1sYWJlbCA85qCH562+PiAgICAgIOWQjCBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIOWQjCBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD085qCH562+PiAgICAgICAgICAgIOaMieaWh+S7tuezu+e7n+agh+etvuaMh+WumuiuvuWkh1xuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICDmjInmlofku7bns7vnu58gVVVJRCDmjIflrprorr7lpIdcbiIKKyIgUEFSVExBQkVMPTzmoIfnrb4+ICAgICAgICDmjInliIbljLrmoIfnrb7mjIflrprorr7lpIdcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICAg5oyJ5YiG5Yy6IFVVSUQg5oyH5a6a6K6+5aSHXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorIiA8ZGlyZWN0b3J5PiAgICAgICAgICAgICBtb3VudHBvaW50IGZvciBiaW5kIG1vdW50cyAoc2VlIC0tYmluZC9yYmluZClcbiIKKyIgPGZpbGU+ICAgICAgICAgICAgICAgICAgcmVndWxhciBmaWxlIGZvciBsb29wZGV2IHNldHVwXG4iCittc2dzdHIgIiIKKyIgPOiuvuWkhz4gICAgICAgICAgICAgICAgICDmjInot6/lvoTmjIflrprorr7lpIdcbiIKKyIgPOebruW9lT4gICAgICAgICAgICAgICAgICDnu5HlrprlvI/mjILovb3nmoTmjILovb3ngrko5Y+C6ZiFIC0tYmluZC9yYmluZClcbiIKKyIgPOaWh+S7tj4gICAgICAgICAgICAgICAgICDnlKjkuo7orr7nva7lm57njq/orr7lpIfnmoTluLjop4Tmlofku7ZcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIuaTjeS9nO+8mlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICDmjILovb3lhbbku5bkvY3nva7nmoTlrZDmoJEo5ZCMIC1vIGJpbmQpXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIOWwhuWtkOagkeenu+WKqOWIsOWFtuS7luS9jee9rlxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICDmjILovb3lhbbku5bkvY3nva7nmoTlrZDmoJHlj4rlhbbljIXlkKvnmoTmiYDmnInlrZDmjILovb0oc3VibW91bnQpXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1MQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcHJpdmF0ZSAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2Utc2hhcmVkICAgICAgICAgICDlsIblrZDmoJHmoIforrDkuLog5YWx5LqrXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIOWwhuWtkOagkeagh+iusOS4uiDku47lsZ5cbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAg5bCG5a2Q5qCR5qCH6K6w5Li6IOengeaciVxuIgorIiAtLW1ha2UtdW5iaW5kYWJsZSAgICAgICDlsIblrZDmoJHmoIforrDkuLog5LiN5Y+v57uR5a6aXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC0tbWFrZS1yc2hhcmVkICAgICAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHNoYXJlZFxuIgorIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBwcml2YXRlXG4iCisiIC0tbWFrZS1ydW5iaW5kYWJsZSAgICAgIHJlY3Vyc2l2ZWx5IG1hcmsgYSB3aG9sZSBzdWJ0cmVlIGFzIHVuYmluZGFibGVcbiIKK21zZ3N0ciAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICDpgJLlvZLlnLDlsIbmlbTkuKrlrZDmoJHmoIforrDkuLog5YWx5LqrXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIOmAkuW9kuWcsOWwhuaVtOS4quWtkOagkeagh+iusOS4uiDku47lsZ5cbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAg6YCS5b2S5Zyw5bCG5pW05Liq5a2Q5qCR5qCH6K6w5Li6IOengeaciVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICDpgJLlvZLlnLDlsIbmlbTkuKrlrZDmoJHmoIforrDkuLog5LiN5Y+v57uR5a6aXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjU0NCBzeXMtdXRpbHMvdW1vdW50LmM6NDQ4Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg546v5aKDKGNvbnRleHQp5YiG6YWN5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorbXNnaWQgImZhaWxlZCB0byBzZXQgb3B0aW9ucyBwYXR0ZXJuIgorbXNnc3RyICLorr7nva7pgInpobnmqKHlvI/lpLHotKUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjc1NworbXNnaWQgInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiCittc2dzdHIgIua6kOaMh+WumuS6huWkmuasoSIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXFkXSAv55uu5b2VL+eahC/ot6/lvoRcbiIKKyIgJTEkcyAteCAvZGV2L+iuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyMworbXNnaWQgIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iCittc2dzdHIgIuajgOafpeebruW9leaIluaWh+S7tuaYr+WQpuS4uuaMgui9veeCueOAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjEyNgorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICDlronpnZnmqKHlvI8gLSDkuI3miZPljbDku7vkvZXkv6Hmga9cbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIOaJk+WNsOaWh+S7tuezu+e7n+eahCDkuLvvvJrmrKEg6K6+5aSH5Y+3XG4iCisiIC14LCAtLWRldm5vICAgICAgICDmiZPljbDlnZforr7lpIfnmoTkuLvvvJrmrKHorr7lpIflj7dcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDkuI3mmK/kuIDkuKrmjILovb3ngrlcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgYSBtb3VudHBvaW50XG4iCittc2dzdHIgIiVzIOaYr+S4gOS4quaMgui9veeCuVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXV1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFs856iL5bqPPiBbPOWPguaVsD4uLi5dXVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjc3Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIG5hbWVzcGFjZXMgb2Ygb3RoZXIgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICLku6Xlhbbku5bnqIvluo/nmoTlkI3lrZfnqbrpl7Tov5DooYzmn5DkuKrnqIvluo/jgIJcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICBlbnRlciBhbGwgbmFtZXNwYWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAg5omT5Y2w5omA5pyJ6K6+5aSHXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODEKK21zZ2lkICIgLXQsIC0tdGFyZ2V0IDxwaWQ+ICAgICB0YXJnZXQgcHJvY2VzcyB0byBnZXQgbmFtZXNwYWNlcyBmcm9tXG4iCittc2dzdHIgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIOimgeiOt+WPluWQjeWtl+epuumXtOeahOebruagh+i/m+eoi1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCittc2dpZCAiIC1tLCAtLW1vdW50Wz08ZmlsZT5dICAgZW50ZXIgbW91bnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtbSwgLS1tb3VudFs9POaWh+S7tj5dICAg6L+b5YWlIG1vdW50IOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgzCittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXUsIC0tdXRzWz085paH5Lu2Pl0gICAgIOi/m+WFpSBVVFMg5ZCN5a2X56m66Ze0KOS4u+acuuWQjeetiSlcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NAorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgIGVudGVyIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1pLCAtLWlwY1s9POaWh+S7tj5dICAgICDov5vlhaUgU3lzdGVtIFYgSVBDIOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg1Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5ldFs9POaWh+S7tj5dICAgICDov5vlhaXnvZHnu5zlkI3lrZfnqbrpl7RcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4NgorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9POaWh+S7tj5dICAgICDov5vlhaUgcGlkIOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgZW50ZXIgY2dyb3VwIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLUMsIC0tY2dyb3VwWz085paH5Lu2Pl0gIOi/m+WFpSBjZ3JvdXAg5ZCN5a2X56m66Ze0XG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODgKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICBlbnRlciB1c2VyIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVUsIC0tdXNlcls9POaWh+S7tj5dICAgIOi/m+WFpeeUqOaIt+WQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg5Cittc2dpZCAiIC1TLCAtLXNldHVpZCA8dWlkPiAgICAgc2V0IHVpZCBpbiBlbnRlcmVkIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICDorr7nva7ov5vlhaXnqbrpl7TkuK3nmoQgdWlkXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTAKK21zZ2lkICIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIOiuvue9rui/m+WFpeWQjeWtl+epuumXtOS4reeahCBnaWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MQorbXNnaWQgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBkbyBub3QgdG91Y2ggdWlkcyBvciBnaWRzXG4iCittc2dzdHIgIiAgICAgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyDkuI3lubLmtokgdWlkIOaIliBnaWRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5MgorbXNnaWQgIiAtciwgLS1yb290Wz08ZGlyPl0gICAgIHNldCB0aGUgcm9vdCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC1yLCAtLXJvb3RbPTznm67lvZU+XSAgICAg6K6+572u5qC555uu5b2VXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTMKK21zZ2lkICIgLXcsIC0td2RbPTxkaXI+XSAgICAgICBzZXQgdGhlIHdvcmtpbmcgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIOiuvue9ruW3peS9nOebruW9lVxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk0Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLUYsIC0tbm8tZm9yayAgICAgICAgICDmiafooYwgPOeoi+W6jz4g5YmN5LiNIGZvcmtcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NgorbXNnaWQgIiAtWiwgLS1mb2xsb3ctY29udGV4dCAgIHNldCBTRUxpbnV4IGNvbnRleHQgYWNjb3JkaW5nIHRvIC0tdGFyZ2V0IFBJRFxuIgorbXNnc3RyICIgLVosIC0tZm9sbG93LWNvbnRleHQgIOagueaNriAtLXRhcmdldCBQSUQg6K6+572uIFNFTGludXgg546v5aKDXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MTIxCisjLCBjLWZvcm1hdAorbXNnaWQgIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIgorbXNnc3RyICLmsqHmnInkuLogJXMg5o+Q5L6b5paH5Lu25ZCN5oiW55uu5qCHIHBpZCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgdWlkIgorbXNnc3RyICLop6PmnpAgdWlkIOWksei0pSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMTMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZ2lkIgorbXNnc3RyICLop6PmnpAgZ2lkIOWksei0pSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNDkKK21zZ2lkICJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1mb2xsb3ctY29udGV4dCIKK21zZ3N0ciAi5rKh5pyJ5Li6IC0tZm9sbG93LWNvbnRleHQg6K6+572u55uu5qCHIFBJRCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiCittc2dzdHIgIuacquiDveiOt+WPliAlZCBTRUxpbnV4IOeOr+WigyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAi5ZCR4oCcJXPigJ3orr7nva4gZXhlYyDnjq/looPlpLHotKUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzYxCisjLCBmdXp6eQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWFsbCIKK21zZ3N0ciAi5rKh5pyJ5Li6IC0tZm9sbG93LWNvbnRleHQg6K6+572u55uu5qCHIFBJRCIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVhc3NvY2lhdGUgdG8gbmFtZXNwYWNlICclcycgZmFpbGVkIgorbXNnc3RyICLph43mlrDlhbPogZTliLDlkI3lrZfnqbrpl7TigJwlc+KAneWksei0pSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKK21zZ2lkICJjYW5ub3Qgb3BlbiBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IgorbXNnc3RyICLmiZPkuI3lvIDlvZPliY3lt6XkvZznm67lvZUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDQ4Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIuagueaNriByb290IOaWh+S7tuaPj+i/sOespiDmm7TmlLnnm67lvZXlpLHotKUiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDUxCittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAiY2hyb290IOWksei0pSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NjEKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIuaMieW3peS9nOebruW9leaWh+S7tuaPj+i/sOespuabtOaUueebruW9leWksei0pSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjkKK21zZ2lkICJzZXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0g5paw5qC555uu5b2VIOaXp+agueebruW9leabtOWQjVxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjM4Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuabtOaUueagueaWh+S7tuezu+e7n+OAglxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2Ugcm9vdCBmcm9tIGAlcycgdG8gYCVzJyIKK21zZ3N0ciAi5bCG5qC555uu5b2V5LuO4oCcJXPigJ3mm7TmlLnkuLrigJwlc+KAneWksei0pSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIuWcsOWdgOepuumXtOmZkOWItiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorbXNnaWQgIm1heCBjb3JlIGZpbGUgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn5qC45b+D5paH5Lu25bC65a+4IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc3Cittc2dpZCAiQ1BVIHRpbWUiCittc2dzdHIgIkNQVSDml7bpl7QiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzcKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICLnp5LmlbAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKK21zZ2lkICJtYXggZGF0YSBzaXplIgorbXNnc3RyICLmnIDlpKfmlbDmja7lsLrlr7giCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzkKK21zZ2lkICJtYXggZmlsZSBzaXplIgorbXNnc3RyICLmnIDlpKfmlofku7blsLrlr7giCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODAKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAi5pyA5aSn5paH5Lu26ZSB5L+d5oyB5pWw6YePIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCittc2dpZCAibG9ja3MiCittc2dzdHIgIumUgSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MQorbXNnaWQgIm1heCBsb2NrZWQtaW4tbWVtb3J5IGFkZHJlc3Mgc3BhY2UiCittc2dzdHIgIuacgOWkp+WGheWtmOmUgeWumihsb2NrZWQtaW4tbWVtb3J5KeWcsOWdgOepuumXtCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MgorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICJQT1NJWCDmtojmga/pmJ/liJfkuK3nmoTmnIDlpKflrZfoioLmlbAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODMKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIuWFgeiuuOaPkOWNh+eahOacgOWkpyBuaWNlIOS8mOWFiOe6pyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorbXNnaWQgIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIKK21zZ3N0ciAi5omT5byA5paH5Lu255qE5pyA5aSn5pWw6YePIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg0Cittc2dpZCAiZmlsZXMiCittc2dzdHIgIuaWh+S7tiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICLmnIDlpKfov5vnqIvmlbAiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKK21zZ2lkICJwcm9jZXNzZXMiCittc2dzdHIgIui/m+eoiyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NgorbXNnaWQgIm1heCByZXNpZGVudCBzZXQgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn6am755WZ6ZuG5bC65a+4IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg3Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAi5pyA5aSn5a6e5pe25LyY5YWI57qnIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4Cittc2dpZCAidGltZW91dCBmb3IgcmVhbC10aW1lIHRhc2tzIgorbXNnc3RyICLlrp7ml7bku7vliqHotoXml7YiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODgKK21zZ2lkICJtaWNyb3NlY3MiCittc2dzdHIgIuavq+enkuaVsCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4OQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICLmjILotbcocGVuZGluZynkv6Hlj7fnmoTmnIDlpKfmlbDph48iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICLkv6Hlj7ciCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJtYXggc3RhY2sgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn5qCIKHN0YWNrKeWwuuWvuCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKK21zZ2lkICJyZXNvdXJjZSBuYW1lIgorbXNnc3RyICLotYTmupDlkI3np7AiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI0Cittc2dpZCAicmVzb3VyY2UgZGVzY3JpcHRpb24iCittc2dzdHIgIui1hOa6kOaPj+i/sCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjUKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICLova/pmZDliLYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2Cittc2dpZCAiaGFyZCBsaW1pdCAoY2VpbGluZykiCittc2dzdHIgIuehrOmZkOWItijop6bpobYpIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNworbXNnaWQgInVuaXRzIgorbXNnc3RyICLljZXkvY0iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFstcCBQSURdXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0g5ZG95LukXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTY3Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlc291cmNlIGxpbWl0cyBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIuaYvuekuuaIluabtOaUuei/m+eoi+eahOi1hOa6kOmZkOWItuOAgiBcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5bi46KeE6YCJ6aG577yaXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICDov5vnqIsgaWRcbiIKKyIgLW8sIC0tb3V0cHV0IDzliJfooag+ICAgIOWumuS5ieimgeS9v+eUqOeahOi+k+WHuuWIl1xuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIOS4jeaJk+WNsOagh+mimFxuIgorIiAgICAgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+eUn+i+k+WHuuagvOW8j1xuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIOivpuWwvei+k+WHulxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OAorbXNnaWQgIiIKKyJcbiIKKyJSZXNvdXJjZXMgT3B0aW9uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIui1hOa6kOmAiemhue+8mlxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE3OQorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAg5Yib5bu65qC45b+D5paH5Lu255qE5pyA5aSn5bC65a+4XG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAg6L+b56iL5pWw5o2u5q6155qE5pyA5aSn5bC65a+4XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAg5YWB6K645o+Q5Y2H55qE5pyA5aSnIG5pY2Ug5LyY5YWI57qnXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAg6L+b56iL5YaZ5paH5Lu255qE5pyA5aSn5bC65a+4XG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAg5oyC6LW3KHBlbmRpbmcp5L+h5Y+355qE5pyA5aSn5pWw6YePXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAg5YaF5a2Y5Lit6L+b56iL6ZSB55qE5pyA5aSn5pWw6YePXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgKOWGheWtmOiZmuaLn+mhtSnpqbvnlZnpm4bnmoTmnIDlpKfmlbDph49cbiIKKyIgLW4sIC0tbm9maWxlICAgICAgICAgICDmiZPlvIDmlofku7bnmoTmnIDlpKfmlbDph49cbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBQT1NJWCDmtojmga/pmJ/liJfnmoTmnIDlpKflrZfoioLmlbBcbiIKKyIgLXIsIC0tcnRwcmlvICAgICAgICAgICDmnIDlpKflrp7ml7bosIPluqbkvJjlhYjnuqdcbiIKKyIgLXMsIC0tc3RhY2sgICAgICAgICAgICDmnIDlpKfmoIgoc3RhY2sp5bC65a+4XG4iCisiIC10LCAtLWNwdSAgICAgICAgICAgICAg5pyA6ZW/IENQVSDml7bpl7Qo56eSKVxuIgorIiAtdSwgLS1ucHJvYyAgICAgICAgICAgIOacgOWkmueUqOaIt+i/m+eoi+aVsOmHj1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIOiZmuaLn+WGheWtmOWkp+Wwj1xuIgorIiAteCwgLS1sb2NrcyAgICAgICAgICAgIOaWh+S7tumUgeeahOacgOWkp+aVsOmHj1xuIgorIiAteSwgLS1ydHRpbWUgICAgICAgICAgIOWunuaXtuiwg+W6puaXtui/m+eoi+iwg+W6pueahCBDUFVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAo6Ze06ZqUKeaXtumXtCjmr6vnp5IpXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorbXNnaWQgInVubGltaXRlZCIKK21zZ3N0ciAi5peg6ZmQ5Yi2IgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjMzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IG9sZCAlcyBsaW1pdCIKK21zZ3N0ciAi6I635Y+W5pen55qEICVzIOmZkOWItuWksei0pSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAi6L2v6ZmQ5Yi2ICVzIOS4jeiDvei2hei/h+ehrOmZkOWItiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIKK21zZ3N0ciAicGlkICUyJGQg55qE5pawICUxJHMg6ZmQ5Yi277yaIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAi6K6+572uICVzIOi1hOa6kOmZkOWItuWksei0pSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCB0aGUgJXMgcmVzb3VyY2UgbGltaXQiCittc2dzdHIgIuiOt+WPliAlcyDotYTmupDpmZDliLblpLHotKUiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NDU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyBsaW1pdCIKK21zZ3N0ciAi6Kej5p6QICVzIOmZkOWItuWksei0pSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo1ODQKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIi0tcGlkIOmAiemhueWPquiDveaMh+WumuS4gOasoSIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo2MTQKK21zZ2lkICJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tcGlkIOWSjCDlkb3ku6Qg5LqS55u45o6S5palIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMDcKK21zZ2lkICJEaXNwbGF5IGtlcm5lbCBwcm9maWxpbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuaYvuekuuWGheaguOWIhuaekOS/oeaBr+OAglxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDzmmKDlsITmlofku7Y+ICAo6buY6K6k77ya4oCcJXPigJ3lkoxcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOKAnCVz4oCdKVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gICjpu5jorqTvvJrigJwlc+KAnSlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2Cittc2dpZCAiIC1NLCAtLW11bHRpcGxpZXIgPG11bHQ+ICAgc2V0IHRoZSBwcm9maWxpbmcgbXVsdGlwbGllciB0byA8bXVsdD5cbiIKK21zZ3N0ciAiIC1NLCAtLW11bHRpcGxpZXIgPOS5mOaVsD4gICDlsIbmgKfog73mtYvor5XkuZjmlbDorr7nva7kuLo85LmY5pWwPlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKK21zZ2lkICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5Y+q5omT5Y2w5pyJ5YWz6YeH5qC35q2l6aqkKHNhbXBsaW5nIHN0ZXAp55qE5L+h5oGvXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExOAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDmiZPljbDor6bnu4bkv6Hmga9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDmiZPljbDmiYDmnInnrKblj7fvvIzljbPkvb/orqHmlbDkuLogMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKK21zZ2lkICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGhpc3RvZ3JhbS1iaW4gY291bnRzXG4iCittc2dzdHIgIiAtYiwgLS1oaXN0YmluICAgICAgICAgICAgIOaJk+WNsOWQhOS4quebtOaWueWbvuWMuumXtOeahOiuoeaVsFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjEKK21zZ2lkICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICBwcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnNcbiIKK21zZ3N0ciAiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAg5omT5Y2w5Ye95pWw5YaF55qE54us56uL6K6h5pWwXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjEyMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAg6YeN572u5omA5pyJ6K6h5pWwKOmZkCByb290IOeUqOaItylcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCittc2dpZCAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAgZGlzYWJsZSBieXRlIG9yZGVyIGF1dG8tZGV0ZWN0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIOemgeeUqOWtl+iKgumhuuW6j+iHquWKqOajgOa1i1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3Igd3JpdGluZyAlcyIKK21zZ3N0ciAi5YaZICVzIOWHuumUmSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjcwCittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAi5bCG5YGH6K6+5Li65Y+N5ZCR5a2X6IqC6aG65bqP44CC5Y+v5L2/55SoIC1uIOW8uuWItuS4uuWOn+eUn+Wtl+iKgumhuuW6j+OAgiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNhbXBsaW5nX3N0ZXA6ICV1XG4iCittc2dzdHIgIumHh+agt+atpemVv++8miV1XG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMwMSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIKK21zZ3N0ciAiJXMoJWkp77ya6ZSZ6K+v55qEIG1hcCDooYwiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiCittc2dzdHIgIuWcqCAlcyDkuK3mib7kuI3liLDigJxfc3RleHTigJ0iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NQorbXNnaWQgInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIKK21zZ3N0ciAi6YWN572uKHByb2ZpbGUp5Zyw5Z2A6LaF5Ye66IyD5Zu044CCbWFwIOaWh+S7tumUmeivr++8nyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDAzCittc2dpZCAidG90YWwiCittc2dzdHIgIuaAu+iuoSIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCittc2dpZCAicHJvY2VzcyBJRCIKK21zZ3N0ciAi6L+b56iLIElEIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NTMKK21zZ2lkICJwcm9jZXNzIGdyb3VwIElEIgorbXNnc3RyICLov5vnqIvnu4QgSUQiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo2MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPOS8mOWFiOe6pz4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorIiAlMSRzIFstbl0gPOS8mOWFiOe6pz4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDzkvJjlhYjnuqc+ICAtdXwtLXVzZXIgPOeUqOaItz4uLi5cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICLmlLnlj5jov5DooYzov5vnqIvnmoTkvJjlhYjnuqfjgIIgXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiAtbiwgLS1wcmlvcml0eSA85pWw5a2XPiAg5oyH5a6aIG5pY2Ug5aKe6YePXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MgorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICDlsIblj4LmlbDop6Pph4rkuLrov5vnqIsgSUQgKOm7mOiupClcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAg5bCG5Y+C5pWw6Kej6YeK5Li66L+b56iL57uEIElEXG4iCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3NAorbXNnaWQgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCittc2dzdHIgIiAtdSwgLS11c2VyIDxuYW1lPnw8aWQ+IOWwhuWPguaVsOino+mHiuS4uiDnlKjmiLflkI0g5oiWIOeUqOaItyBJRFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAi6I635Y+WICVkICglcykg55qE5LyY5YWI57qn5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAi6K6+572uICVkIOeahOS8mOWFiOe6p+Wksei0pSglcykiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpIOaXp+S8mOWFiOe6p+S4uiAlZO+8jOaWsOS8mOWFiOe6p+S4uiAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgIuaXoOaViCBJRO+8miVzIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gdXNlciAlcyIKK21zZ3N0ciAi5pyq55+l55So5oi3ICVzIgorCisjLiBUUkFOU0xBVE9SUzogVGhlIGZpcnN0ICVzIGlzIG9uZSBvZiB0aGUgYWJvdmUKKyMuICogdGhyZWUgSUQgbmFtZXMuIFJlYWQ6ICJiYWQgdmFsdWUgZm9yICVzOiAlcyIKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxODgKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkICVzIHZhbHVlOiAlcyIKK21zZ3N0ciAi6ZSZ6K+v55qEICVzIOWAvO+8miVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi5YaF6YOo5YaF5qC46K6+5aSH5ZCN56ewIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBpZGVudGlmaWVyIHZhbHVlIgorbXNnc3RyICLorr7lpIfmoIfor4bnrKYiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzEKK21zZ2lkICJkZXZpY2UgdHlwZSBuYW1lIHRoYXQgY2FuIGJlIHVzZWQgYXMgaWRlbnRpZmllciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MTMyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSB0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICLmoIflv5fmj4/ov7AiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIHNvZnR3YXJlIGJsb2NrIgorbXNnc3RyICLplIHnmoTlpKflsI8iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzQKKyMsIGZ1enp5Cittc2dpZCAic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIgorbXNnc3RyICLmmL7npLrnoazku7bnnIvpl6jni5fnmoTnirbmgIHjgIJcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgIuaXoOazlemUgeWumiAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgIuino+aekCAlcyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICLorr7lpIfmoIfor4bnrKYiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICLlt7LplIHlrpoiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgIuW3sumUgeWumiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIuejgeebmOagh+ivhuespu+8miVzIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzzorr7lpIc+IC4uLl1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorIywgZnV6enkKK21zZ2lkICIgaGVscFxuIgorbXNnc3RyICIgLWhlbHBcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAi56OB55uY5qCH6K+G56ymIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk1CisjLCBmdXp6eQorbXNnaWQgIiBibG9jayAgIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAi56OB55uY5qCH6K+G56ymIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTk2CisjLCBmdXp6eQorbXNnaWQgIiB1bmJsb2NrIGlkZW50aWZpZXJcbiIKK21zZ3N0ciAi56OB55uY5qCH6K+G56ymIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICLov5vlhaXns7vnu5/nnaHnnKDnirbmgIHvvIznm7TliLDmjIflrprnmoTllKTphpLml7bpl7TjgIJcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDQKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAg5LuOIGFkanVzdCDmlofku7bor7vlj5bml7bpkp/mqKHlvI8o6buY6K6kKVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWRqZmlsZSA85paH5Lu2PiAgICAg5oyH5a6aIGFkanVzdCDmlofku7bnmoTot6/lvoRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAg6buY6K6k5Li6ICVzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA4Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWVzdGFtcD4gICBkYXRlIHRpbWUgb2YgdGltZXN0YW1wIHRvIHdha2VcbiIKK21zZ3N0ciAiICAgICAtLWRhdGUgPOaXtumXtOaIsz4gICAgICDllKTphpLml7bpl7TmiLPnmoTml6XmnJ/ml7bpl7RcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDkKK21zZ2lkICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIgorbXNnc3RyICIgLWQsIC0tZGV2aWNlIDzorr7lpIc+ICAgICAg6YCJ5oupIHJ0YyDorr7lpIcocnRjMHxydGMxfC4uLilcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTAKK21zZ2lkICIgLW4sIC0tZHJ5LXJ1biAgICAgICAgICAgIGRvZXMgZXZlcnl0aGluZywgYnV0IHN1c3BlbmRcbiIKK21zZ3N0ciAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICDmvJTnpLrmk43kvZzkvYbkuI3miafooYwoc3VzcGVuZClcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTEKK21zZ2lkICIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iCittc2dzdHIgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIOS9v+eUqOacrOWcsOaXtuWMulxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMgorbXNnaWQgIiAgICAgLS1saXN0LW1vZGVzICAgICAgICAgbGlzdCBhdmFpbGFibGUgbW9kZXNcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICDliJflh7rlj6/nlKjmqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTMKK21zZ2lkICIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iCittc2dzdHIgIiAtbSwgLS1tb2RlIDzmqKHlvI8+ICAgICAgICDmjIflrpogc3RhbmRieXxtZW18Li4uIOetieedoeecoOaooeW8j1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNAorbXNnaWQgIiAtcywgLS1zZWNvbmRzIDxzZWNvbmRzPiAgc2Vjb25kcyB0byBzbGVlcFxuIgorbXNnc3RyICIgLXMsIC0tc2Vjb25kcyA856eS5pWwPiAgICAg5oyH5a6a552h55yg55qE56eS5pWwXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE1Cittc2dpZCAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICB0aW1lIHRvIHdha2VcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPHRpbWVfdD4gICAgICDmjIflrprllKTphpLml7bliLtcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTYKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIgorbXNnc3RyICIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyDkvb/nlKggVVRDXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE3Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg6L6T5Ye66K+m5bC95raI5oGvXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3Cittc2dpZCAicmVhZCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIuivu+WPliBydGMg5pe26Ze05aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjE3MworbXNnaWQgInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIgorbXNnc3RyICLor7vlj5bns7vnu5/ml7bpl7TlpLHotKUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTg5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIui9rOaNoiBydGMg5pe26Ze05aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworbXNnaWQgInNldCBydGMgd2FrZSBhbGFybSBmYWlsZWQiCittc2dzdHIgIuiuvue9riBydGMg5ZSk6YaS6Ze56ZKf5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkaW5nIHN0ZGluIgorbXNnc3RyICLlv73nlaXlr7npvZDlgY/np7vph48iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzI1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdGhpcmQgbGluZSBpbjogJXM6ICVzIgorbXNnc3RyICLnrKwgMyDooYzlvILluLjvvJolc++8miVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMzOCBzeXMtdXRpbHMvcnRjd2FrZS5jOjY0MgorbXNnaWQgInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIKK21zZ3N0ciAi6K+75Y+WIHJ0YyDpl7npkp/lpLHotKUiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAi6Ze56ZKf77ya5YWzXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2Cittc2dpZCAiY29udmVydCB0aW1lIGZhaWxlZCIKK21zZ3N0ciAi6L2s5o2i5pe26Ze05aSx6LSlIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjM2MQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybTogb24gICVzIgorbXNnc3RyICLpl7npkp/vvJrkuo4gICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIuaXoOazleivu+WPlu+4sCVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJ1bnJlY29nbml6ZWQgc3VzcGVuZCBzdGF0ZSAnJXMnIgorbXNnc3RyICLkuI3mlK/mjIHnmoTmjILotbfnirbmgIHigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTMKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIuaXoOaViOeahCDnp5LmlbAg5Y+C5pWwIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5NworbXNnaWQgImludmFsaWQgdGltZSBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIOaXtumXtCDlj4LmlbAiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVz77ya5bCG5YGH6K6+IFJUQyDkvb/nlKggVVRDLi4uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI5Cittc2dpZCAiVXNpbmcgVVRDIHRpbWUuXG4iCittc2dzdHIgIuS9v+eUqCBVVEMg5pe26Ze044CCXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMwCittc2dpZCAiVXNpbmcgbG9jYWwgdGltZS5cbiIKK21zZ3N0ciAi5L2/55So5b2T5Zyw5pe26Ze044CCXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTMzCittc2dpZCAibXVzdCBwcm92aWRlIHdha2UgdGltZSAoc2VlIC0tc2Vjb25kcywgLS10aW1lIGFuZCAtLWRhdGUgb3B0aW9ucykiCittc2dzdHIgIuW/hemhu+aPkOS+m+WUpOmGkuaXtumXtCjop4EgLS1zZWNvbmRzLCAtLXRpbWUg5ZKMIC0tZGF0ZSDpgInpobkpIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzOQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMg5rKh5pyJ5Li65ZSk6YaS5LqL5Lu25ZCv55SoIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU0NgorIywgYy1mb3JtYXQKK21zZ2lkICJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iCittc2dzdHIgIumXuemSnyAlbGTvvIxzeXMg5pe26Ze0ICVsZO+8jHJ0YyDml7bpl7QgJWxk77yM56eS5pWwICV1XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTUzCisjLCBjLWZvcm1hdAorbXNnaWQgInRpbWUgZG9lc24ndCBnbyBiYWNrd2FyZCB0byAlcyIKK21zZ3N0ciAi5pe26Ze05LiN6IO96L+U5Zue5YiwICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlMSRz77ya55SoICUzJHMg55qEICUyJHMg5ZSk6YaSIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlc++8muS7juKAnCVz4oCd5ZSk6YaS77yM5L2/55SoICVz77yM5pe26Ze0ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIuaMgui1t+aooeW8j++8muaXoO+8m+Wwhuemu+W8gFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIuaMgui1t+aooeW8j++8muWFs++8m+ato+WcqOaJp+ihjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICLmjILotbfmqKHlvI/vvJrlvIDvvJvmraPlnKjor7sgcnRjXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCittc2dpZCAicnRjIHJlYWQgZmFpbGVkIgorbXNnc3RyICLor7sgcnRjIOWksei0pSIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAi5oyC6LW35qih5byP77ya56aB55So77yb5q2j5Zyo56aB55So6Ze56ZKfXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogc2hvdzsgcHJpbnRpbmcgYWxhcm0gaW5mb1xuIgorbXNnc3RyICLmjILotbfmqKHlvI/vvJrmmL7npLrvvJvmraPlnKjmiZPljbDpl7npkp/kv6Hmga9cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MzMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiAlczsgc3VzcGVuZGluZyBzeXN0ZW1cbiIKK21zZ3N0ciAi5oyC6LW35qih5byP77yaJXPvvJvmraPlnKjmjILotbfns7vnu59cbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDcKK21zZ2lkICJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIgorbXNnc3RyICLnpoHnlKggcnRjIOmXuemSn+S4reaWreWksei0pSIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzo0OAorIywgYy1mb3JtYXQKK21zZ2lkICJTd2l0Y2hpbmcgb24gJXMuXG4iCittc2dzdHIgIuato+WcqOaJk+W8gCAlc+OAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgPOaetuaehD4gW+mAiemhuV0gWzznqIvluo8+IFs85Y+C5pWwPi4uLl1dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICLmm7TmlLnmiqXlkYrnmoTmnrbmnoTlubborr7nva7kurrmoLzmoIflv5cocGVyc29uYWxpdHkgZmxhZykg44CCXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIC1CLCAtLTMyYml0ICAgICAgICAgICAgICDlvIDlkK8gQUREUl9MSU1JVF8zMkJJVFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIgLUYsIC0tZmRwaWMtZnVuY3B0cnMgICAgIOWwhueoi+W6j+aMh+mSiOaMh+WQkeaPj+i/sOesplxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMAorbXNnaWQgIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKK21zZ3N0ciAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICDlvIDlkK8gU0hPUlRfSU5PREVcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDEKK21zZ2lkICIgLUwsIC0tYWRkci1jb21wYXQtbGF5b3V0IGNoYW5nZXMgdGhlIHdheSB2aXJ0dWFsIG1lbW9yeSBpcyBhbGxvY2F0ZWRcbiIKK21zZ3N0ciAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCDmm7TmlLnomZrmi5/lhoXlrZjliIbphY3nmoTmlrnlvI9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIOemgeatoumaj+acuuWMluiZmuaLn+WcsOWdgOepuumXtFxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwMworbXNnaWQgIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAgdHVybnMgb24gV0hPTEVfU0VDT05EU1xuIgorbXNnc3RyICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIOW8gOWQryBXSE9MRV9TRUNPTkRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA0Cittc2dpZCAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICB0dXJucyBvbiBTVElDS1lfVElNRU9VVFNcbiIKK21zZ3N0ciAiIC1ULCAtLXN0aWNreS10aW1lb3V0cyAgICDlvIDlkK8gU1RJQ0tZX1RJTUVPVVRTXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIgLVgsIC0tcmVhZC1pbXBsaWVzLWV4ZWMgIOW8gOWQryBSRUFEX0lNUExJRVNfRVhFQ1xuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjEwNgorbXNnaWQgIiAtWiwgLS1tbWFwLXBhZ2UtemVybyAgICAgdHVybnMgb24gTU1BUF9QQUdFX1pFUk9cbiIKK21zZ3N0ciAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICDlvIDlkK8gTU1BUF9QQUdFX1pFUk9cbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDcKK21zZ2lkICIgLTMsIC0tM2diICAgICAgICAgICAgICAgIGxpbWl0cyB0aGUgdXNlZCBhZGRyZXNzIHNwYWNlIHRvIGEgbWF4aW11bSBvZiAzIEdCXG4iCittc2dzdHIgIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAg5bCG55So5oi35Zyw5Z2A56m66Ze06ZmQ5Yi25Li65pyA5aSaIDMgR0JcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDgKK21zZ2lkICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCittc2dzdHIgIiAgICAgLS00Z2IgICAgICAgICAgICAgICAg5b+955WlKOe6r+S4uuWFvOWuuSlcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDkKK21zZ2lkICIgICAgIC0tdW5hbWUtMi42ICAgICAgICAgIHR1cm5zIG9uIFVOQU1FMjZcbiIKK21zZ3N0ciAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICDlvIDlkK8gVU5BTUUyNlxuIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjExMAorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgc2F5IHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDlkYrnn6XmiZPlvIDkuoblk6rkupvpgInpoblcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTMKK21zZ2lkICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIGxpc3Qgc2V0dGFibGUgYXJjaGl0ZWN0dXJlcywgYW5kIGV4aXRcbiIKK21zZ3N0ciAiICAgICAtLWxpc3QgICAgICAgICAgICAgICDliJflh7rlj6/orr7nva7nmoTmnrbmnoTlubbpgIDlh7pcbiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVz77ya5pyq6K+G5Yir55qE5p625p6EIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgYy1mb3JtYXQKK21zZ2lkICJLZXJuZWwgY2Fubm90IHNldCBhcmNoaXRlY3R1cmUgdG8gJXMiCittc2dzdHIgIuWGheaguOS4jeiDveiuvue9ruS4uiAlcyDnmoTmnrbmnoQiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIuWPguaVsOS4jeWknyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi5peg5rOV5bCG5Lq65qC8KHBlcnNvbmFsaXR5Keiuvue9ruS4uiAlcyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKK21zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICctLWxpc3QnIgorbXNnc3RyICLml6Dms5Xor4bliKvnmoTigJwtLWxpc3TigJ3pgInpobkiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4Cittc2dpZCAibm8gYXJjaGl0ZWN0dXJlIGFyZ3VtZW50IHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5p625p6E5Y+C5pWwIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIgorbXNnc3RyICLml6Dms5XlsIbkurrmoLwocGVyc29uYWxpdHkp6K6+572u5Li6ICVzIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjM3NworIywgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAi5omn6KGM5ZG95Luk4oCcJXPigJ3jgIJcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSA856iL5bqPPiBbPOWPguaVsD4uLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIuS7peS4jeWQjOeahOadg+mZkOiuvue9rui/kOihjOeoi+W6j+OAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyMgorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjKVxuIgorbXNnc3RyICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgIOaYvuekuuW9k+WJjeeKtuaAgSjkuI3miafooYzku7vkvZXmk43kvZwpXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgIiAtLW5ucCwgLS1uby1uZXctcHJpdnMgICAgICAgZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXNcbiIKK21zZ3N0ciAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICDnpoHmraLotYvkuojmlrDmnYPpmZBcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICDorr7nva7lj6/nu6fmib/nmoTmnYPog71cbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjUKKyMsIGZ1enp5Cittc2dpZCAiIC0taW5oLWNhcHMgPGNhcHMsLi4uPiAgICAgICBzZXQgaW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzXG4iCittc2dzdHIgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAg6K6+572u5Y+v57un5om/55qE5p2D6IO9XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2CisjLCBmdXp6eQorbXNnaWQgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAgICAgc2V0IGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0XG4iCittc2dzdHIgIiAtLWJvdW5kaW5nLXNldCA8Y2Fwcz4gICAg6K6+572u5p2D6IO957uR5a6a6ZuGXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iCittc2dzdHIgIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAg6K6+572u5a6e6ZmFIHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOAorIywgZnV6enkKK21zZ2lkICIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iCittc2dzdHIgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAg6K6+572u5pyJ5pWIIHVpZFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyOQorIywgZnV6enkKK21zZ2lkICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIgorbXNnc3RyICIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgIOiuvue9ruWunumZhSBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1lZ2lkIDxnaWQ+ICAgICAgICAgICAgIOiuvue9ruacieaViCBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLS1yZXVpZCA8dWlkPiAgICAgICAgICAgIOiuvue9ruWunumZheWSjOacieaViCB1aWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLS1yZWdpZCA8Z2lkPiAgICAgICAgICAgIOiuvue9ruWunumZheWSjOacieaViCBnaWRcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLS1jbGVhci1ncm91cHMgICAgICAgICAgIOa4hemZpOmZhOWxnue7hFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorIywgZnV6enkKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICDkv53nlZnpmYTlsZ7nu4RcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiIC0taW5pdC1ncm91cHMgICAgICAgICAgICAgICBpbml0aWFsaXplIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWtlZXAtZ3JvdXBzICAgICAgICAgICAg5L+d55WZ6ZmE5bGe57uEXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM2CisjLCBmdXp6eQorbXNnaWQgIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iCittc2dzdHIgIiAtLWdyb3VwcyA857uELC4uLj4gICAgICAgIOiuvue9rumZhOWxnue7hFxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNworIywgZnV6enkKK21zZ2lkICIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iCittc2dzdHIgIiAtLXNlY3VyZWJpdHMgPOS9jT4gICAgICAgIOiuvue9ruWuieWFqOS9jVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtLXNlbGludXgtbGFiZWwgPOagh+etvj4gIOiuvue9riBTRUxpbnV4IOagh+etvlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorIywgZnV6enkKK21zZ2lkICIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gICAgIHNldCBBcHBBcm1vciBwcm9maWxlXG4iCittc2dzdHIgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAg6K6+572uIEFwcEFybW9yIOmFjee9ruaWh+S7tlxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICLov5DooYzmraTlt6XlhbfmnInpo47pmanjgILor7fpmIXor7sgbWFuIOaJi+WGjO+8jOiwqOaFjuaTjeS9nOOAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE4NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIKK21zZ3N0ciAi6ZSZ6K+v55qE5p2D6IO95a2X56ym5LiyIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIuiOt+WPlui/m+eoi+WuieWFqOS9jeWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICLlronlhajkvY3vvJoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBjLWZvcm1hdAorbXNnaWQgIltub25lXVxuIgorbXNnc3RyICJb5pegXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdG9vIGxvbmciCittc2dzdHIgIiVz77ya6L+H6ZW/IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMxNworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwczogIgorbXNnc3RyICLpmYTlsZ7nu4TvvJoiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE5IHN5cy11dGlscy9zZXRwcml2LmM6MzY3IHN5cy11dGlscy9zZXRwcml2LmM6MzcyCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3OCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM4NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5MQorIywgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIlvml6BdIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjMzOQorIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQ6ICV1XG4iCittc2dzdHIgInVpZO+8miV1XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgImV1aWTvvJoldVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJzdWlkOiAldVxuIgorbXNnc3RyICJzdWlk77yaJXVcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDUgc3lzLXV0aWxzL3NldHByaXYuYzo0NDUKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJnZXRyZXN1aWQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorbXNnaWQgImdldHJlc2dpZCBmYWlsZWQiCittc2dzdHIgImdldHJlc2dpZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzY1CisjLCBjLWZvcm1hdAorbXNnaWQgIkVmZmVjdGl2ZSBjYXBhYmlsaXRpZXM6ICIKK21zZ3N0ciAi5pyJ5pWI5p2D6IO977yaIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIuWFgeiuuOeahOadg+iDve+8miIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5oZXJpdGFibGUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIuWPr+e7p+aJv+eahOadg+iDve+8miIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFtYmllbnQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIuWFgeiuuOeahOadg+iDve+8miIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIuS4jeaUr+aMgeeahOWRveS7pCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAi5p2D6IO957uR5a6a6ZuG77yaIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworbXNnaWQgIlNFTGludXggbGFiZWwiCittc2dzdHIgIlNFTGludXgg5qCH562+IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQwMAorbXNnaWQgIkFwcEFybW9yIHByb2ZpbGUiCittc2dzdHIgIkFwcEFybW9yIOmFjee9ruaWh+S7tiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2FwICVkOiBsaWJjYXAtbmcgaXMgYnJva2VuIgorbXNnc3RyICLmnYPog70gJWTvvJpsaWJjYXAtbmcg5o2f5Z2PIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQzNgorbXNnaWQgIkludmFsaWQgc3VwcGxlbWVudGFyeSBncm91cCBpZCIKK21zZ3N0ciAi5peg5pWI55qE6ZmE5bGe57uEIGlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ1MworbXNnaWQgInNldHJlc3VpZCBmYWlsZWQiCittc2dzdHIgInNldHJlc3VpZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDY4Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0cmVzZ2lkIOWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICLkuI3mlK/mjIHnmoTml7bpl7TnsbvlnosiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTE3Cittc2dpZCAiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIgorbXNnc3RyICLplJnor6/nmoTmnYPog73lrZfnrKbkuLIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTI1Cittc2dpZCAibGliY2FwLW5nIGlzIHRvbyBvbGQgZm9yIFwiYWxsXCIgY2FwcyIKK21zZ3N0ciAi5a+55LqO4oCcYWxs4oCd5p2D6IO977yMbGliY2FwLW5nIOWkquaXpyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MzcKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBjYXBhYmlsaXR5IFwiJXNcIiIKK21zZ3N0ciAi5pyq55+l5p2D6IO94oCcJXPigJ0iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTYxCittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICLml6Dms5Xor4bliKvnmoTlronlhajkvY3pm4YgLS0g5ouS57ud6LCD5pW0IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU2NQorbXNnaWQgImJhZCBzZWN1cmViaXRzIHN0cmluZyIKK21zZ3N0ciAi5a6J5YWo5L2N5a2X56ym5Liy5pyJ6K+vIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU3MgorbXNnaWQgIithbGwgc2VjdXJlYml0cyBpcyBub3QgYWxsb3dlZCIKK21zZ3N0ciAiK2FsbCDlronlhajkvY3mmK/kuI3lhYHorrjnmoQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTg1Cittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLosIPmlbQga2VlcF9jYXBzKOS/neaMgeadg+iDvSkg5rKh5pyJ5oSP5LmJIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4OQorbXNnaWQgInVucmVjb2duaXplZCBzZWN1cmViaXQiCittc2dzdHIgIuaXoOazleivhuWIq+eahOWuieWFqOS9jSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICJTRUxpbnV4IOayoeaciei/kOihjCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2xvc2UgZmFpbGVkOiAlcyIKK21zZ3N0ciAi5YWz6Zet5aSx6LSl77yaJXMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjMyCittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIkFwcEFybW9yIOayoeaciei/kOihjCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICLlpI3liLYgLS1uby1uZXctcHJpdnMg6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc4MAorbXNnaWQgImR1cGxpY2F0ZSBydWlkIgorbXNnc3RyICLlpI3liLYgcnVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcnVpZCIKK21zZ3N0ciAi6Kej5p6QIHJ1aWQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICLlpI3liLYgZXVpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3OTIKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZXVpZCIKK21zZ3N0ciAi6Kej5p6QIGV1aWQg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5NgorbXNnaWQgImR1cGxpY2F0ZSBydWlkIG9yIGV1aWQiCittc2dzdHIgIuWkjeWItiBydWlkIOaIliBldWlkIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5OAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZXVpZCIKK21zZ3N0ciAi6Kej5p6QIHJldWlkIOWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MDcKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCIKK21zZ3N0ciAi5aSN5Yi2IHJnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJnaWQiCittc2dzdHIgIuino+aekCByZ2lkIOWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTMKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAi5aSN5Yi2IGVnaWQiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODE1Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVnaWQiCittc2dzdHIgIuino+aekCBlZ2lkIOWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTkKK21zZ2lkICJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIgorbXNnc3RyICLlpI3liLYgcmdpZCDmiJYgZWdpZCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiCittc2dzdHIgIuino+aekCByZWdpZCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODI2Cittc2dpZCAiZHVwbGljYXRlIC0tY2xlYXItZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAi5aSN5Yi2ICAtLWNsZWFyLWdyb3VwcyDpgInpobkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODMyCittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICLlpI3liLYgLS1rZWVwLWdyb3VwcyDpgInpobkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM4CisjLCBmdXp6eQorbXNnaWQgImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAi5aSN5Yi2IC0tZ3JvdXBzIOmAiemhuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NDQKK21zZ2lkICJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIgorbXNnc3RyICLlpI3liLYgLS1ncm91cHMg6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAi5aSN5Yi2IC0taW5oLWNhcHMg6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1OQorIywgZnV6enkKK21zZ2lkICJkdXBsaWNhdGUgLS1hbWJpZW50LWNhcHMgb3B0aW9uIgorbXNnc3RyICLlpI3liLYgLS1pbmgtY2FwcyDpgInpobkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODY1Cittc2dpZCAiZHVwbGljYXRlIC0tYm91bmRpbmctc2V0IG9wdGlvbiIKK21zZ3N0ciAi5aSN5Yi2IC0tYm91bmRpbmctc2V0IOmAiemhuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzEKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWN1cmViaXRzIG9wdGlvbiIKK21zZ3N0ciAi5aSN5Yi2IC0tc2VjdXJlYml0cyDpgInpobkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODc3Cittc2dpZCAiZHVwbGljYXRlIC0tc2VsaW51eC1sYWJlbCBvcHRpb24iCittc2dzdHIgIuWkjeWItiAtLXNlbGludXgtbGFiZWwg6YCJ6aG5IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg4MworbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICLlpI3liLYgLS1hcHBhcm1vci1wcm9maWxlIOmAiemhuSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4OTkKK21zZ2lkICItLWR1bXAgaXMgaW5jb21wYXRpYmxlIHdpdGggYWxsIG90aGVyIG9wdGlvbnMiCittc2dzdHIgIi0tZHVtcCDkuI7lhbbku5bmiYDmnInpgInpobnkuI3lhbzlrrkiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3Cittc2dpZCAiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiCittc2dzdHIgIi0tbGlzdC1jYXBzIOW/hemhu+S9nOS4uuWNleeLrOmAiemhueaMh+WumiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MTMKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a56iL5bqPIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorIywgZnV6enkKK21zZ2lkICItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMsIG9yIC0tZ3JvdXBzIgorbXNnc3RyICItLVtyZV1naWQg6ZyA6KaBIC0ta2VlcC1ncm91cHPjgIEtLWNsZWFyLWdyb3VwcyDmiJYgLS1ncm91cHMiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTIzCittc2dpZCAiLS1pbml0LWdyb3VwcyByZXF1aXJlcyAtLXJ1aWQgb3IgLS1yZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJ1aWQgJWxkIG5vdCBmb3VuZCwgLS1pbml0LWdyb3VwcyByZXF1aXJlcyBhbiB1c2VyIHRoYXQgY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MzIKK21zZ2lkICJkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlcyBmYWlsZWQiCittc2dzdHIgIuemgeatoui1i+S6iOaWsOadg+mZkOWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NDAKK21zZ2lkICJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIKK21zZ3N0ciAi5L+d5oyB6L+b56iL5p2D6IO95aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0OAorbXNnaWQgImFjdGl2YXRlIGNhcGFiaWxpdGllcyIKK21zZ3N0ciAi5r+A5rS75p2D6IO9IgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk1NAorbXNnaWQgInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLph43mlrDmv4DmtLvmnYPog70iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTY1CisjLCBmdXp6eQorbXNnaWQgImluaXRncm91cHMgZmFpbGVkIgorbXNnc3RyICJzZXRncm91cHMg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3MworbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICLorr7nva7ov5vnqIvlronlhajkvY3lpLHotKUiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTc5Cittc2dpZCAiYXBwbHkgYm91bmRpbmcgc2V0IgorbXNnc3RyICLlupTnlKjnu5Hlrprpm4YiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTg1Cittc2dpZCAiYXBwbHkgY2FwYWJpbGl0aWVzIgorbXNnc3RyICLlupTnlKjmnYPog70iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozMworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIDznqIvluo8+IFvlj4LmlbAgLi4uXVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzcKK21zZ2lkICJSdW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24uXG4iCittc2dzdHIgIuWcqOaWsOS8muivneS4rei/kOihjOeoi+W6j+OAglxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKK21zZ2lkICIgLWMsIC0tY3R0eSAgICAgc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCB0byB0aGUgY3VycmVudCBvbmVcbiIKK21zZ3N0ciAiIC1jLCAtLWN0dHkgICAgIOWwhuaOp+WItue7iOerr+iuvue9ruS4uuW9k+WJjee7iOerr1xuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iCittc2dzdHIgIiAtZiwgLS1mb3JjZSAgICAgIOW8uuWItuajgOafpVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0ICAgICDnrYnlvoXnqIvluo/pgIDlh7rvvIzlubbkvb/nlKjlroPnmoTov5Tlm57lgLxcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwMAorbXNnaWQgImZvcmsiCittc2dzdHIgImZvcmsiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IgorbXNnc3RyICLlrZAgJWQg5pyq5q2j5bi46YCA5Ye6IgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MTE3Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0c2lkIOWksei0pSIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorbXNnaWQgImZhaWxlZCB0byBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIgorbXNnc3RyICLorr7nva7mjqfliLbnu4jnq6/lpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9mZiAlc1xuIgorbXNnc3RyICJzd2Fwb2ZmICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTA0Cittc2dpZCAiTm90IHN1cGVydXNlci4iCittc2dzdHIgIumdnui2hee6p+eUqOaIt+OAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvZmYgZmFpbGVkIgorbXNnc3RyICIlc++8mnN3YXBvZmYg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyMiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzk0CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFs85oyH5a6aPl1cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjUKK21zZ2lkICJEaXNhYmxlIGRldmljZXMgYW5kIGZpbGVzIGZvciBwYWdpbmcgYW5kIHN3YXBwaW5nLlxuIgorbXNnc3RyICLnpoHmraLlsIborr7lpIflkozmlofku7bnlKjkuo7liIbpobXlkozkuqTmjaLjgIJcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMjgKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAg56aB55SoIC9wcm9jL3N3YXBzIOS4reeahOaJgOacieS6pOaNouWMulxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEzNAorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIiA85oyH5a6aPuWPguaVsOWMheaLrO+8mlxuIgorIiAtTCA85qCH562+PiAgICAgICAgICAgICAg6KaB5L2/55So6K6+5aSH55qE5qCH562+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAg6KaB5L2/55So6K6+5aSH55qEIFVVSURcbiIKKyIgTEFCRUw9POagh+etvj4gICAgICAgICAgIOimgeS9v+eUqOiuvuWkh+eahOagh+etvlxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIOimgeS9v+eUqOiuvuWkh+eahCBVVUlEXG4iCisiIDzorr7lpIc+ICAgICAgICAgICAgICAgICDopoHkvb/nlKjorr7lpIfnmoTlkI3np7BcbiIKKyIgPOaWh+S7tj4gICAgICAgICAgICAgICAgIOimgeS9v+eUqOaWh+S7tueahOWQjeensFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKK21zZ2lkICJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIKK21zZ3N0ciAi6K6+5aSH5paH5Lu25oiW5YiG5Yy66Lev5b6EIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTcKK21zZ2lkICJ0eXBlIG9mIHRoZSBkZXZpY2UiCittc2dzdHIgIuiuvuWkh+eahOexu+WeiyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk4Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICLkuqTmjaLljLrlpKflsI8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorbXNnaWQgImJ5dGVzIGluIHVzZSIKK21zZ3N0ciAi5bey5L2/55So5a2X6IqC5pWwIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAwCittc2dpZCAic3dhcCBwcmlvcml0eSIKK21zZ3N0ciAi5Lqk5o2i5LyY5YWI57qnIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTAxCittc2dpZCAic3dhcCB1dWlkIgorbXNnc3RyICJzd2FwIHV1aWQiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDIKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICJzd2FwIOagh+etviIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorIywgYy1mb3JtYXQKK21zZ2lkICIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIgorbXNnc3RyICIlc1x0XHRcdFx057G75Z6LXHRcdOWkp+Wwj1x05bey55SoXHTmnYPpmZBcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI1MAorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICLmlofku7blkI0iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXPvvJrmraPlnKjph43mlrDliJ3lp4vljJbkuqTmjaLljLrjgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpsc2VlayDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVz77ya5YaZ562+5ZCN5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVz77ya5bCG6Lez6L+HIC0g5a6D5Ly85LmO5pyJ56m65rSe44CCIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVz77ya6I635Y+W5aSn5bCP5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJror7vkuqTmjaLljLrlpLTlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iCittc2dzdHIgIiVz77ya5om+5Yiw562+5ZCNW+mhteWwuuWvuD0lZCwg562+5ZCNPSVzXSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXPvvJrpobXlpKflsI89JWTvvIzkuqTmjaLljLrlpKflsI89JWxsde+8jOiuvuWkh+Wkp+Wwjz0lbGx1IgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIgorbXNnc3RyICIlc++8muacq+mhtSAweCUwOGxseCDlpKfkuo7kuqTmjaLnqbrpl7TnmoTlrp7pmYXlpKflsI8iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1ODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXAgZm9ybWF0IHBhZ2VzaXplIGRvZXMgbm90IG1hdGNoLiIKK21zZ3N0ciAiJXPvvJrkuqTmjaLmoLzlvI8g6aG15aSn5bCPIOS4jeWMuemFjeOAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlc++8muS6pOaNouagvOW8jyDpobXlpKflsI8g5LiN5Yy56YWN44CCKOS9v+eUqCAtLWZpeHBnc3og5p2l6YeN5paw5a+55a6D5Yid5aeL5YyW44CCKSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjYwMAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiBSZXdyaXRpbmcgdGhlIHN3YXAgc2lnbmF0dXJlLiIKK21zZ3N0ciAiJXPvvJrmo4DmtYvliLDova/ku7bmjILotbfmlbDmja7jgILlsIbph43mlrDlhpnkuqTmjaLnrb7lkI3jgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAic3dhcG9uICVzXG4iCittc2dzdHIgInN3YXBvbiAlc1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Njc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzd2Fwb24gZmFpbGVkIgorbXNnc3RyICIlc++8mnN3YXBvbiDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXPvvJrml6Doh6rliqjpgInpobkgLS0g5bey5b+955WlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlc++8muW3sua/gOa0uyAtLSDlt7Llv73nlaUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluYWNjZXNzaWJsZSAtLSBpZ25vcmVkIgorbXNnc3RyICIlc++8muaXoOazleiuv+mXriAtLSDlt7Llv73nlaUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo3OTcKK21zZ2lkICJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iCittc2dzdHIgIuWFgeiuuOWwhuiuvuWkh+WSjOaWh+S7tueUqOS6juWIhumhteWSjOS6pOaNouOAglxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgIOWQr+eUqCAvZXRjL2ZzdGFiIOS4reeahOaJgOacieS6pOaNouWMulxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAxCittc2dpZCAiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIgorbXNnc3RyICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIOWmguaenOiuvuWkh+aUr+aMge+8jOWQr+eUqCBzd2FwIOS4ouW8g1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICDoh6rliqjot7Pov4fkuI3lrZjlnKjnmoTorr7lpIfogIzkuI3mj5DnpLpcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMworbXNnaWQgIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIOW/heimgeaXtumHjeaWsOWIneWni+WMluS6pOaNouWMulxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA0Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPOWIl+ihqD4gICAgIOS7peiLseaWh+mAl+WPt+WIhumalOeahCBzd2FwIOmAiemhuVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA1Cittc2dpZCAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAgICBzcGVjaWZ5IHRoZSBwcmlvcml0eSBvZiB0aGUgc3dhcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXByaW9yaXR5IDzkvJjlhYjnuqc+ICDmjIflrprkuqTmjaLorr7lpIfnmoTkvJjlhYjnuqdcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNgorbXNnaWQgIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorbXNnc3RyICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIOaYvuekuuW3suS9v+eUqOS6pOaNouiuvuWkh+eahOaRmOimgSjlt7Llup/lvIMpXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDcKK21zZ2lkICIgICAgIC0tc2hvd1s9PGNvbHVtbnM+XSAgIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKK21zZ3N0ciAiICAgICAtLXNob3dbPTzliJc+XSAgICAgICAg5Lul5Y+v6Ieq5a6a5LmJ55qE6KGo5qC85b2i5byP5omT5Y2w5pGY6KaBXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDgKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIOS4jeaJk+WNsOihqOWktCjkuI4gLS1zaG93IOWQiOeUqClcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAg5L2/55So5Y6f55Sf6L6T5Ye65qC85byPKOS4jiAtLXNob3cg5ZCI55SoKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODEwCittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCittc2dzdHIgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAg5ZyoIC0tc2hvdyDovpPlh7rkuK3ku6XlrZfoioLmlbDmmL7npLrkuqTmjaLljLrlpKflsI9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxMQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICDor6blsL3mqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgxNgorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjxzcGVjPiDlj4LmlbDvvJpcbiIKKyIgLUwgPOagh+etvj4gICAgICAgICAgICAgIOWQjCBMQUJFTD085qCH562+PlxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIOWQjCBVVUlEPTx1dWlkPlxuIgorIiBMQUJFTD085qCH562+PiAgICAgICAgICAg5oyJ5Lqk5o2i5Yy65qCH562+5oyH5a6a6K6+5aSHXG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICAg5oyJ5Lqk5o2i5Yy6IFVVSUQg5oyH5a6a6K6+5aSHXG4iCisiIFBBUlRMQUJFTD085qCH562+PiAgICAgICDmjInliIbljLrmoIfnrb7mjIflrprorr7lpIdcbiIKKyIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICDmjInliIbljLogVVVJRCDmjIflrprorr7lpIdcbiIKKyIgPOiuvuWkhz4gICAgICAgICAgICAgICAgIOimgeS9v+eUqOiuvuWkh+eahOWQjeensFxuIgorIiA85paH5Lu2PiAgICAgICAgICAgICAgICAg6KaB5L2/55So5paH5Lu255qE5ZCN56ewXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlj6/nlKjnmoTkuKLlvIPnrZbnlaXnsbvlnoso6ZKI5a+5IC0tZGlzY2FyZCnvvJpcbiIKKyIgb25jZVx0ICDvvJrlj6rov5vooYzljZXmrKHljLrln5/kuKLlvIMoc3dhcG9uKVxuIgorIiBwYWdlc1x0ICDvvJrlr7nph4rmlL7nmoTpobXlnKjph43mlrDkvb/nlKjliY3kuKLlvINcbiIKKyIgKiDlpoLmnpzmnKrpgInmi6nnrZbnlaXvvIzliJnkuKTogIXpg73lsIblkK/nlKjjgIIo6buY6K6kKVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTA5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IgorbXNnc3RyICLop6PmnpDkvJjlhYjnuqflpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLkuI3mlK/mjIHnmoTkuKLlvIPnrZbnlaXvvJolcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYzo3MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgZmluZCB0aGUgZGV2aWNlIGZvciAlcyIKK21zZ3N0ciAi5om+5LiN5Yiw5a+55bqUICVzIOeahOiuvuWkhyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjAKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIuaJk+W8gOebruW9leWksei0pSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKK21zZ2lkICJzdGF0IGZhaWxlZCIKK21zZ3N0ciAic3RhdCDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjc5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgZGlyZWN0b3J5IgorbXNnc3RyICLor7vnm67lvZXlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICJ1bmxpbmsgJXMg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAlcyIKK21zZ3N0ciAi5bCGICVzIOaMgui9veenu+WKqOWIsCAlcyDlpLHotKUiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE1NQorIywgYy1mb3JtYXQKK21zZ2lkICJmb3JjaW5nIHVubW91bnQgb2YgJXMiCittc2dzdHIgIuato+WcqOW8uuWItuWNuOi9vSAlcyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTYxCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLlsIbnm67lvZXmm7TmlLnliLAgJXMg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIgorbXNnc3RyICLlsIYgJXMg5oyC6L2956e75Yqo5YiwIC8g5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIuabtOaUuSByb290IOWksei0pSIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICLml6fmoLnmlofku7bns7vnu5/kuI3mmK8gaW5pdHJhbWZzIOagvOW8jyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOaWsOagueebruW9lT4gPGluaXQg56iL5bqPPiA8aW5pdCDnqIvluo/lj4LmlbA+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIuWIh+aNouWIsOWPpuS4gOS4quaWh+S7tuezu+e7n+S9nOS4uuaMgui9veagkeeahOagueebruW9leOAglxuIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTUKK21zZ2lkICJmYWlsZWQuIFNvcnJ5LiIKK21zZ3N0ciAi5aSx6LSl5LqG44CC5oqx5q2J44CCIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoyNTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAi5peg5rOV6K6/6ZeuICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICLorr7nva7ooYzlvI/miZPljbDmnLrnmoTlkITnp43lj4LmlbDjgIJcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMQorbXNnaWQgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIHNwZWNpZnkgcGFyYWxsZWwgcG9ydCBpcnFcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA85pWw5a2XPiAgICAgICAgICAgICDmjIflrprlubblj6PkuK3mlq3lj7dcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwMgorbXNnaWQgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIGRyaXZlciB3YWl0IHRpbWUgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDzmr6vnp5LmlbA+ICAgICAgICAgIOmpseWKqOetieW+heaXtumXtCjmr6vnp5IpXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKK21zZ2lkICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICBudW1iZXIgb2Ygb3V0cHV0IGNoYXJhY3RlcnMgYmVmb3JlIHNsZWVwXG4iCittc2dzdHIgIiAtYywgLS1jaGFycyA85pWw5a2XPiAgICAg552h55yg5YmN6L6T5Ye655qE5a2X56ym5pWwXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDQKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDzlvq7np5LmlbA+ICAgICAgICAgIOmAiemAmihzdHJvYmUp5L+h5Y+3562J5b6F5pe26Ze0KOW+ruenkilcbiIKKworIy4gVFJBTlNMQVRPUlM6IGRvIG5vdCB0cmFuc2xhdGUgPG9ufG9mZj4gYXJndW1lbnRzLiBUaGUKKyMuIGFyZ3VtZW50IHJlYWRlciBkb2VzIG5vdCByZWNvZ25pemUgbG9jYWxlLCB1bmxlc3MgYG9uJyBpcworIy4gZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTA4Cittc2dpZCAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIKK21zZ3N0ciAiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAg5Ye66ZSZ5pe25Lit5q2iXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAg5omT5Y2w5YmN5qOA5p+l5omT5Y2w5py654q25oCBXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKK21zZ2lkICIgLUMsIC0tY2FyZWZ1bCA8b258b2ZmPiAgICAgICBleHRyYSBjaGVja2luZyB0byBzdGF0dXMgY2hlY2tcbiIKK21zZ3N0ciAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAg6L+b6KGM54q25oCB5qOA5p+l5aSW55qE5YW25LuW5qOA5p+lXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTEKK21zZ2lkICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICDmn6Xor6LmiZPljbDmnLrnirbmgIFcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjExMgorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9ruerr+WPo1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCittc2dpZCAiIC1xLCAtLXByaW50LWlycSA8b258b2ZmPiAgICAgZGlzcGxheSBjdXJyZW50IGlycSBzZXR0aW5nXG4iCittc2dzdHIgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIOaYvuekuuW9k+WJjeeahOS4reaWreiuvue9rlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIG5vdCBhbiBscCBkZXZpY2UiCittc2dzdHIgIiVzIOS4jeaYr+W+queOr+iuvuWkhyIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI3OAorbXNnaWQgIkxQR0VUU1RBVFVTIGVycm9yIgorbXNnc3RyICJMUEdFVFNUQVRVUyDlh7rplJkiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgc3RhdHVzIGlzICVkIgorbXNnc3RyICIlcyDnirbmgIHkuLogJWQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBidXN5IgorbXNnc3RyICLvvIzlv5nnoowiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCByZWFkeSIKK21zZ3N0ciAi77yM5bCx57uqIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiwgb3V0IG9mIHBhcGVyIgorbXNnc3RyICLvvIznvLrpobUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvbi1saW5lIgorbXNnc3RyICLvvIzlnKjnur8iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBlcnJvciIKK21zZ3N0ciAi77yM6ZSZ6K+vIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjk4Cittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCDlpLHotKUiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiTFBHRVRJUlEg5Ye66ZSZIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyDkvb/nlKjkuK3mlq3or7fmsYIgJWRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjMxNQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1c2luZyBwb2xsaW5nXG4iCittc2dzdHIgIiVzIOS9v+eUqOi9ruivolxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6NzkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW29wdGlvbnNdXG4iCisiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstaFZdXG4iCisiICUxJHMgLWEgW+mAiemhuV1cbiIKKyIgJTEkcyBb6YCJ6aG5XSA85rqQPiB8IDznm67lvZU+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorbXNnaWQgIlVubW91bnQgZmlsZXN5c3RlbXMuXG4iCittc2dzdHIgIuWNuOi9veaWh+S7tuezu+e7n+OAglxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODgKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIOWNuOi9veaJgOacieaWh+S7tuezu+e7n1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6ODkKK21zZ2lkICIiCisiIC1BLCAtLWFsbC10YXJnZXRzICAgICAgIHVubW91bnQgYWxsIG1vdW50cG9pbnRzIGZvciB0aGUgZ2l2ZW4gZGV2aWNlIGluIHRoZVxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKyIgLUEsIC0tYWxsLXRhcmdldHMgICAgICAg5Y246L295b2T5YmN5ZCN5a2X56m66Ze05YaF5oyH5a6a6K6+5aSHXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgIOWvueW6lOeahOaJgOacieaMguiHt+eCuVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTEKK21zZ2lkICIgLWMsIC0tbm8tY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHBhdGhzXG4iCittc2dzdHIgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDkuI3lr7not6/lvoTop4TojIPljJZcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkyCittc2dpZCAiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iCittc2dzdHIgIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICDoi6XmjILoh7fkuoblm57njq/orr7lpIfvvIzkuZ/ph4rmlL7or6Xlm57njq/orr7lpIdcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjkzCittc2dpZCAiICAgICAtLWZha2UgICAgICAgICAgICAgIGRyeSBydW47IHNraXAgdGhlIHVtb3VudCgyKSBzeXNjYWxsXG4iCittc2dzdHIgIiAgICAgLS1mYWtlICAgICAgICAgICAgICDnqbrov5DooYzvvJvot7Pov4cgdW1vdW50KDIpIOezu+e7n+iwg+eUqFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAg5by65Yi25Y246L29KOmBh+WIsOS4jeWTjeW6lOeahCBORlMg57O757uf5pe2KVxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTUKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCittc2dzdHIgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICDkuI3osIPnlKggdW1vdW50Ljznsbvlnos+IOi+heWKqeeoi+W6j1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKK21zZ2lkICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iCittc2dzdHIgIiAtbCwgLS1sYXp5ICAgICAgICAgICAgICDnq4vljbPmlq3lvIDmlofku7bns7vnu5/vvIzmuIXnkIbku6XlkI7miafooYxcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk4Cittc2dpZCAiIC1PLCAtLXRlc3Qtb3B0cyA8bGlzdD4gIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgKHVzZSB3aXRoIC1hKVxuIgorbXNnc3RyICIgLU8sIC0tdGVzdC1vcHRzIDzliJfooag+ICDpmZDliLbmlofku7bns7vnu5/pm4blkIgo5ZKMIC1hIOmAiemhueS4gOi1t+S9v+eUqClcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiAtUiwgLS1yZWN1cnNpdmUgICAgICAgICDpgJLlvZLljbjovb3nm67lvZXlj4rlhbblrZDlr7nosaFcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIgorbXNnc3RyICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAg6Iul5Y246L295aSx6LSl77yM5bCd6K+V5Lul5Y+q6K+75pa55byP6YeN5paw5oyC6Ie3XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxMDEKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAtdCwgLS10eXBlcyA85YiX6KGoPiAgICAgIOmZkOWItuaWh+S7tuezu+e7n+mbhuWQiFxuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MTQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyAoJXMpIOW3suWNuOi9vSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICIlcyB1bm1vdW50ZWQiCittc2dzdHIgIiVzIOacquaMgui9vSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworbXNnaWQgImZhaWxlZCB0byBzZXQgdW1vdW50IHRhcmdldCIKK21zZ3N0ciAi6K6+572u5Y246L2955uu5qCH5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCittc2dpZCAibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgImxpYm1vdW50IOihqOWIhumFjeWksei0pSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjI2NiBzeXMtdXRpbHMvdW1vdW50LmM6MzQ2Cittc2dpZCAibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiCittc2dzdHIgIuWIhumFjSBsaWJtb3VudCDov63ku6PlmajlpLHotKXvvIEiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBjaGlsZCBmcyBvZiAlcyIKK21zZ3N0ciAi6I635Y+WICVzIOeahOWtkOaWh+S7tuezu+e7n+Wksei0pSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjMxMCBzeXMtdXRpbHMvdW1vdW50LmM6MzMzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVz77ya5om+5LiN5YiwIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiJXPvvJrnoa7lrprmupDlpLHotKUo5pyJ5bi46KeEIG10YWIg5paH5Lu255qE57O757uf5LiN5pSv5oyBIC0tYWxsLXRhcmdldHMpIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjkxCisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciCittc2dzdHIgIuS4jeaUr+aMgeeahCAtLXNldGdyb3VwcyDlj4LmlbDigJwlc+KAnSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGMtZm9ybWF0Cittc2dpZCAid3JpdGUgZmFpbGVkICVzIgorbXNnc3RyICLlhpnlpLHotKXvvJolcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxNTAKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgcHJvcGFnYXRpb24gbW9kZTogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aMgeeahOS8oOaSreaooeW8j++4sCVzIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjE1OQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICLml6Dms5Xmm7TmlLnmoLnmlofku7bns7vnu5/kvKDmkq0iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTkwCisjLCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAi5bCGICVzIOaMgui9veWIsCAlcyDlpLHotKUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzdGF0ICVzIgorbXNnc3RyICLml6Dms5Ugc3RhdCAlcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMTUKK21zZ2lkICJwaXBlIGZhaWxlZCIKK21zZ3N0ciAicGlwZSDlpLHotKUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjI5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAi6K+75Y+W566h6YGT5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICLku6Xmn5DkupvmnKrkuI7niLYo6L+b56iLKeWFseS6q+eahOWQjeWtl+epuumXtOi/kOihjOafkOS4queoi+W6j+OAglxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW0sIC0tbW91bnRbPTzmlofku7Y+XSAgICAgIOWPlua2iOWFseS6qyBtb3VudHMg5ZCN5a2X56m66Ze0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCittc2dzdHIgIiAtdSwgLS11dHNbPTzmlofku7Y+XSAgICAgICAg5Y+W5raI5YWx5LqrIFVUUyDlkI3lrZfnqbrpl7Qo5Li75py65ZCN562JKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1NworbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLWksIC0taXBjWz085paH5Lu2Pl0gICAgICAgIOWPlua2iOWFseS6qyBTeXN0ZW0gViBJUEMg5ZCN5a2X56m66Ze0XG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLW4sIC0tbmV0Wz08ZmlsZT5dICAgICAgICDlj5bmtojlhbHkuqvnvZHnu5zlkI3lrZfnqbrpl7RcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNTkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZFs9POaWh+S7tj5dICAgICAgICDlj5bmtojlhbHkuqsgcGlkIOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1VLCAtLXVzZXJbPTzmlofku7Y+XSAgICAgICDlj5bmtojlhbHkuqvnlKjmiLflkI3lrZfnqbrpl7RcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKK21zZ2lkICIgLUMsIC0tY2dyb3VwWz08ZmlsZT5dICAgICB1bnNoYXJlIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1DLCAtLWNncm91cFs9POaWh+S7tj5dICAgICDlj5bmtojlhbHkuqsgY2dyb3VwIOWQjeWtl+epuumXtFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MgorbXNnaWQgIiAtZiwgLS1mb3JrICAgICAgICAgICAgICAgIGZvcmsgYmVmb3JlIGxhdW5jaGluZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAg5Zyo5ZCv5YqoPOeoi+W6jz7liY0gZm9ya1xuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MworbXNnaWQgIiAgICAgLS1raWxsLWNoaWxkWz08c2lnbmFtZT5dICB3aGVuIGR5aW5nLCBraWxsIHRoZSBmb3JrZWQgY2hpbGQgKGltcGxpZXMgLS1mb3JrKTsgZGVmYXVsdHMgdG8gU0lHS0lMTFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY0Cittc2dpZCAiICAgICAtLW1vdW50LXByb2NbPTxkaXI+XSAgbW91bnQgcHJvYyBmaWxlc3lzdGVtIGZpcnN0IChpbXBsaWVzIC0tbW91bnQpXG4iCittc2dzdHIgIiAgICAgLS1tb3VudC1wcm9jWz0855uu5b2VPl0g5YWI5oyC6L29IHByb2Mg5paH5Lu257O757ufKOi/nuW4puaJk+W8gCAtLW1vdW50KVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NQorbXNnaWQgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIG1hcCBjdXJyZW50IHVzZXIgdG8gcm9vdCAoaW1wbGllcyAtLXVzZXIpXG4iCittc2dzdHIgIiAtciwgLS1tYXAtcm9vdC11c2VyICAgICAgIOWwhuW9k+WJjeeUqOaIt+aYoOWwhOS4uiByb290ICjov57luKbmiZPlvIAgLS11c2VyKVxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisiICAgICAtLXByb3BhZ2F0aW9uIHNsYXZlfHNoYXJlZHxwcml2YXRlfHVuY2hhbmdlZFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgIOS/ruaUuSBtb3VudCDlkI3lrZfnqbrpl7TkuK3nmoQgbW91bnQg5Lyg5pKtXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICDmjqfliLbnlKjmiLflkI3lrZfnqbrpl7TkuK3nmoQgc2V0Z3JvdXBzIOezu+e7n+iwg+eUqFxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJ1bnNoYXJlIOWksei0pSIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKK21zZ2lkICJjaGlsZCBleGl0IGZhaWxlZCIKK21zZ3N0ciAi5a2Q6L+b56iL6YCA5Ye65aSx6LSlIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQ1NAorbXNnaWQgIm9wdGlvbnMgLS1zZXRncm91cHM9YWxsb3cgYW5kIC0tbWFwLXJvb3QtdXNlciBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICItLXNldGdyb3Vwcz1hbGxvdyDlkowgLS1tYXAtcm9vdC11c2VyIOmAiemhueaYr+S6kuaWpeeahCIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgJXMgZmFpbGVkIgorbXNnc3RyICLmjILovb0gJXMg5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3MworbXNnaWQgIkNhcmQgcHJldmlvdXNseSByZXNldCB0aGUgQ1BVIgorbXNnc3RyICLljaHmm77nu4/ph43nva4gQ1BVIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NAorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIuWklumDqOS4ree7pyAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDIiCittc2dzdHIgIuWklumDqOS4ree7pyAyIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NgorbXNnaWQgIkZhbiBmYWlsZWQiCittc2dzdHIgIumjjuaJh+Wksei0pSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzcKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIuS/neaMgea0u+WKqCBwaW5nIOWbnuW6lCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKK21zZ2lkICJTdXBwb3J0cyBtYWdpYyBjbG9zZSBjaGFyIgorbXNnc3RyICLmlK/mjIEgbWFnaWMgY2xvc2Ug5a2X56ymIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorbXNnaWQgIlJlc2V0IGR1ZSB0byBDUFUgb3ZlcmhlYXQiCittc2dzdHIgIuWboCBDUFUg6L+H54Ot6YeN572uIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorbXNnaWQgIlBvd2VyIG92ZXIgdm9sdGFnZSIKK21zZ3N0ciAi5L6b55S155S15Y6L6L+H6auYIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorbXNnaWQgIlBvd2VyIGJhZC9wb3dlciBmYXVsdCIKK21zZ3N0ciAi5L6b55S16Zeu6aKYL+S+m+eUteaVhemanCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODIKK21zZ2lkICJQcmV0aW1lb3V0IChpbiBzZWNvbmRzKSIKK21zZ3N0ciAi6aKE6LaF5pe2KOenkikiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgzCittc2dpZCAiU2V0IHRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICLorr7nva7otoXml7Yo56eSKSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIuS4jeinpuWPkemHjeWQryIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCittc2dpZCAiZmxhZyBuYW1lIgorbXNnc3RyICLmoIflv5flkI3np7AiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEwMQorbXNnaWQgImZsYWcgZGVzY3JpcHRpb24iCittc2dzdHIgIuagh+W/l+aPj+i/sCIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAyCittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgIuagh+W/l+eKtuaAgSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCittc2dpZCAiZmxhZyBib290IHN0YXR1cyIKK21zZ3N0ciAi5qCH5b+X5ZCv5Yqo54q25oCBIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDQKK21zZ2lkICJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi55yL6Zeo54uX6K6+5aSH5ZCN56ewIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAi5pyq55+l5qCH5b+X77yaJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIuaYvuekuuehrOS7tueci+mXqOeLl+eahOeKtuaAgeOAglxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxODEKK21zZ2lkICIiCisiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIGRvbid0IHByaW50IGluZm9ybWF0aW9uIGFib3V0IGZsYWdzXG4iCisiIC1JLCAtLW5vaWRlbnQgICAgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb25cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICBwcmludCBhbGwgaW5mb3JtYXRpb24gb24gb25lIGxpbmVcbiIKKyIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBvdXRwdXQgY29sdW1ucyBvZiB0aGUgZmxhZ3NcbiIKKyIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisiIC1ULCAtLW5vdGltZW91dHMgICAgICAgZG9uJ3QgcHJpbnQgd2F0Y2hkb2cgdGltZW91dHNcbiIKKyIgLXMsIC0tc2V0dGltZW91dCA8c2VjPiBzZXQgd2F0Y2hkb2cgdGltZW91dFxuIgorIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZmxhZ3MgPOWIl+ihqD4gICAgIOWPquaJk+WNsOmAieaLqeeahOagh+W/l1xuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIOS4jeaJk+WNsOagh+W/l+eahOebuOWFs+S/oeaBr1xuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIOS4jeaJk+WNsCB3YXRjaGRvZyDmoIfor4bkv6Hmga9cbiIKKyIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDkuI3miZPljbDmoIflv5fooajmoLznmoTooajlpLRcbiIKKyIgLU8sIC0tb25lbGluZSAgICAgICAgICDlsIbmiYDmnInkv6Hmga/miZPljbDkuLrkuIDooYxcbiIKKyIgLW8sIC0tb3V0cHV0IDzliJfooag+ICAgIOagh+W/l+imgei+k+WHuueahOWIl1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIOagh+W/l+ihqOagvOS9v+eUqOWOn+eUn+i+k+WHuuagvOW8j1xuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIOS4jeaJk+WNsOeci+mXqOeLl+i2heaXtlxuIgorIiAtcywgLS1zZXR0aW1lb3V0IDznp5I+ICDorr7nva7nnIvpl6jni5fotoXml7ZcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICDlj6rmiZPljbDmoIflv5fooajmoLwo5ZCMIC1JIC1UKVxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGRlZmF1bHQgZGV2aWNlIGlzICVzLlxuIgorbXNnc3RyICLpu5jorqTorr7lpIfkuLogJXPjgIJcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MjkwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXPvvJrmnKrnn6XmoIflv5cgMHgleFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIgorbXNnc3RyICIlc++8mueci+mXqOeLl+ato+WcqOS9v+eUqO+8jOWwhue7iOatouOAgiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzM0IHN5cy11dGlscy93ZGN0bC5jOjQwNAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGRpc2FybSB3YXRjaGRvZyIKK21zZ3N0ciAiJXPvvJrlloLnnIvpl6jni5flpLHotKUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM0MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRpbWVvdXQgZm9yICVzIgorbXNnc3RyICLml6Dms5Xorr7nva4gJXMg55qE6LaF5pe2IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIgorbXNnaWRfcGx1cmFsICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmRzLlxuIgorbXNnc3RyWzBdICLotoXml7blt7LosIPmlbTkuLogJWQg56eSXG4iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjM4MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXPvvJrojrflj5bnnIvpl6jni5fkv6Hmga/lpLHotKUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiUtMTRzICUyaSBzZWNvbmRcbiIKK21zZ2lkX3BsdXJhbCAiJS0xNHMgJTJpIHNlY29uZHNcbiIKK21zZ3N0clswXSAiJS0xNHMgJTJpIOenklxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKK21zZ2lkICJUaW1lb3V0OiIKK21zZ3N0ciAi6LaF5pe277yaIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjkKK21zZ2lkICJQcmUtdGltZW91dDoiCittc2dzdHIgIumihOi2heaXtu+8miIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDcyCittc2dpZCAiVGltZWxlZnQ6IgorbXNnc3RyICLliankvZnml7bpl7TvvJoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwNAorbXNnaWQgIkRldmljZToiCittc2dzdHIgIuiuvuWkh++8miIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA2Cittc2dpZCAiSWRlbnRpdHk6IgorbXNnc3RyICLmoIfor4bvvJoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjYwOAorbXNnaWQgInZlcnNpb24iCittc2dzdHIgIueJiOacrO+8miIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgInpyYW0g6K6+5aSH5ZCN56ewIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc2Cittc2dpZCAibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIKK21zZ3N0ciAi5a+55pyq5Y6L57yp5pWw5o2u6YeP55qE6ZmQ5Yi2IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc3Cittc2dpZCAidW5jb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIuWtmOWCqOaVsOaNrueahOacquWOi+e8qeWkp+WwjyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OAorbXNnaWQgImNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIKK21zZ3N0ciAi5a2Y5YKo5pWw5o2u55qE5Y6L57yp5ZCO5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc5Cittc2dpZCAidGhlIHNlbGVjdGVkIGNvbXByZXNzaW9uIGFsZ29yaXRobSIKK21zZ3N0ciAi5omA6YCJ55qE5Y6L57yp566X5rOVIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgwCittc2dpZCAibnVtYmVyIG9mIGNvbmN1cnJlbnQgY29tcHJlc3Mgb3BlcmF0aW9ucyIKK21zZ3N0ciAi5bm25Y+R55qE5Y6L57yp5pON5L2c55qE5pWw6YePIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgxCittc2dpZCAiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IgorbXNnc3RyICLmnKrliIbphY3lhoXlrZjnmoTnqbrpobUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODIKK21zZ2lkICJhbGwgbWVtb3J5IGluY2x1ZGluZyBhbGxvY2F0b3IgZnJhZ21lbnRhdGlvbiBhbmQgbWV0YWRhdGEgb3ZlcmhlYWQiCittc2dzdHIgIuWMheaLrOWIhumFjeWZqOeijueJh+WSjOWFg+aVsOaNruW8gOmUgOWcqOWGheeahOaJgOacieWGheWtmCIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MworbXNnaWQgIm1lbW9yeSBsaW1pdCB1c2VkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAi55So5LqO5a2Y5YKo5Y6L57yp5ZCO5pWw5o2u55qE5YaF5a2Y6ZmQ5Yi2IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg0Cittc2dpZCAibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIKK21zZ3N0ciAi5bey5raI6ICX5YaF5a2YIHpyYW0g5p2l5a2Y5YKo5Y6L57yp55qE5pWw5o2uIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjg1Cittc2dpZCAibnVtYmVyIG9mIG9iamVjdHMgbWlncmF0ZWQgYnkgY29tcGFjdGlvbiIKK21zZ3N0ciAi6YCa6L+H5Y6L5a6e6L+B56e755qE5a+56LGh5pWwIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjM3NgorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLop6PmnpAgbW1fc3RhdCDlpLHotKUiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT5cbiIKKyIgJTEkcyAtciA8ZGV2aWNlPiBbLi4uXVxuIgorIiAlMSRzIFtvcHRpb25zXSAtZiB8IDxkZXZpY2U+IC1zIDxzaXplPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+mAiemhuV0gWzzlm57njq/orr7lpIc+XVxuIgorIiAlMSRzIFvpgInpobldIC1mIHwgPOWbnueOr+iuvuWkhz4gPOaWh+S7tj5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICLorr7nva7lkozmjqfliLYgenJhbSDorr7lpIfjgIJcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIgLWEsIC0tYWxnb3JpdGhtIGx6b3xsejQgICDopoHkvb/nlKjnmoTljovnvKnnrpfms5VcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDIKK21zZ2lkICIgLWIsIC0tYnl0ZXMgICAgICAgICAgICAgICBwcmludCBzaXplcyBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAg5Lul5a2X6IqC5Li65omT5Y2w5bC65a+477yM6ICM6Z2e5piT6K+75qC85byPXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgZmluZCBhIGZyZWUgZGV2aWNlXG4iCittc2dzdHIgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIOafpeaJvuepuumXsuiuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NAorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIOS4jeaJk+WNsOagh+mimFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIOeUqOS6jueKtuaAgei+k+WHuueahOWIl1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgIHVzZSByYXcgc3RhdHVzIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiICAgICAtLXJhdyAgICAgICAgICAgICAgICAg5L2/55So5Y6f55Sf54q25oCB6L6T5Ye65qC85byPXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ3Cittc2dpZCAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgcmVzZXQgYWxsIHNwZWNpZmllZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIOmHjee9ruaJgOacieaMh+WumueahOiuvuWkh1xuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0OAorbXNnaWQgIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtcywgLS1zaXplIDzlsLrlr7g+ICAgICAgICAg6K6+5aSH5bC65a+4XG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIC10LCAtLXN0cmVhbXMgPOaVsOWtlz4gICAgICDljovnvKnmtYHmlbDph49cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2MzMKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAi6Kej5p6Q5rWB5aSx6LSlIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorbXNnaWQgIm9wdGlvbiAtLWZpbmQgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPGRldmljZT4iCittc2dzdHIgIi0tZmluZCDpgInpobnkuI486K6+5aSHPuS6kuaWpSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2NjEKK21zZ2lkICJvbmx5IG9uZSA8ZGV2aWNlPiBhdCBhIHRpbWUgaXMgYWxsb3dlZCIKK21zZ3N0ciAi5LiA5qyh5Y+q5YWB6K645LiA5LiqIDzorr7lpIc+IgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2NAorbXNnaWQgIm9wdGlvbnMgLS1hbGdvcml0aG0gYW5kIC0tc3RyZWFtcyBtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIgorbXNnc3RyICItLWFsZ29yaXRobSDlkowgLS1zdHJlYW1zIOW/hemhu+S4jiAtLXNpemUg5ZCI55SoIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY5NCBzeXMtdXRpbHMvenJhbWN0bC5jOjcyMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHJlc2V0IgorbXNnc3RyICIlc++4sOmHjee9ruWksei0pSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MDUgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTMKK21zZ2lkICJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIgorbXNnc3RyICLmnKrmib7liLDnqbrpl7LnmoQgenJhbSDorr7lpIciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICIlc++4sOiuvue9rua1geaVsOmHj+Wksei0pSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIgorbXNnc3RyICIlc++4sOiuvue9rueul+azleWksei0pSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVz77ya6K6+572u56OB55uY5aSn5bCP5aSx6LSlKCVqdSDkuKrlrZfoioIpIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiVzJXMgKOiHquWKqOeZu+W9lSlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSByb290IGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVz77ya5peg5rOV5pu05pS55qC555uu5b2VICVz77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugd29ya2luZyBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlc++8muaXoOazleabtOaUueW3peS9nOebruW9lSAlc++8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUzMgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlc++8muaXoOazleabtOaUuei/m+eoi+S8mOWFiOe6p++8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVz77ya5peg5rOV5omn6KGMICVz77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTc0IHRlcm0tdXRpbHMvYWdldHR5LmM6OTAxIHRlcm0tdXRpbHMvYWdldHR5LmM6MTQxOQorIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDM3IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0ODQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTUyNiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwOTMgdGVybS11dGlscy9hZ2V0dHkuYzoyNjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIgorbXNnc3RyICLliIbphY3lhoXlrZjlpLHotKXvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo2NjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZyb20gJXMiCittc2dzdHIgIiVz77yM5p2l6IeqICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4Cittc2dpZCAiaW52YWxpZCBkZWxheSBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE5bu26L+f5Y+C5pWwIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjc4NgorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLS1sb2NhbC1saW5lIgorbXNnc3RyICItLWxvY2FsLWxpbmUg6YCJ6aG55Y+C5pWw5peg5pWIIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjgwNQorbXNnaWQgImludmFsaWQgbmljZSBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qEIG5pY2Ug5Y+C5pWwIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwNgorIywgYy1mb3JtYXQKK21zZ2lkICJiYWQgc3BlZWQ6ICVzIgorbXNnc3RyICLpgJ/luqbmnInor6/vvJolcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo5MDgKK21zZ2lkICJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIgorbXNnc3RyICLlpIfpgInpgJ/luqbov4flpJoiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMTkgdGVybS11dGlscy9hZ2V0dHkuYzoxMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIKK21zZ3N0ciAiL2Rldi8lc++8muaXoOazleS7peagh+WHhui+k+WFpeaJk+W8gO+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwMzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogbm90IGEgY2hhcmFjdGVyIGRldmljZSIKK21zZ3N0ciAiL2Rldi8lc++8muS4jeaYr+Wtl+espuiuvuWkhyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIHR0eSIKK21zZ3N0ciAiL2Rldi8lc++8muS4jeaYr+e7iOerryIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQ0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3NgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3QgZ2V0IGNvbnRyb2xsaW5nIHR0eTogJW0iCittc2dzdHIgIi9kZXYvJXPvvJrml6Dms5Xojrflj5bmjqfliLYgdHR577yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA2NgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiL2Rldi8lc++8mnZoYW5ndXAoKSDlpLHotKXvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDg3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3Qgb3BlbiBmb3IgcmVhZC93cml0ZSIKK21zZ3N0ciAiJXPvvJrmnKrmiZPlvIAo5bCxKeivuy/lhpkiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5MgorIywgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIgorbXNnc3RyICIvZGV2LyVz77ya5peg5rOV6K6+572u6L+b56iL57uE77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTEwNgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZHVwIHByb2JsZW06ICVtIgorbXNnc3RyICIlc++8mmR1cCDpl67popjvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTIzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlc++8muiOt+WPlue7iOerr+WxnuaAp+Wksei0pe+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzMjUgdGVybS11dGlscy9hZ2V0dHkuYzoxMzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICLorr7nva7nu4jnq6/lsZ7mgKflpLHotKXvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNDY0Cittc2dpZCAiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIgorbXNnc3RyICLml6Dms5XmiZPlvIAgb3MtcmVsZWFzZSDmlofku7YiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTYzMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIuacquiDveWIm+W7uiByZWxvYWQg5paH5Lu277iwJXPvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODM1Cittc2dpZCAiW3ByZXNzIEVOVEVSIHRvIGxvZ2luXSIKK21zZ3N0ciAiW+aMiSBFTlRFUiDplK7nmbvlvZVdIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NTkKK21zZ2lkICJOdW0gTG9jayBvZmYiCittc2dzdHIgIk51bSBMb2NrIOWFsyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCittc2dpZCAiTnVtIExvY2sgb24iCittc2dzdHIgIk51bSBMb2NrIOW8gCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODY1Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICJDYXBzIExvY2sg5byAIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjgKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAiU2Nyb2xsIExvY2sg5byAIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkhpbnQ6ICVzXG4iCisiXG4iCittc2dzdHIgIiIKKyLmj5DnpLrvvJolc1xuIgorIlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIwMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWQ6ICVtIgorbXNnc3RyICIlc++8mnJlYWTvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlc++8mui+k+WFpei/h+i9vSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiJXPvvJrnmbvlvZXlkI3lrZfnrKbovazmjaLml6DmlYgiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjEwMworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIgorbXNnc3RyICIlc++8mueZu+W9leWQjeS4reeahOWtl+espiAweCV4IOaXoOaViCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMTg4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICIlc++8muiuvue9rue7iOerr+WxnuaAp+Wksei0pe+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YCJ6aG5XSA857q/6LevPiBbPOazoueJueeOhz4sLi4uXSBbPOe7iOerr+exu+Weiz5dXG4iCisiICUxJHMgW+mAiemhuV0gPOazoueJueeOhz4sLi4uIDznur/ot68+IFs857uI56uv57G75Z6LPl1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjMwCittc2dpZCAiT3BlbiBhIHRlcm1pbmFsIGFuZCBzZXQgaXRzIG1vZGUuXG4iCittc2dzdHIgIuaJk+W8gOS4gOS4que7iOerr+W5tuiuvue9ruWFtuaooeW8j+OAglxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzMKK21zZ2lkICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAgYXNzdW1lIDgtYml0IHR0eVxuIgorbXNnc3RyICIgLTgsIC0tOGJpdHMgICAgICAgICAgICAgICAg6YeH55SoIDgg5L2NIHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzQKK21zZ2lkICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKK21zZ3N0ciAiIC1hLCAtLWF1dG9sb2dpbiA855So5oi3PiAgICAg5Lul5oyH5a6a55So5oi36Ieq5Yqo55m75b2VXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorbXNnaWQgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iCittc2dzdHIgIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICDkuI3ph43nva7mjqfliLbmqKHlvI9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM2Cittc2dpZCAiIC1FLCAtLXJlbW90ZSAgICAgICAgICAgICAgIHVzZSAtciA8aG9zdG5hbWU+IGZvciBsb2dpbigxKVxuIgorbXNnc3RyICIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAg5L2/55SoIC1yIDzkuLvmnLrlkI0+IOmAiemhueiwg+eUqCBsb2dpbigxKVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzcKK21zZ2lkICIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtZiwgLS1pc3N1ZS1maWxlIDzmlofku7Y+ICAgIOaMh+WumuimgeaYvuekuueahOmihOeZu+W9lea2iOaBryhpc3N1ZSnmlofku7ZcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM4Cittc2dpZCAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIGVuYWJsZSBoYXJkd2FyZSBmbG93IGNvbnRyb2xcbiIKK21zZ3N0ciAiIC1oLCAtLWZsb3ctY29udHJvbCAgICAgICAgIOWQr+eUqOehrOS7tua1geaOp+WItlxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtSCwgLS1ob3N0IDzkuLvmnLrlkI0+ICAgICAgICDmjIflrprnmbvlvZXkuLvmnLpcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCittc2dpZCAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIOS4jeaYvuekuumihOeZu+W9lea2iOaBryhpc3N1ZSnmlofku7ZcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIgLUksIC0taW5pdC1zdHJpbmcgPOWtl+espuS4sj4g6K6+572u5Yid5aeL5a2X56ym5LiyXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorbXNnaWQgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iCittc2dzdHIgIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICDmj5DnpLrkuYvliY3kuI3muIXlsY9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQzCittc2dpZCAiIC1sLCAtLWxvZ2luLXByb2dyYW0gPGZpbGU+IHNwZWNpZnkgbG9naW4gcHJvZ3JhbVxuIgorbXNnc3RyICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA85paH5Lu2PiDmjIflrprnmbvlvZXnqIvluo9cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0Cittc2dpZCAiIC1MLCAtLWxvY2FsLWxpbmVbPTxtb2RlPl0gIGNvbnRyb2wgdGhlIGxvY2FsIGxpbmUgZmxhZ1xuIgorbXNnc3RyICIgLUwsIC0tbG9jYWwtbGluZVs9POaooeW8jz5dICDmjqfliLbmnKzlnLDnur/ot6/moIflv5dcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiAtbSwgLS1leHRyYWN0LWJhdWQgICAgICAgICDov57mjqXov4fnqIvkuK3mj5Dlj5bms6LnibnnjodcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2Cittc2dpZCAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIGRvIG5vdCBwcm9tcHQgZm9yIGxvZ2luXG4iCittc2dzdHIgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICDkuI3mj5DnpLrnmbvlvZVcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ3Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtTiAgLS1ub25ld2xpbmUgICAgICAgICAgICDpooTnmbvlvZXmtojmga8oaXNzdWUp5YmN5LiN5omT5Y2w5o2i6KGMKG5ld2xpbmUpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorbXNnaWQgIiAtbywgLS1sb2dpbi1vcHRpb25zIDxvcHRzPiBvcHRpb25zIHRoYXQgYXJlIHBhc3NlZCB0byBsb2dpblxuIgorbXNnc3RyICIgLW8sIC0tbG9naW4tb3B0aW9ucyA86YCJ6aG5PiDkvKDpgJLnu5nnmbvlvZXnqIvluo/nmoTpgInpoblcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ5Cittc2dpZCAiIC1wLCAtLWxvZ2luLXBhdXNlICAgICAgICAgIHdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIHRoZSBsb2dpblxuIgorbXNnc3RyICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAg55m75b2V5YmN562J5b6F5oyJ5LiL5Lu75oSP6ZSu5p2l57un57utXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorbXNnaWQgIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iCittc2dzdHIgIiAtciwgLS1jaHJvb3QgPOebruW9lT4gICAgICAgIOWwhuagueebruW9leabtOaUueS4uuaMh+WumuebruW9lVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTEKK21zZ2lkICIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iCittc2dzdHIgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICDlr7kgdHR5IOaJp+ihjOiZmuaLn+aMgui1tyh2aXJ0dWFsIGhhbmd1cClcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUyCittc2dpZCAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIHRyeSB0byBrZWVwIGJhdWQgcmF0ZSBhZnRlciBicmVha1xuIgorbXNnc3RyICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAg5Lit5patKGJyZWFrKeWQjuWwneivleS/neaMgeazoueJueeOh1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTMKK21zZ2lkICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCittc2dzdHIgIiAtdCwgLS10aW1lb3V0IDzmlbDlrZc+ICAgICAgIOeZu+W9lei/m+eoi+i2heaXtijnp5IpXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NAorbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICDmo4DmtYvnuq/lpKflhpnnu4jnq69cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU1Cittc2dpZCAiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iCittc2dzdHIgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICDnrYnlvoXlm57ovaZcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU2Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAg5LiN5omT5Y2w5o+Q56S65L+h5oGvXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NworbXNnaWQgIiAgICAgLS1ub2hvc3RuYW1lICAgICAgICAgICBubyBob3N0bmFtZSBhdCBhbGwgd2lsbCBiZSBzaG93blxuIgorbXNnc3RyICIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAg5bCG5a6M5YWo5LiN5pi+56S65Li75py65ZCNXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICDmmL7npLrlrozlhajpmZDlrprkuLvmnLrlkI1cbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiAgICAgLS1lcmFzZS1jaGFycyA85a2X56ym5LiyPiDpmYTliqDnmoTpgIDmoLzlrZfnrKZcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIgICAgIC0ta2lsbC1jaGFycyA85a2X56ym5LiyPiAg6ZmE5Yqg55qE5p2A5q27KGtpbGwp5a2X56ymXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAgICAgLS1jaGRpciA855uu5b2VPiAgICAgICAgIOeZu+W9leWJjeWIh+aNouebruW9lShjaGRpcilcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCittc2dpZCAiICAgICAtLWRlbGF5IDxudW1iZXI+ICAgICAgIHNsZWVwIHNlY29uZHMgYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgICAgIC0tZGVsYXkgPOaVsOWtlz4gICAgICAgICDmj5DnpLrliY3nnaHnnKDnmoTnp5LmlbBcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiICAgICAtLW5pY2UgPOaVsOWtlz4gICAgICAgICAg5Lul5oyH5a6a5LyY5YWI57qn6L+Q6KGMIGxvZ2luXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NAorbXNnaWQgIiAgICAgLS1yZWxvYWQgICAgICAgICAgICAgICByZWxvYWQgcHJvbXB0cyBvbiBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXNcbiIKK21zZ3N0ciAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIOWcqOi/kOihjCBhZ2V0dHkg5a6e5L6L5pe26YeN5paw6L295YWl5o+Q56S6XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2NQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC1zcGVlZHMgICAgICAgICAgZGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlc1xuIgorbXNnc3RyICIgICAgIC0tbGlzdCAgICAgICAgICAgICAgIOWIl+WHuuWPr+iuvue9rueahOaetuaehOW5tumAgOWHulxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI2MTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWQgdXNlciIKK21zZ2lkX3BsdXJhbCAiJWQgdXNlcnMiCittc2dzdHJbMF0gIiVkIOS9jeeUqOaItyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzQzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaGVja25hbWUg5aSx6LSl77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6Mjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAi5peg5rOVIHRvdWNoIOaWh+S7tiAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU5Cittc2dpZCAiLS1yZWxvYWQgaXMgdW5zdXBwb3J0ZWQgb24geW91ciBzeXN0ZW0iCittc2dzdHIgIuaCqOeahOezu+e7n+S4jeaUr+aMgSAtLXJlbG9hZCIKKworIzogdGVybS11dGlscy9tZXNnLmM6NzYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbeSB8IG5dXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjc5Cittc2dpZCAiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAi5o6n5Yi25YW25LuW55So5oi35a+55oKo57uI56uv55qE5YaZ5p2D6ZmQ44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCittc2dpZCAiIC12LCAtLXZlcmJvc2UgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICDop6Pph4rmraPlnKjov5vooYznmoTmk43kvZxcbiIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTI1Cittc2dpZCAidHR5bmFtZSBmYWlsZWQiCittc2dzdHIgInR0eW5hbWUg5aSx6LSlIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxMzQKK21zZ2lkICJpcyB5IgorbXNnc3RyICLmmK8geSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3Cittc2dpZCAiaXMgbiIKK21zZ3N0ciAi5pivIG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE0OCB0ZXJtLXV0aWxzL21lc2cuYzoxNTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2hhbmdlICVzIG1vZGUgZmFpbGVkIgorbXNnc3RyICLmm7TmlLkgJXMg5qih5byP5aSx6LSlIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNTAKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICLlhYHorrjkuoblhpnmgqjnmoTnu4jnq68iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworbXNnaWQgIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIKK21zZ3N0ciAi5ouS57ud5LqG5YaZ5oKo55qE57uI56uvIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudDogJXMiCittc2dzdHIgIuaXoOaViOWPguaVsO+8miVzIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjE2MQorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gW+aWh+S7tl1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjQKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIuWIm+W7uue7iOerr+S8muivneeahCB0eXBlc2NyaXB044CCXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTY3CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWEsIC0tYXBwZW5kICAgICAgICAgICAgICAgICAgYXBwZW5kIHRoZSBvdXRwdXRcbiIKKyIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAgICAgICAgcmV0dXJuIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzc1xuIgorIiAtZiwgLS1mbHVzaCAgICAgICAgICAgICAgICAgICBydW4gZmx1c2ggYWZ0ZXIgZWFjaCB3cml0ZVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorIiAtdFs8ZmlsZT5dLCAtLXRpbWluZ1s9PGZpbGU+XSBvdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RkZXJyIG9yIHRvIEZJTEVcbiIKK21zZ3N0ciAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICDov73liqDovpPlh7pcbiIKKyIgLWMsIC0tY29tbWFuZCA85ZG95LukPiAgICDov5DooYzlkb3ku6TogIzkuI3mmK/kuqTkupLlvI8gc2hlbGxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAg6L+U5Zue5a2Q6L+b56iL55qE6YCA5Ye65Luj56CBXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIOavj+asoSB3cml0ZSjlhpkpIOWQjui/kOihjCBmbHVzaCjlhrLliLcpXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgIOWNs+S9v+i+k+WHuuaWh+S7tuaYr+mTvuaOpeS5n+S+neeEtuS9v+eUqFxuIgorIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDlronpnZnmqKHlvI9cbiIKKyIgLXQsIC0tdGltaW5nWz085paH5Lu2Pl0gICDlsIbml7bpl7TmlbDmja7ovpPlh7rliLDmoIflh4bplJnor68o5oiW5paH5Lu2KVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJvdXRwdXQgZmlsZSBgJXMnIGlzIGEgbGlua1xuIgorIlVzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuXG4iCisiUHJvZ3JhbSBub3Qgc3RhcnRlZC4iCittc2dzdHIgIiIKKyLovpPlh7rmlofku7bigJwlc+KAneaYr+mTvuaOpVxuIgorIuWmguaenOecn+aDs+eUqOWug++8jOS9v+eUqCAtLWZvcmNlIOmAiemhueOAglxuIgorIueoi+W6j+ayoeacieWQr+WKqOOAgiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoyMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAi6ISa5pys5a6M5oiQ77yM5paH5Lu25Li6ICAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorbXNnaWQgImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAi5peg5rOV5YaZ6ISa5pys5paH5Lu2IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIgorbXNnc3RyICIiCisiXG4iCisi5Lya6K+d5bey57uI5q2i44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTY3JpcHQgc3RhcnRlZCBvbiAlc1xuIgorbXNnc3RyICLohJrmnKzlt7Lkuo4gJXMg5ZCv5YqoIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlNjcmlwdCBkb25lIG9uICVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyLohJrmnKzlrozmiJDvvIzkuo4gJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjM5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkg5aSx6LSlIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworbXNnaWQgIm91dCBvZiBwdHkncyIKK21zZ3N0ciAicHR5IOeahOi+k+WHuiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAi6ISa5pys5bey5ZCv5Yqo77yM5paH5Lu25Li6ICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFstdF0gdGltaW5nZmlsZSBbdHlwZXNjcmlwdF0gW2Rpdmlzb3JdXG4iCittc2dzdHIgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuS9v+eUqOWumuaXtuS/oeaBr+Wbnuivnee7iOerryB0eXBlc2NyaXB044CCXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NTEKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPGZpbGU+IHNjcmlwdCB0ZXJtaW5hbCBzZXNzaW9uIG91dHB1dCBmaWxlXG4iCisiIC1kLCAtLWRpdmlzb3IgPG51bT4gICAgIHNwZWVkIHVwIG9yIHNsb3cgZG93biBleGVjdXRpb24gd2l0aCB0aW1lIGRpdmlzb3JcbiIKKyIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorbXNnc3RyICIiCisiIC10LCAtLXRpbWluZyA85paH5Lu2PiAgICAg6ISa5pys5pe25bqP6L6T5Ye65paH5Lu2XG4iCisiIC1zLCAtLXR5cGVzY3JpcHQgPOaWh+S7tj4g6ISa5pys57uI56uv5Lya6K+d6L6T5Ye65paH5Lu2XG4iCisiIC1kLCAtLWRpdmlzb3IgPOaVsOWtlz4gICAg55So5pe26Ze06Zmk5pWw5Yqg6YCf5oiW5YeP6YCf5omn6KGMXG4iCisiIC1tLCAtLW1heGRlbGF5IDzmlbDlrZc+ICAg5Zyo5pu05paw5LmL6Ze05pyA5aSa562J5b6F6L+Z5LmI5aSa56eSXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICLlhpkgc3Rkb3V0IOWksei0pSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTkKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIKK21zZ3N0ciAiJXMg5LiK55qE5paH5Lu257uT5bC+5byC5bi4IgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjEyMQorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiCittc2dzdHIgIuivuyB0eXBlc2NyaXB0IOaWh+S7tiAlcyDlpLHotKUiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTg1Cittc2dpZCAid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAi5Y+C5pWw5Liq5pWw5LiN5q2j56GuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxNgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIKK21zZ3N0ciAi6K+75pe25bqP5paH5Lu2ICVzIOWksei0pSIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAi5a6a5pe25paH5Lu2ICVz77ya56ysICVsdSDooYzvvJrmoLzlvI/lvILluLjjgIIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNworIywgYy1mb3JtYXQKK21zZ2lkICJhcmd1bWVudCBlcnJvcjogYnJpZ2h0ICVzIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIuWPguaVsOmUmeivr++8muS4jeaUr+aMgeS6ruW6piAlcyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2Cittc2dpZCAidG9vIG1hbnkgdGFicyIKK21zZ3N0ciAi5qCH562+6L+H5aSaIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODIKK21zZ2lkICJTZXQgdGhlIGF0dHJpYnV0ZXMgb2YgYSB0ZXJtaW5hbC5cbiIKK21zZ3N0ciAi6K6+572u57uI56uv5bGe5oCn44CCXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NQorbXNnaWQgIiAtLXRlcm0gICAgICAgICAgPHRlcm1pbmFsX25hbWU+ICAgb3ZlcnJpZGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLS10ZXJtICAgICAgICAgIDznu4jnq6/lkI0+ICAgICAgICAgIOabv+aNoiBURVJNIOeOr+Wig+WPmOmHj1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozODYKK21zZ2lkICIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iCittc2dzdHIgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAg6YeN572u56uv5Y+j5Yiw5LiK55S15pe255qE54q25oCBXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC0tcmVzZXQgICAgICAgICAgICAgICAgICAgICAgICAgICDph43nva7nq6/lj6PliLDkuIrnlLXml7bnmoTnirbmgIFcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg4Cittc2dpZCAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGluaXQgc3RyaW5nLCBhbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3NcbiIKK21zZ3N0ciAiIC0taW5pdGlhbGl6ZSAgICAgICAgICAgICAgICAgICAgICDmmL7npLrliJ3lp4vljJblrZfnrKbkuLLvvIzlubbkvb/nlKjpu5jorqTorr7nva5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg5Cittc2dpZCAiIC0tZGVmYXVsdCAgICAgICAgICAgICAgICAgICAgICAgICB1c2UgZGVmYXVsdCB0ZXJtaW5hbCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIOS9v+eUqOm7mOiupOe7iOerr+iuvue9rlxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTAKK21zZ2lkICIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iCittc2dzdHIgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAg5bCG5b2T5YmN57uI56uv6K6+572u5L+d5a2Y5Li66buY6K6k5YC8XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5MQorbXNnaWQgIiAtLWN1cnNvciAgICAgICAgW29ufG9mZl0gICAgICAgICAgZGlzcGxheSBjdXJzb3JcbiIKK21zZ3N0ciAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICDmmL7npLrlhYnmoIdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCittc2dpZCAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICBrZXlib2FyZCByZXBlYXRcbiIKK21zZ3N0ciAiIC0tcmVwZWF0ICAgICAgICBbb258b2ZmXSAgICAgICAgICDplK7nm5jph43lpI1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkzCittc2dpZCAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIKK21zZ3N0ciAiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICDlhYnmoIfplK7lupTnlKjnqIvluo/mqKHlvI9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk0Cittc2dpZCAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICBjb250aW51ZSBvbiBhIG5ldyBsaW5lIHdoZW4gYSBsaW5lIGlzIGZ1bGxcbiIKK21zZ3N0ciAiIC0tbGluZXdyYXAgICAgICBbb258b2ZmXSAgICAgICAgICDkuIDooYzmu6Hml7blnKjmlrDooYzkuK3nu6fnu61cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIOS6pOaNouaVtOS4quWxj+W5leeahOminOiJslxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTYKK21zZ2lkICIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw86aKc6ImyPiAgICDorr7nva7liY3mma/oibJcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk3Cittc2dpZCAiIC0tYmFja2dyb3VuZCAgICBkZWZhdWx0fDxjb2xvcj4gICBzZXQgYmFja2dyb3VuZCBjb2xvclxuIgorbXNnc3RyICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8POminOiJsj4gICAg6K6+572u6IOM5pmv6ImyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OAorbXNnaWQgIiAtLXVsY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IHVuZGVybGluZWQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDzpopzoibI+ICAg6K6+572u5LiL5YiS57q/6aKc6ImyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5OQorbXNnaWQgIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIgorbXNnc3RyICIgLS1oYmNvbG9yICAgICAgIFticmlnaHRdIDzpopzoibI+ICAg6K6+572u57KX5L2T5a2X6aKc6ImyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMAorbXNnaWQgIiAgICAgICAgICAgICAgICAgPGNvbG9yPjogYmxhY2sgYmx1ZSBjeWFuIGdyZWVuIGdyZXkgbWFnZW50YSByZWQgd2hpdGUgeWVsbG93XG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICAgPOminOiJsj7vvJpibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAxCittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAg57KX5L2TXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMgorbXNnaWQgIiAtLWhhbGYtYnJpZ2h0ICAgW29ufG9mZl0gICAgICAgICAgZGltXG4iCittc2dzdHIgIiAtaGFsZi1icmlnaHQgICAgW29ufG9mZl0gICAgICAgICAg5Y+Y5pqXXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIC0tYmxpbmsgICAgICAgICBbb258b2ZmXSAgICAgICAgICDpl6rng4FcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA0Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICDkuIvliJLnur9cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiAtLXJldmVyc2UgICAgICAgW29ufG9mZl0gICAgICAgICAg5Lqk5o2i5YmN5pmv6Imy5ZKM6IOM5pmv6ImyXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNgorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAg5riF5bGP5bm26K6+572u5YWJ5qCH5L2N572uXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiAtLXRhYnMgICAgICAgICAgWzzmlbDlrZc+Li4uXSAgICAgICDorr7nva7ov5nkupvliLbooajkvY3nva7vvIzmiJbmmL7npLrliLbooajkvY1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIgLS1jbHJ0YWJzICAgICAgIFs85pWw5a2XPi4uLl0gICAgICAg5riF6Zmk6L+Z5Lqb5oiW5omA5pyJ5Yi26KGo5L2NXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIgLS1yZWd0YWJzICAgICAgIFsxLTE2MF0gICAgICAgICAgIOiuvue9ruW4uOinhOeahOWItuihqOS9jemXtOmalFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTAKK21zZ2lkICIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIKK21zZ3N0ciAiIC0tYmxhbmsgICAgICAgICBbMC02MHxmb3JjZXxwb2tlXSDorr7nva7lpJrkuYXkuI3mtLvliqjlkI7lsY/luZXlj5jnqbrnmb1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDExCittc2dpZCAiIC0tZHVtcCAgICAgICAgICBbPG51bWJlcj5dICAgICAgICB3cml0ZSB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIKK21zZ3N0ciAiIC0tZHVtcCAgICAgICAgICBbPOaVsOWtlz5dICAgICAgICAgIOWwhiB2Y3NhPOaVsOWtlz4g57uI56uv6L2s5YKo5Yiw5paH5Lu2XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMgorbXNnaWQgIiAtLWFwcGVuZCAgICAgICAgWzxudW1iZXI+XSAgICAgICAgYXBwZW5kIHZjc2E8bnVtYmVyPiBjb25zb2xlIGR1bXAgdG8gZmlsZVxuIgorbXNnc3RyICIgLS1hcHBlbmQgICAgICAgIFs85pWw5a2XPl0gICAgICAgICAg5bCGIHZjc2E85pWw5a2XPiDnu4jnq6/ovazlgqjov73liqDliLDmlofku7ZcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIC1mLCAtLWZpbGUgICAgICA85paH5Lu25ZCNPiAgICAgICAgICDovazlgqjmlofku7bnmoTlkI3lrZdcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE0Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtLW1zZyAgICAgICAgICAgW29ufG9mZl0gICAgICAgICAg5bCG5YaF5qC45raI5oGv5Y+R6YCB5Yiw57uI56uvXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorbXNnaWQgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iCittc2dzdHIgIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAg5YaF5qC457uI56uv5pel5b+X6K6w5b2V57qn5YirXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNgorbXNnaWQgIiAtLXBvd2Vyc2F2ZSAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCittc2dzdHIgIiAtcG93ZXJzYXZlICAgICAgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNworbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDorr7nva4gdmVzYSDoioLog73lip/og71cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE4Cittc2dpZCAiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIgorbXNnc3RyICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIOiuvue9riB2ZXNhIOWFs+mXreeUtea6kOmXtOmalCjliIbpkp8pXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxOQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAg5ZON6ZOD5oyB57ut5pe26Ze0KOavq+enkilcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDIwCittc2dpZCAiIC0tYmZyZXEgICAgICAgICA8bnVtYmVyPiAgICAgICAgICBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0elxuIgorbXNnc3RyICIgLS1iZnJlcSAgICAgICAgIDzmlbDlrZc+ICAgICAgICAgICAg5ZON6ZOD6aKR546H77yM5Y2V5L2N5Li6IEh6XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQzMQorbXNnaWQgImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIgorbXNnc3RyICLph43lpI3kvb/nlKjmn5DpgInpobkiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjc0MAorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAi5peg5rOV5by65Yi25riF56m6KGJsYW5rKSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQ1Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgIuaXoOazleW8uuWItuWPjea4heepuih1bmJsYW5rKSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzUxCittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIuaXoOazleiOt+WPluepuueZveeKtuaAgSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAi5peg5rOV5omT5byA6L2s5YKo5paH5Lu2ICVzIOi/m+ihjOi+k+WHuiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiCittc2dzdHIgIue7iOerryAlcyDkuI3mlK/mjIEgJXMiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg1NworIywgZnV6enkKK21zZ2lkICJzZWxlY3QgZmFpbGVkIgorbXNnc3RyICLlrprkvY3lpLHotKUiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4MworbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiCittc2dzdHIgIuaXoOaViOmAiemhuSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6OTMzCisjLCBmdXp6eQorbXNnaWQgInJlc2V0IGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIOWksei0pSIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTA5NworbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICLml6Dms5Xorr7nva4o5Y+W5raIKeiKguiDveaooeW8jyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1Cittc2dpZCAia2xvZ2N0bCBlcnJvciIKK21zZ3N0ciAia2xvZ2N0bCDlh7rplJkiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjExNDYKK21zZ2lkICIkVEVSTSBpcyBub3QgZGVmaW5lZC4iCittc2dzdHIgIiRURVJNIOacquWumuS5ieOAgiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1MworbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAi5om+5LiN5YiwIHRlcm1pbmZvIOaVsOaNruW6kyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlc++8muacquefpee7iOerr+exu+WeiyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NworbXNnaWQgInRlcm1pbmFsIGlzIGhhcmRjb3B5IgorbXNnc3RyICLnu4jnq6/kuLrnoazmi7fotJ0oaGFyZGNvcHkpIgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBjLWZvcm1hdAorbXNnaWQgImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIKK21zZ3N0ciAi5YaF6YOo6ZSZ6K+v77yaaW92IOi/h+WkmiIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICLlj4LmlbDooYzotoXplb8iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZW4gZmFpbGVkIgorbXNnc3RyICLmiZPlvIDlpLHotKUiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImZvcms6ICVtIgorbXNnc3RyICJmb3Jr77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICLml6Dms5UgZm9yayIKKworIzogdGVybS11dGlscy90dHltc2cuYzoxODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyBmYXIgdG9vIGxvbmciCittc2dzdHIgIiVz77ya5Lil6YeN6ZSZ6K+v77yM5raI5oGv5aSq6ZW/5aSq6ZW/5LqGIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo4NgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gfCA8bWVzc2FnZT5dXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbPOaWh+S7tj4gfCA85raI5oGvPl1cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6ODkKK21zZ2lkICJXcml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzLlxuIgorbXNnc3RyICLlkJHmiYDmnInnlKjmiLflj5Hmtojmga/jgIJcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1nLCAtLWdyb3VwIDxncm91cD4gICAgIG9ubHkgc2VuZCBtZXNzYWdlIHRvIGdyb3VwXG4iCittc2dzdHIgIiAtZywgLS1ncm91cCA857uEPiAgICAgICAgICAgICAgICDmjIflrprkuLvnu4RcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTMKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAg5LiN5omT5Y2w5qyi6L+O5raI5oGv77yM5Y+q5a+5IHJvb3Qg55So5oi355Sf5pWIXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjk0Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZW91dCA86LaF5pe2PiAgICDlhpnotoXml7Yo56eSKVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBncm91cCBhcmd1bWVudCIKK21zZ3N0ciAi5peg5pWI55qE5ZGo5pyf5Y+C5pWwIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoxMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGdpZCIKK21zZ3N0ciAiJWPvvJrmnKrnn6Xlkb3ku6QiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjE2NworbXNnaWQgImdldGdyb3VwbGlzdCBmb3VuZCBtb3JlIGdyb3VwcyB0aGFuIHN5c2NvbmYgYWxsb3dzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjIxMworbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIg5Y+q5pyJIHJvb3Qg6IO955SoIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5peg5pWI55qE6LaF5pe25Y+C5pWw77yaJXMiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM1NworbXNnaWQgImNhbm5vdCBnZXQgcGFzc3dkIHVpZCIKK21zZ3N0ciAi5peg5rOV6I635Y+WIHBhc3N3ZCB1aWQiCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjM2MgorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIuaXoOazleiOt+W+lyB0dHkg5ZCN56ewIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlc0AlcyAoJXMpICglcyk6IgorbXNnc3RyICLmnaXoh6ogJXNAJXMgKCVzKSAoJXMpIOeahOW5v+aSrea2iOaBr++8miIKKworIzogdGVybS11dGlscy93YWxsLmM6NDE1CisjLCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICLlsIbkuI3or7sgJXMgLSDkvb/nlKggc3RkaW7jgIIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOeUqOaItz4gWzx0dHnlkI3np7A+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIuWQkeWPpuS4gOS4queUqOaIt+WPkemAgea2iOaBr+OAglxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MTE2CisjLCBjLWZvcm1hdAorbXNnaWQgImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiCittc2dzdHIgIuacieaViCBnaWQg5LiO57uEICVzIOS4jeWMuemFjSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwMQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgbG9nZ2VkIGluIgorbXNnc3RyICIlcyDmnKrnmbvlvZUiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDYKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAi5om+5LiN5Yiw5oKo55qEIHR0eSDlkI3np7AiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyDnpoHnlKjkuobmtojmga8iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbG9nZ2VkIGluIG1vcmUgdGhhbiBvbmNlOyB3cml0aW5nIHRvICVzIgorbXNnc3RyICIlcyDnmbvlvZXkuoblpJrmrKHvvJvlsIborrDlhaUgJXMiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMzcKK21zZ2lkICJjYXJlZnVscHV0YyBmYWlsZWQiCittc2dzdHIgImNhcmVmdWxwdXRjIOWksei0pSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjI3OQorIywgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICIlc0AlcyAo5L2c5Li6ICVzKSDkuo4gJXMg5ZyoICUwMmQ6JTAyZCDlj5HnmoTmtojmga8uLi4iCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iCittc2dzdHIgIiVzQCVzIOS6jiAlcyDlnKggJTAyZDolMDJkIOWPkeeahOa2iOaBry4uLiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjMzMAorbXNnaWQgInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIKK21zZ3N0ciAi5oKo5YWz6Zet5LqG5YaZ5p2D6ZmQIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIOacquWcqCAlcyDkuIrnmbvlvZUiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIlcyDlnKggJXMg5LiK56aB55So5LqG5raI5oGvIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjEzNQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICLov4fmu6Tlj43mjaLooYzjgIJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisiXG4iCisi6YCJ6aG577yaXG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAg5LiN6L6T5Ye66YCA5qC86ZSuKGJhY2tzcGFjZSlcbiIKKyIgLWYsIC0tZmluZSAgICAgICAgICAgICDlhYHorrjliY3ov5vljYrooYwoZm9yd2FyZCBoYWxmIGxpbmUgZmVlZClcbiIKKyIgLXAsIC0tcGFzcyAgICAgICAgICAgICDkvKDpgJLmnKrnn6XnmoTmjqfliLbluo/liJdcbiIKKyIgLWgsIC0tdGFicyAgICAgICAgICAgICDlsIbnqbrmoLzovazmjaLkuLrliLbooajnrKZcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICDlsIbliLbooajnrKbovazmjaLkuLrnqbrmoLxcbiIKKyIgLWwsIC0tbGluZXMgTlVNICAgICAgICDnvJPlhrLoh7PlsJEgTlVNIOihjFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorIiAtSCwgLS1oZWxwICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE1MSB0ZXh0LXV0aWxzL2NvbHJtLmM6NjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcbiIKKyJcbiIKK21zZ3N0ciAiIgorIiVzIOivu+WPluagh+WHhui+k+WFpeW5tuWGmeWFpeagh+WHhui+k+WHulxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjIxNQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAiLWwg5Y+C5pWw5pyJ6K+vIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NAorIywgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIKK21zZ3N0ciAi6K2m5ZGK77ya5peg5rOV5aSH5Lu9ICVz44CCIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgInBhc3QgZmlyc3QgbGluZSIKK21zZ3N0ciAi6LaK6L+H56ys5LiA6KGMIgorCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjM0NQorbXNnaWQgIi0tIGxpbmUgYWxyZWFkeSBmbHVzaGVkIgorbXNnc3RyICItLSDooYzlt7Lnu4/ooqvlhrLmtJcoZmx1c2hlZCkiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODIgdGV4dC11dGlscy9jb2x1bW4uYzo2MzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gWzzmlofku7Y+Li4uXVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg1Cittc2dpZCAiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iCittc2dzdHIgIui/h+a7pCBucm9mZiDovpPlh7rku6Xkvr8gQ1JUIOmihOiniOOAglxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbGNydC5jOjg4Cittc2dpZCAiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAg56aB5q2i5omA5pyJ5LiL5YiS57q/XG4iCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIOaJk+WNsOaJgOacieWNiuihjFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKyIgJXMgW+i1t+Wni+WIlyBb57uI5q2i5YiXXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIui/h+a7pOaMh+WumuWIl+OAglxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg1Cittc2dpZCAiZmlyc3QgYXJndW1lbnQiCittc2dzdHIgIuesrOS4gOS4quWPguaVsCIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NworbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAi56ys5LqM5Liq5Y+C5pWwIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIgorbXNnc3RyICLop6PmnpAg57uI54K5IOWksei0pSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZGVmaW5lZCBjb2x1bW4gbmFtZSAnJXMnIgorbXNnc3RyICLmnKrlrprkuYnnmoTmjILovb3ngrkiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MzIxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiCittc2dzdHIgIuino+aekCAtLXRpbWVvdXQg5aSx6LSlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjM5NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1yaWdodCBsaXN0IgorbXNnc3RyICLop6PmnpAg6LW354K5IOWksei0pSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtdHJ1bmMgbGlzdCIKK21zZ3N0ciAi6Kej5p6QIC0tdGltZW91dCDlpLHotKUiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDA1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IgorbXNnc3RyICLop6PmnpAgLS10aW1lb3V0IOWksei0pSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtd3JhcCBsaXN0IgorbXNnc3RyICLop6PmnpAg6LW354K5IOWksei0pSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtaGlkZSBsaXN0IgorbXNnc3RyICLop6PmnpAgLS10aW1lb3V0IOWksei0pSIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSBjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDU4CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIKK21zZ3N0ciAi5YiG6YWN6L6T5Ye66KGo5aSx6LSlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNworbXNnaWQgIkNvbHVtbmF0ZSBsaXN0cy5cbiIKK21zZ3N0ciAi5oiQ5YiX6L6T5Ye65YaF5a6544CCXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIOWIm+W7uuihqOagvFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdGFibGUtbmFtZSA8bmFtZT4gICAgICAgICAgdGFibGUgbmFtZSBmb3IgSlNPTiBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAgIOimgeaKpeWRiuWFtumUmeivr+eahOeoi+W6j+WQjeensFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MgorIywgZnV6enkKK21zZ2lkICIgLU8sIC0tdGFibGUtb3JkZXIgPGNvbHVtbnM+ICAgICAgc3BlY2lmeSBvcmRlciBvZiBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLXgsIC0tc29ydCA85YiXPiAgICAgIOaMiTzliJc+5a+56L6T5Ye65o6S5bqPXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQzCisjLCBmdXp6eQorbXNnaWQgIiAtTiwgLS10YWJsZS1jb2x1bW5zIDxuYW1lcz4gICAgICBjb21tYSBzZXBhcmF0ZWQgY29sdW1ucyBuYW1lc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA85YiX6KGoPiAgICAg5Lul6Iux5paH6YCX5Y+35YiG6ZqU55qEIHN3YXAg6YCJ6aG5XG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ0Cittc2dpZCAiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS10YWJsZS1ub2hlYWRpbmdzICAgICAgICAgICBkb24ndCBwcmludCBoZWFkZXJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAg5LiN5omT5Y2w5qCH6aKYXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ2Cittc2dpZCAiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtSCwgLS10YWJsZS1oaWRlIDxjb2x1bW5zPiAgICAgICBkb24ndCBwcmludCB0aGUgY29sdW1uc1xuIgorbXNnc3RyICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDkuI3miZPljbDliJfmoIfpophcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDgKK21zZ2lkICIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVtbnM+ICAgICAgcmlnaHQgYWxpZ24gdGV4dCBpbiB0aGVzZSBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDkKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRhYmxlLXRydW5jYXRlIDxjb2x1bW5zPiAgIHRydW5jYXRlIHRleHQgaW4gdGhlIGNvbHVtbnMgd2hlbiBuZWNlc3NhcnlcbiIKK21zZ3N0ciAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAg5LiN5oiq5pat5YiX5Lit55qE5paH5pysXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgLUosIC0tanNvbiAgICAgICAgICAgICAgICAgICAg5L2/55SoIEpTT04gLS1saXN0IOi+k+WHuuagvOW8j1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIKK21zZ3N0ciAiIC1PLCAtLW91dHB1dCA85YiXPiAgICAgICAgICAg5oyH5a6aIC0tbGlzdCDpgInpobnopoHovpPlh7rnmoTliJdcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLXRyZWUtaWQgPGNvbHVtbj4gICAgICAgICAgIGxpbmUgSUQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA85pWw5a2XPiAgICAgICAgICAgICDmjIflrprlubblj6PkuK3mlq3lj7dcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTYKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXRyZWUtcGFyZW50IDxjb2x1bW4+ICAgICAgIHBhcmVudCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLU4sIC0tcGFydG5vIDzmlbDlrZc+ICAgICAgIOaMh+WumuWIhuWMuuWPt1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYywgLS1jb2x1bW5zIDzlrr3luqY+ICAgICDovpPlh7rlrr3luqYo5a2X56ym5pWwKVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIgorbXNnc3RyICIiCisiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPOWtl+espuS4sj5cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIOihqOagvOi+k+WHuuWIl+WIhumalOespu+8jOm7mOiupOS4uuS4pOS4quepuuagvFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+ICAgICAgICAgcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIgLXMsIC0tc2VwYXJhdG9yIDzlrZfnrKbkuLI+IOWPr+eUqOeahOihqOagvOWIhumalOesplxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgICAgICAgICAgZmlsbCByb3dzIGJlZm9yZSBjb2x1bW5zXG4iCittc2dzdHIgIiAteCwgLS1maWxscm93cyAgICAgICAgICAg5YWI5aGr5YWF6KGM77yM5YaN5aGr5YWF5YiXXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzMxCittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICLml6DmlYjnmoQg5YiX5pWwIOWPguaVsCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3NTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiBuYW1lcyIKK21zZ3N0ciAi6Kej5p6Q5oyC6Ie36KGo5aSx6LSlIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxMQorbXNnaWQgIm9wdGlvbnMgLS10cmVlLWlkIGFuZCAtLXRyZWUtcGFyZW50IGFyZSByZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODE5Cittc2dpZCAib3B0aW9uIC0tdGFibGUgcmVxdWlyZWQgZm9yIGFsbCAtLXRhYmxlLSoiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MjIKK21zZ2lkICJvcHRpb24gLS10YWJsZS1jb2x1bW5zIHJlcXVpcmVkIGZvciAtLWpzb24iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU2IHRleHQtdXRpbHMvbW9yZS5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIgorbXNnc3RyICIgJXMgW+mAiemhuV0gPOaWh+S7tj4uLi5cbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTU5Cittc2dpZCAiRGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkuXG4iCittc2dzdHIgIuS7peWNgeWFrei/m+WItuOAgeWNgei/m+WItuOAgeWFq+i/m+WItuOAgeS6jOi/m+WItuaIliBhc2NpaSDmmL7npLrmlofku7blhoXlrrnjgIJcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYyCittc2dpZCAiIC1iLCAtLW9uZS1ieXRlLW9jdGFsICAgICAgb25lLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorbXNnc3RyICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICDljZXlrZfoioLlhavov5vliLbmmL7npLpcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAg5Y2V5a2X6IqC5a2X56ym5pi+56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NAorbXNnaWQgIiAtQywgLS1jYW5vbmljYWwgICAgICAgICAgIGNhbm9uaWNhbCBoZXgrQVNDSUkgZGlzcGxheVxuIgorbXNnc3RyICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICDop4TojIPljJYgaGV4K0FTQ0lJIOaYvuekulxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1kLCAtLXR3by1ieXRlcy1kZWNpbWFsICAg5Y+M5a2X6IqC5Y2B6L+b5Yi25pi+56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NgorbXNnaWQgIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC1vLCAtLXR3by1ieXRlcy1vY3RhbCAgICAg5Y+M5a2X6IqC5YWr6L+b5Yi25pi+56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2NworbXNnaWQgIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAg5Y+M5a2X6IqC5Y2B5YWt6L+b5Yi25pi+56S6XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIC1MLCAtLWNvbG9yWz085qih5byPPl0gICAgICDop6Pph4rpopzoibLmoLzlvI/ljJbpmZDlrprnrKZcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcxCittc2dpZCAiIC1lLCAtLWZvcm1hdCA8Zm9ybWF0PiAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKK21zZ3N0ciAiIC1lLCAtLWZvcm1hdCA85qC85byPPiAgICAgICDnlKjkuo7mmL7npLrmlbDmja7nmoTmoLzlvI/ljJblrZfnrKbkuLJcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTcyCittc2dpZCAiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iCittc2dzdHIgIiAtZiwgLS1mb3JtYXQtZmlsZSA85paH5Lu2PiAg5YyF5ZCr5qC85byP5a2X56ym5Liy55qE5paH5Lu2XG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIgLW4sIC0tbGVuZ3RoIDzplb/luqY+ICAgICAgIOWPquino+mHiuinhOWumuWtl+iKgumVv+W6pueahOi+k+WFpVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzQKK21zZ2lkICIgLXMsIC0tc2tpcCA8b2Zmc2V0PiAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKK21zZ3N0ciAiIC1zLCAtLXNraXAgPOWBj+enuz4gICAgICAgICDot7Pov4flvIDlpLTnmoTmjIflrprlrZfoioLlgY/np7tcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTc1Cittc2dpZCAiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIgorbXNnc3RyICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICDovpPlh7rnm7jlkIznmoTooYxcbiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLWRpc3BsYXkuYzozNjUKK21zZ2lkICJhbGwgaW5wdXQgZmlsZSBhcmd1bWVudHMgZmFpbGVkIgorbXNnc3RyICLmiYDmnInovpPlhaXmlofku7blj4LmlbDlpLHotKUiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjU1CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAi6L2s5o2i5a2X56ymICVzIOeahOi9rOaNouWtl+espuiuoeaVsOmUmeivryIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIOmcgOimgeaMh+WumueyvuW6puaIluWtl+espuiuoeaVsCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGZvcm1hdCB7JXN9IgorbXNnc3RyICLmoLzlvI/mjZ/lnY8geyVzfSIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIGNvbnZlcnNpb24gY2hhcmFjdGVyICUlJXMiCittc2dzdHIgIui9rOaNouWtl+espiAlJSVzIOacieivryIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NDM2Cittc2dpZCAiYnl0ZSBjb3VudCB3aXRoIG11bHRpcGxlIGNvbnZlcnNpb24gY2hhcmFjdGVycyIKK21zZ3N0ciAi5a+55a2X56ym6K6h5pWw5L2/55So5LqG5aSa5Liq6L2s5o2i5a2X56ymIgorCisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozNAorbXNnaWQgIlJlYWQgb25lIGxpbmUuXG4iCittc2dzdHIgIuivu+S4gOihjOWGheWuueOAglxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICLpgILlkIjlsY/luZXmn6XnnIvnmoTmlofku7bpmIXor7vovpPlh7rlt6XlhbfjgIJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjM4Cittc2dpZCAiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIgorbXNnc3RyICIgLWQgICAgICAgICAg5pi+56S65biu5Yqp6ICM6Z2e5ZON6ZODXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorbXNnaWQgIiAtZiAgICAgICAgICBjb3VudCBsb2dpY2FsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAg6K6h566X6YC76L6R6KGM5pWw77yM6ICM6Z2e5bGP5bmV6KGM5pWwXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MAorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIC1sICAgICAgICAgIOWxj+iUveaNoumhtShmb3JtIGZlZWQp5ZCO55qE5pqC5YGcXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWMgICAgICAgICAg5LiN5rua5Yqo77yM5pi+56S65paH5pys5bm25riF55CG6KGM5pyrXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MgorbXNnaWQgIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorbXNnc3RyICIgLXAgICAgICAgICAg5LiN5rua5Yqo77yM5riF6Zmk5bGP5bmV5bm25pi+56S65paH5pysXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MworbXNnaWQgIiAtcyAgICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCittc2dzdHIgIiAtcyAgICAgICAgICDlsIblpJrooYznqbrooYzljovnvKnkuLrkuIDooYxcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ0Cittc2dpZCAiIC11ICAgICAgICAgIHN1cHByZXNzIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiAtdSAgICAgICAgICDlsY/olL3kuIvliJLnur9cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ1Cittc2dpZCAiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorbXNnc3RyICIgLTzmlbDlrZc+ICAgICDmr4/lsY/nmoTooYzmlbBcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ2Cittc2dpZCAiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIgorbXNnc3RyICIgKzzmlbDlrZc+ICAgICDku47mjIflrprooYzlvIDlp4vmmL7npLrmlofku7ZcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQ3Cittc2dpZCAiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iCittc2dzdHIgIiArLzzlrZfnrKbkuLI+ICDku47ljLnphY3mkJzntKLlrZfnrKbkuLLnmoTkvY3nva7lvIDlp4vmmL7npLrmlofku7ZcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTA1CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAi5pyq55+l6YCJ6aG5IC0lcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlc++8muebruW9lSAqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKioqKioqKiAlczogTm90IGEgdGV4dCBmaWxlICoqKioqKioqXG4iCisiXG4iCittc2dzdHIgIiIKKyJcbiIKKyIqKioqKioqKiAlc++8muS4jeaYr+aWh+S7tuaWh+S7tiAqKioqKioqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo2NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1VzZSBxIG9yIFEgdG8gcXVpdF0iCittc2dzdHIgIlvkvb/nlKggcSDmiJYgUSDpgIDlh7pdIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1Nb3JlLS0iCittc2dzdHIgIi0t5pu05aSaLS0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc0NworIywgYy1mb3JtYXQKK21zZ2lkICIoTmV4dCBmaWxlOiAlcykiCittc2dzdHIgIijkuIvkuKrmlofku7bvvJolcykiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjc1NQorIywgYy1mb3JtYXQKK21zZ2lkICJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iCittc2dzdHIgIlvmjInnqbrmoLzplK7nu6fnu63vvIzigJxx4oCd6ZSu6YCA5Ye644CCXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTE4MworIywgYy1mb3JtYXQKK21zZ2lkICIuLi5iYWNrICVkIHBhZ2UiCittc2dpZF9wbHVyYWwgIi4uLmJhY2sgJWQgcGFnZXMiCittc2dzdHJbMF0gIi4uLuWQjumAgCAlZCDpobUiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIi4uLui3s+i/hyAlZCDooYwiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjkKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioq5ZCO6YCAKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKK21zZ2lkICJObyBwcmV2aW91cyByZWd1bGFyIGV4cHJlc3Npb24iCittc2dzdHIgIuaXoOS4iuS4gOS4quato+WImeihqOi+vuW8jyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTMxNAorbXNnaWQgIiIKKyJcbiIKKyJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgRGVmYXVsdHMgaW4gYnJhY2tldHMuXG4iCisiU3RhciAoKikgaW5kaWNhdGVzIGFyZ3VtZW50IGJlY29tZXMgbmV3IGRlZmF1bHQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlpJrmlbDlkb3ku6Tlj6/lnKjliY3pnaLliqDmlbTmlbDlj4LmlbAga+OAguaWueaLrOWPt+S4reS4uuWPguaVsOeahOm7mOiupOWAvFxuIgorIuaYn+WPtygqKeihqOekuuWPguaVsOWwhuaIkOS4uuaWsOeahOm7mOiupOWAvOOAglxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPOepuuagvOmUrj4gICAgICAgICAgICAgICAg5pi+56S65LiLIGsg6KGM5paH5pysW+W9k+WJjeWxj+W5leWwuuWvuF1cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICDmmL7npLrkuIsgayDooYzmlofmnKxb5b2T5YmN5bGP5bmV5bC65a+4XSpcbiIKKyI85Zue6L2m6ZSuPiAgICAgICAgICAgICAgICDmmL7npLrkuIsgayDooYzmlofmnKxbMV0qXG4iCisiZCDmiJYgY3RybC1EICAgICAgICAgICAgIOa7muWKqCBrIOihjFvlvZPliY3mu5rliqjlsLrlr7jvvIzliJ3lp4vlgLzkuLogMTFdKlxuIgorInEg5oiWIFEg5oiWIDxpbnRlcnJ1cHQ+ICAg6YCA5Ye6IG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICDot7Pov4fkuIvpnaIgayDooYzmlofmnKxbMV1cbiIKKyJmICAgICAgICAgICAgICAgICAgICAgICDot7Pov4fkuIvpnaIgayDlsY/mlofmnKxbMV1cbiIKKyJiIOaIliBjdHJsLUIgICAgICAgICAgICAg6Lez6L+H5LiK6Z2iIGsg5bGP5paH5pysIFsxXVxuIgorIicgICAgICAgICAgICAgICAgICAgICAgIOi9rOWIsOS4iuasoeaQnOe0ouW8gOWni+WkhFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIOaYvuekuuW9k+WJjeihjOWPt1xuIgorIi885q2j5YiZ6KGo6L6+5byPPiAgICAgICAgICAg5pCc57Si5q2j5YiZ6KGo6L6+5byP56ysIGsg5qyh5Ye6546w5aSEWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAg5pCc57Si5YmN5LiA5q2j5YiZ6KGo6L6+5byP56ysIGsg5qyh5Ye6546w5aSEWzFdXG4iCisiITxjbWQ+IOaIliA6ITxjbWQ+ICAgICAgIOWcqOWtkCBzaGVsbCDkuK3miafooYwgPGNtZD4g5ZG95LukXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAg5Zyo5b2T5YmN6KGM5ZCv5YqoIC91c3IvYmluL3ZpXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAg6YeN57uY5bGP5bmVXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAg6L2s5Yiw5ZCO6Z2i56ysIGsg5Liq5paH5Lu2WzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAg6L2s5Yiw5YmN6Z2i56ysIGsg5Liq5paH5Lu2IFsxXVxuIgorIjpmICAgICAgICAgICAgICAgICAgICAgIOaYvuekuuW9k+WJjeaWh+S7tuWQjeWSjOihjOWPt1xuIgorIi4gICAgICAgICAgICAgICAgICAgICAgIOmHjeWkjeWJjeS4gOWRveS7pFxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzk0IHRleHQtdXRpbHMvbW9yZS5jOjE0MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iCittc2dzdHIgIlvmjInigJxo4oCd6ZSu6I635Y+W6K+05piO44CCXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMQorIywgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgbGluZSAlZCIKK21zZ3N0ciAi4oCcJXPigJ3nrKwgJWQg6KGMIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNDMzCisjLCBjLWZvcm1hdAorbXNnaWQgIltOb3QgYSBmaWxlXSBsaW5lICVkIgorbXNnc3RyICJb5LiN5piv5paH5Lu2XSDnrKwgJWQg6KGMIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTE1Cittc2dpZCAiICBPdmVyZmxvd1xuIgorbXNnc3RyICIgIOS4iua6olxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTY0Cittc2dpZCAiLi4uc2tpcHBpbmdcbiIKK21zZ3N0ciAiLi4u6Lez6L+HXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE1OTgKK21zZ2lkICIiCisiXG4iCisiUGF0dGVybiBub3QgZm91bmRcbiIKK21zZ3N0ciAiIgorIlxuIgorIuacquaJvuWIsOaooeW8j1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNjA0IHRleHQtdXRpbHMvcGcuYzoxMDM1IHRleHQtdXRpbHMvcGcuYzoxMTgxCittc2dpZCAiUGF0dGVybiBub3QgZm91bmQiCittc2dzdHIgIuaJvuS4jeWIsOaooeW8jyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY1MgorbXNnaWQgImV4ZWMgZmFpbGVkXG4iCittc2dzdHIgImV4ZWMg5aSx6LSlXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NjYKK21zZ2lkICJjYW4ndCBmb3JrXG4iCittc2dzdHIgIuaXoOazlSBmb3JrXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4u6Lez6L+HICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICIuLi7ot7PliLDmlofku7YgIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAiLi4u5bCG6Lez5Zue5paH5Lu2ICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIuihjOi/h+mVvyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIuayoeacieimgeabv+aNoueahOWJjeS4gOWRveS7pCIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorbXNnaWQgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICB0aGlzIHNjcmVlblxuIgorIiAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICBuZXh0IHBhZ2VcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIHNraXAgYSBwYWdlIGZvcndhcmRcbiIKKyIgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIG5leHQgbGluZVxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBwYWdlXG4iCisiICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcbiIKKyIgID9yZWdleD8gb3IgXnJlZ2V4XiAgICAgIHNlYXJjaCBiYWNrd2FyZCBmb3IgcmVnZXhcbiIKKyIgIC4gb3IgXkwgICAgICAgICAgICAgICAgIHJlZHJhdyBzY3JlZW5cbiIKKyIgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuIgorIiAgcyBmaWxlbmFtZSAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IGZpbGUgdG8gZmlsZW5hbWVcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIGVzY2FwZVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuIgorIiAgbiAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gbmV4dCBmaWxlXG4iCisiXG4iCisiTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuIgorIisxPG5ld2xpbmU+IChuZXh0IHBhZ2UpOyAtMTxuZXdsaW5lPiAocHJldmlvdXMgcGFnZSk7IDE8bmV3bGluZT4gKGZpcnN0IHBhZ2UpLlxuIgorIlxuIgorIlNlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisiICBoICAgICAgICAgICAgICAgICAgICAgICDmraTlsY/luZVcbiIKKyIgIHEg5oiWIFEgICAgICAgICAgICAgICAgICDpgIDlh7rnqIvluo9cbiIKKyIgIDzmjaLooYw+ICAgICAgICAgICAgICAgICAg5LiL5LiA6aG1XG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICDot7Pov4fkuIvkuIDpobVcbiIKKyIgIGQg5oiWIF5EICAgICAgICAgICAgICAgICDkuIvljYrpobVcbiIKKyIgIGwgICAgICAgICAgICAgICAgICAgICAgIOS4i+S4gOihjFxuIgorIiAgJCAgICAgICAgICAgICAgICAgICAgICAg5LiK5LiA6aG1XG4iCisiICAv6KGo6L6+5byPLyAgICAgICAgICAgICAgICDlvoDliY3mkJzntKLmraPliJnooajovr7lvI9cbiIKKyIgID/ooajovr7lvI8/IOaIliBe6KGo6L6+5byPXiAgICDlvoDlm57mkJzntKLmraPliJnooajovr7lvI9cbiIKKyIgIC4g5oiWIF5MICAgICAgICAgICAgICAgICDph43nu5jlsY/luZVcbiIKKyIgIHcg5oiWIHogICAgICAgICAgICAgICAgICDorr7nva7pobXlsLrlr7jlubbovazliLDkuIvkuIDpobVcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIOS7pSBmaWxlbmFtZSDkuLrlkI3lrZfkv53lrZjlvZPliY3mlofku7ZcbiIKKyIgICFjb21tYW5kICAgICAgICAgICAgICAgIHNoZWxsIOi9rOS5iVxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAg6L2s5Yiw5YmN5LiA5paH5Lu2XG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICDovazliLDkuIvkuIDmlofku7ZcbiIKKyJcbiIKKyLlvojlpJrlkb3ku6TliY3mjqXlj5fmlbDlrZflj4LmlbDvvIzlpoLvvJpcbiIKKyIrMTzmjaLooYw+ICjkuIvkuIDpobUpOyAtMTzmjaLooYw+ICjkuIrkuIDpobUpOyAxPOaNouihjD4gKOesrOS4gOmhtSnjgIJcbiIKKyJcbiIKKyLmm7TlpJrkv6Hmga/or7flj4LpmIUgcGcoMSnjgIJcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBb6YCJ6aG5XSBbK+ihjF0gWysv5qih5byPL10gW+aWh+S7tl1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIumAkOmhteafpeeci+aWh+acrOaWh+S7tuOAglxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM4Cittc2dpZCAiIC1udW1iZXIgICAgICBsaW5lcyBwZXIgcGFnZVxuIgorbXNnc3RyICIgLW51bWJlciAgICAgIOavj+mhteeahOihjOaVsFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjM5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICDmmL7npLrliY3muIXlsY9cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MAorbXNnaWQgIiAtZSAgICAgICAgICAgZG8gbm90IHBhdXNlIGF0IGVuZCBvZiBhIGZpbGVcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICDkuI3lnKjmlofku7bmnKvlsL7mmoLlgZxcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MQorbXNnaWQgIiAtZiAgICAgICAgICAgZG8gbm90IHNwbGl0IGxvbmcgbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplb/ooYxcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MgorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIOeUqOaNouihjOespihuZXcgbGluZSnnu4jmraLlkb3ku6RcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MworbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDzmj5DnpLo+ICAgIOaMh+WumuaPkOekuuivrVxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ0Cittc2dpZCAiIC1yICAgICAgICAgICBkaXNhbGxvdyBzaGVsbCBlc2NhcGVcbiIKK21zZ3N0ciAiIC1yICAgICAgICAgICDnpoHmraIgc2hlbGwg6L2s5LmJXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDUKK21zZ2lkICIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIOWQkeagh+WHhui+k+WHuuaJk+WNsOa2iOaBr1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ2Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIgK+aVsOWtlyAgICAgICAg5LuO5oyH5a6a6KGM5byA5aeLXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKK21zZ2lkICIgKy9wYXR0ZXJuLyAgIHN0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgcGF0dGVyblxuIgorbXNnc3RyICIgKy/mqKHlvI8vICAgICAg5LuO5YyF5ZCrIOaooeW8jyDnmoTooYzlvIDlp4tcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1OAorIywgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gcmVxdWlyZXMgYW4gYXJndW1lbnQgLS0gJXMiCittc2dzdHIgIumAiemhuemcgOimgeS4gOS4quWPguaVsCAtLSAlcyIKKworIzogdGV4dC11dGlscy9wZy5jOjI2NAorIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAi6Z2e5rOV55qE5Y+C5pWwIC0tICVzIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MzY3Cittc2dpZCAiLi4uc2tpcHBpbmcgZm9yd2FyZFxuIgorbXNnc3RyICIuLi7liY3ov5tcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2OQorbXNnaWQgIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iCittc2dzdHIgIi4uLuWQjumAgFxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg1Cittc2dpZCAiTm8gbmV4dCBmaWxlIgorbXNnc3RyICLml6DkuIvkuIDkuKrmlofku7YiCisKKyM6IHRleHQtdXRpbHMvcGcuYzozODkKK21zZ2lkICJObyBwcmV2aW91cyBmaWxlIgorbXNnc3RyICLml6DkuIrkuIDkuKrmlofku7YiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUmVhZCBlcnJvciBmcm9tICVzIGZpbGUiCittc2dzdHIgIuS7jiAlcyDmlofku7bor7vlh7rplJkiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5leHBlY3RlZCBFT0YgaW4gJXMgZmlsZSIKK21zZ3N0ciAi5ZyoICVzIOaWh+S7tuS4remBh+WIsOW8guW4uCBFT0YiCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIgorbXNnc3RyICLlnKggJXMg5paH5Lu25Lit6YGH5Yiw5pyq55+l6ZSZ6K+vIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTQ5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAi5peg5rOV5Yib5bu65Li05pe25paH5Lu2IgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6OTU4IHRleHQtdXRpbHMvcGcuYzoxMTIyIHRleHQtdXRpbHMvcGcuYzoxMTQ4Cittc2dpZCAiUkUgZXJyb3I6ICIKK21zZ3N0ciAi6KGo6L6+5byP6ZSZ6K+v77yaIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTEwNQorbXNnaWQgIihFT0YpIgorbXNnc3RyICIo5paH5Lu25pyr5bC+KSIKKworIzogdGV4dC11dGlscy9wZy5jOjExMzAgdGV4dC11dGlscy9wZy5jOjExNTYKK21zZ2lkICJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciCittc2dzdHIgIuayoeacieiusOW/hueahOaQnOe0ouWtl+espuS4siIKKworIzogdGV4dC11dGlscy9wZy5jOjEyMTEKK21zZ2lkICJjYW5ub3Qgb3BlbiAiCittc2dzdHIgIuaJk+S4jeW8gCAiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjYzCittc2dpZCAic2F2ZWQiCittc2dzdHIgIuW3suS/neWtmCIKKworIzogdGV4dC11dGlscy9wZy5jOjEzNTMKK21zZ2lkICI6ICFjb21tYW5kIG5vdCBhbGxvd2VkIGluIHJmbGFnIG1vZGUuXG4iCittc2dzdHIgIjogIeWRveS7pCDlnKggcmZsYWcg5qih5byP5LiL5LiN6K645L2/55So44CCXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMzg3Cittc2dpZCAiZm9yaygpIGZhaWxlZCwgdHJ5IGFnYWluIGxhdGVyXG4iCittc2dzdHIgImZvcmsoKSDlpLHotKXvvIzor7fnqI3lkI7ph43or5VcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE0NzUKK21zZ2lkICIoTmV4dCBmaWxlOiAiCittc2dzdHIgIijkuIvkuKrmlofku7bvvJoiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTQxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxNTk0IHRleHQtdXRpbHMvcGcuYzoxNjY3Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAi6Kej5p6Q5q+P6aG155qE6KGM5pWw5aSx6LSlIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorbXNnc3RyICLnlKjms5XvvJolcyBb6YCJ6aG5XSBb5paH5Lu2IC4uLl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAi5a+55oiQ6KGM55qE5YaF5a656YCQ5a2X57+76L2s44CCXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDIKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+IC4uLl1cbiIKK21zZ3N0ciAiICVzIFvpgInpobldIFs85paH5Lu2PiAuLi5dXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDUKK21zZ2lkICJEbyB1bmRlcmxpbmluZy5cbiIKK21zZ3N0ciAi5Yqg5LiL5YiS57q/44CCXG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICDnlKggVEVSTUlOQUwg6KaG55uWIFRFUk0g546v5aKD5Y+Y6YeP55qE5YC8XG4iCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICDpgJrov4fljZXni6zkuIDooYzooajnpLrkuIvliJLnur9cbiIKKworIzogdGV4dC11dGlscy91bC5jOjIwOQorbXNnaWQgInRyb3VibGUgcmVhZGluZyB0ZXJtaW5mbyIKK21zZ3N0ciAi6K+75Y+W57uI56uv5L+h5oGv5Ye66ZSZIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAi57uI56uv4oCcJXPigJ3mnKrnn6XvvIzlsIbkvb/nlKjpu5jorqTlgLzigJxkdW1i4oCdIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZXNjYXBlIHNlcXVlbmNlIGluIGlucHV0OiAlbywgJW8iCittc2dzdHIgIui+k+WFpeS4reacieacquefpei9rOS5ieW6j+WIl++8miVv77yMJW8iCisKKyM6IHRleHQtdXRpbHMvdWwuYzo2MjkKK21zZ2lkICJJbnB1dCBsaW5lIHRvbyBsb25nLiIKK21zZ3N0ciAi6L6T5YWl6KGM6L+H6ZW/44CCIgorCisjfiBtc2dpZCAiR2VvbWV0cnkiCisjfiBtc2dzdHIgIuWHoOS9leWxnuaApyIKKworI34gbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorI34gbXNnc3RyICLplIHnsbvlnovvvJpGTF9GTE9DSyDmiJYgRkxfUE9TSVjjgIIiCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICLml6Dms5Xlr7nigJwlc+KAneaJp+ihjCAvYmluL3Vtb3VudCIKKworI34gbXNnaWQgInNsZWVwaW5nIH4lZCB1c2VjXG4iCisjfiBtc2dzdHIgIuWwhuedoeecoCB+JWQg5b6u56eSXG4iCisKKyN+IG1zZ2lkICIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpXG4iCisjfiBtc2dzdHIgIiVsZC4lMDZsZCA8ICVsZC4lMDZsZCAoJS42ZilcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLUQsIC0tZGVidWcgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHMiCisjfiBtc2dzdHIgIiAgICAgLS12ZXJib3NlICAgICAgICAgIOaJk+WNsOabtOWkmue7huiKglxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgIuivu+WPluWksei0pe+4sCAlcyIKKworI34gbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKKyN+IG1zZ3N0ciAi5peg5rOV5omn6KGM77yaJXMiCisKKyN+IG1zZ2lkICJ1bnN1cHBvcnRlZCBhbGdvcml0aG06ICVzIgorI34gbXNnc3RyICLkuI3mlK/mjIHnmoTnrpfms5XvuLAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGVzdCBtb2RlOiAlcyB3YXMgbm90IHVwZGF0ZWQgd2l0aDpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAi6K6+5aSHICVzIOacquS4jiAlcyDlhbPogZRcbiIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBvcGVuIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIGluIGl0ICglcykgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgIuaXoOazleaJk+W8gOWMheWQq+aXtumSn+iwg+aVtOWPguaVsCglcynnmoTmlofku7bmnaXlhpnlhaUiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgdXBkYXRlIGZpbGUgd2l0aCB0aGUgY2xvY2sgYWRqdXN0bWVudCBwYXJhbWV0ZXJzICglcykgaW4gaXQiCisjfiBtc2dzdHIgIuaXoOazleabtOaWsOWMheWQq+aXtumSn+iwg+aVtOWPguaVsCglcynnmoTmlofku7YiCisKKyN+IG1zZ2lkICJEcmlmdCBhZGp1c3RtZW50IHBhcmFtZXRlcnMgbm90IHVwZGF0ZWQuIgorI34gbXNnc3RyICLmvILnp7vosIPmlbTlj4LmlbDmnKrmm7TmlrDjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGVzdCBtb2RlOiBlcG9jaCB3YXMgbm90IHNldCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAi5LiK5qyh5pu05pS55pe26Ze0IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1WXG4iCisjfiAiICUxJHMgLS1yZXBvcnQgW2RldmljZXNdXG4iCisjfiAiICUxJHMgWy12fC1xXSBjb21tYW5kcyBkZXZpY2VzXG4iCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbW1hbmRzOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi55So5rOV77yaXG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBb6K6+5aSHXVxuIgorI34gIiAlMSRzIFstdnwtcV0g5ZG95LukIOiuvuWkh1xuIgorI34gIlxuIgorI34gIuWPr+eUqOWRveS7pOacie+8mlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLW8pOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Y+v55So5YiXKOeUqOS6jiAtbynvvJpcbiIKKworI34gbXNnaWQgInNlZWsgZXJyb3Igb24gJXMiCisjfiBtc2dzdHIgIiVzIOWumuS9jeWHuumUmSIKKworI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIOaYvuekuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICDlsIYgLVYg5L2c5Li6IC0tdmVyc2lvbiDpgInpobnml7blv4XpobvmmK/mg5/kuIDpgInpoblcbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1zaG93LCAtLXJhdyBvciAtLXBhaXJzKTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuWPr+eUqOeahOWIlyjpkojlr7kgLS1zaG9344CBLS1yYXcg5oiWIC0tcGFpcnMp77yaXG4iCisKKyN+IG1zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC12LCAtLXZlcnNpb24gIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICLor7flsJ3or5XmiafooYzigJwlcyAtLWhlbHDigJ3kuobop6Pmm7TlpJrkv6Hmga/jgIJcbiIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLWgsIC0taGVscCAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1WLCAtLXZlcnNpb24gIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorCisjfiBtc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtdSwgLS1oZWxwICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKworI34gbXNnaWQgIk5vIGtub3duIHNoZWxscy4iCisjfiBtc2dzdHIgIuaXoOW3suefpSBzaGVsbOOAgiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuWPr+eUqOeahOWIl++8mlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvpgInpobldIC11IDznlKjmiLc+IDzlkb3ku6Q+XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtLW91dHB1dCk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLlj6/nlKjliJco55So5LqOIC0tb3V0cHV0Ke+8mlxuIgorCisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICLor7flsJ3or5XmiafooYzigJwlcyAtLWhlbHDigJ3kuobop6Pmm7TlpJrkv6Hmga/jgIJcbiIKKworI34gbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgIOino+mHiuato+WcqOi/m+ihjOeahOaTjeS9nFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAg55Sf5oiQ5Z+65LqO6ZqP5py65pWw55qEIHV1aWRcbiIKKyN+ICIgLXQsIC0tdGltZSAgICAgICDnlJ/miJDln7rkuo7ml7bpl7TnmoQgdXVpZFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgIHdpcGUgYWxsIG1hZ2ljIHN0cmluZ3MgKEJFIENBUkVGVUwhKVxuIgorI34gIiAtYiwgLS1iYWNrdXAgICAgICAgIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAgaW4gJEhPTUVcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICBmb3JjZSBlcmFzdXJlXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dFxuIgorI34gIiAtbiwgLS1uby1hY3QgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHRoZSBhY3R1YWwgd3JpdGUoKSBjYWxsXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlc1xuIgorI34gIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXRcbiIKKyN+ICIgLXEsIC0tcXVpZXQgICAgICAgICBzdXBwcmVzcyBvdXRwdXQgbWVzc2FnZXNcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW0sIFJBSURzIG9yIHBhcnRpdGlvbiB0YWJsZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAg5pOm6Zmk5omA5pyJ6a2U5pWw5a2X56ym5LiyKOaFjumHje+8gSlcbiIKKyN+ICIgLWIsIC0tYmFja3VwICAgICAgICDlnKggJEhPTUUg5Lit5Yib5bu6562+5ZCN5aSH5Lu9XG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAg5by65Yi25pOm6ZmkXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5paH5a2XXG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAg54Wn5bi45pON5L2c5L2G5LiN5omn6KGM5a6e6ZmF55qEIHdyaXRlKCkg6LCD55SoXG4iCisjfiAiIC1vLCAtLW9mZnNldCA85pWw5a2XPiDopoHmk6bpmaTnmoTlgY/np7vlrZfoioLmlbBcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICDku6Xlj6/op6PmnpDnmoTmoLzlvI/miZPljbDovpPlh7rvvIzogIzpnZ7ku6Xlj6/miZPljbDnmoTmoLzlvI9cbiIKKyN+ICIgLXQsIC0tdHlwZXMgPOWIl+ihqD4gIOmZkOWItuaWh+S7tuezu+e7n+OAgVJBSUQg5oiW5YiG5Yy66KGo55qE6ZuG5ZCIXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgcmVnaXN0ZXJzIGNvbnRhaW4gdmFsdWVzIHRoYXQgYXJlIGVpdGhlciBpbnZhbGlkIChlLmcuIDUwdGggZGF5IG9mIG1vbnRoKSBvciBiZXlvbmQgdGhlIHJhbmdlIHdlIGNhbiBoYW5kbGUgKGUuZy4gWWVhciAyMDk1KS4iCisjfiBtc2dzdHIgIuehrOS7tuaXtumSn+WvhOWtmOWZqOWMheWQq+eahOWAvOaXoOaViCjlpoLkuIDkuKrmnIjnmoTnrKwgNTAg5aSpKeaIlui2heWHuuS6hueoi+W6j+iDveWkhOeQhueahOiMg+WbtCjlpoIyMDk15bm0KeOAgiIKKworI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayBkb2VzIG5vdCBjb250YWluIGEgdmFsaWQgdGltZSwgc28gd2UgY2Fubm90IHNldCB0aGUgU3lzdGVtIFRpbWUgZnJvbSBpdC4iCisjfiBtc2dzdHIgIuehrOS7tuaXtumSn+S4jeWMheWQq+acieaViOaXtumXtO+8jOWboOatpOaXoOazleS7juWug+adpeiuvue9ruezu+e7n+aXtumXtOOAgiIKKworI34gbXNnaWQgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisjfiBtc2dzdHIgIlx0dHYudHZfc2VjID0gJWxkLCB0di50dl91c2VjID0gJWxkXG4iCisKKyN+IG1zZ2lkICJcdHR6LnR6X21pbnV0ZXN3ZXN0ID0gJWRcbiIKKyN+IG1zZ3N0ciAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisKKyN+IG1zZ2lkICJNdXN0IGJlIHN1cGVydXNlciB0byBzZXQgc3lzdGVtIGNsb2NrLiIKKyN+IG1zZ3N0ciAi5Y+q6IO95Lul6LaF57qn55So5oi36Lqr5Lu95p2l6K6+572u57O757uf5pe26ZKf44CCIgorCisjfiBtc2dpZCAiXHRVVEM6ICVzXG4iCisjfiBtc2dzdHIgIlx0VVRD77yaJXNcbiIKKworI34gbXNnaWQgIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHByZXZpb3VzbHkgY29udGFpbmVkIGdhcmJhZ2UuXG4iCisjfiBtc2dzdHIgIuWwhuS4jeiwg+aVtOa8guenu+ezu+aVsO+8jOWboOS4uuS5i+WJjeehrOS7tuaXtumSn+WMheWQq+Weg+WcvuWGheWuueOAglxuIgorCisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAi56Gs5Lu25pe26Ze05LiN5YyF5ZCr5pyJ5pWI5pe26Ze077yM56iL5bqP5peg5rOV6LCD5pW05a6D44CCIgorCisjfiBtc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCisjfiBtc2dzdHIgIuS9jeS6jjE5Njko5bm0KeWQjiAlbGQg56eS77yMUlRDIOW6lOivu+WPluWIsOeahOaYrzE5Njko5bm0KeWQjiAlbGQg56eS44CCXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gZ2V0IHRoZSBlcG9jaCB2YWx1ZSBmcm9tIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICLml6Dms5Xku47lhoXmoLjojrflj5bnuqrlhYMoZXBvY2gp5YC844CCIgorCisjfiBtc2dpZCAiS2VybmVsIGlzIGFzc3VtaW5nIGFuIGVwb2NoIHZhbHVlIG9mICVsdVxuIgorI34gbXNnc3RyICLlhoXmoLjlgYforr7nuqrlhYMoZXBvY2gp5YC85Li6ICVsdVxuIgorCisjfiBtc2dpZCAiVG8gc2V0IHRoZSBlcG9jaCB2YWx1ZSwgeW91IG11c3QgdXNlIHRoZSAnZXBvY2gnIG9wdGlvbiB0byB0ZWxsIHRvIHdoYXQgdmFsdWUgdG8gc2V0IGl0LiIKKyN+IG1zZ3N0ciAi6KaB6K6+572u57qq5YWDKGVwb2NoKeWAvO+8jOaCqOW/hemhu+S9v+eUqOKAnGVwb2No4oCd6YCJ6aG55p2l5oyH5a6a6K6+572u55qE5YC844CCIgorCisjfiBtc2dpZCAiTm90IHNldHRpbmcgdGhlIGVwb2NoIHRvICVsdSAtIHRlc3Rpbmcgb25seS5cbiIKKyN+IG1zZ3N0ciAi5LiN5Lya5bCG57qq5YWDKGVwb2NoKeiuvue9ruS4uiAlbHUgLSDku4XnlKjkuo7mtYvor5XjgIJcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgIuaXoOazleiuvue9ruWGheaguOS4reeahOe6quWFgyhlcG9jaCnlgLzjgIJcbiIKKworI34gbXNnaWQgIlF1ZXJ5IG9yIHNldCB0aGUgaGFyZHdhcmUgY2xvY2suXG4iCisjfiBtc2dzdHIgIuafpeivouaIluiuvue9ruehrOS7tumUgeOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICBzaG93IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1yLCAtLXNob3cgICAgICAgICAgIHJlYWQgaGFyZHdhcmUgY2xvY2sgYW5kIHByaW50IHJlc3VsdFxuIgorI34gIiAgICAgLS1nZXQgICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCBkcmlmdCBjb3JyZWN0ZWQgcmVzdWx0XG4iCisjfiAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisjfiAiIC1yLCAtLXNob3cgICAgICAgICAgIOivu+WPluehrOS7tuaXtumSn+W5tuaJk+WNsOe7k+aenFxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICAgICDlsIYgUlRDIOiuvue9ruS4uiAtLWRhdGUg5oyH5a6a55qE5pe26Ze0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayBmcm9tIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgdGltZXpvbmVcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCBzaW5jZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjbG9jayB3YXMgbGFzdCBzZXQgb3IgYWRqdXN0ZWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICDku47noazku7bml7bpkp/orr7nva7ns7vnu5/ml7bpl7RcbiIKKyN+ICIgLXcsIC0tc3lzdG9oYyAgICAgICAg5LuO5b2T5YmN57O757uf5pe26Ze06K6+572u56Gs5Lu25pe26ZKfXG4iCisjfiAiICAgICAtLXN5c3R6ICAgICAgICAgIOWfuuS6juW9k+WJjeaXtuWMuuiuvue9ruezu+e7n+aXtumXtFxuIgorI34gIiAgICAgLS1hZGp1c3QgICAgICAgICDmoLnmja7oh6rkuIrmrKHml7bpkp/orr7nva7miJbosIPmlbTlkI7nmoTns7vnu5/mvILnp7tcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICDmnaXosIPmlbQgUlRDXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAg5omT5Y2w5YaF5qC455qE56Gs5Lu25pe26ZKf57qq5YWDKGVwb2NoKeWAvFxuIgorI34gIiAgICAgLS1zZXRlcG9jaCAgICAgICDlsIblhoXmoLjnmoTnoazku7bml7bpkp/nuqrlhYMoZXBvY2gp5YC86K6+572u5Li6XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgLS1lcG9jaCDpgInpobnmjIflrprnmoTlgLxcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIOmihOa1iyAtLWRhdGUg6YCJ6aG55omA5oyH5a6a5pe25Yi76K+75Y+W5Yiw55qEIFJUQyDlgLxcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAg5pi+56S654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgLS1sb2NhbHRpbWUgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAg56Gs5Lu25pe26ZKf5L+d5oyB5Li6IFVUQyDml7bpl7RcbiIKKyN+ICIgICAgIC0tbG9jYWx0aW1lICAgICAg56Gs5Lu25pe26ZKf5L+d5oyB5Li65pys5Zyw5pe26Ze0XG4iCisKKyN+IG1zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiIC1mLCAtLXJ0YyA85paH5Lu2PiAgICAg5Luj5pu/6buY6K6k5paH5Lu255qE54m55q6KIC9kZXYvLi4uIOaWh+S7tlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdXBkYXRlLWRyaWZ0ICAgdXBkYXRlIGRyaWZ0IGZhY3RvciBpbiAlMSRzIChyZXF1aXJlc1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIC0tc2V0IG9yIC0tc3lzdG9oYylcbiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IGFjY2VzcyAlMSRzOyB0aGlzIHJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWVcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gc3BlY2lmaWVzIHRoZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZTtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlMSRzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbm9hZGpmaWxlICAgICAg5LiN6K6/6ZeuICVz77yb6ZyA6KaB5L2/55SoIC0tdXRjIOaIliAtLWxvY2FsdGltZSDpgInpoblcbiIKKyN+ICIgICAgIC0tYWRqZmlsZSA85paH5Lu2PiDmjIflrprosIPmlbTmlofku7bnmoTot6/lvoTvvJtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICDpu5jorqTkuLogJXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAg5LiN5pu05paw77yM5Y+q5pi+56S65bCG6L+b6KGM5LuA5LmI5pON5L2cXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIOiwg+ivleaooeW8j1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiaW52YWxpZCBlcG9jaCBhcmd1bWVudCIKKyN+IG1zZ3N0ciAi5peg5pWI55qE57qq5YWDKGVwb2NoKeWPguaVsCIKKworI34gbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorI34gbXNnc3RyICIlcyDmsqHmnInkuK3mlq3lh73mlbDjgIIiCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAi5a+5ICVzIGlvY3RsKCkg5Lul5omT5byA5pu05paw5Lit5pat5oSP5aSW5aSx6LSlIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZS4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCisjfiBtc2dzdHIgIuimgeaTjeS9nOWGheaguOS4reeahOe6quWFgyhlcG9jaCnlgLzvvIzlv4XpobvpgJrov4forr7lpIfnibnmrormlofku7YgJXMg6K6/6ZeuIExpbnV4IOKAnHJ0Y+KAneiuvuWkh+mpseWKqOOAguatpOezu+e7n+S4iuS4jeWtmOWcqOivpeaWh+S7tuOAgiIKKworI34gbXNnaWQgIndlIGhhdmUgcmVhZCBlcG9jaCAlbHUgZnJvbSAlcyB3aXRoIFJUQ19FUE9DSF9SRUFEIGlvY3RsLlxuIgorI34gbXNnc3RyICLmiJHku6zkvb/nlKhSVENfRVBPQ0hfUkVBRCBpb2N0bCDku44gJTIkcyDor7vlj5bkuobnuqrlhYMoZXBvY2gpICUxJGx144CCXG4iCisKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICLnuqrlhYMoZXBvY2gp5YC85LiN6IO95bCP5LqOIDE5MDDjgILmgqjopoHmsYLkuoYgJWxkIgorCisjfiBtc2dpZCAic2V0dGluZyBlcG9jaCB0byAlbHUgd2l0aCBSVENfRVBPQ0hfU0VUIGlvY3RsIHRvICVzLlxuIgorI34gbXNnc3RyICLmraPpgJrov4cgUlRDX0VQT0NIX1NFVCBpb2N0bCDlkJEgJTIkcyDorr7nva7nuqrlhYMoZXBvY2gpICUxJGx144CCXG4iCisKKyN+IG1zZ2lkICJUaGUga2VybmVsIGRldmljZSBkcml2ZXIgZm9yICVzIGRvZXMgbm90IGhhdmUgdGhlIFJUQ19FUE9DSF9TRVQgaW9jdGwuIgorI34gbXNnc3RyICIlcyDnmoTlhoXmoLjorr7lpIfpqbHliqjmsqHmnIkgUlRDX0VQT0NIX1NFVCBpb2N0bCAo5pa55rOVKeOAgiIKKworI34gbXNnaWQgIiIKKyN+ICIlc1xuIgorI34gIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIiIKKyN+ICIlc1xuIgorI34gIuivt+S9v+eUqOKAnCVzIC0taGVscOKAneS6huino+abtOWkmuS/oeaBr+OAgiIKKworI34gbXNnaWQgIlRyeSBgJXMgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIuivt+S9v+eUqOKAnCVzIC0taGVscOKAneS6huino+abtOWkmuS/oeaBr+OAgiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLlj6/nlKjliJco55So5LqOIC0tc2hvdynvvJpcbiIKKworI34gbXNnaWQgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIG1ha2UgZHJpdmVyIHRvIHRydXN0IGlycVxuIgorI34gbXNnc3RyICIgLVQsIC0tdHJ1c3QtaXJxIDxvbnxvZmY+ICAgICDlsIbpqbHliqjorr7nva7kuLrkv6Hku7vnmoTkuK3mlq1cbiIKKworI34gbXNnaWQgIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorCisjfiBtc2dpZCAiIC0taGVscCAgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLS1oZWxwICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorCisjfiBtc2dpZCAiIC1WICAgICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYgICAgICAgICAg5pi+56S654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gYWRkIGRhdGEgdG8gb3V0cHV0IHRhYmxlIgorI34gbXNnc3RyICLlkJHovpPlh7rooajmt7vliqDmlbDmja7lh7rplJkiCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgbGluZSIKKyN+IG1zZ3N0ciAi5Yid5aeL5YyW6L6T5Ye66KGM5aSx6LSlIgorCisjfiBtc2dpZCAiRGV2aWNlICVzIGFscmVhZHkgY29udGFpbnMgYSAlcyBzaWduYXR1cmUuIgorI34gbXNnc3RyICLorr7lpIcgJXMg5bey5YyF5ZCr5LiA5LiqICVzIOetvuWQjeOAgiIKKworI34gbXNnaWQgIiVzOiB0aGVzZSBvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmU6IgorI34gbXNnc3RyICIlc++8muS7peS4i+mAiemhueebuOS6kuaOkuaWpe+8miIKKworI34gbXNnaWQgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIHNlYXJjaCBpbiB0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tdGFiICAgICAgICAgICAgIOWcqOW3suaMgui9veaWh+S7tuezu+e7n+ihqOS4reaQnOe0olxuIgorCisjfiBtc2dpZCAiU3VzcGVuZCBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtIChleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUykuXG4iCisjfiBtc2dzdHIgIuaaguWBnOWvueaWh+S7tuezu+e7n+eahOiuv+mXrihleHQzLzQsIFJlaXNlckZTLCBKRlMsIFhGUynjgIJcbiIKKworI34gbXNnaWQgIkNsb2NrIG5vdCBjaGFuZ2VkIC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICLml7bpkp/mnKrmm7TmlLkgLSDnuq/mtYvor5XjgIJcbiIKKworI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAi5pyq5oyH5a6aICAtLWRhdGUg6YCJ6aG544CCIgorCisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICItLWRhdGUg55qE5Y+C5pWw6L+H6ZW/IgorCisjfiBtc2dpZCAiIgorI34gIlRoZSB2YWx1ZSBvZiB0aGUgLS1kYXRlIG9wdGlvbiBpcyBub3QgYSB2YWxpZCBkYXRlLlxuIgorI34gIkluIHBhcnRpY3VsYXIsIGl0IGNvbnRhaW5zIHF1b3RhdGlvbiBtYXJrcy4iCisjfiBtc2dzdHIgIiIKKyN+ICItLWRhdGUg6YCJ6aG555qE5Y+C5pWw5LiN5piv5pyJ5pWI55qE5pel5pyf44CCXG4iCisjfiAi5YW35L2T6K+077yM5a6D5YyF5ZCr5LqG5byV5Y+344CCIgorCisjfiBtc2dpZCAiSXNzdWluZyBkYXRlIGNvbW1hbmQ6ICVzXG4iCisjfiBtc2dzdHIgIuato+WcqOWPkeWHuiBkYXRlIOWRveS7pO+8miVzXG4iCisKKyN+IG1zZ2lkICJVbmFibGUgdG8gcnVuICdkYXRlJyBwcm9ncmFtIGluIC9iaW4vc2ggc2hlbGwuIHBvcGVuKCkgZmFpbGVkIgorI34gbXNnc3RyICLml6Dms5XlnKggL2Jpbi9zaCBzaGVsbCDkuK3ov5DooYzigJxkYXRl4oCd56iL5bqP44CCcG9wZW4oKSDlpLHotKUiCisKKyN+IG1zZ2lkICJyZXNwb25zZSBmcm9tIGRhdGUgY29tbWFuZCA9ICVzXG4iCisjfiBtc2dzdHIgImRhdGUg5ZG95Luk55qE5ZON5bqU5Li6ICVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAiJXMg5Y+R5Ye655qEIGRhdGUg5ZG95Luk6L+U5Zue5LqG5byC5bi457uT5p6c44CCXG4iCisjfiAi5ZG95Luk5Li677yaXG4iCisjfiAiICAlc1xuIgorI34gIuWTjeW6lOS4uu+8mlxuIgorI34gIiAgJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgc29tZXRoaW5nIG90aGVyIHRoYW4gYW4gaW50ZWdlciB3aGVyZSB0aGUgY29udmVydGVkIHRpbWUgdmFsdWUgd2FzIGV4cGVjdGVkLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgJXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVzIOWPkeWHuueahCBkYXRlIOWRveS7pOi/lOWbnuS6huaEj+Wklue7k+aenO+8jOacrOW6lOi/lOWbnuWMheWQq+W3sui9rOaNouaXtumXtOWAvOeahOS4gOS4quaVtOaVsOOAglxuIgorI34gIuWRveS7pOS4uu+8mlxuIgorI34gIiAgJXNcbiIKKyN+ICLlk43lupTkuLrvvJpcbiIKKyN+ICIgJXNcbiIKKworI34gbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKKyN+IG1zZ3N0ciAi5pWw5o2u5a2X56ym5LiyICVzIOetieS7t+S6jiAxOTY55bm05ZCOICVsZCDnp5LjgIJcbiIKKworI34gbXNnaWQgIk5vdCBzZXR0aW5nIHN5c3RlbSBjbG9jayBiZWNhdXNlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlLlxuIgorI34gbXNnc3RyICLlsIbkuI3orr7nva7ns7vnu5/ml7bpkp/vvIzlm6DkuLrmraPku6XmtYvor5XmlrnlvI/ov5DooYzjgIJcbiIKKworI34gbXNnaWQgIk5vdCB1cGRhdGluZyBhZGp0aW1lIGZpbGUgYmVjYXVzZSBvZiB0ZXN0aW5nIG1vZGUuXG4iCisjfiBtc2dzdHIgIuWwhuS4jeabtOaWsCBhZGp0aW1lIOaWh+S7tu+8jOWboOS4uuato+S7pea1i+ivleaWueW8j+i/kOihjOOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIldvdWxkIGhhdmUgd3JpdHRlbiB0aGUgZm9sbG93aW5nIHRvICVzOlxuIgorI34gIiVzIgorI34gbXNnc3RyICIiCisjfiAi6Iul5omn6KGM77yM5bCG5ZCRICVzIOWGmeWFpeS7peS4i+WGheWuue+8mlxuIgorI34gIiVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBrZXJuZWwga2VlcHMgYW4gZXBvY2ggdmFsdWUgZm9yIHRoZSBIYXJkd2FyZSBDbG9jayBvbmx5IG9uIGFuIEFscGhhIG1hY2hpbmUuXG4iCisjfiAiVGhpcyBjb3B5IG9mIGh3Y2xvY2sgd2FzIGJ1aWx0IGZvciBhIG1hY2hpbmUgb3RoZXIgdGhhbiBBbHBoYVxuIgorI34gIihhbmQgdGh1cyBpcyBwcmVzdW1hYmx5IG5vdCBydW5uaW5nIG9uIGFuIEFscGhhIG5vdykuICBObyBhY3Rpb24gdGFrZW4uIgorI34gbXNnc3RyICIiCisjfiAi5Y+q5pyJ5ZyoIEFscGhhIOiuoeeul+acuuS4iuWGheaguOaJjeS8muS4uuehrOS7tuaXtumSn+S/neaMgeS4gOS4que6quWFgyhlcG9jaCnlgLzjgIJcbiIKKyN+ICLov5nniYggaHdjbG9jayDnqIvluo/kuI3mmK/kuLogQWxwaGEg6K6h566X5py657yW6K+R55qEKOWboOatpOebruWJjeS5n+S4jeaJk+eul+WcqCBBbHBoYVxuIgorI34gIiDorqHnrpfmnLrkuIrov5DooYwp44CC5pyq5omn6KGM5Lu75L2V5pON5L2c44CCIgorCisjfiBtc2dpZCAiIC1jLCAtLWNvbXBhcmUgICAgICAgIHBlcmlvZGljYWxseSBjb21wYXJlIHRoZSBzeXN0ZW0gY2xvY2sgd2l0aCB0aGUgQ01PUyBjbG9ja1xuIgorI34gbXNnc3RyICIgLWMsIC0tY29tcGFyZSAgICAgICAg5a6a5pyf5bCG57O757uf5pe26ZKf5LiOIENNT1Mg5pe26ZKf55u45q+U6L6DXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWRpcmVjdGlzYSAgICAgIGFjY2VzcyB0aGUgSVNBIGJ1cyBkaXJlY3RseSBpbnN0ZWFkIG9mICVzXG4iCisjfiAiICAgICAtLWJhZHllYXIgICAgICAgIGlnbm9yZSBSVEMncyB5ZWFyIGJlY2F1c2UgdGhlIEJJT1MgaXMgYnJva2VuXG4iCisjfiAiICAgICAtLWRhdGUgPHRpbWU+ICAgIHNwZWNpZmllcyB0aGUgdGltZSB0byB3aGljaCB0byBzZXQgdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiICAgICAtLWVwb2NoIDx5ZWFyPiAgIHNwZWNpZmllcyB0aGUgeWVhciB3aGljaCBpcyB0aGUgYmVnaW5uaW5nIG9mIHRoZVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICDnm7TmjqXorr/pl64gSVNBIOaAu+e6v++8jOiAjOmdniAlc1xuIgorI34gIiAgICAgLS1iYWR5ZWFyICAgICAgICDlv73nlaUgIFJUQyDlubTku70o55Sx5LqOIEJJT1Mg5o2f5Z2PKVxuIgorI34gIiAgICAgLS1kYXRlIDzml7bpl7Q+ICAgIOaMh+Wumuimgeiuvue9rueahOehrOS7tuaXtumSn+aXtumXtFxuIgorI34gIiAgICAgLS1lcG9jaCA85bm0PiAgICAg5oyH5a6a5L2c5Li656Gs5Lu257qq5YWDKGVwb2NoKeWAvOi1t+Wni+eahOW5tOS7vVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUp8LS1qZW5zZW4sIC1BfC0tYXJjLCAtU3wtLXNybSwgLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICDlkYrnn6UgaHdjbG9jayDmgqjkvb/nlKjnmoQgQWxwaGEg57G75Z6LKOWPgumYhSBod2Nsb2NrKDgpKVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIuWvueS4jei1t++8jOWPquaciei2hee6p+eUqOaIt+WPr+S7peS9v+eUqOehrOS7tuaXtumSn+OAgiIKKworI34gbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorI34gbXNnc3RyICIlcyDkuI3mjqXlj5fml6DpgInpobnnmoTlj4LmlbDjgILmgqjmj5DkvpvkuoYgJWTjgIJcbiIKKworI34gbXNnaWQgIk5vIHVzYWJsZSBzZXQtdG8gdGltZS4gIENhbm5vdCBzZXQgY2xvY2suIgorI34gbXNnc3RyICLml6Dlj6/nlKjnmoTlvoXorr7nva7ml7bpl7TjgILml6Dms5Xorr7nva7ml7bpkp/jgIIiCisKKyN+IG1zZ2lkICJib290ZWQgZnJvbSBNSUxPXG4iCisjfiBtc2dzdHIgIuS7jiBNSUxPIOWQr+WKqFxuIgorCisjfiBtc2dpZCAiUnVmZmlhbiBCQ0QgY2xvY2tcbiIKKyN+IG1zZ3N0ciAiUnVmZmlhbiBCQ0Qg5pe26ZKfXG4iCisKKyN+IG1zZ2lkICJjbG9ja3BvcnQgYWRqdXN0ZWQgdG8gMHgleFxuIgorI34gbXNnc3RyICLml7bpkp/nq6/lj6Plt7LosIPmlbTkuLogMHgleFxuIgorCisjfiBtc2dpZCAiZnVua3kgVE9ZIVxuIgorI34gbXNnc3RyICLng6bkurrnmoQgVE9Z77yBXG4iCisKKyN+IG1zZ2lkICJhdG9taWMgJXMgZmFpbGVkIGZvciAxMDAwIGl0ZXJhdGlvbnMhIgorI34gbXNnc3RyICLljp/lrZDmk43kvZwgJXMgMTAwMCDmrKHov63ku6Ppg73lpLHotKXkuobvvIEiCisKKyN+IG1zZ2lkICJjbW9zX3JlYWQoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc19yZWFkKCnvvJrlhpnmjqfliLblnLDlnYAgJVgg5aSx6LSlIgorCisjfiBtc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zX3JlYWQoKe+8muS7juaVsOaNruWcsOWdgCAlWCDor7vlj5blpLHotKUiCisKKyN+IG1zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3Nfd3JpdGUoKe+8muWGmeaOp+WItuWcsOWdgCAlWCDlpLHotKUiCisKKyN+IG1zZ2lkICJjbW9zX3dyaXRlKCk6IHdyaXRlIHRvIGRhdGEgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3Nfd3JpdGUoKTog6K+75pWw5o2u5Zyw5Z2AICVYIOWksei0pSIKKworI34gbXNnaWQgIkkgZmFpbGVkIHRvIGdldCBwZXJtaXNzaW9uIGJlY2F1c2UgSSBkaWRuJ3QgdHJ5LiIKKyN+IG1zZ3N0ciAi56iL5bqP5pyq6I635b6X5p2D6ZmQ77yM5Zug5Li65pyq5bCd6K+V6I635Y+W44CCIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIGdldCBJL08gcG9ydCBhY2Nlc3M6ICB0aGUgaW9wbCgzKSBjYWxsIGZhaWxlZC4iCisjfiBtc2dzdHIgIuaXoOazleiuv+mXriBJL08g56uv5Y+j77yaaW9wbCgzKSDosIPnlKjlpLHotKXjgIIiCisKKyN+IG1zZ2lkICJQcm9iYWJseSB5b3UgbmVlZCByb290IHByaXZpbGVnZXMuXG4iCisjfiBtc2dzdHIgIuaCqOWPr+iDvemcgOimgSByb290IOeUqOaIt+adg+mZkOOAglxuIgorCisjfiBtc2dpZCAiZXJyb3I6IGNhbiBub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICLplJnor6/vvJrml6Dms5Xorr7nva7kv6Hlj7flpITnkIblh73mlbAiCisKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICLplJnor6/vvJrml6Dms5XmgaLlpI3kv6Hlj7flpITnkIblh73mlbAiCisKKyN+IG1zZ2lkICJvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICLlj6rmnIkgcm9vdCDog73lsIYgJXMg5oyC6L295YiwICVzIgorCisjfiBtc2dpZCAiJXMgaXMgdXNlZCBhcyByZWFkIG9ubHkgbG9vcCwgbW91bnRpbmcgcmVhZC1vbmx5IgorI34gbXNnc3RyICIlcyDmraPnlKjkuo7lj6ror7vlm57njq/vvIzlsIbku6Xlj6ror7vmlrnlvI/mjILovb0iCisKKyN+IG1zZ2lkICIiCisjfiAiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIiVz77ya5qOA5rWL5Yiw5pu05aSa5paH5Lu257O757uf44CC6L+Z5LiN5bqU6K+l5Ye6546w77yMXG4iCisjfiAiICAgICAgIOivt+S9v+eUqCAtdCA857G75Z6LPiDmjIfmmI7mlofku7bns7vnu5/nsbvlnovmiJZcbiIKKyN+ICIgICAgICAg5L2/55SoIHdpcGVmcyg4KSDmuIXnkIbor6Xorr7lpIfjgIIiCisKKyN+IG1zZ2lkICJJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAi56iL5bqP5peg5rOV5qOA5rWL5paH5Lu257O757uf57G75Z6L77yM5bm25LiU5oKo5pyq5oyH5a6a57G75Z6LIgorCisjfiBtc2dpZCAieW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICLmgqjlv4XpobvmjIfmmI7mlofku7bns7vnu5/nsbvlnosiCisKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIuacquWumuS5ieaMguiHt+a6kCIKKworI34gbXNnaWQgIiVzOiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77ya5oyC6L295aSx6LSlIgorCisjfiBtc2dpZCAiJXM6IGZpbGVzeXN0ZW0gbW91bnRlZCwgYnV0IG1vdW50KDgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXPvvJrmlofku7bns7vnu5/lt7LmjILovb3vvIzkvYYgbW91bnQoOCkg5aSx6LSlIgorCisjfiBtc2dpZCAiJXMgaXMgYnVzeSIKKyN+IG1zZ3N0ciAiJXMg5b+ZIgorCisjfiBtc2dpZCAiICAgICAgICVzIGlzIGFscmVhZHkgbW91bnRlZCBvbiAlc1xuIgorI34gbXNnc3RyICIgICAgICAgJXMg5bey57uP5oyC6L295YiwICVzIOS4ilxuIgorCisjfiBtc2dpZCAiJXMgbm90IG1vdW50ZWQgb3IgYmFkIG9wdGlvbiIKKyN+IG1zZ3N0ciAiJXMg5pyq5oyC6L295oiW6YCJ6aG55pyJ6K+vIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoZm9yIHNldmVyYWwgZmlsZXN5c3RlbXMgKGUuZy4gbmZzLCBjaWZzKSB5b3UgbWlnaHRcbiIKKyN+ICIgICAgICAgbmVlZCBhIC9zYmluL21vdW50Ljx0eXBlPiBoZWxwZXIgcHJvZ3JhbSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAo5a+55p+Q5Lqb5paH5Lu257O757ufKOWmgiBuZnPjgIFjaWZzKSDmgqjlj6/og73pnIDopoFcbiIKKyN+ICIgICAgICAg5LiA5qy+IC9zYmluL21vdW50Ljznsbvlnos+IOWKqeaJi+eoi+W6jylcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIgICAgICAgSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBpcyBmb3VuZCBpbiBzeXNsb2cgLSB0cnlcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsIG9yIHNvLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiICAgICAgIOacieS6m+aDheWGteS4i+WcqCBzeXNsb2cg5Lit5Y+v5Lul5om+5Yiw5LiA5Lqb5pyJ55So5L+h5oGvLSDor7flsJ3or5VcbiIKKyN+ICIgICAgICAgZG1lc2cgfCB0YWlsICDov5nmoLfnmoTlkb3ku6TnnIvnnIvjgIJcbiIKKworI34gbXNnaWQgInVucmVjb2duaXplZCBvcHRpb24gJyVjJyIKKyN+IG1zZ3N0ciAi5LiN6K+G5Yir55qE6YCJ6aG54oCcJWPigJ0iCisKKyN+IG1zZ2lkICIlczogdW1vdW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXPvvJp1bW91bnQg5aSx6LSlIgorCisjfiBtc2dpZCAiIgorI34gIiVzOiB0YXJnZXQgaXMgYnVzeVxuIgorI34gIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXRcbiIKKyN+ICIgICAgICAgICB1c2UgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpLikiCisjfiBtc2dzdHIgIiIKKyN+ICIlc++8muebruagh+W/meOAglxuIgorI34gIiAgICAgICAgKOacieS6m+aDheWGteS4i+mAmui/hyBsc29mKDgpIOaIliBmdXNlcigxKSDlj6/ku6VcbiIKKyN+ICIgICAgICAgICDmib7liLDmnInlhbPkvb/nlKjor6Xorr7lpIfnmoTov5vnqIvnmoTmnInnlKjkv6Hmga/jgIIpIgorCisjfiBtc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorI34gbXNnc3RyICIlc++8muaJvuS4jeWIsOaMguiHt+eCuSIKKworI34gbXNnaWQgImxpbmUgJWQgaXMgdG9vIGxvbmcsIG91dHB1dCB3aWxsIGJlIHRydW5jYXRlZCIKKyN+IG1zZ3N0ciAi56ysICVkIOihjOi/h+mVv++8jOi+k+WHuuWwhuaIquefrSIKKworI34gbXNnaWQgImluY29tcGxldGUgd3JpdGUgdG8gXCIlc1wiICh3cml0dGVuICV6ZCwgZXhwZWN0ZWQgJXpkKVxuIgorI34gbXNnc3RyICLkuI3lrozmlbTlhpnlhaXigJwlc+KAnSjlhpnlhaUgJXpk77yM5bqU5Li6ICV6ZClcbiIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2ggKGxpbWl0IG9mIGlub3RpZnkgd2F0Y2hlcyB3YXMgcmVhY2hlZCkuIgorI34gbXNnc3RyICIlc++8muaXoOazlea3u+WKoCBpbm90aWZ5IOinguWvnyjovr7liLDkuoYgaW5vdGlmeSDop4Llr5/mlbDpmZDliLYp44CCIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25dIDxmaWxlPlxuIgorI34gbXNnc3RyICIgJXMgW+mAiemhuV0gPOaWh+S7tj5cbiIKKworI34gbXNnaWQgIkZvbGxvdyB0aGUgZ3Jvd3RoIG9mIGEgbG9nIGZpbGUuXG4iCisjfiBtc2dzdHIgIui/vei4quaXpeW/l+aWh+S7tuWinumVv+OAglxuIgorCisjfiBtc2dpZCAiIC1uLCAtLWxpbmVzIDxudW1iZXI+ICAgb3V0cHV0IHRoZSBsYXN0IDxudW1iZXI+IGxpbmVzXG4iCisjfiBtc2dzdHIgIiAtbiwgLS1saW5lcyA85pWw5a2XPiAgICAg6L6T5Ye65pyA5ZCO6Iul5bmy6KGMXG4iCisKKyN+IG1zZ2lkICIgLTxudW1iZXI+ICAgICAgICAgICAgICBzYW1lIGFzICctbiA8bnVtYmVyPidcbiIKKyN+IG1zZ3N0ciAiIC085pWw5a2XPiAgICAgICAgICAgICAgICDlkIzigJwtbiA85pWw5a2XPuKAnVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogdXNlIG9mICd0YWlsZicgaXMgZGVwcmVjYXRlZCwgdXNlICd0YWlsIC1mJyBpbnN0ZWFkLlxuIgorI34gbXNnc3RyICLorablkYrvvJrigJx0YWlsZuKAneW3suW6n+W8g++8jOivt+i9rOeUqOKAnHRhaWwgLWbigJ3jgIJcbiIKKworI34gbXNnaWQgIm5vIGlucHV0IGZpbGUgc3BlY2lmaWVkIgorI34gbXNnc3RyICLmnKrmjIflrprovpPlhaXmlofku7YiCisKKyN+IG1zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKKyN+IG1zZ3N0ciAiJXPvuLAg5LiN5piv5LiA5Liq5paH5Lu2IgorCisjLCBmdXp6eQorI358IG1zZ2lkICJmaWxlc3lzdGVtIGxhYmVsIgorI34gbXNnaWQgIkZpbGVzeXN0ZW0gbGFiZWw6IgorI34gbXNnc3RyICLmlofku7bns7vnu5/moIfnrb4iCisKKyN+IG1zZ2lkICIlcyBpcyBub3QgYSBibG9jayBzcGVjaWFsIGRldmljZSIKKyN+IG1zZ3N0ciAiJXMg5LiN5piv5LiA5Liq5Z2X54m55q6K6K6+5aSHIgorCisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlc++8muiuvuWkh+acquato+ehruWvuem9kCIKKworI34gbXNnaWQgIk9TLzIgaGlkZGVuIEM6IGRyaXZlIgorI34gbXNnc3RyICJPUy8yIOmakOiXj+eahCBDOiDnm5giCisKKyN+IG1zZ2lkICJmYWlsZWQgdG8gc2V0IFBBVEgiCisjfiBtc2dzdHIgIuiuvue9riBQQVRIIOWksei0pSIKKworI34gbXNnaWQgIiVkIgorI34gbXNnc3RyICIlZCIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvciBhdCBsaW5lICVkIgorI34gbXNnc3RyICIlc++8muesrCAlZCDooYzop6PmnpDlh7rplJkiCisKKyN+IG1zZ2lkICJ1c2Ugb2YgJ2tpbGwgLS1waWQnIG9wdGlvbiBhcyBjb21tYW5kIG5hbWUgaXMgZGVwcmVjYXRlZCIKKyN+IG1zZ3N0ciAi5bCG4oCca2lsbCAtLXBpZOKAnemAiemhueW9k+S9nOWRveS7pOeahOWBmuazleW3sue7j+W6n+W8gyIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRldmljZSBwYXRoIgorI34gbXNnc3RyICIlc++8muiOt+WPluiuvuWkh+i3r+W+hOWksei0pSIKKworI34gbXNnaWQgIiVzOiB1bmtub3duIGRldmljZSBuYW1lIgorI34gbXNnc3RyICIlc++8muacquefpeiuvuWkh+WQjeensCIKKworI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVz77ya6I635Y+WIGRtIOWQjeensOWksei0pSIKKworI34gbXNnaWQgInRoZSBzb3J0IGNvbHVtbiBoYXMgdG8gYmUgYW1vbmcgdGhlIG91dHB1dCBjb2x1bW5zIgorI34gbXNnc3RyICLmjpLluo/liJflv4XpobvmmK/ovpPlh7rnmoTliJciCisKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA86Lev5b6EPiAgICAgICAgcGlkIOaWh+S7tui3r+W+hFxuIgorI34gIiAtcywgLS1zb2NrZXQgPOi3r+W+hD4gICAgIOWll+aOpeWtl+i3r+W+hFxuIgorI34gIiAtVCwgLS10aW1lb3V0IDznp5LmlbA+ICAgIOaMh+WumuS4jea0u+WKqOi2heaXtlxuIgorI34gIiAtaywgLS1raWxsICAgICAgICAgICAgICDmnYDmrbvov5DooYzov5vnqItcbiIKKyN+ICIgLXIsIC0tcmFuZG9tICAgICAgICAgICAg5rWL6K+V5Z+65LqO6ZqP5py65pWw55qE55Sf5oiQ5pa55rOVXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIOa1i+ivleWfuuS6juaXtumXtOeahOeUn+aIkOaWueazlVxuIgorI34gIiAtbiwgLS11dWlkcyA85pWw5a2XPiAgICAgIOaMh+WumiB1dWlkIOWPt1xuIgorI34gIiAtUCwgLS1uby1waWQgICAgICAgICAgICDkuI3liJvlu7ogcGlkIOaWh+S7tlxuIgorI34gIiAtRiwgLS1uby1mb3JrICAgICAgICAgICDkuI3kvb/nlKjlj4wgZm9yayDlj5jmiJDlrojmiqTov5vnqItcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24g5LiN5Yib5bu65L6m5ZCs5aWX5o6l5a2XXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOS7peiwg+ivleaooeW8j+i/kOihjFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDmiZPlvIDlronpnZnmqKHlvI9cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIHBvbGljeSIKKyN+IG1zZ3N0ciAi5pyq55+l55qE6LCD5bqm562W55WlIgorCisjLCBmdXp6eQorI358IG1zZ2lkICIiCisjfnwgIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBpbiBieXRlcyB0byBkaXNjYXJkIGZyb21cbiIKKyN+fCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfnwgIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+fCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgYWxpZ25lZCBsZW5ndGggYW5kIG9mZnNldFxuIgorI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1wLCAtLXN0ZXAgPG51bT4gICAgc2l6ZSBvZiB0aGUgZGlzY2FyZCBpdGVyYXRpb25zIHdpdGhpbiB0aGUgb2Zmc2V0XG4iCisjfiAiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbywgLS1vZmZzZXQgPOaVsOWtlz4g6KaB5b+955Wl6YOo5YiG55qE5a2X6IqC5YGP56e76YePXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA85pWw5a2XPiDku47lgY/np7vkvY3nva7lvIDlp4vopoHlv73nlaXnmoTlrZfoioLplb/luqZcbiIKKyN+ICIgLXMsIC0tc2VjdXJlICAgICAgICDmiafooYzlronlhajlv73nlaVcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICDmiZPljbDlr7npvZDnmoTplb/luqblkozlgY/np7tcbiIKKworIywgZnV6enkKKyN+fCBtc2dpZCAiJXMgICUuNmYgc2Vjb25kc1xuIgorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIOenklxuIgorCisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yOiBpZ25vcmUgZW50cnkgYXQgbGluZSAlZC4iCisjfiBtc2dzdHIgIiVz77ya6Kej5p6Q5Ye66ZSZ77ya5b+955Wl56ysICVkIOihjOeahOiusOW9leOAgiIKKworI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICLpobXmlbAiCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgIuS4jeWQjCIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIuebuOWQjCIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAi6LaF5pe25YC85pyJ6K+v77yaJXMiCisKKyN+IG1zZ2lkICJleHBlY3RlZCBhIG51bWJlciwgYnV0IGdvdCAnJXMnIgorI34gbXNnc3RyICLlupTkuLrmlbDlrZfvvIzkvYbmlLbliLDkuobigJwlc+KAnSIKKworI34gbXNnaWQgImRpdmlzb3IgJyVzJyIKKyN+IG1zZ3N0ciAi6Zmk5pWw4oCcJXPigJ0iCisKKyN+IG1zZ2lkICJhcmd1bWVudCBlcnJvcjogJXMiCisjfiBtc2dzdHIgIuWPguaVsOWHuumUme+8miVzIgorCisjfiBtc2dpZCAidHR5IHBhdGggJXMgdG9vIGxvbmciCisjfiBtc2dzdHIgInR0eSDot6/lvoQgJXMg6L+H6ZW/IgorCisjfiBtc2dpZCAiTWluaW1hbCBzaXplIGlzICVqdSIKKyN+IG1zZ3N0ciAi5pyA5bCP5Li6ICVqdSIKKworI34gbXNnaWQgIlBsZWFzZSwgc2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgZGlzayBsYWJlbC4iCisjfiBtc2dzdHIgIuivt+mAieaLqeWIm+W7uuaWsOejgeebmOagh+etvueahOexu+Wei+OAgiIKKworI34gbXNnaWQgIkhlbHAgU2NyZWVuIGZvciBjZmRpc2siCisjfiBtc2dzdHIgImNmZGlzayDluK7liqnpobXpnaIiCisKKyN+IG1zZ2lkICJkaXNrIGRyaXZlLiIKKyN+IG1zZ3N0ciAi5YiG5Yy644CCIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAyMDE0IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPiAiCisjfiBtc2dzdHIgIkNvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4gIgorCisjfiBtc2dpZCAiQmFzZWQgb24gdGhlIG9yaWdpbmFsIGNmZGlzayBmcm9tIEtldmluIEUuIE1hcnRpbiAmIGFlYi4iCisjfiBtc2dzdHIgIuWfuuS6jueUsSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIg57yW5YaZ55qE5Y6fIGNmZGlza+OAgiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAg5YaZ5YWlIgorCisjfiBtc2dpZCAiRGV2aWNlIG9wZW4gaW4gcmVhZC1vbmx5IG1vZGUiCisjfiBtc2dzdHIgIuiuvuWkh+S7peWPquivu+aWueW8j+aJk+W8gCIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFvpgInpobldIOiuvuWkh1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgInpobnvvJpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICDnpoHmraLmoLzlvI/ljJblkI7nmoTmoKHpqoxcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgInN0YXQgZmFpbGVkICVzIgorI34gbXNnc3RyICJzdGF0IOWksei0pe+8miVzIgorCisjfiBtc2dpZCAiIC12ICBiZSB2ZXJib3NlXG4iCisjfiBtc2dzdHIgIiAtdiAg6K+m5bC96L6T5Ye6XG4iCisKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIG1rZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrkv6Hmga/or7flj4LpmIUgbWtmcyg4KeOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICLlj5HnjrDotoXplb/nmoQoJXp1IOWtl+iKginmlofku7blkI3igJwlc+KAneOAglxuIgorI34gIiDor7flop7liqAgbWtjcmFtZnMuYyDkuK0gTUFYX0lOUFVUX05BTUVMRU4g55qE5YC85bm26YeN5paw57yW6K+R44CC5bCG6YCA5Ye644CCIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstYyB8IC1sIGZpbGVuYW1lXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBbYmxvY2tzXSIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgWy1jIHwgLWwg5paH5Lu25ZCNXSBbLW5YWF0gWy1pWFhdIC9kZXYvbmFtZSBb5Z2X5pWwXSIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlc++8muS4jeiDveS4uui2hee6p+Wdl+WIhumFjee8k+WGsuWMuiIKKworI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVycyBmb3IgbWFwcyIKKyN+IG1zZ3N0ciAiJXPvvJrkuI3og73kuLogbWFwcyDliIbphY3nvJPlhrLljLoiCisKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICIlc++8muS4jeiDveS4uiBpbm9kZXMg5YiG6YWN57yT5Yay5Yy6IgorCisjfiBtc2dpZCAiJXMgKCVzKVxuIgorI34gbXNnc3RyICIlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVz77ya5LiN5q2j56Gu55qEIGlub2RlIOWkp+WwjyIKKworI34gbXNnaWQgIkJhZCBzd2FwIGhlYWRlciBzaXplLCBubyBsYWJlbCB3cml0dGVuLiIKKyN+IG1zZ3N0ciAi5Lqk5o2i5aS0KGhlYWRlcinlpKflsI/mnInor6/vvIzmnKrlhpnlhaXmoIfnrb7jgIIiCisKKyN+IG1zZ2lkICJzZWVrIGVycm9yIG9uICVzIC0gY2Fubm90IHNlZWsgdG8gJWx1IgorI34gbXNnc3RyICLlnKggJXMg5LiK5a6a5L2N5Ye66ZSZIC0g5peg5rOV5a6a5L2N5YiwICVsdSIKKworI34gbXNnaWQgInNlZWsgZXJyb3I6IHdhbnRlZCAweCUwOHglMDh4LCBnb3QgMHglMDh4JTA4eCIKKyN+IG1zZ3N0ciAi5a6a5L2N5Ye66ZSZ77ya5oOz6KaBIDB4JTA4eCUwOHjvvIzlvpfliLDkuoYgMHglMDh4JTA4eCIKKworI34gbXNnaWQgInJlYWQgZXJyb3Igb24gJXMgLSBjYW5ub3QgcmVhZCBzZWN0b3IgJWxsdSIKKyN+IG1zZ3N0ciAi5ZyoICVzIOS4iuWumuS9jeWHuumUmSAtIOaXoOazleWumuS9jeWIsCAlbGx1IgorCisjfiBtc2dpZCAid3JpdGUgZXJyb3Igb24gJXMgLSBjYW5ub3Qgd3JpdGUgc2VjdG9yICVsbHUiCisjfiBtc2dzdHIgIuWcqCAlcyDkuIrlrprkvY3lh7rplJkgLSDml6Dms5XlrprkvY3liLAgJWxsdSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcykiCisjfiBtc2dzdHIgIuaJk+S4jeW8gOWIhuWMuuaJh+WMuuS/neWtmOaWh+S7tiglcykiCisKKyN+IG1zZ2lkICJ3cml0ZSBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAiJXMg5YaZ5Ye66ZSZIgorCisjfiBtc2dpZCAiY2Fubm90IHN0YXQgcGFydGl0aW9uIHJlc3RvcmUgZmlsZSAoJXMpIgorI34gbXNnc3RyICLml6Dms5Ugc3RhdCDliIbljLrmgaLlpI3mlofku7YoJXMpIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmciCisjfiBtc2dzdHIgIuWIhuWMuuaBouWkjeaWh+S7tuWkp+Wwj+acieivryAtIOWwhuS4jeaBouWkjSIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKSIKKyN+IG1zZ3N0ciAi5peg5rOV5omT5byA5YiG5Yy65oGi5aSN5paH5Lu2KCVzKSIKKworI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXMiCisjfiBtc2dzdHIgIuivuyAlcyDlh7rplJkiCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBkZXZpY2UgJXMgZm9yIHdyaXRpbmciCisjfiBtc2dzdHIgIuS4jeiDveaJk+W8gCAlcyDku6XlhpnlhaUiCisKKyN+IG1zZ2lkICJlcnJvciB3cml0aW5nIHNlY3RvciAlbHUgb24gJXMiCisjfiBtc2dzdHIgIuWGmSAlMiRzIOS4iueahCAlMSRsdSDmiYfljLrlh7rplJkiCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5IgorI34gbXNnc3RyICLno4Hnm5ggJXPvvJrml6Dms5Xojrflj5blh6DkvZXlsZ7mgKciCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemUiCisjfiBtc2dzdHIgIuejgeebmCAlc++8muaXoOazleiOt+WPluWwuuWvuCIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXSIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8mui1t+eCueS4uiVsdSAtIOi/meS8vOS5juaYr+S4gOS4quWIhuWMuu+8jOiAjOS4jeaYr+aVtOS4quebmOOAguWvueWug+aJp+ihjFxuIgorI34gImZkaXNrIOWPr+iDveayoeacieaEj+S5ieOAglvlpoLmnpzmgqjnnJ/mg7Pov5nkuYjlgZrvvIzor7fkvb/nlKggLS1mb3JjZSDpgInpobldIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHMiCisjfiBtc2dzdHIgIuitpuWRiu+8mkhESU9fR0VUR0VPIOihqOaYjuaciSAlbHUg5Liq56OB5aS0IgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgc2VjdG9ycyIKKyN+IG1zZ3N0ciAi6K2m5ZGK77yaSERJT19HRVRHRU8g6KGo5piO5pyJICVsdSDkuKrmiYfljLoiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBCTEtHRVRTSVpFL0hESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IGN5bGluZGVycyIKKyN+IG1zZ3N0ciAi6K2m5ZGK77yaQkxLR0VUU0laRS9IRElPX0dFVEdFTyDooajmmI7mnIkgJWx1IOS4quafsemdoiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muaJh+WMuuaVsOW8guW4uCglbHUpIC0g6YCa5bi45pyA5aSa5pivIDYzXG4iCisjfiAi6L+Z5Lya57uZ5omA5pyJ5L2/55SoIEMvSC9TIOWcsOWdgOeahOi9r+S7tuW4puadpemXrumimOOAgiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbHUgY3lsaW5kZXJzLCAlbHUgaGVhZHMsICVsdSBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLno4Hnm5ggJXPvvJolbHUg5Liq5p+x6Z2i77yMJWx1IOS4quejgeWktO+8jCVsdSDkuKrmiYfljLov56OB6YGTXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGhlYWQ6ICVsdSAoc2hvdWxkIGJlIGluIDAtJWx1KSIKKyN+IG1zZ3N0ciAi5YiG5Yy6ICUyJHMg55qEICUxJHMg55qE56OB5aS05pWw5pyJ6K+v77yaJTMkbHUgKOW6lOWcqCAwLSU0JGx1IOiMg+WbtCkiCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIHNlY3RvcjogJWx1IChzaG91bGQgYmUgaW4gMS0lbHUpIgorI34gbXNnc3RyICLliIbljLogJTIkcyDnmoQgJTEkcyDnmoTmiYfljLrmlbDmnInor6/vvJolMyRsdSAo5bqU5ZyoIDEtJTQkbHUg6IyD5Zu0KSIKKworI34gbXNnaWQgIiVzIG9mIHBhcnRpdGlvbiAlcyBoYXMgaW1wb3NzaWJsZSB2YWx1ZSBmb3IgY3lsaW5kZXJzOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSkiCisjfiBtc2dzdHIgIuWIhuWMuiAlMiRzIOeahCAlMSRzIOeahOafsemdouaVsOacieivr++8miUzJGx1ICjlupTlnKggMC0lNCRsdSDojIPlm7QpIgorCisjfiBtc2dpZCAiUmUtcmVhZGluZyB0aGUgcGFydGl0aW9uIHRhYmxlIC4uLlxuIgorI34gbXNnc3RyICLmraPlnKjph43mlrDor7vlj5bliIbljLrooaguLi47XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGNvbW1hbmQgdG8gcmUtcmVhZCB0aGUgcGFydGl0aW9uIHRhYmxlIGZhaWxlZC5cbiIKKyN+ICJSdW4gcGFydHByb2JlKDgpLCBrcGFydHgoOCkgb3IgcmVib290IHlvdXIgc3lzdGVtIG5vdyxcbiIKKyN+ICJiZWZvcmUgdXNpbmcgbWtmcyIKKyN+IG1zZ3N0ciAiIgorI34gIumHjeaWsOivu+WPluWIhuWMuuihqOeahOWRveS7pOWksei0peOAglxuIgorI34gIuWcqOS9v+eUqCBta2ZzIOWJje+8jOivt+WFiOi/kOihjCBwYXJ0cHJvYmUoOCnjgIFrcGFydHgoOCkg5oiWXG4iCisjfiAi6YeN5ZCv57O757uf44CCIgorCisjfiBtc2dpZCAiRXJyb3IgY2xvc2luZyAlcyIKKyN+IG1zZ3N0ciAi5YWz6ZetICVzIOWHuumUmSIKKworI34gbXNnaWQgIiVzOiBubyBzdWNoIHBhcnRpdGlvblxuIgorI34gbXNnc3RyICIlc++8muayoeacieatpOWIhuWMulxuIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGZvcm1hdCAtIHVzaW5nIHNlY3RvcnMiCisjfiBtc2dzdHIgIuaXoOazleivhuWIq+eahOagvOW8jyAtIOWwhuS9v+eUqOaJh+WMuiIKKworI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXMiCisjfiBtc2dzdHIgIuacquWunueOsOeahOagvOW8jyAtIOWwhuS9v+eUqCAlcyIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgIuaJh+WMuiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogY3lsaW5kZXJzIG9mICVsdSBieXRlcywgYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWNleS9je+8miVsdSDnmoTmn7HpnaLvvIwxMDI05a2X6IqC55qE5Z2X77yM5LuOICVkIOW8gOWni+iuoeeul1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICAgIEVuZCAgICNjeWxzICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIOiuvuWkhyAgIOWQr+WKqCDlvIDlpLQgICAgICDnu5PmnZ8gICPmn7HpnaIgICAgI+WdlyAgICAgICBJZCAg57O757ufXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IHNlY3RvcnMgb2YgNTEyIGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLljZXkvY3vvJo1MTLlrZfoioLnmoTmiYfljLrvvIzku44gJWQg5byA5aeL6K6h566XXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICDorr7lpIcgICDlkK/liqggICAg5byA5aS0ICAgICAgICDnu5PmnZ8gICPmiYfljLogICAgIElkICDns7vnu59cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVbml0czogYmxvY2tzIG9mIDEwMjQgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWNleS9je+8mjEwMjTlrZfoioLnmoTlnZfvvIzku44gJWQg5byA5aeL6K6h566XXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgIFN0YXJ0ICAgICAgIEVuZCAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICDorr7lpIcgICDlkK/liqggICDlvIDlpLQgICAgICAgIOe7k+adnyAgICPlnZcgICAgICAgSWQgIOezu+e7n1xuIgorCisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiAxTWlCID0gMTAyNCoxMDI0IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Y2V5L2N77yaMU1pQiA9IDEwMjQqMTAyNCDlrZfoioLvvIwxMDI05a2X6IqC55qE5Z2X77yM5LuOICVkIOW8gOWni+iuoeeul1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiICAgRGV2aWNlIEJvb3QgU3RhcnQgICBFbmQgICAgTWlCICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIOiuvuWkhyAgIOWQr+WKqCDlvIDlpLQgICAg57uT5p2fICAgTWlCICAgICPlnZcgICAgICAgSWQgIOezu+e7n1xuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx05byA5aS077yaKGMsaCxzKSDlupTkuLogKCVsZCwlbGQsJWxkKSDmib7liLDnmoTkuLogKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdOe7k+adn++8mihjLGgscykg5bqU5Li6ICglbGQsJWxkLCVsZCkg5om+5Yiw55qE5Li6ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAi5YiG5Yy657uT5p2f5Zyo5p+x6Z2iICVsZO+8jOi2hei/h+S6huejgeebmOeahOacq+WwvlxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IFRoZSBwYXJ0aXRpb24gdGFibGUgbG9va3MgbGlrZSBpdCB3YXMgbWFkZVxuIgorI34gIiAgZm9yIEMvSC9TPSovJWxkLyVsZCAoaW5zdGVhZCBvZiAlbGQvJWxkLyVsZCkuXG4iCisjfiAiRm9yIHRoaXMgbGlzdGluZyBJJ2xsIGFzc3VtZSB0aGF0IGdlb21ldHJ5LiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muWIhuWMuuihqOS8vOS5juaYr+S4uiBDL0gvUz0qLyVsZC8lbGQg5Yi25L2c55qEXG4iCisjfiAiKOiAjOmdniAlbGQvJWxkLyVsZCnjgIJcbiIKKyN+ICLlr7nov5nmrKHliJfooajnqIvluo/lsIbkvb/nlKjor6Xlh6DkvZXlsZ7mgKfjgIIiCisKKyN+IG1zZ2lkICJubyBwYXJ0aXRpb24gdGFibGUgcHJlc2VudCIKKyN+IG1zZ3N0ciAi5LiN5a2Y5Zyo5YiG5Yy66KGoIgorCisjfiBtc2dpZCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb24gZGVmaW5lZCIKKyN+IG1zZ2lkX3BsdXJhbCAic3RyYW5nZSwgb25seSAlZCBwYXJ0aXRpb25zIGRlZmluZWQiCisjfiBtc2dzdHJbMF0gIuW8guW4uO+8jOWPquWumuS5ieS6hiAlZCDkuKrliIbljLoiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eSIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Yy6ICVzIOWkp+Wwj+S4uiAwIOS9huacquagh+iusOS4uiDnqboiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGUiCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWMuiAlcyDlpKflsI/kuLogMCDlubbkuJTmoIforrDkuoYg5Y+v5ZCv5YqoIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnQiCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWMuiAlcyDlpKflsI/kuLogMCDkuJTotbflp4vkvY3nva7kuI3kuLogMCIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbnMgJXMgYW5kICVzIG92ZXJsYXAiCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWMuiAlcyDlkowgJXMg5pyJ6YeN5Y+gIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBjb250YWlucyBwYXJ0IG9mIHRoZSBwYXJ0aXRpb24gdGFibGUgKHNlY3RvciAlbGx1KSxcbiIKKyN+ICJhbmQgd2lsbCBkZXN0cm95IGl0IHdoZW4gZmlsbGVkIgorI34gbXNnc3RyICLorablkYrvvJrliIbljLogJXMg5YyF5ZCr6YOo5YiG5YiG5Yy66KGoKCVsbHUp77yM5aGr5YWF5Lya56C05Z2P5a6D44CCIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMCIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Yy6ICVzIOi1t+Wni+S6juaJh+WMuiAwIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGV4dGVuZHMgcGFzdCBlbmQgb2YgZGlzayIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Yy6ICVzIOi2heWHuuS6huejgeebmOe7iOeCuSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gIndoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSAlbGx1IGJ5dGVzIGxpbWl0IGltcG9zZWRcbiIKKyN+ICJieSB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3IgJWQtYnl0ZSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5YiG5Yy6ICVzIOWkp+Wwj+S4uiAlZC4lZCBUQiAoJWxsdSDlrZfoioIp77yM5aSn5LqOXG4iCisjfiAiJWxsdSDlrZfoioIoRE9TIOWIhuWMuuihqOWvuSAlZC3lrZfoioLmiYfljLrnmoTlvLrliLbpmZDlrprlgLwpIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBzdGFydHMgYXQgc2VjdG9yICVsbHUgKCVkLiVkIFRCIGZvciAlZC1ieXRlIHNlY3RvcnMpLFxuIgorI34gIndoaWNoIGV4Y2VlZHMgdGhlIERPUyBwYXJ0aXRpb24gdGFibGUgbGltaXQgb2YgJWxsdSBzZWN0b3JzIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5YiG5Yy6ICVzIOi1t+eCueS4uuesrCAlbGx1IOaJh+WMuiAoJWQuJWQgVELvvIzlr7nkuo4gJWQt5a2X6IqC5omH5Yy6Ke+8jFxuIgorI34gIui/mei2hei/h+S6hiBET1Mg5YiG5Yy66KGoICVsbHUg5Liq5omH5Yy655qE6ZmQ5Yi2IgorCisjfiBtc2dpZCAiIgorI34gIkFtb25nIHRoZSBwcmltYXJ5IHBhcnRpdGlvbnMsIGF0IG1vc3Qgb25lIGNhbiBiZSBleHRlbmRlZFxuIgorI34gIiAoYWx0aG91Z2ggdGhpcyBpcyBub3QgYSBwcm9ibGVtIHVuZGVyIExpbnV4KSIKKyN+IG1zZ3N0ciAiIgorI34gIuS4u+WIhuWMuuS4reWPquacieS4gOS4quWPr+iuvuS4uuaJqeWxleWIhuWMulxuIgorI34gIijlsL3nrqEgTGludXgg5LiL5LiN5a2Y5Zyo6L+Z5Liq6Zeu6aKYKSIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICLorablkYrvvJrliIbljLogJXMg5pyq6LW35aeL5LqO5p+x6Z2i6L6555WM44CCIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5IgorI34gbXNnc3RyICLorablkYrvvJrliIbljLogJXMg5pyq57uT5p2f5LqO5p+x6Z2i6L6555WM44CCIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG1vcmUgdGhhbiBvbmUgcHJpbWFyeSBwYXJ0aXRpb24gaXMgbWFya2VkIGJvb3RhYmxlIChhY3RpdmUpXG4iCisjfiAiVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sIGJ1dCB0aGUgRE9TIE1CUiB3aWxsIG5vdCBib290IHRoaXMgZGlzay4iCisjfiBtc2dzdHIgIiIKKyN+ICLotoXov4fkuIDkuKrkuLvliIbljLrooqvmoIforrDkuLog5Y+v5ZCv5YqoKOa0u+WKqCnjgILov5nlr7kgTElMTyDmsqHmnInlvbHlk43vvIzkvYYgXG4iCisjfiAiRE9TIE1CUiDlsIbml6Dms5XlkK/liqjor6Xno4Hnm5jjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogdXN1YWxseSBvbmUgY2FuIGJvb3QgZnJvbSBwcmltYXJ5IHBhcnRpdGlvbnMgb25seVxuIgorI34gIkxJTE8gZGlzcmVnYXJkcyB0aGUgYGJvb3RhYmxlJyBmbGFnLiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8mumAmuW4uOWPquiDveS7juS4u+WIhuWMuuWQr+WKqFxuIgorI34gIkxJTE8g5Lya5b+955Wl4oCc5Y+v5ZCv5Yqo4oCd5qCH5b+X44CCIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5rKh5pyJ5LiA5Liq5Li75YiG5Yy66KKr5qCH6K6w5Li6IOWPr+WQr+WKqCjmtLvliqgp44CC6L+Z5a+5IExJTE8g5rKh5pyJ5b2x5ZON77yM5L2GIFxuIgorI34gIkRPUyBNQlIg5bCG5peg5rOV5ZCv5Yqo6K+l56OB55uY44CCIgorCisjfiBtc2dpZCAic3RhcnQiCisjfiBtc2dzdHIgIui1t+eCuSIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpIgorI34gbXNnc3RyICLliIbljLogJXPvvJrotbfngrnvvJooYyxoLHMpIOW6lOS4uiAoJWxkLCVsZCwlbGQpIOaJvuWIsOeahOS4uiAoJWxkLCVsZCwlbGQpIgorCisjfiBtc2dpZCAiZW5kIgorI34gbXNnc3RyICLmnKvlsL4iCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXM6IGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZCkiCisjfiBtc2dzdHIgIuWIhuWMuiAlc++8mue7iOeCue+8mihjLGgscykg5bqU5Li6ICglbGQsJWxkLCVsZCkg5om+5Yiw55qE5Li6ICglbGQsJWxkLCVsZCkiCisKKyN+IG1zZ2lkICJwYXJ0aXRpb24gJXMgZW5kcyBvbiBjeWxpbmRlciAlbGQsIGJleW9uZCB0aGUgZW5kIG9mIHRoZSBkaXNrIgorI34gbXNnc3RyICLliIbljLogJXMg57uT5p2f5LqOICVsZO+8jOi2heWHuuS6huejgeebmOeahOacq+WwviIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5omp5bGV5YiG5Yy655qE6LW354K55LuOICVsbGQg56e75Yiw5LqGICVsbGRcbiIKKyN+ICIo5LuF55So5LqO5YiX6KGo44CC5LiN5pS55Y+Y5YW25YaF5a6544CCKSIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBleHRlbmRlZCBwYXJ0aXRpb24gZG9lcyBub3Qgc3RhcnQgYXQgYSBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+ICJET1MgYW5kIExpbnV4IHdpbGwgaW50ZXJwcmV0IHRoZSBjb250ZW50cyBkaWZmZXJlbnRseS4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrmianlsZXliIbljLrmnKrlvIDlp4vkuo7mn7HpnaLovrnnlYzlpITjgIJcbiIKKyN+ICJET1Mg5ZKMIExpbnV4IOWvueWFtuWGheWuueeahOino+mHiuS8muacieWIhuatp+OAgiIKKworI34gbXNnaWQgIkVSUk9SOiBzZWN0b3IgJWxsdSBkb2VzIG5vdCBoYXZlIGFuIG1zZG9zIHNpZ25hdHVyZSIKKyN+IG1zZ3N0ciAi6ZSZ6K+v77ya5omH5Yy6ICVsbHUg5rKh5pyJIG1zZG9zIOetvuWQjSIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpIgorI34gbXNnc3RyICLliIbljLrov4flpJogLSDlsIblv73nlaXotoXov4cgbnIgKCV6dSkg55qE6YKj5Lqb5YiG5Yy6IgorCisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zPyIKKyN+IG1zZ3N0ciAi5YiG5Yy65qCR77yfIgorCisjfiBtc2dpZCAiZGV0ZWN0ZWQgRGlzayBNYW5hZ2VyIC0gdW5hYmxlIHRvIGhhbmRsZSB0aGF0IgorI34gbXNnc3RyICLmo4DmtYvliLDno4Hnm5jnrqHnkIblmaggLSDml6Dms5XlpITnkIblroMiCisKKyN+IG1zZ2lkICJETTYgc2lnbmF0dXJlIGZvdW5kIC0gZ2l2aW5nIHVwIgorI34gbXNnc3RyICLmib7liLAgRE02IOetvuWQjSAtIOWwhuaUvuW8gyIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/IgorI34gbXNnc3RyICLkuI3lr7nlkYAuLi7vvIzkuIDkuKrlpKflsI/kuLogMCDnmoTmianlsZXliIbljLo/IgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD8iCisjfiBtc2dzdHIgIuS4jeWvueWRgC4uLu+8jOS4gOS4quWkp+Wwj+S4uiAwIOeahCBCU0Qg5YiG5Yy6PyIKKworI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIuaMh+WumuS6hiAtbiDmoIflv5fvvJrmnKrlgZrmm7TmlLkiCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIuS/neWtmOaXp+aJh+WMuuWksei0pSAtIOWwhuS4reatolxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlcyIKKyN+IG1zZ3N0ciAi5YaZICVzIOS4iueahOWIhuWMuuWksei0pSIKKworI34gbXNnaWQgImxvbmcgb3IgaW5jb21wbGV0ZSBpbnB1dCBsaW5lIC0gcXVpdHRpbmciCisjfiBtc2dzdHIgIui+k+WFpeihjOWkqumVv+aIluS4jeWujOaVtCAtIOWwhumAgOWHuiIKKworI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgIui+k+WFpemUmeivr++8miVzIOWtl+auteWQjuW6lOS4uuKAnD3igJ0iCisKKyN+IG1zZ2lkICJpbnB1dCBlcnJvcjogdW5leHBlY3RlZCBjaGFyYWN0ZXIgJWMgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgIui+k+WFpemUmeivr++8miUyJHMg5a2X5q615ZCO5Ye6546w5byC5bi45a2X56ymICUxJGMiCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgaW5wdXQ6ICVzIgorI34gbXNnc3RyICLml6Dms5Xor4bliKvnmoTovpPlhaXvvJolcyIKKworI34gbXNnaWQgIm51bWJlciB0b28gYmlnIgorI34gbXNnc3RyICLmlbDlrZfov4flpKciCisKKyN+IG1zZ2lkICJ0cmFpbGluZyBqdW5rIGFmdGVyIG51bWJlciIKKyN+IG1zZ3N0ciAi5pWw5a2X5ZCO5pyJ5Z6D5Zy+5YaF5a65IgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3IiCisjfiBtc2dzdHIgIuayoeacieepuumXtOaUvue9ruWIhuWMuuaPj+i/sOespiIKKworI34gbXNnaWQgImNhbm5vdCBidWlsZCBzdXJyb3VuZGluZyBleHRlbmRlZCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuaXoOazleWIm+W7uueOr+e7leaJqeWxleWIhuWMuiIKKworI34gbXNnaWQgInRvbyBtYW55IGlucHV0IGZpZWxkcyIKKyN+IG1zZ3N0ciAi6L6T5YWl5a2X5q616L+H5aSaIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZSIKKyN+IG1zZ3N0ciAi56m66Ze05LiN6LazIgorCisjfiBtc2dpZCAiSWxsZWdhbCB0eXBlIgorI34gbXNnc3RyICLpnZ7ms5XnsbvlnosiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBnaXZlbiBzaXplICglbGx1KSBleGNlZWRzIG1heCBhbGxvd2FibGUgc2l6ZSAoJWxsdSkiCisjfiBtc2dzdHIgIuitpuWRiu+8muaMh+WumuWkp+WwjyglbGx1Kei2hei/h+S6huacgOWkp+WFgeiuuOWkp+WwjyglbGx1KSIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBwYXJ0aXRpb24gc3RhcnQgKGVhcmxpZXN0ICVsbHUpIgorI34gbXNnc3RyICLorablkYrvvJrliIbljLrotbfngrnmnInor68o5pyA5pepICVsbHUpIgorCisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGJvb3RhYmxlIGZsYWcgLSBjaG9vc2UgLSBvciAqIgorI34gbXNnc3RyICLml6Dms5Xor4bliKvnmoTlj6/lkK/liqjmoIflv5cgLSDpgInmi6kgLSDmiJYgKiIKKworI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj8iCisjfiBtc2dzdHIgIuS4jeWujOaVtOeahCBjLGgscyDor7TmmI7vvJ8iCisKKyN+IG1zZ2lkICJiYWQgaW5wdXQiCisjfiBtc2dzdHIgIui+k+WFpemUmeivryIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIuWIhuWMuui/h+WkmiIKKworI34gbXNnaWQgIiIKKyN+ICJJbnB1dCBpbiB0aGUgZm9sbG93aW5nIGZvcm1hdDsgYWJzZW50IGZpZWxkcyBnZXQgYSBkZWZhdWx0IHZhbHVlLlxuIgorI34gIjxzdGFydD4gPHNpemU+IDx0eXBlIFtFLFMsTCxYLGhleF0+IDxib290YWJsZSBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAiVXN1YWxseSB5b3Ugb25seSBuZWVkIHRvIHNwZWNpZnkgPHN0YXJ0PiBhbmQgPHNpemU+IChhbmQgcGVyaGFwcyA8dHlwZT4pLiIKKyN+IG1zZ3N0ciAiIgorI34gIuaMieS7peS4i+agvOW8j+i+k+WFpe+8jOacquaMh+WumueahOWtl+auteWwhuS7pem7mOiupOWAvOWhq+WFheOAglxuIgorI34gIjzotbflp4s+IDzlpKflsI8+IDznsbvlnosgW0UsUyxMLFgsaGV4XT4gPOWPr+WQr+WKqCBbLSwqXT4gPGMsaCxzPiA8YyxoLHM+XG4iCisjfiAi6YCa5bi45oKo5Y+q6aG75oyH5a6aIDzotbflp4s+IOWSjCA85aSn5bCPPiAo5Y+v6IO96L+Y6KaB5oyH5a6aIDznsbvlnos+KeOAgiIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gPGRldmljZT4uLi5cbiIKKyN+IG1zZ3N0ciAiICVzIFvpgInpobldIDzorr7lpIc+Li4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1zLCAtLXNob3ctc2l6ZSAgICAgICAgICAgbGlzdCBzaXplIG9mIGEgcGFydGl0aW9uXG4iCisjfiAiIC1jLCAtLWlkICAgICAgICAgICAgICAgICAgY2hhbmdlIG9yIHByaW50IHBhcnRpdGlvbiBJZFxuIgorI34gIiAgICAgLS1jaGFuZ2UtaWQgICAgICAgICAgIGNoYW5nZSBJZFxuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIHByaW50IElkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICDliJflh7rmr4/kuKrliIbljLrnmoTlpKflsI9cbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICDmm7TmlLnmiJbmiZPljbDliIbljLogSWRcbiIKKyN+ICIgICAgIC0tY2hhbmdlLWlkICAgICAgICAgICDmm7TmlLkgSWRcbiIKKyN+ICIgICAgIC0tcHJpbnQtaWQgICAgICAgICAgICDmiZPljbAgSWRcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0XG4iCisjfiAiIC1pLCAtLWluY3JlbWVudCAgICAgICAgICAgbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXR0ZXI+ICAgICAgIHVuaXRzIHRvIGJlIHVzZWQ7IDxsZXR0ZXI+IGNhbiBiZSBvbmUgb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgKHNlY3RvcnMpLCBDIChjeWxpbmRlcnMpLCBCIChibG9ja3MpLCBvciBNIChNQilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIOWIl+WHuuavj+S4quiuvuWkh+eahOWIhuWMulxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIOWQjOS4iu+8jOS9huS7pemAguWQiOeojeWQjui+k+WFpeeahOagvOW8j+WIl+WHulxuIgorI34gIiAtaSwgLS1pbmNyZW1lbnQgICAgICAgICAgIOe7meafsemdouetieiuoeaVsOaXtuS7jiAxIOiAjOmdnuS7jiAwIOW8gOWni1xuIgorI34gIiAtdSwgLS11bml0IDzlrZfmr40+ICAgICAgICAg6KaB5L2/55So55qE5Y2V5L2N77ybPOWtl+avjT4g5Y+v5Lul5piv5Lul5LiL5LmL5LiAXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTKOaJh+WMuinvvIxDKOafsemdoinvvIxCKOWdlynmiJYgTShNQilcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAg6aKE55WZ6YCJ6aG577yM55uu5YmN5rKh5pyJ5L2c55SoXG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAg5YiX5Ye65bey55+l55qE5YiG5Yy657G75Z6LXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAg5LiOIERPUyDlhbzlrrnvvJvkvJrmtarotLnkuIDngrnnqbrpl7RcbiIKKyN+ICIgLUUsIC0tRE9TLWV4dGVuZGVkICAgICAgICDkuI4gRE9TIOaJqeWxleWIhuWMuuWFvOWuuVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIOiuqeWGheaguOmHjeaWsOivu+WPluWIhuWMuuihqFxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtTiA8bnVtYmVyPiAgICAgICAgICAgICAgIGNoYW5nZSBvbmx5IHRoZSBwYXJ0aXRpb24gd2l0aCB0aGlzIDxudW1iZXI+XG4iCisjfiAiIC1uICAgICAgICAgICAgICAgICAgICAgICAgZG8gbm90IGFjdHVhbGx5IHdyaXRlIHRvIGRpc2tcbiIKKyN+ICIgLU8gPGZpbGU+ICAgICAgICAgICAgICAgICBzYXZlIHRoZSBzZWN0b3JzIHRoYXQgd2lsbCBiZSBvdmVyd3JpdHRlbiB0byA8ZmlsZT5cbiIKKyN+ICIgLUkgPGZpbGU+ICAgICAgICAgICAgICAgICByZXN0b3JlIHNlY3RvcnMgZnJvbSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTiA85pWw5a2XPiAgICAgICAgICAgICAgICAg5Y+q5pu05pS55YiG5Yy65Y+35Li6IDzmlbDlrZc+IOeahOWIhuWMulxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIOW5tuS4jeecn+eahOWGmeWFpeejgeebmFxuIgorI34gIiAtTyA85paH5Lu2PiAgICAgICAgICAgICAgICAg5bCG6KaB6KaG55uW55qE5YiG5Yy65L+d5a2Y5YiwIDzmlofku7Y+IOS4rVxuIgorI34gIiAtSSA85paH5Lu2PiAgICAgICAgICAgICAgICAg5LuOIDzmlofku7Y+IOaBouWkjeaJh+WMulxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtViwgLS12ZXJpZnkgICAgICAgICAgICAgIGNoZWNrIHRoYXQgdGhlIGxpc3RlZCBwYXJ0aXRpb25zIGFyZSByZWFzb25hYmxlXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAg5qOA5p+l5YiX5Ye65omH5Yy655qE5pyJ5pWI5oCnXG4iCisjfiAiIC12LCAtLXZlcnNpb24gICAgICAgICAgICAg5pi+56S654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGFuZ2Vyb3VzIG9wdGlvbnM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLljbHpmanpgInpobnvvJpcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBwYXJ0aXRpb24gaXMgaW4gdXNlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZyBtZXNzYWdlc1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXhcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIOemgeatouaJgOacieS4gOiHtOaAp+ajgOafpVxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIOS4jeajgOafpeWIhuWMuuaYr+WQpuato+WcqOS9v+eUqFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIOaKkeWItuitpuWRiua2iOaBr+i+k+WHulxuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIOS4jeaKpeWRiuS4jiBMaW51eCDml6DlhbPnmoTkuovmg4VcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAg5omT5Y2w5YaF5qC45qOA5rWL5Yiw55qE5Yeg5L2V5bGe5oCnXG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAg5omT5Y2w5LuO5YiG5Yy66KGo5o6o5rWL5Ye655qE5Yeg5L2V5bGe5oCnXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1BLCAtLWFjdGl2YXRlWz08ZGV2aWNlPl0gYWN0aXZhdGUgdGhlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2aWNlPl0gICBzZXQgcGFydGl0aW9uIGFzIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9POiuvuWkhz5dICAg5r+A5rS7IOWPr+WQr+WKqCDmoIflv5dcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz086K6+5aSHPl0gICAgIOWPlua2iOWIhuWMuumakOiXj1xuIgorI34gIiAteCwgLS1zaG93LWV4dGVuZGVkICAgICAgIOi+k+WHuuaXtuS5n+WIl+WHuuaJqeWxleWIhuWMuu+8jFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg5oiW6L6T5YWl5pe26K+35rGC5o+Q5L6b5a6D5Lus55qE5o+P6L+w56ymXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgZG8gbm90IGFsbG9jYXRlIHRoZSBsYXN0IGN5bGluZGVyXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLWxlYXZlLWxhc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIOS4jeWIhumFjeacgOWQjuS4gOS4quafsemdolxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIOWQjCAtLWxlYXZlLWxhc3RcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0taW4tb3JkZXIgICAgICAgICAgICBwYXJ0aXRpb25zIGFyZSBpbiBvcmRlclxuIgorI34gIiAgICAgLS1ub3QtaW4tb3JkZXIgICAgICAgIHBhcnRpdGlvbnMgYXJlIG5vdCBpbiBvcmRlclxuIgorI34gIiAgICAgLS1pbnNpZGUtb3V0ZXIgICAgICAgIGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiAiICAgICAtLW5vdC1pbnNpZGUtb3V0ZXIgICAgbm90IGFsbCBsb2dpY2FscyBpbnNpZGUgb3V0ZXJtb3N0IGV4dGVuZGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0taW4tb3JkZXIgICAgICAgICAgICDliIbljLrmjInpobrluo9cbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICDliIbljLrkuI3mjInpobrluo9cbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICDmiYDmnInpgLvovpHliIbljLrkvY3kuo7mnIDlpJbnmoTmianlsZXliIbljLrlhoVcbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICDkuI3opoHmsYLmiYDmnInpgLvovpHliIbljLrkvY3kuo7mnIDlpJbnmoTmianlsZXliIbljLrlhoVcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICDmr4/kuKrliIbljLrkuI7miYDmnInlhbbku5bliIbljLrkuI3nm7jkuqRcbiIKKyN+ICIgICAgIC0tY2hhaW5lZCAgICAgICAgICAgICDkuI4gbmVzdGVkIOebuOS8vO+8jOS9huaJqeWxleWIhuWMuuWPr+S7pei2heeVjFxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIOWQhOWIhuWMuuS6kuS4jeebuOS6pFxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk92ZXJyaWRlIHRoZSBkZXRlY3RlZCBnZW9tZXRyeSB1c2luZzpcbiIKKyN+ICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICBzZXQgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMgdG8gdXNlXG4iCisjfiAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiAiIC1TLCAtLXNlY3RvcnMgPG51bWJlcj4gICAgc2V0IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyB0byB1c2VcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOS7peS4i+mAiemhueimhuebluajgOa1i+WIsOeahOWHoOS9leWxnuaAp++8mlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPOaVsOWtlz4gICAg6K6+572u6KaB5L2/55So55qE5p+x6Z2i5pWwXG4iCisjfiAiIC1ILCAtLWhlYWRzIDzmlbDlrZc+ICAgICAgICDorr7nva7opoHkvb/nlKjnmoTno4HlpLTmlbBcbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA85pWw5a2XPiAgICAgIOiuvue9ruimgeS9v+eUqOeahOaJh+WMuuaVsG5cbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlICAgICAgICAgICAgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzJXNkZXZpY2UgICAgICAgICAgICDliJflh7rorr7lpIfkuIrnmoTmtLvliqjliIbljLpcbiIKKworI34gbXNnaWQgIiAlcyVzZGV2aWNlIG4xIG4yIC4uLiAgYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiICVzJXPorr7lpIcgbjEgbjIgLi4uICDmv4DmtLvliIbljLogbjEgLi4uLCDlj5bmtojmv4DmtLvlhbbku5bliIbljLpcbiIKKworI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIuaXoOaViOeahCDliIbljLrmlbAg5Y+C5pWwIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXNcbiIKKyN+IG1zZ3N0ciAi5omT5LiN5byAICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgIueUqOazle+8mnNmZGlzayAtLXByaW50LWlkIOiuvuWkhyDliIbljLrlj7ciCisKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICLnlKjms5XvvJpzZmRpc2sgLS1jaGFuZ2UtaWQg6K6+5aSHIOWIhuWMuuWPtyBJZCIKKworI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBbSWRdIgorI34gbXNnc3RyICLnlKjms5XvvJpzZmRpc2sgLS1pZCDorr7lpIcg5YiG5Yy65Y+3IFtJZF0iCisKKyN+IG1zZ2lkICJjYW4gc3BlY2lmeSBvbmx5IG9uZSBkZXZpY2UgKGV4Y2VwdCB3aXRoIC1sIG9yIC1zKSIKKyN+IG1zZ3N0ciAi5Y+q6IO95oyH5a6a5LiA5Y+w6K6+5aSHKOmZpOmdnuaMh+WumiAtbCDmiJYgLXMpIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAi5LiN6IO95Lul6K+75YaZ5pa55byP5omT5byAICVzIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgZm9yIHJlYWRpbmciCisjfiBtc2dzdHIgIuS4jeiDveS7peivu+aWueW8j+aJk+W8gCAlcyIKKworI34gbXNnaWQgIiVzOiBPSyIKKyN+IG1zZ3N0ciAiJXPvvJpPSyIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVz77yaJWxkIOS4quafsemdou+8jCVsZCDkuKrno4HlpLTvvIwlbGQg5Liq5omH5Yy6L+ejgemBk1xuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MCIKKyN+IG1zZ3N0ciAi6ZSZ6K+v55qEIOa0u+WKqCDlrZfoioLvvJoweCV4IOiAjOmdniAweDgwIgorCisjfiBtc2dpZCAiRG9uZSIKKyN+IG1zZ3N0ciAi5a6M5oiQIgorCisjfiBtc2dpZCAiIgorI34gIllvdSBoYXZlICVkIGFjdGl2ZSBwcmltYXJ5IHBhcnRpdGlvbnMuIFRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLFxuIgorI34gImJ1dCB0aGUgRE9TIE1CUiB3aWxsIG9ubHkgYm9vdCBhIGRpc2sgd2l0aCAxIGFjdGl2ZSBwYXJ0aXRpb24uIgorI34gbXNnc3RyICIiCisjfiAi5oKo5pyJICVkIOS4qua0u+WKqOeahOS4u+WIhuWMuuOAgui/meWvuSBMSUxPIOayoeacieW9seWTje+8jOS9hiBET1MgTUJSIOWPquiDveWQr+WKqOW4puS4gOS4qua0u+WKqOWIhuWMulxuIgorI34gIueahOejgeebmOOAgiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgIuWIhuWMuiAlcyDmoIfor4bkuLogJXjvvIzkuI3mmK/pmpDol4/nmoQiCisKKyN+IG1zZ2lkICJCYWQgSWQgJWx4IgorI34gbXNnc3RyICLplJnor6/nmoQgSWQgJWx4IgorCisjfiBtc2dpZCAiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UuIgorI34gbXNnc3RyICLmraTliIbljLrmraPlnKjkvb/nlKjkuK3jgIIiCisKKyN+IG1zZ2lkICJGYXRhbCBlcnJvcjogY2Fubm90IGZpbmQgJXMiCisjfiBtc2dzdHIgIuiHtOWRvemUmeivr++8muaJvuS4jeWIsCAlcyIKKworI34gbXNnaWQgIldhcm5pbmc6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAi6K2m5ZGK77yaJXMg5LiN5piv5LiA5Liq5Z2X6K6+5aSHIgorCisjfiBtc2dpZCAiT0siCisjfiBtc2dzdHIgIuato+W4uCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBleGlzdCwgY2Fubm90IGNoYW5nZSBpdCIKKyN+IG1zZ3N0ciAi5YiG5Yy6ICVkIOS4jeWtmOWcqO+8jOaXoOazleabtOaUueWugyIKKworI34gbXNnaWQgIiIKKyN+ICJJIGRvbid0IGxpa2UgdGhlc2UgcGFydGl0aW9ucyAtIG5vdGhpbmcgY2hhbmdlZC5cbiIKKyN+ICIoSWYgeW91IHJlYWxseSB3YW50IHRoaXMsIHVzZSB0aGUgLS1mb3JjZSBvcHRpb24uKSIKKyN+IG1zZ3N0ciAiIgorI34gIuaIkeS4jeaEv+i/meagt+WIhuWMuiAtIOacquWBmuabtOaUueOAglxuIgorI34gIijlpoLmnpzmgqjnnJ/nmoTmg7Pov5nmoLflgZrvvIzlj6/kvb/nlKggLS1mb3JjZSDpgInpobnjgIIpIgorCisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBObyIKKyN+IG1zZ3N0ciAi5oiR5LiN5oS/6L+Z5qC35YGaIC0g5bu66K6u5oKo5Y+W5raIIgorCisjfiBtc2dpZCAiQXJlIHlvdSBzYXRpc2ZpZWQgd2l0aCB0aGlzPyBbeW5xXSAiCisjfiBtc2dzdHIgIui/meagt+aCqOa7oeaEj+WQl++8n1t5bnFdICIKKworI34gbXNnaWQgIlF1aXR0aW5nIC0gbm90aGluZyBjaGFuZ2VkIgorI34gbXNnc3RyICLlsIbpgIDlh7ogLSDmnKrlgZrmm7TmlLkiCisKKyN+IG1zZ2lkICJQbGVhc2UgYW5zd2VyIG9uZSBvZiB5LG4scVxuIgorI34gbXNnc3RyICLor7flm57nrZQgeSwgbiDmiJYgcVxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1Y2Nlc3NmdWxseSB3cm90ZSB0aGUgbmV3IHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5oiQ5Yqf5YaZ5YWl5LqG5paw5YiG5Yy66KGoXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiSWYgeW91IGNyZWF0ZWQgb3IgY2hhbmdlZCBhIERPUyBwYXJ0aXRpb24sIC9kZXYvZm9vNywgc2F5LCB0aGVuIHVzZSBkZCgxKVxuIgorI34gInRvIHplcm8gdGhlIGZpcnN0IDUxMiBieXRlczogIGRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIoU2VlIGZkaXNrKDgpLikiCisjfiBtc2dzdHIgIiIKKyN+ICLlpoLmnpzmgqjliJvlu7rmiJbmm7TmlLnkuoYgRE9TIOWIhuWMuu+8jOWmgiAvZGV2L2ZvbzfvvIzor7fkvb/nlKggZGQoMSlcbiIKKyN+ICLlsIbliY0gNTEyIOS4quWtl+iKgua4hembtu+8mmRkIGlmPS9kZXYvemVybyBvZj0vZGV2L2ZvbzcgYnM9NTEyIGNvdW50PTFcbiIKKyN+ICIo5Y+C6ZiFIGZkaXNrKDgp44CCKSIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSDlpLHotKUiCisKKyN+IG1zZ2lkICJzeXNpbmZvIGZhaWxlZCIKKyN+IG1zZ3N0ciAic3lzaW5mbyDlpLHotKUiCisKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAi57G75Z6L77yaJWQiCisKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICLno4Hnm5jvvJolLipzIgorCisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgIuagh+etvu+8miUuKnMiCisKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgIuagh+W/l++8miVzIgorCisjfiBtc2dpZCAiYnl0ZXMvc2VjdG9yOiAlbGQiCisjfiBtc2dzdHIgIuWtl+iKgi/miYfljLrvvJolbGQiCisKKyN+IG1zZ2lkICJzZWN0b3JzL3RyYWNrOiAlbGQiCisjfiBtc2dzdHIgIuaJh+WMui/no4HpgZPvvJolbGQiCisKKyN+IG1zZ2lkICJ0cmFja3MvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAi56OB6YGTL+afsemdou+8miVsZCIKKworI34gbXNnaWQgInNlY3RvcnMvY3lsaW5kZXI6ICVsZCIKKyN+IG1zZ3N0ciAi5omH5Yy6L+afsemdou+8miVsZCIKKworI34gbXNnaWQgImN5bGluZGVyczogJWxkIgorI34gbXNnc3RyICLmn7HpnaLvvJolbGQiCisKKyN+IG1zZ2lkICJycG06ICVkIgorI34gbXNnc3RyICLovawv5YiG77yaJWQiCisKKyN+IG1zZ2lkICJpbnRlcmxlYXZlOiAlZCIKKyN+IG1zZ3N0ciAi5Lqk6ZSZ77yaJWQiCisKKyN+IG1zZ2lkICJ0cmFja3NrZXc6ICVkIgorI34gbXNnc3RyICLno4HpgZPonrrot53vvJolZCIKKworI34gbXNnaWQgImN5bGluZGVyc2tldzogJWQiCisjfiBtc2dzdHIgIuafsemdouieuui3ne+8miVkIgorCisjfiBtc2dpZCAiaGVhZHN3aXRjaDogJWxkIChtaWxsaXNlY29uZHMpIgorI34gbXNnc3RyICLno4HlpLTliIfmjaLvvJolbGQgKOavq+enkikiCisKKyN+IG1zZ2lkICJ0cmFjay10by10cmFjayBzZWVrOiAlbGQgKG1pbGxpc2Vjb25kcykiCisjfiBtc2dzdHIgIui3qOejgemBk+WumuS9je+8miVsZCAo5q+r56eSKSIKKworI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICLliIbljLrmlbDvvJolZCIKKworI34gbXNnaWQgIllvdSBjYW5ub3QgY2hhbmdlIGEgcGFydGl0aW9uIGludG8gYW4gZXh0ZW5kZWQgb25lIG9yIHZpY2UgdmVyc2EuIERlbGV0ZSBpdCBmaXJzdC4iCisjfiBtc2dzdHIgIuaCqOS4jeiDveWwhuWIhuWMuuabtOaUueS4uuaJqeWxleWIhuWMuuaIluS7juaJqeWxleWIhuWMuuaUueWbnuOAguivt+WFiOWIoOmZpOivpeWIhuWMuuOAgiIKKworI34gbXNnaWQgIklmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnggcGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgZG9jdW1lbnRhdGlvbiBmb3IgYWRkaXRpb25hbCBpbmZvcm1hdGlvbi4iCisjfiBtc2dzdHIgIuWmguaenOaCqOWIm+W7uuaIluS/ruaUueS6hiBET1MgNi54IOWIhuWMuu+8jOivt+afpemYhSBjZmRpc2sg5omL5YaM6aG16Z2i5LqG6Kej5YW25LuW5L+h5oGv44CCIgorCisjfiBtc2dpZCAiIgorI34gIkxhYmVsIGdlb21ldHJ5OiAlZCBoZWFkcywgJWxsdSBzZWN0b3JzXG4iCisjfiAiICAgICAgICAgICAgICAgICVsbHUgY3lsaW5kZXJzLCAlZCBwaHlzaWNhbCBjeWxpbmRlcnNcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuagh+etvuWHoOS9leWxnuaAp++8miAgJWQg5Liq56OB5aS077yMJWxsdSDkuKrmiYfljLpcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWxsdSDkuKrmn7HpnaLvvIwlZCDkuKrniannkIbmn7HpnaJcbiIKKyN+ICIgICAgICAgICAgICAgICAgJWQg5Liq6aKd5aSW5omH5Yy6L+afsemdou+8jOS6pOmUmSAlZDoxXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiTGFiZWwgZ2VvbWV0cnk6ICVkIHJwbSwgJWQgYWx0ZXJuYXRlIGFuZCAlZCBwaHlzaWNhbCBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxIgorI34gbXNnc3RyICIiCisjfiAi5qCH562+5Lu75L2V5bGe5oCn77yaJWQgcnBtLCAlZCDkuKrlpIfnlKjmn7HpnaLlkowgJWQg5Liq54mp55CG5p+x6Z2i77yMXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIOS4qumineWkluaJh+WMui/mn7HpnaLvvIzkuqTplJkgJWQ6MSIKKworI34gbXNnaWQgIjxub25lPiIKKyN+IG1zZ3N0ciAiPOaXoD4iCisKKyN+IG1zZ2lkICJmaWVsZCBpcyB0b28gbG9uZyIKKyN+IG1zZ3N0ciAi5a2X5q616L+H6ZW/IgorCisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVz77ya5LiN5YWB6K644oCcJWPigJ0iCisKKyN+IG1zZ2lkICInJWMnIGlzIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICInJWMnIOS4jeWFgeiuuOS9v+eUqCIKKworI34gbXNnaWQgIiVzOiBjb250cm9sIGNoYXJhY3RlcnMgYXJlIG5vdCBhbGxvd2VkIgorI34gbXNnc3RyICIlc++8muS4jeWFgeiuuOS9v+eUqOaOp+WItuWtl+espiIKKworI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIuS4jeWFgeiuuOS9v+eUqOaOp+WItuWtl+espiIKKworI34gbXNnaWQgInVzYWdlOiBsYXN0IFstI10gWy1mIGZpbGVdIFstdCB0dHldIFstaCBob3N0bmFtZV0gW3VzZXIgLi4uXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJpsYXN0IFstI10gWy1mIOaWh+S7tl0gWy10IHR0eV0gWy1oIOS4u+acuuWQjV0gW+eUqOaItyAuLi5dXG4iCisKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yabW1hcCDlpLHotKUiCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICDku43nhLbnmbvlvZUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIOW8gOWniyAlcyIKKworI34gbXNnaWQgImdldGhvc3RuYW1lIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZ2V0aG9zdG5hbWUg5aSx6LSlIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImludGVycnVwdGVkICUxMC4xMHMgJTUuNXMgXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLkuK3mlq3kuoYgJTEwLjEwcyAlNS41cyBcbiIKKworI34gbXNnaWQgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAgZGlzcGxheSBzdXBwbGVtZW50YXJ5IGdyb3VwcyBhcyB3ZWxsXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1zdXBwLWdyb3VwcyAgICAgICAg5Lmf5pi+56S66ZmE5bGe57uEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNsb2dpbnMoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrnu4boioLlj4Lop4EgbHNsb2dpbnMoMSnjgIJcbiIKKworI34gbXNnaWQgImNyeXB0KCkgZmFpbGVkIgorI34gbXNnc3RyICJjcnlwdCgpIOWksei0pSIKKworI34gbXNnaWQgIiVzOiBzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXPvvJpzdGF0IOWksei0pSIKKworI34gbXNnaWQgIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICAgIFRoaXMgc21hbGwgdXNhZ2UgZ3VpZGVcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg6L+Z5Liq566A55+t55qE55So5rOV5oyH5Y2XXG4iCisKKyN+IG1zZ2lkICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICBPdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvblxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga9cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICB1c2UgYWx0ZXJuYXRpdmUgZGljdGlvbmFyeVxuIgorI34gIiAtZCwgLS1hbHBoYW51bSAgICAgICAgIGNvbXBhcmUgb25seSBhbHBoYW51bWVyaWMgY2hhcmFjdGVyc1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIGlnbm9yZSBjYXNlIGRpZmZlcmVuY2VzIHdoZW4gY29tcGFyaW5nXG4iCisjfiAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gZGVmaW5lIHN0cmluZyB0ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICDkvb/nlKjmm7/ku6Por43lhbhcbiIKKyN+ICIgLWQsIC0tYWxwaGFudW0gICAgICAgICDlj6rmr5TovoPlrZfmr43lkozmlbDlrZdcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICDmr5TovoPml7blv73nlaXlpKflsI/lhplcbiIKKyN+ICIgLXQsIC0tdGVybWluYXRlIDzlrZfnrKY+IOWumuS5ieWtl+espuS4sue7iOatouWtl+esplxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIHByb2Nlc3MgaWRcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8cGlkPiAgICAgICAg6L+b56iL5qCH6K+GIElEXG4iCisjfiAiIC1vLCAtLW91dHB1dCA85YiX6KGoPiAgICDlrprkuYnopoHkvb/nlKjlk6rkupvovpPlh7rliJdcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICDkuI3miZPljbDmoIfpophcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICDkvb/nlKjljp/nlJ/ovpPlh7rmoLzlvI9cbiIKKyN+ICIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICDkuI3miKrmlq3liJfkuK3nmoTmlofmnKxcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbmFtZWkoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrkv6Hmga/lj4Lop4EgbmFtZWkoMSnjgIJcbiIKKworI34gbXNnaWQgIiVzOiBsc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yabHN0YXQg5aSx6LSlIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrkv6Hmga/or7flj4LpmIUgd2lwZWZzKDgp44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU2NoZWR1bGluZyBwb2xpY2llczpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKKyN+ICIgIC1mIHwgLS1maWZvICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorI34gIiAgLWkgfCAtLWlkbGUgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCisjfiAiICAtciB8IC0tcnIgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6LCD5bqm562W55Wl77yaXG4iCisjfiAiICAtYiB8IC0tYmF0Y2ggICAgICAgICDorr7nva7kuLogU0NIRURfQkFUQ0gg562W55WlXG4iCisjfiAiICAtZiB8IC0tZmlmbyAgICAgICAgICDorr7nva7kuLogU0NIRURfRklGTyDnrZbnlaVcbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIOiuvue9ruS4uiBTQ0hFRF9JRExFIOetlueVpVxuIgorI34gIiAgLW8gfCAtLW90aGVyICAgICAgICAg6K6+572u5Li6IFNDSEVEX09USEVSIOetlueVpVxuIgorI34gIiAgLXIgfCAtLXJyICAgICAgICAgICAg6K6+572u5Li6IFNDSEVEX1JSIOetlueVpSjpu5jorqQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIG9wZXJhdGUgb24gYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gcGlkXG4iCisjfiAiICAtaCB8IC0taGVscCAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscFxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAgc2hvdyBtaW4gYW5kIG1heCB2YWxpZCBwcmlvcml0aWVzXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1WIHwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgInpobnvvJpcbiIKKyN+ICIgIC1hIHwgLS1hbGwtdGFza3MgICAgIOWcqOe7meWumiBwaWQg55qE5omA5pyJ5Lu75YqhKOe6v+eoiynkuIrmk43kvZxcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIOaYvuekuuatpOW4ruWKqVxuIgorI34gIiAgLW0gfCAtLW1heCAgICAgICAgICAg5pi+56S65pyA5bCP5ZKM5pyA5aSn5pyJ5pWI5LyY5YWI57qnXG4iCisjfiAiICAtcCB8IC0tcGlkICAgICAgICAgICDlnKjlrZjlnKjnmoTmjIflrpogcGlkIOS4iuaTjeS9nFxuIgorI34gIiAgLXYgfCAtLXZlcmJvc2UgICAgICAg5pi+56S654q25oCB5L+h5oGvXG4iCisjfiAiICAtViB8IC0tdmVyc2lvbiAgICAgICDovpPlh7rniYjmnKzkv6Hmga9cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgdGFza3NldCgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuabtOWkmuS/oeaBr+ivt+WPgumYhSB0YXNrc2V0KDEp44CCXG4iCisKKyN+IG1zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IHRvIC0tbWFudWFsZWplY3QvLWkgb3B0aW9uIgorI34gbXNnc3RyICItLW1hbnVhbGVqZWN0Ly1pIOmAiemhueeahOWPguaVsOaXoOaViCIKKworI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlcyDkuI3mmK/lj6/np7vliqjorr7lpIciCisKKyN+IG1zZ2lkICIlczogY29ubmVjdGVkIGJ5IGhvdHBsdWcgc3Vic3lzdGVtOiAlcyIKKyN+IG1zZ3N0ciAiJXPvvJrlt7LpgJrov4fng63mj5Lmi5TlrZDns7vnu5/ov57mjqXvvJolcyIKKworI34gbXNnaWQgInRpbWVvdXQgY2Fubm90IGJlIHplcm8iCisjfiBtc2dzdHIgIui2heaXtuS4jeiDveS4uumbtiIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZCBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ2lkX3BsdXJhbCAiTmVlZCB0byBpbnNlcnQgJWQgc2Vjb25kcyBhbmQgcmVmZXIgdGltZSBiYWNrICUuNmYgc2Vjb25kcyBhZ29cbiIKKyN+IG1zZ3N0clswXSAi6ZyA6KaB5o+S5YWlICVkIOenkuW5tuWwhuaXtumXtOW+gOWbnuaMhyAlLjZmIOenklxuIgorCisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICLmirHmrYnvvIzlj6rmnInotoXnuqfnlKjmiLfmiY3og73orr7nva7ns7vnu5/ml7bpkp/jgIIiCisKKyN+IG1zZ2lkICJTb3JyeSwgb25seSB0aGUgc3VwZXJ1c2VyIGNhbiBjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIGluIHRoZSBrZXJuZWwuIgorI34gbXNnc3RyICLmirHmrYnvvIzlj6rmnInotoXnuqfnlKjmiLfmiY3og73mm7TmlLnlhoXmoLjkuK3nmoTnoazku7bml7bpkp/nuqrlhYMoZXBvY2gp44CCIgorCisjfiBtc2dpZCAiV2FpdGluZyBpbiBsb29wIGZvciB0aW1lIGZyb20gS0RHSFdDTEsgdG8gY2hhbmdlXG4iCisjfiBtc2dzdHIgIuato+WcqOW+queOr+etieW+headpeiHqiBLREdIV0NMSyDnmoTml7bpl7Tmm7TmlLlcbiIKKworI34gbXNnaWQgIktER0hXQ0xLIGlvY3RsIHRvIHJlYWQgdGltZSBmYWlsZWQiCisjfiBtc2dzdHIgIueUqOadpeivu+WPluaXtumXtOeahCBLREdIV0NMSyBpb2N0bCDlpLHotKUiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIuWcqOW+queOr+S4reeUqOadpeivu+WPluaXtumXtOeahCBLREdIV0NMSyBpb2N0bCDlpLHotKUiCisKKyN+IG1zZ2lkICJpb2N0bCgpIGZhaWxlZCB0byByZWFkIHRpbWUgZnJvbSAlcyIKKyN+IG1zZ3N0ciAiaW9jdGwoKSDku44gJXMg6K+75Y+W5pe26Ze05aSx6LSlIgorCisjfiBtc2dpZCAiaW9jdGwgS0RTSFdDTEsgZmFpbGVkIgorI34gbXNnc3RyICJpb2N0bCBLRFNIV0NMSyDlpLHotKUiCisKKyN+IG1zZ2lkICJVc2luZyB0aGUgS0RHSFdDTEsgaW50ZXJmYWNlIHRvIG02OGsgY2xvY2suIgorI34gbXNnc3RyICLlsIblr7kgbTY4ayDml7bpkp/kvb/nlKggS0RHSFdDTEsg5o6l5Y+j44CCIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAvZGV2L3R0eTEgb3IgL2Rldi92Yy8xIgorI34gbXNnc3RyICLmiZPkuI3lvIAgL2Rldi90dHkxIOaIliAvZGV2L3ZjLzEiCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIOWksei0pSIKKworI34gbXNnaWQgInJlYWQoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKKyN+IG1zZ3N0ciAi5a+5ICVzIHJlYWQoKSDku6XnrYnlvoXml7bpkp/lmIDll5LlpLHotKUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmm7TlpJrkv6Hmga/or7flj4LpmIUgbHNjcHUoMSnjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSBtb3VudC48dHlwZT4gaGVscGVyc1xuIgorI34gIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBsaXN0cyBhbGwgbW91bnRzIHdpdGggTEFCRUxzXG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIGRvbid0IHdyaXRlIHRvIC9ldGMvbXRhYlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICDkuI3osIPnlKggbW91bnQuPOexu+Weiz4g5Yqp5omL56iL5bqPXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIOWIl+WHuuaJgOacieW4puacieaMh+Wumuagh+etvueahOaMgui9vVxuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICDkuI3lhpkgL2V0Yy9tdGFiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAg5omT5Y2w5b2T5YmN6L+b6KGM55qE5pON5L2cXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOaYvuekuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAtdywgLS1ydywgLS1yZWFkLXdyaXRlICDku6Xor7vlhpnmlrnlvI/mjILovb3mlofku7bns7vnu58o6buY6K6kKVxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YCJ6aG5XSA856iL5bqPPiBb5Y+C5pWwLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iCisjfiAiIC1uLCAtLXByaW9yaXR5IDxudW0+ICAgc3BlY2lmeSB0aGUgbmljZSBpbmNyZW1lbnQgdmFsdWVcbiIKKyN+ICIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIKKyN+ICIgLXUsIC0tdXNlciA8bmFtZXxpZD4gICBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWcsIC0tcGdycCA8aWQ+ICAgICAgICDlsIblj4LmlbDop6Pph4rkuLrov5vnqIvnu4QgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPOaVsOWtlz4gIOaMh+WumiBuaWNlIOWinuWKoOWAvFxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIOWwhuWPguaVsOino+mHiuS4uui/m+eoiyBJRCAo6buY6K6kKVxuIgorI34gIiAtdSwgLS11c2VyIDzlkI3lrZd8aWQ+ICAg5bCG5Y+C5pWw6Kej6YeK5Li655So5oi35ZCN5oiW55So5oi3IElEXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAg5pi+56S65biu5Yqp5paH5pys5bm26YCA5Ye6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAg5pi+56S654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuabtOWkmuS/oeaBr+ivt+WPgumYhSByZW5pY2UoMSnjgIJcbiIKKworI34gbXNnaWQgInNldCBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICLorr7nva4gcnRjIOmXuemSn+Wksei0pSIKKworI34gbXNnaWQgImVuYWJsZSBydGMgYWxhcm0gZmFpbGVkIgorI34gbXNnc3RyICLlkK/nlKggcnRjIOmXuemSn+Wksei0pSIKKworI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICLmjILotbfliLDigJwlc+KAneS4jeWPr+eUqCIKKworI34gbXNnaWQgIiAlcyVzIFtvcHRpb25zXSBbcHJvZ3JhbSBbcHJvZ3JhbSBhcmd1bWVudHNdXVxuIgorI34gbXNnc3RyICIgJXMlcyBb6YCJ6aG5XSBb56iL5bqPIFvnqIvluo/lj4LmlbBdXVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKKyN+ICIgLWQsIC0tZGlzY2FyZFs9PHBvbGljeT5dIGVuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiBzdXBwb3J0ZWQgYnkgZGV2aWNlXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKKyN+ICIgLWYsIC0tZml4cGdzeiAgICAgICAgICAgIHJlaW5pdGlhbGl6ZSB0aGUgc3dhcCBzcGFjZSBpZiBuZWNlc3NhcnlcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgICAgZGlzcGxheSBzdW1tYXJ5IGFib3V0IHVzZWQgc3dhcCBkZXZpY2VzIChERVBSRUNBVEVEKVxuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MsIHVzZSB3aXRoIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICBkaXNwbGF5IHN3YXAgc2l6ZSBpbiBieXRlcyBpbiAtLXNob3cgb3V0cHV0XG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgIOWQr+eUqCAvZXRjL2ZzdGFiIOS4reeahOaJgOacieS6pOaNouWMulxuIgorI34gIiAtYiwgLS1kaXNjYXJkWz08562W55WlPl0g5ZCv55So5Lqk5o2i5Lii5byD77yM5aaC5p6c6K6+5aSH5pSv5oyBXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAg55u05o6l6Lez6L+H5LiN5a2Y5Zyo55qE6K6+5aSHXG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAg6ZyA6KaB5pe26YeN5paw5Yid5aeL5YyW5Lqk5o2i56m66Ze0XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiAg5oyH5a6a5Lqk5o2i6K6+5aSH55qE5LyY5YWI57qn5Li6IDxwcmlvPlxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgIOaYvuekuuW3suS9v+eUqOS6pOaNouiuvuWkh+eahOaRmOimgSjlt7Llup/lvIMpXG4iCisjfiAiICAgICAtLXNob3dbPTzliJc+XSAgICAgIOaYvuekuuWPr+S6pOaNouihqOagvOeahOaRmOimgVxuIgorI34gIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIOS4jeaJk+WNsOagh+mimO+8jOS4jiAtLXNob3cg5LiA6LW35L2/55SoXG4iCisjfiAiICAgICAtLXJhdyAgICAgICAgICAgICAg5L2/55So5Y6f55Sf6L6T5Ye65qC85byP77yM5LiOIC0tc2hvdyDkuIDotbfkvb/nlKhcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICDlnKggLS1zaG93IOmAiemhuei+k+WHuuS4reS7peWtl+iKguaYvuekuuS6pOaNouWMuuWkp+Wwj1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgIOivpuWwveaooeW8j1xuIgorCisjfiBtc2dpZCAiIC1tLCAtLW1vdW50ICAgICAgICAgICAgICAgdW5zaGFyZSBtb3VudHMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtbSwgLS1tb3VudCAgICAgICAgICAgICAgIOWPlua2iOWFseS6q+aMgui9veWQjeWtl+epuumXtFxuIgorCisjfiBtc2dpZCAiIC11LCAtLXV0cyAgICAgICAgICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiBtc2dzdHIgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIOWPlua2iOWFseS6qyBVVFMg5ZCN5a2X56m66Ze0KOS4u+acuuWQjeetiSlcbiIKKworI34gbXNnaWQgIiAtaSwgLS1pcGMgICAgICAgICAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLWksIC0taXBjICAgICAgICAgICAgICAgICDlj5bmtojlhbHkuqsgU3lzdGVtIFYgSVBDIOWQjeWtl+epuumXtFxuIgorCisjfiBtc2dpZCAiIC1uLCAtLW5ldCAgICAgICAgICAgICAgICAgdW5zaGFyZSBuZXR3b3JrIG5hbWVzcGFjZVxuIgorI34gbXNnc3RyICIgLW4sIC0tbmV0ICAgICAgICAgICAgICAgICDlj5bmtojlhbHkuqvnvZHnu5zlkI3lrZfnqbrpl7RcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuOiAlczogJW0iCisjfiBtc2dzdHIgIuaXoOazleaJk+W8gCAlc++8miVtIgorCisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICJmcmVhZCDlpLHotKUiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJXMgW+mAiemhuV0gW+aWh+S7tiAuLi5dXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC0sICAtLW5vLXVuZGVybGluaW5nICBzdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmdcbiIKKyN+ICIgLTIsIC0taGFsZi1saW5lcyAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAg5oqR5Yi25omA5pyJ5LiL5YiS57q/XG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICDmiZPljbDmiYDmnInljYrnur8oaGFsZi1saW5lKVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgInpobnvvJpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAtaCwgLS1oZWxwICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJjYWxsaW5nIGhleGR1bXAgYXMgb2QgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvciBvZiBHTlUgY29yZXV0aWxzIG9kIgorI34gbXNnc3RyICLlsIYgaGV4ZHVtcCDkvZzkuLogb2Qg6LCD55So55qE5pa55byP5bey5bqf5byD77yM6K+36L2s55SoIEdOVSBjb3JldXRpbHMg55qEIG9kIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumAiemhue+8mlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5pu05aSa5L+h5oGv6K+35Y+C6ZiFIHJldigxKeOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uXSBmaWxlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJXMgW+mAiemhuV0g5paH5Lu2XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumAiemhue+8mlxuIgorI34gIiAtbiwgLS1saW5lcyBOVU1CRVIgIOi+k+WHuuacgOWQjiBOVU1CRVIg6KGMXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAg5ZCM4oCcLW4gTlVNQkVS4oCdXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIGZpbGVcbiIKKyN+IG1zZ3N0ciAiICVzIFvpgInpobldIOaWh+S7tlxuIgorCisjfiBtc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMuIgorI34gbXNnc3RyICLlj6rog73mm7TmlLnmnKzlnLDorrDlvZXjgIIiCisKKyN+IG1zZ2lkICIgICAgIC0tdGltZS1mb3JtYXQgPGZvcm1hdD4gIHNob3cgdGltZSBzdGFtcCB1c2luZyBmb3JtYXQ6XG4iCisjfiBtc2dzdHIgIiAgICAgLS10aW1lLWZvcm1hdCA85qC85byPPiAgICDku6XmjIflrprmoLzlvI/mmL7npLrml7bpl7TmiLPvvJpcbiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbm90aW1lfHNob3J0fGZ1bGx8aXNvXVxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW25vdGltZXxzaG9ydHxmdWxsfGlzb11cbiIKKworI34gbXNnaWQgIkNPTU1BTkQgbm90IHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIuayoeacieaMh+WumuWRveS7pCIKKworI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvpgInpobldIOi3r+W+hOWQjSBb6Lev5b6E5ZCNIC4uLl1cbiIKKworI34gbXNnaWQgIm5vIGZpbGVuYW1lIHNwZWNpZmllZC4iCisjfiBtc2dzdHIgIuacquaMh+WumuaWh+S7tuWQjeOAgiIKKworI34gbXNnaWQgIi4uLmJhY2sgMSBwYWdlIgorI34gbXNnc3RyICIuLi7lkI7pgIAgMSDpobUiCisKKyN+IG1zZ2lkICIuLi5za2lwcGluZyBvbmUgbGluZSIKKyN+IG1zZ3N0ciAiLi4u6Lez6L+H5LiA6KGMIgorCisjfiBtc2dpZCAid2FpZHBpZCBmYWlsZWQiCisjfiBtc2dzdHIgIndhaWRwaWQg5aSx6LSlIgorCisjfiBtc2dpZCAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICBleHRyYWN0IGludG8gZGlyZWN0b3J5XG4iCisjfiBtc2dzdHIgIiAteCwgLS1kZXN0aW5hdGlvbiA855uu5b2VPiDmj5Dlj5bliLDnm67lvZVcbiIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAi57yW6K+R5pe25pyq5bim5pyJIC14IOaUr+aMgSIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlc++8muWGheWtmOS4jei2s++8gVxuIgorCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIuS4jeWPr+eUqCIKKworI34gbXNnaWQgIndyaXRlIGZhaWxlZFxuIgorI34gbXNnc3RyICLlhpnlpLHotKVcbiIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAi56OB55uY5bey57uP5pu05pS544CCXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAi6K+36YeN5ZCv57O757uf5p2l56Gu5L+d5YiG5Yy66KGo5q2j56Gu5pu05paw44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5aaC5p6c5oKo5Yib5bu65oiW5L+u5pS55LqGIERPUyA2Lngg5YiG5Yy677yM6K+3XG4iCisjfiAi5p+l6ZiFIGNmZGlzayDmiYvlhozpobXpnaLkuobop6Plhbbku5bkv6Hmga/jgIJcbiIKKworI34gbXNnaWQgIkZBVEFMIEVSUk9SIgorI34gbXNnc3RyICLoh7Tkvb/plJnor68iCisKKyN+IG1zZ2lkICJQcmVzcyBhbnkga2V5IHRvIGV4aXQgY2ZkaXNrIgorI34gbXNnc3RyICLmjInku7vmhI/plK7pgIDlh7ogY2ZkaXNrIgorCisjfiBtc2dpZCAiQ2Fubm90IHNlZWsgb24gZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAi5Zyo56OB55uY6K6+5aSH5LiK5peg5rOV5a6a5L2NIgorCisjfiBtc2dpZCAiQ2Fubm90IHJlYWQgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAi5peg5rOV6K+756OB55uY6amx5Yqo5ZmoIgorCisjfiBtc2dpZCAiQ2Fubm90IHdyaXRlIGRpc2sgZHJpdmUiCisjfiBtc2dzdHIgIuaXoOazleWGmeejgeebmOmpseWKqOWZqCIKKworI34gbXNnaWQgIlRvbyBtYW55IHBhcnRpdGlvbnMiCisjfiBtc2dzdHIgIuWIhuWMuui/h+WkmiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICLliIbljLrotbflp4vkuo7miYfljLogMCDkuYvliY0iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gZW5kcyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIuWIhuWMuue7iOatouS6juaJh+WMuiAwIOS5i+WJjSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIuWIhuWMuui1t+Wni+S6juejgeebmOe7iOeCueS5i+WQjiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICLliIbljLrnu4jmraLkuo7no4Hnm5jnu4jngrnkuYvlkI4iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgIumAu+i+keWIhuWMuuayoeacieaMieejgeebmOmhuuW6jyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICLpgLvovpHliIbljLrph43lj6AiCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAi5omp5aSn55qEKGVubGFyZ2VkKemAu+i+keWIhuWMuumHjeWPoCIKKworI34gbXNnaWQgIiEhISEgSW50ZXJuYWwgZXJyb3IgY3JlYXRpbmcgbG9naWNhbCBkcml2ZSB3aXRoIG5vIGV4dGVuZGVkIHBhcnRpdGlvbiAhISEhIgorI34gbXNnc3RyICIhISEg5YaF6YOo6ZSZ6K+v77yM5Zyo5rKh5pyJ5omp5bGV5YiG5Yy655qE5oOF5Ya15LiL5Yib5bu66YC76L6R5YiG5Yy6ICEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi5peg5rOV5Zyo5q2k5Yib5bu66YC76L6R5YiG5Yy6IC0tIOWwhuWIm+W7uuS4pOS4quaJqeWxleWIhuWMuiIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICLoj5zljZXpobnov4fplb/jgILoj5zljZXlj6/og73mmL7npLrlvILluLjjgIIiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAi6Z2e5rOV55qE6ZSuIgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLliJvlu7rmlrDnmoTkuLvliIbljLoiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuWIm+W7uuaWsOeahOmAu+i+keWIhuWMuiIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAi5Y+W5raIIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICLkuI3liJvlu7rliIbljLoiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEg5YaF6YOo6ZSZ6K+vICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICLlpKflsI8oTUIp77yaIgorCisjfiBtc2dpZCAiQmVnaW5uaW5nIgorI34gbXNnc3RyICLlvIDlpLQiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGJlZ2lubmluZyBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICLlnKjliankvZnnqbrpl7TnmoTlvIDlpLTmt7vliqDliIbljLoiCisKKyN+IG1zZ2lkICJBZGQgcGFydGl0aW9uIGF0IGVuZCBvZiBmcmVlIHNwYWNlIgorI34gbXNnc3RyICLlnKjliankvZnnqbrpl7TnmoTmnKvlsL7mt7vliqDliIbljLoiCisKKyN+IG1zZ2lkICJObyByb29tIHRvIGNyZWF0ZSB0aGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorI34gbXNnc3RyICLmsqHmnInnqbrpl7TmnaXliJvlu7rmianlsZXliIbljLoiCisKKyN+IG1zZ2lkICJObyBwYXJ0aXRpb24gdGFibGUuXG4iCisjfiBtc2dzdHIgIuaXoOWIhuWMuuihqOOAglxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICLml6DliIbljLrooajjgILlsIbku6XnqbrooajlkK/liqjjgIIiCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAi5YiG5Yy66KGo562+5ZCN5pyJ6K+vIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAi5pyq55+l55qE5YiG5Yy66KGo57G75Z6LIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAi5oKo5oOz5Lul56m66KGo5byA5aeL5ZCXW3kvTl3vvJ8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLml6Dms5XmiZPlvIDno4Hnm5jpqbHliqjlmagiCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICLlt7LnlKjlj6ror7vmlrnlvI/miZPlvIDno4Hnm5ggLSDmgqjmsqHmnInlhpnmnYPpmZAiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAi5peg5rOV6I635b6X56OB55uY5aSn5bCPIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLkuLvliIbljLrmjZ/lnY8iCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICLorablkYrvvIHov5nlj6/og73mr4HlnY/mgqjno4Hnm5jkuIrnmoTmlbDmja7vvIEiCisKKyN+IG1zZ2lkICJQbGVhc2UgZW50ZXIgYHllcycgb3IgYG5vJyIKKyN+IG1zZ3N0ciAi6K+36L6T5YWl4oCc5piv4oCd5oiW4oCc5ZCm4oCdIgorCisjfiBtc2dpZCAiV3JpdGluZyBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4uLiIKKyN+IG1zZ3N0ciAi5q2j5Zyo5bCG5YiG5Yy66KGo5YaZ5YWl56OB55uYLi4uIgorCisjfiBtc2dpZCAiV3JvdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2siCisjfiBtc2dzdHIgIuW3suWwhuWIhuWMuuihqOWGmeWFpeejgeebmCIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSwgYnV0IHJlLXJlYWQgdGFibGUgZmFpbGVkLiAgUnVuIHBhcnRwcm9iZSg4KSwga3BhcnR4KDgpIG9yIHJlYm9vdCB0byB1cGRhdGUgdGFibGUuIgorI34gbXNnc3RyICLlt7LlhpnlhaXliIbljLrooajvvIzkvYbph43mlrDor7vliIbljLrooajlpLHotKXjgILor7fov5DooYwgcGFydHByb2JlKDgp44CBa3BhcnR4KDgpIOaIlumHjeWQr+adpeabtOaWsOWIhuWMuuihqOOAgiIKKworI34gbXNnaWQgIk5vIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgbWFya2VkIGJvb3RhYmxlLiBET1MgTUJSIGNhbm5vdCBib290IHRoaXMuIgorI34gbXNnc3RyICLmsqHmnInmoIforrDkuLog5Y+v5ZCv5YqoIOeahOS4u+WIhuWMuuOAgkRPUyBNQlIg5peg5rOV5ZCv5Yqo5a6D44CCIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIui2hei/h+S4gOS4quS4u+WIhuWMuuiiq+agh+iusOS4uiDlj6/lkK/liqjjgIJET1MgTUJSIOaXoOazleWQr+WKqOWug+OAgiIKKworI34gbXNnaWQgIkVudGVyIGZpbGVuYW1lIG9yIHByZXNzIFJFVFVSTiB0byBkaXNwbGF5IG9uIHNjcmVlbjogIgorI34gbXNnc3RyICLovpPlhaXmlofku7blkI3miJbmjIkg5Zue6L2mIOadpeaYvuekuuWcqOWxj+W5leS4iu+8miIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIuejgeebmOmpseWKqOWZqO+8miVzXG4iCisKKyN+IG1zZ2lkICJTZWN0b3IgMDpcbiIKKyN+IG1zZ3N0ciAi5omH5Yy6IDDvvJpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAi5omH5Yy6ICVk77yaXG4iCisKKyN+IG1zZ2lkICIgICBOb25lICAgIgorI34gbXNnc3RyICIgICDml6AgICAiCisKKyN+IG1zZ2lkICIgICBQcmkvTG9nIgorI34gbXNnc3RyICIgICDkuLsv6YC76L6RIgorCisjfiBtc2dpZCAiICAgUHJpbWFyeSIKKyN+IG1zZ3N0ciAiICAg5Li75YiG5Yy6IgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAg6YC76L6R5YiG5Yy6IgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICLml6AiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIiVzIOWIhuWMuuihqFxuIgorCisjIOS7peS4i+S4ieadoeaJk+WNsOihqOagvOeahOagh+mimOihjO+8jOazqOaEj+Wvuem9kAorI34gbXNnaWQgIiAgICAgICAgICAgICAgIEZpcnN0ICAgICAgIExhc3RcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAg6LW35aeLICAgICAgICDnu4jmraJcbiIKKworI34gbXNnaWQgIiAjIFR5cGUgICAgICAgU2VjdG9yICAgICAgU2VjdG9yICAgT2Zmc2V0ICAgIExlbmd0aCAgIEZpbGVzeXN0ZW0gVHlwZSAoSUQpIEZsYWdcbiIKKyN+IG1zZ3N0ciAiICMg57G75Z6LICAgICAgIOaJh+WMuiAgICAgICAg5omH5Yy6ICAgICDlgY/np7sgICAgICDplb/luqYgICAgIOaWh+S7tuezu+e7n+exu+WeiyAoSUQpICAgIOagh+W/l1xuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyMg5Lul5LiL5LiJ5p2h5omT5Y2w6KGo5qC855qE5qCH6aKY6KGM77yM5rOo5oSP5a+56b2QCisjfiBtc2dpZCAiICAgICAgICAgLS0tU3RhcnRpbmctLS0tICAgICAgLS0tLUVuZGluZy0tLS0tICAgIFN0YXJ0ICAgICBOdW1iZXIgb2ZcbiIKKyN+IG1zZ3N0ciAiICAgICAgICAgLS0tLS3lvIDlp4stLS0tLS0gICAgICAtLS0tLee7k+adny0tLS0tLSAgICDotbfngrkgICAgICDmiYfljLpcbiIKKworI34gbXNnaWQgIiAjIEZsYWdzIEhlYWQgU2VjdCAgQ3lsICAgSUQgIEhlYWQgU2VjdCAgQ3lsICAgICBTZWN0b3IgICAgU2VjdG9yc1xuIgorI34gbXNnc3RyICIgIyDmoIflv5cgIOejgeWktCDmiYfljLogIOafsemdoiAgSUQgIOejgeWktCDmiYfljLogIOafsemdoiAgICDmiYfljLogICAgICDmlbDph49cbiIKKworI34gbXNnaWQgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0gLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS1cbiIKKworI34gbXNnaWQgIlJhdyIKKyN+IG1zZ3N0ciAi5Y6f55SfIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIHVzaW5nIHJhdyBkYXRhIGZvcm1hdCIKKyN+IG1zZ3N0ciAi5Lul5Y6f55Sf5pWw5o2u5qC85byP5omT5Y2w6K+l6KGoIgorCisjfiBtc2dpZCAiUHJpbnQgdGhlIHRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAi5oyJ5omH5Yy66aG65bqP5omT5Y2w6KGoIgorCisjfiBtc2dpZCAiVGFibGUiCisjfiBtc2dzdHIgIuihqCIKKworI34gbXNnaWQgIkp1c3QgcHJpbnQgdGhlIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAi55u05o6l5omT5Y2w5YiG5Yy66KGoIgorCisjfiBtc2dpZCAiRG9uJ3QgcHJpbnQgdGhlIHRhYmxlIgorI34gbXNnc3RyICLkuI3miZPljbDooagiCisKKyN+IG1zZ2lkICJDb3B5cmlnaHQgKEMpIDE5OTQtMTk5OSBLZXZpbiBFLiBNYXJ0aW4gJiBhZWIiCisjfiBtc2dzdHIgIueJiOadg+aJgOaciSAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKworI34gbXNnaWQgIiAgZyAgICAgICAgICBDaGFuZ2UgY3lsaW5kZXJzLCBoZWFkcywgc2VjdG9ycy1wZXItdHJhY2sgcGFyYW1ldGVycyIKKyN+IG1zZ3N0ciAiICBnICAgICAgICAgIOabtOaUueafsemdouOAgeejgeWktOOAgeavj+S4quejgemBk+aJh+WMuuaVsOetieWPguaVsCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBXQVJOSU5HOiBUaGlzIG9wdGlvbiBzaG91bGQgb25seSBiZSB1c2VkIGJ5IHBlb3BsZSB3aG8iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDorablkYrvvJrkuI3opoHkvb/nlKjmraTpgInpobnvvIzpmaTpnZ7mgqgiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOa4healmui/meagt+WBmueahOWQjuaenOOAgiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIOS9v+W9k+WJjeWIhuWMuueahOejgeebmOS9v+eUqOacgOWkp+WMliIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDms6jvvJrov5nlj6/og73kvb/or6XliIbljLrkuI7ku6XkuIvns7vnu5/kuI3lhbzlrrkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgRE9TLCBPUy8yLCAuLi4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKworI34gbXNnaWQgIiAgcCAgICAgICAgICBQcmludCBwYXJ0aXRpb24gdGFibGUgdG8gdGhlIHNjcmVlbiBvciB0byBhIGZpbGUiCisjfiBtc2dzdHIgIiAgcCAgICAgICAgICDmiZPljbDliIbljLrooajliLDlsY/luZXmiJbmlofku7YiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgVGhlcmUgYXJlIHNldmVyYWwgZGlmZmVyZW50IGZvcm1hdHMgZm9yIHRoZSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDmnInlh6Dnp43kuI3lkIznmoTliIbljLrmoLzlvI8iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgdGhhdCB5b3UgY2FuIGNob29zZSBmcm9tOiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOS+m+aCqOmAieaLqe+8miIKKworI34gbXNnaWQgIiAgICAgICAgICAgICAgICByIC0gUmF3IGRhdGEgKGV4YWN0bHkgd2hhdCB3b3VsZCBiZSB3cml0dGVuIHRvIGRpc2spIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgciAtIOWOn+eUnyhyYXcp5pWw5o2uKOaVsOaNruS8muWOn+agt+WGmeWFpeejgeebmCkiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgcyAtIFRhYmxlIG9yZGVyZWQgYnkgc2VjdG9ycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgICAgIHMgLSDmjInmiYfljLrmjpLluo/nmoTooagiCisKKyN+IG1zZ2lkICIgIHUgICAgICAgICAgQ2hhbmdlIHVuaXRzIG9mIHRoZSBwYXJ0aXRpb24gc2l6ZSBkaXNwbGF5IgorI34gbXNnc3RyICIgIHUgICAgICAgICAg5pu05pS55YiG5Yy65aSn5bCP55qE5pi+56S65Y2V5L2NIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFJvdGF0ZXMgdGhyb3VnaCBNQiwgc2VjdG9ycyBhbmQgY3lsaW5kZXJzIgorI34gbXNnc3RyICIgICAgICAgICAgICAg5ZyoIE1C44CB5omH5Yy65pWw44CB5p+x6Z2i5pWw5LmL6Ze05b6q546vIgorCisjfiBtc2dpZCAiQ1RSTC1MICAgICAgIFJlZHJhd3MgdGhlIHNjcmVlbiIKKyN+IG1zZ3N0ciAiQ1RSTC1MICAgICAgIOmHjee7mOWxj+W5lSIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIOaJk+WNsOatpOWxj+W5lSIKKworI34gbXNnaWQgIkNoYW5nZSBjeWxpbmRlciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAi5pu05pS55p+x6Z2i5Yeg5L2V5bGe5oCnIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuabtOaUueejgeWktOWHoOS9leWxnuaApyIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuabtOaUueaJh+WMuuWHoOS9leWxnuaApyIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAi5pu05pS55Yeg5L2V5bGe5oCn5a6M5oiQIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBjeWxpbmRlcnM6ICIKKyN+IG1zZ3N0ciAi6K+36L6T5YWl5p+x6Z2i5pWw77yaIgorCisjfiBtc2dpZCAiSWxsZWdhbCBjeWxpbmRlcnMgdmFsdWUiCisjfiBtc2dzdHIgIuafsemdouaVsOWAvOS4jeWQiOazlSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2YgaGVhZHM6ICIKKyN+IG1zZ3N0ciAi6K+36L6T5YWl56OB5aS05pWw77yaIgorCisjfiBtc2dpZCAiSWxsZWdhbCBoZWFkcyB2YWx1ZSIKKyN+IG1zZ3N0ciAi56OB5aS05pWw5YC85LiN5ZCI5rOVIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFjazogIgorI34gbXNnc3RyICLor7fovpPlhaXmr4/kuKrno4HpgZPnmoTmiYfljLrmlbDvvJoiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIuaJh+WMuuaVsOWAvOS4jeWQiOazlSIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICLor7fovpPlhaXmlofku7bns7vnu5/nsbvlnovvvJoiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIuaXoOazleWwhuaWh+S7tuezu+e7n+exu+Wei+abtOaUueS4uuepuuWAvCIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAi5peg5rOV5bCG5paH5Lu257O757uf57G75Z6L5pu05pS55Li65omp5bGVIgorCisjfiBtc2dpZCAiVW5rKCUwMlgpIgorI34gbXNnc3RyICLmnKrnn6UoJTAyWCkiCisKKyN+IG1zZ2lkICIsIE5DIgorI34gbXNnc3RyICLvvIzkuI3lj6/nlKgiCisKKyN+IG1zZ2lkICJOQyIKKyN+IG1zZ3N0ciAi5LiN5Y+v55SoIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAi5Li7L+mAu+i+kSIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICLmnKrnn6UgKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIuejgeebmOmpseWKqOWZqO+8miVzIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZCBNQiIKKyN+IG1zZ3N0ciAi5aSn5bCP77yaJWxsZCDlrZfoioLvvIwlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICLlpKflsI/vvJolbGxkIOWtl+iKgu+8jCVsbGQuJWxsZCBHQiIKKworI34gbXNnaWQgIkhlYWRzOiAlZCAgIFNlY3RvcnMgcGVyIFRyYWNrOiAlZCAgIEN5bGluZGVyczogJWxsZCIKKyN+IG1zZ3N0ciAi56OB5aS05pWw77yaJWQgIOavj+ejgemBk+aJh+WMuuaVsO+8miVkICAgICAgICDmn7HpnaLmlbDvvJolbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICLliIbljLrnsbvlnosiCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICLmlofku7bns7vnu58iCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJb5qCH562+XSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICAg5omH5Yy6IgorCisjfiBtc2dpZCAiICBDeWxpbmRlcnMiCisjfiBtc2dzdHIgIiAg5p+x6Z2iIgorCisjfiBtc2dpZCAiICBTaXplIChNQikiCisjfiBtc2dzdHIgIiAg5aSn5bCPIChNQikiCisKKyN+IG1zZ2lkICIgIFNpemUgKEdCKSIKKyN+IG1zZ3N0ciAiICDlpKflsI8gKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi5rKh5pyJ5pu05aSa5YiG5Yy6IgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIuabtOaUueejgeebmOeahOWHoOS9leWxnuaApyjku4XpmZDkuJPkuJrkurrlkZgpIgorCisjfiBtc2dpZCAiTWF4aW1pemUiCisjfiBtc2dzdHIgIuacgOWkp+WMliIKKworI34gbXNnaWQgIk1heGltaXplIGRpc2sgdXNhZ2Ugb2YgdGhlIGN1cnJlbnQgcGFydGl0aW9uIChleHBlcnRzIG9ubHkpIgorI34gbXNnc3RyICLlvZPliY3liIbljLrnmoTmnIDlpKfno4Hnm5jkvb/nlKjph48o5LuF6ZmQ5LiT5Lia5Lq65ZGYKSIKKworI34gbXNnaWQgIlByaW50IgorI34gbXNnc3RyICLmiZPljbAiCisKKyN+IG1zZ2lkICJDaGFuZ2UgdGhlIGZpbGVzeXN0ZW0gdHlwZSAoRE9TLCBMaW51eCwgT1MvMiBhbmQgc28gb24pIgorI34gbXNnc3RyICLmm7TmlLnmlofku7bns7vnu5/nsbvlnosoRE9TLCBMaW51eCwgT1MvMiDnrYkpIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIuWNleS9jSIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIuabtOaUueWIhuWMuuWkp+Wwj+eahOWNleS9jShNQuOAgeaJh+WMuu+8jOafsemdoikiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWFrZSB0aGlzIHBhcnRpdGlvbiBib290YWJsZSIKKyN+IG1zZ3N0ciAi5peg5rOV5bCG5q2k5YiG5Yy65qCH6K6w5Li6IOWPr+WQr+WKqCIKKworI34gbXNnaWQgIkNhbm5vdCBkZWxldGUgYW4gZW1wdHkgcGFydGl0aW9uIgorI34gbXNnc3RyICLml6Dms5XliKDpmaTnqbrliIbljLoiCisKKyN+IG1zZ2lkICJDYW5ub3QgbWF4aW1pemUgdGhpcyBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuaXoOazleacgOWkp+WMluatpOWIhuWMuiIKKworI34gbXNnaWQgIlRoaXMgcGFydGl0aW9uIGlzIHVudXNhYmxlIgorI34gbXNnc3RyICLmraTliIbljLrml6Dms5Xkvb/nlKgiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAi5q2k5YiG5Yy65bey5Zyo5L2/55So5LitIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuaXoOazleabtOaUueepuuWIhuWMuueahOexu+WeiyIKKworI34gbXNnaWQgIklsbGVnYWwgY29tbWFuZCIKKyN+IG1zZ3N0ciAi6Z2e5rOV5ZG95LukIgorCisjfiBtc2dpZCAiQ29weXJpZ2h0IChDKSAxOTk0LTIwMDIgS2V2aW4gRS4gTWFydGluICYgYWViXG4iCisjfiBtc2dzdHIgIueJiOadg+aJgOaciSAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorCisjfiBtc2dpZCAiIC1oLCAtLWhlYWRzIDxudW1iZXI+ICAgICAgc2V0IHRoZSBudW1iZXIgb2YgaGVhZHMgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiAtaCwgLS1oZWFkcyA85pWw5a2XPiAgICAgICAg6K6+572u6KaB5L2/55So55qE56OB5aS05pWwXG4iCisKKyN+IG1zZ2lkICIgLWcsIC0tZ3Vlc3MgICAgICAgICAgICAgICBndWVzcyBhIGdlb21ldHJ5IGZyb20gcGFydGl0aW9uIHRhYmxlXG4iCisjfiBtc2dzdHIgIiAtZywgLS1ndWVzcyAgICAgICAgICAgICAgIOagueaNruWIhuWMuuihqOaOqOeul+WHoOS9leWxnuaAp1xuIgorCisjfiBtc2dpZCAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAgcHJpbnQgcGFydGl0aW9uIHRhYmxlIGluIHNwZWNpZmllZCBmb3JtYXRcbiIKKyN+IG1zZ3N0ciAiIC1QLCAtLXByaW50IDxyfHN8dD4gICAgICAg5Lul5oyH5a6a55qE5qC85byP5omT5Y2w5YiG5Yy66KGoXG4iCisKKyN+IG1zZ2lkICIgLWEsIC0tYXJyb3cgICAgICAgICAgICAgICB1c2UgYXJyb3cgZm9yIGhpZ2hsaWdodGluZyB0aGUgY3VycmVudCBwYXJ0aXRpb25cbiIKKyN+IG1zZ3N0ciAiIC1hLCAtLWFycm93ICAgICAgICAgICAgICAg55So566t5aS056qB5Ye65pi+56S65b2T5YmN5YiG5Yy6XG4iCisKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAi5peg5rOV6Kej5p6Q5p+x6Z2i5pWwIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBoZWFkcyIKKyN+IG1zZ3N0ciAi5peg5rOV6Kej5p6Q56OB5aS05pWwIgorCisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICLml6Dms5Xop6PmnpDmiYfljLrmlbAiCisKKyN+IG1zZ2lkICI6ICIKKyN+IG1zZ3N0ciAi77yaIgorCisjfiBtc2dpZCAiIC1iIDxzaXplPiAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+IG1zZ3N0ciAiIC1iIDxzaXplPiAgICAgICAgIOaJh+WMuuWkp+Wwjyg1MTIsIDEwMjQsIDIwNDgg5oiWIDQwOTYpXG4iCisKKyN+IG1zZ2lkICIgLWggICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+IG1zZ3N0ciAiIC1oICAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorCisjfiBtc2dpZCAiXG4iCisjfiBtc2dzdHIgIlxuIgorCisjfiBtc2dpZCAiIyIKKyN+IG1zZ3N0ciAiIyIKKworI34gbXNnaWQgImZzaXplIgorI34gbXNnc3RyICJmc2l6ZSIKKworI34gbXNnaWQgImJzaXplIgorI34gbXNnc3RyICJic2l6ZSIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBpcyBhbHJlYWR5IGRlZmluZWQuICBEZWxldGUgaXQgYmVmb3JlIHJlLWFkZGluZyBpdC4iCisjfiBtc2dzdHIgIuWIhuWMuiAlZCDlt7Lnu4/lrprkuYnjgILor7fliKDpmaTlroPlho3ph43mlrDmt7vliqDjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiUGFydGl0aW9uIHR5cGU6XG4iCisjfiAiICAgcCAgIHByaW1hcnkgKCV6ZCBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXpkIGZyZWUpXG4iCisjfiAiJXNcbiIKKyN+ICJTZWxlY3QgKGRlZmF1bHQgJWMpIgorI34gbXNnc3RyICIiCisjfiAi5YiG5Yy657G75Z6L77yaXG4iCisjfiAiICAgcCAgIOS4u+WIhuWMuiglemQg5Liq5Li75YiG5Yy677yMJWQg5Liq5omp5bGV5YiG5Yy677yMJXpkIOepuumXsilcbiIKKyN+ICIlc1xuIgorI34gIuivt+mAieaLqSjpu5jorqTkuLogJWMp77yaIgorCisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICIgICBlICAg5omp5bGV5YiG5Yy6IgorCisjfiBtc2dpZCAiTnIiCisjfiBtc2dzdHIgIk5yIgorCisjfiBtc2dpZCAiQUYiCisjfiBtc2dzdHIgIkFGIgorCisjfiBtc2dpZCAiSGQiCisjfiBtc2dzdHIgIkhkIgorCisjfiBtc2dpZCAiU2VjIgorI34gbXNnc3RyICJTZWMiCisKKyN+IG1zZ2lkICJDeWwiCisjfiBtc2dzdHIgIkN5bCIKKworI34gbXNnaWQgIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGUuIFByb2JhYmx5IHlvdSBzZWxlY3RlZCB0aGUgd3JvbmcgZGV2aWNlLiIKKyN+IG1zZ3N0ciAi6L+Z5Ly85LmO5LiN5piv5YiG5Yy66KGo44CC5oKo5Y+v6IO96YCJ6ZSZ5LqG6K6+5aSH44CCIgorCisjfiBtc2dpZCAiQmxvY2tzICIKKyN+IG1zZ3N0ciAi5Z2XICIKKworI34gbXNnaWQgIlN5c3RlbSIKKyN+IG1zZ3N0ciAi57O757ufIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICV6ZCBpcyBhbHJlYWR5IGRlZmluZWQuIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKKyN+IG1zZ3N0ciAi5YiG5Yy6ICV6ZCDlt7LlrprkuYnjgILor7fliKDpmaTlroPlho3ph43mlrDmt7vliqDjgIIiCisKKyN+IG1zZ2lkICJQdCMiCisjfiBtc2dzdHIgIlB0IyIKKworI34gbXNnaWQgIkluZm8iCisjfiBtc2dzdHIgIuS/oeaBryIKKworI34gbXNnaWQgIlNlY3RvciIKKyN+IG1zZ3N0ciAi5omH5Yy6IgorCisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCEiCisjfiBtc2dzdHIgIuejgeebmOS4iuWwhuS6p+eUn+mHjeWPoOWIhuWMuuOAguivt+WFiOS/ruWkjeWug++8gSIKKworI34gbXNnaWQgIldhcm5pbmc6ICBCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWvuSAlcyDmiafooYwgQkxLR0VUU0laRSBpb2N0bCDlpLHotKXjgILlsIbkvb/nlKjmn7HpnaLlgLwgJWxsdeOAguWvueWkp+S6jiAzMy44R0Ig55qE6K6+5aSH6L+Z5Liq5YC85Y+v6IO95Lya5oiq55+t44CCIgorCisjfiBtc2dpZCAiRmxhZyIKKyN+IG1zZ3N0ciAi5qCH5b+XIgorCisjfiBtc2dpZCAiIgorI34gIiAlMSRzIFtvcHRpb25zXSBMQUJFTD08bGFiZWw+XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIFVVSUQ9PHV1aWQ+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgJTEkcyBb6YCJ6aG5XSBMQUJFTD08bGFiZWw+XG4iCisjfiAiICUxJHMgW+mAiemhuV0gVVVJRD08dXVpZD5cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBidWlsdC1pbiBmaWx0ZXJzLCBwcmludCBhbGwgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgQVNDSUkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSB0aGUgb3V0cHV0IG9mIGRmKDEpXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4gZGlyZWN0aW9uIG9mIHNlYXJjaCwgJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBjb252ZXJ0IHRhZ3MgKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIHRvIGRldmljZSBuYW1lc1xuIgorI34gIiAtRiwgLS10YWItZmlsZSA8cGF0aD4gIGFsdGVybmF0aXZlIGZpbGUgZm9yIC0tZnN0YWIsIC0tbXRhYiBvciAtLWtlcm5lbCBvcHRpb25zXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1BLCAtLWFsbCAgICAgICAgICAgICAg56aB55So5omA5pyJ5YaF5bu66L+H5ruk5Zmo77yM5omT5Y2w5omA5pyJ5paH5Lu257O757ufXG4iCisjfiAiIC1hLCAtLWFzY2lpICAgICAgICAgICAg5L2/55SoIEFTQ0lJIOi/m+ihjOagkeagvOW8j+WMllxuIgorI34gIiAtYywgLS1jYW5vbmljYWxpemUgICAgIOinhOiMg+i+k+WHuui3r+W+hFxuIgorI34gIiAtRCwgLS1kZiAgICAgICAgICAgICAgIOS7v+eFpyBkZigxKSDlvaLlvI/ovpPlh7pcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDzor40+ICAg5pCc57Si5pa55ZCR77yM4oCcZm9yd2FyZOKAneaIluKAnGJhY2t3YXJk4oCdXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAg5bCG5qCH5b+XKExBQkVMLFVVSUQsUEFSVFVVSUQsUEFSVExBQkVMKVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAg6L2s5o2i5Li66K6+5aSH5ZCNXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDzot6/lvoQ+ICAtLWZzdGFi44CBLS1tdGFiIOaIliAtLWtlcm5lbCDpgInpobnnmoTlpIfpgInmlofku7ZcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICDlj6rmiZPljbDmib7liLDnmoTnrKzkuIDkuKrmlofku7bns7vnu59cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorI34gIiAtTiwgLS10YXNrIDx0aWQ+ICAgICAgIHVzZSBhbHRlcm5hdGl2ZSBuYW1lc3BhY2UgKC9wcm9jLzx0aWQ+L21vdW50aW5mbyBmaWxlKVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1pLCAtLWludmVydCAgICAgICAgICAg5Y+N6L2s5Yy56YWN6KeE5YiZXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg5L2/55So5YiX6KGo5qC85byP55qE6L6T5Ye6XG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAg5L2/55So5aSH6YCJ5ZCN5a2X56m66Ze0KC9wcm9jLzx0aWQ+L21vdW50aW5mbyDmlofku7YpXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAg5LiN5omT5Y2w5YiX5qCH6aKYXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAg5LiN5oiq55+t5YiX5Lit55qE5paH5pysXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgZG9uJ3QgcHJpbnQgWy9kaXJdIGZvciBiaW5kIG9yIGJ0cmZzIG1vdW50c1xuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIHRoZSBkZXZpY2UgdG8gbW91bnQgKGJ5IG5hbWUsIG1hajptaW4sIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgTEFCRUw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorI34gIiAtVCwgLS10YXJnZXQgPHN0cmluZz4gIHRoZSBtb3VudHBvaW50IHRvIHVzZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC12LCAtLW5vZnNyb290ICAgICAgICAgYmluZCDmiJYgYnRyZnMg5oyC6Ie35pe25LiN5omT5Y2wIFsvZGlyXVxuIgorI34gIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIOaJk+WNsOWMuemFjeaWh+S7tuezu+e7n+eahOaJgOacieWtkOaMguiHt1xuIgorI34gIiAtUywgLS1zb3VyY2UgPOWtl+espuS4sj4gIOimgeaMguiHt+eahOiuvuWkhyjmjInlkI3np7DjgIHkuLvorr7lpIflj7fvvJrmrKHorr7lpIflj7fjgIFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgIExBQkVMPeOAgVVVSUQ944CBQVJUVVVJRD3jgIFBUlRMQUJFTD0pXG4iCisjfiAiIC1ULCAtLXRhcmdldCA85a2X56ym5LiyPiAg6KaB5L2/55So55qE5oyC6Ie354K5XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+IHVzZSBmaWxlIGFzIGEgY29va2llIHNlZWRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiwgLS1maWxlIDzmlofku7Y+IOS9v+eUqOaMh+WumuaWh+S7tuS9nOS4uiBjb29raWUgc2VlZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICDop6Pph4rmraPlnKjov5vooYznmoTmk43kvZxcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiQm90aCAtLXBpZCBhbmQgLS1uby1waWQgc3BlY2lmaWVkLiBJZ25vcmluZyAtLW5vLXBpZC4iCisjfiBtc2dzdHIgIuWQjOaXtuaMh+WumuS6hiAtLXBpZCDlkowgLS1uby1waWTjgILlsIblv73nlaUgLS1uby1waWTjgIIiCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya6K+75Y+WICVzIOWHuumUme+8miVzIgorCisjfiBtc2dpZCAid2FybmluZzogY2FuJ3Qgb3BlbiAlczogJXMiCisjfiBtc2dzdHIgIuitpuWRiu+8muaJk+S4jeW8gCAlc++8miVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICLmjILovb3vvJrmiZPkuI3lvIAgJXMgLSDlsIbovaznlKggJXNcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIuaXoOazleWIm+W7uumUgeaWh+S7tiAlc++8miVzICjlj6/kvb/nlKggLW4g5qCH5b+X6KaG55uWKSIKKworI34gbXNnaWQgImNhbid0IGxpbmsgbG9jayBmaWxlICVzOiAlcyAodXNlIC1uIGZsYWcgdG8gb3ZlcnJpZGUpIgorI34gbXNnc3RyICLml6Dms5Xpk77mjqXplIHmlofku7YgJXPvvJolcyAo5Y+v5L2/55SoIC1uIOagh+W/l+imhueblikiCisKKyN+IG1zZ2lkICJjYW4ndCBvcGVuIGxvY2sgZmlsZSAlczogJXMgKHVzZSAtbiBmbGFnIHRvIG92ZXJyaWRlKSIKKyN+IG1zZ3N0ciAi5omT5LiN5byA6ZSB5paH5Lu2ICVz77yaJXMgKOWPr+S9v+eUqCAtbiDmoIflv5fopobnm5YpIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIuaXoOazlemUgeWumumUgeaWh+S7tiAlc++8miVzXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBsb2NrIGxvY2sgZmlsZSAlczogJXMiCisjfiBtc2dzdHIgIuaXoOazlemUgeWumumUgeaWh+S7tiAlc++8miVzIgorCisjfiBtc2dpZCAiIgorI34gIkNhbm5vdCBjcmVhdGUgbGluayAlc1xuIgorI34gIlBlcmhhcHMgdGhlcmUgaXMgYSBzdGFsZSBsb2NrIGZpbGU/XG4iCisjfiBtc2dzdHIgIiIKKyN+ICLml6Dms5XliJvlu7rpk77mjqUgJXNcbiIKKyN+ICLmnInkuIDkuKrov4fmnJ/nmoTplIHmlofku7blkJfvvJ9cbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzICglcykgLSBtdGFiIG5vdCB1cGRhdGVkIgorI34gbXNnc3RyICLml6Dms5XmiZPlvIAgJXMgKCVzKSAtIG10YWIg5pyq5pu05pawIgorCisjfiBtc2dpZCAiZXJyb3Igd3JpdGluZyAlczogJXMiCisjfiBtc2dzdHIgIuWGmSAlcyDlh7rplJnvvJolcyIKKworI34gbXNnaWQgIiVzOiBjYW5ub3QgZmZsdXNoIGNoYW5nZXM6ICVzIgorI34gbXNnc3RyICIlc++8muaXoOazlSBmZmx1c2gg5pu05pS577yaJXMiCisKKyN+IG1zZ2lkICJlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICLmm7TmlLkgJXMg55qE5qih5byP5Ye66ZSZ77yaJXNcbiIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG93bmVyIG9mICVzOiAlc1xuIgorI34gbXNnc3RyICLmm7TmlLkgJXMg55qE5omA5pyJ6ICF5aSx6LSl77yaJXNcbiIKKworI34gbXNnaWQgImNhbid0IHJlbmFtZSAlcyB0byAlczogJXNcbiIKKyN+IG1zZ3N0ciAi5peg5rOV5bCGICVzIOaUueWQjeS4uiAlc++8miVzXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAibW91bnQ6IHdhcm5pbmc6IC9ldGMvbXRhYiBpcyBub3Qgd3JpdGFibGUgKGUuZy4gcmVhZC1vbmx5IGZpbGVzeXN0ZW0pLlxuIgorI34gIiAgICAgICBJdCdzIHBvc3NpYmxlIHRoYXQgaW5mb3JtYXRpb24gcmVwb3J0ZWQgYnkgbW91bnQoOCkgaXMgbm90XG4iCisjfiAiICAgICAgIHVwIHRvIGRhdGUuIEZvciBhY3R1YWwgaW5mb3JtYXRpb24gYWJvdXQgc3lzdGVtIG1vdW50IHBvaW50c1xuIgorI34gIiAgICAgICBjaGVjayB0aGUgL3Byb2MvbW91bnRzIGZpbGUuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJtb3VudO+8mi9ldGMvbXRhYiDkuI3lj6/lhpko5q+U5aaC5piv5Y+q6K+75paH5Lu257O757ufKeOAglxuIgorI34gIiAgICAgICBtb3VudCg4KSDmiqXlkYrnmoTkv6Hmga/lj6/og73kuI3mmK/mnIDmlrDnmoTjgIJcbiIKKyN+ICIgICAgICAg5pyJ5YWz57O757uf5oyC6L2954K555qE5a6e6ZmF5L+h5oGv6K+35qOA5p+lXG4iCisjfiAiICAgICAgIC9wcm9jL21vdW50cyDojrflj5bjgIJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbXByb3Blcmx5IHF1b3RlZCBvcHRpb24gc3RyaW5nICclcyciCisjfiBtc2dzdHIgIm1vdW5077ya6YCJ6aG55a2X56ym5Liy4oCcJXPigJ3lvJXlj7fmsqHmnInmraPnoa7pl63lkIgiCisKKyN+IG1zZ2lkICJtb3VudDogdHJhbnNsYXRlZCAlcyAnJXMnIHRvICclcydcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrlt7LlsIYgJXMg4oCcJXPigJ3ovazmjaLkuLrigJwlc+KAnVxuIgorCisjfiBtc2dpZCAibW91bnQ6IFNFTGludXggKmNvbnRleHQ9IG9wdGlvbnMgYXJlIGlnbm9yZSBvbiByZW1vdW50LlxuIgorI34gbXNnc3RyICJtb3VudO+8mlNFTGludXggKmNvbnRleHQ9IOmAiemhuemHjeaWsOaMgui9veS8muaXtuW/veeVpeOAglxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5qC55o2uIG10YWLvvIwlcyDlt7LmjILovb3kuo4gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5qC55o2uIG10YWLvvIwlcyDmjILovb3kuo4gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5peg5rOV5omT5byAICVzIOi/m+ihjOWGmeWFpe+8miVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudO+8muWGmSAlcyDlh7rplJnvvJolcyIKKworI34gbXNnaWQgIm1vdW50OiBlcnJvciBjaGFuZ2luZyBtb2RlIG9mICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrmm7TmlLkgJXMg55qE5qih5byP5Ye66ZSZ77yaJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIm1vdW5077ya5peg5rOV6K6+572u57uEIGlk77yaJW0iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnTvvJrml6Dms5Xorr7nva7nlKjmiLcgaWTvvJolbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5peg5rOVIGZvcmvvvJolcyIKKworI34gbXNnaWQgIlRyeWluZyAlc1xuIgorI34gbXNnc3RyICLmraPlnKjlsJ3or5UgJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB5b3UgZGlkbid0IHNwZWNpZnkgYSBmaWxlc3lzdGVtIHR5cGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5oKo5rKh5pyJ5oyH5a6aICVzIOeahOaWh+S7tuezu+e7n+exu+Wei1xuIgorCisjfiBtc2dpZCAiICAgICAgIEkgd2lsbCB0cnkgYWxsIHR5cGVzIG1lbnRpb25lZCBpbiAlcyBvciAlc1xuIgorI34gbXNnc3RyICIgICAgICAg56iL5bqP5bCG5bCd6K+VICVzIOaIliAlcyDkuK3mj5DliLDnmoTmiYDmnInnsbvlnotcbiIKKworI34gbXNnaWQgIiAgICAgICBhbmQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIHN3YXBzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAg6L+Z5Ly85LmO5piv5Lqk5o2i56m66Ze0XG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgICDnqIvluo/lsIblsJ3or5UgJXMg57G75Z6LXG4iCisKKyN+IG1zZ2lkICIlcyBsb29rcyBsaWtlIHN3YXBzcGFjZSAtIG5vdCBtb3VudGVkIgorI34gbXNnc3RyICIlcyDkvLzkuY7mmK/kuqTmjaLnqbrpl7QgLSDmnKrmjILovb0iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6ICVzOiBtb3JlIGZpbGVzeXN0ZW1zIGRldGVjdGVkLiBUaGlzIHNob3VsZCBub3QgaGFwcGVuLFxuIgorI34gIiAgICAgICB1c2UgLXQgPHR5cGU+IHRvIGV4cGxpY2l0bHkgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIG9yXG4iCisjfiAiICAgICAgIHVzZSB3aXBlZnMoOCkgdG8gY2xlYW4gdXAgdGhlIGRldmljZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW5077yaJXPvvJrmo4DmtYvliLDkuobmm7TlpJrmlofku7bns7vnu5/jgILov5nkuI3lupTor6Xlj5HnlJ/vvIwgXG4iCisjfiAiICAgICAgIOivt+S9v+eUqCAtdCA857G75Z6LPiDmnaXmmI7noa7mjIflrprmlofku7bns7vnu5/nsbvlnovmiJZcbiIKKyN+ICIgICAgICAg5L2/55SoIHdpcGVmcyg4KSDmnaXmuIXnkIborr7lpIfjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIG1vdW50ICVzIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8muWPquaciSByb290IOaJjeiDveWwhiAlcyDmjILovb3kuo4gJXMiCisKKyN+IG1zZ2lkICJtb3VudDogbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudO+8muWbnueOr+iuvuWkh+aMh+WumuS6huS4pOasoSIKKworI34gbXNnaWQgIm1vdW50OiB0eXBlIHNwZWNpZmllZCB0d2ljZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrnsbvlnovmjIflrprkuobkuKTmrKEiCisKKyN+IG1zZ2lkICJtb3VudDogc2tpcHBpbmcgdGhlIHNldHVwIG9mIGEgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrlsIbot7Pov4flm57njq/orr7lpIfnmoTorr7nva5cbiIKKworI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5bCG5ZCv55SoIOiHquWKqOa4hemZpCDnjq/lm57orr7lpIfmoIflv5dcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmjIflrprkuobml6DmlYjnmoTlgY/np7vigJwlc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmjIflrprkuobml6DmlYjnmoTlpKflsI/pmZDliLbigJwlc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMgYXMgbG9vcCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmoLnmja4gbXRhYu+8jCVzIOW3suS9nOS4uuWbnueOr+iuvuWkh+aMgui9veS6jiAlcyIKKworI34gbXNnaWQgImVuY3J5cHRpb24gbm90IHN1cHBvcnRlZCwgdXNlIGNyeXB0c2V0dXAoOCkgaW5zdGVhZCIKKyN+IG1zZ3N0ciAi5LiN5pSv5oyB5Yqg5a+G77yM6K+35pS555SoIGNyeXB0c2V0dXAoOCkiCisKKyN+IG1zZ2lkICJtb3VudDogZmFpbGVkIHRvIGluaXRpYWxpemUgbG9vcGRldiBjb250ZXh0IgorI34gbXNnc3RyICJtb3VudO+8muWIneWni+WMliBsb29wZGV2IOeOr+Wig+Wksei0pSIKKworI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrkvb/nlKggJXMg6K6+5aSH5aSx6LSlIgorCisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudO+8muafpeaJvuepuumXsueahOWbnueOr+iuvuWkh+Wksei0pSIKKworI34gbXNnaWQgIm1vdW50OiBnb2luZyB0byB1c2UgdGhlIGxvb3AgZGV2aWNlICVzXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5bCG5L2/55So5Zue546v6K6+5aSHICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGZhaWxlZCB0byBzZXQgbG9vcGRldiBhdHRyaWJ1dGVzIgorI34gbXNnc3RyICJtb3VudO+8miVz77ya6K6+572u5Zue546v6K6+5aSH5bGe5oCn5aSx6LSlIgorCisjfiBtc2dpZCAibW91bnQ6ICVzOiBmYWlsZWQgc2V0dGluZyB1cCBsb29wIGRldmljZTogJW0iCisjfiBtc2dzdHIgIuaMguiHt++8miVz77ya6K6+572u5Zue546v6K6+5aSH5aSx6LSl77yaJW0iCisKKyN+IG1zZ2lkICJtb3VudDogc3RvbGVuIGxvb3A9JXMgLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIm1vdW5077ya6KKr5oyq55So5Zue546vPSVzIC4uLuWwhumHjeivlVxuIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIgorI34gbXNnc3RyICLmjILovb3vvJrooqvmjKrnlKjlm57njq89JXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW5077ya6K6+572u5Zue546v6K6+5aSH5oiQ5YqfXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5pyq5om+5YiwICVzIC0g5bCG5Yib5bu65a6DLi4uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW5077ya5peg5rOV5omT5byAICVzIOadpeiuvue9rumAn+W6piIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHNwZWVkOiAlbSIKKyN+IG1zZ3N0ciAibW91bnTvvJrml6Dms5Xorr7nva7pgJ/luqbvvJolbSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiwgJXMgaXMgYWxyZWFkeSBtb3VudGVkIG9uICVzXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5qC55o2uIG10YWLvvIwlcyDlt7LmjILovb3kuo4gJXNcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtd3JpdGUuXG4iCisjfiBtc2dzdHIgIm1vdW50ZWTvvJrorablkYrvvJolcyDkvLzkuY7mmK/ku6Xor7vlhpnmlrnlvI/mjILovb3nmoTjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAi5oyC6L2977ya6K2m5ZGK77yaJXMg5Ly85LmO5piv5Lul5Y+q6K+75pa55byP5oyC6L2955qE44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIm1vdW5077ya56iL5bqP5peg5rOV56Gu5a6a5paH5Lu257O757uf57G75Z6L77yM5bm25LiU5rKh5pyJ5oyH5a6aIgorCisjfiBtc2dpZCAibW91bnQ6IHlvdSBtdXN0IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrmgqjlv4XpobvmjIflrprmlofku7bns7vnu5/nsbvlnosiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICJtb3VudO+8muaMgui9veWksei0pSIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBub3QgYSBkaXJlY3RvcnkiCisjfiBtc2dzdHIgIm1vdW5077ya5oyC6L2954K5ICVzIOS4jeaYr+S4gOS4quebruW9lSIKKworI34gbXNnaWQgIm1vdW50OiBwZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmnYPpmZDkuI3otrMiCisKKyN+IG1zZ2lkICJtb3VudDogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdXNlIG1vdW50IgorI34gbXNnc3RyICJtb3VudO+8muW/hemhu+aYr+i2hee6p+eUqOaIt+aJjeiDveS9v+eUqCBtb3VudCIKKworI34gbXNnaWQgIm1vdW50OiBwcm9jIGFscmVhZHkgbW91bnRlZCIKKyN+IG1zZ3N0ciAibW91bnTvvJpwcm9jIOW3suaMgui9vSIKKworI34gbXNnaWQgIm1vdW50OiAlcyBhbHJlYWR5IG1vdW50ZWQgb3IgJXMgYnVzeSIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDlt7LmjILovb3miJYgJXMg5b+ZIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudO+8muaMgui9veeCuSAlcyDkuI3lrZjlnKgiCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCisjfiBtc2dzdHIgIm1vdW5077ya5oyC6L2954K5ICVzIOaYr+S4gOS4quayoeacieebruagh+S9jee9rueahOespuWPt+mTvuaOpSIKKworI34gbXNnaWQgIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKKyN+IG1zZ3N0ciAibW91bnTvvJrnibnmrororr7lpIcgJXMg5LiN5a2Y5ZyoIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiBzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdFxuIgorI34gIiAgICAgICAoYSBwYXRoIHByZWZpeCBpcyBub3QgYSBkaXJlY3RvcnkpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudO+8mueJueauiuiuvuWkhyAlcyDkuI3lrZjlnKhcbiIKKyN+ICIgICAgICAgKOi3r+W+hOWJjee8gOS4jeaYr+ebruW9lSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogd3JvbmcgZnMgdHlwZSwgYmFkIG9wdGlvbiwgYmFkIHN1cGVyYmxvY2sgb24gJXMsXG4iCisjfiAiICAgICAgIG1pc3NpbmcgY29kZXBhZ2Ugb3IgaGVscGVyIHByb2dyYW0sIG9yIG90aGVyIGVycm9yIgorI34gbXNnc3RyICIiCisjfiAibW91bnTvvJrmlofku7bns7vnu5/nsbvlnovplJnor6/jgIHpgInpobnplJnor6/jgIElcyDmnInlnY/otoXnuqflnZfvvIxcbiIKKyN+ICIgICAgICAg57y65bCR5Luj56CB6aG15oiW5Yqp5omL56iL5bqP77yM5oiW5YW25LuW6ZSZ6K+vIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICAoY291bGQgdGhpcyBiZSB0aGUgSURFIGRldmljZSB3aGVyZSB5b3UgaW4gZmFjdCB1c2VcbiIKKyN+ICIgICAgICAgaWRlLXNjc2kgc28gdGhhdCBzcjAgb3Igc2RhIG9yIHNvIGlzIG5lZWRlZD8pIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICjov5nmmK/kuI3mmK/kuIDlj7DpgJrov4cgaWRlLXNjc2kg5pa55byP5L2/55So55qEIElERSDorr7lpIfvvIxcbiIKKyN+ICIgICAgICAg5Zug6ICM6ZyA6KaBIHNyMCDmiJYgc2RhIOaIliBzb++8nykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAo5oKo5LiN5piv6KaB6K+V5Zu+5oyC6L295LiA5Liq5omp5bGV5YiG5Yy677yM6ICM6Z2e5omp5bGV5YiG5Yy65Lit55qEXG4iCisjfiAiICAgICAgIOS4gOS6m+mAu+i+keWIhuWMuuWQp++8nykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gaXMgZm91bmQgaW4gc3lzbG9nIC0gdHJ5XG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAgb3Igc29cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICDmnInkupvmg4XlhrXkuIvlnKggc3lzbG9nIOS4reWPr+S7peaJvuWIsOS4gOS6m+acieeUqOS/oeaBry0g6K+35bCd6K+VXG4iCisjfiAiICAgICAgIGRtZXNnIHwgdGFpbCAg6L+Z5qC355qE5ZG95Luk55yL55yL44CCXG4iCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IGNhbid0IHJlYWQgc3VwZXJibG9jayIKKyN+IG1zZ3N0ciAibW91bnTvvJolc++8muaXoOazleivu+WPlui2hee6p+WdlyIKKworI34gbXNnaWQgIm1vdW50OiAlczogdW5rbm93biBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW5077yaJXPvvJrmnKrnn6Xorr7lpIciCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnTvvJrmnKrnn6Xmlofku7bns7vnu5/nsbvlnovigJwlc+KAnSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5oKo5Y+v6IO95oyH55qE5pivICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudO+8muWPr+iDveaCqOaMh+eahOaYr+KAnGlzbzk2NjDigJ3vvJ8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW5077ya5Y+v6IO95oKo5oyH55qE5piv4oCcdmZhdOKAne+8nyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW5077yaJXMg6K6+5aSH5Y+36ZSZ6K+v5oiW5LiN5pSv5oyB5paH5Lu257O757ufICVzIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudO+8miVzIOS4jeaYr+Wdl+iuvuWkh++8jOS4lCBzdGF0IOWRveS7pOWksei0pe+8nyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudO+8muWGheaguOaXoOazleWwhiAlcyDor4bliKvkuLrlnZforr7lpIdcbiIKKyN+ICIgICAgICAgKOivleivleKAnG1vZHByb2JlIGRyaXZlcuKAne+8nykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW5077yaJXMg5LiN5piv5Z2X6K6+5aSHKOimgeS4jeivleivleKAnC1vIGxvb3DigJ3vvJ8pIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyDkuI3mmK/lnZforr7lpIciCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgdmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudO+8miVzIOS4jeaYr+acieaViOeahOWdl+iuvuWkhyIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgbW91bnQgJXMlcyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW5077ya5peg5rOV5Lul5Y+q6K+75pa55byP5oyC6L29ICVzJXMiCisKKyN+IG1zZ2lkICJtb3VudDogJXMlcyBpcyB3cml0ZS1wcm90ZWN0ZWQgYnV0IGV4cGxpY2l0IGAtdycgZmxhZyBnaXZlbiIKKyN+IG1zZ3N0ciAibW91bnTvvJolcyVzIOaYr+WGmeS/neaKpOeahO+8jOS9huaMh+aYjuS6huKAnC134oCd5qCH5b+XIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCByZW1vdW50ICVzJXMgcmVhZC13cml0ZSwgaXMgd3JpdGUtcHJvdGVjdGVkIgorI34gbXNnc3RyICJtb3VudO+8muaXoOazleS7peivu+WGmeaWueW8j+mHjeaWsOaMgui9vSAlcyVz77yM5a6D5piv5YaZ5L+d5oqk55qEIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW5077yaJXMlcyDlhpnkv53miqTvvIzlsIbku6Xlj6ror7vmlrnlvI/mjILovb0iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8muWcqCAlcyDkuIrmib7kuI3liLDlqpLkvZMiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBuZnMgYmVjYXVzZSBvZiB0aGUgY29sb25cbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrmsqHmnInmjIflrprnsbvlnosgLSDnqIvluo/lsIbmoLnmja7lhpLlj7flgYflrprkuLogbmZzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gdHlwZSB3YXMgZ2l2ZW4gLSBJJ2xsIGFzc3VtZSBjaWZzIGJlY2F1c2Ugb2YgdGhlIC8vIHByZWZpeFxuIgorI34gbXNnc3RyICJtb3VudO+8muayoeacieaMh+Wumuexu+WeiyAtIOeoi+W6j+WwhuagueaNriAvLyDliY3nvIDlgYflrprkuLogY2lmc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IGlnbm9yZSAlcyAodW5wYXJzYWJsZSBvZmZzZXQ9IG9wdGlvbilcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrlv73nlaUgJXMo5peg5rOV6Kej5p6Q55qEIG9mZnNldD0g6YCJ6aG5KVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiBtb3VudCAtViAgICAgICAgICAgICAgICAgOiBwcmludCB2ZXJzaW9uXG4iCisjfiAiICAgICAgIG1vdW50IC1oICAgICAgICAgICAgICAgICA6IHByaW50IHRoaXMgaGVscFxuIgorI34gIiAgICAgICBtb3VudCAgICAgICAgICAgICAgICAgICAgOiBsaXN0IG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAgIDogaWRlbSwgaW5jbHVkaW5nIHZvbHVtZSBsYWJlbHNcbiIKKyN+ICJTbyBmYXIgdGhlIGluZm9ybWF0aW9uYWwgcGFydC4gTmV4dCB0aGUgbW91bnRpbmcuXG4iCisjfiAiVGhlIGNvbW1hbmQgaXMgYG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmUnLlxuIgorI34gIkRldGFpbHMgZm91bmQgaW4gL2V0Yy9mc3RhYiBtYXkgYmUgb21pdHRlZC5cbiIKKyN+ICIgICAgICAgbW91bnQgLWEgWy10fC1PXSAuLi4gICAgIDogbW91bnQgYWxsIHN0dWZmIGZyb20gL2V0Yy9mc3RhYlxuIgorI34gIiAgICAgICBtb3VudCBkZXZpY2UgICAgICAgICAgICAgOiBtb3VudCBkZXZpY2UgYXQgdGhlIGtub3duIHBsYWNlXG4iCisjfiAiICAgICAgIG1vdW50IGRpcmVjdG9yeSAgICAgICAgICA6IG1vdW50IGtub3duIGRldmljZSBoZXJlXG4iCisjfiAiICAgICAgIG1vdW50IC10IHR5cGUgZGV2IGRpciAgICA6IG9yZGluYXJ5IG1vdW50IGNvbW1hbmRcbiIKKyN+ICJOb3RlIHRoYXQgb25lIGRvZXMgbm90IHJlYWxseSBtb3VudCBhIGRldmljZSwgb25lIG1vdW50c1xuIgorI34gImEgZmlsZXN5c3RlbSAob2YgdGhlIGdpdmVuIHR5cGUpIGZvdW5kIG9uIHRoZSBkZXZpY2UuXG4iCisjfiAiT25lIGNhbiBhbHNvIG1vdW50IGFuIGFscmVhZHkgdmlzaWJsZSBkaXJlY3RvcnkgdHJlZSBlbHNld2hlcmU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tYmluZCBvbGRkaXIgbmV3ZGlyXG4iCisjfiAib3IgbW92ZSBhIHN1YnRyZWU6XG4iCisjfiAiICAgICAgIG1vdW50IC0tbW92ZSBvbGRkaXIgbmV3ZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgbW91bnQgY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAiT25lIGNhbiBjaGFuZ2UgdGhlIHR5cGUgb2YgYWxsIHRoZSBtb3VudHMgaW4gYSBtb3VudCBzdWJ0cmVlXG4iCisjfiAiY29udGFpbmluZyB0aGUgZGlyZWN0b3J5IGRpcjpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJ1bmJpbmRhYmxlIGRpclxuIgorI34gIkEgZGV2aWNlIGNhbiBiZSBnaXZlbiBieSBuYW1lLCBzYXkgL2Rldi9oZGExIG9yIC9kZXYvY2Ryb20sXG4iCisjfiAib3IgYnkgbGFiZWwsIHVzaW5nICAtTCBsYWJlbCAgb3IgYnkgdXVpZCwgdXNpbmcgIC1VIHV1aWQgLlxuIgorI34gIk90aGVyIG9wdGlvbnM6IFstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF0uXG4iCisjfiAiRm9yIG1hbnkgbW9yZSBkZXRhaWxzLCBzYXkgIG1hbiA4IG1vdW50IC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIueUqOazle+8miBtb3VudCAtViAgICAgICAgICAgICAgICAgOiDmiZPljbDniYjmnKxcbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDog5omT5Y2w5q2k5biu5YqpXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IOWIl+WHuuW3suaMguiHt+eahOaWh+S7tuezu+e7n1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiDlkIzkuIrvvIzljIXlkKvljbfmoIdcbiIKKyN+ICLku6XkuIrkuLrkv6Hmga/pg6jliIbjgILku6XkuIvmmK/mjILoh7fjgIJcbiIKKyN+ICLmjILoh7flkb3ku6TkuLrigJxtb3VudCBbLXQg5paH5Lu257O757uf57G75Z6LXSDlvoXmjILoh7fpobkg5oyC6Ie35L2N572u4oCd44CCXG4iCisjfiAi5ZyoIC9ldGMvZnN0YWIg5Lit5YiX5Ye655qE57uG6IqC5Y+v5Lul5b+955Wl44CCXG4iCisjfiAiICAgICAgIG1vdW50IC1hIFstdHwtT10gLi4uICAgICA6IOaMguiHtyAvZXRjL2ZzdGFiIOS4reeahOaJgOaciemhuVxuIgorI34gIiAgICAgICBtb3VudCDorr7lpIcgICAgICAgICAgICAgICA6IOaMguiHt+acquefpeS9jee9rueahOiuvuWkh1xuIgorI34gIiAgICAgICBtb3VudCDnm67lvZUgICAgICAgICAgICAgICA6IOWwhuW3suefpeiuvuWkh+aMguiHt+WIsOatpOWkhFxuIgorI34gIiAgICAgICBtb3VudCAtdCDnsbvlnosg6K6+5aSHIOebruW9lSAgOiDmraPluLjmjILoh7flkb3ku6RcbiIKKyN+ICLms6jmhI/vvIzmjILoh7forr7lpIflhbblrp7mmK8o5Lul5oyH5a6a57G75Z6LKeaMguiHt+iuvuWkh+S4iueahOaWh+S7tuezu+e7n+OAglxuIgorI34gIlxuIgorI34gIuS5n+WPr+S7peWwhuW3sue7j+WPr+ingeeahOebruW9leagkeaMguiHt+WIsOWIq+WkhO+8mlxuIgorI34gIiAgICAgICBtb3VudCAtLWJpbmQg5pen55uu5b2VIOaWsOebruW9lVxuIgorI34gIuaIluenu+WKqOWtkOagke+8mlxuIgorI34gIiAgICAgICBtb3VudCAtLW1vdmUg5pen55uu5b2VIOaWsOebruW9lVxuIgorI34gIuWPr+S7peaUueWPmOWMheWQqyBkaXIg55uu5b2V55qE5oyC6Ie355qE57G75Z6L77yaXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zaGFyZWQgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1zbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS11bmJpbmRhYmxlIGRpclxuIgorI34gIuWPr+S7peaMh+WumuWMheWQqyBkaXIg55uu5b2V55qE5bey5oyC6Ie35a2Q5qCR5LitXG4iCisjfiAi5omA5pyJ5oyC6Ie355qE57G75Z6L77yaXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1yc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1ydW5iaW5kYWJsZSBkaXJcbiIKKyN+ICLlj6/ku6XpgJrov4flkI3np7DmjIflrprorr7lpIfvvIzlpoIgL2Rldi9oZGExIOaIliAvZGV2L2Nkcm9t77yMXG4iCisjfiAi5oiW5L2/55SoIC1MIOagh+etviDmjInmoIfnrb7mjIflrprorr7lpIfvvIzmiJbogIXkvb/nlKggLVUgdXVpZCDmjIkgdXVpZCDmjIflrprjgIJcbiIKKyN+ICLlhbbku5bpgInpobnvvJpbLW5mRnJzdnddIFstbyDpgInpobldIFstcCDlr4bnoIHmlofku7bmj4/ov7DnrKZdLlxuIgorI34gIuabtOWkmue7huiKgu+8jOivt+i+k+WFpSBtYW4gOCBtb3VudCDkuobop6PjgIJcbiIKKworI34gbXNnaWQgIi0tcGFzcy1mZCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIgorI34gbXNnc3RyICItLXBhc3MtZmQg5bey5LiN5YaN5pSv5oyBIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCisjfiBtc2dzdHIgIuaMguiHt++8muWPquaciSByb290IOeUqOaIt+aJjeiDveaJp+ihjCjmnInmlYggVUlEIOS4uiAldSkiCisKKyN+IG1zZ2lkICJtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICLmjILoh7fvvJrlj6rmnIkgcm9vdCDnlKjmiLfmiY3og73miafooYwiCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICLmnKrmjILoh7fku7vkvZXpobnnm64iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIuaMguiHt++8muayoeacieaJvuWIsOivpeWIhuWMuiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBmaW5kICVzIGluICVzIG9yICVzIgorI34gbXNnc3RyICJtb3VudO+8muWcqCAlMiRzIOaIliAlMyRzIOS4reaJvuS4jeWIsCAlMSRzIgorCisjfiBtc2dpZCAiW21udGVudF06IHdhcm5pbmc6IG5vIGZpbmFsIG5ld2xpbmUgYXQgdGhlIGVuZCBvZiAlc1xuIgorI34gbXNnc3RyICJbbW50ZW50Xe+8muitpuWRiu+8miVzIOacq+WwvuayoeacieS7peepuuihjOe7k+adn1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF3vvJolMiRzIOS4reeahOesrCAlMSRkIOihjOacieivryUzJHNcbiIKKworI34gbXNnaWQgIjsgcmVzdCBvZiBmaWxlIGlnbm9yZWQiCisjfiBtc2dzdHIgIu+8m+aWh+S7tueahOWFtuS9memDqOWIhuiiq+W/veeVpSIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJ1bW91bnTvvJrnvJbor5Hml7bmnKrmt7vliqAgLWYg5pSv5oyBXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnTvvJrml6Dms5Xorr7nva7nu4QgaWTvvJolbSIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IHNldCB1c2VyIGlkOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW5077ya5peg5rOV6K6+572u55So5oi3IGlk77yaJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBmb3JrOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW5077ya5peg5rOVIGZvcmvvvJolcyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGludmFsaWQgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJ1bW91bnTvvJolc++8muaXoOaViOeahOWdl+iuvuWkhyIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBtb3VudGVkIgorI34gbXNnc3RyICJ1bW91bnTvvJolc++8muacquaMgui9vSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudO+8miVz77ya5peg5rOV5YaZ6LaF57qn5Z2XIgorCisjfiBtc2dpZCAiIgorI34gInVtb3VudDogJXM6IGRldmljZSBpcyBidXN5LlxuIgorI34gIiAgICAgICAgKEluIHNvbWUgY2FzZXMgdXNlZnVsIGluZm8gYWJvdXQgcHJvY2Vzc2VzIHRoYXQgdXNlXG4iCisjfiAiICAgICAgICAgdGhlIGRldmljZSBpcyBmb3VuZCBieSBsc29mKDgpIG9yIGZ1c2VyKDEpKSIKKyN+IG1zZ3N0ciAiIgorI34gInVtb3VudO+8miVz77ya6K6+5aSH5b+Z44CCXG4iCisjfiAiICAgICAgICAo5pyJ5Lqb5oOF5Ya15LiL5ZyoIGxzb2YoOCkg5oiWIGZ1c2VyKDEpKSDkuK3lj6/ku6Xmib7liLBcbiIKKyN+ICIgICAgICAgICDmnInlhbPkvb/nlKjor6Xorr7lpIfnmoTov5vnqIvnmoTmnInnlKjkv6Hmga8iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgZm91bmQiCisjfiBtc2dzdHIgInVtb3VudO+8miVz77ya5pyq5om+5YiwIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogbXVzdCBiZSBzdXBlcnVzZXIgdG8gdW1vdW50IgorI34gbXNnc3RyICJ1bW91bnTvvJolc++8muWPquaciei2hee6p+eUqOaIt+aJjeiDveWNuOi9vSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGJsb2NrIGRldmljZXMgbm90IHBlcm1pdHRlZCBvbiBmcyIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXPvvJrmlofku7bns7vnu5/kuIrkuI3lhYHorrjlnZforr7lpIciCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXPvvJolcyIKKworI34gbXNnaWQgInVtb3VudDogaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgYWJzIHBhdGg6ICVzIgorI34gbXNnc3RyICJ1bW91bnTvvJrlhoXpg6jplJnor6/vvJrml6DmlYjnmoTnu53lr7not6/lvoTvvJolcyIKKworI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW5077ya5pu05pS555uu5b2V5YiwICVzIOWksei0pe+8miVtIgorCisjfiBtc2dpZCAidW1vdW50OiBmYWlsZWQgdG8gb2J0YWluIGN1cnJlbnQgZGlyZWN0b3J5OiAlbSIKKyN+IG1zZ3N0ciAidW1vdW5077ya6I635Y+W5b2T5YmN55uu5b2V5aSx6LSl77yaJW0iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IG1vdW50cG9pbnQgbW92ZWQgKCVzIC0+ICVzKSIKKyN+IG1zZ3N0ciAidW1vdW5077ya5oyC6L2954K55bey56e75YqoKCVzIC0+ICVzKSIKKworI34gbXNnaWQgImN1cnJlbnQgZGlyZWN0b3J5IG1vdmVkIHRvICVzXG4iCisjfiBtc2dzdHIgIuW9k+WJjeebruW9leW3suenu+WKqOWIsCAlc1xuIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICLml6AgdW1vdW50Mu+8jOWwhuWwneivlSB1bW91bnQuLi5cbiIKKworI34gbXNnaWQgInVtb3VudDogJXMgYnVzeSAtIHJlbW91bnRlZCByZWFkLW9ubHlcbiIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXMg5b+ZIC0g5bey6YeN5paw5oyC6L295Li65Y+q6K+7XG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNvdWxkIG5vdCByZW1vdW50ICVzIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnTvvJrml6Dms5Xku6Xlj6ror7vmlrnlvI/ph43mlrDmjILovb0gJXNcbiIKKworI34gbXNnaWQgIiVzIGhhcyBiZWVuIHVubW91bnRlZFxuIgorI34gbXNnc3RyICIlcyDlt7Lnu4/ljbjovb1cbiIKKworI34gbXNnaWQgInVtb3VudDogY2Fubm90IGZpbmQgbGlzdCBvZiBmaWxlc3lzdGVtcyB0byB1bm1vdW50IgorI34gbXNnc3RyICJ1bW91bnTvvJrmib7kuI3liLDopoHljbjovb3nmoTmlofku7bns7vnu5/liJfooagiCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IHVtb3VudCAtaCB8IC1WXG4iCisjfiAiICAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICAgdW1vdW50IFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBzcGVjaWFsIHwgbm9kZS4uLlxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yadW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQg5paH5Lu257O757uf57G75Z6LXSBbLU8g6YCJ6aG5XVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIOeJueauiiB8IOiKgueCuS4uLlxuIgorCisjfiBtc2dpZCAiZmFpbGVkIHRvIHBhcnNlICdvZmZzZXQ9JXMnIG9wdGlvbnNcbiIKKyN+IG1zZ3N0ciAi6Kej5p6QICdvZmZzZXQ9JXMnIOmAiemhueWksei0pVxuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICLorr7lpIcgJXMg5LiOICVzIOWFs+iBlFxuIgorCisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICLml6Dms5Xljbjovb0gXCJcIlxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjb25mdXNlZCB3aGVuIGFuYWx5emluZyBtdGFiIgorI34gbXNnc3RyICJ1bW91bnTvvJrliIbmnpAgbXRhYiDml7blh7rnjrDmt7fkubEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCB1bm1vdW50ICVzIC0tICVzIGlzIG1vdW50ZWQgb3ZlciBpdCBvbiB0aGUgc2FtZSBwb2ludCIKKyN+IG1zZ3N0ciAidW1vdW5077ya5peg5rOV5Y246L29ICVzIC0tICVzIOW3suWcqOWQjOS4gOaMgui9veeCueS4iuaMgui9veabv+aNouS6huWugyIKKworI34gbXNnaWQgIkNvdWxkIG5vdCBmaW5kICVzIGluIG10YWJcbiIKKyN+IG1zZ3N0ciAi5ZyoIG10YWIg5Lit5om+5LiN5YiwICVzXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6IHdhcm5pbmc6ICVzIGlzIGFzc29jaWF0ZWQgd2l0aCBtb3JlIHRoYW4gb25lIGxvb3AgZGV2aWNlXG4iCisjfiBtc2dzdHIgInVtb3VudO+8muitpuWRiu+8miVzIOS4jui2hei/h+S4gOS4quWbnueOr+iuvuWkh+WFs+iBlFxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBpcyBub3QgbW91bnRlZCAoYWNjb3JkaW5nIHRvIG10YWIpIgorI34gbXNnc3RyICJ1bW91bnTvvJolcyDmnKrmjILovb0o5LuOIG10YWIg5b6X55+lKSIKKworI34gbXNnaWQgInVtb3VudDogaXQgc2VlbXMgJXMgaXMgbW91bnRlZCBtdWx0aXBsZSB0aW1lcyIKKyN+IG1zZ3N0ciAidW1vdW5077ya5Ly85LmOICVzIOaMgui9veS6huWkmuasoSIKKworI34gbXNnaWQgInVtb3VudDogJXMgaXMgbm90IGluIHRoZSBmc3RhYiAoYW5kIHlvdSBhcmUgbm90IHJvb3QpIgorI34gbXNnc3RyICJ1bW91bnTvvJolcyDkuI3lnKggZnN0YWIg5LitKOW5tuS4lOaCqOS4jeaYryByb290IOeUqOaItykiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXMg5oyC6L295LiOIGZzdGFiIOS4jeS4gOiHtCIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnTvvJrlj6rmnIkgJXMg5Y+v5Lul5LuOICVzIOS4iuWNuOi9vSAlcyIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnTvvJrlj6rmnIkgcm9vdCDog73miafooYzor6Xmk43kvZwiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiJTEkcyAtIHNldHMgb3IgZ2V0cyBwcm9jZXNzIGlvIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5LlxuIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAgJTEkcyBbT1BUSU9OXSAtcCBQSUQgW1BJRC4uLl1cbiIKKyN+ICIgICUxJHMgW09QVElPTl0gQ09NTUFORFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgc2NoZWR1bGluZyBjbGFzcyBuYW1lIG9yIG51bWJlclxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDA6IG5vbmUsIDE6IHJlYWx0aW1lLCAyOiBiZXN0LWVmZm9ydCwgMzogaWRsZVxuIgorI34gIiAgLW4sIC0tY2xhc3NkYXRhIDxudW0+IHNjaGVkdWxpbmcgY2xhc3MgZGF0YVxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgIDAtNyBmb3IgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0IGNsYXNzZXNcbiIKKyN+ICIgIC1wLCAtLXBpZD1QSUQgICAgICAgICB2aWV3IG9yIG1vZGlmeSBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc1xuIgorI34gIiAgLXQsIC0taWdub3JlICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIiUxJHMgLSDorr7nva7miJbojrflj5bov5vnqIsgaW8g6LCD5bqm57G75Yir5ZKM5LyY5YWI57qn44CCXG4iCisjfiAiXG4iCisjfiAi55So5rOV77yaXG4iCisjfiAiICAlMSRzIFvpgInpobldIC1wIFBJRCBbUElELi4uXVxuIgorI34gIiAgJTEkcyBb6YCJ6aG5XSDlkb3ku6RcbiIKKyN+ICJcbiIKKyN+ICLpgInpobnvvJpcbiIKKyN+ICIgIC1jLCAtLWNsYXNzIDznsbs+ICAgICAg6LCD5bqm57G75Yir5ZCN5oiW5pWw5a2XXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMO+8muaXoO+8jDHvvJrlrp7ml7bvvIwy77ya5bC96YePKGJlc3QtZWZmb3J0Ke+8jDPvvJrnqbrpl7JcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA85pWw5a2XPiDosIPluqbnsbvliKvmlbDmja5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTfvvIzpkojlr7kg5a6e5pe2IOWSjCDlsL3ph48g6LCD5bqm57G75YirXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAg5p+l55yL5oiW5L+u5pS55bey6L+Q6KGM55qE6L+b56iLXG4iCisjfiAiICAtdCwgLS1pZ25vcmUgICAgICAgICAg5b+955Wl5aSx6LSlXG4iCisjfiAiICAtViwgLS12ZXJzaW9uICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiICAtaCwgLS1oZWxwICAgICAgICAgICAg5pi+56S65q2k5biu5Yqp5bm26YCA5Ye6XG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YCJ6aG5XSA8dHR5PiBbLi4uXVxuIgorCisjfiBtc2dpZCAiIC1zLCAtLXNldC10aHJlc2hvbGQgPG51bT4gICAgICAgICAgc2V0IGludGVycnVwdGlvbiB0aHJlc2hvbGQgdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC1zLCAtLXNldC10aHJlc2hvbGQgPOaVsOWtlz4gICAgICAgICDorr7nva7kuK3mlq3pmIjlgLxcbiIKKworI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDzmlbDlrZc+IOiuvue9rum7mOiupOmYiOWAvFxuIgorCisjfiBtc2dpZCAiIC10LCAtLXNldC1mbHVzaCA8bnVtPiAgICAgICAgICAgICAgc2V0IGZsdXNoIHRpbWVvdXQgdG8gdmFsdWVcbiIKKyN+IG1zZ3N0ciAiIC10LCAtLXNldC1mbHVzaCA85pWw5a2XPiAgICAgICAgICAgICDorr7nva7lhrLliLcoZmx1c2gp6LaF5pe25YC8XG4iCisKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPOaVsOWtlz4gICAgIOiuvue9rum7mOiupOWGsuWIt+i2heaXtlxuIgorCisjfiBtc2dpZCAiIC1pLCAtLWludGVydmFsIDxzZWNvbmRzPiAgICAgICAgICAgZ2F0aGVyIHN0YXRpc3RpY3MgZXZlcnkgPHNlY29uZHM+IGludGVydmFsXG4iCisjfiBtc2dzdHIgIiAtaSwgLS1pbnRlcnZhbCA856eS5pWwPiAgICAgICAgICAgICAg5q+P6ZqU6L+Z5LqbIDznp5LmlbA+IOaUtumbhuS4gOasoee7n+iuoVxuIgorCisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1LCBNYXhpbXVtIGNoYXJhY3RlcnMgaW4gZmlmbyB3ZXJlICVkLFxuIgorI34gImFuZCB0aGUgbWF4aW11bSB0cmFuc2ZlciByYXRlIGluIGNoYXJhY3RlcnMvc2Vjb25kIHdhcyAlZiIKKyN+IG1zZ3N0ciAiIgorI34gIuaWh+S7tiAlc++8jOWvueW6lOmYiOWAvCAlbHXvvIxmaWZvIOS4reeahOacgOWkp+Wtl+espuaVsOS4uiAlZO+8jFxuIgorI34gIuacgOWkp+S8oOi+k+mAn+W6pijlrZfoioIv56eSKeS4uiAlZiIKKworI34gbXNnaWQgIiIKKyN+ICJGaWxlICVzLCBGb3IgdGhyZXNob2xkIHZhbHVlICVsdSBhbmQgdGltZW91dCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAi5paH5Lu2ICVz77yM5a+55bqU6ZiI5YC8ICVsdSDlkozotoXml7YgJWx177yMZmlmbyDkuK3nmoTmnIDlpKflrZfnrKbmlbDkuLogJWTvvIxcbiIKKyN+ICLmnIDlpKfkvKDovpPpgJ/luqYo5a2X6IqCL+enkinkuLogJWYiCisKKyN+IG1zZ2lkICJjYW5ub3QgaXNzdWUgQ1lHRVRNT04gb24gJXMiCisjfiBtc2dzdHIgIuaXoOazleWvuSAlcyDlrp7mlr0gQ1lHRVRNT04g5ZG95LukIgorCisjfiBtc2dpZCAiY2Fubm90IGdldCB0aHJlc2hvbGQgZm9yICVzIgorI34gbXNnc3RyICLml6Dms5Xojrflj5YgJXMg55qE6ZiI5YC8IgorCisjfiBtc2dpZCAiY2Fubm90IGdldCB0aW1lb3V0IGZvciAlcyIKKyN+IG1zZ3N0ciAi5peg5rOV6I635Y+WICVzIOeahOi2heaXtiIKKworI34gbXNnaWQgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgaW50cywgJWx1LyVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiBpbnQv56eSOyAlZiByZWMsICVmIOWPkemAgSAoY2hhci/np5IpXG4iCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdSBjaGFyczsgZmlmbzogJWx1IHRocmVzaCwgJWx1IHRtb3V0LCAlbHUgbWF4LCAlbHUgbm93XG4iCisjfiBtc2dzdHIgIiVzOiAlbHUgaW50cywgJWx1IGNoYXJzOyBmaWZvOiAlbHUgdGhyZXNoLCAlbHUgdG1vdXQsICVsdSBtYXgsICVsdSBub3dcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIGludC/np5I7ICVmIHJlYyAoY2hhci/np5IpXG4iCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlIgorI34gbXNnc3RyICLml6DmlYjnmoTpl7TpmpTlgLwiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGludGVydmFsIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAi5peg5pWI55qE6Ze06ZqU5YC877yaJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZSIKKyN+IG1zZ3N0ciAi5peg5pWI55qE6K6+572u5YC8IgorCisjfiBtc2dpZCAiSW52YWxpZCBzZXQgdmFsdWU6ICVkIgorI34gbXNnc3RyICLml6DmlYjnmoTorr7nva7lgLzvvJolZCIKKworI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAi5peg5pWI55qE6buY6K6k5YC8IgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAi5peg5pWI55qE6buY6K6k5YC877yaJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlIgorI34gbXNnc3RyICLml6DmlYjnmoTorr7nva7ml7bpl7TlgLwiCisKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAi5peg5pWI55qE6K6+572u5pe26Ze05YC877yaJWQiCisKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZSIKKyN+IG1zZ3N0ciAi5peg5pWI55qE6buY6K6k5pe26Ze05YC8IgorCisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWU6ICVkIgorI34gbXNnc3RyICLml6DmlYjnmoTpu5jorqTml7bpl7TlgLzvvJolZCIKKworI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICLml6Dms5XlsIYgJXMg6K6+572u5Li66ZiI5YC8ICVkIgorCisjfiBtc2dpZCAiY2Fubm90IHNldCAlcyB0byB0aW1lIHRocmVzaG9sZCAlZCIKKyN+IG1zZ3N0ciAi5peg5rOV5bCGICVzIOiuvue9ruS4uuaXtumXtOmYiOWAvCAlZCIKKworI34gbXNnaWQgIiVzOiAlbGQgY3VycmVudCB0aHJlc2hvbGQgYW5kICVsZCBjdXJyZW50IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXPvvJolbGQg55qE5b2T5YmN6ZiI5YC85ZKMICVsZCDnmoTlvZPliY3otoXml7ZcbiIKKworI34gbXNnaWQgIiVzOiAlbGQgZGVmYXVsdCB0aHJlc2hvbGQgYW5kICVsZCBkZWZhdWx0IHRpbWVvdXRcbiIKKyN+IG1zZ3N0ciAiJXPvvJolbGQg55qE6buY6K6k6ZiI5YC85ZKMICVsZCDnmoTpu5jorqTotoXml7ZcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0ta2VlcC1zaXplICAgICBkb24ndCBtb2RpZnkgdGhlIGxlbmd0aCBvZiB0aGUgZmlsZVxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgIHB1bmNoIGhvbGVzIGluIHRoZSBmaWxlXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IG9mIHRoZSBhbGxvY2F0aW9uLCBpbiBieXRlc1xuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1rZWVwLXNpemUgICAgIOS4jeS/ruaUueaWh+S7tumVv+W6plxuIgorI34gIiAtcCwgLS1wdW5jaC1ob2xlICAgIOWcqOaWh+S7tuS4reeVmeWHuuepuua0nlxuIgorI34gIiAtbywgLS1vZmZzZXQgPOaVsOWtlz4gIOWIhumFjeeahOWBj+enuyjlrZfoioLmlbApXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA85pWw5a2XPiAg5YiG6YWN55qE6ZW/5bqmKOWtl+iKguaVsClcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPG51bT4gbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDzmlbDlrZc+ICDopoHkuKLlvIPlhoXlrrnnmoTotbflp4vlgY/np7vph49cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDzmlbDlrZc+ICDku47lgY/np7vph4/lvIDlp4vnmoTkuKLlvIPplb/luqZcbiIKKyN+ICIgLW0sIC0tbWluaW11bSA85pWw5a2XPiDopoHkuKLlvIPnmoTmnIDlsI/ojIPlm7Tplb/luqZcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAg5omT5Y2w5Lii5byD5a2X6IqC55qE6ZW/5bqmXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVGltZSBlbGFwc2VkIHNpbmNlIHJlZmVyZW5jZSB0aW1lIGhhcyBiZWVuICUuNmYgc2Vjb25kcy5cbiIKKyN+ICJEZWxheWluZyBmdXJ0aGVyIHRvIHJlYWNoIHRoZSBuZXcgdGltZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuaXtumXtOS7juWPguiAg+aXtuWIu+i1t+W3sua1gemAnSAlLjZmIOenkuOAglxuIgorI34gIuWwhuW7tui/n+abtOmVv+aXtumXtOadpeWIsOi+vuaWsOaXtumXtOOAglxuIgorCisjfiBtc2dpZCAiIC10ZXJtIDx0ZXJtaW5hbF9uYW1lPlxuIgorI34gbXNnc3RyICIgLXRlcm0gPOe7iOerr+WQjT5cbiIKKworI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiIC1yZXNldFxuIgorCisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAtaW5pdGlhbGl6ZVxuIgorCisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1hcHBjdXJzb3JrZXlzIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtbGluZXdyYXAgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgLWRlZmF1bHRcbiIKKworI34gbXNnaWQgIiAtZm9yZWdyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWZvcmVncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtYmFja2dyb3VuZCA8ZGVmYXVsdHxibGFja3xibHVlfGN5YW58Z3JlZW58bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorI34gbXNnc3RyICIgLWJhY2tncm91bmQgPGRlZmF1bHR8YmxhY2t8Ymx1ZXxjeWFufGdyZWVufG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKworI34gbXNnaWQgIiAtaGJjb2xvciA8YmxhY2t8Ymx1ZXxicmlnaHR8Y3lhbnxncmVlbnxncmV5fG1hZ2VudGF8cmVkfHdoaXRlfHllbGxvdz5cbiIKKyN+IG1zZ3N0ciAiIC1oYmNvbG9yIDxibGFja3xibHVlfGJyaWdodHxjeWFufGdyZWVufGdyZXl8bWFnZW50YXxyZWR8d2hpdGV8eWVsbG93PlxuIgorCisjfiBtc2dpZCAiIC1pbnZlcnNlc2NyZWVuIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ib2xkIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAtYm9sZCA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1ibGluayA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLWJsaW5rIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXJldmVyc2UgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisKKyN+IG1zZ2lkICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgLXVuZGVybGluZSA8b258b2ZmPlxuIgorCisjfiBtc2dpZCAiIC1zdG9yZVxuIgorI34gbXNnc3RyICIgLXN0b3JlXG4iCisKKyN+IG1zZ2lkICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+IG1zZ3N0ciAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisKKyN+IG1zZ2lkICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorI34gbXNnc3RyICIgLXRhYnMgPHRhYjEgdGFiMiB0YWIzIC4uLj4gICAgICAodGFibiA9IDEtMTYwKVxuIgorCisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKworI34gbXNnaWQgIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiBtc2dzdHIgIiAtcmVndGFicyA8MS0xNjA+XG4iCisKKyN+IG1zZ2lkICIgLWJsYW5rIDwwLTYwfGZvcmNlfHBva2U+XG4iCisjfiBtc2dzdHIgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKworI34gbXNnaWQgIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWR1bXAgICA8MS1OUl9DT05TT0xFUz5cbiIKKworI34gbXNnaWQgIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gbXNnc3RyICIgLWFwcGVuZCA8MS1OUl9DT05TT0xFUz5cbiIKKworI34gbXNnaWQgIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+IG1zZ3N0ciAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorCisjfiBtc2dpZCAiIC1tc2cgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiIC1tc2cgPG9ufG9mZj5cbiIKKworI34gbXNnaWQgIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+IG1zZ3N0ciAiIC1tc2dsZXZlbCA8MC04PlxuIgorCisjfiBtc2dpZCAiIC1wb3dlcmRvd24gPDAtNjA+XG4iCisjfiBtc2dzdHIgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorCisjfiBtc2dpZCAiIC1ibGVuZ3RoIDwwLTIwMDA+XG4iCisjfiBtc2dzdHIgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorCisjfiBtc2dpZCAiIC1iZnJlcSBmcmVxbnVtYmVyXG4iCisjfiBtc2dzdHIgIiAtYmZyZXEgZnJlcW51bWJlclxuIgorCisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICLlhpnlsY/luZXovazlgqjlpLHotKUiCisKKyN+IG1zZ2lkICJDb3VsZG4ndCByZWFkIG5laXRoZXIgL2Rldi92Y3NhMCBub3IgL2Rldi92Y3NhIgorI34gbXNnc3RyICLml6Dms5Xor7sgL2Rldi92Y3NhMCDmiJYgL2Rldi92Y3NhIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yaJXMgW+mAiemhuV0g5paH5Lu2Li4uXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgIC1kICAgICAgICBkaXNwbGF5IGhlbHAgaW5zdGVhZCBvZiByaW5nIGJlbGxcbiIKKyN+ICIgIC1mICAgICAgICBjb3VudCBsb2dpY2FsLCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKKyN+ICIgIC1sICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKKyN+ICIgIC1wICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIgorI34gIiAgLWMgICAgICAgIGRvIG5vdCBzY3JvbGwsIGRpc3BsYXkgdGV4dCBhbmQgY2xlYW4gbGluZSBlbmRzXG4iCisjfiAiICAtdSAgICAgICAgc3VwcHJlc3MgdW5kZXJsaW5pbmdcbiIKKyN+ICIgIC1zICAgICAgICBzcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lXG4iCisjfiAiICAtTlVNICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGxpbmVzIHBlciBzY3JlZW5mdWxcbiIKKyN+ICIgICtOVU0gICAgICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXIgTlVNXG4iCisjfiAiICArL1NUUklORyAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKKyN+ICIgIC1WICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAi6YCJ6aG577yaXG4iCisjfiAiICAtZCAgICAgICAg5pi+56S65biu5Yqp77yM6ICM5LiN5piv5ZON6ZODXG4iCisjfiAiICAtZiAgICAgICAg57uf6K6h6YC76L6R6KGM5pWw6ICM5LiN5piv5bGP5bmV6KGM5pWwXG4iCisjfiAiICAtbCAgICAgICAg5oqR5Yi25o2i6aG1KGZvcm0gZmVlZCnlkI7nmoTmmoLlgZxcbiIKKyN+ICIgIC1wICAgICAgICDkuI3mu5rlsY/vvIzmuIXlsY/lubbmmL7npLrmlofmnKxcbiIKKyN+ICIgIC1jICAgICAgICDkuI3mu5rlsY/vvIzmmL7npLrmlofmnKzlubbmuIXnkIbooYzlsL5cbiIKKyN+ICIgIC11ICAgICAgICDmipHliLbkuIvliJLnur9cbiIKKyN+ICIgIC1zICAgICAgICDlsIblpJrkuKrnqbrooYzljovnvKnkuLrkuIDooYxcbiIKKyN+ICIgIC1OVU0gICAgICDmjIflrprmr4/lsY/mmL7npLrnmoTooYzmlbDkuLogTlVNXG4iCisjfiAiICArTlVNICAgICAg5LuO5paH5Lu256ysIE5VTSDooYzlvIDlp4vmmL7npLpcbiIKKyN+ICIgICsvU1RSSU5HICDku47ljLnphY3mkJzntKLlrZfnrKbkuLIgU1RSSU5HIOeahOaWh+S7tuS9jee9ruW8gOWni+aYvuekulxuIgorI34gIiAgLVYgICAgICAgIOi+k+WHuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorCisjfiBtc2dpZCAibGluZSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAi6KGM6L+H6ZW/IgorCisjfiBtc2dpZCAic2V0IGJsb2Nrc2l6ZSIKKyN+IG1zZ3N0ciAi6K6+572u5Z2X5aSn5bCPIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICLkuIDkuKrlnY/lnZdcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiB0eXBlIGhleCBvciB1dWlkIgorI34gbXNnc3RyICLliIbljLrnsbvlnosg5Y2B5YWt6L+b5Yi2IOaIliB1dWlkIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiICVzIFvpgInpobldIOiuvuWkh1xuIgorCisjfiBtc2dpZCAicmVhZCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIuivu+Wksei0pe+8miVzIgorCisjfiBtc2dpZCAic2VlayBmYWlsZWQgJXMiCisjfiBtc2dzdHIgIuWumuS9jeWksei0pe+8miVzIgorCisjfiBtc2dpZCAic2VlayBmYWlsZWQ6ICVkIgorI34gbXNnc3RyICLlrprkvY3lpLHotKXvvJolZCIKKworI34gbXNnaWQgIndyaXRlIGZhaWxlZDogJWQiCisjfiBtc2dzdHIgIuWGmeWksei0pe+8miVkIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgJWQgZXJyb3IocykuIgorI34gbXNnc3RyICLmo4DmtYvliLAgJWQg5Liq6ZSZ6K+v44CCIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkIgorI34gbXNnc3RyICLmnKrlrprkuYnliIbljLoiCisKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZCwgLS1kZXRhY2ggPGxvb3BkZXY+IFsuLi5dICBkZXRhY2ggb25lIG9yIG1vcmUgZGV2aWNlc1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICBkZXRhY2ggYWxsIHVzZWQgZGV2aWNlc1xuIgorI34gIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIKKyN+ICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIGRldmljZVxuIgorI34gIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICDliJflh7rmiYDmnInkvb/nlKjnmoTorr7lpIdcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDzlm57njq/orr7lpIc+IFsuLi5dIOaWreW8gOS4gOS4quaIluWkmuS4quiuvuWkh1xuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICDmlq3lvIDmiYDmnInkvb/nlKjnmoTorr7lpIdcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAg5p+l5om+56ys5LiA5Liq5pyq5L2/55So55qE6K6+5aSHXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA85Zue546v6K6+5aSHPiDosIPmlbTorr7lpIflpKflsI9cbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA85paH5Lu2PiAgICAgICDliJflh7rmiYDmnInkuI4gPOaWh+S7tj4g5YWz6IGU55qE6K6+5aSHXG4iCisKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSwgb2Zmc2V0IGlzIG5vdCA1MTItYnl0ZSBhbGlnbmVkLiIKKyN+IG1zZ3N0ciAiJXPvvJrorr7nva7lm57njq/orr7lpIflpLHotKXvvIzlgY/np7vmsqHmnInlr7npvZAgNTEyIOWtl+iKguOAgiIKKworI34gbXNnaWQgInVuc3N1cG9ydGVkIC0tbG9jYWwtbGluZSBtb2RlIGFyZ3VtZW50IgorI34gbXNnc3RyICLkuI3mlK/mjIHnmoQgLS1sb2NhbC1saW5lIOaooeW8j+WPguaVsCIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICLnlKjms5U6XG4iCisKKyN+IG1zZ2lkICJcdE5PVEU6IGVsdnR1bmUgb25seSB3b3JrcyB3aXRoIDIuNCBrZXJuZWxzXG4iCisjfiBtc2dzdHIgIlx05rOo77yaZWx2dHVuZSDlj6rog73kuI4gMi40IOWGheaguOmFjeWQiOS9v+eUqFxuIgorCisjfiBtc2dpZCAibWlzc2luZyBibG9ja2RldmljZSwgdXNlIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgIue8uuWwkeWdl+iuvuWkh++8jOivt+S9v+eUqCAtaCDojrflj5bluK7liqlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJlbHZ0dW5lIGlzIG9ubHkgdXNlZnVsIG9uIG9sZGVyIGtlcm5lbHM7XG4iCisjfiAiZm9yIDIuNiB1c2UgSU8gc2NoZWR1bGVyIHN5c2ZzIHR1bmFibGVzIGluc3RlYWQuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiZWx2dHVuZSDlj6rnlKjlnKjml6flhoXmoLjkuIrvvJtcbiIKKyN+ICLlr7nkuo4gMi42IOWGheaguO+8jOivt+i9rOeUqCBJTyDosIPluqblmaggc3lzZnMgdHVuYWJsZXMuLlxuIgorCisjfiBtc2dpZCAiZWRpdGlvbiBudW1iZXIgYXJndW1lbnQgZmFpbGVkIgorI34gbXNnc3RyICLkv67orqLniYjmnKzlj7cg5Y+C5pWw5aSx6LSlIgorCisjfiBtc2dpZCAiZnN5bmMgZmFpbGVkIgorI34gbXNnc3RyICJmc3luYyDlpLHotKUiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiUHJpbnQgdmVyc2lvbjpcbiIKKyN+ICIgICAgICAgICVzIC12XG4iCisjfiAiUHJpbnQgcGFydGl0aW9uIHRhYmxlOlxuIgorI34gIiAgICAgICAgJXMgLVAge3J8c3x0fSBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiSW50ZXJhY3RpdmUgdXNlOlxuIgorI34gIiAgICAgICAgJXMgW29wdGlvbnNdIGRldmljZVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiLWE6IFVzZSBhcnJvdyBpbnN0ZWFkIG9mIGhpZ2hsaWdodGluZztcbiIKKyN+ICItejogU3RhcnQgd2l0aCBhIHplcm8gcGFydGl0aW9uIHRhYmxlLCBpbnN0ZWFkIG9mIHJlYWRpbmcgdGhlIHB0IGZyb20gZGlzaztcbiIKKyN+ICItYyBDIC1oIEggLXMgUzogT3ZlcnJpZGUgdGhlIGtlcm5lbCdzIGlkZWEgb2YgdGhlIG51bWJlciBvZiBjeWxpbmRlcnMsXG4iCisjfiAiICAgICAgICAgICAgICAgIHRoZSBudW1iZXIgb2YgaGVhZHMgYW5kIHRoZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjay5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIuaJk+WNsOeJiOacrO+8mlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICLmiZPljbDliIbljLrooajvvJpcbiIKKyN+ICIgICAgICAgICVzIC1QIHtyfHN8dH0gW+mAiemhuV0g6K6+5aSHXG4iCisjfiAi5Lqk5LqS5byP5L2/55So77yaXG4iCisjfiAiICAgICAgICAlcyBb6YCJ6aG5XSDorr7lpIdcbiIKKyN+ICJcbiIKKyN+ICLpgInpobnvvJpcbiIKKyN+ICItYe+8muS9v+eUqOeureWktOS7o+abv+mrmOS6ru+8m1xuIgorI34gIi1677ya5Lul56m65YiG5Yy66KGo5ZCv5Yqo77yM6ICM6Z2e5LuO56OB55uY6K+75Y+W5YiG5Yy66KGo77ybXG4iCisjfiAiLWMgQyAtaCBIIC1zIFPvvJropobnm5blhoXmoLjmo4DmtYvliLDnmoTmn7HpnaLmlbDjgIHno4HlpLTmlbBcbiIKKyN+ICIgICAgICAgICAgICAgICAg5ZKM5omH5Yy6L+ejgemBk+aVsOOAglxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiV3JpdGluZyBkaXNrbGFiZWwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIuato+WcqOWwhuejgeebmOagh+etvuWGmeWFpSAlc+OAglxuIgorCisjfiBtc2dpZCAiTGFzdCAlcyBvciArc2l6ZSBvciArc2l6ZU0gb3IgK3NpemVLIgorI34gbXNnc3RyICLnu4jmraIgJXMg5oiWICtzaXplIOaIliArc2l6ZU0g5oiWICtzaXplSyIKKworI34gbXNnaWQgIlJlYWRpbmcgZGlza2xhYmVsIG9mICVzIGF0IHNlY3RvciAlZC5cbiIKKyN+IG1zZ3N0ciAi5LuO5omH5Yy6ICUyJGQg5L2N572u6K+75Y+WICUxJHMg55qE5qCH562+44CCXG4iCisKKyN+IG1zZ2lkICJCU0QgZGlza2xhYmVsIGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCisjfiBtc2dzdHIgIkJTRCDno4Hnm5jmoIfnrb7lkb3ku6Qo6L6T5YWlIG0g6I635Y+W5biu5YqpKe+8miIKKworI34gbXNnaWQgImRyaXZlZGF0YTogIgorI34gbXNnc3RyICLpqbHliqjmlbDmja7vvJoiCisKKyN+IG1zZ2lkICIjICAgICAgIHN0YXJ0ICAgICAgIGVuZCAgICAgIHNpemUgICAgIGZzdHlwZSAgIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKyN+IG1zZ3N0ciAiIyAgICAgICDotbfngrkgICAgICAgIOe7iOeCuSAgICAg5aSn5bCPICAgICDmlofku7bns7vnu58gW2ZzaXplIGJzaXplICAgY3BnXVxuIgorCisjfiBtc2dpZCAiTXVzdCBiZSA8PSBzZWN0b3JzL3RyYWNrICogdHJhY2tzL2N5bGluZGVyIChkZWZhdWx0KS5cbiIKKyN+IG1zZ3N0ciAi5b+F6aG7IDw9IOaJh+WMui/no4HpgZMgKiDno4HpgZMv5p+x6Z2iICjpu5jorqQp44CCXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gKGEtJWMpOiAiCisjfiBtc2dzdHIgIuWIhuWMuiAoYS0lYynvvJoiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU3luY2luZyBkaXNrcy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuato+WcqOWQjOatpeejgeebmFxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIFtvcHRpb25zXSA8ZGlzaz4gICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gIiAlMSRzIFtvcHRpb25zXSAtbCA8ZGlzaz4gbGlzdCBwYXJ0aXRpb24gdGFibGUocylcbiIKKyN+ICIgJTEkcyAtcyA8cGFydGl0aW9uPiAgICAgIGdpdmUgcGFydGl0aW9uIHNpemUocykgaW4gYmxvY2tzXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgPHNpemU+ICAgICAgICAgICAgIHNlY3RvciBzaXplICg1MTIsIDEwMjQsIDIwNDggb3IgNDA5NilcbiIKKyN+ICIgLWNbPTxtb2RlPl0gICAgICAgICAgIGNvbXBhdGlibGUgbW9kZTogJ2Rvcycgb3IgJ25vbmRvcycgKGRlZmF1bHQpXG4iCisjfiAiIC1oICAgICAgICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHAgdGV4dFxuIgorI34gIiAtdVs9PHVuaXQ+XSAgICAgICAgICAgZGlzcGxheSB1bml0czogJ2N5bGluZGVycycgb3IgJ3NlY3RvcnMnIChkZWZhdWx0KVxuIgorI34gIiAtdiAgICAgICAgICAgICAgICAgICAgcHJpbnQgcHJvZ3JhbSB2ZXJzaW9uXG4iCisjfiAiIC1DIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgY3lsaW5kZXJzXG4iCisjfiAiIC1IIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgaGVhZHNcbiIKKyN+ICIgLVMgPG51bWJlcj4gICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBzZWN0b3JzIHBlciB0cmFja1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yaXG4iCisjfiAiICUxJHMgW+mAiemhuV0gPOejgeebmD4gICAg5pu05pS55YiG5Yy66KGoXG4iCisjfiAiICUxJHMgW+mAiemhuV0gLWwgPOejgeebmD4g5YiX5Ye65YiG5Yy66KGoXG4iCisjfiAiICUxJHMgLXMgPOWIhuWMuj4gICAgICAgIOe7meWHuuWIhuWMuuWkp+WwjyjlnZfmlbApXG4iCisjfiAiXG4iCisjfiAi6YCJ6aG577yaXG4iCisjfiAiIC1iIDzlpKflsI8+ICAgICAgICAgICAgIOaJh+WMuuWkp+Wwjyg1MTLjgIExMDI044CBMjA0OOaIljQwOTYpXG4iCisjfiAiIC1jWz085qih5byPPl0gICAgICAgICAgIOWFvOWuueaooeW8j++8muKAnGRvc+KAneaIluKAnG5vbmRvc+KAnSjpu5jorqQpXG4iCisjfiAiIC1oICAgICAgICAgICAgICAgICAgICDmiZPljbDmraTluK7liqnmlofmnKxcbiIKKyN+ICIgLXVbPTzljZXkvY0+XSAgICAgICAgICAg5pi+56S65Y2V5L2N77ya4oCcY3lsaW5kZXJz4oCdKOafsemdoinmiJbigJxzZWN0b3Jz4oCdKOaJh+WMuu+8jOm7mOiupClcbiIKKyN+ICIgLXYgICAgICAgICAgICAgICAgICAgIOaJk+WNsOeoi+W6j+eJiOacrFxuIgorI34gIiAtQyA85pWw5a2XPiAgICAgICAgICAgICDmjIflrprmn7HpnaLmlbBcbiIKKyN+ICIgLUggPOaVsOWtlz4gICAgICAgICAgICAg5oyH5a6a56OB5aS05pWwXG4iCisjfiAiIC1TIDzmlbDlrZc+ICAgICAgICAgICAgIOaMh+Wumuavj+S4quejgemBk+eahOaJh+WMuuaVsFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIuaXoOazleWcqCAlcyDkuIrlrprkvY0iCisKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIuS4jeiDveWGmSAlcyIKKworI34gbXNnaWQgImZhdGFsIGVycm9yIgorI34gbXNnc3RyICLoh7Tlkb3plJnor68iCisKKyN+IG1zZ2lkICJDb21tYW5kIGFjdGlvbiIKKyN+IG1zZ3N0ciAi5ZG95Luk5pON5L2cIgorCisjfiBtc2dpZCAiWW91IG11c3Qgc2V0IgorI34gbXNnc3RyICLmgqjlv4Xpobvorr7nva4iCisKKyN+IG1zZ2lkICJoZWFkcyIKKyN+IG1zZ3N0ciAi56OB5aS0IgorCisjfiBtc2dpZCAiIGFuZCAiCisjfiBtc2dzdHIgIiDlkowgIgorCisjfiBtc2dpZCAiVW5zdXBwb3J0ZWQgc3VmZml4OiAnJXMnLlxuIgorI34gbXNnc3RyICLkuI3mlK/mjIHnmoTlkI7nvIDvvJrigJwlc+KAneOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlN1cHBvcnRlZDogMTBeTjogS0IgKEtpbG9CeXRlKSwgTUIgKE1lZ2FCeXRlKSwgR0IgKEdpZ2FCeXRlKVxuIgorI34gIiAgICAgICAgICAgIDJeTjogSyAgKEtpYmlCeXRlKSwgTSAgKE1lYmlCeXRlKSwgRyAgKEdpYmlCeXRlKVxuIgorI34gbXNnc3RyICIiCisjfiAi5pSv5oyB77yaMTBeTjogS0IgKOWNg+Wtl+iKgiksIE1CICjlhYblrZfoioIpLCBHQiAo5ZCJ5a2X6IqCKVxuIgorI34gIiAgICAgICAgICAgIDJeTjogSyAgKOe6puWNg+Wtl+iKgiksIE0gICjnuqblhYblrZfoioIpLCBHICAo57qm5ZCJ5a2X6IqCKVxuIgorCisjfiBtc2dpZCAiVXNpbmcgZGVmYXVsdCB2YWx1ZSAldVxuIgorI34gbXNnc3RyICLlsIbkvb/nlKjpu5jorqTlgLwgJXVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQgTUIsICVsbGQgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLno4Hnm5ggJXPvvJolbGQgTUIsICVsbGQg5a2X6IqCIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZC4lbGQgR0IsICVsbHUgYnl0ZXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLno4Hnm5ggJXPvvJolbGQuJWxkIEdCLCAlbGx1IOWtl+iKgiIKKworI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIu+8jCVsbHUg5Liq5omH5Yy6XG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgd3JpdGUgZGlzayBsYWJlbCIKKyN+IG1zZ3N0ciAi5peg5rOV5YaZ56OB55uY5qCH562+IgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkVycm9yIGNsb3NpbmcgZmlsZVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5YWz6Zet5paH5Lu25Ye66ZSZXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBzZXR0aW5nIHNlY3RvciBvZmZzZXQgZm9yIERPUyBjb21wYXRpYmlsaXR5XG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muS8muiuvue9ruaJh+WMuuWBj+enu+mHj+S7peS4jiBET1Mg5YW85a65XG4iCisKKyN+IG1zZ2lkICJEZXRlY3RlZCBhbiBPU0YvMSBkaXNrbGFiZWwgb24gJXMsIGVudGVyaW5nIGRpc2tsYWJlbCBtb2RlLlxuIgorI34gbXNnc3RyICLlnKggJXMg5LiK5qOA5rWL5YiwIE9TRi8xIOejgeebmOagh+etvu+8jOWwhui/m+WFpeejgeebmOagh+etvuaooeW8j+OAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IERPUy1jb21wYXRpYmxlIG1vZGUgaXMgZGVwcmVjYXRlZC4gSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0b1xuIgorI34gIiAgICAgICAgIHN3aXRjaCBvZmYgdGhlIG1vZGUgKHdpdGggY29tbWFuZCAnYycpLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuitpuWRiu+8mkRPUyDlhbzlrrnmqKHlvI/lt7Llup/lvIPjgILlvLrng4jlu7rorq7mgqjlhbPpl63or6XmqKHlvI8o55So4oCcY+KAneWRveS7pCnjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogY3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIFVzZSBjb21tYW5kICd1JyB0b1xuIgorI34gIiAgICAgICAgIGNoYW5nZSB1bml0cyB0byBzZWN0b3JzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5Lul5p+x6Z2i5L2c5Li65pi+56S65Y2V5L2N5bey5bqf5byD44CC6K+35L2/55So4oCcdeKAneWRveS7pOadpeWwhuWNleS9jeaUueS4uuaJh+WMuuOAglxuIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIuaWsOejgeebmOagh+ivhuespijlvZPliY3kuLogMHglMDh4Ke+8miIKKworI34gbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGVcbiIKKyN+IG1zZ3N0ciAi5rKh5pyJ56m66Zey5omH5Yy65Y+v55SoXG4iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgICDniannkIY9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgIumAu+i+kT0oJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGJhZCBzdGFydC1vZi1kYXRhIGluIHBhcnRpdGlvbiAlemRcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Yy6ICV6ZCDmlbDmja7otbfngrnmnInor69cbiIKKworI34gbXNnaWQgIkFkZGluZyBhIHByaW1hcnkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIua3u+WKoOS4u+WIhuWMulxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IElmIHlvdSBoYXZlIGNyZWF0ZWQgb3IgbW9kaWZpZWQgYW55IERPUyA2LnhwYXJ0aXRpb25zLCBwbGVhc2Ugc2VlIHRoZSBmZGlzayBtYW51YWwgcGFnZSBmb3IgYWRkaXRpb25hbGluZm9ybWF0aW9uLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5aaC5p6c5oKo5Yib5bu65oiW5L+u5pS55LqGIERPUyA2Lngg5YiG5Yy677yM6K+35p+l55yLIGZkaXNrIOaJi+WGjOmhtemdouS6huino+WFtuS7luS/oeaBr+OAglxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIOWQr+WKqCAgICAgIOi1t+eCuSAgICAgICAgICDnu4jngrkgICAgIOWdl+aVsCAgIElkICDns7vnu59cbiIKKworI34gbXNnaWQgIk5yIEFGICBIZCBTZWMgIEN5bCAgSGQgU2VjICBDeWwgICAgIFN0YXJ0ICAgICAgU2l6ZSBJRFxuIgorI34gbXNnc3RyICIiCisjfiAi5bqPIOWQryAg56OBIOaJh+WMuiDmn7HpnaIg56OBIOaJh+WMuiDmn7HpnaIgICAg6LW35aeLICAgICAgIOWkp+WwjyBJRFxuIgorI34gIuWPtyDliqggIOWktCAgICAgICAgICAg5aS0XG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx06K+l56OB55uY5LiK5pyJ5LiA5Liq5pyJ5pWI55qEIE1hYyDmoIfnrb7jgIJcbiIKKyN+ICJcdOW+iOS4jeW5uO+8jGZkaXNrKDEpIOaXoOazleaTjeS9nOi/meexu+ejgeebmOOAglxuIgorI34gIlx06K+35L2/55SoIHBkaXNrIOaIliBwYXJ0ZWQg5p2l5L+u5pS56K+l5YiG5Yy66KGo44CCXG4iCisjfiAiXHTku43nhLbmj5DphpLmgqjvvJpcbiIKKyN+ICJcdDEuIGZkaXNrIOWcqOWGmeWFpeaXtuS8muegtOWdj+ejgeebmOS4iueahOWGheWuueOAglxuIgorI34gIlx0Mi4g6K+356Gu5L+d6K+l56OB55uY5b2T5YmN4oCc5LiN5piv4oCd5p+Q5Liq5Y2357uEKHZvbHVtZSBncm91cClcbiIKKyN+ICJcdCAgIOeahOWFs+mUrumDqOWIhijlkKbliJnmgqjlj6/og73lkIzml7bmk6bpmaTnu4Tph4znmoTlhbbku5bno4Hnm5jvvIxcbiIKKyN+ICJcdCAgIOWmguaenOayoeaciemVnOWDj+Wkh+S7veeahOivneOAgilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcdFNvcnJ5IC0gdGhpcyBmZGlzayBjYW5ub3QgaGFuZGxlIE1hYyBkaXNrIGxhYmVscy5cbiIKKyN+ICJcdElmIHlvdSB3YW50IHRvIGFkZCBET1MtdHlwZSBwYXJ0aXRpb25zLCBjcmVhdGVcbiIKKyN+ICJcdGEgbmV3IGVtcHR5IERPUyBwYXJ0aXRpb24gdGFibGUgZmlyc3QuIChVc2Ugby4pXG4iCisjfiAiXHRXQVJOSU5HOiBUaGlzIHdpbGwgZGVzdHJveSB0aGUgcHJlc2VudCBkaXNrIGNvbnRlbnRzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXHTmirHmrYnvvIzor6XniYjmnKznmoQgZmRpc2sg5peg5rOV5pON5L2cIE1hYyDno4Hnm5jmoIfnrb7jgIJcbiIKKyN+ICJcdOWmguaenOaCqOaDs+a3u+WKoCBET1Mg57G75Z6L55qE5YiG5Yy677yM6K+35YWI5Yib5bu65LiA5Liq56m655qEXG4iCisjfiAiXHRET1Mg5YiG5Yy66KGoKOS9v+eUqCBvIOmAiemhueOAgilcbiIKKyN+ICJcdOitpuWRiu+8muatpOaTjeS9nOS8muegtOWdj+W9k+WJjeejgeebmOWGheWuueOAglxuIgorCisjfiBtc2dpZCAiQWNjb3JkaW5nIHRvIE1JUFMgQ29tcHV0ZXIgU3lzdGVtcywgSW5jIHRoZSBMYWJlbCBtdXN0IG5vdCBjb250YWluIG1vcmUgdGhhbiA1MTIgYnl0ZXNcbiIKKyN+IG1zZ3N0ciAi5qC55o2uIE1JUFMg6K6h566X5py657O757uf6KeE5a6a77yM5aKe5Yqg5qCH562+6ZW/5bqm5ZCO5LiN6IO96LaF6L+HIDUxMiDkuKrlrZfoioJcbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAiSUQ9JTAyeFx06LW35aeLPSVkXHTplb/luqY9JWRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJEb25lXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLlrozmiJBcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkNyZWF0ZWQgcGFydGl0aW9uICV6ZFxuIgorI34gbXNnc3RyICLlt7LliJvlu7rliIbljLogJXpkXG4iCisKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIC11IDxVU0VSPiBDT01NQU5EXG4iCisjfiBtc2dzdHIgIiAlcyBb6YCJ6aG5XSAtdSA8VVNFUj4gQ09NTUFORFxuIgorCisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBbLV0gW1VTRVIgW2FyZ10uLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YCJ6aG5XSBbLV0gW1VTRVIgW+WPguaVsF0uLi5dXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgZG8gbm90IGNyZWF0ZSBhIG5ldyBzZXNzaW9uXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOiAjOS4jeWIm+W7uuaWsOS8muivnVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtMSwgLS1vbmUgICAgICAgIHNob3cgb25seSBjdXJyZW50IG1vbnRoIChkZWZhdWx0KVxuIgorI34gIiAtMywgLS10aHJlZSAgICAgIHNob3cgcHJldmlvdXMsIGN1cnJlbnQgYW5kIG5leHQgbW9udGhcbiIKKyN+ICIgLXMsIC0tc3VuZGF5ICAgICBTdW5kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKKyN+ICIgLW0sIC0tbW9uZGF5ICAgICBNb25kYXkgYXMgZmlyc3QgZGF5IG9mIHdlZWtcbiIKKyN+ICIgLWosIC0tanVsaWFuICAgICBvdXRwdXQgSnVsaWFuIGRhdGVzXG4iCisjfiAiIC15LCAtLXllYXIgICAgICAgc2hvdyB3aG9sZSBjdXJyZW50IHllYXJcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICDlj6rmmL7npLrlvZPliY3mnIjku70o6buY6K6kKVxuIgorI34gIiAtMywgLS10aHJlZSAgICAgIOaYvuekuuS4iuS4quaciOOAgeW9k+aciOWSjOS4i+S4quaciFxuIgorI34gIiAtcywgLS1zdW5kYXkgICAgIOWRqOaXpeS9nOS4uuS4gOWRqOesrOS4gOWkqVxuIgorI34gIiAtbSwgLS1tb25kYXkgICAgIOWRqOS4gOeUqOS4uuS4gOWRqOesrOS4gOWkqVxuIgorI34gIiAtaiwgLS1qdWxpYW4gICAgIOi+k+WHuuWEkueVpeaXpVxuIgorI34gIiAteSwgLS15ZWFyICAgICAgIOi+k+WHuuaVtOW5tFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIOaYvuekuueJiOacrOS/oeaBr+W5tumAgOWHulxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAgdXNlIFVEUCBvbmx5XG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICBsb2cgdGhlIHByb2Nlc3MgSUQgdG9vXG4iCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+ICAgICBsb2cgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1kLCAtLXVkcCAgICAgICAgICAgICDlj6rkvb/nlKggVURQXG4iCisjfiAiIC1pLCAtLWlkICAgICAgICAgICAgICDlkIzml7borrDlvZXov5vnqIsgSURcbiIKKyN+ICIgLWYsIC0tZmlsZSA85paH5Lu2PiAgICAg6K6w5b2V5q2k5paH5Lu255qE5YaF5a65XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICDmmL7npLrmraTluK7liqnlubbpgIDlh7pcbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0tc2VydmVyIDxuYW1lPiAgIHdyaXRlIHRvIHRoaXMgcmVtb3RlIHN5c2xvZyBzZXJ2ZXJcbiIKKyN+ICIgLVAsIC0tcG9ydCA8bnVtYmVyPiAgIHVzZSB0aGlzIFVEUCBwb3J0XG4iCisjfiAiIC1wLCAtLXByaW9yaXR5IDxwcmlvPiBtYXJrIGdpdmVuIG1lc3NhZ2Ugd2l0aCB0aGlzIHByaW9yaXR5XG4iCisjfiAiIC1zLCAtLXN0ZGVyciAgICAgICAgICBvdXRwdXQgbWVzc2FnZSB0byBzdGFuZGFyZCBlcnJvciBhcyB3ZWxsXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW4sIC0tc2VydmVyIDzlkI3np7A+ICAg5YaZ5YWl5q2k6L+c56iLIHN5c2xvZyDmnI3liqHlmahcbiIKKyN+ICIgLVAsIC0tcG9ydCA85pWw5a2XPiAgICAg5L2/55So5q2kIFVEUCDnq6/lj6NcbiIKKyN+ICIgLXAsIC0tcHJpb3JpdHkgPOS8mOWFiOe6pz4g55So5q2k5LyY5YWI57qn5qCH6K6w57uZ5a6a55qE5raI5oGvXG4iCisjfiAiIC1zLCAtLXN0ZGVyciAgICAgICAgICDkuZ/lsIbmtojmga/ovpPlh7rliLDmoIflh4bplJnor69cbiIKKworI34gbXNnaWQgIiIKKyN+ICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCisjfiAiIC11LCAtLXNvY2tldCA8c29ja2V0PiB3cml0ZSB0byB0aGlzIFVuaXggc29ja2V0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC10LCAtLXRhZyA85qCH5b+XPiAgICAgIOeUqOatpOagh+W/l+agh+iusOavj+S4gOihjFxuIgorI34gIiAtdSwgLS1zb2NrZXQgPOWll+aOpeWtlz4g5YaZ5YWl5q2kIFVuaXgg5aWX5o6l5a2XXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAi5omT5byAL+WIm+W7uiAlcyDlpLHotKXvvJolbVxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgIumUgeWumiAlcyDlpLHotKXvvJolbVxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbiByZWFkYWJsZSB0aW1lc3RhbXAgKGNvdWxkIGJlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmFjY3VyYXRlIGlmIHlvdSBoYXZlIHVzZWQgU1VTUEVORC9SRVNVTUUpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIOaYvuekuuaYk+ivu+eahOaXtumXtOaIsyjlpoLmnpzmgqjkvb/nlKjkuoZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNVU1BFTkQvUkVTVU1FIOWImeWPr+iDveS4jeWHhilcbiIKKworI34gbXNnaWQgIi0tbm90aW1lIGNhbid0IGJlIHVzZWQgdG9nZXRoZXIgd2l0aCAtLWN0aW1lIG9yIC0tcmVsdGltZSIKKyN+IG1zZ3N0ciAiLS1ub3RpbWUg5LiN6IO95LiOLS1jdGltZSDmiJYgLS1yZWx0aW1lIOWQjOaXtuS9v+eUqCIKKworI34gbXNnaWQgImZpbmQgdW51c2VkIGxvb3AgZGV2aWNlIGZhaWxlZCIKKyN+IG1zZ3N0ciAi5p+l5om+5pyq5L2/55So5Zue546v6K6+5aSH5aSx6LSlIgorCisjfiBtc2dpZCAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICBvdXRwdXQgaGVscCBzY3JlZW4gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAg6Kej6YeK5q2j5Zyo6L+b6KGM55qE5pON5L2cXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICDovpPlh7rniYjmnKzkv6Hmga/lubbpgIDlh7pcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgIOi+k+WHuuW4ruWKqeWxj+W5leW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLW5vYmFubmVyICAgICAgICAgIOS4jeaJk+WNsOagh+ivrShiYW5uZXIp77yM5Y+q5a+5IHJvb3Qg5pyJ5pWIXG4iCisjfiAiIC10LCAtLXRpbWVvdXQgPOi2heaXtj4gICAg5YaZ6LaF5pe2KOenkuaVsClcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6L6T5Ye654mI5pys5L+h5oGv5bm26YCA5Ye6XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPHN0cmluZz5cbiIKKyN+IG1zZ3N0ciAiIC1vLCAtLW91dHB1dC1zZXBhcmF0b3IgPOWtl+espuS4sj5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YCJ6aG5XSDmlofku7YgLi4uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgICAgICAgICAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLWMgICAgICAgICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCisjfiAiIC1DICAgICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtbyAgICAgICAgICAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorI34gIiAteCAgICAgICAgICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtZSBmb3JtYXQgICAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKKyN+ICIgLWYgZm9ybWF0X2ZpbGUgIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorI34gIiAtbiBsZW5ndGggICAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCisjfiAiIC1zIG9mZnNldCAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKKyN+ICIgLXYgICAgICAgICAgICAgIGRpc3BsYXkgd2l0aG91dCBzcXVlZXppbmcgc2ltaWxhciBsaW5lc1xuIgorI34gIiAtViAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumAiemhue+8mlxuIgorI34gIiAtYiAgICAgICAgICAgICAg5Y2V5a2X6IqC5YWr6L+b5Yi25pi+56S6XG4iCisjfiAiIC1jICAgICAgICAgICAgICDljZXlrZfoioLlrZfnrKbmmL7npLpcbiIKKyN+ICIgLUMgICAgICAgICAgICAgIOinhOiMg+WMliDljYHlha3ov5vliLYrQVNDSUkg5pi+56S6XG4iCisjfiAiIC1kICAgICAgICAgICAgICDkuKTlrZfoioLljYHov5vliLbmmL7npLpcbiIKKyN+ICIgLW8gICAgICAgICAgICAgIOS4pOWtl+iKguWFq+i/m+WItuaYvuekulxuIgorI34gIiAteCAgICAgICAgICAgICAg5Lik5a2X6IqC5Y2B5YWt6L+b5Yi25pi+56S6XG4iCisjfiAiIC1lIOagvOW8jyAgICAgICAgIOeUqOS6juaYvuekuuaVsOaNrueahOagvOW8j+Wtl+espuS4slxuIgorI34gIiAtZiDmoLzlvI/mlofku7YgICAgIOWMheWQq+agvOW8j+Wtl+espuS4sueahOaWh+S7tlxuIgorI34gIiAtbiDplb/luqYgICAgICAgICDlj6rop6Pph4rovpPlhaXnmoTmjIflrprplb/luqbkuKrlrZfoioJcbiIKKyN+ICIgLXMg5YGP56e7ICAgICAgICAg6Lez6L+H5byA5aS05oyH5a6a6ZW/5bqm5Liq5a2X6IqCXG4iCisjfiAiIC12ICAgICAgICAgICAgICDmmL7npLrml7bkuI3ljovnvKnnm7jkvLznmoTooYxcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIOaYvuekuuatpOW4ruWKqeW5tumAgOWHulxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiY3J5cHQgZmFpbGVkOiAlbVxuIgorI34gbXNnc3RyICLliqDlr4blpLHotKXvvJolbVxuIgorCisjfiBtc2dpZCAiQ2FuIG5vdCBmb3JrOiAlbVxuIgorI34gbXNnc3RyICLml6Dms5UgZm9ya++8miVtXG4iCisKKyN+IG1zZ2lkICJidWcgaW4geHN0cm5kdXAgY2FsbCIKKyN+IG1zZ3N0ciAieHN0cm5kdXAg6LCD55So5Lit5pyJ6Zeu6aKYIgpkaWZmIC0tZ2l0IGEvcG8vemhfVFcucG8gYi9wby96aF9UVy5wbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTg5MWZkCi0tLSAvZGV2L251bGwKKysrIGIvcG8vemhfVFcucG8KQEAgLTAsMCArMSwyNzQyNiBAQAorIyBUcmFkaXRpb25hbCBDaGluZXNlIE1lc3NhZ2VzIGZvciB1dGlsLWxpbnV4LgorIyBDb3B5cmlnaHQgKEMpIDIwMDUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCB1bmRlciB0aGUgc2FtZSBsaWNlbnNlIGFzIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UuCisjIFdlaS1MdW4gQ2hhbyA8Ymx1ZWJhdEBtZW1iZXIuZnNmLm9yZz4sIDIwMTAuCisjCittc2dpZCAiIgorbXNnc3RyICIiCisiUHJvamVjdC1JZC1WZXJzaW9uOiB1dGlsLWxpbnV4IDIuMjMuMVxuIgorIlJlcG9ydC1Nc2dpZC1CdWdzLVRvOiB1dGlsLWxpbnV4QHZnZXIua2VybmVsLm9yZ1xuIgorIlBPVC1DcmVhdGlvbi1EYXRlOiAyMDE4LTAzLTIxIDEzOjEyKzAxMDBcbiIKKyJQTy1SZXZpc2lvbi1EYXRlOiAyMDEzLTA2LTA3IDIzOjI5KzA4MDBcbiIKKyJMYXN0LVRyYW5zbGF0b3I6IFdlaS1MdW4gQ2hhbyA8Ymx1ZWJhdEBtZW1iZXIuZnNmLm9yZz5cbiIKKyJMYW5ndWFnZS1UZWFtOiBDaGluZXNlICh0cmFkaXRpb25hbCkgPHpoLWwxMG5AbGludXgub3JnLnR3PlxuIgorIkxhbmd1YWdlOiB6aF9UV1xuIgorIk1JTUUtVmVyc2lvbjogMS4wXG4iCisiQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04XG4iCisiQ29udGVudC1UcmFuc2Zlci1FbmNvZGluZzogOGJpdFxuIgorIlBsdXJhbC1Gb3JtczogbnBsdXJhbHM9MTsgcGx1cmFsPTA7XG4iCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGRpc2sgZGV2aWNlPiA8cGFydGl0aW9uIG51bWJlcj4gPHN0YXJ0PiA8bGVuZ3RoPlxuIgorbXNnc3RyICIgJXMgPGRpc2sgZGV2aWNlPjzliIblibLljYDnt6jomZ8+POmWi+Wniz486ZW35bqmPlxuIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzoxOQorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgZXhpc3RlbmNlIG9mIGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1MyBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MjQ0IGRpc2stdXRpbHMvZGVscGFydC5jOjUzCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTMzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjk1IG1pc2MtdXRpbHMva2lsbC5jOjI2OQorIzogbWlzYy11dGlscy9raWxsLmM6MzExIG1pc2MtdXRpbHMvcmVuYW1lLmM6MTk5IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjUxOAorIzogc3lzLXV0aWxzL2Zsb2NrLmM6MTc1IHN5cy11dGlscy9pcGNybS5jOjE2MCBzeXMtdXRpbHMvbGRhdHRhY2guYzozNjgKKyM6IHN5cy11dGlscy9yZW5pY2UuYzoxNDYgc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjQxIHN5cy11dGlscy90dW5lbHAuYzoxNTIKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODU5IHRlcm0tdXRpbHMvYWdldHR5LmM6ODYwIHRlcm0tdXRpbHMvYWdldHR5LmM6ODY4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjg2OQorIywgZnV6enkKK21zZ2lkICJub3QgZW5vdWdoIGFyZ3VtZW50cyIKK21zZ3N0ciAi5LiN6Laz5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo1OCBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mjk1IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0MzkKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NjUgZGlzay11dGlscy9jZmRpc2suYzoyNzE4IGRpc2stdXRpbHMvZGVscGFydC5jOjU5CisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjI5IGRpc2stdXRpbHMvZmRpc2suYzo3NjQgZGlzay11dGlscy9mZGlzay5jOjEwNjYKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjMyMSBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzozNjEKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjM4MCBkaXNrLXV0aWxzL2ZzY2suYzoxNDcwCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTUyIGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTIKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjEwMiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTkyCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MTcxIGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo2NjAKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4MDAgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODI0CisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIxNyBkaXNrLXV0aWxzL21rc3dhcC5jOjI0NiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAzIGRpc2stdXRpbHMvc2ZkaXNrLmM6NjU1IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzExCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjc2NSBkaXNrLXV0aWxzL3NmZGlzay5jOjgyNCBkaXNrLXV0aWxzL3NmZGlzay5jOjg5OAorIzogZGlzay11dGlscy9zZmRpc2suYzo5MzkgZGlzay11dGlscy9zZmRpc2suYzo5NjkgZGlzay11dGlscy9zZmRpc2suYzoxMDA2CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjUgZGlzay11dGlscy9zd2FwbGFiZWwuYzo2NSBsaWJmZGlzay9zcmMvYnNkLmM6NjQwCisjOiBsaWIvcGF0aC5jOjk1IGxpYi9wYXRoLmM6MTEzIGxvZ2luLXV0aWxzL2lzbG9jYWwuYzo4NyBsb2dpbi11dGlscy9sYXN0LmM6Njc0CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDQzIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo0ODAKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTM0IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzUyCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM3NCBsb2dpbi11dGlscy92aXB3LmM6MjYxIGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzkKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOTkgbWlzYy11dGlscy9sb2dnZXIuYzoxMjIzIG1pc2MtdXRpbHMvbWNvb2tpZS5jOjExNQorIzogbWlzYy11dGlscy91dWlkZC5jOjE5OCBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4MiBzeXMtdXRpbHMvYmxrem9uZS5jOjk2CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjQgc3lzLXV0aWxzL2VqZWN0LmM6NDk5IHN5cy11dGlscy9lamVjdC5jOjY5NQorIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM5NiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTcgc3lzLXV0aWxzL2ZzdHJpbS5jOjc0CisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIyNyBzeXMtdXRpbHMvaHdjbG9jay5jOjgxNCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MDAKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQzNSBzeXMtdXRpbHMvbGRhdHRhY2guYzozOTIgc3lzLXV0aWxzL25zZW50ZXIuYzoxMjkKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjU0NCBzeXMtdXRpbHMvcnRjd2FrZS5jOjEzNgorIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyODYgc3lzLXV0aWxzL3NldHByaXYuYzoyNzYgc3lzLXV0aWxzL3NldHByaXYuYzo2MTQKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjM3IHN5cy11dGlscy9zd2Fwb24uYzozNzUgc3lzLXV0aWxzL3N3YXBvbi5jOjUxOAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTY3IHN5cy11dGlscy91bnNoYXJlLmM6MTA4IHN5cy11dGlscy91bnNoYXJlLmM6MTIzCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjIgc3lzLXV0aWxzL3dkY3RsLmM6Mzc4IHN5cy11dGlscy96cmFtY3RsLmM6NTA4CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTIgdGVybS11dGlscy9tZXNnLmM6MTI3IHRlcm0tdXRpbHMvc2NyaXB0LmM6NDYwCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ2OCB0ZXJtLXV0aWxzL3NjcmlwdC5jOjU1OQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxOTggdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoyMDEKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjQxOSB0ZXh0LXV0aWxzL2NvbGNydC5jOjI4MiB0ZXh0LXV0aWxzL21vcmUuYzo1MzQKKyM6IHRleHQtdXRpbHMvcmV2LmM6MTQxIHRleHQtdXRpbHMvdWwuYzoyMzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXMiCittc2dzdHIgIueEoeazlemWi+WVnyAlcyIKKworIzogZGlzay11dGlscy9hZGRwYXJ0LmM6NjEgZGlzay11dGlscy9kZWxwYXJ0LmM6NjIgZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGFydGl0aW9uIG51bWJlciBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5YiG5Ymy5Y2A57eo6Jmf5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHN0YXJ0IGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTplovlp4vlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvYWRkcGFydC5jOjYzIGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGxlbmd0aCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE6ZW35bqm5byV5pW4IgorCisjOiBkaXNrLXV0aWxzL2FkZHBhcnQuYzo2NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIHBhcnRpdGlvbiIKK21zZ3N0ciAi5Yqg5YWl5YiG5Ymy5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6NjMKK21zZ2lkICJzZXQgcmVhZC1vbmx5IgorbXNnc3RyICLoqK3lrprllK/oroAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3MAorbXNnaWQgInNldCByZWFkLXdyaXRlIgorbXNnc3RyICLoqK3lrprlj6/oroDlr6siCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo3NgorbXNnaWQgImdldCByZWFkLW9ubHkiCittc2dzdHIgIuWPluW+l+WUr+iugCIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjgyCisjLCBmdXp6eQorbXNnaWQgImdldCBkaXNjYXJkIHplcm9lcyBzdXBwb3J0IHN0YXR1cyIKK21zZ3N0ciAi5o+Q5Y+W5o2o5qOE6Zu25pSv5o+054uA5oWLIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6ODgKK21zZ2lkICJnZXQgbG9naWNhbCBibG9jayAoc2VjdG9yKSBzaXplIgorbXNnc3RyICLlj5blvpfpgo/ovK/ljYDloYogKOejgeWNgCkg5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6OTQKK21zZ2lkICJnZXQgcGh5c2ljYWwgYmxvY2sgKHNlY3Rvcikgc2l6ZSIKK21zZ3N0ciAi5Y+W5b6X5a+m6Zqb5Y2A5aGKICjno4HljYApIOWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwMAorbXNnaWQgImdldCBtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICLlj5blvpfmnIDlsI8gSS9PIOWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEwNgorbXNnaWQgImdldCBvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICLlj5blvpfmnIDkvbPljJYgSS9PIOWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjExMgorIywgZnV6enkKK21zZ2lkICJnZXQgYWxpZ25tZW50IG9mZnNldCBpbiBieXRlcyIKK21zZ3N0ciAi5o+Q5Y+W5bCN6b2K5YGP56e75Zyo5Lit5L2N5YWD57WEIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTE4Cittc2dpZCAiZ2V0IG1heCBzZWN0b3JzIHBlciByZXF1ZXN0IgorbXNnc3RyICLlj5blvpfllq7kuIDopoHmsYLmnIDlpKfno4HljYAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMjQKK21zZ2lkICJnZXQgYmxvY2tzaXplIgorbXNnc3RyICLlj5blvpfljYDloYrlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxMzEKK21zZ2lkICJzZXQgYmxvY2tzaXplIG9uIGZpbGUgZGVzY3JpcHRvciBvcGVuaW5nIHRoZSBibG9jayBkZXZpY2UiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjEzNworIywgZnV6enkKK21zZ2lkICJnZXQgMzItYml0IHNlY3RvciBjb3VudCAoZGVwcmVjYXRlZCwgdXNlIC0tZ2V0c3opIgorbXNnc3RyICLmj5Dlj5YgMzItYml0IOejgeWNgOioiOaVuCAo5LiN5a6c55So77yM5L2/55SoIC0tZ2V0c3opIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTQzCittc2dpZCAiZ2V0IHNpemUgaW4gYnl0ZXMiCittc2dzdHIgIuS7peS9jeWFg+e1hOeCuuWWruS9jeWPluW+l+Wkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1MAorbXNnaWQgInNldCByZWFkYWhlYWQiCittc2dzdHIgIuioreWumumgkOWFiOiugOWPliIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE1NgorbXNnaWQgImdldCByZWFkYWhlYWQiCittc2dzdHIgIuWPluW+l+mgkOWFiOiugOWPliIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE2MworbXNnaWQgInNldCBmaWxlc3lzdGVtIHJlYWRhaGVhZCIKK21zZ3N0ciAi6Kit5a6a5qqU5qGI57O757Wx6aCQ5YWI6K6A5Y+WIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTY5Cittc2dpZCAiZ2V0IGZpbGVzeXN0ZW0gcmVhZGFoZWFkIgorbXNnc3RyICLlj5blvpfmqpTmoYjns7vntbHpoJDlhYjoroDlj5YiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzMKK21zZ2lkICJmbHVzaCBidWZmZXJzIgorbXNnc3RyICLmuIXnkIbnt6nooZ3ljYAiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxNzcKK21zZ2lkICJyZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLph43mlrDoroDlj5bliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstdnwtcV0gY29tbWFuZHMgZGV2aWNlc1xuIgorIiAlMSRzIC0tcmVwb3J0IFtkZXZpY2VzXVxuIgorIiAlMSRzIC1ofC1WXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjE5MworbXNnaWQgIkNhbGwgYmxvY2sgZGV2aWNlIGlvY3RscyBmcm9tIHRoZSBjb21tYW5kIGxpbmUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiIC1xICAgICAgICAgICAgIHF1aWV0IG1vZGUiCittc2dzdHIgIiAgICAtcSAgW+aIliAtLXF1aWV0Xe+8miAgICAg5oqR5Yi26K2m5ZGK6KiK5oGvIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIiAtdiAgICAgICAgICAgICB2ZXJib3NlIG1vZGUiCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MTk4Cittc2dpZCAiICAgICAtLXJlcG9ydCAgIHByaW50IHJlcG9ydCBmb3Igc3BlY2lmaWVkIChvciBhbGwpIGRldmljZXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwMworIywgZnV6enkKK21zZ2lkICJBdmFpbGFibGUgY29tbWFuZHM6IgorbXNnc3RyICLlj6/nlKjmrITkvY3vvJpcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICUtMjVzIGdldCBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnNcbiIKK21zZ3N0ciAiICUtMjVzIOaPkOWPluWkp+Wwj+WcqOS4rSA1MTItYnl0ZSDno4HljYBcbiIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjI4OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjE5CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzQxIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjIwNQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE4MSBkaXNrLXV0aWxzL21rZnMuYzoxMTYgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODEzCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjE4MSBtaXNjLXV0aWxzL3dpcGVmcy5jOjcxOAorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxNzEgc3lzLXV0aWxzL2Jsa3pvbmUuYzozOTQgc3lzLXV0aWxzL3R1bmVscC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2ODkgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAibm8gZGV2aWNlIHNwZWNpZmllZCIKK21zZ3N0ciAi5rKS5pyJ6L+05ZyI6KOd572u5oyH5a6a55qEIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6MzMwCisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBnZXQgZGV2aWNlIHNpemUiCittc2dzdHIgIueEoeazleaPkOWPluijnee9ruWkp+WwjyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjMzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5rbm93biBjb21tYW5kOiAlcyIKK21zZ3N0ciAi5LiN5piO5ZG95Luk77yaJXMiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyDpnIDopoHkuIDlgIvlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzozODcgZGlzay11dGlscy9ibG9ja2Rldi5jOjQ5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwgZXJyb3Igb24gJXMiCittc2dzdHIgImlvY3RsIOmMr+iqpOaWvCAlcyIKKworIzogZGlzay11dGlscy9ibG9ja2Rldi5jOjM4OQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmYWlsZWQuXG4iCittc2dzdHIgIiVzIOWkseaVl+OAglxuIgorCisjOiBkaXNrLXV0aWxzL2Jsb2NrZGV2LmM6Mzk2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHN1Y2NlZWRlZC5cbiIKK21zZ3N0ciAiJXMg5oiQ5Yqf44CCXG4iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gaW5pdGlhbGl6ZSBzeXNmcyBoYW5kbGVyIgorbXNnc3RyICIlc++8mueEoeazleWIneWni+WMliBzeXNmcyDomZXnkIbluLjlvI8iCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gc3RhcnQgZnJvbSBzeXNmcyIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5bliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvYmxvY2tkZXYuYzo1MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk8gICAgUkEgICBTU1ogICBCU1ogICBTdGFydFNlYyAgICAgICAgICAgIFNpemUgICBEZXZpY2VcbiIKK21zZ3N0ciAiUk8gICAgUkEgICBTU1ogICBCU1ogICDotbflp4vno4HljYAgICAgICAgICAgICDlpKflsI8gICDoo53nva5cbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODYKK21zZ2lkICJCb290YWJsZSIKK21zZ3N0ciAi5Y+v6ZaL5qmfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NgorbXNnaWQgIlRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAi5YiH5o+b55uu5YmN5YiG5Ymy5Y2A55qE5bGs5oCn5peX5qiZIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSIKK21zZ3N0ciAi5Yiq6ZmkIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NworbXNnaWQgIkRlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIuWIqumZpOebruWJjeeahOWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKK21zZ2lkICJSZXNpemUiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODgKKyMsIGZ1enp5Cittc2dpZCAiUmVkdWNlIG9yIGVubGFyZ2UgdGhlIGN1cnJlbnQgcGFydGl0aW9uIgorbXNnc3RyICLliKrpmaTnm67liY3nmoTliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiTmV3IgorbXNnc3RyICLmlrDlop4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTg5Cittc2dpZCAiQ3JlYXRlIG5ldyBwYXJ0aXRpb24gZnJvbSBmcmVlIHNwYWNlIgorbXNnc3RyICLlvp7lianppJjnqbrplpPmlrDlop7kuIDlgIvmlrDnmoTliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwCittc2dpZCAiUXVpdCIKK21zZ3N0ciAi6Zui6ZaLIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MAorIywgZnV6enkKK21zZ2lkICJRdWl0IHByb2dyYW0gd2l0aG91dCB3cml0aW5nIGNoYW5nZXMiCittc2dzdHIgIumboumWi+acrOeoi+W8j+S4lOS4jeWvq+WFpeWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEgbGliZmRpc2svc3JjL2JzZC5jOjQzOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzEgbGliZmRpc2svc3JjL2dwdC5jOjMxMzIgbGliZmRpc2svc3JjL3NnaS5jOjExNTkKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI2Cittc2dpZCAiVHlwZSIKK21zZ3N0ciAi6aGe5Z6LIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MQorIywgZnV6enkKK21zZ2lkICJDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLliJfljbDliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkyCittc2dpZCAiSGVscCIKK21zZ3N0ciAi5rGC5YqpIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MgorbXNnaWQgIlByaW50IGhlbHAgc2NyZWVuIgorbXNnc3RyICLpoa/npLroqqrmmI7nlavpnaIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkzCittc2dpZCAiU29ydCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5MworIywgZnV6enkKK21zZ2lkICJGaXggcGFydGl0aW9ucyBvcmRlciIKK21zZ3N0ciAi5L+u5q2j5YiG5Ymy5o6S5bqPIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NAorbXNnaWQgIldyaXRlIgorbXNnc3RyICLlr6vlhaUiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk0Cittc2dpZCAiV3JpdGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2sgKHRoaXMgbWlnaHQgZGVzdHJveSBkYXRhKSIKK21zZ3N0ciAi5a+r5YWl5YiG5Ymy6KGo6Iez56Gs56Kf5LitICjlj6/og73kvb/oqbLliIblibLljYDkuK3nmoTos4fmlpnmtojlpLEhKSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTUKK21zZ2lkICJEdW1wIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTk1CisjLCBmdXp6eQorbXNnaWQgIkR1bXAgcGFydGl0aW9uIHRhYmxlIHRvIHNmZGlzayBjb21wYXRpYmxlIHNjcmlwdCBmaWxlIgorbXNnc3RyICLljbDlh7rliIblibLooajoh7PonqLluZXmiJbmqpTmoYgiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6NjQyIGRpc2stdXRpbHMvZmRpc2suYzo0NjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW50ZXJuYWwgZXJyb3I6IHVuc3VwcG9ydGVkIGRpYWxvZyB0eXBlICVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTI3NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKG1vdW50ZWQpIgorbXNnc3RyICIlc++8mueEoeazleaOm+i8iSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMjk3CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBuYW1lOiIKK21zZ3N0ciAi5YiG5Ymy5ZCN56ixIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMDQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIFVVSUQ6IgorbXNnc3RyICLliIblibIgVVVJRCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzE2CisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlOiIKK21zZ3N0ciAi5YiG5Ymy5Y2A57eo6JmfIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzMjMKK21zZ2lkICJBdHRyaWJ1dGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNDcKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbSBVVUlEOiIKK21zZ3N0ciAi5qqU5qGI57O757WxIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTM1NAorIywgZnV6enkKK21zZ2lkICJGaWxlc3lzdGVtIExBQkVMOiIKK21zZ3N0ciAi5qqU5qGI57O757Wx5qiZ6LK8IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjEzNjAKKyMsIGZ1enp5Cittc2dpZCAiRmlsZXN5c3RlbToiCittc2dzdHIgIumDteS7tuezu+e1sSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIk1vdW50cG9pbnQ6IgorbXNnc3RyICJtb3VudHBvaW50IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2s6ICVzIgorbXNnc3RyICLno4Hnop/vvJolLipzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTcxMAorIywgYy1mb3JtYXQKK21zZ2lkICJTaXplOiAlcywgJWp1IGJ5dGVzLCAlanUgc2VjdG9ycyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcywgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIuejgeein+itmOWIpeeivO+8mjB4JTA4eFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE3MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkxhYmVsOiAlcyIKK21zZ3N0ciAi5qiZ57Gk77yaJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4NjYKK21zZ2lkICJNYXkgYmUgZm9sbG93ZWQgYnkgTSBmb3IgTWlCLCBHIGZvciBHaUIsIFQgZm9yIFRpQiwgb3IgUyBmb3Igc2VjdG9ycy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxODcyCisjLCBmdXp6eQorbXNnaWQgIlBsZWFzZSwgc3BlY2lmeSBzaXplLiIKK21zZ3N0ciAi5pyq5oyH5a6a5Lu75L2V5qqU5ZCN44CCIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE4OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1pbmltdW0gc2l6ZSBpcyAlanUgYnl0ZXMuIgorbXNnc3RyICLku6XkvY3lhYPntYTngrrllq7kvY3lj5blvpflpKflsI8iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MTkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTWF4aW11bSBzaXplIGlzICVqdSBieXRlcy4iCittc2dzdHIgIuS7peS9jeWFg+e1hOeCuuWWruS9jeWPluW+l+Wkp+WwjyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoxOTEwCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzaXplLiIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjE5NjgKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLlt7LpgbjliIblibLljYAgJWRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE4IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjA0OAorIywgZnV6enkKK21zZ2lkICJFbnRlciBzY3JpcHQgZmlsZSBuYW1lOiAiCittc2dzdHIgIueEoeazleWvq+WFpeaMh+S7pOeov+aqlOahiCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDE5CisjLCBmdXp6eQorbXNnaWQgIlRoZSBzY3JpcHQgZmlsZSB3aWxsIGJlIGFwcGxpZWQgdG8gaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIuaCqOWwh+S4jeiDveWvq+WFpeWIhuWJsuihqOOAglxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwMjggZGlzay11dGlscy9jZmRpc2suYzoyMDcwCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3Qgb3BlbiAlcyIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjAzMCBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0ODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBzY3JpcHQgZmlsZSAlcyIKK21zZ3N0ciAi6K6A5Y+WIHR5cGVzY3JpcHQg5qqU5qGIICVzIOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDMyIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCAlcyIKK21zZ3N0ciAi6K6A5Y+WIHR5cGVzY3JpcHQg5qqU5qGIICVzIOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDQ5Cittc2dpZCAiVGhlIGN1cnJlbnQgaW4tbWVtb3J5IHBhcnRpdGlvbiB0YWJsZSB3aWxsIGJlIGR1bXBlZCB0byB0aGUgZmlsZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDU3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxMgorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIumFjee9rui/reS7o+WZqOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMDYzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byByZWFkIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0LiIKK21zZ3N0ciAi5Yqg5YWl6Ly45Ye65YiX5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwNzcKK21zZ2lkICJEaXNrIGxheW91dCBzdWNjZXNzZnVsbHkgZHVtcGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIwODAgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gd3JpdGUgc2NyaXB0ICVzIgorbXNnc3RyICLoroDlj5YgdHlwZXNjcmlwdCDmqpTmoYggJXMg5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTYKKyMsIGZ1enp5Cittc2dpZCAiU2VsZWN0IGxhYmVsIHR5cGUiCittc2dzdHIgIuS4jeWQiOazleeahOmhnuWei1xuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxMTkgZGlzay11dGlscy9mZGlzay5jOjEwNzQgZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg4CisjLCBmdXp6eQorbXNnaWQgIkRldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuIgorbXNnc3RyICLoo53nva7kuI3ljIXlkKvovqjorZjnmoTliIblibLooahcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTI3Cittc2dpZCAiU2VsZWN0IGEgdHlwZSB0byBjcmVhdGUgYSBuZXcgbGFiZWwgb3IgcHJlc3MgJ0wnIHRvIGxvYWQgc2NyaXB0IGZpbGUuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NgorIywgZnV6enkKK21zZ2lkICJUaGlzIGlzIGNmZGlzaywgYSBjdXJzZXMtYmFzZWQgZGlzayBwYXJ0aXRpb25pbmcgcHJvZ3JhbS4iCittc2dzdHIgIuacrOeoi+W8jyBjZmRpc2vvvIzmmK/kuIDlgIvku6XmuLjmqJnmk43kvZzngrrln7rnpI7nmoTnoaznop/liIblibLnqIvlvI/vvIwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE3NworIywgZnV6enkKK21zZ2lkICJJdCBsZXRzIHlvdSBjcmVhdGUsIGRlbGV0ZSwgYW5kIG1vZGlmeSBwYXJ0aXRpb25zIG9uIGEgYmxvY2sgZGV2aWNlLiIKK21zZ3N0ciAi5Y+v5L6b5oKo5paw5aKe44CB5Yiq6Zmk5ZKM5L+u5pS556Gs56Kf5Lit55qE5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxNzkKK21zZ2lkICJDb21tYW5kICAgICAgTWVhbmluZyIKK21zZ3N0ciAi5oyJ6Y215ZG95LukICAgICDmhI/nvqkiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MAorbXNnaWQgIi0tLS0tLS0gICAgICAtLS0tLS0tIgorbXNnc3RyICItLS0tLS0tICAgICAgLS0tLS0tLSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgxCittc2dpZCAiICBiICAgICAgICAgIFRvZ2dsZSBib290YWJsZSBmbGFnIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKK21zZ3N0ciAiICBiICAgICAgICAgIOWIh+aPm+ebruWJjeWIhuWJsuWNgOeahOmWi+apn+WxrOaAp+aXl+aomSIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTgyCittc2dpZCAiICBkICAgICAgICAgIERlbGV0ZSB0aGUgY3VycmVudCBwYXJ0aXRpb24iCittc2dzdHIgIiAgZCAgICAgICAgICDliKrpmaTnm67liY3nmoTliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE4MworbXNnaWQgIiAgaCAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKK21zZ3N0ciAiICBoICAgICAgICAgIOmhr+ekuuacrOiqquaYjueVq+mdoiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg0Cittc2dpZCAiICBuICAgICAgICAgIENyZWF0ZSBuZXcgcGFydGl0aW9uIGZyb20gZnJlZSBzcGFjZSIKK21zZ3N0ciAiICBuICAgICAgICAgIOeUseWJqemkmOepuumWk+S4reaWsOWinuS4gOWhiuWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg1Cittc2dpZCAiICBxICAgICAgICAgIFF1aXQgcHJvZ3JhbSB3aXRob3V0IHdyaXRpbmcgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICIgIHEgICAgICAgICAg6Zui6ZaL5pys56iL5byP5Lim5LiU5LiN5a+r5YWl5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODYKK21zZ2lkICIgIHMgICAgICAgICAgRml4IHBhcnRpdGlvbnMgb3JkZXIgKG9ubHkgd2hlbiBpbiBkaXNhcnJheSkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTg3CisjLCBmdXp6eQorbXNnaWQgIiAgdCAgICAgICAgICBDaGFuZ2UgdGhlIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIgIHQgICAgICAgICAg6K6K5pu05qqU5qGI57O757Wx55qE6aGe5Z6LIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODgKK21zZ2lkICIgIHUgICAgICAgICAgRHVtcCBkaXNrIGxheW91dCB0byBzZmRpc2sgY29tcGF0aWJsZSBzY3JpcHQgZmlsZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxODkKKyMsIGZ1enp5Cittc2dpZCAiICBXICAgICAgICAgIFdyaXRlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrICh5b3UgbXVzdCBlbnRlciB1cHBlcmNhc2UgVyk7IgorbXNnc3RyICIgIFcgICAgICAgICAg5a+r5YWl5YiG5Ymy6KGoICjlr6vlhaXkuIDlrpropoHnlKjlpKflr6sgVykiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MAorIywgZnV6enkKK21zZ2lkICIgICAgICAgICAgICAgICBzaW5jZSB0aGlzIG1pZ2h0IGRlc3Ryb3kgZGF0YSBvbiB0aGUgZGlzaywgeW91IG11c3QgZWl0aGVyIgorbXNnc3RyICIgICAgICAgICAgICAg5Zug54K66YCZ5bCH5pyD5L2/5oKo55qE56Gs56Kf5Lit55qE6LOH5paZ5raI5aSx77yM5oKo5b+F6aCIIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAgICAgICAgICAgY29uZmlybSBvciBkZW55IHRoZSB3cml0ZSBieSBlbnRlcmluZyAneWVzJyBvciAnbm8nIgorbXNnc3RyICIgICAgICAgICAgICAg5piO56K65Zyw5Zue562UICd5ZXMnIOS7o+ihqOWvq+WFpe+8jOiLpeS4jeimgeWvq+WFpeiri+WbnuetlCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTkyCisjLCBmdXp6eQorbXNnaWQgIiAgeCAgICAgICAgICBEaXNwbGF5L2hpZGUgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiAtViAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5MworbXNnaWQgIlVwIEFycm93ICAgICBNb3ZlIGN1cnNvciB0byB0aGUgcHJldmlvdXMgcGFydGl0aW9uIgorbXNnc3RyICLlkJHkuIrpjbUgICAgICAg56e75YuV5b6A5LiK6Y215Y+v56e76Iez5LiK5LiA5YCL5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTQKK21zZ2lkICJEb3duIEFycm93ICAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgcGFydGl0aW9uIgorbXNnc3RyICLlkJHkuIvpjbUgICAgICAg56e75YuV5b6A5LiL6Y215Y+v56e76Iez5LiL5LiA5YCL5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTUKKyMsIGZ1enp5Cittc2dpZCAiTGVmdCBBcnJvdyAgIE1vdmUgY3Vyc29yIHRvIHRoZSBwcmV2aW91cyBtZW51IGl0ZW0iCittc2dzdHIgIuWQkeS4iumNtSAgICAgICDnp7vli5XlvoDkuIrpjbXlj6/np7voh7PkuIrkuIDlgIvliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjE5NgorIywgZnV6enkKK21zZ2lkICJSaWdodCBBcnJvdyAgTW92ZSBjdXJzb3IgdG8gdGhlIG5leHQgbWVudSBpdGVtIgorbXNnc3RyICLlkJHkuIvpjbUgICAgICAg56e75YuV5b6A5LiL6Y215Y+v56e76Iez5LiL5LiA5YCL5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjIxOTgKK21zZ2lkICJOb3RlOiBBbGwgb2YgdGhlIGNvbW1hbmRzIGNhbiBiZSBlbnRlcmVkIHdpdGggZWl0aGVyIHVwcGVyIG9yIGxvd2VyIgorbXNnc3RyICLms6jmhI86IOS7peS4iuaJgOacieeahOaMiemNteWRveS7pOWdh+S4jeWNgOWIhuWkp+Wwj+WvqyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMTk5CisjLCBmdXp6eQorbXNnaWQgImNhc2UgbGV0dGVycyAoZXhjZXB0IGZvciBXcml0ZSkuIgorbXNnc3RyICIo6Zmk5LqGICflr6vlhaUnIOS5i+WklinjgIIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIwMQorbXNnaWQgIlVzZSBsc2Jsayg4KSBvciBwYXJ0eCg4KSB0byBzZWUgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZXZpY2UuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjIxMSBkaXNrLXV0aWxzL2NmZGlzay5jOjI1MTQKKyMsIGZ1enp5Cittc2dpZCAiUHJlc3MgYSBrZXkgdG8gY29udGludWUuIgorbXNnc3RyICLmjInku7vkvZXpjbXnubznuowiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjI5NworbXNnaWQgIkNvdWxkIG5vdCB0b2dnbGUgdGhlIGZsYWcuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgbm90IGRlbGV0ZSBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi5bey6YG45YiG5Ymy5Y2AICVkXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjMwOSBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2NTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgaGFzIGJlZW4gZGVsZXRlZC4iCittc2dzdHIgIuWIhuWJsiAlZCDooqvliKrpmaRcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiBzaXplOiAiCittc2dzdHIgIuWIhuWJsuWNgCAoYS0lYynvvJoiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5bey6K6K5pu054K6ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyMzczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgdHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZC4iCittc2dzdHIgIuWIhuWJsuWNgCAlZCDnmoTns7vntbHpoZ7lnovmnKrooqvorormm7TvvJoleCAoJXMpXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjM5NAorIywgZnV6enkKK21zZ2lkICJOZXcgc2l6ZTogIgorbXNnc3RyICLmlrDlkb3ku6TmrrwiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSByZXNpemVkLiIKK21zZ3N0ciAiJXPvvJrliIblibIgIyVkIOenu+mZpFxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MjcgZGlzay11dGlscy9jZmRpc2suYzoyNTQzIGRpc2stdXRpbHMvZmRpc2suYzoxMDYzCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo1OTEKK21zZ2lkICJEZXZpY2UgaXMgb3BlbiBpbiByZWFkLW9ubHkgbW9kZS4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDMyCisjLCBmdXp6eQorbXNnaWQgIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB3cml0ZSB0aGUgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2s/ICIKK21zZ3N0ciAi5oKo56K65a6a6KaB5bCH5YiG5Ymy6KGo5a+r5YWl56Gs56Kf5Lit5ZeOPyAoeWVzIOaIliBubyk6IgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0MzQKK21zZ2lkICJUeXBlIFwieWVzXCIgb3IgXCJub1wiLCBvciBwcmVzcyBFU0MgdG8gbGVhdmUgdGhpcyBkaWFsb2cuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQzOSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIwOSBzeXMtdXRpbHMvbHNjcHUuYzoxNDM2CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDQ2IHN5cy11dGlscy9sc21lbS5jOjI2OAorbXNnaWQgInllcyIKK21zZ3N0ciAi5pivIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI0NDAKKyMsIGZ1enp5Cittc2dpZCAiRGlkIG5vdCB3cml0ZSBwYXJ0aXRpb24gdGFibGUgdG8gZGlzay4iCittc2dzdHIgIuS4jeimgeWwh+WIhuWJsuihqOWvq+WFpeehrOeinyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDQ1CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byB3cml0ZSBkaXNrbGFiZWwuIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeaomeexpCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNDUxIGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5OQorIywgZnV6enkKK21zZ2lkICJUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuIgorbXNnc3RyICIiCisi5YiG5Ymy6KGo5bey6K6K5pu077yBXG4iCisiXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjQ3NCBkaXNrLXV0aWxzL2NmZGlzay5jOjI1NDUKKyMsIGZ1enp5Cittc2dpZCAiTm90ZSB0aGF0IHBhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlciBub3cuIgorbXNnc3RyICIiCisiXG4iCisi5YiG5Ymy6KGo6aCF55uu5pyq5oyJ56OB56Kf5o6S5bqPXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjUxMQorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgYWxyZWFkeSBjb250YWlucyBhICVzIHNpZ25hdHVyZTsgaXQgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTIyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZGlza2xhYmVsIgorbXNnc3RyICLlu7rnq4vmlrDnmoTmuIXnqbogU3VuIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNTMwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHBhcnRpdGlvbnMiCittc2dzdHIgIuWKoOWFpeWIhuWJsuaZguWkseaVlyIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8ZGV2aWNlPlxuIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzIgZGlzay11dGlscy9mZGlzay5jOjgwOCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NDMKKyMsIGZ1enp5Cittc2dpZCAiRGlzcGxheSBvciBtYW5pcHVsYXRlIGEgZGlzayBwYXJ0aXRpb24gdGFibGUuXG4iCittc2dzdHIgIiVz77ya54Sh5rOV6K6A5Y+W5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2MzUKKyMsIGZ1enp5Cittc2dpZCAiIC1MLCAtLWNvbG9yWz08d2hlbj5dICAgICBjb2xvcml6ZSBvdXRwdXQgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogZGlzay11dGlscy9jZmRpc2suYzoyNjM4CisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16ZXJvICAgICAgICAgICAgICAgc3RhcnQgd2l0aCB6ZXJvZWQgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IGRpc2stdXRpbHMvY2ZkaXNrLmM6MjY3NiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTUwIGRpc2stdXRpbHMvc2ZkaXNrLmM6MjEyMAorIzogbWlzYy11dGlscy9jYWwuYzo0Mjkgc3lzLXV0aWxzL2RtZXNnLmM6MTQxMCB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5ZG95LukIgorCisjOiBkaXNrLXV0aWxzL2NmZGlzay5jOjI2OTYgZGlzay11dGlscy9mZGlzay5jOjg4OCBkaXNrLXV0aWxzL3NmZGlzay5jOjIyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbGliZmRpc2sgY29udGV4dCIKK21zZ3N0ciAi6YWN572u6L+t5Luj5Zmo5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzoxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+XG4iCittc2dzdHIgIiAlcyA8ZGlzayBkZXZpY2U+POWIhuWJsuWNgOe3qOiZnz5cbiIKKworIzogZGlzay11dGlscy9kZWxwYXJ0LmM6MTkKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgdG8gZm9yZ2V0IGFib3V0IGEgc3BlY2lmaWVkIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2RlbHBhcnQuYzo2MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVtb3ZlIHBhcnRpdGlvbiIKK21zZ3N0ciAi56e76Zmk5YiG5Ymy5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiRm9ybWF0dGluZyAuLi4gIgorbXNnc3RyICLmoLzlvI/ljJbkuK3igKYiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo2OCBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgImRvbmVcbiIKK21zZ3N0ciAi5bey5a6M5oiQXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzo4MAorIywgYy1mb3JtYXQKK21zZ2lkICJWZXJpZnlpbmcgLi4uICIKK21zZ3N0ciAi6amX6K2J5Lit4oCmIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTA4Cittc2dpZCAiUmVhZDogIgorbXNnc3RyICLoroDlj5bvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlByb2JsZW0gcmVhZGluZyB0cmFjay9oZWFkICV1LyV1LCBleHBlY3RlZCAlZCwgcmVhZCAlZFxuIgorbXNnc3RyICLllY/poYznmbznlJ/lnKjoroDlj5bnrKwgJWQg5YCL56OB5p+x5pmC77yM6aCQ6KiI6LOH5paZ54K6ICVk77yM5a+m6Zqb6K6A5Y+W6LOH5paZ54K6ICVkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJiYWQgZGF0YSBpbiB0cmFjay9oZWFkICV1LyV1XG4iCisiQ29udGludWluZyAuLi4gIgorbXNnc3RyICIiCisi56ysICVkIOWAi+ejgeafseacieWjnuizh+aWmeOAglxuIgorIue5vOe6jOmAsuihjC4uLiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODMKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTIzIG1pc2MtdXRpbHMvd2lwZWZzLmM6NjAyIHN5cy11dGlscy9ibGtkaXNjYXJkLmM6ODUKKyM6IHN5cy11dGlscy90dW5lbHAuYzo5NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPGRldmljZT5cbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE0OQorbXNnaWQgIkRvIGEgbG93LWxldmVsIGZvcm1hdHRpbmcgb2YgYSBmbG9wcHkgZGlzay5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTUyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcm9tIDxOPiAgICBzdGFydCBhdCB0aGUgdHJhY2sgTiAoZGVmYXVsdCAwKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAg5omA5pyJICjpoJDoqK0pXG4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxNTMKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRvIDxOPiAgICAgIHN0b3AgYXQgdGhlIHRyYWNrIE5cbiIKK21zZ3N0ciAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIOioreWumuWBnOatouS9jeWFg+WIsOWFqVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU0Cittc2dpZCAiIgorIiAtciwgLS1yZXBhaXIgPE4+ICB0cnkgdG8gcmVwYWlyIHRyYWNrcyBmYWlsZWQgZHVyaW5nXG4iCisiICAgICAgICAgICAgICAgICAgICAgdGhlIHZlcmlmaWNhdGlvbiAobWF4IE4gcmV0cmllcylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MTU2Cittc2dpZCAiIC1uLCAtLW5vLXZlcmlmeSAgIGRpc2FibGUgdGhlIHZlcmlmaWNhdGlvbiBhZnRlciB0aGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gZnJvbSIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW477yaJXMiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoxOTgKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCAtIHRvIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjvvJolcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIwMQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50IC0gcmVwYWlyIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjvvJolcyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyMyBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTQ4CisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzozMzcKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3NTggZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc5NworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODIxIGRpc2stdXRpbHMvbWtzd2FwLmM6MjQzIGRpc2stdXRpbHMvcGFydHguYzo5NTEKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo2ODggbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxMzcgbWlzYy11dGlscy9uYW1laS5jOjEzNQorIzogbWlzYy11dGlscy9yZW5hbWUuYzo2MyBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE4NSBzeXMtdXRpbHMvYmxrem9uZS5jOjk5CisjOiBzeXMtdXRpbHMvZG1lc2cuYzo1MjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE5NyBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMjAKKyM6IHN5cy11dGlscy9mc3RyaW0uYzo3OSBzeXMtdXRpbHMvbnNlbnRlci5jOjE2NCBzeXMtdXRpbHMvbnNlbnRlci5jOjE2OAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjUyMyBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo5NAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTM3IHRlcm0tdXRpbHMvbWVzZy5jOjEyOSB0ZXh0LXV0aWxzL21vcmUuYzo1MjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN0YXQgb2YgJXMgZmFpbGVkIgorbXNnc3RyICJzdGF0IOWkseaVlyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIyNiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAxMCBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwMQorIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxODcgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxMDEKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlc++8muS4jeaYr+WNgOWhiuijnee9riIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMQorIywgZnV6enkKK21zZ2lkICJjb3VsZCBub3QgZGV0ZXJtaW5lIGN1cnJlbnQgZm9ybWF0IHR5cGUiCittc2dzdHIgIueEoeazleaxuuWumuebruWJjeeahOagvOW8j+mhnuWeiyIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzMworIywgYy1mb3JtYXQKK21zZ2lkICIlcy1zaWRlZCwgJWQgdHJhY2tzLCAlZCBzZWMvdHJhY2suIFRvdGFsIGNhcGFjaXR5ICVkIGtCLlxuIgorbXNnc3RyICIlc+mdouOAgSVkIOejgei7jOOAgSVkIOejgeWNgC/no4Hou4zjgILnuL3lrrnph48gJWQga0LjgIJcbiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjIzNAorbXNnaWQgIkRvdWJsZSIKK21zZ3N0ciAi6ZuZIgorCisjOiBkaXNrLXV0aWxzL2ZkZm9ybWF0LmM6MjM0Cittc2dpZCAiU2luZ2xlIgorbXNnc3RyICLllq4iCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNDEKK21zZ2lkICJ1c2VyIGRlZmluZWQgc3RhcnQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0MworbXNnaWQgInVzZXIgZGVmaW5lZCBlbmQgdHJhY2sgZXhjZWVkcyB0aGUgbWVkaXVtIHNwZWNpZmljIG1heGltdW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGZvcm1hdC5jOjI0NQorbXNnaWQgInVzZXIgZGVmaW5lZCBzdGFydCB0cmFjayBleGNlZWRzIHRoZSB1c2VyIGRlZmluZWQgZW5kIHRyYWNrIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRmb3JtYXQuYzoyNTMgbWlzYy11dGlscy9sb2dnZXIuYzoxMDIyCisjLCBmdXp6eQorbXNnaWQgImNsb3NlIGZhaWxlZCIKK21zZ3N0ciAi5pCc5bCL5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCittc2dzdHIgIiVzICgldS0ldSwg6aCQ6KitICV1Ke+8miIKKworIzogZGlzay11dGlscy9mZGlzay5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgZGVmYXVsdCByZXNwb25zZSAlYy4iCittc2dzdHIgIuS9v+eUqOmgkOioreWbnuaHiSAlY1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjIyIGRpc2stdXRpbHMvZmRpc2suYzoyOTYgZGlzay11dGlscy9mZGlzay5jOjM3MQorIzogbGliZmRpc2svc3JjL2Rvcy5jOjEyNDEgbGliZmRpc2svc3JjL2dwdC5jOjI0NjkKKyMsIGZ1enp5Cittc2dpZCAiVmFsdWUgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi5pW45YC86LaF5Ye656+E5ZyN44CCXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlYyk6ICIKK21zZ3N0ciAiJXMgKCV1LSV1LCDpoJDoqK0gJXUp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjU0IGRpc2stdXRpbHMvZmRpc2suYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcywgZGVmYXVsdCAlPFBSSXU2ND4pOiAiCittc2dzdHIgIiVzICgldS0ldSwg6aCQ6KitICV1Ke+8miIKKworIzogZGlzay11dGlscy9mZGlzay5jOjI1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCVjLSVjLCBkZWZhdWx0ICVjKTogIgorbXNnc3RyICIlcyAoJXUtJXUsIOmgkOiorSAldSnvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjMgZGlzay11dGlscy9mZGlzay5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKCU8UFJJdTY0Pi0lPFBSSXU2ND4sIGRlZmF1bHQgJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIOmgkOiorSAldSnvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglYy0lYyk6ICIKK21zZ3N0ciAiJXMgKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MjY5IGRpc2stdXRpbHMvZmRpc2suYzozMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglPFBSSXU2ND4tJTxQUkl1NjQ+KTogIgorbXNnc3RyICIlcyAoJXUtJXUsIOmgkOiorSAldSnvvJoiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0MzggZGlzay11dGlscy9zZmRpc2suYzoxOTgKK21zZ2lkICIgW1ldZXMvW05dbzogIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo0NzkKKyMsIGZ1enp5Cittc2dpZCAiSGV4IGNvZGUgKHR5cGUgTCB0byBsaXN0IGFsbCBjb2Rlcyk6ICIKK21zZ3N0ciAi5Y2B5YWt6YCy5L2N57eo56K8ICjovLjlhaUgTCDku6XliJflh7rnt6jnorwp77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NDgwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbiB0eXBlICh0eXBlIEwgdG8gbGlzdCBhbGwgdHlwZXMpOiAiCittc2dzdHIgIuWNgeWFremAsuS9jee3qOeivCAo6Ly45YWlIEwg5Lul5YiX5Ye657eo56K8Ke+8miIKKworIzogZGlzay11dGlscy9mZGlzay5jOjU4MgorIywgZnV6enkKK21zZ2lkICJET1MgQ29tcGF0aWJpbGl0eSBmbGFnIGlzIHNldCAoREVQUkVDQVRFRCEpIgorbXNnc3RyICJET1Mg55u45a655oCn5peX5qiZ5bey6Kit5a6aICjkuI3lrpzlho3nlKjvvIEpXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo1ODMKKyMsIGZ1enp5Cittc2dpZCAiRE9TIENvbXBhdGliaWxpdHkgZmxhZyBpcyBub3Qgc2V0IgorbXNnc3RyICJET1Mg55u45a655oCn5peX5qiZ5pyq6Kit5a6aXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDQgZGlzay11dGlscy9mZGlzay5jOjY0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dSBkb2VzIG5vdCBleGlzdCB5ZXQhIgorbXNnc3RyICLliIblibLljYAgJWQg5bCa5LiN5a2Y5Zyo77yBXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo2MDkgZGlzay11dGlscy9mZGlzay5jOjYxOCBsaWJmZGlzay9zcmMvYXNrLmM6MTAwMworbXNnaWQgIlVua25vd24iCittc2dzdHIgIuacquefpSIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2hhbmdlZCB0eXBlIG9mIHBhcnRpdGlvbiAnJXMnIHRvICclcycuIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5bey6K6K5pu054K6ICV4ICglcylcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjYyMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVHlwZSBvZiBwYXJ0aXRpb24gJXp1IGlzIHVuY2hhbmdlZDogJXMuIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5pyq6KKr6K6K5pu077yaJXggKCVzKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NjYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlMTVzOiAlcyIKK21zZ3N0ciAi56OB56Kf77yaJS4qc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIlczogb2Zmc2V0ID0gJTxQUkl1NjQ+LCBzaXplID0gJXp1IGJ5dGVzLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzIzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZWVrIgorbXNnc3RyICLnhKHms5XooY3nlJ/ln7fooYwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3MjgKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHJlYWQiCittc2dzdHIgIueEoeazleiugOWPliAlcyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjc0MSBsaWJmZGlzay9zcmMvYnNkLmM6MjU4IGxpYmZkaXNrL3NyYy9kb3MuYzo5ODIKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzk4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IHNlY3RvciIKK21zZ3N0ciAi6LW35YidICVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6NzY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcyIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCDlpLHmlZfnmoTmlrwgJXMiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3ODYgZGlzay11dGlscy9zZmRpc2suYzoxNDc0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBvbGQgJXMgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo3OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIG9sZCAlcyBzaWduYXR1cmUgbWF5IHJlbWFpbiBvbiB0aGUgZGV2aWNlLiBJdCBpcyByZWNvbW1lbmRlZCB0byB3aXBlIHRoZSBkZXZpY2Ugd2l0aCB3aXBlZnMoOCkgb3IgZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgICAgY2hhbmdlIHBhcnRpdGlvbiB0YWJsZVxuIgorIiAlMSRzIFtvcHRpb25zXSAtbCBbPGRpc2s+XSBsaXN0IHBhcnRpdGlvbiB0YWJsZShzKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTEKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLXNlY3Rvci1zaXplIDxzaXplPiAgICAgIHBoeXNpY2FsIGFuZCBsb2dpY2FsIHNlY3RvciBzaXplXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICDpoa/npLrlu7rnq4vogIXlkozmk4HmnInogIVcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMgorbXNnaWQgIiAtQiwgLS1wcm90ZWN0LWJvb3QgICAgICAgICAgICBkb24ndCBlcmFzZSBib290Yml0cyB3aGVuIGNyZWF0aW5nIGEgbmV3IGxhYmVsXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxMworbXNnaWQgIiAtYywgLS1jb21wYXRpYmlsaXR5Wz08bW9kZT5dICBtb2RlIGlzICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTQKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgICAgY29sb3JpemUgb3V0cHV0IChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgxNworIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBwYXJ0aXRpb25zIGFuZCBleGl0XG4iCittc2dzdHIgIiAtaCAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MTgKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODE5CisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10eXBlIDx0eXBlPiAgICAgICAgICAgICByZWNvZ25pemUgc3BlY2lmaWVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIG9ubHlcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIwCittc2dpZCAiIC11LCAtLXVuaXRzWz08dW5pdD5dICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1nZXRzeiAgICAgICAgICAgICAgICAgICBkaXNwbGF5IGRldmljZSBzaXplIGluIDUxMi1ieXRlIHNlY3RvcnMgW0RFUFJFQ0FURURdXG4iCittc2dzdHIgIiAtRywgLS1nZXQtZ2x1c2ggICAgICAgICAgICAgICAgICAgIOmhr+ekuumgkOiorea4heeQhumAvuaZguWAvFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODIyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjMKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXdpcGUgPG1vZGU+ICAgICAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODI0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4NgorIywgZnV6enkKK21zZ2lkICIgLVcsIC0td2lwZS1wYXJ0aXRpb25zIDxtb2RlPiAgd2lwZSBzaWduYXR1cmVzIGZyb20gbmV3IHBhcnRpdGlvbnMgKGF1dG8sIGFsd2F5cyBvciBuZXZlcilcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyNworIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY3lsaW5kZXJzIDxudW1iZXI+ICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorbXNnc3RyICIgICAgLUMjIFvmiJYgLS1jeWxpbmRlcnMgI13vvJroqK3lrpropoHnlKjnmoTno4Hmn7Hmlbjph48iCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo4MjgKKyMsIGZ1enp5Cittc2dpZCAiIC1ILCAtLWhlYWRzIDxudW1iZXI+ICAgICAgICAgIHNwZWNpZnkgdGhlIG51bWJlciBvZiBoZWFkc1xuIgorbXNnc3RyICIgICAgLUgjIFvmiJYgLS1oZWFkcyAjXe+8miAgIOioreWumuimgeeUqOeahOejgemgreaVuOmHjyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjgyOQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIHNlY3RvcnMgcGVyIHRyYWNrXG4iCittc2dzdHIgIiAgICAtUyMgW+aIliAtLXNlY3RvcnMgI13vvJog6Kit5a6a6KaB55So55qE56OB5Y2A5pW46YePIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6ODk4IGRpc2stdXRpbHMvZmRpc2suYzo5MDAgZGlzay11dGlscy9wYXJ0eC5jOjg3MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY3RvciBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTno4HljYDlpKflsI/lvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5MTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjeWxpbmRlcnMgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOejgeafseW8leaVuCIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkyMgorIywgZnV6enkKK21zZ2lkICJub3QgZm91bmQgRE9TIGxhYmVsIGRyaXZlciIKK21zZ3N0ciAi5om+5LiN5Yiw5pyq5L2/55So55qE6KOd572uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbXBhdGliaWxpdHkgbW9kZSAnJXMnIgorbXNnc3RyICLkuI3mmI7mqZ/og73jgI4lc+OAjyIKKworIzogZGlzay11dGlscy9mZGlzay5jOjkzNQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGhlYWRzIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTliY3nq6/lvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NDEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzZWN0b3JzIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTno4HljYDlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzo5NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGRpc2tsYWJlbDogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTc1CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIHVuaXQiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6OTg0IGRpc2stdXRpbHMvZmRpc2suYzo5ODkgZGlzay11dGlscy9zZmRpc2suYzoyMDg0CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwODkKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgd2lwZSBtb2RlIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlkb3ku6QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDAyCisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJvcGVydGllcyAoc2VjdG9yIHNpemUgYW5kIGdlb21ldHJ5KSBzaG91bGQgYmUgdXNlZCB3aXRoIG9uZSBzcGVjaWZpZWQgZGV2aWNlIG9ubHkuIgorbXNnc3RyICLorablkYrvvJotYiAo6Kit5a6a56OB5Y2A5aSn5bCPKSDpgbjpoIXmh4noqbLoiIfkuIDlgIvmjIflrproo53nva7lhbHlkIzkvb/nlKhcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwMzMgZGlzay11dGlscy9mZGlzay5jOjEwNDggZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjY5NQorIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5OCBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6Nzg3CisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTY3IGRpc2stdXRpbHMvcmF3LmM6MTM3IGRpc2stdXRpbHMvcmF3LmM6MTUwCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE2MiBkaXNrLXV0aWxzL3Jhdy5jOjIwMyBtaXNjLXV0aWxzL2NhbC5jOjUyMAorIzogbWlzYy11dGlscy9maW5kZnMuYzo1OCBtaXNjLXV0aWxzL2xvb2suYzoxNTAgbWlzYy11dGlscy93aGVyZWlzLmM6NTczCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzo1ODQgbWlzYy11dGlscy93aGVyZWlzLmM6NTk1IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjYzNworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTA0IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjYyIHNjaGVkdXRpbHMvdGFza3NldC5jOjE4OQorIzogc3lzLXV0aWxzL2NoY3B1LmM6MzQ0IHN5cy11dGlscy9jaG1lbS5jOjQxOSBzeXMtdXRpbHMvZG1lc2cuYzoxNDY5CisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMzUgc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzIxIHN5cy11dGlscy9sb3NldHVwLmM6ODg4CisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDI1IHN5cy11dGlscy9sc21lbS5jOjYyOCBzeXMtdXRpbHMvbW91bnQuYzo2OTgKKyM6IHN5cy11dGlscy9tb3VudC5jOjcxMSBzeXMtdXRpbHMvbW91bnQuYzo3ODAgc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxODEKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6NzIgc3lzLXV0aWxzL3N3YXBvZmYuYzoyMzAgc3lzLXV0aWxzL3N3YXBvbi5jOjk4OAorIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjUwIHN5cy11dGlscy91bW91bnQuYzo1MjggdGVybS11dGlscy9zZXR0ZXJtLmM6MTE3NgorIzogdGV4dC11dGlscy9jb2wuYzoyMzMgdGV4dC11dGlscy9tb3JlLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgImJhZCB1c2FnZSIKK21zZ3N0ciAi5LiN55W255qE5YC8IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLmM6MTA1NAorIywgYy1mb3JtYXQKK21zZ2lkICJXZWxjb21lIHRvIGZkaXNrICglcykuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2suYzoxMDU2IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYxNgorIywgZnV6enkKK21zZ2lkICIiCisiQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLlxuIgorIkJlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLlxuIgorbXNnc3RyICIiCisi5q2h6L+O5L2/55SoIGZkaXNrICglcynjgIJcbiIKKyJcbiIKKyLorormm7TlsIfliankuIvlnKjkuK3oqJjmhrbpq5Tlj6rmnInvvIznm7TliLDmgqjmsbrlrprliLDlr6vlhaXlroPlgJHjgIJcbiIKKyLoq4vlsI/lv4PkuYvliY3kvb/nlKjlr6vlhaXlkb3ku6TjgIJcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9mZGlzay5jOjEwNzkKK21zZ2lkICJBIGh5YnJpZCBHUFQgd2FzIGRldGVjdGVkLiBZb3UgaGF2ZSB0byBzeW5jIHRoZSBoeWJyaWQgTUJSIG1hbnVhbGx5IChleHBlcnQgY29tbWFuZCAnTScpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlza2xhYmVsIHR5cGU6ICVzIgorbXNnc3RyICLnoaznop86ICVzXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrIGlkZW50aWZpZXI6ICVzIgorbXNnc3RyICLno4Hnop/orZjliKXnorzvvJoweCUwOHhcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkRpc2sgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisi56OB56KfICVzOiAlbHUg56OB5p+x77yMJWx1IOejgemgre+8jCVsdSDno4HljYAv56OB6LuMXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycy90cmFjaywgJWxsdSBjeWxpbmRlcnMiCittc2dzdHIgIiVkIOWJjeerr++8jCVsbHUg56OB5Y2AL+i7jOaute+8jCVsbHUg56OB5p+xXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjcyIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5pdHM6ICVzIG9mICVkICogJWxkID0gJWxkIGJ5dGVzIgorbXNnc3RyICLllq7kvY09JXMg55qEICVkICogJWxkPSVsZCDkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6NzggZGlzay11dGlscy9mZGlzay1saXN0LmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAi56OB5Y2A5aSn5bCPICjpgo/ovK/nmoQv5a+m6auUKe+8miVsdSDkvY3lhYPntYQvJWx1IOS9jeWFg+e1hFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6ICVsdSBieXRlcyAvICVsdSBieXRlcyIKK21zZ3N0ciAiSS9PIOWkp+WwjyAo5pyA5bCPL+acgOS9s+WMlinvvJolbHUg5L2N5YWD57WEIC8gJWx1IOS9jeWFg+e1hFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzo4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQWxpZ25tZW50IG9mZnNldDogJWx1IGJ5dGVzIgorbXNnc3RyICLlsI3pvYrlgY/np7vlgLzvvJolbHUg5L2N5YWD57WEXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjExNiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMzYKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNTUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorbXNnc3RyICLphY3nva7ov63ku6PlmajmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjEyMiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyNDIKKyM6IGRpc2stdXRpbHMvcGFydHguYzo2NjcgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzo5MTYgbWlzYy11dGlscy9maW5jb3JlLmM6MzYxCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTk2IG1pc2MtdXRpbHMvbHNibGsuYzoxOTA4IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ0OQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyNTIgbWlzYy11dGlscy93aXBlZnMuYzoxNTEgc3lzLXV0aWxzL2xvc2V0dXAuYzozMjEKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MDkgc3lzLXV0aWxzL2xzY3B1LmM6MTcxMiBzeXMtdXRpbHMvbHNpcGMuYzozMzgKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mjk3IHN5cy11dGlscy9yZmtpbGwuYzo0NTcgc3lzLXV0aWxzL3N3YXBvbi5jOjI4NAorIzogc3lzLXV0aWxzL3dkY3RsLmM6MjYwIHN5cy11dGlscy96cmFtY3RsLmM6NDg3IHRleHQtdXRpbHMvY29sdW1uLmM6MjA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiCittc2dzdHIgIuWIneWni+WMlui8uOWHuuihqOagvOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTYzIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI2NgorIzogZGlzay11dGlscy9wYXJ0eC5jOjU4MSBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjk3NCBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoxMjMKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo3MDYgbWlzYy11dGlscy9sc2Jsay5jOjExNzYKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM5MSBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE1NCBtaXNjLXV0aWxzL3dpcGVmcy5jOjIxMAorIzogc3lzLXV0aWxzL2xvc2V0dXAuYzozNDAgc3lzLXV0aWxzL2xvc2V0dXAuYzozNjkgc3lzLXV0aWxzL2xzY3B1LmM6MTYzNQorIzogc3lzLXV0aWxzL2xzY3B1LmM6MTY2MyBzeXMtdXRpbHMvbHNpcGMuYzo0NzAgc3lzLXV0aWxzL2xzaXBjLmM6NTQ1CisjOiBzeXMtdXRpbHMvbHNpcGMuYzo2NDcgc3lzLXV0aWxzL2xzaXBjLmM6NzM5IHN5cy11dGlscy9sc2lwYy5jOjkwMAorIzogc3lzLXV0aWxzL3BybGltaXQuYzoyMjkgc3lzLXV0aWxzL3Jma2lsbC5jOjM3NCBzeXMtdXRpbHMvc3dhcG9uLmM6MTc5CisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyMTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo0MDcgdGV4dC11dGlscy9jb2x1bW4uYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIgorbXNnc3RyICJjYWxsb2NhdGUgY3B1IOmbhuWQiOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MTczIGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjI3MworIzogZGlzay11dGlscy9wYXJ0eC5jOjY0NCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEwNzIgbWlzYy11dGlscy9maW5jb3JlLmM6MTU5CisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2OTIgbWlzYy11dGlscy9maW5kbW50LmM6NzExIG1pc2MtdXRpbHMvbHNibGsuYzoxMTY3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0MzYgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMzkgbWlzYy11dGlscy93aXBlZnMuYzoyNTAKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzAxIHN5cy11dGlscy9sc2NwdS5jOjE2NDMgc3lzLXV0aWxzL2xzY3B1LmM6MTY3NAorIzogc3lzLXV0aWxzL2xzaXBjLmM6NTA0IHN5cy11dGlscy9sc2lwYy5jOjYyOSBzeXMtdXRpbHMvcHJsaW1pdC5jOjI2MQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQwMiBzeXMtdXRpbHMvc3dhcG9uLmM6MjI3IHN5cy11dGlscy93ZGN0bC5jOjI0MgorIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo0NzIgdGV4dC11dGlscy9jb2x1bW4uYzo0NjAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIKK21zZ3N0ciAi5Yqg5YWl6Ly45Ye65YiX5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoxOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LiIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVpIOS4pumdnumWi+Wni+aWvOejgeafsemCiueVjOOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmlsZXN5c3RlbS9SQUlEIHNpZ25hdHVyZSBvbiBwYXJ0aXRpb24gJXp1IHdpbGwgYmUgd2lwZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIwOQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuIgorbXNnc3RyICIiCisiXG4iCisi5YiG5Ymy6KGo6aCF55uu5pyq5oyJ56OB56Kf5o6S5bqPXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjIyOCBsaWJmZGlzay9zcmMvYnNkLmM6MTAxNyBsaWJmZGlzay9zcmMvZG9zLmM6MjQyNQorIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMjggbGliZmRpc2svc3JjL3NnaS5jOjExNTMgbGliZmRpc2svc3JjL3N1bi5jOjExMjAKKyMsIGZ1enp5Cittc2dpZCAiU3RhcnQiCittc2dzdHIgIuWVn+WniyIKKworIzogZGlzay11dGlscy9mZGlzay1saXN0LmM6MjI4IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE4IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDI2CisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyOSBsaWJmZGlzay9zcmMvc2dpLmM6MTE1NCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMQorbXNnaWQgIkVuZCIKK21zZ3N0ciAi57WQ5p2fIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMTkgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjcKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMwIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU1IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTIyCittc2dpZCAiU2VjdG9ycyIKK21zZ3N0ciAi56OB5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyMjggbGliZmRpc2svc3JjL2JzZC5jOjEwMjEgbGliZmRpc2svc3JjL2Rvcy5jOjI0MjkKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTMxIGxpYmZkaXNrL3NyYy9zZ2kuYzoxMTU3IGxpYmZkaXNrL3NyYy9zdW4uYzoxMTI0Cittc2dpZCAiU2l6ZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLWxpc3QuYzoyODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVucGFydGl0aW9uZWQgc3BhY2UgJXM6ICVzLCAlanUgYnl0ZXMsICVqdSBzZWN0b3JzIgorbXNnc3RyICIiCisiXG4iCisi56OB56KfICVzOiAlbHUg56OB5p+x77yMJWx1IOejgemgre+8jCVsdSDno4HljYAv56OB6LuMXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbGlzdC5jOjQ3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5rbm93biBjb2x1bW46ICVzIgorbXNnc3RyICLkuI3mmI7nm7TmrITvvJolcyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6OTcKK21zZ2lkICJHZW5lcmljIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjk4CisjLCBmdXp6eQorbXNnaWQgImRlbGV0ZSBhIHBhcnRpdGlvbiIKK21zZ3N0ciAi5Yiq6Zmk5YiG5YmyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo5OQorIywgZnV6enkKK21zZ2lkICJsaXN0IGZyZWUgdW5wYXJ0aXRpb25lZCBzcGFjZSIKK21zZ3N0ciAi5riF5Zau6YCy6ZqO5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDAKKyMsIGZ1enp5Cittc2dpZCAibGlzdCBrbm93biBwYXJ0aXRpb24gdHlwZXMiCittc2dzdHIgIua4heWWruW3suefpeWIhuWJsuWNgOmhnuWeiyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAxCisjLCBmdXp6eQorbXNnaWQgImFkZCBhIG5ldyBwYXJ0aXRpb24iCittc2dzdHIgIuWKoOWFpeaWsOeahOWIhuWJsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoZSBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuWIl+WNsOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTAzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBhIHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICLorormm7TliIblibLns7vntbHorZjliKXomZ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNAorIywgZnV6enkKK21zZ2lkICJ2ZXJpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi6amX6K2J5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDUKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgYSBwYXJ0aXRpb24iCittc2dzdHIgIiVz77ya5LiN5piv5Y2A5aGK6KOd572uIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDcKKyMsIGZ1enp5Cittc2dpZCAicHJpbnQgdGhlIHJhdyBkYXRhIG9mIHRoZSBmaXJzdCBzZWN0b3IgZnJvbSB0aGUgZGV2aWNlIgorbXNnc3RyICLliJfljbDmnKrntpPomZXnkIbos4fmlpnlnKjkuK3liIblibLooagiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwOAorIywgZnV6enkKK21zZ2lkICJwcmludCB0aGUgcmF3IGRhdGEgb2YgdGhlIGRpc2tsYWJlbCBmcm9tIHRoZSBkZXZpY2UiCittc2dzdHIgIuWIl+WNsOacque2k+iZleeQhuizh+aWmeWcqOS4reWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImZpeCBwYXJ0aXRpb25zIG9yZGVyIgorbXNnc3RyICLkv67mraPliIblibLmjpLluo8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExMQorbXNnaWQgIk1pc2MiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTEyCisjLCBmdXp6eQorbXNnaWQgInByaW50IHRoaXMgbWVudSIKK21zZ3N0ciAi5Y2w5Ye66YCZ5Lu96YG45ZauIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpc3BsYXkvZW50cnkgdW5pdHMiCittc2dzdHIgIuiuiuabtOmhr+ekui/mop3nm67llq7kvY0iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNAorIywgZnV6enkKK21zZ2lkICJleHRyYSBmdW5jdGlvbmFsaXR5IChleHBlcnRzIG9ubHkpIgorbXNnc3RyICLpoY3lpJblip/og73mgKcgKOWwiOWutumZkOeUqCkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExNgorbXNnaWQgIlNjcmlwdCIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMTcKK21zZ2lkICJsb2FkIGRpc2sgbGF5b3V0IGZyb20gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjExOAorbXNnaWQgImR1bXAgZGlzayBsYXlvdXQgdG8gc2ZkaXNrIHNjcmlwdCBmaWxlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMAorbXNnaWQgIlNhdmUgJiBFeGl0IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMQorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0IgorbXNnc3RyICLlr6vlhaXooajmoLzliLDno4Hnop/nhLblvozpm6LplosiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEyMgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSB0YWJsZSB0byBkaXNrIgorbXNnc3RyICLlr6vlhaUgZGlza2xhYmVsIOWIsOejgeeinyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTIzCisjLCBmdXp6eQorbXNnaWQgInF1aXQgd2l0aG91dCBzYXZpbmcgY2hhbmdlcyIKK21zZ3N0ciAi6Zui6ZaL5L2G5LiN5YSy5a2Y6K6K5pu0IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAicmV0dXJuIHRvIG1haW4gbWVudSIKK21zZ3N0ciAi5Zue5YKz5Yiw5Li76YG45ZauIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMjYKK21zZ2lkICJyZXR1cm4gZnJvbSBCU0QgdG8gRE9TIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEzNworIywgZnV6enkKK21zZ2lkICJDcmVhdGUgYSBuZXcgbGFiZWwiCittc2dzdHIgIuW7uueri+aWsOeahOa4heepuiBTdW4gZGlza2xhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzgKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IEdQVCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuW7uueri+aWsOeahOa4heepuiBET1Mg5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMzkKKyMsIGZ1enp5Cittc2dpZCAiY3JlYXRlIGEgbmV3IGVtcHR5IFNHSSAoSVJJWCkgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLlu7rnq4vmlrDnmoTmuIXnqbogRE9TIOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLlu7rnq4vmlrDnmoTmuIXnqbogRE9TIOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhIG5ldyBlbXB0eSBTdW4gcGFydGl0aW9uIHRhYmxlIgorbXNnc3RyICLlu7rnq4vmlrDnmoTmuIXnqbogRE9TIOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImNyZWF0ZSBhbiBJUklYIChTR0kpIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAi5bu656uLIElSSVggKFNHSSkg5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTQKK21zZ2lkICJHZW9tZXRyeSAoZm9yIHRoZSBjdXJyZW50IGxhYmVsKSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIG51bWJlciBvZiBjeWxpbmRlcnMiCittc2dzdHIgIuiuiuabtOejgeafseaVuOmHjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU2CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgaGVhZHMiCittc2dzdHIgIuiuiuabtOWJjeerr+aVuOmHjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTU3CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2Ygc2VjdG9ycy90cmFjayIKK21zZ3N0ciAi6K6K5pu056OB5Y2A5pW46YePL+i7jOautSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY2IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjk1Cittc2dpZCAiR1BUIgorbXNnc3RyICJHUFQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2NworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlzayBHVUlEIgorbXNnc3RyICLlt7Lorormm7QiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE2OAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgcGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuWIhuWJsuWQjeeosSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTY5CisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAi5YiG5YmyIFVVSUQiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MAorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgdGFibGUgbGVuZ3RoIgorbXNnc3RyICLliZbmnpDplbfluqbmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3MQorbXNnaWQgImVudGVyIHByb3RlY3RpdmUvaHlicmlkIE1CUiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzQKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBsZWdhY3kgQklPUyBib290YWJsZSBmbGFnIgorbXNnc3RyICLliIfmj5vlj6/plovmqZ/nmoTml5fmqJkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NQorIywgZnV6enkKK21zZ2lkICJ0b2dnbGUgdGhlIG5vIGJsb2NrIElPIHByb3RvY29sIGZsYWciCittc2dzdHIgIuWIh+aPmyBET1Mg55u45a655oCn5peX5qiZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxNzYKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZXF1aXJlZCBwYXJ0aXRpb24gZmxhZyIKK21zZ3N0ciAi5YiH5o+bIERPUyDnm7jlrrnmgKfml5fmqJkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE3NworbXNnaWQgInRvZ2dsZSB0aGUgR1VJRCBzcGVjaWZpYyBiaXRzIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE4NworbXNnaWQgIlN1biIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODgKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSByZWFkLW9ubHkgZmxhZyIKK21zZ3N0ciAi5YiH5o+b5ZSv6K6A5peX5qiZIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBtb3VudGFibGUgZmxhZyIKK21zZ3N0ciAi5YiH5o+bIG1vdW50YWJsZSDml5fmqJkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIGFsdGVybmF0ZSBjeWxpbmRlcnMiCittc2dzdHIgIuiuiuabtOS6pOabv+ejgeafseaVuOmHjyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBudW1iZXIgb2YgZXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIuiuiuabtOmhjeWkluejgeWNgOaVuOmHj+WQhOejgeafsSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSBpbnRlcmxlYXZlIGZhY3RvciIKK21zZ3N0ciAi6K6K5pu05Lqk5o+S5Zug5a2QIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxOTQKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIHJvdGF0aW9uIHNwZWVkIChycG0pIgorbXNnc3RyICLorormm7TovYnpgJ8gKHJwbSkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjE5NQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgbnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi6K6K5pu05a+m6auU56OB5p+x5pW46YePIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAiU0dJIgorbXNnc3RyICJTR0kgcmF3IgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDUKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGJvb3RhYmxlIHBhcnRpdGlvbiIKK21zZ3N0ciAi6YG45Y+W5Y+v6ZaL5qmf55qE5YiG5YmyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBib290ZmlsZSBlbnRyeSIKK21zZ3N0ciAi57eo6LyvIGJvb3RmaWxlIOaineebriIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjA3CisjLCBmdXp6eQorbXNnaWQgInNlbGVjdCBzZ2kgc3dhcCBwYXJ0aXRpb24iCittc2dzdHIgIumBuOWPliBzZ2kg5Lqk5o+b5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMDgKK21zZ2lkICJjcmVhdGUgU0dJIGluZm8iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIkRPUyAoTUJSKSIKK21zZ3N0ciAiRE9TIFIvTyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE4CisjLCBmdXp6eQorbXNnaWQgInRvZ2dsZSBhIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIuWIh+aPm+WPr+mWi+apn+eahOaXl+aomSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjE5CisjLCBmdXp6eQorbXNnaWQgImVkaXQgbmVzdGVkIEJTRCBkaXNrbGFiZWwiCittc2dzdHIgIue3qOi8ryBic2QgZGlza2xhYmVsIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAidG9nZ2xlIHRoZSBkb3MgY29tcGF0aWJpbGl0eSBmbGFnIgorbXNnc3RyICLliIfmj5sgRE9TIOebuOWuueaAp+aXl+aomSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIyCisjLCBmdXp6eQorbXNnaWQgIm1vdmUgYmVnaW5uaW5nIG9mIGRhdGEgaW4gYSBwYXJ0aXRpb24iCittc2dzdHIgIuenu+WLlei1t+Wni+mDqOWIhueahOizh+aWmeWcqOS4reWIhuWJsiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImNoYW5nZSB0aGUgZGlzayBpZGVudGlmaWVyIgorbXNnc3RyICLorormm7Tno4Hnop/orZjliKXnorwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIyNQorbXNnaWQgInJldHVybiBmcm9tIHByb3RlY3RpdmUvaHlicmlkIE1CUiB0byBHUFQiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MjM1CisjLCBmdXp6eQorbXNnaWQgIkJTRCIKK21zZ3N0ciAiQlNEL09TIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiZWRpdCBkcml2ZSBkYXRhIgorbXNnc3RyICLnt6jovK/mjqjli5Xos4fmlpkiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzNworIywgZnV6enkKK21zZ2lkICJpbnN0YWxsIGJvb3RzdHJhcCIKK21zZ3N0ciAi5a6J6KOd5ZWf5YuV56iL5byPIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAic2hvdyBjb21wbGV0ZSBkaXNrbGFiZWwiCittc2dzdHIgIumhr+ekuuWujOaIkCBkaXNrbGFiZWwiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjIzOQorIywgZnV6enkKK21zZ2lkICJsaW5rIEJTRCBwYXJ0aXRpb24gdG8gbm9uLUJTRCBwYXJ0aXRpb24iCittc2dzdHIgIumPiOe1kCBCU0Qg5YiG5Ymy5YiwIG5vbi1CU0Qg5YiG5YmyIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzozNzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHAgKGV4cGVydCBjb21tYW5kcyk6XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzczIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIkhlbHA6XG4iCittc2dzdHIgIuaxguWKqSIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6MzkzCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSdyZSBlZGl0aW5nIG5lc3RlZCAnJXMnIHBhcnRpdGlvbiB0YWJsZSwgcHJpbWFyeSBwYXJ0aXRpb24gdGFibGUgaXMgJyVzJy4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDIzCittc2dpZCAiRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAiCittc2dzdHIgIuWwiOWutuWRveS7pCAobSDku6XnjbLlvpfoqqrmmI4p77yaIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0MjUKK21zZ2lkICJDb21tYW5kIChtIGZvciBoZWxwKTogIgorbXNnc3RyICLlkb3ku6QgKG0g5Lul542y5b6X6Kqq5piOKe+8miIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gcXVpdD8gIgorbXNnc3RyICLmgqjnnJ/nmoTopoHpm6Lplovll47vvJ8iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjQ0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWM6IHVua25vd24gY29tbWFuZCIKK21zZ3N0ciAiJWM6IOS4jeaYjueahOWRveS7pFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0NzMgZGlzay11dGlscy9mZGlzay1tZW51LmM6NTA2CisjLCBmdXp6eQorbXNnaWQgIkVudGVyIHNjcmlwdCBmaWxlIG5hbWUiCittc2dzdHIgIueEoeazleWvq+WFpeaMh+S7pOeov+aqlOahiCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NDg1Cittc2dpZCAiUmVzZXR0aW5nIGZkaXNrISIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo0OTIKK21zZ2lkICJTY3JpcHQgc3VjY2Vzc2Z1bGx5IGFwcGxpZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUxOAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJhbnNmb3JtIGRpc2sgbGF5b3V0IGludG8gc2NyaXB0IgorbXNnc3RyICLliqDlhaXovLjlh7rliJfmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjUzMgorbXNnaWQgIlNjcmlwdCBzdWNjZXNzZnVsbHkgc2F2ZWQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1NSBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAjJXp1IGNvbnRhaW5zIGEgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVkIOWQq+acieejgeWNgCAwXG4iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU1OCBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MDcKKyMsIGZ1enp5Cittc2dpZCAiRG8geW91IHdhbnQgdG8gcmVtb3ZlIHRoZSBzaWduYXR1cmU/IgorbXNnc3RyICLmgqjopoHlsIfpgJnlgIvlr6vlhaXno4Hnop/ll47vvJ9beW5xXSAiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU2MyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MTIKK21zZ2lkICJUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjU5NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gd3JpdGUgZGlza2xhYmVsIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeaomeexpCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjM4CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBmaXggcGFydGl0aW9ucyBvcmRlci4iCittc2dzdHIgIuS/ruato+WIhuWJsuaOkuW6jyIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIlBhcnRpdGlvbnMgb3JkZXIgZml4ZWQuIgorbXNnc3RyICLnhKHlt7LlrprnvqnliIblibLljYBcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NjU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDb3VsZCBub3QgZGVsZXRlIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIuW3sumBuOWIhuWJsuWNgCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo2ODUKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdpbmcgZGlzcGxheS9lbnRyeSB1bml0cyB0byBjeWxpbmRlcnMgKERFUFJFQ0FURUQhKS4iCittc2dzdHIgIuiuiuabtOmhr+ekui/ovLjlhaXllq7kvY3ngrrno4Hmn7EgKOS4jeWunOWGjeeUqO+8gSlcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njg3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5naW5nIGRpc3BsYXkvZW50cnkgdW5pdHMgdG8gc2VjdG9ycy4iCittc2dzdHIgIuiuiuabtOmhr+ekui/ovLjlhaXllq7kvY3ngrrno4HljYBcbiIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6Njk3IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjg2OAorIywgZnV6enkKK21zZ2lkICJMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuIgorbXNnc3RyICLnt6jovK8gYnNkIGRpc2tsYWJlbCIKKworIzogZGlzay11dGlscy9mZGlzay1tZW51LmM6NzM0Cittc2dpZCAiTmV3IG1heGltdW0gZW50cmllcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NDUKK21zZ2lkICJFbnRlcmluZyBwcm90ZWN0aXZlL2h5YnJpZCBNQlIgZGlza2xhYmVsLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo3NjEKK21zZ2lkICJOZXcgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjc3NgorIywgZnV6enkKK21zZ2lkICJOZXcgbmFtZSIKK21zZ3N0ciAi5L2/55So6ICF5ZCN56ixIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzo4MzkKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuIgorbXNnc3RyICLlu7rnq4vmlrDnmoQgU3VuIGRpc2tsYWJlbOOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDM3Cittc2dpZCAiTnVtYmVyIG9mIGN5bGluZGVycyIKK21zZ3N0ciAi56OB5p+x5pW46YePIgorCisjOiBkaXNrLXV0aWxzL2ZkaXNrLW1lbnUuYzoxMDQ0Cittc2dpZCAiTnVtYmVyIG9mIGhlYWRzIgorbXNnc3RyICLno4HpoK3mlbjph48iCisKKyM6IGRpc2stdXRpbHMvZmRpc2stbWVudS5jOjEwNTAKK21zZ2lkICJOdW1iZXIgb2Ygc2VjdG9ycyIKK21zZ3N0ciAi56OB5Y2A5pW46YePIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMg6KKr5o6b6LyJXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjIxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IG1vdW50ZWRcbiIKK21zZ3N0ciAiJXMg5pyq6KKr5o6b6LyJXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMyOSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTcxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTc4IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMzQKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyNTUgZGlzay11dGlscy9zZmRpc2suYzoyOTggbGliZmRpc2svc3JjL2JzZC5jOjY0NQorIzogbGliL3BhdGguYzoxNDAgbGliL3BhdGguYzoxNjEgbGliL3BhdGguYzoxODIgbGliL3BhdGguYzoyMzAKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoyMDggbG9naW4tdXRpbHMvbGFzdC5jOjI0NSBsb2dpbi11dGlscy9zdWxvZ2luLmM6NjU1CisjOiBzeXMtdXRpbHMvcmZraWxsLmM6MjE0IHN5cy11dGlscy9zZXRwcml2LmM6Mjg1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjcyMworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzgwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjc4NCB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCByZWFkICVzIgorbXNnc3RyICLnhKHms5XoroDlj5YgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjMzMSBsaWIvcGF0aC5jOjE2MyBsaWIvcGF0aC5jOjE4NAorIywgYy1mb3JtYXQKK21zZ2lkICJwYXJzZSBlcnJvcjogJXMiCittc2dzdHIgIuWJluaekOmMr+iqpO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozNTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjcmVhdGUgZGlyZWN0b3J5ICVzIgorbXNnc3RyICLnhKHms5Xorormm7Tnm67pjITliLAgJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9ja2luZyBkaXNrIGJ5ICVzIC4uLiAiCittc2dzdHIgIumOluWumuejgeeinyAlc+KApiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIod2FpdGluZykgIgorbXNnc3RyICIo562J5b6FKSAiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGVzZSBhcmUgZm9sbG93dXBzIHRvICJMb2NraW5nIGRpc2suLi4iLgorIzogZGlzay11dGlscy9mc2NrLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgInN1Y2NlZWRlZCIKK21zZ3N0ciAi5oiQ5YqfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzozOTIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIgorbXNnc3RyICLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW5sb2NraW5nICVzLlxuIgorbXNnc3RyICLmraPlnKjkvb/nlKggJXPjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6NDQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgZGVzY3JpcHRpb24gZm9yICVzIgorbXNnc3RyICLoqK3lrprmj4/ov7DnlKjmlrwgJXMg5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo0NzIgbWlzYy11dGlscy9maW5kbW50LmM6Nzg0IG1pc2MtdXRpbHMvbHNibGsuYzo0NDYKKyM6IHN5cy11dGlscy9tb3VudC5jOjEwMSBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjE5IHN5cy11dGlscy91bW91bnQuYzo0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXPvvJrliZbmnpDpjK/oqqTmlrzliJcgJWQgLS0g5b+955WlIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo1MDQgZGlzay11dGlscy9mc2NrLmM6NTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHBhcnNlIGZzdGFiIgorbXNnc3RyICIlc++8mueEoeazleWJluaekCBmc3RhYiIKKworIzogZGlzay11dGlscy9mc2NrLmM6Njg3IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDI0CisjOiBsb2dpbi11dGlscy92aXB3LmM6MjA4IHN5cy11dGlscy9mbG9jay5jOjM0NiBzeXMtdXRpbHMvbnNlbnRlci5jOjE4MAorIzogc3lzLXV0aWxzL3N3YXBvbi5jOjMyMCBzeXMtdXRpbHMvdW5zaGFyZS5jOjIyMSBzeXMtdXRpbHMvdW5zaGFyZS5jOjQzNQorIzogdGVybS11dGlscy9zY3JpcHQuYzo4MDUKK21zZ2lkICJmb3JrIGZhaWxlZCIKK21zZ3N0ciAi6KGN55Sf5Z+36KGM5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo2OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGVjdXRlIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrln7fooYzlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4MgorIywgZnV6enkKK21zZ2lkICJ3YWl0OiBubyBtb3JlIGNoaWxkIHByb2Nlc3M/IT8iCittc2dzdHIgIuetieW+he+8muW3sueEoeabtOWkmuWtkOihjOeoiyA/IT8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjc4NSBzeXMtdXRpbHMvZmxvY2suYzozNjQgc3lzLXV0aWxzL3N3YXBvbi5jOjM1MgorIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0MTkgc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDAKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCIKK21zZ3N0ciAid2FpdHBpZCDlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV2FybmluZy4uLiAlcyBmb3IgZGV2aWNlICVzIGV4aXRlZCB3aXRoIHNpZ25hbCAlZC4iCittc2dzdHIgIuitpuWRiuKApiVzIOeUqOaWvOijnee9riAlcyDpm6LplovnmoToiIfkv6HomZ8gJWTjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjgwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJXM6IHN0YXR1cyBpcyAleCwgc2hvdWxkIG5ldmVyIGhhcHBlbi4iCittc2dzdHIgIiVzICVz77ya54uA5oWL5pivICV477yM5oeJ6Kmy5rC45LiN55m855Sf44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzo4NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmluaXNoZWQgd2l0aCAlcyAoZXhpdCBzdGF0dXMgJWQpXG4iCittc2dzdHIgIuS7pSAlcyDlrozmiJAgKOmboumWi+eLgOaFiyAlZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6OTM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciAlZCAoJW0pIHdoaWxlIGV4ZWN1dGluZyBmc2NrLiVzIGZvciAlcyIKK21zZ3N0ciAiJWQg55W25Z+36KGMIGZzY2sg5pmC55m855Sf6Yyv6KqkLiVzIOeUqOaWvCAlcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTAwMgorIywgZnV6enkKK21zZ2lkICIiCisiRWl0aGVyIGFsbCBvciBub25lIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIHBhc3NlZCB0byAtdCBtdXN0IGJlIHByZWZpeGVkXG4iCisid2l0aCAnbm8nIG9yICchJy4iCittc2dzdHIgIiIKKyLpgoTmmK/miYDmnInmiJbmspLmnInku7vkvZXmqpTmoYjns7vntbHpoZ7lnovlgrPpgZ7liLAgLXQg5b+F6aCI6KKr5YmN57a0XG4iCisi6IiH44CO5rKS5pyJ44CP5oiW44CO77yB44CP44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2tpcHBpbmcgYmFkIGxpbmUgaW4gL2V0Yy9mc3RhYjogYmluZCBtb3VudCB3aXRoIG5vbnplcm8gZnNjayBwYXNzIG51bWJlciIKK21zZ3N0ciAiJXPvvJrot7PpgY7kuI3nlbbnmoTliJflnKjkuK0vZXRjL2ZzdGFi77ya57mr57WQ5o6b6LyJ6IiH6Z2e6Zu25YC8IGZzY2sg5YKz6YCB6Jmf56K8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMTMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyBub25leGlzdGVudCBkZXZpY2VcbiIKK21zZ3N0ciAiJXPvvJrot7PpgY7kuI3lrZjlnKjnmoToo53nva5cbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vbmV4aXN0ZW50IGRldmljZSAoXCJub2ZhaWxcIiBmc3RhYiBvcHRpb24gbWF5IGJlIHVzZWQgdG8gc2tpcCB0aGlzIGRldmljZSlcbiIKK21zZ3N0ciAiJXPvvJrkuI3lrZjlnKjnmoToo53nva4gKOOAjG5vZmFpbOOAjWZzdGFiIOmBuOmgheS5n+ioseacg+iiq+eUqOS+hui3s+mBjumAmeWAi+ijnee9rilcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTE1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNraXBwaW5nIHVua25vd24gZmlsZXN5c3RlbSB0eXBlXG4iCittc2dzdHIgIiVz77ya6Lez6YGO5LiN5piO5qqU5qGI57O757Wx5Z6L5oWLXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjExNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBjaGVjayAlczogZnNjay4lcyBub3QgZm91bmQiCittc2dzdHIgIueEoeazleaqouafpSAlc++8mmZzY2subm90IOaJvuWIsCAlcyAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEyNzAKK21zZ2lkICJDaGVja2luZyBhbGwgZmlsZSBzeXN0ZW1zLlxuIgorbXNnc3RyICLmqqLmn6XmiYDmnInmqpTmoYjns7vntbHjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICItLXdhaXRpbmctLSAocGFzcyAlZClcbiIKK21zZ3N0ciAiLS3nrYnlvoUtLSAo6YCa6YGOICVkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIC0tIFtmcy1vcHRpb25zXSBbPGZpbGVzeXN0ZW0+IC4uLl1cbiIKK21zZ3N0ciAiIgorIlxuIgorIueUqOazle+8mlxuIgorIiAlcyBbZnNjay1vcHRpb25zXSBbZnMtb3B0aW9uc10gW2ZpbGVzeXMuLi5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjEzOTEKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2sgYW5kIHJlcGFpciBhIExpbnV4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuaqouafpeaJgOacieaqlOahiOezu+e1seOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk0CisjLCBmdXp6eQorbXNnaWQgIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICLmqqLmn6XmiYDmnInmqpTmoYjns7vntbHjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NQorbXNnaWQgIiAtQyBbPGZkPl0gIGRpc3BsYXkgcHJvZ3Jlc3MgYmFyOyBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk2Cittc2dpZCAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHRvIGd1YXJhbnRlZSBleGNsdXNpdmUgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTM5NworIywgZnV6enkKK21zZ2lkICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgIHQgICAgICAgICAg6K6K5pu05qqU5qGI57O757Wx55qE6aGe5Z6LIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk4Cittc2dpZCAiIC1OICAgICAgICAgZG8gbm90IGV4ZWN1dGUsIGp1c3Qgc2hvdyB3aGF0IHdvdWxkIGJlIGRvbmVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxMzk5Cittc2dpZCAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQwMAorbXNnaWQgIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoICctQSdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXIgWzxmZD5dICByZXBvcnQgc3RhdGlzdGljcyBmb3IgZWFjaCBkZXZpY2UgY2hlY2tlZDtcbiIKKyIgICAgICAgICAgICBmaWxlIGRlc2NyaXB0b3IgaXMgZm9yIEdVSXNcbiIKK21zZ3N0ciAiICAgIC1sIFvmiJYgLS1saXN0Xe+8miAgICAg5YiX5Ye65q+P5YCL6KOd572u55qE5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDAzCisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgIHNlcmlhbGl6ZSB0aGUgY2hlY2tpbmcgb3BlcmF0aW9uc1xuIgorbXNnc3RyICIgIGQgICAgICAgICAg5Yiq6Zmk55uu5YmN55qE5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDA0CisjLCBmdXp6eQorbXNnaWQgIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDUKK21zZ2lkICIiCisiIC10IDx0eXBlPiAgc3BlY2lmeSBmaWxlc3lzdGVtIHR5cGVzIHRvIGJlIGNoZWNrZWQ7XG4iCisiICAgICAgICAgICAgPHR5cGU+IGlzIGFsbG93ZWQgdG8gYmUgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0MDcKKyMsIGZ1enp5Cittc2dpZCAiIC1WICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDEzCittc2dpZCAiU2VlIHRoZSBzcGVjaWZpYyBmc2NrLiogY29tbWFuZHMgZm9yIGF2YWlsYWJsZSBmcy1vcHRpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDYwCisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IGRldmljZXMiCittc2dzdHIgIuWkquWkmuijnee9riIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ3MgorIywgZnV6enkKK21zZ2lkICJJcyAvcHJvYyBtb3VudGVkPyIKK21zZ3N0ciAi5pivL3Byb2Mg5o6b6LyJ77yfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHJvb3QgdG8gc2NhbiBmb3IgbWF0Y2hpbmcgZmlsZXN5c3RlbXM6ICVzIgorbXNnc3RyICLlv4XpoIjmmK/moLnliLDmjoPmj4/nlKjmlrzljLnphY3mqpTmoYjns7vntbHvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgZmluZCBtYXRjaGluZyBmaWxlc3lzdGVtOiAlcyIKK21zZ3N0ciAi5om+5LiN5Yiw5Yy56YWN5qqU5qGI57O757Wx77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE0OTIgZGlzay11dGlscy9mc2NrLmM6MTU4OSBtaXNjLXV0aWxzL2tpbGwuYzoyMzYKKyM6IHN5cy11dGlscy9lamVjdC5jOjI3OAorIywgZnV6enkKK21zZ2lkICJ0b28gbWFueSBhcmd1bWVudHMiCittc2dzdHIgIuWkquWkmuW8leaVuCIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU0NyBkaXNrLXV0aWxzL2ZzY2suYzoxNTUwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXIiCittc2dzdHIgIueEoeaViOeahOW8leaVuO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suYzoxNTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcHRpb24gJyVzJyBtYXkgYmUgc3BlY2lmaWVkIG9ubHkgb25jZSIKK21zZ3N0ciAi6YG46aCFIC0tcGlkIOS5n+ioseacg+iiq+aMh+WumueahOWPquS4gOasoSIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTU2OSBtaXNjLXV0aWxzL2tpbGwuYzoyODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9wdGlvbiAnJXMnIHJlcXVpcmVzIGFuIGFyZ3VtZW50IgorbXNnc3RyICIlcyDpnIDopoHkuIDlgIvlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jOjE2MDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYXJndW1lbnQgb2YgLXI6ICVkIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmM6MTY0MworIywgZnV6enkKK21zZ2lkICJ0aGUgLWwgb3B0aW9uIGNhbiBiZSB1c2VkIHdpdGggb25lIGRldmljZSBvbmx5IC0tIGlnbm9yZSIKK21zZ3N0ciAiLWwg6YG46aCF5Y+v5Lul6KKr5L2/55So6IiH5LiA5YCL6KOd572u5Y+q5pyJIC0tIOW/veeVpSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZmlsZT5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFs8ZmlsZT5dXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxMTQKK21zZ2lkICJDaGVjayBhbmQgcmVwYWlyIGEgY29tcHJlc3NlZCBST00gZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE3Cittc2dpZCAiIC1hICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjExOAorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOaYr+abtOWkmuips+e0sOeahFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTE5Cittc2dpZCAiIC15ICAgICAgICAgICAgICAgICAgICAgICBmb3IgY29tcGF0aWJpbGl0eSBvbmx5LCBpZ25vcmVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjEyMAorbXNnaWQgIiAtYiwgLS1ibG9ja3NpemUgPHNpemU+ICAgdXNlIHRoaXMgYmxvY2tzaXplLCBkZWZhdWx0cyB0byBwYWdlIHNpemVcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTIxCittc2dpZCAiICAgICAtLWV4dHJhY3RbPTxkaXI+XSAgICB0ZXN0IHVuY29tcHJlc3Npb24sIG9wdGlvbmFsbHkgZXh0cmFjdCBpbnRvIDxkaXI+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE1OAorIywgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCBmYWlsZWQ6IHVuYWJsZSB0byBkZXRlcm1pbmUgZGV2aWNlIHNpemU6ICVzIgorbXNnc3RyICJpb2N0bCDlpLHmlZfvvJrnhKHms5Xmsbrlrproo53nva7lpKflsI/vvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE2NAorIywgYy1mb3JtYXQKK21zZ2lkICJub3QgYSBibG9jayBkZXZpY2Ugb3IgZmlsZTogJXMiCittc2dzdHIgIuS4jeaYr+WNgOWhiuijnee9ruaIluaqlOahiO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MTY3IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoyMDMKK21zZ2lkICJmaWxlIGxlbmd0aCB0b28gc2hvcnQiCittc2dzdHIgIuaqlOahiOmVt+W6puWkquefrSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE3NiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjMxCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjUxIGxpYmZkaXNrL3NyYy9ic2QuYzo3MTcgbGliZmRpc2svc3JjL2JzZC5jOjg5MgorIzogbG9naW4tdXRpbHMvbGFzdC5jOjIwMyBsb2dpbi11dGlscy9sYXN0LmM6MjM3IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlZWsgb24gJXMgZmFpbGVkIgorbXNnc3RyICLmkJzlsIvlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODIgZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4NAorbXNnaWQgInN1cGVyYmxvY2sgbWFnaWMgbm90IGZvdW5kIgorbXNnc3RyICLmib7kuI3liLDotoXljYDloYrnmoTprZTooZPmqJnoqJgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzoxODcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNyYW1mcyBlbmRpYW5uZXNzIGlzICVzXG4iCittc2dzdHIgImNyYW1mcyDlsL7luo/mmK8gJXNcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorIywgZnV6enkKK21zZ2lkICJiaWciCittc2dzdHIgIuWkpyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE4OAorIywgZnV6enkKK21zZ2lkICJsaXR0bGUiCittc2dzdHIgIuWwj+WeiyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5MgorbXNnaWQgInVuc3VwcG9ydGVkIGZpbGVzeXN0ZW0gZmVhdHVyZXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOaqlOahiOezu+e1seeJueW+tSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjE5NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXBlcmJsb2NrIHNpemUgKCVkKSB0b28gc21hbGwiCittc2dzdHIgIui2heWNgOWhiuWkp+WwjyAoJWQpIOWkquWwjyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwMQorbXNnaWQgInplcm8gZmlsZSBjb3VudCIKK21zZ3N0ciAi6Zu25YCL5qqU5qGI6KiI5pW4IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgImZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtIgorbXNnc3RyICLorablkYrvvJrmqpTmoYjlu7bkvLjotoXpgY7mqpTmoYjns7vntbHmnKvnq69cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIwNworIywgZnV6enkKK21zZ2lkICJvbGQgY3JhbWZzIGZvcm1hdCIKK21zZ3N0ciAi6K2m5ZGK77ya6IiK55qEIGNyYW1mcyDmoLzlvI9cbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjIxNgorbXNnaWQgInVuYWJsZSB0byB0ZXN0IENSQzogb2xkIGNyYW1mcyBmb3JtYXQiCittc2dzdHIgIueEoeazlea4rOippuW+queSsOWGl+mkmOaqouafpe+8muiIiueahCBjcmFtZnMg5qC85byPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MjM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCAlPFBSSXUzMj4gYnl0ZXMgZnJvbSBmaWxlICVzIgorbXNnc3RyICLoroDlj5YgdHlwZXNjcmlwdCDmqpTmoYggJXMg5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Mjc0Cittc2dpZCAiY3JjIGVycm9yIgorbXNnc3RyICLlvqrnkrDlhpfppJjmqqLmn6XpjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzozMDQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTYwCittc2dpZCAic2VlayBmYWlsZWQiCittc2dzdHIgIuaQnOWwi+WkseaVlyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjMwOAorIywgZnV6enkKK21zZ2lkICJyZWFkIHJvbWZzIGZhaWxlZCIKK21zZ3N0ciAiZnJlYWQg5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQwCittc2dpZCAicm9vdCBpbm9kZSBpcyBub3QgZGlyZWN0b3J5IgorbXNnc3RyICLmoLkgaW5vZGUg5Lim6Z2e55uu6YyEIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzQ0CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCByb290IG9mZnNldCAoJWx1KSIKK21zZ3N0ciAi5LiN55W255qE5qC55YGP56e7ICglbHUpIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6MzYyCittc2dpZCAiZGF0YSBibG9jayB0b28gbGFyZ2UiCittc2dzdHIgIuizh+aWmeWNgOWhiuWkquWkpyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVjb21wcmVzc2lvbiBlcnJvcjogJXMiCittc2dzdHIgIuino+Wjk+e4rumMr+iqpCAlcCglZCnvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICBob2xlIGF0ICVsdSAoJXp1KVxuIgorbXNnc3RyICIgIOa8j+a0nuS9jeaWvCAlbGQgKCV6ZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjM5OSBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgIHVuY29tcHJlc3NpbmcgYmxvY2sgYXQgJWx1IHRvICVsdSAoJWx1KVxuIgorbXNnc3RyICIgIOino+Wjk+e4ruWNgOWhiuS9jeaWvCAlbGQg5YiwICVsZCAoJWxkKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDA2CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1ibG9jayAoJWxkKSBieXRlcyIKK21zZ3N0ciAi6Z2e5Y2A5aGKICglbGQpIOS9jeWFg+e1hCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICJub24tc2l6ZSAoJWxkIHZzICVsZCkgYnl0ZXMiCittc2dzdHIgIumdnuWkp+WwjyAoJWxkIHZzICVsZCkg5L2N5YWD57WEIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDE1IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MTgKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTA5IG1pc2MtdXRpbHMvdXVpZGQuYzozNjYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjQwOAorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU1MSBzeXMtdXRpbHMvc2V0cHJpdi5jOjYyMCBzeXMtdXRpbHMvc2V0cHJpdi5jOjY0MworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjM5MyB0ZXJtLXV0aWxzL3R0eW1zZy5jOjE3NQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cml0ZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLlr6vlhaXlpLHmlZfvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjQyNgorIywgYy1mb3JtYXQKK21zZ2lkICJsY2hvd24gZmFpbGVkOiAlcyIKK21zZ3N0ciAibGNob3duIOWkseaVl++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDMwCisjLCBjLWZvcm1hdAorbXNnaWQgImNob3duIGZhaWxlZDogJXMiCittc2dzdHIgImNob3duIOWkseaVl++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDM1CisjLCBjLWZvcm1hdAorbXNnaWQgInV0aW1lIGZhaWxlZDogJXMiCittc2dzdHIgInV0aW1lIOWkseaVl++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDQ3CisjLCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBpbm9kZSBoYXMgemVybyBvZmZzZXQgYW5kIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICLnm67pjIQgaW5vZGUg5pyJ6Zu25YGP56e75YC85ZKM6Z2e6Zu25aSn5bCP77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NjIKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtkaXIgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtkaXIg5aSx5pWX77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo0NzgKK21zZ2lkICJmaWxlbmFtZSBsZW5ndGggaXMgemVybyIKK21zZ3N0ciAi5qqU5ZCN6ZW35bqm54K66Zu2IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDgwCittc2dpZCAiYmFkIGZpbGVuYW1lIGxlbmd0aCIKK21zZ3N0ciAi5LiN55W255qE5qqU5ZCN6ZW35bqmIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NDg2Cittc2dpZCAiYmFkIGlub2RlIG9mZnNldCIKK21zZ3N0ciAi5LiN55W255qEIGlub2RlIOWBj+enu+WAvCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjUwMQorbXNnaWQgImZpbGUgaW5vZGUgaGFzIHplcm8gb2Zmc2V0IGFuZCBub24temVybyBzaXplIgorbXNnc3RyICLmqpTmoYggaW5vZGUg5pyJ6Zu25YGP56e75YC85ZKM6Z2e6Zu25aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTA0Cittc2dpZCAiZmlsZSBpbm9kZSBoYXMgemVybyBzaXplIGFuZCBub24temVybyBvZmZzZXQiCittc2dzdHIgIuaqlOahiCBpbm9kZSDmnInpm7blpKflsI/lkozpnZ7pm7blgY/np7vlgLwiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1MzMKK21zZ2lkICJzeW1ib2xpYyBsaW5rIGhhcyB6ZXJvIG9mZnNldCIKK21zZ3N0ciAi56ym6Jmf6YCj57WQ5pyJ6Zu25YGP56e75YC8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTM1Cittc2dpZCAic3ltYm9saWMgbGluayBoYXMgemVybyBzaXplIgorbXNnc3RyICLnrKbomZ/pgKPntZDmnInpm7blpKflsI8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2l6ZSBlcnJvciBpbiBzeW1saW5rOiAlcyIKK21zZ3N0ciAi5aSn5bCP6Yyv6Kqk55m855Sf5pa856ym6Jmf6YCj57WQ77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1NTgKKyMsIGMtZm9ybWF0Cittc2dpZCAic3ltbGluayBmYWlsZWQ6ICVzIgorbXNnc3RyICLnrKbomZ/pgKPntZDlpLHmlZfvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjU3MQorIywgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGZpbGUgaGFzIG5vbi16ZXJvIG9mZnNldDogJXMiCittc2dzdHIgIueJueauiuaqlOahiOaciemdnumbtuWBj+enu+WAvO+8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTgxCisjLCBjLWZvcm1hdAorbXNnaWQgImZpZm8gaGFzIG5vbi16ZXJvIHNpemU6ICVzIgorbXNnc3RyICJmaWZvIOaciemdnumbtuWkp+Wwj++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTg3CisjLCBjLWZvcm1hdAorbXNnaWQgInNvY2tldCBoYXMgbm9uLXplcm8gc2l6ZTogJXMiCittc2dzdHIgIumAmuioiuerr+aciemdnumbtuWkp+Wwj++8miVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6NTkwCisjLCBjLWZvcm1hdAorbXNnaWQgImJvZ3VzIG1vZGU6ICVzICglbykiCittc2dzdHIgIuWBh+mAoOaooeW8j++8miVzICglbykiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo1OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWtub2QgZmFpbGVkOiAlcyIKK21zZ3N0ciAibWtub2Qg5aSx5pWX77yaJXMiCisKKyM6IGRpc2stdXRpbHMvZnNjay5jcmFtZnMuYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRpcmVjdG9yeSBkYXRhIHN0YXJ0ICglbHUpIDwgc2l6ZW9mKHN0cnVjdCBjcmFtZnNfc3VwZXIpICsgc3RhcnQgKCV6dSkiCittc2dzdHIgIuebrumMhOizh+aWmei1t+WniyAoJWxkKSA8IHNpemVvZihzdHJ1Y3QgY3JhbWZzX3N1cGVyKSArIOi1t+WniyAoJWxkKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGlyZWN0b3J5IGRhdGEgZW5kICglbHUpICE9IGZpbGUgZGF0YSBzdGFydCAoJWx1KSIKK21zZ3N0ciAi55uu6YyE6LOH5paZ57WQ5p2fICglbGQpICE9IOaqlOahiOizh+aWmei1t+WniyAoJWxkKSIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjYzOQorbXNnaWQgImludmFsaWQgZmlsZSBkYXRhIG9mZnNldCIKK21zZ3N0ciAi54Sh5pWI55qE5qqU5qGI6LOH5paZ5YGP56e75YC8IgorCisjOiBkaXNrLXV0aWxzL2ZzY2suY3JhbWZzLmM6Njg4IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo3MzYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBibG9ja3NpemUgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWNgOWhiuWkp+Wwj+W8leaVuCIKKworIzogZGlzay11dGlscy9mc2NrLmNyYW1mcy5jOjcxMQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogT0tcbiIKK21zZ3N0ciAiJXPvvJrnorrlrppcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTg1CisjLCBmdXp6eQorbXNnaWQgIkNoZWNrIHRoZSBjb25zaXN0ZW5jeSBvZiBhIE1pbml4IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuaqouafpeaJgOacieaqlOahiOezu+e1seOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgbGlzdCBhbGwgZmlsZW5hbWVzXG4iCittc2dzdHIgIiAtbCAg5YiX5Ye65omA5pyJ5qqU5ZCNXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYXV0byAgICAgICBhdXRvbWF0aWMgcmVwYWlyXG4iCittc2dzdHIgIiAtYSAg6Ieq5YuV5L+u5b6pXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE4OQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVwYWlyICAgICBpbnRlcmFjdGl2ZSByZXBhaXJcbiIKK21zZ3N0ciAiIC1yICDkupLli5XlvI/kv67lvqlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkwCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgIGJlIHZlcmJvc2VcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjE5MQorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VwZXIgICAgICBvdXRwdXQgc3VwZXItYmxvY2sgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC1zICDovLjlh7rotoXljYDloYros4foqIpcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS11bmNsZWFyZWQgIGFjdGl2YXRlIG1vZGUgbm90IGNsZWFyZWQgd2FybmluZ3NcbiIKK21zZ3N0ciAiIC1tICDllZ/nlKjmqKHlvI/nhKHms5XmuIXnqbrnmoTorablkYpcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgIGZvcmNlIGNoZWNrXG4iCittc2dzdHIgIiAtZiAg5by35Yi25qqi5p+lXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGVzZSB5ZXMgbm8gcXVlc3Rpb25zIHVzZXMgcnBtYXRjaCgpLCBhbmQgc2hvdWxkIGJlCisjLiAqIHRyYW5zbGF0ZWQuCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICh5L24pPyAiCittc2dzdHIgIiVzICh5L24p77yfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChuL3kpPyAiCittc2dzdHIgIiVzIChuL3kp77yfIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlcbiIKK21zZ3N0ciAieVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyNzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5cbiIKK21zZ3N0ciAiblxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbW91bnRlZC5cdCAiCittc2dzdHIgIiVzIOW3suaOm+i8ieOAglx0IgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoyODkKK21zZ2lkICJEbyB5b3UgcmVhbGx5IHdhbnQgdG8gY29udGludWUiCittc2dzdHIgIuaCqOecn+eahOimgee5vOe6jOWXju+8nyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MjkzCisjLCBjLWZvcm1hdAorbXNnaWQgImNoZWNrIGFib3J0ZWQuXG4iCittc2dzdHIgIuW3suaUvuajhOaqouafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMTkgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPCBGSVJTVFpPTkUgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAi5Y2A5Z+fIG5yIDwg5qqU5qGI44CMJXPjgI3kuK3nmoQgRklSU1RaT05F44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjIgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQzCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmUgbnIgPj0gWk9ORVMgaW4gZmlsZSBgJXMnLiIKK21zZ3N0ciAi5Y2A5Z+fIG5yID49IOaqlOahiOOAjCVz44CN5Lit55qEIFpPTkVT44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzozMjYgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzQ3Cittc2dpZCAiUmVtb3ZlIGJsb2NrIgorbXNnc3RyICLnp7vpmaTljYDloYoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM2MworIywgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yOiB1bmFibGUgdG8gc2VlayB0byBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi6K6A5Y+W6Yyv6Kqk77ya54Sh5rOV5Zyo5qqU5qGI44CMJXPjgI3kuK3mkJzlsIvliLDljYDloYpcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzY5CisjLCBjLWZvcm1hdAorbXNnaWQgIlJlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICclcydcbiIKK21zZ3N0ciAi6K6A5Y+W6Yyv6Kqk77ya5Zyo5qqU5qGI44CMJXPjgI3kuK3mnInkuI3oia/ljYDloYpcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJJbnRlcm5hbCBlcnJvcjogdHJ5aW5nIHRvIHdyaXRlIGJhZCBibG9ja1xuIgorIldyaXRlIHJlcXVlc3QgaWdub3JlZFxuIgorbXNnc3RyICIiCisi5YWn6YOo6Yyv6Kqk77ya5ZiX6Kmm5a+r5YWl5LiN6Imv5Y2A5aGKXG4iCisi5a+r5YWl6KaB5rGC5bey5b+955WlXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM4NworbXNnaWQgInNlZWsgZmFpbGVkIGluIHdyaXRlX2Jsb2NrIgorbXNnc3RyICJ3cml0ZV9ibG9jayDmmYLmkJzlsIvlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjM5MAorIywgYy1mb3JtYXQKK21zZ2lkICJXcml0ZSBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJyVzJ1xuIgorbXNnc3RyICLlr6vlhaXpjK/oqqTvvJrlnKjmqpTmoYjjgIwlc+OAjeS4reacieS4jeiJr+WNgOWhilxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo0MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IGJsb2NrIG91dCBvZiByYW5nZVxuIgorbXNnc3RyICLorablkYrvvJppbm9kZSDmlbjph4/lpKrlpKfjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTExCittc2dpZCAic2VlayBmYWlsZWQgaW4gd3JpdGVfc3VwZXJfYmxvY2siCittc2dzdHIgIndyaXRlX3N1cGVyX2Jsb2NrIOaZguaQnOWwi+WkseaVlyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTEzCittc2dpZCAidW5hYmxlIHRvIHdyaXRlIHN1cGVyLWJsb2NrIgorbXNnc3RyICLnhKHms5Xlr6vlhaUgc3VwZXItYmxvY2siCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyNgorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIueEoeazleWvq+WFpSBpbm9kZSDlsI3mmKAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjUyOQorbXNnaWQgIlVuYWJsZSB0byB3cml0ZSB6b25lIG1hcCIKK21zZ3N0ciAi54Sh5rOV5a+r5YWl5Y2A5Z+f5bCN5pigIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1MzIKK21zZ2lkICJVbmFibGUgdG8gd3JpdGUgaW5vZGVzIgorbXNnc3RyICLnhKHms5Xlr6vlhaUgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo1NjQKK21zZ2lkICJ1bmFibGUgdG8gYWxsb2MgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorbXNnc3RyICLnhKHms5XphY3nva7nt6nooZ3ljYDntabotoXljYDloYoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU2NworbXNnaWQgInVuYWJsZSB0byByZWFkIHN1cGVyIGJsb2NrIgorbXNnc3RyICLnhKHms5XoroDlj5botoXljYDloYoiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjU4OQorbXNnaWQgImJhZCBtYWdpYyBudW1iZXIgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahOmtlOihk+aVuOWtlyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkxCittc2dpZCAiT25seSAxayBibG9ja3Mvem9uZXMgc3VwcG9ydGVkIgorbXNnc3RyICLlj6rmnInmlK/mj7QgMWsg5Y2A5aGKL+WNgOWfnyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTkzCisjLCBmdXp6eQorbXNnaWQgImJhZCBzX25pbm9kZXMgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahCBzX2ltYXBfYmxvY2tzIOashOS9jSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk1Cittc2dpZCAiYmFkIHNfaW1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahCBzX2ltYXBfYmxvY2tzIOashOS9jSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NTk3CisjLCBmdXp6eQorbXNnaWQgImJhZCBzX2ZpcnN0ZGF0YXpvbmUgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahCBzX2ltYXBfYmxvY2tzIOashOS9jSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjAwCittc2dpZCAiYmFkIHNfem1hcF9ibG9ja3MgZmllbGQgaW4gc3VwZXItYmxvY2siCittc2dzdHIgIui2heWNgOWhiuS4reacieS4jeeVtueahCBzX3ptYXBfYmxvY2tzIOashOS9jSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjE2Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGUgbWFwIgorbXNnc3RyICLnhKHms5XphY3nva4gaW5vZGUg5bCN5pig57ep6KGd5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MTkKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciB6b25lIG1hcCIKK21zZ3N0ciAi54Sh5rOV6YWN572u5Y2A5Z+f5bCN5pig57ep6KGd5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjIKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZXMiCittc2dzdHIgIueEoeazlemFjee9riBpbm9kZXMg57ep6KGd5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MjUKK21zZ2lkICJVbmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBpbm9kZSBjb3VudCIKK21zZ3N0ciAi54Sh5rOV6YWN572uIGlub2RlIOioiOaVuOe3qeihneWNgCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjI4Cittc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3Igem9uZSBjb3VudCIKK21zZ3N0ciAi54Sh5rOV6YWN572u5Y2A5Z+f6KiI5pW457ep6KGd5Y2AIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2MzIKK21zZ2lkICJVbmFibGUgdG8gcmVhZCBpbm9kZSBtYXAiCittc2dzdHIgIueEoeazleiugOWPliBpbm9kZSDlsI3mmKAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjYzNgorbXNnaWQgIlVuYWJsZSB0byByZWFkIHpvbmUgbWFwIgorbXNnc3RyICLnhKHms5XoroDlj5bljYDln5/lsI3mmKAiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0MAorbXNnaWQgIlVuYWJsZSB0byByZWFkIGlub2RlcyIKK21zZ3N0ciAi54Sh5rOV6K6A5Y+WIGlub2RlcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIldhcm5pbmc6IEZpcnN0em9uZSAhPSBOb3JtX2ZpcnN0em9uZVxuIgorbXNnc3RyICLorablkYrvvJpGaXJzdHpvbmUgIT0gTm9ybV9maXJzdHpvbmVcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVsZCBpbm9kZXNcbiIKK21zZ3N0ciAiJWxkIGlub2Rlc1xuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJWxkIGJsb2Nrc1xuIgorbXNnc3RyICIlbGQg5Y2A5aGKXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY0OSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZpcnN0ZGF0YXpvbmU9JWpkICglamQpXG4iCittc2dzdHIgIuesrOS4gOizh+aWmeWNgD0lbGQgKCVsZClcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjUxCisjLCBjLWZvcm1hdAorbXNnaWQgIlpvbmVzaXplPSVkXG4iCittc2dzdHIgIuWNgOWfn+Wkp+Wwjz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1heHNpemU9JXp1XG4iCittc2dzdHIgIuacgOWkp+Wkp+Wwjz0lbGRcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gc3RhdGU9JWRcbiIKK21zZ3N0ciAi5qqU5qGI57O757Wx54uA5oWLPSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIm5hbWVsZW49JXpkXG4iCisiXG4iCittc2dzdHIgIiIKKyJuYW1lbGVuPSV6ZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo2NzAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVkIG1hcmtlZCB1bnVzZWQsIGJ1dCB1c2VkIGZvciBmaWxlICclcydcbiIKK21zZ3N0ciAiSW5vZGUgJWQg5qiZ6KiY54K65pyq5L2/55So77yM5L2G5piv5Y2755So5pa85qqU5qGI44CMJXPjgI1cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NjczIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjcyMworbXNnaWQgIk1hcmsgaW4gdXNlIgorbXNnc3RyICLmqJnoqJjngrrkvb/nlKjkuK0iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjY5NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIGZpbGUgYCVzJyBoYXMgbW9kZSAlMDVvXG4iCittc2dzdHIgIuaqlOahiOOAjCVz44CN5YW35pyJ5qih5byPICUwNW9cbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzAyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc0OQorIywgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBpbm9kZSBjb3VudCB0b28gYmlnLlxuIgorbXNnc3RyICLorablkYrvvJppbm9kZSDmlbjph4/lpKrlpKfjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzYxIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc2OQorbXNnaWQgInJvb3QgaW5vZGUgaXNuJ3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIuaguSBpbm9kZSDkuKbpnZ7nm67pjIQiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjc4MSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo4MTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2sgaGFzIGJlZW4gdXNlZCBiZWZvcmUuIE5vdyBpbiBmaWxlIGAlcycuIgorbXNnc3RyICLljYDloYrmlrzkuYvliY3lt7Lkvb/nlKjjgILnj77lnKjlsazmlrzmqpTmoYjjgIwlc+OAjeOAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6NzgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjgxNAorIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE0OSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU4CisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjA1IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTQKK21zZ2lkICJDbGVhciIKK21zZ3N0ciAi5riF6ZmkIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI0CisjLCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrICVkIGluIGZpbGUgYCVzJyBpcyBtYXJrZWQgbm90IGluIHVzZS4iCittc2dzdHIgIuaqlOahiOOAjCUyJHPjgI3kuK3nmoQg5Y2A5aGKICUxJGQg5bey5qiZ6KiY54K65pyq6KKr5L2/55So44CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo3OTUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6ODI2Cittc2dpZCAiQ29ycmVjdCIKK21zZ3N0ciAi5L+u5q2jIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzo5NjUgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTAzOQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGlyZWN0b3J5ICclcycgY29udGFpbnMgYSBiYWQgaW5vZGUgbnVtYmVyIGZvciBmaWxlICclLipzJy4iCittc2dzdHIgIuebrumMhOOAjCVz44CN5ZCr5pyJ5LiN55W255qEIGlub2RlIOe3qOiZn+aWvOaqlOahiOOAjCUuKnPjgI3jgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjk2NyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMDQxCittc2dpZCAiIFJlbW92ZSIKK21zZ3N0ciAiIOenu+mZpCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTgzIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdFxuIgorbXNnc3RyICIlc++8muS4jeeVtueahOebrumMhO+8muOAjC7jgI3kuI3mmK/nrKzkuIDlgItcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6OTkyIGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEwNjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kXG4iCittc2dzdHIgIiVz77ya5LiN55W255qE55uu6YyE77ya44CMLi7jgI3kuI3mmK/nrKzkuozlgItcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMCBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTIzCittc2dpZCAiaW50ZXJuYWwgZXJyb3IiCittc2dzdHIgIuWFp+mDqOmMr+iqpCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEwMyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTI2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBzaXplIDwgMzIiCittc2dzdHIgIiVz77ya5LiN55W255qE55uu6YyE77ya5aSn5bCPIDwgMzIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBiYWQgZGlyZWN0b3J5OiBpbnZhbGlkIGlfem9uZSwgdXNlIC0tcmVwYWlyIHRvIGZpeFxuIgorbXNnc3RyICIlc++8muS4jeeVtueahOebrumMhO+8muOAjC7jgI3kuI3mmK/nrKzkuIDlgItcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTEzOAorbXNnaWQgInNlZWsgZmFpbGVkIGluIGJhZF96b25lIgorbXNnc3RyICLlnKjmkI3mr4DljYDln5/kuK3mkJzlsIvlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNDggZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IG1vZGUgbm90IGNsZWFyZWQuIgorbXNnc3RyICJJbm9kZSAlbHUg5qih5byP54Sh5rOV5riF56m644CCIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTU3IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDmnKrkvb/nlKjvvIzmqJnoqJjnmoTlt7LnlKjmlrzkvY3lhYPlnJbjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgJWx1IHVzZWQsIG1hcmtlZCB1bnVzZWQgaW4gdGhlIGJpdG1hcC4iCittc2dzdHIgIklub2RlICVsdSDkvb/nlKjvvIzmqJnoqJjnmoTmnKrkvb/nlKjnmoTlnKjkuK3kvY3lhYPlnJbjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNjQgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyMAorbXNnaWQgIlNldCIKK21zZ3N0ciAi6Kit5a6aIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMTY4IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEyMjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlICVsdSAobW9kZSA9ICUwN28pLCBpX25saW5rcz0lZCwgY291bnRlZD0lZC4iCittc2dzdHIgIklub2RlICVsdSAo5qih5byPPSUwN28p77yMaW5saW5rcz0lZChfTinvvIzoqIjmlbg9JWTjgIIiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExNzEgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTIyNworbXNnaWQgIlNldCBpX25saW5rcyB0byBjb3VudCIKK21zZ3N0ciAi6Kit5a6aIGluX2xpbmtzIOWKoOWFpeioiOaVuCIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4MyBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJab25lICVsdTogbWFya2VkIGluIHVzZSwgbm8gZmlsZSB1c2VzIGl0LiIKK21zZ3N0ciAi5Y2AICVsde+8muaomeiomOeahOWcqOS4reS9v+eUqO+8jOaykuacieaqlOahiOS9v+eUqOWug+OAgiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTE4NSBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjQxCittc2dpZCAiVW5tYXJrIgorbXNnc3RyICLlj5bmtojmqJnoqJgiCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTAgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IGluIHVzZSwgY291bnRlZD0lZFxuIgorbXNnc3RyICLljYAgJWx177ya5Zyo5Lit5L2/55So77yM6KiI5pW4PSVkXG4iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjExOTMgZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZSAlbHU6IG5vdCBpbiB1c2UsIGNvdW50ZWQ9JWRcbiIKK21zZ3N0ciAi5Y2AICVsde+8muS4jeWcqOS9v+eUqOS4re+8jOioiOaVuD0lZFxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMjk5Cittc2dpZCAiYmFkIGlub2RlIHNpemUiCittc2dzdHIgIuS4jeeVtueahCBpbm9kZSDlpKflsI8iCisKKyM6IGRpc2stdXRpbHMvZnNjay5taW5peC5jOjEzMDEKK21zZ2lkICJiYWQgdjIgaW5vZGUgc2l6ZSIKK21zZ3N0ciAi5LiN55W255qEIHYyIGlub2RlIOWkp+WwjyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM0NgorbXNnaWQgIm5lZWQgdGVybWluYWwgZm9yIGludGVyYWN0aXZlIHJlcGFpcnMiCittc2dzdHIgIumcgOimgee1guerr+apn+S7pemAsuihjOS6kuWLleW8j+S/ruW+qSIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gJXM6ICVzIgorbXNnc3RyICLnhKHms5XplovllZ8gJXPvvJolcyIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM2MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBjbGVhbiwgbm8gY2hlY2suXG4iCittc2dzdHIgIiVzIOW3sua4hemZpO+8jOS4jeWBmuaqouafpeOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY0CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiAlcy5cbiIKK21zZ3N0ciAi5by35Yi25qqi5p+lICVzIOaqlOahiOezu+e1seOAglxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxMzY2CisjLCBjLWZvcm1hdAorbXNnaWQgIkZpbGVzeXN0ZW0gb24gJXMgaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLlxuIgorbXNnc3RyICIlcyDmqpTmoYjns7vntbHkuI3kub7mt6jvvIzpnIDopoHmqqLmn6XjgIJcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTM5OAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZsZCBpbm9kZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiIKKyJcbiIKKyIlNmxkIGlub2RlcyDlt7Lkvb/nlKggKCVsZCUlKVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDA0CisjLCBjLWZvcm1hdAorbXNnaWQgIiU2bGQgem9uZXMgdXNlZCAoJWxkJSUpXG4iCittc2dzdHIgIiU2bGQg5Y2A5Z+f5bey5L2/55SoICglbGQlJSlcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQwNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiJTZkIHJlZ3VsYXIgZmlsZXNcbiIKKyIlNmQgZGlyZWN0b3JpZXNcbiIKKyIlNmQgY2hhcmFjdGVyIGRldmljZSBmaWxlc1xuIgorIiU2ZCBibG9jayBkZXZpY2UgZmlsZXNcbiIKKyIlNmQgbGlua3NcbiIKKyIlNmQgc3ltYm9saWMgbGlua3NcbiIKKyItLS0tLS1cbiIKKyIlNmQgZmlsZXNcbiIKK21zZ3N0ciAiIgorIlxuIgorIiU2ZCDmqJnmupbmqpTmoYhcbiIKKyIlNmQg55uu6YyEXG4iCisiJTZkIOWtl+WFg+ijnee9ruaqlOahiFxuIgorIiU2ZCDljYDloYroo53nva7mqpTmoYhcbiIKKyIlNmQg6Y+I57WQXG4iCisiJTZkIOespuiZn+mAo+e1kFxuIgorIi0tLS0tLVxuIgorIiU2ZCDmqpTmoYhcbiIKKworIzogZGlzay11dGlscy9mc2NrLm1pbml4LmM6MTQyMAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIkZJTEUgU1lTVEVNIEhBUyBCRUVOIENIQU5HRURcbiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCittc2dzdHIgIiIKKyItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4iCisi5qqU5qGI57O757Wx5bey6K6K5pu0XG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorCisjOiBkaXNrLXV0aWxzL2ZzY2subWluaXguYzoxNDMyIGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjgzOAorIzogZGlzay11dGlscy9ta3N3YXAuYzo1NDEgZGlzay11dGlscy9wYXJ0eC5jOjEwNTggZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTE0CisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMjMgbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDAwCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM5MSBzeXMtdXRpbHMvZG1lc2cuYzo2NjEgc3lzLXV0aWxzL3dkY3RsLmM6MzQ3CisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0MTIgdGVybS11dGlscy9zY3JpcHQuYzoyOTggdGVybS11dGlscy9zY3JpcHQuYzozNzUKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg4NyB0ZXh0LXV0aWxzL3BnLmM6MTI1NgorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBmYWlsZWQiCittc2dzdHIgIuWvq+WFpeWkseaVlyIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBtaWdodCBub3QgYmUgYW4gSVNPIGZpbGVzeXN0ZW0iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9pc29zaXplLmM6MTExIGRpc2stdXRpbHMvaXNvc2l6ZS5jOjExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVhZCBlcnJvciBvbiAlcyIKK21zZ3N0ciAi6K6A5Y+W6Yyv6Kqk5pa8ICVzIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxMjQKKyMsIGMtZm9ybWF0Cittc2dpZCAic2VjdG9yIGNvdW50OiAlZCwgc2VjdG9yIHNpemU6ICVkXG4iCittc2dzdHIgIuejgeWNgOaVuOmHj++8miVkLCDno4HljYDlpKflsI/vvJolZFxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGlzbzk2NjBfaW1hZ2VfZmlsZT4gLi4uXG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKyIgJXMgW+mBuOmghV0gaXNvOTY2MF9pbWFnZV9maWxlXG4iCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1MgorbXNnaWQgIlNob3cgdGhlIGxlbmd0aCBvZiBhbiBJU08tOTY2MCBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NQorbXNnaWQgIiAtZCwgLS1kaXZpc29yPTxudW1iZXI+ICBkaXZpZGUgdGhlIGFtb3VudCBvZiBieXRlcyBieSA8bnVtYmVyPlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvaXNvc2l6ZS5jOjE1NgorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tc2VjdG9ycyAgICAgICAgICAgc2hvdyBzZWN0b3IgY291bnQgYW5kIHNpemVcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOmhr+ekuuW7uueri+iAheWSjOaTgeacieiAhVxuIgorCisjOiBkaXNrLXV0aWxzL2lzb3NpemUuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBkaXZpc29yIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTpmaTmlbjlvJXmlbgiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzo3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2UgW2Jsb2NrLWNvdW50XVxuIgorbXNnc3RyICLnlKjms5XvvJolcyBb6YG46aCFXSDoo53nva4gW2Jsb2NrLWNvdW50XVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6NzgKK21zZ2lkICJNYWtlIGFuIFNDTyBiZnMgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIHNwZWNpZnkgZGVzaXJlZCBudW1iZXIgb2YgaW5vZGVzXG4iCisiIC1WLCAtLXZuYW1lPU5BTUUgICAgc3BlY2lmeSB2b2x1bWUgbmFtZVxuIgorIiAtRiwgLS1mbmFtZT1OQU1FICAgIHNwZWNpZnkgZmlsZSBzeXN0ZW0gbmFtZVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisiIC1jICAgICAgICAgICAgICAgICAgdGhpcyBvcHRpb24gaXMgc2lsZW50bHkgaWdub3JlZFxuIgorIiAtbCAgICAgICAgICAgICAgICAgIHRoaXMgb3B0aW9uIGlzIHNpbGVudGx5IGlnbm9yZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIumBuOmghe+8mlxuIgorIiAtTiwgLS1pbm9kZXM9TlVNICAgIOaMh+WumuioreaDs+eahCBpbm9kZXMg5pW46YePXG4iCisiIC1WLCAtLXZuYW1lPeWQjeeosSAgICDmjIflrprljbflhorlkI3nqLFcbiIKKyIgLUYsIC0tZm5hbWU95ZCN56ixICAgIOaMh+WumuaqlOahiOezu+e1seWQjeeosVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorIiAtYyAgICAgICAgICAgICAgICAgIOmAmeWAi+mBuOmgheaYr+WvgumdnOeahOW/veeVpVxuIgorIiAtbCAgICAgICAgICAgICAgICAgIOmAmeWAi+mBuOmgheaYr+WvgumdnOeahOW/veeVpVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorIiAgICAgICAgICAgICAgICAgICAgIC1WIOWBmueCuueJiOacrOW/hemgiOaYr+WPquaciemBuOmghVxuIgorIiAtaCwgLS1oZWxwICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAi54Sh5pWI55qEIGlub2RlcyDmlbjph48iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoxNTEKK21zZ2lkICJ2b2x1bWUgbmFtZSB0b28gbG9uZyIKK21zZ3N0ciAi5Y235YaK5ZCN56ix5aSq6ZW3IgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MTU4Cittc2dpZCAiZnNuYW1lIG5hbWUgdG9vIGxvbmciCittc2dzdHIgIuaqlOahiOezu+e1seWQjeeoseWkqumVtyIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjE5NgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGJsb2NrLWNvdW50IgorbXNnc3RyICLnhKHmlYjnmoQgYmxvY2stY291bnQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICLnhKHms5Xlj5blvpcgJXMg55qE5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjA5CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrcyBhcmd1bWVudCB0b28gbGFyZ2UsIG1heCBpcyAlbGx1IgorbXNnc3RyICLljYDloYrlvJXmlbjlpKrlpKfvvIzmnIDlpKfmmK8gJWxsdSIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjIyNAorbXNnaWQgInRvbyBtYW55IGlub2RlcyAtIG1heCBpcyA1MTIiCittc2dzdHIgIuWkquWkmiBpbm9kZXMgLSDmnIDlpKfngrogNTEyIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UsIG5lZWQgYXQgbGVhc3QgJWxsdSBibG9ja3MiCittc2dzdHIgIuaykuaciei2s+WkoOeahOepuumWk++8jOmcgOimgeiHs+WwkSAlbGx1IOWNgOWhiiIKKworIzogZGlzay11dGlscy9ta2ZzLmJmcy5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2U6ICVzXG4iCittc2dzdHIgIuijnee9ru+8miVzXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVm9sdW1lOiA8JS02cz5cbiIKK21zZ3N0ciAi5Y235YaK77yaPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiRlNuYW1lOiA8JS02cz5cbiIKK21zZ3N0ciAi5qqU5qGI57O757Wx5ZCN56ix77yaPCUtNnM+XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQmxvY2tTaXplOiAlZFxuIgorbXNnc3RyICLljYDloYrlpKflsI/vvJolZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbm9kZXM6ICVsZCAoaW4gMSBibG9jaylcbiIKK21zZ3N0ciAiSW5vZGVz77yaJWx1ICjlnKjkuK0gMSDljYDloYopXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklub2RlczogJWxkIChpbiAlbGx1IGJsb2NrcylcbiIKK21zZ3N0ciAiSW5vZGVz77yaJWx1ICjlnKjkuK0gJWxsdSDljYDloYopXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJsb2NrczogJWxsdVxuIgorbXNnc3RyICLljYDloYrvvJolbGxkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyNTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiSW5vZGUgZW5kOiAlZCwgRGF0YSBlbmQ6ICVkXG4iCittc2dzdHIgIklub2RlIOe1kOadn++8miVkLCDos4fmlpnntZDmnZ/vvJolZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjYyCittc2dpZCAiZXJyb3Igd3JpdGluZyBzdXBlcmJsb2NrIgorbXNnc3RyICLlr6vlhaXotoXljYDloYrmmYLnmbznlJ/pjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODMKK21zZ2lkICJlcnJvciB3cml0aW5nIHJvb3QgaW5vZGUiCittc2dzdHIgIuWvq+WFpeaguSBpbm9kZSDmmYLnmbznlJ/pjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzoyODgKK21zZ2lkICJlcnJvciB3cml0aW5nIGlub2RlIgorbXNnc3RyICLlr6vlhaUgaW5vZGUg5pmC55m855Sf6Yyv6KqkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MjkxCittc2dpZCAic2VlayBlcnJvciIKK21zZ3N0ciAi5bCL5om+6Yyv6KqkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6Mjk3Cittc2dpZCAiZXJyb3Igd3JpdGluZyAuIGVudHJ5IgorbXNnc3RyICLlr6vlhaUgLiDpoIXnm67mmYLnmbznlJ/pjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5iZnMuYzozMDEKK21zZ2lkICJlcnJvciB3cml0aW5nIC4uIGVudHJ5IgorbXNnc3RyICLlr6vlhaUgLi4g6aCF55uu5pmC55m855Sf6Yyv6KqkIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYmZzLmM6MzA0CisjLCBjLWZvcm1hdAorbXNnaWQgImVycm9yIGNsb3NpbmcgJXMiCittc2dzdHIgIumXnOmWiSAlcyDmmYLnmbznlJ/pjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstdCA8dHlwZT5dIFtmcy1vcHRpb25zXSA8ZGV2aWNlPiBbPHNpemU+XVxuIgorbXNnc3RyICLnlKjms5XvvJolcyBb6YG46aCFXSBbLXQg5Z6L5oWLIGZzLW9wdGlvbnNdIOijnee9riBb5aSn5bCPXVxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo0OQorIywgZnV6enkKK21zZ2lkICJNYWtlIGEgTGludXggZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5qqU5qGI57O757Wx5Z6L5oWLIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIgLXQsIC0tdHlwZT08dHlwZT4gIGZpbGVzeXN0ZW0gdHlwZTsgd2hlbiB1bnNwZWNpZmllZCwgZXh0MiBpcyB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICBmcy1vcHRpb25zICAgICBwYXJhbWV0ZXJzIGZvciB0aGUgcmVhbCBmaWxlc3lzdGVtIGJ1aWxkZXJcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMuYzo1NAorIywgYy1mb3JtYXQKK21zZ2lkICIgICAgIDxkZXZpY2U+ICAgICAgIHBhdGggdG8gdGhlIGRldmljZSB0byBiZSB1c2VkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICA8c2l6ZT4gICAgICAgICBudW1iZXIgb2YgYmxvY2tzIHRvIGJlIHVzZWQgb24gdGhlIGRldmljZVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jOjU2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLVYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5aW5nIC1WIG1vcmUgdGhhbiBvbmNlIHdpbGwgY2F1c2UgYSBkcnktcnVuXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLmM6MTM5IGluY2x1ZGUvYy5oOjIyMyBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxNDM1CisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzkxIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3OTUgc3lzLXV0aWxzL2Zsb2NrLmM6MTIxCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU5NSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjYxOAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIKK21zZ3N0ciAi5Z+36KGMICVzIOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjEyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorInVzYWdlOiAlcyBbLWhdIFstdl0gWy1iIGJsa3NpemVdIFstZSBlZGl0aW9uXSBbLU4gZW5kaWFuXSBbLWkgZmlsZV0gWy1uIG5hbWVdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtdiAgICAgICAgIGJlIHZlcmJvc2VcbiIKKyIgLUUgICAgICAgICBtYWtlIGFsbCB3YXJuaW5ncyBlcnJvcnMgKG5vbi16ZXJvIGV4aXQgc3RhdHVzKVxuIgorIiAtYiBibGtzaXplIHVzZSB0aGlzIGJsb2Nrc2l6ZSwgbXVzdCBlcXVhbCBwYWdlIHNpemVcbiIKKyIgLWUgZWRpdGlvbiBzZXQgZWRpdGlvbiBudW1iZXIgKHBhcnQgb2YgZnNpZClcbiIKKyIgLU4gZW5kaWFuICBzZXQgY3JhbWZzIGVuZGlhbm5lc3MgKGJpZ3xsaXR0bGV8aG9zdCksIGRlZmF1bHQgaG9zdFxuIgorIiAtaSBmaWxlICAgIGluc2VydCBhIGZpbGUgaW1hZ2UgaW50byB0aGUgZmlsZXN5c3RlbVxuIgorIiAtbiBuYW1lICAgIHNldCBuYW1lIG9mIGNyYW1mcyBmaWxlc3lzdGVtXG4iCisiIC1wICAgICAgICAgcGFkIGJ5ICVkIGJ5dGVzIGZvciBib290IGNvZGVcbiIKKyIgLXMgICAgICAgICBzb3J0IGRpcmVjdG9yeSBlbnRyaWVzIChvbGQgb3B0aW9uLCBpZ25vcmVkKVxuIgorIiAteiAgICAgICAgIG1ha2UgZXhwbGljaXQgaG9sZXNcbiIKKyIgZGlybmFtZSAgICByb290IG9mIHRoZSBmaWxlc3lzdGVtIHRvIGJlIGNvbXByZXNzZWRcbiIKKyIgb3V0ZmlsZSAgICBvdXRwdXQgZmlsZVxuIgorbXNnc3RyICIiCisi55So5rOV77yaJXMgWy1oXSBbLXZdIFstYiDljYDloYrlpKflsI9dIFstZSDnt6jmrKFdIFstTiDlsL7luo9dIFstaSDmqpTmoYhdIFstbiDlkI3nqLFdIGRpcm5hbWUgb3V0ZmlsZVxuIgorIiAtaCAgICAgICAgICDljbDlh7rpgJnlgIvoqqrmmI5cbiIKKyIgLXYgICAgICAgICAg6Kmz57Sw6KiK5oGvXG4iCisiIC1FICAgICAgICAgIOaJgOacieitpuWRiuimlueCuumMr+iqpCAo6Z2e6Zu257WQ5p2f54uA5oWLKVxuIgorIiAtYiDljYDloYrlpKflsI8g5L2/55So6YCZ5YCL5Y2A5aGK5aSn5bCP77yM5b+F6aCI562J5pa86aCB6Z2i5aSn5bCPXG4iCisiIC1lIOe3qOasoSAgICAg6Kit5a6a57eo5qyh5pW45a2XICjpg6jliIbnmoQgZnNpZClcbiIKKyIgLU4g5bC+5bqPICAgICDoqK3lrpogY3JhbWZzIOWwvuW6jyAo5aSnfOWwj3zkuLvmqZ8p77yM6aCQ6Kit5L6d5Li75qmfXG4iCisiIC1pIOaqlOahiCAgICAg5o+S5YWl5qqU5qGI5b2x5YOP5Yiw5qqU5qGI57O757WxICjpnIDmsYIgPj0gMi40LjApXG4iCisiIC1uIOWQjeeosSAgICAg6Kit5a6aIGNyYW1mcyDmqpTmoYjns7vntbHnmoTlkI3nqLFcbiIKKyIgLXAgICAgICAgICAg5aGr5YWFICVkIOS9jeWFg+e1hOaWvOmWi+apn+eivFxuIgorIiAtcyAgICAgICAgICDmjpLluo/nm67pjITpoIXnm64gKOiIiumBuOmghe+8jOW/veeVpSlcbiIKKyIgLXogICAgICAgICAg6KO95L2c5piO56K655qE56m65rSeICjpnIDmsYIgPj0gMi4zLjM5KVxuIgorIiBkaXJuYW1lICAgICDlo5PnuK7nmoTmqpTmoYjns7vntbHmoLnnm67pjIRcbiIKKyIgb3V0ZmlsZSAgICAg6Ly45Ye65qqU5qGIXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzoxNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInJlYWRsaW5rIGZhaWxlZDogJXMiCittc2dzdHIgIuiugOWPluWkseaVl++8miVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6MzA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZCBkaXJlY3RvcnkgJXMiCittc2dzdHIgIueEoeazleiugOWPluebrumMhCAlcyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjQ0MgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHRvbyBiaWcuICBFeGl0aW5nLiIKK21zZ3N0ciAi5qqU5qGI57O757Wx5aSq5aSn44CCIOmboumWi+OAgiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYwMQorIywgYy1mb3JtYXQKK21zZ2lkICJBSUVFRTogYmxvY2sgXCJjb21wcmVzc2VkXCIgdG8gPiAyKmJsb2NrbGVuZ3RoICglbGQpXG4iCittc2dzdHIgIkFJRUVF77ya5Y2A5aGK44CM6KKr5aOT57iu44CN5YiwID4gMirljYDloYrplbfluqYgKCVsZClcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjYyMAorIywgYy1mb3JtYXQKK21zZ2lkICIlNi4yZiUlICglK2xkIGJ5dGVzKVx0JXNcbiIKK21zZ3N0ciAiJTYuMmYlJSAoJStsZCDkvY3lhYPntYQpXHQlc1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgY2xvc2UgZmlsZSAlcyIKK21zZ3N0ciAi54Sh5rOV6Zec6ZaJ5qqU5qGIICVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6NzQyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZWRpdGlvbiBudW1iZXIgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWIhuWJsuWNgOe3qOiZn+W8leaVuCIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjc1MgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGVuZGlhbm5lc3MgZ2l2ZW47IG11c3QgYmUgJ2JpZycsICdsaXR0bGUnLCBvciAnaG9zdCciCittc2dzdHIgIueEoeaViOeahOWwvuW6j+e1puWumueahOOAguW/hemgiOaYr+OAjuWkp+OAj++8jOOAjuWwj+Wei+OAj++8jOaIluOAjuS4u+apn+OAjyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjgxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZ3Vlc3RpbWF0ZSBvZiByZXF1aXJlZCBzaXplICh1cHBlciBib3VuZCkgaXMgJWxsZE1CLCBidXQgbWF4aW11bSBpbWFnZSBzaXplIGlzICV1TUIuICBXZSBtaWdodCBkaWUgcHJlbWF0dXJlbHkuIgorbXNnc3RyICLorablkYrvvJpndWVzdGltYXRlIOeahOW/heimgemgheWkp+WwjyAo5LiK6ZmQKSDmmK8gJWxsZE1C77yM5L2G5piv5pyA5aSn5YC85b2x5YOP5aSn5bCP5pivICV1TULjgIIg5oiR5YCR5Lmf6Kix5raI5ruF6YGO5pep44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODQyCittc2dpZCAiUk9NIGltYWdlIG1hcCIKK21zZ3N0ciAi5ZSv6K6A6KiY5oa26auU5ZyW5YOP5pig5bCEIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6ODU0CisjLCBjLWZvcm1hdAorbXNnaWQgIkluY2x1ZGluZzogJXNcbiIKK21zZ3N0ciAi5YyF5ZCr77yaJXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2MAorIywgYy1mb3JtYXQKK21zZ2lkICJEaXJlY3RvcnkgZGF0YTogJXpkIGJ5dGVzXG4iCittc2dzdHIgIuebrumMhOizh+aWme+8miV6ZCDkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg2OAorIywgYy1mb3JtYXQKK21zZ2lkICJFdmVyeXRoaW5nOiAlemQga2lsb2J5dGVzXG4iCittc2dzdHIgIuaJgOacieadseilv++8miV6ZCDljYPkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg3MworIywgYy1mb3JtYXQKK21zZ2lkICJTdXBlciBibG9jazogJXpkIGJ5dGVzXG4iCittc2dzdHIgIui2heWNgOWhiu+8miV6ZCDkvY3lhYPntYRcbiIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg4MAorIywgYy1mb3JtYXQKK21zZ2lkICJDUkM6ICV4XG4iCittc2dzdHIgIkNSQ++8miV4XG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vdCBlbm91Z2ggc3BhY2UgYWxsb2NhdGVkIGZvciBST00gaW1hZ2UgKCVsbGQgYWxsb2NhdGVkLCAlenUgdXNlZCkiCittc2dzdHIgIuS4jei2s+epuuagvOmFjee9rueahOeUqOaWvOWUr+iugOiomOaGtumrlOW9seWDjyAoJWxsZCDphY3nva7vvIwlenUg5L2/55SoKSIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjg5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUk9NIGltYWdlIHdyaXRlIGZhaWxlZCAoJXpkICV6ZCkiCittc2dzdHIgIuWUr+iugOiomOaGtumrlOW9seWDj+Wvq+WFpeWkseaVlyAoJXpkICV6ZCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5jcmFtZnMuYzo4OTQKK21zZ2lkICJST00gaW1hZ2UiCittc2dzdHIgIuWUr+iugOiomOaGtumrlOaYoOWDjyIKKworIzogZGlzay11dGlscy9ta2ZzLmNyYW1mcy5jOjkwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogZmlsZW5hbWVzIHRydW5jYXRlZCB0byAldSBieXRlcy4iCittc2dzdHIgIuitpuWRiu+8muaqlOWQjeaIquefreiHsyAyNTUg5L2N5YWD57WE44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA1CisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmc6IGZpbGVzIHdlcmUgc2tpcHBlZCBkdWUgdG8gZXJyb3JzLiIKK21zZ3N0ciAi6K2m5ZGK77ya5qqU5qGI6KKr55Wl6YGO55Sx5pa86Yyv6Kqk44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTA3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBmaWxlIHNpemVzIHRydW5jYXRlZCB0byAlbHVNQiAobWludXMgMSBieXRlKS4iCittc2dzdHIgIuitpuWRiu+8muaqlOahiOWkp+Wwj+aIquefreiHsyAlbHVNQiAobWludXMgMSDkvY3lhYPntYQp44CCIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTExCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiB1aWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLorablkYrvvJp1aWRzIOaIquefreiHsyAldSDkvY3lhYPjgIIgKOmAmeS5n+ioseacg+aYr+WuieWFqOS4iueahOiAg+mHjy4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBnaWRzIHRydW5jYXRlZCB0byAldSBiaXRzLiAgKFRoaXMgbWF5IGJlIGEgc2VjdXJpdHkgY29uY2Vybi4pIgorbXNnc3RyICLorablkYrvvJpnaWRzIOaIquefreiHsyAldSDkvY3lhYPjgIIgKOmAmeS5n+ioseacg+aYr+WuieWFqOS4iueahOiAg+mHjy4pIgorCisjOiBkaXNrLXV0aWxzL21rZnMuY3JhbWZzLmM6OTE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiV0FSTklORzogZGV2aWNlIG51bWJlcnMgdHJ1bmNhdGVkIHRvICV1IGJpdHMuICBUaGlzIGFsbW9zdCBjZXJ0YWlubHkgbWVhbnNcbiIKKyJ0aGF0IHNvbWUgZGV2aWNlIGZpbGVzIHdpbGwgYmUgd3JvbmcuIgorbXNnc3RyICIiCisi6K2m5ZGK77ya6KOd572u57eo6Jmf5oiq55+t6IezICV1IOS9jeWFg+OAgiDpgJnlgIvlub7kuY7mn5DkupvooajnpLpcbiIKKyLoqbLmn5Dkupvoo53nva7mqpTmoYjlsIfmmK/pjK/oqqTnmoTjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSAvZGV2L25hbWUgW2Jsb2Nrc11cbiIKK21zZ3N0ciAi55So5rOV77yaJXMgW+mBuOmghV0g6KOd572uIFtibG9jay1jb3VudF1cbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQwCisjLCBmdXp6eQorbXNnaWQgIiAtMSAgICAgICAgICAgICAgICAgICAgICB1c2UgTWluaXggdmVyc2lvbiAxXG4iCittc2dzdHIgIiAtVCwgLS10ZXN0ICAgICAgICAgICAgICAgICAgIOa4rOippueUqOaWvCBnZXRvcHQgKDEpIOeJiOacrFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtdiAgICAgICAgICAgICAgICAgIHVzZSBNaW5peCB2ZXJzaW9uIDJcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u6YCa6KiK5Z+gXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLTMgICAgICAgICAgICAgICAgICAgICAgdXNlIE1pbml4IHZlcnNpb24gM1xuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDmuKzoqabnlKjmlrwgZ2V0b3B0ICgxKSDniYjmnKxcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uYW1lbGVuZ3RoIDxudW0+ICBtYXhpbXVtIGxlbmd0aCBvZiBmaWxlbmFtZXNcbiIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoxNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlub2RlcyA8bnVtPiAgICAgIG51bWJlciBvZiBpbm9kZXMgZm9yIHRoZSBmaWxlc3lzdGVtXG4iCittc2dzdHIgIiAgICAtQyMgW+aIliAtLWN5bGluZGVycyAjXe+8muioreWumuimgeeUqOeahOejgeafseaVuOmHjyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jaGVjayAgICAgICAgICAgICBjaGVjayB0aGUgZGV2aWNlIGZvciBiYWQgYmxvY2tzXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE0NgorbXNnaWQgIiAtbCwgLS1iYWRibG9ja3MgPGZpbGU+ICBsaXN0IG9mIGJhZCBibG9ja3MgZnJvbSBmaWxlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayB0byBib290IGJsb2NrIGZhaWxlZCAgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlc++8muWwi+aMh+WIsOWVn+WLleWNgOauteWkseaVlyAg5Zyo5LitIHdyaXRldGFibGVzKF9UKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIGNsZWFyIGJvb3Qgc2VjdG9yIgorbXNnc3RyICIlc++8mueEoeazlea4heepuumWi+apn+ejgeWNgCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MTk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VlayBmYWlsZWQgaW4gd3JpdGVfdGFibGVzIgorbXNnc3RyICIlc++8muWwi+aMh+WkseaVl+eahOWcqOS4rSB3cml0ZXRhYmxlcyhfVCkiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjE5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBzdXBlci1ibG9jayIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaXotoXljYDloYoiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byB3cml0ZSBpbm9kZSBtYXAiCittc2dzdHIgIiVz77ya54Sh5rOV5a+r5YWlIGlub2RlIOaYoOWwhCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIHpvbmUgbWFwIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeWNgOaYoOWwhCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5hYmxlIHRvIHdyaXRlIGlub2RlcyIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaUgaW5vZGVzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXPvvJrlsIvmjIflpLHmlZfnmoTlnKjkuK0gd3JpdGVibG9jayhfQikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIGZhaWxlZCBpbiB3cml0ZV9ibG9jayIKK21zZ3N0ciAiJXPvvJrlr6vlhaXlpLHmlZfnmoTlnKjkuK0gd3JpdGVibG9jayhfQikiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjIyMyBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyOTgKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjM0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBtYW55IGJhZCBibG9ja3MiCittc2dzdHIgIiVz77ya5aSq5aSa5LiN55W255qE5Y2A5aGKIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZW5vdWdoIGdvb2QgYmxvY2tzIgorbXNnc3RyICIlc++8muS4jei2s+iJr+WlveWNgOWhiiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJGaXJzdCBkYXRhIGJsb2NrIGF0ICVqZCwgd2hpY2ggaXMgdG9vIGZhciAobWF4ICVkKS5cbiIKKyJUcnkgc3BlY2lmeWluZyBmZXdlciBpbm9kZXMgYnkgcGFzc2luZyAtLWlub2RlcyA8bnVtPiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVsdSBpbm9kZVxuIgorbXNnaWRfcGx1cmFsICIlbHUgaW5vZGVzXG4iCittc2dzdHJbMF0gIiVsdSBpbm9kZXNcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlbHUgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWx1IGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlbHUg5Y2A5aGKXG4iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjU3MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiWm9uZXNpemU9JXp1XG4iCittc2dzdHIgIuWNgOWfn+Wkp+Wwjz0lZFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJNYXhzaXplPSV6dVxuIgorIlxuIgorbXNnc3RyICIiCisi5pyA5aSn5a656YePPSVsZFxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBkdXJpbmcgdGVzdGluZyBvZiBibG9ja3MiCittc2dzdHIgIiVz77ya5bCL5oyH5aSx5pWX55qE5Zyo55qE5pyf6ZaT5ris6Kmm55qE5Y2A5aGKIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo1OTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2VpcmQgdmFsdWVzIGluIGRvX2NoZWNrOiBwcm9iYWJseSBidWdzXG4iCittc2dzdHIgImRvX2NoZWNrIOS4reWHuuePvueVsOW4uOWAvO+8muWPr+iDvemMr+iqpFxuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIiVz77ya5bCL5oyH5aSx5pWX55qE5Zyo5LitIGNoZWNrYmxvY2tzKF9CKSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYmFkIGJsb2NrcyBiZWZvcmUgZGF0YS1hcmVhOiBjYW5ub3QgbWFrZSBmcyIKK21zZ3N0ciAiJXPvvJrkuI3nlbbnmoTljYDloYrkuYvliY0gZGF0YS1hcmVh77ya54Sh5rOV6KO95L2cIGZzIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NDEgZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCBiYWQgYmxvY2tcbiIKK21zZ2lkX3BsdXJhbCAiJWQgYmFkIGJsb2Nrc1xuIgorbXNnc3RyWzBdICIlZCDlgIvkuI3oia/ljYDloYpcbiIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3Qgb3BlbiBmaWxlIG9mIGJhZCBibG9ja3MiCittc2dzdHIgIiVz77ya54Sh5rOV6ZaL5ZWf5qqU5qGI55qE5LiN55W255qE5Y2A5aGKIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkYmxvY2sgbnVtYmVyIGlucHV0IGVycm9yIG9uIGxpbmUgJWRcbiIKK21zZ3N0ciAi5pCN5aOe5Y2A5aGK57eo6Jmf6Ly45YWl6Yyv6Kqk5pa856ysICVkIOWIl1xuIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgcmVhZCBiYWRibG9ja3MgZmlsZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5YgYmFkYmxvY2tzIOaqlOahiCIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6Njk2CisjLCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIHNpemUgc21hbGxlciB0aGFuIHBoeXNpY2FsIHNlY3RvciBzaXplIG9mICVzIgorbXNnc3RyICLljYDmrrXlpKflsI/lsI/mlrwgJXMg55qE5a+m6auU56OB5Y2A5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo2OTkKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGRldGVybWluZSBzaXplIG9mICVzIgorbXNnc3RyICLnhKHms5XmsbrlrpogJXMg55qE5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlcXVlc3RlZCBibG9ja3MgKCVsbHUpIGV4Y2VlZHMgYXZhaWxhYmxlICglbGx1KSBibG9ja3NcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2YgYmxvY2tzIHRvbyBzbWFsbCIKK21zZ3N0ciAiJXPvvJrljYDloYrmlbjph4/lpKrlsI8iCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjcyNSBkaXNrLXV0aWxzL21rZnMubWluaXguYzo3MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiAlZCIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5byV5pW477yaJXMiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgbWluaXggZmlsZSBzeXN0ZW0gdmVyc2lvbjogJWQiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOaqlOahiOezu+e1seeJueW+tSIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6NzcxCittc2dpZCAiLXYgaXMgYW1iaWd1b3VzLCB1c2UgJy0yJyBpbnN0ZWFkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWF4aW11bSBsZW5ndGggb2YgZmlsZW5hbWVzIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvbWtmcy5taW5peC5jOjc4NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIGlub2RlcyIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL21rZnMubWluaXguYzo4MTAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBibG9ja3MiCittc2dzdHIgIuWJluaekOWIl+iZn+eahOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9ta2ZzLm1pbml4LmM6ODE4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG1vdW50ZWQ7IHdpbGwgbm90IG1ha2UgYSBmaWxlc3lzdGVtIGhlcmUhIgorbXNnc3RyICIlcyDlt7LmjpvovInvvJvlnKjmraTlsIfnhKHms5Xoo73kvZzmqpTmoYjns7vntbHvvIEiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJhZCB1c2VyLXNwZWNpZmllZCBwYWdlIHNpemUgJXUiCittc2dzdHIgIuS4jeeVtueahOS9v+eUqOiAheaMh+WumueahOmggemdouWkp+WwjyAldSIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXNpbmcgdXNlci1zcGVjaWZpZWQgcGFnZSBzaXplICVkLCBpbnN0ZWFkIG9mIHRoZSBzeXN0ZW0gdmFsdWUgJWQiCittc2dzdHIgIuS9v+eUqOS9v+eUqOiAheaMh+WumueahOmggemdouWkp+WwjyAlZO+8jOS7peS7o+abv+ezu+e1seWAvCAlZCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiTGFiZWwgd2FzIHRydW5jYXRlZC4iCittc2dzdHIgIuaomeiyvOiiq+aIquaWt+OAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxMzIKKyMsIGMtZm9ybWF0Cittc2dpZCAibm8gbGFiZWwsICIKK21zZ3N0ciAi54Sh5qiZ57Gk77yMIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE0MAorIywgYy1mb3JtYXQKK21zZ2lkICJubyB1dWlkXG4iCittc2dzdHIgIuaykuaciSB1dWlkXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTQ4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXSBkZXZpY2UgW3NpemVdXG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKyIgJXMgW+mBuOmghV0g6KOd572uIFvlpKflsI9dXG4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTUzCittc2dpZCAiU2V0IHVwIGEgTGludXggc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiT3B0aW9uczpcbiIKKyIgLWMsIC0tY2hlY2sgICAgICAgICAgICAgICBjaGVjayBiYWQgYmxvY2tzIGJlZm9yZSBjcmVhdGluZyB0aGUgc3dhcCBhcmVhXG4iCisiIC1mLCAtLWZvcmNlICAgICAgICAgICAgICAgYWxsb3cgc3dhcCBzaXplIGFyZWEgYmUgbGFyZ2VyIHRoYW4gZGV2aWNlXG4iCisiIC1wLCAtLXBhZ2VzaXplIFNJWkUgICAgICAgc3BlY2lmeSBwYWdlIHNpemUgaW4gYnl0ZXNcbiIKKyIgLUwsIC0tbGFiZWwgTEFCRUwgICAgICAgICBzcGVjaWZ5IGxhYmVsXG4iCisiIC12LCAtLXN3YXB2ZXJzaW9uIE5VTSAgICAgc3BlY2lmeSBzd2FwLXNwYWNlIHZlcnNpb24gbnVtYmVyXG4iCisiIC1VLCAtLXV1aWQgVVVJRCAgICAgICAgICAgc3BlY2lmeSB0aGUgdXVpZCB0byB1c2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIumBuOmghe+8mlxuIgorIiAtYywgLS1jaGVjayAgICAgICAgICAgICAgIOaqouafpeS4jeeVtueahOWNgOWhiuS5i+WJjeW7uueri+S6pOaPm+WNgOWfn1xuIgorIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIOWFgeioseS6pOaPm+Wkp+Wwj+WNgOWfn+aYr+Wkp+aWvOijnee9rlxuIgorIiAtcCwgLS1wYWdlc2l6ZSDlpKflsI8gICAgICAg5oyH5a6a6aCB6Z2i5aSn5bCP5Zyo5Lit5L2N5YWD57WEXG4iCisiIC1MLCAtLWxhYmVsIOaomeiyvCAgICAgICAgIOaMh+WumuaomeiyvFxuIgorIiAtdiwgLS1zd2FwdmVyc2lvbiBOVU0gICAgIOaMh+WumuS6pOaPm+epuumWk+eJiOacrOe3qOiZn1xuIgorIiAtVSwgLS11dWlkIFVVSUQgICAgICAgICAgIOaMh+WumiB1dWlkIOS7peS9v+eUqFxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidG9vIG1hbnkgYmFkIHBhZ2VzOiAlbHUiCittc2dzdHIgIuWkquWkmuS4jeiJr+mggemdoiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoxOTcKK21zZ2lkICJzZWVrIGZhaWxlZCBpbiBjaGVja19ibG9ja3MiCittc2dzdHIgIuWcqCBjaGVja19ibG9ja3Mg5Lit55qE5bCL5om+5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWx1IGJhZCBwYWdlXG4iCittc2dpZF9wbHVyYWwgIiVsdSBiYWQgcGFnZXNcbiIKK21zZ3N0clswXSAiJWx1IOWAi+S4jeiJr+mggemdolxuIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjIzMAorbXNnaWQgInVuYWJsZSB0byBhbGxvYyBuZXcgbGliYmxraWQgcHJvYmUiCittc2dzdHIgIueEoeazlemFjee9ruaWsOeahCBsaWJibGtpZCDmjqLph50iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjMyCittc2dpZCAidW5hYmxlIHRvIGFzc2lnbiBkZXZpY2UgdG8gbGliYmxraWQgcHJvYmUiCittc2dzdHIgIueEoeazleaMh+a0vuijnee9rue1piBsaWJibGtpZCDmjqLph50iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNoZWNraW5nIGJhZCBibG9ja3MgZnJvbSBzd2FwIGZpbGUgaXMgbm90IHN1cHBvcnRlZDogJXMiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzoyNjMgZGlzay11dGlscy9ta3N3YXAuYzoyODkgZGlzay11dGlscy9ta3N3YXAuYzozMzYKK21zZ2lkICJ1bmFibGUgdG8gcmV3aW5kIHN3YXAtZGV2aWNlIgorbXNnc3RyICLnhKHms5XlgJLovYnkuqTmj5voo53nva4iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6MjkyCittc2dpZCAidW5hYmxlIHRvIGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIueEoeazlea4hemZpOmWi+apn+ejgeWNgCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IHdpcGluZyBvbGQgJXMgc2lnbmF0dXJlLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjMxMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdhcm5pbmc6IGRvbid0IGVyYXNlIGJvb3RiaXRzIHNlY3RvcnMiCittc2dzdHIgIiVz77ya6K2m5ZGK77ya5LiN5riF6ZmkIGJvb3RiaXRzIOejgeWNgCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoJXMgcGFydGl0aW9uIHRhYmxlIGRldGVjdGVkKS4gIgorbXNnc3RyICIgICAgICAgICjlgbXmuKzliLAgJXMg5YiG5Ymy6KGoKeOAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAgICAoY29tcGlsZWQgd2l0aG91dCBsaWJibGtpZCkuICIKK21zZ3N0ciAiICAgICAgICAo57eo6K2v5pmC5pyq5pSv5o+0IGxpYmJsa2lkKeOAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzZSAtZiB0byBmb3JjZS5cbiIKK21zZ3N0ciAiIC1mICDlvLfliLbmqqLmn6VcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gd3JpdGUgc2lnbmF0dXJlIHBhZ2UiCittc2dzdHIgIiVz77ya54Sh5rOV5a+r5YWl57C95ZCN6aCB6Z2iIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjM4MgorIywgZnV6enkKK21zZ2lkICJwYXJzaW5nIHBhZ2Ugc2l6ZSBmYWlsZWQiCittc2dzdHIgIuWJluaekOmggemdouWkp+Wwj+WkseaVlyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozODgKKyMsIGZ1enp5Cittc2dpZCAicGFyc2luZyB2ZXJzaW9uIG51bWJlciBmYWlsZWQiCittc2dzdHIgIuWJluaekOeJiOacrOe3qOiZn+WkseaVlyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzozOTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInN3YXBzcGFjZSB2ZXJzaW9uICVkIGlzIG5vdCBzdXBwb3J0ZWQiCittc2dzdHIgIumAn+W6piAlZCDkuI3lj5fmlK/mj7QiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6Mzk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YXJuaW5nOiBpZ25vcmluZyAtVSAoVVVJRHMgYXJlIHVuc3VwcG9ydGVkIGJ5ICVzKSIKK21zZ3N0ciAi6K2m5ZGK77ya5b+955WlIC1VIChVVUlEcyDooqvkuI3lj5fmlK/mj7TnmoTnlLEgJXMpIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQxNgorbXNnaWQgIm9ubHkgb25lIGRldmljZSBhcmd1bWVudCBpcyBjdXJyZW50bHkgc3VwcG9ydGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgImVycm9yOiBwYXJzaW5nIFVVSUQgZmFpbGVkIgorbXNnc3RyICLpjK/oqqTvvJpVVUlEIOWJluaekOWkseaVlyIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0MzIKKyMsIGZ1enp5Cittc2dpZCAiZXJyb3I6IE5vd2hlcmUgdG8gc2V0IHVwIHN3YXAgb24/IgorbXNnc3RyICLpjK/oqqTvvJrnhKHomZXlj6/oqK3nva7kuqTmj5vmlrzvvJ8iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDM4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYmxvY2sgY291bnQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWNgOWhiuioiOaVuOW8leaVuCIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiBzaXplICVsbHUgS2lCIGlzIGxhcmdlciB0aGFuIGRldmljZSBzaXplICU8UFJJdTY0PiBLaUIiCittc2dzdHIgIumMr+iqpO+8muWkp+WwjyAlbGx1IEtpQiDmmK/lpKfmlrzoo53nva7lpKflsI8gJWxsdSBLaUIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0ICVsZCBLaUIiCittc2dzdHIgIumMr+iqpO+8muS6pOaPm+WNgOWfn+mcgOimgeaYr+iHs+WwkSAlbGQgS2lCIgorCisjOiBkaXNrLXV0aWxzL21rc3dhcC5jOjQ1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogdHJ1bmNhdGluZyBzd2FwIGFyZWEgdG8gJWxsdSBLaUIiCittc2dzdHIgIuitpuWRiu+8muaIquaWt+S6pOaPm+WNgOWfn+WIsCAlbGx1IEtpQiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImVycm9yOiAlcyBpcyBtb3VudGVkOyB3aWxsIG5vdCBtYWtlIHN3YXBzcGFjZSIKK21zZ3N0ciAi6Yyv6Kqk77yaJXMg6KKr5o6b6LyJ77yb5bCH54Sh5rOV6KO95L2cIHN3YXBzcGFjZeOAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzAgc3lzLXV0aWxzL3N3YXBvbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW5zZWN1cmUgcGVybWlzc2lvbnMgJTA0bywgJTA0byBzdWdnZXN0ZWQuIgorbXNnc3RyICIlc++8muS4jeWuieWFqOeahOasiumZkCAlMDRvLCDlu7rorbDkvb/nlKggJTA0b+OAgiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo0NzQgc3lzLXV0aWxzL3N3YXBvbi5jOjUzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGluc2VjdXJlIGZpbGUgb3duZXIgJWQsIDAgKHJvb3QpIHN1Z2dlc3RlZC4iCittc2dzdHIgIiVz77ya5LiN5a6J5YWo5qqU5qGI5pOB5pyJ6ICFICVk77yMMCAo5qC5KSDlu7rorbDjgIIiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDg5Cittc2dpZCAiVW5hYmxlIHRvIHNldCB1cCBzd2FwLXNwYWNlOiB1bnJlYWRhYmxlIgorbXNnc3RyICLnhKHms5XoqK3nva7kuqTmj5vnqbrplpPvvJrnhKHms5XoroDlj5YiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NDk0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uICVkLCBzaXplID0gJXMgKCU8UFJJdTY0PiBieXRlcylcbiIKK21zZ3N0ciAi6Kit5a6aIHN3YXBzcGFjZSDniYjmnKwgMSwg5aSn5bCPID0gJWxsdSBLaUJcbiIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gb2J0YWluIHNlbGludXggZmlsZSBsYWJlbCIKK21zZ3N0ciAiJXPvvJrnhKHms5XlvpfliLAgc2VsaW51eCDmqpTmoYjmqJnosrwiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTE3Cittc2dpZCAidW5hYmxlIHRvIG1hdGNocGF0aGNvbigpIgorbXNnc3RyICLnhKHms5UgbWF0Y2hwYXRoY29uKCkiCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIwCittc2dpZCAidW5hYmxlIHRvIGNyZWF0ZSBuZXcgc2VsaW51eCBjb250ZXh0IgorbXNnc3RyICLnhKHms5Xlu7rnq4vmlrDnmoQgc2VsaW51eCDnm7jpl5zpoIXnm64iCisKKyM6IGRpc2stdXRpbHMvbWtzd2FwLmM6NTIyCittc2dpZCAiY291bGRuJ3QgY29tcHV0ZSBzZWxpbnV4IGNvbnRleHQiCittc2dzdHIgIueEoeazleioiOeulyBzZWxpbnV4IOebuOmXnOmgheebriIKKworIzogZGlzay11dGlscy9ta3N3YXAuYzo1MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZWxhYmVsICVzIHRvICVzIgorbXNnc3RyICLnhKHms5UgcmVsYWJlbCAlcyDliLAgJXMiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NgorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLliIblibLljYDnt6jomZ8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo4NworIywgZnV6enkKK21zZ2lkICJzdGFydCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIumWi+Wni+eahOWIhuWJsuWcqOS4reejgeWNgCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg4CisjLCBmdXp6eQorbXNnaWQgImVuZCBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMiCittc2dzdHIgIue1kOadn+eahOWIhuWJsuWcqOS4reejgeWNgCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICLno4HljYDmlbjph48iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo5MAorIywgZnV6enkKK21zZ2lkICJodW1hbiByZWFkYWJsZSBzaXplIgorbXNnc3RyICLkurrpoZ4gcmVhZGFibGUg5aSn5bCPIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTEKKyMsIGZ1enp5Cittc2dpZCAicGFydGl0aW9uIG5hbWUiCittc2dzdHIgIuWIhuWJsuWQjeeosSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkyIG1pc2MtdXRpbHMvZmluZG1udC5jOjEwOCBtaXNjLXV0aWxzL2xzYmxrLmM6MTczCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBVVUlEIgorbXNnc3RyICLliIblibIgVVVJRCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjkzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0YWJsZSB0eXBlIChkb3MsIGdwdCwgLi4uKSIKK21zZ3N0ciAi5YiG5Ymy6KGo5Z6L5oWLIChET1PjgIFncHTvvIwuLi4pIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQgbWlzYy11dGlscy9sc2Jsay5jOjE3NAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24gZmxhZ3MiCittc2dzdHIgIuWIhuWJsuaXl+aomSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk1Cittc2dpZCAicGFydGl0aW9uIHR5cGUgKGEgc3RyaW5nLCBhIFVVSUQsIG9yIGhleCkiCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjExNCBzeXMtdXRpbHMvbG9zZXR1cC5jOjUyMSBzeXMtdXRpbHMvbG9zZXR1cC5jOjYzMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsb29wY3h0IgorbXNnc3RyICLliJ3lp4vljJYgbG9vcGN4dCDmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZCB1bnVzZWQgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVz77ya54Sh5rOV5bCL5om+5pyq5L2/55So55qE6L+05ZyI6KOd572uIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gdXNlICclcycgZm9yIHRoZSBsb29wIGRldmljZVxuIgorbXNnc3RyICLlmJfoqabkvb/nlKjjgI4lc+OAj+eUqOaWvOi/tOWciOijnee9rlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a5LiK5LiA5q2l5qqU5qGIIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTMxIHN5cy11dGlscy9sb3NldHVwLmM6NTY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCB1cCBsb29wIGRldmljZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XoqK3lrprov7TlnIjoo53nva4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxNjEgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzozMDcgbWlzYy11dGlscy9maW5jb3JlLmM6OTIKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjM3NiBtaXNjLXV0aWxzL2xzYmxrLmM6MzY3IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjM0MgorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMjUgbWlzYy11dGlscy93aXBlZnMuYzoxMjYgc3lzLXV0aWxzL2xvc2V0dXAuYzoxMTAKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIyMCBzeXMtdXRpbHMvbHNpcGMuYzoyMzIgc3lzLXV0aWxzL2xzbWVtLmM6MTgwCisjOiBzeXMtdXRpbHMvbHNucy5jOjIyMyBzeXMtdXRpbHMvcHJsaW1pdC5jOjI3NyBzeXMtdXRpbHMvcmZraWxsLmM6MTYwCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MTUwIHN5cy11dGlscy93ZGN0bC5jOjE1MSBzeXMtdXRpbHMvenJhbWN0bC5jOjE0NgorIywgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNvbHVtbjogJXMiCittc2dzdHIgIuS4jeaYjuebtOashO+8miVzIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MjA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI4NiBkaXNrLXV0aWxzL3BhcnR4LmM6MzI0IGRpc2stdXRpbHMvcGFydHguYzo0NzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNwZWNpZmllZCByYW5nZSA8JWQ6JWQ+IGRvZXMgbm90IG1ha2Ugc2Vuc2UiCittc2dzdHIgIuaMh+WumueahOevhOWcjTwlZDolZD7kuI3lhbfku7vkvZXmhI/nvqkiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAicmFuZ2UgcmVjb3VudDogbWF4IHBhcnRubz0lZCwgbG93ZXI9JWQsIHVwcGVyPSVkXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGRlbGV0aW5nIHBhcnRpdGlvbiAlZCIKK21zZ3N0ciAiJXPvvJrpjK/oqqTliKrpmaTliIblibIgJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoyOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBkZWxldGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlc++8mumMr+iqpOWIqumZpOWIhuWJsuWNgCAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAjJWQgcmVtb3ZlZFxuIgorbXNnc3RyICIlc++8muWIhuWJsiAjJWQg56e76ZmkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIGRvZXNuJ3QgZXhpc3RcbiIKK21zZ3N0ciAiJXPvvJrliIblibIgIyVkIOW3sue2k+S4jeWtmOWcqFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MzQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGVsZXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5Yiq6Zmk5YiG5YmyICMlZCDlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciBhZGRpbmcgcGFydGl0aW9uICVkIgorbXNnc3RyICIlc++8mumMr+iqpOWKoOWFpeWIhuWJsiAlZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGVycm9yIGFkZGluZyBwYXJ0aXRpb25zICVkLSVkIgorbXNnc3RyICIlc++8mumMr+iqpOWKoOWFpeWIhuWJsuWNgCAlZC0lZCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjQwNSBkaXNrLXV0aWxzL3BhcnR4LmM6NTEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICMlZCBhZGRlZFxuIgorbXNnc3RyICIlc++8muWIhuWJsiAjJWQg5bey5Yqg5YWlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhZGRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5Yqg5YWl5YiG5YmyICMlZCDlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBlcnJvciB1cGRhdGluZyBwYXJ0aXRpb24gJWQiCittc2dzdHIgIiVz77ya6Yyv6Kqk5Yiq6Zmk5YiG5YmyICVkIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NDQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXJyb3IgdXBkYXRpbmcgcGFydGl0aW9ucyAlZC0lZCIKK21zZ3N0ciAiJXPvvJrpjK/oqqTliKrpmaTliIblibLljYAgJWQtJWQiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBubyBwYXJ0aXRpb24gIyVkIgorbXNnc3RyICIlc++8muWIhuWJsiAjJWQg5bey5Yqg5YWlXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gIyVkIHJlc2l6ZWRcbiIKK21zZ3N0ciAiJXPvvJrliIblibIgIyVkIOenu+mZpFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NTIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdXBkYXRpbmcgcGFydGl0aW9uICMlZCBmYWlsZWQiCittc2dzdHIgIiVz77ya5Yiq6Zmk5YiG5YmyICMlZCDlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo1NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3IsICU2anUgTUIpXG4iCittc2dpZF9wbHVyYWwgIiMlMmQ6ICU5anUtJTlqdSAoJTlqdSBzZWN0b3JzLCAlNmp1IE1CKVxuIgorbXNnc3RyWzBdICIjJTJk77yaJTkganUtJTkganUgKCU5IGp1IOejgeWNgO+8jCU2IGp1IE1CKVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6Njc4IG1pc2MtdXRpbHMvZmluY29yZS5jOjM3MyBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNjIyCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzMCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0NjIgc3lzLXV0aWxzL2xvc2V0dXAuYzozMzMKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE2MTggc3lzLXV0aWxzL3BybGltaXQuYzozMDYgc3lzLXV0aWxzL3Jma2lsbC5jOjQ2NworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjI5MyBzeXMtdXRpbHMvd2RjdGwuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iCittc2dzdHIgImNhbGxvY2F0ZSBjcHUg6ZuG5ZCI5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBibGtpZCBmaWx0ZXIgZm9yICclcyciCittc2dzdHIgIuWIneWni+WMliBibGtpZCDnr6npgbjlmajnlKjmlrzjgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3MzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVhZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIiVz77ya54Sh5rOV6K6A5Y+W5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uIHRhYmxlIHR5cGUgJyVzJyBkZXRlY3RlZFxuIgorbXNnc3RyICIlc++8muWIhuWJsuihqOWei+aFi+OAjiVz44CP5YG15ris5YiwXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gdGFibGUgd2l0aCBubyBwYXJ0aXRpb25zIgorbXNnc3RyICIlc++8muWIhuWJsuihqOS4jeWFt+S7u+S9leWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstYXwtZHwtc3wtdV0gWy0tbnIgPG46bT4gfCA8cGFydGl0aW9uPl0gPGRpc2s+XG4iCittc2dzdHIgIiAlcyBbLWF8LWR8LXNdIFstLW5yIDxuOm0+fDzliIblibI+XTzno4Hnop8+XG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NTcKK21zZ2lkICJUZWxsIHRoZSBrZXJuZWwgYWJvdXQgdGhlIHByZXNlbmNlIGFuZCBudW1iZXJpbmcgb2YgcGFydGl0aW9ucy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzYxCittc2dpZCAiIC1kLCAtLWRlbGV0ZSAgICAgICAgIGRlbGV0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVwZGF0ZSAgICAgICAgIHVwZGF0ZSBzcGVjaWZpZWQgcGFydGl0aW9ucyBvciBhbGwgb2YgdGhlbVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtcywgLS1zaG93ICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnNcbiIKKyJcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY0IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQwIHN5cy11dGlscy9sc21lbS5jOjUwNQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjUKK21zZ2lkICIgLWcsIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tc2hvd1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NjYKK21zZ2lkICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY3CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6NzY4IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU2IHN5cy11dGlscy9sc21lbS5jOjUwMworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc2OSBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1NyBzeXMtdXRpbHMvbHNtZW0uYzo1MDgKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VjdG9yLXNpemUgPG51bT4gIG92ZXJ3cml0ZSBzZWN0b3Igc2l6ZVxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAg6aGv56S65bu656uL6ICF5ZKM5pOB5pyJ6ICFXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzEKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGUgPHR5cGU+ICAgIHNwZWNpZnkgdGhlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjc3MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbGlzdC10eXBlcyAgICAgbGlzdCBzdXBwb3J0ZWQgcGFydGl0aW9uIHR5cGVzIGFuZCBleGl0XG4iCittc2dzdHIgIiAgICAtVCBb5oiWIC0tbGlzdC10eXBlc13vvJrliJflh7rlt7Lnn6XliIblibLljYDpoZ7lnosiCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzo3NzMgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6ODU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLW5yIDxNLU4+IHJhbmdlIgorbXNnc3RyICLliZbmnpAgLS1uciDmmYLlpLHmlZcgPE0tTj4g56+E5ZyNIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTQyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBhbmQgZGlzayBuYW1lIGRvIG5vdCBtYXRjaCIKK21zZ3N0ciAiIgorIuWIhuWJsuihqOW3suiuiuabtO+8gVxuIgorIlxuIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6OTcxCisjLCBmdXp6eQorbXNnaWQgIi0tbnIgYW5kIDxwYXJ0aXRpb24+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIi0tbnIg5ZKMIDxwYXJ0aXRpb24+IOW9vOatpOS6kuaWpSIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjk5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGFydGl0aW9uOiAlcywgZGlzazogJXMsIGxvd2VyOiAlZCwgdXBwZXI6ICVkXG4iCittc2dzdHIgIuWIhuWJsu+8miVz77yM56OB56Kf77yaJXPvvIzpmY3kvY7vvJolZO+8jOWkp+Wvq++8miVkXG4iCisKKyM6IGRpc2stdXRpbHMvcGFydHguYzoxMDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IGRlbGV0ZSBwYXJ0aXRpb25zIgorbXNnc3RyICIlc++8mueEoeazleWIqumZpOWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9wYXJ0eC5jOjEwMDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb25lZCBsb29wIGRldmljZXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiVz77ya5YiG5Ymy55qE6L+05ZyI6KOd572u5LiN5Y+X5pSv5o+055qEIgorCisjOiBkaXNrLXV0aWxzL3BhcnR4LmM6MTAyMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBpbml0aWFsaXplIGJsa2lkIHByb2JlciIKK21zZ3N0ciAiJXPvvJrnhKHms5XliJ3lp4vljJYgYmxraWQgcHJvYmVyIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgJTIkc3Jhd04gPG1ham9yPiA8bWlub3I+XG4iCisiICUxJHMgJTIkc3Jhd04gL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKK21zZ3N0ciAiIgorIiAlMSRzICUyJHNyYXdOIDxtYWpvcj485qyh6KaBPlxuIgorIiAlMSRzICUyJHNyYXdOL2Rldi88YmxvY2tkZXZpY2U+XG4iCisiICUxJHMgLXEgJTIkc3Jhd05cbiIKKyIgJTEkcyAtcWFcbiIKKworIzogZGlzay11dGlscy9yYXcuYzo1NworbXNnaWQgIkJpbmQgYSByYXcgY2hhcmFjdGVyIGRldmljZSB0byBhIGJsb2NrIGRldmljZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjYwCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWVyeSAgICBzZXQgcXVlcnkgbW9kZVxuIgorbXNnc3RyICIgLXEsIC0tcXVlcnkgICAg6Kit5a6a5p+l6Kmi5qih5byPXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgIHF1ZXJ5IGFsbCByYXcgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg5p+l6Kmi5omA5pyJ5Y6f5aeL6KOd572uXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MTY3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXZpY2UgJyVzJyBpcyB0aGUgY29udHJvbCByYXcgZGV2aWNlICh1c2UgcmF3PE4+IHdoZXJlIDxOPiBpcyBncmVhdGVyIHRoYW4gemVybykiCittc2dzdHIgIuijnee9ruOAjiVz44CP5piv5o6n5Yi25Y6f5aeL6KOd572uICjkvb/nlKjljp/lp4s8Tj4g5L2N572uPE4+5piv5aSn5pa86Zu2KSIKKworIzogZGlzay11dGlscy9yYXcuYzoxODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbm5vdCBsb2NhdGUgYmxvY2sgZGV2aWNlICclcyciCittc2dzdHIgIueEoeazleWwi+aJvuS9jee9ruWNgOWhiuijnee9ruOAjiVz44CPIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjE4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICLoo53nva7jgI4lc+OAj+S4pumdnuWNgOWhiuijnee9riIKKworIzogZGlzay11dGlscy9yYXcuYzoxOTYgZGlzay11dGlscy9yYXcuYzoxOTkgc3lzLXV0aWxzL2lwY3JtLmM6MzUyCisjOiBzeXMtdXRpbHMvaXBjcm0uYzozNjYgc3lzLXV0aWxzL2lwY3JtLmM6MzgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIKK21zZ3N0ciAi5YmW5p6Q5byV5pW45pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IG9wZW4gbWFzdGVyIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWf5Li75Y6f5aeL6KOd572u44COJXPjgI8iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW5ub3QgbG9jYXRlIHJhdyBkZXZpY2UgJyVzJyIKK21zZ3N0ciAi54Sh5rOV5bCL5om+5L2N572u5Y6f5aeL6KOd572u44COJXPjgI8iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjM1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSYXcgZGV2aWNlICclcycgaXMgbm90IGEgY2hhcmFjdGVyIGRldiIKK21zZ3N0ciAi5Y6f5aeL6KOd572u44COJXPjgI/kuKbpnZ7lrZflhYMgZGV2IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjIzOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV2aWNlICclcycgaXMgbm90IGEgcmF3IGRldiIKK21zZ3N0ciAi6KOd572u44COJXPjgI/kuKbpnZ7ljp/lp4sgZGV2IgorCisjOiBkaXNrLXV0aWxzL3Jhdy5jOjI0OQorIywgZnV6enkKK21zZ2lkICJFcnJvciBxdWVyeWluZyByYXcgZGV2aWNlIgorbXNnc3RyICLmn6XoqaLljp/lp4voo53nva7mmYLnmbznlJ/pjK/oqqQiCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjU4IGRpc2stdXRpbHMvcmF3LmM6MjczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlc3JhdyVkOiAgYm91bmQgdG8gbWFqb3IgJWQsIG1pbm9yICVkXG4iCittc2dzdHIgIiVzcmF3JWTvvJog57SE5p2f5Yiw5Li76KaB55qEICVk77yM5qyh6KaBICVkXG4iCisKKyM6IGRpc2stdXRpbHMvcmF3LmM6MjcyCisjLCBmdXp6eQorbXNnaWQgIkVycm9yIHNldHRpbmcgcmF3IGRldmljZSIKK21zZ3N0ciAi6Kit5a6a5Y6f5aeL6KOd572u5pmC55m855Sf6Yyv6KqkIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxkaXNrIGRldmljZT4gPHBhcnRpdGlvbiBudW1iZXI+IDxsZW5ndGg+XG4iCittc2dzdHIgIiAlcyA8ZGlzayBkZXZpY2U+POWIhuWJsuWNgOe3qOiZnz486ZW35bqmPlxuIgorCisjOiBkaXNrLXV0aWxzL3Jlc2l6ZXBhcnQuYzoyNAorbXNnaWQgIlRlbGwgdGhlIGtlcm5lbCBhYm91dCB0aGUgbmV3IHNpemUgb2YgYSBwYXJ0aXRpb24uXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9yZXNpemVwYXJ0LmM6MTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBzdGFydCBvZiB0aGUgcGFydGl0aW9uIG51bWJlciAlcyIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bplovlp4vnmoTliIblibLljYDnt6jomZ8gJXMiCisKKyM6IGRpc2stdXRpbHMvcmVzaXplcGFydC5jOjExMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVzaXplIHBhcnRpdGlvbiIKK21zZ3N0ciAi6Kq/5pW05aSn5bCP5YiG5Ymy5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIzMgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgbmVzdGVkIGxpYmZkaXNrIGNvbnRleHQiCittc2dzdHIgIumFjee9rui/reS7o+WZqOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZWVrICVzIgorbXNnc3RyICLnhKHms5XplovllZ8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzAzIGxpYmZkaXNrL3NyYy9ic2QuYzo3MjIgbGliZmRpc2svc3JjL2JzZC5jOjg5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlICVzIgorbXNnc3RyICLnhKHms5Xlr6vlhaUgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiUxMnMgKG9mZnNldCAlNWp1LCBzaXplICU1anUpOiAlcyIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjcmVhdGUgYSBiYWNrdXAiCittc2dzdHIgIiVz77ya54Sh5rOV5a+r5YWl5qiZ57GkIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjMyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIGEgYmFja3VwIGZpbGUsICRIT01FIHVuZGVmaW5lZCIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaXmqJnnsaQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzU1Cittc2dpZCAiQmFja3VwIGZpbGVzOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBuZXcgcGFydGl0aW9uIGZyb20gZGV2aWNlOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5bliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgbmV3IHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+W6ZaL5aeL55qE5YiG5Ymy5Y2A57eo6JmfICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBuZXcgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bplovlp4vnmoTliIblibLljYDnt6jomZ8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgc2l6ZSBvZiB0aGUgb2xkIHBhcnRpdGlvbjsgaWdub3JpbmcgLS1tb3ZlLWRhdGEiCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+W6ZaL5aeL55qE5YiG5Ymy5Y2A57eo6JmfICVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjM4OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN0YXJ0IG9mIHRoZSBvbGQgcGFydGl0aW9uOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bplovlp4vnmoTliIblibLljYDnt6jomZ8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgInN0YXJ0IG9mIHRoZSBwYXJ0aXRpb24gaGFzIG5vdCBiZWVuIG1vdmVkOyBpZ25vcmluZyAtLW1vdmUtZGF0YSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bplovlp4vnmoTliIblibLljYDnt6jomZ8gJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MzkyCittc2dpZCAibmV3IHBhcnRpdGlvbiBpcyBzbWFsbGVyIHRoYW4gb3JpZ2luYWw7IGlnbm9yaW5nIC0tbW92ZS1kYXRhIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NDQyCittc2dpZCAiRGF0YSBtb3ZlOiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIHR5cGVzY3JpcHQgZmlsZTogJXMiCittc2dzdHIgIueEoeazlemWi+WVnyB0eXBlc2NyaXB0IOaqlOahiCAlcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIG9sZCBzdGFydDogJWp1LCBuZXcgc3RhcnQ6ICVqdSAobW92ZSAlanUgc2VjdG9ycylcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1MgorIywgZnV6enkKK21zZ2lkICJEbyB5b3Ugd2FudCB0byBtb3ZlIHBhcnRpdGlvbiBkYXRhPyIKK21zZ3N0ciAi5oKo6KaB5bCH6YCZ5YCL5a+r5YWl56OB56Kf5ZeO77yfW3lucV0gIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjQ1NCBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MTQKK21zZ2lkICJMZWF2aW5nLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBtb3ZlIGRhdGEiCittc2dzdHIgIuioreWumui3r+W+keaZguWkseaVlyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDIKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHBhcnRpdGlvbiB0YWJsZSBpcyB1bmNoYW5nZWQgKC0tbm8tYWN0KS4iCittc2dzdHIgIiIKKyLliIblibLooajlt7Lorormm7TvvIFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo1NDgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4iCittc2dzdHIgIiIKKyLliIblibLooajlt7Lorormm7TvvIFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIGxhYmVsICclcyciCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjYzNAorbXNnaWQgIiIKKyJJZCAgTmFtZVxuIgorIlxuIgorbXNnc3RyICIiCisi6K2Y5Yil6JmfICDlkI3nqLFcbiIKKyJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo2NjQKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZSB0eXBlIgorbXNnc3RyICIgJXM6IOeEoeazlei+qOitmOeahOWIhuWJsuihqOmhnuWei1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjcxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IGdldCBzaXplIG9mICVzIgorbXNnc3RyICLnhKHms5Xmj5Dlj5blpKflsI/nmoQgJXMiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6NzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0b3RhbDogJWp1IGJsb2Nrc1xuIgorbXNnc3RyICLnuL3oqIjvvJolbGx1IOWNgOWhilxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjgxNiBkaXNrLXV0aWxzL3NmZGlzay5jOjg5NCBkaXNrLXV0aWxzL3NmZGlzay5jOjkzNQorIzogZGlzay11dGlscy9zZmRpc2suYzo5NjUgZGlzay11dGlscy9zZmRpc2suYzoxMDMyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTA5NgorIzogZGlzay11dGlscy9zZmRpc2suYzoxMTUxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIwNyBkaXNrLXV0aWxzL3NmZGlzay5jOjE1NjEKKyMsIGZ1enp5Cittc2dpZCAibm8gZGlzayBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLmspLmnInov7TlnIjoo53nva7mjIflrprnmoQiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzd2l0Y2ggdG8gUE1CUiIKK21zZ3N0ciAi54Sh5rOV6K2Y5Yil44CMJXPjgI3ni4DmhYsiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODMyCittc2dpZCAidG9nZ2xlIGJvb3QgZmxhZ3MgaXMgc3VwcG9ydGVkIGZvciBNQlIgb3IgUE1CUiBvbmx5IgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6ODY3IGRpc2stdXRpbHMvc2ZkaXNrLmM6OTE0IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTAxIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTE1NiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTIKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU1OSBkaXNrLXV0aWxzL3NmZGlzay5jOjIwNTYKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBhcnRpdGlvbiBudW1iZXIiCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+W5YiG5Ymy5Y2A57eo6JmfIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjg3MgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICVkOiBmYWlsZWQgdG8gdG9nZ2xlIGJvb3RhYmxlIGZsYWciCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5MDkgZGlzay11dGlscy9zZmRpc2suYzo5MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZGVsZXRlIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzo5NzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUiCittc2dzdHIgIuijnee9ruS4jeWMheWQq+i+qOitmOeahOWIhuWJsuihqFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk3NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgZHVtcCBzdHJ1Y3QiCittc2dzdHIgImNhbGxvY2F0ZSBjcHUg6ZuG5ZCI5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjk4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBkdW1wIHBhcnRpdGlvbiB0YWJsZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5bliIblibLooagiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIHBhcnRpdGlvbiB0YWJsZSBmb3VuZCIKK21zZ3N0ciAi54Sh5YiG5Ymy6KGo44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IHBhcnRpdGlvbiB0YWJsZSBjb250YWlucyBvbmx5ICV6dSBwYXJ0aXRpb25zIgorbXNnc3RyICIlc++8muWIhuWJsuihqOS4jeWFt+S7u+S9leWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogcGFydGl0aW9uIGlzIHVudXNlZCIKK21zZ3N0ciAiJXPvvJrliIblibLooajkuI3lhbfku7vkvZXliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTAzNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExMDAgZGlzay11dGlscy9zZmRpc2suYzoxMTU1CisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyMTEKKyMsIGZ1enp5Cittc2dpZCAibm8gcGFydGl0aW9uIG51bWJlciBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuS7u+S9leWLleS9nCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDQyIGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEwNiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNjEKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTIxNworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGFyZ3VtZW50cyIKK21zZ3N0ciAi5pyq6aCQ5pyf55qE5byV5pW45pW46YePIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwNTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMDc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgJXMgcGFydGl0aW9uIHR5cGUgJyVzJyIKK21zZ3N0ciAi5YmW5p6Q5qmf6IO944COJXMg5pmC5aSx5pWX44CPIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEwODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiB0eXBlIgorbXNnc3RyICIlc++8muWIhuWJsuihqOS4jeWFt+S7u+S9leWIhuWJsuWNgCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIGdldCBwYXJ0aXRpb24gVVVJRCIKK21zZ3N0ciAiJXPvvJrliIblibLooajkuI3lhbfku7vkvZXliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzMSBkaXNrLXV0aWxzL3NmZGlzay5jOjExODYgZGlzay11dGlscy9zZmRpc2suYzoxMjQwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBhbGxvY2F0ZSBwYXJ0aXRpb24gb2JqZWN0IgorbXNnc3RyICLphY3nva7ov63ku6PlmajmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIFVVSUQiCittc2dzdHIgIiVz77ya5YiG5Ymy6KGo5LiN5YW35Lu75L2V5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjExNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBwYXJ0aXRpb24gJXp1OiBmYWlsZWQgdG8gZ2V0IHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPluWIhuWJsuWNgOe3qOiZnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMTkwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcGFydGl0aW9uICV6dTogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gbmFtZSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bliIblibLljYDnt6jomZ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI0NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHBhcnRpdGlvbiAlenU6IGZhaWxlZCB0byBzZXQgcGFydGl0aW9uIGF0dHJpYnV0ZXMiCittc2dzdHIgIiVz77ya5YiG5Ymy6KGo5LiN5YW35Lu75L2V5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyODcKKyMsIGZ1enp5Cittc2dpZCAiIENvbW1hbmRzOlxuIgorbXNnc3RyICLmspLmnInlkb3ku6TvvJ8iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTI4OQorIywgZnV6enkKK21zZ2lkICIgICB3cml0ZSAgICB3cml0ZSB0YWJsZSB0byBkaXNrIGFuZCBleGl0XG4iCittc2dzdHIgIuWvq+WFpeihqOagvOWIsOejgeein+eEtuW+jOmboumWiyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkwCittc2dpZCAiICAgcXVpdCAgICAgc2hvdyBuZXcgc2l0dWF0aW9uIGFuZCB3YWl0IGZvciB1c2VyJ3MgZmVlZGJhY2sgYmVmb3JlIHdyaXRlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkxCittc2dpZCAiICAgYWJvcnQgICAgZXhpdCBzZmRpc2sgc2hlbGxcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTIKKyMsIGZ1enp5Cittc2dpZCAiICAgcHJpbnQgICAgZGlzcGxheSB0aGUgcGFydGl0aW9uIHRhYmxlXG4iCittc2dzdHIgIiAgIHAgICDljbDlh7ogQlNEIOWIhuWJsuihqCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMjkzCisjLCBmdXp6eQorbXNnaWQgIiAgIGhlbHAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTUKK21zZ2lkICIgICBDdHJsLUQgICB0aGUgc2FtZSBhcyAncXVpdCdcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEyOTkKKyMsIGZ1enp5Cittc2dpZCAiIElucHV0IGZvcm1hdDpcbiIKK21zZ3N0ciAi6Ly45Ye65qC85byP77yaXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMwMQorbXNnaWQgIiAgIDxzdGFydD4sIDxzaXplPiwgPHR5cGU+LCA8Ym9vdGFibGU+XG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzA0Cittc2dpZCAiIgorIiAgIDxzdGFydD4gIEJlZ2lubmluZyBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyB0aGUgZmlyc3QgZnJlZSBzcGFjZS5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMDkKK21zZ2lkICIiCisiICAgPHNpemU+ICAgU2l6ZSBvZiB0aGUgcGFydGl0aW9uIGluIHNlY3RvcnMsIG9yIGJ5dGVzIGlmXG4iCisiICAgICAgICAgICAgc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgPG51bWJlcj57SyxNLEcsVCxQLEUsWixZfS5cbiIKKyIgICAgICAgICAgICBUaGUgZGVmYXVsdCBpcyBhbGwgYXZhaWxhYmxlIHNwYWNlLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxNAorbXNnaWQgIiAgIDx0eXBlPiAgIFRoZSBwYXJ0aXRpb24gdHlwZS4gIERlZmF1bHQgaXMgYSBMaW51eCBkYXRhIHBhcnRpdGlvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTUKK21zZ2lkICIgICAgICAgICAgICBNQlI6IGhleCBvciBMLFMsRSxYLFUsUixWIHNob3J0Y3V0cy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjEzMTYKK21zZ2lkICIgICAgICAgICAgICBHUFQ6IFVVSUQgb3IgTCxTLEgsVSxSLFYgc2hvcnRjdXRzLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMxOQorIywgZnV6enkKK21zZ2lkICIgICA8Ym9vdGFibGU+ICBVc2UgJyonIHRvIG1hcmsgYW4gTUJSIHBhcnRpdGlvbiBhcyBib290YWJsZS5cbiIKK21zZ3N0ciAi5oKo5bCH5LiN6IO95a+r5YWl5YiG5Ymy6KGo44CCXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyMworbXNnaWQgIiBFeGFtcGxlOlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTMyNQorIywgZnV6enkKK21zZ2lkICIgICAsIDRHICAgICBDcmVhdGVzIGEgNEdpQiBwYXJ0aXRpb24gYXQgZGVmYXVsdCBzdGFydCBvZmZzZXQuXG4iCittc2dzdHIgIiAgbiAgICAgICAgICDnlLHlianppJjnqbrplpPkuK3mlrDlop7kuIDloYrliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTM1NyBzeXMtdXRpbHMvZG1lc2cuYzoxNTM5CisjLCBmdXp6eQorbXNnaWQgInVuc3VwcG9ydGVkIGNvbW1hbmQiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOWRveS7pCIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxMzU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJsaW5lICVkOiB1bnN1cHBvcnRlZCBjb21tYW5kIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlkb3ku6QiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTQ4MAorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgb2xkICVzIHNpZ25hdHVyZSBtYXkgcmVtYWluIG9uIHRoZSBkZXZpY2UuIEl0IGlzIHJlY29tbWVuZGVkIHRvIHdpcGUgdGhlIGRldmljZSB3aXRoIHdpcGVmcyg4KSBvciBzZmRpc2sgLS13aXBlLCBpbiBvcmRlciB0byBhdm9pZCBwb3NzaWJsZSBjb2xsaXNpb25zLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1MjgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIHBhcnRpdGlvbiBuYW1lIgorbXNnc3RyICLliqDlhaXliIblibLmmYLlpLHmlZciCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTU2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgc2NyaXB0IGhhbmRsZXIiCittc2dzdHIgIumFjee9rui/reS7o+WZqOaZguWkseaVlyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNTg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2Fubm90IG1vZGlmeSBwYXJ0aXRpb24gJWQ6IG5vIHBhcnRpdGlvbiB0YWJsZSB3YXMgZm91bmQiCittc2dzdHIgIiVz77ya54Sh5rOV6K6A5Y+W5YiG5Ymy6KGoIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgbW9kaWZ5IHBhcnRpdGlvbiAlZDogcGFydGl0aW9uIHRhYmxlIGNvbnRhaW5zIG9ubHkgJXp1IHBhcnRpdGlvbnMiCittc2dzdHIgIiVz77ya5YiG5Ymy6KGo5LiN5YW35Lu75L2V5YiG5Ymy5Y2AIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE1OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6ICVzOiBwYXJ0aXRpb24gJWQgaXMgbm90IGRlZmluZWQgeWV0IgorbXNnc3RyICLlsJrnhKHliIblibLljYDooqvlrprnvqnvvIFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJXZWxjb21lIHRvIHNmZGlzayAoJXMpLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjIKKyMsIGZ1enp5Cittc2dpZCAiQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4iCittc2dzdHIgIuaqouafpeaYr+WQpuaykuacieS6uuePvuWcqOato+S9v+eUqOmAmeWAi+ejgeein+KAplxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2MjUKK21zZ2lkICIiCisiIEZBSUxFRFxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTYyOAorIywgZnV6enkKK21zZ2lkICIiCisiVGhpcyBkaXNrIGlzIGN1cnJlbnRseSBpbiB1c2UgLSByZXBhcnRpdGlvbmluZyBpcyBwcm9iYWJseSBhIGJhZCBpZGVhLlxuIgorIlVtb3VudCBhbGwgZmlsZSBzeXN0ZW1zLCBhbmQgc3dhcG9mZiBhbGwgc3dhcCBwYXJ0aXRpb25zIG9uIHRoaXMgZGlzay5cbiIKKyJVc2UgdGhlIC0tbm8tcmVyZWFkIGZsYWcgdG8gc3VwcHJlc3MgdGhpcyBjaGVjay5cbiIKK21zZ3N0ciAiIgorIlxuIgorIumAmeWAi+ejgeein+ebruWJjeWcqOS9v+eUqOS4rSAtIOmHjeaWsOioreWumuWIhuWJsuWNgOWPr+iDveS4jeaYr+WAi+WlveS4u+aEj+OAglxuIgorIuWNuOi8ieaJgOacieaqlOahiOezu+e1se+8jOS4pumXnOmWiemAmeWAi+ejgeein+S4iueahOaJgOacieS6pOaPm+WIhuWJsuWNgOOAglxuIgorIuS9v+eUqCAtLW5vLXJlcmVhZCDml5fmqJnku6XmipHliLbpgJnlgIvmqqLmn6XjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjMzCisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS1mb3JjZSBmbGFnIHRvIG92ZXJydWxlIGFsbCBjaGVja3MuIgorbXNnc3RyICLkvb/nlKggLS1mb3JjZSDml5fmqJnku6Xpp4Hlm57miYDmnInmqqLmn6XjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjM1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgT0tcbiIKKyJcbiIKK21zZ3N0ciAiJXPvvJrnorrlrppcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJPbGQgc2l0dWF0aW9uOiIKK21zZ3N0ciAi6IiK55qE5oOF5rOB77yaXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTY2NQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisic2ZkaXNrIGlzIGdvaW5nIHRvIGNyZWF0ZSBhIG5ldyAnJXMnIGRpc2sgbGFiZWwuXG4iCisiVXNlICdsYWJlbDogPG5hbWU+JyBiZWZvcmUgeW91IGRlZmluZSBhIGZpcnN0IHBhcnRpdGlvblxuIgorInRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0LiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE2NjgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlR5cGUgJ2hlbHAnIHRvIGdldCBtb3JlIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLlmJfoqabjgI4lcyAtLWhlbHDjgI/ku6XnjbLlvpfmm7TlpJros4foqIrjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNjg2CisjLCBmdXp6eQorbXNnaWQgIkFsbCBwYXJ0aXRpb25zIHVzZWQuIgorbXNnc3RyICLpgJnlgIvliIblibLljYDlt7LlnKjkvb/nlKjkuK0iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTcxNAorIywgZnV6enkKK21zZ2lkICJEb25lLlxuIgorbXNnc3RyICLlrozmiJDjgIJcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxNzI2CisjLCBmdXp6eQorbXNnaWQgIklnbm9yaW5nIHBhcnRpdGlvbi4iCittc2dzdHIgIuW3sumBuOWIhuWJsuWNgCAlZFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3MzUgZGlzay11dGlscy9zZmRpc2suYzoxNzk1Cittc2dpZCAiRmFpbGVkIHRvIGFwcGx5IHNjcmlwdCBoZWFkZXJzLCBkaXNrIGxhYmVsIG5vdCBjcmVhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgIyVkIHBhcnRpdGlvbiIKK21zZ3N0ciAi5Yqg5YWl5YiG5Ymy5pmC5aSx5pWXIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE3NzcKK21zZ2lkICJTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIk5ldyBzaXR1YXRpb246IgorbXNnc3RyICLmlrDnmoTmg4Xms4HvvJpcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODEyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIHdyaXRlIHRoaXMgdG8gZGlzaz8iCittc2dzdHIgIuaCqOimgeWwh+mAmeWAi+Wvq+WFpeejgeein+WXju+8n1t5bnFdICIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODI1Cittc2dpZCAiTGVhdmluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldj4gW1stTl0gPHBhcnQ+XVxuIgorIiAlMSRzIFtvcHRpb25zXSA8Y29tbWFuZD5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgbjpoIVdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW+mBuOmghV0gLWZ8PGxvb3BkZXY+POaqlOahiD5cbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ2Cittc2dpZCAiIC1BLCAtLWFjdGl2YXRlIDxkZXY+IFs8cGFydD4gLi4uXSBsaXN0IG9yIHNldCBib290YWJsZSAoUClNQlIgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZHVtcCA8ZGV2PiAgICAgICAgICAgICAgICAgIGR1bXAgcGFydGl0aW9uIHRhYmxlICh1c2FibGUgZm9yIGxhdGVyIGlucHV0KVxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODQ4CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uIDxkZXY+ICAgICAgICAgICAgICAgICAgZHVtcCBwYXJ0aXRpb24gdGFibGUgaW4gSlNPTiBmb3JtYXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAg5LiN5byV6KiA6Ly45Ye6XG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg0OQorbXNnaWQgIiAtZywgLS1zaG93LWdlb21ldHJ5IFs8ZGV2PiAuLi5dICAgbGlzdCBnZW9tZXRyeSBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgWzxkZXY+IC4uLl0gICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTEKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLWxpc3QtZnJlZSBbPGRldj4gLi4uXSAgICAgICBsaXN0IHVucGFydGl0aW9uZWQgZnJlZSBhcmVhcyBvZiBlYWNoIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1MgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVvcmRlciA8ZGV2PiAgICAgICAgICAgICAgIGZpeCBwYXJ0aXRpb25zIG9yZGVyIChieSBzdGFydCBvZmZzZXQpXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODUzCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaG93LXNpemUgWzxkZXY+IC4uLl0gICAgICAgbGlzdCBzaXplcyBvZiBhbGwgb3Igc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAg5ris6Kmm55So5pa8IGdldG9wdCAoMSkg54mI5pysXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NAorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tbGlzdC10eXBlcyAgICAgICAgICAgICAgICAgIHByaW50IHRoZSByZWNvZ25pemVkIHR5cGVzIChzZWUgLVgpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1WLCAtLXZlcmlmeSBbPGRldj4gLi4uXSAgICAgICAgICB0ZXN0IHdoZXRoZXIgcGFydGl0aW9ucyBzZWVtIGNvcnJlY3RcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u6YCa6KiK5Z+gXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1NgorbXNnaWQgIiAgICAgLS1kZWxldGUgPGRldj4gWzxwYXJ0PiAuLi5dICAgZGVsZXRlIGFsbCBvciBzcGVjaWZpZWQgcGFydGl0aW9uc1xuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg1OQorbXNnaWQgIiAtLXBhcnQtbGFiZWwgPGRldj4gPHBhcnQ+IFs8c3RyPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiBsYWJlbFxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2MAorbXNnaWQgIiAtLXBhcnQtdHlwZSA8ZGV2PiA8cGFydD4gWzx0eXBlPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB0eXBlXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYxCisjLCBmdXp6eQorbXNnaWQgIiAtLXBhcnQtdXVpZCA8ZGV2PiA8cGFydD4gWzx1dWlkPl0gcHJpbnQgb3IgY2hhbmdlIHBhcnRpdGlvbiB1dWlkXG4iCittc2dzdHIgIiAgICAtYyBb5oiWIC0taWRd77yaICAgICAgIOWNsOWHuuaIluiuiuabtOWIhuWJsuWNgOitmOWIpeiZnyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODYyCittc2dpZCAiIC0tcGFydC1hdHRycyA8ZGV2PiA8cGFydD4gWzxzdHI+XSBwcmludCBvciBjaGFuZ2UgcGFydGl0aW9uIGF0dHJpYnV0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NjUKKyMsIGZ1enp5Cittc2dpZCAiIDxkZXY+ICAgICAgICAgICAgICAgICAgICAgZGV2aWNlICh1c3VhbGx5IGRpc2spIHBhdGhcbiIKK21zZ3N0ciAiIC1oICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODY2CisjLCBmdXp6eQorbXNnaWQgIiA8cGFydD4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiBudW1iZXJcbiIKK21zZ3N0ciAiICAgIC1OIyDvvJogICAgICAgICAgICAgICDlj6rorormm7Tnt6jomZ/ngrogIyDnmoTliIblibLljYAiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg2NworbXNnaWQgIiA8dHlwZT4gICAgICAgICAgICAgICAgICAgIHBhcnRpdGlvbiB0eXBlLCBHVUlEIGZvciBHUFQsIGhleCBmb3IgTUJSXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODcwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgIGFwcGVuZCBwYXJ0aXRpb25zIHRvIGV4aXN0aW5nIHBhcnRpdGlvbiB0YWJsZVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg3MQorIywgZnV6enkKK21zZ2lkICIgLWIsIC0tYmFja3VwICAgICAgICAgICAgICBiYWNrdXAgcGFydGl0aW9uIHRhYmxlIHNlY3RvcnMgKHNlZSAtTylcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzIKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzMKK21zZ2lkICIgICAgIC0tbW92ZS1kYXRhWz08dHlwZXNjcmlwdD5dIG1vdmUgcGFydGl0aW9uIGRhdGEgYWZ0ZXIgcmVsb2NhdGlvbiAocmVxdWlyZXMgLU4pXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc0CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGNvbnNpc3RlbmN5IGNoZWNraW5nXG4iCittc2dzdHIgIuaCqOWPr+S7peWBnOeUqOaJgOacieeahOS4gOiHtOaAp+aqouafpeiXieeUse+8miIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc1CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1jb2xvcls9PHdoZW4+XSAgICAgIGNvbG9yaXplIG91dHB1dCAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1OLCAtLXBhcnRubyA8bnVtPiAgICAgICAgc3BlY2lmeSBwYXJ0aXRpb24gbnVtYmVyXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODc5CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hY3QgICAgICAgICAgICAgIGRvIGV2ZXJ5dGhpbmcgZXhjZXB0IHdyaXRlIHRvIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4MAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm8tcmVyZWFkICAgICAgICAgICBkbyBub3QgY2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGluIHVzZVxuIgorbXNnc3RyICIgLWMgICAgICAgICAgIOa4heepuuieouW5leS5i+WJjemhr+ekulxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODEKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLXRlbGwta2VybmVsICAgICAgZG8gbm90IHRlbGwga2VybmVsIGFib3V0IGNoYW5nZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgyCittc2dpZCAiIC1PLCAtLWJhY2t1cC1maWxlIDxwYXRoPiAgb3ZlcnJpZGUgZGVmYXVsdCBiYWNrdXAgZmlsZSBuYW1lXG4iCittc2dzdHIgIiIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODgzCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3MgZXh0cmEgaW5mbyBtZXNzYWdlc1xuIgorbXNnc3RyICIgICAgLXEgIFvmiJYgLS1xdWlldF3vvJogICAgIOaKkeWItuitpuWRiuioiuaBryIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoxODg1CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13aXBlIDxtb2RlPiAgICAgICAgIHdpcGUgc2lnbmF0dXJlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1YLCAtLWxhYmVsIDxuYW1lPiAgICAgICAgc3BlY2lmeSBsYWJlbCB0eXBlIChkb3MsIGdwdCwgLi4uKVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg4OAorbXNnaWQgIiAtWSwgLS1sYWJlbC1uZXN0ZWQgPG5hbWU+IHNwZWNpZnkgbmVzdGVkIGxhYmVsIHR5cGUgKGRvcywgYnNkKVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MAorbXNnaWQgIiAtRywgLS1zaG93LXB0LWdlb21ldHJ5ICAgIGRlcHJlY2F0ZWQsIGFsaWFzIHRvIC0tc2hvdy1nZW9tZXRyeVxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MTg5MQorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tTGludXggICAgICAgICAgICAgICBkZXByZWNhdGVkLCBvbmx5IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOWIl+WNsOWPquacieizh+ioiumXnOaWvOWPluaoo+atpempn1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjE4OTIKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVuaXQgUyAgICAgICAgICAgICAgZGVwcmVjYXRlZCwgb25seSBzZWN0b3IgdW5pdCBpcyBzdXBwb3J0ZWRcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAxMAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBkZXByZWNhdGVkIGluIGZhdm91ciBvZiAtLXBhcnQtdHlwZSIKK21zZ3N0ciAiIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIwMTUKK21zZ2lkICItLWlkIGlzIGRlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIC0tcGFydC10eXBlIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjAzMQorbXNnaWQgIi0tc2hvdy1wdC1nZW9tZXRyeSBpcyBubyBtb3JlIGltcGxlbWVudGVkLiBVc2luZyAtLXNob3ctZ2VvbWV0cnkuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA0MworbXNnaWQgIi0tTGludXggb3B0aW9uIGlzIHVubmVjZXNzYXJ5IGFuZCBkZXByZWNhdGVkIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc2ZkaXNrLmM6MjA3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgdW5pdCAnJWMnIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogZGlzay11dGlscy9zZmRpc2suYzoyMDc1IGluY2x1ZGUvYy5oOjMzNgorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBmcm9tICVzXG4iCittc2dzdHIgIiVzIOS+huiHqiAlc1xuIgorCisjOiBkaXNrLXV0aWxzL3NmZGlzay5jOjIxNTIKK21zZ2lkICItLW1vdmVkYXRhIHJlcXVpcmVzIC1OIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIFVVSUQ6ICVzIgorbXNnc3RyICLliZbmnpAgVVVJRCDmmYLlpLHmlZfvvJolcyIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo3OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBVVUlEIgorbXNnc3RyICIlc++8mueEoeazleWwi+aMh+WIsOS6pOaPmyBVVUlEIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjgyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgVVVJRCIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaUgVVVJRCIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzo5MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNlZWsgdG8gc3dhcCBsYWJlbCAiCittc2dzdHIgIiVz77ya54Sh5rOV5bCL5oyH5Yiw5Lqk5o+b5qiZ57GkICIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAibGFiZWwgaXMgdG9vIGxvbmcuIFRydW5jYXRpbmcgaXQgdG8gJyVzJyIKK21zZ3N0ciAi5qiZ57Gk5aSq6ZW344CC5bCH5a6D5oiq5pa354K644CMJXPjgI0iCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTAzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gd3JpdGUgbGFiZWwiCittc2dzdHIgIiVz77ya54Sh5rOV5a+r5YWl5qiZ57GkIgorCisjOiBkaXNrLXV0aWxzL3N3YXBsYWJlbC5jOjEyNworbXNnaWQgIkRpc3BsYXkgb3IgY2hhbmdlIHRoZSBsYWJlbCBvciBVVUlEIG9mIGEgc3dhcCBhcmVhLlxuIgorbXNnc3RyICIiCisKKyM6IGRpc2stdXRpbHMvc3dhcGxhYmVsLmM6MTMwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiBzcGVjaWZ5IGEgbmV3IGxhYmVsXG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgc3BlY2lmeSBhIG5ldyB1dWlkXG4iCittc2dzdHIgIiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiDmjIflrprmlrDnmoTmqJnosrxcbiIKKyIgLVUsIC0tdXVpZDx1dWlkPiAg5oyH5a6a5paw55qEIHV1aWRcbiIKKworIzogZGlzay11dGlscy9zd2FwbGFiZWwuYzoxNzIKK21zZ2lkICJpZ25vcmUgLVUgKFVVSURzIGFyZSB1bnN1cHBvcnRlZCkiCittc2dzdHIgIuW/veeVpSAtVSAoVVVJRHMg5LiN5Y+X5pSv5o+0KSIKKworIzogaW5jbHVkZS9jLmg6MjE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnkgJyVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIuWYl+ippuOAjiVzIC0taGVscOOAj+S7peeNsuW+l+abtOWkmuizh+ioiuOAglxuIgorCisjOiBpbmNsdWRlL2MuaDozMTgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlVzYWdlOlxuIgorbXNnc3RyICIiCisiXG4iCisi55So5rOV77yaXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMxOQorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi6YG46aCF77yaXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiRnVuY3Rpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5Ye95byP77yaXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyMQorbXNnaWQgIiIKKyJcbiIKKyJDb21tYW5kczpcbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMjIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkF2YWlsYWJsZSBvdXRwdXQgY29sdW1uczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuWPr+eUqOashOS9je+8mlxuIgorCisjOiBpbmNsdWRlL2MuaDozMjUKKyMsIGZ1enp5Cittc2dpZCAiZGlzcGxheSB0aGlzIGhlbHAiCittc2dzdHIgIiAtaCAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IGluY2x1ZGUvYy5oOjMyNgorbXNnaWQgImRpc3BsYXkgdmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL2MuaDozMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJGb3IgbW9yZSBkZXRhaWxzIHNlZSAlcy5cbiIKK21zZ3N0ciAiIgorIlxuIgorIuS7peeNsuW+l+abtOWkmue0sOevgOWPg+eciyAlc+OAglxuIgorCisjOiBpbmNsdWRlL2Nsb3Nlc3RyZWFtLmg6NDYgaW5jbHVkZS9jbG9zZXN0cmVhbS5oOjQ4IGxvZ2luLXV0aWxzL3ZpcHcuYzoyNzYKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyOTUgc3lzLXV0aWxzL3J0Y3dha2UuYzoyOTggdGVybS11dGlscy9zZXR0ZXJtLmM6ODExCisjOiB0ZXh0LXV0aWxzL2NvbC5jOjE2MAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBlcnJvciIKK21zZ3N0ciAi5a+r5YWl6Yyv6KqkIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI3CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZW5hYmxlZCBieSBkZWZhdWx0IgorbXNnc3RyICLpoJDoqK3mnIPmi5LntZXlvp4gJTIkcyDnmbvlhaXliLAgJTEkc+OAglxuIgorCisjOiBpbmNsdWRlL2NvbG9ycy5oOjI5CisjLCBmdXp6eQorbXNnaWQgImNvbG9ycyBhcmUgZGlzYWJsZWQgYnkgZGVmYXVsdCIKK21zZ3N0ciAi6aCQ6Kit5pyD5ouS57WV5b6eICUyJHMg55m75YWl5YiwICUxJHPjgIJcbiIKKworIzogaW5jbHVkZS9lbnYuaDoxOCBsaWIvcGFnZXIuYzoxNTEgbG9naW4tdXRpbHMvbG9naW4uYzoxMDI2CisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEwMzAgdGVybS11dGlscy9hZ2V0dHkuYzoxMTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyBlbnZpcm9ubWVudCB2YXJpYWJsZSIKK21zZ3N0ciAi6Kit5a6aICVzIOizh+a6kOmZkOWItuaZguWkseaVlyIKKworIzogaW5jbHVkZS9vcHR1dGlscy5oOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbXV0dWFsbHkgZXhjbHVzaXZlIGFyZ3VtZW50czoiCittc2dzdHIgIuW9vOatpOS6kuaWpeOAgiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MQorbXNnaWQgIkVtcHR5IgorbXNnc3RyICLnqboiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIKK21zZ2lkICJGQVQxMiIKK21zZ3N0ciAiRkFUMTIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMKK21zZ2lkICJYRU5JWCByb290IgorbXNnc3RyICJYRU5JWCByb290IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0Cittc2dpZCAiWEVOSVggdXNyIgorbXNnc3RyICJYRU5JWCB1c3IiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjUKK21zZ2lkICJGQVQxNiA8MzJNIgorbXNnc3RyICJGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2Cittc2dpZCAiRXh0ZW5kZWQiCittc2dzdHIgIuW7tuS8uCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NworbXNnaWQgIkZBVDE2IgorbXNnc3RyICJGQVQxNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OAorIywgZnV6enkKK21zZ2lkICJIUEZTL05URlMvZXhGQVQiCittc2dzdHIgIkhQRlMvTlRGUy9leEZBVCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OQorbXNnaWQgIkFJWCIKK21zZ3N0ciAiQUlYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMAorbXNnaWQgIkFJWCBib290YWJsZSIKK21zZ3N0ciAiQUlYIOWPr+mWi+apnyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTEKK21zZ2lkICJPUy8yIEJvb3QgTWFuYWdlciIKK21zZ3N0ciAiT1MvMiDplovmqZ/nrqHnkIblk6EiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEyCittc2dpZCAiVzk1IEZBVDMyIgorbXNnc3RyICJXOTUgRkFUMzIiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEzCittc2dpZCAiVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICJXOTUgRkFUMzIgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE0Cittc2dpZCAiVzk1IEZBVDE2IChMQkEpIgorbXNnc3RyICJXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE1Cittc2dpZCAiVzk1IEV4dCdkIChMQkEpIgorbXNnc3RyICJXOTUgRXh0J2QgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE2Cittc2dpZCAiT1BVUyIKK21zZ3N0ciAiT1BVUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTcKK21zZ2lkICJIaWRkZW4gRkFUMTIiCittc2dzdHIgIumaseiXjyBGQVQxMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MTgKK21zZ2lkICJDb21wYXEgZGlhZ25vc3RpY3MiCittc2dzdHIgIkNvbXBhcSDoqLrmlrciCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjE5Cittc2dpZCAiSGlkZGVuIEZBVDE2IDwzMk0iCittc2dzdHIgIumaseiXjyBGQVQxNiA8MzJNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMAorbXNnaWQgIkhpZGRlbiBGQVQxNiIKK21zZ3N0ciAi6Zqx6JePIEZBVDE2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyMQorbXNnaWQgIkhpZGRlbiBIUEZTL05URlMiCittc2dzdHIgIumaseiXjyBIUEZTL05URlMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIyCittc2dpZCAiQVNUIFNtYXJ0U2xlZXAiCittc2dzdHIgIkFTVCDmmbrmhafkvJHnnKAiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjIzCittc2dpZCAiSGlkZGVuIFc5NSBGQVQzMiIKK21zZ3N0ciAi6Zqx6JePIFc5NSBGQVQzMiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjQKK21zZ2lkICJIaWRkZW4gVzk1IEZBVDMyIChMQkEpIgorbXNnc3RyICLpmrHol48gVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyNQorbXNnaWQgIkhpZGRlbiBXOTUgRkFUMTYgKExCQSkiCittc2dzdHIgIumaseiXjyBXOTUgRkFUMTYgKExCQSkiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjI2Cittc2dpZCAiTkVDIERPUyIKK21zZ3N0ciAiTkVDIERPUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MjcKKyMsIGZ1enp5Cittc2dpZCAiSGlkZGVuIE5URlMgV2luUkUiCittc2dzdHIgIumaseiXjyBOVEZTIFdpblJFIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOAorbXNnaWQgIlBsYW4gOSIKK21zZ3N0ciAiUGxhbiA5IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoyOQorbXNnaWQgIlBhcnRpdGlvbk1hZ2ljIHJlY292ZXJ5IgorbXNnc3RyICJQYXJ0aXRpb25NYWdpYyDlvqnljp8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjMwCittc2dpZCAiVmVuaXggODAyODYiCittc2dzdHIgIlZlbml4IDgwMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozMQorbXNnaWQgIlBQQyBQUmVQIEJvb3QiCittc2dzdHIgIlBQQyBQUmVQIOmWi+apnyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzIKK21zZ2lkICJTRlMiCittc2dzdHIgIlNGUyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzMKK21zZ2lkICJRTlg0LngiCittc2dzdHIgIlFOWDQueCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzQKK21zZ2lkICJRTlg0LnggMm5kIHBhcnQiCittc2dzdHIgIlFOWDQueCDnrKzkuozpg6jliIYiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM1Cittc2dpZCAiUU5YNC54IDNyZCBwYXJ0IgorbXNnc3RyICJRTlg0Lngg56ys5LiJ6YOo5YiGIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozNgorbXNnaWQgIk9uVHJhY2sgRE0iCittc2dzdHIgIk9uVHJhY2sgRE0iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjM3Cittc2dpZCAiT25UcmFjayBETTYgQXV4MSIKK21zZ3N0ciAiT25UcmFjayBETTYgQXV4MSIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6MzgKK21zZ2lkICJDUC9NIgorbXNnc3RyICJDUC9NIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDozOQorbXNnaWQgIk9uVHJhY2sgRE02IEF1eDMiCittc2dzdHIgIk9uVHJhY2sgRE02IEF1eDMiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQwCittc2dpZCAiT25UcmFja0RNNiIKK21zZ3N0ciAiT25UcmFja0RNNiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDEKK21zZ2lkICJFWi1Ecml2ZSIKK21zZ3N0ciAiRVotRHJpdmUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQyCittc2dpZCAiR29sZGVuIEJvdyIKK21zZ3N0ciAiR29sZGVuIEJvdyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NDMKK21zZ2lkICJQcmlhbSBFZGlzayIKK21zZ3N0ciAiUHJpYW0gRWRpc2siCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ0IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjkxCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OCBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5OQorbXNnaWQgIlNwZWVkU3RvciIKK21zZ3N0ciAiU3BlZWRTdG9yIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NQorbXNnaWQgIkdOVSBIVVJEIG9yIFN5c1YiCittc2dzdHIgIkdOVSBIVVJEIOaIliBTeXNWIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NgorbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDI4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMjg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0NworbXNnaWQgIk5vdmVsbCBOZXR3YXJlIDM4NiIKK21zZ3N0ciAiTm92ZWxsIE5ldHdhcmUgMzg2IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo0OAorbXNnaWQgIkRpc2tTZWN1cmUgTXVsdGktQm9vdCIKK21zZ3N0ciAiRGlza1NlY3VyZSDlpJrnqK7plovmqZ8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjQ5Cittc2dpZCAiUEMvSVgiCittc2dzdHIgIlBDL0lYIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MAorbXNnaWQgIk9sZCBNaW5peCIKK21zZ3N0ciAi6IiK54mIIE1pbml4IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MQorbXNnaWQgIk1pbml4IC8gb2xkIExpbnV4IgorbXNnc3RyICJNaW5peCAvIOiIiueJiCBMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTIKK21zZ2lkICJMaW51eCBzd2FwIC8gU29sYXJpcyIKK21zZ3N0ciAiTGludXgg5Lqk5o+b5Y2ALyBTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1MworbXNnaWQgIkxpbnV4IgorbXNnc3RyICJMaW51eCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NTQKK21zZ2lkICJPUy8yIGhpZGRlbiBvciBJbnRlbCBoaWJlcm5hdGlvbiIKK21zZ3N0ciAiIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo1NworbXNnaWQgIkxpbnV4IGV4dGVuZGVkIgorbXNnc3RyICJMaW51eCDmk7TlsZUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU4IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjU5Cittc2dpZCAiTlRGUyB2b2x1bWUgc2V0IgorbXNnc3RyICJOVEZTIOWNt+WGiumbhiIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjAKK21zZ2lkICJMaW51eCBwbGFpbnRleHQiCittc2dzdHIgIkxpbnV4IOe0lOaWh+WtlyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjEgbGliZmRpc2svc3JjL2dwdC5jOjIwNCBsaWJmZGlzay9zcmMvc2dpLmM6NjIKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo1MworbXNnaWQgIkxpbnV4IExWTSIKK21zZ3N0ciAiTGludXggTFZNIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MgorbXNnaWQgIkFtb2ViYSIKK21zZ3N0ciAiQW1vZWJhIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2MworbXNnaWQgIkFtb2ViYSBCQlQiCittc2dzdHIgIkFtb2ViYSBCQlQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY0Cittc2dpZCAiQlNEL09TIgorbXNnc3RyICJCU0QvT1MiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY1Cittc2dpZCAiSUJNIFRoaW5rcGFkIGhpYmVybmF0aW9uIgorbXNnc3RyICJJQk0gVGhpbmtwYWQgaGliZXJuYXRpb24iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjY2Cittc2dpZCAiRnJlZUJTRCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjcKK21zZ2lkICJPcGVuQlNEIgorbXNnc3RyICJPcGVuQlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo2OAorbXNnaWQgIk5lWFRTVEVQIgorbXNnc3RyICJOZVhUU1RFUCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NjkKK21zZ2lkICJEYXJ3aW4gVUZTIgorbXNnc3RyICJEYXJ3aW4gVUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MAorbXNnaWQgIk5ldEJTRCIKK21zZ3N0ciAiTmV0QlNEIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MQorbXNnaWQgIkRhcndpbiBib290IgorbXNnc3RyICJEYXJ3aW4g6ZaL5qmfIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3MgorbXNnaWQgIkhGUyAvIEhGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjczCittc2dpZCAiQlNESSBmcyIKK21zZ3N0ciAiQlNESSBmcyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzQKK21zZ2lkICJCU0RJIHN3YXAiCittc2dzdHIgIkJTREkg5Lqk5o+b5Y2AIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NQorbXNnaWQgIkJvb3QgV2l6YXJkIGhpZGRlbiIKK21zZ3N0ciAi6ZaL5qmf57K+6Z2I6Zqx6JePIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NgorIywgZnV6enkKK21zZ2lkICJBY3JvbmlzIEZBVDMyIExCQSIKK21zZ3N0ciAiVzk1IEZBVDMyIChMQkEpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3NyBsaWJmZGlzay9zcmMvZ3B0LmM6MjI5Cittc2dpZCAiU29sYXJpcyBib290IgorbXNnc3RyICJTb2xhcmlzIOmWi+apnyIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6NzgKK21zZ2lkICJTb2xhcmlzIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo3OQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTEyKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MAorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2IDwgMzJNKSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYgPCAzMk0pIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MQorbXNnaWQgIkRSRE9TL3NlYyAoRkFULTE2KSIKK21zZ3N0ciAiRFJET1Mvc2VjIChGQVQtMTYpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MgorbXNnaWQgIlN5cmlueCIKK21zZ3N0ciAiU3lyaW54IgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4MworbXNnaWQgIk5vbi1GUyBkYXRhIgorbXNnc3RyICJOb24tRlMg6LOH5paZIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NAorbXNnaWQgIkNQL00gLyBDVE9TIC8gLi4uIgorbXNnc3RyICJDUC9NIC8gQ1RPUyAv4oCmIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo4NgorbXNnaWQgIkRlbGwgVXRpbGl0eSIKK21zZ3N0ciAiRGVsbCDlhaznlKjnqIvlvI8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg3Cittc2dpZCAiQm9vdEl0IgorbXNnc3RyICJCb290SXQiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjg4Cittc2dpZCAiRE9TIGFjY2VzcyIKK21zZ3N0ciAiRE9TIOWtmOWPliIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTAKK21zZ2lkICJET1MgUi9PIgorbXNnc3RyICJET1MgUi9PIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5MworIywgZnV6enkKK21zZ2lkICJSdWZ1cyBhbGlnbm1lbnQiCittc2dzdHIgIuesrOS4gOWAi+W8leaVuCIKKworIzogaW5jbHVkZS9wdC1tYnItcGFydG5hbWVzLmg6OTQKK21zZ2lkICJCZU9TIGZzIgorbXNnc3RyICJCZU9TIGZzIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NgorbXNnaWQgIkVGSSAoRkFULTEyLzE2LzMyKSIKK21zZ3N0ciAiRUZJIChGQVQtMTIvMTYvMzIpIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDo5NworbXNnaWQgIkxpbnV4L1BBLVJJU0MgYm9vdCIKK21zZ3N0ciAiTGludXgvUEEtUklTQyDplovmqZ8iCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMAorbXNnaWQgIkRPUyBzZWNvbmRhcnkiCittc2dzdHIgIkRPUyDmrKHntJoiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMSBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc0Cittc2dpZCAiVk13YXJlIFZNRlMiCittc2dzdHIgIlZNd2FyZSBWTUZTIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDIKK21zZ2lkICJWTXdhcmUgVk1LQ09SRSIKK21zZ3N0ciAiVk13YXJlIFZNS0NPUkUiCisKKyM6IGluY2x1ZGUvcHQtbWJyLXBhcnRuYW1lcy5oOjEwMyBsaWJmZGlzay9zcmMvc3VuLmM6NTQKK21zZ2lkICJMaW51eCByYWlkIGF1dG9kZXRlY3QiCittc2dzdHIgIkxpbnV4IHJhaWQg6Ieq5YuV5YG15risIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDYKK21zZ2lkICJMQU5zdGVwIgorbXNnc3RyICJMQU5zdGVwIgorCisjOiBpbmNsdWRlL3B0LW1ici1wYXJ0bmFtZXMuaDoxMDcKK21zZ2lkICJCQlQiCittc2dzdHIgIkJCVCIKKworIzogbGliL2Jsa2Rldi5jOjI3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAid2FybmluZzogJXMgaXMgbWlzYWxpZ25lZCIKK21zZ3N0ciAi6K2m5ZGK77yaJXMg6KKrIG1pc2FsaWduZWQiCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODAgbGliZmRpc2svc3JjL2Fzay5jOjQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VsZWN0ZWQgcGFydGl0aW9uICVqdSIKK21zZ3N0ciAi5bey6YG45YiG5Ymy5Y2AICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0ODMKKyMsIGZ1enp5Cittc2dpZCAiTm8gcGFydGl0aW9uIGlzIGRlZmluZWQgeWV0ISIKK21zZ3N0ciAi5bCa54Sh5YiG5Ymy5Y2A6KKr5a6a576p77yBXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo0OTUKKyMsIGZ1enp5Cittc2dpZCAiTm8gZnJlZSBwYXJ0aXRpb24gYXZhaWxhYmxlISIKK21zZ3N0ciAi5rKS5pyJ5Y+v55So55qE56OB5Y2A5a2Y5ZyoXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzo1MDUKK21zZ2lkICJQYXJ0aXRpb24gbnVtYmVyIgorbXNnc3RyICLliIblibLljYDnt6jomZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9hc2suYzoxMDAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDcmVhdGVkIGEgbmV3IHBhcnRpdGlvbiAlZCBvZiB0eXBlICclcycgYW5kIG9mIHNpemUgJXMuIgorbXNnc3RyICLliIblibIgJWQg55qE5Z6L5oWLICVzIOWSjOeahOWkp+WwjyAlcyDmmK/oqK3lrppcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6ZDogaGFzIGludmFsaWQgc3RhcnRpbmcgc2VjdG9yIDAuIgorbXNnc3RyICLliIblibLljYAgJXMg5YW35pyJ54Sh5pWI55qE6ZaL5aeL56OB5Y2AIDDjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjE4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlcmUgaXMgbm8gKkJTRCBwYXJ0aXRpb24gb24gJXMuIgorbXNnc3RyICLmspLmnInku7vkvZUgKkJTRCDliIblibLkvY3mlrwgJXPjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjI1OCBsaWJmZGlzay9zcmMvZG9zLmM6OTgyCisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IGN5bGluZGVyIgorbXNnc3RyICLno4Hmn7EiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoyOTEgbGliZmRpc2svc3JjL2Rvcy5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBjeWxpbmRlciwgK2N5bGluZGVycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLmnIDlvowgJTEkcywgKyUyJHMg5oiWICvlpKflsI97SyxNLEd9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6Mjk2IGxpYmZkaXNrL3NyYy9kb3MuYzoxMjE4IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDQ3CisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9IgorbXNnc3RyICLmnIDlvowgJTEkcywgKyUyJHMg5oiWICvlpKflsI97SyxNLEd9IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGV2aWNlICVzIGRvZXMgbm90IGNvbnRhaW4gQlNEIGRpc2tsYWJlbC4iCittc2dzdHIgIiVzIOS4jeWQq+S7u+S9leejgeein+aomeexpOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MzgyCisjLCBmdXp6eQorbXNnaWQgIkRvIHlvdSB3YW50IHRvIGNyZWF0ZSBhIEJTRCBkaXNrbGFiZWw/IgorbXNnc3RyICLmgqjopoHlu7rnq4vno4Hnop/mqJnnsaTll47vvJ8oeS9uKSAiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiRGlzayIKK21zZ3N0ciAi56OB56Kf77yaJS4qc1xuIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDU1Cittc2dpZCAiUGFja25hbWUiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2MiBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNworbXNnaWQgIkZsYWdzIgorbXNnc3RyICLlsazmgKfml5fmqJkiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0NjUKK21zZ2lkICIgcmVtb3ZhYmxlIgorbXNnc3RyICIg5Y+v56e76Zmk55qEIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDY2Cittc2dpZCAiIGVjYyIKK21zZ3N0ciAiIGVjYyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ2NworbXNnaWQgIiBiYWRzZWN0IgorbXNnc3RyICIg5LiN6Imv56OB5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgIkJ5dGVzL1NlY3RvciIKK21zZ3N0ciAi5L2N5YWD57WEL+ejgeWNgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ4MAorIywgZnV6enkKK21zZ2lkICJUcmFja3MvQ3lsaW5kZXIiCittc2dzdHIgIuejgei7jC/no4Hmn7EiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo0ODUKKyMsIGZ1enp5Cittc2dpZCAiU2VjdG9ycy9DeWxpbmRlciIKK21zZ3N0ciAi56OB5Y2AL+ejgeafsSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjQ5MCBsaWJmZGlzay9zcmMvYnNkLmM6MTAyMCBsaWJmZGlzay9zcmMvZG9zLmM6MjQyOAorIzogbGliZmRpc2svc3JjL3NnaS5jOjExNTYgbGliZmRpc2svc3JjL3N1bi5jOjE5NyBsaWJmZGlzay9zcmMvc3VuLmM6MTEyMworbXNnaWQgIkN5bGluZGVycyIKK21zZ3N0ciAi56OB5p+xIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NDk1IGxpYmZkaXNrL3NyYy9zdW4uYzo3NzMKKyMsIGZ1enp5Cittc2dpZCAiUnBtIgorbXNnc3RyICJycG0iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo1MDAgbGliZmRpc2svc3JjL3NnaS5jOjI5MSBsaWJmZGlzay9zcmMvc3VuLmM6NzkzCisjLCBmdXp6eQorbXNnaWQgIkludGVybGVhdmUiCittc2dzdHIgIuS6pOmMryIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUwNQorIywgZnV6enkKK21zZ2lkICJUcmFja3NrZXciCittc2dzdHIgInRyYWNrc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxMAorIywgZnV6enkKK21zZ2lkICJDeWxpbmRlcnNrZXciCittc2dzdHIgImN5bGluZGVyc2tldyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjUxNQorIywgZnV6enkKK21zZ2lkICJIZWFkc3dpdGNoIgorbXNnc3RyICJoZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NTIwCisjLCBmdXp6eQorbXNnaWQgIlRyYWNrLXRvLXRyYWNrIHNlZWsiCittc2dzdHIgIui7jOWwjei7jOaQnOWwiyIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMAorbXNnaWQgImJ5dGVzL3NlY3RvciIKK21zZ3N0ciAi5L2N5YWD57WEL+ejgeWNgCIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxMworbXNnaWQgInNlY3RvcnMvdHJhY2siCittc2dzdHIgIuejgeWNgC/no4Hou4wiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTQKK21zZ2lkICJ0cmFja3MvY3lsaW5kZXIiCittc2dzdHIgIuejgei7jC/no4Hmn7EiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MTUKK21zZ2lkICJjeWxpbmRlcnMiCittc2dzdHIgIuejgeafsSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYxOQorbXNnaWQgInNlY3RvcnMvY3lsaW5kZXIiCittc2dzdHIgIuejgeWNgC/no4Hmn7EiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjIKK21zZ2lkICJycG0iCittc2dzdHIgInJwbSIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyMworbXNnaWQgImludGVybGVhdmUiCittc2dzdHIgIuS6pOmMryIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjYyNAorbXNnaWQgInRyYWNrc2tldyIKK21zZ3N0ciAidHJhY2tza2V3IgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI1Cittc2dpZCAiY3lsaW5kZXJza2V3IgorbXNnc3RyICJjeWxpbmRlcnNrZXciCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo2MjcKK21zZ2lkICJoZWFkc3dpdGNoIgorbXNnc3RyICJoZWFkc3dpdGNoIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjI4Cittc2dpZCAidHJhY2stdG8tdHJhY2sgc2VlayIKK21zZ3N0ciAi6LuM5bCN6LuM5pCc5bCLIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjUwCisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290c3RyYXAgZmlsZSAlcyBzdWNjZXNzZnVsbHkgbG9hZGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6NjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCb290c3RyYXA6ICUxJHNib290IC0+IGJvb3QlMSRzIChkZWZhdWx0ICUxJHMpIgorbXNnc3RyICLllZ/li5XnqIvlvI/vvJolc2Jvb3QgLT4gYm9vdCVzICglcynvvJoiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MDMKKyMsIGZ1enp5Cittc2dpZCAiQm9vdHN0cmFwIG92ZXJsYXBzIHdpdGggZGlza2xhYmVsISIKK21zZ3N0ciAi5ZWf5YuV56iL5byP6IiH56OB56Kf5qiZ57Gk6YeN55aK77yBXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RzdHJhcCBpbnN0YWxsZWQgb24gJXMuIgorbXNnc3RyICLllZ/li5XnqIvlvI/lt7Llronoo53mlrwgJXPjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkwMgorIywgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4gIChEb24ndCBmb3JnZXQgdG8gd3JpdGUgdGhlICVzIGRpc2tsYWJlbCB0b28uKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEaXNrbGFiZWwgd3JpdHRlbiB0byAlcy4iCittc2dzdHIgIuehrOeinzogJXNcbiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjkxMSBsaWJmZGlzay9zcmMvY29udGV4dC5jOjY4OAorIywgZnV6enkKK21zZ2lkICJTeW5jaW5nIGRpc2tzLiIKK21zZ3N0ciAi5ZCM5q2l56OB56Kf44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzo5NTIKK21zZ2lkICJCU0QgbGFiZWwgaXMgbm90IG5lc3RlZCB3aXRoaW4gYSBET1MgcGFydGl0aW9uLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6OTgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCU0QgcGFydGl0aW9uICclYycgbGlua2VkIHRvIERPUyBwYXJ0aXRpb24gJXp1LiIKK21zZ3N0ciAi6Y+I57WQIEJTRCDliIblibLliLAgbm9uLUJTRCDliIblibIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDE2Cittc2dpZCAiU2xpY2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2JzZC5jOjEwMjMKK21zZ2lkICJGc2l6ZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvYnNkLmM6MTAyNAorbXNnaWQgIkJzaXplIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ic2QuYzoxMDI1Cittc2dpZCAiQ3BnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NjgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2xvc2UgZGV2aWNlIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpsc2VlayDlpLHmlZciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzU2CisjLCBmdXp6eQorbXNnaWQgIkNhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIuWRvOWPqyBpb2N0bCgpIOS7pemHjeaWsOiugOWPluWIhuWJsuihqOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjc2NQorIywgZnV6enkKK21zZ2lkICJSZS1yZWFkaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLiIKK21zZ3N0ciAi6YeN5paw6K6A5Y+W5YiG5Ymy6KGo4oCmXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6NzY3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLiIKK21zZ3N0ciAiIgorIlxuIgorIuitpuWRiu+8mlJlLXJlYWRpbmcg5YiG5Ymy6KGo5aSx5pWX55qE6IiH6Yyv6KqkICVk77yaJW3jgIJcbiIKKyLlhafmoLjku43nhLbkvb/nlKjoiIrnmoTooajmoLzjgILmlrDnmoTooajmoLzlsIfooqvkvb/nlKjmlrxcbiIKKyLkuIvkuIDlgIvph43mlrDplovmqZ/miJbkuYvlvozmgqjpgYvooYwgcGFydHByb2JlICg4KSDmiJYga3BhcnR4ICg4KVxuIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjg1MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlbW92ZSBwYXJ0aXRpb24gJXp1IGZyb20gc3lzdGVtIgorbXNnc3RyICLnp7vpmaTliIblibLmmYLlpLHmlZciCisKKyM6IGxpYmZkaXNrL3NyYy9jb250ZXh0LmM6ODYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gdXBkYXRlIHN5c3RlbSBpbmZvcm1hdGlvbiBhYm91dCBwYXJ0aXRpb24gJXp1IgorbXNnc3RyICIlc++8muS4jeaYr+WNgOWhiuijnee9riIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBhZGQgcGFydGl0aW9uICV6dSB0byBzeXN0ZW0iCittc2dzdHIgIuWKoOWFpeWIhuWJsuaZguWkseaVlyIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzo4NzQKKyMsIGZ1enp5Cittc2dpZCAiVGhlIGtlcm5lbCBzdGlsbCB1c2VzIHRoZSBvbGQgcGFydGl0aW9ucy4gVGhlIG5ldyB0YWJsZSB3aWxsIGJlIHVzZWQgYXQgdGhlIG5leHQgcmVib290LiAiCittc2dzdHIgIiIKKyJcbiIKKyLorablkYrvvJpSZS1yZWFkaW5nIOWIhuWJsuihqOWkseaVl+eahOiIh+mMr+iqpCAlZO+8miVt44CCXG4iCisi5YWn5qC45LuN54S25L2/55So6IiK55qE6KGo5qC844CC5paw55qE6KGo5qC85bCH6KKr5L2/55So5pa8XG4iCisi5LiL5LiA5YCL6YeN5paw6ZaL5qmf5oiW5LmL5b6M5oKo6YGL6KGMIHBhcnRwcm9iZSAoOCkg5oiWIGtwYXJ0eCAoOClcbiIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg0CisjLCBmdXp6eQorbXNnaWQgImN5bGluZGVyIgorbXNnaWRfcGx1cmFsICJjeWxpbmRlcnMiCittc2dzdHJbMF0gIuejgeafsSIKKworIzogbGliZmRpc2svc3JjL2NvbnRleHQuYzoxMDg1CisjLCBmdXp6eQorbXNnaWQgInNlY3RvciIKK21zZ2lkX3BsdXJhbCAic2VjdG9ycyIKK21zZ3N0clswXSAi56OB5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvY29udGV4dC5jOjEzODgKK21zZ2lkICJJbmNvbXBsZXRlIGdlb21ldHJ5IHNldHRpbmcuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTMKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHByaW1hcnkgcGFydGl0aW9ucyBoYXZlIGJlZW4gZGVmaW5lZCBhbHJlYWR5LiIKK21zZ3N0ciAi5omA5pyJ5Li76KaB5YiG5Ymy5Y2A5bey6KKr5a6a576p77yBXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiUHJpbWFyeSBwYXJ0aXRpb24gbm90IGF2YWlsYWJsZS4iCittc2dzdHIgIuaykuacieWPr+eUqOeahOejgeWNgOWtmOWcqFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGYWlsZWQgdG8gcmVhZCBleHRlbmRlZCBwYXJ0aXRpb24gdGFibGUgKG9mZnNldD0lanUpIgorbXNnc3RyICIlc++8mueEoeazleiugOWPluWIhuWJsuihqCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjM0MAorIywgZnV6enkKK21zZ2lkICJZb3UgY2FuIHNldCBnZW9tZXRyeSBmcm9tIHRoZSBleHRyYSBmdW5jdGlvbnMgbWVudS4iCittc2dzdHIgIiIKKyIlcyVzLlxuIgorIuaCqOWPr+S7peW+numhjeWkluWHveW8j+mBuOWWruS+huWBmumAmeWAi+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQzCittc2dpZCAiRE9TLWNvbXBhdGlibGUgbW9kZSBpcyBkZXByZWNhdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBkZXZpY2UgcHJlc2VudHMgYSBsb2dpY2FsIHNlY3RvciBzaXplIHRoYXQgaXMgc21hbGxlciB0aGFuIHRoZSBwaHlzaWNhbCBzZWN0b3Igc2l6ZS4gQWxpZ25pbmcgdG8gYSBwaHlzaWNhbCBzZWN0b3IgKG9yIG9wdGltYWwgSS9PKSBzaXplIGJvdW5kYXJ5IGlzIHJlY29tbWVuZGVkLCBvciBwZXJmb3JtYW5jZSBtYXkgYmUgaW1wYWN0ZWQuIgorbXNnc3RyICIiCisiXG4iCisi6KOd572u5ZGI54++55qE6YKP6Lyv5Y2A5aSn5bCP5bCP5pa8XG4iCisi5a+m6auU56OB5Y2A5aSn5bCP44CC5bu66K2w5bCN6b2K5Yiw5a+m6auU56OB5Y2AICjmiJbmnIDkvbPljJZcbiIKKyJJL08pIOWkp+Wwj+mCiueVjO+8jOWQpuWJh+aViOiDveS5n+ioseacg+iiq+W9semfv+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MzUzCittc2dpZCAiQ3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzozNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBzaXplIG9mIHRoaXMgZGlzayBpcyAlcyAoJWp1IGJ5dGVzKS4gRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3JtYXQgY2Fubm90IGJlIHVzZWQgb24gZHJpdmVzIGZvciB2b2x1bWVzIGxhcmdlciB0aGFuICVsdSBieXRlcyBmb3IgJWx1LWJ5dGUgc2VjdG9ycy4gVXNlIEdVSUQgcGFydGl0aW9uIHRhYmxlIGZvcm1hdCAoR1BUKS4iCittc2dzdHIgIiIKKyJcbiIKKyLorablkYrvvJrlpKflsI/nmoTpgJnlgIvno4Hnop/mmK8gJWQuJWQgVEIgKCVsbHUg5L2N5YWD57WEKeOAglxuIgorIkRPUyDliIblibLooajmoLzlvI/nhKHms5Xkvb/nlKjnmoTmlrzno4Hnop/nlKjmlrzpn7Pph49cbiIKKyLlpKfmlrwgKCVsbHUg5L2N5YWD57WEKSDnlKjmlrwgJWxkLWJ5dGUg56OB5Y2A44CC5L2/55So6YCA5Ye65LqGICgxKSDlkowgR1VJRFxuIgorIuWIhuWJsuihqOagvOW8jyAoR1BUKeOAglxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTM0CisjLCBmdXp6eQorbXNnaWQgIkJhZCBvZmZzZXQgaW4gcHJpbWFyeSBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLlnKjkuLvopoHmk7TlhYXliIblibLljYDkuK3nmoTkuI3nlbblgY/np7vlgLxcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjU0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiT21pdHRpbmcgcGFydGl0aW9ucyBhZnRlciAjJXp1LiBUaGV5IHdpbGwgYmUgZGVsZXRlZCBpZiB5b3Ugc2F2ZSB0aGlzIHBhcnRpdGlvbiB0YWJsZS4iCittc2dzdHIgIiIKKyLorablkYrvvJrlv73nlaUgIyVkIOS5i+W+jOeahOWIhuWJsuWNgOOAglxuIgorIuWmguaenOaCqOWEsuWtmOmAmeWAi+WIhuWJsuihqOWwseacg+WIqumZpOWug+WAkeOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeHRyYSBsaW5rIHBvaW50ZXIgaW4gcGFydGl0aW9uIHRhYmxlICV6dS4iCittc2dzdHIgIuitpuWRiu+8muWcqOWIhuWJsuihqOS4reaciemhjeWklueahOmPiOe1kOaMh+aomSAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZ25vcmluZyBleHRyYSBkYXRhIGluIHBhcnRpdGlvbiB0YWJsZSAlenUuIgorbXNnc3RyICLorablkYrvvJrlv73nlaXliIblibLooaggJWQg5Lit55qE6aGN5aSW6LOH5paZXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo2NDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9taXR0aW5nIGVtcHR5IHBhcnRpdGlvbiAoJXp1KSIKK21zZ3N0ciAi5b+955Wl56m655qE5YiG5YmyICglZClcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ3JlYXRlZCBhIG5ldyBET1MgZGlza2xhYmVsIHdpdGggZGlzayBpZGVudGlmaWVyIDB4JTA4eC4iCittc2dzdHIgIuW7uueri+aWsOeahCBET1MgZGlza2xhYmVsIOiIh+ejgeein+itmOWIpeeivCAweCUwOHjjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjcyNgorIywgZnV6enkKK21zZ2lkICJFbnRlciB0aGUgbmV3IGRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi6K6K5pu056OB56Kf6K2Y5Yil56K8IgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6NzMzCisjLCBmdXp6eQorbXNnaWQgIkluY29ycmVjdCB2YWx1ZS4iCittc2dzdHIgIueEoeaViOeahOioreWumuWAvCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjc0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAweCUwOHggdG8gMHglMDh4LiIKK21zZ3N0ciAi56OB56Kf6K2Y5Yil56K877yaMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzo4MzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIklnbm9yaW5nIGV4dHJhIGV4dGVuZGVkIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIuW/veeVpemhjeWklueahOaTtOWFheWIhuWJsuWNgCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6ODUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGZsYWcgMHglMDJ4JTAyeCBvZiBFQlIgKGZvciBwYXJ0aXRpb24gJXp1KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpLiIKK21zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy6KGoICUyJGQg55qE54Sh5pWI5peX5qiZIDB4JTEkMDR4IOWwh+eUsSB3KHJpdGUpIOaJgOS/ruato1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6OTY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdGFydCBzZWN0b3IgJWp1IG91dCBvZiByYW5nZS4iCittc2dzdHIgIuaVuOWAvOi2heWHuuevhOWcjeOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTA3NiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyMSBsaWJmZGlzay9zcmMvc2dpLmM6ODM4CisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1IGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LiIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkIOW3sue2k+Wumue+qeOAgiDlnKjph43mlrDliqDlhaXkuYvliY3liKrpmaTlroPjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjExNDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlbGx1IGlzIGFscmVhZHkgYWxsb2NhdGVkLiIKK21zZ3N0ciAi56OB5Y2AICVsbHUg5bey57aT6YWN572uXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMTg1IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMwCisjLCBmdXp6eQorbXNnaWQgIk5vIGZyZWUgc2VjdG9ycyBhdmFpbGFibGUuIgorbXNnc3RyICLmspLmnInlj6/nlKjnmoTno4HljYDlrZjlnKhcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzNDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkFkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiAlenUiCittc2dzdHIgIuWKoOWFpemCj+i8r+WIhuWJsuWNgCAlZFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogY29udGFpbnMgc2VjdG9yIDAiCittc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlZCDlkKvmnInno4HljYAgMFxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogaGVhZCAlZCBncmVhdGVyIHRoYW4gbWF4aW11bSAlZCIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkOiDno4HpoK0gJWQg5aSn5pa85pyA5aSn5YC8ICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxMzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBzZWN0b3IgJWQgZ3JlYXRlciB0aGFuIG1heGltdW0gJWxsdSIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkOiDno4HljYAgJWQg5aSn5pa85pyA5aSn5YC8ICVsbHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjEzODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IGN5bGluZGVyICVkIGdyZWF0ZXIgdGhhbiBtYXhpbXVtICVsbHUiCittc2dzdHIgIuWIhuWJsuWNgCAlZO+8muejgeafsSAlZCDlpKfmlrzmnIDlpKflgLwgJWxsdVxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogcHJldmlvdXMgc2VjdG9ycyAldSBkaXNhZ3JlZXMgd2l0aCB0b3RhbCAldSIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkOiDkuYvliY3no4HljYAgJWQg6IiH57i96KiI5LiN5LiA6Ie0ICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNDM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBkaWZmZXJlbnQgcGh5c2ljYWwvbG9naWNhbCBiZWdpbm5pbmdzIChub24tTGludXg/KTogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICLliIblibLljYAgJWQg5pyJ5LiN5ZCM55qE5a+m6auUL+mCj+i8r+mWi+Wni+S9jee9riAo6Z2eIExpbnV477yfKe+8mlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZGlmZmVyZW50IHBoeXNpY2FsL2xvZ2ljYWwgZW5kaW5nczogcGh5cz0oJWQsICVkLCAlZCksIGxvZ2ljYWw9KCVkLCAlZCwgJWQpIgorbXNnc3RyICLliIblibLljYAgJWQg5pyJ5LiN5ZCM55qE5a+m6auUL+mCj+i8r+e1kOadn+S9jee9ru+8mlxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZG9lcyBub3QgZW5kIG9uIGN5bGluZGVyIGJvdW5kYXJ5LiIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkIOS4pumdnue1guaWvOejgeafsemCiueVjOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTQ4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogYmFkIHN0YXJ0LW9mLWRhdGEuIgorbXNnc3RyICLliIblibLljYDntZDlsL7lsI/mlrzno4HljYAgMCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE0OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAlenU6IG92ZXJsYXBzIHBhcnRpdGlvbiAlenUuIgorbXNnc3RyICLorablkYrvvJrliIblibLljYAgJWQg6IiH5YiG5Ymy5Y2AICVkIOmHjeeWiuOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV6dTogZW1wdHkuIgorbXNnc3RyICLliIblibLljYAgKGEtJWMp77yaIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTUzMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTG9naWNhbCBwYXJ0aXRpb24gJXp1OiBub3QgZW50aXJlbHkgaW4gcGFydGl0aW9uICV6dS4iCittc2dzdHIgIumCj+i8r+WIhuWJsuWNgCAlZCDkuKbpnZ7lrozmlbTomZXmlrzliIblibLljYAgJWQg5LitXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNTQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUb3RhbCBhbGxvY2F0ZWQgc2VjdG9ycyAlbGx1IGdyZWF0ZXIgdGhhbiB0aGUgbWF4aW11bSAlbGx1LiIKK21zZ3N0ciAi6YWN572u55qE56OB5Y2A57i96KiIICVsbHUg5aSn5pa85pyA5aSn5YC8ICVsbHVcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE1NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlJlbWFpbmluZyAlbGxkIHVuYWxsb2NhdGVkICVsZC1ieXRlIHNlY3RvcnMuIgorbXNnc3RyICLlhbbppJggJWxsZCB1bmFsbG9jYXRlZCAlbGQtYnl0ZSDno4HljYBcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2MDEgbGliZmRpc2svc3JjL2Rvcy5jOjE2MTYgbGliZmRpc2svc3JjL2Rvcy5jOjIwNjMKKyMsIGZ1enp5Cittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGFscmVhZHkgZXhpc3RzLiIKK21zZ3N0ciAi6YCZ5YCL5YiG5Ymy5Y2A5bey57aT5a2Y5Zyo44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNjMxCittc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIGRvZXMgbm90IGV4aXN0cy4gRmFpbGVkIHRvIGFkZCBsb2dpY2FsIHBhcnRpdGlvbi4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2NjcKKyMsIGZ1enp5Cittc2dpZCAiVGhlIG1heGltdW0gbnVtYmVyIG9mIHBhcnRpdGlvbnMgaGFzIGJlZW4gY3JlYXRlZC4iCittc2dzdHIgIuW3suW7uueri+WIhuWJsuWNgOeahOacgOWkp+aVuOmHj1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTY4MQorIywgZnV6enkKK21zZ2lkICJBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuIgorbXNnc3RyICLmiYDmnInkuLvopoHliIblibLljYDmmK/lnKjkuK3kvb/nlKhcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2ODMgbGliZmRpc2svc3JjL2Rvcy5jOjE2OTQKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHNwYWNlIGZvciBwcmltYXJ5IHBhcnRpdGlvbnMgaXMgaW4gdXNlLiIKK21zZ3N0ciAi5omA5pyJ5Li76KaB5YiG5Ymy5Y2A5piv5Zyo5Lit5L2/55SoXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUcnkgdG8ga2VlcCB0aGlzIHdpdGhpbiA4MCBjaGFyYWN0ZXJzLgorIzogbGliZmRpc2svc3JjL2Rvcy5jOjE2OTcKKyMsIGZ1enp5Cittc2dpZCAiVG8gY3JlYXRlIG1vcmUgcGFydGl0aW9ucywgZmlyc3QgcmVwbGFjZSBhIHByaW1hcnkgd2l0aCBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICIiCisi5aaC5p6c5oKo6KaB5bu656uL6LaF6YGO5Zub5YiG5Ymy5Y2A77yM5oKo5b+F6aCI572u5o+bXG4iCisi5Li76KaB5YiG5Ymy6IiH6YCy6ZqO5YiG5Ymy5YWI44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzAyCisjLCBmdXp6eQorbXNnaWQgIkFsbCBsb2dpY2FsIHBhcnRpdGlvbnMgYXJlIGluIHVzZS4gQWRkaW5nIGEgcHJpbWFyeSBwYXJ0aXRpb24uIgorbXNnc3RyICLmiYDmnInpgo/ovK/liIblibLljYDpg73lnKjkvb/nlKjkuK1cbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjQKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIHR5cGUiCittc2dzdHIgIuWIhuWJsuWNgOe3qOiZnyIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXp1IHByaW1hcnksICVkIGV4dGVuZGVkLCAlenUgZnJlZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTczMworIywgZnV6enkKK21zZ2lkICJwcmltYXJ5IgorbXNnc3RyICLkuLvopoHnmoQiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImV4dGVuZGVkIgorbXNnc3RyICLlu7bkvLgiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM1CisjLCBmdXp6eQorbXNnaWQgImNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zIgorbXNnc3RyICLlo57nmoTpgo/ovK/liIblibLljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzM3CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwiCittc2dzdHIgIumCj+i8r+eahCIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjE3MzcKKyMsIGZ1enp5Cittc2dpZCAibnVtYmVyZWQgZnJvbSA1IgorbXNnc3RyICIgICBsICAg6YKP6Lyv55qEICjlt7Lnt6jomZ/lvp4gNSkiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxNzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcnRpdGlvbiB0eXBlIGAlYycuIgorbXNnc3RyICLnhKHmlYjnmoTliIblibLljYDpoZ7lnovjgI4lY+OAj1xuIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MTc5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2Fubm90IHdyaXRlIHNlY3RvciAlamQ6IHNlZWsgZmFpbGVkIgorbXNnc3RyICLnhKHms5Xlr6vlhaXmjIfku6TnqL/mqpTmoYgiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoxOTU0IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjIxCisjLCBmdXp6eQorbXNnaWQgIkRpc2sgaWRlbnRpZmllciIKK21zZ3N0ciAi56OB56Kf6K2Y5Yil56K877yaMHglMDh4XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMDY4CisjLCBmdXp6eQorbXNnaWQgIlR5cGUgMCBtZWFucyBmcmVlIHNwYWNlIHRvIG1hbnkgc3lzdGVtcy4gSGF2aW5nIHBhcnRpdGlvbnMgb2YgdHlwZSAwIGlzIHByb2JhYmx5IHVud2lzZS4iCittc2dzdHIgIiIKKyLpoZ7lnosgMCDlsI3mlrzoqLHlpJrns7vntbHogIzoqIDooajnpLrlianppJjnqbrplpNcbiIKKyIo5Lim5LiN5YyF5ousIExpbnV4KeOAguWFt+aciVxuIgorIumhnuWei+eCuiAwIOeahOWIhuWJsuWNgOWPr+iDveS4jeWkquaYjuaZuuOAguaCqOWPr+S7pVxuIgorIuS9v+eUqOOAjGTjgI3lkb3ku6TkvobliKrpmaTliIblibLljYDjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjIwNzMKK21zZ2lkICJDYW5ub3QgY2hhbmdlIHR5cGUgb2YgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiB3aGljaCBpcyBhbHJlYWR5IHVzZWQgYnkgbG9naWNhbCBwYXJ0aXRpb25zLiBEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zIGZpcnN0LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjI1OSBsaWJmZGlzay9zcmMvZ3B0LmM6MzAzNworIywgZnV6enkKK21zZ2lkICJOb3RoaW5nIHRvIGRvLiBPcmRlcmluZyBpcyBjb3JyZWN0IGFscmVhZHkuIgorbXNnc3RyICIiCisi54Sh5LqL5Y+v5YGa44CC6aCG5bqP5bey57aT5piv5q2j56K655qE44CCXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzE0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBubyBkYXRhIGFyZWEuIgorbXNnc3RyICLliIblibLljYAgJWQg5rKS5pyJ6LOH5paZ5Y2A5Z+fXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyMzQ3Cittc2dpZCAiTmV3IGJlZ2lubmluZyBvZiBkYXRhIgorbXNnc3RyICLmlrDnmoTos4fmlpnplovlp4vpg6jliIYiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXp1OiBpcyBhbiBleHRlbmRlZCBwYXJ0aXRpb24uIgorbXNnc3RyICLorablkYrvvJrliIblibLljYAgJWQg5piv5pO05YWF5YiG5Ymy5Y2AXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDA5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYm9vdGFibGUgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGVuYWJsZWQgbm93LiIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkIOeahOezu+e1semhnuWei+acquiiq+iuiuabtO+8miV4ICglcylcbiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAi5YiH5o+b55uu5YmN5YiG5Ymy5Y2A55qE5bGs5oCn5peX5qiZIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQyMyBsaWJmZGlzay9zcmMvZ3B0LmM6MzEyNyBsaWJmZGlzay9zcmMvc2dpLmM6MTE1MgorIzogbGliZmRpc2svc3JjL3N1bi5jOjExMTkKK21zZ2lkICJEZXZpY2UiCittc2dzdHIgIuaJgOeUqOijnee9riIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MjQgbGliZmRpc2svc3JjL3N1bi5jOjQwCittc2dpZCAiQm9vdCIKK21zZ3N0ciAi5Y+v6ZaL5qmfIgorCisjOiBsaWJmZGlzay9zcmMvZG9zLmM6MjQzMCBsaWJmZGlzay9zcmMvc2dpLmM6MTE1OCBsaWJmZGlzay9zcmMvc3VuLmM6MTEyNQorbXNnaWQgIklkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9kb3MuYzoyNDM0Cittc2dpZCAiU3RhcnQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzUKK21zZ2lkICJFbmQtQy9IL1MiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2Rvcy5jOjI0MzYgbGliZmRpc2svc3JjL2dwdC5jOjMxMzcgbGliZmRpc2svc3JjL3NnaS5jOjExNjAKK21zZ2lkICJBdHRycyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTU5Cittc2dpZCAiRUZJIFN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk1CUiBwYXJ0aXRpb24gc2NoZW1lIgorbXNnc3RyICLliIblibLlkI3nqLEiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjIKK21zZ2lkICJJbnRlbCBGYXN0IEZsYXNoIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiQklPUyBib290IgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTY4CisjLCBmdXp6eQorbXNnaWQgIlNvbnkgYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIumBuOWPluWPr+mWi+apn+eahOWIhuWJsiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICJMZW5vdm8gYm9vdCBwYXJ0aXRpb24iCittc2dzdHIgIumBuOWPluWPr+mWi+apn+eahOWIhuWJsiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3MgorIywgZnV6enkKK21zZ2lkICJQb3dlclBDIFBSZVAgYm9vdCIKK21zZ3N0ciAiUFBDIFBSZVAg6ZaL5qmfIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTc1CisjLCBmdXp6eQorbXNnaWQgIk9OSUUgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE3NgorbXNnaWQgIk9OSUUgY29uZmlnIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNzkKK21zZ2lkICJNaWNyb3NvZnQgcmVzZXJ2ZWQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MAorbXNnaWQgIk1pY3Jvc29mdCBiYXNpYyBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODEKK21zZ2lkICJNaWNyb3NvZnQgTERNIG1ldGFkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODIKK21zZ2lkICJNaWNyb3NvZnQgTERNIGRhdGEiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MworbXNnaWQgIldpbmRvd3MgcmVjb3ZlcnkgZW52aXJvbm1lbnQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4NAorbXNnaWQgIklCTSBHZW5lcmFsIFBhcmFsbGVsIEZzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODUKK21zZ2lkICJNaWNyb3NvZnQgU3RvcmFnZSBTcGFjZXMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4OAorIywgZnV6enkKK21zZ2lkICJIUC1VWCBkYXRhIgorbXNnc3RyICLliKrpmaTliIblibIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiSFAtVVggc2VydmljZSIKK21zZ3N0ciAi5bey54Sh5aSa6aSY55qE5YiG5Ymy5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkyIGxpYmZkaXNrL3NyYy9zZ2kuYzo2MCBsaWJmZGlzay9zcmMvc3VuLmM6NTEKK21zZ2lkICJMaW51eCBzd2FwIgorbXNnc3RyICJMaW51eCBzd2FwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTkzCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IGZpbGVzeXN0ZW0iCittc2dzdHIgIuaqlOahiOezu+e1seWei+aFiyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5NAorIywgZnV6enkKK21zZ2lkICJMaW51eCBzZXJ2ZXIgZGF0YSIKK21zZ3N0ciAiU3VuT1Mg5L+d55WZ5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1Cittc2dpZCAiTGludXggcm9vdCAoeDg2KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk2Cittc2dpZCAiTGludXggcm9vdCAoQVJNKSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk3Cittc2dpZCAiTGludXggcm9vdCAoeDg2LTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk4Cittc2dpZCAiTGludXggcm9vdCAoQVJNLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk5Cittc2dpZCAiTGludXggcm9vdFx0KElBLTY0KSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjAwCisjLCBmdXp6eQorbXNnaWQgIkxpbnV4IHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAiTGludXggaG9tZSIKK21zZ3N0ciAiTGludXgiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMDIgbGliZmRpc2svc3JjL3NnaS5jOjYzCittc2dpZCAiTGludXggUkFJRCIKK21zZ3N0ciAiTGludXggUkFJRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIwMworIywgZnV6enkKK21zZ2lkICJMaW51eCBleHRlbmRlZCBib290IgorbXNnc3RyICJMaW51eCDmk7TlsZUiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiRnJlZUJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjEyCisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgYm9vdCIKK21zZ3N0ciAiRnJlZUJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxMworIywgZnV6enkKK21zZ2lkICJGcmVlQlNEIHN3YXAiCittc2dzdHIgIkJTREkg5Lqk5o+b5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVUZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgWkZTIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2CisjLCBmdXp6eQorbXNnaWQgIkZyZWVCU0QgVmludW0iCittc2dzdHIgIkZyZWVCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTkKKyMsIGZ1enp5Cittc2dpZCAiQXBwbGUgSEZTL0hGUysiCittc2dzdHIgIkhGUyAvIEhGUysiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjAKK21zZ2lkICJBcHBsZSBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMQorbXNnaWQgIkFwcGxlIFJBSUQiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMgorbXNnaWQgIkFwcGxlIFJBSUQgb2ZmbGluZSIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIzCittc2dpZCAiQXBwbGUgYm9vdCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0Cittc2dpZCAiQXBwbGUgbGFiZWwiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyNQorbXNnaWQgIkFwcGxlIFRWIHJlY292ZXJ5IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjYKK21zZ2lkICJBcHBsZSBDb3JlIHN0b3JhZ2UiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMAorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIHJvb3QiCittc2dzdHIgIlNvbGFyaXMg6ZaL5qmfIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjMyCittc2dpZCAiU29sYXJpcyAvdXNyICYgQXBwbGUgWkZTIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzMKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBzd2FwIgorbXNnc3RyICJTb2xhcmlzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIlNvbGFyaXMgYmFja3VwIgorbXNnc3RyICJTb2xhcmlzIOmWi+apnyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzNQorIywgZnV6enkKK21zZ2lkICJTb2xhcmlzIC92YXIiCittc2dzdHIgIlNvbGFyaXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzYKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyAvaG9tZSIKK21zZ3N0ciAiU29sYXJpcyDplovmqZ8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyBhbHRlcm5hdGUgc2VjdG9yIgorbXNnc3RyICLlpKrlpJrkuqTmm7/pgJ/luqYiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAxIgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAyIgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDAKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCAzIgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA0IgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiU29sYXJpcyByZXNlcnZlZCA1IgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDUKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIHN3YXAiCittc2dzdHIgIkJTREkg5Lqk5o+b5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ2CisjLCBmdXp6eQorbXNnaWQgIk5ldEJTRCBGRlMiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NworIywgZnV6enkKK21zZ2lkICJOZXRCU0QgTEZTIgorbXNnc3RyICJOZXRCU0QiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDgKK21zZ2lkICJOZXRCU0QgY29uY2F0ZW5hdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNDkKK21zZ2lkICJOZXRCU0QgZW5jcnlwdGVkIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTAKKyMsIGZ1enp5Cittc2dpZCAiTmV0QlNEIFJBSUQiCittc2dzdHIgIk5ldEJTRCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI1MworbXNnaWQgIkNocm9tZU9TIGtlcm5lbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU0Cittc2dpZCAiQ2hyb21lT1Mgcm9vdCBmcyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIkNocm9tZU9TIHJlc2VydmVkIgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTgKK21zZ2lkICJNaWRuaWdodEJTRCBkYXRhIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNTkKK21zZ2lkICJNaWRuaWdodEJTRCBib290IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjAKKyMsIGZ1enp5Cittc2dpZCAiTWlkbmlnaHRCU0Qgc3dhcCIKK21zZ3N0ciAiQlNESSDkuqTmj5vljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjEKK21zZ2lkICJNaWRuaWdodEJTRCBVRlMiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MgorbXNnaWQgIk1pZG5pZ2h0QlNEIFpGUyIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjYzCittc2dpZCAiTWlkbmlnaHRCU0QgVmludW0iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2NgorbXNnaWQgIkNlcGggSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY3Cittc2dpZCAiQ2VwaCBFbmNyeXB0ZWQgSm91cm5hbCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4Cittc2dpZCAiQ2VwaCBPU0QiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2OQorbXNnaWQgIkNlcGggY3J5cHQgT1NEIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzAKK21zZ2lkICJDZXBoIGRpc2sgaW4gY3JlYXRpb24iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MQorbXNnaWQgIkNlcGggY3J5cHQgZGlzayBpbiBjcmVhdGlvbiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc1CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBEaWFnbm9zdGljIgorbXNnc3RyICJDb21wYXEg6Ki65pa3IgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2CisjLCBmdXp6eQorbXNnaWQgIlZNd2FyZSBWaXJ0dWFsIFNBTiIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzcKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFZpcnN0byIKK21zZ3N0ciAiVk13YXJlIFZNRlMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzgKKyMsIGZ1enp5Cittc2dpZCAiVk13YXJlIFJlc2VydmVkIgorbXNnc3RyICJTdW5PUyDkv53nlZnljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiT3BlbkJTRCBkYXRhIgorbXNnc3RyICJGcmVlQlNEIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIlFOWDYgZmlsZSBzeXN0ZW0iCittc2dzdHIgIuaqlOahiOezu+e1seWei+aFiyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI4NworIywgZnV6enkKK21zZ2lkICJQbGFuIDkgcGFydGl0aW9uIgorbXNnc3RyICLliKrpmaTliIblibIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzo2NjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdQVCBoZWFkZXIiCittc2dzdHIgIumFjee9rui/reS7o+WZqOaZguWkseaVlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc0NAorbXNnaWQgIkZpcnN0IExCQSBzcGVjaWZpZWQgYnkgc2NyaXB0IGlzIG91dCBvZiByYW5nZS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjc1NgorbXNnaWQgIkxhc3QgTEJBIHNwZWNpZmllZCBieSBzY3JpcHQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6ODk1CisjLCBjLWZvcm1hdAorbXNnaWQgIkdQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKCU8UFJJdTY0PiAhPSAlPFBSSXU2ND4pIHdpbGwgYmUgY29ycmVjdGVkIGJ5IHdyaXRlLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6OTE3CisjLCBmdXp6eQorbXNnaWQgImdwdDogc3RhdCgpIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpzdGF0IOWkseaVlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjkyNworIywgYy1mb3JtYXQKK21zZ2lkICJncHQ6IGNhbm5vdCBoYW5kbGUgZmlsZXMgd2l0aCBtb2RlICVvIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMTkxCittc2dpZCAiR1BUIEhlYWRlciIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTE5NgorbXNnaWQgIkdQVCBFbnRyaWVzIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjI4CisjLCBmdXp6eQorbXNnaWQgIkZpcnN0IExCQSIKK21zZ3N0ciAi6LW35YidICVzIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTIzMworIywgZnV6enkKK21zZ2lkICJMYXN0IExCQSIKK21zZ3N0ciAiIOacgOW+jOS4gOethiAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBMQkEgKExvZ2ljYWwgQmxvY2sgQWRkcmVzcykgb2YgdGhlIGJhY2t1cCBHUFQgaGVhZGVyLgorIzogbGliZmRpc2svc3JjL2dwdC5jOjEyMzkKK21zZ2lkICJBbHRlcm5hdGl2ZSBMQkEiCittc2dzdHIgIiIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBzdGFydCBvZiB0aGUgYXJyYXkgb2YgcGFydGl0aW9uIGVudHJpZXMuCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTI0NQorIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gZW50cmllcyBMQkEiCittc2dzdHIgIuWIhuWJsuWNgCAoYS0lYynvvJoiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxMjUwCisjLCBmdXp6eQorbXNnaWQgIkFsbG9jYXRlZCBwYXJ0aXRpb24gZW50cmllcyIKK21zZ3N0ciAi5bey6YG45YiG5Ymy5Y2AICVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxNTk1Cittc2dpZCAiVGhlIGJhY2t1cCBHUFQgdGFibGUgaXMgY29ycnVwdCwgYnV0IHRoZSBwcmltYXJ5IGFwcGVhcnMgT0ssIHNvIHRoYXQgd2lsbCBiZSB1c2VkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTYwNQorbXNnaWQgIlRoZSBwcmltYXJ5IEdQVCB0YWJsZSBpcyBjb3JydXB0LCBidXQgdGhlIGJhY2t1cCBhcHBlYXJzIE9LLCBzbyB0aGF0IHdpbGwgYmUgdXNlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE2MTgKK21zZ2lkICJUaGUgYmFja3VwIEdQVCB0YWJsZSBpcyBub3Qgb24gdGhlIGVuZCBvZiB0aGUgZGV2aWNlLiBUaGlzIHByb2JsZW0gd2lsbCBiZSBjb3JyZWN0ZWQgYnkgd3JpdGUuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxODAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBHUFQgYXR0cmlidXRlIGJpdCAnJXMnIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE4MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnJXMnIgorbXNnc3RyICLliZbmnpDmuIXllq7jgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoxOTA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gVVVJRCBjaGFuZ2VkIGZyb20gJXMgdG8gJXMuIgorbXNnc3RyICLorormm7TmoLnlvp7jgI4lc+OAj+WIsOOAjiVzIOaZguWkseaVl+OAjyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHRyYW5zbGF0ZSBwYXJ0aXRpb24gbmFtZSwgbmFtZSBub3QgY2hhbmdlZC4iCittc2dzdHIgIuWKoOWFpeWIhuWJsuaZguWkseaVlyIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjE5MTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiBuYW1lIGNoYW5nZWQgZnJvbSAnJXMnIHRvICclLipzJy4iCittc2dzdHIgIuiuiuabtOagueW+nuOAjiVz44CP5Yiw44COJXMg5pmC5aSx5pWX44CPIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk0NQorIywgZnV6enkKK21zZ2lkICJUaGUgc3RhcnQgb2YgdGhlIHBhcnRpdGlvbiB1bmRlcnN0ZXBzIEZpcnN0VXNhYmxlTEJBLiIKK21zZ3N0ciAiIgorIlxuIgorIumWi+apn+WIhuWJsuWNgOS4jeWtmOWcqOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MTk1MgorIywgZnV6enkKK21zZ2lkICJUaGUgZW5kIG9mIHRoZSBwYXJ0aXRpb24gb3ZlcnN0ZXBzIExhc3RVc2FibGVMQkEuIgorbXNnc3RyICLntZDmnZ/nmoTliIblibLlnKjkuK3no4HljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTE0Cittc2dpZCAiVGhlIGRldmljZSBjb250YWlucyBoeWJyaWQgTUJSIC0tIHdyaXRpbmcgR1BUIG9ubHkuIFlvdSBoYXZlIHRvIHN5bmMgdGhlIE1CUiBtYW51YWxseS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNTEKK21zZ2lkICJEaXNrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCBiYWNrdXAgaGVhZGVyLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE1NgorbXNnaWQgIkludmFsaWQgcHJpbWFyeSBoZWFkZXIgQ1JDIGNoZWNrc3VtLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE2MAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBDUkMgY2hlY2tzdW0uIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTY1CisjLCBmdXp6eQorbXNnaWQgIkludmFsaWQgcGFydGl0aW9uIGVudHJ5IGNoZWNrc3VtLiIKK21zZ3N0ciAi54Sh5pWI55qE5YiG5Ymy5Y2A6aGe5Z6L44COJWPjgI9cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzAKK21zZ2lkICJJbnZhbGlkIHByaW1hcnkgaGVhZGVyIExCQSBzYW5pdHkgY2hlY2tzLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjE3NAorbXNnaWQgIkludmFsaWQgYmFja3VwIGhlYWRlciBMQkEgc2FuaXR5IGNoZWNrcy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxNzkKK21zZ2lkICJNeUxCQSBtaXNtYXRjaCB3aXRoIHJlYWwgcG9zaXRpb24gYXQgcHJpbWFyeSBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTgzCittc2dpZCAiTXlMQkEgbWlzbWF0Y2ggd2l0aCByZWFsIHBvc2l0aW9uIGF0IGJhY2t1cCBoZWFkZXIuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMTg4Cittc2dpZCAiRGlzayBpcyB0b28gc21hbGwgdG8gaG9sZCBhbGwgZGF0YS4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIxOTgKK21zZ2lkICJQcmltYXJ5IGFuZCBiYWNrdXAgaGVhZGVyIG1pc21hdGNoLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IG92ZXJsYXBzIHdpdGggcGFydGl0aW9uICV1LiIKK21zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVkIOiIh+WIhuWJsuWNgCAlZCDph43nlorjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBpcyB0b28gYmlnIGZvciB0aGUgZGlzay4iCittc2dzdHIgIuWIhuWJsumHjeeWiuWcqOS5i+S4iuejgeein+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICV1IGVuZHMgYmVmb3JlIGl0IHN0YXJ0cy4iCittc2dzdHIgIuWIhuWJsuWNgOe1kOWwvuWwj+aWvOejgeWNgCAwIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjIyNworbXNnaWQgIk5vIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkhlYWRlciB2ZXJzaW9uOiAlcyIKK21zZ3N0ciAi5YmW5p6Q6Yyv6Kqk77yaJXMiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyMjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2luZyAlenUgb3V0IG9mICV6dSBwYXJ0aXRpb25zLiIKK21zZ3N0ciAi5oCq55Ww55qE77yM5Y+q5pyJICVkIOWIhuWJsuWNgOWumue+qeOAgiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudC4iCittc2dpZF9wbHVyYWwgIkEgdG90YWwgb2YgJWp1IGZyZWUgc2VjdG9ycyBpcyBhdmFpbGFibGUgaW4gJXUgc2VnbWVudHMgKHRoZSBsYXJnZXN0IGlzICVzKS4iCittc2dzdHJbMF0gIuaykuacieWPr+eUqOeahOejgeWNgOWtmOWcqFxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjI0NworIywgYy1mb3JtYXQKK21zZ2lkICIlZCBlcnJvciBkZXRlY3RlZC4iCittc2dpZF9wbHVyYWwgIiVkIGVycm9ycyBkZXRlY3RlZC4iCittc2dzdHJbMF0gIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjIzMjYKKyMsIGZ1enp5Cittc2dpZCAiQWxsIHBhcnRpdGlvbnMgYXJlIGFscmVhZHkgaW4gdXNlLiIKK21zZ3N0ciAi6YCZ5YCL5YiG5Ymy5Y2A5bey5Zyo5L2/55So5LitIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjM4MyBsaWJmZGlzay9zcmMvZ3B0LmM6MjQxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiU2VjdG9yICVqdSBhbHJlYWR5IHVzZWQuIgorbXNnc3RyICLno4HljYAgJWxsdSDlt7LntpPphY3nva5cbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI0NzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG5vdCBjcmVhdGUgcGFydGl0aW9uICV6dSIKK21zZ3N0ciAi5LiN6KaB5paw5aKe5LiA5YCL5YiG5Ymy5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4MgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgbGFzdCB1c2FibGUgR1BUIHNlY3RvciBpcyAlanUsIGJ1dCAlanUgaXMgcmVxdWVzdGVkLiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjQ4OQorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgZmlyc3QgdXNhYmxlIEdQVCBzZWN0b3IgaXMgJWp1LCBidXQgJWp1IGlzIHJlcXVlc3RlZC4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI2MjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgR1BUIGRpc2tsYWJlbCAoR1VJRDogJXMpLiIKK21zZ3N0ciAi5bu656uL5paw55qE5riF56m6IFN1biBkaXNrbGFiZWwiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjQ2Cittc2dpZCAiRW50ZXIgbmV3IGRpc2sgVVVJRCAoaW4gOC00LTQtNC0xMiBmb3JtYXQpIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjUzCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSB5b3VyIFVVSUQuIgorbXNnc3RyICLliZbmnpAgJXMg5pmC5aSx5pWXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGlzayBpZGVudGlmaWVyIGNoYW5nZWQgZnJvbSAlcyB0byAlcy4iCittc2dzdHIgIuiuiuabtOagueW+nuOAjiVz44CP5Yiw44COJXMg5pmC5aSx5pWX44CPIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MjY4NworIywgZnV6enkKK21zZ2lkICJOb3QgZW5vdWdoIHNwYWNlIGZvciBuZXcgcGFydGl0aW9uIHRhYmxlISIKK21zZ3N0ciAi5rKS5pyJ5Y+v55So55qE56OB5Y2A5a2Y5ZyoXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNjk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gIyV6dSBvdXQgb2YgcmFuZ2UgKG1pbmltYWwgc3RhcnQgaXMgJTxQUkl1NjQ+IHNlY3RvcnMpIgorbXNnc3RyICLliIblibLljYAgJXMg5YW35pyJ54Sh5pWI55qE6ZaL5aeL56OB5Y2AIDDjgIJcbiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9uICMlenUgb3V0IG9mIHJhbmdlIChtYXhpbWFsIGVuZCBpcyAlPFBSSXU2ND4gc2VjdG9ycykiCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI3NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRoZSBudW1iZXIgb2YgdGhlIHBhcnRpdGlvbiBoYXMgdG8gYmUgc21hbGxlciB0aGFuICV6dS4iCittc2dzdHIgIuW3suW7uueri+WIhuWJsuWNgOeahOacgOWkp+aVuOmHj1xuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjc2OQorIywgZnV6enkKK21zZ2lkICJDYW5ub3QgYWxsb2NhdGUgbWVtb3J5ISIKK21zZ3N0ciAi6YWN572u6KiY5oa26auU5pmC5aSx5pWX77yaJW0iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyNzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gdGFibGUgbGVuZ3RoIGNoYW5nZWQgZnJvbSAlPFBSSXUzMj4gdG8gJTxQUkl1NjQ+LiIKK21zZ3N0ciAi6K6K5pu05qC55b6e44COJXPjgI/liLDjgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgYXR0cmlidXRlcyBvbiBwYXJ0aXRpb24gJXp1IGNoYW5nZWQgdG8gMHglMDE2PFBSSXg2ND4uIgorbXNnc3RyICLliIblibLljYAgJWQg55qE57O757Wx6aGe5Z6L5pyq6KKr6K6K5pu077yaJXggKCVzKVxuIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk1OAorbXNnaWQgIkVudGVyIEdVSUQgc3BlY2lmaWMgYml0IgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTczCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdG9nZ2xlIHVuc3VwcG9ydGVkIGJpdCAlbHUiCittc2dzdHIgIuaOm+i8ieenu+WLlSAlcyDliLAgJXMg5pmC5aSx5pWXIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk4NgorIywgYy1mb3JtYXQKK21zZ2lkICJUaGUgR1VJRCBzcGVjaWZpYyBiaXQgJWQgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIiIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjI5ODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiVGhlIEdVSUQgc3BlY2lmaWMgYml0ICVkIG9uIHBhcnRpdGlvbiAlenUgaXMgZGlzYWJsZWQgbm93LiIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6Mjk5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlICVzIGZsYWcgb24gcGFydGl0aW9uICV6dSBpcyBlbmFibGVkIG5vdy4iCittc2dzdHIgIuWIhuWJsuWNgCAlZCDnmoTns7vntbHpoZ7lnovmnKrooqvorormm7TvvJoleCAoJXMpXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzoyOTkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgJXMgZmxhZyBvbiBwYXJ0aXRpb24gJXp1IGlzIGRpc2FibGVkIG5vdy4iCittc2dzdHIgIumAmeWAi+WIhuWJsuWNgOeEoeazleS9v+eUqCIKKworIzogbGliZmRpc2svc3JjL2dwdC5jOjMxMzQKKyMsIGZ1enp5Cittc2dpZCAiVHlwZS1VVUlEIgorbXNnc3RyICLpoZ7lnosiCisKKyM6IGxpYmZkaXNrL3NyYy9ncHQuYzozMTM1Cittc2dpZCAiVVVJRCIKK21zZ3N0ciAiIgorCisjOiBsaWJmZGlzay9zcmMvZ3B0LmM6MzEzNiBsb2dpbi11dGlscy9jaGZuLmM6MTU2IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTgKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMjQKK21zZ2lkICJOYW1lIgorbXNnc3RyICLlkI3nqLEiCisKKyM6IGxpYmZkaXNrL3NyYy9wYXJ0aXRpb24uYzo4NDgKKyMsIGZ1enp5Cittc2dpZCAiRnJlZSBzcGFjZSIKK21zZ3N0ciAi5Ymp6aSY56m66ZaTIgorCisjOiBsaWJmZGlzay9zcmMvcGFydGl0aW9uLmM6MTI1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHJlc2l6ZSBwYXJ0aXRpb24gIyV6dS4iCittc2dzdHIgIuiqv+aVtOWkp+Wwj+WIhuWJsuaZguWkseaVlyIKKworIzogbGliZmRpc2svc3JjL3BhcnR0eXBlLmM6MjU4IG1pc2MtdXRpbHMvZmluZG1udC5jOjY1NQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxOTkgbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTcgc2NoZWR1dGlscy9jaHJ0LmM6MjA1CisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc5IHN5cy11dGlscy9od2Nsb2NrLmM6MjY4Cittc2dpZCAidW5rbm93biIKK21zZ3N0ciAi5LiN5piO55qEIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDYKK21zZ2lkICJTR0kgdm9saGRyIgorbXNnc3RyICJTR0kgdm9saGRyIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDcKK21zZ2lkICJTR0kgdHJrcmVwbCIKK21zZ3N0ciAiU0dJIHRya3JlcGwiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0OAorbXNnaWQgIlNHSSBzZWNyZXBsIgorbXNnc3RyICJTR0kgc2VjcmVwbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ5Cittc2dpZCAiU0dJIHJhdyIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUwCittc2dpZCAiU0dJIGJzZCIKK21zZ3N0ciAiU0dJIGJzZCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjUxCittc2dpZCAiU0dJIHN5c3YiCittc2dzdHIgIlNHSSBzeXN2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTIKK21zZ2lkICJTR0kgdm9sdW1lIgorbXNnc3RyICJTR0kgdm9sdW1lIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTMKK21zZ2lkICJTR0kgZWZzIgorbXNnc3RyICJTR0kgZWZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTQKK21zZ2lkICJTR0kgbHZvbCIKK21zZ3N0ciAiU0dJIGx2b2wiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo1NQorbXNnaWQgIlNHSSBybHZvbCIKK21zZ3N0ciAiU0dJIHJsdm9sIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTYKK21zZ2lkICJTR0kgeGZzIgorbXNnc3RyICJTR0kgeGZzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTcKK21zZ2lkICJTR0kgeGZzbG9nIgorbXNnc3RyICJTR0kgeGZzbG9nIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTgKK21zZ2lkICJTR0kgeGx2IgorbXNnc3RyICJTR0kgeGx2IgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NTkKK21zZ2lkICJTR0kgeHZtIgorbXNnc3RyICJTR0kgeHZtIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEgbGliZmRpc2svc3JjL3N1bi5jOjUyCittc2dpZCAiTGludXggbmF0aXZlIgorbXNnc3RyICJMaW51eCBuYXRpdmUiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoxNTgKK21zZ2lkICJTR0kgaW5mbyBjcmVhdGVkIG9uIHNlY29uZCBzZWN0b3IuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAiRGV0ZWN0ZWQgYW4gU0dJIGRpc2tsYWJlbCB3aXRoIHdyb25nIGNoZWNrc3VtLiIKK21zZ3N0ciAi5YG15ris5YiwIHNnaSDno4Hnop/mqJnnsaToiIfpjK/oqqTnmoTnuL3lkozmqqLmn6XnorzjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjI4MSBsaWJmZGlzay9zcmMvc3VuLmM6NzgzCisjLCBmdXp6eQorbXNnaWQgIlBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi5a+m6auU56OB5p+x5pW46YePIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Mjg2IGxpYmZkaXNrL3NyYy9zdW4uYzo3ODgKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmEgc2VjdHMvY3lsIgorbXNnc3RyICLmr4/no4Hmn7HnmoTpoY3lpJbno4HljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzoyOTYKKyMsIGZ1enp5Cittc2dpZCAiQm9vdGZpbGUiCittc2dzdHIgIuaqlOahiCAlcyIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjM5NAorIywgZnV6enkKK21zZ2lkICJJbnZhbGlkIGJvb3RmaWxlISAgVGhlIGJvb3RmaWxlIG11c3QgYmUgYW4gYWJzb2x1dGUgbm9uLXplcm8gcGF0aG5hbWUsIGUuZy4gXCIvdW5peFwiIG9yIFwiL3VuaXguc2F2ZVwiLiIKK21zZ3N0ciAiIgorIlxuIgorIueEoeaViOeahOmWi+apn+aqlOahiO+8gVxuIgorIlx06ZaL5qmf5qqU5qGI5ZCN56ix5b+F6aCI5piv57WV5bCN5LiU6Z2e6Zu26Lev5b6R77yMXG4iCisiXHTkvovlpoLjgIwvdW5peOOAjeaIluOAjC91bml4LnNhdmXjgI3jgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTmFtZSBvZiBib290ZmlsZSBpcyB0b28gbG9uZzogJXp1IGJ5dGUgbWF4aW11bS4iCittc2dpZF9wbHVyYWwgIk5hbWUgb2YgYm9vdGZpbGUgaXMgdG9vIGxvbmc6ICV6dSBieXRlcyBtYXhpbXVtLiIKK21zZ3N0clswXSAiIgorIlxuIgorIlx06ZaL5qmf5qqU5qGI55qE5ZCN56ix5aSq6ZW377ya5pyA5aSn54K6IDE2IOS9jeWFg+e1hOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDA3CisjLCBmdXp6eQorbXNnaWQgIkJvb3RmaWxlIG11c3QgaGF2ZSBhIGZ1bGx5IHF1YWxpZmllZCBwYXRobmFtZS4iCittc2dzdHIgIiIKKyJcbiIKKyJcdOmWi+apn+aqlOahiOW/hemgiOacieWujOWFqOWQiOazleeahOi3r+W+keWQjeeoseOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIkJlIGF3YXJlIHRoYXQgdGhlIGJvb3RmaWxlIGlzIG5vdCBjaGVja2VkIGZvciBleGlzdGVuY2UuICBTR0kncyBkZWZhdWx0IGlzIFwiL3VuaXhcIiwgYW5kIGZvciBiYWNrdXAgXCIvdW5peC5zYXZlXCIuIgorbXNnc3RyICIiCisiXG4iCisiXHTopoHnn6XpgZPvvIzplovmqZ/mqpTmoYjkuKbmnKrmqqLmn6XmmK/lkKblrZjlnKjjgIJcbiIKKyJcdFNHSSDpoJDoqK3ngrrjgIwvdW5peOOAjeWSjOeUqOaWvOWCmeS7veeahOOAjC91bml4LnNhdmXjgI3jgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhlIGN1cnJlbnQgYm9vdCBmaWxlIGlzOiAlcyIKK21zZ3N0ciAiIgorIlxuIgorIuebruWJjeeahOWVn+WLleaqlOahiOeCuu+8miVzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NDAKKyMsIGZ1enp5Cittc2dpZCAiRW50ZXIgb2YgdGhlIG5ldyBib290IGZpbGUiCittc2dzdHIgIuiri+i8uOWFpeaWsOeahOWVn+WLleaqlOahiOWQjeeose+8miIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJCb290IGZpbGUgaXMgdW5jaGFuZ2VkLiIKK21zZ3N0ciAi5ZWf5YuV5qqU5qGI5pyq6K6K5pu0XG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo0NTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJvb3RmaWxlIGhhcyBiZWVuIGNoYW5nZWQgdG8gXCIlc1wiLiIKK21zZ3N0ciAiIgorIlxuIgorIlx06ZaL5qmf5qqU5qGI5bey6K6K5pu054K644CMJXPjgI3jgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjU5NQorIywgZnV6enkKK21zZ2lkICJNb3JlIHRoYW4gb25lIGVudGlyZSBkaXNrIGVudHJ5IHByZXNlbnQuIgorbXNnc3RyICLlrZjlnKjlpJrmlrzkuIDlgIvlrozmlbTno4Hnop/poIXnm67jgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYwMiBsaWJmZGlzay9zcmMvc3VuLmM6NDU5CisjLCBmdXp6eQorbXNnaWQgIk5vIHBhcnRpdGlvbnMgZGVmaW5lZC4iCittc2dzdHIgIueEoeW3suWumue+qeWIhuWJsuWNgFxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjEyCisjLCBmdXp6eQorbXNnaWQgIklSSVggbGlrZXMgaXQgd2hlbiBwYXJ0aXRpb24gMTEgY292ZXJzIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIklSSVgg5YGP5aW95YiG5Ymy5Y2AIDExIOa2teiTi+aVtOWAi+ejgeein+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6NjE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgcGFydGl0aW9uIHNob3VsZCBzdGFydCBhdCBibG9jayAwLCBub3QgYXQgYmxvY2sgJWQuIgorbXNnc3RyICIiCisi5pW05YCL56OB56Kf5YiG5Ymy5Y2A5oeJ6Kmy5aeL5pa85Y2A5aGKIDDvvIxcbiIKKyLogIzpnZ7no4Hnop/ljYDloYogJWTjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjYyNworIywgZnV6enkKK21zZ2lkICJQYXJ0aXRpb24gMTEgc2hvdWxkIGNvdmVyIHRoZSBlbnRpcmUgZGlzay4iCittc2dzdHIgIuWIhuWJsiAxMSDmh4noqbLlsIHlpZfmlbTlgIvno4Hnop/jgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUGFydGl0aW9ucyAlZCBhbmQgJWQgb3ZlcmxhcCBieSAlZCBzZWN0b3IuIgorbXNnaWRfcGx1cmFsICJQYXJ0aXRpb25zICVkIGFuZCAlZCBvdmVybGFwIGJ5ICVkIHNlY3RvcnMuIgorbXNnc3RyWzBdICLliIblibLljYAgJWQg6IiHICVkIOaciSAlZCDloYrno4HljYDnm7jkupLph43nlorjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjY2MiBsaWJmZGlzay9zcmMvc2dpLmM6Njg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbnVzZWQgZ2FwIG9mICU4dSBzZWN0b3I6IHNlY3RvciAlOHUiCittc2dpZF9wbHVyYWwgIlVudXNlZCBnYXAgb2YgJTh1IHNlY3RvcnM6IHNlY3RvcnMgJTh1LSV1IgorbXNnc3RyWzBdICIlOHUg5aGK56OB5Y2A55qE5pyq5L2/55So6ZaT6ZqZIC0g56OB5Y2AICU4dS0ldVxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6Njk3CisjLCBmdXp6eQorbXNnaWQgIlRoZSBib290IHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIiIKKyJcbiIKKyLplovmqZ/liIblibLljYDkuI3lrZjlnKjjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjcwMQorIywgZnV6enkKK21zZ2lkICJUaGUgc3dhcCBwYXJ0aXRpb24gZG9lcyBub3QgZXhpc3QuIgorbXNnc3RyICIiCisiXG4iCisi5Lqk5o+b5YiG5Ymy5Y2A5LiN5a2Y5Zyo44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDUKKyMsIGZ1enp5Cittc2dpZCAiVGhlIHN3YXAgcGFydGl0aW9uIGhhcyBubyBzd2FwIHR5cGUuIgorbXNnc3RyICIiCisiXG4iCisi5Lqk5o+b5YiG5Ymy5Y2A5LiN5YW35pyJ5Lqk5o+b6aGe5Z6L44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3MDgKKyMsIGZ1enp5Cittc2dpZCAiWW91IGhhdmUgY2hvc2VuIGFuIHVudXN1YWwgYm9vdGZpbGUgbmFtZS4iCittc2dzdHIgIlx05oKo6YG45pOH5LqG5LiA5YCL5LiN5bCL5bi455qE5ZWf5YuV5qqU5qGI5ZCN56ix44CCXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo3NTgKKyMsIGZ1enp5Cittc2dpZCAiUGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIgorbXNnc3RyICLliIblibLph43nlorlnKjkuYvkuIrno4Hnop/jgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0MworIywgZnV6enkKK21zZ2lkICJBdHRlbXB0aW5nIHRvIGdlbmVyYXRlIGVudGlyZSBkaXNrIGVudHJ5IGF1dG9tYXRpY2FsbHkuIgorbXNnc3RyICLoqablnJboh6rli5XnlKLnlJ/mlbTlgIvno4Hnop/poIXnm67jgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjg0OAorIywgZnV6enkKK21zZ2lkICJUaGUgZW50aXJlIGRpc2sgaXMgYWxyZWFkeSBjb3ZlcmVkIHdpdGggcGFydGl0aW9ucy4iCittc2dzdHIgIuaVtOWAi+ejgeein+W3sue2k+iiq+WIhuWJsuWNgOaJgOimhuiTi+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODUyCisjLCBmdXp6eQorbXNnaWQgIllvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzay4gRml4IGl0IGZpcnN0ISIKK21zZ3N0ciAi5oKo55qE56OB56Kf5LiK5pyJ6YeN55aK55qE5YiG5Ymy5Y2A77yM6KuL5YWI5L+u5q2j5a6D77yBXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo4NzQgbGliZmRpc2svc3JjL3N1bi5jOjU1NQorIywgYy1mb3JtYXQKK21zZ2lkICJGaXJzdCAlcyIKK21zZ3N0ciAi6LW35YidICVzIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6ODk4IGxpYmZkaXNrL3NyYy9zZ2kuYzo5NDgKKyMsIGZ1enp5Cittc2dpZCAiSXQgaXMgaGlnaGx5IHJlY29tbWVuZGVkIHRoYXQgdGhlIGVsZXZlbnRoIHBhcnRpdGlvbiBjb3ZlcnMgdGhlIGVudGlyZSBkaXNrIGFuZCBpcyBvZiB0eXBlICdTR0kgdm9sdW1lJy4iCittc2dzdHIgIiIKKyLlvLfng4jlu7rorbDnrKzljYHkuIDloYrliIblibLljYBcbiIKKyLopobok4vmlbTlgIvno4Hnop/kuKbkuJTngrrjgIxTR0kg5Y235YaK44CN6aGe5Z6LXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zZ2kuYzo5MTMgbGliZmRpc2svc3JjL3N1bi5jOjY1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTGFzdCAlcyBvciArJXMgb3IgK3NpemV7SyxNLEcsVCxQfSIKK21zZ3N0ciAi5pyA5b6MICUxJHMsICslMiRzIOaIliAr5aSn5bCPe0ssTSxHfSIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjk4NCBsaWJmZGlzay9zcmMvc3VuLmM6MjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJCTEtHRVRTSVpFIGlvY3RsIGZhaWxlZCBvbiAlcy4gVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS4gVGhpcyB2YWx1ZSBtYXkgYmUgdHJ1bmNhdGVkIGZvciBkZXZpY2VzID4gMzMuOCBHQi4iCittc2dzdHIgIiIKKyLorablkYrvvJogQkxLR0VUU0laRSBpb2N0bCDlpLHmlZfnmoTmlrwgJXPjgIIg5L2/55So5bm+5L2V5L2N572u56OB5p+x5YC855qEICVsbHXjgIJcbiIKKyLpgJnlgIvlgLzkuZ/oqLHmnIPooqvmiKrmlrfnlKjmlrzoo53nva4+MzMuOCBHQuOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA1MAorIywgZnV6enkKK21zZ2lkICJDcmVhdGVkIGEgbmV3IFNHSSBkaXNrbGFiZWwuIgorbXNnc3RyICLlu7rnq4vmlrDnmoTmuIXnqbogU3VuIGRpc2tsYWJlbCIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNjkKKyMsIGZ1enp5Cittc2dpZCAiU29ycnksIG9ubHkgZm9yIG5vbi1lbXB0eSBwYXJ0aXRpb25zIHlvdSBjYW4gY2hhbmdlIHRoZSB0YWcuIgorbXNnc3RyICLmirHmrYnvvIzlj6rmnInnlKjmlrzpnZ7nqbrliIblibLljYDmgqjlj6/ku6Xorormm7TmqJnnsaTjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3NnaS5jOjEwNzUKKyMsIGZ1enp5Cittc2dpZCAiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gOSBhcyB2b2x1bWUgaGVhZGVyICgwKSwgYW5kIHBhcnRpdGlvbiAxMSBhcyBlbnRpcmUgdm9sdW1lICg2KSwgYXMgSVJJWCBleHBlY3RzIGl0LiIKK21zZ3N0ciAiIgorIuiAg+aFruS/neeVmeWIhuWJsuWNgCA5IOeCuuWNt+WGiuaomemgrSAoMCnvvIxcbiIKKyLku6Xlj4rliIblibLljYAgMTEg54K65pW05YCL5Y235YaKICg2Ke+8jOWmguWQjCBJUklYIOaJgOmgkOacn+OAglxuIgorIlxuIgorCisjOiBsaWJmZGlzay9zcmMvc2dpLmM6MTA4NAorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwIGlzIG9mIHR5cGUgXCJTR0kgdm9saGRyXCIsIHRoZSBJUklYIHN5c3RlbSB3aWxsIHJlbHkgb24gaXQgdG8gcmV0cmlldmUgZnJvbSBpdHMgZGlyZWN0b3J5IHN0YW5kYWxvbmUgdG9vbHMgbGlrZSBzYXNoIGFuZCBmeC4gT25seSB0aGUgXCJTR0kgdm9sdW1lXCIgZW50aXJlIGRpc2sgc2VjdGlvbiBtYXkgdmlvbGF0ZSB0aGlzLiBBcmUgeW91IHN1cmUgYWJvdXQgdGFnZ2luZyB0aGlzIHBhcnRpdGlvbiBkaWZmZXJlbnRseT8iCittc2dzdHIgIiIKKyLlvLfng4jlu7rorbDkvY3mlrzlgY/np7sgMCDnmoTliIblibLljYBcbiIKKyLpoZ7lnovngrrjgIxTR0kgdm9saGRy44CN77yMSVJJWCDns7vntbHlsIfmnIPkvp3pnaDlroPku6VcbiIKKyLlj5blm57lroPnmoTnm67pjITnjajnq4vlt6XlhbfvvIzoq7jlpoIgc2FzaCDlkowgZnjjgIJcbiIKKyLlj6rmnInjgIxTR0kg5Y235YaK44CN5pW05YCL56OB56Kf5Y2A5q6155qE6Kmx77yM5Lmf6Kix5pyD5bCN5q2k5pyJ5omA5aao5a6z44CCXG4iCisi5aaC5p6c5oKo56K65a6a5bCH6YCZ5YCL5YiG5Ymy5Y2A6LK85LiK5LiN5ZCM55qE5qiZ57Gk77yM5bCx6Ly45YWlIFlFU+OAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MzkKK21zZ2lkICJVbmFzc2lnbmVkIgorbXNnc3RyICLmnKrmjIflrpoiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MQorbXNnaWQgIlN1bk9TIHJvb3QiCittc2dzdHIgIlN1bk9TIOagueWIhuWJsuWNgCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQyCittc2dpZCAiU3VuT1Mgc3dhcCIKK21zZ3N0ciAiU3VuT1Mg5Lqk5o+b5YiG5Ymy5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDMKK21zZ2lkICJTdW5PUyB1c3IiCittc2dzdHIgIlN1bk9TIHVzciDliIblibLljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NAorbXNnaWQgIldob2xlIGRpc2siCittc2dzdHIgIuaVtOmhhuejgeeinyIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ1Cittc2dpZCAiU3VuT1Mgc3RhbmQiCittc2dzdHIgIlN1bk9TIHN0YW5kIOWIhuWJsuWNgCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2Cittc2dpZCAiU3VuT1MgdmFyIgorbXNnc3RyICJTdW5PUyB2YXIg5YiG5Ymy5Y2AIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDcKK21zZ2lkICJTdW5PUyBob21lIgorbXNnc3RyICJTdW5PUyBob21lIOWIhuWJsuWNgCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ4Cittc2dpZCAiU3VuT1MgYWx0IHNlY3RvcnMiCittc2dzdHIgIlN1bk9TIGFsdCDno4HljYAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0OQorbXNnaWQgIlN1bk9TIGNhY2hlZnMiCittc2dzdHIgIlN1bk9TIOW/q+WPluaqlOahiOezu+e1sSIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUwCittc2dpZCAiU3VuT1MgcmVzZXJ2ZWQiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjEzMAorIywgZnV6enkKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgY2hlY2tzdW0uIFByb2JhYmx5IHlvdSdsbCBoYXZlIHRvIHNldCBhbGwgdGhlIHZhbHVlcywgZS5nLiBoZWFkcywgc2VjdG9ycywgY3lsaW5kZXJzIGFuZCBwYXJ0aXRpb25zIG9yIGZvcmNlIGEgZnJlc2ggbGFiZWwgKHMgY29tbWFuZCBpbiBtYWluIG1lbnUpIgorbXNnc3RyICIiCisi5YG15ris5Yiw5YW35pyJ6Yyv6Kqk57i95ZKM5qqi5p+l56K855qEIHN1biDno4Hnop/mqJnnsaTjgIJcbiIKKyLkuZ/oqLHmgqjlv4XpoIjoqK3lrprmiYDmnInnmoTlgLzvvIxcbiIKKyLkvovlpoLvvJrno4HpoK3jgIHno4HljYDjgIHno4Hmn7HlkozliIblibLljYDvvIxcbiIKKyLmiJbmmK/lvLfliLboqK3lrprmlrDnmoTmqJnnsaQgKOS9v+eUqOS4u+mBuOWWrueahCBzIOWRveS7pClcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZlcnNpb24gWyVkXS4iCittc2dzdHIgIuWBtea4rOWIsOWFt+aciemMr+iqpOeJiOacrCBbMHglMDh4XSDnmoQgc3VuIOejgeein+aomeexpOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJEZXRlY3RlZCBzdW4gZGlza2xhYmVsIHdpdGggd3JvbmcgdnRvYy5zYW5pdHkgWzB4JTA4eF0uIgorbXNnc3RyICLlgbXmuKzliLDlhbfmnInkuI3lrozmlbTmgKcgWzB4JTA4eF0g55qEIHN1biDno4Hnop/mqJnnsaTjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRGV0ZWN0ZWQgc3VuIGRpc2tsYWJlbCB3aXRoIHdyb25nIHZ0b2MubnBhcnRzIFsldV0uIgorbXNnc3RyICLlgbXmuKzliLDlhbfmnInpjK/oqqTliIblibLljYDmlbggWyV1XSDnmoQgc3VuIOejgeein+aomeexpOOAglxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTYyCisjLCBmdXp6eQorbXNnaWQgIldhcm5pbmc6IFdyb25nIHZhbHVlcyBuZWVkIHRvIGJlIGZpeGVkIHVwIGFuZCB3aWxsIGJlIGNvcnJlY3RlZCBieSB3KHJpdGUpIgorbXNnc3RyICLorablkYrvvJrpjK/oqqTlgLzpnIDopoHntpPnlLEgdyhyaXRlKSDogIzkv67mraNcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjE4NworbXNnaWQgIkhlYWRzIgorbXNnc3RyICLno4HpoK0iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxOTIKK21zZ2lkICJTZWN0b3JzL3RyYWNrIgorbXNnc3RyICLno4HljYAv56OB6LuMIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIkNyZWF0ZWQgYSBuZXcgU3VuIGRpc2tsYWJlbC4iCittc2dzdHIgIuW7uueri+aWsOeahOa4heepuiBTdW4gZGlza2xhYmVsIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NDE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQYXJ0aXRpb24gJXUgZG9lc24ndCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICLliIblibLljYAgJWQg5Lim6Z2e57WQ5p2f5pa856OB5p+x6YKK55WMXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0MzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlBhcnRpdGlvbiAldSBvdmVybGFwcyB3aXRoIG90aGVycyBpbiBzZWN0b3JzICV1LSV1LiIKK21zZ3N0ciAi5YiG5Ymy5Y2AICVkIOiIhyAlZC0lZCDkuK3nmoTlhbbku5bno4HljYDph43nlopcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjQ2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgMC0ldS4iCittc2dzdHIgIuacquS9v+eUqOeahOmWk+mamSAtIOejgeWNgCAwLSVkXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo0NjYgbGliZmRpc2svc3JjL3N1bi5jOjQ3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVW51c2VkIGdhcCAtIHNlY3RvcnMgJXUtJXUuIgorbXNnc3RyICLmnKrkvb/nlKjnmoTplpPpmpkgLSDno4HljYAgJWQtJWRcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjUzNAorIywgZnV6enkKK21zZ2lkICJPdGhlciBwYXJ0aXRpb25zIGFscmVhZHkgY292ZXIgdGhlIHdob2xlIGRpc2suIERlbGV0ZSBzb21lL3NocmluayB0aGVtIGJlZm9yZSByZXRyeS4iCittc2dzdHIgIiIKKyLlhbbku5bliIblibLljYDlt7LntpPmtrXok4vmlbTlgIvno4Hnop/jgIJcbiIKKyLoq4vmlrzph43oqabkuYvliY3liKrpmaTpg6jliIbmiJbnuK7muJvlroPlgJHjgIJcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU1MQorIywgZnV6enkKK21zZ2lkICJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgdGhpcmQgcGFydGl0aW9uIGNvdmVycyB0aGUgd2hvbGUgZGlzayBhbmQgaXMgb2YgdHlwZSBgV2hvbGUgZGlzayciCittc2dzdHIgIiIKKyLlvLfng4jlu7rorbDnrKzkuInliIblibLljYDljIXmi6xcbiIKKyLmlbTlgIvno4Hnop/kuKbkuJTngrrjgIzmlbTpoYbno4Hnop/jgI3poZ7lnotcbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjU5MworIywgYy1mb3JtYXQKK21zZ2lkICJBbGlnbmluZyB0aGUgZmlyc3Qgc2VjdG9yIGZyb20gJXUgdG8gJXUgdG8gYmUgb24gY3lsaW5kZXIgYm91bmRhcnkuIgorbXNnc3RyICIiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo2MjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNlY3RvciAlZCBpcyBhbHJlYWR5IGFsbG9jYXRlZCIKK21zZ3N0ciAi56OB5Y2AICVkIOW3sue2k+iiq+mFjee9rlxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6Njk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiWW91IGhhdmVuJ3QgY292ZXJlZCB0aGUgd2hvbGUgZGlzayB3aXRoIHRoZSAzcmQgcGFydGl0aW9uLCBidXQgeW91ciB2YWx1ZVxuIgorIiVsdSAlcyBjb3ZlcnMgc29tZSBvdGhlciBwYXJ0aXRpb24uIFlvdXIgZW50cnkgaGFzIGJlZW4gY2hhbmdlZFxuIgorInRvICVsdSAlcyIKK21zZ3N0ciAiIgorIuaCqOacquS7peesrOS4ieWIhuWJsuWNgOa2teiTi+aVtOWAi+ejgeein++8jOS9huaYr+aCqOioreWumueahOWAvFxuIgorIiVkICVzIOa2teiTi+afkOS6m+WFtuS7lueahOWIhuWJsuWNgOOAguaCqOeahOi8uOWFpeWAvOW3suiuiuabtFxuIgorIueCuiAlZCAlc1xuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJZiB5b3Ugd2FudCB0byBtYWludGFpbiBTdW5PUy9Tb2xhcmlzIGNvbXBhdGliaWxpdHksIGNvbnNpZGVyIGxlYXZpbmcgdGhpcyBwYXJ0aXRpb24gYXMgV2hvbGUgZGlzayAoNSksIHN0YXJ0aW5nIGF0IDAsIHdpdGggJXUgc2VjdG9ycyIKK21zZ3N0ciAiIgorIuWmguaenOaCqOimgee2reaMgSBTdW5PUy9Tb2xhcmlzIOeahOebuOWuueaAp++8jOiri+iAg+aFruS/neaMgemAmeWAi1xuIgorIuWIhuWJsuWNgOeCuuaVtOWAi+ejgeeinyAoNSnvvIzplovlp4vmlrwgMCwg5YW35YKZICV1IOejgeWNgFxuIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6NzYzCisjLCBmdXp6eQorbXNnaWQgIkxhYmVsIElEIgorbXNnc3RyICLmqJnnsaTvvJolLipzXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo3NjgKKyMsIGZ1enp5Cittc2dpZCAiVm9sdW1lIElEIgorbXNnc3RyICLljbflhorvvJo8JS02cz5cbiIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjc3OAorIywgZnV6enkKK21zZ2lkICJBbHRlcm5hdGUgY3lsaW5kZXJzIgorbXNnc3RyICLmm7/ku6Pno4Hmn7Hmlbjph48iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo4ODQKK21zZ2lkICJOdW1iZXIgb2YgYWx0ZXJuYXRlIGN5bGluZGVycyIKK21zZ3N0ciAi5pu/5Luj56OB5p+x5pW46YePIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTA5Cittc2dpZCAiRXh0cmEgc2VjdG9ycyBwZXIgY3lsaW5kZXIiCittc2dzdHIgIuavj+ejgeafseeahOmhjeWkluejgeWNgCIKKworIzogbGliZmRpc2svc3JjL3N1bi5jOjkzMworbXNnaWQgIkludGVybGVhdmUgZmFjdG9yIgorbXNnc3RyICLkuqTpjK/lm6DlrZAiCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzo5NTcKK21zZ2lkICJSb3RhdGlvbiBzcGVlZCAocnBtKSIKK21zZ3N0ciAi5peL6L2J6YCf5bqmIChycG0pIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6OTgxCittc2dpZCAiTnVtYmVyIG9mIHBoeXNpY2FsIGN5bGluZGVycyIKK21zZ3N0ciAi5a+m6auU56OB5p+x5pW46YePIgorCisjOiBsaWJmZGlzay9zcmMvc3VuLmM6MTA0NgorIywgZnV6enkKK21zZ2lkICIiCisiQ29uc2lkZXIgbGVhdmluZyBwYXJ0aXRpb24gMyBhcyBXaG9sZSBkaXNrICg1KSxcbiIKKyJhcyBTdW5PUy9Tb2xhcmlzIGV4cGVjdHMgaXQgYW5kIGV2ZW4gTGludXggbGlrZXMgaXQuXG4iCittc2dzdHIgIiIKKyLogIPmha7kv53nlZnliIblibLljYAgMyDngrrmlbTlgIvno4Hnop8gKDUp77yMXG4iCisiU3VuT1MvU29sYXJpcyDmmK/lpoLmraTpoJDmnJ/vvI7nlJroh7MgTGludXgg5Lmf5Zac5q2h5a6D44CCXG4iCisiXG4iCisKKyM6IGxpYmZkaXNrL3NyYy9zdW4uYzoxMDU3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJJdCBpcyBoaWdobHkgcmVjb21tZW5kZWQgdGhhdCB0aGUgcGFydGl0aW9uIGF0IG9mZnNldCAwXG4iCisiaXMgVUZTLCBFWFQyRlMgZmlsZXN5c3RlbSBvciBTdW5PUyBzd2FwLiBQdXR0aW5nIExpbnV4IHN3YXBcbiIKKyJ0aGVyZSBtYXkgZGVzdHJveSB5b3VyIHBhcnRpdGlvbiB0YWJsZSBhbmQgYm9vdGJsb2NrLlxuIgorIkFyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byB0YWcgdGhlIHBhcnRpdGlvbiBhcyBMaW51eCBzd2FwPyIKK21zZ3N0ciAiIgorIuW8t+eDiOW7uuitsOS9jeaWvOWBj+enu+WAvCAwIOeahOWIhuWJsuWNgFxuIgorIueCuiBVRlPjgIFFWFQyRlMg5qqU5qGI57O757Wx5oiWIFN1bk9TIOS6pOaPm+WNgOOAguWwhyBMaW51eCDkuqTmj5vljYDmlL7lnKhcbiIKKyLpgqPoo6HkuZ/oqLHmnIPpirfmr4DmgqjnmoTliIblibLooajlkozllZ/li5XljYDloYrjgIJcbiIKKyLlpoLmnpzmgqjlvojnorrlrprmg7PopoHoqbLliIblibLljYDooqtcbiIKKyLmqJnnpLrngrogODIgKExpbnV4IOS6pOaPm+WNgCkg5bCx6Ly45YWlIFlFU++8miIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHQuYzoyMzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVyYXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAi6ZaL5ZWf5aSx5pWX77yaJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZmFpbGVkIHRvIGFwcGx5IHByb3BhZ2F0aW9uIGZsYWdzIgorbXNnc3RyICLpmYTliqDpgbjpoIXmmYLlpLHmlZciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiV0FSTklORzogZGV2aWNlIHdyaXRlLXByb3RlY3RlZCwgbW91bnRlZCByZWFkLW9ubHkiCittc2dzdHIgIiVzIOiiq+mYsuatouWvq+WFpeeahO+8jOaOm+i8ieWUr+iugCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzU5CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiBwZXJtaXR0ZWQgZm9yIHJvb3Qgb25seSIKK21zZ3N0ciAiIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGFscmVhZHkgbW91bnRlZCIKK21zZ3N0ciAiJXMg5bey57aT5o6b6LyJIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgaW4gJXMiCittc2dzdHIgIuaJvuS4jeWIsCAlcyDlnKjkuK0gJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBtb3VudCBwb2ludCBpbiAlcyIKK21zZ3N0ciAi5om+5LiN5YiwIG1vdW50cG9pbnQgJXMg5Zyo5LitICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzNzUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgbW91bnQgc291cmNlICVzIGluICVzIgorbXNnc3RyICLmib7kuI3liLDmjpvovInkvobmupAgJXMg5Zyo5LitICVzIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzODAKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZCBvbiAlczsgdXNlIC10IDx0eXBlPiBvciB3aXBlZnMoOCkiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZGV0ZXJtaW5lIGZpbGVzeXN0ZW0gdHlwZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5bpgJ/luqYiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTM4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gZmlsZXN5c3RlbSB0eXBlIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5Lu75L2V5qqU5ZCNIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjEzOTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IGZpbmQgJXMiCittc2dzdHIgIuaJvuS4jeWIsCAlcyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxMzk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJubyBtb3VudCBzb3VyY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLmspLmnIkgbW91bnRwb2ludCDmjIflrprnmoTjgIIiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnM6ICVtIgorbXNnc3RyICLliZbmnpDmjpvovInpgbjpoIXmmYLlpLHmlZciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIuWJluaekOaOm+i8iemBuOmgheaZguWkseaVlyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgZm9yICVzIgorbXNnc3RyICIlc++8mueEoeazleioreWumui/tOWciOijnee9riIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yICVzIgorbXNnc3RyICIlcyDkuI3mmK8gbHAg6KOd572uIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MTQgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibG9ja2luZyBmYWlsZWQiCittc2dzdHIgIumXnOmWiSAlcyDlpLHmlZciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQxNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAi5o6b6LyJ5aSx5pWXIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE0MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZpbGVzeXN0ZW0gd2FzIG1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXPvvJrmqpTmoYjns7vntbEgdW1vdW50ZWTvvIzkvYbmmK/mjpvovIkgKDgpIOWkseaVlyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyBtb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiVz77ya5qqU5qGI57O757WxIHVtb3VudGVk77yM5L2G5piv5o6b6LyJICg4KSDlpLHmlZciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ1MCBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAi5o6b6LyJ6bueICVzIOS4pumdnuebrumMhCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDUyIGxvZ2luLXV0aWxzL25ld2dycC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQiCittc2dzdHIgIuasiumZkOiiq+aLkiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCittc2dzdHIgIuW/hemgiOaYr+ezu+e1seeuoeeQhuiAheS7peS9v+eUqOaOm+i8iSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCBwb2ludCBpcyBidXN5IgorbXNnc3RyICJtb3VudO+8miVzIOW/meeijOS4rSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCittc2dzdHIgIm1vdW5077yaJXMg5bey57aT5o6b6LyJ5YiwICVzXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBtb3VudGVkIG9yIG1vdW50IHBvaW50IGJ1c3kiCittc2dzdHIgIiVzIOW3sue2k+aOm+i8ieeahOaIliAlcyDlv5nnoowiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuaOm+i8iem7niAlcyDkuI3lrZjlnKgiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTQ5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQgcG9pbnQgaXMgYSBzeW1ib2xpYyBsaW5rIHRvIG5vd2hlcmUiCittc2dzdHIgIuaOm+i8iem7niAlcyDmmK/nrKbomZ/pgKPntZDliLAgbm93aGVyZSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNDk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzcGVjaWFsIGRldmljZSAlcyBkb2VzIG5vdCBleGlzdCIKK21zZ3N0ciAi54m55q6K6KOd572uICVzIOS4jeWtmOWcqCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxNgorIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNjAwIGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibW91bnQoMikgc3lzdGVtIGNhbGwgZmFpbGVkOiAlbSIKK21zZ3N0ciAi5o6b6LyJICgyKSDlpLHmlZciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTUxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic3BlY2lhbCBkZXZpY2UgJXMgZG9lcyBub3QgZXhpc3QgKGEgcGF0aCBwcmVmaXggaXMgbm90IGEgZGlyZWN0b3J5KSIKK21zZ3N0ciAi54m55q6K6KOd572uICVzIOS4jeWtmOWcqCAoYSDot6/lvpHliY3ntrTkuKbpnZ7nm67pjIQpIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50IHBvaW50IG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCittc2dzdHIgIuaOm+i8ie+8miVzIOeEoeazleaOm+i8ieeahOaIluS4jeeVtueahOmBuOmghSIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJub3QgbW91bnQgcG9pbnQgb3IgYmFkIG9wdGlvbiIKK21zZ3N0ciAiJXMg5LiN5pivIG1vdW50cG9pbnQg5oiW5LiN55W255qE6YG46aCFIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAiYmFkIG9wdGlvbjsgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIiIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTMzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgb3B0aW9uOyBmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodCBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtIgorbXNnc3RyICIiCisiICAgICAgICjlsI3mlrzoqLHlpJrmqpTmoYjns7vntbEgKOS+i+WmgiBuZnPvvIxjaWZzKSDmgqjkuZ/oqLFcbiIKKyIgICAgICAg6ZyA6KaBIC9zYmluL21vdW50Ljx0eXBlPiDovJTliqnnqIvlvI8pIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1MzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLCBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKK21zZ3N0ciAiIgorIumMr+iqpOeahCBmcyDlnovmhYvvvIzkuI3nlbbnmoTpgbjpoIXvvIzkuI3nlbbnmoTotoXljYDloYrmlrwgJXPvvIxcbiIKKyIgICAgICAg57y65bCR55qE57eo56K86aCB5oiW6LyU5Yqp56iL5byP56iL5byP77yM5oiW5YW25LuW6Yyv6KqkIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDQKKyMsIGMtZm9ybWF0Cittc2dpZCAibW91bnQgdGFibGUgZnVsbCIKK21zZ3N0ciAi5o6b6LyJ6KGo5bey5ru/IgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHJlYWQgc3VwZXJibG9jayBvbiAlcyIKK21zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5botoXljYDloYoiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKK21zZ3N0ciAi5LiN5piO5qqU5qGI57O757Wx5Z6L5oWL44COJXPjgI8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIuS4jeaYjuaqlOahiOezu+e1seWei+aFi+OAjiVz44CPIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1NjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQoMikgZmFpbHM/IgorbXNnc3RyICIlcyDkuKbpnZ7ljYDloYroo53nva7vvIzogIxzdGF0ICgyKSDlpLHmlZfvvJ8iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2U7IG1heWJlIFwibW9kcHJvYmUgZHJpdmVyXCIgaXMgbmVjZXNzYXJ5IgorbXNnc3RyICIiCisi5YWn5qC45LiN6K2Y5YilICVzIOWBmueCuuWNgOWhiuijnee9rlxuIgorIiAgICAgICAo5Lmf6Kix44CObW9kcHJvYmUg6amF5YuV56iL5byP44CPPykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlOyB0cnkgXCItbyBsb29wXCIiCittc2dzdHIgIiVzIOS4pumdnuWNgOWhiuijnee9riAo5Lmf6Kix5ZiX6Kmm44COLW8g6L+05ZyI44CPPykiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIgJXMg5Lim6Z2e5Y2A5aGK6KOd572uIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIHZhbGlkIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiJXMg5Lim6Z2e5pyJ5pWI5Y2A5aGK6KOd572uIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF9tb3VudC5jOjE1OTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBtb3VudCAlcyByZWFkLW9ubHkiCittc2dzdHIgIueEoeazleaOm+i8iSAlcyDllK/oroAiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTU5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgd3JpdGUtcHJvdGVjdGVkIGJ1dCBleHBsaWNpdCByZWFkLXdyaXRlIG1vZGUgcmVxdWVzdGVkIgorbXNnc3RyICIlcyDooqvpmLLmraLlr6vlhaXnmoTkvYbmmK/mmI7norrnmoTjgI4td+OAj+aXl+aomee1puWumueahCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgcmVtb3VudCAlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCittc2dzdHIgIueEoeazlSByZW1vdW50ICVzIOWPr+iugOWPr+Wvq++8jOiiq+mYsuatouWvq+WFpeeahCIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfbW91bnQuYzoxNTk3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiaW5kICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg5aSx5pWX44CCXG4iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm8gbWVkaXVtIGZvdW5kIG9uICVzIgorbXNnc3RyICLmib7kuI3liLDku7vkvZXkuK3mlrwgJXMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X21vdW50LmM6MTYxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1vdW50OyBwcm9iYWJseSBjb3JydXB0ZWQgZmlsZXN5c3RlbSBvbiAlcyIKK21zZ3N0ciAi5bCH5LiN5pyD6Kmm6JGX5pa844CMJXPjgI3oo73kvZzmqpTmoYjns7vntbEiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjEwNzIgbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibm90IG1vdW50ZWQiCittc2dzdHIgIiVz77ya54Sh5rOV5o6b6LyJIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDgwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bW91bnQgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXPvvJp1bW91bnQg5aSx5pWXIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMDg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWxlc3lzdGVtIHdhcyB1bm1vdW50ZWQsIGJ1dCBmYWlsZWQgdG8gdXBkYXRlIHVzZXJzcGFjZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAiJXPvvJrmqpTmoYjns7vntbEgdW1vdW50ZWTvvIzkvYbmmK/mjpvovIkgKDgpIOWkseaVlyIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZXN5c3RlbSB3YXMgdW5tb3VudGVkLCBidXQgYW55IHN1YnNlcXVlbnQgb3BlcmF0aW9uIGZhaWxlZDogJW0iCittc2dzdHIgIiVz77ya5qqU5qGI57O757WxIHVtb3VudGVk77yM5L2G5piv5o6b6LyJICg4KSDlpLHmlZciCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgYmxvY2sgZGV2aWNlIgorbXNnc3RyICIlc++8mueEoeaViOeahOWNgOWhiuijnee9riIKKworIzogbGlibW91bnQvc3JjL2NvbnRleHRfdW1vdW50LmM6MTExMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3Qgd3JpdGUgc3VwZXJibG9jayIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaXotoXljYDloYoiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRhcmdldCBpcyBidXN5IgorbXNnc3RyICIlcyDlv5nnoozkuK0iCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm5vIG1vdW50IHBvaW50IHNwZWNpZmllZCIKK21zZ3N0ciAi5rKS5pyJIG1vdW50cG9pbnQg5oyH5a6a55qE44CCIgorCisjOiBsaWJtb3VudC9zcmMvY29udGV4dF91bW91bnQuYzoxMTIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtdXN0IGJlIHN1cGVydXNlciB0byB1bm1vdW50IgorbXNnc3RyICIlc++8muW/hemgiOaYr+ezu+e1seeuoeeQhuiAheWIsCB1bW91bnQiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJsb2NrIGRldmljZXMgYXJlIG5vdCBwZXJtaXR0ZWQgb24gZmlsZXN5c3RlbSIKK21zZ3N0ciAiJXPvvJrljYDloYroo53nva7nhKHms5XlhYHoqLHnmoTmlrwgZnMiCisKKyM6IGxpYm1vdW50L3NyYy9jb250ZXh0X3Vtb3VudC5jOjExMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVtb3VudCgyKSBzeXN0ZW0gY2FsbCBmYWlsZWQ6ICVtIgorbXNnc3RyICLmjpvovIkgKDIpIOWkseaVlyIKKworIzogbGliL3BhZ2VyLmM6MTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ3YWl0cGlkIGZhaWxlZCAoJXMpIgorbXNnc3RyICJ3YWl0cGlkIOWkseaVlyAoJXMpIgorCisjOiBsaWIvcGF0aC5jOjIzOSBzeXMtdXRpbHMvbHNjcHUuYzoxNzYwCittc2dpZCAiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IgorbXNnc3RyICJjYWxsb2NhdGUgY3B1IOmbhuWQiOaZguWkseaVlyIKKworIzogbGliL3BhdGguYzoyNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdCAlcyIKK21zZ3N0ciAi5YmW5p6QIENQVSDmuIXllq4gJXMg5pmC5aSx5pWXIgorCisjOiBsaWIvcGF0aC5jOjI0NgorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgQ1BVIG1hc2sgJXMiCittc2dzdHIgIuWJluaekCBDUFUg6YGu572pICVzIOaZguWkseaVlyIKKworIzogbGliL3BseW1vdXRoLWN0cmwuYzo3MworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBVTklYIHNvY2tldCIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjc5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgb3B0aW9uIGZvciBVTklYIHNvY2tldCIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a6YC+5pmC55So5pa8ICVzIgorCisjOiBsaWIvcGx5bW91dGgtY3RybC5jOjkwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjb25uZWN0IG9uIFVOSVggc29ja2V0IgorbXNnc3RyICLnhKHms5XplovllZ8gJXMiCisKKyM6IGxpYi9wbHltb3V0aC1jdHJsLmM6MTI4CisjLCBjLWZvcm1hdAorbXNnaWQgInRoZSBwbHltb3V0aCByZXF1ZXN0ICVjIGlzIG5vdCBpbXBsZW1lbnRlZCIKK21zZ3N0ciAiIgorCisjOiBsaWIvcmFuZHV0aWxzLmM6MTg2Cittc2dpZCAiZ2V0cmFuZG9tKCkgZnVuY3Rpb24iCittc2dzdHIgIiIKKworIzogbGliL3JhbmR1dGlscy5jOjE5OQorbXNnaWQgImxpYmMgcHNldWRvLXJhbmRvbSBmdW5jdGlvbnMiCittc2dzdHIgIiIKKworIzogbGliL3N3YXBwcm9iZXIuYzoxNyBsaWIvc3dhcHByb2Jlci5jOjMwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gcHJvYmUgZGV2aWNlIgorbXNnc3RyICIlc++8mueEoeazleaOouafpeijnee9riIKKworIzogbGliL3N3YXBwcm9iZXIuYzozMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGFtYmlndW91cyBwcm9iaW5nIHJlc3VsdDsgdXNlIHdpcGVmcyg4KSIKK21zZ3N0ciAiJXPvvJrmjqLmn6XntZDmnpznlKLnlJ/nn5vnm77vvIzkvb/nlKggd2lwZWZzKDgpIgorCisjOiBsaWIvc3dhcHByb2Jlci5jOjM0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSB2YWxpZCBzd2FwIHBhcnRpdGlvbiIKK21zZ3N0ciAiJXPvvJrkuI3mmK/mnInmlYjnmoTkuqTmj5vliIblibLljYAiCisKKyM6IGxpYi9zd2FwcHJvYmVyLmM6NDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuc3VwcG9ydGVkIHN3YXAgdmVyc2lvbiAnJXMnIgorbXNnc3RyICIlc++8muS4jeWPl+aUr+aPtOeahOS6pOaPm+eJiOacrOOAjCVz44CNIgorCisjOiBsaWIvdGltZXV0aWxzLmM6NDU5Cittc2dpZCAiZm9ybWF0X2lzb190aW1lOiBidWZmZXIgb3ZlcmZsb3cuIgorbXNnc3RyICIiCisKKyM6IGxpYi90aW1ldXRpbHMuYzo0NzcgbGliL3RpbWV1dGlscy5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSAlbGQgaXMgb3V0IG9mIHJhbmdlLiIKK21zZ3N0ciAi5pW45YC86LaF5Ye656+E5ZyN44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo5NiBsb2dpbi11dGlscy9jaHNoLmM6NzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzx1c2VybmFtZT5dXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBb5L2/55So6ICF5ZCN56ixXVxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6OTkKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHlvdXIgZmluZ2VyIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICLkv67mlLkgJXMg55qEIGZpbmdlciDos4foqIrjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZnVsbC1uYW1lIDxmdWxsLW5hbWU+ICByZWFsIG5hbWVcbiIKK21zZ3N0ciAiIC1mLCAtLWZ1bGwtbmFtZSA8ZnVsbC1uYW1lPiAg55yf5a+m5ZCN56ixXG4iCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAgb2ZmaWNlIG51bWJlclxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICDovqblhazlrqTmlbjlrZdcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEwNAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tb2ZmaWNlLXBob25lIDxwaG9uZT4gICBvZmZpY2UgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtcCwgLS1vZmZpY2UtcGhvbmUgPHBob25lPiAgIOi+puWFrOWupOmbu+ipseiZn+eivFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTA1CisjLCBmdXp6eQorbXNnaWQgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIGhvbWUgcGhvbmUgbnVtYmVyXG4iCittc2dzdHIgIiAtaCwgLS1ob21lLXBob25lIDxwaG9uZT4gICAgIOWAi+S6uuizh+aWmeWkvumbu+ipseiZn+eivFxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmaWVsZCAlcyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi5qyE5L2NICVzIOWkqumVtyIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjEyNyBsb2dpbi11dGlscy9jaHNoLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBoYXMgaWxsZWdhbCBjaGFyYWN0ZXJzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNTYgbG9naW4tdXRpbHMvY2hmbi5jOjE2MiBsb2dpbi11dGlscy9jaGZuLmM6MTY4CisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgImxvZ2luLmRlZnMgZm9yYmlkcyBzZXR0aW5nICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjIgbG9naW4tdXRpbHMvY2hmbi5jOjE2NCBsb2dpbi11dGlscy9jaGZuLmM6MzI2Cittc2dpZCAiT2ZmaWNlIgorbXNnc3RyICLovqblhazlrqQiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNjggbG9naW4tdXRpbHMvY2hmbi5jOjE3MCBsb2dpbi11dGlscy9jaGZuLmM6MzI4Cittc2dpZCAiT2ZmaWNlIFBob25lIgorbXNnc3RyICLovqblhazlrqTpm7voqbEiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzoxNzQgbG9naW4tdXRpbHMvY2hmbi5jOjE3NiBsb2dpbi11dGlscy9jaGZuLmM6MzMwCittc2dpZCAiSG9tZSBQaG9uZSIKK21zZ3N0ciAi5L2P5a626Zu76KmxIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MTk0IGxvZ2luLXV0aWxzL2Noc2guYzoxODcKK21zZ2lkICJjYW5ub3QgaGFuZGxlIG11bHRpcGxlIHVzZXJuYW1lcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6MjQ4CisjLCBmdXp6eQorbXNnaWQgIkFib3J0ZWQuIgorbXNnc3RyICLmlL7mo4TjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgaGFzIHVuZXhwZWN0ZWQgdmFsdWU6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzozMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IENIRk5fUkVTVFJJQ1QgZG9lcyBub3QgYWxsb3cgYW55IGNoYW5nZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci5cbiIKK21zZ3N0ciAiRmluZ2VyIOizh+ioiiAq5pyq6KKrKiDorormm7TjgILoq4vnqI3lvozlho3lmJfoqabjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQwMAorIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gY2hhbmdlZC5cbiIKK21zZ3N0ciAiRmluZ2VyIOizh+ioiuW3suiuiuabtOOAglxuIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDI1IGxvZ2luLXV0aWxzL2Noc2guYzoyNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInlvdSAodXNlciAlZCkgZG9uJ3QgZXhpc3QuIgorbXNnc3RyICLmgqggKOS9v+eUqOiAhSAlZCkg5LiN5a2Y5Zyo44CCIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDMxIGxvZ2luLXV0aWxzL2Noc2guYzoyNzggbG9naW4tdXRpbHMvbGlidXNlci5jOjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyIFwiJXNcIiBkb2VzIG5vdCBleGlzdC4iCittc2dzdHIgIuS9v+eUqOiAheOAjCVz44CN5LiN5a2Y5Zyo44CCIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDM3IGxvZ2luLXV0aWxzL2Noc2guYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiY2FuIG9ubHkgY2hhbmdlIGxvY2FsIGVudHJpZXMiCittc2dzdHIgIuWPquiDveiuiuabtOacrOWcsOaineebriIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ1MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaXMgbm90IGF1dGhvcml6ZWQgdG8gY2hhbmdlIHRoZSBmaW5nZXIgaW5mbyBvZiAlcyIKK21zZ3N0ciAiJXMg5pyq6KKr5o6I5qyK5Yiw6K6K5pu05omL5oyH6LOH6KiK55qEICVzIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDUyIGxvZ2luLXV0aWxzL2Noc2guYzozMDAKK21zZ2lkICJVbmtub3duIHVzZXIgY29udGV4dCIKK21zZ3N0ciAi5LiN5piO55qE5L2/55So6ICF55u46Zec55Kw5aKDIgorCisjOiBsb2dpbi11dGlscy9jaGZuLmM6NDU4IGxvZ2luLXV0aWxzL2Noc2guYzozMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbid0IHNldCBkZWZhdWx0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLnhKHms5XoqK3lrprpoJDoqK3oqp7looPnlKjmlrwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2NoZm4uYzo0NjkKKyMsIGZ1enp5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAi5Z+36KGM5LitIFVJRCDkuI3ljLnphY0gVUlEIOeahOS9v+eUqOiAheaIkeWAkeato+WcqOaUueiuiu+8jOWRveS7pOauvOiuiuabtOaLkue1lSIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ3MworIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBmaW5nZXIgaW5mb3JtYXRpb24gZm9yICVzLlxuIgorbXNnc3RyICLkv67mlLkgJXMg55qEIGZpbmdlciDos4foqIrjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hmbi5jOjQ4NworIywgYy1mb3JtYXQKK21zZ2lkICJGaW5nZXIgaW5mb3JtYXRpb24gbm90IGNoYW5nZWQuXG4iCittc2dzdHIgIkZpbmdlciDos4foqIrmspLmnInorormm7TjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjc3CisjLCBmdXp6eQorbXNnaWQgIkNoYW5nZSB5b3VyIGxvZ2luIHNoZWxsLlxuIgorbXNnc3RyICLorormm7QgJXMg55qEIHNoZWxs44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgc3BlY2lmeSBsb2dpbiBzaGVsbFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAg5oyH5a6a55m75YWl5ZG95Luk5q68XG4iCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzo4MQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdC1zaGVsbHMgICAgcHJpbnQgbGlzdCBvZiBzaGVsbHMgYW5kIGV4aXRcbiIKK21zZ3N0ciAiIC1sLCAtLWxpc3Qtc2hlbGxzICAgIOWIl+WNsOWRveS7pOauvOa4heWWrueahOeEtuW+jOmboumWi1xuIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMwCisjLCBmdXp6eQorbXNnaWQgInNoZWxsIG11c3QgYmUgYSBmdWxsIHBhdGggbmFtZSIKK21zZ3N0ciAi5ZG95Luk5q685b+F6aCI5piv5a6M5pW06Lev5b6R5ZCN56ixIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuOAjCVz44CN5LiN5a2Y5ZyoIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJcIiVzXCIgaXMgbm90IGV4ZWN1dGFibGUiCittc2dzdHIgIuOAjCVz44CN5LiN5piv5Y+v5Z+36KGM5qqU5qGIIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJXYXJuaW5nOiBcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy4iCittc2dzdHIgIuitpuWRiu+8muOAjCVz44CN5pyq6KKr5riF5Zau5Zyo5LitICVz44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MjQ0IGxvZ2luLXV0aWxzL2Noc2guYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcIiVzXCIgaXMgbm90IGxpc3RlZCBpbiAlcy5cbiIKKyJVc2UgJXMgLWwgdG8gc2VlIGxpc3QuIgorbXNnc3RyICIiCisi44CMJXPjgI3mnKrooqvmuIXllq7lnKjkuK0gJXPjgIJcbiIKKyLkvb/nlKggJXMgLWwg5Yiw5Y+D55yL5riF5Zau44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYXV0aG9yaXplZCB0byBjaGFuZ2UgdGhlIHNoZWxsIG9mICVzIgorbXNnc3RyICIlcyDmnKrooqvmjojmrIrliLDorormm7Tlkb3ku6TmrrznmoQgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2Noc2guYzozMjUKKyMsIGZ1enp5Cittc2dpZCAicnVubmluZyBVSUQgZG9lc24ndCBtYXRjaCBVSUQgb2YgdXNlciB3ZSdyZSBhbHRlcmluZywgc2hlbGwgY2hhbmdlIGRlbmllZCIKK21zZ3N0ciAi5Z+36KGM5LitIFVJRCDkuI3ljLnphY0gVUlEIOeahOS9v+eUqOiAheaIkeWAkeato+WcqOaUueiuiu+8jOWRveS7pOauvOiuiuabtOaLkue1lSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAieW91ciBzaGVsbCBpcyBub3QgaW4gJXMsIHNoZWxsIGNoYW5nZSBkZW5pZWQiCittc2dzdHIgIuaCqOeahOWRveS7pOauvOS4jeaYr+WcqOS4rSAlc++8jOWRveS7pOauvOiuiuabtOaLkue1lSIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjMzNAorIywgYy1mb3JtYXQKK21zZ2lkICJDaGFuZ2luZyBzaGVsbCBmb3IgJXMuXG4iCittc2dzdHIgIuiuiuabtCAlcyDnmoQgc2hlbGzjgIJcbiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM0MgorbXNnaWQgIk5ldyBzaGVsbCIKK21zZ3N0ciAi5paw5ZG95Luk5q68IgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzUwCisjLCBmdXp6eQorbXNnaWQgIlNoZWxsIG5vdCBjaGFuZ2VkLiIKK21zZ3N0ciAi5ZG95Luk5q6854Sh5rOV6K6K5pu044CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzU1CisjLCBmdXp6eQorbXNnaWQgIlNoZWxsICpOT1QqIGNoYW5nZWQuICBUcnkgYWdhaW4gbGF0ZXIuIgorbXNnc3RyICIiCisic2V0cHduYW0g5aSx5pWXXG4iCisi5ZG95Luk5q68ICog54Sh5rOVICog6K6K5pu044CCIOeojeW+jOWGjeippuS4gOasoeOAgiIKKworIzogbG9naW4tdXRpbHMvY2hzaC5jOjM1OQorIywgZnV6enkKK21zZ2lkICIiCisic2V0cHduYW0gZmFpbGVkXG4iCisiU2hlbGwgKk5PVCogY2hhbmdlZC4gIFRyeSBhZ2FpbiBsYXRlci4iCittc2dzdHIgIiIKKyJzZXRwd25hbSDlpLHmlZdcbiIKKyLlkb3ku6TmrrwgKiDnhKHms5UgKiDorormm7TjgIIg56iN5b6M5YaN6Kmm5LiA5qyh44CCIgorCisjOiBsb2dpbi11dGlscy9jaHNoLmM6MzYzCisjLCBjLWZvcm1hdAorbXNnaWQgIlNoZWxsIGNoYW5nZWQuXG4iCittc2dzdHIgInNoZWxsIOW3suiuiuabtOOAglxuIgorCisjOiBsb2dpbi11dGlscy9pc2xvY2FsLmM6OTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVzYWdlOiAlcyA8cGFzc3dvcmRmaWxlPiA8dXNlcm5hbWU+Li4uXG4iCittc2dzdHIgIueUqOazle+8miVzIFvpgbjpoIVdIFvmqpTmoYguLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzoxNjkgbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjE3IHN5cy11dGlscy9kbWVzZy5jOjEyNjkKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI2OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biB0aW1lIGZvcm1hdDogJXMiCittc2dzdHIgIuS4jeaYjuWLleS9nO+8miVzIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6Mjc2IGxvZ2luLXV0aWxzL2xhc3QuYzoyODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludGVycnVwdGVkICVzIgorbXNnc3RyICIiCisiXG4iCisi55m855Sf5o+S5pa3ICUxMC4xMHMgJTUuNXNcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjQzNSBsb2dpbi11dGlscy9sYXN0LmM6NDQ2IGxvZ2luLXV0aWxzL2xhc3QuYzo4OTIKK21zZ2lkICJwcmVhbGxvY2F0aW9uIHNpemUgZXhjZWVkZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPHVzZXJuYW1lPi4uLl0gWzx0dHk+Li4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1NzUKK21zZ2lkICJTaG93IGEgbGlzdGluZyBvZiBsYXN0IGxvZ2dlZCBpbiB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc4Cittc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgIGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTc5Cittc2dpZCAiIC1hLCAtLWhvc3RsYXN0ICAgICAgIGRpc3BsYXkgaG9zdG5hbWVzIGluIHRoZSBsYXN0IGNvbHVtblxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODAKK21zZ2lkICIgLWQsIC0tZG5zICAgICAgICAgICAgdHJhbnNsYXRlIHRoZSBJUCBudW1iZXIgYmFjayBpbnRvIGEgaG9zdG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLWYsIC0tZmlsZSA8ZmlsZT4gICAgdXNlIGEgc3BlY2lmaWMgZmlsZSBpbnN0ZWFkIG9mICVzXG4iCittc2dzdHIgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICDnibnmroovZGV2Ly4uLuaqlOahiOS7peS9v+eUqOS7peS7o+abv+mgkOiorVxuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTgzCittc2dpZCAiIC1GLCAtLWZ1bGx0aW1lcyAgICAgIHByaW50IGZ1bGwgbG9naW4gYW5kIGxvZ291dCB0aW1lcyBhbmQgZGF0ZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg0CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcCAgICAgICAgICAgICBkaXNwbGF5IElQIG51bWJlcnMgaW4gbnVtYmVycy1hbmQtZG90cyBub3RhdGlvblxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg1Cittc2dpZCAiIC1uLCAtLWxpbWl0IDxudW1iZXI+IGhvdyBtYW55IGxpbmVzIHRvIHNob3dcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sYXN0LmM6NTg2CisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1ub2hvc3RuYW1lICAgICBkb24ndCBkaXNwbGF5IHRoZSBob3N0bmFtZSBmaWVsZFxuIgorbXNnc3RyICIgLXEsIC0tc3RhdHMgICAgICAgICAgICAgICAgICAgICAgICDpoa/npLrntbHoqIjpl5zmlrwgdHR5XG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpbmNlIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHNpbmNlIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXVudGlsIDx0aW1lPiAgIGRpc3BsYXkgdGhlIGxpbmVzIHVudGlsIHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1ODkKK21zZ2lkICIgLXAsIC0tcHJlc2VudCA8dGltZT4gZGlzcGxheSB3aG8gd2VyZSBwcmVzZW50IGF0IHRoZSBzcGVjaWZpZWQgdGltZVxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTAKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLWZ1bGxuYW1lcyAgICAgIGRpc3BsYXkgZnVsbCB1c2VyIGFuZCBkb21haW4gbmFtZXNcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjU5MQorbXNnaWQgIiAteCwgLS1zeXN0ZW0gICAgICAgICBkaXNwbGF5IHN5c3RlbSBzaHV0ZG93biBlbnRyaWVzIGFuZCBydW4gbGV2ZWwgY2hhbmdlc1xuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo1OTIKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcHMgaW4gdGhlIHNwZWNpZmllZCA8Zm9ybWF0PjpcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbm90aW1lfHNob3J0fGZ1bGx8aXNvXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbGFzdC5jOjg5MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIiVzIGJlZ2lucyAlc1xuIgorbXNnc3RyICIiCisiXG4iCisid3RtcCDplovlp4sgJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5NzIgdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2NQorIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo2OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL2xhc3QuYzo5OTMgbG9naW4tdXRpbHMvbGFzdC5jOjk5OCBsb2dpbi11dGlscy9sYXN0LmM6MTAwMworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo1MDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZSB2YWx1ZSBcIiVzXCIiCittc2dzdHIgIueEoeaViOeahOmAvuaZguW8leaVuCIKKworIzogbG9naW4tdXRpbHMvbGlidXNlci5jOjI5IGxvZ2luLXV0aWxzL2xpYnVzZXIuYzozMQorbXNnaWQgIkNvdWxkbid0IGRyb3AgZ3JvdXAgcHJpdmlsZWdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxpYnVzZXIgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlcy4iCittc2dzdHIgIue+pOe1hOWIneWni+WMluWkseaVl++8miVtIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NTIKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdpbmcgdXNlciBhdHRyaWJ1dGUgZmFpbGVkIgorbXNnc3RyICLorormm7QgJXMg5qih5byP5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9saWJ1c2VyLmM6NjYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlciBhdHRyaWJ1dGUgbm90IGNoYW5nZWQ6ICVzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGQVRBTDogY2FuJ3QgcmVvcGVuIHR0eTogJW0iCittc2dzdHIgIuWatOmHje+8mueEoeazlemHjeaWsOmWi+WVnyB0dHnvvJolbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoyOTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzIGlzIG5vdCBhIHRlcm1pbmFsIgorbXNnc3RyICLlmrTph43vvJolcyDkuKbpnZ7ntYLnq6/mqZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MzE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaG93biAoJXMsICVsdSwgJWx1KSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biAoJXPvvIwlbHXvvIwlbHUpIOWkseaVl++8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjMxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2htb2QgKCVzLCAldSkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiY2htb2QgKCVz77yMJXUpIOWkseaVl++8miVtIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM4MAorbXNnaWQgIkZBVEFMOiBiYWQgdHR5IgorbXNnc3RyICLlmrTph43vvJrkuI3nlbbnmoQgdHR5IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjM5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFUQUw6ICVzOiBjaGFuZ2UgcGVybWlzc2lvbnMgZmFpbGVkOiAlbSIKK21zZ3N0ciAi5Zq06YeN77yaJXPvvJrorormm7TmrIrpmZDlpLHmlZfvvJolbSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjQKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBsb2dpbjogJS4qcyAiCittc2dzdHIgIuS4iuasoeeZu+WFpe+8miUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjUyNgorIywgYy1mb3JtYXQKK21zZ2lkICJmcm9tICUuKnNcbiIKK21zZ3N0ciAi5b6eICUuKnNcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo1MjkKKyMsIGMtZm9ybWF0Cittc2dpZCAib24gJS4qc1xuIgorbXNnc3RyICLmlrwgJS4qc1xuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjU0NworIywgZnV6enkKK21zZ2lkICJ3cml0ZSBsYXN0bG9nIGZhaWxlZCIKK21zZ3N0ciAi5a+r5YWlIGxhc3Rsb2cg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjYzOAorIywgYy1mb3JtYXQKK21zZ2lkICJESUFMVVAgQVQgJXMgQlkgJXMiCittc2dzdHIgIueUsSAlMiRzIOaWvCAlMSRzIOaSpeiZn+mAsuWFpSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiUk9PVCBMT0dJTiBPTiAlcyBGUk9NICVzIgorbXNnc3RyICLlvp4gJTIkcyDmlrwgJTEkcyDnmbvlhaXngrrns7vntbHnrqHnkIblk6EiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ2CisjLCBjLWZvcm1hdAorbXNnaWQgIlJPT1QgTE9HSU4gT04gJXMiCittc2dzdHIgIuezu+e1seeuoeeQhuWToeaWvCAlcyDnmbvlhaUiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NjQ5CisjLCBjLWZvcm1hdAorbXNnaWQgIkxPR0lOIE9OICVzIEJZICVzIEZST00gJXMiCittc2dzdHIgIueUsSAlMiRzIOW+niAlMyRzIOaWvCAlMSRzIOeZu+WFpSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2NTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiTE9HSU4gT04gJXMgQlkgJXMiCittc2dzdHIgIueUsSAlMiRzIOaWvCAlMSRzIOeZu+WFpSIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo2ODYKK21zZ2lkICJsb2dpbjogIgorbXNnc3RyICLnmbvlhaXvvJoiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJQQU0gZmFpbHVyZSwgYWJvcnRpbmc6ICVzIgorbXNnc3RyICJQQU0g5aSx5pWX77yM5pS+5qOE77yaJXMiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6NzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkbid0IGluaXRpYWxpemUgUEFNOiAlcyIKK21zZ3N0ciAi54Sh5rOV5Yid5aeL5YyWIFBBTe+8miVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjc4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRkFJTEVEIExPR0lOICV1IEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi5aSx5pWX55qE55m75YWlICV1IOW+niAlcyDnlKjmlrwgJXPvvIwlcyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo3OTcgbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTMKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkxvZ2luIGluY29ycmVjdFxuIgorIlxuIgorbXNnc3RyICIiCisi55m75YWl5LiN5q2j56K6XG4iCisiXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUT08gTUFOWSBMT0dJTiBUUklFUyAoJXUpIEZST00gJXMgRk9SICVzLCAlcyIKK21zZ3N0ciAi5aSq5aSa55m75YWl5ZiX6KmmICgldSkg5b6eICVzIOeUqOaWvCAlc++8jCVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgxOAorIywgYy1mb3JtYXQKK21zZ2lkICJGQUlMRUQgTE9HSU4gU0VTU0lPTiBGUk9NICVzIEZPUiAlcywgJXMiCittc2dzdHIgIuWkseaVl+eahOeZu+WFpeWft+ihjOmajuauteiHqiAlcyDnlKjmlrwgJXMsICVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjgyNgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTG9naW4gaW5jb3JyZWN0XG4iCittc2dzdHIgIiIKKyJcbiIKKyLnmbvlhaXpjK/oqqRcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzo4NTQgbG9naW4tdXRpbHMvbG9naW4uYzoxMjQxIGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI2NAorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiBzZXR1cCBwcm9ibGVtLCBhYm9ydC4iCittc2dzdHIgIiIKKyJcbiIKKyLkvZzmpa3pmo7mrrXoqK3lrprllY/poYzvvIzmlL7mo4TjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6ODU1CisjLCBjLWZvcm1hdAorbXNnaWQgIk5VTEwgdXNlciBuYW1lIGluICVzOiVkLiBBYm9ydC4iCittc2dzdHIgIuWcqCAlczolZCDkuK3ljIXlkKvnqbrkvb/nlKjogIXlkI3nqLHvvIzmlL7mo4TjgIIiCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6OTk0CisjLCBjLWZvcm1hdAorbXNnaWQgIlRJT0NTQ1RUWSBmYWlsZWQ6ICVtIgorbXNnc3RyICJUSU9DU0NUVFkg5aSx5pWX77yaJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTA5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFstcF0gWy1oIDxob3N0Pl0gWy1IXSBbWy1mXSA8dXNlcm5hbWU+XVxuIgorbXNnc3RyICLnlKjms5XvvJrnmbvlhaUgWy1wXSBbLWgg5Li75qmfXSBbLUhdIFstZiDkvb/nlKjogIXlkI3nqLF85L2/55So6ICF5ZCN56ixXVxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDAKKyMsIGZ1enp5Cittc2dpZCAiQmVnaW4gYSBzZXNzaW9uIG9uIHRoZSBzeXN0ZW0uXG4iCittc2dzdHIgIuaCqOato+WcqOmAmeWAi+ezu+e1seS4reS9v+eUqOmZsOW9seWvhueivOOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgICAgIGRvIG5vdCBkZXN0cm95IHRoZSBlbnZpcm9ubWVudCIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA0Cittc2dpZCAiIC1mICAgICAgICAgICAgIHNraXAgYSBzZWNvbmQgbG9naW4gYXV0aGVudGljYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMTA1Cittc2dpZCAiIC1oIDxob3N0PiAgICAgIGhvc3RuYW1lIHRvIGJlIHVzZWQgZm9yIHV0bXAgbG9nZ2luZyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExMDYKKyMsIGZ1enp5Cittc2dpZCAiIC1IICAgICAgICAgICAgIHN1cHByZXNzIGhvc3RuYW1lIGluIHRoZSBsb2dpbiBwcm9tcHQiCittc2dzdHIgIiAtZSAgICAgICAgICAg5LiN5pqr5YGc5pa857WQ5p2f55qE5qqU5qGIXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRpbWVkIG91dCBhZnRlciAldSBzZWNvbmRzIgorbXNnc3RyICLlt7LpgL7mmYLkuYvlvowgJXUg56eSIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjExODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxvZ2luOiAtaCBpcyBmb3Igc3VwZXJ1c2VyIG9ubHlcbiIKK21zZ3N0ciAibG9naW7vvJotaCDlj6rmj5Dkvpvns7vntbHnrqHnkIbogIXkvb/nlKjjgIJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjQyCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdXNlciBuYW1lIFwiJXNcIiBpbiAlczolZC4gQWJvcnQuIgorbXNnc3RyICLnhKHmlYjnmoTkvb/nlKjogIXlkI3nqLHjgIwlc+OAjeaWvCAlczolZO+8jOaUvuajhOOAgiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJncm91cHMgaW5pdGlhbGl6YXRpb24gZmFpbGVkOiAlbSIKK21zZ3N0ciAi576k57WE5Yid5aeL5YyW5aSx5pWX77yaJW0iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTI4OAorIywgZnV6enkKK21zZ2lkICJzZXRnaWQoKSBmYWlsZWQiCittc2dzdHIgInNldGdpZCgpIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzE4CisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG5ldyBtYWlsLlxuIgorbXNnc3RyICLmgqjmnInmlrDpg7Xku7bjgIJcbiIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzIwCisjLCBjLWZvcm1hdAorbXNnaWQgIllvdSBoYXZlIG1haWwuXG4iCittc2dzdHIgIuaCqOaciemDteS7tuOAglxuIgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzMzQKK21zZ2lkICJzZXR1aWQoKSBmYWlsZWQiCittc2dzdHIgInNldHVpZCgpIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbG9naW4uYzoxMzQwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo3MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjaGFuZ2UgZGlyZWN0b3J5IGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrorormm7Tnm67pjITlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM0NyBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzMwCisjLCBjLWZvcm1hdAorbXNnaWQgIkxvZ2dpbmcgaW4gd2l0aCBob21lID0gXCIvXCIuXG4iCittc2dzdHIgIueZu+WFpeaZguWAi+S6uuizh+aWmeWkvj3jgIwv44CN44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xvZ2luLmM6MTM3NgorIywgZnV6enkKK21zZ2lkICJjb3VsZG4ndCBleGVjIHNoZWxsIHNjcmlwdCIKK21zZ3N0ciAi54Sh5rOVIGV4ZWMg5ZG95Luk56i/IgorCisjOiBsb2dpbi11dGlscy9sb2dpbi5jOjEzNzgKKyMsIGZ1enp5Cittc2dpZCAibm8gc2hlbGwiCittc2dzdHIgIuaykuacieWRveS7pOauvCIKKworIzogbG9naW4tdXRpbHMvbG9naW5kZWZzLmM6MjEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgY29udGFpbnMgaW52YWxpZCBudW1lcmljYWwgdmFsdWU6ICVzIgorbXNnc3RyICIlc++8miVzIOWQq+acieeEoeaViOeahOaVuOWAvO+8miVzIgorCisjOiBsb2dpbi11dGlscy9sb2dpbmRlZnMuYzozODMKK21zZ2lkICJodXNoIGxvZ2luIHN0YXR1czogcmVzdG9yZSBvcmlnaW5hbCBJRHMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjA4IHN5cy11dGlscy9sc2NwdS5jOjE0MzYgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0NgorIzogc3lzLXV0aWxzL2xzbWVtLmM6MjY4Cittc2dpZCAibm8iCittc2dzdHIgIuWQpiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcgbWlzYy11dGlscy9sc2Jsay5jOjE4NgorIywgZnV6enkKK21zZ2lkICJ1c2VyIG5hbWUiCittc2dzdHIgIuS9v+eUqOiAheWQjeeosSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTcKKyMsIGZ1enp5Cittc2dpZCAiVXNlcm5hbWUiCittc2dzdHIgIuS9v+eUqOiAheWQjeeosSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTggc3lzLXV0aWxzL3JlbmljZS5jOjU0CisjLCBmdXp6eQorbXNnaWQgInVzZXIgSUQiCittc2dzdHIgIuS9v+eUqOiAheitmOWIpeiZnyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJwYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMTkKK21zZ2lkICJQYXNzd29yZCBub3QgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjAKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gYnkgcGFzc3dvcmQgZGlzYWJsZWQiCittc2dzdHIgIiVz77yaUm9vdCDlr4bnorzpjK/kuoIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgIkxvZ2luIGJ5IHBhc3N3b3JkIGRpc2FibGVkIgorbXNnc3RyICIlc++8mlJvb3Qg5a+G56K86Yyv5LqCIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyMQorbXNnaWQgInBhc3N3b3JkIGRlZmluZWQsIGJ1dCBsb2NrZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjEKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgaXMgbG9ja2VkIgorbXNnc3RyICLlr4bnorzvvJoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIyCittc2dpZCAibG9nIGluIGRpc2FibGVkIGJ5IG5vbG9naW4oOCkgb3IgcGFtX25vbG9naW4oOCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiTm8gbG9naW4iCittc2dzdHIgIueZu+WFpe+8miIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjMKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSBncm91cCBuYW1lIgorbXNnc3RyICLnvqTntYTlkI3nqLEiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjIzCisjLCBmdXp6eQorbXNnaWQgIlByaW1hcnkgZ3JvdXAiCittc2dzdHIgIuS4u+imgeeahCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjQKKyMsIGZ1enp5Cittc2dpZCAicHJpbWFyeSBncm91cCBJRCIKK21zZ3N0ciAi6JmV55CG576k57WE6K2Y5Yil6JmfIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNQorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgbmFtZXMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjUKK21zZ2lkICJTdXBwbGVtZW50YXJ5IGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIyNgorbXNnaWQgInN1cHBsZW1lbnRhcnkgZ3JvdXAgSURzIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjI2Cittc2dpZCAiU3VwcGxlbWVudGFyeSBncm91cCBJRHMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiaG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIuebrumMhCAlcyDkuI3lrZjlnKjvvIFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjcKKyMsIGZ1enp5Cittc2dpZCAiSG9tZSBkaXJlY3RvcnkiCittc2dzdHIgIuebrumMhCAlcyDkuI3lrZjlnKjvvIFcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAibG9naW4gc2hlbGwiCittc2dzdHIgIuaykuacieWRveS7pOauvCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjgKKyMsIGZ1enp5Cittc2dpZCAiU2hlbGwiCittc2dzdHIgIuaykuacieWRveS7pOauvCIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZnVsbCB1c2VyIG5hbWUiCittc2dzdHIgIuS9v+eUqOiAheWQjeeosSIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMjkKK21zZ2lkICJHZWNvcyBmaWVsZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMAorIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgbG9naW4iCittc2dzdHIgIueVpemBjuesrOS4gOWIlyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzAKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBsb2dpbiIKK21zZ3N0ciAi5LiK5qyh55m75YWl77yaJS4qcyAiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMxCittc2dpZCAibGFzdCB0dHkgdXNlZCIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMQorIywgZnV6enkKK21zZ2lkICJMYXN0IHRlcm1pbmFsIgorbXNnc3RyICLlmrTph43vvJolcyDkuKbpnZ7ntYLnq6/mqZ8iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMyCittc2dpZCAiaG9zdG5hbWUgZHVyaW5nIHRoZSBsYXN0IHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzIKKyMsIGZ1enp5Cittc2dpZCAiTGFzdCBob3N0bmFtZSIKK21zZ3N0ciAibGFzdO+8mmdldGhvc3RuYW1lIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzMworIywgZnV6enkKK21zZ2lkICJkYXRlIG9mIGxhc3QgZmFpbGVkIGxvZ2luIgorbXNnc3RyICLot6/lvpEgbHN0YXQg5pmC5aSx5pWXXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjMzCittc2dpZCAiRmFpbGVkIGxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM0CisjLCBmdXp6eQorbXNnaWQgIndoZXJlIGRpZCB0aGUgbG9naW4gZmFpbD8iCittc2dzdHIgIuWvq+WFpSBsYXN0bG9nIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzQKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIGxvZ2luIHRlcm1pbmFsIgorbXNnc3RyICLoqK3lrprmjqfliLbntYLnq6/mqZ/mmYLlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjM1Cittc2dpZCAidXNlcidzIGh1c2ggc2V0dGluZ3MiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzUKK21zZ2lkICJIdXNoZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJkYXlzIHVzZXIgaXMgd2FybmVkIG9mIHBhc3N3b3JkIGV4cGlyYXRpb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzYKK21zZ2lkICJQYXNzd29yZCBleHBpcmF0aW9uIHdhcm4gaW50ZXJ2YWwiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKK21zZ2lkICJwYXNzd29yZCBleHBpcmF0aW9uIGRhdGUiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzcKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgZXhwaXJhdGlvbiIKK21zZ3N0ciAi5a+G56K877yaIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOAorbXNnaWQgImRhdGUgb2YgbGFzdCBwYXNzd29yZCBjaGFuZ2UiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyMzgKKyMsIGZ1enp5Cittc2dpZCAiUGFzc3dvcmQgY2hhbmdlZCIKK21zZ3N0ciAi5a+G56K877yaIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorbXNnaWQgIm51bWJlciBvZiBkYXlzIHJlcXVpcmVkIGJldHdlZW4gY2hhbmdlcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjIzOQorIywgZnV6enkKK21zZ2lkICJNaW5pbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICLmspLmnInorormm7TmiYDlgZoiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQwCittc2dpZCAibWF4IG51bWJlciBvZiBkYXlzIGEgcGFzc3dvcmQgbWF5IHJlbWFpbiB1bmNoYW5nZWQiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoyNDAKK21zZ2lkICJNYXhpbXVtIGNoYW5nZSB0aW1lIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCittc2dpZCAidGhlIHVzZXIncyBzZWN1cml0eSBjb250ZXh0IgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIlNlbGludXggY29udGV4dCIKK21zZ3N0ciAiTGludXgg57SU5paH5a2XIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJudW1iZXIgb2YgcHJvY2Vzc2VzIHJ1biBieSB0aGUgdXNlciIKK21zZ3N0ciAi5pyA5aSn6KGM56iL5pW46YePIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI0MgorIywgZnV6enkKK21zZ2lkICJSdW5uaW5nIHByb2Nlc3NlcyIKK21zZ3N0ciAiJXPvvJrmib7kuI3liLDooYznqIvjgIwlc+OAjVxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjI4OCBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzYgbWlzYy11dGlscy9sc2Jsay5jOjI0MQorIzogc3lzLXV0aWxzL2xzaXBjLmM6MjA0IHN5cy11dGlscy9sc21lbS5jOjE0NworIywgYy1mb3JtYXQKK21zZ2lkICJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgdGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjQ1NworIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjM0NgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY29tcG9zZSB0aW1lIHN0cmluZyIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzIgorbXNnc3RyICLoqK3lrpogdW1vdW50IOebruaomeaZguWkseaVlyIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMDY4CisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiB1bmtub3duIGNvbHVtbiIKK21zZ3N0ciAi5YWn6YOo6Yyv6KqkIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjExNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJMYXN0IGxvZ3M6XG4iCittc2dzdHIgIuS4iuasoeeZu+WFpe+8miUuKnMgIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMjYgbG9naW4tdXRpbHMvbm9sb2dpbi5jOjI3CisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo0OTUgbWlzYy11dGlscy9tY29va2llLmM6ODMgbWlzYy11dGlscy91dWlkZC5jOjYyCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzoyNiBzeXMtdXRpbHMvZG1lc2cuYzoyNjYgc3lzLXV0aWxzL2lwY21rLmM6NjcKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDAgc3lzLXV0aWxzL2xzaXBjLmM6Mjc4IHN5cy11dGlscy9sc21lbS5jOjQ5NgorIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA0IHN5cy11dGlscy9ydGN3YWtlLmM6OTggdGVybS11dGlscy9zZXR0ZXJtLmM6Mzc5CisjOiB0ZXh0LXV0aWxzL2xpbmUuYzozMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV1cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjI5Cittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCBrbm93biB1c2VycyBpbiB0aGUgc3lzdGVtLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzMgorbXNnaWQgIiAtYSwgLS1hY2MtZXhwaXJhdGlvbiAgICAgZGlzcGxheSBpbmZvIGFib3V0IHBhc3N3b3JkcyBleHBpcmF0aW9uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjMzCittc2dpZCAiIC1jLCAtLWNvbG9uLXNlcGFyYXRlICAgICBkaXNwbGF5IGRhdGEgaW4gYSBmb3JtYXQgc2ltaWxhciB0byAvZXRjL3Bhc3N3ZFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNCBzeXMtdXRpbHMvbHNpcGMuYzoyOTcKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLWYsIC0tZmFpbGVkICAgICAgICAgICAgIGRpc3BsYXkgZGF0YSBhYm91dCB0aGUgdXNlcnMnIGxhc3QgZmFpbGVkIGxvZ2luc1xuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiIC1HLCAtLXN1cHAtZ3JvdXBzICAgICAgICBkaXNwbGF5IGluZm9ybWF0aW9uIGFib3V0IGdyb3Vwc1xuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM3Cittc2dpZCAiIC1nLCAtLWdyb3Vwcz08Z3JvdXBzPiAgICBkaXNwbGF5IHVzZXJzIGJlbG9uZ2luZyB0byBhIGdyb3VwIGluIDxncm91cHM+XG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM4CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sYXN0ICAgICAgICAgICAgICAgc2hvdyBpbmZvIGFib3V0IHRoZSB1c2VycycgbGFzdCBsb2dpbiBzZXNzaW9uc1xuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjM5Cittc2dpZCAiIC1sLCAtLWxvZ2lucz08bG9naW5zPiAgICBkaXNwbGF5IG9ubHkgdXNlcnMgZnJvbSA8bG9naW5zPlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MCBzeXMtdXRpbHMvbHNpcGMuYzoyOTkKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ld2xpbmUgICAgICAgICAgICBkaXNwbGF5IGVhY2ggcGllY2Ugb2YgaW5mb3JtYXRpb24gb24gYSBuZXcgbGluZVxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQxIHN5cy11dGlscy9sc2lwYy5jOjI5MgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0MiBzeXMtdXRpbHMvbHNpcGMuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vdHJ1bmNhdGUgICAgICAgICBkb24ndCB0cnVuY2F0ZSBvdXRwdXRcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQzIHN5cy11dGlscy9sc2lwYy5jOjMwMQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHdkICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5mb3JtYXRpb24gcmVsYXRlZCB0byBsb2dpbiBieSBwYXNzd29yZC5cbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTI0NSBzeXMtdXRpbHMvbHNpcGMuYzozMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iCittc2dzdHIgIiAtZywgLS1nZXQtdGhyZXNob2xkICAgICAgICAgICAgICAgIOmhr+ekuuebruWJjeeahOiHqOeVjOWAvFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXN5c3RlbS1hY2NzICAgICAgICBkaXNwbGF5IHN5c3RlbSBhY2NvdW50c1xuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDcgc3lzLXV0aWxzL2xzaXBjLmM6Mjk0Cittc2dpZCAiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNDgKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXVzZXItYWNjcyAgICAgICAgICBkaXNwbGF5IHVzZXIgYWNjb3VudHNcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjQ5CisjLCBmdXp6eQorbXNnaWQgIiAtWiwgLS1jb250ZXh0ICAgICAgICAgICAgZGlzcGxheSBTRUxpbnV4IGNvbnRleHRzXG4iCittc2dzdHIgIiAtZywgLS1nZXQtdGhyZXNob2xkICAgICAgICAgICAgICAgIOmhr+ekuuebruWJjeeahOiHqOeVjOWAvFxuIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTAKKyMsIGZ1enp5Cittc2dpZCAiIC16LCAtLXByaW50MCAgICAgICAgICAgICBkZWxpbWl0IHVzZXIgZW50cmllcyB3aXRoIGEgbnVsIGNoYXJhY3RlclxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbG9naW4tdXRpbHMvbHNsb2dpbnMuYzoxMjUxCittc2dpZCAiICAgICAtLXd0bXAtZmlsZSA8cGF0aD4gICBzZXQgYW4gYWx0ZXJuYXRlIHBhdGggZm9yIHd0bXBcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjEyNTIKK21zZ2lkICIgICAgIC0tYnRtcC1maWxlIDxwYXRoPiAgIHNldCBhbiBhbHRlcm5hdGUgcGF0aCBmb3IgYnRtcFxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQzNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVxdWVzdCBzZWxpbnV4IHN0YXRlIgorbXNnc3RyICLliZbmnpDplovlp4vmmYLlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL2xzbG9naW5zLmM6MTQ0OCBsb2dpbi11dGlscy9sc2xvZ2lucy5jOjE0NTIKK21zZ2lkICJPbmx5IG9uZSB1c2VyIG1heSBiZSBzcGVjaWZpZWQuIFVzZSAtbCBmb3IgbXVsdGlwbGUgdXNlcnMuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjQ5IGxvZ2luLXV0aWxzL25ld2dycC5jOjU1CisjLCBmdXp6eQorbXNnaWQgImNvdWxkIG5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a57WC56uv5qmf5bGs5oCn55So5pa8ICVzIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzo1NworIywgZnV6enkKK21zZ2lkICJnZXRsaW5lKCkgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQoKSDlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE1MAorbXNnaWQgIlBhc3N3b3JkOiAiCittc2dzdHIgIuWvhueivO+8miIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTYwIGxvZ2luLXV0aWxzL3N1bG9naW4uYzo5OTUKKyMsIGZ1enp5Cittc2dpZCAiY3J5cHQgZmFpbGVkIgorbXNnc3RyICLlr6vlhaXlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjE3MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIDxncm91cD5cbiIKK21zZ3N0ciAiICVzIDxncm91cD5cbiIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MTc2Cittc2dpZCAiTG9nIGluIHRvIGEgbmV3IGdyb3VwLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25ld2dycC5jOjIxMworIywgZnV6enkKK21zZ2lkICJ3aG8gYXJlIHlvdT8iCittc2dzdHIgIuiqsOaYr+aCqO+8nyIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjE3IGxvZ2luLXV0aWxzL25ld2dycC5jOjIyOSBzeXMtdXRpbHMvbnNlbnRlci5jOjQ3NAorIywgZnV6enkKK21zZ2lkICJzZXRnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9uZXdncnAuYzoyMjIgbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjI0CisjLCBmdXp6eQorbXNnaWQgIm5vIHN1Y2ggZ3JvdXAiCittc2dzdHIgIuaykuacieatpOmhnue+pOe1hCIKKworIzogbG9naW4tdXRpbHMvbmV3Z3JwLmM6MjMzIHN5cy11dGlscy9uc2VudGVyLmM6NDc2CisjLCBmdXp6eQorbXNnaWQgInNldHVpZCBmYWlsZWQiCittc2dzdHIgInNldHVpZCDlpLHmlZciCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzozMAorbXNnaWQgIlBvbGl0ZWx5IHJlZnVzZSBhIGxvZ2luLlxuIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL25vbG9naW4uYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGhpcyBhY2NvdW50IGlzIGN1cnJlbnRseSBub3QgYXZhaWxhYmxlLlxuIgorbXNnc3RyICLpgJnlgIvno4Hnop/ngrrnm67liY3lnKjkvb/nlKjkuK3jgIJcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MjI0Cittc2dpZCAiIChjb3JlIGR1bXBlZCkiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Mjc4IHRlcm0tdXRpbHMvc2NyaXB0LmM6NjMyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIKK21zZ3N0ciAi54Sh5rOV5Y+W5b6X57WC56uv5qmf5bGs5oCn55So5pa8ICVzIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGNyZWF0ZSBwc2V1ZG8tdGVybWluYWwiCittc2dzdHIgIuWIneWni+WMlui8uOWHuuihqOagvOaZguWkseaVlyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NDg4IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc2MgorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgYmxvY2sgc2lnbmFscyIKK21zZ3N0ciAi54Sh5rOV5Y2A5aGK5L+h6JmfIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo1MjQgbWlzYy11dGlscy91dWlkZC5jOjQxMSB0ZXJtLXV0aWxzL3NjcmlwdC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJwb2xsIGZhaWxlZCIKK21zZ3N0ciAi5oSP6KaL6Kq/5p+lKCkg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo2NzAKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIG1vZGlmeSBlbnZpcm9ubWVudCIKK21zZ3N0ciAi6ZaL5ZWf55uu6YyE5pmC5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3MDYKK21zZ2lkICJtYXkgbm90IGJlIHVzZWQgYnkgbm9uLXJvb3QgdXNlcnMiCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6NzMwCisjLCBmdXp6eQorbXNnaWQgImluY29ycmVjdCBwYXNzd29yZCIKK21zZ3N0ciAi5LiN5q2j56K65a+G56K8IgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBvcGVuIHNlc3Npb246ICVzIgorbXNnc3RyICLnhKHms5XnhKHms5XplovllZ/kvZzmpa3pmo7mrrXvvJolcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzc5Cittc2dpZCAiY2Fubm90IGluaXRpYWxpemUgc2lnbmFsIG1hc2sgZm9yIHNlc3Npb24iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6Nzg3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBpbml0aWFsaXplIHNpZ25hbCBtYXNrIgorbXNnc3RyICLnhKHms5XljYDloYrkv6HomZ8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjc5NworIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIGZvciBzZXNzaW9uIgorbXNnc3RyICLnhKHms5XoqK3lrprkv6HomZ/omZXnkIbnqIvlvI8iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjgwNSBtaXNjLXV0aWxzL3V1aWRkLmM6Mzk4IHN5cy11dGlscy9sc2NwdS5jOjc0MworIzogdGVybS11dGlscy9zY3JpcHQuYzo3OTYKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a5L+h6Jmf6JmV55CG56iL5byPIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4MTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCBzaWduYWwgbWFzayIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a5L+h6Jmf6JmV55CG56iL5byPIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzo4NDEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGNyZWF0ZSBjaGlsZCBwcm9jZXNzIgorbXNnc3RyICLnhKHms5Xlu7rnq4vlrZDooYznqIsiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGNoYW5nZSBkaXJlY3RvcnkgdG8gJXMiCittc2dzdHIgIueEoeazleiuiuabtOebrumMhOWIsCAlcyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6ODc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2Vzc2lvbiB0ZXJtaW5hdGVkLCBraWxsaW5nIHNoZWxsLi4uIgorbXNnc3RyICIiCisiXG4iCisi5L2c5qWt6ZqO5q6157WC5q2i77yMa2lsbGluZyDlkb3ku6TmrrzigKYiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjg5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC4uLmtpbGxlZC5cbiIKK21zZ3N0ciAiLi4ua2lsbGVk44CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjk0MQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBQQVRIIGVudmlyb25tZW50IHZhcmlhYmxlIgorbXNnc3RyICLoqK3lrpogJXMg6LOH5rqQ6ZmQ5Yi25pmC5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDA2CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXBzIgorbXNnc3RyICLnhKHms5XoqK3lrprnvqTntYQiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byB1c2VyIGNyZWRlbnRpYWxzOiAlcyIKK21zZ3N0ciAi5YmW5p6Q562J57Sa44COJXMg5pmC5aSx5pWX44CPIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDIyIHN5cy11dGlscy9lamVjdC5jOjY2MAorbXNnaWQgImNhbm5vdCBzZXQgZ3JvdXAgaWQiCittc2dzdHIgIueEoeazleioreWumue+pOe1hOitmOWIpeiZnyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTAyNCBzeXMtdXRpbHMvZWplY3QuYzo2NjMKK21zZ2lkICJjYW5ub3Qgc2V0IHVzZXIgaWQiCittc2dzdHIgIueEoeazleioreWumuS9v+eUqOiAheitmOWIpeiZnyIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTA5MgorbXNnaWQgIiAtbSwgLXAsIC0tcHJlc2VydmUtZW52aXJvbm1lbnQgIGRvIG5vdCByZXNldCBlbnZpcm9ubWVudCB2YXJpYWJsZXNcbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDkzCisjLCBmdXp6eQorbXNnaWQgIiAtZywgLS1ncm91cCA8Z3JvdXA+ICAgICAgICAgICAgIHNwZWNpZnkgdGhlIHByaW1hcnkgZ3JvdXBcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk0CisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zdXBwLWdyb3VwIDxncm91cD4gICAgICAgIHNwZWNpZnkgYSBzdXBwbGVtZW50YWwgZ3JvdXBcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMDk3CisjLCBmdXp6eQorbXNnaWQgIiAtLCAtbCwgLS1sb2dpbiAgICAgICAgICAgICAgICAgIG1ha2UgdGhlIHNoZWxsIGEgbG9naW4gc2hlbGxcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAg6YCZ5YCL5bCP55So5rOV5oyH5bCOXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTgKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCittc2dzdHIgIiAtYyAgLS1jb21tYW5kIDxjb21tYW5kPiAg6YGL6KGM5Zau5LiA5ZG95Luk5a2X5Liy6YCP6YGO5ZG95Luk5q68XG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEwOTkKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtLXNlc3Npb24tY29tbWFuZCA8Y29tbWFuZD4gICAgIHBhc3MgYSBzaW5nbGUgY29tbWFuZCB0byB0aGUgc2hlbGwgd2l0aCAtY1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorbXNnc3RyICIgLWMgIC0tY29tbWFuZCA8Y29tbWFuZD4gIOmBi+ihjOWWruS4gOWRveS7pOWtl+S4sumAj+mBjuWRveS7pOauvFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTAyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICAgIHJ1biA8c2hlbGw+IGlmIC9ldGMvc2hlbGxzIGFsbG93cyBpdFxuIgorbXNnc3RyICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICDoqK3lrprlkb3ku6TmrrzlvJXoqIDmhaPkvotcbiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTEwMworIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcHR5ICAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSBuZXcgcHNldWRvLXRlcm1pbmFsXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVzZXI+IFtbLS1dIDxjb21tYW5kPl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIiCisiICUxJHMgW+mBuOmghV0gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBb6YG46aCFXSAtZnw8bG9vcGRldj485qqU5qGIPlxuIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTE4Cittc2dpZCAiIgorIlJ1biA8Y29tbWFuZD4gd2l0aCB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIG9mIDx1c2VyPi4gIElmIC11IGlzXG4iCisibm90IGdpdmVuLCBmYWxsIGJhY2sgdG8gc3UoMSktY29tcGF0aWJsZSBzZW1hbnRpY3MgYW5kIGV4ZWN1dGUgc3RhbmRhcmQgc2hlbGwuXG4iCisiVGhlIG9wdGlvbnMgLWMsIC1mLCAtbCwgYW5kIC1zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtdS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMTIzCisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11c2VyIDx1c2VyPiAgICAgICAgICAgICAgIHVzZXJuYW1lXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg5piv5pu05aSa6Kmz57Sw55qEXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFs8dXNlcj4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHByb2dyYW0+IFvlvJXmlbguLi5dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExMzgKKyMsIGZ1enp5Cittc2dpZCAiIgorIkNoYW5nZSB0aGUgZWZmZWN0aXZlIHVzZXIgSUQgYW5kIGdyb3VwIElEIHRvIHRoYXQgb2YgPHVzZXI+LlxuIgorIkEgbWVyZSAtIGltcGxpZXMgLWwuICBJZiA8dXNlcj4gaXMgbm90IGdpdmVuLCByb290IGlzIGFzc3VtZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyIg6K6K5pu05pyJ5pWI5L2/55So6ICF6K2Y5Yil6Jmf5ZKM576k57WE6K2Y5Yil6Jmf5Yiw6Kmy55qE5L2/55So6ICF44CCXG4iCisiIG1lcmUgLSDmhI/lkbPokZcgLWwuICAg5aaC5p6c5L2/55So6ICF54Sh5rOV57Wm5a6a55qE77yM5YGH6Kit5qC544CCXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjExODQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwIGlzIG5vdCBwb3NzaWJsZSIKK21zZ2lkX3BsdXJhbCAic3BlY2lmeWluZyBtb3JlIHRoYW4gJWQgc3VwcGxlbWVudGFsIGdyb3VwcyBpcyBub3QgcG9zc2libGUiCittc2dzdHJbMF0gIiIKKworIzogbG9naW4tdXRpbHMvc3UtY29tbW9uLmM6MTE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZ3JvdXAgJXMgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIuS9v+eUqOiAhSAlcyDkuI3lrZjlnKgiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEyOTAKK21zZ2lkICItLXB0eSBpcyBub3Qgc3VwcG9ydGVkIGZvciB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzI2Cittc2dpZCAiaWdub3JpbmcgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCwgaXQncyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWxvZ2luIgorbXNnc3RyICIiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjEzNDAKK21zZ2lkICJvcHRpb25zIC0te3NoZWxsLGZhc3QsY29tbWFuZCxzZXNzaW9uLWNvbW1hbmQsbG9naW59IGFuZCAtLXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzQzCisjLCBmdXp6eQorbXNnaWQgIm5vIGNvbW1hbmQgd2FzIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5Lu75L2V5YuV5L2cIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzU1Cittc2dpZCAib25seSByb290IGNhbiBzcGVjaWZ5IGFsdGVybmF0aXZlIGdyb3VwcyIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzY1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2VyICVzIGRvZXMgbm90IGV4aXN0IgorbXNnc3RyICLkvb/nlKjogIUgJXMg5LiN5a2Y5ZyoIgorCisjOiBsb2dpbi11dGlscy9zdS1jb21tb24uYzoxMzk4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1c2luZyByZXN0cmljdGVkIHNoZWxsICVzIgorbXNnc3RyICLkvb/nlKjpmZDliLbnmoTlkb3ku6TmrrwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1LWNvbW1vbi5jOjE0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbm5vdCBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLorablkYrvvJrnhKHms5Xorormm7Tnm67pjITliLAgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAidGNnZXRhdHRyIGZhaWxlZCIKK21zZ3N0ciAidGNnZXRhdHRyIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjIwNworIywgZnV6enkKK21zZ2lkICJ0Y3NldGF0dHIgZmFpbGVkIgorbXNnc3RyICJ0Y3NldGF0dHIg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NDY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm8gZW50cnkgZm9yIHJvb3RcbiIKK21zZ3N0ciAiJXPvvJrmspLmnInmop3nm67nlKjmlrzmoLlcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjQ5NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vIGVudHJ5IGZvciByb290IgorbXNnc3RyICIlc++8muaykuacieaineebrueUqOaWvOaguSIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJvb3QgcGFzc3dvcmQgZ2FyYmxlZCIKK21zZ3N0ciAiJXPvvJpSb290IOWvhueivOmMr+S6giIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUyOQorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiQ2Fubm90IG9wZW4gYWNjZXNzIHRvIGNvbnNvbGUsIHRoZSByb290IGFjY291bnQgaXMgbG9ja2VkLlxuIgorIlNlZSBzdWxvZ2luKDgpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuXG4iCisiXG4iCisiUHJlc3MgRW50ZXIgdG8gY29udGludWUuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBsb2dpbjogIgorbXNnc3RyICLntablh7ogUm9vdCDlr4bnorznlKjmlrzntq3orbdcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjUzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIGxvZ2luOiAiCittc2dzdHIgIuaMieS4i+i8uOWFpeeUqOaWvOe2reittyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiR2l2ZSByb290IHBhc3N3b3JkIGZvciBtYWludGVuYW5jZVxuIgorbXNnc3RyICLntablh7ogUm9vdCDlr4bnorznlKjmlrzntq3orbdcbiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiUHJlc3MgRW50ZXIgZm9yIG1haW50ZW5hbmNlXG4iCittc2dzdHIgIuaMieS4i+i8uOWFpeeUqOaWvOe2reittyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjU0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiKG9yIHByZXNzIENvbnRyb2wtRCB0byBjb250aW51ZSk6ICIKK21zZ3N0ciAiKOaIluWei+aFiyBDb250cm9sLUQg5Yiw57m857qMKe+8miIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjczMworIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IHRvIHN5c3RlbSByb290IGZhaWxlZCIKK21zZ3N0ciAi6K6K5pu055uu6YyE5Yiw57O757Wx5qC55aSx5pWXIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6NzgyCisjLCBmdXp6eQorbXNnaWQgInNldGV4ZWNjb24gZmFpbGVkIgorbXNnc3RyICJzZXRleGVjY29uIOWkseaVlyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbdHR5IGRldmljZV1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFt0dHkg6KOd572uXVxuIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6ODA2Cittc2dpZCAiU2luZ2xlLXVzZXIgbG9naW4uXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjgwOQorIywgZnV6enkKK21zZ2lkICIiCisiIC1wLCAtLWxvZ2luLXNoZWxsICAgICAgICBzdGFydCBhIGxvZ2luIHNoZWxsXG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICBtYXggdGltZSB0byB3YWl0IGZvciBhIHBhc3N3b3JkIChkZWZhdWx0OiBubyBsaW1pdClcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIGV4YW1pbmUgcGFzc3dvcmQgZmlsZXMgZGlyZWN0bHkgaWYgZ2V0cHduYW0oMykgZmFpbHNcbiIKK21zZ3N0ciAiIgorIiAtcCwgLS1sb2dpbi1zaGVsbCAgICAgICAg6ZaL5aeL55m75YWl5ZG95Luk5q68XG4iCisiIC10LCAtLXRpbWVvdXQgPHNlY29uZHM+ICDmnIDlpKfmmYLplpPliLDnrYnlvoXlr4bnorwgKOmgkOiore+8muaykuaciemZkOWItilcbiIKKyIgLWUsIC0tZm9yY2UgICAgICAgICAgICAgIOaqouafpeWvhueivOaqlOahiOebtOaOpeWmguaenCBnZXRwd25hbSAoMykg5aSx5pWXXG4iCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzo4NjMgbWlzYy11dGlscy9maW5kbW50LmM6MTQ2OCBzeXMtdXRpbHMvd2RjdGwuYzo1MjQKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6ODE3IHRlcm0tdXRpbHMvd2FsbC5jOjIxNgorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmAvuaZguW8leaVuCIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjg4NAorIywgZnV6enkKK21zZ2lkICJvbmx5IHN1cGVydXNlciBjYW4gcnVuIHRoaXMgcHJvZ3JhbSIKK21zZ3N0ciAi5Y+q5pyJ5qC55Y+v5Lul6YGL6KGM6YCZ5YCL56iL5byP44CCIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6OTI3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuIGNvbnNvbGUiCittc2dzdHIgIueEoeazlemWi+WVnyAlcyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjkzNAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBwYXNzd29yZCBkYXRhYmFzZSIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWf5a+G56K86LOH5paZ5bqr44CCIgorCisjOiBsb2dpbi11dGlscy9zdWxvZ2luLmM6MTAxMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorImNhbm5vdCBleGVjdXRlIHN1IHNoZWxsXG4iCisiXG4iCittc2dzdHIgIueEoeazleWPluW+l+ejgeein+Wkp+WwjyIKKworIzogbG9naW4tdXRpbHMvc3Vsb2dpbi5jOjEwMTcKKyMsIGZ1enp5Cittc2dpZCAiIgorIlRpbWVkIG91dFxuIgorIlxuIgorbXNnc3RyICLlt7LpgL7mmYIiCisKKyM6IGxvZ2luLXV0aWxzL3N1bG9naW4uYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiIKKyJjYW5ub3Qgd2FpdCBvbiBzdSBzaGVsbFxuIgorIlxuIgorbXNnc3RyICLnhKHms5Xlj5blvpfno4Hnop/lpKflsI8iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MTc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW5ub3QgYWRkIGlub3RpZnkgd2F0Y2guIgorbXNnc3RyICIlc++8mueEoeazleWKoOWFpSBpbm90aWZ5IOebo+eci+OAgiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoxODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbm5vdCByZWFkIGlub3RpZnkgZXZlbnRzIgorbXNnc3RyICIlc++8mueEoeazleiugOWPliBpbm90aWZ5IOS6i+S7tiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDQgbG9naW4tdXRpbHMvdXRtcGR1bXAuYzoyNDkKKyMsIGZ1enp5Cittc2dpZCAiRXh0cmFuZW91cyBuZXdsaW5lIGluIGZpbGUuIEV4aXRpbmcuIgorbXNnc3RyICLlpJbkvobmlrDliJflrZflhYPlnKjkuK3mqpTmoYjjgILpm6LplovjgIIiCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlbmFtZV1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFvmqpTlkI1dXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6MzA2Cittc2dpZCAiRHVtcCBVVE1QIGFuZCBXVE1QIGZpbGVzIGluIHJhdyBmb3JtYXQuXG4iCittc2dzdHIgIiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvbGxvdyAgICAgICAgIG91dHB1dCBhcHBlbmRlZCBkYXRhIGFzIHRoZSBmaWxlIGdyb3dzXG4iCittc2dzdHIgIiIKKyIgLWYsIC0tZm9sbG93ICAg6Ly45Ye66ZmE5Yqg55qE6LOH5paZ5YGa54K65qqU5qGIIGdyb3dzXG4iCisiIC1yLCAtLXJldmVyc2UgIOWvq+WFpeS4iuS4gOatpeWCvuWNsOeahOizh+aWmemAsuWFpSB1dG1wIOaqlOahiFxuIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjMxMAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmV2ZXJzZSAgICAgICAgd3JpdGUgYmFjayBkdW1wZWQgZGF0YSBpbnRvIHV0bXAgZmlsZVxuIgorbXNnc3RyICIiCisiIC1mLCAtLWZvbGxvdyAgIOi8uOWHuumZhOWKoOeahOizh+aWmeWBmueCuuaqlOahiCBncm93c1xuIgorIiAtciwgLS1yZXZlcnNlICDlr6vlhaXkuIrkuIDmraXlgr7ljbDnmoTos4fmlpnpgLLlhaUgdXRtcCDmqpTmoYhcbiIKKworIzogbG9naW4tdXRpbHMvdXRtcGR1bXAuYzozMTEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8ZmlsZT4gIHdyaXRlIHRvIGZpbGUgaW5zdGVhZCBvZiBzdGFuZGFyZCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIOeJueauii9kZXYvLi4u5qqU5qGI5Lul5L2/55So5Lul5Luj5pu/6aCQ6KitXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZvbGxvd2luZyBzdGFuZGFyZCBpbnB1dCBpcyB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi5LiL5YiX5qiZ5rqW6Ly45YWl6KKr5LiN5Y+X5pSv5o+055qEIgorCisjOiBsb2dpbi11dGlscy91dG1wZHVtcC5jOjM4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVXRtcCB1bmR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcCB1bmR1bXAg55qEICVzXG4iCisKKyM6IGxvZ2luLXV0aWxzL3V0bXBkdW1wLmM6Mzg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVdG1wIGR1bXAgb2YgJXNcbiIKK21zZ3N0ciAiVXRtcCDlgr7ljbDnmoQgJXNcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE0NQorIywgZnV6enkKK21zZ2lkICJjYW4ndCBvcGVuIHRlbXBvcmFyeSBmaWxlIgorbXNnc3RyICLnhKHms5XplovllZ/mmqvlrZjmqpQiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjcmVhdGUgYSBsaW5rIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrlu7rnq4vpgKPntZDliLAgJXMg5aSx5pWXIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MTY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYW4ndCBnZXQgY29udGV4dCBmb3IgJXMiCittc2dzdHIgIueEoeazleaPkOWPluiqnuWig+eUqOaWvCAlcyIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ2FuJ3Qgc2V0IGNvbnRleHQgZm9yICVzIgorbXNnc3RyICLnhKHms5XoqK3lrproqp7looPnlKjmlrwgJXMiCisKKyM6IGxvZ2luLXV0aWxzL3ZpcHcuYzoyMzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIHVuY2hhbmdlZCIKK21zZ3N0ciAiJXMg5pyq6K6K5pu0IgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjU3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgbG9jayIKK21zZ3N0ciAi54Sh5rOV5o+Q5Y+W6Y6W5a6aIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6Mjg0CisjLCBmdXp6eQorbXNnaWQgIm5vIGNoYW5nZXMgbWFkZSIKK21zZ3N0ciAi5rKS5pyJ6K6K5pu05omA5YGaIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MjkzCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaG1vZCBmaWxlIgorbXNnc3RyICLnhKHms5UgY2htb2Qg5qqU5qGIIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzA4Cittc2dpZCAiRWRpdCB0aGUgcGFzc3dvcmQgb3IgZ3JvdXAgZmlsZS5cbiIKK21zZ3N0ciAiIgorCisjOiBsb2dpbi11dGlscy92aXB3LmM6MzYxCittc2dpZCAiWW91IGFyZSB1c2luZyBzaGFkb3cgZ3JvdXBzIG9uIHRoaXMgc3lzdGVtLlxuIgorbXNnc3RyICLmgqjmraPlnKjpgJnlgIvns7vntbHkuK3kvb/nlKjpmbDlvbHnvqTntYTjgIJcbiIKKworIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2MgorbXNnaWQgIllvdSBhcmUgdXNpbmcgc2hhZG93IHBhc3N3b3JkcyBvbiB0aGlzIHN5c3RlbS5cbiIKK21zZ3N0ciAi5oKo5q2j5Zyo6YCZ5YCL57O757Wx5Lit5L2/55So6Zmw5b2x5a+G56K844CCXG4iCisKKyMuIFRSQU5TTEFUT1JTOiB0aGlzIHByb2dyYW0gdXNlcyBmb3IgeSBhbmQgbiBycG1hdGNoKDMpLAorIy4gKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLgorIzogbG9naW4tdXRpbHMvdmlwdy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICJXb3VsZCB5b3UgbGlrZSB0byBlZGl0ICVzIG5vdyBbeS9uXT8gIgorbXNnc3RyICLmgqjnj77lnKjmg7PopoHnt6jovK8gJXMg5ZeOW3kvbl3vvJ8iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAgKGxpYmJsa2lkICVzLCAlcylcbiIKK21zZ3N0ciAiJXMg5b6eICVzIChsaWJtb3VudCAlcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc2CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLS1sYWJlbCA8bGFiZWw+IHwgLS11dWlkIDx1dWlkPlxuIgorIlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiICVzIFstLWNhY2hlLWZpbGUgPGZpbGU+XSBbLWdobEx2XSBbLS1vdXRwdXQgPGZvcm1hdD5dIFstLW1hdGNoLXRhZyA8dGFnPl0gXG4iCisiICAgICAgIFstLW1hdGNoLXRva2VuIDx0b2tlbj5dIFs8ZGV2PiAuLi5dXG4iCisiXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJXMgLXAgWy0tbWF0Y2gtdGFnIDx0YWc+XSBbLS1vZmZzZXQgPG9mZnNldD5dIFstLXNpemUgPHNpemU+XSBcbiIKKyIgICAgICAgWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKKyJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODEKKyMsIGMtZm9ybWF0Cittc2dpZCAiICVzIC1pIFstLW1hdGNoLXRhZyA8dGFnPl0gWy0tb3V0cHV0IDxmb3JtYXQ+XSA8ZGV2PiAuLi5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtYywgLS1jYWNoZS1maWxlIDxmaWxlPiAgICByZWFkIGZyb20gPGZpbGU+IGluc3RlYWQgb2YgcmVhZGluZyBmcm9tIHRoZSBkZWZhdWx0XG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FjaGUgZmlsZSAoLWMgL2Rldi9udWxsIG1lYW5zIG5vIGNhY2hlKVxuIgorbXNnc3RyICIiCisiICAgICAtLW5vYWRqZmlsZSAgICAgIOS4jeWtmOWPliAlc++8m+mAmeWAi+mcgOaxguS9v+eUqOeahFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgIOmChOaYryAtLXV0YyDmiJYgLS1sb2NhbHRpbWVcbiIKKyIgICAgIC0tYWRqZmlsZSA8ZmlsZT4g5oyH5a6a6Lev5b6R5Yiw6Kq/5pW05qqU5qGI77ybXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg6aCQ6Kit5pivICVzXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm8tZW5jb2RpbmcgICAgICAgICAgZG9uJ3QgZW5jb2RlIG5vbi1wcmludGluZyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo4NgorbXNnaWQgIiAtZywgLS1nYXJiYWdlLWNvbGxlY3QgICAgICBnYXJiYWdlIGNvbGxlY3QgdGhlIGJsa2lkIGNhY2hlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg3Cittc2dpZCAiIgorIiAtbywgLS1vdXRwdXQgPGZvcm1hdD4gICAgICBvdXRwdXQgZm9ybWF0OyBjYW4gYmUgb25lIG9mOlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLCBkZXZpY2UsIGV4cG9ydCBvciBmdWxsOyAoZGVmYXVsdDogZnVsbClcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWxpc3QtZmlsZXN5c3RlbXMgICAgIGxpc3QgYWxsIGtub3duIGZpbGVzeXN0ZW1zL1JBSURzIGFuZCBleGl0XG4iCittc2dzdHIgIiAtbCwgLS1saXN0LXNoZWxscyAgICDliJfljbDlkb3ku6TmrrzmuIXllq7nmoTnhLblvozpm6LplotcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjkwCittc2dpZCAiIC1zLCAtLW1hdGNoLXRhZyA8dGFnPiAgICAgIHNob3cgc3BlY2lmaWVkIHRhZyhzKSAoZGVmYXVsdCBzaG93IGFsbCB0YWdzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MQorbXNnaWQgIiAtdCwgLS1tYXRjaC10b2tlbiA8dG9rZW4+ICBmaW5kIGRldmljZSB3aXRoIGEgc3BlY2lmaWMgdG9rZW4gKE5BTUU9dmFsdWUgcGFpcilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3Qtb25lICAgICAgICAgICAgIGxvb2sgdXAgb25seSBmaXJzdCBkZXZpY2Ugd2l0aCB0b2tlbiBzcGVjaWZpZWQgYnkgLXRcbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAg5ris6Kmm55So5pa8IGdldG9wdCAoMSkg54mI5pysXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5MworIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgICAgY29udmVydCBMQUJFTCB0byBkZXZpY2UgbmFtZVxuIgorbXNnc3RyICIgLW8sIC0tb2ZmaWNlIDxvZmZpY2U+ICAgICAgICDovqblhazlrqTmlbjlrZdcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk0CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11dWlkIDx1dWlkPiAgICAgICAgICBjb252ZXJ0IFVVSUQgdG8gZGV2aWNlIG5hbWVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDmmK/mm7TlpJroqbPntLDnmoRcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk1CisjLCBmdXp6eQorbXNnaWQgIiA8ZGV2PiAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IGRldmljZShzKSB0byBwcm9iZSAoZGVmYXVsdDogYWxsIGRldmljZXMpXG4iCittc2dzdHIgIiAtaCAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo5NworIywgZnV6enkKK21zZ2lkICJMb3ctbGV2ZWwgcHJvYmluZyBvcHRpb25zOlxuIgorbXNnc3RyICLovLjlh7rmoLzlvI/vvJpcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk4CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wcm9iZSAgICAgICAgICAgICAgICBsb3ctbGV2ZWwgc3VwZXJibG9ja3MgcHJvYmluZyAoYnlwYXNzIGNhY2hlKVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAg6aGv56S65bu656uL6ICF5ZKM5pyA5b6M5LiA562G6KiI566XIFBJRHNcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjk5CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgICBnYXRoZXIgaW5mb3JtYXRpb24gYWJvdXQgSS9PIGxpbWl0c1xuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2l6ZSA8c2l6ZT4gICAgICAgICAgb3ZlcndyaXRlIGRldmljZSBzaXplXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIOi+puWFrOWupOaVuOWtl1xuIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MTAxCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS1vZmZzZXQgPG9mZnNldD4gICAgICBwcm9iZSBhdCB0aGUgZ2l2ZW4gb2Zmc2V0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICDmjIflrprnmbvlhaXlkb3ku6TmrrxcbiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjEwMgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNhZ2VzIDxsaXN0PiAgICAgICAgZmlsdGVyIGJ5IFwidXNhZ2VcIiAoZS5nLiAtdSBmaWxlc3lzdGVtLHJhaWQpXG4iCittc2dzdHIgIiAgIGwgICDliJflh7rlt7Lnn6XmqpTmoYjns7vntbHpoZ7lnosiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1hdGNoLXR5cGVzIDxsaXN0PiAgIGZpbHRlciBieSBmaWxlc3lzdGVtIHR5cGUgKGUuZy4gLW4gdmZhdCxleHQzKVxuIgorbXNnc3RyICIgICBsICAg5YiX5Ye65bey55+l5qqU5qGI57O757Wx6aGe5Z6LIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM1Cittc2dpZCAiKG1vdW50ZWQsIG10cHQgdW5rbm93bikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjIzNworIywgZnV6enkKK21zZ2lkICIoaW4gdXNlKSIKK21zZ3N0ciAi5qiZ6KiY54K65L2/55So5LitIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6MjM5CisjLCBmdXp6eQorbXNnaWQgIihub3QgbW91bnRlZCkiCittc2dzdHIgIiVz77ya54Sh5rOV5o6b6LyJIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTAzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvcjogJXMiCittc2dzdHIgIuWJluaekOmMr+iqpO+8miVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhbWJpdmFsZW50IHJlc3VsdCAocHJvYmFibHkgbW9yZSBmaWxlc3lzdGVtcyBvbiB0aGUgZGV2aWNlLCB1c2Ugd2lwZWZzKDgpIHRvIHNlZSBtb3JlIGRldGFpbHMpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo1OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24ga2V5d29yZCBpbiAtdSA8bGlzdD4gYXJndW1lbnQ6ICclcyciCittc2dzdHIgIuS4jeaYjuW8leaVuO+8miVzIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NjExCittc2dpZCAiZXJyb3I6IC11IDxsaXN0PiBhcmd1bWVudCBpcyBlbXB0eSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBvdXRwdXQgZm9ybWF0ICVzIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc1OSBtaXNjLXV0aWxzL3dpcGVmcy5jOjY5NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5YGP56e75byV5pW4IgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6NzY2CisjLCBmdXp6eQorbXNnaWQgIlRvbyBtYW55IHRhZ3Mgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprku7vkvZXli5XkvZwiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBzaXplIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTmmYLplpPlvJXmlbgiCisKKyM6IG1pc2MtdXRpbHMvYmxraWQuYzo3NzYKK21zZ2lkICJDYW4gb25seSBzZWFyY2ggZm9yIG9uZSBOQU1FPXZhbHVlIHBhaXIiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjc4MworbXNnaWQgIi10IG5lZWRzIE5BTUU9dmFsdWUgcGFpciIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODMzCittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgZG9lcyBub3Qgc3VwcG9ydCAnbGlzdCcgb3V0cHV0IGZvcm1hdCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2Jsa2lkLmM6ODQ2Cittc2dpZCAiVGhlIGxvdy1sZXZlbCBwcm9iaW5nIG1vZGUgcmVxdWlyZXMgYSBkZXZpY2UiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9ibGtpZC5jOjg5NgorbXNnaWQgIlRoZSBsb29rdXAgb3B0aW9uIHJlcXVpcmVzIGEgc2VhcmNoIHR5cGUgc3BlY2lmaWVkIHVzaW5nIC10IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDExCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbW9udGggYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmVt+W6puW8leaVuCIKKworIzogbWlzYy11dGlscy9jYWwuYzo0MTkKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB3ZWVrIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTpgJ/luqblvJXmlbgiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDIxCisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgd2VlayB2YWx1ZTogdXNlIDEtNTQiCittc2dzdHIgIuS4jeWQiOazleeahOaXpeiZn++8muS9v+eUqCAxLSVkIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHRpbWVzdGFtcCBvciB1bmtub3duIG1vbnRoIG5hbWU6ICVzIgorbXNnc3RyICLliZbmnpDlpKflsI/mmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc1CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlIgorbXNnc3RyICLkuI3lkIjms5XnmoTlpKnlgLwiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDc3IG1pc2MtdXRpbHMvY2FsLmM6NTAxCisjLCBjLWZvcm1hdAorbXNnaWQgImlsbGVnYWwgZGF5IHZhbHVlOiB1c2UgMS0lZCIKK21zZ3N0ciAi5LiN5ZCI5rOV55qE5pel6Jmf77ya5L2/55SoIDEtJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDgxIG1pc2MtdXRpbHMvY2FsLmM6NDg5Cittc2dpZCAiaWxsZWdhbCBtb250aCB2YWx1ZTogdXNlIDEtMTIiCittc2dzdHIgIuS4jeWQiOazleeahOaciOWIhu+8muS9v+eUqCAxLTEyIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBtb250aCBuYW1lOiAlcyIKK21zZ3N0ciAi5LiN5piO5YSq5YWI5qyK5ZCN56ix77yaJXPjgIIiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6NDkyIG1pc2MtdXRpbHMvY2FsLmM6NDk2CisjLCBmdXp6eQorbXNnaWQgImlsbGVnYWwgeWVhciB2YWx1ZSIKK21zZ3N0ciAi5LiN5ZCI5rOV55qE5aSp5YC8IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjQ5NAorIywgZnV6enkKK21zZ2lkICJpbGxlZ2FsIHllYXIgdmFsdWU6IHVzZSBwb3NpdGl2ZSBpbnRlZ2VyIgorbXNnc3RyICLkuI3lkIjms5XnmoTlubTliIbvvJrkvb/nlKggMS05OTk5IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjUzMCBtaXNjLXV0aWxzL2NhbC5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIHdlZWsgdmFsdWU6IHllYXIgJWQgZG9lc24ndCBoYXZlIHdlZWsgJWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIgorbXNnc3RyICIlcyIKKworIzogbWlzYy11dGlscy9jYWwuYzo3NDgKKyMsIGMtZm9ybWF0Cittc2dpZCAiJTA0ZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjc1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgJTA0ZCIKK21zZ3N0ciAiJXMgJWQiCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTA5NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbW1tkYXldIG1vbnRoXSB5ZWFyXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gW1tb5aSpXSDmnIhdIOW5tF1cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMDk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDx0aW1lc3RhbXB8bW9udGhuYW1lPlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPGZpbGVuYW1lPlxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTgKK21zZ2lkICJEaXNwbGF5IGEgY2FsZW5kYXIsIG9yIHNvbWUgcGFydCBvZiBpdC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjEwOTkKK21zZ2lkICJXaXRob3V0IGFueSBhcmd1bWVudHMsIGRpc3BsYXkgdGhlIGN1cnJlbnQgbW9udGguXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAyCisjLCBmdXp6eQorbXNnaWQgIiAtMSwgLS1vbmUgICAgICAgICAgICAgc2hvdyBvbmx5IGEgc2luZ2xlIG1vbnRoIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTAzCisjLCBmdXp6eQorbXNnaWQgIiAtMywgLS10aHJlZSAgICAgICAgICAgc2hvdyB0aHJlZSBtb250aHMgc3Bhbm5pbmcgdGhlIGRhdGVcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOmhr+ekuuW7uueri+iAheWSjOaTgeacieiAhVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDQKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW1vbnRocyA8bnVtPiAgICBzaG93IG51bSBtb250aHMgc3RhcnRpbmcgd2l0aCBkYXRlJ3MgbW9udGhcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOmhr+ekuuW7uueri+iAheWSjOaTgeacieiAhVxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDUKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwYW4gICAgICAgICAgICBzcGFuIHRoZSBkYXRlIHdoZW4gZGlzcGxheWluZyBtdWx0aXBsZSBtb250aHNcbiIKK21zZ3N0ciAiIC1nLCAtLWdldC10aHJlc2hvbGQgICAgICAgICAgICAgICAg6aGv56S655uu5YmN55qE6Ieo55WM5YC8XG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3VuZGF5ICAgICAgICAgIFN1bmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwNworIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbW9uZGF5ICAgICAgICAgIE1vbmRheSBhcyBmaXJzdCBkYXkgb2Ygd2Vla1xuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTEwOAorIywgZnV6enkKK21zZ2lkICIgLWosIC0tanVsaWFuICAgICAgICAgIHVzZSBkYXktb2YteWVhciBmb3IgYWxsIGNhbGVuZGFyc1xuIgorbXNnc3RyICIgLVYgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMDkKK21zZ2lkICIgICAgIC0tcmVmb3JtIDx2YWw+ICAgIEdyZWdvcmlhbiByZWZvcm0gZGF0ZSAoMTc1MnxncmVnb3JpYW58aXNvfGp1bGlhbilcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlzbyAgICAgICAgICAgICBhbGlhcyBmb3IgLS1yZWZvcm09aXNvXG4iCittc2dzdHIgIiAgICAgICAgICAgICAgICB0IC0g5YiG5Ymy6KGo5Lul5Y6f5aeL5qC85byP6aGv56S6IgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTEKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXllYXIgICAgICAgICAgICBzaG93IHRoZSB3aG9sZSB5ZWFyXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg5piv5pu05aSa6Kmz57Sw55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvY2FsLmM6MTExMgorIywgZnV6enkKK21zZ2lkICIgLVksIC0tdHdlbHZlICAgICAgICAgIHNob3cgdGhlIG5leHQgdHdlbHZlIG1vbnRoc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOaYr+abtOWkmuips+e0sOeahFxuIgorCisjOiBtaXNjLXV0aWxzL2NhbC5jOjExMTMKK21zZ2lkICIgLXcsIC0td2Vla1s9PG51bT5dICAgIHNob3cgVVMgb3IgSVNPLTg2MDEgd2VlayBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9jYWwuYzoxMTE0Cittc2dpZCAiICAgICAtLWNvbG9yWz08d2hlbj5dICBjb2xvcml6ZSBtZXNzYWdlcyAoYXV0bywgYWx3YXlzIG9yIG5ldmVyKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYxCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gcGFnZXMiCittc2dzdHIgIuWFseeUqOiomOaGtumrlOitmOWIpeiZn++8miVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYyCisjLCBmdXp6eQorbXNnaWQgImZpbGUgZGF0YSByZXNpZGVudCBpbiBtZW1vcnkgaW4gYnl0ZXMiCittc2dzdHIgIuWFseeUqOiomOaGtumrlOitmOWIpeiZn++8miVkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjYzCisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIGZpbGUiCittc2dzdHIgIuWkp+Wwj+eahOijnee9riIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZSBuYW1lIgorbXNnc3RyICLmqpTlkI0iCisKKyM6IG1pc2MtdXRpbHMvZmluY29yZS5jOjE3NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGRvIG1pbmNvcmU6ICVzIgorbXNnc3RyICLoroDlj5bnrKbomZ/pgKPntZDmmYLlpLHmlZfvvJolcyIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZG8gbW1hcDogJXMiCittc2dzdHIgIuiugOWPluaZguWkseaVl++8miVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBvcGVuOiAlcyIKK21zZ3N0ciAiJXPvvJrplovllZ/lpLHmlZfvvJolc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkbyBmc3RhdDogJXMiCittc2dzdHIgIuiugOWPluaZguWkseaVl++8miVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gZmlsZS4uLlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWzxmaWxlPl1cbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjY5CisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjcwCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICBvdXRwdXQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICDnn63pgbjpoIXngrrovqjorZjnmoRcbiIKKworIzogbWlzYy11dGlscy9maW5jb3JlLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgdXNlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmNvcmUuYzozNDMgc3lzLXV0aWxzL2xvc2V0dXAuYzo3OTMKKyMsIGZ1enp5Cittc2dpZCAibm8gZmlsZSBzcGVjaWZpZWQiCittc2dzdHIgIuaykuacieaqlOahiOaMh+WumueahCIKKworIzogbWlzYy11dGlscy9maW5kZnMuYzoyOAorIywgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIHtMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTH09PHZhbHVlPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZGZzLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIGZpbGVzeXN0ZW0gYnkgbGFiZWwgb3IgVVVJRC5cbiIKK21zZ3N0ciAi5by35Yi25qqi5p+lICVzIOaqlOahiOezu+e1seOAglxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRmcy5jOjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInVuYWJsZSB0byByZXNvbHZlICclcyciCittc2dzdHIgIueEoeazleino+axuuOAjCVz44CNIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo5OQorIywgZnV6enkKK21zZ2lkICJzb3VyY2UgZGV2aWNlIgorbXNnc3RyICLkvobmupDoo53nva4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJtb3VudHBvaW50IgorbXNnc3RyICJtb3VudHBvaW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDEgbWlzYy11dGlscy9sc2Jsay5jOjE2NgorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIuaqlOahiOezu+e1seWei+aFiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTAyCisjLCBmdXp6eQorbXNnaWQgImFsbCBtb3VudCBvcHRpb25zIgorbXNnc3RyICLmiYDmnInmjpvovInpgbjpoIUiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMworIywgZnV6enkKK21zZ2lkICJWRlMgc3BlY2lmaWMgbW91bnQgb3B0aW9ucyIKK21zZ3N0ciAiVkZTIOeJueWumueahOaOm+i8iemBuOmghSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIkZTIHNwZWNpZmljIG1vdW50IG9wdGlvbnMiCittc2dzdHIgIkZTIOeJueWumueahOaOm+i8iemBuOmghSIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA1CisjLCBmdXp6eQorbXNnaWQgImZpbGVzeXN0ZW0gbGFiZWwiCittc2dzdHIgIuaqlOahiOezu+e1seaomeiyvCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA2IG1pc2MtdXRpbHMvbHNibGsuYzoxNjkKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBVVUlEIgorbXNnc3RyICLmqpTmoYjns7vntbEgVVVJRCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTA3CisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBsYWJlbCIKK21zZ3N0ciAi5YiG5Ymy5qiZ6LK8IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDkgbWlzYy11dGlscy9sc2Jsay5jOjE2NQorIywgZnV6enkKK21zZ2lkICJtYWpvcjptaW5vciBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICLkuLvopoHnmoTvvJrmrKHntJroo53nva7mlbjlrZciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExMAorIywgZnV6enkKK21zZ2lkICJhY3Rpb24gZGV0ZWN0ZWQgYnkgLS1wb2xsIgorbXNnc3RyICLli5XkvZzlgbXmuKzliLDnlLEgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTEKKyMsIGZ1enp5Cittc2dpZCAib2xkIG1vdW50IG9wdGlvbnMgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICLoiIrnmoTmjpvovInpgbjpoIXlhLLlrZjnmoTnlLEgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTIKKyMsIGZ1enp5Cittc2dpZCAib2xkIG1vdW50cG9pbnQgc2F2ZWQgYnkgLS1wb2xsIgorbXNnc3RyICLoiIrnmoQgbW91bnRwb2ludCDlhLLlrZjnmoTnlLEgLS1wb2xsIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTMKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBzaXplIgorbXNnc3RyICLmqpTmoYjns7vntbHlpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNAorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgYXZhaWxhYmxlIgorbXNnc3RyICLmqpTmoYjns7vntbHlpKflsI/lj6/nlKgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExNQorIywgZnV6enkKK21zZ2lkICJmaWxlc3lzdGVtIHNpemUgdXNlZCIKK21zZ3N0ciAi5qqU5qGI57O757Wx5aSn5bCP5L2/55SoIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSB1c2UgcGVyY2VudGFnZSIKK21zZ3N0ciAi5qqU5qGI57O757Wx5L2/55So55m+5YiG5q+UIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSByb290IgorbXNnc3RyICLmqpTmoYjns7vntbHmoLkiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOAorIywgZnV6enkKK21zZ2lkICJ0YXNrIElEIgorbXNnc3RyICLku7vli5norZjliKXomZ8iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOQorIywgZnV6enkKK21zZ2lkICJtb3VudCBJRCIKK21zZ3N0ciAi5o6b6LyJIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9uYWwgbW91bnQgZmllbGRzIgorbXNnc3RyICJtb3VudO+8muaOm+i8ieaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxCisjLCBmdXp6eQorbXNnaWQgIlZGUyBwcm9wYWdhdGlvbiBmbGFncyIKK21zZ3N0ciAi5YiG5Ymy5peX5qiZIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIKK21zZ2lkICJkdW1wKDgpIHBlcmlvZCBpbiBkYXlzIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMKK21zZ2lkICJwYXNzIG51bWJlciBvbiBwYXJhbGxlbCBmc2NrKDgpIFtmc3RhYiBvbmx5XSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYWN0aW9uOiAlcyIKK21zZ3N0ciAi5LiN5piO5YuV5L2c77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0MworIywgZnV6enkKK21zZ2lkICJtb3VudCIKK21zZ3N0ciAi5o6b6LyJIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAidW1vdW50IgorbXNnc3RyICJ1bW91bnQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjY0OQorIywgZnV6enkKK21zZ2lkICJyZW1vdW50IgorbXNnc3RyICJyZW1vdW50IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo2NTIKKyMsIGZ1enp5Cittc2dpZCAibW92ZSIKK21zZ3N0ciAi56e75YuVIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzo4MTQgbWlzYy11dGlscy9maW5kbW50LmM6MTA3NyBzeXMtdXRpbHMvZWplY3QuYzo3MTQKKyM6IHN5cy11dGlscy9tb3VudC5jOjMyNAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCB0YWJsZSIKK21zZ3N0ciAi5Yid5aeL5YyWIGxpYm1vdW50IOihqOagvOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6ODQxIHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW4ndCByZWFkICVzIgorbXNnc3RyICLnhKHms5XoroDlj5YgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEwMTcgbWlzYy11dGlscy9maW5kbW50LmM6MTA4MworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjk0IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo0ODEKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxODkgc3lzLXV0aWxzL21vdW50LmM6MTMzIHN5cy11dGlscy9tb3VudC5jOjE4MQorIzogc3lzLXV0aWxzL3N3YXBvZmYuYzo1NSBzeXMtdXRpbHMvc3dhcG9mZi5jOjE1NCBzeXMtdXRpbHMvc3dhcG9uLmM6MjQ4CisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Mjc4IHN5cy11dGlscy9zd2Fwb24uYzo3Mzcgc3lzLXV0aWxzL3Vtb3VudC5jOjE3NAorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIgorbXNnc3RyICLliJ3lp4vljJYgbGlibW91bnQg6L+t5Luj5Zmo5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMDg5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmRpZmYiCittc2dzdHIgIuWIneWni+WMliBsaWJtb3VudCB0YWJkaWZmIOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTExNworIywgZnV6enkKK21zZ2lkICJwb2xsKCkgZmFpbGVkIgorbXNnc3RyICLmhI/opovoqr/mn6UoKSDlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gfCA8bW91bnRwb2ludD5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGRldmljZT4gPG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZSA8ZGV2aWNlPl0gWy0tdGFyZ2V0IDxwYXRoPiB8IC0tbW91bnRwb2ludCA8ZGlyPl1cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgbjpoIVdXG4iCisiICUxJHMgW+mBuOmghV0gPGRldmljZT58PG1vdW50cG9pbnQ+XG4iCisiICUxJHMgW+mBuOmghV086KOd572uPjxtb3VudHBvaW50PlxuIgorIiAlMSRzIFvpgbjpoIVdIFstLXNvdXJjZTzoo53nva4+XSBbLS10YXJnZXQ8bW91bnRwb2ludD5dXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjExOTkKKyMsIGZ1enp5Cittc2dpZCAiRmluZCBhIChtb3VudGVkKSBmaWxlc3lzdGVtLlxuIgorbXNnc3RyICLmqpTmoYjns7vntbHlnovmhYsiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMDIKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLWZzdGFiICAgICAgICAgICAgc2VhcmNoIGluIHN0YXRpYyB0YWJsZSBvZiBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwMworIywgZnV6enkKK21zZ2lkICIiCisiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIChpbmNsdWRlcyB1c2VyIHNwYWNlIG1vdW50IG9wdGlvbnMpXG4iCittc2dzdHIgIiIKKyJcbiIKKyLpgbjpoIXvvJpcbiIKKyIgLXMsIC0tZnN0YWIgICAgICAgICAgICDmkJzlsIvlnKjkuK3pnZzmhYvooajmoLznmoTmqpTmoYjns7vntbFcbiIKKyIgLW0sIC0tbXRhYiAgICAgICAgICAgICDmkJzlsIvlnKjkuK3ooajmoLznmoTmjpvovInnmoTmqpTmoYjns7vntbFcbiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICDmkJzlsIvlnKjkuK3lhafmoLjooajmoLznmoTmjpvovIlcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIOaqlOahiOezu+e1sSAo6aCQ6KitKVxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA1CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVzeXN0ZW1zIChkZWZhdWx0KVxuIgorbXNnc3RyICIiCisiXG4iCisi6YG46aCF77yaXG4iCisiIC1zLCAtLWZzdGFiICAgICAgICAgICAg5pCc5bCL5Zyo5Lit6Z2c5oWL6KGo5qC855qE5qqU5qGI57O757WxXG4iCisiIC1tLCAtLW10YWIgICAgICAgICAgICAg5pCc5bCL5Zyo5Lit6KGo5qC855qE5o6b6LyJ55qE5qqU5qGI57O757WxXG4iCisiIC1rLCAtLWtlcm5lbCAgICAgICAgICAg5pCc5bCL5Zyo5Lit5YWn5qC46KGo5qC855qE5o6b6LyJXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICDmqpTmoYjns7vntbEgKOmgkOiorSlcbiIKKyJcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIwOAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcG9sbFs9PGxpc3Q+XSAgICBtb25pdG9yIGNoYW5nZXMgaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIiCisiIC1wLCAtLXBvbGwgWz08bGlzdD5dICAgIOebo+imluWZqOiuiuabtOWcqOS4reihqOagvOeahOaOm+i8ieeahOaqlOahiOezu+e1sVxuIgorIiAtdywgLS10aW1lb3V0PG51bT4gICDkuIrpmZDlnKjkuK3mr6vnp5LoqbIgLS1wb2xsIOWwh+WNgOWhilxuIgorIlxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjA5CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS10aW1lb3V0IDxudW0+ICAgIHVwcGVyIGxpbWl0IGluIG1pbGxpc2Vjb25kcyB0aGF0IC0tcG9sbCB3aWxsIGJsb2NrXG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcG9sbCBbPTxsaXN0Pl0gICAg55uj6KaW5Zmo6K6K5pu05Zyo5Lit6KGo5qC855qE5o6b6LyJ55qE5qqU5qGI57O757WxXG4iCisiIC13LCAtLXRpbWVvdXQ8bnVtPiAgIOS4iumZkOWcqOS4reavq+enkuipsiAtLXBvbGwg5bCH5Y2A5aGKXG4iCisiXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1BLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgYnVpbHQtaW4gZmlsdGVycywgcHJpbnQgYWxsIGZpbGVzeXN0ZW1zXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgIOWIl+WNsOaJgOacieespuiZn++8jOWNs+S9v+ioiOaVuOaYryAwXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTMKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFzY2lpICAgICAgICAgICAgdXNlIEFTQ0lJIGNoYXJzIGZvciB0cmVlIGZvcm1hdHRpbmdcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjE1Cittc2dpZCAiIC1DLCAtLW5vY2Fub25pY2FsaXplICAgZG9uJ3QgY2Fub25pY2FsaXplIHdoZW4gY29tcGFyaW5nIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNgorbXNnaWQgIiAtYywgLS1jYW5vbmljYWxpemUgICAgIGNhbm9uaWNhbGl6ZSBwcmludGVkIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIxNworIywgZnV6enkKK21zZ2lkICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAg5LiN5byV6KiA6Ly45Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTgKK21zZ2lkICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMTkKK21zZ2lkICIiCisiIC1lLCAtLWV2YWx1YXRlICAgICAgICAgY29udmVydCB0YWdzIChMQUJFTCxVVUlELFBBUlRVVUlELFBBUlRMQUJFTCkgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICB0byBkZXZpY2UgbmFtZXNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIxCittc2dpZCAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLXMsIC1tIG9yIC1rIG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjIyCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIHByaW50IHRoZSBmaXJzdCBmb3VuZCBmaWxlc3lzdGVtIG9ubHlcbiIKK21zZ3N0ciAiICAgbCAgIOWIl+WHuuW3suefpeaqlOahiOezu+e1semhnuWeiyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIyMworIywgZnV6enkKK21zZ2lkICIgLWksIC0taW52ZXJ0ICAgICAgICAgICBpbnZlcnQgdGhlIHNlbnNlIG9mIG1hdGNoaW5nXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI0IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMSBzeXMtdXRpbHMvbHNucy5jOjkwMQorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU3MgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI1IHN5cy11dGlscy9sc25zLmM6OTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAg5rKS5pyJ5LiA6Iis6Ly45Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjYKK21zZ2lkICIgLU4sIC0tdGFzayA8dGlkPiAgICAgICB1c2UgYWx0ZXJuYXRpdmUgbmFtZXNwYWNlICgvcHJvYy88dGlkPi9tb3VudGluZm8gZmlsZSlcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI3CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGNvbHVtbiBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMjgKK21zZ2lkICIgLU8sIC0tb3B0aW9ucyA8bGlzdD4gICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IG1vdW50IG9wdGlvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjI5CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIHRoZSBvdXRwdXQgY29sdW1ucyB0byBiZSBzaG93blxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICDnn63pgbjpoIXngrrovqjorZjnmoRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMAorIywgZnV6enkKK21zZ2lkICIgLVAsIC0tcGFpcnMgICAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMjMxCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1zdWJtb3VudHMgICAgICAgIHByaW50IGFsbCBzdWJtb3VudHMgZm9yIHRoZSBtYXRjaGluZyBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzMgorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzMKK21zZ2lkICIiCisiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFyZ2V0IDxwYXRoPiAgICB0aGUgcGF0aCB0byB0aGUgZmlsZXN5c3RlbSB0byB1c2VcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXRyZWUgICAgICAgICAgICAgZW5hYmxlIHRyZWUgZm9ybWF0IG91dHB1dCBpcyBwb3NzaWJsZVxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDmspLmnInkuIDoiKzovLjlh7pcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzNworIywgZnV6enkKK21zZ2lkICIgLU0sIC0tbW91bnRwb2ludCA8ZGlyPiB0aGUgbW91bnRwb2ludCBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICDmir3lh7rpgLLlhaXnm67pjIRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTIzOAorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zIGJ5IEZTIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICDliJflh7rlt7Lnn6XmqpTmoYjns7vntbHpoZ7lnosiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1VLCAtLXVuaXEgICAgICAgICAgICAgaWdub3JlIGZpbGVzeXN0ZW1zIHdpdGggZHVwbGljYXRlIHRhcmdldFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MCBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDcgc3lzLXV0aWxzL2xzbnMuYzo5MDcKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0MQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICDliJfljbDoqbPntLDnmoToqIrmga/liLDmqJnmupbli5joqqRcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTI0NAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tdmVyaWZ5ICAgICAgICAgICB2ZXJpZnkgbW91bnQgdGFibGUgY29udGVudCAoZGVmYXVsdCBpcyBmc3RhYilcbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjEyNDUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXZlcmJvc2UgICAgICAgICAgcHJpbnQgbW9yZSBkZXRhaWxzXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxMzczCisjLCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZGlyZWN0aW9uICclcyciCittc2dzdHIgIuS4jeaYjuaWueWQkeOAjCVz44CNIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNDQ1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgVElEIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoQgVElEIOW8leaVuCIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTUxNgorIywgZnV6enkKK21zZ2lkICItLXBvbGwgYWNjZXB0cyBvbmx5IG9uZSBmaWxlLCBidXQgbW9yZSBzcGVjaWZpZWQgYnkgLS10YWItZmlsZSIKK21zZ3N0ciAiLS1wb2xsIOaOpeWPl+WPquacieS4gOWAi+aqlOahiO+8jOS9huaYr+abtOWkmuaMh+WumueahOeUsSAtLXRhYi1maWxlIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQuYzoxNTIwCittc2dpZCAib3B0aW9ucyAtLXRhcmdldCBhbmQgLS1zb3VyY2UgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIGNvbW1hbmQgbGluZSBlbGVtZW50IHRoYXQgaXMgbm90IGFuIG9wdGlvbiIKK21zZ3N0ciAi6YG46aCFIC0tdGFyZ2V0IOWSjCAtLXNvdXJjZSDnhKHms5XoiIfkuI3mmK/pgbjpoIXnmoTlkb3ku6TliJflhYPntKDkuIDotbfkvb/nlKgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC5jOjE1NzMKK21zZ2lkICJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBjYWNoZSIKK21zZ3N0ciAi5Yid5aeL5YyWIGxpYm1vdW50IOW/q+WPluaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9maW5kbW50LmM6MTYxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgY29sdW1uIGlzIHJlcXVlc3RlZCwgYnV0IC0tcG9sbCBpcyBub3QgZW5hYmxlZCIKK21zZ3N0ciAiJXMg5qyE6KKr6KaB5rGC55qE77yM5L2G5pivIC0tcG9sbCDmnKrooqvlt7LllZ/nlKgiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMTYKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi5oKo5oyH5a6a5LqG5q+U56OB56Kf5LiK6YKE5aSa55qE56OB5p+x5pW4IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIndyb25nIG9yZGVyOiAlcyBzcGVjaWZpZWQgYmVmb3JlICVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxMzIKK21zZ2lkICJ1bmRlZmluZWQgdGFyZ2V0IChmc19maWxlKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTM5CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1jYW5vbmljYWwgdGFyZ2V0IHBhdGggKHJlYWw6ICVzKSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIG9uIGJvb3QgcmVxdWlyZWQgdGFyZ2V0OiAlbSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnJlYWNoYWJsZSB0YXJnZXQ6ICVtIgorbXNnc3RyICLnhKHms5XoroDlj5YgJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAidGFyZ2V0IGlzIG5vdCBhIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPvvJrkuKbpnZ7nm67pjIQiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNTIKK21zZ2lkICJ0YXJnZXQgZXhpc3RzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjQKKyMsIGMtZm9ybWF0Cittc2dpZCAidW5yZWFjaGFibGUgb24gYm9vdCByZXF1aXJlZCBzb3VyY2U6ICVzPSVzIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlOiAlcz0lcyIKK21zZ3N0ciAi6K6A5Y+W5aSx5pWX77yaJXMiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoxNjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzPSVzIHRyYW5zbGF0ZWQgdG8gJXMiCittc2dzdHIgIiVzIOiiq+mXnOiBr+eahOiIhyAlc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MTg5Cittc2dpZCAidW5kZWZpbmVkIHNvdXJjZSAoZnNfc3BlYykiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc291cmNlIHRhZzogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjA1CisjLCBjLWZvcm1hdAorbXNnaWQgImRvIG5vdCBjaGVjayAlcyBzb3VyY2UgKHBzZXVkby9uZXQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzoyMDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVhY2hhYmxlIHNvdXJjZTogJXM6ICVtIgorbXNnc3RyICLnhKHms5XplovllZ/jgIwlc+OAje+8miVzIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjExCisjLCBjLWZvcm1hdAorbXNnaWQgIm5vbi1iaW5kIG1vdW50IHNvdXJjZSAlcyBpcyBhIGRpcmVjdG9yeSBvciByZWd1bGFyIGZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSIKK21zZ3N0ciAiICVzIOS4pumdnuWNgOWhiuijnee9riIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic291cmNlICVzIGV4aXN0cyIKK21zZ3N0ciAi5L6G5rqQ6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6MjI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJWRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiVz77ya6YG46aCFICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiRlMgb3B0aW9uczogJXMiCittc2dzdHIgIiVz77ya6YG46aCFICIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidXNlcnNwYWNlIG9wdGlvbnM6ICVzIgorbXNnc3RyICLos4fmupDpgbjpoIXvvJpcbiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgc3dhcGFyZWEgZGlzY2FyZCBwb2xpY3k6ICVzIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjI1OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3dhcGFyZWEgcHJpb3JpdHkgb3B0aW9uIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjM5NQorIywgYy1mb3JtYXQKK21zZ2lkICJkbyBub3QgY2hlY2sgJXMgRlMgdHlwZSAocHNldWRvL25ldCkiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQwNQorbXNnaWQgIlwibm9uZVwiIEZTIHR5cGUgaXMgcmVjb21tZW5kZWQgZm9yIGJpbmQgb3IgbW92ZSBvcHJhdGlvbnMgb25seSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBzZWVtcyB1bnN1cHBvcnRlZCBieSB0aGUgY3VycmVudCBrZXJuZWwiCittc2dzdHIgIuWUr+iugOWFieein+apn+mBuOWPlumAn+W6puWRveS7pOS4jeaUr+aPtOeUsemAmeWAi+WFp+aguCIKKworIzogbWlzYy11dGlscy9maW5kbW50LXZlcmlmeS5jOjQxOSBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDIwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBkZXRlY3Qgb24tZGlzayBmaWxlc3lzdGVtIHR5cGUiCittc2dzdHIgIuS4jeaYjuaqlOahiOezu+e1seWei+aFi+OAjiVz44CPIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDI3CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIGRvZXMgbm90IG1hdGNoIHdpdGggb24tZGlzayAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbi1kaXNrICVzIHNlZW1zIHVuc3VwcG9ydGVkIGJ5IHRoZSBjdXJyZW50IGtlcm5lbCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6YG45Y+W6YCf5bqm5ZG95Luk5LiN5pSv5o+055Sx6YCZ5YCL5YWn5qC4IgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJGUyB0eXBlIGlzICVzIgorbXNnc3RyICLpoZ7lnovvvJolc1xuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NDQ0CisjLCBjLWZvcm1hdAorbXNnaWQgInJlY29tbWVuZGVkIHJvb3QgRlMgcGFzc25vIGlzIDEgKGN1cnJlbnQgaXMgJWQpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZmluZG1udC12ZXJpZnkuYzo1MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVkIHBhcnNlIGVycm9yIgorbXNnaWRfcGx1cmFsICIlZCBwYXJzZSBlcnJvcnMiCittc2dzdHJbMF0gIuWJluaekOmMr+iqpFxuIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsICVkIGVycm9yIgorbXNnaWRfcGx1cmFsICIsICVkIGVycm9ycyIKK21zZ3N0clswXSAi77yM6Yyv6KqkIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiwgJWQgd2FybmluZyIKK21zZ2lkX3BsdXJhbCAiLCAlZCB3YXJuaW5ncyIKK21zZ3N0clswXSAiIgorCisjOiBtaXNjLXV0aWxzL2ZpbmRtbnQtdmVyaWZ5LmM6NTE2CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3MsIG5vIGVycm9ycyBvciB3YXJuaW5ncyBkZXRlY3RlZFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzAyCittc2dpZCAiZW1wdHkgbG9uZyBvcHRpb24gYWZ0ZXIgLWwgb3IgLS1sb25nIGFyZ3VtZW50IgorbXNnc3RyICItbCDmiJYgLS1sb25nIOW8leaVuOS5i+W+jOWHuuePvuepuueahOmVt+mBuOmghSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMjMKK21zZ2lkICJ1bmtub3duIHNoZWxsIGFmdGVyIC1zIG9yIC0tc2hlbGwgYXJndW1lbnQiCittc2dzdHIgIi1zIOaIliAtLXNoZWxsIOW8leaVuOS5i+W+jOWHuuePvuS4jeaYjueahOWRveS7pOauvOWQjeeosSIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gWy0tXSA8b3B0c3RyaW5nPiA8cGFyYW1ldGVycz5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLW98LS1vcHRpb25zIDxvcHRzdHJpbmc+IFtvcHRpb25zXSBbLS1dIDxwYXJhbWV0ZXJzPlxuIgorbXNnc3RyICIiCisiICUxJHMgb3B0c3RyaW5nIOWPg+aVuFxuIgorIiAlMSRzIFvpgbjpoIVdIFstLV0gb3B0c3RyaW5nIOWPg+aVuFxuIgorIiAlMSRzIFvpgbjpoIVdIC1vfC0tb3B0aW9ucyBvcHRzdHJpbmcgW+mBuOmghV0gWy0tXSDlj4PmlbhcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozMzYKKyMsIGZ1enp5Cittc2dpZCAiUGFyc2UgY29tbWFuZCBvcHRpb25zLlxuIgorbXNnc3RyICLmiYDmnInmjpvovInpgbjpoIUiCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgICBhbGxvdyBsb25nIG9wdGlvbnMgc3RhcnRpbmcgd2l0aCBzaW5nbGUgLVxuIgorbXNnc3RyICIgLWEsIC0tYWx0ZXJuYXRpdmUgICAgICAgICAgICDlhYHoqLHplbfpgbjpoIXplovlp4voiIfllq7kuIAgLVxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbG9uZ29wdGlvbnMgPGxvbmdvcHRzPiAgdGhlIGxvbmcgb3B0aW9ucyB0byBiZSByZWNvZ25pemVkXG4iCittc2dzdHIgIiAtbCwgLS1sb25nb3B0aW9ucyA8bG9uZ29wdHM+IOmVt+mBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICAgdGhlIG5hbWUgdW5kZXIgd2hpY2ggZXJyb3JzIGFyZSByZXBvcnRlZFxuIgorbXNnc3RyICIgLW4sIC0tbmFtZSA8cHJvZ25hbWU+ICAgICAgICDlkI3nqLHkuYvkuIvoqbLpoIXpjK/oqqTooqvloLHlkYpcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAgIHRoZSBzaG9ydCBvcHRpb25zIHRvIGJlIHJlY29nbml6ZWRcbiIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQzCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBkaXNhYmxlIGVycm9yIHJlcG9ydGluZyBieSBnZXRvcHQoMylcbiIKK21zZ3N0ciAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAg5YGc55So6Yyv6Kqk5aCx5ZGK55SxIGdldG9wdCAoMylcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAgIG5vIG5vcm1hbCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAg5rKS5pyJ5LiA6Iis6Ly45Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgICBzZXQgcXVvdGluZyBjb252ZW50aW9ucyB0byB0aG9zZSBvZiA8c2hlbGw+XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICAgICAgICAgIOioreWumuWRveS7pOauvOW8leiogOaFo+S+i1xuIgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjM0NgorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICAgdGVzdCBmb3IgZ2V0b3B0KDEpIHZlcnNpb25cbiIKK21zZ3N0ciAiIC1ULCAtLXRlc3QgICAgICAgICAgICAgICAgICAg5ris6Kmm55So5pa8IGdldG9wdCAoMSkg54mI5pysXG4iCisKKyM6IG1pc2MtdXRpbHMvZ2V0b3B0LmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11bnF1b3RlZCAgICAgICAgICAgICAgICBkbyBub3QgcXVvdGUgdGhlIG91dHB1dFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogbWlzYy11dGlscy9nZXRvcHQuYzozOTYgbWlzYy11dGlscy9nZXRvcHQuYzo0NTYKK21zZ2lkICJtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudCIKK21zZ3N0ciAi57y65bCR6YG46aCF5a2X5Liy5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL2dldG9wdC5jOjQ1MQorbXNnaWQgImludGVybmFsIGVycm9yLCBjb250YWN0IHRoZSBhdXRob3IuIgorbXNnc3RyICLlhafpg6jpjK/oqqTvvIzoq4voiIfkvZzogIXpgKPntaHjgIIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzaWduYWwgJXM7IHZhbGlkIHNpZ25hbHM6IgorbXNnc3RyICIlc++8muS4jeaYjuS/oeiZnyAlczsg5pyJ5pWI5L+h6Jmf77yaXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGlkPnw8bmFtZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIDxkZXZpY2U+IFsuLi5dXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE3OQorbXNnaWQgIkZvcmNpYmx5IHRlcm1pbmF0ZSBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTgyCittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGRvIG5vdCByZXN0cmljdCB0aGUgbmFtZS10by1waWQgY29udmVyc2lvbiB0byBwcm9jZXNzZXNcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHdpdGggdGhlIHNhbWUgdWlkIGFzIHRoZSBwcmVzZW50IHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxODQKK21zZ2lkICIgLXMsIC0tc2lnbmFsIDxzaWduYWw+ICBzZW5kIHRoaXMgPHNpZ25hbD4gaW5zdGVhZCBvZiBTSUdURVJNXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1xdWV1ZSA8dmFsdWU+ICAgIHVzZSBzaWdxdWV1ZSgyKSwgbm90IGtpbGwoMiksIGFuZCBwYXNzIDx2YWx1ZT4gYXMgZGF0YVxuIgorbXNnc3RyICIgLXEsIC0tcXVldWUtaWQgPGlkPiAgICAgICAg56e76Zmk6KiK5oGv5L2H5YiX55Sx6K2Y5Yil6JmfXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OAorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkICAgICAgICAgICAgICBwcmludCBwaWRzIHdpdGhvdXQgc2lnbmFsaW5nIHRoZW1cbiIKK21zZ3N0ciAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAg5YiX5Y2w5Y+q5pyJ6LOH6KiK6Zec5pa85Y+W5qij5q2l6amfXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE4OQorbXNnaWQgIiAtbCwgLS1saXN0Wz08c2lnbmFsPl0gIGxpc3Qgc2lnbmFsIG5hbWVzLCBvciBjb252ZXJ0IGEgc2lnbmFsIG51bWJlciB0byBhIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzoxOTAKK21zZ2lkICIgLUwsIC0tdGFibGUgICAgICAgICAgICBsaXN0IHNpZ25hbCBuYW1lcyBhbmQgbnVtYmVyc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjE5MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tdmVyYm9zZSAgICAgICAgICBwcmludCBwaWRzIHRoYXQgd2lsbCBiZSBzaWduYWxlZFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI0MCBtaXNjLXV0aWxzL2tpbGwuYzoyNDkgc3lzLXV0aWxzL3Vuc2hhcmUuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gc2lnbmFsOiAlcyIKK21zZ3N0ciAiJXPvvJrkuI3mmI7kv6HomZ8gJXNcbiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MjYwIG1pc2MtdXRpbHMva2lsbC5jOjI2MyBtaXNjLXV0aWxzL2tpbGwuYzoyNzIKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NCBtaXNjLXV0aWxzL2tpbGwuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFuZCAlcyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIgorbXNnc3RyICLlvbzmraTkupLmlqXjgIIiCisKKyM6IG1pc2MtdXRpbHMva2lsbC5jOjI4NyBzeXMtdXRpbHMvZWplY3QuYzoyMDUgc3lzLXV0aWxzL2VqZWN0LmM6MjMwCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwNyBzeXMtdXRpbHMvdHVuZWxwLmM6MTY3IHN5cy11dGlscy90dW5lbHAuYzoxNzQKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxODEgc3lzLXV0aWxzL3R1bmVscC5jOjE4OCBzeXMtdXRpbHMvdHVuZWxwLmM6MTk1CisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjAxIHN5cy11dGlscy90dW5lbHAuYzoyMDUgc3lzLXV0aWxzL3R1bmVscC5jOjIxMgorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MjExIHRlcm0tdXRpbHMvc2V0dGVybS5jOjIxNCB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzMKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjIzNSB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyNzAgdGVybS11dGlscy9zZXR0ZXJtLmM6MjcyCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyODkgdGVybS11dGlscy9zZXR0ZXJtLmM6Mjk2IHRlcm0tdXRpbHMvc2V0dGVybS5jOjI5OAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzEwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjMxMiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozMjEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjMyOSB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNDQgdGVybS11dGlscy9zZXR0ZXJtLmM6MzQ2CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozNTggdGVybS11dGlscy9zZXR0ZXJtLmM6MzYwIHRlcm0tdXRpbHMvc2V0dGVybS5jOjM3MQorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NTQxIHRlcm0tdXRpbHMvc2V0dGVybS5jOjU0NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1NTEKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjU1NiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1ODAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTg1CisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo1OTAgdGVybS11dGlscy9zZXR0ZXJtLmM6NTk1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYwMAorIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NjA1IHRlcm0tdXRpbHMvc2V0dGVybS5jOjYxMyB0ZXJtLXV0aWxzL3NldHRlcm0uYzo2NDYKKyMsIGZ1enp5Cittc2dpZCAiYXJndW1lbnQgZXJyb3IiCittc2dzdHIgIuW8leaVuOmMr+iqpOOAgiIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHNpZ25hbCBuYW1lIG9yIG51bWJlcjogJXMiCittc2dzdHIgIueEoeaViOeahCBzaWd2YWwg5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNlbmRpbmcgc2lnbmFsICVkIHRvIHBpZCAlZFxuIgorbXNnc3RyICLph43mlrDlkb3lkI0gJXMg5YiwICVzIOWkseaVlyIKKworIzogbWlzYy11dGlscy9raWxsLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzZW5kaW5nIHNpZ25hbCB0byAlcyBmYWlsZWQiCittc2dzdHIgIumHjeaWsOWRveWQjSAlcyDliLAgJXMg5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2tpbGwuYzozODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHByb2Nlc3MgXCIlc1wiIgorbXNnc3RyICIlc++8muaJvuS4jeWIsOihjOeoi+OAjCVz44CNXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGZhY2lsaXR5IG5hbWU6ICVzIgorbXNnc3RyICLkuI3mmI7mqZ/og73lkI3nqLHvvJolc+OAgiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpb3JpdHkgbmFtZTogJXMiCittc2dzdHIgIuS4jeaYjuWEquWFiOasiuWQjeeose+8miVz44CCIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3BlbmxvZyAlczogcGF0aG5hbWUgdG9vIGxvbmciCittc2dzdHIgIm9wZW5sb2cgJXPvvJrot6/lvpHlkI3nqLHlpKrplbciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgJXMiCittc2dzdHIgIumAmuioiuerryAlcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzozMDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZXNvbHZlIG5hbWUgJXMgcG9ydCAlczogJXMiCittc2dzdHIgIuaOm+i8ieenu+WLlSAlcyDliLAgJXMg5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjMyNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGNvbm5lY3QgdG8gJXMgcG9ydCAlcyIKK21zZ3N0ciAi5o6b6LyJ56e75YuVICVzIOWIsCAlcyDmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MzUzCisjLCBjLWZvcm1hdAorbXNnaWQgIm1heGltdW0gaW5wdXQgbGluZXMgKCVkKSBleGNlZWRlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjUwNQorIywgZnV6enkKK21zZ2lkICJzZW5kIG1lc3NhZ2UgZmFpbGVkIgorbXNnc3RyICLlu7rnq4voqIrmga/kvYfliJfmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6NTc1CisjLCBjLWZvcm1hdAorbXNnaWQgInN0cnVjdHVyZWQgZGF0YSBJRCAnJXMnIGlzIG5vdCB1bmlxdWUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo1ODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS1zZC1pZCB3YXMgbm90IHNwZWNpZmllZCBmb3IgLS1zZC1wYXJhbSAlcyIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjc2OAorIywgZnV6enkKK21zZ2lkICJsb2NhbHRpbWUoKSBmYWlsZWQiCittc2dzdHIgIuaEj+imi+iqv+afpSgpIOWkseaVlyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo3NzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImhvc3RuYW1lICclcycgaXMgdG9vIGxvbmciCittc2dzdHIgIuashOS9jSAlcyDlpKrplbciCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6Nzg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0YWcgJyVzJyBpcyB0b28gbG9uZyIKK21zZ3N0ciAi5qyE5L2NICVzIOWkqumVtyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzo4NDcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlnbm9yaW5nIHVua25vd24gb3B0aW9uIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi5LiN5piO5byV5pW477yaJXMiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6ODU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlczogdXNpbmcgYXV0b21hdGljIGVycm9ycyIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW45YiwIC0tYXV0byAvLWEg6YG46aCFIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFvoqIrmga9dXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTAzMworIywgZnV6enkKK21zZ2lkICJFbnRlciBtZXNzYWdlcyBpbnRvIHRoZSBzeXN0ZW0gbG9nLlxuIgorbXNnc3RyICLnhKHms5XoqK3lrprns7vntbHmmYLpkJjjgIJcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM2CisjLCBmdXp6eQorbXNnaWQgIiAtaSAgICAgICAgICAgICAgICAgICAgICAgbG9nIHRoZSBsb2dnZXIgY29tbWFuZCdzIFBJRFxuIgorbXNnc3RyICIgLWggICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWlkWz08aWQ+XSAgICAgICAgICBsb2cgdGhlIGdpdmVuIDxpZD4sIG9yIG90aGVyd2lzZSB0aGUgUElEXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICDmiYDmnIkgKOmgkOiorSlcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDM4CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1lLCAtLXNraXAtZW1wdHkgICAgICAgICBkbyBub3QgbG9nIGVtcHR5IGxpbmVzIHdoZW4gcHJvY2Vzc2luZyBmaWxlc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDAKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vLWFjdCAgICAgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgd3JpdGUgdGhlIGxvZ1xuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0MQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIG1hcmsgZ2l2ZW4gbWVzc2FnZSB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDIKK21zZ2lkICIgICAgIC0tb2N0ZXQtY291bnQgICAgICAgIHVzZSByZmM2NTg3IG9jdGV0IGNvdW50aW5nXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQzCittc2dpZCAiICAgICAtLXByaW8tcHJlZml4ICAgICAgICBsb29rIGZvciBhIHByZWZpeCBvbiBldmVyeSBsaW5lIHJlYWQgZnJvbSBzdGRpblxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA0NAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3RkZXJyICAgICAgICAgICAgIG91dHB1dCBtZXNzYWdlIHRvIHN0YW5kYXJkIGVycm9yIGFzIHdlbGxcbiIKK21zZ3N0ciAiIC1zICAgICAgICAgICDliJfljbDoqIrmga/liLDmqJnmupbovLjlh7pcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ1CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zaXplIDxzaXplPiAgICAgICAgbWF4aW11bSBzaXplIGZvciBhIHNpbmdsZSBtZXNzYWdlXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIOi+puWFrOWupOaVuOWtl1xuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNDYKK21zZ2lkICIgLXQsIC0tdGFnIDx0YWc+ICAgICAgICAgIG1hcmsgZXZlcnkgbGluZSB3aXRoIHRoaXMgdGFnXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ3Cittc2dpZCAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICAgICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ4CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wb3J0IDxwb3J0PiAgICAgICAgdXNlIHRoaXMgcG9ydCBmb3IgVURQIG9yIFRDUCBjb25uZWN0aW9uXG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICDmjIflrprnmbvlhaXlkb3ku6TmrrxcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDQ5CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10Y3AgICAgICAgICAgICAgICAgdXNlIFRDUCBvbmx5XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEwNTAKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXVkcCAgICAgICAgICAgICAgICB1c2UgVURQIG9ubHlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u6YCa6KiK5Z+gXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1MQorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmZjMzE2NCAgICAgICAgICAgIHVzZSB0aGUgb2Jzb2xldGUgQlNEIHN5c2xvZyBwcm90b2NvbFxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICDlgZznlKjkvY3lhYPntYTmrKHluo8gYXV0by1kZXRlY3Rpb25cbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDUyCittc2dpZCAiIgorIiAgICAgLS1yZmM1NDI0Wz08c25pcD5dICAgdXNlIHRoZSBzeXNsb2cgcHJvdG9jb2wgKHRoZSBkZWZhdWx0IGZvciByZW1vdGUpO1xuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c25pcD4gY2FuIGJlIG5vdGltZSwgb3Igbm90cSwgYW5kL29yIG5vaG9zdFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tc2QtaWQgPGlkPiAgICAgICAgIHJmYzU0MjQgc3RydWN0dXJlZCBkYXRhIElEXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU1Cittc2dpZCAiICAgICAtLXNkLXBhcmFtIDxkYXRhPiAgICByZmM1NDI0IHN0cnVjdHVyZWQgZGF0YSBuYW1lPXZhbHVlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDU2CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1tc2dpZCA8bXNnaWQ+ICAgICAgc2V0IHJmYzU0MjQgbWVzc2FnZSBpZCBmaWVsZFxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1NworbXNnaWQgIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gICAgd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTA1OAorbXNnaWQgIiIKKyIgICAgIC0tc29ja2V0LWVycm9yc1s9PG9ufG9mZnxhdXRvPl1cbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgIHByaW50IGNvbm5lY3Rpb24gZXJyb3JzIHdoZW4gdXNpbmcgVW5peCBzb2NrZXRzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMDYxCittc2dpZCAiICAgICAtLWpvdXJuYWxkWz08ZmlsZT5dICB3cml0ZSBqb3VybmFsZCBlbnRyeVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbG9nZ2VyLmM6MTE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmlsZSAlcyIKK21zZ3N0ciAi5qqU5qGIICVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjExNjIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGlkIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMTgwCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtZXNzYWdlIHNpemUiCittc2dzdHIgIuWJluaekOWkp+Wwj+aZguWkseaVlyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjE1Cittc2dpZCAiLS1tc2dpZCBjYW5ub3QgY29udGFpbiBzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgc3RydWN0dXJlZCBkYXRhIElEOiAnJXMnIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjvvJolcyIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHN0cnVjdHVyZWQgZGF0YSBwYXJhbWV0ZXI6ICclcyciCittc2dzdHIgIueEoeaViOeahOmAvuaZguW8leaVuO+8miVzIgorCisjOiBtaXNjLXV0aWxzL2xvZ2dlci5jOjEyNTIKKyMsIGZ1enp5Cittc2dpZCAiLS1maWxlIDxmaWxlPiBhbmQgPG1lc3NhZ2U+IGFyZSBtdXR1YWxseSBleGNsdXNpdmUsIG1lc3NhZ2UgaXMgaWdub3JlZCIKK21zZ3N0ciAiLS1vZmZzZXQg5ZKMIC0tYWxsIOW9vOatpOS6kuaWpSIKKworIzogbWlzYy11dGlscy9sb2dnZXIuYzoxMjU5Cittc2dpZCAiam91cm5hbGQgZW50cnkgY291bGQgbm90IGJlIHdyaXR0ZW4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxzdHJpbmc+IFs8ZmlsZT4uLi5dXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSDlrZfkuLIgW+aqlOahiF1cbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzYzCittc2dpZCAiRGlzcGxheSBsaW5lcyBiZWdpbm5pbmcgd2l0aCBhIHNwZWNpZmllZCBzdHJpbmcuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY2CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgdXNlIHRoZSBhbHRlcm5hdGl2ZSBkaWN0aW9uYXJ5XG4iCittc2dzdHIgIiAtYSwgLS1hbHRlcm5hdGl2ZSAgICAgICAgICAgIOWFgeiosemVt+mBuOmghemWi+Wni+iIh+WWruS4gCAtXG4iCisKKyM6IG1pc2MtdXRpbHMvbG9vay5jOjM2NworIywgZnV6enkKK21zZ2lkICIgLWQsIC0tYWxwaGFudW0gICAgICAgICAgIGNvbXBhcmUgb25seSBibGFua3MgYW5kIGFscGhhbnVtZXJpYyBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIOi8uOWHuuWtl+WFg+aVuOeahOS5i+WJjeaaq+WBnFxuIgorCisjOiBtaXNjLXV0aWxzL2xvb2suYzozNjgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWlnbm9yZS1jYXNlICAgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDliJfljbDoqbPntLDnmoTos4fmlplcbiIKKworIzogbWlzYy11dGlscy9sb29rLmM6MzY5Cittc2dpZCAiIC10LCAtLXRlcm1pbmF0ZSA8Y2hhcj4gICBkZWZpbmUgdGhlIHN0cmluZy10ZXJtaW5hdGlvbiBjaGFyYWN0ZXJcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYyCisjLCBmdXp6eQorbXNnaWQgImRldmljZSBuYW1lIgorbXNnc3RyICLoo53nva7lkI3nqLEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwga2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICLlhafpg6jlhafmoLjoo53nva7lkI3nqLEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiaW50ZXJuYWwgcGFyZW50IGtlcm5lbCBkZXZpY2UgbmFtZSIKK21zZ3N0ciAi5YWn6YOo5YWn5qC46KOd572u5ZCN56ixIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY3IHN5cy11dGlscy96cmFtY3RsLmM6ODYKKyMsIGZ1enp5Cittc2dpZCAid2hlcmUgdGhlIGRldmljZSBpcyBtb3VudGVkIgorbXNnc3RyICLkvY3nva7oo53nva7ooqvmjpvovIkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjggbWlzYy11dGlscy93aXBlZnMuYzoxMDQKKyMsIGZ1enp5Cittc2dpZCAiZmlsZXN5c3RlbSBMQUJFTCIKK21zZ3N0ciAi5qqU5qGI57O757Wx5qiZ6LK8IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcxCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiB0eXBlIFVVSUQiCittc2dzdHIgIuWIhuWJsiBVVUlEIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbiBMQUJFTCIKK21zZ3N0ciAi5YiG5Ymy5qiZ6LK8IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgInJlYWQtYWhlYWQgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi6aCQ5YWI6K6A5Y+W55qE55qE6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc3IHN5cy11dGlscy9sb3NldHVwLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAicmVhZC1vbmx5IGRldmljZSIKK21zZ3N0ciAi5ZSv6K6A6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTc4CisjLCBmdXp6eQorbXNnaWQgInJlbW92YWJsZSBkZXZpY2UiCittc2dzdHIgIuWPr+enu+mZpOeahOijnee9riIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE3OQorbXNnaWQgInJlbW92YWJsZSBvciBob3RwbHVnIGRldmljZSAodXNiLCBwY21jaWEsIC4uLikiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MAorIywgZnV6enkKK21zZ2lkICJyb3RhdGlvbmFsIGRldmljZSIKK21zZ3N0ciAicm90YXRpb25hbCDoo53nva4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODEKK21zZ2lkICJhZGRzIHJhbmRvbW5lc3MiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4MgorIywgZnV6enkKK21zZ2lkICJkZXZpY2UgaWRlbnRpZmllciIKK21zZ3N0ciAi6KOd572u6K2Y5Yil56K8IgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTgzCittc2dpZCAiZGlzayBzZXJpYWwgbnVtYmVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODQKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgZGV2aWNlIgorbXNnc3RyICLlpKflsI/nmoToo53nva4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxODUKKyMsIGZ1enp5Cittc2dpZCAic3RhdGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi54uA5oWL55qE6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImdyb3VwIG5hbWUiCittc2dzdHIgIue+pOe1hOWQjeeosSIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE4OAorIywgZnV6enkKK21zZ2lkICJkZXZpY2Ugbm9kZSBwZXJtaXNzaW9ucyIKK21zZ3N0ciAi6KOd572u56+A6bue5qyK6ZmQIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTg5CisjLCBmdXp6eQorbXNnaWQgImFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIuWwjem9iuWBj+enuyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MAorIywgZnV6enkKK21zZ2lkICJtaW5pbXVtIEkvTyBzaXplIgorbXNnc3RyICLmnIDlsI8gSS9PIOWkp+WwjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MQorIywgZnV6enkKK21zZ2lkICJvcHRpbWFsIEkvTyBzaXplIgorbXNnc3RyICLmnIDkvbPljJYgSS9PIOWkp+WwjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5MgorIywgZnV6enkKK21zZ2lkICJwaHlzaWNhbCBzZWN0b3Igc2l6ZSIKK21zZ3N0ciAi5a+m6auU56OB5Y2A5aSn5bCPIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTkzCisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgc2VjdG9yIHNpemUiCittc2dzdHIgIumCj+i8r+WNgOWkp+WwjyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NAorIywgZnV6enkKK21zZ2lkICJJL08gc2NoZWR1bGVyIG5hbWUiCittc2dzdHIgIkkvTyDmjpLnqIvnqIvlvI/lkI3nqLEiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAicmVxdWVzdCBxdWV1ZSBzaXplIgorbXNnc3RyICLopoHmsYLkvYfliJflpKflsI8iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHR5cGUiCittc2dzdHIgIuijnee9rumhnuWeiyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5NworIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGFsaWdubWVudCBvZmZzZXQiCittc2dzdHIgIuaNqOajhOWwjem9iuWBj+enuyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE5OAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIGdyYW51bGFyaXR5IgorbXNnc3RyICLmjajmo4TpoYbnspLmgKciCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxOTkKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZCBtYXggYnl0ZXMiCittc2dzdHIgIuaNqOajhOacgOWkp+S9jeWFg+e1hCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMAorIywgZnV6enkKK21zZ2lkICJkaXNjYXJkIHplcm9lcyBkYXRhIgorbXNnc3RyICLmjajmo4Tpm7bos4fmlpkiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDEKKyMsIGZ1enp5Cittc2dpZCAid3JpdGUgc2FtZSBtYXggYnl0ZXMiCittc2dzdHIgIuaNqOajhOacgOWkp+S9jeWFg+e1hCIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjIwMgorIywgZnV6enkKK21zZ2lkICJ1bmlxdWUgc3RvcmFnZSBpZGVudGlmaWVyIgorbXNnc3RyICLllK/kuIDosq/ol4/pq5TorZjliKXnorwiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDMKK21zZ2lkICJIb3N0OkNoYW5uZWw6VGFyZ2V0Okx1biBmb3IgU0NTSSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA0CisjLCBmdXp6eQorbXNnaWQgImRldmljZSB0cmFuc3BvcnQgdHlwZSIKK21zZ3N0ciAi6KOd572u6aGe5Z6LIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA1Cittc2dpZCAiZGUtZHVwbGljYXRlZCBjaGFpbiBvZiBzdWJzeXN0ZW1zIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHJldmlzaW9uIgorbXNnc3RyICLoo53nva7nr4Dpu57mrIrpmZAiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHZlbmRvciIKK21zZ3N0ciAi6KOd572u5ZCN56ixIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MjA4Cittc2dpZCAiem9uZSBtb2RlbCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTI5MgorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkZXZpY2UgZGlyZWN0b3J5IGluIHN5c2ZzIgorbXNnc3RyICLplovllZ/oo53nva7nm67pjITlnKjkuK0gc3lzZnMg5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjb21wb3NlIHN5c2ZzIHBhdGgiCittc2dzdHIgIuaSsOWvqyBzeXNmcyDot6/lvpHnlKjmlrwgJXMg5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTQ4NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIGxpbmsiCittc2dzdHIgIiVz77ya54Sh5rOV6K6A5Y+W6Y+I57WQIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgc3lzZnMgbmFtZSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5YgZG0g5ZCN56ixIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTUxNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBnZXQgd2hvbGUtZGlzayBkZXZpY2UgbnVtYmVyIgorbXNnc3RyICIlc++8mueEoeazleaPkOWPliB3aG9sZS1kaXNrIOijnee9rue3qOiZnyIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE1NjcgbWlzYy11dGlscy9sc2Jsay5jOjE1NjkgbWlzYy11dGlscy9sc2Jsay5jOjE1OTQKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGlzdCAnJXMnIgorbXNnc3RyICLliZbmnpDmuIXllq7jgI4lcyDmmYLlpLHmlZfjgI8iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNTc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBleGNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIuaOkumZpOeahOijnee9rua4heWWrueahOWkquWkpyAo6ZmQ5Yi25pivICVkIOijnee9rikiCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgZm9yICVkIGlzIDI1Ni4KKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjAxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUgbGlzdCBvZiBpbmNsdWRlZCBkZXZpY2VzIGlzIHRvbyBsYXJnZSAobGltaXQgaXMgJWQgZGV2aWNlcykiCittc2dzdHIgIuWMheWQq+eahOijnee9rua4heWWrueahOWkquWkpyAo6ZmQ5Yi25pivICVkIOijnee9rikiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjMzIHN5cy11dGlscy93ZGN0bC5jOjE3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWzxkZXZpY2U+Li4uXVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzNgorIywgZnV6enkKK21zZ2lkICJMaXN0IGluZm9ybWF0aW9uIGFib3V0IGJsb2NrIGRldmljZXMuXG4iCittc2dzdHIgIiVz77ya5LiN5piv5Y2A5aGK6KOd572uIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTYzOQorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgcHJpbnQgYWxsIGRldmljZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIOafpeipouaJgOacieWOn+Wni+ijnee9rlxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tbm9kZXBzICAgICAgICAgZG9uJ3QgcHJpbnQgc2xhdmVzIG9yIGhvbGRlcnNcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0MgorbXNnaWQgIiAtRCwgLS1kaXNjYXJkICAgICAgICBwcmludCBkaXNjYXJkIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQzCisjLCBmdXp6eQorbXNnaWQgIiAteiwgLS16b25lZCAgICAgICAgICBwcmludCB6b25lIG1vZGVsXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDQKK21zZ2lkICIgLWUsIC0tZXhjbHVkZSA8bGlzdD4gZXhjbHVkZSBkZXZpY2VzIGJ5IG1ham9yIG51bWJlciAoZGVmYXVsdDogUkFNIGRpc2tzKVxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDYKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWFzY2lpICAgICAgICAgIHVzZSBhc2NpaSBjaGFyYWN0ZXJzIG9ubHlcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIOioreWumuWtl+WFg+Wkp+Wwj+WIsCA3IOS9jeWFg1xuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0NworbXNnaWQgIiAtSSwgLS1pbmNsdWRlIDxsaXN0PiBzaG93IG9ubHkgZGV2aWNlcyB3aXRoIHNwZWNpZmllZCBtYWpvciBudW1iZXJzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NDggc3lzLXV0aWxzL2xzbWVtLmM6NTAyCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY0OQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGlzdCAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIgorbXNnc3RyICIgLVEsIC0tcXVpZXQtb3V0cHV0ICAgICAgICAgICDmspLmnInkuIDoiKzovLjlh7pcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTAKKyMsIGZ1enp5Cittc2dpZCAiIC1ULCAtLXRyZWUgICAgICAgICAgIHVzZSB0cmVlIGZvcm1hdCBvdXRwdXRcbiIKK21zZ3N0ciAiIC1RLCAtLXF1aWV0LW91dHB1dCAgICAgICAgICAg5rKS5pyJ5LiA6Iis6Ly45Ye6XG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjUxCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTIgc3lzLXV0aWxzL2xzbWVtLmM6NTA2Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTMgc3lzLXV0aWxzL2xzbWVtLmM6NTA3Cittc2dpZCAiIC1vLCAtLW91dHB1dCA8bGlzdD4gIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1PLCAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICDnn63pgbjpoIXngrrovqjorZjnmoRcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NTUKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBhdGhzICAgICAgICAgIHByaW50IGNvbXBsZXRlIGRldmljZSBwYXRoXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY1OAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjU5CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zY3NpICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBTQ1NJIGRldmljZXNcbiIKK21zZ3N0ciAiIC1WICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKworIzogbWlzYy11dGlscy9sc2Jsay5jOjE2NjAKK21zZ2lkICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzYmxrLmM6MTY2MQorbXNnaWQgIiAteCwgLS1zb3J0IDxjb2x1bW4+ICBzb3J0IG91dHB1dCBieSA8Y29sdW1uPlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbHNibGsuYzoxNjc4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYWNjZXNzIHN5c2ZzIGRpcmVjdG9yeTogJXMiCittc2dzdHIgIuWtmOWPliBzeXNmcyDnm67pjITmmYLlpLHmlZfvvJolcyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiY29tbWFuZCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICLlkb3ku6TnmoTomZXnkIbkv53mnInpjpblrpoiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc0CisjLCBmdXp6eQorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBob2xkaW5nIHRoZSBsb2NrIgorbXNnc3RyICJQSUQg55qE6JmV55CG5L+d5pyJ6Y6W5a6aIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NQorIywgZnV6enkKK21zZ2lkICJraW5kIG9mIGxvY2siCittc2dzdHIgIuWkp+Wwj+eahOmOluWumiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgbG9jayIKK21zZ3N0ciAi5aSn5bCP55qE6Y6W5a6aIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3NworIywgZnV6enkKK21zZ2lkICJsb2NrIGFjY2VzcyBtb2RlIgorbXNnc3RyICLpjpblrprlrZjlj5bmqKHlvI8iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjc4CisjLCBmdXp6eQorbXNnaWQgIm1hbmRhdG9yeSBzdGF0ZSBvZiB0aGUgbG9jazogMCAobm9uZSksIDEgKHNldCkiCittc2dzdHIgIuW/heimgeeLgOaFi+eahOmOluWumu+8mjAgKOeEoSnvvIwxICjoqK3lrpopIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo3OQorIywgZnV6enkKK21zZ2lkICJyZWxhdGl2ZSBieXRlIG9mZnNldCBvZiB0aGUgbG9jayIKK21zZ3N0ciAi55u45bCN55qE5L2N5YWD57WE5YGP56e755qE6Y6W5a6aIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo4MAorIywgZnV6enkKK21zZ2lkICJlbmRpbmcgb2Zmc2V0IG9mIHRoZSBsb2NrIgorbXNnc3RyICLntZDmnZ/pg6jliIblgY/np7vnmoTpjpblrpoiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgxCisjLCBmdXp6eQorbXNnaWQgInBhdGggb2YgdGhlIGxvY2tlZCBmaWxlIgorbXNnc3RyICLot6/lvpHnmoTpjpblrprnmoTmqpTmoYgiCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjgyCisjLCBmdXp6eQorbXNnaWQgIlBJRCBvZiB0aGUgcHJvY2VzcyBibG9ja2luZyB0aGUgbG9jayIKK21zZ3N0ciAiUElEIOeahOiZleeQhuS/neaciemOluWumiIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjU5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBJRCIKK21zZ3N0ciAi5YmW5p6QICVzIOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy9sc2xvY2tzLmM6MjgxIHN5cy11dGlscy9uc2VudGVyLmM6MjY0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHBpZCIKK21zZ3N0ciAi5YmW5p6QIHBpZCDmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjI4NAorIywgZnV6enkKK21zZ2lkICIodW5rbm93bikiCittc2dzdHIgIijkuI3mmI4pIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzoyOTMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLliZbmnpDplovlp4vmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjMwMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICLliZbmnpDntZDmnZ/mmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjQ5OAorIywgZnV6enkKK21zZ2lkICJMaXN0IGxvY2FsIHN5c3RlbSBsb2Nrcy5cbiIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a57O757Wx5pmC6ZCY44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvbHNsb2Nrcy5jOjUwMgorbXNnaWQgIiAtaSwgLS1ub2luYWNjZXNzaWJsZSAgIGlnbm9yZSBsb2NrcyB3aXRob3V0IHJlYWQgcGVybWlzc2lvbnNcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDMgc3lzLXV0aWxzL2xzbnMuYzo5MDMgc3lzLXV0aWxzL3Jma2lsbC5jOjU3MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDQgc3lzLXV0aWxzL2xzbnMuYzo5MDQgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDUKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBkaXNwbGF5IG9ubHkgbG9ja3MgaGVsZCBieSB0aGlzIHByb2Nlc3NcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1MDYgc3lzLXV0aWxzL2xzbnMuYzo5MDYgc3lzLXV0aWxzL3Jma2lsbC5jOjU3NQorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL2xzbG9ja3MuYzo1NjMgc2NoZWR1dGlscy9jaHJ0LmM6NDc1IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTc3CisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxNzEgc3lzLXV0aWxzL2xzbnMuYzo5ODMgc3lzLXV0aWxzL3BybGltaXQuYzo1ODUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBQSUQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahCBQSUQg5byV5pW4IgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzo4NgorbXNnaWQgIkdlbmVyYXRlIG1hZ2ljIGNvb2tpZXMgZm9yIHhhdXRoLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjg5CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkwCittc2dpZCAiIC1tLCAtLW1heC1zaXplIDxudW0+ICBsaW1pdCBob3cgbXVjaCBpcyByZWFkIGZyb20gc2VlZCBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjkxCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBtaXNjLXV0aWxzL21jb29raWUuYzoxMjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdvdCAlenUgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlenUgYnl0ZXMgZnJvbSAlc1xuIgorbXNnc3RyWzBdICLlvp4gJTIkcyDlj5blvpcgJTEkZCDkvY3lhYPntYRcbiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zaW5nICVzIGZhaWxlZCIKK21zZ3N0ciAi6Zec6ZaJICVzIOWkseaVlyIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTY0IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MTQ2IHN5cy11dGlscy9mc3RyaW0uYzozMTAKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjExNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIgorbXNnc3RyICLliZbmnpDplbfluqbmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbWNvb2tpZS5jOjE3NworbXNnaWQgIi0tbWF4LXNpemUgaWdub3JlZCB3aGVuIHVzZWQgd2l0aG91dCAtLWZpbGUiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy9tY29va2llLmM6MTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHb3QgJWQgYnl0ZSBmcm9tICVzXG4iCittc2dpZF9wbHVyYWwgIkdvdCAlZCBieXRlcyBmcm9tICVzXG4iCittc2dzdHJbMF0gIuW+niAlMiRzIOWPluW+lyAlMSRkIOS9jeWFg+e1hFxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6OTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgc3ltbGluazogJXMiCittc2dzdHIgIuiugOWPluespuiZn+mAo+e1kOaZguWkseaVl++8miVzIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MjgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyAtIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiJXMgLSDmspLmnInmraTpoZ7mqpTmoYjmiJbnm67pjIRcbiIKKworIzogbWlzYy11dGlscy9uYW1laS5jOjMzMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8cGF0aG5hbWU+Li4uXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8ZGV2aWNlPiBbLi4uXVxuIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzM2Cittc2dpZCAiRm9sbG93IGEgcGF0aG5hbWUgdW50aWwgYSB0ZXJtaW5hbCBwb2ludCBpcyBmb3VuZC5cbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6MzQwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXgsIC0tbW91bnRwb2ludHMgICBzaG93IG1vdW50IHBvaW50IGRpcmVjdG9yaWVzIHdpdGggYSAnRCdcbiIKKyIgLW0sIC0tbW9kZXMgICAgICAgICBzaG93IHRoZSBtb2RlIGJpdHMgb2YgZWFjaCBmaWxlXG4iCisiIC1vLCAtLW93bmVycyAgICAgICAgc2hvdyBvd25lciBhbmQgZ3JvdXAgbmFtZSBvZiBlYWNoIGZpbGVcbiIKKyIgLWwsIC0tbG9uZyAgICAgICAgICB1c2UgYSBsb25nIGxpc3RpbmcgZm9ybWF0ICgtbSAtbyAtdikgXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAgZG9uJ3QgZm9sbG93IHN5bWxpbmtzXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAgdmVydGljYWwgYWxpZ24gb2YgbW9kZXMgYW5kIG93bmVyc1xuIgorbXNnc3RyICIiCisiIC1oLCAtLWhlbHAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO5paH5a2XXG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisiIC14LCAtLW1vdW50cG9pbnRzICAg6aGv56S65o6b6LyJ6bue55uu6YyE6IiH44COROOAj1xuIgorIiAtbSwgLS1tb2RlcyAgICAgICAgIOmhr+ekuuaooeW8j+S9jeWFg+eahOavj+WAi+aqlOahiFxuIgorIiAtbywgLS1vd25lcnMgICAgICAgIOmhr+ekuuaTgeacieiAheWSjOe+pOe1hOWQjeeoseeahOavj+WAi+aqlOahiFxuIgorIiAtbCwgLS1sb25nICAgICAgICAgIOS9v+eUqOmVt+WIl+ihqOagvOW8jyAoLW0gLW8gLXYpXG4iCisiIC1uLCAtLW5vc3ltbGlua3MgICAg5LiN6L+96Zqo56ym6Jmf6YCj57WQXG4iCisiIC12LCAtLXZlcnRpY2FsICAgICAg5Z6C55u05bCN6b2K55qE5qih5byP5ZKM5pOB5pyJ6ICFXG4iCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MDgKKyMsIGZ1enp5Cittc2dpZCAicGF0aG5hbWUgYXJndW1lbnQgaXMgbWlzc2luZyIKK21zZ3N0ciAi6Lev5b6R5ZCN56ix5byV5pW457y65bCRIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDE0IHN5cy11dGlscy9sc25zLmM6MTA1NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gYWxsb2NhdGUgVUlEIGNhY2hlIgorbXNnc3RyICLphY3nva7ov63ku6PlmajmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvbmFtZWkuYzo0MTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIEdJRCBjYWNoZSIKK21zZ3N0ciAi6YWN572u6L+t5Luj5Zmo5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL25hbWVpLmM6NDM5CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBleGNlZWRlZCBsaW1pdCBvZiBzeW1saW5rcyIKK21zZ3N0ciAiJXPvvJrotoXlh7rnrKbomZ/pgKPntZDnmoTpmZDliLYiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6NjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBzeW1ib2xpYyBsaW5rIgorbXNnc3RyICIlc++8muS4jeaYr+WNgOWhiuijnee9riIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo3MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlYWRsaW5rIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrplovllZ/lpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODIKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2tpcHBpbmcgZXhpc3RpbmcgbGluazogYCVzJ1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6ODkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmxpbmsgZmFpbGVkIgorbXNnc3RyICIlc++8mmxzZWVrIOWkseaVlyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzo5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN5bWxpbmtpbmcgdG8gJXMgZmFpbGVkIgorbXNnc3RyICIlc++8muW7uueri+mAo+e1kOWIsCAlcyDlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTa2lwcGluZyBleGlzdGluZyBmaWxlOiBgJXMnXG4iCittc2dzdHIgIuKApui3s+WIsOaqlOahiCAiCisKKyM6IG1pc2MtdXRpbHMvcmVuYW1lLmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcmVuYW1lIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrlu7rnq4vpgKPntZDliLAgJXMg5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8ZXhwcmVzc2lvbj4gPHJlcGxhY2VtZW50PiA8ZmlsZT4uLi5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIOmBi+eul+W8j+e9ruaPm+aqlOahiOKAplxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjEzOAorIywgZnV6enkKK21zZ2lkICJSZW5hbWUgZmlsZXMuXG4iCittc2dzdHIgInVuYW1lIOWkseaVlyIKKworIzogbWlzYy11dGlscy9yZW5hbWUuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3ltbGluayAgICAgICBhY3Qgb24gdGhlIHRhcmdldCBvZiBzeW1saW5rc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBub3QgbWFrZSBhbnkgY2hhbmdlc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL3JlbmFtZS5jOjE0NAorbXNnaWQgIiAtbywgLS1uby1vdmVyd3JpdGUgIGRvbid0IG92ZXJ3cml0ZSBleGlzdGluZyBmaWxlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NAorbXNnaWQgIkEgZGFlbW9uIGZvciBnZW5lcmF0aW5nIFVVSURzLlxuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkIDxwYXRoPiAgICAgICAgcGF0aCB0byBwaWQgZmlsZVxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICDnn63pgbjpoIXngrrovqjorZjnmoRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zb2NrZXQgPHBhdGg+ICAgICBwYXRoIHRvIHNvY2tldFxuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICDnn63pgbjpoIXngrrovqjorZjnmoRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS10aW1lb3V0IDxzZWM+ICAgICBzcGVjaWZ5IGluYWN0aXZpdHkgdGltZW91dFxuIgorbXNnc3RyICIgLXcgIC0tdGltZW91dCA8c2Vjcz4gICAgIOetieW+hemZkOWItueahOaVuOebrueahOaZgumWk1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIGtpbGwgcnVubmluZyBkYWVtb25cbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg5YiX5Y2w5omA5pyJ56ym6Jmf77yM5Y2z5L2/6KiI5pW45pivIDBcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcwCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICDpoa/npLrlu7rnq4vogIXlkozmk4HmnInogIVcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10aW1lICAgICAgICAgICAgICB0ZXN0IHRpbWUtYmFzZWQgZ2VuZXJhdGlvblxuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICDpqYXli5XnqIvlvI/nrYnlvoXmmYLplpPlnKjkuK3mr6vnp5JcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjcyCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS11dWlkcyA8bnVtPiAgICAgICByZXF1ZXN0IG51bWJlciBvZiB1dWlkc1xuIgorbXNnc3RyICIgICAgLUgjIFvmiJYgLS1oZWFkcyAjXe+8miAgIOioreWumuimgeeUqOeahOejgemgreaVuOmHjyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjczCisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1uby1waWQgICAgICAgICAgICBkbyBub3QgY3JlYXRlIHBpZCBmaWxlXG4iCittc2dzdHIgIiAtcSwgLS1zdGF0cyAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuue1seioiOmXnOaWvCB0dHlcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICBkbyBub3QgZGFlbW9uaXplIHVzaW5nIGRvdWJsZS1mb3JrXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24gZG8gbm90IGNyZWF0ZSBsaXN0ZW5pbmcgc29ja2V0XG4iCittc2dzdHIgIuWFqeiAhSAtLXNvY2tldC1hY3RpdmF0aW9uIOWSjCAtLXNvY2tldCDmjIflrprnmoTjgILlv73nlaUgLS1zb2NrZXRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBydW4gaW4gZGVidWdnaW5nIG1vZGVcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorbXNnc3RyICIgICAgLXEgIFvmiJYgLS1xdWlldF3vvJogICAgIOaKkeWItuitpuWRiuioiuaBryIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjEwOQorbXNnaWQgImJhZCBhcmd1bWVudHMiCittc2dzdHIgIuS4jeeVtueahOW8leaVuCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjExNgorbXNnaWQgInNvY2tldCIKK21zZ3N0ciAi6YCa6KiK56uvIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTI3Cittc2dpZCAiY29ubmVjdCIKK21zZ3N0ciAi6YCj5o6lIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MTQ3Cittc2dpZCAid3JpdGUiCittc2dzdHIgIuWvq+WFpSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE1NQorbXNnaWQgInJlYWQgY291bnQiCittc2dzdHIgIuiugOWPluioiOaVuCIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjE2MQorbXNnaWQgImJhZCByZXNwb25zZSBsZW5ndGgiCittc2dzdHIgIuS4jeeVtueahOWbnuaHiemVt+W6piIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGxvY2sgJXMiCittc2dzdHIgIueEoeazlemWi+WVnyAlcyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjIzNworIywgZnV6enkKK21zZ2lkICJjb3VsZG4ndCBjcmVhdGUgdW5peCBzdHJlYW0gc29ja2V0IgorbXNnc3RyICLnhKHms5Xlu7rnq4sgdW5peCDkuLLmtYHpgJroqIrnq6/vvJolbSIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgYmluZCB1bml4IHNvY2tldCAlcyIKK21zZ3N0ciAi54Sh5rOV57mr57WQIHVuaXgg6YCa6KiK56uvICVz77yaJW1cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjI4OQorIywgZnV6enkKK21zZ2lkICJyZWNlaXZpbmcgc2lnbmFsIGZhaWxlZCIKK21zZ3N0ciAi6YeN5paw5ZG95ZCNICVzIOWIsCAlcyDlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozMDIKK21zZ2lkICJ0aW1lZCBvdXQiCittc2dzdHIgIuW3sumAvuaZgiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjMzNiBzeXMtdXRpbHMvZmxvY2suYzoyNzIKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IHNldCB1cCB0aW1lciIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a576k57WE6K2Y5Yil6JmfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzQ0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1dWlkZCBkYWVtb24gaXMgYWxyZWFkeSBydW5uaW5nIGF0IHBpZCAlcyIKK21zZ3N0ciAidXVpZGQg5a6I6K2356iL5byP5bey57aT5LulIHBpZCAlcyDpgYvooYzkuK1cbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3QgbGlzdGVuIG9uIHVuaXggc29ja2V0ICVzIgorbXNnc3RyICLnhKHms5Xogb3lj5bmlrwgdW5peCDpgJroqIrnq68gJXPvvJolbVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgdHJ1bmNhdGUgZmlsZTogJXMiCittc2dzdHIgIueEoeazlemhr+ekuueLgOaFi+OAjCVz44CNIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgInNkX2xpc3Rlbl9mZHMoKSBmYWlsZWQiCittc2dzdHIgInNldHRpbWVvZmRheSgpIOWkseaVlyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjM4MAorbXNnaWQgIm5vIGZpbGUgZGVzY3JpcHRvcnMgcmVjZWl2ZWQsIGNoZWNrIHN5c3RlbWN0bCBzdGF0dXMgdXVpZGQuc29ja2V0IgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzozODMKKyMsIGZ1enp5Cittc2dpZCAidG9vIG1hbnkgZmlsZSBkZXNjcmlwdG9ycyByZWNlaXZlZCwgY2hlY2sgdXVpZGQuc29ja2V0IgorbXNnc3RyICLmspLmnInmiJblpKrlpJrmqpTmoYjmj4/ov7DnrKbomZ/mjqXmlLbjgIJcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQxNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZW91dCBbJWQgc2VjXVxuIgorbXNnc3RyICLlt7LpgL7mmYLkuYvlvowgJXUg56eSIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDM0IHRlcm0tdXRpbHMvc2V0dGVybS5jOjg5OSB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ5NgorIzogdGV4dC11dGlscy9jb2x1bW4uYzo1MjkKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBmYWlsZWQiCittc2dzdHIgImZyZWFkIOWkseaVlyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQzNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgcmVhZGluZyBmcm9tIGNsaWVudCwgbGVuID0gJWQiCittc2dzdHIgIuW+nuWuouaItuerr+iugOWPluaZgueZvOeUn+mMr+iqpO+8jOmVt+W6piA9ICVkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NDUKKyMsIGMtZm9ybWF0Cittc2dpZCAib3BlcmF0aW9uICVkLCBpbmNvbWluZyBudW0gPSAlZFxuIgorbXNnc3RyICLmk43kvZwgJWTvvIzljbPlsIfkvobliLDnmoTmlbjlrZcgPSAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NDQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIm9wZXJhdGlvbiAlZFxuIgorbXNnc3RyICLmk43kvZwgJWRcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjQ2NAorIywgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgdGltZSBVVUlEOiAlc1xuIgorbXNnc3RyICLnlKLnlJ/nmoTmmYLplpMgVVVJRO+8miVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiR2VuZXJhdGVkIHJhbmRvbSBVVUlEOiAlc1xuIgorbXNnc3RyICLnlKLnlJ/nmoTpmqjmqZ8gVVVJRO+8miVzXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo0ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkdlbmVyYXRlZCB0aW1lIFVVSUQgJXMgYW5kICVkIGZvbGxvd2luZ1xuIgorbXNnaWRfcGx1cmFsICJHZW5lcmF0ZWQgdGltZSBVVUlEICVzIGFuZCAlZCBmb2xsb3dpbmdcbiIKK21zZ3N0clswXSAi55Si55Sf55qE5pmC6ZaTIFVVSUQgJXMg5ZKMICVkIOS4i+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJHZW5lcmF0ZWQgJWQgVVVJRDpcbiIKK21zZ2lkX3BsdXJhbCAiR2VuZXJhdGVkICVkIFVVSURzOlxuIgorbXNnc3RyWzBdICLnlKLnlJ8gJWQgVVVJRO+8mlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTE4CisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgb3BlcmF0aW9uICVkXG4iCittc2dzdHIgIueEoeaViOeahOaTjeS9nCAlZFxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTMwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmV4cGVjdGVkIHJlcGx5IGxlbmd0aCBmcm9tIHNlcnZlciAlZCIKK21zZ3N0ciAi5pyq6aCQ5pyf55qE5Zue6KaG6ZW35bqm5b6e5Ly65pyN5ZmoICVkIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NTkxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXV1aWRzIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjYwOAorIywgZnV6enkKK21zZ2lkICJ1dWlkZCBoYXMgYmVlbiBidWlsdCB3aXRob3V0IHN1cHBvcnQgZm9yIHNvY2tldCBhY3RpdmF0aW9uIgorbXNnc3RyICJ1dWlkZCDlt7LooqsgYnVpbHQg6ICM54Sh6ZyA5pSv5o+055So5pa86YCa6KiK56uv5rS75YyW44CCXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2MjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGltZW91dCIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NjQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzb2NrZXQgbmFtZSB0b28gbG9uZzogJXMiCittc2dzdHIgIuWNt+WGiuWQjeeoseWkqumVtyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY0NworIywgZnV6enkKK21zZ2lkICJCb3RoIC0tc29ja2V0LWFjdGl2YXRpb24gYW5kIC0tc29ja2V0IHNwZWNpZmllZC4gSWdub3JpbmcgLS1zb2NrZXQuIgorbXNnc3RyICLlhanogIUgLS1zb2NrZXQtYWN0aXZhdGlvbiDlkowgLS1zb2NrZXQg5oyH5a6a55qE44CC5b+955WlIC0tc29ja2V0XG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTQgbWlzYy11dGlscy91dWlkZC5jOjY4MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3IgY2FsbGluZyB1dWlkZCBkYWVtb24gKCVzKSIKK21zZ3N0ciAi5ZG85Y+rIHV1aWRkIOWuiOitt+eoi+W8jyAoJXMpIOaZgueZvOeUn+mMr+iqpO+8miVtXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGQuYzo2NTUgbWlzYy11dGlscy91dWlkZC5jOjY4MworIywgZnV6enkKK21zZ2lkICJ1bmV4cGVjdGVkIGVycm9yIgorbXNnc3RyICIlc++8muacqumgkOacn+eahOaqlOahiOagvOW8jyIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYW5kICVkIHN1YnNlcXVlbnQgVVVJRFxuIgorbXNnaWRfcGx1cmFsICIlcyBhbmQgJWQgc3Vic2VxdWVudCBVVUlEc1xuIgorbXNnc3RyWzBdICIlcyDlkowgJWQg5b6M57qMIFVVSURcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY2NworIywgYy1mb3JtYXQKK21zZ2lkICJMaXN0IG9mIFVVSURzOlxuIgorbXNnc3RyICJVVUlEcyDliJfooajvvJpcbiIKKworIzogbWlzYy11dGlscy91dWlkZC5jOjY5OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY291bGRuJ3Qga2lsbCB1dWlkZCBydW5uaW5nIGF0IHBpZCAlZCIKK21zZ3N0ciAi54Sh5rOV56CN6ZmkIHV1aWRkIOWft+ihjOS4reaWvCBwaWQgJWTvvJolbVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRkLmM6NzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJLaWxsZWQgdXVpZGQgcnVubmluZyBhdCBwaWQgJWQuXG4iCittc2dzdHIgIuW3suegjemZpOWft+ihjOaWvCBwaWQgJWQg55qEIHV1aWRkXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjI5Cittc2dpZCAiQ3JlYXRlIGEgbmV3IFVVSUQgdmFsdWUuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJhbmRvbSAgICAgICAgZ2VuZXJhdGUgcmFuZG9tLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOmhr+ekuuW7uueri+iAheWSjOaTgeacieiAhVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozMworIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdGltZSAgICAgICAgICBnZW5lcmF0ZSB0aW1lLWJhc2VkIHV1aWRcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAg6amF5YuV56iL5byP562J5b6F5pmC6ZaT5Zyo5Lit5q+r56eSXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM0Cittc2dpZCAiIC1uLCAtLW5hbWVzcGFjZSBucyAgZ2VuZXJhdGUgaGFzaC1iYXNlZCB1dWlkIGluIHRoaXMgbmFtZXNwYWNlXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkZ2VuLmM6MzUKK21zZ2lkICIgLU4sIC0tbmFtZSBuYW1lICAgICBnZW5lcmF0ZSBoYXNoLWJhc2VkIHV1aWQgZnJvbSB0aGlzIG5hbWVcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozNgorIywgZnV6enkKK21zZ2lkICIgLW0sIC0tbWQ1ICAgICAgICAgICBnZW5lcmF0ZSBtZDUgaGFzaFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg5p+l6Kmi5omA5pyJ5Y6f5aeL6KOd572uXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZGdlbi5jOjM3CisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zaGExICAgICAgICAgIGdlbmVyYXRlIHNoYTEgaGFzaFxuIgorbXNnc3RyICIgLXMgIC0tc2hhcmVkICAgICAgICAgICAgIOaPkOWPluWFseS6q+eahOmOluWumlxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRnZW4uYzozOAorIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICBpbnRlcnByZXQgbmFtZSBhcyBoZXggc3RyaW5nXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjc2CisjLCBmdXp6eQorbXNnaWQgInVuaXF1ZSBpZGVudGlmaWVyIgorbXNnc3RyICLllK/kuIDosq/ol4/pq5TorZjliKXnorwiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzcKKyMsIGZ1enp5Cittc2dpZCAidmFyaWFudCBuYW1lIgorbXNnc3RyICLliIblibLlkI3nqLEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAidHlwZSBuYW1lIgorbXNnc3RyICLkvb/nlKjogIXlkI3nqLEiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6NzkKK21zZ2lkICJ0aW1lc3RhbXAiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzo5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXVpZCAuLi4+XG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbPGZpbGU+XVxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MiCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIENPTFVNTlMgdG8gZGlzcGxheSAoc2VlIGJlbG93KSIKK21zZ3N0ciAiIC1vLCAtLW9wdGlvbnMgPG9wdHN0cmluZz4gICAg55+t6YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQiCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE3MiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE5MQorIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMjIKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCIKK21zZ3N0ciAi54Sh5pWI55qE6K2Y5Yil6JmfIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjE4NgorbXNnaWQgIm90aGVyIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MTk3Cittc2dpZCAibmlsIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjAyCittc2dpZCAidGltZS1iYXNlZCIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3V1aWRwYXJzZS5jOjIwOAorbXNnaWQgIm5hbWUtYmFzZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTEKK21zZ2lkICJyYW5kb20iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy91dWlkcGFyc2UuYzoyMTQKK21zZ2lkICJzaGExLWJhc2VkIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvdXVpZHBhcnNlLmM6MjY3IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTcwIHN5cy11dGlscy9sc2NwdS5jOjE3MjIKKyM6IHN5cy11dGlscy9sc25zLmM6ODA2IHN5cy11dGlscy96cmFtY3RsLmM6NDk2Cittc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi5Yid5aeL5YyW6Ly45Ye65qyE5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1CTVMgPGRpcj4uLi4gLWZdIDxuYW1lPlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWzxmaWxlPl1cbiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjAyCittc2dpZCAiTG9jYXRlIHRoZSBiaW5hcnksIHNvdXJjZSwgYW5kIG1hbnVhbC1wYWdlIGZpbGVzIGZvciBhIGNvbW1hbmQuXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjA1CisjLCBmdXp6eQorbXNnaWQgIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGZvciBiaW5hcmllc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDYKK21zZ2lkICIgLUIgPGRpcnM+ICBkZWZpbmUgYmluYXJpZXMgbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDcKKyMsIGZ1enp5Cittc2dpZCAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgZm9yIG1hbnVhbHMgYW5kIGluZm9zXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIwOAorbXNnaWQgIiAtTSA8ZGlycz4gIGRlZmluZSBtYW4gYW5kIGluZm8gbG9va3VwIHBhdGhcbiIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMDkKK21zZ2lkICIgLXMgICAgICAgICBzZWFyY2ggb25seSBmb3Igc291cmNlc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMAorbXNnaWQgIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6MjExCisjLCBmdXp6eQorbXNnaWQgIiAtZiAgICAgICAgIHRlcm1pbmF0ZSA8ZGlycz4gYXJndW1lbnQgbGlzdFxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIOe1guatouWRveS7pOiIh+aPm+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL3doZXJlaXMuYzoyMTIKK21zZ2lkICIgLXUgICAgICAgICBzZWFyY2ggZm9yIHVudXN1YWwgZW50cmllc1xuIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2hlcmVpcy5jOjIxMworbXNnaWQgIiAtbCAgICAgICAgIG91dHB1dCBlZmZlY3RpdmUgbG9va3VwIHBhdGhzXG4iCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aGVyZWlzLmM6NjQ4CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbiAtZiBpcyBtaXNzaW5nIgorbXNnc3RyICLot6/lvpHlkI3nqLHlvJXmlbjnvLrlsJEiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgInBhcnRpdGlvbi9maWxlc3lzdGVtIFVVSUQiCittc2dzdHIgIuaqlOahiOezu+e1sSBVVUlEIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNQorbXNnaWQgIm1hZ2ljIHN0cmluZyBsZW5ndGgiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzoxMDYKK21zZ2lkICJzdXBlcmJsb2sgdHlwZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwNworIywgZnV6enkKK21zZ2lkICJtYWdpYyBzdHJpbmcgb2Zmc2V0IgorbXNnc3RyICLkuI3nlbbnmoQgaW5vZGUg5YGP56e75YC8IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjEwOAorIywgZnV6enkKK21zZ2lkICJ0eXBlIGRlc2NyaXB0aW9uIgorbXNnc3RyICLml5fmqJnmj4/ov7AiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgImJsb2NrIGRldmljZSBuYW1lIgorbXNnc3RyICLljYDloYroo53nva4gIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjMxOAorIywgZnV6enkKK21zZ2lkICJwYXJ0aXRpb24tdGFibGUiCittc2dzdHIgIuWIhuWJsuaomeiyvCIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo0MDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBwcm9iaW5nIGluaXRpYWxpemF0aW9uIGZhaWxlZCIKK21zZ3N0ciAi6Yyv6Kqk77yaJXPvvJroqabmjqLliJ3lp4vljJbmmYLlpLHmlZciCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGVyYXNlICVzIG1hZ2ljIHN0cmluZyBhdCBvZmZzZXQgMHglMDhqeCIKK21zZ3N0ciAiJXPvvJrnhKHms5XmuIXpmaQgJXMg6a2U6KGT5a2X5Liy5pa85YGP56e7IDB4JTA4IGp4IgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICV6ZCBieXRlIHdhcyBlcmFzZWQgYXQgb2Zmc2V0IDB4JTA4anggKCVzKTogIgorbXNnaWRfcGx1cmFsICIlczogJXpkIGJ5dGVzIHdlcmUgZXJhc2VkIGF0IG9mZnNldCAweCUwOGp4ICglcyk6ICIKK21zZ3N0clswXSAiJXPvvJolemQg5L2N5YWD57WE6KKr5riF6Zmk5pa85YGP56e7IDB4JTA4IGp4ICglcynvvJoiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGNyZWF0ZSBhIHNpZ25hdHVyZSBiYWNrdXAiCittc2dzdHIgIiVz77ya54Sh5rOV5a+r5YWl57C95ZCN6aCB6Z2iIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbGxpbmcgaW9jdGwgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGU6ICVtXG4iCittc2dzdHIgIuWRvOWPqyBpb2N0bCgpIOS7pemHjeaWsOiugOWPluWIhuWJsuihqOOAglxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjUyOAorbXNnaWQgImZhaWxlZCB0byBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwLCAkSE9NRSB1bmRlZmluZWQiCittc2dzdHIgIiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1NDYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlnbm9yaW5nIG5lc3RlZCBcIiVzXCIgcGFydGl0aW9uIHRhYmxlIG9uIG5vbi13aG9sZSBkaXNrIGRldmljZSIKK21zZ3N0ciAiIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjU3NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAweCVqeCBub3QgZm91bmQiCittc2dzdHIgIiVz77ya5om+5LiN5Yiw5YGP56e7IDB4JWp4ICIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo1ODAKKyMsIGZ1enp5Cittc2dpZCAiVXNlIHRoZSAtLWZvcmNlIG9wdGlvbiB0byBmb3JjZSBlcmFzZS4iCittc2dzdHIgIuS9v+eUqCAtLWZvcmNlIOaXl+aomeS7pemngeWbnuaJgOacieaqouafpeOAglxuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwNQorIywgZnV6enkKK21zZ2lkICJXaXBlIHNpZ25hdHVyZXMgZnJvbSBhIGRldmljZS4iCittc2dzdHIgIiVz77ya5a+r5YWl57C956ug5pmC5aSx5pWXIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYwOAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISkiCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhY2t1cCAgICAgICAgY3JlYXRlIGEgc2lnbmF0dXJlIGJhY2t1cCBpbiAkSE9NRSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlr6vlhaXnsL3lkI3poIHpnaIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JjZSAgICAgICAgIGZvcmNlIGVyYXN1cmUiCittc2dzdHIgIiAtZiAg5by35Yi25qqi5p+lXG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjExCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2hlYWRpbmdzICAgIGRvbid0IHByaW50IGhlYWRpbmdzIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjYxMgorIywgZnV6enkKK21zZ2lkICIgLUosIC0tanNvbiAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTMKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vLWFjdCAgICAgICAgZG8gZXZlcnl0aGluZyBleGNlcHQgdGhlIGFjdHVhbCB3cml0ZSgpIGNhbGwiCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IHRvIGVyYXNlLCBpbiBieXRlcyIKK21zZ3N0ciAiIC10LCAtLXNldC1mbHVzaCA8bnVtPiAgICAgICAgICAgICAg6Kit5a6a5riF55CG6YC+5pmC5Yiw5YC8XG4iCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE1Cittc2dpZCAiIC1PLCAtLW91dHB1dCA8bGlzdD4gQ09MVU1OUyB0byBkaXNwbGF5IChzZWUgYmVsb3cpIgorbXNnc3RyICIiCisKKyM6IG1pc2MtdXRpbHMvd2lwZWZzLmM6NjE2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1wYXJzYWJsZSAgICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQiCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTcKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzIgorbXNnc3RyICIgICAgLXEgIFvmiJYgLS1xdWlldF3vvJogICAgIOaKkeWItuitpuWRiuioiuaBryIKKworIzogbWlzYy11dGlscy93aXBlZnMuYzo2MTgKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzIgorbXNnc3RyICIgICBsICAg5YiX5Ye65bey55+l5qqU5qGI57O757Wx6aGe5Z6LIgorCisjOiBtaXNjLXV0aWxzL3dpcGVmcy5jOjcyNAorIywgZnV6enkKK21zZ2lkICJUaGUgLS1iYWNrdXAgb3B0aW9uIGlzIG1lYW5pbmdsZXNzIGluIHRoaXMgY29udGV4dCIKK21zZ3N0ciAi6YG46aCFIC0tb2Zmc2V0IOacquiiq+WFgeioseWcqOS4remAmeWAi+iqnuWig+OAgiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTM1Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjEzNworIywgZnV6enkKK21zZ2lkICIiCisiU2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gPHByaW9yaXR5PiA8Y29tbWFuZD4gWzxhcmc+Li4uXVxuIgorIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iCittc2dzdHIgIiIKKyJcbiIKKyIgY2hydCAtIOaTjeaOp+ihjOeoi+eahOWNs+aZguWxrOaAp1xuIgorIlxuIgorIuioreWumuetlueVpe+8mlxuIgorIiAgY2hydCBb6YG46aCFXSA8cG9saWN5PiA8cHJpb3JpdHk+IHs8cGlkPiB8PGNvbW1hbmQ+IFs8YXJnPi4uLl19XG4iCisiXG4iCisi5Y+W5b6X562W55Wl77yaXG4iCisiICBjaHJ0IFvpgbjpoIVdIHs8cGlkPiB8IDxjb21tYW5kPiBbPGFyZz4uLi5dfVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDEKK21zZ2lkICIiCisiR2V0IHBvbGljeTpcbiIKKyIgY2hydCBbb3B0aW9uc10gLXAgPHBpZD5cbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDUKKyMsIGZ1enp5Cittc2dpZCAiUG9saWN5IG9wdGlvbnM6XG4iCittc2dzdHIgIuizh+a6kOmBuOmghe+8mlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDYKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJhdGNoICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfQkFUQ0hcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWRlYWRsaW5lICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfREVBRExJTkVcbiIKK21zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNDgKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE0OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWRsZSAgICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9JRExFXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUwCisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdGhlciAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX09USEVSXG4iCittc2dzdHIgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICDoqK3lrprlkIzkvY3liLDlpYfmlbhcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU0CisjLCBmdXp6eQorbXNnaWQgIlNjaGVkdWxpbmcgb3B0aW9uczpcbiIKK21zZ3N0ciAi6Ly45Ye65qC85byP77yaXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE1NQorIywgZnV6enkKK21zZ2lkICIgLVIsIC0tcmVzZXQtb24tZm9yayAgICAgICBzZXQgU0NIRURfUkVTRVRfT05fRk9SSyBmb3IgRklGTyBvciBSUlxuIgorbXNnc3RyICIiCisiXG4iCisi5o6S56iL5peX5qiZ77yaXG4iCisiICAtUiB8IC0tcmVzZXQtb24tZm9yayDoqK3lrpogU0NIRURfUkVTRVRfT05fRk9SSyDnlKjmlrwgRklGTyDmiJYgUlJcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU2Cittc2dpZCAiIC1ULCAtLXNjaGVkLXJ1bnRpbWUgPG5zPiAgcnVudGltZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTU3Cittc2dpZCAiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNTgKK21zZ2lkICIgLUQsIC0tc2NoZWQtZGVhZGxpbmUgPG5zPiBkZWFkbGluZSBwYXJhbWV0ZXIgZm9yIERFQURMSU5FXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIk90aGVyIG9wdGlvbnM6XG4iCittc2dzdHIgIui8uOWHuuagvOW8j++8mlxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjIKK21zZ2lkICIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiIC1tLCAtLW1heCAgICAgICAgICAgIHNob3cgbWluIGFuZCBtYXggdmFsaWQgcHJpb3JpdGllc1xuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MTY0CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjE2NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgZGlzcGxheSBzdGF0dXMgaW5mb3JtYXRpb25cbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyMzEgc2NoZWR1dGlscy9jaHJ0LmM6MjUzCisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLlj5blvpcgcGlkICVkIOeahOetlueVpeaZguWkseaVlyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgYXR0cmlidXRlcyIKK21zZ3N0ciAi5Y+W5b6XIHBpZCAlZCDnmoTlsazmgKfmmYLlpLHmlZciCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI2NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkICVkIOaWsOeahOaOkueoi+etlueVpe+8miIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MjY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIKK21zZ3N0ciAicGlkICVkIOebruWJjeeahOaOkueoi+etlueVpe+8miIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBzY2hlZHVsaW5nIHByaW9yaXR5OiAlZFxuIgorbXNnc3RyICJwaWQgJWQg5paw55qE5o6S56iL5YSq5YWI5qyK77yaJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mjc3CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIKK21zZ3N0ciAicGlkICVkIOebruWJjeeahOaOkueoi+WEquWFiOasiu+8miVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI4MgorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIKK21zZ3N0ciAicGlkICVkIOebruWJjeeahOaOkueoi+WEquWFiOasiu+8miVkXG4iCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjI5OSBzY2hlZHV0aWxzL2NocnQuYzozOTUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9idGFpbiB0aGUgbGlzdCBvZiB0YXNrcyIKK21zZ3N0ciAi54Sh5rOV5b6X5Yiw5LqL5YuZ5riF5Zau55qEIgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIKK21zZ3N0ciAiU0NIRURfJXMg5pyA5bCPL+acgOWkp+WEquWFiOasilx077yaJWQvJWRcbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6MzM2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3Qgc3VwcG9ydGVkP1xuIgorbXNnc3RyICJTQ0hFRF8lcyDkuI3ooqvmlK/mj7TvvJ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6Mzk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRpZCAlZCdzIHBvbGljeSIKK21zZ3N0ciAi6Kit5a6aIHRpZCAlZCdzIOetlueVpeaZguWkseaVlyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDA0CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGlkICVkJ3MgcG9saWN5IgorbXNnc3RyICLoqK3lrpogcGlkICVkIOeahOetlueVpeaZguWkseaVlyIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDg0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcnVudGltZSBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE5pmC6ZaT5byV5pW4IgorCisjOiBzY2hlZHV0aWxzL2NocnQuYzo0ODcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBwZXJpb2QgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmAn+W6puW8leaVuCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NDkwCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWJjeerr+W8leaVuCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE1CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcHJpb3JpdHkgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWEquWFiOasiuW8leaVuCIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTE5CisjLCBmdXp6eQorbXNnaWQgIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciBTQ0hFRF9GSUZPIGFuZCBTQ0hFRF9SUiBwb2xpY2llcyBvbmx5IgorbXNnc3RyICJTQ0hFRF9SRVNFVF9PTl9GT1JLIOaXl+aomeWPquiiq+aUr+aPtOeUqOaWvCBTQ0hFRF9GSUZPIOWSjCBTQ0hFRF9SUiDnrZbnlaUiCisKKyM6IHNjaGVkdXRpbHMvY2hydC5jOjUyNAorbXNnaWQgIi0tc2NoZWQte3J1bnRpbWUsZGVhZGxpbmUscGVyaW9kfSBvcHRpb25zIGFyZSBzdXBwb3J0ZWQgZm9yIFNDSEVEX0RFQURMSU5FIG9ubHkiCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTM5CisjLCBmdXp6eQorbXNnaWQgIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIgorbXNnc3RyICJTQ0hFRF8lcyDkuI3ooqvmlK/mj7TvvJ9cbiIKKworIzogc2NoZWR1dGlscy9jaHJ0LmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjc2Cittc2dpZCAiaW9wcmlvX2dldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19nZXQg5aSx5pWXIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogcHJpbyAlbHVcbiIKK21zZ3N0ciAiJXPvvJrpgbjpoIUgIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjk4Cittc2dpZCAiaW9wcmlvX3NldCBmYWlsZWQiCittc2dzdHIgImlvcHJpb19zZXQg5aSx5pWXIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjEwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSAtcCA8cGlkPi4uLlxuIgorIiAlMSRzIFtvcHRpb25zXSAtUCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gLXUgPHVpZD4uLi5cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGNvbW1hbmQ+XG4iCittc2dzdHIgIiIKKyIgJTEkcyBb6YG46aCFXVxuIgorIiAlMSRzIFvpgbjpoIVdIDxkZXZpY2U+fDxtb3VudHBvaW50PlxuIgorIiAlMSRzIFvpgbjpoIVdPOijnee9rj48bW91bnRwb2ludD5cbiIKKyIgJTEkcyBb6YG46aCFXSBbLS1zb3VyY2U86KOd572uPl0gWy0tdGFyZ2V0PG1vdW50cG9pbnQ+XVxuIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExMQorbXNnaWQgIlNob3cgb3IgY2hhbmdlIHRoZSBJL08tc2NoZWR1bGluZyBjbGFzcyBhbmQgcHJpb3JpdHkgb2YgYSBwcm9jZXNzLlxuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE0Cittc2dpZCAiIgorIiAtYywgLS1jbGFzcyA8Y2xhc3M+ICAgIG5hbWUgb3IgbnVtYmVyIG9mIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjExNgorbXNnaWQgIiIKKyIgLW4sIC0tY2xhc3NkYXRhIDxudW0+ICBwcmlvcml0eSAoMC4uNykgaW4gdGhlIHNwZWNpZmllZCBzY2hlZHVsaW5nIGNsYXNzLFxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgb25seSBmb3IgdGhlIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMTgKK21zZ2lkICIgLXAsIC0tcGlkIDxwaWQ+Li4uICAgICBhY3Qgb24gdGhlc2UgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3Nlc1xuIgorbXNnc3RyICIiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTE5Cittc2dpZCAiIC1QLCAtLXBnaWQgPHBncnA+Li4uICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgaW4gdGhlc2UgZ3JvdXBzXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MTIxCittc2dpZCAiIC11LCAtLXVpZCA8dWlkPi4uLiAgICAgYWN0IG9uIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXMgb3duZWQgYnkgdGhlc2UgdXNlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE1NworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGNsYXNzIGRhdGEgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmhnuWIpeizh+aWmeW8leaVuCIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNjMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjbGFzcyBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qE6aGe5Yil5byV5pW4IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE2OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBzY2hlZHVsaW5nIGNsYXNzOiAnJXMnIgorbXNnc3RyICLkuI3mmI7mjpLnqIvpoZ7liKXvvJrjgI4lc+OAjyIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoxNzYgc2NoZWR1dGlscy9pb25pY2UuYzoxODQgc2NoZWR1dGlscy9pb25pY2UuYzoxOTIKK21zZ2lkICJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIKK21zZ3N0ciAiIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFBHSUQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahCBQSUQg5byV5pW4IgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjE5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIFVJRCBhcmd1bWVudCIKK21zZ3N0ciAi54Sh5pWI55qEIFRJRCDlvJXmlbgiCisKKyM6IHNjaGVkdXRpbHMvaW9uaWNlLmM6MjEyCittc2dpZCAiaWdub3JpbmcgZ2l2ZW4gY2xhc3MgZGF0YSBmb3Igbm9uZSBjbGFzcyIKK21zZ3N0ciAi5b+955Wl57Wm5a6a55qE54Sh6aGe5Yil6LOH5paZIgorCisjOiBzY2hlZHV0aWxzL2lvbmljZS5jOjIyMAorbXNnaWQgImlnbm9yaW5nIGdpdmVuIGNsYXNzIGRhdGEgZm9yIGlkbGUgY2xhc3MiCittc2dzdHIgIuW/veeVpee1puWumueahOmWkue9rumhnuWIpeizh+aWmSIKKworIzogc2NoZWR1dGlscy9pb25pY2UuYzoyMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gcHJpbyBjbGFzcyAlZCIKK21zZ3N0ciAi5LiN5piOIHByaW8g6aGe5YilICVkIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo1MgorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG4iCisiXG4iCittc2dzdHIgIiIKKyLnlKjms5XvvJolcyBb6YG46aCFXSBb6YGu572pfCBjcHUtbGlzdF0gW3BpZHxjbWQgW+W8leaVuC4uLl1dXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjU2Cittc2dpZCAiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iCittc2dzdHIgIiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJPcHRpb25zOlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICBvcGVyYXRlIG9uIGFsbCB0aGUgdGFza3MgKHRocmVhZHMpIGZvciBhIGdpdmVuIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorIiAtYywgLS1jcHUtbGlzdCAgICAgICAgICBkaXNwbGF5IGFuZCBzcGVjaWZ5IGNwdXMgaW4gbGlzdCBmb3JtYXRcbiIKK21zZ3N0ciAiIgorIumBuOmghe+8mlxuIgorIiAtYSwgLS1hbGwtdGFza3MgICAgICAgICDkvZznlKjmlrzmiYDmnInkuovli5kgKOWft+ihjOe3kikg55So5pa857Wm5a6a55qEIHBpZFxuIgorIiAtcCwgLS1waWQgICAgICAgICAgICAgICDkvZznlKjmlrznj77mnInntablrprnmoQgcGlkXG4iCisiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIOmhr+ekuuWSjOaMh+WumiBjcHVzIOWcqOS4rea4heWWruagvOW8j1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI5cbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisiXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjY5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKyIgICAgJTEkcyAwMyBzc2hkIC1iIDEwMjRcbiIKKyJZb3UgY2FuIHJldHJpZXZlIHRoZSBtYXNrIG9mIGFuIGV4aXN0aW5nIHRhc2s6XG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisiT3Igc2V0IGl0OlxuIgorIiAgICAlMSRzIC1wIDAzIDcwMFxuIgorIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKyIgICAgJTEkcyAtcGMgMCwzLDctMTEgNzAwXG4iCisiUmFuZ2VzIGluIGxpc3QgZm9ybWF0IGNhbiB0YWtlIGEgc3RyaWRlIGFyZ3VtZW50OlxuIgorIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIgorbXNnc3RyICIiCisi6aCQ6Kit6KGM54K65piv5Z+36KGM5paw55qE5ZG95Luk77yaXG4iCisiICAgICUxJHMgMDMgc3NoZCAtYiAxMDI0XG4iCisi5oKo5Y+v5Lul5Y+W5Zue54++5pyJ5Lu75YuZ55qE6YGu572p77yaXG4iCisiICAgICUxJHMgLXAgNzAwXG4iCisi5oiW6Kit5a6a5a6D77yaXG4iCisiICAgICUxJHMgLXAgMDMgNzAwXG4iCisi5riF5Zau5qC85byP5L2/55So5Lul6YCX6Jmf5YiG6ZqU55qE5riF5Zau5Lul5Luj5pu/6YGu572p77yaXG4iCisiICAgICUxJHMgLXBjIDAsMyw3LTExIDcwMFxuIgorIua4heWWruagvOW8j+S4reeahOevhOWcjeWPr+S7peWKoOS4iuS4gOWAi+i3qOi2iuW8leaVuO+8mlxuIgorIiAgIOS+i+Wmgu+8mjAtMzE6MiDnm7jnlbbmlrzpga7nvakgMHg1NTU1NTU1NVxuIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzo5MQorIywgYy1mb3JtYXQKK21zZ2lkICJwaWQgJWQncyBuZXcgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkIOaWsOeahOi/keS8vOiAhea4heWWru+8miVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjkyCisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIGN1cnJlbnQgYWZmaW5pdHkgbGlzdDogJXNcbiIKK21zZ3N0ciAicGlkICVkIOebruWJjeeahOi/keS8vOiAhea4heWWru+8miVzXG4iCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjk1CisjLCBjLWZvcm1hdAorbXNnaWQgInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJwaWQgJWQg5paw55qE6L+R5Ly86ICF6YGu572p77yaJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6OTYKKyMsIGMtZm9ybWF0Cittc2dpZCAicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIgorbXNnc3RyICJwaWQgJWQg55uu5YmN55qE6L+R5Ly86ICF6YGu572p77yaJXNcbiIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImludGVybmFsIGVycm9yOiBjb252ZXJzaW9uIGZyb20gY3B1c2V0IHRvIHN0cmluZyBmYWlsZWQiCittc2dzdHIgIui9ieaPm+W+niBjcHVzZXQg5Yiw5a2X5Liy5aSx5pWXIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoxMDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBhZmZpbml0eSIKK21zZ3N0ciAi6Kit5a6aIHBpZCAlZCDnmoTov5HkvLzogIXmmYLlpLHmlZciCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjExMAorIywgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIGFmZmluaXR5IgorbXNnc3RyICLlj5blvpcgcGlkICVkIOeahOi/keS8vOiAheaZguWkseaVlyIKKworIzogc2NoZWR1dGlscy90YXNrc2V0LmM6MTk1IHN5cy11dGlscy9jaGNwdS5jOjI5MgorbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciCittc2dzdHIgIueEoeazleaxuuWumiBOUl9DUFVT77yb5pS+5qOEIgorCisjOiBzY2hlZHV0aWxzL3Rhc2tzZXQuYzoyMDQgc2NoZWR1dGlscy90YXNrc2V0LmM6MjE3IHN5cy11dGlscy9jaGNwdS5jOjI5OAorbXNnaWQgImNwdXNldF9hbGxvYyBmYWlsZWQiCittc2dzdHIgImNwdXNldF9hbGxvYyDlpLHmlZciCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNCBzeXMtdXRpbHMvY2hjcHUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiCittc2dzdHIgIuWJluaekCBDUFUg5riF5Zau5pmC5aSx5pWX77yaJXMiCisKKyM6IHNjaGVkdXRpbHMvdGFza3NldC5jOjIyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIENQVSBtYXNrOiAlcyIKK21zZ3N0ciAi5YmW5p6QIENQVSDpga7nvanmmYLlpLHmlZfvvJolcyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo2OQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogWmVyby1maWxsZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjc0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBEaXNjYXJkZWQgJTxQUkl1NjQ+IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAlPFBSSXU2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjg4Cittc2dpZCAiRGlzY2FyZCB0aGUgY29udGVudCBvZiBzZWN0b3JzIG9uIGEgZGV2aWNlLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6OTEKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NAorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2VjdXJlICAgICAgICBwZXJmb3JtIHNlY3VyZSBkaXNjYXJkXG4iCittc2dzdHIgIiAtNywgLS1zZXZlbmJpdHMgICAgICAgICDoqK3lrprlrZflhYPlpKflsI/liLAgNyDkvY3lhYNcbiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLXosIC0temVyb291dCAgICAgICB6ZXJvLWZpbGwgcmF0aGVyIHRoYW4gZGlzY2FyZFxuIgorbXNnc3RyICIgLW4gIC0tbm9uYmxvY2sgICAgICAgICAgIOWkseaVl+iAjOmdnuetieW+hVxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjk2CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1MCBzeXMtdXRpbHMvZnN0cmltLmM6MzE0IHN5cy11dGlscy9sb3NldHVwLmM6NjkxCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxMjQKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIKK21zZ3N0ciAi5YmW5p6Q5YGP56e75pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE1NAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RlcCIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE3NiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5OCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MzczCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMTEgc3lzLXV0aWxzL2ZzdHJpbS5jOjMzNgorbXNnaWQgInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIKK21zZ3N0ciAi5pyq6aCQ5pyf55qE5byV5pW45pW46YePIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0dFVFNJWkU2NCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIkJMS0dFVFNJWkUgaW9jdGwg5aSx5pWX55qE5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjE5MiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1NTWkdFVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVz77yaRklUUklNIGlvY3RsIOWkseaVlyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoxOTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG9mZnNldCAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgJWkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMDEgc3lzLXV0aWxzL2Jsa3pvbmUuYzoxNzMgc3lzLXV0aWxzL2Jsa3pvbmUuYzoyNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvZmZzZXQgaXMgZ3JlYXRlciB0aGFuIGRldmljZSBzaXplIgorbXNnc3RyICLnhKHms5Xmj5Dlj5boo53nva7lpKflsI8iCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjEwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsZW5ndGggJTxQUkl1NjQ+IGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplICVpIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGtkaXNjYXJkLmM6MjIzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkxLWkVST09VVCBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVz77yaRklUUklNIGlvY3RsIOWkseaVlyIKKworIzogc3lzLXV0aWxzL2Jsa2Rpc2NhcmQuYzoyMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtTRUNESVNDQVJEIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpGSVRSSU0gaW9jdGwg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrZGlzY2FyZC5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++8mkZJVFJJTSBpb2N0bCDlpLHmlZciCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiUmVwb3J0IHpvbmUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdpdmVuIGRldmljZSIKK21zZ3N0ciAiJXPvvJrkuI3mmK/ljYDloYroo53nva4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6NzQKK21zZ2lkICJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGJsa2Rldl9nZXRfc2VjdG9ycyBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVz77ya6K6K5pu055uu6YyE5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjE3NyBzeXMtdXRpbHMvYmxrem9uZS5jOjI1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIgorbXNnc3RyICIlc++8mueEoeazleWvq+WFpeWNgOaYoOWwhCIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoxOTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBCTEtSRVBPUlRaT05FIGlvY3RsIGZhaWxlZCIKK21zZ3N0ciAiQkxLR0VUU0laRSBpb2N0bCDlpLHmlZfnmoTmlrwgJXMiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MTk4CisjLCBjLWZvcm1hdAorbXNnaWQgIkZvdW5kICVkIHpvbmVzIGZyb20gMHglPFBSSXg2ND5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICIgIHN0YXJ0OiAweCUwOTxQUkl4NjQ+LCBsZW4gMHglMDY8UFJJeDY0Piwgd3B0ciAweCUwNjxQUkl4NjQ+IHJlc2V0OiV1IG5vbi1zZXE6JXUsIHpjb25kOiUydSglcykgW3R5cGU6ICV1KCVzKV1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI1NgorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb2Zmc2V0ICU8UFJJdTY0PiBpcyBub3QgYWxpZ25lZCB0byB6b25lIHNpemUgJWx1IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjc1CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBudW1iZXIgb2Ygc2VjdG9ycyAlPFBSSXU2ND4gaXMgbm90IGFsaWduZWQgdG8gem9uZSBzaXplICVsdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjI4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IEJMS1JFU0VUWk9ORSBpb2N0bCBmYWlsZWQiCittc2dzdHIgIiVz77yaRklUUklNIGlvY3RsIOWkseaVlyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzoyODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBzdWNjZXNzZnVsbHkgcmVzZXQgaW4gcmFuZ2UgZnJvbSAlPFBSSXU2ND4sIHRvICU8UFJJdTY0PiIKK21zZ3N0ciAi6K6K5pu05qC55b6e44COJXPjgI/liLDjgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgPGNvbW1hbmQ+IFtvcHRpb25zXSA8ZGV2aWNlPlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPGRldmljZT5cbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDIKK21zZ2lkICJSdW4gem9uZSBjb21tYW5kIG9uIHRoZSBnaXZlbiBibG9jayBkZXZpY2UuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8c2VjdG9yPiAgc3RhcnQgc2VjdG9yIG9mIHpvbmUgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTAKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxzZWN0b3JzPiBtYXhpbXVtIHNlY3RvcnMgdG8gYWN0IChpbiA1MTItYnl0ZSBzZWN0b3JzKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzExCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jb3VudCA8bnVtYmVyPiAgIG1heGltdW0gbnVtYmVyIG9mIHpvbmVzXG4iCittc2dzdHIgIuWJluaekOWIl+iZn+eahOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozMTIKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzU0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgdmFsaWQgY29tbWFuZCBuYW1lIgorbXNnc3RyICIlcyDkuKbpnZ7mnInmlYjljYDloYroo53nva4iCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6MzY5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2Ygem9uZXMiCittc2dzdHIgIuWJluaekOWIl+iZn+eahOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2Jsa3pvbmUuYzozNzMKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9ibGt6b25lLmM6Mzc3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIKK21zZ3N0ciAi5YmW5p6Q5YGP56e75pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvYmxrem9uZS5jOjM5MSBzeXMtdXRpbHMvc2V0c2lkLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAibm8gY29tbWFuZCBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuS7u+S9leWLleS9nCIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6ODcgc3lzLXV0aWxzL2NoY3B1LmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZG9lcyBub3QgZXhpc3QiCittc2dzdHIgIkNQVSAlZCDkuI3lrZjlnKhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBub3QgaG90IHBsdWdnYWJsZSIKK21zZ3N0ciAiQ1BVICVkIOS4jeaYr+eGsemWgCBwbHVnZ2FibGVcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6OTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGVuYWJsZWRcbiIKK21zZ3N0ciAiQ1BVICVkIOW3sue2k+W3suWVn+eUqFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCDlt7LntpPlt7LlgZznlKhcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlIGZhaWxlZCAoQ1BVIGlzIGRlY29uZmlndXJlZCkiCittc2dzdHIgIkNQVSAlZCDllZ/nlKjlpLHmlZcgKENQVSDooqsgZGVjb25maWd1cmVkKVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBlbmFibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJWQg5ZWf55So5aSx5pWXICglbSlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey5ZWf55SoXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGRpc2FibGUgZmFpbGVkIChsYXN0IGVuYWJsZWQgQ1BVKSIKK21zZ3N0ciAiQ1BVICVkIOWBnOeUqOWkseaVlyAo5pyA5b6M5LiA562G5bey5ZWf55SoIENQVSlcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAlZCDlgZznlKjlpLHmlZcgKCVtKVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxMjgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey5YGc55SoXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MQorIywgZnV6enkKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIKK21zZ3N0ciAi6YCZ5YCL57O757Wx5LiN5pSv5o+06YeN5paw5o6D5o+P55qEIENQVXMiCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjE0MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gdHJpZ2dlciByZXNjYW4gb2YgQ1BVcyIKK21zZ3N0ciAi6Ke455m86YeN5paw5o6D5o+P55qEIENQVXMg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIgorbXNnc3RyICLop7jnmbznmoTph43mlrDmjoPmj4/nmoQgQ1BVc1xuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTEKKyMsIGZ1enp5Cittc2dpZCAiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBzZXR0aW5nIHRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiCittc2dzdHIgIumAmeWAi+ezu+e1seS4jeaUr+aPtOioreWumua0vumAgeaooeW8j+eahCBDUFVzIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNTUKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHNldCBob3Jpem9udGFsIGRpc3BhdGNoIG1vZGUiCittc2dzdHIgIuioreWumuawtOW5s+a0vumAgeaooeW8j+aZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTdWNjZXNzZnVsbHkgc2V0IGhvcml6b250YWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLmiJDlip/oqK3lrprmsLTlubPmtL7pgIHmqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBzZXQgdmVydGljYWwgZGlzcGF0Y2ggbW9kZSIKK21zZ3N0ciAi6Kit5a6a5Z6C55u05rS+6YCB5qih5byP5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxNjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIgorbXNnc3RyICLmiJDlip/oqK3lrprlnoLnm7TmtL7pgIHmqKHlvI9cbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgaXMgbm90IGNvbmZpZ3VyYWJsZSIKK21zZ3N0ciAiQ1BVICVkIOS4jeaYr+WPr+e1hOmFjeeahFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIOW3sue2k+W3sue1hOmFjVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBpcyBhbHJlYWR5IGRlY29uZmlndXJlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey57aTIGRlY29uZmlndXJlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoxOTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIKK21zZ3N0ciAiQ1BVICVkIGRlY29uZmlndXJlIOWkseaVlyAoQ1BVIOW3suWVn+eUqClcbiIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIKK21zZ3N0ciAiQ1BVICVkIOe1hOmFjeWkseaVlyAoJW0pXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjIwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiQ1BVICV1IGNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIOW3sue1hOmFjVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiCittc2dzdHIgIkNQVSAlZCBkZWNvbmZpZ3VyZSDlpLHmlZcgKCVtKVxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIKK21zZ3N0ciAiQ1BVICVkIGRlY29uZmlndXJlZFxuIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgQ1BVIG51bWJlciBpbiBDUFUgbGlzdDogJXMiCittc2dzdHIgIueEoeaViOeahCBDUFUg5pW45a2X5Zyo5LitIENQVSDmuIXllq7vvJolcyIKKworIzogc3lzLXV0aWxzL2NoY3B1LmM6MjM5IHRleHQtdXRpbHMvY29sLmM6MTMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiVXNhZ2U6XG4iCisiICVzIFtvcHRpb25zXVxuIgorbXNnc3RyICIiCisiXG4iCisi55So5rOV77yaXG4iCisiICVzIFvpgbjpoIVdXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjI0MworbXNnaWQgIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2hjcHUuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtZSwgLS1lbmFibGUgPGNwdS1saXN0PiAgICAgICBlbmFibGUgY3B1c1xuIgorIiAtZCwgLS1kaXNhYmxlIDxjcHUtbGlzdD4gICAgICBkaXNhYmxlIGNwdXNcbiIKKyIgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKyIgLWcsIC0tZGVjb25maWd1cmUgPGNwdS1saXN0PiAgZGVjb25maWd1cmUgY3B1c1xuIgorIiAtcCwgLS1kaXNwYXRjaCA8bW9kZT4gICAgICAgICBzZXQgZGlzcGF0Y2hpbmcgbW9kZVxuIgorIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCittc2dzdHIgIiIKKyJcbiIKKyLpgbjpoIXvvJpcbiIKKyIgIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICAgIOWNsOWHuumAmeS7veiqquaYjlxuIgorIiAgLWUsIC0tZW5hYmxlIDxjcHUtbGlzdD4gICAgICAg5ZWf55SoIGNwdXNcbiIKKyIgIC1kLCAtLWRpc2FibGU8Y3B1LWxpc3Q+ICAgICDlgZznlKggY3B1c1xuIgorIiAgLWMsIC0tY29uZmlndXJlPGNwdS1saXN0PiAgIOe1hOmFjSBjcHVzXG4iCisiICAtZywgLS1kZWNvbmZpZ3VyZTxjcHUtbGlzdD4gZGVjb25maWd1cmUgY3B1c1xuIgorIiAgLXAsIC0tZGlzcGF0Y2g85qih5byPPiAgICAgICAg6Kit5a6a5rS+6YCB5qih5byPXG4iCisiICAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICDop7jnmbzph43mlrDmjoPmj4/nmoQgY3B1c1xuIgorIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisKKyM6IHN5cy11dGlscy9jaGNwdS5jOjMyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5zdXBwb3J0ZWQgYXJndW1lbnQ6ICVzIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTAwCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lbW9yeSBCbG9jayAlPFBSSXU2ND4gKDB4JTAxNjxQUkl4NjQ+LTB4JTAxNjxQUkl4NjQ+KSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxMjQgc3lzLXV0aWxzL2NobWVtLmM6MTk3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBpbmRleCIKK21zZ3N0ciAi5YmW5p6QIHBpZCDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZFxuIgorbXNnc3RyICJDUFUgJWQg5ZWf55So5aSx5pWXICglbSlcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBkaXNhYmxlIGZhaWxlZFxuIgorbXNnc3RyICJDUFUgJWQg5YGc55So5aSx5pWXICglbSlcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTU2IHN5cy11dGlscy9jaG1lbS5jOjI0MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey5ZWf55SoXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjE1OCBzeXMtdXRpbHMvY2htZW0uYzoyNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGVkXG4iCittc2dzdHIgIkNQVSAlZCDlt7LlgZznlKhcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MTcwCisjLCBjLWZvcm1hdAorbXNnaWQgIkNvdWxkIG9ubHkgZW5hYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoxNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ291bGQgb25seSBkaXNhYmxlICVzIG9mIG1lbW9yeSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGFscmVhZHkgZW5hYmxlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey57aT5bey5ZWf55SoXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIgorbXNnc3RyICJDUFUgJWQg5bey57aT5bey5YGc55SoXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIxOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZW5hYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIKK21zZ3N0ciAiQ1BVICVkIOWVn+eUqOWkseaVlyAoJW0pXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjIyMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZGlzYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giCittc2dzdHIgIkNQVSAlZCDlgZznlKjlpLHmlZcgKCVtKVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGVuYWJsZSBmYWlsZWQiCittc2dzdHIgIkNQVSAlZCDllZ/nlKjlpLHmlZcgKCVtKVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyNDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGRpc2FibGUgZmFpbGVkIgorbXNnc3RyICJDUFUgJWQg5YGc55So5aSx5pWXICglbSlcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MjY2IHN5cy11dGlscy9sc21lbS5jOjQ3NiBzeXMtdXRpbHMvbHNtZW0uYzo0ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byByZWFkICVzIgorbXNnc3RyICLoroDlj5bpgJ/luqbmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3NAorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgYmxvY2sgbnVtYmVyIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI3OQorIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzoyOTIKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IgorbXNnc3RyICLliZbmnpDplovlp4vmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5MworIywgZnV6enkKK21zZ2lkICJGYWlsZWQgdG8gcGFyc2UgZW5kIgorbXNnc3RyICLliZbmnpDntZDmnZ/mmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjI5NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiSW52YWxpZCBzdGFydCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIueEoeaViOeahOmWi+Wni+W8leaVuCIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6Mjk5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIGVuZCBhZGRyZXNzIGZvcm1hdDogJXMiCittc2dzdHIgIueEoeaViOeahCBzaWd2YWwg5byV5pW4IgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDAKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IGFkZHJlc3MiCittc2dzdHIgIuWJluaekOmWi+Wni+aZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzAxCisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIKK21zZ3N0ciAi5YmW5p6Q57WQ5p2f5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMDQKKyMsIGMtZm9ybWF0Cittc2dpZCAiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvIG1lbW9yeSBibG9jayBzaXplICglcykiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzE4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJJbnZhbGlkIHBhcmFtZXRlcjogJXMiCittc2dzdHIgIueEoeaViOeahOW8leaVuO+8miVzIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgcmFuZ2U6ICVzIgorbXNnc3RyICLnhKHmlYjnmoTlvJXmlbjvvJolcyIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtTSVpFfFJBTkdFfEJMT0NLUkFOR0VdXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbeXxuXVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozMzcKK21zZ2lkICJTZXQgYSBwYXJ0aWN1bGFyIHNpemUgb3IgcmFuZ2Ugb2YgbWVtb3J5IG9ubGluZSBvciBvZmZsaW5lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MAorIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHN5cy11dGlscy9jaG1lbS5jOjM0MQorIywgZnV6enkKK21zZ2lkICIgLWQsIC0tZGlzYWJsZSAgICAgIGRpc2FibGUgbWVtb3J5XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJsb2NrcyAgICAgICB1c2UgbWVtb3J5IGJsb2Nrc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDliJfljbDoqbPntLDnmoTos4fmlplcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQzCittc2dpZCAiIC16LCAtLXpvbmUgPG5hbWU+ICBzZWxlY3QgbWVtb3J5IHpvbmUgKHNlZSBiZWxvdylcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzozNDQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICB2ZXJib3NlIG91dHB1dFxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDliJfljbDoqbPntLDnmoTos4fmlplcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJTdXBwb3J0ZWQgem9uZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLmlK/mj7TnmoToqJjpjITmqpTmqZ/og73vvJpcbiIKKworIzogc3lzLXV0aWxzL2NobWVtLmM6NDI5Cittc2dpZCAiem9uZSBpZ25vcmVkLCBubyB2YWxpZF96b25lcyBzeXNmcyBhdHRyaWJ1dGUgcHJlc2VudCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvY2htZW0uYzo0MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbWVtb3J5IHpvbmU6ICVzIgorbXNnc3RyICLkuI3mmI7lhKrlhYjmrIrlkI3nqLHvvJolc+OAgiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzoyOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIGhhcmR8c29mdFxuIgorbXNnc3RyICIgJXMgPGhhcmR8c29mdD5cbiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzozMQorIywgYy1mb3JtYXQKK21zZ2lkICJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2N0cmxhbHRkZWwuYzo1MQorbXNnaWQgImltcGxpY2l0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9jdHJsYWx0ZGVsLmM6NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgdmFsdWUgaW4gJXM6ICVqdSIKK21zZ3N0ciAi5pyq6aCQ5pyf55qE5qqU5qGI57WQ5p2f5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjYzCisjLCBmdXp6eQorbXNnaWQgIllvdSBtdXN0IGJlIHJvb3QgdG8gc2V0IHRoZSBDdHJsLUFsdC1EZWwgYmVoYXZpb3IiCittc2dzdHIgIuaCqOW/hemgiOaYr+agueWIsOioreWumiBDdHJsLUFsdC1EZWwg6KGM54K6IgorCisjOiBzeXMtdXRpbHMvY3RybGFsdGRlbC5jOjcxIHN5cy11dGlscy9pcGNybS5jOjM5NSBzeXMtdXRpbHMvaXBjcm0uYzo0MTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gYXJndW1lbnQ6ICVzIgorbXNnc3RyICLkuI3mmI7lvJXmlbjvvJolcyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTA5CisjLCBmdXp6eQorbXNnaWQgInN5c3RlbSBpcyB1bnVzYWJsZSIKK21zZ3N0ciAi57O757Wx5piv54Sh5rOV5L2/55SoIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiYWN0aW9uIG11c3QgYmUgdGFrZW4gaW1tZWRpYXRlbHkiCittc2dzdHIgIuWLleS9nOW/hemgiOiiq+S9lOeUqOWNs+aZgiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTExCisjLCBmdXp6eQorbXNnaWQgImNyaXRpY2FsIGNvbmRpdGlvbnMiCittc2dzdHIgIumHjeimgeaineS7tiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEyCisjLCBmdXp6eQorbXNnaWQgImVycm9yIGNvbmRpdGlvbnMiCittc2dzdHIgIuaineS7tuaZgueZvOeUn+mMr+iqpCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIndhcm5pbmcgY29uZGl0aW9ucyIKK21zZ3N0ciAi6K2m5ZGK5qKd5Lu2IgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMTQKKyMsIGZ1enp5Cittc2dpZCAibm9ybWFsIGJ1dCBzaWduaWZpY2FudCBjb25kaXRpb24iCittc2dzdHIgIuS4gOiIrOS9huaYr+mhr+iRl+eahOaineS7tiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE1CisjLCBmdXp6eQorbXNnaWQgImluZm9ybWF0aW9uYWwiCittc2dzdHIgIuWPg+iAg+aApyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTE2CisjLCBmdXp6eQorbXNnaWQgImRlYnVnLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICJkZWJ1Zy1sZXZlbCDoqIrmga8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMAorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbWVzc2FnZXMiCittc2dzdHIgIuWFp+aguOioiuaBryIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgInJhbmRvbSB1c2VyLWxldmVsIG1lc3NhZ2VzIgorbXNnc3RyICLpmqjmqZ/kvb/nlKjogIXntJroqIrmga8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzMgorIywgZnV6enkKK21zZ2lkICJtYWlsIHN5c3RlbSIKK21zZ3N0ciAi6YO15Lu257O757WxIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxMzMKKyMsIGZ1enp5Cittc2dpZCAic3lzdGVtIGRhZW1vbnMiCittc2dzdHIgIuezu+e1seWuiOitt+eoi+W8jyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgInNlY3VyaXR5L2F1dGhvcml6YXRpb24gbWVzc2FnZXMiCittc2dzdHIgIuWuieWFqC/mjojmrIroqIrmga8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjEzNQorIywgZnV6enkKK21zZ2lkICJtZXNzYWdlcyBnZW5lcmF0ZWQgaW50ZXJuYWxseSBieSBzeXNsb2dkIgorbXNnc3RyICLoqIrmga/nlKLnlJ/nmoTlhafpg6jnlLEgc3lzbG9nZCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM2CisjLCBmdXp6eQorbXNnaWQgImxpbmUgcHJpbnRlciBzdWJzeXN0ZW0iCittc2dzdHIgIuWIl+WNsOihqOapn+WtkOezu+e1sSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIm5ldHdvcmsgbmV3cyBzdWJzeXN0ZW0iCittc2dzdHIgIue2sui3r+aWsOiBnuWtkOezu+e1sSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIlVVQ1Agc3Vic3lzdGVtIgorbXNnc3RyICJVVUNQIOWtkOezu+e1sSIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTM5CisjLCBmdXp6eQorbXNnaWQgImNsb2NrIGRhZW1vbiIKK21zZ3N0ciAi5pmC6ZCY5a6I6K2356iL5byPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDAKKyMsIGZ1enp5Cittc2dpZCAic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiCittc2dzdHIgIuWuieWFqC/mjojmrIroqIrmga8gKOengeS6uueahCkiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjE0MQorIywgZnV6enkKK21zZ2lkICJGVFAgZGFlbW9uIgorbXNnc3RyICLmqpTmoYjlgrPovLjpgJroqIrljZTlrprlrojorbfnqIvlvI8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI2OQorbXNnaWQgIkRpc3BsYXkgb3IgY29udHJvbCB0aGUga2VybmVsIHJpbmcgYnVmZmVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3MgorIywgZnV6enkKK21zZ2lkICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjczCisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAgcmVhZCBhbmQgY2xlYXIgYWxsIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NAorIywgZnV6enkKK21zZ2lkICIgLUQsIC0tY29uc29sZS1vZmYgICAgICAgICAgIGRpc2FibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIOWIl+WNsOioiuaBr+WIsOaomea6lui8uOWHulxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzUKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorbXNnc3RyICIgLXMgICAgICAgICAgIOWIl+WNsOioiuaBr+WIsOaomea6lui8uOWHulxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyNzYKK21zZ2lkICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIHVzZSB0aGUgZmlsZSBpbnN0ZWFkIG9mIHRoZSBrZXJuZWwgbG9nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3NworbXNnaWQgIiAtZiwgLS1mYWNpbGl0eSA8bGlzdD4gICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgZmFjaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI3OAorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taHVtYW4gICAgICAgICAgICAgICAgIGh1bWFuIHJlYWRhYmxlIG91dHB1dFxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjc5CisjLCBmdXp6eQorbXNnaWQgIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC1nLCAtLWdldC10aHJlc2hvbGQgICAgICAgICAgICAgICAg6aGv56S655uu5YmN55qE6Ieo55WM5YC8XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4MworbXNnaWQgIiAtbCwgLS1sZXZlbCA8bGlzdD4gICAgICAgICAgcmVzdHJpY3Qgb3V0cHV0IHRvIGRlZmluZWQgbGV2ZWxzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg0Cittc2dpZCAiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1ub3BhZ2VyICAgICAgICAgICAgICAgZG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlclxuIgorbXNnc3RyICIgLXUsIC0tdW5xdW90ZSAgICAgICAgICAgICAgICDkuI3lvJXoqIDovLjlh7pcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg2Cittc2dpZCAiIC1wLCAtLWZvcmNlLXByZWZpeCAgICAgICAgICBmb3JjZSB0aW1lc3RhbXAgb3V0cHV0IG9uIGVhY2ggbGluZSBvZiBtdWx0aS1saW5lIG1lc3NhZ2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg3CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDph43nva7pgJroqIrln6BcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjg4CisjLCBmdXp6eQorbXNnaWQgIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAg5p+l6Kmi5Y2w6KGo5qmf54uA5oWLXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI4OQorbXNnaWQgIiAtcywgLS1idWZmZXItc2l6ZSA8c2l6ZT4gICAgYnVmZmVyIHNpemUgdG8gcXVlcnkgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlclxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIGRpc3BsYXkgdXNlcnNwYWNlIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtUSwgLS1xdWV1ZSAgICAgICAgICAgICAg5bu656uL6KiK5oGv5L2H5YiXXG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5MQorIywgZnV6enkKK21zZ2lkICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIHdhaXQgZm9yIG5ldyBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUg562J5b6F5Zyo5LitIG1pY3JvIOenklxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTIKK21zZ2lkICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MjkzCisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1zaG93LWRlbHRhICAgICAgICAgICAgc2hvdyB0aW1lIGRlbHRhIGJldHdlZW4gcHJpbnRlZCBtZXNzYWdlc1xuIgorbXNnc3RyICIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICDmn6XoqaLljbDooajmqZ/ni4DmhYtcbiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk0Cittc2dpZCAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6Mjk1CisjLCBmdXp6eQorbXNnaWQgIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAgc2hvdyBodW1hbi1yZWFkYWJsZSB0aW1lc3RhbXAgKG1heSBiZSBpbmFjY3VyYXRlISlcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAg5LiN5byV6KiA6Ly45Ye6XG4iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHNob3cgYW55IHRpbWVzdGFtcCB3aXRoIG1lc3NhZ2VzXG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoyOTcKK21zZ2lkICIiCisiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbZGVsdGF8cmVsdGltZXxjdGltZXxub3RpbWV8aXNvXVxuIgorIlN1c3BlbmRpbmcvcmVzdW1lIHdpbGwgbWFrZSBjdGltZSBhbmQgaXNvIHRpbWVzdGFtcHMgaW5hY2N1cmF0ZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDIKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgZmFjaWxpdGllczpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuaUr+aPtOeahOiomOmMhOaqlOapn+iDve+8mlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozMDgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlN1cHBvcnRlZCBsb2cgbGV2ZWxzIChwcmlvcml0aWVzKTpcbiIKK21zZ3N0ciAiIgorIlxuIgorIuaUr+aPtOeahOiomOmMhOaqlOetiee0miAo5YSq5YWI562J57SaKe+8mlxuIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBsZXZlbCAnJXMnIgorbXNnc3RyICLliZbmnpDnrYnntJrjgI4lcyDmmYLlpLHmlZfjgI8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjM2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBsZXZlbCAnJXMnIgorbXNnc3RyICLkuI3mmI7nrYnntJrjgI4lc+OAjyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6NDAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAi5YmW5p6Q5qmf6IO944COJXMg5pmC5aSx5pWX44CPIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzo0MDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gZmFjaWxpdHkgJyVzJyIKK21zZ3N0ciAi5LiN5piO5qmf6IO944COJXPjgI8iCisKKyM6IHN5cy11dGlscy9kbWVzZy5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG1tYXA6ICVzIgorbXNnc3RyICLnhKHms5UgbW1hcO+8miVzIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNDM2CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYnVmZmVyIHNpemUgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOe3qeihneWNgOWkp+Wwj+W8leaVuCIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTQ4OAorIywgZnV6enkKK21zZ2lkICItLXNob3ctZGVsdGEgaXMgaWdub3JlZCB3aGVuIHVzZWQgdG9nZXRoZXIgd2l0aCBpc284NjAxIHRpbWUgZm9ybWF0IgorbXNnc3RyICItLXJlbHRpbWUg54Sh5rOV5L2/55So55qE5LiA6LW36IiHIC0tY3RpbWUgIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTExCisjLCBmdXp6eQorbXNnaWQgIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAtLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIgorbXNnc3RyICItLXJhdyDnhKHms5Xkvb/nlKjnmoTkuIDotbfoiIfnrYnntJrjgIHmqZ/og73jgIHop6PnorzjgIFkZWx0Ye+8jGN0aW1lIOaIliBub3RpbWUg6YG46aCFIgorCisjOiBzeXMtdXRpbHMvZG1lc2cuYzoxNTI2CisjLCBmdXp6eQorbXNnaWQgInJlYWQga2VybmVsIGJ1ZmZlciBmYWlsZWQiCittc2dzdHIgIuiugOWPluWFp+aguOe3qeihneWNgOWkseaVlyIKKworIzogc3lzLXV0aWxzL2RtZXNnLmM6MTU0NQorIywgZnV6enkKK21zZ2lkICJrbG9nY3RsIGZhaWxlZCIKK21zZ3N0ciAia2xvZ2N0bCDlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGRldmljZT58PG1vdW50cG9pbnQ+XVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTM4CisjLCBmdXp6eQorbXNnaWQgIkVqZWN0IHJlbW92YWJsZSBtZWRpYS5cbiIKK21zZ3N0ciAi5Y+v56e76Zmk55qE6KOd572uIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNDEKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisiIC1jLCAtLWNoYW5nZXJzbG90IDxzbG90PiAgICBzd2l0Y2ggZGlzY3Mgb24gYSBDRC1ST00gY2hhbmdlclxuIgorIiAtZCwgLS1kZWZhdWx0ICAgICAgICAgICAgICAgZGlzcGxheSBkZWZhdWx0IGRldmljZVxuIgorIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisiIC1GLCAtLWZvcmNlICAgICAgICAgICAgICAgICBkb24ndCBjYXJlIGFib3V0IGRldmljZSB0eXBlXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0IDxvbnxvZmY+ICB0b2dnbGUgbWFudWFsIGVqZWN0IHByb3RlY3Rpb24gb24vb2ZmXG4iCisiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisiIC1NLCAtLW5vLXBhcnRpdGlvbnMtdW5tb3VudCBkbyBub3QgdW5tb3VudCBhbm90aGVyIHBhcnRpdGlvbnNcbiIKKyIgLW4sIC0tbm9vcCAgICAgICAgICAgICAgICAgIGRvbid0IGVqZWN0LCBqdXN0IHNob3cgZGV2aWNlIGZvdW5kXG4iCisiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisiIC1xLCAtLXRhcGUgICAgICAgICAgICAgICAgICBlamVjdCB0YXBlXG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICBlamVjdCBDRC1ST01cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisiIC10LCAtLXRyYXljbG9zZSAgICAgICAgICAgICBjbG9zZSB0cmF5XG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICB0b2dnbGUgdHJheVxuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisiIC14LCAtLWNkc3BlZWQgPHNwZWVkPiAgICAgICBzZXQgQ0QtUk9NIG1heCBzcGVlZFxuIgorIiAtWCwgLS1saXN0c3BlZWQgICAgICAgICAgICAgbGlzdCBDRC1ST00gYXZhaWxhYmxlIHNwZWVkc1xuIgorbXNnc3RyICIiCisiIC1hLCAtLWF1dG8gPG9ufG9mZj4gICAgICAgICDovKrlgLwgYXV0by1lamVjdCDnibnlvrXplovmiJbpl5xcbiIKKyIgLWMsIC0tY2hhbmdlcnNsb3Q85o+S5qe9PiAgIOWIh+aPm+ein+eJh+aWvOWUr+iugOWFieein+apnyBjaGFuZ2VyXG4iCisiIC1kLCAtLWRlZmF1bHQgICAgICAgICAgICAgICDpoa/npLrpoJDoqK3oo53nva5cbiIKKyIgLWYsIC0tZmxvcHB5ICAgICAgICAgICAgICAgIOmAgOWHuui7n+ein1xuIgorIiAtRiwgLS1mb3JjZSAgICAgICAgICAgICAgICAg5LiN6KaB5Y67566h6KOd572u6aGe5Z6LXG4iCisiIC1pLCAtLW1hbnVhbGVqZWN0POaWvHzpl5zplok+IOWIh+aPm+aJi+WLlemAgOWHuuS/neitt+mWiy/pl5xcbiIKKyIgLW0sIC0tbm8tdW5tb3VudCAgICAgICAgICAgIOS4jeWNuOi8ieijnee9ruWNs+S9v+Wug+iiq+aOm+i8iVxuIgorIiAtTSwgLS1uby1wYXJ0aXRpb25zLXVubW91bnQg5LiN5Y246LyJ5Y+m5aSW55qE5YiG5Ymy5Y2AXG4iCisiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICDkuI3pgIDlh7rvvIzlg4Xpoa/npLroo53nva7mib7liLBcbiIKKyIgLXAsIC0tcHJvYyAgICAgICAgICAgICAgICAgIOS9v+eUqC9wcm9jL+aOm+i8ieS7peS7o+abvy9ldGMvbXRhYlxuIgorIiAtcSwgLS10YXBlICAgICAgICAgICAgICAgICAg6YCA5Ye656OB5bi2XG4iCisiIC1yLCAtLWNkcm9tICAgICAgICAgICAgICAgICDpgIDlh7rllK/oroDlhYnnop/mqZ9cbiIKKyIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIOmAgOWHuiBTQ1NJIOijnee9rlxuIgorIiAtdCwgLS10cmF5Y2xvc2UgICAgICAgICAgICAg6Zec6ZaJ5omY55ukXG4iCisiIC1ULCAtLXRyYXl0b2dnbGUgICAgICAgICAgICDliIfmj5vmiZjnm6RcbiIKKyIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgIOWVn+eUqOips+e0sOeahOi8uOWHulxuIgorIiAteCwgLS1jZHNwZWVkPOmAn+W6pj4gICAgICDoqK3lrprllK/oroDlhYnnop/mqZ/mnIDlpKfpgJ/luqZcbiIKKyIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIOa4heWWruWUr+iugOWFieein+apn+WPr+eUqOmAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIkJ5IGRlZmF1bHQgdHJpZXMgLXIsIC1zLCAtZiwgYW5kIC1xIGluIG9yZGVyIHVudGlsIHN1Y2Nlc3MuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmjInnhafpoJDoqK3lmJfoqaYgLXIsIC1zLCAtZiwg5ZKMIC1xIOWcqOS4reaOkuW6j+ebtOWIsOaIkOWKn+OAglxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW45YiwIC0tY2hhbmdlcnNsb3QgLy1jIOmBuOmghSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MjE0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1jZHNwZWVkLy14IG9wdGlvbiIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW45YiwIC0tY2RzcGVlZCAvLXgg6YG46aCFIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozMjUKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGF1dG8tZWplY3QgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIuWUr+iugOWFieein+apnyBhdXRvLWVqZWN0IOWRveS7pOWkseaVlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzM5CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBkb29yIGxvY2sgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi5YWJ56Kf5qmf5LiN5piv5bCx57eSIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDEKK21zZ2lkICJvdGhlciB1c2VycyBoYXZlIHRoZSBkcml2ZSBvcGVuIGFuZCBub3QgQ0FQX1NZU19BRE1JTiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDMKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGxvY2sgZG9vciBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6Y6W5a6a5Yyj6ZaA5ZG95Luk5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNDgKKyMsIGZ1enp5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIKK21zZ3N0ciAiQ0QtRHJpdmUg5Y+v6IO954Sh5rOV6KKr6YCA5Ye66IiH6KOd572u5oyJ6YiVIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNTAKKyMsIGZ1enp5Cittc2dpZCAiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIgorbXNnc3RyICJDRC1Ecml2ZSDkuZ/oqLHmnIPooqvpgIDlh7roiIfoo53nva7mjInpiJUiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjM2MQorIywgZnV6enkKK21zZ2lkICJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIuWUr+iugOWFieein+apn+mBuOWPluein+eJh+WRveS7pOWkseaVlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MzY1CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6LyJ5YWl5b6e5o+S5qe95ZG95Luk5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozNjcKKyMsIGZ1enp5Cittc2dpZCAiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIKK21zZ3N0ciAi5pW05ZCI6ZaL55m855Kw5aKDL0FUQVBJIOWUr+iugOWFieein+apnyBjaGFuZ2VyIOS4jeaUr+aPtOeUsemAmeWAi+WFp+aguFxuIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzozODUKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIuWUr+iugOWFieein+apn+aJmOebpOmXnOmWieWRveS7pOWkseaVlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6Mzg3CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbFxuIgorbXNnc3RyICLllK/oroDlhYnnop/mqZ/miZjnm6Tpl5zplonlkb3ku6TkuI3mlK/mj7TnlLHpgJnlgIvlhafmoLhcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NDA0CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBlamVjdCB1bnN1cHBvcnRlZCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6YCA5Ye65LiN5Y+X5pSv5o+055qEIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo0MzIgc3lzLXV0aWxzL2VqZWN0LmM6NDU1IHN5cy11dGlscy9lamVjdC5jOjEwMDYKKyMsIGZ1enp5Cittc2dpZCAiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLllK/oroDlhYnnop/mqZ/pgIDlh7rlkb3ku6TlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzNQorIywgZnV6enkKK21zZ2lkICJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIgorbXNnc3RyICLmspLmnInllK/oroDlhYnnop/mqZ/os4foqIrlj6/nlKgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQzOAorIywgZnV6enkKK21zZ2lkICJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IgorbXNnc3RyICLlhYnnop/mqZ/kuI3mmK/lsLHnt5IiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MQorIywgZnV6enkKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgZmFpbGVkIgorbXNnc3RyICLllK/oroDlhYnnop/mqZ/pgbjlj5bpgJ/luqblkb3ku6TlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjQ4MworIywgZnV6enkKK21zZ2lkICJDRC1ST00gc2VsZWN0IHNwZWVkIGNvbW1hbmQgbm90IHN1cHBvcnRlZCBieSB0aGlzIGtlcm5lbCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6YG45Y+W6YCf5bqm5ZG95Luk5LiN5pSv5o+055Sx6YCZ5YCL5YWn5qC4IgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo1MjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZmluZGluZyBDRC1ST00gbmFtZSIKK21zZ3N0ciAiJXPvvJrnhKHms5XlsIvmib7llK/oroDlhYnnop/mqZ/lkI3nqLEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjUzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICIlc++8mueEoeazleiugOWPlumAn+W6piIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NTQzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byByZWFkIHNwZWVkIgorbXNnc3RyICLoroDlj5bpgJ/luqbmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjU4MworIywgZnV6enkKK21zZ2lkICJub3QgYW4gc2cgZGV2aWNlLCBvciBvbGQgc2cgZHJpdmVyIgorbXNnc3RyICLkuI3mmK8gc2cg6KOd572u77yM5oiW6IiK55qEIHNnIOmpheWLleeoi+W8jyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NjU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5tb3VudGluZyIKK21zZ3N0ciAiJXPvvJrljbjovIkiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjY3MworIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZm9yayIKK21zZ3N0ciAi54Sh5rOV6KGN55SfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiCittc2dzdHIgIuWNuOi8ieeahOOAjiVz44CP5Lim5pyq5q2j5bi46Zui6ZaLIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo2ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVubW91bnQgb2YgYCVzJyBmYWlsZWRcbiIKK21zZ3N0ciAi5Y246LyJ55qE44COJXPjgI/lpLHmlZdcbiIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6NzI1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBtb3VudCB0YWJsZSIKK21zZ3N0ciAi5YmW5p6Q5o6b6LyJ6KGo5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo3ODYgc3lzLXV0aWxzL2VqZWN0LmM6ODg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbW91bnRlZCBvbiAlcyIKK21zZ3N0ciAiJXPvvJrmjpvovInnmoTmlrwgJXMiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgyOAorIywgZnV6enkKK21zZ2lkICJzZXR0aW5nIENELVJPTSBzcGVlZCB0byBhdXRvIgorbXNnc3RyICLoqK3lrprllK/oroDlhYnnop/mqZ/pgJ/luqbliLDoh6rli5UiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjgzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gJWxkWCIKK21zZ3N0ciAi6Kit5a6a5ZSv6K6A5YWJ56Kf5qmf6YCf5bqm5YiwICVsZFgiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjg1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZGVmYXVsdCBkZXZpY2U6IGAlcyciCittc2dzdHIgIumgkOioreijnee9ru+8muOAjiVz44CPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4NjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVzaW5nIGRlZmF1bHQgZGV2aWNlIGAlcyciCittc2dzdHIgIuS9v+eUqOmgkOioreijnee9ruOAjiVz44CPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODEgc3lzLXV0aWxzL3J0Y3dha2UuYzozOTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmFibGUgdG8gZmluZCBkZXZpY2UiCittc2dzdHIgIiVz77ya54Sh5rOV5om+5Yiw6KOd572uIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImRldmljZSBuYW1lIGlzIGAlcyciCittc2dzdHIgIuijnee9ruWQjeeoseaYr+OAjiVz44CPIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4ODkgc3lzLXV0aWxzL3Vtb3VudC5jOjMwOSBzeXMtdXRpbHMvdW1vdW50LmM6MzMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogbm90IG1vdW50ZWQiCittc2dzdHIgIiVz77ya54Sh5rOV5o6b6LyJIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo4OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIgorbXNnc3RyICIlc++8muein+eJh+ijnee9ru+8miVzICjno4Hnop/oo53nva7lsIfooqvnlKjmlrzpgIDlh7opIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5MDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2Ugd2l0aCB0aGUgZ2l2ZW4gbmFtZSIKK21zZ3N0ciAiJXPvvJrmib7kuI3liLAgbW91bnRwb2ludCDmiJboo53nva7oiIfntablrprnmoTlkI3nqLEiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGlzIHdob2xlLWRpc2sgZGV2aWNlIgorbXNnc3RyICIlc++8muaYryB3aG9sZS1kaXNrIOijnee9riIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIgorbXNnc3RyICIlc++8muS4jeaYr+WPr+eGseaPkuW8j+eahOijnee9riIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTEyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJkZXZpY2UgaXMgYCVzJyIKK21zZ3N0ciAi6KOd572u5piv44COJXPjgI8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkxMworIywgZnV6enkKK21zZ2lkICJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIgorbXNnc3RyICLpm6LplovnlLHmlrwgLW4vLS1ub29wIOmBuOmghSIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZW5hYmxpbmcgYXV0by1lamVjdCBtb2RlIgorbXNnc3RyICIlc++8muWVn+eUqCBhdXRvLWVqZWN0IOaooeW8jyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIKK21zZ3N0ciAiJXPvvJrlgZznlKggYXV0by1lamVjdCDmqKHlvI8iCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjkzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNsb3NpbmcgdHJheSIKK21zZ3N0ciAiJXPvvJrpl5zplonmiZjnm6QiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk0NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvZ2dsaW5nIHRyYXkiCittc2dzdHIgIiVz77ya5YiH5o+b5omY55ukIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzo5NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBsaXN0aW5nIENELVJPTSBzcGVlZCIKK21zZ3N0ciAiJXPvvJrliJfooajllK/oroDlhYnnop/mqZ/pgJ/luqYiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjk4MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZXJyb3I6ICVzOiBkZXZpY2UgaW4gdXNlIgorbXNnc3RyICLpjK/oqqTvvJolc++8muijnee9ruWcqOS4reS9v+eUqCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6OTg3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2VsZWN0aW5nIENELVJPTSBkaXNjICMlbGQiCittc2dzdHIgIiVz77ya6YG45Y+W5ZSv6K6A5YWJ56Kf5qmf56Kf54mHICMlbGQiCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVz77ya5ZiX6Kmm6YCA5Ye65L2/55So5ZSv6K6A5YWJ56Kf5qmf6YCA5Ye65ZG95LukIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDA1CisjLCBmdXp6eQorbXNnaWQgIkNELVJPTSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAi5ZSv6K6A5YWJ56Kf5qmf6YCA5Ye65ZG95Luk5oiQ5YqfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIFNDU0kgY29tbWFuZHMiCittc2dzdHIgIiVz77ya5ZiX6Kmm6YCA5Ye65L2/55SoIFNDU0kg5ZG95LukIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDEyCisjLCBmdXp6eQorbXNnaWQgIlNDU0kgZWplY3Qgc3VjY2VlZGVkIgorbXNnc3RyICJTQ1NJIOmAgOWHuuaIkOWKnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAxMworIywgZnV6enkKK21zZ2lkICJTQ1NJIGVqZWN0IGZhaWxlZCIKK21zZ3N0ciAiU0NTSSDpgIDlh7rlpLHmlZciCisKKyM6IHN5cy11dGlscy9lamVjdC5jOjEwMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgZmxvcHB5IGVqZWN0IGNvbW1hbmQiCittc2dzdHIgIiVz77ya5ZiX6Kmm6YCA5Ye65L2/55So6Luf56Kf6YCA5Ye65ZG95LukIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDE5CisjLCBmdXp6eQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIHN1Y2NlZWRlZCIKK21zZ3N0ciAi6Luf56Kf6YCA5Ye65ZG95Luk5oiQ5YqfIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDIwCisjLCBmdXp6eQorbXNnaWQgImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIKK21zZ3N0ciAi6Luf56Kf6YCA5Ye65ZG95Luk5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZWplY3QuYzoxMDI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIgorbXNnc3RyICIlc++8muWYl+ippumAgOWHuuS9v+eUqOejgeW4tumboue3muWRveS7pCIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNgorIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBzdWNjZWVkZWQiCittc2dzdHIgIuejgeW4tumboue3muWRveS7pOaIkOWKnyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAyNworIywgZnV6enkKK21zZ2lkICJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiCittc2dzdHIgIuejgeW4tumboue3muWRveS7pOWkseaVlyIKKworIzogc3lzLXV0aWxzL2VqZWN0LmM6MTAzMQorIywgZnV6enkKK21zZ2lkICJ1bmFibGUgdG8gZWplY3QiCittc2dzdHIgIueEoeazlemAgOWHuiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIDxmaWxlbmFtZT5cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIDxmaWxlbmFtZT5cbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjg3Cittc2dpZCAiUHJlYWxsb2NhdGUgc3BhY2UgdG8sIG9yIGRlYWxsb2NhdGUgc3BhY2UgZnJvbSBhIGZpbGUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkwCittc2dpZCAiIC1jLCAtLWNvbGxhcHNlLXJhbmdlIHJlbW92ZSBhIHJhbmdlIGZyb20gdGhlIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTEKK21zZ2lkICIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjkyCittc2dpZCAiIC1pLCAtLWluc2VydC1yYW5nZSAgIGluc2VydCBhIGhvbGUgYXQgcmFuZ2UsIHNoaWZ0aW5nIGV4aXN0aW5nIGRhdGFcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTMKK21zZ2lkICIgLWwsIC0tbGVuZ3RoIDxudW0+ICAgbGVuZ3RoIGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NAorbXNnaWQgIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5NQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tb2Zmc2V0IDxudW0+ICAgb2Zmc2V0IGZvciByYW5nZSBvcGVyYXRpb25zLCBpbiBieXRlc1xuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjk2Cittc2dpZCAiIC1wLCAtLXB1bmNoLWhvbGUgICAgIHJlcGxhY2UgYSByYW5nZSB3aXRoIGEgaG9sZSAoaW1wbGllcyAtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6OTcKK21zZ2lkICIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzo5OQorIywgZnV6enkKK21zZ2lkICIgLXgsIC0tcG9zaXggICAgICAgICAgdXNlIHBvc2l4X2ZhbGxvY2F0ZSgzKSBpbnN0ZWFkIG9mIGZhbGxvY2F0ZSgyKVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg5p+l6Kmi5omA5pyJ5Y6f5aeL6KOd572uXG4iCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzUKKyMsIGZ1enp5Cittc2dpZCAiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiCittc2dzdHIgIuS/neaMgeWkp+Wwj+aooeW8jyAoLW4g6YG46aCFKSDmnKrlj5fmlK/mj7QiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoxMzYgc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjE0NQorIywgZnV6enkKK21zZ2lkICJmYWxsb2NhdGUgZmFpbGVkIgorbXNnc3RyICIlc++8mmZhbGxvY2F0ZSDlpLHmlZciCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzoyMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIGZhaWxlZCIKK21zZ3N0ciAiZnJlYWQg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozNTQKK21zZ2lkICJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM2OCBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDcKK21zZ2lkICJubyBmaWxlbmFtZSBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuS7u+S9leaqlOWQjSIKKworIzogc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jOjM4MCBzeXMtdXRpbHMvZmFsbG9jYXRlLmM6Mzg2Cittc2dpZCAiaW52YWxpZCBsZW5ndGggdmFsdWUgc3BlY2lmaWVkIgorbXNnc3RyICLmjIflrprkuobnhKHmlYjnmoTplbfluqblgLwiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODQKK21zZ2lkICJubyBsZW5ndGggYXJndW1lbnQgc3BlY2lmaWVkIgorbXNnc3RyICLmnKrmjIflrprku7vkvZXplbfluqblvJXmlbgiCisKKyM6IHN5cy11dGlscy9mYWxsb2NhdGUuYzozODkKK21zZ2lkICJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiCittc2dzdHIgIuaMh+WumuS6hueEoeaViOeahOWBj+enu+WAvCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IDxjb21tYW5kPiBbPGFyZ3VtZW50Pi4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorIiAlMSRzIFtvcHRpb25zXSA8ZmlsZSBkZXNjcmlwdG9yIG51bWJlcj5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgbjpoIVdIDxmaWxlIGRlc2NyaXB0b3IgbnVtYmVyPlxuIgorIiAlMSRzIFvpgbjpoIVdPOaqlOahiD4tYzzlkb3ku6Q+XG4iCisiICUxJHMgW+mBuOmghX0855uu6YyEPi1jPOWRveS7pD5cbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiTWFuYWdlIGZpbGUgbG9ja3MgZnJvbSBzaGVsbCBzY3JpcHRzLlxuIgorbXNnc3RyICJsb2dpbu+8mueEoeiomOaGtumrlOWPr+eUqOaWvOWRveS7pOeov+OAglxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc2hhcmVkICAgICAgICAgICAgIGdldCBhIHNoYXJlZCBsb2NrXG4iCittc2dzdHIgIiAtcyAgLS1zaGFyZWQgICAgICAgICAgICAg5o+Q5Y+W5YWx5Lqr55qE6Y6W5a6aXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjYzCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1leGNsdXNpdmUgICAgICAgICAgZ2V0IGFuIGV4Y2x1c2l2ZSBsb2NrIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXggIC0tZXhjbHVzaXZlICAgICAgICAgIOaPkOWPluWwiOeUqOmOluWumiAo6aCQ6KitKVxuIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzo2NAorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdW5sb2NrICAgICAgICAgICAgIHJlbW92ZSBhIGxvY2tcbiIKK21zZ3N0ciAiIC11ICAtLXVubG9jayAgICAgICAgICAgICDnp7vpmaTpjpblrppcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vbmJsb2NrICAgICAgICAgICBmYWlsIHJhdGhlciB0aGFuIHdhaXRcbiIKK21zZ3N0ciAiIC1uICAtLW5vbmJsb2NrICAgICAgICAgICDlpLHmlZfogIzpnZ7nrYnlvoVcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjYKKyMsIGZ1enp5Cittc2dpZCAiIC13LCAtLXRpbWVvdXQgPHNlY3M+ICAgICB3YWl0IGZvciBhIGxpbWl0ZWQgYW1vdW50IG9mIHRpbWVcbiIKK21zZ3N0ciAiIC13ICAtLXRpbWVvdXQgPHNlY3M+ICAgICDnrYnlvoXpmZDliLbnmoTmlbjnm67nmoTmmYLplpNcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjcKKyMsIGZ1enp5Cittc2dpZCAiIC1FLCAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAgZXhpdCBjb2RlIGFmdGVyIGNvbmZsaWN0IG9yIHRpbWVvdXRcbiIKK21zZ3N0ciAiIC1FICAtLWNvbmZsaWN0LWV4aXQtY29kZSA8bnVtYmVyPiAg6Zui6ZaL5Luj56K85LmL5b6M6KGd56qB5oiW6YC+5pmCXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1jbG9zZSAgICAgICAgICAgICAgY2xvc2UgZmlsZSBkZXNjcmlwdG9yIGJlZm9yZSBydW5uaW5nIGNvbW1hbmRcbiIKK21zZ3N0ciAiIC1vICAtLWNsb3NlICAgICAgICAgICAgICDpl5zplonmqpTmoYjmj4/ov7DnrKbomZ/kuYvliY3ln7fooYzkuK3lkb3ku6RcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NjkKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICBydW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKK21zZ3N0ciAiIC1jICAtLWNvbW1hbmQgPGNvbW1hbmQ+ICDpgYvooYzllq7kuIDlkb3ku6TlrZfkuLLpgI/pgY7lkb3ku6TmrrxcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6NzAKKyMsIGZ1enp5Cittc2dpZCAiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgICBleGVjdXRlIGNvbW1hbmQgd2l0aG91dCBmb3JraW5nXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS12ZXJib3NlICAgICAgICAgICAgaW5jcmVhc2UgdmVyYm9zaXR5XG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg5piv5pu05aSa6Kmz57Sw55qEXG4iCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjEwNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IG9wZW4gbG9jayBmaWxlICVzIgorbXNnc3RyICLnhKHms5XplovllZ/pjpblrprmqpTmoYggJXMiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIwOAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHRpbWVvdXQgdmFsdWUiCittc2dzdHIgIueEoeaViOeahOmAvuaZguW8leaVuCIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MjEyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZXhpdCBjb2RlIgorbXNnc3RyICLnhKHmlYjnmoTpm6Lplovku6PnorwiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIyOQorbXNnaWQgInRoZSAtLW5vLWZvcmsgYW5kIC0tY2xvc2Ugb3B0aW9ucyBhcmUgaW5jb21wYXRpYmxlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjIzNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgcmVxdWlyZXMgZXhhY3RseSBvbmUgY29tbWFuZCBhcmd1bWVudCIKK21zZ3N0ciAiJXMg6ZyA5rGC57K+56K655qE5LiA5YCL5oyH5Luk5byV5pW4IgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTUKKyMsIGZ1enp5Cittc2dpZCAiYmFkIGZpbGUgZGVzY3JpcHRvciIKK21zZ3N0ciAi5peX5qiZ5o+P6L+wIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyNTgKKyMsIGZ1enp5Cittc2dpZCAicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIKK21zZ3N0ciAi6ZyA5rGC5qqU5qGI5o+P6L+w56ym6Jmf77yM5qqU5qGI5oiW55uu6YyEIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzoyODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGdldCBsb2NrIgorbXNnc3RyICLoqK3lrprot6/lvpHmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9mbG9jay5jOjI4OQorbXNnaWQgInRpbWVvdXQgd2hpbGUgd2FpdGluZyB0byBnZXQgbG9jayIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZmxvY2suYzozMzAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXR0aW5nIGxvY2sgdG9vayAlbGQuJTA2bGQgc2Vjb25kc1xuIgorbXNnc3RyICIlcyAgJS42ZiDnp5JcbiIKKworIzogc3lzLXV0aWxzL2Zsb2NrLmM6MzQxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIueZvOeUn+mMr+iqpOaWvOWft+ihjFx0JXNcbiIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8bW91bnQgcG9pbnQ+XG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ0CisjLCBmdXp6eQorbXNnaWQgIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5qqi5p+l5omA5pyJ5qqU5qGI57O757Wx44CCXG4iCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjQ3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiICB0ICAgICAgICAgIOiuiuabtOaqlOahiOezu+e1seeahOmhnuWeiyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6NDgKK21zZ2lkICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnNmcmVlemUuYzoxMDUKK21zZ2lkICJuZWl0aGVyIC0tZnJlZXplIG9yIC0tdW5mcmVlemUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc2ZyZWV6ZS5jOjEyNQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogaXMgbm90IGEgZGlyZWN0b3J5IgorbXNnc3RyICIlc++8muS4pumdnuebrumMhCIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTMyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmcmVlemUgZmFpbGVkIgorbXNnc3RyICIlc++8muWHjee1kOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2ZzZnJlZXplLmM6MTM4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmZyZWV6ZSBmYWlsZWQiCittc2dzdHIgIiVz77ya6Kej6Zmk5YeN57WQ5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6ODQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgYSBkaXJlY3RvcnkiCittc2dzdHIgIiVz77ya5LiN5piv55uu6YyEIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6OTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIgorbXNnc3RyICIlc++8mkZJVFJJTSBpb2N0bCDlpLHmlZciCisKKyMuIFRSQU5TTEFUT1JTOiBUaGUgc3RhbmRhcmQgdmFsdWUgaGVyZSBpcyBhIHZlcnkgbGFyZ2UgbnVtYmVyLgorIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzICglPFBSSXU2ND4gYnl0ZXMpIHRyaW1tZWRcbiIKK21zZ3N0ciAiJXPvvJolPFBSSXU2ND4g5L2N5YWD57WE6KKr5bey5L+u5pW0XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoxOTMgc3lzLXV0aWxzL2xzbnMuYzoxMDY2IHN5cy11dGlscy9zd2Fwb24uYzo3MzMKKyM6IHN5cy11dGlscy91bW91bnQuYzoyMjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAlcyIKK21zZ3N0ciAi5YmW5p6QICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8bW91bnQgcG9pbnQ+XG4iCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNTcKK21zZ2lkICJEaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDliJfljbDmiYDmnInnrKbomZ/vvIzljbPkvb/oqIjmlbjmmK8gMFxuIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYxCittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvZnN0cmltLmM6MjYyCittc2dpZCAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgdGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjI2MworbXNnaWQgIiAtbSwgLS1taW5pbXVtIDxudW0+IHRoZSBtaW5pbXVtIGV4dGVudCBsZW5ndGggdG8gZGlzY2FyZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzoyNjQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgcHJpbnQgbnVtYmVyIG9mIGRpc2NhcmRlZCBieXRlc1xuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDliJfljbDoqbPntLDnmoTos4fmlplcbiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjMxOAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbWluaW11bSBleHRlbnQgbGVuZ3RoIgorbXNnc3RyICLliZbmnpDmnIDlsI/lu7bkvLjplbfluqbmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9mc3RyaW0uYzozMzEKKyMsIGZ1enp5Cittc2dpZCAibm8gbW91bnRwb2ludCBzcGVjaWZpZWQiCittc2dzdHIgIuaykuaciSBtb3VudHBvaW50IOaMh+WumueahOOAgiIKKworIzogc3lzLXV0aWxzL2ZzdHJpbS5jOjM0NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIgorbXNnc3RyICLpgJ/luqYgJWQg5LiN5Y+X5pSv5o+0IgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjIwMworIywgYy1mb3JtYXQKK21zZ2lkICJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iCittc2dzdHIgIuWBh+ioreehrOmrlOaZgumQmOiiq+S/neaMgeWcqCAlcyDmmYLplpPjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjgKK21zZ2lkICJVVEMiCittc2dzdHIgIlVUQyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyMDQgc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjcKK21zZ2lkICJsb2NhbCIKK21zZ3N0ciAi5pys5ZywIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI1NAorIywgZnV6enkKK21zZ2lkICIiCisiV2FybmluZzogdW5yZWNvZ25pemVkIHRoaXJkIGxpbmUgaW4gYWRqdGltZSBmaWxlXG4iCisiKEV4cGVjdGVkOiBgVVRDJyBvciBgTE9DQUwnIG9yIG5vdGhpbmcuKSIKK21zZ3N0ciAiIgorIuitpuWRiu+8mueEoeazlei+qOitmOeahOesrOS4ieWIl+WcqOS4rSBhZGp0aW1lIOaqlOahiFxuIgorIijpoJDmnJ/vvJrjgI5VVEPjgI/miJbjgI7mnKzlnLDjgI/miJbmspLmnInku7vkvZXmnbHopb8uKSIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyNjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiTGFzdCBkcmlmdCBhZGp1c3RtZW50IGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICLmnIDlvozkuIDmrKHlgY/lt67oqr/mlbTlt7LmlrwgMTk2OSDlubTkuYvlvowgJWxkIOenkuWujOaIkFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2MworIywgYy1mb3JtYXQKK21zZ2lkICJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIgorbXNnc3RyICLmnIDlvozkuIDmrKHmoKHmuKzlt7LmlrwgMTk2OSDlubTkuYvlvowgJWxkIOenkuWujOaIkFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iCittc2dzdHIgIuehrOmrlOaZgumQmOS9jeaWvCAlcyDmmYLplpNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTIKKyMsIGMtZm9ybWF0Cittc2dpZCAiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIgorbXNnc3RyICLnrYnlgJnmmYLpkJjpgLHmnJ/igKZcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoyOTgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIgorbXNnc3RyICLigKblkIzmraXljJblpLHmlZdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozMDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLi4uZ290IGNsb2NrIHRpY2tcbiIKK21zZ3N0ciAi4oCm542y5b6X5pmC6ZCY6YCx5pyfXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MzQxCisjLCBjLWZvcm1hdAorbXNnaWQgIkludmFsaWQgdmFsdWVzIGluIGhhcmR3YXJlIGNsb2NrOiAlNGQvJS4yZC8lLjJkICUuMmQ6JS4yZDolLjJkXG4iCittc2dzdHIgIuehrOmrlOaZgumQmOeahOeEoeaViOWAvO+8miU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzozNDkKKyMsIGMtZm9ybWF0Cittc2dpZCAiSHcgY2xvY2sgdGltZSA6ICU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQgc2Vjb25kcyBzaW5jZSAxOTY5XG4iCittc2dzdHIgIuehrOmrlOaZgumQmOaZgumWk++8miU0ZC8lLjJkLyUuMmQgJS4yZDolLjJkOiUuMmQgPSAlbGQg56eS6IeqIDE5Njkg5bm06LW3566XXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iCittc2dzdHIgIuW+nuehrOmrlOaZgumQmOiugOWPluaZgumWk++8miU0ZC8lLjJkLyUuMmQgJTAyZDolMDJkOiUwMmRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo0MDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCA9ICVsZCBzZWNvbmRzIHNpbmNlIDE5NjlcbiIKK21zZ3N0ciAi6Kit5a6a56Gs6auU5pmC6ZCY54K6ICUuMmQ6JS4yZDolLjJkID0gJWxkIOenkuiHqiAxOTY5IOW5tOi1t+eul1xuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUwNQorIywgYy1mb3JtYXQKK21zZ2lkICJ0aW1lIGp1bXBlZCBiYWNrd2FyZCAlLjZmIHNlY29uZHMgdG8gJWxkLiUwNmxkIC0gcmV0YXJnZXRpbmdcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjUyNworIywgYy1mb3JtYXQKK21zZ2lkICJtaXNzZWQgaXQgLSAlbGQuJTA2bGQgaXMgdG9vIGZhciBwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo1NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKyJTZXQgUlRDIHRvICVsZCAoJWxkICsgJWQ7IHJlZnN5c3RpbWUgPSAlbGQuJTA2bGQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCBwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjI4Cittc2dpZCAiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgMCkgdG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KCVsZC4lMDZsZCwgJWQpXG4iCittc2dzdHIgIuWRvOWPqyBzZXR0aW1lb2ZkYXnvvJpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsICVkKSAiCittc2dzdHIgIuWRvOWPqyBzZXR0aW1lb2ZkYXnvvJpcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzYKK21zZ2lkICJ0byBzZXQgdGhlIGtlcm5lbCB0aW1lem9uZS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo2MzgKK21zZ2lkICJ0byB3YXJwIFN5c3RlbSB0aW1lLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY1NQorbXNnaWQgInNldHRpbWVvZmRheSgpIGZhaWxlZCIKK21zZ3N0ciAic2V0dGltZW9mZGF5KCkg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjY3OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIKK21zZ3N0ciAi54Sh5rOV6Kq/5pW05YGP5beu5L+C5pW477yM5Zug54K65LmL5YmN55qE56Gs6auU5pmC6ZCY5YyF5ZCr5LqG54Sh55So6LOH5paZ44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NjgzCisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorInNvIGhpc3RvcnkgaXMgYmFkIGFuZCBjYWxpYnJhdGlvbiBzdGFydG92ZXIgaXMgbmVjZXNzYXJ5LlxuIgorbXNnc3RyICIiCisi54Sh5rOV6Kq/5pW05YGP5beu5L+C5pW477yM5Zug54K65pyA5b6M5LiA5qyh5qCh5ris5pmC6ZaT54K66Zu277yMXG4iCisi5Zug6ICM5LiN55W255qE5q235Y+y6KiY6YyE5L2/5b6X5ZWf5aeL5qCh5ris54K65b+F6KaB55qE44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6Njg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGl0IGhhcyBiZWVuIGxlc3MgdGhhbiBmb3VyIGhvdXJzIHNpbmNlIHRoZSBsYXN0IGNhbGlicmF0aW9uLlxuIgorbXNnc3RyICLnhKHms5Xoqr/mlbTlgY/lt67kv4LmlbjvvIzlm6DngrrlroPlvp7mnIDlvozkuIDmrKHmoKHmuKzotbflt7LntpPmhaLpgY7mlrzkuIDlpKnjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo3MjcKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIkNsb2NrIGRyaWZ0IGZhY3RvciB3YXMgY2FsY3VsYXRlZCBhcyAlZiBzZWNvbmRzL2RheS5cbiIKKyJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzM0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICVmIHNlY29uZHNcbiIKKyJpbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAlZiBzZWNvbmRzL2RheS5cbiIKKyJBZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJ5ICVmIHNlY29uZHMvZGF5XG4iCittc2dzdHIgIiIKKyLmmYLpkJjlgY/lt67ngrogJS4xZiDnp5LnmbznlJ/mlrzpgY7ljrsgJWQg56eS5YWn77yM6ICM5LiN566hICVmIOenki/lpKnnmoTlgY/lt67kv4LmlbjjgIJcbiIKKyLku6UgJWYg56eSL+WkqeS+huiqv+aVtOWBj+W3ruS/guaVuFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjc3OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIgorbXNnaWRfcGx1cmFsICJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIgorbXNnc3RyWzBdICLlvp7mnIDlvozkuIDmrKHoqr/mlbTlvozntpPpgY7nmoTmmYLplpPngrogJWQg56eSXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6NzgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJDYWxjdWxhdGVkIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGlzICVsZC4lMDZsZCBzZWNvbmRzXG4iCittc2dzdHIgIiVzICAlLjZmIOenklxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjgwNworIywgYy1mb3JtYXQKK21zZ2lkICIiCisiTmV3ICVzIGRhdGE6XG4iCisiJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4MTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCB1cGRhdGUgJXMiCittc2dzdHIgIueEoeazlemWi+WVnyAlcyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgbGFzdCBhZGp1c3RtZW50IHRpbWUgaXMgemVybywgc28gaGlzdG9yeSBpcyBiYWQuXG4iCittc2dzdHIgIueEoeazleioreWumuaZgumQmOWboOeCuuacgOW+jOS4gOasoeiqv+aVtOaZgumWk+eCuumbtu+8jOWboOiAjOatt+WPsuiomOmMhOaYr+S4jeeVtueahOOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4NTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5vdCBzZXR0aW5nIGNsb2NrIGJlY2F1c2UgZHJpZnQgZmFjdG9yICVmIGlzIGZhciB0b28gaGlnaC5cbiIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a5pmC6ZCY5Zug54K65pyA5b6M5LiA5qyh6Kq/5pW05pmC6ZaT54K66Zu277yM5Zug6ICM5q235Y+y6KiY6YyE5piv5LiN55W255qE44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjg4NQorIywgYy1mb3JtYXQKK21zZ2lkICJObyB1c2FibGUgY2xvY2sgaW50ZXJmYWNlIGZvdW5kLlxuIgorbXNnc3RyICLmib7kuI3liLDlj6/nlKjnmoTmmYLpkJjku4vpnaLjgIJcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo4ODYKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhIGFueSBrbm93biBtZXRob2QuIgorbXNnc3RyICLnhKHms5XlrZjlj5bnoazpq5TmmYLpkJjpgI/pgY7ku7vkvZXlt7Lnn6Xmlrnms5XjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6ODg5CisjLCBmdXp6eQorbXNnaWQgIlVzZSB0aGUgLS12ZXJib3NlIG9wdGlvbiB0byBzZWUgdGhlIGRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzIG1ldGhvZC4iCittc2dzdHIgIuS9v+eUqCAtLWRlYnVnIOmBuOmgheWIsOWPg+eci+e0sOevgOeahOaIkeWAkeeahOaQnOWwi+WtmOWPluaWueazleOAgiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5MzkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlRhcmdldCBkYXRlOiAgICVsZFxuIgorbXNnc3RyICLlt7LkuqTmj5voqJjmhrbpq5TpoIEgICAlbGRcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUHJlZGljdGVkIFJUQzogJWxkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzo5NzAKK21zZ2lkICJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjk5OAorIywgYy1mb3JtYXQKK21zZ2lkICJOZWVkZWQgYWRqdXN0bWVudCBpcyBsZXNzIHRoYW4gb25lIHNlY29uZCwgc28gbm90IHNldHRpbmcgY2xvY2suXG4iCittc2dzdHIgIuaJgOmcgOeahOiqv+aVtOWwkeaWvOS4gOenkumQmO+8jOWboOiAjOeEoeazleioreWumuaZgumQmOOAglxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwMzUKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iCittc2dzdHIgIueEoeazleiugOWPlui2heWNgOWhiiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDM3CisjLCBjLWZvcm1hdAorbXNnaWQgIlRoZSBSVEMgZXBvY2ggaXMgc2V0IHRvICVsdS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDAKK21zZ2lkICItLWVwb2NoIGlzIHJlcXVpcmVkIGZvciAtLXNldGVwb2NoLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNDMKKyMsIGZ1enp5Cittc2dpZCAidW5hYmxlIHRvIHNldCB0aGUgUlRDIGVwb2NoLiIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a57O757Wx5pmC6ZCY44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA1NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIKK21zZ3N0ciAiIGh3Y2xvY2sgW+WHveW8j10gW+mBuOmghS4uLl1cbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYwCittc2dpZCAiVGltZSBjbG9ja3MgdXRpbGl0eS4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDYzCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIKK21zZ3N0ciAiIC1nLCAtLWdldC10aHJlc2hvbGQgICAgICAgICAgICAgICAg6aGv56S655uu5YmN55qE6Ieo55WM5YC8XG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA2NAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tZ2V0ICAgICAgICAgICAgZGlzcGxheSBkcmlmdCBjb3JyZWN0ZWQgUlRDIHRpbWUiCittc2dzdHIgIiAtZywgLS1nZXQtdGhyZXNob2xkICAgICAgICAgICAgICAgIOmhr+ekuuebruWJjeeahOiHqOeVjOWAvFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXNldCAgICAgICAgICAgIHNldCB0aGUgUlRDIGFjY29yZGluZyB0byAtLWRhdGUiCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNjYKK21zZ2lkICIgLXMsIC0taGN0b3N5cyAgICAgICAgc2V0IHRoZSBzeXN0ZW0gdGltZSBmcm9tIHRoZSBSVEMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY3CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS1zeXN0b2hjICAgICAgICBzZXQgdGhlIFJUQyBmcm9tIHRoZSBzeXN0ZW0gdGltZSIKK21zZ3N0ciAiICAgbCAgIOWIl+WHuuW3suefpeaqlOahiOezu+e1semhnuWeiyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY4Cittc2dpZCAiICAgICAtLXN5c3R6ICAgICAgICAgIHNlbmQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb25zIHRvIHRoZSBrZXJuZWwiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDY5Cittc2dpZCAiIC1hLCAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDcxCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1nZXRlcG9jaCAgICAgICBkaXNwbGF5IHRoZSBSVEMgZXBvY2giCittc2dzdHIgIiAtaCAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3MgorbXNnaWQgIiAgICAgLS1zZXRlcG9jaCAgICAgICBzZXQgdGhlIFJUQyBlcG9jaCBhY2NvcmRpbmcgdG8gLS1lcG9jaCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwNzQKK21zZ2lkICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA3NgorIywgZnV6enkKK21zZ2lkICIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDph43nva7pgJroqIrln6BcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDc3CisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbHRpbWUgICAgICB0aGUgUlRDIHRpbWVzY2FsZSBpcyBMb2NhbCIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA4MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iCittc2dzdHIgIiAtZiwgLS1ydGMgPGZpbGU+ICAgICDnibnmroovZGV2Ly4uLuaqlOahiOS7peS9v+eUqOS7peS7o+abv+mgkOiorVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiICAgICAtLWRpcmVjdGlzYSAgICAgIHVzZSB0aGUgSVNBIGJ1cyBpbnN0ZWFkIG9mICUxJHMgYWNjZXNzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg0Cittc2dpZCAiICAgICAtLWRhdGUgPHRpbWU+ICAgIGRhdGUvdGltZSBpbnB1dCBmb3IgLS1zZXQgYW5kIC0tcHJlZGljdCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwODYKK21zZ2lkICIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDg4Cittc2dpZCAiICAgICAtLXVwZGF0ZS1kcmlmdCAgIHVwZGF0ZSB0aGUgUlRDIGRyaWZ0IGZhY3RvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgdXNlICUxJHNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMDkyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIKK21zZ3N0ciAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIOeJueauii9kZXYvLi4u5qqU5qGI5Lul5L2/55So5Lul5Luj5pu/6aCQ6KitXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTA5MworIywgZnV6enkKK21zZ2lkICIgICAgIC0tdGVzdCAgICAgICAgICAgZHJ5IHJ1bjsgaW1wbGllcyAtLXZlcmJvc2UiCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEwOTQKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgbW9yZSBkZXRhaWxzIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICDliJfljbDoqbPntLDnmoTos4fmlplcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMTg2CisjLCBmdXp6eQorbXNnaWQgIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIKK21zZ3N0ciAi54Sh5rOV6YCj57ea5Yiw56i95qC457O757WxIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEyMTAKK21zZ2lkICJ1c2UgLS12ZXJib3NlLCAtLWRlYnVnIGhhcyBiZWVuIGRlcHJlY2F0ZWQuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMwOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIgorbXNnc3RyICLlpKrlpJrlvJXmlbgiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMxNworbXNnaWQgIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzMjIKKyMsIGZ1enp5Cittc2dpZCAiV2l0aCAtLW5vYWRqZmlsZSwgeW91IG11c3Qgc3BlY2lmeSBlaXRoZXIgLS11dGMgb3IgLS1sb2NhbHRpbWUiCittc2dzdHIgIuiIhyAtLW5vYWRqZmlsZe+8jOaCqOW/hemgiOaMh+WumumChOaYryAtLXV0YyDmiJYgLS1sb2NhbHRpbWUiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMyOQorbXNnaWQgIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLmM6MTMzNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBkYXRlICclcyciCittc2dzdHIgIueEoeaViOeahOitmOWIpeiZn++8miVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay5jOjEzNDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIKK21zZ3N0ciAi55uu5YmN55qE57O757Wx5pmC6ZaT77yaJWxkID0gJXNcbiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2suYzoxMzY1CisjLCBmdXp6eQorbXNnaWQgIlRlc3QgbW9kZTogbm90aGluZyB3YXMgY2hhbmdlZC4iCittc2dzdHIgIuWkp+Wwj+eahOS6pOaPm+WNgOWfnyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM4OQorbXNnaWQgIklTQSBwb3J0IGFjY2VzcyBpcyBub3QgaW1wbGVtZW50ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stY21vcy5jOjM5MQorIywgZnV6enkKK21zZ2lkICJpb3BsKCkgcG9ydCBhY2Nlc3MgZmFpbGVkIgorbXNnc3RyICLnhKHms5XlrZjlj5bmqpTmoYggJXMiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLWNtb3MuYzozOTcKK21zZ2lkICJVc2luZyBkaXJlY3QgSVNBIGFjY2VzcyB0byB0aGUgY2xvY2siCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUcnlpbmcgdG8gb3BlbjogJXNcbiIKK21zZ3N0ciAi5ZiX6Kmm5Y246LyJICVzXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjE1MCBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzoyNTMKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gcnRjIGRldmljZSIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MTg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gcmVhZCB0aGUgdGltZSBmYWlsZWQiCittc2dzdHIgImlvY3RsICglcykg5YiwICVzIOWIsOiugOWPluaZgumWk+WkseaVlyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MjE0CisjLCBjLWZvcm1hdAorbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIgorbXNnc3RyICLlvqrnkrDnrYnlgJnoh6ogJXMg6K6K5pu06LW355qE5pmC6ZaTXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjIzMworIywgZnV6enkKK21zZ2lkICJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIgorbXNnc3RyICLlt7LpgL7mmYLnrYnlvoXmmYLplpPorormm7TjgIIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VsZWN0KCkgdG8gJXMgdG8gd2FpdCBmb3IgY2xvY2sgdGljayB0aW1lZCBvdXQiCittc2dzdHIgIumBuOWPligpIOWIsCAlcyDliLDnrYnlvoXmmYLpkJjpgLHmnJ/lt7LpgL7mmYIiCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjI5MgorIywgYy1mb3JtYXQKK21zZ2lkICJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIGZhaWxlZCIKK21zZ3N0ciAiJXMg55qEIHNlbGVjdCgpIOetieWAmeaZgumQmOmAseacn+WkseaVlyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6Mjk3CisjLCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCkgdG8gJXMgdG8gdHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIgorbXNnc3RyICIlcyDnmoQgaW9jdGwoKSDpl5zplonmm7TmlrDmj5LmlrflpLHmlZciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjMwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkg5YiwICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6MzU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglcykgdG8gJXMgdG8gc2V0IHRoZSB0aW1lIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwgKCVzKSDliLAgJXMg5Yiw6Kit5a6a5pmC6ZaT5aSx5pWX44CCIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzozNjIKKyMsIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIgorbXNnc3RyICJpb2N0bCglcykg5Y6f5pys5oiQ5Yqf44CCXG4iCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjM3MworbXNnaWQgIlVzaW5nIHRoZSBydGMgaW50ZXJmYWNlIHRvIHRoZSBjbG9jay4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg55qEIGlvY3RsKFJUQ19FUE9DSF9SRUFEKSDlpLHmlZciCisKKyM6IHN5cy11dGlscy9od2Nsb2NrLXJ0Yy5jOjQxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW9jdGwoJWQsIFJUQ19FUE9DSF9SRUFELCBlcG9jaF9wKSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgIiVzIOeahCBpb2N0bChSVENfRVBPQ0hfUkVBRCkg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgZXBvY2ggJyVzJy4iCittc2dzdHIgIueEoeaViOeahOitmOWIpeiZn++8miVzIgorCisjOiBzeXMtdXRpbHMvaHdjbG9jay1ydGMuYzo0NDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIGZhaWxlZCIKK21zZ3N0ciAiaW9jdGwoUlRDX0VQT0NIX1NFVCkg5YiwICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmM6NDQ2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpb2N0bCglZCwgUlRDX0VQT0NIX1NFVCwgJWx1KSB0byAlcyBzdWNjZWVkZWQuXG4iCittc2dzdHIgImlvY3RsKFJUQ19FUE9DSF9TRVQpIOWIsCAlcyDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjcwCittc2dpZCAiQ3JlYXRlIHZhcmlvdXMgSVBDIHJlc291cmNlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3MworIywgZnV6enkKK21zZ2lkICIgLU0sIC0tc2htZW0gPHNpemU+ICAgICAgIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgb2Ygc2l6ZSA8c2l6ZT5cbiIKK21zZ3N0ciAiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICDlu7rnq4vlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrXnmoTlpKflsI885aSn5bCPPlxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NAorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIgorbXNnc3RyICIgLVMsIC0tc2VtYXBob3JlIDxuc2Vtcz4gIOW7uueri+iZn+iqjOmZo+WIl+iIhzxuc2Vtcz7lhYPku7ZcbiIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6NzUKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzo3NgorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorbXNnc3RyICIgLXAsIC0tbW9kZSA8bW9kZT4gICAgICAgIOasiumZkOeUqOaWvOizh+a6kCAo6aCQ6Kit5pivIDA2NDQpXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjExMCBzeXMtdXRpbHMvbG9zZXR1cC5jOjcxNSBzeXMtdXRpbHMvenJhbWN0bC5jOjYyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIGVsZW1lbnRzIgorbXNnc3RyICLliZbmnpDlhYPku7bmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MQorbXNnaWQgImNyZWF0ZSBzaGFyZSBtZW1vcnkgZmFpbGVkIgorbXNnc3RyICLlu7rnq4vlhbHkuqvoqJjmhrbpq5TmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE0MworIywgYy1mb3JtYXQKK21zZ2lkICJTaGFyZWQgbWVtb3J5IGlkOiAlZFxuIgorbXNnc3RyICLlhbHnlKjoqJjmhrbpq5TorZjliKXomZ/vvJolZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjbWsuYzoxNDkKK21zZ2lkICJjcmVhdGUgbWVzc2FnZSBxdWV1ZSBmYWlsZWQiCittc2dzdHIgIuW7uueri+ioiuaBr+S9h+WIl+aZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2lwY21rLmM6MTUxCisjLCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgcXVldWUgaWQ6ICVkXG4iCittc2dzdHIgIuioiuaBr+S9h+WIl+itmOWIpeiZn++8miVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1NworbXNnaWQgImNyZWF0ZSBzZW1hcGhvcmUgZmFpbGVkIgorbXNnc3RyICLlu7rnq4vomZ/oqozmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9pcGNtay5jOjE1OQorIywgYy1mb3JtYXQKK21zZ2lkICJTZW1hcGhvcmUgaWQ6ICVkXG4iCittc2dzdHIgIuiZn+iqjOitmOWIpeiZn++8miVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdXG4iCisiICUxJHMgc2htfG1zZ3xzZW0gPGlkPi4uLlxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWzxmaWxlPl1cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTUKK21zZ2lkICJSZW1vdmUgY2VydGFpbiBJUEMgcmVzb3VyY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjU4CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGlkXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbS1pZCA8aWQ+ICAgICAgICDnp7vpmaTlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrXnlLEgc2htaWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NTkKKyMsIGZ1enp5Cittc2dpZCAiIC1NLCAtLXNobWVtLWtleSA8a2V5PiAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkga2V5XG4iCittc2dzdHIgIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICDnp7vpmaTlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrXnlLHpjbVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZS1pZCA8aWQ+ICAgICAgICDnp7vpmaToqIrmga/kvYfliJfnlLHorZjliKXomZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjEKKyMsIGZ1enp5Cittc2dpZCAiIC1RLCAtLXF1ZXVlLWtleSA8a2V5PiAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGtleVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAg56e76Zmk6KiK5oGv5L2H5YiX55Sx6Y21XG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjYyCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICByZW1vdmUgc2VtYXBob3JlIGJ5IGlkXG4iCittc2dzdHIgIiAtcywgLS1zZW1hcGhvcmUtaWQgPGlkPiAgICDnp7vpmaTomZ/oqoznlLHorZjliKXomZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjMKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iCittc2dzdHIgIiAtUywgLS1zZW1hcGhvcmUta2V5IDxrZXk+ICDnp7vpmaTomZ/oqoznlLHpjbVcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6NjQKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbFs9c2htfG1zZ3xzZW1dICAgIHJlbW92ZSBhbGwgKGluIHRoZSBzcGVjaWZpZWQgY2F0ZWdvcnkpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgWz08c2htfG1zZ3xzZW0+XSAg5YWo6YOo56e76ZmkXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjY1CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjg2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgaWQgYCVkJ1xuIgorbXNnc3RyICLnp7vpmaTlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrXorZjliKXomZ/jgI4lZOOAj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzo5MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iCittc2dzdHIgIuenu+mZpOioiuaBr+S9h+WIl+itmOWIpeiZn+OAjiVk44CPXG4iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZW1vdmluZyBzZW1hcGhvcmUgaWQgYCVkJ1xuIgorbXNnc3RyICLnp7vpmaTomZ/oqozorZjliKXomZ/jgI4lZOOAj1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDggc3lzLXV0aWxzL2lwY3JtLmM6MjIyCittc2dpZCAicGVybWlzc2lvbiBkZW5pZWQgZm9yIGtleSIKK21zZ3N0ciAi5qyK6ZmQ6KKr5ouS55So5pa86Y215YC8IgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMDgKK21zZ2lkICJwZXJtaXNzaW9uIGRlbmllZCBmb3IgaWQiCittc2dzdHIgIuasiumZkOiiq+aLkueUqOaWvOitmOWIpeiZnyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTExIHN5cy11dGlscy9pcGNybS5jOjIyOAorbXNnaWQgImludmFsaWQga2V5IgorbXNnc3RyICLnhKHmlYjnmoTpjbXlgLwiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExMQorbXNnaWQgImludmFsaWQgaWQiCittc2dzdHIgIueEoeaViOeahOitmOWIpeiZnyIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0IHN5cy11dGlscy9pcGNybS5jOjIyNQorbXNnaWQgImFscmVhZHkgcmVtb3ZlZCBrZXkiCittc2dzdHIgIuW3sue2k+enu+mZpOeahOmNteWAvCIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MTE0Cittc2dpZCAiYWxyZWFkeSByZW1vdmVkIGlkIgorbXNnc3RyICLlt7LntpPnp7vpmaTnmoTorZjliKXomZ8iCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjExNyBzeXMtdXRpbHMvaXBjcm0uYzoyMzEKKyMsIGZ1enp5Cittc2dpZCAia2V5IGZhaWxlZCIKK21zZ3N0ciAi6Y215aSx5pWXIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiaWQgZmFpbGVkIgorbXNnc3RyICLorZjliKXomZ/lpLHmlZciCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjEzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBpZDogJXMiCittc2dzdHIgIueEoeaViOeahOitmOWIpeiZn++8miVzIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoxNjcKKyMsIGMtZm9ybWF0Cittc2dpZCAicmVzb3VyY2UocykgZGVsZXRlZFxuIgorbXNnc3RyICLos4fmupDlt7LliKrpmaRcbiIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIGtleSAoJXMpIgorbXNnc3RyICLkuI3lkIjms5XnmoTpjbUgKCVzKSIKKworIzogc3lzLXV0aWxzL2lwY3JtLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2hhcmVkIG1lbW9yeSIKK21zZ3N0ciAi5YWn5qC454Sh5rOV5bey57WE6YWN55So5pa85YWx55So6KiY5oa26auUIgorCisjOiBzeXMtdXRpbHMvaXBjcm0uYzoyNjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzIgorbXNnc3RyICLlhafmoLjnhKHms5Xlt7LntYTphY3nlKjmlrzomZ/oqowiCisKKyM6IHN5cy11dGlscy9pcGNybS5jOjI5MAorIywgZnV6enkKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIgorbXNnc3RyICLlhafmoLjnhKHms5Xlt7LntYTphY3nlKjmlrzoqIrmga/kvYfliJciCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKyIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iCittc2dzdHIgIiIKKyLnlKjms5XvvJolMSRzIFvos4fmupBdLi4uIFvovLjlh7rmoLzlvI9dXG4iCisiICAgICAgJTEkcyBb6LOH5rqQXSAtaSDorZjliKXomZ9cbiIKKyJcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1NyBzeXMtdXRpbHMvbHNpcGMuYzoyODEKKyMsIGZ1enp5Cittc2dpZCAiU2hvdyBpbmZvcm1hdGlvbiBvbiBJUEMgZmFjaWxpdGllcy5cbiIKK21zZ3N0ciAiIgorIuWwjeaWvOaCqOacieiugOWPluasiumZkOeahOmgheebru+8jOaPkOS+myBpcGMg5qmf6IO955qE6LOH6KiK44CCXG4iCisiXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjAKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iCittc2dzdHIgIiAtaSwgLS1pZCA8aWQ+ICDliJfljbDntLDnr4Dmlrzos4fmupDorZjliKXnmoTnlLHorZjliKXomZ9cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NCBzeXMtdXRpbHMvbHNpcGMuYzoyODQKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2Ugb3B0aW9uczpcbiIKK21zZ3N0ciAi6LOH5rqQ6YG46aCF77yaXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjUgc3lzLXV0aWxzL2xzaXBjLmM6Mjg1CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iCittc2dzdHIgIiAtbSwgLS1zaG1lbXMgICAgICDlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NiBzeXMtdXRpbHMvbHNpcGMuYzoyODYKKyMsIGZ1enp5Cittc2dpZCAiIC1xLCAtLXF1ZXVlcyAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCittc2dzdHIgIiAtcSwgLS1xdWV1ZXMgICAgICDoqIrmga/kvYfliJdcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NyBzeXMtdXRpbHMvbHNpcGMuYzoyODcKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIOiZn+iqjFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY4CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICBhbGwgKGRlZmF1bHQpXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICAgICDmiYDmnIkgKOmgkOiorSlcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3MQorIywgZnV6enkKK21zZ2lkICJPdXRwdXQgb3B0aW9uczpcbiIKK21zZ3N0ciAi6Ly45Ye65qC85byP77yaXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzIKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSAgICAgICAg6aGv56S66ZmE5Yqg44CB5Y246Zui5ZKM6K6K5pu05qyhXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiIC1wLCAtLXBpZCAgICAgICAgIHNob3cgUElEcyBvZiBjcmVhdG9yIGFuZCBsYXN0IG9wZXJhdG9yXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICDpoa/npLrlu7rnq4vogIXlkozmnIDlvozkuIDnrYboqIjnrpcgUElEc1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc0CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iCittc2dzdHIgIiAtYywgLS1jcmVhdG9yICAgICDpoa/npLrlu7rnq4vogIXlkozmk4HmnInogIVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NQorIywgZnV6enkKK21zZ2lkICIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpbWl0cyAgICAgIOmhr+ekuuizh+a6kOmZkOW6plxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjc2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iCittc2dzdHIgIiAtdSwgLS1zdW1tYXJ5ICAgICDpoa/npLrni4DmhYvmpoLopoFcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo3NworIywgZnV6enkKK21zZ2lkICIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAg5LiN5byV6KiA6Ly45Ye6XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgIHNob3cgc2l6ZXMgaW4gYnl0ZXNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpbWl0cyAgICAgIOmhr+ekuuizh+a6kOmZkOW6plxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjE2NAorbXNnaWQgIndoZW4gdXNpbmcgYW4gSUQsIGEgc2luZ2xlIHJlc291cmNlIG11c3QgYmUgc3BlY2lmaWVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIKK21zZ3N0ciAi5pyA5aSn5YWx55So6KiY5oa26auUICjljYPkvY3lhYPntYQpID0gJWxsdVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwNworIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOWFseeUqOiomOaGtumrlOmZkOW6piAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIwOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibWF4IG51bWJlciBvZiBzZWdtZW50cyA9ICVqdVxuIgorbXNnc3RyICLmnIDlpKfos4fmlpnmrrXmlbjph48gPSAlbHVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAibWF4IHNlZyBzaXplIgorbXNnc3RyICLmnIDlpKfmqpTmoYjlpKflsI8iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjE4CisjLCBmdXp6eQorbXNnaWQgIm1heCB0b3RhbCBzaGFyZWQgbWVtb3J5IgorbXNnc3RyICLmnIDlpKflhbHnlKjoqJjmhrbpq5QgKOWNg+S9jeWFg+e1hCkgPSAlbGx1XG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjIwCisjLCBmdXp6eQorbXNnaWQgIm1pbiBzZWcgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn5bi46aeQ6Kit5a6a5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjIzMgorIywgYy1mb3JtYXQKK21zZ2lkICJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIKK21zZ3N0ciAi5YWn5qC45pyq57WE6YWN5pSv5o+05YWx55So6KiY5oa26auUXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjM2CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g5YWx55So6KiY5oa26auU54uA5oWLIC0tLS0tLS0tXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKyMuIGNvbXBhdGliaWxpdHkgYXMgaXBjcyBpcyB1c2VkIGluIHNjcmlwdHMuIEZvciBjb25zaXN0ZW5jeQorIy4gd2l0aCB0aGUgcmVzdCwgdGhlIHRyYW5zbGF0ZWQgZm9ybSBjYW4gZm9sbG93IHRoaXMgbW9kZWw6CisjLiAqCisjLiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKyMuICJwYWdlcyBhbGxvY2F0ZWQgPSAlbGRcbiIKKyMuICJwYWdlcyByZXNpZGVudCA9ICVsZFxuIgorIy4gInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKyMuICJzd2FwIHBlcmZvcm1hbmNlID0gJWxkIGF0dGVtcHRzLCAlbGQgc3VjY2Vzc2VzXG4iCisjLgorIzogc3lzLXV0aWxzL2lwY3MuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJzZWdtZW50cyBhbGxvY2F0ZWQgJWRcbiIKKyJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorInBhZ2VzIHN3YXBwZWQgICAlbGRcbiIKKyJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iCittc2dzdHIgIiIKKyLos4fmlpnmrrXphY3nva4gJWRcbiIKKyLpoIHpnaLphY3nva4gJWxkXG4iCisi6aCB6Z2i5bi46aeQICAlbGRcbiIKKyLpoIHpnaLkuqTmj5sgICAlbGRcbiIKKyLkuqTmj5vmlYjog73vvJolbGQg6Kmm5ZyWXHQgJWxkIOaIkOWKn1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50IENyZWF0b3JzL093bmVycyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g5YWx55So6KiY5oa26auU6LOH5paZ5q615bu656uL6ICFL+aTgeacieiAhSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjI3MyBzeXMtdXRpbHMvaXBjcy5jOjI4MAorIzogc3lzLXV0aWxzL2lwY3MuYzoyODYKK21zZ2lkICJzaG1pZCIKK21zZ3N0ciAic2htaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6Mjg2IHN5cy11dGlscy9pcGNzLmM6MzkyCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjQ5NSBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgInBlcm1zIgorbXNnc3RyICJwZXJtcyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNjcgc3lzLXV0aWxzL2lwY3MuYzozOTIgc3lzLXV0aWxzL2lwY3MuYzo0OTUKK21zZ2lkICJjdWlkIgorbXNnc3RyICJjdWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI2NyBzeXMtdXRpbHMvaXBjcy5jOjM5MiBzeXMtdXRpbHMvaXBjcy5jOjQ5NQorbXNnaWQgImNnaWQiCittc2dzdHIgImNnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAidWlkIgorbXNnc3RyICJ1aWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjY3IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6NDk1Cittc2dpZCAiZ2lkIgorbXNnc3RyICJnaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjcxCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDlhbHnlKjoqJjmhrbpq5TpmYTliqAv5Y246ZuiL+iuiuabtCDmrKHmlbggLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMgc3lzLXV0aWxzL2lwY3MuYzoyODAgc3lzLXV0aWxzL2lwY3MuYzoyODYKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3IHN5cy11dGlscy9pcGNzLmM6NTAxCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgIm93bmVyIgorbXNnc3RyICLmk4HmnInogIUiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjczCittc2dpZCAiYXR0YWNoZWQiCittc2dzdHIgIuW3sumZhOWKoCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzMKK21zZ2lkICJkZXRhY2hlZCIKK21zZ3N0ciAi5bey5Y246ZuiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI3NAorbXNnaWQgImNoYW5nZWQiCittc2dzdHIgIuW3suiuiuabtCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyNzgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOWFseeUqOiomOaGtumrlOW7uueri+iAhS/mnIDlvozmk43kvZwgUElEcyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4MAorbXNnaWQgImNwaWQiCittc2dzdHIgImNwaWQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MjgwCittc2dpZCAibHBpZCIKK21zZ3N0ciAibHBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODQKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOWFseeUqOiomOaGtumrlOizh+aWmeautSAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NiBzeXMtdXRpbHMvaXBjcy5jOjQwNyBzeXMtdXRpbHMvaXBjcy5jOjUxMworbXNnaWQgImtleSIKK21zZ3N0ciAi6Y215YC8IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4NyBzeXMtdXRpbHMvaXBjcy5jOjUxNAorbXNnaWQgInNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzoyODcgc3lzLXV0aWxzL3BybGltaXQuYzo3NSBzeXMtdXRpbHMvcHJsaW1pdC5jOjc2CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc4IHN5cy11dGlscy9wcmxpbWl0LmM6Nzkgc3lzLXV0aWxzL3BybGltaXQuYzo4MQorIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg2IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKK21zZ2lkICJieXRlcyIKK21zZ3N0ciAi5L2N5YWD57WEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgIm5hdHRjaCIKK21zZ3N0ciAi5L2/55So5pW4IgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjI4OAorbXNnaWQgInN0YXR1cyIKK21zZ3N0ciAi54uA5oWLIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjMxMiBzeXMtdXRpbHMvaXBjcy5jOjMxNCBzeXMtdXRpbHMvaXBjcy5jOjMxNgorIzogc3lzLXV0aWxzL2lwY3MuYzo0MzAgc3lzLXV0aWxzL2lwY3MuYzo0MzIgc3lzLXV0aWxzL2lwY3MuYzo1MzgKKyM6IHN5cy11dGlscy9pcGNzLmM6NTQwIHN5cy11dGlscy9pcGNzLmM6NTQyIHN5cy11dGlscy9pcGNzLmM6NTk2CisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OCBzeXMtdXRpbHMvaXBjcy5jOjYyNyBzeXMtdXRpbHMvaXBjcy5jOjYyOQorIzogc3lzLXV0aWxzL2lwY3MuYzo2MzEgc3lzLXV0aWxzL2lwY3MuYzo2NTUKK21zZ2lkICJOb3Qgc2V0IgorbXNnc3RyICLmnKroqK3lrpoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQyIHN5cy11dGlscy9sc2lwYy5jOjk4NyBzeXMtdXRpbHMvbHNpcGMuYzo5OTMKK21zZ2lkICJkZXN0IgorbXNnc3RyICLnm67mqJkiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzQzIHN5cy11dGlscy9sc2lwYy5jOjk4OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDAxCittc2dpZCAibG9ja2VkIgorbXNnc3RyICLlt7LpjpblrpoiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIgorbXNnc3RyICLoqK3lrpogJXMg6LOH5rqQ6ZmQ5Yi25pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM2NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g6Jmf6KqM6ZmQ5bqmIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzY3CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBudW1iZXIgb2YgYXJyYXlzID0gJWRcbiIKK21zZ3N0ciAi5pyA5aSn6Zmj5YiX5pW46YePID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjgKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIKK21zZ3N0ciAi5ZCE6Zmj5YiX5pyA5aSn6Jmf6KqMID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozNjkKKyMsIGMtZm9ybWF0Cittc2dpZCAibWF4IHNlbWFwaG9yZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICLns7vntbHmlbTpq5TmnIDlpKfomZ/oqowgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MAorIywgYy1mb3JtYXQKK21zZ2lkICJtYXggb3BzIHBlciBzZW1vcCBjYWxsID0gJWRcbiIKK21zZ3N0ciAi5ZCEIHNlbW9wIOWRvOWPq+acgOWkpyBvcHMgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM3MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iCittc2dzdHIgIuiZn+iqjOacgOWkp+WAvCA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3Igc2VtYXBob3Jlc1xuIgorbXNnc3RyICLlhafmoLjmnKrntYTphY3nlKjmlrzomZ/oqoxcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozODMKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOiZn+iqjOeLgOaFiyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM4NAorIywgYy1mb3JtYXQKK21zZ2lkICJ1c2VkIGFycmF5cyA9ICVkXG4iCittc2dzdHIgIuW3sueUqOmZo+WIlyA9ICVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzg1CisjLCBjLWZvcm1hdAorbXNnaWQgImFsbG9jYXRlZCBzZW1hcGhvcmVzID0gJWRcbiIKK21zZ3N0ciAi5bey6YWN572u6Jmf6KqMID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzozOTAKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDomZ/oqozpmaPliJflu7rnq4vogIUv5pOB5pyJ6ICFIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6MzkyIHN5cy11dGlscy9pcGNzLmM6Mzk4IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAic2VtaWQiCittc2dzdHIgInNlbWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5NgorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOiZn+iqjOS9nOalrS/orormm7Qg5qyh5pW4IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6Mzk4Cittc2dpZCAibGFzdC1vcCIKK21zZ3N0ciAi5pyA5b6M5pON5L2c6ICFIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjM5OAorbXNnaWQgImxhc3QtY2hhbmdlZCIKK21zZ3N0ciAi5pyA5b6M6K6K5pu06ICFIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQwNQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g6Jmf6KqM6Zmj5YiXIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDA3Cittc2dpZCAibnNlbXMiCittc2dzdHIgIm5zZW1zIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ2NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5hYmxlIHRvIGZldGNoIG1lc3NhZ2UgbGltaXRzXG4iCittc2dzdHIgIuejgemgreaVuOmHjyIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NjgKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g6KiK5oGv6ZmQ5bqmIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDY5CisjLCBjLWZvcm1hdAorbXNnaWQgIm1heCBxdWV1ZXMgc3lzdGVtIHdpZGUgPSAlZFxuIgorbXNnc3RyICLns7vntbHmlbTpq5TmnIDlpKfkvYfliJcgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ3MQorIywgZnV6enkKK21zZ2lkICJtYXggc2l6ZSBvZiBtZXNzYWdlIgorbXNnc3RyICLoqIrmga/mnIDlpKflsLrlr7ggKOS9jeWFg+e1hCk9JWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0NzMKKyMsIGZ1enp5Cittc2dpZCAiZGVmYXVsdCBtYXggc2l6ZSBvZiBxdWV1ZSIKK21zZ3N0ciAi6aCQ6Kit5L2H5YiX5pyA5aSn5bC65a+4ICjkvY3lhYPntYQpPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgwCisjLCBjLWZvcm1hdAorbXNnaWQgImtlcm5lbCBub3QgY29uZmlndXJlZCBmb3IgbWVzc2FnZSBxdWV1ZXNcbiIKK21zZ3N0ciAi5YWn5qC45pyq57WE6YWN55So5pa86KiK5oGv5L2H5YiXXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDgzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOioiuaBr+eLgOaFiyAtLS0tLS0tLVxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ4NQorIywgYy1mb3JtYXQKK21zZ2lkICJhbGxvY2F0ZWQgcXVldWVzID0gJWRcbiIKK21zZ3N0ciAi5bey6YWN572u5L2H5YiXID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODYKKyMsIGMtZm9ybWF0Cittc2dpZCAidXNlZCBoZWFkZXJzID0gJWRcbiIKK21zZ3N0ciAi5bey55So5qiZ6aCtID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0ODgKKyMsIGZ1enp5Cittc2dpZCAidXNlZCBzcGFjZSIKK21zZ3N0ciAi5bey55So56m66ZaTID0gJWQg5L2N5YWD57WEXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDg5CisjLCBmdXp6eQorbXNnaWQgIiBieXRlc1xuIgorbXNnc3RyICLkvY3lhYPntYQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NDkzCisjLCBjLWZvcm1hdAorbXNnaWQgIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOioiuaBr+S9h+WIl+W7uueri+iAhS/mk4HmnInogIUgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo0OTUgc3lzLXV0aWxzL2lwY3MuYzo1MDEgc3lzLXV0aWxzL2lwY3MuYzo1MDcKKyM6IHN5cy11dGlscy9pcGNzLmM6NTEzCittc2dpZCAibXNxaWQiCittc2dzdHIgIm1zcWlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjQ5OQorIywgYy1mb3JtYXQKK21zZ2lkICItLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIgorbXNnc3RyICItLS0tLS0g6KiK5oGv5L2H5YiX55m86YCBL+aOpeaUti/orormm7Qg5qyh5pW4IC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTAxCittc2dpZCAic2VuZCIKK21zZ3N0ciAi55m86YCBIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwMQorbXNnaWQgInJlY3YiCittc2dzdHIgIuaOpeaUtiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDEKK21zZ2lkICJjaGFuZ2UiCittc2dzdHIgIuiuiuabtCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MDUKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIKK21zZ3N0ciAiLS0tLS0tIOioiuaBr+S9h+WIlyBQSURzIC0tLS0tLS0tXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTA3Cittc2dpZCAibHNwaWQiCittc2dzdHIgImxzcGlkIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjUwNworbXNnaWQgImxycGlkIgorbXNnc3RyICJscnBpZCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTEKKyMsIGMtZm9ybWF0Cittc2dpZCAiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIC0tLS0tLS0tXG4iCittc2dzdHIgIi0tLS0tLSDoqIrmga/kvYfliJcgLS0tLS0tLS1cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1MTQKK21zZ2lkICJ1c2VkLWJ5dGVzIgorbXNnc3RyICLlt7LnlKjkvY3lhYPntYQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NTE1Cittc2dpZCAibWVzc2FnZXMiCittc2dzdHIgIuioiuaBryIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODAgc3lzLXV0aWxzL2lwY3MuYzo2MTAgc3lzLXV0aWxzL2lwY3MuYzo2NDMKKyM6IHN5cy11dGlscy9sc2lwYy5jOjUzNyBzeXMtdXRpbHMvbHNpcGMuYzo3Mjkgc3lzLXV0aWxzL2xzaXBjLmM6ODg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpZCAlZCBub3QgZm91bmQiCittc2dzdHIgIiVz77ya5om+5LiN5YiwIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkIG1lbW9yeSBTZWdtZW50IHNobWlkPSVkXG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrUgc2htaWQgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU4NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1ODgKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAibW9kZT0lI29cdGFjY2Vzc19wZXJtcz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTAKK21zZ2lkICJzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5MAorIywgZnV6enkKK21zZ2lkICJieXRlcz0iCittc2dzdHIgIuS9jeWFg+e1hCIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo1OTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImxwaWQ9JXVcdGNwaWQ9JXVcdG5hdHRjaD0lamRcbiIKK21zZ3N0ciAi5L2N5YWD57WEPSVsdVx0bHBpZD0lZFx0Y3BpZD0lZFx0bmF0dGNoPSVsZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NQorIywgYy1mb3JtYXQKK21zZ2lkICJhdHRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJhdHRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5NworIywgYy1mb3JtYXQKK21zZ2lkICJkZXRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJkZXRfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjU5OSBzeXMtdXRpbHMvaXBjcy5jOjYzMAorIywgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiTWVzc2FnZSBRdWV1ZSBtc3FpZD0lZFxuIgorbXNnc3RyICIiCisiXG4iCisi6KiK5oGv5L2H5YiXIG1zcWlkPSVkXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1aWQ9JXVcdGdpZD0ldVx0Y3VpZD0ldVx0Y2dpZD0ldVx0bW9kZT0lI29cbiIKK21zZ3N0ciAidWlkPSV1XHRnaWQ9JXVcdGN1aWQ9JXVcdGNnaWQ9JXVcdOaooeW8jz0lI29cbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKK21zZ2lkICJjc2l6ZT0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2MTkKKyMsIGZ1enp5Cittc2dpZCAiY2J5dGVzPSIKK21zZ3N0ciAi5L2N5YWD57WEIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorbXNnaWQgInFzaXplPSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjYyMQorIywgZnV6enkKK21zZ2lkICJxYnl0ZXM9IgorbXNnc3RyICLkvY3lhYPntYQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI2CisjLCBjLWZvcm1hdAorbXNnaWQgInNlbmRfdGltZT0lLTI2LjI0c1xuIgorbXNnc3RyICJzZW5kX3RpbWUgPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjI4CisjLCBjLWZvcm1hdAorbXNnaWQgInJjdl90aW1lPSUtMjYuMjRzXG4iCittc2dzdHIgInJjdl90aW1lPSUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjQ3CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgQXJyYXkgc2VtaWQ9JWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIuiZn+iqjOmZo+WIlyBzZW1pZD0lZFxuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKK21zZ3N0ciAidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTEKKyMsIGMtZm9ybWF0Cittc2dpZCAibW9kZT0lI28sIGFjY2Vzc19wZXJtcz0lI29cbiIKK21zZ3N0ciAi5qih5byPPSUjbywgYWNjZXNzX3Blcm1zPSUjb1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAibnNlbXMgPSAlanVcbiIKK21zZ3N0ciAibnNlbXMgPSAlbGRcbiIKKworIzogc3lzLXV0aWxzL2lwY3MuYzo2NTQKKyMsIGMtZm9ybWF0Cittc2dpZCAib3RpbWUgPSAlLTI2LjI0c1xuIgorbXNnc3RyICJvdGltZSA9ICUtMjYuMjRzXG4iCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU2CisjLCBjLWZvcm1hdAorbXNnaWQgImN0aW1lID0gJS0yNi4yNHNcbiIKK21zZ3N0ciAiY3RpbWUgPSAlLTI2LjI0c1xuIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInNlbW51bSIKK21zZ3N0ciAic2VtbnVtIgorCisjOiBzeXMtdXRpbHMvaXBjcy5jOjY1OQorbXNnaWQgInZhbHVlIgorbXNnc3RyICLlgLwiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAibmNvdW50IgorbXNnc3RyICJuY291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAiemNvdW50IgorbXNnc3RyICJ6Y291bnQiCisKKyM6IHN5cy11dGlscy9pcGNzLmM6NjU5Cittc2dpZCAicGlkIgorbXNnc3RyICJwaWQiCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjIzMCBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyMzQgc3lzLXV0aWxzL2lwY3V0aWxzLmM6MjM4CisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzoyNDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGZhaWxlZCIKK21zZ3N0ciAiJXMg5aSx5pWX44CCXG4iCisKKyM6IHN5cy11dGlscy9pcGN1dGlscy5jOjUwMworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgKGJ5dGVzKSA9ICIKK21zZ3N0ciAiJXpkIOS9jeWFg+e1hCBbIgorCisjOiBzeXMtdXRpbHMvaXBjdXRpbHMuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIChrYnl0ZXMpID0gIgorbXNnc3RyICIlemQg5L2N5YWD57WEIFsiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjE4NAorIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIGlmbGFnIgorbXNnc3RyICLnhKHmlYjnmoQgaWZsYWciCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8bGRpc2M+POijnee9rj5cbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjAzCittc2dpZCAiQXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA2CisjLCBmdXp6eQorbXNnaWQgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIwNworIywgZnV6enkKK21zZ2lkICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAgc2V0IHNlcmlhbCBsaW5lIHNwZWVkXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjA4Cittc2dpZCAiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMDkKK21zZ2lkICIgLXAsIC0tcGF1c2UgPHNlY29uZHM+ICAgcGF1c2UgYmV0d2VlbiBpbnRybyBhbmQgbGRhdHRhY2hcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTAKKyMsIGZ1enp5Cittc2dpZCAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIOioreWumuWtl+WFg+Wkp+Wwj+WIsCA3IOS9jeWFg1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTEKKyMsIGZ1enp5Cittc2dpZCAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA4IGJpdHNcbiIKK21zZ3N0ciAiIC04LCAtLWVpZ2h0Yml0cyAgICAgICAgIOioreWumuWtl+WFg+Wkp+Wwj+WIsCA4IOS9jeWFg1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTIKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIHNldCBwYXJpdHkgdG8gbm9uZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxMworIywgZnV6enkKK21zZ2lkICIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iCittc2dzdHIgIiAtZSwgLS1ldmVucGFyaXR5ICAgICAgICDoqK3lrprlkIzkvY3liLDnlJroh7NcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE0CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vZGRwYXJpdHkgICAgICAgICBzZXQgcGFyaXR5IHRvIG9kZFxuIgorbXNnc3RyICIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw5aWH5pW4XG4iCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjIxNQorIywgZnV6enkKK21zZ2lkICIgLTEsIC0tb25lc3RvcGJpdCAgICAgICAgc2V0IHN0b3AgYml0cyB0byBvbmVcbiIKK21zZ3N0ciAiIC0xLCAtLW9uZXN0b3BiaXQgICAgICAgIOioreWumuWBnOatouS9jeWFg+WIsOS4gOWAi1xuIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzoyMTYKKyMsIGZ1enp5Cittc2dpZCAiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iCittc2dzdHIgIiAtMiwgLS10d29zdG9wYml0cyAgICAgICDoqK3lrprlgZzmraLkvY3lhYPliLDlhalcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjE3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICBzZXQgaW5wdXQgbW9kZSBmbGFnXG4iCittc2dzdHIgIiAtaSwgLS1pZmxhZyBbLV08aWZsYWc+ICDoqK3lrprovLjlhaXmqKHlvI/ml5fmqJlcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjIyCittc2dpZCAiIgorIlxuIgorIktub3duIDxsZGlzYz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlt7Lnn6UgPGxkaXNjPiDlkI3nqLHvvJpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MjI2Cittc2dpZCAiIgorIlxuIgorIktub3duIDxpZmxhZz4gbmFtZXM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlt7Lnn6UgPGlmbGFnPiDlkI3nqLHvvJpcbiIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgc3BlZWQgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmAn+W6puW8leaVuCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6MzQ3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgcGF1c2UgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWJjeerr+W8leaVuCIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6Mzc0CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTliJfopo/lvovlvJXmlbgiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjM5NAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIKK21zZ3N0ciAiJXMg5Lim6Z2e5bqP5YiX57ea6LevIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDEKKyMsIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZvciAlcyIKK21zZ3N0ciAi54Sh5rOV5Y+W5b6X57WC56uv5qmf5bGs5oCn55So5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvbGRhdHRhY2guYzo0MDQKKyMsIGMtZm9ybWF0Cittc2dpZCAic3BlZWQgJWQgdW5zdXBwb3J0ZWQiCittc2dzdHIgIumAn+W6piAlZCDkuI3lj5fmlK/mj7QiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ1MworIywgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXMgZm9yICVzIgorbXNnc3RyICLnhKHms5XoqK3lrprntYLnq6/mqZ/lsazmgKfnlKjmlrwgJXMiCisKKyM6IHN5cy11dGlscy9sZGF0dGFjaC5jOjQ2MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHdyaXRlIGludHJvIGNvbW1hbmQgdG8gJXMiCittc2dzdHIgIueEoeazleWvq+WFpSAlcyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDczCittc2dpZCAiY2Fubm90IHNldCBsaW5lIGRpc2NpcGxpbmUiCittc2dzdHIgIueEoeazleioreWumue3mui3r+imj+W+iyIKKworIzogc3lzLXV0aWxzL2xkYXR0YWNoLmM6NDgzCittc2dpZCAiY2Fubm90IGRhZW1vbml6ZSIKK21zZ3N0ciAi54Sh5rOV5a6I6K2356iL5byP5YyWIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcwCittc2dpZCAiYXV0b2NsZWFyIGZsYWcgc2V0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NzEKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGJhY2tpbmcgZmlsZSIKK21zZ3N0ciAi6KOd572u6K2Y5Yil56K8IgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjcyCisjLCBmdXp6eQorbXNnaWQgImJhY2tpbmcgZmlsZSBpbm9kZSBudW1iZXIiCittc2dzdHIgIumCj+i8r+eahCBOVU1BIOevgOm7nuaVuOWtlyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3MworIywgZnV6enkKK21zZ2lkICJiYWNraW5nIGZpbGUgbWFqb3I6bWlub3IgZGV2aWNlIG51bWJlciIKK21zZ3N0ciAi5Li76KaB55qE77ya5qyh57Sa6KOd572u5pW45a2XIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc0CisjLCBmdXp6eQorbXNnaWQgImxvb3AgZGV2aWNlIG5hbWUiCittc2dzdHIgIuijnee9ruWQjeeosSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NQorbXNnaWQgIm9mZnNldCBmcm9tIHRoZSBiZWdpbm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3NgorIywgZnV6enkKK21zZ2lkICJwYXJ0c2NhbiBmbGFnIHNldCIKK21zZ3N0ciAi5YiG5Ymy5peX5qiZIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4CisjLCBmdXp6eQorbXNnaWQgInNpemUgbGltaXQgb2YgdGhlIGZpbGUgaW4gYnl0ZXMiCittc2dzdHIgIuaPkOWPluWwjem9iuWBj+enu+WcqOS4reS9jeWFg+e1hCIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3OQorIywgZnV6enkKK21zZ2lkICJsb29wIGRldmljZSBtYWpvcjptaW5vciBudW1iZXIiCittc2dzdHIgIuS4u+imgeeahO+8muasoee0muijnee9ruaVuOWtlyIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MAorbXNnaWQgImFjY2VzcyBiYWNraW5nIGZpbGUgd2l0aCBkaXJlY3QtaW8iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MQorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIHNlY3RvciBzaXplIGluIGJ5dGVzIgorbXNnc3RyICLpgo/ovK/ljYDlpKflsI8iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTM4IHN5cy11dGlscy9sb3NldHVwLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIG9mZnNldCAlanUiCittc2dzdHIgIu+8jOWBj+enuyAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTQxIHN5cy11dGlscy9sb3NldHVwLmM6MTUzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIHNpemVsaW1pdCAlanUiCittc2dzdHIgIu+8jHNpemVsaW1pdCAlanUiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIgorbXNnc3RyICLvvIzliqDlr4YgJXMgKOWei+aFiyAldSkiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MjAyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZGV0YWNoIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJrljbjpm6LlpLHmlZciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6MzkzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIgorbXNnc3RyICIiCisiICUxJHMgW+mBuOmghV0gWzxsb29wZGV2Pl1cbiIKKyIgJTEkcyBb6YG46aCFXSAtZnw8bG9vcGRldj485qqU5qGIPlxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjM5OAorbXNnaWQgIlNldCB1cCBhbmQgY29udHJvbCBsb29wIGRldmljZXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg5p+l6Kmi5omA5pyJ5Y6f5aeL6KOd572uXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDAzCittc2dpZCAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC1ELCAtLWRldGFjaC1hbGwgICAgICAgICAgICAgIGRldGFjaCBhbGwgdXNlZCBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZpbmQgICAgICAgICAgICAgICAgICAgIGZpbmQgZmlyc3QgdW51c2VkIGRldmljZVxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDpgJnlgIvlsI/nlKjms5XmjIflsI5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MDYKK21zZ2lkICIgLWMsIC0tc2V0LWNhcGFjaXR5IDxsb29wZGV2PiAgcmVzaXplIHRoZSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwNworbXNnaWQgIiAtaiwgLS1hc3NvY2lhdGVkIDxmaWxlPiAgICAgICBsaXN0IGFsbCBkZXZpY2VzIGFzc29jaWF0ZWQgd2l0aCA8ZmlsZT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQwOAorIywgZnV6enkKK21zZ2lkICIgLUwsIC0tbm9vdmVybGFwICAgICAgICAgICAgICAgYXZvaWQgcG9zc2libGUgY29uZmxpY3QgYmV0d2VlbiBkZXZpY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTIKKyMsIGZ1enp5Cittc2dpZCAiIC1vLCAtLW9mZnNldCA8bnVtPiAgICAgICAgICAgIHN0YXJ0IGF0IG9mZnNldCA8bnVtPiBpbnRvIGZpbGVcbiIKK21zZ3N0ciAiIC10LCAtLXNldC1mbHVzaCA8bnVtPiAgICAgICAgICAgICAg6Kit5a6a5riF55CG6YC+5pmC5Yiw5YC8XG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1zaXplbGltaXQgPG51bT4gICAgICAgICBkZXZpY2UgaXMgbGltaXRlZCB0byA8bnVtPiBieXRlcyBvZiB0aGUgZmlsZVxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC1iICAtLXNlY3Rvci1zaXplIDxudW0+ICAgICAgIHNldCB0aGUgbG9naWNhbCBzZWN0b3Igc2l6ZSB0byA8bnVtPlxuIgorbXNnc3RyICIgLWMsIC0tY3JlYXRvciAgICAg6aGv56S65bu656uL6ICF5ZKM5pOB5pyJ6ICFXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE1CisjLCBmdXp6eQorbXNnaWQgIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE2CisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICAgICAgICBzZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIC1zICAtLXNoYXJlZCAgICAgICAgICAgICDmj5Dlj5blhbHkuqvnmoTpjpblrppcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MTcKK21zZ2lkICIgICAgIC0tZGlyZWN0LWlvWz08b258b2ZmPl0gICAgb3BlbiBiYWNraW5nIGZpbGUgd2l0aCBPX0RJUkVDVFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE4Cittc2dpZCAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDIzCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjQKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxpc3QgICAgICAgICAgICAgICAgICAgIGxpc3QgaW5mbyBhYm91dCBhbGwgb3Igc3BlY2lmaWVkIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLVQsIC0tdGVzdCAgICAgICAgICAgICAgICAgICDmuKzoqabnlKjmlrwgZ2V0b3B0ICgxKSDniYjmnKxcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0MjUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLWxpc3Qgb3V0cHV0XG4iCittc2dzdHIgIiAtdSwgLS11bnF1b3RlICAgICAgICAgICAgICAgIOS4jeW8leiogOi8uOWHulxuIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNgorbXNnaWQgIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQyNworIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICAgICAgdXNlIHJhdyAtLWxpc3Qgb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo0NTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBXYXJuaW5nOiBmaWxlIGlzIHNtYWxsZXIgdGhhbiA1MTIgYnl0ZXM7IHRoZSBsb29wIGRldmljZSBtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iCittc2dzdHIgIiVz77ya6K2m5ZGK77ya5qqU5qGI5bCP5pa8IDUxMiDkvY3lhYPntYTvvIzov7TlnIjoo53nva7kuZ/oqLHmmK/nhKHnlKjnmoTmiJbpmrHlvaLnmoTnlKjmlrzns7vntbHlt6XlhbfjgIIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDU2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgdGhlIGVuZCBvZiB0aGUgZmlsZSB3aWxsIGJlIGlnbm9yZWQuIgorbXNnc3RyICIlc++8muitpuWRiu+8muaqlOahiOS4jeespuWQiOmAsuWFpSA1MTItYnl0ZSDno4HljYDntZDmnZ/nmoTmqpTmoYjlsIfooqvlv73nlaXjgIIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NDc3IHN5cy11dGlscy9sb3NldHVwLmM6NTI5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIgorbXNnc3RyICIlcyDkuI3mmK8gbHAg6KOd572uIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ4OAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgcmVhZC1vbmx5IGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjQ5NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byByZS11c2UgbG9vcCBkZXZpY2UiCittc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a6L+05ZyI6KOd572uIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gaW5zcGVjdCBsb29wIGRldmljZXMiCittc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a6L+05ZyI6KOd572uIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjUzMAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBjaGVjayBmb3IgY29uZmxpY3RpbmcgbG9vcCBkZXZpY2VzIgorbXNnc3RyICIlc++8mueEoeazleioreWumui/tOWciOijnee9riIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo1NDIgc3lzLXV0aWxzL2xvc2V0dXAuYzo4NDcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZpbmQgYW4gdW51c2VkIGxvb3AgZGV2aWNlIgorbXNnc3RyICLmib7kuI3liLDmnKrkvb/nlKjnmoToo53nva4iCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHVzZSBiYWNraW5nIGZpbGUiCittc2dzdHIgIiVz77ya54Sh5rOV5L2/55So5LiK5LiA5q2l5qqU5qGIIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjY0MworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIgorbXNnc3RyICLliZbmnpDlpKflsI/mmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6NjQ5IHN5cy11dGlscy9sb3NldHVwLmM6NjU5IHN5cy11dGlscy9sb3NldHVwLmM6Nzc0CisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjc4OCBzeXMtdXRpbHMvbG9zZXR1cC5jOjgyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIgorbXNnc3RyICIlc++8mueEoeazleS9v+eUqOijnee9riIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo3ODUKKyMsIGZ1enp5Cittc2dpZCAibm8gbG9vcCBkZXZpY2Ugc3BlY2lmaWVkIgorbXNnc3RyICLmspLmnInov7TlnIjoo53nva7mjIflrprnmoQiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODAwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0aGUgb3B0aW9ucyAlcyBhcmUgYWxsb3dlZCBkdXJpbmcgbG9vcCBkZXZpY2Ugc2V0dXAgb25seSIKK21zZ3N0ciAi6YG46aCFICVzIOiiq+WFgeioseWIsOi/tOWciOijnee9ruioreWumuWPquaciSIKKworIzogc3lzLXV0aWxzL2xvc2V0dXAuYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAidGhlIG9wdGlvbiAtLW9mZnNldCBpcyBub3QgYWxsb3dlZCBpbiB0aGlzIGNvbnRleHQiCittc2dzdHIgIumBuOmghSAtLW9mZnNldCDmnKrooqvlhYHoqLHlnKjkuK3pgJnlgIvoqp7looPjgIIiCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODY4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIKK21zZ3N0ciAiJXPvvJroqK3lrprlrrnph4/lpLHmlZciCisKKyM6IHN5cy11dGlscy9sb3NldHVwLmM6ODc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogc2V0IGRpcmVjdCBpbyBmYWlsZWQiCittc2dzdHIgIiVz77ya6K6K5pu055uu6YyE5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbG9zZXR1cC5jOjg4MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNldCBsb2dpY2FsIGJsb2NrIHNpemUgZmFpbGVkIgorbXNnc3RyICIlc++8muWPluW+l+Wkp+Wwj+aZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTUKK21zZ2lkICJub25lIgorbXNnc3RyICLnhKEiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjk2Cittc2dpZCAicGFyYSIKK21zZ3N0ciAi6YOo5YiGIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo5NworbXNnaWQgImZ1bGwiCittc2dzdHIgIuWFqOmDqCIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6OTgKK21zZ2lkICJjb250YWluZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQxCisjLCBmdXp6eQorbXNnaWQgImhvcml6b250YWwiCittc2dzdHIgIuawtOW5syIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTQyCisjLCBmdXp6eQorbXNnaWQgInZlcnRpY2FsIgorbXNnc3RyICLlnoLnm7QiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NAorIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIENQVSBudW1iZXIiCittc2dzdHIgIumCj+i8r+eahCBDUFUg5pW45a2XIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTUKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBjb3JlIG51bWJlciIKK21zZ3N0ciAi6YKP6Lyv55qE5qC45b+D5pW45a2XIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTYKKyMsIGZ1enp5Cittc2dpZCAibG9naWNhbCBzb2NrZXQgbnVtYmVyIgorbXNnc3RyICLpgo/ovK/nmoTpgJroqIrnq6/mlbjlrZciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5NworIywgZnV6enkKK21zZ2lkICJsb2dpY2FsIE5VTUEgbm9kZSBudW1iZXIiCittc2dzdHIgIumCj+i8r+eahCBOVU1BIOevgOm7nuaVuOWtlyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk4CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgYm9vayBudW1iZXIiCittc2dzdHIgIumCj+i8r+eahOabuOexjeaVuOWtlyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTk5CisjLCBmdXp6eQorbXNnaWQgImxvZ2ljYWwgZHJhd2VyIG51bWJlciIKK21zZ3N0ciAi6YKP6Lyv55qE5qC45b+D5pW45a2XIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDAKKyMsIGZ1enp5Cittc2dpZCAic2hvd3MgaG93IGNhY2hlcyBhcmUgc2hhcmVkIGJldHdlZW4gQ1BVcyIKK21zZ3N0ciAi6aGv56S65aaC5L2VIGNhY2hlcyDooqvlhbHkuqvku4vmlrwgQ1BVcyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjAxCisjLCBmdXp6eQorbXNnaWQgIkNQVSBkaXNwYXRjaGluZyBtb2RlIG9uIHZpcnR1YWwgaGFyZHdhcmUiCittc2dzdHIgIkNQVSDmtL7pgIHmqKHlvI/mlrzomZvmk6znoazpq5QiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMgorIywgZnV6enkKK21zZ2lkICJwaHlzaWNhbCBhZGRyZXNzIG9mIGEgQ1BVIgorbXNnc3RyICLlr6bpq5TkvY3lnYDnmoQgQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDMKKyMsIGZ1enp5Cittc2dpZCAic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIgorbXNnc3RyICLpoa/npLrlpoLmnpwgaHlwZXJ2aXNvciDlt7LphY3nva4gQ1BVIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoyMDQKKyMsIGZ1enp5Cittc2dpZCAic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIgorbXNnc3RyICLpoa/npLrlpoLmnpwgTGludXgg55uu5YmN5Yip55SoIENQVSIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA1Cittc2dpZCAic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MjA2Cittc2dpZCAic2hvd3MgdGhlIG1pbmltdW0gTUh6IG9mIHRoZSBDUFUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6Mzk5Cittc2dpZCAiZXJyb3I6IHVuYW1lIGZhaWxlZCIKK21zZ3N0ciAi6Yyv6Kqk77yadW5hbWUg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzo0ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjc0OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIKK21zZ3N0ciAi54Sh5rOV6Kit5a6a5L+h6Jmf6JmV55CG56iL5byPIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxMzA3CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBleHRyYWN0IHRoZSBub2RlIG51bWJlciIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bliIblibLljYDnt6jomZ8iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE0MzMgc3lzLXV0aWxzL2xzY3B1LmM6MTQ0MworIywgZnV6enkKK21zZ2lkICJZIgorbXNnc3RyICJZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNDMzIHN5cy11dGlscy9sc2NwdS5jOjE0NDMKKyMsIGZ1enp5Cittc2dpZCAiTiIKK21zZ3N0ciAiTiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTUyNworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyXG4iCisiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorIiMgc3RhcnRpbmcgZnJvbSB6ZXJvLlxuIgorbXNnc3RyICIiCisiIyDkuIvliJfmmK8gcGFyc2FibGUg5qC85byP77yM6Kmy6aCF5Y+v5Lul6KKrIGZlZCDliLDlhbbku5ZcbiIKKyIjIOeoi+W8j+OAguavj+WAi+S4jeWQjOeahOmgheebruWcqOS4reavj+ashOacieWUr+S4gOitmOWIpeiZn1xuIgorIiMg6ZaL5aeL5b6e6Zu244CCXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MjQKK21zZ2lkICJBcmNoaXRlY3R1cmU6IgorbXNnc3RyICLmnrbmp4vvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3MzcKK21zZ2lkICJDUFUgb3AtbW9kZShzKToiCittc2dzdHIgIkNQVSDkvZzmpa3mqKHlvI/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDAgc3lzLXV0aWxzL2xzY3B1LmM6MTc0MgorIywgZnV6enkKK21zZ2lkICJCeXRlIE9yZGVyOiIKK21zZ3N0ciAi5L2N5YWD57WE5qyh5bqP77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzQ0CisjLCBmdXp6eQorbXNnaWQgIkNQVShzKToiCittc2dzdHIgIkNQVSAocynvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE3NDcKKyMsIGZ1enp5Cittc2dpZCAiT24tbGluZSBDUFUocykgbWFzazoiCittc2dzdHIgIue3muS4iiBDUFUgKHMpIOmBrue9qe+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTc0OAorIywgZnV6enkKK21zZ2lkICJPbi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAi57ea5LiKIENQVSAocykg5riF5Zau77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY3CisjLCBmdXp6eQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBtYXNrOiIKK21zZ3N0ciAi6Zui57eaIENQVSAocykg6YGu572p77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxNzY4CisjLCBmdXp6eQorbXNnaWQgIk9mZi1saW5lIENQVShzKSBsaXN0OiIKK21zZ3N0ciAi6Zui57eaIENQVSAocykg5riF5Zau77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODAzCittc2dpZCAiVGhyZWFkKHMpIHBlciBjb3JlOiIKK21zZ3N0ciAi5q+P5qC45b+D5Z+36KGM57eS5pW477yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA1Cittc2dpZCAiQ29yZShzKSBwZXIgc29ja2V0OiIKK21zZ3N0ciAi5q+P6YCa6KiK56uv5qC45b+D5pW477yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODA4CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKSBwZXIgYm9vazoiCittc2dzdHIgIumAmuioiuerr+WQhOabuOexje+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMQorbXNnaWQgIkJvb2socykgcGVyIGRyYXdlcjoiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxMworbXNnaWQgIkRyYXdlcihzKToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgxNQorIywgZnV6enkKK21zZ2lkICJCb29rKHMpOiIKK21zZ3N0ciAi5pu457GN77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODE4CisjLCBmdXp6eQorbXNnaWQgIlNvY2tldChzKToiCittc2dzdHIgIumAmuioiuerr++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyMgorbXNnaWQgIk5VTUEgbm9kZShzKToiCittc2dzdHIgIk5VTUEg56+A6bue77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI0Cittc2dpZCAiVmVuZG9yIElEOiIKK21zZ3N0ciAi5L6b5oeJ5ZWG6K2Y5Yil6Jmf77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODI2CisjLCBmdXp6eQorbXNnaWQgIk1hY2hpbmUgdHlwZToiCittc2dzdHIgIuWIhuWJsuWNgOe3qOiZnyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgyOAorbXNnaWQgIkNQVSBmYW1pbHk6IgorbXNnc3RyICJDUFUg5a625peP77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODMwCittc2dpZCAiTW9kZWw6IgorbXNnc3RyICLlnovomZ/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzIKKyMsIGZ1enp5Cittc2dpZCAiTW9kZWwgbmFtZToiCittc2dzdHIgIuWei+iZn++8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTgzNAorbXNnaWQgIlN0ZXBwaW5nOiIKK21zZ3N0ciAi6KO956iL77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODM2Cittc2dpZCAiQ1BVIE1IejoiCittc2dzdHIgIkNQVSBNSHrvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4MzgKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIGR5bmFtaWMgTUh6OiIKK21zZ3N0ciAiQ1BVIE1Ieu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0MAorIywgZnV6enkKK21zZ2lkICJDUFUgc3RhdGljIE1IejoiCittc2dzdHIgIkNQVSBNSHrvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NDIKKyMsIGZ1enp5Cittc2dpZCAiQ1BVIG1heCBNSHo6IgorbXNnc3RyICJDUFUgTUh677yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ0CisjLCBmdXp6eQorbXNnaWQgIkNQVSBtaW4gTUh6OiIKK21zZ3N0ciAiQ1BVIE1Ieu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg0NgorIywgZnV6enkKK21zZ2lkICJCb2dvTUlQUzoiCittc2dzdHIgIkJvZ29NSVBT77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODQ5IHN5cy11dGlscy9sc2NwdS5jOjE4NTEKK21zZ2lkICJWaXJ0dWFsaXphdGlvbjoiCittc2dzdHIgIuiZm+aTrO+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NAorIywgZnV6enkKK21zZ2lkICJIeXBlcnZpc29yOiIKK21zZ3N0ciAiSHlwZXJ2aXNvcu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg1NgorbXNnaWQgIkh5cGVydmlzb3IgdmVuZG9yOiIKK21zZ3N0ciAiSHlwZXJ2aXNvciDkvpvmh4nllYbvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NTcKK21zZ2lkICJWaXJ0dWFsaXphdGlvbiB0eXBlOiIKK21zZ3N0ciAi6Jmb5pOs5Z6L5oWL77yaIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODYwCisjLCBmdXp6eQorbXNnaWQgIkRpc3BhdGNoaW5nIG1vZGU6IgorbXNnc3RyICLmtL7pgIHmqKHlvI/vvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4NjQgc3lzLXV0aWxzL2xzY3B1LmM6MTg3MQorIywgYy1mb3JtYXQKK21zZ2lkICIlcyBjYWNoZToiCittc2dzdHIgIiVzIOW/q+WPlu+8miIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg3NworIywgYy1mb3JtYXQKK21zZ2lkICJOVU1BIG5vZGUlZCBDUFUocyk6IgorbXNnc3RyICJOVU1BIG5vZGUlZCBDUFUocynvvJoiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE4ODIKKyMsIGZ1enp5Cittc2dpZCAiUGh5c2ljYWwgc29ja2V0czoiCittc2dzdHIgIuWvpumrlOejgeafseaVuOmHjyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4MworIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjaGlwczoiCittc2dzdHIgIuWvpumrlOejgeafseaVuOmHjyIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTg4NAorIywgZnV6enkKK21zZ2lkICJQaHlzaWNhbCBjb3Jlcy9jaGlwOiIKK21zZ3N0ciAi5a+m6auU56OB5Y2A5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxODg4CisjLCBmdXp6eQorbXNnaWQgIkZsYWdzOiIKK21zZ3N0ciAi5bGs5oCn5peX5qiZIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTAzCittc2dpZCAiRGlzcGxheSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgQ1BVIGFyY2hpdGVjdHVyZS5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA2CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBwcmludCBib3RoIG9ubGluZSBhbmQgb2ZmbGluZSBDUFVzIChkZWZhdWx0IGZvciAtZSlcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg5YiX5Y2w5omA5pyJ56ym6Jmf77yM5Y2z5L2/6KiI5pW45pivIDBcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkwNworIywgZnV6enkKK21zZ2lkICIgLWIsIC0tb25saW5lICAgICAgICAgICAgcHJpbnQgb25saW5lIENQVXMgb25seSAoZGVmYXVsdCBmb3IgLXApXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOWIl+WNsOWPquacieizh+ioiumXnOaWvOWPluaoo+atpempn1xuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTA4CisjLCBmdXp6eQorbXNnaWQgIiAtYywgLS1vZmZsaW5lICAgICAgICAgICBwcmludCBvZmZsaW5lIENQVXMgb25seVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgIHVzZSBKU09OIGZvciBkZWZhdWx0IG9yIGV4dGVuZGVkIGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMAorbXNnaWQgIiAtZSwgLS1leHRlbmRlZFs9PGxpc3Q+XSBwcmludCBvdXQgYW4gZXh0ZW5kZWQgcmVhZGFibGUgZm9ybWF0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMQorbXNnaWQgIiAtcCwgLS1wYXJzZVs9PGxpc3Q+XSAgICBwcmludCBvdXQgYSBwYXJzYWJsZSBmb3JtYXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTEyCittc2dpZCAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzY3B1LmM6MTkxMworIywgZnV6enkKK21zZ2lkICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjE5MTQKKyMsIGZ1enp5Cittc2dpZCAiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIOafpeipouaJgOacieWOn+Wni+ijnee9rlxuIgorCisjOiBzeXMtdXRpbHMvbHNjcHUuYzoxOTk5IHN5cy11dGlscy9sc21lbS5jOjYwMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCB0byAlcyIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW477yaJXMiCisKKyM6IHN5cy11dGlscy9sc2NwdS5jOjIwMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBvcHRpb25zIC0tYWxsLCAtLW9ubGluZSBhbmQgLS1vZmZsaW5lIG1heSBvbmx5IGJlIHVzZWQgd2l0aCBvcHRpb25zIC0tZXh0ZW5kZWQgb3IgLS1wYXJzZS5cbiIKK21zZ3N0ciAiJXPvvJrpgbjpoIUgLS1hbGzvvIwtLW9ubGluZSDlkowgLS1vZmZsaW5lIOS5n+ioseacg+WPquacieiiq+S9v+eUqOiIh+mBuOmghSAtLWV4dGVuZGVkIOaIliAtLXBhcnNhYmxl44CCXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE0OQorIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBrZXkiCittc2dzdHIgIuizh+a6kOWQjeeosSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTQ5CisjLCBmdXp6eQorbXNnaWQgIktleSIKK21zZ3N0ciAi6Y215YC8IgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTAKKyMsIGZ1enp5Cittc2dpZCAiUmVzb3VyY2UgSUQiCittc2dzdHIgIuizh+a6kOWQjeeosSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUwCittc2dpZCAiSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCittc2dpZCAiT3duZXIncyB1c2VybmFtZSBvciBVSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTUxCisjLCBmdXp6eQorbXNnaWQgIk93bmVyIgorbXNnc3RyICLmk4HmnInogIUiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1MgorIywgZnV6enkKK21zZ2lkICJQZXJtaXNzaW9ucyIKK21zZ3N0ciAi5qyK6ZmQ6KKr5ouSIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTMKK21zZ2lkICJDcmVhdG9yIFVJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNTQKK21zZ2lkICJDcmVhdG9yIHVzZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU1Cittc2dpZCAiQ3JlYXRvciBHSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU2CisjLCBmdXp6eQorbXNnaWQgIkNyZWF0b3IgZ3JvdXAiCittc2dzdHIgIuS4u+imgeeahCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3CisjLCBmdXp6eQorbXNnaWQgIlVzZXIgSUQiCittc2dzdHIgIuS9v+eUqOiAheitmOWIpeiZnyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU3Cittc2dpZCAiVUlEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE1OAorIywgZnV6enkKK21zZ2lkICJVc2VyIG5hbWUiCittc2dzdHIgIuS9v+eUqOiAheWQjeeosSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5Cittc2dpZCAiR3JvdXAgSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgIkdJRCIKK21zZ3N0ciAiU0dJIHJhdyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYwCisjLCBmdXp6eQorbXNnaWQgIkdyb3VwIG5hbWUiCittc2dzdHIgIue+pOe1hOWQjeeosSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTYxCisjLCBmdXp6eQorbXNnaWQgIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIgorbXNnc3RyICLlpKflsI/nmoTkuqTmj5vljYDln58iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2MQorIywgZnV6enkKK21zZ2lkICJMYXN0IGNoYW5nZSIKK21zZ3N0ciAi5pyA5b6M6K6K5pu06ICFIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjQKKyMsIGZ1enp5Cittc2dpZCAiQnl0ZXMgdXNlZCIKK21zZ3N0ciAi5L2N5YWD57WE5Zyo5Lit5L2/55SoIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjUKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIG1lc3NhZ2VzIgorbXNnc3RyICLno4HpoK3mlbjph48iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NQorIywgZnV6enkKK21zZ2lkICJNZXNzYWdlcyIKK21zZ3N0ciAi6KiK5oGvIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZSBvZiBsYXN0IG1zZyBzZW50IgorbXNnc3RyICLnlaXpgY7nrKzkuIDliJciCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NgorbXNnaWQgIk1zZyBzZW50IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2NworbXNnaWQgIlRpbWUgb2YgbGFzdCBtc2cgcmVjZWl2ZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY3Cittc2dpZCAiTXNnIHJlY2VpdmVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIlBJRCBvZiB0aGUgbGFzdCBtc2cgc2VuZGVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE2OAorbXNnaWQgIk1zZyBzZW5kZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTY5Cittc2dpZCAiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNjkKK21zZ2lkICJNc2cgcmVjZWl2ZXIiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTcyCisjLCBmdXp6eQorbXNnaWQgIlNlZ21lbnQgc2l6ZSIKK21zZ3N0ciAi5Y+W5b6X5Y2A5aGK5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIKK21zZ3N0ciAi5pyA5aSn6KGM56iL5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzMKK21zZ2lkICJBdHRhY2hlZCBwcm9jZXNzZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc0CisjLCBmdXp6eQorbXNnaWQgIlN0YXR1cyIKK21zZ3N0ciAi54uA5oWLIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzUKKyMsIGZ1enp5Cittc2dpZCAiQXR0YWNoIHRpbWUiCittc2dzdHIgIuW3sumZhOWKoCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTc2CisjLCBmdXp6eQorbXNnaWQgIkRldGFjaCB0aW1lIgorbXNnc3RyICLlt7Lljbjpm6IiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3NworIywgZnV6enkKK21zZ2lkICJDcmVhdG9yIGNvbW1hbmQgbGluZSIKK21zZ3N0ciAi5omA5pyJ5o6b6LyJ6YG46aCFIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzcKKyMsIGZ1enp5Cittc2dpZCAiQ3JlYXRvciBjb21tYW5kIgorbXNnc3RyICLnhKHmlYjnmoTlkb3ku6QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OAorbXNnaWQgIlBJRCBvZiB0aGUgY3JlYXRvciIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzgKK21zZ2lkICJDcmVhdG9yIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxNzkKK21zZ2lkICJQSUQgb2YgbGFzdCB1c2VyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE3OQorIywgZnV6enkKK21zZ2lkICJMYXN0IHVzZXIgUElEIgorbXNnc3RyICLkvb/nlKjogIXorZjliKXomZ8iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4MgorIywgZnV6enkKK21zZ2lkICJOdW1iZXIgb2Ygc2VtYXBob3JlcyIKK21zZ3N0ciAi56OB5Y2A5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODIKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlcyIKK21zZ3N0ciAi6Jmf6KqM6K2Y5Yil6Jmf77yaJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCittc2dpZCAiVGltZSBvZiB0aGUgbGFzdCBvcGVyYXRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTgzCisjLCBmdXp6eQorbXNnaWQgIkxhc3Qgb3BlcmF0aW9uIgorbXNnc3RyICLmk43kvZwgJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIG5hbWUiCittc2dzdHIgIuizh+a6kOWQjeeosSIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg2CisjLCBmdXp6eQorbXNnaWQgIlJlc291cmNlIgorbXNnc3RyICLos4fmupDlkI3nqLEiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4NworIywgZnV6enkKK21zZ2lkICJSZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi6LOH5rqQ5o+P6L+wIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODcKKyMsIGZ1enp5Cittc2dpZCAiRGVzY3JpcHRpb24iCittc2dzdHIgIuaXl+aomeaPj+i/sCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiQ3VycmVudGx5IHVzZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTg4Cittc2dpZCAiVXNlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIgorbXNnc3RyICLmqpTmoYjns7vntbHkvb/nlKjnmb7liIbmr5QiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjE4OQorIywgZnV6enkKK21zZ2lkICJVc2UiCittc2dzdHIgIueUqOazle+8miIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiU3lzdGVtLXdpZGUgbGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTkwCittc2dpZCAiTGltaXQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgImNvbHVtbiAlcyBkb2VzIG5vdCBhcHBseSB0byB0aGUgc3BlY2lmaWVkIElQQyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyODgKK21zZ2lkICIgLWcsIC0tZ2xvYmFsICAgICAgaW5mbyBhYm91dCBzeXN0ZW0td2lkZSB1c2FnZSAobWF5IGJlIHVzZWQgd2l0aCAtbSwgLXEgYW5kIC1zKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI4OQorIywgZnV6enkKK21zZ2lkICIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIKK21zZ3N0ciAiIC1pLCAtLWlkIDxpZD4gIOWIl+WNsOe0sOevgOaWvOizh+a6kOitmOWIpeeahOeUseitmOWIpeiZn1xuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTUKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICBwcmludCBTSVpFIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjI5NgorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tY3JlYXRvciAgICAgICAgICAgIHNob3cgY3JlYXRvciBhbmQgb3duZXJcbiIKK21zZ3N0ciAiIC1jLCAtLWNyZWF0b3IgICAgIOmhr+ekuuW7uueri+iAheWSjOaTgeacieiAhVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiIC1KLCAtLWpzb24gICAgICAgICAgICAgICB1c2UgdGhlIEpTT04gb3V0cHV0IGZvcm1hdFxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzAwCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iCittc2dzdHIgIiAtUSwgLS1xdWlldC1vdXRwdXQgICAgICAgICAgIOaykuacieS4gOiIrOi8uOWHulxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDIKK21zZ2lkICIgLVAsIC0tbnVtZXJpYy1wZXJtcyAgICAgIHByaW50IG51bWVyaWMgcGVybWlzc2lvbnMgKFBFUk1TIGNvbHVtbilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgICAgICAgICAgICAgICBzaG93IGF0dGFjaCwgZGV0YWNoIGFuZCBjaGFuZ2UgdGltZXNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgICAgICAgIOmhr+ekuumZhOWKoOOAgeWNuOmbouWSjOiuiuabtOasoVxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMDkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJHZW5lcmljIGNvbHVtbnM6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLkuIDoiKzpgbjpoIXvvJpcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MzEzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU2hhcmVkLW1lbW9yeSBjb2x1bW5zICgtLXNobWVtcyk6XG4iCittc2dzdHIgIiIKKyJcbiIKKyLlhbHnlKjoqJjmhrbpq5Tos4fmlpnmrrUgc2htaWQgPSAlZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMTcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJNZXNzYWdlLXF1ZXVlIGNvbHVtbnMgKC0tcXVldWVzKTpcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIOiZn+iqjFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZW1hcGhvcmUgY29sdW1ucyAoLS1zZW1hcGhvcmVzKTpcbiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIOiZn+iqjFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzozMjUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIlN1bW1hcnkgY29sdW1ucyAoLS1nbG9iYWwpOlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjQxNAorIywgYy1mb3JtYXQKK21zZ2lkICIiCisiRWxlbWVudHM6XG4iCisiXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6Njg3IHN5cy11dGlscy9sc2lwYy5jOjg0OCBzeXMtdXRpbHMvbHNpcGMuYzoxMDQ3CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBzZXQgZGF0YSIKK21zZ3N0ciAi6Kit5a6a6Lev5b6R5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTIKKyMsIGZ1enp5Cittc2dpZCAiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIKK21zZ3N0ciAi56OB5Y2A5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTMKKyMsIGZ1enp5Cittc2dpZCAiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiCittc2dzdHIgIuejgeWNgOaVuOmHjyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6NzE0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIKK21zZ3N0ciAiIC1zLCAtLXNlbWFwaG9yZXMgIOiZn+iqjFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTUKKyMsIGZ1enp5Cittc2dpZCAiTWF4IG51bWJlciBvZiBvcGVyYXRpb25zIHBlciBzZW1vcCgyKSIKK21zZ3N0ciAi5pyA5aSn6ZaL5ZWf5qqU5qGI5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo3MTYKKyMsIGZ1enp5Cittc2dpZCAiU2VtYXBob3JlIG1heCB2YWx1ZSIKK21zZ3N0ciAi6Jmf6KqM5pyA5aSn5YC8ID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODczCisjLCBmdXp6eQorbXNnaWQgIk51bWJlciBvZiBtZXNzYWdlIHF1ZXVlcyIKK21zZ3N0ciAi56OB6aCt5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo4NzQKKyMsIGZ1enp5Cittc2dpZCAiTWF4IHNpemUgb2YgbWVzc2FnZSAoYnl0ZXMpIgorbXNnc3RyICLoqIrmga/mnIDlpKflsLrlr7ggKOS9jeWFg+e1hCk9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6ODc1CisjLCBmdXp6eQorbXNnaWQgIkRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKGJ5dGVzKSIKK21zZ3N0ciAi6aCQ6Kit5L2H5YiX5pyA5aSn5bC65a+4ICjkvY3lhYPntYQpPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjk4OSBzeXMtdXRpbHMvbHNpcGMuYzoxMDA4Cittc2dpZCAiaHVnZXRsYiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzo5OTAgc3lzLXV0aWxzL2xzaXBjLmM6MTAxNQorIywgZnV6enkKK21zZ2lkICJub3Jlc2VydmUiCittc2dzdHIgIlN1bk9TIOS/neeVmeWNgCIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MgorIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHNlZ21lbnRzIgorbXNnc3RyICIiCisiXG4iCisi5YWx55So6KiY5oa26auU6LOH5paZ5q61IHNobWlkID0gJWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3MworIywgZnV6enkKK21zZ2lkICJTaGFyZWQgbWVtb3J5IHBhZ2VzIgorbXNnc3RyICLlhbHnlKjoqJjmhrbpq5TorZjliKXomZ/vvJolZFxuIgorCisjOiBzeXMtdXRpbHMvbHNpcGMuYzoxMDc0CisjLCBmdXp6eQorbXNnaWQgIk1heCBzaXplIG9mIHNoYXJlZCBtZW1vcnkgc2VnbWVudCAoYnl0ZXMpIgorbXNnc3RyICLoqIrmga/mnIDlpKflsLrlr7ggKOS9jeWFg+e1hCk9JWRcbiIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTA3NQorIywgZnV6enkKK21zZ2lkICJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIKK21zZ3N0ciAi6KiK5oGv5pyA5aSn5bC65a+4ICjkvY3lhYPntYQpPSVkXG4iCisKKyM6IHN5cy11dGlscy9sc2lwYy5jOjExNDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIElQQyBpZGVudGlmaWVyIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL2xzaXBjLmM6MTIzOQorIywgZnV6enkKK21zZ2lkICItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIKK21zZ3N0ciAi6YG46aCFIC0tcGlkIOWSjOWRveS7pOW9vOatpOS6kuaWpSIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI4Cittc2dpZCAic3RhcnQgYW5kIGVuZCBhZGRyZXNzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTI5CisjLCBmdXp6eQorbXNnaWQgInNpemUgb2YgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAi5aSn5bCP55qE6KOd572uIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoxMzAKK21zZ2lkICJvbmxpbmUgc3RhdHVzIG9mIHRoZSBtZW1vcnkgcmFuZ2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MTMxCisjLCBmdXp6eQorbXNnaWQgIm1lbW9yeSBpcyByZW1vdmFibGUiCittc2dzdHIgIiDlj6/np7vpmaTnmoQiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMgorbXNnaWQgIm1lbW9yeSBibG9jayBudW1iZXIgb3IgYmxvY2tzIHJhbmdlIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzMworIywgZnV6enkKK21zZ2lkICJudW1hIG5vZGUgb2YgbWVtb3J5IgorbXNnc3RyICLoqJjmhrbpq5TkuI3otrMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjEzNAorIywgZnV6enkKK21zZ2lkICJ2YWxpZCB6b25lcyBmb3IgdGhlIG1lbW9yeSByYW5nZSIKK21zZ3N0ciAi5aSn5bCP55qE6KOd572uIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAib25saW5lIgorbXNnc3RyICLvvIzkuIrnt5oiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MgorIywgZnV6enkKK21zZ2lkICJvZmZsaW5lIgorbXNnc3RyICLvvIzkuIrnt5oiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjI2MworbXNnaWQgIm9uLT5vZmYiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIyIHN5cy11dGlscy9sc21lbS5jOjMyOQorIywgZnV6enkKK21zZ2lkICJNZW1vcnkgYmxvY2sgc2l6ZToiCittc2dzdHIgIuWPluW+l+WNgOWhiuWkp+WwjyIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6MzIzIHN5cy11dGlscy9sc21lbS5jOjMzMworIywgZnV6enkKK21zZ2lkICJUb3RhbCBvbmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAi6KiY5oa26auU5LiN6LazIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozMjQgc3lzLXV0aWxzL2xzbWVtLmM6MzM3CisjLCBmdXp6eQorbXNnaWQgIlRvdGFsIG9mZmxpbmUgbWVtb3J5OiIKK21zZ3N0ciAi6KiY5oa26auU5LiN6LazIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzozNTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkZhaWxlZCB0byBvcGVuICVzIgorbXNnc3RyICLnhKHms5XplovllZ8gJXMiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjQ3MgorIywgZnV6enkKK21zZ2lkICJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IG1lbW9yeSBibG9ja3MiCittc2dzdHIgIumAmeWAi+ezu+e1seS4jeaUr+aPtOmHjeaWsOaOg+aPj+eahCBDUFVzIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo0OTkKK21zZ2lkICJMaXN0IHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZSBzdGF0dXMuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICBsaXN0IGVhY2ggaW5kaXZpZHVhbCBtZW1vcnkgYmxvY2tcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIOafpeipouaJgOacieWOn+Wni+ijnee9rlxuIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo1MDkKKyMsIGZ1enp5Cittc2dpZCAiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIgorbXNnc3RyICIgLW8sIC0tb3B0aW9ucyA8b3B0c3RyaW5nPiAgICDnn63pgbjpoIXngrrovqjorZjnmoRcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTEwCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zeXNyb290IDxkaXI+ICB1c2UgdGhlIHNwZWNpZmllZCBkaXJlY3RvcnkgYXMgc3lzdGVtIHJvb3RcbiIKK21zZ3N0ciAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICDmir3lh7rpgLLlhaXnm67pjIRcbiIKKworIzogc3lzLXV0aWxzL2xzbWVtLmM6NTExCittc2dpZCAiICAgICAtLXN1bW1hcnlbPXdoZW5dIHByaW50IHN1bW1hcnkgaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBvciBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjYxOAorIywgZnV6enkKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXN1bW1hcnkgYXJndW1lbnQiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2MzMKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXtyYXcsanNvbixwYWlyc30gYW5kIC0tc3VtbWFyeT1vbmx5IGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIumBuOmghSAtLXBpZCDlkozlkb3ku6TlvbzmraTkupLmlqUiCisKKyM6IHN5cy11dGlscy9sc21lbS5jOjY2NCBzeXMtdXRpbHMvbHNucy5jOjc4MQorbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIKK21zZ3N0ciAi5Yid5aeL5YyW6Ly45Ye66KGo5qC85pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbHNtZW0uYzo2NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIKK21zZ3N0ciAi5Yid5aeL5YyW6Ly45Ye65qyE5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjk5CisjLCBmdXp6eQorbXNnaWQgIm5hbWVzcGFjZSBpZGVudGlmaWVyIChpbm9kZSBudW1iZXIpIgorbXNnc3RyICLpgo/ovK/nmoQgTlVNQSDnr4Dpu57mlbjlrZciCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAwCittc2dpZCAia2luZCBvZiBuYW1lc3BhY2UiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAicGF0aCB0byB0aGUgbmFtZXNwYWNlIgorbXNnc3RyICLni4DmhYvnmoToo53nva4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTAyCisjLCBmdXp6eQorbXNnaWQgIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAi5pyA5aSn6KGM56iL5pW46YePIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMworbXNnaWQgImxvd2VzdCBQSUQgaW4gdGhlIG5hbWVzcGFjZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNAorbXNnaWQgIlBQSUQgb2YgdGhlIFBJRCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwNQorbXNnaWQgImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA2Cittc2dpZCAiVUlEIG9mIHRoZSBQSUQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDcKK21zZ2lkICJ1c2VybmFtZSBvZiB0aGUgUElEIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9sc25zLmM6MTA4Cittc2dpZCAibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDkKK21zZ2lkICJuc2ZzIG1vdW50cG9pbnQgKHVzdWFsbHkgdXNlZCBuZXR3b3JrIHN1YnN5c3RlbSkiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo3MTkKK21zZ2lkICJmYWlsZWQgdG8gYWRkIGxpbmUgdG8gb3V0cHV0IgorbXNnc3RyICLliqDlhaXovLjlh7rliJfmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8bmFtZXNwYWNlPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFvoqIrmga9dXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6ODk4CisjLCBmdXp6eQorbXNnaWQgIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iCittc2dzdHIgIueEoeazleioreWumuezu+e1seaZgumQmOOAglxuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjkwNQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tdGFzayA8cGlkPiAgICAgICBwcmludCBwcm9jZXNzIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIOmhr+ekuuW7uueri+iAheWSjOacgOW+jOS4gOethuioiOeulyBQSURzXG4iCisKKyM6IHN5cy11dGlscy9sc25zLmM6OTA4CisjLCBmdXp6eQorbXNnaWQgIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogc3lzLXV0aWxzL2xzbnMuYzo5MDkKK21zZ2lkICIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMDAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIgorbXNnc3RyICLkuI3mmI7nmoTos4fmupDpoZ7lnovvvJolc1xuIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjQKKyMsIGZ1enp5Cittc2dpZCAiLS10YXNrIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxuYW1lc3BhY2U+IgorbXNnc3RyICLpgbjpoIUgLS1waWQg5ZKM5ZG95Luk5b285q2k5LqS5palIgorCisjOiBzeXMtdXRpbHMvbHNucy5jOjEwMjUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuYW1lc3BhY2UgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWJjeerr+W8leaVuCIKKworIzogc3lzLXV0aWxzL2xzbnMuYzoxMDc3CisjLCBjLWZvcm1hdAorbXNnaWQgIm5vdCBmb3VuZCBuYW1lc3BhY2U6ICVqdSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2NSBzeXMtdXRpbHMvdW1vdW50LmM6MTIwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorbXNnc3RyICLlj6rmnInmoLnlj6/ku6Xkvb/nlKjjgIwtLSVz44CN6YG46aCFICjmnInmlYggVUlEIOaYryAldSkiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjY4IHN5cy11dGlscy91bW91bnQuYzoxMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCAoZWZmZWN0aXZlIFVJRCBpcyAldSkiCittc2dzdHIgIuWPquacieagueWPr+S7pemCo+aoo+WBmiAo5pyJ5pWIIFVJRCDmmK8gJXUpIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3MiBzeXMtdXRpbHMvdW1vdW50LmM6MTI3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24iCittc2dzdHIgIuWPquacieagueWPr+S7peS9v+eUqOOAjC0tJXPjgI3pgbjpoIUiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjczIHN5cy11dGlscy91bW91bnQuYzoxMjgKKyMsIGZ1enp5Cittc2dpZCAib25seSByb290IGNhbiBkbyB0aGF0IgorbXNnc3RyICLlj6rmnInmoLnlj6/ku6XpgqPmqKPlgZoiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjg0IHN5cy11dGlscy91bW91bnQuYzo2MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiCittc2dzdHIgIiVzIOW+niAlcyAobGlibW91bnQgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjEyOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBtdGFiIgorbXNnc3RyICLoroDlj5YgbXRhYiDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MSBzeXMtdXRpbHMvdW1vdW50LmM6MTg0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTI1czogaWdub3JlZFxuIgorbXNnc3RyICIlLTI1czog5b+955WlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjE5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJS0yNXM6IGFscmVhZHkgbW91bnRlZFxuIgorbXNnc3RyICIlLTI1czog5bey57aT5o6b6LyJXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI0OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzIG1vdmVkIHRvICVzLlxuIgorbXNnc3RyICIlc++8muaOm+i8ieeahOaWvCAlcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6MjUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgYm91bmQgb24gJXMuXG4iCittc2dzdHIgIiVz77ya5o6b6LyJ55qE5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNTMgc3lzLXV0aWxzL21vdW50LmM6MjU3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIKK21zZ3N0ciAiJXPvvJrmjpvovInnmoTmlrwgJXMiCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjI1NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogJXMgcHJvcGFnYXRpb24gZmxhZ3MgY2hhbmdlZC5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzoyNzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIm1vdW50OiAlcyBkb2VzIG5vdCBjb250YWluIFNFTGludXggbGFiZWxzLlxuIgorIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisiICAgICAgIGNvbnRhaW4gbGFiZWxzLCBvbnRvIGFuIFNFTGludXggYm94LiBJdCBpcyBsaWtlbHkgdGhhdCBjb25maW5lZFxuIgorIiAgICAgICBhcHBsaWNhdGlvbnMgd2lsbCBnZW5lcmF0ZSBBVkMgbWVzc2FnZXMgYW5kIG5vdCBiZSBhbGxvd2VkIGFjY2VzcyB0b1xuIgorIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iCittc2dzdHIgIiIKKyJtb3VudO+8miVzIOS4jeWMheWQqyBTRUxpbnV4IOaomeexpOOAglxuIgorIiAgICAgICDmgqjliZvmjpvovInkuobmlK/mj7TmqJnnsaTnmoTmqpTmoYjns7vntbHvvIzlroPljbvlnKggU0VMaW51eCDmoYbkuIpcbiIKKyIgICAgICAg5LiN5YyF5ZCr5qiZ57Gk44CC5Ly85LmO5Y+X6ZmQ55qE5oeJ55So56iL5byPXG4iCisiICAgICAgIOWwh+eUoueUnyBBVkMg6KiK5oGv77yM5Lim5LiU5LiN6KKr5YWB6Kix5Y675a2Y5Y+WXG4iCisiICAgICAgIOmAmeWAi+aqlOahiOezu+e1seOAguimgeeNsuW+l+abtOWkmue0sOevgOiri+WPg+eciyByZXN0b3JlY29uKDgpIOWSjCBtb3VudCg4KeOAglxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMDcgc3lzLXV0aWxzL3Vtb3VudC5jOjE2MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6ICVzLiIKK21zZ3N0ciAi56OB56Kf77yaJS4qc1xuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcGFyc2UiCittc2dzdHIgIiVz77ya54Sh5rOV5YmW5p6QIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzozNzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVuc3VwcG9ydGVkIG9wdGlvbiBmb3JtYXQ6ICVzIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogc3lzLXV0aWxzL21vdW50LmM6Mzc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIgorbXNnc3RyICLpmYTliqDpgbjpoIXmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjM5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstbGhWXVxuIgorIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorIiAlMSRzIFtvcHRpb25zXSBbLS1zb3VyY2VdIDxzb3VyY2U+IHwgWy0tdGFyZ2V0XSA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIFtvcHRpb25zXSA8c291cmNlPiA8ZGlyZWN0b3J5PlxuIgorIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLWxoVl1cbiIKKyIgJTEkcyAtYSBb6YG46aCFXVxuIgorIiAlMSRzIFvpgbjpoIVdIFstLXNvdXJjZV0gPHNvdXJjZT58Wy0tdGFyZ2V0XTznm67pjIQ+XG4iCisiICUxJHMgW+mBuOmghV085L6G5rqQPjznm67pjIQ+XG4iCisiICUxJHM85L2c5qWtPjxtb3VudHBvaW50Pls855uu5qiZPl1cbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDAwCisjLCBmdXp6eQorbXNnaWQgIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIKK21zZ3N0ciAi5qqi5p+l5omA5pyJ5qqU5qGI57O757Wx44CCXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtYSwgLS1hbGwgICAgICAgICAgICAgICBtb3VudCBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluIGZzdGFiXG4iCisiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorIiAtZiwgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSBtb3VudCgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIGZvcmsgb2ZmIGZvciBlYWNoIGRldmljZSAodXNlIHdpdGggLWEpXG4iCisiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIOaOm+i8ieaJgOacieaqlOahiOezu+e1seaPkOWPiueahOWcqOS4rSBmc3RhYlxuIgorIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDkuI3mraPliYfljJbot6/lvpFcbiIKKyIgLWYsIC0tZmFrZSAgICAgICAgICAgICAg5qih5pOs5ris6Kmm77yb6Lez6YGO5o6b6LyJICgyKSBzeXNjYWxsXG4iCisiIC1GLCAtLWZvcmsgICAgICAgICAgICAgIOihjeeUn+mXnOmWieeUqOaWvOavj+WAi+ijnee9riAo5L2/55So6IiHIC1hKVxuIgorIiAtVCwgLS1mc3RhYiA8cGF0aD4gICAgICDmm7/ku6PmlrnmoYjmqpTmoYjliLAvZXRjL2ZzdGFiXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQxMAorIywgYy1mb3JtYXQKK21zZ2lkICIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAtbCwgLS1zaG93LWxhYmVscyAgICAgICBzaG93IGFsc28gZmlsZXN5c3RlbSBsYWJlbHNcbiIKK21zZ3N0ciAiIC1sLCAtLWxpbWl0cyAgICAgIOmhr+ekuuizh+a6kOmZkOW6plxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MTQgc3lzLXV0aWxzL3Vtb3VudC5jOjk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCittc2dzdHIgIiAtbiwgLS1ub3Bhcml0eSAgICAgICAgICDoqK3lrprlkIzkvY3liLDnhKFcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIG1vdW50IG9wdGlvbnNcbiIKKyIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKyIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiIKKyIgLW8sIC0tb3B0aW9ucyA8bGlzdD4gICAg5Lul6YCX6Jmf5YiG6ZqU55qE5o6b6LyJ6YG46aCF5riF5Zau55qEXG4iCisiIC1PLCAtLXRlc3Qtb3B0czzmuIXllq4+IOmZkOWItumbhuWQiOaqlOahiOezu+e1sSAo5L2/55So6IiHIC1hKVxuIgorIiAtcCwgLS1wYXNzLWZkPG51bT4gICAg6K6A5Y+W5a+G6Kqe5b6e5qqU5qGI5o+P6L+w56ym6JmfXG4iCisiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIOaOm+i8ieaqlOahiOezu+e1seWUr+iugCAo5aaC5ZCMIC1vIHJvKVxuIgorIiAtdCwgLS10eXBlczzmuIXllq4+ICAgICDpmZDliLbpm4blkIjmqpTmoYjns7vntbHpoZ7lnotcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDIxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICAgICAtLXNvdXJjZSA8c3JjPiAgICAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIHNvdXJjZSAocGF0aCwgbGFiZWwsIHV1aWQpXG4iCisiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiIgorIiAgICAgLS1zb3VyY2UgPHNyYz4gICAgICDmmI7norrnmoTmjIflrprkvobmupAgKOi3r+W+keOAgeaomeiyvO+8jHV1aWQpXG4iCisiICAgICAtLXRhcmdldDznm67mqJk+ICDmmI7norrnmoTmjIflrpogbW91bnRwb2ludFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjQgc3lzLXV0aWxzL3Vtb3VudC5jOjEwMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0MjYKKyMsIGMtZm9ybWF0Cittc2dpZCAiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NDMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiXG4iCisiU291cmNlOlxuIgorIiAtTCwgLS1sYWJlbCA8bGFiZWw+ICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VLCAtLXV1aWQgPHV1aWQ+ICAgICAgIHN5bm9ueW0gZm9yIFVVSUQ9PHV1aWQ+XG4iCisiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IGZpbGVzeXN0ZW0gVVVJRFxuIgorIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCittc2dzdHIgIiIKKyJcbiIKKyLkvobmupDvvJpcbiIKKyIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAg5ZCM576p5a2X55So5pa85qiZ6LK8PTzmqJnosrw+XG4iCisiIC1VLCAtLXV1aWQ8dXVpZD4gICAgICDlkIznvqnlrZfnlKjmlrwgVVVJRD08dXVpZD5cbiIKKyIg5qiZ6LK8PTzmqJnosrw+ICAgICAgICAgIOaMh+Wumuijnee9rueUseaqlOahiOezu+e1seaomeiyvFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIOaMh+Wumuijnee9rueUseaqlOahiOezu+e1sSBVVUlEXG4iCisiIFBBUlRMQUJFTD085qiZ6LK8PiAgICAgIOaMh+Wumuijnee9rueUseWIhuWJsuaomeiyvFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIOaMh+Wumuijnee9rueUseWIhuWJsiBVVUlEXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ0MQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiA8ZGV2aWNlPiAgICAgICAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhdGhcbiIKKyIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgIHJlZ3VsYXIgZmlsZSBmb3IgbG9vcGRldiBzZXR1cFxuIgorbXNnc3RyICIiCisiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIOaMh+Wumuijnee9rueUsei3r+W+kVxuIgorIjznm67pjIQ+ICAgICAgICAgICAgbW91bnRwb2ludCDnlKjmlrznuavntZDmjpvovIkgKOWPg+eciyAtLWJpbmQvcmJpbmQpXG4iCisiPOaqlOahiD4gICAgICAgICAgICAgICAgIOaomea6luaqlOahiOeUqOaWvCBsb29wZGV2IOioreWumlxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NDYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcGVyYXRpb25zOlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKyIgLU0sIC0tbW92ZSAgICAgICAgICAgICAgbW92ZSBhIHN1YnRyZWUgdG8gc29tZSBvdGhlciBwbGFjZVxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgYW5kIGFsbCBzdWJtb3VudHMgc29tZXdoZXJlIGVsc2VcbiIKK21zZ3N0ciAiIgorIlxuIgorIuioiOeul++8mlxuIgorIiAtQiwgLS1iaW5kICAgICAgICAgICAgICDmjpvovInlrZDmqLnlhbbku5blnLDmlrkgKOWmguWQjCAtbyDnuavntZApXG4iCisiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIOenu+WLleWtkOaoueWIsOafkOS6m+WFtuS7lue9ruaUvlxuIgorIiAtUiwgLS1yYmluZCAgICAgICAgICAgICDmjpvovInlrZDmqLnlkozmiYDmnIkgc3VibW91bnRzIOWFtuS7luWcsOaWuVxuIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo0NTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisiIC0tbWFrZS1zbGF2ZSAgICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHNsYXZlXG4iCisiIC0tbWFrZS1wcml2YXRlICAgICAgICAgIG1hcmsgYSBzdWJ0cmVlIGFzIHByaXZhdGVcbiIKKyIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIgorbXNnc3RyICIiCisiIC0tbWFrZS1zaGFyZWQgICAgICAgICAgIOaomeiomOWtkOaoueWBmueCuuWFseS6q1xuIgorIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICDmqJnoqJjlrZDmqLnlgZrngrrlvp7lsaxcbiIKKyIgLS1tYWtlLXByaXZhdGUgICAgICAgICAg5qiZ6KiY5a2Q5qi55YGa54K656eB5Lq655qEXG4iCisiIC0tbWFrZS11bmJpbmRhYmxlICAgICAgIOaomeiomOWtkOaoueWBmueCuiB1bmJpbmRhYmxlXG4iCisKKyM6IHN5cy11dGlscy9tb3VudC5jOjQ1NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAtLW1ha2UtcnNoYXJlZCAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzaGFyZWRcbiIKKyIgLS1tYWtlLXJzbGF2ZSAgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2xhdmVcbiIKKyIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorIiAtLW1ha2UtcnVuYmluZGFibGUgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyB1bmJpbmRhYmxlXG4iCittc2dzdHIgIiIKKyIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAg6YGe6L+05qiZ6KiY5pW05YCL5a2Q5qi55YGa54K65YWx5LqrXG4iCisiIC0tbWFrZS1yc2xhdmUgICAgICAgICAgIOmBnui/tOaomeiomOaVtOWAi+WtkOaoueWBmueCuuW+nuWxrFxuIgorIiAtLW1ha2UtcnByaXZhdGUgICAgICAgICDpgZ7ov7TmqJnoqJjmlbTlgIvlrZDmqLnlgZrngrrnp4HkurrnmoRcbiIKKyIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAg6YGe6L+05qiZ6KiY5pW05YCL5a2Q5qi55YGa54K6IHVuYmluZGFibGVcbiIKKworIzogc3lzLXV0aWxzL21vdW50LmM6NTQ0IHN5cy11dGlscy91bW91bnQuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg6Kqe5aKD6YWN6aGN5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo2MDEgc3lzLXV0aWxzL3Vtb3VudC5jOjUwMQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIKK21zZ3N0ciAi6Kit5a6a6YG46aCF6IOa6aiw5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbW91bnQuYzo3NTcKKyMsIGZ1enp5Cittc2dpZCAic291cmNlIHNwZWNpZmllZCBtb3JlIHRoYW4gb25jZSIKK21zZ3N0ciAi5oKo5oyH5a6a5LqG5q+U56OB56Kf5LiK6YKE5aSa55qE56OB5p+x5pW4IgorCisjOiBzeXMtdXRpbHMvbW91bnRwb2ludC5jOjExOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFstcWRdIC9wYXRoL3RvL2RpcmVjdG9yeVxuIgorIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iCittc2dzdHIgIiIKKyIgJTEkcyBbLXFkXS/ot6/lvpEv5YiwL+ebrumMhFxuIgorIiAlMSRzIC14L2Rldi/oo53nva5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxMjMKK21zZ2lkICJDaGVjayB3aGV0aGVyIGEgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9tb3VudHBvaW50LmM6MTI2CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXEsIC0tcXVpZXQgICAgICAgIHF1aWV0IG1vZGUgLSBkb24ndCBwcmludCBhbnl0aGluZ1xuIgorIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisiIC14LCAtLWRldm5vICAgICAgICBwcmludCBtYWo6bWluIGRldmljZSBudW1iZXIgb2YgdGhlIGJsb2NrIGRldmljZVxuIgorbXNnc3RyICIiCisiIC1xLCAtLXF1aWV0ICAgICAgICDnhKHoqIrmga/mqKHlvI8gLSDkuI3liJfljbDku7vkvZXkuotcbiIKKyIgLWQsIC0tZnMtZGV2bm8gICAgIOWIl+WNsCBtYWrvvJrmnIDlsI/oo53nva7nt6jomZ/nmoTmqpTmoYjns7vntbFcbiIKKyIgLXgsIC0tZGV2bm8gICAgICAgIOWIl+WNsCBtYWrvvJrmnIDlsI/oo53nva7nt6jomZ/nmoTljYDloYroo53nva5cbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoxOTYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBhIG1vdW50cG9pbnRcbiIKK21zZ3N0ciAiJXMg5Lim6Z2eIG1vdW50cG9pbnRcbiIKKworIzogc3lzLXV0aWxzL21vdW50cG9pbnQuYzoyMDIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGEgbW91bnRwb2ludFxuIgorbXNnc3RyICIlcyDmmK8gbW91bnRwb2ludFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjczIHN5cy11dGlscy9zZXRhcmNoLmM6OTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8cHJvZ3JhbT4gW+W8leaVuC4uLl1cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo3NworbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBuYW1lc3BhY2VzIG9mIG90aGVyIHByb2Nlc3Nlcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVudGVyIGFsbCBuYW1lc3BhY2VzXG4iCittc2dzdHIgIiAtYSwgLS1hbGwgICAgICDmn6XoqaLmiYDmnInljp/lp4voo53nva5cbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4MQorbXNnaWQgIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODMKKyMsIGZ1enp5Cittc2dpZCAiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODQKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6ODUKKyMsIGZ1enp5Cittc2dpZCAiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIOioreWumuW6j+WIl+e3mui3r+mAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIOioreWumuW6j+WIl+e3mui3r+mAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg3CisjLCBmdXp6eQorbXNnaWQgIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIOioreWumuW6j+WIl+e3mui3r+mAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjg4CisjLCBmdXp6eQorbXNnaWQgIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICDpoa/npLrlu7rnq4vogIXlkozmnIDlvozkuIDnrYboqIjnrpcgUElEc1xuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkwCisjLCBmdXp6eQorbXNnaWQgIiAtRywgLS1zZXRnaWQgPGdpZD4gICAgIHNldCBnaWQgaW4gZW50ZXJlZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIOmhr+ekuuW7uueri+iAheWSjOacgOW+jOS4gOethuioiOeulyBQSURzXG4iCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTEKK21zZ2lkICIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6OTIKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIOaKveWHuumAsuWFpeebrumMhFxuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjkzCisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13ZFs9PGRpcj5dICAgICAgIHNldCB0aGUgd29ya2luZyBkaXJlY3RvcnlcbiIKK21zZ3N0ciAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICDmir3lh7rpgLLlhaXnm67pjIRcbiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo5NAorbXNnaWQgIiAtRiwgLS1uby1mb3JrICAgICAgICAgIGRvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyA8cHJvZ3JhbT5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjk2Cittc2dpZCAiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAibmVpdGhlciBmaWxlbmFtZSBub3IgdGFyZ2V0IHBpZCBzdXBwbGllZCBmb3IgJXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozMDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHVpZCIKK21zZ3N0ciAi5YmW5p6QIHBpZCDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBnaWQiCittc2dzdHIgIuWJluaekCBwaWQg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM0OQorbXNnaWQgIm5vIHRhcmdldCBQSUQgc3BlY2lmaWVkIGZvciAtLWZvbGxvdy1jb250ZXh0IgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6MzUxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0ICVkIFNFTGludXggY29udGV4dCIKK21zZ3N0ciAi54Sh5rOV5bu656uL5paw55qEIHNlbGludXgg55u46Zec6aCF55uuIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjM1NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIKK21zZ3N0ciAi6Kit5a6a6Lqr5YiG54K6ICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzozNjEKKyMsIGZ1enp5Cittc2dpZCAibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tYWxsIgorbXNnc3RyICLmgqjmjIflrprkuobmr5Tno4Hnop/kuIrpgoTlpJrnmoTno4Hmn7HmlbgiCisKKyM6IHN5cy11dGlscy9uc2VudGVyLmM6NDI1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJyZWFzc29jaWF0ZSB0byBuYW1lc3BhY2UgJyVzJyBmYWlsZWQiCittc2dzdHIgIuiugOWPluezu+e1seaZgumWk+WkseaVlyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IG9wZW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xorormm7Tlt6XkvZznm67pjIQgJXPvvJolbSIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NDgKKyMsIGZ1enp5Cittc2dpZCAiY2hhbmdlIGRpcmVjdG9yeSBieSByb290IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIuiuiuabtOebrumMhOWIsOezu+e1seagueWkseaVlyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NTEKKyMsIGZ1enp5Cittc2dpZCAiY2hyb290IGZhaWxlZCIKK21zZ3N0ciAi5o6b6LyJ5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvbnNlbnRlci5jOjQ2MQorIywgZnV6enkKK21zZ2lkICJjaGFuZ2UgZGlyZWN0b3J5IGJ5IHdvcmtpbmcgZGlyZWN0b3J5IGZpbGUgZGVzY3JpcHRvciBmYWlsZWQiCittc2dzdHIgIuiuiuabtOebrumMhOWIsOezu+e1seagueWkseaVlyIKKworIzogc3lzLXV0aWxzL25zZW50ZXIuYzo0NzIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjIgc3lzLXV0aWxzL3NldHByaXYuYzo5NjkKKyMsIGZ1enp5Cittc2dpZCAic2V0Z3JvdXBzIGZhaWxlZCIKK21zZ3N0ciAic3RyZHVwIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYzozNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBuZXdfcm9vdCBwdXRfb2xkXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBuZXdfcm9vdCBwdXRfb2xkXG4iCisKKyM6IHN5cy11dGlscy9waXZvdF9yb290LmM6MzgKKyMsIGZ1enp5Cittc2dpZCAiQ2hhbmdlIHRoZSByb290IGZpbGVzeXN0ZW0uXG4iCittc2dzdHIgIuaqouafpeaJgOacieaqlOahiOezu+e1seOAglxuIgorCisjOiBzeXMtdXRpbHMvcGl2b3Rfcm9vdC5jOjc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciCittc2dzdHIgIuiuiuabtOagueW+nuOAjiVz44CP5Yiw44COJXMg5pmC5aSx5pWX44CPIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc1CisjLCBmdXp6eQorbXNnaWQgImFkZHJlc3Mgc3BhY2UgbGltaXQiCittc2dzdHIgIuS9jeWdgOepuumWk+mZkOWItiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NgorIywgZnV6enkKK21zZ2lkICJtYXggY29yZSBmaWxlIHNpemUiCittc2dzdHIgIuacgOWkp+iomOaGtumrlOaqlOahiOWkp+WwjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworIywgZnV6enkKK21zZ2lkICJDUFUgdGltZSIKK21zZ3N0ciAiQ1BVIOaZgumWkyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo3NworIywgZnV6enkKK21zZ2lkICJzZWNvbmRzIgorbXNnc3RyICLnp5IiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NzgKKyMsIGZ1enp5Cittc2dpZCAibWF4IGRhdGEgc2l6ZSIKK21zZ3N0ciAi5pyA5aSn6LOH5paZ5aSn5bCPIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjc5CisjLCBmdXp6eQorbXNnaWQgIm1heCBmaWxlIHNpemUiCittc2dzdHIgIuacgOWkp+aqlOahiOWkp+WwjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIGZpbGUgbG9ja3MgaGVsZCIKK21zZ3N0ciAi5pyA5aSn5qqU5qGI6Y6W5a6a5pW46YeP5bu26YGyIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgwCisjLCBmdXp6eQorbXNnaWQgImxvY2tzIgorbXNnc3RyICLljYDloYoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODEKKyMsIGZ1enp5Cittc2dpZCAibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIKK21zZ3N0ciAi5pyA5aSnIGxvY2tlZC1pbi1tZW1vcnkg5L2N5Z2A56m66ZaTIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIm1heCBieXRlcyBpbiBQT1NJWCBtcXVldWVzIgorbXNnc3RyICLmnIDlpKfkvY3lhYPntYTlnKjkuK0gUE9TSVggbXF1ZXVlcyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4MworIywgZnV6enkKK21zZ2lkICJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiCittc2dzdHIgIuacgOWkp+WlvSBwcmlvIOWFgeioseWIsOW8leeZvCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJtYXggbnVtYmVyIG9mIG9wZW4gZmlsZXMiCittc2dzdHIgIuacgOWkp+mWi+WVn+aqlOahiOaVuOmHjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzo4NAorIywgZnV6enkKK21zZ2lkICJmaWxlcyIKK21zZ3N0ciAi5qqU5qGIICVzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg1CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcHJvY2Vzc2VzIgorbXNnc3RyICLmnIDlpKfooYznqIvmlbjph48iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODUKKyMsIGZ1enp5Cittc2dpZCAicHJvY2Vzc2VzIgorbXNnc3RyICLomZXnkIborZjliKXomZ8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODYKKyMsIGZ1enp5Cittc2dpZCAibWF4IHJlc2lkZW50IHNldCBzaXplIgorbXNnc3RyICLmnIDlpKfluLjpp5DoqK3lrprlpKflsI8iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODcKKyMsIGZ1enp5Cittc2dpZCAibWF4IHJlYWwtdGltZSBwcmlvcml0eSIKK21zZ3N0ciAi5pyA5aSn5Y2z5pmC5YSq5YWI5qyKIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4CisjLCBmdXp6eQorbXNnaWQgInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIKK21zZ3N0ciAi6YC+5pmC55So5pa85Y2z5pmC5LqL5YuZIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg4CisjLCBmdXp6eQorbXNnaWQgIm1pY3Jvc2VjcyIKK21zZ3N0ciAibWljcm9zZWNzIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjg5CisjLCBmdXp6eQorbXNnaWQgIm1heCBudW1iZXIgb2YgcGVuZGluZyBzaWduYWxzIgorbXNnc3RyICLmnIDlpKfmk7Hnva7kv6HomZ/mlbjph48iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6ODkKK21zZ2lkICJzaWduYWxzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6OTAKKyMsIGZ1enp5Cittc2dpZCAibWF4IHN0YWNrIHNpemUiCittc2dzdHIgIuacgOWkp+WghueWiuWkp+WwjyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxMjMKKyMsIGZ1enp5Cittc2dpZCAicmVzb3VyY2UgbmFtZSIKK21zZ3N0ciAi6LOH5rqQ5ZCN56ixIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNAorIywgZnV6enkKK21zZ2lkICJyZXNvdXJjZSBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi6LOH5rqQ5o+P6L+wIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjEyNQorIywgZnV6enkKK21zZ2lkICJzb2Z0IGxpbWl0IgorbXNnc3RyICLou5/lvI/pmZDliLYiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI2CisjLCBmdXp6eQorbXNnaWQgImhhcmQgbGltaXQgKGNlaWxpbmcpIgorbXNnc3RyICLlvLfliLbpmZDliLYgKOmgguespuiZnykiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTI3CisjLCBmdXp6eQorbXNnaWQgInVuaXRzIgorbXNnc3RyICLllq7kvY0iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFstcCBQSURdXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbLXAgUElEXVxuIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBDT01NQU5EXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSDlkb3ku6RcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNjcKK21zZ2lkICJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjE2OQorIywgZnV6enkKK21zZ2lkICIiCisiXG4iCisiR2VuZXJhbCBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi5LiA6Iis6YG46aCF77yaXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTcwCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorIiAgICAgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorIiAgICAgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iCittc2dzdHIgIiIKKyIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICDomZXnkIborZjliKXomZ9cbiIKKyIgLW8sIC0tb3V0cHV0POa4heWWrj4gICDlrprnvqnoqbLpoIXovLjlh7rmrITkvY3ku6Xkvb/nlKhcbiIKKyIgICAgIC0tbm9oZWFkaW5ncyAgICAgICDkuI3liJfljbDmqJnpoK1cbiIKKyIgICAgIC0tcmF3ICAgICAgICAgICAgICDkvb/nlKjljp/lp4vovLjlh7rmoLzlvI9cbiIKKyIgICAgIC0tdmVyYm9zZSAgICAgICAgICDoqbPntLDnmoTovLjlh7pcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzoxNzgKKyMsIGZ1enp5Cittc2dpZCAiIgorIlxuIgorIlJlc291cmNlcyBPcHRpb25zOlxuIgorbXNnc3RyICIiCisiXG4iCisi6LOH5rqQ6YG46aCF77yaXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MTc5CisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWMsIC0tY29yZSAgICAgICAgICAgICBtYXhpbXVtIHNpemUgb2YgY29yZSBmaWxlcyBjcmVhdGVkXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorIiAtZSwgLS1uaWNlICAgICAgICAgICAgIG1heGltdW0gbmljZSBwcmlvcml0eSBhbGxvd2VkIHRvIHJhaXNlXG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGZpbGVzIHdyaXR0ZW4gYnkgdGhlIHByb2Nlc3NcbiIKKyIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKyIgLWwsIC0tbWVtbG9jayAgICAgICAgICBtYXhpbXVtIHNpemUgYSBwcm9jZXNzIG1heSBsb2NrIGludG8gbWVtb3J5XG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAgbWF4aW11bSByZXNpZGVudCBzZXQgc2l6ZVxuIgorIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKyIgLXEsIC0tbXNncXVldWUgICAgICAgICBtYXhpbXVtIGJ5dGVzIGluIFBPU0lYIG1lc3NhZ2UgcXVldWVzXG4iCisiIC1yLCAtLXJ0cHJpbyAgICAgICAgICAgbWF4aW11bSByZWFsLXRpbWUgc2NoZWR1bGluZyBwcmlvcml0eVxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIG1heGltdW0gYW1vdW50IG9mIENQVSB0aW1lIGluIHNlY29uZHNcbiIKKyIgLXUsIC0tbnByb2MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiB1c2VyIHByb2Nlc3Nlc1xuIgorIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKyIgLXgsIC0tbG9ja3MgICAgICAgICAgICBtYXhpbXVtIG51bWJlciBvZiBmaWxlIGxvY2tzXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIHRpbWUgaW4gbWljcm9zZWNvbmRzIGEgcHJvY2VzcyBzY2hlZHVsZWRcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIgorbXNnc3RyICIiCisiIC1jLCAtLWNvcmUgICAgICAgICAgICAg5pyA5aSn5a656YeP55qE6KiY5oa26auU5qqU5qGI5bu656uLXG4iCisiIC1kLCAtLWRhdGEgICAgICAgICAgICAg5pyA5aSn5a656YeP55qE6JmV55CG6LOH5paZ5Y2A5q61XG4iCisiIC1lLCAtLW5pY2UgICAgICAgICAgICAg5pyA5aSn5YC85aW95YSq5YWI5qyK5YWB6Kix5Yiw5byV55m8XG4iCisiIC1mLCAtLWZzaXplICAgICAgICAgICAg5pyA5aSn5a656YeP55qE5qqU5qGI5L2c6ICF6JmV55CGXG4iCisiIC1pLCAtLXNpZ3BlbmRpbmcgICAgICAg5pyA5aSn5YC85pOx572u5L+h6Jmf5pW46YePXG4iCisiIC1sLCAtLW1lbWxvY2sgICAgICAgICAg5pyA5aSn5a656YeP6JmV55CG5Lmf6Kix5pyD6Y6W5a6a6YCy5YWl6KiY5oa26auUXG4iCisiIC1tLCAtLXJzcyAgICAgICAgICAgICAg5pyA5aSn5YC85bi46aeQ6Kit5a6a5aSn5bCPXG4iCisiIC1uLCAtLW5vZmlsZSAgICAgICAgICAg5pyA5aSn5YC86ZaL5ZWf5qqU5qGI5pW46YePXG4iCisiIC1xLCAtLW1zZ3F1ZXVlICAgICAgICAg5pyA5aSn5YC85L2N5YWD57WE5Zyo5LitIFBPU0lYIOioiuaBr+S9h+WIl1xuIgorIiAtciwgLS1ydHByaW8gICAgICAgICAgIOacgOWkp+WAvOWNs+aZguaOkueoi+WEquWFiOasilxuIgorIiAtcywgLS1zdGFjayAgICAgICAgICAgIOacgOWkp+WAvOWghueWiuWkp+Wwj1xuIgorIiAtdCwgLS1jcHUgICAgICAgICAgICAgIOacgOWkp+WAvOaVuOebrueahCBDUFUg5pmC6ZaT55qE56eS5pW4XG4iCisiIC11LCAtLW5wcm9jICAgICAgICAgICAg5pyA5aSn5YC85L2/55So6ICF6KGM56iL5pW46YePXG4iCisiIC12LCAtLWFzICAgICAgICAgICAgICAg5aSn5bCP55qE6Jmb5pOs6KiY5oa26auUXG4iCisiIC14LCAtLWxvY2tzICAgICAgICAgICAg5pyA5aSn5YC85qqU5qGI6Y6W5a6a5pW46YePXG4iCisiIC15LCAtLXJ0dGltZSAgICAgICAgICAgQ1BVIOaZgumWk+WcqOS4rSBtaWNyb3NlY29uZHMg6JmV55CG5bey5o6S56iLXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg5LmL5LiL5Y2z5pmC5o6S56iLXG4iCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6MjQzIHN5cy11dGlscy9wcmxpbWl0LmM6MjQ5IHN5cy11dGlscy9wcmxpbWl0LmM6MzY1CisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM3MAorIywgZnV6enkKK21zZ2lkICJ1bmxpbWl0ZWQiCittc2dzdHIgIueEoemZkOWItueahCIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozMzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgb2xkICVzIGxpbWl0IgorbXNnc3RyICLmj5Dlj5boiIrnmoQgJXMg6ZmQ5Yi25pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjM1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGhlIHNvZnQgbGltaXQgJXMgY2Fubm90IGV4Y2VlZCB0aGUgaGFyZCBsaW1pdCIKK21zZ3N0ciAi6Luf5byP6ZmQ5Yi2ICVzIOeEoeazlei2heWHuuW8t+WItumZkOWItiIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNjIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk5ldyAlcyBsaW1pdCBmb3IgcGlkICVkOiAiCittc2dzdHIgIuaWsCAlcyDpmZDliLbvvJoiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIKK21zZ3N0ciAi6Kit5a6aICVzIOizh+a6kOmZkOWItuaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3BybGltaXQuYzozNzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBnZXQgdGhlICVzIHJlc291cmNlIGxpbWl0IgorbXNnc3RyICLmj5Dlj5YgJXMg6LOH5rqQ6ZmQ5Yi25pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjQ1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlICVzIGxpbWl0IgorbXNnc3RyICLliZbmnpAgJXMg6ZmQ5Yi25pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvcHJsaW1pdC5jOjU4NAorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1waWQgbWF5IGJlIHNwZWNpZmllZCBvbmx5IG9uY2UiCittc2dzdHIgIumBuOmghSAtLXBpZCDkuZ/oqLHmnIPooqvmjIflrprnmoTlj6rkuIDmrKEiCisKKyM6IHN5cy11dGlscy9wcmxpbWl0LmM6NjE0CisjLCBmdXp6eQorbXNnaWQgIm9wdGlvbnMgLS1waWQgYW5kIENPTU1BTkQgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIKK21zZ3N0ciAi6YG46aCFIC0tcGlkIOWSjOWRveS7pOW9vOatpOS6kuaWpSIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTA3Cittc2dpZCAiRGlzcGxheSBrZXJuZWwgcHJvZmlsaW5nIGluZm9ybWF0aW9uLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1tLCAtLW1hcGZpbGUgPG1hcGZpbGU+ICAgKGRlZmF1bHRzOiBcIiVzXCIgYW5kXG4iCittc2dzdHIgIiAtbSwgLS1tYXBmaWxlIDxtYXBmaWxlPiAgICjpoJDoqK3lgLzvvJrjgIwlc+OAjeWSjFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXCIlc1wiKVxuIgorbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CMJXPjgI0pXG4iCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjExNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIC1wLCAtLXByb2ZpbGUgPHByby1maWxlPiAgKGRlZmF1bHQ6ICBcIiVzXCIpXG4iCittc2dzdHIgIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gICjpoJDoqK3vvJrjgIwlc+OAjSlcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTE2CisjLCBmdXp6eQorbXNnaWQgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCittc2dzdHIgIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIOioreWumuWBtOWvq+aqlOWAjeaVuOWIsDxtdWx0PlxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWluZm8gICAgICAgICAgICAgICAgcHJpbnQgb25seSBpbmZvIGFib3V0IHRoZSBzYW1wbGluZyBzdGVwXG4iCittc2dzdHIgIiAtaSwgLS1pbmZvICAgICAgICAgICAgICAgIOWIl+WNsOWPquacieizh+ioiumXnOaWvOWPluaoo+atpempn1xuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTgKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAgcHJpbnQgdmVyYm9zZSBkYXRhXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMTkKKyMsIGZ1enp5Cittc2dpZCAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDliJfljbDmiYDmnInnrKbomZ/vvIzljbPkvb/oqIjmlbjmmK8gMFxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoxMjAKKyMsIGZ1enp5Cittc2dpZCAiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorbXNnc3RyICIgLWIsIC0taGlzdGJpbiAgICAgICAgICAgICDliJfljbDlgIvliKUgaGlzdG9ncmFtLWJpbiDoqIjmlbhcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIxCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1jb3VudGVycyAgICAgICAgICAgIHByaW50IGluZGl2aWR1YWwgY291bnRlcnMgd2l0aGluIGZ1bmN0aW9uc1xuIgorbXNnc3RyICIgLXMsIC0tY291bnRlcnMgICAgICAgICAgICDliJfljbDlgIvliKXoqIjmlbjlmajlnKjkuYvlhaflh73lvI9cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgIHJlc2V0IGFsbCB0aGUgY291bnRlcnMgKHJvb3Qgb25seSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAg6YeN572u5omA5pyJ6KiI5pW45ZmoICjlj6rpmZAgcm9vdClcbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MTIzCisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uby1hdXRvICAgICAgICAgICAgIGRpc2FibGUgYnl0ZSBvcmRlciBhdXRvLWRldGVjdGlvblxuIgorbXNnc3RyICIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICDlgZznlKjkvY3lhYPntYTmrKHluo8gYXV0by1kZXRlY3Rpb25cbiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MjM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJlcnJvciB3cml0aW5nICVzIgorbXNnc3RyICLlr6vlhaUgJXMg5pmC55m855Sf6Yyv6KqkIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzoyNzAKKyMsIGZ1enp5Cittc2dpZCAiQXNzdW1pbmcgcmV2ZXJzZWQgYnl0ZSBvcmRlci4gVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIKK21zZ3N0ciAi5YGH6Kit5Y+N5ZCR55qE5L2N5YWD57WE5qyh5bqP44CC5L2/55SoIC1uIOWIsOW8t+WItuWOn+eUn+S9jeWFg+e1hOasoeW6j+OAgiIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6Mjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJTYW1wbGluZ19zdGVwOiAldVxuIgorbXNnc3RyICLlj5bmqKPnjofvvJolaVxuIgorCisjOiBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYzozMDEgc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6MzIyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyglaSk6IHdyb25nIG1hcCBsaW5lIgorbXNnc3RyICIlcyglaSnvvJrpjK/oqqTnmoTmmKDlsITliJciCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjMxMgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2FuJ3QgZmluZCBcIl9zdGV4dFwiIGluICVzIgorbXNnc3RyICLmib7kuI3liLDjgIxzdGV4dOOAjeWcqOS4rSAlcyhfUykiCisKKyM6IHN5cy11dGlscy9yZWFkcHJvZmlsZS5jOjM0NQorIywgZnV6enkKK21zZ2lkICJwcm9maWxlIGFkZHJlc3Mgb3V0IG9mIHJhbmdlLiBXcm9uZyBtYXAgZmlsZT8iCittc2dzdHIgIuWBtOWvq+aqlOS9jeWdgOi2heWHuuevhOWcjeOAgumMr+iqpOeahOaYoOWwhOaqlOahiO+8nyIKKworIzogc3lzLXV0aWxzL3JlYWRwcm9maWxlLmM6NDAzCittc2dpZCAidG90YWwiCittc2dzdHIgIue4veioiCIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUyCisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3MgSUQiCittc2dzdHIgIuiZleeQhuitmOWIpeiZnyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjUzCisjLCBmdXp6eQorbXNnaWQgInByb2Nlc3MgZ3JvdXAgSUQiCittc2dzdHIgIuiZleeQhue+pOe1hOitmOWIpeiZnyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjYyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1uXSA8cHJpb3JpdHk+IFstcHwtLXBpZF0gPHBpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC1nfC0tcGdycCA8cGdpZD4uLi5cbiIKKyIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFstbl0gPHByaW9yaXR5PiBbLXBdPHBpZD5bPHBpZD4uLi5dXG4iCisiICUxJHMgWy1uXTzlhKrlhYjmrIo+IC1nPHBncnA+WzxwZ3JwPi4uLl1cbiIKKyIgJTEkcyBbLW5dPOWEquWFiOasij4gLXU85L2/55So6ICFPls85L2/55So6ICFPi4uLl1cbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjY4Cittc2dpZCAiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo3MQorbXNnaWQgIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjcyCisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorbXNnc3RyICIgLXAsIC0tcGlkICAgICAgICAg6aGv56S65bu656uL6ICF5ZKM5pyA5b6M5LiA562G6KiI566XIFBJRHNcbiIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjczCittc2dpZCAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6NzQKK21zZ2lkICIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZW5pY2UuYzo4NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGdldCBwcmlvcml0eSBmb3IgJWQgKCVzKSIKK21zZ3N0ciAi5o+Q5Y+W5YSq5YWI5qyK55So5pa8ICVkICglcykg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6OTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcHJpb3JpdHkgZm9yICVkICglcykiCittc2dzdHIgIuioreWumuWEquWFiOasiueUqOaWvCAlZCAoJXMpIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3JlbmljZS5jOjEwNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJWQgKCVzKSBvbGQgcHJpb3JpdHkgJWQsIG5ldyBwcmlvcml0eSAlZFxuIgorbXNnc3RyICIlZCAoJXMpIOiIiueahOWEquWFiOasiiAlZO+8jOaWsOWEquWFiOasiiAlZFxuIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTUyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIHByaW9yaXR5ICclcyciCittc2dzdHIgIueEoeaViOeahOitmOWIpeiZn++8miVzIgorCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIHVzZXIgJXMiCittc2dzdHIgIuS4jeaYjuS9v+eUqOiAhSAlcyIKKworIy4gVFJBTlNMQVRPUlM6IFRoZSBmaXJzdCAlcyBpcyBvbmUgb2YgdGhlIGFib3ZlCisjLiAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiCisjOiBzeXMtdXRpbHMvcmVuaWNlLmM6MTg4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgJXMgdmFsdWU6ICVzIgorbXNnc3RyICLkuI3nlbbnmoTlgLwgJXMiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMjkKKyMsIGZ1enp5Cittc2dpZCAia2VybmVsIGRldmljZSBuYW1lIgorbXNnc3RyICLlhafpg6jlhafmoLjoo53nva7lkI3nqLEiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGlkZW50aWZpZXIgdmFsdWUiCittc2dzdHIgIuijnee9ruitmOWIpeeivCIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMQorbXNnaWQgImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iCittc2dzdHIgIuaXl+aomeaPj+i/sCIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzMworIywgZnV6enkKK21zZ2lkICJzdGF0dXMgb2Ygc29mdHdhcmUgYmxvY2siCittc2dzdHIgIuWkp+Wwj+eahOmOluWumiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjEzNAorIywgZnV6enkKK21zZ2lkICJzdGF0dXMgb2YgaGFyZHdhcmUgYmxvY2siCittc2dzdHIgIuWkp+Wwj+eahOmOluWumiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjE5OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiCittc2dzdHIgIueEoeazlemWi+WVnyAlcyIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjIxOQorIywgYy1mb3JtYXQKK21zZ2lkICJ3cm9uZyBzaXplIG9mIHJma2lsbCBldmVudDogJXp1IDwgJWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjI0OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHBvbGwgJXMiCittc2dzdHIgIuWJluaekCAlcyDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozMTMKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBpZGVudGlmaWVyIgorbXNnc3RyICLoo53nva7orZjliKXnorwiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJibG9ja2VkIgorbXNnc3RyICLlt7LpjpblrpoiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzozOTMgc3lzLXV0aWxzL3Jma2lsbC5jOjM5NgorIywgZnV6enkKK21zZ2lkICJ1bmJsb2NrZWQiCittc2dzdHIgIuW3sumOluWumiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjQxNSBzeXMtdXRpbHMvcmZraWxsLmM6NDgwIHN5cy11dGlscy9yZmtpbGwuYzo1MjQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgaWRlbnRpZmllcjogJXMiCittc2dzdHIgIuejgeein+itmOWIpeeivO+8mjB4JTA4eFxuIgorCisjOiBzeXMtdXRpbHMvcmZraWxsLmM6NTY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIGNvbW1hbmQgW2lkZW50aWZpZXIgLi4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gW+aqlOahiF1cbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU2OQorbXNnaWQgIlRvb2wgZm9yIGVuYWJsaW5nIGFuZCBkaXNhYmxpbmcgd2lyZWxlc3MgZGV2aWNlcy5cbiIKK21zZ3N0ciAiIgorCisjLiBUUkFOU0xBVE9SUzogY29tbWFuZCBuYW1lcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQsIGV4cGxhaW5pbmcKKyMuIHRoZW0gYXMgYWRkaXRpb25hbCBmaWVsZCBhZnRlciBpZGVudGlmaWVyIGlzIGZpbmUsIGZvciBleGFtcGxlCisjLiAqCisjLiBsaXN0ICAgW2lkZW50aWZpZXJdICAgKGxpc3RhIFt0YXJrZW5uZV0pCisjLgorIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MgorbXNnaWQgIiBoZWxwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5MworbXNnaWQgIiBldmVudFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTQKKyMsIGZ1enp5Cittc2dpZCAiIGxpc3QgICBbaWRlbnRpZmllcl1cbiIKK21zZ3N0ciAi56OB56Kf6K2Y5Yil56K877yaMHglMDh4XG4iCisKKyM6IHN5cy11dGlscy9yZmtpbGwuYzo1OTUKKyMsIGZ1enp5Cittc2dpZCAiIGJsb2NrICAgaWRlbnRpZmllclxuIgorbXNnc3RyICLno4Hnop/orZjliKXnorzvvJoweCUwOHhcbiIKKworIzogc3lzLXV0aWxzL3Jma2lsbC5jOjU5NgorIywgZnV6enkKK21zZ2lkICIgdW5ibG9jayBpZGVudGlmaWVyXG4iCittc2dzdHIgIuejgeein+itmOWIpeeivO+8mjB4JTA4eFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjEwMQorbXNnaWQgIkVudGVyIGEgc3lzdGVtIHNsZWVwIHN0YXRlIHVudGlsIGEgc3BlY2lmaWVkIHdha2V1cCB0aW1lLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hdXRvICAgICAgICAgICAgICAgcmVhZHMgdGhlIGNsb2NrIG1vZGUgZnJvbSBhZGp1c3QgZmlsZSAoZGVmYXVsdClcbiIKK21zZ3N0ciAiIC1uLCAtLW5vLWF1dG8gICAgICAgICAgICAg5YGc55So5L2N5YWD57WE5qyh5bqPIGF1dG8tZGV0ZWN0aW9uXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiIC1BLCAtLWFkamZpbGUgPGZpbGU+ICAgICBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICVzXG4iCittc2dzdHIgIiIKKyIgICAgIC0tbm9hZGpmaWxlICAgICAg5LiN5a2Y5Y+WICVz77yb6YCZ5YCL6ZyA5rGC5L2/55So55qEXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAg6YKE5pivIC0tdXRjIOaIliAtLWxvY2FsdGltZVxuIgorIiAgICAgLS1hZGpmaWxlIDxmaWxlPiDmjIflrprot6/lvpHliLDoqr/mlbTmqpTmoYjvvJtcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICDpoJDoqK3mmK8gJXNcbiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMDgKK21zZ2lkICIgICAgIC0tZGF0ZSA8dGltZXN0YW1wPiAgIGRhdGUgdGltZSBvZiB0aW1lc3RhbXAgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTA5Cittc2dpZCAiIC1kLCAtLWRldmljZSA8ZGV2aWNlPiAgICBzZWxlY3QgcnRjIGRldmljZSAocnRjMHxydGMxfC4uLilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExMAorbXNnaWQgIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAgZG9lcyBldmVyeXRoaW5nLCBidXQgc3VzcGVuZFxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtbCwgLS1sb2NhbCAgICAgICAgICAgICAgUlRDIHVzZXMgbG9jYWwgdGltZXpvbmVcbiIKK21zZ3N0ciAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiKXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEyCittc2dpZCAiICAgICAtLWxpc3QtbW9kZXMgICAgICAgICBsaXN0IGF2YWlsYWJsZSBtb2Rlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTEzCittc2dpZCAiIC1tLCAtLW1vZGUgPG1vZGU+ICAgICAgICBzdGFuZGJ5fG1lbXwuLi4gc2xlZXAgbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE0Cittc2dpZCAiIC1zLCAtLXNlY29uZHMgPHNlY29uZHM+ICBzZWNvbmRzIHRvIHNsZWVwXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxMTUKK21zZ2lkICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTE2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjExNworIywgZnV6enkKK21zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHZlcmJvc2UgbWVzc2FnZXNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MTY3CisjLCBmdXp6eQorbXNnaWQgInJlYWQgcnRjIHRpbWUgZmFpbGVkIgorbXNnc3RyICLoroDlj5YgcnRjIOaZgumWk+WkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxNzMKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBzeXN0ZW0gdGltZSBmYWlsZWQiCittc2dzdHIgIuiugOWPluezu+e1seaZgumWk+WkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoxODkKKyMsIGZ1enp5Cittc2dpZCAiY29udmVydCBydGMgdGltZSBmYWlsZWQiCittc2dzdHIgIui9ieaPmyBydGMg5pmC6ZaT5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjIzNworIywgZnV6enkKK21zZ2lkICJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIgorbXNnc3RyICLoqK3lrpogcnRjIOWWmumGkuitpuekuuWkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzoyNzQKKyMsIGZ1enp5Cittc2dpZCAiZGlzY2FyZGluZyBzdGRpbiIKK21zZ3N0ciAi5o2o5qOE5bCN6b2K5YGP56e7IgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjMyNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiCittc2dzdHIgIuacqumgkOacn+eahOaqlOahiOe1kOadn+aWvCAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozMzggc3lzLXV0aWxzL3J0Y3dha2UuYzo2NDIKKyMsIGZ1enp5Cittc2dpZCAicmVhZCBydGMgYWxhcm0gZmFpbGVkIgorbXNnc3RyICLoroDlj5YgcnRjIOitpuekuuWkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvZmZcbiIKK21zZ3N0ciAi6K2m56S677ya6Zec6ZaJXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6MzU2CisjLCBmdXp6eQorbXNnaWQgImNvbnZlcnQgdGltZSBmYWlsZWQiCittc2dzdHIgIui9ieaPm+aZgumWk+WkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzozNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImFsYXJtOiBvbiAgJXMiCittc2dzdHIgIuitpuekuu+8muaWvCAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NDA1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjb3VsZCBub3QgcmVhZDogJXMiCittc2dzdHIgIueEoeazleiugOWPliAlcyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0ODUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVucmVjb2duaXplZCBzdXNwZW5kIHN0YXRlICclcyciCittc2dzdHIgIueEoeazlei+qOitmOeahOaHuOe9rueLgOaFi+OAjiVz44CPIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjQ5MworIywgZnV6enkKK21zZ2lkICJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOenkuW8leaVuCIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo0OTcKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCB0aW1lIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTmmYLplpPlvJXmlbgiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTI0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBhc3N1bWluZyBSVEMgdXNlcyBVVEMgLi4uXG4iCittc2dzdHIgIiVz77ya5YGH6KitIFJUQyDkvb/nlKggVVRDIOKAplxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUyOQorbXNnaWQgIlVzaW5nIFVUQyB0aW1lLlxuIgorbXNnc3RyICLkvb/nlKggVVRDIOaZgumWk+OAglxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMAorbXNnaWQgIlVzaW5nIGxvY2FsIHRpbWUuXG4iCittc2dzdHIgIuS9v+eUqOeVtuWcsOaZgumWk+OAglxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjUzMworIywgZnV6enkKK21zZ2lkICJtdXN0IHByb3ZpZGUgd2FrZSB0aW1lIChzZWUgLS1zZWNvbmRzLCAtLXRpbWUgYW5kIC0tZGF0ZSBvcHRpb25zKSIKK21zZ3N0ciAi5b+F6aCI5o+Q5L6b5Zaa6YaS5pmC6ZaTICjlj4PnnIsgLXQg5ZKMIC1zIOmBuOmghSkiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTM5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgZW5hYmxlZCBmb3Igd2FrZXVwIGV2ZW50cyIKK21zZ3N0ciAiJXMg5pyq5ZWf55So55So5pa8IHdha2V1cCDkuovku7YiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTQ2CisjLCBjLWZvcm1hdAorbXNnaWQgImFsYXJtICVsZCwgc3lzX3RpbWUgJWxkLCBydGNfdGltZSAlbGQsIHNlY29uZHMgJXVcbiIKK21zZ3N0ciAi6K2m56S6ICVsZO+8jOezu+e1seaZgumWkyAlbGTvvIxydGMg5pmC6ZaTICVsZO+8jOenkuaVuCAldVxuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU1MworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltZSBkb2Vzbid0IGdvIGJhY2t3YXJkIHRvICVzIgorbXNnc3RyICLmmYLplpPkuI3liY3lvoDpgIDkuIDmraXliLAgJXMiCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NTYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIgorbXNnc3RyICIlc++8mndha2V1cCDkvb/nlKggJXMg5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU2NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdha2V1cCBmcm9tIFwiJXNcIiB1c2luZyAlcyBhdCAlcyIKK21zZ3N0ciAiJXPvvJp3YWtldXAg5b6e44CMJXPjgI3kvb/nlKggJXMg5pa8ICVzIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU3NworIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iCittc2dzdHIgIuaHuOe9ruaooeW8j++8mueEoe+8m+mboumWi1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjU4NgorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9mZjsgZXhlY3V0aW5nICVzXG4iCittc2dzdHIgIuaHuOe9ruaooeW8j++8mumXnOmWie+8m+Wft+ihjCAlc1xuIgorCisjOiBzeXMtdXRpbHMvcnRjd2FrZS5jOjYwNQorIywgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIgorbXNnc3RyICLmh7jnva7mqKHlvI/vvJrplovllZ/vvJvoroDlj5YgcnRjXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjEwCisjLCBmdXp6eQorbXNnaWQgInJ0YyByZWFkIGZhaWxlZCIKK21zZ3N0ciAicnRjIOiugOWPluWkseaVlyIKKworIzogc3lzLXV0aWxzL3J0Y3dha2UuYzo2MjIKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIKK21zZ3N0ciAi5oe4572u5qih5byP77ya5YGc55So77yb5YGc55So6K2m56S6XG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjI2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIKK21zZ3N0ciAi5oe4572u5qih5byP77ya6aGv56S677yb5YiX5Y2w6K2m56S66LOH6KiKXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjMzCisjLCBjLWZvcm1hdAorbXNnaWQgInN1c3BlbmQgbW9kZTogJXM7IHN1c3BlbmRpbmcgc3lzdGVtXG4iCittc2dzdHIgIuaHuOe9ruaooeW8j++8miVz77yb5oe4572u57O757WxXG4iCisKKyM6IHN5cy11dGlscy9ydGN3YWtlLmM6NjQ3CisjLCBmdXp6eQorbXNnaWQgImRpc2FibGUgcnRjIGFsYXJtIGludGVycnVwdCBmYWlsZWQiCittc2dzdHIgIuWBnOeUqCBydGMg6K2m56S65o+S5pa35aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIlN3aXRjaGluZyBvbiAlcy5cbiIKK21zZ3N0ciAi5YiH5o+b5pa8ICVz44CCXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHByb2dyYW0+IFvlvJXmlbguLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTUKK21zZ2lkICJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6OTgKK21zZ2lkICIgLUIsIC0tMzJiaXQgICAgICAgICAgICAgIHR1cm5zIG9uIEFERFJfTElNSVRfMzJCSVRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjk5Cittc2dpZCAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAwCittc2dpZCAiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAxCittc2dpZCAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDIKK21zZ2lkICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTAzCittc2dpZCAiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMDQKK21zZ2lkICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA1Cittc2dpZCAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA2Cittc2dpZCAiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA3Cittc2dpZCAiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA4Cittc2dpZCAiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTA5Cittc2dpZCAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXkgd2hhdCBvcHRpb25zIGFyZSBiZWluZyBzd2l0Y2hlZCBvblxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MTEzCittc2dpZCAiICAgICAtLWxpc3QgICAgICAgICAgICAgICBsaXN0IHNldHRhYmxlIGFyY2hpdGVjdHVyZXMsIGFuZCBleGl0XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyMTcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IFVucmVjb2duaXplZCBhcmNoaXRlY3R1cmUiCittc2dzdHIgIiVz77ya54Sh5rOV6L6o6K2Y55qE5p625qeLIgorCisjOiBzeXMtdXRpbHMvc2V0YXJjaC5jOjIzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIgorbXNnc3RyICLnhKHms5XoqK3lrprpgL7mmYLnlKjmlrwgJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mjg2Cittc2dpZCAiTm90IGVub3VnaCBhcmd1bWVudHMiCittc2dzdHIgIuW8leaVuOS4jei2syIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzoyOTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiRmFpbGVkIHRvIHNldCBwZXJzb25hbGl0eSB0byAlcyIKK21zZ3N0ciAi6Kit5a6a6Lqr5YiG54K6ICVzIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNjAKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIKK21zZ3N0ciAi54Sh5rOV6L6o6K2Y55qE6Ly45YWl77yaJXMiCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6MzY4CisjLCBmdXp6eQorbXNnaWQgIm5vIGFyY2hpdGVjdHVyZSBhcmd1bWVudCBzcGVjaWZpZWQiCittc2dzdHIgIuacquaMh+WumuS7u+S9lemVt+W6puW8leaVuCIKKworIzogc3lzLXV0aWxzL3NldGFyY2guYzozNzQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiCittc2dzdHIgIuioreWumui6q+WIhueCuiAlcyDmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRhcmNoLmM6Mzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJFeGVjdXRlIGNvbW1hbmQgYCVzJy5cbiIKK21zZ3N0ciAi5Z+36KGM5pel5pyf5ZG95Luk77yaJXNcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHByb2dyYW0+IFvlvJXmlbguLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTE5Cittc2dpZCAiUnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBwcml2aWxlZ2Ugc2V0dGluZ3MuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMjIKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLWR1bXAgICAgICAgICAgICAgICAgICBzaG93IGN1cnJlbnQgc3RhdGUgKGFuZCBkbyBub3QgZXhlYylcbiIKK21zZ3N0ciAiIC1wLCAtLXBpZCAgICAgICAgIOmhr+ekuuW7uueri+iAheWSjOacgOW+jOS4gOethuioiOeulyBQSURzXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTIzCittc2dpZCAiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI0Cittc2dpZCAiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNQorbXNnaWQgIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI2Cittc2dpZCAiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEyNworIywgZnV6enkKK21zZ2lkICIgLS1ydWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIHVpZFxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI4CisjLCBmdXp6eQorbXNnaWQgIiAtLWV1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IGVmZmVjdGl2ZSB1aWRcbiIKK21zZ3N0ciAiIC10LCAtLXNldC1mbHVzaCA8bnVtPiAgICAgICAgICAgICAg6Kit5a6a5riF55CG6YC+5pmC5Yiw5YC8XG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTI5CisjLCBmdXp6eQorbXNnaWQgIiAtLXJnaWQgPGdpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgZ2lkXG4iCittc2dzdHIgIiAtaSwgLS1pcnEgPG51bT4gICAgICAgICAgICAgIOaMh+WumuS4puWIl+WfoCBpcnFcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzAKKyMsIGZ1enp5Cittc2dpZCAiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzEKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIgorbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoxMzIKKyMsIGZ1enp5Cittc2dpZCAiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTMzCisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyLWdyb3VwcyAgICAgICAgICAgICAgY2xlYXIgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNAorIywgZnV6enkKK21zZ2lkICIgLS1rZWVwLWdyb3VwcyAgICAgICAgICAgICAgIGtlZXAgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNQorIywgZnV6enkKK21zZ2lkICIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzNgorIywgZnV6enkKK21zZ2lkICIgLS1ncm91cHMgPGdyb3VwLC4uLj4gICAgICAgIHNldCBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTM3CisjLCBmdXp6eQorbXNnaWQgIiAtLXNlY3VyZWJpdHMgPGJpdHM+ICAgICAgICAgc2V0IHNlY3VyZWJpdHNcbiIKK21zZ3N0ciAiIC03LCAtLXNldmVuYml0cyAgICAgICAgIOioreWumuWtl+WFg+Wkp+Wwj+WIsCA3IOS9jeWFg1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOAorIywgZnV6enkKK21zZ2lkICIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iCittc2dzdHIgIiAtbywgLS1vZmZpY2UgPG9mZmljZT4gICAgICAgIOi+puWFrOWupOaVuOWtl1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjEzOQorbXNnaWQgIiAtLWFwcGFybW9yLXByb2ZpbGUgPHByPiAgICAgc2V0IEFwcEFybW9yIHByb2ZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjE0NAorbXNnaWQgIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MTg3CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICLnhKHmlYjnmoTliIblibLljYDpoZ7lnovjgI4lY+OAj1xuIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjIzOSBzeXMtdXRpbHMvc2V0cHJpdi5jOjU1MgorbXNnaWQgImdldHRpbmcgcHJvY2VzcyBzZWN1cmUgYml0cyBmYWlsZWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzoyNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2VjdXJlYml0czogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MjYzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV1cbiIKK21zZ3N0ciAi54ShIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjI4OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IHRvbyBsb25nIgorbXNnc3RyICLliJflpKrplbciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzE3CisjLCBjLWZvcm1hdAorbXNnaWQgIlN1cHBsZW1lbnRhcnkgZ3JvdXBzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMTkgc3lzLXV0aWxzL3NldHByaXYuYzozNjcgc3lzLXV0aWxzL3NldHByaXYuYzozNzIKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc4IHN5cy11dGlscy9zZXRwcml2LmM6Mzg0IHN5cy11dGlscy9zZXRwcml2LmM6MzkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJbbm9uZV0iCittc2dzdHIgIueEoSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozMzkKKyMsIGMtZm9ybWF0Cittc2dpZCAidWlkOiAldVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgImV1aWQ6ICV1XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNDMKKyMsIGMtZm9ybWF0Cittc2dpZCAic3VpZDogJXVcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM0NSBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ0NQorIywgZnV6enkKK21zZ2lkICJnZXRyZXN1aWQgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM1NCBzeXMtdXRpbHMvc2V0cHJpdi5jOjQ2MAorIywgZnV6enkKK21zZ2lkICJnZXRyZXNnaWQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM2NQorIywgYy1mb3JtYXQKK21zZ2lkICJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozNzAKKyMsIGMtZm9ybWF0Cittc2dpZCAiUGVybWl0dGVkIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Mzc2CisjLCBjLWZvcm1hdAorbXNnaWQgIkluaGVyaXRhYmxlIGNhcGFiaWxpdGllczogIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6MzgxCisjLCBjLWZvcm1hdAorbXNnaWQgIkFtYmllbnQgY2FwYWJpbGl0aWVzOiAiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlt1bnN1cHBvcnRlZF0iCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOWRveS7pCIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzozODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiQ2FwYWJpbGl0eSBib3VuZGluZyBzZXQ6ICIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjM5NworIywgZnV6enkKK21zZ2lkICJTRUxpbnV4IGxhYmVsIgorbXNnc3RyICJMaW51eCDntJTmloflrZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NDAwCittc2dpZCAiQXBwQXJtb3IgcHJvZmlsZSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjQxMworIywgYy1mb3JtYXQKK21zZ2lkICJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0MzYKK21zZ2lkICJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NTMKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzdWlkIGZhaWxlZCIKK21zZ3N0ciAic2V0dWlkIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo0NjgKKyMsIGZ1enp5Cittc2dpZCAic2V0cmVzZ2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0Z2lkIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MDAKKyMsIGZ1enp5Cittc2dpZCAidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MTcKK21zZ2lkICJiYWQgY2FwYWJpbGl0eSBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1MjUKK21zZ2lkICJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NTM3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGNhcGFiaWxpdHkgXCIlc1wiIgorbXNnc3RyICLkuI3mmI7mqZ/og73jgI4lc+OAjyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjEKKyMsIGZ1enp5Cittc2dpZCAidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IgorbXNnc3RyICLnhKHms5XovqjorZjnmoTmoLzlvI8gLSDkvb/nlKjno4HljYDmlbhcbiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NjUKK21zZ2lkICJiYWQgc2VjdXJlYml0cyBzdHJpbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1NzIKKyMsIGZ1enp5Cittc2dpZCAiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIgorbXNnc3RyICLjgI4lY+OAj+acquiiq+WFgeiosSIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo1ODUKKyMsIGZ1enp5Cittc2dpZCAiYWRqdXN0aW5nIGtlZXBfY2FwcyBkb2VzIG5vdCBtYWtlIHNlbnNlIgorbXNnc3RyICLmjIflrprnmoTnr4TlnI08JWQ6JWQ+5LiN5YW35Lu75L2V5oSP576pIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjU4OQorIywgZnV6enkKK21zZ2lkICJ1bnJlY29nbml6ZWQgc2VjdXJlYml0IgorbXNnc3RyICLnhKHms5XovqjorZjnmoTovLjlhaXvvJolcyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo2MDkKK21zZ2lkICJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjbG9zZSBmYWlsZWQ6ICVzIgorbXNnc3RyICLmkJzlsIvlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NjMyCittc2dpZCAiQXBwQXJtb3IgaXMgbm90IHJ1bm5pbmciCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3NzUKK21zZ2lkICJkdXBsaWNhdGUgLS1uby1uZXctcHJpdnMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzgwCittc2dpZCAiZHVwbGljYXRlIHJ1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo3ODIKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJ1aWQiCittc2dzdHIgIuWJluaekCBwaWQg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5MAorbXNnaWQgImR1cGxpY2F0ZSBldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6NzkyCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBldWlkIgorbXNnc3RyICLliZbmnpDntZDmnZ/mmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6Nzk2Cittc2dpZCAiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjc5OAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcmV1aWQiCittc2dzdHIgIuWJluaekCBwaWQg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgwNworbXNnaWQgImR1cGxpY2F0ZSByZ2lkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODA5CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSByZ2lkIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MTMKK21zZ2lkICJkdXBsaWNhdGUgZWdpZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgZWdpZCIKK21zZ3N0ciAi5YmW5p6Q57WQ5p2f5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjgxOQorbXNnaWQgImR1cGxpY2F0ZSByZ2lkIG9yIGVnaWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIHJlZ2lkIgorbXNnc3RyICLliZbmnpAgcGlkIOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4MjYKK21zZ2lkICJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODMyCittc2dpZCAiZHVwbGljYXRlIC0ta2VlcC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODM4Cittc2dpZCAiZHVwbGljYXRlIC0taW5pdC1ncm91cHMgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODQ0Cittc2dpZCAiZHVwbGljYXRlIC0tZ3JvdXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1MworbXNnaWQgImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg1OQorbXNnaWQgImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NjUKK21zZ2lkICJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODcxCittc2dpZCAiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo4NzcKK21zZ2lkICJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjg4MworbXNnaWQgImR1cGxpY2F0ZSAtLWFwcGFybW9yLXByb2ZpbGUgb3B0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6ODk5Cittc2dpZCAiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTA3CisjLCBmdXp6eQorbXNnaWQgIi0tbGlzdC1jYXBzIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lIgorbXNnc3RyICLpgbjpoIUgLS1waWQg5Lmf6Kix5pyD6KKr5oyH5a6a55qE5Y+q5LiA5qyhIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxMworIywgZnV6enkKK21zZ2lkICJObyBwcm9ncmFtIHNwZWNpZmllZCIKK21zZ3N0ciAi5pyq5oyH5a6a5Lu75L2V5qqU5ZCNIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkxOQorbXNnaWQgIi0tW3JlXWdpZCByZXF1aXJlcyAtLWtlZXAtZ3JvdXBzLCAtLWNsZWFyLWdyb3VwcywgLS1pbml0LWdyb3Vwcywgb3IgLS1ncm91cHMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5MjMKK21zZ2lkICItLWluaXQtZ3JvdXBzIHJlcXVpcmVzIC0tcnVpZCBvciAtLXJldWlkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTI3CisjLCBjLWZvcm1hdAorbXNnaWQgInVpZCAlbGQgbm90IGZvdW5kLCAtLWluaXQtZ3JvdXBzIHJlcXVpcmVzIGFuIHVzZXIgdGhhdCBjYW4gYmUgZm91bmQgb24gdGhlIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjkzMgorbXNnaWQgImRpc2FsbG93IGdyYW50aW5nIG5ldyBwcml2aWxlZ2VzIGZhaWxlZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk0MAorbXNnaWQgImtlZXAgcHJvY2VzcyBjYXBhYmlsaXRpZXMgZmFpbGVkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTQ4Cittc2dpZCAiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTU0Cittc2dpZCAicmVhY3RpdmF0ZSBjYXBhYmlsaXRpZXMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHByaXYuYzo5NjUKKyMsIGZ1enp5Cittc2dpZCAiaW5pdGdyb3VwcyBmYWlsZWQiCittc2dzdHIgInN0cmR1cCDlpLHmlZciCisKKyM6IHN5cy11dGlscy9zZXRwcml2LmM6OTczCisjLCBmdXp6eQorbXNnaWQgInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIgorbXNnc3RyICJzZXR1aWQg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk3OQorbXNnaWQgImFwcGx5IGJvdW5kaW5nIHNldCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0cHJpdi5jOjk4NQorbXNnaWQgImFwcGx5IGNhcGFiaWxpdGllcyIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6MzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFthcmd1bWVudHMgLi4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gPHByb2dyYW0+IFvlvJXmlbguLi5dXG4iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzozNworbXNnaWQgIlJ1biBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDAKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWN0dHkgICAgIHNldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lXG4iCittc2dzdHIgIiAtYywgLS1jdHR5ICAgICDoqK3lrprmjqfliLbntYLnq6/mqZ/liLDnm67liY3nmoTkuIDlgItcbiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjQxCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1mb3JrICAgICBhbHdheXMgZm9ya1xuIgorbXNnc3RyICIgLWYgIOW8t+WItuaqouafpVxuIgorCisjOiBzeXMtdXRpbHMvc2V0c2lkLmM6NDIKK21zZ2lkICIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEwMAorIywgZnV6enkKK21zZ2lkICJmb3JrIgorbXNnc3RyICLooY3nlJ8iCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoaWxkICVkIGRpZCBub3QgZXhpdCBub3JtYWxseSIKK21zZ3N0ciAi5Y246LyJ55qE44COJXPjgI/kuKbmnKrmraPluLjpm6LplosiCisKKyM6IHN5cy11dGlscy9zZXRzaWQuYzoxMTcKKyMsIGZ1enp5Cittc2dpZCAic2V0c2lkIGZhaWxlZCIKK21zZ3N0ciAic2V0c2lkIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3NldHNpZC5jOjEyMAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIKK21zZ3N0ciAi6Kit5a6a5o6n5Yi257WC56uv5qmf5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjg1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb2ZmICVzXG4iCittc2dzdHIgInN3YXBvZmYgJXNcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvZmYuYzoxMDQKK21zZ2lkICJOb3Qgc3VwZXJ1c2VyLiIKK21zZ3N0ciAi5Lim6Z2e57O757Wx566h55CG6ICF44CCIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEwNworIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcG9mZiBmYWlsZWQiCittc2dzdHIgIiVz77yac3dhcG9mZiDlpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTIyIHN5cy11dGlscy9zd2Fwb24uYzo3OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxzcGVjPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFs8c3BlYz5dXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTI1Cittc2dpZCAiRGlzYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9mZi5jOjEyOAorIywgZnV6enkKK21zZ2lkICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFsbCAgICAgICAgICAgICAg5YWo6YOo5YGc55So5Lqk5o+b5b6eL3Byb2Mv5Lqk5o+bXG4iCisiIC12LCAtLXZlcmJvc2UgICAgICAgICAg6Kmz57Sw5qih5byPXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb2ZmLmM6MTM0CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiAtVSA8dXVpZD4gICAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjxzcGVjPiDlj4PmlbjvvJpcbiIKKyIgLUw85qiZ6LK8PiAgICAgICAgICAgIOaomeiyvOeahOijnee9rueCuuS9v+eUqFxuIgorIiAtVTx1dWlkPiAgICAgICAgICAgICBVVUlEIOeahOijnee9rueCuuS9v+eUqFxuIgorIiDmqJnosrw9POaomeiyvD4gICAgICAgICDmqJnosrznmoToo53nva7ngrrkvb/nlKhcbiIKKyIgVVVJRD08dXVpZD4gICAgICAgICAgIFVVSUQg55qE6KOd572u54K65L2/55SoXG4iCisiPOijnee9rj4gICAgICAgICAgICAgIOWQjeeoseeahOijnee9rueCuuS9v+eUqFxuIgorIjzmqpTmoYg+ICAgICAgICAgICAgICAgIOWQjeeoseeahOaqlOahiOeCuuS9v+eUqFxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTYKKyMsIGZ1enp5Cittc2dpZCAiZGV2aWNlIGZpbGUgb3IgcGFydGl0aW9uIHBhdGgiCittc2dzdHIgIuijnee9ruaqlOahiOaIluWIhuWJsui3r+W+kSIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjk3CisjLCBmdXp6eQorbXNnaWQgInR5cGUgb2YgdGhlIGRldmljZSIKK21zZ3N0ciAi5Z6L5oWL55qE6KOd572uIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTgKKyMsIGZ1enp5Cittc2dpZCAic2l6ZSBvZiB0aGUgc3dhcCBhcmVhIgorbXNnc3RyICLlpKflsI/nmoTkuqTmj5vljYDln58iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo5OQorIywgZnV6enkKK21zZ2lkICJieXRlcyBpbiB1c2UiCittc2dzdHIgIuS9jeWFg+e1hOWcqOS4reS9v+eUqCIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMAorIywgZnV6enkKK21zZ2lkICJzd2FwIHByaW9yaXR5IgorbXNnc3RyICLkuqTmj5vlhKrlhYjmrIoiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoxMDEKK21zZ2lkICJzd2FwIHV1aWQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjEwMgorIywgZnV6enkKK21zZ2lkICJzd2FwIGxhYmVsIgorbXNnc3RyICLnhKHmqJnnsaTvvIwiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzoyNTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzXHRcdFx0XHRUeXBlXHRcdFNpemVcdFVzZWRcdFByaW9yaXR5XG4iCittc2dzdHIgIiVzXHRcdFx0XHTlnovmhYtcdFx05aSn5bCPXHTkvb/nlKhcdOWEquWFiOasilxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6MjUwCisjLCBmdXp6eQorbXNnaWQgIkZpbGVuYW1lIgorbXNnc3RyICLmqpTlkI0iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozMTYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIKK21zZ3N0ciAiJXPvvJrph43mlrDliJ3lp4vljJbkuqTmj5vljYDjgIIiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxzZWVrIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJpsc2VlayDlpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzozODYKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHdyaXRlIHNpZ25hdHVyZSBmYWlsZWQiCittc2dzdHIgIiVz77ya5a+r5YWl57C956ug5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iCittc2dzdHIgIiVz77ya6Lez6YGOIC0g55yL5L6G5Ly85LmO5pyJ5ryP5rSe44CCIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTQ4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBnZXQgc2l6ZSBmYWlsZWQiCittc2dzdHIgIiVz77ya5Y+W5b6X5aSn5bCP5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NTU0CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkIHN3YXAgaGVhZGVyIGZhaWxlZCIKK21zZ3N0ciAiJXPvvJroroDlj5bkuqTmj5vljYDpoIHpppblpLHmlZciCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NTkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmb3VuZCBzaWduYXR1cmUgW3BhZ2VzaXplPSVkLCBzaWduYXR1cmU9JXNdIgorbXNnc3RyICIlc++8muaJvuWIsOS6pOaPm+WNgOewveeroO+8mueJiOacrCAlZO+8jOmggemdouWkp+WwjyAlZO+8jCVzIOS9jeWFg+e1hOW6jyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlczogcGFnZXNpemU9JWQsIHN3YXBzaXplPSVsbHUsIGRldnNpemU9JWxsdSIKK21zZ3N0ciAiJXPvvJpwYWdlc2l6ZT0lZO+8jHN3YXBzaXplPSVsbHXvvIxkZXZzaXplPSVsbHUiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo1NzUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGxhc3RfcGFnZSAweCUwOGxseCBpcyBsYXJnZXIgdGhhbiBhY3R1YWwgc2l6ZSBvZiBzd2Fwc3BhY2UiCittc2dzdHIgIiVz77yabGFzdF9wYWdlIDB4JTA4bGx4IOWkp+aWvOWvpumam+eahOS6pOaPm+WNgOepuumWk+Wkp+WwjyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU4NQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIgorbXNnc3RyICIlc++8muS6pOaPm+WNgOagvOW8j+mggemdouWkp+Wwj+S4jeWQu+WQiOOAgiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjU5MQorIywgYy1mb3JtYXQKK21zZ2lkICIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guIChVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIgorbXNnc3RyICIlc++8muS6pOaPm+WNgOagvOW8j+mggemdouWkp+Wwj+S4jeWQu+WQiOOAgijkvb/nlKggLS1maXhwZ3N6IOS7pemHjeaWsOWIneWni+Wug+OAgikiCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2MDAKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHNvZnR3YXJlIHN1c3BlbmQgZGF0YSBkZXRlY3RlZC4gUmV3cml0aW5nIHRoZSBzd2FwIHNpZ25hdHVyZS4iCittc2dzdHIgIiVz77ya5YG15ris5Yiw6Luf6auU5oe4572u6LOH5paZ44CC6YeN5paw5a+r5YWl5Lqk5o+b5Y2A57C956ug44CCIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJzd2Fwb24gJXNcbiIKK21zZ3N0ciAic3dhcG9uICVzXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo2NzQKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IHN3YXBvbiBmYWlsZWQiCittc2dzdHIgIiVz77yac3dhcG9uIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vYXV0byBvcHRpb24gLS0gaWdub3JlZCIKK21zZ3N0ciAiJXPvvJrliZbmnpDpjK/oqqTmlrzliJcgJWQgLS0g5b+955WlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6NzY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogYWxyZWFkeSBhY3RpdmUgLS0gaWdub3JlZCIKK21zZ3N0ciAiJXPvvJrliZbmnpDpjK/oqqTmlrzliJcgJWQgLS0g5b+955WlIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6Nzc1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiCittc2dzdHIgIiVz77ya54Sh5rOV5a+r5YWlIGlub2RlcyIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjc5NworbXNnaWQgIkVuYWJsZSBkZXZpY2VzIGFuZCBmaWxlcyBmb3IgcGFnaW5nIGFuZCBzd2FwcGluZy5cbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAwCisjLCBmdXp6eQorbXNnaWQgIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgZW5hYmxlIGFsbCBzd2FwcyBmcm9tIC9ldGMvZnN0YWJcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg5YiX5Y2w5omA5pyJ56ym6Jmf77yM5Y2z5L2/6KiI5pW45pivIDBcbiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwMQorbXNnaWQgIiAtZCwgLS1kaXNjYXJkWz08cG9saWN5Pl0gZW5hYmxlIHN3YXAgZGlzY2FyZHMsIGlmIHN1cHBvcnRlZCBieSBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAyCittc2dpZCAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODAzCittc2dpZCAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgICByZWluaXRpYWxpemUgdGhlIHN3YXAgc3BhY2UgaWYgbmVjZXNzYXJ5XG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNAorbXNnaWQgIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICAgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygc3dhcCBvcHRpb25zXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwNQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcHJpb3JpdHkgPHByaW8+ICAgIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MDYKK21zZ2lkICIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA3Cittc2dpZCAiICAgICAtLXNob3dbPTxjb2x1bW5zPl0gICBkaXNwbGF5IHN1bW1hcnkgaW4gZGVmaW5hYmxlIHRhYmxlXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjgwOAorIywgZnV6enkKK21zZ2lkICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IHRhYmxlIGhlYWRpbmcgKHdpdGggLS1zaG93KVxuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODA5CisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODEwCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1ieXRlcyAgICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorbXNnc3RyICIgLWggICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODExCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6ODE2CisjLCBmdXp6eQorbXNnaWQgIiIKKyJcbiIKKyJUaGUgPHNwZWM+IHBhcmFtZXRlcjpcbiIKKyIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisiIC1VIDx1dWlkPiAgICAgICAgICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKyIgTEFCRUw9PGxhYmVsPiAgICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHN3YXAgYXJlYSBsYWJlbFxuIgorIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKyIgUEFSVExBQkVMPTxsYWJlbD4gICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBsYWJlbFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIFVVSURcbiIKKyIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisiIDxmaWxlPiAgICAgICAgICAgICAgICAgbmFtZSBvZiBmaWxlIHRvIGJlIHVzZWRcbiIKK21zZ3N0ciAiIgorIlxuIgorIjxzcGVjPiDlj4PmlbjvvJpcbiIKKyIgLUw85qiZ6LK8PiAgICAgICAgICAgIOWQjOe+qeWtl+eUqOaWvOaomeiyvD085qiZ6LK8PlxuIgorIiAtVTx1dWlkPiAgICAgICAgICAgICDlkIznvqnlrZfnlKjmlrwgVVVJRD08dXVpZD5cbiIKKyIg5qiZ6LK8PTzmqJnosrw+ICAgICAgICAg5oyH5a6a6KOd572u55Sx5Lqk5o+b5Y2A5Z+f5qiZ6LK8XG4iCisiIFVVSUQ9PHV1aWQ+ICAgICAgICAgICDmjIflrproo53nva7nlLHkuqTmj5vljYDln58gVVVJRFxuIgorIiBQQVJUTEFCRUw9POaomeiyvD4gICAgIOaMh+Wumuijnee9rueUseWIhuWJsuaomeiyvFxuIgorIiBQQVJUVVVJRD08dXVpZD4gICAgICAg5oyH5a6a6KOd572u55Sx5YiG5YmyIFVVSURcbiIKKyI86KOd572uPiAgICAgICAgICAgICAg5ZCN56ix55qE6KOd572u54K65L2/55SoXG4iCisiPOaqlOahiD4gICAgICAgICAgICAgICAg5ZCN56ix55qE5qqU5qGI54K65L2/55SoXG4iCisKKyM6IHN5cy11dGlscy9zd2Fwb24uYzo4MjYKK21zZ2lkICIiCisiXG4iCisiQXZhaWxhYmxlIGRpc2NhcmQgcG9saWN5IHR5cGVzIChmb3IgLS1kaXNjYXJkKTpcbiIKKyIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisiIHBhZ2VzICAgOiBmcmVlZCBwYWdlcyBhcmUgZGlzY2FyZGVkIGJlZm9yZSB0aGV5IGFyZSByZXVzZWRcbiIKKyJJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIGJvdGggZGlzY2FyZCB0eXBlcyBhcmUgZW5hYmxlZCAoZGVmYXVsdCkuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3YXBvbi5jOjkwOQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgcHJpb3JpdHkiCittc2dzdHIgIuWJluaekCBwaWQg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLmM6OTI4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBkaXNjYXJkIHBvbGljeTogJXMiCittc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjOiBzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jOjczCisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIgorbXNnc3RyICLmib7kuI3liLDlgZrngrogJXMg55qE6KOd572uIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo2MAorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gb3BlbiBkaXJlY3RvcnkiCittc2dzdHIgIumWi+WVn+ebrumMhOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6NjgKKyMsIGZ1enp5Cittc2dpZCAic3RhdCBmYWlsZWQiCittc2dzdHIgInN0YXQg5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzo3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcmVhZCBkaXJlY3RvcnkiCittc2dzdHIgIuiugOWPluebrumMhOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTE2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gdW5saW5rICVzIgorbXNnc3RyICLlj5bmtojpgKPntZAgJXMg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiCittc2dzdHIgIuaOm+i8ieenu+WLlSAlcyDliLAgJXMg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZvcmNpbmcgdW5tb3VudCBvZiAlcyIKK21zZ3N0ciAi5by35Yi25Y246LyJ55qEICVzIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNjEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBjaGFuZ2UgZGlyZWN0b3J5IHRvICVzIgorbXNnc3RyICLorormm7Tnm67pjITliLAgJXMg5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYzoxNzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gLyIKK21zZ3N0ciAi5o6b6LyJ56e75YuVICVzIOWIsOaZguWkseaVly8iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjE3OQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gY2hhbmdlIHJvb3QiCittc2dzdHIgIuiuiuabtOagueaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MTkyCittc2dpZCAib2xkIHJvb3QgZmlsZXN5c3RlbSBpcyBub3QgYW4gaW5pdHJhbWZzIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwNQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8bmV3cm9vdGRpcj4gPGluaXQ+IDxhcmdzIHRvIGluaXQ+XG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSA8bmV3cm9vdGRpcj48aW5pdD485byV5pW45YiwIGluaXQ+XG4iCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjIwOQorbXNnaWQgIlN3aXRjaCB0byBhbm90aGVyIGZpbGVzeXN0ZW0gYXMgdGhlIHJvb3Qgb2YgdGhlIG1vdW50IHRyZWUuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3N3aXRjaF9yb290LmM6MjU1CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZC4gU29ycnkuIgorbXNnc3RyICLlpLHmlZfjgILmirHmrYnjgIIiCisKKyM6IHN5cy11dGlscy9zd2l0Y2hfcm9vdC5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiY2Fubm90IGFjY2VzcyAlcyIKK21zZ3N0ciAi54Sh5rOV5a2Y5Y+WICVzIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6OTgKK21zZ2lkICJTZXQgdmFyaW91cyBwYXJhbWV0ZXJzIGZvciB0aGUgbGluZSBwcmludGVyLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIKK21zZ3N0ciAiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAg6amF5YuV56iL5byP562J5b6F5pmC6ZaT5Zyo5Lit5q+r56eSXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMDMKKyMsIGZ1enp5Cittc2dpZCAiIC1jLCAtLWNoYXJzIDxudW0+ICAgICAgICAgICAgbnVtYmVyIG9mIG91dHB1dCBjaGFyYWN0ZXJzIGJlZm9yZSBzbGVlcFxuIgorbXNnc3RyICIgLWMsIC0tY2hhcnMgPG51bT4gICAgICAgICAgICDovLjlh7rlrZflhYPmlbjnmoTkuYvliY3mmqvlgZxcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwNAorIywgZnV6enkKK21zZ2lkICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUgd2FpdCBpbiBtaWNybyBzZWNvbmRzXG4iCittc2dzdHIgIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSDnrYnlvoXlnKjkuK0gbWljcm8g56eSXG4iCisKKyMuIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisjLiBhcmd1bWVudCByZWFkZXIgZG9lcyBub3QgcmVjb2duaXplIGxvY2FsZSwgdW5sZXNzIGBvbicgaXMKKyMuIGV4YWN0bHkgdGhhdCB2ZXJ5IHNhbWUgc3RyaW5nLgorIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICBhYm9ydCBvbiBlcnJvclxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICDmlL7mo4TmlrzpjK/oqqRcbiIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjEwOQorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tY2hlY2stc3RhdHVzIDxvbnxvZmY+ICBjaGVjayBwcmludGVyIHN0YXR1cyBiZWZvcmUgcHJpbnRpbmdcbiIKK21zZ3N0ciAiIC1vLCAtLWNoZWNrLXN0YXR1cyA8b258b2ZmPiAg5qqi5p+l5Y2w6KGo5qmf54uA5oWL5LmL5YmN5YiX5Y2wXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoxMTAKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iCittc2dzdHIgIiAtQywgLS1jYXJlZnVsIDxvbnxvZmY+ICAgICAgIOmhjeWkluaqouafpeWIsOeLgOaFi+aqouafpVxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTExCisjLCBmdXp6eQorbXNnaWQgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIHF1ZXJ5IHByaW50ZXIgc3RhdHVzXG4iCittc2dzdHIgIiAtcywgLS1zdGF0dXMgICAgICAgICAgICAgICAgIOafpeipouWNsOihqOapn+eLgOaFi1xuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEyCisjLCBmdXp6eQorbXNnaWQgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIHJlc2V0IHRoZSBwb3J0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MTEzCisjLCBmdXp6eQorbXNnaWQgIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIgorbXNnc3RyICIgLXEsIC0tcHJpbnQtaXJxIDxvbnxvZmY+ICAgICDpoa/npLrnm67liY3nmoQgaXJxIOioreWumlxuIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MjU5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlcyBub3QgYW4gbHAgZGV2aWNlIgorbXNnc3RyICIlcyDkuI3mmK8gbHAg6KOd572uIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6Mjc4Cittc2dpZCAiTFBHRVRTVEFUVVMgZXJyb3IiCittc2dzdHIgIkxQR0VUU1RBVFVTIOmMr+iqpCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4MworIywgYy1mb3JtYXQKK21zZ2lkICIlcyBzdGF0dXMgaXMgJWQiCittc2dzdHIgIiVzIOeLgOaFi+eCuiAlZCIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NQorIywgYy1mb3JtYXQKK21zZ2lkICIsIGJ1c3kiCittc2dzdHIgIu+8jOW/meeijOS4rSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI4NworIywgYy1mb3JtYXQKK21zZ2lkICIsIHJlYWR5IgorbXNnc3RyICLvvIzlsLHnt5IiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyODkKKyMsIGMtZm9ybWF0Cittc2dpZCAiLCBvdXQgb2YgcGFwZXIiCittc2dzdHIgIu+8jOe0meW8teiAl+eboSIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MQorIywgYy1mb3JtYXQKK21zZ2lkICIsIG9uLWxpbmUiCittc2dzdHIgIu+8jOS4iue3miIKKworIzogc3lzLXV0aWxzL3R1bmVscC5jOjI5MworIywgYy1mb3JtYXQKK21zZ2lkICIsIGVycm9yIgorbXNnc3RyICLvvIzpjK/oqqQiCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzoyOTgKKyMsIGZ1enp5Cittc2dpZCAiaW9jdGwgZmFpbGVkIgorbXNnc3RyICJpb2N0bCDlpLHmlZciCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMDgKK21zZ2lkICJMUEdFVElSUSBlcnJvciIKK21zZ3N0ciAiTFBHRVRJUlEg6Yyv6KqkIgorCisjOiBzeXMtdXRpbHMvdHVuZWxwLmM6MzEzCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzIHVzaW5nIElSUSAlZFxuIgorbXNnc3RyICIlcyDmraPlnKjkvb/nlKggSVJRICVkXG4iCisKKyM6IHN5cy11dGlscy90dW5lbHAuYzozMTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXMgdXNpbmcgcG9sbGluZ1xuIgorbXNnc3RyICIlcyDmraPlnKjkvb/nlKjovKroqaJcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBbb3B0aW9uc11cbiIKKyIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gfCA8ZGlyZWN0b3J5PlxuIgorbXNnc3RyICIiCisiICUxJHMgWy1oVl1cbiIKKyIgJTEkcyAtYSBb6YG46aCFXVxuIgorIiAlMSRzIFvpgbjpoIVdIDxzb3VyY2U+fDznm67pjIQ+XG4iCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4NQorIywgZnV6enkKK21zZ2lkICJVbm1vdW50IGZpbGVzeXN0ZW1zLlxuIgorbXNnc3RyICLmqpTmoYjns7vntbHlnovmhYsiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo4OAorIywgZnV6enkKK21zZ2lkICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAg5YiX5Y2w5omA5pyJ56ym6Jmf77yM5Y2z5L2/6KiI5pW45pivIDBcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjg5Cittc2dpZCAiIgorIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKyIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5MQorbXNnaWQgIiAtYywgLS1uby1jYW5vbmljYWxpemUgICBkb24ndCBjYW5vbmljYWxpemUgcGF0aHNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTIKK21zZ2lkICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAgaWYgbW91bnRlZCBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcCBkZXZpY2VcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTMKK21zZ2lkICIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTQKK21zZ2lkICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgZm9yY2UgdW5tb3VudCAoaW4gY2FzZSBvZiBhbiB1bnJlYWNoYWJsZSBORlMgc3lzdGVtKVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzo5NQorbXNnaWQgIiAtaSwgLS1pbnRlcm5hbC1vbmx5ICAgICBkb24ndCBjYWxsIHRoZSB1bW91bnQuPHR5cGU+IGhlbHBlcnNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTcKKyMsIGZ1enp5Cittc2dpZCAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIGRldGFjaCB0aGUgZmlsZXN5c3RlbSBub3csIGNsZWFuIHVwIHRoaW5ncyBsYXRlclxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6OTgKK21zZ2lkICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjk5Cittc2dpZCAiIC1SLCAtLXJlY3Vyc2l2ZSAgICAgICAgIHJlY3Vyc2l2ZWx5IHVubW91bnQgYSB0YXJnZXQgd2l0aCBhbGwgaXRzIGNoaWxkcmVuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgaW4gY2FzZSB1bm1vdW50aW5nIGZhaWxzLCB0cnkgdG8gcmVtb3VudCByZWFkLW9ubHlcbiIKK21zZ3N0ciAiIC1zICAtLXNoYXJlZCAgICAgICAgICAgICDmj5Dlj5blhbHkuqvnmoTpjpblrppcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjEwMQorIywgZnV6enkKK21zZ2lkICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtIHR5cGVzXG4iCittc2dzdHIgIiAgIGwgICDliJflh7rlt7Lnn6XmqpTmoYjns7vntbHpoZ7lnosiCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoxNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICglcykgdW5tb3VudGVkIgorbXNnc3RyICIlcyDooqvmjpvovIlcbiIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjE0NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgdW5tb3VudGVkIgorbXNnc3RyICIlc++8mueEoeazleaOm+i8iSIKKworIzogc3lzLXV0aWxzL3Vtb3VudC5jOjIwNworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gc2V0IHVtb3VudCB0YXJnZXQiCittc2dzdHIgIuioreWumiB1bW91bnQg55uu5qiZ5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjIzCisjLCBmdXp6eQorbXNnaWQgImxpYm1vdW50IHRhYmxlIGFsbG9jYXRpb24gZmFpbGVkIgorbXNnc3RyICJsaWJtb3VudCDoqp7looPphY3poY3lpLHmlZciCisKKyM6IHN5cy11dGlscy91bW91bnQuYzoyNjYgc3lzLXV0aWxzL3Vtb3VudC5jOjM0NgorIywgZnV6enkKK21zZ2lkICJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIKK21zZ3N0ciAibGlibW91bnQg6Kqe5aKD6YWN6aGN5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MjcyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gZ2V0IGNoaWxkIGZzIG9mICVzIgorbXNnc3RyICLmj5Dlj5boiIrnmoQgJXMg6ZmQ5Yi25pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzEwIHN5cy11dGlscy91bW91bnQuYzozMzMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBub3QgZm91bmQiCittc2dzdHIgIiVz77ya5om+5LiN5YiwIgorCisjOiBzeXMtdXRpbHMvdW1vdW50LmM6MzQwCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAoLS1hbGwtdGFyZ2V0cyBpcyB1bnN1cHBvcnRlZCBvbiBzeXN0ZW1zIHdpdGggcmVndWxhciBtdGFiIGZpbGUpLiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCAtLXNldGdyb3VwcyBhcmd1bWVudCAnJXMnIgorbXNnc3RyICLkuI3lj5fmlK/mj7TnmoTlvJXmlbjvvJolcyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMTIgc3lzLXV0aWxzL3Vuc2hhcmUuYzoxMjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndyaXRlIGZhaWxlZCAlcyIKK21zZ3N0ciAi5a+r5YWl5aSx5pWX77yaJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTUwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bnN1cHBvcnRlZCBwcm9wYWdhdGlvbiBtb2RlOiAlcyIKK21zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5byV5pW477yaJXMiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MTU5CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBjaGFuZ2Ugcm9vdCBmaWxlc3lzdGVtIHByb3BhZ2F0aW9uIgorbXNnc3RyICLmqqLmn6XmiYDmnInmqpTmoYjns7vntbHjgIJcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoxOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIm1vdW50ICVzIG9uICVzIGZhaWxlZCIKK21zZ3N0ciAi5o6b6LyJICVzIOaWvCAlcyDlpLHmlZciCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgc3RhdCAlcyIKK21zZ3N0ciAi54Sh5rOV6K2Y5Yil44CMJXPjgI3ni4DmhYsiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgInBpcGUgZmFpbGVkIgorbXNnc3RyICJvcGVucHR5IOWkseaVlyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyMjkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgcGlwZSIKK21zZ3N0ciAi6K6A5Y+W6YCf5bqm5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1MgorbXNnaWQgIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU1CisjLCBmdXp6eQorbXNnaWQgIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU2CisjLCBmdXp6eQorbXNnaWQgIiAtdSwgLS11dHNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU3CisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1pcGNbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorbXNnc3RyICIgLXMsIC0tc3BlZWQgPHZhbHVlPiAgICAg6Kit5a6a5bqP5YiX57ea6Lev6YCf5bqmXG4iCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjU4CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIOioreWumuW6j+WIl+e3mui3r+mAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI1OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tcGlkWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIHBpZCBuYW1lc3BhY2VcbiIKK21zZ3N0ciAiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIOioreWumuW6j+WIl+e3mui3r+mAn+W6plxuIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2MAorIywgZnV6enkKK21zZ2lkICIgLVUsIC0tdXNlcls9PGZpbGU+XSAgICAgICB1bnNoYXJlIHVzZXIgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjEKKyMsIGZ1enp5Cittc2dpZCAiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iCittc2dzdHIgIiAtcywgLS1zcGVlZCA8dmFsdWU+ICAgICDoqK3lrprluo/liJfnt5rot6/pgJ/luqZcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjIKKyMsIGZ1enp5Cittc2dpZCAiIC1mLCAtLWZvcmsgICAgICAgICAgICAgICAgZm9yayBiZWZvcmUgbGF1bmNoaW5nIDxwcm9ncmFtPlxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDph43nva7pgJroqIrln6BcbiIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzoyNjMKK21zZ2lkICIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NAorbXNnaWQgIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY1Cittc2dpZCAiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjI2NgorbXNnaWQgIiIKKyIgICAgIC0tcHJvcGFnYXRpb24gc2xhdmV8c2hhcmVkfHByaXZhdGV8dW5jaGFuZ2VkXG4iCisiICAgICAgICAgICAgICAgICAgICAgICAgICAgbW9kaWZ5IG1vdW50IHByb3BhZ2F0aW9uIGluIG1vdW50IG5hbWVzcGFjZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6MjY4Cittc2dpZCAiIC1zLCAtLXNldGdyb3VwcyBhbGxvd3xkZW55ICBjb250cm9sIHRoZSBzZXRncm91cHMgc3lzY2FsbCBpbiB1c2VyIG5hbWVzcGFjZXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvdW5zaGFyZS5jOjQwMQorbXNnaWQgInVuc2hhcmUgZmFpbGVkIgorbXNnc3RyICJ1bnNoYXJlIOWkseaVlyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NDUKKyMsIGZ1enp5Cittc2dpZCAiY2hpbGQgZXhpdCBmYWlsZWQiCittc2dzdHIgIuitmOWIpeiZn+WkseaVlyIKKworIzogc3lzLXV0aWxzL3Vuc2hhcmUuYzo0NTQKKyMsIGZ1enp5Cittc2dpZCAib3B0aW9ucyAtLXNldGdyb3Vwcz1hbGxvdyBhbmQgLS1tYXAtcm9vdC11c2VyIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiCittc2dzdHIgIumBuOmghSAtLXBpZCDlkozlkb3ku6TlvbzmraTkupLmlqUiCisKKyM6IHN5cy11dGlscy91bnNoYXJlLmM6NDc0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJtb3VudCAlcyBmYWlsZWQiCittc2dzdHIgIuaOm+i8ieWkseaVlyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzMKKyMsIGZ1enp5Cittc2dpZCAiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiCittc2dzdHIgIuWNoeWcqOS5i+WJjemHjee9riBDUFUiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjc0CisjLCBmdXp6eQorbXNnaWQgIkV4dGVybmFsIHJlbGF5IDEiCittc2dzdHIgIuWklumDqOS4ree5vCAxIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NQorIywgZnV6enkKK21zZ2lkICJFeHRlcm5hbCByZWxheSAyIgorbXNnc3RyICLlpJbpg6jkuK3nubwgMiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzYKKyMsIGZ1enp5Cittc2dpZCAiRmFuIGZhaWxlZCIKK21zZ3N0ciAi5b2x6L+35aSx5pWXIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3NworIywgZnV6enkKK21zZ2lkICJLZWVwIGFsaXZlIHBpbmcgcmVwbHkiCittc2dzdHIgIuS/neaMgea0u+WLleeLgOaFiyBwaW5nIOWbnuimhiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NzgKKyMsIGZ1enp5Cittc2dpZCAiU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciIKK21zZ3N0ciAi5pSv5o+06a2U6KGT6Zec6ZaJ5a2X5YWDIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo3OQorIywgZnV6enkKK21zZ2lkICJSZXNldCBkdWUgdG8gQ1BVIG92ZXJoZWF0IgorbXNnc3RyICLph43nva7nlLHmlrwgQ1BVIG92ZXJoZWF0IgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MAorIywgZnV6enkKK21zZ2lkICJQb3dlciBvdmVyIHZvbHRhZ2UiCittc2dzdHIgIuS5mOWGquS5i+S4iiB2b2x0YWdlIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJQb3dlciBiYWQvcG93ZXIgZmF1bHQiCittc2dzdHIgIuS5mOWGquS4jeeVtueahC/kuZjlhqrlpLHoqqQiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjgyCisjLCBmdXp6eQorbXNnaWQgIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIgorbXNnc3RyICJQcmV0aW1lb3V0ICjnmoTnp5LmlbgpIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo4MworIywgZnV6enkKK21zZ2lkICJTZXQgdGltZW91dCAoaW4gc2Vjb25kcykiCittc2dzdHIgIuioreWumumAvuaZgiAo55qE56eS5pW4KSIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6ODQKK21zZ2lkICJOb3QgdHJpZ2dlciByZWJvb3QiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAwCisjLCBmdXp6eQorbXNnaWQgImZsYWcgbmFtZSIKK21zZ3N0ciAi5peX5qiZ5ZCN56ixIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDEKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBkZXNjcmlwdGlvbiIKK21zZ3N0ciAi5peX5qiZ5o+P6L+wIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoxMDIKKyMsIGZ1enp5Cittc2dpZCAiZmxhZyBzdGF0dXMiCittc2dzdHIgIuaXl+aomeeLgOaFiyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTAzCisjLCBmdXp6eQorbXNnaWQgImZsYWcgYm9vdCBzdGF0dXMiCittc2dzdHIgIuaXl+aomemWi+apn+eLgOaFiyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTA0CisjLCBmdXp6eQorbXNnaWQgIndhdGNoZG9nIGRldmljZSBuYW1lIgorbXNnc3RyICLnm6PoppbnqIvlvI/oo53nva7lkI3nqLEiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjEzOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidW5rbm93biBmbGFnOiAlcyIKK21zZ3N0ciAi5LiN5piO5peX5qiZ77yaJXMiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjE3OAorbXNnaWQgIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTgxCisjLCBmdXp6eQorbXNnaWQgIiIKKyIgLWYsIC0tZmxhZ3MgPGxpc3Q+ICAgICBwcmludCBzZWxlY3RlZCBmbGFncyBvbmx5XG4iCisiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKyIgLUksIC0tbm9pZGVudCAgICAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyBpZGVudGl0eSBpbmZvcm1hdGlvblxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciBmbGFncyB0YWJsZVxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIG91dHB1dCBjb2x1bW5zIG9mIHRoZSBmbGFnc1xuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdCBmb3IgZmxhZ3MgdGFibGVcbiIKKyIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorIiAtcywgLS1zZXR0aW1lb3V0IDxzZWM+IHNldCB3YXRjaGRvZyB0aW1lb3V0XG4iCisiIC14LCAtLWZsYWdzLW9ubHkgICAgICAgcHJpbnQgb25seSBmbGFncyB0YWJsZSAoc2FtZSBhcyAtSSAtVClcbiIKK21zZ3N0ciAiIgorIiAtZiwgLS1mbGFncyA8bGlzdD4gICAgIOWIl+WNsOW3sumBuOaXl+aomeWPquaciVxuIgorIiAtRiwgLS1ub2ZsYWdzICAgICAgICAgIOS4jeWIl+WNsOebuOmXnOizh+ioiuaXl+aomVxuIgorIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIOS4jeWIl+WNsOebo+imlueoi+W8j+i6q+WIhuizh+ioilxuIgorIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeWIl+WNsOaomemgreeUqOaWvOaXl+aomeihqOagvFxuIgorIiAtTywgLS1vbmVsaW5lICAgICAgICAgIOWIl+WNsOaJgOacieizh+ioiuaWvOS4gOWAi+WIl1xuIgorIiAtbywgLS1vdXRwdXQ85riF5ZauPiAgIOi8uOWHuuashOS9jeeahOaXl+aomVxuIgorIiAtciwgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+Wni+i8uOWHuuagvOW8j+eUqOaWvOaXl+aomeihqOagvFxuIgorIiAtVCwgLS1ub3RpbWVvdXRzICAgICAgIOS4jeWIl+WNsOebo+imlueoi+W8j+mAvuaZglxuIgorIiAtcywgLS1zZXR0aW1lb3V0PHNlYz7oqK3lrprnm6PoppbnqIvlvI/pgL7mmYJcbiIKKyIgLXgsIC0tZmxhZ3Mtb25seSAgICAgICDliJfljbDlj6rmnInml5fmqJnooajmoLwgKOWmguWQjCAtSSAtVClcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MTk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaGUgZGVmYXVsdCBkZXZpY2UgaXMgJXMuXG4iCittc2dzdHIgIumgkOioreijnee9ruaYryAlc+OAglxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzoyOTAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIKK21zZ3N0ciAiJXPvvJrkuI3mmI7ml5fmqJkgMHgleFxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozMjAgc3lzLXV0aWxzL3dkY3RsLmM6Mzc2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogd2F0Y2hkb2cgYWxyZWFkeSBpbiB1c2UsIHRlcm1pbmF0aW5nLiIKK21zZ3N0ciAiJXPvvJrnm6PoppbnqIvlvI/lt7LlnKjkvb/nlKjkuK3vvIzntYLmraLjgIIiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjMzNCBzeXMtdXRpbHMvd2RjdGwuYzo0MDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZGlzYXJtIHdhdGNoZG9nIgorbXNnc3RyICIlc++8mueEoeazlSBkaXNhcm0g55uj6KaW56iL5byPIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzozNDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBzZXQgdGltZW91dCBmb3IgJXMiCittc2dzdHIgIueEoeazleioreWumumAvuaZgueUqOaWvCAlcyIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzQ5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJUaW1lb3V0IGhhcyBiZWVuIHNldCB0byAlZCBzZWNvbmQuXG4iCittc2dpZF9wbHVyYWwgIlRpbWVvdXQgaGFzIGJlZW4gc2V0IHRvICVkIHNlY29uZHMuXG4iCittc2dzdHJbMF0gIuW+nuacgOW+jOS4gOasoeiqv+aVtOW+jOe2k+mBjueahOaZgumWk+eCuiAlZCDnp5JcbiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6MzgzCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIGdldCBpbmZvcm1hdGlvbiBhYm91dCB3YXRjaGRvZyIKK21zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5bnm7jpl5zos4foqIrnm6PoppbnqIvlvI8iCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ2NSBzeXMtdXRpbHMvd2RjdGwuYzo0Njggc3lzLXV0aWxzL3dkY3RsLmM6NDcxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlLTE0cyAlMmkgc2Vjb25kXG4iCittc2dpZF9wbHVyYWwgIiUtMTRzICUyaSBzZWNvbmRzXG4iCittc2dzdHJbMF0gIiUtMTVzJTJpIOenklxuIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo0NjYKKyMsIGZ1enp5Cittc2dpZCAiVGltZW91dDoiCittc2dzdHIgIumAvuaZgu+8miIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NDY5CisjLCBmdXp6eQorbXNnaWQgIlByZS10aW1lb3V0OiIKK21zZ3N0ciAiUHJlLXRpbWVvdXTvvJoiCisKKyM6IHN5cy11dGlscy93ZGN0bC5jOjQ3MgorIywgZnV6enkKK21zZ2lkICJUaW1lbGVmdDoiCittc2dzdHIgIlRpbWVsZWZ077yaIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDQKKyMsIGZ1enp5Cittc2dpZCAiRGV2aWNlOiIKK21zZ3N0ciAi6KOd572u77yaIgorCisjOiBzeXMtdXRpbHMvd2RjdGwuYzo2MDYKK21zZ2lkICJJZGVudGl0eToiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3dkY3RsLmM6NjA4Cittc2dpZCAidmVyc2lvbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjc1CisjLCBmdXp6eQorbXNnaWQgInpyYW0gZGV2aWNlIG5hbWUiCittc2dzdHIgIuijnee9ruWQjeeosSIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NgorbXNnaWQgImxpbWl0IG9uIHRoZSB1bmNvbXByZXNzZWQgYW1vdW50IG9mIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3NworbXNnaWQgInVuY29tcHJlc3NlZCBzaXplIG9mIHN0b3JlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzgKK21zZ2lkICJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3OQorbXNnaWQgInRoZSBzZWxlY3RlZCBjb21wcmVzc2lvbiBhbGdvcml0aG0iCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MAorbXNnaWQgIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MQorIywgZnV6enkKK21zZ2lkICJlbXB0eSBwYWdlcyB3aXRoIG5vIGFsbG9jYXRlZCBtZW1vcnkiCittc2dzdHIgIumFjee9ruiomOaGtumrlOaZguWkseaVlyIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo4MgorbXNnaWQgImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjgzCittc2dpZCAibWVtb3J5IGxpbWl0IHVzZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODQKK21zZ2lkICJtZW1vcnkgenJhbSBoYXZlIGJlZW4gY29uc3VtZWQgdG8gc3RvcmUgY29tcHJlc3NlZCBkYXRhIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6ODUKK21zZ2lkICJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6Mzc2CisjLCBmdXp6eQorbXNnaWQgIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IgorbXNnc3RyICLliZbmnpDplovlp4vmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKyIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIKK21zZ3N0ciAiIgorIiAlMSRzIFvpgbjpoIVdIFs8bG9vcGRldj5dXG4iCisiICUxJHMgW+mBuOmghV0gLWZ8PGxvb3BkZXY+POaqlOahiD5cbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1MzgKK21zZ2lkICJTZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzLlxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQxCittc2dpZCAiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQyCisjLCBmdXp6eQorbXNnaWQgIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgIHByaW50IHNpemVzIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGh1bWFuIHJlYWRhYmxlIGZvcm1hdFxuIgorbXNnc3RyICIgLWQsIC0tZGVidWcgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6KiK5oGv5Yiw5qiZ5rqW5YuY6KqkXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQzCisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgIGZpbmQgYSBmcmVlIGRldmljZVxuIgorbXNnc3RyICIgLWEsIC0tYWxsICAgICAg5p+l6Kmi5omA5pyJ5Y6f5aeL6KOd572uXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ0CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ1CisjLCBmdXp6eQorbXNnaWQgIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgICAgIGNvbHVtbnMgdG8gdXNlIGZvciBzdGF0dXMgb3V0cHV0XG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NgorIywgZnV6enkKK21zZ2lkICIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjU0NworIywgZnV6enkKK21zZ2lkICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAg6YeN572u5omA5pyJ6KiI5pW45ZmoICjlj6rpmZAgcm9vdClcbiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo1NDgKKyMsIGZ1enp5Cittc2dpZCAiIC1zLCAtLXNpemUgPHNpemU+ICAgICAgICAgZGV2aWNlIHNpemVcbiIKK21zZ3N0ciAiIC1vLCAtLW9mZmljZSA8b2ZmaWNlPiAgICAgICAg6L6m5YWs5a6k5pW45a2XXG4iCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NTQ5Cittc2dpZCAiIC10LCAtLXN0cmVhbXMgPG51bWJlcj4gICAgbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXNcbiIKK21zZ3N0ciAiIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjYzMworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2Ugc3RyZWFtcyIKK21zZ3N0ciAi5YmW5p6Q6ZaL5aeL5pmC5aSx5pWXIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY1NQorIywgZnV6enkKK21zZ2lkICJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSB3aXRoIDxkZXZpY2U+IgorbXNnc3RyICLpgbjpoIUgLS1waWQg5ZKM5ZG95Luk5b285q2k5LqS5palIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjY2MQorbXNnaWQgIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIgorbXNnc3RyICIiCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NjY0Cittc2dpZCAib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zIG11c3QgYmUgY29tYmluZWQgd2l0aCAtLXNpemUiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo2OTQgc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gcmVzZXQiCittc2dzdHIgIiVz77ya54Sh5rOV5YmW5p6QIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjcwNSBzeXMtdXRpbHMvenJhbWN0bC5jOjcxMworbXNnaWQgIm5vIGZyZWUgenJhbSBkZXZpY2UgZm91bmQiCittc2dzdHIgIiIKKworIzogc3lzLXV0aWxzL3pyYW1jdGwuYzo3MjcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IG51bWJlciBvZiBzdHJlYW1zIgorbXNnc3RyICLliZbmnpDliJfomZ/nmoTmmYLlpLHmlZciCisKKyM6IHN5cy11dGlscy96cmFtY3RsLmM6NzMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogZmFpbGVkIHRvIHNldCBhbGdvcml0aG0iCittc2dzdHIgIiVz77ya54Sh5rOV6Kit5a6a5LiK5LiA5q2l5qqU5qGIIgorCisjOiBzeXMtdXRpbHMvenJhbWN0bC5jOjczNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiCittc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+WIHdob2xlLWRpc2sg6KOd572u57eo6JmfIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjQ3MAorIywgYy1mb3JtYXQKK21zZ2lkICIlcyVzIChhdXRvbWF0aWMgbG9naW4pXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo1MjYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIgorbXNnc3RyICIlc++8mueEoeazleiuiuabtOagueebrumMhCAlc++8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjUyOQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXM6IGNhbid0IGNoYW5nZSB3b3JraW5nIGRpcmVjdG9yeSAlczogJW0iCittc2dzdHIgIiVz77ya54Sh5rOV6K6K5pu05bel5L2c55uu6YyEICVz77yaJW0iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NTMyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgY2hhbmdlIHByb2Nlc3MgcHJpb3JpdHk6ICVtIgorbXNnc3RyICIlc++8mueEoeazleiuiuabtOiZleeQhuWEquWFiOasiu+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU0MworIywgYy1mb3JtYXQKK21zZ2lkICIlczogY2FuJ3QgZXhlYyAlczogJW0iCittc2dzdHIgIiVz77ya54Sh5rOVIGV4ZWMgJXM6ICVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjU3NCB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwMSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0MTkKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQzNyB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE0NzQgdGVybS11dGlscy9hZ2V0dHkuYzoxNDg0CisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE1MjYgdGVybS11dGlscy9hZ2V0dHkuYzoyMDkzIHRlcm0tdXRpbHMvYWdldHR5LmM6MjY1NQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iCittc2dzdHIgIumFjee9ruiomOaGtumrlOaZguWkseaVl++8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjY2NAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgZnJvbSAlcyIKK21zZ3N0ciAiJXMg5L6G6IeqICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6NzQ4CisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZGVsYXkgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOWJjeerr+W8leaVuCIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo3ODYKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBhcmd1bWVudCBvZiAtLWxvY2FsLWxpbmUiCittc2dzdHIgIueEoeaViOeahOW8leaVuOWIsCAtLWF1dG8gLy1hIOmBuOmghSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzo4MDUKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBuaWNlIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTmmYLplpPlvJXmlbgiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6OTA2CisjLCBjLWZvcm1hdAorbXNnaWQgImJhZCBzcGVlZDogJXMiCittc2dzdHIgIuS4jeeVtueahOmAn+W6pu+8miVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjkwOAorbXNnaWQgInRvbyBtYW55IGFsdGVybmF0ZSBzcGVlZHMiCittc2dzdHIgIuWkquWkmuS6pOabv+mAn+W6piIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDE1IHRlcm0tdXRpbHMvYWdldHR5LmM6MTAxOSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwNzIKKyMsIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIgorbXNnc3RyICIvZGV2LyVzOiDnhKHms5XplovllZ/ngrrmqJnmupbovLjlhaXvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDM4CisjLCBjLWZvcm1hdAorbXNnaWQgIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiCittc2dzdHIgIi9kZXYvJXM6IOS4jeaYr+Wtl+WFg+ijnee9riIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiBub3QgYSB0dHkiCittc2dzdHIgIiVz77ya5LiN5pivIHR0eSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDQ0IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIgorbXNnc3RyICIvZGV2LyVzOiDnhKHms5XplovllZ/ngrrmqJnmupbovLjlhaXvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMDY2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIvZGV2LyVzOiB2aGFuZ3VwKCkgZmFpbGVkOiAlbSIKK21zZ3N0ciAiJXPvvJpjYWxsb2MoKSDlpLHmlZfvvJolc1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEwODcKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IG5vdCBvcGVuIGZvciByZWFkL3dyaXRlIgorbXNnc3RyICIlc++8mueEoeazlemWi+WVn+eUqOaWvOiugOWPli/lr6vlhaUiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTA5MgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiL2Rldi8lczogY2Fubm90IHNldCBwcm9jZXNzIGdyb3VwOiAlbSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xorormm7TomZXnkIblhKrlhYjmrIrvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxMTA2CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBkdXAgcHJvYmxlbTogJW0iCittc2dzdHIgIiVz77yaZHVwIOWVj+mhjO+8miVtIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjExMjMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICLnhKHms5Xlj5blvpfntYLnq6/mqZ/lsazmgKfnlKjmlrwgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTMyNSB0ZXJtLXV0aWxzL2FnZXR0eS5jOjEzNDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIgorbXNnc3RyICLnhKHms5XoqK3lrprntYLnq6/mqZ/lsazmgKfnlKjmlrwgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTQ2NAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgb3BlbiBvcy1yZWxlYXNlIGZpbGUiCittc2dzdHIgIueEoeazlemWi+WVn+mOluWumuaqlOahiCAlcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxNjMxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmYWlsZWQgdG8gY3JlYXRlIHJlbG9hZCBmaWxlOiAlczogJW0iCittc2dzdHIgIuiugOWPliB0eXBlc2NyaXB0IOaqlOahiCAlcyDmmYLlpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTgzNQorbXNnaWQgIltwcmVzcyBFTlRFUiB0byBsb2dpbl0iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODU5CisjLCBmdXp6eQorbXNnaWQgIk51bSBMb2NrIG9mZiIKK21zZ3N0ciAiTnVtIOmOluWumumXnOmWiSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoxODYyCisjLCBmdXp6eQorbXNnaWQgIk51bSBMb2NrIG9uIgorbXNnc3RyICJOdW0g6Y6W5a6a6ZaLIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NjUKKyMsIGZ1enp5Cittc2dpZCAiQ2FwcyBMb2NrIG9uIgorbXNnc3RyICLlpKflr6vpjbXplosiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MTg2OAorIywgZnV6enkKK21zZ2lkICJTY3JvbGwgTG9jayBvbiIKK21zZ3N0ciAi5o2y5YuV6Y6W5a6a6ZaLIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjE4NzEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJIaW50OiAlc1xuIgorIlxuIgorbXNnc3RyICIiCisi5o+Q56S677yaJXNcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDA4CisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiByZWFkOiAlbSIKK21zZ3N0ciAiJXPvvJroroDlj5bvvJolbSIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDcyCisjLCBjLWZvcm1hdAorbXNnaWQgIiVzOiBpbnB1dCBvdmVycnVuIgorbXNnc3RyICIlc++8mui8uOWFpei2heWHuiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMDg5IHRlcm0tdXRpbHMvYWdldHR5LmM6MjA5NworIywgYy1mb3JtYXQKK21zZ2lkICIlczogaW52YWxpZCBjaGFyYWN0ZXIgY29udmVyc2lvbiBmb3IgbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxMDMKKyMsIGMtZm9ybWF0Cittc2dpZCAiJXM6IGludmFsaWQgY2hhcmFjdGVyIDB4JXggaW4gbG9naW4gbmFtZSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIxODgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIgorbXNnc3RyICLnhKHms5XoqK3lrprntYLnq6/mqZ/lsazmgKfnlKjmlrwgJXMiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIyNgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiIgorIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iCittc2dzdHIgIiIKKyJcbiIKKyLnlKjms5XvvJpcbiIKKyIgJTEkcyBb6YG46aCFXSDliJcgYmF1ZF9yYXRlICwuLi5bdGVybXR5cGVdXG4iCisiICUxJHMgW+mBuOmghV0gYmF1ZF9yYXRlICwuLi7liJcgW3Rlcm10eXBlXVxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzAKK21zZ2lkICJPcGVuIGEgdGVybWluYWwgYW5kIHNldCBpdHMgbW9kZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzMKKyMsIGZ1enp5Cittc2dpZCAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKK21zZ3N0ciAiIC1zLCAtLXN0YXR1cyAgICAgICAgICAgICAgICAg5p+l6Kmi5Y2w6KGo5qmf54uA5oWLXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNAorbXNnaWQgIiAtYSwgLS1hdXRvbG9naW4gPHVzZXI+ICAgICBsb2dpbiB0aGUgc3BlY2lmaWVkIHVzZXIgYXV0b21hdGljYWxseVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzNQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorbXNnc3RyICIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICAgICDph43nva7pgJroqIrln6BcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM2CisjLCBmdXp6eQorbXNnaWQgIiAtRSwgLS1yZW1vdGUgICAgICAgICAgICAgICB1c2UgLXIgPGhvc3RuYW1lPiBmb3IgbG9naW4oMSlcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAg6YeN572u5omA5pyJ6KiI5pW45ZmoICjlj6rpmZAgcm9vdClcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjM3CisjLCBmdXp6eQorbXNnaWQgIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKK21zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyMzgKK21zZ2lkICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjIzOQorIywgZnV6enkKK21zZ2lkICIgLUgsIC0taG9zdCA8aG9zdG5hbWU+ICAgICAgc3BlY2lmeSBsb2dpbiBob3N0XG4iCittc2dzdHIgIiAtcywgLS1zaGVsbCA8c2hlbGw+ICDmjIflrprnmbvlhaXlkb3ku6TmrrxcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQwCisjLCBmdXp6eQorbXNnaWQgIiAtaSwgLS1ub2lzc3VlICAgICAgICAgICAgICBkbyBub3QgZGlzcGxheSBpc3N1ZSBmaWxlXG4iCittc2dzdHIgIiAtcSwgLS1zdGF0cyAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuue1seioiOmXnOaWvCB0dHlcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQxCittc2dpZCAiIC1JLCAtLWluaXQtc3RyaW5nIDxzdHJpbmc+IHNldCBpbml0IHN0cmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0MgorIywgZnV6enkKK21zZ2lkICIgLUogIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorbXNnc3RyICIgLWMgICAgICAgICAgIOa4heepuuieouW5leS5i+WJjemhr+ekulxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDMKK21zZ2lkICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ0CisjLCBmdXp6eQorbXNnaWQgIiAtTCwgLS1sb2NhbC1saW5lWz08bW9kZT5dICBjb250cm9sIHRoZSBsb2NhbCBsaW5lIGZsYWdcbiIKK21zZ3N0ciAiIC11ICAtLXVubG9jayAgICAgICAgICAgICDnp7vpmaTpjpblrppcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ1Cittc2dpZCAiIC1tLCAtLWV4dHJhY3QtYmF1ZCAgICAgICAgIGV4dHJhY3QgYmF1ZCByYXRlIGR1cmluZyBjb25uZWN0XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjQ2CisjLCBmdXp6eQorbXNnaWQgIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNDcKKyMsIGZ1enp5Cittc2dpZCAiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg5LiN5pqr5YGc5pa857WQ5p2f55qE5qqU5qGIXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OAorIywgZnV6enkKK21zZ2lkICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKK21zZ3N0ciAiIC1sLCAtLWxvbmdvcHRpb25zIDxsb25nb3B0cz4g6ZW36YG46aCF54K66L6o6K2Y55qEXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI0OQorIywgZnV6enkKK21zZ2lkICIgLXAsIC0tbG9naW4tcGF1c2UgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiAtZiAgICAgICAgICAg5LiN5YiG5Ymy6ZW35YiXXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MAorIywgZnV6enkKK21zZ2lkICIgLXIsIC0tY2hyb290IDxkaXI+ICAgICAgICAgY2hhbmdlIHJvb3QgdG8gdGhlIGRpcmVjdG9yeVxuIgorbXNnc3RyICIgLWEsIC0tYWJvcnQgPG9ufG9mZj4gICAgICAgICDmlL7mo4TmlrzpjK/oqqRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUxCisjLCBmdXp6eQorbXNnaWQgIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICBkbyB2aXJ0dWFsbHkgaGFuZ3VwIG9uIHRoZSB0dHlcbiIKK21zZ3N0ciAiIC11LCAtLXVucXVvdGUgICAgICAgICAgICAgICAg5LiN5byV6KiA6Ly45Ye6XG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1MgorIywgZnV6enkKK21zZ2lkICIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iCittc2dzdHIgIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICDliJfljbDoqbPntLDnmoToqIrmga/liLDmqJnmupbli5joqqRcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjUzCittc2dpZCAiIC10LCAtLXRpbWVvdXQgPG51bWJlcj4gICAgIGxvZ2luIHByb2Nlc3MgdGltZW91dFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1NAorbXNnaWQgIiAtVSwgLS1kZXRlY3QtY2FzZSAgICAgICAgICBkZXRlY3QgdXBwZXJjYXNlIHRlcm1pbmFsXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU1CisjLCBmdXp6eQorbXNnaWQgIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICB3YWl0IGNhcnJpYWdlLXJldHVyblxuIgorbXNnc3RyICIgLXcsIC0td2FpdCA8dXM+ICAgICAgICAgICAgICBzdHJvYmUg562J5b6F5Zyo5LitIG1pY3JvIOenklxuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTYKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIGRvIG5vdCBwcmludCBoaW50c1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNTcKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLW5vaG9zdG5hbWUgICAgICAgICAgIG5vIGhvc3RuYW1lIGF0IGFsbCB3aWxsIGJlIHNob3duXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg5LiN5pqr5YGc5pa857WQ5p2f55qE5qqU5qGIXG4iCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI1OAorbXNnaWQgIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjU5Cittc2dpZCAiICAgICAtLWVyYXNlLWNoYXJzIDxzdHJpbmc+IGFkZGl0aW9uYWwgYmFja3NwYWNlIGNoYXJzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYwCittc2dpZCAiICAgICAtLWtpbGwtY2hhcnMgPHN0cmluZz4gIGFkZGl0aW9uYWwga2lsbCBjaGFyc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvYWdldHR5LmM6MjI2MQorbXNnaWQgIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYyCisjLCBmdXp6eQorbXNnaWQgIiAgICAgLS1kZWxheSA8bnVtYmVyPiAgICAgICBzbGVlcCBzZWNvbmRzIGJlZm9yZSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICDmuIXnqbronqLluZXkuYvliY3poa/npLpcbiIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyMjYzCittc2dpZCAiICAgICAtLW5pY2UgPG51bWJlcj4gICAgICAgIHJ1biBsb2dpbiB3aXRoIHRoaXMgcHJpb3JpdHlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjQKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjIyNjUKKyMsIGZ1enp5Cittc2dpZCAiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIKK21zZ3N0ciAiICAgIC1UIFvmiJYgLS1saXN0LXR5cGVzXe+8muWIl+WHuuW3suefpeWIhuWJsuWNgOmhnuWeiyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNjE1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlZCB1c2VyIgorbXNnaWRfcGx1cmFsICIlZCB1c2VycyIKK21zZ3N0clswXSAi5L2/55So6ICFIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NDMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImNoZWNrbmFtZSBmYWlsZWQ6ICVtIgorbXNnc3RyICJjaG93biDlpLHmlZfvvJolcyIKKworIzogdGVybS11dGlscy9hZ2V0dHkuYzoyNzU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3QgdG91Y2ggZmlsZSAlcyIKK21zZ3N0ciAi54Sh5rOV6Zec6ZaJ5qqU5qGIICVzIgorCisjOiB0ZXJtLXV0aWxzL2FnZXR0eS5jOjI3NTkKK21zZ2lkICItLXJlbG9hZCBpcyB1bnN1cHBvcnRlZCBvbiB5b3VyIHN5c3RlbSIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3NgorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbeSB8IG5dXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbeXxuXVxuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzo3OQorIywgZnV6enkKK21zZ2lkICJDb250cm9sIHdyaXRlIGFjY2VzcyBvZiBvdGhlciB1c2VycyB0byB5b3VyIHRlcm1pbmFsLlxuIgorbXNnc3RyICLlr6vlhaXlrZjlj5bliLDmgqjnmoTntYLnq6/mqZ/ooqvmi5LntZUiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjgyCisjLCBmdXp6eQorbXNnaWQgIiAtdiwgLS12ZXJib3NlICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEyNQorIywgZnV6enkKK21zZ2lkICJ0dHluYW1lIGZhaWxlZCIKK21zZ3N0ciAidHR5bmFtZSDlpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjEzNAorIywgZnV6enkKK21zZ2lkICJpcyB5IgorbXNnc3RyICLmmK8geSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTM3CisjLCBmdXp6eQorbXNnaWQgImlzIG4iCittc2dzdHIgIuaYryBuIgorCisjOiB0ZXJtLXV0aWxzL21lc2cuYzoxNDggdGVybS11dGlscy9tZXNnLmM6MTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiCittc2dzdHIgIuiuiuabtCAlcyDmqKHlvI/lpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1MAorIywgZnV6enkKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBhbGxvd2VkIgorbXNnc3RyICLlr6vlhaXlrZjlj5bliLDmgqjnmoTntYLnq6/mqZ/ooqvlhYHoqLEiCisKKyM6IHRlcm0tdXRpbHMvbWVzZy5jOjE1NworIywgZnV6enkKK21zZ2lkICJ3cml0ZSBhY2Nlc3MgdG8geW91ciB0ZXJtaW5hbCBpcyBkZW5pZWQiCittc2dzdHIgIuWvq+WFpeWtmOWPluWIsOaCqOeahOe1guerr+apn+iiq+aLkue1lSIKKworIzogdGVybS11dGlscy9tZXNnLmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnZhbGlkIGFyZ3VtZW50OiAlcyIKK21zZ3N0ciAi54Sh5pWI55qE5byV5pW477yaJXMiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTYxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gW+aqlOahiF1cbiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjQKK21zZ2lkICJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzoxNjcKKyMsIGZ1enp5Cittc2dpZCAiIgorIiAtYSwgLS1hcHBlbmQgICAgICAgICAgICAgICAgICBhcHBlbmQgdGhlIG91dHB1dFxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgICAgICBydW4gY29tbWFuZCByYXRoZXIgdGhhbiBpbnRlcmFjdGl2ZSBzaGVsbFxuIgorIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgICAgICAgIHJ1biBmbHVzaCBhZnRlciBlYWNoIHdyaXRlXG4iCisiICAgICAtLWZvcmNlICAgICAgICAgICAgICAgICAgIHVzZSBvdXRwdXQgZmlsZSBldmVuIHdoZW4gaXQgaXMgYSBsaW5rXG4iCisiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgICAgIGJlIHF1aWV0XG4iCisiIC10WzxmaWxlPl0sIC0tdGltaW5nWz08ZmlsZT5dIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgb3IgdG8gRklMRVxuIgorbXNnc3RyICIiCisiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgIOmZhOWKoOi8uOWHulxuIgorIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiDpgYvooYzlkb3ku6TogIzpnZ7kupLli5XlvI/lkb3ku6TmrrxcbiIKKyIgLWUsIC0tcmV0dXJuICAgICAgICAgICAg5Zue5YKz6Zui6ZaL5Luj56K855qE5a2Q6KGM56iLXG4iCisiIC1mLCAtLWZsdXNoICAgICAgICAgICAgIOmBi+ihjOa4heeQhuS5i+W+jOavj+WAi+Wvq+WFpVxuIgorIiAgICAgLS1mb3JjZSAgICAgICAgICAgICDkvb/nlKjovLjlh7rmqpTmoYjnlJroh7PmmYLlroPmmK/pj4jntZBcbiIKKyIgLXEsIC0tcXVpZXQgICAgICAgICAgICAg5piv5a6J6Z2c55qEXG4iCisiIC10LCAtLXRpbWluZyBbPTzmqpTmoYg+XSAgIOi8uOWHuuaZguapn+izh+aWmeWIsOaomea6luWLmOiqpCAo5oiW5Yiw5qqU5qGIKVxuIgorIiAtViwgLS12ZXJzaW9uICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyIgLWgsIC0taGVscCAgICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisiXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MTg5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisib3V0cHV0IGZpbGUgYCVzJyBpcyBhIGxpbmtcbiIKKyJVc2UgLS1mb3JjZSBpZiB5b3UgcmVhbGx5IHdhbnQgdG8gdXNlIGl0LlxuIgorIlByb2dyYW0gbm90IHN0YXJ0ZWQuIgorbXNnc3RyICIiCisi6Ly45Ye65qqU5qGI44COJXPjgI/mmK/pj4jntZBcbiIKKyLkvb/nlKggLS1mb3JjZSDlpoLmnpzmgqjnnJ/nmoTopoHkvb/nlKjlroPjgIJcbiIKKyLnqIvlvI/nhKHms5Xplovlp4vjgIIiCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0LmM6MjI1CisjLCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBkb25lLCBmaWxlIGlzICVzXG4iCittc2dzdHIgIuWRveS7pOeov+W3suWujOaIkO+8jOaqlOahiOaYryAlc1xuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjI4OAorIywgZnV6enkKK21zZ2lkICJjYW5ub3Qgd3JpdGUgc2NyaXB0IGZpbGUiCittc2dzdHIgIueEoeazleWvq+WFpeaMh+S7pOeov+aqlOahiCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0MjkKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTZXNzaW9uIHRlcm1pbmF0ZWQuXG4iCittc2dzdHIgIiIKKyJcbiIKKyLkvZzmpa3pmo7mrrXntYLmraLvvIxraWxsaW5nIOWRveS7pOauvOKApiIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo0NzYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlNjcmlwdCBzdGFydGVkIG9uICVzXG4iCittc2dzdHIgIuWRveS7pOeov+WVn+WLleaWvCAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo1NDgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJTY3JpcHQgZG9uZSBvbiAlc1xuIgorbXNnc3RyICIiCisiXG4iCisi5ZG95Luk56i/5bey5pa8ICVzIOWujOaIkCIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo2MzkKKyMsIGZ1enp5Cittc2dpZCAib3BlbnB0eSBmYWlsZWQiCittc2dzdHIgIm9wZW5wdHkg5aSx5pWXIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdC5jOjY3NworIywgZnV6enkKK21zZ2lkICJvdXQgb2YgcHR5J3MiCittc2dzdHIgIueZvOS/oeWMo+eahCBwdHkncyIKKworIzogdGVybS11dGlscy9zY3JpcHQuYzo3NzcKKyMsIGMtZm9ybWF0Cittc2dpZCAiU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgJXNcbiIKK21zZ3N0ciAi5ZG95Luk56i/5bey5ZWf5YuV77yM5qqU5qGI5pivICVzXG4iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6NDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIgorbXNnc3RyICIgJXMgWy10XSB0aW1pbmdmaWxlIFt0eXBlc2NyaXB0XSBb6Zmk5pW4XVxuIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjQ4Cittc2dpZCAiUGxheSBiYWNrIHRlcm1pbmFsIHR5cGVzY3JpcHRzLCB1c2luZyB0aW1pbmcgaW5mb3JtYXRpb24uXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzo1MQorIywgZnV6enkKK21zZ2lkICIiCisiIC10LCAtLXRpbWluZyA8ZmlsZT4gICAgIHNjcmlwdCB0aW1pbmcgb3V0cHV0IGZpbGVcbiIKKyIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKyIgLWQsIC0tZGl2aXNvciA8bnVtPiAgICAgc3BlZWQgdXAgb3Igc2xvdyBkb3duIGV4ZWN1dGlvbiB3aXRoIHRpbWUgZGl2aXNvclxuIgorIiAtbSwgLS1tYXhkZWxheSA8bnVtPiAgICB3YWl0IGF0IG1vc3QgdGhpcyBtYW55IHNlY29uZHMgYmV0d2VlbiB1cGRhdGVzXG4iCittc2dzdHIgIiIKKyIgLXQsIC0tdGltaW5nIDxmaWxlPiAgICAg5oyH5Luk56i/5pmC5qmf6Ly45Ye65qqU5qGIXG4iCisiIC1zLCAtLXR5cGVzY3JpcHQ85qqU5qGIPuaMh+S7pOeov+e1guerr+apn+S9nOalremajuautei8uOWHuuaqlOahiFxuIgorIiAtZCwgLS1kaXZpc29yPG51bT4gICAg5Yqg6YCf5oiW5ouW5oWi5Z+36KGM6IiH5pmC6ZaT6Zmk5pW4XG4iCisiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyJcbiIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMTMKK21zZ2lkICJ3cml0ZSB0byBzdGRvdXQgZmFpbGVkIgorbXNnc3RyICLlr6vlhaXmqJnmupbovLjlh7rmmYLlpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MTE5CisjLCBjLWZvcm1hdAorbXNnaWQgInVuZXhwZWN0ZWQgZW5kIG9mIGZpbGUgb24gJXMiCittc2dzdHIgIuacqumgkOacn+eahOaqlOahiOe1kOadn+aWvCAlcyIKKworIzogdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYzoxMjEKKyMsIGMtZm9ybWF0Cittc2dpZCAiZmFpbGVkIHRvIHJlYWQgdHlwZXNjcmlwdCBmaWxlICVzIgorbXNnc3RyICLoroDlj5YgdHlwZXNjcmlwdCDmqpTmoYggJXMg5pmC5aSx5pWXIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJ3cm9uZyBudW1iZXIgb2YgYXJndW1lbnRzIgorbXNnc3RyICLpjK/oqqTnmoTlvJXmlbjmlbjph48iCisKKyM6IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LmM6MjE2CisjLCBjLWZvcm1hdAorbXNnaWQgImZhaWxlZCB0byByZWFkIHRpbWluZyBmaWxlICVzIgorbXNnc3RyICLoroDlj5bmmYLluo/mqpTmoYggJXMg5pmC5aSx5pWXIgorCisjOiB0ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jOjIxOAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAidGltaW5nIGZpbGUgJXM6IGxpbmUgJWx1OiB1bmV4cGVjdGVkIGZvcm1hdCIKK21zZ3N0ciAi5pmC5bqP5qqU5qGIICVz77yaJWx177ya5pyq6aCQ5pyf55qE5qC85byPIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoyMzcKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIKK21zZ3N0ciAi6YCf5bqmICVkIOS4jeWPl+aUr+aPtCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzI2CisjLCBmdXp6eQorbXNnaWQgInRvbyBtYW55IHRhYnMiCittc2dzdHIgIuWkquWkmuW8leaVuCIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzgyCittc2dpZCAiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg1Cittc2dpZCAiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzg2CisjLCBmdXp6eQorbXNnaWQgIiAtLXJlc2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzZXQgdGVybWluYWwgdG8gcG93ZXItb24gc3RhdGVcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u6YCa6KiK5Z+gXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4NworIywgZnV6enkKK21zZ2lkICIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAg6YeN572u6YCa6KiK5Z+gXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OAorIywgZnV6enkKK21zZ2lkICIgLS1pbml0aWFsaXplICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgaW5pdCBzdHJpbmcsIGFuZCB1c2UgZGVmYXVsdCBzZXR0aW5nc1xuIgorbXNnc3RyICIgLXEsIC0tc3RhdHMgICAgICAgICAgICAgICAgICAgICAgICDpoa/npLrntbHoqIjpl5zmlrwgdHR5XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM4OQorIywgZnV6enkKK21zZ2lkICIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iCittc2dzdHIgIiAtcSwgLS1zdGF0cyAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuue1seioiOmXnOaWvCB0dHlcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkwCisjLCBmdXp6eQorbXNnaWQgIiAtLXN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgc2F2ZSBjdXJyZW50IHRlcm1pbmFsIHNldHRpbmdzIGFzIGRlZmF1bHRcbiIKK21zZ3N0ciAiIC1xLCAtLXN0YXRzICAgICAgICAgICAgICAgICAgICAgICAg6aGv56S657Wx6KiI6Zec5pa8IHR0eVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTEKKyMsIGZ1enp5Cittc2dpZCAiIC0tY3Vyc29yICAgICAgICBbb258b2ZmXSAgICAgICAgICBkaXNwbGF5IGN1cnNvclxuIgorbXNnc3RyICIgLWcsIC0tZ2V0LXRocmVzaG9sZCAgICAgICAgICAgICAgICDpoa/npLrnm67liY3nmoToh6jnlYzlgLxcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MzkyCisjLCBmdXp6eQorbXNnaWQgIiAtLXJlcGVhdCAgICAgICAgW29ufG9mZl0gICAgICAgICAga2V5Ym9hcmQgcmVwZWF0XG4iCittc2dzdHIgIiAtciwgLS1yZXNldCAgICAgICAgICAgICAgICAgIOmHjee9rumAmuioiuWfoFxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTMKK21zZ2lkICIgLS1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdICAgICAgICAgIGN1cnNvciBrZXkgYXBwbGljYXRpb24gbW9kZVxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NAorIywgZnV6enkKK21zZ2lkICIgLS1saW5ld3JhcCAgICAgIFtvbnxvZmZdICAgICAgICAgIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbFxuIgorbXNnc3RyICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICAgICDpgJnlgIvlsI/nlKjms5XmjIflsI5cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk1Cittc2dpZCAiIC0taW52ZXJzZXNjcmVlbiBbb258b2ZmXSAgICAgICAgICBzd2FwIGNvbG9ycyBmb3IgdGhlIHdob2xlIHNjcmVlblxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjM5NgorbXNnaWQgIiAtLWZvcmVncm91bmQgICAgZGVmYXVsdHw8Y29sb3I+ICAgc2V0IGZvcmVncm91bmQgY29sb3JcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzozOTcKK21zZ2lkICIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk4Cittc2dpZCAiIC0tdWxjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgdW5kZXJsaW5lZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Mzk5Cittc2dpZCAiIC0taGJjb2xvciAgICAgICBbYnJpZ2h0XSA8Y29sb3I+ICBzZXQgYm9sZCB0ZXh0IGNvbG9yXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDAwCittc2dpZCAiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDEKKyMsIGZ1enp5Cittc2dpZCAiIC0tYm9sZCAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBib2xkXG4iCittc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOizh+aWmVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDIKKyMsIGZ1enp5Cittc2dpZCAiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIKK21zZ3N0ciAiICBbIC1oYWxmLWJyaWdodCBbb258b2ZmXSBdXG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwMworbXNnaWQgIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MDQKKyMsIGZ1enp5Cittc2dpZCAiIC0tdW5kZXJsaW5lICAgICBbb258b2ZmXSAgICAgICAgICB1bmRlcmxpbmVcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDmmK/mm7TlpJroqbPntLDnmoRcbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA1Cittc2dpZCAiIC0tcmV2ZXJzZSAgICAgICBbb258b2ZmXSAgICAgICAgICBzd2FwIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA2CisjLCBmdXp6eQorbXNnaWQgIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iCittc2dzdHIgIiAtYyAgICAgICAgICAg5riF56m66J6i5bmV5LmL5YmN6aGv56S6XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwNworbXNnaWQgIiAtLXRhYnMgICAgICAgICAgWzxudW1iZXI+Li4uXSAgICAgc2V0IHRoZXNlIHRhYiBzdG9wIHBvc2l0aW9ucywgb3Igc2hvdyB0aGVtXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDA4Cittc2dpZCAiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQwOQorbXNnaWQgIiAtLXJlZ3RhYnMgICAgICAgWzEtMTYwXSAgICAgICAgICAgc2V0IGEgcmVndWxhciB0YWIgc3RvcCBpbnRlcnZhbFxuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMAorbXNnaWQgIiAtLWJsYW5rICAgICAgICAgWzAtNjB8Zm9yY2V8cG9rZV0gc2V0IHRpbWUgb2YgaW5hY3Rpdml0eSBiZWZvcmUgc2NyZWVuIGJsYW5rc1xuIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxMQorbXNnaWQgIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEyCittc2dpZCAiIC0tYXBwZW5kICAgICAgICBbPG51bWJlcj5dICAgICAgICBhcHBlbmQgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDEzCittc2dpZCAiIC0tZmlsZSAgICAgICAgICA8ZmlsZW5hbWU+ICAgICAgICBuYW1lIG9mIHRoZSBkdW1wIGZpbGVcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTQKKyMsIGZ1enp5Cittc2dpZCAiIC0tbXNnICAgICAgICAgICBbb258b2ZmXSAgICAgICAgICBzZW5kIGtlcm5lbCBtZXNzYWdlcyB0byBjb25zb2xlXG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg5YiX5Y2w6KiK5oGv5Yiw5qiZ5rqW6Ly45Ye6XG4iCisKKyM6IHRlcm0tdXRpbHMvc2V0dGVybS5jOjQxNQorIywgZnV6enkKK21zZ2lkICIgLS1tc2dsZXZlbCAgICAgIDAtOCAgICAgICAgICAgICAgIGtlcm5lbCBjb25zb2xlIGxvZyBsZXZlbFxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTYKKyMsIGZ1enp5Cittc2dpZCAiIC0tcG93ZXJzYXZlICAgICBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl1cbiIKK21zZ3N0ciAiICBbIC1wb3dlcnNhdmUgW29ufHZzeW5jfGhzeW5jfHBvd2VyZG93bnxvZmZdIF1cbiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE3CisjLCBmdXp6eQorbXNnaWQgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0IHZlc2EgcG93ZXJzYXZpbmcgZmVhdHVyZXNcbiIKK21zZ3N0ciAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOOAjCVz44CNKVxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MTgKK21zZ2lkICIgLS1wb3dlcmRvd24gICAgIFswLTYwXSAgICAgICAgICAgIHNldCB2ZXNhIHBvd2VyZG93biBpbnRlcnZhbCBpbiBtaW51dGVzXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDE5CisjLCBmdXp6eQorbXNnaWQgIiAtLWJsZW5ndGggICAgICAgWzAtMjAwMF0gICAgICAgICAgZHVyYXRpb24gb2YgdGhlIGJlbGwgaW4gbWlsbGlzZWNvbmRzXG4iCittc2dzdHIgIiAtdCwgLS10aW1lIDxtcz4gICAgICAgICAgICAgIOmpheWLleeoi+W8j+etieW+heaZgumWk+WcqOS4reavq+enklxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo0MjAKK21zZ2lkICIgLS1iZnJlcSAgICAgICAgIDxudW1iZXI+ICAgICAgICAgIGJlbGwgZnJlcXVlbmN5IGluIEhlcnR6XG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NDMxCittc2dpZCAiZHVwbGljYXRlIHVzZSBvZiBhbiBvcHRpb24iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6NzQwCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBmb3JjZSBibGFuayIKK21zZ3N0ciAi54Sh5rOV5by35Yi256m655m9IgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NDUKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGZvcmNlIHVuYmxhbmsiCittc2dzdHIgIueEoeazleW8t+WItiB1bmJsYW5rIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo3NTEKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBibGFuayBzdGF0dXMiCittc2dzdHIgIueEoeazleaPkOWPluepuueZveeLgOaFiyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6Nzc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJjYW5ub3Qgb3BlbiBkdW1wIGZpbGUgJXMgZm9yIG91dHB1dCIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWf5YK+5Y2w5qqU5qGIICVzIOeUqOaWvOi8uOWHuiIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODE5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ0ZXJtaW5hbCAlcyBkb2VzIG5vdCBzdXBwb3J0ICVzIgorbXNnc3RyICLkvb/nlKjogIUgJXMg5LiN5a2Y5ZyoIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo4NTcKKyMsIGZ1enp5Cittc2dpZCAic2VsZWN0IGZhaWxlZCIKK21zZ3N0ciAic2VtY3RsIOWkseaVlyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6ODgzCisjLCBmdXp6eQorbXNnaWQgInN0ZGluIGRvZXMgbm90IHJlZmVyIHRvIGEgdGVybWluYWwiCittc2dzdHIgIiVzIOaWvOatpOe1guerr+apn+iiq+aLkue1leeZu+WFpeOAglxuIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MTEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgY3Vyc29yIHBvc2l0aW9uOiAlcyIKK21zZ3N0ciAi54Sh5pWI55qE6YG46aCFIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzo5MzMKKyMsIGZ1enp5Cittc2dpZCAicmVzZXQgZmFpbGVkIgorbXNnc3RyICJzZXRnaWQg5aSx5pWXIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMDk3CisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCAodW4pc2V0IHBvd2Vyc2F2ZSBtb2RlIgorbXNnc3RyICLnhKHms5UgKHVuKSDoqK3lrpogcG93ZXJzYXZlIOaooeW8jyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTExNiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTI1CisjLCBmdXp6eQorbXNnaWQgImtsb2djdGwgZXJyb3IiCittc2dzdHIgImtsb2djdGwg6Yyv6KqkIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTQ2CisjLCBmdXp6eQorbXNnaWQgIiRURVJNIGlzIG5vdCBkZWZpbmVkLiIKK21zZ3N0ciAiJFRFUk0g5pyq6KKr5a6a576p44CCIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTUzCisjLCBmdXp6eQorbXNnaWQgInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIKK21zZ3N0ciAidGVybWluZm8g6LOH5paZ5bqr54Sh5rOV5om+5YiwIgorCisjOiB0ZXJtLXV0aWxzL3NldHRlcm0uYzoxMTU1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biB0ZXJtaW5hbCB0eXBlIgorbXNnc3RyICIlc++8muS4jeaYjue1guerr+apn+mhnuWeiyIKKworIzogdGVybS11dGlscy9zZXR0ZXJtLmM6MTE1NworIywgZnV6enkKK21zZ2lkICJ0ZXJtaW5hbCBpcyBoYXJkY29weSIKK21zZ3N0ciAi57WC56uv5qmf5pivIGhhcmRjb3B5IgorCisjOiB0ZXJtLXV0aWxzL3R0eW1zZy5jOjgxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbnRlcm5hbCBlcnJvcjogdG9vIG1hbnkgaW92J3MiCittc2dzdHIgIuWFp+mDqOmMr+iqpCIKKworIzogdGVybS11dGlscy90dHltc2cuYzo5NAorIywgYy1mb3JtYXQKK21zZ2lkICJleGNlc3NpdmVseSBsb25nIGxpbmUgYXJnIgorbXNnc3RyICLpgY7plbfnmoTlkb3ku6TliJflvJXmlbgiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTA4CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJvcGVuIGZhaWxlZCIKK21zZ3N0ciAib3BlbnB0eSDlpLHmlZciCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJmb3JrOiAlbSIKK21zZ3N0ciAi6KGN55Sf77yaJXMiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTQ5CisjLCBjLWZvcm1hdAorbXNnaWQgImNhbm5vdCBmb3JrIgorbXNnc3RyICLnhKHms5XooY3nlJ/ln7fooYwiCisKKyM6IHRlcm0tdXRpbHMvdHR5bXNnLmM6MTgyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogQkFEIEVSUk9SLCBtZXNzYWdlIGlzIGZhciB0b28gbG9uZyIKK21zZ3N0ciAiJXPvvJrkuI3nlbbnmoTpjK/oqqTvvIzoqIrmga/mmK8gZmFyIOWkqumVtyIKKworIzogdGVybS11dGlscy93YWxsLmM6ODYKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIFvoqIrmga9dXG4iCisKKyM6IHRlcm0tdXRpbHMvd2FsbC5jOjg5Cittc2dpZCAiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MgorIywgZnV6enkKK21zZ2lkICIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo5MworIywgZnV6enkKK21zZ2lkICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorbXNnc3RyICIgLWksIC0taW5mbyAgICAgICAgICAgICAgICDliJfljbDlj6rmnInos4foqIrpl5zmlrzlj5bmqKPmraXpqZ9cbiIKKworIzogdGVybS11dGlscy93YWxsLmM6OTQKKyMsIGZ1enp5Cittc2dpZCAiIC10LCAtLXRpbWVvdXQgPHRpbWVvdXQ+IHdyaXRlIHRpbWVvdXQgaW4gc2Vjb25kc1xuIgorbXNnc3RyICIgLXQsIC0tdGltZSA8bXM+ICAgICAgICAgICAgICDpqYXli5XnqIvlvI/nrYnlvoXmmYLplpPlnKjkuK3mr6vnp5JcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTIyCisjLCBmdXp6eQorbXNnaWQgImludmFsaWQgZ3JvdXAgYXJndW1lbnQiCittc2dzdHIgIueEoeaViOeahOmAn+W6puW8leaVuCIKKworIzogdGVybS11dGlscy93YWxsLmM6MTI0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIlczogdW5rbm93biBnaWQiCittc2dzdHIgIiVjOiDkuI3mmI7nmoTlkb3ku6RcbiIKKworIzogdGVybS11dGlscy93YWxsLmM6MTY3Cittc2dpZCAiZ2V0Z3JvdXBsaXN0IGZvdW5kIG1vcmUgZ3JvdXBzIHRoYW4gc3lzY29uZiBhbGxvd3MiCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93YWxsLmM6MjEzCisjLCBmdXp6eQorbXNnaWQgIi0tbm9iYW5uZXIgaXMgYXZhaWxhYmxlIG9ubHkgZm9yIHJvb3QiCittc2dzdHIgIi0tbm9iYW5uZXIg5piv5Y+v55So5Y+q5pyJ55So5pa85qC5IgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzoyMTgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiCittc2dzdHIgIueEoeaViOeahOmAvuaZguW8leaVuO+8miVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozNTcKKyMsIGZ1enp5Cittc2dpZCAiY2Fubm90IGdldCBwYXNzd2QgdWlkIgorbXNnc3RyICLnhKHms5Xmj5Dlj5YgcGFzc3dkIHVpZCIKKworIzogdGVybS11dGlscy93YWxsLmM6MzYyCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBnZXQgdHR5IG5hbWUiCittc2dzdHIgIueEoeazleaPkOWPliB0dHkg5ZCN56ixIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzozODIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIkJyb2FkY2FzdCBtZXNzYWdlIGZyb20gJXNAJXMgKCVzKSAoJXMpOiIKK21zZ3N0ciAi5buj5pKt6KiK5oGv5L6G6IeqICVzQCVzIgorCisjOiB0ZXJtLXV0aWxzL3dhbGwuYzo0MTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIgorbXNnc3RyICLlsIfnhKHms5XoroDlj5YgJXMgLSDkvb/nlKjmqJnmupbovLjlhaXjgIIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzo4NworIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSA8dXNlcj4gWzx0dHluYW1lPl1cbiIKK21zZ3N0ciAiICVzIFvpgbjpoIVdIDx1c2VyPiBbPHR0eW5hbWU+XVxuIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6OTEKK21zZ2lkICJTZW5kIGEgbWVzc2FnZSB0byBhbm90aGVyIHVzZXIuXG4iCittc2dzdHIgIiIKKworIzogdGVybS11dGlscy93cml0ZS5jOjExNgorIywgYy1mb3JtYXQKK21zZ2lkICJlZmZlY3RpdmUgZ2lkIGRvZXMgbm90IG1hdGNoIGdyb3VwIG9mICVzIgorbXNnc3RyICIiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4iCittc2dzdHIgIiVzIOacquiiq+eZu+WFpSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIwNgorIywgZnV6enkKK21zZ2lkICJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIKK21zZ3N0ciAi5om+5LiN5Yiw5oKo55qEIHR0eSdzIOWQjeeosSIKKworIzogdGVybS11dGlscy93cml0ZS5jOjIxMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIgorbXNnc3RyICIlcyDmnInoqIrmga/lt7LlgZznlKgiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIGxvZ2dlZCBpbiBtb3JlIHRoYW4gb25jZTsgd3JpdGluZyB0byAlcyIKK21zZ3N0ciAiJXMg6KKr55m75YWl5LiA5qyh5Lul5LiK77yb5a+r5YWlICVzIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6MjM3CisjLCBmdXp6eQorbXNnaWQgImNhcmVmdWxwdXRjIGZhaWxlZCIKK21zZ3N0ciAiY2FyZWZ1bHB1dGMg5aSx5pWXIgorCisjOiB0ZXJtLXV0aWxzL3dyaXRlLmM6Mjc5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJNZXNzYWdlIGZyb20gJXNAJXMgKGFzICVzKSBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICLoqIrmga/kvoboh6ogJXNAJXMgKOi6q+WIhueCuiAlcykg5pa8ICVzIOWcqCAlcyDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzoyODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIk1lc3NhZ2UgZnJvbSAlc0AlcyBvbiAlcyBhdCAlMDJkOiUwMmQgLi4uIgorbXNnc3RyICLoqIrmga/kvoboh6ogJXNAJXMg5pa8ICVzIOWcqCAlcyDigKYiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozMzAKKyMsIGZ1enp5Cittc2dpZCAieW91IGhhdmUgd3JpdGUgcGVybWlzc2lvbiB0dXJuZWQgb2ZmIgorbXNnc3RyICLmgqjmnInlr6vlhaXmrIrpmZDooqvpl5zplokiCisKKyM6IHRlcm0tdXRpbHMvd3JpdGUuYzozNTMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzIGlzIG5vdCBsb2dnZWQgaW4gb24gJXMiCittc2dzdHIgIiVzIOacquiiq+eZu+WFpeaWvCAlcyIKKworIzogdGVybS11dGlscy93cml0ZS5jOjM1OQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIG9uICVzIgorbXNnc3RyICIlcyDmnInoqIrmga/lt7LlgZznlKjmlrwgJXMiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MTM1CisjLCBmdXp6eQorbXNnaWQgIkZpbHRlciBvdXQgcmV2ZXJzZSBsaW5lIGZlZWRzLlxuIgorbXNnc3RyICLlpKrlpJrllq7ntJTmj5vliJflrZflhYPjgIJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxMzgKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJPcHRpb25zOlxuIgorIiAtYiwgLS1uby1iYWNrc3BhY2VzICAgIGRvIG5vdCBvdXRwdXQgYmFja3NwYWNlc1xuIgorIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorIiAtcCwgLS1wYXNzICAgICAgICAgICAgIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlc1xuIgorIiAtaCwgLS10YWJzICAgICAgICAgICAgIGNvbnZlcnQgc3BhY2VzIHRvIHRhYnNcbiIKKyIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAgYnVmZmVyIGF0IGxlYXN0IE5VTSBsaW5lc1xuIgorbXNnc3RyICIiCisiXG4iCisi6YG46aCF77yaXG4iCisiIC1iLCAtLW5vLWJhY2tzcGFjZXMgICAg5LiN6Ly45Ye66YCA5qC8XG4iCisiIC1mLCAtLWZpbmUgICAgICAgICAgICAg5YWB6Kix6L2J5a+E5Y2K6YCB5YiXXG4iCisiIC1wLCAtLXBhc3MgICAgICAgICAgICAg5Zue5ZCI5LiN5piO5o6n5Yi25bqP5YiXXG4iCisiIC1oLCAtLXRhYnMgICAgICAgICAgICAg6L2J5o+b56m65qC86L2J54K66Lez5qC8XG4iCisiIC14LCAtLXNwYWNlcyAgICAgICAgICAg6L2J5o+b6Lez5qC86L2J54K656m65qC8XG4iCisiIC1sLCAtLWxpbmVzIE5VTSAgICAgICAg57ep6KGd5Y2A6Iez5bCRIE5VTSDliJdcbiIKKyIgLVYsIC0tdmVyc2lvbiAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyIgLUgsIC0taGVscCAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9jb2wuYzoxNTEgdGV4dC11dGlscy9jb2xybS5jOjY5CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIiCisiJXMgcmVhZHMgZnJvbSBzdGFuZGFyZCBpbnB1dCBhbmQgd3JpdGVzIHRvIHN0YW5kYXJkIG91dHB1dFxuIgorIlxuIgorbXNnc3RyICIiCisiJXMg6K6A5Y+W5b6e5qiZ5rqW6Ly45YWl5ZKM5a+r5YWl5qiZ5rqW6Ly45Ye6XG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MjE1CisjLCBmdXp6eQorbXNnaWQgImJhZCAtbCBhcmd1bWVudCIKK21zZ3N0ciAi5LiN55W255qEIC1sIOW8leaVuCIKKworIzogdGV4dC11dGlscy9jb2wuYzozNDQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIndhcm5pbmc6IGNhbid0IGJhY2sgdXAgJXMuIgorbXNnc3RyICLorablkYrvvJrnhKHms5XkuIrkuIDmraXlkJHkuIogJXPjgIIiCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAicGFzdCBmaXJzdCBsaW5lIgorbXNnc3RyICLnlaXpgY7nrKzkuIDliJciCisKKyM6IHRleHQtdXRpbHMvY29sLmM6MzQ1Cittc2dpZCAiLS0gbGluZSBhbHJlYWR5IGZsdXNoZWQiCittc2dzdHIgIi0tIOWIl+W3sue2k+a4heeQhiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4MiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjYzNAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbPGZpbGU+Li4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWzxmaWxlPl1cbiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4NQorbXNnaWQgIkZpbHRlciBucm9mZiBvdXRwdXQgZm9yIENSVCBwcmV2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sY3J0LmM6ODgKK21zZ2lkICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgICAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xjcnQuYzo4OQorIywgZnV6enkKK21zZ2lkICIgLTIsIC0taGFsZi1saW5lcyAgICAgICAgcHJpbnQgYWxsIGhhbGYtbGluZXNcbiIKK21zZ3N0ciAiIC1hLCAtLWFsbCAgICAgIOafpeipouaJgOacieWOn+Wni+ijnee9rlxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6NjAKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyJVc2FnZTpcbiIKKyIgJXMgW3N0YXJ0Y29sIFtlbmRjb2xdXVxuIgorbXNnc3RyICIiCisiXG4iCisi55So5rOV77yaXG4iCisiICVzIFtzdGFydGNvbCBbZW5kY29sXV1cbiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjY1Cittc2dpZCAiRmlsdGVyIG91dCB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2xybS5jOjE4NQorIywgZnV6enkKK21zZ2lkICJmaXJzdCBhcmd1bWVudCIKK21zZ3N0ciAi56ys5LiA5YCL5byV5pW4IgorCisjOiB0ZXh0LXV0aWxzL2NvbHJtLmM6MTg3CisjLCBmdXp6eQorbXNnaWQgInNlY29uZCBhcmd1bWVudCIKK21zZ3N0ciAi56eS5byV5pW4IgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjIzNQorIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgY29sdW1uIgorbXNnc3RyICLliZbmnpDntZDmnZ/mmYLlpLHmlZciCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6MjQ1CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmRlZmluZWQgY29sdW1uIG5hbWUgJyVzJyIKK21zZ3N0ciAibW91bnRwb2ludCIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzozMjEKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtb3JkZXIgbGlzdCIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjM5NworIywgZnV6enkKK21zZ2lkICJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1yaWdodCBsaXN0IgorbXNnc3RyICLliZbmnpDplovlp4vmmYLlpLHmlZciCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDAxCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXRydW5jIGxpc3QiCittc2dzdHIgIuWJluaekOWkp+Wwj+aZguWkseaVlyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDUKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtbm9leHRyZW1lIGxpc3QiCittc2dzdHIgIuWJluaekOWkp+Wwj+aZguWkseaVlyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0MDkKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtd3JhcCBsaXN0IgorbXNnc3RyICLliZbmnpDplovlp4vmmYLlpLHmlZciCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NDEzCisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLWhpZGUgbGlzdCIKK21zZ3N0ciAi5YmW5p6Q5aSn5bCP5pmC5aSx5pWXIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjQ0NAorIywgYy1mb3JtYXQKK21zZ2lkICJsaW5lICV6dTogZm9yIEpTT04gdGhlIG5hbWUgb2YgdGhlIGNvbHVtbiAlenUgaXMgcmVxdWlyZWQiCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo0NTgKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBkYXRhIgorbXNnc3RyICLliJ3lp4vljJbovLjlh7rooajmoLzmmYLlpLHmlZciCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjM3Cittc2dpZCAiQ29sdW1uYXRlIGxpc3RzLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQwCisjLCBmdXp6eQorbXNnaWQgIiAtdCwgLS10YWJsZSAgICAgICAgICAgICAgICAgICAgICBjcmVhdGUgYSB0YWJsZVxuIgorbXNnc3RyICIgLVEsIC0tcXVldWUgICAgICAgICAgICAgIOW7uueri+ioiuaBr+S9h+WIl1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MQorIywgZnV6enkKK21zZ2lkICIgLW4sIC0tdGFibGUtbmFtZSA8bmFtZT4gICAgICAgICAgdGFibGUgbmFtZSBmb3IgSlNPTiBvdXRwdXRcbiIKK21zZ3N0ciAiIC1uLCAtLW5hbWUgPHByb2duYW1lPiAgICAgICAg5ZCN56ix5LmL5LiL6Kmy6aCF6Yyv6Kqk6KKr5aCx5ZGKXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjQyCisjLCBmdXp6eQorbXNnaWQgIiAtTywgLS10YWJsZS1vcmRlciA8Y29sdW1ucz4gICAgICBzcGVjaWZ5IG9yZGVyIG9mIG91dHB1dCBjb2x1bW5zXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0MworIywgZnV6enkKK21zZ2lkICIgLU4sIC0tdGFibGUtY29sdW1ucyA8bmFtZXM+ICAgICAgY29tbWEgc2VwYXJhdGVkIGNvbHVtbnMgbmFtZXNcbiIKK21zZ3N0ciAiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDQKK21zZ2lkICIgLUUsIC0tdGFibGUtbm9leHRyZW1lIDxjb2x1bW5zPiAgZG9uJ3QgY291bnQgbG9uZyB0ZXh0IGZyb20gdGhlIGNvbHVtbnMgdG8gY29sdW1uIHdpZHRoXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NDUKKyMsIGZ1enp5Cittc2dpZCAiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NgorbXNnaWQgIiAtZSwgLS10YWJsZS1oZWFkZXItcmVwZWF0ICAgICAgICByZXBlYXQgaGVhZGVyIGZvciBlYWNoIHBhZ2VcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0NworIywgZnV6enkKK21zZ2lkICIgLUgsIC0tdGFibGUtaGlkZSA8Y29sdW1ucz4gICAgICAgZG9uJ3QgcHJpbnQgdGhlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOWIl+WNsOips+e0sOeahOioiuaBr+WIsOaomea6luWLmOiqpFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OAorbXNnaWQgIiAtUiwgLS10YWJsZS1yaWdodCA8Y29sdW1ucz4gICAgICByaWdodCBhbGlnbiB0ZXh0IGluIHRoZXNlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY0OQorIywgZnV6enkKK21zZ2lkICIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAg6Kit5a6a5ZCM5L2N5Yiw54ShXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUwCittc2dpZCAiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjUxCisjLCBmdXp6eQorbXNnaWQgIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0IGZvciB0YWJsZVxuIgorbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIpcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NTQKKyMsIGZ1enp5Cittc2dpZCAiIC1yLCAtLXRyZWUgPGNvbHVtbj4gICAgICAgICAgICAgIGNvbHVtbiB0byB1c2UgdHJlZS1saWtlIG91dHB1dCBmb3IgdGhlIHRhYmxlXG4iCittc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1NQorIywgZnV6enkKK21zZ2lkICIgLWksIC0tdHJlZS1pZCA8Y29sdW1uPiAgICAgICAgICAgbGluZSBJRCB0byBzcGVjaWZ5IGNoaWxkLXBhcmVudCByZWxhdGlvblxuIgorbXNnc3RyICIgLWksIC0taXJxIDxudW0+ICAgICAgICAgICAgICDmjIflrprkuKbliJfln6AgaXJxXG4iCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjU2CisjLCBmdXp6eQorbXNnaWQgIiAtcCwgLS10cmVlLXBhcmVudCA8Y29sdW1uPiAgICAgICBwYXJlbnQgdG8gc3BlY2lmeSBjaGlsZC1wYXJlbnQgcmVsYXRpb25cbiIKK21zZ3N0ciAiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAg5oyH5a6a5Lim5YiX5Z+gIGlycVxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY1OQorIywgZnV6enkKK21zZ2lkICIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iCittc2dzdHIgIiAtbywgLS1vcHRpb25zIDxvcHRzdHJpbmc+ICAgIOefremBuOmgheeCuui+qOitmOeahFxuIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjY2MAorbXNnaWQgIiAtbywgLS1vdXRwdXQtc2VwYXJhdG9yIDxzdHJpbmc+ICBjb2x1bW5zIHNlcGFyYXRvciBmb3IgdGFibGUgb3V0cHV0IChkZWZhdWx0IGlzIHR3byBzcGFjZXMpXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo2NjEKK21zZ2lkICIgLXMsIC0tc2VwYXJhdG9yIDxzdHJpbmc+ICAgICAgICAgcG9zc2libGUgdGFibGUgZGVsaW1pdGVyc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NjYyCisjLCBmdXp6eQorbXNnaWQgIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIKK21zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICDmmK/mm7TlpJroqbPntLDnmoRcbiIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo3MzEKKyMsIGZ1enp5Cittc2dpZCAiaW52YWxpZCBjb2x1bW5zIGFyZ3VtZW50IgorbXNnc3RyICLnhKHmlYjnmoTmrITkvY3lvJXmlbgiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6NzU2CisjLCBmdXp6eQorbXNnaWQgImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiCittc2dzdHIgIuWJluaekOaOm+i8ieihqOaZguWkseaVlyIKKworIzogdGV4dC11dGlscy9jb2x1bW4uYzo4MTEKK21zZ2lkICJvcHRpb25zIC0tdHJlZS1pZCBhbmQgLS10cmVlLXBhcmVudCBhcmUgcmVxdWlyZWQgZm9yIHRyZWUgZm9ybWF0dGluZyIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2NvbHVtbi5jOjgxOQorbXNnaWQgIm9wdGlvbiAtLXRhYmxlIHJlcXVpcmVkIGZvciBhbGwgLS10YWJsZS0qIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvY29sdW1uLmM6ODIyCittc2dpZCAib3B0aW9uIC0tdGFibGUtY29sdW1ucyByZXF1aXJlZCBmb3IgLS1qc29uIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE1NiB0ZXh0LXV0aWxzL21vcmUuYzoyMzIKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbPGZpbGU+XVxuIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNTkKK21zZ2lkICJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjIKK21zZ2lkICIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTYzCittc2dpZCAiIC1jLCAtLW9uZS1ieXRlLWNoYXIgICAgICAgb25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjQKK21zZ2lkICIgLUMsIC0tY2Fub25pY2FsICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjUKK21zZ2lkICIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNjYKK21zZ2lkICIgLW8sIC0tdHdvLWJ5dGVzLW9jdGFsICAgICB0d28tYnl0ZSBvY3RhbCBkaXNwbGF5XG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLmM6MTY3Cittc2dpZCAiIC14LCAtLXR3by1ieXRlcy1oZXggICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE2OAorbXNnaWQgIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAuYzoxNzEKK21zZ2lkICIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MgorbXNnaWQgIiAtZiwgLS1mb3JtYXQtZmlsZSA8ZmlsZT4gIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3MworbXNnaWQgIiAtbiwgLS1sZW5ndGggPGxlbmd0aD4gICAgIGludGVycHJldCBvbmx5IGxlbmd0aCBieXRlcyBvZiBpbnB1dFxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NAorbXNnaWQgIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC5jOjE3NQorIywgZnV6enkKK21zZ2lkICIgLXYsIC0tbm8tc3F1ZWV6aW5nICAgICAgICBvdXRwdXQgaWRlbnRpY2FsIGxpbmVzXG4iCittc2dzdHIgIiAtdSAgLS11bmxvY2sgICAgICAgICAgICAg56e76Zmk6Y6W5a6aXG4iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmM6MzY1CisjLCBmdXp6eQorbXNnaWQgImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiCittc2dzdHIgIuaJgOaciei8uOWFpeaqlOahiOW8leaVuOWkseaVlyIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NTUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciAlcyIKK21zZ3N0ciAi5LiN55W255qE5L2N5YWD57WE6KiI5pW455So5pa86L2J5o+b5a2X5YWDICVzIgorCisjOiB0ZXh0LXV0aWxzL2hleGR1bXAtcGFyc2UuYzo2MAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiJSVzIHJlcXVpcmVzIGEgcHJlY2lzaW9uIG9yIGEgYnl0ZSBjb3VudCIKK21zZ3N0ciAiJSVzIOmcgOimgeeyvueiuuW6puaIluS9jeWFg+e1hOioiOaVuCIKKworIzogdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmM6NjUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgImJhZCBmb3JtYXQgeyVzfSIKK21zZ3N0ciAi5LiN55W255qE5qC85byPIHslc30iCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjcwCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJiYWQgY29udmVyc2lvbiBjaGFyYWN0ZXIgJSUlcyIKK21zZ3N0ciAi5LiN55W255qE6L2J5o+b5a2X5YWDICUlJXMiCisKKyM6IHRleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jOjQzNgorIywgZnV6enkKK21zZ2lkICJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIgorbXNnc3RyICLkvY3lhYPntYToqIjmlbjoiIflpJrph43ovYnmj5vlrZflhYMiCisKKyM6IHRleHQtdXRpbHMvbGluZS5jOjM0Cittc2dpZCAiUmVhZCBvbmUgbGluZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyMzUKK21zZ2lkICJBIGZpbGUgcGVydXNhbCBmaWx0ZXIgZm9yIENSVCB2aWV3aW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLWQgICAgICAgICAgZGlzcGxheSBoZWxwIGluc3RlYWQgb2YgcmluZ2luZyBiZWxsXG4iCittc2dzdHIgIiAtaCAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjIzOQorIywgZnV6enkKK21zZ2lkICIgLWYgICAgICAgICAgY291bnQgbG9naWNhbCByYXRoZXIgdGhhbiBzY3JlZW4gbGluZXNcbiIKK21zZ3N0ciAiIC1mICAgICAgICAgICDkuI3liIblibLplbfliJdcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQwCisjLCBmdXp6eQorbXNnaWQgIiAtbCAgICAgICAgICBzdXBwcmVzcyBwYXVzZSBhZnRlciBmb3JtIGZlZWRcbiIKK21zZ3N0ciAiIC1lICAgICAgICAgICDkuI3mmqvlgZzmlrzntZDmnZ/nmoTmqpTmoYhcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjQxCisjLCBmdXp6eQorbXNnaWQgIiAtYyAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBkaXNwbGF5IHRleHQgYW5kIGNsZWFuIGxpbmUgZW5kc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDIKKyMsIGZ1enp5Cittc2dpZCAiIC1wICAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCittc2dzdHIgIiAtYyAgICAgICAgICAg5riF56m66J6i5bmV5LmL5YmN6aGv56S6XG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0MworIywgZnV6enkKK21zZ2lkICIgLXMgICAgICAgICAgc3F1ZWV6ZSBtdWx0aXBsZSBibGFuayBsaW5lcyBpbnRvIG9uZVxuIgorbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NAorbXNnaWQgIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NQorIywgZnV6enkKK21zZ2lkICIgLTxudW1iZXI+ICAgdGhlIG51bWJlciBvZiBsaW5lcyBwZXIgc2NyZWVuZnVsXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAg5YiX5ZCE6aCB6Z2iXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjI0NgorbXNnaWQgIiArPG51bWJlcj4gICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gbGluZSBudW1iZXJcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoyNDcKK21zZ2lkICIgKy88c3RyaW5nPiAgZGlzcGxheSBmaWxlIGJlZ2lubmluZyBmcm9tIHNlYXJjaCBzdHJpbmcgbWF0Y2hcbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1MDUKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInVua25vd24gb3B0aW9uIC0lcyIKK21zZ3N0ciAi5LiN5piO6YG46aCFIC0lcyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NTI5CisjLCBjLWZvcm1hdAorbXNnaWQgIiIKKyJcbiIKKyIqKiogJXM6IGRpcmVjdG9yeSAqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKiAlczog55uu6YyEICoqKlxuIgorIlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo1NzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiIgorIlxuIgorIioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcbiIKKyJcbiIKK21zZ3N0ciAiIgorIlxuIgorIioqKioqKioqICVzOiDkuI3mmK/mloflrZfmqpQgKioqKioqKipcbiIKKyJcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NjY2CisjLCBjLWZvcm1hdAorbXNnaWQgIltVc2UgcSBvciBRIHRvIHF1aXRdIgorbXNnc3RyICJb5L2/55SoIHEg5oiWIFEg5Lul6Zui6ZaLXSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6NzQ1CisjLCBjLWZvcm1hdAorbXNnaWQgIi0tTW9yZS0tIgorbXNnc3RyICItLeabtOWkmi0tIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NDcKKyMsIGMtZm9ybWF0Cittc2dpZCAiKE5leHQgZmlsZTogJXMpIgorbXNnc3RyICIo5LiL5LiA5YCL5qqU5qGI77yaJXMpIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzo3NTUKKyMsIGMtZm9ybWF0Cittc2dpZCAiW1ByZXNzIHNwYWNlIHRvIGNvbnRpbnVlLCAncScgdG8gcXVpdC5dIgorbXNnc3RyICJb5oyJ5LiL56m65qC85Lul57m857qM77yM44CMceOAjeihqOekuumboumWi+OAgl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjExODMKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIi4uLmJhY2sgJWQgcGFnZSIKK21zZ2lkX3BsdXJhbCAiLi4uYmFjayAlZCBwYWdlcyIKK21zZ3N0clswXSAi4oCm5YCS6YCAICVkIOmggSIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiLi4uc2tpcHBpbmcgJWQgbGluZSIKK21zZ2lkX3BsdXJhbCAiLi4uc2tpcHBpbmcgJWQgbGluZXMiCittc2dzdHJbMF0gIuKApui3s+mBjiAlZCDliJciCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyNjkKK21zZ2lkICIiCisiXG4iCisiKioqQmFjayoqKlxuIgorIlxuIgorbXNnc3RyICIiCisiXG4iCisiKioq5YCS6YCAKioqXG4iCisiXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEyODQKKyMsIGZ1enp5Cittc2dpZCAiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIgorbXNnc3RyICLmspLmnInliY3kuIDlgIvmraPopo/ooajnpLrlvI8iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjEzMTQKK21zZ2lkICIiCisiXG4iCisiTW9zdCBjb21tYW5kcyBvcHRpb25hbGx5IHByZWNlZGVkIGJ5IGludGVnZXIgYXJndW1lbnQgay4gIERlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIgorbXNnc3RyICIiCisiXG4iCisi5aSn6YOo5YiG5ZG95Luk5Y+v6YG455So5YmN5bCO55qE5pW05pW45byV5pW4IGvjgILpoJDoqK3lgLzkvY3mlrzkuK3mi6zomZ/lhafjgIJcbiIKKyLmmJ/omZ8gKCopIOeUqOS+huaMh+WumuW8leaVuOaIkOeCuuaWsOeahOmgkOioreWAvOOAglxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxMzIxCittc2dpZCAiIgorIjxzcGFjZT4gICAgICAgICAgICAgICAgIERpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQgW2N1cnJlbnQgc2NyZWVuIHNpemVdXG4iCisieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbMV0qXG4iCisiZCBvciBjdHJsLUQgICAgICAgICAgICAgU2Nyb2xsIGsgbGluZXMgW2N1cnJlbnQgc2Nyb2xsIHNpemUsIGluaXRpYWxseSAxMV0qXG4iCisicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBsaW5lcyBvZiB0ZXh0IFsxXVxuIgorImYgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKyInICAgICAgICAgICAgICAgICAgICAgICBHbyB0byBwbGFjZSB3aGVyZSBwcmV2aW91cyBzZWFyY2ggc3RhcnRlZFxuIgorIj0gICAgICAgICAgICAgICAgICAgICAgIERpc3BsYXkgY3VycmVudCBsaW5lIG51bWJlclxuIgorIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorIm4gICAgICAgICAgICAgICAgICAgICAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByLmUgWzFdXG4iCisiITxjbWQ+IG9yIDohPGNtZD4gICAgICAgRXhlY3V0ZSA8Y21kPiBpbiBhIHN1YnNoZWxsXG4iCisidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAgUmVkcmF3IHNjcmVlblxuIgorIjpuICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIGt0aCBuZXh0IGZpbGUgWzFdXG4iCisiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisiOmYgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBjdXJyZW50IGZpbGUgbmFtZSBhbmQgbGluZSBudW1iZXJcbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICBSZXBlYXQgcHJldmlvdXMgY29tbWFuZFxuIgorbXNnc3RyICIiCisiPHNwYWNlPiAgICAgICAgICAgICAgICDpoa/npLrkuIvkuIDntYQgayDliJfmloflrZcgW+ebruWJjeieouW5leWkp+Wwj11cbiIKKyJ6ICAgICAgICAgICAgICAgICAgICAgICDpoa/npLrkuIvkuIDntYQgayDliJfmloflrZcgW+ebruWJjeieouW5leWkp+Wwj10qXG4iCisiPHJldHVybj4gICAgICAgICAgICAgICAg6aGv56S65LiL5LiA57WEIGsg5YiX5paH5a2XIFsxXSpcbiIKKyJkIOaIliBjdHJsLUQgICAgICAgICAgICAg5o2y5YuVIGsg5YiXIFvnm67liY3mjbLli5XlpKflsI/vvIzliJ3lp4vlgLwgMTFdKlxuIgorInEg5oiWIFEg5oiWIDxpbnRlcnJ1cHQ+ICAg6Zui6ZaLIG1vcmVcbiIKKyJzICAgICAgICAgICAgICAgICAgICAgICDlkJHliY3ot7PpgY4gayDliJfmloflrZcgWzFdXG4iCisiZiAgICAgICAgICAgICAgICAgICAgICAg5ZCR5YmN6Lez6YGOIGsg5YWo6J6i5bmV55qE5paH5a2XIFsxXVxuIgorImIg5oiWIGN0cmwtQiAgICAgICAgICAgICDlkJHlvozot7PpgY4gayDlhajonqLluZXnmoTmloflrZcgWzFdXG4iCisiJyAgICAgICAgICAgICAgICAgICAgICAg5YmN5b6A5YmN5LiA5YCL5pCc5bCL6ZaL5aeL55qE5L2N572uXG4iCisiPSAgICAgICAgICAgICAgICAgICAgICAg6aGv56S655uu5YmN5YiX6JmfXG4iCisiLzzmraPopo/ooajnpLrlvI8+ICAgICAgICAgICDmkJzlsIvnrKwgayDlgIvlh7rnj77nmoTmraPopo/ooajnpLrlvI8gWzFdXG4iCisibiAgICAgICAgICAgICAgICAgICAgICAg5pCc5bCL56ysIGsg5YCL5Ye654++55qE5YCS5pW45q2j6KaP6KGo56S65byPIFsxXVxuIgorIiE8Y21kPiDmiJYgOiE8Y21kPiAgICAgICDlnKggc3Vic2hlbGwg5Lit5Z+36KGMIDxjbWQ+XG4iCisidiAgICAgICAgICAgICAgICAgICAgICAg5Zyo55W25YmN5YiX5LiK5ZWf5YuVIC91c3IvYmluL3ZpXG4iCisiY3RybC1MICAgICAgICAgICAgICAgICAg6YeN57mq6J6i5bmVXG4iCisiOm4gICAgICAgICAgICAgICAgICAgICAg5YmN5b6A5b6M6Z2i56ysIGsg5YCL5qqU5qGIIFsxXVxuIgorIjpwICAgICAgICAgICAgICAgICAgICAgIOWJjeW+gOWJjemdouesrCBrIOWAi+aqlOahiCBbMV1cbiIKKyI6ZiAgICAgICAgICAgICAgICAgICAgICDpoa/npLrnm67liY3mqpTmoYjlkI3nqLHlkozliJfomZ9cbiIKKyIuICAgICAgICAgICAgICAgICAgICAgICDph43opIfliY3kuIDlgIvlkb3ku6RcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTM5NCB0ZXh0LXV0aWxzL21vcmUuYzoxNDAwCisjLCBjLWZvcm1hdAorbXNnaWQgIltQcmVzcyAnaCcgZm9yIGluc3RydWN0aW9ucy5dIgorbXNnc3RyICJb5oyJ5LiL44CMaOOAjeWIl+WHuuaMh+S7pOOAgl0iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE0MzEKKyMsIGMtZm9ybWF0Cittc2dpZCAiXCIlc1wiIGxpbmUgJWQiCittc2dzdHIgIuOAjCVz44CN56ysICVkIOWIlyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTQzMworIywgYy1mb3JtYXQKK21zZ2lkICJbTm90IGEgZmlsZV0gbGluZSAlZCIKK21zZ3N0ciAiW+mdnuaqlOahiF0g56ysICVkIOWIlyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTUxNQorbXNnaWQgIiAgT3ZlcmZsb3dcbiIKK21zZ3N0ciAiICDmuqLkvY1cbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTU2NAorbXNnaWQgIi4uLnNraXBwaW5nXG4iCittc2dzdHIgIuKApui3s+mBjlxuIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNTk4Cittc2dpZCAiIgorIlxuIgorIlBhdHRlcm4gbm90IGZvdW5kXG4iCittc2dzdHIgIiIKKyJcbiIKKyLmib7kuI3liLDnm7jnrKbnmoTlvI/mqKNcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTYwNCB0ZXh0LXV0aWxzL3BnLmM6MTAzNSB0ZXh0LXV0aWxzL3BnLmM6MTE4MQorbXNnaWQgIlBhdHRlcm4gbm90IGZvdW5kIgorbXNnc3RyICLmib7kuI3liLDnm7jnrKbnmoTlvI/mqKMiCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE2NTIKK21zZ2lkICJleGVjIGZhaWxlZFxuIgorbXNnc3RyICLln7fooYzmmYLlpLHmlZdcbiIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTY2NgorbXNnaWQgImNhbid0IGZvcmtcbiIKK21zZ3N0ciAi54Sh5rOV6KGN55Sf5Z+36KGMXG4iCisKKyM6IHRleHQtdXRpbHMvbW9yZS5jOjE3MDAKK21zZ2lkICIiCisiXG4iCisiLi4uU2tpcHBpbmcgIgorbXNnc3RyICIiCisiXG4iCisiLi4u6Lez6YGOICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTcwNAorbXNnaWQgIi4uLlNraXBwaW5nIHRvIGZpbGUgIgorbXNnc3RyICLigKbot7PliLDmqpTmoYggIgorCisjOiB0ZXh0LXV0aWxzL21vcmUuYzoxNzA2Cittc2dpZCAiLi4uU2tpcHBpbmcgYmFjayB0byBmaWxlICIKK21zZ3N0ciAi4oCm6Lez5Zue5qqU5qGIICIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MTk5NQorbXNnaWQgIkxpbmUgdG9vIGxvbmciCittc2dzdHIgIuWIl+WkqumVtyIKKworIzogdGV4dC11dGlscy9tb3JlLmM6MjAzMgorbXNnaWQgIk5vIHByZXZpb3VzIGNvbW1hbmQgdG8gc3Vic3RpdHV0ZSBmb3IiCittc2dzdHIgIuaykuacieWJjeS4gOWAi+WRveS7pOWPr+eUqOaWvOabv+S7oyIKKworIzogdGV4dC11dGlscy9wZy5jOjE1MgorIywgZnV6enkKK21zZ2lkICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cbiIKKyIgIHEgb3IgUSAgICAgICAgICAgICAgICAgIHF1aXQgcHJvZ3JhbVxuIgorIiAgPG5ld2xpbmU+ICAgICAgICAgICAgICAgbmV4dCBwYWdlXG4iCisiICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG4iCisiICBkIG9yIF5EICAgICAgICAgICAgICAgICBuZXh0IGhhbGZwYWdlXG4iCisiICBsICAgICAgICAgICAgICAgICAgICAgICBuZXh0IGxpbmVcbiIKKyIgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuIgorIiAgL3JlZ2V4LyAgICAgICAgICAgICAgICAgc2VhcmNoIGZvcndhcmQgZm9yIHJlZ2V4XG4iCisiICA/cmVnZXg/IG9yIF5yZWdleF4gICAgICBzZWFyY2ggYmFja3dhcmQgZm9yIHJlZ2V4XG4iCisiICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG4iCisiICB3IG9yIHogICAgICAgICAgICAgICAgICBzZXQgcGFnZSBzaXplIGFuZCBnbyB0byBuZXh0IHBhZ2VcbiIKKyIgIHMgZmlsZW5hbWUgICAgICAgICAgICAgIHNhdmUgY3VycmVudCBmaWxlIHRvIGZpbGVuYW1lXG4iCisiICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcbiIKKyIgIHAgICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIHByZXZpb3VzIGZpbGVcbiIKKyIgIG4gICAgICAgICAgICAgICAgICAgICAgIGdvIHRvIG5leHQgZmlsZVxuIgorIlxuIgorIk1hbnkgY29tbWFuZHMgYWNjZXB0IHByZWNlZGluZyBudW1iZXJzLCBmb3IgZXhhbXBsZTpcbiIKKyIrMTxuZXdsaW5lPiAobmV4dCBwYWdlKTsgLTE8bmV3bGluZT4gKHByZXZpb3VzIHBhZ2UpOyAxPG5ld2xpbmU+IChmaXJzdCBwYWdlKS5cbiIKKyJcbiIKKyJTZWUgcGcoMSkgZm9yIG1vcmUgaW5mb3JtYXRpb24uXG4iCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorbXNnc3RyICIiCisiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuIgorIiAgaCAgICAgICAgICAgICAgICAgICAgICAg6YCZ5YCL6J6i5bmVXG4iCisiICBxIOaIliBRICAgICAgICAgICAgICAgICAg6Zui6ZaL56iL5byPXG4iCisiICA8bmV3bGluZT4gICAgICAgICAgICAgICDkuIvkuIDpoIFcbiIKKyIgIGYgICAgICAgICAgICAgICAgICAgICAgIOi3s+mBjumggemdoui9ieWvhFxuIgorIiAgZCDmiJYgXkQgICAgICAgICAgICAgICAgIOS4i+S4gOWAiyBoYWxmcGFnZVxuIgorIiAgbCAgICAgICAgICAgICAgICAgICAgICAg5LiL5LiA5YCL5YiXXG4iCisiICAkICAgICAgICAgICAgICAgICAgICAgICDmnIDlvozkuIDpoIFcbiIKKyIgL3JlZ2V4LyAgICAgICAgICAgICAgICDmkJzlsIvovYnlr4TnlKjmlrwgcmVnZXhcbiIKKyIg77yfcmVnZXjvvJ/miJYgXiByZWdleCBeICAgICAg5ZCR5b6M5pCc5bCL55So5pa8IHJlZ2V4XG4iCisiICAu5oiWIF5MICAgICAgICAgICAgICAgICDph43nuaronqLluZVcbiIKKyIgIHcg5oiWIHogICAgICAgICAgICAgICAgICDoqK3lrprpoIHpnaLlpKflsI/kuKbliY3lvoDkuIvkuIDpoIFcbiIKKyIgIHMg5qqU5ZCNICAgICAgICAgICAgICDlhLLlrZjnm67liY3nmoTmqpTmoYjliLDmqpTlkI1cbiIKKyIg77yB5ZG95LukICAgICAgICAgICAgICAgIOWRveS7pOauvOmAgOWHulxuIgorIiAgcCAgICAgICAgICAgICAgICAgICAgICAg5YmN5b6A5YmN5LiA5YCL5qqU5qGIXG4iCisiICBuICAgICAgICAgICAgICAgICAgICAgICDliY3lvoDkuIvkuIDlgIvmqpTmoYhcbiIKKyJcbiIKKyLoqLHlpJrlkb3ku6TmjqXlj5fliY3nubzmlbjph4/vvIzoiInkvovkvoboqqrvvJpcbiIKKyIrMTzmlrDliJflrZflhYM+KOS4i+S4gOmggSnvvJstMTwg5paw5YiX5a2X5YWDPijkuIrkuIDpoIEp77ybMTzmlrDliJflrZflhYM+KOesrOS4gOmggSnjgIJcbiIKKyJcbiIKKyLlj4PnnIsgcGcgKDEpIOS7peeNsuW+l+abtOWkmuizh+ioiuOAglxuIgorIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzMQorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAiICVzIFtvcHRpb25zXSBbK2xpbmVdIFsrL3BhdHRlcm4vXSBbZmlsZXNdXG4iCittc2dzdHIgIiAlcyBb6YG46aCFXSBbK+WIl10gWysv6IOa6aiwL10gW+aqlOahiF1cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzNQorbXNnaWQgIkJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMuXG4iCittc2dzdHIgIiIKKworIzogdGV4dC11dGlscy9wZy5jOjIzOAorIywgZnV6enkKK21zZ2lkICIgLW51bWJlciAgICAgIGxpbmVzIHBlciBwYWdlXG4iCittc2dzdHIgIiAtbnVtYmVyICAgICAg5YiX5ZCE6aCB6Z2iXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyMzkKKyMsIGZ1enp5Cittc2dpZCAiIC1jICAgICAgICAgICBjbGVhciBzY3JlZW4gYmVmb3JlIGRpc3BsYXlpbmdcbiIKK21zZ3N0ciAiIC1jICAgICAgICAgICDmuIXnqbronqLluZXkuYvliY3poa/npLpcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0MAorIywgZnV6enkKK21zZ2lkICIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iCittc2dzdHIgIiAtZSAgICAgICAgICAg5LiN5pqr5YGc5pa857WQ5p2f55qE5qqU5qGIXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDEKKyMsIGZ1enp5Cittc2dpZCAiIC1mICAgICAgICAgICBkbyBub3Qgc3BsaXQgbG9uZyBsaW5lc1xuIgorbXNnc3RyICIgLWYgICAgICAgICAgIOS4jeWIhuWJsumVt+WIl1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQyCisjLCBmdXp6eQorbXNnaWQgIiAtbiAgICAgICAgICAgdGVybWluYXRlIGNvbW1hbmQgd2l0aCBuZXcgbGluZVxuIgorbXNnc3RyICIgLW4gICAgICAgICAgIOe1guatouWRveS7pOiIh+aPm+WIl1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQzCisjLCBmdXp6eQorbXNnaWQgIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIKK21zZ3N0ciAiIC1wIDxwcm9tcHQ+ICDmjIflrprmj5DnpLpcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI0NAorIywgZnV6enkKK21zZ2lkICIgLXIgICAgICAgICAgIGRpc2FsbG93IHNoZWxsIGVzY2FwZVxuIgorbXNnc3RyICIgLXIgICAgICAgICAgIGRpc2FsbG93IOWRveS7pOauvOmAgOWHulxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjQ1CisjLCBmdXp6eQorbXNnaWQgIiAtcyAgICAgICAgICAgcHJpbnQgbWVzc2FnZXMgdG8gc3Rkb3V0XG4iCittc2dzdHIgIiAtcyAgICAgICAgICAg5YiX5Y2w6KiK5oGv5Yiw5qiZ5rqW6Ly45Ye6XG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDYKKyMsIGZ1enp5Cittc2dpZCAiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIgorbXNnc3RyICIr5pW45a2XICAgICAg6ZaL5aeL5pa857Wm5a6a55qE5YiXXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzoyNDcKKyMsIGZ1enp5Cittc2dpZCAiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIKK21zZ3N0ciAiKy/og5rpqLAvICDplovlp4vmlrzliJfljIXlkKvog5rpqLBcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjI1OAorIywgZnV6enksIGMtZm9ybWF0Cittc2dpZCAib3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICVzIgorbXNnc3RyICIlc++8mumBuOmghemcgOimgeS4gOWAi+W8leaVuCAtLSAlc1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MjY0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIKK21zZ3N0ciAiJXPvvJrkuI3lkIjms5XnmoTpgbjpoIUgLS0gJXNcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM2NworbXNnaWQgIi4uLnNraXBwaW5nIGZvcndhcmRcbiIKK21zZ3N0ciAi4oCm5ZCR5YmN6Lez6YGOXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzozNjkKK21zZ2lkICIuLi5za2lwcGluZyBiYWNrd2FyZFxuIgorbXNnc3RyICLigKblkJHlvozot7PpgY5cbiIKKworIzogdGV4dC11dGlscy9wZy5jOjM4NQorbXNnaWQgIk5vIG5leHQgZmlsZSIKK21zZ3N0ciAi5rKS5pyJ5LiL5YCL5qqU5qGIIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6Mzg5Cittc2dpZCAiTm8gcHJldmlvdXMgZmlsZSIKK21zZ3N0ciAi5rKS5pyJ5LiK5YCL5qqU5qGIIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODkxCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJSZWFkIGVycm9yIGZyb20gJXMgZmlsZSIKK21zZ3N0ciAiJXPvvJrlvp4gJXMg5qqU5qGI6K6A5Y+W5pmC6Yyv6KqkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo4OTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIlVuZXhwZWN0ZWQgRU9GIGluICVzIGZpbGUiCittc2dzdHIgIiVz77ya5ZyoICVzIOaqlOahiOS4reWHuuePvuacqumgkOacn+eahOaqlOahiOe1kOadn1xuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6ODk2CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVbmtub3duIGVycm9yIGluICVzIGZpbGUiCittc2dzdHIgIiVz77yaJXMg5qqU5qGI5Lit55m855Sf5LiN5piO6Yyv6KqkXG4iCisKKyM6IHRleHQtdXRpbHMvcGcuYzo5NDkKKyMsIGZ1enp5Cittc2dpZCAiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIKK21zZ3N0ciAiJXPvvJrnhKHms5Xlu7rnq4vmmqvlrZjmqpRcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjk1OCB0ZXh0LXV0aWxzL3BnLmM6MTEyMiB0ZXh0LXV0aWxzL3BnLmM6MTE0OAorbXNnaWQgIlJFIGVycm9yOiAiCittc2dzdHIgIuato+imj+ihqOekuuW8j+mMr+iqpO+8miIKKworIzogdGV4dC11dGlscy9wZy5jOjExMDUKK21zZ2lkICIoRU9GKSIKK21zZ3N0ciAiKOaqlOahiOe1kOadnykiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMTMwIHRleHQtdXRpbHMvcGcuYzoxMTU2Cittc2dpZCAiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIgorbXNnc3RyICLmspLmnInooqvoqJjkvY/nmoTmkJzlsIvlrZfkuLIiCisKKyM6IHRleHQtdXRpbHMvcGcuYzoxMjExCisjLCBmdXp6eQorbXNnaWQgImNhbm5vdCBvcGVuICIKK21zZ3N0ciAi54Sh5rOV6ZaL5ZWfICIKKworIzogdGV4dC11dGlscy9wZy5jOjEyNjMKK21zZ2lkICJzYXZlZCIKK21zZ3N0ciAi5bey5YSy5a2YIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTM1MworbXNnaWQgIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gcmZsYWcgbW9kZS5cbiIKK21zZ3N0ciAi77yaIeWRveS7pOWcqCByZmxhZyDmqKHlvI/kuI3lhYHoqLHjgIJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjEzODcKK21zZ2lkICJmb3JrKCkgZmFpbGVkLCB0cnkgYWdhaW4gbGF0ZXJcbiIKK21zZ3N0ciAiZm9yaygpIOWkseaVl++8jOeojeW+jOWGjeipplxuIgorCisjOiB0ZXh0LXV0aWxzL3BnLmM6MTQ3NQorbXNnaWQgIihOZXh0IGZpbGU6ICIKK21zZ3N0ciAiKOS4i+WAi+aqlOahiO+8miIKKworIzogdGV4dC11dGlscy9wZy5jOjE1NDEKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgIiVzICVzIENvcHlyaWdodCAoYykgMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXIuIEFsbCByaWdodHMgcmVzZXJ2ZWQuXG4iCittc2dzdHIgIiVzICVzIOiRl+S9nOasisKpMjAwMC0yMDAxIEd1bm5hciBSaXR0ZXLjgILniYjmrIrmiYDmnInjgIJcbiIKKworIzogdGV4dC11dGlscy9wZy5jOjE1OTQgdGV4dC11dGlscy9wZy5jOjE2NjcKKyMsIGZ1enp5Cittc2dpZCAiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIKK21zZ3N0ciAi5YmW5p6Q5YiX6Jmf55qE5pmC5aSx5pWXIgorCisjOiB0ZXh0LXV0aWxzL3Jldi5jOjc3CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKK21zZ3N0ciAi55So5rOV77yaJXMgW+mBuOmghV0gW+aqlOahiC4uLl1cbiIKKworIzogdGV4dC11dGlscy9yZXYuYzo4MQorbXNnaWQgIlJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZS5cbiIKK21zZ3N0ciAiIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MTQyCisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIgorbXNnc3RyICIgJXMgW+mBuOmghV0gWzxmaWxlPl1cbiIKKworIzogdGV4dC11dGlscy91bC5jOjE0NQorbXNnaWQgIkRvIHVuZGVybGluaW5nLlxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDgKK21zZ2lkICIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoxNDkKK21zZ2lkICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorbXNnc3RyICIiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMDkKK21zZ2lkICJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iCittc2dzdHIgIuiugOWPliB0ZXJtaW5mbyDmmYLlh7rnj77llY/poYwiCisKKyM6IHRleHQtdXRpbHMvdWwuYzoyMTQKKyMsIGZ1enp5LCBjLWZvcm1hdAorbXNnaWQgInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIKK21zZ3N0ciAi57WC56uv5qmf44COJXPjgI/kuI3mmK/lt7Lnn6XvvIzpoJDoqK3liLDjgI5kdW1i44CPIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6MzA0CisjLCBmdXp6eSwgYy1mb3JtYXQKK21zZ2lkICJ1bmtub3duIGVzY2FwZSBzZXF1ZW5jZSBpbiBpbnB1dDogJW8sICVvIgorbXNnc3RyICLkuI3mmI7nmoTpgIDlh7rluo/liJflnKjkuK3ovLjlhaXvvJolb++8jCVvIgorCisjOiB0ZXh0LXV0aWxzL3VsLmM6NjI5CisjLCBmdXp6eQorbXNnaWQgIklucHV0IGxpbmUgdG9vIGxvbmcuIgorbXNnc3RyICLovLjlhaXliJflpKrplbfjgIIiCisKKyN+IG1zZ2lkICJHZW9tZXRyeSIKKyN+IG1zZ3N0ciAi57WQ5qeLIgorCisjLCBmdXp6eQorI34gbXNnaWQgImtpbmQgb2YgbG9jazogRkxfRkxPQ0sgb3IgRkxfUE9TSVguIgorI34gbXNnc3RyICJraW5kIOeahOmOluWumu+8mkZMX0ZMT0NLIOaIliBGTF9QT1NJWOOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZXhlYyAvYmluL3Vtb3VudCBvZiBgJXMnIgorI34gbXNnc3RyICLnhKHms5UgZXhlYy9iaW4vdW1vdW50IOeahOOAjiVz44CPIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtRCwgLS1kZWJ1ZyAgICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIKKyN+IG1zZ3N0ciAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICAg5YiX5Y2w6Kmz57Sw55qE6LOH5paZXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIHJlYWQgZnJvbTogJXMiCisjfiBtc2dzdHIgIuiugOWPluaZguWkseaVl++8miVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBleGVjdXRlOiAlcyIKKyN+IG1zZ3N0ciAi54Sh5rOV5a+r5YWlICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVuc3VwcG9ydGVkIGFsZ29yaXRobTogJXMiCisjfiBtc2dzdHIgIuS4jeWPl+aUr+aPtOeahOW8leaVuO+8miVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUZXN0IG1vZGU6ICVzIHdhcyBub3QgdXBkYXRlZCB3aXRoOlxuIgorI34gIiVzIgorI34gbXNnc3RyICLoo53nva4gJXMg5pyq6IiHICVzIOacieaJgOmXnOiBr1xuIgorCisjfiBtc2dpZCAiQ291bGQgbm90IG9wZW4gZmlsZSB3aXRoIHRoZSBjbG9jayBhZGp1c3RtZW50IHBhcmFtZXRlcnMgaW4gaXQgKCVzKSBmb3Igd3JpdGluZyIKKyN+IG1zZ3N0ciAi54Sh5rOV5Lul5YW25Lit55qE5pmC6ZCY6Kq/5pW05Y+D5pW4ICglcykg6ZaL5ZWf5qqU5qGI55So5pa85a+r5YWlIgorCisjfiBtc2dpZCAiQ291bGQgbm90IHVwZGF0ZSBmaWxlIHdpdGggdGhlIGNsb2NrIGFkanVzdG1lbnQgcGFyYW1ldGVycyAoJXMpIGluIGl0IgorI34gbXNnc3RyICLnhKHms5Xku6XlhbbkuK3nmoTmmYLpkJjoqr/mlbTlj4PmlbggKCVzKSDmm7TmlrDmqpTmoYgiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRHJpZnQgYWRqdXN0bWVudCBwYXJhbWV0ZXJzIG5vdCB1cGRhdGVkLiIKKyN+IG1zZ3N0ciAi5ryC56e76Kq/5pW05Y+D5pW454Sh5rOV5pu05paw44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRlc3QgbW9kZTogZXBvY2ggd2FzIG5vdCBzZXQgdG8gJXMuXG4iCisjfiBtc2dzdHIgIuWkp+Wwj+eahOS6pOaPm+WNgOWfnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgLVZcbiIKKyN+ICIgJTEkcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+ICIgJTEkcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29tbWFuZHM6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJTEkcyAtVlxuIgorI34gIiAlMSRzIC0tcmVwb3J0IFvoo53nva5dXG4iCisjfiAiICUxJHMgWy12fC1xXSDlkb3ku6Too53nva5cbiIKKyN+ICJcbiIKKyN+ICLlj6/nlKjlkb3ku6TvvJpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQXZhaWxhYmxlIGNvbHVtbnMgKGZvciAtbyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLlj6/nlKjmrITkvY0gKOeUqOaWvCAtLXNob3cp77yaXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyIKKyN+IG1zZ3N0ciAi5bCL5oyH6Yyv6Kqk5pa8ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdDtcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgLVYgYXMgLS12ZXJzaW9uIG11c3QgYmUgdGhlIG9ubHkgb3B0aW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdywgLS1yYXcgb3IgLS1wYWlycyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLlj6/nlKjmrITkvY0gKOeUqOaWvCAtLXNob3fvvIwtLXJhdyDmiJYgLS1wYWlycynvvJpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXYsIC0tdmVyc2lvbiAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC12LCAtLXZlcnNpb24gIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRyeSAnJXMgLWgnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICLlmJfoqabjgI4lcyAtLWhlbHDjgI/ku6XnjbLlvpfmm7TlpJros4foqIrjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWgsIC0taGVscCAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oLCAtLWhlbHAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYsIC0tdmVyc2lvbiAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11LCAtLWhlbHAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtdSwgLS1oZWxwICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJObyBrbm93biBzaGVsbHMuIgorI34gbXNnc3RyICLmspLmnInlt7Lnn6Xlkb3ku6TmrrzjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Y+v55So5qyE5L2N77yaXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSAtdSA8dXNlcj4gW1stLV0gPGNvbW1hbmQ+XVxuIgorI34gbXNnc3RyICIgJXMgW+mBuOmghV0gPHVzZXI+IFs8dHR5bmFtZT5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkF2YWlsYWJsZSBjb2x1bW5zIChmb3IgLS1vdXRwdXQpOlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5Y+v55So5qyE5L2NICjnlKjmlrwgLS1vdXRwdXQp77yaXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICLlmJfoqabjgI4lcyAtLWhlbHDjgI/ku6XnjbLlvpfmm7TlpJros4foqIrjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXYsIC0tdmVyYm9zZSAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gbXNnc3RyICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAg6Kej6YeL5LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtciwgLS1yYW5kb20gICAgIGdlbmVyYXRlIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgZ2VuZXJhdGUgdGltZS1iYXNlZCB1dWlkXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1yLCAtLXJhbmRvbSAgICAg55Si55SfIHJhbmRvbS1iYXNlZCB1dWlkXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAg55Si55SfIHRpbWUtYmFzZWQgdXVpZFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICB3aXBlIGFsbCBtYWdpYyBzdHJpbmdzIChCRSBDQVJFRlVMISlcbiIKKyN+ICIgLWIsIC0tYmFja3VwICAgICAgICBjcmVhdGUgYSBzaWduYXR1cmUgYmFja3VwIGluICRIT01FXG4iCisjfiAiIC1mLCAtLWZvcmNlICAgICAgICAgZm9yY2UgZXJhc3VyZVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIHNob3cgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLW4sIC0tbm8tYWN0ICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCB0aGUgYWN0dWFsIHdyaXRlKCkgY2FsbFxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCB0byBlcmFzZSwgaW4gYnl0ZXNcbiIKKyN+ICIgLXAsIC0tcGFyc2FibGUgICAgICBwcmludCBvdXQgaW4gcGFyc2FibGUgaW5zdGVhZCBvZiBwcmludGFibGUgZm9ybWF0XG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgc3VwcHJlc3Mgb3V0cHV0IG1lc3NhZ2VzXG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtLCBSQUlEcyBvciBwYXJ0aXRpb24gdGFibGVzXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgIOaSpeaJgOaciemtlOihk+Wtl+S4siAo6KuL5bCP5b+DICEpXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO5paH5a2XXG4iCisjfiAiIC1uLCAtLW5vLWFjdCAgICAgICAg5YGa5omA5pyJ5p2x6KW/6Zmk5LqG5a+m6Zqb55qE5a+r5YWlKCkg5ZG85Y+rXG4iCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAg5YGP56e75Yiw5riF6Zmk77yM5Zyo5Lit5L2N5YWD57WEXG4iCisjfiAiIC1wLCAtLXBhcnNhYmxlICAgICAg5Y2w5Ye65Zyo5LitIHBhcnNhYmxlIOS7peS7o+abv+WPr+WIl+WNsOagvOW8j1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgIOaKkeWItui8uOWHuuioiuaBr1xuIgorI34gIiAtdCwgLS10eXBlczzmuIXllq4+IOmZkOWItumbhuWQiOaqlOahiOezu+e1se+8jFJBSURzIOaIluWIhuWJsuihqFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBIYXJkd2FyZSBDbG9jayByZWdpc3RlcnMgY29udGFpbiB2YWx1ZXMgdGhhdCBhcmUgZWl0aGVyIGludmFsaWQgKGUuZy4gNTB0aCBkYXkgb2YgbW9udGgpIG9yIGJleW9uZCB0aGUgcmFuZ2Ugd2UgY2FuIGhhbmRsZSAoZS5nLiBZZWFyIDIwOTUpLiIKKyN+IG1zZ3N0ciAi56Gs6auU6ZCY6KiK5pqr5a2Y5Zmo5YyF5ZCr5YC85omA6YKE5piv54Sh5pWI55qEKOS+i+Wmgu+8mjUwIHRoIOaciOS4reafkOaXpSkg5oiW5L2N5pa85LmL5b6M56+E5ZyN5oiR5YCR5Y+v5Lul5o6n5p+EKOS+i+Wmgu+8muW5tCAyMDk1KeOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgSGFyZHdhcmUgQ2xvY2sgZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIHRpbWUsIHNvIHdlIGNhbm5vdCBzZXQgdGhlIFN5c3RlbSBUaW1lIGZyb20gaXQuIgorI34gbXNnc3RyICLnoazpq5TmmYLpkJjkuI3ljIXlkKvmnInmlYjmmYLplpPvvIzlm6DogIzmiJHlgJHnhKHms5XoqK3lrprns7vntbHmmYLplpPlvp7lroPjgIIiCisKKyN+IG1zZ2lkICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorI34gbXNnc3RyICJcdHR2LnR2X3NlYyA9ICVsZCwgdHYudHZfdXNlYyA9ICVsZFxuIgorCisjfiBtc2dpZCAiXHR0ei50el9taW51dGVzd2VzdCA9ICVkXG4iCisjfiBtc2dzdHIgIlx0dHoudHpfbWludXRlc3dlc3QgPSAlZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk11c3QgYmUgc3VwZXJ1c2VyIHRvIHNldCBzeXN0ZW0gY2xvY2suIgorI34gbXNnc3RyICLlv4XpoIjmmK/ns7vntbHnrqHnkIbogIXliLDoqK3lrprns7vntbHmmYLpkJjjgIIiCisKKyN+IG1zZ2lkICJcdFVUQzogJXNcbiIKKyN+IG1zZ3N0ciAiXHRVVEPvvJolc1xuIgorCisjfiBtc2dpZCAiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgcHJldmlvdXNseSBjb250YWluZWQgZ2FyYmFnZS5cbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6Kq/5pW05YGP5beu5L+C5pW477yM5Zug54K65LmL5YmN55qE56Gs6auU5pmC6ZCY5YyF5ZCr5LqG54Sh55So6LOH5paZ44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGNvbnRhaW4gYSB2YWxpZCB0aW1lLCBzbyB3ZSBjYW5ub3QgYWRqdXN0IGl0LiIKKyN+IG1zZ3N0ciAi56Gs6auU5pmC6ZCY5LiN5YyF5ZCr5pyJ5pWI5pmC6ZaT77yM5Zug6ICM5oiR5YCR54Sh5rOV6Kq/5pW05a6D44CCIgorCisjfiBtc2dpZCAiQXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OSwgUlRDIGlzIHByZWRpY3RlZCB0byByZWFkICVsZCBzZWNvbmRzIGFmdGVyIDE5NjkuXG4iCisjfiBtc2dzdHIgIjE5Njkg5bm05LmL5b6MICVsZCDnp5IsIFJUQyDpoJDoqIjmnIPoroDlj5YgMTk2OSDkuYvlvowgJWxkIOenkuOAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVuYWJsZSB0byBnZXQgdGhlIGVwb2NoIHZhbHVlIGZyb20gdGhlIGtlcm5lbC4iCisjfiBtc2dzdHIgIueEoeazleaPkOWPluaZguacn+WAvOW+nuWFp+aguOOAgiIKKworI34gbXNnaWQgIktlcm5lbCBpcyBhc3N1bWluZyBhbiBlcG9jaCB2YWx1ZSBvZiAlbHVcbiIKKyN+IG1zZ3N0ciAi5YWn5qC45YGH6Kit5pmC5pyf5YC854K6ICVsdVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvIHNldCB0aGUgZXBvY2ggdmFsdWUsIHlvdSBtdXN0IHVzZSB0aGUgJ2Vwb2NoJyBvcHRpb24gdG8gdGVsbCB0byB3aGF0IHZhbHVlIHRvIHNldCBpdC4iCisjfiBtc2dzdHIgIuimgeioreWumuaZguacn+WAvO+8jOaCqOW/hemgiOS9v+eUqOOAjuaZguacn+OAj+mBuOmgheWIsOWRiuiotOWIsOS7gOm6vOWAvOWIsOioreWumuWug+OAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyB0aGUgZXBvY2ggdG8gJWx1IC0gdGVzdGluZyBvbmx5LlxuIgorI34gbXNnc3RyICLkuI3lsIfmmYLmnJ/oqK3lrprngrogJWQgLSDlj6rpmZDmlrzmuKzoqabjgIJcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBzZXQgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwuXG4iCisjfiBtc2dzdHIgIueEoeazleWcqOWFp+aguOS4reioreWumuaZguacn+WAvOOAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICByZWFkIGhhcmR3YXJlIGNsb2NrIGFuZCBwcmludCByZXN1bHRcbiIKKyN+ICIgICAgIC0tZ2V0ICAgICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgZHJpZnQgY29ycmVjdGVkIHJlc3VsdFxuIgorI34gIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyB0byB0aGUgdGltZSBnaXZlbiB3aXRoIC0tZGF0ZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjuaWh+Wtl+eEtuW+jOmboumWi1xuIgorI34gIiAtciwgLS1zaG93ICAgICAgICAgICDoroDlj5bnoazpq5TmmYLpkJjlkozliJfljbDntZDmnpxcbiIKKyN+ICIgICAgIC0tc2V0ICAgICAgICAgICAg6Kit5a6aIFJUQyDliLDmmYLplpPntablrprnmoToiIcgLS1kYXRlXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtcywgLS1oY3Rvc3lzICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGZyb20gdGhlIGhhcmR3YXJlIGNsb2NrXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgZnJvbSB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgLS1zeXN0eiAgICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAtLWFkanVzdCAgICAgICAgIGFkanVzdCB0aGUgUlRDIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICB0aGUgY2xvY2sgd2FzIGxhc3Qgc2V0IG9yIGFkanVzdGVkXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXMsIC0taGN0b3N5cyAgICAgICAg6Kit5a6a57O757Wx5pmC6ZaT5b6e56Gs6auU5pmC6ZCYXG4iCisjfiAiIC13LCAtLXN5c3RvaGMgICAgICAgIOioreWumuehrOmrlOaZgumQmOW+nuebruWJjeeahOezu+e1seaZgumWk1xuIgorI34gIiAgICAgLS1zeXN0eiAgICAgICAgICDoqK3lrprns7vntbHmmYLplpPln7rmlrznm67liY3nmoTmmYLljYBcbiIKKyN+ICIgICAgIC0tYWRqdXN0ICAgICAgICAg6Kq/5pW0IFJUQyDliLDluLPomZ/nlKjmlrwgc3lzdGVtYXRpYyDmvILnp7voh6rlvp5cbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICDmmYLpkJjmmK/mnIDlvozkuIDnrYboqK3lrprmiJboqr/mlbRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWdldGVwb2NoICAgICAgIHByaW50IG91dCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgIC0tc2V0ZXBvY2ggICAgICAgc2V0IHRoZSBrZXJuZWwncyBoYXJkd2FyZSBjbG9jayBlcG9jaCB2YWx1ZSB0byB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWUgZ2l2ZW4gd2l0aCAtLWVwb2NoXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZ2V0ZXBvY2ggICAgICAg5Y2w5Ye65YWn5qC444COcyDnoazpq5TmmYLpkJjmmYLmnJ/lgLxcbiIKKyN+ICIgICAgIC0tc2V0ZXBvY2ggICAgICAg6Kit5a6a5YWn5qC444CPcyDnoazpq5TmmYLpkJjmmYLmnJ/lgLzliLBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICDlgLzntablrprnmoToiIcgLS1lcG9jaFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCBSVEMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgIGRpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLXByZWRpY3QgICAgICAgIOmgkOa4rCBSVEMg6K6A5Y+W5pa85pmC6ZaT57Wm5a6a55qE6IiHIC0tZGF0ZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICDpoa/npLrniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluIFVUQ1xuIgorI34gIiAgICAgLS1sb2NhbHRpbWUgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXUsIC0tdXRjICAgICAgICAgICAg56Gs6auU5pmC6ZCY6KKr5L+d5oyB5Zyo5LitIFVUQ1xuIgorI34gIiAgICAgLS1sb2NhbHRpbWUgICAgICDnoazpq5TmmYLpkJjooqvkv53mjIHlnKjkuK3mnKzlnLDmmYLplpNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWYsIC0tcnRjIDxmaWxlPiAgICAgc3BlY2lhbCAvZGV2Ly4uLiBmaWxlIHRvIHVzZSBpbnN0ZWFkIG9mIGRlZmF1bHRcbiIKKyN+IG1zZ3N0ciAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIOeJueauii9kZXYvLi4u5qqU5qGI5Lul5L2/55So5Lul5Luj5pu/6aCQ6KitXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgZHJpZnQgZmFjdG9yIGluICUxJHMgKHJlcXVpcmVzXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgLS1zZXQgb3IgLS1zeXN0b2hjKVxuIgorI34gIiAgICAgLS1ub2FkamZpbGUgICAgICBkbyBub3QgYWNjZXNzICUxJHM7IHRoaXMgcmVxdWlyZXMgdGhlIHVzZSBvZlxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIGVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgLS1hZGpmaWxlIDxmaWxlPiBzcGVjaWZpZXMgdGhlIHBhdGggdG8gdGhlIGFkanVzdCBmaWxlO1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkZWZhdWx0IGlzICUxJHNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1ub2FkamZpbGUgICAgICDkuI3lrZjlj5YgJXPvvJvpgJnlgIvpnIDmsYLkvb/nlKjnmoRcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICDpgoTmmK8gLS11dGMg5oiWIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAtLWFkamZpbGUgPGZpbGU+IOaMh+Wumui3r+W+keWIsOiqv+aVtOaqlOahiO+8m1xuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgIOmgkOioreaYryAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAgZG8gbm90IHVwZGF0ZSBhbnl0aGluZywganVzdCBzaG93IHdoYXQgd291bGQgaGFwcGVuXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tdGVzdCAgICAgICAgICAg5LiN5pu05paw5Lu75L2V5LqL77yM5YOF6aGv56S65LuA6bq85pyD55m855SfXG4iCisjfiAiIC1ELCAtLWRlYnVnICAgICAgICAgIOWBtemMr+aooeW8j1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgZXBvY2ggYXJndW1lbnQiCisjfiBtc2dzdHIgIueEoeaViOeahOaZguacn+W8leaVuCIKKworI34gbXNnaWQgIiVzIGRvZXMgbm90IGhhdmUgaW50ZXJydXB0IGZ1bmN0aW9ucy4gIgorI34gbXNnc3RyICIlcyDmspLmnInmj5Lmlrflh73lvI/jgIIiCisKKyN+IG1zZ2lkICJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb24gdXBkYXRlIGludGVycnVwdHMgZmFpbGVkIHVuZXhwZWN0ZWRseSIKKyN+IG1zZ3N0ciAiJXMg55qEIGlvY3RsKCkg5omT6ZaL5pu05paw5o+S5pa35oSP5aSW5Zyw5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRvIG1hbmlwdWxhdGUgdGhlIGVwb2NoIHZhbHVlIGluIHRoZSBrZXJuZWwsIHdlIG11c3QgYWNjZXNzIHRoZSBMaW51eCAncnRjJyBkZXZpY2UgZHJpdmVyIHZpYSB0aGUgZGV2aWNlIHNwZWNpYWwgZmlsZS4gIFRoaXMgZmlsZSBkb2VzIG5vdCBleGlzdCBvbiB0aGlzIHN5c3RlbS4iCisjfiBtc2dzdHIgIuimgeaTjeaOp+aZguacn+WAvOWcqOS4reWFp+aguO+8jOaIkeWAkeW/hemgiOWtmOWPliBMaW51eOOAjnJ0Y+OAj+ijnee9rumpheWLleeoi+W8j+mAj+mBjuijnee9rueJueauiuaqlOahiCAlc+OAgiDpgJnlgIvmqpTmoYjkuI3lrZjlnKjmlrzpgJnlgIvns7vntbHjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAid2UgaGF2ZSByZWFkIGVwb2NoICVsdSBmcm9tICVzIHdpdGggUlRDX0VQT0NIX1JFQUQgaW9jdGwuXG4iCisjfiBtc2dzdHIgIuaIkeWAkeW3suW+nuWFt+WCmSBSVENfRVBPQ0hfUkVBRCBpb2N0bCDnmoQgJTIkcyDoroDlj5bkuobmmYLmnJ8gJTEkbGTjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUaGUgZXBvY2ggdmFsdWUgbWF5IG5vdCBiZSBsZXNzIHRoYW4gMTkwMC4gIFlvdSByZXF1ZXN0ZWQgJWxkIgorI34gbXNnc3RyICLmmYLmnJ/lgLzlj6/og73nhKHms5XmmK/lsJHmlrwgMTkwMC4g5oKo6KaB5rGC55qEICVsZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXR0aW5nIGVwb2NoIHRvICVsdSB3aXRoIFJUQ19FUE9DSF9TRVQgaW9jdGwgdG8gJXMuXG4iCisjfiBtc2dzdHIgIuioreWumiBlcG9jaCDliLAgJWxkIOS7peWPiiBSVENfRVBPQ0hfU0VUIGlvY3RsIOWIsCAlc+OAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlRoZSBrZXJuZWwgZGV2aWNlIGRyaXZlciBmb3IgJXMgZG9lcyBub3QgaGF2ZSB0aGUgUlRDX0VQT0NIX1NFVCBpb2N0bC4iCisjfiBtc2dzdHIgIuWFp+aguOijnee9rumpheWLleeoi+W8j+eUqOaWvCAlcyDmspLmnIkgUlRDX0VQT0NIX1NFVCBpb2N0bOOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiJXNcbiIKKyN+ICJUcnkgYCVzIC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uIgorI34gbXNnc3RyICIiCisjfiAiJXNcbiIKKyN+ICLlmJfoqabjgI4lcyAtLWhlbHDjgI/ku6XnjbLlvpfmm7TlpJros4foqIrjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5IGAlcyAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLiIKKyN+IG1zZ3N0ciAi5ZiX6Kmm44COJXMgLS1oZWxw44CP5Lul542y5b6X5pu05aSa6LOH6KiK44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJBdmFpbGFibGUgY29sdW1ucyAoZm9yIC0tc2hvdyk6XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLlj6/nlKjmrITkvY0gKOeUqOaWvCAtLXNob3cp77yaXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1ULCAtLXRydXN0LWlycSA8b258b2ZmPiAgICAgbWFrZSBkcml2ZXIgdG8gdHJ1c3QgaXJxXG4iCisjfiBtc2dzdHIgIiAtVCwgLS10cnVzdC1pcnEgPG9ufG9mZj4gICAgIOijveS9nOmpheWLleeoi+W8j+WIsOS/oeiztCBpcnFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgICAgIC0tdmVyc2lvbiAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1WICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgIHNob3cgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIgLVYgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIC1oICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVYgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiAtViAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBkYXRhIHRvIG91dHB1dCB0YWJsZSIKKyN+IG1zZ3N0ciAi5Yqg5YWl6Ly45Ye65YiX5pmC5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBsaW5lIgorI34gbXNnc3RyICLliJ3lp4vljJbovLjlh7rooajmoLzmmYLlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHRoZXNlIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZToiCisjfiBtc2dzdHIgIi0tbnIg5ZKMIDxwYXJ0aXRpb24+IOW9vOatpOS6kuaWpSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbXRhYiAgICAgICAgICAgICBzZWFyY2ggaW4gdGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gbXNnc3RyICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICDliJfljbDmiYDmnInnrKbomZ/vvIzljbPkvb/oqIjmlbjmmK8gMFxuIgorCisjfiBtc2dpZCAiQ2xvY2sgbm90IGNoYW5nZWQgLSB0ZXN0aW5nIG9ubHkuXG4iCisjfiBtc2dzdHIgIuaZgumQmOacquiuiuabtCAtIOWPquWBmueCuua4rOippuOAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk5vIC0tZGF0ZSBvcHRpb24gc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAi5rKS5pyJIC0tZGF0ZSDpgbjpoIXmjIflrprnmoTjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS1kYXRlIGFyZ3VtZW50IHRvbyBsb25nIgorI34gbXNnc3RyICItLWRhdGUg5byV5pW45aSq6ZW3IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJUaGUgdmFsdWUgb2YgdGhlIC0tZGF0ZSBvcHRpb24gaXMgbm90IGEgdmFsaWQgZGF0ZS5cbiIKKyN+ICJJbiBwYXJ0aWN1bGFyLCBpdCBjb250YWlucyBxdW90YXRpb24gbWFya3MuIgorI34gbXNnc3RyICIiCisjfiAi5YC855qEIC0tZGF0ZSDpgbjpoIXkuKbpnZ7mnInmlYjml6XmnJ/jgIJcbiIKKyN+ICLlsKTlhbbvvIzlroPlkKvmnInlvJXomZ/jgIIiCisKKyN+IG1zZ2lkICJJc3N1aW5nIGRhdGUgY29tbWFuZDogJXNcbiIKKyN+IG1zZ3N0ciAi5Z+36KGM5pel5pyf5ZG95Luk77yaJXNcbiIKKworI34gbXNnaWQgIlVuYWJsZSB0byBydW4gJ2RhdGUnIHByb2dyYW0gaW4gL2Jpbi9zaCBzaGVsbC4gcG9wZW4oKSBmYWlsZWQiCisjfiBtc2dzdHIgIueEoeazleWcqCAvYmluL3NoIOWRveS7pOauvOS4remBi+ihjOOAjGRhdGXjgI3nqIvlvI/jgIJwb3BlbigpIOWkseaVlyIKKworI34gbXNnaWQgInJlc3BvbnNlIGZyb20gZGF0ZSBjb21tYW5kID0gJXNcbiIKKyN+IG1zZ3N0ciAi5pel5pyf5ZG95Luk55qE5Zue5oeJID0gJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGRhdGUgY29tbWFuZCBpc3N1ZWQgYnkgJXMgcmV0dXJuZWQgdW5leHBlY3RlZCByZXN1bHRzLlxuIgorI34gIlRoZSBjb21tYW5kIHdhczpcbiIKKyN+ICIgICVzXG4iCisjfiAiVGhlIHJlc3BvbnNlIHdhczpcbiIKKyN+ICIgICVzIgorI34gbXNnc3RyICIiCisjfiAi5pel5pyf5ZG95Luk6K2w6aGM55qE55SxICVzIOWbnuWCs+eahOacqumgkOacn+eahOe1kOaenOOAglxuIgorI34gIuWRveS7pOaYr++8mlxuIgorI34gIiAgJXNcbiIKKyN+ICLlm57mh4nmmK/vvJpcbiIKKyN+ICIgICVzIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBkYXRlIGNvbW1hbmQgaXNzdWVkIGJ5ICVzIHJldHVybmVkIHNvbWV0aGluZyBvdGhlciB0aGFuIGFuIGludGVnZXIgd2hlcmUgdGhlIGNvbnZlcnRlZCB0aW1lIHZhbHVlIHdhcyBleHBlY3RlZC5cbiIKKyN+ICJUaGUgY29tbWFuZCB3YXM6XG4iCisjfiAiICAlc1xuIgorI34gIlRoZSByZXNwb25zZSB3YXM6XG4iCisjfiAiICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlLEgJXMg5omA5Z+36KGM55qE5pel5pyf5ZG95Luk5Zue5YKz5LqG5LiA5Lqb6Z2e5pW05pW455qE5p2x6KW/77yM6ICM6Z2e6aCQ5pyf5bex6L2J5o+b55qE5pmC6ZaT5YC844CCXG4iCisjfiAi5ZG95Luk5piv77yaXG4iCisjfiAiICVzXG4iCisjfiAi5Zue5oeJ5piv77yaXG4iCisjfiAiJXNcbiIKKworI34gbXNnaWQgImRhdGUgc3RyaW5nICVzIGVxdWF0ZXMgdG8gJWxkIHNlY29uZHMgc2luY2UgMTk2OS5cbiIKKyN+IG1zZ3N0ciAi5pel5pyf5a2X5LiyICVzIOihqOekuuiHqiAxOTY5IOW5tOS7peS+huW3semBjiAlbGQg56eS44CCXG4iCisKKyN+IG1zZ2lkICJOb3Qgc2V0dGluZyBzeXN0ZW0gY2xvY2sgYmVjYXVzZSBydW5uaW5nIGluIHRlc3QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAi5pyq6Kit5a6a57O757Wx5pmC6ZCY77yM5Zug54K65Zyo5ris6Kmm5qih5byP5Lit5Z+36KGM44CCXG4iCisKKyN+IG1zZ2lkICJOb3QgdXBkYXRpbmcgYWRqdGltZSBmaWxlIGJlY2F1c2Ugb2YgdGVzdGluZyBtb2RlLlxuIgorI34gbXNnc3RyICLnhKHms5Xmm7TmlrAgYWRqdGltZSDmqpTmoYjvvIzlm6DngrromZXmlrzmuKzoqabmqKHlvI/jgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXb3VsZCBoYXZlIHdyaXR0ZW4gdGhlIGZvbGxvd2luZyB0byAlczpcbiIKKyN+ICIlcyIKKyN+IG1zZ3N0ciAiIgorI34gIuWwh+acg+Wvq+WFpeS4i+WIl+izh+aWmeWIsCAlczpcbiIKKyN+ICIlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVGhlIGtlcm5lbCBrZWVwcyBhbiBlcG9jaCB2YWx1ZSBmb3IgdGhlIEhhcmR3YXJlIENsb2NrIG9ubHkgb24gYW4gQWxwaGEgbWFjaGluZS5cbiIKKyN+ICJUaGlzIGNvcHkgb2YgaHdjbG9jayB3YXMgYnVpbHQgZm9yIGEgbWFjaGluZSBvdGhlciB0aGFuIEFscGhhXG4iCisjfiAiKGFuZCB0aHVzIGlzIHByZXN1bWFibHkgbm90IHJ1bm5pbmcgb24gYW4gQWxwaGEgbm93KS4gIE5vIGFjdGlvbiB0YWtlbi4iCisjfiBtc2dzdHIgIiIKKyN+ICLlhafmoLjkv53mjIHmmYLmnJ/lgLznlKjmlrznoazpq5TmmYLpkJjlj6rmnInmlrwgQWxwaGEg5qmf5Zmo44CCXG4iCisjfiAi6YCZ5YCL6KSH6KO955qEIGh3Y2xvY2sg5pivIGJ1aWx0IOeUqOaWvOapn+WZqOS4jeWQjOaWvCBBbHBoYVxuIgorI34gIijlkozlm6DogIzmmK/mk5rmjqjmuKznhKHms5Xln7fooYzkuK3mlrwgQWxwaGEg54++5ZyoKeOAgiDmnKrmjqHlj5bku7vkvZXooYzli5XjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAgICAgLS1kaXJlY3Rpc2EgICAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgLS1iYWR5ZWFyICAgICAgICBpZ25vcmUgUlRDJ3MgeWVhciBiZWNhdXNlIHRoZSBCSU9TIGlzIGJyb2tlblxuIgorI34gIiAgICAgLS1kYXRlIDx0aW1lPiAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgLS1lcG9jaCA8eWVhcj4gICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICBoYXJkd2FyZSBjbG9jaydzIGVwb2NoIHZhbHVlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tZGlyZWN0aXNhICAgICAg5a2Y5Y+WIElTQSDljK/mtYHmjpLnm7TmjqXku6Xku6Pmm78gJXNcbiIKKyN+ICIgICAgIC0tYmFkeWVhciAgICAgICAg5b+955WlIFJUQydzIOW5tOWboOeCuiBCSU9TIOiiq+S4jeWujOaVtOeahFxuIgorI34gIiAgICAgLS1kYXRlIDx0aW1lPiAgICDmjIflrprmmYLplpPliLDoqbLpoIXliLDoqK3lrprnoazpq5TmmYLpkJhcbiIKKyN+ICIgICAgIC0tZXBvY2g85bm0PiAg5oyH5a6a5bm06Kmy6aCF5piv6LW35aeL6YOo5YiG55qEXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAg56Gs6auU5pmC6ZCY5pmC5pyf5YC8XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtSnwtLWplbnNlbiwgLUF8LS1hcmMsIC1TfC0tc3JtLCAtRnwtLWZ1bmt5LXRveVxuIgorI34gIiAgICAgIHRlbGwgaHdjbG9jayB0aGUgdHlwZSBvZiBBbHBoYSB5b3UgaGF2ZSAoc2VlIGh3Y2xvY2soOCkpXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUp8LS1qZW5zZW7vvIwtQXwtLWFyY++8jC1TfC0tc3Jt77yMLUZ8LS1mdW5reS10b3lcbiIKKyN+ICIgICAgICDlkYroqLQgaHdjbG9jayDlnovmhYvnmoQgQWxwaGEg5oKo5pyJICjlj4PnnIsgaHdjbG9jayAoOCkpXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gdXNlIHRoZSBIYXJkd2FyZSBDbG9jay4iCisjfiBtc2dzdHIgIuaKseatie+8jOWPquacieezu+e1seeuoeeQhuiAheWPr+S7peiuiuabtOehrOmrlOaZgumQmOOAgiIKKworI34gbXNnaWQgIiVzIHRha2VzIG5vIG5vbi1vcHRpb24gYXJndW1lbnRzLiAgWW91IHN1cHBsaWVkICVkLlxuIgorI34gbXNnc3RyICIlcyDnhKHpnIDpnZ7pgbjpoIXlvJXmlbjjgIIg5oKo5Y275bey57Wm5a6aICVk44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm8gdXNhYmxlIHNldC10byB0aW1lLiAgQ2Fubm90IHNldCBjbG9jay4iCisjfiBtc2dzdHIgIuaykuacieWPr+eUqCBzZXQtdG8g5pmC6ZaT44CCIOeEoeazleioreWumuaZgumQmOOAgiIKKworI34gbXNnaWQgImJvb3RlZCBmcm9tIE1JTE9cbiIKKyN+IG1zZ3N0ciAi5b6eIE1JTE8g6ZaL5qmfXG4iCisKKyN+IG1zZ2lkICJSdWZmaWFuIEJDRCBjbG9ja1xuIgorI34gbXNnc3RyICJSdWZmaWFuIEJDRCDmmYLpkJhcbiIKKworI34gbXNnaWQgImNsb2NrcG9ydCBhZGp1c3RlZCB0byAweCV4XG4iCisjfiBtc2dzdHIgIuaZgumQmOmAmuioiuWfoOiqv+aVtOWIsCAweCV4XG4iCisKKyN+IG1zZ2lkICJmdW5reSBUT1khXG4iCisjfiBtc2dzdHIgIueVj+e4rueahOeOqeWFt++8gVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImF0b21pYyAlcyBmYWlsZWQgZm9yIDEwMDAgaXRlcmF0aW9ucyEiCisjfiBtc2dzdHIgIuWfuuWFg+eahCAlcyDlpLHmlZfnmoTnlKjmlrwgMTAwMCDlj43opobpgYvnrpfvvIEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY21vc19yZWFkKCk6IHdyaXRlIHRvIGNvbnRyb2wgYWRkcmVzcyAlWCBmYWlsZWQiCisjfiBtc2dzdHIgImNtb3NyZWFkKCkoX1Ip77ya5a+r5YWl5o6n5Yi25L2N5Z2AICVYIOWkseaVl++8miVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY21vc19yZWFkKCk6IHJlYWQgZnJvbSBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zcmVhZCgpKF9SKe+8muiugOWPluizh+aWmeS9jeWdgCAlWCDlpLHmlZfvvJolbVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNtb3Nfd3JpdGUoKTogd3JpdGUgdG8gY29udHJvbCBhZGRyZXNzICVYIGZhaWxlZCIKKyN+IG1zZ3N0ciAiY21vc3dyaXRlKCkoX1cp77ya5a+r5YWl5o6n5Yi25L2N5Z2AICVYIOWkseaVl++8miVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY21vc193cml0ZSgpOiB3cml0ZSB0byBkYXRhIGFkZHJlc3MgJVggZmFpbGVkIgorI34gbXNnc3RyICJjbW9zd3JpdGUoKShfVynvvJrlr6vlhaXos4fmlpnkvY3lnYAgJVgg5aSx5pWX77yaJW1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJIGZhaWxlZCB0byBnZXQgcGVybWlzc2lvbiBiZWNhdXNlIEkgZGlkbid0IHRyeS4iCisjfiBtc2dzdHIgIuaIkeeEoeazleaPkOWPluasiumZkOWboOeCuuaIkeS4puacquWYl+ippuOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gZ2V0IEkvTyBwb3J0IGFjY2VzczogIHRoZSBpb3BsKDMpIGNhbGwgZmFpbGVkLiIKKyN+IG1zZ3N0ciAi54Sh5rOV5o+Q5Y+WIEkvTyDpgJroqIrln6DlrZjlj5bvvJogaW9wbCAoMykg5ZG85Y+r5aSx5pWX44CCIgorCisjfiBtc2dpZCAiUHJvYmFibHkgeW91IG5lZWQgcm9vdCBwcml2aWxlZ2VzLlxuIgorI34gbXNnc3RyICLmgqjlpKfmpoLpnIDopoHns7vntbHnrqHnkIbogIXmrIrpmZDjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCBzZXQgc2lnbmFsIGhhbmRsZXIiCisjfiBtc2dzdHIgIueEoeazleioreWumuS/oeiZn+iZleeQhueoi+W8jyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJlcnJvcjogY2FuIG5vdCByZXN0b3JlIHNpZ25hbCBoYW5kbGVyIgorI34gbXNnc3RyICLnhKHms5XoqK3lrprkv6HomZ/omZXnkIbnqIvlvI8iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAib25seSByb290IGNhbiBtb3VudCAlcyBvbiAlcyIKKyN+IG1zZ3N0ciAi5Y+q5pyJ5qC55Y+v5Lul5o6b6LyJICVzIOaWvCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlcyBpcyB1c2VkIGFzIHJlYWQgb25seSBsb29wLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIiVzIOiiq+mYsuatouWvq+WFpeeahO+8jOaOm+i8ieWUr+iugCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiJXM6IG1vcmUgZmlsZXN5c3RlbXMgZGV0ZWN0ZWQuIFRoaXMgc2hvdWxkIG5vdCBoYXBwZW4sXG4iCisjfiAiICAgICAgIHVzZSAtdCA8dHlwZT4gdG8gZXhwbGljaXRseSBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUgb3JcbiIKKyN+ICIgICAgICAgdXNlIHdpcGVmcyg4KSB0byBjbGVhbiB1cCB0aGUgZGV2aWNlLiIKKyN+IG1zZ3N0ciAiIgorI34gIuaOm+i8ie+8miVz77ya5YG15ris5Yiw5aSa5YCL5qqU5qGI57O757Wx44CC6YCZ5LiN5oeJ55m855Sf77yMXG4iCisjfiAiICAgICAgIOS9v+eUqCAtdCA8dHlwZT4g5Lul5piO56K65oyH5a6a5qqU5qGI57O757Wx5Z6L5oWL5oiWXG4iCisjfiAiICAgICAgIOS9v+eUqCB3aXBlZnMoOCkg5Lul5riF55CG6KOd572u44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSSBjb3VsZCBub3QgZGV0ZXJtaW5lIHRoZSBmaWxlc3lzdGVtIHR5cGUsIGFuZCBub25lIHdhcyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIuaIkeeEoeazleaxuuWumuaqlOahiOezu+e1seWei+aFi++8jOiAjOeEoeiiq+aMh+WumueahCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ5b3UgbXVzdCBzcGVjaWZ5IHRoZSBmaWxlc3lzdGVtIHR5cGUiCisjfiBtc2dzdHIgIuaCqOW/hemgiOaMh+WumuaqlOahiOezu+e1seWei+aFiyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudCBzb3VyY2Ugbm90IGRlZmluZWQiCisjfiBtc2dzdHIgIuaOm+i8ieS+hua6kOeEoeazleWumue+qSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW91bnQgZmFpbGVkIgorI34gbXNnc3RyICIlc++8muaOm+i8ieWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmlsZXN5c3RlbSBtb3VudGVkLCBidXQgbW91bnQoOCkgZmFpbGVkIgorI34gbXNnc3RyICIlc++8muaqlOahiOezu+e1seaOm+i8ie+8jOS9huaYr+aOm+i8iSAoOCkg5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAgICAgICAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIOW3sue2k+aOm+i8ieeahOaWvCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIG5vdCBtb3VudGVkIG9yIGJhZCBvcHRpb24iCisjfiBtc2dzdHIgIiVzIOeEoeazleaOm+i8ieeahOaIluS4jeeVtueahOmBuOmghSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChmb3Igc2V2ZXJhbCBmaWxlc3lzdGVtcyAoZS5nLiBuZnMsIGNpZnMpIHlvdSBtaWdodFxuIgorI34gIiAgICAgICBuZWVkIGEgL3NiaW4vbW91bnQuPHR5cGU+IGhlbHBlciBwcm9ncmFtKVxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAgICjnlKjmlrzlpJrlgIvmqpTmoYjns7vntbEo5L6L5aaC77yabmZz77yMY2lmcykg5oKo5Lmf6KixXG4iCisjfiAiICAgICAgIOmcgOimgS9zYmluL+aOm+i8ieOAgjx0eXBlPiDovJTliqnnqIvlvI/nqIvlvI8pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgb3Igc28uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAg5Zyo5p+Q5Lqb5oOF5rOB5LiL5pyJ55So6LOH6KiK5piv5om+5Yiw5Zyo5LitIHN5c2xvZyAtIOWYl+ipplxuIgorI34gIiAgICAgICBkbWVzZ3zlsL7nq6/kuYvpoZ5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgb3B0aW9uICclYyciCisjfiBtc2dzdHIgIueEoeazlei+qOitmOeahOi8uOWFpe+8miVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIlczogdGFyZ2V0IGlzIGJ1c3lcbiIKKyN+ICIgICAgICAgIChJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGFib3V0IHByb2Nlc3NlcyB0aGF0XG4iCisjfiAiICAgICAgICAgdXNlIHRoZSBkZXZpY2UgaXMgZm91bmQgYnkgbHNvZig4KSBvciBmdXNlcigxKS4pIgorI34gbXNnc3RyICIiCisjfiAiJXPvvJrnm67mqJnlv5nnoozkuK3jgIJcbiIKKyN+ICIgICAgICAgICjlnKjmn5Dkupvmg4Xms4HkuIvmnInnlKjos4foqIrpl5zmlrzooYznqIvoqbLkvb/nlKhcbiIKKyN+ICIgICAgICAgICDoo53nva7mmK/mib7liLDnlLEgbHNvZiAoOCkg5oiWIGZ1c2VyICgxKSkiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IG1vdW50cG9pbnQgbm90IGZvdW5kIgorI34gbXNnc3RyICIlc++8muaJvuS4jeWIsCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJsaW5lICVkIGlzIHRvbyBsb25nLCBvdXRwdXQgd2lsbCBiZSB0cnVuY2F0ZWQiCisjfiBtc2dzdHIgIuWIlyAlZCDlpKrplbfvvIzovLjlh7rlsIfooqvmiKrmlrciCisKKyN+IG1zZ2lkICJpbmNvbXBsZXRlIHdyaXRlIHRvIFwiJXNcIiAod3JpdHRlbiAlemQsIGV4cGVjdGVkICV6ZClcbiIKKyN+IG1zZ3N0ciAi5a+r5YWl44CMJXPjgI3kuI3lrozmlbQgKOW3suWvq+WFpSAlemTvvIzpoJDmnJ/liYfngrogJXpkKVxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBhZGQgaW5vdGlmeSB3YXRjaCAobGltaXQgb2YgaW5vdGlmeSB3YXRjaGVzIHdhcyByZWFjaGVkKS4iCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV5Yqg5YWlIGlub3RpZnkg55uj55yLICjlt7LpgZTliLAgaW5vdGlmeSDnmoTnm6PnnIvpmZDliLYp44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uXSA8ZmlsZT5cbiIKKyN+IG1zZ3N0ciAiICVzIFvpgbjpoIVdIFs8ZmlsZT5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC08bnVtYmVyPiAgICAgICAgICAgICAgc2FtZSBhcyAnLW4gPG51bWJlcj4nXG4iCisjfiBtc2dzdHIgIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg5piv5pu05aSa6Kmz57Sw55qEXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibm8gaW5wdXQgZmlsZSBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIuaykuaciei8uOWFpeaqlOahiOaMh+WumueahCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogaXMgbm90IGEgZmlsZSIKKyN+IG1zZ3N0ciAiJXPvvJrkuKbpnZ7nm67pjIQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGluaXRpYWxpemUgc2VjY29tcCBjb250ZXh0IgorI34gbXNnc3RyICLliJ3lp4vljJYgbG9vcGN4dCDmmYLlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZmFpbGVkIHRvIGFkZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIuiugOWPlumAn+W6puaZguWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYWlsZWQgdG8gbG9hZCBzZWNjb21wIHJ1bGUiCisjfiBtc2dzdHIgIuiugOWPlumAn+W6puaZguWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJGaWxlc3lzdGVtIGxhYmVsOiIKKyN+IG1zZ3N0ciAi5qqU5qGI57O757Wx5qiZ6LK8IgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBzZXQgUEFUSCIKKyN+IG1zZ3N0ciAi6Kit5a6a6Lev5b6R5pmC5aSx5pWXIgorCisjfiBtc2dpZCAiZXhwZWN0ZWQgYSBudW1iZXIsIGJ1dCBnb3QgJyVzJyIKKyN+IG1zZ3N0ciAi6aCQ5pyf5LiA5YCL5pW45a2X77yM5L2G5piv5Y275b6X5Yiw44CMJXPjgI0iCisKKyN+IG1zZ2lkICJkaXZpc29yICclcyciCisjfiBtc2dzdHIgIumZpOaVuOOAjCVz44CNIgorCisjLCBmdXp6eQorI34gbXNnaWQgImFyZ3VtZW50IGVycm9yOiAlcyIKKyN+IG1zZ3N0ciAi5byV5pW46Yyv6Kqk44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgInR0eSBwYXRoICVzIHRvbyBsb25nIgorI34gbXNnc3RyICJ0dHkg6Lev5b6RICVzIOWkqumVtyIKKworI34gbXNnaWQgImJhZCB0aW1lb3V0IHZhbHVlOiAlcyIKKyN+IG1zZ3N0ciAi5LiN55W255qE6YC+5pmC6Kit5a6a5YC877yaJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQiCisjfiBtc2dzdHIgIiVz77ya5YmW5p6Q6Yyv6Kqk5pa85YiXICVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogaWdub3JlIGVudHJ5IGF0IGxpbmUgJWQuIgorI34gbXNnc3RyICIlc++8muWJluaekOmMr+iqpO+8muW/veeVpeaineebruaWvOWIlyAlZOOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgbm90IHNldHVwIHRpbWVyIgorI34gbXNnc3RyICLnhKHms5XoqK3lrprnvqTntYTorZjliKXomZ8iCisKKyN+IG1zZ2lkICJkaWZmZXJlbnQiCisjfiBtc2dzdHIgIuS4jeWQjCIKKworI34gbXNnaWQgInNhbWUiCisjfiBtc2dzdHIgIuebuOWQjCIKKworI34gbXNnaWQgIiVzIGlzIG5vdCBhIGJsb2NrIHNwZWNpYWwgZGV2aWNlIgorI34gbXNnc3RyICIlcyDkuKbpnZ7ljYDloYrnibnmroroo53nva4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGRldmljZSBpcyBtaXNhbGlnbmVkIgorI34gbXNnc3RyICIlc++8muijnee9ruiiqyBtaXNhbGlnbmVkIgorCisjfiBtc2dpZCAiT1MvMiBoaWRkZW4gQzogZHJpdmUiCisjfiBtc2dzdHIgIk9TLzIg6Zqx6JePIEM6IOejgeeinyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZmFpbGVkIHRvIGdldCBkZXZpY2UgcGF0aCIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5Xmj5Dlj5boo53nva7ot6/lvpEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVua25vd24gZGV2aWNlIG5hbWUiCisjfiBtc2dzdHIgIiVz77ya5LiN5piO6KOd572u5ZCN56ixIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gZ2V0IGRtIG5hbWUiCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV5o+Q5Y+WIGRtIOWQjeeosSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIHBhdGggdG8gcGlkIGZpbGVcbiIKKyN+ICIgLXMsIC0tc29ja2V0IDxwYXRoPiAgICAgcGF0aCB0byBzb2NrZXRcbiIKKyN+ICIgLVQsIC0tdGltZW91dCA8c2VjPiAgICAgc3BlY2lmeSBpbmFjdGl2aXR5IHRpbWVvdXRcbiIKKyN+ICIgLWssIC0ta2lsbCAgICAgICAgICAgICAga2lsbCBydW5uaW5nIGRhZW1vblxuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICB0ZXN0IHJhbmRvbS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC10LCAtLXRpbWUgICAgICAgICAgICAgIHRlc3QgdGltZS1iYXNlZCBnZW5lcmF0aW9uXG4iCisjfiAiIC1uLCAtLXV1aWRzIDxudW0+ICAgICAgIHJlcXVlc3QgbnVtYmVyIG9mIHV1aWRzXG4iCisjfiAiIC1QLCAtLW5vLXBpZCAgICAgICAgICAgIGRvIG5vdCBjcmVhdGUgcGlkIGZpbGVcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAgZG8gbm90IGRhZW1vbml6ZSB1c2luZyBkb3VibGUtZm9ya1xuIgorI34gIiAtUywgLS1zb2NrZXQtYWN0aXZhdGlvbiBkbyBub3QgY3JlYXRlIGxpc3RlbmluZyBzb2NrZXRcbiIKKyN+ICIgLWQsIC0tZGVidWcgICAgICAgICAgICAgcnVuIGluIGRlYnVnZ2luZyBtb2RlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgIHR1cm4gb24gcXVpZXQgbW9kZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1wLCAtLXBpZCA8cGF0aD4gICAgICAgIOi3r+W+keWIsCBwaWQg5qqU5qGIXG4iCisjfiAiIC1zLCAtLXNvY2tldDzot6/lvpE+ICAgIOi3r+W+keWIsOmAmuioiuerr1xuIgorI34gIiAtVCwgLS10aW1lb3V0PHNlYz4gICAg5oyH5a6a5LiN5L2c55So6YC+5pmCXG4iCisjfiAiIC1rLCAtLWtpbGwgICAgICAgICAgICAgIOegjemZpOWft+ihjOS4reWuiOitt+eoi+W8j1xuIgorI34gIiAtciwgLS1yYW5kb20gICAgICAgICAgICDmuKzoqaYgcmFuZG9tLWJhc2VkIOeUoueUn1xuIgorI34gIiAtdCwgLS10aW1lICAgICAgICAgICAgICDmuKzoqaYgdGltZS1iYXNlZCDnlKLnlJ9cbiIKKyN+ICIgLW4sIC0tdXVpZHM8bnVtPiAgICAgIOimgeaxgiB1dWlkcyDmlbjph49cbiIKKyN+ICIgLVAsIC0tbm8tcGlkICAgICAgICAgICAg5LiN5bu656uLIHBpZCDmqpTmoYhcbiIKKyN+ICIgLUYsIC0tbm8tZm9yayAgICAgICAgICAg5LiNIGRhZW1vbml6ZSDkvb/nlKggZG91YmxlLWZvcmtcbiIKKyN+ICIgLVMsIC0tc29ja2V0LWFjdGl2YXRpb24g5LiN5bu656uL5YK+6IG96YCa6KiK56uvXG4iCisjfiAiIC1kLCAtLWRlYnVnICAgICAgICAgICAgIOmBi+ihjOWcqOS4reWBtemMr+aooeW8j1xuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICDmiZPplovnhKHoqIrmga/mqKHlvI9cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVua25vd24gc2NoZWR1bGluZyBwb2xpY3kiCisjfiBtc2dzdHIgIuS4jeaYjuaOkueoi+etlueVpSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1vLCAtLW9mZnNldCA8bnVtPiAgb2Zmc2V0IGluIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbVxuIgorI34gIiAtbCwgLS1sZW5ndGggPG51bT4gIGxlbmd0aCBvZiBieXRlcyB0byBkaXNjYXJkIGZyb20gdGhlIG9mZnNldFxuIgorI34gIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIgorI34gIiAtcywgLS1zZWN1cmUgICAgICAgIHBlcmZvcm0gc2VjdXJlIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBhbGlnbmVkIGxlbmd0aCBhbmQgb2Zmc2V0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICDlgY/np7vlnKjkuK3kvY3lhYPntYTliLDmjajmo4Tlvp5cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoPG51bT4g6ZW35bqm55qE5L2N5YWD57WE5Yiw5o2o5qOE5b6e5YGP56e7XG4iCisjfiAiIC1tLCAtLW1pbmltdW08bnVtPuacgOWwj+W7tuS8uOmVt+W6puWIsOaNqOajhFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIOWIl+WNsOaNqOajhOeahOS9jeWFg+e1hOaVuOmHj1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzICAuJTA2ZCBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVzICAlLjZmIOenklxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhZ2VzIgorI34gbXNnc3RyICLpoIHpnaIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlZlcnkgbG9uZyAoJXp1IGJ5dGVzKSBmaWxlbmFtZSBgJXMnIGZvdW5kLlxuIgorI34gIiBQbGVhc2UgaW5jcmVhc2UgTUFYX0lOUFVUX05BTUVMRU4gaW4gbWtjcmFtZnMuYyBhbmQgcmVjb21waWxlLiAgRXhpdGluZy4iCisjfiBtc2dzdHIgIiIKKyN+ICLlvojplbcgKCV6dSDkvY3lhYPntYQpIOaqlOWQjeOAjiVz44CP5om+5Yiw44CCXG4iCisjfiAiIOiri+WinuWKoCBNQVhfSU5QVVRfTkFNRUxFTiDlnKjkuK0gbWtjcmFtZnMuYyDlkozph43mlrDnt6jora/jgIIg6Zui6ZaL44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiB1bmFibGUgdG8gYWxsb2NhdGUgYnVmZmVyIGZvciBzdXBlcmJsb2NrIgorI34gbXNnc3RyICIlc++8mueEoeazlSBhbGxvYyDnt6nooZ3ljYDnlKjmlrzotoXljYDloYoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IHVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzIGZvciBtYXBzIgorI34gbXNnc3RyICIlc++8mueEoeazlemFjee9rue3qeihneWNgOeUqOaWvOaYoOWwhCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogdW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlciBmb3IgaW5vZGVzIgorI34gbXNnc3RyICIlc++8mueEoeazlemFjee9rue3qeihneWNgOeUqOaWvCBpbm9kZXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIGRvbid0IHRydW5jYXRlIHRleHQgaW4gY29sdW1uc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcCwgLS1waWQgPHBpZD4gICAgICAgIOiZleeQhuitmOWIpeiZn1xuIgorI34gIiAtbywgLS1vdXRwdXQ85riF5ZauPiAgIOWumue+qeipsumghei8uOWHuuashOS9jeS7peS9v+eUqFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeWIl+WNsOaomemgrVxuIgorI34gIiAtciAgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+Wni+i8uOWHuuagvOW8j1xuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOS4jeaIquaWt+aWh+Wtl+WcqOS4reashOS9jVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIk51bWJlciBvZiBTZW1hcGhvcmUgSURzIgorI34gbXNnc3RyICLno4HljYDmlbjph48iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIG1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iCisjfiAiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIGxpc3RzIGFsbCBtb3VudHMgd2l0aCBMQUJFTHNcbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO5paH5a2X54S25b6M6Zui6ZaLXG4iCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIOS4jeWRvOWPq+aOm+i8ieOAgjx0eXBlPiDovJTliqnnqIvlvI9cbiIKKyN+ICIgLWwsIC0tc2hvdy1sYWJlbHMgICAgICAg5YiX5Ye65omA5pyJ5o6b6LyJ6IiH5qiZ6LK8XG4iCisjfiAiIC1uLCAtLW5vLW10YWIgICAgICAgICAgIOS4jeWvq+WFpS9ldGMvbXRhYlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgc2F5IHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXcsIC0tcncsIC0tcmVhZC13cml0ZSAgbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZSAoZGVmYXVsdClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICDooajnpLrku4DpurzmraPlnKjmmK/lt7LlrozmiJBcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAg6aGv56S654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC13LCAtLXJlYWQtd3JpdGUgICAgICAgIOaOm+i8ieaqlOahiOezu+e1seWPr+iugOWPr+WvqyAo6aCQ6KitKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdiAgYmUgdmVyYm9zZVxuIgorI34gbXNnc3RyICIgLXYgIOaYr+ips+e0sOeahFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlVzYWdlOiAlcyBbLWMgfCAtbCBmaWxlbmFtZV0gWy1uWFhdIFstaVhYXSAvZGV2L25hbWUgW2Jsb2Nrc10iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFstY3wtbCDmqpTlkI1dIFstblhYXSBbLWlYWF0vZGV2L+WQjeeosSBb5Y2A5aGKXSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogYmFkIGlub2RlIHNpemUiCisjfiBtc2dzdHIgIiVz77ya5LiN55W255qEIGlub2RlIOWkp+WwjyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ0eXBlOiAlZCIKKyN+IG1zZ3N0ciAi6aGe5Z6L77yaJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkaXNrOiAlLipzIgorI34gbXNnc3RyICLno4Hnop/vvJolLipzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibGFiZWw6ICUuKnMiCisjfiBtc2dzdHIgIuaomeexpO+8miUuKnNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmbGFnczogJXMiCisjfiBtc2dzdHIgIuaXl+aome+8miIKKworIywgZnV6enkKKyN+IG1zZ2lkICJieXRlcy9zZWN0b3I6ICVsZCIKKyN+IG1zZ3N0ciAi5L2N5YWD57WEL+ejgeWNgO+8miVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInNlY3RvcnMvdHJhY2s6ICVsZCIKKyN+IG1zZ3N0ciAi56OB5Y2AL+ejgei7jO+8miVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrcy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICLno4Hou4wv56OB5p+x77yaJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic2VjdG9ycy9jeWxpbmRlcjogJWxkIgorI34gbXNnc3RyICLno4HljYAv56OB5p+x77yaJWxkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY3lsaW5kZXJzOiAlbGQiCisjfiBtc2dzdHIgIuejgeafse+8miVsZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInJwbTogJWQiCisjfiBtc2dzdHIgInJwbe+8miVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW50ZXJsZWF2ZTogJWQiCisjfiBtc2dzdHIgIuS6pOmMr++8miVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidHJhY2tza2V3OiAlZCIKKyN+IG1zZ3N0ciAidHJhY2tza2V377yaJWRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjeWxpbmRlcnNrZXc6ICVkIgorI34gbXNnc3RyICJjeWxpbmRlcnNrZXfvvJolZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImhlYWRzd2l0Y2g6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAiaGVhZHN3aXRjaO+8miVsZFx0XHQjIOavq+enklxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRyYWNrLXRvLXRyYWNrIHNlZWs6ICVsZCAobWlsbGlzZWNvbmRzKSIKKyN+IG1zZ3N0ciAi6LuM5bCN6LuM5pCc5bCL77yaJWxkXHQjIOavq+enklxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbnM6ICVkIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJWQg5YiG5Ymy5Y2A77yaXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiWW91IGNhbm5vdCBjaGFuZ2UgYSBwYXJ0aXRpb24gaW50byBhbiBleHRlbmRlZCBvbmUgb3IgdmljZSB2ZXJzYS4gRGVsZXRlIGl0IGZpcnN0LiIKKyN+IG1zZ3N0ciAiIgorI34gIuaCqOeEoeazleiuiuabtOWIhuWJsuWNgOeCuuS4gOWAi+aTtOWFheWIhuWJsuaIluWPjeS5i1xuIgorI34gIuiri+WFiOWIqumZpOWug+OAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJMYWJlbCBnZW9tZXRyeTogJWQgaGVhZHMsICVsbHUgc2VjdG9yc1xuIgorI34gIiAgICAgICAgICAgICAgICAlbGx1IGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiICAgICAgICAgICAgICAgICVkIGV4dHJhIHNlY3RzL2N5bCwgaW50ZXJsZWF2ZSAlZDoxXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLno4Hnop8gJXMgKFNHSSDno4Hnop/mqJnosrwp77yaJWQg5YmN56uv77yMJWxsdSDno4HljYBcbiIKKyN+ICIlbGx1IOejgeafse+8jCVkIOWvpumrlOejgeafsVxuIgorI34gIiVkIOmhjeWkliBzZWN0cy9jeWzvvIzkuqTmj5IgJWQ6MVxuIgorI34gIiVzXG4iCisjfiAi5Zau5L2NPSVzIOeahCAlZCAqICVsZCDkvY3lhYPntYRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICI8bm9uZT4iCisjfiBtc2dzdHIgIueEoSIKKworI34gbXNnaWQgImdldHRpbWVvZmRheSBmYWlsZWQiCisjfiBtc2dzdHIgImdldHRpbWVvZmRheSDlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3lzaW5mbyBmYWlsZWQiCisjfiBtc2dzdHIgInN5c2luZm8g5aSx5pWXIgorCisjfiBtc2dpZCAidXNhZ2U6IGxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlciAuLi5dXG4iCisjfiBtc2dzdHIgIueUqOazle+8mmxhc3QgWy0jXSBbLWYgZmlsZV0gWy10IHR0eV0gWy1oIGhvc3RuYW1lXSBbdXNlcuKApl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogbW1hcCBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yabW1hcCDlpLHmlZciCisKKyN+IG1zZ2lkICIgIHN0aWxsIGxvZ2dlZCBpbiIKKyN+IG1zZ3N0ciAiICDku43nhLblnKjnmbvlhaXni4DmhYsiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAid3RtcCBiZWdpbnMgJXMiCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICJ3dG1wIOmWi+WniyAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJnZXRob3N0bmFtZSBmYWlsZWQiCisjfiBtc2dzdHIgImdldGhvc3RuYW1lIOWkseaVlyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpbnRlcnJ1cHRlZCAlMTAuMTBzICU1LjVzIFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi55m855Sf5o+S5pa3ICUxMC4xMHMgJTUuNXNcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJTY2hlZHVsaW5nIHBvbGljaWVzOlxuIgorI34gIiAgLWIgfCAtLWJhdGNoICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9GSUZPXG4iCisjfiAiICAtaSB8IC0taWRsZSAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0lETEVcbiIKKyN+ICIgIC1vIHwgLS1vdGhlciAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfUlIgKGRlZmF1bHQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLmjpLnqIvnrZbnlaXvvJpcbiIKKyN+ICIgIC1iIHwgLS1iYXRjaCAgICAgICAgIOioreWumuetlueVpeeCuiBTQ0hFRF9CQVRDSFxuIgorI34gIiAgLWYgfCAtLWZpZm8gICAgICAgICAg6Kit5a6a562W55Wl54K6IFNDSEVEX0ZJRk9cbiIKKyN+ICIgIC1pIHwgLS1pZGxlICAgICAgICAgIOioreWumuetlueVpeeCuiBTQ0hFRF9JRExFXG4iCisjfiAiICAtbyB8IC0tb3RoZXIgICAgICAgICDoqK3lrprnrZbnlaXngrogU0NIRURfT1RIRVJcbiIKKyN+ICIgIC1yIHwgLS1yciAgICAgICAgICAgIOioreWumuetlueVpeeCuiBTQ0hFRF9SUiAo6aCQ6KitKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWEgfCAtLWFsbC10YXNrcyAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwXG4iCisjfiAiICAtbSB8IC0tbWF4ICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIKKyN+ICIgIC1wIHwgLS1waWQgICAgICAgICAgIG9wZXJhdGUgb24gZXhpc3RpbmcgZ2l2ZW4gcGlkXG4iCisjfiAiICAtdiB8IC0tdmVyYm9zZSAgICAgICBkaXNwbGF5IHN0YXR1cyBpbmZvcm1hdGlvblxuIgorI34gIiAgLVYgfCAtLXZlcnNpb24gICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAgLWF8LS1hbGwtdGFza3MgICAgIOS9nOeUqOaWvOaJgOacieS6i+WLmSAo5Z+36KGM57eSKSDnlKjmlrzntablrprnmoQgcGlkXG4iCisjfiAiICAtaHwtLWhlbHAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piOXG4iCisjfiAiICAtbXwtLW1heCAgICAgICAgICAg6aGv56S65pyA5bCP5ZKM5pyA5aSn5pyJ5pWI5YSq5YWI562J57SaXG4iCisjfiAiICAtcHwtLXBpZCAgICAgICAgICAg5L2c55So5pa854++5pyJ57Wm5a6a55qEIHBpZFxuIgorI34gIiAgLXZ8LS12ZXJib3NlICAgICAgIOmhr+ekuueLgOaFi+izh+ioilxuIgorI34gIiAgLVZ8LS12ZXJzaW9uICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1hdXRvLy1hIG9wdGlvbiIKKyN+IG1zZ3N0ciAi54Sh5pWI55qE5byV5pW45YiwIC0tYXV0byAvLWEg6YG46aCFIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgYXJndW1lbnQgdG8gLS1tYW51YWxlamVjdC8taSBvcHRpb24iCisjfiBtc2dzdHIgIueEoeaViOeahOW8leaVuOWIsCAtLW1hbnVhbGVqZWN0IC8taSDpgbjpoIUiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBTeXN0ZW0gQ2xvY2suIgorI34gbXNnc3RyICLmirHmrYnvvIzlj6rmnInns7vntbHnrqHnkIbogIXlj6/ku6Xorormm7Tns7vntbHmmYLpkJjjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU29ycnksIG9ubHkgdGhlIHN1cGVydXNlciBjYW4gY2hhbmdlIHRoZSBIYXJkd2FyZSBDbG9jayBlcG9jaCBpbiB0aGUga2VybmVsLiIKKyN+IG1zZ3N0ciAi5oqx5q2J77yM5Y+q5pyJ57O757Wx566h55CG6ICF5Y+v5Lul6K6K5pu056Gs6auU5pmC6ZCY5pmC5pyf5Zyo5Lit5YWn5qC444CCIgorCisjfiBtc2dpZCAicmVhZCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIgorI34gbXNnc3RyICIlcyDnmoQgcmVhZCgpIOetieWAmeaZgumQmOmAseacn+WkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzZXQgcnRjIGFsYXJtIGZhaWxlZCIKKyN+IG1zZ3N0ciAi6Kit5a6aIHJ0YyDorabnpLrlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZW5hYmxlIHJ0YyBhbGFybSBmYWlsZWQiCisjfiBtc2dzdHIgIuWVn+eUqCBydGMg6K2m56S65aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgInN1c3BlbmQgdG8gXCIlc1wiIHVuYXZhaWxhYmxlIgorI34gbXNnc3RyICLmh7jnva7liLDjgIwlc+OAjeS4jeW+l+S9v+eUqCIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW0sIC0tbW91bnQgICAgICAgICAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIOWFseeUqOiomOaGtumrlOizh+aWmeautVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtdSwgLS11dHMgICAgICAgICAgICAgICAgIHVuc2hhcmUgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIgorI34gbXNnc3RyICIgLW0sIC0tc2htZW1zICAgICAg5YWx55So6KiY5oa26auU6LOH5paZ5q61XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pLCAtLWlwYyAgICAgICAgICAgICAgICAgdW5zaGFyZSBTeXN0ZW0gViBJUEMgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiAtcCwgLS1waWQgICAgICAgICDpoa/npLrlu7rnq4vogIXlkozmnIDlvozkuIDnrYboqIjnrpcgUElEc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbiwgLS1uZXQgICAgICAgICAgICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1uLCAtLW5vcGFyaXR5ICAgICAgICAgIOioreWumuWQjOS9jeWIsOeEoVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtVSwgLS11c2VyICAgICAgICAgICAgICAgIHVuc2hhcmUgdXNlciBuYW1lc3BhY2VcbiIKKyN+IG1zZ3N0ciAiIC1tLCAtLXNobWVtcyAgICAgIOWFseeUqOiomOaGtumrlOizh+aWmeautVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBvcGVuICVzOiAlbSIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVz77yaJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiZnJlYWQgZmFpbGVkIgorI34gbXNnc3RyICJmcmVhZCDlpLHmlZciCisKKyN+IG1zZ2lkICJIZWxwIFNjcmVlbiBmb3IgY2ZkaXNrIgorI34gbXNnc3RyICJjZmRpc2sg55qE6Kqq5piO55Wr6Z2iIgorCisjfiBtc2dpZCAiZGlzayBkcml2ZS4iCisjfiBtc2dzdHIgIuOAgiIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBgbm8nIgorI34gbXNnc3RyICIgICAgICAgICAgICAgYG5vJyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJUb28gc21hbGwgcGFydGl0aW9uIHNpemUgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAi5rKS5pyJIC0tZGF0ZSDpgbjpoIXmjIflrprnmoTjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAic3RhdCBmYWlsZWQgJXMiCisjfiBtc2dzdHIgInN0YXQg5aSx5pWXICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxkIHRvIGFsbG9jYXRlIGl0ZXJhdG9yIgorI34gbXNnc3RyICLphY3nva7ov63ku6PlmajmmYLlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW46ICVzIgorI34gbXNnc3RyICLnhKHms5XplovllZ8gJXMiCisKKyN+IG1zZ2lkICIlczogc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yac3RhdCDlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGxzdGF0IGZhaWxlZCIKKyN+IG1zZ3N0ciAiJXPvvJpzdGF0IOWkseaVlyIKKworI34gbXNnaWQgInNldCBibG9ja3NpemUiCisjfiBtc2dzdHIgIuioreWumuWNgOWhiuWkp+WwjyIKKworI34gbXNnaWQgInVzYWdlOlxuIgorI34gbXNnc3RyICLnlKjms5XvvJpcbiIKKworI34gbXNnaWQgIlx0Tk9URTogZWx2dHVuZSBvbmx5IHdvcmtzIHdpdGggMi40IGtlcm5lbHNcbiIKKyN+IG1zZ3N0ciAiXHToqLvoqJjvvJplbHZ0dW5lIOWPqumBqeeUqOaWvCAyLjQg5YWn5qC4XG4iCisKKyN+IG1zZ2lkICJtaXNzaW5nIGJsb2NrZGV2aWNlLCB1c2UgLWggZm9yIGhlbHBcbiIKKyN+IG1zZ3N0ciAi57y65bCR5Y2A5aGK6KOd572u77yM5L2/55SoIC1oIOS7peeNsuW+l+iqquaYjlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gImVsdnR1bmUgaXMgb25seSB1c2VmdWwgb24gb2xkZXIga2VybmVscztcbiIKKyN+ICJmb3IgMi42IHVzZSBJTyBzY2hlZHVsZXIgc3lzZnMgdHVuYWJsZXMgaW5zdGVhZC4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIgZWx2dHVuZSDlj6rpgannlKjmlrzoiIrnmoTlhafmoLjvvJtcbiIKKyN+ICLmlrwgMi42IOiri+S9v+eUqCBJTyDmjpLnqIvnqIvlvI8gc3lzZnMgdHVuYWJsZXMg5YGa54K65pu/5Luj44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVXNhZ2U6ICVzIFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgW+mBuOmghV0g6KOd572uXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1uLCAtLW5vLXZlcmlmeSAgZGlzYWJsZSB0aGUgdmVyaWZpY2F0aW9uIGFmdGVyIHRoZSBmb3JtYXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICIgLW4sIC0tbm8tdmVyaWZ5ICDlgZznlKjpqZforYnkuYvlvozmoLzlvI9cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ3YWlkcGlkIGZhaWxlZCIKKyN+IG1zZ3N0ciAid2FpZHBpZCDlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSBmaWxlXG4iCisjfiBtc2dzdHIgIiAlcyBb6YG46aCFXSDmqpTmoYhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXgsIC0tZGVzdGluYXRpb24gPGRpcj4gIGV4dHJhY3QgaW50byBkaXJlY3RvcnlcbiIKKyN+IG1zZ3N0ciAiIC14LCAtLWRlc3RpbmF0aW9uIDxkaXI+ICDmir3lh7rpgLLlhaXnm67pjIRcbiIKKworI34gbXNnaWQgImNvbXBpbGVkIHdpdGhvdXQgLXggc3VwcG9ydCIKKyN+IG1zZ3N0ciAi57eo6K2v5pmC5LiN5YW3IC14IOaUr+aPtCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJVc2FnZTpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgbWtmcyg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuimgeeNsuW+l+abtOWkmuizh+ioiuiri+WPg+eciyBta2ZzICg4KeOAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVkaXRpb24gbnVtYmVyIGFyZ3VtZW50IGZhaWxlZCIKKyN+IG1zZ3N0ciAi57eo6Lyv5pW45a2X5byV5pW45aSx5pWXIgorCisjfiBtc2dpZCAib25lIGJhZCBibG9ja1xuIgorI34gbXNnc3RyICLkuIDlgIvkuI3oia/ljYDloYpcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCYWQgc3dhcCBoZWFkZXIgc2l6ZSwgbm8gbGFiZWwgd3JpdHRlbi4iCisjfiBtc2dzdHIgIuS4jeeVtueahOS6pOaPm+mggemmluWkp+Wwj++8jOaykuacieaomeiyvOaJi+Wvq+eahOOAgiIKKworI34gbXNnaWQgImZzeW5jIGZhaWxlZCIKKyN+IG1zZ3N0ciAiZnN5bmMg5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiB0eXBlIGhleCBvciB1dWlkIgorI34gbXNnc3RyICLliIblibLljYDpoZ7lnovljYHlha3pgLLkvY3miJYgdXVpZCIKKworI34gbXNnaWQgIiVzOiBPdXQgb2YgbWVtb3J5IVxuIgorI34gbXNnc3RyICIlc++8muiomOaGtumrlOS4jei2s++8gVxuIgorCisjICLnhKHms5Xlu7rnq4sgJXM6ICVzXG4iCisjfiBtc2dpZCAiVW51c2FibGUiCisjfiBtc2dzdHIgIueEoeazleS9v+eUqCIKKworI34gbXNnaWQgIkRpc2sgaGFzIGJlZW4gY2hhbmdlZC5cbiIKKyN+IG1zZ3N0ciAi56OB56Kf5bey6K6K5pu044CCXG4iCisKKyN+IG1zZ2lkICJSZWJvb3QgdGhlIHN5c3RlbSB0byBlbnN1cmUgdGhlIHBhcnRpdGlvbiB0YWJsZSBpcyBjb3JyZWN0bHkgdXBkYXRlZC5cbiIKKyN+IG1zZ3N0ciAi57O757Wx6YeN5paw6ZaL5qmf5Lul56K65L+d5YiG5Ymy6KGo5q2j56K65Zyw6KKr5pu05paw44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogSWYgeW91IGhhdmUgY3JlYXRlZCBvciBtb2RpZmllZCBhbnlcbiIKKyN+ICJET1MgNi54IHBhcnRpdGlvbnMsIHBsZWFzZSBzZWUgdGhlIGNmZGlzayBtYW51YWxcbiIKKyN+ICJwYWdlIGZvciBhZGRpdGlvbmFsIGluZm9ybWF0aW9uLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5aaC5p6c5oKo5bey5bu656uL5oiW5L+u5pS55Lu75L2VXG4iCisjfiAiRE9TIDYueCDliIblibLljYDvvIzoq4vlj4PnnIsgY2ZkaXNrIOaJi+WGilxuIgorI34gIuS7peeNsuW+l+mhjeWklueahOizh+ioiuOAglxuIgorCisjfiBtc2dpZCAiRkFUQUwgRVJST1IiCisjfiBtc2dzdHIgIuWatOmHjemMr+iqpCIKKworI34gbXNnaWQgIlByZXNzIGFueSBrZXkgdG8gZXhpdCBjZmRpc2siCisjfiBtc2dzdHIgIuaMieS7u+S9lemNteS7pemboumWiyBjZmRpc2siCisKKyN+IG1zZ2lkICJDYW5ub3Qgc2VlayBvbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLnhKHms5XmkJzlsIvno4Hnop8iCisKKyN+IG1zZ2lkICJDYW5ub3QgcmVhZCBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLnhKHms5XoroDlj5bno4Hnop8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgd3JpdGUgZGlzayBkcml2ZSIKKyN+IG1zZ3N0ciAi54Sh5rOV5a+r5YWl56OB56KfIgorCisjfiBtc2dpZCAiVG9vIG1hbnkgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2A6YGO5aSaIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGJlZ2lucyBiZWZvcmUgc2VjdG9yIDAiCisjfiBtc2dzdHIgIuWIhuWJsuWNgOmWi+err+Wwj+aWvOejgeWNgCAwIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgYmVmb3JlIHNlY3RvciAwIgorI34gbXNnc3RyICLliIblibLljYDntZDlsL7lsI/mlrzno4HljYAgMCIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBiZWdpbnMgYWZ0ZXIgZW5kLW9mLWRpc2siCisjfiBtc2dzdHIgIuWIhuWJsuWNgOmWi+err+Wkp+aWvOejgeein+acq+erryIKKworI34gbXNnaWQgIlBhcnRpdGlvbiBlbmRzIGFmdGVyIGVuZC1vZi1kaXNrIgorI34gbXNnc3RyICLliIblibLljYDntZDlsL7lpKfmlrzno4Hnop/mnKvnq68iCisKKyN+IG1zZ2lkICJsb2dpY2FsIHBhcnRpdGlvbnMgbm90IGluIGRpc2sgb3JkZXIiCisjfiBtc2dzdHIgIumCj+i8r+WIhuWJsuWNgOacquaMieejgeein+mghuW6jyIKKworI34gbXNnaWQgImxvZ2ljYWwgcGFydGl0aW9ucyBvdmVybGFwIgorI34gbXNnc3RyICLpgo/ovK/liIblibLljYDph43nlooiCisKKyN+IG1zZ2lkICJlbmxhcmdlZCBsb2dpY2FsIHBhcnRpdGlvbnMgb3ZlcmxhcCIKKyN+IG1zZ3N0ciAi5pO05aSn55qE6YKP6Lyv5YiG5Ymy5Y2A6YeN55aKIgorCisjfiBtc2dpZCAiISEhISBJbnRlcm5hbCBlcnJvciBjcmVhdGluZyBsb2dpY2FsIGRyaXZlIHdpdGggbm8gZXh0ZW5kZWQgcGFydGl0aW9uICEhISEiCisjfiBtc2dzdHIgIiEhISEg5YWn6YOo6Yyv6KqkISDmlrDlop7pgo/ovK/no4Hnop/mspLmnInnlKjmlrzmk7TlsZXliIblibLljYAgISEhISIKKworI34gbXNnaWQgIkNhbm5vdCBjcmVhdGUgbG9naWNhbCBkcml2ZSBoZXJlIC0tIHdvdWxkIGNyZWF0ZSB0d28gZXh0ZW5kZWQgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi54Sh5rOV5Zyo5q2k5paw5aKe6YKP6Lyv56OB56KfIC0tIOWmguatpOWwh+mAoOaIkOS6jOWAi+aTtOWxleWIhuWJsuWNgCIKKworI34gbXNnaWQgIk1lbnUgaXRlbSB0b28gbG9uZy4gTWVudSBtYXkgbG9vayBvZGQuIgorI34gbXNnc3RyICLpgbjllq7poIXnm67lpKrplbfvvIzpgbjllq7nnIvotbfkvobmnIPlvojlpYfmgKrjgIIiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGtleSIKKyN+IG1zZ3N0ciAi54Sh5pWI5oyJ6Y21IgorCisjfiBtc2dpZCAiQ3JlYXRlIGEgbmV3IHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLmlrDlop7kuIDlgIvkuLvopoHliIblibLljYAiCisKKyN+IG1zZ2lkICJDcmVhdGUgYSBuZXcgbG9naWNhbCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIuaWsOWinuS4gOWAi+mCj+i8r+WIhuWJsuWNgCIKKworI34gbXNnaWQgIkNhbmNlbCIKKyN+IG1zZ3N0ciAi5Y+W5raIIgorCisjfiBtc2dpZCAiRG9uJ3QgY3JlYXRlIGEgcGFydGl0aW9uIgorI34gbXNnc3RyICLkuI3opoHmlrDlop7kuIDlgIvliIblibLljYAiCisKKyN+IG1zZ2lkICIhISEgSW50ZXJuYWwgZXJyb3IgISEhIgorI34gbXNnc3RyICIhISEg5YWn6YOo6Yyv6KqkICEhISIKKworI34gbXNnaWQgIlNpemUgKGluIE1CKTogIgorI34gbXNnc3RyICLlpKflsI8gKOWWruS9jSBNQik6ICIKKworI34gbXNnaWQgIkJlZ2lubmluZyIKKyN+IG1zZ3N0ciAi6ZaL5aeLIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBiZWdpbm5pbmcgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAi5paw5aKe5YiG5Ymy5Y2A5pa85Ymp6aSY56m66ZaT6ZaL6aCt5L2N572uIgorCisjfiBtc2dpZCAiQWRkIHBhcnRpdGlvbiBhdCBlbmQgb2YgZnJlZSBzcGFjZSIKKyN+IG1zZ3N0ciAi5paw5aKe5YiG5Ymy5Y2A5pa85Ymp6aSY56m66ZaT5pyr56uvIgorCisjfiBtc2dpZCAiTm8gcm9vbSB0byBjcmVhdGUgdGhlIGV4dGVuZGVkIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi5bey54Sh5aSa6aSY55qE56OB56Kf56m66ZaT5Y+v6ZaL5ZWf5pO05YWF5YiG5Ymy5Y2AIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9uIHRhYmxlLiBTdGFydGluZyB3aXRoIHplcm8gdGFibGUuIgorI34gbXNnc3RyICLnhKHliIblibLooajjgILku6XnqbrnmoTooajmoLzplovlp4vjgIIiCisKKyN+IG1zZ2lkICJCYWQgc2lnbmF0dXJlIG9uIHBhcnRpdGlvbiB0YWJsZSIKKyN+IG1zZ3N0ciAi5YiG5Ymy6KGo5LiK5pyJ5LiN55W255qE57C956ugIgorCisjfiBtc2dpZCAiVW5rbm93biBwYXJ0aXRpb24gdGFibGUgdHlwZSIKKyN+IG1zZ3N0ciAi5LiN5piO55qE5YiG5Ymy6KGo6aGe5Z6LIgorCisjfiBtc2dpZCAiRG8geW91IHdpc2ggdG8gc3RhcnQgd2l0aCBhIHplcm8gdGFibGUgW3kvTl0gPyIKKyN+IG1zZ3N0ciAi5oKo5oOz6KaB5Lul5LiA5YCL56m655qE5YiG5Ymy6KGo6ZaL5aeL5ZeOIFt5L05dID8iCisKKyN+IG1zZ2lkICJDYW5ub3Qgb3BlbiBkaXNrIGRyaXZlIgorI34gbXNnc3RyICLnhKHms5XplovllZ/no4Hnop8iCisKKyN+IG1zZ2lkICJPcGVuZWQgZGlzayByZWFkLW9ubHkgLSB5b3UgaGF2ZSBubyBwZXJtaXNzaW9uIHRvIHdyaXRlIgorI34gbXNnc3RyICLlt7LplovllZ/no4Hnop/ngrrllK/oroAgLSDmgqjnhKHmrIrpmZDlj6/lr6vlhaUiCisKKyN+IG1zZ2lkICJDYW5ub3QgZ2V0IGRpc2sgc2l6ZSIKKyN+IG1zZ3N0ciAi54Sh5rOV5Y+W5b6X56OB56Kf5aSn5bCPIgorCisjfiBtc2dpZCAiQmFkIHByaW1hcnkgcGFydGl0aW9uIgorI34gbXNnc3RyICLlo57nmoTkuLvopoHliIblibLljYAiCisKKyN+IG1zZ2lkICJXYXJuaW5nISEgIFRoaXMgbWF5IGRlc3Ryb3kgZGF0YSBvbiB5b3VyIGRpc2shIgorI34gbXNnc3RyICLorablkYohISDpgJnpoIXmk43kvZzlj6/og73mnIPkvb/mgqjnoaznop/kuK3nmoTos4fmlpnmtojlpLEhIgorCisjfiBtc2dpZCAiUGxlYXNlIGVudGVyIGB5ZXMnIG9yIGBubyciCisjfiBtc2dzdHIgIuiri+mNteWFpSBgeWVzJyDmiJYgYG5vJyIKKworI34gbXNnaWQgIldyaXRpbmcgcGFydGl0aW9uIHRhYmxlIHRvIGRpc2suLi4iCisjfiBtc2dzdHIgIuato+Wvq+WFpeWIhuWJsuihqOWIsOehrOein+KApiIKKworI34gbXNnaWQgIldyb3RlIHBhcnRpdGlvbiB0YWJsZSB0byBkaXNrIgorI34gbXNnc3RyICLlt7LlsIfliIblibLooajlr6vlhaXnoaznop8iCisKKyN+IG1zZ2lkICJXcm90ZSBwYXJ0aXRpb24gdGFibGUsIGJ1dCByZS1yZWFkIHRhYmxlIGZhaWxlZC4gIFJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgdG8gdXBkYXRlIHRhYmxlLiIKKyN+IG1zZ3N0ciAi5bey5a+r5YWl5YiG5Ymy6KGo77yM5L2G6YeN6K6A5aSx5pWX44CCIOiri+Wft+ihjCBwYXJ0cHJvYmUoOCnjgIFrcGFydHgoOCkg5oiW6YeN5paw6ZaL5qmf5Lul5pu05paw5YiG5Ymy6KGo44CCIgorCisjfiBtc2dpZCAiTm8gcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIuaykuacieS4u+imgeWIhuWJsuWNgOiiq+aomeiomOeCuuWPr+mWi+apny4gRE9TIE1CUiDnhKHms5XnlLHmraTplovmqZ8uIgorCisjfiBtc2dpZCAiTW9yZSB0aGFuIG9uZSBwcmltYXJ5IHBhcnRpdGlvbiBpcyBtYXJrZWQgYm9vdGFibGUuIERPUyBNQlIgY2Fubm90IGJvb3QgdGhpcy4iCisjfiBtc2dzdHIgIui2hemBjuS4gOWAi+S4u+imgeWIhuWJsuWNgOaomeiomOeCuuWPr+mWi+apny4gRE9TIE1CUiDnhKHms5XnlLHmraTplovmqZ8uIgorCisjfiBtc2dpZCAiRW50ZXIgZmlsZW5hbWUgb3IgcHJlc3MgUkVUVVJOIHRvIGRpc3BsYXkgb24gc2NyZWVuOiAiCisjfiBtc2dzdHIgIumNteWFpeaqlOWQjeaIluaMiSBFbnRlciDpjbXku6Xpoa/npLrmlrzonqLluZXkuIo6ICIKKworI34gbXNnaWQgIkRpc2sgRHJpdmU6ICVzXG4iCisjfiBtc2dzdHIgIuehrOeinzogJXNcbiIKKworI34gbXNnaWQgIlNlY3RvciAwOlxuIgorI34gbXNnc3RyICLno4HljYAgMDpcbiIKKworI34gbXNnaWQgIlNlY3RvciAlZDpcbiIKKyN+IG1zZ3N0ciAi56OB5Y2AICVkOlxuIgorCisjfiBtc2dpZCAiICAgTm9uZSAgICIKKyN+IG1zZ3N0ciAiICAg54ShICAgIgorCisjfiBtc2dpZCAiICAgUHJpL0xvZyIKKyN+IG1zZ3N0ciAiIOS4u+imgS/pgo/ovK8iCisKKyN+IG1zZ2lkICIgICBQcmltYXJ5IgorI34gbXNnc3RyICIgICDkuLvopoHnmoQgIgorCisjfiBtc2dpZCAiICAgTG9naWNhbCIKKyN+IG1zZ3N0ciAiICAg6YKP6Lyv55qEIgorCisjfiBtc2dpZCAiKCUwMlgpIgorI34gbXNnc3RyICIoJTAyWCkiCisKKyN+IG1zZ2lkICJOb25lIgorI34gbXNnc3RyICLnhKEiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gVGFibGUgZm9yICVzXG4iCisjfiBtc2dzdHIgIiVzIOeahOWIhuWJsuihqFxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgRmlyc3QgICAgICAgTGFzdFxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICDnrKzkuIDlgIsgICAgIOacgOW+jOeahFxuIgorCisjfiBtc2dpZCAiICMgVHlwZSAgICAgICBTZWN0b3IgICAgICBTZWN0b3IgICBPZmZzZXQgICAgTGVuZ3RoICAgRmlsZXN5c3RlbSBUeXBlIChJRCkgRmxhZ1xuIgorI34gbXNnc3RyICIgIyDpoZ7lnosgICAgICAgICAg56OB5Y2AICAgICAgIOejgeWNgOWBj+enu+WAvCAgICAgICAgICDplbfluqYgICDmqpTmoYjns7vntbHpoZ7lnosgKElEKSAgIOaXl+aomVxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0gLS0tLS0tLS0tLS0gLS0tLS0tLS0tLS0tLS0tLS0tLS0gLS0tLVxuIgorI34gbXNnc3RyICItLSAtLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLS0tLS0tLS0tLSAtLS0tXG4iCisKKyN+IG1zZ2lkICIgICAgICAgICAtLS1TdGFydGluZy0tLS0gICAgICAtLS0tRW5kaW5nLS0tLS0gICAgU3RhcnQgICAgIE51bWJlciBvZlxuIgorI34gbXNnc3RyICIgICAgICAgICAgLS0t6ZaL5aeLLS0tICAgICAgICAgICAtLS0t57WQ5p2fLS0tLS0gICAgIOmWi+WniyAgICAgICAgIOaVuOmHj1xuIgorCisjfiBtc2dpZCAiICMgRmxhZ3MgSGVhZCBTZWN0ICBDeWwgICBJRCAgSGVhZCBTZWN0ICBDeWwgICAgIFNlY3RvciAgICBTZWN0b3JzXG4iCisjfiBtc2dzdHIgIiAjIOaXl+aomSAg56OB6aCtIOejgeWNgCDno4Hmn7EgIElEICDno4HpoK0g56OB5Y2AIOejgeafsSAgICDno4HljYAgICAgICDno4HljYDmlbggIFxuIgorCisjfiBtc2dpZCAiLS0gLS0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tIC0tLS0tIC0tLS0tLS0tLS0tIC0tLS0tLS0tLS0tXG4iCisjfiBtc2dzdHIgIi0tIC0tLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tIC0tLS0gLS0tLSAtLS0tLSAtLS0tLS0tLS0tLSAtLS0tLS0tLS0tLVxuIgorCisjfiBtc2dpZCAiUmF3IgorI34gbXNnc3RyICLljp/lp4siCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgdXNpbmcgcmF3IGRhdGEgZm9ybWF0IgorI34gbXNnc3RyICLnlKjljp/lp4vos4fmlpnmoLzlvI/poa/npLrliIblibLooagiCisKKyN+IG1zZ2lkICJQcmludCB0aGUgdGFibGUgb3JkZXJlZCBieSBzZWN0b3JzIgorI34gbXNnc3RyICLnlKjno4HljYDmlbjlpKflsI/poa/npLrliIblibLooagiCisKKyN+IG1zZ2lkICJUYWJsZSIKKyN+IG1zZ3N0ciAi5YiG5Ymy6KGoIgorCisjfiBtc2dpZCAiSnVzdCBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICLlj6rpoa/npLrmraTliIblibLooagiCisKKyN+IG1zZ2lkICJEb24ndCBwcmludCB0aGUgdGFibGUiCisjfiBtc2dzdHIgIuS4jemhr+ekuuatpOWIhuWJsuihqCIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0xOTk5IEtldmluIEUuIE1hcnRpbiAmIGFlYiIKKyN+IG1zZ3N0ciAi6JGX5L2c5qyKwqkxOTk0LTE5OTkgS2V2aW4gRS5NYXJ0aW4gJiBhZWIiCisKKyN+IG1zZ2lkICIgIGcgICAgICAgICAgQ2hhbmdlIGN5bGluZGVycywgaGVhZHMsIHNlY3RvcnMtcGVyLXRyYWNrIHBhcmFtZXRlcnMiCisjfiBtc2dzdHIgIiAgZyAgICAgICAgICDorormm7Tno4Hmn7HjgIHno4HpoK3jgIHmr4/kuIDno4Hou4zno4HljYDmlbjlkITpoIXlj4PmlbgiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAgV0FSTklORzogVGhpcyBvcHRpb24gc2hvdWxkIG9ubHkgYmUgdXNlZCBieSBwZW9wbGUgd2hvIgorI34gbXNnc3RyICIgICAgICAgICAgICAg6K2m5ZGKOiDmraTpgbjpoIXlj6rpgannlKjmlrzpgqPkupsiCisKKyN+IG1zZ2lkICIgICAgICAgICAgICAga25vdyB3aGF0IHRoZXkgYXJlIGRvaW5nLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOefpemBk+S7luiHquW3seWcqOWBmuS7gOm6vOeahOS6uuOAgiIKKworI34gbXNnaWQgIiAgbSAgICAgICAgICBNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICBtICAgICAgICAgIOWwh+WIhuWJsuWNgOeahOeUqOmHj+acgOWkp+WMliIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBOb3RlOiBUaGlzIG1heSBtYWtlIHRoZSBwYXJ0aXRpb24gaW5jb21wYXRpYmxlIHdpdGgiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDms6jmhI86IOmAmeWwh+S9v+WIhuWJsuWNgOS4jeebuOWuueaWvCIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBET1MsIE9TLzIsIC4uLiIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIERPUywgT1MvMizigKYiCisKKyN+IG1zZ2lkICIgIHAgICAgICAgICAgUHJpbnQgcGFydGl0aW9uIHRhYmxlIHRvIHRoZSBzY3JlZW4gb3IgdG8gYSBmaWxlIgorI34gbXNnc3RyICIgIHAgICAgICAgICAg6aGv56S65YiG5Ymy6KGo5pa86J6i5bmV5oiW6Ly45Ye66Iez5qqU5qGIIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIFRoZXJlIGFyZSBzZXZlcmFsIGRpZmZlcmVudCBmb3JtYXRzIGZvciB0aGUgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICAgICAgICAgICAg6YCZ6KOh5pyJ5LiN5ZCM55qE5YiG5Ymy5Y2A5qC85byPIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgIHRoYXQgeW91IGNhbiBjaG9vc2UgZnJvbToiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICDku6XkuIvmgqjlj6/ku6Xpgbjmk4c6IgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHIgLSBSYXcgZGF0YSAoZXhhY3RseSB3aGF0IHdvdWxkIGJlIHdyaXR0ZW4gdG8gZGlzaykiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICByIC0g5Y6f5aeL6LOH5paZICjlkozmgqjlr6vlhaXnoaznop/kuK3nmoTkuIDmqKMpIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICAgIHMgLSBUYWJsZSBvcmRlcmVkIGJ5IHNlY3RvcnMiCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAgICBzIC0g5YiG5Ymy6KGo5Lul56OB5Y2A5pW45o6S5YiXIgorCisjfiBtc2dpZCAiICB1ICAgICAgICAgIENoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSIKKyN+IG1zZ3N0ciAiICB1ICAgICAgICAgIOiuiuabtOWIhuWJsuWNgOWkp+Wwj+eahOmhr+ekuuWWruS9jSIKKworI34gbXNnaWQgIiAgICAgICAgICAgICBSb3RhdGVzIHRocm91Z2ggTUIsIHNlY3RvcnMgYW5kIGN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICAgICAgICAgICAgIOW+queSsOmhr+ekuiBNQuOAgeejgeWNgOaVuOWSjOejgeafseaVuCIKKworI34gbXNnaWQgIkNUUkwtTCAgICAgICBSZWRyYXdzIHRoZSBzY3JlZW4iCisjfiBtc2dzdHIgIkNUUkwtTCAgICAgICDph43mlrDmlbTnkIbnlavpnaIo5Lul5YWN5pyJ5q6Y5b2xKSIKKworI34gbXNnaWQgIiAgPyAgICAgICAgICBQcmludCB0aGlzIHNjcmVlbiIKKyN+IG1zZ3N0ciAiICA/ICAgICAgICAgIOmhr+ekuuatpOeVq+mdoiIKKworI34gbXNnaWQgIkNoYW5nZSBjeWxpbmRlciBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAi6K6K5pu056OB5p+x57WQ5qeLIgorCisjfiBtc2dpZCAiQ2hhbmdlIGhlYWQgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuiuiuabtOejgemgree1kOaniyIKKworI34gbXNnaWQgIkNoYW5nZSBzZWN0b3IgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIuiuiuabtOejgeWNgOe1kOaniyIKKworI34gbXNnaWQgIkRvbmUiCisjfiBtc2dzdHIgIuWujOaIkCIKKworI34gbXNnaWQgIkRvbmUgd2l0aCBjaGFuZ2luZyBnZW9tZXRyeSIKKyN+IG1zZ3N0ciAi6K6K5pu057WQ5qeL5a6M5oiQIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBjeWxpbmRlcnM6ICIKKyN+IG1zZ3N0ciAi6Y215YWl56OB5p+x5pW4OiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIGN5bGluZGVycyB2YWx1ZSIKKyN+IG1zZ3N0ciAi56OB5p+x5pW45YC85LiN5ZCI5rOVIgorCisjfiBtc2dpZCAiRW50ZXIgdGhlIG51bWJlciBvZiBoZWFkczogIgorI34gbXNnc3RyICLpjbXlhaXno4HpoK3mlbjlrZc6ICIKKworI34gbXNnaWQgIklsbGVnYWwgaGVhZHMgdmFsdWUiCisjfiBtc2dzdHIgIuejgemgreaVuOWAvOS4jeWQiOazlSIKKworI34gbXNnaWQgIkVudGVyIHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2s6ICIKKyN+IG1zZ3N0ciAi6Y215YWl5q+P5LiA56OB6LuM55qE56OB5Y2A5pW4OiAiCisKKyN+IG1zZ2lkICJJbGxlZ2FsIHNlY3RvcnMgdmFsdWUiCisjfiBtc2dzdHIgIuejgeWNgOaVuOS4jeWQiOazlSIKKworI34gbXNnaWQgIkVudGVyIGZpbGVzeXN0ZW0gdHlwZTogIgorI34gbXNnc3RyICLoq4vop4Dlr5/kuIrooags6Ly45YWl6Kmy5qqU5qGI57O757Wx55qE6aGe5Z6L5Luj56K8OiAiCisKKyN+IG1zZ2lkICJDYW5ub3QgY2hhbmdlIEZTIFR5cGUgdG8gZW1wdHkiCisjfiBtc2dzdHIgIueEoeazleiuiuabtOaqlOahiOezu+e1semhnuWei+eCuuepuiIKKworI34gbXNnaWQgIkNhbm5vdCBjaGFuZ2UgRlMgVHlwZSB0byBleHRlbmRlZCIKKyN+IG1zZ3N0ciAi54Sh5rOV6K6K5pu05qqU5qGI57O757Wx6aGe5Z6L54K65pO05bGV55qEIgorCisjfiBtc2dpZCAiVW5rKCUwMlgpIgorI34gbXNnc3RyICJVbmsoJTAyWCkiCisKKyN+IG1zZ2lkICIsIE5DIgorI34gbXNnc3RyICIsIE5DIgorCisjfiBtc2dpZCAiTkMiCisjfiBtc2dzdHIgIk5DIgorCisjfiBtc2dpZCAiUHJpL0xvZyIKKyN+IG1zZ3N0ciAi5Li76KaBL+mCj+i8ryIKKworI34gbXNnaWQgIlVua25vd24gKCUwMlgpIgorI34gbXNnc3RyICLmnKrnn6XnmoQgKCUwMlgpIgorCisjfiBtc2dpZCAiRGlzayBEcml2ZTogJXMiCisjfiBtc2dzdHIgIuehrOeinzogJXMiCisKKyN+IG1zZ2lkICJTaXplOiAlbGxkIGJ5dGVzLCAlbGxkIE1CIgorI34gbXNnc3RyICLlpKflsI86ICVsbGQg5L2N5YWD57WELCAlbGxkIE1CIgorCisjfiBtc2dpZCAiU2l6ZTogJWxsZCBieXRlcywgJWxsZC4lbGxkIEdCIgorI34gbXNnc3RyICLlpKflsI86ICVsbGQg5L2N5YWD57WELCAlbGxkLiVsbGQgR0IiCisKKyN+IG1zZ2lkICJIZWFkczogJWQgICBTZWN0b3JzIHBlciBUcmFjazogJWQgICBDeWxpbmRlcnM6ICVsbGQiCisjfiBtc2dzdHIgIuejgemgreaVuDogJWQgICDmr4/kuIDno4Hou4znmoTno4HljYDmlbg6ICVkICAg56OB5p+x5pW4OiAlbGxkIgorCisjfiBtc2dpZCAiUGFydCBUeXBlIgorI34gbXNnc3RyICLliIblibLljYDpoZ7lnosiCisKKyN+IG1zZ2lkICJGUyBUeXBlIgorI34gbXNnc3RyICLmqpTmoYjns7vntbHpoZ7lnosiCisKKyN+IG1zZ2lkICJbTGFiZWxdIgorI34gbXNnc3RyICJb5qiZ6KiY5ZCN56ixXSIKKworI34gbXNnaWQgIiAgICBTZWN0b3JzIgorI34gbXNnc3RyICIgICDno4HljYAiCisKKyN+IG1zZ2lkICIgIEN5bGluZGVycyIKKyN+IG1zZ3N0ciAiICDno4Hmn7EiCisKKyN+IG1zZ2lkICIgIFNpemUgKE1CKSIKKyN+IG1zZ3N0ciAiIOWkp+WwjyAoTUIpIgorCisjfiBtc2dpZCAiICBTaXplIChHQikiCisjfiBtc2dzdHIgIiDlpKflsI8gKEdCKSIKKworI34gbXNnaWQgIk5vIG1vcmUgcGFydGl0aW9ucyIKKyN+IG1zZ3N0ciAi5bey54Sh5aSa6aSY55qE5YiG5Ymy5Y2AIgorCisjfiBtc2dpZCAiQ2hhbmdlIGRpc2sgZ2VvbWV0cnkgKGV4cGVydHMgb25seSkiCisjfiBtc2dzdHIgIuiuiuabtOejgeein+e1kOaniyAo6ICB5omL6YGp55SoKSIKKworI34gbXNnaWQgIk1heGltaXplIgorI34gbXNnc3RyICLmnIDlpKfljJYiCisKKyN+IG1zZ2lkICJNYXhpbWl6ZSBkaXNrIHVzYWdlIG9mIHRoZSBjdXJyZW50IHBhcnRpdGlvbiAoZXhwZXJ0cyBvbmx5KSIKKyN+IG1zZ3N0ciAi5L2/55uu5YmN55qE5YiG5Ymy5Y2A55qE56OB56Kf5L2/55So5pyA5aSn5YyWICjogIHmiYvpgannlKgpIgorCisjfiBtc2dpZCAiUHJpbnQiCisjfiBtc2dzdHIgIuWNsOWHuiIKKworI34gbXNnaWQgIkNoYW5nZSB0aGUgZmlsZXN5c3RlbSB0eXBlIChET1MsIExpbnV4LCBPUy8yIGFuZCBzbyBvbikiCisjfiBtc2dzdHIgIuiuiuabtOaqlOahiOezu+e1seeahOmhnuWeiyAoRE9TLCBMaW51eCwgc3dhcCwgT1MvMiDnrYnnrYkpIgorCisjfiBtc2dpZCAiVW5pdHMiCisjfiBtc2dzdHIgIuWWruS9jSIKKworI34gbXNnaWQgIkNoYW5nZSB1bml0cyBvZiB0aGUgcGFydGl0aW9uIHNpemUgZGlzcGxheSAoTUIsIHNlY3QsIGN5bCkiCisjfiBtc2dzdHIgIuiuiuabtOWIhuWJsuWNgOWkp+Wwj+eahOmhr+ekuuWWruS9jSAo55SoIE1C44CB56OB5Y2A5pW45oiW56OB5p+x5pW4KSIKKworI34gbXNnaWQgIkNhbm5vdCBtYWtlIHRoaXMgcGFydGl0aW9uIGJvb3RhYmxlIgorI34gbXNnc3RyICLnhKHms5XorpPpgJnlgIvliIblibLljYDorormiJDlj6/plovmqZ8iCisKKyN+IG1zZ2lkICJDYW5ub3QgZGVsZXRlIGFuIGVtcHR5IHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAi54Sh5rOV5Yiq6Zmk5LiA5YCL56m655qE5YiG5Ymy5Y2AIgorCisjfiBtc2dpZCAiQ2Fubm90IG1heGltaXplIHRoaXMgcGFydGl0aW9uIgorI34gbXNnc3RyICLnhKHms5XlsIfpgJnlgIvliIblibLljYDmnIDlpKfljJYiCisKKyN+IG1zZ2lkICJUaGlzIHBhcnRpdGlvbiBpcyBhbHJlYWR5IGluIHVzZSIKKyN+IG1zZ3N0ciAi6YCZ5YCL5YiG5Ymy5Y2A5bey5Zyo5L2/55So5LitIgorCisjfiBtc2dpZCAiQ2Fubm90IGNoYW5nZSB0aGUgdHlwZSBvZiBhbiBlbXB0eSBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIueEoeazleiuiuabtOS4gOWAi+epuuWIhuWJsuWNgOeahOmhnuWeiyIKKworI34gbXNnaWQgIkNvcHlyaWdodCAoQykgMTk5NC0yMDAyIEtldmluIEUuIE1hcnRpbiAmIGFlYlxuIgorI34gbXNnc3RyICLniYjmrIrCqTE5OTQtMjAwMiBLZXZpbiBFLiBNYXJ0aW4gJiBhZWJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICJQcmludCB2ZXJzaW9uOlxuIgorI34gIiAgICAgICAgJXMgLXZcbiIKKyN+ICJQcmludCBwYXJ0aXRpb24gdGFibGU6XG4iCisjfiAiICAgICAgICAlcyAtUCB7cnxzfHR9IFtvcHRpb25zXSBkZXZpY2VcbiIKKyN+ICJJbnRlcmFjdGl2ZSB1c2U6XG4iCisjfiAiICAgICAgICAlcyBbb3B0aW9uc10gZGV2aWNlXG4iCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICItYTogVXNlIGFycm93IGluc3RlYWQgb2YgaGlnaGxpZ2h0aW5nO1xuIgorI34gIi16OiBTdGFydCB3aXRoIGEgemVybyBwYXJ0aXRpb24gdGFibGUsIGluc3RlYWQgb2YgcmVhZGluZyB0aGUgcHQgZnJvbSBkaXNrO1xuIgorI34gIi1jIEMgLWggSCAtcyBTOiBPdmVycmlkZSB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyxcbiIKKyN+ICIgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBoZWFkcyBhbmQgdGhlIG51bWJlciBvZiBzZWN0b3JzL3RyYWNrLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi55So5rOV77yaXG4iCisjfiAi5Y2w5Ye654mI5pys77yaXG4iCisjfiAiICAgICAgICVzIC12XG4iCisjfiAi5Y2w5Ye65YiG5Ymy6KGo77yaXG4iCisjfiAiICAgICAgICVzIC1QIHtyfHN8dH0gW+mBuOmghV0g6KOd572uXG4iCisjfiAi5LqS5YuV5byP5L2/55So77yaXG4iCisjfiAiICAgICAgICVzIFvpgbjpoIVdIOijnee9rlxuIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIi1hOiDkvb/nlKjnrq3poK3ku6Xku6Pmm7/pq5jkuq7luqbpoa/npLrvvJtcbiIKKyN+ICItejog5Lul6Zu25YiG5Ymy6KGo6ZaL5aeL77yM5Lul5Luj5pu/5b6e56OB56Kf6K6A5Y+W5YiG5Ymy6KGo77ybXG4iCisjfiAiLWMgQyAtaCBIIC1zIFM65by35Yi26K6K5pu05YWn5qC46KqN54K655qE56OB5p+x5pW46YeP44CBXG4iCisjfiAiICAgICAgICAgICAgICAg56OB6aCt5pW46YeP5ZKM5q+P5LiA56OB6LuM55qE56OB5Y2A5pW46YeP44CCXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBjeWxpbmRlcnMiCisjfiBtc2dzdHIgIueEoeazleWJluaekOejgeafseaVuOmHjyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgcGFyc2UgbnVtYmVyIG9mIGhlYWRzIgorI34gbXNnc3RyICLnhKHms5XliZbmnpDliY3nq6/mlbjph48iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHBhcnNlIG51bWJlciBvZiBzZWN0b3JzIgorI34gbXNnc3RyICLnhKHms5XliZbmnpDno4HljYDmlbjph48iCisKKyN+IG1zZ2lkICJXcml0aW5nIGRpc2tsYWJlbCB0byAlcy5cbiIKKyN+IG1zZ3N0ciAi5bCH56OB56Kf5qiZ57Gk5a+r5YWlICVz44CCXG4iCisKKyN+IG1zZ2lkICJMYXN0ICVzIG9yICtzaXplIG9yICtzaXplTSBvciArc2l6ZUsiCisjfiBtc2dzdHIgIuacgOW+jCAlcyDmiJYgK3NpemUg5oiWICtzaXplTSDmiJYgK3NpemVLIgorCisjfiBtc2dpZCAiUmVhZGluZyBkaXNrbGFiZWwgb2YgJXMgYXQgc2VjdG9yICVkLlxuIgorI34gbXNnc3RyICLmlrzno4HljYAgJTIkZCDoroDlj5YgJTEkcyDnmoTno4Hnop/mqJnnsaTjgIJcbiIKKworI34gbXNnaWQgIkJTRCBkaXNrbGFiZWwgY29tbWFuZCAobSBmb3IgaGVscCk6ICIKKyN+IG1zZ3N0ciAiQlNEIOejgeein+aomeexpOWRveS7pCAobSDku6XnjbLlvpfoqqrmmI4p77yaIgorCisjfiBtc2dpZCAiZHJpdmVkYXRhOiAiCisjfiBtc2dzdHIgIuejgeein+izh+aWme+8miIKKworI34gbXNnaWQgIiMgICAgICAgc3RhcnQgICAgICAgZW5kICAgICAgc2l6ZSAgICAgZnN0eXBlICAgW2ZzaXplIGJzaXplICAgY3BnXVxuIgorI34gbXNnc3RyICIjICAgICAgIOmWi+WniyAgICAgICDntZDmnZ8gICAgICDlpKflsI8g5qqU5qGI57O757Wx6aGe5Z6LIFtmc2l6ZSBic2l6ZSAgIGNwZ11cbiIKKworI34gbXNnaWQgIk11c3QgYmUgPD0gc2VjdG9ycy90cmFjayAqIHRyYWNrcy9jeWxpbmRlciAoZGVmYXVsdCkuXG4iCisjfiBtc2dzdHIgIuW/hemgiCA8PSDno4HljYAv56OB6LuMICog56OB6LuML+ejgeafsSAo6aCQ6KitKeOAglxuIgorCisjfiBtc2dpZCAiV2FybmluZzogdG9vIG1hbnkgcGFydGl0aW9ucyAoJWQsIG1heGltdW0gaXMgJWQpLlxuIgorI34gbXNnc3RyICLorablkYrvvJrlpKrlpJrliIblibLljYAgKCVkLCDmnIDlpKflgLzngrogJWQp44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiU3luY2luZyBkaXNrcy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuWQjOatpeejgeein+OAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gPGRpc2s+ICAgIGNoYW5nZSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICIgJTEkcyBbb3B0aW9uc10gLWwgPGRpc2s+IGxpc3QgcGFydGl0aW9uIHRhYmxlKHMpXG4iCisjfiAiICUxJHMgLXMgPHBhcnRpdGlvbj4gICAgICBnaXZlIHBhcnRpdGlvbiBzaXplKHMpIGluIGJsb2Nrc1xuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1iIDxzaXplPiAgICAgICAgICAgICBzZWN0b3Igc2l6ZSAoNTEyLCAxMDI0LCAyMDQ4IG9yIDQwOTYpXG4iCisjfiAiIC1jWz08bW9kZT5dICAgICAgICAgICBjb21wYXRpYmxlIG1vZGU6ICdkb3MnIG9yICdub25kb3MnIChkZWZhdWx0KVxuIgorI34gIiAtaCAgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLXVbPTx1bml0Pl0gICAgICAgICAgIGRpc3BsYXkgdW5pdHM6ICdjeWxpbmRlcnMnIG9yICdzZWN0b3JzJyAoZGVmYXVsdClcbiIKKyN+ICIgLXYgICAgICAgICAgICAgICAgICAgIHByaW50IHByb2dyYW0gdmVyc2lvblxuIgorI34gIiAtQyA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGN5bGluZGVyc1xuIgorI34gIiAtSCA8bnVtYmVyPiAgICAgICAgICAgc3BlY2lmeSB0aGUgbnVtYmVyIG9mIGhlYWRzXG4iCisjfiAiIC1TIDxudW1iZXI+ICAgICAgICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2Ygc2VjdG9ycyBwZXIgdHJhY2tcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIueUqOazle+8mlxuIgorI34gIiAlMSRzIFvpgbjpoIVdIDxkaXNrPiAgICDorormm7TliIblibLooahcbiIKKyN+ICIgJTEkcyBb6YG46aCFXSAtbDzno4Hnop8+5riF5Zau5YiG5Ymy6KGoXG4iCisjfiAiICUxJHMgLXM85YiG5YmyPiAgICAg57Wm5Ye65YiG5Ymy5Y2A5aSn5bCP5Zyo5Lit5Y2A5aGKXG4iCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC1iPOWkp+Wwjz4gICAgICAgICAgICDno4HljYDlpKflsI8gKDUxMiwtIDEwMjQsIDIwNDgg5oiWIDQwOTYpXG4iCisjfiAiIC1jWz08IOaooeW8jz5dICAgICAgICAgICDnm7jlrrnmqKHlvI/vvJonZG9zJyDmiJYgJ25vbmRvcycgKOmgkOiorSlcbiIKKyN+ICIgLWggICAgICAgICAgICAgICAgICAgIOWNsOWHuumAmeS7veiqquaYjuaWh+Wtl1xuIgorI34gIiAtdVs9PCDllq7kvY0+XSAgICAgICAgICAg6aGv56S65Zau5L2N77yaJ2N5bGluZGVycycg5oiWICdzZWN0b3JzJyAo6aCQ6KitKVxuIgorI34gIiAtdiAgICAgICAgICAgICAgICAgICAg5YiX5Y2w56iL5byP54mI5pysXG4iCisjfiAiIC1DPOaVuOWtlz4gICAgICAgICAg5oyH5a6a56OB5p+x5pW46YePXG4iCisjfiAiIC1IPOaVuOWtlz4gICAgICAgICAg5oyH5a6a5YmN56uv5pW46YePXG4iCisjfiAiIC1TPOaVuOWtlz4gICAgICAgICAg5oyH5a6a56OB5Y2A5pW46YeP5ZCE6LuM5q61XG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIHNlZWsgb24gJXMiCisjfiBtc2dzdHIgIueEoeazleWwi+aMh+aWvCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bmFibGUgdG8gd3JpdGUgJXMiCisjfiBtc2dzdHIgIueEoeazleWvq+WFpSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmYXRhbCBlcnJvciIKKyN+IG1zZ3N0ciAi5Zq06YeN6Yyv6KqkIgorCisjfiBtc2dpZCAiQ29tbWFuZCBhY3Rpb24iCisjfiBtc2dzdHIgIuWRveS7pOWLleS9nCIKKworI34gbXNnaWQgIllvdSBtdXN0IHNldCIKKyN+IG1zZ3N0ciAi5oKo5b+F6aCI6Kit5a6aIgorCisjfiBtc2dpZCAiaGVhZHMiCisjfiBtc2dzdHIgIuejgemgrSIKKworI34gbXNnaWQgInNlY3RvcnMiCisjfiBtc2dzdHIgIuejgeWNgCIKKworI34gbXNnaWQgIiBhbmQgIgorI34gbXNnc3RyICIg5ZKMICIKKworI34gbXNnaWQgIlVuc3VwcG9ydGVkIHN1ZmZpeDogJyVzJy5cbiIKKyN+IG1zZ3N0ciAi5LiN5Y+X5pSv5o+055qE5a2X5bC+77ya44CMJXPjgI3jgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdXBwb3J0ZWQ6IDEwXk46IEtCIChLaWxvQnl0ZSksIE1CIChNZWdhQnl0ZSksIEdCIChHaWdhQnl0ZSlcbiIKKyN+ICIgICAgICAgICAgICAyXk46IEsgIChLaWJpQnl0ZSksIE0gIChNZWJpQnl0ZSksIEcgIChHaWJpQnl0ZSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuaUr+aPtOeahOWWruS9jTogMTBeTjogS0IgKEtpbG9CeXRlKSwgTUIgKE1lZ2FCeXRlKSwgR0IgKEdpZ2FCeXRlKVxuIgorI34gIiAgICAgICAgICAgICAyXk46IEsgIChLaWJpQnl0ZSksIE0gIChNZWJpQnl0ZSksIEcgIChHaWJpQnl0ZSlcbiIKKworI34gbXNnaWQgIlVzaW5nIGRlZmF1bHQgdmFsdWUgJXVcbiIKKyN+IG1zZ3N0ciAi5L2/55So6aCQ6Kit5YC8ICV1XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVsZCBNQiwgJWxsZCBieXRlcyIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuejgeeinyAlc++8miVsZCBNQu+8jCVsbGQg5L2N5YWD57WEIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEaXNrICVzOiAlbGQuJWxkIEdCLCAlbGx1IGJ5dGVzIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi56OB56KfICVz77yaJWxkLiVsZCBHQu+8jCVsbHUg5L2N5YWD57WEIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiwgJWxsdSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIu+8jCVsbHUg56OB5Y2AXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IHdyaXRlIGRpc2sgbGFiZWwiCisjfiBtc2dzdHIgIueEoeazleWvq+WFpeejgeein+aomeiyvCIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJFcnJvciBjbG9zaW5nIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumXnOmWieaqlOahiOeZvOeUn+mMr+iqpFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHNldHRpbmcgc2VjdG9yIG9mZnNldCBmb3IgRE9TIGNvbXBhdGliaWxpdHlcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya6Kit5a6a56OB5Y2A5YGP56e755So5pa8IERPUyDnm7jlrrnmgKdcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAlc1xuIgorCisjfiBtc2dpZCAiRGV0ZWN0ZWQgYW4gT1NGLzEgZGlza2xhYmVsIG9uICVzLCBlbnRlcmluZyBkaXNrbGFiZWwgbW9kZS5cbiIKKyN+IG1zZ3N0ciAi5pa8ICVzIOWBtea4rOWIsCBPU0YvMSDno4Hnop/mqJnnsaTvvIzpgLLlhaXno4Hnop/mqJnnsaTmqKHlvI/jgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBET1MtY29tcGF0aWJsZSBtb2RlIGlzIGRlcHJlY2F0ZWQuIEl0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG9cbiIKKyN+ICIgICAgICAgICBzd2l0Y2ggb2ZmIHRoZSBtb2RlICh3aXRoIGNvbW1hbmQgJ2MnKS4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLorablkYrvvJrkuI3lrpzlho3kvb/nlKggRE9TIOebuOWuueaooeW8j+OAguW8t+eDiOW7uuitsFxuIgorI34gIiAgICAgIOmXnOaOieatpOaooeW8jyAo5Yip55So5ZG95Luk44CMY+OAjSnjgIIiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV0FSTklORzogY3lsaW5kZXJzIGFzIGRpc3BsYXkgdW5pdHMgYXJlIGRlcHJlY2F0ZWQuIFVzZSBjb21tYW5kICd1JyB0b1xuIgorI34gIiAgICAgICAgIGNoYW5nZSB1bml0cyB0byBzZWN0b3JzLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5LiN5a6c5YaN55So56OB5p+x5YGa54K66aGv56S65Zau5L2N44CC5L2/55So5ZG95Luk44CMdeOAjeS7pVxuIgorI34gIiAgICAgIOiuiuabtOWWruS9jeeCuuejgeWNgOOAglxuIgorCisjfiBtc2dpZCAiTmV3IGRpc2sgaWRlbnRpZmllciAoY3VycmVudCAweCUwOHgpOiAiCisjfiBtc2dzdHIgIuaWsOejgeein+itmOWIpeeivCAo55uu5YmN54K6IDB4JTA4eCnvvJoiCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgaXMgYWxyZWFkeSBkZWZpbmVkLiAgRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuXG4iCisjfiBtc2dzdHIgIuWIhuWJsuWNgCAlZCDlt7LntpPlrprnvqnjgIIg5Zyo6YeN5paw5Yqg5YWl5LmL5YmN5Yiq6Zmk5a6D44CCXG4iCisKKyN+IG1zZ2lkICJObyBmcmVlIHNlY3RvcnMgYXZhaWxhYmxlXG4iCisjfiBtc2dzdHIgIuaykuacieWPr+eUqOeahOejgeWNgOWtmOWcqFxuIgorCisjfiBtc2dpZCAiTGFzdCAlMSRzLCArJTIkcyBvciArc2l6ZXtLLE0sR30iCisjfiBtc2dzdHIgIuacgOW+jCAlMSRzLCArJTIkcyDmiJYgK+Wkp+Wwj3tLLE0sR30iCisKKyN+IG1zZ2lkICIgICAgIHBoeXM9KCVkLCAlZCwgJWQpICIKKyN+IG1zZ3N0ciAiICAgICDlr6bpq5Q9KCVkLCAlZCwgJWQpICIKKworI34gbXNnaWQgImxvZ2ljYWw9KCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgIumCj+i8rz0oJWQsICVkLCAlZClcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBiYWQgc3RhcnQtb2YtZGF0YSBpbiBwYXJ0aXRpb24gJXpkXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWcqOWIhuWJsuWNgCAlZCDkuK3kuI3nlbbnmoTos4fmlpnotbflp4tcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXpkIG92ZXJsYXBzIHBhcnRpdGlvbiAlemQuXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlZCDoiIfliIblibLljYAgJWQg6YeN55aK44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICV6ZCBpcyBlbXB0eVxuIgorI34gbXNnc3RyICLorablkYrvvJrliIblibLljYAgJWQg5piv56m655qEXG4iCisKKyN+IG1zZ2lkICJBZGRpbmcgYSBwcmltYXJ5IHBhcnRpdGlvblxuIgorI34gbXNnc3RyICLliqDlhaXkuIDlgIvkuLvopoHliIblibLljYBcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiUGFydGl0aW9uIHR5cGU6XG4iCisjfiAiICAgcCAgIHByaW1hcnkgKCV6ZCBwcmltYXJ5LCAlZCBleHRlbmRlZCwgJXpkIGZyZWUpXG4iCisjfiAiJXNcbiIKKyN+ICJTZWxlY3QgKGRlZmF1bHQgJWMpOiAiCisjfiBtc2dzdHIgIiIKKyN+ICLliIblibLljYDpoZ7lnovvvJpcbiIKKyN+ICIgICBwICAg5Li76KaBICglZCDkuLvopoHvvIwlZCDpgLLpmo7vvIwlZCDoh6rnlLEpXG4iCisjfiAiJXNcbiIKKyN+ICLpgbjlj5YgKOmgkOiorSAlYynvvJoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgZSAgIGV4dGVuZGVkIgorI34gbXNnc3RyICIgICBlICAg6YCy6ZqOIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBJZiB5b3UgaGF2ZSBjcmVhdGVkIG9yIG1vZGlmaWVkIGFueSBET1MgNi54cGFydGl0aW9ucywgcGxlYXNlIHNlZSB0aGUgZmRpc2sgbWFudWFsIHBhZ2UgZm9yIGFkZGl0aW9uYWxpbmZvcm1hdGlvbi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuitpuWRiu+8muWmguaenOaCqOW3suW7uueri+aIluS/ruaUueS7u+S9lSBET1MgNi54XG4iCisjfiAi5YiG5Ymy5Y2A77yM6KuL5Y+D55yLIGZkaXNrIOe3muS4iuaJi+WGiuS7peeNsuW+l+mhjeWkllxuIgorI34gIuizh+ioiuOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZG9lc24ndCBsb29rIGxpa2UgYSBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJQcm9iYWJseSB5b3Ugc2VsZWN0ZWQgdGhlIHdyb25nIGRldmljZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIumAmeeci+i1t+S+huS4jeWDj+aYr+S4gOWAi+WIhuWJsuihqFxuIgorI34gIuaCqOWkp+amgumBuOS6humMr+iqpOeahOijnee9ruOAglxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiJSpzIEJvb3QgICAgICBTdGFydCAgICAgICAgIEVuZCAgICAgIEJsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiJSpzIOmWi+apnyAgICAgIOmWi+WniyAgICAgICAgIOe1kOadnyAgICAgIOWNgOWhiiAgIOitmOWIpeiZnyAg57O757WxXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXM6ICVkIGhlYWRzLCAlbGx1IHNlY3RvcnMsICVsbHUgY3lsaW5kZXJzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLno4Hnop8gJXPvvJolZCDliY3nq6/vvIwlbGx1IOejgeWNgO+8jCVsbHUg56OB5p+xXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJOciBBRiAgSGQgU2VjICBDeWwgIEhkIFNlYyAgQ3lsICAgICBTdGFydCAgICAgIFNpemUgSURcbiIKKyN+IG1zZ3N0ciAiTnIgQUYg56OB6aCtIOejgeWNgCDno4Hmn7Eg56OB6aCtIOejgeWNgCDno4Hmn7EgICDplovlp4sgICAgICAg5aSn5bCPIElEXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiXHRUaGVyZSBpcyBhIHZhbGlkIE1hYyBsYWJlbCBvbiB0aGlzIGRpc2suXG4iCisjfiAiXHRVbmZvcnR1bmF0ZWx5IGZkaXNrKDEpIGNhbm5vdCBoYW5kbGUgdGhlc2UgZGlza3MuXG4iCisjfiAiXHRVc2UgZWl0aGVyIHBkaXNrIG9yIHBhcnRlZCB0byBtb2RpZnkgdGhlIHBhcnRpdGlvbiB0YWJsZS5cbiIKKyN+ICJcdE5ldmVydGhlbGVzcyBzb21lIGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx05pyJ5pWI55qEIE1hYyDmqJnnsaTkvY3mlrzpgJnlgIvno4Hnop/jgIJcbiIKKyN+ICJcdOS4jeW5uOWcsCBmZGlzaygxKSDnhKHms5XomZXnkIbpgJnkupvno4Hnop/jgIJcbiIKKyN+ICJcdOW/hemgiOS9v+eUqCBwZGlzayDmiJYgcGFydGVkIOS7peS/ruaUueWIhuWJsuihqOOAglxuIgorI34gIlx05LiN6KuW5aaC5L2V6YKE5piv5pyJ5Lqb5bu66KiA77yaXG4iCisjfiAiXHQxLmZkaXNrIOWwh+aWvOWvq+WFpeaZgumKt+avgOWug+eahOWFp+WuueOAglxuIgorI34gIlx0Mi7norroqo3pgJnlgIvno4Hnop/kuKbpnZ7ku43mmK9cbiIKKyN+ICJcdCAg5Y235YaK576k55qE54++55So6YOo5YiG44CCKOWQpuWJh+WmguaenOaykuaciemPoeWDj+WCmeS7veeahOipse+8jFxuIgorI34gIlx0ICDmgqjkuZ/oqLHlkIzmqKPmnIPmuIXpmaTlhbbku5bno4Hnop/jgIIpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXHRTb3JyeSAtIHRoaXMgZmRpc2sgY2Fubm90IGhhbmRsZSBNYWMgZGlzayBsYWJlbHMuXG4iCisjfiAiXHRJZiB5b3Ugd2FudCB0byBhZGQgRE9TLXR5cGUgcGFydGl0aW9ucywgY3JlYXRlXG4iCisjfiAiXHRhIG5ldyBlbXB0eSBET1MgcGFydGl0aW9uIHRhYmxlIGZpcnN0LiAoVXNlIG8uKVxuIgorI34gIlx0V0FSTklORzogVGhpcyB3aWxsIGRlc3Ryb3kgdGhlIHByZXNlbnQgZGlzayBjb250ZW50cy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlx05oqx5q2JIC0gZmRpc2sg54Sh5rOV6JmV55CGIE1hYyDno4Hnop/mqJnnsaTjgIJcbiIKKyN+ICJcdOWmguaenOaCqOimgeWKoOWFpSBET1Mg6aGe5Z6L5YiG5Ymy5Y2A77yM6KuL5YWI5bu656uLXG4iCisjfiAiXHTmlrDnmoTnqbogRE9TIOWIhuWJsuihqOOAgijkvb/nlKggby4pXG4iCisjfiAiXHTorablkYrvvJrpgJnlsIfpirfmr4Dnj77mnInno4Hnop/lhaflrrnjgIJcbiIKKworI34gbXNnaWQgIkFjY29yZGluZyB0byBNSVBTIENvbXB1dGVyIFN5c3RlbXMsIEluYyB0aGUgTGFiZWwgbXVzdCBub3QgY29udGFpbiBtb3JlIHRoYW4gNTEyIGJ5dGVzXG4iCisjfiBtc2dzdHIgIuagueaTmiBNSVBTIOmbu+iFpuezu+e1seWFrOWPuO+8jOaomeexpOW/hemgiOWMheWQq+S4jei2hemBjiA1MTIg5L2N5YWD57WEXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkRpc2sgJXMgKFNHSSBkaXNrIGxhYmVsKTogJWQgaGVhZHMsICVsbHUgc2VjdG9ycywgJWxsdSBjeWxpbmRlcnNcbiIKKyN+ICJVbml0cyA9ICVzIG9mICVkICogJWxkIGJ5dGVzXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLno4Hnop8gJXMgKFNHSSDno4Hnop/mqJnosrwp77yaJWQg5YmN56uv77yMJWxsdSDno4HljYDvvIwlbGx1IOejgeafsVxuIgorI34gIuWWruS9jT0lcyDnmoQgJWQgKiAlbGQg5L2N5YWD57WEXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiLS0tLS0gcGFydGl0aW9ucyAtLS0tLVxuIgorI34gIlB0IyAlKnMgIEluZm8gICAgIFN0YXJ0ICAgICAgIEVuZCAgIFNlY3RvcnMgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIi0tLS0tIOWIhuWJsuWNgCAtLS0tLVxuIgorI34gIlB0IyAlKnMgIOizh+ioiiAgICAg6ZaL5aeLICAgICAgIOe1kOadnyAgIOejgeWNgCAg6K2Y5Yil6JmfICDns7vntbFcbiIKKworI34gbXNnaWQgIiIKKyN+ICItLS0tLSBCb290aW5mbyAtLS0tLVxuIgorI34gIkJvb3RmaWxlOiAlc1xuIgorI34gIi0tLS0tIERpcmVjdG9yeSBFbnRyaWVzIC0tLS0tXG4iCisjfiBtc2dzdHIgIiIKKyN+ICItLS0tLSDplovmqZ/os4foqIogLS0tLS1cbiIKKyN+ICLplovmqZ/mqpTmoYjvvJolc1xuIgorI34gIi0tLS0tIOebrumMhOmgheebriAtLS0tLVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiUyemQ6ICUtMTBzIHNlY3RvciU1dSBzaXplJTh1XG4iCisjfiBtc2dzdHIgIiUyZDogJS0xMHMg56OB5Y2AJTV1IOWkp+WwjyU4dVxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBkZWZpbmVkXG4iCisjfiBtc2dzdHIgIueEoeW3suWumue+qeWIhuWJsuWNgFxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoZSBlbnRpcmUgZGlzayBwYXJ0aXRpb24gaXMgb25seSAlZCBkaXNrYmxvY2sgbGFyZ2UsXG4iCisjfiAiYnV0IHRoZSBkaXNrIGlzICVkIGRpc2tibG9ja3MgbG9uZy5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuaVtOWAi+ejgeein+WIhuWJsuWNgOWkp+Wwj+WPquaciSAlZCDno4Hnop/ljYDloYrvvIxcbiIKKyN+ICLkvYbmmK/pgJnlgIvno4Hnop/lpKflsI/ngrogJWQg56OB56Kf5Y2A5aGK44CCXG4iCisKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3Qgc3RhcnQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIuWIhuWJsuWNgCAlZCDkuKbpnZ7lp4vmlrzno4Hmn7HpgornlYzjgIJcbiIKKworI34gbXNnaWQgIlBhcnRpdGlvbiAlZCBkb2VzIG5vdCBlbmQgb24gY3lsaW5kZXIgYm91bmRhcnkuXG4iCisjfiBtc2dzdHIgIuWIhuWJsuWNgCAlZCDkuKbpnZ7ntYLmlrzno4Hmn7HpgornlYzjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gIERlbGV0ZSBpdCBiZWZvcmUgcmUtYWRkaW5nIGl0LlxuIgorI34gbXNnc3RyICLliIblibLljYAgJWQg5bey57aT5a6a576p44CCIOWcqOmHjeaWsOWKoOWFpeS5i+WJjeWIqumZpOWug+OAglxuIgorCisjfiBtc2dpZCAiWW91IHdpbGwgZ2V0IGEgcGFydGl0aW9uIG92ZXJsYXAgb24gdGhlIGRpc2suIEZpeCBpdCBmaXJzdCFcbiIKKyN+IG1zZ3N0ciAi5oKo55qE56OB56Kf5LiK5bCH5pyD5pyJ6YeN55aK55qE5YiG5Ymy5Y2A77yM6KuL5YWI5L+u5q2j5a6D77yBXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC5cbiIKKyN+IG1zZ3N0ciAi5bu656uL5paw55qEIFNHSSBkaXNrbGFiZWzjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJIRElPX0dFVEdFTyBpb2N0bCBmYWlsZWQgb24gJXMiCisjfiBtc2dzdHIgIkhESU9fR0VUR0VPIGlvY3RsIOWkseaVl+eahOaWvCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiV2FybmluZzogIEJMS0dFVFNJWkUgaW9jdGwgZmFpbGVkIG9uICVzLiAgVXNpbmcgZ2VvbWV0cnkgY3lsaW5kZXIgdmFsdWUgb2YgJWxsdS5cbiIKKyN+ICJUaGlzIHZhbHVlIG1heSBiZSB0cnVuY2F0ZWQgZm9yIGRldmljZXMgPiAzMy44IEdCLlxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77yaIEJMS0dFVFNJWkUgaW9jdGwg5aSx5pWX55qE5pa8ICVz44CCIOS9v+eUqOW5vuS9leS9jee9ruejgeafseWAvOeahCAlbGx144CCXG4iCisjfiAi6YCZ5YCL5YC85Lmf6Kix5pyD6KKr5oiq5pa355So5pa86KOd572uPjMzLjggR0LjgIJcbiIKKworI34gbXNnaWQgIklEPSUwMnhcdFNUQVJUPSVkXHRMRU5HVEg9JWRcbiIKKyN+IG1zZ3N0ciAi6K2Y5Yil6JmfPSUwMnhcdOmWi+Wniz0lZFx06ZW35bqmPSVkXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVHJ5aW5nIHRvIGtlZXAgcGFyYW1ldGVycyBvZiBwYXJ0aXRpb25zIGFscmVhZHkgc2V0LlxuIgorI34gbXNnc3RyICLlmJfoqabkv53mjIHlj4PmlbjnmoTliIblibLljYDlt7LntpPoqK3lrprjgIJcbiIKKworI34gbXNnaWQgIllFU1xuIgorI34gbXNnc3RyICJZRVNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlZCBycG1cbiIKKyN+ICIlbGx1IGN5bGluZGVycywgJWQgYWx0ZXJuYXRlIGN5bGluZGVycywgJWQgcGh5c2ljYWwgY3lsaW5kZXJzXG4iCisjfiAiJWQgZXh0cmEgc2VjdHMvY3lsLCBpbnRlcmxlYXZlICVkOjFcbiIKKyN+ICJMYWJlbCBJRDogJXNcbiIKKyN+ICJWb2x1bWUgSUQ6ICVzXG4iCisjfiAiVW5pdHMgPSAlcyBvZiAlZCAqIDUxMiBieXRlc1xuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi56OB56KfICVzIChTdW4g56OB56Kf5qiZ6LK8Ke+8miV1IOWJjeerr++8jCVsbHUg56OB5Y2A77yMJWQgcnBtXG4iCisjfiAiJWxsdSDno4Hmn7HvvIwlZCDkuqTmm7/no4Hmn7HvvIwlZCDlr6bpq5Tno4Hmn7FcbiIKKyN+ICIlZCDpoY3lpJYgc2VjdHMvY3ls77yM5Lqk5o+SICVkOjFcbiIKKyN+ICLmqJnosrzorZjliKXomZ/vvJolc1xuIgorI34gIumfs+mHj+itmOWIpeiZn++8miVzXG4iCisjfiAi5Zau5L2NPSVzIOeahCAlZCAqIDUxMiDkvY3lhYPntYRcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRGlzayAlcyAoU3VuIGRpc2sgbGFiZWwpOiAldSBoZWFkcywgJWxsdSBzZWN0b3JzLCAlbGx1IGN5bGluZGVyc1xuIgorI34gIlVuaXRzID0gJXMgb2YgJWQgKiA1MTIgYnl0ZXNcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuejgeeinyAlcyAoU3VuIOejgeein+aomeiyvCnvvJoldSDliY3nq6/vvIwlbGx1IOejgeWNgO+8jCVsbHUg56OB5p+xXG4iCisjfiAi5Zau5L2NPSVzIOeahCAlZCAqIDUxMiDkvY3lhYPntYRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiUqcyBGbGFnICAgIFN0YXJ0ICAgICAgIEVuZCAgICBCbG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiUqcyDml5fmqJkgICAg6ZaL5aeLICAgICAgIOe1kOadnyAgICDljYDloYogICDorZjliKXomZ8gIOezu+e1sVxuIgorCisjfiBtc2dpZCAic2VlayBlcnJvciBvbiAlcyAtIGNhbm5vdCBzZWVrIHRvICVsdVxuIgorI34gbXNnc3RyICLmlrwgJXMg5pCc5bCL6Yyv6KqkIC0g54Sh5rOV5pCc5bCL6IezICVsdVxuIgorCisjfiBtc2dpZCAic2VlayBlcnJvcjogd2FudGVkIDB4JTA4eCUwOHgsIGdvdCAweCUwOHglMDh4XG4iCisjfiBtc2dzdHIgIuaQnOWwi+mMr+iqpO+8muaDs+imgSAweCUwOHglMDh4LCDlvpfliLAgMHglMDh4JTA4eFxuIgorCisjfiBtc2dpZCAicmVhZCBlcnJvciBvbiAlcyAtIGNhbm5vdCByZWFkIHNlY3RvciAlbHVcbiIKKyN+IG1zZ3N0ciAi5pa8ICVzIOiugOWPlumMr+iqpCAtIOeEoeazleiugOWPluejgeWNgCAlbHVcbiIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzIC0gY2Fubm90IHdyaXRlIHNlY3RvciAlbHVcbiIKKyN+IG1zZ3N0ciAi5pa8ICVzIOWvq+WFpemMr+iqpCAtIOeEoeazleWvq+WFpeejgeWNgCAlbHVcbiIKKworI34gbXNnaWQgImNhbm5vdCBvcGVuIHBhcnRpdGlvbiBzZWN0b3Igc2F2ZSBmaWxlICglcylcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWf5YiG5Ymy56OB5Y2A55qE5YSy5a2Y5qqU5qGIICglcylcbiIKKworI34gbXNnaWQgIndyaXRlIGVycm9yIG9uICVzXG4iCisjfiBtc2dzdHIgIuaWvCAlcyDlr6vlhaXpjK/oqqRcbiIKKworI34gbXNnaWQgImNhbm5vdCBzdGF0IHBhcnRpdGlvbiByZXN0b3JlIGZpbGUgKCVzKVxuIgorI34gbXNnc3RyICLnhKHms5XorZjliKXliIblibLljYDnmoTpgoTljp/mqpTmoYjni4DmhYsgKCVzKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uIHJlc3RvcmUgZmlsZSBoYXMgd3Jvbmcgc2l6ZSAtIG5vdCByZXN0b3JpbmdcbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2A6YKE5Y6f5qqU5qGI5aSn5bCP5pyJ6KqkIC0g54Sh5rOV6YKE5Y6fXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBwYXJ0aXRpb24gcmVzdG9yZSBmaWxlICglcylcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWf5YiG5Ymy5Y2A55qE6YKE5Y6f5qqU5qGIICglcylcbiIKKworI34gbXNnaWQgImVycm9yIHJlYWRpbmcgJXNcbiIKKyN+IG1zZ3N0ciAi6K6A5Y+WICVzIOaZgueZvOeUn+mMr+iqpFxuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gZGV2aWNlICVzIGZvciB3cml0aW5nXG4iCisjfiBtc2dzdHIgIueEoeazlemWi+WVn+ijnee9riAlcyDku6Xkvpvlr6vlhaVcbiIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgc2VjdG9yICVsdSBvbiAlc1xuIgorI34gbXNnc3RyICLmlrwgJTIkcyDlr6vlhaXno4HljYAgJTEkbHUg5pmC55m855Sf6Yyv6KqkXG4iCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IGdlb21ldHJ5XG4iCisjfiBtc2dzdHIgIuejgeeinyAlczog54Sh5rOV5Y+W5b6X57WQ5qeL5Y+D5pW4XG4iCisKKyN+IG1zZ2lkICJEaXNrICVzOiBjYW5ub3QgZ2V0IHNpemVcbiIKKyN+IG1zZ3N0ciAi56OB56KfICVzOiDnhKHms5Xlj5blvpflpKflsI9cbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzdGFydD0lbHUgLSB0aGlzIGxvb2tzIGxpa2UgYSBwYXJ0aXRpb24gcmF0aGVyIHRoYW5cbiIKKyN+ICJ0aGUgZW50aXJlIGRpc2suIFVzaW5nIGZkaXNrIG9uIGl0IGlzIHByb2JhYmx5IG1lYW5pbmdsZXNzLlxuIgorI34gIltVc2UgdGhlIC0tZm9yY2Ugb3B0aW9uIGlmIHlvdSByZWFsbHkgd2FudCB0aGlzXVxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya6ZaL5aeLPSVsdSAtIOmAmeeci+S+huWDj+aYr+WIhuWJsuWNgOiAjOmdnlxuIgorI34gIuaVtOWAi+ejgeein+OAguaWvOWFtuS4iuS9v+eUqCBmZGlzayDlj6/og73kuI3lhbfmhI/nvqnnmoTjgIJcbiIKKyN+ICJb5aaC5p6c5oKo56K65a+m5oOz6KaB5aaC5q2k77yM5bCx5L2/55SoIC0tZm9yY2Ug6YG46aCFXVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgaGVhZHNcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77yaSERJT19HRVRHRU8g6KGo56S65YW35pyJICVsdSDlgIvno4HpoK1cbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEhESU9fR0VUR0VPIHNheXMgdGhhdCB0aGVyZSBhcmUgJWx1IHNlY3RvcnNcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77yaSERJT19HRVRHRU8g6KGo56S65YW35pyJICVsdSDmrrXno4HljYBcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IEJMS0dFVFNJWkUvSERJT19HRVRHRU8gc2F5cyB0aGF0IHRoZXJlIGFyZSAlbHUgY3lsaW5kZXJzXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8mkJMS0dFVFNJWkUvSERJT19HRVRHRU8g6KGo56S65YW35pyJICVsdSDlnIjno4Hmn7FcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1bmxpa2VseSBudW1iZXIgb2Ygc2VjdG9ycyAoJWx1KSAtIHVzdWFsbHkgYXQgbW9zdCA2M1xuIgorI34gIlRoaXMgd2lsbCBnaXZlIHByb2JsZW1zIHdpdGggYWxsIHNvZnR3YXJlIHRoYXQgdXNlcyBDL0gvUyBhZGRyZXNzaW5nLlxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5LiN5aSq5Y+v6IO955qE56OB5Y2A5pW46YePICglbHUpIC0g6YCa5bi45pyA5aSa54K6IDYzXG4iCisjfiAi6YCZ5bCH5bCN5pa85L2/55SoIEMvSC9TIOWumuWdgOeahOi7n+mrlOmAoOaIkOWVj+mhjOOAglxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBoZWFkOiAlbHUgKHNob3VsZCBiZSBpbiAwLSVsdSlcbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2AICUyJHMg55qEICUxJHMg5pyJ5LiN5Y+v6IO955qE56OB6aCt5pW45YC877yaJTMkbHUgKOaHieipsuS7i+aWvCAwLSU0JGx1KVxuIgorCisjfiBtc2dpZCAiJXMgb2YgcGFydGl0aW9uICVzIGhhcyBpbXBvc3NpYmxlIHZhbHVlIGZvciBzZWN0b3I6ICVsdSAoc2hvdWxkIGJlIGluIDEtJWx1KVxuIgorI34gbXNnc3RyICLliIblibLljYAgJTEkcyDnmoQgJTIkcyDmnInkuI3lj6/og73nmoTno4HljYDmlbjlgLzvvJolMyRsdSAo5oeJ6Kmy5LuL5pa8IDEtJTQkbHUpXG4iCisKKyN+IG1zZ2lkICIlcyBvZiBwYXJ0aXRpb24gJXMgaGFzIGltcG9zc2libGUgdmFsdWUgZm9yIGN5bGluZGVyczogJWx1IChzaG91bGQgYmUgaW4gMC0lbHUpXG4iCisjfiBtc2dzdHIgIuWIhuWJsuWNgCAlMSRzIOeahCAlMiRzIOacieS4jeWPr+iDveeahOejgeafseaVuOWAvO+8miUzJGx1ICjmh4noqbLku4vmlrwgMC0lNCRsdSlcbiIKKworI34gbXNnaWQgIiIKKyN+ICJUaGUgY29tbWFuZCB0byByZS1yZWFkIHRoZSBwYXJ0aXRpb24gdGFibGUgZmFpbGVkLlxuIgorI34gIlJ1biBwYXJ0cHJvYmUoOCksIGtwYXJ0eCg4KSBvciByZWJvb3QgeW91ciBzeXN0ZW0gbm93LFxuIgorI34gImJlZm9yZSB1c2luZyBta2ZzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLph43mlrDoroDlj5bliIblibLooajnmoTlkb3ku6TlpLHmlZfjgIJcbiIKKyN+ICLlnKjkvb/nlKggbWtmcyDkuYvliY3vvIzoq4vln7fooYwgcGFydHByb2JlKDgpLGtwYXJ0eCg4KSDmiJblsIfmgqjnmoTns7vntbHph43mlrDplovmqZ9cbiIKKworI34gbXNnaWQgIkVycm9yIGNsb3NpbmcgJXNcbiIKKyN+IG1zZ3N0ciAi6Zec6ZaJICVzIOaZgueZvOeUn+mMr+iqpFxuIgorCisjfiBtc2dpZCAiJXM6IG5vIHN1Y2ggcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIiVz77ya54Sh5q2k6aGe5YiG5Ymy5Y2AXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgZm9ybWF0IC0gdXNpbmcgc2VjdG9yc1xuIgorI34gbXNnc3RyICLnhKHms5XovqjorZjnmoTmoLzlvI8gLSDkvb/nlKjno4HljYDmlbhcbiIKKworI34gbXNnaWQgInVuaW1wbGVtZW50ZWQgZm9ybWF0IC0gdXNpbmcgJXNcbiIKKyN+IG1zZ3N0ciAi5bCa5pyq5a+m5L2c55qE5qC85byPIC0g5L2/55SoICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlVuaXRzOiBjeWxpbmRlcnMgb2YgJWx1IGJ5dGVzLCBibG9ja3Mgb2YgMTAyNCBieXRlcywgY291bnRpbmcgZnJvbSAlZFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Zau5L2N77ya56OB5p+x55qEICVsdSDkvY3lhYPntYTvvIzljYDloYrnmoQgMTAyNCDkvY3lhYPntYTvvIzoqIjmlbjlvp4gJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290IFN0YXJ0ICAgICBFbmQgICAjY3lscyAgICAjYmxvY2tzICAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICDoo53nva7plovmqZ/otbflp4sgICAgIOe1kOadnyAgIOejgeafseaVuCAgICDljYDloYrmlbggICDorZjliKXomZ8gIOezu+e1sVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVbml0czogc2VjdG9ycyBvZiA1MTIgYnl0ZXMsIGNvdW50aW5nIGZyb20gJWRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWWruS9je+8muejgeWNgOeahCA1MTIg5L2N5YWD57WE77yM6KiI5pW45b6eICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCAgICBTdGFydCAgICAgICBFbmQgICAjc2VjdG9ycyAgSWQgIFN5c3RlbVxuIgorI34gbXNnc3RyICIgICDoo53nva7plovmqZ8gICAg6LW35aeLICAgICAgIOe1kOadnyAgIOejgeWNgOaVuCAg6K2Y5Yil6JmfICDns7vntbFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLllq7kvY3vvJrljYDloYrnmoQgMTAyNCDkvY3lhYPntYTvvIzoqIjmlbjlvp4gJWRcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgIERldmljZSBCb290ICAgU3RhcnQgICAgICAgRW5kICAgICNibG9ja3MgICBJZCAgU3lzdGVtXG4iCisjfiBtc2dzdHIgIiAgIOijnee9rumWi+apnyAgIOi1t+WniyAgICAgICDntZDmnZ8gICAg5Y2A5aGK5pW4ICAg6K2Y5Yil6JmfICDns7vntbFcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiVW5pdHM6IDFNaUIgPSAxMDI0KjEwMjQgYnl0ZXMsIGJsb2NrcyBvZiAxMDI0IGJ5dGVzLCBjb3VudGluZyBmcm9tICVkXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLllq7kvY3vvJoxIE1pQj0xMDI0KjEwMjQg5L2N5YWD57WE77yM5Y2A5aGK55qEIDEwMjQg5L2N5YWD57WE77yM6KiI5pW45b6eICVkXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIgICBEZXZpY2UgQm9vdCBTdGFydCAgIEVuZCAgICBNaUIgICAgI2Jsb2NrcyAgIElkICBTeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiICAg6KOd572u6ZaL5qmf6LW35aeLICAg57WQ5p2fICAgIE1pQiAgICDljYDloYrmlbggICDorZjliKXomZ8gIOezu+e1sVxuIgorCisjfiBtc2dpZCAiXHRcdHN0YXJ0OiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICJcdFx06LW35aeL77yaKGMsaCxzKSDpoJDmnJ/ngrogKCVsZCwlbGQsJWxkKSDovqjoqo3ngrogKCVsZCwlbGQsJWxkKVxuIgorCisjfiBtc2dpZCAiXHRcdGVuZDogKGMsaCxzKSBleHBlY3RlZCAoJWxkLCVsZCwlbGQpIGZvdW5kICglbGQsJWxkLCVsZClcbiIKKyN+IG1zZ3N0ciAiXHRcdOe1kOadn++8mihjLGgscykg6aCQ5pyf54K6ICglbGQsJWxkLCVsZCkg6L6o6KqN54K6ICglbGQsJWxkLCVsZClcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiBlbmRzIG9uIGN5bGluZGVyICVsZCwgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGRpc2tcbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2A57WQ5p2f5pa856OB5p+xICVsZO+8jOS9jeaWvOejgeein+acq+err+S5i+W+jFxuIgorCisjfiBtc2dpZCAiTm8gcGFydGl0aW9ucyBmb3VuZFxuIgorI34gbXNnc3RyICLmib7kuI3liLDliIblibLljYBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBUaGUgcGFydGl0aW9uIHRhYmxlIGxvb2tzIGxpa2UgaXQgd2FzIG1hZGVcbiIKKyN+ICIgIGZvciBDL0gvUz0qLyVsZC8lbGQgKGluc3RlYWQgb2YgJWxkLyVsZC8lbGQpLlxuIgorI34gIkZvciB0aGlzIGxpc3RpbmcgSSdsbCBhc3N1bWUgdGhhdCBnZW9tZXRyeS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuitpuWRiu+8muWIhuWJsuihqOeci+i1t+S+huWDj+aYr1xuIgorI34gIueUqOaWvCBDL0gvUz0qLyVsZC8lbGQgKOiAjOmdniAlbGQvJWxkLyVsZCnjgIJcbiIKKyN+ICLmiJHlsIfmnIPlgYfoqK3oqbLntZDmp4vlj4Pmlbjku6XnlKjmlrzmraTliJfooajjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJubyBwYXJ0aXRpb24gdGFibGUgcHJlc2VudC4iCisjfiBtc2dzdHIgIuaykuacieWIhuWJsuihqOWRiOePvuOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJzdHJhbmdlLCBvbmx5ICVkIHBhcnRpdGlvbnMgZGVmaW5lZC4iCisjfiBtc2dzdHIgIuaAqueVsOeahO+8jOWPquaciSAlZCDliIblibLljYDlrprnvqnjgIIiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBidXQgaXMgbm90IG1hcmtlZCBFbXB0eVxuIgorI34gbXNnc3RyICLorablkYrvvJrliIblibLljYAgJXMg5aSn5bCP54K6IDAg5L2G5piv5Lim5pyq5qiZ6KiY54K656m6XG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgMCBhbmQgaXMgYm9vdGFibGVcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVzIOWkp+Wwj+eCuiAwIOS4lOeCuuWPr+mWi+apn1xuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGhhcyBzaXplIDAgYW5kIG5vbnplcm8gc3RhcnRcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVzIOWkp+Wwj+eCuiAwIOS4lOS7pemdnumbtuWAvOmWi+Wni1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBpcyBub3QgY29udGFpbmVkIGluIHBhcnRpdGlvbiAlc1xuIgorI34gbXNnc3RyICLorablkYrvvJrliIblibIgJXMg5pyq6KKr5YyF5ZCr5Zyo5Lit5YiG5YmyICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9ucyAlcyBhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICLorablkYrvvJrliIblibLljYAgJXMg5ZKMICVzIOmHjeeWilxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgY29udGFpbnMgcGFydCBvZiB0aGUgcGFydGl0aW9uIHRhYmxlIChzZWN0b3IgJWxsdSksXG4iCisjfiAiYW5kIHdpbGwgZGVzdHJveSBpdCB3aGVuIGZpbGxlZFxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5YiG5YmyICVzIOWQq+aciemDqOWIhueahOWIhuWJsuihqCAo56OB5Y2AICVsbHUp77yMXG4iCisjfiAi5Lim5bCH6Yq35q+A5a6D5pmCIGZpbGxlZFxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIHN0YXJ0cyBhdCBzZWN0b3IgMFxuIgorI34gbXNnc3RyICLorablkYrvvJrliIblibLljYAgJXMg6ZaL5aeL5pa856OB5Y2AIDBcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IHBhcnRpdGlvbiAlcyBleHRlbmRzIHBhc3QgZW5kIG9mIGRpc2tcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVzIOW7tuS8uOi2hemBjuejgeein+acq+err1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgaGFzIHNpemUgJWQuJWQgVEIgKCVsbHUgYnl0ZXMpLFxuIgorI34gIndoaWNoIGlzIGxhcmdlciB0aGFuIHRoZSAlbGx1IGJ5dGVzIGxpbWl0IGltcG9zZWRcbiIKKyN+ICJieSB0aGUgRE9TIHBhcnRpdGlvbiB0YWJsZSBmb3IgJWQtYnl0ZSBzZWN0b3JzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrliIblibIgJXMg5pyJ5aSn5bCPICVkLiVkIFRCICglbGx1IOS9jeWFg+e1hCnvvIxcbiIKKyN+ICLoqbLpoIXmmK/lpKfmlrwgJWxsdSDkvY3lhYPntYTpmZDliLbmlr3liqBcbiIKKyN+ICLnlLEgRE9TIOWIhuWJsuihqOeUqOaWvCAlZC1ieXRlIOejgeWNgFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBwYXJ0aXRpb24gJXMgc3RhcnRzIGF0IHNlY3RvciAlbGx1ICglZC4lZCBUQiBmb3IgJWQtYnl0ZSBzZWN0b3JzKSxcbiIKKyN+ICJ3aGljaCBleGNlZWRzIHRoZSBET1MgcGFydGl0aW9uIHRhYmxlIGxpbWl0IG9mICVsbHUgc2VjdG9yc1xuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5YiG5YmyICVzIOmWi+Wni+aWvOejgeWNgCAlbGx1ICglZC4lZCBUQiDnlKjmlrwgJWQtYnl0ZSDno4HljYAp77yMXG4iCisjfiAi6Kmy6aCF6LaF5Ye6IERPUyDliIblibLooajpmZDliLbnmoQgJWxsdSDno4HljYBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJBbW9uZyB0aGUgcHJpbWFyeSBwYXJ0aXRpb25zLCBhdCBtb3N0IG9uZSBjYW4gYmUgZXh0ZW5kZWRcbiIKKyN+ICIgKGFsdGhvdWdoIHRoaXMgaXMgbm90IGEgcHJvYmxlbSB1bmRlciBMaW51eClcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuWcqOS4u+imgeWIhuWJsuWNgOS5i+S4re+8jOacgOWkmuWPquiDveacieS4gOWAi+aYr+aTtOWFheWIhuWJsuWNgFxuIgorI34gIijpm5bnhLbpgJnlnKggTGludXgg5LmL5LiL5Lim5LiN5piv5YCL5ZWP6aGMKVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IHN0YXJ0IGF0IGEgY3lsaW5kZXIgYm91bmRhcnlcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVzIOS4pumdnuWVn+Wni+aWvOejgeafsemCiueVjFxuIgorCisjfiBtc2dpZCAiV2FybmluZzogcGFydGl0aW9uICVzIGRvZXMgbm90IGVuZCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5XG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muWIhuWJsuWNgCAlcyDkuKbpnZ7ntZDmnZ/mlrzno4Hmn7HpgornlYxcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBtb3JlIHRoYW4gb25lIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrotoXpgY7kuIDlgIvnmoTkuLvopoHliIblibLljYDooqvmqJnoqJjngrrlj6/plovmqZ/nmoQgKOS9nOeUqOS4rSlcbiIKKyN+ICLpgJnlgIvlsI0gTElMTyDogIzoqIDkuI3miJDllY/poYzvvIzkvYbmmK8gRE9TIE1CUiDlsIfnhKHms5Xku6XpgJnlgIvno4Hnop/plovmqZ/jgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiB1c3VhbGx5IG9uZSBjYW4gYm9vdCBmcm9tIHByaW1hcnkgcGFydGl0aW9ucyBvbmx5XG4iCisjfiAiTElMTyBkaXNyZWdhcmRzIHRoZSBgYm9vdGFibGUnIGZsYWcuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrpgJrluLjlj6rlj6/ku6Xlvp7kuLvopoHliIblibLljYDplovmqZ9cbiIKKyN+ICJMSUxPIOS4puS4jeeQhuacg+OAjOWPr+mWi+apn+eahOOAjeaXl+aomeOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IG5vIHByaW1hcnkgcGFydGl0aW9uIGlzIG1hcmtlZCBib290YWJsZSAoYWN0aXZlKVxuIgorI34gIlRoaXMgZG9lcyBub3QgbWF0dGVyIGZvciBMSUxPLCBidXQgdGhlIERPUyBNQlIgd2lsbCBub3QgYm9vdCB0aGlzIGRpc2suXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrmspLmnInkuLvopoHliIblibLljYDooqvmqJnoqJjngrrlj6/plovmqZ/nmoQgKOS9nOeUqOS4rSlcbiIKKyN+ICLpgJnlgIvlsI0gTElMTyDogIzoqIDkuI3miJDllY/poYzvvIzkvYbmmK8gRE9TIE1CUiDlsIfnhKHms5Xku6XpgJnlgIvno4Hnop/plovmqZ/jgIJcbiIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogc3RhcnQ6IChjLGgscykgZXhwZWN0ZWQgKCVsZCwlbGQsJWxkKSBmb3VuZCAoJWxkLCVsZCwlbGQpXG4iCisjfiBtc2dzdHIgIuWIhuWJsuWNgCAlc++8muWVn+Wni++8mihjLGgscykg6aCQ5pyf54K6ICglbGQgLCVsZCAsJWxkKSDkvYbmib7liLAgKCVsZCAsJWxkICwlbGQpXG4iCisKKyN+IG1zZ2lkICJlbmQiCisjfiBtc2dzdHIgIue1kOadnyIKKworI34gbXNnaWQgInBhcnRpdGlvbiAlczogZW5kOiAoYyxoLHMpIGV4cGVjdGVkICglbGQsJWxkLCVsZCkgZm91bmQgKCVsZCwlbGQsJWxkKVxuIgorI34gbXNnc3RyICLliIblibLljYAgJXPvvJrntZDmnZ/vvJooYyxoLHMpIOmgkOacn+eCuiAoJWxkICwlbGQgLCVsZCkg5om+5YiwICglbGQgLCVsZCAsJWxkKVxuIgorCisjfiBtc2dpZCAicGFydGl0aW9uICVzIGVuZHMgb24gY3lsaW5kZXIgJWxkLCBiZXlvbmQgdGhlIGVuZCBvZiB0aGUgZGlza1xuIgorI34gbXNnc3RyICLliIblibLljYAgJXMg57WQ5p2f5pa856OB5p+xICVsZO+8jOS9jeaWvOejgeein+eahOacq+err+S5i+W+jFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJXYXJuaW5nOiBzaGlmdGVkIHN0YXJ0IG9mIHRoZSBleHRkIHBhcnRpdGlvbiBmcm9tICVsbGQgdG8gJWxsZFxuIgorI34gIihGb3IgbGlzdGluZyBwdXJwb3NlcyBvbmx5LiBEbyBub3QgY2hhbmdlIGl0cyBjb250ZW50cy4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJpTaGlmdCDnmoTplovlp4vnmoQgZXh0ZCDliIblibLlvp4gJWxsZCDliLAgJWxsZFxuIgorI34gIijnlKjmlrzliJfooajlrpfml6jlj6rmnInjgILkuI3orormm7TlroPnmoTlhaflrrkuKVxuIgorCisjfiBtc2dpZCAiIgorI34gIldhcm5pbmc6IGV4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBzdGFydCBhdCBhIGN5bGluZGVyIGJvdW5kYXJ5LlxuIgorI34gIkRPUyBhbmQgTGludXggd2lsbCBpbnRlcnByZXQgdGhlIGNvbnRlbnRzIGRpZmZlcmVudGx5LlxuIgorI34gbXNnc3RyICIiCisjfiAi6K2m5ZGK77ya5pO05YWF5YiG5Ymy5Y2A6Z2e5ZWf5aeL5pa856OB5p+x6YKK55WM44CCXG4iCisjfiAiRE9TIOWSjCBMaW51eCDlsIflsI3lhaflrrnmnInkuI3lkIzop6Pora/jgIJcbiIKKworI34gbXNnaWQgIkVSUk9SOiBzZWN0b3IgJWx1IGRvZXMgbm90IGhhdmUgYW4gbXNkb3Mgc2lnbmF0dXJlXG4iCisjfiBtc2dzdHIgIumMr+iqpO+8muejgeWNgCAlbHUg5rKS5pyJIG1zZG9zIOewveeroFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnMgLSBpZ25vcmluZyB0aG9zZSBwYXN0IG5yICglenUpXG4iCisjfiBtc2dzdHIgIuWkquWkmuWIhuWJsuWNgCAtIOW/veeVpemCo+S6m+mBjuWOuyBuciAoJWxkKVxuIgorCisjfiBtc2dpZCAidHJlZSBvZiBwYXJ0aXRpb25zP1xuIgorI34gbXNnc3RyICLliIblibLljYDnmoTmqLnni4DlnJbvvJ9cbiIKKworI34gbXNnaWQgImRldGVjdGVkIERpc2sgTWFuYWdlciAtIHVuYWJsZSB0byBoYW5kbGUgdGhhdFxuIgorI34gbXNnc3RyICLlgbXmuKzliLDno4Hnop/nrqHnkIblk6EgLSDnhKHms5XomZXnkIblroNcbiIKKworI34gbXNnaWQgIkRNNiBzaWduYXR1cmUgZm91bmQgLSBnaXZpbmcgdXBcbiIKKyN+IG1zZ3N0ciAi5om+5YiwIERNNiDnsL3nq6AgLSDmlL7mo4RcbiIKKworI34gbXNnaWQgInN0cmFuZ2UuLi4sIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBvZiBzaXplIDA/XG4iCisjfiBtc2dzdHIgIuW+iOWlh+aAquKApu+8jOWkp+Wwj+eCuiAwIOeahOaTtOWFheWIhuWJsuWNgO+8n1xuIgorCisjfiBtc2dpZCAic3RyYW5nZS4uLiwgYSBCU0QgcGFydGl0aW9uIG9mIHNpemUgMD9cbiIKKyN+IG1zZ3N0ciAi5b6I5aWH5oCq4oCm77yM5aSn5bCP54K6IDAg55qEIEJTRCDliIblibLljYDvvJ9cbiIKKworI34gbXNnaWQgIi1uIGZsYWcgd2FzIGdpdmVuOiBOb3RoaW5nIGNoYW5nZWRcbiIKKyN+IG1zZ3N0ciAiLW4g5peX5qiZ5bey57Wm5a6a77ya5rKS5pyJ5pS56K6K5Lu75L2V5p2x6KW/XG4iCisKKyN+IG1zZ2lkICJGYWlsZWQgc2F2aW5nIHRoZSBvbGQgc2VjdG9ycyAtIGFib3J0aW5nXG4iCisjfiBtc2dzdHIgIuWEsuWtmOiIiueahOejgeWNgOaZguWkseaVlyAtIOaUvuajhFxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHdyaXRpbmcgdGhlIHBhcnRpdGlvbiBvbiAlc1xuIgorI34gbXNnc3RyICLlr6vlhaXliIblibLljYDmlrwgJXMg5pmC5aSx5pWXXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibG9uZyBvciBpbmNvbXBsZXRlIGlucHV0IGxpbmUgLSBxdWl0dGluZyIKKyN+IG1zZ3N0ciAi6ZW35oiW5LiN5a6M5pW06Ly45YWl5YiXIC0g6Zui6ZaLIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiBgPScgZXhwZWN0ZWQgYWZ0ZXIgJXMgZmllbGQiCisjfiBtc2dzdHIgIui8uOWFpemMr+iqpO+8muOAjj3jgI/poJDmnJ/nmoTkuYvlvowgJXMg5qyE5L2NIgorCisjLCBmdXp6eQorI34gbXNnaWQgImlucHV0IGVycm9yOiB1bmV4cGVjdGVkIGNoYXJhY3RlciAlYyBhZnRlciAlcyBmaWVsZCIKKyN+IG1zZ3N0ciAi6Ly45YWl6Yyv6Kqk77ya5pyq6aCQ5pyf55qE5a2X5YWDICVjIOS5i+W+jCAlcyDmrITkvY0iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5yZWNvZ25pemVkIGlucHV0OiAlcyIKKyN+IG1zZ3N0ciAi54Sh5rOV6L6o6K2Y55qE6Ly45YWl77yaJXMiCisKKyN+IG1zZ2lkICJudW1iZXIgdG9vIGJpZ1xuIgorI34gbXNnc3RyICLmlbjlrZflpKrlpKdcbiIKKworI34gbXNnaWQgInRyYWlsaW5nIGp1bmsgYWZ0ZXIgbnVtYmVyXG4iCisjfiBtc2dzdHIgIuaVuOWtl+S5i+W+jOWwvumaqOeEoeeUqOeJqVxuIgorCisjfiBtc2dpZCAibm8gcm9vbSBmb3IgcGFydGl0aW9uIGRlc2NyaXB0b3JcbiIKKyN+IG1zZ3N0ciAi5rKS5pyJ56m66ZaT5Y+v55So5pa85YiG5Ymy5Y2A5o+P6L+wXG4iCisKKyN+IG1zZ2lkICJjYW5ub3QgYnVpbGQgc3Vycm91bmRpbmcgZXh0ZW5kZWQgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIueEoeazleWcjee5nuaTtOWFheWIhuWJsuWNgOW7uueri1xuIgorCisjfiBtc2dpZCAidG9vIG1hbnkgaW5wdXQgZmllbGRzXG4iCisjfiBtc2dzdHIgIuWkquWkmui8uOWFpeashOS9jVxuIgorCisjfiBtc2dpZCAiTm8gcm9vbSBmb3IgbW9yZVxuIgorI34gbXNnc3RyICLmspLmnInnqbrplpPlj6/lrrnntI3mm7TlpJpcbiIKKworI34gbXNnaWQgIldhcm5pbmc6IGdpdmVuIHNpemUgKCVsdSkgZXhjZWVkcyBtYXggYWxsb3dhYmxlIHNpemUgKCVsdSlcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya57Wm5a6a55qE5aSn5bCPICglbHUpIOi2heWHuuaJgOWFgeioseeahOacgOWkp+WAvCAoJWx1KVxuIgorCisjfiBtc2dpZCAiV2FybmluZzogZW1wdHkgcGFydGl0aW9uXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muepuueahOWIhuWJsuWNgFxuIgorCisjfiBtc2dpZCAiV2FybmluZzogYmFkIHBhcnRpdGlvbiBzdGFydCAoZWFybGllc3QgJWx1KVxuIgorI34gbXNnc3RyICLorablkYrvvJrkuI3nlbbnmoTliIblibLljYDllZ/lp4sgKOacgOWFiCAlbHUpXG4iCisKKyN+IG1zZ2lkICJ1bnJlY29nbml6ZWQgYm9vdGFibGUgZmxhZyAtIGNob29zZSAtIG9yICpcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6L6o6K2Y55qE5Y+v6ZaL5qmf5peX5qiZIC0g6YG45pOHIC0g5oiWICpcbiIKKworI34gbXNnaWQgInBhcnRpYWwgYyxoLHMgc3BlY2lmaWNhdGlvbj9cbiIKKyN+IG1zZ3N0ciAi6YOo5YiGIGMsaCxzIOimj+agvO+8n1xuIgorCisjfiBtc2dpZCAiRXh0ZW5kZWQgcGFydGl0aW9uIG5vdCB3aGVyZSBleHBlY3RlZFxuIgorI34gbXNnc3RyICLmk7TlhYXliIblibLljYDkuI3lnKjpoJDmnJ/nmoTkvY3nva5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJiYWQgaW5wdXQiCisjfiBtc2dzdHIgIuS4jeeVtueahOi8uOWFpSIKKworI34gbXNnaWQgInRvbyBtYW55IHBhcnRpdGlvbnNcbiIKKyN+IG1zZ3N0ciAi5aSq5aSa5YiG5Ymy5Y2AXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiSW5wdXQgaW4gdGhlIGZvbGxvd2luZyBmb3JtYXQ7IGFic2VudCBmaWVsZHMgZ2V0IGEgZGVmYXVsdCB2YWx1ZS5cbiIKKyN+ICI8c3RhcnQ+IDxzaXplPiA8dHlwZSBbRSxTLEwsWCxoZXhdPiA8Ym9vdGFibGUgWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIlVzdWFsbHkgeW91IG9ubHkgbmVlZCB0byBzcGVjaWZ5IDxzdGFydD4gYW5kIDxzaXplPiAoYW5kIHBlcmhhcHMgPHR5cGU+KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuS7peS4i+WIl+eahOagvOW8j+i8uOWFpe+8m+e8uuWAvOashOS9jeWwh+WPluW+l+mgkOioreWAvOOAglxuIgorI34gIjzllZ/lp4s+IDzlpKflsI8+IDzpoZ7lnosgW0UsUyxMLFgsIOWNgeWFremAsuS9jV0+IDzlj6/plovmqZ8gWy0sKl0+IDxjLGgscz4gPGMsaCxzPlxuIgorI34gIuW4uOW4uOaCqOWPquaciemcgOimgeaMh+WumiA85ZWf5aeLPiDlkowgPOWkp+Wwjz4gKOS5n+iosemChOaciSA86aGe5Z6LPinjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDxkZXZpY2U+IFsuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YG46aCFXSA8ZGV2aWNlPiBbLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXMsIC0tc2hvdy1zaXplICAgICAgICAgICBsaXN0IHNpemUgb2YgYSBwYXJ0aXRpb25cbiIKKyN+ICIgLWMsIC0taWQgICAgICAgICAgICAgICAgICBjaGFuZ2Ugb3IgcHJpbnQgcGFydGl0aW9uIElkXG4iCisjfiAiICAgICAtLWNoYW5nZS1pZCAgICAgICAgICAgY2hhbmdlIElkXG4iCisjfiAiICAgICAtLXByaW50LWlkICAgICAgICAgICAgcHJpbnQgSWRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtcywgLS1zaG93LXNpemUgICAgICAgICAgIOa4heWWruWkp+Wwj+eahOWIhuWJslxuIgorI34gIiAtYywgLS1pZCAgICAgICAgICAgICAgICAgIOiuiuabtOaIluWIl+WNsOWIhuWJsuitmOWIpeiZn1xuIgorI34gIiAgICAgLS1jaGFuZ2UtaWQgICAgICAgICAgIOiuiuabtOitmOWIpeiZn1xuIgorI34gIiAgICAgLS1wcmludC1pZCAgICAgICAgICAgIOWIl+WNsOitmOWIpeiZn1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICBsaXN0IHBhcnRpdGlvbnMgb2YgZWFjaCBkZXZpY2VcbiIKKyN+ICIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICBpZGVtLCBidXQgaW4gYSBmb3JtYXQgc3VpdGFibGUgZm9yIGxhdGVyIGlucHV0XG4iCisjfiAiIC1pLCAtLWluY3JlbWVudCAgICAgICAgICAgbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXR0ZXI+ICAgICAgIHVuaXRzIHRvIGJlIHVzZWQ7IDxsZXR0ZXI+IGNhbiBiZSBvbmUgb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFMgKHNlY3RvcnMpLCBDIChjeWxpbmRlcnMpLCBCIChibG9ja3MpLCBvciBNIChNQilcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgIOa4heWWruWIhuWJsuWNgOeahOavj+WAi+ijnee9rlxuIgorI34gIiAtZCwgLS1kdW1wICAgICAgICAgICAgICAgIGlkZW3vvIzkvYbmmK/lnKjkuK3moLzlvI/pgannlKjnqI3lvozovLjlhaVcbiIKKyN+ICIgLWksIC0taW5jcmVtZW50ICAgICAgICAgICDmlbjlrZfno4Hmn7HnrYnpoIXlvp4gMSDku6Xku6Pmm7/lvp4gMFxuIgorI34gIiAtdSwgLS11bml0IDxsZXR0ZXI+ICAgICAgIOWWruS9jeeCuuS9v+eUqO+8mzzlrZfmr40+5Y+v5Lul5piv5LmL5LiAXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTICjno4HljYAp77yMQyAo56OB5p+xKe+8jEIgKOWNgOWhiinvvIzmiJblhazlsLogKE1CKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lLW9ubHkgICAgICAgICAgICByZXNlcnZlZCBvcHRpb24gdGhhdCBkb2VzIG5vdGhpbmcgY3VycmVudGx5XG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAgbGlzdCB0aGUga25vd24gcGFydGl0aW9uIHR5cGVzXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAgZm9yIERPUy1jb21wYXRpYmlsaXR5OiB3YXN0ZSBhIGxpdHRsZSBzcGFjZVxuIgorI34gIiAtRSwgLS1ET1MtZXh0ZW5kZWQgICAgICAgIERPUyBleHRlbmRlZCBwYXJ0aXRpb24gY29tcGF0aWJpbGl0eVxuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIG1ha2UgdGhlIGtlcm5lbCByZXJlYWQgdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZS1vbmx5ICAgICAgICAgICAg5L+d55WZ55qE6YG46aCF6Kmy5rKS5YGa5Lu75L2V5LqL55uu5YmNXG4iCisjfiAiIC1ULCAtLWxpc3QtdHlwZXMgICAgICAgICAg5riF5Zau5bey55+l5YiG5Ymy5Y2A6aGe5Z6LXG4iCisjfiAiIC1ELCAtLURPUyAgICAgICAgICAgICAgICAg55So5pa8IERPUy1jb21wYXRpYmlsaXR577yad2FzdGUg5bCP5Z6L56m65qC8XG4iCisjfiAiIC1FLCAtLURPUy1leHRlbmRlZCAgICAgICAgRE9TIOmAsumajuWIhuWJsuebuOWuueaAp1xuIgorI34gIiAtUiwgLS1yZS1yZWFkICAgICAgICAgICAgIOijveS9nOWFp+aguOmHjeaWsOiugOWPluWIhuWJsuihqFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICBjaGFuZ2Ugb25seSB0aGUgcGFydGl0aW9uIHdpdGggdGhpcyA8bnVtYmVyPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIGRvIG5vdCBhY3R1YWxseSB3cml0ZSB0byBkaXNrXG4iCisjfiAiIC1PIDxmaWxlPiAgICAgICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gPGZpbGU+XG4iCisjfiAiIC1JIDxmaWxlPiAgICAgICAgICAgICAgICAgcmVzdG9yZSBzZWN0b3JzIGZyb20gPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU4gPG51bWJlcj4gICAgICAgICAgICAgICDorormm7Tlj6rmnInliIblibLoiIfpgJnlgIs85pW45a2XPlxuIgorI34gIiAtbiAgICAgICAgICAgICAgICAgICAgICAgIOS4jeWvpumam+eahOWvq+WFpeejgeein1xuIgorI34gIiAtTzzmqpTmoYg+ICAgICAgICAgICAgICAgIOWEsuWtmOejgeWNgOipsuWwh+iiq+imhuWvq+WIsDzmqpTmoYg+XG4iCisjfiAiIC1JPOaqlOahiD4gICAgICAgICAgICAgICAg6YKE5Y6f56OB5Y2A5b6ePOaqlOahiD5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcmlmeSAgICAgICAgICAgICAgY2hlY2sgdGhhdCB0aGUgbGlzdGVkIHBhcnRpdGlvbnMgYXJlIHJlYXNvbmFibGVcbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCB0ZXh0IGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLVYsIC0tdmVyaWZ5ICAgICAgICAgICAgICDmqqLmn6XoqbLmuIXllq7nmoTliIblibLljYDmmK8gcmVhc29uYWJsZVxuIgorI34gIiAtdiwgLS12ZXJzaW9uICAgICAgICAgICAgIOmhr+ekuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjuaWh+Wtl+eEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJEYW5nZXJvdXMgb3B0aW9uczpcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuWNsemaqumBuOmghe+8mlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAgICBkaXNhYmxlIGFsbCBjb25zaXN0ZW5jeSBjaGVja2luZ1xuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIGRvIG5vdCBjaGVjayB3aGV0aGVyIHRoZSBwYXJ0aXRpb24gaXMgaW4gdXNlXG4iCisjfiAiIC1xLCAtLXF1aWV0ICAgICAgICAgICAgICAgc3VwcHJlc3Mgd2FybmluZyBtZXNzYWdlc1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIGRvIG5vdCBjb21wbGFpbiBhYm91dCB0aGluZ3MgaXJyZWxldmFudCBmb3IgTGludXhcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICAgIOWFqOmDqOWBnOeUqOS4gOiHtOaAp+aqouafpVxuIgorI34gIiAgICAgLS1uby1yZXJlYWQgICAgICAgICAgIOS4jeaqouafpeaYr+WQpuWIhuWJsuaYr+WcqOS4reS9v+eUqFxuIgorI34gIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgIOaKkeWItuitpuWRiuioiuaBr1xuIgorI34gIiAtTCwgLS1MaW51eCAgICAgICAgICAgICAgIOS4jeaKseaAqOmXnOaWvCBpcnJlbGV2YW50IOeUqOaWvCBMaW51eFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWcsIC0tc2hvdy1nZW9tZXRyeSAgICAgICBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnlcbiIKKyN+ICIgLUcsIC0tc2hvdy1wdC1nZW9tZXRyeSAgICBwcmludCBnZW9tZXRyeSBndWVzc2VkIGZyb20gdGhlIHBhcnRpdGlvbiB0YWJsZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1nLCAtLXNob3ctZ2VvbWV0cnkgICAgICAg5YiX5Y2w5YWn5qC45Li75oSP55qE5bm+5L2V5L2N572uXG4iCisjfiAiIC1HLCAtLXNob3ctcHQtZ2VvbWV0cnkgICAg5YiX5Y2w5bm+5L2V5L2N572u54yc5ris55qE5b6e5YiG5Ymy6KGoXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZVs9PGRldmljZT5dIGFjdGl2YXRlIGJvb3RhYmxlIGZsYWdcbiIKKyN+ICIgLVUsIC0tdW5oaWRlWz08ZGV2Pl0gICAgICBzZXQgcGFydGl0aW9uIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAgYWxzbyBsaXN0IGV4dGVuZGVkIHBhcnRpdGlvbnMgaW4gdGhlIG91dHB1dCxcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIGV4cGVjdCBkZXNjcmlwdG9ycyBmb3IgdGhlbSBpbiB0aGUgaW5wdXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtQSwgLS1hY3RpdmF0ZSBbPTxkZXZpY2U+XSDllZ/nlKjlj6/plovmqZ/nmoTml5fmqJlcbiIKKyN+ICIgLVUsIC0tdW5oaWRlIFs9PGRldj5dICAgICAg6Kit5a6a5YiG5YmyIHVuaGlkZGVuXG4iCisjfiAiIC14LCAtLXNob3ctZXh0ZW5kZWQgICAgICAg5Lmf5riF5Zau6YCy6ZqO5YiG5Ymy5Y2A5Zyo5Lit6Ly45Ye677yMXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICDmiJbpoJDmnJ/mj4/ov7DlhYPnlKjmlrzlroPlgJHlnKjkuK3ovLjlhaVcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWxlYXZlLWxhc3QgICAgICAgICAgZG8gbm90IGFsbG9jYXRlIHRoZSBsYXN0IGN5bGluZGVyXG4iCisjfiAiICAgICAtLUlCTSAgICAgICAgICAgICAgICAgc2FtZSBhcyAtLWxlYXZlLWxhc3RcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgLS1sZWF2ZS1sYXN0ICAgICAgICAgIOS4jemFjee9ruacgOW+jOS4gOethuejgeafsVxuIgorI34gIiAgICAgLS1JQk0gICAgICAgICAgICAgICAgIOWmguWQjCAtLWxlYXZlLWxhc3RcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAgcGFydGl0aW9ucyBhcmUgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0tbm90LWluLW9yZGVyICAgICAgICBwYXJ0aXRpb25zIGFyZSBub3QgaW4gb3JkZXJcbiIKKyN+ICIgICAgIC0taW5zaWRlLW91dGVyICAgICAgICBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gIiAgICAgLS1ub3QtaW5zaWRlLW91dGVyICAgIG5vdCBhbGwgbG9naWNhbHMgaW5zaWRlIG91dGVybW9zdCBleHRlbmRlZFxuIgorI34gbXNnc3RyICIiCisjfiAiICAgICAtLWluLW9yZGVyICAgICAgICAgICAg5YiG5Ymy5Y2A5piv5Zyo5Lit5o6S5bqPXG4iCisjfiAiICAgICAtLW5vdC1pbi1vcmRlciAgICAgICAg5YiG5Ymy5Y2A5LiN5piv5Zyo5Lit5o6S5bqPXG4iCisjfiAiICAgICAtLWluc2lkZS1vdXRlciAgICAgICAg5omA5pyJ6YKP6Lyv55qE5YWn6YOoIG91dGVybW9zdCDpgLLpmo5cbiIKKyN+ICIgICAgIC0tbm90LWluc2lkZS1vdXRlciAgICDkuKbpnZ7miYDmnInpgo/ovK/nmoTlhafpg6ggb3V0ZXJtb3N0IOmAsumajlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICBldmVyeSBwYXJ0aXRpb24gaXMgZGlzam9pbnQgZnJvbSBhbGwgb3RoZXJzXG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAgbGlrZSBuZXN0ZWQsIGJ1dCBleHRlbmRlZCBwYXJ0aXRpb25zIG1heSBsaWUgb3V0c2lkZVxuIgorI34gIiAgICAgLS1vbmVzZWN0b3IgICAgICAgICAgIHBhcnRpdGlvbnMgYXJlIG11dHVhbGx5IGRpc2pvaW50XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgIC0tbmVzdGVkICAgICAgICAgICAgICDmr4/liIblibLmmK8gZGlzam9pbnQg5b6e5omA5pyJ5YW25LuW5Lq6XG4iCisjfiAiICAgICAtLWNoYWluZWQgICAgICAgICAgICAg5aaC5ZCM5bei54uA77yM5L2G5piv6YCy6ZqO5YiG5Ymy5Y2A5Lmf6Kix5pyDIGxpZSDlpJblgbRcbiIKKyN+ICIgICAgIC0tb25lc2VjdG9yICAgICAgICAgICDliIblibLljYDmmK/kuqTkupIgZGlzam9pbnRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3ZlcnJpZGUgdGhlIGRldGVjdGVkIGdlb21ldHJ5IHVzaW5nOlxuIgorI34gIiAtQywgLS1jeWxpbmRlcnMgPG51bWJlcj4gIHNldCB0aGUgbnVtYmVyIG9mIGN5bGluZGVycyB0byB1c2VcbiIKKyN+ICIgLUgsIC0taGVhZHMgPG51bWJlcj4gICAgICBzZXQgdGhlIG51bWJlciBvZiBoZWFkcyB0byB1c2VcbiIKKyN+ICIgLVMsIC0tc2VjdG9ycyA8bnVtYmVyPiAgICBzZXQgdGhlIG51bWJlciBvZiBzZWN0b3JzIHRvIHVzZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5by35Yi26K6K5pu05YG15ris5Yiw5bm+5L2V5L2N572u5L2/55So77yaXG4iCisjfiAiIC1DLCAtLWN5bGluZGVycyA8bnVtYmVyPiAg6Kit5a6a56OB5p+x5pW46YeP5Lul5L2/55SoXG4iCisjfiAiIC1ILCAtLWhlYWRzPOaVuOWtlz4gICAgIOioreWumuWJjeerr+aVuOmHj+S7peS9v+eUqFxuIgorI34gIiAtUywgLS1zZWN0b3JzPOaVuOWtlz4gICDoqK3lrprno4HljYDmlbjph4/ku6Xkvb/nlKhcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiVzIGRldmljZVx0XHQgbGlzdCBhY3RpdmUgcGFydGl0aW9ucyBvbiBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAiJXMg6KOd572uXHRcdCDliJflh7roo53nva7kuIrnmoTkvZznlKjkuK3liIblibLljYBcbiIKKworI34gbXNnaWQgIiVzIGRldmljZSBuMSBuMiAuLi4gYWN0aXZhdGUgcGFydGl0aW9ucyBuMSAuLi4sIGluYWN0aXZhdGUgdGhlIHJlc3RcbiIKKyN+IG1zZ3N0ciAiJXMg6KOd572uIG4xIG4y4oCm5ZWf55So5YiG5Ymy5Y2AIG4x4oCmLCDlgZznlKjlhbbppJjnmoRcbiIKKworI34gbXNnaWQgIiVzIC1BbiBkZXZpY2VcdCBhY3RpdmF0ZSBwYXJ0aXRpb24gbiwgaW5hY3RpdmF0ZSB0aGUgb3RoZXIgb25lc1xuIgorI34gbXNnc3RyICIlcyAtQW4g6KOd572uXHQg5ZWf55So5YiG5Ymy5Y2AIG4sIOWBnOeUqOWPpuWkluS4gOWAi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImludmFsaWQgbnVtYmVyIG9mIHBhcnRpdGlvbnMgYXJndW1lbnQiCisjfiBtc2dzdHIgIueEoeaViOeahOWIhuWJsuWNgOaVuOmHj+W8leaVuCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tcHJpbnQtaWQgZGV2aWNlIHBhcnRpdGlvbi1udW1iZXIiCisjfiBtc2dzdHIgIueUqOazle+8mnNmZGlzayAtLXByaW50LWlkIOijnee9ruWIhuWJsuWNgOe3qOiZnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1c2FnZTogc2ZkaXNrIC0tY2hhbmdlLWlkIGRldmljZSBwYXJ0aXRpb24tbnVtYmVyIElkIgorI34gbXNnc3RyICLnlKjms5XvvJpzZmRpc2sgLS1jaGFuZ2UtaWQg6KOd572u5YiG5Ymy5Y2A57eo6Jmf6K2Y5Yil6JmfIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVzYWdlOiBzZmRpc2sgLS1pZCBkZXZpY2UgcGFydGl0aW9uLW51bWJlciBbSWRdIgorI34gbXNnc3RyICLnlKjms5XvvJpzZmRpc2sgLS1pZCDoo53nva7liIblibLljYDnt6jomZ8gW+itmOWIpeiZn10iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2FuIHNwZWNpZnkgb25seSBvbmUgZGV2aWNlIChleGNlcHQgd2l0aCAtbCBvciAtcykiCisjfiBtc2dzdHIgIuWPr+S7peaMh+WumuWPquacieS4gOWAi+ijnee9riAo6Zmk5LqG6IiHIC1sIOaIliAtcykiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY2Fubm90IG9wZW4gJXMgcmVhZC13cml0ZSIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzIOWPr+iugOWPr+WvqyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyBmb3IgcmVhZGluZyIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzIOeUqOaWvOiugOWPliIKKworI34gbXNnaWQgIiVzOiAlbGQgY3lsaW5kZXJzLCAlbGQgaGVhZHMsICVsZCBzZWN0b3JzL3RyYWNrXG4iCisjfiBtc2dzdHIgIiVz77yaJWxkIOejgeafse+8jCVsZCDno4HpoK3vvIwlbGQg56OB5Y2AL+ejgei7jFxuIgorCisjfiBtc2dpZCAiYmFkIGFjdGl2ZSBieXRlOiAweCV4IGluc3RlYWQgb2YgMHg4MFxuIgorI34gbXNnc3RyICLkuI3nlbbnmoTkvZznlKjkuK3kvY3lhYPntYTvvJoweCV4IOiAjOmdniAweDgwXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiRG9uZVxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5a6M5oiQXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiWW91IGhhdmUgJWQgYWN0aXZlIHByaW1hcnkgcGFydGl0aW9ucy4gVGhpcyBkb2VzIG5vdCBtYXR0ZXIgZm9yIExJTE8sXG4iCisjfiAiYnV0IHRoZSBET1MgTUJSIHdpbGwgb25seSBib290IGEgZGlzayB3aXRoIDEgYWN0aXZlIHBhcnRpdGlvbi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIuaCqOaciSAlZCDloYrkvZznlKjkuK3nmoTkuLvopoHliIblibLljYDjgILpgJnlgIvkuI3mnIPlvbHpn7/liLAgTElMT++8jFxuIgorI34gIuS9huaYryBET1MgTUJSIOWPquiDveWwh+WFt+acieS4gOWhiuS9nOeUqOS4reWIhuWJsuWNgOeahOejgeein+mWi+apn+OAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInBhcnRpdGlvbiAlcyBoYXMgaWQgJXggYW5kIGlzIG5vdCBoaWRkZW4iCisjfiBtc2dzdHIgIuWIhuWJsiAlcyDmnInorZjliKXomZ8gJXgg5ZKM5pyq6KKr6Zqx6JePIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkJhZCBJZCAlbHgiCisjfiBtc2dzdHIgIuS4jeeVtueahOitmOWIpeiZnyAlbHgiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmF0YWwgZXJyb3I6IGNhbm5vdCBmaW5kICVzIgorI34gbXNnc3RyICLlmrTph43pjK/oqqTvvJrmib7kuI3liLAgJXMiCisKKyN+IG1zZ2lkICJXYXJuaW5nOiAlcyBpcyBub3QgYSBibG9jayBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77yaJXMg5Lim6Z2e5Y2A5aGK6KOd572uXG4iCisKKyN+IG1zZ2lkICJPS1xuIgorI34gbXNnc3RyICLnorrlrppcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJWQgZG9lcyBub3QgZXhpc3QsIGNhbm5vdCBjaGFuZ2UgaXQiCisjfiBtc2dzdHIgIuWIhuWJsiAlZCDkuI3lrZjlnKjvvIznhKHms5Xorormm7TlroMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkkgZG9uJ3QgbGlrZSB0aGVzZSBwYXJ0aXRpb25zIC0gbm90aGluZyBjaGFuZ2VkLlxuIgorI34gIihJZiB5b3UgcmVhbGx5IHdhbnQgdGhpcywgdXNlIHRoZSAtLWZvcmNlIG9wdGlvbi4pIgorI34gbXNnc3RyICIiCisjfiAi5oiR5LiN5aaC5ZCM6YCZ5Lqb5YiG5Ymy5Y2AIC0g5rKS5pyJ5Lu75L2V5p2x6KW/6K6K5pu044CCXG4iCisjfiAiKOWmguaenOaCqOecn+eahOimgeaDs+imgemAmeWAi++8jOS9v+eUqCAtLWZvcmNlIOmBuOmghS4pIgorCisjfiBtc2dpZCAiSSBkb24ndCBsaWtlIHRoaXMgLSBwcm9iYWJseSB5b3Ugc2hvdWxkIGFuc3dlciBOb1xuIgorI34gbXNnc3RyICLmiJHkuI3llpzmraHpgJnlgIsgLSDmgqjkuZ/oqLHmh4noqbLlm57nrZQgTm9cbiIKKworI34gbXNnaWQgIkFyZSB5b3Ugc2F0aXNmaWVkIHdpdGggdGhpcz8gW3lucV0gIgorI34gbXNnc3RyICLmgqjmu7/mhI/pgJnlgIvll47vvJ9beW5xXSAiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiUXVpdHRpbmcgLSBub3RoaW5nIGNoYW5nZWQiCisjfiBtc2dzdHIgIumboumWiyAtIOaykuacieS7u+S9leadseilv+iuiuabtCIKKworI34gbXNnaWQgIlBsZWFzZSBhbnN3ZXIgb25lIG9mIHksbixxXG4iCisjfiBtc2dzdHIgIuiri+S7pSB5LG4scSDkuYvkuIDlm57nrZRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJTdWNjZXNzZnVsbHkgd3JvdGUgdGhlIG5ldyBwYXJ0aXRpb24gdGFibGVcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuaIkOWKn+Wvq+WFpeaWsOeahOWIhuWJsuihqFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIklmIHlvdSBjcmVhdGVkIG9yIGNoYW5nZWQgYSBET1MgcGFydGl0aW9uLCAvZGV2L2ZvbzcsIHNheSwgdGhlbiB1c2UgZGQoMSlcbiIKKyN+ICJ0byB6ZXJvIHRoZSBmaXJzdCA1MTIgYnl0ZXM6ICBkZCBpZj0vZGV2L3plcm8gb2Y9L2Rldi9mb283IGJzPTUxMiBjb3VudD0xXG4iCisjfiAiKFNlZSBmZGlzayg4KS4pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLlpoLmnpzmgqjlu7rnq4vmiJborormm7QgRE9TIOWIhuWJsuWNgCjlgYfoqK3mmK8gL2Rldi9mb283Ke+8jOWwseW+l+S9v+eUqCBkZCgxKVxuIgorI34gIuWwh+mWi+mgreeahCA1MTIg5L2N5YWD57WE5q246Zu277yaZGQgaWY9L2Rldi96ZXJvIG9mPS9kZXYvZm9vNyBicz01MTIgY291bnQ9MVxuIgorI34gIijlj4PnnIsgZmRpc2soOCkuKVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIlxuIgorI34gbXNnc3RyICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJQYXJ0aXRpb24gJXpkIGlzIGFscmVhZHkgZGVmaW5lZC4gRGVsZXRlIGl0IGJlZm9yZSByZS1hZGRpbmcgaXQuIgorI34gbXNnc3RyICLliIblibLljYAgJWQg5bey57aT5a6a576p44CCIOWcqOmHjeaWsOWKoOWFpeS5i+WJjeWIqumZpOWug+OAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZpZWxkIGlzIHRvbyBsb25nIgorI34gbXNnc3RyICLmrITkvY3lpKrplbciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6ICclYycgaXMgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVz77ya44COJWPjgI/mnKrooqvlhYHoqLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJyVjJyBpcyBub3QgYWxsb3dlZCIKKyN+IG1zZ3N0ciAi44COJWPjgI/mnKrooqvlhYHoqLEiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIiVz77ya5o6n5Yi25a2X5YWD5pyq6KKr5YWB6KixIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbnRyb2wgY2hhcmFjdGVycyBhcmUgbm90IGFsbG93ZWQiCisjfiBtc2dzdHIgIuaOp+WItuWtl+WFg+acquiiq+WFgeiosSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW4gb25seSBjaGFuZ2UgbG9jYWwgZW50cmllcy4iCisjfiBtc2dzdHIgIuWPquiDveiuiuabtOacrOWcsOaineebruOAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjcnlwdCgpIGZhaWxlZCIKKyN+IG1zZ3N0ciAi5oSP6KaL6Kq/5p+lKCkg5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gLXUgPFVTRVI+IENPTU1BTkRcbiIKKyN+IG1zZ3N0ciAiICVzIFvpgbjpoIVdIOWRveS7pFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gWy1dIFtVU0VSIFthcmddLi4uXVxuIgorI34gbXNnc3RyICIgJXMgW+mBuOmghV0gWy1dIFvkvb/nlKjogIUgW2FyZ10uLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gbXNnc3RyICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg44CMJXPjgI0pXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ09NTUFORCBub3Qgc3BlY2lmaWVkLiIKKyN+IG1zZ3N0ciAi5rKS5pyJIG1vdW50cG9pbnQg5oyH5a6a55qE44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLTEsIC0tb25lICAgICAgICBzaG93IG9ubHkgY3VycmVudCBtb250aCAoZGVmYXVsdClcbiIKKyN+ICIgLTMsIC0tdGhyZWUgICAgICBzaG93IHByZXZpb3VzLCBjdXJyZW50IGFuZCBuZXh0IG1vbnRoXG4iCisjfiAiIC1zLCAtLXN1bmRheSAgICAgU3VuZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1tLCAtLW1vbmRheSAgICAgTW9uZGF5IGFzIGZpcnN0IGRheSBvZiB3ZWVrXG4iCisjfiAiIC1qLCAtLWp1bGlhbiAgICAgb3V0cHV0IEp1bGlhbiBkYXRlc1xuIgorI34gIiAteSwgLS15ZWFyICAgICAgIHNob3cgd2hvbGUgY3VycmVudCB5ZWFyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgZGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgdGV4dCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC0xLCAtLW9uZSAgICAgICAg5Y+q6aGv56S655W25pyIICjpoJDoqK0pXG4iCisjfiAiIC0zLCAtLXRocmVlICAgICAg6aGv56S65YmN5LiA5YCL44CB55uu5YmN55qE5ZKM5qyh5pyIXG4iCisjfiAiIC1zLCAtLXN1bmRheSAgICAg6YCx5pel5YGa54K65YWI6YCx5Lit5p+Q5pelXG4iCisjfiAiIC1tLCAtLW1vbmRheSAgICAg6YCx5LiA5YGa54K65YWI6YCx5Lit5p+Q5pelXG4iCisjfiAiIC1qLCAtLWp1bGlhbiAgICAg6Ly45Ye65YSS55Wl5puG57SE5pyDXG4iCisjfiAiIC15LCAtLXllYXIgICAgICAg6aGv56S65pW05YCL55uu5YmN55qE5bm0XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAg6aGv56S654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO5paH5a2X54S25b6M6Zui6ZaLXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAlMSRzIFtvcHRpb25zXSBMQUJFTD08bGFiZWw+XG4iCisjfiAiICUxJHMgW29wdGlvbnNdIFVVSUQ9PHV1aWQ+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgJTEkcyBb6YG46aCFXSDmqJnosrw9PGxhYmVsPlxuIgorI34gIiAlMSRzIFvpgbjpoIVdIFVVSUQ9PHV1aWQ+XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtQSwgLS1hbGwgICAgICAgICAgICAgIGRpc2FibGUgYWxsIGJ1aWx0LWluIGZpbHRlcnMsIHByaW50IGFsbCBmaWxlc3lzdGVtc1xuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIHVzZSBBU0NJSSBjaGFycyBmb3IgdHJlZSBmb3JtYXR0aW5nXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKKyN+ICIgLUQsIC0tZGYgICAgICAgICAgICAgICBpbWl0YXRlIHRoZSBvdXRwdXQgb2YgZGYoMSlcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBkaXJlY3Rpb24gb2Ygc2VhcmNoLCAnZm9yd2FyZCcgb3IgJ2JhY2t3YXJkJ1xuIgorI34gIiAtZSwgLS1ldmFsdWF0ZSAgICAgICAgIGNvbnZlcnQgdGFncyAoTEFCRUwsVVVJRCxQQVJUVVVJRCxQQVJUTEFCRUwpIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gZGV2aWNlIG5hbWVzXG4iCisjfiAiIC1GLCAtLXRhYi1maWxlIDxwYXRoPiAgYWx0ZXJuYXRpdmUgZmlsZSBmb3IgLS1mc3RhYiwgLS1tdGFiIG9yIC0ta2VybmVsIG9wdGlvbnNcbiIKKyN+ICIgLWYsIC0tZmlyc3Qtb25seSAgICAgICBwcmludCB0aGUgZmlyc3QgZm91bmQgZmlsZXN5c3RlbSBvbmx5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUEsIC0tYWxsICAgICAgICAgICAgICDlhajpg6jlgZznlKjlhaflu7rnr6npgbjlmajvvIzliJfljbDmiYDmnInmqpTmoYjns7vntbFcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICDkvb/nlKggQVNDSUkg5a2X5YWD55So5pa85qi55qC85byP5YyWXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAg5q2j5YmH5YyW5YiX5Y2w55qE6Lev5b6RXG4iCisjfiAiIC1ELCAtLWRmICAgICAgICAgICAgICAgaW1pdGF0ZSDovLjlh7rnmoQgZGYgKDEpXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4g5pa55ZCR55qE5pCc5bCL77yM44CO6L2J5a+E44CP5oiW44CO6YCA5LiA5q2l44CPXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAg6L2J5o+b5qiZ57GkICjmqJnosrzvvIxVVUlE77yMUEFSVFVVSUTvvIxQQVJUTEFCRUwpXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICDliLDoo53nva7lkI3nqLFcbiIKKyN+ICIgLUYsIC0tdGFiLWZpbGU86Lev5b6RPiDmm7/ku6PmlrnmoYjmqpTmoYjnlKjmlrwgLS1mc3RhYu+8jC0tbXRhYiDmiJYgLS1rZXJuZWwg6YG46aCFXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAg5YiX5Y2w56ys5LiA5YCL5om+5Yiw5qqU5qGI57O757Wx5Y+q5pyJXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCB0aGUgc2Vuc2Ugb2YgbWF0Y2hpbmdcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3V0cHV0XG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAgdXNlIGFsdGVybmF0aXZlIG5hbWVzcGFjZSAoL3Byb2MvPHRpZD4vbW91bnRpbmZvIGZpbGUpXG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgY29sdW1uIGhlYWRpbmdzXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWksIC0taW52ZXJ0ICAgICAgICAgICDlj43lkJEgc2Vuc2Ug55qE5Yy56YWNXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgICAg5L2/55So5riF5Zau5qC85byP6Ly45Ye6XG4iCisjfiAiIC1OLCAtLXRhc2sgPHRpZD4gICAgICAg5L2/55So5pu/5Luj5pa55qGI5ZG95ZCN56m66ZaTICgvcHJvYy88dGlkPi9tb3VudGluZm8g5qqU5qGIKVxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeWIl+WNsOashOaomemgrVxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOS4jeaIquaWt+aWh+Wtl+WcqOS4reashOS9jVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICBkb24ndCBwcmludCBbL2Rpcl0gZm9yIGJpbmQgb3IgYnRyZnMgbW91bnRzXG4iCisjfiAiIC1SLCAtLXN1Ym1vdW50cyAgICAgICAgcHJpbnQgYWxsIHN1Ym1vdW50cyBmb3IgdGhlIG1hdGNoaW5nIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1TLCAtLXNvdXJjZSA8c3RyaW5nPiAgdGhlIGRldmljZSB0byBtb3VudCAoYnkgbmFtZSwgbWFqOm1pbiwgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICBMQUJFTD0sIFVVSUQ9LCBQQVJUVVVJRD0sIFBBUlRMQUJFTD0pXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAgdGhlIG1vdW50cG9pbnQgdG8gdXNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tbm9mc3Jvb3QgICAgICAgICDkuI3liJfljbAgWy9kaXJdIOeUqOaWvOe5q+e1kOaIliBidHJmcyDmjpvovIlcbiIKKyN+ICIgLVIsIC0tc3VibW91bnRzICAgICAgICDliJfljbDmiYDmnIkgc3VibW91bnRzIOeUqOaWvOWMuemFjeaqlOahiOezu+e1sVxuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIOijnee9ruWIsOaOm+i8iSAo5L6d5ZCN56ix77yMbWFq77ya5pyA5bCP77yMXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICDmqJnosrw9LCBVVUlEPSwgUEFSVFVVSUQ9LCBQQVJUTEFCRUw9KVxuIgorI34gIiAtVCwgLS10YXJnZXQ85a2X5LiyPiBtb3VudHBvaW50IOS7peS9v+eUqFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIE91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uXG4iCisjfiBtc2dzdHIgIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioilxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWQsIC0tdWRwICAgICAgICAgICAgIHVzZSBVRFAgb25seVxuIgorI34gIiAtaSwgLS1pZCAgICAgICAgICAgICAgbG9nIHRoZSBwcm9jZXNzIElEIHRvb1xuIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiAgICAgbG9nIHRoZSBjb250ZW50cyBvZiB0aGlzIGZpbGVcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZCwgLS11ZHAgICAgICAgICAgICAg5L2/55SoIFVEUCAoVENQIOaYr+mgkOiorSlcbiIKKyN+ICIgLWksIC0taWQgICAgICAgICAgICAgIOiomOmMhOaqlOiZleeQhuitmOWIpeiZn+WkqlxuIgorI34gIiAtZiwgLS1maWxlIDxmaWxlPiAgICAg6KiY6YyE5qqU5YWn5a6555qE6YCZ5YCL5qqU5qGIXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7mloflrZfnhLblvozpm6LplotcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICB3cml0ZSB0byB0aGlzIHJlbW90ZSBzeXNsb2cgc2VydmVyXG4iCisjfiAiIC1QLCAtLXBvcnQgPG51bWJlcj4gICB1c2UgdGhpcyBVRFAgcG9ydFxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gbWFyayBnaXZlbiBtZXNzYWdlIHdpdGggdGhpcyBwcmlvcml0eVxuIgorI34gIiAtcywgLS1zdGRlcnIgICAgICAgICAgb3V0cHV0IG1lc3NhZ2UgdG8gc3RhbmRhcmQgZXJyb3IgYXMgd2VsbFxuIgorI34gbXNnc3RyICIiCisjfiAiIC1uLCAtLXNlcnZlciA8bmFtZT4gICDlr6vlhaXpgJnlgIvpgaDnq68gc3lzbG9nIOS8uuacjeWZqFxuIgorI34gIiAtUCwgLS1wb3J0POaVuOWtlz4gIOS9v+eUqOmAmeWAiyBVRFAg6YCa6KiK5Z+gXG4iCisjfiAiIC1wLCAtLXByaW9yaXR5PHByaW8+5qiZ6KiY57Wm5a6a55qE6KiK5oGv6IiH6YCZ5YCL5YSq5YWI5qyKXG4iCisjfiAiIC1zLCAtLXN0ZGVyciAgICAgICAgICDovLjlh7roqIrmga/liLDmqJnmupbpjK/oqqTlkIzmqKNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC10LCAtLXRhZyA8dGFnPiAgICAgICBtYXJrIGV2ZXJ5IGxpbmUgd2l0aCB0aGlzIHRhZ1xuIgorI34gIiAtdSwgLS1zb2NrZXQgPHNvY2tldD4gd3JpdGUgdG8gdGhpcyBVbml4IHNvY2tldFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdCwgLS10YWcgPHRhZz4gICAgICAg5qiZ6KiY5q+P5YiX6IiH6YCZ5YCL5qiZ57GkXG4iCisjfiAiIC11LCAtLXNvY2tldDzpgJroqIrnq68+5a+r5YWl6YCZ5YCLIFVuaXgg6YCa6KiK56uvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAgdXNlIGFsdGVybmF0aXZlIGRpY3Rpb25hcnlcbiIKKyN+ICIgLWQsIC0tYWxwaGFudW0gICAgICAgICBjb21wYXJlIG9ubHkgYWxwaGFudW1lcmljIGNoYXJhY3RlcnNcbiIKKyN+ICIgLWYsIC0taWdub3JlLWNhc2UgICAgICBpZ25vcmUgY2FzZSBkaWZmZXJlbmNlcyB3aGVuIGNvbXBhcmluZ1xuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+IGRlZmluZSBzdHJpbmcgdGVybWluYXRpb24gY2hhcmFjdGVyXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsdGVybmF0aXZlICAgICAg5L2/55So5Lqk5pu/5a2X5YW4XG4iCisjfiAiIC1kLCAtLWFscGhhbnVtICAgICAgICAg5q+U6LyD5Y+q5pyJIGFscGhhIOaVuOWtl+Wtl+WFg1xuIgorI34gIiAtZiwgLS1pZ25vcmUtY2FzZSAgICAgIOW/veeVpeaZguavlOi8g1xuIgorI34gIiAtdCwgLS10ZXJtaW5hdGUgPGNoYXI+IOWumue+qeWtl+S4sue1guatouWtl+WFg1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWYsIC0tZmlsZSA8ZmlsZT4gdXNlIGZpbGUgYXMgYSBjb29raWUgc2VlZFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1mLCAtLWZpbGUgPGZpbGU+IOS9v+eUqOaqlOahiOWBmueCuuW6q+WFi+eoruWtkFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICDop6Pph4vku4DpurzmraPlnKjmmK/lt7LlrozmiJBcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAlcyBbb3B0aW9uc10gcGF0aG5hbWUgW3BhdGhuYW1lIC4uLl1cbiIKKyN+IG1zZ3N0ciAiICVzIFvpgbjpoIVdIOi3r+W+keWQjeeosSBb6Lev5b6R5ZCN56ixLi4uXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBuYW1laSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuimgeeNsuW+l+abtOWkmuizh+ioiuiri+WPg+eciyBuYW1laSgxKeOAglxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkZhaWxlZCB0byBvcGVuL2NyZWF0ZSAlczogJW1cbiIKKyN+IG1zZ3N0ciAi6ZaL5ZWf5pmC5aSx5pWXL+W7uueriyAlc++8miVtXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRmFpbGVkIHRvIGxvY2sgJXM6ICVtXG4iCisjfiBtc2dzdHIgIumOluWumiAlcyDmmYLlpLHmlZfvvJolbVxuIgorCisjfiBtc2dpZCAiQmFkIG51bWJlcjogJXNcbiIKKyN+IG1zZ3N0ciAi5LiN55W255qE5pW45a2X77yaJXNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJCb3RoIC0tcGlkIGFuZCAtLW5vLXBpZCBzcGVjaWZpZWQuIElnbm9yaW5nIC0tbm8tcGlkLlxuIgorI34gbXNnc3RyICLlhanogIUgLS1waWQg5ZKMIC0tbm8tcGlkIOaMh+WumueahOOAguW/veeVpSAtLW5vLXBpZOOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB3aXBlZnMoOCkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLopoHnjbLlvpfmm7TlpJros4foqIroq4vlj4PnnIsgd2lwZWZzKDgp44CCXG4iCisKKyN+IG1zZ2lkICJ3YXJuaW5nOiBlcnJvciByZWFkaW5nICVzOiAlcyIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya6K6A5Y+W5pmC55m855Sf6Yyv6KqkICVzOiAlcyIKKworI34gbXNnaWQgIndhcm5pbmc6IGNhbid0IG9wZW4gJXM6ICVzIgorI34gbXNnc3RyICLorablkYrvvJrnhKHms5XplovllZ8gJXM6ICVzIgorCisjfiBtc2dpZCAibW91bnQ6IGNvdWxkIG5vdCBvcGVuICVzIC0gdXNpbmcgJXMgaW5zdGVhZFxuIgorI34gbXNnc3RyICJtb3VudO+8mueEoeazlemWi+WVnyAlcyAtIOS9v+eUqCAlcyDlgZrngrrmm7/ku6NcbiIKKworI34gbXNnaWQgImNhbid0IGNyZWF0ZSBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIueEoeazleW7uueri+mOluWumuaqlOahiCAlczogJXMgKOS9v+eUqCAtbiDml5fmqJnku6XlvLfliLborormm7QpIgorCisjfiBtc2dpZCAiY2FuJ3QgbGluayBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIueEoeazlemPiOe1kOmOluWumuaqlOahiCAlczogJXMgKOS9v+eUqCAtbiDml5fmqJnku6XlvLfliLborormm7QpIgorCisjfiBtc2dpZCAiY2FuJ3Qgb3BlbiBsb2NrIGZpbGUgJXM6ICVzICh1c2UgLW4gZmxhZyB0byBvdmVycmlkZSkiCisjfiBtc2dzdHIgIueEoeazlemWi+WVn+mOluWumuaqlOahiCAlczogJXMgKOS9v+eUqCAtbiDml5fmqJnku6XlvLfliLborormm7QpIgorCisjfiBtc2dpZCAiQ2FuJ3QgbG9jayBsb2NrIGZpbGUgJXM6ICVzXG4iCisjfiBtc2dzdHIgIueEoeazlemOluWumuW3sumOluWumuaqlOahiCAlczogJXNcbiIKKworI34gbXNnaWQgImNhbid0IGxvY2sgbG9jayBmaWxlICVzOiAlcyIKKyN+IG1zZ3N0ciAi54Sh5rOV6Y6W5a6a5bey6Y6W5a6a5qqU5qGIICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJDYW5ub3QgY3JlYXRlIGxpbmsgJXNcbiIKKyN+ICJQZXJoYXBzIHRoZXJlIGlzIGEgc3RhbGUgbG9jayBmaWxlP1xuIgorI34gbXNnc3RyICIiCisjfiAi54Sh5rOV5bu656uL6Y+I57WQICVzXG4iCisjfiAi5Lmf6Kix5pyJ5aSx5Y675pmC5pWI55qE6Y6W5a6a5qqU5qGI77yfXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiAlcyAoJXMpIC0gbXRhYiBub3QgdXBkYXRlZCIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzICglcykgLSBtdGFiIOWwmuacquabtOaWsCIKKworI34gbXNnaWQgImVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICLlr6vlhaUgJXMg5pmC55m855Sf6Yyv6Kqk77yaJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiJXM6IGNhbm5vdCBmZmx1c2ggY2hhbmdlczogJXMiCisjfiBtc2dzdHIgIiVz77ya54Sh5rOVIGZmbHVzaCDorormm7TvvJolcyIKKworI34gbXNnaWQgImVycm9yIGNoYW5naW5nIG1vZGUgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgIuiuiuabtCAlcyDmqKHlvI/mmYLnmbznlJ/pjK/oqqTvvJolc1xuIgorCisjfiBtc2dpZCAiZXJyb3IgY2hhbmdpbmcgb3duZXIgb2YgJXM6ICVzXG4iCisjfiBtc2dzdHIgIuiuiuabtCAlcyDnmoTmk4HmnInogIXmmYLnmbznlJ/pjK/oqqTvvJolc1xuIgorCisjfiBtc2dpZCAiY2FuJ3QgcmVuYW1lICVzIHRvICVzOiAlc1xuIgorI34gbXNnc3RyICLnhKHms5Xph43mlrDlkb3lkI0gJXMg54K6ICVzOiAlc1xuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIm1vdW50OiB3YXJuaW5nOiAvZXRjL210YWIgaXMgbm90IHdyaXRhYmxlIChlLmcuIHJlYWQtb25seSBmaWxlc3lzdGVtKS5cbiIKKyN+ICIgICAgICAgSXQncyBwb3NzaWJsZSB0aGF0IGluZm9ybWF0aW9uIHJlcG9ydGVkIGJ5IG1vdW50KDgpIGlzIG5vdFxuIgorI34gIiAgICAgICB1cCB0byBkYXRlLiBGb3IgYWN0dWFsIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbSBtb3VudCBwb2ludHNcbiIKKyN+ICIgICAgICAgY2hlY2sgdGhlIC9wcm9jL21vdW50cyBmaWxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAibW91bnTvvJrorablkYrvvJovZXRjL210YWIg5LiN5Y+v5a+r5YWlICjkvovvvJrllK/oroDmqpTmoYjns7vntbEp44CCXG4iCisjfiAiICAgICAgIOeUsSBtb3VudCg4KSDmiYDloLHlkYrnmoTos4foqIrmnInlj6/og73kuI3mmK/mnIDmlrDni4Dms4HjgIJcbiIKKyN+ICIgICAgICAg5oOz6KaB542y5b6X5pyJ6Zec57O757Wx5o6b6LyJ6bue55qE5a+m6Zqb6LOH6KiK77yMXG4iCisjfiAiICAgICAgIOiri+aqouafpSAvcHJvYy9tb3VudHMg5qqU5qGI44CCXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJtb3VudDogaW1wcm9wZXJseSBxdW90ZWQgb3B0aW9uIHN0cmluZyAnJXMnIgorI34gbXNnc3RyICJtb3VudO+8mumBuOmgheWtl+S4suOAjCVz44CN5Yqg5YWl5LqG5LiN6YGp55W255qE5byV6JmfIgorCisjfiBtc2dpZCAibW91bnQ6IHRyYW5zbGF0ZWQgJXMgJyVzJyB0byAnJXMnXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5bey57+76K2vICVz44CMJXPjgI3ngrrjgIwlc+OAjVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBTRUxpbnV4ICpjb250ZXh0PSBvcHRpb25zIGFyZSBpZ25vcmUgb24gcmVtb3VudC5cbiIKKyN+IG1zZ3N0ciAi5o6b6LyJ77yaU0VMaW51eCAqIOiqnuWigz3pgbjpoIXmmK/lv73nlaXmlrwgcmVtb3VudOOAglxuIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5qC55pOaIG10YWLvvIwlcyDlt7LntpPmjpvovInliLAgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogYWNjb3JkaW5nIHRvIG10YWIsICVzIGlzIG1vdW50ZWQgb24gJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5qC55pOaIG10YWLvvIwlcyDlt7LntpPmjpvovInliLAgJXMiCisKKyN+IG1zZ2lkICJtb3VudDogY2FuJ3Qgb3BlbiAlcyBmb3Igd3JpdGluZzogJXMiCisjfiBtc2dzdHIgIm1vdW5077ya54Sh5rOV6ZaL5ZWfICVzIOS7peeUqOaWvOWvq+WFpe+8miVzIgorCisjfiBtc2dpZCAibW91bnQ6IGVycm9yIHdyaXRpbmcgJXM6ICVzIgorI34gbXNnc3RyICJtb3VudO+8muWvq+WFpeaZgueZvOeUn+mMr+iqpCAlczogJXMiCisKKyN+IG1zZ2lkICJtb3VudDogZXJyb3IgY2hhbmdpbmcgbW9kZSBvZiAlczogJXMiCisjfiBtc2dzdHIgIm1vdW5077ya6K6K5pu05qih5byP5pmC55m855Sf6Yyv6KqkICVzOiAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBncm91cCBpZDogJW0iCisjfiBtc2dzdHIgIuaOm+i8ie+8mueEoeazleioreWumue+pOe1hOitmOWIpeiZn++8miVtIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBjYW5ub3Qgc2V0IHVzZXIgaWQ6ICVtIgorI34gbXNnc3RyICLmjpvovInvvJrnhKHms5XoqK3lrprkvb/nlKjogIXorZjliKXomZ/vvJolbSIKKworI34gbXNnaWQgIm1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgIm1vdW5077ya54Sh5rOV6KGN55Sf5Z+36KGM77yaJXMiCisKKyN+IG1zZ2lkICJUcnlpbmcgJXNcbiIKKyN+IG1zZ3N0ciAi5ZiX6KmmICVzXG4iCisKKyN+IG1zZ2lkICJtb3VudDogeW91IGRpZG4ndCBzcGVjaWZ5IGEgZmlsZXN5c3RlbSB0eXBlIGZvciAlc1xuIgorI34gbXNnc3RyICJtb3VudO+8muaCqOS4puacquaMh+WumiAlcyDnmoTmqpTmoYjns7vntbHpoZ7lnotcbiIKKworI34gbXNnaWQgIiAgICAgICBJIHdpbGwgdHJ5IGFsbCB0eXBlcyBtZW50aW9uZWQgaW4gJXMgb3IgJXNcbiIKKyN+IG1zZ3N0ciAiICAgICAg5oiR5bCH5ZiX6Kmm5omA5pyJ5ZyoICVzIOaIliAlcyDkuK3mj5Dlj4rnmoTpoZ7lnotcbiIKKworI34gbXNnaWQgIiAgICAgICBhbmQgaXQgbG9va3MgbGlrZSB0aGlzIGlzIHN3YXBzcGFjZVxuIgorI34gbXNnc3RyICIgICAgICAg6ICM5a6D55yL6LW35L6G5YOP5piv5YCL572u5o+b56m66ZaTXG4iCisKKyN+IG1zZ2lkICIgICAgICAgSSB3aWxsIHRyeSB0eXBlICVzXG4iCisjfiBtc2dzdHIgIiAgICAgIOaIkeWwh+WYl+ippumhnuWeiyAlc1xuIgorCisjfiBtc2dpZCAiJXMgbG9va3MgbGlrZSBzd2Fwc3BhY2UgLSBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAiJXMg55yL6LW35L6G5YOP5piv572u5o+b56m66ZaTIC0g5pyq5o6b6LyJIgorCisjfiBtc2dpZCAiIgorI34gIm1vdW50OiAlczogbW9yZSBmaWxlc3lzdGVtcyBkZXRlY3RlZC4gVGhpcyBzaG91bGQgbm90IGhhcHBlbixcbiIKKyN+ICIgICAgICAgdXNlIC10IDx0eXBlPiB0byBleHBsaWNpdGx5IHNwZWNpZnkgdGhlIGZpbGVzeXN0ZW0gdHlwZSBvclxuIgorI34gIiAgICAgICB1c2Ugd2lwZWZzKDgpIHRvIGNsZWFuIHVwIHRoZSBkZXZpY2UuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmjpvovInvvJolc++8muWBtea4rOWIsOWkmuWAi+aqlOahiOezu+e1seOAgumAmeS4jeaHieeZvOeUn++8jFxuIgorI34gIiAgICAgICDkvb/nlKggLXQgPHR5cGU+IOS7peaYjueiuuaMh+WumuaqlOahiOezu+e1seWei+aFi+aIllxuIgorI34gIiAgICAgICDkvb/nlKggd2lwZWZzKDgpIOS7pea4heeQhuijnee9ruOAglxuIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gbW91bnQgJXMgb24gJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5Y+q5pyJIHJvb3Qg5Y+v5Lul5bCHICVzIOaOm+i8ieWIsCAlcyIKKworI34gbXNnaWQgIm1vdW50OiBsb29wIGRldmljZSBzcGVjaWZpZWQgdHdpY2UiCisjfiBtc2dzdHIgIm1vdW5077ya55Kw6Lev6KOd572u6KKr5oyH5a6a5LqG5YWp5qyhIgorCisjfiBtc2dpZCAibW91bnQ6IHR5cGUgc3BlY2lmaWVkIHR3aWNlIgorI34gbXNnc3RyICJtb3VudO+8mumhnuWei+iiq+aMh+WumuS6huWFqeasoSIKKworI34gbXNnaWQgIm1vdW50OiBza2lwcGluZyB0aGUgc2V0dXAgb2YgYSBsb29wIGRldmljZVxuIgorI34gbXNnc3RyICJtb3VudO+8mui3s+mBjueSsOi3r+ijnee9rueahOioreWumlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBlbmFibGluZyBhdXRvY2xlYXIgbG9vcGRldiBmbGFnXG4iCisjfiBtc2dzdHIgIuaOm+i8ie+8muWVn+eUqCBhdXRvY2xlYXIgbG9vcGRldiDml5fmqJlcbiIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmjIflrprkuobnhKHmlYjnmoTlgY/np7vlgLzjgIwlc+OAjSIKKworI34gbXNnaWQgIm1vdW50OiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmjIflrprkuobnhKHmlYjnmoTlpKflsI/pmZDliLbjgIwlc+OAjSIKKworI34gbXNnaWQgIm1vdW50OiBhY2NvcmRpbmcgdG8gbXRhYiAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXMgYXMgbG9vcCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmoLnmk5ogbXRhYiAlcyDlt7LooqvnlbblgZrnkrDot6/ogIzmjpvovInmlrwgJXMiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IHRhaWxlZCB0byBpbml0aWFsaXplIGxvb3BkZXYgY29udGV4dCIKKyN+IG1zZ3N0ciAi5Yid5aeL5YyWIGxvb3BjeHQg5pmC5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiBmYWlsZWQgdG8gdXNlICVzIGRldmljZSIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5Xkvb/nlKjoo53nva4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGZhaWxlZCB0byBmb3VuZCBmcmVlIGxvb3AgZGV2aWNlIgorI34gbXNnc3RyICLmjpvovInvvJrnhKHms5Xmib7liLDoh6rnlLHov7TlnIjoo53nva4iCisKKyN+IG1zZ2lkICJtb3VudDogZ29pbmcgdG8gdXNlIHRoZSBsb29wIGRldmljZSAlc1xuIgorI34gbXNnc3RyICJtb3VudO+8muWNs+Wwh+S9v+eUqOeSsOi3r+ijnee9riAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHRvIHNldCBsb29wZGV2IGF0dHJpYnV0ZXMiCisjfiBtc2dzdHIgIuaOm+i8ie+8miVz77ya54Sh5rOV6Kit5a6aIGxvb3BkZXYg5bGs5oCnIgorCisjLCBmdXp6eQorI34gbXNnaWQgIm1vdW50OiAlczogZmFpbGVkIHNldHRpbmcgdXAgbG9vcCBkZXZpY2U6ICVtIgorI34gbXNnc3RyICLmjpvovInvvJolc++8muWkseaVl+eahOioreWumui/tOWciOijnee9ru+8miVtIgorCisjfiBtc2dpZCAibW91bnQ6IHN0b2xlbiBsb29wPSVzIC4uLnRyeWluZyBhZ2FpblxuIgorI34gbXNnc3RyICJtb3VudO+8muS4n+WkseeSsOi3rz0lcyDigKblho3oqabkuIDmrKFcbiIKKworI34gbXNnaWQgIm1vdW50OiBzdG9sZW4gbG9vcD0lcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrkuJ/lpLHnkrDot689JXMiCisKKyN+IG1zZ2lkICJtb3VudDogc2V0dXAgbG9vcCBkZXZpY2Ugc3VjY2Vzc2Z1bGx5XG4iCisjfiBtc2dzdHIgIm1vdW5077ya5oiQ5Yqf6Kit5a6a55Kw6Lev6KOd572uXG4iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gJXMgZm91bmQgLSBjcmVhdGluZyBpdC4uXG4iCisjfiBtc2dzdHIgIm1vdW5077ya5om+5LiN5YiwICVzIC0g5bu656uL5a6D4oCmXG4iCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IG9wZW4gJXMgZm9yIHNldHRpbmcgc3BlZWQiCisjfiBtc2dzdHIgIm1vdW5077ya54Sh5rOV6ZaL5ZWfICVzIOS7peeUqOaWvOioreWumumAn+W6piIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHNldCBzcGVlZDogJW0iCisjfiBtc2dzdHIgIuaOm+i8ie+8mueEoeazleioreWumumAn+W6pu+8miVtIgorCisjfiBtc2dpZCAibW91bnQ6IGFjY29yZGluZyB0byBtdGFiLCAlcyBpcyBhbHJlYWR5IG1vdW50ZWQgb24gJXNcbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrmoLnmk5ogbXRhYu+8jCVzIOW3sue2k+aOm+i8ieWIsCAlc1xuIgorCisjfiBtc2dpZCAibW91bnQ6IHdhcm5pbmc6ICVzIHNlZW1zIHRvIGJlIG1vdW50ZWQgcmVhZC13cml0ZS5cbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrorablkYrvvJolcyDkvLzkuY7ooqvmjpvovInngrrlj6/oroDlj6/lr6vjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiB3YXJuaW5nOiAlcyBzZWVtcyB0byBiZSBtb3VudGVkIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAibW91bnTvvJrorablkYrvvJolcyDkvLzkuY7ooqvmjpvovInngrrllK/oroDjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBJIGNvdWxkIG5vdCBkZXRlcm1pbmUgdGhlIGZpbGVzeXN0ZW0gdHlwZSwgYW5kIG5vbmUgd2FzIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAibW91bnTvvJrmiJHnhKHms5XmsbrlrprmqpTmoYjns7vntbHpoZ7lnovvvIzogIzlroPkuKbmnKrooqvmjIflrpoiCisKKyN+IG1zZ2lkICJtb3VudDogeW91IG11c3Qgc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlIgorI34gbXNnc3RyICJtb3VudO+8muaCqOW/hemgiOaMh+WumuaqlOahiOezu+e1semhnuWeiyIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBmYWlsZWQiCisjfiBtc2dzdHIgIm1vdW5077ya5o6b6LyJ5pmC5aSx5pWXIgorCisjfiBtc2dpZCAibW91bnQ6IG1vdW50IHBvaW50ICVzIGlzIG5vdCBhIGRpcmVjdG9yeSIKKyN+IG1zZ3N0ciAibW91bnTvvJrmjpvovInpu54gJXMg5Lim6Z2e55uu6YyEIgorCisjfiBtc2dpZCAibW91bnQ6IHBlcm1pc3Npb24gZGVuaWVkIgorI34gbXNnc3RyICJtb3VudO+8muasiumZkOiiq+aLkiIKKworI34gbXNnaWQgIm1vdW50OiBtdXN0IGJlIHN1cGVydXNlciB0byB1c2UgbW91bnQiCisjfiBtc2dzdHIgIm1vdW5077ya5b+F6aCI5piv57O757Wx566h55CG6ICF5omN6IO95L2/55So5o6b6LyJIgorCisjfiBtc2dpZCAibW91bnQ6IHByb2MgYWxyZWFkeSBtb3VudGVkIgorI34gbXNnc3RyICJtb3VudO+8mnByb2Mg5bey6KKr5o6b6LyJIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGFscmVhZHkgbW91bnRlZCBvciAlcyBidXN5IgorI34gbXNnc3RyICJtb3VudO+8miVzIOW3suiiq+aOm+i8ieaIluiAhSAlcyDlv5nnoozkuK0iCisKKyN+IG1zZ2lkICJtb3VudDogbW91bnQgcG9pbnQgJXMgZG9lcyBub3QgZXhpc3QiCisjfiBtc2dzdHIgIm1vdW5077ya5o6b6LyJ6bueICVzIOS4jeWtmOWcqCIKKworI34gbXNnaWQgIm1vdW50OiBtb3VudCBwb2ludCAlcyBpcyBhIHN5bWJvbGljIGxpbmsgdG8gbm93aGVyZSIKKyN+IG1zZ3N0ciAibW91bnTvvJrmjpvovInpu54gJXMg5piv5LiN5piO5L2N572u55qE56ym6Jmf6YCj57WQIgorCisjfiBtc2dpZCAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0IgorI34gbXNnc3RyICJtb3VudO+8mueJueauiuijnee9riAlcyDkuI3lrZjlnKgiCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHNwZWNpYWwgZGV2aWNlICVzIGRvZXMgbm90IGV4aXN0XG4iCisjfiAiICAgICAgIChhIHBhdGggcHJlZml4IGlzIG5vdCBhIGRpcmVjdG9yeSlcbiIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW5077ya54m55q6K6KOd572uICVzIOS4jeWtmOWcqFxuIgorI34gIiAgICAgICjot6/lvpHliY3ntrTkuKbpnZ7nm67pjIQpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAibW91bnQ6IHdyb25nIGZzIHR5cGUsIGJhZCBvcHRpb24sIGJhZCBzdXBlcmJsb2NrIG9uICVzLFxuIgorI34gIiAgICAgICBtaXNzaW5nIGNvZGVwYWdlIG9yIGhlbHBlciBwcm9ncmFtLCBvciBvdGhlciBlcnJvciIKKyN+IG1zZ3N0ciAiIgorI34gIm1vdW5077ya6Yyv6Kqk5qqU5qGI57O757Wx6aGe5Z6L44CB5LiN55W255qE6YG46aCF44CB5LiN55W255qE6LaF5Y2A5aGK5pa8ICVzLFxuIgorI34gIiAgICAgIOe8uuWwkee3qOeivOmggeaIlui8lOWKqeeoi+W8j++8jOaIluWFtuS7lumMr+iqpCIKKworI34gbXNnaWQgIiIKKyN+ICIgICAgICAgKGNvdWxkIHRoaXMgYmUgdGhlIElERSBkZXZpY2Ugd2hlcmUgeW91IGluIGZhY3QgdXNlXG4iCisjfiAiICAgICAgIGlkZS1zY3NpIHNvIHRoYXQgc3IwIG9yIHNkYSBvciBzbyBpcyBuZWVkZWQ/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAo5piv5ZCm5Y+v6IO95oKo5L2/55SoIElERSDoo53nva7lhbblr6bmmK9cbiIKKyN+ICIgICAgICBpZGUtc2NzaSDlm6DogIzpnIDopoEgc3IwIOaIliBzZGEg5LmL6aGe6KOd572uPykiCisKKyN+IG1zZ2lkICIiCisjfiAiICAgICAgIChhcmVuJ3QgeW91IHRyeWluZyB0byBtb3VudCBhbiBleHRlbmRlZCBwYXJ0aXRpb24sXG4iCisjfiAiICAgICAgIGluc3RlYWQgb2Ygc29tZSBsb2dpY2FsIHBhcnRpdGlvbiBpbnNpZGU/KSIKKyN+IG1zZ3N0ciAiIgorI34gIiAgICAgICAo5oKo5piv5ZCm6Kmm6JGX5o6b6LyJ5pO05YWF5YiG5Ymy5Y2A77yMXG4iCisjfiAiICAgICAg6ICM6Z2e5YW25Lit55qE6YKP6Lyv5YiG5Ymy5Y2AID8pIgorCisjfiBtc2dpZCAiIgorI34gIiAgICAgICBJbiBzb21lIGNhc2VzIHVzZWZ1bCBpbmZvIGlzIGZvdW5kIGluIHN5c2xvZyAtIHRyeVxuIgorI34gIiAgICAgICBkbWVzZyB8IHRhaWwgIG9yIHNvXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgICAgICAg5Zyo5p+Q5Lqb54uA5rOB5LiL77yMc3lzbG9nIOS4reWPr+S7peaJvuWIsOacieeUqOeahOizh+ioiiAtIOWYl+ipplxuIgorI34gIiAgICAgIGRtZXNnIHwgdGFpbCDkuYvpoZ7lkb3ku6RcbiIKKworI34gbXNnaWQgIm1vdW50OiAlczogY2FuJ3QgcmVhZCBzdXBlcmJsb2NrIgorI34gbXNnc3RyICJtb3VudO+8miVzOiDnhKHms5XoroDlj5botoXljYDloYoiCisKKyN+IG1zZ2lkICJtb3VudDogJXM6IHVua25vd24gZGV2aWNlIgorI34gbXNnc3RyICJtb3VudO+8miVzOiDkuI3mmI7nmoToo53nva4iCisKKyN+IG1zZ2lkICJtb3VudDogdW5rbm93biBmaWxlc3lzdGVtIHR5cGUgJyVzJyIKKyN+IG1zZ3N0ciAibW91bnTvvJrkuI3mmI7nmoTmqpTmoYjns7vntbHpoZ7lnovjgIwlc+OAjSIKKworI34gbXNnaWQgIm1vdW50OiBwcm9iYWJseSB5b3UgbWVhbnQgJXMiCisjfiBtc2dzdHIgIm1vdW5077ya5oKo55qE5oSP5oCd5aSn5qaC5pivICVzIgorCisjfiBtc2dpZCAibW91bnQ6IG1heWJlIHlvdSBtZWFudCAnaXNvOTY2MCc/IgorI34gbXNnc3RyICJtb3VudO+8muS5n+ioseaCqOeahOaEj+aAneaYr+OAjGlzbzk2NjDjgI3vvJ8iCisKKyN+IG1zZ2lkICJtb3VudDogbWF5YmUgeW91IG1lYW50ICd2ZmF0Jz8iCisjfiBtc2dzdHIgIm1vdW5077ya5Lmf6Kix5oKo55qE5oSP5oCd5piv44CMdmZhdOOAje+8nyIKKworI34gbXNnaWQgIm1vdW50OiAlcyBoYXMgd3JvbmcgZGV2aWNlIG51bWJlciBvciBmcyB0eXBlICVzIG5vdCBzdXBwb3J0ZWQiCisjfiBtc2dzdHIgIm1vdW5077yaJXMg5pyJ6Yyv6Kqk55qE6KOd572u57eo6Jmf77yM5oiW5piv5LiN5pSv5o+05qqU5qGI57O757Wx6aGe5Z6LICVzIgorCisjfiBtc2dpZCAibW91bnQ6ICVzIGlzIG5vdCBhIGJsb2NrIGRldmljZSwgYW5kIHN0YXQgZmFpbHM/IgorI34gbXNnc3RyICJtb3VudO+8miVzIOS4pumdnuS4gOWAi+WNgOWhiuijnee9ru+8jOiAjOS4lOWPluW+l+eLgOaFi+aZguWkseaVl++8nyIKKworI34gbXNnaWQgIiIKKyN+ICJtb3VudDogdGhlIGtlcm5lbCBkb2VzIG5vdCByZWNvZ25pemUgJXMgYXMgYSBibG9jayBkZXZpY2VcbiIKKyN+ICIgICAgICAgKG1heWJlIGBtb2Rwcm9iZSBkcml2ZXInPykiCisjfiBtc2dzdHIgIiIKKyN+ICJtb3VudO+8muWFp+aguOeEoeazleitmOWIpSAlcyDngrrkuIDlgIvljYDloYroo53nva5cbiIKKyN+ICIgICAgICAo5Lmf6Kix6KaB55So44CMbW9kcHJvYmUgZHJpdmVy44CNPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIChtYXliZSB0cnkgYC1vIGxvb3AnPykiCisjfiBtc2dzdHIgIm1vdW5077yaJXMg5Lim6Z2e5LiA5YCL5Y2A5aGK6KOd572uICjkuZ/oqLHoqaboqabjgIwtbyBsb29w44CNPykiCisKKyN+IG1zZ2lkICJtb3VudDogJXMgaXMgbm90IGEgYmxvY2sgZGV2aWNlIgorI34gbXNnc3RyICJtb3VudO+8miVzIOS4pumdnuS4gOWAi+WNgOWhiuijnee9riIKKworI34gbXNnaWQgIm1vdW50OiAlcyBpcyBub3QgYSB2YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgIm1vdW5077yaJXMg5Lim6Z2e5pyJ5pWI55qE5Y2A5aGK6KOd572uIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbm5vdCBtb3VudCAlcyVzIHJlYWQtb25seSIKKyN+IG1zZ3N0ciAibW91bnTvvJrnhKHms5Xku6XllK/oroDmlrnlvI/mjpvovIkgJXMlcyIKKworI34gbXNnaWQgIm1vdW50OiAlcyVzIGlzIHdyaXRlLXByb3RlY3RlZCBidXQgZXhwbGljaXQgYC13JyBmbGFnIGdpdmVuIgorI34gbXNnc3RyICJtb3VudO+8miVzJXMg54K66Ziy5a+r77yM5L2G5Y275piO56K657Wm5a6a5LqG44CMLXfjgI3ml5fmqJkiCisKKyN+IG1zZ2lkICJtb3VudDogY2Fubm90IHJlbW91bnQgJXMlcyByZWFkLXdyaXRlLCBpcyB3cml0ZS1wcm90ZWN0ZWQiCisjfiBtc2dzdHIgIm1vdW5077ya54Sh5rOV6YeN5paw5bCHICVzJXMg5o6b6LyJ5oiQ5Y+v6K6A5Y+v5a+r77yM5YW254K66Ziy5a+r55qEIgorCisjfiBtc2dpZCAibW91bnQ6ICVzJXMgaXMgd3JpdGUtcHJvdGVjdGVkLCBtb3VudGluZyByZWFkLW9ubHkiCisjfiBtc2dzdHIgIm1vdW5077yaJXMlcyDngrrpmLLlr6vvvIzljbPlsIfku6XllK/oroDmlrnlvI/mjpvovIkiCisKKyN+IG1zZ2lkICJtb3VudDogbm8gbWVkaXVtIGZvdW5kIG9uICVzIgorI34gbXNnc3RyICJtb3VudO+8miVzIOS4reaJvuS4jeWIsOS7u+S9leWqkumrlCIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIG5mcyBiZWNhdXNlIG9mIHRoZSBjb2xvblxuIgorI34gbXNnc3RyICJtb3VudO+8muaykuaciee1puWumuS7u+S9lemhnuWeiyAtIOaIkeWwh+WboOeCuuWGkuiZn+iAjOWBh+ioreaYryBuZnNcbiIKKworI34gbXNnaWQgIm1vdW50OiBubyB0eXBlIHdhcyBnaXZlbiAtIEknbGwgYXNzdW1lIGNpZnMgYmVjYXVzZSBvZiB0aGUgLy8gcHJlZml4XG4iCisjfiBtc2dzdHIgIm1vdW5077ya5rKS5pyJ57Wm5a6a5Lu75L2V6aGe5Z6LIC0g5oiR5bCH5Zug54K6IC8vIOWJjee2tOiAjOWBh+ioreaYryBjaWZzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAibW91bnQ6IGlnbm9yZSAlcyAodW5wYXJzYWJsZSBvZmZzZXQ9IG9wdGlvbilcbiIKKyN+IG1zZ3N0ciAi5o6b6LyJ77ya5b+955WlICVzICh1bnBhcnNhYmxlIOWBj+enuz3pgbjpoIUpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6IG1vdW50IC1WICAgICAgICAgICAgICAgICA6IHByaW50IHZlcnNpb25cbiIKKyN+ICIgICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAgIDogcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiICAgICAgIG1vdW50ICAgICAgICAgICAgICAgICAgICA6IGxpc3QgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAgICAgICBtb3VudCAtbCAgICAgICAgICAgICAgICAgOiBpZGVtLCBpbmNsdWRpbmcgdm9sdW1lIGxhYmVsc1xuIgorI34gIlNvIGZhciB0aGUgaW5mb3JtYXRpb25hbCBwYXJ0LiBOZXh0IHRoZSBtb3VudGluZy5cbiIKKyN+ICJUaGUgY29tbWFuZCBpcyBgbW91bnQgWy10IGZzdHlwZV0gc29tZXRoaW5nIHNvbWV3aGVyZScuXG4iCisjfiAiRGV0YWlscyBmb3VuZCBpbiAvZXRjL2ZzdGFiIG1heSBiZSBvbWl0dGVkLlxuIgorI34gIiAgICAgICBtb3VudCAtYSBbLXR8LU9dIC4uLiAgICAgOiBtb3VudCBhbGwgc3R1ZmYgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICAgICAgIG1vdW50IGRldmljZSAgICAgICAgICAgICA6IG1vdW50IGRldmljZSBhdCB0aGUga25vd24gcGxhY2VcbiIKKyN+ICIgICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAgIDogbW91bnQga25vd24gZGV2aWNlIGhlcmVcbiIKKyN+ICIgICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAgIDogb3JkaW5hcnkgbW91bnQgY29tbWFuZFxuIgorI34gIk5vdGUgdGhhdCBvbmUgZG9lcyBub3QgcmVhbGx5IG1vdW50IGEgZGV2aWNlLCBvbmUgbW91bnRzXG4iCisjfiAiYSBmaWxlc3lzdGVtIChvZiB0aGUgZ2l2ZW4gdHlwZSkgZm91bmQgb24gdGhlIGRldmljZS5cbiIKKyN+ICJPbmUgY2FuIGFsc28gbW91bnQgYW4gYWxyZWFkeSB2aXNpYmxlIGRpcmVjdG9yeSB0cmVlIGVsc2V3aGVyZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJvciBtb3ZlIGEgc3VidHJlZTpcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tb3ZlIG9sZGRpciBuZXdkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBtb3VudCBjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2hhcmVkIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgIG1vdW50IC0tbWFrZS1wcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtdW5iaW5kYWJsZSBkaXJcbiIKKyN+ICJPbmUgY2FuIGNoYW5nZSB0aGUgdHlwZSBvZiBhbGwgdGhlIG1vdW50cyBpbiBhIG1vdW50IHN1YnRyZWVcbiIKKyN+ICJjb250YWluaW5nIHRoZSBkaXJlY3RvcnkgZGlyOlxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJzbGF2ZSBkaXJcbiIKKyN+ICIgICAgICAgbW91bnQgLS1tYWtlLXJwcml2YXRlIGRpclxuIgorI34gIiAgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAiQSBkZXZpY2UgY2FuIGJlIGdpdmVuIGJ5IG5hbWUsIHNheSAvZGV2L2hkYTEgb3IgL2Rldi9jZHJvbSxcbiIKKyN+ICJvciBieSBsYWJlbCwgdXNpbmcgIC1MIGxhYmVsICBvciBieSB1dWlkLCB1c2luZyAgLVUgdXVpZCAuXG4iCisjfiAiT3RoZXIgb3B0aW9uczogWy1uZkZyc3Z3XSBbLW8gb3B0aW9uc10gWy1wIHBhc3N3ZGZkXS5cbiIKKyN+ICJGb3IgbWFueSBtb3JlIGRldGFpbHMsIHNheSAgbWFuIDggbW91bnQgLlxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yabW91bnQgLVYgICAgICAgICAgICAgICAg77ya5Y2w5Ye654mI5pysXG4iCisjfiAiICAgICAgbW91bnQgLWggICAgICAgICAgICAgICAg77ya5Y2w5Ye66YCZ5YCL6Kqq5piOXG4iCisjfiAiICAgICAgbW91bnQgICAgICAgICAgICAgICAgICAg77ya5YiX5Ye65o6b6LyJ55qE5qqU5qGI57O757WxXG4iCisjfiAiICAgICAgbW91bnQgLWwgICAgICAgICAgICAgICAg77yaaWRlbe+8jOWMheWQq+WNt+WGiuaomeexpFxuIgorI34gIuebruWJjeeCuuatouaYr+aciemXnOizh+ioiumDqOWIhuOAguS4i+WIl+aciemXnOaOm+i8ieOAglxuIgorI34gIuWRveS7pOeCuuOAjG1vdW50IFstdCBmc3R5cGVdIHNvbWV0aGluZyBzb21ld2hlcmXjgI3jgIJcbiIKKyN+ICLlnKggL2V0Yy9mc3RhYiDkuK3mib7liLDnmoTntLDnr4DkuZ/oqLHmnIPooqvnnIHnlaXjgIJcbiIKKyN+ICIgICAgICBtb3VudCAtYSBbLXR8LU9d4oCmICAg77ya5L6d5pOaIC9ldGMvZnN0YWIg5o6b6LyJ5omA5pyJ6aCF55uuXG4iCisjfiAiICAgICAgbW91bnQgZGV2aWNlICAgICAgICAgICAg77ya5pa85bey55+l5L2N572u5o6b6LyJ6KOd572uXG4iCisjfiAiICAgICAgbW91bnQgZGlyZWN0b3J5ICAgICAgICAg77ya5Zyo5q2k5o6b6LyJ5bey55+l6KOd572uXG4iCisjfiAiICAgICAgbW91bnQgLXQgdHlwZSBkZXYgZGlyICAg77ya5qiZ5rqW55qE5o6b6LyJ5ZG95LukXG4iCisjfiAi6KaB5rOo5oSP55qE5piv77yM5Lim6Z2e55yf5q2j5Zyw5o6b6LyJ6KOd572u77yM6ICM5piv5o6b6LyJ5LiA5YCLXG4iCisjfiAi5Zyo6KOd572u5Lit5om+5Yiw55qE5qqU5qGI57O757WxICjntablrprnmoTpoZ7lnosp44CCXG4iCisjfiAi5bey57aT5Y+v6KaL55qE55uu6YyE5qi55Lmf5Y+v5Lul6KKr5o6b6LyJ5Yiw5YW25LuW5Zyw5pa577yaXG4iCisjfiAiICAgICAgbW91bnQgLS1iaW5kIG9sZGRpciBuZXdkaXJcbiIKKyN+ICLmiJbmmK/np7vli5XlrZDmqLnvvJpcbiIKKyN+ICIgICAgICBtb3VudCAtLW1vdmUgb2xkZGlyIG5ld2RpclxuIgorI34gIuS5n+WPr+S7peiuiuabtOWMheWQq+ebrumMhCBkaXIg55qE5o6b6LyJ6aGe5Z6L77yaXG4iCisjfiAiICAgICAgbW91bnQgLS1tYWtlLXNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICBtb3VudCAtLW1ha2Utc2xhdmUgZGlyXG4iCisjfiAiICAgICAgbW91bnQgLS1tYWtlLXByaXZhdGUgZGlyXG4iCisjfiAiICAgICAgbW91bnQgLS1tYWtlLXVuYmluZGFibGUgZGlyXG4iCisjfiAi5YyF5ZCr55uu6YyEIGRpciDnmoTmjpvovInlrZDmqLnkuK3miYDmnInmjpvovInnmoTpoZ7lnotcbiIKKyN+ICLpg73lj6/ku6Xorormm7TvvJpcbiIKKyN+ICIgICAgICBtb3VudCAtLW1ha2UtcnNoYXJlZCBkaXJcbiIKKyN+ICIgICAgICBtb3VudCAtLW1ha2UtcnNsYXZlIGRpclxuIgorI34gIiAgICAgIG1vdW50IC0tbWFrZS1ycHJpdmF0ZSBkaXJcbiIKKyN+ICIgICAgICBtb3VudCAtLW1ha2UtcnVuYmluZGFibGUgZGlyXG4iCisjfiAi6KOd572u5Y+v5Lul55Sx5ZCN56ix57Wm5a6a77yM5L6L5aaCIC9kZXYvaGRhMSDmiJYgL2Rldi9jZHJvbe+8jFxuIgorI34gIuaIluaYr+WIqeeUqCAtTCBsYWJlbCDntpPnlLHmqJnnsaTvvIzmiJbmmK/liKnnlKggLVUgdXVpZCDogIzntpPnlLEgdXVpZOOAglxuIgorI34gIuWFtuS7lumBuOmghe+8mlstbmZGcnN2d10gWy1vIG9wdGlvbnNdIFstcCBwYXNzd2RmZF3jgIJcbiIKKyN+ICLopoHnjbLlvpfmm7TlpJrntLDnr4DvvIzlsLHnlKggbWFuIDggbW91bnTjgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBvbmx5IHJvb3QgY2FuIGRvIHRoYXQgKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIgorI34gbXNnc3RyICJtb3VudO+8muWPquaciSByb290IOWPr+S7pemCo+aoo+WBmiAo5pyJ5pWIIFVJRCDmmK8gJXUpIgorCisjfiBtc2dpZCAibW91bnQ6IG9ubHkgcm9vdCBjYW4gZG8gdGhhdCIKKyN+IG1zZ3N0ciAibW91bnTvvJrlj6rmnIkgcm9vdCDlj6/ku6XpgqPmqKPlgZoiCisKKyN+IG1zZ2lkICJub3RoaW5nIHdhcyBtb3VudGVkIgorI34gbXNnc3RyICLmspLmnInmjpvovInku7vkvZXmnbHopb8iCisKKyN+IG1zZ2lkICJtb3VudDogbm8gc3VjaCBwYXJ0aXRpb24gZm91bmQiCisjfiBtc2dzdHIgIm1vdW5077ya5om+5LiN5Yiw5q2k6aGe5YiG5YmyIgorCisjfiBtc2dpZCAibW91bnQ6IGNhbid0IGZpbmQgJXMgaW4gJXMgb3IgJXMiCisjfiBtc2dzdHIgIm1vdW5077ya54Sh5rOV5ZyoICUyJHMg5oiWICUzJHMg5Lit5om+5YiwICUxJHMiCisKKyN+IG1zZ2lkICJbbW50ZW50XTogd2FybmluZzogbm8gZmluYWwgbmV3bGluZSBhdCB0aGUgZW5kIG9mICVzXG4iCisjfiBtc2dzdHIgIlttbnRlbnRd77ya6K2m5ZGK77ya5ZyoICVzIOeahOe1kOWwvuaykuacieacgOW+jOeahOaPm+WIl+Wtl+WFg1xuIgorCisjfiBtc2dpZCAiW21udGVudF06IGxpbmUgJWQgaW4gJXMgaXMgYmFkJXNcbiIKKyN+IG1zZ3N0ciAiW21udGVudF3vvJrlnKggJTIkcyDkuK3nmoTnrKwgJTEkZCDliJfmmK/kuI3nlbbnmoQgJTMkc1xuIgorCisjfiBtc2dpZCAiOyByZXN0IG9mIGZpbGUgaWdub3JlZCIKKyN+IG1zZ3N0ciAi77yb5b+955Wl5qqU5qGI55qE5YW26aSY6YOo5YiGIgorCisjfiBtc2dpZCAibm90IGVub3VnaCBtZW1vcnkiCisjfiBtc2dzdHIgIuiomOaGtumrlOS4jei2syIKKworI34gbXNnaWQgInVtb3VudDogY29tcGlsZWQgd2l0aG91dCBzdXBwb3J0IGZvciAtZlxuIgorI34gbXNnc3RyICJ1bW91bnTvvJrnt6jora/mmYLmnKrmlK/mj7QgLWZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgZ3JvdXAgaWQ6ICVtIgorI34gbXNnc3RyICJ1bW91bnTvvJrnhKHms5XoqK3lrprnvqTntYTorZjliKXomZ/vvJolbSIKKworIywgZnV6enkKKyN+IG1zZ2lkICJ1bW91bnQ6IGNhbm5vdCBzZXQgdXNlciBpZDogJW0iCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleioreWumuS9v+eUqOiAheitmOWIpeiZn++8miVtIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZm9yazogJXMiCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleihjeeUn+Wft+ihjO+8miVzIgorCisjfiBtc2dpZCAidW1vdW50OiAlczogaW52YWxpZCBibG9jayBkZXZpY2UiCisjfiBtc2dzdHIgInVtb3VudO+8miVzOiDnhKHmlYjnmoTljYDloYroo53nva4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBub3QgbW91bnRlZCIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXM6IOacquaOm+i8iSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IGNhbid0IHdyaXRlIHN1cGVyYmxvY2siCisjfiBtc2dzdHIgInVtb3VudO+8miVzOiDnhKHms5Xlr6vlhaXotoXljYDloYoiCisKKyN+IG1zZ2lkICIiCisjfiAidW1vdW50OiAlczogZGV2aWNlIGlzIGJ1c3kuXG4iCisjfiAiICAgICAgICAoSW4gc29tZSBjYXNlcyB1c2VmdWwgaW5mbyBhYm91dCBwcm9jZXNzZXMgdGhhdCB1c2VcbiIKKyN+ICIgICAgICAgICB0aGUgZGV2aWNlIGlzIGZvdW5kIGJ5IGxzb2YoOCkgb3IgZnVzZXIoMSkpIgorI34gbXNnc3RyICIiCisjfiAidW1vdW5077yaJXPvvJroo53nva7lv5nnoozkuK3jgIJcbiIKKyN+ICIgICAgICAgICjlnKjmn5Dkupvmg4Xms4HkuIvpl5zmlrzkvb/nlKjoqbLoo53nva7kuYvooYznqIvnmoRcbiIKKyN+ICIgICAgICAgICDmnInnlKjos4foqIrvvIzlj6/ku6Xol4nnlLEgbHNvZig4KSDmiJYgZnVzZXIoMSkg5om+5YiwKSIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG5vdCBmb3VuZCIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXM6IOaJvuS4jeWIsCIKKworI34gbXNnaWQgInVtb3VudDogJXM6IG11c3QgYmUgc3VwZXJ1c2VyIHRvIHVtb3VudCIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXM6IOW/hemgiOaYr+ezu+e1seeuoeeQhuiAheaJjeiDvSB1bW91bnQiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiBibG9jayBkZXZpY2VzIG5vdCBwZXJtaXR0ZWQgb24gZnMiCisjfiBtc2dzdHIgInVtb3VudO+8miVzOiDljYDloYroo53nva7lnKjmqpTmoYjns7vntbHkuK3kuI3ooqvlhYHoqLEiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzOiAlcyIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXM6ICVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogaW50ZXJuYWwgZXJyb3I6IGludmFsaWQgYWJzIHBhdGg6ICVzIgorI34gbXNnc3RyICJ1bW91bnTvvJrlhafpg6jpjK/oqqTvvJrnhKHmlYjnmoQgYWJzIOi3r+W+ke+8miVzIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIGNoZGlyIHRvICVzOiAlbSIKKyN+IG1zZ3N0ciAidW1vdW5077ya54Sh5rOVIGNoZGlyIOWIsCAlc++8miVtIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogZmFpbGVkIHRvIG9idGFpbiBjdXJyZW50IGRpcmVjdG9yeTogJW0iCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleW+l+WIsOebruWJjeeahOebrumMhO+8miVtIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogbW91bnRwb2ludCBtb3ZlZCAoJXMgLT4gJXMpIgorI34gbXNnc3RyICJ1bW91bnTvvJptb3VudHBvaW50IOenu+WLlSAoJXMgLT4gJXMpIgorCisjLCBmdXp6eQorI34gbXNnaWQgImN1cnJlbnQgZGlyZWN0b3J5IG1vdmVkIHRvICVzXG4iCisjfiBtc2dzdHIgIuebruWJjeeahOebrumMhOenu+WLleWIsCAlc1xuIgorCisjfiBtc2dpZCAibm8gdW1vdW50MiwgdHJ5aW5nIHVtb3VudC4uLlxuIgorI34gbXNnc3RyICLmspLmnIkgdW1vdW50Miwg6Kmm6KmmIHVtb3VudOKAplxuIgorCisjfiBtc2dpZCAidW1vdW50OiAlcyBidXN5IC0gcmVtb3VudGVkIHJlYWQtb25seVxuIgorI34gbXNnc3RyICJ1bW91bnTvvJolcyDlv5nnoozkuK0gLSDlt7Lph43mlrDku6XllK/oroDmjpvovIlcbiIKKworI34gbXNnaWQgInVtb3VudDogY291bGQgbm90IHJlbW91bnQgJXMgcmVhZC1vbmx5XG4iCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleS7peWUr+iugOmHjeaWsOaOm+i8iSAlc1xuIgorCisjfiBtc2dpZCAiJXMgaGFzIGJlZW4gdW5tb3VudGVkXG4iCisjfiBtc2dzdHIgIiVzIOW3suWNuOi8iVxuIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgZmluZCBsaXN0IG9mIGZpbGVzeXN0ZW1zIHRvIHVubW91bnQiCisjfiBtc2dzdHIgInVtb3VudO+8muaJvuS4jeWIsOWPr+WNuOi8ieaqlOahiOezu+e1seeahOWIl+ihqCIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogdW1vdW50IC1oIHwgLVZcbiIKKyN+ICIgICAgICAgdW1vdW50IC1hIFstZF0gWy1mXSBbLXJdIFstbl0gWy12XSBbLXQgdmZzdHlwZXNdIFstTyBvcHRzXVxuIgorI34gIiAgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIHNwZWNpYWwgfCBub2RlLi4uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJp1bW91bnQgLWggfCAtVlxuIgorI34gIiAgICAgIHVtb3VudCAtYSBbLWRdIFstZl0gWy1yXSBbLW5dIFstdl0gWy10IHZmc3R5cGVzXSBbLU8gb3B0c11cbiIKKyN+ICIgICAgICB1bW91bnQgWy1kXSBbLWZdIFstcl0gWy1uXSBbLXZdIOeJueauiiB8IOevgOm7nuKAplxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImZhaWxlZCB0byBwYXJzZSAnb2Zmc2V0PSVzJyBvcHRpb25zXG4iCisjfiBtc2dzdHIgIuWJluaekOOAjuWBj+enu+aZguWkseaVlz0lc+OAj+mBuOmghVxuIgorCisjfiBtc2dpZCAiZGV2aWNlICVzIGlzIGFzc29jaWF0ZWQgd2l0aCAlc1xuIgorI34gbXNnc3RyICLoo53nva4gJXMg6IiHICVzIOacieaJgOmXnOiBr1xuIgorCisjfiBtc2dpZCAiQ2Fubm90IHVubW91bnQgXCJcIlxuIgorI34gbXNnc3RyICLnhKHms5XljbjovInjgIzjgI1cbiIKKworI34gbXNnaWQgInVtb3VudDogY29uZnVzZWQgd2hlbiBhbmFseXppbmcgbXRhYiIKKyN+IG1zZ3N0ciAidW1vdW5077ya5YiG5p6QIG10YWIg5pmC5oSf5Yiw5Zuw5oORIgorCisjfiBtc2dpZCAidW1vdW50OiBjYW5ub3QgdW5tb3VudCAlcyAtLSAlcyBpcyBtb3VudGVkIG92ZXIgaXQgb24gdGhlIHNhbWUgcG9pbnQiCisjfiBtc2dzdHIgInVtb3VudO+8mueEoeazleWNuOi8iSAlcyAtLSAlcyDooqvmjpvovInmlrznm7jlkIzpu57kuYvkuIoiCisKKyN+IG1zZ2lkICJDb3VsZCBub3QgZmluZCAlcyBpbiBtdGFiXG4iCisjfiBtc2dzdHIgIuWcqCBtdGFiIOS4reaJvuS4jeWIsCAlc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgInVtb3VudDogd2FybmluZzogJXMgaXMgYXNzb2NpYXRlZCB3aXRoIG1vcmUgdGhhbiBvbmUgbG9vcCBkZXZpY2VcbiIKKyN+IG1zZ3N0ciAidW1vdW5077ya6K2m5ZGK77yaJXMg6KKr6Zec6IGv55qE6IiH6LaF6YGO5LiA5YCL6L+05ZyI6KOd572uXG4iCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBtb3VudGVkIChhY2NvcmRpbmcgdG8gbXRhYikiCisjfiBtc2dzdHIgInVtb3VudO+8miVzIOacquaOm+i8iSAo5qC55pOaIG10YWIpIgorCisjfiBtc2dpZCAidW1vdW50OiBpdCBzZWVtcyAlcyBpcyBtb3VudGVkIG11bHRpcGxlIHRpbWVzIgorI34gbXNnc3RyICJ1bW91bnTvvJolcyDkvLzkuY7lt7LooqvlpJrmrKHmjpvovIkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIGlzIG5vdCBpbiB0aGUgZnN0YWIgKGFuZCB5b3UgYXJlIG5vdCByb290KSIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXMg5Lim5LiN5ZyoIGZzdGFiIOS5i+S4rSjogIzkuJTmgqjkuI3mmK8gcm9vdCkiCisKKyN+IG1zZ2lkICJ1bW91bnQ6ICVzIG1vdW50IGRpc2FncmVlcyB3aXRoIHRoZSBmc3RhYiIKKyN+IG1zZ3N0ciAidW1vdW5077yaJXMg5o6b6LyJ6IiHIGZzdGFiIOS4jeebuOespiIKKworI34gbXNnaWQgInVtb3VudDogb25seSAlcyBjYW4gdW5tb3VudCAlcyBmcm9tICVzIgorI34gbXNnc3RyICJ1bW91bnTvvJrlj6rmnIkgJTEkcyDlj6/ku6Xlvp4gJTMkcyDljbjovIkgJTIkcyIKKworI34gbXNnaWQgInVtb3VudDogb25seSByb290IGNhbiBkbyB0aGF0IgorI34gbXNnc3RyICJ1bW91bnTvvJrlj6rmnIkgcm9vdCDlj6/ku6XpgqPmqKPlgZoiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIiUxJHMgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgICUxJHMgW09QVElPTl0gLXAgUElEIFtQSUQuLi5dXG4iCisjfiAiICAlMSRzIFtPUFRJT05dIENPTU1BTkRcbiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWMsIC0tY2xhc3MgPGNsYXNzPiAgIHNjaGVkdWxpbmcgY2xhc3MgbmFtZSBvciBudW1iZXJcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIKKyN+ICIgIC1uLCAtLWNsYXNzZGF0YSA8bnVtPiBzY2hlZHVsaW5nIGNsYXNzIGRhdGFcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcgZm9yIHJlYWx0aW1lIGFuZCBiZXN0LWVmZm9ydCBjbGFzc2VzXG4iCisjfiAiICAtcCwgLS1waWQ9UElEICAgICAgICAgdmlldyBvciBtb2RpZnkgYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NcbiIKKyN+ICIgIC10LCAtLWlnbm9yZSAgICAgICAgICBpZ25vcmUgZmFpbHVyZXNcbiIKKyN+ICIgIC1WLCAtLXZlcnNpb24gICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICIlMSRzIC0g6ZuG5ZCI5oiW5o+Q5Y+W6JmV55CGIGlvIOaOkueoi+mhnuWIpeWSjOWEquWFiOasiuOAglxuIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAgJTEkcyBb6YG46aCFXSAtcCBQSUQgW1BJRC4uLl1cbiIKKyN+ICIgICUxJHMgW+mBuOmghV0g5ZG95LukXG4iCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiICAtYywgLS1jbGFzcyA8Y2xhc3M+ICAg5o6S56iL6aGe5Yil5ZCN56ix5oiW5pW45a2XXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgMDrnhKHvvIwxOnJlYWx0aW1l77yMMjrnm6HlipvvvIwzOumWkue9rlxuIgorI34gIiAgLW4sIC0tY2xhc3NkYXRhPG51bT7mjpLnqIvpoZ7liKXos4fmlplcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAwLTcg55So5pa8IHJlYWx0aW1lIOWSjOeboeWKm+mhnuWIpVxuIgorI34gIiAgLXAsIC0tcGlkPVBJRCAgICAgICAgIOaqouimluaIluS/ruaUueW3sue2k+Wft+ihjOS4reiZleeQhlxuIgorI34gIiAgLXQsIC0taWdub3JlICAgICAgICAgIOW/veeVpeWkseaVl1xuIgorI34gIiAgLVYsIC0tdmVyc2lvbiAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAgLWgsIC0taGVscCAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSB0YXNrc2V0KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIHRhc2tzZXQoMSnjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgJXMgW29wdGlvbnNdIDx0dHk+IFsuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YG46aCFXSA8dHR5PiBbLi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxudW0+ICAgICAgICAgIHNldCBpbnRlcnJ1cHRpb24gdGhyZXNob2xkIHZhbHVlXG4iCisjfiBtc2dzdHIgIiAtcywgLS1zZXQtdGhyZXNob2xkIDxudW0+ICAgICAgICAgIOioreWumuaPkuaWt+iHqOeVjOWAvFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtUywgLS1zZXQtZGVmYXVsdC10aHJlc2hvbGQgPG51bT4gIHNldCBkZWZhdWx0IHRocmVzaG9sZCB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVMsIC0tc2V0LWRlZmF1bHQtdGhyZXNob2xkIDxudW0+ICDoqK3lrprpoJDoqK3oh6jnlYzlgLxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICBzZXQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLXQsIC0tc2V0LWZsdXNoIDxudW0+ICAgICAgICAgICAgICDoqK3lrprmuIXnkIbpgL7mmYLliLDlgLxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICBzZXQgdGhlIGRlZmF1bHQgZmx1c2ggdGltZW91dCB0byB2YWx1ZVxuIgorI34gbXNnc3RyICIgLVQsIC0tc2V0LWRlZmF1bHQtZmx1c2ggPG51bT4gICAgICDoqK3lrprpoJDoqK3muIXnkIbpgL7mmYLliLDlgLxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWksIC0taW50ZXJ2YWwgPHNlY29uZHM+ICAgICAgICAgICBnYXRoZXIgc3RhdGlzdGljcyBldmVyeSA8c2Vjb25kcz4gaW50ZXJ2YWxcbiIKKyN+IG1zZ3N0ciAiIC1pLCAtLWludGVydmFsIDxzZWNvbmRzPiAgICAgICAgICAg56mN6IGa57Wx6KiI5q+PPOenkj7plpPpmpRcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiRmlsZSAlcywgRm9yIHRocmVzaG9sZCB2YWx1ZSAlbHUsIE1heGltdW0gY2hhcmFjdGVycyBpbiBmaWZvIHdlcmUgJWQsXG4iCisjfiAiYW5kIHRoZSBtYXhpbXVtIHRyYW5zZmVyIHJhdGUgaW4gY2hhcmFjdGVycy9zZWNvbmQgd2FzICVmIgorI34gbXNnc3RyICIiCisjfiAi5qqU5qGIICVz77yM55So5pa86Ieo55WM5YC8ICVsde+8jOacgOWkp+WAvOWtl+WFg+WcqOS4rSBmaWZvIOaYryAlZO+8jFxuIgorI34gIuWSjOacgOWkp+WAvOi9iemAgemAn+eOh+WcqOS4reWtl+WFgy/np5LmmK8gJWYiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIkZpbGUgJXMsIEZvciB0aHJlc2hvbGQgdmFsdWUgJWx1IGFuZCB0aW1lb3V0IHZhbHVlICVsdSwgTWF4aW11bSBjaGFyYWN0ZXJzIGluIGZpZm8gd2VyZSAlZCxcbiIKKyN+ICJhbmQgdGhlIG1heGltdW0gdHJhbnNmZXIgcmF0ZSBpbiBjaGFyYWN0ZXJzL3NlY29uZCB3YXMgJWYiCisjfiBtc2dzdHIgIiIKKyN+ICLmqpTmoYggJXPvvIznlKjmlrzoh6jnlYzlgLwgJWx1IOWSjOmAvuaZguWAvCAlbHXvvIzmnIDlpKflgLzlrZflhYPlnKjkuK0gZmlmbyDmmK8gJWTvvIxcbiIKKyN+ICLlkozmnIDlpKflgLzovYnpgIHpgJ/njoflnKjkuK3lrZflhYMv56eS5pivICVmIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBpc3N1ZSBDWUdFVE1PTiBvbiAlcyIKKyN+IG1zZ3N0ciAi54Sh5rOV6K2w6aGMIENZR0VUTU9OIOaWvCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRocmVzaG9sZCBmb3IgJXMiCisjfiBtc2dzdHIgIueEoeazleaPkOWPluiHqOeVjOWAvOeUqOaWvCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYW5ub3QgZ2V0IHRpbWVvdXQgZm9yICVzIgorI34gbXNnc3RyICLnhKHms5Xmj5Dlj5bpgL7mmYLnlKjmlrwgJXMiCisKKyN+IG1zZ2lkICIlczogJWx1IGludHMsICVsdS8lbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlc++8miVsdSDplpPpmpTlgLzvvIwlbHUvJWx1IOWtl+WFg+WAvO+8m2ZpZm/vvJolbHUg6Ieo55WM5YC877yMJWx1IOmAvuaZguWAvO+8jCVsdSDmnIDlpKflgLzvvIwlbHUg55W25YmN5YC8XG4iCisKKyN+IG1zZ2lkICIgICAlZiBpbnQvc2VjOyAlZiByZWMsICVmIHNlbmQgKGNoYXIvc2VjKVxuIgorI34gbXNnc3RyICIgICAlZiDplpPpmpQv56eS77ybJWYg6KiY6YyE77yMJWYg55m86YCBICjlrZflhYMv56eSKVxuIgorCisjfiBtc2dpZCAiJXM6ICVsdSBpbnRzLCAlbHUgY2hhcnM7IGZpZm86ICVsdSB0aHJlc2gsICVsdSB0bW91dCwgJWx1IG1heCwgJWx1IG5vd1xuIgorI34gbXNnc3RyICIlc++8miVsdSDplpPpmpTlgLzvvIwlbHUg5a2X5YWD5YC877ybZmlmb++8miVsdSDoh6jnlYzlgLzvvIwlbHUg6YC+5pmC5YC877yMJWx1IOacgOWkp+WAvO+8jCVsdSDnlbbliY3lgLxcbiIKKworI34gbXNnaWQgIiAgICVmIGludC9zZWM7ICVmIHJlYyAoY2hhci9zZWMpXG4iCisjfiBtc2dzdHIgIiAgICVmIOmWk+malC/np5LvvJslZiDoqJjpjIQgKOWtl+WFgy/np5IpXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBpbnRlcnZhbCB2YWx1ZSIKKyN+IG1zZ3N0ciAi54Sh5pWI55qE6ZaT6ZqU5YC8IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgaW50ZXJ2YWwgdmFsdWU6ICVkIgorI34gbXNnc3RyICLnhKHmlYjnmoTplpPpmpTlgLzvvJolZCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIueEoeaViOeahOioreWumuWAvO+8miVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZSIKKyN+IG1zZ3N0ciAi54Sh5pWI55qE6aCQ6Kit5YC8IgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgZGVmYXVsdCB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIueEoeaViOeahOmgkOioreWAvO+8miVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgIkludmFsaWQgc2V0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIueEoeaViOeahOioreWumuaZgumWk+WAvCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIHNldCB0aW1lIHZhbHVlOiAlZCIKKyN+IG1zZ3N0ciAi54Sh5pWI55qE6Kit5a6a5pmC6ZaT5YC877yaJWQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiSW52YWxpZCBkZWZhdWx0IHRpbWUgdmFsdWUiCisjfiBtc2dzdHIgIueEoeaViOeahOmgkOioreaZgumWk+WAvCIKKworIywgZnV6enkKKyN+IG1zZ2lkICJJbnZhbGlkIGRlZmF1bHQgdGltZSB2YWx1ZTogJWQiCisjfiBtc2dzdHIgIueEoeaViOeahOmgkOioreaZgumWk+WAvO+8miVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGhyZXNob2xkICVkIgorI34gbXNnc3RyICLnhKHms5XoqK3lrpogJXMg5Yiw6Ieo55WM5YC8ICVkIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNhbm5vdCBzZXQgJXMgdG8gdGltZSB0aHJlc2hvbGQgJWQiCisjfiBtc2dzdHIgIueEoeazleioreWumiAlcyDliLDmmYLplpPoh6jnlYzlgLwgJWQiCisKKyN+IG1zZ2lkICIlczogJWxkIGN1cnJlbnQgdGhyZXNob2xkIGFuZCAlbGQgY3VycmVudCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVz77yaJWxkIOeCuuebruWJjeiHqOeVjOWAvOS7peWPiiAlbGQg54K655uu5YmN6YC+5pmC5YC8XG4iCisKKyN+IG1zZ2lkICIlczogJWxkIGRlZmF1bHQgdGhyZXNob2xkIGFuZCAlbGQgZGVmYXVsdCB0aW1lb3V0XG4iCisjfiBtc2dzdHIgIiVz77yaJWxkIOeCuumgkOioreiHqOeVjOWAvOS7peWPiiAlbGQg54K66aCQ6Kit6YC+5pmC5YC8XG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiLS1ub3RpbWUgY2FuJ3QgYmUgdXNlZCB0b2dldGhlciB3aXRoIC0tY3RpbWUgb3IgLS1yZWx0aW1lIgorI34gbXNnc3RyICItLW5vdGltZSDnhKHms5Xkvb/nlKjnmoTkuIDotbfoiIcgLS1jdGltZSDmiJYgLS1yZWx0aW1lIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBpcyByZW1vdmFibGUgZGV2aWNlIgorI34gbXNnc3RyICIlc++8muaYr+WPr+enu+mZpOeahOijnee9riIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogY29ubmVjdGVkIGJ5IGhvdHBsdWcgc3Vic3lzdGVtOiAlcyIKKyN+IG1zZ3N0ciAiJXPvvJrpgKPnt5rnlLEgaG90cGx1ZyDlrZDns7vntbHvvJolcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1uLCAtLWtlZXAtc2l6ZSAgICAgZG9uJ3QgbW9kaWZ5IHRoZSBsZW5ndGggb2YgdGhlIGZpbGVcbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICBwdW5jaCBob2xlcyBpbiB0aGUgZmlsZVxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gIG9mZnNldCBvZiB0aGUgYWxsb2NhdGlvbiwgaW4gYnl0ZXNcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgdGhlIGFsbG9jYXRpb24sIGluIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW4sIC0ta2VlcC1zaXplICAgICDkuI3kv67mlLnplbfluqbnmoTmqpTmoYhcbiIKKyN+ICIgLXAsIC0tcHVuY2gtaG9sZSAgICDmiZPlrZTmvI/mtJ7lnKjkuK3mqpTmoYhcbiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICDlgY/np7vnmoTphY3poY3vvIzlnKjkuK3kvY3lhYPntYRcbiIKKyN+ICIgLWwsIC0tbGVuZ3RoPG51bT4g6ZW35bqm55qE6YWN6aGN77yM5Zyo5Lit5L2N5YWD57WEXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidGltZW91dCBjYW5ub3QgYmUgemVybyIKKyN+IG1zZ3N0ciAi6YC+5pmC54Sh5rOV6Zu2IgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iCisjfiAiIC1sLCAtLWxlbmd0aCA8bnVtPiAgbGVuZ3RoIG9mIGJ5dGVzIHRvIGRpc2NhcmQgZnJvbSB0aGUgb2Zmc2V0XG4iCisjfiAiIC1tLCAtLW1pbmltdW0gPG51bT4gbWluaW11bSBleHRlbnQgbGVuZ3RoIHRvIGRpc2NhcmRcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW8sIC0tb2Zmc2V0IDxudW0+ICDlgY/np7vlnKjkuK3kvY3lhYPntYTliLDmjajmo4Tlvp5cbiIKKyN+ICIgLWwsIC0tbGVuZ3RoPG51bT4g6ZW35bqm55qE5L2N5YWD57WE5Yiw5o2o5qOE5b6e5YGP56e7XG4iCisjfiAiIC1tLCAtLW1pbmltdW08bnVtPuacgOWwj+W7tuS8uOmVt+W6puWIsOaNqOajhFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgIOWIl+WNsOaNqOajhOeahOS9jeWFg+e1hOaVuOmHj1xuIgorCisjfiBtc2dpZCAiIgorI34gIlRpbWUgZWxhcHNlZCBzaW5jZSByZWZlcmVuY2UgdGltZSBoYXMgYmVlbiAlLjZmIHNlY29uZHMuXG4iCisjfiAiRGVsYXlpbmcgZnVydGhlciB0byByZWFjaCB0aGUgbmV3IHRpbWUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLlvp7lj4PogIPmmYLplpPotbfnrpflt7LntpPpgY4gJS42ZiDnp5LjgIJcbiIKKyN+ICLlpJrlu7bpgbLkuIDpu57ku6XpgZTliLDmlrDnmoTmmYLplpPjgIJcbiIKKworI34gbXNnaWQgIk5lZWQgdG8gaW5zZXJ0ICVkIHNlY29uZHMgYW5kIHJlZmVyIHRpbWUgYmFjayAlLjZmIHNlY29uZHMgYWdvXG4iCisjfiBtc2dzdHIgIumcgOimgeaPkuWFpSAlZCDnp5LkuKblm57muq/lj4PogIMgJS42ZiDnp5LkuYvliY3nmoTmmYLplpNcbiIKKworI34gbXNnaWQgIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tIEtER0hXQ0xLIHRvIGNoYW5nZVxuIgorI34gbXNnc3RyICLlvqrnkrDnrYnlvoXoh6ogS0RHSFdDTEsg6K6K5pu06LW355qE5pmC6ZaTXG4iCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDoroDlj5bmmYLplpPlpLHmlZciCisKKyN+IG1zZ2lkICJLREdIV0NMSyBpb2N0bCB0byByZWFkIHRpbWUgZmFpbGVkIGluIGxvb3AiCisjfiBtc2dzdHIgIktER0hXQ0xLIGlvY3RsIOiugOWPluaZgumWk+aWvOW+queSsOS4reWkseaVlyIKKworI34gbXNnaWQgImlvY3RsKCkgZmFpbGVkIHRvIHJlYWQgdGltZSBmcm9tICVzIgorI34gbXNnc3RyICJpb2N0bCgpIOW+niAlcyDoroDlj5bmmYLplpPlpLHmlZciCisKKyN+IG1zZ2lkICJpb2N0bCBLRFNIV0NMSyBmYWlsZWQiCisjfiBtc2dzdHIgImlvY3RsIEtEU0hXQ0xLIOWkseaVlyIKKworI34gbXNnaWQgIkNhbid0IG9wZW4gL2Rldi90dHkxIG9yIC9kZXYvdmMvMSIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfIC9kZXYvdHR5MSDmiJYgL2Rldi92Yy8xIgorCisjfiBtc2dpZCAiS0RHSFdDTEsgaW9jdGwgZmFpbGVkIgorI34gbXNnc3RyICJLREdIV0NMSyBpb2N0bCDlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWQsIC0tZGV0YWNoIDxsb29wZGV2PiBbLi4uXSAgZGV0YWNoIG9uZSBvciBtb3JlIGRldmljZXNcbiIKKyN+ICIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAgZmluZCBmaXJzdCB1bnVzZWQgZGV2aWNlXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eSA8bG9vcGRldj4gIHJlc2l6ZSBkZXZpY2VcbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZCA8ZmlsZT4gICAgICAgbGlzdCBhbGwgZGV2aWNlcyBhc3NvY2lhdGVkIHdpdGggPGZpbGU+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgICAgICAg5YiX5Ye65omA5pyJ5L2/55So55qE6KOd572uXG4iCisjfiAiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4gWy4uLl0gIOWNuOmbouS4gOaIluWkmuWAi+ijnee9rlxuIgorI34gIiAtRCwgLS1kZXRhY2gtYWxsICAgICAgICAgICAgICDljbjpm6LmiYDmnInkvb/nlKjnmoToo53nva5cbiIKKyN+ICIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICAgICAg5bCL5om+5YWI5pyq5L2/55So55qE6KOd572uXG4iCisjfiAiIC1jLCAtLXNldC1jYXBhY2l0eTxsb29wZGV2PiDoqr/mlbTlpKflsI/oo53nva5cbiIKKyN+ICIgLWosIC0tYXNzb2NpYXRlZDzmqpTmoYg+ICAgICAg5YiX5Ye65omA5pyJ6KOd572u6Zec6IGv55qE6IiHPOaqlOahiD5cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJmaW5kIHVudXNlZCBsb29wIGRldmljZSBmYWlsZWQiCisjfiBtc2dzdHIgIuWwi+aJvuacquS9v+eUqOeahOi/tOWciOijnee9ruWkseaVlyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgZGV0YWlscyBzZWUgbHNjcHUoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLku6XnjbLlvpfmm7TlpJrntLDnr4Dlj4PnnIsgbHNjcHUgKDEp44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzIFtvcHRpb25zXSA8cHJvZ3JhbT4gW2FyZ3MuLi5dXG4iCisjfiBtc2dzdHIgIiAlcyBb6YG46aCFXSA8cHJvZ3JhbT4gW+W8leaVuC4uLl1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1nLCAtLXBncnAgPGlkPiAgICAgICAgaW50ZXJwcmV0IGFyZ3VtZW50IGFzIHByb2Nlc3MgZ3JvdXAgSURcbiIKKyN+ICIgLW4sIC0tcHJpb3JpdHkgPG51bT4gICBzcGVjaWZ5IHRoZSBuaWNlIGluY3JlbWVudCB2YWx1ZVxuIgorI34gIiAtcCwgLS1waWQgPGlkPiAgICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIElEIChkZWZhdWx0KVxuIgorI34gIiAtdSwgLS11c2VyIDxuYW1lfGlkPiAgIGludGVycHJldCBhcmd1bWVudCBhcyB1c2VybmFtZSBvciB1c2VyIElEXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgZGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICBkaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIOino+itr+WBmueCuuiZleeQhue+pOe1hOitmOWIpeiZn1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOWIl+WNsOiqquaYjlxuIgorI34gIiAtbiwgLS1wcmlvcml0eTxudW0+ICDoqK3lrprlpb3pgZ7lop7lgLxcbiIKKyN+ICIgLXAsIC0tcGlkPOitmOWIpeiZnz4gICAgICAgIOW8t+WItueCuuino+itr+eahOWBmueCuuiZleeQhuitmOWIpeiZn1xuIgorI34gIiAtdSwgLS11c2VyPOWQjeeosXzorZjliKXomZ8+ICDop6Pora/lgZrngrrkvb/nlKjogIXlkI3nqLHmiJbkvb/nlKjogIXorZjliKXomZ9cbiIKKyN+ICIgLXYsIC0tdmVyc2lvbiAgICAgICAgICDljbDlh7rniYjmnKxcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIHJlbmljZSgxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuimgeeNsuW+l+abtOWkmuizh+ioiuiri+WPg+eciyByZW5pY2UgKDEp44CCXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiICVzJXMgW29wdGlvbnNdIFtwcm9ncmFtIFtwcm9ncmFtIGFyZ3VtZW50c11dXG4iCisjfiBtc2dzdHIgIiAlcyVzIFvpgbjpoIVdIFvnqIvlvI8gW+eoi+W8j+W8leaVuF1dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiIC1kLCAtLWRpc2NhcmQgICAgICAgICAgZGlzY2FyZCBmcmVlZCBwYWdlcyBiZWZvcmUgdGhleSBhcmUgcmV1c2VkXG4iCisjfiAiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgc2lsZW50bHkgc2tpcCBkZXZpY2VzIHRoYXQgZG8gbm90IGV4aXN0XG4iCisjfiAiIC1mLCAtLWZpeHBnc3ogICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gIHNwZWNpZnkgdGhlIHByaW9yaXR5IG9mIHRoZSBzd2FwIGRldmljZVxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlc1xuIgorI34gIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dIGRpc3BsYXkgc3VtbWFyeSBpbiBkZWZpbmFibGUgdGFibGVcbiIKKyN+ICIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncywgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCwgdXNlIHdpdGggLS1zaG93XG4iCisjfiAiICAgICAtLWJ5dGVzICAgICAgICAgICAgZGlzcGxheSBzd2FwIHNpemUgaW4gYnl0ZXMgaW4gLS1zaG93IG91dHB1dFxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAg5YWo6YOo5ZWf55So5Lqk5o+b5b6eL2V0Yy9mc3RhYlxuIgorI34gIiAtZCwgLS1kaXNjYXJkICAgICAgICAgIOaNqOajhOiHqueUseeahOmggemdouS5i+WJjeWug+WAkeiiq+mHjeaWsOS9v+eUqFxuIgorI34gIiAtZSwgLS1pZmV4aXN0cyAgICAgICAgIOWvgumdnOeahOi3s+mBjuijnee9ruipsuS4jeWtmOWcqFxuIgorI34gIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgIOmHjeaWsOWIneWni+WMluS6pOaPm+epuumWk+WmguaenOW/heimgeeahOipsVxuIgorI34gIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gIOaMh+WumuWEquWFiOasiueahOS6pOaPm+ijnee9rlxuIgorI34gIiAtcywgLS1zdW1tYXJ5ICAgICAgICAgIOmhr+ekuuamguimgemXnOaWvOS9v+eUqOeahOS6pOaPm+ijnee9rlxuIgorI34gIiAgICAgLS1zaG93IFs9POashOS9jT5dIOmhr+ekuuamguimgeWcqOS4rSBkZWZpbmFibGUg6KGo5qC8XG4iCisjfiAiICAgICAtLW5vaGVhZGluZ3MgICAgICAg5LiN5YiX5Y2w5qiZ6aCt77yM5L2/55So6IiHIC0tc2hvd1xuIgorI34gIiAgICAgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+Wni+i8uOWHuuagvOW8j++8jOS9v+eUqOiIhyAtLXNob3dcbiIKKyN+ICIgICAgIC0tYnl0ZXMgICAgICAgICAgICDpoa/npLrkuqTmj5vlpKflsI/lnKjkuK3kvY3lhYPntYTlnKjkuK0gLS1zaG93IOi8uOWHulxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgIOips+e0sOaooeW8j1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgb3V0cHV0IGhlbHAgc2NyZWVuIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICDovLjlh7roqqrmmI7nlavpnaLnhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiBtc2dzdHIgIiAgWyAtdGVybSB0ZXJtaW5hbF9uYW1lXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVzZXRcbiIKKyN+IG1zZ3N0ciAiICBbIC1yZXNldCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1pbml0aWFsaXplXG4iCisjfiBtc2dzdHIgIiAgWyAtaW5pdGlhbGl6ZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jdXJzb3IgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1jdXJzb3IgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcmVwZWF0IDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmVwZWF0IFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1hcHBjdXJzb3JrZXlzIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtbGluZXdyYXAgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtZGVmYXVsdFxuIgorI34gbXNnc3RyICIgIFsgLWRlZmF1bHQgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWludmVyc2VzY3JlZW4gW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYm9sZCA8b258b2ZmPlxuIgorI34gbXNnc3RyICIgIFsgLWJvbGQgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxpbmsgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGluayBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtcmV2ZXJzZSBbb258b2ZmXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+IG1zZ3N0ciAiICBbIC11bmRlcmxpbmUgW29ufG9mZl0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtc3RvcmVcbiIKKyN+IG1zZ3N0ciAiICBbIC1zdG9yZSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbGVhciA8YWxsfHJlc3Q+XG4iCisjfiBtc2dzdHIgIiAgWyAtY2xlYXIgW2FsbHxyZXN0XSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC10YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC10YWJzIFsgdGFiMSB0YWIyIHRhYjMg4oCmIF0gXSAgICAgICh0YWJuID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1jbHJ0YWJzIDx0YWIxIHRhYjIgdGFiMyAuLi4+ICAgKHRhYm4gPSAxLTE2MClcbiIKKyN+IG1zZ3N0ciAiICBbIC1jbHJ0YWJzIFsgdGFiMSB0YWIyIHRhYjMg4oCmIF0gXSAgICh0YWJuID0gMS0xNjApXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1yZWd0YWJzIDwxLTE2MD5cbiIKKyN+IG1zZ3N0ciAiICBbIC1yZWd0YWJzIFsxLTE2MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxhbmsgPDAtNjB8Zm9yY2V8cG9rZT5cbiIKKyN+IG1zZ3N0ciAiICBbIC1ibGFuayBbMC02MHxmb3JjZXxwb2tlXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1kdW1wICAgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgWyAtZHVtcCAgIFsxLU5SX0NPTlNPTEVTXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1hcHBlbmQgPDEtTlJfQ09OU09MRVM+XG4iCisjfiBtc2dzdHIgIiAgWyAtYXBwZW5kIFsxLU5SX0NPTlNPTEVTXSBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIC1maWxlIGR1bXBmaWxlbmFtZVxuIgorI34gbXNnc3RyICIgLWwgIOWIl+WHuuaJgOacieaqlOWQjVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtbXNnIDxvbnxvZmY+XG4iCisjfiBtc2dzdHIgIiAgWyAtbXNnIFtvbnxvZmZdIF1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIgLW1zZ2xldmVsIDwwLTg+XG4iCisjfiBtc2dzdHIgIiAgWyAtbXNnbGV2ZWwgWzAtOF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtcG93ZXJkb3duIDwwLTYwPlxuIgorI34gbXNnc3RyICIgIFsgLXBvd2VyZG93biBbMC02MF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmxlbmd0aCA8MC0yMDAwPlxuIgorI34gbXNnc3RyICIgIFsgLWJsZW5ndGggWzAtMjAwMF0gXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiAtYmZyZXEgZnJlcW51bWJlclxuIgorI34gbXNnc3RyICIgIFsgLWJmcmVxIOmgu+eOh+aVuCBdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiRXJyb3Igd3JpdGluZyBzY3JlZW5kdW1wIgorI34gbXNnc3RyICLlr6vlhaUgc2NyZWVuZHVtcCDmmYLnmbznlJ/pjK/oqqQiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiQ291bGRuJ3QgcmVhZCBuZWl0aGVyIC9kZXYvdmNzYTAgbm9yIC9kZXYvdmNzYSIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfIC9kZXYvdHR5MSDmiJYgL2Rldi92Yy8xIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLW4sIC0tbm9iYW5uZXIgICAgICAgICAgZG8gbm90IHByaW50IGJhbm5lciwgd29ya3Mgb25seSBmb3Igcm9vdFxuIgorI34gIiAtdCwgLS10aW1lb3V0IDx0aW1lb3V0PiB3cml0ZSB0aW1lb3V0IGluIHNlY29uZHNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICDkuI3liJfljbDmqavluYXvvIzkvZznlKjlj6rmnInnlKjmlrzmoLlcbiIKKyN+ICIgLXQsIC0tdGltZW91dCA8dGltZW91dD4g5a+r5YWl6YC+5pmC55qE56eS5pW4XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiIC1WLCAtLXZlcnNpb24gICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi55So5rOV77yaXG4iCisjfiAiICVzIFvpgbjpoIVdIFvmqpTmoYguLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtLCAgLS1uby11bmRlcmxpbmluZyAgc3VwcHJlc3MgYWxsIHVuZGVybGluaW5nXG4iCisjfiAiIC0yLCAtLWhhbGYtbGluZXMgICAgICBwcmludCBhbGwgaGFsZi1saW5lc1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLSwgIC0tbm8tdW5kZXJsaW5pbmcgIOaKkeWItuaJgOacieW6lee3mlxuIgorI34gIiAtMiwgLS1oYWxmLWxpbmVzICAgICAg5YiX5Y2w5omA5pyJIGhhbGYtbGluZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtViwgLS12ZXJzaW9uICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJjYWxsaW5nIGhleGR1bXAgYXMgb2QgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBmYXZvdXIgdG8gR05VIGNvcmV1dGlscyBvZC4iCisjfiBtc2dzdHIgIuWRvOWPqyBoZXhkdW1wIOWBmueCuiBvZCDlt7LooqvkuI3lrpznlKjlnKjkuK0gZmF2b3VyIOWIsCBHTlUgY29yZXV0aWxzIG9k44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YG46aCFXSDmqpTmoYjigKZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLWIgICAgICAgICAgICAgIG9uZS1ieXRlIG9jdGFsIGRpc3BsYXlcbiIKKyN+ICIgLWMgICAgICAgICAgICAgIG9uZS1ieXRlIGNoYXJhY3RlciBkaXNwbGF5XG4iCisjfiAiIC1DICAgICAgICAgICAgICBjYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHR3by1ieXRlIGRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtbyAgICAgICAgICAgICAgdHdvLWJ5dGUgb2N0YWwgZGlzcGxheVxuIgorI34gIiAteCAgICAgICAgICAgICAgdHdvLWJ5dGUgaGV4YWRlY2ltYWwgZGlzcGxheVxuIgorI34gIiAtZSBmb3JtYXQgICAgICAgZm9ybWF0IHN0cmluZyB0byBiZSB1c2VkIGZvciBkaXNwbGF5aW5nIGRhdGFcbiIKKyN+ICIgLWYgZm9ybWF0X2ZpbGUgIGZpbGUgdGhhdCBjb250YWlucyBmb3JtYXQgc3RyaW5nc1xuIgorI34gIiAtbiBsZW5ndGggICAgICAgaW50ZXJwcmV0IG9ubHkgbGVuZ3RoIGJ5dGVzIG9mIGlucHV0XG4iCisjfiAiIC1zIG9mZnNldCAgICAgICBza2lwIG9mZnNldCBieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmdcbiIKKyN+ICIgLXYgICAgICAgICAgICAgIGRpc3BsYXkgd2l0aG91dCBzcXVlZXppbmcgc2ltaWxhciBsaW5lc1xuIgorI34gIiAtViAgICAgICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtYiAgICAgICAgICAgICAgb25lLWJ5dGUg5YWr6YCy5L2N6aGv56S6XG4iCisjfiAiIC1jICAgICAgICAgICAgICBvbmUtYnl0ZSDlrZflhYPpoa/npLpcbiIKKyN+ICIgLUMgICAgICAgICAgICAgIOasiuWogeeahOWNgeWFremAsuS9jStBU0NJSSDpoa/npLpcbiIKKyN+ICIgLWQgICAgICAgICAgICAgIHR3by1ieXRlIOWNgemAsuS9jemhr+ekulxuIgorI34gIiAtbyAgICAgICAgICAgICAgdHdvLWJ5dGUg5YWr6YCy5L2N6aGv56S6XG4iCisjfiAiIC14ICAgICAgICAgICAgICB0d28tYnl0ZSDljYHlha3pgLLkvY3poa/npLpcbiIKKyN+ICIgLWUg5qC85byPICAgICAgIOagvOW8j+Wtl+S4sueCuueUqOaWvOmhr+ekuuizh+aWmVxuIgorI34gIiAtZiBmb3JtYXRmaWxlICDmqpTmoYjoqbLlkKvmnInmoLzlvI/lrZfkuLIoX0YpXG4iCisjfiAiIC1uIOmVt+W6piAgICAgICDop6Pora/lj6rmnInplbfluqbkvY3lhYPntYTnmoTovLjlhaVcbiIKKyN+ICIgLXMg5YGP56e7ICAgICAgIOi3s+mBjuWBj+enu+S9jeWFg+e1hOW+nui1t+Wni+mDqOWIhlxuIgorI34gIiAtdiAgICAgICAgICAgICAg6aGv56S66ICM54Sh6ZyAIHNxdWVlemluZyDpoZ7kvLznmoTliJdcbiIKKyN+ICIgLVYgICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIGZpbGUuLi5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIueUqOazle+8miVzIFvpgbjpoIVdIOaqlOahiOKAplxuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAgLWQgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmcgYmVsbFxuIgorI34gIiAgLWYgICAgICAgIGNvdW50IGxvZ2ljYWwsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lc1xuIgorI34gIiAgLWwgICAgICAgIHN1cHByZXNzIHBhdXNlIGFmdGVyIGZvcm0gZmVlZFxuIgorI34gIiAgLXAgICAgICAgIGRvIG5vdCBzY3JvbGwsIGNsZWFuIHNjcmVlbiBhbmQgZGlzcGxheSB0ZXh0XG4iCisjfiAiICAtYyAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIKKyN+ICIgIC11ICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIgorI34gIiAgLXMgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIKKyN+ICIgIC1OVU0gICAgICBzcGVjaWZ5IHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIgorI34gIiAgK05VTSAgICAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlciBOVU1cbiIKKyN+ICIgICsvU1RSSU5HICBkaXNwbGF5IGZpbGUgYmVnaW5uaW5nIGZyb20gc2VhcmNoIHN0cmluZyBtYXRjaFxuIgorI34gIiAgLVYgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICIgIC1kICAgICAgICDpoa/npLroqqrmmI7ku6Xku6Pmm7/nkrDpn7/piLRcbiIKKyN+ICIgIC1mICAgICAgICDoqIjmlbjpgo/ovK/nmoTvvIzogIzpnZ7onqLluZXliJdcbiIKKyN+ICIgIC1sICAgICAgICDmipHliLbmmqvlgZzkuYvlvozooajmoLzppYvpgIFcbiIKKyN+ICIgIC1wICAgICAgICDmipHliLbmjbLli5XvvIzmuIXpmaTonqLluZXlkozpoa/npLrmloflrZdcbiIKKyN+ICIgIC1jICAgICAgICDmipHliLbmjbLli5XvvIzpoa/npLrmloflrZflkozmuIXpmaTliJfntZDmnZ9cbiIKKyN+ICIgIC11ICAgICAgICDmipHliLblupXnt5pcbiIKKyN+ICIgIC1zICAgICAgICBzcXVlZXplIOWkmumHjeepuuWIl+mAsuWFpeS4gOWAi1xuIgorI34gIiAgLU5VTSAgICAgIOaMh+WumuWIl+iZn+eahOWQhOWFqOieouW5lVxuIgorI34gIiArTlVNICAgICAg6aGv56S65qqU5qGI6LW35aeL6YOo5YiG5b6e5YiX6JmfIE5VTVxuIgorI34gIiArL+Wtl+S4siAg6aGv56S65qqU5qGI6LW35aeL6YOo5YiG5b6e5pCc5bCL5a2X5Liy5Yy56YWNXG4iCisjfiAiICAtViAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisKKyN+IG1zZ2lkICIuLi5iYWNrIDEgcGFnZSIKKyN+IG1zZ3N0ciAi4oCm5YCS6YCAIDEg6aCBIgorCisjfiBtc2dpZCAiLi4uc2tpcHBpbmcgb25lIGxpbmUiCisjfiBtc2dzdHIgIuKApui3s+mBjiAxIOWIlyIKKworI34gbXNnaWQgImxpbmUgdG9vIGxvbmciCisjfiBtc2dzdHIgIuWIl+eahOmVt+W6pumBjumVtyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgcmV2KDEpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIHJldiAoMSnjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25dIGZpbGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YG46aCFXSDmqpTmoYhcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLW4sIC0tbGluZXMgTlVNQkVSICBvdXRwdXQgdGhlIGxhc3QgTlVNQkVSIGxpbmVzXG4iCisjfiAiIC1OVU1CRVIgICAgICAgICAgICAgc2FtZSBhcyBgLW4gTlVNQkVSJ1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtbiwgLS1saW5lcyDmlbjlrZcgIOi8uOWHuuacgOW+jOS4gOethuaVuOWtl+WIl1xuIgorI34gIiAtTlVNQkVSICAgICAgICAgICAgIOWmguWQjOOAji1uIOaVuOWtl+OAj1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtQSAgICAgICAgIGNoZWNrIGFsbCBmaWxlc3lzdGVtc1xuIgorI34gIiAtUiAgICAgICAgIHNraXAgcm9vdCBmaWxlc3lzdGVtOyB1c2VmdWwgb25seSB3aXRoIGAtQSdcbiIKKyN+ICIgLU0gICAgICAgICBkbyBub3QgY2hlY2sgbW91bnRlZCBmaWxlc3lzdGVtc1xuIgorI34gIiAtdCA8dHlwZT4gIHNwZWNpZnkgZmlsZXN5c3RlbSB0eXBlcyB0byBiZSBjaGVja2VkO1xuIgorI34gIiAgICAgICAgICAgICAgdHlwZSBpcyBhbGxvd2VkIHRvIGJlIGNvbW1hLXNlcGFyYXRlZCBsaXN0XG4iCisjfiAiIC1QICAgICAgICAgY2hlY2sgZmlsZXN5c3RlbXMgaW4gcGFyYWxsZWwsIGluY2x1ZGluZyByb290XG4iCisjfiAiIC1yICAgICAgICAgcmVwb3J0IHN0YXRpc3RpY3MgZm9yIGVhY2ggZGV2aWNlIGZzY2tcbiIKKyN+ICIgLXMgICAgICAgICBzZXJpYWxpemUgZnNjayBvcGVyYXRpb25zXG4iCisjfiAiIC1sICAgICAgICAgbG9jayB0aGUgZGV2aWNlIHVzaW5nIGZsb2NrKClcbiIKKyN+ICIgLU4gICAgICAgICBkbyBub3QgZXhlY3V0ZSwganVzdCBzaG93IHdoYXQgd291bGQgYmUgZG9uZVxuIgorI34gIiAtVCAgICAgICAgIGRvIG5vdCBzaG93IHRoZSB0aXRsZSBvbiBzdGFydHVwXG4iCisjfiAiIC1DIDxmZD4gICAgZGlzcGxheSBwcm9ncmVzcyBiYXI7IGZpbGUgZGVzY3JpcHRvciBpcyBmb3IgR1VJc1xuIgorI34gIiAtViAgICAgICAgIGV4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiAiIC0/ICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+ICJTZWUgZnNjay4qIGNvbW1hbmRzIGZvciBmcy1vcHRpb25zLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtQSAgICAgICAgIOaqouafpeaJgOacieaqlOahiOezu+e1sVxuIgorI34gIiAtUiAgICAgICAgIOi3s+mBjuagueaqlOahiOezu+e1se+8m+acieeUqOWPquacieiIh+OAji1B44CPXG4iCisjfiAiIC1NICAgICAgICAg5LiN5qqi5p+l5o6b6LyJ55qE5qqU5qGI57O757WxXG4iCisjfiAiIC10IDx0eXBlPiAg5oyH5a6a5qqU5qGI57O757Wx6aGe5Z6L54K65bey5Yu+6YG477ybXG4iCisjfiAiICAgICAgICAgICAgICDlnovmhYvooqvlhYHoqLHngrrku6XpgJfomZ/liIbpmpTnmoTmuIXllq5cbiIKKyN+ICIgLVAgICAgICAgICDmqqLmn6XmqpTmoYjns7vntbHlnKjkuK3lubPooYzvvIzljIXlkKvmoLlcbiIKKyN+ICIgLXIgICAgICAgICDloLHlkYrntbHoqIjnlKjmlrzmr4/lgIvoo53nva4gZnNja1xuIgorI34gIiAtcyAgICAgICAgIOW6j+WIl+WMliBmc2NrIOioiOeul1xuIgorI34gIiAtbCAgICAgICAgIOmOluWumuijnee9ruS9v+eUqCBmbG9jaygpXG4iCisjfiAiIC1OICAgICAgICAg5LiN5Z+36KGM77yM5YOF6aGv56S65LuA6bq85pyD5piv5bey5a6M5oiQXG4iCisjfiAiIC1UICAgICAgICAg5LiN6aGv56S65qiZ6aGM5pa85ZWf5YuVXG4iCisjfiAiIC1DPGZkPiAgIOmhr+ekuumAsuW6puahv++8m+aqlOahiOaPj+i/sOespuiZn+aYr+eUqOaWvOWcluW9ouS9v+eUqOiAheS7i+mdolxuIgorI34gIiAtViAgICAgICAgIOino+mHi+S7gOm6vOato+WcqOaYr+W3suWujOaIkFxuIgorI34gIiAtPyAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorI34gIuWPg+eciyBmc2NrLiog5ZG95Luk55So5pa8IGZzLW9wdGlvbnPjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1kLCAtLWRpdmlzb3I9TlVNICAgICAgZGl2aWRlIGJ5dGVzIE5VTVxuIgorI34gIiAteCwgLS1zZWN0b3JzICAgICAgICAgIHNob3cgc2VjdG9yIGNvdW50IGFuZCBzaXplXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLUgsIC0taGVscCAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC1kLCAtLWRpdmlzb3I9TlVNICAgICAg6Zmk5L2N5YWD57WEIE5VTVxuIgorI34gIiAteCwgLS1zZWN0b3JzICAgICAgICAgIOmhr+ekuuejgeWNgOioiOaVuOWSjOWkp+Wwj1xuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtSCwgLS1oZWxwICAgICAgICAgICAgIOmhr+ekuumAmeS7veiqquaYjueEtuW+jOmboumWi1xuIgorI34gIlxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10eXBlPVRZUEUgIGZpbGUgc3lzdGVtIHR5cGUsIHdoZW4gdW5kZWZpbmVkIGV4dDIgaXMgdXNlZFxuIgorI34gIiAgICAgZnMtb3B0aW9ucyAgIHBhcmFtZXRlcnMgdG8gcmVhbCBmaWxlIHN5c3RlbSBidWlsZGVyXG4iCisjfiAiICAgICBkZXZpY2UgICAgICAgcGF0aCB0byBhIGRldmljZVxuIgorI34gIiAgICAgc2l6ZSAgICAgICAgIG51bWJlciBvZiBibG9ja3Mgb24gdGhlIGRldmljZVxuIgorI34gIiAtViwgLS12ZXJib3NlICAgIGV4cGxhaW4gd2hhdCBpcyBkb25lXG4iCisjfiAiICAgICAgICAgICAgICAgICAgZGVmaW5pbmcgLVYgbW9yZSB0aGFuIG9uY2Ugd2lsbCBjYXVzZSBhIGRyeS1ydW5cbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgICAgICAgICAgICAgICAgIC1WIGFzIHZlcnNpb24gbXVzdCBiZSBvbmx5IG9wdGlvblxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICIgLXQsIC0tdHlwZT3lnovmhYsgIOaqlOahiOezu+e1semhnuWei++8jOaZguacquWumue+qSBleHQyIOiiq+S9v+eUqFxuIgorI34gIiAgICAgZnMtb3B0aW9ucyAgIOWPg+aVuOWIsOecn+WvpuaqlOahiOezu+e1seeUoueUn+WZqFxuIgorI34gIiAgICAg6KOd572uICAgICAgIOi3r+W+keWIsOijnee9rlxuIgorI34gIiAgICAg5aSn5bCPICAgICAgICAg5Y2A5aGK5pW46YeP5Zyo5LmL5LiK6KOd572uXG4iCisjfiAiIC1WLCAtLXZlcmJvc2UgICAg6Kej6YeL5LuA6bq85piv5bey5a6M5oiQXG4iCisjfiAiICAgICAgICAgICAgICAgICAg5a6a576pIC1WIOS4gOasoeS7peS4iuWwh+mAoOaIkCBkcnktcnVuXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiICAgICAgICAgICAgICAgICAgLVYg5YGa54K654mI5pys5b+F6aCI5piv5Y+q5pyJ6YG46aCFXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisKKyN+IG1zZ2lkICJta2ZzICglcylcbiIKKyN+IG1zZ3N0ciAibWtmcyAoJXMpXG4iCisKKyN+IG1zZ2lkICJzdHJ0b2wgZXJyb3I6IG51bWJlciBvZiBibG9ja3Mgbm90IHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAic3RydG9sIOmMr+iqpO+8muWNgOWhiuaVuOmHj+WwmuacquaMh+WumiIKKworI34gbXNnaWQgIm9uZSBiYWQgcGFnZVxuIgorI34gbXNnc3RyICLkuIDlgIvkuI3oia/poIHpnaJcbiIKKworI34gbXNnaWQgIiAgICAgICAgb24gd2hvbGUgZGlzay4gIgorI34gbXNnc3RyICIgICAgICAgIOaWvOaVtOWAi+ejgeein+OAgiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJkb2VzIG5vdCBzdXBwb3J0IHN3YXBzcGFjZSB2ZXJzaW9uICVkLiIKKyN+IG1zZ3N0ciAi5LiN5pSv5o+0IHN3YXBzcGFjZSDniYjmnKwgJWTjgIIiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hZGQgICAgICAgICAgICBhZGQgc3BlY2lmaWVkIHBhcnRpdGlvbnMgb3IgYWxsIG9mIHRoZW1cbiIKKyN+ICIgLWQsIC0tZGVsZXRlICAgICAgICAgZGVsZXRlIHNwZWNpZmllZCBwYXJ0aXRpb25zIG9yIGFsbCBvZiB0aGVtXG4iCisjfiAiIC1sLCAtLWxpc3QgICAgICAgICAgIGxpc3QgcGFydGl0aW9ucyAoREVQUkVDQVRFRClcbiIKKyN+ICIgLXMsIC0tc2hvdyAgICAgICAgICAgbGlzdCBwYXJ0aXRpb25zXG4iCisjfiAiXG4iCisjfiAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIGRvbid0IHByaW50IGhlYWRpbmdzIGZvciAtLXNob3dcbiIKKyN+ICIgLW4sIC0tbnIgPG46bT4gICAgICAgc3BlY2lmeSB0aGUgcmFuZ2Ugb2YgcGFydGl0aW9ucyAoZS5nLiAtLW5yIDI6NClcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDx0eXBlPiAgZGVmaW5lIHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHVzZVxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICB1c2Uga2V5PVwidmFsdWVcIiBvdXRwdXQgZm9ybWF0XG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdCwgLS10eXBlIDx0eXBlPiAgICBzcGVjaWZ5IHRoZSBwYXJ0aXRpb24gdHlwZSAoZG9zLCBic2QsIHNvbGFyaXMsIGV0Yy4pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgIHZlcmJvc2UgbW9kZVxuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFkZCAgICAgICAgICAgIOWKoOWFpeaMh+WumueahOWIhuWJsuWNgOaIluaJgOacieeahOWug+WAkVxuIgorI34gIiAtZCwgLS1kZWxldGUgICAgICAgICDliKrpmaTmjIflrprnmoTliIblibLljYDmiJbmiYDmnInnmoTlroPlgJFcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAg5riF5Zau5YiG5Ymy5Y2AICjkuI3lrpznlKgpXG4iCisjfiAiIC1zLCAtLXNob3cgICAgICAgICAgIOa4heWWruWIhuWJsuWNgFxuIgorI34gIlxuIgorI34gIiAtYiwgLS1ieXRlcyAgICAgICAgICDliJfljbDlpKflsI/lnKjkuK3kvY3lhYPntYTogIzpnZ7lnKjkuK3kurrpoZ4gcmVhZGFibGUg5qC85byPXG4iCisjfiAiIC1nLCAtLW5vaGVhZGluZ3MgICAgIOS4jeWIl+WNsOaomemgreeUqOaWvCAtLXNob3dcbiIKKyN+ICIgLW4sIC0tbnIgPG46bT4gICAgICAg5oyH5a6a56+E5ZyN55qE5YiG5Ymy5Y2AKOS+i+Wmgu+8mi0tbnIgMjo0KVxuIgorI34gIiAtbywgLS1vdXRwdXQ85Z6L5oWLPiDlrprnvqnoqbLpoIXovLjlh7rmrITkvY3ku6Xkvb/nlKhcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAg5L2/55So6Y21PVwi5YC8XCLovLjlh7rmoLzlvI9cbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAg5L2/55So5Y6f5aeL6Ly45Ye65qC85byPXG4iCisjfiAiIC10LCAtLXR5cGU85Z6L5oWLPiAgIOaMh+WumuWIhuWJsuWNgOmhnuWeiyAoRE9T44CBYnNk44CBc29sYXJpc++8jGV0Yy4pXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgIOips+e0sOaooeW8j1xuIgorCisjfiBtc2dpZCAiV2FybmluZyEhICBVbnN1cHBvcnRlZCBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZC4gVXNlIEdOVSBQYXJ0ZWQuIgorI34gbXNnc3RyICLorablkYogISEgIOWBtea4rOWIsOS4jeWPl+aUr+aPtOeahCBHUFQgKEdVSUQg5YiG5Ymy6KGoKeOAguS9v+eUqCBHTlUgUGFydGVk44CCIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlx0VGhlcmUgaXMgYSB2YWxpZCBBSVggbGFiZWwgb24gdGhpcyBkaXNrLlxuIgorI34gIlx0VW5mb3J0dW5hdGVseSBMaW51eCBjYW5ub3QgaGFuZGxlIHRoZXNlXG4iCisjfiAiXHRkaXNrcyBhdCB0aGUgbW9tZW50LiAgTmV2ZXJ0aGVsZXNzIHNvbWVcbiIKKyN+ICJcdGFkdmljZTpcbiIKKyN+ICJcdDEuIGZkaXNrIHdpbGwgZGVzdHJveSBpdHMgY29udGVudHMgb24gd3JpdGUuXG4iCisjfiAiXHQyLiBCZSBzdXJlIHRoYXQgdGhpcyBkaXNrIGlzIE5PVCBhIHN0aWxsIHZpdGFsXG4iCisjfiAiXHQgICBwYXJ0IG9mIGEgdm9sdW1lIGdyb3VwLiAoT3RoZXJ3aXNlIHlvdSBtYXlcbiIKKyN+ICJcdCAgIGVyYXNlIHRoZSBvdGhlciBkaXNrcyBhcyB3ZWxsLCBpZiB1bm1pcnJvcmVkLilcbiIKKyN+ICJcdDMuIEJlZm9yZSBkZWxldGluZyB0aGlzIHBoeXNpY2FsIHZvbHVtZSBiZSBzdXJlXG4iCisjfiAiXHQgICB0byByZW1vdmUgdGhlIGRpc2sgbG9naWNhbGx5IGZyb20geW91ciBBSVhcbiIKKyN+ICJcdCAgIG1hY2hpbmUuICAoT3RoZXJ3aXNlIHlvdSBiZWNvbWUgYW4gQUlYcGVydCkuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiXHTpgJnlgIvno4Hnop/lhbflgpnmnInmlYjnmoQgQUlYIOaomeexpOOAglxuIgorI34gIlx05LiN5bm45ZywIExpbnV4IOebruWJjeeEoeazleiZleeQhumAmeS6m1xuIgorI34gIlx056OB56Kf44CCIOWNs+S9v+WmguatpOmChOaYr+acieS4gOS6m1xuIgorI34gIlx05b+g5ZGK77yaXG4iCisjfiAiXHQxLmZkaXNrIOaWvOWvq+WFpeaZguWwh+mKt+avgOWug+eahOWFp+WuueOAglxuIgorI34gIlx0Mi7oq4vnorroqo3pgJnlgIvno4Hnop/kuKbpnZ7ku43nhLbmtLvouo1cbiIKKyN+ICJcdCAg55qE5Y235YaK576k5LmL5LiA6YOo5YiG44CCKOWQpuWJh+aCqOS5n+ioseacg1xuIgorI34gIlx0ICDlkIzmmYLmuIXpmaTkuoblhbbku5bno4Hnop/vvIzlpoLmnpzmnKrooqvpj6HlsITnmoToqbEpXG4iCisjfiAiXHQzLuWIqumZpOmAmeWAi+WvpumrlOWNt+WGiuS5i+WJjeiri+eiuuWumu+8jFxuIgorI34gIlx0ICDpgo/ovK/kuIrlvp7mgqjnmoQgQUlYIOapn+WZqFxuIgorI34gIlx0ICDnp7vpmaTno4Hnop/jgIIo6Zmk6Z2e5oKo5oiQ54K6IEFJWCDlsIjlrrYp44CCIgorCisjfiBtc2dpZCAiIgorI34gIlx0U29ycnkgLSB0aGlzIGZkaXNrIGNhbm5vdCBoYW5kbGUgQUlYIGRpc2sgbGFiZWxzLlxuIgorI34gIlx0SWYgeW91IHdhbnQgdG8gYWRkIERPUy10eXBlIHBhcnRpdGlvbnMsIGNyZWF0ZVxuIgorI34gIlx0YSBuZXcgZW1wdHkgRE9TIHBhcnRpdGlvbiB0YWJsZSBmaXJzdC4gKFVzZSBvLilcbiIKKyN+ICJcdFdBUk5JTkc6IFRoaXMgd2lsbCBkZXN0cm95IHRoZSBwcmVzZW50IGRpc2sgY29udGVudHMuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcdOaKseatiSAtIGZkaXNrIOeEoeazleiZleeQhiBBSVgg56OB56Kf5qiZ57Gk44CCXG4iCisjfiAiXHTlpoLmnpzmgqjopoHliqDlhaUgRE9TIOmhnuWei+WIhuWJsuWNgO+8jOiri+WFiOW7uueri1xuIgorI34gIlx05paw55qE56m6IERPUyDliIblibLooajjgIIo5L2/55SoIG8uKVxuIgorI34gIlx06K2m5ZGK77ya6YCZ5bCH6Yq35q+A54++5pyJ56OB56Kf5YWn5a6544CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiQlNEIGxhYmVsIGZvciBkZXZpY2U6ICVzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLoo53nva7nmoQgQlNEIOaomeexpO+8miVzXG4iCisKKyN+IG1zZ2lkICJXYXJuaW5nOiBwYXJ0aXRpb24gJWQgaGFzIGVtcHR5IHR5cGVcbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77ya5YiG5Ymy5Y2AICVkIOacieepuueahOmhnuWei1xuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IGVuZCBvbiBjeWxpbmRlciBib3VuZGFyeS5cbiIKKyN+IG1zZ3N0ciAi5YiG5Ymy5Y2AICVpIOS4pumdnue1kOadn+aWvOejgeafsemCiueVjOOAglxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIldBUk5JTkc6IEdQVCAoR1VJRCBQYXJ0aXRpb24gVGFibGUpIGRldGVjdGVkIG9uICclcychIFRoZSB1dGlsIGZkaXNrIGRvZXNuJ3Qgc3VwcG9ydCBHUFQuIFVzZSBHTlUgUGFydGVkLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6K2m5ZGK77ya5pa844CMJXPjgI3lgbXmuKzliLAgR1BUIChHVUlEIOWIhuWJsuihqCnvvIHlt6XlhbfnqIvlvI8gZmRpc2sg5LiN5pSv5o+0IEdQVOOAguiri+S9v+eUqCBHTlUgUGFydGVk44CCXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiTm90ZTogc2VjdG9yIHNpemUgaXMgJWxkIChub3QgJWQpXG4iCisjfiBtc2dzdHIgIuiou+iomO+8muejgeWNgOWkp+Wwj+aYryAlbGQgKOeEoeazlSAlZClcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXQVJOSU5HOiBHUFQgKEdVSUQgUGFydGl0aW9uIFRhYmxlKSBkZXRlY3RlZCBvbiAnJXMnISBUaGUgdXRpbCBzZmRpc2sgZG9lc24ndCBzdXBwb3J0IEdQVC4gVXNlIEdOVSBQYXJ0ZWQuXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLorablkYrvvJpHUFQgKEdVSUQg5YiG5Ymy6KGoKSDmlrzjgIwlc+OAjeWBtea4rOWIsO+8geW3peWFt+eoi+W8jyBzZmRpc2sg5LiN5pSv5o+0IEdQVOOAguS9v+eUqCBHTlUgUGFydGVk44CCXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJVc2UgdGhlIC0tZm9yY2UgZmxhZyB0byBvdmVycnVsZSB0aGlzIGNoZWNrLlxuIgorI34gbXNnc3RyICLkvb/nlKggLS1mb3JjZSDml5fmqJnku6Xpp4Hlm57pgJnlgIvmqqLmn6XjgIJcbiIKKworI34gbXNnaWQgImV4ZWMgJXMgZmFpbGVkIgorI34gbXNnc3RyICLln7fooYwgJXMg5pmC5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICBtYWtlIHRoZSBzaGVsbCBhIGxvZ2luIHNoZWxsXG4iCisjfiAiIC1jLCAtLWNvbW1hbmQgPGNvbW1hbmQ+ICAgICAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiIC0tc2Vzc2lvbi1jb21tYW5kIDxjb21tYW5kPiAgcGFzcyBhIHNpbmdsZSBjb21tYW5kIHRvIHRoZSBzaGVsbCB3aXRoIC1jXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGRvIG5vdCBjcmVhdGUgYSBuZXcgc2Vzc2lvblxuIgorI34gIiAtZiwgLS1mYXN0ICAgICAgICAgICAgICAgICAgIHBhc3MgLWYgdG8gdGhlIHNoZWxsIChmb3IgY3NoIG9yIHRjc2gpXG4iCisjfiAiIC1tLCAtLXByZXNlcnZlLWVudmlyb25tZW50ICAgZG8gbm90IHJlc2V0IGVudmlyb25tZW50IHZhcmlhYmxlc1xuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUgYXMgLW1cbiIKKyN+ICIgLXMsIC0tc2hlbGwgPHNoZWxsPiAgICAgICAgICBydW4gc2hlbGwgaWYgL2V0Yy9zaGVsbHMgYWxsb3dzIGl0XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLSwgLWwsIC0tbG9naW4gICAgICAgICAgICAgICDoo73kvZzlkb3ku6TmrrznmbvlhaXlkb3ku6TmrrxcbiIKKyN+ICIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICDlm57lkIjllq7kuIDlkb3ku6TliLDlkb3ku6TmrrzoiIcgLWNcbiIKKyN+ICIgLS1zZXNzaW9uLWNvbW1hbmQ85ZG95LukPiDlm57lkIjllq7kuIDlkb3ku6TliLDlkb3ku6TmrrzoiIcgLWNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDlkozkuI3lu7rnq4vmlrDnmoTkvZzmpa3pmo7mrrVcbiIKKyN+ICIgLWYsIC0tZmFzdCAgICAgICAgICAgICAgICAgICDlm57lkIggLWYg5Yiw5ZG95Luk5q68ICjnlKjmlrwgY3NoIOaIliB0Y3NoKVxuIgorI34gIiAtbSwgLS1wcmVzZXJ2ZS1lbnZpcm9ubWVudCAgIOS4jemHjee9rueSsOWig+iuiuaVuFxuIgorI34gIiAtcCAgICAgICAgICAgICAgICAgICAgICAgICAgIOWmguWQjCAtbVxuIgorI34gIiAtcywgLS1zaGVsbDzlkb3ku6Tmrrw+ICAgICAgICAg6YGL6KGM5ZG95Luk5q685aaC5p6cL2V0Yy/lkb3ku6TmrrzlhYHoqLHlroNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlczogZXhlYyBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yaZXhlYyDlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiVElPQ1NDVFRZOiBpb2N0bCBmYWlsZWQiCisjfiBtc2dzdHIgIlRJT0NTQ1RUWe+8mmlvY3RsIOWkseaVlyIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbK2Zvcm1hdF0gW2RheSBtb250aCB5ZWFyXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbK2Zvcm1hdF0gW2RheSBtb250aCB5ZWFyXVxuIgorCisjfiBtc2dpZCAiU3QuIFRpYidzIERheSIKKyN+IG1zZ3N0ciAiU3QuIFRpYidzIOaXpSIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgdGhlIG91dHB1dCBjb2x1bW5zIHRvIGJlIHNob3duXG4iCisjfiAiIC1QLCAtLXBhaXJzICAgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgYnkgRlMgdHlwZXNcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIOmZkOWItumbhuWQiOaqlOahiOezu+e1seeUseaOm+i8iemBuOmghVxuIgorI34gIiAtbywgLS1vdXRwdXQ85riF5ZauPiAgIOi8uOWHuuashOS9jeeCuumhr+ekulxuIgorI34gIiAtUCwgLS1wYWlycyAgICAgICAgICAgIOS9v+eUqOmNtT1cIuWAvFwi6Ly45Ye65qC85byPXG4iCisjfiAiIC1yLCAtLXJhdyAgICAgICAgICAgICAg5L2/55So5Y6f5aeL6Ly45Ye65qC85byPXG4iCisjfiAiIC10LCAtLXR5cGVzPOa4heWWrj4gICAg6ZmQ5Yi26ZuG5ZCI5qqU5qGI57O757Wx55SxIEZTIOmhnuWei1xuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFsgLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlkIC4uLlxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLXMgc2lnbmFsIHwgLXAgXSBbIC1hIF0gcGlk4oCmXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgLWwgWyBzaWduYWwgXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImNvbm5lY3QgJXMiCisjfiBtc2dzdHIgIumAo+aOpSAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICJpbnZhbGlkIHBvcnQgbnVtYmVyIGFyZ3VtZW50IgorI34gbXNnc3RyICLnhKHmlYjnmoTln6DomZ/lvJXmlbgiCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+IC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YG46aCFXSBbPGRldmljZT4uLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgIHByaW50IGFsbCBkZXZpY2VzXG4iCisjfiAiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1kLCAtLW5vZGVwcyAgICAgICAgIGRvbid0IHByaW50IHNsYXZlcyBvciBob2xkZXJzXG4iCisjfiAiIC1ELCAtLWRpc2NhcmQgICAgICAgIHByaW50IGRpc2NhcmQgY2FwYWJpbGl0aWVzXG4iCisjfiAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IGV4Y2x1ZGUgZGV2aWNlcyBieSBtYWpvciBudW1iZXIgKGRlZmF1bHQ6IFJBTSBkaXNrcylcbiIKKyN+ICIgLUksIC0taW5jbHVkZSA8bGlzdD4gc2hvdyBvbmx5IGRldmljZXMgd2l0aCBzcGVjaWZpZWQgbWFqb3IgbnVtYmVyc1xuIgorI34gIiAtZiwgLS1mcyAgICAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBmaWxlc3lzdGVtc1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICB1c2FnZSBpbmZvcm1hdGlvbiAodGhpcylcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAgdXNlIGFzY2lpIGNoYXJhY3RlcnMgb25seVxuIgorI34gIiAtbSwgLS1wZXJtcyAgICAgICAgICBvdXRwdXQgaW5mbyBhYm91dCBwZXJtaXNzaW9uc1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICB1c2UgbGlzdCBmb3JtYXQgb3VwdXRcbiIKKyN+ICIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIKKyN+ICIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgb3V0cHV0IGNvbHVtbnNcbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXRcbiIKKyN+ICIgLXMsIC0taW52ZXJzZSAgICAgICAgaW52ZXJzZSBkZXBlbmRlbmNpZXNcbiIKKyN+ICIgLXQsIC0tdG9wb2xvZ3kgICAgICAgb3V0cHV0IGluZm8gYWJvdXQgdG9wb2xvZ3lcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgb3V0cHV0IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIumBuOmghe+8mlxuIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICDliJfljbDmiYDmnInoo53nva5cbiIKKyN+ICIgLWIsIC0tYnl0ZXMgICAgICAgICAg5YiX5Y2w5aSn5bCP5Zyo5Lit5L2N5YWD57WE6ICM6Z2e5Zyo5Lit5Lq66aGeIHJlYWRhYmxlIOagvOW8j1xuIgorI34gIiAtZCwgLS1ub2RlcHMgICAgICAgICDkuI3liJfljbDlvp7lsazmiJbmiZjnm6RcbiIKKyN+ICIgLUQsIC0tZGlzY2FyZCAgICAgICAg5YiX5Y2w5o2o5qOE6IO95YqbXG4iCisjfiAiIC1lLCAtLWV4Y2x1ZGUgPGxpc3Q+IOaOkumZpOijnee9rueUseS4u+imgeeahOaVuOWtlyAo6aCQ6Kit77yaUkFNIOejgeeinylcbiIKKyN+ICIgLUksIC0taW5jbHVkZTzmuIXllq4+5Y+q6aGv56S66KOd572u6IiH5oyH5a6a55qE5Li76KaB55qE5pW46YePXG4iCisjfiAiIC1mLCAtLWZzICAgICAgICAgICAgIOi8uOWHuuizh+ioiumXnOaWvOaqlOahiOezu+e1sVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICDnlKjms5Xos4foqIogKOmAmeWAiylcbiIKKyN+ICIgLWksIC0tYXNjaWkgICAgICAgICAg5L2/55SoIGFzY2lpIOWtl+WFg+WPquaciVxuIgorI34gIiAtbSwgLS1wZXJtcyAgICAgICAgICDovLjlh7ros4foqIrpl5zmlrzmrIrpmZBcbiIKKyN+ICIgLWwsIC0tbGlzdCAgICAgICAgICAg5L2/55So5riF5Zau5qC85byPIG91cHV0XG4iCisjfiAiIC1uLCAtLW5vaGVhZGluZ3MgICAgIOS4jeWIl+WNsOaomemgrVxuIgorI34gIiAtbywgLS1vdXRwdXQ85riF5ZauPiDovLjlh7rmrITkvY1cbiIKKyN+ICIgLVAsIC0tcGFpcnMgICAgICAgICAg5L2/55So6Y21PeOAjOWAvOOAjei8uOWHuuagvOW8j1xuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICDkvb/nlKjljp/lp4vovLjlh7rmoLzlvI9cbiIKKyN+ICIgLXMsIC0taW52ZXJzZSAgICAgICAg5Y+N5L6d5a2Y5oCnXG4iCisjfiAiIC10LCAtLXRvcG9sb2d5ICAgICAgIOi8uOWHuuizh+ioiumXnOaWvOaLk+aouFxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgIGRpc3BsYXkgdGhpcyBoZWxwIGFuZCBleGl0XG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICDop6Pph4vku4DpurzmraPlnKjmmK/lt7LlrozmiJBcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1mIDxmaWxlPiAgZGVmaW5lIHNlYXJjaCBzY29wZVxuIgorI34gIiAtYiAgICAgICAgIHNlYXJjaCBvbmx5IGJpbmFyaWVzXG4iCisjfiAiIC1CIDxkaXJzPiAgZGVmaW5lIGJpbmFyaWVzIGxvb2t1cCBwYXRoXG4iCisjfiAiIC1tICAgICAgICAgc2VhcmNoIG9ubHkgbWFudWFsIHBhdGhzXG4iCisjfiAiIC1NIDxkaXJzPiAgZGVmaW5lIG1hbiBsb29rdXAgcGF0aFxuIgorI34gIiAtcyAgICAgICAgIHNlYXJjaCBvbmx5IHNvdXJjZXMgcGF0aFxuIgorI34gIiAtUyA8ZGlycz4gIGRlZmluZSBzb3VyY2VzIGxvb2t1cCBwYXRoXG4iCisjfiAiIC11ICAgICAgICAgc2VhcmNoIGZyb20gdW51c3VhbCBlbnRpdGllc1xuIgorI34gIiAtViAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1oICAgICAgICAgZGlzcGxheSB0aGlzIGhlbHAgYW5kIGV4aXRcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZiA8ZmlsZT4gIOWumue+qeaQnOWwi+evhOWcjVxuIgorI34gIiAtYiAgICAgICAgIOaQnOWwi+WPquacieS6jOmAsuS9jVxuIgorI34gIiAtQjxkaXJzPiDlrprnvqnkuozpgLLkvY3mn6Xmib7ot6/lvpFcbiIKKyN+ICIgLW0gICAgICAgICDmkJzlsIvlj6rmnInmiYvli5Xot6/lvpFcbiIKKyN+ICIgLU08ZGlycz4g5a6a576pIG1hbiDmn6Xmib7ot6/lvpFcbiIKKyN+ICIgLXMgICAgICAgICDmkJzlsIvlj6rmnInljp/lp4vnorzot6/lvpFcbiIKKyN+ICIgLVM8ZGlycz4g5a6a576p5L6G5rqQ5p+l5om+6Lev5b6RXG4iCisjfiAiIC11ICAgICAgICAg5pCc5bCL5b6e5LiN5bCL5bi455qE5a+m6auUXG4iCisjfiAiIC1WICAgICAgICAg6Ly45Ye654mI5pys6LOH6KiK54S25b6M6Zui6ZaLXG4iCisjfiAiIC1oICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisjfiAiXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiU2VlIGhvdyB0byB1c2UgZmlsZSBhbmQgZGlycyBhcmd1bWVudHMgZnJvbSB3aGVyZWlzKDEpIG1hbnVhbC5cbiIKKyN+IG1zZ3N0ciAi5Y+D55yL5aaC5L2V5L2/55So5qqU5qGI5ZKMIGRpcnMg5byV5pW45b6e5L2N572uICgxKSDmiYvli5XjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3VudDogY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAi5o6b6LyJ77ya54Sh5rOV6Y6W5a6a6YCy5YWl6KiY5oa26auUIgorCisjfiBtc2dpZCAibW91bnQ6IGFyZ3VtZW50IHRvIC1wIG9yIC0tcGFzcy1mZCBtdXN0IGJlIGEgbnVtYmVyIgorI34gbXNnc3RyICJtb3VudO+8mi1wIOaIliAtLXBhc3MtZmQg55qE5byV5pW45b+F6aCI5piv5pW45a2XIgorCisjfiBtc2dpZCAiYnVnIGluIHhzdHJuZHVwIGNhbGwiCisjfiBtc2dzdHIgIuWcqCB4c3RybmR1cCDlkbzlj6vkuK3mnInnqIvlvI/pjK/oqqQiCisKKyN+IG1zZ2lkICJleGVjdXRpbmcgJXMgZmFpbGVkIgorI34gbXNnc3RyICLln7fooYwgJXMg5pmC5aSx5pWXIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIGNsZWFyIHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKKyN+ICIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIgorI34gIiAtRCwgLS1jb25zb2xlLW9mZiAgICAgICAgICAgZGlzYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byBjb25zb2xlXG4iCisjfiAiIC1kLCAtLXNob3ctZGVsdGEgICAgICAgICAgICBzaG93IHRpbWUgZGVsdGEgYmV0d2VlbiBwcmludGVkIG1lc3NhZ2VzXG4iCisjfiAiIC1lLCAtLXJlbHRpbWUgICAgICAgICAgICAgICBzaG93IGxvY2FsIHRpbWUgYW5kIHRpbWUgZGVsdGEgaW4gcmVhZGFibGUgZm9ybWF0XG4iCisjfiAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICBlbmFibGUgcHJpbnRpbmcgbWVzc2FnZXMgdG8gY29uc29sZVxuIgorI34gIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iCisjfiAiIC1mLCAtLWZhY2lsaXR5IDxsaXN0PiAgICAgICByZXN0cmljdCBvdXRwdXQgdG8gZGVmaW5lZCBmYWNpbGl0aWVzXG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIiAtaywgLS1rZXJuZWwgICAgICAgICAgICAgICAgZGlzcGxheSBrZXJuZWwgbWVzc2FnZXNcbiIKKyN+ICIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIgorI34gIiAtbiwgLS1jb25zb2xlLWxldmVsIDxsZXZlbD4gc2V0IGxldmVsIG9mIG1lc3NhZ2VzIHByaW50ZWQgdG8gY29uc29sZVxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAgcHJpbnQgdGhlIHJhdyBtZXNzYWdlIGJ1ZmZlclxuIgorI34gIiAtUywgLS1zeXNsb2cgICAgICAgICAgICAgICAgZm9yY2UgdG8gdXNlIHN5c2xvZygyKSByYXRoZXIgdGhhbiAvZGV2L2ttc2dcbiIKKyN+ICIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIKKyN+ICIgLVQsIC0tY3RpbWUgICAgICAgICAgICAgICAgIHNob3cgaHVtYW4gcmVhZGFibGUgdGltZXN0YW1wIChjb3VsZCBiZSBcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluYWNjdXJhdGUgaWYgeW91IGhhdmUgdXNlZCBTVVNQRU5EL1JFU1VNRSlcbiIKKyN+ICIgLXQsIC0tbm90aW1lICAgICAgICAgICAgICAgIGRvbid0IHByaW50IG1lc3NhZ2VzIHRpbWVzdGFtcFxuIgorI34gIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC13LCAtLWZvbGxvdyAgICAgICAgICAgICAgICB3YWl0IGZvciBuZXcgbWVzc2FnZXNcbiIKKyN+ICIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLUMsIC0tY2xlYXIgICAgICAgICAgICAgICAgIOa4heepuuWFp+aguOeSsOe3qeihneWNgFxuIgorI34gIiAtYywgLS1yZWFkLWNsZWFyICAgICAgICAgICAg6K6A5Y+W5ZKM5YWo6YOo5riF6Zmk6KiK5oGvXG4iCisjfiAiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICDlgZznlKjliJfljbDoqIrmga/liLDkuLvmjqfoh7pcbiIKKyN+ICIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIOmhr+ekuuaZgumWkyBkZWx0YSDku4vmlrzliJfljbDnmoToqIrmga9cbiIKKyN+ICIgLWUsIC0tcmVsdGltZSAgICAgICAgICAgICAgIOmhr+ekuuacrOWcsOaZgumWk+WSjOaZgumWkyBkZWx0YSDlnKjkuK0gcmVhZGFibGUg5qC85byPXG4iCisjfiAiIC1FLCAtLWNvbnNvbGUtb24gICAgICAgICAgICDllZ/nlKjliJfljbDoqIrmga/liLDkuLvmjqfoh7pcbiIKKyN+ICIgLUYsIC0tZmlsZSA8ZmlsZT4gICAgICAgICAgIOS9v+eUqOaqlOahiOS7peS7o+abv+WFp+aguOiomOmMhOaqlOe3qeihneWNgFxuIgorI34gIiAtZiwgLS1mYWNpbGl0eTzmuIXllq4+ICAgICAg6ZmQ5Yi26Ly45Ye65Yiw5a6a576p55qE5qmf6IO9XG4iCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIOmhr+ekuuWFp+aguOioiuaBr1xuIgorI34gIiAtbCwgLS1sZXZlbDzmuIXllq4+ICAgICAgICAg6ZmQ5Yi26Ly45Ye65Yiw5a6a576p55qE562J57SaXG4iCisjfiAiIC1uLCAtLWNvbnNvbGUtbGV2ZWw8562J57SaPuioreWumuetiee0mueahOioiuaBr+WIl+WNsOWIsOS4u+aOp+iHulxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgICAgICAg5YiX5Y2w5Y6f5aeL6KiK5oGv57ep6KGd5Y2AXG4iCisjfiAiIC1TLCAtLXN5c2xvZyAgICAgICAgICAgICAgICDlvLfliLbku6Xkvb/nlKggc3lzbG9nICgyKSDogIzpnZ4vZGV2L2ttc2dcbiIKKyN+ICIgLXMsIC0tYnVmZmVyLXNpemU85aSn5bCPPiAgIOe3qeihneWNgOWkp+Wwj+WIsOafpeipouWFp+aguOeSsOe3qeihneWNgFxuIgorI34gIiAtVCwgLS1jdGltZSAgICAgICAgICAgICAgICAg6aGv56S65Lq66aGeIHJlYWRhYmxlIOaZgumWk+aIs+iomCAo5Y+v6IO95pivXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmFjY3VyYXRlIOWmguaenOaCqOW3suS9v+eUqOaHuOe9ri/lho3nuowpXG4iCisjfiAiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICDkuI3liJfljbDoqIrmga/mmYLplpPmiLPoqJhcbiIKKyN+ICIgLXUsIC0tdXNlcnNwYWNlICAgICAgICAgICAgIOmhr+ekuiB1c2Vyc3BhY2Ug6KiK5oGvXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgLXcsIC0tZm9sbG93ICAgICAgICAgICAgICAgIOetieW+heaWsOioiuaBr1xuIgorI34gIiAteCwgLS1kZWNvZGUgICAgICAgICAgICAgICAg6Kej56K85qmf6IO95ZKM562J57Sa5YiwIHJlYWRhYmxlIOWtl+S4slxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgImVqZWN0OiBjYW5ub3Qgc2V0IHVzZXIgaWQiCisjfiBtc2dzdHIgIumAgOWHuu+8mueEoeazleioreWumuS9v+eUqOiAheitmOWIpeiZnyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgIHRoaXMgaGVscFxuIgorI34gIiAtZiwgLS1mcmVlemUgICAgICBmcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKKyN+ICIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICDpgJnku73oqqrmmI5cbiIKKyN+ICIgLWYsIC0tZnJlZXplICAgICAg5Zu65a6a5qqU5qGI57O757WxXG4iCisjfiAiIC11LCAtLXVuZnJlZXplICAgIHVuZnJlZXplIOaqlOahiOezu+e1sVxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBmc2ZyZWV6ZSg4KS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuimgeeNsuW+l+abtOWkmuizh+ioiuiri+WPg+eciyBmc2ZyZWV6ZSg4KeOAglxuIgorCisjfiBtc2dpZCAibWF4IHNlZyBzaXplIChrYnl0ZXMpID0gJWx1XG4iCisjfiBtc2dzdHIgIuacgOWkp+izh+aWmeauteWkp+WwjyAo5Y2D5L2N5YWD57WEKSA9ICVsdVxuIgorCisjfiBtc2dpZCAibWluIHNlZyBzaXplIChieXRlcykgPSAlbHVcbiIKKyN+IG1zZ3N0ciAi5pyA5bCP6LOH5paZ5q615aSn5bCPICjkvY3lhYPntYQpID0gJWx1XG4iCisKKyN+IG1zZ2lkICJzaG1jdGwgZmFpbGVkIgorI34gbXNnc3RyICJzaG1jdGwg5aSx5pWXIgorCisjfiBtc2dpZCAibXNnY3RsIGZhaWxlZCIKKyN+IG1zZ3N0ciAibXNnY3RsIOWkseaVlyIKKworI34gbXNnaWQgImNieXRlcz0lbGRcdHFieXRlcz0lbGRcdHFudW09JWxkXHRsc3BpZD0lZFx0bHJwaWQ9JWRcbiIKKyN+IG1zZ3N0ciAiY2J5dGVzPSVsZFx0cWJ5dGVzPSVsZFx0cW51bT0lbGRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWUsIC0tZW5jcnlwdGlvbiA8dHlwZT4gICAgICAgZW5hYmxlIGVuY3J5cHRpb24gd2l0aCBzcGVjaWZpZWQgPG5hbWUvbnVtPlxuIgorI34gIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iCisjfiAiICAgICAtLXNpemVsaW1pdCA8bnVtPiAgICAgICAgIGRldmljZSBsaW1pdGVkIHRvIDxudW0+IGJ5dGVzIG9mIHRoZSBmaWxlXG4iCisjfiAiIC1wLCAtLXBhc3MtZmQgPG51bT4gICAgICAgICAgIHJlYWQgcGFzc3BocmFzZSBmcm9tIGZpbGUgZGVzY3JpcHRvciA8bnVtPlxuIgorI34gIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgcGFydGl0aW9uZWQgbG9vcCBkZXZpY2VcbiIKKyN+ICIgLXIsIC0tcmVhZC1vbmx5ICAgICAgICAgICAgICAgc2V0dXAgcmVhZC1vbmx5IGxvb3AgZGV2aWNlXG4iCisjfiAiICAgICAtLXNob3cgICAgICAgICAgICAgICAgICAgIHByaW50IGRldmljZSBuYW1lIGFmdGVyIHNldHVwICh3aXRoIC1mKVxuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtZSwgLS1lbmNyeXB0aW9uIDx0eXBlPiAgICAgICDllZ/nlKjliqDlr4boiIfmjIflrprnmoQ85ZCN56ixL251bT5cbiIKKyN+ICIgLW8sIC0tb2Zmc2V0PG51bT4gICAgICAgICAgIOmWi+Wni+aWvOWBj+enuzxudW0+6YCy5YWl5qqU5qGIXG4iCisjfiAiICAgICAtLXNpemVsaW1pdDxudW0+ICAgICAgICDoo53nva7pmZDliLbliLA8bnVtPuS9jeWFg+e1hOeahOaqlOahiFxuIgorI34gIiAtcCwgLS1wYXNzLWZkPG51bT4gICAgICAgICAg6K6A5Y+W5a+G6Kqe5b6e5qqU5qGI5o+P6L+w56ym6JmfPG51bT5cbiIKKyN+ICIgLVAsIC0tcGFydHNjYW4gICAgICAgICAgICAgICAg5bu656uL5YiG5Ymy55qE6L+05ZyI6KOd572uXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIOioreWumuWUr+iugOi/tOWciOijnee9rlxuIgorI34gIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICDliJfljbDoo53nva7lkI3nqLHkuYvlvozoqK3lrpogKOiIhyAtZilcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgICAgICAg6Kmz57Sw5qih5byPXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiaW52YWxpZCBwYXNzcGhyYXNlIGZpbGUgZGVzY3JpcHRvciIKKyN+IG1zZ3N0ciAi54Sh5pWI55qE5a+G6Kqe5qqU5qGI5o+P6L+w56ym6JmfIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzIGZhaWxlZCB0byB1c2UgZGV2aWNlIgorI34gbXNnc3RyICIlcyDnhKHms5Xkvb/nlKjoo53nva4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiY291bGRuJ3QgbG9jayBpbnRvIG1lbW9yeSIKKyN+IG1zZ3N0ciAi54Sh5rOV6Y6W5a6a6YCy5YWl6KiY5oa26auUIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgcHJpbnQgb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIgorI34gIiAtYiwgLS1vbmxpbmUgICAgICAgICAgICBwcmludCBvbmxpbmUgQ1BVcyBvbmx5IChkZWZhdWx0IGZvciAtcClcbiIKKyN+ICIgLWMsIC0tb2ZmbGluZSAgICAgICAgICAgcHJpbnQgb2ZmbGluZSBDUFVzIG9ubHlcbiIKKyN+ICIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICBwcmludCB0aGlzIGhlbHBcbiIKKyN+ICIgLXAsIC0tcGFyc2VbPTxsaXN0Pl0gICAgcHJpbnQgb3V0IGEgcGFyc2FibGUgZm9ybWF0XG4iCisjfiAiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBkaXJlY3RvcnkgRElSIGFzIHN5c3RlbSByb290XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIHByaW50IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXRcbiIKKyN+ICIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIOWIl+WNsOe3muS4iuWSjOmboue3miBDUFVzICjpoJDoqK3nlKjmlrwgLWUpXG4iCisjfiAiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIOWIl+WNsOe3muS4iiBDUFVzIOWPquaciSAo6aCQ6Kit55So5pa8IC1wKVxuIgorI34gIiAtYywgLS1vZmZsaW5lICAgICAgICAgICDliJfljbDpm6Lnt5ogQ1BVcyDlj6rmnIlcbiIKKyN+ICIgLWUsIC0tZXh0ZW5kZWQgWz08bGlzdD5dIOWNsOWHuumAsumajiByZWFkYWJsZSDmoLzlvI9cbiIKKyN+ICIgLWgsIC0taGVscCAgICAgICAgICAgICAg5Y2w5Ye66YCZ5Lu96Kqq5piOXG4iCisjfiAiIC1wLCAtLXBhcnNlIFs9POa4heWWrj5dICAgIOWNsOWHuiBwYXJzYWJsZSDmoLzlvI9cbiIKKyN+ICIgLXMsIC0tc3lzcm9vdDxkaXI+ICAgIOS9v+eUqOebrumMhCBESVIg5YGa54K657O757Wx5qC5XG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgIOWNsOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAteCwgLS1oZXggICAgICAgICAgICAgICDliJfljbDljYHlha3pgLLkvY3pga7nvanogIzpnZ7muIXllq7nmoQgQ1BVc1xuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiVzOiBmYWlsZWQgdG8gc2V0dXAgbG9vcCBkZXZpY2UgKHByb2JhYmx5IHVua25vd24gZW5jcnlwdGlvbiB0eXBlKSIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5XoqK3lrprov7TlnIjoo53nva4gKOaIluioseS4jeaYjuWKoOWvhuWei+aFiykiCisKKyN+IG1zZ2lkICJyZW5pY2UgZnJvbSAlc1xuIgorI34gbXNnc3RyICJyZW5pY2Ug6IeqICVzXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtZCwgLS1kZXZpY2UgPGRldmljZT4gICAgc2VsZWN0IHJ0YyBkZXZpY2UgKHJ0YzB8cnRjMXwuLi4pXG4iCisjfiAiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iCisjfiAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMgdXNlcyBsb2NhbCB0aW1lem9uZVxuIgorI34gIiAtbSwgLS1tb2RlIDxtb2RlPiAgICAgICAgc3RhbmRieXxtZW18Li4uIHNsZWVwIG1vZGVcbiIKKyN+ICIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIKKyN+ICIgLXQsIC0tdGltZSA8dGltZV90PiAgICAgIHRpbWUgdG8gd2FrZVxuIgorI34gIiAtdSwgLS11dGMgICAgICAgICAgICAgICAgUlRDIHVzZXMgVVRDXG4iCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIOmBuOWPliBydGMg6KOd572uIChydGMwfHJ0YzF8Li4uKVxuIgorI34gIiAtbiwgLS1kcnktcnVuICAgICAgICAgICAg5YGa5omA5pyJ5p2x6KW/77yM5L2G5piv5oe4572uXG4iCisjfiAiIC1sLCAtLWxvY2FsICAgICAgICAgICAgICBSVEMg5L2/55So5pys5Zyw5pmC5Y2AXG4iCisjfiAiIC1tLCAtLW1vZGU85qih5byPPiAgICAgICDlvoXmqZ98bWVtfC4uLuaaq+WBnOaooeW8j1xuIgorI34gIiAtcywgLS1zZWNvbmRzPOenkj4g56eS5Yiw5pqr5YGcXG4iCisjfiAiIC10LCAtLXRpbWU8dGltZXQoX1QpPiAgICAg5pmC6ZaT5Yiw5Zaa6YaSXG4iCisjfiAiIC11LCAtLXV0YyAgICAgICAgICAgICAgICBSVEMg5L2/55SoIFVUQ1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAg6Kmz57Sw55qE6KiK5oGvXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAidW5hYmxlIHRvIGV4ZWN1dGUgJXMiCisjfiBtc2dzdHIgIueEoeazleWft+ihjCAlcyIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICBzYXlzIHdoYXQgb3B0aW9ucyBhcmUgYmVpbmcgc3dpdGNoZWQgb25cbiIKKyN+ICIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIgorI34gIiAtRiwgLS1mZHBpYy1mdW5jcHRycyAgICAgbWFrZXMgZnVuY3Rpb24gcG9pbnRlcnMgcG9pbnQgdG8gZGVzY3JpcHRvcnNcbiIKKyN+ICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIHR1cm5zIG9uIE1NQVBfUEFHRV9aRVJPXG4iCisjfiAiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iCisjfiAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIgorI34gIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIgorI34gIiAtSSwgLS1zaG9ydC1pbm9kZSAgICAgICAgdHVybnMgb24gU0hPUlRfSU5PREVcbiIKKyN+ICIgLVMsIC0td2hvbGUtc2Vjb25kcyAgICAgIHR1cm5zIG9uIFdIT0xFX1NFQ09ORFNcbiIKKyN+ICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIgorI34gIiAtMywgLS0zZ2IgICAgICAgICAgICAgICAgbGltaXRzIHRoZSB1c2VkIGFkZHJlc3Mgc3BhY2UgdG8gYSBtYXhpbXVtIG9mIDMgR0JcbiIKKyN+ICIgICAgIC0tNGdiICAgICAgICAgICAgICAgIGlnbm9yZWQgKGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHkpXG4iCisjfiAiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIOihqOekuuS7gOm6vOmBuOmgheato+WcqOiiq+WIh+aPm+aWvFxuIgorI34gIiAtUiwgLS1hZGRyLW5vLXJhbmRvbWl6ZSAg5YGc55SoIHJhbmRvbWl6YXRpb24g55qE6Jmb5pOs5L2N5Z2A56m66ZaTXG4iCisjfiAiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICDoo73kvZzlh73lvI/mjIfmqJnpu57liLDmj4/ov7DlhYNcbiIKKyN+ICIgLVosIC0tbW1hcC1wYWdlLXplcm8gICAgIOaJk+mWiyBNTUFQX1BBR0VfWkVST1xuIgorI34gIiAtTCwgLS1hZGRyLWNvbXBhdC1sYXlvdXQg6K6K5pu05pa55byP6Jmb5pOs6KiY5oa26auU6KKr6YWN572uXG4iCisjfiAiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICDmiZPplosgUkVBRF9JTVBMSUVTX0VYRUNcbiIKKyN+ICIgLUIsIC0tMzIg5L2N5YWDICAgICAgICAgICAgICDmiZPplosgQUREUl9MSU1JVF8zMiDkvY3lhYNcbiIKKyN+ICIgLUksIC0tc2hvcnQtaW5vZGUgICAgICAgIOaJk+mWiyBTSE9SVF9JTk9ERVxuIgorI34gIiAtUywgLS13aG9sZS1zZWNvbmRzICAgICAg5omT6ZaLIFdIT0xFX1NFQ09ORFNcbiIKKyN+ICIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIOaJk+mWiyBTVElDS1lfVElNRU9VVFNcbiIKKyN+ICIgLTMsIC0tMyBnYiAgICAgICAgICAgICAgICDpmZDluqbkvb/nlKjnmoTkvY3lnYDnqbrplpPliLDmnIDlpKflgLznmoQgMyBHQlxuIgorI34gIiAgICAgLS00IGdiICAgICAgICAgICAgICAgIOW/veeVpSAo55So5pa85Zue5rqv55u45a655oCn5Y+q5pyJKVxuIgorI34gIiAgICAgLS11bmFtZS0yLjYgICAgICAgICAg5omT6ZaLIFVOQU1FMjZcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJleGVjdnAgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdnAg5aSx5pWXIgorCisjfiBtc2dpZCAiZXhlY3YgZmFpbGVkIgorI34gbXNnc3RyICJleGVjdiDlpLHmlZciCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtYSwgLS1hbGwgICAgICAgICAgICAgICB1bW91bnQgYWxsIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorI34gIiAtZCwgLS1kZXRhY2gtbG9vcCAgICAgICBpZiBtb3VudGVkIGxvb3AgZGV2aWNlLCBhbHNvIGZyZWUgdGhpcyBsb29wIGRldmljZVxuIgorI34gIiAgICAgLS1mYWtlICAgICAgICAgICAgICBkcnkgcnVuOyBza2lwIHRoZSB1bW91bnQoMikgc3lzY2FsbFxuIgorI34gIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW1vdW50IOaJgOacieaqlOahiOezu+e1sVxuIgorI34gIiAtYywgLS1uby1jYW5vbmljYWxpemUgICDkuI3mraPliYfljJbot6/lvpFcbiIKKyN+ICIgLWQsIC0tZGV0YWNoLWxvb3AgICAgICAg5aaC5p6c5o6b6LyJ55qE6L+05ZyI6KOd572u77yM5Lmf6Ieq55Sx6YCZ5YCL6L+05ZyI6KOd572uXG4iCisjfiAiICAgICAtLWZha2UgICAgICAgICAgICAgIOaooeaTrOa4rOippu+8m+i3s+mBjiB1bW91bnQgKDIpIHN5c2NhbGxcbiIKKyN+ICIgLWYsIC0tZm9yY2UgICAgICAgICAgICAg5by35Yi25Y246LyJICjokKzkuIDnhKHms5XpgKPnt5rnmoQgTkZTIOezu+e1sSlcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiIC1pLCAtLWludGVybmFsLW9ubHkgICAgIGRvbid0IGNhbGwgdGhlIHVtb3VudC48dHlwZT4gaGVscGVyc1xuIgorI34gIiAtbiwgLS1uby1tdGFiICAgICAgICAgICBkb24ndCB3cml0ZSB0byAvZXRjL210YWJcbiIKKyN+ICIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgYW5kIGNsZWFudXAgYWxsIGxhdGVyXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLWksIC0taW50ZXJuYWwtb25seSAgICAg5LiN5ZG85Y+rIHVtb3VudOOAgjx0eXBlPiDovJTliqnnqIvlvI9cbiIKKyN+ICIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAg5LiN5a+r5YWlL2V0Yy9tdGFiXG4iCisjfiAiIC1sLCAtLWxhenkgICAgICAgICAgICAgIOWNuOmbouaqlOahiOezu+e1seePvuWcqO+8jOiAjOa4heeQhuaJgOacieeojeW+jFxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIEluIGNhc2UgdW5tb3VudGluZyBmYWlscywgdHJ5IHRvIHJlbW91bnQgcmVhZC1vbmx5XG4iCisjfiAiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIgorI34gIiAtdiwgLS12ZXJib3NlICAgICAgICAgICBzYXkgd2hhdCBpcyBiZWluZyBkb25lXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAg6ZmQ5Yi26ZuG5ZCI5qqU5qGI57O757WxICjkvb/nlKjoiIcgLWEpXG4iCisjfiAiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIOWcqOS4reWkp+Wwj+Wvq+WNuOi8ieWkseaVl++8jOippuiRlyByZW1vdW50IOWUr+iugFxuIgorI34gIiAtdCwgLS10eXBlczzmuIXllq4+ICAgICDpmZDliLbpm4blkIjmqpTmoYjns7vntbHpoZ7lnotcbiIKKyN+ICIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAg6KGo56S65LuA6bq85q2j5Zyo5piv5bey5a6M5oiQXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtbSwgLS1tb3VudCAgICAgICB1bnNoYXJlIG1vdW50cyBuYW1lc3BhY2VcbiIKKyN+ICIgLXUsIC0tdXRzICAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iCisjfiAiIC1pLCAtLWlwYyAgICAgICAgIHVuc2hhcmUgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIgorI34gIiAtbiwgLS1uZXQgICAgICAgICB1bnNoYXJlIG5ldHdvcmsgbmFtZXNwYWNlXG4iCisjfiBtc2dzdHIgIiIKKyN+ICIgLW0sIC0tbW91bnQgICAgICAgdW5zaGFyZSDmjpvovInlkb3lkI3nqbrplpNcbiIKKyN+ICIgLXUsIC0tdXRzICAgICAgICAgdW5zaGFyZSBVVFMg5ZG95ZCN56m66ZaTICjkuLvmqZ/lkI3nqLEgZXRjKVxuIgorI34gIiAtaSwgLS1pcGMgICAgICAgICB1bnNoYXJlIOezu+e1sSBWIElQQyDlkb3lkI3nqbrplpNcbiIKKyN+ICIgLW4sIC0tbmV0ICAgICAgICAgdW5zaGFyZSDntrLot6/lkb3lkI3nqbrplpNcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIlLTE1cyVzIFt2ZXJzaW9uICV4XVxuIgorI34gbXNnc3RyICIlLTE1cyVzIFvniYjmnKwgJXhdXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiIC04LCAtLThiaXRzICAgICAgICAgICAgICAgIGFzc3VtZSA4LWJpdCB0dHlcbiIKKyN+ICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIKKyN+ICIgLWMsIC0tbm9yZXNldCAgICAgICAgICAgICAgZG8gbm90IHJlc2V0IGNvbnRyb2wgbW9kZVxuIgorI34gIiAtZiwgLS1pc3N1ZS1maWxlIDxmaWxlPiAgICBkaXNwbGF5IGlzc3VlIGZpbGVcbiIKKyN+ICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIgorI34gIiAtSCwgLS1ob3N0IDxob3N0bmFtZT4gICAgICBzcGVjaWZ5IGxvZ2luIGhvc3RcbiIKKyN+ICIgLWksIC0tbm9pc3N1ZSAgICAgICAgICAgICAgZG8gbm90IGRpc3BsYXkgaXNzdWUgZmlsZVxuIgorI34gIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIKKyN+ICIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iCisjfiAiIC1MLCAtLWxvY2FsLWxpbmUgICAgICAgICAgIGZvcmNlIGxvY2FsIGxpbmVcbiIKKyN+ICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIKKyN+ICIgLW4sIC0tc2tpcC1sb2dpbiAgICAgICAgICAgZG8gbm90IHByb21wdCBmb3IgbG9naW5cbiIKKyN+ICIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIKKyN+ICIgLXAsIC0tbG9naW5wYXVzZSAgICAgICAgICAgd2FpdCBmb3IgYW55IGtleSBiZWZvcmUgdGhlIGxvZ2luXG4iCisjfiAiIC1SLCAtLWhhbmd1cCAgICAgICAgICAgICAgIGRvIHZpcnR1YWxseSBoYW5ndXAgb24gdGhlIHR0eVxuIgorI34gIiAtcywgLS1rZWVwLWJhdWQgICAgICAgICAgICB0cnkgdG8ga2VlcCBiYXVkIHJhdGUgYWZ0ZXIgYnJlYWtcbiIKKyN+ICIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iCisjfiAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIGRldGVjdCB1cHBlcmNhc2UgdGVybWluYWxcbiIKKyN+ICIgLXcsIC0td2FpdC1jciAgICAgICAgICAgICAgd2FpdCBjYXJyaWFnZS1yZXR1cm5cbiIKKyN+ICIgICAgIC0tbm9jbGVhciAgICAgICAgICAgICAgZG8gbm90IGNsZWFyIHRoZSBzY3JlZW4gYmVmb3JlIHByb21wdFxuIgorI34gIiAgICAgLS1ub2hpbnRzICAgICAgICAgICAgICBkbyBub3QgcHJpbnQgaGludHNcbiIKKyN+ICIgICAgIC0tbm9uZXdsaW5lICAgICAgICAgICAgZG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgaXNzdWVcbiIKKyN+ICIgICAgIC0tbm8taG9zdG5hbWUgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIKKyN+ICIgICAgIC0tbG9uZy1ob3N0bmFtZSAgICAgICAgc2hvdyBmdWxsIHF1YWxpZmllZCBob3N0bmFtZVxuIgorI34gIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC04LCAtLTgg5L2N5YWDICAgICAgICAgICAgICAgIOWBh+iorSA4LWJpdCB0dHlcbiIKKyN+ICIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAg55m75YWl5oyH5a6a55qE5L2/55So6ICF6Ieq5YuVXG4iCisjfiAiIC1jLCAtLW5vcmVzZXQgICAgICAgICAgICAgIOS4jemHjee9ruaOp+WItuaooeW8j1xuIgorI34gIiAtZiwgLS1pc3N1ZS1maWxlPOaqlOahiD4gICDpoa/npLrorbDpoYzmqpTmoYhcbiIKKyN+ICIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAg5ZWf55So56Gs6auU5rWB6YeP5o6n5Yi2XG4iCisjfiAiIC1ILCAtLWhvc3Q85Li75qmf5ZCN56ixPiAgICAg5oyH5a6a55m75YWl5Li75qmfXG4iCisjfiAiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIOS4jemhr+ekuuitsOmhjOaqlOahiFxuIgorI34gIiAtSSwgLS1pbml0LXN0cmluZzzlrZfkuLI+6Kit5a6aIGluaXQg5a2X5LiyXG4iCisjfiAiIC1sLCAtLWxvZ2luLXByb2dyYW085qqU5qGIPuaMh+WumueZu+WFpeeoi+W8j1xuIgorI34gIiAtTCwgLS1sb2NhbC1saW5lICAgICAgICAgICDlvLfliLbmnKzlnLDliJdcbiIKKyN+ICIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAg5oq95Ye66a6R546H5Zyo55qE5pyf6ZaT6YCj5o6lXG4iCisjfiAiIC1uLCAtLXNraXAtbG9naW4gICAgICAgICAgIOS4jeaPkOekuueUqOaWvOeZu+WFpVxuIgorI34gIiAtbywgLS1sb2dpbi1vcHRpb25zPG9wdHM+6YG46aCF5omA5YKz6YGe5Yiw55m75YWlXG4iCisjfiAiIC1wLCAtLWxvZ2lucGF1c2UgICAgICAgICAgIOetieW+heS7u+S9lemNteS5i+WJjeeZu+WFpVxuIgorI34gIiAtUiwgLS1oYW5ndXAgICAgICAgICAgICAgICDlgZromZvmk6zmjpvmlrflnKjkuYvkuIogdHR5XG4iCisjfiAiIC1zLCAtLWtlZXAtYmF1ZCAgICAgICAgICAgIOippuiRl+S/neaMgemukeeOh+S5i+W+jOS4reaWt1xuIgorI34gIiAtdCwgLS10aW1lb3V0POaVuOWtlz4gICAg55m75YWl56iL5bqP6YC+5pmCXG4iCisjfiAiIC1VLCAtLWRldGVjdC1jYXNlICAgICAgICAgIOWBtea4rOWkp+Wvq+e1guerr+apn1xuIgorI34gIiAtdywgLS13YWl0LWNyICAgICAgICAgICAgICDnrYnlvoXmj5vliJflrZflhYNcbiIKKyN+ICIgICAgIC0tbm9jbGVhciAgICAgICAgICAgICAg5LiN5riF56m66J6i5bmV5LmL5YmN5o+Q56S6XG4iCisjfiAiICAgICAtLW5vaGludHMgICAgICAgICAgICAgIOS4jeWIl+WNsOaPkOekulxuIgorI34gIiAgICAgLS1ub25ld2xpbmUgICAgICAgICAgICDkuI3liJfljbDmlrDliJflrZflhYPkuYvliY3orbDpoYxcbiIKKyN+ICIgICAgIC0tbm8taG9zdG5hbWUgICAgICAgICAg5rKS5pyJ5Li75qmf5ZCN56ix5pa85omA5pyJ5bCH5piv6aGv56S6XG4iCisjfiAiICAgICAtLWxvbmctaG9zdG5hbWUgICAgICAgIOmhr+ekuuWFqOmDqOe2k+izh+agvOS/rumjvuS4u+apn+WQjeeosVxuIgorI34gIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICDovLjlh7rniYjmnKzos4foqIrnhLblvozpm6LplotcbiIKKyN+ICIgICAgIC0taGVscCAgICAgICAgICAgICAgICAg6aGv56S66YCZ5Lu96Kqq5piO54S25b6M6Zui6ZaLXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJ1c2VycyIKKyN+IG1zZ3N0ciAi5L2/55So6ICFIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICIgLXRlcm0gPHRlcm1pbmFsX25hbWU+XG4iCisjfiAiIC1yZXNldFxuIgorI34gIiAtaW5pdGlhbGl6ZVxuIgorI34gIiAtY3Vyc29yIDxvbnxvZmY+XG4iCisjfiAiIC1yZXBlYXQgPG9ufG9mZj5cbiIKKyN+ICIgLWFwcGN1cnNvcmtleXMgPG9ufG9mZj5cbiIKKyN+ICIgLWxpbmV3cmFwIDxvbnxvZmY+XG4iCisjfiAiIC1kZWZhdWx0XG4iCisjfiAiIC1mb3JlZ3JvdW5kIDxibGFja3xibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQ+XG4iCisjfiAiIC1iYWNrZ3JvdW5kIDxibGFja3xibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlfGRlZmF1bHQ+XG4iCisjfiAiIC11bGNvbG9yIDxibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbnxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGU+XG4iCisjfiAiIC11bGNvbG9yIDxicmlnaHQgYmx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWhiY29sb3IgPGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFufHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZT5cbiIKKyN+ICIgLWhiY29sb3IgPGJyaWdodCBibHVlfGdyZWVufGN5YW58cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlPlxuIgorI34gIiAtaW52ZXJzZXNjcmVlbiA8b258b2ZmPlxuIgorI34gIiAtYm9sZCA8b258b2ZmPlxuIgorI34gIiAtaGFsZi1icmlnaHQgPG9ufG9mZj5cbiIKKyN+ICIgLWJsaW5rIDxvbnxvZmY+XG4iCisjfiAiIC1yZXZlcnNlIDxvbnxvZmY+XG4iCisjfiAiIC11bmRlcmxpbmUgPG9ufG9mZj5cbiIKKyN+ICIgLXN0b3JlID5cbiIKKyN+ICIgLWNsZWFyIDxhbGx8cmVzdD5cbiIKKyN+ICIgLXRhYnMgPCB0YWIxIHRhYjIgdGFiMyAuLi4gPiAgICAgICh0YWJuID0gMS0xNjApXG4iCisjfiAiIC1jbHJ0YWJzIDwgdGFiMSB0YWIyIHRhYjMgLi4uID4gICAodGFibiA9IDEtMTYwKVxuIgorI34gIiAtcmVndGFicyA8MS0xNjA+XG4iCisjfiAiIC1ibGFuayA8MC02MHxmb3JjZXxwb2tlPlxuIgorI34gIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+ICIgLW1zZyA8b258b2ZmPlxuIgorI34gIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+ICIgLXBvd2Vyc2F2ZSA8b258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZj5cbiIKKyN+ICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+ICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+ICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+ICIgLXZlcnNpb25cbiIKKyN+ICIgLWhlbHBcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiAtdGVybSA8dGVybWluYWxfbmFtZT5cbiIKKyN+ICIgLXJlc2V0XG4iCisjfiAiIC1pbml0aWFsaXplXG4iCisjfiAiIC1jdXJzb3I85pa8fOmXnOmWiT5cbiIKKyN+ICIgLXJlcGVhdDzmlrx86Zec6ZaJPlxuIgorI34gIiAtYXBwY3Vyc29ya2V5czzmlrx86Zec6ZaJPlxuIgorI34gIiAtbGluZXdyYXA85pa8fOmXnOmWiT5cbiIKKyN+ICIgLWRlZmF1bHRcbiIKKyN+ICIgLWZvcmVncm91bmQ86buR6ImyfOiXjeiJsnzntqDoibJ86Z2S6ImyfOe0heiJsnzmtIvntIV86buD6ImyfOeZveiJsnzpoJDoqK0+XG4iCisjfiAiIC1iYWNrZ3JvdW5kPOm7keiJsnzol43oibJ857ag6ImyfOmdkuiJsnzntIXoibJ85rSL57SFfOm7g+iJsnznmb3oibJ86aCQ6KitPlxuIgorI34gIiAtdWxjb2xvcjzpu5HoibJ854Gw6ImyfOiXjeiJsnzntqDoibJ86Z2S6ImyfOe0heiJsnzmtIvntIV86buD6ImyfOeZveiJsj5cbiIKKyN+ICIgLXVsY29sb3I85piO5Lqu6JeN6ImyfOe2oOiJsnzpnZLoibJ857SF6ImyfOa0i+e0hXzpu4PoibJ855m96ImyPlxuIgorI34gIiAtaGJjb2xvcjzpu5HoibJ854Gw6ImyfOiXjeiJsnzntqDoibJ86Z2S6ImyfOe0heiJsnzmtIvntIV86buD6ImyfOeZveiJsj5cbiIKKyN+ICIgLWhiY29sb3I85piO5Lqu6JeN6ImyfOe2oOiJsnzpnZLoibJ857SF6ImyfOa0i+e0hXzpu4PoibJ855m96ImyPlxuIgorI34gIiAtaW52ZXJzZXNjcmVlbjzmlrx86Zec6ZaJPlxuIgorI34gIiAtYm9sZDzmlrx86Zec6ZaJPlxuIgorI34gIiAtaGFsZi1icmlnaHQ85pa8fOmXnOmWiT5cbiIKKyN+ICIgLWJsaW5rPOaWvHzpl5zplok+XG4iCisjfiAiIC1yZXZlcnNlPOaWvHzpl5zplok+XG4iCisjfiAiIC11bmRlcmxpbmU85pa8fOmXnOmWiT5cbiIKKyN+ICIgLXN0b3JlPlxuIgorI34gIiAtY2xlYXI85omA5pyJfOWFtumkmOeahD5cbiIKKyN+ICIgLXRhYnM8dGFiMSB0YWIyIHRhYjPigKY+ICAgICAodGFibj0xLTE2MClcbiIKKyN+ICIgLWNscnRhYnM8dGFiMSB0YWIyIHRhYjPigKY+ICAodGFibj0xLTE2MClcbiIKKyN+ICIgLXJlZ3RhYnMgPDEtMTYwPlxuIgorI34gIiAtYmxhbmsgPDAtNjB8IOW8t+WItnxwb2tlPlxuIgorI34gIiAtZHVtcCAgIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gIiAtYXBwZW5kIDwxLU5SX0NPTlNPTEVTPlxuIgorI34gIiAtZmlsZSBkdW1wZmlsZW5hbWVcbiIKKyN+ICIgLW1zZzzmlrx86Zec6ZaJPlxuIgorI34gIiAtbXNnbGV2ZWwgPDAtOD5cbiIKKyN+ICIgLXBvd2Vyc2F2ZTzmlrx8dnN5bmN8aHN5bmN8cG93ZXJkb3dufOmXnOmWiT5cbiIKKyN+ICIgLXBvd2VyZG93biA8MC02MD5cbiIKKyN+ICIgLWJsZW5ndGggPDAtMjAwMD5cbiIKKyN+ICIgLWJmcmVxIGZyZXFudW1iZXJcbiIKKyN+ICIgLXZlcnNpb25cbiIKKyN+ICIgLWhlbHBcbiIKKworI34gbXNnaWQgInRvbyBtYW55IGlvdidzIChjaGFuZ2UgY29kZSBpbiB3YWxsL3R0eW1zZy5jKSIKKyN+IG1zZ3N0ciAi5aSq5aSaIGlvdidzICjorormm7Qgd2FsbC90dHltc2cuYyDkuK3nmoTnt6jnorwpIgorCisjLCBmdXp6eQorI34gbXNnaWQgIndyaXRlIGVycm9yLiIKKyN+IG1zZ3N0ciAi5a+r5YWl6Yyv6Kqk44CCIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogJXMgW29wdGlvbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8miVzIFvpgbjpoIVdIFvmqpTmoYguLi5dXG4iCisKKyMsIGZ1enp5CisjfiBtc2dpZCAiIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgZGlzcGxheXMgdGhpcyBoZWxwIHRleHRcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIG91dHB1dCB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0XG4iCisjfiAiIC1jLCAtLWNvbHVtbnMgPHdpZHRoPiAgICB3aWR0aCBvZiBvdXRwdXQgaW4gbnVtYmVyIG9mIGNoYXJhY3RlcnNcbiIKKyN+ICIgLXQsIC0tdGFibGUgICAgICAgICAgICAgIGNyZWF0ZSBhIHRhYmxlXG4iCisjfiAiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiB0YWJsZSBkZWxpbWV0ZXJcbiIKKyN+ICIgLXgsIC0tZmlsbHJvd3MgICAgICAgICAgIGZpbGwgcm93cyBiZWZvcmUgY29sdW1uc1xuIgorI34gbXNnc3RyICIiCisjfiAiIC1oLCAtLWhlbHAgICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7mloflrZdcbiIKKyN+ICIgLVYsIC0tdmVyc2lvbiAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtYywgLS1jb2x1bW5zIDx3aWR0aD4gICAg5a+s5bqm55qE6Ly45Ye65Zyo5Lit5a2X5YWD5pW455qEXG4iCisjfiAiIC10LCAtLXRhYmxlICAgICAgICAgICAgICDlu7rnq4vooajmoLxcbiIKKyN+ICIgLXMsIC0tc2VwYXJhdG9yPOWtl+S4sj7ooajmoLwgZGVsaW1ldGVyXG4iCisjfiAiIC14LCAtLWZpbGxyb3dzICAgICAgICAgICDloavlhYXliJfkuYvliY3mrITkvY1cbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGNvbHVtbigxKS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuimgeeNsuW+l+abtOWkmuizh+ioiuiri+WPg+eci+ashCAoMSnjgIJcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICJtb3JlICglcylcbiIKKyN+IG1zZ3N0ciAi5pu05aSaICglcylcbiIKKworIywgZnV6enkKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICVzIFtvcHRpb25zXSBbZmlsZS4uLl1cbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlcyBb6YG46aCFXSBb5qqU5qGILi4uXVxuIgorCisjLCBmdXp6eQorI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJPcHRpb25zOlxuIgorI34gIiAtdCwgLS10ZXJtaW5hbCBURVJNSU5BTCAgICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIgorI34gIiAtaSwgLS1pbmRpY2F0ZWQgICAgICAgICAgICB1bmRlcmxpbmluZyBpcyBpbmRpY2F0ZWQgdmlhIGEgc2VwYXJhdGUgbGluZVxuIgorI34gIiAtViwgLS12ZXJzaW9uICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdFxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICBkaXNwbGF5IHRoaXMgaGVscCBhbmQgZXhpdFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC10LCAtLXRlcm1pbmFsIOe1guerr+apnyAgICDlvLfliLborormm7TnlKjoqp7nkrDlooPorormlbhcbiIKKyN+ICIgLWksIC0taW5kaWNhdGVkICAgICAgICAgICAg5bqV57ea6KKr5oyH5Ye66YCP6YGO5YiG6ZqU5YiXXG4iCisjfiAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgICAgIOi8uOWHuueJiOacrOizh+ioiueEtuW+jOmboumWi1xuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgICAgICDpoa/npLrpgJnku73oqqrmmI7nhLblvozpm6LplotcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiAgJXMgLVZcbiIKKyN+IG1zZ3N0ciAiICAlcyAtVlxuIgorCisjfiBtc2dpZCAiICAlcyAtLXJlcG9ydCBbZGV2aWNlc11cbiIKKyN+IG1zZ3N0ciAiICAlcyAtLXJlcG9ydCBb6KOd572uXVxuIgorCisjfiBtc2dpZCAiICAlcyBbLXZ8LXFdIGNvbW1hbmRzIGRldmljZXNcbiIKKyN+IG1zZ3N0ciAiICAlcyBbLXZ8LXFdIOWRveS7pOijnee9rlxuIgorCisjfiBtc2dpZCAiJXM6IGNhbm5vdCBvcGVuICVzXG4iCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV6ZaL5ZWfICVzXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtbiBdIGRldmljZVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLW5dIOijnee9rlxuIgorCisjfiBtc2dpZCAiIgorI34gInVzYWdlOiAlcyBbLWh2XSBbLXggZGlyXSBmaWxlXG4iCisjfiAiIC1oICAgICAgICAgcHJpbnQgdGhpcyBoZWxwXG4iCisjfiAiIC14IGRpciAgICAgZXh0cmFjdCBpbnRvIGRpclxuIgorI34gIiAtdiAgICAgICAgIGJlIG1vcmUgdmVyYm9zZVxuIgorI34gIiBmaWxlICAgICAgIGZpbGUgdG8gdGVzdFxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yaJXMgWy1odl0gWy14IGRpcl0gZmlsZVxuIgorI34gIiAtaCAgICAgICAgIOWNsOWHuumAmeWAi+iqquaYjlxuIgorI34gIiAteCBkaXIgICAgIOino+mWi+WIsOebrumMhFxuIgorI34gIiAtdiAgICAgICAgIOabtOips+e0sOeahOioiuaBr1xuIgorI34gIiBmaWxlICAgICAgIOeUqOS+hua4rOippueahOaqlOahiFxuIgorCisjfiBtc2dpZCAibWFsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAibWFsbG9jIOWkseaVlyIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLWxhcnZzbWZdIC9kZXYvbmFtZVxuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFsteF0gWy1kIDxudW0+XSBpc285NjYwLWltYWdlXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFsteF0gWy1kPG51bT5dIGlzbzk2NjAtaW1hZ2VcbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy12XSBbLU4gbnItb2YtaW5vZGVzXSBbLVYgdm9sdW1lLW5hbWVdXG4iCisjfiAiICAgICAgIFstRiBmc25hbWVdIGRldmljZSBbYmxvY2stY291bnRdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolcyBbLXZdIFstTiBuci1vZi1pbm9kZXNdIFstViDljbflhorlkI3nqLFdXG4iCisjfiAiICAgICAgWy1GIOaqlOahiOezu+e1seWQjeeosV0g6KOd572uIFvljYDloYrmlbjph49dXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgc3RhdCBkZXZpY2UgJXMiCisjfiBtc2dzdHIgIueEoeazleitmOWIpeijnee9rueLgOaFiyAlcyIKKworI34gbXNnaWQgImNhbm5vdCBkZXRlcm1pbmUgc2VjdG9yIHNpemUgZm9yICVzIgorI34gbXNnc3RyICLnhKHms5Xmsbrlrprno4HljYDlpKflsI/ntaYgJXMiCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1jXSBbLXBQQUdFU1pdIFstTCBsYWJlbF0gWy1VIFVVSURdIC9kZXYvbmFtZSBbYmxvY2tzXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLWNdIFstcOmggemdouWkp+Wwj10gWy1MIOaomeexpF0gWy1VIFVVSURdIC9kZXYv5ZCN56ixIFvljYDloYpdXG4iCisKKyN+IG1zZ2lkICIlczogZXJyb3I6IHdpbGwgbm90IHRyeSB0byBtYWtlIHN3YXBkZXZpY2Ugb24gJyVzJ1xuIgorI34gbXNnc3RyICIlc++8mumMr+iqpO+8muWwh+S4jeacg+ippuiRl+aWvOOAjCVz44CN6KO95L2c5Lqk5o+b6KOd572uXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6XG4iCisjfiAiICAlcyAiCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgICVzICIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJGb3IgbW9yZSBpbmZvcm1hdGlvbiBzZWUgc3dhcGxhYmVsKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIHN3YXBsYWJlbCg4KeOAglxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uIGVuZHMgaW4gdGhlIGZpbmFsIHBhcnRpYWwgY3lsaW5kZXIiCisjfiBtc2dzdHIgIuWIhuWJsuWNgOe1kOWwvuWcqOacgOW+jOmDqOWIhuejgeafsSIKKworI34gbXNnaWQgIk1lbnUgd2l0aG91dCBkaXJlY3Rpb24uIERlZmF1bHRpbmcgdG8gaG9yaXpvbnRhbC4iCisjfiBtc2dzdHIgIumBuOWWruaykuacieaWueWQke+8jOmgkOioreawtOW5s+aWueW8j+OAgiIKKworI34gbXNnaWQgIiAgIGQgICBkZWxldGUgYSBCU0QgcGFydGl0aW9uIgorI34gbXNnc3RyICIgICBkICAg5Yiq6ZmkIEJTRCDliIblibIiCisKKyN+IG1zZ2lkICIgICBuICAgYWRkIGEgbmV3IEJTRCBwYXJ0aXRpb24iCisjfiBtc2dzdHIgIiAgIG4gICDliqDlhaXmlrDnmoQgQlNEIOWIhuWJsiIKKworI34gbXNnaWQgIiAgIHQgICBjaGFuZ2UgYSBwYXJ0aXRpb24ncyBmaWxlc3lzdGVtIGlkIgorI34gbXNnc3RyICIgICB0ICAg6K6K5pu05YiG5Ymy5Y2A55qE5qqU5qGI57O757Wx6K2Y5Yil6JmfIgorCisjfiBtc2dpZCAiICAgdSAgIGNoYW5nZSB1bml0cyAoY3lsaW5kZXJzL3NlY3RvcnMpIgorI34gbXNnc3RyICIgICB1ICAg6K6K5pu05Zau5L2NICjno4Hmn7Ev56OB5Y2AKSIKKworI34gbXNnaWQgIlVuYWJsZSB0byBvcGVuICVzXG4iCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAlc1xuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGFueSBtb3JlIG1lbW9yeVxuIgorI34gbXNnc3RyICLnhKHms5XphY3nva7mm7TlpJrnmoToqJjmhrbpq5RcbiIKKworI34gbXNnaWQgIiAgIHAgICBwcmludCB0aGUgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICBwICAg5Y2w5Ye65YiG5Ymy6KGoIgorCisjfiBtc2dpZCAiIgorI34gIkJ1aWxkaW5nIGEgbmV3IERPUyBkaXNrbGFiZWwgd2l0aCBkaXNrIGlkZW50aWZpZXIgMHglMDh4LlxuIgorI34gIkNoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS5cbiIKKyN+ICJBZnRlciB0aGF0LCBvZiBjb3Vyc2UsIHRoZSBwcmV2aW91cyBjb250ZW50IHdvbid0IGJlIHJlY292ZXJhYmxlLlxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAi5Lul56OB56Kf6K2Y5Yil56K8IDB4JTA4eCDlu7rnq4vmlrDnmoQgRE9TIOejgeein+aomeexpOOAglxuIgorI34gIuiuiuabtOWwh+WDheWtmOaWvOiomOaGtumrlOS5i+S4re+8jOebtOWIsOaCqOaxuuWumuWvq+WFpeWug+WAkeOAglxuIgorI34gIuWcqOatpOS5i+W+jO+8jOWJjeS4gOWAi+WFp+WuueeVtueEtuWwh+eEoeazleWbnuW+qeOAglxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlRoaXMgZGlzayBoYXMgYm90aCBET1MgYW5kIEJTRCBtYWdpYy5cbiIKKyN+ICJHaXZlIHRoZSAnYicgY29tbWFuZCB0byBnbyB0byBCU0QgbW9kZS5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIumAmeWAi+ejgeein+WQjOaZguaciSBET1Mg5ZKMIEJTRCDnibnmrornorzjgIJcbiIKKyN+ICLovLjlhaXjgIxi44CN5ZG95Luk5Lul5YmN5b6AIEJTRCDmqKHlvI/jgIJcbiIKKworI34gbXNnaWQgIkRldmljZSBjb250YWlucyBuZWl0aGVyIGEgdmFsaWQgRE9TIHBhcnRpdGlvbiB0YWJsZSwgbm9yIFN1biwgU0dJIG9yIE9TRiBkaXNrbGFiZWxcbiIKKyN+IG1zZ3N0ciAi6KOd572u5LiN5ZCr5pyJ5pWI55qEIERPUyDliIblibLooajvvIzkuZ/kuI3lkKsgU3Vu44CBU0dJIOaIliBPU0Yg56OB56Kf5qiZ57GkXG4iCisKKyN+IG1zZ2lkICJJbnRlcm5hbCBlcnJvclxuIgorI34gbXNnc3RyICLlhafpg6jpjK/oqqRcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJnb3QgRU9GIHRocmljZSAtIGV4aXRpbmcuLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi5b6X5YiwIEVPRiDkuInmrKEgLSDpm6LplovkuK0uLlxuIgorCisjfiBtc2dpZCAiUGFydGl0aW9uICVpIGRvZXMgbm90IHN0YXJ0IG9uIGN5bGluZGVyIGJvdW5kYXJ5OlxuIgorI34gbXNnc3RyICLliIblibLljYAgJWkg5Lim6Z2e6ZaL5aeL5pa856OB5p+x6YKK55WM77yaXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgMSlcbiIKKyN+IG1zZ3N0ciAi5oeJ6Kmy5pivICglZCwgJWQsIDEpXG4iCisKKyN+IG1zZ2lkICJzaG91bGQgYmUgKCVkLCAlZCwgJWQpXG4iCisjfiBtc2dzdHIgIuaHieipsuaYryAoJWQsICVkLCAlZClcbiIKKworI34gbXNnaWQgIllvdSBtdXN0IGRlbGV0ZSBzb21lIHBhcnRpdGlvbiBhbmQgYWRkIGFuIGV4dGVuZGVkIHBhcnRpdGlvbiBmaXJzdFxuIgorI34gbXNnc3RyICLmgqjlv4XpoIjliKrpmaTmn5DkupvliIblibLljYDkuKblhYjliqDlhaXmk7TlhYXliIblibLljYBcbiIKKworI34gbXNnaWQgIiIKKyN+ICJDb21tYW5kIGFjdGlvblxuIgorI34gIiAgICVzXG4iCisjfiAiICAgcCAgIHByaW1hcnkgcGFydGl0aW9uICgxLTQpXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLlkb3ku6Tli5XkvZxcbiIKKyN+ICIgICAlc1xuIgorI34gIiAgIHAgICDkuLvopoHliIblibLljYAgKDEtNClcbiIKKworI34gbXNnaWQgIlRoaXMga2VybmVsIGZpbmRzIHRoZSBzZWN0b3Igc2l6ZSBpdHNlbGYgLSAtYiBvcHRpb24gaWdub3JlZFxuIgorI34gbXNnc3RyICLlhafmoLjoh6rooYzmib7liLDno4HljYDlpKflsI8gLSAtYiDpgbjpoIXlv73nlaVcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJcdFNvcnJ5LCBubyBleHBlcnRzIG1lbnUgZm9yIFNHSSBwYXJ0aXRpb24gdGFibGVzIGF2YWlsYWJsZS5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIlx05oqx5q2J77yM5rKS5pyJ5Y+v55So55qEIFNHSSDliIblibLooajlsIjlrrbpgbjllq7jgIJcbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIlNvcnJ5IFlvdSBtYXkgY2hhbmdlIHRoZSBUYWcgb2Ygbm9uLWVtcHR5IHBhcnRpdGlvbnMuXG4iCisjfiBtc2dzdHIgIuaKseatie+8jOaCqOS5n+ioseiuiuabtOS6humdnuepuueZveWIhuWJsuWNgOeahOaomeiomOOAglxuIgorCisjfiBtc2dpZCAiRG8gWW91IGtub3csIFlvdSBnb3QgYSBwYXJ0aXRpb24gb3ZlcmxhcCBvbiB0aGUgZGlzaz9cbiIKKyN+IG1zZ3N0ciAi5oKo55+l6YGT5Zyo56OB56Kf5LiK5pyJ6YeN55aK55qE5YiG5Ymy5Y2A5ZeO77yfXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiQnVpbGRpbmcgYSBuZXcgU0dJIGRpc2tsYWJlbC4gQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSxcbiIKKyN+ICJ1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uIEFmdGVyIHRoYXQsIG9mIGNvdXJzZSwgdGhlIHByZXZpb3VzXG4iCisjfiAiY29udGVudCB3aWxsIGJlIHVucmVjb3ZlcmFibHkgbG9zdC5cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuW7uueri+aWsOeahCBTR0kg56OB56Kf5qiZ57Gk44CC6K6K5pu05bCH5Y+q5L+d55WZ5pa86KiY5oa26auU5Lit77yMXG4iCisjfiAi55u05Yiw5oKo5rG65a6a5a+r5YWl5a6D5YCR44CC55W254S25Zyo5q2k5LmL5b6M77yM5YmN5LiA5YCLXG4iCisjfiAi5YWn5a655bCH5pyD5aSx5Y676ICM54Sh5rOV5Zue5b6p44CCXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJvdXQgb2YgbWVtb3J5IC0gZ2l2aW5nIHVwXG4iCisjfiBtc2dzdHIgIuiomOaGtumrlOS4jei2syAtIOaUvuajhFxuIgorCisjfiBtc2dpZCAib3V0IG9mIG1lbW9yeT9cbiIKKyN+IG1zZ3N0ciAi6KiY5oa26auU5LiN6Laz77yfXG4iCisKKyN+IG1zZ2lkICJhbmQgJXMgb3ZlcmxhcFxuIgorI34gbXNnc3RyICLlkowgJXMg6YeN55aKXG4iCisKKyN+IG1zZ2lkICJkZXZpY2U6IHNvbWV0aGluZyBsaWtlIC9kZXYvaGRhIG9yIC9kZXYvc2RhIgorI34gbXNnc3RyICLoo53nva7vvJroq7jlpoIgL2Rldi9oZGEg5oiWIC9kZXYvc2RhIgorCisjfiBtc2dpZCAiICAgIC1zIFtvciAtLXNob3ctc2l6ZV06IGxpc3Qgc2l6ZSBvZiBhIHBhcnRpdGlvbiIKKyN+IG1zZ3N0ciAiICAgIC1zIFvmiJYgLS1zaG93LXNpemVd77ya5YiX5Ye65YiG5Ymy5Y2A5aSn5bCPIgorCisjfiBtc2dpZCAiICAgIC1kIFtvciAtLWR1bXBdOiAgICAgIGlkZW0sIGJ1dCBpbiBhIGZvcm1hdCBzdWl0YWJsZSBmb3IgbGF0ZXIgaW5wdXQiCisjfiBtc2dzdHIgIiAgICAtZCBb5oiWIC0tZHVtcF3vvJogICAgIGlkZW3vvIzkvYbmmK/moLzlvI/mmK/pganmlrznqI3lvozovLjlhaUiCisKKyN+IG1zZ2lkICIgICAgLWkgW29yIC0taW5jcmVtZW50XTogbnVtYmVyIGN5bGluZGVycyBldGMuIGZyb20gMSBpbnN0ZWFkIG9mIGZyb20gMCIKKyN+IG1zZ3N0ciAiICAgIC1pIFvmiJYgLS1pbmNyZW1lbnRd77ya56OB5p+x562J6aCF55qE57eo6Jmf44CC5b6eIDEg6ICM6Z2eIDAg6ZaL5aeLIgorCisjfiBtc2dpZCAiICAgIC11UywgLXVCLCAtdUMsIC11TTogIGFjY2VwdC9yZXBvcnQgaW4gdW5pdHMgb2Ygc2VjdG9ycy9ibG9ja3MvY3lsaW5kZXJzL01CIgorI34gbXNnc3RyICIgICAgLXVT77yMLXVC77yMLXVD77yMLXVN77yaIOaOpeWPly/loLHlkYrnmoTllq7kvY3mmK/no4HljYAv5Y2A5aGKL+ejgeafsS9NQiIKKworI34gbXNnaWQgIiAgICAtRCBbb3IgLS1ET1NdOiAgICAgICBmb3IgRE9TLWNvbXBhdGliaWxpdHk6IHdhc3RlIGEgbGl0dGxlIHNwYWNlIgorI34gbXNnc3RyICIgICAgLUQgW+aIliAtLURPU13vvJogICAgICDnlKjmlrwgRE9TLeebuOWuueaAp++8mua1quiyu+S4gOS6m+epuumWkyIKKworI34gbXNnaWQgIiAgICAtUiBbb3IgLS1yZS1yZWFkXTogICBtYWtlIGtlcm5lbCByZXJlYWQgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICIgICAgLVIgW+aIliAtLXJlLXJlYWRd77yaICDorpPlhafmoLjph43mlrDoroDlj5bliIblibLooagiCisKKyN+IG1zZ2lkICIgICAgLU8gZmlsZSA6ICAgICAgICAgICAgc2F2ZSB0aGUgc2VjdG9ycyB0aGF0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gdG8gZmlsZSIKKyN+IG1zZ3N0ciAiICAgIC1PIOaqlOahiCDvvJogICAgICAgICAgIOaKiuWwh+imgeiiq+imhuWvq+eahOejgeWNgOWEsuWtmOWIsOaqlOahiCIKKworI34gbXNnaWQgIiAgICAtSSBmaWxlIDogICAgICAgICAgICByZXN0b3JlIHRoZXNlIHNlY3RvcnMgYWdhaW4iCisjfiBtc2dzdHIgIiAgICAtSSDmqpTmoYgg77yaICAgICAgICAgICDlho3mrKHpgoTljp/pgJnkupvno4HljYAiCisKKyN+IG1zZ2lkICIgICAgLXYgW29yIC0tdmVyc2lvbl06ICAgcHJpbnQgdmVyc2lvbiIKKyN+IG1zZ3N0ciAiICAgIC12IFvmiJYgLS12ZXJzaW9uXe+8miAg5Y2w5Ye654mI5pysIgorCisjfiBtc2dpZCAiICAgIC1nIFtvciAtLXNob3ctZ2VvbWV0cnldOiBwcmludCB0aGUga2VybmVsJ3MgaWRlYSBvZiB0aGUgZ2VvbWV0cnkiCisjfiBtc2dzdHIgIiAgICAtZyBb5oiWIC0tc2hvdy1nZW9tZXRyeV3vvJrljbDlh7rlhafmoLjlsI3mlrznoaznop/ntZDmp4vlj4PmlbjnmoToqo3nn6UiCisKKyN+IG1zZ2lkICIgICAgLUwgIFtvciAtLUxpbnV4XTogICAgICBkbyBub3QgY29tcGxhaW4gYWJvdXQgdGhpbmdzIGlycmVsZXZhbnQgZm9yIExpbnV4IgorI34gbXNnc3RyICIgICAgLUwgIFvmiJYgLS1MaW51eF3vvJogICAgIOS4jeaKseaAqOWwjeaWvCBMaW51eCDogIzoqIDkuKbkuI3ph43opoHnmoTmnbHopb8iCisKKyN+IG1zZ2lkICIgICAgWW91IGNhbiBvdmVycmlkZSB0aGUgZGV0ZWN0ZWQgZ2VvbWV0cnkgdXNpbmc6IgorI34gbXNnc3RyICIgICAg5oKo5Y+v5Lul5by35Yi26K6K5pu05YG15ris5Yiw55qE56Gs56Kf57WQ5qeL5Y+D5pW46ICM5L2/55So77yaIgorCisjfiBtc2dpZCAiICAgIC1mICBbb3IgLS1mb3JjZV06ICAgICAgZG8gd2hhdCBJIHNheSwgZXZlbiBpZiBpdCBpcyBzdHVwaWQiCisjfiBtc2dzdHIgIiAgICAtZiAgW+aIliAtLWZvcmNlXe+8miAgICAg54Wn5oiR5omA6Kqq55qE5Y675YGa77yM5Y2z5L2/5a6D5pyJ5Lqb5oSa6KCiIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gInNmZGlzazogcHJlbWF0dXJlIGVuZCBvZiBpbnB1dFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAic2ZkaXNr77ya5pyq6YGU57WQ5bC+55qE6Ly45YWlXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiBjb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICLorablkYrvvJrnhKHms5XplovllZ8gJXPvvJolc1xuIgorCisjfiBtc2dpZCAiV0FSTklORzogYmFkIGZvcm1hdCBvbiBsaW5lICVkIG9mICVzXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8muS4jeeVtueahOagvOW8j+aWvCAlMiRzIOeahOesrCAlMSRkIOWIl1xuIgorCisjfiBtc2dpZCAiIgorI34gIldBUk5JTkc6IFlvdXIgL2V0Yy9mc3RhYiBkb2VzIG5vdCBjb250YWluIHRoZSBmc2NrIHBhc3Nub1xuIgorI34gIlx0ZmllbGQuICBJIHdpbGwga2x1ZGdlIGFyb3VuZCB0aGluZ3MgZm9yIHlvdSwgYnV0IHlvdVxuIgorI34gIlx0c2hvdWxkIGZpeCB5b3VyIC9ldGMvZnN0YWIgZmlsZSBhcyBzb29uIGFzIHlvdSBjYW4uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLorablkYrvvJrmgqjnmoQgL2V0Yy9mc3RhYiDkuI3ljIXlkKsgZnNjayBwYXNzbm9cbiIKKyN+ICJcdOashOS9jeOAguaIkeWwh+eCuuaCqOaJk+m7nueRo+S6i++8jOS9huaYr+aCqFxuIgorI34gIlx05oeJ6Kmy5YSY5b+r5L+u5q2j5oKo55qEIC9ldGMvZnN0YWIg5qqU5qGI44CCXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBhbGxvY2F0ZSBtZW1vcnkgZm9yIGZpbGVzeXN0ZW0gdHlwZXNcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6YWN572u6KiY5oa26auU57Wm5qqU5qGI57O757Wx6aGe5Z6LXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IGZzdHlwZV0gW2ZzLW9wdGlvbnNdIFtmaWxlc3lzIC4uLl1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaZnNjayBbLUFNTlBSVFZdIFsgLUMgWyBmZCBdIF0gWy10IOaqlOahiOezu+e1semhnuWei10gW+aqlOahiOezu+e1semBuOmghV0gW+aqlOahiOezu+e1sSDigKZdXG4iCisKKyN+IG1zZ2lkICJDb3VsZG4ndCBvcGVuICVzOiAlc1xuIgorI34gbXNnc3RyICLnhKHms5XplovllZ8gJXPvvJolc1xuIgorCisjfiBtc2dpZCAiZnNjayBmcm9tICVzXG4iCisjfiBtc2dzdHIgImZzY2sg5L6G6IeqICVzXG4iCisKKyN+IG1zZ2lkICIlczogVW5hYmxlIHRvIGFsbG9jYXRlIG1lbW9yeSBmb3IgZnNja19wYXRoXG4iCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV6YWN572u6KiY5oa26auU57WmIGZzY2tfcGF0aFxuIgorCisjfiBtc2dpZCAiVHJ5IGBnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cbiIKKyN+IG1zZ3N0ciAi6Kmm6JGX5Z+36KGM44CMZ2V0b3B0IC0taGVscOOAjeS7peeNsuW+l+abtOWkmuizh+ioiuOAglxuIgorCisjfiBtc2dpZCAiVXNhZ2U6IGdldG9wdCBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICLnlKjms5XvvJpnZXRvcHQg6YG46aCF5a2X5LiyIOWPg+aVuFxuIgorCisjfiBtc2dpZCAiICAgICAgIGdldG9wdCBbb3B0aW9uc10gWy0tXSBvcHRzdHJpbmcgcGFyYW1ldGVyc1xuIgorI34gbXNnc3RyICIgICAgICAgZ2V0b3B0IFvpgbjpoIVdIFstLV0g6YG46aCF5a2X5LiyIOWPg+aVuFxuIgorCisjfiBtc2dpZCAiICAgICAgICAgICAgICBwYXJhbWV0ZXJzXG4iCisjfiBtc2dzdHIgIiAgICAgICAgICAgICAg5Y+D5pW4XG4iCisKKyN+IG1zZ2lkICJnZXRvcHQgKGVuaGFuY2VkKSAxLjEuNFxuIgorI34gbXNnc3RyICJnZXRvcHQgKOmAsumajueJiCkgMS4xLjRcbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuIC9kZXYvcG9ydDogJXMiCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyAvZGV2L3BvcnTvvJolcyIKKworI34gbXNnaWQgIihFeHBlY3RlZDogYFVUQycgb3IgYExPQ0FMJyBvciBub3RoaW5nLilcbiIKKyN+IG1zZ3N0ciAiKOmgkOacn++8muOAjFVUQ+OAjeOAgeOAjOacrOWcsOOAjeaIluaykuacieS7u+S9leioreWumuOAgilcbiIKKworI34gbXNnaWQgIiIKKyN+ICJod2Nsb2NrIC0gcXVlcnkgYW5kIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgKFJUQylcbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTogaHdjbG9jayBbZnVuY3Rpb25dIFtvcHRpb25zLi4uXVxuIgorI34gIlxuIgorI34gIkZ1bmN0aW9uczpcbiIKKyN+ICIgIC1oIHwgLS1oZWxwICAgICAgICAgc2hvdyB0aGlzIGhlbHBcbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAgcmVhZCBoYXJkd2FyZSBjbG9jayBhbmQgcHJpbnQgcmVzdWx0XG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIHNldCB0aGUgcnRjIHRvIHRoZSB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtcyB8IC0taGN0b3N5cyAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgaGFyZHdhcmUgY2xvY2tcbiIKKyN+ICIgIC13IHwgLS1zeXN0b2hjICAgICAgc2V0IHRoZSBoYXJkd2FyZSBjbG9jayB0byB0aGUgY3VycmVudCBzeXN0ZW0gdGltZVxuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICBzZXQgdGhlIHN5c3RlbSB0aW1lIGJhc2VkIG9uIHRoZSBjdXJyZW50IHRpbWV6b25lXG4iCisjfiAiICAgICAgIC0tYWRqdXN0ICAgICAgIGFkanVzdCB0aGUgcnRjIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgc2luY2VcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgdGhlIGNsb2NrIHdhcyBsYXN0IHNldCBvciBhZGp1c3RlZFxuIgorI34gIiAgICAgICAtLWdldGVwb2NoICAgICBwcmludCBvdXQgdGhlIGtlcm5lbCdzIGhhcmR3YXJlIGNsb2NrIGVwb2NoIHZhbHVlXG4iCisjfiAiICAgICAgIC0tc2V0ZXBvY2ggICAgIHNldCB0aGUga2VybmVsJ3MgaGFyZHdhcmUgY2xvY2sgZXBvY2ggdmFsdWUgdG8gdGhlIFxuIgorI34gIiAgICAgICAgICAgICAgICAgICAgICB2YWx1ZSBnaXZlbiB3aXRoIC0tZXBvY2hcbiIKKyN+ICIgICAgICAgLS1wcmVkaWN0ICAgICAgcHJlZGljdCBydGMgcmVhZGluZyBhdCB0aW1lIGdpdmVuIHdpdGggLS1kYXRlXG4iCisjfiAiICAtdiB8IC0tdmVyc2lvbiAgICAgIHByaW50IG91dCB0aGUgdmVyc2lvbiBvZiBod2Nsb2NrIHRvIHN0ZG91dFxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6IFxuIgorI34gIiAgLXUgfCAtLXV0YyAgICAgICAgICB0aGUgaGFyZHdhcmUgY2xvY2sgaXMga2VwdCBpbiBVVENcbiIKKyN+ICIgICAgICAgLS1sb2NhbHRpbWUgICAgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIGtlcHQgaW4gbG9jYWwgdGltZVxuIgorI34gIiAgLWYgfCAtLXJ0Yz1wYXRoICAgICBzcGVjaWFsIC9kZXYvLi4uIGZpbGUgdG8gdXNlIGluc3RlYWQgb2YgZGVmYXVsdFxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICBhY2Nlc3MgdGhlIElTQSBidXMgZGlyZWN0bHkgaW5zdGVhZCBvZiAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICBpZ25vcmUgcnRjJ3MgeWVhciBiZWNhdXNlIHRoZSBiaW9zIGlzIGJyb2tlblxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICBzcGVjaWZpZXMgdGhlIHRpbWUgdG8gd2hpY2ggdG8gc2V0IHRoZSBoYXJkd2FyZSBjbG9ja1xuIgorI34gIiAgICAgICAtLWVwb2NoPXllYXIgICBzcGVjaWZpZXMgdGhlIHllYXIgd2hpY2ggaXMgdGhlIGJlZ2lubmluZyBvZiB0aGUgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIGhhcmR3YXJlIGNsb2NrJ3MgZXBvY2ggdmFsdWVcbiIKKyN+ICIgICAgICAgLS1ub2FkamZpbGUgICAgZG8gbm90IGFjY2VzcyAvZXRjL2FkanRpbWUuIFJlcXVpcmVzIHRoZSB1c2Ugb2ZcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgZWl0aGVyIC0tdXRjIG9yIC0tbG9jYWx0aW1lXG4iCisjfiAiICAgICAgIC0tYWRqZmlsZT1wYXRoIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGUgKGRlZmF1bHQgaXNcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgL2V0Yy9hZGp0aW1lKVxuIgorI34gIiAgICAgICAtLXRlc3QgICAgICAgICBkbyBldmVyeXRoaW5nIGV4Y2VwdCBhY3R1YWxseSB1cGRhdGluZyB0aGUgaGFyZHdhcmVcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgY2xvY2sgb3IgYW55dGhpbmcgZWxzZVxuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICBkZWJ1ZyBtb2RlXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJod2Nsb2NrIC0g5p+l6Kmi5ZKM6Kit5a6a56Gs6auU5pmC6ZCYIChSVEMpXG4iCisjfiAiXG4iCisjfiAi55So5rOV77yaaHdjbG9jayBb5Yqf6IO9XSBb6YG46aCFLi4uXVxuIgorI34gIlxuIgorI34gIuWHveW8j++8mlxuIgorI34gIiAgLWggfCAtLWhlbHAgICAgICAgICDpoa/npLrpgJnlgIvoqqrmmI5cbiIKKyN+ICIgIC1yIHwgLS1zaG93ICAgICAgICAg6K6A5Y+W56Gs6auU5pmC6ZCY5ZKM5Y2w5Ye657WQ5p6cXG4iCisjfiAiICAgICAgIC0tc2V0ICAgICAgICAgIOioreWumiBydGMg54K65LulIC0tZGF0ZSDmiYDntablrprnmoTmmYLplpNcbiIKKyN+ICIgIC1zIHwgLS1oY3Rvc3lzICAgICAg5b6e56Gs6auU5pmC6ZCY6Kit5a6a57O757Wx5pmC6ZaTXG4iCisjfiAiICAtdyB8IC0tc3lzdG9oYyAgICAgIOioreWumuehrOmrlOaZgumQmOeCuuebruWJjeezu+e1seaZgumWk1xuIgorI34gIiAgICAgICAtLXN5c3R6ICAgICAgICDoqK3lrprns7vntbHmmYLplpPln7rmlrznm67liY3nmoTmmYLljYBcbiIKKyN+ICIgICAgICAgLS1hZGp1c3QgICAgICAg6Kq/5pW0IHJ0YyDngrrluLPomZ/nmoTns7vntbHlgY/lt67vvIzmoLnmk5pcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAg5pmC6ZCY55qE5pyA5b6M5LiA5qyh6Kit5a6a5oiW6Kq/5pW0XG4iCisjfiAiICAgICAgIC0tZ2V0ZXBvY2ggICAgIOWNsOWHuuWFp+aguOeahOehrOmrlOaZgumQmOaZguacn+WAvFxuIgorI34gIiAgICAgICAtLXNldGVwb2NoICAgICDoqK3lrprlhafmoLjnmoTnoazpq5TmmYLpkJjmmYLmnJ/lgLzngrpcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAg5LulIC0tZXBvY2gg5omA57Wm5a6a55qE5YC8XG4iCisjfiAiICAgICAgIC0tcHJlZGljdCAgICAgIHByZWRpY3QgcnRjIOiugOWPluaWvOaZgumWk+e1puWumuiHqiAtLWRhdGVcbiIKKyN+ICIgIC12IHwgLS12ZXJzaW9uICAgICAg5Y2w5Ye6IGh3Y2xvY2sg55qE54mI5pys5Yiw5qiZ5rqW6Ly45Ye6XG4iCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiICAtdSB8IC0tdXRjICAgICAgICAgIOehrOmrlOaZgumQmOS/neaMgeeCuuWNlOiqv+S4lueVjOaZgumWk1xuIgorI34gIiAgICAgICAtLWxvY2FsdGltZSAgICDnoazpq5TmmYLpkJjkv53mjIHngrrljYDln5/mmYLplpNcbiIKKyN+ICIgIC1mIHwgLS1ydGM9cGF0aCAgICAg5L2/55So54m55q6KIC9kZXYvLi4uIOaqlOahiOS7peS7o+abv+mgkOiorVxuIgorI34gIiAgICAgICAtLWRpcmVjdGlzYSAgICDnm7TmjqXlrZjlj5YgSVNBIOWMr+a1geaOkuS7peS7o+abvyAlc1xuIgorI34gIiAgICAgICAtLWJhZHllYXIgICAgICDlv73nlaUgcnRjIOeahOW5tOWIhu+8jOWboOeCuiBiaW9zIOS4jeWujOaVtFxuIgorI34gIiAgICAgICAtLWRhdGUgICAgICAgICDmjIflrprmmYLplpPngrroqbLpoIXku6XoqK3lrprnoazpq5TmmYLpkJhcbiIKKyN+ICIgICAgICAgLS1lcG9jaD15ZWFyICAg5oyH5a6a56Gs6auU5pmC6ZCY5pmC5pyf5YC8XG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIOeahOmWi+Wni+W5tOWIhlxuIgorI34gIiAgICAgICAtLW5vYWRqZmlsZSAgICDkuI3lrZjlj5YgL2V0Yy9hZGp0aW1l44CC6ZyA6KaB5L2/55SoXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC0tdXRjIOaKkeaIliAtLWxvY2FsdGltZVxuIgorI34gIiAgICAgICAtLWFkamZpbGU96Lev5b6RIOaMh+Wumui3r+W+keWIsOiqv+aVtOaqlOahiCAo6aCQ6Kit5pivXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIC/nrYnpoIUvYWRqdGltZSlcbiIKKyN+ICIgICAgICAgLS10ZXN0ICAgICAgICAg5YGa5omA5pyJ5p2x6KW/6Zmk5LqG5a+m6Zqb55qE5Zyw5pu05paw56Gs6auUXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIOaZgumQmOaIluWFtuS7luS7u+S9leS6i1xuIgorI34gIiAgLUQgfCAtLWRlYnVnICAgICAgICDpmaTpjK/mqKHlvI9cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJZb3UgaGF2ZSBzcGVjaWZpZWQgbXVsdGlwbGUgZnVuY3Rpb25zLlxuIgorI34gIllvdSBjYW4gb25seSBwZXJmb3JtIG9uZSBmdW5jdGlvbiBhdCBhIHRpbWUuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLmgqjlt7LmjIflrprlpJrph43lip/og73jgIJcbiIKKyN+ICLmgqjlj6rog73kuIDmrKHlr6booYzkuIDlgIvlip/og73jgIJcbiIKKworI34gbXNnaWQgIiVzOiBUaGUgLS11dGMgYW5kIC0tbG9jYWx0aW1lIG9wdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4gIFlvdSBzcGVjaWZpZWQgYm90aC5cbiIKKyN+IG1zZ3N0ciAiJXPvvJotLXV0YyDlkowgLS1sb2NhbHRpbWUg6YG46aCF5LqS5pal44CCIOaCqOWNu+W3suaMh+WumuWFqeiAheOAglxuIgorCisjfiBtc2dpZCAiJXM6IFRoZSAtLWFkanVzdCBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLlxuIgorI34gbXNnc3RyICIlc++8mi0tYWRqdXN0IOWSjCAtLW5vYWRqZmlsZSDpgbjpoIXkupLmlqXjgIIg5oKo5Y275bey5oyH5a6a5YWp6ICF44CCXG4iCisKKyN+IG1zZ2lkICIlczogVGhlIC0tYWRqZmlsZSBhbmQgLS1ub2FkamZpbGUgb3B0aW9ucyBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlLiAgWW91IHNwZWNpZmllZCBib3RoLlxuIgorI34gbXNnc3RyICIlc++8mi0tYWRqdXN0IOWSjCAtLW5vYWRqZmlsZSDpgbjpoIXkupLmlqXjgIIg5oKo5Y275bey5oyH5a6a5YWp6ICF44CCXG4iCisKKyN+IG1zZ2lkICJPcGVuIG9mICVzIGZhaWxlZCIKKyN+IG1zZ3N0ciAi6ZaL5ZWfICVzIOaZguWkseaVlyIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBpbml0c3RyaW5nIgorI34gbXNnc3RyICLnhKHms5UgbWFsbG9jIOWIneWni+Wtl+S4siIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgWy04aGlMbVV3XSBbLWwgbG9naW5fcHJvZ3JhbV0gWy10IHRpbWVvdXRdIFstSSBpbml0c3RyaW5nXSBbLUggbG9naW5faG9zdF0gYmF1ZF9yYXRlLC4uLiBsaW5lIFt0ZXJtdHlwZV1cbiIKKyN+ICJvclx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolcyBbLThoaUxtVXddIFstbCBsb2dpbl9wcm9ncmFtXSBbLXQgdGltZW91dF0gWy1JIGluaXRzdHJpbmddIFstSCBsb2dpbl9ob3N0XSBiYXVkX3JhdGUsLi4uIGxpbmUgW3Rlcm10eXBlXVxuIgorI34gIuaIllx0Wy1oaUxtd10gWy1sIGxvZ2luX3Byb2dyYW1dIFstdCB0aW1lb3V0XSBbLUkgaW5pdHN0cmluZ10gWy1IIGxvZ2luX2hvc3RdIGxpbmUgYmF1ZF9yYXRlLC4uLiBbdGVybXR5cGVdXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogbWVtb3J5IGxvdywgbG9naW4gbWF5IGZhaWxcbiIKKyN+IG1zZ3N0ciAi55m75YWl77ya6KiY5oa26auU5rib5bCR77yM55m75YWl5Lmf5Y+v6IO95pyD5aSx5pWXXG4iCisKKyN+IG1zZ2lkICJjYW4ndCBtYWxsb2MgZm9yIHR0eWNsYXNzIgorI34gbXNnc3RyICLnhKHms5XlsIcgbWFsbG9jIOeUqOaWvCB0dHljbGFzcyIKKworI34gbXNnaWQgImNhbid0IG1hbGxvYyBmb3IgZ3JwbGlzdCIKKyN+IG1zZ3N0ciAi54Sh5rOV5bCHIG1hbGxvYyDnlKjmlrwgZ3JwbGlzdCIKKworI34gbXNnaWQgIkxvZ2luIG9uICVzIGZyb20gJXMgZGVuaWVkLlxuIgorI34gbXNnc3RyICLlvp4gJTIkcyDliLAgJTEkcyDnmoTnmbvlhaXooqvmi5LjgIJcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbIC1mIGZ1bGwtbmFtZSBdIFsgLW8gb2ZmaWNlIF0gIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbIC1mIGZ1bGwtbmFtZSBdIFsgLW8gb2ZmaWNlIF0gIgorCisjfiBtc2dpZCAiWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiBtc2dzdHIgIlsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorCisjfiBtc2dpZCAiIgorI34gIlVzYWdlOiAlcyBbIC1zIHNoZWxsIF0gWyAtLWxpc3Qtc2hlbGxzIF0gWyAtLWhlbHAgXSBbIC0tdmVyc2lvbiBdXG4iCisjfiAiICAgICAgIFsgdXNlcm5hbWUgXVxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yaJXMgWyAtcyBzaGVsbCBdIFsgLS1saXN0LXNoZWxscyBdIFsgLS1oZWxwIF0gWyAtLXZlcnNpb24gXVxuIgorI34gIiAgICAgICBbIHVzZXJuYW1lIF1cbiIKKworI34gbXNnaWQgIiVzOiBVc2UgLWwgb3B0aW9uIHRvIHNlZSBsaXN0LlxuIgorI34gbXNnc3RyICIlc++8muS9v+eUqCAtbCDpgbjpoIXku6Xlj4PnnIvliJfooahcbiIKKworI34gbXNnaWQgIlVzZSAlcyAtbCB0byBzZWUgbGlzdC5cbiIKKyN+IG1zZ3N0ciAi5L2/55SoICVzIC1sIOS7peWPg+eci+WIl+ihqOOAglxuIgorCisjfiBtc2dpZCAiRmFpbGVkIHRvIG9wZW4gJXMgZm9yIHJlYWRpbmcsIGV4aXRpbmcuIgorI34gbXNnc3RyICLplovllZ8gJXMg55So5pa86K6A5Y+W5pmC5aSx5pWX77yM6Zui6ZaL44CCIgorCisjfiBtc2dpZCAibGFzdDogbWFsbG9jIGZhaWx1cmUuXG4iCisjfiBtc2dzdHIgImxhc3TvvJptYWxsb2Mg5aSx5pWX44CCXG4iCisKKyN+IG1zZ2lkICJsb2dpbjogT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICLnmbvlhaXvvJroqJjmhrbpq5TkuI3otrNcbiIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgRlJPTSAlcyBPTiBUVFkgJXMiCisjfiBtc2dzdHIgIuW+niAlMiRzIOaWvCBUVFkgJTMkcyDooqvmi5LntZXnmbvlhaUgJTEkcyIKKworI34gbXNnaWQgIkxPR0lOICVzIFJFRlVTRUQgT04gVFRZICVzIgorI34gbXNnc3RyICLmlrwgVFRZICUyJHMg6KKr5ouS57WV55m75YWlICUxJHMiCisKKyN+IG1zZ2lkICJMb2dpbiBpbmNvcnJlY3RcbiIKKyN+IG1zZ3N0ciAi55m75YWl5LiN5q2j56K6XG4iCisKKyN+IG1zZ2lkICJsb2dpbjogZmFpbHVyZSBmb3JraW5nOiAlcyIKKyN+IG1zZ3N0ciAibG9naW7vvJrooY3nlJ/nqIvlvI/lpLHmlZfvvJolcyIKKworI34gbXNnaWQgImxvZ2luOiBubyBzaGVsbDogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2lu77ya54Sh5ZG95Luk5q6877yaJXPjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICIlcyBsb2dpbjogIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAiJXMgbG9naW7vvJoiCisKKyN+IG1zZ2lkICJsb2dpbiBuYW1lIG11Y2ggdG9vIGxvbmcuXG4iCisjfiBtc2dzdHIgIueZu+WFpeWQjeeosemBjumVt+OAglxuIgorCisjfiBtc2dpZCAiTkFNRSB0b28gbG9uZyIKKyN+IG1zZ3N0ciAi5ZCN56ix6YGO6ZW3IgorCisjfiBtc2dpZCAibG9naW4gbmFtZXMgbWF5IG5vdCBzdGFydCB3aXRoICctJy5cbiIKKyN+IG1zZ3N0ciAi55m75YWl5ZCN56ix5LiN5Y+v55So44CMLeOAjeWVn+Wni+OAglxuIgorCisjfiBtc2dpZCAiRVhDRVNTSVZFIGxpbmVmZWVkcyIKKyN+IG1zZ3N0ciAiRVhDRVNTSVZFIOaPm+WIl+Wtl+WFgyIKKworI34gbXNnaWQgIkxPR0lOIEZBSUxVUkUgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIuW+niAlcywgJXMg55qE55m75YWl5aSx5pWXIgorCisjfiBtc2dpZCAiTE9HSU4gRkFJTFVSRSBPTiAlcywgJXMiCisjfiBtc2dzdHIgIuaWvCAlcywgJXMg55qE55m75YWl5aSx5pWXIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgRlJPTSAlcywgJXMiCisjfiBtc2dzdHIgIiVkIOW+niAlcywgJXMg55qE55m75YWl5aSx5pWXIgorCisjfiBtc2dpZCAiJWQgTE9HSU4gRkFJTFVSRVMgT04gJXMsICVzIgorI34gbXNnc3RyICIlZCDmlrwgJXMsICVzIOeahOeZu+WFpeWkseaVlyIKKworI34gbXNnaWQgInVzYWdlOiBtZXNnIFt5IHwgbl1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yabWVzZyBbeSB8IG5dXG4iCisKKyN+IG1zZ2lkICJuZXdncnA6IHNldGdpZCIKKyN+IG1zZ3N0ciAibmV3Z3Jw77yac2V0Z2lkIgorCisjfiBtc2dpZCAibmV3Z3JwOiBQZXJtaXNzaW9uIGRlbmllZCIKKyN+IG1zZ3N0ciAibmV3Z3Jw77ya5qyK6ZmQ6KKr5ouSIgorCisjfiBtc2dpZCAibmV3Z3JwOiBzZXR1aWQiCisjfiBtc2dzdHIgIm5ld2dycO+8mnNldHVpZCIKKworI34gbXNnaWQgIlVzYWdlOiBzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGhoOnNzfCttaW5zXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJpzaHV0ZG93biBbLWh8LXJdIFstZnFzXSBbbm93fGho77yac3N8K21pbnNdXG4iCisKKyN+IG1zZ2lkICJTaHV0ZG93biBwcm9jZXNzIGFib3J0ZWQiCisjfiBtc2dzdHIgIuaUvuajhOmXnOapn+ihjOeoiyIKKworI34gbXNnaWQgIiVzOiBPbmx5IHJvb3QgY2FuIHNodXQgYSBzeXN0ZW0gZG93bi5cbiIKKyN+IG1zZ3N0ciAiJXPvvJrlj6rmnIkgcm9vdCDlj6/ku6Xpl5zplonns7vntbHjgIJcbiIKKworI34gbXNnaWQgIlRoYXQgbXVzdCBiZSB0b21vcnJvdywgY2FuJ3QgeW91IHdhaXQgdGlsbCB0aGVuP1xuIgorI34gbXNnc3RyICLpgqPlv4XpoIjopoHliLDmmI7lpKnvvIzmgqjnhKHms5XnrYnliLDpgqPmmYLlgJnll47vvJ9cbiIKKworI34gbXNnaWQgImZvciBtYWludGVuYW5jZTsgYm91bmNlLCBib3VuY2UiCisjfiBtc2dzdHIgIuWfuuaWvOe2reitt+WboOe0oO+8m+i3s+mWi+OAgei3s+mWiyIKKworI34gbXNnaWQgIlRoZSBzeXN0ZW0gaXMgYmVpbmcgc2h1dCBkb3duIHdpdGhpbiA1IG1pbnV0ZXMiCisjfiBtc2dzdHIgIuezu+e1seWwh+WcqOS6lOWIhumQmOWFp+mXnOapnyIKKworI34gbXNnaWQgIkxvZ2luIGlzIHRoZXJlZm9yZSBwcm9oaWJpdGVkLiIKKyN+IG1zZ3N0ciAi55m75YWl5Zug6ICM6KKr56aB5q2i44CCIgorCisjfiBtc2dpZCAicmVib290ZWQgYnkgJXM6ICVzIgorI34gbXNnc3RyICLph43mlrDplovmqZ/lkb3ku6Tkvoboh6ogJXM6ICVzIgorCisjfiBtc2dpZCAiaGFsdGVkIGJ5ICVzOiAlcyIKKyN+IG1zZ3N0ciAi57WC5q2i5ZG95Luk5L6G6IeqICVzOiAlcyIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJXaHkgYW0gSSBzdGlsbCBhbGl2ZSBhZnRlciByZWJvb3Q/IgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi54K65LuA6bq86YeN5paw6ZaL5qmf5LmL5b6M5oiR6YKE5Zyo6YGL6KGM77yfIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIk5vdyB5b3UgY2FuIHR1cm4gb2ZmIHRoZSBwb3dlci4uLiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIuePvuWcqOaCqOWPr+S7pemXnOmWiembu+a6kOKApiIKKworI34gbXNnaWQgIkNhbGxpbmcga2VybmVsIHBvd2VyLW9mZiBmYWNpbGl0eS4uLlxuIgorI34gbXNnc3RyICLlkbzlj6vlhafmoLjpl5zmqZ/lip/og73igKZcbiIKKworI34gbXNnaWQgIkVycm9yIHBvd2VyaW5nIG9mZlx0JXNcbiIKKyN+IG1zZ3N0ciAi6Zec6ZaJ6Zu75rqQ5pmC55m855Sf6Yyv6KqkXHQlc1xuIgorCisjfiBtc2dpZCAiRXhlY3V0aW5nIHRoZSBwcm9ncmFtIFwiJXNcIiAuLi5cbiIKKyN+IG1zZ3N0ciAi5q2j5Zyo5Z+36KGM56iL5byP44CMJXPjgI3igKZcbiIKKworI34gbXNnaWQgIlVSR0VOVDogYnJvYWRjYXN0IG1lc3NhZ2UgZnJvbSAlczoiCisjfiBtc2dzdHIgIue3iuaApe+8muW7o+aSreioiuaBr+S+huiHqiAlc++8miIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluICVkIGhvdXJzICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIuezu+e1seaWvCAlZCDlsI/mmYIgJWQg5YiG6ZCY5b6M6YCy6KGM6Zec5qmfIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gaW4gMSBob3VyICVkIG1pbnV0ZXMiCisjfiBtc2dzdHIgIuezu+e1seaWvCAxIOWwj+aZgiAlZCDliIbpkJjlvozpgLLooYzpl5zmqZ8iCisKKyN+IG1zZ2lkICJTeXN0ZW0gZ29pbmcgZG93biBpbiAlZCBtaW51dGVzXG4iCisjfiBtc2dzdHIgIuezu+e1seaWvCAlZCDliIbpkJjlvozpgLLooYzpl5zmqZ9cbiIKKworI34gbXNnaWQgIlN5c3RlbSBnb2luZyBkb3duIGluIDEgbWludXRlXG4iCisjfiBtc2dzdHIgIuezu+e1seaWvCAxIOWIhumQmOW+jOmAsuihjOmXnOapn1xuIgorCisjfiBtc2dpZCAiU3lzdGVtIGdvaW5nIGRvd24gSU1NRURJQVRFTFkhXG4iCisjfiBtc2dzdHIgIuezu+e1seWNs+Wwh+mAsuihjOmXnOapn++8gVxuIgorCisjfiBtc2dpZCAiXHQuLi4gJXMgLi4uXG4iCisjfiBtc2dzdHIgIlx04oCmICVzIOKAplxuIgorCisjfiBtc2dpZCAiQ2Fubm90IGZvcmsgZm9yIHN3YXBvZmYuIFNocnVnISIKKyN+IG1zZ3N0ciAi54Sh5rOV6KGN55Sf5Z+36KGMIHN3YXBvZmbjgILmspLovJLvvIEiCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyBzd2Fwb2ZmLCBob3BpbmcgdW1vdW50IHdpbGwgZG8gdGhlIHRyaWNrLiIKKyN+IG1zZ3N0ciAi54Sh5rOV5Z+36KGMIHN3YXBvZmbvvIzluIzmnJsgdW1vdW50IOiDvemghuS+v+WBmuWIsOOAgiIKKworI34gbXNnaWQgIkNhbm5vdCBmb3JrIGZvciB1bW91bnQsIHRyeWluZyBtYW51YWxseS4iCisjfiBtc2dzdHIgIueEoeazleihjeeUn+Wft+ihjCB1bW91bnTvvIzoqabokZfmiYvli5Xln7fooYzjgIIiCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyAlcywgdHJ5aW5nIHVtb3VudC5cbiIKKyN+IG1zZ3N0ciAi54Sh5rOV5Z+36KGMICVzLCDoqabokZcgdW1vdW5044CCXG4iCisKKyN+IG1zZ2lkICJDYW5ub3QgZXhlYyB1bW91bnQsIGdpdmluZyB1cCBvbiB1bW91bnQuIgorI34gbXNnc3RyICLnhKHms5Xln7fooYwgdW1vdW5077yM5pS+5qOE5Z+36KGMIHVtb3VudOOAgiIKKworI34gbXNnaWQgIlVubW91bnRpbmcgYW55IHJlbWFpbmluZyBmaWxlc3lzdGVtcy4uLiIKKyN+IG1zZ3N0ciAi5Y246LyJ5Lu75L2V6YKE5o6b6LyJ55qE5qqU5qGI57O757Wx4oCmIgorCisjfiBtc2dpZCAic2h1dGRvd246IENvdWxkbid0IHVtb3VudCAlczogJXNcbiIKKyN+IG1zZ3N0ciAic2h1dGRvd27vvJrnhKHms5XljbjovIkgJXM6ICVzXG4iCisKKyN+IG1zZ2lkICJCb290aW5nIHRvIHNpbmdsZSB1c2VyIG1vZGUuXG4iCisjfiBtc2dzdHIgIumWi+apn+mAsuWFpeWWruS4gOS9v+eUqOiAheaooeW8j+OAglxuIgorCisjfiBtc2dpZCAiZXhlYyBvZiBzaW5nbGUgdXNlciBzaGVsbCBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAi5Zau5LiA5L2/55So6ICF5ZG95Luk5q685Z+36KGM5pmC5aSx5pWXXG4iCisKKyN+IG1zZ2lkICJmb3JrIG9mIHNpbmdsZSB1c2VyIHNoZWxsIGZhaWxlZFxuIgorI34gbXNnc3RyICLllq7kuIDkvb/nlKjogIXlkb3ku6TmrrzooY3nlJ/ln7fooYzmmYLlpLHmlZdcbiIKKworI34gbXNnaWQgImVycm9yIG9wZW5pbmcgZmlmb1xuIgorI34gbXNnc3RyICLplovllZ8gZmlmbyDmmYLnmbznlJ/pjK/oqqRcbiIKKworI34gbXNnaWQgImVycm9yIHNldHRpbmcgY2xvc2Utb24tZXhlYyBvbiAvZGV2L2luaXRjdGwiCisjfiBtc2dzdHIgIuaWvCAvZGV2L2luaXRjdGwg6Kit5a6aIGNsb3NlLW9uLWV4ZWMg5pmC55m855Sf6Yyv6KqkIgorCisjfiBtc2dpZCAiZXJyb3IgcnVubmluZyBmaW5hbHByb2dcbiIKKyN+IG1zZ3N0ciAi5Z+36KGMIGZpbmFscHJvZyDmmYLnmbznlJ/pjK/oqqRcbiIKKworI34gbXNnaWQgImVycm9yIGZvcmtpbmcgZmluYWxwcm9nXG4iCisjfiBtc2dzdHIgIuihjeeUn+Wft+ihjCBmaW5hbHByb2cg5pmC55m855Sf6Yyv6KqkXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiV3JvbmcgcGFzc3dvcmQuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLpjK/oqqTnmoTlr4bnorzjgIJcbiIKKworI34gbXNnaWQgInJlc3Bhd25pbmc6IFwiJXNcIiB0b28gZmFzdDogcXVlbmNoaW5nIGVudHJ5XG4iCisjfiBtc2dzdHIgInJlc3Bhd25pbmfvvJrjgIwlc+OAjeWkquW/q++8muWBnOaBr+mgheebrlxuIgorCisjfiBtc2dpZCAiZm9yayBmYWlsZWRcbiIKKyN+IG1zZ3N0ciAi6KGN55Sf5Z+36KGM5pmC5aSx5pWXXG4iCisKKyN+IG1zZ2lkICJjYW5ub3Qgb3BlbiBpbml0dGFiXG4iCisjfiBtc2dzdHIgIueEoeazlemWi+WVnyBpbml0dGFiXG4iCisKKyN+IG1zZ2lkICJubyBURVJNIG9yIGNhbm5vdCBzdGF0IHR0eVxuIgorI34gbXNnc3RyICLmspLmnIkgVEVSTSDmiJbnhKHms5Xlj5blvpcgdHR5IOeLgOaFi1xuIgorCisjfiBtc2dpZCAiZXJyb3IgYXQgc3RvcHBpbmcgc2VydmljZSBcIiVzXCJcbiIKKyN+IG1zZ3N0ciAi5pa85YGc5q2i5pyN5YuZ44CMJXPjgI3mmYLnmbznlJ/pjK/oqqRcbiIKKworI34gbXNnaWQgIlN0b3BwZWQgc2VydmljZTogJXNcbiIKKyN+IG1zZ3N0ciAi5YGc5q2i55qE5pyN5YuZ77yaJXNcbiIKKworI34gbXNnaWQgImVycm9yIGF0IHN0YXJ0aW5nIHNlcnZpY2UgXCIlc1wiXG4iCisjfiBtc2dzdHIgIuaWvOmWi+Wni+acjeWLmeOAjCVz44CN5pmC55m855Sf6Yyv6KqkXG4iCisKKyN+IG1zZ2lkICIlczogQkFEIEVSUk9SIgorI34gbXNnc3RyICIlc++8muS4jeeVtueahOmMr+iqpCIKKworI34gbXNnaWQgIiVzOiB0aGUgZ3JvdXAgZmlsZSBpcyBidXN5LlxuIgorI34gbXNnc3RyICIlc++8mue+pOe1hOaqlOahiOW/meeijOS4reOAglxuIgorCisjfiBtc2dpZCAiJXM6IHRoZSAlcyBmaWxlIGlzIGJ1c3kgKCVzIHByZXNlbnQpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyDmqpTmoYjlv5nnoozkuK0gKOebruWJjSAlcylcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCB1bmxvY2sgJXM6ICVzICh5b3VyIGNoYW5nZXMgYXJlIHN0aWxsIGluICVzKVxuIgorI34gbXNnc3RyICIlc++8mueEoeazleino+mZpOmOluWumiAlczogJXMgKOaCqOeahOiuiuabtOaYr+S7jeeEtuWcqCAlcyDkuK0pXG4iCisKKyN+IG1zZ2lkICIlczogQ2Fubm90IGZvcmtcbiIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5XooY3nlJ/ln7fooYxcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgW2ZpbGVdXG4iCisKKyN+IG1zZ2lkICIlczogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiJXPvvJrnhKHms5XoroDlj5YgJXPjgIJcbiIKKworI34gbXNnaWQgIiVzOiBjYW4ndCBzdGF0IHRlbXBvcmFyeSBmaWxlLlxuIgorI34gbXNnc3RyICIlc++8mueEoeazleWPluW+l+aaq+WtmOaqlOeLgOaFi+OAglxuIgorCisjfiBtc2dpZCAiJXM6IGNhbid0IHJlYWQgdGVtcG9yYXJ5IGZpbGUuXG4iCisjfiBtc2dzdHIgIiVz77ya54Sh5rOV6K6A5Y+W5pqr5a2Y5qqU44CCXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogY2FsIFstMTNzbWp5Vl0gW1tbZGF5XSBtb250aF0geWVhcl1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaY2FsIFstMTNzbWp5Vl0gW1tb5pelXSDmnIhdIOW5tF1cbiIKKworI34gbXNnaWQgIiVzOiBwYXJzZSBlcnJvcjogJXMiCisjfiBtc2dzdHIgIiVz77ya5YmW5p6Q6Yyv6Kqk77yaJXMiCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiT3B0aW9uczpcbiIKKyN+ICIgLXMsIC0tZnN0YWIgICAgICAgICAgICBzZWFyY2ggaW4gc3RhdGljIHRhYmxlIG9mIGZpbGVzeXN0ZW1zXG4iCisjfiAiIC1tLCAtLW10YWIgICAgICAgICAgICAgc2VhcmNoIGluIHRhYmxlIG9mIG1vdW50ZWQgZmlsZXN5c3RlbXNcbiIKKyN+ICIgLWssIC0ta2VybmVsICAgICAgICAgICBzZWFyY2ggaW4ga2VybmVsIHRhYmxlIG9mIG1vdW50ZWQgXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAgZmlsZXN5c3RlbXMgKGRlZmF1bHQpXG4iCisjfiAiXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAgY2Fub25pY2FsaXplIHByaW50ZWQgcGF0aHNcbiIKKyN+ICIgLWQsIC0tZGlyZWN0aW9uIDx3b3JkPiBzZWFyY2ggZGlyZWN0aW9uIC0gJ2ZvcndhcmQnIG9yICdiYWNrd2FyZCdcbiIKKyN+ICIgLWUsIC0tZXZhbHVhdGUgICAgICAgICBwcmludCBhbGwgVEFHcyAoTEFCRUwvVVVJRCkgZXZhbHVhdGVkXG4iCisjfiAiIC1mLCAtLWZpcnN0LW9ubHkgICAgICAgcHJpbnQgdGhlIGZpcnN0IGZvdW5kIGZpbGVzeXN0ZW0gb25seVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIHByaW50IHRoaXMgaGVscFxuIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIGludmVydCBzZW5zZSBvZiBtYXRjaGluZ1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIHVzZSBsaXN0IGZvcm1hdCBvdXB1dFxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iCisjfiAiIC11LCAtLW5vdHJ1bmNhdGUgICAgICAgZG9uJ3QgdHJ1bmNhdGUgdGV4dCBpbiBjb2x1bW5zXG4iCisjfiAiIC1PLCAtLW9wdGlvbnMgPGxpc3Q+ICAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyBieSBtb3VudCBvcHRpb25zXG4iCisjfiAiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnNcbiIKKyN+ICIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IGZvcm1hdCBvdXRwdXRcbiIKKyN+ICIgLWEsIC0tYXNjaWkgICAgICAgICAgICB1c2UgYXNjaWkgY2hhcnMgZm9yIHRyZWUgZm9ybWF0dGluZ1xuIgorI34gIiAtdCwgLS10eXBlcyA8bGlzdD4gICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSBieSBGUyB0eXBlc1xuIgorI34gIiAtUywgLS1zb3VyY2UgPHN0cmluZz4gIGRldmljZSwgTEFCRUw9IG9yIFVVSUQ9ZGV2aWNlXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAgbW91bnRwb2ludFxuIgorI34gIlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6YG46aCF77yaXG4iCisjfiAiIC1zLCAtLWZzdGFiICAgICAgICAgICAg5Zyo5qqU5qGI57O757Wx55qE6Z2c5oWL6KGo5qC85Lit5pCc5bCLXG4iCisjfiAiIC1tLCAtLW10YWIgICAgICAgICAgICAg5Zyo5o6b6LyJ5qqU5qGI57O757Wx55qE6KGo5qC85Lit5pCc5bCLXG4iCisjfiAiIC1rLCAtLWtlcm5lbCAgICAgICAgICAg5Zyo5o6b6LyJ5qqU5qGI57O757Wx55qE5YWn5qC46KGo5qC85LitXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgICAg5pCc5bCLICjpoJDoqK0pXG4iCisjfiAiXG4iCisjfiAiIC1jLCAtLWNhbm9uaWNhbGl6ZSAgICAg5q2j5YmH5YyW5Y2w5Ye66Lev5b6RXG4iCisjfiAiIC1kLCAtLWRpcmVjdGlvbiA8d29yZD4g5pCc5bCL5pa55ZCRIC0gJ2ZvcndhcmQnIOaIliAnYmFja3dhcmQnXG4iCisjfiAiIC1lLCAtLWV2YWx1YXRlICAgICAgICAg5Y2w5Ye65omA5pyJ5bey5rGC5YC85qiZ6KiYIChMQUJFTC9VVUlEKVxuIgorI34gIiAtZiwgLS1maXJzdC1vbmx5ICAgICAgIOWPquWNsOWHuuesrOS4gOWAi+aJvuWIsOeahOaqlOahiOezu+e1sVxuIgorI34gIiAtaCwgLS1oZWxwICAgICAgICAgICAgIOWNsOWHuumAmeWAi+iqquaYjlxuIgorI34gIiAtaSwgLS1pbnZlcnQgICAgICAgICAgIOWPjeWQkeespuWQiOaWueW8j1xuIgorI34gIiAtbCwgLS1saXN0ICAgICAgICAgICAgIOS9v+eUqOa4heWWruagvOW8j+i8uOWHulxuIgorI34gIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIOS4jeWIl+WNsOaomemgrVxuIgorI34gIiAtdSwgLS1ub3RydW5jYXRlICAgICAgIOS4jeaIquaWt+ebtOashOS4reeahOaWh+Wtl1xuIgorI34gIiAtTywgLS1vcHRpb25zIDxsaXN0PiAgIOS+neaOm+i8iemBuOmghemZkOWItuaqlOahiOezu+e1sembhuWQiFxuIgorI34gIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIOi8uOWHuuebtOashFxuIgorI34gIiAtciwgLS1yYXcgICAgICAgICAgICAgIOS9v+eUqOWOn+Wni+agvOW8j+i8uOWHulxuIgorI34gIiAtYSwgLS1hc2NpaSAgICAgICAgICAgIOS9v+eUqCBhc2NpaSDlrZflhYPmlrzmqLnni4DmoLzlvI/ljJZcbiIKKyN+ICIgLXQsIC0tdHlwZXMgPGxpc3Q+ICAgICDkvp3mqpTmoYjns7vntbHpoZ7lnovpmZDliLbmqpTmoYjns7vntbHpm4blkIhcbiIKKyN+ICIgLVMsIC0tc291cmNlIDxzdHJpbmc+ICDoo53nva7jgIFMQUJFTD0g5oiWIFVVSUQ96KOd572uXG4iCisjfiAiIC1ULCAtLXRhcmdldCA8c3RyaW5nPiAg5o6b6LyJ6bueXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiRm9yIG1vcmUgaW5mb3JtYXRpb24gc2VlIGZpbmRtbnQoMSkuXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLopoHnjbLlvpfmm7TlpJros4foqIroq4vlj4PnnIsgZmluZG1udCgxKeOAglxuIgorCisjfiBtc2dpZCAibG9nZ2VyOiAlczogJXMuXG4iCisjfiBtc2dzdHIgImxvZ2dlcu+8miVzOiAlc+OAglxuIgorCisjfiBtc2dpZCAidXNhZ2U6IGxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIC4uLiBdXG4iCisjfiBtc2dzdHIgIueUqOazle+8mmxvZ2dlciBbLWlzXSBbLWYgZmlsZV0gWy1wIHByaV0gWy10IHRhZ10gWy11IHNvY2tldF0gWyBtZXNzYWdlIOKApiBdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogbG9vayBbLWRmYV0gWy10IGNoYXJdIHN0cmluZyBbZmlsZV1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yabG9vayBbLWRmYV0gWy10IOWtl+WFg10g5a2X5LiyIFvmqpTmoYhdXG4iCisKKyN+IG1zZ2lkICJDb3VsZCBub3Qgb3BlbiAlc1xuIgorI34gbXNnc3RyICLnhKHms5XplovllZ8gJXNcbiIKKworI34gbXNnaWQgIm91dCBvZiBtZW1vcnk/IgorI34gbXNnc3RyICLoqJjmhrbpq5TkuI3otrPvvJ8iCisKKyN+IG1zZ2lkICIlczogb3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICIlc++8muiomOaGtumrlOeUqOeboVxuIgorCisjfiBtc2dpZCAiY2FsbDogJXMgZnJvbSB0byBmaWxlcy4uLlxuIgorI34gbXNnc3RyICLlkbzlj6vvvJolcyDlgZrngrrnm67mqJnmqpTmoYjigKZcbiIKKworI34gbXNnaWQgInVzYWdlOiBzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFtmaWxlXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJpzY3JpcHQgWy1hXSBbLWVdIFstZl0gWy1xXSBbLXRdIFvmqpTmoYhdXG4iCisKKyN+IG1zZ2lkICIlczogd3JpdGUgZXJyb3IgJWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVz77ya5a+r5YWl6Yyv6KqkICVk77yaJXNcbiIKKworI34gbXNnaWQgIiVzOiB3cml0ZSBlcnJvcjogJXNcbiIKKyN+IG1zZ3N0ciAiJXPvvJrlr6vlhaXpjK/oqqTvvJolc1xuIgorCisjfiBtc2dpZCAiY2Fubm90IG9wZW4gdGltaW5nIGZpbGUgJXMiCisjfiBtc2dzdHIgIueEoeazlemWi+WVn+aZguW6j+aqlOahiCAlcyIKKworI34gbXNnaWQgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiAgWyAtc25vdyBbb258b2ZmXSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorI34gbXNnc3RyICIgIFsgLXNvZnRzY3JvbGwgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC1mb3JlZ3JvdW5kIGJsYWNrfGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisjfiBtc2dzdHIgInxyZWR8bWFnZW50YXx5ZWxsb3d8d2hpdGV8ZGVmYXVsdCBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWJhY2tncm91bmQgYmxhY2t8Ymx1ZXxncmVlbnxjeWFuIgorCisjfiBtc2dpZCAiICBbIC11bGNvbG9yIGJsYWNrfGdyZXl8Ymx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLXVsY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICJ8cmVkfG1hZ2VudGF8eWVsbG93fHdoaXRlIF1cbiIKKyN+IG1zZ3N0ciAifHJlZHxtYWdlbnRhfHllbGxvd3x3aGl0ZSBdXG4iCisKKyN+IG1zZ2lkICIgIFsgLXVsY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKyN+IG1zZ3N0ciAiICBbIC11bGNvbG9yIGJyaWdodCBibHVlfGdyZWVufGN5YW4iCisKKyN+IG1zZ2lkICIgIFsgLWhiY29sb3IgYmxhY2t8Z3JleXxibHVlfGdyZWVufGN5YW4iCisjfiBtc2dzdHIgIiAgWyAtaGJjb2xvciBibGFja3xncmV5fGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtaGJjb2xvciBicmlnaHQgYmx1ZXxncmVlbnxjeWFuIgorI34gbXNnc3RyICIgIFsgLWhiY29sb3IgYnJpZ2h0IGJsdWV8Z3JlZW58Y3lhbiIKKworI34gbXNnaWQgIiAgWyAtc3RhbmRvdXQgWyBhdHRyIF0gXVxuIgorI34gbXNnc3RyICIgIFsgLXN0YW5kb3V0IFsgYXR0ciBdIF1cbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLWRdIFstcCBwaWRmaWxlXSBbLXMgc29ja2V0cGF0aF0gWy1UIHRpbWVvdXRdXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFstZF0gWy1wIHBpZGZpbGVdIFstcyDpgJroqIrnq6/ot6/lvpFdIFstVCDpgL7mmYJdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgWy1yfHRdIFstbiBudW1dIFstcyBzb2NrZXRwYXRoXVxuIgorI34gbXNnc3RyICIgICAgICAgJXMgWy1yfHRdIFstbiBudW1dIFstcyDpgJroqIrnq6/ot6/lvpFdXG4iCisKKyN+IG1zZ2lkICIgICAgICAgJXMgLWtcbiIKKyN+IG1zZ3N0ciAiICAgICAgICVzIC1rXG4iCisKKyN+IG1zZ2lkICJVc2FnZTogJXMgWy1yXSBbLXRdXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFstcl0gWy10XVxuIgorCisjfiBtc2dpZCAid2hlcmVpcyBbIC1zYm11IF0gWyAtU0JNIGRpciAuLi4gLWYgXSBuYW1lLi4uXG4iCisjfiBtc2dzdHIgIndoZXJlaXMgWyAtc2JtdSBdIFsgLVNCTSDnm67pjIQg4oCmIC1mIF0g5ZCN56ix4oCmXG4iCisKKyN+IG1zZ2lkICJXQVJOSU5HOiAlczogYXBwZWFycyB0byBjb250YWluICclcycgcGFydGl0aW9uIHRhYmxlIgorI34gbXNnc3RyICLorablkYrvvJolc++8muS8vOS5juWMheWQq+OAjCVz44CN5YiG5Ymy6KGoIgorCisjfiBtc2dpZCAibm8gbWFnaWMgc3RyaW5nIGZvdW5kIGF0IG9mZnNldCAweCVqeCAtLSBpZ25vcmVkIgorI34gbXNnc3RyICLmib7kuI3liLDku7vkvZXprZTooZPlrZfkuLLmlrzlgY/np7vlgLwgMHglanggLS0g5b+955WlIgorCisjfiBtc2dpZCAiaW52YWxpZCBvZmZzZXQgdmFsdWUgJyVzJyBzcGVjaWZpZWQiCisjfiBtc2dzdHIgIuaMh+WumuS6hueEoeaViOeahOWBj+enu+WAvOOAjCVz44CNIgorCisjfiBtc2dpZCAidXNhZ2U6IHdyaXRlIHVzZXIgW3R0eV1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yad3JpdGUgdXNlciBbdHR5XVxuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3Qgc2V0IGNhcGFjaXR5IG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcO+8mueEoeazleioreWumuijnee9ruS4iueahOWuuemHjyAlc++8miVzXG4iCisKKyN+IG1zZ2lkICIsIG9mZnNldCAlPFBSSXU2ND4iCisjfiBtc2dzdHIgIu+8jOWBj+enu+WAvCAlPFBSSXU2ND4iCisKKyN+IG1zZ2lkICIsIGVuY3J5cHRpb24gdHlwZSAlZFxuIgorI34gbXNnc3RyICLvvIzliqDlr4bpoZ7lnosgJWRcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IGdldCBpbmZvIG9uIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcO+8mueEoeazleWPluW+l+ijnee9ruS4iueahOizh+ioiiAlczogJXNcbiIKKworI34gbXNnaWQgImxvb3A6IGNhbid0IG9wZW4gZGV2aWNlICVzOiAlc1xuIgorI34gbXNnc3RyICJsb29w77ya54Sh5rOV6ZaL5ZWf6KOd572uICVzOiAlc1xuIgorCisjfiBtc2dpZCAiJXM6IC9kZXYgZGlyZWN0b3J5IGRvZXMgbm90IGV4aXN0LiIKKyN+IG1zZ3N0ciAiJXPvvJovZGV2IOebrumMhOS4jeWtmOWcqOOAgiIKKworI34gbXNnaWQgIiVzOiBubyBwZXJtaXNzaW9uIHRvIGxvb2sgYXQgL2Rldi9sb29wJXM8Tj4iCisjfiBtc2dzdHIgIiVz77ya54Sh5qyK6ZmQ5Y+v5p+l55yLIC9kZXYvbG9vcCVzPE4+IgorCisjfiBtc2dpZCAiIgorI34gIiVzOiBDb3VsZCBub3QgZmluZCBhbnkgbG9vcCBkZXZpY2UuIE1heWJlIHRoaXMga2VybmVsIGRvZXMgbm90IGtub3dcbiIKKyN+ICIgICAgICAgYWJvdXQgdGhlIGxvb3AgZGV2aWNlPyAoSWYgc28sIHJlY29tcGlsZSBvciBgbW9kcHJvYmUgbG9vcCcuKSIKKyN+IG1zZ3N0ciAiIgorI34gIiVz77ya5om+5LiN5Yiw5Lu75L2V55Kw6Lev6KOd572u44CC5Lmf6Kix6YCZ5YCL5YWn5qC45LiN6KqN6K2YXG4iCisjfiAiICAgICAg5LuA6bq85piv55Kw6Lev6KOd572u77yfKOWmguaenOaYr+mAmeaoo++8jOiri+mHjeaWsOe3qOitr+aIluWft+ihjOOAjG1vZHByb2JlIGxvb3DjgI3jgIIpIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeSB3aGlsZSByZWFkaW5nIHBhc3NwaHJhc2UiCisjfiBtc2dzdHIgIuiugOWPluWvhuiqnuaZguiomOaGtumrlOS4jei2syIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzIGlzIGFscmVhZHkgYXNzb2NpYXRlZCB3aXRoICVzXG4iCisjfiBtc2dzdHIgIuitpuWRiu+8miVzIOW3sue2k+WSjCAlcyDnm7jpl5zoga9cbiIKKworI34gbXNnaWQgIndhcm5pbmc6ICVzOiBpcyB3cml0ZS1wcm90ZWN0ZWQsIHVzaW5nIHJlYWQtb25seS5cbiIKKyN+IG1zZ3N0ciAi6K2m5ZGK77yaJXPvvJrngrrpmLLlr6vvvIzkvb/nlKjllK/oroDjgIJcbiIKKworI34gbXNnaWQgImlvY3RsIExPT1BfU0VUX0ZEIGZhaWxlZDogJXNcbiIKKyN+IG1zZ3N0ciAiaW9jdGwgTE9PUF9TRVRfRkQg5aSx5pWX77yaJXNcbiIKKworI34gbXNnaWQgInNldF9sb29wKCVzLCVzLCVsbHUsJWxsdSk6IHN1Y2Nlc3NcbiIKKyN+IG1zZ3N0ciAic2V0X2xvb3AoJXMsJXMsJWxsdSwlbGx1Ke+8muaIkOWKn1xuIgorCisjfiBtc2dpZCAiZGVsX2xvb3AoJXMpOiBzdWNjZXNzXG4iCisjfiBtc2dzdHIgImRlbF9sb29wKCVzKe+8muaIkOWKn1xuIgorCisjfiBtc2dpZCAibG9vcDogY2FuJ3QgZGVsZXRlIGRldmljZSAlczogJXNcbiIKKyN+IG1zZ3N0ciAibG9vcO+8mueEoeazleWIqumZpOijnee9riAlczogJXNcbiIKKworI34gbXNnaWQgIlRoaXMgbW91bnQgd2FzIGNvbXBpbGVkIHdpdGhvdXQgbG9vcCBzdXBwb3J0LiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICLpgJnlgIsgbW91bnQg56iL5byP57eo6K2v5pmC5LiN5YW355Kw6Lev5pSv5o+044CC6KuL6YeN5paw57eo6K2v44CCXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6XG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdpdmUgaW5mb1xuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaXN0IGFsbCB1c2VkXG4iCisjfiAiICUxJHMgLWQgfCAtLWRldGFjaCA8bG9vcGRldj4gWzxsb29wZGV2PiAuLi5dIGRlbGV0ZVxuIgorI34gIiAlMSRzIC1mIHwgLS1maW5kICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaW5kIHVudXNlZFxuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICAgICAgICAgICByZXNpemVcbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZmlsZT4gWy1vIDxudW0+XSAgICAgbGlzdCBhbGwgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIgorI34gIiAlMSRzIFsgb3B0aW9ucyBdIHstZnwtLWZpbmR8bG9vcGRldn0gPGZpbGU+ICBzZXR1cFxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi55So5rOV77yaXG4iCisjfiAiICUxJHMgbG9vcF9kZXZpY2UgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOaPkOS+m+izh+ioilxuIgorI34gIiAlMSRzIC1hIHwgLS1hbGwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICDliJflh7rmiYDmnInlt7LnlKjnmoRcbiIKKyN+ICIgJTEkcyAtZCB8IC0tZGV0YWNoIDxsb29wZGV2PiBbPGxvb3BkZXY+Li4uXSAg5Yiq6ZmkXG4iCisjfiAiICUxJHMgLWYgfCAtLWZpbmQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIOWwi+aJvuacquS9v+eUqOeahFxuIgorI34gIiAlMSRzIC1jIHwgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICAgICAgICAgICDoqr/mlbTlpKflsI9cbiIKKyN+ICIgJTEkcyAtaiB8IC0tYXNzb2NpYXRlZCA8ZmlsZT5bLW8gPG51bT5dICAgICAg5YiX5Ye65omA5pyJ6IiHIDxmaWxlPiDnm7jpl5zoga/nmoRcbiIKKyN+ICIgJTEkcyBb6YG46aCFXSB7LWZ8LS1maW5kfGxvb3BkZXZ9IDxmaWxlPiAgICAgICDoqK3lrppcbiIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIG9mZnNldCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiJXPvvJrmjIflrprkuobnhKHmlYjnmoTlgY/np7vlgLzjgIwlc+OAjSIKKworI34gbXNnaWQgIiVzOiBpbnZhbGlkIHNpemVsaW1pdCAnJXMnIHNwZWNpZmllZCIKKyN+IG1zZ3N0ciAiJXPvvJrmjIflrprkuobnhKHmlYjnmoTlpKflsI/pmZDliLbjgIwlc+OAjSIKKworI34gbXNnaWQgInN0b2xlbiBsb29wPSVzLi4udHJ5aW5nIGFnYWluXG4iCisjfiBtc2dzdHIgIuS4n+WkseeahOeSsOi3rz0lc+KApuWGjeippuS4gOasoVxuIgorCisjfiBtc2dpZCAiTm8gbG9vcCBzdXBwb3J0IHdhcyBhdmFpbGFibGUgYXQgY29tcGlsZSB0aW1lLiBQbGVhc2UgcmVjb21waWxlLlxuIgorI34gbXNnc3RyICLnt6jora/mmYLmnJ/lsLHlt7LkuI3mlK/mj7TnkrDot6/jgILoq4vph43mlrDnt6jora/jgIJcbiIKKworI34gbXNnaWQgIm1vdW50OiBjYW4ndCBvcGVuICVzOiAlcyIKKyN+IG1zZ3N0ciAibW91bnTvvJrnhKHms5XplovllZ8gJXM6ICVzIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstZV0gWy12XSBbLWZdICAgICAgICAgICAgIGVuYWJsZSBhbGwgc3dhcHMgZnJvbSAvZXRjL2ZzdGFiXG4iCisjfiAiICUxJHMgWy1wIHByaW9yaXR5XSBbLXZdIFstZl0gPHNwZWNpYWw+ICBlbmFibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCB1c2FnZSBzdW1tYXJ5XG4iCisjfiAiICUxJHMgLWggICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSB2ZXJzaW9uXG4iCisjfiAiXG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgJTEkcyAtYSBbLWVdIFstdl0gWy1mXSAgICAgICAgICAgICDlvp4gL2V0Yy9mc3RhYiDllZ/nlKjlhajpg6jkuqTmj5vljYBcbiIKKyN+ICIgJTEkcyBbLXAg5YSq5YWI5qyKXSBbLXZdIFstZl0gPHNwZWNpYWw+IOWVn+eUqOe1puWumuS6pOaPm+WNgFxuIgorI34gIiAlMSRzIC1zICAgICAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuuS6pOaPm+WNgOeUqOazleamguimgVxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuuiqquaYjlxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuueJiOacrFxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIlVzYWdlOlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHNcbiIKKyN+ICIgJTEkcyBbLXZdIDxzcGVjaWFsPiAgICAgICAgICAgICAgIGRpc2FibGUgZ2l2ZW4gc3dhcFxuIgorI34gIiAlMSRzIC1oICAgICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBoZWxwXG4iCisjfiAiICUxJHMgLVYgICAgICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5IHZlcnNpb25cbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gIueUqOazle+8mlxuIgorI34gIiAlMSRzIC1hIFstdl0gICAgICAgICAgICAgICAgICAgICAg5YGc55So5omA5pyJ5Lqk5o+b5Y2AXG4iCisjfiAiICUxJHMgWy12XSA8c3BlY2lhbD4gICAgICAgICAgICAgICDlgZznlKjntablrprnmoTkuqTmj5vljYBcbiIKKyN+ICIgJTEkcyAtaCAgICAgICAgICAgICAgICAgICAgICAgICAgIOmhr+ekuuiqquaYjlxuIgorI34gIiAlMSRzIC1WICAgICAgICAgICAgICAgICAgICAgICAgICAg6aGv56S654mI5pysXG4iCisjfiAiXG4iCisKKyN+IG1zZ2lkICInJXMnIGlzIHVuc3VwcG9ydGVkIHByb2dyYW0gbmFtZSAobXVzdCBiZSAnc3dhcG9uJyBvciAnc3dhcG9mZicpLiIKKyN+IG1zZ3N0ciAi44CMJXPjgI3ngrrkuI3lj5fmlK/mj7TnmoTnqIvlvI/lkI3nqLEgKOW/hemgiOaYr+OAjHN3YXBvbuOAjeaIluOAjHN3YXBvZmbjgI0p44CCIgorCisjfiBtc2dpZCAidW5rbm93blxuIgorI34gbXNnc3RyICLkuI3mmI5cbiIKKworI34gbXNnaWQgIiIKKyN+ICJcbiIKKyN+ICJpb25pY2UgLSBzZXRzIG9yIGdldHMgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eS5cbiIKKyN+ICJcbiIKKyN+ICJVc2FnZTpcbiIKKyN+ICIgIGlvbmljZSBbIG9wdGlvbnMgXSAtcCA8cGlkPiBbPHBpZD4gLi4uXVxuIgorI34gIiAgaW9uaWNlIFsgb3B0aW9ucyBdIDxjb21tYW5kPiBbPGFyZz4gLi4uXVxuIgorI34gIlxuIgorI34gIk9wdGlvbnM6XG4iCisjfiAiICAtbiA8Y2xhc3NkYXRhPiAgICAgIGNsYXNzIGRhdGEgKDAtNywgbG93ZXIgYmVpbmcgaGlnaGVyIHByaW8pXG4iCisjfiAiICAtYyA8Y2xhc3M+ICAgICAgICAgIHNjaGVkdWxpbmcgY2xhc3NcbiIKKyN+ICIgICAgICAgICAgICAgICAgICAgICAgMDogbm9uZSwgMTogcmVhbHRpbWUsIDI6IGJlc3QtZWZmb3J0LCAzOiBpZGxlXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIGlnbm9yZSBmYWlsdXJlc1xuIgorI34gIiAgLWggICAgICAgICAgICAgICAgICB0aGlzIGhlbHBcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIlxuIgorI34gImlvbmljZSAtIOioreWumuaIluWPluW+l+ihjOeoiyBpbyDmjpLnqIvpoZ7liKXlkozlhKrlhYjmrIrjgIJcbiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJpcbiIKKyN+ICIgIGlvbmljZSBb6YG46aCFXSAtcCA8cGlkPiBbPHBpZD4uLi5dXG4iCisjfiAiICBpb25pY2UgW+mBuOmghV0gPGNvbW1hbmQ+IFs8YXJnPi4uLl1cbiIKKyN+ICJcbiIKKyN+ICLpgbjpoIXvvJpcbiIKKyN+ICIgIC1uIDxjbGFzc2RhdGE+ICAgICAg6aGe5Yil6LOH5paZICgwLTcsIOi8g+S9juiAheaciei8g+mrmOWEquWFiOasiilcbiIKKyN+ICIgIC1jIDxjbGFzcz4gICAgICAgICAg5o6S56iL6aGe5YilXG4iCisjfiAiICAgICAgICAgICAgICAgICAgICAgIDA654Sh77yMMTrljbPmmYLvvIwyOueboeWKm++8jDM66ZaS572uXG4iCisjfiAiICAtdCAgICAgICAgICAgICAgICAgIOW/veeVpeWkseaVl1xuIgorI34gIiAgLWggICAgICAgICAgICAgICAgICDpgJnlgIvoqqrmmI5cbiIKKyN+ICJcbiIKKworI34gbXNnaWQgIkNQVSBtYXNrIgorI34gbXNnc3RyICJDUFUg6YGu572pIgorCisjfiBtc2dpZCAicGFyc2UgZXJyb3IgYXQgbGluZXM6ICIKKyN+IG1zZ3N0ciAi5YmW5p6Q6Yyv6Kqk55m855Sf5pa85YiX6Jmf77yaIgorCisjfiBtc2dpZCAiIGFuZCAlZC4iCisjfiBtc2dzdHIgIiDlkowgJWTjgIIiCisKKyN+IG1zZ2lkICJVc2FnZTogY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaY3RybGFsdGRlbCBoYXJkfHNvZnRcbiIKKworI34gbXNnaWQgIlVzYWdlOiAlcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxlLi4uXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLXEgWy1pIGludGVydmFsXV0gKFstcyB2YWx1ZV18Wy1TIHZhbHVlXSkgKFstdCB2YWx1ZV18Wy1UIHZhbHVlXSkgWy1nfC1HXSBmaWxlIFtmaWxl4oCmXVxuIgorCisjfiBtc2dpZCAiQ2FuJ3Qgb3BlbiAlczogJXNcbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICVzOiAlc1xuIgorCisjfiBtc2dpZCAiVXNhZ2U6ICVzIFstY10gWy1uIGxldmVsXSBbLXJdIFstcyBidWZzaXplXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbLWNdIFstbiDnrYnntJpdIFstcl0gWy1zIOe3qeihneWNgOWkp+Wwj11cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJTEkcyBbLXN4dW5dWy13ICNdIGZkI1xuIgorI34gIiAgICAgICAlMSRzIFstc3hvbl1bLXcgI10gZmlsZSBbLWNdIGNvbW1hbmQuLi5cbiIKKyN+ICIgICAgICAgJTEkcyBbLXN4b25dWy13ICNdIGRpcmVjdG9yeSBbLWNdIGNvbW1hbmQuLi5cbiIKKyN+ICIgIC1zICAtLXNoYXJlZCAgICAgR2V0IGEgc2hhcmVkIGxvY2tcbiIKKyN+ICIgIC14ICAtLWV4Y2x1c2l2ZSAgR2V0IGFuIGV4Y2x1c2l2ZSBsb2NrXG4iCisjfiAiICAtdSAgLS11bmxvY2sgICAgIFJlbW92ZSBhIGxvY2tcbiIKKyN+ICIgIC1uICAtLW5vbmJsb2NrICAgRmFpbCByYXRoZXIgdGhhbiB3YWl0XG4iCisjfiAiICAtdyAgLS10aW1lb3V0ICAgIFdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIgorI34gIiAgLW8gIC0tY2xvc2UgICAgICBDbG9zZSBmaWxlIGRlc2NyaXB0b3IgYmVmb3JlIHJ1bm5pbmcgY29tbWFuZFxuIgorI34gIiAgLWMgIC0tY29tbWFuZCAgICBSdW4gYSBzaW5nbGUgY29tbWFuZCBzdHJpbmcgdGhyb3VnaCB0aGUgc2hlbGxcbiIKKyN+ICIgIC1oICAtLWhlbHAgICAgICAgRGlzcGxheSB0aGlzIHRleHRcbiIKKyN+ICIgIC1WICAtLXZlcnNpb24gICAgRGlzcGxheSB2ZXJzaW9uXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolMSRzIFstc3h1biBdWy13ICNdIGZkI1xuIgorI34gIiAgICAgICUxJHMgWy1zeG9uIF1bLXcgI10g5qqU5qGIIFstY10g5ZG95Luk4oCmXG4iCisjfiAiICAgICAgJTEkcyBbLXN4b24gXVstdyAjXSDnm67pjIQgWy1jXSDlkb3ku6TigKZcbiIKKyN+ICIgIC1zICAtLXNoYXJlZCAgICAg5Y+W5b6X5YWx5Lqr55qE6Y6W5a6aXG4iCisjfiAiICAteCAgLS1leGNsdXNpdmUgIOWPluW+l+WwiOeUqOeahOmOluWumlxuIgorI34gIiAgLXUgIC0tdW5sb2NrICAgICDnp7vpmaTpjpblrppcbiIKKyN+ICIgIC1uICAtLW5vbmJsb2NrICAg5aSx5pWX6ICM5LiN5piv562J5b6FXG4iCisjfiAiICAtdyAgLS10aW1lb3V0ICAgIOetieW+heS4gOauteWPl+mZkOWItueahOaZgumWk1xuIgorI34gIiAgLW8gIC0tY2xvc2UgICAgICDln7fooYzlkb3ku6TkuYvliY3pl5zplonmqpTmoYjmj4/ov7DnrKbomZ9cbiIKKyN+ICIgIC1jICAtLWNvbW1hbmQgICAg6YCP6YGO5ZG95Luk5q685Z+36KGM5Zau5LiA5ZG95Luk5a2X5LiyXG4iCisjfiAiICAtaCAgLS1oZWxwICAgICAgIOmhr+ekuumAmeWAi+iqquaYjlxuIgorI34gIiAgLVYgIC0tdmVyc2lvbiAgICDpoa/npLrniYjmnKxcbiIKKworI34gbXNnaWQgIiVzOiBiYWQgbnVtYmVyOiAlc1xuIgorI34gbXNnc3RyICIlc++8muS4jeeVtueahOaVuOWtl++8miVzXG4iCisKKyN+IG1zZ2lkICIlczogZm9yayBmYWlsZWQ6ICVzXG4iCisjfiBtc2dzdHIgIiVz77ya6KGN55Sf5Z+36KGM5pmC5aSx5pWX77yaJXNcbiIKKworI34gbXNnaWQgIiVzOiBmc3RhdCBmYWlsZWQiCisjfiBtc2dzdHIgIiVz77yaZnN0YXQg5aSx5pWXIgorCisjfiBtc2dpZCAiIgorI34gIiAgLU0gPHNpemU+ICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iCisjfiAiICAtUyA8bnNlbXM+ICAgIGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnNlbXM+IGVsZW1lbnRzXG4iCisjfiAiICAtUSAgICAgICAgICAgIGNyZWF0ZSBtZXNzYWdlIHF1ZXVlXG4iCisjfiAiICAtcCA8bW9kZT4gICAgIHBlcm1pc3Npb24gZm9yIHRoZSByZXNvdXJjZSAoZGVmYXVsdCBpcyAwNjQ0KVxuIgorI34gbXNnc3RyICIiCisjfiAiICAtTSA8c2l6ZT4gICAgIOS7pSA8c2l6ZT4g5aSn5bCP5bu656uL5YWx55So6KiY5oa26auU6LOH5paZ5q61XG4iCisjfiAiICAtUyA8bnNlbXM+ICAgIOS7pSA8bnNlbXM+IOWFg+S7tuW7uueri+iZn+iqjOmZo+WIl1xuIgorI34gIiAgLVEgICAgICAgICAgICDlu7rnq4voqIrmga/kvYfliJdcbiIKKyN+ICIgIC1wIDxtb2RlPiAgICAg55So5pa86LOH5rqQ55qE5qyK6ZmQICjpoJDoqK3mmK8gMDY0NClcbiIKKworI34gbXNnaWQgImRlcHJlY2F0ZWQgdXNhZ2U6ICVzIHtzaG0gfCBtc2cgfCBzZW19IGlkIC4uLlxuIgorI34gbXNnc3RyICLkuI3lrpznlKjms5XvvJolcyB7c2htIHwgbXNnIHwgc2VtfSBpZCDigKZcbiIKKworI34gbXNnaWQgIiIKKyN+ICJ1c2FnZTogJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorI34gbXNnc3RyICIiCisjfiAi55So5rOV77yaJXMgWyBbLXEgbXNxaWRdIFstbSBzaG1pZF0gWy1zIHNlbWlkXVxuIgorI34gIiAgICAgICAgICBbLVEgbXNna2V5XSBbLU0gc2hta2V5XSBbLVMgc2Vta2V5XSAuLi4gXVxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgb3B0aW9uIC0tICVjXG4iCisjfiBtc2dzdHIgIiVz77ya5LiN5ZCI5rOV55qE6YG46aCFIOKUgCAlY1xuIgorCisjfiBtc2dpZCAidW5rbm93biBlcnJvciBpbiBrZXkiCisjfiBtc2dzdHIgIumNteWAvOeZvOeUn+S4jeaYjumMr+iqpCIKKworI34gbXNnaWQgInVua25vd24gZXJyb3IgaW4gaWQiCisjfiBtc2dzdHIgIuitmOWIpeiZn+eZvOeUn+S4jeaYjumMr+iqpCIKKworI34gbXNnaWQgIiVzOiAlcyAoJXMpXG4iCisjfiBtc2dzdHIgIiVzOiAlcyAoJXMpXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiVXNhZ2U6ICUxJHMgWy1hc21xXSBbLXR8LWN8LWx8LXV8LXBdXG4iCisjfiAiICAgICAgICUxJHMgWy1zfC1tfC1xXSAtaSBpZFxuIgorI34gIiAgICAgICAlMSRzIC1oIGZvciBoZWxwXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolMSRzIFstYXNtcV0gWy10fC1jfC1sfC11fC1wXVxuIgorI34gIiAgICAgICUxJHMgWy1zfC1tfC1xXSAtaSDorZjliKXomZ9cbiIKKyN+ICIgICAgICAlMSRzIC1oIOS7peeNsuW+l+iqquaYjlxuIgorCisjfiBtc2dpZCAiIgorI34gIlJlc291cmNlIG9wdGlvbnM6XG4iCisjfiAiICAgIC1tICAgICAgc2hhcmVkIG1lbW9yeSBzZWdtZW50c1xuIgorI34gIiAgICAtcSAgICAgIG1lc3NhZ2UgcXVldWVzXG4iCisjfiAiICAgIC1zICAgICAgc2VtYXBob3Jlc1xuIgorI34gIiAgICAtYSAgICAgIGFsbCAoZGVmYXVsdClcbiIKKyN+ICJcbiIKKyN+IG1zZ3N0ciAiIgorI34gIuizh+a6kOmBuOmghe+8mlxuIgorI34gIiAgICAtbSAgICAgIOWFseeUqOiomOaGtumrlOizh+aWmeautVxuIgorI34gIiAgICAtcSAgICAgIOioiuaBr+S9h+WIl1xuIgorI34gIiAgICAtcyAgICAgIOiZn+iqjFxuIgorI34gIiAgICAtYSAgICAgIOWFqOmDqCAo6aCQ6KitKVxuIgorI34gIlxuIgorCisjfiBtc2dpZCAiIgorI34gIk91dHB1dCBmb3JtYXQ6XG4iCisjfiAiICAgIC10ICAgICAgdGltZVxuIgorI34gIiAgICAtcCAgICAgIHBpZFxuIgorI34gIiAgICAtYyAgICAgIGNyZWF0b3JcbiIKKyN+ICIgICAgLWwgICAgICBsaW1pdHNcbiIKKyN+ICIgICAgLXUgICAgICBzdW1tYXJ5XG4iCisjfiBtc2dzdHIgIiIKKyN+ICLovLjlh7rmoLzlvI/vvJpcbiIKKyN+ICIgICAgLXQgICAgICDmmYLplpNcbiIKKyN+ICIgICAgLXAgICAgICBwaWRcbiIKKyN+ICIgICAgLWMgICAgICDlu7rnq4vogIVcbiIKKyN+ICIgICAgLWwgICAgICDpmZDluqZcbiIKKyN+ICIgICAgLXUgICAgICDmpoLopoFcbiIKKworI34gbXNnaWQgInNlZ21lbnRzIGFsbG9jYXRlZCAlZFxuIgorI34gbXNnc3RyICLlt7LphY3nva7os4fmlpnmrrUgJWRcbiIKKworI34gbXNnaWQgInBhZ2VzIGFsbG9jYXRlZCAlbGRcbiIKKyN+IG1zZ3N0ciAi5bey6YWN572u6KiY5oa26auU6aCBICVsZFxuIgorCisjfiBtc2dpZCAicGFnZXMgcmVzaWRlbnQgICVsZFxuIgorI34gbXNnc3RyICLluLjpp5DoqJjmhrbpq5TpoIEgICVsZFxuIgorCisjfiBtc2dpZCAiU3dhcCBwZXJmb3JtYW5jZTogJWxkIGF0dGVtcHRzXHQgJWxkIHN1Y2Nlc3Nlc1xuIgorI34gbXNnc3RyICLkuqTmj5vmlYjog73vvJolbGQg5qyh5ZiX6KmmXHQlbGQg5qyh5oiQ5YqfXG4iCisKKyN+IG1zZ2lkICIiCisjfiAiXG4iCisjfiAiVXNhZ2U6ICVzIFsgLWRoVjc4bmVvMTIgXSBbIC1zIDxzcGVlZD4gXSBbIC1pIFstXTxpZmxhZz4gXSA8bGRpc2M+IDxkZXZpY2U+XG4iCisjfiBtc2dzdHIgIiIKKyN+ICJcbiIKKyN+ICLnlKjms5XvvJolcyBbIC1kaFY3OG5lbzEyIF0gWyAtcyA8c3BlZWQ+IF0gWyAtaSBbLV08aWZsYWc+IF0gPGxkaXNjPiA8ZGV2aWNlPlxuIgorCisjfiBtc2dpZCAibGRhdHRhY2ggZnJvbSAlc1xuIgorI34gbXNnc3RyICJsZGF0dGFjaCDoh6ogJXNcbiIKKworI34gbXNnaWQgImVycm9yOiBjYW5ub3Qgb3BlbiAlcyIKKyN+IG1zZ3N0ciAi6Yyv6Kqk77ya54Sh5rOV6ZaL5ZWfICVzIgorCisjfiBtc2dpZCAiZXJyb3I6IHN0cmR1cCBmYWlsZWQiCisjfiBtc2dzdHIgIumMr+iqpO+8mnN0cmR1cCDlpLHmlZciCisKKyN+IG1zZ2lkICJlcnJvcjogY2FsbG9jIGZhaWxlZCIKKyN+IG1zZ3N0ciAi6Yyv6Kqk77yaY2FsbG9jIOWkseaVlyIKKworI34gbXNnaWQgIiIKKyN+ICJDUFUgYXJjaGl0ZWN0dXJlIGluZm9ybWF0aW9uIGhlbHBlclxuIgorI34gIlxuIgorI34gIiAgLWgsIC0taGVscCAgICAgdXNhZ2UgaW5mb3JtYXRpb25cbiIKKyN+ICIgIC1wLCAtLXBhcnNlICAgIHByaW50IG91dCBpbiBwYXJzYWJsZSBpbnN0ZWFkIG9mIHByaW50YWJsZSBmb3JtYXQuXG4iCisjfiAiICAtcywgLS1zeXNyb290ICB1c2UgdGhlIGRpcmVjdG9yeSBhcyBhIG5ldyBzeXN0ZW0gcm9vdC5cbiIKKyN+IG1zZ3N0ciAiIgorI34gIkNQVSDmnrbmp4vos4foqIrovJTliqnnqIvlvI9cbiIKKyN+ICJcbiIKKyN+ICIgIC1oLCAtLWhlbHAgICAgIOeUqOazleizh+ioilxuIgorI34gIiAgLXAsIC0tcGFyc2UgICAg5Lul5Y+v5YmW5p6Q5qC85byP5Y2w5Ye65Lul5Luj5pu/5Y+v5YiX5Y2w5qC85byP44CCXG4iCisjfiAiICAtcywgLS1zeXNyb290ICDkvb/nlKjmraTnm67pjITlgZrngrrmlrDns7vntbHnmoTmoLnnm67pjITjgIJcbiIKKworI34gbXNnaWQgIiIKKyN+ICIlczogVXNhZ2U6IFwiJXMgW29wdGlvbnNdXG4iCisjfiAiXHQgLW0gPG1hcGZpbGU+ICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIKKyN+ICJcdFx0XHRcdCAgXCIlc1wiKVxuIgorI34gIlx0IC1wIDxwcm8tZmlsZT4gKGRlZmF1bHQ6IFwiJXNcIilcbiIKKyN+ICJcdCAtTSA8bXVsdD4gICAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iCisjfiAiXHQgLWkgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIKKyN+ICJcdCAtdiAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIgorI34gIlx0IC1hICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIgorI34gIlx0IC1iICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIgorI34gIlx0IC1zICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iCisjfiAiXHQgLXIgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iCisjfiAiXHQgLW4gICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIKKyN+ICJcdCAtViAgICAgICAgICAgIHByaW50IHZlcnNpb24gYW5kIGV4aXRcbiIKKyN+IG1zZ3N0ciAiIgorI34gIiVz77ya55So5rOV77yaXCIlcyBbb3B0aW9uc11cbiIKKyN+ICJcdCAtbSA8bWFwZmlsZT4gICjpoJDoqK3lgLzvvJpcIiVzXCIg5ZKMXG4iCisjfiAiXHRcdFx0XHQgIFwiJXNcIilcbiIKKyN+ICJcdCAtcCA8cHJvLWZpbGU+ICjpoJDoqK3vvJpcIiVzXCIpXG4iCisjfiAiXHQgLU0gPG11bHQ+ICAgICDoqK3lrprlgbTlr6vmqpTopIfoo73lmajngro8bXVsdD5cbiIKKyN+ICJcdCAtaSAgICAgICAgICAgIOWPquWNsOWHuuaciemXnOWPluaoo+eOh+eahOizh+ioilxuIgorI34gIlx0IC12ICAgICAgICAgICAg5Y2w5Ye66Kmz57Sw55qE6LOH5paZXG4iCisjfiAiXHQgLWEgICAgICAgICAgICDljbPkvb/oqIjmlbjngrogMCDkuZ/ljbDlh7rmiYDmnInnrKbomZ9cbiIKKyN+ICJcdCAtYiAgICAgICAgICAgIOWNsOWHuuWAi+WIpSBoaXN0b2dyYW0tYmluIOioiOaVuFxuIgorI34gIlx0IC1zICAgICAgICAgICAg5Y2w5Ye65Ye95byP5YWn5YCL5Yil6KiI5pW45ZmoXG4iCisjfiAiXHQgLXIgICAgICAgICAgICDph43nva7miYDmnInoqIjmlbjlmago5Y+q6ZmQIHJvb3Qg5L2/55SoKVxuIgorI34gIlx0IC1uICAgICAgICAgICAg5YGc55So5L2N5YWD57WE5qyh5bqP55qE6Ieq5YuV5YG15risXG4iCisjfiAiXHQgLVYgICAgICAgICAgICDljbDlh7rniYjmnKznhLblvozpm6LplotcbiIKKworI34gbXNnaWQgInJlYWRwcm9maWxlOiBlcnJvciB3cml0aW5nICVzOiAlc1xuIgorI34gbXNnc3RyICJyZWFkcHJvZmlsZe+8muWvq+WFpSAlcyDmmYLpjK/oqqTvvJolc1xuIgorCisjfiBtc2dpZCAicmVuaWNlOiAlczogdW5rbm93biB1c2VyXG4iCisjfiBtc2dzdHIgInJlbmljZe+8miVzOiDkuI3mmI7nmoTkvb/nlKjogIVcbiIKKworI34gbXNnaWQgInJlbmljZTogJXM6IGJhZCB2YWx1ZVxuIgorI34gbXNnc3RyICJyZW5pY2XvvJolczog5LiN55W255qE5YC8XG4iCisKKyN+IG1zZ2lkICIlczogaWxsZWdhbCBpbnRlcnZhbCAlcyBzZWNvbmRzXG4iCisjfiBtc2dzdHIgIiVz77ya5LiN5ZCI5rOV55qEICVzIOenkumWk+malFxuIgorCisjfiBtc2dpZCAiJXM6IGlsbGVnYWwgdGltZV90IHZhbHVlICVzXG4iCisjfiBtc2dzdHIgIiVz77ya5LiN5ZCI5rOV55qEIHRpbWVfdCDlgLwgJXNcbiIKKworI34gbXNnaWQgInJ0YyByZWFkIgorI34gbXNnc3RyICJydGMg6K6A5Y+WIgorCisjfiBtc2dpZCAiIgorI34gIlxuIgorI34gIkZvciBtb3JlIGluZm9ybWF0aW9uIHNlZSBzZXRhcmNoKDgpLlxuIgorI34gbXNnc3RyICIiCisjfiAiXG4iCisjfiAi6KaB542y5b6X5pu05aSa6LOH6KiK6KuL5Y+D55yLIHNldGFyY2goOCnjgIJcbiIKKworI34gbXNnaWQgInVzYWdlOiAlcyBwcm9ncmFtIFthcmcgLi4uXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyDnqIvlvI8gW+W8leaVuOKApl1cbiIKKworI34gbXNnaWQgIiIKKyN+ICJVc2FnZTogJXMgPGRldmljZT4gWyAtaSA8SVJRPiB8IC10IDxUSU1FPiB8IC1jIDxDSEFSUz4gfCAtdyA8V0FJVD4gfCBcbiIKKyN+ICIgICAgICAgICAgLWEgW29ufG9mZl0gfCAtbyBbb258b2ZmXSB8IC1DIFtvbnxvZmZdIHwgLXEgW29ufG9mZl0gfCAtcyB8IFxuIgorI34gIiAgICAgICAgICAtVCBbb258b2ZmXSBdXG4iCisjfiBtc2dzdHIgIiIKKyN+ICLnlKjms5XvvJolcyA86KOd572uPiBbIC1pIDxJUlE+IHwgLXQgPOaZgumWkz4gfCAtYyA85a2X5YWDPiB8IC13IDznrYnlvoU+IHwgXG4iCisjfiAiICAgICAgICAgIC1hIFtvbnxvZmZdIHwgLW8gW29ufG9mZl0gfCAtQyBbb258b2ZmXSB8IC1xIFtvbnxvZmZdIHwgLXMgfCBcbiIKKyN+ICIgICAgICAgICAgLVQgW29ufG9mZl0gXVxuIgorCisjfiBtc2dpZCAibWFsbG9jIGVycm9yIgorI34gbXNnc3RyICJtYWxsb2Mg6Yyv6KqkIgorCisjfiBtc2dpZCAiY29sOiBiYWQgLWwgYXJndW1lbnQgJXMuXG4iCisjfiBtc2dzdHIgImNvbO+8muS4jeeVtueahCAtbCDlvJXmlbggJXPjgIJcbiIKKworI34gbXNnaWQgInVzYWdlOiBjb2wgWy1iZnB4XSBbLWwgbmxpbmVdXG4iCisjfiBtc2dzdHIgIueUqOazle+8mmNvbCBbLWJmcHhdIFstbCDliJfmlbhdXG4iCisKKyN+IG1zZ2lkICJ1c2FnZTogJXMgWyAtIF0gWyAtMiBdIFsgZmlsZSAuLi4gXVxuIgorI34gbXNnc3RyICLnlKjms5XvvJolcyBbIC0gXSBbIC0yIF0gW+aqlOahiOKApl1cbiIKKworI34gbXNnaWQgInVzYWdlOiBjb2x1bW4gWy10eF0gWy1jIGNvbHVtbnNdIFtmaWxlIC4uLl1cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaY29sdW1uIFstdHhdIFstYyDmrITmlbhdIFvmqpTmoYjigKZdXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBiYWQgbGVuZ3RoIHZhbHVlLlxuIgorI34gbXNnc3RyICJoZXhkdW1w77ya5LiN55W255qE6ZW35bqm5YC844CCXG4iCisKKyN+IG1zZ2lkICJoZXhkdW1wOiBiYWQgc2tpcCB2YWx1ZS5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcO+8muS4jeeVtueahOi3s+mBjuWAvOOAglxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogWy1iY0Nkb3Z4XSBbLWUgZm10XSBbLWYgZm10X2ZpbGVdIFstbiBsZW5ndGhdIFstcyBza2lwXSBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgImhleGR1bXDvvJpbLWJjQ2RvdnhdIFstZSDmoLzlvI9dIFstZiDmoLzlvI/mqpTmoYhdIFstbiDplbfluqZdIFstcyDot7PpgY5dIFvmqpTmoYgg4oCmXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6ICVzIFstZGZscGNzdV0gWytsaW5lbnVtIHwgKy9wYXR0ZXJuXSBuYW1lMSBuYW1lMiAuLi5cbiIKKyN+IG1zZ3N0ciAi55So5rOV77yaJXMgWy1kZmxwY3N1XSBbK+WIl+iZnyB8ICsv5byP5qijXSDlkI3nqLHkuIAg5ZCN56ix5LqM4oCmXG4iCisKKyN+IG1zZ2lkICJvZDogb2QoMSkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgaGV4ZHVtcCgxKS5cbiIKKyN+IG1zZ3N0ciAib2TvvJpvZCgxKSDlt7LkuI3lrpznlKjmlrwgaGV4ZHVtcCgxKeOAglxuIgorCisjfiBtc2dpZCAib2Q6IGhleGR1bXAoMSkgY29tcGF0aWJpbGl0eSBkb2Vzbid0IHN1cHBvcnQgdGhlIC0lYyBvcHRpb24lc1xuIgorI34gbXNnc3RyICJvZO+8mmhleGR1bXAoMSkg55qE55u45a655oCn5LiN5pSv5o+0IC0lYyDpgbjpoIUlc1xuIgorCisjfiBtc2dpZCAiOyBzZWUgc3RyaW5ncygxKS4iCisjfiBtc2dzdHIgIu+8m+WPg+eciyBzdHJpbmdzKDEp44CCIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogY2FuJ3QgcmVhZCAlcy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcO+8mueEoeazleiugOWPliAlc+OAglxuIgorCisjfiBtc2dpZCAiaGV4ZHVtcDogbGluZSB0b28gbG9uZy5cbiIKKyN+IG1zZ3N0ciAiaGV4ZHVtcO+8muWIl+WkqumVt+OAglxuIgorCisjfiBtc2dpZCAiT3V0IG9mIG1lbW9yeVxuIgorI34gbXNnc3RyICLoqJjmhrbpq5TkuI3otrNcbiIKKworI34gbXNnaWQgIkNhbm5vdCBvcGVuICIKKyN+IG1zZ3N0ciAi54Sh5rOV6ZaL5ZWfICIKKworI34gbXNnaWQgInVuYWJsZSB0byBhbGxvY2F0ZSBidWZmZXJzcGFjZSIKKyN+IG1zZ3N0ciAi54Sh5rOV6YWN572u57ep6KGd5Y2A56m66ZaTIgorCisjfiBtc2dpZCAidXNhZ2U6IHJldiBbZmlsZSAuLi5dXG4iCisjfiBtc2dzdHIgIueUqOazle+8mnJldiBb5qqU5qGI4oCmXVxuIgorCisjfiBtc2dpZCAidXNhZ2U6IHRhaWxmIFstbiBOIHwgLU5dIGxvZ2ZpbGUiCisjfiBtc2dzdHIgIueUqOazle+8mnRhaWxmIFstbiBOIHwgLU5dIOaXpeiqjOaqlOahiCIKKworI34gbXNnaWQgInVzYWdlOiAlcyBbIC1pIF0gWyAtdFRlcm0gXSBmaWxlLi4uXG4iCisjfiBtc2dzdHIgIueUqOazle+8miVzIFsgLWkgXSBbIC10VGVybSBdIOaqlOahiOKAplxuIgorCisjfiBtc2dpZCAiVW5hYmxlIHRvIGFsbG9jYXRlIGJ1ZmZlci5cbiIKKyN+IG1zZ3N0ciAi54Sh5rOV6YWN572u57ep6KGd5Y2A44CCXG4iCisKKyN+IG1zZ2lkICJPdXQgb2YgbWVtb3J5IHdoZW4gZ3Jvd2luZyBidWZmZXIuXG4iCisjfiBtc2dzdHIgIue3qeihneWNgOaIkOmVt+aZgueZvOeUn+iomOaGtumrlOS4jei2s+OAglxuIgpkaWZmIC0tZ2l0IGEvc2NoZWR1dGlscy9NYWtlbW9kdWxlLmFtIGIvc2NoZWR1dGlscy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYzMmQyYjMKLS0tIC9kZXYvbnVsbAorKysgYi9zY2hlZHV0aWxzL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwyMCBAQAoraWYgQlVJTERfQ0hSVAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gY2hydAorZGlzdF9tYW5fTUFOUyArPSBzY2hlZHV0aWxzL2NocnQuMQorY2hydF9TT1VSQ0VTID0gc2NoZWR1dGlscy9jaHJ0LmMKK2NocnRfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX0lPTklDRQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gaW9uaWNlCitkaXN0X21hbl9NQU5TICs9IHNjaGVkdXRpbHMvaW9uaWNlLjEKK2lvbmljZV9TT1VSQ0VTID0gc2NoZWR1dGlscy9pb25pY2UuYworaW9uaWNlX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9UQVNLU0VUCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSB0YXNrc2V0CitkaXN0X21hbl9NQU5TICs9IHNjaGVkdXRpbHMvdGFza3NldC4xCit0YXNrc2V0X1NPVVJDRVMgPSBzY2hlZHV0aWxzL3Rhc2tzZXQuYwordGFza3NldF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKZGlmZiAtLWdpdCBhL3NjaGVkdXRpbHMvY2hydC4xIGIvc2NoZWR1dGlscy9jaHJ0LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTY2NTc5ZQotLS0gL2Rldi9udWxsCisrKyBiL3NjaGVkdXRpbHMvY2hydC4xCkBAIC0wLDAgKzEsMTczIEBACisuXCIgY2hydCgxKSBtYW5wYWdlCisuXCIKKy5cIiBDb3B5cmlnaHQgKEMpIDIwMDQgUm9iZXJ0IExvdmUKKy5cIiBDb3B5cmlnaHQgKEMpIDIwMTUgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIKKy5cIiBUaGlzIGlzIGZyZWUgZG9jdW1lbnRhdGlvbjsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisuXCIgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsCisuXCIgdmVyc2lvbiAyLCBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbi4KKy5cIgorLlwiIFRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSdzIHJlZmVyZW5jZXMgdG8gIm9iamVjdCBjb2RlIgorLlwiIGFuZCAiZXhlY3V0YWJsZXMiIGFyZSB0byBiZSBpbnRlcnByZXRlZCBhcyB0aGUgb3V0cHV0IG9mIGFueQorLlwiIGRvY3VtZW50IGZvcm1hdHRpbmcgb3IgdHlwZXNldHRpbmcgc3lzdGVtLCBpbmNsdWRpbmcKKy5cIiBpbnRlcm1lZGlhdGUgYW5kIHByaW50ZWQgb3V0cHV0LgorLlwiCisuXCIgVGhpcyBtYW51YWwgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKy5cIiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorLlwiIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKy5cIiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorLlwiCisuXCIgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKy5cIiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorLlwiIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisuXCIKKy5USCBDSFJUIDEgIkphbnVhcnkgMjAxNiIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2NocnQgXC0gbWFuaXB1bGF0ZSB0aGUgcmVhbC10aW1lIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzCisuU0ggU1lOT1BTSVMKKy5CIGNocnQKK1tvcHRpb25zXQorLklSIHByaW9yaXR5XCBjb21tYW5kXCAgWyBhcmd1bWVudCAuLi5dCisuYnIKKy5CIGNocnQKK1tvcHRpb25zXQorLkIgXC1wCisuUkkgWyBwcmlvcml0eSBdXCAgcGlkCisuU0ggREVTQ1JJUFRJT04KKy5QUAorLkIgY2hydAorc2V0cyBvciByZXRyaWV2ZXMgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYW4gZXhpc3RpbmcgXGZJcGlkXGZSLAorb3IgcnVucyBcZkljb21tYW5kXGZSIHdpdGggdGhlIGdpdmVuIGF0dHJpYnV0ZXMuCisKKy5TSCBQT0xJQ0lFUworLlRQCitcZkJcLW9cZlIsIFxmQlwtXC1vdGhlclxmUgorU2V0IHNjaGVkdWxpbmcgcG9saWN5IHRvCisuQlIgU0NIRURfT1RIRVIgLgorVGhpcyBpcyB0aGUgZGVmYXVsdCBMaW51eCBzY2hlZHVsaW5nIHBvbGljeS4KKy5UUAorXGZCXC1mXGZSLCBcZkJcLVwtZmlmb1xmUgorU2V0IHNjaGVkdWxpbmcgcG9saWN5IHRvIFxmQlNDSEVEX0ZJRk9cZlIuCisuVFAKK1xmQlwtclxmUiwgXGZCXC1cLXJyXGZSCitTZXQgc2NoZWR1bGluZyBwb2xpY3kgdG8KKy5CUiBTQ0hFRF9SUiAuCitXaGVuIG5vIHBvbGljeSBpcyBkZWZpbmVkLCB0aGUKKy5CIFNDSEVEX1JSCitpcyB1c2VkIGFzIHRoZSBkZWZhdWx0LgorLlRQCitcZkJcLWJcZlIsIFxmQlwtXC1iYXRjaFxmUgorU2V0IHNjaGVkdWxpbmcgcG9saWN5IHRvCisuQiBTQ0hFRF9CQVRDSAorKExpbnV4LXNwZWNpZmljLCBzdXBwb3J0ZWQgc2luY2UgMi42LjE2KS4gIFRoZSBwcmlvcml0eSBhcmd1bWVudCBoYXMgdG8gYmUgc2V0IHRvIHplcm8uCisuVFAKK1xmQlwtaVxmUiwgXGZCXC1cLWlkbGVcZlIKK1NldCBzY2hlZHVsaW5nIHBvbGljeSB0bworLkIgU0NIRURfSURMRQorKExpbnV4LXNwZWNpZmljLCBzdXBwb3J0ZWQgc2luY2UgMi42LjIzKS4gIFRoZSBwcmlvcml0eSBhcmd1bWVudCBoYXMgdG8gYmUgc2V0IHRvIHplcm8uCisuVFAKKy5CUiAtZCAsXCAgLS1kZWFkbGluZQorU2V0IHNjaGVkdWxpbmcgcG9saWN5IHRvCisuQiBTQ0hFRF9ERUFETElORQorKExpbnV4LXNwZWNpZmljLCBzdXBwb3J0ZWQgc2luY2UgMy4xNCkuICBUaGUgcHJpb3JpdHkgYXJndW1lbnQgaGFzIHRvIGJlIHNldCB0byB6ZXJvLgorU2VlIGFsc28gXGZCXC1cLXNjaGVkXC1ydW50aW1lXGZSLCBcZkJcLVwtc2NoZWRcLWRlYWRsaW5lXGZSIGFuZAorXGZCXC1cLXNjaGVkXC1wZXJpb2RcZlIuICBUaGUgcmVsYXRpb24gYmV0d2VlbiB0aGUgb3B0aW9ucyByZXF1aXJlZCBieSB0aGUga2VybmVsIGlzCitydW50aW1lIDw9IGRlYWRsaW5lIDw9IHBlcmlvZC4KKy5CIGNocnQKK2NvcGllcyBcZklwZXJpb2RcZlIgdG8gXGZJZGVhZGxpbmVcZlIgaWYgXGZCXC1cLXNjaGVkXC1kZWFkbGluZVxmUiBpcyBub3Qgc3BlY2lmaWVkIGFuZAorXGZJZGVhZGxpbmVcZlIgdG8gXGZJcnVudGltZVxmUiBpZiBcZkJcLVwtc2NoZWRcLXJ1bnRpbWVcZlIgaXMgbm90IHNwZWNpZmllZC4KK0l0IG1lYW5zIHRoYXQgYXQgbGVhc3QgXGZCXC1cLXNjaGVkXC1wZXJpb2RcZlIgaGFzIHRvIGJlIHNwZWNpZmllZC4gIFNlZQorLkJSIHNjaGVkICg3KQorZm9yIG1vcmUgZGV0YWlscy4KKworLlNIICJTQ0hFRFVMSU5HIE9QVElPTlMiCisuVFAKK1xmQlwtVFxmUiwgXGZCXC1cLXNjaGVkXC1ydW50aW1lXGZSIFxmSW5hbm9zZWNvbmRzXGZSCitTcGVjaWZpZXMgcnVudGltZSBwYXJhbWV0ZXIgZm9yIFNDSEVEX0RFQURMSU5FIHBvbGljeSAoTGludXgtc3BlY2lmaWMpLgorLlRQCitcZkJcLVBcZlIsIFxmQlwtXC1zY2hlZFwtcGVyaW9kXGZSIFxmSW5hbm9zZWNvbmRzXGZSCitTcGVjaWZpZXMgcGVyaW9kIHBhcmFtZXRlciBmb3IgU0NIRURfREVBRExJTkUgcG9saWN5IChMaW51eC1zcGVjaWZpYykuCisuVFAKK1xmQlwtRFxmUiwgXGZCXC1cLXNjaGVkXC1kZWFkbGluZVxmUiBcZkluYW5vc2Vjb25kc1xmUgorU3BlY2lmaWVzIGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgU0NIRURfREVBRExJTkUgcG9saWN5IChMaW51eC1zcGVjaWZpYykuCisuVFAKK1xmQlwtUlxmUiwgXGZCXC1cLXJlc2V0LW9uLWZvcmtcZlIKK0FkZAorLkIgU0NIRURfUkVTRVRfT05fRk9SSworZmxhZyB0byB0aGUKKy5CIFNDSEVEX0ZJRk8KK29yCisuQiBTQ0hFRF9SUgorc2NoZWR1bGluZyBwb2xpY3kgKExpbnV4LXNwZWNpZmljLCBzdXBwb3J0ZWQgc2luY2UgMi42LjMxKS4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIC1hICxcICAtLWFsbC10YXNrcworU2V0IG9yIHJldHJpZXZlIHRoZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEKK2dpdmVuIFBJRC4KKy5UUAorLkJSIC1tICxcICAtLW1heAorU2hvdyBtaW5pbXVtIGFuZCBtYXhpbXVtIHZhbGlkIHByaW9yaXRpZXMsIHRoZW4gZXhpdC4KKy5UUAorLkJSIC1wICxcICAtLXBpZAorT3BlcmF0ZSBvbiBhbiBleGlzdGluZyBQSUQgYW5kIGRvIG5vdCBsYXVuY2ggYSBuZXcgdGFzay4KKy5UUAorLkJSIC12ICxcICAtLXZlcmJvc2UKK1Nob3cgc3RhdHVzIGluZm9ybWF0aW9uLgorLlRQCisuQlIgLVYgLFwgIC0tdmVyc2lvbgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgLWggLFwgIC0taGVscAorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggVVNBR0UKKy5UUAorVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQ6CisuQiBjaHJ0CisuSSBwcmlvcml0eQorLklSIGNvbW1hbmRcICBbIGFyZ3VtZW50cyBdCisuVFAKK1lvdSBjYW4gYWxzbyByZXRyaWV2ZSB0aGUgcmVhbC10aW1lIGF0dHJpYnV0ZXMgb2YgYW4gZXhpc3RpbmcgdGFzazoKKy5CIGNocnQgXC1wCisuSSBwaWQKKy5UUAorT3Igc2V0IHRoZW06CisuQiBjaHJ0IFwtciBcLXAKKy5JIHByaW9yaXR5IHBpZAorLlNIIFBFUk1JU1NJT05TCitBIHVzZXIgbXVzdCBwb3NzZXNzCisuQiBDQVBfU1lTX05JQ0UKK3RvIGNoYW5nZSB0aGUgc2NoZWR1bGluZyBhdHRyaWJ1dGVzIG9mIGEgcHJvY2Vzcy4gIEFueSB1c2VyIGNhbiByZXRyaWV2ZSB0aGUKK3NjaGVkdWxpbmcgaW5mb3JtYXRpb24uCisKKy5TSCBOT1RFUworT25seQorLkJSIFNDSEVEX0ZJRk8gLAorLkIgU0NIRURfT1RIRVIKK2FuZAorLkIgU0NIRURfUlIKK2FyZSBwYXJ0IG9mIFBPU0lYIDEwMDMuMWIgUHJvY2VzcyBTY2hlZHVsaW5nLiAgVGhlIG90aGVyIHNjaGVkdWxpbmcgYXR0cmlidXRlcworbWF5IGJlIGlnbm9yZWQgb24gc29tZSBzeXN0ZW1zLgorLlAKK0xpbnV4JyBkZWZhdWx0IHNjaGVkdWxpbmcgcG9saWN5IGlzCisuQlIgU0NIRURfT1RIRVIgLgorLlNIIFNFRSBBTFNPCisuQlIgbmljZSAoMSksCisuQlIgcmVuaWNlICgxKSwKKy5CUiB0YXNrc2V0ICgxKSwKKy5CUiBzY2hlZCAoNykKKy5zcAorU2VlCisuQlIgc2NoZWRfc2V0c2NoZWR1bGVyICgyKQorZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhlIExpbnV4IHNjaGVkdWxpbmcgc2NoZW1lLgorLlNIIEFVVEhPUlMKKy5VUiBybWxAdGVjaDkubmV0CitSb2JlcnQgTG92ZQorLlVFCisuYnIKKy5VUiBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLlVFCisuU0ggQVZBSUxBQklMSVRZCitUaGUgY2hydCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc2NoZWR1dGlscy9jaHJ0LmMgYi9zY2hlZHV0aWxzL2NocnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMDhjNzhlCi0tLSAvZGV2L251bGwKKysrIGIvc2NoZWR1dGlscy9jaHJ0LmMKQEAgLTAsMCArMSw1NjAgQEAKKy8qCisgKiBjaHJ0LmMgLSBtYW5pcHVsYXRlIGEgdGFzaydzIHJlYWwtdGltZSBhdHRyaWJ1dGVzCisgKgorICogMjctQXByLTIwMDI6IGluaXRpYWwgdmVyc2lvbiAtIFJvYmVydCBMb3ZlIDxybWxAdGVjaDkubmV0PgorICogMDQtTWF5LTIwMTE6IG1ha2UgaXQgdGhyZWFkLWF3YXJlIC0gRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UsIHZlcnNpb24gMiwgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKgorICogQ29weXJpZ2h0IChDKSAyMDA0IFJvYmVydCBMb3ZlCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c2NoZWQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInByb2N1dGlscy5oIgorCisvKiB0aGUgU0NIRURfQkFUQ0ggaXMgc3VwcG9ydGVkIHNpbmNlIExpbnV4IDIuNi4xNgorICogIC0tIHRlbXBvcmFyeSB3b3JrYXJvdW5kIGZvciBwZW9wbGUgd2l0aCBvbGQgZ2xpYmMgaGVhZGVycworICovCisjaWYgZGVmaW5lZCAoX19saW51eF9fKSAmJiAhZGVmaW5lZChTQ0hFRF9CQVRDSCkKKyMgZGVmaW5lIFNDSEVEX0JBVENIIDMKKyNlbmRpZgorCisvKiB0aGUgU0NIRURfSURMRSBpcyBzdXBwb3J0ZWQgc2luY2UgTGludXggMi42LjIzCisgKiBjb21taXQgaWQgMGU2YWNhNDNlMDhhNjJhNDhkNjc3MGU5YTE1OWRiZWMxNjdiZjRjNgorICogLS0gdGVtcG9yYXJ5IHdvcmthcm91bmQgZm9yIHBlb3BsZSB3aXRoIG9sZCBnbGliYyBoZWFkZXJzCisgKi8KKyNpZiBkZWZpbmVkIChfX2xpbnV4X18pICYmICFkZWZpbmVkKFNDSEVEX0lETEUpCisjIGRlZmluZSBTQ0hFRF9JRExFIDUKKyNlbmRpZgorCisvKiBmbGFnIGJ5IHNjaGVkX2dldHNjaGVkdWxlcigpICovCisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmICFkZWZpbmVkKFNDSEVEX1JFU0VUX09OX0ZPUkspCisjIGRlZmluZSBTQ0hFRF9SRVNFVF9PTl9GT1JLIDB4NDAwMDAwMDAKKyNlbmRpZgorCisvKiBmbGFnIGJ5IHNjaGVkX2dldGF0dHIoKSAqLworI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiAhZGVmaW5lZChTQ0hFRF9GTEFHX1JFU0VUX09OX0ZPUkspCisjIGRlZmluZSBTQ0hFRF9GTEFHX1JFU0VUX09OX0ZPUksgMHgwMQorI2VuZGlmCisKKyNpZiBkZWZpbmVkIChfX2xpbnV4X18pICYmICFkZWZpbmVkKEhBVkVfU0NIRURfU0VUQVRUUikKKyMgaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNlbmRpZgorCisvKiB1c2FibGUga2VybmVsLWhlYWRlcnMsIGJ1dCBvbGQgZ2xpYmMtaGVhZGVycyAqLworI2lmIGRlZmluZWQgKF9fbGludXhfXykgJiYgIWRlZmluZWQoU1lTX3NjaGVkX3NldGF0dHIpICYmIGRlZmluZWQoX19OUl9zY2hlZF9zZXRhdHRyKQorIyBkZWZpbmUgU1lTX3NjaGVkX3NldGF0dHIgX19OUl9zY2hlZF9zZXRhdHRyCisjZW5kaWYKKworI2lmIGRlZmluZWQgKF9fbGludXhfXykgJiYgIWRlZmluZWQoU1lTX3NjaGVkX2dldGF0dHIpICYmIGRlZmluZWQoX19OUl9zY2hlZF9nZXRhdHRyKQorIyBkZWZpbmUgU1lTX3NjaGVkX2dldGF0dHIgX19OUl9zY2hlZF9nZXRhdHRyCisjZW5kaWYKKworI2lmIGRlZmluZWQgKF9fbGludXhfXykgJiYgIWRlZmluZWQoSEFWRV9TQ0hFRF9TRVRBVFRSKSAmJiBkZWZpbmVkKFNZU19zY2hlZF9zZXRhdHRyKQorIyBkZWZpbmUgSEFWRV9TQ0hFRF9TRVRBVFRSCisKK3N0cnVjdCBzY2hlZF9hdHRyIHsKKwl1aW50MzJfdCBzaXplOworCXVpbnQzMl90IHNjaGVkX3BvbGljeTsKKwl1aW50NjRfdCBzY2hlZF9mbGFnczsKKworCS8qIFNDSEVEX05PUk1BTCwgU0NIRURfQkFUQ0ggKi8KKwlpbnQzMl90IHNjaGVkX25pY2U7CisKKwkvKiBTQ0hFRF9GSUZPLCBTQ0hFRF9SUiAqLworCXVpbnQzMl90IHNjaGVkX3ByaW9yaXR5OworCisJLyogU0NIRURfREVBRExJTkUgKG5zZWMpICovCisJdWludDY0X3Qgc2NoZWRfcnVudGltZTsKKwl1aW50NjRfdCBzY2hlZF9kZWFkbGluZTsKKwl1aW50NjRfdCBzY2hlZF9wZXJpb2Q7Cit9OworCitzdGF0aWMgaW50IHNjaGVkX3NldGF0dHIocGlkX3QgcGlkLCBjb25zdCBzdHJ1Y3Qgc2NoZWRfYXR0ciAqYXR0ciwgdW5zaWduZWQgaW50IGZsYWdzKQoreworCXJldHVybiBzeXNjYWxsKFNZU19zY2hlZF9zZXRhdHRyLCBwaWQsIGF0dHIsIGZsYWdzKTsKK30KKworc3RhdGljIGludCBzY2hlZF9nZXRhdHRyKHBpZF90IHBpZCwgc3RydWN0IHNjaGVkX2F0dHIgKmF0dHIsIHVuc2lnbmVkIGludCBzaXplLCB1bnNpZ25lZCBpbnQgZmxhZ3MpCit7CisJcmV0dXJuIHN5c2NhbGwoU1lTX3NjaGVkX2dldGF0dHIsIHBpZCwgYXR0ciwgc2l6ZSwgZmxhZ3MpOworfQorI2VuZGlmCisKKy8qIHRoZSBTQ0hFRF9ERUFETElORSBpcyBzdXBwb3J0ZWQgc2luY2UgTGludXggMy4xNAorICogY29tbWl0IGlkIGFhYjAzZTA1ZThmN2UyNmY1MWRlZTc5MmJlZGRjYjVjY2E5MjE1YTUKKyAqIC0tIHNjaGVkX3NldGF0dHIoKSBpcyByZXF1aXJlZCBmb3IgdGhpcyBwb2xpY3khCisgKi8KKyNpZiBkZWZpbmVkIChfX2xpbnV4X18pICYmICFkZWZpbmVkKFNDSEVEX0RFQURMSU5FKSAmJiBkZWZpbmVkKEhBVkVfU0NIRURfU0VUQVRUUikKKyMgZGVmaW5lIFNDSEVEX0RFQURMSU5FIDYKKyNlbmRpZgorCisvKiBjb250cm9sIHN0cnVjdCAqLworc3RydWN0IGNocnRfY3RsIHsKKwlwaWRfdAlwaWQ7CisJaW50CXBvbGljeTsJCQkJLyogU0NIRURfKiAqLworCWludAlwcmlvcml0eTsKKworCXVpbnQ2NF90IHJ1bnRpbWU7CQkJLyogLS1zY2hlZC0qIG9wdGlvbnMgKi8KKwl1aW50NjRfdCBkZWFkbGluZTsKKwl1aW50NjRfdCBwZXJpb2Q7CisKKwl1bnNpZ25lZCBpbnQgYWxsX3Rhc2tzIDogMSwJCS8qIGFsbCB0aHJlYWRzIG9mIHRoZSBQSUQgKi8KKwkJICAgICByZXNldF9vbl9mb3JrIDogMSwJCS8qIFNDSEVEX1JFU0VUX09OX0ZPUksgKi8KKwkJICAgICBhbHRlcmVkIDogMSwJCS8qIHNjaGVkX3NldCoqKCkgdXNlZCAqLworCQkgICAgIHZlcmJvc2UgOiAxOwkJLyogdmVyYm9zZSBvdXRwdXQgKi8KK307CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCisJZnB1dHMoXygiU2hvdyBvciBjaGFuZ2UgdGhlIHJlYWwtdGltZSBzY2hlZHVsaW5nIGF0dHJpYnV0ZXMgb2YgYSBwcm9jZXNzLlxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNldCBwb2xpY3k6XG4iCisJIiBjaHJ0IFtvcHRpb25zXSA8cHJpb3JpdHk+IDxjb21tYW5kPiBbPGFyZz4uLi5dXG4iCisJIiBjaHJ0IFtvcHRpb25zXSAtLXBpZCA8cHJpb3JpdHk+IDxwaWQ+XG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiR2V0IHBvbGljeTpcbiIKKwkiIGNocnQgW29wdGlvbnNdIC1wIDxwaWQ+XG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJQb2xpY3kgb3B0aW9uczpcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYiwgLS1iYXRjaCAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX0JBVENIXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZGVhZGxpbmUgICAgICAgc2V0IHBvbGljeSB0byBTQ0hFRF9ERUFETElORVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZpZm8gICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfRklGT1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlkbGUgICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfSURMRVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW90aGVyICAgICAgICAgIHNldCBwb2xpY3kgdG8gU0NIRURfT1RIRVJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yciAgICAgICAgICAgICBzZXQgcG9saWN5IHRvIFNDSEVEX1JSIChkZWZhdWx0KVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiU2NoZWR1bGluZyBvcHRpb25zOlxuIiksIG91dCk7CisJZnB1dHMoXygiIC1SLCAtLXJlc2V0LW9uLWZvcmsgICAgICAgc2V0IFNDSEVEX1JFU0VUX09OX0ZPUksgZm9yIEZJRk8gb3IgUlJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVCwgLS1zY2hlZC1ydW50aW1lIDxucz4gIHJ1bnRpbWUgcGFyYW1ldGVyIGZvciBERUFETElORVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1QLCAtLXNjaGVkLXBlcmlvZCA8bnM+ICAgcGVyaW9kIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRCwgLS1zY2hlZC1kZWFkbGluZSA8bnM+IGRlYWRsaW5lIHBhcmFtZXRlciBmb3IgREVBRExJTkVcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIk90aGVyIG9wdGlvbnM6XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWxsLXRhc2tzICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS1tYXggICAgICAgICAgICBzaG93IG1pbiBhbmQgbWF4IHZhbGlkIHByaW9yaXRpZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1waWQgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgIGRpc3BsYXkgc3RhdHVzIGluZm9ybWF0aW9uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIyKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImNocnQoMSkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X3BvbGljeV9uYW1lKGludCBwb2xpY3kpCit7CisJc3dpdGNoIChwb2xpY3kpIHsKKwljYXNlIFNDSEVEX09USEVSOgorCQlyZXR1cm4gIlNDSEVEX09USEVSIjsKKwljYXNlIFNDSEVEX0ZJRk86CisjaWZkZWYgU0NIRURfUkVTRVRfT05fRk9SSworCWNhc2UgU0NIRURfRklGTyB8IFNDSEVEX1JFU0VUX09OX0ZPUks6CisjZW5kaWYKKwkJcmV0dXJuICJTQ0hFRF9GSUZPIjsKKyNpZmRlZiBTQ0hFRF9JRExFCisJY2FzZSBTQ0hFRF9JRExFOgorCQlyZXR1cm4gIlNDSEVEX0lETEUiOworI2VuZGlmCisJY2FzZSBTQ0hFRF9SUjoKKyNpZmRlZiBTQ0hFRF9SRVNFVF9PTl9GT1JLCisJY2FzZSBTQ0hFRF9SUiB8IFNDSEVEX1JFU0VUX09OX0ZPUks6CisjZW5kaWYKKwkJcmV0dXJuICJTQ0hFRF9SUiI7CisjaWZkZWYgU0NIRURfQkFUQ0gKKwljYXNlIFNDSEVEX0JBVENIOgorCQlyZXR1cm4gIlNDSEVEX0JBVENIIjsKKyNlbmRpZgorI2lmZGVmIFNDSEVEX0RFQURMSU5FCisJY2FzZSBTQ0hFRF9ERUFETElORToKKwkJcmV0dXJuICJTQ0hFRF9ERUFETElORSI7CisjZW5kaWYKKwlkZWZhdWx0OgorCQlicmVhazsKKwl9CisKKwlyZXR1cm4gXygidW5rbm93biIpOworfQorCitzdGF0aWMgdm9pZCBzaG93X3NjaGVkX3BpZF9pbmZvKHN0cnVjdCBjaHJ0X2N0bCAqY3RsLCBwaWRfdCBwaWQpCit7CisJaW50IHBvbGljeSA9IC0xLCByZXNldF9vbl9mb3JrID0gMCwgcHJpbyA9IDA7CisjaWZkZWYgU0NIRURfREVBRExJTkUKKwl1aW50NjRfdCBkZWFkbGluZSA9IDAsIHJ1bnRpbWUgPSAwLCBwZXJpb2QgPSAwOworI2VuZGlmCisKKwkvKiBkb24ndCBkaXNwbGF5ICJwaWQgMCIgYXMgdGhhdCBpcyBjb25mdXNpbmcgKi8KKwlpZiAoIXBpZCkKKwkJcGlkID0gZ2V0cGlkKCk7CisKKwllcnJubyA9IDA7CisKKwkvKgorCSAqIE5ldyB3YXkKKwkgKi8KKyNpZmRlZiBIQVZFX1NDSEVEX1NFVEFUVFIKKwl7CisJCXN0cnVjdCBzY2hlZF9hdHRyIHNhOworCisJCWlmIChzY2hlZF9nZXRhdHRyKHBpZCwgJnNhLCBzaXplb2Yoc2EpLCAwKSAhPSAwKSB7CisJCQlpZiAoZXJybm8gPT0gRU5PU1lTKQorCQkJCWdvdG8gZmFsbGJhY2s7CisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gZ2V0IHBpZCAlZCdzIHBvbGljeSIpLCBwaWQpOworCQl9CisKKwkJcG9saWN5ID0gc2Euc2NoZWRfcG9saWN5OworCQlwcmlvID0gc2Euc2NoZWRfcHJpb3JpdHk7CisJCXJlc2V0X29uX2ZvcmsgPSBzYS5zY2hlZF9mbGFncyAmIFNDSEVEX0ZMQUdfUkVTRVRfT05fRk9SSzsKKwkJZGVhZGxpbmUgPSBzYS5zY2hlZF9kZWFkbGluZTsKKwkJcnVudGltZSA9IHNhLnNjaGVkX3J1bnRpbWU7CisJCXBlcmlvZCA9IHNhLnNjaGVkX3BlcmlvZDsKKwl9CisKKwkvKgorCSAqIE9sZCB3YXkKKwkgKi8KK2ZhbGxiYWNrOgorCWlmIChlcnJubyA9PSBFTk9TWVMpCisjZW5kaWYKKwl7CisJCXN0cnVjdCBzY2hlZF9wYXJhbSBzcDsKKworCQlwb2xpY3kgPSBzY2hlZF9nZXRzY2hlZHVsZXIocGlkKTsKKwkJaWYgKHBvbGljeSA9PSAtMSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBnZXQgcGlkICVkJ3MgcG9saWN5IiksIHBpZCk7CisKKwkJaWYgKHNjaGVkX2dldHBhcmFtKHBpZCwgJnNwKSAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhdHRyaWJ1dGVzIiksIHBpZCk7CisJCWVsc2UKKwkJCXByaW8gPSBzcC5zY2hlZF9wcmlvcml0eTsKKyMgaWZkZWYgU0NIRURfUkVTRVRfT05fRk9SSworCQlpZiAocG9saWN5ID09IChTQ0hFRF9GSUZPfFNDSEVEX1JFU0VUX09OX0ZPUkspIHx8IHBvbGljeSA9PSAoU0NIRURfQkFUQ0h8U0NIRURfUkVTRVRfT05fRk9SSykpCisJCQlyZXNldF9vbl9mb3JrID0gMTsKKyMgZW5kaWYKKwl9CisKKwlpZiAoY3RsLT5hbHRlcmVkKQorCQlwcmludGYoXygicGlkICVkJ3MgbmV3IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIpLCBwaWQsIGdldF9wb2xpY3lfbmFtZShwb2xpY3kpKTsKKwllbHNlCisJCXByaW50ZihfKCJwaWQgJWQncyBjdXJyZW50IHNjaGVkdWxpbmcgcG9saWN5OiAlcyIpLCBwaWQsIGdldF9wb2xpY3lfbmFtZShwb2xpY3kpKTsKKworCWlmIChyZXNldF9vbl9mb3JrKQorCQlwcmludGYoInxTQ0hFRF9SRVNFVF9PTl9GT1JLIik7CisJcHV0Y2hhcignXG4nKTsKKworCWlmIChjdGwtPmFsdGVyZWQpCisJCXByaW50ZihfKCJwaWQgJWQncyBuZXcgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIpLCBwaWQsIHByaW8pOworCWVsc2UKKwkJcHJpbnRmKF8oInBpZCAlZCdzIGN1cnJlbnQgc2NoZWR1bGluZyBwcmlvcml0eTogJWRcbiIpLCBwaWQsIHByaW8pOworCisjaWZkZWYgU0NIRURfREVBRExJTkUKKwlpZiAocG9saWN5ID09IFNDSEVEX0RFQURMSU5FKSB7CisJCWlmIChjdGwtPmFsdGVyZWQpCisJCQlwcmludGYoXygicGlkICVkJ3MgbmV3IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6ICVqdS8lanUvJWp1XG4iKSwKKwkJCQkJcGlkLCBydW50aW1lLCBkZWFkbGluZSwgcGVyaW9kKTsKKwkJZWxzZQorCQkJcHJpbnRmKF8oInBpZCAlZCdzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogJWp1LyVqdS8lanVcbiIpLAorCQkJCQlwaWQsIHJ1bnRpbWUsIGRlYWRsaW5lLCBwZXJpb2QpOworCX0KKyNlbmRpZgorfQorCisKK3N0YXRpYyB2b2lkIHNob3dfc2NoZWRfaW5mbyhzdHJ1Y3QgY2hydF9jdGwgKmN0bCkKK3sKKwlpZiAoY3RsLT5hbGxfdGFza3MpIHsKKwkJcGlkX3QgdGlkOworCQlzdHJ1Y3QgcHJvY190YXNrcyAqdHMgPSBwcm9jX29wZW5fdGFza3MoY3RsLT5waWQpOworCisJCWlmICghdHMpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIikpOworCisJCXdoaWxlICghcHJvY19uZXh0X3RpZCh0cywgJnRpZCkpCisJCQlzaG93X3NjaGVkX3BpZF9pbmZvKGN0bCwgdGlkKTsKKworCQlwcm9jX2Nsb3NlX3Rhc2tzKHRzKTsKKwl9IGVsc2UKKwkJc2hvd19zY2hlZF9waWRfaW5mbyhjdGwsIGN0bC0+cGlkKTsKK30KKworc3RhdGljIHZvaWQgc2hvd19taW5fbWF4KHZvaWQpCit7CisJdW5zaWduZWQgbG9uZyBpOworCWludCBwb2xpY2llc1tdID0geworCQlTQ0hFRF9PVEhFUiwKKwkJU0NIRURfRklGTywKKwkJU0NIRURfUlIsCisjaWZkZWYgU0NIRURfQkFUQ0gKKwkJU0NIRURfQkFUQ0gsCisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9JRExFCisJCVNDSEVEX0lETEUsCisjZW5kaWYKKyNpZmRlZiBTQ0hFRF9ERUFETElORQorCQlTQ0hFRF9ERUFETElORSwKKyNlbmRpZgorCX07CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwb2xpY2llcyk7IGkrKykgeworCQlpbnQgcGxjID0gcG9saWNpZXNbaV07CisJCWludCBtYXggPSBzY2hlZF9nZXRfcHJpb3JpdHlfbWF4KHBsYyk7CisJCWludCBtaW4gPSBzY2hlZF9nZXRfcHJpb3JpdHlfbWluKHBsYyk7CisKKwkJaWYgKG1heCA+PSAwICYmIG1pbiA+PSAwKQorCQkJcHJpbnRmKF8oIiVzIG1pbi9tYXggcHJpb3JpdHlcdDogJWQvJWRcbiIpLAorCQkJCQlnZXRfcG9saWN5X25hbWUocGxjKSwgbWluLCBtYXgpOworCQllbHNlCisJCQlwcmludGYoXygiJXMgbm90IHN1cHBvcnRlZD9cbiIpLCBnZXRfcG9saWN5X25hbWUocGxjKSk7CisJfQorfQorCitzdGF0aWMgaW50IHNldF9zY2hlZF9vbmVfYnlfc2V0c2NoZWR1bGVyKHN0cnVjdCBjaHJ0X2N0bCAqY3RsLCBwaWRfdCBwaWQpCit7CisJc3RydWN0IHNjaGVkX3BhcmFtIHNwID0geyAuc2NoZWRfcHJpb3JpdHkgPSBjdGwtPnByaW9yaXR5IH07CisJaW50IHBvbGljeSA9IGN0bC0+cG9saWN5OworCisJZXJybm8gPSAwOworIyBpZmRlZiBTQ0hFRF9SRVNFVF9PTl9GT1JLCisJaWYgKGN0bC0+cmVzZXRfb25fZm9yaykKKwkJcG9saWN5IHw9IFNDSEVEX1JFU0VUX09OX0ZPUks7CisjIGVuZGlmCisJcmV0dXJuIHNjaGVkX3NldHNjaGVkdWxlcihwaWQsIHBvbGljeSwgJnNwKTsKK30KKworCisjaWZuZGVmIEhBVkVfU0NIRURfU0VUQVRUUgorc3RhdGljIGludCBzZXRfc2NoZWRfb25lKHN0cnVjdCBjaHJ0X2N0bCAqY3RsLCBwaWRfdCBwaWQpCit7CisJcmV0dXJuIHNldF9zY2hlZF9vbmVfYnlfc2V0c2NoZWR1bGVyKGN0bCwgcGlkKTsKK30KKworI2Vsc2UgLyogIUhBVkVfU0NIRURfU0VUQVRUUiAqLworc3RhdGljIGludCBzZXRfc2NoZWRfb25lKHN0cnVjdCBjaHJ0X2N0bCAqY3RsLCBwaWRfdCBwaWQpCit7CisJc3RydWN0IHNjaGVkX2F0dHIgc2EgPSB7IC5zaXplID0gc2l6ZW9mKHN0cnVjdCBzY2hlZF9hdHRyKSB9OworCisJLyogb2xkIEFQSSBpcyBnb29kIGVub3VnaCBmb3Igbm9uLWRlYWRsaW5lICovCisJaWYgKGN0bC0+cG9saWN5ICE9IFNDSEVEX0RFQURMSU5FKQorCQlyZXR1cm4gc2V0X3NjaGVkX29uZV9ieV9zZXRzY2hlZHVsZXIoY3RsLCBwaWQpOworCisJLyogbm8gY2hhbmdlZWQgYnkgY2hydCwgZm9sbG93IHRoZSBjdXJyZW50IHNldHRpbmcgKi8KKwlzYS5zY2hlZF9uaWNlID0gZ2V0cHJpb3JpdHkoUFJJT19QUk9DRVNTLCBwaWQpOworCisJLyogdXNlIG1haW4oKSB0byBjaGVjayBpZiB0aGUgc2V0dGluZyBtYWtlcyBzZW5zZSAqLworCXNhLnNjaGVkX3BvbGljeQkgID0gY3RsLT5wb2xpY3k7CisJc2Euc2NoZWRfcHJpb3JpdHkgPSBjdGwtPnByaW9yaXR5OworCXNhLnNjaGVkX3J1bnRpbWUgID0gY3RsLT5ydW50aW1lOworCXNhLnNjaGVkX3BlcmlvZCAgID0gY3RsLT5wZXJpb2Q7CisJc2Euc2NoZWRfZGVhZGxpbmUgPSBjdGwtPmRlYWRsaW5lOworCisjIGlmZGVmIFNDSEVEX1JFU0VUX09OX0ZPUksKKwlpZiAoY3RsLT5yZXNldF9vbl9mb3JrKQorCQlzYS5zY2hlZF9mbGFncyB8PSBTQ0hFRF9SRVNFVF9PTl9GT1JLOworIyBlbmRpZgorCWVycm5vID0gMDsKKwlyZXR1cm4gc2NoZWRfc2V0YXR0cihwaWQsICZzYSwgMCk7Cit9CisjZW5kaWYgLyogSEFWRV9TQ0hFRF9TRVRBVFRSICovCisKK3N0YXRpYyB2b2lkIHNldF9zY2hlZChzdHJ1Y3QgY2hydF9jdGwgKmN0bCkKK3sKKwlpZiAoY3RsLT5hbGxfdGFza3MpIHsKKwkJcGlkX3QgdGlkOworCQlzdHJ1Y3QgcHJvY190YXNrcyAqdHMgPSBwcm9jX29wZW5fdGFza3MoY3RsLT5waWQpOworCisJCWlmICghdHMpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb2J0YWluIHRoZSBsaXN0IG9mIHRhc2tzIikpOworCisJCXdoaWxlICghcHJvY19uZXh0X3RpZCh0cywgJnRpZCkpCisJCQlpZiAoc2V0X3NjaGVkX29uZShjdGwsIHRpZCkgPT0gLTEpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCB0aWQgJWQncyBwb2xpY3kiKSwgdGlkKTsKKworCQlwcm9jX2Nsb3NlX3Rhc2tzKHRzKTsKKworCX0gZWxzZSBpZiAoc2V0X3NjaGVkX29uZShjdGwsIGN0bC0+cGlkKSA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCBwaWQgJWQncyBwb2xpY3kiKSwgY3RsLT5waWQpOworCisJY3RsLT5hbHRlcmVkID0gMTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBjaHJ0X2N0bCBfY3RsID0geyAucGlkID0gLTEsIC5wb2xpY3kgPSBTQ0hFRF9SUiB9LCAqY3RsID0gJl9jdGw7CisJaW50IGM7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhbGwtdGFza3MiLCAgbm9fYXJndW1lbnQsIE5VTEwsICdhJyB9LAorCQl7ICJiYXRjaCIsCW5vX2FyZ3VtZW50LCBOVUxMLCAnYicgfSwKKwkJeyAiZGVhZGxpbmUiLCAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnZCcgfSwKKwkJeyAiZmlmbyIsCW5vX2FyZ3VtZW50LCBOVUxMLCAnZicgfSwKKwkJeyAiaWRsZSIsCW5vX2FyZ3VtZW50LCBOVUxMLCAnaScgfSwKKwkJeyAicGlkIiwJbm9fYXJndW1lbnQsIE5VTEwsICdwJyB9LAorCQl7ICJoZWxwIiwJbm9fYXJndW1lbnQsIE5VTEwsICdoJyB9LAorCQl7ICJtYXgiLCAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdtJyB9LAorCQl7ICJvdGhlciIsCW5vX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAicnIiLAkJbm9fYXJndW1lbnQsIE5VTEwsICdyJyB9LAorCQl7ICJzY2hlZC1ydW50aW1lIiwgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVCcgfSwKKwkJeyAic2NoZWQtcGVyaW9kIiwgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1AnIH0sCisJCXsgInNjaGVkLWRlYWRsaW5lIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdEJyB9LAorCQl7ICJyZXNldC1vbi1mb3JrIiwgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnUicgfSwKKwkJeyAidmVyYm9zZSIsCW5vX2FyZ3VtZW50LCBOVUxMLCAndicgfSwKKwkJeyAidmVyc2lvbiIsCW5vX2FyZ3VtZW50LCBOVUxMLCAnVicgfSwKKwkJeyBOVUxMLAkJbm9fYXJndW1lbnQsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiK2FiZEQ6ZmlwaG1vUDpUOnJSdlYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCXsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgorCQkJY3RsLT5hbGxfdGFza3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorI2lmZGVmIFNDSEVEX0JBVENICisJCQljdGwtPnBvbGljeSA9IFNDSEVEX0JBVENIOworI2VuZGlmCisJCQlicmVhazsKKworCQljYXNlICdkJzoKKyNpZmRlZiBTQ0hFRF9ERUFETElORQorCQkJY3RsLT5wb2xpY3kgPSBTQ0hFRF9ERUFETElORTsKKyNlbmRpZgorCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJY3RsLT5wb2xpY3kgPSBTQ0hFRF9GSUZPOworCQkJYnJlYWs7CisJCWNhc2UgJ1InOgorCQkJY3RsLT5yZXNldF9vbl9mb3JrID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKyNpZmRlZiBTQ0hFRF9JRExFCisJCQljdGwtPnBvbGljeSA9IFNDSEVEX0lETEU7CisjZW5kaWYKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCXNob3dfbWluX21heCgpOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnbyc6CisJCQljdGwtPnBvbGljeSA9IFNDSEVEX09USEVSOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJZXJybm8gPSAwOworCQkJY3RsLT5waWQgPSBzdHJ0b3MzMl9vcl9lcnIoYXJndlthcmdjIC0gMV0sIF8oImludmFsaWQgUElEIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJY3RsLT5wb2xpY3kgPSBTQ0hFRF9SUjsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWN0bC0+dmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQljdGwtPnJ1bnRpbWUgPSBzdHJ0b3U2NF9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHJ1bnRpbWUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnUCc6CisJCQljdGwtPnBlcmlvZCA9IHN0cnRvdTY0X29yX2VycihvcHRhcmcsIF8oImludmFsaWQgcGVyaW9kIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ0QnOgorCQkJY3RsLT5kZWFkbGluZSA9IHN0cnRvdTY0X29yX2VycihvcHRhcmcsIF8oImludmFsaWQgZGVhZGxpbmUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmICgoKGN0bC0+cGlkID4gLTEpICYmIGFyZ2MgLSBvcHRpbmQgPCAxKSB8fAorCSAgICAoKGN0bC0+cGlkID09IC0xKSAmJiBhcmdjIC0gb3B0aW5kIDwgMikpIHsKKwkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7Cit9CisKKwlpZiAoKGN0bC0+cGlkID4gLTEpICYmIChjdGwtPnZlcmJvc2UgfHwgYXJnYyAtIG9wdGluZCA9PSAxKSkgeworCQlzaG93X3NjaGVkX2luZm8oY3RsKTsKKwkJaWYgKGFyZ2MgLSBvcHRpbmQgPT0gMSkKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJZXJybm8gPSAwOworCWN0bC0+cHJpb3JpdHkgPSBzdHJ0b3MzMl9vcl9lcnIoYXJndltvcHRpbmRdLCBfKCJpbnZhbGlkIHByaW9yaXR5IGFyZ3VtZW50IikpOworCisjaWZkZWYgU0NIRURfUkVTRVRfT05fRk9SSworCWlmIChjdGwtPnJlc2V0X29uX2ZvcmsgJiYgY3RsLT5wb2xpY3kgIT0gU0NIRURfRklGTyAmJiBjdGwtPnBvbGljeSAhPSBTQ0hFRF9SUikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tcmVzZXQtb24tZm9yayBvcHRpb24gaXMgc3VwcG9ydGVkIGZvciAiCisJCQkJICAgICAiU0NIRURfRklGTyBhbmQgU0NIRURfUlIgcG9saWNpZXMgb25seSIpKTsKKyNlbmRpZgorI2lmZGVmIFNDSEVEX0RFQURMSU5FCisJaWYgKChjdGwtPnJ1bnRpbWUgfHwgY3RsLT5kZWFkbGluZSB8fCBjdGwtPnBlcmlvZCkgJiYgY3RsLT5wb2xpY3kgIT0gU0NIRURfREVBRExJTkUpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCItLXNjaGVkLXtydW50aW1lLGRlYWRsaW5lLHBlcmlvZH0gb3B0aW9ucyAiCisJCQkJICAgICAiYXJlIHN1cHBvcnRlZCBmb3IgU0NIRURfREVBRExJTkUgb25seSIpKTsKKwlpZiAoY3RsLT5wb2xpY3kgPT0gU0NIRURfREVBRExJTkUpIHsKKwkJLyogVGhlIGJhc2ljIHJ1bGUgaXMgcnVudGltZSA8PSBkZWFkbGluZSA8PSBwZXJpb2QsIHNvIHdlIGNhbgorCQkgKiBtYWtlIGRlYWRsaW5lIGFuZCBydW50aW1lIG9wdGlvbmFsIG9uIGNvbW1hbmQgbGluZS4gTm90ZSB3ZQorCQkgKiBkb24ndCBjaGVjayBhbnkgdmFsdWVzIG9yIHNldCBhbnkgZGVmYXVsdHMsIGl0J3Mga2VybmVsCisJCSAqIHJlc3BvbnNpYmlsaXR5LgorCQkgKi8KKwkJaWYgKGN0bC0+ZGVhZGxpbmUgPT0gMCkKKwkJCWN0bC0+ZGVhZGxpbmUgPSBjdGwtPnBlcmlvZDsKKwkJaWYgKGN0bC0+cnVudGltZSA9PSAwKQorCQkJY3RsLT5ydW50aW1lID0gY3RsLT5kZWFkbGluZTsKKwl9CisjZWxzZQorCWlmIChjdGwtPnJ1bnRpbWUgfHwgY3RsLT5kZWFkbGluZSB8fCBjdGwtPnBlcmlvZCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIlNDSEVEX0RFQURMSU5FIGlzIHVuc3VwcG9ydGVkIikpOworI2VuZGlmCisJaWYgKGN0bC0+cGlkID09IC0xKQorCQljdGwtPnBpZCA9IDA7CisJaWYgKGN0bC0+cHJpb3JpdHkgPCBzY2hlZF9nZXRfcHJpb3JpdHlfbWluKGN0bC0+cG9saWN5KSB8fAorCSAgICBzY2hlZF9nZXRfcHJpb3JpdHlfbWF4KGN0bC0+cG9saWN5KSA8IGN0bC0+cHJpb3JpdHkpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkgICAgIF8oInVuc3VwcG9ydGVkIHByaW9yaXR5IHZhbHVlIGZvciB0aGUgcG9saWN5OiAlZDogc2VlIC0tbWF4IGZvciB2YWxpZCByYW5nZSIpLAorCQkgICAgIGN0bC0+cHJpb3JpdHkpOworCXNldF9zY2hlZChjdGwpOworCisJaWYgKGN0bC0+dmVyYm9zZSkKKwkJc2hvd19zY2hlZF9pbmZvKGN0bCk7CisKKwlpZiAoIWN0bC0+cGlkKSB7CisJCWFyZ3YgKz0gb3B0aW5kICsgMTsKKwkJZXhlY3ZwKGFyZ3ZbMF0sIGFyZ3YpOworCQllcnJleGVjKGFyZ3ZbMF0pOworCX0KKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zY2hlZHV0aWxzL2lvbmljZS4xIGIvc2NoZWR1dGlscy9pb25pY2UuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjA3NWQzCi0tLSAvZGV2L251bGwKKysrIGIvc2NoZWR1dGlscy9pb25pY2UuMQpAQCAtMCwwICsxLDE0MiBAQAorLlRIIElPTklDRSAxICJKdWx5IDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitpb25pY2UgXC0gc2V0IG9yIGdldCBwcm9jZXNzIEkvTyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eQorLlNIIFNZTk9QU0lTCisuQiBpb25pY2UKKy5SQiBbIFwtYworLklSIGNsYXNzIF0KKy5SQiBbIFwtbgorLklSIGxldmVsIF0KKy5SQiBbIFwtdCBdCisuQiBcLXAKKy5JUiBQSUQgLi4uCisuYnIKKy5CIGlvbmljZQorLlJCIFsgXC1jCisuSVIgY2xhc3MgXQorLlJCIFsgXC1uCisuSVIgbGV2ZWwgXQorLlJCIFsgXC10IF0KKy5CIFwtUAorLklSIFBHSUQgLi4uCisuYnIKKy5CIGlvbmljZQorLlJCIFsgXC1jCisuSVIgY2xhc3MgXQorLlJCIFsgXC1uCisuSVIgbGV2ZWwgXQorLlJCIFsgXC10IF0KKy5CIFwtdQorLklSIFVJRCAuLi4KKy5icgorLkIgaW9uaWNlCisuUkIgWyBcLWMKKy5JUiBjbGFzcyBdCisuUkIgWyBcLW4KKy5JUiBsZXZlbCBdCisuUkIgWyBcLXQgXQorLklSICJjb21tYW5kICIgWyBhcmd1bWVudCAuLi5dCisuU0ggREVTQ1JJUFRJT04KK1RoaXMgcHJvZ3JhbSBzZXRzIG9yIGdldHMgdGhlIEkvTyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eSBmb3IgYSBwcm9ncmFtLgorSWYgbm8gYXJndW1lbnRzIG9yIGp1c3QgXGZCXC1wXGZSIGlzIGdpdmVuLCBcZkJpb25pY2VcZlIgd2lsbCBxdWVyeSB0aGUgY3VycmVudAorSS9PIHNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IGZvciB0aGF0IHByb2Nlc3MuCisKK1doZW4gXGZJY29tbWFuZFxmUiBpcyBnaXZlbiwKKy5CIGlvbmljZQord2lsbCBydW4gdGhpcyBjb21tYW5kIHdpdGggdGhlIGdpdmVuIGFyZ3VtZW50cy4KK0lmIG5vIFxmSWNsYXNzXGZSIGlzIHNwZWNpZmllZCwgdGhlbgorLkkgY29tbWFuZAord2lsbCBiZSBleGVjdXRlZCB3aXRoIHRoZSAiYmVzdC1lZmZvcnQiIHNjaGVkdWxpbmcgY2xhc3MuICBUaGUgZGVmYXVsdAorcHJpb3JpdHkgbGV2ZWwgaXMgNC4KKworQXMgb2YgdGhpcyB3cml0aW5nLCBhIHByb2Nlc3MgY2FuIGJlIGluIG9uZSBvZiB0aHJlZSBzY2hlZHVsaW5nIGNsYXNzZXM6CisuSVAgIlxmQklkbGVcZlAiCitBIHByb2dyYW0gcnVubmluZyB3aXRoIGlkbGUgSS9PIHByaW9yaXR5IHdpbGwgb25seSBnZXQgZGlzayB0aW1lIHdoZW4gbm8gb3RoZXIKK3Byb2dyYW0gaGFzIGFza2VkIGZvciBkaXNrIEkvTyBmb3IgYSBkZWZpbmVkIGdyYWNlIHBlcmlvZC4gIFRoZSBpbXBhY3Qgb2YgYW4KK2lkbGUgSS9PIHByb2Nlc3Mgb24gbm9ybWFsIHN5c3RlbSBhY3Rpdml0eSBzaG91bGQgYmUgemVyby4gIFRoaXMgc2NoZWR1bGluZworY2xhc3MgZG9lcyBub3QgdGFrZSBhIHByaW9yaXR5IGFyZ3VtZW50LiAgUHJlc2VudGx5LCB0aGlzIHNjaGVkdWxpbmcgY2xhc3MKK2lzIHBlcm1pdHRlZCBmb3IgYW4gb3JkaW5hcnkgdXNlciAoc2luY2Uga2VybmVsIDIuNi4yNSkuCisuSVAgIlxmQkJlc3QtZWZmb3J0XGZQIgorVGhpcyBpcyB0aGUgZWZmZWN0aXZlIHNjaGVkdWxpbmcgY2xhc3MgZm9yIGFueSBwcm9jZXNzIHRoYXQgaGFzIG5vdCBhc2tlZCBmb3IKK2Egc3BlY2lmaWMgSS9PIHByaW9yaXR5LgorVGhpcyBjbGFzcyB0YWtlcyBhIHByaW9yaXR5IGFyZ3VtZW50IGZyb20gXGZJMC03XGZSLCB3aXRoIGEgbG93ZXIKK251bWJlciBiZWluZyBoaWdoZXIgcHJpb3JpdHkuICBQcm9ncmFtcyBydW5uaW5nIGF0IHRoZSBzYW1lIGJlc3QtZWZmb3J0Citwcmlvcml0eSBhcmUgc2VydmVkIGluIGEgcm91bmQtcm9iaW4gZmFzaGlvbi4KKworTm90ZSB0aGF0IGJlZm9yZSBrZXJuZWwgMi42LjI2IGEgcHJvY2VzcyB0aGF0IGhhcyBub3QgYXNrZWQgZm9yIGFuIEkvTyBwcmlvcml0eQorZm9ybWFsbHkgdXNlcyAiXGZCbm9uZVxmUCIgYXMgc2NoZWR1bGluZyBjbGFzcywgYnV0IHRoZSBJL08gc2NoZWR1bGVyIHdpbGwgdHJlYXQKK3N1Y2ggcHJvY2Vzc2VzIGFzIGlmIGl0IHdlcmUgaW4gdGhlIGJlc3QtZWZmb3J0IGNsYXNzLiAgVGhlIHByaW9yaXR5IHdpdGhpbiB0aGUKK2Jlc3QtZWZmb3J0IGNsYXNzIHdpbGwgYmUgZHluYW1pY2FsbHkgZGVyaXZlZCBmcm9tIHRoZSBDUFUgbmljZSBsZXZlbCBvZiB0aGUKK3Byb2Nlc3M6IGlvX3ByaW9yaXR5ID0gKGNwdV9uaWNlICsgMjApIC8gNS4KKworRm9yIGtlcm5lbHMgYWZ0ZXIgMi42LjI2IHdpdGggdGhlIENGUSBJL08gc2NoZWR1bGVyLCBhIHByb2Nlc3MgdGhhdCBoYXMgbm90IGFza2VkCitmb3IgYW4gSS9PIHByaW9yaXR5IGluaGVyaXRzIGl0cyBDUFUgc2NoZWR1bGluZyBjbGFzcy4gIFRoZSBJL08gcHJpb3JpdHkgaXMgZGVyaXZlZAorZnJvbSB0aGUgQ1BVIG5pY2UgbGV2ZWwgb2YgdGhlIHByb2Nlc3MgKHNhbWUgYXMgYmVmb3JlIGtlcm5lbCAyLjYuMjYpLgorCisuSVAgIlxmQlJlYWx0aW1lXGZQIgorVGhlIFJUIHNjaGVkdWxpbmcgY2xhc3MgaXMgZ2l2ZW4gZmlyc3QgYWNjZXNzIHRvIHRoZSBkaXNrLCByZWdhcmRsZXNzIG9mCit3aGF0IGVsc2UgaXMgZ29pbmcgb24gaW4gdGhlIHN5c3RlbS4gIFRodXMgdGhlIFJUIGNsYXNzIG5lZWRzIHRvIGJlIHVzZWQgd2l0aAorc29tZSBjYXJlLCBhcyBpdCBjYW4gc3RhcnZlIG90aGVyIHByb2Nlc3Nlcy4gIEFzIHdpdGggdGhlIGJlc3QtZWZmb3J0IGNsYXNzLAorOCBwcmlvcml0eSBsZXZlbHMgYXJlIGRlZmluZWQgZGVub3RpbmcgaG93IGJpZyBhIHRpbWUgc2xpY2UgYSBnaXZlbiBwcm9jZXNzCit3aWxsIHJlY2VpdmUgb24gZWFjaCBzY2hlZHVsaW5nIHdpbmRvdy4gIFRoaXMgc2NoZWR1bGluZyBjbGFzcyBpcyBub3QKK3Blcm1pdHRlZCBmb3IgYW4gb3JkaW5hcnkgKGkuZS4sIG5vbi1yb290KSB1c2VyLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYyAsICIgXC1cLWNsYXNzICIgXGZJY2xhc3NcZlIKK1NwZWNpZnkgdGhlIG5hbWUgb3IgbnVtYmVyIG9mIHRoZSBzY2hlZHVsaW5nIGNsYXNzIHRvIHVzZTsgXGZJMFxmUiBmb3Igbm9uZSwKK1xmSTFcZlIgZm9yIHJlYWx0aW1lLCBcZkkyXGZSIGZvciBiZXN0LWVmZm9ydCwgXGZJM1xmUiBmb3IgaWRsZS4KKy5UUAorLkJSIFwtbiAsICIgXC1cLWNsYXNzZGF0YSAiIFxmSWxldmVsXGZSCitTcGVjaWZ5IHRoZSBzY2hlZHVsaW5nIGNsYXNzIGRhdGEuICBUaGlzIG9ubHkgaGFzIGFuIGVmZmVjdCBpZiB0aGUgY2xhc3MKK2FjY2VwdHMgYW4gYXJndW1lbnQuICBGb3IgcmVhbHRpbWUgYW5kIGJlc3QtZWZmb3J0LCBcZkkwLTdcZlIgYXJlIHZhbGlkIGRhdGEKKyhwcmlvcml0eSBsZXZlbHMpLCBhbmQgXGZJMFxmUiByZXByZXNlbnRzIHRoZSBoaWdoZXN0IHByaW9yaXR5IGxldmVsLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcGlkICIgXGZJUElEXGZSLi4uCitTcGVjaWZ5IHRoZSBwcm9jZXNzIElEcyBvZiBydW5uaW5nIHByb2Nlc3NlcyBmb3Igd2hpY2ggdG8gZ2V0IG9yIHNldCB0aGUKK3NjaGVkdWxpbmcgcGFyYW1ldGVycy4KKy5UUAorLkJSIFwtUCAsICIgXC1cLXBnaWQgIiBcZklQR0lEXGZSLi4uCitTcGVjaWZ5IHRoZSBwcm9jZXNzIGdyb3VwIElEcyBvZiBydW5uaW5nIHByb2Nlc3NlcyBmb3Igd2hpY2ggdG8gZ2V0IG9yIHNldCB0aGUKK3NjaGVkdWxpbmcgcGFyYW1ldGVycy4KKy5UUAorLkJSIFwtdCAsICIgXC1cLWlnbm9yZSIKK0lnbm9yZSBmYWlsdXJlIHRvIHNldCB0aGUgcmVxdWVzdGVkIHByaW9yaXR5LiAgSWYgXGZJY29tbWFuZFxmUiB3YXMgc3BlY2lmaWVkLAorcnVuIGl0IGV2ZW4gaW4gY2FzZSBpdCB3YXMgbm90IHBvc3NpYmxlIHRvIHNldCB0aGUgZGVzaXJlZCBzY2hlZHVsaW5nIHByaW9yaXR5LAord2hpY2ggY2FuIGhhcHBlbiBkdWUgdG8gaW5zdWZmaWNpZW50IHByaXZpbGVnZXMgb3IgYW4gb2xkIGtlcm5lbCB2ZXJzaW9uLgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC11ICwgIiBcLVwtdWlkICIgXGZJVUlEXGZSLi4uCitTcGVjaWZ5IHRoZSB1c2VyIElEcyBvZiBydW5uaW5nIHByb2Nlc3NlcyBmb3Igd2hpY2ggdG8gZ2V0IG9yIHNldCB0aGUKK3NjaGVkdWxpbmcgcGFyYW1ldGVycy4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKKy5MUAorLlRQIDcKKyMgXGZCaW9uaWNlXGZQIC1jIDMgLXAgODkKKy5UUCA3CitTZXRzIHByb2Nlc3Mgd2l0aCBQSUQgODkgYXMgYW4gaWRsZSBJL08gcHJvY2Vzcy4KKy5UUCA3CisjIFxmQmlvbmljZVxmUCAtYyAyIC1uIDAgYmFzaAorLlRQIDcKK1J1bnMgJ2Jhc2gnIGFzIGEgYmVzdC1lZmZvcnQgcHJvZ3JhbSB3aXRoIGhpZ2hlc3QgcHJpb3JpdHkuCisuVFAgNworIyBcZkJpb25pY2VcZlAgLXAgODkgOTEKKy5UUCA3CitQcmludHMgdGhlIGNsYXNzIGFuZCBwcmlvcml0eSBvZiB0aGUgcHJvY2Vzc2VzIHdpdGggUElEIDg5IGFuZCA5MS4KKy5TSCBOT1RFUworTGludXggc3VwcG9ydHMgSS9PIHNjaGVkdWxpbmcgcHJpb3JpdGllcyBhbmQgY2xhc3NlcyBzaW5jZSAyLjYuMTMgd2l0aCB0aGUgQ0ZRCitJL08gc2NoZWR1bGVyLgorLlNIIEFVVEhPUlMKKy5uZgorSmVucyBBeGJvZSA8amVuc0BheGJvZS5kaz4KK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLmZpCisuU0ggU0VFIEFMU08KKy5CUiBpb3ByaW9fc2V0ICgyKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGlvbmljZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc2NoZWR1dGlscy9pb25pY2UuYyBiL3NjaGVkdXRpbHMvaW9uaWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRjNmE4MgotLS0gL2Rldi9udWxsCisrKyBiL3NjaGVkdXRpbHMvaW9uaWNlLmMKQEAgLTAsMCArMSwyNjcgQEAKKy8qCisgKiBpb25pY2U6IHNldCBvciBnZXQgcHJvY2VzcyBpbyBzY2hlZHVsaW5nIGNsYXNzIGFuZCBwcmlvcml0eQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwNSBKZW5zIEF4Ym9lIDxqZW5zQGF4Ym9lLmRrPgorICoKKyAqIFJlbGVhc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyCisgKgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKK3N0YXRpYyBpbnQgdG9sZXJhbnQ7CisKK3N0YXRpYyBpbmxpbmUgaW50IGlvcHJpb19zZXQoaW50IHdoaWNoLCBpbnQgd2hvLCBpbnQgaW9wcmlvKQoreworCXJldHVybiBzeXNjYWxsKFNZU19pb3ByaW9fc2V0LCB3aGljaCwgd2hvLCBpb3ByaW8pOworfQorCitzdGF0aWMgaW5saW5lIGludCBpb3ByaW9fZ2V0KGludCB3aGljaCwgaW50IHdobykKK3sKKwlyZXR1cm4gc3lzY2FsbChTWVNfaW9wcmlvX2dldCwgd2hpY2gsIHdobyk7Cit9CisKK2VudW0geworCUlPUFJJT19DTEFTU19OT05FLAorCUlPUFJJT19DTEFTU19SVCwKKwlJT1BSSU9fQ0xBU1NfQkUsCisJSU9QUklPX0NMQVNTX0lETEUsCit9OworCitlbnVtIHsKKwlJT1BSSU9fV0hPX1BST0NFU1MgPSAxLAorCUlPUFJJT19XSE9fUEdSUCwKKwlJT1BSSU9fV0hPX1VTRVIsCit9OworCisjZGVmaW5lIElPUFJJT19DTEFTU19TSElGVAkoMTMpCisjZGVmaW5lIElPUFJJT19QUklPX01BU0sJKCgxVUwgPDwgSU9QUklPX0NMQVNTX1NISUZUKSAtIDEpCisKKyNkZWZpbmUgSU9QUklPX1BSSU9fQ0xBU1MobWFzaykJKChtYXNrKSA+PiBJT1BSSU9fQ0xBU1NfU0hJRlQpCisjZGVmaW5lIElPUFJJT19QUklPX0RBVEEobWFzaykJKChtYXNrKSAmIElPUFJJT19QUklPX01BU0spCisjZGVmaW5lIElPUFJJT19QUklPX1ZBTFVFKGNsYXNzLCBkYXRhKQkoKChjbGFzcykgPDwgSU9QUklPX0NMQVNTX1NISUZUKSB8IGRhdGEpCisKK3N0YXRpYyBjb25zdCBjaGFyICp0b19wcmlvW10gPSB7CisJW0lPUFJJT19DTEFTU19OT05FXSA9ICJub25lIiwKKwlbSU9QUklPX0NMQVNTX1JUXSAgID0gInJlYWx0aW1lIiwKKwlbSU9QUklPX0NMQVNTX0JFXSAgID0gImJlc3QtZWZmb3J0IiwKKwlbSU9QUklPX0NMQVNTX0lETEVdID0gImlkbGUiCit9OworCitzdGF0aWMgaW50IHBhcnNlX2lvY2xhc3MoY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodG9fcHJpbyk7IGkrKykKKwkJaWYgKCFzdHJjYXNlY21wKHN0ciwgdG9fcHJpb1tpXSkpCisJCQlyZXR1cm4gaTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyB2b2lkIGlvcHJpb19wcmludChpbnQgcGlkLCBpbnQgd2hvKQoreworCWludCBpb3ByaW8gPSBpb3ByaW9fZ2V0KHdobywgcGlkKTsKKworCWlmIChpb3ByaW8gPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImlvcHJpb19nZXQgZmFpbGVkIikpOworCWVsc2UgeworCQlpbnQgaW9jbGFzcyA9IElPUFJJT19QUklPX0NMQVNTKGlvcHJpbyk7CisJCWNvbnN0IGNoYXIgKm5hbWUgPSBfKCJ1bmtub3duIik7CisKKwkJaWYgKGlvY2xhc3MgPj0gMCAmJiAoc2l6ZV90KSBpb2NsYXNzIDwgQVJSQVlfU0laRSh0b19wcmlvKSkKKwkJCW5hbWUgPSB0b19wcmlvW2lvY2xhc3NdOworCisJCWlmIChpb2NsYXNzICE9IElPUFJJT19DTEFTU19JRExFKQorCQkJcHJpbnRmKF8oIiVzOiBwcmlvICVsdVxuIiksIG5hbWUsCisJCQkgICAgICAgSU9QUklPX1BSSU9fREFUQShpb3ByaW8pKTsKKwkJZWxzZQorCQkJcHJpbnRmKCIlc1xuIiwgbmFtZSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBpb3ByaW9fc2V0aWQoaW50IHdoaWNoLCBpbnQgaW9jbGFzcywgaW50IGRhdGEsIGludCB3aG8pCit7CisJaW50IHJjID0gaW9wcmlvX3NldCh3aG8sIHdoaWNoLAorCQkJICAgIElPUFJJT19QUklPX1ZBTFVFKGlvY2xhc3MsIGRhdGEpKTsKKworCWlmIChyYyA9PSAtMSAmJiAhdG9sZXJhbnQpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImlvcHJpb19zZXQgZmFpbGVkIikpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsICBfKCIgJTEkcyBbb3B0aW9uc10gLXAgPHBpZD4uLi5cbiIKKwkJCSIgJTEkcyBbb3B0aW9uc10gLVAgPHBnaWQ+Li4uXG4iCisJCQkiICUxJHMgW29wdGlvbnNdIC11IDx1aWQ+Li4uXG4iCisJCQkiICUxJHMgW29wdGlvbnNdIDxjb21tYW5kPlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTaG93IG9yIGNoYW5nZSB0aGUgSS9PLXNjaGVkdWxpbmcgY2xhc3MgYW5kIHByaW9yaXR5IG9mIGEgcHJvY2Vzcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY2xhc3MgPGNsYXNzPiAgICBuYW1lIG9yIG51bWJlciBvZiBzY2hlZHVsaW5nIGNsYXNzLFxuIgorCQkiICAgICAgICAgICAgICAgICAgICAgICAgICAwOiBub25lLCAxOiByZWFsdGltZSwgMjogYmVzdC1lZmZvcnQsIDM6IGlkbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1jbGFzc2RhdGEgPG51bT4gIHByaW9yaXR5ICgwLi43KSBpbiB0aGUgc3BlY2lmaWVkIHNjaGVkdWxpbmcgY2xhc3MsXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICAgIG9ubHkgZm9yIHRoZSByZWFsdGltZSBhbmQgYmVzdC1lZmZvcnQgY2xhc3Nlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXBpZCA8cGlkPi4uLiAgICAgYWN0IG9uIHRoZXNlIGFscmVhZHkgcnVubmluZyBwcm9jZXNzZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1wZ2lkIDxwZ3JwPi4uLiAgIGFjdCBvbiBhbHJlYWR5IHJ1bm5pbmcgcHJvY2Vzc2VzIGluIHRoZXNlIGdyb3Vwc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLWlnbm9yZSAgICAgICAgICAgaWdub3JlIGZhaWx1cmVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdWlkIDx1aWQ+Li4uICAgICBhY3Qgb24gYWxyZWFkeSBydW5uaW5nIHByb2Nlc3NlcyBvd25lZCBieSB0aGVzZSB1c2Vyc1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJpb25pY2UoMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgZGF0YSA9IDQsIHNldCA9IDAsIGlvY2xhc3MgPSBJT1BSSU9fQ0xBU1NfQkUsIGM7CisJaW50IHdoaWNoID0gMCwgd2hvID0gMDsKKwljb25zdCBjaGFyICppbnZhbGlkX21zZyA9IE5VTEw7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJjbGFzc2RhdGEiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ24nIH0sCisJCXsgImNsYXNzIiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYycgfSwKKwkJeyAiaGVscCIsICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCQl7ICJpZ25vcmUiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3QnIH0sCisJCXsgInBpZCIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAicGdpZCIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdQJyB9LAorCQl7ICJ1aWQiLCAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3UnIH0sCisJCXsgInZlcnNpb24iLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICIrbjpjOnA6UDp1OnRWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gRU9GKQorCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnbic6CisJCQlkYXRhID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBjbGFzcyBkYXRhIGFyZ3VtZW50IikpOworCQkJc2V0IHw9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQlpZiAoaXNkaWdpdCgqb3B0YXJnKSkKKwkJCQlpb2NsYXNzID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywKKwkJCQkJCV8oImludmFsaWQgY2xhc3MgYXJndW1lbnQiKSk7CisJCQllbHNlIHsKKwkJCQlpb2NsYXNzID0gcGFyc2VfaW9jbGFzcyhvcHRhcmcpOworCQkJCWlmIChpb2NsYXNzIDwgMCkKKwkJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJCQlfKCJ1bmtub3duIHNjaGVkdWxpbmcgY2xhc3M6ICclcyciKSwKKwkJCQkJCW9wdGFyZyk7CisJCQl9CisJCQlzZXQgfD0gMjsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWlmICh3aG8pCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJjYW4gaGFuZGxlIG9ubHkgb25lIG9mIHBpZCwgcGdpZCBvciB1aWQgYXQgb25jZSIpKTsKKwkJCWludmFsaWRfbXNnID0gXygiaW52YWxpZCBQSUQgYXJndW1lbnQiKTsKKwkJCXdoaWNoID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgaW52YWxpZF9tc2cpOworCQkJd2hvID0gSU9QUklPX1dIT19QUk9DRVNTOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJaWYgKHdobykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIikpOworCQkJaW52YWxpZF9tc2cgPSBfKCJpbnZhbGlkIFBHSUQgYXJndW1lbnQiKTsKKwkJCXdoaWNoID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgaW52YWxpZF9tc2cpOworCQkJd2hvID0gSU9QUklPX1dIT19QR1JQOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJaWYgKHdobykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImNhbiBoYW5kbGUgb25seSBvbmUgb2YgcGlkLCBwZ2lkIG9yIHVpZCBhdCBvbmNlIikpOworCQkJaW52YWxpZF9tc2cgPSBfKCJpbnZhbGlkIFVJRCBhcmd1bWVudCIpOworCQkJd2hpY2ggPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBpbnZhbGlkX21zZyk7CisJCQl3aG8gPSBJT1BSSU9fV0hPX1VTRVI7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQl0b2xlcmFudCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJc3dpdGNoIChpb2NsYXNzKSB7CisJCWNhc2UgSU9QUklPX0NMQVNTX05PTkU6CisJCQlpZiAoKHNldCAmIDEpICYmICF0b2xlcmFudCkKKwkJCQl3YXJueChfKCJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzIikpOworCQkJZGF0YSA9IDA7CisJCQlicmVhazsKKwkJY2FzZSBJT1BSSU9fQ0xBU1NfUlQ6CisJCWNhc2UgSU9QUklPX0NMQVNTX0JFOgorCQkJYnJlYWs7CisJCWNhc2UgSU9QUklPX0NMQVNTX0lETEU6CisJCQlpZiAoKHNldCAmIDEpICYmICF0b2xlcmFudCkKKwkJCQl3YXJueChfKCJpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBpZGxlIGNsYXNzIikpOworCQkJZGF0YSA9IDc7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWlmICghdG9sZXJhbnQpCisJCQkJd2FybngoXygidW5rbm93biBwcmlvIGNsYXNzICVkIiksIGlvY2xhc3MpOworCQkJYnJlYWs7CisJfQorCisJaWYgKCFzZXQgJiYgIXdoaWNoICYmIG9wdGluZCA9PSBhcmdjKQorCQkvKgorCQkgKiBpb25pY2Ugd2l0aG91dCBvcHRpb25zLCBwcmludCB0aGUgY3VycmVudCBpb3ByaW8KKwkJICovCisJCWlvcHJpb19wcmludCgwLCBJT1BSSU9fV0hPX1BST0NFU1MpOworCWVsc2UgaWYgKCFzZXQgJiYgd2hvKSB7CisJCS8qCisJCSAqIGlvbmljZSAtcHwtUHwtdSBJRCBbSUQgLi4uXQorCQkgKi8KKwkJaW9wcmlvX3ByaW50KHdoaWNoLCB3aG8pOworCisJCWZvcig7IGFyZ3Zbb3B0aW5kXTsgKytvcHRpbmQpIHsKKwkJCXdoaWNoID0gc3RydG9zMzJfb3JfZXJyKGFyZ3Zbb3B0aW5kXSwgaW52YWxpZF9tc2cpOworCQkJaW9wcmlvX3ByaW50KHdoaWNoLCB3aG8pOworCQl9CisJfSBlbHNlIGlmIChzZXQgJiYgd2hvKSB7CisJCS8qCisJCSAqIGlvbmljZSAtYyBDTEFTUyAtcHwtUHwtdSBJRCBbSUQgLi4uXQorCQkgKi8KKwkJaW9wcmlvX3NldGlkKHdoaWNoLCBpb2NsYXNzLCBkYXRhLCB3aG8pOworCisJCWZvcig7IGFyZ3Zbb3B0aW5kXTsgKytvcHRpbmQpIHsKKwkJCXdoaWNoID0gc3RydG9zMzJfb3JfZXJyKGFyZ3Zbb3B0aW5kXSwgaW52YWxpZF9tc2cpOworCQkJaW9wcmlvX3NldGlkKHdoaWNoLCBpb2NsYXNzLCBkYXRhLCB3aG8pOworCQl9CisJfSBlbHNlIGlmIChhcmd2W29wdGluZF0pIHsKKwkJLyoKKwkJICogaW9uaWNlIFstYyBDTEFTU10gQ09NTUFORAorCQkgKi8KKwkJaW9wcmlvX3NldGlkKDAsIGlvY2xhc3MsIGRhdGEsIElPUFJJT19XSE9fUFJPQ0VTUyk7CisJCWV4ZWN2cChhcmd2W29wdGluZF0sICZhcmd2W29wdGluZF0pOworCQllcnJleGVjKGFyZ3Zbb3B0aW5kXSk7CisJfSBlbHNlIHsKKwkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3NjaGVkdXRpbHMvdGFza3NldC4xIGIvc2NoZWR1dGlscy90YXNrc2V0LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEzMjk3OAotLS0gL2Rldi9udWxsCisrKyBiL3NjaGVkdXRpbHMvdGFza3NldC4xCkBAIC0wLDAgKzEsMTM2IEBACisuXCIgdGFza3NldCgxKSBtYW5wYWdlCisuXCIKKy5cIiBDb3B5cmlnaHQgKEMpIDIwMDQgUm9iZXJ0IExvdmUKKy5cIgorLlwiIFRoaXMgaXMgZnJlZSBkb2N1bWVudGF0aW9uOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKy5cIiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwKKy5cIiB2ZXJzaW9uIDIsIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorLlwiCisuXCIgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlJ3MgcmVmZXJlbmNlcyB0byAib2JqZWN0IGNvZGUiCisuXCIgYW5kICJleGVjdXRhYmxlcyIgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIHRoZSBvdXRwdXQgb2YgYW55CisuXCIgZG9jdW1lbnQgZm9ybWF0dGluZyBvciB0eXBlc2V0dGluZyBzeXN0ZW0sIGluY2x1ZGluZworLlwiIGludGVybWVkaWF0ZSBhbmQgcHJpbnRlZCBvdXRwdXQuCisuXCIKKy5cIiBUaGlzIG1hbnVhbCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLlwiIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisuXCIgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisuXCIKKy5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworLlwiIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisuXCIgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKy5cIgorLlRIIFRBU0tTRVQgMSAiQXVndXN0IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCit0YXNrc2V0IFwtIHNldCBvciByZXRyaWV2ZSBhIHByb2Nlc3MncyBDUFUgYWZmaW5pdHkKKy5TSCBTWU5PUFNJUworLkIgdGFza3NldAorW29wdGlvbnNdCisuSVIgbWFza1wgY29tbWFuZFwgIFsgYXJndW1lbnQgLi4uXQorLmJyCisuQiB0YXNrc2V0Citbb3B0aW9uc10KKy5CIFwtcAorLlJJIFsgbWFzayBdXCAgcGlkCisuU0ggREVTQ1JJUFRJT04KKy5QUAorLkIgdGFza3NldAoraXMgdXNlZCB0byBzZXQgb3IgcmV0cmlldmUgdGhlIENQVSBhZmZpbml0eSBvZiBhIHJ1bm5pbmcgcHJvY2VzcyBnaXZlbiBpdHMKK1xmSXBpZFxmUiwgb3IgdG8gbGF1bmNoIGEgbmV3IFxmSWNvbW1hbmRcZlIgd2l0aCBhIGdpdmVuIENQVSBhZmZpbml0eS4KK0NQVSBhZmZpbml0eSBpcyBhCitzY2hlZHVsZXIgcHJvcGVydHkgdGhhdCAiYm9uZHMiIGEgcHJvY2VzcyB0byBhIGdpdmVuIHNldCBvZiBDUFVzIG9uIHRoZSBzeXN0ZW0uCitUaGUgTGludXggc2NoZWR1bGVyIHdpbGwgaG9ub3IgdGhlIGdpdmVuIENQVSBhZmZpbml0eSBhbmQgdGhlIHByb2Nlc3Mgd2lsbCBub3QKK3J1biBvbiBhbnkgb3RoZXIgQ1BVcy4gIE5vdGUgdGhhdCB0aGUgTGludXggc2NoZWR1bGVyIGFsc28gc3VwcG9ydHMgbmF0dXJhbAorQ1BVIGFmZmluaXR5OiB0aGUgc2NoZWR1bGVyIGF0dGVtcHRzIHRvIGtlZXAgcHJvY2Vzc2VzIG9uIHRoZSBzYW1lIENQVSBhcyBsb25nCithcyBwcmFjdGljYWwgZm9yIHBlcmZvcm1hbmNlIHJlYXNvbnMuICBUaGVyZWZvcmUsIGZvcmNpbmcgYSBzcGVjaWZpYyBDUFUKK2FmZmluaXR5IGlzIHVzZWZ1bCBvbmx5IGluIGNlcnRhaW4gYXBwbGljYXRpb25zLgorLnNwCitUaGUgQ1BVIGFmZmluaXR5IGlzIHJlcHJlc2VudGVkIGFzIGEgYml0bWFzaywgd2l0aCB0aGUgbG93ZXN0IG9yZGVyIGJpdAorY29ycmVzcG9uZGluZyB0byB0aGUgZmlyc3QgbG9naWNhbCBDUFUgYW5kIHRoZSBoaWdoZXN0IG9yZGVyIGJpdCBjb3JyZXNwb25kaW5nCit0byB0aGUgbGFzdCBsb2dpY2FsIENQVS4gIE5vdCBhbGwgQ1BVcyBtYXkgZXhpc3Qgb24gYSBnaXZlbiBzeXN0ZW0gYnV0IGEgbWFzaworbWF5IHNwZWNpZnkgbW9yZSBDUFVzIHRoYW4gYXJlIHByZXNlbnQuICBBIHJldHJpZXZlZCBtYXNrIHdpbGwgcmVmbGVjdCBvbmx5IHRoZQorYml0cyB0aGF0IGNvcnJlc3BvbmQgdG8gQ1BVcyBwaHlzaWNhbGx5IG9uIHRoZSBzeXN0ZW0uICBJZiBhbiBpbnZhbGlkIG1hc2sgaXMKK2dpdmVuIChpLmUuLCBvbmUgdGhhdCBjb3JyZXNwb25kcyB0byBubyB2YWxpZCBDUFVzIG9uIHRoZSBjdXJyZW50IHN5c3RlbSkgYW4KK2Vycm9yIGlzIHJldHVybmVkLiAgVGhlIG1hc2tzIG1heSBiZSBzcGVjaWZpZWQgaW4gaGV4YWRlY2ltYWwgKHdpdGggb3Igd2l0aG91dAorYSBsZWFkaW5nICIweCIpLCBvciBhcyBhIENQVSBsaXN0IHdpdGggdGhlCisuQiBcLVwtY3B1XC1saXN0CitvcHRpb24uICBGb3IgZXhhbXBsZSwKKy5SUyA0CisuVFAgMTIKKy5CIDB4MDAwMDAwMDEKK2lzIHByb2Nlc3NvciAjMCwKKy5UUAorLkIgMHgwMDAwMDAwMworaXMgcHJvY2Vzc29ycyAjMCBhbmQgIzEsCisuVFAKKy5CIDB4RkZGRkZGRkYKK2lzIHByb2Nlc3NvcnMgIzAgdGhyb3VnaCAjMzEsCisuVFAKKy5CIDMyCitpcyBwcm9jZXNzb3JzICMxLCAjNCwgYW5kICM1LAorLlRQCisuQiBcLVwtY3B1XC1saXN0XCAwLTIsNgoraXMgcHJvY2Vzc29ycyAjMCwgIzEsICMyLCBhbmQgIzYuCisuUkUKKy5QUAorV2hlbgorLkIgdGFza3NldAorcmV0dXJucywgaXQgaXMgZ3VhcmFudGVlZCB0aGF0IHRoZSBnaXZlbiBwcm9ncmFtIGhhcyBiZWVuIHNjaGVkdWxlZCB0byBhIGxlZ2FsCitDUFUuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICxcICBcLVwtYWxsXC10YXNrcworU2V0IG9yIHJldHJpZXZlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYWxsIHRoZSB0YXNrcyAodGhyZWFkcykgZm9yIGEgZ2l2ZW4gUElELgorLlRQCisuQlIgXC1jICxcICBcLVwtY3B1XC1saXN0CitJbnRlcnByZXQgXGZJbWFza1xmUiBhcyBudW1lcmljYWwgbGlzdCBvZiBwcm9jZXNzb3JzIGluc3RlYWQgb2YgYSBiaXRtYXNrLgorTnVtYmVycyBhcmUgc2VwYXJhdGVkIGJ5IGNvbW1hcyBhbmQgbWF5IGluY2x1ZGUgcmFuZ2VzLiAgRm9yIGV4YW1wbGU6CisuQlIgMCw1LDgtMTEgLgorLlRQCisuQlIgXC1wICxcICBcLVwtcGlkCitPcGVyYXRlIG9uIGFuIGV4aXN0aW5nIFBJRCBhbmQgZG8gbm90IGxhdW5jaCBhIG5ldyB0YXNrLgorLlRQCisuQlIgXC1WICxcICBcLVwtdmVyc2lvbgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICxcICBcLVwtaGVscAorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggVVNBR0UKKy5UUAorVGhlIGRlZmF1bHQgYmVoYXZpb3IgaXMgdG8gcnVuIGEgbmV3IGNvbW1hbmQgd2l0aCBhIGdpdmVuIGFmZmluaXR5IG1hc2s6CisuQiB0YXNrc2V0CisuSSBtYXNrCisuSVIgY29tbWFuZFwgIFsgYXJndW1lbnRzIF0KKy5UUAorWW91IGNhbiBhbHNvIHJldHJpZXZlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYW4gZXhpc3RpbmcgdGFzazoKKy5CIHRhc2tzZXQgXC1wCisuSSBwaWQKKy5UUAorT3Igc2V0IGl0OgorLkIgdGFza3NldCBcLXAKKy5JIG1hc2sgcGlkCisuU0ggUEVSTUlTU0lPTlMKK0EgdXNlciBjYW4gY2hhbmdlIHRoZSBDUFUgYWZmaW5pdHkgb2YgYSBwcm9jZXNzIGJlbG9uZ2luZyB0byB0aGUgc2FtZSB1c2VyLgorQSB1c2VyIG11c3QgcG9zc2VzcworLkIgQ0FQX1NZU19OSUNFCit0byBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MgYmVsb25naW5nIHRvIGFub3RoZXIgdXNlci4KK0EgdXNlciBjYW4gcmV0cmlldmUgdGhlIGFmZmluaXR5IG1hc2sgb2YgYW55IHByb2Nlc3MuCisuU0ggU0VFIEFMU08KKy5CUiBjaHJ0ICgxKSwKKy5CUiBuaWNlICgxKSwKKy5CUiByZW5pY2UgKDEpLAorLkJSIHNjaGVkX2dldGFmZmluaXR5ICgyKSwKKy5CUiBzY2hlZF9zZXRhZmZpbml0eSAoMikKKy5zcAorU2VlCisuQlIgc2NoZWQgKDcpCitmb3IgYSBkZXNjcmlwdGlvbiBvZiB0aGUgTGludXggc2NoZWR1bGluZyBzY2hlbWUuCisuU0ggQVVUSE9SCitXcml0dGVuIGJ5IFJvYmVydCBNLiBMb3ZlLgorLlNIIENPUFlSSUdIVAorQ29weXJpZ2h0IFwoY28gMjAwNCBSb2JlcnQgTS4gTG92ZS4KK1RoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCit3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSB0YXNrc2V0IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zY2hlZHV0aWxzL3Rhc2tzZXQuYyBiL3NjaGVkdXRpbHMvdGFza3NldC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlNzljZDYKLS0tIC9kZXYvbnVsbAorKysgYi9zY2hlZHV0aWxzL3Rhc2tzZXQuYwpAQCAtMCwwICsxLDI1MiBAQAorLyoKKyAqIHRhc2tzZXQuYyAtIHNldCBvciByZXRyaWV2ZSBhIHRhc2sncyBDUFUgYWZmaW5pdHkKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLCBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDQgUm9iZXJ0IExvdmUKKyAqIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHNjaGVkLmg+CisjaW5jbHVkZSA8c3RkZGVmLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisKKyNpbmNsdWRlICJjcHVzZXQuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInByb2N1dGlscy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCitzdHJ1Y3QgdGFza3NldCB7CisJcGlkX3QJCXBpZDsJCS8qIHRhc2sgUElEICovCisJY3B1X3NldF90CSpzZXQ7CQkvKiB0YXNrIENQVSBtYXNrICovCisJc2l6ZV90CQlzZXRzaXplOworCWNoYXIJCSpidWY7CQkvKiBidWZmZXIgZm9yIGNvbnZlcnNpb24gZnJvbSBtYXNrIHRvIHN0cmluZyAqLworCXNpemVfdAkJYnVmbGVuOworCXVuc2lnbmVkIGludAl1c2VfbGlzdDoxLAkvKiB1c2UgbGlzdCByYXRoZXIgdGhhbiBtYXNrcyAqLworCQkJZ2V0X29ubHk6MTsJLyogcHJpbnQgdGhlIG1hc2ssIGJ1dCBub3QgbW9kaWZ5ICovCit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHJpbnRmKG91dCwKKwkJXygiVXNhZ2U6ICVzIFtvcHRpb25zXSBbbWFzayB8IGNwdS1saXN0XSBbcGlkfGNtZCBbYXJncy4uLl1dXG5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiU2hvdyBvciBjaGFuZ2UgdGhlIENQVSBhZmZpbml0eSBvZiBhIHByb2Nlc3MuXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisKKwlmcHJpbnRmKG91dCwgXygKKwkJIk9wdGlvbnM6XG4iCisJCSIgLWEsIC0tYWxsLXRhc2tzICAgICAgICAgb3BlcmF0ZSBvbiBhbGwgdGhlIHRhc2tzICh0aHJlYWRzKSBmb3IgYSBnaXZlbiBwaWRcbiIKKwkJIiAtcCwgLS1waWQgICAgICAgICAgICAgICBvcGVyYXRlIG9uIGV4aXN0aW5nIGdpdmVuIHBpZFxuIgorCQkiIC1jLCAtLWNwdS1saXN0ICAgICAgICAgIGRpc3BsYXkgYW5kIHNwZWNpZnkgY3B1cyBpbiBsaXN0IGZvcm1hdFxuIgorCQkpKTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI1KSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnByaW50ZihvdXQsIF8oCisJCSJUaGUgZGVmYXVsdCBiZWhhdmlvciBpcyB0byBydW4gYSBuZXcgY29tbWFuZDpcbiIKKwkJIiAgICAlMSRzIDAzIHNzaGQgLWIgMTAyNFxuIgorCQkiWW91IGNhbiByZXRyaWV2ZSB0aGUgbWFzayBvZiBhbiBleGlzdGluZyB0YXNrOlxuIgorCQkiICAgICUxJHMgLXAgNzAwXG4iCisJCSJPciBzZXQgaXQ6XG4iCisJCSIgICAgJTEkcyAtcCAwMyA3MDBcbiIKKwkJIkxpc3QgZm9ybWF0IHVzZXMgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBpbnN0ZWFkIG9mIGEgbWFzazpcbiIKKwkJIiAgICAlMSRzIC1wYyAwLDMsNy0xMSA3MDBcbiIKKwkJIlJhbmdlcyBpbiBsaXN0IGZvcm1hdCBjYW4gdGFrZSBhIHN0cmlkZSBhcmd1bWVudDpcbiIKKwkJIiAgICBlLmcuIDAtMzE6MiBpcyBlcXVpdmFsZW50IHRvIG1hc2sgMHg1NTU1NTU1NVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgidGFza3NldCgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X2FmZmluaXR5KHN0cnVjdCB0YXNrc2V0ICp0cywgaW50IGlzbmV3KQoreworCWNoYXIgKnN0ciwgKm1zZzsKKworCWlmICh0cy0+dXNlX2xpc3QpIHsKKwkJc3RyID0gY3B1bGlzdF9jcmVhdGUodHMtPmJ1ZiwgdHMtPmJ1ZmxlbiwgdHMtPnNldCwgdHMtPnNldHNpemUpOworCQltc2cgPSBpc25ldyA/IF8oInBpZCAlZCdzIG5ldyBhZmZpbml0eSBsaXN0OiAlc1xuIikgOgorCQkJICAgICAgXygicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBsaXN0OiAlc1xuIik7CisJfSBlbHNlIHsKKwkJc3RyID0gY3B1bWFza19jcmVhdGUodHMtPmJ1ZiwgdHMtPmJ1ZmxlbiwgdHMtPnNldCwgdHMtPnNldHNpemUpOworCQltc2cgPSBpc25ldyA/IF8oInBpZCAlZCdzIG5ldyBhZmZpbml0eSBtYXNrOiAlc1xuIikgOgorCQkJICAgICAgXygicGlkICVkJ3MgY3VycmVudCBhZmZpbml0eSBtYXNrOiAlc1xuIik7CisJfQorCisJaWYgKCFzdHIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJpbnRlcm5hbCBlcnJvcjogY29udmVyc2lvbiBmcm9tIGNwdXNldCB0byBzdHJpbmcgZmFpbGVkIikpOworCisJcHJpbnRmKG1zZywgdHMtPnBpZCA/IHRzLT5waWQgOiBnZXRwaWQoKSwgc3RyKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZXJyX2FmZmluaXR5KHBpZF90IHBpZCwgaW50IHNldCkKK3sKKwljaGFyICptc2c7CisKKwltc2cgPSBzZXQgPyBfKCJmYWlsZWQgdG8gc2V0IHBpZCAlZCdzIGFmZmluaXR5IikgOgorCQkgICAgXygiZmFpbGVkIHRvIGdldCBwaWQgJWQncyBhZmZpbml0eSIpOworCisJZXJyKEVYSVRfRkFJTFVSRSwgbXNnLCBwaWQgPyBwaWQgOiBnZXRwaWQoKSk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3Rhc2tzZXQoc3RydWN0IHRhc2tzZXQgKnRzLCBzaXplX3Qgc2V0c2l6ZSwgY3B1X3NldF90ICpzZXQpCit7CisJLyogcmVhZCB0aGUgY3VycmVudCBtYXNrICovCisJaWYgKHRzLT5waWQpIHsKKwkJaWYgKHNjaGVkX2dldGFmZmluaXR5KHRzLT5waWQsIHRzLT5zZXRzaXplLCB0cy0+c2V0KSA8IDApCisJCQllcnJfYWZmaW5pdHkodHMtPnBpZCwgMSk7CisJCXByaW50X2FmZmluaXR5KHRzLCBGQUxTRSk7CisJfQorCisJaWYgKHRzLT5nZXRfb25seSkKKwkJcmV0dXJuOworCisJLyogc2V0IG5ldyBtYXNrICovCisJaWYgKHNjaGVkX3NldGFmZmluaXR5KHRzLT5waWQsIHNldHNpemUsIHNldCkgPCAwKQorCQllcnJfYWZmaW5pdHkodHMtPnBpZCwgMSk7CisKKwkvKiByZS1yZWFkIHRoZSBjdXJyZW50IG1hc2sgKi8KKwlpZiAodHMtPnBpZCkgeworCQlpZiAoc2NoZWRfZ2V0YWZmaW5pdHkodHMtPnBpZCwgdHMtPnNldHNpemUsIHRzLT5zZXQpIDwgMCkKKwkJCWVycl9hZmZpbml0eSh0cy0+cGlkLCAwKTsKKwkJcHJpbnRfYWZmaW5pdHkodHMsIFRSVUUpOworCX0KK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNwdV9zZXRfdCAqbmV3X3NldDsKKwlwaWRfdCBwaWQgPSAwOworCWludCBjLCBhbGxfdGFza3MgPSAwOworCWludCBuY3B1czsKKwlzaXplX3QgbmV3X3NldHNpemUsIG5iaXRzOworCXN0cnVjdCB0YXNrc2V0IHRzOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYWxsLXRhc2tzIiwJMCwgTlVMTCwgJ2EnIH0sCisJCXsgInBpZCIsCTAsIE5VTEwsICdwJyB9LAorCQl7ICJjcHUtbGlzdCIsCTAsIE5VTEwsICdjJyB9LAorCQl7ICJoZWxwIiwJMCwgTlVMTCwgJ2gnIH0sCisJCXsgInZlcnNpb24iLAkwLCBOVUxMLCAnVicgfSwKKwkJeyBOVUxMLAkJMCwgTlVMTCwgIDAgIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCW1lbXNldCgmdHMsIDAsIHNpemVvZih0cykpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIithcGNoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgorCQkJYWxsX3Rhc2tzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCXBpZCA9IHN0cnRvczMyX29yX2Vycihhcmd2W2FyZ2MgLSAxXSwKKwkJCQkJICAgIF8oImludmFsaWQgUElEIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJdHMudXNlX2xpc3QgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmICgoIXBpZCAmJiBhcmdjIC0gb3B0aW5kIDwgMikKKwkgICAgfHwgKHBpZCAmJiAoYXJnYyAtIG9wdGluZCA8IDEgfHwgYXJnYyAtIG9wdGluZCA+IDIpKSkgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwluY3B1cyA9IGdldF9tYXhfbnVtYmVyX29mX2NwdXMoKTsKKwlpZiAobmNwdXMgPD0gMCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciKSk7CisKKwkvKgorCSAqIHRoZSB0cy0+c2V0IGlzIGFsd2F5cyB1c2VkIGZvciB0aGUgc2NoZWRfZ2V0YWZmaW5pdHkgY2FsbAorCSAqIE9uIHRoZSBzY2hlZF9nZXRhZmZpbml0eSB0aGUga2VybmVsIGRlbWFuZHMgYSB1c2VyIG1hc2sgb2YKKwkgKiBhdCBsZWFzdCB0aGUgc2l6ZSBvZiBpdHMgb3duIGNwdW1hc2tfdC4KKwkgKi8KKwl0cy5zZXQgPSBjcHVzZXRfYWxsb2MobmNwdXMsICZ0cy5zZXRzaXplLCAmbmJpdHMpOworCWlmICghdHMuc2V0KQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjcHVzZXRfYWxsb2MgZmFpbGVkIikpOworCisJLyogYnVmZmVyIGZvciBjb252ZXJzaW9uIGZyb20gbWFzayB0byBzdHJpbmcgKi8KKwl0cy5idWZsZW4gPSA3ICogbmJpdHM7CisJdHMuYnVmID0geG1hbGxvYyh0cy5idWZsZW4pOworCisJLyoKKwkgKiBuZXdfc2V0IGlzIGFsd2F5cyB1c2VkIGZvciB0aGUgc2NoZWRfc2V0YWZmaW5pdHkgY2FsbAorCSAqIE9uIHRoZSBzY2hlZF9zZXRhZmZpbml0eSB0aGUga2VybmVsIHdpbGwgemVyby1maWxsIGl0cworCSAqIGNwdW1hc2tfdCBpZiB0aGUgdXNlcidzIG1hc2sgaXMgc2hvcnRlci4KKwkgKi8KKwluZXdfc2V0ID0gY3B1c2V0X2FsbG9jKG5jcHVzLCAmbmV3X3NldHNpemUsIE5VTEwpOworCWlmICghbmV3X3NldCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY3B1c2V0X2FsbG9jIGZhaWxlZCIpKTsKKworCWlmIChhcmdjIC0gb3B0aW5kID09IDEpCisJCXRzLmdldF9vbmx5ID0gMTsKKworCWVsc2UgaWYgKHRzLnVzZV9saXN0KSB7CisJCWlmIChjcHVsaXN0X3BhcnNlKGFyZ3Zbb3B0aW5kXSwgbmV3X3NldCwgbmV3X3NldHNpemUsIDApKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBDUFUgbGlzdDogJXMiKSwKKwkJCSAgICAgYXJndltvcHRpbmRdKTsKKwl9IGVsc2UgaWYgKGNwdW1hc2tfcGFyc2UoYXJndltvcHRpbmRdLCBuZXdfc2V0LCBuZXdfc2V0c2l6ZSkpIHsKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBDUFUgbWFzazogJXMiKSwKKwkJICAgICBhcmd2W29wdGluZF0pOworCX0KKworCWlmIChhbGxfdGFza3MgJiYgcGlkKSB7CisJCXN0cnVjdCBwcm9jX3Rhc2tzICp0YXNrcyA9IHByb2Nfb3Blbl90YXNrcyhwaWQpOworCQl3aGlsZSAoIXByb2NfbmV4dF90aWQodGFza3MsICZ0cy5waWQpKQorCQkJZG9fdGFza3NldCgmdHMsIG5ld19zZXRzaXplLCBuZXdfc2V0KTsKKwkJcHJvY19jbG9zZV90YXNrcyh0YXNrcyk7CisJfSBlbHNlIHsKKwkJdHMucGlkID0gcGlkOworCQlkb190YXNrc2V0KCZ0cywgbmV3X3NldHNpemUsIG5ld19zZXQpOworCX0KKworCWZyZWUodHMuYnVmKTsKKwljcHVzZXRfZnJlZSh0cy5zZXQpOworCWNwdXNldF9mcmVlKG5ld19zZXQpOworCisJaWYgKCFwaWQpIHsKKwkJYXJndiArPSBvcHRpbmQgKyAxOworCQlleGVjdnAoYXJndlswXSwgYXJndik7CisJCWVycmV4ZWMoYXJndlswXSk7CisJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy8uZ2l0aWdub3JlIGIvc3lzLXV0aWxzLy5naXRpZ25vcmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE4NWEwZQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMjQgQEAKK2ZzdHJpbS5zZXJ2aWNlCitpMzg2LjgKK2lhNjQuOAorbGludXgzMi44CitsaW51eDY0LjgKK21pcHMzMi44CittaXBzNjQuOAorbWlwcy44CitwYXJpc2MzMi44CitwYXJpc2M2NC44CitwYXJpc2MuOAorcHBjMzIuOAorcHBjNjQuOAorcHBjLjgKK3MzOTAuOAorczM5MHguOAorc3BhcmMzMi44CitzcGFyYzMyYmFzaC44CitzcGFyYzY0LjgKK3NwYXJjLjgKK3VuYW1lMjYuOAoreDg2XzY0LjgKK2h3Y2xvY2suOAorcnRjd2FrZS44CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvQW5kcm9pZC5tayBiL3N5cy11dGlscy9BbmRyb2lkLm1rCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5ZWIwZWMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvQW5kcm9pZC5tawpAQCAtMCwwICsxLDM5IEBACisjIENvcHlyaWdodCAyMDE4IEdvb2dsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisKK0xPQ0FMX1BBVEggOj0gJChjYWxsIG15LWRpcikKKworIyBUYXJnZXQgc3RhdGljIGxpYnJhcnkKKyMKK2luY2x1ZGUgJChDTEVBUl9WQVJTKQorTE9DQUxfTU9EVUxFIDo9IGxpYnV0aWxfbGludXhfY29tbW9uX3N0YXRpYworTE9DQUxfTU9EVUxFX1RBR1MgOj0gb3B0aW9uYWwKKworTE9DQUxfU1JDX0ZJTEVTIDo9ICBcCisJLi4vbGliL3RpbWVyLmMgXAorCS4uL2xpYi9tb25vdG9uaWMuYyBcCisJLi4vbGliL3N0cnV0aWxzLmMgXAorCitMT0NBTF9DX0lOQ0xVREVTIDo9IFwKKwkkKExPQ0FMX1BBVEgpLy4uL2luY2x1ZGUKKworTE9DQUxfQ0ZMQUdTIDo9IFwKKwktaW5jbHVkZSAkKExPQ0FMX1BBVEgpLy4uL2NvbmZpZy5oCitpbmNsdWRlICQoQlVJTERfU1RBVElDX0xJQlJBUlkpCisKKyMgVGFyZ2V0IGV4ZWN1dGFibGVzCisjCitpbmNsdWRlICQoQ0xFQVJfVkFSUykKK0xPQ0FMX01PRFVMRSA6PSBmbG9jaworTE9DQUxfTU9EVUxFX1RBR1MgOj0gb3B0aW9uYWwKKworTE9DQUxfU1JDX0ZJTEVTIDo9ICBcCisJZmxvY2suYyBcCisKK0xPQ0FMX0NfSU5DTFVERVMgOj0gXAorCSQoTE9DQUxfUEFUSCkgJChMT0NBTF9QQVRIKS8uLi9pbmNsdWRlCisKK0xPQ0FMX0NGTEFHUyA6PSBcCisJLWluY2x1ZGUgJChMT0NBTF9QQVRIKS8uLi9jb25maWcuaAorCitMT0NBTF9TVEFUSUNfTElCUkFSSUVTICs9IGxpYnV0aWxfbGludXhfY29tbW9uX3N0YXRpYworaW5jbHVkZSAkKEJVSUxEX0VYRUNVVEFCTEUpCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvTWFrZW1vZHVsZS5hbSBiL3N5cy11dGlscy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZmODdjZGQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDQ2OCBAQAoraWYgQlVJTERfTFNNRU0KK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGxzbWVtCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9sc21lbS4xCitsc21lbV9TT1VSQ0VTID0gc3lzLXV0aWxzL2xzbWVtLmMKK2xzbWVtX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQorbHNtZW1fQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorZW5kaWYKKworaWYgQlVJTERfQ0hNRU0KK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGNobWVtCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9jaG1lbS44CitjaG1lbV9TT1VSQ0VTID0gc3lzLXV0aWxzL2NobWVtLmMKK2NobWVtX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9GTE9DSwordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gZmxvY2sKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2Zsb2NrLjEKK2Zsb2NrX1NPVVJDRVMgPSBzeXMtdXRpbHMvZmxvY2suYyBsaWIvbW9ub3RvbmljLmMgbGliL3RpbWVyLmMKK2Zsb2NrX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoUkVBTFRJTUVfTElCUykKK2VuZGlmCisKK2lmIEJVSUxEX0NIT09NCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBjaG9vbQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvY2hvb20uMQorY2hvb21fU09VUkNFUyA9IHN5cy11dGlscy9jaG9vbS5jCitjaG9vbV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfSVBDTUsKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGlwY21rCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9pcGNtay4xCitpcGNta19TT1VSQ0VTID0gc3lzLXV0aWxzL2lwY21rLmMKK2lwY21rX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9JUENSTQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gaXBjcm0KK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2lwY3JtLjEKK2lwY3JtX1NPVVJDRVMgPSBzeXMtdXRpbHMvaXBjcm0uYworaXBjcm1fTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX0lQQ1MKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGlwY3MKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2lwY3MuMQoraXBjc19TT1VSQ0VTID0Jc3lzLXV0aWxzL2lwY3MuYyBcCisJCXN5cy11dGlscy9pcGN1dGlscy5jIFwKKwkJc3lzLXV0aWxzL2lwY3V0aWxzLmgKK2lwY3NfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2VuZGlmCisKK2lmIEJVSUxEX0xTSVBDCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsc2lwYworZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvbHNpcGMuMQorbHNpcGNfU09VUkNFUyA9CXN5cy11dGlscy9sc2lwYy5jIFwKKwkJc3lzLXV0aWxzL2lwY3V0aWxzLmMgXAorCQlzeXMtdXRpbHMvaXBjdXRpbHMuaAorbHNpcGNfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhCitsc2lwY19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitlbmRpZgorCitpZiBCVUlMRF9SRU5JQ0UKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHJlbmljZQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvcmVuaWNlLjEKK3JlbmljZV9TT1VSQ0VTID0gc3lzLXV0aWxzL3JlbmljZS5jCitlbmRpZgorCitpZiBCVUlMRF9SRktJTEwKK3VzcnNiaW5fZXhlY19QUk9HUkFNUyArPSByZmtpbGwKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3Jma2lsbC44CityZmtpbGxfU09VUkNFUyA9IHN5cy11dGlscy9yZmtpbGwuYworcmZraWxsX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQorcmZraWxsX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK2VuZGlmCisKK2lmIEJVSUxEX1NFVFNJRAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gc2V0c2lkCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9zZXRzaWQuMQorc2V0c2lkX1NPVVJDRVMgPSBzeXMtdXRpbHMvc2V0c2lkLmMKK2VuZGlmCisKK2lmIEJVSUxEX1JFQURQUk9GSUxFCit1c3JzYmluX2V4ZWNfUFJPR1JBTVMgKz0gcmVhZHByb2ZpbGUKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3JlYWRwcm9maWxlLjgKK3JlYWRwcm9maWxlX1NPVVJDRVMgPSBzeXMtdXRpbHMvcmVhZHByb2ZpbGUuYworZW5kaWYKKworaWYgQlVJTERfVFVORUxQCit1c3JzYmluX2V4ZWNfUFJPR1JBTVMgKz0gdHVuZWxwCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy90dW5lbHAuOAordHVuZWxwX1NPVVJDRVMgPSBzeXMtdXRpbHMvdHVuZWxwLmMKK3R1bmVscF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfRlNUUklNCitzYmluX1BST0dSQU1TICs9IGZzdHJpbQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvZnN0cmltLjgKK2ZzdHJpbV9TT1VSQ0VTID0gc3lzLXV0aWxzL2ZzdHJpbS5jCitmc3RyaW1fTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlibW91bnQubGEKK2ZzdHJpbV9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYm1vdW50X2luY2RpcikKK2lmIEhBVkVfU1lTVEVNRAorc3lzdGVtZHN5c3RlbXVuaXRfREFUQSArPSBcCisJCXN5cy11dGlscy9mc3RyaW0uc2VydmljZSBcCisJCXN5cy11dGlscy9mc3RyaW0udGltZXIKK2VuZGlmCitlbmRpZiAjIEJVSUxEX0ZTVFJJTQorCitQQVRIRklMRVMgKz0gc3lzLXV0aWxzL2ZzdHJpbS5zZXJ2aWNlCitFWFRSQV9ESVNUICs9IHN5cy11dGlscy9mc3RyaW0udGltZXIKKworaWYgQlVJTERfRE1FU0cKK2Jpbl9QUk9HUkFNUyArPSBkbWVzZworZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvZG1lc2cuMQorZG1lc2dfU09VUkNFUyA9IHN5cy11dGlscy9kbWVzZy5jIGxpYi9tb25vdG9uaWMuYworZG1lc2dfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlidGNvbG9ycy5sYSAkKFJFQUxUSU1FX0xJQlMpCitkbWVzZ19DRkxBR1MgPSAkKEFNX0NGTEFHUykKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfZG1lc2cKK3Rlc3RfZG1lc2dfU09VUkNFUyA9ICQoZG1lc2dfU09VUkNFUykKK3Rlc3RfZG1lc2dfTERBREQgPSAkKGRtZXNnX0xEQUREKQordGVzdF9kbWVzZ19DRkxBR1MgPSAtRFRFU1RfRE1FU0cgJChkbWVzZ19DRkxBR1MpCitlbmRpZgorCitpZiBCVUlMRF9DVFJMQUxUREVMCitzYmluX1BST0dSQU1TICs9IGN0cmxhbHRkZWwKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2N0cmxhbHRkZWwuOAorY3RybGFsdGRlbF9TT1VSQ0VTID0gc3lzLXV0aWxzL2N0cmxhbHRkZWwuYworY3RybGFsdGRlbF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfRlNGUkVFWkUKK3NiaW5fUFJPR1JBTVMgKz0gZnNmcmVlemUKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2ZzZnJlZXplLjgKK2ZzZnJlZXplX1NPVVJDRVMgPSBzeXMtdXRpbHMvZnNmcmVlemUuYworZW5kaWYKKworaWYgQlVJTERfQkxLRElTQ0FSRAorc2Jpbl9QUk9HUkFNUyArPSBibGtkaXNjYXJkCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9ibGtkaXNjYXJkLjgKK2Jsa2Rpc2NhcmRfU09VUkNFUyA9IHN5cy11dGlscy9ibGtkaXNjYXJkLmMgbGliL21vbm90b25pYy5jCitibGtkaXNjYXJkX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoUkVBTFRJTUVfTElCUykKK2VuZGlmCisKK2lmIEJVSUxEX0JMS1pPTkUKK3NiaW5fUFJPR1JBTVMgKz0gYmxrem9uZQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvYmxrem9uZS44CitibGt6b25lX1NPVVJDRVMgPSBzeXMtdXRpbHMvYmxrem9uZS5jCitibGt6b25lX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9MREFUVEFDSAordXNyc2Jpbl9leGVjX1BST0dSQU1TICs9IGxkYXR0YWNoCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9sZGF0dGFjaC44CitsZGF0dGFjaF9TT1VSQ0VTID0gc3lzLXV0aWxzL2xkYXR0YWNoLmMKK2xkYXR0YWNoX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitlbmRpZgorCitpZiBCVUlMRF9SVENXQUtFCit1c3JzYmluX2V4ZWNfUFJPR1JBTVMgKz0gcnRjd2FrZQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvcnRjd2FrZS44CitQQVRIRklMRVMgKz0gc3lzLXV0aWxzL3J0Y3dha2UuOAorcnRjd2FrZV9TT1VSQ0VTID0gc3lzLXV0aWxzL3J0Y3dha2UuYworcnRjd2FrZV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfU0VUQVJDSAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gc2V0YXJjaAorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvc2V0YXJjaC44CitzZXRhcmNoX1NPVVJDRVMgPSBzeXMtdXRpbHMvc2V0YXJjaC5jCisKK1NFVEFSQ0hfTElOS1MgPSB1bmFtZTI2IGxpbnV4MzIgbGludXg2NAorCitpZiBBUkNIX1MzOTAKK1NFVEFSQ0hfTElOS1MgKz0gczM5MCBzMzkweAorZW5kaWYKK2lmIEFSQ0hfSTg2CitTRVRBUkNIX0xJTktTICs9IGkzODYKK2VuZGlmCitpZiBBUkNIXzg2XzY0CitTRVRBUkNIX0xJTktTICs9IGkzODYgeDg2XzY0CitlbmRpZgoraWYgQVJDSF9QUEMKK1NFVEFSQ0hfTElOS1MgKz0gcHBjIHBwYzY0IHBwYzMyCitlbmRpZgoraWYgQVJDSF9TUEFSQworU0VUQVJDSF9MSU5LUyArPSBzcGFyYyBzcGFyYzY0IHNwYXJjMzIgc3BhcmMzMmJhc2gKK2VuZGlmCitpZiBBUkNIX01JUFMKK1NFVEFSQ0hfTElOS1MgKz0gbWlwcyBtaXBzNjQgbWlwczMyCitlbmRpZgoraWYgQVJDSF9JQTY0CitTRVRBUkNIX0xJTktTICs9IGkzODYgaWE2NAorZW5kaWYKK2lmIEFSQ0hfSFBQQQorU0VUQVJDSF9MSU5LUyArPSBwYXJpc2MgcGFyaXNjNjQgcGFyaXNjMzIKK2VuZGlmCisKK1NFVEFSQ0hfTUFOX0xJTktTID0gJChhZGRwcmVmaXggc3lzLXV0aWxzLywkKFNFVEFSQ0hfTElOS1M6PS44KSkKK21hbl9NQU5TICs9ICQoU0VUQVJDSF9NQU5fTElOS1MpCitDTEVBTkZJTEVTICs9ICQoU0VUQVJDSF9NQU5fTElOS1MpCisKKyQoU0VUQVJDSF9NQU5fTElOS1MpOgorCSQoQU1fVl9hdCkgJChNS0RJUl9QKSBzeXMtdXRpbHMKKwkkKEFNX1ZfR0VOKWVjaG8gIi5zbyBtYW44L3NldGFyY2guOCIgPiAkQAorCitpbnN0YWxsLWV4ZWMtaG9vay1zZXRhcmNoOgorCWZvciBJIGluICQoU0VUQVJDSF9MSU5LUyk7IGRvIFwKKwkJY2QgJChERVNURElSKSQodXNyYmluX2V4ZWNkaXIpICYmIGxuIC1zZiBzZXRhcmNoICQkSSA7IFwKKwlkb25lCisKK3VuaW5zdGFsbC1ob29rLXNldGFyY2g6CisJZm9yIEkgaW4gJChTRVRBUkNIX0xJTktTKTsgZG8gXAorCQlybSAtZiAkKERFU1RESVIpJCh1c3JiaW5fZXhlY2RpcikvJCRJIDsgXAorCWRvbmUKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLXNldGFyY2gKK1VOSU5TVEFMTF9IT09LUyArPSB1bmluc3RhbGwtaG9vay1zZXRhcmNoCisKK2VuZGlmICMgQlVJTERfU0VUQVJDSAorCisKK2lmIEJVSUxEX0VKRUNUCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBlamVjdAorZWplY3RfU09VUkNFUyA9ICBzeXMtdXRpbHMvZWplY3QuYyBsaWIvbW9ub3RvbmljLmMKK2VqZWN0X0xEQUREID0gJChMREFERCkgbGlibW91bnQubGEgbGliY29tbW9uLmxhICQoUkVBTFRJTUVfTElCUykKK2VqZWN0X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlibW91bnRfaW5jZGlyKQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvZWplY3QuMQorZW5kaWYKKworCitpZiBCVUlMRF9MT1NFVFVQCitzYmluX1BST0dSQU1TICs9IGxvc2V0dXAKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2xvc2V0dXAuOAorbG9zZXR1cF9TT1VSQ0VTID0gc3lzLXV0aWxzL2xvc2V0dXAuYworbG9zZXR1cF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJzbWFydGNvbHMubGEKK2xvc2V0dXBfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorCitpZiBIQVZFX1NUQVRJQ19MT1NFVFVQCitiaW5fUFJPR1JBTVMgKz0gbG9zZXR1cC5zdGF0aWMKK2xvc2V0dXBfc3RhdGljX1NPVVJDRVMgPSAkKGxvc2V0dXBfU09VUkNFUykKK2xvc2V0dXBfc3RhdGljX0xERkxBR1MgPSAtYWxsLXN0YXRpYworbG9zZXR1cF9zdGF0aWNfTERBREQgPSAkKGxvc2V0dXBfTERBREQpCitsb3NldHVwX3N0YXRpY19DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitlbmRpZgorZW5kaWYgIyBCVUlMRF9MT1NFVFVQCisKKworaWYgQlVJTERfWlJBTUNUTAorc2Jpbl9QUk9HUkFNUyArPSB6cmFtY3RsCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy96cmFtY3RsLjgKK3pyYW1jdGxfU09VUkNFUyA9IHN5cy11dGlscy96cmFtY3RsLmMKK3pyYW1jdGxfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhCit6cmFtY3RsX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK2VuZGlmCisKKworaWYgQlVJTERfUFJMSU1JVAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gcHJsaW1pdAorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvcHJsaW1pdC4xCitwcmxpbWl0X1NPVVJDRVMgPSBzeXMtdXRpbHMvcHJsaW1pdC5jCitwcmxpbWl0X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQorcHJsaW1pdF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYnNtYXJ0Y29sc19pbmNkaXIpCitlbmRpZgorCisKK2lmIEJVSUxEX0xTTlMKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGxzbnMKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2xzbnMuOAorbHNuc19TT1VSQ0VTID0Jc3lzLXV0aWxzL2xzbnMuYworbHNuc19MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYSBsaWJzbWFydGNvbHMubGEgbGlibW91bnQubGEKK2xzbnNfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKSAtSSQodWxfbGlibW91bnRfaW5jZGlyKQorZW5kaWYKKworCitpZiBCVUlMRF9NT1VOVAorYmluX1BST0dSQU1TICs9IG1vdW50IHVtb3VudAorZGlzdF9tYW5fTUFOUyArPSBcCisJc3lzLXV0aWxzL21vdW50LjggXAorCXN5cy11dGlscy9mc3RhYi41IFwKKwlzeXMtdXRpbHMvdW1vdW50LjgKK21vdW50X1NPVVJDRVMgPSBzeXMtdXRpbHMvbW91bnQuYworbW91bnRfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlibW91bnQubGEgJChTRUxJTlVYX0xJQlMpCittb3VudF9DRkxBR1MgPSAkKFNVSURfQ0ZMQUdTKSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYm1vdW50X2luY2RpcikKK21vdW50X0xERkxBR1MgPSAkKFNVSURfTERGTEFHUykgJChBTV9MREZMQUdTKQorCit1bW91bnRfU09VUkNFUyA9IHN5cy11dGlscy91bW91bnQuYwordW1vdW50X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYm1vdW50LmxhCit1bW91bnRfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoU1VJRF9DRkxBR1MpIC1JJCh1bF9saWJtb3VudF9pbmNkaXIpCit1bW91bnRfTERGTEFHUyA9ICQoU1VJRF9MREZMQUdTKSAkKEFNX0xERkxBR1MpCisKK2lmIEhBVkVfU1RBVElDX01PVU5UCitiaW5fUFJPR1JBTVMgKz0gbW91bnQuc3RhdGljCittb3VudF9zdGF0aWNfU09VUkNFUyA9ICQobW91bnRfU09VUkNFUykKK21vdW50X3N0YXRpY19DRkxBR1MgPSAkKG1vdW50X0NGTEFHUykKK21vdW50X3N0YXRpY19MREZMQUdTID0gJChtb3VudF9MREZMQUdTKSAtYWxsLXN0YXRpYworbW91bnRfc3RhdGljX0xEQUREID0gJChtb3VudF9MREFERCkgJChTRUxJTlVYX0xJQlNfU1RBVElDKQorZW5kaWYKKworaWYgSEFWRV9TVEFUSUNfVU1PVU5UCitiaW5fUFJPR1JBTVMgKz0gdW1vdW50LnN0YXRpYwordW1vdW50X3N0YXRpY19TT1VSQ0VTID0gJCh1bW91bnRfU09VUkNFUykKK3Vtb3VudF9zdGF0aWNfQ0ZMQUdTID0gJCh1bW91bnRfQ0ZMQUdTKQordW1vdW50X3N0YXRpY19MREZMQUdTID0gJCh1bW91bnRfTERGTEFHUykgLWFsbC1zdGF0aWMKK3Vtb3VudF9zdGF0aWNfTERBREQgPSAkKHVtb3VudF9MREFERCkKK2VuZGlmCisKK2luc3RhbGwtZXhlYy1ob29rLW1vdW50OgoraWYgTUFLRUlOU1RBTExfRE9fQ0hPV04KKwljaG93biByb290OnJvb3QgJChERVNURElSKSQoYmluZGlyKS9tb3VudAorZW5kaWYKK2lmIE1BS0VJTlNUQUxMX0RPX1NFVFVJRAorCWNobW9kIDQ3NTUgJChERVNURElSKSQoYmluZGlyKS9tb3VudAorZW5kaWYKK2lmIE1BS0VJTlNUQUxMX0RPX0NIT1dOCisJY2hvd24gcm9vdDpyb290ICQoREVTVERJUikkKGJpbmRpcikvdW1vdW50CitlbmRpZgoraWYgTUFLRUlOU1RBTExfRE9fU0VUVUlECisJY2htb2QgNDc1NSAkKERFU1RESVIpJChiaW5kaXIpL3Vtb3VudAorZW5kaWYKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLW1vdW50CitlbmRpZiAjIEJVSUxEX01PVU5UCisKKworaWYgQlVJTERfU1dBUE9OCitzYmluX1BST0dSQU1TICs9IHN3YXBvbiBzd2Fwb2ZmCitkaXN0X21hbl9NQU5TICs9IFwKKwlzeXMtdXRpbHMvc3dhcG9mZi44IFwKKwlzeXMtdXRpbHMvc3dhcG9uLjgKKworc3dhcG9uX1NPVVJDRVMgPSBcCisJc3lzLXV0aWxzL3N3YXBvbi5jIFwKKwlzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jIFwKKwlzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5oIFwKKwlsaWIvc3dhcHByb2Jlci5jIFwKKwlpbmNsdWRlL3N3YXBwcm9iZXIuaAorc3dhcG9uX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSBcCisJLUkkKHVsX2xpYmJsa2lkX2luY2RpcikgXAorCS1JJCh1bF9saWJtb3VudF9pbmNkaXIpIFwKKwktSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK3N3YXBvbl9MREFERCA9ICQoTERBREQpIFwKKwlsaWJibGtpZC5sYSBcCisJbGliY29tbW9uLmxhIFwKKwlsaWJtb3VudC5sYSBcCisJbGlic21hcnRjb2xzLmxhCisKK3N3YXBvZmZfU09VUkNFUyA9IFwKKwlzeXMtdXRpbHMvc3dhcG9mZi5jIFwKKwlzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5jIFwKKwlzeXMtdXRpbHMvc3dhcG9uLWNvbW1vbi5oIFwKKwlsaWIvc3dhcHByb2Jlci5jIFwKKwlpbmNsdWRlL3N3YXBwcm9iZXIuaAorc3dhcG9mZl9DRkxBR1MgPSAkKEFNX0NGTEFHUykgXAorCS1JJCh1bF9saWJibGtpZF9pbmNkaXIpIFwKKwktSSQodWxfbGlibW91bnRfaW5jZGlyKQorc3dhcG9mZl9MREFERCA9ICQoTERBREQpIFwKKwlsaWJtb3VudC5sYSBcCisJbGliYmxraWQubGEgXAorCWxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfTFNDUFUKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGxzY3B1Citsc2NwdV9TT1VSQ0VTID0gXAorCXN5cy11dGlscy9sc2NwdS5jIFwKKwlzeXMtdXRpbHMvbHNjcHUuaCBcCisJc3lzLXV0aWxzL2xzY3B1LWFybS5jIFwKKwlzeXMtdXRpbHMvbHNjcHUtZG1pLmMKK2xzY3B1X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYSAkKFJUQVNfTElCUykKK2xzY3B1X0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlic21hcnRjb2xzX2luY2RpcikKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2xzY3B1LjEKK2VuZGlmCisKK2lmIEJVSUxEX0NIQ1BVCitzYmluX1BST0dSQU1TICs9IGNoY3B1CitjaGNwdV9TT1VSQ0VTID0gc3lzLXV0aWxzL2NoY3B1LmMKK2NoY3B1X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy9jaGNwdS44CitlbmRpZgorCitpZiBCVUlMRF9XRENUTAorYmluX1BST0dSQU1TICs9IHdkY3RsCitkaXN0X21hbl9NQU5TICs9IHN5cy11dGlscy93ZGN0bC44Cit3ZGN0bF9TT1VSQ0VTID0gc3lzLXV0aWxzL3dkY3RsLmMKK3dkY3RsX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIGxpYnNtYXJ0Y29scy5sYQord2RjdGxfQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorZW5kaWYKKworaWYgQlVJTERfTU9VTlRQT0lOVAorYmluX1BST0dSQU1TICs9IG1vdW50cG9pbnQKK21vdW50cG9pbnRfTERBREQgPSAkKExEQUREKSBsaWJtb3VudC5sYQorbW91bnRwb2ludF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLUkkKHVsX2xpYm1vdW50X2luY2RpcikKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL21vdW50cG9pbnQuMQorbW91bnRwb2ludF9TT1VSQ0VTID0gc3lzLXV0aWxzL21vdW50cG9pbnQuYworZW5kaWYKKworaWYgQlVJTERfRkFMTE9DQVRFCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBmYWxsb2NhdGUKK2ZhbGxvY2F0ZV9TT1VSQ0VTID0gc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jCitmYWxsb2NhdGVfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2ZhbGxvY2F0ZS4xCitlbmRpZgorCitpZiBCVUlMRF9QSVZPVF9ST09UCitzYmluX1BST0dSQU1TICs9IHBpdm90X3Jvb3QKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3Bpdm90X3Jvb3QuOAorcGl2b3Rfcm9vdF9TT1VSQ0VTID0gc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYworZW5kaWYKKworaWYgQlVJTERfU1dJVENIX1JPT1QKK3NiaW5fUFJPR1JBTVMgKz0gc3dpdGNoX3Jvb3QKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3N3aXRjaF9yb290LjgKK3N3aXRjaF9yb290X1NPVVJDRVMgPSBzeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYworZW5kaWYKKworaWYgQlVJTERfVU5TSEFSRQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gdW5zaGFyZQorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvdW5zaGFyZS4xCit1bnNoYXJlX1NPVVJDRVMgPSBzeXMtdXRpbHMvdW5zaGFyZS5jCit1bnNoYXJlX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCit1bnNoYXJlX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKSAtSSQodWxfbGlibW91bnRfaW5jZGlyKQorCitpZiBIQVZFX1NUQVRJQ19VTlNIQVJFCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSB1bnNoYXJlLnN0YXRpYwordW5zaGFyZV9zdGF0aWNfU09VUkNFUyA9ICQodW5zaGFyZV9TT1VSQ0VTKQordW5zaGFyZV9zdGF0aWNfTERGTEFHUyA9IC1hbGwtc3RhdGljCit1bnNoYXJlX3N0YXRpY19MREFERCA9ICQodW5zaGFyZV9MREFERCkKK3Vuc2hhcmVfc3RhdGljX0NGTEFHUyA9ICQodW5zaGFyZV9DRkxBR1MpCitlbmRpZgorZW5kaWYKKworaWYgQlVJTERfTlNFTlRFUgordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gbnNlbnRlcgorZGlzdF9tYW5fTUFOUyArPSBzeXMtdXRpbHMvbnNlbnRlci4xCituc2VudGVyX1NPVVJDRVMgPSBzeXMtdXRpbHMvbnNlbnRlci5jCituc2VudGVyX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoU0VMSU5VWF9MSUJTKQorCitpZiBIQVZFX1NUQVRJQ19OU0VOVEVSCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBuc2VudGVyLnN0YXRpYworbnNlbnRlcl9zdGF0aWNfU09VUkNFUyA9ICQobnNlbnRlcl9TT1VSQ0VTKQorbnNlbnRlcl9zdGF0aWNfTERGTEFHUyA9IC1hbGwtc3RhdGljCituc2VudGVyX3N0YXRpY19MREFERCA9ICQobnNlbnRlcl9MREFERCkKK2VuZGlmCitlbmRpZgorCitpZiBCVUlMRF9IV0NMT0NLCitzYmluX1BST0dSQU1TICs9IGh3Y2xvY2sKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL2h3Y2xvY2suOAorUEFUSEZJTEVTICs9IHN5cy11dGlscy9od2Nsb2NrLjgKK2h3Y2xvY2tfU09VUkNFUyA9IFwKKwlzeXMtdXRpbHMvaHdjbG9jay5jIFwKKwlzeXMtdXRpbHMvaHdjbG9jay5oIFwKKwlzeXMtdXRpbHMvaHdjbG9jay1jbW9zLmMKK2lmIExJTlVYCitod2Nsb2NrX1NPVVJDRVMgKz0gc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmMKK2VuZGlmCitod2Nsb2NrX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhIC1sbQoraWYgSEFWRV9BVURJVAoraHdjbG9ja19MREFERCArPSAtbGF1ZGl0CitlbmRpZgorZW5kaWYgIyBCVUlMRF9IV0NMT0NLCisKK2lmIEJVSUxEX1NFVFBSSVYKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHNldHByaXYKK2Rpc3RfbWFuX01BTlMgKz0gc3lzLXV0aWxzL3NldHByaXYuMQorc2V0cHJpdl9TT1VSQ0VTID0gc3lzLXV0aWxzL3NldHByaXYuYworc2V0cHJpdl9MREFERCA9ICQoTERBREQpIC1sY2FwLW5nIGxpYmNvbW1vbi5sYQorZW5kaWYKZGlmZiAtLWdpdCBhL3N5cy11dGlscy9ibGtkaXNjYXJkLjggYi9zeXMtdXRpbHMvYmxrZGlzY2FyZC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmM2EzMmIKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvYmxrZGlzY2FyZC44CkBAIC0wLDAgKzEsODUgQEAKKy5USCBCTEtESVNDQVJEIDggIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorYmxrZGlzY2FyZCBcLSBkaXNjYXJkIHNlY3RvcnMgb24gYSBkZXZpY2UKKy5TSCBTWU5PUFNJUworLkIgYmxrZGlzY2FyZAorW29wdGlvbnNdCisuUkIgWyBcLW8KKy5JUiBvZmZzZXQgXQorLlJCIFsgXC1sCisuSVIgbGVuZ3RoIF0KKy5JIGRldmljZQorLlNIIERFU0NSSVBUSU9OCisuQiBibGtkaXNjYXJkCitpcyB1c2VkIHRvIGRpc2NhcmQgZGV2aWNlIHNlY3RvcnMuICBUaGlzIGlzIHVzZWZ1bCBmb3Igc29saWQtc3RhdGUKK2RyaXZlcnMgKFNTRHMpIGFuZCB0aGlubHktcHJvdmlzaW9uZWQgc3RvcmFnZS4gIFVubGlrZQorLkJSIGZzdHJpbSAoOCksCit0aGlzIGNvbW1hbmQgaXMgdXNlZCBkaXJlY3RseSBvbiB0aGUgYmxvY2sgZGV2aWNlLgorLlBQCitCeSBkZWZhdWx0LAorLkIgYmxrZGlzY2FyZAord2lsbCBkaXNjYXJkIGFsbCBibG9ja3Mgb24gdGhlIGRldmljZS4gIE9wdGlvbnMgbWF5IGJlIHVzZWQgdG8gbW9kaWZ5Cit0aGlzIGJlaGF2aW9yIGJhc2VkIG9uIHJhbmdlIG9yIHNpemUsIGFzIGV4cGxhaW5lZCBiZWxvdy4KKy5QUAorVGhlCisuSSBkZXZpY2UKK2FyZ3VtZW50IGlzIHRoZSBwYXRobmFtZSBvZiB0aGUgYmxvY2sgZGV2aWNlLgorLlBQCisuQiBXQVJOSU5HOiBBbGwgZGF0YSBpbiB0aGUgZGlzY2FyZGVkIHJlZ2lvbiBvbiB0aGUgZGV2aWNlIHdpbGwgYmUgbG9zdCEKKy5TSCBPUFRJT05TCitUaGUKKy5JIG9mZnNldAorYW5kCisuSSBsZW5ndGgKK2FyZ3VtZW50cyBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIEtpQiAoPTEwMjQpLAorTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCICh0aGUgImlCIiBpcworb3B0aW9uYWwsIGUuZy4sICJLIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAiS2lCIikgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW9mZnNldCBcZklvZmZzZXQiCitCeXRlIG9mZnNldCBpbnRvIHRoZSBkZXZpY2UgZnJvbSB3aGljaCB0byBzdGFydCBkaXNjYXJkaW5nLiAgVGhlIHByb3ZpZGVkIHZhbHVlCit3aWxsIGJlIGFsaWduZWQgdG8gdGhlIGRldmljZSBzZWN0b3Igc2l6ZS4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHplcm8uCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1sZW5ndGggXGZJbGVuZ3RoIgorVGhlIG51bWJlciBvZiBieXRlcyB0byBkaXNjYXJkIChjb3VudGluZyBmcm9tIHRoZSBzdGFydGluZyBwb2ludCkuICBUaGUgcHJvdmlkZWQgdmFsdWUKK3dpbGwgYmUgYWxpZ25lZCB0byB0aGUgZGV2aWNlIHNlY3RvciBzaXplLiAgSWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBleHRlbmRzIHBhc3QKK3RoZSBlbmQgb2YgdGhlIGRldmljZSwKKy5CIGJsa2Rpc2NhcmQKK3dpbGwgc3RvcCBhdCB0aGUgZGV2aWNlIHNpemUgYm91bmRhcnkuICBUaGUgZGVmYXVsdCB2YWx1ZSBleHRlbmRzIHRvIHRoZSBlbmQKK29mIHRoZSBkZXZpY2UuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1zdGVwIFxmSWxlbmd0aCIKK1RoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZCB3aXRoaW4gb25lIGl0ZXJhdGlvbi4gVGhlIGRlZmF1bHQgaXMgdG8gZGlzY2FyZAorYWxsIGJ5IG9uZSBpb2N0bCBjYWxsLgorLlRQCisuQlIgXC1zICwgIiBcLVwtc2VjdXJlIgorUGVyZm9ybSBhIHNlY3VyZSBkaXNjYXJkLiAgQSBzZWN1cmUgZGlzY2FyZCBpcyB0aGUgc2FtZSBhcyBhIHJlZ3VsYXIgZGlzY2FyZAorZXhjZXB0IHRoYXQgYWxsIGNvcGllcyBvZiB0aGUgZGlzY2FyZGVkIGJsb2NrcyB0aGF0IHdlcmUgcG9zc2libHkgY3JlYXRlZCBieQorZ2FyYmFnZSBjb2xsZWN0aW9uIG11c3QgYWxzbyBiZSBlcmFzZWQuICBUaGlzIHJlcXVpcmVzIHN1cHBvcnQgZnJvbSB0aGUgZGV2aWNlLgorLlRQCisuQlIgXC16ICwgIiBcLVwtemVyb291dCIKK1plcm8tZmlsbCByYXRoZXIgdGhhbiBkaXNjYXJkLgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyYm9zZSIKK0Rpc3BsYXkgdGhlIGFsaWduZWQgdmFsdWVzIG9mCisuSSBvZmZzZXQKK2FuZAorLklSIGxlbmd0aCAuCitJZiB0aGUgXGZCXC1cLXN0ZXBcZlIgb3B0aW9uIGlzIHNwZWNpZmllZCwgaXQgcHJpbnRzIHRoZSBkaXNjYXJkIHByb2dyZXNzIGV2ZXJ5IHNlY29uZC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQVVUSE9SCisuTVQgbGN6ZXJuZXJAcmVkaGF0LmNvbQorTHVrYXMgQ3plcm5lcgorLk1FCisuU0ggU0VFIEFMU08KKy5CUiBmc3RyaW0gKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgYmxrZGlzY2FyZCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9ibGtkaXNjYXJkLmMgYi9zeXMtdXRpbHMvYmxrZGlzY2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMxOWI2N2IKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvYmxrZGlzY2FyZC5jCkBAIC0wLDAgKzEsMjU0IEBACisvKgorICogYmxrZGlzY2FyZC5jIC0tIGRpc2NhcmQgdGhlIHBhcnQgKG9yIHdob2xlKSBvZiB0aGUgYmxvY2sgZGV2aWNlLgorICoKKyAqIENvcHlyaWdodCAoQykgMjAxMiBSZWQgSGF0LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBXcml0dGVuIGJ5IEx1a2FzIEN6ZXJuZXIgPGxjemVybmVyQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqCisgKiBUaGlzIHByb2dyYW0gdXNlcyBCTEtESVNDQVJEIGlvY3RsIHRvIGRpc2NhcmQgcGFydCBvciB0aGUgd2hvbGUgYmxvY2sKKyAqIGRldmljZSBpZiB0aGUgZGV2aWNlIHN1cHBvcnRzIGl0LiBZb3UgY2FuIHNwZWNpZnkgcmFuZ2UgKHN0YXJ0IGFuZAorICogbGVuZ3RoKSB0byBiZSBkaXNjYXJkZWQsIG9yIHNpbXBseSBkaXNjYXJkIHRoZSB3aG9sZSBkZXZpY2UuCisgKi8KKworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKworI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJtb25vdG9uaWMuaCIKKworI2lmbmRlZiBCTEtESVNDQVJECisjIGRlZmluZSBCTEtESVNDQVJECV9JTygweDEyLDExOSkKKyNlbmRpZgorCisjaWZuZGVmIEJMS1NFQ0RJU0NBUkQKKyMgZGVmaW5lIEJMS1NFQ0RJU0NBUkQJX0lPKDB4MTIsMTI1KQorI2VuZGlmCisKKyNpZm5kZWYgQkxLWkVST09VVAorIyBkZWZpbmUgQkxLWkVST09VVAlfSU8oMHgxMiwxMjcpCisjZW5kaWYKKworZW51bSB7CisJQUNUX0RJU0NBUkQgPSAwLAkvKiBkZWZhdWx0ICovCisJQUNUX1pFUk9PVVQsCisJQUNUX1NFQ1VSRQorfTsKKworc3RhdGljIHZvaWQgcHJpbnRfc3RhdHMoaW50IGFjdCwgY2hhciAqcGF0aCwgdWludDY0X3Qgc3RhdHNbXSkKK3sKKwlzd2l0Y2ggKGFjdCkgeworCWNhc2UgQUNUX1pFUk9PVVQ6CisJCXByaW50ZihfKCIlczogWmVyby1maWxsZWQgJSIgUFJJdTY0ICIgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICUiIFBSSXU2NCJcbiIpLCBcCisJCQlwYXRoLCBzdGF0c1sxXSwgc3RhdHNbMF0pOworCQlicmVhazsKKwljYXNlIEFDVF9TRUNVUkU6CisJY2FzZSBBQ1RfRElTQ0FSRDoKKwkJcHJpbnRmKF8oIiVzOiBEaXNjYXJkZWQgJSIgUFJJdTY0ICIgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0ICUiIFBSSXU2NCJcbiIpLCBcCisJCQlwYXRoLCBzdGF0c1sxXSwgc3RhdHNbMF0pOworCQlicmVhazsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc2NhcmQgdGhlIGNvbnRlbnQgb2Ygc2VjdG9ycyBvbiBhIGRldmljZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb2Zmc2V0IDxudW0+ICBvZmZzZXQgaW4gYnl0ZXMgdG8gZGlzY2FyZCBmcm9tXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGVuZ3RoIDxudW0+ICBsZW5ndGggb2YgYnl0ZXMgdG8gZGlzY2FyZCBmcm9tIHRoZSBvZmZzZXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1zdGVwIDxudW0+ICAgIHNpemUgb2YgdGhlIGRpc2NhcmQgaXRlcmF0aW9ucyB3aXRoaW4gdGhlIG9mZnNldFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNlY3VyZSAgICAgICAgcGVyZm9ybSBzZWN1cmUgZGlzY2FyZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC16LCAtLXplcm9vdXQgICAgICAgemVyby1maWxsIHJhdGhlciB0aGFuIGRpc2NhcmRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgIHByaW50IGFsaWduZWQgbGVuZ3RoIGFuZCBvZmZzZXRcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjEpKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiYmxrZGlzY2FyZCg4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWNoYXIgKnBhdGg7CisJaW50IGMsIGZkLCB2ZXJib3NlID0gMCwgc2Vjc2l6ZTsKKwl1aW50NjRfdCBlbmQsIGJsa3NpemUsIHN0ZXAsIHJhbmdlWzJdLCBzdGF0c1syXTsKKwlzdHJ1Y3Qgc3RhdCBzYjsKKwlzdHJ1Y3QgdGltZXZhbCBub3csIGxhc3Q7CisJaW50IGFjdCA9IEFDVF9ESVNDQVJEOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkgICAgeyAiaGVscCIsICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCSAgICB7ICJ2ZXJzaW9uIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnIH0sCisJICAgIHsgIm9mZnNldCIsICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkgICAgeyAibGVuZ3RoIiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdsJyB9LAorCSAgICB7ICJzdGVwIiwgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJICAgIHsgInNlY3VyZSIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncycgfSwKKwkgICAgeyAidmVyYm9zZSIsICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JyB9LAorCSAgICB7ICJ6ZXJvb3V0IiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3onIH0sCisJICAgIHsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlyYW5nZVswXSA9IDA7CisJcmFuZ2VbMV0gPSBVTExPTkdfTUFYOworCXN0ZXAgPSAwOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImhWc3ZvOmw6cDp6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2goYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2wnOgorCQkJcmFuZ2VbMV0gPSBzdHJ0b3NpemVfb3JfZXJyKG9wdGFyZywKKwkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCXJhbmdlWzBdID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlzdGVwID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBzdGVwIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJYWN0ID0gQUNUX1NFQ1VSRTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCXZlcmJvc2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3onOgorCQkJYWN0ID0gQUNUX1pFUk9PVVQ7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIGRldmljZSBzcGVjaWZpZWQiKSk7CisKKwlwYXRoID0gYXJndltvcHRpbmQrK107CisKKwlpZiAob3B0aW5kICE9IGFyZ2MpIHsKKwkJd2FybngoXygidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJZmQgPSBvcGVuKHBhdGgsIE9fV1JPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBwYXRoKTsKKworCWlmIChmc3RhdChmZCwgJnNiKSA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgcGF0aCk7CisJaWYgKCFTX0lTQkxLKHNiLnN0X21vZGUpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IG5vdCBhIGJsb2NrIGRldmljZSIpLCBwYXRoKTsKKworCWlmIChpb2N0bChmZCwgQkxLR0VUU0laRTY0LCAmYmxrc2l6ZSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBCTEtHRVRTSVpFNjQgaW9jdGwgZmFpbGVkIiksIHBhdGgpOworCWlmIChpb2N0bChmZCwgQkxLU1NaR0VULCAmc2Vjc2l6ZSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIiksIHBhdGgpOworCisJLyogY2hlY2sgb2Zmc2V0IGFsaWdubWVudCB0byB0aGUgc2VjdG9yIHNpemUgKi8KKwlpZiAocmFuZ2VbMF0gJSBzZWNzaXplKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IG9mZnNldCAlIiBQUkl1NjQgIiBpcyBub3QgYWxpZ25lZCAiCisJCQkgInRvIHNlY3RvciBzaXplICVpIiksIHBhdGgsIHJhbmdlWzBdLCBzZWNzaXplKTsKKworCS8qIGlzIHRoZSByYW5nZSBlbmQgYmVoaW5kIHRoZSBlbmQgb2YgdGhlIGRldmljZSA/Ki8KKwlpZiAocmFuZ2VbMF0gPiBibGtzaXplKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IG9mZnNldCBpcyBncmVhdGVyIHRoYW4gZGV2aWNlIHNpemUiKSwgcGF0aCk7CisJZW5kID0gcmFuZ2VbMF0gKyByYW5nZVsxXTsKKwlpZiAoZW5kIDwgcmFuZ2VbMF0gfHwgZW5kID4gYmxrc2l6ZSkKKwkJZW5kID0gYmxrc2l6ZTsKKworCXJhbmdlWzFdID0gKHN0ZXAgPiAwKSA/IHN0ZXAgOiBlbmQgLSByYW5nZVswXTsKKworCS8qIGNoZWNrIGxlbmd0aCBhbGlnbm1lbnQgdG8gdGhlIHNlY3RvciBzaXplICovCisJaWYgKHJhbmdlWzFdICUgc2Vjc2l6ZSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBsZW5ndGggJSIgUFJJdTY0ICIgaXMgbm90IGFsaWduZWQgIgorCQkJICJ0byBzZWN0b3Igc2l6ZSAlaSIpLCBwYXRoLCByYW5nZVsxXSwgc2Vjc2l6ZSk7CisKKwlzdGF0c1swXSA9IHJhbmdlWzBdLCBzdGF0c1sxXSA9IDA7CisJZ2V0dGltZV9tb25vdG9uaWMoJmxhc3QpOworCisJZm9yICgvKiBub3RoaW5nICovOyByYW5nZVswXSA8IGVuZDsgcmFuZ2VbMF0gKz0gcmFuZ2VbMV0pIHsKKwkJaWYgKHJhbmdlWzBdICsgcmFuZ2VbMV0gPiBlbmQpCisJCQlyYW5nZVsxXSA9IGVuZCAtIHJhbmdlWzBdOworCisJCXN3aXRjaCAoYWN0KSB7CisJCWNhc2UgQUNUX1pFUk9PVVQ6CisJCQlpZiAoaW9jdGwoZmQsIEJMS1pFUk9PVVQsICZyYW5nZSkpCisJCQkJIGVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBCTEtaRVJPT1VUIGlvY3RsIGZhaWxlZCIpLCBwYXRoKTsKKwkJCWJyZWFrOworCQljYXNlIEFDVF9TRUNVUkU6CisJCQlpZiAoaW9jdGwoZmQsIEJMS1NFQ0RJU0NBUkQsICZyYW5nZSkpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IEJMS1NFQ0RJU0NBUkQgaW9jdGwgZmFpbGVkIiksIHBhdGgpOworCQkJYnJlYWs7CisJCWNhc2UgQUNUX0RJU0NBUkQ6CisJCQlpZiAoaW9jdGwoZmQsIEJMS0RJU0NBUkQsICZyYW5nZSkpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IEJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkIiksIHBhdGgpOworCQkJYnJlYWs7CisJCX0KKworCQlzdGF0c1sxXSArPSByYW5nZVsxXTsKKworCQkvKiByZXBvcnRpbmcgcHJvZ3Jlc3MgYXQgbW9zdCBvbmNlIHBlciBzZWNvbmQgKi8KKwkJaWYgKHZlcmJvc2UgJiYgc3RlcCkgeworCQkJZ2V0dGltZV9tb25vdG9uaWMoJm5vdyk7CisJCQlpZiAobm93LnR2X3NlYyA+IGxhc3QudHZfc2VjICYmCisJCQkgICAgKG5vdy50dl91c2VjID49IGxhc3QudHZfdXNlYyB8fCBub3cudHZfc2VjID4gbGFzdC50dl9zZWMgKyAxKSkgeworCQkJCXByaW50X3N0YXRzKGFjdCwgcGF0aCwgc3RhdHMpOworCQkJCXN0YXRzWzBdICs9IHN0YXRzWzFdLCBzdGF0c1sxXSA9IDA7CisJCQkJbGFzdCA9IG5vdzsKKwkJCX0KKwkJfQorCX0KKworCWlmICh2ZXJib3NlICYmIHN0YXRzWzFdKQorCQlwcmludF9zdGF0cyhhY3QsIHBhdGgsIHN0YXRzKTsKKworCWNsb3NlKGZkKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2Jsa3pvbmUuOCBiL3N5cy11dGlscy9ibGt6b25lLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQ5OWY5NAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9ibGt6b25lLjgKQEAgLTAsMCArMSwxMDkgQEAKKy5USCBCTEtaT05FIDggIkZlYnJ1YXJ5IDIwMTciICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2Jsa3pvbmUgXC0gcnVuIHpvbmUgY29tbWFuZCBvbiBhIGRldmljZQorLlNIIFNZTk9QU0lTCisuQiBibGt6b25lCisuSSBjb21tYW5kCitbb3B0aW9uc10KKy5JIGRldmljZQorLlNIIERFU0NSSVBUSU9OCisuQiBibGt6b25lCitpcyB1c2VkIHRvIHJ1biB6b25lIGNvbW1hbmQgb24gZGV2aWNlIHRoYXQgc3VwcG9ydCB0aGUgWm9uZWQgQmxvY2sgQ29tbWFuZHMKKyhaQkMpIG9yIFpvbmVkLWRldmljZSBBVEEgQ29tbWFuZHMgKFpBQykuIFRoZSB6b25lcyB0byBvcGVyYXRlIG9uIGNhbiBiZQorc3BlY2lmaWVkIHVzaW5nIHRoZSBvZmZzZXQsIGNvdW50IGFuZCBsZW5ndGggb3B0aW9ucy4KKy5QUAorVGhlCisuSSBkZXZpY2UKK2FyZ3VtZW50IGlzIHRoZSBwYXRobmFtZSBvZiB0aGUgYmxvY2sgZGV2aWNlLgorLlNIIENPTU1BTkRTCisuU1MgcmVwb3J0CitUaGUgY29tbWFuZCBcZkJibGt6b25lIHJlcG9ydFxmUCBpcyB1c2VkIHRvIHJlcG9ydCBkZXZpY2Ugem9uZSBpbmZvcm1hdGlvbi4KKy5QUAorQnkgZGVmYXVsdCwgdGhlIGNvbW1hbmQgd2lsbCByZXBvcnQgYWxsIHpvbmVzIGZyb20gdGhlIHN0YXJ0IG9mIHRoZQorYmxvY2sgZGV2aWNlLiBPcHRpb25zIG1heSBiZSB1c2VkIHRvIG1vZGlmeSB0aGlzIGJlaGF2aW9yLCBjaGFuZ2luZyB0aGUKK3N0YXJ0aW5nIHpvbmUgb3IgdGhlIHNpemUgb2YgdGhlIHJlcG9ydCwgYXMgZXhwbGFpbmVkIGJlbG93LgorCisuQiBSZXBvcnQgb3V0cHV0CisuVFMKK3RhYig6KTsKK2xlZnQgbCBsLgorc3RhcnQ6Wm9uZSBzdGFydCBzZWN0b3IKK2xlbjpab25lIGxlbmd0aCBpbiBudW1iZXIgb2Ygc2VjdG9ycword3B0cjpab25lIHdyaXRlIHBvaW50ZXIgcG9zaXRpb24KK3Jlc2V0OlJlc2V0IHdyaXRlIHBvaW50ZXIgcmVjb21tZW5kZWQKK25vbi1zZXE6Tm9uLXNlcXVlbnRpYWwgd3JpdGUgcmVzb3VyY2VzIGFjdGl2ZQorY29uZDpab25lIGNvbmRpdGlvbgordHlwZTpab25lIHR5cGUKKy5URQorCisuQiBab25lIGNvbmRpdGlvbnMKKy5UUwordGFiKDopOworbGVmdCBsIGwuCitjbDpDbG9zZWQKK253Ok5vdCB3cml0ZSBwb2ludGVyCitlbTpFbXB0eQorZnU6RnVsbAorb2U6RXhwbGljaXRseSBvcGVuZWQKK29pOkltcGxpY2l0bHkgb3BlbmVkCitvbDpPZmZsaW5lCitybzpSZWFkIG9ubHkKK3g/OlJlc2VydmVkIGNvbmRpdGlvbnMgKHNob3VsZCBub3QgYmUgcmVwb3J0ZWQpCisuVEUKKworLlNTIHJlc2V0CitUaGUgY29tbWFuZCBcZkJibGt6b25lIHJlc2V0XGZQIGlzIHVzZWQgdG8gcmVzZXQgb25lIG9yIG1vcmUgem9uZXMuIFVubGlrZQorLkJSIHNnX3Jlc2V0X3dwICg4KSwKK3RoaXMgY29tbWFuZCBvcGVyYXRlcyBmcm9tIHRoZSBibG9jayBsYXllciBhbmQgY2FuIHJlc2V0IGEgcmFuZ2Ugb2Ygem9uZXMuCisuUFAKK0J5IGRlZmF1bHQsIHRoZSBjb21tYW5kIHdpbGwgb3BlcmF0ZSBmcm9tIHRoZSB6b25lIGF0IGRldmljZSAKK3NlY3RvciAwIGFuZCByZXNldCBhbGwgem9uZXMuIE9wdGlvbnMgbWF5IGJlIHVzZWQgdG8gbW9kaWZ5IHRoaXMgYmVoYXZpb3IKK2FzIHdlbGwgYXMgc3BlY2lmeSB0aGUgb3BlcmF0aW9uIHRvIGJlIHBlcmZvcm1lZCBvbiB0aGUgem9uZSwgYXMgZXhwbGFpbmVkIGJlbG93LgorCisuU0ggT1BUSU9OUworVGhlCisuSSBvZmZzZXQKK2FuZAorLkkgbGVuZ3RoCitvcHRpb24gYXJndW1lbnRzIG1heSBiZSBmb2xsb3dlZCBieSB0aGUgbXVsdGlwbGljYXRpdmUgc3VmZml4ZXMgS2lCICg9MTAyNCksCitNaUIgKD0xMDI0KjEwMjQpLCBhbmQgc28gb24gZm9yIEdpQiwgVGlCLCBQaUIsIEVpQiwgWmlCIGFuZCBZaUIgKHRoZSAiaUIiIGlzCitvcHRpb25hbCwgZS5nLiwgIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSBvciB0aGUgc3VmZml4ZXMKK0tCICg9MTAwMCksIE1CICg9MTAwMCoxMDAwKSwgYW5kIHNvIG9uIGZvciBHQiwgVEIsIFBCLCBFQiwgWkIgYW5kIFlCLgorQWRkaXRpb25hbGx5LCB0aGUgMHggcHJlZml4IGNhbiBiZSB1c2VkIHRvIHNwZWNpZnkgXGZJb2Zmc2V0XGZSIGFuZAorXGZJbGVuZ3RoXGZSIGluIGhleC4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW9mZnNldCAiXGZJc2VjdG9yXGZQCitUaGUgc3RhcnRpbmcgem9uZSBzcGVjaWZpZWQgYXMgYSBzZWN0b3Igb2Zmc2V0LiBUaGUgcHJvdmlkZWQgb2Zmc2V0IGluIHNlY3RvcgordW5pdHMgKDUxMiBieXRlcykgc2hvdWxkIG1hdGNoIHRoZSBzdGFydCBvZiBhIHpvbmUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHplcm8uCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1sZW5ndGggIlxmSXNlY3RvcnNcZlAKK1RoZSBtYXhpbXVtIG51bWJlciBvZiBzZWN0b3JzIHRoZSBjb21tYW5kIHNob3VsZCBvcGVyYXRlIG9uLiBUaGUgZGVmYXVsdCB2YWx1ZQoraXMgdGhlIG51bWJlciBvZiBzZWN0b3JzIHJlbWFpbmluZyBhZnRlciBcZklvZmZzZXRcZlIuIFRoaXMgb3B0aW9uIGNhbm5vdCBiZQordXNlZCB0b2dldGhlciB3aXRoIHRoZSBvcHRpb24gXGZCXC1cLWNvdW50XGZQLgorLlRQCisuQlIgXC1jICwgIiBcLVwtY291bnQgIlxmSWNvdW50XGZQCitUaGUgbWF4aW11bSBudW1iZXIgb2Ygem9uZXMgdGhlIGNvbW1hbmQgc2hvdWxkIG9wZXJhdGUgb24uIFRoZSBkZWZhdWx0IHZhbHVlCitpcyB0aGUgbnVtYmVyIG9mIHpvbmVzIHN0YXJ0aW5nIGZyb20gXGZJb2Zmc2V0XGZSLiBUaGlzIG9wdGlvbiBjYW5ub3QgYmUKK3VzZWQgdG9nZXRoZXIgd2l0aCB0aGUgb3B0aW9uIFxmQlwtXC1sZW5ndGhcZlAuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorRGlzcGxheSB0aGUgbnVtYmVyIG9mIHpvbmVzIHJldHVybmVkIGluIHRoZSByZXBvcnQgb3IgdGhlIHJhbmdlIG9mIHNlY3RvcnMKK3Jlc2V0Li4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQVVUSE9SUworLm5mCitTaGF1biBUYW5jaGVmZiA8c2hhdW5AdGFuY2hlZmYuY29tPgorS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuZmkKKy5TSCBTRUUgQUxTTworLkJSIHNnX3JlcF96b25lcyAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBibGt6b25lIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvYmxrem9uZS5jIGIvc3lzLXV0aWxzL2Jsa3pvbmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNmEzYWE0Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2Jsa3pvbmUuYwpAQCAtMCwwICsxLDQxNSBAQAorLyoKKyAqIGJsa3pvbmUuYyAtLSB0aGUgYmxvY2sgZGV2aWNlIHpvbmUgY29tbWFuZHMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTUsMjAxNiBTZWFnYXRlIFRlY2hub2xvZ3kgUExDCisgKiBXcml0dGVuIGJ5IFNoYXVuIFRhbmNoZWZmIDxzaGF1bi50YW5jaGVmZkBzZWFnYXRlLmNvbT4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqLworI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkaW50Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisKKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8bGludXgvZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9ibGt6b25lZC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisKK3N0cnVjdCBibGt6b25lX2NvbnRyb2w7CisKK3N0YXRpYyBpbnQgYmxrem9uZV9yZXBvcnQoc3RydWN0IGJsa3pvbmVfY29udHJvbCAqY3RsKTsKK3N0YXRpYyBpbnQgYmxrem9uZV9yZXNldChzdHJ1Y3QgYmxrem9uZV9jb250cm9sICpjdGwpOworCitzdHJ1Y3QgYmxrem9uZV9jb21tYW5kIHsKKwljb25zdCBjaGFyICpuYW1lOworCWludCAoKmhhbmRsZXIpKHN0cnVjdCBibGt6b25lX2NvbnRyb2wgKik7CisJY29uc3QgY2hhciAqaGVscDsKK307CisKK3N0cnVjdCBibGt6b25lX2NvbnRyb2wgeworCWNvbnN0IGNoYXIgKmRldm5hbWU7CisJY29uc3Qgc3RydWN0IGJsa3pvbmVfY29tbWFuZCAqY29tbWFuZDsKKworCXVpbnQ2NF90IHRvdGFsX3NlY3RvcnM7CisJaW50IHNlY3NpemU7CisKKwl1aW50NjRfdCBvZmZzZXQ7CisJdWludDY0X3QgbGVuZ3RoOworCXVpbnQzMl90IGNvdW50OworCisJdW5zaWduZWQgaW50IHZlcmJvc2UgOiAxOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBibGt6b25lX2NvbW1hbmQgY29tbWFuZHNbXSA9IHsKKwl7ICJyZXBvcnQiLAlibGt6b25lX3JlcG9ydCwgTl8oIlJlcG9ydCB6b25lIGluZm9ybWF0aW9uIGFib3V0IHRoZSBnaXZlbiBkZXZpY2UiKSB9LAorCXsgInJlc2V0IiwJYmxrem9uZV9yZXNldCwgIE5fKCJSZXNldCBhIHJhbmdlIG9mIHpvbmVzLiIpIH0KK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgYmxrem9uZV9jb21tYW5kICpuYW1lX3RvX2NvbW1hbmQoY29uc3QgY2hhciAqbmFtZSkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbW1hbmRzKTsgaSsrKSB7CisJCWlmIChzdHJjbXAoY29tbWFuZHNbaV0ubmFtZSwgbmFtZSkgPT0gMCkKKwkJCXJldHVybiAmY29tbWFuZHNbaV07CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgaW5pdF9kZXZpY2Uoc3RydWN0IGJsa3pvbmVfY29udHJvbCAqY3RsLCBpbnQgbW9kZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzYjsKKwlpbnQgZmQ7CisKKwlmZCA9IG9wZW4oY3RsLT5kZXZuYW1lLCBtb2RlKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBjdGwtPmRldm5hbWUpOworCisJaWYgKGZzdGF0KGZkLCAmc2IpID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBjdGwtPmRldm5hbWUpOworCWlmICghU19JU0JMSyhzYi5zdF9tb2RlKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBub3QgYSBibG9jayBkZXZpY2UiKSwgY3RsLT5kZXZuYW1lKTsKKworCWlmIChibGtkZXZfZ2V0X3NlY3RvcnMoZmQsICh1bnNpZ25lZCBsb25nIGxvbmcgKikgJmN0bC0+dG90YWxfc2VjdG9ycykpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBibGtkZXZfZ2V0X3NlY3RvcnMgaW9jdGwgZmFpbGVkIiksIGN0bC0+ZGV2bmFtZSk7CisKKwlpZiAoYmxrZGV2X2dldF9zZWN0b3Jfc2l6ZShmZCwgJmN0bC0+c2Vjc2l6ZSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBCTEtTU1pHRVQgaW9jdGwgZmFpbGVkIiksIGN0bC0+ZGV2bmFtZSk7CisKKwlyZXR1cm4gZmQ7Cit9CisKKy8qCisgKiBHZXQgdGhlIGRldmljZSB6b25lIHNpemUgaW5kaWNhdGVkIGJ5IGNodW5rIHNlY3RvcnMpLgorICovCitzdGF0aWMgdW5zaWduZWQgbG9uZyBibGtkZXZfY2h1bmtfc2VjdG9ycyhjb25zdCBjaGFyICpkbmFtZSkKK3sKKwlzdHJ1Y3QgcGF0aF9jeHQgKnBjID0gTlVMTDsKKwlkZXZfdCBkZXZubyA9IHN5c2ZzX2Rldm5hbWVfdG9fZGV2bm8oZG5hbWUpOworCWRldl90IGRpc2s7CisJdWludDY0X3Qgc3ogPSAwOworCWludCByYzsKKworCS8qCisJICogTWFwcGluZyAvZGV2L3NkWG4gLT4gL3N5cy9ibG9jay9zZFggdG8gcmVhZCB0aGUgY2h1bmtfc2l6ZSBlbnRyeS4KKwkgKiBUaGlzIG1ldGhvZCBtYXNrcyBvZmYgdGhlIHBhcnRpdGlvbiBzcGVjaWZpZWQgYnkgdGhlIG1pbm9yIGRldmljZQorCSAqIGNvbXBvbmVudC4KKwkgKi8KKwlwYyA9IHVsX25ld19zeXNmc19wYXRoKGRldm5vLCBOVUxMLCBOVUxMKTsKKwlpZiAoIXBjKQorCQlyZXR1cm4gMDsKKworCXJjID0gc3lzZnNfYmxrZGV2X2dldF93aG9sZWRpc2socGMsIE5VTEwsIDAsICZkaXNrKTsKKwlpZiAocmMgIT0gMCkKKwkJZ290byBkb25lOworCisJLyogaWYgQHBjIGlzIG5vdCB3aGlsZS1kaXNrIGRldmljZSwgc3dpdGNoIHRvIGRpc2sgKi8KKwlpZiAoZGV2bm8gIT0gZGlzaykgeworCQlyYyA9IHN5c2ZzX2Jsa2Rldl9pbml0X3BhdGgocGMsIGRpc2ssIE5VTEwpOworCQlpZiAocmMgIT0gMCkKKwkJCWdvdG8gZG9uZTsKKwl9CisKKwlyYyA9IHVsX3BhdGhfcmVhZF91NjQocGMsICZzeiwgInF1ZXVlL2NodW5rX3NlY3RvcnMiKTsKK2RvbmU6CisJdWxfdW5yZWZfcGF0aChwYyk7CisJcmV0dXJuIHJjID09IDAgPyBzeiA6IDA7Cit9CisKKy8qCisgKiBibGt6b25lIHJlcG9ydAorICovCisjZGVmaW5lIERFRl9SRVBPUlRfTEVOCQkoMVUgPDwgMTIpIC8qIDRrIHpvbmVzIHBlciByZXBvcnQgKDI1Nmsga3phbGxvYykgKi8KKworc3RhdGljIGNvbnN0IGNoYXIgKnR5cGVfdGV4dFtdID0geworCSJSRVNFUlZFRCIsCisJIkNPTlZFTlRJT05BTCIsCisJIlNFUV9XUklURV9SRVFVSVJFRCIsCisJIlNFUV9XUklURV9QUkVGRVJSRUQiLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKmNvbmRpdGlvbl9zdHJbXSA9IHsKKwkibnciLCAvKiBOb3Qgd3JpdGUgcG9pbnRlciAqLworCSJlbSIsIC8qIEVtcHR5ICovCisJIm9pIiwgLyogSW1wbGljaXRseSBvcGVuZWQgKi8KKwkib2UiLCAvKiBFeHBsaWNpdGx5IG9wZW5lZCAqLworCSJjbCIsIC8qIENsb3NlZCAqLworCSJ4NSIsICJ4NiIsICJ4NyIsICJ4OCIsICJ4OSIsICJ4QSIsICJ4QiIsICJ4QyIsIC8qIHhOOiByZXNlcnZlZCAqLworCSJybyIsIC8qIFJlYWQgb25seSAqLworCSJmdSIsIC8qIEZ1bGwgKi8KKwkib2YiICAvKiBPZmZsaW5lICovCit9OworCitzdGF0aWMgaW50IGJsa3pvbmVfcmVwb3J0KHN0cnVjdCBibGt6b25lX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgYmxrX3pvbmVfcmVwb3J0ICp6aTsKKwl1bnNpZ25lZCBsb25nIHpvbmVzaXplOworCXVpbnQzMl90IGksIG5yX3pvbmVzOworCWludCBmZDsKKworCWZkID0gaW5pdF9kZXZpY2UoY3RsLCBPX1JET05MWSk7CisKKwlpZiAoY3RsLT5vZmZzZXQgPiBjdGwtPnRvdGFsX3NlY3RvcnMpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIpLCBjdGwtPmRldm5hbWUpOworCisJem9uZXNpemUgPSBibGtkZXZfY2h1bmtfc2VjdG9ycyhjdGwtPmRldm5hbWUpOworCWlmICghem9uZXNpemUpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogdW5hYmxlIHRvIGRldGVybWluZSB6b25lIHNpemUiKSwgY3RsLT5kZXZuYW1lKTsKKworCWlmIChjdGwtPmNvdW50KQorCQlucl96b25lcyA9IGN0bC0+Y291bnQ7CisJZWxzZSBpZiAoY3RsLT5sZW5ndGgpCisJCW5yX3pvbmVzID0gKGN0bC0+bGVuZ3RoICsgem9uZXNpemUgLSAxKSAvIHpvbmVzaXplOworCWVsc2UKKwkJbnJfem9uZXMgPSAxICsgKGN0bC0+dG90YWxfc2VjdG9ycyAtIGN0bC0+b2Zmc2V0KSAvIHpvbmVzaXplOworCisJemkgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgYmxrX3pvbmVfcmVwb3J0KSArCisJCSAgICAgKERFRl9SRVBPUlRfTEVOICogc2l6ZW9mKHN0cnVjdCBibGtfem9uZSkpKTsKKworCXdoaWxlIChucl96b25lcyAmJiBjdGwtPm9mZnNldCA8IGN0bC0+dG90YWxfc2VjdG9ycykgeworCisJCXppLT5ucl96b25lcyA9IG1pbihucl96b25lcywgREVGX1JFUE9SVF9MRU4pOworCQl6aS0+c2VjdG9yID0gY3RsLT5vZmZzZXQ7CisKKwkJaWYgKGlvY3RsKGZkLCBCTEtSRVBPUlRaT05FLCB6aSkgPT0gLTEpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlczogQkxLUkVQT1JUWk9ORSBpb2N0bCBmYWlsZWQiKSwgY3RsLT5kZXZuYW1lKTsKKworCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJcHJpbnRmKF8oIkZvdW5kICVkIHpvbmVzIGZyb20gMHglIlBSSXg2NCJcbiIpLAorCQkJCXppLT5ucl96b25lcywgY3RsLT5vZmZzZXQpOworCisJCWlmICghemktPm5yX3pvbmVzKSB7CisJCQlucl96b25lcyA9IDA7CisJCQlicmVhazsKKwkJfQorCisJCWZvciAoaSA9IDA7IGkgPCB6aS0+bnJfem9uZXM7IGkrKykgeworCQkJY29uc3Qgc3RydWN0IGJsa196b25lICplbnRyeSA9ICZ6aS0+em9uZXNbaV07CisJCQl1bnNpZ25lZCBpbnQgdHlwZSA9IGVudHJ5LT50eXBlOworCQkJdWludDY0X3Qgc3RhcnQgPSBlbnRyeS0+c3RhcnQ7CisJCQl1aW50NjRfdCB3cCA9IGVudHJ5LT53cDsKKwkJCXVpbnQ4X3QgY29uZCA9IGVudHJ5LT5jb25kOworCQkJdWludDY0X3QgbGVuID0gZW50cnktPmxlbjsKKworCQkJaWYgKCFsZW4pIHsKKwkJCQlucl96b25lcyA9IDA7CisJCQkJYnJlYWs7CisJCQl9CisKKwkJCXByaW50ZihfKCIgIHN0YXJ0OiAweCUwOSJQUkl4NjQiLCBsZW4gMHglMDYiUFJJeDY0Iiwgd3B0ciAweCUwNiJQUkl4NjQKKwkJCSAJIiByZXNldDoldSBub24tc2VxOiV1LCB6Y29uZDolMnUoJXMpIFt0eXBlOiAldSglcyldXG4iKSwKKwkJCQlzdGFydCwgbGVuLCAodHlwZSA9PSAweDEpID8gMCA6IHdwIC0gc3RhcnQsCisJCQkJZW50cnktPnJlc2V0LCBlbnRyeS0+bm9uX3NlcSwKKwkJCQljb25kLCBjb25kaXRpb25fc3RyW2NvbmQgJiAoQVJSQVlfU0laRShjb25kaXRpb25fc3RyKSAtIDEpXSwKKwkJCQl0eXBlLCB0eXBlX3RleHRbdHlwZV0pOworCisJCQlucl96b25lcy0tOworCQkJY3RsLT5vZmZzZXQgPSBzdGFydCArIGxlbjsKKworCQl9CisKKwl9CisKKwlmcmVlKHppKTsKKwljbG9zZShmZCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIGJsa3pvbmUgcmVzZXQKKyAqLworc3RhdGljIGludCBibGt6b25lX3Jlc2V0KHN0cnVjdCBibGt6b25lX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgYmxrX3pvbmVfcmFuZ2UgemEgPSB7IC5zZWN0b3IgPSAwIH07CisJdW5zaWduZWQgbG9uZyB6b25lc2l6ZTsKKwl1aW50NjRfdCB6bGVuOworCWludCBmZDsKKworCXpvbmVzaXplID0gYmxrZGV2X2NodW5rX3NlY3RvcnMoY3RsLT5kZXZuYW1lKTsKKwlpZiAoIXpvbmVzaXplKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHVuYWJsZSB0byBkZXRlcm1pbmUgem9uZSBzaXplIiksIGN0bC0+ZGV2bmFtZSk7CisKKwlmZCA9IGluaXRfZGV2aWNlKGN0bCwgT19XUk9OTFkpOworCisJaWYgKGN0bC0+b2Zmc2V0ICYgKHpvbmVzaXplIC0gMSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogb2Zmc2V0ICUiIFBSSXU2NCAiIGlzIG5vdCBhbGlnbmVkICIKKwkJCSJ0byB6b25lIHNpemUgJWx1IiksCisJCQljdGwtPmRldm5hbWUsIGN0bC0+b2Zmc2V0LCB6b25lc2l6ZSk7CisKKwlpZiAoY3RsLT5vZmZzZXQgPiBjdGwtPnRvdGFsX3NlY3RvcnMpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogb2Zmc2V0IGlzIGdyZWF0ZXIgdGhhbiBkZXZpY2Ugc2l6ZSIpLCBjdGwtPmRldm5hbWUpOworCisJaWYgKGN0bC0+Y291bnQpCisJCXpsZW4gPSBjdGwtPmNvdW50ICogem9uZXNpemU7CisJZWxzZSBpZiAoY3RsLT5sZW5ndGgpCisJCXpsZW4gPSBjdGwtPmxlbmd0aDsKKwllbHNlCisJCXpsZW4gPSBjdGwtPnRvdGFsX3NlY3RvcnM7CisJaWYgKGN0bC0+b2Zmc2V0ICsgemxlbiA+IGN0bC0+dG90YWxfc2VjdG9ycykKKwkJemxlbiA9IGN0bC0+dG90YWxfc2VjdG9ycyAtIGN0bC0+b2Zmc2V0OworCisJaWYgKGN0bC0+bGVuZ3RoICYmCisJICAgICh6bGVuICYgKHpvbmVzaXplIC0gMSkpICYmCisJICAgIGN0bC0+b2Zmc2V0ICsgemxlbiAhPSBjdGwtPnRvdGFsX3NlY3RvcnMpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogbnVtYmVyIG9mIHNlY3RvcnMgJSIgUFJJdTY0ICIgaXMgbm90IGFsaWduZWQgIgorCQkJInRvIHpvbmUgc2l6ZSAlbHUiKSwKKwkJCWN0bC0+ZGV2bmFtZSwgY3RsLT5sZW5ndGgsIHpvbmVzaXplKTsKKworCXphLnNlY3RvciA9IGN0bC0+b2Zmc2V0OworCXphLm5yX3NlY3RvcnMgPSB6bGVuOworCisJaWYgKGlvY3RsKGZkLCBCTEtSRVNFVFpPTkUsICZ6YSkgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBCTEtSRVNFVFpPTkUgaW9jdGwgZmFpbGVkIiksIGN0bC0+ZGV2bmFtZSk7CisJZWxzZSBpZiAoY3RsLT52ZXJib3NlKQorCQlwcmludGYoXygiJXM6IHN1Y2Nlc3NmdWxseSByZXNldCBpbiByYW5nZSBmcm9tICUiIFBSSXU2NCAiLCB0byAlIiBQUkl1NjQpLAorCQkJY3RsLT5kZXZuYW1lLAorCQkJY3RsLT5vZmZzZXQsCisJCQljdGwtPm9mZnNldCArIHpsZW4pOworCWNsb3NlKGZkKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyA8Y29tbWFuZD4gW29wdGlvbnNdIDxkZXZpY2U+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJ1biB6b25lIGNvbW1hbmQgb24gdGhlIGdpdmVuIGJsb2NrIGRldmljZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfQ09NTUFORFMsIG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29tbWFuZHMpOyBpKyspCisJCWZwcmludGYob3V0LCAiICUtMTFzICAlc1xuIiwgY29tbWFuZHNbaV0ubmFtZSwgXyhjb21tYW5kc1tpXS5oZWxwKSk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vZmZzZXQgPHNlY3Rvcj4gIHN0YXJ0IHNlY3RvciBvZiB6b25lIHRvIGFjdCAoaW4gNTEyLWJ5dGUgc2VjdG9ycylcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1sZW5ndGggPHNlY3RvcnM+IG1heGltdW0gc2VjdG9ycyB0byBhY3QgKGluIDUxMi1ieXRlIHNlY3RvcnMpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tY291bnQgPG51bWJlcj4gICBtYXhpbXVtIG51bWJlciBvZiB6b25lc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgICAgZGlzcGxheSBtb3JlIGRldGFpbHNcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI0KSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImJsa3pvbmUoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGM7CisJc3RydWN0IGJsa3pvbmVfY29udHJvbCBjdGwgPSB7CisJCS5kZXZuYW1lID0gTlVMTCwKKwkJLm9mZnNldCA9IDAsCisJCS5jb3VudCA9IDAsCisJCS5sZW5ndGggPSAwCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJICAgIHsgImhlbHAiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJICAgIHsgImNvdW50IiwgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2MnIH0sIC8qIG1heCAjb2Ygem9uZXMgdG8gb3BlcmF0ZSBvbiAqLworCSAgICB7ICJsZW5ndGgiLCAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdsJyB9LCAvKiBtYXggb2Ygc2VjdG9ycyB0byBvcGVyYXRlIG9uICovCisJICAgIHsgIm9mZnNldCIsICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nIH0sIC8qIHN0YXJ0aW5nIExCQSAqLworCSAgICB7ICJ2ZXJib3NlIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JyB9LAorCSAgICB7ICJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCSAgICB7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnYycsICdsJyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJaWYgKGFyZ2MgPj0gMiAmJiAqYXJndlsxXSAhPSAnLScpIHsKKwkJY3RsLmNvbW1hbmQgPSBuYW1lX3RvX2NvbW1hbmQoYXJndlsxXSk7CisJCWlmICghY3RsLmNvbW1hbmQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMgaXMgbm90IHZhbGlkIGNvbW1hbmQgbmFtZSIpLCBhcmd2WzFdKTsKKwkJYXJndisrOworCQlhcmdjLS07CisJfQorCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImhjOmw6bzp2ViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaCAoYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQljdGwuY291bnQgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHpvbmVzIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJY3RsLmxlbmd0aCA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIG9mIHNlY3RvcnMiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQljdGwub2Zmc2V0ID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSB6b25lIG9mZnNldCIpKTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWN0bC52ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmICghY3RsLmNvbW1hbmQpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBjb21tYW5kIHNwZWNpZmllZCIpKTsKKworCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIGRldmljZSBzcGVjaWZpZWQiKSk7CisJY3RsLmRldm5hbWUgPSBhcmd2W29wdGluZCsrXTsKKworCWlmIChvcHRpbmQgIT0gYXJnYykKKwkJZXJyeChFWElUX0ZBSUxVUkUsXygidW5leHBlY3RlZCBudW1iZXIgb2YgYXJndW1lbnRzIikpOworCisJaWYgKGN0bC5jb21tYW5kLT5oYW5kbGVyKCZjdGwpIDwgMCkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXJldHVybiBFWElUX1NVQ0NFU1M7CisKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9jaGNwdS44IGIvc3lzLXV0aWxzL2NoY3B1LjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZiNzExMQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9jaGNwdS44CkBAIC0wLDAgKzEsMTA2IEBACisuVEggQ0hDUFUgOCAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitjaGNwdSBcLSBjb25maWd1cmUgQ1BVcworLlNIIFNZTk9QU0lTCisuQiBjaGNwdQorLkJSIFwtYyB8IFwtZCB8IFwtZSB8IFwtZworLkkgY3B1LWxpc3QKKy5icgorLkIgY2hjcHUgXC1wCisuSSBtb2RlCisuYnIKKy5CIGNoY3B1CisuQlIgXC1yIHwgXC1oIHwgXC1WCisuU0ggREVTQ1JJUFRJT04KKy5CIGNoY3B1CitjYW4gbW9kaWZ5IHRoZSBzdGF0ZSBvZiBDUFVzLiAgSXQgY2FuIGVuYWJsZSBvciBkaXNhYmxlIENQVXMsIHNjYW4gZm9yIG5ldworQ1BVcywgY2hhbmdlIHRoZSBDUFUgZGlzcGF0Y2hpbmcKKy5JIG1vZGUKK29mIHRoZSB1bmRlcmx5aW5nIGh5cGVydmlzb3IsIGFuZCByZXF1ZXN0IENQVXMgZnJvbSB0aGUgaHlwZXJ2aXNvcgorKGNvbmZpZ3VyZSkgb3IgcmV0dXJuIENQVXMgdG8gdGhlIGh5cGVydmlzb3IgKGRlY29uZmlndXJlKS4KKy5QUAorU29tZSBvcHRpb25zIGhhdmUgYQorLkkgY3B1LWxpc3QKK2FyZ3VtZW50LiAgVXNlIHRoaXMgYXJndW1lbnQgdG8gc3BlY2lmeSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIENQVXMuICBUaGUKK2xpc3QgY2FuIGNvbnRhaW4gaW5kaXZpZHVhbCBDUFUgYWRkcmVzc2VzIG9yIHJhbmdlcyBvZiBhZGRyZXNzZXMuICBGb3IKK2V4YW1wbGUsCisuQiAwLDUsNyw5LTExCittYWtlcyB0aGUgY29tbWFuZCBhcHBsaWNhYmxlIHRvIHRoZSBDUFVzIHdpdGggdGhlIGFkZHJlc3NlcyAwLCA1LCA3LCA5LCAxMCwKK2FuZCAxMS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWMgLCAiIFwtXC1jb25maWd1cmUgIiBcZkljcHUtbGlzdFxmUAorQ29uZmlndXJlIHRoZSBzcGVjaWZpZWQgQ1BVcy4gIENvbmZpZ3VyaW5nIGEgQ1BVIG1lYW5zIHRoYXQgdGhlIGh5cGVydmlzb3IKK3Rha2VzIGEgQ1BVIGZyb20gdGhlIENQVSBwb29sIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSB2aXJ0dWFsIGhhcmR3YXJlIG9uIHdoaWNoCit5b3VyIGtlcm5lbCBydW5zLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGlzYWJsZSAiIFxmSWNwdS1saXN0XGZQCitEaXNhYmxlIHRoZSBzcGVjaWZpZWQgQ1BVcy4gIERpc2FibGluZyBhIENQVSBtZWFucyB0aGF0IHRoZSBrZXJuZWwgc2V0cyBpdAorb2ZmbGluZS4KKy5UUAorLkJSIFwtZSAsICIgXC1cLWVuYWJsZSAiIFxmSWNwdS1saXN0XGZQCitFbmFibGUgdGhlIHNwZWNpZmllZCBDUFVzLiAgRW5hYmxpbmcgYSBDUFUgbWVhbnMgdGhhdCB0aGUga2VybmVsIHNldHMgaXQKK29ubGluZS4gIEEgQ1BVIG11c3QgYmUgY29uZmlndXJlZCwgc2VlIFxmQlwtY1xmUiwgYmVmb3JlIGl0IGNhbiBiZSBlbmFibGVkLgorLlRQCisuQlIgXC1nICwgIiBcLVwtZGVjb25maWd1cmUgIiBcZkljcHUtbGlzdFxmUAorRGVjb25maWd1cmUgdGhlIHNwZWNpZmllZCBDUFVzLiAgRGVjb25maWd1cmluZyBhIENQVSBtZWFucyB0aGF0IHRoZQoraHlwZXJ2aXNvciByZW1vdmVzIHRoZSBDUFUgZnJvbSB0aGUgdmlydHVhbCBoYXJkd2FyZSBvbiB3aGljaCB0aGUgTGludXgKK2luc3RhbmNlIHJ1bnMgYW5kIHJldHVybnMgaXQgdG8gdGhlIENQVSBwb29sLiAgQSBDUFUgbXVzdCBiZSBvZmZsaW5lLCBzZWUKK1xmQlwtZFxmUiwgYmVmb3JlIGl0IGNhbiBiZSBkZWNvbmZpZ3VyZWQuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1kaXNwYXRjaCAiIFxmSW1vZGVcZlAKK1NldCB0aGUgQ1BVIGRpc3BhdGNoaW5nCisuSSBtb2RlCisocG9sYXJpemF0aW9uKS4gIFRoaXMgb3B0aW9uIGhhcyBhbiBlZmZlY3Qgb25seSBpZiB5b3VyIGhhcmR3YXJlIGFyY2hpdGVjdHVyZQorYW5kIGh5cGVydmlzb3Igc3VwcG9ydCBDUFUgcG9sYXJpemF0aW9uLiAgQXZhaWxhYmxlCisuSSBtb2RlcworYXJlOgorLlJTIDE0CisuVFAgMTIKKy5QRCAwCisuQiBob3Jpem9udGFsCitUaGUgd29ya2xvYWQgaXMgc3ByZWFkIGFjcm9zcyBhbGwgYXZhaWxhYmxlIENQVXMuCisuVFAgMTIKKy5CIHZlcnRpY2FsCitUaGUgd29ya2xvYWQgaXMgY29uY2VudHJhdGVkIG9uIGZldyBDUFVzLgorLlJFCisuUEQgMQorLlRQCisuQlIgXC1yICwgIiBcLVwtcmVzY2FuIgorVHJpZ2dlciBhIHJlc2NhbiBvZiBDUFVzLiAgQWZ0ZXIgYSByZXNjYW4sIHRoZSBMaW51eCBrZXJuZWwgcmVjb2duaXplcwordGhlIG5ldyBDUFVzLiAgVXNlIHRoaXMgb3B0aW9uIG9uIHN5c3RlbXMgdGhhdCBkbyBub3QKK2F1dG9tYXRpY2FsbHkgZGV0ZWN0IG5ld2x5IGF0dGFjaGVkIENQVXMuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorCisuU0ggUkVUVVJOIENPREVTCisuQiBjaGNwdQoraGFzIHRoZSBmb2xsb3dpbmcgcmV0dXJuIGNvZGVzOgorLlRQCisuQiAwCitzdWNjZXNzCisuVFAKKy5CIDEKK2ZhaWx1cmUKKy5UUAorLkIgNjQKK3BhcnRpYWwgc3VjY2VzcworLlJFCisuU0ggQVVUSE9SCisuTVQgaGVpa28uY2Fyc3RlbnNAZGUuaWJtLmNvbQorSGVpa28gQ2Fyc3RlbnMKKy5NRQorLlNIIENPUFlSSUdIVAorQ29weXJpZ2h0IElCTSBDb3JwLiAyMDExCisuYnIKKy5TSCAiU0VFIEFMU08iCisuQlIgbHNjcHUgKDEpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgY2hjcHUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9jaGNwdS5jIGIvc3lzLXV0aWxzL2NoY3B1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzZjNDdhZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9jaGNwdS5jCkBAIC0wLDAgKzEsMzg5IEBACisvKgorICogY2hjcHUgLSBDUFUgY29uZmlndXJhdGlvbiB0b29sCisgKgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDExCisgKiBBdXRob3Iocyk6IEhlaWtvIENhcnN0ZW5zIDxoZWlrby5jYXJzdGVuc0BkZS5pYm0uY29tPiwKKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpbmNsdWRlICJjcHVzZXQuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIKKyNpbmNsdWRlICJwYXRoLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorCisjZGVmaW5lIEVYQ0xfRVJST1IgIi0te2NvbmZpZ3VyZSxkZWNvbmZpZ3VyZSxkaXNhYmxlLGRpc3BhdGNoLGVuYWJsZX0iCisKKy8qIHBhcnRpYWwgc3VjY2Vzcywgb3RoZXJ3aXNlIHdlIHJldHVybiByZWd1bGFyIEVYSVRfe1NVQ0NFU1MsRkFJTFVSRX0gKi8KKyNkZWZpbmUgQ0hDUFVfRVhJVF9TT01FT0sJNjQKKworI2RlZmluZSBfUEFUSF9TWVNfQ1BVCQkiL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUiCisKK3N0YXRpYyBjcHVfc2V0X3QgKm9ubGluZWNwdXM7CitzdGF0aWMgaW50IG1heGNwdXM7CisKKyNkZWZpbmUgaXNfY3B1X29ubGluZShjcHUpIChDUFVfSVNTRVRfUygoY3B1KSwgQ1BVX0FMTE9DX1NJWkUobWF4Y3B1cyksIG9ubGluZWNwdXMpKQorI2RlZmluZSBudW1fb25saW5lX2NwdXMoKSAgKENQVV9DT1VOVF9TKENQVV9BTExPQ19TSVpFKG1heGNwdXMpLCBvbmxpbmVjcHVzKSkKKworZW51bSB7CisJQ01EX0NQVV9FTkFCTEUJPSAwLAorCUNNRF9DUFVfRElTQUJMRSwKKwlDTURfQ1BVX0NPTkZJR1VSRSwKKwlDTURfQ1BVX0RFQ09ORklHVVJFLAorCUNNRF9DUFVfUkVTQ0FOLAorCUNNRF9DUFVfRElTUEFUQ0hfSE9SSVpPTlRBTCwKKwlDTURfQ1BVX0RJU1BBVENIX1ZFUlRJQ0FMLAorfTsKKworLyogcmV0dXJuczogICAwID0gc3VjY2VzcworICogICAgICAgICAgPCAwID0gZmFpbHVyZQorICogICAgICAgICAgPiAwID0gcGFydGlhbCBzdWNjZXNzCisgKi8KK3N0YXRpYyBpbnQgY3B1X2VuYWJsZShzdHJ1Y3QgcGF0aF9jeHQgKnN5cywgY3B1X3NldF90ICpjcHVfc2V0LCBzaXplX3Qgc2V0c2l6ZSwgaW50IGVuYWJsZSkKK3sKKwlpbnQgY3B1OworCWludCBvbmxpbmUsIHJjOworCWludCBjb25maWd1cmVkID0gLTE7CisJaW50IGZhaWxzID0gMDsKKworCWZvciAoY3B1ID0gMDsgY3B1IDwgbWF4Y3B1czsgY3B1KyspIHsKKwkJaWYgKCFDUFVfSVNTRVRfUyhjcHUsIHNldHNpemUsIGNwdV9zZXQpKQorCQkJY29udGludWU7CisJCWlmICh1bF9wYXRoX2FjY2Vzc2Yoc3lzLCBGX09LLCAiY3B1JWQiLCBjcHUpICE9IDApIHsKKwkJCXdhcm54KF8oIkNQVSAldSBkb2VzIG5vdCBleGlzdCIpLCBjcHUpOworCQkJZmFpbHMrKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICh1bF9wYXRoX2FjY2Vzc2Yoc3lzLCBGX09LLCAiY3B1JWQvb25saW5lIiwgY3B1KSAhPSAwKSB7CisJCQl3YXJueChfKCJDUFUgJXUgaXMgbm90IGhvdCBwbHVnZ2FibGUiKSwgY3B1KTsKKwkJCWZhaWxzKys7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAodWxfcGF0aF9yZWFkZl9zMzIoc3lzLCAmb25saW5lLCAiY3B1JWQvb25saW5lIiwgY3B1KSA9PSAwCisJCSAgICAmJiBvbmxpbmUgPT0gMQorCQkgICAgJiYgZW5hYmxlID09IDEpIHsKKwkJCXByaW50ZihfKCJDUFUgJXUgaXMgYWxyZWFkeSBlbmFibGVkXG4iKSwgY3B1KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChvbmxpbmUgPT0gMCAmJiBlbmFibGUgPT0gMCkgeworCQkJcHJpbnRmKF8oIkNQVSAldSBpcyBhbHJlYWR5IGRpc2FibGVkXG4iKSwgY3B1KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICh1bF9wYXRoX2FjY2Vzc2Yoc3lzLCBGX09LLCAiY3B1JWQvY29uZmlndXJlIiwgY3B1KSA9PSAwKQorCQkJdWxfcGF0aF9yZWFkZl9zMzIoc3lzLCAmY29uZmlndXJlZCwgImNwdSVkL2NvbmZpZ3VyZSIsIGNwdSk7CisJCWlmIChlbmFibGUpIHsKKwkJCXJjID0gdWxfcGF0aF93cml0ZWZfc3RyaW5nKHN5cywgIjEiLCAiY3B1JWQvb25saW5lIiwgY3B1KTsKKwkJCWlmIChyYyAhPSAwICYmIGNvbmZpZ3VyZWQgPT0gMCkgeworCQkJCXdhcm4oXygiQ1BVICV1IGVuYWJsZSBmYWlsZWQgKENQVSBpcyBkZWNvbmZpZ3VyZWQpIiksIGNwdSk7CisJCQkJZmFpbHMrKzsKKwkJCX0gZWxzZSBpZiAocmMgIT0gMCkgeworCQkJCXdhcm4oXygiQ1BVICV1IGVuYWJsZSBmYWlsZWQiKSwgY3B1KTsKKwkJCQlmYWlscysrOworCQkJfSBlbHNlCisJCQkJcHJpbnRmKF8oIkNQVSAldSBlbmFibGVkXG4iKSwgY3B1KTsKKwkJfSBlbHNlIHsKKwkJCWlmIChvbmxpbmVjcHVzICYmIG51bV9vbmxpbmVfY3B1cygpID09IDEpIHsKKwkJCQl3YXJueChfKCJDUFUgJXUgZGlzYWJsZSBmYWlsZWQgKGxhc3QgZW5hYmxlZCBDUFUpIiksIGNwdSk7CisJCQkJZmFpbHMrKzsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCXJjID0gdWxfcGF0aF93cml0ZWZfc3RyaW5nKHN5cywgIjAiLCAiY3B1JWQvb25saW5lIiwgY3B1KTsKKwkJCWlmIChyYyAhPSAwKSB7CisJCQkJd2FybihfKCJDUFUgJXUgZGlzYWJsZSBmYWlsZWQiKSwgY3B1KTsKKwkJCQlmYWlscysrOworCQkJfSBlbHNlIHsKKwkJCQlwcmludGYoXygiQ1BVICV1IGRpc2FibGVkXG4iKSwgY3B1KTsKKwkJCQlpZiAob25saW5lY3B1cykKKwkJCQkJQ1BVX0NMUl9TKGNwdSwgc2V0c2l6ZSwgb25saW5lY3B1cyk7CisJCQl9CisJCX0KKwl9CisKKwlyZXR1cm4gZmFpbHMgPT0gMCA/IDAgOiBmYWlscyA9PSBtYXhjcHVzID8gLTEgOiAxOworfQorCitzdGF0aWMgaW50IGNwdV9yZXNjYW4oc3RydWN0IHBhdGhfY3h0ICpzeXMpCit7CisJaWYgKHVsX3BhdGhfYWNjZXNzKHN5cywgRl9PSywgInJlc2NhbiIpICE9IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJlc2Nhbm5pbmcgb2YgQ1BVcyIpKTsKKworCWlmICh1bF9wYXRoX3dyaXRlX3N0cmluZyhzeXMsICIxIiwgInJlc2NhbiIpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIkZhaWxlZCB0byB0cmlnZ2VyIHJlc2NhbiBvZiBDUFVzIikpOworCisJcHJpbnRmKF8oIlRyaWdnZXJlZCByZXNjYW4gb2YgQ1BVc1xuIikpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGNwdV9zZXRfZGlzcGF0Y2goc3RydWN0IHBhdGhfY3h0ICpzeXMsIGludCBtb2RlKQoreworCWlmICh1bF9wYXRoX2FjY2VzcyhzeXMsIEZfT0ssICJkaXNwYXRjaGluZyIpICE9IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJUaGlzIHN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHNldHRpbmcgIgorCQkJCSAgICAgInRoZSBkaXNwYXRjaGluZyBtb2RlIG9mIENQVXMiKSk7CisJaWYgKG1vZGUgPT0gMCkgeworCQlpZiAodWxfcGF0aF93cml0ZV9zdHJpbmcoc3lzLCAiMCIsICJkaXNwYXRjaGluZyIpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJGYWlsZWQgdG8gc2V0IGhvcml6b250YWwgZGlzcGF0Y2ggbW9kZSIpKTsKKworCQlwcmludGYoXygiU3VjY2Vzc2Z1bGx5IHNldCBob3Jpem9udGFsIGRpc3BhdGNoaW5nIG1vZGVcbiIpKTsKKwl9IGVsc2UgeworCQlpZiAodWxfcGF0aF93cml0ZV9zdHJpbmcoc3lzLCAiMSIsICJkaXNwYXRjaGluZyIpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJGYWlsZWQgdG8gc2V0IHZlcnRpY2FsIGRpc3BhdGNoIG1vZGUiKSk7CisKKwkJcHJpbnRmKF8oIlN1Y2Nlc3NmdWxseSBzZXQgdmVydGljYWwgZGlzcGF0Y2hpbmcgbW9kZVxuIikpOworCX0KKwlyZXR1cm4gMDsKK30KKworLyogcmV0dXJuczogICAwID0gc3VjY2VzcworICogICAgICAgICAgPCAwID0gZmFpbHVyZQorICogICAgICAgICAgPiAwID0gcGFydGlhbCBzdWNjZXNzCisgKi8KK3N0YXRpYyBpbnQgY3B1X2NvbmZpZ3VyZShzdHJ1Y3QgcGF0aF9jeHQgKnN5cywgY3B1X3NldF90ICpjcHVfc2V0LCBzaXplX3Qgc2V0c2l6ZSwgaW50IGNvbmZpZ3VyZSkKK3sKKwlpbnQgY3B1OworCWludCByYywgY3VycmVudDsKKwlpbnQgZmFpbHMgPSAwOworCisJZm9yIChjcHUgPSAwOyBjcHUgPCBtYXhjcHVzOyBjcHUrKykgeworCQlpZiAoIUNQVV9JU1NFVF9TKGNwdSwgc2V0c2l6ZSwgY3B1X3NldCkpCisJCQljb250aW51ZTsKKwkJaWYgKHVsX3BhdGhfYWNjZXNzZihzeXMsIEZfT0ssICJjcHUlZCIsIGNwdSkgIT0gMCkgeworCQkJd2FybngoXygiQ1BVICV1IGRvZXMgbm90IGV4aXN0IiksIGNwdSk7CisJCQlmYWlscysrOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHVsX3BhdGhfYWNjZXNzZihzeXMsIEZfT0ssICJjcHUlZC9jb25maWd1cmUiLCBjcHUpICE9IDApIHsKKwkJCXdhcm54KF8oIkNQVSAldSBpcyBub3QgY29uZmlndXJhYmxlIiksIGNwdSk7CisJCQlmYWlscysrOworCQkJY29udGludWU7CisJCX0KKwkJdWxfcGF0aF9yZWFkZl9zMzIoc3lzLCAmY3VycmVudCwgImNwdSVkL2NvbmZpZ3VyZSIsIGNwdSk7CisJCWlmIChjdXJyZW50ID09IDEgJiYgY29uZmlndXJlID09IDEpIHsKKwkJCXByaW50ZihfKCJDUFUgJXUgaXMgYWxyZWFkeSBjb25maWd1cmVkXG4iKSwgY3B1KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChjdXJyZW50ID09IDAgJiYgY29uZmlndXJlID09IDApIHsKKwkJCXByaW50ZihfKCJDUFUgJXUgaXMgYWxyZWFkeSBkZWNvbmZpZ3VyZWRcbiIpLCBjcHUpOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGN1cnJlbnQgPT0gMSAmJiBjb25maWd1cmUgPT0gMCAmJiBvbmxpbmVjcHVzICYmCisJCSAgICBpc19jcHVfb25saW5lKGNwdSkpIHsKKwkJCXdhcm54KF8oIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQgKENQVSBpcyBlbmFibGVkKSIpLCBjcHUpOworCQkJZmFpbHMrKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChjb25maWd1cmUpIHsKKwkJCXJjID0gdWxfcGF0aF93cml0ZWZfc3RyaW5nKHN5cywgIjEiLCAiY3B1JWQvY29uZmlndXJlIiwgY3B1KTsKKwkJCWlmIChyYyAhPSAwKSB7CisJCQkJd2FybihfKCJDUFUgJXUgY29uZmlndXJlIGZhaWxlZCIpLCBjcHUpOworCQkJCWZhaWxzKys7CisJCQl9IGVsc2UKKwkJCQlwcmludGYoXygiQ1BVICV1IGNvbmZpZ3VyZWRcbiIpLCBjcHUpOworCQl9IGVsc2UgeworCQkJcmMgPSB1bF9wYXRoX3dyaXRlZl9zdHJpbmcoc3lzLCAiMCIsICJjcHUlZC9jb25maWd1cmUiLCBjcHUpOworCQkJaWYgKHJjICE9IDApIHsKKwkJCQl3YXJuKF8oIkNQVSAldSBkZWNvbmZpZ3VyZSBmYWlsZWQiKSwgY3B1KTsKKwkJCQlmYWlscysrOworCQkJfSBlbHNlCisJCQkJcHJpbnRmKF8oIkNQVSAldSBkZWNvbmZpZ3VyZWRcbiIpLCBjcHUpOworCQl9CisJfQorCisJcmV0dXJuIGZhaWxzID09IDAgPyAwIDogZmFpbHMgPT0gbWF4Y3B1cyA/IC0xIDogMTsKK30KKworc3RhdGljIHZvaWQgY3B1X3BhcnNlKGNoYXIgKmNwdV9zdHJpbmcsIGNwdV9zZXRfdCAqY3B1X3NldCwgc2l6ZV90IHNldHNpemUpCit7CisJaW50IHJjOworCisJcmMgPSBjcHVsaXN0X3BhcnNlKGNwdV9zdHJpbmcsIGNwdV9zZXQsIHNldHNpemUsIDEpOworCWlmIChyYyA9PSAwKQorCQlyZXR1cm47CisJaWYgKHJjID09IDIpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJpbnZhbGlkIENQVSBudW1iZXIgaW4gQ1BVIGxpc3Q6ICVzIiksIGNwdV9zdHJpbmcpOworCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgQ1BVIGxpc3Q6ICVzIiksIGNwdV9zdHJpbmcpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHJpbnRmKG91dCwgXygKKwkJIlxuVXNhZ2U6XG4iCisJCSIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNvbmZpZ3VyZSBDUFVzIGluIGEgbXVsdGktcHJvY2Vzc29yIHN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKwlmcHV0cyhfKAorCQkiIC1lLCAtLWVuYWJsZSA8Y3B1LWxpc3Q+ICAgICAgIGVuYWJsZSBjcHVzXG4iCisJCSIgLWQsIC0tZGlzYWJsZSA8Y3B1LWxpc3Q+ICAgICAgZGlzYWJsZSBjcHVzXG4iCisJCSIgLWMsIC0tY29uZmlndXJlIDxjcHUtbGlzdD4gICAgY29uZmlndXJlIGNwdXNcbiIKKwkJIiAtZywgLS1kZWNvbmZpZ3VyZSA8Y3B1LWxpc3Q+ICBkZWNvbmZpZ3VyZSBjcHVzXG4iCisJCSIgLXAsIC0tZGlzcGF0Y2ggPG1vZGU+ICAgICAgICAgc2V0IGRpc3BhdGNoaW5nIG1vZGVcbiIKKwkJIiAtciwgLS1yZXNjYW4gICAgICAgICAgICAgICAgICB0cmlnZ2VyIHJlc2NhbiBvZiBjcHVzXG4iCisJCSksIHN0ZG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygzMSkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJjaGNwdSg4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHBhdGhfY3h0ICpzeXMgPSBOVUxMOwkvKiBfUEFUSF9TWVNfQ1BVIGhhbmRsZXIgKi8KKwljcHVfc2V0X3QgKmNwdV9zZXQ7CisJc2l6ZV90IHNldHNpemU7CisJaW50IGNtZCA9IC0xOworCWludCBjLCByYzsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImNvbmZpZ3VyZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYycgfSwKKwkJeyAiZGVjb25maWd1cmUiLHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZycgfSwKKwkJeyAiZGlzYWJsZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZCcgfSwKKwkJeyAiZGlzcGF0Y2giLAlyZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJCXsgImVuYWJsZSIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZScgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAicmVzY2FuIiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJyB9LAorCQl7ICJ2ZXJzaW9uIiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7IE5VTEwsCQkwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnYycsJ2QnLCdlJywnZycsJ3AnIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJdWxfcGF0aF9pbml0X2RlYnVnKCk7CisJc3lzID0gdWxfbmV3X3BhdGgoX1BBVEhfU1lTX0NQVSk7CisJaWYgKCFzeXMpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIHN5c2ZzIGhhbmRsZXIiKSk7CisKKwltYXhjcHVzID0gZ2V0X21heF9udW1iZXJfb2ZfY3B1cygpOworCWlmIChtYXhjcHVzIDwgMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBkZXRlcm1pbmUgTlJfQ1BVUzsgYWJvcnRpbmciKSk7CisKKwlpZiAodWxfcGF0aF9hY2Nlc3Moc3lzLCBGX09LLCAib25saW5lIikgPT0gMCkKKwkJdWxfcGF0aF9yZWFkZl9jcHVsaXN0KHN5cywgJmNwdV9zZXQsIG1heGNwdXMsICJvbmxpbmUiKTsKKworCXNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKwljcHVfc2V0ID0gQ1BVX0FMTE9DKG1heGNwdXMpOworCWlmICghY3B1X3NldCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY3B1c2V0X2FsbG9jIGZhaWxlZCIpKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJjOmQ6ZTpnOmhwOnJWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2MnOgorCQkJY21kID0gQ01EX0NQVV9DT05GSUdVUkU7CisJCQljcHVfcGFyc2UoYXJndltvcHRpbmQgLSAxXSwgY3B1X3NldCwgc2V0c2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQljbWQgPSBDTURfQ1BVX0RJU0FCTEU7CisJCQljcHVfcGFyc2UoYXJndltvcHRpbmQgLSAxXSwgY3B1X3NldCwgc2V0c2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQljbWQgPSBDTURfQ1BVX0VOQUJMRTsKKwkJCWNwdV9wYXJzZShhcmd2W29wdGluZCAtIDFdLCBjcHVfc2V0LCBzZXRzaXplKTsKKwkJCWJyZWFrOworCQljYXNlICdnJzoKKwkJCWNtZCA9IENNRF9DUFVfREVDT05GSUdVUkU7CisJCQljcHVfcGFyc2UoYXJndltvcHRpbmQgLSAxXSwgY3B1X3NldCwgc2V0c2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQljYXNlICdwJzoKKwkJCWlmIChzdHJjbXAoImhvcml6b250YWwiLCBhcmd2W29wdGluZCAtIDFdKSA9PSAwKQorCQkJCWNtZCA9IENNRF9DUFVfRElTUEFUQ0hfSE9SSVpPTlRBTDsKKwkJCWVsc2UgaWYgKHN0cmNtcCgidmVydGljYWwiLCBhcmd2W29wdGluZCAtIDFdKSA9PSAwKQorCQkJCWNtZCA9IENNRF9DUFVfRElTUEFUQ0hfVkVSVElDQUw7CisJCQllbHNlCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIGFyZ3VtZW50OiAlcyIpLAorCQkJCSAgICAgYXJndltvcHRpbmQgLTEgXSk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQljbWQgPSBDTURfQ1BVX1JFU0NBTjsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmICgoYXJnYyA9PSAxKSB8fCAoYXJnYyAhPSBvcHRpbmQpKSB7CisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCXN3aXRjaCAoY21kKSB7CisJY2FzZSBDTURfQ1BVX0VOQUJMRToKKwkJcmMgPSBjcHVfZW5hYmxlKHN5cywgY3B1X3NldCwgbWF4Y3B1cywgMSk7CisJCWJyZWFrOworCWNhc2UgQ01EX0NQVV9ESVNBQkxFOgorCQlyYyA9IGNwdV9lbmFibGUoc3lzLCBjcHVfc2V0LCBtYXhjcHVzLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBDTURfQ1BVX0NPTkZJR1VSRToKKwkJcmMgPSBjcHVfY29uZmlndXJlKHN5cywgY3B1X3NldCwgbWF4Y3B1cywgMSk7CisJCWJyZWFrOworCWNhc2UgQ01EX0NQVV9ERUNPTkZJR1VSRToKKwkJcmMgPSBjcHVfY29uZmlndXJlKHN5cywgY3B1X3NldCwgbWF4Y3B1cywgMCk7CisJCWJyZWFrOworCWNhc2UgQ01EX0NQVV9SRVNDQU46CisJCXJjID0gY3B1X3Jlc2NhbihzeXMpOworCQlicmVhazsKKwljYXNlIENNRF9DUFVfRElTUEFUQ0hfSE9SSVpPTlRBTDoKKwkJcmMgPSBjcHVfc2V0X2Rpc3BhdGNoKHN5cywgMCk7CisJCWJyZWFrOworCWNhc2UgQ01EX0NQVV9ESVNQQVRDSF9WRVJUSUNBTDoKKwkJcmMgPSBjcHVfc2V0X2Rpc3BhdGNoKHN5cywgMSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJjID0gLUVJTlZBTDsKKwkJYnJlYWs7CisJfQorCisJdWxfdW5yZWZfcGF0aChzeXMpOworCisJcmV0dXJuIHJjID09IDAgPyBFWElUX1NVQ0NFU1MgOgorCSAgICAgICAgcmMgPCAwID8gRVhJVF9GQUlMVVJFIDogQ0hDUFVfRVhJVF9TT01FT0s7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvY2htZW0uOCBiL3N5cy11dGlscy9jaG1lbS44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhM2IzNGQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvY2htZW0uOApAQCAtMCwwICsxLDExNCBAQAorLlRIIENITUVNIDggIk9jdG9iZXIgMjAxNiIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorY2htZW0gXC0gY29uZmlndXJlIG1lbW9yeQorLlNIIFNZTk9QU0lTCisuQiBjaG1lbQorLlJCIFsgXC1oICJdIFsiIFwtViAiXSBbIiBcLXYgIl0gWyIgXC1lIHwgXC1kICJdIgorW1xmSVNJWkVcZlB8XGZJUkFOR0VcZlB8XGZCXC1iXGZQIFxmSUJMT0NLUkFOR0VcZlBdCitbLXogWk9ORV0KKy5TSCBERVNDUklQVElPTgorVGhlIGNobWVtIGNvbW1hbmQgc2V0cyBhIHBhcnRpY3VsYXIgc2l6ZSBvciByYW5nZSBvZiBtZW1vcnkgb25saW5lIG9yIG9mZmxpbmUuCisuCisuSVAgIlwoaHkiIDIKK1NwZWNpZnkgXGZJU0laRVxmUCBhcyA8c2l6ZT5bbXxNfGd8R10uIFdpdGggbSBvciBNLCA8c2l6ZT4gc3BlY2lmaWVzIHRoZSBtZW1vcnkKK3NpemUgaW4gTWlCICgxMDI0IHggMTAyNCBieXRlcykuIFdpdGggZyBvciBHLCA8c2l6ZT4gc3BlY2lmaWVzIHRoZSBtZW1vcnkgc2l6ZQoraW4gR2lCICgxMDI0IHggMTAyNCB4IDEwMjQgYnl0ZXMpLiBUaGUgZGVmYXVsdCB1bml0IGlzIE1pQi4KKy4KKy5JUCAiXChoeSIgMgorU3BlY2lmeSBcZklSQU5HRVxmUCBpbiB0aGUgZm9ybSAweDxzdGFydD4tMHg8ZW5kPiBhcyBzaG93biBpbiB0aGUgb3V0cHV0IG9mIHRoZQorXGZCbHNtZW1cZlAgY29tbWFuZC4gPHN0YXJ0PiBpcyB0aGUgaGV4YWRlY2ltYWwgYWRkcmVzcyBvZiB0aGUgZmlyc3QgYnl0ZSBhbmQgPGVuZD4KK2lzIHRoZSBoZXhhZGVjaW1hbCBhZGRyZXNzIG9mIHRoZSBsYXN0IGJ5dGUgaW4gdGhlIG1lbW9yeSByYW5nZS4KKy4KKy5JUCAiXChoeSIgMgorU3BlY2lmeSBcZklCTE9DS1JBTkdFXGZQIGluIHRoZSBmb3JtIDxmaXJzdD4tPGxhc3Q+IG9yIDxibG9jaz4gYXMgc2hvd24gaW4gdGhlCitvdXRwdXQgb2YgdGhlIFxmQmxzbWVtXGZQIGNvbW1hbmQuIDxmaXJzdD4gaXMgdGhlIG51bWJlciBvZiB0aGUgZmlyc3QgbWVtb3J5IGJsb2NrCithbmQgPGxhc3Q+IGlzIHRoZSBudW1iZXIgb2YgdGhlIGxhc3QgbWVtb3J5IGJsb2NrIGluIHRoZSBtZW1vcnkKK3JhbmdlLiBBbHRlcm5hdGl2ZWx5IGEgc2luZ2xlIGJsb2NrIGNhbiBiZSBzcGVjaWZpZWQuIFxmSUJMT0NLUkFOR0VcZlAgcmVxdWlyZXMKK3RoZSBcZkItLWJsb2Nrc1xmUCBvcHRpb24uCisuCisuSVAgIlwoaHkiIDIKK1NwZWNpZnkgXGZJWk9ORVxmUCBhcyB0aGUgbmFtZSBvZiBhIG1lbW9yeSB6b25lLCBhcyBzaG93biBpbiB0aGUgb3V0cHV0IG9mIHRoZQorXGZCbHNtZW0gLW8gK1pPTkVTXGZQIGNvbW1hbmQuIFRoZSBvdXRwdXQgc2hvd3Mgb25lIG9yIG1vcmUgdmFsaWQgbWVtb3J5IHpvbmVzCitmb3IgZWFjaCBtZW1vcnkgcmFuZ2UuIElmIG11bHRpcGxlIHpvbmVzIGFyZSBzaG93biwgdGhlbiB0aGUgbWVtb3J5IHJhbmdlCitjdXJyZW50bHkgYmVsb25ncyB0byB0aGUgZmlyc3Qgem9uZS4gQnkgZGVmYXVsdCwgY2htZW0gd2lsbCBzZXQgbWVtb3J5IG9ubGluZQordG8gdGhlIHpvbmUgTW92YWJsZSwgaWYgdGhpcyBpcyBhbW9uZyB0aGUgdmFsaWQgem9uZXMuIFRoaXMgZGVmYXVsdCBjYW4gYmUKK2NoYW5nZWQgYnkgc3BlY2lmeWluZyB0aGUgXGZCLS16b25lXGZQIG9wdGlvbiB3aXRoIGFub3RoZXIgdmFsaWQgem9uZS4KK0ZvciBtZW1vcnkgYmFsbG9vbmluZywgaXQgaXMgcmVjb21tZW5kZWQgdG8gc2VsZWN0IHRoZSB6b25lIE1vdmFibGUgZm9yIG1lbW9yeQorb25saW5lIGFuZCBvZmZsaW5lLCBpZiBwb3NzaWJsZS4gTWVtb3J5IGluIHRoaXMgem9uZSBpcyBtdWNoIG1vcmUgbGlrZWx5IHRvIGJlCithYmxlIHRvIGJlIG9mZmxpbmVkIGFnYWluLCBidXQgaXQgY2Fubm90IGJlIHVzZWQgZm9yIGFyYml0cmFyeSBrZXJuZWwKK2FsbG9jYXRpb25zLCBvbmx5IGZvciBtaWdyYXRhYmxlIHBhZ2VzIChlLmcuIGFub255bW91cyBhbmQgcGFnZSBjYWNoZSBwYWdlcykuCitVc2UgdGhlIFxmQlwtXC1oZWxwXGZSIG9wdGlvbiB0byBzZWUgYWxsIGF2YWlsYWJsZSB6b25lcy4KKy4KKy5QUAorXGZJU0laRVxmUCBhbmQgXGZJUkFOR0VcZlAgbXVzdCBiZSBhbGlnbmVkIHRvIHRoZSBMaW51eCBtZW1vcnkgYmxvY2sgc2l6ZSwgYXMKK3Nob3duIGluIHRoZSBvdXRwdXQgb2YgdGhlIFxmQmxzbWVtXGZQIGNvbW1hbmQuCisKK1NldHRpbmcgbWVtb3J5IG9ubGluZSBjYW4gZmFpbCBmb3IgdmFyaW91cyByZWFzb25zLiBPbiB2aXJ0dWFsaXplZCBzeXN0ZW1zIGl0CitjYW4gZmFpbCBpZiB0aGUgaHlwZXJ2aXNvciBkb2VzIG5vdCBoYXZlIGVub3VnaCBtZW1vcnkgbGVmdCwgZm9yIGV4YW1wbGUKK2JlY2F1c2UgbWVtb3J5IHdhcyBvdmVyY29tbWl0dGVkLiBTZXR0aW5nIG1lbW9yeSBvZmZsaW5lIGNhbiBmYWlsIGlmIExpbnV4CitjYW5ub3QgZnJlZSB0aGUgbWVtb3J5LiBJZiBvbmx5IHBhcnQgb2YgdGhlIHJlcXVlc3RlZCBtZW1vcnkgY2FuIGJlIHNldCBvbmxpbmUKK29yIG9mZmxpbmUsIGEgbWVzc2FnZSB0ZWxscyB5b3UgaG93IG11Y2ggbWVtb3J5IHdhcyBzZXQgb25saW5lIG9yIG9mZmxpbmUKK2luc3RlYWQgb2YgdGhlIHJlcXVlc3RlZCBhbW91bnQuCisKK1doZW4gc2V0dGluZyBtZW1vcnkgb25saW5lIFxmQmNobWVtXGZQIHN0YXJ0cyB3aXRoIHRoZSBsb3dlc3QgbWVtb3J5IGJsb2NrCitudW1iZXJzLiBXaGVuIHNldHRpbmcgbWVtb3J5IG9mZmxpbmUgXGZCY2htZW1cZlAgc3RhcnRzIHdpdGggdGhlIGhpZ2hlc3QgbWVtb3J5CitibG9jayBudW1iZXJzLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYiAiLCAiIFwtXC1ibG9ja3MKK1VzZSBhIFxmSUJMT0NLUkFOR0VcZlAgcGFyYW1ldGVyIGluc3RlYWQgb2YgXGZJUkFOR0VcZlAgb3IgXGZJU0laRVxmUCBmb3IgdGhlCitcZkItLWVuYWJsZVxmUCBhbmQgXGZCLS1kaXNhYmxlXGZQIG9wdGlvbnMuCisuVFAKKy5CUiBcLWQgIiwgIiBcLVwtZGlzYWJsZQorU2V0IHRoZSBzcGVjaWZpZWQgXGZJUkFOR0VcZlAsIFxmSVNJWkVcZlAsIG9yIFxmSUJMT0NLUkFOR0VcZlAgb2YgbWVtb3J5IG9mZmxpbmUuCisuVFAKKy5CUiBcLWUgIiwgIiBcLVwtZW5hYmxlCitTZXQgdGhlIHNwZWNpZmllZCBcZklSQU5HRVxmUCwgXGZJU0laRVxmUCwgb3IgXGZJQkxPQ0tSQU5HRVxmUCBvZiBtZW1vcnkgb25saW5lLgorLlRQCisuQlIgXC16ICIsICIgXC1cLXpvbmUKK1NlbGVjdCB0aGUgbWVtb3J5IFxmSVpPTkVcZlAgd2hlcmUgdG8gc2V0IHRoZSBzcGVjaWZpZWQgXGZJUkFOR0VcZlAsIFxmSVNJWkVcZlAsCitvciBcZklCTE9DS1JBTkdFXGZQIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS4gQnkgZGVmYXVsdCwgbWVtb3J5IHdpbGwgYmUgc2V0CitvbmxpbmUgdG8gdGhlIHpvbmUgTW92YWJsZSwgaWYgcG9zc2libGUuCisuVFAKKy5CUiBcLWggIiwgIiBcLVwtaGVscAorUHJpbnQgYSBzaG9ydCBoZWxwIHRleHQsIHRoZW4gZXhpdC4KKy5UUAorLkJSIFwtdiAiLCAiIFwtXC12ZXJib3NlCitWZXJib3NlIG1vZGUuIENhdXNlcyBcZkJjaG1lbVxmUCB0byBwcmludCBkZWJ1Z2dpbmcgbWVzc2FnZXMgYWJvdXQgaXQncworcHJvZ3Jlc3MuCisuVFAKKy5CUiBcLVYgIiwgIiBcLVwtdmVyc2lvbgorUHJpbnQgdGhlIHZlcnNpb24gbnVtYmVyLCB0aGVuIGV4aXQuCisuU0ggUkVUVVJOIENPREVTCisuQiBjaG1lbQoraGFzIHRoZSBmb2xsb3dpbmcgcmV0dXJuIGNvZGVzOgorLlRQCisuQiAwCitzdWNjZXNzCisuVFAKKy5CIDEKK2ZhaWx1cmUKKy5UUAorLkIgNjQKK3BhcnRpYWwgc3VjY2VzcworLlNIIEVYQU1QTEVTCisuVFAKKy5CIGNobWVtIC0tZW5hYmxlIDEwMjQKK1RoaXMgY29tbWFuZCByZXF1ZXN0cyAxMDI0IE1pQiBvZiBtZW1vcnkgdG8gYmUgc2V0IG9ubGluZS4KKy5UUAorLkIgY2htZW0gLWUgMmcKK1RoaXMgY29tbWFuZCByZXF1ZXN0cyAyIEdpQiBvZiBtZW1vcnkgdG8gYmUgc2V0IG9ubGluZS4KKy5UUAorLkIgY2htZW0gLS1kaXNhYmxlIDB4MDAwMDAwMDBlNDAwMDAwMC0weDAwMDAwMDAwZjNmZmZmZmYKK1RoaXMgY29tbWFuZCByZXF1ZXN0cyB0aGUgbWVtb3J5IHJhbmdlIHN0YXJ0aW5nIHdpdGggMHgwMDAwMDAwMGU0MDAwMDAwCithbmQgZW5kaW5nIHdpdGggMHgwMDAwMDAwMGYzZmZmZmZmIHRvIGJlIHNldCBvZmZsaW5lLgorLlRQCisuQiBjaG1lbSAtYiAtZCAxMAorVGhpcyBjb21tYW5kIHJlcXVlc3RzIHRoZSBtZW1vcnkgYmxvY2sgbnVtYmVyIDEwIHRvIGJlIHNldCBvZmZsaW5lLgorLlNIIFNFRSBBTFNPCisuQlIgbHNtZW0gKDEpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgXGZCY2htZW1cZlAgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9jaG1lbS5jIGIvc3lzLXV0aWxzL2NobWVtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGE0NDM5YQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9jaG1lbS5jCkBAIC0wLDAgKzEsNDUzIEBACisvKgorICogY2htZW0gLSBNZW1vcnkgY29uZmlndXJhdGlvbiB0b29sCisgKgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInN0cnYuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisKKy8qIHBhcnRpYWwgc3VjY2Vzcywgb3RoZXJ3aXNlIHdlIHJldHVybiByZWd1bGFyIEVYSVRfe1NVQ0NFU1MsRkFJTFVSRX0gKi8KKyNkZWZpbmUgQ0hNRU1fRVhJVF9TT01FT0sJCTY0CisKKyNkZWZpbmUgX1BBVEhfU1lTX01FTU9SWQkJIi9zeXMvZGV2aWNlcy9zeXN0ZW0vbWVtb3J5IgorCitzdHJ1Y3QgY2htZW1fZGVzYyB7CisJc3RydWN0IHBhdGhfY3h0CSpzeXNtZW07CS8qIF9QQVRIX1NZU19NRU1PUlkgaGFuZGxlciAqLworCXN0cnVjdCBkaXJlbnQJKipkaXJzOworCWludAkJbmRpcnM7CisJdWludDY0X3QJYmxvY2tfc2l6ZTsKKwl1aW50NjRfdAlzdGFydDsKKwl1aW50NjRfdAllbmQ7CisJdWludDY0X3QJc2l6ZTsKKwl1bnNpZ25lZCBpbnQJdXNlX2Jsb2NrcyA6IDE7CisJdW5zaWduZWQgaW50CWlzX3NpemUJICAgOiAxOworCXVuc2lnbmVkIGludAl2ZXJib3NlCSAgIDogMTsKKwl1bnNpZ25lZCBpbnQJaGF2ZV96b25lcyA6IDE7Cit9OworCitlbnVtIHsKKwlDTURfTUVNT1JZX0VOQUJMRSA9IDAsCisJQ01EX01FTU9SWV9ESVNBQkxFLAorCUNNRF9OT05FCit9OworCitlbnVtIHpvbmVfaWQgeworCVpPTkVfRE1BID0gMCwKKwlaT05FX0RNQTMyLAorCVpPTkVfTk9STUFMLAorCVpPTkVfSElHSE1FTSwKKwlaT05FX01PVkFCTEUsCisJWk9ORV9ERVZJQ0UsCit9OworCitzdGF0aWMgY2hhciAqem9uZV9uYW1lc1tdID0geworCVtaT05FX0RNQV0JPSAiRE1BIiwKKwlbWk9ORV9ETUEzMl0JPSAiRE1BMzIiLAorCVtaT05FX05PUk1BTF0JPSAiTm9ybWFsIiwKKwlbWk9ORV9ISUdITUVNXQk9ICJIaWdobWVtIiwKKwlbWk9ORV9NT1ZBQkxFXQk9ICJNb3ZhYmxlIiwKKwlbWk9ORV9ERVZJQ0VdCT0gIkRldmljZSIsCit9OworCisvKgorICogbmFtZSBtdXN0IGJlIG51bGwtdGVybWluYXRlZAorICovCitzdGF0aWMgaW50IHpvbmVfbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoem9uZV9uYW1lcyk7IGkrKykgeworCQlpZiAoIXN0cmNhc2VjbXAobmFtZSwgem9uZV9uYW1lc1tpXSkpCisJCQlyZXR1cm4gaTsKKwl9CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBpZHh0b3N0cihzdHJ1Y3QgY2htZW1fZGVzYyAqZGVzYywgdWludDY0X3QgaWR4LCBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwl1aW50NjRfdCBzdGFydCwgZW5kOworCisJc3RhcnQgPSBpZHggKiBkZXNjLT5ibG9ja19zaXplOworCWVuZCA9IHN0YXJ0ICsgZGVzYy0+YmxvY2tfc2l6ZSAtIDE7CisJc25wcmludGYoYnVmLCBidWZzeiwKKwkJIF8oIk1lbW9yeSBCbG9jayAlIlBSSXU2NCIgKDB4JTAxNiJQUkl4NjQiLTB4JTAxNiJQUkl4NjQiKSIpLAorCQkgaWR4LCBzdGFydCwgZW5kKTsKK30KKworc3RhdGljIGludCBjaG1lbV9zaXplKHN0cnVjdCBjaG1lbV9kZXNjICpkZXNjLCBpbnQgZW5hYmxlLCBpbnQgem9uZV9pZCkKK3sKKwljaGFyICpuYW1lLCAqb25vZmYsIGxpbmVbQlVGU0laXSwgc3RyW0JVRlNJWl07CisJdWludDY0X3Qgc2l6ZSwgaW5kZXg7CisJY29uc3QgY2hhciAqem47CisJaW50IGksIHJjOworCisJc2l6ZSA9IGRlc2MtPnNpemU7CisJb25vZmYgPSBlbmFibGUgPyAib25saW5lIiA6ICJvZmZsaW5lIjsKKwlpID0gZW5hYmxlID8gMCA6IGRlc2MtPm5kaXJzIC0gMTsKKworCWlmIChlbmFibGUgJiYgem9uZV9pZCA+PSAwKSB7CisJCWlmICh6b25lX2lkID09IFpPTkVfTU9WQUJMRSkKKwkJCW9ub2ZmID0gIm9ubGluZV9tb3ZhYmxlIjsKKwkJZWxzZQorCQkJb25vZmYgPSAib25saW5lX2tlcm5lbCI7CisJfQorCisJZm9yICg7IGkgPj0gMCAmJiBpIDwgZGVzYy0+bmRpcnMgJiYgc2l6ZTsgaSArPSBlbmFibGUgPyAxIDogLTEpIHsKKwkJbmFtZSA9IGRlc2MtPmRpcnNbaV0tPmRfbmFtZTsKKwkJaW5kZXggPSBzdHJ0b3U2NF9vcl9lcnIobmFtZSArIDYsIF8oIkZhaWxlZCB0byBwYXJzZSBpbmRleCIpKTsKKworCQlpZiAodWxfcGF0aF9yZWFkZl9idWZmZXIoZGVzYy0+c3lzbWVtLCBsaW5lLCBzaXplb2YobGluZSksICIlcy9zdGF0ZSIsIG5hbWUpID4gMAorCQkgICAgJiYgc3RybmNtcChvbm9mZiwgbGluZSwgNikgPT0gMCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChkZXNjLT5oYXZlX3pvbmVzKSB7CisJCQl1bF9wYXRoX3JlYWRmX2J1ZmZlcihkZXNjLT5zeXNtZW0sIGxpbmUsIHNpemVvZihsaW5lKSwgIiVzL3ZhbGlkX3pvbmVzIiwgbmFtZSk7CisJCQlpZiAoem9uZV9pZCA+PSAwKSB7CisJCQkJem4gPSB6b25lX25hbWVzW3pvbmVfaWRdOworCQkJCWlmIChlbmFibGUgJiYgIXN0cmNhc2VzdHIobGluZSwgem4pKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAoIWVuYWJsZSAmJiBzdHJuY2FzZWNtcChsaW5lLCB6biwgc3RybGVuKHpuKSkpCisJCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlIGlmIChlbmFibGUpIHsKKwkJCQkvKiBCeSBkZWZhdWx0LCB1c2Ugem9uZSBNb3ZhYmxlIGZvciBvbmxpbmUsIGlmIHZhbGlkICovCisJCQkJaWYgKHN0cmNhc2VzdHIobGluZSwgem9uZV9uYW1lc1taT05FX01PVkFCTEVdKSkKKwkJCQkJb25vZmYgPSAib25saW5lX21vdmFibGUiOworCQkJCWVsc2UKKwkJCQkJb25vZmYgPSAib25saW5lIjsKKwkJCX0KKwkJfQorCisJCWlkeHRvc3RyKGRlc2MsIGluZGV4LCBzdHIsIHNpemVvZihzdHIpKTsKKwkJcmMgPSB1bF9wYXRoX3dyaXRlZl9zdHJpbmcoZGVzYy0+c3lzbWVtLCBvbm9mZiwgIiVzL3N0YXRlIiwgbmFtZSk7CisJCWlmIChyYyAhPSAwICYmIGRlc2MtPnZlcmJvc2UpIHsKKwkJCWlmIChlbmFibGUpCisJCQkJZnByaW50ZihzdGRvdXQsIF8oIiVzIGVuYWJsZSBmYWlsZWRcbiIpLCBzdHIpOworCQkJZWxzZQorCQkJCWZwcmludGYoc3Rkb3V0LCBfKCIlcyBkaXNhYmxlIGZhaWxlZFxuIiksIHN0cik7CisJCX0gZWxzZSBpZiAocmMgPT0gMCAmJiBkZXNjLT52ZXJib3NlKSB7CisJCQlpZiAoZW5hYmxlKQorCQkJCWZwcmludGYoc3Rkb3V0LCBfKCIlcyBlbmFibGVkXG4iKSwgc3RyKTsKKwkJCWVsc2UKKwkJCQlmcHJpbnRmKHN0ZG91dCwgXygiJXMgZGlzYWJsZWRcbiIpLCBzdHIpOworCQl9CisJCWlmIChyYyA9PSAwKQorCQkJc2l6ZS0tOworCX0KKwlpZiAoc2l6ZSkgeworCQl1aW50NjRfdCBieXRlczsKKwkJY2hhciAqc2l6ZXN0cjsKKworCQlieXRlcyA9IChkZXNjLT5zaXplIC0gc2l6ZSkgKiBkZXNjLT5ibG9ja19zaXplOworCQlzaXplc3RyID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgYnl0ZXMpOworCQlpZiAoZW5hYmxlKQorCQkJd2FybngoXygiQ291bGQgb25seSBlbmFibGUgJXMgb2YgbWVtb3J5IiksIHNpemVzdHIpOworCQllbHNlCisJCQl3YXJueChfKCJDb3VsZCBvbmx5IGRpc2FibGUgJXMgb2YgbWVtb3J5IiksIHNpemVzdHIpOworCQlmcmVlKHNpemVzdHIpOworCX0KKwlyZXR1cm4gc2l6ZSA9PSAwID8gMCA6IHNpemUgPT0gZGVzYy0+c2l6ZSA/IC0xIDogMTsKK30KKworc3RhdGljIGludCBjaG1lbV9yYW5nZShzdHJ1Y3QgY2htZW1fZGVzYyAqZGVzYywgaW50IGVuYWJsZSwgaW50IHpvbmVfaWQpCit7CisJY2hhciAqbmFtZSwgKm9ub2ZmLCBsaW5lW0JVRlNJWl0sIHN0cltCVUZTSVpdOworCXVpbnQ2NF90IGluZGV4LCB0b2RvOworCWNvbnN0IGNoYXIgKnpuOworCWludCBpLCByYzsKKworCXRvZG8gPSBkZXNjLT5lbmQgLSBkZXNjLT5zdGFydCArIDE7CisJb25vZmYgPSBlbmFibGUgPyAib25saW5lIiA6ICJvZmZsaW5lIjsKKworCWlmIChlbmFibGUgJiYgem9uZV9pZCA+PSAwKSB7CisJCWlmICh6b25lX2lkID09IFpPTkVfTU9WQUJMRSkKKwkJCW9ub2ZmID0gIm9ubGluZV9tb3ZhYmxlIjsKKwkJZWxzZQorCQkJb25vZmYgPSAib25saW5lX2tlcm5lbCI7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5kaXJzOyBpKyspIHsKKwkJbmFtZSA9IGRlc2MtPmRpcnNbaV0tPmRfbmFtZTsKKwkJaW5kZXggPSBzdHJ0b3U2NF9vcl9lcnIobmFtZSArIDYsIF8oIkZhaWxlZCB0byBwYXJzZSBpbmRleCIpKTsKKwkJaWYgKGluZGV4IDwgZGVzYy0+c3RhcnQpCisJCQljb250aW51ZTsKKwkJaWYgKGluZGV4ID4gZGVzYy0+ZW5kKQorCQkJYnJlYWs7CisJCWlkeHRvc3RyKGRlc2MsIGluZGV4LCBzdHIsIHNpemVvZihzdHIpKTsKKwkJaWYgKHVsX3BhdGhfcmVhZGZfYnVmZmVyKGRlc2MtPnN5c21lbSwgbGluZSwgc2l6ZW9mKGxpbmUpLCAiJXMvc3RhdGUiLCBuYW1lKSA+IDAKKwkJICAgICYmIHN0cm5jbXAob25vZmYsIGxpbmUsIDYpID09IDApIHsKKwkJCWlmIChkZXNjLT52ZXJib3NlICYmIGVuYWJsZSkKKwkJCQlmcHJpbnRmKHN0ZG91dCwgXygiJXMgYWxyZWFkeSBlbmFibGVkXG4iKSwgc3RyKTsKKwkJCWVsc2UgaWYgKGRlc2MtPnZlcmJvc2UgJiYgIWVuYWJsZSkKKwkJCQlmcHJpbnRmKHN0ZG91dCwgXygiJXMgYWxyZWFkeSBkaXNhYmxlZFxuIiksIHN0cik7CisJCQl0b2RvLS07CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChkZXNjLT5oYXZlX3pvbmVzKSB7CisJCQl1bF9wYXRoX3JlYWRmX2J1ZmZlcihkZXNjLT5zeXNtZW0sIGxpbmUsIHNpemVvZihsaW5lKSwgIiVzL3ZhbGlkX3pvbmVzIiwgbmFtZSk7CisJCQlpZiAoem9uZV9pZCA+PSAwKSB7CisJCQkJem4gPSB6b25lX25hbWVzW3pvbmVfaWRdOworCQkJCWlmIChlbmFibGUgJiYgIXN0cmNhc2VzdHIobGluZSwgem4pKSB7CisJCQkJCXdhcm54KF8oIiVzIGVuYWJsZSBmYWlsZWQ6IFpvbmUgbWlzbWF0Y2giKSwgc3RyKTsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCWlmICghZW5hYmxlICYmIHN0cm5jYXNlY21wKGxpbmUsIHpuLCBzdHJsZW4oem4pKSkgeworCQkJCQl3YXJueChfKCIlcyBkaXNhYmxlIGZhaWxlZDogWm9uZSBtaXNtYXRjaCIpLCBzdHIpOworCQkJCQljb250aW51ZTsKKwkJCQl9CisJCQl9IGVsc2UgaWYgKGVuYWJsZSkgeworCQkJCS8qIEJ5IGRlZmF1bHQsIHVzZSB6b25lIE1vdmFibGUgZm9yIG9ubGluZSwgaWYgdmFsaWQgKi8KKwkJCQlpZiAoc3RyY2FzZXN0cihsaW5lLCB6b25lX25hbWVzW1pPTkVfTU9WQUJMRV0pKQorCQkJCQlvbm9mZiA9ICJvbmxpbmVfbW92YWJsZSI7CisJCQkJZWxzZQorCQkJCQlvbm9mZiA9ICJvbmxpbmUiOworCQkJfQorCQl9CisKKwkJcmMgPSB1bF9wYXRoX3dyaXRlZl9zdHJpbmcoZGVzYy0+c3lzbWVtLCBvbm9mZiwgIiVzL3N0YXRlIiwgbmFtZSk7CisJCWlmIChyYyAhPSAwKSB7CisJCQlpZiAoZW5hYmxlKQorCQkJCXdhcm4oXygiJXMgZW5hYmxlIGZhaWxlZCIpLCBzdHIpOworCQkJZWxzZQorCQkJCXdhcm4oXygiJXMgZGlzYWJsZSBmYWlsZWQiKSwgc3RyKTsKKwkJfSBlbHNlIGlmIChkZXNjLT52ZXJib3NlKSB7CisJCQlpZiAoZW5hYmxlKQorCQkJCWZwcmludGYoc3Rkb3V0LCBfKCIlcyBlbmFibGVkXG4iKSwgc3RyKTsKKwkJCWVsc2UKKwkJCQlmcHJpbnRmKHN0ZG91dCwgXygiJXMgZGlzYWJsZWRcbiIpLCBzdHIpOworCQl9CisJCWlmIChyYyA9PSAwKQorCQkJdG9kby0tOworCX0KKwlyZXR1cm4gdG9kbyA9PSAwID8gMCA6IHRvZG8gPT0gZGVzYy0+ZW5kIC0gZGVzYy0+c3RhcnQgKyAxID8gLTEgOiAxOworfQorCitzdGF0aWMgaW50IGZpbHRlcihjb25zdCBzdHJ1Y3QgZGlyZW50ICpkZSkKK3sKKwlpZiAoc3RybmNtcCgibWVtb3J5IiwgZGUtPmRfbmFtZSwgNikpCisJCXJldHVybiAwOworCXJldHVybiBpc2RpZ2l0X3N0cmluZyhkZS0+ZF9uYW1lICsgNik7Cit9CisKK3N0YXRpYyB2b2lkIHJlYWRfaW5mbyhzdHJ1Y3QgY2htZW1fZGVzYyAqZGVzYykKK3sKKwljaGFyIGxpbmVbMTI4XTsKKworCWRlc2MtPm5kaXJzID0gc2NhbmRpcihfUEFUSF9TWVNfTUVNT1JZLCAmZGVzYy0+ZGlycywgZmlsdGVyLCB2ZXJzaW9uc29ydCk7CisJaWYgKGRlc2MtPm5kaXJzIDw9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIkZhaWxlZCB0byByZWFkICVzIiksIF9QQVRIX1NZU19NRU1PUlkpOworCXVsX3BhdGhfcmVhZF9idWZmZXIoZGVzYy0+c3lzbWVtLCBsaW5lLCBzaXplb2YobGluZSksICJibG9ja19zaXplX2J5dGVzIik7CisJZGVzYy0+YmxvY2tfc2l6ZSA9IHN0cnRvdW1heChsaW5lLCBOVUxMLCAxNik7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX3NpbmdsZV9wYXJhbShzdHJ1Y3QgY2htZW1fZGVzYyAqZGVzYywgY2hhciAqc3RyKQoreworCWlmIChkZXNjLT51c2VfYmxvY2tzKSB7CisJCWRlc2MtPnN0YXJ0ID0gc3RydG91NjRfb3JfZXJyKHN0ciwgXygiRmFpbGVkIHRvIHBhcnNlIGJsb2NrIG51bWJlciIpKTsKKwkJZGVzYy0+ZW5kID0gZGVzYy0+c3RhcnQ7CisJCXJldHVybjsKKwl9CisJZGVzYy0+aXNfc2l6ZSA9IDE7CisJZGVzYy0+c2l6ZSA9IHN0cnRvc2l6ZV9vcl9lcnIoc3RyLCBfKCJGYWlsZWQgdG8gcGFyc2Ugc2l6ZSIpKTsKKwlpZiAoaXNkaWdpdChzdHJbc3RybGVuKHN0cikgLSAxXSkpCisJCWRlc2MtPnNpemUgKj0gMTAyNCoxMDI0OworCWlmIChkZXNjLT5zaXplICUgZGVzYy0+YmxvY2tfc2l6ZSkgeworCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiU2l6ZSBtdXN0IGJlIGFsaWduZWQgdG8gbWVtb3J5IGJsb2NrIHNpemUgKCVzKSIpLAorCQkgICAgIHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIGRlc2MtPmJsb2NrX3NpemUpKTsKKwl9CisJZGVzYy0+c2l6ZSAvPSBkZXNjLT5ibG9ja19zaXplOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9yYW5nZV9wYXJhbShzdHJ1Y3QgY2htZW1fZGVzYyAqZGVzYywgY2hhciAqc3RhcnQsIGNoYXIgKmVuZCkKK3sKKwlpZiAoZGVzYy0+dXNlX2Jsb2NrcykgeworCQlkZXNjLT5zdGFydCA9IHN0cnRvdTY0X29yX2VycihzdGFydCwgXygiRmFpbGVkIHRvIHBhcnNlIHN0YXJ0IikpOworCQlkZXNjLT5lbmQgPSBzdHJ0b3U2NF9vcl9lcnIoZW5kLCBfKCJGYWlsZWQgdG8gcGFyc2UgZW5kIikpOworCQlyZXR1cm47CisJfQorCWlmIChzdHJsZW4oc3RhcnQpIDwgMiB8fCBzdGFydFsxXSAhPSAneCcpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJJbnZhbGlkIHN0YXJ0IGFkZHJlc3MgZm9ybWF0OiAlcyIpLCBzdGFydCk7CisJaWYgKHN0cmxlbihlbmQpIDwgMiB8fCBlbmRbMV0gIT0gJ3gnKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiSW52YWxpZCBlbmQgYWRkcmVzcyBmb3JtYXQ6ICVzIiksIGVuZCk7CisJZGVzYy0+c3RhcnQgPSBzdHJ0b3g2NF9vcl9lcnIoc3RhcnQsIF8oIkZhaWxlZCB0byBwYXJzZSBzdGFydCBhZGRyZXNzIikpOworCWRlc2MtPmVuZCA9IHN0cnRveDY0X29yX2VycihlbmQsIF8oIkZhaWxlZCB0byBwYXJzZSBlbmQgYWRkcmVzcyIpKTsKKwlpZiAoZGVzYy0+c3RhcnQgJSBkZXNjLT5ibG9ja19zaXplIHx8IChkZXNjLT5lbmQgKyAxKSAlIGRlc2MtPmJsb2NrX3NpemUpIHsKKwkJZXJyeChFWElUX0ZBSUxVUkUsCisJCSAgICAgXygiU3RhcnQgYWRkcmVzcyBhbmQgKGVuZCBhZGRyZXNzICsgMSkgbXVzdCBiZSBhbGlnbmVkIHRvICIKKwkJICAgICAgICJtZW1vcnkgYmxvY2sgc2l6ZSAoJXMpIiksCisJCSAgICAgc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgZGVzYy0+YmxvY2tfc2l6ZSkpOworCX0KKwlkZXNjLT5zdGFydCAvPSBkZXNjLT5ibG9ja19zaXplOworCWRlc2MtPmVuZCAvPSBkZXNjLT5ibG9ja19zaXplOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9wYXJhbWV0ZXIoc3RydWN0IGNobWVtX2Rlc2MgKmRlc2MsIGNoYXIgKnBhcmFtKQoreworCWNoYXIgKipzcGxpdDsKKworCXNwbGl0ID0gc3Rydl9zcGxpdChwYXJhbSwgIi0iKTsKKwlpZiAoc3Rydl9sZW5ndGgoc3BsaXQpID4gMikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIkludmFsaWQgcGFyYW1ldGVyOiAlcyIpLCBwYXJhbSk7CisJaWYgKHN0cnZfbGVuZ3RoKHNwbGl0KSA9PSAxKQorCQlwYXJzZV9zaW5nbGVfcGFyYW0oZGVzYywgc3BsaXRbMF0pOworCWVsc2UKKwkJcGFyc2VfcmFuZ2VfcGFyYW0oZGVzYywgc3BsaXRbMF0sIHNwbGl0WzFdKTsKKwlzdHJ2X2ZyZWUoc3BsaXQpOworCWlmIChkZXNjLT5zdGFydCA+IGRlc2MtPmVuZCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIkludmFsaWQgcmFuZ2U6ICVzIiksIHBhcmFtKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gW1NJWkV8UkFOR0V8QkxPQ0tSQU5HRV1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiU2V0IGEgcGFydGljdWxhciBzaXplIG9yIHJhbmdlIG9mIG1lbW9yeSBvbmxpbmUgb3Igb2ZmbGluZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWUsIC0tZW5hYmxlICAgICAgIGVuYWJsZSBtZW1vcnlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1kaXNhYmxlICAgICAgZGlzYWJsZSBtZW1vcnlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYiwgLS1ibG9ja3MgICAgICAgdXNlIG1lbW9yeSBibG9ja3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAteiwgLS16b25lIDxuYW1lPiAgc2VsZWN0IG1lbW9yeSB6b25lIChzZWUgYmVsb3cpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgIHZlcmJvc2Ugb3V0cHV0XG4iKSwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIwKSk7CisKKwlmcHV0cyhfKCJcblN1cHBvcnRlZCB6b25lczpcbiIpLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHpvbmVfbmFtZXMpOyBpKyspCisJCWZwcmludGYob3V0LCAiICVzXG4iLCB6b25lX25hbWVzW2ldKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiY2htZW0oOCkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgY2htZW1fZGVzYyBfZGVzYyA9IHsgfSwgKmRlc2MgPSAmX2Rlc2M7CisJaW50IGNtZCA9IENNRF9OT05FLCB6b25lX2lkID0gLTE7CisJY2hhciAqem9uZSA9IE5VTEw7CisJaW50IGMsIHJjOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJibG9jayIsCW5vX2FyZ3VtZW50LAkJTlVMTCwgJ2InfSwKKwkJeyJkaXNhYmxlIiwJbm9fYXJndW1lbnQsCQlOVUxMLCAnZCd9LAorCQl7ImVuYWJsZSIsCW5vX2FyZ3VtZW50LAkJTlVMTCwgJ2UnfSwKKwkJeyJoZWxwIiwJbm9fYXJndW1lbnQsCQlOVUxMLCAnaCd9LAorCQl7InZlcmJvc2UiLAlub19hcmd1bWVudCwJCU5VTEwsICd2J30sCisJCXsidmVyc2lvbiIsCW5vX2FyZ3VtZW50LAkJTlVMTCwgJ1YnfSwKKwkJeyJ6b25lIiwJcmVxdWlyZWRfYXJndW1lbnQsCU5VTEwsICd6J30sCisJCXtOVUxMLAkJMCwJCQlOVUxMLCAwfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdkJywnZScgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl1bF9wYXRoX2luaXRfZGVidWcoKTsKKwlkZXNjLT5zeXNtZW0gPSB1bF9uZXdfcGF0aChfUEFUSF9TWVNfTUVNT1JZKTsKKwlpZiAoIWRlc2MtPnN5c21lbSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgJXMgaGFuZGxlciIpLCBfUEFUSF9TWVNfTUVNT1JZKTsKKworCXJlYWRfaW5mbyhkZXNjKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJiZGVodlZ6OiIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaCAoYykgeworCQljYXNlICdkJzoKKwkJCWNtZCA9IENNRF9NRU1PUllfRElTQUJMRTsKKwkJCWJyZWFrOworCQljYXNlICdlJzoKKwkJCWNtZCA9IENNRF9NRU1PUllfRU5BQkxFOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJZGVzYy0+dXNlX2Jsb2NrcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJZGVzYy0+dmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3onOgorCQkJem9uZSA9IHhzdHJkdXAob3B0YXJnKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKChhcmdjID09IDEpIHx8IChhcmdjICE9IG9wdGluZCArIDEpIHx8IChjbWQgPT0gQ01EX05PTkUpKSB7CisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCXBhcnNlX3BhcmFtZXRlcihkZXNjLCBhcmd2W29wdGluZF0pOworCisKKwkvKiBUaGUgdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHdhcyBpbnRyb2R1Y2VkIHdpdGgga2VybmVsIDMuMTggKi8KKwlpZiAodWxfcGF0aF9hY2Nlc3MoZGVzYy0+c3lzbWVtLCBGX09LLCAibWVtb3J5MC92YWxpZF96b25lcyIpID09IDApCisJCWRlc2MtPmhhdmVfem9uZXMgPSAxOworCWVsc2UgaWYgKHpvbmUpCisJCXdhcm54KF8oInpvbmUgaWdub3JlZCwgbm8gdmFsaWRfem9uZXMgc3lzZnMgYXR0cmlidXRlIHByZXNlbnQiKSk7CisKKwlpZiAoem9uZSAmJiBkZXNjLT5oYXZlX3pvbmVzKSB7CisJCXpvbmVfaWQgPSB6b25lX25hbWVfdG9faWQoem9uZSk7CisJCWlmICh6b25lX2lkID09IC0xKSB7CisJCQl3YXJueChfKCJ1bmtub3duIG1lbW9yeSB6b25lOiAlcyIpLCB6b25lKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChkZXNjLT5pc19zaXplKQorCQlyYyA9IGNobWVtX3NpemUoZGVzYywgY21kID09IENNRF9NRU1PUllfRU5BQkxFID8gMSA6IDAsIHpvbmVfaWQpOworCWVsc2UKKwkJcmMgPSBjaG1lbV9yYW5nZShkZXNjLCBjbWQgPT0gQ01EX01FTU9SWV9FTkFCTEUgPyAxIDogMCwgem9uZV9pZCk7CisKKwl1bF91bnJlZl9wYXRoKGRlc2MtPnN5c21lbSk7CisKKwlyZXR1cm4gcmMgPT0gMCA/IEVYSVRfU1VDQ0VTUyA6CisJCXJjIDwgMCA/IEVYSVRfRkFJTFVSRSA6IENITUVNX0VYSVRfU09NRU9LOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2Nob29tLjEgYi9zeXMtdXRpbHMvY2hvb20uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xM2U0ZmMyCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2Nob29tLjEKQEAgLTAsMCArMSw4MiBAQAorLlRIIENIT09NIDEgIkFwcmlsIDIwMTgiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjaG9vbSBcLSBkaXNwbGF5IGFuZCBhZGp1c3QgT09NLWtpbGxlciBzY29yZS4KKy5TSCBTWU5PUFNJUworLkIgY2hvb20KKy5CIFwtcAorLkkgcGlkCisuc3AKKy5CIGNob29tCisuQiBcLXAKKy5JIHBpZAorLkIgXC1uCisuSSBudW1iZXIKKy5zcAorLkIgY2hvb20KKy5CIFwtbgorLkkgbnVtYmVyCisuSVIgY29tbWFuZFwgIFsgYXJndW1lbnQgLi4uXQorCisuU0ggREVTQ1JJUFRJT04KK1RoZSBcZkJjaG9vbVxmUCBjb21tYW5kIGRpc3BsYXlzIGFuZCBhZGp1c3RzIE91dC1PZi1NZW1vcnkga2lsbGVyIHNjb3JlIHNldHRpbmcuCisKKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLXAgIiwgIiBcLVwtcGlkICIgXGZJcGlkXGZQCitTcGVjaWZpZXMgcHJvY2VzcyBJRC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLWFkanVzdCAiIFxmSXZhbHVlXGZQCitTcGVjaWZ5IHRoZSBhZGp1c3Qgc2NvcmUgdmFsdWUuCisuVFAKKy5CUiBcLWggIiwgIiBcLVwtaGVscAorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuVFAKKy5CUiBcLVYgIiwgIiBcLVwtdmVyc2lvbgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIE5PVEVTCitMaW51eCBrZXJuZWwgdXNlcyB0aGUgYmFkbmVzcyBoZXVyaXN0aWMgdG8gc2VsZWN0IHdoaWNoIHByb2Nlc3MgZ2V0cyBraWxsZWQgaW4KK291dCBvZiBtZW1vcnkgY29uZGl0aW9ucy4KKworVGhlIGJhZG5lc3MgaGV1cmlzdGljIGFzc2lnbnMgYSB2YWx1ZSB0byBlYWNoIGNhbmRpZGF0ZSB0YXNrIHJhbmdpbmcgZnJvbSAwCisobmV2ZXIga2lsbCkgdG8gMTAwMCAoYWx3YXlzIGtpbGwpIHRvIGRldGVybWluZSB3aGljaCBwcm9jZXNzIGlzIHRhcmdldGVkLiAgVGhlCit1bml0cyBhcmUgcm91Z2hseSBhIHByb3BvcnRpb24gYWxvbmcgdGhhdCByYW5nZSBvZiBhbGxvd2VkIG1lbW9yeSB0aGUgcHJvY2VzcworbWF5IGFsbG9jYXRlIGZyb20gYmFzZWQgb24gYW4gZXN0aW1hdGlvbiBvZiBpdHMgY3VycmVudCBtZW1vcnkgYW5kIHN3YXAgdXNlLgorRm9yIGV4YW1wbGUsIGlmIGEgdGFzayBpcyB1c2luZyBhbGwgYWxsb3dlZCBtZW1vcnksIGl0cyBiYWRuZXNzIHNjb3JlIHdpbGwgYmUKKzEwMDAuICBJZiBpdCBpcyB1c2luZyBoYWxmIG9mIGl0cyBhbGxvd2VkIG1lbW9yeSwgaXRzIHNjb3JlIHdpbGwgYmUgNTAwLgorCitUaGVyZSBpcyBhbiBhZGRpdGlvbmFsIGZhY3RvciBpbmNsdWRlZCBpbiB0aGUgYmFkbmVzcyBzY29yZTogdGhlIGN1cnJlbnQgbWVtb3J5CithbmQgc3dhcCB1c2FnZSBpcyBkaXNjb3VudGVkIGJ5IDMlIGZvciByb290IHByb2Nlc3Nlcy4KKworVGhlIGFtb3VudCBvZiAiYWxsb3dlZCIgbWVtb3J5IGRlcGVuZHMgb24gdGhlIGNvbnRleHQgaW4gd2hpY2ggdGhlIG9vbSBraWxsZXIKK3dhcyBjYWxsZWQuICBJZiBpdCBpcyBkdWUgdG8gdGhlIG1lbW9yeSBhc3NpZ25lZCB0byB0aGUgYWxsb2NhdGluZyB0YXNrJ3MgY3B1c2V0CitiZWluZyBleGhhdXN0ZWQsIHRoZSBhbGxvd2VkIG1lbW9yeSByZXByZXNlbnRzIHRoZSBzZXQgb2YgbWVtcyBhc3NpZ25lZCB0byB0aGF0CitjcHVzZXQuICBJZiBpdCBpcyBkdWUgdG8gYSBtZW1wb2xpY3kncyBub2RlKHMpIGJlaW5nIGV4aGF1c3RlZCwgdGhlIGFsbG93ZWQKK21lbW9yeSByZXByZXNlbnRzIHRoZSBzZXQgb2YgbWVtcG9saWN5IG5vZGVzLiAgSWYgaXQgaXMgZHVlIHRvIGEgbWVtb3J5CitsaW1pdCAob3Igc3dhcCBsaW1pdCkgYmVpbmcgcmVhY2hlZCwgdGhlIGFsbG93ZWQgbWVtb3J5IGlzIHRoYXQgY29uZmlndXJlZAorbGltaXQuICBGaW5hbGx5LCBpZiBpdCBpcyBkdWUgdG8gdGhlIGVudGlyZSBzeXN0ZW0gYmVpbmcgb3V0IG9mIG1lbW9yeSwgdGhlCithbGxvd2VkIG1lbW9yeSByZXByZXNlbnRzIGFsbCBhbGxvY2F0YWJsZSByZXNvdXJjZXMuCisKK1RoZSBhZGp1c3Qgc2NvcmUgdmFsdWUgaXMgYWRkZWQgdG8gdGhlIGJhZG5lc3Mgc2NvcmUgYmVmb3JlIGl0IGlzIHVzZWQgdG8KK2RldGVybWluZSB3aGljaCB0YXNrIHRvIGtpbGwuICBBY2NlcHRhYmxlIHZhbHVlcyByYW5nZSBmcm9tIC0xMDAwIHRvICsxMDAwLgorVGhpcyBhbGxvd3MgdXNlcnNwYWNlIHRvIHBvbGFyaXplIHRoZSBwcmVmZXJlbmNlIGZvciBvb20ga2lsbGluZyBlaXRoZXIgYnkKK2Fsd2F5cyBwcmVmZXJyaW5nIGEgY2VydGFpbiB0YXNrIG9yIGNvbXBsZXRlbHkgZGlzYWJsaW5nIGl0LiAgVGhlIGxvd2VzdAorcG9zc2libGUgdmFsdWUsIC0xMDAwLCBpcyBlcXVpdmFsZW50IHRvIGRpc2FibGluZyBvb20ga2lsbGluZyBlbnRpcmVseSBmb3IgdGhhdAordGFzayBzaW5jZSBpdCB3aWxsIGFsd2F5cyByZXBvcnQgYSBiYWRuZXNzIHNjb3JlIG9mIDAuCisKK1NldHRpbmcgYSBhZGp1c3Qgc2NvcmUgdmFsdWUgb2YgKzUwMCwgZm9yIGV4YW1wbGUsIGlzIHJvdWdobHkgZXF1aXZhbGVudCB0bworYWxsb3dpbmcgdGhlIHJlbWFpbmRlciBvZiB0YXNrcyBzaGFyaW5nIHRoZSBzYW1lIHN5c3RlbSwgY3B1c2V0LCBtZW1wb2xpY3ksIG9yCittZW1vcnkgY29udHJvbGxlciByZXNvdXJjZXMgdG8gdXNlIGF0IGxlYXN0IDUwJSBtb3JlIG1lbW9yeS4gIEEgdmFsdWUgb2YgLTUwMCwKK29uIHRoZSBvdGhlciBoYW5kLCB3b3VsZCBiZSByb3VnaGx5IGVxdWl2YWxlbnQgdG8gZGlzY291bnRpbmcgNTAlIG9mIHRoZSB0YXNrJ3MKK2FsbG93ZWQgbWVtb3J5IGZyb20gYmVpbmcgY29uc2lkZXJlZCBhcyBzY29yaW5nIGFnYWluc3QgdGhlIHRhc2suCisKKy5TSCBBVVRIT1JTCisubmYKK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLmZpCisuU0ggU0VFIEFMU08KKy5CUiBwcm9jICg1KQorLlNIIEFWQUlMQUJJTElUWQorVGhlIFxmQmNob29tXGZQIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvY2hvb20uYyBiL3N5cy11dGlscy9jaG9vbS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4OTVhZWYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvY2hvb20uYwpAQCAtMCwwICsxLDE1OSBAQAorLyoKKyAqIGNob29tIC0gQ2hhbmdlIE9PTSBzY29yZSBzZXR0aW5nCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJTEkcyBbb3B0aW9uc10gLXAgcGlkXG4iCisJCSIgJTEkcyBbb3B0aW9uc10gLW4gbnVtYmVyIC1wIHBpZFxuIgorCQkiICUxJHMgW29wdGlvbnNdIC1uIG51bWJlciBjb21tYW5kIFthcmdzLi4uXV1cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBhbmQgYWRqdXN0IE9PTS1raWxsZXIgc2NvcmUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLWFkanVzdCA8bnVtPiAgICAgc3BlY2lmeSB0aGUgYWRqdXN0IHNjb3JlIHZhbHVlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkIDxudW0+ICAgICAgICBwcm9jZXNzIElEXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNCkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiY2hvb20oMSkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IGdldF9zY29yZShzdHJ1Y3QgcGF0aF9jeHQgKnBjKQoreworCWludCByZXQ7CisKKwlpZiAodWxfcGF0aF9yZWFkX3MzMihwYywgJnJldCwgIm9vbV9zY29yZSIpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byByZWFkIE9PTSBzY29yZSB2YWx1ZSIpKTsKKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X3Njb3JlX2FkaihzdHJ1Y3QgcGF0aF9jeHQgKnBjKQoreworCWludCByZXQ7CisKKwlpZiAodWxfcGF0aF9yZWFkX3MzMihwYywgJnJldCwgIm9vbV9zY29yZV9hZGoiKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVhZCBPT00gc2NvcmUgYWRqdXN0IHZhbHVlIikpOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBzZXRfc2NvcmVfYWRqKHN0cnVjdCBwYXRoX2N4dCAqcGMsIGludCBhZGopCit7CisJcmV0dXJuIHVsX3BhdGhfd3JpdGVfdTY0KHBjLCBhZGosICJvb21fc2NvcmVfYWRqIik7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlwaWRfdCBwaWQgPSAwOworCWludCBjLCBhZGogPSAwLCBoYXNfYWRqID0gMDsKKwlzdHJ1Y3QgcGF0aF9jeHQgKnBjID0gTlVMTDsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFkanVzdCIsICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ24nIH0sCisJCXsgInBpZCIsICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJCXsgImhlbHAiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJCXsgInZlcnNpb24iLCBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnIH0sCisJCXsgTlVMTCwgICAgICAwLCAgICAgICAgICAgICAgICAgTlVMTCwgIDAgIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJobjpwOlYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdwJzoKKwkJCXBpZCA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgUElEIGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJYWRqID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBhZGp1c3QgYXJndW1lbnQiKSk7CisJCQloYXNfYWRqID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKG9wdGluZCA8IGFyZ2MgJiYgcGlkKSB7CisJCXdhcm54KF8oImludmFsaWQgYXJndW1lbnQ6ICVzIiksIGFyZ3Zbb3B0aW5kXSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisJaWYgKCFwaWQgJiYgYXJnYyAtIG9wdGluZCA8IDEpIHsKKwkJd2FybngoXygibm8gUElEIG9yIENPTU1BTkQgc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCWlmIChvcHRpbmQgPCBhcmdjICYmICFoYXNfYWRqKSB7CisJCXdhcm54KF8oIm5vIE9PTSBzY29yZSBhZGp1c3QgdmFsdWUgc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJcGMgPSB1bF9uZXdfcGF0aCgiL3Byb2MvJWQiLCAoaW50KSAocGlkID8gcGlkIDogZ2V0cGlkKCkpKTsKKworCS8qIFNob3cgKi8KKwlpZiAoIWhhc19hZGopIHsKKwkJcHJpbnRmKF8oInBpZCAlZCdzIGN1cnJlbnQgT09NIHNjb3JlOiAlZFxuIiksIHBpZCwgZ2V0X3Njb3JlKHBjKSk7CisJCXByaW50ZihfKCJwaWQgJWQncyBjdXJyZW50IE9PTSBzY29yZSBhZGp1c3QgdmFsdWU6ICVkXG4iKSwgcGlkLCBnZXRfc2NvcmVfYWRqKHBjKSk7CisKKwkvKiBDaGFuZ2UgKi8KKwl9IGVsc2UgaWYgKHBpZCkgeworCQlpbnQgb2xkID0gZ2V0X3Njb3JlX2FkaihwYyk7CisKKwkJaWYgKHNldF9zY29yZV9hZGoocGMsIGFkaikpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IHNjb3JlIGFkanVzdCB2YWx1ZSIpKTsKKworCQlwcmludGYoXygicGlkICVkJ3MgT09NIHNjb3JlIGFkanVzdCB2YWx1ZSBjaGFuZ2VkIGZyb20gJWQgdG8gJWRcbiIpLCBwaWQsIG9sZCwgYWRqKTsKKworCS8qIFN0YXJ0IG5ldyBwcm9jZXNzICovCisJfSBlbHNlIHsKKwkJaWYgKHNldF9zY29yZV9hZGoocGMsIGFkaikpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IHNjb3JlIGFkanVzdCB2YWx1ZSIpKTsKKwkJdWxfdW5yZWZfcGF0aChwYyk7CisJCWFyZ3YgKz0gb3B0aW5kOworCQlleGVjdnAoYXJndlswXSwgYXJndik7CisJCWVycmV4ZWMoYXJndlswXSk7CisJfQorCisJdWxfdW5yZWZfcGF0aChwYyk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9jdHJsYWx0ZGVsLjggYi9zeXMtdXRpbHMvY3RybGFsdGRlbC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE0NGFkMTkKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvY3RybGFsdGRlbC44CkBAIC0wLDAgKzEsNTggQEAKKy5cIiBDb3B5cmlnaHQgMTk5MiwgMTk5MyBSaWNrYXJkIEUuIEZhaXRoIChmYWl0aEBjcy51bmMuZWR1KQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBDVFJMQUxUREVMIDggIk9jdG9iZXIgMjAxNSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorY3RybGFsdGRlbCBcLSBzZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24KKy5TSCBTWU5PUFNJUworLkJSICJjdHJsYWx0ZGVsIGhhcmQiIHwgc29mdAorLlNIIERFU0NSSVBUSU9OCitCYXNlZCBvbiBleGFtaW5hdGlvbiBvZiB0aGUKKy5JIGxpbnV4L2tlcm5lbC9yZWJvb3QuYworY29kZSwgaXQgaXMgY2xlYXIgdGhhdCB0aGVyZSBhcmUgdHdvIHN1cHBvcnRlZCBmdW5jdGlvbnMgdGhhdCB0aGUKK0N0cmwtQWx0LURlbCBzZXF1ZW5jZSBjYW4gcGVyZm9ybS4KKy5UUAorLkIgaGFyZAorSW1tZWRpYXRlbHkgcmVib290IHRoZSBjb21wdXRlciB3aXRob3V0IGNhbGxpbmcKKy5CUiBzeW5jICgyKQorYW5kIHdpdGhvdXQgYW55IG90aGVyIHByZXBhcmF0aW9uLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkIgc29mdAorTWFrZSB0aGUga2VybmVsIHNlbmQgdGhlIFNJR0lOVCAoaW50ZXJydXB0KSBzaWduYWwgdG8gdGhlCisuQiBpbml0Citwcm9jZXNzICh0aGlzIGlzIGFsd2F5cyB0aGUgcHJvY2VzcyB3aXRoIFBJRCAxKS4gIElmIHRoaXMgb3B0aW9uIGlzIHVzZWQsCit0aGUKKy5CUiBpbml0ICg4KQorcHJvZ3JhbSBtdXN0IHN1cHBvcnQgdGhpcyBmZWF0dXJlLiAgU2luY2UgdGhlcmUgYXJlIG5vdyBzZXZlcmFsCisuQlIgaW5pdCAoOCkKK3Byb2dyYW1zIGluIHRoZSBMaW51eCBjb21tdW5pdHksIHBsZWFzZSBjb25zdWx0IHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUKK3ZlcnNpb24gdGhhdCB5b3UgYXJlIGN1cnJlbnRseSB1c2luZy4KKy5QUAorV2hlbiB0aGUgY29tbWFuZCBpcyBydW4gd2l0aG91dCBhbnkgYXJndW1lbnQsIGl0IHdpbGwgZGlzcGxheSB0aGUgY3VycmVudAorc2V0dGluZy4KKy5QUAorVGhlIGZ1bmN0aW9uIG9mCisuQiBjdHJsYWx0ZGVsCitpcyB1c3VhbGx5IHNldCBpbiB0aGUKKy5JIC9ldGMvcmMubG9jYWwKK2ZpbGUuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEZJTEVTCisuSSAvZXRjL3JjLmxvY2FsCisuU0ggIlNFRSBBTFNPIgorLkJSIGluaXQgKDgpLAorLkJSIHN5c3RlbWQgKDEpCisuU0ggQVVUSE9SCisuVVIgcG9lQGRhaW1pLmFhdS5kaworUGV0ZXIgT3JiYWVrCisuVUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBjdHJsYWx0ZGVsIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvY3RybGFsdGRlbC5jIGIvc3lzLXV0aWxzL2N0cmxhbHRkZWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTY2MmM0Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2N0cmxhbHRkZWwuYwpAQCAtMCwwICsxLDExNCBAQAorLyoKKyAqIGN0cmxhbHRkZWwuYyAtIFNldCB0aGUgZnVuY3Rpb24gb2YgdGhlIEN0cmwtQWx0LURlbCBjb21iaW5hdGlvbgorICogQ3JlYXRlZCA0LUp1bC05MiBieSBQZXRlciBPcmJhZWsgPHBvZUBkYWltaS5hYXUuZGs+CisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKi8KKworI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvcmVib290Lmg+CisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAicGF0aC5oIgorCisjZGVmaW5lIExJTlVYX1JFQk9PVF9DTURfQ0FEX09OIDB4ODlBQkNERUYKKyNkZWZpbmUgTElOVVhfUkVCT09UX0NNRF9DQURfT0ZGIDB4MDAwMDAwMDAKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgaGFyZHxzb2Z0XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwcmludGYob3V0LCBfKCJTZXQgdGhlIGZ1bmN0aW9uIG9mIHRoZSBDdHJsLUFsdC1EZWwgY29tYmluYXRpb24uXG4iKSk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImN0cmxhbHRkZWwoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IGdldF9jYWQodm9pZCkKK3sKKwl1aW50NjRfdCB2YWw7CisKKwlpZiAodWxfcGF0aF9yZWFkX3U2NChOVUxMLCAmdmFsLCBfUEFUSF9QUk9DX0NUUkxfQUxUX0RFTCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHJlYWQgJXMiKSwgX1BBVEhfUFJPQ19DVFJMX0FMVF9ERUwpOworCisJc3dpdGNoICh2YWwpIHsKKwljYXNlIDA6CisJCWZwdXRzKCJzb2Z0XG4iLCBzdGRvdXQpOworCQlicmVhazsKKwljYXNlIDE6CisJCWZwdXRzKCJoYXJkXG4iLCBzdGRvdXQpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlwcmludGYoIiVzIGhhcmRcbiIsIF8oImltcGxpY2l0IikpOworCQl3YXJueChfKCJ1bmV4cGVjdGVkIHZhbHVlIGluICVzOiAlanUiKSwgX1BBVEhfUFJPQ19DVFJMX0FMVF9ERUwsIHZhbCk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBpbnQgc2V0X2NhZChjb25zdCBjaGFyICphcmcpCit7CisJdW5zaWduZWQgaW50IGNtZDsKKworCWlmIChnZXRldWlkKCkpIHsKKwkJd2FybngoXygiWW91IG11c3QgYmUgcm9vdCB0byBzZXQgdGhlIEN0cmwtQWx0LURlbCBiZWhhdmlvciIpKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisJaWYgKCFzdHJjbXAoImhhcmQiLCBhcmcpKQorCQljbWQgPSBMSU5VWF9SRUJPT1RfQ01EX0NBRF9PTjsKKwllbHNlIGlmICghc3RyY21wKCJzb2Z0IiwgYXJnKSkKKwkJY21kID0gTElOVVhfUkVCT09UX0NNRF9DQURfT0ZGOworCWVsc2UgeworCQl3YXJueChfKCJ1bmtub3duIGFyZ3VtZW50OiAlcyIpLCBhcmcpOworCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCX0KKwlpZiAocmVib290KGNtZCkgPCAwKSB7CisJCXdhcm54KCJyZWJvb3QiKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjaCwgcmV0OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGNoID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjaCkgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisKKwlpZiAoYXJnYyA8IDIpCisJCXJldCA9IGdldF9jYWQoKTsKKwllbHNlCisJCXJldCA9IHNldF9jYWQoYXJndlsxXSk7CisJcmV0dXJuIHJldDsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9kbWVzZy4xIGIvc3lzLXV0aWxzL2RtZXNnLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWRmNTIxNAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9kbWVzZy4xCkBAIC0wLDAgKzEsMjU2IEBACisuXCIgQ29weXJpZ2h0IDE5OTMgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggRE1FU0cgIjEiICJKdWx5IDIwMTIiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitkbWVzZyBcLSBwcmludCBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIKKy5TSCBTWU5PUFNJUworLkIgZG1lc2cKK1tvcHRpb25zXQorLnNwCisuQiBkbWVzZyBcLVwtY2xlYXIKKy5icgorLkJSICJkbWVzZyBcLVwtcmVhZFwtY2xlYXIgIiBbb3B0aW9uc10KKy5icgorLkJJICJkbWVzZyBcLVwtY29uc29sZVwtbGV2ZWwgIiBsZXZlbAorLmJyCisuQiBkbWVzZyBcLVwtY29uc29sZVwtb24KKy5icgorLkIgZG1lc2cgXC1cLWNvbnNvbGVcLW9mZgorLlNIIERFU0NSSVBUSU9OCisuQiBkbWVzZworaXMgdXNlZCB0byBleGFtaW5lIG9yIGNvbnRyb2wgdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci4KKy5QUAorVGhlIGRlZmF1bHQgYWN0aW9uIGlzIHRvIGRpc3BsYXkgYWxsIG1lc3NhZ2VzIGZyb20gdGhlIGtlcm5lbCByaW5nIGJ1ZmZlci4KKy5TSCBPUFRJT05TCitUaGUKKy5CUiBcLVwtY2xlYXIgLAorLkJSIFwtXC1yZWFkXC1jbGVhciAsCisuQlIgXC1cLWNvbnNvbGVcLW9uICwKKy5CUiBcLVwtY29uc29sZVwtb2ZmICwKK2FuZAorLkIgXC1cLWNvbnNvbGVcLWxldmVsCitvcHRpb25zIGFyZSBtdXR1YWxseSBleGNsdXNpdmUuCisuUFAKKy5JUCAiXGZCXC1DXGZSLCBcZkJcLVwtY2xlYXJcZlIiCitDbGVhciB0aGUgcmluZyBidWZmZXIuCisuSVAgIlxmQlwtY1xmUiwgXGZCXC1cLXJlYWRcLWNsZWFyXGZSIgorQ2xlYXIgdGhlIHJpbmcgYnVmZmVyIGFmdGVyIGZpcnN0IHByaW50aW5nIGl0cyBjb250ZW50cy4KKy5JUCAiXGZCXC1EXGZSLCBcZkJcLVwtY29uc29sZVwtb2ZmXGZSIgorRGlzYWJsZSB0aGUgcHJpbnRpbmcgb2YgbWVzc2FnZXMgdG8gdGhlIGNvbnNvbGUuCisuSVAgIlxmQlwtZFxmUiwgXGZCXC1cLXNob3dcLWRlbHRhXGZSIgorRGlzcGxheSB0aGUgdGltZXN0YW1wIGFuZCB0aGUgdGltZSBkZWx0YSBzcGVudCBiZXR3ZWVuIG1lc3NhZ2VzLiAgSWYgdXNlZAordG9nZXRoZXIgd2l0aAorLkIgXC1cLW5vdGltZQordGhlbiBvbmx5IHRoZSB0aW1lIGRlbHRhIHdpdGhvdXQgdGhlIHRpbWVzdGFtcCBpcyBwcmludGVkLgorLklQICJcZkJcLUVcZlIsIFxmQlwtXC1jb25zb2xlXC1vblxmUiIKK0VuYWJsZSBwcmludGluZyBtZXNzYWdlcyB0byB0aGUgY29uc29sZS4KKy5JUCAiXGZCXC1lXGZSLCBcZkJcLVwtcmVsdGltZVxmUiIKK0Rpc3BsYXkgdGhlIGxvY2FsIHRpbWUgYW5kIHRoZSBkZWx0YSBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXQuICBCZSBhd2FyZSB0aGF0Citjb252ZXJzaW9uIHRvIHRoZSBsb2NhbCB0aW1lIGNvdWxkIGJlIGluYWNjdXJhdGUgKHNlZSBcZkJcLVRcZlIgZm9yIG1vcmUKK2RldGFpbHMpLgorLklQICJcZkJcLUZcZlIsIFxmQlwtXC1maWxlIFxmSWZpbGVcZlIiCitSZWFkIHRoZSBzeXNsb2cgbWVzc2FnZXMgZnJvbSB0aGUgZ2l2ZW4KKy5JUiBmaWxlIC4KK05vdGUgdGhhdCBcZkJcLUZcZlIgZG9lcyBub3Qgc3VwcG9ydCBtZXNzYWdlcyBpbiBrbXNnIGZvcm1hdC4gVGhlIG9sZCBzeXNsb2cgZm9ybWF0IGlzIHN1cHBvcnRlZCBvbmx5LgorLklQICJcZkJcLWZcZlIsIFxmQlwtXC1mYWNpbGl0eSBcZklsaXN0XGZSIgorUmVzdHJpY3Qgb3V0cHV0IHRvIHRoZSBnaXZlbiAoY29tbWEtc2VwYXJhdGVkKQorLkkgbGlzdAorb2YgZmFjaWxpdGllcy4gIEZvciBleGFtcGxlOgorLlBQCisuUlMgMTQKKy5CIGRtZXNnIFwtXC1mYWNpbGl0eT1kYWVtb24KKy5SRQorLklQCit3aWxsIHByaW50IG1lc3NhZ2VzIGZyb20gc3lzdGVtIGRhZW1vbnMgb25seS4gIEZvciBhbGwgc3VwcG9ydGVkIGZhY2lsaXRpZXMKK3NlZSB0aGUKKy5CIFwtXC1oZWxwCitvdXRwdXQuCisuSVAgIlxmQlwtSFxmUiwgXGZCXC1cLWh1bWFuXGZSIgorRW5hYmxlIGh1bWFuLXJlYWRhYmxlIG91dHB1dC4gIFNlZSBhbHNvIFxmQlwtXC1jb2xvclxmUiwgXGZCXC1cLXJlbHRpbWVcZlIKK2FuZCBcZkJcLVwtbm9wYWdlclxmUi4KKy5JUCAiXGZCXC1rXGZSLCBcZkJcLVwta2VybmVsXGZSIgorUHJpbnQga2VybmVsIG1lc3NhZ2VzLgorLklQICJcZkJcLUxcZlIsIFxmQlwtXC1jb2xvclxmUls9XGZJd2hlblxmUl0iCitDb2xvcml6ZSB0aGUgb3V0cHV0LiAgVGhlIG9wdGlvbmFsIGFyZ3VtZW50IFxmSXdoZW5cZlAKK2NhbiBiZSBcZkJhdXRvXGZSLCBcZkJuZXZlclxmUiBvciBcZkJhbHdheXNcZlIuICBJZiB0aGUgXGZJd2hlblxmUiBhcmd1bWVudCBpcyBvbWl0dGVkLAoraXQgZGVmYXVsdHMgdG8gXGZCYXV0b1xmUi4gIFRoZSBjb2xvcnMgY2FuIGJlIGRpc2FibGVkOyBmb3IgdGhlIGN1cnJlbnQgYnVpbHQtaW4gZGVmYXVsdAorc2VlIHRoZSBcZkJcLVwtaGVscFxmUiBvdXRwdXQuICBTZWUgYWxzbyB0aGUgXGZCQ09MT1JTXGZSIHNlY3Rpb24gYmVsb3cuCisuSVAgICJcZkJcLWxcZlIsIFxmQlwtXC1sZXZlbCBcZklsaXN0XGZSIgorUmVzdHJpY3Qgb3V0cHV0IHRvIHRoZSBnaXZlbiAoY29tbWEtc2VwYXJhdGVkKQorLkkgbGlzdAorb2YgbGV2ZWxzLiAgRm9yIGV4YW1wbGU6CisuUFAKKy5SUyAxNAorLkIgZG1lc2cgXC1cLWxldmVsPWVycix3YXJuCisuUkUKKy5JUAord2lsbCBwcmludCBlcnJvciBhbmQgd2FybmluZyBtZXNzYWdlcyBvbmx5LiAgRm9yIGFsbCBzdXBwb3J0ZWQgbGV2ZWxzIHNlZSB0aGUKKy5CIFwtXC1oZWxwCitvdXRwdXQuCisuSVAgIlxmQlwtblxmUiwgXGZCXC1cLWNvbnNvbGVcLWxldmVsIFxmSWxldmVsXGZSCitTZXQgdGhlCisuSSBsZXZlbAorYXQgd2hpY2ggcHJpbnRpbmcgb2YgbWVzc2FnZXMgaXMgZG9uZSB0byB0aGUgY29uc29sZS4gIFRoZQorLkkgbGV2ZWwKK2lzIGEgbGV2ZWwgbnVtYmVyIG9yIGFiYnJldmlhdGlvbiBvZiB0aGUgbGV2ZWwgbmFtZS4gIEZvciBhbGwgc3VwcG9ydGVkCitsZXZlbHMgc2VlIHRoZQorLkIgXC1cLWhlbHAKK291dHB1dC4KKy5zcAorRm9yIGV4YW1wbGUsCisuQiBcLW4gMQorb3IKKy5CIFwtbiBhbGVydAorcHJldmVudHMgYWxsIG1lc3NhZ2VzLCBleGNlcHQgZW1lcmdlbmN5IChwYW5pYykgbWVzc2FnZXMsIGZyb20gYXBwZWFyaW5nIG9uCit0aGUgY29uc29sZS4gIEFsbCBsZXZlbHMgb2YgbWVzc2FnZXMgYXJlIHN0aWxsIHdyaXR0ZW4gdG8KKy5JUiAvcHJvYy9rbXNnICwKK3NvCisuQlIgc3lzbG9nZCAoOCkKK2NhbiBzdGlsbCBiZSB1c2VkIHRvIGNvbnRyb2wgZXhhY3RseSB3aGVyZSBrZXJuZWwgbWVzc2FnZXMgYXBwZWFyLiAgV2hlbiB0aGUKKy5CIFwtbgorb3B0aW9uIGlzIHVzZWQsCisuQiBkbWVzZword2lsbAorLkkgbm90CitwcmludCBvciBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyLgorLklQICJcZkJcLVBcZlIsIFxmQlwtXC1ub3BhZ2VyXGZSIgorRG8gbm90IHBpcGUgb3V0cHV0IGludG8gYSBwYWdlci4gIEEgcGFnZXIgaXMgZW5hYmxlZCBieSBkZWZhdWx0IGZvciBcZkJcLVwtaHVtYW5cZlIgb3V0cHV0LgorLklQICJcZkJcLXBcZlIsIFxmQlwtXC1mb3JjZVwtcHJlZml4XGZSIgorQWRkIGZhY2lsaXR5LCBsZXZlbCBvciB0aW1lc3RhbXAgaW5mb3JtYXRpb24gdG8gZWFjaCBsaW5lIG9mIGEgbXVsdGktbGluZSBtZXNzYWdlLgorLklQICJcZkJcLXJcZlIsIFxmQlwtXC1yYXdcZlIiCitQcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyLCBpLmUuIGRvIG5vdCBzdHJpcCB0aGUgbG9nLWxldmVsIHByZWZpeGVzLgorCitOb3RlIHRoYXQgdGhlIHJlYWwgcmF3IGZvcm1hdCBkZXBlbmRzIG9uIHRoZSBtZXRob2QgaG93CisuQlIgZG1lc2cgKDEpCityZWFkcyBrZXJuZWwgbWVzc2FnZXMuICBUaGUgL2Rldi9rbXNnIGRldmljZSB1c2VzIGEgZGlmZmVyZW50IGZvcm1hdCB0aGFuCisuQlIgc3lzbG9nICgyKS4KK0ZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LAorLkJSIGRtZXNnICgxKQorcmV0dXJucyBkYXRhIGFsd2F5cyBpbiB0aGUKKy5CUiBzeXNsb2cgKDIpCitmb3JtYXQuICBJdCBpcyBwb3NzaWJsZSB0byByZWFkIHRoZSByZWFsIHJhdyBkYXRhIGZyb20gL2Rldi9rbXNnIGJ5LCBmb3IgZXhhbXBsZSwKK3RoZSBjb21tYW5kICdkZCBpZj0vZGV2L2ttc2cgaWZsYWc9bm9uYmxvY2snLgorLklQICJcZkJcLVNcZlIsIFxmQlwtXC1zeXNsb2dcZlIiCitGb3JjZSBcZkJkbWVzZ1xmUiB0byB1c2UgdGhlCisuQlIgc3lzbG9nICgyKQora2VybmVsIGludGVyZmFjZSB0byByZWFkIGtlcm5lbCBtZXNzYWdlcy4gIFRoZSBkZWZhdWx0IGlzIHRvIHVzZSAvZGV2L2ttc2cgcmF0aGVyCit0aGFuCisuQlIgc3lzbG9nICgyKQorc2luY2Uga2VybmVsIDMuNS4wLgorLklQICJcZkJcLXNcZlIsIFxmQlwtXC1idWZmZXJcLXNpemUgXGZJc2l6ZVxmUgorVXNlIGEgYnVmZmVyIG9mCisuSSBzaXplCit0byBxdWVyeSB0aGUga2VybmVsIHJpbmcgYnVmZmVyLiAgVGhpcyBpcyAxNjM5MiBieSBkZWZhdWx0LiAgKFRoZSBkZWZhdWx0CitrZXJuZWwgc3lzbG9nIGJ1ZmZlciBzaXplIHdhcyA0MDk2IGF0IGZpcnN0LCA4MTkyIHNpbmNlIDEuMy41NCwgMTYzODQgc2luY2UKKzIuMS4xMTMuKSAgSWYgeW91IGhhdmUgc2V0IHRoZSBrZXJuZWwgYnVmZmVyIHRvIGJlIGxhcmdlciB0aGFuIHRoZSBkZWZhdWx0LAordGhlbiB0aGlzIG9wdGlvbiBjYW4gYmUgdXNlZCB0byB2aWV3IHRoZSBlbnRpcmUgYnVmZmVyLgorLklQICJcZkJcLVRcZlIsIFxmQlwtXC1jdGltZVxmUiIKK1ByaW50IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcHMuCisuSVAKKy5CIEJlIGF3YXJlIHRoYXQgdGhlIHRpbWVzdGFtcCBjb3VsZCBiZSBpbmFjY3VyYXRlIQorVGhlCisuQiB0aW1lCitzb3VyY2UgdXNlZCBmb3IgdGhlIGxvZ3MgaXMKKy5CIG5vdCB1cGRhdGVkIGFmdGVyCitzeXN0ZW0KKy5CUiBTVVNQRU5EIC8gUkVTVU1FIC4KKy5JUCAiXGZCXC10XGZSLCBcZkJcLVwtbm90aW1lXGZSIgorRG8gbm90IHByaW50IGtlcm5lbCdzIHRpbWVzdGFtcHMuCisuSVAgIlxmQlwtXC10aW1lXC1mb3JtYXRcZlIgXGZJZm9ybWF0XGZSIgorUHJpbnQgdGltZXN0YW1wcyB1c2luZyB0aGUgZ2l2ZW4gXGZJZm9ybWF0XGZSLCB3aGljaCBjYW4gYmUKKy5CUiBjdGltZSAsCisuQlIgcmVsdGltZSAsCisuQiBkZWx0YQorb3IKKy5CUiBpc28gLgorVGhlIGZpcnN0IHRocmVlIGZvcm1hdHMgYXJlIGFsaWFzZXMgb2YgdGhlIHRpbWUtZm9ybWF0LXNwZWNpZmljIG9wdGlvbnMuCitUaGUKKy5CIGlzbworZm9ybWF0IGlzIGEKKy5CIGRtZXNnCitpbXBsZW1lbnRhdGlvbiBvZiB0aGUgSVNPLTg2MDEgdGltZXN0YW1wIGZvcm1hdC4gIFRoZSBwdXJwb3NlIG9mIHRoaXMgZm9ybWF0IGlzCit0byBtYWtlIHRoZSBjb21wYXJpbmcgb2YgdGltZXN0YW1wcyBiZXR3ZWVuIHR3byBzeXN0ZW1zLCBhbmQgYW55IG90aGVyIHBhcnNpbmcsCitlYXN5LiAgVGhlIGRlZmluaXRpb24gb2YgdGhlIFxmQmlzb1xmUiB0aW1lc3RhbXAgaXM6CitZWVlZLU1NLUREPFQ+SEg6TU06U1MsPG1pY3Jvc2Vjb25kcz48LSs+PHRpbWV6b25lIG9mZnNldCBmcm9tIFVUQz4uCisuSVAKK1RoZQorLkIgaXNvCitmb3JtYXQgaGFzIHRoZSBzYW1lIGlzc3VlIGFzCisuQlIgY3RpbWUgOgordGhlIHRpbWUgbWF5IGJlIGluYWNjdXJhdGUgd2hlbiBhIHN5c3RlbSBpcyBzdXNwZW5kZWQgYW5kIHJlc3VtZWQuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC11c2Vyc3BhY2UiCitQcmludCB1c2Vyc3BhY2UgbWVzc2FnZXMuCisuVFAKKy5CUiBcLXcgLCAiIFwtXC1mb2xsb3ciCitXYWl0IGZvciBuZXcgbWVzc2FnZXMuICBUaGlzIGZlYXR1cmUgaXMgc3VwcG9ydGVkIG9ubHkgb24gc3lzdGVtcyB3aXRoCithIHJlYWRhYmxlIC9kZXYva21zZyAoc2luY2Uga2VybmVsIDMuNS4wKS4KKy5UUAorLkJSIFwteCAsICIgXC1cLWRlY29kZSIKK0RlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgKHByaW9yaXR5KSBudW1iZXJzIHRvIGh1bWFuLXJlYWRhYmxlIHByZWZpeGVzLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBDT0xPUlMKK0ltcGxpY2l0IGNvbG9yaW5nIGNhbiBiZSBkaXNhYmxlZCBieSBhbiBlbXB0eSBmaWxlIFxmSS9ldGMvdGVybWluYWwtY29sb3JzLmQvZG1lc2cuZGlzYWJsZVxmUi4KK1NlZQorLkJSIHRlcm1pbmFsLWNvbG9ycy5kICg1KQorZm9yIG1vcmUgZGV0YWlscyBhYm91dCBjb2xvcml6YXRpb24gY29uZmlndXJhdGlvbi4KKy5QUAorVGhlIGxvZ2ljYWwgY29sb3IgbmFtZXMgc3VwcG9ydGVkIGJ5CisuQiBkbWVzZworYXJlOgorLlRQCisuQiBzdWJzeXMKK1RoZSBtZXNzYWdlIHN1Yi1zeXN0ZW0gcHJlZml4IChlLmcuICJBQ1BJOiIpLgorLlRQCisuQiB0aW1lCitUaGUgbWVzc2FnZSB0aW1lc3RhbXAuCisuVFAKKy5CIHRpbWVicmVhaworVGhlIG1lc3NhZ2UgdGltZXN0YW1wIGluIHNob3J0IGN0aW1lIGZvcm1hdCBpbiBcZkJcLVwtcmVsdGltZVxmUiAKK29yIFxmQlwtXC1odW1hblxmUiBvdXRwdXQuCisuVFAKKy5CIGFsZXJ0CitUaGUgdGV4dCBvZiB0aGUgbWVzc2FnZSB3aXRoIHRoZSBhbGVydCBsb2cgcHJpb3JpdHkuCisuVFAKKy5CIGNyaXQKK1RoZSB0ZXh0IG9mIHRoZSBtZXNzYWdlIHdpdGggdGhlIGNyaXRpY2FsIGxvZyBwcmlvcml0eS4KKy5UUAorLkIgZXJyCitUaGUgdGV4dCBvZiB0aGUgbWVzc2FnZSB3aXRoIHRoZSBlcnJvciBsb2cgcHJpb3JpdHkuCisuVFAKKy5CIHdhcm4KK1RoZSB0ZXh0IG9mIHRoZSBtZXNzYWdlIHdpdGggdGhlIHdhcm5pbmcgbG9nIHByaW9yaXR5LgorLlRQCisuQiBzZWdmYXVsdAorVGhlIHRleHQgb2YgdGhlIG1lc3NhZ2UgdGhhdCBpbmZvcm0gYWJvdXQgc2VnbWVudGF0aW9uIGZhdWx0LgorLlNIIEVYSVQgU1RBVFVTCisuQiBkbWVzZworY2FuIGZhaWwgcmVwb3J0aW5nIHBlcm1pc3Npb24gZGVuaWVkIGVycm9yLiAgVGhpcyBpcyB1c3VhbGx5IGNhdXNlZCBieQorLkIgZG1lc2dfcmVzdHJpY3QKK2tlcm5lbCBzZXR0aW5nLCBwbGVhc2Ugc2VlCisuQlIgc3lzbG9nICgyKQorZm9yIG1vcmUgZGV0YWlscy4KKy5TSCBTRUUgQUxTTworLkJSIHRlcm1pbmFsLWNvbG9ycy5kICg1KSwKKy5CUiBzeXNsb2dkICg4KQorLlNIIEFVVEhPUlMKKy5NVCBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLk1FCisKKy5icgorLkIgZG1lc2cKK3dhcyBvcmlnaW5hbGx5IHdyaXR0ZW4gYnkKKy5NVCB0eXRzb0BhdGhlbmEubWl0LmVkdQorVGhlb2RvcmUgVHMnbworLk1FCisuU0ggQVZBSUxBQklMSVRZCitUaGUgZG1lc2cgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9kbWVzZy5jIGIvc3lzLXV0aWxzL2RtZXNnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmE0ZTIyNQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9kbWVzZy5jCkBAIC0wLDAgKzEsMTU0NyBAQAorLyoKKyAqIGRtZXNnLmMgLS0gUHJpbnQgb3V0IHRoZSBjb250ZW50cyBvZiB0aGUga2VybmVsIHJpbmcgYnVmZmVyCisgKgorICogQ29weXJpZ2h0IChDKSAxOTkzIFRoZW9kb3JlIFRzJ28gPHR5dHNvQGF0aGVuYS5taXQuZWR1PgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBjb21lcyB3aXRoIEFCU09MVVRFTFkgTk8gV0FSUkFOVFkuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9rbG9nLmg+CisjaW5jbHVkZSA8c3lzL3N5c2xvZy5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3N5c2luZm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzeXMvbW1hbi5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInRpbWV1dGlscy5oIgorI2luY2x1ZGUgIm1vbm90b25pYy5oIgorI2luY2x1ZGUgIm1hbmdsZS5oIgorI2luY2x1ZGUgInBhZ2VyLmgiCisKKy8qIENsb3NlIHRoZSBsb2cuICBDdXJyZW50bHkgYSBOT1AuICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fQ0xPU0UgICAgICAgICAgMAorLyogT3BlbiB0aGUgbG9nLiBDdXJyZW50bHkgYSBOT1AuICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fT1BFTiAgICAgICAgICAgMQorLyogUmVhZCBmcm9tIHRoZSBsb2cuICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fUkVBRCAgICAgICAgICAgMgorLyogUmVhZCBhbGwgbWVzc2FnZXMgcmVtYWluaW5nIGluIHRoZSByaW5nIGJ1ZmZlci4gKGFsbG93ZWQgZm9yIG5vbi1yb290KSAqLworI2RlZmluZSBTWVNMT0dfQUNUSU9OX1JFQURfQUxMICAgICAgIDMKKy8qIFJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlcyByZW1haW5pbmcgaW4gdGhlIHJpbmcgYnVmZmVyICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fUkVBRF9DTEVBUiAgICAgNAorLyogQ2xlYXIgcmluZyBidWZmZXIuICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fQ0xFQVIgICAgICAgICAgNQorLyogRGlzYWJsZSBwcmludGsncyB0byBjb25zb2xlICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fQ09OU09MRV9PRkYgICAgNgorLyogRW5hYmxlIHByaW50aydzIHRvIGNvbnNvbGUgKi8KKyNkZWZpbmUgU1lTTE9HX0FDVElPTl9DT05TT0xFX09OICAgICA3CisvKiBTZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fQ09OU09MRV9MRVZFTCAgOAorLyogUmV0dXJuIG51bWJlciBvZiB1bnJlYWQgY2hhcmFjdGVycyBpbiB0aGUgbG9nIGJ1ZmZlciAqLworI2RlZmluZSBTWVNMT0dfQUNUSU9OX1NJWkVfVU5SRUFEICAgIDkKKy8qIFJldHVybiBzaXplIG9mIHRoZSBsb2cgYnVmZmVyICovCisjZGVmaW5lIFNZU0xPR19BQ1RJT05fU0laRV9CVUZGRVIgICAxMAorCisvKgorICogQ29sb3Igc2NoZW1lCisgKi8KK3N0cnVjdCBkbWVzZ19jb2xvciB7CisJY29uc3QgY2hhciAqc2NoZW1lOwkvKiBuYW1lIHVzZWQgaW4gdGVybWluYS1jb2xvcnMuZC9kbWVzZy5zY2hlbWUgKi8KKwljb25zdCBjaGFyICpkZmx0OwkvKiBkZWZhdWx0IGNvbG9yIEVTQyBzZXF1ZW5jZSAqLworfTsKKworZW51bSB7CisJRE1FU0dfQ09MT1JfU1VCU1lTLAorCURNRVNHX0NPTE9SX1RJTUUsCisJRE1FU0dfQ09MT1JfVElNRUJSRUFLLAorCURNRVNHX0NPTE9SX0FMRVJULAorCURNRVNHX0NPTE9SX0NSSVQsCisJRE1FU0dfQ09MT1JfRVJSLAorCURNRVNHX0NPTE9SX1dBUk4sCisJRE1FU0dfQ09MT1JfU0VHRkFVTFQKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZG1lc2dfY29sb3IgY29sb3JzW10gPQoreworCVtETUVTR19DT0xPUl9TVUJTWVNdICAgID0geyAic3Vic3lzIiwJVUxfQ09MT1JfQlJPV04gfSwKKwlbRE1FU0dfQ09MT1JfVElNRV0JPSB7ICJ0aW1lIiwgICAgIFVMX0NPTE9SX0dSRUVOIH0sCisJW0RNRVNHX0NPTE9SX1RJTUVCUkVBS10JPSB7ICJ0aW1lYnJlYWsiLFVMX0NPTE9SX0dSRUVOIFVMX0NPTE9SX0JPTEQgfSwKKwlbRE1FU0dfQ09MT1JfQUxFUlRdCT0geyAiYWxlcnQiLCAgICBVTF9DT0xPUl9SRVZFUlNFIFVMX0NPTE9SX1JFRCB9LAorCVtETUVTR19DT0xPUl9DUklUXQk9IHsgImNyaXQiLCAgICAgVUxfQ09MT1JfQk9MRCBVTF9DT0xPUl9SRUQgfSwKKwlbRE1FU0dfQ09MT1JfRVJSXSAgICAgICA9IHsgImVyciIsICAgICAgVUxfQ09MT1JfUkVEIH0sCisJW0RNRVNHX0NPTE9SX1dBUk5dCT0geyAid2FybiIsICAgICBVTF9DT0xPUl9CT0xEIH0sCisJW0RNRVNHX0NPTE9SX1NFR0ZBVUxUXQk9IHsgInNlZ2ZhdWx0IiwgVUxfQ09MT1JfSEFMRkJSSUdIVCBVTF9DT0xPUl9SRUQgfQorfTsKKworI2RlZmluZSBkbWVzZ19lbmFibGVfY29sb3IoX2lkKSBcCisJCWNvbG9yX3NjaGVtZV9lbmFibGUoY29sb3JzW19pZF0uc2NoZW1lLCBjb2xvcnNbX2lkXS5kZmx0KTsKKworLyoKKyAqIFByaW9yaXR5IGFuZCBmYWNpbGl0eSBuYW1lcworICovCitzdHJ1Y3QgZG1lc2dfbmFtZSB7CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpoZWxwOworfTsKKworLyoKKyAqIFByaW9yaXR5IG5hbWVzIC0tIGJhc2VkIG9uIHN5cy9zeXNsb2cuaAorICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGRtZXNnX25hbWUgbGV2ZWxfbmFtZXNbXSA9Cit7CisJW0xPR19FTUVSR10gICA9IHsgImVtZXJnIiwgTl8oInN5c3RlbSBpcyB1bnVzYWJsZSIpIH0sCisJW0xPR19BTEVSVF0gICA9IHsgImFsZXJ0IiwgTl8oImFjdGlvbiBtdXN0IGJlIHRha2VuIGltbWVkaWF0ZWx5IikgfSwKKwlbTE9HX0NSSVRdICAgID0geyAiY3JpdCIsICBOXygiY3JpdGljYWwgY29uZGl0aW9ucyIpIH0sCisJW0xPR19FUlJdICAgICA9IHsgImVyciIsICAgTl8oImVycm9yIGNvbmRpdGlvbnMiKSB9LAorCVtMT0dfV0FSTklOR10gPSB7ICJ3YXJuIiwgIE5fKCJ3YXJuaW5nIGNvbmRpdGlvbnMiKSB9LAorCVtMT0dfTk9USUNFXSAgPSB7ICJub3RpY2UiLE5fKCJub3JtYWwgYnV0IHNpZ25pZmljYW50IGNvbmRpdGlvbiIpIH0sCisJW0xPR19JTkZPXSAgICA9IHsgImluZm8iLCAgTl8oImluZm9ybWF0aW9uYWwiKSB9LAorCVtMT0dfREVCVUddICAgPSB7ICJkZWJ1ZyIsIE5fKCJkZWJ1Zy1sZXZlbCBtZXNzYWdlcyIpIH0KK307CisKKy8qCisgKiBzeXMvc3lzbG9nLmggdXNlcyAoZiA8PCAzKSBmb3IgYWxsIGZhY2lsaXR5IGNvZGVzLgorICogV2Ugd2FudCB0byB1c2UgdGhlIGNvZGVzIGFzIGFycmF5IGluZGV4ZXMsIHNvIHNoaWZ0IGJhY2suLi4KKyAqCisgKiBOb3RlIHRoYXQgbGliYyBMT0dfRkFDKCkgbWFjcm8gcmV0dXJucyB0aGUgYmFzZSBjb2Rlcywgbm90IHRoZQorICogc2hpZnRlZCBjb2RlIDotKQorICovCisjZGVmaW5lIEZBQ19CQVNFKGYpCSgoZikgPj4gMykKKworc3RhdGljIGNvbnN0IHN0cnVjdCBkbWVzZ19uYW1lIGZhY2lsaXR5X25hbWVzW10gPQoreworCVtGQUNfQkFTRShMT0dfS0VSTildICAgICA9IHsgImtlcm4iLCAgICAgTl8oImtlcm5lbCBtZXNzYWdlcyIpIH0sCisJW0ZBQ19CQVNFKExPR19VU0VSKV0gICAgID0geyAidXNlciIsICAgICBOXygicmFuZG9tIHVzZXItbGV2ZWwgbWVzc2FnZXMiKSB9LAorCVtGQUNfQkFTRShMT0dfTUFJTCldICAgICA9IHsgIm1haWwiLCAgICAgTl8oIm1haWwgc3lzdGVtIikgfSwKKwlbRkFDX0JBU0UoTE9HX0RBRU1PTildICAgPSB7ICJkYWVtb24iLCAgIE5fKCJzeXN0ZW0gZGFlbW9ucyIpIH0sCisJW0ZBQ19CQVNFKExPR19BVVRIKV0gICAgID0geyAiYXV0aCIsICAgICBOXygic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyIpIH0sCisJW0ZBQ19CQVNFKExPR19TWVNMT0cpXSAgID0geyAic3lzbG9nIiwgICBOXygibWVzc2FnZXMgZ2VuZXJhdGVkIGludGVybmFsbHkgYnkgc3lzbG9nZCIpIH0sCisJW0ZBQ19CQVNFKExPR19MUFIpXSAgICAgID0geyAibHByIiwgICAgICBOXygibGluZSBwcmludGVyIHN1YnN5c3RlbSIpIH0sCisJW0ZBQ19CQVNFKExPR19ORVdTKV0gICAgID0geyAibmV3cyIsICAgICBOXygibmV0d29yayBuZXdzIHN1YnN5c3RlbSIpIH0sCisJW0ZBQ19CQVNFKExPR19VVUNQKV0gICAgID0geyAidXVjcCIsICAgICBOXygiVVVDUCBzdWJzeXN0ZW0iKSB9LAorCVtGQUNfQkFTRShMT0dfQ1JPTildICAgICA9IHsgImNyb24iLCAgICAgTl8oImNsb2NrIGRhZW1vbiIpIH0sCisJW0ZBQ19CQVNFKExPR19BVVRIUFJJVildID0geyAiYXV0aHByaXYiLCBOXygic2VjdXJpdHkvYXV0aG9yaXphdGlvbiBtZXNzYWdlcyAocHJpdmF0ZSkiKSB9LAorCVtGQUNfQkFTRShMT0dfRlRQKV0gICAgICA9IHsgImZ0cCIsICAgICAgTl8oIkZUUCBkYWVtb24iKSB9LAorfTsKKworLyogc3VwcG9ydGVkIG1ldGhvZHMgdG8gcmVhZCBtZXNzYWdlIGJ1ZmZlcgorICovCitlbnVtIHsKKwlETUVTR19NRVRIT0RfS01TRywJLyogcmVhZCBtZXNzYWdlcyBmcm9tIC9kZXYva21zZyAoZGVmYXVsdCkgKi8KKwlETUVTR19NRVRIT0RfU1lTTE9HLAkvKiBrbG9nY3RsKCkgYnVmZmVyICovCisJRE1FU0dfTUVUSE9EX01NQVAJLyogbW1hcCBmaWxlIHdpdGggcmVjb3JkcyAoc2VlIC0tZmlsZSkgKi8KK307CisKK2VudW0geworCURNRVNHX1RJTUVGVE1fTk9ORSA9IDAsCisJRE1FU0dfVElNRUZUTV9DVElNRSwJCS8qIFtjdGltZV0gKi8KKwlETUVTR19USU1FRlRNX0NUSU1FX0RFTFRBLAkvKiBbY3RpbWUgPGRlbHRhPl0gKi8KKwlETUVTR19USU1FRlRNX0RFTFRBLAkJLyogWzxkZWx0YT5dICovCisJRE1FU0dfVElNRUZUTV9SRUxUSU1FLAkJLyogW3JlbGF0aXZlXSAqLworCURNRVNHX1RJTUVGVE1fVElNRSwJCS8qIFt0aW1lXSAqLworCURNRVNHX1RJTUVGVE1fVElNRV9ERUxUQSwJLyogW3RpbWUgPGRlbHRhPl0gKi8KKwlETUVTR19USU1FRlRNX0lTTzg2MDEJCS8qIDIwMTMtMDYtMTNUMjI6MTE6MDAsMTIzNDU2KzAxMDAgKi8KK307CisjZGVmaW5lIGlzX3RpbWVmbXQoYywgZikgKChjKS0+dGltZV9mbXQgPT0gKERNRVNHX1RJTUVGVE1fICMjZikpCisKK3N0cnVjdCBkbWVzZ19jb250cm9sIHsKKwkvKiBiaXQgYXJyYXlzIC0tIHNlZSBpbmNsdWRlL2JpdG9wcy5oICovCisJY2hhciBsZXZlbHNbQVJSQVlfU0laRShsZXZlbF9uYW1lcykgLyBOQkJZICsgMV07CisJY2hhciBmYWNpbGl0aWVzW0FSUkFZX1NJWkUoZmFjaWxpdHlfbmFtZXMpIC8gTkJCWSArIDFdOworCisJc3RydWN0IHRpbWV2YWwJbGFzdHRpbWU7CS8qIGxhc3QgcHJpbnRlZCB0aW1lc3RhbXAgKi8KKwlzdHJ1Y3QgdG0JbGFzdHRtOwkJLyogbGFzdCBsb2NhbHRpbWUgKi8KKwlzdHJ1Y3QgdGltZXZhbAlib290X3RpbWU7CS8qIHN5c3RlbSBib290IHRpbWUgKi8KKworCWludAkJYWN0aW9uOwkJLyogU1lTTE9HX0FDVElPTl8qICovCisJaW50CQltZXRob2Q7CQkvKiBETUVTR19NRVRIT0RfKiAqLworCisJc2l6ZV90CQlidWZzaXplOwkvKiBzaXplIG9mIHN5c2xvZyBidWZmZXIgKi8KKworCWludAkJa21zZzsJCS8qIC9kZXYva21zZyBmaWxlIGRlc2NyaXB0b3IgKi8KKwlzc2l6ZV90CQlrbXNnX2ZpcnN0X3JlYWQ7LyogaW5pdGlhbCByZWFkKCkgcmV0dXJuIGNvZGUgKi8KKwljaGFyCQlrbXNnX2J1ZltCVUZTSVpdOy8qIGJ1ZmZlciB0byByZWFkIGttc2cgZGF0YSAqLworCisJLyoKKwkgKiBGb3IgdGhlIC0tZmlsZSBvcHRpb24gd2UgbW1hcCB3aG9sZSBmaWxlLiBUaGUgdW5uZWNlc3NhcnkgKGFscmVhZHkKKwkgKiBwcmludGVkKSBwYWdlcyBhcmUgYWx3YXlzIHVubWFwcGVkLiBUaGUgcmVzdWx0IGlzIHRoYXQgd2UgaGF2ZSBpbgorCSAqIG1lbW9yeSBvbmx5IHRoZSBjdXJyZW50bHkgdXNlZCBwYWdlKHMpLgorCSAqLworCWNoYXIJCSpmaWxlbmFtZTsKKwljaGFyCQkqbW1hcF9idWZmOworCXNpemVfdAkJcGFnZXNpemU7CisJdW5zaWduZWQgaW50CXRpbWVfZm10OwkvKiB0aW1lIGZvcm1hdCAqLworCisJdW5zaWduZWQgaW50CWZvbGxvdzoxLAkvKiB3YWl0IGZvciBuZXcgbWVzc2FnZXMgKi8KKwkJCXJhdzoxLAkJLyogcmF3IG1vZGUgKi8KKwkJCWZsdHJfbGV2OjEsCS8qIGZpbHRlciBvdXQgYnkgbGV2ZWxzW10gKi8KKwkJCWZsdHJfZmFjOjEsCS8qIGZpbHRlciBvdXQgYnkgZmFjaWxpdGllc1tdICovCisJCQlkZWNvZGU6MSwJLyogdXNlICJmYWNpbGl0eTogbGV2ZWw6ICIgcHJlZml4ICovCisJCQlwYWdlcjoxLAkvKiBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXIgKi8KKwkJCWNvbG9yOjEsCS8qIGNvbG9yaXplIG1lc3NhZ2VzICovCisJCQlmb3JjZV9wcmVmaXg6MTsJLyogZm9yY2UgdGltZXN0YW1wIGFuZCBkZWNvZGUgcHJlZml4CisJCQkJCSAgIG9uIGVhY2ggbGluZSAqLworCWludAkJaW5kZW50OwkJLyogZHVlIHRvIHRpbWVzdGFtcHMgaWYgbmV3bGluZSAqLworfTsKKworc3RydWN0IGRtZXNnX3JlY29yZCB7CisJY29uc3QgY2hhcgkqbWVzZzsKKwlzaXplX3QJCW1lc2dfc2l6ZTsKKworCWludAkJbGV2ZWw7CisJaW50CQlmYWNpbGl0eTsKKwlzdHJ1Y3QgdGltZXZhbCAgdHY7CisKKwljb25zdCBjaGFyCSpuZXh0OwkJLyogYnVmZmVyIHdpdGggbmV4dCB1bnBhcnNlZCByZWNvcmQgKi8KKwlzaXplX3QJCW5leHRfc2l6ZTsJLyogc2l6ZSBvZiB0aGUgbmV4dCBidWZmZXIgKi8KK307CisKKyNkZWZpbmUgSU5JVF9ETUVTR19SRUNPUkQoX3IpICBkbyB7IFwKKwkJKF9yKS0+bWVzZyA9IE5VTEw7IFwKKwkJKF9yKS0+bWVzZ19zaXplID0gMDsgXAorCQkoX3IpLT5mYWNpbGl0eSA9IC0xOyBcCisJCShfciktPmxldmVsID0gLTE7IFwKKwkJKF9yKS0+dHYudHZfc2VjID0gMDsgXAorCQkoX3IpLT50di50dl91c2VjID0gMDsgXAorCX0gd2hpbGUgKDApCisKK3N0YXRpYyBpbnQgcmVhZF9rbXNnKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwpOworCitzdGF0aWMgaW50IHNldF9sZXZlbF9jb2xvcihpbnQgbG9nX2xldmVsLCBjb25zdCBjaGFyICptZXNnLCBzaXplX3QgbWVzZ3N6KQoreworCWludCBpZCA9IC0xOworCisJc3dpdGNoIChsb2dfbGV2ZWwpIHsKKwljYXNlIExPR19BTEVSVDoKKwkJaWQgPSBETUVTR19DT0xPUl9BTEVSVDsKKwkJYnJlYWs7CisJY2FzZSBMT0dfQ1JJVDoKKwkJaWQgPSBETUVTR19DT0xPUl9DUklUOworCQlicmVhazsKKwljYXNlIExPR19FUlI6CisJCWlkID0gRE1FU0dfQ09MT1JfRVJSOworCQlicmVhazsKKwljYXNlIExPR19XQVJOSU5HOgorCQlpZCA9IERNRVNHX0NPTE9SX1dBUk47CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKworCS8qIHdlbGwsIHNvbWV0aW1lcyB0aGUgbWVzc2FnZXMgY29udGFpbnMgaW1wb3J0YW50IGtleXdvcmRzLCBidXQgaW4KKwkgKiBub24td2FybmluZy9lcnJvciBtZXNzYWdlcworCSAqLworCWlmIChpZCA8IDAgJiYgbWVtbWVtKG1lc2csIG1lc2dzeiwgInNlZ2ZhdWx0IGF0IiwgMTEpKQorCQlpZCA9IERNRVNHX0NPTE9SX1NFR0ZBVUxUOworCisJaWYgKGlkID49IDApCisJCWRtZXNnX2VuYWJsZV9jb2xvcihpZCk7CisKKwlyZXR1cm4gaWQgPj0gMCA/IDAgOiAtMTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRGlzcGxheSBvciBjb250cm9sIHRoZSBrZXJuZWwgcmluZyBidWZmZXIuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1DLCAtLWNsZWFyICAgICAgICAgICAgICAgICBjbGVhciB0aGUga2VybmVsIHJpbmcgYnVmZmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tcmVhZC1jbGVhciAgICAgICAgICAgIHJlYWQgYW5kIGNsZWFyIGFsbCBtZXNzYWdlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1ELCAtLWNvbnNvbGUtb2ZmICAgICAgICAgICBkaXNhYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRSwgLS1jb25zb2xlLW9uICAgICAgICAgICAgZW5hYmxlIHByaW50aW5nIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtRiwgLS1maWxlIDxmaWxlPiAgICAgICAgICAgdXNlIHRoZSBmaWxlIGluc3RlYWQgb2YgdGhlIGtlcm5lbCBsb2cgYnVmZmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZmFjaWxpdHkgPGxpc3Q+ICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGZhY2lsaXRpZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSCwgLS1odW1hbiAgICAgICAgICAgICAgICAgaHVtYW4gcmVhZGFibGUgb3V0cHV0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWssIC0ta2VybmVsICAgICAgICAgICAgICAgIGRpc3BsYXkga2VybmVsIG1lc3NhZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tY29sb3JbPTx3aGVuPl0gICAgICAgIGNvbG9yaXplIG1lc3NhZ2VzIChhdXRvLCBhbHdheXMgb3IgbmV2ZXIpXG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX0NPTE9SU19ERUZBVUxUKTsKKwlmcHV0cyhfKCIgLWwsIC0tbGV2ZWwgPGxpc3Q+ICAgICAgICAgIHJlc3RyaWN0IG91dHB1dCB0byBkZWZpbmVkIGxldmVsc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLWNvbnNvbGUtbGV2ZWwgPGxldmVsPiBzZXQgbGV2ZWwgb2YgbWVzc2FnZXMgcHJpbnRlZCB0byBjb25zb2xlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAsIC0tbm9wYWdlciAgICAgICAgICAgICAgIGRvIG5vdCBwaXBlIG91dHB1dCBpbnRvIGEgcGFnZXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1mb3JjZS1wcmVmaXggICAgICAgICAgZm9yY2UgdGltZXN0YW1wIG91dHB1dCBvbiBlYWNoIGxpbmUgb2YgbXVsdGktbGluZSBtZXNzYWdlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICAgICBwcmludCB0aGUgcmF3IG1lc3NhZ2UgYnVmZmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMsIC0tc3lzbG9nICAgICAgICAgICAgICAgIGZvcmNlIHRvIHVzZSBzeXNsb2coMikgcmF0aGVyIHRoYW4gL2Rldi9rbXNnXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tYnVmZmVyLXNpemUgPHNpemU+ICAgIGJ1ZmZlciBzaXplIHRvIHF1ZXJ5IHRoZSBrZXJuZWwgcmluZyBidWZmZXJcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSwgLS11c2Vyc3BhY2UgICAgICAgICAgICAgZGlzcGxheSB1c2Vyc3BhY2UgbWVzc2FnZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdywgLS1mb2xsb3cgICAgICAgICAgICAgICAgd2FpdCBmb3IgbmV3IG1lc3NhZ2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXgsIC0tZGVjb2RlICAgICAgICAgICAgICAgIGRlY29kZSBmYWNpbGl0eSBhbmQgbGV2ZWwgdG8gcmVhZGFibGUgc3RyaW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tc2hvdy1kZWx0YSAgICAgICAgICAgIHNob3cgdGltZSBkZWx0YSBiZXR3ZWVuIHByaW50ZWQgbWVzc2FnZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZSwgLS1yZWx0aW1lICAgICAgICAgICAgICAgc2hvdyBsb2NhbCB0aW1lIGFuZCB0aW1lIGRlbHRhIGluIHJlYWRhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1ULCAtLWN0aW1lICAgICAgICAgICAgICAgICBzaG93IGh1bWFuLXJlYWRhYmxlIHRpbWVzdGFtcCAobWF5IGJlIGluYWNjdXJhdGUhKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLW5vdGltZSAgICAgICAgICAgICAgICBkb24ndCBzaG93IGFueSB0aW1lc3RhbXAgd2l0aCBtZXNzYWdlc1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXRpbWUtZm9ybWF0IDxmb3JtYXQ+ICBzaG93IHRpbWVzdGFtcCB1c2luZyB0aGUgZ2l2ZW4gZm9ybWF0OlxuIgorCQkiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtkZWx0YXxyZWx0aW1lfGN0aW1lfG5vdGltZXxpc29dXG4iCisJCSJTdXNwZW5kaW5nL3Jlc3VtZSB3aWxsIG1ha2UgY3RpbWUgYW5kIGlzbyB0aW1lc3RhbXBzIGluYWNjdXJhdGUuXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyOSkpOworCWZwdXRzKF8oIlxuU3VwcG9ydGVkIGxvZyBmYWNpbGl0aWVzOlxuIiksIG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUobGV2ZWxfbmFtZXMpOyBpKyspCisJCWZwcmludGYob3V0LCAiICU3cyAtICVzXG4iLAorCQkJZmFjaWxpdHlfbmFtZXNbaV0ubmFtZSwKKwkJCV8oZmFjaWxpdHlfbmFtZXNbaV0uaGVscCkpOworCisJZnB1dHMoXygiXG5TdXBwb3J0ZWQgbG9nIGxldmVscyAocHJpb3JpdGllcyk6XG4iKSwgb3V0KTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShsZXZlbF9uYW1lcyk7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTdzIC0gJXNcbiIsCisJCQlsZXZlbF9uYW1lc1tpXS5uYW1lLAorCQkJXyhsZXZlbF9uYW1lc1tpXS5oZWxwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImRtZXNnKDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworLyoKKyAqIExFVkVMICAgICA6Oj0gPG51bWJlcj4gfCA8bmFtZT4KKyAqICA8bnVtYmVyPiA6Oj0gQGxlbiBpcyBzZXQ6ICBudW1iZXIgaW4gcmFuZ2UgPDAuLk4+LCB3aGVyZSBOIDwgQVJSQVlfU0laRShsZXZlbF9uYW1lcykKKyAqICAgICAgICAgICA6Oj0gQGxlbiBub3Qgc2V0OiBudW1iZXIgaW4gcmFuZ2UgPDEuLk4+LCB3aGVyZSBOIDw9IEFSUkFZX1NJWkUobGV2ZWxfbmFtZXMpCisgKiAgPG5hbWU+ICAgOjo9IGNhc2UtaW5zZW5zaXRpdmUgdGV4dAorICoKKyAqICBOb3RlIHRoYXQgQGxlbiBhcmd1bWVudCBpcyBub3Qgc2V0IHdoZW4gcGFyc2luZyAiLW4gPGxldmVsPiIgY29tbWFuZCBsaW5lCisgKiAgb3B0aW9uLiBUaGUgY29uc29sZV9sZXZlbCBpcyBpbnRlcnByZXRlZCBhcyAibG9nIGxldmVsIGxlc3MgdGhhbiB0aGUgdmFsdWUiLgorICoKKyAqICBGb3IgZXhhbXBsZSAiZG1lc2cgLW4gOCIgb3IgImRtZXNnIC1uIGRlYnVnIiBlbmFibGVzIGRlYnVnIGNvbnNvbGUgbG9nCisgKiAgbGV2ZWwgYnkga2xvZ2N0bChTWVNMT0dfQUNUSU9OX0NPTlNPTEVfTEVWRUwsIE5VTEwsIDgpLiBUaGUgQHN0ciBhcmd1bWVudAorICogIGhhcyB0byBiZSBwYXJzZWQgdG8gbnVtYmVyIGluIHJhbmdlIDwxLi44Pi4KKyAqLworc3RhdGljIGludCBwYXJzZV9sZXZlbChjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCit7CisJaW50IG9mZnNldCA9IDA7CisKKwlpZiAoIXN0cikKKwkJcmV0dXJuIC0xOworCWlmICghbGVuKSB7CisJCWxlbiA9IHN0cmxlbihzdHIpOworCQlvZmZzZXQgPSAxOworCX0KKwllcnJubyA9IDA7CisKKwlpZiAoaXNkaWdpdCgqc3RyKSkgeworCQljaGFyICplbmQgPSBOVUxMOworCQlsb25nIHggPSBzdHJ0b2woc3RyLCAmZW5kLCAxMCkgLSBvZmZzZXQ7CisKKwkJaWYgKCFlcnJubyAmJiBlbmQgJiYgZW5kID4gc3RyICYmIChzaXplX3QpIChlbmQgLSBzdHIpID09IGxlbiAmJgorCQkgICAgeCA+PSAwICYmIChzaXplX3QpIHggPCBBUlJBWV9TSVpFKGxldmVsX25hbWVzKSkKKwkJCXJldHVybiB4ICsgb2Zmc2V0OworCX0gZWxzZSB7CisJCXNpemVfdCBpOworCisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGxldmVsX25hbWVzKTsgaSsrKSB7CisJCQljb25zdCBjaGFyICpuID0gbGV2ZWxfbmFtZXNbaV0ubmFtZTsKKworCQkJaWYgKHN0cm5jYXNlY21wKHN0ciwgbiwgbGVuKSA9PSAwICYmICoobiArIGxlbikgPT0gJ1wwJykKKwkJCQlyZXR1cm4gaSArIG9mZnNldDsKKwkJfQorCX0KKworCWlmIChlcnJubykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHBhcnNlIGxldmVsICclcyciKSwgc3RyKTsKKworCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIGxldmVsICclcyciKSwgc3RyKTsKKwlyZXR1cm4gLTE7Cit9CisKKy8qCisgKiBGQUNJTElUWSAgOjo9IDxudW1iZXI+IHwgPG5hbWU+CisgKiAgPG51bWJlcj4gOjo9IG51bWJlciBpbiByYW5nZSA8MC4uTj4sIHdoZXJlIE4gPCBBUlJBWV9TSVpFKGZhY2lsaXR5X25hbWVzKQorICogIDxuYW1lPiAgIDo6PSBjYXNlLWluc2Vuc2l0aXZlIHRleHQKKyAqLworc3RhdGljIGludCBwYXJzZV9mYWNpbGl0eShjb25zdCBjaGFyICpzdHIsIHNpemVfdCBsZW4pCit7CisJaWYgKCFzdHIpCisJCXJldHVybiAtMTsKKwlpZiAoIWxlbikKKwkJbGVuID0gc3RybGVuKHN0cik7CisJZXJybm8gPSAwOworCisJaWYgKGlzZGlnaXQoKnN0cikpIHsKKwkJY2hhciAqZW5kID0gTlVMTDsKKwkJbG9uZyB4ID0gc3RydG9sKHN0ciwgJmVuZCwgMTApOworCisJCWlmICghZXJybm8gJiYgZW5kICYmIGVuZCA+IHN0ciAmJiAoc2l6ZV90KSAoZW5kIC0gc3RyKSA9PSBsZW4gJiYKKwkJICAgIHggPj0gMCAmJiAoc2l6ZV90KSB4IDwgQVJSQVlfU0laRShmYWNpbGl0eV9uYW1lcykpCisJCQlyZXR1cm4geDsKKwl9IGVsc2UgeworCQlzaXplX3QgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShmYWNpbGl0eV9uYW1lcyk7IGkrKykgeworCQkJY29uc3QgY2hhciAqbiA9IGZhY2lsaXR5X25hbWVzW2ldLm5hbWU7CisKKwkJCWlmIChzdHJuY2FzZWNtcChzdHIsIG4sIGxlbikgPT0gMCAmJiAqKG4gKyBsZW4pID09ICdcMCcpCisJCQkJcmV0dXJuIGk7CisJCX0KKwl9CisKKwlpZiAoZXJybm8pCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSBmYWNpbGl0eSAnJXMnIiksIHN0cik7CisKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5rbm93biBmYWNpbGl0eSAnJXMnIiksIHN0cik7CisJcmV0dXJuIC0xOworfQorCisvKgorICogUGFyc2VzIG51bWVyaWNhbCBwcmVmaXggdXNlZCBmb3IgYWxsIG1lc3NhZ2VzIGluIGtlcm5lbCByaW5nIGJ1ZmZlci4KKyAqCisgKiBQcmlvcml0aWVzL2ZhY2lsaXRpZXMgYXJlIGVuY29kZWQgaW50byBhIHNpbmdsZSAzMi1iaXQgcXVhbnRpdHksIHdoZXJlIHRoZQorICogYm90dG9tIDMgYml0cyBhcmUgdGhlIHByaW9yaXR5ICgwLTcpIGFuZCB0aGUgdG9wIDI4IGJpdHMgYXJlIHRoZSBmYWNpbGl0eQorICogKDAtYmlnIG51bWJlcikuCisgKgorICogTm90ZSB0aGF0IHRoZSBudW1iZXIgaGFzIHRvIGVuZCB3aXRoICc+JyBvciAnLCcgY2hhci4KKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKnBhcnNlX2ZhY2xldihjb25zdCBjaGFyICpzdHIsIGludCAqZmFjLCBpbnQgKmxldikKK3sKKwlsb25nIG51bTsKKwljaGFyICplbmQgPSBOVUxMOworCisJaWYgKCFzdHIpCisJCXJldHVybiBzdHI7CisKKwllcnJubyA9IDA7CisJbnVtID0gc3RydG9sKHN0ciwgJmVuZCwgMTApOworCisJaWYgKCFlcnJubyAmJiBlbmQgJiYgZW5kID4gc3RyKSB7CisJCSpmYWMgPSBMT0dfRkFDKG51bSk7CisJCSpsZXYgPSBMT0dfUFJJKG51bSk7CisKKwkJaWYgKCpsZXYgPCAwIHx8IChzaXplX3QpICpsZXYgPiBBUlJBWV9TSVpFKGxldmVsX25hbWVzKSkKKwkJCSpsZXYgPSAtMTsKKwkJaWYgKCpmYWMgPCAwIHx8IChzaXplX3QpICpmYWMgPiBBUlJBWV9TSVpFKGZhY2lsaXR5X25hbWVzKSkKKwkJCSpmYWMgPSAtMTsKKwkJcmV0dXJuIGVuZCArIDE7CQkvKiBza2lwICc8JyBvciAnLCcgKi8KKwl9CisKKwlyZXR1cm4gc3RyOworfQorCisvKgorICogUGFyc2VzIHRpbWVzdGFtcCBmcm9tIHN5c2xvZyBtZXNzYWdlIHByZWZpeCwgZXhwZWN0ZWQgZm9ybWF0OgorICoKKyAqCXNlY29uZHMubWljcm9zZWNvbmRzXQorICoKKyAqIHRoZSAnXScgaXMgdGhlIHRpbWVzdGFtcCBmaWVsZCB0ZXJtaW5hdG9yLgorICovCitzdGF0aWMgY29uc3QgY2hhciAqcGFyc2Vfc3lzbG9nX3RpbWVzdGFtcChjb25zdCBjaGFyICpzdHIwLCBzdHJ1Y3QgdGltZXZhbCAqdHYpCit7CisJY29uc3QgY2hhciAqc3RyID0gc3RyMDsKKwljaGFyICplbmQgPSBOVUxMOworCisJaWYgKCFzdHIwKQorCQlyZXR1cm4gc3RyMDsKKworCWVycm5vID0gMDsKKwl0di0+dHZfc2VjID0gc3RydG9sKHN0ciwgJmVuZCwgMTApOworCisJaWYgKCFlcnJubyAmJiBlbmQgJiYgKmVuZCA9PSAnLicgJiYgKihlbmQgKyAxKSkgeworCQlzdHIgPSBlbmQgKyAxOworCQllbmQgPSBOVUxMOworCQl0di0+dHZfdXNlYyA9IHN0cnRvbChzdHIsICZlbmQsIDEwKTsKKwl9CisJaWYgKGVycm5vIHx8ICFlbmQgfHwgZW5kID09IHN0ciB8fCAqZW5kICE9ICddJykKKwkJcmV0dXJuIHN0cjA7CisKKwlyZXR1cm4gZW5kICsgMTsJLyogc2tpcCAnXScgKi8KK30KKworLyoKKyAqIFBhcnNlcyB0aW1lc3RhbXAgZnJvbSAvZGV2L2ttc2csIGV4cGVjdGVkIGZvcm1hdHM6CisgKgorICoJbWljcm9zZWNvbmRzLAorICoJbWljcm9zZWNvbmRzOworICoKKyAqIHRoZSAnLCcgaXMgZmllbGRzIHNlcGFyYXRvcnMgYW5kICc7JyBpdGVtcyB0ZXJtaW5hdG9yIChmb3IgdGhlIGxhc3QgaXRlbSkKKyAqLworc3RhdGljIGNvbnN0IGNoYXIgKnBhcnNlX2ttc2dfdGltZXN0YW1wKGNvbnN0IGNoYXIgKnN0cjAsIHN0cnVjdCB0aW1ldmFsICp0dikKK3sKKwljb25zdCBjaGFyICpzdHIgPSBzdHIwOworCWNoYXIgKmVuZCA9IE5VTEw7CisJdWludDY0X3QgdXNlYzsKKworCWlmICghc3RyMCkKKwkJcmV0dXJuIHN0cjA7CisKKwllcnJubyA9IDA7CisJdXNlYyA9IHN0cnRvdW1heChzdHIsICZlbmQsIDEwKTsKKworCWlmICghZXJybm8gJiYgZW5kICYmICgqZW5kID09ICc7JyB8fCAqZW5kID09ICcsJykpIHsKKwkJdHYtPnR2X3VzZWMgPSB1c2VjICUgMTAwMDAwMDsKKwkJdHYtPnR2X3NlYyA9IHVzZWMgLyAxMDAwMDAwOworCX0gZWxzZQorCQlyZXR1cm4gc3RyMDsKKworCXJldHVybiBlbmQgKyAxOwkvKiBza2lwIHNlcGFyYXRvciAqLworfQorCisKK3N0YXRpYyBkb3VibGUgdGltZV9kaWZmKHN0cnVjdCB0aW1ldmFsICphLCBzdHJ1Y3QgdGltZXZhbCAqYikKK3sKKwlyZXR1cm4gKGEtPnR2X3NlYyAtIGItPnR2X3NlYykgKyAoYS0+dHZfdXNlYyAtIGItPnR2X3VzZWMpIC8gMUU2OworfQorCitzdGF0aWMgaW50IGdldF9zeXNsb2dfYnVmZmVyX3NpemUodm9pZCkKK3sKKwlpbnQgbiA9IGtsb2djdGwoU1lTTE9HX0FDVElPTl9TSVpFX0JVRkZFUiwgTlVMTCwgMCk7CisKKwlyZXR1cm4gbiA+IDAgPyBuIDogMDsKK30KKworLyoKKyAqIFJlYWRzIG1lc3NhZ2VzIGZyb20gcmVndWxhciBmaWxlIGJ5IG1tYXAKKyAqLworc3RhdGljIHNzaXplX3QgbW1hcF9maWxlX2J1ZmZlcihzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsLCBjaGFyICoqYnVmKQoreworCXN0cnVjdCBzdGF0IHN0OworCWludCBmZDsKKworCWlmICghY3RsLT5maWxlbmFtZSkKKwkJcmV0dXJuIC0xOworCisJZmQgPSBvcGVuKGN0bC0+ZmlsZW5hbWUsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBjdGwtPmZpbGVuYW1lKTsKKwlpZiAoZnN0YXQoZmQsICZzdCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGN0bC0+ZmlsZW5hbWUpOworCisJKmJ1ZiA9IG1tYXAoTlVMTCwgc3Quc3Rfc2l6ZSwgUFJPVF9SRUFELCBNQVBfU0hBUkVELCBmZCwgMCk7CisJaWYgKCpidWYgPT0gTUFQX0ZBSUxFRCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG1tYXA6ICVzIiksIGN0bC0+ZmlsZW5hbWUpOworCWN0bC0+bW1hcF9idWZmID0gKmJ1ZjsKKwljdGwtPnBhZ2VzaXplID0gZ2V0cGFnZXNpemUoKTsKKwljbG9zZShmZCk7CisKKwlyZXR1cm4gc3Quc3Rfc2l6ZTsKK30KKworLyoKKyAqIFJlYWRzIG1lc3NhZ2VzIGZyb20ga2VybmVsIHJpbmcgYnVmZmVyIGJ5IGtsb2djdGwoKQorICovCitzdGF0aWMgc3NpemVfdCByZWFkX3N5c2xvZ19idWZmZXIoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwgY2hhciAqKmJ1ZikKK3sKKwlzaXplX3Qgc3o7CisJaW50IHJjID0gLTE7CisKKwlpZiAoY3RsLT5idWZzaXplKSB7CisJCXN6ID0gY3RsLT5idWZzaXplICsgODsKKwkJKmJ1ZiA9IHhtYWxsb2Moc3ogKiBzaXplb2YoY2hhcikpOworCQlyYyA9IGtsb2djdGwoY3RsLT5hY3Rpb24sICpidWYsIHN6KTsKKwl9IGVsc2UgeworCQlzeiA9IDE2MzkyOworCQl3aGlsZSAoMSkgeworCQkJKmJ1ZiA9IHhtYWxsb2Moc3ogKiBzaXplb2YoY2hhcikpOworCQkJcmMgPSBrbG9nY3RsKFNZU0xPR19BQ1RJT05fUkVBRF9BTEwsICpidWYsIHN6KTsKKwkJCWlmIChyYyA8IDApCisJCQkJYnJlYWs7CisJCQlpZiAoKHNpemVfdCkgcmMgIT0gc3ogfHwgc3ogPiAoMSA8PCAyOCkpCisJCQkJYnJlYWs7CisJCQlmcmVlKCpidWYpOworCQkJKmJ1ZiA9IE5VTEw7CisJCQlzeiAqPSA0OworCQl9CisKKwkJaWYgKHJjID4gMCAmJiBjdGwtPmFjdGlvbiA9PSBTWVNMT0dfQUNUSU9OX1JFQURfQ0xFQVIpCisJCQlyYyA9IGtsb2djdGwoU1lTTE9HX0FDVElPTl9SRUFEX0NMRUFSLCAqYnVmLCBzeik7CisJfQorCisJcmV0dXJuIHJjOworfQorCisvKgorICogVG9wIGxldmVsIGZ1bmN0aW9uIHRvIHJlYWQgbWVzc2FnZXMKKyAqLworc3RhdGljIHNzaXplX3QgcmVhZF9idWZmZXIoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwgY2hhciAqKmJ1ZikKK3sKKwlzc2l6ZV90IG4gPSAtMTsKKworCXN3aXRjaCAoY3RsLT5tZXRob2QpIHsKKwljYXNlIERNRVNHX01FVEhPRF9NTUFQOgorCQluID0gbW1hcF9maWxlX2J1ZmZlcihjdGwsIGJ1Zik7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfTUVUSE9EX1NZU0xPRzoKKwkJaWYgKCFjdGwtPmJ1ZnNpemUpCisJCQljdGwtPmJ1ZnNpemUgPSBnZXRfc3lzbG9nX2J1ZmZlcl9zaXplKCk7CisKKwkJbiA9IHJlYWRfc3lzbG9nX2J1ZmZlcihjdGwsIGJ1Zik7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfTUVUSE9EX0tNU0c6CisJCS8qCisJCSAqIFNpbmNlIGtlcm5lbCAzLjUuMAorCQkgKi8KKwkJbiA9IHJlYWRfa21zZyhjdGwpOworCQlpZiAobiA9PSAwICYmIGN0bC0+YWN0aW9uID09IFNZU0xPR19BQ1RJT05fUkVBRF9DTEVBUikKKwkJCW4gPSBrbG9nY3RsKFNZU0xPR19BQ1RJT05fQ0xFQVIsIE5VTEwsIDApOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOwkvKiBpbXBvc3NpYmxlIG1ldGhvZCAtPiBkcm9wIGNvcmUgKi8KKwl9CisKKwlyZXR1cm4gbjsKK30KKworc3RhdGljIGludCBmd3JpdGVfaGV4KGNvbnN0IGNoYXIgKmJ1Ziwgc2l6ZV90IHNpemUsIEZJTEUgKm91dCkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBzaXplOyBpKyspIHsKKwkJaW50IHJjID0gZnByaW50ZihvdXQsICJcXHglMDJoaHgiLCBidWZbaV0pOworCQlpZiAocmMgPCAwKQorCQkJcmV0dXJuIHJjOworCX0KKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFByaW50cyB0byAnb3V0JyBhbmQgbm9uLXByaW50YWJsZSBjaGFycyBhcmUgcmVwbGFjZWQgd2l0aCBceDxoZXg+IHNlcXVlbmNlcy4KKyAqLworc3RhdGljIHZvaWQgc2FmZV9md3JpdGUoY29uc3QgY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSwgaW50IGluZGVudCwgRklMRSAqb3V0KQoreworCXNpemVfdCBpOworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwltYnN0YXRlX3QgczsKKwltZW1zZXQoJnMsIDAsIHNpemVvZiAocykpOworI2VuZGlmCisJZm9yIChpID0gMDsgaSA8IHNpemU7IGkrKykgeworCQljb25zdCBjaGFyICpwID0gYnVmICsgaTsKKwkJaW50IHJjLCBoZXggPSAwOworCQlzaXplX3QgbGVuOworCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCQl3Y2hhcl90IHdjOworCQlsZW4gPSBtYnJ0b3djKCZ3YywgcCwgc2l6ZSAtIGksICZzKTsKKworCQlpZiAobGVuID09IDApCQkJCS8qIEwnXDAnICovCisJCQlyZXR1cm47CisKKwkJaWYgKGxlbiA9PSAoc2l6ZV90KS0xIHx8IGxlbiA9PSAoc2l6ZV90KS0yKSB7CQkvKiBpbnZhbGlkIHNlcXVlbmNlICovCisJCQltZW1zZXQoJnMsIDAsIHNpemVvZiAocykpOworCQkJbGVuID0gaGV4ID0gMTsKKwkJfSBlbHNlIGlmIChsZW4gPiAxICYmICFpc3dwcmludCh3YykpIHsJLyogbm9uLXByaW50YWJsZSBtdWx0aWJ5dGUgKi8KKwkJCWhleCA9IDE7CisJCX0KKwkJaSArPSBsZW4gLSAxOworI2Vsc2UKKwkJbGVuID0gMTsKKwkJaWYgKCFpc3ByaW50KCh1bnNpZ25lZCBjaGFyKSAqcCkgJiYKKwkJICAgICFpc3NwYWNlKCh1bnNpZ25lZCBjaGFyKSAqcCkpICAgICAgICAvKiBub24tcHJpbnRhYmxlICovCisJCQloZXggPSAxOworI2VuZGlmCisJCWlmIChoZXgpCisJCQlyYyA9IGZ3cml0ZV9oZXgocCwgbGVuLCBvdXQpOworCQllbHNlIGlmICgqcCA9PSAnXG4nICYmICoocCArIDEpICYmIGluZGVudCkgeworCQkgICAgICAgIHJjID0gZndyaXRlKHAsIDEsIGxlbiwgb3V0KSAhPSBsZW47CisJCQlpZiAoZnByaW50ZihvdXQsICIlKnMiLCBpbmRlbnQsICIiKSAhPSBpbmRlbnQpCisJCQkJcmMgfD0gMTsKKwkJfQorCQllbHNlCisJCQlyYyA9IGZ3cml0ZShwLCAxLCBsZW4sIG91dCkgIT0gbGVuOworCQlpZiAocmMgIT0gMCkgeworCQkJaWYgKGVycm5vICE9IEVQSVBFKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGZhaWxlZCIpKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJfQorCX0KK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnNraXBfaXRlbShjb25zdCBjaGFyICpiZWdpbiwgY29uc3QgY2hhciAqZW5kLCBjb25zdCBjaGFyICpzZXApCit7CisJd2hpbGUgKGJlZ2luIDwgZW5kKSB7CisJCWludCBjID0gKmJlZ2luKys7CisKKwkJaWYgKGMgPT0gJ1wwJyB8fCBzdHJjaHIoc2VwLCBjKSkKKwkJCWJyZWFrOworCX0KKworCXJldHVybiBiZWdpbjsKK30KKworLyoKKyAqIFBhcnNlcyBvbmUgcmVjb3JkIGZyb20gc3lzbG9nKDIpIGJ1ZmZlcgorICovCitzdGF0aWMgaW50IGdldF9uZXh0X3N5c2xvZ19yZWNvcmQoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwKKwkJCQkgIHN0cnVjdCBkbWVzZ19yZWNvcmQgKnJlYykKK3sKKwlzaXplX3QgaTsKKwljb25zdCBjaGFyICpiZWdpbiA9IE5VTEw7CisKKwlpZiAoY3RsLT5tZXRob2QgIT0gRE1FU0dfTUVUSE9EX01NQVAgJiYKKwkgICAgY3RsLT5tZXRob2QgIT0gRE1FU0dfTUVUSE9EX1NZU0xPRykKKwkJcmV0dXJuIC0xOworCisJaWYgKCFyZWMtPm5leHQgfHwgIXJlYy0+bmV4dF9zaXplKQorCQlyZXR1cm4gMTsKKworCUlOSVRfRE1FU0dfUkVDT1JEKHJlYyk7CisKKwkvKgorCSAqIFVubWFwIGFscmVhZHkgcHJpbnRlZCBmaWxlIGRhdGEgZnJvbSBtZW1vcnkKKwkgKi8KKwlpZiAoY3RsLT5tbWFwX2J1ZmYgJiYgKHNpemVfdCkgKHJlYy0+bmV4dCAtIGN0bC0+bW1hcF9idWZmKSA+IGN0bC0+cGFnZXNpemUpIHsKKwkJdm9pZCAqeCA9IGN0bC0+bW1hcF9idWZmOworCisJCWN0bC0+bW1hcF9idWZmICs9IGN0bC0+cGFnZXNpemU7CisJCW11bm1hcCh4LCBjdGwtPnBhZ2VzaXplKTsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgcmVjLT5uZXh0X3NpemU7IGkrKykgeworCQljb25zdCBjaGFyICpwID0gcmVjLT5uZXh0ICsgaTsKKwkJY29uc3QgY2hhciAqZW5kID0gTlVMTDsKKworCQlpZiAoIWJlZ2luKQorCQkJYmVnaW4gPSBwOworCQlpZiAoaSArIDEgPT0gcmVjLT5uZXh0X3NpemUpIHsKKwkJCWVuZCA9IHAgKyAxOworCQkJaSsrOworCQl9IGVsc2UgaWYgKCpwID09ICdcbicgJiYgKihwICsgMSkgPT0gJzwnKQorCQkJZW5kID0gcDsKKworCQlpZiAoYmVnaW4gJiYgISpiZWdpbikKKwkJCWJlZ2luID0gTlVMTDsJLyogemVybyhzKSBhdCB0aGUgZW5kIG9mIHRoZSBidWZmZXI/ICovCisJCWlmICghYmVnaW4gfHwgIWVuZCkKKwkJCWNvbnRpbnVlOworCQlpZiAoZW5kIDw9IGJlZ2luKQorCQkJY29udGludWU7CS8qIGVycm9yIG9yIGVtcHR5IGxpbmU/ICovCisKKwkJaWYgKCpiZWdpbiA9PSAnPCcpIHsKKwkJCWlmIChjdGwtPmZsdHJfbGV2IHx8IGN0bC0+Zmx0cl9mYWMgfHwgY3RsLT5kZWNvZGUgfHwgY3RsLT5jb2xvcikKKwkJCQliZWdpbiA9IHBhcnNlX2ZhY2xldihiZWdpbiArIDEsICZyZWMtPmZhY2lsaXR5LAorCQkJCQkJICAgICAmcmVjLT5sZXZlbCk7CisJCQllbHNlCisJCQkJYmVnaW4gPSBza2lwX2l0ZW0oYmVnaW4sIGVuZCwgIj4iKTsKKwkJfQorCisJCWlmICgqYmVnaW4gPT0gJ1snICYmICgqKGJlZ2luICsgMSkgPT0gJyAnIHx8CisJCQkJICAgICAgaXNkaWdpdCgqKGJlZ2luICsgMSkpKSkgeworCisJCQlpZiAoIWlzX3RpbWVmbXQoY3RsLCBOT05FKSkKKwkJCQliZWdpbiA9IHBhcnNlX3N5c2xvZ190aW1lc3RhbXAoYmVnaW4gKyAxLCAmcmVjLT50dik7CisJCQllbHNlCisJCQkJYmVnaW4gPSBza2lwX2l0ZW0oYmVnaW4sIGVuZCwgIl0iKTsKKworCQkJaWYgKGJlZ2luIDwgZW5kICYmICpiZWdpbiA9PSAnICcpCisJCQkJYmVnaW4rKzsKKwkJfQorCisJCXJlYy0+bWVzZyA9IGJlZ2luOworCQlyZWMtPm1lc2dfc2l6ZSA9IGVuZCAtIGJlZ2luOworCisJCS8qIERvbid0IGNvdW50IFxuIGZyb20gdGhlIGxhc3QgbWVzc2FnZSB0byB0aGUgbWVzc2FnZSBzaXplICovCisJCWlmICgqZW5kICE9ICdcbicgJiYgKihlbmQgLSAxKSA9PSAnXG4nKQorCQkJcmVjLT5tZXNnX3NpemUtLTsKKworCQlyZWMtPm5leHRfc2l6ZSAtPSBlbmQgLSByZWMtPm5leHQ7CisJCXJlYy0+bmV4dCA9IHJlYy0+bmV4dF9zaXplID4gMCA/IGVuZCArIDEgOiBOVUxMOworCQlpZiAocmVjLT5uZXh0X3NpemUgPiAwKQorCQkJcmVjLT5uZXh0X3NpemUtLTsKKworCQlyZXR1cm4gMDsKKwl9CisKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIGludCBhY2NlcHRfcmVjb3JkKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsIHN0cnVjdCBkbWVzZ19yZWNvcmQgKnJlYykKK3sKKwlpZiAoY3RsLT5mbHRyX2xldiAmJiAocmVjLT5mYWNpbGl0eSA8IDAgfHwKKwkJCSAgICAgICFpc3NldChjdGwtPmxldmVscywgcmVjLT5sZXZlbCkpKQorCQlyZXR1cm4gMDsKKworCWlmIChjdGwtPmZsdHJfZmFjICYmIChyZWMtPmZhY2lsaXR5IDwgMCB8fAorCQkJICAgICAgIWlzc2V0KGN0bC0+ZmFjaWxpdGllcywgcmVjLT5mYWNpbGl0eSkpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCByYXdfcHJpbnQoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqYnVmLCBzaXplX3Qgc2l6ZSkKK3sKKwlpbnQgbGFzdGMgPSAnXG4nOworCisJaWYgKCFjdGwtPm1tYXBfYnVmZikgeworCQkvKgorCQkgKiBQcmludCB3aG9sZSByaW5nIGJ1ZmZlcgorCQkgKi8KKwkJc2FmZV9md3JpdGUoYnVmLCBzaXplLCAwLCBzdGRvdXQpOworCQlsYXN0YyA9IGJ1ZltzaXplIC0gMV07CisJfSBlbHNlIHsKKwkJLyoKKwkJICogUHJpbnQgZmlsZSBpbiBzbWFsbCBjaHVua3MgdG8gc2F2ZSBtZW1vcnkKKwkJICovCisJCXdoaWxlIChzaXplKSB7CisJCQlzaXplX3Qgc3ogPSBzaXplID4gY3RsLT5wYWdlc2l6ZSA/IGN0bC0+cGFnZXNpemUgOiBzaXplOworCQkJY2hhciAqeCA9IGN0bC0+bW1hcF9idWZmOworCisJCQlzYWZlX2Z3cml0ZSh4LCBzeiwgMCwgc3Rkb3V0KTsKKwkJCWxhc3RjID0geFtzeiAtIDFdOworCQkJc2l6ZSAtPSBzejsKKwkJCWN0bC0+bW1hcF9idWZmICs9IHN6OworCQkJbXVubWFwKHgsIHN6KTsKKwkJfQorCX0KKworCWlmIChsYXN0YyAhPSAnXG4nKQorCQlwdXRjaGFyKCdcbicpOworfQorCitzdGF0aWMgc3RydWN0IHRtICpyZWNvcmRfbG9jYWx0aW1lKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsCisJCQkJICAgc3RydWN0IGRtZXNnX3JlY29yZCAqcmVjLAorCQkJCSAgIHN0cnVjdCB0bSAqdG0pCit7CisJdGltZV90IHQgPSBjdGwtPmJvb3RfdGltZS50dl9zZWMgKyByZWMtPnR2LnR2X3NlYzsKKwlyZXR1cm4gbG9jYWx0aW1lX3IoJnQsIHRtKTsKK30KKworc3RhdGljIGNoYXIgKnJlY29yZF9jdGltZShzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsLAorCQkJICBzdHJ1Y3QgZG1lc2dfcmVjb3JkICpyZWMsCisJCQkgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnNpeikKK3sKKwlzdHJ1Y3QgdG0gdG07CisKKwlyZWNvcmRfbG9jYWx0aW1lKGN0bCwgcmVjLCAmdG0pOworCisJaWYgKHN0cmZ0aW1lKGJ1ZiwgYnVmc2l6LCAiJWEgJWIgJWUgJUg6JU06JVMgJVkiLCAmdG0pID09IDApCisJCSpidWYgPSAnXDAnOworCXJldHVybiBidWY7Cit9CisKK3N0YXRpYyBjaGFyICpzaG9ydF9jdGltZShzdHJ1Y3QgdG0gKnRtLCBjaGFyICpidWYsIHNpemVfdCBidWZzaXopCit7CisJaWYgKHN0cmZ0aW1lKGJ1ZiwgYnVmc2l6LCAiJWIlZSAlSDolTSIsIHRtKSA9PSAwKQorCQkqYnVmID0gJ1wwJzsKKwlyZXR1cm4gYnVmOworfQorCitzdGF0aWMgY2hhciAqaXNvXzg2MDFfdGltZShzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsLCBzdHJ1Y3QgZG1lc2dfcmVjb3JkICpyZWMsCisJCQkgICBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwlzdHJ1Y3QgdGltZXZhbCB0diA9IHsKKwkJLnR2X3NlYyA9IGN0bC0+Ym9vdF90aW1lLnR2X3NlYyArIHJlYy0+dHYudHZfc2VjLAorCQkudHZfdXNlYyA9IHJlYy0+dHYudHZfdXNlYworCX07CisKKwlpZiAoc3RydGltZXZhbF9pc28oJnR2LAlJU09fVElNRVNUQU1QX0NPTU1BX1QsIGJ1ZiwgYnVmc3opICE9IDApCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIGRvdWJsZSByZWNvcmRfY291bnRfZGVsdGEoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwKKwkJCQkgc3RydWN0IGRtZXNnX3JlY29yZCAqcmVjKQoreworCWRvdWJsZSBkZWx0YSA9IDA7CisKKwlpZiAodGltZXJpc3NldCgmY3RsLT5sYXN0dGltZSkpCisJCWRlbHRhID0gdGltZV9kaWZmKCZyZWMtPnR2LCAmY3RsLT5sYXN0dGltZSk7CisKKwljdGwtPmxhc3R0aW1lID0gcmVjLT50djsKKwlyZXR1cm4gZGVsdGE7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfc3Vic3lzX2RlbGltaXRlcihjb25zdCBjaGFyICptZXNnLCBzaXplX3QgbWVzZ19zaXplKQoreworCWNvbnN0IGNoYXIgKnAgPSBtZXNnOworCXNpemVfdCBzeiA9IG1lc2dfc2l6ZTsKKworCXdoaWxlIChzeiA+IDApIHsKKwkJY29uc3QgY2hhciAqZCA9IHN0cm5jaHIocCwgc3osICc6Jyk7CisJCWlmICghZCkKKwkJCXJldHVybiBOVUxMOworCQlzeiAtPSBkIC0gcCArIDE7CisJCWlmIChzeikgeworCQkJaWYgKGlzYmxhbmsoKihkICsgMSkpKQorCQkJCXJldHVybiBkOworCQkJcCA9IGQgKyAxOworCQl9CisJfQorCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBwcmludF9yZWNvcmQoc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCwKKwkJCSBzdHJ1Y3QgZG1lc2dfcmVjb3JkICpyZWMpCit7CisJY2hhciBidWZbMTI4XTsKKwljaGFyIGZwYnVmWzMyXSA9ICJcMCI7CisJY2hhciB0c2J1Zls2NF0gPSAiXDAiOworCXNpemVfdCBtZXNnX3NpemUgPSByZWMtPm1lc2dfc2l6ZTsKKwlpbnQgdGltZWJyZWFrID0gMDsKKwljaGFyICptZXNnX2NvcHkgPSBOVUxMOworCWNvbnN0IGNoYXIgKmxpbmUgPSBOVUxMOworCisJaWYgKCFhY2NlcHRfcmVjb3JkKGN0bCwgcmVjKSkKKwkJcmV0dXJuOworCisJaWYgKCFyZWMtPm1lc2dfc2l6ZSkgeworCQlwdXRjaGFyKCdcbicpOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBDb21wb3NlIHN5c2xvZygyKSBjb21wYXRpYmxlIHJhdyBvdXRwdXQgLS0gdXNlZCBmb3IgL2Rldi9rbXNnIGZvcgorCSAqIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgd2l0aCBzeXNsb2coMikgYnVmZmVycyBvbmx5CisJICovCisJaWYgKGN0bC0+cmF3KSB7CisJCWN0bC0+aW5kZW50ID0gc25wcmludGYodHNidWYsIHNpemVvZih0c2J1ZiksCisJCQkJICAgICAgICI8JWQ+WyU1bGQuJTA2bGRdICIsCisJCQkJICAgICAgIExPR19NQUtFUFJJKHJlYy0+ZmFjaWxpdHksIHJlYy0+bGV2ZWwpLAorCQkJCSAgICAgICAobG9uZykgcmVjLT50di50dl9zZWMsCisJCQkJICAgICAgIChsb25nKSByZWMtPnR2LnR2X3VzZWMpOworCQlnb3RvIGZ1bGxfb3V0cHV0OworCX0KKworCS8qIFN0b3JlIGRlY29kZSBpbmZvcm1hdGlvbiAoZmFjaWxpdHkgJiBwcmlvcml0eSBsZXZlbCkgaW4gYSBidWZmZXIgKi8KKwlpZiAoY3RsLT5kZWNvZGUgJiYKKwkgICAgKHJlYy0+bGV2ZWwgPiAtMSkgJiYgKHJlYy0+bGV2ZWwgPCAoaW50KSBBUlJBWV9TSVpFKGxldmVsX25hbWVzKSkgJiYKKwkgICAgKHJlYy0+ZmFjaWxpdHkgPiAtMSkgJiYKKwkgICAgKHJlYy0+ZmFjaWxpdHkgPCAoaW50KSBBUlJBWV9TSVpFKGZhY2lsaXR5X25hbWVzKSkpCisJCXNucHJpbnRmKGZwYnVmLCBzaXplb2YoZnBidWYpLCAiJS02czolLTZzOiAiLAorCQkJIGZhY2lsaXR5X25hbWVzW3JlYy0+ZmFjaWxpdHldLm5hbWUsCisJCQkgbGV2ZWxfbmFtZXNbcmVjLT5sZXZlbF0ubmFtZSk7CisKKwkvKiBTdG9yZSB0aGUgdGltZXN0YW1wIGluIGEgYnVmZmVyICovCisJc3dpdGNoIChjdGwtPnRpbWVfZm10KSB7CisJCWRvdWJsZSBkZWx0YTsKKwkJc3RydWN0IHRtIGN1cjsKKwljYXNlIERNRVNHX1RJTUVGVE1fTk9ORToKKwkJY3RsLT5pbmRlbnQgPSAwOworCQlicmVhazsKKwljYXNlIERNRVNHX1RJTUVGVE1fQ1RJTUU6CisJCWN0bC0+aW5kZW50ID0gc25wcmludGYodHNidWYsIHNpemVvZih0c2J1ZiksICJbJXNdICIsCisJCQkJICAgICAgcmVjb3JkX2N0aW1lKGN0bCwgcmVjLCBidWYsIHNpemVvZihidWYpKSk7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfVElNRUZUTV9DVElNRV9ERUxUQToKKwkJY3RsLT5pbmRlbnQgPSBzbnByaW50Zih0c2J1Ziwgc2l6ZW9mKHRzYnVmKSwgIlslcyA8JTEyLjA2Zj5dICIsCisJCQkJICAgICAgcmVjb3JkX2N0aW1lKGN0bCwgcmVjLCBidWYsIHNpemVvZihidWYpKSwKKwkJCQkgICAgICByZWNvcmRfY291bnRfZGVsdGEoY3RsLCByZWMpKTsKKwkJYnJlYWs7CisJY2FzZSBETUVTR19USU1FRlRNX0RFTFRBOgorCQljdGwtPmluZGVudCA9IHNucHJpbnRmKHRzYnVmLCBzaXplb2YodHNidWYpLCAiWzwlMTIuMDZmPl0gIiwKKwkJCQkgICAgICByZWNvcmRfY291bnRfZGVsdGEoY3RsLCByZWMpKTsKKwkJYnJlYWs7CisJY2FzZSBETUVTR19USU1FRlRNX1JFTFRJTUU6CisJCXJlY29yZF9sb2NhbHRpbWUoY3RsLCByZWMsICZjdXIpOworCQlkZWx0YSA9IHJlY29yZF9jb3VudF9kZWx0YShjdGwsIHJlYyk7CisJCWlmIChjdXIudG1fbWluICE9IGN0bC0+bGFzdHRtLnRtX21pbiB8fAorCQkgICAgY3VyLnRtX2hvdXIgIT0gY3RsLT5sYXN0dG0udG1faG91ciB8fAorCQkgICAgY3VyLnRtX3lkYXkgIT0gY3RsLT5sYXN0dG0udG1feWRheSkgeworCQkJdGltZWJyZWFrID0gMTsKKwkJCWN0bC0+aW5kZW50ID0gc25wcmludGYodHNidWYsIHNpemVvZih0c2J1ZiksICJbJXNdICIsCisJCQkJCSAgICAgIHNob3J0X2N0aW1lKCZjdXIsIGJ1ZiwKKwkJCQkJCQkgIHNpemVvZihidWYpKSk7CisJCX0gZWxzZSB7CisJCQlpZiAoZGVsdGEgPCAxMCkKKwkJCQljdGwtPmluZGVudCA9IHNucHJpbnRmKHRzYnVmLCBzaXplb2YodHNidWYpLAorCQkJCQkJIlsgICUrOC4wNmZdICIsICBkZWx0YSk7CisJCQllbHNlCisJCQkJY3RsLT5pbmRlbnQgPSBzbnByaW50Zih0c2J1Ziwgc2l6ZW9mKHRzYnVmKSwKKwkJCQkJCSJbICUrOS4wNmZdICIsIGRlbHRhKTsKKwkJfQorCQljdGwtPmxhc3R0bSA9IGN1cjsKKwkJYnJlYWs7CisJY2FzZSBETUVTR19USU1FRlRNX1RJTUU6CisJCWN0bC0+aW5kZW50ID0gc25wcmludGYodHNidWYsIHNpemVvZih0c2J1ZiksICJbJTVsZC4lMDZsZF0gIiwKKwkJCQkgICAgICAobG9uZylyZWMtPnR2LnR2X3NlYywKKwkJCQkgICAgICAobG9uZylyZWMtPnR2LnR2X3VzZWMpOworCQlicmVhazsKKwljYXNlIERNRVNHX1RJTUVGVE1fVElNRV9ERUxUQToKKwkJY3RsLT5pbmRlbnQgPSBzbnByaW50Zih0c2J1Ziwgc2l6ZW9mKHRzYnVmKSwgIlslNWxkLiUwNmxkIDwlMTIuMDZmPl0gIiwKKwkJCQkgICAgICAobG9uZylyZWMtPnR2LnR2X3NlYywKKwkJCQkgICAgICAobG9uZylyZWMtPnR2LnR2X3VzZWMsCisJCQkJICAgICAgcmVjb3JkX2NvdW50X2RlbHRhKGN0bCwgcmVjKSk7CisJCWJyZWFrOworCWNhc2UgRE1FU0dfVElNRUZUTV9JU084NjAxOgorCQljdGwtPmluZGVudCA9IHNucHJpbnRmKHRzYnVmLCBzaXplb2YodHNidWYpLCAiJXMgIiwKKwkJCQkgICAgICBpc29fODYwMV90aW1lKGN0bCwgcmVjLCBidWYsCisJCQkJCQkgICAgc2l6ZW9mKGJ1ZikpKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsKKwl9CisKKwljdGwtPmluZGVudCArPSBzdHJsZW4oZnBidWYpOworCitmdWxsX291dHB1dDoKKwkvKiBPdXRwdXQgdGhlIGRlY29kZSBpbmZvcm1hdGlvbiAqLworCWlmICgqZnBidWYpCisJCWZwdXRzKGZwYnVmLCBzdGRvdXQpOworCisJLyogT3V0cHV0IHRoZSB0aW1lc3RhbXAgYnVmZmVyICovCisJaWYgKCp0c2J1ZikgeworCQkvKiBDb2xvcml6ZSB0aGUgdGltZXN0YW1wICovCisJCWlmIChjdGwtPmNvbG9yKQorCQkJZG1lc2dfZW5hYmxlX2NvbG9yKHRpbWVicmVhayA/IERNRVNHX0NPTE9SX1RJTUVCUkVBSyA6CisJCQkJCQkgICAgICAgRE1FU0dfQ09MT1JfVElNRSk7CisJCWlmIChjdGwtPnRpbWVfZm10ICE9IERNRVNHX1RJTUVGVE1fUkVMVElNRSkgeworCQkJZnB1dHModHNidWYsIHN0ZG91dCk7CisJCX0gZWxzZSB7CisJCQkvKgorCQkJICogRm9yIHJlbGF0aXZlIHRpbWVzdGFtcGluZywgdGhlIGZpcnN0IGxpbmUncworCQkJICogdGltZXN0YW1wIGlzIHRoZSBvZmZzZXQgYW5kIGFsbCBvdGhlciBsaW5lcyB3aWxsCisJCQkgKiByZXBvcnQgYW4gb2Zmc2V0IG9mIDAuMDAwMDAwLgorCQkJICovCisJCQlpZiAoIWxpbmUpCisJCQkJZnB1dHModHNidWYsIHN0ZG91dCk7CisJCQllbHNlCisJCQkJcHJpbnRmKCJbICArMC4wMDAwMDBdICIpOworCQl9CisJCWlmIChjdGwtPmNvbG9yKQorCQkJY29sb3JfZGlzYWJsZSgpOworCX0KKworCS8qCisJICogQSBrZXJuZWwgbWVzc2FnZSBtYXkgY29udGFpbiBzZXZlcmFsIGxpbmVzIG9mIG91dHB1dCwgc2VwYXJhdGVkCisJICogYnkgJ1xuJy4gIElmIHRoZSB0aW1lc3RhbXAgYW5kIGRlY29kZSBvdXRwdXRzIGFyZSBmb3JjZWQgdGhlbiBlYWNoCisJICogbGluZSBvZiB0aGUgbWVzc2FnZSBtdXN0IGJlIGRpc3BsYXllZCB3aXRoIHRoYXQgaW5mb3JtYXRpb24uCisJICovCisJaWYgKGN0bC0+Zm9yY2VfcHJlZml4KSB7CisJCWlmICghbGluZSkgeworCQkJbWVzZ19jb3B5ID0geHN0cmR1cChyZWMtPm1lc2cpOworCQkJbGluZSA9IHN0cnRvayhtZXNnX2NvcHksICJcbiIpOworCQkJbWVzZ19zaXplID0gc3RybGVuKGxpbmUpOworCQl9CisJfSBlbHNlIHsKKwkJbGluZSA9IHJlYy0+bWVzZzsKKwkJbWVzZ19zaXplID0gcmVjLT5tZXNnX3NpemU7CisJfQorCisJLyogQ29sb3JpemUga2VybmVsIG1lc3NhZ2Ugb3V0cHV0ICovCisJaWYgKGN0bC0+Y29sb3IpIHsKKwkJLyogU3Vic3lzdGVtIHByZWZpeCAqLworCQljb25zdCBjaGFyICpzdWJzeXMgPSBnZXRfc3Vic3lzX2RlbGltaXRlcihsaW5lLCBtZXNnX3NpemUpOworCQlpbnQgaGFzX2NvbG9yID0gMDsKKworCQlpZiAoc3Vic3lzKSB7CisJCQlkbWVzZ19lbmFibGVfY29sb3IoRE1FU0dfQ09MT1JfU1VCU1lTKTsKKwkJCXNhZmVfZndyaXRlKGxpbmUsIHN1YnN5cyAtIGxpbmUsIGN0bC0+aW5kZW50LCBzdGRvdXQpOworCQkJY29sb3JfZGlzYWJsZSgpOworCisJCQltZXNnX3NpemUgLT0gc3Vic3lzIC0gbGluZTsKKwkJCWxpbmUgPSBzdWJzeXM7CisJCX0KKwkJLyogRXJyb3IsIGFsZXJ0IC4uIGV0Yy4gY29sb3JzICovCisJCWhhc19jb2xvciA9IHNldF9sZXZlbF9jb2xvcihyZWMtPmxldmVsLCBsaW5lLCBtZXNnX3NpemUpID09IDA7CisJCXNhZmVfZndyaXRlKGxpbmUsIG1lc2dfc2l6ZSwgY3RsLT5pbmRlbnQsIHN0ZG91dCk7CisJCWlmIChoYXNfY29sb3IpCisJCQljb2xvcl9kaXNhYmxlKCk7CisJfSBlbHNlCisJCXNhZmVfZndyaXRlKGxpbmUsIG1lc2dfc2l6ZSwgY3RsLT5pbmRlbnQsIHN0ZG91dCk7CisKKwkvKiBHZXQgdGhlIG5leHQgbGluZSAqLworCWlmIChjdGwtPmZvcmNlX3ByZWZpeCkgeworCQlsaW5lID0gc3RydG9rKE5VTEwsICJcbiIpOworCQlpZiAobGluZSAmJiAqbGluZSkgeworCQkJcHV0Y2hhcignXG4nKTsKKwkJCW1lc2dfc2l6ZSA9IHN0cmxlbihsaW5lKTsKKwkJCWdvdG8gZnVsbF9vdXRwdXQ7CisJCX0KKwkJZnJlZShtZXNnX2NvcHkpOworCX0KKworCXB1dGNoYXIoJ1xuJyk7Cit9CisKKy8qCisgKiBQcmludHMgdGhlICdidWYnIGtlcm5lbCByaW5nIGJ1ZmZlcjsgdGhlIG1lc3NhZ2VzIGFyZSBmaWx0ZXJlZCBvdXQgYWNjb3JkaW5nCisgKiB0byAnbGV2ZWxzJyBhbmQgJ2ZhY2lsaXRpZXMnIGJpdGFycmF5cy4KKyAqLworc3RhdGljIHZvaWQgcHJpbnRfYnVmZmVyKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsCisJCQljb25zdCBjaGFyICpidWYsIHNpemVfdCBzaXplKQoreworCXN0cnVjdCBkbWVzZ19yZWNvcmQgcmVjID0geyAubmV4dCA9IGJ1ZiwgLm5leHRfc2l6ZSA9IHNpemUgfTsKKworCWlmIChjdGwtPnJhdykgeworCQlyYXdfcHJpbnQoY3RsLCBidWYsIHNpemUpOworCQlyZXR1cm47CisJfQorCisJd2hpbGUgKGdldF9uZXh0X3N5c2xvZ19yZWNvcmQoY3RsLCAmcmVjKSA9PSAwKQorCQlwcmludF9yZWNvcmQoY3RsLCAmcmVjKTsKK30KKworc3RhdGljIHNzaXplX3QgcmVhZF9rbXNnX29uZShzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsKQoreworCXNzaXplX3Qgc2l6ZTsKKworCS8qIGttc2cgcmV0dXJucyBFUElQRSBpZiByZWNvcmQgd2FzIG1vZGlmaWVkIHdoaWxlIHJlYWRpbmcgKi8KKwlkbyB7CisJCXNpemUgPSByZWFkKGN0bC0+a21zZywgY3RsLT5rbXNnX2J1ZiwKKwkJCSAgICBzaXplb2YoY3RsLT5rbXNnX2J1ZikgLSAxKTsKKwl9IHdoaWxlIChzaXplIDwgMCAmJiBlcnJubyA9PSBFUElQRSk7CisKKwlyZXR1cm4gc2l6ZTsKK30KKworc3RhdGljIGludCBpbml0X2ttc2coc3RydWN0IGRtZXNnX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgbW9kZSA9IE9fUkRPTkxZOworCisJaWYgKCFjdGwtPmZvbGxvdykKKwkJbW9kZSB8PSBPX05PTkJMT0NLOworCWVsc2UKKwkJc2V0bGluZWJ1ZihzdGRvdXQpOworCisJY3RsLT5rbXNnID0gb3BlbigiL2Rldi9rbXNnIiwgbW9kZSk7CisJaWYgKGN0bC0+a21zZyA8IDApCisJCXJldHVybiAtMTsKKworCS8qCisJICogU2VlayBhZnRlciB0aGUgbGFzdCByZWNvcmQgYXZhaWxhYmxlIGF0IHRoZSB0aW1lCisJICogdGhlIGxhc3QgU1lTTE9HX0FDVElPTl9DTEVBUiB3YXMgaXNzdWVkLgorCSAqCisJICogLi4uIG90aGVyd2lzZSBTWVNMT0dfQUNUSU9OX0NMRUFSIHdpbGwgaGF2ZSBubyBlZmZlY3QgZm9yIGttc2cuCisJICovCisJbHNlZWsoY3RsLT5rbXNnLCAwLCBTRUVLX0RBVEEpOworCisJLyoKKwkgKiBPbGQga2VybmVscyAoPDMuNSkgYWxsb3cgdG8gc3VjY2Vzc2Z1bGx5IG9wZW4gL2Rldi9rbXNnIGZvcgorCSAqIHJlYWQtb25seSwgYnV0IHJlYWQoKSByZXR1cm5zIC1FSU5WQUwgOi0oKCgKKwkgKgorCSAqIExldCdzIHRyeSB0byByZWFkIHRoZSBmaXJzdCByZWNvcmQuIFRoZSByZWNvcmQgaXMgbGF0ZXIgcHJvY2Vzc2VkIGluCisJICogcmVhZF9rbXNnKCkuCisJICovCisJY3RsLT5rbXNnX2ZpcnN0X3JlYWQgPSByZWFkX2ttc2dfb25lKGN0bCk7CisJaWYgKGN0bC0+a21zZ19maXJzdF9yZWFkIDwgMCkgeworCQljbG9zZShjdGwtPmttc2cpOworCQljdGwtPmttc2cgPSAtMTsKKwkJcmV0dXJuIC0xOworCX0KKworCXJldHVybiAwOworfQorCisvKgorICogL2Rldi9rbXNnIHJlY29yZCBmb3JtYXQ6CisgKgorICogICAgIGZhY2xldixzZXFudW0sdGltZXN0YW1wW29wdGlvbmFsLCAuLi5dO21lc3NhZ2VcbgorICogICAgICBUQUdOQU1FPXZhbHVlCisgKiAgICAgIC4uLgorICoKKyAqIC0gZmllbGRzIGFyZSBzZXBhcmF0ZWQgYnkgJywnCisgKiAtIGxhc3QgZmllbGQgaXMgdGVybWluYXRlZCBieSAnOycKKyAqCisgKi8KKyNkZWZpbmUgTEFTVF9LTVNHX0ZJRUxEKHMpCSghcyB8fCAhKnMgfHwgKihzIC0gMSkgPT0gJzsnKQorCitzdGF0aWMgaW50IHBhcnNlX2ttc2dfcmVjb3JkKHN0cnVjdCBkbWVzZ19jb250cm9sICpjdGwsCisJCQkgICAgIHN0cnVjdCBkbWVzZ19yZWNvcmQgKnJlYywKKwkJCSAgICAgY2hhciAqYnVmLAorCQkJICAgICBzaXplX3Qgc3opCit7CisJY29uc3QgY2hhciAqcCA9IGJ1ZiwgKmVuZDsKKworCWlmIChzeiA9PSAwIHx8ICFidWYgfHwgISpidWYpCisJCXJldHVybiAtMTsKKworCWVuZCA9IGJ1ZiArIChzeiAtIDEpOworCUlOSVRfRE1FU0dfUkVDT1JEKHJlYyk7CisKKwl3aGlsZSAocCA8IGVuZCAmJiBpc3NwYWNlKCpwKSkKKwkJcCsrOworCisJLyogQSkgcHJpb3JpdHkgYW5kIGZhY2lsaXR5ICovCisJaWYgKGN0bC0+Zmx0cl9sZXYgfHwgY3RsLT5mbHRyX2ZhYyB8fCBjdGwtPmRlY29kZSB8fAorCSAgICBjdGwtPnJhdyB8fCBjdGwtPmNvbG9yKQorCQlwID0gcGFyc2VfZmFjbGV2KHAsICZyZWMtPmZhY2lsaXR5LCAmcmVjLT5sZXZlbCk7CisJZWxzZQorCQlwID0gc2tpcF9pdGVtKHAsIGVuZCwgIiwiKTsKKwlpZiAoTEFTVF9LTVNHX0ZJRUxEKHApKQorCQlnb3RvIG1lc2c7CisKKwkvKiBCKSBzZXF1ZW5jZSBudW1iZXIgKi8KKwlwID0gc2tpcF9pdGVtKHAsIGVuZCwgIiw7Iik7CisJaWYgKExBU1RfS01TR19GSUVMRChwKSkKKwkJZ290byBtZXNnOworCisJLyogQykgdGltZXN0YW1wICovCisJaWYgKGlzX3RpbWVmbXQoY3RsLCBOT05FKSkKKwkJcCA9IHNraXBfaXRlbShwLCBlbmQsICIsOyIpOworCWVsc2UKKwkJcCA9IHBhcnNlX2ttc2dfdGltZXN0YW1wKHAsICZyZWMtPnR2KTsKKwlpZiAoTEFTVF9LTVNHX0ZJRUxEKHApKQorCQlnb3RvIG1lc2c7CisKKwkvKiBEKSBvcHRpb25hbCBmaWVsZHMgKGlnbm9yZSkgKi8KKwlwID0gc2tpcF9pdGVtKHAsIGVuZCwgIjsiKTsKKworbWVzZzoKKwkvKiBFKSBtZXNzYWdlIHRleHQgKi8KKwlyZWMtPm1lc2cgPSBwOworCXAgPSBza2lwX2l0ZW0ocCwgZW5kLCAiXG4iKTsKKwlpZiAoIXApCisJCXJldHVybiAtMTsKKworCS8qIFRoZSBtZXNzYWdlIHRleHQgaXMgdGVybWluYXRlZCBieSBcbiwgYnV0IGl0J3MgcG9zc2libGUgdGhhdCB0aGUKKwkgKiBtZXNzYWdlIGNvbnRhaW5zIGFub3RoZXIgc3R1ZmYgYmVoaW5kIHRoaXMgbGluZWJyZWFrOyBpbiB0aGlzIGNhc2UKKwkgKiB0aGUgcHJldmlvdXMgc2tpcF9pdGVtKCkgcmV0dXJucyBwb2ludGVyIHRvIHRoZSBzdHVmZiBiZWhpbmQgXG4uCisJICogTGV0J3Mgbm9ybWFsaXplIGFsbCB0aGVzZSBzaXR1YXRpb25zIGFuZCBtYWtlIHN1cmUgd2UgYWx3YXlzIHBvaW50IHRvCisJICogdGhlIFxuLgorCSAqCisJICogTm90ZSB0aGF0IHRoZSBuZXh0IHVuaGV4bWFuZ2xlX3RvX2J1ZmZlcigpIHdpbGwgcmVwbGFjZSBcbiBieSBcMC4KKwkgKi8KKwlpZiAoKnAgJiYgKnAgIT0gJ1xuJykKKwkJcC0tOworCisJLyoKKwkgKiBLZXJuZWwgZXNjYXBlcyBub24tcHJpbnRhYmxlIGNoYXJhY3RlcnMsIHVuZm9ydHVuYXRlbHkga2VybmVsCisJICogZGVmaW5pdGlvbiBvZiAibm9uLXByaW50YWJsZSIgaXMgdG9vIHN0cmljdC4gT24gVVRGOCBjb25zb2xlIHdlIGNhbgorCSAqIHByaW50IG1hbnkgY2hhcnMsIHNvIGxldCdzIGRlY29kZSBmcm9tIGtlcm5lbC4KKwkgKi8KKwlyZWMtPm1lc2dfc2l6ZSA9IHVuaGV4bWFuZ2xlX3RvX2J1ZmZlcihyZWMtPm1lc2csCisJCQkJKGNoYXIgKikgcmVjLT5tZXNnLCBwIC0gcmVjLT5tZXNnICsgMSk7CisKKwlyZWMtPm1lc2dfc2l6ZS0tOwkvKiBkb24ndCBjb3VudCBcMCAqLworCisJLyogRikgbWVzc2FnZSB0YWdzIChpZ25vcmUpICovCisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIE5vdGUgdGhhdCBlYWNoIHJlYWQoKSBjYWxsIGZvciAvZGV2L2ttc2cgcmV0dXJucyBhbHdheXMgb25lIHJlY29yZC4gSXQgbWVhbnMKKyAqIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byByZWFkIHdob2xlIG1lc3NhZ2UgYnVmZmVyIGJlZm9yZSB0aGUgcmVjb3JkcyBwYXJzaW5nLgorICoKKyAqIFNvIHRoaXMgZnVuY3Rpb24gZG9lcyBub3QgY29tcG9zZSBvbmUgaHVnZSBidWZmZXIgKGxpa2UgcmVhZF9zeXNsb2dfYnVmZmVyKCkpCisgKiBhbmQgcHJpbnRfYnVmZmVyKCkgaXMgdW5uZWNlc3NhcnkuIEFsbCBpcyBkb25lIGluIHRoaXMgZnVuY3Rpb24uCisgKgorICogUmV0dXJucyAwIG9uIHN1Y2Nlc3MsIC0xIG9uIGVycm9yLgorICovCitzdGF0aWMgaW50IHJlYWRfa21zZyhzdHJ1Y3QgZG1lc2dfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBkbWVzZ19yZWNvcmQgcmVjOworCXNzaXplX3Qgc3o7CisKKwlpZiAoY3RsLT5tZXRob2QgIT0gRE1FU0dfTUVUSE9EX0tNU0cgfHwgY3RsLT5rbXNnIDwgMCkKKwkJcmV0dXJuIC0xOworCisJLyoKKwkgKiBUaGUgdmVyeSBmaXJzdCByZWFkKCkgY2FsbCBpcyBkb25lIGluIGttc2dfaW5pdCgpIHdoZXJlIHdlIHRlc3QKKwkgKiAvZGV2L2ttc2cgdXNhYmlsaXR5LiBUaGUgcmV0dXJuIGNvZGUgZnJvbSB0aGUgaW5pdGlhbCByZWFkKCkgaXMKKwkgKiBzdG9yZWQgaW4gY3RsLT5rbXNnX2ZpcnN0X3JlYWQ7CisJICovCisJc3ogPSBjdGwtPmttc2dfZmlyc3RfcmVhZDsKKworCXdoaWxlIChzeiA+IDApIHsKKwkJKihjdGwtPmttc2dfYnVmICsgc3opID0gJ1wwJzsJLyogZm9yIGRlYnVnIG1lc3NhZ2VzICovCisKKwkJaWYgKHBhcnNlX2ttc2dfcmVjb3JkKGN0bCwgJnJlYywKKwkJCQkgICAgICBjdGwtPmttc2dfYnVmLCAoc2l6ZV90KSBzeikgPT0gMCkKKwkJCXByaW50X3JlY29yZChjdGwsICZyZWMpOworCisJCXN6ID0gcmVhZF9rbXNnX29uZShjdGwpOworCX0KKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHdoaWNoX3RpbWVfZm9ybWF0KGNvbnN0IGNoYXIgKnMpCit7CisJaWYgKCFzdHJjbXAocywgIm5vdGltZSIpKQorCQlyZXR1cm4gRE1FU0dfVElNRUZUTV9OT05FOworCWlmICghc3RyY21wKHMsICJjdGltZSIpKQorCQlyZXR1cm4gRE1FU0dfVElNRUZUTV9DVElNRTsKKwlpZiAoIXN0cmNtcChzLCAiZGVsdGEiKSkKKwkJcmV0dXJuIERNRVNHX1RJTUVGVE1fREVMVEE7CisJaWYgKCFzdHJjbXAocywgInJlbHRpbWUiKSkKKwkJcmV0dXJuIERNRVNHX1RJTUVGVE1fUkVMVElNRTsKKwlpZiAoIXN0cmNtcChzLCAiaXNvIikpCisJCXJldHVybiBETUVTR19USU1FRlRNX0lTTzg2MDE7CisJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gdGltZSBmb3JtYXQ6ICVzIiksIHMpOworfQorCisjaWZkZWYgVEVTVF9ETUVTRworc3RhdGljIGlubGluZSBpbnQgZG1lc2dfZ2V0X2Jvb3RfdGltZShzdHJ1Y3QgdGltZXZhbCAqdHYpCit7CisJY2hhciAqc3RyID0gZ2V0ZW52KCJETUVTR19URVNUX0JPT1RJTUUiKTsKKwl1aW50bWF4X3Qgc2VjLCB1c2VjOworCisJaWYgKHN0ciAmJiBzc2NhbmYoc3RyLCAiJWp1LiVqdSIsICZzZWMsICZ1c2VjKSA9PSAyKSB7CisJCXR2LT50dl9zZWMgPSBzZWM7CisJCXR2LT50dl91c2VjID0gdXNlYzsKKwkJcmV0dXJuIHR2LT50dl9zZWMgPj0gMCAmJiB0di0+dHZfdXNlYyA+PSAwID8gMCA6IC1FSU5WQUw7CisJfQorCisJcmV0dXJuIGdldF9ib290X3RpbWUodHYpOworfQorI2Vsc2UKKyMgZGVmaW5lIGRtZXNnX2dldF9ib290X3RpbWUJZ2V0X2Jvb3RfdGltZQorI2VuZGlmCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciAqYnVmID0gTlVMTDsKKwlpbnQgIGMsIG5vcGFnZXIgPSAwOworCWludCAgY29uc29sZV9sZXZlbCA9IDA7CisJaW50ICBrbG9nX3JjID0gMDsKKwlpbnQgIGRlbHRhID0gMDsKKwlzc2l6ZV90IG47CisJc3RhdGljIHN0cnVjdCBkbWVzZ19jb250cm9sIGN0bCA9IHsKKwkJLmZpbGVuYW1lID0gTlVMTCwKKwkJLmFjdGlvbiA9IFNZU0xPR19BQ1RJT05fUkVBRF9BTEwsCisJCS5tZXRob2QgPSBETUVTR19NRVRIT0RfS01TRywKKwkJLmttc2cgPSAtMSwKKwkJLnRpbWVfZm10ID0gRE1FU0dfVElNRUZUTV9USU1FLAorCQkuaW5kZW50ID0gMCwKKwl9OworCWludCBjb2xvcm1vZGUgPSBVTF9DT0xPUk1PREVfVU5ERUY7CisJZW51bSB7CisJCU9QVF9USU1FX0ZPUk1BVCA9IENIQVJfTUFYICsgMSwKKwl9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYnVmZmVyLXNpemUiLCAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncycgfSwKKwkJeyAiY2xlYXIiLCAgICAgICAgIG5vX2FyZ3VtZW50LAkgICAgICBOVUxMLCAnQycgfSwKKwkJeyAiY29sb3IiLCAgICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnTCcgfSwKKwkJeyAiY29uc29sZS1sZXZlbCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkJeyAiY29uc29sZS1vZmYiLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnRCcgfSwKKwkJeyAiY29uc29sZS1vbiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnRScgfSwKKwkJeyAiZGVjb2RlIiwgICAgICAgIG5vX2FyZ3VtZW50LAkgICAgICBOVUxMLCAneCcgfSwKKwkJeyAiZmlsZSIsICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnRicgfSwKKwkJeyAiZmFjaWxpdHkiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZicgfSwKKwkJeyAiZm9sbG93IiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndycgfSwKKwkJeyAiaHVtYW4iLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSCcgfSwKKwkJeyAiaGVscCIsICAgICAgICAgIG5vX2FyZ3VtZW50LAkgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAia2VybmVsIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaycgfSwKKwkJeyAibGV2ZWwiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbCcgfSwKKwkJeyAic3lzbG9nIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnUycgfSwKKwkJeyAicmF3IiwgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgfSwKKwkJeyAicmVhZC1jbGVhciIsICAgIG5vX2FyZ3VtZW50LAkgICAgICBOVUxMLCAnYycgfSwKKwkJeyAicmVsdGltZSIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZScgfSwKKwkJeyAic2hvdy1kZWx0YSIsICAgIG5vX2FyZ3VtZW50LAkgICAgICBOVUxMLCAnZCcgfSwKKwkJeyAiY3RpbWUiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVCcgfSwKKwkJeyAibm90aW1lIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndCcgfSwKKwkJeyAibm9wYWdlciIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnUCcgfSwKKwkJeyAidXNlcnNwYWNlIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndScgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgIG5vX2FyZ3VtZW50LAkgICAgICBOVUxMLCAnVicgfSwKKwkJeyAidGltZS1mb3JtYXQiLCAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfVElNRV9GT1JNQVQgfSwKKwkJeyAiZm9yY2UtcHJlZml4IiwgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncCcgfSwKKwkJeyBOVUxMLAkgICAgICAgICAgIDAsIE5VTEwsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdDJywnRCcsJ0UnLCdjJywnbicsJ3InIH0sCS8qIGNsZWFyLG9mZixvbixyZWFkLWNsZWFyLGxldmVsLHJhdyovCisJCXsgJ0gnLCdyJyB9LAkJCS8qIGh1bWFuLCByYXcgKi8KKwkJeyAnTCcsJ3InIH0sCQkJLyogY29sb3IsIHJhdyAqLworCQl7ICdTJywndycgfSwJCQkvKiBzeXNsb2csZm9sbG93ICovCisJCXsgJ1QnLCdyJyB9LAkJCS8qIGN0aW1lLCByYXcgKi8KKwkJeyAnZCcsJ3InIH0sCQkJLyogZGVsdGEsIHJhdyAqLworCQl7ICdlJywncicgfSwJCQkvKiByZWx0aW1lLCByYXcgKi8KKwkJeyAncicsJ3gnIH0sCQkJLyogcmF3LCBkZWNvZGUgKi8KKwkJeyAncicsJ3QnIH0sCQkJLyogbm90aW1lLCByYXcgKi8KKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiQ2NEZEVlRjpmOkhoa0w6Omw6bjppUHByU3M6VHR1Vnd4IiwKKwkJCQlsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnQyc6CisJCQljdGwuYWN0aW9uID0gU1lTTE9HX0FDVElPTl9DTEVBUjsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCWN0bC5hY3Rpb24gPSBTWVNMT0dfQUNUSU9OX1JFQURfQ0xFQVI7CisJCQlicmVhazsKKwkJY2FzZSAnRCc6CisJCQljdGwuYWN0aW9uID0gU1lTTE9HX0FDVElPTl9DT05TT0xFX09GRjsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWRlbHRhID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdFJzoKKwkJCWN0bC5hY3Rpb24gPSBTWVNMT0dfQUNUSU9OX0NPTlNPTEVfT047CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQljdGwudGltZV9mbXQgPSBETUVTR19USU1FRlRNX1JFTFRJTUU7CisJCQlicmVhazsKKwkJY2FzZSAnRic6CisJCQljdGwuZmlsZW5hbWUgPSBvcHRhcmc7CisJCQljdGwubWV0aG9kID0gRE1FU0dfTUVUSE9EX01NQVA7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQljdGwuZmx0cl9mYWMgPSAxOworCQkJaWYgKHN0cmluZ190b19iaXRhcnJheShvcHRhcmcsCisJCQkJCSAgICAgY3RsLmZhY2lsaXRpZXMsIHBhcnNlX2ZhY2lsaXR5KSA8IDApCisJCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwkJCWJyZWFrOworCQljYXNlICdIJzoKKwkJCWN0bC50aW1lX2ZtdCA9IERNRVNHX1RJTUVGVE1fUkVMVElNRTsKKwkJCWNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9BVVRPOworCQkJY3RsLnBhZ2VyID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnayc6CisJCQljdGwuZmx0cl9mYWMgPSAxOworCQkJc2V0Yml0KGN0bC5mYWNpbGl0aWVzLCBGQUNfQkFTRShMT0dfS0VSTikpOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJY29sb3Jtb2RlID0gVUxfQ09MT1JNT0RFX0FVVE87CisJCQlpZiAob3B0YXJnKQorCQkJCWNvbG9ybW9kZSA9IGNvbG9ybW9kZV9vcl9lcnIob3B0YXJnLAorCQkJCQkJXygidW5zdXBwb3J0ZWQgY29sb3IgbW9kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWN0bC5mbHRyX2xldj0gMTsKKwkJCWlmIChzdHJpbmdfdG9fYml0YXJyYXkob3B0YXJnLAorCQkJCQkgICAgIGN0bC5sZXZlbHMsIHBhcnNlX2xldmVsKSA8IDApCisJCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWN0bC5hY3Rpb24gPSBTWVNMT0dfQUNUSU9OX0NPTlNPTEVfTEVWRUw7CisJCQljb25zb2xlX2xldmVsID0gcGFyc2VfbGV2ZWwob3B0YXJnLCAwKTsKKwkJCWJyZWFrOworCQljYXNlICdQJzoKKwkJCW5vcGFnZXIgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJY3RsLmZvcmNlX3ByZWZpeCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQljdGwucmF3ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKwkJCWN0bC5tZXRob2QgPSBETUVTR19NRVRIT0RfU1lTTE9HOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJY3RsLmJ1ZnNpemUgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLAorCQkJCQlfKCJpbnZhbGlkIGJ1ZmZlciBzaXplIGFyZ3VtZW50IikpOworCQkJaWYgKGN0bC5idWZzaXplIDwgNDA5NikKKwkJCQljdGwuYnVmc2l6ZSA9IDQwOTY7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQljdGwudGltZV9mbXQgPSBETUVTR19USU1FRlRNX0NUSU1FOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJY3RsLnRpbWVfZm10ID0gRE1FU0dfVElNRUZUTV9OT05FOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJY3RsLmZsdHJfZmFjID0gMTsKKwkJCWZvciAobiA9IDE7IChzaXplX3QpIG4gPCBBUlJBWV9TSVpFKGZhY2lsaXR5X25hbWVzKTsgbisrKQorCQkJCXNldGJpdChjdGwuZmFjaWxpdGllcywgbik7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3cnOgorCQkJY3RsLmZvbGxvdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAneCc6CisJCQljdGwuZGVjb2RlID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9USU1FX0ZPUk1BVDoKKwkJCWN0bC50aW1lX2ZtdCA9IHdoaWNoX3RpbWVfZm9ybWF0KG9wdGFyZyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChhcmdjICE9IG9wdGluZCkgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAoKGlzX3RpbWVmbXQoJmN0bCwgUkVMVElNRSkgfHwKKwkgICAgIGlzX3RpbWVmbXQoJmN0bCwgQ1RJTUUpICAgfHwKKwkgICAgIGlzX3RpbWVmbXQoJmN0bCwgSVNPODYwMSkpCisJICAgICYmIGRtZXNnX2dldF9ib290X3RpbWUoJmN0bC5ib290X3RpbWUpICE9IDApCisJCWN0bC50aW1lX2ZtdCA9IERNRVNHX1RJTUVGVE1fTk9ORTsKKworCWlmIChkZWx0YSkKKwkJc3dpdGNoIChjdGwudGltZV9mbXQpIHsKKwkJY2FzZSBETUVTR19USU1FRlRNX0NUSU1FOgorCQkJY3RsLnRpbWVfZm10ID0gRE1FU0dfVElNRUZUTV9DVElNRV9ERUxUQTsKKwkJCWJyZWFrOworCQljYXNlIERNRVNHX1RJTUVGVE1fVElNRToKKwkJCWN0bC50aW1lX2ZtdCA9IERNRVNHX1RJTUVGVE1fVElNRV9ERUxUQTsKKwkJCWJyZWFrOworCQljYXNlIERNRVNHX1RJTUVGVE1fSVNPODYwMToKKwkJCXdhcm54KF8oIi0tc2hvdy1kZWx0YSBpcyBpZ25vcmVkIHdoZW4gdXNlZCB0b2dldGhlciB3aXRoIGlzbzg2MDEgdGltZSBmb3JtYXQiKSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWN0bC50aW1lX2ZtdCA9IERNRVNHX1RJTUVGVE1fREVMVEE7CisJCX0KKworCisJY3RsLmNvbG9yID0gY29sb3JzX2luaXQoY29sb3Jtb2RlLCAiZG1lc2ciKSA/IDEgOiAwOworCWlmIChjdGwuZm9sbG93KQorCQlub3BhZ2VyID0gMTsKKwljdGwucGFnZXIgPSBub3BhZ2VyID8gMCA6IGN0bC5wYWdlcjsKKwlpZiAoY3RsLnBhZ2VyKQorCQlwYWdlcl9yZWRpcmVjdCgpOworCisJc3dpdGNoIChjdGwuYWN0aW9uKSB7CisJY2FzZSBTWVNMT0dfQUNUSU9OX1JFQURfQUxMOgorCWNhc2UgU1lTTE9HX0FDVElPTl9SRUFEX0NMRUFSOgorCQlpZiAoY3RsLm1ldGhvZCA9PSBETUVTR19NRVRIT0RfS01TRyAmJiBpbml0X2ttc2coJmN0bCkgIT0gMCkKKwkJCWN0bC5tZXRob2QgPSBETUVTR19NRVRIT0RfU1lTTE9HOworCisJCWlmIChjdGwucmF3CisJCSAgICAmJiBjdGwubWV0aG9kICE9IERNRVNHX01FVEhPRF9LTVNHCisJCSAgICAmJiAoY3RsLmZsdHJfbGV2IHx8IGN0bC5mbHRyX2ZhYykpCisJCQkgICAgZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tcmF3IGNhbiBiZSB1c2VkIHRvZ2V0aGVyIHdpdGggLS1sZXZlbCBvciAiCisJCQkJICItLWZhY2lsaXR5IG9ubHkgd2hlbiByZWFkaW5nIG1lc3NhZ2VzIGZyb20gL2Rldi9rbXNnIikpOworCisJCS8qIG9ubHkga21zZyBzdXBwb3J0cyBtdWx0aS1saW5lIG1lc3NhZ2VzICovCisJCWlmIChjdGwuZm9yY2VfcHJlZml4ICYmIGN0bC5tZXRob2QgIT0gRE1FU0dfTUVUSE9EX0tNU0cpCisJCQljdGwuZm9yY2VfcHJlZml4ID0gMDsKKworCQlpZiAoY3RsLnBhZ2VyKQorCQkJcGFnZXJfcmVkaXJlY3QoKTsKKwkJbiA9IHJlYWRfYnVmZmVyKCZjdGwsICZidWYpOworCQlpZiAobiA+IDApCisJCQlwcmludF9idWZmZXIoJmN0bCwgYnVmLCBuKTsKKwkJaWYgKCFjdGwubW1hcF9idWZmKQorCQkJZnJlZShidWYpOworCQlpZiAobiA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJyZWFkIGtlcm5lbCBidWZmZXIgZmFpbGVkIikpOworCQlpZiAoY3RsLmttc2cgPj0gMCkKKwkJCWNsb3NlKGN0bC5rbXNnKTsKKwkJYnJlYWs7CisJY2FzZSBTWVNMT0dfQUNUSU9OX0NMRUFSOgorCWNhc2UgU1lTTE9HX0FDVElPTl9DT05TT0xFX09GRjoKKwljYXNlIFNZU0xPR19BQ1RJT05fQ09OU09MRV9PTjoKKwkJa2xvZ19yYyA9IGtsb2djdGwoY3RsLmFjdGlvbiwgTlVMTCwgMCk7CisJCWJyZWFrOworCWNhc2UgU1lTTE9HX0FDVElPTl9DT05TT0xFX0xFVkVMOgorCQlrbG9nX3JjID0ga2xvZ2N0bChjdGwuYWN0aW9uLCBOVUxMLCBjb25zb2xlX2xldmVsKTsKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIGNvbW1hbmQiKSk7CisJCWJyZWFrOworCX0KKworCisJaWYgKGtsb2dfcmMpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImtsb2djdGwgZmFpbGVkIikpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9lamVjdC4xIGIvc3lzLXV0aWxzL2VqZWN0LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkwMWIyMwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9lamVjdC4xCkBAIC0wLDAgKzEsMTg3IEBACisuXCIgQ29weXJpZ2h0IChDKSAxOTk0LTIwMDUgSmVmZiBUcmFudGVyICh0cmFudGVyQHBvYm94LmNvbSkKKy5cIiBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIKKy5cIiBJdCBtYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBQdWJsaWMgTGljZW5zZSwgdmVyc2lvbiAyLCBvcgorLlwiIGFueSBoaWdoZXIgdmVyc2lvbi4gU2VlIHNlY3Rpb24gQ09QWUlORyBvZiB0aGUgR05VIFB1YmxpYyBsaWNlbnNlCisuXCIgZm9yIGNvbmRpdGlvbnMgdW5kZXIgd2hpY2ggdGhpcyBmaWxlIG1heSBiZSByZWRpc3RyaWJ1dGVkLgorLlRIIEVKRUNUIDEgIkFwcmlsIDIwMTIiICJMaW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorZWplY3QgXC0gZWplY3QgcmVtb3ZhYmxlIG1lZGlhCisuU0ggU1lOT1BTSVMKKy5CIGVqZWN0Citbb3B0aW9uc10KKy5JUiBkZXZpY2UgfCBtb3VudHBvaW50CisuU0ggREVTQ1JJUFRJT04KKy5CIGVqZWN0CithbGxvd3MgcmVtb3ZhYmxlIG1lZGlhICh0eXBpY2FsbHkgYSBDRC1ST00sIGZsb3BweSBkaXNrLCB0YXBlLCBKQVosIFpJUCBvciBVU0IKK2Rpc2spIHRvIGJlIGVqZWN0ZWQgdW5kZXIgc29mdHdhcmUgY29udHJvbC4gIFRoZSBjb21tYW5kIGNhbiBhbHNvIGNvbnRyb2wgc29tZQorbXVsdGktZGlzYyBDRC1ST00gY2hhbmdlcnMsIHRoZSBhdXRvLWVqZWN0IGZlYXR1cmUgc3VwcG9ydGVkIGJ5IHNvbWUgZGV2aWNlcywKK2FuZCBjbG9zZSB0aGUgZGlzYyB0cmF5IG9mIHNvbWUgQ0QtUk9NIGRyaXZlcy4KKy5QUAorVGhlIGRldmljZSBjb3JyZXNwb25kaW5nIHRvIFxmSWRldmljZVxmUCBvciBcZkltb3VudHBvaW50XGZQIGlzIGVqZWN0ZWQuICBJZiBubworbmFtZSBpcyBzcGVjaWZpZWQsIHRoZSBkZWZhdWx0IG5hbWUgXGZCL2Rldi9jZHJvbVxmUiBpcyB1c2VkLiAgVGhlIGRldmljZSBtYXkgYmUKK2FkZHJlc3NlZCBieSBkZXZpY2UgbmFtZSAoZS5nLiAnc2RhJyksIGRldmljZSBwYXRoIChlLmcuICcvZGV2L3NkYScpLAorVVVJRD1cZkl1dWlkXGZSIG9yIExBQkVMPVxmSWxhYmVsXGZSIHRhZ3MuCisuUFAKK1RoZXJlIGFyZSBmb3VyIGRpZmZlcmVudCBtZXRob2RzIG9mIGVqZWN0aW5nLCBkZXBlbmRpbmcgb24gd2hldGhlciB0aGUgZGV2aWNlCitpcyBhIENELVJPTSwgU0NTSSBkZXZpY2UsIHJlbW92YWJsZSBmbG9wcHksIG9yIHRhcGUuICBCeSBkZWZhdWx0IFxmQmVqZWN0XGZSIHRyaWVzCithbGwgZm91ciBtZXRob2RzIGluIG9yZGVyIHVudGlsIGl0IHN1Y2NlZWRzLgorLlBQCitJZiBhIGRldmljZSBwYXJ0aXRpb24gaXMgc3BlY2lmaWVkLCB0aGUgd2hvbGUtZGlzayBkZXZpY2UgaXMgdXNlZC4gIElmIHRoZSBkZXZpY2UKK29yIGEgZGV2aWNlIHBhcnRpdGlvbiBpcyBjdXJyZW50bHkgbW91bnRlZCwgaXQgaXMgdW5tb3VudGVkIGJlZm9yZSBlamVjdGluZy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hdXRvIG9uIiB8IG9mZgorVGhpcyBvcHRpb24gY29udHJvbHMgdGhlIGF1dG8tZWplY3QgbW9kZSwgc3VwcG9ydGVkIGJ5IHNvbWUgZGV2aWNlcy4gIFdoZW4KK2VuYWJsZWQsIHRoZSBkcml2ZSBhdXRvbWF0aWNhbGx5IGVqZWN0cyB3aGVuIHRoZSBkZXZpY2UgaXMgY2xvc2VkLgorLlRQCisuQlIgXC1jICwgIiBcLVwtY2hhbmdlcnNsb3QgIiBcZklzbG90CitXaXRoIHRoaXMgb3B0aW9uIGEgQ0Qgc2xvdCBjYW4gYmUgc2VsZWN0ZWQgZnJvbSBhbiBBVEFQSS9JREUgQ0QtUk9NIGNoYW5nZXIuCitUaGUgQ0QtUk9NIGRyaXZlIGNhbm5vdCBiZSBpbiB1c2UgKG1vdW50ZWQgZGF0YSBDRCBvciBwbGF5aW5nIGEgbXVzaWMgQ0QpIGZvcgorYSBjaGFuZ2UgcmVxdWVzdCB0byB3b3JrLiBQbGVhc2UgYWxzbyBub3RlIHRoYXQgdGhlIGZpcnN0IHNsb3Qgb2YgdGhlIGNoYW5nZXIKK2lzIHJlZmVycmVkIHRvIGFzIDAsIG5vdCAxLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGVmYXVsdCIKK0xpc3QgdGhlIGRlZmF1bHQgZGV2aWNlIG5hbWUuCisuVFAKKy5CUiBcLUYgLCAiIFwtXC1mb3JjZSIKK0ZvcmNlIGVqZWN0LCBkb24ndCBjaGVjayBkZXZpY2UgdHlwZS4KKy5UUAorLkJSIFwtZiAsICIgXC1cLWZsb3BweSIKK1RoaXMgb3B0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBkcml2ZSBzaG91bGQgYmUgZWplY3RlZCB1c2luZyBhIHJlbW92YWJsZSBmbG9wcHkKK2Rpc2sgZWplY3QgY29tbWFuZC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaSAsICIgXC1cLW1hbnVhbGVqZWN0IG9uIiB8IG9mZgorVGhpcyBvcHRpb24gY29udHJvbHMgbG9ja2luZyBvZiB0aGUgaGFyZHdhcmUgZWplY3QgYnV0dG9uLiAgV2hlbiBlbmFibGVkLCB0aGUKK2RyaXZlIHdpbGwgbm90IGJlIGVqZWN0ZWQgd2hlbiB0aGUgYnV0dG9uIGlzIHByZXNzZWQuICBUaGlzIGlzIHVzZWZ1bCB3aGVuIHlvdQorYXJlIGNhcnJ5aW5nIGEgbGFwdG9wIGluIGEgYmFnIG9yIGNhc2UgYW5kIGRvbid0IHdhbnQgaXQgdG8gZWplY3QgaWYgdGhlIGJ1dHRvbgoraXMgaW5hZHZlcnRlbnRseSBwcmVzc2VkLgorLlRQCisuQlIgXC1NICwgIiBcLVwtbm9cLXBhcnRpdGlvbnNcLXVubW91bnQiCitUaGUgb3B0aW9uIHRlbGxzIGVqZWN0IHRvIG5vdCB0cnkgdG8gdW5tb3VudCBvdGhlciBwYXJ0aXRpb25zIG9uIHBhcnRpdGlvbmVkCitkZXZpY2VzLiAgSWYgYW5vdGhlciBwYXJ0aXRpb24gaXMgc3RpbGwgbW91bnRlZCwgdGhlIHByb2dyYW0gd2lsbCBub3QgYXR0ZW1wdAordG8gZWplY3QgdGhlIG1lZGlhLiAgSXQgd2lsbCBhdHRlbXB0IHRvIHVubW91bnQgb25seSB0aGUgZGV2aWNlIG9yIG1vdW50cG9pbnQKK2dpdmVuIG9uIHRoZSBjb21tYW5kIGxpbmUuCisuVFAKKy5CUiBcLW0gLCAiIFwtXC1ub1wtdW5tb3VudCIKK1RoZSBvcHRpb24gdGVsbHMgZWplY3QgdG8gbm90IHRyeSB0byB1bm1vdW50IGF0IGFsbC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vb3AiCitXaXRoIHRoaXMgb3B0aW9uIHRoZSBzZWxlY3RlZCBkZXZpY2UgaXMgZGlzcGxheWVkIGJ1dCBubyBhY3Rpb24gaXMgcGVyZm9ybWVkLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcHJvYyIKK1RoaXMgb3B0aW9uIGFsbG93cyB5b3UgdG8gdXNlIC9wcm9jL21vdW50cyBpbnN0ZWFkIC9ldGMvbXRhYi4gIEl0IGFsc28gcGFzc2VzIHRoZQorXGZCXC1uXGZSIG9wdGlvbiB0byBcZkJ1bW91bnRcZlIoOCkuCisuVFAKKy5CUiBcLXEgLCAiIFwtXC10YXBlIgorVGhpcyBvcHRpb24gc3BlY2lmaWVzIHRoYXQgdGhlIGRyaXZlIHNob3VsZCBiZSBlamVjdGVkIHVzaW5nIGEgdGFwZSBkcml2ZQorb2ZmbGluZSBjb21tYW5kLgorLlRQCisuQlIgXC1yICwgIiBcLVwtY2Ryb20iCitUaGlzIG9wdGlvbiBzcGVjaWZpZXMgdGhhdCB0aGUgZHJpdmUgc2hvdWxkIGJlIGVqZWN0ZWQgdXNpbmcgYSBDRFJPTSBlamVjdAorY29tbWFuZC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNjc2kiCitUaGlzIG9wdGlvbiBzcGVjaWZpZXMgdGhhdCB0aGUgZHJpdmUgc2hvdWxkIGJlIGVqZWN0ZWQgdXNpbmcgU0NTSSBjb21tYW5kcy4KKy5UUAorLkJSIFwtVCAsICIgXC1cLXRyYXl0b2dnbGUiCitXaXRoIHRoaXMgb3B0aW9uIHRoZSBkcml2ZSBpcyBnaXZlbiBhIENELVJPTSB0cmF5IGNsb3NlIGNvbW1hbmQgaWYgaXQncyBvcGVuZWQsCithbmQgYSBDRC1ST00gdHJheSBlamVjdCBjb21tYW5kIGlmIGl0J3MgY2xvc2VkLiAgTm90IGFsbCBkZXZpY2VzIHN1cHBvcnQgdGhpcworY29tbWFuZCwgYmVjYXVzZSBpdCB1c2VzIHRoZSBhYm92ZSBDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kLgorLlRQCisuQlIgXC10ICwgIiBcLVwtdHJheWNsb3NlIgorV2l0aCB0aGlzIG9wdGlvbiB0aGUgZHJpdmUgaXMgZ2l2ZW4gYSBDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kLiAgTm90IGFsbAorZGV2aWNlcyBzdXBwb3J0IHRoaXMgY29tbWFuZC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorUnVuIGluIHZlcmJvc2UgbW9kZTsgbW9yZSBpbmZvcm1hdGlvbiBpcyBkaXNwbGF5ZWQgYWJvdXQgd2hhdCB0aGUgY29tbWFuZCBpcworZG9pbmcuCisuVFAKKy5CUiBcLVggLCAiIFwtXC1saXN0c3BlZWQiCitXaXRoIHRoaXMgb3B0aW9uIHRoZSBDRC1ST00gZHJpdmUgd2lsbCBiZSBwcm9iZWQgdG8gZGV0ZWN0IHRoZSBhdmFpbGFibGUKK3NwZWVkcy4gIFRoZSBvdXRwdXQgaXMgYSBsaXN0IG9mIHNwZWVkcyB3aGljaCBjYW4gYmUgdXNlZCBhcyBhbiBhcmd1bWVudCBvZiB0aGUKK1xmQlwteFxmUiBvcHRpb24uICBUaGlzIG9ubHkgd29ya3Mgd2l0aCBMaW51eCAyLjYuMTMgb3IgaGlnaGVyLCBvbiBwcmV2aW91cyB2ZXJzaW9ucworc29sZWx5IHRoZSBtYXhpbXVtIHNwZWVkIHdpbGwgYmUgcmVwb3J0ZWQuICBBbHNvIG5vdGUgdGhhdCBzb21lIGRyaXZlcyBtYXkgbm90Citjb3JyZWN0bHkgcmVwb3J0IHRoZSBzcGVlZCBhbmQgdGhlcmVmb3JlIHRoaXMgb3B0aW9uIGRvZXMgbm90IHdvcmsgd2l0aCB0aGVtLgorLlRQCisuQlIgXC14ICwgIiBcLVwtY2RzcGVlZCAiIFxmSXNwZWVkCitXaXRoIHRoaXMgb3B0aW9uIHRoZSBkcml2ZSBpcyBnaXZlbiBhIENELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZC4gIFRoZQorLkkgc3BlZWQKK2FyZ3VtZW50IGlzIGEgbnVtYmVyIGluZGljYXRpbmcgdGhlIGRlc2lyZWQgc3BlZWQgKGUuZy4gOCBmb3IgOFggc3BlZWQpLCBvciAwCitmb3IgbWF4aW11bSBkYXRhIHJhdGUuICBOb3QgYWxsIGRldmljZXMgc3VwcG9ydCB0aGlzIGNvbW1hbmQgYW5kIHlvdSBjYW4gb25seQorc3BlY2lmeSBzcGVlZHMgdGhhdCB0aGUgZHJpdmUgaXMgY2FwYWJsZSBvZi4gIEV2ZXJ5IHRpbWUgdGhlIG1lZGlhIGlzIGNoYW5nZWQKK3RoaXMgb3B0aW9uIGlzIGNsZWFyZWQuICBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZCBhbG9uZSwgb3Igd2l0aCB0aGUKK1xmQlwtdFxmUiBhbmQgXGZCXC1jXGZSIG9wdGlvbnMuCisuU0ggRVhJVCBTVEFUVVMKK1JldHVybnMgMCBpZiBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwsIDEgaWYgb3BlcmF0aW9uIGZhaWxlZCBvciBjb21tYW5kIHN5bnRheAord2FzIG5vdCB2YWxpZC4KKy5TSCBOT1RFUworLkIgZWplY3QKK29ubHkgd29ya3Mgd2l0aCBkZXZpY2VzIHRoYXQgc3VwcG9ydCBvbmUgb3IgbW9yZSBvZiB0aGUgZm91ciBtZXRob2RzIG9mCitlamVjdGluZy4gIFRoaXMgaW5jbHVkZXMgbW9zdCBDRC1ST00gZHJpdmVzIChJREUsIFNDU0ksIGFuZCBwcm9wcmlldGFyeSksIHNvbWUKK1NDU0kgdGFwZSBkcml2ZXMsIEpBWiBkcml2ZXMsIFpJUCBkcml2ZXMgKHBhcmFsbGVsIHBvcnQsIFNDU0ksIGFuZCBJREUKK3ZlcnNpb25zKSwgYW5kIExTMTIwIHJlbW92YWJsZSBmbG9wcGllcy4gIFVzZXJzIGhhdmUgYWxzbyByZXBvcnRlZCBzdWNjZXNzIHdpdGgKK2Zsb3BweSBkcml2ZXMgb24gU3VuIFNQQVJDIGFuZCBBcHBsZSBNYWNpbnRvc2ggc3lzdGVtcy4gIElmCisuQiBlamVjdAorZG9lcyBub3Qgd29yaywgaXQgaXMgbW9zdCBsaWtlbHkgYSBsaW1pdGF0aW9uIG9mIHRoZSBrZXJuZWwgZHJpdmVyIGZvciB0aGUKK2RldmljZSBhbmQgbm90IHRoZQorLkIgZWplY3QKK3Byb2dyYW0gaXRzZWxmLgorLlBQCitUaGUgXGZCXC1yXGZSLCBcZkJcLXNcZlIsIFxmQlwtZlxmUiwgYW5kIFxmQlwtcVxmUiBvcHRpb25zIGFsbG93IGNvbnRyb2xsaW5nCit3aGljaCBtZXRob2RzIGFyZSB1c2VkIHRvCitlamVjdC4gIE1vcmUgdGhhbiBvbmUgbWV0aG9kIGNhbiBiZSBzcGVjaWZpZWQuICBJZiBub25lIG9mIHRoZXNlIG9wdGlvbnMgYXJlCitzcGVjaWZpZWQsIGl0IHRyaWVzIGFsbCBmb3VyICh0aGlzIHdvcmtzIGZpbmUgaW4gbW9zdCBjYXNlcykuCisuUFAKKy5CIGVqZWN0CittYXkgbm90IGFsd2F5cyBiZSBhYmxlIHRvIGRldGVybWluZSBpZiB0aGUgZGV2aWNlIGlzIG1vdW50ZWQgKGUuZy4gaWYgaXQgaGFzCitzZXZlcmFsIG5hbWVzKS4gIElmIHRoZSBkZXZpY2UgbmFtZSBpcyBhIHN5bWJvbGljIGxpbmssCisuQiBlamVjdAord2lsbCBmb2xsb3cgdGhlIGxpbmsgYW5kIHVzZSB0aGUgZGV2aWNlIHRoYXQgaXQgcG9pbnRzIHRvLgorLlBQCitJZgorLkIgZWplY3QKK2RldGVybWluZXMgdGhhdCB0aGUgZGV2aWNlIGNhbiBoYXZlIG11bHRpcGxlIHBhcnRpdGlvbnMsIGl0IHdpbGwgYXR0ZW1wdCB0bwordW5tb3VudCBhbGwgbW91bnRlZCBwYXJ0aXRpb25zIG9mIHRoZSBkZXZpY2UgYmVmb3JlIGVqZWN0aW5nIChzZWUgYWxzbworXGZCLS1uby1wYXJ0aXRpb25zLXVubW91bnRcZlIpLiAgSWYgYW4gdW5tb3VudCBmYWlscywgdGhlIHByb2dyYW0gd2lsbCBub3QKK2F0dGVtcHQgdG8gZWplY3QgdGhlIG1lZGlhLgorLlBQCitZb3UgY2FuIGVqZWN0IGFuIGF1ZGlvIENELiAgU29tZSBDRC1ST00gZHJpdmVzIHdpbGwgcmVmdXNlIHRvIG9wZW4gdGhlIHRyYXkgaWYKK3RoZSBkcml2ZSBpcyBlbXB0eS4gIFNvbWUgZGV2aWNlcyBkbyBub3Qgc3VwcG9ydCB0aGUgdHJheSBjbG9zZSBjb21tYW5kLgorLlBQCitJZiB0aGUgYXV0by1lamVjdCBmZWF0dXJlIGlzIGVuYWJsZWQsIHRoZW4gdGhlIGRyaXZlIHdpbGwgYWx3YXlzIGJlIGVqZWN0ZWQKK2FmdGVyIHJ1bm5pbmcgdGhpcyBjb21tYW5kLiAgTm90IGFsbCBMaW51eCBrZXJuZWwgQ0QtUk9NIGRyaXZlcnMgc3VwcG9ydCB0aGUKK2F1dG8tZWplY3QgbW9kZS4gIFRoZXJlIGlzIG5vIHdheSB0byBmaW5kIG91dCB0aGUgc3RhdGUgb2YgdGhlIGF1dG8tZWplY3QgbW9kZS4KKy5QUAorWW91IG5lZWQgYXBwcm9wcmlhdGUgcHJpdmlsZWdlcyB0byBhY2Nlc3MgdGhlIGRldmljZSBmaWxlcy4gIFJ1bm5pbmcgYXMgcm9vdCBpcworcmVxdWlyZWQgdG8gZWplY3Qgc29tZSBkZXZpY2VzIChlLmcuIFNDU0kgZGV2aWNlcykuCisuU0ggQVVUSE9SUworLk1UIHRyYW50ZXJAXDpwb2JveC5jb20KK0plZmYgVHJhbnRlcgorLk1FCistIG9yaWdpbmFsIGF1dGhvci4KKy5icgorLk1UIGt6YWtAXDpyZWRoYXQuY29tCitLYXJlbCBaYWsKKy5NRQorYW5kCisuTVQgbWx1c2NvbkBcOnJlZGhhdC5jb20KK01pY2hhbCBMdXNjb24KKy5NRQorLSB1dGlsLWxpbnV4IHZlcnNpb24uCisuU0ggU0VFIEFMU08KKy5CUiBmaW5kbW50ICg4KSwKKy5CUiBsc2JsayAoOCksCisuQlIgbW91bnQgKDgpLAorLkJSIHVtb3VudCAoOCkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBlamVjdCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2VqZWN0LmMgYi9zeXMtdXRpbHMvZWplY3QuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NjA5MGM0Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2VqZWN0LmMKQEAgLTAsMCArMSwxMDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAxOTk0LTIwMDUgSmVmZiBUcmFudGVyICh0cmFudGVyQHBvYm94LmNvbSkKKyAqIENvcHlyaWdodCAoQykgMjAxMiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgTWljaGFsIEx1c2NvbiA8bWx1c2NvbkByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKyAqIEZvdW5kYXRpb24sIEluYy4sIDU5IFRlbXBsZSBQbGFjZSwgU3VpdGUgMzMwLCBCb3N0b24sIE1BIDAyMTExLTEzMDcgVVNBCisgKi8KKworI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKworI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8cmVnZXguaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8c3lzL210aW8uaD4KKyNpbmNsdWRlIDxsaW51eC9jZHJvbS5oPgorI2luY2x1ZGUgPGxpbnV4L2ZkLmg+CisjaW5jbHVkZSA8c3lzL21vdW50Lmg+CisjaW5jbHVkZSA8c2NzaS9zY3NpLmg+CisjaW5jbHVkZSA8c2NzaS9zZy5oPgorI2luY2x1ZGUgPHNjc2kvc2NzaV9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisKKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorI2luY2x1ZGUgIm1vbm90b25pYy5oIgorCisvKgorICogc2dfaW9faGRyX3QgZHJpdmVyX3N0YXR1cyAtLSBzZWUga2VybmVsIGluY2x1ZGUvc2NzaS9zY3NpLmgKKyAqLworI2lmbmRlZiBEUklWRVJfU0VOU0UKKyMgZGVmaW5lIERSSVZFUl9TRU5TRQkweDA4CisjZW5kaWYKKworCisjZGVmaW5lIEVKRUNUX0RFRkFVTFRfREVWSUNFICIvZGV2L2Nkcm9tIgorCisKKy8qIFVzZWQgYnkgdGhlIHRvZ2dsZV90cmF5KCkgZnVuY3Rpb24uIElmIGVqZWN0aW5nIHRoZSB0cmF5IHRha2VzIHRoaXMKKyAqIHRpbWUgb3IgbGVzcywgdGhlIHRyYXkgd2FzIHByb2JhYmx5IGFscmVhZHkgZWplY3RlZCwgc28gd2UgY2xvc2UgaXQKKyAqIGFnYWluLgorICovCisjZGVmaW5lIFRSQVlfV0FTX0FMUkVBRFlfT1BFTl9VU0VDUyAgMjAwMDAwCS8qIGFib3V0IDAuMiBzZWNvbmRzICovCisKK3N0cnVjdCBlamVjdF9jb250cm9sIHsKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICptdGFiOworCWNoYXIgKmRldmljZTsJCQkvKiBkZXZpY2Ugb3IgbW91bnQgcG9pbnQgdG8gYmUgZWplY3RlZCAqLworCWludCBmZDsJCQkJLyogZmlsZSBkZXNjcmlwdG9yIGZvciBkZXZpY2UgKi8KKwl1bnNpZ25lZCBpbnQgCQkJLyogY29tbWFuZCBmbGFncyBhbmQgYXJndW1lbnRzICovCisJCWFfb3B0aW9uOjEsCisJCWNfb3B0aW9uOjEsCisJCWRfb3B0aW9uOjEsCisJCUZfb3B0aW9uOjEsCisJCWZfb3B0aW9uOjEsCisJCWlfb3B0aW9uOjEsCisJCU1fb3B0aW9uOjEsCisJCW1fb3B0aW9uOjEsCisJCW5fb3B0aW9uOjEsCisJCXBfb3B0aW9uOjEsCisJCXFfb3B0aW9uOjEsCisJCXJfb3B0aW9uOjEsCisJCXNfb3B0aW9uOjEsCisJCVRfb3B0aW9uOjEsCisJCXRfb3B0aW9uOjEsCisJCXZfb3B0aW9uOjEsCisJCVhfb3B0aW9uOjEsCisJCXhfb3B0aW9uOjEsCisJCWFfYXJnOjEsCisJCWlfYXJnOjE7CisJbG9uZyBpbnQgY19hcmc7CQkJLyogY2hhbmdlciBzbG90IG51bWJlciAqLworCWxvbmcgaW50IHhfYXJnOwkJCS8qIGNkIHNwZWVkICovCit9OworCitzdGF0aWMgdm9pZCB2aW5mbyhjb25zdCBjaGFyICpmbXQsIHZhX2xpc3QgdmEpCit7CisJZnByaW50ZihzdGRvdXQsICIlczogIiwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCXZwcmludGYoZm10LCB2YSk7CisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHZlcmJvc2UoY29uc3Qgc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCB2YTsKKworCWlmICghY3RsLT52X29wdGlvbikKKwkJcmV0dXJuOworCisJdmFfc3RhcnQodmEsIGZtdCk7CisJdmluZm8oZm10LCB2YSk7CisJdmFfZW5kKHZhKTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIGluZm8oY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCB2YTsKKwl2YV9zdGFydCh2YSwgZm10KTsKKwl2aW5mbyhmbXQsIHZhKTsKKwl2YV9lbmQodmEpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gWzxkZXZpY2U+fDxtb3VudHBvaW50Pl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRWplY3QgcmVtb3ZhYmxlIG1lZGlhLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYSwgLS1hdXRvIDxvbnxvZmY+ICAgICAgICAgdHVybiBhdXRvLWVqZWN0IGZlYXR1cmUgb24gb3Igb2ZmXG4iCisJCSIgLWMsIC0tY2hhbmdlcnNsb3QgPHNsb3Q+ICAgIHN3aXRjaCBkaXNjcyBvbiBhIENELVJPTSBjaGFuZ2VyXG4iCisJCSIgLWQsIC0tZGVmYXVsdCAgICAgICAgICAgICAgIGRpc3BsYXkgZGVmYXVsdCBkZXZpY2VcbiIKKwkJIiAtZiwgLS1mbG9wcHkgICAgICAgICAgICAgICAgZWplY3QgZmxvcHB5XG4iCisJCSIgLUYsIC0tZm9yY2UgICAgICAgICAgICAgICAgIGRvbid0IGNhcmUgYWJvdXQgZGV2aWNlIHR5cGVcbiIKKwkJIiAtaSwgLS1tYW51YWxlamVjdCA8b258b2ZmPiAgdG9nZ2xlIG1hbnVhbCBlamVjdCBwcm90ZWN0aW9uIG9uL29mZlxuIgorCQkiIC1tLCAtLW5vLXVubW91bnQgICAgICAgICAgICBkbyBub3QgdW5tb3VudCBkZXZpY2UgZXZlbiBpZiBpdCBpcyBtb3VudGVkXG4iCisJCSIgLU0sIC0tbm8tcGFydGl0aW9ucy11bm1vdW50IGRvIG5vdCB1bm1vdW50IGFub3RoZXIgcGFydGl0aW9uc1xuIgorCQkiIC1uLCAtLW5vb3AgICAgICAgICAgICAgICAgICBkb24ndCBlamVjdCwganVzdCBzaG93IGRldmljZSBmb3VuZFxuIgorCQkiIC1wLCAtLXByb2MgICAgICAgICAgICAgICAgICB1c2UgL3Byb2MvbW91bnRzIGluc3RlYWQgb2YgL2V0Yy9tdGFiXG4iCisJCSIgLXEsIC0tdGFwZSAgICAgICAgICAgICAgICAgIGVqZWN0IHRhcGVcbiIKKwkJIiAtciwgLS1jZHJvbSAgICAgICAgICAgICAgICAgZWplY3QgQ0QtUk9NXG4iCisJCSIgLXMsIC0tc2NzaSAgICAgICAgICAgICAgICAgIGVqZWN0IFNDU0kgZGV2aWNlXG4iCisJCSIgLXQsIC0tdHJheWNsb3NlICAgICAgICAgICAgIGNsb3NlIHRyYXlcbiIKKwkJIiAtVCwgLS10cmF5dG9nZ2xlICAgICAgICAgICAgdG9nZ2xlIHRyYXlcbiIKKwkJIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgZW5hYmxlIHZlcmJvc2Ugb3V0cHV0XG4iCisJCSIgLXgsIC0tY2RzcGVlZCA8c3BlZWQ+ICAgICAgIHNldCBDRC1ST00gbWF4IHNwZWVkXG4iCisJCSIgLVgsIC0tbGlzdHNwZWVkICAgICAgICAgICAgIGxpc3QgQ0QtUk9NIGF2YWlsYWJsZSBzcGVlZHNcbiIpLAorCQlvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjkpKTsKKworCWZwdXRzKF8oIlxuQnkgZGVmYXVsdCB0cmllcyAtciwgLXMsIC1mLCBhbmQgLXEgaW4gb3JkZXIgdW50aWwgc3VjY2Vzcy5cbiIpLCBvdXQpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiZWplY3QoMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKKworLyogSGFuZGxlIGNvbW1hbmQgbGluZSBvcHRpb25zLiAqLworc3RhdGljIHZvaWQgcGFyc2VfYXJncyhzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsLCBpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ19vcHRzW10gPQorCXsKKwkJeyJhdXRvIiwJcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsiY2Ryb20iLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ3InfSwKKwkJeyJjZHNwZWVkIiwJcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd4J30sCisJCXsiY2hhbmdlcnNsb3QiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2MnfSwKKwkJeyJkZWZhdWx0IiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdkJ30sCisJCXsiZmxvcHB5IiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdmJ30sCisJCXsiZm9yY2UiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0YnfSwKKwkJeyJoZWxwIiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdoJ30sCisJCXsibGlzdHNwZWVkIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1gnfSwKKwkJeyJtYW51YWxlamVjdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnaSd9LAorCQl7Im5vb3AiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ24nfSwKKwkJeyJuby11bm1vdW50IiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdtJ30sCisJCXsibm8tcGFydGl0aW9ucy11bm1vdW50Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdNJyB9LAorCQl7InByb2MiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ3AnfSwKKwkJeyJzY3NpIiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICdzJ30sCisJCXsidGFwZSIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAncSd9LAorCQl7InRyYXljbG9zZSIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAndCd9LAorCQl7InRyYXl0b2dnbGUiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ1QnfSwKKwkJeyJ2ZXJib3NlIiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICd2J30sCisJCXsidmVyc2lvbiIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCAnVid9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCWludCBjOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwKKwkJCQkiYTpjOmk6eDpkZkZobnFyc3RUWHZWcG1NIiwgbG9uZ19vcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgorCQkJY3RsLT5hX29wdGlvbiA9IDE7CisJCQljdGwtPmFfYXJnID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwKKwkJCQkJCSJvbiIsICJvZmYiLCAgIjEiLCAiMCIsICBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCWN0bC0+Y19vcHRpb24gPSAxOworCQkJY3RsLT5jX2FyZyA9IHN0cnRvdWxfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBhcmd1bWVudCB0byAtLWNoYW5nZXJzbG90Ly1jIG9wdGlvbiIpKTsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCWN0bC0+eF9vcHRpb24gPSAxOworCQkJY3RsLT54X2FyZyA9IHN0cnRvdWxfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBhcmd1bWVudCB0byAtLWNkc3BlZWQvLXggb3B0aW9uIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJY3RsLT5kX29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQljdGwtPmZfb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdGJzoKKwkJCWN0bC0+Rl9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWN0bC0+aV9vcHRpb24gPSAxOworCQkJY3RsLT5pX2FyZyA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkib24iLCAib2ZmIiwgICIxIiwgIjAiLCAgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSAnbSc6CisJCQljdGwtPm1fb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdNJzoKKwkJCWN0bC0+TV9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJY3RsLT5uX29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQljdGwtPnBfb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdxJzoKKwkJCWN0bC0+cV9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJY3RsLT5yX29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQljdGwtPnNfb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCWN0bC0+dF9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1QnOgorCQkJY3RsLT5UX29wdGlvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnWCc6CisJCQljdGwtPlhfb3B0aW9uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWN0bC0+dl9vcHRpb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJLyogY2hlY2sgZm9yIGEgc2luZ2xlIGFkZGl0aW9uYWwgYXJndW1lbnQgKi8KKwlpZiAoKGFyZ2MgLSBvcHRpbmQpID4gMSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvbyBtYW55IGFyZ3VtZW50cyIpKTsKKworCWlmICgoYXJnYyAtIG9wdGluZCkgPT0gMSkKKwkJY3RsLT5kZXZpY2UgPSB4c3RyZHVwKGFyZ3Zbb3B0aW5kXSk7Cit9CisKKy8qCisgKiBHaXZlbiBuYW1lLCBzdWNoIGFzIGZvbywgc2VlIGlmIGFueSBvZiB0aGUgZm9sbG93aW5nIGV4aXN0OgorICoKKyAqIGZvbyAoaWYgZm9vIHN0YXJ0cyB3aXRoICcuJyBvciAnLycpCisgKiAvZGV2L2ZvbworICoKKyAqIElmIGZvdW5kLCByZXR1cm4gdGhlIGZ1bGwgcGF0aC4gSWYgbm90IGZvdW5kLCByZXR1cm4gMC4KKyAqIFJldHVybnMgcG9pbnRlciB0byBkeW5hbWljYWxseSBhbGxvY2F0ZWQgc3RyaW5nLgorICovCitzdGF0aWMgY2hhciAqZmluZF9kZXZpY2UoY29uc3QgY2hhciAqbmFtZSkKK3sKKwlpZiAoIW5hbWUpCisJCXJldHVybiBOVUxMOworCisJaWYgKCgqbmFtZSA9PSAnLicgfHwgKm5hbWUgPT0gJy8nKSAmJiBhY2Nlc3MobmFtZSwgRl9PSykgPT0gMCkKKwkJcmV0dXJuIHhzdHJkdXAobmFtZSk7CisJZWxzZSB7CisJCWNoYXIgYnVmW1BBVEhfTUFYXTsKKworCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiL2Rldi8lcyIsIG5hbWUpOworCQlpZiAoYWNjZXNzKGJ1ZiwgRl9PSykgPT0gMCkKKwkJCXJldHVybiB4c3RyZHVwKGJ1Zik7CisJfQorCisJcmV0dXJuIE5VTEw7Cit9CisKKy8qIFNldCBvciBjbGVhciBhdXRvLWVqZWN0IG1vZGUuICovCitzdGF0aWMgdm9pZCBhdXRvX2VqZWN0KGNvbnN0IHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwpCit7CisJaW50IHN0YXR1cyA9IC0xOworCisjaWYgZGVmaW5lZChDRFJPTV9TRVRfT1BUSU9OUykgJiYgZGVmaW5lZChDRFJPTV9DTEVBUl9PUFRJT05TKQorCWlmIChjdGwtPmFfYXJnKQorCQlzdGF0dXMgPSBpb2N0bChjdGwtPmZkLCBDRFJPTV9TRVRfT1BUSU9OUywgQ0RPX0FVVE9fRUpFQ1QpOworCWVsc2UKKwkJc3RhdHVzID0gaW9jdGwoY3RsLT5mZCwgQ0RST01fQ0xFQVJfT1BUSU9OUywgQ0RPX0FVVE9fRUpFQ1QpOworI2Vsc2UKKwllcnJubyA9IEVOT1NZUzsKKyNlbmRpZgorCWlmIChzdGF0dXMgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLF8oIkNELVJPTSBhdXRvLWVqZWN0IGNvbW1hbmQgZmFpbGVkIikpOworfQorCisvKgorICogU3RvcHMgQ0RST00gZnJvbSBvcGVuaW5nIG9uIG1hbnVhbCBlamVjdCBidXR0b24gcHJlc3MuCisgKiBUaGlzIGNhbiBiZSB1c2VmdWwgd2hlbiB5b3UgY2FycnkgeW91ciBsYXB0b3AKKyAqIGluIHlvdXIgYmFnIHdoaWxlIGl0J3Mgb24gYW5kIG5vIENEIGluc2VydGVkIGluIGl0J3MgZHJpdmUuCisgKiBJbXBsZW1lbnRlZCBhcyBmb3VuZCBpbiBEb2N1bWVudGF0aW9uL2lvY3RsL2Nkcm9tLnR4dAorICovCitzdGF0aWMgdm9pZCBtYW51YWxfZWplY3QoY29uc3Qgc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCkKK3sKKwlpZiAoaW9jdGwoY3RsLT5mZCwgQ0RST01fTE9DS0RPT1IsIGN0bC0+aV9hcmcpIDwgMCkgeworCQlzd2l0Y2ggKGVycm5vKSB7CisJCWNhc2UgRURSSVZFX0NBTlRfRE9fVEhJUzoKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJDRC1ST00gZG9vciBsb2NrIGlzIG5vdCBzdXBwb3J0ZWQiKSk7CisJCWNhc2UgRUJVU1k6CisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib3RoZXIgdXNlcnMgaGF2ZSB0aGUgZHJpdmUgb3BlbiBhbmQgbm90IENBUF9TWVNfQURNSU4iKSk7CisJCWRlZmF1bHQ6CisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDRC1ST00gbG9jayBkb29yIGNvbW1hbmQgZmFpbGVkIikpOworCQl9CisJfQorCisJaWYgKGN0bC0+aV9hcmcpCisJCWluZm8oXygiQ0QtRHJpdmUgbWF5IE5PVCBiZSBlamVjdGVkIHdpdGggZGV2aWNlIGJ1dHRvbiIpKTsKKwllbHNlCisJCWluZm8oXygiQ0QtRHJpdmUgbWF5IGJlIGVqZWN0ZWQgd2l0aCBkZXZpY2UgYnV0dG9uIikpOworfQorCisvKgorICogQ2hhbmdlciBzZWxlY3QuIENEUk9NX1NFTEVDVF9ESVNDIGlzIHByZWZlcnJlZCwgb2xkZXIga2VybmVscyB1c2VkCisgKiBDRFJPTUxPQURGUk9NU0xPVC4KKyAqLworc3RhdGljIHZvaWQgY2hhbmdlcl9zZWxlY3QoY29uc3Qgc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCkKK3sKKyNpZmRlZiBDRFJPTV9TRUxFQ1RfRElTQworCWlmIChpb2N0bChjdGwtPmZkLCBDRFJPTV9TRUxFQ1RfRElTQywgY3RsLT5jX2FyZykgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDRC1ST00gc2VsZWN0IGRpc2MgY29tbWFuZCBmYWlsZWQiKSk7CisKKyNlbGlmIGRlZmluZWQgQ0RST01MT0FERlJPTVNMT1QKKwlpZiAoaW9jdGwoY3RsLT5mZCwgQ0RST01MT0FERlJPTVNMT1QsIGN0bC0+Y19hcmcpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIkNELVJPTSBsb2FkIGZyb20gc2xvdCBjb21tYW5kIGZhaWxlZCIpKTsKKyNlbHNlCisJd2FybngoXygiSURFL0FUQVBJIENELVJPTSBjaGFuZ2VyIG5vdCBzdXBwb3J0ZWQgYnkgdGhpcyBrZXJuZWxcbiIpICk7CisjZW5kaWYKK30KKworLyoKKyAqIENsb3NlIHRyYXkuIE5vdCBzdXBwb3J0ZWQgYnkgb2xkZXIga2VybmVscy4KKyAqLworc3RhdGljIHZvaWQgY2xvc2VfdHJheShpbnQgZmQpCit7CisJaW50IHN0YXR1czsKKworI2lmIGRlZmluZWQoQ0RST01DTE9TRVRSQVkpIHx8IGRlZmluZWQoQ0RJT0NDTE9TRSkKKyNpZiBkZWZpbmVkKENEUk9NQ0xPU0VUUkFZKQorCXN0YXR1cyA9IGlvY3RsKGZkLCBDRFJPTUNMT1NFVFJBWSk7CisjZWxpZiBkZWZpbmVkKENESU9DQ0xPU0UpCisJc3RhdHVzID0gaW9jdGwoZmQsIENESU9DQ0xPU0UpOworI2VuZGlmCisJaWYgKHN0YXR1cyAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDRC1ST00gdHJheSBjbG9zZSBjb21tYW5kIGZhaWxlZCIpKTsKKyNlbHNlCisJd2FybngoXygiQ0QtUk9NIHRyYXkgY2xvc2UgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsXG4iKSk7CisjZW5kaWYKK30KKworLyoKKyAqIEVqZWN0IHVzaW5nIENEUk9NRUpFQ1QgaW9jdGwuCisgKi8KK3N0YXRpYyBpbnQgZWplY3RfY2Ryb20oaW50IGZkKQoreworI2lmIGRlZmluZWQoQ0RST01FSkVDVCkKKwlpbnQgcmV0ID0gaW9jdGwoZmQsIENEUk9NX0xPQ0tET09SLCAwKTsKKwlpZiAocmV0IDwgMCkKKwkJcmV0dXJuIDA7CisJcmV0dXJuIGlvY3RsKGZkLCBDRFJPTUVKRUNUKSA+PSAwOworI2VsaWYgZGVmaW5lZChDRElPQ0VKRUNUKQorCXJldHVybiBpb2N0bChmZCwgQ0RJT0NFSkVDVCkgPj0gMDsKKyNlbHNlCisJd2FybngoXygiQ0QtUk9NIGVqZWN0IHVuc3VwcG9ydGVkIikpOworCWVycm5vID0gRU5PU1lTOworCXJldHVybiAwOworI2VuZGlmCit9CisKKy8qCisgKiBUb2dnbGUgdHJheS4KKyAqCisgKiBXcml0dGVuIGJ5IEJlbmphbWluIFNjaHdlbmsgPGJlbmphbWluc2Nod2Vua0B5YWhvby5kZT4gYW5kCisgKiBTeWJyZW4gU3R1dmVsIDxzeWJyZW5AdGhpcmR0b3dlci5jb20+CisgKgorICogTm90IHN1cHBvcnRlZCBieSBvbGRlciBrZXJuZWxzIGJlY2F1c2UgaXQgbWlnaHQgdXNlCisgKiBDbG9zZVRyYXkoKS4KKyAqCisgKi8KK3N0YXRpYyB2b2lkIHRvZ2dsZV90cmF5KGludCBmZCkKK3sKKyNpZmRlZiBDRFJPTV9EUklWRV9TVEFUVVMKKwkvKiBGaXJzdCBhc2sgdGhlIENEUk9NIGZvciBpbmZvLCBvdGhlcndpc2UgZmFsbCBiYWNrIHRvIG1hbnVhbC4gICovCisJc3dpdGNoIChpb2N0bChmZCwgQ0RST01fRFJJVkVfU1RBVFVTKSkgeworCWNhc2UgQ0RTX1RSQVlfT1BFTjoKKwkJY2xvc2VfdHJheShmZCk7CisJCXJldHVybjsKKworCWNhc2UgQ0RTX05PX0RJU0M6CisJY2FzZSBDRFNfRElTQ19PSzoKKwkJaWYgKCFlamVjdF9jZHJvbShmZCkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiKSk7CisJCXJldHVybjsKKwljYXNlIENEU19OT19JTkZPOgorCQl3YXJueChfKCJubyBDRC1ST00gaW5mb3JtYXRpb24gYXZhaWxhYmxlIikpOworCQlyZXR1cm47CisJY2FzZSBDRFNfRFJJVkVfTk9UX1JFQURZOgorCQl3YXJueChfKCJDRC1ST00gZHJpdmUgaXMgbm90IHJlYWR5IikpOworCQlyZXR1cm47CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsKKwl9CisjZWxzZQorCXN0cnVjdCB0aW1ldmFsIHRpbWVfc3RhcnQsIHRpbWVfc3RvcDsKKwlpbnQgdGltZV9lbGFwc2VkOworCisJLyogVHJ5IHRvIG9wZW4gdGhlIENEUk9NIHRyYXkgYW5kIG1lYXN1cmUgdGhlIHRpbWUgdGhlcmVmb3IKKwkgKiBuZWVkZWQuICBJbiBteSBleHBlcmllbmNlIHRoZSBmdW5jdGlvbiBuZWVkcyBsZXNzIHRoYW4gMC4wNQorCSAqIHNlY29uZHMgaWYgdGhlIHRyYXkgd2FzIGFscmVhZHkgb3BlbiwgYW5kIGF0IGxlYXN0IDEuNSBzZWNvbmRzCisJICogaWYgaXQgd2FzIGNsb3NlZC4gICovCisJZ2V0dGltZV9tb25vdG9uaWMoJnRpbWVfc3RhcnQpOworCisJLyogU2VuZCB0aGUgQ0RST01FSkVDVCBjb21tYW5kIHRvIHRoZSBkZXZpY2UuICovCisJaWYgKCFlamVjdF9jZHJvbShmZCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIkNELVJPTSBlamVjdCBjb21tYW5kIGZhaWxlZCIpKTsKKworCS8qIEdldCB0aGUgc2Vjb25kIHRpbWVzdGFtcCwgdG8gbWVhc3VyZSB0aGUgdGltZSBuZWVkZWQgdG8gb3BlbgorCSAqIHRoZSB0cmF5LiAgKi8KKwlnZXR0aW1lX21vbm90b25pYygmdGltZV9zdG9wKTsKKworCXRpbWVfZWxhcHNlZCA9ICh0aW1lX3N0b3AudHZfc2VjICogMTAwMDAwMCArIHRpbWVfc3RvcC50dl91c2VjKSAtCisJCSh0aW1lX3N0YXJ0LnR2X3NlYyAqIDEwMDAwMDAgKyB0aW1lX3N0YXJ0LnR2X3VzZWMpOworCisJLyogSWYgdGhlIHRyYXkgIm9wZW5lZCIgdG9vIGZhc3QsIHdlIGNhbiBiZSBuZWFybHkgc3VyZSwgdGhhdCBpdAorCSAqIHdhcyBhbHJlYWR5IG9wZW4uIEluIHRoaXMgY2FzZSwgY2xvc2UgaXQgbm93LiBFbHNlIHRoZSB0cmF5IHdhcworCSAqIGNsb3NlZCBiZWZvcmUuIFRoaXMgd291bGQgbWVhbiB0aGF0IHdlIGFyZSBkb25lLiAgKi8KKwlpZiAodGltZV9lbGFwc2VkIDwgVFJBWV9XQVNfQUxSRUFEWV9PUEVOX1VTRUNTKQorCQljbG9zZV90cmF5KGZkKTsKKyNlbmRpZgorfQorCisvKgorICogU2VsZWN0IFNwZWVkIG9mIENELVJPTSBkcml2ZS4KKyAqIFRoYW5rcyB0byBSb2xhbmQgS3JpdmFuZWsgKGtyaXZhbmVrQGZtcGgudW5pYmEuc2spCisgKiBodHRwOi8vZG1wYy5kYnAuZm1waC51bmliYS5zay9+a3JpdmFuZWsvY2Ryb21fc3BlZWQvCisgKi8KK3N0YXRpYyB2b2lkIHNlbGVjdF9zcGVlZChjb25zdCBzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsKQoreworI2lmZGVmIENEUk9NX1NFTEVDVF9TUEVFRAorCWlmIChpb2N0bChjdGwtPmZkLCBDRFJPTV9TRUxFQ1RfU1BFRUQsIGN0bC0+eF9hcmcpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBmYWlsZWQiKSk7CisjZWxzZQorCXdhcm54KF8oIkNELVJPTSBzZWxlY3Qgc3BlZWQgY29tbWFuZCBub3Qgc3VwcG9ydGVkIGJ5IHRoaXMga2VybmVsIikpOworI2VuZGlmCit9CisKKy8qCisgKiBSZWFkIFNwZWVkIG9mIENELVJPTSBkcml2ZS4gRnJvbSBMaW51eCAyLjYuMTMsIHRoZSBjdXJyZW50IHNwZWVkCisgKiBpcyBjb3JyZWN0bHkgcmVwb3J0ZWQKKyAqLworc3RhdGljIGludCByZWFkX3NwZWVkKGNvbnN0IGNoYXIgKmRldm5hbWUpCit7CisJaW50IGRyaXZlX251bWJlciA9IC0xOworCWNoYXIgKm5hbWU7CisJRklMRSAqZjsKKworCWYgPSBmb3BlbihfUEFUSF9QUk9DX0NEUk9NSU5GTywgInIiKTsKKwlpZiAoIWYpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIF9QQVRIX1BST0NfQ0RST01JTkZPKTsKKworCW5hbWUgPSBzdHJyY2hyKGRldm5hbWUsICcvJykgKyAxOworCisJd2hpbGUgKG5hbWUgJiYgIWZlb2YoZikpIHsKKwkJY2hhciBsaW5lWzUxMl07CisJCWNoYXIgKnN0cjsKKworCQlpZiAoIWZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgZikpCisJCQlicmVhazsKKworCQkvKiBmaW5kIGRyaXZlIG51bWJlciBpbiBsaW5lICJkcml2ZSBuYW1lIiAqLworCQlpZiAoZHJpdmVfbnVtYmVyID09IC0xKSB7CisJCQlpZiAoc3RybmNtcChsaW5lLCAiZHJpdmUgbmFtZToiLCAxMSkgPT0gMCkgeworCQkJCXN0ciA9IHN0cnRvaygmbGluZVsxMV0sICJcdCAiKTsKKwkJCQlkcml2ZV9udW1iZXIgPSAwOworCQkJCXdoaWxlIChzdHIgJiYgc3RybmNtcChuYW1lLCBzdHIsIHN0cmxlbihuYW1lKSkgIT0gMCkgeworCQkJCQlkcml2ZV9udW1iZXIrKzsKKwkJCQkJc3RyID0gc3RydG9rKE5VTEwsICJcdCAiKTsKKwkJCQkJaWYgKCFzdHIpCisJCQkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkJCSAgICAgXygiJXM6IGZhaWxlZCB0byBmaW5kaW5nIENELVJPTSBuYW1lIiksCisJCQkJCQkgICAgIF9QQVRIX1BST0NfQ0RST01JTkZPKTsKKwkJCQl9CisJCQl9CisJCS8qIGZpbmQgbGluZSAiZHJpdmUgc3BlZWQiIGFuZCByZWFkIHRoZSBjb3JyZWN0IHNwZWVkICovCisJCX0gZWxzZSB7CisJCQlpZiAoc3RybmNtcChsaW5lLCAiZHJpdmUgc3BlZWQ6IiwgMTIpID09IDApIHsKKwkJCQlpbnQgaTsKKworCQkJCXN0ciA9IHN0cnRvaygmbGluZVsxMl0sICJcdCAiKTsKKwkJCQlmb3IgKGkgPSAxOyBpIDwgZHJpdmVfbnVtYmVyOyBpKyspCisJCQkJCXN0ciA9IHN0cnRvayhOVUxMLCAiXHQgIik7CisKKwkJCQlpZiAoIXN0cikKKwkJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJCQlfKCIlczogZmFpbGVkIHRvIHJlYWQgc3BlZWQiKSwKKwkJCQkJCV9QQVRIX1BST0NfQ0RST01JTkZPKTsKKwkJCQlmY2xvc2UoZik7CisJCQkJcmV0dXJuIGF0b2koc3RyKTsKKwkJCX0KKwkJfQorCX0KKworCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVhZCBzcGVlZCIpKTsKK30KKworLyoKKyAqIExpc3QgU3BlZWQgb2YgQ0QtUk9NIGRyaXZlLgorICovCitzdGF0aWMgdm9pZCBsaXN0X3NwZWVkcyhzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsKQoreworCWludCBtYXhfc3BlZWQsIGN1cnJfc3BlZWQgPSAwOworCisJc2VsZWN0X3NwZWVkKGN0bCk7CisJbWF4X3NwZWVkID0gcmVhZF9zcGVlZChjdGwtPmRldmljZSk7CisKKwl3aGlsZSAoY3Vycl9zcGVlZCA8IG1heF9zcGVlZCkgeworCQljdGwtPnhfYXJnID0gY3Vycl9zcGVlZCArIDE7CisJCXNlbGVjdF9zcGVlZChjdGwpOworCQljdXJyX3NwZWVkID0gcmVhZF9zcGVlZChjdGwtPmRldmljZSk7CisJCWlmIChjdGwtPnhfYXJnIDwgY3Vycl9zcGVlZCkKKwkJCXByaW50ZigiJWQgIiwgY3Vycl9zcGVlZCk7CisJCWVsc2UKKwkJCWN1cnJfc3BlZWQgPSBjdGwtPnhfYXJnICsgMTsKKwl9CisKKwlwcmludGYoIlxuIik7Cit9CisKKy8qCisgKiBFamVjdCB1c2luZyBTQ1NJIFNHX0lPIGNvbW1hbmRzLiBSZXR1cm4gMSBpZiBzdWNjZXNzZnVsLCAwIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludCBlamVjdF9zY3NpKGNvbnN0IHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwpCit7CisJaW50IHN0YXR1cywgazsKKwlzZ19pb19oZHJfdCBpb19oZHI7CisJdW5zaWduZWQgY2hhciBhbGxvd1JtQmxrWzZdID0ge0FMTE9XX01FRElVTV9SRU1PVkFMLCAwLCAwLCAwLCAwLCAwfTsKKwl1bnNpZ25lZCBjaGFyIHN0YXJ0U3RvcDFCbGtbNl0gPSB7U1RBUlRfU1RPUCwgMCwgMCwgMCwgMSwgMH07CisJdW5zaWduZWQgY2hhciBzdGFydFN0b3AyQmxrWzZdID0ge1NUQVJUX1NUT1AsIDAsIDAsIDAsIDIsIDB9OworCXVuc2lnbmVkIGNoYXIgaW5xQnVmZlsyXTsKKwl1bnNpZ25lZCBjaGFyIHNlbnNlX2J1ZmZlclszMl07CisKKwlpZiAoKGlvY3RsKGN0bC0+ZmQsIFNHX0dFVF9WRVJTSU9OX05VTSwgJmspIDwgMCkgfHwgKGsgPCAzMDAwMCkpIHsKKwkJdmVyYm9zZShjdGwsIF8oIm5vdCBhbiBzZyBkZXZpY2UsIG9yIG9sZCBzZyBkcml2ZXIiKSk7CisJCXJldHVybiAwOworCX0KKworCW1lbXNldCgmaW9faGRyLCAwLCBzaXplb2Yoc2dfaW9faGRyX3QpKTsKKwlpb19oZHIuaW50ZXJmYWNlX2lkID0gJ1MnOworCWlvX2hkci5jbWRfbGVuID0gNjsKKwlpb19oZHIubXhfc2JfbGVuID0gc2l6ZW9mKHNlbnNlX2J1ZmZlcik7CisJaW9faGRyLmR4ZmVyX2RpcmVjdGlvbiA9IFNHX0RYRkVSX05PTkU7CisJaW9faGRyLmR4ZmVyX2xlbiA9IDA7CisJaW9faGRyLmR4ZmVycCA9IGlucUJ1ZmY7CisJaW9faGRyLnNicCA9IHNlbnNlX2J1ZmZlcjsKKwlpb19oZHIudGltZW91dCA9IDEwMDAwOworCisJaW9faGRyLmNtZHAgPSBhbGxvd1JtQmxrOworCXN0YXR1cyA9IGlvY3RsKGN0bC0+ZmQsIFNHX0lPLCAodm9pZCAqKSZpb19oZHIpOworCWlmIChzdGF0dXMgPCAwIHx8IGlvX2hkci5ob3N0X3N0YXR1cyB8fCBpb19oZHIuZHJpdmVyX3N0YXR1cykKKwkJcmV0dXJuIDA7CisKKwlpb19oZHIuY21kcCA9IHN0YXJ0U3RvcDFCbGs7CisJc3RhdHVzID0gaW9jdGwoY3RsLT5mZCwgU0dfSU8sICh2b2lkICopJmlvX2hkcik7CisJaWYgKHN0YXR1cyA8IDAgfHwgaW9faGRyLmhvc3Rfc3RhdHVzKQorCQlyZXR1cm4gMDsKKworCS8qIElnbm9yZSBlcnJvcnMgd2hlbiB0aGVyZSBpcyBub3QgbWVkaXVtIC0tIGluIHRoaXMgY2FzZSBkcml2ZXIgc2Vuc2UKKwkgKiBidWZmZXIgc2V0cyBNRURJVU0gTk9UIFBSRVNFTlQgKDNhKSBiaXQuIEZvciBtb3JlIGRldGFpbHMgc2VlOgorCSAqIGh0dHA6Ly93d3cudGxkcC5vcmcvSE9XVE8vYXJjaGl2ZWQvU0NTSS1Qcm9ncmFtbWluZy1IT1dUTy9TQ1NJLVByb2dyYW1taW5nLUhPV1RPLTIyLmh0bWwjc2VjLXNlbnNlY29kZXMKKwkgKiAtLSBremFrIEp1biAyMDEzCisJICovCisJaWYgKGlvX2hkci5kcml2ZXJfc3RhdHVzICE9IDAgJiYKKwkgICAgIShpb19oZHIuZHJpdmVyX3N0YXR1cyA9PSBEUklWRVJfU0VOU0UgJiYgaW9faGRyLnNicCAmJgorCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlvX2hkci5zYnBbMTJdID09IDB4M2EpKQorCQlyZXR1cm4gMDsKKworCWlvX2hkci5jbWRwID0gc3RhcnRTdG9wMkJsazsKKwlzdGF0dXMgPSBpb2N0bChjdGwtPmZkLCBTR19JTywgKHZvaWQgKikmaW9faGRyKTsKKwlpZiAoc3RhdHVzIDwgMCB8fCBpb19oZHIuaG9zdF9zdGF0dXMgfHwgaW9faGRyLmRyaXZlcl9zdGF0dXMpCisJCXJldHVybiAwOworCisJLyogZm9yY2Uga2VybmVsIHRvIHJlcmVhZCBwYXJ0aXRpb24gdGFibGUgd2hlbiBuZXcgZGlzYyBpbnNlcnRlZCAqLworCWlvY3RsKGN0bC0+ZmQsIEJMS1JSUEFSVCk7CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBFamVjdCB1c2luZyBGREVKRUNUIGlvY3RsLiBSZXR1cm4gMSBpZiBzdWNjZXNzZnVsLCAwIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludCBlamVjdF9mbG9wcHkoaW50IGZkKQoreworCXJldHVybiBpb2N0bChmZCwgRkRFSkVDVCkgPj0gMDsKK30KKworCisvKgorICogUmV3aW5kIGFuZCBlamVjdCB1c2luZyB0YXBlIGlvY3RsLiBSZXR1cm4gMSBpZiBzdWNjZXNzZnVsLCAwIG90aGVyd2lzZS4KKyAqLworc3RhdGljIGludCBlamVjdF90YXBlKGludCBmZCkKK3sKKwlzdHJ1Y3QgbXRvcCBvcCA9IHsgLm10X29wID0gTVRPRkZMLCAubXRfY291bnQgPSAwIH07CisKKwlyZXR1cm4gaW9jdGwoZmQsIE1USU9DVE9QLCAmb3ApID49IDA7Cit9CisKKworLyogdW1vdW50IGEgZGV2aWNlLiAqLworc3RhdGljIHZvaWQgdW1vdW50X29uZShjb25zdCBzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICpuYW1lKQoreworCWludCBzdGF0dXM7CisKKwlpZiAoIW5hbWUpCisJCXJldHVybjsKKworCXZlcmJvc2UoY3RsLCBfKCIlczogdW5tb3VudGluZyIpLCBuYW1lKTsKKworCXN3aXRjaCAoZm9yaygpKSB7CisJY2FzZSAwOiAvKiBjaGlsZCAqLworCQlpZiAoc2V0Z2lkKGdldGdpZCgpKSA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc2V0IGdyb3VwIGlkIikpOworCisJCWlmIChzZXR1aWQoZ2V0dWlkKCkpIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBzZXQgdXNlciBpZCIpKTsKKworCQlpZiAoY3RsLT5wX29wdGlvbikKKwkJCWV4ZWNsKCIvYmluL3Vtb3VudCIsICIvYmluL3Vtb3VudCIsIG5hbWUsICItbiIsIE5VTEwpOworCQllbHNlCisJCQlleGVjbCgiL2Jpbi91bW91bnQiLCAiL2Jpbi91bW91bnQiLCBuYW1lLCBOVUxMKTsKKworCQllcnJleGVjKCIvYmluL3Vtb3VudCIpOworCisJY2FzZSAtMToKKwkJd2FybiggXygidW5hYmxlIHRvIGZvcmsiKSk7CisJCWJyZWFrOworCisJZGVmYXVsdDogLyogcGFyZW50ICovCisJCXdhaXQoJnN0YXR1cyk7CisJCWlmIChXSUZFWElURUQoc3RhdHVzKSA9PSAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkgICAgIF8oInVubW91bnQgb2YgYCVzJyBkaWQgbm90IGV4aXQgbm9ybWFsbHkiKSwgbmFtZSk7CisKKwkJaWYgKFdFWElUU1RBVFVTKHN0YXR1cykgIT0gMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bm1vdW50IG9mIGAlcycgZmFpbGVkXG4iKSwgbmFtZSk7CisJCWJyZWFrOworCX0KK30KKworLyogT3BlbiBhIGRldmljZSBmaWxlLiAqLworc3RhdGljIHZvaWQgb3Blbl9kZXZpY2Uoc3RydWN0IGVqZWN0X2NvbnRyb2wgKmN0bCkKK3sKKwljdGwtPmZkID0gb3BlbihjdGwtPmRldmljZSwgT19SRFdSIHwgT19OT05CTE9DSyk7CisJaWYgKGN0bC0+ZmQgPCAwKQorCQljdGwtPmZkID0gb3BlbihjdGwtPmRldmljZSwgT19SRE9OTFkgfCBPX05PTkJMT0NLKTsKKwlpZiAoY3RsLT5mZCA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgY3RsLT5kZXZpY2UpOworfQorCisvKgorICogU2VlIGlmIGRldmljZSBoYXMgYmVlbiBtb3VudGVkIGJ5IGxvb2tpbmcgaW4gbW91bnQgdGFibGUuICBJZiBzbywgc2V0CisgKiBkZXZpY2UgbmFtZSBhbmQgbW91bnQgcG9pbnQgbmFtZSwgYW5kIHJldHVybiAxLCBvdGhlcndpc2UgcmV0dXJuIDAuCisgKi8KK3N0YXRpYyBpbnQgZGV2aWNlX2dldF9tb3VudHBvaW50KHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwsIGNoYXIgKipkZXZuYW1lLCBjaGFyICoqbW50KQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCByYzsKKworCSptbnQgPSBOVUxMOworCisJaWYgKCFjdGwtPm10YWIpIHsKKwkJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CisKKwkJY3RsLT5tdGFiID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIWN0bC0+bXRhYikKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IHRhYmxlIikpOworCisJCWNhY2hlID0gbW50X25ld19jYWNoZSgpOworCQltbnRfdGFibGVfc2V0X2NhY2hlKGN0bC0+bXRhYiwgY2FjaGUpOworCQltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCisJCWlmIChjdGwtPnBfb3B0aW9uKQorCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfZmlsZShjdGwtPm10YWIsIF9QQVRIX1BST0NfTU9VTlRJTkZPKTsKKwkJZWxzZQorCQkJcmMgPSBtbnRfdGFibGVfcGFyc2VfbXRhYihjdGwtPm10YWIsIE5VTEwpOworCQlpZiAocmMpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgbW91bnQgdGFibGUiKSk7CisJfQorCisJZnMgPSBtbnRfdGFibGVfZmluZF9zb3VyY2UoY3RsLT5tdGFiLCAqZGV2bmFtZSwgTU5UX0lURVJfQkFDS1dBUkQpOworCWlmICghZnMpIHsKKwkJLyogbWF5YmUgJ2Rldm5hbWUnIGlzIG1vdW50cG9pbnQgcmF0aGVyIHRoYW4gYSByZWFsIGRldmljZSAqLworCQlmcyA9IG1udF90YWJsZV9maW5kX3RhcmdldChjdGwtPm10YWIsICpkZXZuYW1lLCBNTlRfSVRFUl9CQUNLV0FSRCk7CisJCWlmIChmcykgeworCQkJZnJlZSgqZGV2bmFtZSk7CisJCQkqZGV2bmFtZSA9IHhzdHJkdXAobW50X2ZzX2dldF9zb3VyY2UoZnMpKTsKKwkJfQorCX0KKworCWlmIChmcykKKwkJKm1udCA9IHhzdHJkdXAobW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwlyZXR1cm4gKm1udCA/IDAgOiAtMTsKK30KKworc3RhdGljIGNoYXIgKmdldF9kaXNrX2Rldm5hbWUoY29uc3QgY2hhciAqZGV2aWNlKQoreworCXN0cnVjdCBzdGF0IHN0OworCWRldl90IGRpc2tubyA9IDA7CisJY2hhciBkaXNrbmFtZVsxMjhdOworCisJaWYgKHN0YXQoZGV2aWNlLCAmc3QpICE9IDApCisJCXJldHVybiBOVUxMOworCisJLyogZ2V0IHdob2xlLWRpc2sgZGV2bm8gKi8KKwlpZiAoc3lzZnNfZGV2bm9fdG9fd2hvbGVkaXNrKHN0LnN0X3JkZXYsIGRpc2tuYW1lLAorCQkJCXNpemVvZihkaXNrbmFtZSksICZkaXNrbm8pICE9IDApCisJCXJldHVybiBOVUxMOworCisJcmV0dXJuIHN0LnN0X3JkZXYgPT0gZGlza25vID8gTlVMTCA6IGZpbmRfZGV2aWNlKGRpc2tuYW1lKTsKK30KKworc3RhdGljIGludCB1bW91bnRfcGFydGl0aW9ucyhzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBwYXRoX2N4dCAqcGMgPSBOVUxMOworCWRldl90IGRldm5vOworCURJUiAqZGlyID0gTlVMTDsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCWludCBjb3VudCA9IDA7CisKKwlkZXZubyA9IHN5c2ZzX2Rldm5hbWVfdG9fZGV2bm8oY3RsLT5kZXZpY2UpOworCWlmIChkZXZubykKKwkJcGMgPSB1bF9uZXdfc3lzZnNfcGF0aChkZXZubywgTlVMTCwgTlVMTCk7CisJaWYgKCFwYykKKwkJcmV0dXJuIDA7CisKKwkvKiBvcGVuIC9zeXMvYmxvY2svPHdob2xlZGlzaz4gKi8KKwlpZiAoIShkaXIgPSB1bF9wYXRoX29wZW5kaXIocGMsIE5VTEwpKSkKKwkJZ290byBkb25lOworCisJLyogc2NhbiBmb3IgcGFydGl0aW9uIHN1YmRpcnMgKi8KKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpKSB7CisJCWlmICghc3RyY21wKGQtPmRfbmFtZSwgIi4iKSB8fCAhc3RyY21wKGQtPmRfbmFtZSwgIi4uIikpCisJCQljb250aW51ZTsKKworCQlpZiAoc3lzZnNfYmxrZGV2X2lzX3BhcnRpdGlvbl9kaXJlbnQoZGlyLCBkLCBjdGwtPmRldmljZSkpIHsKKwkJCWNoYXIgKm1udCA9IE5VTEw7CisJCQljaGFyICpkZXYgPSBmaW5kX2RldmljZShkLT5kX25hbWUpOworCisJCQlpZiAoZGV2ICYmIGRldmljZV9nZXRfbW91bnRwb2ludChjdGwsICZkZXYsICZtbnQpID09IDApIHsKKwkJCQl2ZXJib3NlKGN0bCwgXygiJXM6IG1vdW50ZWQgb24gJXMiKSwgZGV2LCBtbnQpOworCQkJCWlmICghY3RsLT5NX29wdGlvbikKKwkJCQkJdW1vdW50X29uZShjdGwsIG1udCk7CisJCQkJY291bnQrKzsKKwkJCX0KKwkJCWZyZWUoZGV2KTsKKwkJCWZyZWUobW50KTsKKwkJfQorCX0KKworZG9uZToKKwlpZiAoZGlyKQorCQljbG9zZWRpcihkaXIpOworCXVsX3VucmVmX3BhdGgocGMpOworCisJcmV0dXJuIGNvdW50OworfQorCitzdGF0aWMgaW50IGlzX2hvdHBsdWdnYWJsZShjb25zdCBzdHJ1Y3QgZWplY3RfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBwYXRoX2N4dCAqcGMgPSBOVUxMOworCWRldl90IGRldm5vOworCWludCByYyA9IDA7CisKKwlkZXZubyA9IHN5c2ZzX2Rldm5hbWVfdG9fZGV2bm8oY3RsLT5kZXZpY2UpOworCWlmIChkZXZubykKKwkJcGMgPSB1bF9uZXdfc3lzZnNfcGF0aChkZXZubywgTlVMTCwgTlVMTCk7CisJaWYgKCFwYykKKwkJcmV0dXJuIDA7CisKKwlyYyA9IHN5c2ZzX2Jsa2Rldl9pc19ob3RwbHVnZ2FibGUocGMpOworCXVsX3VucmVmX3BhdGgocGMpOworCXJldHVybiByYzsKK30KKworCisvKiBoYW5kbGUgLXggb3B0aW9uICovCitzdGF0aWMgdm9pZCBzZXRfZGV2aWNlX3NwZWVkKHN0cnVjdCBlamVjdF9jb250cm9sICpjdGwpCit7CisJaWYgKCFjdGwtPnhfb3B0aW9uKQorCQlyZXR1cm47CisKKwlpZiAoY3RsLT54X2FyZyA9PSAwKQorCQl2ZXJib3NlKGN0bCwgXygic2V0dGluZyBDRC1ST00gc3BlZWQgdG8gYXV0byIpKTsKKwllbHNlCisJCXZlcmJvc2UoY3RsLCBfKCJzZXR0aW5nIENELVJPTSBzcGVlZCB0byAlbGRYIiksIGN0bC0+eF9hcmcpOworCisJb3Blbl9kZXZpY2UoY3RsKTsKKwlzZWxlY3Rfc3BlZWQoY3RsKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKKworLyogbWFpbiBwcm9ncmFtICovCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJY2hhciAqZGlzayA9IE5VTEw7CisJY2hhciAqbW91bnRwb2ludCA9IE5VTEw7CisJaW50IHdvcmtlZCA9IDA7ICAgIC8qIHNldCB0byAxIHdoZW4gc3VjY2Vzc2Z1bGx5IGVqZWN0ZWQgKi8KKwlzdHJ1Y3QgZWplY3RfY29udHJvbCBjdGwgPSB7IE5VTEwgfTsKKworCXNldGxvY2FsZShMQ19BTEwsIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCS8qIHBhcnNlIHRoZSBjb21tYW5kIGxpbmUgYXJndW1lbnRzICovCisJcGFyc2VfYXJncygmY3RsLCBhcmdjLCBhcmd2KTsKKworCS8qIGhhbmRsZSAtZCBvcHRpb24gKi8KKwlpZiAoY3RsLmRfb3B0aW9uKSB7CisJCWluZm8oXygiZGVmYXVsdCBkZXZpY2U6IGAlcyciKSwgRUpFQ1RfREVGQVVMVF9ERVZJQ0UpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCWlmICghY3RsLmRldmljZSkgeworCQljdGwuZGV2aWNlID0gbW50X3Jlc29sdmVfcGF0aChFSkVDVF9ERUZBVUxUX0RFVklDRSwgTlVMTCk7CisJCXZlcmJvc2UoJmN0bCwgXygidXNpbmcgZGVmYXVsdCBkZXZpY2UgYCVzJyIpLCBjdGwuZGV2aWNlKTsKKwl9IGVsc2UgeworCQljaGFyICpwOworCisJCWlmIChjdGwuZGV2aWNlW3N0cmxlbihjdGwuZGV2aWNlKSAtIDFdID09ICcvJykKKwkJCWN0bC5kZXZpY2Vbc3RybGVuKGN0bC5kZXZpY2UpIC0gMV0gPSAnXDAnOworCisJCS8qIGZpZ3VyZSBvdXQgZnVsbCBkZXZpY2Ugb3IgbW91bnQgcG9pbnQgbmFtZSAqLworCQlwID0gZmluZF9kZXZpY2UoY3RsLmRldmljZSk7CisJCWlmIChwKQorCQkJZnJlZShjdGwuZGV2aWNlKTsKKwkJZWxzZQorCQkJcCA9IGN0bC5kZXZpY2U7CisKKwkJY3RsLmRldmljZSA9IG1udF9yZXNvbHZlX3NwZWMocCwgTlVMTCk7CisJCWZyZWUocCk7CisJfQorCisJaWYgKCFjdGwuZGV2aWNlKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIpLCBjdGwuZGV2aWNlKTsKKworCXZlcmJvc2UoJmN0bCwgXygiZGV2aWNlIG5hbWUgaXMgYCVzJyIpLCBjdGwuZGV2aWNlKTsKKworCWRldmljZV9nZXRfbW91bnRwb2ludCgmY3RsLCAmY3RsLmRldmljZSwgJm1vdW50cG9pbnQpOworCWlmIChtb3VudHBvaW50KQorCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiBtb3VudGVkIG9uICVzIiksIGN0bC5kZXZpY2UsIG1vdW50cG9pbnQpOworCWVsc2UKKwkJdmVyYm9zZSgmY3RsLCBfKCIlczogbm90IG1vdW50ZWQiKSwgY3RsLmRldmljZSk7CisKKwlkaXNrID0gZ2V0X2Rpc2tfZGV2bmFtZShjdGwuZGV2aWNlKTsKKwlpZiAoZGlzaykgeworCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiBkaXNjIGRldmljZTogJXMgKGRpc2sgZGV2aWNlIHdpbGwgYmUgdXNlZCBmb3IgZWplY3QpIiksIGN0bC5kZXZpY2UsIGRpc2spOworCQlmcmVlKGN0bC5kZXZpY2UpOworCQljdGwuZGV2aWNlID0gZGlzazsKKwkJZGlzayA9IE5VTEw7CisJfSBlbHNlIHsKKwkJc3RydWN0IHN0YXQgc3Q7CisKKwkJaWYgKHN0YXQoY3RsLmRldmljZSwgJnN0KSAhPSAwIHx8ICFTX0lTQkxLKHN0LnN0X21vZGUpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBub3QgZm91bmQgbW91bnRwb2ludCBvciBkZXZpY2UgIgorCQkJCQkid2l0aCB0aGUgZ2l2ZW4gbmFtZSIpLCBjdGwuZGV2aWNlKTsKKworCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiBpcyB3aG9sZS1kaXNrIGRldmljZSIpLCBjdGwuZGV2aWNlKTsKKwl9CisKKwlpZiAoY3RsLkZfb3B0aW9uID09IDAgJiYgaXNfaG90cGx1Z2dhYmxlKCZjdGwpID09IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogaXMgbm90IGhvdC1wbHVnZ2FibGUgZGV2aWNlIiksIGN0bC5kZXZpY2UpOworCisJLyogaGFuZGxlIC1uIG9wdGlvbiAqLworCWlmIChjdGwubl9vcHRpb24pIHsKKwkJaW5mbyhfKCJkZXZpY2UgaXMgYCVzJyIpLCBjdGwuZGV2aWNlKTsKKwkJdmVyYm9zZSgmY3RsLCBfKCJleGl0aW5nIGR1ZSB0byAtbi8tLW5vb3Agb3B0aW9uIikpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCS8qIGhhbmRsZSAtaSBvcHRpb24gKi8KKwlpZiAoY3RsLmlfb3B0aW9uKSB7CisJCW9wZW5fZGV2aWNlKCZjdGwpOworCQltYW51YWxfZWplY3QoJmN0bCk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJLyogaGFuZGxlIC1hIG9wdGlvbiAqLworCWlmIChjdGwuYV9vcHRpb24pIHsKKwkJaWYgKGN0bC5hX2FyZykKKwkJCXZlcmJvc2UoJmN0bCwgXygiJXM6IGVuYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIpLCBjdGwuZGV2aWNlKTsKKwkJZWxzZQorCQkJdmVyYm9zZSgmY3RsLCBfKCIlczogZGlzYWJsaW5nIGF1dG8tZWplY3QgbW9kZSIpLCBjdGwuZGV2aWNlKTsKKwkJb3Blbl9kZXZpY2UoJmN0bCk7CisJCWF1dG9fZWplY3QoJmN0bCk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJLyogaGFuZGxlIC10IG9wdGlvbiAqLworCWlmIChjdGwudF9vcHRpb24pIHsKKwkJdmVyYm9zZSgmY3RsLCBfKCIlczogY2xvc2luZyB0cmF5IiksIGN0bC5kZXZpY2UpOworCQlvcGVuX2RldmljZSgmY3RsKTsKKwkJY2xvc2VfdHJheShjdGwuZmQpOworCQlzZXRfZGV2aWNlX3NwZWVkKCZjdGwpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCS8qIGhhbmRsZSAtVCBvcHRpb24gKi8KKwlpZiAoY3RsLlRfb3B0aW9uKSB7CisJCXZlcmJvc2UoJmN0bCwgXygiJXM6IHRvZ2dsaW5nIHRyYXkiKSwgY3RsLmRldmljZSk7CisJCW9wZW5fZGV2aWNlKCZjdGwpOworCQl0b2dnbGVfdHJheShjdGwuZmQpOworCQlzZXRfZGV2aWNlX3NwZWVkKCZjdGwpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCS8qIGhhbmRsZSAtWCBvcHRpb24gKi8KKwlpZiAoY3RsLlhfb3B0aW9uKSB7CisJCXZlcmJvc2UoJmN0bCwgXygiJXM6IGxpc3RpbmcgQ0QtUk9NIHNwZWVkIiksIGN0bC5kZXZpY2UpOworCQlvcGVuX2RldmljZSgmY3RsKTsKKwkJbGlzdF9zcGVlZHMoJmN0bCk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJLyogaGFuZGxlIC14IG9wdGlvbiBvbmx5ICovCisJaWYgKCFjdGwuY19vcHRpb24pCisJCXNldF9kZXZpY2Vfc3BlZWQoJmN0bCk7CisKKworCS8qCisJICogVW5tb3VudCBhbGwgcGFydGl0aW9ucyBpZiAtbSBpcyBub3Qgc3BlY2lmaWVkOyBvciB1bW91bnQgZ2l2ZW4KKwkgKiBtb3VudHBvaW50IGlmIC1NIGlzIHNwZWNpZmllZCwgb3RoZXJ3aXNlIHByaW50IGVycm9yIG9mIGFub3RoZXIKKwkgKiBwYXJ0aXRpb24gaXMgbW91bnRlZC4KKwkgKi8KKwlpZiAoIWN0bC5tX29wdGlvbikgeworCQlpbnQgY3QgPSB1bW91bnRfcGFydGl0aW9ucygmY3RsKTsKKworCQlpZiAoY3QgPT0gMCAmJiBtb3VudHBvaW50KQorCQkJdW1vdW50X29uZSgmY3RsLCBtb3VudHBvaW50KTsgLyogcHJvYmFibHkgd2hvbGUtZGV2aWNlICovCisKKwkJaWYgKGN0bC5NX29wdGlvbikgeworCQkJaWYgKGN0ID09IDEgJiYgbW91bnRwb2ludCkKKwkJCQl1bW91bnRfb25lKCZjdGwsIG1vdW50cG9pbnQpOworCQkJZWxzZSBpZiAoY3QpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImVycm9yOiAlczogZGV2aWNlIGluIHVzZSIpLCBjdGwuZGV2aWNlKTsKKwkJfQorCX0KKworCS8qIGhhbmRsZSAtYyBvcHRpb24gKi8KKwlpZiAoY3RsLmNfb3B0aW9uKSB7CisJCXZlcmJvc2UoJmN0bCwgXygiJXM6IHNlbGVjdGluZyBDRC1ST00gZGlzYyAjJWxkIiksIGN0bC5kZXZpY2UsIGN0bC5jX2FyZyk7CisJCW9wZW5fZGV2aWNlKCZjdGwpOworCQljaGFuZ2VyX3NlbGVjdCgmY3RsKTsKKwkJc2V0X2RldmljZV9zcGVlZCgmY3RsKTsKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwkvKiBpZiB1c2VyIGRpZCBub3Qgc3BlY2lmeSB0eXBlIG9mIGVqZWN0LCB0cnkgYWxsIGZvdXIgbWV0aG9kcyAqLworCWlmIChjdGwucl9vcHRpb24gKyBjdGwuc19vcHRpb24gKyBjdGwuZl9vcHRpb24gKyBjdGwucV9vcHRpb24gPT0gMCkKKwkJY3RsLnJfb3B0aW9uID0gY3RsLnNfb3B0aW9uID0gY3RsLmZfb3B0aW9uID0gY3RsLnFfb3B0aW9uID0gMTsKKworCS8qIG9wZW4gZGV2aWNlICovCisJb3Blbl9kZXZpY2UoJmN0bCk7CisKKwkvKiB0cnkgdmFyaW91cyBtZXRob2RzIG9mIGVqZWN0aW5nIHVudGlsIGl0IHdvcmtzICovCisJaWYgKGN0bC5yX29wdGlvbikgeworCQl2ZXJib3NlKCZjdGwsIF8oIiVzOiB0cnlpbmcgdG8gZWplY3QgdXNpbmcgQ0QtUk9NIGVqZWN0IGNvbW1hbmQiKSwgY3RsLmRldmljZSk7CisJCXdvcmtlZCA9IGVqZWN0X2Nkcm9tKGN0bC5mZCk7CisJCXZlcmJvc2UoJmN0bCwgd29ya2VkID8gXygiQ0QtUk9NIGVqZWN0IGNvbW1hbmQgc3VjY2VlZGVkIikgOgorCQkJCSBfKCJDRC1ST00gZWplY3QgY29tbWFuZCBmYWlsZWQiKSk7CisJfQorCisJaWYgKGN0bC5zX29wdGlvbiAmJiAhd29ya2VkKSB7CisJCXZlcmJvc2UoJmN0bCwgXygiJXM6IHRyeWluZyB0byBlamVjdCB1c2luZyBTQ1NJIGNvbW1hbmRzIiksIGN0bC5kZXZpY2UpOworCQl3b3JrZWQgPSBlamVjdF9zY3NpKCZjdGwpOworCQl2ZXJib3NlKCZjdGwsIHdvcmtlZCA/IF8oIlNDU0kgZWplY3Qgc3VjY2VlZGVkIikgOgorCQkJCSBfKCJTQ1NJIGVqZWN0IGZhaWxlZCIpKTsKKwl9CisKKwlpZiAoY3RsLmZfb3B0aW9uICYmICF3b3JrZWQpIHsKKwkJdmVyYm9zZSgmY3RsLCBfKCIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIGZsb3BweSBlamVjdCBjb21tYW5kIiksIGN0bC5kZXZpY2UpOworCQl3b3JrZWQgPSBlamVjdF9mbG9wcHkoY3RsLmZkKTsKKwkJdmVyYm9zZSgmY3RsLCB3b3JrZWQgPyBfKCJmbG9wcHkgZWplY3QgY29tbWFuZCBzdWNjZWVkZWQiKSA6CisJCQkJIF8oImZsb3BweSBlamVjdCBjb21tYW5kIGZhaWxlZCIpKTsKKwl9CisKKwlpZiAoY3RsLnFfb3B0aW9uICYmICF3b3JrZWQpIHsKKwkJdmVyYm9zZSgmY3RsLCBfKCIlczogdHJ5aW5nIHRvIGVqZWN0IHVzaW5nIHRhcGUgb2ZmbGluZSBjb21tYW5kIiksIGN0bC5kZXZpY2UpOworCQl3b3JrZWQgPSBlamVjdF90YXBlKGN0bC5mZCk7CisJCXZlcmJvc2UoJmN0bCwgd29ya2VkID8gXygidGFwZSBvZmZsaW5lIGNvbW1hbmQgc3VjY2VlZGVkIikgOgorCQkJCSBfKCJ0YXBlIG9mZmxpbmUgY29tbWFuZCBmYWlsZWQiKSk7CisJfQorCisJaWYgKCF3b3JrZWQpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmFibGUgdG8gZWplY3QiKSk7CisKKwkvKiBjbGVhbnVwICovCisJY2xvc2UoY3RsLmZkKTsKKwlmcmVlKGN0bC5kZXZpY2UpOworCWZyZWUobW91bnRwb2ludCk7CisKKwltbnRfdW5yZWZfdGFibGUoY3RsLm10YWIpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mYWxsb2NhdGUuMSBiL3N5cy11dGlscy9mYWxsb2NhdGUuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTUwNzJhCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2ZhbGxvY2F0ZS4xCkBAIC0wLDAgKzEsMTkxIEBACisuVEggRkFMTE9DQVRFIDEgIkFwcmlsIDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitmYWxsb2NhdGUgXC0gcHJlYWxsb2NhdGUgb3IgZGVhbGxvY2F0ZSBzcGFjZSB0byBhIGZpbGUKKy5TSCBTWU5PUFNJUworLkIgZmFsbG9jYXRlCisuUkIgWyBcLWMgfCBcLXAgfCBcLXogXQorLlJCIFsgXC1vCisuSVIgb2Zmc2V0IF0KKy5CIFwtbAorLkkgbGVuZ3RoCisuUkIgWyBcLW4gXQorLkkgZmlsZW5hbWUKKy5QUAorLkIgZmFsbG9jYXRlIFwtZAorLlJCIFsgXC1vCisuSVIgb2Zmc2V0IF0KKy5SQiBbIFwtbAorLklSIGxlbmd0aCBdCisuSSBmaWxlbmFtZQorLlBQCisuQiBmYWxsb2NhdGUgXC14CisuUkIgWyBcLW8KKy5JUiBvZmZzZXQgXQorLkIgXC1sCisuSSBsZW5ndGgKKy5JIGZpbGVuYW1lCisuU0ggREVTQ1JJUFRJT04KKy5CIGZhbGxvY2F0ZQoraXMgdXNlZCB0byBtYW5pcHVsYXRlIHRoZSBhbGxvY2F0ZWQgZGlzayBzcGFjZSBmb3IgYSBmaWxlLAorZWl0aGVyIHRvIGRlYWxsb2NhdGUgb3IgcHJlYWxsb2NhdGUgaXQuCitGb3IgZmlsZXN5c3RlbXMgd2hpY2ggc3VwcG9ydCB0aGUgZmFsbG9jYXRlIHN5c3RlbSBjYWxsLAorcHJlYWxsb2NhdGlvbiBpcyBkb25lIHF1aWNrbHkgYnkgYWxsb2NhdGluZyBibG9ja3MgYW5kIG1hcmtpbmcgdGhlbSBhcwordW5pbml0aWFsaXplZCwgcmVxdWlyaW5nIG5vIElPIHRvIHRoZSBkYXRhIGJsb2Nrcy4KK1RoaXMgaXMgbXVjaCBmYXN0ZXIgdGhhbiBjcmVhdGluZyBhIGZpbGUgYnkgZmlsbGluZyBpdCB3aXRoIHplcm9lcy4KKy5QUAorVGhlIGV4aXQgY29kZSByZXR1cm5lZCBieQorLkIgZmFsbG9jYXRlCitpcyAwIG9uIHN1Y2Nlc3MgYW5kIDEgb24gZmFpbHVyZS4KKy5TSCBPUFRJT05TCitUaGUKKy5JIGxlbmd0aAorYW5kCisuSSBvZmZzZXQKK2FyZ3VtZW50cyBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIEtpQiAoPTEwMjQpLAorTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiwgYW5kIFlpQiAodGhlICJpQiIgaXMKK29wdGlvbmFsLCBlLmcuLCAiSyIgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgIktpQiIpIG9yIHRoZSBzdWZmaXhlcworS0IgKD0xMDAwKSwgTUIgKD0xMDAwKjEwMDApLCBhbmQgc28gb24gZm9yIEdCLCBUQiwgUEIsIEVCLCBaQiwgYW5kIFlCLgorLlBQCitUaGUgb3B0aW9ucworLkJSIFwtXC1jb2xsYXBzZVwtcmFuZ2UgIiwgIiBcLVwtZGlnXC1ob2xlcyAiLCAiIFwtXC1wdW5jaFwtaG9sZSAsCithbmQKKy5CIFwtXC16ZXJvXC1yYW5nZQorYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZS4KKy5UUAorLkJSIFwtYyAiLCAiIFwtXC1jb2xsYXBzZVwtcmFuZ2UKK1JlbW92ZXMgYSBieXRlIHJhbmdlIGZyb20gYSBmaWxlLCB3aXRob3V0IGxlYXZpbmcgYSBob2xlLgorVGhlIGJ5dGUgcmFuZ2UgdG8gYmUgY29sbGFwc2VkIHN0YXJ0cyBhdAorLkkgb2Zmc2V0CithbmQgY29udGludWVzIGZvcgorLkkgbGVuZ3RoCitieXRlcy4KK0F0IHRoZSBjb21wbGV0aW9uIG9mIHRoZSBvcGVyYXRpb24sCit0aGUgY29udGVudHMgb2YgdGhlIGZpbGUgc3RhcnRpbmcgYXQgdGhlIGxvY2F0aW9uCisuSVIgb2Zmc2V0ICsgbGVuZ3RoCit3aWxsIGJlIGFwcGVuZGVkIGF0IHRoZSBsb2NhdGlvbgorLklSIG9mZnNldCAsCithbmQgdGhlIGZpbGUgd2lsbCBiZQorLkkgbGVuZ3RoCitieXRlcyBzbWFsbGVyLgorVGhlIG9wdGlvbgorLkIgXC1cLWtlZXBcLXNpemUKK21heSBub3QgYmUgc3BlY2lmaWVkIGZvciB0aGUgY29sbGFwc2UtcmFuZ2Ugb3BlcmF0aW9uLgorLnNwCitBdmFpbGFibGUgc2luY2UgTGludXggMy4xNSBmb3IgZXh0NCAob25seSBmb3IgZXh0ZW50LWJhc2VkIGZpbGVzKSBhbmQgWEZTLgorLnNwCitBIGZpbGVzeXN0ZW0gbWF5IHBsYWNlIGxpbWl0YXRpb25zIG9uIHRoZSBncmFudWxhcml0eSBvZiB0aGUgb3BlcmF0aW9uLCBpbgorb3JkZXIgdG8gZW5zdXJlIGVmZmljaWVudCBpbXBsZW1lbnRhdGlvbi4gIFR5cGljYWxseSwgb2Zmc2V0IGFuZCBsZW4gbXVzdCBiZSBhCittdWx0aXBsZSBvZiB0aGUgZmlsZXN5c3RlbSBsb2dpY2FsIGJsb2NrIHNpemUsIHdoaWNoIHZhcmllcyBhY2NvcmRpbmcgdG8gdGhlCitmaWxlc3lzdGVtIHR5cGUgYW5kIGNvbmZpZ3VyYXRpb24uICBJZiBhIGZpbGVzeXN0ZW0gaGFzIHN1Y2ggYSByZXF1aXJlbWVudCwKK3RoZSBvcGVyYXRpb24gd2lsbCBmYWlsIHdpdGggdGhlIGVycm9yIEVJTlZBTCBpZiB0aGlzIHJlcXVpcmVtZW50IGlzIHZpb2xhdGVkLgorLlRQCisuQlIgXC1kICIsICIgXC1cLWRpZ1wtaG9sZXMKK0RldGVjdCBhbmQgZGlnIGhvbGVzLgorVGhpcyBtYWtlcyB0aGUgZmlsZSBzcGFyc2UgaW4tcGxhY2UsIHdpdGhvdXQgdXNpbmcgZXh0cmEgZGlzayBzcGFjZS4KK1RoZSBtaW5pbXVtIHNpemUgb2YgdGhlIGhvbGUgZGVwZW5kcyBvbiBmaWxlc3lzdGVtIEkvTyBibG9jayBzaXplCisodXN1YWxseSA0MDk2IGJ5dGVzKS4KK0Fsc28sIHdoZW4gdXNpbmcgdGhpcyBvcHRpb24sCisuQiBcLVwta2VlcFwtc2l6ZQoraXMgaW1wbGllZC4gIElmIG5vIHJhbmdlIGlzIHNwZWNpZmllZCBieQorLkIgXC1cLW9mZnNldAorYW5kCisuQlIgXC1cLWxlbmd0aCAsCit0aGVuIHRoZSBlbnRpcmUgZmlsZSBpcyBhbmFseXplZCBmb3IgaG9sZXMuCisuc3AKK1lvdSBjYW4gdGhpbmsgb2YgdGhpcyBvcHRpb24gYXMgZG9pbmcgYQorLlJCICIiIiIgImNwIFwtXC1zcGFyc2UiICIiIiIKK2FuZCB0aGVuIHJlbmFtaW5nIHRoZSBkZXN0aW5hdGlvbiBmaWxlIHRvIHRoZSBvcmlnaW5hbCwKK3dpdGhvdXQgdGhlIG5lZWQgZm9yIGV4dHJhIGRpc2sgc3BhY2UuCisuc3AKK1NlZSBcZkJcLVwtcHVuY2hcLWhvbGVcZlAgZm9yIGEgbGlzdCBvZiBzdXBwb3J0ZWQgZmlsZXN5c3RlbXMuCisuVFAKKy5CUiBcLWkgIiwgIiBcLVwtaW5zZXJ0XC1yYW5nZQorSW5zZXJ0IGEgaG9sZSBvZgorLkkgbGVuZ3RoCitieXRlcyBmcm9tCisuSVIgb2Zmc2V0ICwKK3NoaWZ0aW5nIGV4aXN0aW5nIGRhdGEuCisuVFAKKy5CUiBcLWwgIiwgIiAiXC1cLWxlbmd0aCAiIFxmSWxlbmd0aAorU3BlY2lmaWVzIHRoZSBsZW5ndGggb2YgdGhlIHJhbmdlLCBpbiBieXRlcy4KKy5UUAorLkJSIFwtbiAiLCAiIFwtXC1rZWVwXC1zaXplCitEbyBub3QgbW9kaWZ5IHRoZSBhcHBhcmVudCBsZW5ndGggb2YgdGhlIGZpbGUuICBUaGlzIG1heSBlZmZlY3RpdmVseSBhbGxvY2F0ZQorYmxvY2tzIHBhc3QgRU9GLCB3aGljaCBjYW4gYmUgcmVtb3ZlZCB3aXRoIGEgdHJ1bmNhdGUuCisuVFAKKy5CUiBcLW8gIiwgIiAiXC1cLW9mZnNldCAiIFxmSW9mZnNldAorU3BlY2lmaWVzIHRoZSBiZWdpbm5pbmcgb2Zmc2V0IG9mIHRoZSByYW5nZSwgaW4gYnl0ZXMuCisuVFAKKy5CUiBcLXAgIiwgIiBcLVwtcHVuY2hcLWhvbGUKK0RlYWxsb2NhdGVzIHNwYWNlIChpLmUuLCBjcmVhdGVzIGEgaG9sZSkgaW4gdGhlIGJ5dGUgcmFuZ2Ugc3RhcnRpbmcgYXQKKy5JIG9mZnNldAorYW5kIGNvbnRpbnVpbmcgZm9yCisuSSBsZW5ndGgKK2J5dGVzLgorV2l0aGluIHRoZSBzcGVjaWZpZWQgcmFuZ2UsIHBhcnRpYWwgZmlsZXN5c3RlbSBibG9ja3MgYXJlIHplcm9lZCwKK2FuZCB3aG9sZSBmaWxlc3lzdGVtIGJsb2NrcyBhcmUgcmVtb3ZlZCBmcm9tIHRoZSBmaWxlLgorQWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwsCitzdWJzZXF1ZW50IHJlYWRzIGZyb20gdGhpcyByYW5nZSB3aWxsIHJldHVybiB6ZXJvZXMuCitUaGlzIG9wdGlvbiBtYXkgbm90IGJlIHNwZWNpZmllZCBhdCB0aGUgc2FtZSB0aW1lIGFzIHRoZQorLkIgXC1cLXplcm9cLXJhbmdlCitvcHRpb24uCitBbHNvLCB3aGVuIHVzaW5nIHRoaXMgb3B0aW9uLAorLkIgXC1cLWtlZXBcLXNpemUKK2lzIGltcGxpZWQuCisuc3AKK1N1cHBvcnRlZCBmb3IgWEZTIChzaW5jZSBMaW51eCAyLjYuMzgpLCBleHQ0IChzaW5jZSBMaW51eCAzLjApLAorQnRyZnMgKHNpbmNlIExpbnV4IDMuNykgYW5kIHRtcGZzIChzaW5jZSBMaW51eCAzLjUpLgorLlRQCisuQlIgXC12ICIsICIgXC1cLXZlcmJvc2UKK0VuYWJsZSB2ZXJib3NlIG1vZGUuCisuVFAKKy5CUiBcLXggIiwgIiBcLVwtcG9zaXgKK0VuYWJsZSBQT1NJWCBvcGVyYXRpb24gbW9kZS4KK0luIHRoYXQgbW9kZSBhbGxvY2F0aW9uIG9wZXJhdGlvbiBhbHdheXMgY29tcGxldGVzLAorYnV0IGl0IG1heSB0YWtlIGxvbmdlciB0aW1lIHdoZW4gZmFzdCBhbGxvY2F0aW9uIGlzIG5vdCBzdXBwb3J0ZWQgYnkKK3RoZSB1bmRlcmx5aW5nIGZpbGVzeXN0ZW0uCisuVFAKKy5CUiBcLXogIiwgIiBcLVwtemVyb1wtcmFuZ2UKK1plcm9lcyBzcGFjZSBpbiB0aGUgYnl0ZSByYW5nZSBzdGFydGluZyBhdAorLkkgb2Zmc2V0CithbmQgY29udGludWluZyBmb3IKKy5JIGxlbmd0aAorYnl0ZXMuCitXaXRoaW4gdGhlIHNwZWNpZmllZCByYW5nZSwgYmxvY2tzIGFyZSBwcmVhbGxvY2F0ZWQgZm9yIHRoZSByZWdpb25zCit0aGF0IHNwYW4gdGhlIGhvbGVzIGluIHRoZSBmaWxlLgorQWZ0ZXIgYSBzdWNjZXNzZnVsIGNhbGwsCitzdWJzZXF1ZW50IHJlYWRzIGZyb20gdGhpcyByYW5nZSB3aWxsIHJldHVybiB6ZXJvZXMuCisuc3AKK1plcm9pbmcgaXMgZG9uZSB3aXRoaW4gdGhlIGZpbGVzeXN0ZW0gcHJlZmVyYWJseSBieSBjb252ZXJ0aW5nIHRoZQorcmFuZ2UgaW50byB1bndyaXR0ZW4gZXh0ZW50cy4gIFRoaXMgYXBwcm9hY2ggbWVhbnMgdGhhdCB0aGUgc3BlY2lmaWVkCityYW5nZSB3aWxsIG5vdCBiZSBwaHlzaWNhbGx5IHplcm9lZCBvdXQgb24gdGhlIGRldmljZSAoZXhjZXB0IGZvcgorcGFydGlhbCBibG9ja3MgYXQgdGhlIGVpdGhlciBlbmQgb2YgdGhlIHJhbmdlKSwgYW5kIEkvTyBpcworKG90aGVyd2lzZSkgcmVxdWlyZWQgb25seSB0byB1cGRhdGUgbWV0YWRhdGEuCisuc3AKK09wdGlvbiBcZkJcLVwta2VlcFwtc2l6ZVxmUCBjYW4gYmUgc3BlY2lmaWVkIHRvIHByZXZlbnQgZmlsZSBsZW5ndGgKK21vZGlmaWNhdGlvbi4KKy5zcAorQXZhaWxhYmxlIHNpbmNlIExpbnV4IDMuMTQgZm9yIGV4dDQgKG9ubHkgZm9yIGV4dGVudC1iYXNlZCBmaWxlcykgYW5kIFhGUy4KKy5UUAorLkJSIFwtViAiLCAiIFwtXC12ZXJzaW9uCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggIiwgIiBcLVwtaGVscAorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggQVVUSE9SUworLk1UIHNhbmRlZW5AcmVkaGF0LmNvbQorRXJpYyBTYW5kZWVuCisuTUUKKy5icgorLk1UIGt6YWtAcmVkaGF0LmNvbQorS2FyZWwgWmFrCisuTUUKKy5TSCBTRUUgQUxTTworLkJSIHRydW5jYXRlICgxKSwKKy5CUiBmYWxsb2NhdGUgKDIpLAorLkJSIHBvc2l4X2ZhbGxvY2F0ZSAoMykKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBmYWxsb2NhdGUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mYWxsb2NhdGUuYyBiL3N5cy11dGlscy9mYWxsb2NhdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGExYjI3Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2ZhbGxvY2F0ZS5jCkBAIC0wLDAgKzEsNDEyIEBACisvKgorICogZmFsbG9jYXRlIC0gdXRpbGl0eSB0byB1c2UgdGhlIGZhbGxvY2F0ZSBzeXN0ZW0gY2FsbAorICoKKyAqIENvcHlyaWdodCAoQykgMjAwOC0yMDA5IFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgRXJpYyBTYW5kZWVuIDxzYW5kZWVuQHJlZGhhdC5jb20+CisgKiAgICAgICAgICAgIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIGN2dG51bSByb3V0aW5lIHRha2VuIGZyb20geGZzcHJvZ3MsCisgKiBDb3B5cmlnaHQgKGMpIDIwMDMtMjAwNSBTaWxpY29uIEdyYXBoaWNzLCBJbmMuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaWZuZGVmIEhBVkVfRkFMTE9DQVRFCisjIGluY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CisjZW5kaWYKKworI2lmIGRlZmluZWQoSEFWRV9MSU5VWF9GQUxMT0NfSCkgJiYgXAorICAgICghZGVmaW5lZChGQUxMT0NfRkxfS0VFUF9TSVpFKSB8fCAhZGVmaW5lZChGQUxMT0NfRkxfUFVOQ0hfSE9MRSkgfHwgXAorICAgICAhZGVmaW5lZChGQUxMT0NfRkxfQ09MTEFQU0VfUkFOR0UpIHx8ICFkZWZpbmVkKEZBTExPQ19GTF9aRVJPX1JBTkdFKSB8fCBcCisgICAgICFkZWZpbmVkKEZBTExPQ19GTF9JTlNFUlRfUkFOR0UpKQorIyBpbmNsdWRlIDxsaW51eC9mYWxsb2MuaD4JLyogbm9uLWxpYmMgZmFsbGJhY2sgZm9yIEZBTExPQ19GTF8qIGZsYWdzICovCisjZW5kaWYKKworCisjaWZuZGVmIEZBTExPQ19GTF9LRUVQX1NJWkUKKyMgZGVmaW5lIEZBTExPQ19GTF9LRUVQX1NJWkUJCTB4MQorI2VuZGlmCisKKyNpZm5kZWYgRkFMTE9DX0ZMX1BVTkNIX0hPTEUKKyMgZGVmaW5lIEZBTExPQ19GTF9QVU5DSF9IT0xFCQkweDIKKyNlbmRpZgorCisjaWZuZGVmIEZBTExPQ19GTF9DT0xMQVBTRV9SQU5HRQorIyBkZWZpbmUgRkFMTE9DX0ZMX0NPTExBUFNFX1JBTkdFCTB4OAorI2VuZGlmCisKKyNpZm5kZWYgRkFMTE9DX0ZMX1pFUk9fUkFOR0UKKyMgZGVmaW5lIEZBTExPQ19GTF9aRVJPX1JBTkdFCQkweDEwCisjZW5kaWYKKworI2lmbmRlZiBGQUxMT0NfRkxfSU5TRVJUX1JBTkdFCisjIGRlZmluZSBGQUxMT0NfRkxfSU5TRVJUX1JBTkdFCQkweDIwCisjZW5kaWYKKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKworc3RhdGljIGludCB2ZXJib3NlOworc3RhdGljIGNoYXIgKmZpbGVuYW1lOworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFtvcHRpb25zXSA8ZmlsZW5hbWU+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlByZWFsbG9jYXRlIHNwYWNlIHRvLCBvciBkZWFsbG9jYXRlIHNwYWNlIGZyb20gYSBmaWxlLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1jb2xsYXBzZS1yYW5nZSByZW1vdmUgYSByYW5nZSBmcm9tIHRoZSBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZGlnLWhvbGVzICAgICAgZGV0ZWN0IHplcm9lcyBhbmQgcmVwbGFjZSB3aXRoIGhvbGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taW5zZXJ0LXJhbmdlICAgaW5zZXJ0IGEgaG9sZSBhdCByYW5nZSwgc2hpZnRpbmcgZXhpc3RpbmcgZGF0YVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxlbmd0aCA8bnVtPiAgIGxlbmd0aCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1rZWVwLXNpemUgICAgICBtYWludGFpbiB0aGUgYXBwYXJlbnQgc2l6ZSBvZiB0aGUgZmlsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW9mZnNldCA8bnVtPiAgIG9mZnNldCBmb3IgcmFuZ2Ugb3BlcmF0aW9ucywgaW4gYnl0ZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1wdW5jaC1ob2xlICAgICByZXBsYWNlIGEgcmFuZ2Ugd2l0aCBhIGhvbGUgKGltcGxpZXMgLW4pXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXosIC0temVyby1yYW5nZSAgICAgemVybyBhbmQgZW5zdXJlIGFsbG9jYXRpb24gb2YgYSByYW5nZVxuIiksIG91dCk7CisjaWZkZWYgSEFWRV9QT1NJWF9GQUxMT0NBVEUKKwlmcHV0cyhfKCIgLXgsIC0tcG9zaXggICAgICAgICAgdXNlIHBvc2l4X2ZhbGxvY2F0ZSgzKSBpbnN0ZWFkIG9mIGZhbGxvY2F0ZSgyKVxuIiksIG91dCk7CisjZW5kaWYKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICAgdmVyYm9zZSBtb2RlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIyKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImZhbGxvY2F0ZSgxKSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGxvZmZfdCBjdnRudW0oY2hhciAqcykKK3sKKwl1aW50bWF4X3QgeDsKKworCWlmIChzdHJ0b3NpemUocywgJngpKQorCQlyZXR1cm4gLTFMTDsKKworCXJldHVybiB4OworfQorCitzdGF0aWMgdm9pZCB4ZmFsbG9jYXRlKGludCBmZCwgaW50IG1vZGUsIG9mZl90IG9mZnNldCwgb2ZmX3QgbGVuZ3RoKQoreworCWludCBlcnJvcjsKKworI2lmZGVmIEhBVkVfRkFMTE9DQVRFCisJZXJyb3IgPSBmYWxsb2NhdGUoZmQsIG1vZGUsIG9mZnNldCwgbGVuZ3RoKTsKKyNlbHNlCisJZXJyb3IgPSBzeXNjYWxsKFNZU19mYWxsb2NhdGUsIGZkLCBtb2RlLCBvZmZzZXQsIGxlbmd0aCk7CisjZW5kaWYKKwkvKgorCSAqIEVPUE5PVFNVUFA6IFRoZSBGQUxMT0NfRkxfS0VFUF9TSVpFIGlzIHVuc3VwcG9ydGVkCisJICogRU5PU1lTOiBUaGUgZmlsZXN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHN5c19mYWxsb2NhdGUKKwkgKi8KKwlpZiAoZXJyb3IgPCAwKSB7CisJCWlmICgobW9kZSAmIEZBTExPQ19GTF9LRUVQX1NJWkUpICYmIGVycm5vID09IEVPUE5PVFNVUFApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFsbG9jYXRlIGZhaWxlZDoga2VlcCBzaXplIG1vZGUgaXMgdW5zdXBwb3J0ZWQiKSk7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhbGxvY2F0ZSBmYWlsZWQiKSk7CisJfQorfQorCisjaWZkZWYgSEFWRV9QT1NJWF9GQUxMT0NBVEUKK3N0YXRpYyB2b2lkIHhwb3NpeF9mYWxsb2NhdGUoaW50IGZkLCBvZmZfdCBvZmZzZXQsIG9mZl90IGxlbmd0aCkKK3sKKwlpbnQgZXJyb3IgPSBwb3NpeF9mYWxsb2NhdGUoZmQsIG9mZnNldCwgbGVuZ3RoKTsKKwlpZiAoZXJyb3IgPCAwKSB7CisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhbGxvY2F0ZSBmYWlsZWQiKSk7CisJfQorfQorI2VuZGlmCisKKy8qIFRoZSByZWFsIGJ1ZmZlciBzaXplIGhhcyB0byBiZSBidWZzaXplICsgc2l6ZW9mKHVpbnRwdHJfdCkgKi8KK3N0YXRpYyBpbnQgaXNfbnVsKHZvaWQgKmJ1Ziwgc2l6ZV90IGJ1ZnNpemUpCit7CisJdHlwZWRlZiB1aW50cHRyX3Qgd29yZDsKKwl2b2lkIGNvbnN0ICp2cDsKKwljaGFyIGNvbnN0ICpjYnVmID0gYnVmLCAqY3A7CisJd29yZCBjb25zdCAqd3AgPSBidWY7CisKKwkvKiBzZXQgc2VudGluZWwgKi8KKwltZW1zZXQoKGNoYXIgKikgYnVmICsgYnVmc2l6ZSwgJ1wxJywgc2l6ZW9mKHdvcmQpKTsKKworCS8qIEZpbmQgZmlyc3Qgbm9uemVybyAqd29yZCosIG9yIHRoZSB3b3JkIHdpdGggdGhlIHNlbnRpbmVsLiAgKi8KKwl3aGlsZSAoKndwKysgPT0gMCkKKwkJY29udGludWU7CisKKwkvKiBGaW5kIHRoZSBmaXJzdCBub256ZXJvICpieXRlKiwgb3IgdGhlIHNlbnRpbmVsLiAgKi8KKwl2cCA9IHdwIC0gMTsKKwljcCA9IHZwOworCisJd2hpbGUgKCpjcCsrID09IDApCisJCWNvbnRpbnVlOworCisJcmV0dXJuIGNidWYgKyBidWZzaXplIDwgY3A7Cit9CisKK3N0YXRpYyB2b2lkIGRpZ19ob2xlcyhpbnQgZmQsIG9mZl90IGZpbGVfb2ZmLCBvZmZfdCBsZW4pCit7CisJb2ZmX3QgZmlsZV9lbmQgPSBsZW4gPyBmaWxlX29mZiArIGxlbiA6IDA7CisJb2ZmX3QgaG9sZV9zdGFydCA9IDAsIGhvbGVfc3ogPSAwOworCXVpbnRtYXhfdCBjdCA9IDA7CisJc2l6ZV90ICBidWZzejsKKwljaGFyICpidWY7CisJc3RydWN0IHN0YXQgc3Q7CisjaWYgZGVmaW5lZChQT1NJWF9GQURWX1NFUVVFTlRJQUwpICYmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKQorCW9mZl90IGNhY2hlX3N0YXJ0ID0gZmlsZV9vZmY7CisJLyoKKwkgKiBXZSBkb24ndCB3YW50IHRvIGNhbGwgUE9TSVhfRkFEVl9ET05UTkVFRCB0byBkaXNjYXJkIGNhY2hlZAorCSAqIGRhdGEgaW4gUEFHRV9TSVpFIHN0ZXBzLiBJTUhPIGl0J3Mgb3ZlcmtpbGwgKHRvbyBtYW55IHN5c2NhbGxzKS4KKwkgKgorCSAqIExldCdzIGFzc3VtZSB0aGF0IDFNaUIgKG9uIHN5c3RlbSB3aXRoIDRLIHBhZ2Ugc2l6ZSkgaXMganVzdAorCSAqIGEgZ29vZCBjb21wcm9taXNlLgorCSAqCQkJCQkgICAgLS0ga3phayBGZWItMjAxNAorCSAqLworCWNvbnN0IHNpemVfdCBjYWNoZXN6ID0gZ2V0cGFnZXNpemUoKSAqIDI1NjsKKyNlbmRpZgorCisJaWYgKGZzdGF0KGZkLCAmc3QpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKworCWJ1ZnN6ID0gc3Quc3RfYmxrc2l6ZTsKKworCWlmIChsc2VlayhmZCwgZmlsZV9vZmYsIFNFRUtfU0VUKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInNlZWsgb24gJXMgZmFpbGVkIiksIGZpbGVuYW1lKTsKKworCS8qIGJ1ZmZlciArIGV4dHJhIHNwYWNlIGZvciBpc19udWwoKSBzZW50aW5lbCAqLworCWJ1ZiA9IHhtYWxsb2MoYnVmc3ogKyBzaXplb2YodWludHB0cl90KSk7CisJd2hpbGUgKGZpbGVfZW5kID09IDAgfHwgZmlsZV9vZmYgPCBmaWxlX2VuZCkgeworCQkvKgorCQkgKiBEZXRlY3QgZGF0YSBhcmVhIChza2lwIGhvbGVzKQorCQkgKi8KKwkJb2ZmX3QgZW5kLCBvZmY7CisKKwkJb2ZmID0gbHNlZWsoZmQsIGZpbGVfb2ZmLCBTRUVLX0RBVEEpOworCQlpZiAoKG9mZiA9PSAtMSAmJiBlcnJubyA9PSBFTlhJTykgfHwKKwkJICAgIChmaWxlX2VuZCAmJiBvZmYgPj0gZmlsZV9lbmQpKQorCQkJYnJlYWs7CisKKwkJZW5kID0gbHNlZWsoZmQsIG9mZiwgU0VFS19IT0xFKTsKKwkJaWYgKGZpbGVfZW5kICYmIGVuZCA+IGZpbGVfZW5kKQorCQkJZW5kID0gZmlsZV9lbmQ7CisKKyNpZiBkZWZpbmVkKFBPU0lYX0ZBRFZfU0VRVUVOVElBTCkgJiYgZGVmaW5lZChIQVZFX1BPU0lYX0ZBRFZJU0UpCisJCXBvc2l4X2ZhZHZpc2UoZmQsIG9mZiwgZW5kLCBQT1NJWF9GQURWX1NFUVVFTlRJQUwpOworI2VuZGlmCisJCS8qCisJCSAqIERpZyBob2xlcyBpbiB0aGUgYXJlYQorCQkgKi8KKwkJd2hpbGUgKG9mZiA8IGVuZCkgeworCQkJc3NpemVfdCByc3ogPSBwcmVhZChmZCwgYnVmLCBidWZzeiwgb2ZmKTsKKwkJCWlmIChyc3ogPCAwICYmIGVycm5vKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiByZWFkIGZhaWxlZCIpLCBmaWxlbmFtZSk7CisJCQlpZiAoZW5kICYmIHJzeiA+IDAgJiYgb2ZmID4gZW5kIC0gcnN6KQorCQkJCXJzeiA9IGVuZCAtIG9mZjsKKwkJCWlmIChyc3ogPD0gMCkKKwkJCQlicmVhazsKKworCQkJaWYgKGlzX251bChidWYsIHJzeikpIHsKKwkJCQlpZiAoIWhvbGVfc3opCQkJCS8qIG5ldyBob2xlIGRldGVjdGVkICovCisJCQkJCWhvbGVfc3RhcnQgPSBvZmY7CisJCQkJaG9sZV9zeiArPSByc3o7CisJCQkgfSBlbHNlIGlmIChob2xlX3N6KSB7CisJCQkJeGZhbGxvY2F0ZShmZCwgRkFMTE9DX0ZMX1BVTkNIX0hPTEV8RkFMTE9DX0ZMX0tFRVBfU0laRSwKKwkJCQkJICAgaG9sZV9zdGFydCwgaG9sZV9zeik7CisJCQkJY3QgKz0gaG9sZV9zejsKKwkJCQlob2xlX3N6ID0gaG9sZV9zdGFydCA9IDA7CisJCQl9CisKKyNpZiBkZWZpbmVkKFBPU0lYX0ZBRFZfRE9OVE5FRUQpICYmIGRlZmluZWQoSEFWRV9QT1NJWF9GQURWSVNFKQorCQkJLyogZGlzY2FyZCBjYWNoZWQgZGF0YSAqLworCQkJaWYgKG9mZiAtIGNhY2hlX3N0YXJ0ID4gKG9mZl90KSBjYWNoZXN6KSB7CisJCQkJc2l6ZV90IGNsZW4gPSBvZmYgLSBjYWNoZV9zdGFydDsKKworCQkJCWNsZW4gPSAoY2xlbiAvIGNhY2hlc3opICogY2FjaGVzejsKKwkJCQlwb3NpeF9mYWR2aXNlKGZkLCBjYWNoZV9zdGFydCwgY2xlbiwgUE9TSVhfRkFEVl9ET05UTkVFRCk7CisJCQkJY2FjaGVfc3RhcnQgPSBjYWNoZV9zdGFydCArIGNsZW47CisJCQl9CisjZW5kaWYKKwkJCW9mZiArPSByc3o7CisJCX0KKwkJaWYgKGhvbGVfc3opIHsKKwkJCXhmYWxsb2NhdGUoZmQsIEZBTExPQ19GTF9QVU5DSF9IT0xFfEZBTExPQ19GTF9LRUVQX1NJWkUsCisJCQkJCWhvbGVfc3RhcnQsIGhvbGVfc3opOworCQkJY3QgKz0gaG9sZV9zejsKKwkJfQorCQlmaWxlX29mZiA9IG9mZjsKKwl9CisKKwlmcmVlKGJ1Zik7CisKKwlpZiAodmVyYm9zZSkgeworCQljaGFyICpzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8zTEVUVEVSIHwgU0laRV9TVUZGSVhfU1BBQ0UsIGN0KTsKKwkJZnByaW50ZihzdGRvdXQsIF8oIiVzOiAlcyAoJWp1IGJ5dGVzKSBjb252ZXJ0ZWQgdG8gc3BhcnNlIGhvbGVzLlxuIiksCisJCQkJZmlsZW5hbWUsIHN0ciwgY3QpOworCQlmcmVlKHN0cik7CisJfQorfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50CWM7CisJaW50CWZkOworCWludAltb2RlID0gMDsKKwlpbnQJZGlnID0gMDsKKwlpbnQgcG9zaXggPSAwOworCWxvZmZfdAlsZW5ndGggPSAtMkxMOworCWxvZmZfdAlvZmZzZXQgPSAwOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkgICAgeyAiaGVscCIsICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJICAgIHsgInZlcnNpb24iLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCSAgICB7ICJrZWVwLXNpemUiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgfSwKKwkgICAgeyAicHVuY2gtaG9sZSIsICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3AnIH0sCisJICAgIHsgImNvbGxhcHNlLXJhbmdlIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdjJyB9LAorCSAgICB7ICJkaWctaG9sZXMiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZCcgfSwKKwkgICAgeyAiaW5zZXJ0LXJhbmdlIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2knIH0sCisJICAgIHsgInplcm8tcmFuZ2UiLCAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd6JyB9LAorCSAgICB7ICJvZmZzZXQiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkgICAgeyAibGVuZ3RoIiwgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2wnIH0sCisJICAgIHsgInBvc2l4IiwgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd4JyB9LAorCSAgICB7ICJ2ZXJib3NlIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndicgfSwKKwkgICAgeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CS8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnYycsICdkJywgJ3AnLCAneicgfSwKKwkJeyAnYycsICduJyB9LAorCQl7ICd4JywgJ2MnLCAnZCcsICdpJywgJ24nLCAncCcsICd6J30sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImh2Vm5jcGRpenhsOm86IiwgbG9uZ29wdHMsIE5VTEwpKQorCQkJIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCW1vZGUgfD0gRkFMTE9DX0ZMX0NPTExBUFNFX1JBTkdFOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJZGlnID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCW1vZGUgfD0gRkFMTE9DX0ZMX0lOU0VSVF9SQU5HRTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWxlbmd0aCA9IGN2dG51bShvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJbW9kZSB8PSBGQUxMT0NfRkxfS0VFUF9TSVpFOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJb2Zmc2V0ID0gY3Z0bnVtKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQltb2RlIHw9IEZBTExPQ19GTF9QVU5DSF9IT0xFIHwgRkFMTE9DX0ZMX0tFRVBfU0laRTsKKwkJCWJyZWFrOworCQljYXNlICd6JzoKKwkJCW1vZGUgfD0gRkFMTE9DX0ZMX1pFUk9fUkFOR0U7CisJCQlicmVhazsKKwkJY2FzZSAneCc6CisjaWZkZWYgSEFWRV9QT1NJWF9GQUxMT0NBVEUKKwkJCXBvc2l4ID0gMTsKKwkJCWJyZWFrOworI2Vsc2UKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJwb3NpeF9mYWxsb2NhdGUgc3VwcG9ydCBpcyBub3QgY29tcGlsZWQiKSkKKyNlbmRpZgorCQljYXNlICd2JzoKKwkJCXZlcmJvc2UrKzsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIGZpbGVuYW1lIHNwZWNpZmllZCIpKTsKKworCWZpbGVuYW1lID0gYXJndltvcHRpbmQrK107CisKKwlpZiAob3B0aW5kICE9IGFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiKSk7CisKKwlpZiAoZGlnKSB7CisJCS8qIGZvciAtLWRpZy1ob2xlcyB0aGUgZGVmYXVsdCBpcyBhbmFseXplIGFsbCBmaWxlICovCisJCWlmIChsZW5ndGggPT0gLTJMTCkKKwkJCWxlbmd0aCA9IDA7CisJCWlmIChsZW5ndGggPCAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIpKTsKKwl9IGVsc2UgeworCQkvKiBpdCdzIHNhZmVyIHRvIHJlcXVpcmUgdGhlIHJhbmdlIHNwZWNpZmljYXRpb24gKC0tbGVuZ3RoIC0tb2Zmc2V0KSAqLworCQlpZiAobGVuZ3RoID09IC0yTEwpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gbGVuZ3RoIGFyZ3VtZW50IHNwZWNpZmllZCIpKTsKKwkJaWYgKGxlbmd0aCA8PSAwKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgbGVuZ3RoIHZhbHVlIHNwZWNpZmllZCIpKTsKKwl9CisJaWYgKG9mZnNldCA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJpbnZhbGlkIG9mZnNldCB2YWx1ZSBzcGVjaWZpZWQiKSk7CisKKwkvKiBPX0NSRUFUIG1ha2VzIHNlbnNlIG9ubHkgZm9yIHRoZSBkZWZhdWx0IGZhbGxvY2F0ZSgyKSBiZWhhdmlvcgorCSAqIHdoZW4gbW9kZSBpcyBubyBzcGVjaWZpZWQgYW5kIG5ldyBzcGFjZSBpcyBhbGxvY2F0ZWQgKi8KKwlmZCA9IG9wZW4oZmlsZW5hbWUsIE9fUkRXUiB8ICghZGlnICYmICFtb2RlID8gT19DUkVBVCA6IDApLAorCQkgIFNfSVJVU1IgfCBTX0lXVVNSIHwgU19JUkdSUCB8IFNfSVdHUlAgfCBTX0lST1RIIHwgU19JV09USCk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZW5hbWUpOworCisJaWYgKGRpZykKKwkJZGlnX2hvbGVzKGZkLCBvZmZzZXQsIGxlbmd0aCk7CisjaWZkZWYgSEFWRV9QT1NJWF9GQUxMT0NBVEUKKwllbHNlIGlmIChwb3NpeCkKKwkJeHBvc2l4X2ZhbGxvY2F0ZShmZCwgb2Zmc2V0LCBsZW5ndGgpOworI2VuZGlmCisJZWxzZQorCQl4ZmFsbG9jYXRlKGZkLCBtb2RlLCBvZmZzZXQsIGxlbmd0aCk7CisKKwlpZiAoY2xvc2VfZmQoZmQpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGZhaWxlZDogJXMiKSwgZmlsZW5hbWUpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mbG9jay4xIGIvc3lzLXV0aWxzL2Zsb2NrLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIxZDYzNQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mbG9jay4xCkBAIC0wLDAgKzEsMTk3IEBACisuXCIgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKy5cIgorLlwiICAgQ29weXJpZ2h0IDIwMDMtMjAwNiBILiBQZXRlciBBbnZpbiAtIEFsbCBSaWdodHMgUmVzZXJ2ZWQKKy5cIgorLlwiICAgUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24KKy5cIiAgIG9idGFpbmluZyBhIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0aW9uCisuXCIgICBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0CisuXCIgICByZXN0cmljdGlvbiwgaW5jbHVkaW5nIHdpdGhvdXQgbGltaXRhdGlvbiB0aGUgcmlnaHRzIHRvIHVzZSwKKy5cIiAgIGNvcHksIG1vZGlmeSwgbWVyZ2UsIHB1Ymxpc2gsIGRpc3RyaWJ1dGUsIHN1YmxpY2Vuc2UsIGFuZC9vcgorLlwiICAgc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbQorLlwiICAgdGhlIFNvZnR3YXJlIGlzIGZ1cm5pc2hlZCB0byBkbyBzbywgc3ViamVjdCB0byB0aGUgZm9sbG93aW5nCisuXCIgICBjb25kaXRpb25zOgorLlwiCisuXCIgICBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBzaGFsbAorLlwiICAgYmUgaW5jbHVkZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUgU29mdHdhcmUuCisuXCIKKy5cIiAgIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZIE9GIEFOWSBLSU5ELAorLlwiICAgRVhQUkVTUyBPUiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTCisuXCIgICBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorLlwiICAgTk9OSU5GUklOR0VNRU5ULiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQVVUSE9SUyBPUiBDT1BZUklHSFQKKy5cIiAgIEhPTERFUlMgQkUgTElBQkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIgTElBQklMSVRZLAorLlwiICAgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisuXCIgICBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9SCisuXCIgICBPVEhFUiBERUFMSU5HUyBJTiBUSEUgU09GVFdBUkUuCisuXCIKKy5cIiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorLlRIIEZMT0NLIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2Zsb2NrIFwtIG1hbmFnZSBsb2NrcyBmcm9tIHNoZWxsIHNjcmlwdHMKKy5TSCBTWU5PUFNJUworLkIgZmxvY2sKK1tvcHRpb25zXQorLklSIGZpbGUgfCAiZGlyZWN0b3J5IGNvbW1hbmQgIiBbIGFyZ3VtZW50cyBdCisuYnIKKy5CIGZsb2NrCitbb3B0aW9uc10KKy5JUiBmaWxlIHwgZGlyZWN0b3J5CisuQkkgXC1jICIgY29tbWFuZCIKKy5icgorLkIgZmxvY2sKKy5SSSBbb3B0aW9uc10gIiBudW1iZXIiCisuU0ggREVTQ1JJUFRJT04KKy5QUAorVGhpcyB1dGlsaXR5IG1hbmFnZXMKKy5CUiBmbG9jayAoMikKK2xvY2tzIGZyb20gd2l0aGluIHNoZWxsIHNjcmlwdHMgb3IgZnJvbSB0aGUgY29tbWFuZCBsaW5lLgorLlBQCitUaGUgZmlyc3QgYW5kIHNlY29uZCBvZiB0aGUgYWJvdmUgZm9ybXMgd3JhcCB0aGUgbG9jayBhcm91bmQgdGhlIGV4ZWN1dGlvbiBvZiBhCisuSVIgY29tbWFuZCAsCitpbiBhIG1hbm5lciBzaW1pbGFyIHRvCisuQlIgc3UgKDEpCitvcgorLkJSIG5ld2dycCAoMSkuCitUaGV5IGxvY2sgYSBzcGVjaWZpZWQgXGZJZmlsZVxmUiBvciBcZklkaXJlY3RvcnlcZlIsIHdoaWNoIGlzIGNyZWF0ZWQgKGFzc3VtaW5nCithcHByb3ByaWF0ZSBwZXJtaXNzaW9ucykgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC4gIEJ5IGRlZmF1bHQsIGlmIHRoZQorbG9jayBjYW5ub3QgYmUgaW1tZWRpYXRlbHkgYWNxdWlyZWQsCisuQiBmbG9jaword2FpdHMgdW50aWwgdGhlIGxvY2sgaXMgYXZhaWxhYmxlLgorLlBQCitUaGUgdGhpcmQgZm9ybSB1c2VzIGFuIG9wZW4gZmlsZSBieSBpdHMgZmlsZSBkZXNjcmlwdG9yIFxmSW51bWJlclxmUi4KK1NlZSB0aGUgZXhhbXBsZXMgYmVsb3cgZm9yIGhvdyB0aGF0IGNhbiBiZSB1c2VkLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYyAsICIgXC1cLWNvbW1hbmQgIiBcZkljb21tYW5kCitQYXNzIGEgc2luZ2xlIFxmSWNvbW1hbmRcZlIsIHdpdGhvdXQgYXJndW1lbnRzLCB0byB0aGUgc2hlbGwgd2l0aAorLkJSIFwtYyAuCisuVFAKKy5CUiBcLUUgLCAiIFwtXC1jb25mbGljdFwtZXhpdFwtY29kZSAiIFxmSW51bWJlcgorVGhlIGV4aXQgY29kZSB1c2VkIHdoZW4gdGhlIFxmQlwtblxmUCBvcHRpb24gaXMgaW4gdXNlLCBhbmQgdGhlCitjb25mbGljdGluZyBsb2NrIGV4aXN0cywgb3IgdGhlIFxmQlwtd1xmUCBvcHRpb24gaXMgaW4gdXNlLAorYW5kIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQuICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBcZkIxXGZSLgorLlRQCisuQlIgXC1GICwgIiBcLVwtbm9cLWZvcmsiCitEbyBub3QgZm9yayBiZWZvcmUgZXhlY3V0aW5nCisuSVIgY29tbWFuZCAuCitVcG9uIGV4ZWN1dGlvbiB0aGUgZmxvY2sgcHJvY2VzcyBpcyByZXBsYWNlZCBieQorLkkgY29tbWFuZAord2hpY2ggY29udGludWVzIHRvIGhvbGQgdGhlIGxvY2suIFRoaXMgb3B0aW9uIGlzIGluY29tcGF0aWJsZSB3aXRoCitcZkJcLVwtY2xvc2VcZlIgYXMgdGhlcmUgd291bGQgb3RoZXJ3aXNlIGJlIG5vdGhpbmcgbGVmdCB0byBob2xkIHRoZSBsb2NrLgorLlRQCisuQlIgXC1lICwgIiBcLXgiICwgIiBcLVwtZXhjbHVzaXZlIgorT2J0YWluIGFuIGV4Y2x1c2l2ZSBsb2NrLCBzb21ldGltZXMgY2FsbGVkIGEgd3JpdGUgbG9jay4gIFRoaXMgaXMgdGhlCitkZWZhdWx0LgorLlRQCisuQlIgXC1uICwgIiBcLVwtbmIiICwgIiBcLVwtbm9uYmxvY2siCitGYWlsIHJhdGhlciB0aGFuIHdhaXQgaWYgdGhlIGxvY2sgY2Fubm90IGJlCitpbW1lZGlhdGVseSBhY3F1aXJlZC4KK1NlZSB0aGUKKy5CIFwtRQorb3B0aW9uIGZvciB0aGUgZXhpdCBjb2RlIHVzZWQuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1jbG9zZSIKK0Nsb3NlIHRoZSBmaWxlIGRlc2NyaXB0b3Igb24gd2hpY2ggdGhlIGxvY2sgaXMgaGVsZCBiZWZvcmUgZXhlY3V0aW5nCisuSVIgY29tbWFuZCAuCitUaGlzIGlzIHVzZWZ1bCBpZgorLkkgY29tbWFuZAorc3Bhd25zIGEgY2hpbGQgcHJvY2VzcyB3aGljaCBzaG91bGQgbm90IGJlIGhvbGRpbmcgdGhlIGxvY2suCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaGFyZWQiCitPYnRhaW4gYSBzaGFyZWQgbG9jaywgc29tZXRpbWVzIGNhbGxlZCBhIHJlYWQgbG9jay4KKy5UUAorLkJSIFwtdSAsICIgXC1cLXVubG9jayIKK0Ryb3AgYSBsb2NrLiAgVGhpcyBpcyB1c3VhbGx5IG5vdCByZXF1aXJlZCwgc2luY2UgYSBsb2NrIGlzIGF1dG9tYXRpY2FsbHkKK2Ryb3BwZWQgd2hlbiB0aGUgZmlsZSBpcyBjbG9zZWQuICBIb3dldmVyLCBpdCBtYXkgYmUgcmVxdWlyZWQgaW4gc3BlY2lhbAorY2FzZXMsIGZvciBleGFtcGxlIGlmIHRoZSBlbmNsb3NlZCBjb21tYW5kIGdyb3VwIG1heSBoYXZlIGZvcmtlZCBhIGJhY2tncm91bmQKK3Byb2Nlc3Mgd2hpY2ggc2hvdWxkIG5vdCBiZSBob2xkaW5nIHRoZSBsb2NrLgorLlRQCisuQlIgXC13ICwgIiBcLVwtd2FpdCIgLCAiIFwtXC10aW1lb3V0ICIgXGZJc2Vjb25kcworRmFpbCBpZiB0aGUgbG9jayBjYW5ub3QgYmUgYWNxdWlyZWQgd2l0aGluCisuSVIgc2Vjb25kcyAuCitEZWNpbWFsIGZyYWN0aW9uYWwgdmFsdWVzIGFyZSBhbGxvd2VkLgorU2VlIHRoZQorLkIgXC1FCitvcHRpb24gZm9yIHRoZSBleGl0IGNvZGUgdXNlZC4gVGhlIHplcm8gbnVtYmVyIG9mCisuSSBzZWNvbmRzCitpcyBpbnRlcnByZXRlZCBhcyBcZkJcLVwtbm9uYmxvY2tcZlIuCisuVFAKKy5CIFwtXC12ZXJib3NlCitSZXBvcnQgaG93IGxvbmcgaXQgdG9vayB0byBhY3F1aXJlIHRoZSBsb2NrLCBvciB3aHkgdGhlIGxvY2sgY291bGQgbm90IGJlCitvYnRhaW5lZC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKKy5UUAorc2hlbGwxPiBmbG9jayAvdG1wIC1jIGNhdAorLlRRCitzaGVsbDI+IGZsb2NrIC13IC4wMDcgL3RtcCAtYyBlY2hvOyAvYmluL2VjaG8gJD8KK1NldCBleGNsdXNpdmUgbG9jayB0byBkaXJlY3RvcnkgL3RtcCBhbmQgdGhlIHNlY29uZCBjb21tYW5kIHdpbGwgZmFpbC4KKy5UUAorc2hlbGwxPiBmbG9jayAtcyAvdG1wIC1jIGNhdAorLlRRCitzaGVsbDI+IGZsb2NrIC1zIC13IC4wMDcgL3RtcCAtYyBlY2hvOyAvYmluL2VjaG8gJD8KK1NldCBzaGFyZWQgbG9jayB0byBkaXJlY3RvcnkgL3RtcCBhbmQgdGhlIHNlY29uZCBjb21tYW5kIHdpbGwgbm90IGZhaWwuCitOb3RpY2UgdGhhdCBhdHRlbXB0aW5nIHRvIGdldCBleGNsdXNpdmUgbG9jayB3aXRoIHNlY29uZCBjb21tYW5kIHdvdWxkIGZhaWwuCisuVFAKK3NoZWxsPiBmbG9jayAteCBsb2NhbC1sb2NrLWZpbGUgZWNobyAnYSBiIGMnCitHcmFiIHRoZSBleGNsdXNpdmUgbG9jayAibG9jYWwtbG9jay1maWxlIiBiZWZvcmUgcnVubmluZyBlY2hvIHdpdGggJ2EgYiBjJy4KKy5UUAorKAorLlRRCisgIGZsb2NrIC1uIDkgfHwgZXhpdCAxCisuVFEKKyAgIyAuLi4gY29tbWFuZHMgZXhlY3V0ZWQgdW5kZXIgbG9jayAuLi4KKy5UUQorKSA5Pi92YXIvbG9jay9teWxvY2tmaWxlCitUaGUgZm9ybSBpcyBjb252ZW5pZW50IGluc2lkZSBzaGVsbCBzY3JpcHRzLiAgVGhlIG1vZGUgdXNlZCB0byBvcGVuIHRoZSBmaWxlCitkb2Vzbid0IG1hdHRlciB0bworLkJSIGZsb2NrIDsKK3VzaW5nCisuSSA+CitvcgorLkkgPj4KK2FsbG93cyB0aGUgbG9ja2ZpbGUgdG8gYmUgY3JlYXRlZCBpZiBpdCBkb2VzIG5vdCBhbHJlYWR5IGV4aXN0LCBob3dldmVyLAord3JpdGUgcGVybWlzc2lvbiBpcyByZXF1aXJlZC4gIFVzaW5nCisuSSA8CityZXF1aXJlcyB0aGF0IHRoZSBmaWxlIGFscmVhZHkgZXhpc3RzIGJ1dCBvbmx5IHJlYWQgcGVybWlzc2lvbiBpcyByZXF1aXJlZC4KKy5UUAorWyAiJHtGTE9DS0VSfSIgIT0gIiQwIiBdICYmIGV4ZWMgZW52IEZMT0NLRVI9IiQwIiBmbG9jayAtZW4gIiQwIiAiJDAiICIkQCIgfHwgOgorVGhpcyBpcyB1c2VmdWwgYm9pbGVycGxhdGUgY29kZSBmb3Igc2hlbGwgc2NyaXB0cy4gIFB1dCBpdCBhdCB0aGUgdG9wIG9mIHRoZQorc2hlbGwgc2NyaXB0IHlvdSB3YW50IHRvIGxvY2sgYW5kIGl0J2xsIGF1dG9tYXRpY2FsbHkgbG9jayBpdHNlbGYgb24gdGhlIGZpcnN0CitydW4uICBJZiB0aGUgZW52IHZhciAkRkxPQ0tFUiBpcyBub3Qgc2V0IHRvIHRoZSBzaGVsbCBzY3JpcHQgdGhhdCBpcyBiZWluZyBydW4sCit0aGVuIGV4ZWN1dGUgZmxvY2sgYW5kIGdyYWIgYW4gZXhjbHVzaXZlIG5vbi1ibG9ja2luZyBsb2NrICh1c2luZyB0aGUgc2NyaXB0CitpdHNlbGYgYXMgdGhlIGxvY2sgZmlsZSkgYmVmb3JlIHJlLWV4ZWNpbmcgaXRzZWxmIHdpdGggdGhlIHJpZ2h0IGFyZ3VtZW50cy4gIEl0CithbHNvIHNldHMgdGhlIEZMT0NLRVIgZW52IHZhciB0byB0aGUgcmlnaHQgdmFsdWUgc28gaXQgZG9lc24ndCBydW4gYWdhaW4uCisuU0ggIkVYSVQgU1RBVFVTIgorVGhlIGNvbW1hbmQgdXNlcworLkIgc3lzZXhpdHMuaAorcmV0dXJuIHZhbHVlcyBmb3IgZXZlcnl0aGluZywgZXhjZXB0IHdoZW4gdXNpbmcgZWl0aGVyIG9mIHRoZSBvcHRpb25zCisuQiBcLW4KK29yCisuQiBcLXcKK3doaWNoIHJlcG9ydCBhIGZhaWx1cmUgdG8gYWNxdWlyZSB0aGUgbG9jayB3aXRoIGEgcmV0dXJuIHZhbHVlIGdpdmVuIGJ5IHRoZQorLkIgXC1FCitvcHRpb24sIG9yIDEgYnkgZGVmYXVsdC4KKy5QUAorV2hlbiB1c2luZyB0aGUgXGZJY29tbWFuZFxmUiB2YXJpYW50LCBhbmQgZXhlY3V0aW5nIHRoZSBjaGlsZCB3b3JrZWQsIHRoZW4KK3RoZSBleGl0IHN0YXR1cyBpcyB0aGF0IG9mIHRoZSBjaGlsZCBjb21tYW5kLgorLlNIIEFVVEhPUgorLlVSIGhwYUB6eXRvci5jb20KK0guIFBldGVyIEFudmluCisuVUUKKy5TSCBDT1BZUklHSFQKK0NvcHlyaWdodCBcKGNvIDIwMDNcLTIwMDYgSC4gUGV0ZXIgQW52aW4uCisuYnIKK1RoaXMgaXMgZnJlZSBzb2Z0d2FyZTsgc2VlIHRoZSBzb3VyY2UgZm9yIGNvcHlpbmcgY29uZGl0aW9ucy4gIFRoZXJlIGlzIE5PCit3YXJyYW50eTsgbm90IGV2ZW4gZm9yIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4KKy5TSCAiU0VFIEFMU08iCisuQlIgZmxvY2sgKDIpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgZmxvY2sgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mbG9jay5jIGIvc3lzLXV0aWxzL2Zsb2NrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQyNTIzMAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mbG9jay5jCkBAIC0wLDAgKzEsMzgwIEBACisvKiAgIENvcHlyaWdodCAyMDAzLTIwMDUgSC4gUGV0ZXIgQW52aW4gLSBBbGwgUmlnaHRzIFJlc2VydmVkCisgKgorICogICBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNvbgorICogICBvYnRhaW5pbmcgYSBjb3B5IG9mIHRoaXMgc29mdHdhcmUgYW5kIGFzc29jaWF0ZWQgZG9jdW1lbnRhdGlvbgorICogICBmaWxlcyAodGhlICJTb2Z0d2FyZSIpLCB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3aXRob3V0CisgKiAgIHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uIHRoZSByaWdodHMgdG8gdXNlLAorICogICBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLCBhbmQvb3IKKyAqICAgc2VsbCBjb3BpZXMgb2YgdGhlIFNvZnR3YXJlLCBhbmQgdG8gcGVybWl0IHBlcnNvbnMgdG8gd2hvbQorICogICB0aGUgU29mdHdhcmUgaXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcKKyAqICAgY29uZGl0aW9uczoKKyAqCisgKiAgIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNlIHNoYWxsCisgKiAgIGJlIGluY2x1ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlIFNvZnR3YXJlLgorICoKKyAqICAgVEhFIFNPRlRXQVJFIElTIFBST1ZJREVEICJBUyBJUyIsIFdJVEhPVVQgV0FSUkFOVFkgT0YgQU5ZIEtJTkQsCisgKiAgIEVYUFJFU1MgT1IgSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUworICogICBPRiBNRVJDSEFOVEFCSUxJVFksIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORAorICogICBOT05JTkZSSU5HRU1FTlQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVAorICogICBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSIExJQUJJTElUWSwKKyAqICAgV0hFVEhFUiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiAgIEZST00sIE9VVCBPRiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFNPRlRXQVJFIE9SIFRIRSBVU0UgT1IKKyAqICAgT1RIRVIgREVBTElOR1MgSU4gVEhFIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzZXhpdHMuaD4KKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJtb25vdG9uaWMuaCIKKyNpbmNsdWRlICJ0aW1lci5oIgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgc3Rkb3V0KTsKKwlwcmludGYoCisJCV8oIiAlMSRzIFtvcHRpb25zXSA8ZmlsZT58PGRpcmVjdG9yeT4gPGNvbW1hbmQ+IFs8YXJndW1lbnQ+Li4uXVxuIgorCQkgICIgJTEkcyBbb3B0aW9uc10gPGZpbGU+fDxkaXJlY3Rvcnk+IC1jIDxjb21tYW5kPlxuIgorCQkgICIgJTEkcyBbb3B0aW9uc10gPGZpbGUgZGVzY3JpcHRvciBudW1iZXI+XG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCWZwdXRzKF8oIk1hbmFnZSBmaWxlIGxvY2tzIGZyb20gc2hlbGwgc2NyaXB0cy5cbiIpLCBzdGRvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgc3Rkb3V0KTsKKwlmcHV0cyhfKCAgIiAtcywgLS1zaGFyZWQgICAgICAgICAgICAgZ2V0IGEgc2hhcmVkIGxvY2tcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oICAiIC14LCAtLWV4Y2x1c2l2ZSAgICAgICAgICBnZXQgYW4gZXhjbHVzaXZlIGxvY2sgKGRlZmF1bHQpXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCAgIiAtdSwgLS11bmxvY2sgICAgICAgICAgICAgcmVtb3ZlIGEgbG9ja1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXyggICIgLW4sIC0tbm9uYmxvY2sgICAgICAgICAgIGZhaWwgcmF0aGVyIHRoYW4gd2FpdFxuIiksIHN0ZG91dCk7CisJZnB1dHMoXyggICIgLXcsIC0tdGltZW91dCA8c2Vjcz4gICAgIHdhaXQgZm9yIGEgbGltaXRlZCBhbW91bnQgb2YgdGltZVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXyggICIgLUUsIC0tY29uZmxpY3QtZXhpdC1jb2RlIDxudW1iZXI+ICBleGl0IGNvZGUgYWZ0ZXIgY29uZmxpY3Qgb3IgdGltZW91dFxuIiksIHN0ZG91dCk7CisJZnB1dHMoXyggICIgLW8sIC0tY2xvc2UgICAgICAgICAgICAgIGNsb3NlIGZpbGUgZGVzY3JpcHRvciBiZWZvcmUgcnVubmluZyBjb21tYW5kXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCAgIiAtYywgLS1jb21tYW5kIDxjb21tYW5kPiAgcnVuIGEgc2luZ2xlIGNvbW1hbmQgc3RyaW5nIHRocm91Z2ggdGhlIHNoZWxsXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCAgIiAtRiwgLS1uby1mb3JrICAgICAgICAgICAgZXhlY3V0ZSBjb21tYW5kIHdpdGhvdXQgZm9ya2luZ1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXyggICIgICAgIC0tdmVyYm9zZSAgICAgICAgICAgIGluY3JlYXNlIHZlcmJvc2l0eVxuIiksIHN0ZG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImZsb2NrKDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHNpZ19hdG9taWNfdCB0aW1lb3V0X2V4cGlyZWQgPSAwOworCitzdGF0aWMgdm9pZCB0aW1lb3V0X2hhbmRsZXIoaW50IHNpZyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkgICAgc2lnaW5mb190ICppbmZvLAorCQkJICAgIHZvaWQgKmNvbnRleHQgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCWlmIChpbmZvLT5zaV9jb2RlID09IFNJX1RJTUVSKQorCQl0aW1lb3V0X2V4cGlyZWQgPSAxOworfQorCitzdGF0aWMgaW50IG9wZW5fZmlsZShjb25zdCBjaGFyICpmaWxlbmFtZSwgaW50ICpmbGFncykKK3sKKworCWludCBmZDsKKwlpbnQgZmwgPSAqZmxhZ3MgPT0gMCA/IE9fUkRPTkxZIDogKmZsYWdzOworCisJZXJybm8gPSAwOworCWZsIHw9IE9fTk9DVFRZIHwgT19DUkVBVDsKKwlmZCA9IG9wZW4oZmlsZW5hbWUsIGZsLCAwNjY2KTsKKworCS8qIExpbnV4IGRvZXNuJ3QgbGlrZSBPX0NSRUFUIG9uIGEgZGlyZWN0b3J5LCBldmVuIHRob3VnaCBpdAorCSAqIHNob3VsZCBiZSBhIG5vLW9wOyBQT1NJWCBkb2Vzbid0IGFsbG93IE9fUkRXUiBvciBPX1dST05MWQorCSAqLworCWlmIChmZCA8IDAgJiYgZXJybm8gPT0gRUlTRElSKSB7CisJCWZsID0gT19SRE9OTFkgfCBPX05PQ1RUWTsKKwkJZmQgPSBvcGVuKGZpbGVuYW1lLCBmbCk7CisJfQorCWlmIChmZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiBsb2NrIGZpbGUgJXMiKSwgZmlsZW5hbWUpOworCQlpZiAoZXJybm8gPT0gRU5PTUVNIHx8IGVycm5vID09IEVNRklMRSB8fCBlcnJubyA9PSBFTkZJTEUpCisJCQlleGl0KEVYX09TRVJSKTsKKwkJaWYgKGVycm5vID09IEVST0ZTIHx8IGVycm5vID09IEVOT1NQQykKKwkJCWV4aXQoRVhfQ0FOVENSRUFUKTsKKwkJZXhpdChFWF9OT0lOUFVUKTsKKwl9CisJKmZsYWdzID0gZmw7CisJcmV0dXJuIGZkOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSBydW5fcHJvZ3JhbShjaGFyICoqY21kX2FyZ3YpCit7CisJZXhlY3ZwKGNtZF9hcmd2WzBdLCBjbWRfYXJndik7CisKKwl3YXJuKF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIGNtZF9hcmd2WzBdKTsKKwlfZXhpdCgoZXJybm8gPT0gRU5PTUVNKSA/IEVYX09TRVJSIDogRVhfVU5BVkFJTEFCTEUpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0YXRpYyB0aW1lcl90IHRfaWQ7CisJc3RydWN0IGl0aW1lcnZhbCB0aW1lb3V0OworCWludCBoYXZlX3RpbWVvdXQgPSAwOworCWludCB0eXBlID0gTE9DS19FWDsKKwlpbnQgYmxvY2sgPSAwOworCWludCBvcGVuX2ZsYWdzID0gMDsKKwlpbnQgZmQgPSAtMTsKKwlpbnQgb3B0LCBpeDsKKwlpbnQgZG9fY2xvc2UgPSAwOworCWludCBub19mb3JrID0gMDsKKwlpbnQgc3RhdHVzOworCWludCB2ZXJib3NlID0gMDsKKwlzdHJ1Y3QgdGltZXZhbCB0aW1lX3N0YXJ0LCB0aW1lX2RvbmU7CisJLyoKKwkgKiBUaGUgZGVmYXVsdCBleGl0IGNvZGUgZm9yIGxvY2sgY29uZmxpY3Qgb3IgdGltZW91dAorCSAqIGlzIHNwZWNpZmllZCBpbiBtYW4gZmxvY2suMQorCSAqLworCWludCBjb25mbGljdF9leGl0X2NvZGUgPSAxOworCWNoYXIgKipjbWRfYXJndiA9IE5VTEwsICpzaF9jX2FyZ3ZbNF07CisJY29uc3QgY2hhciAqZmlsZW5hbWUgPSBOVUxMOworCWVudW0geworCQlPUFRfVkVSQk9TRSA9IENIQVJfTUFYICsgMQorCX07CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ19vcHRpb25zW10gPSB7CisJCXsic2hhcmVkIiwgbm9fYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsiZXhjbHVzaXZlIiwgbm9fYXJndW1lbnQsIE5VTEwsICd4J30sCisJCXsidW5sb2NrIiwgbm9fYXJndW1lbnQsIE5VTEwsICd1J30sCisJCXsibm9uYmxvY2tpbmciLCBub19hcmd1bWVudCwgTlVMTCwgJ24nfSwKKwkJeyJuYiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbid9LAorCQl7InRpbWVvdXQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3cnfSwKKwkJeyJ3YWl0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd3J30sCisJCXsiY29uZmxpY3QtZXhpdC1jb2RlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdFJ30sCisJCXsiY2xvc2UiLCBub19hcmd1bWVudCwgTlVMTCwgJ28nfSwKKwkJeyJuby1mb3JrIiwgbm9fYXJndW1lbnQsIE5VTEwsICdGJ30sCisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfVkVSQk9TRX0sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlzdHJ1dGlsc19zZXRfZXhpdGNvZGUoRVhfVVNBR0UpOworCisJaWYgKGFyZ2MgPCAyKSB7CisJCXdhcm54KF8oIm5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCQllcnJ0cnloZWxwKEVYX1VTQUdFKTsKKwl9CisKKwltZW1zZXQoJnRpbWVvdXQsIDAsIHNpemVvZiB0aW1lb3V0KTsKKworCW9wdG9wdCA9IDA7CisJd2hpbGUgKChvcHQgPQorCQlnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiK3NleG5vRnV3OkU6aFY/IiwgbG9uZ19vcHRpb25zLAorCQkJICAgICZpeCkpICE9IEVPRikgeworCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICdzJzoKKwkJCXR5cGUgPSBMT0NLX1NIOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQljYXNlICd4JzoKKwkJCXR5cGUgPSBMT0NLX0VYOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJdHlwZSA9IExPQ0tfVU47CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlkb19jbG9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnRic6CisJCQlub19mb3JrID0gMTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWJsb2NrID0gTE9DS19OQjsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWhhdmVfdGltZW91dCA9IDE7CisJCQlzdHJ0b3RpbWV2YWxfb3JfZXJyKG9wdGFyZywgJnRpbWVvdXQuaXRfdmFsdWUsCisJCQkJXygiaW52YWxpZCB0aW1lb3V0IHZhbHVlIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ0UnOgorCQkJY29uZmxpY3RfZXhpdF9jb2RlID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywKKwkJCQlfKCJpbnZhbGlkIGV4aXQgY29kZSIpKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9WRVJCT1NFOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhfT0spOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYX1VTQUdFKTsKKwkJfQorCX0KKworCWlmIChub19mb3JrICYmIGRvX2Nsb3NlKQorCQllcnJ4KEVYX1VTQUdFLAorCQkJXygidGhlIC0tbm8tZm9yayBhbmQgLS1jbG9zZSBvcHRpb25zIGFyZSBpbmNvbXBhdGlibGUiKSk7CisKKwlpZiAoYXJnYyA+IG9wdGluZCArIDEpIHsKKwkJLyogUnVuIGNvbW1hbmQgKi8KKwkJaWYgKCFzdHJjbXAoYXJndltvcHRpbmQgKyAxXSwgIi1jIikgfHwKKwkJICAgICFzdHJjbXAoYXJndltvcHRpbmQgKyAxXSwgIi0tY29tbWFuZCIpKSB7CisJCQlpZiAoYXJnYyAhPSBvcHRpbmQgKyAzKQorCQkJCWVycngoRVhfVVNBR0UsCisJCQkJICAgICBfKCIlcyByZXF1aXJlcyBleGFjdGx5IG9uZSBjb21tYW5kIGFyZ3VtZW50IiksCisJCQkJICAgICBhcmd2W29wdGluZCArIDFdKTsKKwkJCWNtZF9hcmd2ID0gc2hfY19hcmd2OworCQkJY21kX2FyZ3ZbMF0gPSBnZXRlbnYoIlNIRUxMIik7CisJCQlpZiAoIWNtZF9hcmd2WzBdIHx8ICEqY21kX2FyZ3ZbMF0pCisJCQkJY21kX2FyZ3ZbMF0gPSBfUEFUSF9CU0hFTEw7CisJCQljbWRfYXJndlsxXSA9ICItYyI7CisJCQljbWRfYXJndlsyXSA9IGFyZ3Zbb3B0aW5kICsgMl07CisJCQljbWRfYXJndlszXSA9IE5VTEw7CisJCX0gZWxzZSB7CisJCQljbWRfYXJndiA9ICZhcmd2W29wdGluZCArIDFdOworCQl9CisKKwkJZmlsZW5hbWUgPSBhcmd2W29wdGluZF07CisJCWZkID0gb3Blbl9maWxlKGZpbGVuYW1lLCAmb3Blbl9mbGFncyk7CisKKwl9IGVsc2UgaWYgKG9wdGluZCA8IGFyZ2MpIHsKKwkJLyogVXNlIHByb3ZpZGVkIGZpbGUgZGVzY3JpcHRvciAqLworCQlmZCA9IHN0cnRvczMyX29yX2Vycihhcmd2W29wdGluZF0sIF8oImJhZCBmaWxlIGRlc2NyaXB0b3IiKSk7CisJfSBlbHNlIHsKKwkJLyogQmFkIG9wdGlvbnMgKi8KKwkJZXJyeChFWF9VU0FHRSwgXygicmVxdWlyZXMgZmlsZSBkZXNjcmlwdG9yLCBmaWxlIG9yIGRpcmVjdG9yeSIpKTsKKwl9CisKKwlpZiAoaGF2ZV90aW1lb3V0KSB7CisJCWlmICh0aW1lb3V0Lml0X3ZhbHVlLnR2X3NlYyA9PSAwICYmCisJCSAgICB0aW1lb3V0Lml0X3ZhbHVlLnR2X3VzZWMgPT0gMCkgeworCQkJLyogLXcgMCBpcyBlcXVpdmFsZW50IHRvIC1uOyB0aGlzIGhhcyB0byBiZQorCQkJICogc3BlY2lhbC1jYXNlZCBiZWNhdXNlIHNldHRpbmcgYW4gaXRpbWVyIHRvIHplcm8KKwkJCSAqIG1lYW5zIGRpc2FibGVkIQorCQkJICovCisJCQloYXZlX3RpbWVvdXQgPSAwOworCQkJYmxvY2sgPSBMT0NLX05COworCQl9IGVsc2UKKwkJCWlmIChzZXR1cF90aW1lcigmdF9pZCwgJnRpbWVvdXQsICZ0aW1lb3V0X2hhbmRsZXIpKQorCQkJCWVycihFWF9PU0VSUiwgXygiY2Fubm90IHNldCB1cCB0aW1lciIpKTsKKwl9CisKKwlpZiAodmVyYm9zZSkKKwkJZ2V0dGltZV9tb25vdG9uaWMoJnRpbWVfc3RhcnQpOworCXdoaWxlIChmbG9jayhmZCwgdHlwZSB8IGJsb2NrKSkgeworCQlzd2l0Y2ggKGVycm5vKSB7CisJCWNhc2UgRVdPVUxEQkxPQ0s6CisJCQkvKiAtbiBvcHRpb24gc2V0IGFuZCBmYWlsZWQgdG8gbG9jay4gKi8KKwkJCWlmICh2ZXJib3NlKQorCQkJCXdhcm54KF8oImZhaWxlZCB0byBnZXQgbG9jayIpKTsKKwkJCWV4aXQoY29uZmxpY3RfZXhpdF9jb2RlKTsKKwkJY2FzZSBFSU5UUjoKKwkJCS8qIFNpZ25hbCByZWNlaXZlZCAqLworCQkJaWYgKHRpbWVvdXRfZXhwaXJlZCkgeworCQkJCS8qIC13IG9wdGlvbiBzZXQgYW5kIGZhaWxlZCB0byBsb2NrLiAqLworCQkJCWlmICh2ZXJib3NlKQorCQkJCQl3YXJueChfKCJ0aW1lb3V0IHdoaWxlIHdhaXRpbmcgdG8gZ2V0IGxvY2siKSk7CisJCQkJZXhpdChjb25mbGljdF9leGl0X2NvZGUpOworCQkJfQorCQkJLyogb3RoZXJ3aXNlIHRyeSBhZ2FpbiAqLworCQkJY29udGludWU7CisJCWNhc2UgRUlPOgorCQljYXNlIEVCQURGOgkJLyogc2luY2UgTGludXggMy40IChjb21taXQgNTU3MjU1MTMpICovCisJCQkvKiBQcm9iYWJseSBORlN2NCB3aGVyZSBmbG9jaygpIGlzIGVtdWxhdGVkIGJ5IGZjbnRsKCkuCisJCQkgKiBMZXQncyB0cnkgdG8gcmVvcGVuIGluIHJlYWQtd3JpdGUgbW9kZS4KKwkJCSAqLworCQkJaWYgKCEob3Blbl9mbGFncyAmIE9fUkRXUikgJiYKKwkJCSAgICB0eXBlICE9IExPQ0tfU0ggJiYKKwkJCSAgICBmaWxlbmFtZSAmJgorCQkJICAgIGFjY2VzcyhmaWxlbmFtZSwgUl9PSyB8IFdfT0spID09IDApIHsKKworCQkJCWNsb3NlKGZkKTsKKwkJCQlvcGVuX2ZsYWdzID0gT19SRFdSOworCQkJCWZkID0gb3Blbl9maWxlKGZpbGVuYW1lLCAmb3Blbl9mbGFncyk7CisKKwkJCQlpZiAob3Blbl9mbGFncyAmIE9fUkRXUikKKwkJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCQlkZWZhdWx0OgorCQkJLyogT3RoZXIgZXJyb3JzICovCisJCQlpZiAoZmlsZW5hbWUpCisJCQkJd2FybigiJXMiLCBmaWxlbmFtZSk7CisJCQllbHNlCisJCQkJd2FybigiJWQiLCBmZCk7CisJCQlleGl0KChlcnJubyA9PSBFTk9MQ0sKKwkJCSAgICAgIHx8IGVycm5vID09IEVOT01FTSkgPyBFWF9PU0VSUiA6IEVYX0RBVEFFUlIpOworCQl9CisJfQorCisJaWYgKGhhdmVfdGltZW91dCkKKwkJY2FuY2VsX3RpbWVyKCZ0X2lkKTsKKwlpZiAodmVyYm9zZSkgeworCQlzdHJ1Y3QgdGltZXZhbCBkZWx0YTsKKworCQlnZXR0aW1lX21vbm90b25pYygmdGltZV9kb25lKTsKKwkJdGltZXJzdWIoJnRpbWVfZG9uZSwgJnRpbWVfc3RhcnQsICZkZWx0YSk7CisJCXByaW50ZihfKCIlczogZ2V0dGluZyBsb2NrIHRvb2sgJWxkLiUwNmxkIHNlY29uZHNcbiIpLAorCQkgICAgICAgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsIGRlbHRhLnR2X3NlYywKKwkJICAgICAgIGRlbHRhLnR2X3VzZWMpOworCX0KKwlzdGF0dXMgPSBFWF9PSzsKKworCWlmIChjbWRfYXJndikgeworCQlwaWRfdCB3LCBmOworCQkvKiBDbGVhciBhbnkgaW5oZXJpdGVkIHNldHRpbmdzICovCisJCXNpZ25hbChTSUdDSExELCBTSUdfREZMKTsKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygiJXM6IGV4ZWN1dGluZyAlc1xuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBjbWRfYXJndlswXSk7CisKKwkJaWYgKCFub19mb3JrKSB7CisJCQlmID0gZm9yaygpOworCQkJaWYgKGYgPCAwKQorCQkJCWVycihFWF9PU0VSUiwgXygiZm9yayBmYWlsZWQiKSk7CisKKwkJCS8qIGNoaWxkICovCisJCQllbHNlIGlmIChmID09IDApIHsKKwkJCQlpZiAoZG9fY2xvc2UpCisJCQkJCWNsb3NlKGZkKTsKKwkJCQlydW5fcHJvZ3JhbShjbWRfYXJndik7CisKKwkJCS8qIHBhcmVudCAqLworCQkJfSBlbHNlIHsKKwkJCQlkbyB7CisJCQkJCXcgPSB3YWl0cGlkKGYsICZzdGF0dXMsIDApOworCQkJCQlpZiAodyA9PSAtMSAmJiBlcnJubyAhPSBFSU5UUikKKwkJCQkJCWJyZWFrOworCQkJCX0gd2hpbGUgKHcgIT0gZik7CisKKwkJCQlpZiAodyA9PSAtMSkgeworCQkJCQlzdGF0dXMgPSBFWElUX0ZBSUxVUkU7CisJCQkJCXdhcm4oXygid2FpdHBpZCBmYWlsZWQiKSk7CisJCQkJfSBlbHNlIGlmIChXSUZFWElURUQoc3RhdHVzKSkKKwkJCQkJc3RhdHVzID0gV0VYSVRTVEFUVVMoc3RhdHVzKTsKKwkJCQllbHNlIGlmIChXSUZTSUdOQUxFRChzdGF0dXMpKQorCQkJCQlzdGF0dXMgPSBXVEVSTVNJRyhzdGF0dXMpICsgMTI4OworCQkJCWVsc2UKKwkJCQkJLyogV1RGPyAqLworCQkJCQlzdGF0dXMgPSBFWF9PU0VSUjsKKwkJCX0KKworCQl9IGVsc2UKKwkJCS8qIG5vLWZvcmsgZXhlY3V0aW9uICovCisJCQlydW5fcHJvZ3JhbShjbWRfYXJndik7CisJfQorCisJcmV0dXJuIHN0YXR1czsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mc2ZyZWV6ZS44IGIvc3lzLXV0aWxzL2ZzZnJlZXplLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2NkNjczOAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mc2ZyZWV6ZS44CkBAIC0wLDAgKzEsODkgQEAKKy5USCBGU0ZSRUVaRSA4ICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZzZnJlZXplIFwtIHN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbSAoRXh0My80LCBSZWlzZXJGUywgSkZTLCBYRlMpCisuU0ggU1lOT1BTSVMKKy5CIGZzZnJlZXplCisuQlIgXC0tZnJlZXplIHwgXC0tdW5mcmVlemUKKy5JIG1vdW50cG9pbnQKKworLlNIIERFU0NSSVBUSU9OCisuQiBmc2ZyZWV6ZQorc3VzcGVuZHMgb3IgcmVzdW1lcyBhY2Nlc3MgdG8gYSBmaWxlc3lzdGVtLgorLlBQCisuQiBmc2ZyZWV6ZQoraGFsdHMgYW55IG5ldyBhY2Nlc3MgdG8gdGhlIGZpbGVzeXN0ZW0gYW5kIGNyZWF0ZXMgYSBzdGFibGUgaW1hZ2Ugb24gZGlzay4KKy5CIGZzZnJlZXplCitpcyBpbnRlbmRlZCB0byBiZSB1c2VkIHdpdGggaGFyZHdhcmUgUkFJRCBkZXZpY2VzIHRoYXQgc3VwcG9ydCB0aGUgY3JlYXRpb24KK29mIHNuYXBzaG90cy4KKy5QUAorLkIgZnNmcmVlemUKK2lzIHVubmVjZXNzYXJ5IGZvcgorLkIgZGV2aWNlLW1hcHBlcgorZGV2aWNlcy4gIFRoZSBkZXZpY2UtbWFwcGVyIChhbmQgTFZNKSBhdXRvbWF0aWNhbGx5IGZyZWV6ZXMgYSBmaWxlc3lzdGVtCitvbiB0aGUgZGV2aWNlIHdoZW4gYSBzbmFwc2hvdCBjcmVhdGlvbiBpcyByZXF1ZXN0ZWQuCitGb3IgbW9yZSBkZXRhaWxzIHNlZSB0aGUKKy5CUiBkbXNldHVwICg4KQorbWFuIHBhZ2UuCisuUFAKK1RoZQorLkkgbW91bnRwb2ludAorYXJndW1lbnQgaXMgdGhlIHBhdGhuYW1lIG9mIHRoZSBkaXJlY3Rvcnkgd2hlcmUgdGhlIGZpbGVzeXN0ZW0KK2lzIG1vdW50ZWQuCitUaGUgZmlsZXN5c3RlbSBtdXN0IGJlIG1vdW50ZWQgdG8gYmUgZnJvemVuIChzZWUKKy5CUiBtb3VudCAoOCkpLgorLlBQCitOb3RlIHRoYXQgYWNjZXNzLXRpbWUgdXBkYXRlcyBhcmUgYWxzbyBzdXNwZW5kZWQgaWYgdGhlIGZpbGVzeXN0ZW0gaXMgbW91bnRlZCB3aXRoCit0aGUgdHJhZGl0aW9uYWwgYXRpbWUgYmVoYXZpb3IgKG1vdW50IG9wdGlvbiBcZkJzdHJpY3RhdGltZVxmUiwgZm9yIG1vcmUgZGV0YWlscyBzZWUKKy5CUiBtb3VudCAoOCkpLgorCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1mICwgIiBcLVwtZnJlZXplIgorVGhpcyBvcHRpb24gcmVxdWVzdHMgdGhlIHNwZWNpZmllZCBhIGZpbGVzeXN0ZW0gdG8gYmUgZnJvemVuIGZyb20gbmV3Cittb2RpZmljYXRpb25zLiAgV2hlbiB0aGlzIGlzIHNlbGVjdGVkLCBhbGwgb25nb2luZyB0cmFuc2FjdGlvbnMgaW4gdGhlCitmaWxlc3lzdGVtIGFyZSBhbGxvd2VkIHRvIGNvbXBsZXRlLCBuZXcgd3JpdGUgc3lzdGVtIGNhbGxzIGFyZSBoYWx0ZWQsIG90aGVyCitjYWxscyB3aGljaCBtb2RpZnkgdGhlIGZpbGVzeXN0ZW0gYXJlIGhhbHRlZCwgYW5kIGFsbCBkaXJ0eSBkYXRhLCBtZXRhZGF0YSwgYW5kCitsb2cgaW5mb3JtYXRpb24gYXJlIHdyaXR0ZW4gdG8gZGlzay4gIEFueSBwcm9jZXNzIGF0dGVtcHRpbmcgdG8gd3JpdGUgdG8gdGhlCitmcm96ZW4gZmlsZXN5c3RlbSB3aWxsIGJsb2NrIHdhaXRpbmcgZm9yIHRoZSBmaWxlc3lzdGVtIHRvIGJlIHVuZnJvemVuLgorLnNwCitOb3RlIHRoYXQgZXZlbiBhZnRlciBmcmVlemluZywgdGhlIG9uLWRpc2sgZmlsZXN5c3RlbSBjYW4gY29udGFpbgoraW5mb3JtYXRpb24gb24gZmlsZXMgdGhhdCBhcmUgc3RpbGwgaW4gdGhlIHByb2Nlc3Mgb2YgdW5saW5raW5nLgorVGhlc2UgZmlsZXMgd2lsbCBub3QgYmUgdW5saW5rZWQgdW50aWwgdGhlIGZpbGVzeXN0ZW0gaXMgdW5mcm96ZW4KK29yIGEgY2xlYW4gbW91bnQgb2YgdGhlIHNuYXBzaG90IGlzIGNvbXBsZXRlLgorLlRQCisuQlIgXC11ICwgIiBcLVwtdW5mcmVlemUiCitUaGlzIG9wdGlvbiBpcyB1c2VkIHRvIHVuLWZyZWV6ZSB0aGUgZmlsZXN5c3RlbSBhbmQgYWxsb3cgb3BlcmF0aW9ucyB0bworY29udGludWUuICBBbnkgZmlsZXN5c3RlbSBtb2RpZmljYXRpb25zIHRoYXQgd2VyZSBibG9ja2VkIGJ5IHRoZSBmcmVlemUgYXJlCit1bmJsb2NrZWQgYW5kIGFsbG93ZWQgdG8gY29tcGxldGUuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEZJTEVTWVNURU0gU1VQUE9SVAorVGhpcyBjb21tYW5kIHdpbGwgd29yayBvbmx5IGlmIGZpbGVzeXN0ZW0gc3VwcG9ydHMgaGFzIHN1cHBvcnQgZm9yIGZyZWV6aW5nLgorTGlzdCBvZiB0aGVzZSBmaWxlc3lzdGVtcyBpbmNsdWRlICgyMDE2LTEyLTE4KQorLkJSIGJ0cmZzICwKKy5CUiBleHQyLzMvNCAsCisuQlIgZjJmcyAsCisuQlIgamZzICwKKy5CUiBuaWxmczIgLAorLkJSIHJlaXNlcmZzICwKK2FuZAorLkJSIHhmcyAuCitQcmV2aW91cyBsaXN0IG1heSBiZSBpbmNvbXBsZXRlLCBhcyBtb3JlIGZpbGVzeXN0ZW1zIGdldCBzdXBwb3J0LiAgSWYgaW4KK2RvdWJ0IGVhc2llc3Qgd2F5IHRvIGtub3cgaWYgYSBmaWxlc3lzdGVtIGhhcyBzdXBwb3J0IGlzIGNyZWF0ZSBhIHNtYWxsCitsb29wYmFjayBtb3VudCBhbmQgdGVzdCBmcmVlemluZyBpdC4KKy5TSCBBVVRIT1IKKy5QUAorV3JpdHRlbiBieSBIYWppbWUgVGFpcmEuCisuU0ggTk9URVMKKy5QUAorVGhpcyBtYW4gcGFnZSBpcyBiYXNlZCBvbgorLkJSIHhmc19mcmVlemUgKDgpLgorLlNIIFNFRSBBTFNPCisuQlIgbW91bnQgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgZnNmcmVlemUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mc2ZyZWV6ZS5jIGIvc3lzLXV0aWxzL2ZzZnJlZXplLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDAxYWI1YwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mc2ZyZWV6ZS5jCkBAIC0wLDAgKzEsMTUyIEBACisvKgorICogZnNmcmVlemUuYyAtLSBGaWxlc3lzdGVtIGZyZWV6ZS91bmZyZWV6ZSBJTyBmb3IgTGludXgKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgSGFqaW1lIFRhaXJhIDxodGFpcmFAcmVkaGF0LmNvbT4KKyAqICAgICAgICAgICAgICAgICAgICBNYXNhdGFrZSBZYW1hdG8gPHlhbWF0b0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlLiAgWW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb246IGVpdGhlciB2ZXJzaW9uIDEgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGxpbnV4L2ZzLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJibGtkZXYuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisKK2VudW0gZnNfb3BlcmF0aW9uIHsKKwlOT09QLAorCUZSRUVaRSwKKwlVTkZSRUVaRQorfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gPG1vdW50cG9pbnQ+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlN1c3BlbmQgYWNjZXNzIHRvIGEgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZnJlZXplICAgICAgZnJlZXplIHRoZSBmaWxlc3lzdGVtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdW5mcmVlemUgICAgdW5mcmVlemUgdGhlIGZpbGVzeXN0ZW1cbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDE5KSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJmc2ZyZWV6ZSg4KSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBmZCA9IC0xLCBjOworCWludCBhY3Rpb24gPSBOT09QLCByYyA9IEVYSVRfRkFJTFVSRTsKKwljaGFyICpwYXRoOworCXN0cnVjdCBzdGF0IHNiOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkgICAgeyAiaGVscCIsICAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdoJyB9LAorCSAgICB7ICJmcmVlemUiLCAgICBub19hcmd1bWVudCwgTlVMTCwgJ2YnIH0sCisJICAgIHsgInVuZnJlZXplIiwgIG5vX2FyZ3VtZW50LCBOVUxMLCAndScgfSwKKwkgICAgeyAidmVyc2lvbiIsICAgbm9fYXJndW1lbnQsIE5VTEwsICdWJyB9LAorCSAgICB7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdmJywndScgfSwJCQkvKiBmcmVlemUsIHVuZnJlZXplICovCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImhmdVYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlhY3Rpb24gPSBGUkVFWkU7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlhY3Rpb24gPSBVTkZSRUVaRTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKGFjdGlvbiA9PSBOT09QKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibmVpdGhlciAtLWZyZWV6ZSBvciAtLXVuZnJlZXplIHNwZWNpZmllZCIpKTsKKwlpZiAob3B0aW5kID09IGFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBmaWxlbmFtZSBzcGVjaWZpZWQiKSk7CisJcGF0aCA9IGFyZ3Zbb3B0aW5kKytdOworCisJaWYgKG9wdGluZCAhPSBhcmdjKSB7CisJCXdhcm54KF8oInVuZXhwZWN0ZWQgbnVtYmVyIG9mIGFyZ3VtZW50cyIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCWZkID0gb3BlbihwYXRoLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgcGF0aCk7CisKKwlpZiAoZnN0YXQoZmQsICZzYikgPT0gLTEpIHsKKwkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBwYXRoKTsKKwkJZ290byBkb25lOworCX0KKworCWlmICghU19JU0RJUihzYi5zdF9tb2RlKSkgeworCQl3YXJueChfKCIlczogaXMgbm90IGEgZGlyZWN0b3J5IiksIHBhdGgpOworCQlnb3RvIGRvbmU7CisJfQorCisJc3dpdGNoIChhY3Rpb24pIHsKKwljYXNlIEZSRUVaRToKKwkJaWYgKGlvY3RsKGZkLCBGSUZSRUVaRSwgMCkpIHsKKwkJCXdhcm4oXygiJXM6IGZyZWV6ZSBmYWlsZWQiKSwgcGF0aCk7CisJCQlnb3RvIGRvbmU7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBVTkZSRUVaRToKKwkJaWYgKGlvY3RsKGZkLCBGSVRIQVcsIDApKSB7CisJCQl3YXJuKF8oIiVzOiB1bmZyZWV6ZSBmYWlsZWQiKSwgcGF0aCk7CisJCQlnb3RvIGRvbmU7CisJCX0KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsKKwl9CisKKwlyYyA9IEVYSVRfU1VDQ0VTUzsKK2RvbmU6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmM7Cit9CisKZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mc3RhYi41IGIvc3lzLXV0aWxzL2ZzdGFiLjUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTllOWY4YwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mc3RhYi41CkBAIC0wLDAgKzEsMjQ4IEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTgwLCAxOTg5LCAxOTkxIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisuXCIgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy5cIgorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKy5cIiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisuXCIJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorLlwiCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorLlwiIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisuXCIgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisuXCIgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLlwiIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLlwiIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisuXCIgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisuXCIgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKy5cIiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworLlwiIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorLlwiIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisuXCIgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLlwiIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKy5cIiBTVUNIIERBTUFHRS4KKy5cIgorLlwiICAgICBAKCMpZnN0YWIuNQk2LjUgKEJlcmtlbGV5KSA1LzEwLzkxCisuXCIKKy5USCBGU1RBQiA1ICJGZWJydWFyeSAyMDE1IiAidXRpbC1saW51eCIgIkZpbGUgRm9ybWF0cyIKKy5TSCBOQU1FCitmc3RhYiBcLSBzdGF0aWMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZpbGVzeXN0ZW1zCisuU0ggU1lOT1BTSVMKKy5JIC9ldGMvZnN0YWIKKy5TSCBERVNDUklQVElPTgorVGhlIGZpbGUKKy5CIGZzdGFiCitjb250YWlucyBkZXNjcmlwdGl2ZSBpbmZvcm1hdGlvbiBhYm91dCB0aGUgZmlsZXN5c3RlbXMgdGhlIHN5c3RlbSBjYW4gbW91bnQuCisuQiBmc3RhYgoraXMgb25seSByZWFkIGJ5IHByb2dyYW1zLCBhbmQgbm90IHdyaXR0ZW47IGl0IGlzIHRoZSBkdXR5IG9mIHRoZSBzeXN0ZW0KK2FkbWluaXN0cmF0b3IgdG8gcHJvcGVybHkgY3JlYXRlIGFuZCBtYWludGFpbiB0aGlzIGZpbGUuICBUaGUgb3JkZXIgb2YgcmVjb3JkcyBpbgorLkIgZnN0YWIKK2lzIGltcG9ydGFudCBiZWNhdXNlCisuQlIgZnNjayAoOCksCisuQlIgbW91bnQgKDgpLAorYW5kCisuQlIgdW1vdW50ICg4KQorc2VxdWVudGlhbGx5IGl0ZXJhdGUgdGhyb3VnaAorLkIgZnN0YWIKK2RvaW5nIHRoZWlyIHRoaW5nLgorCitFYWNoIGZpbGVzeXN0ZW0gaXMgZGVzY3JpYmVkIG9uIGEgc2VwYXJhdGUgbGluZS4KK0ZpZWxkcyBvbiBlYWNoIGxpbmUgYXJlIHNlcGFyYXRlZCBieSB0YWJzIG9yIHNwYWNlcy4KK0xpbmVzIHN0YXJ0aW5nIHdpdGggJyMnIGFyZSBjb21tZW50cy4gIEJsYW5rIGxpbmVzIGFyZSBpZ25vcmVkLgorLlBQCitUaGUgZm9sbG93aW5nIGlzIGEgdHlwaWNhbCBleGFtcGxlIG9mIGFuCisuQiBmc3RhYgorZW50cnk6Cisuc3AKKy5SUyA3CitMQUJFTD10LWhvbWUyICAgL2hvbWUgICAgICBleHQ0ICAgIGRlZmF1bHRzLGF1dG9fZGFfYWxsb2MgICAgICAwICAyCisuUkUKKworLkIgVGhlIGZpcnN0IGZpZWxkCisuUkkgKCBmc19zcGVjICkuCisuUlMKK1RoaXMgZmllbGQgZGVzY3JpYmVzIHRoZSBibG9jayBzcGVjaWFsIGRldmljZSBvcgorcmVtb3RlIGZpbGVzeXN0ZW0gdG8gYmUgbW91bnRlZC4KKy5MUAorRm9yIG9yZGluYXJ5IG1vdW50cywgaXQgd2lsbCBob2xkIChhIGxpbmsgdG8pIGEgYmxvY2sgc3BlY2lhbAorZGV2aWNlIG5vZGUgKGFzIGNyZWF0ZWQgYnkKKy5CUiBta25vZCAoOCkpCitmb3IgdGhlIGRldmljZSB0byBiZSBtb3VudGVkLCBsaWtlIGAvZGV2L2Nkcm9tJyBvciBgL2Rldi9zZGI3Jy4KK0ZvciBORlMgbW91bnRzLCB0aGlzIGZpZWxkIGlzIDxob3N0Pjo8ZGlyPiwgZS5nLiwgYGtudXRoLmFlYi5ubDovJy4KK0ZvciBmaWxlc3lzdGVtcyB3aXRoIG5vIHN0b3JhZ2UsIGFueSBzdHJpbmcgY2FuIGJlIHVzZWQsIGFuZCB3aWxsIHNob3cgdXAgaW4KKy5CUiBkZiAoMSkKK291dHB1dCwgZm9yIGV4YW1wbGUuICBUeXBpY2FsIHVzYWdlIGlzIGBwcm9jJyBmb3IgcHJvY2ZzOyBgbWVtJywgYG5vbmUnLAorb3IgYHRtcGZzJyBmb3IgdG1wZnMuICBPdGhlciBzcGVjaWFsIGZpbGVzeXN0ZW1zLCBsaWtlIHVkZXYgYW5kIHN5c2ZzLAorYXJlIHR5cGljYWxseSBub3QgbGlzdGVkIGluCisuQlIgZnN0YWIgLgorLkxQCitMQUJFTD08bGFiZWw+IG9yIFVVSUQ9PHV1aWQ+IG1heSBiZSBnaXZlbiBpbnN0ZWFkIG9mIGEgZGV2aWNlIG5hbWUuCitUaGlzIGlzIHRoZSByZWNvbW1lbmRlZCBtZXRob2QsIGFzIGRldmljZSBuYW1lcyBhcmUgb2Z0ZW4gYSBjb2luY2lkZW5jZQorb2YgaGFyZHdhcmUgZGV0ZWN0aW9uIG9yZGVyLCBhbmQgY2FuIGNoYW5nZSB3aGVuIG90aGVyIGRpc2tzIGFyZSBhZGRlZCBvciByZW1vdmVkLgorRm9yIGV4YW1wbGUsIGBMQUJFTD1Cb290JyBvciBgVVVJRD0zZTZiZTlkZVwlLTgxMzlcJS0xMWQxXCUtOTEwNlwlLWE0M2YwOGQ4MjNhNicuCisoVXNlIGEgZmlsZXN5c3RlbS1zcGVjaWZpYyB0b29sIGxpa2UKKy5CUiBlMmxhYmVsICg4KSwKKy5CUiB4ZnNfYWRtaW4gKDgpLAorb3IKKy5CUiBmYXRsYWJlbCAoOCkKK3RvIHNldCBMQUJFTHMgb24gZmlsZXN5c3RlbXMpLgorCitJdCdzIGFsc28gcG9zc2libGUgdG8gdXNlIFBBUlRVVUlEPSBhbmQgUEFSVExBQkVMPS4gVGhlc2UgcGFydGl0aW9ucyBpZGVudGlmaWVycworYXJlIHN1cHBvcnRlZCBmb3IgZXhhbXBsZSBmb3IgR1VJRCBQYXJ0aXRpb24gVGFibGUgKEdQVCkuCisKK1NlZQorLkJSIG1vdW50ICg4KSwKKy5CUiBibGtpZCAoOCkKK29yCisuQlIgbHNibGsgKDgpCitmb3IgbW9yZSBkZXRhaWxzIGFib3V0IGRldmljZSBpZGVudGlmaWVycy4KKworLkxQCitOb3RlIHRoYXQKKy5CUiBtb3VudCAoOCkKK3VzZXMgVVVJRHMgYXMgc3RyaW5ncy4gVGhlIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgVVVJRCBzaG91bGQgYmUgYmFzZWQgb24KK2xvd2VyIGNhc2UgY2hhcmFjdGVycy4KKy5SRQorCisuQiBUaGUgc2Vjb25kIGZpZWxkCisuUkkgKCBmc19maWxlICkuCisuUlMKK1RoaXMgZmllbGQgZGVzY3JpYmVzIHRoZSBtb3VudCBwb2ludCAodGFyZ2V0KSBmb3IgdGhlIGZpbGVzeXN0ZW0uICBGb3Igc3dhcCBwYXJ0aXRpb25zLCB0aGlzCitmaWVsZCBzaG91bGQgYmUgc3BlY2lmaWVkIGFzIGBub25lJy4gSWYgdGhlIG5hbWUgb2YgdGhlIG1vdW50IHBvaW50Citjb250YWlucyBzcGFjZXMgb3IgdGFicyB0aGVzZSBjYW4gYmUgZXNjYXBlZCBhcyBgXFwwNDAnIGFuZCAnXFwwMTEnCityZXNwZWN0aXZlbHkuCisuUkUKKworLkIgVGhlIHRoaXJkIGZpZWxkCisuUkkgKCBmc192ZnN0eXBlICkuCisuUlMKK1RoaXMgZmllbGQgZGVzY3JpYmVzIHRoZSB0eXBlIG9mIHRoZSBmaWxlc3lzdGVtLiAgTGludXggc3VwcG9ydHMgbWFueQorZmlsZXN5c3RlbSB0eXBlczogZXh0NCwgeGZzLCBidHJmcywgZjJmcywgdmZhdCwgbnRmcywgaGZzcGx1cywKK3RtcGZzLCBzeXNmcywgcHJvYywgaXNvOTY2MCwgdWRmLCBzcXVhc2hmcywgbmZzLCBjaWZzLCBhbmQgbWFueSBtb3JlLgorRm9yIG1vcmUgZGV0YWlscywgc2VlCisuQlIgbW91bnQgKDgpLgorCitBbiBlbnRyeQorLkkgc3dhcAorZGVub3RlcyBhIGZpbGUgb3IgcGFydGl0aW9uIHRvIGJlIHVzZWQKK2ZvciBzd2FwcGluZywgY2YuXCYKKy5CUiBzd2Fwb24gKDgpLgorQW4gZW50cnkKKy5JIG5vbmUKK2lzIHVzZWZ1bCBmb3IgYmluZCBvciBtb3ZlIG1vdW50cy4KKworTW9yZSB0aGFuIG9uZSB0eXBlIG1heSBiZSBzcGVjaWZpZWQgaW4gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdC4KKworLkJSIG1vdW50ICg4KQorYW5kCisuQlIgdW1vdW50ICg4KQorc3VwcG9ydCBmaWxlc3lzdGVtCisuSVIgc3VidHlwZXMgLgorVGhlIHN1YnR5cGUgaXMgZGVmaW5lZCBieSAnLnN1YnR5cGUnIHN1ZmZpeC4gIEZvcgorZXhhbXBsZSAnZnVzZS5zc2hmcycuIEl0J3MgcmVjb21tZW5kZWQgdG8gdXNlIHN1YnR5cGUgbm90YXRpb24gcmF0aGVyIHRoYW4gYWRkCithbnkgcHJlZml4IHRvIHRoZSBmaXJzdCBmc3RhYiBmaWVsZCAoZm9yIGV4YW1wbGUgJ3NzaGZzI2V4YW1wbGUuY29tJyBpcworZGVwcmVjYXRlZCkuCisuUkUKKworLkIgVGhlIGZvdXJ0aCBmaWVsZAorLlJJICggZnNfbW50b3BzICkuCisuUlMKK1RoaXMgZmllbGQgZGVzY3JpYmVzIHRoZSBtb3VudCBvcHRpb25zIGFzc29jaWF0ZWQgd2l0aCB0aGUgZmlsZXN5c3RlbS4KKworSXQgaXMgZm9ybWF0dGVkIGFzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2Ygb3B0aW9ucy4KK0l0IGNvbnRhaW5zIGF0IGxlYXN0IHRoZSB0eXBlIG9mIG1vdW50CisuUkIgKCBybworb3IKKy5CUiBydyApLAorcGx1cyBhbnkgYWRkaXRpb25hbCBvcHRpb25zIGFwcHJvcHJpYXRlIHRvIHRoZSBmaWxlc3lzdGVtCit0eXBlIChpbmNsdWRpbmcgcGVyZm9ybWFuY2UtdHVuaW5nIG9wdGlvbnMpLgorRm9yIGRldGFpbHMsIHNlZQorLkJSIG1vdW50ICg4KQorb3IKKy5CUiBzd2Fwb24gKDgpLgorCitCYXNpYyBmaWxlc3lzdGVtLWluZGVwZW5kZW50IG9wdGlvbnMgYXJlOgorLlRQCisuQiBkZWZhdWx0cwordXNlIGRlZmF1bHQgb3B0aW9uczogcncsIHN1aWQsIGRldiwgZXhlYywgYXV0bywgbm91c2VyLCBhbmQgYXN5bmMuCisuVFAKKy5CIG5vYXV0bworZG8gbm90IG1vdW50IHdoZW4gIm1vdW50IC1hIiBpcyBnaXZlbiAoZS5nLiwgYXQgYm9vdCB0aW1lKQorLlRQCisuQiB1c2VyCithbGxvdyBhIHVzZXIgdG8gbW91bnQKKy5UUAorLkIgb3duZXIKK2FsbG93IGRldmljZSBvd25lciB0byBtb3VudAorLlRQCisuQiBjb21tZW50CitvcgorLkIgeC08bmFtZT4KK2ZvciB1c2UgYnkgZnN0YWItbWFpbnRhaW5pbmcgcHJvZ3JhbXMKKy5UUAorLkIgbm9mYWlsCitkbyBub3QgcmVwb3J0IGVycm9ycyBmb3IgdGhpcyBkZXZpY2UgaWYgaXQgZG9lcyBub3QgZXhpc3QuCisuUkUKKworLkIgVGhlIGZpZnRoIGZpZWxkCisuUkkgKCBmc19mcmVxICkuCisuUlMKK1RoaXMgZmllbGQgaXMgdXNlZCBieQorLkJSIGR1bXAgKDgpCit0byBkZXRlcm1pbmUgd2hpY2ggZmlsZXN5c3RlbXMgbmVlZCB0byBiZSBkdW1wZWQuCitEZWZhdWx0cyB0byB6ZXJvIChkb24ndCBkdW1wKSBpZiBub3QgcHJlc2VudC4KKy5SRQorCisuQiBUaGUgc2l4dGggZmllbGQKKy5SSSAoIGZzX3Bhc3NubyApLgorLlJTCitUaGlzIGZpZWxkIGlzIHVzZWQgYnkKKy5CUiBmc2NrICg4KQordG8gZGV0ZXJtaW5lIHRoZSBvcmRlciBpbiB3aGljaCBmaWxlc3lzdGVtIGNoZWNrcyBhcmUgZG9uZSBhdAorYm9vdCB0aW1lLiAgVGhlIHJvb3QgZmlsZXN5c3RlbSBzaG91bGQgYmUgc3BlY2lmaWVkIHdpdGggYQorLkkgZnNfcGFzc25vCitvZiAxLiAgT3RoZXIgZmlsZXN5c3RlbXMgc2hvdWxkIGhhdmUgYQorLkkgZnNfcGFzc25vCitvZiAyLiAgRmlsZXN5c3RlbXMgd2l0aGluIGEgZHJpdmUgd2lsbCBiZSBjaGVja2VkIHNlcXVlbnRpYWxseSwgYnV0CitmaWxlc3lzdGVtcyBvbiBkaWZmZXJlbnQgZHJpdmVzIHdpbGwgYmUgY2hlY2tlZCBhdCB0aGUgc2FtZSB0aW1lIHRvIHV0aWxpemUKK3BhcmFsbGVsaXNtIGF2YWlsYWJsZSBpbiB0aGUgaGFyZHdhcmUuCitEZWZhdWx0cyB0byB6ZXJvIChkb24ndCBmc2NrKSBpZiBub3QgcHJlc2VudC4KKworLlNIIE5PVEVTCitUaGUgcHJvcGVyIHdheSB0byByZWFkIHJlY29yZHMgZnJvbQorLkIgZnN0YWIKK2lzIHRvIHVzZSB0aGUgcm91dGluZXMKKy5CUiBnZXRtbnRlbnQgKDMpCitvcgorLkJSIGxpYm1vdW50IC4KKworVGhlIGtleXdvcmQKKy5CIGlnbm9yZQorYXMgYSBmaWxlc3lzdGVtIHR5cGUgKDNyZCBmaWVsZCkgaXMgbm8gbG9uZ2VyIHN1cHBvcnRlZCBieSB0aGUgcHVyZQorbGlibW91bnQgYmFzZWQgbW91bnQgdXRpbGl0eSAoc2luY2UgdXRpbC1saW51eCB2Mi4yMikuCisKKy5TSCBGSUxFUworLklSIC9ldGMvZnN0YWIgLAorLkkgPGZzdGFiLmg+CisuU0ggIlNFRSBBTFNPIgorLkJSIGdldG1udGVudCAoMyksCisuQlIgZnMgKDUpLAorLkJSIGZpbmRtbnQgKDgpLAorLkJSIG1vdW50ICg4KSwKKy5CUiBzd2Fwb24gKDgpCisuU0ggSElTVE9SWQorVGhlIGFuY2VzdG9yIG9mIHRoaXMKKy5CIGZzdGFiCitmaWxlIGZvcm1hdCBhcHBlYXJlZCBpbiA0LjBCU0QuCisuXCIgQnV0IHdpdGhvdXQgY29tbWVudCBjb252ZW50aW9uLCBhbmQgb3B0aW9ucyBhbmQgdmZzX3R5cGUuCisuXCIgSW5zdGVhZCB0aGVyZSB3YXMgYSB0eXBlIHJ3L3JvL3JxL3N3L3h4LCB3aGVyZSB4eCBpcyB0aGUgcHJlc2VudCAnaWdub3JlJy4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoaXMgbWFuIHBhZ2UgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvZnN0cmltLjggYi9zeXMtdXRpbHMvZnN0cmltLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg2ZGRhOQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mc3RyaW0uOApAQCAtMCwwICsxLDEyMyBAQAorLlRIIEZTVFJJTSA4ICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2ZzdHJpbSBcLSBkaXNjYXJkIHVudXNlZCBibG9ja3Mgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgZnN0cmltCisuUkIgWyBcLWEgXQorLlJCIFsgXC1vCisuSVIgb2Zmc2V0IF0KKy5SQiBbIFwtbAorLklSIGxlbmd0aCBdCisuUkIgWyBcLW0KKy5JUiBtaW5pbXVtLXNpemUgXQorLlJCIFsgXC12IF0KKy5JIG1vdW50cG9pbnQKKworLlNIIERFU0NSSVBUSU9OCisuQiBmc3RyaW0KK2lzIHVzZWQgb24gYSBtb3VudGVkIGZpbGVzeXN0ZW0gdG8gZGlzY2FyZCAob3IgInRyaW0iKSBibG9ja3Mgd2hpY2ggYXJlIG5vdCBpbgordXNlIGJ5IHRoZSBmaWxlc3lzdGVtLiAgVGhpcyBpcyB1c2VmdWwgZm9yIHNvbGlkLXN0YXRlIGRyaXZlcyAoU1NEcykgYW5kCit0aGlubHktcHJvdmlzaW9uZWQgc3RvcmFnZS4KKy5QUAorQnkgZGVmYXVsdCwKKy5CIGZzdHJpbQord2lsbCBkaXNjYXJkIGFsbCB1bnVzZWQgYmxvY2tzIGluIHRoZSBmaWxlc3lzdGVtLiAgT3B0aW9ucyBtYXkgYmUgdXNlZCB0bworbW9kaWZ5IHRoaXMgYmVoYXZpb3IgYmFzZWQgb24gcmFuZ2Ugb3Igc2l6ZSwgYXMgZXhwbGFpbmVkIGJlbG93LgorLlBQCitUaGUKKy5JIG1vdW50cG9pbnQKK2FyZ3VtZW50IGlzIHRoZSBwYXRobmFtZSBvZiB0aGUgZGlyZWN0b3J5IHdoZXJlIHRoZSBmaWxlc3lzdGVtCitpcyBtb3VudGVkLgorLlBQCitSdW5uaW5nCisuQiBmc3RyaW0KK2ZyZXF1ZW50bHksIG9yIGV2ZW4gdXNpbmcKKy5CUiAibW91bnQgLW8gZGlzY2FyZCIgLAorbWlnaHQgbmVnYXRpdmVseSBhZmZlY3QgdGhlIGxpZmV0aW1lIG9mIHBvb3ItcXVhbGl0eSBTU0QgZGV2aWNlcy4gIEZvciBtb3N0CitkZXNrdG9wIGFuZCBzZXJ2ZXIgc3lzdGVtcyBhIHN1ZmZpY2llbnQgdHJpbW1pbmcgZnJlcXVlbmN5IGlzIG9uY2UgYSB3ZWVrLgorTm90ZSB0aGF0IG5vdCBhbGwKK2RldmljZXMgc3VwcG9ydCBhIHF1ZXVlZCB0cmltLCBzbyBlYWNoIHRyaW0gY29tbWFuZCBpbmN1cnMgYSBwZXJmb3JtYW5jZSBwZW5hbHR5CitvbiB3aGF0ZXZlciBlbHNlIG1pZ2h0IGJlIHRyeWluZyB0byB1c2UgdGhlIGRpc2sgYXQgdGhlIHRpbWUuCisKKy5TSCBPUFRJT05TCitUaGUgXGZJb2Zmc2V0XGZSLCBcZklsZW5ndGhcZlIsIGFuZCBcZkltaW5pbXVtLXNpemVcZlIgYXJndW1lbnRzIG1heSBiZQorZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIEtpQiAoPTEwMjQpLAorTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCICh0aGUgImlCIgoraXMgb3B0aW9uYWwsIGUuZy4sICJLIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAiS2lCIikgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKworLklQICJcZkJcLWEsIFwtXC1hbGxcZlAiCitUcmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIG9uIGRldmljZXMgdGhhdCBzdXBwb3J0IHRoZSBkaXNjYXJkIG9wZXJhdGlvbi4KK1RoZSBvdGhlciBzdXBwbGllZCBvcHRpb25zLCBsaWtlIFxmQlwtXC1vZmZzZXRcZlIsIFxmQlwtXC1sZW5ndGhcZlIgYW5kCitcZkItXC1taW5pbXVtXGZSLCBhcmUgYXBwbGllZCB0byBhbGwgdGhlc2UgZGV2aWNlcy4KK0Vycm9ycyBmcm9tIGZpbGVzeXN0ZW1zIHRoYXQgZG8gbm90IHN1cHBvcnQgdGhlIGRpc2NhcmQgb3BlcmF0aW9uIGFyZSBzaWxlbnRseQoraWdub3JlZC4KKy5JUCAiXGZCXC1kLCBcLVwtZHJ5XC1ydW5cZlAiCitUaGlzIG9wdGlvbiBkb2VzIGV2ZXJ5dGhpbmcgYXBhcnQgZnJvbSBhY3R1YWxseSBjYWxsIEZJVFJJTSBpb2N0bC4KKy5JUCAiXGZCXC1vLCBcLVwtb2Zmc2V0XGZQIFxmSW9mZnNldFxmUCIKK0J5dGUgb2Zmc2V0IGluIHRoZSBmaWxlc3lzdGVtIGZyb20gd2hpY2ggdG8gYmVnaW4gc2VhcmNoaW5nIGZvciBmcmVlIGJsb2NrcwordG8gZGlzY2FyZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHplcm8sIHN0YXJ0aW5nIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlCitmaWxlc3lzdGVtLgorLklQICJcZkJcLWwsIFwtXC1sZW5ndGhcZlAgXGZJbGVuZ3RoXGZQIgorVGhlIG51bWJlciBvZiBieXRlcyAoYWZ0ZXIgdGhlIHN0YXJ0aW5nIHBvaW50KSB0byBzZWFyY2ggZm9yIGZyZWUgYmxvY2tzCit0byBkaXNjYXJkLiAgSWYgdGhlIHNwZWNpZmllZCB2YWx1ZSBleHRlbmRzIHBhc3QgdGhlIGVuZCBvZiB0aGUgZmlsZXN5c3RlbSwKKy5CIGZzdHJpbQord2lsbCBzdG9wIGF0IHRoZSBmaWxlc3lzdGVtIHNpemUgYm91bmRhcnkuICBUaGUgZGVmYXVsdCB2YWx1ZSBleHRlbmRzIHRvCit0aGUgZW5kIG9mIHRoZSBmaWxlc3lzdGVtLgorLklQICJcZkJcLW0sIFwtXC1taW5pbXVtXGZQIFxmSW1pbmltdW0tc2l6ZVxmUCIKK01pbmltdW0gY29udGlndW91cyBmcmVlIHJhbmdlIHRvIGRpc2NhcmQsIGluIGJ5dGVzLiAoVGhpcyB2YWx1ZSBpcyBpbnRlcm5hbGx5Cityb3VuZGVkIHVwIHRvIGEgbXVsdGlwbGUgb2YgdGhlIGZpbGVzeXN0ZW0gYmxvY2sgc2l6ZS4pICBGcmVlIHJhbmdlcyBzbWFsbGVyCit0aGFuIHRoaXMgd2lsbCBiZSBpZ25vcmVkLiAgQnkgaW5jcmVhc2luZyB0aGlzIHZhbHVlLCB0aGUgZnN0cmltIG9wZXJhdGlvbgord2lsbCBjb21wbGV0ZSBtb3JlIHF1aWNrbHkgZm9yIGZpbGVzeXN0ZW1zIHdpdGggYmFkbHkgZnJhZ21lbnRlZCBmcmVlc3BhY2UsCithbHRob3VnaCBub3QgYWxsIGJsb2NrcyB3aWxsIGJlIGRpc2NhcmRlZC4gIFRoZSBkZWZhdWx0IHZhbHVlIGlzIHplcm8sCitkaXNjYXJkaW5nIGV2ZXJ5IGZyZWUgYmxvY2suCisuSVAgIlxmQlwtdiwgXC1cLXZlcmJvc2VcZlAiCitWZXJib3NlIGV4ZWN1dGlvbi4gIFdpdGggdGhpcyBvcHRpb24KKy5CIGZzdHJpbQord2lsbCBvdXRwdXQgdGhlIG51bWJlciBvZiBieXRlcyBwYXNzZWQgZnJvbSB0aGUgZmlsZXN5c3RlbQorZG93biB0aGUgYmxvY2sgc3RhY2sgdG8gdGhlIGRldmljZSBmb3IgcG90ZW50aWFsIGRpc2NhcmQuICBUaGlzIG51bWJlciBpcyBhCittYXhpbXVtIGRpc2NhcmQgYW1vdW50IGZyb20gdGhlIHN0b3JhZ2UgZGV2aWNlJ3MgcGVyc3BlY3RpdmUsIGJlY2F1c2UKKy5JIEZJVFJJTQoraW9jdGwgY2FsbGVkIHJlcGVhdGVkIHdpbGwga2VlcCBzZW5kaW5nIHRoZSBzYW1lIHNlY3RvcnMgZm9yIGRpc2NhcmQgcmVwZWF0ZWRseS4KKy5zcAorLkIgZnN0cmltCit3aWxsIHJlcG9ydCB0aGUgc2FtZSBwb3RlbnRpYWwgZGlzY2FyZCBieXRlcyBlYWNoIHRpbWUsIGJ1dCBvbmx5IHNlY3RvcnMgd2hpY2gKK2hhZCBiZWVuIHdyaXR0ZW4gdG8gYmV0d2VlbiB0aGUgZGlzY2FyZHMgd291bGQgYWN0dWFsbHkgYmUgZGlzY2FyZGVkIGJ5IHRoZQorc3RvcmFnZSBkZXZpY2UuICBGdXJ0aGVyLCB0aGUga2VybmVsIGJsb2NrIGxheWVyIHJlc2VydmVzIHRoZSByaWdodCB0byBhZGp1c3QKK3RoZSBkaXNjYXJkIHJhbmdlcyB0byBmaXQgcmFpZCBzdHJpcGUgZ2VvbWV0cnksIG5vbi10cmltIGNhcGFibGUgZGV2aWNlcyBpbiBhCitMVk0gc2V0dXAsIGV0Yy4gIFRoZXNlIHJlZHVjdGlvbnMgd291bGQgbm90IGJlIHJlZmxlY3RlZCBpbiBmc3RyaW1fcmFuZ2UubGVuCisodGhlCisuQiAtLWxlbmd0aAorb3B0aW9uKS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisKKy5TSCBSRVRVUk4gQ09ERVMKKy5JUCAwCitzdWNjZXNzCisuSVAgMQorZmFpbHVyZQorLklQIDMyCithbGwgZmFpbGVkCisuSVAgNjQKK3NvbWUgZmlsZXN5c3RlbSBkaXNjYXJkcyBoYXZlIHN1Y2NlZWRlZCwgc29tZSBmYWlsZWQKKy5QUAorVGhlIGNvbW1hbmQKKy5CIGZzdHJpbSAtLWFsbAorcmV0dXJucyAwIChhbGwgc3VjY2VlZGVkKSwgMzIgKGFsbCBmYWlsZWQpIG9yIDY0IChzb21lIGZhaWxlZCwgc29tZSBzdWNjZWVkZWQpLgorCisuU0ggQVVUSE9SCisubmYKK0x1a2FzIEN6ZXJuZXIgPGxjemVybmVyQHJlZGhhdC5jb20+CitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5maQorLlNIIFNFRSBBTFNPCisuQlIgYmxrZGlzY2FyZCAoOCksCisuQlIgbW91bnQgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgZnN0cmltIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvZnN0cmltLmMgYi9zeXMtdXRpbHMvZnN0cmltLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ2MDg0MwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mc3RyaW0uYwpAQCAtMCwwICsxLDM3NSBAQAorLyoKKyAqIGZzdHJpbS5jIC0tIGRpc2NhcmQgdGhlIHBhcnQgKG9yIHdob2xlKSBvZiBtb3VudGVkIGZpbGVzeXN0ZW0uCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEwIFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgTHVrYXMgQ3plcm5lciA8bGN6ZXJuZXJAcmVkaGF0LmNvbT4KKyAqICAgICAgICAgICAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyAqCisgKgorICogVGhpcyBwcm9ncmFtIHVzZXMgRklUUklNIGlvY3RsIHRvIGRpc2NhcmQgcGFydHMgb3IgdGhlIHdob2xlIGZpbGVzeXN0ZW0KKyAqIG9ubGluZSAobW91bnRlZCkuIFlvdSBjYW4gc3BlY2lmeSByYW5nZSAoc3RhcnQgYW5kIGxlbmd0aCkgdG8gYmUKKyAqIGRpc2NhcmRlZCwgb3Igc2ltcGx5IGRpc2NhcmQgd2hvbGUgZmlsZXN5c3RlbS4KKyAqLworCisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxsaW51eC9mcy5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorCisjaW5jbHVkZSA8bGlibW91bnQuaD4KKworCisjaWZuZGVmIEZJVFJJTQorc3RydWN0IGZzdHJpbV9yYW5nZSB7CisJdWludDY0X3Qgc3RhcnQ7CisJdWludDY0X3QgbGVuOworCXVpbnQ2NF90IG1pbmxlbjsKK307CisjZGVmaW5lIEZJVFJJTQkJX0lPV1IoJ1gnLCAxMjEsIHN0cnVjdCBmc3RyaW1fcmFuZ2UpCisjZW5kaWYKKworLyogcmV0dXJuczogMCA9IHN1Y2Nlc3MsIDEgPSB1bnN1cHBvcnRlZCwgPCAwID0gZXJyb3IgKi8KK3N0YXRpYyBpbnQgZnN0cmltX2ZpbGVzeXN0ZW0oY29uc3QgY2hhciAqcGF0aCwgc3RydWN0IGZzdHJpbV9yYW5nZSAqcmFuZ2V0cGwsCisJCQkgICAgaW50IHZlcmJvc2UsIGludCBkcnlydW4pCit7CisJaW50IGZkLCByYzsKKwlzdHJ1Y3Qgc3RhdCBzYjsKKwlzdHJ1Y3QgZnN0cmltX3JhbmdlIHJhbmdlOworCisJLyoga2VybmVsIG1vZGlmaWVzIHRoZSByYW5nZSAqLworCW1lbWNweSgmcmFuZ2UsIHJhbmdldHBsLCBzaXplb2YocmFuZ2UpKTsKKworCWZkID0gb3BlbihwYXRoLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIHBhdGgpOworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKwlpZiAoZnN0YXQoZmQsICZzYikgPT0gLTEpIHsKKwkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBwYXRoKTsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZG9uZTsKKwl9CisJaWYgKCFTX0lTRElSKHNiLnN0X21vZGUpKSB7CisJCXdhcm54KF8oIiVzOiBub3QgYSBkaXJlY3RvcnkiKSwgcGF0aCk7CisJCXJjID0gLUVJTlZBTDsKKwkJZ290byBkb25lOworCX0KKworCWlmIChkcnlydW4pIHsKKwkJcHJpbnRmKF8oIiVzIChkcnkgcnVuKVxuIiksIHBhdGgpOworCQlyYyA9IDA7CisJCWdvdG8gZG9uZTsKKwl9CisKKwllcnJubyA9IDA7CisJaWYgKGlvY3RsKGZkLCBGSVRSSU0sICZyYW5nZSkpIHsKKwkJcmMgPSBlcnJubyA9PSBFT1BOT1RTVVBQIHx8IGVycm5vID09IEVOT1RUWSA/IDEgOiAtZXJybm87CisKKwkJaWYgKHJjICE9IDEpCisJCQl3YXJuKF8oIiVzOiBGSVRSSU0gaW9jdGwgZmFpbGVkIiksIHBhdGgpOworCQlnb3RvIGRvbmU7CisJfQorCisJaWYgKHZlcmJvc2UpIHsKKwkJY2hhciAqc3RyID0gc2l6ZV90b19odW1hbl9zdHJpbmcoCisJCQkJU0laRV9TVUZGSVhfM0xFVFRFUiB8IFNJWkVfU1VGRklYX1NQQUNFLAorCQkJCSh1aW50NjRfdCkgcmFuZ2UubGVuKTsKKwkJLyogVFJBTlNMQVRPUlM6IFRoZSBzdGFuZGFyZCB2YWx1ZSBoZXJlIGlzIGEgdmVyeSBsYXJnZSBudW1iZXIuICovCisJCXByaW50ZihfKCIlczogJXMgKCUiIFBSSXU2NCAiIGJ5dGVzKSB0cmltbWVkXG4iKSwKKwkJCQlwYXRoLCBzdHIsICh1aW50NjRfdCkgcmFuZ2UubGVuKTsKKwkJZnJlZShzdHIpOworCX0KKworCXJjID0gMDsKK2RvbmU6CisJaWYgKGZkID49IDApCisJCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgaGFzX2Rpc2NhcmQoY29uc3QgY2hhciAqZGV2bmFtZSwgc3RydWN0IHBhdGhfY3h0ICoqd2hvbGVkaXNrKQoreworCXN0cnVjdCBwYXRoX2N4dCAqcGMgPSBOVUxMOworCXVpbnQ2NF90IGRnID0gMDsKKwlkZXZfdCBkaXNrID0gMCwgZGV2OworCWludCByYyA9IC0xOworCisJZGV2ID0gc3lzZnNfZGV2bmFtZV90b19kZXZubyhkZXZuYW1lKTsKKwlpZiAoIWRldikKKwkJZ290byBmYWlsOworCisJcGMgPSB1bF9uZXdfc3lzZnNfcGF0aChkZXYsIE5VTEwsIE5VTEwpOworCWlmICghcGMpCisJCWdvdG8gZmFpbDsKKworCS8qCisJICogVGhpcyBpcyB0cmlja3kgdG8gcmVhZCB0aGUgaW5mbyBmcm9tIHN5cy8sIGJlY2F1c2UgdGhlIHF1ZXVlCisJICogYXR0cmlidXRlcyBhcmUgcHJvdmlkZWQgZm9yIHdob2xlIGRldmljZXMgKGRpc2spIG9ubHkuIFdlJ3JlIHRyeWluZworCSAqIHRvIHJldXNlIHRoZSB3aG9sZS1kaXNrIHN5c2ZzIGNvbnRleHQgdG8gb3B0aW1pemUgdGhpcyBzdHVmZiAoYXMKKwkgKiBzeXN0ZW0gdXN1YWxseSBoYXZlIGp1c3Qgb25lIGRpc2sgb25seSkuCisJICovCisJcmMgPSBzeXNmc19ibGtkZXZfZ2V0X3dob2xlZGlzayhwYywgTlVMTCwgMCwgJmRpc2spOworCWlmIChyYyAhPSAwIHx8ICFkaXNrKQorCQlnb3RvIGZhaWw7CisKKwlpZiAoZGV2ICE9IGRpc2spIHsKKwkJLyogUGFydGl0aW9uLCB0cnkgcmV1c2Ugd2hvbGUtZGlzayBjb250ZXh0IGlmIHZhbGlkIGZvciB0aGUKKwkJICogY3VycmVudCBkZXZpY2UsIG90aGVyd2lzZSBjcmVhdGUgbmV3IGNvbnRleHQgZm9yIHRoZQorCQkgKiB3aG9sZS1kaXNrLgorCQkgKi8KKwkJaWYgKCp3aG9sZWRpc2sgJiYgc3lzZnNfYmxrZGV2X2dldF9kZXZubygqd2hvbGVkaXNrKSAhPSBkaXNrKSB7CisJCQl1bF91bnJlZl9wYXRoKCp3aG9sZWRpc2spOworCQkJKndob2xlZGlzayA9IE5VTEw7CisJCX0KKwkJaWYgKCEqd2hvbGVkaXNrKSB7CisJCQkqd2hvbGVkaXNrID0gdWxfbmV3X3N5c2ZzX3BhdGgoZGlzaywgTlVMTCwgTlVMTCk7CisJCQlpZiAoISp3aG9sZWRpc2spCisJCQkJZ290byBmYWlsOworCQl9CisJCXN5c2ZzX2Jsa2Rldl9zZXRfcGFyZW50KHBjLCAqd2hvbGVkaXNrKTsKKwl9CisKKwlyYyA9IHVsX3BhdGhfcmVhZF91NjQocGMsICZkZywgInF1ZXVlL2Rpc2NhcmRfZ3JhbnVsYXJpdHkiKTsKKworCXVsX3VucmVmX3BhdGgocGMpOworCXJldHVybiByYyA9PSAwICYmIGRnID4gMDsKK2ZhaWw6CisJdWxfdW5yZWZfcGF0aChwYyk7CisJcmV0dXJuIDE7Cit9CisKKworc3RhdGljIGludCB1bmlxX2ZzX3RhcmdldF9jbXAoCisJCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJc3RydWN0IGxpYm1udF9mcyAqYSwKKwkJc3RydWN0IGxpYm1udF9mcyAqYikKK3sKKwlyZXR1cm4gIW1udF9mc19zdHJlcV90YXJnZXQoYSwgbW50X2ZzX2dldF90YXJnZXQoYikpOworfQorCitzdGF0aWMgaW50IHVuaXFfZnNfc291cmNlX2NtcCgKKwkJc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQlzdHJ1Y3QgbGlibW50X2ZzICphLAorCQlzdHJ1Y3QgbGlibW50X2ZzICpiKQoreworCWlmIChtbnRfZnNfaXNfcHNldWRvZnMoYSkgfHwgbW50X2ZzX2lzX25ldGZzKGEpIHx8CisJICAgIG1udF9mc19pc19wc2V1ZG9mcyhiKSB8fCBtbnRfZnNfaXNfbmV0ZnMoYikpCisJCXJldHVybiAxOworCisJcmV0dXJuICFtbnRfZnNfc3RyZXFfc3JjcGF0aChhLCBtbnRfZnNfZ2V0X3NyY3BhdGgoYikpOworfQorCisvKgorICogZnN0cmltIC0tYWxsIGZvbGxvd3MgIm1vdW50IC1hIiByZXR1cm4gY29kZXM6CisgKgorICogMCAgPSBhbGwgc3VjY2VzcworICogMzIgPSBhbGwgZmFpbGVkCisgKiA2NCA9IHNvbWUgZmFpbGVkLCBzb21lIHN1Y2Nlc3MKKyAqLworc3RhdGljIGludCBmc3RyaW1fYWxsKHN0cnVjdCBmc3RyaW1fcmFuZ2UgKnJhbmdldHBsLCBpbnQgdmVyYm9zZSwgaW50IGRyeXJ1bikKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cjsKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWI7CisJc3RydWN0IHBhdGhfY3h0ICp3aG9sZWRpc2sgPSBOVUxMOworCWludCBjbnQgPSAwLCBjbnRfZXJyID0gMDsKKworCW1udF9pbml0X2RlYnVnKDApOworCXVsX3BhdGhfaW5pdF9kZWJ1ZygpOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoIWl0cikKKwkJZXJyKE1OVF9FWF9GQUlMLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKworCXRhYiA9IG1udF9uZXdfdGFibGVfZnJvbV9maWxlKF9QQVRIX1BST0NfTU9VTlRJTkZPKTsKKwlpZiAoIXRhYikKKwkJZXJyKE1OVF9FWF9GQUlMLCBfKCJmYWlsZWQgdG8gcGFyc2UgJXMiKSwgX1BBVEhfUFJPQ19NT1VOVElORk8pOworCisJLyogZGUtZHVwbGljYXRlIGJ5IG1vdW50cG9pbnRzICovCisJbW50X3RhYmxlX3VuaXFfZnModGFiLCAwLCB1bmlxX2ZzX3RhcmdldF9jbXApOworCisJLyogZGUtZHVwbGljYXRlIGJ5IHNvdXJjZSAqLworCW1udF90YWJsZV91bmlxX2ZzKHRhYiwgTU5UX1VOSVFfRk9SV0FSRCwgdW5pcV9mc19zb3VyY2VfY21wKTsKKworCXdoaWxlIChtbnRfdGFibGVfbmV4dF9mcyh0YWIsIGl0ciwgJmZzKSA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9mc19nZXRfc3JjcGF0aChmcyksCisJCQkgICAqdGd0ID0gbW50X2ZzX2dldF90YXJnZXQoZnMpOworCQljaGFyICpwYXRoOworCQlpbnQgcmMgPSAxOworCisJCWlmICghc3JjIHx8ICF0Z3QgfHwgKnNyYyAhPSAnLycgfHwKKwkJICAgIG1udF9mc19pc19wc2V1ZG9mcyhmcykgfHwKKwkJICAgIG1udF9mc19pc19uZXRmcyhmcykpCisJCQljb250aW51ZTsKKworCQkvKiBJcyBpdCByZWFsbHkgYWNjZXNzaWJsZSBtb3VudHBvaW50PyBOb3QgYWxsIG1vdW50cG9pbnRzIGFyZQorCQkgKiBhY2Nlc3NpYmxlIChtYXliZSBvdmVyIG1vdW50ZWQgYnkgYW5vdGhlciBmaWxlc3lzdGVtKSAqLworCQlwYXRoID0gbW50X2dldF9tb3VudHBvaW50KHRndCk7CisJCWlmIChwYXRoICYmIHN0cmNtcChwYXRoLCB0Z3QpID09IDApCisJCQlyYyA9IDA7CisJCWZyZWUocGF0aCk7CisJCWlmIChyYykKKwkJCWNvbnRpbnVlOwkvKiBvdmVybGF5aW5nIG1vdW50ICovCisKKwkJaWYgKCFoYXNfZGlzY2FyZChzcmMsICZ3aG9sZWRpc2spKQorCQkJY29udGludWU7CisJCWNudCsrOworCisJCS8qCisJCSAqIFdlJ3JlIGFibGUgdG8gZGV0ZWN0IHRoYXQgdGhlIGRldmljZSBzdXBwb3J0cyBkaXNjYXJkLCBidXQKKwkJICogdGhpbmdzIGFsc28gZGVwZW5kIG9uIGZpbGVzeXN0ZW0gb3IgZGV2aWNlIG1hcHBpbmcsIGZvcgorCQkgKiBleGFtcGxlIHZmYXQgb3IgTFVLUyAoYnkgZGVmYXVsdCkgZG9lcyBub3Qgc3VwcG9ydCBGU1RSSU0uCisJCSAqCisJCSAqIFRoaXMgaXMgcmVhc29uIHdoeSB3ZSBpZ25vcmUgRU9QTk9UU1VQUCBhbmQgRU5PVFRZIGVycm9ycworCQkgKiBmcm9tIGRpc2NhcmQgaW9jdGwuCisJCSAqLworCQlpZiAoZnN0cmltX2ZpbGVzeXN0ZW0odGd0LCByYW5nZXRwbCwgdmVyYm9zZSwgZHJ5cnVuKSA8IDApCisJCSAgICAgICBjbnRfZXJyKys7CisJfQorCisJdWxfdW5yZWZfcGF0aCh3aG9sZWRpc2spOworCW1udF91bnJlZl90YWJsZSh0YWIpOworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKworCWlmIChjbnQgJiYgY250ID09IGNudF9lcnIpCisJCXJldHVybiBNTlRfRVhfRkFJTDsJCS8qIGFsbCBmYWlsZWQgKi8KKwlpZiAoY250ICYmIGNudF9lcnIpCisJCXJldHVybiBNTlRfRVhfU09NRU9LOwkJLyogc29tZSBvayAqLworCisJcmV0dXJuIE1OVF9FWF9TVUNDRVNTOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFtvcHRpb25zXSA8bW91bnQgcG9pbnQ+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc2NhcmQgdW51c2VkIGJsb2NrcyBvbiBhIG1vdW50ZWQgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWxsICAgICAgICAgICB0cmltIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIHRoYXQgYXJlIHN1cHBvcnRlZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW9mZnNldCA8bnVtPiAgdGhlIG9mZnNldCBpbiBieXRlcyB0byBzdGFydCBkaXNjYXJkaW5nIGZyb21cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1sZW5ndGggPG51bT4gIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gZGlzY2FyZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1tLCAtLW1pbmltdW0gPG51bT4gdGhlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCB0byBkaXNjYXJkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICBwcmludCBudW1iZXIgb2YgZGlzY2FyZGVkIGJ5dGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZHJ5LXJ1biAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCB0cmltXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDIxKSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJmc3RyaW0oOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJY2hhciAqcGF0aCA9IE5VTEw7CisJaW50IGMsIHJjLCB2ZXJib3NlID0gMCwgYWxsID0gMCwgZHJ5cnVuID0gMDsKKwlzdHJ1Y3QgZnN0cmltX3JhbmdlIHJhbmdlOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkgICAgeyAiYWxsIiwgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdhJyB9LAorCSAgICB7ICJoZWxwIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJICAgIHsgInZlcnNpb24iLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkgICAgeyAib2Zmc2V0IiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCSAgICB7ICJsZW5ndGgiLCAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2wnIH0sCisJICAgIHsgIm1pbmltdW0iLCAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbScgfSwKKwkgICAgeyAidmVyYm9zZSIsICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JyB9LAorCSAgICB7ICJkcnktcnVuIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2QnIH0sCisJICAgIHsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltZW1zZXQoJnJhbmdlLCAwLCBzaXplb2YocmFuZ2UpKTsKKwlyYW5nZS5sZW4gPSBVTExPTkdfTUFYOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFkaFZvOmw6bTp2IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2goYykgeworCQljYXNlICdhJzoKKwkJCWFsbCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkcnlydW4gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnbCc6CisJCQlyYW5nZS5sZW4gPSBzdHJ0b3NpemVfb3JfZXJyKG9wdGFyZywKKwkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIGxlbmd0aCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCXJhbmdlLnN0YXJ0ID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsCisJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnbSc6CisJCQlyYW5nZS5taW5sZW4gPSBzdHJ0b3NpemVfb3JfZXJyKG9wdGFyZywKKwkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG1pbmltdW0gZXh0ZW50IGxlbmd0aCIpKTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCXZlcmJvc2UgPSAxOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlmICghYWxsKSB7CisJCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBtb3VudHBvaW50IHNwZWNpZmllZCIpKTsKKwkJcGF0aCA9IGFyZ3Zbb3B0aW5kKytdOworCX0KKworCWlmIChvcHRpbmQgIT0gYXJnYykgeworCQl3YXJueChfKCJ1bmV4cGVjdGVkIG51bWJlciBvZiBhcmd1bWVudHMiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAoYWxsKQorCQlyZXR1cm4gZnN0cmltX2FsbCgmcmFuZ2UsIHZlcmJvc2UsIGRyeXJ1bik7CS8qIE1OVF9FWF8qIGNvZGVzICovCisKKwlyYyA9IGZzdHJpbV9maWxlc3lzdGVtKHBhdGgsICZyYW5nZSwgdmVyYm9zZSwgZHJ5cnVuKTsKKwlpZiAocmMgPT0gMSkKKwkJd2FybngoXygiJXM6IHRoZSBkaXNjYXJkIG9wZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkIiksIHBhdGgpOworCisJcmV0dXJuIHJjID09IDAgPyBFWElUX1NVQ0NFU1MgOiBFWElUX0ZBSUxVUkU7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvZnN0cmltLnNlcnZpY2UuaW4gYi9zeXMtdXRpbHMvZnN0cmltLnNlcnZpY2UuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDU3ZGZjZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9mc3RyaW0uc2VydmljZS5pbgpAQCAtMCwwICsxLDYgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RGlzY2FyZCB1bnVzZWQgYmxvY2tzCisKK1tTZXJ2aWNlXQorVHlwZT1vbmVzaG90CitFeGVjU3RhcnQ9QHNiaW5kaXJAL2ZzdHJpbSAtYXYKZGlmZiAtLWdpdCBhL3N5cy11dGlscy9mc3RyaW0udGltZXIgYi9zeXMtdXRpbHMvZnN0cmltLnRpbWVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMzc2MmQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvZnN0cmltLnRpbWVyCkBAIC0wLDAgKzEsMTEgQEAKK1tVbml0XQorRGVzY3JpcHRpb249RGlzY2FyZCB1bnVzZWQgYmxvY2tzIG9uY2UgYSB3ZWVrCitEb2N1bWVudGF0aW9uPW1hbjpmc3RyaW0KKworW1RpbWVyXQorT25DYWxlbmRhcj13ZWVrbHkKK0FjY3VyYWN5U2VjPTFoCitQZXJzaXN0ZW50PXRydWUKKworW0luc3RhbGxdCitXYW50ZWRCeT10aW1lcnMudGFyZ2V0CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaHdjbG9jay1jbW9zLmMgYi9zeXMtdXRpbHMvaHdjbG9jay1jbW9zLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTExZjY3NgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9od2Nsb2NrLWNtb3MuYwpAQCAtMCwwICsxLDQyMCBAQAorLyoKKyAqIGkzODYgQ01PUyBzdGFydHMgb3V0IHdpdGggMTQgYnl0ZXMgY2xvY2sgZGF0YSBhbHBoYSBoYXMgc29tZXRoaW5nCisgKiBzaW1pbGFyLCBidXQgd2l0aCBkZXRhaWxzIGRlcGVuZGluZyBvbiB0aGUgbWFjaGluZSB0eXBlLgorICoKKyAqIGJ5dGUgMDogc2Vjb25kcwkJMC01OQorICogYnl0ZSAyOiBtaW51dGVzCQkwLTU5CisgKiBieXRlIDQ6IGhvdXJzCQkwLTIzIGluIDI0aHIgbW9kZSwKKyAqCQkJCTEtMTIgaW4gMTJociBtb2RlLCB3aXRoIGhpZ2ggYml0IHVuc2V0L3NldAorICoJCQkJCWlmIGFtL3BtLgorICogYnl0ZSA2OiB3ZWVrZGF5CQkxLTcsIFN1bmRheT0xCisgKiBieXRlIDc6IGRheSBvZiB0aGUgbW9udGgJMS0zMQorICogYnl0ZSA4OiBtb250aAkJMS0xMgorICogYnl0ZSA5OiB5ZWFyCQkJMC05OQorICoKKyAqIE51bWJlcnMgYXJlIHN0b3JlZCBpbiBCQ0QvYmluYXJ5IGlmIGJpdCAyIG9mIGJ5dGUgMTEgaXMgdW5zZXQvc2V0IFRoZQorICogY2xvY2sgaXMgaW4gMTJoci8yNGhyIG1vZGUgaWYgYml0IDEgb2YgYnl0ZSAxMSBpcyB1bnNldC9zZXQgVGhlIGNsb2NrIGlzCisgKiB1bmRlZmluZWQgKGJlaW5nIHVwZGF0ZWQpIGlmIGJpdCA3IG9mIGJ5dGUgMTAgaXMgc2V0LiBUaGUgY2xvY2sgaXMgZnJvemVuCisgKiAodG8gYmUgdXBkYXRlZCkgYnkgc2V0dGluZyBiaXQgNyBvZiBieXRlIDExIEJpdCA3IG9mIGJ5dGUgMTQgaW5kaWNhdGVzCisgKiB3aGV0aGVyIHRoZSBDTU9TIGNsb2NrIGlzIHJlbGlhYmxlOiBpdCBpcyAxIGlmIFJUQyBwb3dlciBoYXMgYmVlbiBnb29kCisgKiBzaW5jZSB0aGlzIGJpdCB3YXMgbGFzdCByZWFkOyBpdCBpcyAwIHdoZW4gdGhlIGJhdHRlcnkgaXMgZGVhZCBhbmQgc3lzdGVtCisgKiBwb3dlciBoYXMgYmVlbiBvZmYuCisgKgorICogQXZvaWQgc2V0dGluZyB0aGUgUlRDIGNsb2NrIHdpdGhpbiAyIHNlY29uZHMgb2YgdGhlIGRheSByb2xsb3ZlciB0aGF0CisgKiBzdGFydHMgYSBuZXcgbW9udGggb3IgZW50ZXJzIGRheWxpZ2h0IHNhdmluZyB0aW1lLgorICoKKyAqIFRoZSBjZW50dXJ5IHNpdHVhdGlvbiBpcyBtZXNzeToKKyAqCisgKiBVc3VhbGx5IGJ5dGUgNTAgKDB4MzIpIGdpdmVzIHRoZSBjZW50dXJ5IChpbiBCQ0QsIHNvIDE5IG9yIDIwIGhleCksIGJ1dAorICogSUJNIFBTLzIgaGFzIChwYXJ0IG9mKSBhIGNoZWNrc3VtIHRoZXJlIGFuZCB1c2VzIGJ5dGUgNTUgKDB4MzcpLgorICogU29tZXRpbWVzIGJ5dGUgMTI3ICgweDdmKSBvciBCYW5rIDEsIGJ5dGUgMHg0OCBnaXZlcyB0aGUgY2VudHVyeS4gVGhlCisgKiBvcmlnaW5hbCBSVEMgd2lsbCBub3QgYWNjZXNzIGFueSBjZW50dXJ5IGJ5dGU7IHNvbWUgbW9kZXJuIHZlcnNpb25zIHdpbGwuCisgKiBJZiBhIG1vZGVybiBSVEMgb3IgQklPUyBpbmNyZW1lbnRzIHRoZSBjZW50dXJ5IGJ5dGUgaXQgbWF5IGdvIGZyb20gMHgxOQorICogdG8gMHgyMCwgYnV0IGluIHNvbWUgYnVnZ3kgY2FzZXMgMHgxYSBpcyBwcm9kdWNlZC4KKyAqLworLyoKKyAqIEEgc3RydWN0IHRtIGhhcyBpbnQgZmllbGRzCisgKiAgIHRtX3NlYwkwLTU5LCA2MCBvciA2MSBvbmx5IGZvciBsZWFwIHNlY29uZHMKKyAqICAgdG1fbWluCTAtNTkKKyAqICAgdG1faG91cgkwLTIzCisgKiAgIHRtX21kYXkJMS0zMQorICogICB0bV9tb24JMC0xMQorICogICB0bV95ZWFyCW51bWJlciBvZiB5ZWFycyBzaW5jZSAxOTAwCisgKiAgIHRtX3dkYXkJMC02LCAwPVN1bmRheQorICogICB0bV95ZGF5CTAtMzY1CisgKiAgIHRtX2lzZHN0CT4wOiB5ZXMsIDA6IG5vLCA8MDogdW5rbm93bgorICovCisKKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorCisvKiBmb3IgaW5iLCBvdXRiICovCisjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQorIyBpZmRlZiBIQVZFX1NZU19JT19ICisjICBpbmNsdWRlIDxzeXMvaW8uaD4KKyMgZWxpZiBkZWZpbmVkKEhBVkVfQVNNX0lPX0gpCisjICBpbmNsdWRlIDxhc20vaW8uaD4KKyMgZWxzZQorIyAgdW5kZWYgX19pMzg2X18KKyMgIHVuZGVmIF9feDg2XzY0X18KKyMgIHdhcm5pbmcgImRpc2FibGUgY21vcyBhY2Nlc3MgLSBubyBzeXMvaW8uaCBvciBhc20vaW8uaCIKK3N0YXRpYyB2b2lkIG91dGIoaW50IGEgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkgaW50IGIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworfQorCitzdGF0aWMgaW50IGluYihpbnQgYyBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJcmV0dXJuIDA7Cit9CisjIGVuZGlmCQkJCS8qIF9faTM4Nl9fIF9feDg2XzY0X18gKi8KKyNlbHNlCisjIHdhcm5pbmcgImRpc2FibGUgY21vcyBhY2Nlc3MgLSBub3QgaTM4NiBvciB4ODZfNjQiCitzdGF0aWMgdm9pZCBvdXRiKGludCBhIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkJIGludCBiIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKK30KKworc3RhdGljIGludCBpbmIoaW50IGMgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXJldHVybiAwOworfQorI2VuZGlmCQkJCS8qIGZvciBpbmIsIG91dGIgKi8KKworI2luY2x1ZGUgImh3Y2xvY2suaCIKKworI2RlZmluZSBCQ0RfVE9fQklOKHZhbCkgKCh2YWwpPSgodmFsKSYxNSkgKyAoKHZhbCk+PjQpKjEwKQorI2RlZmluZSBCSU5fVE9fQkNEKHZhbCkgKCh2YWwpPSgoKHZhbCkvMTApPDw0KSArICh2YWwpJTEwKQorCisjZGVmaW5lIElPUExfTk9UX0lNUExFTUVOVEVEIC0yCisKKy8qCisgKiBQT1NJWCB1c2VzIDE5MDAgYXMgZXBvY2ggZm9yIGEgc3RydWN0IHRtLCBhbmQgMTk3MCBmb3IgYSB0aW1lX3QuCisgKi8KKyNkZWZpbmUgVE1fRVBPQ0ggMTkwMAorCitzdGF0aWMgdW5zaWduZWQgc2hvcnQgY2xvY2tfY3RsX2FkZHIgPSAweDcwOworc3RhdGljIHVuc2lnbmVkIHNob3J0IGNsb2NrX2RhdGFfYWRkciA9IDB4NzE7CisKKy8qCisgKiBIbW1oLCB0aGlzIGlzbid0IHZlcnkgYXRvbWljLiBNYXliZSB3ZSBzaG91bGQgZm9yY2UgYW4gZXJyb3IgaW5zdGVhZD8KKyAqCisgKiBUT0RPOiBvcHRpbWl6ZSB0aGUgYWNjZXNzIHRvIENNT1MgYnkgbWxvY2thbGwoTUNMX0NVUlJFTlQpIGFuZCBTQ0hFRF9GSUZPCisgKi8KK3N0YXRpYyB1bnNpZ25lZCBsb25nIGF0b21pYyh1bnNpZ25lZCBsb25nICgqb3ApICh1bnNpZ25lZCBsb25nKSwKKwkJCSAgICB1bnNpZ25lZCBsb25nIGFyZykKK3sKKwlyZXR1cm4gKCpvcCkgKGFyZyk7Cit9CisKKy8qCisgKiBXZSBvbmx5IHdhbnQgdG8gcmVhZCBDTU9TIGRhdGEsIGJ1dCB1bmZvcnR1bmF0ZWx5IHdyaXRpbmcgdG8gYml0IDcKKyAqIGRpc2FibGVzICgxKSBvciBlbmFibGVzICgwKSBOTUk7IHNpbmNlIHRoaXMgYml0IGlzIHJlYWQtb25seSB3ZSBoYXZlCisgKiB0byBndWVzcyB0aGUgb2xkIHN0YXR1cy4gVmFyaW91cyBkb2NzIHN1Z2dlc3QgdGhhdCBvbmUgc2hvdWxkIGRpc2FibGUKKyAqIE5NSSB3aGlsZSByZWFkaW5nL3dyaXRpbmcgQ01PUyBkYXRhLCBhbmQgZW5hYmxlIGl0IGFnYWluIGFmdGVyd2FyZHMuCisgKiBUaGlzIHdvdWxkIHlpZWxkIHRoZSBzZXF1ZW5jZQorICoKKyAqICBvdXRiIChyZWcgfCAweDgwLCAweDcwKTsKKyAqICB2YWwgPSBpbmIoMHg3MSk7CisgKiAgb3V0YiAoMHgwZCwgMHg3MCk7ICAvLyAweDBkOiByYW5kb20gcmVhZC1vbmx5IGxvY2F0aW9uCisgKgorICogT3RoZXIgZG9jcyBzdGF0ZSB0aGF0ICJhbnkgd3JpdGUgdG8gMHg3MCBzaG91bGQgYmUgZm9sbG93ZWQgYnkgYW4KKyAqIGFjdGlvbiB0byAweDcxIG9yIHRoZSBSVEMgd2lsbCBiZSBsZWZ0IGluIGFuIHVua25vd24gc3RhdGUiLiBNb3N0CisgKiBkb2NzIHNheSB0aGF0IGl0IGRvZXNuJ3QgbWF0dGVyIGF0IGFsbCB3aGF0IG9uZSBkb2VzLgorICoKKyAqIGJpdCAweDgwOiBkaXNhYmxlIE5NSSB3aGlsZSByZWFkaW5nIC0gc2hvdWxkIHdlPyBMZXQgdXMgZm9sbG93IHRoZQorICoga2VybmVsIGFuZCBub3QgZGlzYWJsZS4gQ2FsbGVkIG9ubHkgd2l0aCAwIDw9IHJlZyA8IDEyOAorICovCisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBjbW9zX3JlYWQodW5zaWduZWQgbG9uZyByZWcpCit7CisJb3V0YihyZWcsIGNsb2NrX2N0bF9hZGRyKTsKKwlyZXR1cm4gaW5iKGNsb2NrX2RhdGFfYWRkcik7Cit9CisKK3N0YXRpYyBpbmxpbmUgdW5zaWduZWQgbG9uZyBjbW9zX3dyaXRlKHVuc2lnbmVkIGxvbmcgcmVnLCB1bnNpZ25lZCBsb25nIHZhbCkKK3sKKwlvdXRiKHJlZywgY2xvY2tfY3RsX2FkZHIpOworCW91dGIodmFsLCBjbG9ja19kYXRhX2FkZHIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBjbW9zX3NldF90aW1lKHVuc2lnbmVkIGxvbmcgYXJnKQoreworCXVuc2lnbmVkIGNoYXIgc2F2ZV9jb250cm9sLCBzYXZlX2ZyZXFfc2VsZWN0LCBwbWJpdCA9IDA7CisJc3RydWN0IHRtIHRtID0gKihzdHJ1Y3QgdG0gKilhcmc7CisKKy8qCisgKiBDTU9TIGJ5dGUgMTAgKGNsb2NrIHN0YXR1cyByZWdpc3RlciBBKSBoYXMgMyBiaXRmaWVsZHM6CisgKiBiaXQgNzogMSBpZiBkYXRhIGludmFsaWQsIHVwZGF0ZSBpbiBwcm9ncmVzcyAocmVhZC1vbmx5IGJpdCkKKyAqICAgICAgICAgKHRoaXMgaXMgcmFpc2VkIDIyNCB1cyBiZWZvcmUgdGhlIGFjdHVhbCB1cGRhdGUgc3RhcnRzKQorICogIDYtNCAgICBzZWxlY3QgYmFzZSBmcmVxdWVuY3kKKyAqICAgICAgICAgMDEwOiAzMjc2OCBIeiB0aW1lIGJhc2UgKGRlZmF1bHQpCisgKiAgICAgICAgIDExMTogcmVzZXQKKyAqICAgICAgICAgYWxsIG90aGVyIGNvbWJpbmF0aW9ucyBhcmUgbWFudWZhY3R1cmVyLWRlcGVuZGVudAorICogICAgICAgICAoZS5nLjogRFMxMjg3OiAwMTAgPSBzdGFydCBvc2NpbGxhdG9yLCBhbnl0aGluZyBlbHNlID0gc3RvcCkKKyAqICAzLTAgICAgcmF0ZSBzZWxlY3Rpb24gYml0cyBmb3IgaW50ZXJydXB0CisgKiAgICAgICAgIDAwMDAgbm9uZSAobWF5IHN0b3AgUlRDKQorICogICAgICAgICAwMDAxLCAwMDEwIGdpdmUgc2FtZSBmcmVxdWVuY3kgYXMgMTAwMCwgMTAwMQorICogICAgICAgICAwMDExIDEyMiBtaWNyb3NlY29uZHMgKG1pbmltdW0sIDgxOTIgSHopCisgKiAgICAgICAgIC4uLi4gZWFjaCBpbmNyZWFzZSBieSAxIGhhbHZlcyB0aGUgZnJlcXVlbmN5LCBkb3VibGVzIHRoZSBwZXJpb2QKKyAqICAgICAgICAgMTExMSA1MDAgbWlsbGlzZWNvbmRzIChtYXhpbXVtLCAyIEh6KQorICogICAgICAgICAwMTEwIDk3Ni41NjIgbWljcm9zZWNvbmRzIChkZWZhdWx0IDEwMjQgSHopCisgKi8KKwlzYXZlX2NvbnRyb2wgPSBjbW9zX3JlYWQoMTEpOwkvKiB0ZWxsIHRoZSBjbG9jayBpdCdzIGJlaW5nIHNldCAqLworCWNtb3Nfd3JpdGUoMTEsIChzYXZlX2NvbnRyb2wgfCAweDgwKSk7CisJc2F2ZV9mcmVxX3NlbGVjdCA9IGNtb3NfcmVhZCgxMCk7CS8qIHN0b3AgYW5kIHJlc2V0IHByZXNjYWxlciAqLworCWNtb3Nfd3JpdGUoMTAsIChzYXZlX2ZyZXFfc2VsZWN0IHwgMHg3MCkpOworCisJdG0udG1feWVhciAlPSAxMDA7CisJdG0udG1fbW9uICs9IDE7CisJdG0udG1fd2RheSArPSAxOworCisJaWYgKCEoc2F2ZV9jb250cm9sICYgMHgwMikpIHsJLyogMTJociBtb2RlOyB0aGUgZGVmYXVsdCBpcyAyNGhyIG1vZGUgKi8KKwkJaWYgKHRtLnRtX2hvdXIgPT0gMCkKKwkJCXRtLnRtX2hvdXIgPSAyNDsKKwkJaWYgKHRtLnRtX2hvdXIgPiAxMikgeworCQkJdG0udG1faG91ciAtPSAxMjsKKwkJCXBtYml0ID0gMHg4MDsKKwkJfQorCX0KKworCWlmICghKHNhdmVfY29udHJvbCAmIDB4MDQpKSB7CS8qIEJDRCBtb2RlIC0gdGhlIGRlZmF1bHQgKi8KKwkJQklOX1RPX0JDRCh0bS50bV9zZWMpOworCQlCSU5fVE9fQkNEKHRtLnRtX21pbik7CisJCUJJTl9UT19CQ0QodG0udG1faG91cik7CisJCUJJTl9UT19CQ0QodG0udG1fd2RheSk7CisJCUJJTl9UT19CQ0QodG0udG1fbWRheSk7CisJCUJJTl9UT19CQ0QodG0udG1fbW9uKTsKKwkJQklOX1RPX0JDRCh0bS50bV95ZWFyKTsKKwl9CisKKwljbW9zX3dyaXRlKDAsIHRtLnRtX3NlYyk7CisJY21vc193cml0ZSgyLCB0bS50bV9taW4pOworCWNtb3Nfd3JpdGUoNCwgdG0udG1faG91ciB8IHBtYml0KTsKKwljbW9zX3dyaXRlKDYsIHRtLnRtX3dkYXkpOworCWNtb3Nfd3JpdGUoNywgdG0udG1fbWRheSk7CisJY21vc193cml0ZSg4LCB0bS50bV9tb24pOworCWNtb3Nfd3JpdGUoOSwgdG0udG1feWVhcik7CisKKwkvKgorCSAqIFRoZSBrZXJuZWwgc291cmNlcywgbGludXgvYXJjaC9pMzg2L2tlcm5lbC90aW1lLmMsIGhhdmUgdGhlCisJICogZm9sbG93aW5nIGNvbW1lbnQ6CisJICoKKwkgKiBUaGUgZm9sbG93aW5nIGZsYWdzIGhhdmUgdG8gYmUgcmVsZWFzZWQgZXhhY3RseSBpbiB0aGlzIG9yZGVyLAorCSAqIG90aGVyd2lzZSB0aGUgRFMxMjg4NyAocG9wdWxhciBNQzE0NjgxOEEgY2xvbmUgd2l0aCBpbnRlZ3JhdGVkCisJICogYmF0dGVyeSBhbmQgcXVhcnR6KSB3aWxsIG5vdCByZXNldCB0aGUgb3NjaWxsYXRvciBhbmQgd2lsbCBub3QKKwkgKiB1cGRhdGUgcHJlY2lzZWx5IDUwMCBtcyBsYXRlci4gWW91IHdvbid0IGZpbmQgdGhpcyBtZW50aW9uZWQgaW4KKwkgKiB0aGUgRGFsbGFzIFNlbWljb25kdWN0b3IgZGF0YSBzaGVldHMsIGJ1dCB3aG8gYmVsaWV2ZXMgZGF0YQorCSAqIHNoZWV0cyBhbnl3YXkgLi4uIC0tIE1hcmt1cyBLdWhuCisJICovCisJY21vc193cml0ZSgxMSwgc2F2ZV9jb250cm9sKTsKKwljbW9zX3dyaXRlKDEwLCBzYXZlX2ZyZXFfc2VsZWN0KTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBoY2xvY2tfcmVhZCh1bnNpZ25lZCBsb25nIHJlZykKK3sKKwlyZXR1cm4gYXRvbWljKGNtb3NfcmVhZCwgcmVnKTsKK30KKworc3RhdGljIHZvaWQgaGNsb2NrX3NldF90aW1lKGNvbnN0IHN0cnVjdCB0bSAqdG0pCit7CisJYXRvbWljKGNtb3Nfc2V0X3RpbWUsICh1bnNpZ25lZCBsb25nKSh0bSkpOworfQorCitzdGF0aWMgaW5saW5lIGludCBjbW9zX2Nsb2NrX2J1c3kodm9pZCkKK3sKKwlyZXR1cm4KKwkgICAgLyogcG9sbCBiaXQgNyAoVUlQKSBvZiBDb250cm9sIFJlZ2lzdGVyIEEgKi8KKwkgICAgKGhjbG9ja19yZWFkKDEwKSAmIDB4ODApOworfQorCitzdGF0aWMgaW50IHN5bmNocm9uaXplX3RvX2Nsb2NrX3RpY2tfY21vcyhjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwKKwkJCQkJICBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaW50IGk7CisKKwkvKgorCSAqIFdhaXQgZm9yIHJpc2UuIFNob3VsZCBiZSB3aXRoaW4gYSBzZWNvbmQsIGJ1dCBpbiBjYXNlIHNvbWV0aGluZworCSAqIHdlaXJkIGhhcHBlbnMsIHdlIGhhdmUgYSBsaW1pdCBvbiB0aGlzIGxvb3AgdG8gcmVkdWNlIHRoZSBpbXBhY3QKKwkgKiBvZiB0aGlzIGZhaWx1cmUuCisJICovCisJZm9yIChpID0gMDsgIWNtb3NfY2xvY2tfYnVzeSgpOyBpKyspCisJCWlmIChpID49IDEwMDAwMDAwKQorCQkJcmV0dXJuIDE7CisKKwkvKiBXYWl0IGZvciBmYWxsLiAgU2hvdWxkIGJlIHdpdGhpbiAyLjIyOCBtcy4gKi8KKwlmb3IgKGkgPSAwOyBjbW9zX2Nsb2NrX2J1c3koKTsgaSsrKQorCQlpZiAoaSA+PSAxMDAwMDAwKQorCQkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBSZWFkIHRoZSBoYXJkd2FyZSBjbG9jayBhbmQgcmV0dXJuIHRoZSBjdXJyZW50IHRpbWUgdmlhIDx0bT4gYXJndW1lbnQuCisgKiBBc3N1bWUgd2UgaGF2ZSBhbiBJU0EgbWFjaGluZSBhbmQgcmVhZCB0aGUgY2xvY2sgZGlyZWN0bHkgd2l0aCBDUFUgSS9PCisgKiBpbnN0cnVjdGlvbnMuCisgKgorICogVGhpcyBmdW5jdGlvbiBpcyBub3QgdG90YWxseSByZWxpYWJsZS4gIEl0IHRha2VzIGEgZmluaXRlIGFuZAorICogdW5wcmVkaWN0YWJsZSBhbW91bnQgb2YgdGltZSB0byBleGVjdXRlIHRoZSBjb2RlIGJlbG93LiBEdXJpbmcgdGhhdCB0aW1lLAorICogdGhlIGNsb2NrIG1heSBjaGFuZ2UgYW5kIHdlIG1heSBldmVuIHJlYWQgYW4gaW52YWxpZCB2YWx1ZSBpbiB0aGUgbWlkZGxlCisgKiBvZiBhbiB1cGRhdGUuIFdlIGRvIGEgZmV3IGNoZWNrcyB0byBtaW5pbWl6ZSB0aGlzIHBvc3NpYmlsaXR5LCBidXQgb25seQorICogdGhlIGtlcm5lbCBjYW4gYWN0dWFsbHkgcmVhZCB0aGUgY2xvY2sgcHJvcGVybHksIHNpbmNlIGl0IGNhbiBleGVjdXRlCisgKiBjb2RlIGluIGEgc2hvcnQgYW5kIHByZWRpY3RhYmxlIGFtb3VudCBvZiB0aW1lIChieSB0dXJuaW5nIG9mCisgKiBpbnRlcnJ1cHRzKS4KKyAqCisgKiBJbiBwcmFjdGljZSwgdGhlIGNoYW5jZSBvZiB0aGlzIGZ1bmN0aW9uIHJldHVybmluZyB0aGUgd3JvbmcgdGltZSBpcworICogZXh0cmVtZWx5IHJlbW90ZS4KKyAqLworc3RhdGljIGludCByZWFkX2hhcmR3YXJlX2Nsb2NrX2Ntb3MoY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsCisJCQkJICAgIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwgc3RydWN0IHRtICp0bSkKK3sKKwl1bnNpZ25lZCBjaGFyIHN0YXR1cyA9IDAsIHBtYml0ID0gMDsKKworCXdoaWxlICgxKSB7CisJCS8qCisJCSAqIEJpdCA3IG9mIEJ5dGUgMTAgb2YgdGhlIEhhcmR3YXJlIENsb2NrIHZhbHVlIGlzIHRoZQorCQkgKiBVcGRhdGUgSW4gUHJvZ3Jlc3MgKFVJUCkgYml0LCB3aGljaCBpcyBvbiB3aGlsZSBhbmQgMjQ0CisJCSAqIHVTIGJlZm9yZSB0aGUgSGFyZHdhcmUgQ2xvY2sgdXBkYXRlcyBpdHNlbGYuIEl0IHVwZGF0ZXMKKwkJICogdGhlIGNvdW50ZXJzIGluZGl2aWR1YWxseSwgc28gcmVhZGluZyB0aGVtIGR1cmluZyBhbgorCQkgKiB1cGRhdGUgd291bGQgcHJvZHVjZSBnYXJiYWdlLiBUaGUgdXBkYXRlIHRha2VzIDJtUywgc28gd2UKKwkJICogY291bGQgYmUgc3Bpbm5pbmcgaGVyZSB0aGF0IGxvbmcgd2FpdGluZyBmb3IgdGhpcyBiaXQgdG8KKwkJICogdHVybiBvZmYuCisJCSAqCisJCSAqIEZ1cnRoZXJtb3JlLCBpdCBpcyBwYXRob2xvZ2ljYWxseSBwb3NzaWJsZSBmb3IgdXMgdG8gYmUKKwkJICogaW4gdGhpcyBjb2RlIHNvIGxvbmcgdGhhdCBldmVuIGlmIHRoZSBVSVAgYml0IGlzIG5vdCBvbgorCQkgKiBhdCBmaXJzdCwgdGhlIGNsb2NrIGhhcyBjaGFuZ2VkIHdoaWxlIHdlIHdlcmUgcnVubmluZy4gV2UKKwkJICogY2hlY2sgZm9yIHRoYXQgdG9vLCBhbmQgaWYgaXQgaGFwcGVucywgd2Ugc3RhcnQgb3Zlci4KKwkJICovCisJCWlmICghY21vc19jbG9ja19idXN5KCkpIHsKKwkJCS8qIE5vIGNsb2NrIHVwZGF0ZSBpbiBwcm9ncmVzcywgZ28gYWhlYWQgYW5kIHJlYWQgKi8KKwkJCXRtLT50bV9zZWMgPSBoY2xvY2tfcmVhZCgwKTsKKwkJCXRtLT50bV9taW4gPSBoY2xvY2tfcmVhZCgyKTsKKwkJCXRtLT50bV9ob3VyID0gaGNsb2NrX3JlYWQoNCk7CisJCQl0bS0+dG1fd2RheSA9IGhjbG9ja19yZWFkKDYpOworCQkJdG0tPnRtX21kYXkgPSBoY2xvY2tfcmVhZCg3KTsKKwkJCXRtLT50bV9tb24gPSBoY2xvY2tfcmVhZCg4KTsKKwkJCXRtLT50bV95ZWFyID0gaGNsb2NrX3JlYWQoOSk7CisJCQlzdGF0dXMgPSBoY2xvY2tfcmVhZCgxMSk7CisJCQkvKgorCQkJICogVW5sZXNzIHRoZSBjbG9jayBjaGFuZ2VkIHdoaWxlIHdlIHdlcmUgcmVhZGluZywKKwkJCSAqIGNvbnNpZGVyIHRoaXMgYSBnb29kIGNsb2NrIHJlYWQgLgorCQkJICovCisJCQlpZiAodG0tPnRtX3NlYyA9PSBoY2xvY2tfcmVhZCgwKSkKKwkJCQlicmVhazsKKwkJfQorCQkvKgorCQkgKiBZZXMsIGluIHRoZW9yeSB3ZSBjb3VsZCBoYXZlIGJlZW4gcnVubmluZyBmb3IgNjAgc2Vjb25kcworCQkgKiBhbmQgdGhlIGFib3ZlIHRlc3Qgd291bGRuJ3Qgd29yayEKKwkJICovCisJfQorCisJaWYgKCEoc3RhdHVzICYgMHgwNCkpIHsJLyogQkNEIG1vZGUgLSB0aGUgZGVmYXVsdCAqLworCQlCQ0RfVE9fQklOKHRtLT50bV9zZWMpOworCQlCQ0RfVE9fQklOKHRtLT50bV9taW4pOworCQlwbWJpdCA9ICh0bS0+dG1faG91ciAmIDB4ODApOworCQl0bS0+dG1faG91ciAmPSAweDdmOworCQlCQ0RfVE9fQklOKHRtLT50bV9ob3VyKTsKKwkJQkNEX1RPX0JJTih0bS0+dG1fd2RheSk7CisJCUJDRF9UT19CSU4odG0tPnRtX21kYXkpOworCQlCQ0RfVE9fQklOKHRtLT50bV9tb24pOworCQlCQ0RfVE9fQklOKHRtLT50bV95ZWFyKTsKKwl9CisKKwkvKgorCSAqIFdlIGRvbid0IHVzZSB0aGUgY2VudHVyeSBieXRlIG9mIHRoZSBIYXJkd2FyZSBDbG9jayBzaW5jZSB3ZQorCSAqIGRvbid0IGtub3cgaXRzIGFkZHJlc3MgKHVzdWFsbHkgNTAgb3IgNTUpLiBIZXJlLCB3ZSBmb2xsb3cgdGhlCisJICogYWR2aWNlIG9mIHRoZSBYL09wZW4gQmFzZSBXb3JraW5nIEdyb3VwOiAiaWYgY2VudHVyeSBpcyBub3QKKwkgKiBzcGVjaWZpZWQsIHRoZW4gdmFsdWVzIGluIHRoZSByYW5nZSBbNjktOTldIHJlZmVyIHRvIHllYXJzIGluIHRoZQorCSAqIHR3ZW50aWV0aCBjZW50dXJ5ICgxOTY5IHRvIDE5OTkgaW5jbHVzaXZlKSwgYW5kIHZhbHVlcyBpbiB0aGUKKwkgKiByYW5nZSBbMDAtNjhdIHJlZmVyIHRvIHllYXJzIGluIHRoZSB0d2VudHktZmlyc3QgY2VudHVyeSAoMjAwMCB0bworCSAqIDIwNjggaW5jbHVzaXZlKS4iCisJICovCisJdG0tPnRtX3dkYXkgLT0gMTsKKwl0bS0+dG1fbW9uIC09IDE7CisJaWYgKHRtLT50bV95ZWFyIDwgNjkpCisJCXRtLT50bV95ZWFyICs9IDEwMDsKKwlpZiAocG1iaXQpIHsKKwkJdG0tPnRtX2hvdXIgKz0gMTI7CisJCWlmICh0bS0+dG1faG91ciA9PSAyNCkKKwkJCXRtLT50bV9ob3VyID0gMDsKKwl9CisKKwl0bS0+dG1faXNkc3QgPSAtMTsJLyogZG9uJ3Qga25vdyB3aGV0aGVyIGl0J3MgZGF5bGlnaHQgKi8KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZXRfaGFyZHdhcmVfY2xvY2tfY21vcyhjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwKKwkJCQkgICBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQkJICAgY29uc3Qgc3RydWN0IHRtICpuZXdfYnJva2VuX3RpbWUpCit7CisJaGNsb2NrX3NldF90aW1lKG5ld19icm9rZW5fdGltZSk7CisJcmV0dXJuIDA7Cit9CisKKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisjIGlmIGRlZmluZWQoSEFWRV9JT1BMKQorc3RhdGljIGludCBpMzg2X2lvcGwoY29uc3QgaW50IGxldmVsKQoreworCXJldHVybiBpb3BsKGxldmVsKTsKK30KKyMgZWxzZQorc3RhdGljIGludCBpMzg2X2lvcGwoY29uc3QgaW50IGxldmVsIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJZXh0ZXJuIGludCBpb3Blcm0odW5zaWduZWQgbG9uZyBmcm9tLCB1bnNpZ25lZCBsb25nIG51bSwgaW50IHR1cm5fb24pOworCXJldHVybiBpb3Blcm0oY2xvY2tfY3RsX2FkZHIsIDIsIDEpOworfQorIyBlbmRpZgorI2Vsc2UKK3N0YXRpYyBpbnQgaTM4Nl9pb3BsKGNvbnN0IGludCBsZXZlbCBfX2F0dHJpYnV0ZV9fICgoX191bnVzZWRfXykpKQoreworCXJldHVybiBJT1BMX05PVF9JTVBMRU1FTlRFRDsKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IGdldF9wZXJtaXNzaW9uc19jbW9zKHZvaWQpCit7CisJaW50IHJjOworCisJcmMgPSBpMzg2X2lvcGwoMyk7CisJaWYgKHJjID09IElPUExfTk9UX0lNUExFTUVOVEVEKSB7CisJCXdhcm54KF8oIklTQSBwb3J0IGFjY2VzcyBpcyBub3QgaW1wbGVtZW50ZWQiKSk7CisJfSBlbHNlIGlmIChyYyAhPSAwKSB7CisJCXdhcm4oXygiaW9wbCgpIHBvcnQgYWNjZXNzIGZhaWxlZCIpKTsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgY29uc3QgY2hhciAqZ2V0X2RldmljZV9wYXRoKHZvaWQpCit7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgY2xvY2tfb3BzIGNtb3NfaW50ZXJmYWNlID0geworCU5fKCJVc2luZyBkaXJlY3QgSVNBIGFjY2VzcyB0byB0aGUgY2xvY2siKSwKKwlnZXRfcGVybWlzc2lvbnNfY21vcywKKwlyZWFkX2hhcmR3YXJlX2Nsb2NrX2Ntb3MsCisJc2V0X2hhcmR3YXJlX2Nsb2NrX2Ntb3MsCisJc3luY2hyb25pemVfdG9fY2xvY2tfdGlja19jbW9zLAorCWdldF9kZXZpY2VfcGF0aCwKK307CisKKy8qCisgKiByZXR1cm4gJmNtb3MgaWYgY21vcyBjbG9jayBwcmVzZW50LCBOVUxMIG90aGVyd2lzZS4KKyAqLworc3RydWN0IGNsb2NrX29wcyAqcHJvYmVfZm9yX2Ntb3NfY2xvY2sodm9pZCkKK3sKKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pCisJcmV0dXJuICZjbW9zX2ludGVyZmFjZTsKKyNlbHNlCisJcmV0dXJuIE5VTEw7CisjZW5kaWYKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9od2Nsb2NrLXJ0Yy5jIGIvc3lzLXV0aWxzL2h3Y2xvY2stcnRjLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2IwNjlkNwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9od2Nsb2NrLXJ0Yy5jCkBAIC0wLDAgKzEsNDU3IEBACisvKgorICogcnRjLmMgLSBVc2UgL2Rldi9ydGMgZm9yIGNsb2NrIGFjY2VzcworICovCisjaW5jbHVkZSA8YXNtL2lvY3RsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3NlbGVjdC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisKKyNpbmNsdWRlICJod2Nsb2NrLmgiCisKKy8qCisgKiBHZXQgZGVmaW5lcyBmb3IgcnRjIHN0dWZmLgorICoKKyAqIEdldHRpbmcgdGhlIHJ0YyBkZWZpbmVzIGlzIG5vbnRyaXZpYWwuIFRoZSBvYnZpb3VzIHdheSBpcyBieSBpbmNsdWRpbmcKKyAqIDxsaW51eC9tYzE0NjgxOHJ0Yy5oPiBidXQgdGhhdCBhZ2FpbiBpbmNsdWRlcyA8YXNtL2lvLmg+IHdoaWNoIGFnYWluCisgKiBpbmNsdWRlcyAuLi4gYW5kIG9uIHNwYXJjIGFuZCBhbHBoYSB0aGlzIGdpdmVzIGNvbXBpbGF0aW9uIGVycm9ycyBmb3IKKyAqIG1hbnkga2VybmVsIHZlcnNpb25zLiBTbywgd2UgZ2l2ZSB0aGUgZGVmaW5lcyBvdXJzZWx2ZXMgaGVyZS4gTW9yZW92ZXIsCisgKiBzb21lIFNwYXJjIHBlcnNvbiBkZWNpZGVkIHRvIGJlIGluY29tcGF0aWJsZSwgYW5kIHVzZWQgYSBzdHJ1Y3QgcnRjX3RpbWUKKyAqIGRpZmZlcmVudCBmcm9tIHRoYXQgdXNlZCBpbiBtYzE0NjgxOHJ0Yy5oLgorICovCisKKy8qCisgKiBPbiBTcGFyY3MsIHRoZXJlIGlzIGEgPGFzbS9ydGMuaD4gdGhhdCBkZWZpbmVzIGRpZmZlcmVudCBpb2N0bHMgKHRoYXQgYXJlCisgKiByZXF1aXJlZCBvbiBteSBtYWNoaW5lKS4gSG93ZXZlciwgdGhpcyBpbmNsdWRlIGZpbGUgZG9lcyBub3QgZXhpc3Qgb24KKyAqIG90aGVyIGFyY2hpdGVjdHVyZXMuCisgKi8KKy8qIE9uZSBtaWdodCBkbzoKKyNpZmRlZiBfX3NwYXJjX18KKyMgaW5jbHVkZSA8YXNtL3J0Yy5oPgorI2VuZGlmCisgKi8KKyNpZmRlZiBfX3NwYXJjX18KKy8qIFRoZSBmb2xsb3dpbmcgaXMgcm91Z2hseSBlcXVpdmFsZW50ICovCitzdHJ1Y3Qgc3BhcmNfcnRjX3RpbWUKK3sKKwlpbnQgc2VjOwkvKiBTZWNvbmRzCQkwLTU5ICovCisJaW50IG1pbjsJLyogTWludXRlcwkJMC01OSAqLworCWludCBob3VyOwkvKiBIb3VyCQkJMC0yMyAqLworCWludCBkb3c7CS8qIERheSBvZiB0aGUgd2VlawkxLTcgICovCisJaW50IGRvbTsJLyogRGF5IG9mIHRoZSBtb250aAkxLTMxICovCisJaW50IG1vbnRoOwkvKiBNb250aCBvZiB5ZWFyCTEtMTIgKi8KKwlpbnQgeWVhcjsJLyogWWVhcgkJCTAtOTkgKi8KK307CisjZGVmaW5lIFJUQ0dFVCBfSU9SKCdwJywgMjAsIHN0cnVjdCBzcGFyY19ydGNfdGltZSkKKyNkZWZpbmUgUlRDU0VUIF9JT1coJ3AnLCAyMSwgc3RydWN0IHNwYXJjX3J0Y190aW1lKQorI2VuZGlmCisKKy8qCisgKiBzdHJ1Y3QgcnRjX3RpbWUgaXMgcHJlc2VudCBzaW5jZSAxLjMuOTkuCisgKiBFYXJsaWVyIChzaW5jZSAxLjMuODkpLCBhIHN0cnVjdCB0bSB3YXMgdXNlZC4KKyAqLworc3RydWN0IGxpbnV4X3J0Y190aW1lIHsKKwlpbnQgdG1fc2VjOworCWludCB0bV9taW47CisJaW50IHRtX2hvdXI7CisJaW50IHRtX21kYXk7CisJaW50IHRtX21vbjsKKwlpbnQgdG1feWVhcjsKKwlpbnQgdG1fd2RheTsKKwlpbnQgdG1feWRheTsKKwlpbnQgdG1faXNkc3Q7Cit9OworCisvKiBSVENfUkRfVElNRSBldGMgaGF2ZSB0aGlzIGRlZmluaXRpb24gc2luY2UgMS45OS45IChwcmUyLjAtOSkgKi8KKyNpZm5kZWYgUlRDX1JEX1RJTUUKKyMgZGVmaW5lIFJUQ19SRF9USU1FCV9JT1IoJ3AnLCAweDA5LCBzdHJ1Y3QgbGludXhfcnRjX3RpbWUpCisjIGRlZmluZSBSVENfU0VUX1RJTUUJX0lPVygncCcsIDB4MGEsIHN0cnVjdCBsaW51eF9ydGNfdGltZSkKKyMgZGVmaW5lIFJUQ19VSUVfT04JX0lPKCdwJywgMHgwMykJLyogVXBkYXRlIGludC4gZW5hYmxlIG9uICovCisjIGRlZmluZSBSVENfVUlFX09GRglfSU8oJ3AnLCAweDA0KQkvKiBVcGRhdGUgaW50LiBlbmFibGUgb2ZmICovCisjZW5kaWYKKworLyogUlRDX0VQT0NIX1JFQUQgYW5kIFJUQ19FUE9DSF9TRVQgYXJlIHByZXNlbnQgc2luY2UgMi4wLjM0IGFuZCAyLjEuODkgKi8KKyNpZm5kZWYgUlRDX0VQT0NIX1JFQUQKKyMgZGVmaW5lIFJUQ19FUE9DSF9SRUFECV9JT1IoJ3AnLCAweDBkLCB1bnNpZ25lZCBsb25nKQkvKiBSZWFkIGVwb2NoICovCisjIGRlZmluZSBSVENfRVBPQ0hfU0VUCV9JT1coJ3AnLCAweDBlLCB1bnNpZ25lZCBsb25nKQkvKiBTZXQgZXBvY2ggKi8KKyNlbmRpZgorCisvKgorICogL2Rldi9ydGMgaXMgY29udmVudGlvbmFsbHkgY2hhcmRldiAxMC8xMzUKKyAqIGlhNjQgdXNlcyAvZGV2L2VmaXJ0YywgY2hhcmRldiAxMC8xMzYKKyAqIGRldmZzIChvYnNvbGV0ZSkgdXNlZCAvZGV2L21pc2MvLi4uIGZvciBtaXNjZGV2CisgKiBuZXcgUlRDIGZyYW1ld29yayArIHVkZXYgdXNlcyBkeW5hbWljIG1ham9yIGFuZCAvZGV2L3J0YzAuLi4vZGV2L3J0Y04KKyAqIC4uLiBzbyB3ZSBuZWVkIGFuIG92ZXJyaWRhYmxlIGRlZmF1bHQKKyAqLworCisvKiBkZWZhdWx0IG9yIHVzZXIgZGVmaW5lZCBkZXYgKGJ5IGh3Y2xvY2sgLS1ydGM9PHBhdGg+KSAqLworc3RhdGljIGNvbnN0IGNoYXIgKnJ0Y19kZXZfbmFtZTsKK3N0YXRpYyBpbnQgcnRjX2Rldl9mZCA9IC0xOworCitzdGF0aWMgdm9pZCBjbG9zZV9ydGModm9pZCkKK3sKKwlpZiAocnRjX2Rldl9mZCAhPSAtMSkKKwkJY2xvc2UocnRjX2Rldl9mZCk7CisJcnRjX2Rldl9mZCA9IC0xOworfQorCitzdGF0aWMgaW50IG9wZW5fcnRjKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCkKK3sKKwlzdGF0aWMgY29uc3QgY2hhciAqZmxzW10gPSB7CisjaWZkZWYgX19pYTY0X18KKwkJIi9kZXYvZWZpcnRjIiwKKwkJIi9kZXYvbWlzYy9lZmlydGMiLAorI2VuZGlmCisJCSIvZGV2L3J0YzAiLAorCQkiL2Rldi9ydGMiLAorCQkiL2Rldi9taXNjL3J0YyIKKwl9OworCXNpemVfdCBpOworCisJaWYgKHJ0Y19kZXZfZmQgIT0gLTEpCisJCXJldHVybiBydGNfZGV2X2ZkOworCisJLyogLS1ydGMgb3B0aW9uIGhhcyBiZWVuIGdpdmVuICovCisJaWYgKGN0bC0+cnRjX2Rldl9uYW1lKSB7CisJCXJ0Y19kZXZfbmFtZSA9IGN0bC0+cnRjX2Rldl9uYW1lOworCQlydGNfZGV2X2ZkID0gb3BlbihydGNfZGV2X25hbWUsIE9fUkRPTkxZKTsKKwl9IGVsc2UgeworCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShmbHMpOyBpKyspIHsKKwkJCWlmIChjdGwtPnZlcmJvc2UpCisJCQkJcHJpbnRmKF8oIlRyeWluZyB0byBvcGVuOiAlc1xuIiksIGZsc1tpXSk7CisJCQlydGNfZGV2X2ZkID0gb3BlbihmbHNbaV0sIE9fUkRPTkxZKTsKKworCQkJaWYgKHJ0Y19kZXZfZmQgPCAwCisJCQkgICAgJiYgKGVycm5vID09IEVOT0VOVCB8fCBlcnJubyA9PSBFTk9ERVYpKQorCQkJCWNvbnRpbnVlOworCQkJcnRjX2Rldl9uYW1lID0gZmxzW2ldOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKHJ0Y19kZXZfZmQgPCAwKQorCQkJcnRjX2Rldl9uYW1lID0gKmZsczsJLyogZGVmYXVsdCBmb3IgZXJyb3IgbWVzc2FnZXMgKi8KKwl9CisJaWYgKHJ0Y19kZXZfZmQgIT0gLTEpCisJCWF0ZXhpdChjbG9zZV9ydGMpOworCXJldHVybiBydGNfZGV2X2ZkOworfQorCitzdGF0aWMgaW50IG9wZW5fcnRjX29yX2V4aXQoY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsKQoreworCWludCBydGNfZmQgPSBvcGVuX3J0YyhjdGwpOworCisJaWYgKHJ0Y19mZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIikpOworCQlod2Nsb2NrX2V4aXQoY3RsLCBFWElUX0ZBSUxVUkUpOworCX0KKwlyZXR1cm4gcnRjX2ZkOworfQorCitzdGF0aWMgaW50IGRvX3J0Y19yZWFkX2lvY3RsKGludCBydGNfZmQsIHN0cnVjdCB0bSAqdG0pCit7CisJaW50IHJjID0gLTE7CisJY2hhciAqaW9jdGxuYW1lOworI2lmZGVmIF9fc3BhcmNfXworCS8qIHNvbWUgYnV0IG5vdCBhbGwgc3BhcmNzIHVzZSBhIGRpZmZlcmVudCBpb2N0bCBhbmQgc3RydWN0ICovCisJc3RydWN0IHNwYXJjX3J0Y190aW1lIHN0bTsKKyNlbmRpZgorCisJaW9jdGxuYW1lID0gIlJUQ19SRF9USU1FIjsKKwlyYyA9IGlvY3RsKHJ0Y19mZCwgUlRDX1JEX1RJTUUsIHRtKTsKKworI2lmZGVmIF9fc3BhcmNfXworCWlmIChyYyA9PSAtMSkgewkJLyogc3BhcmMgc2J1cyAqLworCQlpb2N0bG5hbWUgPSAiUlRDR0VUIjsKKwkJcmMgPSBpb2N0bChydGNfZmQsIFJUQ0dFVCwgJnN0bSk7CisJCWlmIChyYyA9PSAwKSB7CisJCQl0bS0+dG1fc2VjID0gc3RtLnNlYzsKKwkJCXRtLT50bV9taW4gPSBzdG0ubWluOworCQkJdG0tPnRtX2hvdXIgPSBzdG0uaG91cjsKKwkJCXRtLT50bV9tZGF5ID0gc3RtLmRvbTsKKwkJCXRtLT50bV9tb24gPSBzdG0ubW9udGggLSAxOworCQkJdG0tPnRtX3llYXIgPSBzdG0ueWVhciAtIDE5MDA7CisJCQl0bS0+dG1fd2RheSA9IHN0bS5kb3cgLSAxOworCQkJdG0tPnRtX3lkYXkgPSAtMTsJLyogZGF5IGluIHRoZSB5ZWFyICovCisJCX0KKwl9CisjZW5kaWYKKworCWlmIChyYyA9PSAtMSkgeworCQl3YXJuKF8oImlvY3RsKCVzKSB0byAlcyB0byByZWFkIHRoZSB0aW1lIGZhaWxlZCIpLAorCQkJaW9jdGxuYW1lLCBydGNfZGV2X25hbWUpOworCQlyZXR1cm4gLTE7CisJfQorCisJdG0tPnRtX2lzZHN0ID0gLTE7CS8qIGRvbid0IGtub3cgd2hldGhlciBpdCdzIGRzdCAqLworCXJldHVybiAwOworfQorCisvKgorICogV2FpdCBmb3IgdGhlIHRvcCBvZiBhIGNsb2NrIHRpY2sgYnkgcmVhZGluZyAvZGV2L3J0YyBpbiBhIGJ1c3kgbG9vcAorICogdW50aWwgd2Ugc2VlIGl0LiBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgZm9yIHJ0YyBkcml2ZXJzIHdpdGhvdXQgaW9jdGwKKyAqIGludGVycnVwdHMuIFRoaXMgaXMgdHlwaWNhbCBvbiBhbiBBbHBoYSwgd2hlcmUgdGhlIEhhcmR3YXJlIENsb2NrCisgKiBpbnRlcnJ1cHRzIGFyZSB1c2VkIGJ5IHRoZSBrZXJuZWwgZm9yIHRoZSBzeXN0ZW0gY2xvY2ssIHNvIGFyZW4ndCBhdAorICogdGhlIHVzZXIncyBkaXNwb3NhbC4KKyAqLworc3RhdGljIGludCBidXN5d2FpdF9mb3JfcnRjX2Nsb2NrX3RpY2soY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsLAorCQkJCSAgICAgICBjb25zdCBpbnQgcnRjX2ZkKQoreworCXN0cnVjdCB0bSBzdGFydF90aW1lOworCS8qIFRoZSB0aW1lIHdoZW4gd2Ugd2VyZSBjYWxsZWQgKGFuZCBzdGFydGVkIHdhaXRpbmcpICovCisJc3RydWN0IHRtIG5vd3RpbWU7CisJaW50IHJjOworCXN0cnVjdCB0aW1ldmFsIGJlZ2luLCBub3c7CisKKwlpZiAoY3RsLT52ZXJib3NlKSB7CisJCXByaW50ZigiaW9jdGwoJWQsIFJUQ19VSUVfT04sIDApOiAlc1xuIiwKKwkJICAgICAgIHJ0Y19mZCwgc3RyZXJyb3IoZXJybm8pKTsKKwkJcHJpbnRmKF8oIldhaXRpbmcgaW4gbG9vcCBmb3IgdGltZSBmcm9tICVzIHRvIGNoYW5nZVxuIiksCisJCSAgICAgICBydGNfZGV2X25hbWUpOworCX0KKworCWlmIChkb19ydGNfcmVhZF9pb2N0bChydGNfZmQsICZzdGFydF90aW1lKSkKKwkJcmV0dXJuIDE7CisKKwkvKgorCSAqIFdhaXQgZm9yIGNoYW5nZS4gIFNob3VsZCBiZSB3aXRoaW4gYSBzZWNvbmQsIGJ1dCBpbiBjYXNlCisJICogc29tZXRoaW5nIHdlaXJkIGhhcHBlbnMsIHdlIGhhdmUgYSB0aW1lIGxpbWl0ICgxLjVzKSBvbiB0aGlzIGxvb3AKKwkgKiB0byByZWR1Y2UgdGhlIGltcGFjdCBvZiB0aGlzIGZhaWx1cmUuCisJICovCisJZ2V0dGltZW9mZGF5KCZiZWdpbiwgTlVMTCk7CisJZG8geworCQlyYyA9IGRvX3J0Y19yZWFkX2lvY3RsKHJ0Y19mZCwgJm5vd3RpbWUpOworCQlpZiAocmMgfHwgc3RhcnRfdGltZS50bV9zZWMgIT0gbm93dGltZS50bV9zZWMpCisJCQlicmVhazsKKwkJZ2V0dGltZW9mZGF5KCZub3csIE5VTEwpOworCQlpZiAodGltZV9kaWZmKG5vdywgYmVnaW4pID4gMS41KSB7CisJCQl3YXJueChfKCJUaW1lZCBvdXQgd2FpdGluZyBmb3IgdGltZSBjaGFuZ2UuIikpOworCQkJcmV0dXJuIDE7CisJCX0KKwl9IHdoaWxlICgxKTsKKworCWlmIChyYykKKwkJcmV0dXJuIDE7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBTYW1lIGFzIHN5bmNocm9uaXplX3RvX2Nsb2NrX3RpY2soKSwgYnV0IGp1c3QgZm9yIC9kZXYvcnRjLgorICovCitzdGF0aWMgaW50IHN5bmNocm9uaXplX3RvX2Nsb2NrX3RpY2tfcnRjKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgcnRjX2ZkOwkJLyogRmlsZSBkZXNjcmlwdG9yIG9mIC9kZXYvcnRjICovCisJaW50IHJldCA9IDE7CisKKwlydGNfZmQgPSBvcGVuX3J0YyhjdGwpOworCWlmIChydGNfZmQgPT0gLTEpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiBydGMgZGV2aWNlIikpOworCQlyZXR1cm4gcmV0OworCX0gZWxzZSB7CisJCWludCByYzsJCS8qIFJldHVybiBjb2RlIGZyb20gaW9jdGwgKi8KKwkJLyogVHVybiBvbiB1cGRhdGUgaW50ZXJydXB0cyAob25lIHBlciBzZWNvbmQpICovCisjaWYgZGVmaW5lZChfX2FscGhhX18pIHx8IGRlZmluZWQoX19zcGFyY19fKQorCQkvKgorCQkgKiBOb3QgYWxsIGFscGhhIGtlcm5lbHMgcmVqZWN0IFJUQ19VSUVfT04sIGJ1dCBwcm9iYWJseQorCQkgKiB0aGV5IHNob3VsZC4KKwkJICovCisJCXJjID0gLTE7CisJCWVycm5vID0gRUlOVkFMOworI2Vsc2UKKwkJcmMgPSBpb2N0bChydGNfZmQsIFJUQ19VSUVfT04sIDApOworI2VuZGlmCisJCWlmIChyYyAhPSAtMSkgeworCQkJLyoKKwkJCSAqIEp1c3QgcmVhZGluZyBydGNfZmQgZmFpbHMgb24gYnJva2VuIGhhcmR3YXJlOiBubworCQkJICogdXBkYXRlIGludGVycnVwdCBjb21lcyBhbmQgYSBib290c2NyaXB0IHdpdGggYQorCQkJICogaHdjbG9jayBjYWxsIGhhbmdzCisJCQkgKi8KKwkJCWZkX3NldCByZmRzOworCQkJc3RydWN0IHRpbWV2YWwgdHY7CisKKwkJCS8qCisJCQkgKiBXYWl0IHVwIHRvIHRlbiBzZWNvbmRzIGZvciB0aGUgbmV4dCB1cGRhdGUKKwkJCSAqIGludGVycnVwdAorCQkJICovCisJCQlGRF9aRVJPKCZyZmRzKTsKKwkJCUZEX1NFVChydGNfZmQsICZyZmRzKTsKKwkJCXR2LnR2X3NlYyA9IDEwOworCQkJdHYudHZfdXNlYyA9IDA7CisJCQlyYyA9IHNlbGVjdChydGNfZmQgKyAxLCAmcmZkcywgTlVMTCwgTlVMTCwgJnR2KTsKKwkJCWlmICgwIDwgcmMpCisJCQkJcmV0ID0gMDsKKwkJCWVsc2UgaWYgKHJjID09IDApIHsKKwkJCQl3YXJueChfKCJzZWxlY3QoKSB0byAlcyB0byB3YWl0IGZvciBjbG9jayB0aWNrIHRpbWVkIG91dCIpLAorCQkJCSAgICAgIHJ0Y19kZXZfbmFtZSk7CisJCQl9IGVsc2UKKwkJCQl3YXJuKF8oInNlbGVjdCgpIHRvICVzIHRvIHdhaXQgZm9yIGNsb2NrIHRpY2sgZmFpbGVkIiksCisJCQkJICAgICBydGNfZGV2X25hbWUpOworCQkJLyogVHVybiBvZmYgdXBkYXRlIGludGVycnVwdHMgKi8KKwkJCXJjID0gaW9jdGwocnRjX2ZkLCBSVENfVUlFX09GRiwgMCk7CisJCQlpZiAocmMgPT0gLTEpCisJCQkJd2FybihfKCJpb2N0bCgpIHRvICVzIHRvIHR1cm4gb2ZmIHVwZGF0ZSBpbnRlcnJ1cHRzIGZhaWxlZCIpLAorCQkJCSAgICAgcnRjX2Rldl9uYW1lKTsKKwkJfSBlbHNlIGlmIChlcnJubyA9PSBFTk9UVFkgfHwgZXJybm8gPT0gRUlOVkFMKSB7CisJCQkvKiBydGMgaW9jdGwgaW50ZXJydXB0cyBhcmUgdW5pbXBsZW1lbnRlZCAqLworCQkJcmV0ID0gYnVzeXdhaXRfZm9yX3J0Y19jbG9ja190aWNrKGN0bCwgcnRjX2ZkKTsKKwkJfSBlbHNlCisJCQl3YXJuKF8oImlvY3RsKCVkLCBSVENfVUlFX09OLCAwKSB0byAlcyBmYWlsZWQiKSwKKwkJCSAgICAgcnRjX2ZkLCBydGNfZGV2X25hbWUpOworCX0KKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHJlYWRfaGFyZHdhcmVfY2xvY2tfcnRjKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwKKwkJCQkgICBzdHJ1Y3QgdG0gKnRtKQoreworCWludCBydGNfZmQsIHJjOworCisJcnRjX2ZkID0gb3Blbl9ydGNfb3JfZXhpdChjdGwpOworCisJLyogUmVhZCB0aGUgUlRDIHRpbWUvZGF0ZSwgcmV0dXJuIGFuc3dlciB2aWEgdG0gKi8KKwlyYyA9IGRvX3J0Y19yZWFkX2lvY3RsKHJ0Y19mZCwgdG0pOworCisJcmV0dXJuIHJjOworfQorCisvKgorICogU2V0IHRoZSBIYXJkd2FyZSBDbG9jayB0byB0aGUgYnJva2VuIGRvd24gdGltZSA8bmV3X2Jyb2tlbl90aW1lPi4gVXNlCisgKiBpb2N0bHMgdG8gInJ0YyIgZGV2aWNlIC9kZXYvcnRjLgorICovCitzdGF0aWMgaW50IHNldF9oYXJkd2FyZV9jbG9ja19ydGMoY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsLAorCQkJCSAgY29uc3Qgc3RydWN0IHRtICpuZXdfYnJva2VuX3RpbWUpCit7CisJaW50IHJjID0gLTE7CisJaW50IHJ0Y19mZDsKKwljaGFyICppb2N0bG5hbWU7CisKKwlydGNfZmQgPSBvcGVuX3J0Y19vcl9leGl0KGN0bCk7CisKKwlpb2N0bG5hbWUgPSAiUlRDX1NFVF9USU1FIjsKKwlyYyA9IGlvY3RsKHJ0Y19mZCwgUlRDX1NFVF9USU1FLCBuZXdfYnJva2VuX3RpbWUpOworCisjaWZkZWYgX19zcGFyY19fCisJaWYgKHJjID09IC0xKSB7CQkvKiBzcGFyYyBzYnVzICovCisJCXN0cnVjdCBzcGFyY19ydGNfdGltZSBzdG07CisKKwkJc3RtLnNlYyA9IG5ld19icm9rZW5fdGltZS0+dG1fc2VjOworCQlzdG0ubWluID0gbmV3X2Jyb2tlbl90aW1lLT50bV9taW47CisJCXN0bS5ob3VyID0gbmV3X2Jyb2tlbl90aW1lLT50bV9ob3VyOworCQlzdG0uZG9tID0gbmV3X2Jyb2tlbl90aW1lLT50bV9tZGF5OworCQlzdG0ubW9udGggPSBuZXdfYnJva2VuX3RpbWUtPnRtX21vbiArIDE7CisJCXN0bS55ZWFyID0gbmV3X2Jyb2tlbl90aW1lLT50bV95ZWFyICsgMTkwMDsKKwkJc3RtLmRvdyA9IG5ld19icm9rZW5fdGltZS0+dG1fd2RheSArIDE7CisKKwkJaW9jdGxuYW1lID0gIlJUQ1NFVCI7CisJCXJjID0gaW9jdGwocnRjX2ZkLCBSVENTRVQsICZzdG0pOworCX0KKyNlbmRpZgorCisJaWYgKHJjID09IC0xKSB7CisJCXdhcm4oXygiaW9jdGwoJXMpIHRvICVzIHRvIHNldCB0aGUgdGltZSBmYWlsZWQiKSwKKwkJCWlvY3RsbmFtZSwgcnRjX2Rldl9uYW1lKTsKKwkJaHdjbG9ja19leGl0KGN0bCwgRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAoY3RsLT52ZXJib3NlKQorCQlwcmludGYoXygiaW9jdGwoJXMpIHdhcyBzdWNjZXNzZnVsLlxuIiksIGlvY3RsbmFtZSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnZXRfcGVybWlzc2lvbnNfcnRjKHZvaWQpCit7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpnZXRfZGV2aWNlX3BhdGgodm9pZCkKK3sKKwlyZXR1cm4gcnRjX2Rldl9uYW1lOworfQorCitzdGF0aWMgc3RydWN0IGNsb2NrX29wcyBydGNfaW50ZXJmYWNlID0geworCU5fKCJVc2luZyB0aGUgcnRjIGludGVyZmFjZSB0byB0aGUgY2xvY2suIiksCisJZ2V0X3Blcm1pc3Npb25zX3J0YywKKwlyZWFkX2hhcmR3YXJlX2Nsb2NrX3J0YywKKwlzZXRfaGFyZHdhcmVfY2xvY2tfcnRjLAorCXN5bmNocm9uaXplX3RvX2Nsb2NrX3RpY2tfcnRjLAorCWdldF9kZXZpY2VfcGF0aCwKK307CisKKy8qIHJldHVybiAmcnRjIGlmIC9kZXYvcnRjIGNhbiBiZSBvcGVuZWQsIE5VTEwgb3RoZXJ3aXNlICovCitzdHJ1Y3QgY2xvY2tfb3BzICpwcm9iZV9mb3JfcnRjX2Nsb2NrKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCkKK3sKKwljb25zdCBpbnQgcnRjX2ZkID0gb3Blbl9ydGMoY3RsKTsKKworCWlmIChydGNfZmQgPCAwKQorCQlyZXR1cm4gTlVMTDsKKwlyZXR1cm4gJnJ0Y19pbnRlcmZhY2U7Cit9CisKKyNpZmRlZiBfX2FscGhhX18KKy8qCisgKiBHZXQgdGhlIEhhcmR3YXJlIENsb2NrIGVwb2NoIHNldHRpbmcgZnJvbSB0aGUga2VybmVsLgorICovCitpbnQgZ2V0X2Vwb2NoX3J0Yyhjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwsIHVuc2lnbmVkIGxvbmcgKmVwb2NoX3ApCit7CisJaW50IHJ0Y19mZDsKKworCXJ0Y19mZCA9IG9wZW5fcnRjKGN0bCk7CisJaWYgKHJ0Y19mZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBydGNfZGV2X25hbWUpOworCQlyZXR1cm4gMTsKKwl9CisKKwlpZiAoaW9jdGwocnRjX2ZkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgPT0gLTEpIHsKKwkJd2FybihfKCJpb2N0bCglZCwgUlRDX0VQT0NIX1JFQUQsIGVwb2NoX3ApIHRvICVzIGZhaWxlZCIpLAorCQkgICAgIHJ0Y19mZCwgcnRjX2Rldl9uYW1lKTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKGN0bC0+dmVyYm9zZSkKKwkJcHJpbnRmKF8oImlvY3RsKCVkLCBSVENfRVBPQ0hfUkVBRCwgZXBvY2hfcCkgdG8gJXMgc3VjY2VlZGVkLlxuIiksCisJCSAgICAgICBydGNfZmQsIHJ0Y19kZXZfbmFtZSk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggaW4gdGhlIGtlcm5lbC4KKyAqLworaW50IHNldF9lcG9jaF9ydGMoY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsKQoreworCWludCBydGNfZmQ7CisJdW5zaWduZWQgbG9uZyBlcG9jaDsKKworCWVwb2NoID0gc3RydG91bChjdGwtPmVwb2NoX29wdGlvbiwgTlVMTCwgMTApOworCisJLyogVGhlcmUgd2VyZSBubyBSVEMgY2xvY2tzIGJlZm9yZSAxOTAwLiAqLworCWlmIChlcG9jaCA8IDE5MDAgfHwgZXBvY2ggPT0gVUxPTkdfTUFYKSB7CisJCXdhcm54KF8oImludmFsaWQgZXBvY2ggJyVzJy4iKSwgY3RsLT5lcG9jaF9vcHRpb24pOworCQlyZXR1cm4gMTsKKwl9CisKKwlydGNfZmQgPSBvcGVuX3J0YyhjdGwpOworCWlmIChydGNfZmQgPCAwKSB7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgcnRjX2Rldl9uYW1lKTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKGlvY3RsKHJ0Y19mZCwgUlRDX0VQT0NIX1NFVCwgZXBvY2gpID09IC0xKSB7CisJCXdhcm4oXygiaW9jdGwoJWQsIFJUQ19FUE9DSF9TRVQsICVsdSkgdG8gJXMgZmFpbGVkIiksCisJCSAgICAgcnRjX2ZkLCBlcG9jaCwgcnRjX2Rldl9uYW1lKTsKKwkJcmV0dXJuIDE7CisJfQorCisJaWYgKGN0bC0+dmVyYm9zZSkKKwkJcHJpbnRmKF8oImlvY3RsKCVkLCBSVENfRVBPQ0hfU0VULCAlbHUpIHRvICVzIHN1Y2NlZWRlZC5cbiIpLAorCQkgICAgICAgcnRjX2ZkLCBlcG9jaCwgcnRjX2Rldl9uYW1lKTsKKworCXJldHVybiAwOworfQorI2VuZGlmCS8qIF9fYWxwaGFfXyAqLwpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2h3Y2xvY2suOC5pbiBiL3N5cy11dGlscy9od2Nsb2NrLjguaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI5YjFkZAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9od2Nsb2NrLjguaW4KQEAgLTAsMCArMSwxMDAxIEBACisuXCIgaHdjbG9jay44LmluIC0tIG1hbiBwYWdlIGZvciB1dGlsLWxpbnV4JyBod2Nsb2NrCisuXCIKKy5cIiAyMDE1LTAxLTA3IEogV2lsbGlhbSBQaWdnb3R0CisuXCIgICBBdXRob3JlZCBuZXcgc2VjdGlvbjogREFURS1USU1FIENPTkZJR1VSQVRJT04uCisuXCIgICBTdWJzZWN0aW9uczogS2VlcGluZyBUaW1lLi4uLCBMT0NBTCB2cyBVVEMsIFBPU0lYIHZzICdSSUdIVCcuCisuXCIKKy5USCBIV0NMT0NLIDggIkp1bHkgMjAxNyIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQoraHdjbG9jayBcLSB0aW1lIGNsb2NrcyB1dGlsaXR5CisuU0ggU1lOT1BTSVMKKy5CIGh3Y2xvY2sKKy5SSSBbIGZ1bmN0aW9uIF0KKy5SSSBbIG9wdGlvbiAuLi5dCisuCisuU0ggREVTQ1JJUFRJT04KKy5CIGh3Y2xvY2sKK2lzIGFuIGFkbWluaXN0cmF0aW9uIHRvb2wgZm9yIHRoZSB0aW1lIGNsb2Nrcy4gIEl0IGNhbjogZGlzcGxheSB0aGUKK0hhcmR3YXJlIENsb2NrIHRpbWU7IHNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gYSBzcGVjaWZpZWQgdGltZTsgc2V0IHRoZQorSGFyZHdhcmUgQ2xvY2sgZnJvbSB0aGUgU3lzdGVtIENsb2NrOyBzZXQgdGhlIFN5c3RlbSBDbG9jayBmcm9tIHRoZQorSGFyZHdhcmUgQ2xvY2s7IGNvbXBlbnNhdGUgZm9yIEhhcmR3YXJlIENsb2NrIGRyaWZ0OyBjb3JyZWN0IHRoZSBTeXN0ZW0KK0Nsb2NrIHRpbWVzY2FsZTsgc2V0IHRoZSBrZXJuZWwncyB0aW1lem9uZSwgTlRQIHRpbWVzY2FsZSwgYW5kIGVwb2NoCisoQWxwaGEgb25seSk7IGFuZCBwcmVkaWN0IGZ1dHVyZQorSGFyZHdhcmUgQ2xvY2sgdmFsdWVzIGJhc2VkIG9uIGl0cyBkcmlmdCByYXRlLgorLlBQCitTaW5jZSB2Mi4yNiBpbXBvcnRhbnQgY2hhbmdlcyB3ZXJlIG1hZGUgdG8gdGhlCisuQiBcLVwtaGN0b3N5cworZnVuY3Rpb24gYW5kIHRoZQorLkIgXC1cLWRpcmVjdGlzYQorb3B0aW9uLCBhbmQgYSBuZXcgb3B0aW9uCisuQiBcLVwtdXBkYXRlXC1kcmlmdAord2FzIGFkZGVkLiAgU2VlIHRoZWlyIHJlc3BlY3RpdmUgZGVzY3JpcHRpb25zIGJlbG93LgorLgorLlNIIEZVTkNUSU9OUworVGhlIGZvbGxvd2luZyBmdW5jdGlvbnMgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSwgb25seSBvbmUgY2FuIGJlIGdpdmVuIGF0CithIHRpbWUuICBJZiBub25lIGlzIGdpdmVuLCB0aGUgZGVmYXVsdCBpcyBcZkJcLVwtc2hvd1xmUi4KKy5UUAorLkIgXC1hLCBcLVwtYWRqdXN0CitBZGQgb3Igc3VidHJhY3QgdGltZSBmcm9tIHRoZSBIYXJkd2FyZSBDbG9jayB0byBhY2NvdW50IGZvciBzeXN0ZW1hdGljCitkcmlmdCBzaW5jZSB0aGUgbGFzdCB0aW1lIHRoZSBjbG9jayB3YXMgc2V0IG9yIGFkanVzdGVkLiAgU2VlIHRoZQorZGlzY3Vzc2lvbiBiZWxvdywgdW5kZXIKKy5CUiAiVGhlIEFkanVzdCBGdW5jdGlvbiIgLgorLgorLlRQCisuQiBcLVwtZ2V0ZXBvY2gKKy5UUQorLkIgXC1cLXNldGVwb2NoCitUaGVzZSBmdW5jdGlvbnMgYXJlIGZvciBBbHBoYSBtYWNoaW5lcyBvbmx5LCBhbmQgYXJlIG9ubHkgYXZhaWxhYmxlCit0aHJvdWdoIHRoZSBMaW51eCBrZXJuZWwgUlRDIGRyaXZlci4KKy5zcAorVGhleSBhcmUgdXNlZCB0byByZWFkIGFuZCBzZXQgdGhlIGtlcm5lbCdzIEhhcmR3YXJlIENsb2NrIGVwb2NoIHZhbHVlLgorRXBvY2ggaXMgdGhlIG51bWJlciBvZiB5ZWFycyBpbnRvIEFEIHRvIHdoaWNoIGEgemVybyB5ZWFyIHZhbHVlIGluIHRoZQorSGFyZHdhcmUgQ2xvY2sgcmVmZXJzLiAgRm9yIGV4YW1wbGUsIGlmIHRoZSBtYWNoaW5lJ3MgQklPUyBzZXRzIHRoZSB5ZWFyCitjb3VudGVyIGluIHRoZSBIYXJkd2FyZSBDbG9jayB0byBjb250YWluIHRoZSBudW1iZXIgb2YgZnVsbCB5ZWFycyBzaW5jZQorMTk1MiwgdGhlbiB0aGUga2VybmVsJ3MgSGFyZHdhcmUgQ2xvY2sgZXBvY2ggdmFsdWUgbXVzdCBiZSAxOTUyLgorLnNwCitUaGUgXGZCXCVcLVwtc2V0ZXBvY2hcZlIgZnVuY3Rpb24gcmVxdWlyZXMgdXNpbmcgdGhlCisuQiBcJVwtXC1lcG9jaAorb3B0aW9uIHRvIHNwZWNpZnkgdGhlIHllYXIuICBGb3IgZXhhbXBsZToKKy5SUworLklQICIiIDQKKy5CIGh3Y2xvY2tcIFwtXC1zZXRlcG9jaFwgXC1cLWVwb2NoPTE5NTIKKy5QUAorVGhlIFJUQyBkcml2ZXIgYXR0ZW1wdHMgdG8gZ3Vlc3MgdGhlIGNvcnJlY3QgZXBvY2ggdmFsdWUsIHNvIHNldHRpbmcgaXQKK21heSBub3QgYmUgcmVxdWlyZWQuCisuUFAKK1RoaXMgZXBvY2ggdmFsdWUgaXMgdXNlZCB3aGVuZXZlcgorLkIgXCVod2Nsb2NrCityZWFkcyBvciBzZXRzIHRoZSBIYXJkd2FyZSBDbG9jayBvbiBhbiBBbHBoYSBtYWNoaW5lLiAgRm9yIElTQSBtYWNoaW5lcwordGhlIGtlcm5lbCB1c2VzIHRoZSBmaXhlZCBIYXJkd2FyZSBDbG9jayBlcG9jaCBvZiAxOTAwLgorLlJFCisuCisuVFAKKy5CIFwtXC1wcmVkaWN0CitQcmVkaWN0IHdoYXQgdGhlIEhhcmR3YXJlIENsb2NrIHdpbGwgcmVhZCBpbiB0aGUgZnV0dXJlIGJhc2VkIHVwb24gdGhlCit0aW1lIGdpdmVuIGJ5IHRoZQorLkIgXC1cLWRhdGUKK29wdGlvbiBhbmQgdGhlIGluZm9ybWF0aW9uIGluCisuSVIgQEFESlRJTUVfUEFUSEAgLgorVGhpcyBpcyB1c2VmdWwsIGZvciBleGFtcGxlLCB0byBhY2NvdW50IGZvciBkcmlmdCB3aGVuIHNldHRpbmcgYQorSGFyZHdhcmUgQ2xvY2sgd2FrZXVwIChha2EgYWxhcm0pLiBTZWUKKy5CUiBcJXJ0Y3dha2UgKDgpLgorLnNwCitEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24gaWYgdGhlIEhhcmR3YXJlIENsb2NrIGlzIGJlaW5nIG1vZGlmaWVkIGJ5Cithbnl0aGluZyBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9wZXJhdGluZyBzeXN0ZW0ncworLkIgXCVod2Nsb2NrCitjb21tYW5kLCBzdWNoIGFzIFwlJzExXCBtaW51dGVcIG1vZGUnIG9yIGZyb20gZHVhbC1ib290aW5nIGFub3RoZXIgT1MuCisuCisuVFAKKy5CUiBcLXIgLCBcIFwtXC1zaG93CisuVFEKKy5CIFwtXC1nZXQKKy5icgorUmVhZCB0aGUgSGFyZHdhcmUgQ2xvY2sgYW5kIHByaW50IGl0cyB0aW1lIHRvIHN0YW5kYXJkIG91dHB1dCBpbiB0aGUKKy5CIElTTyA4NjAxCitmb3JtYXQuCitUaGUgdGltZSBzaG93biBpcyBhbHdheXMgaW4gbG9jYWwgdGltZSwgZXZlbiBpZiB5b3Uga2VlcCB5b3VyIEhhcmR3YXJlIENsb2NrCitpbiBVVEMuICBTZWUgdGhlCisuQiBcJVwtXC1sb2NhbHRpbWUKK29wdGlvbi4KKy5zcAorU2hvd2luZyB0aGUgSGFyZHdhcmUgQ2xvY2sgdGltZSBpcyB0aGUgZGVmYXVsdCB3aGVuIG5vIGZ1bmN0aW9uIGlzIHNwZWNpZmllZC4KKy5zcAorVGhlCisuQiBcLVwtZ2V0CitmdW5jdGlvbiBhbHNvIGFwcGxpZXMgZHJpZnQgY29ycmVjdGlvbiB0byB0aGUgdGltZSByZWFkLCBiYXNlZCB1cG9uIHRoZQoraW5mb3JtYXRpb24gaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCitEbyBub3QgdXNlIHRoaXMgZnVuY3Rpb24gaWYgdGhlIEhhcmR3YXJlIENsb2NrIGlzIGJlaW5nIG1vZGlmaWVkIGJ5Cithbnl0aGluZyBvdGhlciB0aGFuIHRoZSBjdXJyZW50IG9wZXJhdGluZyBzeXN0ZW0ncworLkIgXCVod2Nsb2NrCitjb21tYW5kLCBzdWNoIGFzIFwlJzExXCBtaW51dGVcIG1vZGUnIG9yIGZyb20gZHVhbC1ib290aW5nIGFub3RoZXIgT1MuCisuCisuVFAKKy5CUiBcLXMgLCBcIFwtXC1oY3Rvc3lzCitTZXQgdGhlIFN5c3RlbSBDbG9jayBmcm9tIHRoZSBIYXJkd2FyZSBDbG9jay4gIFRoZSB0aW1lIHJlYWQgZnJvbSB0aGUgSGFyZHdhcmUKK0Nsb2NrIGlzIGNvbXBlbnNhdGVkIHRvIGFjY291bnQgZm9yIHN5c3RlbWF0aWMgZHJpZnQgYmVmb3JlIHVzaW5nIGl0IHRvIHNldCB0aGUKK1N5c3RlbSBDbG9jay4gIFNlZSB0aGUgZGlzY3Vzc2lvbiBiZWxvdywgdW5kZXIKKy5CUiAiVGhlIEFkanVzdCBGdW5jdGlvbiIgLgorLnNwCitUaGUgU3lzdGVtIENsb2NrIG11c3QgYmUga2VwdCBpbiB0aGUgVVRDIHRpbWVzY2FsZSBmb3IgZGF0ZS10aW1lCithcHBsaWNhdGlvbnMgdG8gd29yayBjb3JyZWN0bHkgaW4gY29uanVuY3Rpb24gd2l0aCB0aGUgdGltZXpvbmUgY29uZmlndXJlZAorZm9yIHRoZSBzeXN0ZW0uICBJZiB0aGUgSGFyZHdhcmUgQ2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lIHRoZW4gdGhlIHRpbWUgcmVhZAorZnJvbSBpdCBtdXN0IGJlIHNoaWZ0ZWQgdG8gdGhlIFVUQyB0aW1lc2NhbGUgYmVmb3JlIHVzaW5nIGl0IHRvIHNldCB0aGUgU3lzdGVtCitDbG9jay4gIFRoZQorLkIgXCVcLVwtaGN0b3N5cworZnVuY3Rpb24gZG9lcyB0aGlzIGJhc2VkIHVwb24gdGhlIGluZm9ybWF0aW9uIGluIHRoZQorLkkgQEFESlRJTUVfUEFUSEAKK2ZpbGUgb3IgdGhlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMKKy5CUiBcJVwtXC1sb2NhbHRpbWUgIiBhbmQgIiBcLVwtdXRjIC4KK05vdGU6IG5vIGRheWxpZ2h0IHNhdmluZyBhZGp1c3RtZW50IGlzIG1hZGUuICBTZWUgdGhlIGRpc2N1c3Npb24gYmVsb3csIHVuZGVyCisuQlIgIkxPQ0FMIHZzIFVUQyIgLgorLnNwCitUaGUga2VybmVsIGFsc28ga2VlcHMgYSB0aW1lem9uZSB2YWx1ZSwgdGhlCisuQiBcJVwtXC1oY3Rvc3lzCitmdW5jdGlvbiBzZXRzIGl0IHRvIHRoZSB0aW1lem9uZSBjb25maWd1cmVkIGZvciB0aGUgc3lzdGVtLiAgVGhlIHN5c3RlbQordGltZXpvbmUgaXMgY29uZmlndXJlZCBieSB0aGUgVFogZW52aXJvbm1lbnQgdmFyaWFibGUgb3IgdGhlCisuSSBcJS9ldGMvbG9jYWx0aW1lCitmaWxlLCBhcworLkJSIFwldHpzZXQgKDMpCit3b3VsZCBpbnRlcnByZXQgdGhlbS4KK1RoZSBvYnNvbGV0ZSB0el9kc3R0aW1lIGZpZWxkIG9mIHRoZSBrZXJuZWwncyB0aW1lem9uZSB2YWx1ZSBpcyBzZXQKK3RvIHplcm8uICAoRm9yIGRldGFpbHMgb24gd2hhdCB0aGlzIGZpZWxkIHVzZWQgdG8gbWVhbiwgc2VlCisuQlIgXCVzZXR0aW1lb2ZkYXkgKDIpLikKKy5zcAorV2hlbiB1c2VkIGluIGEgc3RhcnR1cCBzY3JpcHQsIG1ha2luZyB0aGUKKy5CIFwlXC1cLWhjdG9zeXMKK2Z1bmN0aW9uIHRoZSBmaXJzdCBjYWxsZXIgb2YKKy5CUiBcJXNldHRpbWVvZmRheSAoMikKK2Zyb20gYm9vdCwgaXQgd2lsbCBzZXQgdGhlIE5UUCBcJScxMVwgbWludXRlXCBtb2RlJyB0aW1lc2NhbGUgdmlhIHRoZQorLkkgXCVwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsCitrZXJuZWwgdmFyaWFibGUuICBJZiB0aGUgSGFyZHdhcmUgQ2xvY2sncyB0aW1lc2NhbGUgY29uZmlndXJhdGlvbiBpcworY2hhbmdlZCB0aGVuIGEgcmVib290IGlzIHJlcXVpcmVkIHRvIGluZm9ybSB0aGUga2VybmVsLiAgU2VlIHRoZQorZGlzY3Vzc2lvbiBiZWxvdywgdW5kZXIKKy5CUiAiQXV0b21hdGljIEhhcmR3YXJlIENsb2NrIFN5bmNocm9uaXphdGlvbiBieSB0aGUgS2VybmVsIiAuCisuc3AKK1RoaXMgaXMgYSBnb29kIGZ1bmN0aW9uIHRvIHVzZSBpbiBvbmUgb2YgdGhlIHN5c3RlbSBzdGFydHVwIHNjcmlwdHMgYmVmb3JlIHRoZQorZmlsZSBzeXN0ZW1zIGFyZSBtb3VudGVkIHJlYWQvd3JpdGUuCisuc3AKK1RoaXMgZnVuY3Rpb24gc2hvdWxkIG5ldmVyIGJlIHVzZWQgb24gYSBydW5uaW5nIHN5c3RlbS4gSnVtcGluZyBzeXN0ZW0gdGltZQord2lsbCBjYXVzZSBwcm9ibGVtcywgc3VjaCBhcyBjb3JydXB0ZWQgZmlsZXN5c3RlbSB0aW1lc3RhbXBzLiAgQWxzbywgaWYKK3NvbWV0aGluZyBoYXMgY2hhbmdlZCB0aGUgSGFyZHdhcmUgQ2xvY2ssIGxpa2UgTlRQJ3MgXCUnMTFcIG1pbnV0ZVwgbW9kZScsIHRoZW4KKy5CIFwlXC1cLWhjdG9zeXMKK3dpbGwgc2V0IHRoZSB0aW1lIGluY29ycmVjdGx5IGJ5IGluY2x1ZGluZyBkcmlmdCBjb21wZW5zYXRpb24uCisuc3AKK0RyaWZ0IGNvbXBlbnNhdGlvbiBjYW4gYmUgaW5oaWJpdGVkIGJ5IHNldHRpbmcgdGhlIGRyaWZ0IGZhY3RvciBpbgorLkkgQEFESlRJTUVfUEFUSEAKK3RvIHplcm8uICBUaGlzIHNldHRpbmcgd2lsbCBiZSBwZXJzaXN0ZW50IGFzIGxvbmcgYXMgdGhlCisuQlIgXCVcLVwtdXBkYXRlXC1kcmlmdCAiIG9wdGlvbiBpcyBub3QgdXNlZCB3aXRoICIgXCVcLVwtc3lzdG9oYworYXQgc2h1dGRvd24gKG9yIGFueXdoZXJlIGVsc2UpLiAgQW5vdGhlciB3YXkgdG8gaW5oaWJpdCB0aGlzIGlzIGJ5IHVzaW5nIHRoZQorLkJSIFwlXC1cLW5vYWRqZmlsZSAiIG9wdGlvbiB3aGVuIGNhbGxpbmcgdGhlICIgXCVcLVwtaGN0b3N5cworZnVuY3Rpb24uICBBIHRoaXJkIG1ldGhvZCBpcyB0byBkZWxldGUgdGhlCisuSVIgQEFESlRJTUVfUEFUSEAgIiBmaWxlLiIKKy5CIEh3Y2xvY2sKK3dpbGwgdGhlbiBkZWZhdWx0IHRvIHVzaW5nIHRoZSBVVEMgdGltZXNjYWxlIGZvciB0aGUgSGFyZHdhcmUgQ2xvY2suICBJZgordGhlIEhhcmR3YXJlIENsb2NrIGlzIHRpY2tpbmcgbG9jYWwgdGltZSBpdCB3aWxsIG5lZWQgdG8gYmUgZGVmaW5lZCBpbgordGhlIGZpbGUuICBUaGlzIGNhbiBiZSBkb25lIGJ5IGNhbGxpbmcKKy5CUiBod2Nsb2NrXCBcLVwtbG9jYWx0aW1lXCBcLVwtYWRqdXN0IDsKK3doZW4gdGhlIGZpbGUgaXMgbm90IHByZXNlbnQgdGhpcyBjb21tYW5kIHdpbGwgbm90IGFjdHVhbGx5CithZGp1c3QgdGhlIENsb2NrLCBidXQgaXQgd2lsbCBjcmVhdGUgdGhlIGZpbGUgd2l0aCBsb2NhbCB0aW1lCitjb25maWd1cmVkLCBhbmQgYSBkcmlmdCBmYWN0b3Igb2YgemVyby4KKy5zcAorQSBjb25kaXRpb24gdW5kZXIgd2hpY2ggaW5oaWJpdGluZworLkJSIGh3Y2xvY2sgJ3MKK2RyaWZ0IGNvcnJlY3Rpb24gbWF5IGJlIGRlc2lyZWQgaXMgd2hlbiBkdWFsLWJvb3RpbmcgbXVsdGlwbGUgb3BlcmF0aW5nCitzeXN0ZW1zLiAgSWYgd2hpbGUgdGhpcyBpbnN0YW5jZSBvZiBMaW51eCBpcyBzdG9wcGVkLCBhbm90aGVyIE9TIGNoYW5nZXMKK3RoZSBIYXJkd2FyZSBDbG9jaydzIHZhbHVlLCB0aGVuIHdoZW4gdGhpcyBpbnN0YW5jZSBpcyBzdGFydGVkIGFnYWluIHRoZQorZHJpZnQgY29ycmVjdGlvbiBhcHBsaWVkIHdpbGwgYmUgaW5jb3JyZWN0LgorLnNwCisuUkIgIkZvciAiIGh3Y2xvY2sgJ3MKK2RyaWZ0IGNvcnJlY3Rpb24gdG8gd29yayBwcm9wZXJseSBpdCBpcyBpbXBlcmF0aXZlIHRoYXQgbm90aGluZyBjaGFuZ2VzCit0aGUgSGFyZHdhcmUgQ2xvY2sgd2hpbGUgaXRzIExpbnV4IGluc3RhbmNlIGlzIG5vdCBydW5uaW5nLgorLgorLlRQCisuQiBcLVwtc2V0CitTZXQgdGhlIEhhcmR3YXJlIENsb2NrIHRvIHRoZSB0aW1lIGdpdmVuIGJ5IHRoZQorLkJSIFwtXC1kYXRlCitvcHRpb24sIGFuZCB1cGRhdGUgdGhlIHRpbWVzdGFtcHMgaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCitXaXRoIHRoZQorLkIgXCVcLVwtdXBkYXRlLWRyaWZ0CitvcHRpb24gYWxzbyAocmUpY2FsY3VsYXRlIHRoZSBkcmlmdCBmYWN0b3IuICBUcnkgaXQgd2l0aG91dCB0aGUgb3B0aW9uIGlmCisuQlIgXCVcLVwtc2V0ICIgZmFpbHMuICBTZWUgIiBcJVwtXC11cGRhdGUtZHJpZnQgIiBiZWxvdy4iCisuCisuVFAKKy5CIFwtXC1zeXN0egorVGhpcyBpcyBhbiBhbHRlcm5hdGUgdG8gdGhlCisuQiBcJVwtXC1oY3Rvc3lzCitmdW5jdGlvbiB0aGF0IGRvZXMgbm90IHJlYWQgdGhlIEhhcmR3YXJlIENsb2NrIG5vciBzZXQgdGhlIFN5c3RlbSBDbG9jazsKK2NvbnNlcXVlbnRseSB0aGVyZSBpcyBub3QgYW55IGRyaWZ0IGNvcnJlY3Rpb24uICBJdCBpcyBpbnRlbmRlZCB0byBiZQordXNlZCBpbiBhIHN0YXJ0dXAgc2NyaXB0IG9uIHN5c3RlbXMgd2l0aCBrZXJuZWxzIGFib3ZlIHZlcnNpb24gMi42IHdoZXJlCit5b3Uga25vdyB0aGUgU3lzdGVtIENsb2NrIGhhcyBiZWVuIHNldCBmcm9tIHRoZSBIYXJkd2FyZSBDbG9jayBieSB0aGUKK2tlcm5lbCBkdXJpbmcgYm9vdC4KKy5zcAorSXQgZG9lcyB0aGUgZm9sbG93aW5nIHRoaW5ncyB0aGF0IGFyZSBkZXRhaWxlZCBhYm92ZSBpbiB0aGUKKy5CUiBcJVwtXC1oY3Rvc3lzICIgZnVuY3Rpb246IgorLlJTCisuSVAgXChidSAyCitDb3JyZWN0cyB0aGUgU3lzdGVtIENsb2NrIHRpbWVzY2FsZSB0byBVVEMgYXMgbmVlZGVkLiAgT25seSBpbnN0ZWFkIG9mCithY2NvbXBsaXNoaW5nIHRoaXMgYnkgc2V0dGluZyB0aGUgU3lzdGVtIENsb2NrLAorLkIgaHdjbG9jaworc2ltcGx5IGluZm9ybXMgdGhlIGtlcm5lbCBhbmQgaXQgaGFuZGxlcyB0aGUgY2hhbmdlLgorLklQIFwoYnUgMgorU2V0cyB0aGUga2VybmVsJ3MgTlRQIFwlJzExXCBtaW51dGVcIG1vZGUnIHRpbWVzY2FsZS4KKy5JUCBcKGJ1IDIKK1NldHMgdGhlIGtlcm5lbCdzIHRpbWV6b25lLgorLlBQCitUaGUgZmlyc3QgdHdvIGFyZSBvbmx5IGF2YWlsYWJsZSBvbiB0aGUgZmlyc3QgY2FsbCBvZgorLkJSIFwlc2V0dGltZW9mZGF5ICgyKQorYWZ0ZXIgYm9vdC4gIENvbnNlcXVlbnRseSB0aGlzIG9wdGlvbiBvbmx5IG1ha2VzIHNlbnNlIHdoZW4gdXNlZCBpbiBhCitzdGFydHVwIHNjcmlwdC4gIElmIHRoZSBIYXJkd2FyZSBDbG9ja3MgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb24gaXMKK2NoYW5nZWQgdGhlbiBhIHJlYm9vdCB3b3VsZCBiZSByZXF1aXJlZCB0byBpbmZvcm0gdGhlIGtlcm5lbC4KKy5SRQorLgorLlRQCisuQlIgXC13ICwgXCBcLVwtc3lzdG9oYworU2V0IHRoZSBIYXJkd2FyZSBDbG9jayBmcm9tIHRoZSBTeXN0ZW0gQ2xvY2ssIGFuZCB1cGRhdGUgdGhlIHRpbWVzdGFtcHMgaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCitXaXRoIHRoZQorLkIgXCVcLVwtdXBkYXRlLWRyaWZ0CitvcHRpb24gYWxzbyAocmUpY2FsY3VsYXRlIHRoZSBkcmlmdCBmYWN0b3IuICBUcnkgaXQgd2l0aG91dCB0aGUgb3B0aW9uIGlmCisuQlIgXCVcLVwtc3lzdG9oYyAiIGZhaWxzLiAgU2VlICIgXCVcLVwtdXBkYXRlLWRyaWZ0ICIgYmVsb3cuIgorLgorLlRQCisuQlIgXC1WICwgXCBcLVwtdmVyc2lvbgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLgorLlRQCisuQlIgXC1oICwgXCBcLVwtaGVscAorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuCisuU0ggT1BUSU9OUworLgorLlRQCisuQkkgXC1cLWFkamZpbGU9IGZpbGVuYW1lCisuUkkgIk92ZXJyaWRlIHRoZSBkZWZhdWx0ICIgQEFESlRJTUVfUEFUSEAgIiBmaWxlIHBhdGguIgorLgorLlRQCisuQkkgXCVcLVwtZGF0ZT0gZGF0ZV9zdHJpbmcKK1RoaXMgb3B0aW9uIG11c3QgYmUgdXNlZCB3aXRoIHRoZQorLkIgXC1cLXNldAorb3IKKy5CIFwlXC1cLXByZWRpY3QKK2Z1bmN0aW9ucywgb3RoZXJ3aXNlIGl0IGlzIGlnbm9yZWQuCisuUlMKKy5JUCAiIiA0CisuQiAiaHdjbG9ja1wgXC1cLXNldFwgXC1cLWRhdGU9JzE2OjQ1JyIKKy5JUCAiIiA0CisuQiAiaHdjbG9ja1wgXC1cLXByZWRpY3RcIFwtXC1kYXRlPScyNTI1LTA4LTE0XCAwNzoxMTowNSciCisuUFAKK1RoZSBhcmd1bWVudCBtdXN0IGJlIGluIGxvY2FsIHRpbWUsIGV2ZW4gaWYgeW91IGtlZXAgeW91ciBIYXJkd2FyZSBDbG9jayBpbgorVVRDLiAgU2VlIHRoZQorLkIgXCVcLVwtbG9jYWx0aW1lCitvcHRpb24uICBUaGVyZWZvcmUsIHRoZSBhcmd1bWVudCBzaG91bGQgbm90IGluY2x1ZGUgYW55IHRpbWV6b25lIGluZm9ybWF0aW9uLgorSXQgYWxzbyBzaG91bGQgbm90IGJlIGEgcmVsYXRpdmUgdGltZSBsaWtlICIrNSBtaW51dGVzIiwgYmVjYXVzZQorLkJSIFwlaHdjbG9jayAncworcHJlY2lzaW9uIGRlcGVuZHMgdXBvbiBjb3JyZWxhdGlvbiBiZXR3ZWVuIHRoZSBhcmd1bWVudCdzIHZhbHVlIGFuZCB3aGVuIHRoZQorZW50ZXIga2V5IGlzIHByZXNzZWQuICBGcmFjdGlvbmFsIHNlY29uZHMgYXJlIHNpbGVudGx5IGRyb3BwZWQuICBUaGlzIG9wdGlvbiBpcworY2FwYWJsZSBvZiB1bmRlcnN0YW5kaW5nIG1hbnkgdGltZSBhbmQgZGF0ZSBmb3JtYXRzLCBidXQgdGhlIHByZXZpb3VzCitwYXJhbWV0ZXJzIHNob3VsZCBiZSBvYnNlcnZlZC4KKy5SRQorLgorLlRQCisuQkkgXCVcLVwtZGVsYXk9IHNlY29uZHMKK1RoaXMgb3B0aW9uIGFsbG93cyB0byBvdmVyd3JpdGUgaW50ZXJuYWxseSB1c2VkIGRlbGF5IHdoZW4gc2V0IGNsb2NrIHRpbWUuIFRoZQorZGVmYXVsdCBpcyAwLjUgKDUwMG1zKSBmb3IgcnRjX2Ntb3MsIGZvciBhbm90aGVyIFJUQyB0eXBlcyB0aGUgZGVsYXkgaXMgMC4gSWYKK1JUQyB0eXBlIGlzIGltcG9zc2libGUgdG8gZGV0ZXJtaW5lIChmcm9tIHN5c2ZzKSB0aGVuIGl0IGRlZmF1bHRzIGFsc28gdG8gMC41Cit0byBiZSBiYWNrd2FyZGx5IGNvbXBhdGlibGUuCisuUlMKKy5QUAorVGhlIDUwMG1zIGRlZmF1bHQgaXMgYmFzZWQgb24gY29tbW9ubHkgdXNlZCBNQzE0NjgxOEEtY29tcGF0aWJsZSAoeDg2KSBoYXJkd2FyZSBjbG9jay4gVGhpcworSGFyZHdhcmUgQ2xvY2sgY2FuIG9ubHkgYmUgc2V0IHRvIGFueSBpbnRlZ2VyIHRpbWUgcGx1cyBvbmUgaGFsZiBzZWNvbmQuICBUaGUKK2ludGVnZXIgdGltZSBpcyByZXF1aXJlZCBiZWNhdXNlIHRoZXJlIGlzIG5vIGludGVyZmFjZSB0byBzZXQgb3IgZ2V0IGEKK2ZyYWN0aW9uYWwgc2Vjb25kLiAgVGhlIGFkZGl0aW9uYWwgaGFsZiBzZWNvbmQgZGVsYXkgaXMgYmVjYXVzZSB0aGUgSGFyZHdhcmUKK0Nsb2NrIHVwZGF0ZXMgdG8gdGhlIGZvbGxvd2luZyBzZWNvbmQgcHJlY2lzZWx5IDUwMCBtcyBhZnRlciBzZXR0aW5nIHRoZSBuZXcKK3RpbWUuIFVuZm9ydHVuYXRlbHksIHRoaXMgYmVoYXZpb3IgaXMgaGFyZHdhcmUgc3BlY2lmaWMgYW5kIGluIHNhbWUgY2FzZXMKK2Fub3RoZXIgZGVsYXkgaXMgcmVxdWlyZWQuCisuUkUKKy4KKy5UUAorLlRQCisuQlIgXC1EICIsICIgXC1cLWRlYnVnCisuUkIgVXNlXCAgXC1cLXZlcmJvc2UgLgorLlJCIFRoZVwgIFwlXC1cLWRlYnVnXCAgb3B0aW9uCitoYXMgYmVlbiBkZXByZWNhdGVkIGFuZCBtYXkgYmUgcmVwdXJwb3NlZCBvciByZW1vdmVkIGluIGEgZnV0dXJlIHJlbGVhc2UuCisuCisuVFAKKy5CIFwtXC1kaXJlY3Rpc2EKK1RoaXMgb3B0aW9uIGlzIG1lYW5pbmdmdWwgZm9yIElTQSBjb21wYXRpYmxlIG1hY2hpbmVzIGluIHRoZSB4ODYgYW5kCit4ODZfNjQgZmFtaWx5LiAgRm9yIG90aGVyIG1hY2hpbmVzLCBpdCBoYXMgbm8gZWZmZWN0LiAgVGhpcyBvcHRpb24gdGVsbHMKKy5CIFwlaHdjbG9jawordG8gdXNlIGV4cGxpY2l0IEkvTyBpbnN0cnVjdGlvbnMgdG8gYWNjZXNzIHRoZSBIYXJkd2FyZSBDbG9jay4KK1dpdGhvdXQgdGhpcyBvcHRpb24sCisuQiBcJWh3Y2xvY2sKK3dpbGwgdXNlIHRoZSBydGMgZGV2aWNlIGZpbGUsIHdoaWNoIGl0IGFzc3VtZXMgdG8gYmUgZHJpdmVuIGJ5IHRoZSBMaW51eAorUlRDIGRldmljZSBkcml2ZXIuICBBcyBvZiB2Mi4yNiBpdCB3aWxsIG5vIGxvbmdlciBhdXRvbWF0aWNhbGx5IHVzZQorZGlyZWN0aXNhIHdoZW4gdGhlIHJ0YyBkcml2ZXIgaXMgdW5hdmFpbGFibGU7IHRoaXMgd2FzIGNhdXNpbmcgYW4gdW5zYWZlCitjb25kaXRpb24gdGhhdCBjb3VsZCBhbGxvdyB0d28gcHJvY2Vzc2VzIHRvIGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgYXQKK3RoZSBzYW1lIHRpbWUuICBEaXJlY3QgaGFyZHdhcmUgYWNjZXNzIGZyb20gdXNlcnNwYWNlIHNob3VsZCBvbmx5IGJlCit1c2VkIGZvciB0ZXN0aW5nLCB0cm91Ymxlc2hvb3RpbmcsIGFuZCBhcyBhIGxhc3QgcmVzb3J0IHdoZW4gYWxsIG90aGVyCittZXRob2RzIGZhaWwuICBTZWUgdGhlCisuQlIgXC1cLXJ0YyAiIG9wdGlvbi4iCisuCisuVFAKKy5CSSBcLVwtZXBvY2g9IHllYXIKK1RoaXMgb3B0aW9uIGlzIHJlcXVpcmVkIHdoZW4gdXNpbmcgdGhlCisuQlIgXCVcLVwtc2V0ZXBvY2ggXCBmdW5jdGlvbi4KKy5SSSAiVGhlIG1pbmltdW0gIiB5ZWFyCit2YWx1ZSBpcyAxOTAwLiBUaGUgbWF4aW11bSBpcyBzeXN0ZW0gZGVwZW5kZW50CisuUkIgKCBVTE9OR19NQVhcIC1cIDEgKS4KKy4KKy5UUAorLkJSIFwtZiAsIFwgXC1cLXJ0Yz1cZklmaWxlbmFtZVxmUgorLlJCICJPdmVycmlkZSAiIFwlaHdjbG9jayAncworZGVmYXVsdCBydGMgZGV2aWNlIGZpbGUgbmFtZS4gIE90aGVyd2lzZSBpdCB3aWxsCit1c2UgdGhlIGZpcnN0IG9uZSBmb3VuZCBpbiB0aGlzIG9yZGVyOgorLmluICs0CisuYnIKKy5JIC9kZXYvcnRjMAorLmJyCisuSSAvZGV2L3J0YworLmJyCisuSSAvZGV2L21pc2MvcnRjCisuYnIKKy5pbgorLlJCICJGb3IgIiBJQS02NDoKKy5pbiArNAorLmJyCisuSSAvZGV2L2VmaXJ0YworLmJyCisuSSAvZGV2L21pc2MvZWZpcnRjCisuaW4KKy4KKy5UUAorLkJSIFwtbCAsIFwgXC1cLWxvY2FsdGltZQorLlRRCisuQlIgXC11ICIsICIgXC1cLXV0YworSW5kaWNhdGUgd2hpY2ggdGltZXNjYWxlIHRoZSBIYXJkd2FyZSBDbG9jayBpcyBzZXQgdG8uCisuc3AKK1RoZSBIYXJkd2FyZSBDbG9jayBtYXkgYmUgY29uZmlndXJlZCB0byB1c2UgZWl0aGVyIHRoZSBVVEMgb3IgdGhlIGxvY2FsCit0aW1lc2NhbGUsIGJ1dCBub3RoaW5nIGluIHRoZSBjbG9jayBpdHNlbGYgc2F5cyB3aGljaCBhbHRlcm5hdGl2ZSBpcworYmVpbmcgdXNlZC4gIFRoZQorLkJSIFwlXC1cLWxvY2FsdGltZSAiIG9yICIgXC1cLXV0Yworb3B0aW9ucyBnaXZlIHRoaXMgaW5mb3JtYXRpb24gdG8gdGhlCisuQiBcJWh3Y2xvY2sKK2NvbW1hbmQuICBJZiB5b3Ugc3BlY2lmeSB0aGUgd3Jvbmcgb25lIChvciBzcGVjaWZ5IG5laXRoZXIgYW5kIHRha2UgYQord3JvbmcgZGVmYXVsdCksIGJvdGggc2V0dGluZyBhbmQgcmVhZGluZyB0aGUgSGFyZHdhcmUgQ2xvY2sgd2lsbCBiZQoraW5jb3JyZWN0LgorLnNwCitJZiB5b3Ugc3BlY2lmeSBuZWl0aGVyCisuQlIgXC1cLXV0YyAiIG5vciAiIFwlXC1cLWxvY2FsdGltZQordGhlbiB0aGUgb25lIGxhc3QgZ2l2ZW4gd2l0aCBhIHNldCBmdW5jdGlvbgorLlJCICggXC1cLXNldCAiLCAiIFwlXC1cLXN5c3RvaGMgIiwgb3IgIiBcJVwtXC1hZGp1c3QgKSwKK2FzIHJlY29yZGVkIGluCisuSVIgQEFESlRJTUVfUEFUSEAgLAord2lsbCBiZSB1c2VkLiAgSWYgdGhlIGFkanRpbWUgZmlsZSBkb2Vzbid0IGV4aXN0LCB0aGUgZGVmYXVsdCBpcyBVVEMuCisuc3AKK05vdGU6IGRheWxpZ2h0IHNhdmluZyB0aW1lIGNoYW5nZXMgbWF5IGJlIGluY29uc2lzdGVudCB3aGVuIHRoZQorSGFyZHdhcmUgQ2xvY2sgaXMga2VwdCBpbiBsb2NhbCB0aW1lLiAgU2VlIHRoZSBkaXNjdXNzaW9uIGJlbG93LCB1bmRlcgorLkJSICJMT0NBTCB2cyBVVEMiIC4KKy4KKy5UUAorLkIgXC1cLW5vYWRqZmlsZQorRGlzYWJsZSB0aGUgZmFjaWxpdGllcyBwcm92aWRlZCBieQorLklSIEBBREpUSU1FX1BBVEhAIC4KKy5CIFwlaHdjbG9jaword2lsbCBub3QgcmVhZCBub3Igd3JpdGUgdG8gdGhhdCBmaWxlIHdpdGggdGhpcyBvcHRpb24uICBFaXRoZXIKKy5CUiBcLVwtdXRjICIgb3IgIiBcJVwtXC1sb2NhbHRpbWUKK211c3QgYmUgc3BlY2lmaWVkIHdoZW4gdXNpbmcgdGhpcyBvcHRpb24uCisuCisuVFAKKy5CIFwtXC10ZXN0CitEbyBub3QgYWN0dWFsbHkgY2hhbmdlIGFueXRoaW5nIG9uIHRoZSBzeXN0ZW0sIHRoYXQgaXMsIHRoZSBDbG9ja3Mgb3IKKy5JIEBBREpUSU1FX1BBVEhACisuUkIgKCBcJVwtXC12ZXJib3NlCitpcyBpbXBsaWNpdCB3aXRoIHRoaXMgb3B0aW9uKS4KKy4KKy5UUAorLkIgXC1cLXVwZGF0ZVwtZHJpZnQKK1VwZGF0ZSB0aGUgSGFyZHdhcmUgQ2xvY2sncyBkcmlmdCBmYWN0b3IgaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCitJdCBjYW4gb25seSBiZSB1c2VkIHdpdGgKKy5CUiBcLVwtc2V0ICIgb3IgIiBcJVwtXC1zeXN0b2hjICwKKy5zcAorQSBtaW5pbXVtIGZvdXIgaG91ciBwZXJpb2QgYmV0d2VlbiBzZXR0aW5ncyBpcyByZXF1aXJlZC4gIFRoaXMgaXMgdG8KK2F2b2lkIGludmFsaWQgY2FsY3VsYXRpb25zLiAgVGhlIGxvbmdlciB0aGUgcGVyaW9kLCB0aGUgbW9yZSBwcmVjaXNlIHRoZQorcmVzdWx0aW5nIGRyaWZ0IGZhY3RvciB3aWxsIGJlLgorLnNwCitUaGlzIG9wdGlvbiB3YXMgYWRkZWQgaW4gdjIuMjYsIGJlY2F1c2UKK2l0IGlzIHR5cGljYWwgZm9yIHN5c3RlbXMgdG8gY2FsbAorLkIgXCVod2Nsb2NrXCBcLVwtc3lzdG9oYworYXQgc2h1dGRvd247IHdpdGggdGhlIG9sZCBiZWhhdmlvdXIgdGhpcyB3b3VsZCBhdXRvbWF0aWNhbGx5CisocmUpY2FsY3VsYXRlIHRoZSBkcmlmdCBmYWN0b3Igd2hpY2ggY2F1c2VkIHNldmVyYWwgcHJvYmxlbXM6CisuUlMKKy5JUCBcKGJ1IDIKK1doZW4gdXNpbmcgbnRwZCB3aXRoIGFuIFwlJzExXCBtaW51dGVcIG1vZGUnIGtlcm5lbCB0aGUgZHJpZnQgZmFjdG9yCit3b3VsZCBiZSBjbG9iYmVyZWQgdG8gbmVhciB6ZXJvLgorLklQIFwoYnUgMgorSXQgd291bGQgbm90IGFsbG93IHRoZSB1c2Ugb2YgJ2NvbGQnIGRyaWZ0IGNvcnJlY3Rpb24uICBXaXRoIG1vc3QKK2NvbmZpZ3VyYXRpb25zIHVzaW5nICdjb2xkJyBkcmlmdCB3aWxsIHlpZWxkIGZhdm9yYWJsZSByZXN1bHRzLiAgQ29sZCwKK21lYW5zIHdoZW4gdGhlIG1hY2hpbmUgaXMgdHVybmVkIG9mZiB3aGljaCBjYW4gaGF2ZSBhIHNpZ25pZmljYW50IGltcGFjdAorb24gdGhlIGRyaWZ0IGZhY3Rvci4KKy5JUCBcKGJ1IDIKKyhSZSljYWxjdWxhdGluZyBkcmlmdCBmYWN0b3Igb24gZXZlcnkgc2h1dGRvd24gZGVsaXZlcnMgc3Vib3B0aW1hbAorcmVzdWx0cy4gIEZvciBleGFtcGxlLCBpZiBlcGhlbWVyYWwgY29uZGl0aW9ucyBjYXVzZSB0aGUgbWFjaGluZSB0byBiZQorYWJub3JtYWxseSBob3QgdGhlIGRyaWZ0IGZhY3RvciBjYWxjdWxhdGlvbiB3b3VsZCBiZSBvdXQgb2YgcmFuZ2UuCisuSVAgXChidSAyCitTaWduaWZpY2FudGx5IGluY3JlYXNlZCBzeXN0ZW0gc2h1dGRvd24gdGltZXMgKGFzIG9mIHYyLjMxIHdoZW4gbm90Cit1c2luZworLkIgXCVcLVwtdXBkYXRlXC1kcmlmdAordGhlIFJUQyBpcyBub3QgcmVhZCkuCisuUFAKKy5SQiAiSGF2aW5nICIgXCVod2Nsb2NrCitjYWxjdWxhdGUgdGhlIGRyaWZ0IGZhY3RvciBpcyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQsIGJ1dCBmb3Igb3B0aW1hbAorcmVzdWx0cyBpdCB3aWxsIGxpa2VseSBuZWVkIHRvIGJlIGFkanVzdGVkIGJ5IGRpcmVjdGx5IGVkaXRpbmcgdGhlCisuSSBAQURKVElNRV9QQVRIQAorZmlsZS4gIEZvciBtb3N0IGNvbmZpZ3VyYXRpb25zIG9uY2UgYSBtYWNoaW5lJ3Mgb3B0aW1hbCBkcmlmdCBmYWN0b3IgaXMKK2NyYWZ0ZWQgaXQgc2hvdWxkIG5vdCBuZWVkIHRvIGJlIGNoYW5nZWQuICBUaGVyZWZvcmUsIHRoZSBvbGQgYmVoYXZpb3IgdG8KK2F1dG9tYXRpY2FsbHkgKHJlKWNhbGN1bGF0ZSBkcmlmdCB3YXMgY2hhbmdlZCBhbmQgbm93IHJlcXVpcmVzIHRoaXMKK29wdGlvbiB0byBiZSB1c2VkLiAgU2VlIHRoZSBkaXNjdXNzaW9uIGJlbG93LCB1bmRlcgorLkJSICJUaGUgQWRqdXN0IEZ1bmN0aW9uIiAuCisuUFAKK1RoaXMgb3B0aW9uIHJlcXVpcmVzIHJlYWRpbmcgdGhlIEhhcmR3YXJlIENsb2NrIGJlZm9yZSBzZXR0aW5nIGl0LiAgSWYKK2l0IGNhbm5vdCBiZSByZWFkLCB0aGVuIHRoaXMgb3B0aW9uIHdpbGwgY2F1c2UgdGhlIHNldCBmdW5jdGlvbnMgdG8gZmFpbC4KK1RoaXMgY2FuIGhhcHBlbiwgZm9yIGV4YW1wbGUsIGlmIHRoZSBIYXJkd2FyZSBDbG9jayBpcyBjb3JydXB0ZWQgYnkgYQorcG93ZXIgZmFpbHVyZS4gIEluIHRoYXQgY2FzZSwgdGhlIGNsb2NrIG11c3QgZmlyc3QgYmUgc2V0IHdpdGhvdXQgdGhpcworb3B0aW9uLiAgRGVzcGl0ZSBpdCBub3Qgd29ya2luZywgdGhlIHJlc3VsdGluZyBkcmlmdCBjb3JyZWN0aW9uIGZhY3Rvcgord291bGQgYmUgaW52YWxpZCBhbnl3YXkuCisuUkUKKy4KKy5UUAorLkJSIFwtdiAiLCAiIFwtXC12ZXJib3NlCitEaXNwbGF5IG1vcmUgZGV0YWlscyBhYm91dCB3aGF0CisuQiBcJWh3Y2xvY2sKK2lzIGRvaW5nIGludGVybmFsbHkuCisuCisuU0ggTk9URVMKKy4KKy5TUyBDbG9ja3MgaW4gYSBMaW51eCBTeXN0ZW0KKy5QUAorVGhlcmUgYXJlIHR3byB0eXBlcyBvZiBkYXRlLXRpbWUgY2xvY2tzOgorLlBQCisuQiBUaGUgSGFyZHdhcmUgQ2xvY2s6CitUaGlzIGNsb2NrIGlzIGFuIGluZGVwZW5kZW50IGhhcmR3YXJlIGRldmljZSwgd2l0aCBpdHMgb3duIHBvd2VyIGRvbWFpbgorKGJhdHRlcnksIGNhcGFjaXRvciwgZXRjKSwgdGhhdCBvcGVyYXRlcyB3aGVuIHRoZSBtYWNoaW5lIGlzIHBvd2VyZWQgb2ZmLAorb3IgZXZlbiB1bnBsdWdnZWQuCisuUFAKK09uIGFuIElTQSBjb21wYXRpYmxlIHN5c3RlbSwgdGhpcyBjbG9jayBpcyBzcGVjaWZpZWQgYXMgcGFydCBvZiB0aGUgSVNBCitzdGFuZGFyZC4gIEEgY29udHJvbCBwcm9ncmFtIGNhbiByZWFkIG9yIHNldCB0aGlzIGNsb2NrIG9ubHkgdG8gYSB3aG9sZQorc2Vjb25kLCBidXQgaXQgY2FuIGFsc28gZGV0ZWN0IHRoZSBlZGdlcyBvZiB0aGUgMSBzZWNvbmQgY2xvY2sgdGlja3MsIHNvCit0aGUgY2xvY2sgYWN0dWFsbHkgaGFzIHZpcnR1YWxseSBpbmZpbml0ZSBwcmVjaXNpb24uCisuUFAKK1RoaXMgY2xvY2sgaXMgY29tbW9ubHkgY2FsbGVkIHRoZSBoYXJkd2FyZSBjbG9jaywgdGhlIHJlYWwgdGltZSBjbG9jaywKK3RoZSBSVEMsIHRoZSBCSU9TIGNsb2NrLCBhbmQgdGhlIENNT1MgY2xvY2suICBIYXJkd2FyZSBDbG9jaywgaW4gaXRzCitjYXBpdGFsaXplZCBmb3JtLCB3YXMgY29pbmVkIGZvciB1c2UgYnkKKy5CUiBcJWh3Y2xvY2sgLgorVGhlIExpbnV4IGtlcm5lbCBhbHNvIHJlZmVycyB0byBpdCBhcyB0aGUgcGVyc2lzdGVudCBjbG9jay4KKy5QUAorU29tZSBub24tSVNBIHN5c3RlbXMgaGF2ZSBhIGZldyByZWFsIHRpbWUgY2xvY2tzIHdpdGgKK29ubHkgb25lIG9mIHRoZW0gaGF2aW5nIGl0cyBvd24gcG93ZXIgZG9tYWluLgorQSB2ZXJ5IGxvdyBwb3dlciBleHRlcm5hbCBJMkMgb3IgU1BJIGNsb2NrIGNoaXAgbWlnaHQgYmUgdXNlZCB3aXRoIGEKK2JhY2t1cCBiYXR0ZXJ5IGFzIHRoZSBoYXJkd2FyZSBjbG9jayB0byBpbml0aWFsaXplIGEgbW9yZSBmdW5jdGlvbmFsCitpbnRlZ3JhdGVkIHJlYWwtdGltZSBjbG9jayB3aGljaCBpcyB1c2VkIGZvciBtb3N0IG90aGVyIHB1cnBvc2VzLgorLlBQCisuQiBUaGUgU3lzdGVtIENsb2NrOgorVGhpcyBjbG9jayBpcyBwYXJ0IG9mIHRoZSBMaW51eCBrZXJuZWwgYW5kIGlzIGRyaXZlbiBieQorYSB0aW1lciBpbnRlcnJ1cHQuICAoT24gYW4gSVNBIG1hY2hpbmUsIHRoZSB0aW1lciBpbnRlcnJ1cHQgaXMgcGFydCBvZgordGhlIElTQSBzdGFuZGFyZC4pICBJdCBoYXMgbWVhbmluZyBvbmx5IHdoaWxlIExpbnV4IGlzIHJ1bm5pbmcgb24gdGhlCittYWNoaW5lLiAgVGhlIFN5c3RlbSBUaW1lIGlzIHRoZSBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSAwMDowMDowMAorSmFudWFyeSAxLCAxOTcwIFVUQyAob3IgbW9yZSBzdWNjaW5jdGx5LCB0aGUgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UKKzE5NjkgVVRDKS4gIFRoZSBTeXN0ZW0gVGltZSBpcyBub3QgYW4gaW50ZWdlciwgdGhvdWdoLiAgSXQgaGFzIHZpcnR1YWxseQoraW5maW5pdGUgcHJlY2lzaW9uLgorLlBQCitUaGUgU3lzdGVtIFRpbWUgaXMgdGhlIHRpbWUgdGhhdCBtYXR0ZXJzLiAgVGhlIEhhcmR3YXJlIENsb2NrJ3MgYmFzaWMKK3B1cnBvc2UgaXMgdG8ga2VlcCB0aW1lIHdoZW4gTGludXggaXMgbm90IHJ1bm5pbmcgc28gdGhhdCB0aGUgU3lzdGVtCitDbG9jayBjYW4gYmUgaW5pdGlhbGl6ZWQgZnJvbSBpdCBhdCBib290LiAgTm90ZSB0aGF0IGluIERPUywgZm9yIHdoaWNoCitJU0Egd2FzIGRlc2lnbmVkLCB0aGUgSGFyZHdhcmUgQ2xvY2sgaXMgdGhlIG9ubHkgcmVhbCB0aW1lIGNsb2NrLgorLlBQCitJdCBpcyBpbXBvcnRhbnQgdGhhdCB0aGUgU3lzdGVtIFRpbWUgbm90IGhhdmUgYW55IGRpc2NvbnRpbnVpdGllcyBzdWNoIGFzCit3b3VsZCBoYXBwZW4gaWYgeW91IHVzZWQgdGhlCisuQlIgXCVkYXRlICgxKQorcHJvZ3JhbSB0byBzZXQgaXQgd2hpbGUgdGhlIHN5c3RlbSBpcyBydW5uaW5nLiAgWW91IGNhbiwgaG93ZXZlciwgZG8gd2hhdGV2ZXIKK3lvdSB3YW50IHRvIHRoZSBIYXJkd2FyZSBDbG9jayB3aGlsZSB0aGUgc3lzdGVtIGlzIHJ1bm5pbmcsIGFuZCB0aGUgbmV4dAordGltZSBMaW51eCBzdGFydHMgdXAsIGl0IHdpbGwgZG8gc28gd2l0aCB0aGUgYWRqdXN0ZWQgdGltZSBmcm9tIHRoZSBIYXJkd2FyZQorQ2xvY2suICBOb3RlOiBjdXJyZW50bHkgdGhpcyBpcyBub3QgcG9zc2libGUgb24gbW9zdCBzeXN0ZW1zIGJlY2F1c2UKKy5CIFwlaHdjbG9ja1wgXC1cLXN5c3RvaGMKK2lzIGNhbGxlZCBhdCBzaHV0ZG93bi4KKy5QUAorVGhlIExpbnV4IGtlcm5lbCdzIHRpbWV6b25lIGlzIHNldCBieQorLkJSIGh3Y2xvY2sgLgorQnV0IGRvbid0IGJlIG1pc2xlZCAtLSBhbG1vc3Qgbm9ib2R5IGNhcmVzIHdoYXQgdGltZXpvbmUgdGhlIGtlcm5lbAordGhpbmtzIGl0IGlzIGluLiAgSW5zdGVhZCwgcHJvZ3JhbXMgdGhhdCBjYXJlIGFib3V0IHRoZSB0aW1lem9uZQorKHBlcmhhcHMgYmVjYXVzZSB0aGV5IHdhbnQgdG8gZGlzcGxheSBhIGxvY2FsIHRpbWUgZm9yIHlvdSkgYWxtb3N0CithbHdheXMgdXNlIGEgbW9yZSB0cmFkaXRpb25hbCBtZXRob2Qgb2YgZGV0ZXJtaW5pbmcgdGhlIHRpbWV6b25lOiBUaGV5Cit1c2UgdGhlIFRaIGVudmlyb25tZW50IHZhcmlhYmxlIG9yIHRoZQorLkkgXCUvZXRjL2xvY2FsdGltZQorZmlsZSwgYXMgZXhwbGFpbmVkIGluIHRoZSBtYW4gcGFnZSBmb3IKKy5CUiBcJXR6c2V0ICgzKS4KK0hvd2V2ZXIsIHNvbWUgcHJvZ3JhbXMgYW5kIGZyaW5nZSBwYXJ0cyBvZiB0aGUgTGludXgga2VybmVsIHN1Y2ggYXMgZmlsZXN5c3RlbXMKK3VzZSB0aGUga2VybmVsJ3MgdGltZXpvbmUgdmFsdWUuICBBbiBleGFtcGxlIGlzIHRoZSB2ZmF0IGZpbGVzeXN0ZW0uICBJZiB0aGUKK2tlcm5lbCB0aW1lem9uZSB2YWx1ZSBpcyB3cm9uZywgdGhlIHZmYXQgZmlsZXN5c3RlbSB3aWxsIHJlcG9ydCBhbmQgc2V0IHRoZQord3JvbmcgdGltZXN0YW1wcyBvbiBmaWxlcy4gIEFub3RoZXIgZXhhbXBsZSBpcyB0aGUga2VybmVsJ3MgTlRQIFwlJzExXCBtaW51dGVcIG1vZGUnLgorSWYgdGhlIGtlcm5lbCdzIHRpbWV6b25lIHZhbHVlIGFuZC9vciB0aGUKKy5JIFwlcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbAordmFyaWFibGUgYXJlIHdyb25nLCB0aGVuIHRoZSBIYXJkd2FyZSBDbG9jayB3aWxsIGJlIHNldCBpbmNvcnJlY3RseQorYnkgXCUnMTFcIG1pbnV0ZVwgbW9kZScuICBTZWUgdGhlIGRpc2N1c3Npb24gYmVsb3csIHVuZGVyCisuQlIgIkF1dG9tYXRpYyBIYXJkd2FyZSBDbG9jayBTeW5jaHJvbml6YXRpb24gYnkgdGhlIEtlcm5lbCIgLgorLlBQCisuQiBcJWh3Y2xvY2sKK3NldHMgdGhlIGtlcm5lbCdzIHRpbWV6b25lIHRvIHRoZSB2YWx1ZSBpbmRpY2F0ZWQgYnkgVFogb3IKKy5JUiBcJS9ldGMvbG9jYWx0aW1lICIgd2l0aCB0aGUiCisuQlIgXCVcLVwtaGN0b3N5cyAiIG9yICIgXCVcLVwtc3lzdHogIiBmdW5jdGlvbnMuIgorLlBQCitUaGUga2VybmVsJ3MgdGltZXpvbmUgdmFsdWUgYWN0dWFsbHkgY29uc2lzdHMgb2YgdHdvIHBhcnRzOiAxKSBhIGZpZWxkCit0el9taW51dGVzd2VzdCBpbmRpY2F0aW5nIGhvdyBtYW55IG1pbnV0ZXMgbG9jYWwgdGltZSAobm90IGFkanVzdGVkCitmb3IgRFNUKSBsYWdzIGJlaGluZCBVVEMsIGFuZCAyKSBhIGZpZWxkIHR6X2RzdHRpbWUgaW5kaWNhdGluZwordGhlIHR5cGUgb2YgRGF5bGlnaHQgU2F2aW5ncyBUaW1lIChEU1QpIGNvbnZlbnRpb24gdGhhdCBpcyBpbiBlZmZlY3QKK2luIHRoZSBsb2NhbGl0eSBhdCB0aGUgcHJlc2VudCB0aW1lLgorVGhpcyBzZWNvbmQgZmllbGQgaXMgbm90IHVzZWQgdW5kZXIgTGludXggYW5kIGlzIGFsd2F5cyB6ZXJvLgorU2VlIGFsc28KKy5CUiBcJXNldHRpbWVvZmRheSAoMikuCisuCisuU1MgSGFyZHdhcmUgQ2xvY2sgQWNjZXNzIE1ldGhvZHMKKy5QUAorLkIgXCVod2Nsb2NrCit1c2VzIG1hbnkgZGlmZmVyZW50IHdheXMgdG8gZ2V0IGFuZCBzZXQgSGFyZHdhcmUgQ2xvY2sgdmFsdWVzLiAgVGhlIG1vc3QKK25vcm1hbCB3YXkgaXMgdG8gZG8gSS9PIHRvIHRoZSBydGMgZGV2aWNlIHNwZWNpYWwgZmlsZSwgd2hpY2ggaXMKK3ByZXN1bWVkIHRvIGJlIGRyaXZlbiBieSB0aGUgcnRjIGRldmljZSBkcml2ZXIuICBBbHNvLCBMaW51eCBzeXN0ZW1zCit1c2luZyB0aGUgcnRjIGZyYW1ld29yayB3aXRoIHVkZXYsIGFyZSBjYXBhYmxlIG9mIHN1cHBvcnRpbmcgbXVsdGlwbGUKK0hhcmR3YXJlIENsb2Nrcy4gIFRoaXMgbWF5IGJyaW5nIGFib3V0IHRoZSBuZWVkIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0CitydGMgZGV2aWNlIGJ5IHNwZWNpZnlpbmcgb25lIHdpdGggdGhlCisuQlIgXC1cLXJ0YyAiIG9wdGlvbi4iCisuUFAKK0hvd2V2ZXIsIHRoaXMgbWV0aG9kIGlzIG5vdCBhbHdheXMgYXZhaWxhYmxlIGFzIG9sZGVyIHN5c3RlbXMgZG8gbm90CitoYXZlIGFuIHJ0YyBkcml2ZXIuICBPbiB0aGVzZSBzeXN0ZW1zLCB0aGUgbWV0aG9kIG9mIGFjY2Vzc2luZyB0aGUKK0hhcmR3YXJlIENsb2NrIGRlcGVuZHMgb24gdGhlIHN5c3RlbSBoYXJkd2FyZS4KKy5QUAorT24gYW4gSVNBIGNvbXBhdGlibGUgc3lzdGVtLAorLkIgXCVod2Nsb2NrCitjYW4gZGlyZWN0bHkgYWNjZXNzIHRoZSAiQ01PUyBtZW1vcnkiIHJlZ2lzdGVycyB0aGF0Citjb25zdGl0dXRlIHRoZSBjbG9jaywgYnkgZG9pbmcgSS9PIHRvIFBvcnRzIDB4NzAgYW5kIDB4NzEuICBJdCBkb2VzCit0aGlzIHdpdGggYWN0dWFsIEkvTyBpbnN0cnVjdGlvbnMgYW5kIGNvbnNlcXVlbnRseSBjYW4gb25seSBkbyBpdCBpZgorcnVubmluZyB3aXRoIHN1cGVydXNlciBlZmZlY3RpdmUgdXNlcmlkLiAgVGhpcyBtZXRob2QgbWF5IGJlIHVzZWQgYnkKK3NwZWNpZnlpbmcgdGhlCisuQlIgXCVcLVwtZGlyZWN0aXNhICIgb3B0aW9uLiIKKy5QUAorVGhpcyBpcyBhIHJlYWxseSBwb29yIG1ldGhvZCBvZiBhY2Nlc3NpbmcgdGhlIGNsb2NrLCBmb3IgYWxsIHRoZQorcmVhc29ucyB0aGF0IHVzZXJzcGFjZSBwcm9ncmFtcyBhcmUgZ2VuZXJhbGx5IG5vdCBzdXBwb3NlZCB0byBkbworZGlyZWN0IEkvTyBhbmQgZGlzYWJsZSBpbnRlcnJ1cHRzLgorLkIgXCVod2Nsb2NrCitwcm92aWRlcyBpdCBmb3IgdGVzdGluZywgdHJvdWJsZXNob290aW5nLCBhbmQgIGJlY2F1c2UgaXQgbWF5IGJlIHRoZQorb25seSBtZXRob2QgYXZhaWxhYmxlIG9uIElTQSBzeXN0ZW1zIHdoaWNoIGRvIG5vdCBoYXZlIGEgd29ya2luZyBydGMKK2RldmljZSBkcml2ZXIuCisuU1MgVGhlIEFkanVzdCBGdW5jdGlvbgorLlBQCitUaGUgSGFyZHdhcmUgQ2xvY2sgaXMgdXN1YWxseSBub3QgdmVyeSBhY2N1cmF0ZS4gIEhvd2V2ZXIsIG11Y2ggb2YgaXRzCitpbmFjY3VyYWN5IGlzIGNvbXBsZXRlbHkgcHJlZGljdGFibGUgLSBpdCBnYWlucyBvciBsb3NlcyB0aGUgc2FtZSBhbW91bnQKK29mIHRpbWUgZXZlcnkgZGF5LiAgVGhpcyBpcyBjYWxsZWQgc3lzdGVtYXRpYyBkcmlmdC4KKy5CUiBcJWh3Y2xvY2sgIidzICIgXCVcLVwtYWRqdXN0CitmdW5jdGlvbiBsZXRzIHlvdSBhcHBseSBzeXN0ZW1hdGljIGRyaWZ0IGNvcnJlY3Rpb25zIHRvIHRoZQorSGFyZHdhcmUgQ2xvY2suCisuUFAKK0l0IHdvcmtzIGxpa2UgdGhpczoKKy5CUiBcJWh3Y2xvY2sgIiBrZWVwcyBhIGZpbGUsIgorLklSIEBBREpUSU1FX1BBVEhAICwKK3RoYXQga2VlcHMgc29tZSBoaXN0b3JpY2FsIGluZm9ybWF0aW9uLiAgVGhpcyBpcyBjYWxsZWQgdGhlIGFkanRpbWUgZmlsZS4KKy5QUAorU3VwcG9zZSB5b3Ugc3RhcnQgd2l0aCBubyBhZGp0aW1lIGZpbGUuICBZb3UgaXNzdWUgYQorLkIgXCVod2Nsb2NrXCBcLVwtc2V0Citjb21tYW5kIHRvIHNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gdGhlIHRydWUgY3VycmVudCB0aW1lLgorLkIgXCVod2Nsb2NrCitjcmVhdGVzIHRoZSBhZGp0aW1lIGZpbGUgYW5kIHJlY29yZHMgaW4gaXQgdGhlIGN1cnJlbnQgdGltZSBhcyB0aGUKK2xhc3QgdGltZSB0aGUgY2xvY2sgd2FzIGNhbGlicmF0ZWQuCitGaXZlIGRheXMgbGF0ZXIsIHRoZSBjbG9jayBoYXMgZ2FpbmVkIDEwIHNlY29uZHMsIHNvIHlvdSBpc3N1ZSBhCisuQiBcJWh3Y2xvY2tcIFwtXC1zZXRcIFwtXC11cGRhdGVcLWRyaWZ0Citjb21tYW5kIHRvIHNldCBpdCBiYWNrIDEwIHNlY29uZHMuCisuQiBcJWh3Y2xvY2sKK3VwZGF0ZXMgdGhlIGFkanRpbWUgZmlsZSB0byBzaG93IHRoZSBjdXJyZW50IHRpbWUgYXMgdGhlIGxhc3QgdGltZSB0aGUKK2Nsb2NrIHdhcyBjYWxpYnJhdGVkLCBhbmQgcmVjb3JkcyAyIHNlY29uZHMgcGVyIGRheSBhcyB0aGUgc3lzdGVtYXRpYworZHJpZnQgcmF0ZS4gIDI0IGhvdXJzIGdvIGJ5LCBhbmQgdGhlbiB5b3UgaXNzdWUgYQorLkIgXCVod2Nsb2NrXCBcLVwtYWRqdXN0Citjb21tYW5kLgorLkIgXCVod2Nsb2NrCitjb25zdWx0cyB0aGUgYWRqdGltZSBmaWxlIGFuZCBzZWVzIHRoYXQgdGhlIGNsb2NrIGdhaW5zIDIgc2Vjb25kcyBwZXIKK2RheSB3aGVuIGxlZnQgYWxvbmUgYW5kIHRoYXQgaXQgaGFzIGJlZW4gbGVmdCBhbG9uZSBmb3IgZXhhY3RseSBvbmUKK2RheS4gIFNvIGl0IHN1YnRyYWN0cyAyIHNlY29uZHMgZnJvbSB0aGUgSGFyZHdhcmUgQ2xvY2suICBJdCB0aGVuCityZWNvcmRzIHRoZSBjdXJyZW50IHRpbWUgYXMgdGhlIGxhc3QgdGltZSB0aGUgY2xvY2sgd2FzIGFkanVzdGVkLgorQW5vdGhlciAyNCBob3VycyBnbyBieSBhbmQgeW91IGlzc3VlIGFub3RoZXIKKy5CUiBcJWh3Y2xvY2tcIFwtXC1hZGp1c3QgLgorLkIgXCVod2Nsb2NrCitkb2VzIHRoZSBzYW1lIHRoaW5nOiBzdWJ0cmFjdHMgMiBzZWNvbmRzIGFuZCB1cGRhdGVzIHRoZSBhZGp0aW1lIGZpbGUKK3dpdGggdGhlIGN1cnJlbnQgdGltZSBhcyB0aGUgbGFzdCB0aW1lIHRoZSBjbG9jayB3YXMgYWRqdXN0ZWQuCisuUFAKK1doZW4geW91IHVzZSB0aGUKKy5CUiBcJVwtXC11cGRhdGVcLWRyaWZ0ICIgb3B0aW9uIHdpdGggIiBcLVwtc2V0ICIgb3IgIiBcJVwtXC1zeXN0b2hjICwKK3RoZSBzeXN0ZW1hdGljIGRyaWZ0IHJhdGUgaXMgKHJlKWNhbGN1bGF0ZWQgYnkgY29tcGFyaW5nIHRoZSBmdWxseSBkcmlmdAorY29ycmVjdGVkIGN1cnJlbnQgSGFyZHdhcmUgQ2xvY2sgdGltZSB3aXRoIHRoZSBuZXcgc2V0IHRpbWUsIGZyb20gdGhhdAoraXQgZGVyaXZlcyB0aGUgMjQgaG91ciBkcmlmdCByYXRlIGJhc2VkIG9uIHRoZSBsYXN0IGNhbGlicmF0ZWQgdGltZXN0YW1wCitmcm9tIHRoZSBhZGp0aW1lIGZpbGUuICBUaGlzIHVwZGF0ZWQgZHJpZnQgZmFjdG9yIGlzIHRoZW4gc2F2ZWQgaW4KKy5JUiBAQURKVElNRV9QQVRIQCAuCisuUFAKK0Egc21hbGwgYW1vdW50IG9mIGVycm9yIGNyZWVwcyBpbiB3aGVuCit0aGUgSGFyZHdhcmUgQ2xvY2sgaXMgc2V0LCBzbworLkIgXCVcLVwtYWRqdXN0CityZWZyYWlucyBmcm9tIG1ha2luZyBhbnkgYWRqdXN0bWVudCB0aGF0IGlzIGxlc3MKK3RoYW4gMSBzZWNvbmQuICBMYXRlciBvbiwgd2hlbiB5b3UgcmVxdWVzdCBhbiBhZGp1c3RtZW50IGFnYWluLCB0aGUgYWNjdW11bGF0ZWQKK2RyaWZ0IHdpbGwgYmUgbW9yZSB0aGFuIDEgc2Vjb25kIGFuZAorLkIgXCVcLVwtYWRqdXN0Cit3aWxsIG1ha2UgdGhlIGFkanVzdG1lbnQgaW5jbHVkaW5nIGFueSBmcmFjdGlvbmFsIGFtb3VudC4KKy5QUAorLkIgXCVod2Nsb2NrXCBcLVwtaGN0b3N5cworYWxzbyB1c2VzIHRoZSBhZGp0aW1lIGZpbGUgZGF0YSB0byBjb21wZW5zYXRlIHRoZSB2YWx1ZSByZWFkIGZyb20gdGhlIEhhcmR3YXJlCitDbG9jayBiZWZvcmUgdXNpbmcgaXQgdG8gc2V0IHRoZSBTeXN0ZW0gQ2xvY2suICBJdCBkb2VzIG5vdCBzaGFyZSB0aGUgMSBzZWNvbmQKK2xpbWl0YXRpb24gb2YKKy5CUiBcJVwtXC1hZGp1c3QgLAorYW5kIHdpbGwgY29ycmVjdCBzdWItc2Vjb25kIGRyaWZ0IHZhbHVlcyBpbW1lZGlhdGVseS4gIEl0IGRvZXMgbm90CitjaGFuZ2UgdGhlIEhhcmR3YXJlIENsb2NrIHRpbWUgbm9yIHRoZSBhZGp0aW1lIGZpbGUuICBUaGlzIG1heSBlbGltaW5hdGUKK3RoZSBuZWVkIHRvIHVzZQorLkJSIFwlXC1cLWFkanVzdCAsCit1bmxlc3Mgc29tZXRoaW5nIGVsc2Ugb24gdGhlIHN5c3RlbSBuZWVkcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gYmUKK2NvbXBlbnNhdGVkLgorLgorLlNTIFRoZSBBZGp0aW1lIEZpbGUKK1doaWxlIG5hbWVkIGZvciBpdHMgaGlzdG9yaWNhbCBwdXJwb3NlIG9mIGNvbnRyb2xsaW5nIGFkanVzdG1lbnRzIG9ubHksCitpdCBhY3R1YWxseSBjb250YWlucyBvdGhlciBpbmZvcm1hdGlvbiB1c2VkIGJ5CisuQiBod2Nsb2NrCitmcm9tIG9uZSBpbnZvY2F0aW9uIHRvIHRoZSBuZXh0LgorLlBQCitUaGUgZm9ybWF0IG9mIHRoZSBhZGp0aW1lIGZpbGUgaXMsIGluIEFTQ0lJOgorLlBQCitMaW5lIDE6IFRocmVlIG51bWJlcnMsIHNlcGFyYXRlZCBieSBibGFua3M6IDEpIHRoZSBzeXN0ZW1hdGljIGRyaWZ0IHJhdGUKK2luIHNlY29uZHMgcGVyIGRheSwgZmxvYXRpbmcgcG9pbnQgZGVjaW1hbDsgMikgdGhlIHJlc3VsdGluZyBudW1iZXIgb2YKK3NlY29uZHMgc2luY2UgMTk2OSBVVEMgb2YgbW9zdCByZWNlbnQgYWRqdXN0bWVudCBvciBjYWxpYnJhdGlvbiwKK2RlY2ltYWwgaW50ZWdlcjsgMykgemVybyAoZm9yIGNvbXBhdGliaWxpdHkgd2l0aAorLkJSIFwlY2xvY2sgKDgpKQorYXMgYSBkZWNpbWFsIGludGVnZXIuCisuUFAKK0xpbmUgMjogT25lIG51bWJlcjogdGhlIHJlc3VsdGluZyBudW1iZXIgb2Ygc2Vjb25kcyBzaW5jZSAxOTY5IFVUQyBvZiBtb3N0CityZWNlbnQgY2FsaWJyYXRpb24uICBaZXJvIGlmIHRoZXJlIGhhcyBiZWVuIG5vIGNhbGlicmF0aW9uIHlldCBvciBpdAoraXMga25vd24gdGhhdCBhbnkgcHJldmlvdXMgY2FsaWJyYXRpb24gaXMgbW9vdCAoZm9yIGV4YW1wbGUsIGJlY2F1c2UKK3RoZSBIYXJkd2FyZSBDbG9jayBoYXMgYmVlbiBmb3VuZCwgc2luY2UgdGhhdCBjYWxpYnJhdGlvbiwgbm90IHRvCitjb250YWluIGEgdmFsaWQgdGltZSkuICBUaGlzIGlzIGEgZGVjaW1hbCBpbnRlZ2VyLgorLlBQCitMaW5lIDM6ICJVVEMiIG9yICJMT0NBTCIuICBUZWxscyB3aGV0aGVyIHRoZSBIYXJkd2FyZSBDbG9jayBpcyBzZXQgdG8KK0Nvb3JkaW5hdGVkIFVuaXZlcnNhbCBUaW1lIG9yIGxvY2FsIHRpbWUuICBZb3UgY2FuIGFsd2F5cyBvdmVycmlkZSB0aGlzCit2YWx1ZSB3aXRoIG9wdGlvbnMgb24gdGhlCisuQiBcJWh3Y2xvY2sKK2NvbW1hbmQgbGluZS4KKy5QUAorWW91IGNhbiB1c2UgYW4gYWRqdGltZSBmaWxlIHRoYXQgd2FzIHByZXZpb3VzbHkgdXNlZCB3aXRoIHRoZQorLkJSIFwlY2xvY2sgIig4KSBwcm9ncmFtIHdpdGggIiBcJWh3Y2xvY2sgLgorLgorLlNTIEF1dG9tYXRpYyBIYXJkd2FyZSBDbG9jayBTeW5jaHJvbml6YXRpb24gYnkgdGhlIEtlcm5lbAorLlBQCitZb3Ugc2hvdWxkIGJlIGF3YXJlIG9mIGFub3RoZXIgd2F5IHRoYXQgdGhlIEhhcmR3YXJlIENsb2NrIGlzIGtlcHQKK3N5bmNocm9uaXplZCBpbiBzb21lIHN5c3RlbXMuICBUaGUgTGludXgga2VybmVsIGhhcyBhIG1vZGUgd2hlcmVpbiBpdAorY29waWVzIHRoZSBTeXN0ZW0gVGltZSB0byB0aGUgSGFyZHdhcmUgQ2xvY2sgZXZlcnkgMTEgbWludXRlcy4gVGhpcyBtb2RlCitpcyBhIGNvbXBpbGUgdGltZSBvcHRpb24sIHNvIG5vdCBhbGwga2VybmVscyB3aWxsIGhhdmUgdGhpcyBjYXBhYmlsaXR5LgorVGhpcyBpcyBhIGdvb2QgbW9kZSB0byB1c2Ugd2hlbiB5b3UgYXJlIHVzaW5nIHNvbWV0aGluZyBzb3BoaXN0aWNhdGVkCitsaWtlIE5UUCB0byBrZWVwIHlvdXIgU3lzdGVtIENsb2NrIHN5bmNocm9uaXplZC4gKE5UUCBpcyBhIHdheSB0byBrZWVwCit5b3VyIFN5c3RlbSBUaW1lIHN5bmNocm9uaXplZCBlaXRoZXIgdG8gYSB0aW1lIHNlcnZlciBzb21ld2hlcmUgb24gdGhlCituZXR3b3JrIG9yIHRvIGEgcmFkaW8gY2xvY2sgaG9va2VkIHVwIHRvIHlvdXIgc3lzdGVtLiAgU2VlIFJGQyAxMzA1LikKKy5QUAorSWYgdGhlIGtlcm5lbCBpcyBjb21waWxlZCB3aXRoIHRoZSBcJScxMVwgbWludXRlXCBtb2RlJyBvcHRpb24gaXQgd2lsbAorYmUgYWN0aXZlIHdoZW4gdGhlIGtlcm5lbCdzIGNsb2NrIGRpc2NpcGxpbmUgaXMgaW4gYSBzeW5jaHJvbml6ZWQgc3RhdGUuCitXaGVuIGluIHRoaXMgc3RhdGUsIGJpdCA2ICh0aGUgYml0IHRoYXQgaXMgc2V0IGluIHRoZSBtYXNrIDB4MDA0MCkKK29mIHRoZSBrZXJuZWwncworLkkgXCV0aW1lX3N0YXR1cwordmFyaWFibGUgaXMgdW5zZXQuIFRoaXMgdmFsdWUgaXMgb3V0cHV0IGFzIHRoZSAnc3RhdHVzJyBsaW5lIG9mIHRoZQorLkJSIFwlYWRqdGltZXhcIC0tcHJpbnQgIiBvciAiIFwlbnRwdGltZSAiIGNvbW1hbmRzLiIKKy5QUAorSXQgdGFrZXMgYW4gb3V0c2lkZSBpbmZsdWVuY2UsIGxpa2UgdGhlIE5UUCBkYWVtb24KKy5CUiBudHBkICgxKSwKK3RvIHB1dCB0aGUga2VybmVsJ3MgY2xvY2sgZGlzY2lwbGluZSBpbnRvIGEgc3luY2hyb25pemVkIHN0YXRlLCBhbmQKK3RoZXJlZm9yZSB0dXJuIG9uIFwlJzExXCBtaW51dGVcIG1vZGUnLgorSXQgY2FuIGJlIHR1cm5lZCBvZmYgYnkgcnVubmluZyBhbnl0aGluZyB0aGF0IHNldHMgdGhlIFN5c3RlbSBDbG9jayB0aGUgb2xkCitmYXNoaW9uZWQgd2F5LCBpbmNsdWRpbmcKKy5CUiAiXCVod2Nsb2NrXCBcLVwtaGN0b3N5cyIgLgorSG93ZXZlciwgaWYgdGhlIE5UUCBkYWVtb24gaXMgc3RpbGwgcnVubmluZywgaXQgd2lsbCB0dXJuIFwlJzExXCBtaW51dGVcIG1vZGUnCitiYWNrIG9uIGFnYWluIHRoZSBuZXh0IHRpbWUgaXQgc3luY2hyb25pemVzIHRoZSBTeXN0ZW0gQ2xvY2suCisuUFAKK0lmIHlvdXIgc3lzdGVtIHJ1bnMgd2l0aCBcJScxMVwgbWludXRlXCBtb2RlJyBvbiwgaXQgbWF5IG5lZWQgdG8gdXNlIGVpdGhlcgorLkJSIFwlXC1cLWhjdG9zeXMgIiBvciAiIFwlXC1cLXN5c3R6CitpbiBhIHN0YXJ0dXAgc2NyaXB0LCBlc3BlY2lhbGx5IGlmIHRoZSBIYXJkd2FyZSBDbG9jayBpcyBjb25maWd1cmVkIHRvIHVzZQordGhlIGxvY2FsIHRpbWVzY2FsZS4gVW5sZXNzIHRoZSBrZXJuZWwgaXMgaW5mb3JtZWQgb2Ygd2hhdCB0aW1lc2NhbGUgdGhlCitIYXJkd2FyZSBDbG9jayBpcyB1c2luZywgaXQgbWF5IGNsb2JiZXIgaXQgd2l0aCB0aGUgd3Jvbmcgb25lLiBUaGUga2VybmVsCit1c2VzIFVUQyBieSBkZWZhdWx0LgorLlBQCitUaGUgZmlyc3QgdXNlcnNwYWNlIGNvbW1hbmQgdG8gc2V0IHRoZSBTeXN0ZW0gQ2xvY2sgaW5mb3JtcyB0aGUKK2tlcm5lbCB3aGF0IHRpbWVzY2FsZSB0aGUgSGFyZHdhcmUgQ2xvY2sgaXMgdXNpbmcuICBUaGlzIGhhcHBlbnMgdmlhIHRoZQorLkkgXCVwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsCitrZXJuZWwgdmFyaWFibGUuICBJZgorLkJSIFwlXC1cLWhjdG9zeXMgIiBvciAiIFwlXC1cLXN5c3R6CitpcyB0aGUgZmlyc3QsIGl0IHdpbGwgc2V0IHRoaXMgdmFyaWFibGUgYWNjb3JkaW5nIHRvIHRoZSBhZGp0aW1lIGZpbGUgb3IgdGhlCithcHByb3ByaWF0ZSBjb21tYW5kLWxpbmUgYXJndW1lbnQuICBOb3RlIHRoYXQgd2hlbiB1c2luZyB0aGlzIGNhcGFiaWxpdHkgYW5kIHRoZQorSGFyZHdhcmUgQ2xvY2sgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb24gaXMgY2hhbmdlZCwgdGhlbiBhIHJlYm9vdCBpcyByZXF1aXJlZCB0bworbm90aWZ5IHRoZSBrZXJuZWwuCisuUFAKKy5CIFwlaHdjbG9ja1wgXC1cLWFkanVzdAorc2hvdWxkIG5vdCBiZSB1c2VkIHdpdGggTlRQIFwlJzExXCBtaW51dGVcIG1vZGUnLgorLgorLlNTIElTQSBIYXJkd2FyZSBDbG9jayBDZW50dXJ5IHZhbHVlCisuUFAKK1RoZXJlIGlzIHNvbWUgc29ydCBvZiBzdGFuZGFyZCB0aGF0IGRlZmluZXMgQ01PUyBtZW1vcnkgQnl0ZSA1MCBvbiBhbiBJU0EKK21hY2hpbmUgYXMgYW4gaW5kaWNhdG9yIG9mIHdoYXQgY2VudHVyeSBpdCBpcy4KKy5CIFwlaHdjbG9jaworZG9lcyBub3QgdXNlIG9yIHNldCB0aGF0IGJ5dGUgYmVjYXVzZSB0aGVyZSBhcmUgc29tZSBtYWNoaW5lcyB0aGF0Citkb24ndCBkZWZpbmUgdGhlIGJ5dGUgdGhhdCB3YXksIGFuZCBpdCByZWFsbHkgaXNuJ3QgbmVjZXNzYXJ5IGFueXdheSwKK3NpbmNlIHRoZSB5ZWFyLW9mLWNlbnR1cnkgZG9lcyBhIGdvb2Qgam9iIG9mIGltcGx5aW5nIHdoaWNoIGNlbnR1cnkgaXQKK2lzLgorLlBQCitJZiB5b3UgaGF2ZSBhIGJvbmEgZmlkZSB1c2UgZm9yIGEgQ01PUyBjZW50dXJ5IGJ5dGUsIGNvbnRhY3QgdGhlCisuQiBcJWh3Y2xvY2sKK21haW50YWluZXI7IGFuIG9wdGlvbiBtYXkgYmUgYXBwcm9wcmlhdGUuCisuUFAKK05vdGUgdGhhdCB0aGlzIHNlY3Rpb24gaXMgb25seSByZWxldmFudCB3aGVuIHlvdSBhcmUgdXNpbmcgdGhlICJkaXJlY3QKK0lTQSIgbWV0aG9kIG9mIGFjY2Vzc2luZyB0aGUgSGFyZHdhcmUgQ2xvY2suCitBQ1BJIHByb3ZpZGVzIGEgc3RhbmRhcmQgd2F5IHRvIGFjY2VzcyBjZW50dXJ5IHZhbHVlcywgd2hlbiB0aGV5CithcmUgc3VwcG9ydGVkIGJ5IHRoZSBoYXJkd2FyZS4KKy4KKy5TSCBEQVRFLVRJTUUgQ09ORklHVVJBVElPTgorLmluICs0CisuU1MgS2VlcGluZyBUaW1lIHdpdGhvdXQgRXh0ZXJuYWwgU3luY2hyb25pemF0aW9uCisuaW4KKy5QUAorVGhpcyBkaXNjdXNzaW9uIGlzIGJhc2VkIG9uIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKy5JUCBcKGJ1IDIKK05vdGhpbmcgaXMgcnVubmluZyB0aGF0IGFsdGVycyB0aGUgZGF0ZS10aW1lIGNsb2Nrcywgc3VjaCBhcworLkJSIFwlbnRwZCAiKDEpIG9yIGEgY3JvbiBqb2IuIgorLklQIFwoYnUgMgorVGhlIHN5c3RlbSB0aW1lem9uZSBpcyBjb25maWd1cmVkIGZvciB0aGUgY29ycmVjdCBsb2NhbCB0aW1lLiAgU2VlIGJlbG93LCB1bmRlcgorLkJSICJQT1NJWCB2cyAnUklHSFQnIiAuCisuSVAgXChidSAyCitFYXJseSBkdXJpbmcgc3RhcnR1cCB0aGUgZm9sbG93aW5nIGFyZSBjYWxsZWQsIGluIHRoaXMgb3JkZXI6CisuYnIKKy5CSSBcJWFkanRpbWV4XCBcLVwtdGljayBcIHZhbHVlXCAgXC1cLWZyZXF1ZW5jeSBcIHZhbHVlCisuYnIKKy5CIFwlaHdjbG9ja1wgXC1cLWhjdG9zeXMKKy5JUCBcKGJ1IDIKK0R1cmluZyBzaHV0ZG93biB0aGUgZm9sbG93aW5nIGlzIGNhbGxlZDoKKy5icgorLkIgXCVod2Nsb2NrXCBcLVwtc3lzdG9oYworLlBQCisuaW4gKzQKKy5CUiAqICIgU3lzdGVtcyB3aXRob3V0ICIgYWRqdGltZXggIiBtYXkgdXNlICIgbnRwdGltZSAuCisuaW4KKy5QUAorV2hldGhlciBtYWludGFpbmluZyBwcmVjaXNpb24gdGltZSB3aXRoCisuQlIgXCVudHBkICgxKQorb3Igbm90LCBpdCBtYWtlcyBzZW5zZSB0byBjb25maWd1cmUgdGhlIHN5c3RlbSB0byBrZWVwIHJlYXNvbmFibHkgZ29vZAorZGF0ZS10aW1lIG9uIGl0cyBvd24uCisuUFAKK1RoZSBmaXJzdCBzdGVwIGluIG1ha2luZyB0aGF0IGhhcHBlbiBpcyBoYXZpbmcgYSBjbGVhciB1bmRlcnN0YW5kaW5nIG9mCit0aGUgYmlnIHBpY3R1cmUuICBUaGVyZSBhcmUgdHdvIGNvbXBsZXRlbHkgc2VwYXJhdGUgaGFyZHdhcmUgZGV2aWNlcworcnVubmluZyBhdCB0aGVpciBvd24gc3BlZWQgYW5kIGRyaWZ0aW5nIGF3YXkgZnJvbSB0aGUgJ2NvcnJlY3QnIHRpbWUgYXQKK3RoZWlyIG93biByYXRlcy4gIFRoZSBtZXRob2RzIGFuZCBzb2Z0d2FyZSBmb3IgZHJpZnQgY29ycmVjdGlvbiBhcmUKK2RpZmZlcmVudCBmb3IgZWFjaCBvZiB0aGVtLiAgSG93ZXZlciwgbW9zdCBzeXN0ZW1zIGFyZSBjb25maWd1cmVkIHRvCitleGNoYW5nZSB2YWx1ZXMgYmV0d2VlbiB0aGVzZSB0d28gY2xvY2tzIGF0IHN0YXJ0dXAgYW5kIHNodXRkb3duLiAgTm93Cit0aGUgaW5kaXZpZHVhbCBkZXZpY2UncyB0aW1lIGtlZXBpbmcgZXJyb3JzIGFyZSB0cmFuc2ZlcnJlZCBiYWNrIGFuZAorZm9ydGggYmV0d2VlbiBlYWNoIG90aGVyLiAgQXR0ZW1wdCB0byBjb25maWd1cmUgZHJpZnQgY29ycmVjdGlvbiBmb3Igb25seQorb25lIG9mIHRoZW0sIGFuZCB0aGUgb3RoZXIncyBkcmlmdCB3aWxsIGJlIG92ZXJsYWlkIHVwb24gaXQuCisuUFAKK1RoaXMgcHJvYmxlbSBjYW4gYmUgYXZvaWRlZCB3aGVuIGNvbmZpZ3VyaW5nIGRyaWZ0IGNvcnJlY3Rpb24gZm9yIHRoZQorU3lzdGVtIENsb2NrIGJ5IHNpbXBseSBub3Qgc2h1dHRpbmcgZG93biB0aGUgbWFjaGluZS4gIFRoaXMsIHBsdXMgdGhlCitmYWN0IHRoYXQgYWxsIG9mCisuQlIgXCVod2Nsb2NrICdzCitwcmVjaXNpb24gKGluY2x1ZGluZyBjYWxjdWxhdGluZyBkcmlmdCBmYWN0b3JzKSBkZXBlbmRzIHVwb24gdGhlIFN5c3RlbQorQ2xvY2sncyByYXRlIGJlaW5nIGNvcnJlY3QsIG1lYW5zIHRoYXQgY29uZmlndXJhdGlvbiBvZiB0aGUgU3lzdGVtIENsb2NrCitzaG91bGQgYmUgZG9uZSBmaXJzdC4KKy5QUAorVGhlIFN5c3RlbSBDbG9jayBkcmlmdCBpcyBjb3JyZWN0ZWQgd2l0aCB0aGUKKy5CUiBcJWFkanRpbWV4ICIoOCkgY29tbWFuZCdzICIgXC1cLXRpY2sgIiBhbmQgIiBcJVwtXC1mcmVxdWVuY3kKK29wdGlvbnMuICBUaGVzZSB0d28gd29yayB0b2dldGhlcjogdGljayBpcyB0aGUgY29hcnNlIGFkanVzdG1lbnQgYW5kCitmcmVxdWVuY3kgaXMgdGhlIGZpbmUgYWRqdXN0bWVudC4gIChGb3Igc3lzdGVtcyB0aGF0IGRvIG5vdCBoYXZlIGFuCisuQlIgXCVhZGp0aW1leCAiIHBhY2thZ2UsIgorLkJJIFwlbnRwdGltZVwgXC1mXCAgcHBtCittYXkgYmUgdXNlZCBpbnN0ZWFkLikKKy5QUAorU29tZSBMaW51eCBkaXN0cmlidXRpb25zIGF0dGVtcHQgdG8gYXV0b21hdGljYWxseSBjYWxjdWxhdGUgdGhlIFN5c3RlbQorQ2xvY2sgZHJpZnQgd2l0aAorLkJSIFwlYWRqdGltZXggJ3MKK2NvbXBhcmUgb3BlcmF0aW9uLiAgVHJ5aW5nIHRvIGNvcnJlY3Qgb25lCitkcmlmdGluZyBjbG9jayBieSB1c2luZyBhbm90aGVyIGRyaWZ0aW5nIGNsb2NrIGFzIGEgcmVmZXJlbmNlIGlzIGFraW4gdG8KK2EgZG9nIHRyeWluZyB0byBjYXRjaCBpdHMgb3duIHRhaWwuICBTdWNjZXNzIG1heSBoYXBwZW4gZXZlbnR1YWxseSwgYnV0CitncmVhdCBlZmZvcnQgYW5kIGZydXN0cmF0aW9uIHdpbGwgbGlrZWx5IHByZWNlZGUgaXQuICBUaGlzIGF1dG9tYXRpb24gbWF5Cit5aWVsZCBhbiBpbXByb3ZlbWVudCBvdmVyIG5vIGNvbmZpZ3VyYXRpb24sIGJ1dCBleHBlY3Rpbmcgb3B0aW11bQorcmVzdWx0cyB3b3VsZCBiZSBpbiBlcnJvci4gIEEgYmV0dGVyIGNob2ljZSBmb3IgbWFudWFsIGNvbmZpZ3VyYXRpb24KK3dvdWxkIGJlCisuQlIgXCVhZGp0aW1leCAncyAiIFwtXC1sb2cgIiBvcHRpb25zLgorLlBQCitJdCBtYXkgYmUgbW9yZSBlZmZlY3RpdmUgdG8gc2ltcGx5IHRyYWNrIHRoZSBTeXN0ZW0gQ2xvY2sgZHJpZnQgd2l0aAorLkJSIFwlc250cCAiLCBvciAiIFwlZGF0ZVwgXC1JbnMKK2FuZCBhIHByZWNpc2lvbiB0aW1lcGllY2UsIGFuZCB0aGVuIGNhbGN1bGF0ZSB0aGUgY29ycmVjdGlvbiBtYW51YWxseS4KKy5QUAorQWZ0ZXIgc2V0dGluZyB0aGUgdGljayBhbmQgZnJlcXVlbmN5IHZhbHVlcywgY29udGludWUgdG8gdGVzdCBhbmQgcmVmaW5lIHRoZQorYWRqdXN0bWVudHMgdW50aWwgdGhlIFN5c3RlbSBDbG9jayBrZWVwcyBnb29kIHRpbWUuICBTZWUKKy5CUiBcJWFkanRpbWV4ICg4KQorZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIHRoZSBleGFtcGxlIGRlbW9uc3RyYXRpbmcgbWFudWFsIGRyaWZ0CitjYWxjdWxhdGlvbnMuCisuUFAKK09uY2UgdGhlIFN5c3RlbSBDbG9jayBpcyB0aWNraW5nIHNtb290aGx5LCBtb3ZlIG9uIHRvIHRoZSBIYXJkd2FyZSBDbG9jay4KKy5QUAorQXMgYSBydWxlLCBjb2xkIGRyaWZ0IHdpbGwgd29yayBiZXN0IGZvciBtb3N0IHVzZSBjYXNlcy4gIFRoaXMgc2hvdWxkIGJlCit0cnVlIGV2ZW4gZm9yIDI0LzcgbWFjaGluZXMgd2hvc2Ugbm9ybWFsIGRvd250aW1lIGNvbnNpc3RzIG9mIGEgcmVib290LgorSW4gdGhhdCBjYXNlIHRoZSBkcmlmdCBmYWN0b3IgdmFsdWUgbWFrZXMgbGl0dGxlIGRpZmZlcmVuY2UuICBCdXQgb24gdGhlCityYXJlIG9jY2FzaW9uIHRoYXQgdGhlIG1hY2hpbmUgaXMgc2h1dCBkb3duIGZvciBhbiBleHRlbmRlZCBwZXJpb2QsIHRoZW4KK2NvbGQgZHJpZnQgc2hvdWxkIHlpZWxkIGJldHRlciByZXN1bHRzLgorLlBQCisuQiBTdGVwcyB0byBjYWxjdWxhdGUgY29sZCBkcmlmdDoKKy5JUCAxIDIKKy5SQiAiRW5zdXJlIHRoYXQgIiBudHBkICIoMSkgd2lsbCBub3QgYmUgbGF1bmNoZWQgYXQgc3RhcnR1cC4iCisuSVAgMiAyCisuUkkgVGhlICIgU3lzdGVtIENsb2NrICIgInRpbWUgbXVzdCBiZSBjb3JyZWN0IGF0IHNodXRkb3duISIKKy5JUCAzIDIKK1NodXQgZG93biB0aGUgc3lzdGVtLgorLklQIDQgMgorTGV0IGFuIGV4dGVuZGVkIHBlcmlvZCBwYXNzIHdpdGhvdXQgY2hhbmdpbmcgdGhlIEhhcmR3YXJlIENsb2NrLgorLklQIDUgMgorU3RhcnQgdGhlIHN5c3RlbS4KKy5JUCA2IDIKKy5SQiAiSW1tZWRpYXRlbHkgdXNlICIgaHdjbG9jayAiIHRvIHNldCB0aGUgY29ycmVjdCB0aW1lLCBhZGRpbmcgdGhlIgorLkJSIFwlXC1cLXVwZGF0ZVwtZHJpZnQgIiBvcHRpb24uIgorLlBQCitOb3RlOiBpZiBzdGVwIDYgdXNlcworLkJSIFwlXC1cLXN5c3RvaGMgLAordGhlbiB0aGUgU3lzdGVtIENsb2NrIG11c3QgYmUgc2V0IGNvcnJlY3RseSAoc3RlcCA2YSkganVzdCBiZWZvcmUgZG9pbmcgc28uCisuUFAKKy5SQiAiSGF2aW5nICIgaHdjbG9jaworY2FsY3VsYXRlIHRoZSBkcmlmdCBmYWN0b3IgaXMgYSBnb29kIHN0YXJ0aW5nIHBvaW50LCBidXQgZm9yIG9wdGltYWwKK3Jlc3VsdHMgaXQgd2lsbCBsaWtlbHkgbmVlZCB0byBiZSBhZGp1c3RlZCBieSBkaXJlY3RseSBlZGl0aW5nIHRoZQorLkkgQEFESlRJTUVfUEFUSEAKK2ZpbGUuICBDb250aW51ZSB0byB0ZXN0IGFuZCByZWZpbmUgdGhlIGRyaWZ0IGZhY3RvciB1bnRpbCB0aGUgSGFyZHdhcmUKK0Nsb2NrIGlzIGNvcnJlY3RlZCBwcm9wZXJseSBhdCBzdGFydHVwLiAgVG8gY2hlY2sgdGhpcywgZmlyc3QgbWFrZSBzdXJlCit0aGF0IHRoZSBTeXN0ZW0gVGltZSBpcyBjb3JyZWN0IGJlZm9yZSBzaHV0ZG93biBhbmQgdGhlbiB1c2UKKy5CUiBcJXNudHAgIiwgb3IgIiBcJWRhdGVcIFwtSW5zCithbmQgYSBwcmVjaXNpb24gdGltZXBpZWNlLCBpbW1lZGlhdGVseSBhZnRlciBzdGFydHVwLgorLlNTIExPQ0FMIHZzIFVUQworS2VlcGluZyB0aGUgSGFyZHdhcmUgQ2xvY2sgaW4gYSBsb2NhbCB0aW1lc2NhbGUgY2F1c2VzIGluY29uc2lzdGVudAorZGF5bGlnaHQgc2F2aW5nIHRpbWUgcmVzdWx0czoKKy5JUCBcKGJ1IDIKK0lmIExpbnV4IGlzIHJ1bm5pbmcgZHVyaW5nIGEgZGF5bGlnaHQgc2F2aW5nIHRpbWUgY2hhbmdlLCB0aGUgdGltZQord3JpdHRlbiB0byB0aGUgSGFyZHdhcmUgQ2xvY2sgd2lsbCBiZSBhZGp1c3RlZCBmb3IgdGhlIGNoYW5nZS4KKy5JUCBcKGJ1IDIKK0lmIExpbnV4IGlzIE5PVCBydW5uaW5nIGR1cmluZyBhIGRheWxpZ2h0IHNhdmluZyB0aW1lIGNoYW5nZSwgdGhlIHRpbWUKK3JlYWQgZnJvbSB0aGUgSGFyZHdhcmUgQ2xvY2sgd2lsbCBOT1QgYmUgYWRqdXN0ZWQgZm9yIHRoZSBjaGFuZ2UuCisuUFAKK1RoZSBIYXJkd2FyZSBDbG9jayBvbiBhbiBJU0EgY29tcGF0aWJsZSBzeXN0ZW0ga2VlcHMgb25seSBhIGRhdGUgYW5kIHRpbWUsCitpdCBoYXMgbm8gY29uY2VwdCBvZiB0aW1lem9uZSBub3IgZGF5bGlnaHQgc2F2aW5nLiBUaGVyZWZvcmUsIHdoZW4KKy5CIGh3Y2xvY2sKK2lzIHRvbGQgdGhhdCBpdCBpcyBpbiBsb2NhbCB0aW1lLCBpdCBhc3N1bWVzIGl0IGlzIGluIHRoZSAnY29ycmVjdCcKK2xvY2FsIHRpbWUgYW5kIG1ha2VzIG5vIGFkanVzdG1lbnRzIHRvIHRoZSB0aW1lIHJlYWQgZnJvbSBpdC4KKy5QUAorTGludXggaGFuZGxlcyBkYXlsaWdodCBzYXZpbmcgdGltZSBjaGFuZ2VzIHRyYW5zcGFyZW50bHkgb25seSB3aGVuIHRoZQorSGFyZHdhcmUgQ2xvY2sgaXMga2VwdCBpbiB0aGUgVVRDIHRpbWVzY2FsZS4gRG9pbmcgc28gaXMgbWFkZSBlYXN5IGZvcgorc3lzdGVtIGFkbWluaXN0cmF0b3JzIGFzCisuQiBcJWh3Y2xvY2sKK3VzZXMgbG9jYWwgdGltZSBmb3IgaXRzIG91dHB1dCBhbmQgYXMgdGhlIGFyZ3VtZW50IHRvIHRoZQorLkJSIFwlXC1cLWRhdGUgIiBvcHRpb24uIgorLlBQCitQT1NJWCBzeXN0ZW1zLCBsaWtlIExpbnV4LCBhcmUgZGVzaWduZWQgdG8gaGF2ZSB0aGUgU3lzdGVtIENsb2NrIG9wZXJhdGUKK2luIHRoZSBVVEMgdGltZXNjYWxlLiBUaGUgSGFyZHdhcmUgQ2xvY2sncyBwdXJwb3NlIGlzIHRvIGluaXRpYWxpemUgdGhlCitTeXN0ZW0gQ2xvY2ssIHNvIGFsc28ga2VlcGluZyBpdCBpbiBVVEMgbWFrZXMgc2Vuc2UuCisuUFAKK0xpbnV4IGRvZXMsIGhvd2V2ZXIsIGF0dGVtcHQgdG8gYWNjb21tb2RhdGUgdGhlIEhhcmR3YXJlIENsb2NrIGJlaW5nIGluCit0aGUgbG9jYWwgdGltZXNjYWxlLiBUaGlzIGlzIHByaW1hcmlseSBmb3IgZHVhbC1ib290aW5nIHdpdGggb2xkZXIKK3ZlcnNpb25zIG9mIE1TIFdpbmRvd3MuIEZyb20gV2luZG93cyA3IG9uLCB0aGUgUmVhbFRpbWVJc1VuaXZlcnNhbAorcmVnaXN0cnkga2V5IGlzIHN1cHBvc2VkIHRvIGJlIHdvcmtpbmcgcHJvcGVybHkgc28gdGhhdCBpdHMgSGFyZHdhcmUKK0Nsb2NrIGNhbiBiZSBrZXB0IGluIFVUQy4KKy4KKy5TUyBQT1NJWCB2cyAnUklHSFQnCitBIGRpc2N1c3Npb24gb24gZGF0ZS10aW1lIGNvbmZpZ3VyYXRpb24gd291bGQgYmUgaW5jb21wbGV0ZSB3aXRob3V0CithZGRyZXNzaW5nIHRpbWV6b25lcywgdGhpcyBpcyBtb3N0bHkgd2VsbCBjb3ZlcmVkIGJ5CisuQlIgdHpzZXQgKDMpLgorT25lIGFyZWEgdGhhdCBzZWVtcyB0byBoYXZlIG5vIGRvY3VtZW50YXRpb24gaXMgdGhlICdyaWdodCcKK2RpcmVjdG9yeSBvZiB0aGUgVGltZSBab25lIERhdGFiYXNlLCBzb21ldGltZXMgY2FsbGVkIHR6IG9yIHpvbmVpbmZvLgorLlBQCitUaGVyZSBhcmUgdHdvIHNlcGFyYXRlIGRhdGFiYXNlcyBpbiB0aGUgem9uZWluZm8gc3lzdGVtLCBwb3NpeAorYW5kICdyaWdodCcuICdSaWdodCcgKG5vdyBuYW1lZCB6b25laW5mb1wtbGVhcHMpIGluY2x1ZGVzIGxlYXAgc2Vjb25kcyBhbmQgcG9zaXgKK2RvZXMgbm90LiBUbyB1c2UgdGhlICdyaWdodCcgZGF0YWJhc2UgdGhlIFN5c3RlbSBDbG9jayBtdXN0IGJlIHNldCB0bworXCUoVVRDXCArXCBsZWFwIHNlY29uZHMpLCB3aGljaCBpcyBlcXVpdmFsZW50IHRvIFwlKFRBSVwgXC1cIDEwKS4gVGhpcworYWxsb3dzIGNhbGN1bGF0aW5nIHRoZQorZXhhY3QgbnVtYmVyIG9mIHNlY29uZHMgYmV0d2VlbiB0d28gZGF0ZXMgdGhhdCBjcm9zcyBhIGxlYXAgc2Vjb25kCitlcG9jaC4gVGhlIFN5c3RlbSBDbG9jayBpcyB0aGVuIGNvbnZlcnRlZCB0byB0aGUgY29ycmVjdCBjaXZpbCB0aW1lLAoraW5jbHVkaW5nIFVUQywgYnkgdXNpbmcgdGhlICdyaWdodCcgdGltZXpvbmUgZmlsZXMgd2hpY2ggc3VidHJhY3QgdGhlCitsZWFwIHNlY29uZHMuIE5vdGU6IHRoaXMgY29uZmlndXJhdGlvbiBpcyBjb25zaWRlcmVkIGV4cGVyaW1lbnRhbCBhbmQgaXMKK2tub3duIHRvIGhhdmUgaXNzdWVzLgorLlBQCitUbyBjb25maWd1cmUgYSBzeXN0ZW0gdG8gdXNlIGEgcGFydGljdWxhciBkYXRhYmFzZSBhbGwgb2YgdGhlIGZpbGVzCitsb2NhdGVkIGluIGl0cyBkaXJlY3RvcnkgbXVzdCBiZSBjb3BpZWQgdG8gdGhlIHJvb3Qgb2YKKy5JUiBcJS91c3Ivc2hhcmUvem9uZWluZm8gLgorRmlsZXMgYXJlIG5ldmVyIHVzZWQgZGlyZWN0bHkgZnJvbSB0aGUgcG9zaXggb3IgJ3JpZ2h0JyBzdWJkaXJlY3RvcmllcywgZS5nLiwKKy5SSSBcJVRaPScgcmlnaHQvRXVyb3BlL0R1YmxpbiAnLgorVGhpcyBoYWJpdCB3YXMgYmVjb21pbmcgc28gY29tbW9uIHRoYXQgdGhlIHVwc3RyZWFtIHpvbmVpbmZvIHByb2plY3QKK3Jlc3RydWN0dXJlZCB0aGUgc3lzdGVtJ3MgZmlsZSB0cmVlIGJ5IG1vdmluZyB0aGUgcG9zaXggYW5kICdyaWdodCcKK3N1YmRpcmVjdG9yaWVzIG91dCBvZiB0aGUgem9uZWluZm8gZGlyZWN0b3J5IGFuZCBpbnRvIHNpYmxpbmcgZGlyZWN0b3JpZXM6CisuUFAKKy5pbiArMgorLkkgL3Vzci9zaGFyZS96b25laW5mbworLmJyCisuSSAvdXNyL3NoYXJlL3pvbmVpbmZvXC1wb3NpeAorLmJyCisuSSAvdXNyL3NoYXJlL3pvbmVpbmZvXC1sZWFwcworLlBQCitVbmZvcnR1bmF0ZWx5LCBzb21lIExpbnV4IGRpc3RyaWJ1dGlvbnMgYXJlIGNoYW5naW5nIGl0IGJhY2sgdG8gdGhlIG9sZAordHJlZSBzdHJ1Y3R1cmUgaW4gdGhlaXIgcGFja2FnZXMuIFNvIHRoZSBwcm9ibGVtIG9mIHN5c3RlbQorYWRtaW5pc3RyYXRvcnMgcmVhY2hpbmcgaW50byB0aGUgJ3JpZ2h0JyBzdWJkaXJlY3RvcnkgcGVyc2lzdHMuIFRoaXMKK2NhdXNlcyB0aGUgc3lzdGVtIHRpbWV6b25lIHRvIGJlIGNvbmZpZ3VyZWQgdG8gaW5jbHVkZSBsZWFwIHNlY29uZHMKK3doaWxlIHRoZSB6b25laW5mbyBkYXRhYmFzZSBpcyBzdGlsbCBjb25maWd1cmVkIHRvIGV4Y2x1ZGUgdGhlbS4gVGhlbgord2hlbiBhbiBhcHBsaWNhdGlvbiBzdWNoIGFzIGEgV29ybGQgQ2xvY2sgbmVlZHMgdGhlIFNvdXRoX1BvbGUgdGltZXpvbmUKK2ZpbGU7IG9yIGFuIGVtYWlsIE1UQSwgb3IKKy5CIGh3Y2xvY2sKK25lZWRzIHRoZSBVVEMgdGltZXpvbmUgZmlsZTsgdGhleSBmZXRjaCBpdCBmcm9tIHRoZSByb290IG9mCisuSSBcJS91c3Ivc2hhcmUvem9uZWluZm8KKywgYmVjYXVzZSB0aGF0IGlzIHdoYXQgdGhleSBhcmUgc3VwcG9zZWQgdG8gZG8uIFRob3NlIGZpbGVzIGV4Y2x1ZGUgbGVhcAorc2Vjb25kcywgYnV0IHRoZSBTeXN0ZW0gQ2xvY2sgbm93IGluY2x1ZGVzIHRoZW0sIGNhdXNpbmcgYW4gaW5jb3JyZWN0Cit0aW1lIGNvbnZlcnNpb24uCisuUFAKK0F0dGVtcHRpbmcgdG8gbWl4IGFuZCBtYXRjaCBmaWxlcyBmcm9tIHRoZXNlIHNlcGFyYXRlIGRhdGFiYXNlcyB3aWxsIG5vdAord29yaywgYmVjYXVzZSB0aGV5IGVhY2ggcmVxdWlyZSB0aGUgU3lzdGVtIENsb2NrIHRvIHVzZSBhIGRpZmZlcmVudAordGltZXNjYWxlLiBUaGUgem9uZWluZm8gZGF0YWJhc2UgbXVzdCBiZSBjb25maWd1cmVkIHRvIHVzZSBlaXRoZXIgcG9zaXgKK29yICdyaWdodCcsIGFzIGRlc2NyaWJlZCBhYm92ZSwgb3IgYnkgYXNzaWduaW5nIGEgZGF0YWJhc2UgcGF0aCB0byB0aGUKKy5TQiBUWkRJUgorZW52aXJvbm1lbnQgdmFyaWFibGUuCisuU0ggRVhJVCBTVEFUVVMKK09uZSBvZiB0aGUgZm9sbG93aW5nIGV4aXQgdmFsdWVzIHdpbGwgYmUgcmV0dXJuZWQ6CisuVFAKKy5CUiBFWElUX1NVQ0NFU1MgIiAoJzAnIG9uIFBPU0lYIHN5c3RlbXMpIgorU3VjY2Vzc2Z1bCBwcm9ncmFtIGV4ZWN1dGlvbi4KKy5UUAorLkJSIEVYSVRfRkFJTFVSRSAiICgnMScgb24gUE9TSVggc3lzdGVtcykiCitUaGUgb3BlcmF0aW9uIGZhaWxlZCBvciB0aGUgY29tbWFuZCBzeW50YXggd2FzIG5vdCB2YWxpZC4KKy5TSCBFTlZJUk9OTUVOVAorLlRQCisuQiBUWgorSWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQgaXRzIHZhbHVlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgc3lzdGVtCitjb25maWd1cmVkIHRpbWV6b25lLgorLlRQCisuQiBUWkRJUgorSWYgdGhpcyB2YXJpYWJsZSBpcyBzZXQgaXRzIHZhbHVlIHRha2VzIHByZWNlZGVuY2Ugb3ZlciB0aGUgc3lzdGVtCitjb25maWd1cmVkIHRpbWV6b25lIGRhdGFiYXNlIGRpcmVjdG9yeSBwYXRoLgorLlNIIEZJTEVTCisuVFAKKy5JIEBBREpUSU1FX1BBVEhACitUaGUgY29uZmlndXJhdGlvbiBhbmQgc3RhdGUgZmlsZSBmb3IgaHdjbG9jay4KKy5UUAorLkkgL2V0Yy9sb2NhbHRpbWUKK1RoZSBzeXN0ZW0gdGltZXpvbmUgZmlsZS4KKy5UUAorLkkgL3Vzci9zaGFyZS96b25laW5mby8KK1RoZSBzeXN0ZW0gdGltZXpvbmUgZGF0YWJhc2UgZGlyZWN0b3J5LgorLlBQCitEZXZpY2UgZmlsZXMKKy5CIGh3Y2xvY2sKK21heSB0cnkgZm9yIEhhcmR3YXJlIENsb2NrIGFjY2VzczoKKy5icgorLkkgL2Rldi9ydGMwCisuYnIKKy5JIC9kZXYvcnRjCisuYnIKKy5JIC9kZXYvbWlzYy9ydGMKKy5icgorLkkgL2Rldi9lZmlydGMKKy5icgorLkkgL2Rldi9taXNjL2VmaXJ0YworLlNIICJTRUUgQUxTTyIKKy5CUiBkYXRlICgxKSwKKy5CUiBhZGp0aW1leCAoOCksCisuQlIgZ2V0dGltZW9mZGF5ICgyKSwKKy5CUiBzZXR0aW1lb2ZkYXkgKDIpLAorLkJSIGNyb250YWIgKDEpLAorLkJSIHR6c2V0ICgzKQorLgorLlNIIEFVVEhPUlMKK1dyaXR0ZW4gYnkgQnJ5YW4gSGVuZGVyc29uLCBTZXB0ZW1iZXIgMTk5NiAoYnJ5YW5oQGdpcmFmZmUtZGF0YS5jb20pLAorYmFzZWQgb24gd29yayBkb25lIG9uIHRoZQorLkJSIFwlY2xvY2sgKDgpCitwcm9ncmFtIGJ5IENoYXJsZXMgSGVkcmljaywgUm9iIEhvb2Z0LCBhbmQgSGFyYWxkIEtvZW5pZy4KK1NlZSB0aGUgc291cmNlIGNvZGUgZm9yIGNvbXBsZXRlIGhpc3RvcnkgYW5kIGNyZWRpdHMuCisuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgaHdjbG9jayBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2h3Y2xvY2suYyBiL3N5cy11dGlscy9od2Nsb2NrLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDlhY2JhZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9od2Nsb2NrLmMKQEAgLTAsMCArMSwxNTUxIEBACisvKgorICogaHdjbG9jay5jCisgKgorICogY2xvY2suYyB3YXMgd3JpdHRlbiBieSBDaGFybGVzIEhlZHJpY2ssIGhlZHJpY2tAY3MucnV0Z2Vycy5lZHUsIEFwciAxOTkyCisgKiBNb2RpZmllZCBmb3IgY2xvY2sgYWRqdXN0bWVudHMgLSBSb2IgSG9vZnQgPGhvb2Z0QGNoZW0ucnV1Lm5sPiwgTm92IDE5OTIKKyAqIEltcHJvdmVtZW50cyBieSBIYXJhbGQgS29lbmlnIDxrb2VuaWdAbm92YS50YXQucGh5c2lrLnVuaS10dWViaW5nZW4uZGU+CisgKiBhbmQgQWxhbiBNb2RyYSA8YWxhbkBzcHJpLmxldmVscy51bmlzYS5lZHUuYXU+LgorICoKKyAqIE1ham9yIHJld3JpdGUgYnkgQnJ5YW4gSGVuZGVyc29uIDxicnlhbmhAZ2lyYWZmZS1kYXRhLmNvbT4sIDk2LjA5LjE5LgorICogVGhlIG5ldyBwcm9ncmFtIGlzIGNhbGxlZCBod2Nsb2NrLiBOZXcgZmVhdHVyZXM6CisgKgorICoJLSBZb3UgY2FuIHNldCB0aGUgaGFyZHdhcmUgY2xvY2sgd2l0aG91dCBhbHNvIG1vZGlmeWluZyB0aGUgc3lzdGVtCisgKgkgIGNsb2NrLgorICoJLSBZb3UgY2FuIHJlYWQgYW5kIHNldCB0aGUgY2xvY2sgd2l0aCBmaW5lciB0aGFuIDEgc2Vjb25kIHByZWNpc2lvbi4KKyAqCS0gV2hlbiB5b3Ugc2V0IHRoZSBjbG9jaywgaHdjbG9jayBhdXRvbWF0aWNhbGx5IHJlZmlndXJlcyB0aGUgZHJpZnQKKyAqCSAgcmF0ZSwgYmFzZWQgb24gaG93IGZhciBvZmYgdGhlIGNsb2NrIHdhcyBiZWZvcmUgeW91IHNldCBpdC4KKyAqCisgKiBSZXNodWZmbGVkIHRoaW5ncywgYWRkZWQgc3BhcmMgY29kZSwgYW5kIHJlLWFkZGVkIGFscGhhIHN0dWZmCisgKiBieSBEYXZpZCBNb3NiZXJnZXIgPGRhdmlkbUBhenN0YXJuZXQuY29tPgorICogYW5kIEpheSBFc3RhYnJvb2sgPGplc3RhYnJvQGFtdC50YXkxLmRlYy5jb20+CisgKiBhbmQgTWFydGluIE9zdGVybWFubiA8b3N0QGNvbWVudHMucnd0aC1hYWNoZW4uZGU+LCBhZWJAY3dpLm5sLCA5OTAyMTIuCisgKgorICogRml4IGZvciBBd2FyZCAyMDk0IGJ1ZywgRGF2ZSBDb2ZmaW4gKGRjb2ZmaW5Ac2hvcmUubmV0KSAxMS8xMi85OAorICogQ2hhbmdlIG9mIGxvY2FsIHRpbWUgaGFuZGxpbmcsIFN0ZWZhbiBSaW5nIDxlOTcyNTQ0NkBzdHVkMy50dXdpZW4uYWMuYXQ+CisgKiBDaGFuZ2Ugb2YgYWRqdGltZSBoYW5kbGluZywgSmFtZXMgUC4gUnV0bGVkZ2UgPGFvMTEyQHJnZm4uZXBjYy5lZHU+LgorICoKKyAqIERpc3RyaWJ1dGVkIHVuZGVyIEdQTAorICovCisvKgorICogRXhwbGFuYXRpb24gb2YgYGFkanVzdGluZycgKFJvYiBIb29mdCk6CisgKgorICogVGhlIHByb2JsZW0gd2l0aCBteSBtYWNoaW5lIGlzIHRoYXQgaXRzIENNT1MgY2xvY2sgaXMgMTAgc2Vjb25kcworICogcGVyIGRheSBzbG93LiBXaXRoIHRoaXMgdmVyc2lvbiBvZiBjbG9jay5jLCBhbmQgbXkgJy9ldGMvcmMubG9jYWwnCisgKiByZWFkaW5nICcvZXRjL2Nsb2NrIC1hdScgaW5zdGVhZCBvZiAnL2V0Yy9jbG9jayAtdSAtcycsIHRoaXMgZXJyb3IKKyAqIGlzIGF1dG9tYXRpY2FsbHkgY29ycmVjdGVkIGF0IGV2ZXJ5IGJvb3QuCisgKgorICogVG8gZG8gdGhpcyBqb2IsIHRoZSBwcm9ncmFtIHJlYWRzIGFuZCB3cml0ZXMgdGhlIGZpbGUgJy9ldGMvYWRqdGltZScKKyAqIHRvIGRldGVybWluZSB0aGUgY29ycmVjdGlvbiwgYW5kIHRvIHNhdmUgaXRzIGRhdGEuIEluIHRoaXMgZmlsZSBhcmUKKyAqIHRocmVlIG51bWJlcnM6CisgKgorICoJMSkgdGhlIGNvcnJlY3Rpb24gaW4gc2Vjb25kcyBwZXIgZGF5LiAoU28gaWYgeW91ciBjbG9jayBydW5zIDUKKyAqCSAgIHNlY29uZHMgcGVyIGRheSBmYXN0LCB0aGUgZmlyc3QgbnVtYmVyIHNob3VsZCByZWFkIC01LjApCisgKgkyKSB0aGUgbnVtYmVyIG9mIHNlY29uZHMgc2luY2UgMS8xLzE5NzAgdGhlIGxhc3QgdGltZSB0aGUgcHJvZ3JhbQorICoJICAgd2FzIHVzZWQKKyAqCTMpIHRoZSByZW1haW5pbmcgcGFydCBvZiBhIHNlY29uZCB3aGljaCB3YXMgbGVmdG92ZXIgYWZ0ZXIgdGhlIGxhc3QKKyAqCSAgIGFkanVzdG1lbnQKKyAqCisgKiBJbnN0YWxsYXRpb24gYW5kIHVzZSBvZiB0aGlzIHByb2dyYW06CisgKgorICoJYSkgY3JlYXRlIGEgZmlsZSAnL2V0Yy9hZGp0aW1lJyBjb250YWluaW5nIGFzIHRoZSBmaXJzdCBhbmQgb25seQorICoJICAgbGluZTogJzAuMCAwIDAuMCcKKyAqCWIpIHJ1biAnY2xvY2sgLWF1JyBvciAnY2xvY2sgLWEnLCBkZXBlbmRpbmcgb24gd2hldGhlciB5b3VyIGNtb3MgaXMKKyAqCSAgIGluIHVuaXZlcnNhbCBvciBsb2NhbCB0aW1lLiBUaGlzIHVwZGF0ZXMgdGhlIHNlY29uZCBudW1iZXIuCisgKgljKSBzZXQgeW91ciBzeXN0ZW0gdGltZSB1c2luZyB0aGUgJ2RhdGUnIGNvbW1hbmQuCisgKglkKSB1cGRhdGUgeW91ciBjbW9zIHRpbWUgdXNpbmcgJ2Nsb2NrIC13dScgb3IgJ2Nsb2NrIC13JworICoJZSkgcmVwbGFjZSB0aGUgZmlyc3QgbnVtYmVyIGluIC9ldGMvYWRqdGltZSBieSB5b3VyIGNvcnJlY3Rpb24uCisgKglmKSBwdXQgdGhlIGNvbW1hbmQgJ2Nsb2NrIC1hdScgb3IgJ2Nsb2NrIC1hJyBpbiB5b3VyICcvZXRjL3JjLmxvY2FsJworICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPG1hdGguaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImh3Y2xvY2suaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKyNpbmNsdWRlICJlbnYuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJwYXRoLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKworI2lmZGVmIEhBVkVfTElCQVVESVQKKyNpbmNsdWRlIDxsaWJhdWRpdC5oPgorc3RhdGljIGludCBod2F1ZGl0X2ZkID0gLTE7CisjZW5kaWYKKworVUxfREVCVUdfREVGSU5FX01BU0soaHdjbG9jayk7CitVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKGh3Y2xvY2spID0gVUxfREVCVUdfRU1QVFlfTUFTS05BTUVTOworCisvKiBUaGUgc3RydWN0IHRoYXQgaG9sZHMgb3VyIGhhcmR3YXJlIGFjY2VzcyByb3V0aW5lcyAqLworc3RhdGljIHN0cnVjdCBjbG9ja19vcHMgKnVyOworCisvKiBNYXhpbWFsIGNsb2NrIGFkanVzdG1lbnQgaW4gc2Vjb25kcyBwZXIgZGF5LgorICAgKGFkanRpbWUoKSBnbGliYyBjYWxsIGhhcyAyMTQ1IHNlY29uZHMgbGltaXQgb24gaTM4Niwgc28gaXQgaXMgZ29vZCBlbm91Z2ggZm9yIHVzIGFzIHdlbGwsCisgICA0MzIxOSBpcyBhIG1heGltYWwgc2FmZSB2YWx1ZSBwcmV2ZW50aW5nIGV4YWN0X2FkanVzdG1lbnQgb3ZlcmZsb3cuKSAqLworI2RlZmluZSBNQVhfRFJJRlQgMjE0NS4wCisKK3N0cnVjdCBhZGp0aW1lIHsKKwkvKgorCSAqIFRoaXMgaXMgaW5mb3JtYXRpb24gd2Uga2VlcCBpbiB0aGUgYWRqdGltZSBmaWxlIHRoYXQgdGVsbHMgdXMgaG93CisJICogdG8gZG8gZHJpZnQgY29ycmVjdGlvbnMuIEVsZW1lbnRzIGFyZSBhbGwgc3RyYWlnaHQgZnJvbSB0aGUKKwkgKiBhZGp0aW1lIGZpbGUsIHNvIHNlZSBkb2N1bWVudGF0aW9uIG9mIHRoYXQgZmlsZSBmb3IgZGV0YWlscy4KKwkgKiBFeGNlcHRpb24gaXMgPGRpcnR5Piwgd2hpY2ggaXMgYW4gaW5kaWNhdGlvbiB0aGF0IHdoYXQncyBpbiB0aGlzCisJICogc3RydWN0dXJlIGlzIG5vdCB3aGF0J3MgaW4gdGhlIGRpc2sgZmlsZSAoYmVjYXVzZSBpdCBoYXMgYmVlbgorCSAqIHVwZGF0ZWQgc2luY2UgcmVhZCBmcm9tIHRoZSBkaXNrIGZpbGUpLgorCSAqLworCWludCBkaXJ0eTsKKwkvKiBsaW5lIDEgKi8KKwlkb3VibGUgZHJpZnRfZmFjdG9yOworCXRpbWVfdCBsYXN0X2Fkal90aW1lOworCWRvdWJsZSBub3RfYWRqdXN0ZWQ7CisJLyogbGluZSAyICovCisJdGltZV90IGxhc3RfY2FsaWJfdGltZTsKKwkvKgorCSAqIFRoZSBtb3N0IHJlY2VudCB0aW1lIHRoYXQgd2Ugc2V0IHRoZSBjbG9jayBmcm9tIGFuIGV4dGVybmFsCisJICogYXV0aG9yaXR5IChhcyBvcHBvc2VkIHRvIGp1c3QgZG9pbmcgYSBkcmlmdCBhZGp1c3RtZW50KQorCSAqLworCS8qIGxpbmUgMyAqLworCWVudW0gYV9sb2NhbF91dGMgeyBVVEMgPSAwLCBMT0NBTCwgVU5LTk9XTiB9IGxvY2FsX3V0YzsKKwkvKgorCSAqIFRvIHdoaWNoIHRpbWUgem9uZSwgbG9jYWwgb3IgVVRDLCB3ZSBtb3N0IHJlY2VudGx5IHNldCB0aGUKKwkgKiBoYXJkd2FyZSBjbG9jay4KKwkgKi8KK307CisKK3N0YXRpYyB2b2lkIGh3Y2xvY2tfaW5pdF9kZWJ1Zyhjb25zdCBjaGFyICpzdHIpCit7CisJX19VTF9JTklUX0RFQlVHX0ZST01fU1RSSU5HKGh3Y2xvY2ssIEhXQ0xPQ0tfREVCVUdfLCAwLCBzdHIpOworCisJREJHKElOSVQsIHVsX2RlYnVnKCJod2Nsb2NrIGRlYnVnIG1hc2s6IDB4JTA0eCIsIGh3Y2xvY2tfZGVidWdfbWFzaykpOworCURCRyhJTklULCB1bF9kZWJ1ZygiaHdjbG9jayB2ZXJzaW9uOiAlcyIsIFBBQ0tBR0VfU1RSSU5HKSk7Cit9CisKKy8qIEZPUiBURVNUSU5HIE9OTFk6IGluamVjdCByYW5kb20gZGVsYXlzIG9mIHVwIHRvIDEwMDBtcyAqLworc3RhdGljIHZvaWQgdXBfdG9fMTAwMG1zX3NsZWVwKHZvaWQpCit7CisJaW50IHVzZWMgPSByYW5kb20oKSAlIDEwMDAwMDA7CisKKwlEQkcoUkFORE9NX1NMRUVQLCB1bF9kZWJ1Zygic2xlZXBpbmcgfiVkIHVzZWMiLCB1c2VjKSk7CisJeHVzbGVlcCh1c2VjKTsKK30KKworLyoKKyAqIHRpbWVfdCB0byB0aW1ldmFsIGNvbnZlcnNpb24uCisgKi8KK3N0YXRpYyBzdHJ1Y3QgdGltZXZhbCB0MnR2KHRpbWVfdCB0aW1ldCkKK3sKKwlzdHJ1Y3QgdGltZXZhbCByZXR0aW1ldmFsOworCisJcmV0dGltZXZhbC50dl9zZWMgPSB0aW1ldDsKKwlyZXR0aW1ldmFsLnR2X3VzZWMgPSAwOworCXJldHVybiByZXR0aW1ldmFsOworfQorCisvKgorICogVGhlIGRpZmZlcmVuY2UgaW4gc2Vjb25kcyBiZXR3ZWVuIHR3byB0aW1lcyBpbiAidGltZXZhbCIgZm9ybWF0LgorICovCitkb3VibGUgdGltZV9kaWZmKHN0cnVjdCB0aW1ldmFsIHN1YnRyYWhlbmQsIHN0cnVjdCB0aW1ldmFsIHN1YnRyYWN0b3IpCit7CisJcmV0dXJuIChzdWJ0cmFoZW5kLnR2X3NlYyAtIHN1YnRyYWN0b3IudHZfc2VjKQorCSAgICArIChzdWJ0cmFoZW5kLnR2X3VzZWMgLSBzdWJ0cmFjdG9yLnR2X3VzZWMpIC8gMUU2OworfQorCisvKgorICogVGhlIHRpbWUsIGluICJ0aW1ldmFsIiBmb3JtYXQsIHdoaWNoIGlzIDxpbmNyZW1lbnQ+IHNlY29uZHMgYWZ0ZXIgdGhlCisgKiB0aW1lIDxhZGRlbmQ+LiBPZiBjb3Vyc2UsIDxpbmNyZW1lbnQ+IG1heSBiZSBuZWdhdGl2ZS4KKyAqLworc3RhdGljIHN0cnVjdCB0aW1ldmFsIHRpbWVfaW5jKHN0cnVjdCB0aW1ldmFsIGFkZGVuZCwgZG91YmxlIGluY3JlbWVudCkKK3sKKwlzdHJ1Y3QgdGltZXZhbCBuZXd0aW1lOworCisJbmV3dGltZS50dl9zZWMgPSBhZGRlbmQudHZfc2VjICsgKGludClpbmNyZW1lbnQ7CisJbmV3dGltZS50dl91c2VjID0gYWRkZW5kLnR2X3VzZWMgKyAoaW5jcmVtZW50IC0gKGludClpbmNyZW1lbnQpICogMUU2OworCisJLyoKKwkgKiBOb3cgYWRqdXN0IGl0IHNvIHRoYXQgdGhlIG1pY3Jvc2Vjb25kIHZhbHVlIGlzIGJldHdlZW4gMCBhbmQgMQorCSAqIG1pbGxpb24uCisJICovCisJaWYgKG5ld3RpbWUudHZfdXNlYyA8IDApIHsKKwkJbmV3dGltZS50dl91c2VjICs9IDFFNjsKKwkJbmV3dGltZS50dl9zZWMgLT0gMTsKKwl9IGVsc2UgaWYgKG5ld3RpbWUudHZfdXNlYyA+PSAxRTYpIHsKKwkJbmV3dGltZS50dl91c2VjIC09IDFFNjsKKwkJbmV3dGltZS50dl9zZWMgKz0gMTsKKwl9CisJcmV0dXJuIG5ld3RpbWU7Cit9CisKK3N0YXRpYyBpbnQKK2h3X2Nsb2NrX2lzX3V0Yyhjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwsCisJCWNvbnN0IHN0cnVjdCBhZGp0aW1lIGFkanRpbWUpCit7CisJaW50IHJldDsKKworCWlmIChjdGwtPnV0YykKKwkJcmV0ID0gMTsJLyogLS11dGMgZXhwbGljaXRseSBnaXZlbiBvbiBjb21tYW5kIGxpbmUgKi8KKwllbHNlIGlmIChjdGwtPmxvY2FsX29wdCkKKwkJcmV0ID0gMDsJLyogLS1sb2NhbHRpbWUgZXhwbGljaXRseSBnaXZlbiAqLworCWVsc2UKKwkJLyogZ2V0IGluZm8gZnJvbSBhZGp0aW1lIGZpbGUgLSBkZWZhdWx0IGlzIFVUQyAqLworCQlyZXQgPSAoYWRqdGltZS5sb2NhbF91dGMgIT0gTE9DQUwpOworCWlmIChjdGwtPnZlcmJvc2UpCisJCXByaW50ZihfKCJBc3N1bWluZyBoYXJkd2FyZSBjbG9jayBpcyBrZXB0IGluICVzIHRpbWUuXG4iKSwKKwkJICAgICAgIHJldCA/IF8oIlVUQyIpIDogXygibG9jYWwiKSk7CisJcmV0dXJuIHJldDsKK30KKworLyoKKyAqIFJlYWQgdGhlIGFkanVzdG1lbnQgcGFyYW1ldGVycyBvdXQgb2YgdGhlIC9ldGMvYWRqdGltZSBmaWxlLgorICoKKyAqIFJldHVybiB0aGVtIGFzIHRoZSBhZGp0aW1lIHN0cnVjdHVyZSA8KmFkanRpbWVfcD4uIEl0cyBkZWZhdWx0cyBhcmUKKyAqIGluaXRpYWxpemVkIGluIG1haW4oKS4KKyAqLworc3RhdGljIGludCByZWFkX2FkanRpbWUoY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsLAorCQkJc3RydWN0IGFkanRpbWUgKmFkanRpbWVfcCkKK3sKKwlGSUxFICphZGpmaWxlOworCWNoYXIgbGluZTFbODFdOwkJLyogU3RyaW5nOiBmaXJzdCBsaW5lIG9mIGFkanRpbWUgZmlsZSAqLworCWNoYXIgbGluZTJbODFdOwkJLyogU3RyaW5nOiBzZWNvbmQgbGluZSBvZiBhZGp0aW1lIGZpbGUgKi8KKwljaGFyIGxpbmUzWzgxXTsJCS8qIFN0cmluZzogdGhpcmQgbGluZSBvZiBhZGp0aW1lIGZpbGUgKi8KKworCWlmIChhY2Nlc3MoY3RsLT5hZGpfZmlsZV9uYW1lLCBSX09LKSAhPSAwKQorCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCisJYWRqZmlsZSA9IGZvcGVuKGN0bC0+YWRqX2ZpbGVfbmFtZSwgInIiKTsJLyogb3BlbiBmaWxlIGZvciByZWFkaW5nICovCisJaWYgKGFkamZpbGUgPT0gTlVMTCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGN0bC0+YWRqX2ZpbGVfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJaWYgKCFmZ2V0cyhsaW5lMSwgc2l6ZW9mKGxpbmUxKSwgYWRqZmlsZSkpCisJCWxpbmUxWzBdID0gJ1wwJzsJLyogSW4gY2FzZSBmZ2V0cyBmYWlscyAqLworCWlmICghZmdldHMobGluZTIsIHNpemVvZihsaW5lMiksIGFkamZpbGUpKQorCQlsaW5lMlswXSA9ICdcMCc7CS8qIEluIGNhc2UgZmdldHMgZmFpbHMgKi8KKwlpZiAoIWZnZXRzKGxpbmUzLCBzaXplb2YobGluZTMpLCBhZGpmaWxlKSkKKwkJbGluZTNbMF0gPSAnXDAnOwkvKiBJbiBjYXNlIGZnZXRzIGZhaWxzICovCisKKwlmY2xvc2UoYWRqZmlsZSk7CisKKwlzc2NhbmYobGluZTEsICIlbGYgJWxkICVsZiIsCisJICAgICAgICZhZGp0aW1lX3AtPmRyaWZ0X2ZhY3RvciwKKwkgICAgICAgJmFkanRpbWVfcC0+bGFzdF9hZGpfdGltZSwKKwkgICAgICAgJmFkanRpbWVfcC0+bm90X2FkanVzdGVkKTsKKworCXNzY2FuZihsaW5lMiwgIiVsZCIsICZhZGp0aW1lX3AtPmxhc3RfY2FsaWJfdGltZSk7CisKKwlpZiAoIXN0cmNtcChsaW5lMywgIlVUQ1xuIikpIHsKKwkJYWRqdGltZV9wLT5sb2NhbF91dGMgPSBVVEM7CisJfSBlbHNlIGlmICghc3RyY21wKGxpbmUzLCAiTE9DQUxcbiIpKSB7CisJCWFkanRpbWVfcC0+bG9jYWxfdXRjID0gTE9DQUw7CisJfSBlbHNlIHsKKwkJYWRqdGltZV9wLT5sb2NhbF91dGMgPSBVTktOT1dOOworCQlpZiAobGluZTNbMF0pIHsKKwkJCXdhcm54KF8oIldhcm5pbmc6IHVucmVjb2duaXplZCB0aGlyZCBsaW5lIGluIGFkanRpbWUgZmlsZVxuIgorCQkJCSIoRXhwZWN0ZWQ6IGBVVEMnIG9yIGBMT0NBTCcgb3Igbm90aGluZy4pIikpOworCQl9CisJfQorCisJaWYgKGN0bC0+dmVyYm9zZSkgeworCQlwcmludGYoXworCQkgICAgICAgKCJMYXN0IGRyaWZ0IGFkanVzdG1lbnQgZG9uZSBhdCAlbGQgc2Vjb25kcyBhZnRlciAxOTY5XG4iKSwKKwkJICAgICAgIChsb25nKWFkanRpbWVfcC0+bGFzdF9hZGpfdGltZSk7CisJCXByaW50ZihfKCJMYXN0IGNhbGlicmF0aW9uIGRvbmUgYXQgJWxkIHNlY29uZHMgYWZ0ZXIgMTk2OVxuIiksCisJCSAgICAgICAobG9uZylhZGp0aW1lX3AtPmxhc3RfY2FsaWJfdGltZSk7CisJCXByaW50ZihfKCJIYXJkd2FyZSBjbG9jayBpcyBvbiAlcyB0aW1lXG4iKSwKKwkJICAgICAgIChhZGp0aW1lX3AtPmxvY2FsX3V0YyA9PQorCQkJTE9DQUwpID8gXygibG9jYWwiKSA6IChhZGp0aW1lX3AtPmxvY2FsX3V0YyA9PQorCQkJCQkgICAgICAgVVRDKSA/IF8oIlVUQyIpIDogXygidW5rbm93biIpKTsKKwl9CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCisvKgorICogV2FpdCB1bnRpbCB0aGUgZmFsbGluZyBlZGdlIG9mIHRoZSBIYXJkd2FyZSBDbG9jaydzIHVwZGF0ZSBmbGFnIHNvIHRoYXQKKyAqIGFueSB0aW1lIHRoYXQgaXMgcmVhZCBmcm9tIHRoZSBjbG9jayBpbW1lZGlhdGVseSBhZnRlciB3ZSByZXR1cm4gd2lsbCBiZQorICogZXhhY3QuCisgKgorICogVGhlIGNsb2NrIG9ubHkgaGFzIDEgc2Vjb25kIHByZWNpc2lvbiwgc28gaXQgZ2l2ZXMgdGhlIGV4YWN0IHRpbWUgb25seQorICogb25jZSBwZXIgc2Vjb25kLCByaWdodCBvbiB0aGUgZmFsbGluZyBlZGdlIG9mIHRoZSB1cGRhdGUgZmxhZy4KKyAqCisgKiBXZSB3YWl0ICh1cCB0byBvbmUgc2Vjb25kKSBlaXRoZXIgYmxvY2tlZCB3YWl0aW5nIGZvciBhbiBydGMgZGV2aWNlIG9yIGluCisgKiBhIENQVSBzcGluIGxvb3AuIFRoZSBmb3JtZXIgaXMgcHJvYmFibHkgbm90IHZlcnkgYWNjdXJhdGUuCisgKgorICogUmV0dXJuIDAgaWYgaXQgd29ya2VkLCBub256ZXJvIGlmIGl0IGRpZG4ndC4KKyAqLworc3RhdGljIGludCBzeW5jaHJvbml6ZV90b19jbG9ja190aWNrKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgcmM7CisKKwlpZiAoY3RsLT52ZXJib3NlKQorCQlwcmludGYoXygiV2FpdGluZyBmb3IgY2xvY2sgdGljay4uLlxuIikpOworCisJcmMgPSB1ci0+c3luY2hyb25pemVfdG9fY2xvY2tfdGljayhjdGwpOworCisJaWYgKGN0bC0+dmVyYm9zZSkgeworCQlpZiAocmMpCisJCQlwcmludGYoXygiLi4uc3luY2hyb25pemF0aW9uIGZhaWxlZFxuIikpOworCQllbHNlCisJCQlwcmludGYoXygiLi4uZ290IGNsb2NrIHRpY2tcbiIpKTsKKwl9CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBDb252ZXJ0IGEgdGltZSBpbiBicm9rZW4gZG93biBmb3JtYXQgKGhvdXJzLCBtaW51dGVzLCBldGMuKSBpbnRvIHN0YW5kYXJkCisgKiB1bml4IHRpbWUgKHNlY29uZHMgaW50byBlcG9jaCkuIFJldHVybiBpdCBhcyAqc3lzdGltZV9wLgorICoKKyAqIFRoZSBicm9rZW4gZG93biB0aW1lIGlzIGFyZ3VtZW50IDx0bT4uIFRoaXMgYnJva2VuIGRvd24gdGltZSBpcyBlaXRoZXIKKyAqIGluIGxvY2FsIHRpbWUgem9uZSBvciBVVEMsIGRlcGVuZGluZyBvbiB2YWx1ZSBvZiBsb2dpY2FsIGFyZ3VtZW50CisgKiAidW5pdmVyc2FsIi4gVHJ1ZSBtZWFucyBpdCBpcyBpbiBVVEMuCisgKgorICogSWYgdGhlIGFyZ3VtZW50IGNvbnRhaW5zIHZhbHVlcyB0aGF0IGRvIG5vdCBjb25zdGl0dXRlIGEgdmFsaWQgdGltZSwgYW5kCisgKiBta3RpbWUoKSByZWNvZ25pemVzIHRoaXMsIHJldHVybiAqdmFsaWRfcCA9PSBmYWxzZSBhbmQgKnN5c3RpbWVfcAorICogdW5kZWZpbmVkLiBIb3dldmVyLCBta3RpbWUoKSBzb21ldGltZXMgZ29lcyBhaGVhZCBhbmQgY29tcHV0ZXMgYQorICogZmljdGlvbmFsIHRpbWUgImFzIGlmIiB0aGUgaW5wdXQgdmFsdWVzIHdlcmUgdmFsaWQsIGUuZy4gaWYgdGhleSBpbmRpY2F0ZQorICogdGhlIDMxc3QgZGF5IG9mIEFwcmlsLCBta3RpbWUoKSBtYXkgY29tcHV0ZSB0aGUgdGltZSBvZiBNYXkgMS4gSW4gc3VjaCBhCisgKiBjYXNlLCB3ZSByZXR1cm4gdGhlIHNhbWUgZmljdGlvbmFsIHZhbHVlIG1rdGltZSgpIGRvZXMgYXMgKnN5c3RpbWVfcCBhbmQKKyAqIHJldHVybiAqdmFsaWRfcCA9PSB0cnVlLgorICovCitzdGF0aWMgaW50Citta3RpbWVfdHooY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsLCBzdHJ1Y3QgdG0gdG0sCisJICB0aW1lX3QgKnN5c3RpbWVfcCkKK3sKKwlpbnQgdmFsaWQ7CisKKwlpZiAoY3RsLT51bml2ZXJzYWwpCisJCSpzeXN0aW1lX3AgPSB0aW1lZ20oJnRtKTsKKwllbHNlCisJCSpzeXN0aW1lX3AgPSBta3RpbWUoJnRtKTsKKwlpZiAoKnN5c3RpbWVfcCA9PSAtMSkgeworCQkvKgorCQkgKiBUaGlzIGFwcGFyZW50bHkgKG5vdCBzcGVjaWZpZWQgaW4gbWt0aW1lKCkgZG9jdW1lbnRhdGlvbikKKwkJICogbWVhbnMgdGhlICd0bScgc3RydWN0dXJlIGRvZXMgbm90IGNvbnRhaW4gdmFsaWQgdmFsdWVzCisJCSAqIChob3dldmVyLCBub3QgY29udGFpbmluZyB2YWxpZCB2YWx1ZXMgZG9lcyBfbm90XyBpbXBseQorCQkgKiBta3RpbWUoKSByZXR1cm5zIC0xKS4KKwkJICovCisJCXZhbGlkID0gMDsKKwkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCXByaW50ZihfKCJJbnZhbGlkIHZhbHVlcyBpbiBoYXJkd2FyZSBjbG9jazogIgorCQkJCSAiJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZFxuIiksCisJCQkgICAgICAgdG0udG1feWVhciArIDE5MDAsIHRtLnRtX21vbiArIDEsIHRtLnRtX21kYXksCisJCQkgICAgICAgdG0udG1faG91ciwgdG0udG1fbWluLCB0bS50bV9zZWMpOworCX0gZWxzZSB7CisJCXZhbGlkID0gMTsKKwkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCXByaW50ZihfCisJCQkgICAgICAgKCJIdyBjbG9jayB0aW1lIDogJTRkLyUuMmQvJS4yZCAlLjJkOiUuMmQ6JS4yZCA9ICIKKwkJCQkiJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIiksIHRtLnRtX3llYXIgKyAxOTAwLAorCQkJICAgICAgIHRtLnRtX21vbiArIDEsIHRtLnRtX21kYXksIHRtLnRtX2hvdXIsIHRtLnRtX21pbiwKKwkJCSAgICAgICB0bS50bV9zZWMsIChsb25nKSpzeXN0aW1lX3ApOworCX0KKwlyZXR1cm4gdmFsaWQ7Cit9CisKKy8qCisgKiBSZWFkIHRoZSBoYXJkd2FyZSBjbG9jayBhbmQgcmV0dXJuIHRoZSBjdXJyZW50IHRpbWUgdmlhIDx0bT4gYXJndW1lbnQuCisgKgorICogVXNlIHRoZSBtZXRob2QgaW5kaWNhdGVkIGJ5IDxtZXRob2Q+IGFyZ3VtZW50IHRvIGFjY2VzcyB0aGUgaGFyZHdhcmUKKyAqIGNsb2NrLgorICovCitzdGF0aWMgaW50CityZWFkX2hhcmR3YXJlX2Nsb2NrKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwKKwkJICAgIGludCAqdmFsaWRfcCwgdGltZV90ICpzeXN0aW1lX3ApCit7CisJc3RydWN0IHRtIHRtOworCWludCBlcnI7CisKKwllcnIgPSB1ci0+cmVhZF9oYXJkd2FyZV9jbG9jayhjdGwsICZ0bSk7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsKKworCWlmIChjdGwtPnZlcmJvc2UpCisJCXByaW50ZihfCisJCSAgICAgICAoIlRpbWUgcmVhZCBmcm9tIEhhcmR3YXJlIENsb2NrOiAlNGQvJS4yZC8lLjJkICUwMmQ6JTAyZDolMDJkXG4iKSwKKwkJICAgICAgIHRtLnRtX3llYXIgKyAxOTAwLCB0bS50bV9tb24gKyAxLCB0bS50bV9tZGF5LCB0bS50bV9ob3VyLAorCQkgICAgICAgdG0udG1fbWluLCB0bS50bV9zZWMpOworCSp2YWxpZF9wID0gbWt0aW1lX3R6KGN0bCwgdG0sIHN5c3RpbWVfcCk7CisKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIFNldCB0aGUgSGFyZHdhcmUgQ2xvY2sgdG8gdGhlIHRpbWUgPG5ld3RpbWU+LCBpbiBsb2NhbCB0aW1lIHpvbmUgb3IgVVRDLAorICogYWNjb3JkaW5nIHRvIDx1bml2ZXJzYWw+LgorICovCitzdGF0aWMgdm9pZAorc2V0X2hhcmR3YXJlX2Nsb2NrKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwgY29uc3QgdGltZV90IG5ld3RpbWUpCit7CisJc3RydWN0IHRtIG5ld19icm9rZW5fdGltZTsKKwkvKgorCSAqIFRpbWUgdG8gd2hpY2ggd2Ugd2lsbCBzZXQgSGFyZHdhcmUgQ2xvY2ssIGluIGJyb2tlbiBkb3duIGZvcm1hdCwKKwkgKiBpbiB0aGUgdGltZSB6b25lIG9mIGNhbGxlcidzIGNob2ljZQorCSAqLworCisJaWYgKGN0bC0+dW5pdmVyc2FsKQorCQlnbXRpbWVfcigmbmV3dGltZSwgJm5ld19icm9rZW5fdGltZSk7CisJZWxzZQorCQlsb2NhbHRpbWVfcigmbmV3dGltZSwgJm5ld19icm9rZW5fdGltZSk7CisKKwlpZiAoY3RsLT52ZXJib3NlKQorCQlwcmludGYoXygiU2V0dGluZyBIYXJkd2FyZSBDbG9jayB0byAlLjJkOiUuMmQ6JS4yZCAiCisJCQkgIj0gJWxkIHNlY29uZHMgc2luY2UgMTk2OVxuIiksCisJCSAgICAgICBuZXdfYnJva2VuX3RpbWUudG1faG91ciwgbmV3X2Jyb2tlbl90aW1lLnRtX21pbiwKKwkJICAgICAgIG5ld19icm9rZW5fdGltZS50bV9zZWMsIChsb25nKW5ld3RpbWUpOworCisJaWYgKCFjdGwtPnRlc3RpbmcpCisJCXVyLT5zZXRfaGFyZHdhcmVfY2xvY2soY3RsLCAmbmV3X2Jyb2tlbl90aW1lKTsKK30KKworc3RhdGljIGRvdWJsZQorZ2V0X2hhcmR3YXJlX2RlbGF5KGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCkKK3sKKwljb25zdCBjaGFyICpkZXZwYXRoLCAqcnRjbmFtZTsKKwljaGFyIG5hbWVbMTI4ICsgMV07CisJc3RydWN0IHBhdGhfY3h0ICpwYzsKKwlpbnQgcmM7CisKKwlkZXZwYXRoID0gdXItPmdldF9kZXZpY2VfcGF0aCgpOworCWlmICghZGV2cGF0aCkKKwkJZ290byB1bmtub3duOworCisJcnRjbmFtZSA9IHN0cnJjaHIoZGV2cGF0aCwgJy8nKTsKKwlpZiAoIXJ0Y25hbWUgfHwgISoocnRjbmFtZSArIDEpKQorCQlnb3RvIHVua25vd247CisJcnRjbmFtZSsrOworCisJcGMgPSB1bF9uZXdfcGF0aCgiL3N5cy9jbGFzcy9ydGMvJXMiLCBydGNuYW1lKTsKKwlpZiAoIXBjKQorCQlnb3RvIHVua25vd247CisJcmMgPSB1bF9wYXRoX3NjYW5mKHBjLCAibmFtZSIsICIlMTI4W15cbiBdIiwgJm5hbWUpOworCXVsX3VucmVmX3BhdGgocGMpOworCisJaWYgKHJjICE9IDEgfHwgISpuYW1lKQorCQlnb3RvIHVua25vd247CisKKwlpZiAoY3RsLT52ZXJib3NlKQorCQlwcmludGYoXygiUlRDIHR5cGU6ICclcydcbiIpLCBuYW1lKTsKKworCS8qIE1DMTQ2ODE4QS1jb21wYXRpYmxlICh4ODYpICovCisJaWYgKHN0cmNtcChuYW1lLCAicnRjX2Ntb3MiKSA9PSAwKQorCQlyZXR1cm4gMC41OworCisJLyogQW5vdGhlciBIVyAqLworCXJldHVybiAwOwordW5rbm93bjoKKwkvKiBMZXQncyBiZSBiYWNrd2FyZGx5IGNvbXBhdGlibGUgKi8KKwlyZXR1cm4gMC41OworfQorCisKKy8qCisgKiBTZXQgdGhlIEhhcmR3YXJlIENsb2NrIHRvIHRoZSB0aW1lICJzZXRod3RpbWUiLCBpbiBsb2NhbCB0aW1lIHpvbmUgb3IKKyAqIFVUQywgYWNjb3JkaW5nIHRvICJ1bml2ZXJzYWwiLgorICoKKyAqIFdhaXQgZm9yIGEgZnJhY3Rpb24gb2YgYSBzZWNvbmQgc28gdGhhdCAic2V0aHd0aW1lIiBpcyB0aGUgdmFsdWUgb2YgdGhlCisgKiBIYXJkd2FyZSBDbG9jayBhcyBvZiBzeXN0ZW0gdGltZSAicmVmc3lzdGltZSIsIHdoaWNoIGlzIGluIHRoZSBwYXN0LiBGb3IKKyAqIGV4YW1wbGUsIGlmICJzZXRod3RpbWUiIGlzIDE0OjAzOjA1IGFuZCAicmVmc3lzdGltZSIgaXMgMTI6MTA6MDQuNSBhbmQKKyAqIHRoZSBjdXJyZW50IHN5c3RlbSB0aW1lIGlzIDEyOjEwOjA2LjA6IFdhaXQgLjUgc2Vjb25kcyAodG8gbWFrZSBleGFjdGx5IDIKKyAqIHNlY29uZHMgc2luY2UgInJlZnN5c3RpbWUiKSBhbmQgdGhlbiBzZXQgdGhlIEhhcmR3YXJlIENsb2NrIHRvIDE0OjAzOjA3LAorICogdGh1cyBnZXR0aW5nIGEgcHJlY2lzZSBhbmQgcmV0cm9hY3RpdmUgc2V0dGluZyBvZiB0aGUgY2xvY2suIFRoZSAuNSBkZWxheSBpcworICogZGVmYXVsdCBvbiB4ODYsIHNlZSAtLWRlbGF5IGFuZCBnZXRfaGFyZHdhcmVfZGVsYXkoKS4KKyAqCisgKiAoRG9uJ3QgYmUgY29uZnVzZWQgYnkgdGhlIGZhY3QgdGhhdCB0aGUgc3lzdGVtIGNsb2NrIGFuZCB0aGUgSGFyZHdhcmUKKyAqIENsb2NrIGRpZmZlciBieSB0d28gaG91cnMgaW4gdGhlIGFib3ZlIGV4YW1wbGUuIFRoYXQncyBqdXN0IHRvIHJlbWluZCB5b3UKKyAqIHRoYXQgdGhlcmUgYXJlIHR3byBpbmRlcGVuZGVudCB0aW1lIHNjYWxlcyBoZXJlKS4KKyAqCisgKiBUaGlzIGZ1bmN0aW9uIG91Z2h0IHRvIGJlIGFibGUgdG8gYWNjZXB0IHNldCB0aW1lcyBhcyBmcmFjdGlvbmFsIHRpbWVzLgorICogSWRlYSBmb3IgZnV0dXJlIGVuaGFuY2VtZW50LgorICovCitzdGF0aWMgdm9pZAorc2V0X2hhcmR3YXJlX2Nsb2NrX2V4YWN0KGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwKKwkJCSBjb25zdCB0aW1lX3Qgc2V0aHd0aW1lLAorCQkJIGNvbnN0IHN0cnVjdCB0aW1ldmFsIHJlZnN5c3RpbWUpCit7CisJLyoKKwkgKiBUaGUgSGFyZHdhcmUgQ2xvY2sgY2FuIG9ubHkgYmUgc2V0IHRvIGFueSBpbnRlZ2VyIHRpbWUgcGx1cyBvbmUKKwkgKiBoYWxmIHNlY29uZC4JIFRoZSBpbnRlZ2VyIHRpbWUgaXMgcmVxdWlyZWQgYmVjYXVzZSB0aGVyZSBpcyBubworCSAqIGludGVyZmFjZSB0byBzZXQgb3IgZ2V0IGEgZnJhY3Rpb25hbCBzZWNvbmQuCSBUaGUgYWRkaXRpb25hbCBoYWxmCisJICogc2Vjb25kIGlzIGJlY2F1c2UgdGhlIEhhcmR3YXJlIENsb2NrIHVwZGF0ZXMgdG8gdGhlIGZvbGxvd2luZworCSAqIHNlY29uZCBwcmVjaXNlbHkgNTAwIG1zIChub3QgMSBzZWNvbmQhKSBhZnRlciB5b3UgcmVsZWFzZSB0aGUKKwkgKiBkaXZpZGVyIHJlc2V0IChhZnRlciBzZXR0aW5nIHRoZSBuZXcgdGltZSkgLSBzZWUgZGVzY3JpcHRpb24gb2YKKwkgKiBEVjIsIERWMSwgRFYwIGluIFJlZ2lzdGVyIEEgaW4gdGhlIE1DMTQ2ODE4QSBkYXRhIHNoZWV0IChhbmQgbm90ZQorCSAqIHRoYXQgYWx0aG91Z2ggdGhhdCBkb2N1bWVudCBkb2Vzbid0IHNheSBzbywgcmVhbC13b3JsZCBjb2RlIHNlZW1zCisJICogdG8gZXhwZWN0IHRoYXQgdGhlIFNFVCBiaXQgaW4gUmVnaXN0ZXIgQiBmdW5jdGlvbnMgdGhlIHNhbWUgd2F5KS4KKwkgKiBUaGF0IG1lYW5zIHRoYXQsIGUuZy4sIHdoZW4geW91IHNldCB0aGUgY2xvY2sgdG8gMTowMjowMywgaXQKKwkgKiBlZmZlY3RpdmVseSByZWFsbHkgc2V0cyBpdCB0byAxOjAyOjAzLjUsIGJlY2F1c2UgaXQgd2lsbCB1cGRhdGUgdG8KKwkgKiAxOjAyOjA0IG9ubHkgaGFsZiBhIHNlY29uZCBsYXRlci4gIE91ciBjYWxsZXIgcGFzc2VzIHRoZSBkZXNpcmVkCisJICogaW50ZWdlciBIYXJkd2FyZSBDbG9jayB0aW1lIGluIHNldGh3dGltZSwgYW5kIHRoZSBjb3JyZXNwb25kaW5nCisJICogc3lzdGVtIHRpbWUgKHdoaWNoIG1heSBoYXZlIGEgZnJhY3Rpb25hbCBwYXJ0LCBhbmQgd2hpY2ggbWF5IG9yIG1heQorCSAqIG5vdCBiZSB0aGUgc2FtZSEpIGluIHJlZnN5c3RpbWUuICBJbiBhbiBpZGVhbCBzaXR1YXRpb24sIHdlIHdvdWxkCisJICogdGhlbiBhcHBseSBzZXRod3RpbWUgdG8gdGhlIEhhcmR3YXJlIENsb2NrIGF0IHJlZnN5c3RpbWUrNTAwbXMsIHNvCisJICogdGhhdCB3aGVuIHRoZSBIYXJkd2FyZSBDbG9jayB0aWNrcyBmb3J3YXJkIHRvIHNldGh3dGltZSsxcyBoYWxmIGEKKwkgKiBzZWNvbmQgbGF0ZXIgYXQgcmVmc3lzdGltZSsxMDAwbXMsIGV2ZXJ5dGhpbmcgaXMgaW4gc3luYy4gIFNvIHdlCisJICogc3Bpbiwgd2FpdGluZyBmb3IgZ2V0dGltZW9mZGF5KCkgdG8gcmV0dXJuIGEgdGltZSBhdCBvciBhZnRlciB0aGF0CisJICogdGltZSAocmVmc3lzdGltZSs1MDBtcykgdXAgdG8gYSB0b2xlcmFuY2UgdmFsdWUsIGluaXRpYWxseSAxbXMuICBJZgorCSAqIHdlIG1pc3MgdGhhdCB0aW1lIGR1ZSB0byBiZWluZyBwcmVlbXB0ZWQgZm9yIHNvbWUgb3RoZXIgcHJvY2VzcywKKwkgKiB0aGVuIHdlIGluY3JlYXNlIHRoZSBtYXJnaW4gYSBsaXR0bGUgYml0IChpbml0aWFsbHkgMW1zLCBkb3VibGluZworCSAqIGVhY2ggdGltZSksIGFkZCAxIHNlY29uZCAob3IgbW9yZSwgaWYgbmVlZGVkIHRvIGdldCBhIHRpbWUgdGhhdCBpcworCSAqIGluIHRoZSBmdXR1cmUpIHRvIGJvdGggdGhlIHRpbWUgZm9yIHdoaWNoIHdlIGFyZSB3YWl0aW5nIGFuZCB0aGUKKwkgKiB0aW1lIHRoYXQgd2Ugd2lsbCBhcHBseSB0byB0aGUgSGFyZHdhcmUgQ2xvY2ssIGFuZCBzdGFydCB3YWl0aW5nCisJICogYWdhaW4uCisJICogCisJICogRm9yIGV4YW1wbGUsIHRoZSBjYWxsZXIgcmVxdWVzdHMgdGhhdCB3ZSBzZXQgdGhlIEhhcmR3YXJlIENsb2NrIHRvCisJICogMTowMjowMywgd2l0aCByZWZlcmVuY2UgdGltZSAoY3VycmVudCBzeXN0ZW0gdGltZSkgPSA2OjA3OjA4LjI1MC4KKwkgKiBXZSB3YW50IHRoZSBIYXJkd2FyZSBDbG9jayB0byB1cGRhdGUgdG8gMTowMjowNCBhdCA2OjA3OjA5LjI1MCBvbgorCSAqIHRoZSBzeXN0ZW0gY2xvY2ssIGFuZCB0aGUgZmlyc3Qgc3VjaCB1cGRhdGUgd2lsbCBvY2N1ciAwLjUwMAorCSAqIHNlY29uZHMgYWZ0ZXIgd2Ugd3JpdGUgdG8gdGhlIEhhcmR3YXJlIENsb2NrLCBzbyB3ZSBzcGluIHVudGlsIHRoZQorCSAqIHN5c3RlbSBjbG9jayByZWFkcyA2OjA3OjA4Ljc1MC4gIElmIHdlIGdldCB0aGVyZSwgZ3JlYXQsIGJ1dCBsZXQncworCSAqIGltYWdpbmUgdGhlIHN5c3RlbSBpcyBzbyBoZWF2aWx5IGxvYWRlZCB0aGF0IG91ciBwcm9jZXNzIGlzCisJICogcHJlZW1wdGVkIGFuZCBieSB0aGUgdGltZSB3ZSBnZXQgdG8gcnVuIGFnYWluLCB0aGUgc3lzdGVtIGNsb2NrCisJICogcmVhZHMgNjowNzoxMS45OTAuICBXZSBub3cgd2FudCB0byB3YWl0IHVudGlsIHRoZSBuZXh0IHh4Onh4Onh4Ljc1MAorCSAqIHRpbWUsIHdoaWNoIGlzIDY6MDc6MTIuNzUwICg0LjUgc2Vjb25kcyBhZnRlciB0aGUgcmVmZXJlbmNlIHRpbWUpLAorCSAqIGF0IHdoaWNoIHBvaW50IHdlIHdpbGwgc2V0IHRoZSBIYXJkd2FyZSBDbG9jayB0byAxOjAyOjA3ICg0IHNlY29uZHMKKwkgKiBhZnRlciB0aGUgb3JpZ2luYWxseSByZXF1ZXN0ZWQgdGltZSkuICBJZiB3ZSBkbyB0aGF0IHN1Y2Nlc3NmdWxseSwKKwkgKiB0aGVuIGF0IDY6MDc6MTMuMjUwICg1IHNlY29uZHMgYWZ0ZXIgdGhlIHJlZmVyZW5jZSB0aW1lKSwgdGhlCisJICogSGFyZHdhcmUgQ2xvY2sgd2lsbCB1cGRhdGUgdG8gMTowMjowOCAoNSBzZWNvbmRzIGFmdGVyIHRoZQorCSAqIG9yaWdpbmFsbHkgcmVxdWVzdGVkIHRpbWUpLCBhbmQgYWxsIGlzIHdlbGwgdGhlcmVhZnRlci4KKwkgKi8KKworCXRpbWVfdCBuZXdod3RpbWUgPSBzZXRod3RpbWU7CisJZG91YmxlIHRhcmdldF90aW1lX3RvbGVyYW5jZV9zZWNzID0gMC4wMDE7ICAvKiBpbml0aWFsIHZhbHVlICovCisJZG91YmxlIHRvbGVyYW5jZV9pbmNyX3NlY3MgPSAwLjAwMTsJICAgIC8qIGluaXRpYWwgdmFsdWUgKi8KKwlkb3VibGUgZGVsYXk7CisJc3RydWN0IHRpbWV2YWwgcnRjX3NldF9kZWxheV90djsKKworCXN0cnVjdCB0aW1ldmFsIHRhcmdldHN5c3RpbWU7CisJc3RydWN0IHRpbWV2YWwgbm93c3lzdGltZTsKKwlzdHJ1Y3QgdGltZXZhbCBwcmV2c3lzdGltZSA9IHJlZnN5c3RpbWU7CisJZG91YmxlIGRlbHRhdnN0YXJnZXQ7CisKKwlpZiAoY3RsLT5ydGNfZGVsYXkgIT0gLTEuMCkgICAgICAgIC8qIC0tZGVsYXkgc3BlY2lmaWVkICovCisJCWRlbGF5ID0gY3RsLT5ydGNfZGVsYXk7CisJZWxzZQorCQlkZWxheSA9IGdldF9oYXJkd2FyZV9kZWxheShjdGwpOworCisJaWYgKGN0bC0+dmVyYm9zZSkKKwkJcHJpbnRmKF8oIlVzaW5nIGRlbGF5OiAlLjZmIHNlY29uZHNcbiIpLCBkZWxheSk7CisKKwlydGNfc2V0X2RlbGF5X3R2LnR2X3NlYyA9IDA7CisJcnRjX3NldF9kZWxheV90di50dl91c2VjID0gZGVsYXkgKiAxRTY7CisKKwl0aW1lcmFkZCgmcmVmc3lzdGltZSwgJnJ0Y19zZXRfZGVsYXlfdHYsICZ0YXJnZXRzeXN0aW1lKTsKKworCXdoaWxlICgxKSB7CisJCWRvdWJsZSB0aWNrc2l6ZTsKKworCQlPTl9EQkcoUkFORE9NX1NMRUVQLCB1cF90b18xMDAwbXNfc2xlZXAoKSk7CisKKwkJZ2V0dGltZW9mZGF5KCZub3dzeXN0aW1lLCBOVUxMKTsKKwkJZGVsdGF2c3RhcmdldCA9IHRpbWVfZGlmZihub3dzeXN0aW1lLCB0YXJnZXRzeXN0aW1lKTsKKwkJdGlja3NpemUgPSB0aW1lX2RpZmYobm93c3lzdGltZSwgcHJldnN5c3RpbWUpOworCQlwcmV2c3lzdGltZSA9IG5vd3N5c3RpbWU7CisKKwkJaWYgKHRpY2tzaXplIDwgMCkgeworCQkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCQlwcmludGYoXygidGltZSBqdW1wZWQgYmFja3dhcmQgJS42ZiBzZWNvbmRzICIKKwkJCQkJICJ0byAlbGQuJTA2bGQgLSByZXRhcmdldGluZ1xuIiksCisJCQkJICAgICAgIHRpY2tzaXplLCBub3dzeXN0aW1lLnR2X3NlYywKKwkJCQkgICAgICAgbm93c3lzdGltZS50dl91c2VjKTsKKwkJCS8qIFRoZSByZXRhcmdldCBpcyBoYW5kbGVkIGF0IHRoZSBlbmQgb2YgdGhlIGxvb3AuICovCisJCX0gZWxzZSBpZiAoZGVsdGF2c3RhcmdldCA8IDApIHsKKwkJCS8qIGRlbHRhdnN0YXJnZXQgPCAwIGlmIGN1cnJlbnQgdGltZSA8IHRhcmdldCB0aW1lICovCisJCQlEQkcoREVMVEFfVlNfVEFSR0VULAorCQkJICAgIHVsX2RlYnVnKCIlbGQuJTA2bGQgPCAlbGQuJTA2bGQgKCUuNmYpIiwKKwkJCQkgICAgIG5vd3N5c3RpbWUudHZfc2VjLCBub3dzeXN0aW1lLnR2X3VzZWMsCisJCQkJICAgICB0YXJnZXRzeXN0aW1lLnR2X3NlYywKKwkJCQkgICAgIHRhcmdldHN5c3RpbWUudHZfdXNlYywgZGVsdGF2c3RhcmdldCkpOworCQkJY29udGludWU7ICAvKiBub3QgdGhlcmUgeWV0IC0ga2VlcCBzcGlubmluZyAqLworCQl9IGVsc2UgaWYgKGRlbHRhdnN0YXJnZXQgPD0gdGFyZ2V0X3RpbWVfdG9sZXJhbmNlX3NlY3MpIHsKKwkJCS8qIENsb3NlIGVub3VnaCB0byB0aGUgdGFyZ2V0IHRpbWU7IGRvbmUgd2FpdGluZy4gKi8KKwkJCWJyZWFrOworCQl9IGVsc2UgLyogKGRlbHRhdnN0YXJnZXQgPiB0YXJnZXRfdGltZV90b2xlcmFuY2Vfc2VjcykgKi8geworCQkJLyoKKwkJCSAqIFdlIG1pc3NlZCBvdXIgd2luZG93LiAgSW5jcmVhc2UgdGhlIHRvbGVyYW5jZSBhbmQKKwkJCSAqIGFpbSBmb3IgdGhlIG5leHQgb3Bwb3J0dW5pdHkuCisJCQkgKi8KKwkJCWlmIChjdGwtPnZlcmJvc2UpCisJCQkJcHJpbnRmKF8oIm1pc3NlZCBpdCAtICVsZC4lMDZsZCBpcyB0b28gZmFyICIKKwkJCQkJICJwYXN0ICVsZC4lMDZsZCAoJS42ZiA+ICUuNmYpXG4iKSwKKwkJCQkgICAgICAgbm93c3lzdGltZS50dl9zZWMsCisJCQkJICAgICAgIG5vd3N5c3RpbWUudHZfdXNlYywKKwkJCQkgICAgICAgdGFyZ2V0c3lzdGltZS50dl9zZWMsCisJCQkJICAgICAgIHRhcmdldHN5c3RpbWUudHZfdXNlYywKKwkJCQkgICAgICAgZGVsdGF2c3RhcmdldCwKKwkJCQkgICAgICAgdGFyZ2V0X3RpbWVfdG9sZXJhbmNlX3NlY3MpOworCQkJdGFyZ2V0X3RpbWVfdG9sZXJhbmNlX3NlY3MgKz0gdG9sZXJhbmNlX2luY3Jfc2VjczsKKwkJCXRvbGVyYW5jZV9pbmNyX3NlY3MgKj0gMjsKKwkJfQorCisJCS8qCisJCSAqIEFpbSBmb3IgdGhlIHNhbWUgb2Zmc2V0ICh0dl91c2VjKSB3aXRoaW4gdGhlIHNlY29uZCBpbgorCQkgKiBlaXRoZXIgdGhlIGN1cnJlbnQgc2Vjb25kIChpZiB0aGF0IG9mZnNldCBoYXNuJ3QgYXJyaXZlZAorCQkgKiB5ZXQpLCBvciB0aGUgbmV4dCBzZWNvbmQuCisJCSAqLworCQlpZiAobm93c3lzdGltZS50dl91c2VjIDwgdGFyZ2V0c3lzdGltZS50dl91c2VjKQorCQkJdGFyZ2V0c3lzdGltZS50dl9zZWMgPSBub3dzeXN0aW1lLnR2X3NlYzsKKwkJZWxzZQorCQkJdGFyZ2V0c3lzdGltZS50dl9zZWMgPSBub3dzeXN0aW1lLnR2X3NlYyArIDE7CisJfQorCisJbmV3aHd0aW1lID0gc2V0aHd0aW1lCisJCSAgICArIChpbnQpKHRpbWVfZGlmZihub3dzeXN0aW1lLCByZWZzeXN0aW1lKQorCQkJICAgIC0gZGVsYXkgLyogZG9uJ3QgY291bnQgdGhpcyAqLworCQkJICAgICsgMC41IC8qIGZvciByb3VuZGluZyAqLyk7CisJaWYgKGN0bC0+dmVyYm9zZSkKKwkJcHJpbnRmKF8oIiVsZC4lMDZsZCBpcyBjbG9zZSBlbm91Z2ggdG8gJWxkLiUwNmxkICglLjZmIDwgJS42ZilcbiIKKwkJCSAiU2V0IFJUQyB0byAlbGQgKCVsZCArICVkOyByZWZzeXN0aW1lID0gJWxkLiUwNmxkKVxuIiksCisJCSAgICAgICBub3dzeXN0aW1lLnR2X3NlYywgbm93c3lzdGltZS50dl91c2VjLAorCQkgICAgICAgdGFyZ2V0c3lzdGltZS50dl9zZWMsIHRhcmdldHN5c3RpbWUudHZfdXNlYywKKwkJICAgICAgIGRlbHRhdnN0YXJnZXQsIHRhcmdldF90aW1lX3RvbGVyYW5jZV9zZWNzLAorCQkgICAgICAgbmV3aHd0aW1lLCBzZXRod3RpbWUsCisJCSAgICAgICAoaW50KShuZXdod3RpbWUgLSBzZXRod3RpbWUpLAorCQkgICAgICAgcmVmc3lzdGltZS50dl9zZWMsIHJlZnN5c3RpbWUudHZfdXNlYyk7CisKKwlzZXRfaGFyZHdhcmVfY2xvY2soY3RsLCBuZXdod3RpbWUpOworfQorCitzdGF0aWMgaW50CitkaXNwbGF5X3RpbWUoc3RydWN0IHRpbWV2YWwgaHdjdGltZSkKK3sKKwljaGFyIGJ1ZltJU09fQlVGU0laXTsKKworCWlmIChzdHJ0aW1ldmFsX2lzbygmaHdjdGltZSwgSVNPX1RJTUVTVEFNUF9ET1QsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJcHJpbnRmKCIlc1xuIiwgYnVmKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQorCisvKgorICogQWRqdXN0cyBTeXN0ZW0gdGltZSwgc2V0cyB0aGUga2VybmVsJ3MgdGltZXpvbmUgYW5kIFJUQyB0aW1lc2NhbGUuCisgKgorICogVGhlIGtlcm5lbCB3YXJwX2Nsb2NrIGZ1bmN0aW9uIGFkanVzdHMgdGhlIFN5c3RlbSB0aW1lIGFjY29yZGluZyB0byB0aGUKKyAqIHR6LnR6X21pbnV0ZXN3ZXN0IGFyZ3VtZW50IGFuZCBzZXRzIFBDSUwgKHNlZSBiZWxvdykuIEF0IGJvb3Qgc2V0dGltZW9mZGF5KDIpCisgKiBoYXMgb25lLXNob3QgYWNjZXNzIHRvIHRoaXMgZnVuY3Rpb24gYXMgc2hvd24gaW4gdGhlIHRhYmxlIGJlbG93LgorICoKKyAqICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogfCAgICAgICAgICAgICAgICAgICAgICAgc2V0dGltZW9mZGF5KHR2LCB0eikgICAgICAgICAgICAgICAgICAgICAgICB8CisgKiB8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKKyAqIHwgICAgIEFyZ3VtZW50cyAgICAgfCAgU3lzdGVtIFRpbWUgIHwgUENJTCB8ICAgICAgICAgICB8IHdhcnBfY2xvY2sgfAorICogfCAgIHR2ICAgIHwgICB0eiAgICB8IHNldCAgfCB3YXJwZWQgfCBzZXQgIHwgZmlyc3R0aW1lIHwgICBsb2NrZWQgICB8CisgKiB8LS0tLS0tLS0tfC0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS18LS0tLS0tfC0tLS0tLS0tLS0tfC0tLS0tLS0tLS0tLXwKKyAqIHwgcG9pbnRlciB8IE5VTEwgICAgfCAgeWVzIHwgICBubyAgIHwgIG5vICB8ICAgICAxICAgICB8ICAgIG5vICAgICAgfAorICogfCBwb2ludGVyIHwgcG9pbnRlciB8ICB5ZXMgfCAgIG5vICAgfCAgbm8gIHwgICAgIDAgICAgIHwgICAgeWVzICAgICB8CisgKiB8IE5VTEwgICAgfCBwdHIydXRjIHwgIG5vICB8ICAgbm8gICB8ICBubyAgfCAgICAgMCAgICAgfCAgICB5ZXMgICAgIHwKKyAqIHwgTlVMTCAgICB8IHBvaW50ZXIgfCAgbm8gIHwgICB5ZXMgIHwgIHllcyB8ICAgICAwICAgICB8ICAgIHllcyAgICAgfAorICogKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiBwdHIydXRjOiB0ei50el9taW51dGVzd2VzdCBpcyB6ZXJvIChVVEMpLgorICogUENJTDogcGVyc2lzdGVudF9jbG9ja19pc19sb2NhbCwgc2V0cyB0aGUgIjExIG1pbnV0ZSBtb2RlIiB0aW1lc2NhbGUuCisgKiBmaXJzdHRpbWU6IGxvY2tzIHRoZSB3YXJwX2Nsb2NrIGZ1bmN0aW9uIChpbml0aWFsaXplZCB0byAxIGF0IGJvb3QpLgorICoKKyAqICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0rCisgKiB8ICBvcCAgICAgfCBSVEMgc2NhbGUgfCBzZXR0aW1lb2ZkYXkgY2FsbHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAorICogfC0tLS0tLS0tLXwtLS0tLS0tLS0tLXwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLXwKKyAqIHwgc3lzdHogICB8ICAgTG9jYWwgICB8IDEpIHdhcnBzIHN5c3RlbSB0aW1lKiwgc2V0cyBQQ0lMKiBhbmQga2VybmVsIHR6ICAgICB8CisgKiB8IHN5c3R6ICAgfCAgIFVUQyAgICAgfCAxc3QpIGxvY2tzIHdhcnBfY2xvY2sqIDJuZCkgc2V0cyBrZXJuZWwgdHogICAgICAgICAgfAorICogfCBoY3Rvc3lzIHwgICBMb2NhbCAgIHwgMXN0KSBzZXRzIFBDSUwqIDJuZCkgc2V0cyBzeXN0ZW0gdGltZSBhbmQga2VybmVsIHR6IHwKKyAqIHwgaGN0b3N5cyB8ICAgVVRDICAgICB8IDEpIHNldHMgc3lzdGVtIHRpbWUgYW5kIGtlcm5lbCB0eiAgICAgICAgICAgICAgICAgICB8CisgKiArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKworICogICAgICAgICAgICAgICAgICAgICAgICAgKiBvbmx5IG9uIGZpcnN0IGNhbGwgYWZ0ZXIgYm9vdAorICovCitzdGF0aWMgaW50CitzZXRfc3lzdGVtX2Nsb2NrKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwKKwkJIGNvbnN0IHN0cnVjdCB0aW1ldmFsIG5ld3RpbWUpCit7CisJc3RydWN0IHRtIGJyb2tlbjsKKwlpbnQgbWludXRlc3dlc3Q7CisJaW50IHJjID0gMDsKKwljb25zdCBzdHJ1Y3QgdGltZXpvbmUgdHpfdXRjID0geyAwIH07CisKKwlsb2NhbHRpbWVfcigmbmV3dGltZS50dl9zZWMsICZicm9rZW4pOworCW1pbnV0ZXN3ZXN0ID0gLWdldF9nbXRvZmYoJmJyb2tlbikgLyA2MDsKKworCWlmIChjdGwtPnZlcmJvc2UpIHsKKwkJaWYgKGN0bC0+aGN0b3N5cyAmJiAhY3RsLT51bml2ZXJzYWwpCisJCQlwcmludGYoXygiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpIHRvIHNldCAiCisJCQkJICJwZXJzaXN0ZW50X2Nsb2NrX2lzX2xvY2FsLlxuIiksIG1pbnV0ZXN3ZXN0KTsKKwkJaWYgKGN0bC0+c3lzdHogJiYgY3RsLT51bml2ZXJzYWwpCisJCQlwdXRzKF8oIkNhbGxpbmcgc2V0dGltZW9mZGF5KE5VTEwsIDApICIKKwkJCQkidG8gbG9jayB0aGUgd2FycCBmdW5jdGlvbi4iKSk7CisJCWlmIChjdGwtPmhjdG9zeXMpCisJCQlwcmludGYoXygiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoJWxkLiUwNmxkLCAlZClcbiIpLAorCQkJICAgICAgIG5ld3RpbWUudHZfc2VjLCBuZXd0aW1lLnR2X3VzZWMsIG1pbnV0ZXN3ZXN0KTsKKwkJZWxzZSB7CisJCQlwcmludGYoXygiQ2FsbGluZyBzZXR0aW1lb2ZkYXkoTlVMTCwgJWQpICIpLCBtaW51dGVzd2VzdCk7CisJCQlpZiAoY3RsLT51bml2ZXJzYWwpCisJCQkJIHB1dHMoXygidG8gc2V0IHRoZSBrZXJuZWwgdGltZXpvbmUuIikpOworCQkJZWxzZQorCQkJCSBwdXRzKF8oInRvIHdhcnAgU3lzdGVtIHRpbWUuIikpOworCQl9CisJfQorCisJaWYgKCFjdGwtPnRlc3RpbmcpIHsKKwkJY29uc3Qgc3RydWN0IHRpbWV6b25lIHR6ID0geyBtaW51dGVzd2VzdCB9OworCisJCWlmIChjdGwtPmhjdG9zeXMgJiYgIWN0bC0+dW5pdmVyc2FsKQkvKiBzZXQgUENJTCAqLworCQkJcmMgPSBzZXR0aW1lb2ZkYXkoTlVMTCwgJnR6KTsKKwkJaWYgKGN0bC0+c3lzdHogJiYgY3RsLT51bml2ZXJzYWwpCS8qIGxvY2sgd2FycF9jbG9jayAqLworCQkJcmMgPSBzZXR0aW1lb2ZkYXkoTlVMTCwgJnR6X3V0Yyk7CisJCWlmICghcmMgJiYgY3RsLT5oY3Rvc3lzKQorCQkJcmMgPSBzZXR0aW1lb2ZkYXkoJm5ld3RpbWUsICZ0eik7CisJCWVsc2UgaWYgKCFyYykKKwkJCXJjID0gc2V0dGltZW9mZGF5KE5VTEwsICZ0eik7CisKKwkJaWYgKHJjKSB7CisJCQl3YXJuKF8oInNldHRpbWVvZmRheSgpIGZhaWxlZCIpKTsKKwkJCXJldHVybiAgRVhJVF9GQUlMVVJFOworCQl9CisJfQorCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKKy8qCisgKiBSZWZyZXNoIHRoZSBsYXN0IGNhbGlicmF0ZWQgYW5kIGxhc3QgYWRqdXN0ZWQgdGltZXN0YW1wcyBpbiA8KmFkanRpbWVfcD4KKyAqIHRvIGZhY2lsaXRhdGUgZnV0dXJlIGRyaWZ0IGNhbGN1bGF0aW9ucyBiYXNlZCBvbiB0aGlzIHNldCBwb2ludC4KKyAqCisgKiBXaXRoIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb246CisgKiBVcGRhdGUgdGhlIGRyaWZ0IGZhY3RvciBpbiA8KmFkanRpbWVfcD4gYmFzZWQgb24gdGhlIGZhY3QgdGhhdCB0aGUKKyAqIEhhcmR3YXJlIENsb2NrIHdhcyBqdXN0IGNhbGlicmF0ZWQgdG8gPG5vd3RpbWU+IGFuZCBiZWZvcmUgdGhhdCB3YXMKKyAqIHNldCB0byB0aGUgPGhjbG9ja3RpbWU+IHRpbWUgc2NhbGUuCisgKi8KK3N0YXRpYyB2b2lkCithZGp1c3RfZHJpZnRfZmFjdG9yKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwKKwkJICAgIHN0cnVjdCBhZGp0aW1lICphZGp0aW1lX3AsCisJCSAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCBub3d0aW1lLAorCQkgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgaGNsb2NrdGltZSkKK3sKKwlpZiAoIWN0bC0+dXBkYXRlKSB7CisJCWlmIChjdGwtPnZlcmJvc2UpCisJCQlwcmludGYoXygiTm90IGFkanVzdGluZyBkcmlmdCBmYWN0b3IgYmVjYXVzZSB0aGUgIgorCQkJCSAiLS11cGRhdGUtZHJpZnQgb3B0aW9uIHdhcyBub3QgdXNlZC5cbiIpKTsKKwl9IGVsc2UgaWYgKGFkanRpbWVfcC0+bGFzdF9jYWxpYl90aW1lID09IDApIHsKKwkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCXByaW50ZihfKCJOb3QgYWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBiZWNhdXNlIGxhc3QgIgorCQkJCSAiY2FsaWJyYXRpb24gdGltZSBpcyB6ZXJvLFxuIgorCQkJCSAic28gaGlzdG9yeSBpcyBiYWQgYW5kIGNhbGlicmF0aW9uIHN0YXJ0b3ZlciAiCisJCQkJICJpcyBuZWNlc3NhcnkuXG4iKSk7CisJfSBlbHNlIGlmICgoaGNsb2NrdGltZS50dl9zZWMgLSBhZGp0aW1lX3AtPmxhc3RfY2FsaWJfdGltZSkgPCA0ICogNjAgKiA2MCkgeworCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJcHJpbnRmKF8oIk5vdCBhZGp1c3RpbmcgZHJpZnQgZmFjdG9yIGJlY2F1c2UgaXQgaGFzICIKKwkJCQkgImJlZW4gbGVzcyB0aGFuIGZvdXIgaG91cnMgc2luY2UgdGhlIGxhc3QgIgorCQkJCSAiY2FsaWJyYXRpb24uXG4iKSk7CisJfSBlbHNlIHsKKwkJLyoKKwkJICogQXQgYWRqdXN0bWVudCB0aW1lIHdlIGRyaWZ0IGNvcnJlY3QgdGhlIGhhcmR3YXJlIGNsb2NrCisJCSAqIGFjY29yZGluZyB0byB0aGUgY29udGVudHMgb2YgdGhlIGFkanRpbWUgZmlsZSBhbmQgcmVmcmVzaAorCQkgKiBpdHMgbGFzdCBhZGp1c3RlZCB0aW1lc3RhbXAuCisJCSAqCisJCSAqIEF0IGNhbGlicmF0aW9uIHRpbWUgd2Ugc2V0IHRoZSBIYXJkd2FyZSBDbG9jayBhbmQgcmVmcmVzaAorCQkgKiBib3RoIHRpbWVzdGFtcHMgaW4gPCphZGp0aW1lX3A+LgorCQkgKgorCQkgKiBIZXJlLCB3aXRoIHRoZSAtLXVwZGF0ZS1kcmlmdCBvcHRpb24sIHdlIGFsc28gdXBkYXRlIHRoZQorCQkgKiBkcmlmdCBmYWN0b3IgaW4gPCphZGp0aW1lX3A+LgorCQkgKgorCQkgKiBMZXQgdXMgZG8gY29tcHV0YXRpb24gaW4gZG91Ymxlcy4gKEZsb2F0cyBhbG1vc3Qgc3VmZmljZSwKKwkJICogYnV0IDE5NSBkYXlzICsgMSBzZWNvbmQgZXF1YWxzIDE5NSBkYXlzIGluIGZsb2F0cy4pCisJCSAqLworCQljb25zdCBkb3VibGUgc2VjX3Blcl9kYXkgPSAyNC4wICogNjAuMCAqIDYwLjA7CisJCWRvdWJsZSBmYWN0b3JfYWRqdXN0OworCQlkb3VibGUgZHJpZnRfZmFjdG9yOworCQlzdHJ1Y3QgdGltZXZhbCBsYXN0X2NhbGliOworCisJCWxhc3RfY2FsaWIgPSB0MnR2KGFkanRpbWVfcC0+bGFzdF9jYWxpYl90aW1lKTsKKwkJLyoKKwkJICogQ29ycmVjdGlvbiB0byBhcHBseSB0byB0aGUgY3VycmVudCBkcmlmdCBmYWN0b3IuCisJCSAqCisJCSAqIFNpbXBsaWZpZWQ6IHVuY29ycmVjdGVkX2RyaWZ0IC8gZGF5c19zaW5jZV9jYWxpYnJhdGlvbi4KKwkJICoKKwkJICogaGNsb2NrdGltZSBpcyBmdWxseSBjb3JyZWN0ZWQgd2l0aCB0aGUgY3VycmVudCBkcmlmdCBmYWN0b3IuCisJCSAqIEl0cyBkaWZmZXJlbmNlIGZyb20gbm93dGltZSBpcyB0aGUgbWlzc2VkIGRyaWZ0IGNvcnJlY3Rpb24uCisJCSAqLworCQlmYWN0b3JfYWRqdXN0ID0gdGltZV9kaWZmKG5vd3RpbWUsIGhjbG9ja3RpbWUpIC8KKwkJCQkodGltZV9kaWZmKG5vd3RpbWUsIGxhc3RfY2FsaWIpIC8gc2VjX3Blcl9kYXkpOworCisJCWRyaWZ0X2ZhY3RvciA9IGFkanRpbWVfcC0+ZHJpZnRfZmFjdG9yICsgZmFjdG9yX2FkanVzdDsKKwkJaWYgKGZhYnMoZHJpZnRfZmFjdG9yKSA+IE1BWF9EUklGVCkgeworCQkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCQlwcmludGYoXygiQ2xvY2sgZHJpZnQgZmFjdG9yIHdhcyBjYWxjdWxhdGVkIGFzICIKKwkJCQkJICIlZiBzZWNvbmRzL2RheS5cbiIKKwkJCQkJICJJdCBpcyBmYXIgdG9vIG11Y2guIFJlc2V0dGluZyB0byB6ZXJvLlxuIiksCisJCQkJICAgICAgIGRyaWZ0X2ZhY3Rvcik7CisJCQlkcmlmdF9mYWN0b3IgPSAwOworCQl9IGVsc2UgeworCQkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCQlwcmludGYoXygiQ2xvY2sgZHJpZnRlZCAlZiBzZWNvbmRzIGluIHRoZSBwYXN0ICIKKwkJCQkJICIlZiBzZWNvbmRzXG5pbiBzcGl0ZSBvZiBhIGRyaWZ0IGZhY3RvciBvZiAiCisJCQkJCSAiJWYgc2Vjb25kcy9kYXkuXG4iCisJCQkJCSAiQWRqdXN0aW5nIGRyaWZ0IGZhY3RvciBieSAlZiBzZWNvbmRzL2RheVxuIiksCisJCQkJICAgICAgIHRpbWVfZGlmZihub3d0aW1lLCBoY2xvY2t0aW1lKSwKKwkJCQkgICAgICAgdGltZV9kaWZmKG5vd3RpbWUsIGxhc3RfY2FsaWIpLAorCQkJCSAgICAgICBhZGp0aW1lX3AtPmRyaWZ0X2ZhY3RvciwgZmFjdG9yX2FkanVzdCk7CisJCX0KKworCQlhZGp0aW1lX3AtPmRyaWZ0X2ZhY3RvciA9IGRyaWZ0X2ZhY3RvcjsKKwl9CisJYWRqdGltZV9wLT5sYXN0X2NhbGliX3RpbWUgPSBub3d0aW1lLnR2X3NlYzsKKworCWFkanRpbWVfcC0+bGFzdF9hZGpfdGltZSA9IG5vd3RpbWUudHZfc2VjOworCisJYWRqdGltZV9wLT5ub3RfYWRqdXN0ZWQgPSAwOworCisJYWRqdGltZV9wLT5kaXJ0eSA9IDE7Cit9CisKKy8qCisgKiBDYWxjdWxhdGUgdGhlIGRyaWZ0IGNvcnJlY3Rpb24gY3VycmVudGx5IG5lZWRlZCBmb3IgdGhlCisgKiBIYXJkd2FyZSBDbG9jayBiYXNlZCBvbiB0aGUgbGFzdCB0aW1lIGl0IHdhcyBhZGp1c3RlZCwKKyAqIGFuZCB0aGUgY3VycmVudCBkcmlmdCBmYWN0b3IsIGFzIHN0b3JlZCBpbiB0aGUgYWRqdGltZSBmaWxlLgorICoKKyAqIFRoZSB0b3RhbCBkcmlmdCBhZGp1c3RtZW50IG5lZWRlZCBpcyBzdG9yZWQgYXQgdGRyaWZ0X3AuCisgKgorICovCitzdGF0aWMgdm9pZAorY2FsY3VsYXRlX2FkanVzdG1lbnQoY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsLAorCQkgICAgIGNvbnN0IGRvdWJsZSBmYWN0b3IsCisJCSAgICAgY29uc3QgdGltZV90IGxhc3RfdGltZSwKKwkJICAgICBjb25zdCBkb3VibGUgbm90X2FkanVzdGVkLAorCQkgICAgIGNvbnN0IHRpbWVfdCBzeXN0aW1lLCBzdHJ1Y3QgdGltZXZhbCAqdGRyaWZ0X3ApCit7CisJZG91YmxlIGV4YWN0X2FkanVzdG1lbnQ7CisKKwlleGFjdF9hZGp1c3RtZW50ID0KKwkgICAgKChkb3VibGUpKHN5c3RpbWUgLSBsYXN0X3RpbWUpKSAqIGZhY3RvciAvICgyNCAqIDYwICogNjApCisJICAgICsgbm90X2FkanVzdGVkOworCXRkcmlmdF9wLT50dl9zZWMgPSAodGltZV90KSBmbG9vcihleGFjdF9hZGp1c3RtZW50KTsKKwl0ZHJpZnRfcC0+dHZfdXNlYyA9IChleGFjdF9hZGp1c3RtZW50IC0KKwkJCQkgKGRvdWJsZSl0ZHJpZnRfcC0+dHZfc2VjKSAqIDFFNjsKKwlpZiAoY3RsLT52ZXJib3NlKSB7CisJCXByaW50ZihQXygiVGltZSBzaW5jZSBsYXN0IGFkanVzdG1lbnQgaXMgJWxkIHNlY29uZFxuIiwKKwkJCSJUaW1lIHNpbmNlIGxhc3QgYWRqdXN0bWVudCBpcyAlbGQgc2Vjb25kc1xuIiwKKwkJICAgICAgIChzeXN0aW1lIC0gbGFzdF90aW1lKSksCisJCSAgICAgICAoc3lzdGltZSAtIGxhc3RfdGltZSkpOworCQlwcmludGYoXygiQ2FsY3VsYXRlZCBIYXJkd2FyZSBDbG9jayBkcmlmdCBpcyAlbGQuJTA2bGQgc2Vjb25kc1xuIiksCisJCSAgICAgICB0ZHJpZnRfcC0+dHZfc2VjLCB0ZHJpZnRfcC0+dHZfdXNlYyk7CisJfQorfQorCisvKgorICogV3JpdGUgdGhlIGNvbnRlbnRzIG9mIHRoZSA8YWRqdGltZT4gc3RydWN0dXJlIHRvIGl0cyBkaXNrIGZpbGUuCisgKgorICogQnV0IGlmIHRoZSBjb250ZW50cyBhcmUgY2xlYW4gKHVuY2hhbmdlZCBzaW5jZSByZWFkIGZyb20gZGlzayksIGRvbid0CisgKiBib3RoZXIuCisgKi8KK3N0YXRpYyBpbnQgc2F2ZV9hZGp0aW1lKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwKKwkJCSBjb25zdCBzdHJ1Y3QgYWRqdGltZSAqYWRqdGltZSkKK3sKKwljaGFyICpjb250ZW50OwkJLyogU3R1ZmYgdG8gd3JpdGUgdG8gZGlzayBmaWxlICovCisJRklMRSAqZnA7CisKKwl4YXNwcmludGYoJmNvbnRlbnQsICIlZiAlbGQgJWZcbiVsZFxuJXNcbiIsCisJCSAgYWRqdGltZS0+ZHJpZnRfZmFjdG9yLAorCQkgIGFkanRpbWUtPmxhc3RfYWRqX3RpbWUsCisJCSAgYWRqdGltZS0+bm90X2FkanVzdGVkLAorCQkgIGFkanRpbWUtPmxhc3RfY2FsaWJfdGltZSwKKwkJICAoYWRqdGltZS0+bG9jYWxfdXRjID09IExPQ0FMKSA/ICJMT0NBTCIgOiAiVVRDIik7CisKKwlpZiAoY3RsLT52ZXJib3NlKXsKKwkJcHJpbnRmKF8oIk5ldyAlcyBkYXRhOlxuJXMiKSwKKwkJICAgICAgIGN0bC0+YWRqX2ZpbGVfbmFtZSwgY29udGVudCk7CisJfQorCisJaWYgKCFjdGwtPnRlc3RpbmcpIHsKKwkJZnAgPSBmb3BlbihjdGwtPmFkal9maWxlX25hbWUsICJ3Iik7CisJCWlmIChmcCA9PSBOVUxMKSB7CisJCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGN0bC0+YWRqX2ZpbGVfbmFtZSk7CisJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCQl9IGVsc2UgaWYgKGZwdXRzKGNvbnRlbnQsIGZwKSA8IDAgfHwgY2xvc2Vfc3RyZWFtKGZwKSAhPSAwKSB7CisJCQl3YXJuKF8oImNhbm5vdCB1cGRhdGUgJXMiKSwgY3RsLT5hZGpfZmlsZV9uYW1lKTsKKwkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCX0KKwl9CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworLyoKKyAqIERvIHRoZSBhZGp1c3RtZW50IHJlcXVlc3RlZCwgYnkgMSkgc2V0dGluZyB0aGUgSGFyZHdhcmUgQ2xvY2sgKGlmCisgKiBuZWNlc3NhcnkpLCBhbmQgMikgdXBkYXRpbmcgdGhlIGxhc3QtYWRqdXN0ZWQgdGltZSBpbiB0aGUgYWRqdGltZQorICogc3RydWN0dXJlLgorICoKKyAqIERvIG5vdCB1cGRhdGUgYW55dGhpbmcgaWYgdGhlIEhhcmR3YXJlIENsb2NrIGRvZXMgbm90IGN1cnJlbnRseSBwcmVzZW50IGEKKyAqIHZhbGlkIHRpbWUuCisgKgorICogPGhjbG9ja3RpbWU+IGlzIHRoZSBkcmlmdCBjb3JyZWN0ZWQgdGltZSByZWFkIGZyb20gdGhlIEhhcmR3YXJlIENsb2NrLgorICoKKyAqIDxyZWFkX3RpbWU+IHdhcyB0aGUgc3lzdGVtIHRpbWUgd2hlbiB0aGUgPGhjbG9ja3RpbWU+IHdhcyByZWFkLCB3aGljaCBkdWUKKyAqIHRvIGNvbXB1dGF0aW9uYWwgZGVsYXkgY291bGQgYmUgYSBzaG9ydCB0aW1lIGFnby4gSXQgaXMgdXNlZCB0byBkZWZpbmUgYQorICogdHJpZ2dlciBwb2ludCBmb3Igc2V0dGluZyB0aGUgSGFyZHdhcmUgQ2xvY2suIFRoZSBmcmFjdGlvbmFsIHBhcnQgb2YgdGhlCisgKiBIYXJkd2FyZSBjbG9jayBzZXQgdGltZSBpcyBzdWJ0cmFjdGVkIGZyb20gcmVhZF90aW1lIHRvICdyZWZlciBiYWNrJywgb3IKKyAqIGRlbGF5LCB0aGUgdHJpZ2dlciBwb2ludC4gIEZyYWN0aW9uYWwgcGFydHMgbXVzdCBiZSBhY2NvdW50ZWQgZm9yIGluIHRoaXMKKyAqIHdheSwgYmVjYXVzZSB0aGUgSGFyZHdhcmUgQ2xvY2sgY2FuIG9ubHkgYmUgc2V0IHRvIGEgd2hvbGUgc2Vjb25kLgorICoKKyAqIDx1bml2ZXJzYWw+OiB0aGUgSGFyZHdhcmUgQ2xvY2sgaXMga2VwdCBpbiBVVEMuCisgKgorICogPHRlc3Rpbmc+OiAgV2UgYXJlIHJ1bm5pbmcgaW4gdGVzdCBtb2RlIChubyB1cGRhdGluZyBvZiBjbG9jaykuCisgKgorICovCitzdGF0aWMgdm9pZAorZG9fYWRqdXN0bWVudChjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwsIHN0cnVjdCBhZGp0aW1lICphZGp0aW1lX3AsCisJICAgICAgY29uc3Qgc3RydWN0IHRpbWV2YWwgaGNsb2NrdGltZSwKKwkgICAgICBjb25zdCBzdHJ1Y3QgdGltZXZhbCByZWFkX3RpbWUpCit7CisJaWYgKGFkanRpbWVfcC0+bGFzdF9hZGpfdGltZSA9PSAwKSB7CisJCWlmIChjdGwtPnZlcmJvc2UpCisJCQlwcmludGYoXygiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBsYXN0IGFkanVzdG1lbnQgdGltZSBpcyB6ZXJvLCAiCisJCQkJICJzbyBoaXN0b3J5IGlzIGJhZC5cbiIpKTsKKwl9IGVsc2UgaWYgKGZhYnMoYWRqdGltZV9wLT5kcmlmdF9mYWN0b3IpID4gTUFYX0RSSUZUKSB7CisJCWlmIChjdGwtPnZlcmJvc2UpCisJCQlwcmludGYoXygiTm90IHNldHRpbmcgY2xvY2sgYmVjYXVzZSBkcmlmdCBmYWN0b3IgJWYgaXMgZmFyIHRvbyBoaWdoLlxuIiksCisJCQkJYWRqdGltZV9wLT5kcmlmdF9mYWN0b3IpOworCX0gZWxzZSB7CisJCXNldF9oYXJkd2FyZV9jbG9ja19leGFjdChjdGwsIGhjbG9ja3RpbWUudHZfc2VjLAorCQkJCQkgdGltZV9pbmMocmVhZF90aW1lLAorCQkJCQkJICAtKGhjbG9ja3RpbWUudHZfdXNlYyAvIDFFNikpKTsKKwkJYWRqdGltZV9wLT5sYXN0X2Fkal90aW1lID0gaGNsb2NrdGltZS50dl9zZWM7CisJCWFkanRpbWVfcC0+bm90X2FkanVzdGVkID0gMDsKKwkJYWRqdGltZV9wLT5kaXJ0eSA9IDE7CisJfQorfQorCitzdGF0aWMgdm9pZCBkZXRlcm1pbmVfY2xvY2tfYWNjZXNzX21ldGhvZChjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwpCit7CisJdXIgPSBOVUxMOworCisJaWYgKGN0bC0+ZGlyZWN0aXNhKQorCQl1ciA9IHByb2JlX2Zvcl9jbW9zX2Nsb2NrKCk7CisjaWZkZWYgX19saW51eF9fCisJaWYgKCF1cikKKwkJdXIgPSBwcm9iZV9mb3JfcnRjX2Nsb2NrKGN0bCk7CisjZW5kaWYKKwlpZiAodXIpIHsKKwkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCXB1dHModXItPmludGVyZmFjZV9uYW1lKTsKKworCX0gZWxzZSB7CisJCWlmIChjdGwtPnZlcmJvc2UpCisJCQlwcmludGYoXygiTm8gdXNhYmxlIGNsb2NrIGludGVyZmFjZSBmb3VuZC5cbiIpKTsKKwkJd2FybngoXygiQ2Fubm90IGFjY2VzcyB0aGUgSGFyZHdhcmUgQ2xvY2sgdmlhICIKKwkJCSJhbnkga25vd24gbWV0aG9kLiIpKTsKKwkJaWYgKCFjdGwtPnZlcmJvc2UpCisJCQl3YXJueChfKCJVc2UgdGhlIC0tdmVyYm9zZSBvcHRpb24gdG8gc2VlIHRoZSAiCisJCQkJImRldGFpbHMgb2Ygb3VyIHNlYXJjaCBmb3IgYW4gYWNjZXNzICIKKwkJCQkibWV0aG9kLiIpKTsKKwkJaHdjbG9ja19leGl0KGN0bCwgRVhJVF9GQUlMVVJFKTsKKwl9Cit9CisKKy8qIERvIGFsbCB0aGUgbm9ybWFsIHdvcmsgb2YgaHdjbG9jayAtIHJlYWQsIHNldCBjbG9jaywgZXRjLiAqLworc3RhdGljIGludAorbWFuaXB1bGF0ZV9jbG9jayhjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwsIGNvbnN0IHRpbWVfdCBzZXRfdGltZSwKKwkJIGNvbnN0IHN0cnVjdCB0aW1ldmFsIHN0YXJ0dXBfdGltZSwgc3RydWN0IGFkanRpbWUgKmFkanRpbWUpCit7CisJLyogVGhlIHRpbWUgYXQgd2hpY2ggd2UgcmVhZCB0aGUgSGFyZHdhcmUgQ2xvY2sgKi8KKwlzdHJ1Y3QgdGltZXZhbCByZWFkX3RpbWU7CisJLyoKKwkgKiBUaGUgSGFyZHdhcmUgQ2xvY2sgZ2l2ZXMgdXMgYSB2YWxpZCB0aW1lLCBvciBhdAorCSAqIGxlYXN0IHNvbWV0aGluZyBjbG9zZSBlbm91Z2ggdG8gZm9vbCBta3RpbWUoKS4KKwkgKi8KKwlpbnQgaGNsb2NrX3ZhbGlkID0gMDsKKwkvKgorCSAqIFRpY2sgc3luY2hyb25pemVkIHRpbWUgcmVhZCBmcm9tIHRoZSBIYXJkd2FyZSBDbG9jayBhbmQKKwkgKiB0aGVuIGRyaWZ0IGNvcnJlY3RlZCBmb3IgYWxsIG9wZXJhdGlvbnMgZXhjZXB0IC0tc2hvdy4KKwkgKi8KKwlzdHJ1Y3QgdGltZXZhbCBoY2xvY2t0aW1lID0geyAwIH07CisJLyoKKwkgKiBoY2xvY2t0aW1lIGNvcnJlbGF0ZWQgdG8gc3RhcnR1cF90aW1lLiBUaGF0IGlzLCB3aGF0IGRyaWZ0CisJICogY29ycmVjdGVkIEhhcmR3YXJlIENsb2NrIHRpbWUgd291bGQgaGF2ZSBiZWVuIGF0IHN0YXJ0IHVwLgorCSAqLworCXN0cnVjdCB0aW1ldmFsIHN0YXJ0dXBfaGNsb2NrdGltZSA9IHsgMCB9OworCS8qIFRvdGFsIEhhcmR3YXJlIENsb2NrIGRyaWZ0IGNvcnJlY3Rpb24gbmVlZGVkLiAqLworCXN0cnVjdCB0aW1ldmFsIHRkcmlmdDsKKworCWlmICgoY3RsLT5zZXQgfHwgY3RsLT5zeXN0b2hjIHx8IGN0bC0+YWRqdXN0KSAmJgorCSAgICAoYWRqdGltZS0+bG9jYWxfdXRjID09IFVUQykgIT0gY3RsLT51bml2ZXJzYWwpIHsKKwkJYWRqdGltZS0+bG9jYWxfdXRjID0gY3RsLT51bml2ZXJzYWwgPyBVVEMgOiBMT0NBTDsKKwkJYWRqdGltZS0+ZGlydHkgPSAxOworCX0KKwkvKgorCSAqIE5lZ2F0ZSB0aGUgZHJpZnQgY29ycmVjdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRvICdwcmVkaWN0JyBhCisJICogSGFyZHdhcmUgQ2xvY2sgdGltZSB0aGF0IGluY2x1ZGVzIGRyaWZ0LgorCSAqLworCWlmIChjdGwtPnByZWRpY3QpIHsKKwkJaGNsb2NrdGltZSA9IHQydHYoc2V0X3RpbWUpOworCQljYWxjdWxhdGVfYWRqdXN0bWVudChjdGwsIGFkanRpbWUtPmRyaWZ0X2ZhY3RvciwKKwkJCQkgICAgIGFkanRpbWUtPmxhc3RfYWRqX3RpbWUsCisJCQkJICAgICBhZGp0aW1lLT5ub3RfYWRqdXN0ZWQsCisJCQkJICAgICBoY2xvY2t0aW1lLnR2X3NlYywgJnRkcmlmdCk7CisJCWhjbG9ja3RpbWUgPSB0aW1lX2luYyhoY2xvY2t0aW1lLCAoZG91YmxlKQorCQkJCSAgICAgIC0odGRyaWZ0LnR2X3NlYyArIHRkcmlmdC50dl91c2VjIC8gMUU2KSk7CisJCWlmIChjdGwtPnZlcmJvc2UpIHsKKwkJCXByaW50ZihfICgiVGFyZ2V0IGRhdGU6ICAgJWxkXG4iKSwgc2V0X3RpbWUpOworCQkJcHJpbnRmKF8gKCJQcmVkaWN0ZWQgUlRDOiAlbGRcbiIpLCBoY2xvY2t0aW1lLnR2X3NlYyk7CisJCX0KKwkJcmV0dXJuIGRpc3BsYXlfdGltZShoY2xvY2t0aW1lKTsKKwl9CisKKwlpZiAoY3RsLT5zeXN0eikKKwkJcmV0dXJuIHNldF9zeXN0ZW1fY2xvY2soY3RsLCBzdGFydHVwX3RpbWUpOworCisJaWYgKHVyLT5nZXRfcGVybWlzc2lvbnMoKSkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCS8qCisJICogUmVhZCBhbmQgZHJpZnQgY29ycmVjdCBSVEMgdGltZTsgZXhjZXB0IGZvciBSVEMgc2V0IGZ1bmN0aW9ucworCSAqIHdpdGhvdXQgdGhlIC0tdXBkYXRlLWRyaWZ0IG9wdGlvbiBiZWNhdXNlOiAxKSBpdCdzIG5vdCBuZWVkZWQ7CisJICogMikgaXQgZW5hYmxlcyBzZXR0aW5nIGEgY29ycnVwdGVkIFJUQyB3aXRob3V0IHJlYWRpbmcgaXQgZmlyc3Q7CisJICogMykgaXQgc2lnbmlmaWNhbnRseSByZWR1Y2VzIHN5c3RlbSBzaHV0ZG93biB0aW1lLgorCSAqLworCWlmICggISAoKGN0bC0+c2V0IHx8IGN0bC0+c3lzdG9oYykgJiYgIWN0bC0+dXBkYXRlKSkgeworCQkvKgorCQkgKiBUaW1pbmcgY3JpdGljYWwgLSBkbyBub3QgY2hhbmdlIHRoZSBvcmRlciBvZiwgb3IgcHV0CisJCSAqIGFueXRoaW5nIGJldHdlZW4gdGhlIGZvbGxvdyB0aHJlZSBzdGF0ZW1lbnRzLgorCQkgKiBTeW5jaHJvbml6YXRpb24gZmFpbHVyZSBNVVNUIGV4aXQsIGJlY2F1c2UgYWxsIGRyaWZ0CisJCSAqIG9wZXJhdGlvbnMgYXJlIGludmFsaWQgd2l0aG91dCBpdC4KKwkJICovCisJCWlmIChzeW5jaHJvbml6ZV90b19jbG9ja190aWNrKGN0bCkpCisJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCQlyZWFkX2hhcmR3YXJlX2Nsb2NrKGN0bCwgJmhjbG9ja192YWxpZCwgJmhjbG9ja3RpbWUudHZfc2VjKTsKKwkJZ2V0dGltZW9mZGF5KCZyZWFkX3RpbWUsIE5VTEwpOworCisJCWlmICghaGNsb2NrX3ZhbGlkKSB7CisJCQl3YXJueChfKCJSVEMgcmVhZCByZXR1cm5lZCBhbiBpbnZhbGlkIHZhbHVlLiIpKTsKKwkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCX0KKwkJLyoKKwkJICogQ2FsY3VsYXRlIGFuZCBhcHBseSBkcmlmdCBjb3JyZWN0aW9uIHRvIHRoZSBIYXJkd2FyZSBDbG9jaworCQkgKiB0aW1lIGZvciBldmVyeXRoaW5nIGV4Y2VwdCAtLXNob3cKKwkJICovCisJCWNhbGN1bGF0ZV9hZGp1c3RtZW50KGN0bCwgYWRqdGltZS0+ZHJpZnRfZmFjdG9yLAorCQkJCSAgICAgYWRqdGltZS0+bGFzdF9hZGpfdGltZSwKKwkJCQkgICAgIGFkanRpbWUtPm5vdF9hZGp1c3RlZCwKKwkJCQkgICAgIGhjbG9ja3RpbWUudHZfc2VjLCAmdGRyaWZ0KTsKKwkJaWYgKCFjdGwtPnNob3cpCisJCQloY2xvY2t0aW1lID0gdGltZV9pbmModGRyaWZ0LCBoY2xvY2t0aW1lLnR2X3NlYyk7CisKKwkJc3RhcnR1cF9oY2xvY2t0aW1lID0KKwkJIHRpbWVfaW5jKGhjbG9ja3RpbWUsIHRpbWVfZGlmZihzdGFydHVwX3RpbWUsIHJlYWRfdGltZSkpOworCX0KKwlpZiAoY3RsLT5zaG93IHx8IGN0bC0+Z2V0KSB7CisJCXJldHVybiBkaXNwbGF5X3RpbWUoc3RhcnR1cF9oY2xvY2t0aW1lKTsKKwl9IGVsc2UgaWYgKGN0bC0+c2V0KSB7CisJCXNldF9oYXJkd2FyZV9jbG9ja19leGFjdChjdGwsIHNldF90aW1lLCBzdGFydHVwX3RpbWUpOworCQlpZiAoIWN0bC0+bm9hZGpmaWxlKQorCQkJYWRqdXN0X2RyaWZ0X2ZhY3RvcihjdGwsIGFkanRpbWUsIHQydHYoc2V0X3RpbWUpLAorCQkJCQkgICAgc3RhcnR1cF9oY2xvY2t0aW1lKTsKKwl9IGVsc2UgaWYgKGN0bC0+YWRqdXN0KSB7CisJCWlmICh0ZHJpZnQudHZfc2VjID4gMCB8fCB0ZHJpZnQudHZfc2VjIDwgLTEpCisJCQlkb19hZGp1c3RtZW50KGN0bCwgYWRqdGltZSwgaGNsb2NrdGltZSwgcmVhZF90aW1lKTsKKwkJZWxzZQorCQkJcHJpbnRmKF8oIk5lZWRlZCBhZGp1c3RtZW50IGlzIGxlc3MgdGhhbiBvbmUgc2Vjb25kLCAiCisJCQkJICJzbyBub3Qgc2V0dGluZyBjbG9jay5cbiIpKTsKKwl9IGVsc2UgaWYgKGN0bC0+c3lzdG9oYykgeworCQlzdHJ1Y3QgdGltZXZhbCBub3d0aW1lLCByZWZ0aW1lOworCQkvKgorCQkgKiBXZSBjYW4gb25seSBzZXRfaGFyZHdhcmVfY2xvY2tfZXhhY3QgdG8gYQorCQkgKiB3aG9sZSBzZWNvbmRzIHRpbWUsIHNvIHdlIHNldCBpdCB3aXRoCisJCSAqIHJlZmVyZW5jZSB0byB0aGUgbW9zdCByZWNlbnQgd2hvbGUKKwkJICogc2Vjb25kcyB0aW1lLgorCQkgKi8KKwkJZ2V0dGltZW9mZGF5KCZub3d0aW1lLCBOVUxMKTsKKwkJcmVmdGltZS50dl9zZWMgPSBub3d0aW1lLnR2X3NlYzsKKwkJcmVmdGltZS50dl91c2VjID0gMDsKKwkJc2V0X2hhcmR3YXJlX2Nsb2NrX2V4YWN0KGN0bCwgKHRpbWVfdCkgcmVmdGltZS50dl9zZWMsIHJlZnRpbWUpOworCQlpZiAoIWN0bC0+bm9hZGpmaWxlKQorCQkJYWRqdXN0X2RyaWZ0X2ZhY3RvcihjdGwsIGFkanRpbWUsIG5vd3RpbWUsCisJCQkJCSAgICBoY2xvY2t0aW1lKTsKKwl9IGVsc2UgaWYgKGN0bC0+aGN0b3N5cykgeworCQlyZXR1cm4gc2V0X3N5c3RlbV9jbG9jayhjdGwsIGhjbG9ja3RpbWUpOworCX0KKwlpZiAoIWN0bC0+bm9hZGpmaWxlICYmIGFkanRpbWUtPmRpcnR5KQorCQlyZXR1cm4gc2F2ZV9hZGp0aW1lKGN0bCwgYWRqdGltZSk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworLyoqCisgKiBHZXQgb3Igc2V0IHRoZSBrZXJuZWwgUlRDIGRyaXZlcidzIGVwb2NoIG9uIEFscGhhIG1hY2hpbmVzLgorICogSVNBIG1hY2hpbmVzIGFyZSBoYXJkIGNvZGVkIGZvciAxOTAwLgorICovCisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19hbHBoYV9fKQorc3RhdGljIHZvaWQKK21hbmlwdWxhdGVfZXBvY2goY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsKQoreworCWlmIChjdGwtPmdldGVwb2NoKSB7CisJCXVuc2lnbmVkIGxvbmcgZXBvY2g7CisKKwkJaWYgKGdldF9lcG9jaF9ydGMoY3RsLCAmZXBvY2gpKQorCQkJd2FybngoXygidW5hYmxlIHRvIHJlYWQgdGhlIFJUQyBlcG9jaC4iKSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCJUaGUgUlRDIGVwb2NoIGlzIHNldCB0byAlbHUuXG4iKSwgZXBvY2gpOworCX0gZWxzZSBpZiAoY3RsLT5zZXRlcG9jaCkgeworCQlpZiAoIWN0bC0+ZXBvY2hfb3B0aW9uKQorCQkJd2FybngoXygiLS1lcG9jaCBpcyByZXF1aXJlZCBmb3IgLS1zZXRlcG9jaC4iKSk7CisJCWVsc2UgaWYgKCFjdGwtPnRlc3RpbmcpCisJCQlpZiAoc2V0X2Vwb2NoX3J0YyhjdGwpKQorCQkJCXdhcm54KF8oInVuYWJsZSB0byBzZXQgdGhlIFJUQyBlcG9jaC4iKSk7CisJfQorfQorI2VuZGlmCQkvKiBfX2xpbnV4X18gX19hbHBoYV9fICovCisKK3N0YXRpYyB2b2lkIG91dF92ZXJzaW9uKHZvaWQpCit7CisJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpCit1c2FnZSh2b2lkKQoreworCWZwdXRzKFVTQUdFX0hFQURFUiwgc3Rkb3V0KTsKKwlwcmludGYoXygiICVzIFtmdW5jdGlvbl0gW29wdGlvbi4uLl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJcHV0cyhfKCJUaW1lIGNsb2NrcyB1dGlsaXR5LiIpKTsKKworCWZwdXRzKFVTQUdFX0ZVTkNUSU9OUywgc3Rkb3V0KTsKKwlwdXRzKF8oIiAtciwgLS1zaG93ICAgICAgICAgICBkaXNwbGF5IHRoZSBSVEMgdGltZSIpKTsKKwlwdXRzKF8oIiAgICAgLS1nZXQgICAgICAgICAgICBkaXNwbGF5IGRyaWZ0IGNvcnJlY3RlZCBSVEMgdGltZSIpKTsKKwlwdXRzKF8oIiAgICAgLS1zZXQgICAgICAgICAgICBzZXQgdGhlIFJUQyBhY2NvcmRpbmcgdG8gLS1kYXRlIikpOworCXB1dHMoXygiIC1zLCAtLWhjdG9zeXMgICAgICAgIHNldCB0aGUgc3lzdGVtIHRpbWUgZnJvbSB0aGUgUlRDIikpOworCXB1dHMoXygiIC13LCAtLXN5c3RvaGMgICAgICAgIHNldCB0aGUgUlRDIGZyb20gdGhlIHN5c3RlbSB0aW1lIikpOworCXB1dHMoXygiICAgICAtLXN5c3R6ICAgICAgICAgIHNlbmQgdGltZXNjYWxlIGNvbmZpZ3VyYXRpb25zIHRvIHRoZSBrZXJuZWwiKSk7CisJcHV0cyhfKCIgLWEsIC0tYWRqdXN0ICAgICAgICAgYWRqdXN0IHRoZSBSVEMgdG8gYWNjb3VudCBmb3Igc3lzdGVtYXRpYyBkcmlmdCIpKTsKKyNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX2FscGhhX18pCisJcHV0cyhfKCIgICAgIC0tZ2V0ZXBvY2ggICAgICAgZGlzcGxheSB0aGUgUlRDIGVwb2NoIikpOworCXB1dHMoXygiICAgICAtLXNldGVwb2NoICAgICAgIHNldCB0aGUgUlRDIGVwb2NoIGFjY29yZGluZyB0byAtLWVwb2NoIikpOworI2VuZGlmCisJcHV0cyhfKCIgICAgIC0tcHJlZGljdCAgICAgICAgcHJlZGljdCB0aGUgZHJpZnRlZCBSVEMgdGltZSBhY2NvcmRpbmcgdG8gLS1kYXRlIikpOworCWZwdXRzKFVTQUdFX09QVElPTlMsIHN0ZG91dCk7CisJcHV0cyhfKCIgLXUsIC0tdXRjICAgICAgICAgICAgdGhlIFJUQyB0aW1lc2NhbGUgaXMgVVRDIikpOworCXB1dHMoXygiIC1sLCAtLWxvY2FsdGltZSAgICAgIHRoZSBSVEMgdGltZXNjYWxlIGlzIExvY2FsIikpOworI2lmZGVmIF9fbGludXhfXworCXByaW50ZihfKAorCSAgICAgICAiIC1mLCAtLXJ0YyA8ZmlsZT4gICAgIHVzZSBhbiBhbHRlcm5hdGUgZmlsZSB0byAlMSRzXG4iKSwgX1BBVEhfUlRDX0RFVik7CisjZW5kaWYKKwlwcmludGYoXygKKwkgICAgICAgIiAgICAgLS1kaXJlY3Rpc2EgICAgICB1c2UgdGhlIElTQSBidXMgaW5zdGVhZCBvZiAlMSRzIGFjY2Vzc1xuIiksIF9QQVRIX1JUQ19ERVYpOworCXB1dHMoXygiICAgICAtLWRhdGUgPHRpbWU+ICAgIGRhdGUvdGltZSBpbnB1dCBmb3IgLS1zZXQgYW5kIC0tcHJlZGljdCIpKTsKKwlwdXRzKF8oIiAgICAgLS1kZWxheSA8c2VjPiAgICBkZWxheSB1c2VkIHdoZW4gc2V0IG5ldyBSVEMgdGltZSIpKTsKKyNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX2FscGhhX18pCisJcHV0cyhfKCIgICAgIC0tZXBvY2ggPHllYXI+ICAgZXBvY2ggaW5wdXQgZm9yIC0tc2V0ZXBvY2giKSk7CisjZW5kaWYKKwlwdXRzKF8oIiAgICAgLS11cGRhdGUtZHJpZnQgICB1cGRhdGUgdGhlIFJUQyBkcmlmdCBmYWN0b3IiKSk7CisJcHJpbnRmKF8oCisJICAgICAgICIgICAgIC0tbm9hZGpmaWxlICAgICAgZG8gbm90IHVzZSAlMSRzXG4iKSwgX1BBVEhfQURKVElNRSk7CisJcHJpbnRmKF8oCisJICAgICAgICIgICAgIC0tYWRqZmlsZSA8ZmlsZT4gdXNlIGFuIGFsdGVybmF0ZSBmaWxlIHRvICUxJHNcbiIpLCBfUEFUSF9BREpUSU1FKTsKKwlwdXRzKF8oIiAgICAgLS10ZXN0ICAgICAgICAgICBkcnkgcnVuOyBpbXBsaWVzIC0tdmVyYm9zZSIpKTsKKwlwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICBkaXNwbGF5IG1vcmUgZGV0YWlscyIpKTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyMikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiaHdjbG9jayg4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgaHdjbG9ja19jb250cm9sIGN0bCA9IHsKKwkJCS5zaG93ID0gMSwJCS8qIGRlZmF1bHQgb3AgaXMgc2hvdyAqLworCQkJLnJ0Y19kZWxheSA9IC0xLjAJLyogdW5zcGVjaWZpZWQgKi8KKwl9OworCXN0cnVjdCB0aW1ldmFsIHN0YXJ0dXBfdGltZTsKKwlzdHJ1Y3QgYWRqdGltZSBhZGp0aW1lID0geyAwIH07CisJc3RydWN0IHRpbWVzcGVjIHdoZW4gPSB7IDAgfTsKKwkvKgorCSAqIFRoZSB0aW1lIHdlIHN0YXJ0ZWQgdXAsIGluIHNlY29uZHMgaW50byB0aGUgZXBvY2gsIGluY2x1ZGluZworCSAqIGZyYWN0aW9ucy4KKwkgKi8KKwl0aW1lX3Qgc2V0X3RpbWUgPSAwOwkvKiBUaW1lIHRvIHdoaWNoIHVzZXIgc2FpZCB0byBzZXQgSGFyZHdhcmUgQ2xvY2sgKi8KKwlpbnQgcmMsIGM7CisKKwkvKiBMb25nIG9ubHkgb3B0aW9ucy4gKi8KKwllbnVtIHsKKwkJT1BUX0FESkZJTEUgPSBDSEFSX01BWCArIDEsCisJCU9QVF9EQVRFLAorCQlPUFRfREVMQVksCisJCU9QVF9ESVJFQ1RJU0EsCisJCU9QVF9FUE9DSCwKKwkJT1BUX0dFVCwKKwkJT1BUX0dFVEVQT0NILAorCQlPUFRfTk9BREpGSUxFLAorCQlPUFRfUFJFRElDVCwKKwkJT1BUX1NFVCwKKwkJT1BUX1NFVEVQT0NILAorCQlPUFRfU1lTVFosCisJCU9QVF9URVNULAorCQlPUFRfVVBEQVRFCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFkanVzdCIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYScgICAgICAgICAgICB9LAorCQl7ICJoZWxwIiwgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnICAgICAgICAgICAgfSwKKwkJeyAibG9jYWx0aW1lIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdsJyAgICAgICAgICAgIH0sCisJCXsgInNob3ciLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgICAgICAgICAgICB9LAorCQl7ICJoY3Rvc3lzIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3MnICAgICAgICAgICAgfSwKKwkJeyAidXRjIiwgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd1JyAgICAgICAgICAgIH0sCisJCXsgInZlcnNpb24iLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgICAgICAgICAgICB9LAorCQl7ICJzeXN0b2hjIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3cnICAgICAgICAgICAgfSwKKwkJeyAiZGVidWciLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdEJyAgICAgICAgICAgIH0sCisJCXsgInVsLWRlYnVnIiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZCcgICAgICAgICAgICB9LAorCQl7ICJ2ZXJib3NlIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3YnICAgICAgICAgICAgfSwKKwkJeyAic2V0IiwgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE9QVF9TRVQgICAgICAgIH0sCisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19hbHBoYV9fKQorCQl7ICJnZXRlcG9jaCIsICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX0dFVEVQT0NIICAgfSwKKwkJeyAic2V0ZXBvY2giLCAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE9QVF9TRVRFUE9DSCAgIH0sCisJCXsgImVwb2NoIiwgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfRVBPQ0ggICAgICB9LAorI2VuZGlmCisJCXsgIm5vYWRqZmlsZSIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfTk9BREpGSUxFICB9LAorCQl7ICJkaXJlY3Rpc2EiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX0RJUkVDVElTQSAgfSwKKwkJeyAidGVzdCIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE9QVF9URVNUICAgICAgIH0sCisJCXsgImRhdGUiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfREFURSAgICAgICB9LAorCQl7ICJkZWxheSIsICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0RFTEFZICAgICAgfSwKKyNpZmRlZiBfX2xpbnV4X18KKwkJeyAicnRjIiwgICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdmJyAgICAgICAgICAgIH0sCisjZW5kaWYKKwkJeyAiYWRqZmlsZSIsICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9BREpGSUxFICAgIH0sCisJCXsgInN5c3R6IiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfU1lTVFogICAgICB9LAorCQl7ICJwcmVkaWN0IiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX1BSRURJQ1QgICAgfSwKKwkJeyAiZ2V0IiwgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE9QVF9HRVQgICAgICAgIH0sCisJCXsgInVwZGF0ZS1kcmlmdCIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfVVBEQVRFICAgICB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdhJywncicsJ3MnLCd3JywKKwkJICBPUFRfR0VULCBPUFRfR0VURVBPQ0gsIE9QVF9QUkVESUNULAorCQkgIE9QVF9TRVQsIE9QVF9TRVRFUE9DSCwgT1BUX1NZU1RaIH0sCisJCXsgJ2wnLCAndScgfSwKKwkJeyBPUFRfQURKRklMRSwgT1BUX05PQURKRklMRSB9LAorCQl7IE9QVF9OT0FESkZJTEUsIE9QVF9VUERBVEUgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCS8qIFJlbWVtYmVyIHdoYXQgdGltZSB3ZSB3ZXJlIGludm9rZWQgKi8KKwlnZXR0aW1lb2ZkYXkoJnN0YXJ0dXBfdGltZSwgTlVMTCk7CisKKyNpZmRlZiBIQVZFX0xJQkFVRElUCisJaHdhdWRpdF9mZCA9IGF1ZGl0X29wZW4oKTsKKwlpZiAoaHdhdWRpdF9mZCA8IDAgJiYgIShlcnJubyA9PSBFSU5WQUwgfHwgZXJybm8gPT0gRVBST1RPTk9TVVBQT1JUIHx8CisJCQkJZXJybm8gPT0gRUFGTk9TVVBQT1JUKSkgeworCQkvKgorCQkgKiBZb3UgZ2V0IHRoZXNlIGVycm9yIGNvZGVzIG9ubHkgd2hlbiB0aGUga2VybmVsIGRvZXNuJ3QKKwkJICogaGF2ZSBhdWRpdCBjb21waWxlZCBpbi4KKwkJICovCisJCXdhcm54KF8oIlVuYWJsZSB0byBjb25uZWN0IHRvIGF1ZGl0IHN5c3RlbSIpKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisjZW5kaWYKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisjaWZkZWYgTENfTlVNRVJJQworCS8qCisJICogV2UgbmVlZCBMQ19DVFlQRSBhbmQgTENfVElNRSBhbmQgTENfTUVTU0FHRVMsIGJ1dCBtdXN0IGF2b2lkCisJICogTENfTlVNRVJJQyBzaW5jZSBpdCBnaXZlcyBwcm9ibGVtcyB3aGVuIHdlIHdyaXRlIHRvIC9ldGMvYWRqdGltZS4KKwkgKiAgLSBncXVlcmlAbWFpbC5kb3Rjb20uZnIKKwkgKi8KKwlzZXRsb2NhbGUoTENfTlVNRVJJQywgIkMiKTsKKyNlbmRpZgorCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkJImh2VkRkOmFscnN1d2Y6IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ0QnOgorCQkJd2FybngoXygidXNlIC0tdmVyYm9zZSwgLS1kZWJ1ZyBoYXMgYmVlbiBkZXByZWNhdGVkLiIpKTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWN0bC52ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWh3Y2xvY2tfaW5pdF9kZWJ1ZyhvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJY3RsLmFkanVzdCA9IDE7CisJCQljdGwuc2hvdyA9IDA7CisJCQljdGwuaHdhdWRpdF9vbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQljdGwubG9jYWxfb3B0ID0gMTsJLyogLS1sb2NhbHRpbWUgKi8KKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWN0bC5zaG93ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCWN0bC5oY3Rvc3lzID0gMTsKKwkJCWN0bC5zaG93ID0gMDsKKwkJCWN0bC5od2F1ZGl0X29uID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd1JzoKKwkJCWN0bC51dGMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3cnOgorCQkJY3RsLnN5c3RvaGMgPSAxOworCQkJY3RsLnNob3cgPSAwOworCQkJY3RsLmh3YXVkaXRfb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1NFVDoKKwkJCWN0bC5zZXQgPSAxOworCQkJY3RsLnNob3cgPSAwOworCQkJY3RsLmh3YXVkaXRfb24gPSAxOworCQkJYnJlYWs7CisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19hbHBoYV9fKQorCQljYXNlIE9QVF9HRVRFUE9DSDoKKwkJCWN0bC5nZXRlcG9jaCA9IDE7CisJCQljdGwuc2hvdyA9IDA7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfU0VURVBPQ0g6CisJCQljdGwuc2V0ZXBvY2ggPSAxOworCQkJY3RsLnNob3cgPSAwOworCQkJY3RsLmh3YXVkaXRfb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0VQT0NIOgorCQkJY3RsLmVwb2NoX29wdGlvbiA9IG9wdGFyZzsJLyogLS1lcG9jaCAqLworCQkJYnJlYWs7CisjZW5kaWYKKwkJY2FzZSBPUFRfTk9BREpGSUxFOgorCQkJY3RsLm5vYWRqZmlsZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfRElSRUNUSVNBOgorCQkJY3RsLmRpcmVjdGlzYSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfVEVTVDoKKwkJCWN0bC50ZXN0aW5nID0gMTsJLyogLS10ZXN0ICovCisJCQljdGwudmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfREFURToKKwkJCWN0bC5kYXRlX29wdCA9IG9wdGFyZzsJLyogLS1kYXRlICovCisJCQlicmVhazsKKwkJY2FzZSBPUFRfREVMQVk6CisJCQljdGwucnRjX2RlbGF5ID0gc3RydG9kX29yX2VycihvcHRhcmcsICJpbnZhbGlkIC0tZGVsYXkgYXJndW1lbnQiKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9BREpGSUxFOgorCQkJY3RsLmFkal9maWxlX25hbWUgPSBvcHRhcmc7CS8qIC0tYWRqZmlsZSAqLworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1NZU1RaOgorCQkJY3RsLnN5c3R6ID0gMTsJCS8qIC0tc3lzdHogKi8KKwkJCWN0bC5zaG93ID0gMDsKKwkJCWN0bC5od2F1ZGl0X29uID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9QUkVESUNUOgorCQkJY3RsLnByZWRpY3QgPSAxOwkvKiAtLXByZWRpY3QgKi8KKwkJCWN0bC5zaG93ID0gMDsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9HRVQ6CisJCQljdGwuZ2V0ID0gMTsJCS8qIC0tZ2V0ICovCisJCQljdGwuc2hvdyA9IDA7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfVVBEQVRFOgorCQkJY3RsLnVwZGF0ZSA9IDE7CQkvKiAtLXVwZGF0ZS1kcmlmdCAqLworCQkJYnJlYWs7CisjaWZkZWYgX19saW51eF9fCisJCWNhc2UgJ2YnOgorCQkJY3RsLnJ0Y19kZXZfbmFtZSA9IG9wdGFyZzsJLyogLS1ydGMgKi8KKwkJCWJyZWFrOworI2VuZGlmCisJCWNhc2UgJ1YnOgkJCS8qIC0tdmVyc2lvbiAqLworCQkJb3V0X3ZlcnNpb24oKTsKKwkJCXJldHVybiAwOworCQljYXNlICdoJzoJCQkvKiAtLWhlbHAgKi8KKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAoYXJnYyAtPSBvcHRpbmQpIHsKKwkJd2FybngoXygiJWQgdG9vIG1hbnkgYXJndW1lbnRzIGdpdmVuIiksIGFyZ2MpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJaWYgKCFjdGwuYWRqX2ZpbGVfbmFtZSkKKwkJY3RsLmFkal9maWxlX25hbWUgPSBfUEFUSF9BREpUSU1FOworCisJaWYgKGN0bC51cGRhdGUgJiYgIWN0bC5zZXQgJiYgIWN0bC5zeXN0b2hjKSB7CisJCXdhcm54KF8oIi0tdXBkYXRlLWRyaWZ0IHJlcXVpcmVzIC0tc2V0IG9yIC0tc3lzdG9oYyIpKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCWlmIChjdGwubm9hZGpmaWxlICYmICFjdGwudXRjICYmICFjdGwubG9jYWxfb3B0KSB7CisJCXdhcm54KF8oIldpdGggLS1ub2FkamZpbGUsIHlvdSBtdXN0IHNwZWNpZnkgIgorCQkJImVpdGhlciAtLXV0YyBvciAtLWxvY2FsdGltZSIpKTsKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCX0KKworCWlmIChjdGwuc2V0IHx8IGN0bC5wcmVkaWN0KSB7CisJCWlmICghY3RsLmRhdGVfb3B0KSB7CisJCXdhcm54KF8oIi0tZGF0ZSBpcyByZXF1aXJlZCBmb3IgLS1zZXQgb3IgLS1wcmVkaWN0IikpOworCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCX0KKwkJaWYgKHBhcnNlX2RhdGUoJndoZW4sIGN0bC5kYXRlX29wdCwgTlVMTCkpCisJCQlzZXRfdGltZSA9IHdoZW4udHZfc2VjOworCQllbHNlIHsKKwkJCXdhcm54KF8oImludmFsaWQgZGF0ZSAnJXMnIiksIGN0bC5kYXRlX29wdCk7CisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKyNpZiBkZWZpbmVkKF9fbGludXhfXykgJiYgZGVmaW5lZChfX2FscGhhX18pCisJaWYgKGN0bC5nZXRlcG9jaCB8fCBjdGwuc2V0ZXBvY2gpIHsKKwkJbWFuaXB1bGF0ZV9lcG9jaCgmY3RsKTsKKwkJaHdjbG9ja19leGl0KCZjdGwsIEVYSVRfU1VDQ0VTUyk7CisJfQorI2VuZGlmCisKKwlpZiAoY3RsLnZlcmJvc2UpIHsKKwkJb3V0X3ZlcnNpb24oKTsKKwkJcHJpbnRmKF8oIlN5c3RlbSBUaW1lOiAlbGQuJTA2bGRcbiIpLAorCQkgICAgICAgc3RhcnR1cF90aW1lLnR2X3NlYywgc3RhcnR1cF90aW1lLnR2X3VzZWMpOworCX0KKworCWlmICghY3RsLnN5c3R6ICYmICFjdGwucHJlZGljdCkKKwkJZGV0ZXJtaW5lX2Nsb2NrX2FjY2Vzc19tZXRob2QoJmN0bCk7CisKKwlpZiAoIWN0bC5ub2FkamZpbGUgJiYgIShjdGwuc3lzdHogJiYgKGN0bC51dGMgfHwgY3RsLmxvY2FsX29wdCkpKSB7CisJCWlmICgocmMgPSByZWFkX2FkanRpbWUoJmN0bCwgJmFkanRpbWUpKSAhPSAwKQorCQkJaHdjbG9ja19leGl0KCZjdGwsIHJjKTsKKwl9IGVsc2UKKwkJLyogQXZvaWQgd3JpdGluZyBhZGp0aW1lIGZpbGUgaWYgd2UgZG9uJ3QgaGF2ZSB0by4gKi8KKwkJYWRqdGltZS5kaXJ0eSA9IDA7CisJY3RsLnVuaXZlcnNhbCA9IGh3X2Nsb2NrX2lzX3V0YygmY3RsLCBhZGp0aW1lKTsKKwlyYyA9IG1hbmlwdWxhdGVfY2xvY2soJmN0bCwgc2V0X3RpbWUsIHN0YXJ0dXBfdGltZSwgJmFkanRpbWUpOworCWlmIChjdGwudGVzdGluZykKKwkJcHV0cyhfKCJUZXN0IG1vZGU6IG5vdGhpbmcgd2FzIGNoYW5nZWQuIikpOworCWh3Y2xvY2tfZXhpdCgmY3RsLCByYyk7CisJcmV0dXJuIHJjOwkJLyogTm90IHJlYWNoZWQgKi8KK30KKwordm9pZAoraHdjbG9ja19leGl0KGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bAorI2lmbmRlZiBIQVZFX0xJQkFVRElUCisJICAgICBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkKKyNlbmRpZgorCSAgICAgLCBpbnQgc3RhdHVzKQoreworI2lmZGVmIEhBVkVfTElCQVVESVQKKwlpZiAoY3RsLT5od2F1ZGl0X29uICYmICFjdGwtPnRlc3RpbmcpIHsKKwkJYXVkaXRfbG9nX3VzZXJfbWVzc2FnZShod2F1ZGl0X2ZkLCBBVURJVF9VU1lTX0NPTkZJRywKKwkJCQkgICAgICAgIm9wPWNoYW5nZS1zeXN0ZW0tdGltZSIsIE5VTEwsIE5VTEwsIE5VTEwsCisJCQkJICAgICAgIHN0YXR1cyk7CisJfQorCWNsb3NlKGh3YXVkaXRfZmQpOworI2VuZGlmCisJZXhpdChzdGF0dXMpOworfQorCisvKgorICogSGlzdG9yeSBvZiB0aGlzIHByb2dyYW06CisgKgorICogOTguMDguMTIgQkpIIFZlcnNpb24gMi40CisgKgorICogRG9uJ3QgdXNlIGNlbnR1cnkgYnl0ZSBmcm9tIEhhcmR3YXJlIENsb2NrLiBBZGQgY29tbWVudHMgdGVsbGluZyB3aHkuCisgKgorICogOTguMDYuMjAgQkpIIFZlcnNpb24gMi4zLgorICoKKyAqIE1ha2UgLS1oY3Rvc3lzIHNldCB0aGUga2VybmVsIHRpbWV6b25lIGZyb20gVFogZW52aXJvbm1lbnQgdmFyaWFibGUKKyAqIGFuZC9vciAvdXNyL2xpYi96b25laW5mby4gRnJvbSBLbGF1cyBSaXBrZSAoa2xhdXNAcmlwa2UuY29tKS4KKyAqCisgKiA5OC4wMy4wNSBCSkguIFZlcnNpb24gMi4yLgorICoKKyAqIEFkZCAtLWdldGVwb2NoIGFuZCAtLXNldGVwb2NoLgorICoKKyAqIEZpeCBzb21lIHdvcmQgbGVuZ3RoIHRoaW5ncyBzbyBpdCB3b3JrcyBvbiBBbHBoYS4KKyAqCisgKiBNYWtlIGl0IHdvcmsgd2hlbiAvZGV2L3J0YyBkb2Vzbid0IGhhdmUgdGhlIGludGVycnVwdCBmdW5jdGlvbnMuIEluIHRoaXMKKyAqIGNhc2UsIGJ1c3l3YWl0IGZvciB0aGUgdG9wIG9mIGEgc2Vjb25kIGluc3RlYWQgb2YgYmxvY2tpbmcgYW5kIHdhaXRpbmcKKyAqIGZvciB0aGUgdXBkYXRlIGNvbXBsZXRlIGludGVycnVwdC4KKyAqCisgKiBGaXggYSBidW5jaCBvZiBidWdzIHRvbyBudW1lcm91cyB0byBtZW50aW9uLgorICoKKyAqIDk3LjA2LjAxOiBCSkguIFZlcnNpb24gMi4xLiBSZWFkIGFuZCB3cml0ZSB0aGUgY2VudHVyeSBieXRlIChCeXRlIDUwKSBvZgorICogdGhlIElTQSBIYXJkd2FyZSBDbG9jayB3aGVuIHVzaW5nIGRpcmVjdCBJU0EgSS9PLiBQcm9ibGVtIGRpc2NvdmVyZWQgYnkKKyAqIGpvYiAoamVpQGljbG5sLmljbC5ubCkuCisgKgorICogVXNlIHRoZSBydGMgY2xvY2sgYWNjZXNzIG1ldGhvZCBpbiBwcmVmZXJlbmNlIHRvIHRoZSBLREdIV0NMSyBtZXRob2QuCisgKiBQcm9ibGVtIGRpc2NvdmVyZWQgYnkgQW5kcmVhcyBTY2h3YWIgPHNjaHdhYkBMUzUuaW5mb3JtYXRpay51bmktZG9ydG11bmQuZGU+LgorICoKKyAqIE5vdmVtYmVyIDE5OTY6IFZlcnNpb24gMi4wLjEuIE1vZGlmaWNhdGlvbnMgYnkgTmljb2xhaSBMYW5nZmVsZHQKKyAqIChqYW5sQG1hdGgudWlvLm5vKSB0byBtYWtlIGl0IGNvbXBpbGUgb24gbGludXggMS4yIG1hY2hpbmVzIGFzIHdlbGwgYXMKKyAqIG1vcmUgcmVjZW50IHZlcnNpb25zIG9mIHRoZSBrZXJuZWwuIEludHJvZHVjZWQgdGhlIE5PX0NMT0NLIGFjY2VzcyBtZXRob2QKKyAqIGFuZCB3cm90ZSBmZWF0dXJlIHRlc3QgY29kZSB0byBkZXRlY3QgYWJzZW5jZSBvZiBydGMgaGVhZGVycy4KKyAqCisgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqCisgKiBNYWludGVuYW5jZSBub3RlcworICoKKyAqIFRvIGNvbXBpbGUgdGhpcywgeW91IG11c3QgdXNlIEdOVSBjb21waWxlciBvcHRpbWl6YXRpb24gKC1PIG9wdGlvbikgaW4KKyAqIG9yZGVyIHRvIG1ha2UgdGhlICJleHRlcm4gaW5saW5lIiBmdW5jdGlvbnMgZnJvbSBhc20vaW8uaCAoaW5iKCksIGV0Yy4pCisgKiBjb21waWxlLiBJZiB5b3UgZG9uJ3Qgb3B0aW1pemUsIHdoaWNoIG1lYW5zIHRoZSBjb21waWxlciB3aWxsIGdlbmVyYXRlIG5vCisgKiBpbmxpbmUgZnVuY3Rpb25zLCB0aGUgcmVmZXJlbmNlcyB0byB0aGVzZSBmdW5jdGlvbnMgaW4gdGhpcyBwcm9ncmFtIHdpbGwKKyAqIGJlIGNvbXBpbGVkIGFzIGV4dGVybmFsIHJlZmVyZW5jZXMuIFNpbmNlIHlvdSBwcm9iYWJseSB3b24ndCBiZSBsaW5raW5nCisgKiB3aXRoIGFueSBmdW5jdGlvbnMgYnkgdGhlc2UgbmFtZXMsIHlvdSB3aWxsIGhhdmUgdW5yZXNvbHZlZCBleHRlcm5hbAorICogcmVmZXJlbmNlcyB3aGVuIHlvdSBsaW5rLgorICoKKyAqIEhlcmUncyBzb21lIGluZm8gb24gaG93IHdlIG11c3QgZGVhbCB3aXRoIHRoZSB0aW1lIHRoYXQgZWxhcHNlcyB3aGlsZQorICogdGhpcyBwcm9ncmFtIHJ1bnM6IFRoZXJlIGFyZSB0d28gbWFqb3IgZGVsYXlzIGFzIHdlIHJ1bjoKKyAqCisgKgkxKSBXYWl0aW5nIHVwIHRvIDEgc2Vjb25kIGZvciBhIHRyYW5zaXRpb24gb2YgdGhlIEhhcmR3YXJlIENsb2NrIHNvCisgKgkgICB3ZSBhcmUgc3luY2hyb25pemVkIHRvIHRoZSBIYXJkd2FyZSBDbG9jay4KKyAqCTIpIFJ1bm5pbmcgdGhlICJkYXRlIiBwcm9ncmFtIHRvIGludGVycHJldCB0aGUgdmFsdWUgb2Ygb3VyIC0tZGF0ZQorICoJICAgb3B0aW9uLgorICoKKyAqIFJlYWRpbmcgdGhlIC9ldGMvYWRqdGltZSBmaWxlIGlzIHRoZSBuZXh0IGJpZ2dlc3Qgc291cmNlIG9mIGRlbGF5IGFuZAorICogdW5jZXJ0YWludHkuCisgKgorICogVGhlIHVzZXIgd2FudHMgdG8ga25vdyB3aGF0IHRpbWUgaXQgd2FzIGF0IHRoZSBtb21lbnQgaGUgaW52b2tlZCB1cywgbm90CisgKiBzb21lIGFyYml0cmFyeSB0aW1lIGxhdGVyLiBBbmQgaW4gc2V0dGluZyB0aGUgY2xvY2ssIGhlIGlzIGdpdmluZyB1cyB0aGUKKyAqIHRpbWUgYXQgdGhlIG1vbWVudCB3ZSBhcmUgaW52b2tlZCwgc28gaWYgd2Ugc2V0IHRoZSBjbG9jayBzb21lIHRpbWUKKyAqIGxhdGVyLCB3ZSBoYXZlIHRvIGFkZCBzb21lIHRpbWUgdG8gdGhhdC4KKyAqCisgKiBTbyB3ZSBjaGVjayB0aGUgc3lzdGVtIHRpbWUgYXMgc29vbiBhcyB3ZSBzdGFydCB1cCwgdGhlbiBydW4gImRhdGUiIGFuZAorICogZG8gZmlsZSBJL08gaWYgbmVjZXNzYXJ5LCB0aGVuIHdhaXQgdG8gc3luY2hyb25pemUgd2l0aCBhIEhhcmR3YXJlIENsb2NrCisgKiBlZGdlLCB0aGVuIGNoZWNrIHRoZSBzeXN0ZW0gdGltZSBhZ2FpbiB0byBzZWUgaG93IG11Y2ggdGltZSB3ZSBzcGVudC4gV2UKKyAqIGltbWVkaWF0ZWx5IHJlYWQgdGhlIGNsb2NrIHRoZW4gYW5kIChpZiBhcHByb3ByaWF0ZSkgcmVwb3J0IHRoYXQgdGltZSwKKyAqIGFuZCBhZGRpdGlvbmFsbHksIHRoZSBkZWxheSB3ZSBtZWFzdXJlZC4KKyAqCisgKiBJZiB3ZSdyZSBzZXR0aW5nIHRoZSBjbG9jayB0byBhIHRpbWUgZ2l2ZW4gYnkgdGhlIHVzZXIsIHdlIHdhaXQgc29tZSBtb3JlCisgKiBzbyB0aGF0IHRoZSB0b3RhbCBkZWxheSBpcyBhbiBpbnRlZ3JhbCBudW1iZXIgb2Ygc2Vjb25kcywgdGhlbiBzZXQgdGhlCisgKiBIYXJkd2FyZSBDbG9jayB0byB0aGUgdGltZSB0aGUgdXNlciByZXF1ZXN0ZWQgcGx1cyB0aGF0IGludGVncmFsIG51bWJlcgorICogb2Ygc2Vjb25kcy4gTi5CLiBUaGUgSGFyZHdhcmUgQ2xvY2sgY2FuIG9ubHkgYmUgc2V0IGluIGludGVncmFsIHNlY29uZHMuCisgKgorICogSWYgd2UncmUgc2V0dGluZyB0aGUgY2xvY2sgdG8gdGhlIHN5c3RlbSBjbG9jayB2YWx1ZSwgd2Ugd2FpdCBmb3IgdGhlCisgKiBzeXN0ZW0gY2xvY2sgdG8gcmVhY2ggdGhlIHRvcCBvZiBhIHNlY29uZCwgYW5kIHRoZW4gc2V0IHRoZSBIYXJkd2FyZQorICogQ2xvY2sgdG8gdGhlIHN5c3RlbSBjbG9jaydzIHZhbHVlLgorICoKKyAqIEhlcmUncyBhbiBpbnRlcmVzdGluZyBwb2ludCBhYm91dCBzZXR0aW5nIHRoZSBIYXJkd2FyZSBDbG9jazogIE9uIG15CisgKiBtYWNoaW5lLCB3aGVuIHlvdSBzZXQgaXQsIGl0IHNldHMgdG8gdGhhdCBwcmVjaXNlIHRpbWUuIEJ1dCBvbmUgY2FuCisgKiBpbWFnaW5lIGFub3RoZXIgY2xvY2sgd2hvc2UgdXBkYXRlIG9zY2lsbGF0b3IgbWFyY2hlcyBvbiBhIHN0ZWFkeSBvbmUKKyAqIHNlY29uZCBwZXJpb2QsIHNvIHVwZGF0aW5nIHRoZSBjbG9jayBiZXR3ZWVuIGFueSB0d28gb3NjaWxsYXRvciB0aWNrcyBpcworICogdGhlIHNhbWUgYXMgdXBkYXRpbmcgaXQgcmlnaHQgYXQgdGhlIGVhcmxpZXIgdGljay4gVG8gYXZvaWQgYW55CisgKiBjb21wbGljYXRpb25zIHRoYXQgbWlnaHQgY2F1c2UsIHdlIHNldCB0aGUgY2xvY2sgYXMgc29vbiBhcyBwb3NzaWJsZQorICogYWZ0ZXIgYW4gb3NjaWxsYXRvciB0aWNrLgorICoKKyAqIEFib3V0IHN5bmNocm9uaXppbmcgdG8gdGhlIEhhcmR3YXJlIENsb2NrIHdoZW4gcmVhZGluZyB0aGUgdGltZTogVGhlCisgKiBwcmVjaXNpb24gb2YgdGhlIEhhcmR3YXJlIENsb2NrIGNvdW50ZXJzIHRoZW1zZWx2ZXMgaXMgb25lIHNlY29uZC4gWW91CisgKiBjYW4ndCByZWFkIHRoZSBjb3VudGVycyBhbmQgZmluZCBvdXQgdGhhdCBpcyAxMjowMTowMi41LiBCdXQgaWYgeW91CisgKiBjb25zaWRlciB0aGUgbG9jYXRpb24gaW4gdGltZSBvZiB0aGUgY291bnRlcidzIHRpY2tzIGFzIHBhcnQgb2YgaXRzCisgKiB2YWx1ZSwgdGhlbiBpdHMgcHJlY2lzaW9uIGlzIGFzIGluZmluaXRlIGFzIHRpbWUgaXMgY29udGludW91cyEgV2hhdCBJJ20KKyAqIHNheWluZyBpcyB0aGlzOiBUbyBmaW5kIG91dCB0aGUgX2V4YWN0XyB0aW1lIGluIHRoZSBoYXJkd2FyZSBjbG9jaywgd2UKKyAqIHdhaXQgdW50aWwgdGhlIG5leHQgY2xvY2sgdGljayAodGhlIG5leHQgdGltZSB0aGUgc2Vjb25kIGNvdW50ZXIgY2hhbmdlcykKKyAqIGFuZCBtZWFzdXJlIGhvdyBsb25nIHdlIGhhZCB0byB3YWl0LiBXZSB0aGVuIHJlYWQgdGhlIHZhbHVlIG9mIHRoZSBjbG9jaworICogY291bnRlcnMgYW5kIHN1YnRyYWN0IHRoZSB3YWl0IHRpbWUgYW5kIHdlIGtub3cgcHJlY2lzZWx5IHdoYXQgdGltZSBpdAorICogd2FzIHdoZW4gd2Ugc2V0IG91dCB0byBxdWVyeSB0aGUgdGltZS4KKyAqCisgKiBod2Nsb2NrIHVzZXMgdGhpcyBtZXRob2QsIGFuZCBjb25zaWRlcnMgdGhlIEhhcmR3YXJlIENsb2NrIHRvIGhhdmUKKyAqIGluZmluaXRlIHByZWNpc2lvbi4KKyAqLwpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2h3Y2xvY2suaCBiL3N5cy11dGlscy9od2Nsb2NrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTJmZGI1ZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9od2Nsb2NrLmgKQEAgLTAsMCArMSw4MCBAQAorI2lmbmRlZiBIV0NMT0NLX0NMT0NLX0gKKyNkZWZpbmUgSFdDTE9DS19DTE9DS19ICisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8dGltZS5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImRlYnVnLmgiCisKKyNkZWZpbmUgSFdDTE9DS19ERUJVR19JTklUCQkoMSA8PCAwKQorI2RlZmluZSBIV0NMT0NLX0RFQlVHX1JBTkRPTV9TTEVFUAkoMSA8PCAxKQorI2RlZmluZSBIV0NMT0NLX0RFQlVHX0RFTFRBX1ZTX1RBUkdFVAkoMSA8PCAyKQorI2RlZmluZSBIV0NMT0NLX0RFQlVHX0FMTAkJMHhGRkZGCisKK1VMX0RFQlVHX0RFQ0xBUkVfTUFTSyhod2Nsb2NrKTsKKyNkZWZpbmUgREJHKG0sIHgpCV9fVUxfREJHKGh3Y2xvY2ssIEhXQ0xPQ0tfREVCVUdfLCBtLCB4KQorI2RlZmluZSBPTl9EQkcobSwgeCkJX19VTF9EQkdfQ0FMTChod2Nsb2NrLCBIV0NMT0NLX0RFQlVHXywgbSwgeCkKKworc3RydWN0IGh3Y2xvY2tfY29udHJvbCB7CisJY2hhciAqZGF0ZV9vcHQ7CisJY2hhciAqYWRqX2ZpbGVfbmFtZTsKKwlkb3VibGUgcnRjX2RlbGF5OwkvKiAtLWRlbGF5IDxzZWNvbmRzPiAqLworI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKF9fYWxwaGFfXykKKwljaGFyICplcG9jaF9vcHRpb247CisjZW5kaWYKKyNpZmRlZiBfX2xpbnV4X18KKwljaGFyICpydGNfZGV2X25hbWU7CisjZW5kaWYKKwl1bnNpZ25lZCBpbnQKKwkJaHdhdWRpdF9vbjoxLAorCQlhZGp1c3Q6MSwKKwkJc2hvdzoxLAorCQloY3Rvc3lzOjEsCisJCXV0YzoxLAorCQlzeXN0b2hjOjEsCisjaWYgZGVmaW5lZChfX2xpbnV4X18pICYmIGRlZmluZWQoX19hbHBoYV9fKQorCQlnZXRlcG9jaDoxLAorCQlzZXRlcG9jaDoxLAorI2VuZGlmCisJCW5vYWRqZmlsZToxLAorCQlsb2NhbF9vcHQ6MSwKKwkJZGlyZWN0aXNhOjEsCisJCXRlc3Rpbmc6MSwKKwkJc3lzdHo6MSwKKwkJcHJlZGljdDoxLAorCQlnZXQ6MSwKKwkJc2V0OjEsCisJCXVwZGF0ZToxLAorCQl1bml2ZXJzYWw6MSwJLyogd2lsbCBzdG9yZSBod19jbG9ja19pc191dGMoKSByZXR1cm4gdmFsdWUgKi8KKwkJdmVyYm9zZToxOworfTsKKworc3RydWN0IGNsb2NrX29wcyB7CisJY2hhciAqaW50ZXJmYWNlX25hbWU7CisJaW50ICgqZ2V0X3Blcm1pc3Npb25zKSAodm9pZCk7CisJaW50ICgqcmVhZF9oYXJkd2FyZV9jbG9jaykgKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwgc3RydWN0IHRtICogdG0pOworCWludCAoKnNldF9oYXJkd2FyZV9jbG9jaykgKGNvbnN0IHN0cnVjdCBod2Nsb2NrX2NvbnRyb2wgKmN0bCwgY29uc3Qgc3RydWN0IHRtICogdG0pOworCWludCAoKnN5bmNocm9uaXplX3RvX2Nsb2NrX3RpY2spIChjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwpOworCWNvbnN0IGNoYXIgKigqZ2V0X2RldmljZV9wYXRoKSAodm9pZCk7Cit9OworCitleHRlcm4gc3RydWN0IGNsb2NrX29wcyAqcHJvYmVfZm9yX2Ntb3NfY2xvY2sodm9pZCk7CitleHRlcm4gc3RydWN0IGNsb2NrX29wcyAqcHJvYmVfZm9yX3J0Y19jbG9jayhjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwpOworCisvKiBod2Nsb2NrLmMgKi8KK2V4dGVybiBkb3VibGUgdGltZV9kaWZmKHN0cnVjdCB0aW1ldmFsIHN1YnRyYWhlbmQsIHN0cnVjdCB0aW1ldmFsIHN1YnRyYWN0b3IpOworCisvKiBydGMuYyAqLworI2lmIGRlZmluZWQoX19saW51eF9fKSAmJiBkZWZpbmVkKF9fYWxwaGFfXykKK2V4dGVybiBpbnQgZ2V0X2Vwb2NoX3J0Yyhjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwsIHVuc2lnbmVkIGxvbmcgKmVwb2NoKTsKK2V4dGVybiBpbnQgc2V0X2Vwb2NoX3J0Yyhjb25zdCBzdHJ1Y3QgaHdjbG9ja19jb250cm9sICpjdGwpOworI2VuZGlmCisKK2V4dGVybiB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpCitod2Nsb2NrX2V4aXQoY29uc3Qgc3RydWN0IGh3Y2xvY2tfY29udHJvbCAqY3RsLCBpbnQgc3RhdHVzKTsKKworI2VuZGlmCQkJCS8qIEhXQ0xPQ0tfQ0xPQ0tfSCAqLwpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2lwY21rLjEgYi9zeXMtdXRpbHMvaXBjbWsuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNmVkNDM0Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2lwY21rLjEKQEAgLTAsMCArMSw1NCBAQAorLlwiIENvcHlyaWdodCAyMDA4IEhheWRlbiBBLiBKYW1lcyAoaGF5ZGVuLmphbWVzQGdtYWlsLmNvbSkKKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuVEggSVBDTUsgIjEiICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCAiTkFNRSIKK2lwY21rIFwtIG1ha2UgdmFyaW91cyBJUEMgcmVzb3VyY2VzCisuU0ggIlNZTk9QU0lTIgorLkIgaXBjbWsKK1tvcHRpb25zXQorLlNIICJERVNDUklQVElPTiIKKy5CIGlwY21rCithbGxvd3MgeW91IHRvIGNyZWF0ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzLCBtZXNzYWdlIHF1ZXVlcywKK2FuZCBzZW1hcGhvcmUgYXJyYXlzLgorLlNIICJPUFRJT05TIgorLlRQCitSZXNvdXJjZXMgY2FuIGJlIHNwZWNpZmllZCB3aXRoIHRoZXNlIG9wdGlvbnM6CisuVFAKKy5CUiBcLU0gLCAiIFwtXC1zaG1lbSAiIFxmSXNpemUKK0NyZWF0ZSBhIHNoYXJlZCBtZW1vcnkgc2VnbWVudCBvZgorLkkgc2l6ZQorYnl0ZXMuCitUaGUgXGZJc2l6ZVxmUiBhcmd1bWVudCBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIEtpQiAoPTEwMjQpLCBNaUIgKD0xMDI0KjEwMjQpLCBhbmQgc28gb24gZm9yIEdpQiwgZXRjLiAodGhlCisiaUIiIGlzIG9wdGlvbmFsLCBlLmcuLCAiSyIgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgIktpQiIpIG9yIHRoZSBzdWZmaXhlcyBLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIGV0Yy4KKy5UUAorLkJSIFwtUSAsICIgXC1cLXF1ZXVlIgorQ3JlYXRlIGEgbWVzc2FnZSBxdWV1ZS4KKy5UUAorLkJSIFwtUyAsICIgXC1cLXNlbWFwaG9yZSAiIFxmSW51bWJlcgorQ3JlYXRlIGEgc2VtYXBob3JlIGFycmF5IHdpdGgKKy5JIG51bWJlcgorb2YgZWxlbWVudHMuCisuUFAKK090aGVyIG9wdGlvbnMgYXJlOgorLlRQCisuQlIgXC1wICwgIiBcLVwtbW9kZSAiIFxmSW1vZGUKK0FjY2VzcyBwZXJtaXNzaW9ucyBmb3IgdGhlIHJlc291cmNlLiAgRGVmYXVsdCBpcyAwNjQ0LgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5QUAorLlNIICJTRUUgQUxTTyIKKy5CUiBpcGNybSAoMSksCisuQlIgaXBjcyAoMSkKKy5TSCAiQVVUSE9SIgorLk1UIGhheWRlbi5qYW1lc0BnbWFpbC5jb20KK0hheWRlbiBBLiBKYW1lcworLk1FCisuU0ggIkFWQUlMQUJJTElUWSIKK1RoZSBpcGNtayBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2lwY21rLmMgYi9zeXMtdXRpbHMvaXBjbWsuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjgzNjUyCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2lwY21rLmMKQEAgLTAsMCArMSwxNjMgQEAKKy8qCisgKiAgaXBjbWsuYyAtIHVzZWQgdG8gY3JlYXRlIGFkLWhvYyBJUEMgc2VnbWVudHMKKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDA4IEhheWRlbiBBLiBKYW1lcyAoaGF5ZGVuLmphbWVzQGdtYWlsLmNvbSkKKyAqICBDb3B5cmlnaHQgKEMpIDIwMDggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGRlZi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL2lwYy5oPgorI2luY2x1ZGUgPHN5cy9tc2cuaD4KKyNpbmNsdWRlIDxzeXMvc2VtLmg+CisjaW5jbHVkZSA8c3lzL3NobS5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAicmFuZHV0aWxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCitzdGF0aWMgaW50IGNyZWF0ZV9zaG0oc2l6ZV90IHNpemUsIGludCBwZXJtaXNzaW9uKQoreworCWtleV90IGtleTsKKworCXJhbmRvbV9nZXRfYnl0ZXMoJmtleSwgc2l6ZW9mKGtleSkpOworCXJldHVybiBzaG1nZXQoa2V5LCBzaXplLCBwZXJtaXNzaW9uIHwgSVBDX0NSRUFUKTsKK30KKworc3RhdGljIGludCBjcmVhdGVfbXNnKGludCBwZXJtaXNzaW9uKQoreworCWtleV90IGtleTsKKworCXJhbmRvbV9nZXRfYnl0ZXMoJmtleSwgc2l6ZW9mKGtleSkpOworCXJldHVybiBtc2dnZXQoa2V5LCBwZXJtaXNzaW9uIHwgSVBDX0NSRUFUKTsKK30KKworc3RhdGljIGludCBjcmVhdGVfc2VtKGludCBuc2VtcywgaW50IHBlcm1pc3Npb24pCit7CisJa2V5X3Qga2V5OworCisJcmFuZG9tX2dldF9ieXRlcygma2V5LCBzaXplb2Yoa2V5KSk7CisJcmV0dXJuIHNlbWdldChrZXksIG5zZW1zLCBwZXJtaXNzaW9uIHwgSVBDX0NSRUFUKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNyZWF0ZSB2YXJpb3VzIElQQyByZXNvdXJjZXMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1NLCAtLXNobWVtIDxzaXplPiAgICAgICBjcmVhdGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IG9mIHNpemUgPHNpemU+XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMsIC0tc2VtYXBob3JlIDxudW1iZXI+IGNyZWF0ZSBzZW1hcGhvcmUgYXJyYXkgd2l0aCA8bnVtYmVyPiBlbGVtZW50c1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1RLCAtLXF1ZXVlICAgICAgICAgICAgICBjcmVhdGUgbWVzc2FnZSBxdWV1ZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLW1vZGUgPG1vZGU+ICAgICAgICBwZXJtaXNzaW9uIGZvciB0aGUgcmVzb3VyY2UgKGRlZmF1bHQgaXMgMDY0NClcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImlwY21rKDEpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHBlcm1pc3Npb24gPSAwNjQ0OworCWludCBvcHQ7CisJc2l6ZV90IHNpemUgPSAwOworCWludCBuc2VtcyA9IDA7CisJaW50IGFza19zaG0gPSAwLCBhc2tfbXNnID0gMCwgYXNrX3NlbSA9IDA7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJzaG1lbSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTSd9LAorCQl7InNlbWFwaG9yZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUyd9LAorCQl7InF1ZXVlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdRJ30sCisJCXsibW9kZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUoKG9wdCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJoTTpRUzpwOlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2gob3B0KSB7CisJCWNhc2UgJ00nOgorCQkJc2l6ZSA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2Ugc2l6ZSIpKTsKKwkJCWFza19zaG0gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1EnOgorCQkJYXNrX21zZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQluc2VtcyA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBlbGVtZW50cyIpKTsKKwkJCWFza19zZW0gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJcGVybWlzc2lvbiA9IHN0cnRvdWwob3B0YXJnLCBOVUxMLCA4KTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZighYXNrX3NobSAmJiAhYXNrX21zZyAmJiAhYXNrX3NlbSkgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisJaWYgKGFza19zaG0pIHsKKwkJaW50IHNobWlkOworCQlpZiAoLTEgPT0gKHNobWlkID0gY3JlYXRlX3NobShzaXplLCBwZXJtaXNzaW9uKSkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjcmVhdGUgc2hhcmUgbWVtb3J5IGZhaWxlZCIpKTsKKwkJZWxzZQorCQkJcHJpbnRmKF8oIlNoYXJlZCBtZW1vcnkgaWQ6ICVkXG4iKSwgc2htaWQpOworCX0KKworCWlmIChhc2tfbXNnKSB7CisJCWludCBtc2dpZDsKKwkJaWYgKC0xID09IChtc2dpZCA9IGNyZWF0ZV9tc2cocGVybWlzc2lvbikpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY3JlYXRlIG1lc3NhZ2UgcXVldWUgZmFpbGVkIikpOworCQllbHNlCisJCQlwcmludGYoXygiTWVzc2FnZSBxdWV1ZSBpZDogJWRcbiIpLCBtc2dpZCk7CisJfQorCisJaWYgKGFza19zZW0pIHsKKwkJaW50IHNlbWlkOworCQlpZiAoLTEgPT0gKHNlbWlkID0gY3JlYXRlX3NlbShuc2VtcywgcGVybWlzc2lvbikpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY3JlYXRlIHNlbWFwaG9yZSBmYWlsZWQiKSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCJTZW1hcGhvcmUgaWQ6ICVkXG4iKSwgc2VtaWQpOworCX0KKworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaXBjcm0uMSBiL3N5cy11dGlscy9pcGNybS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNzNkZmYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvaXBjcm0uMQpAQCAtMCwwICsxLDExNyBAQAorLlwiIENvcHlyaWdodCAyMDAyIEFuZHJlIEMuIE1henpvbmUgKGxpbnV4ZGV2QGthcmFnZWUuY29tKQorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBJUENSTSAiMSIgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2lwY3JtIFwtIHJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMKKy5TSCBTWU5PUFNJUworLkIgaXBjcm0KK1tvcHRpb25zXQorLnNwCisuQiBpcGNybQorLlJCIHsgc2htIHwgbXNnIHwgc2VtIH0KKy5JUiBpZCAuLi4KKy5TSCBERVNDUklQVElPTgorLkIgaXBjcm0KK3JlbW92ZXMgU3lzdGVtIFYgaW50ZXItcHJvY2VzcyBjb21tdW5pY2F0aW9uIChJUEMpIG9iamVjdHMKK2FuZCBhc3NvY2lhdGVkIGRhdGEgc3RydWN0dXJlcyBmcm9tIHRoZSBzeXN0ZW0uCitJbiBvcmRlciB0byBkZWxldGUgc3VjaCBvYmplY3RzLCB5b3UgbXVzdCBiZSBzdXBlcnVzZXIsIG9yCit0aGUgY3JlYXRvciBvciBvd25lciBvZiB0aGUgb2JqZWN0LgorLlBQCitTeXN0ZW0gViBJUEMgb2JqZWN0cyBhcmUgb2YgdGhyZWUgdHlwZXM6IHNoYXJlZCBtZW1vcnksCittZXNzYWdlIHF1ZXVlcywgYW5kIHNlbWFwaG9yZXMuCitEZWxldGlvbiBvZiBhIG1lc3NhZ2UgcXVldWUgb3Igc2VtYXBob3JlIG9iamVjdCBpcyBpbW1lZGlhdGUKKyhyZWdhcmRsZXNzIG9mIHdoZXRoZXIgYW55IHByb2Nlc3Mgc3RpbGwgaG9sZHMgYW4gSVBDCitpZGVudGlmaWVyIGZvciB0aGUgb2JqZWN0KS4KK0Egc2hhcmVkIG1lbW9yeSBvYmplY3QgaXMgb25seSByZW1vdmVkCithZnRlciBhbGwgY3VycmVudGx5IGF0dGFjaGVkIHByb2Nlc3NlcyBoYXZlIGRldGFjaGVkCisuUkIgKCBzaG1kdCAoMikpCit0aGUgb2JqZWN0IGZyb20gdGhlaXIgdmlydHVhbCBhZGRyZXNzIHNwYWNlLgorLlBQCitUd28gc3ludGF4IHN0eWxlcyBhcmUgc3VwcG9ydGVkLiAgVGhlIG9sZCBMaW51eCBoaXN0b3JpY2FsIHN5bnRheCBzcGVjaWZpZXMKK2EgdGhyZWUtbGV0dGVyIGtleXdvcmQgaW5kaWNhdGluZyB3aGljaCBjbGFzcyBvZiBvYmplY3QgaXMgdG8gYmUgZGVsZXRlZCwKK2ZvbGxvd2VkIGJ5IG9uZSBvciBtb3JlIElQQyBpZGVudGlmaWVycyBmb3Igb2JqZWN0cyBvZiB0aGlzIHR5cGUuCisuUFAKK1RoZSBTVVMtY29tcGxpYW50IHN5bnRheCBhbGxvd3MgdGhlIHNwZWNpZmljYXRpb24gb2YKK3plcm8gb3IgbW9yZSBvYmplY3RzIG9mIGFsbCB0aHJlZSB0eXBlcyBpbiBhIHNpbmdsZSBjb21tYW5kIGxpbmUsCit3aXRoIG9iamVjdHMgc3BlY2lmaWVkIGVpdGhlciBieSBrZXkgb3IgYnkgaWRlbnRpZmllciAoc2VlIGJlbG93KS4KK0JvdGgga2V5cyBhbmQgaWRlbnRpZmllcnMgbWF5IGJlIHNwZWNpZmllZCBpbiBkZWNpbWFsLCBoZXhhZGVjaW1hbAorKHNwZWNpZmllZCB3aXRoIGFuIGluaXRpYWwgJzB4JyBvciAnMFgnKSwgb3Igb2N0YWwgKHNwZWNpZmllZCB3aXRoCithbiBpbml0aWFsICcwJykuCisuUFAKK1RoZSBkZXRhaWxzIG9mIHRoZSByZW1vdmVzIGFyZSBkZXNjcmliZWQgaW4KKy5CUiBzaG1jdGwgKDIpLAorLkJSIG1zZ2N0bCAoMiksCithbmQKKy5CUiBzZW1jdGwgKDIpLgorVGhlIGlkZW50aWZpZXJzIGFuZCBrZXlzIGNhbiBiZSBmb3VuZCBieSB1c2luZworLkJSIGlwY3MgKDEpLgorLlNIIE9QVElPTlMKKy5UUAorXGZCLWFcZlIsIFxmQlwtXC1hbGxcZlIgW1xmQnNobVxmUl0gW1xmQm1zZ1xmUl0gW1xmQnNlbVxmUl0KK1JlbW92ZSBhbGwgcmVzb3VyY2VzLiAgV2hlbiBhbiBvcHRpb24gYXJndW1lbnQgaXMgcHJvdmlkZWQsIHRoZSByZW1vdmFsIGlzCitwZXJmb3JtZWQgb25seSBmb3IgdGhlIHNwZWNpZmllZCByZXNvdXJjZSB0eXBlcy4gIFxmSVdhcm5pbmchXGZSICBEbyBub3QgdXNlCisuQiBcLWEKK2lmIHlvdSBhcmUgdW5zdXJlIGhvdyB0aGUgc29mdHdhcmUgdXNpbmcgdGhlIHJlc291cmNlcyBtaWdodCByZWFjdCB0byBtaXNzaW5nCitvYmplY3RzLiAgU29tZSBwcm9ncmFtcyBjcmVhdGUgdGhlc2UgcmVzb3VyY2VzIGF0IHN0YXJ0dXAgYW5kIG1heSBub3QgaGF2ZQorYW55IGNvZGUgdG8gZGVhbCB3aXRoIGFuIHVuZXhwZWN0ZWQgZGlzYXBwZWFyYW5jZS4KKy5UUAorLkJSIFwtTSAsICIgXC1cLXNobWVtXC1rZXkgIiBcZklzaG1rZXkKK1JlbW92ZSB0aGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGNyZWF0ZWQgd2l0aAorLkkgc2hta2V5CithZnRlciB0aGUgbGFzdCBkZXRhY2ggaXMgcGVyZm9ybWVkLgorLlRQCisuQlIgXC1tICwgIiBcLVwtc2htZW1cLWlkICIgXGZJc2htaWQKK1JlbW92ZSB0aGUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkZW50aWZpZWQgYnkKKy5JIHNobWlkCithZnRlciB0aGUgbGFzdCBkZXRhY2ggaXMgcGVyZm9ybWVkLgorLlRQCisuQlIgXC1RICwgIiBcLVwtcXVldWVcLWtleSAiIFxmSW1zZ2tleQorUmVtb3ZlIHRoZSBtZXNzYWdlIHF1ZXVlIGNyZWF0ZWQgd2l0aAorLklSIG1zZ2tleSAuCisuVFAKKy5CUiBcLXEgLCAiIFwtXC1xdWV1ZVwtaWQgIiBcZkltc2dpZAorUmVtb3ZlIHRoZSBtZXNzYWdlIHF1ZXVlIGlkZW50aWZpZWQgYnkKKy5JUiBtc2dpZCAuCisuVFAKKy5CUiBcLVMgLCAiIFwtXC1zZW1hcGhvcmVcLWtleSAiIFxmSXNlbWtleQorUmVtb3ZlIHRoZSBzZW1hcGhvcmUgY3JlYXRlZCB3aXRoCisuSVIgc2Vta2V5IC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXNlbWFwaG9yZVwtaWQgIiBcZklzZW1pZAorUmVtb3ZlIHRoZSBzZW1hcGhvcmUgaWRlbnRpZmllZCBieQorLklSIHNlbWlkIC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggTk9URVMKK0luIGl0cyBmaXJzdCBMaW51eCBpbXBsZW1lbnRhdGlvbiwgXGZCaXBjcm1cZlIgdXNlZCB0aGUgZGVwcmVjYXRlZCBzeW50YXgKK3Nob3duIGluIHRoZSBzZWNvbmQgbGluZSBvZiB0aGUKKy5CUiBTWU5PUFNJUyAuCitGdW5jdGlvbmFsaXR5IHByZXNlbnQgaW4gb3RoZXIgKm5peCBpbXBsZW1lbnRhdGlvbnMgb2YgXGZCaXBjcm1cZlIgaGFzIHNpbmNlCitiZWVuIGFkZGVkLCBuYW1lbHkgdGhlIGFiaWxpdHkgdG8gZGVsZXRlIHJlc291cmNlcyBieSBrZXkgKG5vdCBqdXN0CitpZGVudGlmaWVyKSwgYW5kIHRvIHJlc3BlY3QgdGhlIHNhbWUgY29tbWFuZC1saW5lIHN5bnRheC4gIEZvciBiYWNrd2FyZAorY29tcGF0aWJpbGl0eSB0aGUgcHJldmlvdXMgc3ludGF4IGlzIHN0aWxsIHN1cHBvcnRlZC4KKy5cIiAuU0ggQVVUSE9SUworLlwiIEFuZHJlIEMuIE1henpvbmUgKGxpbnV4ZGV2QGthcmFnZWUuY29tKQorLlwiIC5icgorLlwiIEtyaXNobmEgQmFsYXN1YnJhbWFuaWFuIChiYWxhc3ViQGNpcy5vaGlvLXN0YXRlLmVkdSkKKy5TSCBTRUUgQUxTTworLm5oCisuQlIgaXBjbWsgKDEpLAorLkJSIGlwY3MgKDEpLAorLkJSIG1zZ2N0bCAoMiksCisuQlIgbXNnZ2V0ICgyKSwKKy5CUiBzZW1jdGwgKDIpLAorLkJSIHNlbWdldCAoMiksCisuQlIgc2htY3RsICgyKSwKKy5CUiBzaG1kdCAoMiksCisuQlIgc2htZ2V0ICgyKSwKKy5CUiBmdG9rICgzKQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGlwY3JtIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaXBjcm0uYyBiL3N5cy11dGlscy9pcGNybS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZjJkMWIKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvaXBjcm0uYwpAQCAtMCwwICsxLDQyMyBAQAorLyoKKyAqIGtyaXNobmEgYmFsYXN1YnJhbWFuaWFuIDE5OTMKKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgorICogMTk5OS0wNC0wMiBmcmFuayB6YWdvCisgKiAtIGNhbiBub3cgcmVtb3ZlIHNldmVyYWwgaWQncyBpbiB0aGUgc2FtZSBjYWxsCisgKgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lwYy5oPgorI2luY2x1ZGUgPHN5cy9tc2cuaD4KKyNpbmNsdWRlIDxzeXMvc2VtLmg+CisjaW5jbHVkZSA8c3lzL3NobS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNpZm5kZWYgSEFWRV9VTklPTl9TRU1VTgorLyogYWNjb3JkaW5nIHRvIFgvT1BFTiB3ZSBoYXZlIHRvIGRlZmluZSBpdCBvdXJzZWx2ZXMgKi8KK3VuaW9uIHNlbXVuIHsKKwlpbnQgdmFsOworCXN0cnVjdCBzZW1pZF9kcyAqYnVmOworCXVuc2lnbmVkIHNob3J0IGludCAqYXJyYXk7CisJc3RydWN0IHNlbWluZm8gKl9fYnVmOworfTsKKyNlbmRpZgorCit0eXBlZGVmIGVudW0gdHlwZV9pZCB7CisJU0hNLAorCVNFTSwKKwlNU0csCisJQUxMCit9IHR5cGVfaWQ7CisKK3N0YXRpYyBpbnQgdmVyYm9zZSA9IDA7CisKKy8qIHByaW50IHRoZSB1c2FnZSAqLworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJTEkcyBbb3B0aW9uc11cbiIKKwkJICAgICAgICIgJTEkcyBzaG18bXNnfHNlbSA8aWQ+Li4uXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJlbW92ZSBjZXJ0YWluIElQQyByZXNvdXJjZXMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1tLCAtLXNobWVtLWlkIDxpZD4gICAgICAgIHJlbW92ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgYnkgaWRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTSwgLS1zaG1lbS1rZXkgPGtleT4gICAgICByZW1vdmUgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGJ5IGtleVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1xLCAtLXF1ZXVlLWlkIDxpZD4gICAgICAgIHJlbW92ZSBtZXNzYWdlIHF1ZXVlIGJ5IGlkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVEsIC0tcXVldWUta2V5IDxrZXk+ICAgICAgcmVtb3ZlIG1lc3NhZ2UgcXVldWUgYnkga2V5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc2VtYXBob3JlLWlkIDxpZD4gICAgcmVtb3ZlIHNlbWFwaG9yZSBieSBpZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNlbWFwaG9yZS1rZXkgPGtleT4gIHJlbW92ZSBzZW1hcGhvcmUgYnkga2V5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWxsWz1zaG18bXNnfHNlbV0gICAgcmVtb3ZlIGFsbCAoaW4gdGhlIHNwZWNpZmllZCBjYXRlZ29yeSlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICBleHBsYWluIHdoYXQgaXMgYmVpbmcgZG9uZVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyOCkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiaXBjcm0oMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgcmVtb3ZlX2lkKGludCB0eXBlLCBpbnQgaXNrZXksIGludCBpZCkKK3sKKyAgICAgICAgaW50IHJldDsKKwljaGFyICplcnJtc2c7CisJLyogbmVlZGVkIHRvIGRlbGV0ZSBzZW1hcGhvcmVzICovCisJdW5pb24gc2VtdW4gYXJnOworCWFyZy52YWwgPSAwOworCisJLyogZG8gdGhlIHJlbW92YWwgKi8KKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFNITToKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygicmVtb3Zpbmcgc2hhcmVkIG1lbW9yeSBzZWdtZW50IGlkIGAlZCdcbiIpLCBpZCk7CisJCXJldCA9IHNobWN0bChpZCwgSVBDX1JNSUQsIE5VTEwpOworCQlicmVhazsKKwljYXNlIE1TRzoKKwkJaWYgKHZlcmJvc2UpCisJCQlwcmludGYoXygicmVtb3ZpbmcgbWVzc2FnZSBxdWV1ZSBpZCBgJWQnXG4iKSwgaWQpOworCQlyZXQgPSBtc2djdGwoaWQsIElQQ19STUlELCBOVUxMKTsKKwkJYnJlYWs7CisJY2FzZSBTRU06CisJCWlmICh2ZXJib3NlKQorCQkJcHJpbnRmKF8oInJlbW92aW5nIHNlbWFwaG9yZSBpZCBgJWQnXG4iKSwgaWQpOworCQlyZXQgPSBzZW1jdGwoaWQsIDAsIElQQ19STUlELCBhcmcpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQllcnJ4KEVYSVRfRkFJTFVSRSwgImltcG9zc2libGUgb2NjdXJyZWQiKTsKKwl9CisKKwkvKiBob3cgZGlkIHRoZSByZW1vdmFsIGdvPyAqLworCWlmIChyZXQgPCAwKSB7CisJCXN3aXRjaCAoZXJybm8pIHsKKwkJY2FzZSBFQUNDRVM6CisJCWNhc2UgRVBFUk06CisJCQllcnJtc2cgPSBpc2tleSA/IF8oInBlcm1pc3Npb24gZGVuaWVkIGZvciBrZXkiKSA6IF8oInBlcm1pc3Npb24gZGVuaWVkIGZvciBpZCIpOworCQkJYnJlYWs7CisJCWNhc2UgRUlOVkFMOgorCQkJZXJybXNnID0gaXNrZXkgPyBfKCJpbnZhbGlkIGtleSIpIDogXygiaW52YWxpZCBpZCIpOworCQkJYnJlYWs7CisJCWNhc2UgRUlEUk06CisJCQllcnJtc2cgPSBpc2tleSA/IF8oImFscmVhZHkgcmVtb3ZlZCBrZXkiKSA6IF8oImFscmVhZHkgcmVtb3ZlZCBpZCIpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBpc2tleSA/IF8oImtleSBmYWlsZWQiKSA6IF8oImlkIGZhaWxlZCIpKTsKKwkJfQorCQl3YXJueCgiJXMgKCVkKSIsIGVycm1zZywgaWQpOworCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVtb3ZlX2FyZ19saXN0KHR5cGVfaWQgdHlwZSwgaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBpZDsKKwljaGFyICplbmQ7CisJaW50IG5iX2Vycm9ycyA9IDA7CisKKwlkbyB7CisJCWlkID0gc3RydG91bChhcmd2WzBdLCAmZW5kLCAxMCk7CisJCWlmICgqZW5kICE9IDApIHsKKwkJCXdhcm54KF8oImludmFsaWQgaWQ6ICVzIiksIGFyZ3ZbMF0pOworCQkJbmJfZXJyb3JzKys7CisJCX0gZWxzZSB7CisJCQlpZiAocmVtb3ZlX2lkKHR5cGUsIDAsIGlkKSkKKwkJCQluYl9lcnJvcnMrKzsKKwkJfQorCQlhcmdjLS07CisJCWFyZ3YrKzsKKwl9IHdoaWxlIChhcmdjKTsKKwlyZXR1cm4gKG5iX2Vycm9ycyk7Cit9CisKK3N0YXRpYyBpbnQgZGVwcmVjYXRlZF9tYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl0eXBlX2lkIHR5cGU7CisKKwlpZiAoIXN0cmNtcChhcmd2WzFdLCAic2htIikpCisJCXR5cGUgPSBTSE07CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAibXNnIikpCisJCXR5cGUgPSBNU0c7CisJZWxzZSBpZiAoIXN0cmNtcChhcmd2WzFdLCAic2VtIikpCisJCXR5cGUgPSBTRU07CisJZWxzZQorCQlyZXR1cm4gMDsKKworCWlmIChhcmdjIDwgMykgeworCQl3YXJueChfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCWlmIChyZW1vdmVfYXJnX2xpc3QodHlwZSwgYXJnYyAtIDIsICZhcmd2WzJdKSkKKwkJZXhpdChFWElUX0ZBSUxVUkUpOworCisJcHJpbnRmKF8oInJlc291cmNlKHMpIGRlbGV0ZWRcbiIpKTsKKwlyZXR1cm4gMTsKK30KKworc3RhdGljIHVuc2lnbmVkIGxvbmcgc3RydG9rZXkoY29uc3QgY2hhciAqc3RyLCBjb25zdCBjaGFyICplcnJtZXNnKQoreworCXVuc2lnbmVkIGxvbmcgbnVtOworCWNoYXIgKmVuZCA9IE5VTEw7CisKKwlpZiAoc3RyID09IE5VTEwgfHwgKnN0ciA9PSAnXDAnKQorCQlnb3RvIGVycjsKKwllcnJubyA9IDA7CisJLyoga2V5cyBhcmUgaW4gaGV4IG9yIGRlY2ltYWwgKi8KKwludW0gPSBzdHJ0b3VsKHN0ciwgJmVuZCwgMCk7CisKKwlpZiAoZXJybm8gfHwgc3RyID09IGVuZCB8fCAoZW5kICYmICplbmQpKQorCQlnb3RvIGVycjsKKworCXJldHVybiBudW07CisgZXJyOgorCWlmIChlcnJubykKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzOiAnJXMnIiwgZXJybWVzZywgc3RyKTsKKwllbHNlCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6ICclcyciLCBlcnJtZXNnLCBzdHIpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGtleV90b19pZCh0eXBlX2lkIHR5cGUsIGNoYXIgKnMpCit7CisJaW50IGlkOworCS8qIGtleXMgYXJlIGluIGhleCBvciBkZWNpbWFsICovCisJa2V5X3Qga2V5ID0gc3RydG9rZXkocywgImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIpOworCWlmIChrZXkgPT0gSVBDX1BSSVZBVEUpIHsKKwkJd2FybngoXygiaWxsZWdhbCBrZXkgKCVzKSIpLCBzKTsKKwkJcmV0dXJuIC0xOworCX0KKwlzd2l0Y2ggKHR5cGUpIHsKKwljYXNlIFNITToKKwkJaWQgPSBzaG1nZXQoa2V5LCAwLCAwKTsKKwkJYnJlYWs7CisJY2FzZSBNU0c6CisJCWlkID0gbXNnZ2V0KGtleSwgMCk7CisJCWJyZWFrOworCWNhc2UgU0VNOgorCQlpZCA9IHNlbWdldChrZXksIDAsIDApOworCQlicmVhazsKKwljYXNlIEFMTDoKKwkJYWJvcnQoKTsKKwlkZWZhdWx0OgorCQllcnJ4KEVYSVRfRkFJTFVSRSwgImltcG9zc2libGUgb2NjdXJyZWQiKTsKKwl9CisJaWYgKGlkIDwgMCkgeworCQljaGFyICplcnJtc2c7CisJCXN3aXRjaCAoZXJybm8pIHsKKwkJY2FzZSBFQUNDRVM6CisJCQllcnJtc2cgPSBfKCJwZXJtaXNzaW9uIGRlbmllZCBmb3Iga2V5Iik7CisJCQlicmVhazsKKwkJY2FzZSBFSURSTToKKwkJCWVycm1zZyA9IF8oImFscmVhZHkgcmVtb3ZlZCBrZXkiKTsKKwkJCWJyZWFrOworCQljYXNlIEVOT0VOVDoKKwkJCWVycm1zZyA9IF8oImludmFsaWQga2V5Iik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImtleSBmYWlsZWQiKSk7CisJCX0KKwkJd2FybngoIiVzICglcykiLCBlcnJtc2csIHMpOworCX0KKwlyZXR1cm4gaWQ7Cit9CisKK3N0YXRpYyBpbnQgcmVtb3ZlX2FsbCh0eXBlX2lkIHR5cGUpCit7CisJaW50IHJldCA9IDA7CisJaW50IGlkLCBybV9tZSwgbWF4aWQ7CisKKwlzdHJ1Y3Qgc2htaWRfZHMgc2htc2VnOworCisJc3RydWN0IHNlbWlkX2RzIHNlbWFyeTsKKwlzdHJ1Y3Qgc2VtaW5mbyBzZW1pbmZvOworCXVuaW9uIHNlbXVuIGFyZzsKKworCXN0cnVjdCBtc3FpZF9kcyBtc2dxdWU7CisJc3RydWN0IG1zZ2luZm8gbXNnaW5mbzsKKworCWlmICh0eXBlID09IFNITSB8fCB0eXBlID09IEFMTCkgeworCQltYXhpZCA9IHNobWN0bCgwLCBTSE1fSU5GTywgJnNobXNlZyk7CisJCWlmIChtYXhpZCA8IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzaGFyZWQgbWVtb3J5IikpOworCQlmb3IgKGlkID0gMDsgaWQgPD0gbWF4aWQ7IGlkKyspIHsKKwkJCXJtX21lID0gc2htY3RsKGlkLCBTSE1fU1RBVCwgJnNobXNlZyk7CisJCQlpZiAocm1fbWUgPCAwKQorCQkJCWNvbnRpbnVlOworCQkJcmV0IHw9IHJlbW92ZV9pZChTSE0sIDAsIHJtX21lKTsKKwkJfQorCX0KKwlpZiAodHlwZSA9PSBTRU0gfHwgdHlwZSA9PSBBTEwpIHsKKwkJYXJnLmFycmF5ID0gKHVzaG9ydCAqKSAodm9pZCAqKSZzZW1pbmZvOworCQltYXhpZCA9IHNlbWN0bCgwLCAwLCBTRU1fSU5GTywgYXJnKTsKKwkJaWYgKG1heGlkIDwgMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNlbWFwaG9yZXMiKSk7CisJCWZvciAoaWQgPSAwOyBpZCA8PSBtYXhpZDsgaWQrKykgeworCQkJYXJnLmJ1ZiA9IChzdHJ1Y3Qgc2VtaWRfZHMgKikmc2VtYXJ5OworCQkJcm1fbWUgPSBzZW1jdGwoaWQsIDAsIFNFTV9TVEFULCBhcmcpOworCQkJaWYgKHJtX21lIDwgMCkKKwkJCQljb250aW51ZTsKKwkJCXJldCB8PSByZW1vdmVfaWQoU0VNLCAwLCBybV9tZSk7CisJCX0KKwl9CisvKiBrRnJlZUJTRCBoYWNrZXJ5IC0tIGFoIDIwMTQwNzIzICovCisjaWZuZGVmIE1TR19TVEFUCisjZGVmaW5lIE1TR19TVEFUIDExCisjZW5kaWYKKyNpZm5kZWYgTVNHX0lORk8KKyNkZWZpbmUgTVNHX0lORk8gMTIKKyNlbmRpZgorCWlmICh0eXBlID09IE1TRyB8fCB0eXBlID09IEFMTCkgeworCQltYXhpZCA9CisJCSAgICBtc2djdGwoMCwgTVNHX0lORk8sIChzdHJ1Y3QgbXNxaWRfZHMgKikodm9pZCAqKSZtc2dpbmZvKTsKKwkJaWYgKG1heGlkIDwgMCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzIikpOworCQlmb3IgKGlkID0gMDsgaWQgPD0gbWF4aWQ7IGlkKyspIHsKKwkJCXJtX21lID0gbXNnY3RsKGlkLCBNU0dfU1RBVCwgJm1zZ3F1ZSk7CisJCQlpZiAocm1fbWUgPCAwKQorCQkJCWNvbnRpbnVlOworCQkJcmV0IHw9IHJlbW92ZV9pZChNU0csIDAsIHJtX21lKTsKKwkJfQorCX0KKwlyZXR1cm4gcmV0OworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGM7CisJaW50IHJldCA9IDA7CisJaW50IGlkID0gLTE7CisJaW50IGlza2V5OworCWludCBybV9hbGwgPSAwOworCXR5cGVfaWQgd2hhdF9hbGwgPSBBTEw7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7InNobWVtLWlkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdtJ30sCisJCXsic2htZW0ta2V5IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdNJ30sCisJCXsicXVldWUtaWQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3EnfSwKKwkJeyJxdWV1ZS1rZXkiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1EnfSwKKwkJeyJzZW1hcGhvcmUtaWQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJeyJzZW1hcGhvcmUta2V5IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdTJ30sCisJCXsiYWxsIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwkvKiBpZiB0aGUgY29tbWFuZCBpcyBleGVjdXRlZCB3aXRob3V0IHBhcmFtZXRlcnMsIGRvIG5vdGhpbmcgKi8KKwlpZiAoYXJnYyA9PSAxKQorCQlyZXR1cm4gMDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwkvKiBjaGVjayB0byBzZWUgaWYgdGhlIGNvbW1hbmQgaXMgYmVpbmcgaW52b2tlZCBpbiB0aGUgb2xkIHdheSBpZiBzbworCSAqIHRoZW4gcmVtb3ZlIGFyZ3VtZW50IGxpc3QgKi8KKwlpZiAoZGVwcmVjYXRlZF9tYWluKGFyZ2MsIGFyZ3YpKQorCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCisJLyogcHJvY2VzcyBuZXcgc3ludGF4IHRvIGNvbmZvcm0gd2l0aCBTWVNWIGlwY3JtICovCisJd2hpbGUoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAicTptOnM6UTpNOlM6YTo6dmhWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlpc2tleSA9IDA7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdNJzoKKwkJCWlza2V5ID0gMTsKKwkJCWlkID0ga2V5X3RvX2lkKFNITSwgb3B0YXJnKTsKKwkJCWlmIChpZCA8IDApIHsKKwkJCQlyZXQrKzsKKwkJCQlicmVhazsKKwkJCX0KKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWNhc2UgJ20nOgorCQkJaWYgKCFpc2tleSkKKwkJCQlpZCA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBhcmd1bWVudCIpKTsKKwkJCWlmIChyZW1vdmVfaWQoU0hNLCBpc2tleSwgaWQpKQorCQkJCXJldCsrOworCQkJYnJlYWs7CisJCWNhc2UgJ1EnOgorCQkJaXNrZXkgPSAxOworCQkJaWQgPSBrZXlfdG9faWQoTVNHLCBvcHRhcmcpOworCQkJaWYgKGlkIDwgMCkgeworCQkJCXJldCsrOworCQkJCWJyZWFrOworCQkJfQorCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJY2FzZSAncSc6CisJCQlpZiAoIWlza2V5KQorCQkJCWlkID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIGFyZ3VtZW50IikpOworCQkJaWYgKHJlbW92ZV9pZChNU0csIGlza2V5LCBpZCkpCisJCQkJcmV0Kys7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQlpc2tleSA9IDE7CisJCQlpZCA9IGtleV90b19pZChTRU0sIG9wdGFyZyk7CisJCQlpZiAoaWQgPCAwKSB7CisJCQkJcmV0Kys7CisJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCQljYXNlICdzJzoKKwkJCWlmICghaXNrZXkpCisJCQkJaWQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgYXJndW1lbnQiKSk7CisJCQlpZiAocmVtb3ZlX2lkKFNFTSwgaXNrZXksIGlkKSkKKwkJCQlyZXQrKzsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCXJtX2FsbCA9IDE7CisJCQlpZiAob3B0YXJnKSB7CisJCQkJaWYgKCFzdHJjbXAob3B0YXJnLCAic2htIikpCisJCQkJCXdoYXRfYWxsID0gU0hNOworCQkJCWVsc2UgaWYgKCFzdHJjbXAob3B0YXJnLCAibXNnIikpCisJCQkJCXdoYXRfYWxsID0gTVNHOworCQkJCWVsc2UgaWYgKCFzdHJjbXAob3B0YXJnLCAic2VtIikpCisJCQkJCXdoYXRfYWxsID0gU0VNOworCQkJCWVsc2UKKwkJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJCSAgICAgXygidW5rbm93biBhcmd1bWVudDogJXMiKSwgb3B0YXJnKTsKKwkJCX0gZWxzZSB7CisJCQkJd2hhdF9hbGwgPSBBTEw7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCQl2ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKHJtX2FsbCAmJiByZW1vdmVfYWxsKHdoYXRfYWxsKSkKKwkJcmV0Kys7CisKKwkvKiBwcmludCB1c2FnZSBpZiB3ZSBzdGlsbCBoYXZlIHNvbWUgYXJndW1lbnRzIGxlZnQgb3ZlciAqLworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCXdhcm54KF8oInVua25vd24gYXJndW1lbnQ6ICVzIiksIGFyZ3Zbb3B0aW5kXSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlyZXR1cm4gcmV0ID09IDAgPyBFWElUX1NVQ0NFU1MgOiBFWElUX0ZBSUxVUkU7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaXBjcy4xIGIvc3lzLXV0aWxzL2lwY3MuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2MzNWUzCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2lwY3MuMQpAQCAtMCwwICsxLDExNiBAQAorLlwiIENvcHlyaWdodCAxOTkzIFJpY2thcmQgRS4gRmFpdGggKGZhaXRoQGNzLnVuYy5lZHUpCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIElQQ1MgIjEiICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitpcGNzIFwtIHNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMKKy5TSCBTWU5PUFNJUworLkIgaXBjcworW29wdGlvbnNdCisuU0ggREVTQ1JJUFRJT04KKy5CIGlwY3MKK3Nob3dzIGluZm9ybWF0aW9uIG9uIHRoZSBpbnRlci1wcm9jZXNzIGNvbW11bmljYXRpb24gZmFjaWxpdGllcworZm9yIHdoaWNoIHRoZSBjYWxsaW5nIHByb2Nlc3MgaGFzIHJlYWQgYWNjZXNzLgorQnkgZGVmYXVsdCBpdCBzaG93cyBpbmZvcm1hdGlvbiBhYm91dCBhbGwgdGhyZWUgcmVzb3VyY2VzOgorc2hhcmVkIG1lbW9yeSBzZWdtZW50cywgbWVzc2FnZSBxdWV1ZXMsIGFuZCBzZW1hcGhvcmUgYXJyYXlzLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1pXGZSLCBcZkJcLVwtaWRcZlIgXGZJaWRcZlIKK1Nob3cgZnVsbCBkZXRhaWxzIG9uIGp1c3QgdGhlIG9uZSByZXNvdXJjZSBlbGVtZW50IGlkZW50aWZpZWQgYnkKKy5JUiBpZCAuCitUaGlzIG9wdGlvbiBuZWVkcyB0byBiZSBjb21iaW5lZCB3aXRoIG9uZSBvZiB0aGUgdGhyZWUgcmVzb3VyY2Ugb3B0aW9uczoKKy5CUiBcLW0gLAorLkJSIFwtcSAiIG9yIgorLkJSIFwtcyAuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuU1MgIlJlc291cmNlIG9wdGlvbnMiCisuVFAKK1xmQlwtbVxmUiwgXGZCXC1cLXNobWVtc1xmUgorV3JpdGUgaW5mb3JtYXRpb24gYWJvdXQgYWN0aXZlIHNoYXJlZCBtZW1vcnkgc2VnbWVudHMuCisuVFAKK1xmQlwtcVxmUiwgXGZCXC1cLXF1ZXVlc1xmUgorV3JpdGUgaW5mb3JtYXRpb24gYWJvdXQgYWN0aXZlIG1lc3NhZ2UgcXVldWVzLgorLlRQCitcZkJcLXNcZlIsIFxmQlwtXC1zZW1hcGhvcmVzXGZSCitXcml0ZSBpbmZvcm1hdGlvbiBhYm91dCBhY3RpdmUgc2VtYXBob3JlIHNldHMuCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWFsbFxmUgorV3JpdGUgaW5mb3JtYXRpb24gYWJvdXQgYWxsIHRocmVlIHJlc291cmNlcyAoZGVmYXVsdCkuCisuU1MgIk91dHB1dCBmb3JtYXRzIgorT2YgdGhlc2Ugb3B0aW9ucyBvbmx5IG9uZSB0YWtlcyBlZmZlY3Q6IHRoZSBsYXN0IG9uZSBzcGVjaWZpZWQuCisuVFAKK1xmQlwtY1xmUiwgXGZCXC1cLWNyZWF0b3JcZlIKK1Nob3cgY3JlYXRvciBhbmQgb3duZXIuCisuVFAKK1xmQlwtbFxmUiwgXGZCXC1cLWxpbWl0c1xmUgorU2hvdyByZXNvdXJjZSBsaW1pdHMuCisuVFAKK1xmQlwtcFxmUiwgXGZCXC1cLXBpZFxmUgorU2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3IuCisuVFAKK1xmQlwtdFxmUiwgXGZCXC1cLXRpbWVcZlIKK1dyaXRlIHRpbWUgaW5mb3JtYXRpb24uICBUaGUgdGltZSBvZiB0aGUgbGFzdCBjb250cm9sIG9wZXJhdGlvbiB0aGF0IGNoYW5nZWQKK3RoZSBhY2Nlc3MgcGVybWlzc2lvbnMgZm9yIGFsbCBmYWNpbGl0aWVzLCB0aGUgdGltZSBvZiB0aGUgbGFzdAorLkJSIG1zZ3NuZCAoMikKK2FuZAorLkJSIG1zZ3JjdiAoMikKK29wZXJhdGlvbnMgb24gbWVzc2FnZSBxdWV1ZXMsIHRoZSB0aW1lIG9mIHRoZSBsYXN0CisuQlIgc2htYXQgKDIpCithbmQKKy5CUiBzaG1kdCAoMikKK29wZXJhdGlvbnMgb24gc2hhcmVkIG1lbW9yeSwgYW5kIHRoZSB0aW1lIG9mIHRoZSBsYXN0CisuQlIgc2Vtb3AgKDIpCitvcGVyYXRpb24gb24gc2VtYXBob3Jlcy4KKy5UUAorXGZCXC11XGZSLCBcZkJcLVwtc3VtbWFyeVxmUgorU2hvdyBzdGF0dXMgc3VtbWFyeS4KKy5TUyAiUmVwcmVzZW50YXRpb24iCitUaGVzZSBhZmZlY3Qgb25seSB0aGUgXGZCXC1sXGZSIChcZkJcLVwtbGltaXRzXGZSKSBvcHRpb24uCisuVFAKK1xmQlwtYlxmUiwgXGZCXC1cLWJ5dGVzXGZSCitQcmludCBzaXplcyBpbiBieXRlcy4KKy5UUAorLkIgXC1cLWh1bWFuCitQcmludCBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXQuCisuU0ggU0VFIEFMU08KKy5CUiBpcGNtayAoMSksCisuQlIgaXBjcm0gKDEpLAorLkJSIG1zZ3JjdiAoMiksCisuQlIgbXNnc25kICgyKSwKKy5CUiBzZW1nZXQgKDIpLAorLkJSIHNlbW9wICgyKSwKKy5CUiBzaG1hdCAoMiksCisuQlIgc2htZHQgKDIpLAorLkJSIHNobWdldCAoMikKKy5TSCBDT05GT1JNSU5HIFRPCitUaGUgTGludXggaXBjcyB1dGlsaXR5IGlzIG5vdCBmdWxseSBjb21wYXRpYmxlIHRvIHRoZSBQT1NJWCBpcGNzIHV0aWxpdHkuCitUaGUgTGludXggdmVyc2lvbiBkb2VzIG5vdCBzdXBwb3J0IHRoZSBQT1NJWAorLkJSIFwtYSAsCisuQiBcLWIKK2FuZAorLkIgXC1vCitvcHRpb25zLCBidXQgZG9lcyBzdXBwb3J0IHRoZQorLkIgXC1sCithbmQKKy5CIFwtdQorb3B0aW9ucyBub3QgZGVmaW5lZCBieSBQT1NJWC4gIEEgcG9ydGFibGUgYXBwbGljYXRpb24gc2hhbGwgbm90IHVzZSB0aGUKKy5CUiBcLWEgLAorLkJSIFwtYiAsCisuQlIgXC1vICwKKy5CUiBcLWwgLAorYW5kCisuQiBcLXUKK29wdGlvbnMuCisuU0ggQVVUSE9SCisuVVIgYmFsYXN1YkBjaXMub2hpby1zdGF0ZS5lZHUKK0tyaXNobmEgQmFsYXN1YnJhbWFuaWFuCisuVUUKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBpcGNzIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvaXBjcy5jIGIvc3lzLXV0aWxzL2lwY3MuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2NmMjhhCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2lwY3MuYwpAQCAtMCwwICsxLDY2OCBAQAorLyogT3JpZ2luYWwgYXV0aG9yIHVua25vd24sIG1heSBiZSAia3Jpc2huYSBiYWxhc3ViQGNpcy5vaGlvLXN0YXRlLmVkdSIgKi8KKy8qCisgKiBNb2RpZmllZCBTYXQgT2N0ICA5IDEwOjU1OjI4IDE5OTMgZm9yIDAuOTkuMTMKKyAqCisgKiBQYXRjaGVzIGZyb20gTWlrZSBKYWdkaXMgKGphZ2d5QHB1cnBsZXQuZGVtb24uY28udWspIGFwcGxpZWQgV2VkIEZlYiA4CisgKiAxMjoxMjoyMSAxOTk1IGJ5IGZhaXRoQGNzLnVuYy5lZHUgdG8gcHJpbnQgbnVtZXJpYyB1aWRzIGlmIG5vIHBhc3N3ZCBmaWxlCisgKiBlbnRyeS4KKyAqCisgKiBQYXRjaCBmcm9tIGFybm9sZHNAaWZucy5kZSAoSGVpbnotQWRvIEFybm9sZHMpIGFwcGxpZWQgTW9uIEp1bCAxIDE5OjMwOjQxCisgKiAxOTk2IGJ5IGphbmxAbWF0aC51aW8ubm8gdG8gYWRkIGNvZGUgbWlzc2luZyBpbiBjYXNlIFBJRDogY2xhdXNlcy4KKyAqCisgKiBQYXRjaGVkIHRvIGRpc3BsYXkgdGhlIGtleSBmaWVsZCAtLSBoeUBwaWNrc3lzLmNvbSAxMi8xOC85NgorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSAiaXBjdXRpbHMuaCIKKworZW51bSBvdXRwdXRfZm9ybWF0cyB7CisJTk9UU1BFQ0lGSUVELAorCUxJTUlUUywKKwlTVEFUVVMsCisJQ1JFQVRPUiwKKwlUSU1FLAorCVBJRAorfTsKK2VudW0geworCU9QVF9IVU1BTiA9IENIQVJfTUFYICsgMQorfTsKKworc3RhdGljIHZvaWQgZG9fc2htIChjaGFyIGZvcm1hdCwgaW50IHVuaXQpOworc3RhdGljIHZvaWQgcHJpbnRfc2htIChpbnQgaWQsIGludCB1bml0KTsKK3N0YXRpYyB2b2lkIGRvX3NlbSAoY2hhciBmb3JtYXQpOworc3RhdGljIHZvaWQgcHJpbnRfc2VtIChpbnQgaWQpOworc3RhdGljIHZvaWQgZG9fbXNnIChjaGFyIGZvcm1hdCwgaW50IHVuaXQpOworc3RhdGljIHZvaWQgcHJpbnRfbXNnIChpbnQgaWQsIGludCB1bml0KTsKKworLyogd2UgcmVhZCB0aW1lIGFzIGludDY0X3QgZnJvbSAvcHJvYywgc28gY2FzdC4uLiAqLworI2RlZmluZSB4Y3RpbWUoX3gpCWN0aW1lKCh0aW1lX3QgKikgKF94KSkKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJTEkcyBbcmVzb3VyY2Utb3B0aW9uLi4uXSBbb3V0cHV0LW9wdGlvbl1cbiIKKwkJICAgICAgICIgJTEkcyAtbXwtcXwtcyAtaSA8aWQ+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlkIDxpZD4gIHByaW50IGRldGFpbHMgb24gcmVzb3VyY2UgaWRlbnRpZmllZCBieSA8aWQ+XG4iKSwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDE2KSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiUmVzb3VyY2Ugb3B0aW9uczpcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS1zaG1lbXMgICAgICBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXEsIC0tcXVldWVzICAgICAgbWVzc2FnZSBxdWV1ZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zZW1hcGhvcmVzICBzZW1hcGhvcmVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWxsICAgICAgICAgYWxsIChkZWZhdWx0KVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiT3V0cHV0IG9wdGlvbnM6XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGltZSAgICAgICAgc2hvdyBhdHRhY2gsIGRldGFjaCBhbmQgY2hhbmdlIHRpbWVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkICAgICAgICAgc2hvdyBQSURzIG9mIGNyZWF0b3IgYW5kIGxhc3Qgb3BlcmF0b3JcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1jcmVhdG9yICAgICBzaG93IGNyZWF0b3IgYW5kIG93bmVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGltaXRzICAgICAgc2hvdyByZXNvdXJjZSBsaW1pdHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSwgLS1zdW1tYXJ5ICAgICBzaG93IHN0YXR1cyBzdW1tYXJ5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0taHVtYW4gICAgICAgc2hvdyBzaXplcyBpbiBodW1hbi1yZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYiwgLS1ieXRlcyAgICAgICBzaG93IHNpemVzIGluIGJ5dGVzXG4iKSwgb3V0KTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImlwY3MoMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IG9wdCwgbXNnID0gMCwgc2htID0gMCwgc2VtID0gMCwgaWQgPSAwLCBzcGVjaWZpYyA9IDA7CisJY2hhciBmb3JtYXQgPSBOT1RTUEVDSUZJRUQ7CisJaW50IHVuaXQgPSBJUENfVU5JVF9ERUZBVUxUOworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiaWQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2knfSwKKwkJeyJxdWV1ZXMiLCBub19hcmd1bWVudCwgTlVMTCwgJ3EnfSwKKwkJeyJzaG1lbXMiLCBub19hcmd1bWVudCwgTlVMTCwgJ20nfSwKKwkJeyJzZW1hcGhvcmVzIiwgbm9fYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsiYWxsIiwgbm9fYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsidGltZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndCd9LAorCQl7InBpZCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncCd9LAorCQl7ImNyZWF0b3IiLCBub19hcmd1bWVudCwgTlVMTCwgJ2MnfSwKKwkJeyJsaW1pdHMiLCBub19hcmd1bWVudCwgTlVMTCwgJ2wnfSwKKwkJeyJzdW1tYXJ5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICd1J30sCisJCXsiaHVtYW4iLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX0hVTUFOfSwKKwkJeyJieXRlcyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnYid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisJY2hhciBvcHRpb25zW10gPSAiaTpxbXNhdHBjbHViVmgiOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgob3B0ID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgb3B0aW9ucywgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICdpJzoKKwkJCWlkID0gYXRvaSAob3B0YXJnKTsKKwkJCXNwZWNpZmljID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCW1zZyA9IHNobSA9IHNlbSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncSc6CisJCQltc2cgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJc2htID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNlbSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQlmb3JtYXQgPSBUSU1FOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJZm9ybWF0ID0gQ1JFQVRPUjsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWZvcm1hdCA9IFBJRDsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWZvcm1hdCA9IExJTUlUUzsKKwkJCWJyZWFrOworCQljYXNlICd1JzoKKwkJCWZvcm1hdCA9IFNUQVRVUzsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9IVU1BTjoKKwkJCXVuaXQgPSBJUENfVU5JVF9IVU1BTjsKKwkJCWJyZWFrOworCQljYXNlICdiJzoKKwkJCXVuaXQgPSBJUENfVU5JVF9CWVRFUzsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKHNwZWNpZmljICYmIChtc2cgKyBzaG0gKyBzZW0gIT0gMSkpCisJCWVycnggKEVYSVRfRkFJTFVSRSwKKwkJICAgICAgXygid2hlbiB1c2luZyBhbiBJRCwgYSBzaW5nbGUgcmVzb3VyY2UgbXVzdCBiZSBzcGVjaWZpZWQiKSk7CisJaWYgKHNwZWNpZmljKSB7CisJCWlmIChtc2cpCisJCQlwcmludF9tc2cgKGlkLCB1bml0KTsKKwkJaWYgKHNobSkKKwkJCXByaW50X3NobSAoaWQsIHVuaXQpOworCQlpZiAoc2VtKQorCQkJcHJpbnRfc2VtIChpZCk7CisJfSBlbHNlIHsKKwkJaWYgKCFtc2cgJiYgIXNobSAmJiAhc2VtKQorCQkJbXNnID0gc2htID0gc2VtID0gMTsKKwkJcHJpbnRmICgiXG4iKTsKKwkJaWYgKG1zZykgeworCQkJZG9fbXNnIChmb3JtYXQsIHVuaXQpOworCQkJcHJpbnRmICgiXG4iKTsKKwkJfQorCQlpZiAoc2htKSB7CisJCQlkb19zaG0gKGZvcm1hdCwgdW5pdCk7CisJCQlwcmludGYgKCJcbiIpOworCQl9CisJCWlmIChzZW0pIHsKKwkJCWRvX3NlbSAoZm9ybWF0KTsKKwkJCXByaW50ZiAoIlxuIik7CisJCX0KKwl9CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKworc3RhdGljIHZvaWQgZG9fc2htIChjaGFyIGZvcm1hdCwgaW50IHVuaXQpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJc3RydWN0IHNobV9kYXRhICpzaG1kcywgKnNobWRzcDsKKworCXN3aXRjaCAoZm9ybWF0KSB7CisJY2FzZSBMSU1JVFM6CisJeworCQlzdHJ1Y3QgaXBjX2xpbWl0cyBsaW07CisJCXVpbnQ2NF90IHRtcCwgcGdzeiA9IGdldHBhZ2VzaXplKCk7CisKKwkJaWYgKGlwY19zaG1fZ2V0X2xpbWl0cygmbGltKSkgeworCQkJcHJpbnRmIChfKCJ1bmFibGUgdG8gZmV0Y2ggc2hhcmVkIG1lbW9yeSBsaW1pdHNcbiIpKTsKKwkJCXJldHVybjsKKwkJfQorCQlwcmludGYgKF8oIi0tLS0tLSBTaGFyZWQgTWVtb3J5IExpbWl0cyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKF8oIm1heCBudW1iZXIgb2Ygc2VnbWVudHMgPSAlanVcbiIpLCBsaW0uc2htbW5pKTsKKwkJaXBjX3ByaW50X3NpemUodW5pdCA9PSBJUENfVU5JVF9ERUZBVUxUID8gSVBDX1VOSVRfS0IgOiB1bml0LAorCQkJICAgICAgIF8oIm1heCBzZWcgc2l6ZSIpLCBsaW0uc2htbWF4LCAiXG4iLCAwKTsKKworCQl0bXAgPSAodWludDY0X3QpIGxpbS5zaG1hbGwgKiBwZ3N6OworCQkvKiBvdmVyZmxvdyBoYW5kbGluZywgYXQgbGVhc3Qgd2UgZG9uJ3QgcHJpbnQgcmlkaWN1bG91cyBzbWFsbCB2YWx1ZXMgKi8KKwkJaWYgKGxpbS5zaG1hbGwgIT0gMCAmJiB0bXAgLyBsaW0uc2htYWxsICE9IHBnc3opIHsKKwkJCXRtcCA9IFVJTlQ2NF9NQVggLSAoVUlOVDY0X01BWCAlIHBnc3opOworCQl9CisJCWlwY19wcmludF9zaXplKHVuaXQgPT0gSVBDX1VOSVRfREVGQVVMVCA/IElQQ19VTklUX0tCIDogdW5pdCwKKwkJCSAgICAgICBfKCJtYXggdG90YWwgc2hhcmVkIG1lbW9yeSIpLCB0bXAsICJcbiIsIDApOworCQlpcGNfcHJpbnRfc2l6ZSh1bml0ID09IElQQ19VTklUX0RFRkFVTFQgPyBJUENfVU5JVF9CWVRFUyA6IHVuaXQsCisJCQkgICAgICAgXygibWluIHNlZyBzaXplIiksIGxpbS5zaG1taW4sICJcbiIsIDApOworCQlyZXR1cm47CisJfQorCWNhc2UgU1RBVFVTOgorCXsKKwkJaW50IG1heGlkOworCQlzdHJ1Y3Qgc2htaWRfZHMgc2htYnVmOworCQlzdHJ1Y3Qgc2htX2luZm8gKnNobV9pbmZvOworCisJCW1heGlkID0gc2htY3RsICgwLCBTSE1fSU5GTywgJnNobWJ1Zik7CisJCXNobV9pbmZvID0gIChzdHJ1Y3Qgc2htX2luZm8gKikgJnNobWJ1ZjsKKwkJaWYgKG1heGlkIDwgMCkgeworCQkJcHJpbnRmIChfKCJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIHNoYXJlZCBtZW1vcnlcbiIpKTsKKwkJCXJldHVybjsKKwkJfQorCisJCXByaW50ZiAoXygiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tXG4iKSk7CisJCS8qCisJCSAqIFRSQU5TTEFUT1JTOiBUaGlzIG91dHB1dCBmb3JtYXQgaXMgbWFpbnRhaW5lZCBmb3IgYmFja3dhcmQKKwkJICogY29tcGF0aWJpbGl0eSBhcyBpcGNzIGlzIHVzZWQgaW4gc2NyaXB0cy4gRm9yIGNvbnNpc3RlbmN5CisJCSAqIHdpdGggdGhlIHJlc3QsIHRoZSB0cmFuc2xhdGVkIGZvcm0gY2FuIGZvbGxvdyB0aGlzIG1vZGVsOgorCQkgKgorCQkgKiAic2VnbWVudHMgYWxsb2NhdGVkID0gJWRcbiIKKwkJICogInBhZ2VzIGFsbG9jYXRlZCA9ICVsZFxuIgorCQkgKiAicGFnZXMgcmVzaWRlbnQgPSAlbGRcbiIKKwkJICogInBhZ2VzIHN3YXBwZWQgPSAlbGRcbiIKKwkJICogInN3YXAgcGVyZm9ybWFuY2UgPSAlbGQgYXR0ZW1wdHMsICVsZCBzdWNjZXNzZXNcbiIKKwkJICovCisJCXByaW50ZiAoXygic2VnbWVudHMgYWxsb2NhdGVkICVkXG4iCisJCQkgICJwYWdlcyBhbGxvY2F0ZWQgJWxkXG4iCisJCQkgICJwYWdlcyByZXNpZGVudCAgJWxkXG4iCisJCQkgICJwYWdlcyBzd2FwcGVkICAgJWxkXG4iCisJCQkgICJTd2FwIHBlcmZvcm1hbmNlOiAlbGQgYXR0ZW1wdHNcdCAlbGQgc3VjY2Vzc2VzXG4iKSwKKwkJCXNobV9pbmZvLT51c2VkX2lkcywKKwkJCXNobV9pbmZvLT5zaG1fdG90LAorCQkJc2htX2luZm8tPnNobV9yc3MsCisJCQlzaG1faW5mby0+c2htX3N3cCwKKwkJCXNobV9pbmZvLT5zd2FwX2F0dGVtcHRzLCBzaG1faW5mby0+c3dhcF9zdWNjZXNzZXMpOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBIZWFkZXJzIG9ubHkKKwkgKi8KKwljYXNlIENSRUFUT1I6CisJCXByaW50ZiAoXygiLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmICgiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIsCisJCQlfKCJzaG1pZCIpLF8oInBlcm1zIiksXygiY3VpZCIpLF8oImNnaWQiKSxfKCJ1aWQiKSxfKCJnaWQiKSk7CisJCWJyZWFrOworCisJY2FzZSBUSU1FOgorCQlwcmludGYgKF8oIi0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iKSk7CisJCXByaW50ZiAoIiUtMTBzICUtMTBzICUtMjBzICUtMjBzICUtMjBzXG4iLAorCQkJXygic2htaWQiKSxfKCJvd25lciIpLF8oImF0dGFjaGVkIiksXygiZGV0YWNoZWQiKSwKKwkJCV8oImNoYW5nZWQiKSk7CisJCWJyZWFrOworCisJY2FzZSBQSUQ6CisJCXByaW50ZiAoXygiLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmICgiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIsCisJCQlfKCJzaG1pZCIpLF8oIm93bmVyIiksXygiY3BpZCIpLF8oImxwaWQiKSk7CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJpbnRmIChfKCItLS0tLS0gU2hhcmVkIE1lbW9yeSBTZWdtZW50cyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEyc1xuIiwKKwkJCV8oImtleSIpLF8oInNobWlkIiksXygib3duZXIiKSxfKCJwZXJtcyIpLAorCQkJdW5pdCA9PSBJUENfVU5JVF9IVU1BTiA/IF8oInNpemUiKSA6IF8oImJ5dGVzIiksCisJCQlfKCJuYXR0Y2giKSxfKCJzdGF0dXMiKSk7CisJCWJyZWFrOworCX0KKworCS8qCisJICogUHJpbnQgZGF0YQorCSAqLworCWlmIChpcGNfc2htX2dldF9pbmZvKC0xLCAmc2htZHMpIDwgMSkKKwkJcmV0dXJuOworCisJZm9yIChzaG1kc3AgPSBzaG1kczsgc2htZHNwLT5uZXh0ICE9IE5VTEw7IHNobWRzcCA9IHNobWRzcC0+bmV4dCkgeworCQlpZiAoZm9ybWF0ID09IENSRUFUT1IpICB7CisJCQlpcGNfcHJpbnRfcGVybXMoc3Rkb3V0LCAmc2htZHNwLT5zaG1fcGVybSk7CisJCQljb250aW51ZTsKKwkJfQorCQlwdyA9IGdldHB3dWlkKHNobWRzcC0+c2htX3Blcm0udWlkKTsKKwkJc3dpdGNoIChmb3JtYXQpIHsKKwkJY2FzZSBUSU1FOgorCQkJaWYgKHB3KQorCQkJCXByaW50ZiAoIiUtMTBkICUtMTAuMTBzIiwgc2htZHNwLT5zaG1fcGVybS5pZCwgcHctPnB3X25hbWUpOworCQkJZWxzZQorCQkJCXByaW50ZiAoIiUtMTBkICUtMTB1Iiwgc2htZHNwLT5zaG1fcGVybS5pZCwgc2htZHNwLT5zaG1fcGVybS51aWQpOworCQkJLyogY3RpbWUgdXNlcyBzdGF0aWMgYnVmZmVyOiB1c2Ugc2VwYXJhdGUgY2FsbHMgKi8KKwkJCXByaW50ZigiICUtMjAuMTZzIiwgc2htZHNwLT5zaG1fYXRpbQorCQkJICAgICAgID8geGN0aW1lKCZzaG1kc3AtPnNobV9hdGltKSArIDQgOiBfKCJOb3Qgc2V0IikpOworCQkJcHJpbnRmKCIgJS0yMC4xNnMiLCBzaG1kc3AtPnNobV9kdGltCisJCQkgICAgICAgPyB4Y3RpbWUoJnNobWRzcC0+c2htX2R0aW0pICsgNCA6IF8oIk5vdCBzZXQiKSk7CisJCQlwcmludGYoIiAlLTIwLjE2c1xuIiwgc2htZHNwLT5zaG1fY3RpbQorCQkJICAgICAgID8geGN0aW1lKCZzaG1kc3AtPnNobV9jdGltKSArIDQgOiBfKCJOb3Qgc2V0IikpOworCQkJYnJlYWs7CisJCWNhc2UgUElEOgorCQkJaWYgKHB3KQorCQkJCXByaW50ZiAoIiUtMTBkICUtMTAuMTBzIiwgc2htZHNwLT5zaG1fcGVybS5pZCwgcHctPnB3X25hbWUpOworCQkJZWxzZQorCQkJCXByaW50ZiAoIiUtMTBkICUtMTB1Iiwgc2htZHNwLT5zaG1fcGVybS5pZCwgc2htZHNwLT5zaG1fcGVybS51aWQpOworCQkJcHJpbnRmICgiICUtMTB1ICUtMTB1XG4iLAorCQkJCXNobWRzcC0+c2htX2NwcmlkLCBzaG1kc3AtPnNobV9scHJpZCk7CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJcHJpbnRmKCIweCUwOHggIiwgc2htZHNwLT5zaG1fcGVybS5rZXkpOworCQkJaWYgKHB3KQorCQkJCXByaW50ZiAoIiUtMTBkICUtMTAuMTBzIiwgc2htZHNwLT5zaG1fcGVybS5pZCwgcHctPnB3X25hbWUpOworCQkJZWxzZQorCQkJCXByaW50ZiAoIiUtMTBkICUtMTB1Iiwgc2htZHNwLT5zaG1fcGVybS5pZCwgc2htZHNwLT5zaG1fcGVybS51aWQpOworCQkJcHJpbnRmICgiICUtMTBvICIsIHNobWRzcC0+c2htX3Blcm0ubW9kZSAmIDA3NzcpOworCisJCQlpZiAodW5pdCA9PSBJUENfVU5JVF9IVU1BTikKKwkJCQlpcGNfcHJpbnRfc2l6ZSh1bml0LCBOVUxMLCBzaG1kc3AtPnNobV9zZWdzeiwgIiAgICAiLCA2KTsKKwkJCWVsc2UKKwkJCQlpcGNfcHJpbnRfc2l6ZSh1bml0LCBOVUxMLCBzaG1kc3AtPnNobV9zZWdzeiwgTlVMTCwgLTEwKTsKKworCQkJcHJpbnRmICgiICUtMTBqdSAlLTZzICUtNnNcbiIsCisJCQkJc2htZHNwLT5zaG1fbmF0dGNoLAorCQkJCXNobWRzcC0+c2htX3Blcm0ubW9kZSAmIFNITV9ERVNUID8gXygiZGVzdCIpIDogIiAiLAorCQkJCXNobWRzcC0+c2htX3Blcm0ubW9kZSAmIFNITV9MT0NLRUQgPyBfKCJsb2NrZWQiKSA6ICIgIik7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlwY19zaG1fZnJlZV9pbmZvKHNobWRzKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIGRvX3NlbSAoY2hhciBmb3JtYXQpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJc3RydWN0IHNlbV9kYXRhICpzZW1kcywgKnNlbWRzcDsKKworCXN3aXRjaCAoZm9ybWF0KSB7CisJY2FzZSBMSU1JVFM6CisJeworCQlzdHJ1Y3QgaXBjX2xpbWl0cyBsaW07CisKKwkJaWYgKGlwY19zZW1fZ2V0X2xpbWl0cygmbGltKSkgeworCQkJcHJpbnRmIChfKCJ1bmFibGUgdG8gZmV0Y2ggc2VtYXBob3JlIGxpbWl0c1xuIikpOworCQkJcmV0dXJuOworCQl9CisJCXByaW50ZiAoXygiLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmIChfKCJtYXggbnVtYmVyIG9mIGFycmF5cyA9ICVkXG4iKSwgbGltLnNlbW1uaSk7CisJCXByaW50ZiAoXygibWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ID0gJWRcbiIpLCBsaW0uc2VtbXNsKTsKKwkJcHJpbnRmIChfKCJtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSA9ICVkXG4iKSwgbGltLnNlbW1ucyk7CisJCXByaW50ZiAoXygibWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCA9ICVkXG4iKSwgbGltLnNlbW9wbSk7CisJCXByaW50ZiAoXygic2VtYXBob3JlIG1heCB2YWx1ZSA9ICV1XG4iKSwgbGltLnNlbXZteCk7CisJCXJldHVybjsKKwl9CisJY2FzZSBTVEFUVVM6CisJeworCQlzdHJ1Y3Qgc2VtaW5mbyBzZW1pbmZvOworCQl1bmlvbiBzZW11biBhcmc7CisJCWFyZy5hcnJheSA9ICh1c2hvcnQgKikgICh2b2lkICopICZzZW1pbmZvOworCQlpZiAoc2VtY3RsICgwLCAwLCBTRU1fSU5GTywgYXJnKSA8IDApIHsKKwkJCXByaW50ZiAoXygia2VybmVsIG5vdCBjb25maWd1cmVkIGZvciBzZW1hcGhvcmVzXG4iKSk7CisJCQlyZXR1cm47CisJCX0KKwkJcHJpbnRmIChfKCItLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKF8oInVzZWQgYXJyYXlzID0gJWRcbiIpLCBzZW1pbmZvLnNlbXVzeik7CisJCXByaW50ZiAoXygiYWxsb2NhdGVkIHNlbWFwaG9yZXMgPSAlZFxuIiksIHNlbWluZm8uc2VtYWVtKTsKKwkJcmV0dXJuOworCX0KKworCWNhc2UgQ1JFQVRPUjoKKwkJcHJpbnRmIChfKCItLS0tLS0gU2VtYXBob3JlIEFycmF5cyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmICgiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIsCisJCQlfKCJzZW1pZCIpLF8oInBlcm1zIiksXygiY3VpZCIpLF8oImNnaWQiKSxfKCJ1aWQiKSxfKCJnaWQiKSk7CisJCWJyZWFrOworCisJY2FzZSBUSU1FOgorCQlwcmludGYgKF8oIi0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLThzICUtMTBzICUtMjYuMjRzICUtMjYuMjRzXG4iLAorCQkJXygic2VtaWQiKSxfKCJvd25lciIpLF8oImxhc3Qtb3AiKSxfKCJsYXN0LWNoYW5nZWQiKSk7CisJCWJyZWFrOworCisJY2FzZSBQSUQ6CisJCWJyZWFrOworCisJZGVmYXVsdDoKKwkJcHJpbnRmIChfKCItLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEwc1xuIiwKKwkJCV8oImtleSIpLF8oInNlbWlkIiksXygib3duZXIiKSxfKCJwZXJtcyIpLF8oIm5zZW1zIikpOworCQlicmVhazsKKwl9CisKKwkvKgorCSAqIFByaW50IGRhdGEKKwkgKi8KKwlpZiAoaXBjX3NlbV9nZXRfaW5mbygtMSwgJnNlbWRzKSA8IDEpCisJCXJldHVybjsKKworCWZvciAoc2VtZHNwID0gc2VtZHM7IHNlbWRzcC0+bmV4dCAhPSBOVUxMOyBzZW1kc3AgPSBzZW1kc3AtPm5leHQpIHsKKwkJaWYgKGZvcm1hdCA9PSBDUkVBVE9SKSAgeworCQkJaXBjX3ByaW50X3Blcm1zKHN0ZG91dCwgJnNlbWRzcC0+c2VtX3Blcm0pOworCQkJY29udGludWU7CisJCX0KKwkJcHcgPSBnZXRwd3VpZChzZW1kc3AtPnNlbV9wZXJtLnVpZCk7CisJCXN3aXRjaCAoZm9ybWF0KSB7CisJCWNhc2UgVElNRToKKwkJCWlmIChwdykKKwkJCQlwcmludGYgKCIlLThkICUtMTAuMTBzIiwgc2VtZHNwLT5zZW1fcGVybS5pZCwgcHctPnB3X25hbWUpOworCQkJZWxzZQorCQkJCXByaW50ZiAoIiUtOGQgJS0xMHUiLCBzZW1kc3AtPnNlbV9wZXJtLmlkLCBzZW1kc3AtPnNlbV9wZXJtLnVpZCk7CisJCQlwcmludGYgKCIgICUtMjYuMjRzIiwgc2VtZHNwLT5zZW1fb3RpbWUKKwkJCQk/IHhjdGltZSgmc2VtZHNwLT5zZW1fb3RpbWUpIDogXygiTm90IHNldCIpKTsKKwkJCXByaW50ZiAoIiAlLTI2LjI0c1xuIiwgc2VtZHNwLT5zZW1fY3RpbWUKKwkJCQk/IHhjdGltZSggJnNlbWRzcC0+c2VtX2N0aW1lKSA6IF8oIk5vdCBzZXQiKSk7CisJCQlicmVhazsKKwkJY2FzZSBQSUQ6CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJcHJpbnRmKCIweCUwOHggIiwgc2VtZHNwLT5zZW1fcGVybS5rZXkpOworCQkJaWYgKHB3KQorCQkJCXByaW50ZiAoIiUtMTBkICUtMTAuMTBzIiwgc2VtZHNwLT5zZW1fcGVybS5pZCwgcHctPnB3X25hbWUpOworCQkJZWxzZQorCQkJCXByaW50ZiAoIiUtMTBkICUtMTB1Iiwgc2VtZHNwLT5zZW1fcGVybS5pZCwgc2VtZHNwLT5zZW1fcGVybS51aWQpOworCQkJcHJpbnRmICgiICUtMTBvICUtMTBqdVxuIiwKKwkJCQlzZW1kc3AtPnNlbV9wZXJtLm1vZGUgJiAwNzc3LAorCQkJCXNlbWRzcC0+c2VtX25zZW1zKTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaXBjX3NlbV9mcmVlX2luZm8oc2VtZHMpOworCXJldHVybjsKK30KKworc3RhdGljIHZvaWQgZG9fbXNnIChjaGFyIGZvcm1hdCwgaW50IHVuaXQpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJc3RydWN0IG1zZ19kYXRhICptc2dkcywgKm1zZ2RzcDsKKworCXN3aXRjaCAoZm9ybWF0KSB7CisJY2FzZSBMSU1JVFM6CisJeworCQlzdHJ1Y3QgaXBjX2xpbWl0cyBsaW07CisKKwkJaWYgKGlwY19tc2dfZ2V0X2xpbWl0cygmbGltKSkgeworCQkJcHJpbnRmIChfKCJ1bmFibGUgdG8gZmV0Y2ggbWVzc2FnZSBsaW1pdHNcbiIpKTsKKwkJCXJldHVybjsKKwkJfQorCQlwcmludGYgKF8oIi0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmIChfKCJtYXggcXVldWVzIHN5c3RlbSB3aWRlID0gJWRcbiIpLCBsaW0ubXNnbW5pKTsKKwkJaXBjX3ByaW50X3NpemUodW5pdCA9PSBJUENfVU5JVF9ERUZBVUxUID8gSVBDX1VOSVRfQllURVMgOiB1bml0LAorCQkJICAgICAgIF8oIm1heCBzaXplIG9mIG1lc3NhZ2UiKSwgbGltLm1zZ21heCwgIlxuIiwgMCk7CisJCWlwY19wcmludF9zaXplKHVuaXQgPT0gSVBDX1VOSVRfREVGQVVMVCA/IElQQ19VTklUX0JZVEVTIDogdW5pdCwKKwkJCSAgICAgICBfKCJkZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIiksIGxpbS5tc2dtbmIsICJcbiIsIDApOworCQlyZXR1cm47CisJfQorCWNhc2UgU1RBVFVTOgorCXsKKwkJc3RydWN0IG1zZ2luZm8gbXNnaW5mbzsKKwkJaWYgKG1zZ2N0bCAoMCwgTVNHX0lORk8sIChzdHJ1Y3QgbXNxaWRfZHMgKikgKHZvaWQgKikgJm1zZ2luZm8pIDwgMCkgeworCQkJcHJpbnRmIChfKCJrZXJuZWwgbm90IGNvbmZpZ3VyZWQgZm9yIG1lc3NhZ2UgcXVldWVzXG4iKSk7CisJCQlyZXR1cm47CisJCX0KKwkJcHJpbnRmIChfKCItLS0tLS0gTWVzc2FnZXMgU3RhdHVzIC0tLS0tLS0tXG4iKSk7CisjaWZuZGVmIF9fRnJlZUJTRF9rZXJuZWxfXworCQlwcmludGYgKF8oImFsbG9jYXRlZCBxdWV1ZXMgPSAlZFxuIiksIG1zZ2luZm8ubXNncG9vbCk7CisJCXByaW50ZiAoXygidXNlZCBoZWFkZXJzID0gJWRcbiIpLCBtc2dpbmZvLm1zZ21hcCk7CisjZW5kaWYKKwkJaXBjX3ByaW50X3NpemUodW5pdCwgXygidXNlZCBzcGFjZSIpLCBtc2dpbmZvLm1zZ3RxbCwKKwkJCSAgICAgICB1bml0ID09IElQQ19VTklUX0RFRkFVTFQgPyBfKCIgYnl0ZXNcbiIpIDogIlxuIiwgMCk7CisJCXJldHVybjsKKwl9CisJY2FzZSBDUkVBVE9SOgorCQlwcmludGYgKF8oIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmICgiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIsCisJCQlfKCJtc3FpZCIpLF8oInBlcm1zIiksXygiY3VpZCIpLF8oImNnaWQiKSxfKCJ1aWQiKSxfKCJnaWQiKSk7CisJCWJyZWFrOworCisJY2FzZSBUSU1FOgorCQlwcmludGYgKF8oIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tXG4iKSk7CisJCXByaW50ZiAoIiUtOHMgJS0xMHMgJS0yMHMgJS0yMHMgJS0yMHNcbiIsCisJCQlfKCJtc3FpZCIpLF8oIm93bmVyIiksXygic2VuZCIpLF8oInJlY3YiKSxfKCJjaGFuZ2UiKSk7CisJCWJyZWFrOworCisJY2FzZSBQSUQ6CisJCXByaW50ZiAoXygiLS0tLS0tIE1lc3NhZ2UgUXVldWVzIFBJRHMgLS0tLS0tLS1cbiIpKTsKKwkJcHJpbnRmICgiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIsCisJCQlfKCJtc3FpZCIpLF8oIm93bmVyIiksXygibHNwaWQiKSxfKCJscnBpZCIpKTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQlwcmludGYgKF8oIi0tLS0tLSBNZXNzYWdlIFF1ZXVlcyAtLS0tLS0tLVxuIikpOworCQlwcmludGYgKCIlLTEwcyAlLTEwcyAlLTEwcyAlLTEwcyAlLTEycyAlLTEyc1xuIiwKKwkJCV8oImtleSIpLCBfKCJtc3FpZCIpLCBfKCJvd25lciIpLCBfKCJwZXJtcyIpLAorCQkJdW5pdCA9PSBJUENfVU5JVF9IVU1BTiA/IF8oInNpemUiKSA6IF8oInVzZWQtYnl0ZXMiKSwKKwkJCV8oIm1lc3NhZ2VzIikpOworCQlicmVhazsKKwl9CisKKwkvKgorCSAqIFByaW50IGRhdGEKKwkgKi8KKwlpZiAoaXBjX21zZ19nZXRfaW5mbygtMSwgJm1zZ2RzKSA8IDEpCisJCXJldHVybjsKKworCWZvciAobXNnZHNwID0gbXNnZHM7IG1zZ2RzcC0+bmV4dCAhPSBOVUxMOyBtc2dkc3AgPSBtc2dkc3AtPm5leHQpIHsKKwkJaWYgKGZvcm1hdCA9PSBDUkVBVE9SKSB7CisJCQlpcGNfcHJpbnRfcGVybXMoc3Rkb3V0LCAmbXNnZHNwLT5tc2dfcGVybSk7CisJCQljb250aW51ZTsKKwkJfQorCQlwdyA9IGdldHB3dWlkKG1zZ2RzcC0+bXNnX3Blcm0udWlkKTsKKwkJc3dpdGNoIChmb3JtYXQpIHsKKwkJY2FzZSBUSU1FOgorCQkJaWYgKHB3KQorCQkJCXByaW50ZiAoIiUtOGQgJS0xMC4xMHMiLCBtc2dkc3AtPm1zZ19wZXJtLmlkLCBwdy0+cHdfbmFtZSk7CisJCQllbHNlCisJCQkJcHJpbnRmICgiJS04ZCAlLTEwdSIsIG1zZ2RzcC0+bXNnX3Blcm0uaWQsIG1zZ2RzcC0+bXNnX3Blcm0udWlkKTsKKwkJCXByaW50ZiAoIiAlLTIwLjE2cyIsIG1zZ2RzcC0+cV9zdGltZQorCQkJCT8geGN0aW1lKCZtc2dkc3AtPnFfc3RpbWUpICsgNCA6IF8oIk5vdCBzZXQiKSk7CisJCQlwcmludGYgKCIgJS0yMC4xNnMiLCBtc2dkc3AtPnFfcnRpbWUKKwkJCQk/IHhjdGltZSgmbXNnZHNwLT5xX3J0aW1lKSArIDQgOiBfKCJOb3Qgc2V0IikpOworCQkJcHJpbnRmICgiICUtMjAuMTZzXG4iLCBtc2dkc3AtPnFfY3RpbWUKKwkJCQk/IHhjdGltZSgmbXNnZHNwLT5xX2N0aW1lKSArIDQgOiBfKCJOb3Qgc2V0IikpOworCQkJYnJlYWs7CisJCWNhc2UgUElEOgorCQkJaWYgKHB3KQorCQkJCXByaW50ZiAoIiUtOGQgJS0xMC4xMHMiLCBtc2dkc3AtPm1zZ19wZXJtLmlkLCBwdy0+cHdfbmFtZSk7CisJCQllbHNlCisJCQkJcHJpbnRmICgiJS04ZCAlLTEwdSIsIG1zZ2RzcC0+bXNnX3Blcm0uaWQsIG1zZ2RzcC0+bXNnX3Blcm0udWlkKTsKKwkJCXByaW50ZiAoIiAgJTVkICAgICAlNWRcbiIsCisJCQkJbXNnZHNwLT5xX2xzcGlkLCBtc2dkc3AtPnFfbHJwaWQpOworCQkJYnJlYWs7CisKKwkJZGVmYXVsdDoKKwkJCXByaW50ZiggIjB4JTA4eCAiLG1zZ2RzcC0+bXNnX3Blcm0ua2V5ICk7CisJCQlpZiAocHcpCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMC4xMHMiLCBtc2dkc3AtPm1zZ19wZXJtLmlkLCBwdy0+cHdfbmFtZSk7CisJCQllbHNlCisJCQkJcHJpbnRmICgiJS0xMGQgJS0xMHUiLCBtc2dkc3AtPm1zZ19wZXJtLmlkLCBtc2dkc3AtPm1zZ19wZXJtLnVpZCk7CisJCQlwcmludGYgKCIgJS0xMG8gIiwgbXNnZHNwLT5tc2dfcGVybS5tb2RlICYgMDc3Nyk7CisKKwkJCWlmICh1bml0ID09IElQQ19VTklUX0hVTUFOKQorCQkJCWlwY19wcmludF9zaXplKHVuaXQsIE5VTEwsIG1zZ2RzcC0+cV9jYnl0ZXMsICIgICAgICAiLCA2KTsKKwkJCWVsc2UKKwkJCQlpcGNfcHJpbnRfc2l6ZSh1bml0LCBOVUxMLCBtc2dkc3AtPnFfY2J5dGVzLCBOVUxMLCAtMTIpOworCisJCQlwcmludGYgKCIgJS0xMmp1XG4iLCBtc2dkc3AtPnFfcW51bSk7CisJCQlicmVhazsKKwkJfQorCX0KKworCWlwY19tc2dfZnJlZV9pbmZvKG1zZ2RzKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X3NobShpbnQgc2htaWQsIGludCB1bml0KQoreworCXN0cnVjdCBzaG1fZGF0YSAqc2htZGF0YTsKKworCWlmIChpcGNfc2htX2dldF9pbmZvKHNobWlkLCAmc2htZGF0YSkgPCAxKSB7CisJCXdhcm54KF8oImlkICVkIG5vdCBmb3VuZCIpLCBzaG1pZCk7CisJCXJldHVybjsKKwl9CisKKwlwcmludGYoXygiXG5TaGFyZWQgbWVtb3J5IFNlZ21lbnQgc2htaWQ9JWRcbiIpLCBzaG1pZCk7CisJcHJpbnRmKF8oInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XG4iKSwKKwkgICAgICAgc2htZGF0YS0+c2htX3Blcm0udWlkLCBzaG1kYXRhLT5zaG1fcGVybS5naWQsCisJICAgICAgIHNobWRhdGEtPnNobV9wZXJtLmN1aWQsIHNobWRhdGEtPnNobV9wZXJtLmNnaWQpOworCXByaW50ZihfKCJtb2RlPSUjb1x0YWNjZXNzX3Blcm1zPSUjb1xuIiksIHNobWRhdGEtPnNobV9wZXJtLm1vZGUsCisJICAgICAgIHNobWRhdGEtPnNobV9wZXJtLm1vZGUgJiAwNzc3KTsKKwlpcGNfcHJpbnRfc2l6ZSh1bml0LCB1bml0ID09IElQQ19VTklUX0hVTUFOID8gXygic2l6ZT0iKSA6IF8oImJ5dGVzPSIpLAorCQkgICAgICAgc2htZGF0YS0+c2htX3NlZ3N6LCAiXHQiLCAwKTsKKwlwcmludGYoXygibHBpZD0ldVx0Y3BpZD0ldVx0bmF0dGNoPSVqZFxuIiksCisJICAgICAgIHNobWRhdGEtPnNobV9scHJpZCwgc2htZGF0YS0+c2htX2NwcmlkLAorCSAgICAgICBzaG1kYXRhLT5zaG1fbmF0dGNoKTsKKwlwcmludGYoXygiYXR0X3RpbWU9JS0yNi4yNHNcbiIpLAorCSAgICAgICBzaG1kYXRhLT5zaG1fYXRpbSA/IHhjdGltZSgmKHNobWRhdGEtPnNobV9hdGltKSkgOiBfKCJOb3Qgc2V0IikpOworCXByaW50ZihfKCJkZXRfdGltZT0lLTI2LjI0c1xuIiksCisJICAgICAgIHNobWRhdGEtPnNobV9kdGltID8geGN0aW1lKCZzaG1kYXRhLT5zaG1fZHRpbSkgOiBfKCJOb3Qgc2V0IikpOworCXByaW50ZihfKCJjaGFuZ2VfdGltZT0lLTI2LjI0c1xuIiksIHhjdGltZSgmc2htZGF0YS0+c2htX2N0aW0pKTsKKwlwcmludGYoIlxuIik7CisKKwlpcGNfc2htX2ZyZWVfaW5mbyhzaG1kYXRhKTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfbXNnKGludCBtc2dpZCwgaW50IHVuaXQpCit7CisJc3RydWN0IG1zZ19kYXRhICptc2dkYXRhOworCisJaWYgKGlwY19tc2dfZ2V0X2luZm8obXNnaWQsICZtc2dkYXRhKSA8IDEpIHsKKwkJd2FybngoXygiaWQgJWQgbm90IGZvdW5kIiksIG1zZ2lkKTsKKwkJcmV0dXJuOworCX0KKworCXByaW50ZihfKCJcbk1lc3NhZ2UgUXVldWUgbXNxaWQ9JWRcbiIpLCBtc2dpZCk7CisJcHJpbnRmKF8oInVpZD0ldVx0Z2lkPSV1XHRjdWlkPSV1XHRjZ2lkPSV1XHRtb2RlPSUjb1xuIiksCisJICAgICAgIG1zZ2RhdGEtPm1zZ19wZXJtLnVpZCwgbXNnZGF0YS0+bXNnX3Blcm0uZ2lkLAorCSAgICAgICBtc2dkYXRhLT5tc2dfcGVybS5jdWlkLCBtc2dkYXRhLT5tc2dfcGVybS5jZ2lkLAorCSAgICAgICBtc2dkYXRhLT5tc2dfcGVybS5tb2RlKTsKKwlpcGNfcHJpbnRfc2l6ZSh1bml0LCB1bml0ID09IElQQ19VTklUX0hVTUFOID8gXygiY3NpemU9IikgOiBfKCJjYnl0ZXM9IiksCisJCSAgICAgICBtc2dkYXRhLT5xX2NieXRlcywgIlx0IiwgMCk7CisJaXBjX3ByaW50X3NpemUodW5pdCwgdW5pdCA9PSBJUENfVU5JVF9IVU1BTiA/IF8oInFzaXplPSIpIDogXygicWJ5dGVzPSIpLAorCQkgICAgICAgbXNnZGF0YS0+cV9xYnl0ZXMsICJcdCIsIDApOworCXByaW50ZigicW51bT0lamRcdGxzcGlkPSVkXHRscnBpZD0lZFxuIiwKKwkgICAgICAgbXNnZGF0YS0+cV9xbnVtLAorCSAgICAgICBtc2dkYXRhLT5xX2xzcGlkLCBtc2dkYXRhLT5xX2xycGlkKTsKKwlwcmludGYoXygic2VuZF90aW1lPSUtMjYuMjRzXG4iKSwKKwkgICAgICAgbXNnZGF0YS0+cV9zdGltZSA/IHhjdGltZSgmbXNnZGF0YS0+cV9zdGltZSkgOiBfKCJOb3Qgc2V0IikpOworCXByaW50ZihfKCJyY3ZfdGltZT0lLTI2LjI0c1xuIiksCisJICAgICAgIG1zZ2RhdGEtPnFfcnRpbWUgPyB4Y3RpbWUoJm1zZ2RhdGEtPnFfcnRpbWUpIDogXygiTm90IHNldCIpKTsKKwlwcmludGYoXygiY2hhbmdlX3RpbWU9JS0yNi4yNHNcbiIpLAorCSAgICAgICBtc2dkYXRhLT5xX2N0aW1lID8geGN0aW1lKCZtc2dkYXRhLT5xX2N0aW1lKSA6IF8oIk5vdCBzZXQiKSk7CisJcHJpbnRmKCJcbiIpOworCisJaXBjX21zZ19mcmVlX2luZm8obXNnZGF0YSk7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X3NlbShpbnQgc2VtaWQpCit7CisJc3RydWN0IHNlbV9kYXRhICpzZW1kYXRhOworCXNpemVfdCBpOworCisJaWYgKGlwY19zZW1fZ2V0X2luZm8oc2VtaWQsICZzZW1kYXRhKSA8IDEpIHsKKwkJd2FybngoXygiaWQgJWQgbm90IGZvdW5kIiksIHNlbWlkKTsKKwkJcmV0dXJuOworCX0KKworCXByaW50ZihfKCJcblNlbWFwaG9yZSBBcnJheSBzZW1pZD0lZFxuIiksIHNlbWlkKTsKKwlwcmludGYoXygidWlkPSV1XHQgZ2lkPSV1XHQgY3VpZD0ldVx0IGNnaWQ9JXVcbiIpLAorCSAgICAgICBzZW1kYXRhLT5zZW1fcGVybS51aWQsIHNlbWRhdGEtPnNlbV9wZXJtLmdpZCwKKwkgICAgICAgc2VtZGF0YS0+c2VtX3Blcm0uY3VpZCwgc2VtZGF0YS0+c2VtX3Blcm0uY2dpZCk7CisJcHJpbnRmKF8oIm1vZGU9JSNvLCBhY2Nlc3NfcGVybXM9JSNvXG4iKSwKKwkgICAgICAgc2VtZGF0YS0+c2VtX3Blcm0ubW9kZSwgc2VtZGF0YS0+c2VtX3Blcm0ubW9kZSAmIDA3NzcpOworCXByaW50ZihfKCJuc2VtcyA9ICVqdVxuIiksIHNlbWRhdGEtPnNlbV9uc2Vtcyk7CisJcHJpbnRmKF8oIm90aW1lID0gJS0yNi4yNHNcbiIpLAorCSAgICAgICBzZW1kYXRhLT5zZW1fb3RpbWUgPyB4Y3RpbWUoJnNlbWRhdGEtPnNlbV9vdGltZSkgOiBfKCJOb3Qgc2V0IikpOworCXByaW50ZihfKCJjdGltZSA9ICUtMjYuMjRzXG4iKSwgeGN0aW1lKCZzZW1kYXRhLT5zZW1fY3RpbWUpKTsKKworCXByaW50ZigiJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHMgJS0xMHNcbiIsCisJICAgICAgIF8oInNlbW51bSIpLCBfKCJ2YWx1ZSIpLCBfKCJuY291bnQiKSwgXygiemNvdW50IiksIF8oInBpZCIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBzZW1kYXRhLT5zZW1fbnNlbXM7IGkrKykgeworCQlzdHJ1Y3Qgc2VtX2VsZW0gKmUgPSAmc2VtZGF0YS0+ZWxlbWVudHNbaV07CisJCXByaW50ZigiJS0xMHp1ICUtMTBkICUtMTBkICUtMTBkICUtMTBkXG4iLAorCQkgICAgICAgaSwgZS0+c2VtdmFsLCBlLT5uY291bnQsIGUtPnpjb3VudCwgZS0+cGlkKTsKKwl9CisJcHJpbnRmKCJcbiIpOworCWlwY19zZW1fZnJlZV9pbmZvKHNlbWRhdGEpOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2lwY3V0aWxzLmMgYi9zeXMtdXRpbHMvaXBjdXRpbHMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZmUyOTdmCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2lwY3V0aWxzLmMKQEAgLTAsMCArMSw1MzMgQEAKKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJpcGN1dGlscy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKyNpZm5kZWYgU0VNVk1YCisjIGRlZmluZSBTRU1WTVggIDMyNzY3CS8qIDw9IDMyNzY3IHNlbWFwaG9yZSBtYXhpbXVtIHZhbHVlICovCisjZW5kaWYKKyNpZm5kZWYgU0hNTUlOCisjIGRlZmluZSBTSE1NSU4gMQkvKiBtaW4gc2hhcmVkIHNlZ21lbnQgc2l6ZSBpbiBieXRlcyAqLworI2VuZGlmCisKKworaW50IGlwY19tc2dfZ2V0X2xpbWl0cyhzdHJ1Y3QgaXBjX2xpbWl0cyAqbGltKQoreworCWlmIChhY2Nlc3MoX1BBVEhfUFJPQ19JUENfTVNHTU5JLCBGX09LKSA9PSAwICYmCisJICAgIGFjY2VzcyhfUEFUSF9QUk9DX0lQQ19NU0dNTkIsIEZfT0spID09IDAgJiYKKwkgICAgYWNjZXNzKF9QQVRIX1BST0NfSVBDX01TR01BWCwgRl9PSykgPT0gMCkgeworCisJCXVsX3BhdGhfcmVhZF9zMzIoTlVMTCwgJmxpbS0+bXNnbW5pLCBfUEFUSF9QUk9DX0lQQ19NU0dNTkkpOworCQl1bF9wYXRoX3JlYWRfczMyKE5VTEwsICZsaW0tPm1zZ21uYiwgX1BBVEhfUFJPQ19JUENfTVNHTU5CKTsKKwkJdWxfcGF0aF9yZWFkX3U2NChOVUxMLCAmbGltLT5tc2dtYXgsIF9QQVRIX1BST0NfSVBDX01TR01BWCk7CisJfSBlbHNlIHsKKwkJc3RydWN0IG1zZ2luZm8gbXNnaW5mbzsKKworCQlpZiAobXNnY3RsKDAsIElQQ19JTkZPLCAoc3RydWN0IG1zcWlkX2RzICopICZtc2dpbmZvKSA8IDApCisJCQlyZXR1cm4gMTsKKwkJbGltLT5tc2dtbmkgPSBtc2dpbmZvLm1zZ21uaTsKKwkJbGltLT5tc2dtbmIgPSBtc2dpbmZvLm1zZ21uYjsKKwkJbGltLT5tc2dtYXggPSBtc2dpbmZvLm1zZ21heDsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworaW50IGlwY19zZW1fZ2V0X2xpbWl0cyhzdHJ1Y3QgaXBjX2xpbWl0cyAqbGltKQoreworCUZJTEUgKmY7CisJaW50IHJjID0gMDsKKworCWxpbS0+c2Vtdm14ID0gU0VNVk1YOworCisJZiA9IGZvcGVuKF9QQVRIX1BST0NfSVBDX1NFTSwgInIiKTsKKwlpZiAoZikgeworCQlyYyA9IGZzY2FuZihmLCAiJWRcdCVkXHQlZFx0JWQiLAorCQkgICAgICAgJmxpbS0+c2VtbXNsLCAmbGltLT5zZW1tbnMsICZsaW0tPnNlbW9wbSwgJmxpbS0+c2VtbW5pKTsKKwkJZmNsb3NlKGYpOworCX0KKworCWlmIChyYyAhPSA0KSB7CisJCXN0cnVjdCBzZW1pbmZvIHNlbWluZm8gPSB7IC5zZW1tbmkgPSAwIH07CisJCXVuaW9uIHNlbXVuIGFyZyA9IHsgLmFycmF5ID0gKHVzaG9ydCAqKSAmc2VtaW5mbyB9OworCisJCWlmIChzZW1jdGwoMCwgMCwgSVBDX0lORk8sIGFyZykgPCAwKQorCQkJcmV0dXJuIDE7CisJCWxpbS0+c2VtbW5pID0gc2VtaW5mby5zZW1tbmk7CisJCWxpbS0+c2VtbXNsID0gc2VtaW5mby5zZW1tc2w7CisJCWxpbS0+c2VtbW5zID0gc2VtaW5mby5zZW1tbnM7CisJCWxpbS0+c2Vtb3BtID0gc2VtaW5mby5zZW1vcG07CisJfQorCisJcmV0dXJuIDA7Cit9CisKK2ludCBpcGNfc2htX2dldF9saW1pdHMoc3RydWN0IGlwY19saW1pdHMgKmxpbSkKK3sKKwlsaW0tPnNobW1pbiA9IFNITU1JTjsKKworCWlmIChhY2Nlc3MoX1BBVEhfUFJPQ19JUENfU0hNQUxMLCBGX09LKSA9PSAwICYmCisJICAgIGFjY2VzcyhfUEFUSF9QUk9DX0lQQ19TSE1NQVgsIEZfT0spID09IDAgJiYKKwkgICAgYWNjZXNzKF9QQVRIX1BST0NfSVBDX1NITU1OSSwgRl9PSykgPT0gMCkgeworCisJCXVsX3BhdGhfcmVhZF91NjQoTlVMTCwgJmxpbS0+c2htYWxsLCBfUEFUSF9QUk9DX0lQQ19TSE1BTEwpOworCQl1bF9wYXRoX3JlYWRfdTY0KE5VTEwsICZsaW0tPnNobW1heCwgX1BBVEhfUFJPQ19JUENfU0hNTUFYKTsKKwkJdWxfcGF0aF9yZWFkX3U2NChOVUxMLCAmbGltLT5zaG1tbmksIF9QQVRIX1BST0NfSVBDX1NITU1OSSk7CisKKwl9IGVsc2UgeworCQlzdHJ1Y3Qgc2htaW5mbyAqc2htaW5mbzsKKwkJc3RydWN0IHNobWlkX2RzIHNobWJ1ZjsKKworCQlpZiAoc2htY3RsKDAsIElQQ19JTkZPLCAmc2htYnVmKSA8IDApCisJCQlyZXR1cm4gMTsKKwkJc2htaW5mbyA9IChzdHJ1Y3Qgc2htaW5mbyAqKSAmc2htYnVmOworCQlsaW0tPnNobW1uaSA9IHNobWluZm8tPnNobW1uaTsKKwkJbGltLT5zaG1hbGwgPSBzaG1pbmZvLT5zaG1hbGw7CisJCWxpbS0+c2htbWF4ID0gc2htaW5mby0+c2htbWF4OworCX0KKworCXJldHVybiAwOworfQorCitpbnQgaXBjX3NobV9nZXRfaW5mbyhpbnQgaWQsIHN0cnVjdCBzaG1fZGF0YSAqKnNobWRzKQoreworCUZJTEUgKmY7CisJaW50IGkgPSAwLCBtYXhpZDsKKwljaGFyIGJ1ZltCVUZTSVpdOworCXN0cnVjdCBzaG1fZGF0YSAqcDsKKwlzdHJ1Y3Qgc2htaWRfZHMgZHVtbXk7CisKKwlwID0gKnNobWRzID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHNobV9kYXRhKSk7CisJcC0+bmV4dCA9IE5VTEw7CisKKwlmID0gZm9wZW4oX1BBVEhfUFJPQ19TWVNWX1NITSwgInIiKTsKKwlpZiAoIWYpCisJCWdvdG8gc2htX2ZhbGxiYWNrOworCisJd2hpbGUgKGZnZXRjKGYpICE9ICdcbicpOwkJLyogc2tpcCBoZWFkZXIgKi8KKworCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmKSAhPSBOVUxMKSB7CisJCS8qIHNjYW4gZm9yIHRoZSBmaXJzdCAxNC0xNiBjb2x1bW5zIChlLmcuIExpbnV4IDIuNi4zMiBoYXMgMTQpICovCisJCXAtPnNobV9yc3MgPSAweGRlYWQ7CisJCXAtPnNobV9zd3AgPSAweGRlYWQ7CisJCWlmIChzc2NhbmYoYnVmLAorCQkJICAiJWQgJWQgICVvICUiU0NOdTY0ICIgJXUgJXUgICIKKwkJCSAgIiUiU0NOdTY0ICIgJXUgJXUgJXUgJXUgJSJTQ05pNjQgIiAlIlNDTmk2NCAiICUiU0NOaTY0CisJCQkgICIgJSJTQ051NjQgIiAlIlNDTnU2NCAiXG4iLAorCQkJICAgJnAtPnNobV9wZXJtLmtleSwKKwkJCSAgICZwLT5zaG1fcGVybS5pZCwKKwkJCSAgICZwLT5zaG1fcGVybS5tb2RlLAorCQkJICAgJnAtPnNobV9zZWdzeiwKKwkJCSAgICZwLT5zaG1fY3ByaWQsCisJCQkgICAmcC0+c2htX2xwcmlkLAorCQkJICAgJnAtPnNobV9uYXR0Y2gsCisJCQkgICAmcC0+c2htX3Blcm0udWlkLAorCQkJICAgJnAtPnNobV9wZXJtLmdpZCwKKwkJCSAgICZwLT5zaG1fcGVybS5jdWlkLAorCQkJICAgJnAtPnNobV9wZXJtLmNnaWQsCisJCQkgICAmcC0+c2htX2F0aW0sCisJCQkgICAmcC0+c2htX2R0aW0sCisJCQkgICAmcC0+c2htX2N0aW0sCisJCQkgICAmcC0+c2htX3JzcywKKwkJCSAgICZwLT5zaG1fc3dwKSA8IDE0KQorCQkJY29udGludWU7IC8qIGludmFsaWQgbGluZSwgc2tpcHBlZCAqLworCisJCWlmIChpZCA+IC0xKSB7CisJCQkvKiBJRCBzcGVjaWZpZWQgKi8KKwkJCWlmIChpZCA9PSBwLT5zaG1fcGVybS5pZCkgeworCQkJCWkgPSAxOworCQkJCWJyZWFrOworCQkJfSBlbHNlCisJCQkJY29udGludWU7CisJCX0KKworCQlwLT5uZXh0ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHNobV9kYXRhKSk7CisJCXAgPSBwLT5uZXh0OworCQlwLT5uZXh0ID0gTlVMTDsKKwkJaSsrOworCX0KKworCWlmIChpID09IDApCisJCWZyZWUoKnNobWRzKTsKKwlmY2xvc2UoZik7CisJcmV0dXJuIGk7CisKKwkvKiBGYWxsYmFjazsgL3Byb2Mgb3IgL3N5cyBmaWxlKHMpIG1pc3NpbmcuICovCitzaG1fZmFsbGJhY2s6CisJbWF4aWQgPSBzaG1jdGwoMCwgU0hNX0lORk8sICZkdW1teSk7CisKKwlmb3IgKGludCBqID0gMDsgaiA8PSBtYXhpZDsgaisrKSB7CisJCWludCBzaG1pZDsKKwkJc3RydWN0IHNobWlkX2RzIHNobXNlZzsKKwkJc3RydWN0IGlwY19wZXJtICppcGNwID0gJnNobXNlZy5zaG1fcGVybTsKKworCQlzaG1pZCA9IHNobWN0bChqLCBTSE1fU1RBVCwgJnNobXNlZyk7CisJCWlmIChzaG1pZCA8IDAgfHwgKGlkID4gLTEgJiYgc2htaWQgIT0gaWQpKSB7CisJCQljb250aW51ZTsKKwkJfQorCisJCWkrKzsKKwkJcC0+c2htX3Blcm0ua2V5ID0gaXBjcC0+S0VZOworCQlwLT5zaG1fcGVybS5pZCA9IHNobWlkOworCQlwLT5zaG1fcGVybS5tb2RlID0gaXBjcC0+bW9kZTsKKwkJcC0+c2htX3NlZ3N6ID0gc2htc2VnLnNobV9zZWdzejsKKwkJcC0+c2htX2NwcmlkID0gc2htc2VnLnNobV9jcGlkOworCQlwLT5zaG1fbHByaWQgPSBzaG1zZWcuc2htX2xwaWQ7CisJCXAtPnNobV9uYXR0Y2ggPSBzaG1zZWcuc2htX25hdHRjaDsKKwkJcC0+c2htX3Blcm0udWlkID0gaXBjcC0+dWlkOworCQlwLT5zaG1fcGVybS5naWQgPSBpcGNwLT5naWQ7CisJCXAtPnNobV9wZXJtLmN1aWQgPSBpcGNwLT5jdWlkOworCQlwLT5zaG1fcGVybS5jZ2lkID0gaXBjcC0+Y3VpZDsKKwkJcC0+c2htX2F0aW0gPSBzaG1zZWcuc2htX2F0aW1lOworCQlwLT5zaG1fZHRpbSA9IHNobXNlZy5zaG1fZHRpbWU7CisJCXAtPnNobV9jdGltID0gc2htc2VnLnNobV9jdGltZTsKKwkJcC0+c2htX3JzcyA9IDB4ZGVhZDsKKwkJcC0+c2htX3N3cCA9IDB4ZGVhZDsKKworCQlpZiAoaWQgPCAwKSB7CisJCQlwLT5uZXh0ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHNobV9kYXRhKSk7CisJCQlwID0gcC0+bmV4dDsKKwkJCXAtPm5leHQgPSBOVUxMOworCQl9IGVsc2UKKwkJCWJyZWFrOworCX0KKworCWlmIChpID09IDApCisJCWZyZWUoKnNobWRzKTsKKwlyZXR1cm4gaTsKK30KKwordm9pZCBpcGNfc2htX2ZyZWVfaW5mbyhzdHJ1Y3Qgc2htX2RhdGEgKnNobWRzKQoreworCXdoaWxlIChzaG1kcykgeworCQlzdHJ1Y3Qgc2htX2RhdGEgKm5leHQgPSBzaG1kcy0+bmV4dDsKKwkJZnJlZShzaG1kcyk7CisJCXNobWRzID0gbmV4dDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGdldF9zZW1fZWxlbWVudHMoc3RydWN0IHNlbV9kYXRhICpwKQoreworCXNpemVfdCBpOworCisJaWYgKCFwIHx8ICFwLT5zZW1fbnNlbXMgfHwgcC0+c2VtX3Blcm0uaWQgPCAwKQorCQlyZXR1cm47CisKKwlwLT5lbGVtZW50cyA9IHhjYWxsb2MocC0+c2VtX25zZW1zLCBzaXplb2Yoc3RydWN0IHNlbV9lbGVtKSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgcC0+c2VtX25zZW1zOyBpKyspIHsKKwkJc3RydWN0IHNlbV9lbGVtICplID0gJnAtPmVsZW1lbnRzW2ldOworCQl1bmlvbiBzZW11biBhcmcgPSB7IC52YWwgPSAwIH07CisKKwkJZS0+c2VtdmFsID0gc2VtY3RsKHAtPnNlbV9wZXJtLmlkLCBpLCBHRVRWQUwsIGFyZyk7CisJCWlmIChlLT5zZW12YWwgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXMgZmFpbGVkIiksICJzZW1jdGwoR0VUVkFMKSIpOworCisJCWUtPm5jb3VudCA9IHNlbWN0bChwLT5zZW1fcGVybS5pZCwgaSwgR0VUTkNOVCwgYXJnKTsKKwkJaWYgKGUtPm5jb3VudCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlcyBmYWlsZWQiKSwgInNlbWN0bChHRVROQ05UKSIpOworCisJCWUtPnpjb3VudCA9IHNlbWN0bChwLT5zZW1fcGVybS5pZCwgaSwgR0VUWkNOVCwgYXJnKTsKKwkJaWYgKGUtPnpjb3VudCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCIlcyBmYWlsZWQiKSwgInNlbWN0bChHRVRaQ05UKSIpOworCisJCWUtPnBpZCA9IHNlbWN0bChwLT5zZW1fcGVybS5pZCwgaSwgR0VUUElELCBhcmcpOworCQlpZiAoZS0+cGlkIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzIGZhaWxlZCIpLCAic2VtY3RsKEdFVFBJRCkiKTsKKwl9Cit9CisKK2ludCBpcGNfc2VtX2dldF9pbmZvKGludCBpZCwgc3RydWN0IHNlbV9kYXRhICoqc2VtZHMpCit7CisJRklMRSAqZjsKKwlpbnQgaSA9IDAsIG1heGlkOworCXN0cnVjdCBzZW1fZGF0YSAqcDsKKwlzdHJ1Y3Qgc2VtaW5mbyBkdW1teTsKKwl1bmlvbiBzZW11biBhcmc7CisKKwlwID0gKnNlbWRzID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHNlbV9kYXRhKSk7CisJcC0+bmV4dCA9IE5VTEw7CisKKwlmID0gZm9wZW4oX1BBVEhfUFJPQ19TWVNWX1NFTSwgInIiKTsKKwlpZiAoIWYpCisJCWdvdG8gc2VtX2ZhbGxiYWNrOworCisJd2hpbGUgKGZnZXRjKGYpICE9ICdcbicpIDsJLyogc2tpcCBoZWFkZXIgKi8KKworCXdoaWxlIChmZW9mKGYpID09IDApIHsKKwkJaWYgKGZzY2FuZihmLAorCQkJICAgIiVkICVkICAlbyAlIiBTQ051NjQgIiAldSAldSAldSAldSAlIgorCQkJICAgIFNDTmk2NCAiICUiIFNDTmk2NCAiXG4iLAorCQkJICAgJnAtPnNlbV9wZXJtLmtleSwKKwkJCSAgICZwLT5zZW1fcGVybS5pZCwKKwkJCSAgICZwLT5zZW1fcGVybS5tb2RlLAorCQkJICAgJnAtPnNlbV9uc2VtcywKKwkJCSAgICZwLT5zZW1fcGVybS51aWQsCisJCQkgICAmcC0+c2VtX3Blcm0uZ2lkLAorCQkJICAgJnAtPnNlbV9wZXJtLmN1aWQsCisJCQkgICAmcC0+c2VtX3Blcm0uY2dpZCwKKwkJCSAgICZwLT5zZW1fb3RpbWUsCisJCQkgICAmcC0+c2VtX2N0aW1lKSAhPSAxMCkKKwkJCWNvbnRpbnVlOworCisJCWlmIChpZCA+IC0xKSB7CisJCQkvKiBJRCBzcGVjaWZpZWQgKi8KKwkJCWlmIChpZCA9PSBwLT5zZW1fcGVybS5pZCkgeworCQkJCWdldF9zZW1fZWxlbWVudHMocCk7CisJCQkJaSA9IDE7CisJCQkJYnJlYWs7CisJCQl9IGVsc2UKKwkJCQljb250aW51ZTsKKwkJfQorCisJCXAtPm5leHQgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgc2VtX2RhdGEpKTsKKwkJcCA9IHAtPm5leHQ7CisJCXAtPm5leHQgPSBOVUxMOworCQlpKys7CisJfQorCisJaWYgKGkgPT0gMCkKKwkJZnJlZSgqc2VtZHMpOworCWZjbG9zZShmKTsKKwlyZXR1cm4gaTsKKworCS8qIEZhbGxiYWNrOyAvcHJvYyBvciAvc3lzIGZpbGUocykgbWlzc2luZy4gKi8KK3NlbV9mYWxsYmFjazoKKwlhcmcuYXJyYXkgPSAodXNob3J0ICopICh2b2lkICopJmR1bW15OworCW1heGlkID0gc2VtY3RsKDAsIDAsIFNFTV9JTkZPLCBhcmcpOworCisJZm9yIChpbnQgaiA9IDA7IGogPD0gbWF4aWQ7IGorKykgeworCQlpbnQgc2VtaWQ7CisJCXN0cnVjdCBzZW1pZF9kcyBzZW1zZWc7CisJCXN0cnVjdCBpcGNfcGVybSAqaXBjcCA9ICZzZW1zZWcuc2VtX3Blcm07CisJCWFyZy5idWYgPSAoc3RydWN0IHNlbWlkX2RzICopJnNlbXNlZzsKKworCQlzZW1pZCA9IHNlbWN0bChqLCAwLCBTRU1fU1RBVCwgYXJnKTsKKwkJaWYgKHNlbWlkIDwgMCB8fCAoaWQgPiAtMSAmJiBzZW1pZCAhPSBpZCkpIHsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaSsrOworCQlwLT5zZW1fcGVybS5rZXkgPSBpcGNwLT5LRVk7CisJCXAtPnNlbV9wZXJtLmlkID0gc2VtaWQ7CisJCXAtPnNlbV9wZXJtLm1vZGUgPSBpcGNwLT5tb2RlOworCQlwLT5zZW1fbnNlbXMgPSBzZW1zZWcuc2VtX25zZW1zOworCQlwLT5zZW1fcGVybS51aWQgPSBpcGNwLT51aWQ7CisJCXAtPnNlbV9wZXJtLmdpZCA9IGlwY3AtPmdpZDsKKwkJcC0+c2VtX3Blcm0uY3VpZCA9IGlwY3AtPmN1aWQ7CisJCXAtPnNlbV9wZXJtLmNnaWQgPSBpcGNwLT5jdWlkOworCQlwLT5zZW1fb3RpbWUgPSBzZW1zZWcuc2VtX290aW1lOworCQlwLT5zZW1fY3RpbWUgPSBzZW1zZWcuc2VtX2N0aW1lOworCisJCWlmIChpZCA8IDApIHsKKwkJCXAtPm5leHQgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3Qgc2VtX2RhdGEpKTsKKwkJCXAgPSBwLT5uZXh0OworCQkJcC0+bmV4dCA9IE5VTEw7CisJCQlpKys7CisJCX0gZWxzZSB7CisJCQlnZXRfc2VtX2VsZW1lbnRzKHApOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoaSA9PSAwKQorCQlmcmVlKCpzZW1kcyk7CisJcmV0dXJuIGk7Cit9CisKK3ZvaWQgaXBjX3NlbV9mcmVlX2luZm8oc3RydWN0IHNlbV9kYXRhICpzZW1kcykKK3sKKwl3aGlsZSAoc2VtZHMpIHsKKwkJc3RydWN0IHNlbV9kYXRhICpuZXh0ID0gc2VtZHMtPm5leHQ7CisJCWZyZWUoc2VtZHMtPmVsZW1lbnRzKTsKKwkJZnJlZShzZW1kcyk7CisJCXNlbWRzID0gbmV4dDsKKwl9Cit9CisKK2ludCBpcGNfbXNnX2dldF9pbmZvKGludCBpZCwgc3RydWN0IG1zZ19kYXRhICoqbXNnZHMpCit7CisJRklMRSAqZjsKKwlpbnQgaSA9IDAsIG1heGlkOworCXN0cnVjdCBtc2dfZGF0YSAqcDsKKwlzdHJ1Y3QgbXNxaWRfZHMgZHVtbXk7CisJc3RydWN0IG1zcWlkX2RzIG1zZ3NlZzsKKworCXAgPSAqbXNnZHMgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbXNnX2RhdGEpKTsKKwlwLT5uZXh0ID0gTlVMTDsKKworCWYgPSBmb3BlbihfUEFUSF9QUk9DX1NZU1ZfTVNHLCAiciIpOworCWlmICghZikKKwkJZ290byBtc2dfZmFsbGJhY2s7CisKKwl3aGlsZSAoZmdldGMoZikgIT0gJ1xuJykgOwkvKiBza2lwIGhlYWRlciAqLworCisJd2hpbGUgKGZlb2YoZikgPT0gMCkgeworCQlpZiAoZnNjYW5mKGYsCisJCQkgICAiJWQgJWQgICVvICAlIiBTQ051NjQgIiAlIiBTQ051NjQKKwkJCSAgICIgJXUgJXUgJXUgJXUgJXUgJXUgJSIgU0NOaTY0ICIgJSIgU0NOaTY0ICIgJSIgU0NOaTY0ICJcbiIsCisJCQkgICAmcC0+bXNnX3Blcm0ua2V5LAorCQkJICAgJnAtPm1zZ19wZXJtLmlkLAorCQkJICAgJnAtPm1zZ19wZXJtLm1vZGUsCisJCQkgICAmcC0+cV9jYnl0ZXMsCisJCQkgICAmcC0+cV9xbnVtLAorCQkJICAgJnAtPnFfbHNwaWQsCisJCQkgICAmcC0+cV9scnBpZCwKKwkJCSAgICZwLT5tc2dfcGVybS51aWQsCisJCQkgICAmcC0+bXNnX3Blcm0uZ2lkLAorCQkJICAgJnAtPm1zZ19wZXJtLmN1aWQsCisJCQkgICAmcC0+bXNnX3Blcm0uY2dpZCwKKwkJCSAgICZwLT5xX3N0aW1lLAorCQkJICAgJnAtPnFfcnRpbWUsCisJCQkgICAmcC0+cV9jdGltZSkgIT0gMTQpCisJCQljb250aW51ZTsKKworCQlpZiAoaWQgPiAtMSkgeworCQkJLyogSUQgc3BlY2lmaWVkICovCisJCQlpZiAoaWQgPT0gcC0+bXNnX3Blcm0uaWQpIHsKKwkJCQlpZiAobXNnY3RsKGlkLCBJUENfU1RBVCwgJm1zZ3NlZykgIT0gLTEpCisJCQkJCXAtPnFfcWJ5dGVzID0gbXNnc2VnLm1zZ19xYnl0ZXM7CisJCQkJaSA9IDE7CisJCQkJYnJlYWs7CisJCQl9IGVsc2UKKwkJCQljb250aW51ZTsKKwkJfQorCisJCXAtPm5leHQgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgbXNnX2RhdGEpKTsKKwkJcCA9IHAtPm5leHQ7CisJCXAtPm5leHQgPSBOVUxMOworCQlpKys7CisJfQorCisJaWYgKGkgPT0gMCkKKwkJZnJlZSgqbXNnZHMpOworCWZjbG9zZShmKTsKKwlyZXR1cm4gaTsKKworCS8qIEZhbGxiYWNrOyAvcHJvYyBvciAvc3lzIGZpbGUocykgbWlzc2luZy4gKi8KK21zZ19mYWxsYmFjazoKKwltYXhpZCA9IG1zZ2N0bCgwLCBNU0dfSU5GTywgJmR1bW15KTsKKworCWZvciAoaW50IGogPSAwOyBqIDw9IG1heGlkOyBqKyspIHsKKwkJaW50IG1zZ2lkOworCQlzdHJ1Y3QgaXBjX3Blcm0gKmlwY3AgPSAmbXNnc2VnLm1zZ19wZXJtOworCisJCW1zZ2lkID0gbXNnY3RsKGosIE1TR19TVEFULCAmbXNnc2VnKTsKKwkJaWYgKG1zZ2lkIDwgMCB8fCAoaWQgPiAtMSAmJiBtc2dpZCAhPSBpZCkpIHsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaSsrOworCQlwLT5tc2dfcGVybS5rZXkgPSBpcGNwLT5LRVk7CisJCXAtPm1zZ19wZXJtLmlkID0gbXNnaWQ7CisJCXAtPm1zZ19wZXJtLm1vZGUgPSBpcGNwLT5tb2RlOworCQlwLT5xX2NieXRlcyA9IG1zZ3NlZy5tc2dfY2J5dGVzOworCQlwLT5xX3FudW0gPSBtc2dzZWcubXNnX3FudW07CisJCXAtPnFfbHNwaWQgPSBtc2dzZWcubXNnX2xzcGlkOworCQlwLT5xX2xycGlkID0gbXNnc2VnLm1zZ19scnBpZDsKKwkJcC0+bXNnX3Blcm0udWlkID0gaXBjcC0+dWlkOworCQlwLT5tc2dfcGVybS5naWQgPSBpcGNwLT5naWQ7CisJCXAtPm1zZ19wZXJtLmN1aWQgPSBpcGNwLT5jdWlkOworCQlwLT5tc2dfcGVybS5jZ2lkID0gaXBjcC0+Y2dpZDsKKwkJcC0+cV9zdGltZSA9IG1zZ3NlZy5tc2dfc3RpbWU7CisJCXAtPnFfcnRpbWUgPSBtc2dzZWcubXNnX3J0aW1lOworCQlwLT5xX2N0aW1lID0gbXNnc2VnLm1zZ19jdGltZTsKKwkJcC0+cV9xYnl0ZXMgPSBtc2dzZWcubXNnX3FieXRlczsKKworCQlpZiAoaWQgPCAwKSB7CisJCQlwLT5uZXh0ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IG1zZ19kYXRhKSk7CisJCQlwID0gcC0+bmV4dDsKKwkJCXAtPm5leHQgPSBOVUxMOworCQl9IGVsc2UKKwkJCWJyZWFrOworCX0KKworCWlmIChpID09IDApCisJCWZyZWUoKm1zZ2RzKTsKKwlyZXR1cm4gaTsKK30KKwordm9pZCBpcGNfbXNnX2ZyZWVfaW5mbyhzdHJ1Y3QgbXNnX2RhdGEgKm1zZ2RzKQoreworCXdoaWxlIChtc2dkcykgeworCQlzdHJ1Y3QgbXNnX2RhdGEgKm5leHQgPSBtc2dkcy0+bmV4dDsKKwkJZnJlZShtc2dkcyk7CisJCW1zZ2RzID0gbmV4dDsKKwl9Cit9CisKK3ZvaWQgaXBjX3ByaW50X3Blcm1zKEZJTEUgKmYsIHN0cnVjdCBpcGNfc3RhdCAqaXMpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJc3RydWN0IGdyb3VwICpncjsKKworCWZwcmludGYoZiwgIiUtMTBkICUtMTBvIiwgaXMtPmlkLCBpcy0+bW9kZSAmIDA3NzcpOworCisJaWYgKChwdyA9IGdldHB3dWlkKGlzLT5jdWlkKSkpCisJCWZwcmludGYoZiwgIiAlLTEwcyIsIHB3LT5wd19uYW1lKTsKKwllbHNlCisJCWZwcmludGYoZiwgIiAlLTEwdSIsIGlzLT5jdWlkKTsKKworCWlmICgoZ3IgPSBnZXRncmdpZChpcy0+Y2dpZCkpKQorCQlmcHJpbnRmKGYsICIgJS0xMHMiLCBnci0+Z3JfbmFtZSk7CisJZWxzZQorCQlmcHJpbnRmKGYsICIgJS0xMHUiLCBpcy0+Y2dpZCk7CisKKwlpZiAoKHB3ID0gZ2V0cHd1aWQoaXMtPnVpZCkpKQorCQlmcHJpbnRmKGYsICIgJS0xMHMiLCBwdy0+cHdfbmFtZSk7CisJZWxzZQorCQlmcHJpbnRmKGYsICIgJS0xMHUiLCBpcy0+dWlkKTsKKworCWlmICgoZ3IgPSBnZXRncmdpZChpcy0+Z2lkKSkpCisJCWZwcmludGYoZiwgIiAlLTEwc1xuIiwgZ3ItPmdyX25hbWUpOworCWVsc2UKKwkJZnByaW50ZihmLCAiICUtMTB1XG4iLCBpcy0+Z2lkKTsKK30KKwordm9pZCBpcGNfcHJpbnRfc2l6ZShpbnQgdW5pdCwgY2hhciAqbXNnLCB1aW50NjRfdCBzaXplLCBjb25zdCBjaGFyICplbmQsCisJCSAgICBpbnQgd2lkdGgpCit7CisJY2hhciBmb3JtYXRbMzJdOworCisJaWYgKCFtc2cpCisJCS8qIE5VTEwgKi8gOworCWVsc2UgaWYgKG1zZ1tzdHJsZW4obXNnKSAtIDFdID09ICc9JykKKwkJcHJpbnRmKCIlcyIsIG1zZyk7CisJZWxzZSBpZiAodW5pdCA9PSBJUENfVU5JVF9CWVRFUykKKwkJcHJpbnRmKF8oIiVzIChieXRlcykgPSAiKSwgbXNnKTsKKwllbHNlIGlmICh1bml0ID09IElQQ19VTklUX0tCKQorCQlwcmludGYoXygiJXMgKGtieXRlcykgPSAiKSwgbXNnKTsKKwllbHNlCisJCXByaW50ZigiJXMgPSAiLCBtc2cpOworCisJc3dpdGNoICh1bml0KSB7CisJY2FzZSBJUENfVU5JVF9ERUZBVUxUOgorCWNhc2UgSVBDX1VOSVRfQllURVM6CisJCXNwcmludGYoZm9ybWF0LCAiJSUlZGp1Iiwgd2lkdGgpOworCQlwcmludGYoZm9ybWF0LCBzaXplKTsKKwkJYnJlYWs7CisJY2FzZSBJUENfVU5JVF9LQjoKKwkJc3ByaW50Zihmb3JtYXQsICIlJSVkanUiLCB3aWR0aCk7CisJCXByaW50Zihmb3JtYXQsIHNpemUgLyAxMDI0KTsKKwkJYnJlYWs7CisJY2FzZSBJUENfVU5JVF9IVU1BTjoKKwl7CisJCWNoYXIgKnRtcDsKKwkJc3ByaW50Zihmb3JtYXQsICIlJSVkcyIsIHdpZHRoKTsKKwkJcHJpbnRmKGZvcm1hdCwgKHRtcCA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIHNpemUpKSk7CisJCWZyZWUodG1wKTsKKwkJYnJlYWs7CisJfQorCWRlZmF1bHQ6CisJCS8qIGltcG9zc2libGUgb2NjdXJyZWQgKi8KKwkJYWJvcnQoKTsKKwl9CisKKwlpZiAoZW5kKQorCQlwcmludGYoIiVzIiwgZW5kKTsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9pcGN1dGlscy5oIGIvc3lzLXV0aWxzL2lwY3V0aWxzLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGI4NWY1NwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9pcGN1dGlscy5oCkBAIC0wLDAgKzEsMTg3IEBACisjaWZuZGVmIFVUSUxfTElOVVhfSVBDVVRJTFNfSAorI2RlZmluZSBVVElMX0xJTlVYX0lQQ1VUSUxTX0gKKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL2lwYy5oPgorI2luY2x1ZGUgPHN5cy9tc2cuaD4KKyNpbmNsdWRlIDxzeXMvc2VtLmg+CisjaW5jbHVkZSA8c3lzL3NobS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxncnAuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKworLyoKKyAqIFNITV9ERVNUIGFuZCBTSE1fTE9DS0VEIGFyZSBkZWZpbmVkIGluIGtlcm5lbCBoZWFkZXJzLCBidXQgaW5zaWRlCisgKiAjaWZkZWYgX19LRVJORUxfXyAuLi4gI2VuZGlmCisgKi8KKyNpZm5kZWYgU0hNX0RFU1QKKyAgLyogc2htX21vZGUgdXBwZXIgYnl0ZSBmbGFncyAqLworIyBkZWZpbmUgU0hNX0RFU1QJMDEwMDAJLyogc2VnbWVudCB3aWxsIGJlIGRlc3Ryb3llZCBvbiBsYXN0IGRldGFjaCAqLworIyBkZWZpbmUgU0hNX0xPQ0tFRAkwMjAwMAkvKiBzZWdtZW50IHdpbGwgbm90IGJlIHN3YXBwZWQgKi8KKyNlbmRpZgorCisvKiBGb3Igb2xkZXIga2VybmVscyB0aGUgc2FtZSBob2xkcyBmb3IgdGhlIGRlZmluZXMgYmVsb3cgKi8KKyNpZm5kZWYgTVNHX1NUQVQKKyMgZGVmaW5lIE1TR19TVEFUCTExCisjIGRlZmluZSBNU0dfSU5GTwkxMgorI2VuZGlmCisKKyNpZm5kZWYgU0hNX1NUQVQKKyMgZGVmaW5lIFNITV9TVEFUCTEzCisjIGRlZmluZSBTSE1fSU5GTwkxNAorc3RydWN0IHNobV9pbmZvIHsKKwlpbnQgdXNlZF9pZHM7CisJdW5zaWduZWQgbG9uZyBzaG1fdG90OwkJLyogdG90YWwgYWxsb2NhdGVkIHNobSAqLworCXVuc2lnbmVkIGxvbmcgc2htX3JzczsJCS8qIHRvdGFsIHJlc2lkZW50IHNobSAqLworCXVuc2lnbmVkIGxvbmcgc2htX3N3cDsJCS8qIHRvdGFsIHN3YXBwZWQgc2htICovCisJdW5zaWduZWQgbG9uZyBzd2FwX2F0dGVtcHRzOworCXVuc2lnbmVkIGxvbmcgc3dhcF9zdWNjZXNzZXM7Cit9OworI2VuZGlmCisKKyNpZm5kZWYgU0VNX1NUQVQKKyMgZGVmaW5lIFNFTV9TVEFUCTE4CisjIGRlZmluZSBTRU1fSU5GTwkxOQorI2VuZGlmCisKKy8qIFNvbWUgdmVyc2lvbnMgb2YgbGliYyBvbmx5IGRlZmluZSBJUENfSU5GTyB3aGVuIF9fVVNFX0dOVSBpcyBkZWZpbmVkLiAqLworI2lmbmRlZiBJUENfSU5GTworIyBkZWZpbmUgSVBDX0lORk8JMworI2VuZGlmCisKKy8qCisgKiAgKiBUaGUgbGFzdCBhcmcgb2Ygc2VtY3RsIGlzIGEgdW5pb24gc2VtdW4sIGJ1dCB3aGVyZSBpcyBpdCBkZWZpbmVkPyBYL09QRU4KKyAqICAgKiB0ZWxscyB1cyB0byBkZWZpbmUgaXQgb3Vyc2VsdmVzLCBidXQgdW50aWwgcmVjZW50bHkgTGludXggaW5jbHVkZSBmaWxlcworICogICAgKiB3b3VsZCBhbHNvIGRlZmluZSBpdC4KKyAqICAgICAqLworI2lmbmRlZiBIQVZFX1VOSU9OX1NFTVVOCisvKiBhY2NvcmRpbmcgdG8gWC9PUEVOIHdlIGhhdmUgdG8gZGVmaW5lIGl0IG91cnNlbHZlcyAqLwordW5pb24gc2VtdW4geworCWludCB2YWw7CisJc3RydWN0IHNlbWlkX2RzICpidWY7CisJdW5zaWduZWQgc2hvcnQgaW50ICphcnJheTsKKwlzdHJ1Y3Qgc2VtaW5mbyAqX19idWY7Cit9OworI2VuZGlmCisKKy8qCisgKiBYL09QRU4gKEphbiAxOTg3KSBkb2VzIG5vdCBkZWZpbmUgZmllbGRzIGtleSwgc2VxIGluIHN0cnVjdCBpcGNfcGVybTsKKyAqCWdsaWJjLTEuMDkgaGFzIG5vIHN1cHBvcnQgZm9yIHN5c3YgaXBjLgorICoJZ2xpYmMgMiB1c2VzIF9fa2V5LCBfX3NlcQorICovCisjaWYgZGVmaW5lZCAoX19HTElCQ19fKSAmJiBfX0dMSUJDX18gPj0gMgorIyBkZWZpbmUgS0VZIF9fa2V5CisjZWxzZQorIyBkZWZpbmUgS0VZIGtleQorI2VuZGlmCisKKy8qIFNpemUgcHJpbnRpbmcgaW4gaXBjcyBpcyB1c2luZyB0aGVzZS4gKi8KK2VudW0geworCUlQQ19VTklUX0RFRkFVTFQsCisJSVBDX1VOSVRfQllURVMsCisJSVBDX1VOSVRfS0IsCisJSVBDX1VOSVRfSFVNQU4KK307CisKK3N0cnVjdCBpcGNfbGltaXRzIHsKKwl1aW50NjRfdAlzaG1tbmk7CQkvKiBtYXggbnVtYmVyIG9mIHNlZ21lbnRzICovCisJdWludDY0X3QJc2htbWF4OwkJLyogbWF4IHNlZ21lbnQgc2l6ZSAqLworCXVpbnQ2NF90CXNobWFsbDsJCS8qIG1heCB0b3RhbCBzaGFyZWQgbWVtb3J5ICovCisJdWludDY0X3QJc2htbWluOwkJLyogbWluIHNlZ21lbnQgc2l6ZSAqLworCisJaW50CQlzZW1tbmk7CQkvKiBtYXggbnVtYmVyIG9mIGFycmF5cyAqLworCWludAkJc2VtbXNsOwkJLyogbWF4IHNlbWFwaG9yZXMgcGVyIGFycmF5ICovCisJaW50CQlzZW1tbnM7CQkvKiBtYXggc2VtYXBob3JlcyBzeXN0ZW0gd2lkZSAqLworCWludAkJc2Vtb3BtOwkJLyogbWF4IG9wcyBwZXIgc2Vtb3AgY2FsbCAqLworCXVuc2lnbmVkIGludAlzZW12bXg7CQkvKiBzZW1hcGhvcmUgbWF4IHZhbHVlIChjb25zdGFudCkgKi8KKworCWludAkJbXNnbW5pOwkJLyogbWF4IHF1ZXVlcyBzeXN0ZW0gd2lkZSAqLworCXVpbnQ2NF90CW1zZ21heDsJCS8qIG1heCBzaXplIG9mIG1lc3NhZ2UgKi8KKwlpbnQJCW1zZ21uYjsJCS8qIGRlZmF1bHQgbWF4IHNpemUgb2YgcXVldWUgKi8KK307CisKK2V4dGVybiBpbnQgaXBjX21zZ19nZXRfbGltaXRzKHN0cnVjdCBpcGNfbGltaXRzICpsaW0pOworZXh0ZXJuIGludCBpcGNfc2VtX2dldF9saW1pdHMoc3RydWN0IGlwY19saW1pdHMgKmxpbSk7CitleHRlcm4gaW50IGlwY19zaG1fZ2V0X2xpbWl0cyhzdHJ1Y3QgaXBjX2xpbWl0cyAqbGltKTsKKworc3RydWN0IGlwY19zdGF0IHsKKwlpbnQJCWlkOworCWtleV90CQlrZXk7CisJdWlkX3QJCXVpZDsgICAgLyogY3VycmVudCB1aWQgKi8KKwlnaWRfdAkJZ2lkOyAgICAvKiBjdXJyZW50IGdpZCAqLworCXVpZF90CQljdWlkOyAgICAvKiBjcmVhdG9yIHVpZCAqLworCWdpZF90CQljZ2lkOyAgICAvKiBjcmVhdG9yIGdpZCAqLworCXVuc2lnbmVkIGludAltb2RlOworfTsKKworZXh0ZXJuIHZvaWQgaXBjX3ByaW50X3Blcm1zKEZJTEUgKmYsIHN0cnVjdCBpcGNfc3RhdCAqaXMpOworZXh0ZXJuIHZvaWQgaXBjX3ByaW50X3NpemUoaW50IHVuaXQsIGNoYXIgKm1zZywgdWludDY0X3Qgc2l6ZSwgY29uc3QgY2hhciAqZW5kLCBpbnQgd2lkdGgpOworCisvKiBTZWUgJ3N0cnVjdCBzaG1pZF9rZXJuZWwnIGluIGtlcm5lbCBzb3VyY2VzCisgKi8KK3N0cnVjdCBzaG1fZGF0YSB7CisJc3RydWN0IGlwY19zdGF0CXNobV9wZXJtOworCisJdWludDY0X3QJc2htX25hdHRjaDsKKwl1aW50NjRfdAlzaG1fc2Vnc3o7CisJaW50NjRfdAkJc2htX2F0aW07CS8qIF9fa2VybmVsX3RpbWVfdCBpcyBzaWduZWQgbG9uZyAqLworCWludDY0X3QJCXNobV9kdGltOworCWludDY0X3QJCXNobV9jdGltOworCXBpZF90CQlzaG1fY3ByaWQ7CisJcGlkX3QJCXNobV9scHJpZDsKKwl1aW50NjRfdAlzaG1fcnNzOworCXVpbnQ2NF90CXNobV9zd3A7CisKKwlzdHJ1Y3Qgc2htX2RhdGEgICpuZXh0OworfTsKKworZXh0ZXJuIGludCBpcGNfc2htX2dldF9pbmZvKGludCBpZCwgc3RydWN0IHNobV9kYXRhICoqc2htZHMpOworZXh0ZXJuIHZvaWQgaXBjX3NobV9mcmVlX2luZm8oc3RydWN0IHNobV9kYXRhICpzaG1kcyk7CisKKy8qIFNlZSAnc3RydWN0IHNlbV9hcnJheScgaW4ga2VybmVsIHNvdXJjZXMKKyAqLworc3RydWN0IHNlbV9lbGVtIHsKKwlpbnQJc2VtdmFsOworCWludAluY291bnQ7CQkvKiBwcm9jZXNzZXMgd2FpdGluZyBvbiBpbmNyZWFzZSBzZW12YWwgKi8KKwlpbnQJemNvdW50OwkJLyogcHJvY2Vzc2VzIHdhaXRpbmcgb24gc2VtdmFsIHNldCB0byB6ZXJvICovCisJcGlkX3QJcGlkOwkJLyogcHJvY2VzcyBsYXN0IGV4ZWN1dGVkIHNlbW9wKDIpIGNhbGwgKi8KK307CitzdHJ1Y3Qgc2VtX2RhdGEgeworCXN0cnVjdCBpcGNfc3RhdCBzZW1fcGVybTsKKworCWludDY0X3QJCXNlbV9jdGltZTsKKwlpbnQ2NF90CQlzZW1fb3RpbWU7CisJdWludDY0X3QJc2VtX25zZW1zOworCisJc3RydWN0IHNlbV9lbGVtCSplbGVtZW50czsKKwlzdHJ1Y3Qgc2VtX2RhdGEgKm5leHQ7Cit9OworCitleHRlcm4gaW50IGlwY19zZW1fZ2V0X2luZm8oaW50IGlkLCBzdHJ1Y3Qgc2VtX2RhdGEgKipzZW1kcyk7CitleHRlcm4gdm9pZCBpcGNfc2VtX2ZyZWVfaW5mbyhzdHJ1Y3Qgc2VtX2RhdGEgKnNlbWRzKTsKKworLyogU2VlICdzdHJ1Y3QgbXNnX3F1ZXVlJyBpbiBrZXJuZWwgc291cmNlcworICovCitzdHJ1Y3QgbXNnX2RhdGEgeworCXN0cnVjdCBpcGNfc3RhdCBtc2dfcGVybTsKKworCWludDY0X3QJCXFfc3RpbWU7CisJaW50NjRfdAkJcV9ydGltZTsKKwlpbnQ2NF90CQlxX2N0aW1lOworCXVpbnQ2NF90CXFfY2J5dGVzOworCXVpbnQ2NF90CXFfcW51bTsKKwl1aW50NjRfdAlxX3FieXRlczsKKwlwaWRfdAkJcV9sc3BpZDsKKwlwaWRfdAkJcV9scnBpZDsKKworCXN0cnVjdCBtc2dfZGF0YSAqbmV4dDsKK307CisKK2V4dGVybiBpbnQgaXBjX21zZ19nZXRfaW5mbyhpbnQgaWQsIHN0cnVjdCBtc2dfZGF0YSAqKm1zZ2RzKTsKK2V4dGVybiB2b2lkIGlwY19tc2dfZnJlZV9pbmZvKHN0cnVjdCBtc2dfZGF0YSAqbXNnZHMpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9JUENVVElMU19IICovCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbGRhdHRhY2guOCBiL3N5cy11dGlscy9sZGF0dGFjaC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiNDY4M2QKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbGRhdHRhY2guOApAQCAtMCwwICsxLDE1NSBAQAorLlwiIENvcHlyaWdodCAyMDA4IFRpbG1hbiBTY2htaWR0ICh0aWxtYW5AaW1hcC5jYykKKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHZlcnNpb24gMiBvciBsYXRlcgorLlRIIExEQVRUQUNIIDggIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorbGRhdHRhY2ggXC0gYXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIHRvIGEgc2VyaWFsIGxpbmUKKy5TSCBTWU5PUFNJUworLkIgbGRhdHRhY2gKKy5SQiBbIFwtMTI3OGRlbm9WaCBdCisuUkIgWyBcLWkKKy5JUiBpZmxhZyBdCisuUkIgWyBcLXMKKy5JUiBzcGVlZCBdCisuSSBsZGlzYyBkZXZpY2UKKy5TSCBERVNDUklQVElPTgorVGhlCisuQiBsZGF0dGFjaAorZGFlbW9uIG9wZW5zIHRoZSBzcGVjaWZpZWQKKy5JIGRldmljZQorZmlsZQorKHdoaWNoIHNob3VsZCByZWZlciB0byBhIHNlcmlhbCBkZXZpY2UpCithbmQgYXR0YWNoZXMgdGhlIGxpbmUgZGlzY2lwbGluZQorLkkgbGRpc2MKK3RvIGl0IGZvciBwcm9jZXNzaW5nIG9mIHRoZSBzZW50IGFuZC9vciByZWNlaXZlZCBkYXRhLgorSXQgdGhlbiBnb2VzIGludG8gdGhlIGJhY2tncm91bmQga2VlcGluZyB0aGUgZGV2aWNlIG9wZW4gc28gdGhhdCB0aGUKK2xpbmUgZGlzY2lwbGluZSBzdGF5cyBsb2FkZWQuCisuc3AKK1RoZSBsaW5lIGRpc2NpcGxpbmUKKy5JIGxkaXNjCittYXkgYmUgc3BlY2lmaWVkIGVpdGhlciBieSBuYW1lCitvciBieSBudW1iZXIuCisuc3AKK0luIG9yZGVyIHRvIGRldGFjaCB0aGUgbGluZSBkaXNjaXBsaW5lLAorLkJSIGtpbGwgKDEpCit0aGUKKy5CIGxkYXR0YWNoCitwcm9jZXNzLgorLnNwCitXaXRoIG5vIGFyZ3VtZW50cywKKy5CIGxkYXR0YWNoCitwcmludHMgdXNhZ2UgaW5mb3JtYXRpb24uCisuU0ggTElORSBESVNDSVBMSU5FUworRGVwZW5kaW5nIG9uIHRoZSBrZXJuZWwgcmVsZWFzZSwgdGhlIGZvbGxvd2luZyBsaW5lIGRpc2NpcGxpbmVzIGFyZSBzdXBwb3J0ZWQ6CisuVFAKKy5CUiBUVFkgKCAwICkKK1RoZSBkZWZhdWx0IGxpbmUgZGlzY2lwbGluZSwKK3Byb3ZpZGluZyB0cmFuc3BhcmVudCBvcGVyYXRpb24gKHJhdyBtb2RlKQorYXMgd2VsbCBhcyB0aGUgaGFiaXR1YWwgdGVybWluYWwgbGluZSBlZGl0aW5nIGNhcGFiaWxpdGllcyAoY29va2VkIG1vZGUpLgorLlRQCisuQlIgU0xJUCAoIDEgKQorU2VyaWFsIExpbmUgSVAgKFNMSVApIHByb3RvY29sIHByb2Nlc3NvcgorZm9yIHRyYW5zbWl0dGluZyBUQ1AvSVAgcGFja2V0cyBvdmVyIHNlcmlhbCBsaW5lcy4KKy5UUAorLkJSIE1PVVNFICggMiApCitEZXZpY2UgZHJpdmVyIGZvciBSUzIzMiBjb25uZWN0ZWQgcG9pbnRpbmcgZGV2aWNlcyAoc2VyaWFsIG1pY2UpLgorLlRQCisuQlIgUFBQICggMyApCitQb2ludCB0byBQb2ludCBQcm90b2NvbCAoUFBQKSBwcm9jZXNzb3IKK2ZvciB0cmFuc21pdHRpbmcgbmV0d29yayBwYWNrZXRzIG92ZXIgc2VyaWFsIGxpbmVzLgorLlRQCisuQlIgU1RSSVAgKCA0ICkKKy5UUAorLkJSIEFYMjUgKCA1ICkKKy5UUAorLkJSIFgyNSAoIDYgKQorTGluZSBkcml2ZXIgZm9yIHRyYW5zbWl0dGluZyBYLjI1IHBhY2tldHMgb3ZlciBhc3luY2hyb25vdXMgc2VyaWFsIGxpbmVzLgorLlRQCisuQlIgNlBBQ0sgKCA3ICkKKy5UUAorLkJSIFIzOTY0ICggOSApCitEcml2ZXIgZm9yIFNpbWF0aWMgUjM5NjQgbW9kdWxlLgorLlRQCisuQlIgSVJEQSAoIDExICkKK0xpbnV4IElyRGEgKGluZnJhcmVkIGRhdGEgdHJhbnNtaXNzaW9uKSBkcml2ZXIgLQorc2VlIGh0dHA6Ly9pcmRhLnNvdXJjZWZvcmdlLm5ldC8KKy5UUAorLkJSIEhETEMgKCAxMyApCitTeW5jaHJvbm91cyBIRExDIGRyaXZlci4KKy5UUAorLkJSIFNZTkNfUFBQICggMTQgKQorU3luY2hyb25vdXMgUFBQIGRyaXZlci4KKy5UUAorLkJSIEhDSSAoIDE1ICkKK0JsdWV0b290aCBIQ0kgVUFSVCBkcml2ZXIuCisuVFAKKy5CUiBHSUdBU0VUX00xMDEgKCAxNiApCitEcml2ZXIgZm9yIFNpZW1lbnMgR2lnYXNldCBNMTAxIHNlcmlhbCBERUNUIGFkYXB0ZXIuCisuVFAKKy5CUiBQUFMgKCAxOCApCitEcml2ZXIgZm9yIHNlcmlhbCBsaW5lIFB1bHNlIFBlciBTZWNvbmQgKFBQUykgc291cmNlLgorLlRQCisuQlIgR1NNMDcxMCAoIDIxICkKK0RyaXZlciBmb3IgR1NNIDA3LjEwIG11bHRpcGxleGluZyBwcm90b2NvbCBtb2RlbSAoQ01VWCkuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC0xICwgIiBcLVwtb25lc3RvcGJpdCIKK1NldCB0aGUgbnVtYmVyIG9mIHN0b3AgYml0cyBvZiB0aGUgc2VyaWFsIGxpbmUgdG8gb25lLgorLlRQCisuQlIgXC0yICwgIiBcLVwtdHdvc3RvcGJpdHMiCitTZXQgdGhlIG51bWJlciBvZiBzdG9wIGJpdHMgb2YgdGhlIHNlcmlhbCBsaW5lIHRvIHR3by4KKy5UUAorLkJSIFwtNyAsICIgXC1cLXNldmVuYml0cyIKK1NldCB0aGUgY2hhcmFjdGVyIHNpemUgb2YgdGhlIHNlcmlhbCBsaW5lIHRvIDcgYml0cy4KKy5UUAorLkJSIFwtOCAsICIgXC1cLWVpZ2h0Yml0cyIKK1NldCB0aGUgY2hhcmFjdGVyIHNpemUgb2YgdGhlIHNlcmlhbCBsaW5lIHRvIDggYml0cy4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWRlYnVnIgorS2VlcAorLkIgbGRhdHRhY2gKK2luIHRoZSBmb3JlZ3JvdW5kIHNvIHRoYXQgaXQgY2FuIGJlIGludGVycnVwdGVkIG9yIGRlYnVnZ2VkLAorYW5kIHRvIHByaW50IHZlcmJvc2UgbWVzc2FnZXMgYWJvdXQgaXRzIHByb2dyZXNzIHRvIHN0YW5kYXJkIGVycm9yIG91dHB1dC4KKy5UUAorLkJSIFwtZSAsICIgXC1cLWV2ZW5wYXJpdHkiCitTZXQgdGhlIHBhcml0eSBvZiB0aGUgc2VyaWFsIGxpbmUgdG8gZXZlbi4KKy5UUAorLkJSIC1pICwgIiAtLWlmbGFnICIgWyBcLSBdIFxmSXZhbHVlXGZSLi4uCitTZXQgdGhlIHNwZWNpZmllZCBiaXRzIGluIHRoZSBjX2lmbGFnIHdvcmQgb2YgdGhlIHNlcmlhbCBsaW5lLgorVGhlIGdpdmVuIFxmSXZhbHVlXGZQIG1heSBiZSBhIG51bWJlciBvciBhIHN5bWJvbGljIG5hbWUuCitJZiBcZkl2YWx1ZVxmUCBpcyBwcmVmaXhlZCBieSBhIG1pbnVzIHNpZ24sIHRoZSBzcGVjaWZpZWQgYml0cyBhcmUgY2xlYXJlZAoraW5zdGVhZC4gIFNldmVyYWwgY29tbWEtc2VwYXJhdGVkIHZhbHVlcyBtYXkgYmUgZ2l2ZW4gaW4gb3JkZXIgdG8KK3NldCBhbmQgY2xlYXIgbXVsdGlwbGUgYml0cy4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vcGFyaXR5IgorU2V0IHRoZSBwYXJpdHkgb2YgdGhlIHNlcmlhbCBsaW5lIHRvIG5vbmUuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vZGRwYXJpdHkiCitTZXQgdGhlIHBhcml0eSBvZiB0aGUgc2VyaWFsIGxpbmUgdG8gb2RkLgorLlRQCisuQlIgIFwtcyAsICIgXC1cLXNwZWVkICIgXGZJdmFsdWUKK1NldCB0aGUgc3BlZWQgKHRoZSBiYXVkIHJhdGUpIG9mIHRoZSBzZXJpYWwgbGluZSB0byB0aGUgc3BlY2lmaWVkIFxmSXZhbHVlXGZSLgorLlRQCisuQlIgXC1jICwgIiBcLVwtaW50cm9cLWNvbW1hbmQgIiBcZklzdHJpbmcKK0RlZmluZSBhbiBpbnRybyBjb21tYW5kIHRoYXQgaXMgc2VudCB0aHJvdWdoIHRoZSBzZXJpYWwgbGluZSBiZWZvcmUgdGhlIGludm9jYXRpb24KK29mIGxkYXR0YWNoLiBFLmcuIGluIGNvbmp1bmN0aW9uIHdpdGggbGluZSBkaXNjaXBsaW5lIEdTTTA3MTAsIHRoZSBjb21tYW5kCitcJ0FUK0NNVVg9MFxcclwnIGlzIGNvbW1vbmx5IHN1aXRhYmxlIHRvIHN3aXRjaCB0aGUgbW9kZW0gaW50byB0aGUgQ01VWCBtb2RlLgorLlRQCisuQlIgXC1wICwgIiBcLVwtcGF1c2UgIiAgXGZJdmFsdWUKK1NsZWVwIGZvciBcZkl2YWx1ZVxmUiBzZWNvbmRzIGJlZm9yZSB0aGUgaW52b2NhdGlvbiBvZiBsZGF0dGFjaC4gRGVmYXVsdCBpcyBvbmUgc2Vjb25kLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCAiU0VFIEFMU08iCisuQlIgaW5wdXRhdHRhY2ggKDEpLAorLkJSIHR0eXMgKDQpCisuU0ggQVVUSE9SCisubmYKK1RpbG1hbiBTY2htaWR0ICh0aWxtYW5AaW1hcC5jYykKKy5maQorLlNIIEFWQUlMQUJJTElUWQorVGhlIGxkYXR0YWNoIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlCithbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2xkYXR0YWNoLmMgYi9zeXMtdXRpbHMvbGRhdHRhY2guYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzNkNjg1Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xkYXR0YWNoLmMKQEAgLTAsMCArMSw0ODkgQEAKKy8qIGxpbmUgZGlzY2lwbGluZSBsb2FkaW5nIGRhZW1vbgorICogb3BlbiBhIHNlcmlhbCBkZXZpY2UgYW5kIGF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSBvbiBpdAorICoKKyAqIFVzYWdlOgorICoJbGRhdHRhY2ggR0lHQVNFVF9NMTAxIC9kZXYvdHR5UzAKKyAqCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPGxpbnV4L2lmLmg+CisKKyNpbmNsdWRlIDxsaW51eC90dHkuaD4JCS8qIGZvciBOX0dTTTA3MTAgKi8KKworI2lmZGVmIExJTlVYX0dTTU1VWF9ICisjIGluY2x1ZGUgPGxpbnV4L2dzbW11eC5oPgkvKiBBZGQgYnkgZ3Vvd2VueHVlICovCisjZWxzZQorc3RydWN0IGdzbV9jb25maWcKK3sKKwl1bnNpZ25lZCBpbnQgYWRhcHRpb247CisJdW5zaWduZWQgaW50IGVuY2Fwc3VsYXRpb247CisJdW5zaWduZWQgaW50IGluaXRpYXRvcjsKKwl1bnNpZ25lZCBpbnQgdDE7CisJdW5zaWduZWQgaW50IHQyOworCXVuc2lnbmVkIGludCB0MzsKKwl1bnNpZ25lZCBpbnQgbjI7CisJdW5zaWduZWQgaW50IG1ydTsKKwl1bnNpZ25lZCBpbnQgbXR1OworCXVuc2lnbmVkIGludCBrOworCXVuc2lnbmVkIGludCBpOworCXVuc2lnbmVkIGludCB1bnVzZWRbOF07CQkvKiBQYWRkaW5nIGZvciBleHBhbnNpb24gd2l0aG91dAorCQkJCQkgICBicmVha2luZyBzdHVmZiAqLworfTsKKyMgZGVmaW5lIEdTTUlPQ19HRVRDT05GCQlfSU9SKCdHJywgMCwgc3RydWN0IGdzbV9jb25maWcpCisjIGRlZmluZSBHU01JT0NfU0VUQ09ORgkJX0lPVygnRycsIDEsIHN0cnVjdCBnc21fY29uZmlnKQorI2VuZGlmCisKKyNpZm5kZWYgTl9HSUdBU0VUX00xMDEKKyMgZGVmaW5lIE5fR0lHQVNFVF9NMTAxIDE2CisjZW5kaWYKKworI2lmbmRlZiBOX1BQUworIyBkZWZpbmUgTl9QUFMgMTgKKyNlbmRpZgorCisjaWZuZGVmIE5fR1NNMDcxMAorIyBkZWZpbmUgTl9HU00wNzEwIDIxCisjZW5kaWYKKworI2RlZmluZSBNQVhJTlRST1BBUk1MRU4gMzIKKworLyogYXR0YWNoIGEgbGluZSBkaXNjaXBsaW5lIGlvY3RsICovCisjaWZuZGVmIFRJT0NTRVRECisjIGRlZmluZSBUSU9DU0VURCAgIDB4NTQyMworI2VuZGlmCisKK3N0YXRpYyBpbnQgZGVidWcgPSAwOworCitzdHJ1Y3QgbGRfdGFibGUgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJaW50IHZhbHVlOworfTsKKworLyogY3VycmVudGx5IHN1cHBvcnRlZCBsaW5lIGRpc2NpcGxpbmVzLCBwbHVzIHNvbWUgYWxpYXNlcyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBsZF90YWJsZSBsZF9kaXNjc1tdID0geworCXsgIlRUWSIsCQlOX1RUWSB9LAorCXsgIlNMSVAiLAkJTl9TTElQIH0sCisJeyAiTU9VU0UiLAkJTl9NT1VTRSB9LAorCXsgIlBQUCIsCQlOX1BQUCB9LAorCXsgIlNUUklQIiwJCU5fU1RSSVAgfSwKKwl7ICJBWDI1IiwJCU5fQVgyNSB9LAorCXsgIlgyNSIsCQlOX1gyNSB9LAorCXsgIjZQQUNLIiwJCU5fNlBBQ0sgfSwKKwl7ICJSMzk2NCIsCQlOX1IzOTY0IH0sCisJeyAiSVJEQSIsCQlOX0lSREEgfSwKKwl7ICJIRExDIiwJCU5fSERMQyB9LAorCXsgIlNZTkNfUFBQIiwJCU5fU1lOQ19QUFAgfSwKKwl7ICJTWU5DUFBQIiwJCU5fU1lOQ19QUFAgfSwKKwl7ICJIQ0kiLAkJTl9IQ0kgfSwKKwl7ICJHSUdBU0VUX00xMDEiLAlOX0dJR0FTRVRfTTEwMSB9LAorCXsgIk0xMDEiLAkJTl9HSUdBU0VUX00xMDEgfSwKKwl7ICJHSUdBU0VUIiwJCU5fR0lHQVNFVF9NMTAxIH0sCisJeyAiUFBTIiwJCU5fUFBTIH0sCisJeyAiR1NNMDcxMCIsCQlOX0dTTTA3MTB9LAorCXsgTlVMTCwJMCB9Cit9OworCisvKiBrbm93biBjX2lmbGFnIG5hbWVzICovCitzdGF0aWMgY29uc3Qgc3RydWN0IGxkX3RhYmxlIGxkX2lmbGFnc1tdID0KK3sKKwl7ICJJR05CUksiLAlJR05CUksgfSwKKwl7ICJCUktJTlQiLAlCUktJTlQgfSwKKwl7ICJJR05QQVIiLAlJR05QQVIgfSwKKwl7ICJQQVJNUksiLAlQQVJNUksgfSwKKwl7ICJJTlBDSyIsCUlOUENLIH0sCisJeyAiSVNUUklQIiwJSVNUUklQIH0sCisJeyAiSU5MQ1IiLAlJTkxDUiB9LAorCXsgIklHTkNSIiwJSUdOQ1IgfSwKKwl7ICJJQ1JOTCIsCUlDUk5MIH0sCisJeyAiSVVDTEMiLAlJVUNMQyB9LAorCXsgIklYT04iLAlJWE9OIH0sCisJeyAiSVhBTlkiLAlJWEFOWSB9LAorCXsgIklYT0ZGIiwJSVhPRkYgfSwKKwl7ICJJTUFYQkVMIiwJSU1BWEJFTCB9LAorCXsgIklVVEY4IiwJSVVURjggfSwKKwl7IE5VTEwsCQkwIH0KK307CisKK3N0YXRpYyB2b2lkIGRiZyhjaGFyICpmbXQsIC4uLikKK3sKKwl2YV9saXN0IGFyZ3M7CisKKwlpZiAoZGVidWcgPT0gMCkKKwkJcmV0dXJuOworCWZmbHVzaChOVUxMKTsKKwl2YV9zdGFydChhcmdzLCBmbXQpOworI2lmZGVmIEhBVkVfVldBUk5YCisJdndhcm54KGZtdCwgYXJncyk7CisjZWxzZQorCWZwcmludGYoc3RkZXJyLCAiJXM6ICIsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwl2ZnByaW50ZihzdGRlcnIsIGZtdCwgYXJncyk7CisJZnByaW50ZihzdGRlcnIsICJcbiIpOworI2VuZGlmCisJdmFfZW5kKGFyZ3MpOworCWZmbHVzaChOVUxMKTsKKwlyZXR1cm47Cit9CisKK3N0YXRpYyBpbnQgbG9va3VwX3RhYmxlKGNvbnN0IHN0cnVjdCBsZF90YWJsZSAqdGFiLCBjb25zdCBjaGFyICpzdHIpCit7CisJY29uc3Qgc3RydWN0IGxkX3RhYmxlICp0OworCisJZm9yICh0ID0gdGFiOyB0ICYmIHQtPm5hbWU7IHQrKykKKwkJaWYgKCFzdHJjYXNlY21wKHQtPm5hbWUsIHN0cikpCisJCQlyZXR1cm4gdC0+dmFsdWU7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCBwcmludF90YWJsZShGSUxFICogb3V0LCBjb25zdCBzdHJ1Y3QgbGRfdGFibGUgKnRhYikKK3sKKwljb25zdCBzdHJ1Y3QgbGRfdGFibGUgKnQ7CisJaW50IGk7CisKKwlmb3IgKHQgPSB0YWIsIGkgPSAxOyB0ICYmIHQtPm5hbWU7IHQrKywgaSsrKSB7CisJCWZwcmludGYob3V0LCAiICAlLTEycyIsIHQtPm5hbWUpOworCQlpZiAoIShpICUgNSkpCisJCQlmcHV0YygnXG4nLCBvdXQpOworCX0KK30KKworc3RhdGljIGludCBwYXJzZV9pZmxhZyhjaGFyICpzdHIsIGludCAqc2V0X2lmbGFnLCBpbnQgKmNscl9pZmxhZykKK3sKKwlpbnQgaWZsYWc7CisJY2hhciAqczsKKworCWZvciAocyA9IHN0cnRvayhzdHIsICIsIik7IHMgIT0gTlVMTDsgcyA9IHN0cnRvayhOVUxMLCAiLCIpKSB7CisJCWlmICgqcyA9PSAnLScpCisJCQlzKys7CisJCWlmICgoaWZsYWcgPSBsb29rdXBfdGFibGUobGRfaWZsYWdzLCBzKSkgPCAwKQorCQkJaWZsYWcgPSBzdHJ0b3MzMl9vcl9lcnIocywgXygiaW52YWxpZCBpZmxhZyIpKTsKKwkJaWYgKHMgPiBzdHIgJiYgKihzIC0gMSkgPT0gJy0nKQorCQkJKmNscl9pZmxhZyB8PSBpZmxhZzsKKwkJZWxzZQorCQkJKnNldF9pZmxhZyB8PSBpZmxhZzsKKwl9CisJZGJnKCJpZmxhZyAoc2V0L2NsZWFyKTogJWQvJWQiLCAqc2V0X2lmbGFnLCAqY2xyX2lmbGFnKTsKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSA8bGRpc2M+IDxkZXZpY2U+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkF0dGFjaCBhIGxpbmUgZGlzY2lwbGluZSB0byBhIHNlcmlhbCBsaW5lLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICBwcmludCB2ZXJib3NlIG1lc3NhZ2VzIHRvIHN0ZGVyclxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNwZWVkIDx2YWx1ZT4gICAgIHNldCBzZXJpYWwgbGluZSBzcGVlZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLWludHJvLWNvbW1hbmQgPHN0cmluZz4gaW50cm8gc2VudCBiZWZvcmUgbGRhdHRhY2hcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1wYXVzZSA8c2Vjb25kcz4gICBwYXVzZSBiZXR3ZWVuIGludHJvIGFuZCBsZGF0dGFjaFxuIiksIG91dCk7CisJZnB1dHMoXygiIC03LCAtLXNldmVuYml0cyAgICAgICAgIHNldCBjaGFyYWN0ZXIgc2l6ZSB0byA3IGJpdHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtOCwgLS1laWdodGJpdHMgICAgICAgICBzZXQgY2hhcmFjdGVyIHNpemUgdG8gOCBiaXRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9wYXJpdHkgICAgICAgICAgc2V0IHBhcml0eSB0byBub25lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWUsIC0tZXZlbnBhcml0eSAgICAgICAgc2V0IHBhcml0eSB0byBldmVuXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb2RkcGFyaXR5ICAgICAgICAgc2V0IHBhcml0eSB0byBvZGRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtMSwgLS1vbmVzdG9wYml0ICAgICAgICBzZXQgc3RvcCBiaXRzIHRvIG9uZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0yLCAtLXR3b3N0b3BiaXRzICAgICAgIHNldCBzdG9wIGJpdHMgdG8gdHdvXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taWZsYWcgWy1dPGlmbGFnPiAgc2V0IGlucHV0IG1vZGUgZmxhZ1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNSkpOworCisJZnB1dHMoXygiXG5Lbm93biA8bGRpc2M+IG5hbWVzOlxuIiksIG91dCk7CisJcHJpbnRfdGFibGUob3V0LCBsZF9kaXNjcyk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCisJZnB1dHMoXygiXG5Lbm93biA8aWZsYWc+IG5hbWVzOlxuIiksIG91dCk7CisJcHJpbnRfdGFibGUob3V0LCBsZF9pZmxhZ3MpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJsZGF0dGFjaCg4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgbXlfY2ZzZXRzcGVlZChzdHJ1Y3QgdGVybWlvcyAqdHMsIGludCBzcGVlZCkKK3sKKwkvKiBTdGFuZGFyZCBzcGVlZHMKKwkgKiAtLSBjZnNldHNwZWVkKCkgaXMgYWJsZSB0byB0cmFuc2xhdGUgbnVtYmVyIHRvIEJ4eHggY29uc3RhbnRzCisJICovCisJaWYgKGNmc2V0c3BlZWQodHMsIHNwZWVkKSA9PSAwKQorCQlyZXR1cm4gMDsKKworCS8qIE5vbnN0YW5kYXJkIHNwZWVkcworCSAqIC0tIHdlIGhhdmUgdG8gYnlwYXNzIGdsaWJjIGFuZCBzZXQgdGhlIHNwZWVkIG1hbnVhbGx5IChiZWNhdXNlIGdsaWJjCisJICogICAgY2hlY2tzIGZvciBzcGVlZCBhbmQgc3VwcG9ydHMgQnh4eCBiaXQgcmF0ZXMgb25seSkuLi4KKwkgKi8KKyNpZmRlZiBfSEFWRV9TVFJVQ1RfVEVSTUlPU19DX0lTUEVFRAorIyBkZWZpbmUgQk9USEVSIDAwMTAwMDAJCS8qIG5vbiBzdGFuZGFyZCByYXRlICovCisJZGJnKCJ1c2luZyBub24tc3RhbmRhcmQgc3BlZWRzIik7CisJdHMtPmNfb3NwZWVkID0gdHMtPmNfaXNwZWVkID0gc3BlZWQ7CisJdHMtPmNfY2ZsYWcgJj0gfkNCQVVEOworCXRzLT5jX2NmbGFnIHw9IEJPVEhFUjsKKwlyZXR1cm4gMDsKKyNlbHNlCisJcmV0dXJuIC0xOworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkIGhhbmRsZXIoaW50IHMpCit7CisJZGJnKCJnb3QgU0lHICVpIC0+IGV4aXRpbmciLCBzKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIGdzbTA3MTBfc2V0X2NvbmYoaW50IHR0eV9mZCkKK3sKKwlzdHJ1Y3QgZ3NtX2NvbmZpZyBjOworCisJLyogQWRkIGJ5IGd1b3dlbnh1ZSAqLworCS8qICBnZXQgbl9nc20gY29uZmlndXJhdGlvbiAqLworCWlvY3RsKHR0eV9mZCwgR1NNSU9DX0dFVENPTkYsICZjKTsKKwkvKiAgd2UgYXJlIGluaXRpYXRvciBhbmQgbmVlZCBlbmNvZGluZyAwIChiYXNpYykgKi8KKwljLmluaXRpYXRvciA9IDE7CisJYy5lbmNhcHN1bGF0aW9uID0gMDsKKwkvKiAgb3VyIG1vZGVtIGRlZmF1bHRzIHRvIGEgbWF4aW11bSBzaXplIG9mIDEyNyBieXRlcyAqLworCWMubXJ1ID0gMTI3OworCWMubXR1ID0gMTI3OworCS8qICBzZXQgdGhlIG5ldyBjb25maWd1cmF0aW9uICovCisJaW9jdGwodHR5X2ZkLCBHU01JT0NfU0VUQ09ORiwgJmMpOworCS8qIEFkZCBieSBndW93ZW54dWUgZW5kKi8KK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCB0dHlfZmQ7CisJc3RydWN0IHRlcm1pb3MgdHM7CisJaW50IHNwZWVkID0gMCwgYml0cyA9ICctJywgcGFyaXR5ID0gJy0nLCBzdG9wID0gJy0nOworCWludCBzZXRfaWZsYWcgPSAwLCBjbHJfaWZsYWcgPSAwOworCWludCBsZGlzYzsKKwlpbnQgb3B0YzsKKwljaGFyICpkZXY7CisJaW50IGludHJvcGF1c2UgPSAxOworCWNoYXIgKmludHJvcGFybSA9IE5VTEw7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBvcHR0YmxbXSA9IHsKKwkJeyJzcGVlZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7InNldmVuYml0cyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnNyd9LAorCQl7ImVpZ2h0Yml0cyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnOCd9LAorCQl7Im5vcGFyaXR5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsiZXZlbnBhcml0eSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZSd9LAorCQl7Im9kZHBhcml0eSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnbyd9LAorCQl7Im9uZXN0b3BiaXQiLCBub19hcmd1bWVudCwgTlVMTCwgJzEnfSwKKwkJeyJ0d29zdG9wYml0cyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnMid9LAorCQl7ImlmbGFnIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdpJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJkZWJ1ZyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZCd9LAorCSAgICAgICAgeyJpbnRyby1jb21tYW5kIiwgbm9fYXJndW1lbnQsIE5VTEwsICdjJ30sCisJICAgICAgICB7InBhdXNlIiwgbm9fYXJndW1lbnQsIE5VTEwsICdwJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzaWduYWwoU0lHS0lMTCwgaGFuZGxlcik7CisJc2lnbmFsKFNJR0lOVCwgaGFuZGxlcik7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJLyogcGFyc2Ugb3B0aW9ucyAqLworCWlmIChhcmdjID09IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJiYWQgdXNhZ2UiKSk7CisKKwl3aGlsZSAoKG9wdGMgPQorCQlnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiZGhWNzhuZW8xMnM6aTpjOnA6Iiwgb3B0dGJsLAorCQkJICAgIE5VTEwpKSA+PSAwKSB7CisJCXN3aXRjaCAob3B0YykgeworCQljYXNlICdkJzoKKwkJCWRlYnVnID0gMTsKKwkJCWJyZWFrOworCQljYXNlICcxJzoKKwkJY2FzZSAnMic6CisJCQlzdG9wID0gb3B0YzsKKwkJCWJyZWFrOworCQljYXNlICc3JzoKKwkJY2FzZSAnOCc6CisJCQliaXRzID0gb3B0YzsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJY2FzZSAnZSc6CisJCWNhc2UgJ28nOgorCQkJcGFyaXR5ID0gb3B0YzsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNwZWVkID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBzcGVlZCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCWludHJvcGF1c2UgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHBhdXNlIGFyZ3VtZW50IikpOworCQkJaWYgKGludHJvcGF1c2UgPiAxMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgImludmFsaWQgcGF1c2U6ICVzIiwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCWludHJvcGFybSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCXBhcnNlX2lmbGFnKG9wdGFyZywgJnNldF9pZmxhZywgJmNscl9pZmxhZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChhcmdjIC0gb3B0aW5kICE9IDIpIHsKKwkJd2FybngoXygibm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisJLyogcGFyc2UgbGluZSBkaXNjaXBsaW5lIHNwZWNpZmljYXRpb24gKi8KKwlsZGlzYyA9IGxvb2t1cF90YWJsZShsZF9kaXNjcywgYXJndltvcHRpbmRdKTsKKwlpZiAobGRpc2MgPCAwKQorCQlsZGlzYyA9IHN0cnRvczMyX29yX2Vycihhcmd2W29wdGluZF0sIF8oImludmFsaWQgbGluZSBkaXNjaXBsaW5lIGFyZ3VtZW50IikpOworCisJLyogbGRpc2Mgc3BlY2lmaWMgb3B0aW9uIHNldHRpbmdzICovCisJaWYgKGxkaXNjID09IE5fR0lHQVNFVF9NMTAxKSB7CisJCS8qIGRldmljZSBzcGVjaWZpYyBkZWZhdWx0cyBmb3IgbGluZSBzcGVlZCBhbmQgZGF0YSBmb3JtYXQgKi8KKwkJaWYgKHNwZWVkID09IDApCisJCQlzcGVlZCA9IDExNTIwMDsKKwkJaWYgKGJpdHMgPT0gJy0nKQorCQkJYml0cyA9ICc4JzsKKwkJaWYgKHBhcml0eSA9PSAnLScpCisJCQlwYXJpdHkgPSAnbic7CisJCWlmIChzdG9wID09ICctJykKKwkJCXN0b3AgPSAnMSc7CisJfQorCisJLyogb3BlbiBkZXZpY2UgKi8KKwlkZXYgPSBhcmd2W29wdGluZCArIDFdOworCWlmICgodHR5X2ZkID0gb3BlbihkZXYsIE9fUkRXUiB8IE9fTk9DVFRZKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXYpOworCWlmICghaXNhdHR5KHR0eV9mZCkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlcyBpcyBub3QgYSBzZXJpYWwgbGluZSIpLCBkZXYpOworCisJZGJnKCJvcGVuZWQgJXMiLCBkZXYpOworCisJLyogc2V0IGxpbmUgc3BlZWQgYW5kIGZvcm1hdCAqLworCWlmICh0Y2dldGF0dHIodHR5X2ZkLCAmdHMpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJICAgIF8oImNhbm5vdCBnZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiKSwgZGV2KTsKKwljZm1ha2VyYXcoJnRzKTsKKwlpZiAoc3BlZWQgJiYgbXlfY2ZzZXRzcGVlZCgmdHMsIHNwZWVkKSA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJzcGVlZCAlZCB1bnN1cHBvcnRlZCIpLCBzcGVlZCk7CisKKwlzd2l0Y2ggKHN0b3ApIHsKKwljYXNlICcxJzoKKwkJdHMuY19jZmxhZyAmPSB+Q1NUT1BCOworCQlicmVhazsKKwljYXNlICcyJzoKKwkJdHMuY19jZmxhZyB8PSBDU1RPUEI7CisJCWJyZWFrOworCWNhc2UgJy0nOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKwlzd2l0Y2ggKGJpdHMpIHsKKwljYXNlICc3JzoKKwkJdHMuY19jZmxhZyA9ICh0cy5jX2NmbGFnICYgfkNTSVpFKSB8IENTNzsKKwkJYnJlYWs7CisJY2FzZSAnOCc6CisJCXRzLmNfY2ZsYWcgPSAodHMuY19jZmxhZyAmIH5DU0laRSkgfCBDUzg7CisJCWJyZWFrOworCWNhc2UgJy0nOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKwlzd2l0Y2ggKHBhcml0eSkgeworCWNhc2UgJ24nOgorCQl0cy5jX2NmbGFnICY9IH4oUEFSRU5CIHwgUEFST0REKTsKKwkJYnJlYWs7CisJY2FzZSAnZSc6CisJCXRzLmNfY2ZsYWcgfD0gUEFSRU5COworCQl0cy5jX2NmbGFnICY9IH5QQVJPREQ7CisJCWJyZWFrOworCWNhc2UgJ28nOgorCQl0cy5jX2NmbGFnIHw9IChQQVJFTkIgfCBQQVJPREQpOworCQlicmVhazsKKwljYXNlICctJzoKKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsKKwl9CisKKwl0cy5jX2NmbGFnIHw9IENSRUFEOwkvKiBqdXN0IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUgKi8KKwl0cy5jX2lmbGFnIHw9IHNldF9pZmxhZzsKKwl0cy5jX2lmbGFnICY9IH5jbHJfaWZsYWc7CisKKwlpZiAodGNzZXRhdHRyKHR0eV9mZCwgVENTQUZMVVNILCAmdHMpIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJICAgIF8oImNhbm5vdCBzZXQgdGVybWluYWwgYXR0cmlidXRlcyBmb3IgJXMiKSwgZGV2KTsKKworCWRiZygic2V0IHRvIHJhdyAlZCAlYyVjJWM6IGNmbGFnPTB4JXgiLAorCSAgICBzcGVlZCwgYml0cywgcGFyaXR5LCBzdG9wLCB0cy5jX2NmbGFnKTsKKworCWlmIChpbnRyb3Bhcm0gJiYgKmludHJvcGFybSkKKwl7CisJCWRiZygiaW50cm8gY29tbWFuZCBpcyAnJXMnIiwgaW50cm9wYXJtKTsKKwkJaWYgKHdyaXRlX2FsbCh0dHlfZmQsIGludHJvcGFybSwgc3RybGVuKGludHJvcGFybSkpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJICAgIF8oImNhbm5vdCB3cml0ZSBpbnRybyBjb21tYW5kIHRvICVzIiksIGRldik7CisKKwkJaWYgKGludHJvcGF1c2UpIHsKKwkJCWRiZygid2FpdGluZyBmb3IgJWQgc2Vjb25kcyIsIGludHJvcGF1c2UpOworCQkJc2xlZXAoaW50cm9wYXVzZSk7CisJCX0KKwl9CisKKwkvKiBBdHRhY2ggdGhlIGxpbmUgZGlzY2lwbGluZS4gKi8KKwlpZiAoaW9jdGwodHR5X2ZkLCBUSU9DU0VURCwgJmxkaXNjKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBzZXQgbGluZSBkaXNjaXBsaW5lIikpOworCisJZGJnKCJsaW5lIGRpc2NpcGxpbmUgc2V0IHRvICVkIiwgbGRpc2MpOworCisJLyogbGRpc2Mgc3BlY2lmaWMgcG9zdC1hdHRhY2ggYWN0aW9ucyAqLworCWlmIChsZGlzYyA9PSBOX0dTTTA3MTApCisJCWdzbTA3MTBfc2V0X2NvbmYodHR5X2ZkKTsKKworCS8qIEdvIGludG8gYmFja2dyb3VuZCBpZiBub3QgaW4gZGVidWcgbW9kZS4gKi8KKwlpZiAoIWRlYnVnICYmIGRhZW1vbigwLCAwKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBkYWVtb25pemUiKSk7CisKKwkvKiBTbGVlcCB0byBrZWVwIHRoZSBsaW5lIGRpc2NpcGxpbmUgYWN0aXZlLiAqLworCXBhdXNlKCk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbG9zZXR1cC44IGIvc3lzLXV0aWxzL2xvc2V0dXAuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2UzOGY0Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xvc2V0dXAuOApAQCAtMCwwICsxLDIwNiBAQAorLlRIIExPU0VUVVAgOCAiTm92ZW1iZXIgMjAxNSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorbG9zZXR1cCBcLSBzZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzCisuU0ggU1lOT1BTSVMKKy5hZCBsCitHZXQgaW5mbzoKKy5zcAorLmluICs1CisuQiBsb3NldHVwCitbXGZJbG9vcGRldlxmUF0KKy5zcAorLkIgbG9zZXR1cCAtbAorLlJCIFsgXC1hIF0KKy5zcAorLkIgbG9zZXR1cCAtagorLkkgZmlsZQorLlJCIFsgXC1vCisuSVIgb2Zmc2V0IF0KKy5zcAorLmluIC01CitEZXRhY2ggYSBsb29wIGRldmljZToKKy5zcAorLmluICs1CisuQiAibG9zZXR1cCBcLWQiCisuSVIgbG9vcGRldiAuLi4KKy5zcAorLmluIC01CitEZXRhY2ggYWxsIGFzc29jaWF0ZWQgbG9vcCBkZXZpY2VzOgorLnNwCisuaW4gKzUKKy5CICJsb3NldHVwIFwtRCIKKy5zcAorLmluIC01CitTZXQgdXAgYSBsb29wIGRldmljZToKKy5zcAorLmluICs1CisuQiBsb3NldHVwCisuUkIgWyBcLW8KKy5JUiBvZmZzZXQgXQorLlJCIFsgXC1cLXNpemVsaW1pdAorLklSIHNpemUgXQorLlJCIFsgXC1cLXNlY3Rvclwtc2l6ZQorLklSIHNpemUgXQorLmluICs4CisuUkIgWyBcLVByIF0KKy5SQiBbIFwtXC1zaG93IF0gICIgXC1mIiB8IFxmSWxvb3BkZXZcZlAKKy5JIGZpbGUKKy5zcAorLmluIC0xMworUmVzaXplIGEgbG9vcCBkZXZpY2U6Cisuc3AKKy5pbiArNQorLkIgImxvc2V0dXAgXC1jIgorLkkgbG9vcGRldgorLmluIC01CisuYWQgYgorLlNIIERFU0NSSVBUSU9OCisuQiBsb3NldHVwCitpcyB1c2VkIHRvIGFzc29jaWF0ZSBsb29wIGRldmljZXMgd2l0aCByZWd1bGFyIGZpbGVzIG9yIGJsb2NrIGRldmljZXMsCit0byBkZXRhY2ggbG9vcCBkZXZpY2VzLCBhbmQgdG8gcXVlcnkgdGhlIHN0YXR1cyBvZiBhIGxvb3AgZGV2aWNlLiAgSWYgb25seSB0aGUKK1xmSWxvb3BkZXZcZlAgYXJndW1lbnQgaXMgZ2l2ZW4sIHRoZSBzdGF0dXMgb2YgdGhlIGNvcnJlc3BvbmRpbmcgbG9vcAorZGV2aWNlIGlzIHNob3duLiAgSWYgbm8gb3B0aW9uIGlzIGdpdmVuLCBhbGwgbG9vcCBkZXZpY2VzIGFyZSBzaG93bi4KKy5zcAorTm90ZSB0aGF0IHRoZSBvbGQgb3V0cHV0IGZvcm1hdCAoaS5lLiwgXGZCbG9zZXR1cCAtYVxmUikgd2l0aCBjb21tYS1kZWxpbWl0ZWQKK3N0cmluZ3MgaXMgZGVwcmVjYXRlZCBpbiBmYXZvdXIgb2YgdGhlIFxmQi0tbGlzdFxmUiBvdXRwdXQgZm9ybWF0LgorLnNwCitJdCdzIHBvc3NpYmxlIHRvIGNyZWF0ZSBtb3JlIGluZGVwZW5kZW50IGxvb3AgZGV2aWNlcyBmb3IgdGhlIHNhbWUgYmFja2luZworZmlsZS4KKy5CIFRoaXMgc2V0dXAgbWF5IGJlIGRhbmdlcm91cywgY2FuIGNhdXNlIGRhdGEgbG9zcywgY29ycnVwdGlvbiBhbmQgb3ZlcndyaXRlcy4KK1VzZSBcZkJcLVwtbm9vdmVybGFwXGZSIHdpdGggXGZCXC1cLWZpbmRcZlIgZHVyaW5nIHNldHVwIHRvIGF2b2lkIHRoaXMgcHJvYmxlbS4KKworLlNIIE9QVElPTlMKK1RoZSBcZklzaXplXGZSIGFuZCBcZklvZmZzZXRcZlIKK2FyZ3VtZW50cyBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlIHN1ZmZpeGVzIEtpQiAoPTEwMjQpLAorTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCICh0aGUgImlCIiBpcworb3B0aW9uYWwsIGUuZy4sICJLIiBoYXMgdGhlIHNhbWUgbWVhbmluZyBhcyAiS2lCIikgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKworLlRQCisuQlIgXC1hICwgIiBcLVwtYWxsIgorU2hvdyB0aGUgc3RhdHVzIG9mIGFsbCBsb29wIGRldmljZXMuICBOb3RlIHRoYXQgbm90IGFsbCBpbmZvcm1hdGlvbiBpcyBhY2Nlc3NpYmxlCitmb3Igbm9uLXJvb3QgdXNlcnMuICBTZWUgYWxzbyBcZkJcLVwtbGlzdFxmUi4gIFRoZSBvbGQgb3V0cHV0IGZvcm1hdCAoYXMgcHJpbnRlZAord2l0aG91dCBcZkItLWxpc3QpXGZSIGlzIGRlcHJlY2F0ZWQuCisuVFAKKy5CUiBcLWQgLCAiIFwtXC1kZXRhY2ggIiBcZklsb29wZGV2XGZSLi4uCitEZXRhY2ggdGhlIGZpbGUgb3IgZGV2aWNlIGFzc29jaWF0ZWQgd2l0aCB0aGUgc3BlY2lmaWVkIGxvb3AgZGV2aWNlKHMpLiBOb3RlCit0aGF0IHNpbmNlIExpbnV4IHYzLjcga2VybmVsIHVzZXMgImxhenkgZGV2aWNlIGRlc3RydWN0aW9uIi4gIFRoZSBkZXRhY2gKK29wZXJhdGlvbiBkb2VzIG5vdCByZXR1cm4gRUJVU1kgZXJyb3IgYW55bW9yZSBpZiBkZXZpY2UgaXMgYWN0aXZlbHkgdXNlZCBieQorc3lzdGVtLCBidXQgaXQgaXMgbWFya2VkIGJ5IGF1dG9jbGVhciBmbGFnIGFuZCBkZXN0cm95ZWQgbGF0ZXIuCisuVFAKKy5CUiBcLUQgLCAiIFwtXC1kZXRhY2hcLWFsbCIKK0RldGFjaCBhbGwgYXNzb2NpYXRlZCBsb29wIGRldmljZXMuCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1maW5kICIgIlxmUltcZklmaWxlXGZSXSIKK0ZpbmQgdGhlIGZpcnN0IHVudXNlZCBsb29wIGRldmljZS4gIElmIGEgXGZJZmlsZVxmUiBhcmd1bWVudCBpcyBwcmVzZW50LCB1c2UKK3RoZSBmb3VuZCBkZXZpY2UgYXMgbG9vcCBkZXZpY2UuICBPdGhlcndpc2UsIGp1c3QgcHJpbnQgaXRzIG5hbWUuCisuSVAgIlxmQlwtXC1zaG93XGZQIgorRGlzcGxheSB0aGUgbmFtZSBvZiB0aGUgYXNzaWduZWQgbG9vcCBkZXZpY2UgaWYgdGhlIFxmQlwtZlxmUCBvcHRpb24gYW5kIGEKK1xmSWZpbGVcZlAgYXJndW1lbnQgYXJlIHByZXNlbnQuCisuVFAKKy5CUiBcLUwgLCAiIFwtXC1ub292ZXJsYXAiCitDaGVjayBmb3IgY29uZmxpY3RzIGJldHdlZW4gbG9vcCBkZXZpY2VzIHRvIGF2b2lkIHNpdHVhdGlvbiB3aGVuIHRoZSBzYW1lCitiYWNraW5nIGZpbGUgaXMgc2hhcmVkIGJldHdlZW4gbW9yZSBsb29wIGRldmljZXMuIElmIHRoZSBmaWxlIGlzIGFscmVhZHkgdXNlZAorYnkgYW5vdGhlciBkZXZpY2UgdGhlbiByZS11c2UgdGhlIGRldmljZSByYXRoZXIgdGhhbiBhIG5ldyBvbmUuIFRoZSBvcHRpb24KK21ha2VzIHNlbnNlIG9ubHkgd2l0aCBcZkJcLVwtZmluZFxmUC4KKy5UUAorLkJSIFwtaiAsICIgXC1cLWFzc29jaWF0ZWQgIiBcZklmaWxlXGZSICIgXGZSW1xmQlwtbyBcZklvZmZzZXRcZlJdIgorU2hvdyB0aGUgc3RhdHVzIG9mIGFsbCBsb29wIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIHRoZSBnaXZlbiBcZklmaWxlXGZSLgorLlRQCisuQlIgXC1vICwgIiBcLVwtb2Zmc2V0ICIgXGZJb2Zmc2V0CitUaGUgZGF0YSBzdGFydCBpcyBtb3ZlZCBcZklvZmZzZXRcZlAgYnl0ZXMgaW50byB0aGUgc3BlY2lmaWVkIGZpbGUgb3IgZGV2aWNlLgorLklQICJcZkJcLVwtc2l6ZWxpbWl0IFxmSXNpemVcZlAiCitUaGUgZGF0YSBlbmQgaXMgc2V0IHRvIG5vIG1vcmUgdGhhbiBcZklzaXplXGZQIGJ5dGVzIGFmdGVyIHRoZSBkYXRhIHN0YXJ0LgorLlRQCisuQlIgXC1iICwgIiBcLVwtc2VjdG9yLXNpemUgIiBcZklzaXplCitTZXQgdGhlIGxvZ2ljYWwgc2VjdG9yIHNpemUgb2YgdGhlIGxvb3AgZGV2aWNlIGluIGJ5dGVzIChzaW5jZSBMaW51eCA0LjE0KS4gVGhlCitvcHRpb24gbWF5IGJlIHVzZWQgd2hlbiBjcmVhdGUgYSBuZXcgbG9vcCBkZXZpY2UgYXMgd2VsbCBhcyBzdGFuZC1hbG9uZSBjb21tYW5kCit0byBtb2RpZnkgc2VjdG9yIHNpemUgb2YgdGhlIGFscmVhZHkgZXhpc3RpbmcgbG9vcCBkZXZpY2UuCisuVFAKKy5CUiBcLWMgLCAiIFwtXC1zZXRcLWNhcGFjaXR5ICIgXGZJbG9vcGRldgorRm9yY2UgdGhlIGxvb3AgZHJpdmVyIHRvIHJlcmVhZCB0aGUgc2l6ZSBvZiB0aGUgZmlsZSBhc3NvY2lhdGVkIHdpdGggdGhlCitzcGVjaWZpZWQgbG9vcCBkZXZpY2UuCisuVFAKKy5CUiBcLVAgLCAiIFwtXC1wYXJ0c2NhbiIKK0ZvcmNlIHRoZSBrZXJuZWwgdG8gc2NhbiB0aGUgcGFydGl0aW9uIHRhYmxlIG9uIGEgbmV3bHkgY3JlYXRlZCBsb29wIGRldmljZS4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJlYWRcLW9ubHkiCitTZXQgdXAgYSByZWFkLW9ubHkgbG9vcCBkZXZpY2UuCisuVFAKKy5CUiBcLVwtZGlyZWN0XC1pbyBbID1vbiB8IG9mZiBdCitFbmFibGUgb3IgZGlzYWJsZSBkaXJlY3QgSS9PIGZvciB0aGUgYmFja2luZyBmaWxlLiAgVGhlIG9wdGlvbmFsIGFyZ3VtZW50CitjYW4gYmUgZWl0aGVyIFxmQm9uXGZSIG9yIFxmQm9mZlxmUi4gIElmIHRoZSBhcmd1bWVudCBpcyBvbWl0dGVkLCBpdCBkZWZhdWx0cwordG8gXGZCb25cZlIuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorVmVyYm9zZSBtb2RlLgorLlRQCisuQlIgXC1sICwgIiBcLVwtbGlzdCIKK0lmIGEgbG9vcCBkZXZpY2Ugb3IgdGhlIFxmQi1hXGZSIG9wdGlvbiBpcyBzcGVjaWZpZWQsIHByaW50IHRoZSBkZWZhdWx0IGNvbHVtbnMKK2ZvciBlaXRoZXIgdGhlIHNwZWNpZmllZCBsb29wIGRldmljZSBvciBhbGwgbG9vcCBkZXZpY2VzOyB0aGUgZGVmYXVsdCBpcyB0bworcHJpbnQgaW5mbyBhYm91dCBhbGwgZGV2aWNlcy4gIFNlZSBhbHNvIFxmQlwtXC1vdXRwdXRcZlAsIFxmQlwtXC1ub2hlYWRpbmdzXGZQLAorXGZCXC1cLXJhd1xmUCwgYW5kIFxmQlwtXC1qc29uXGZQLgorLlRQCisuQlIgXC1PICwgIiBcLVwtb3V0cHV0ICIgXGZJY29sdW1uXGZSWyxcZkljb2x1bW5cZlJdLi4uCitTcGVjaWZ5IHRoZSBjb2x1bW5zIHRoYXQgYXJlIHRvIGJlIHByaW50ZWQgZm9yIHRoZSBcZkJcLVwtbGlzdFxmUCBvdXRwdXQuCitVc2UgXGZCXC1cLWhlbHBcZlIgdG8gZ2V0IGEgbGlzdCBvZiBhbGwgc3VwcG9ydGVkIGNvbHVtbnMuCisuVFAKKy5CIFwtXC1vdXRwdXRcLWFsbAorT3V0cHV0IGFsbCBhdmFpbGFibGUgY29sdW1ucy4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vaGVhZGluZ3MiCitEb24ndCBwcmludCBoZWFkaW5ncyBmb3IgXGZCXC1cLWxpc3RcZlAgb3V0cHV0IGZvcm1hdC4KKy5JUCAiXGZCXC1cLXJhd1xmUCIKK1VzZSB0aGUgcmF3IFxmQlwtXC1saXN0XGZQIG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLUogLCAiIFwtXC1qc29uIgorVXNlIEpTT04gZm9ybWF0IGZvciBcZkJcLVwtbGlzdFxmUCBvdXRwdXQuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorCisuU0ggRU5DUllQVElPTgorLkIgQ3J5cHRvbG9vcCBpcyBubyBsb25nZXIgc3VwcG9ydGVkIGluIGZhdm9yIG9mIGRtLWNyeXB0LgorLkIgRm9yIG1vcmUgZGV0YWlscyBzZWUgY3J5cHRzZXR1cCg4KS4KKworLlNIIFJFVFVSTiBWQUxVRQorLkIgbG9zZXR1cAorcmV0dXJucyAwIG9uIHN1Y2Nlc3MsIG5vbnplcm8gb24gZmFpbHVyZS4gIFdoZW4KKy5CIGxvc2V0dXAKK2Rpc3BsYXlzIHRoZSBzdGF0dXMgb2YgYSBsb29wIGRldmljZSwgaXQgcmV0dXJucyAxIGlmIHRoZSBkZXZpY2UKK2lzIG5vdCBjb25maWd1cmVkIGFuZCAyIGlmIGFuIGVycm9yIG9jY3VycmVkIHdoaWNoIHByZXZlbnRlZAorZGV0ZXJtaW5pbmcgdGhlIHN0YXR1cyBvZiB0aGUgZGV2aWNlLgorCisuU0ggRklMRVMKKy5UUAorLkkgL2Rldi9sb29wWzAuLk5dCitsb29wIGJsb2NrIGRldmljZXMKKy5UUAorLkkgL2Rldi9sb29wLWNvbnRyb2wKK2xvb3AgY29udHJvbCBkZXZpY2UKKworLlNIIEVYQU1QTEUKK1RoZSBmb2xsb3dpbmcgY29tbWFuZHMgY2FuIGJlIHVzZWQgYXMgYW4gZXhhbXBsZSBvZiB1c2luZyB0aGUgbG9vcCBkZXZpY2UuCisubmYKKy5JUAorIyBkZCBpZj0vZGV2L3plcm8gb2Y9fi9maWxlLmltZyBicz0xMDI0ayBjb3VudD0xMAorIyBsb3NldHVwIC0tZmluZCAtLXNob3cgfi9maWxlLmltZworL2Rldi9sb29wMAorIyBta2ZzIC10IGV4dDIgL2Rldi9sb29wMAorIyBtb3VudCAvZGV2L2xvb3AwIC9tbnQKKyAuLi4KKyMgdW1vdW50IC9kZXYvbG9vcDAKKyMgbG9zZXR1cCAtLWRldGFjaCAvZGV2L2xvb3AwCisuZmkKKy5TSCBFTlZJUk9OTUVOVAorLklQIExPT1BERVZfREVCVUc9YWxsCitlbmFibGVzIGRlYnVnIG91dHB1dC4KKy5TSCBBVVRIT1JTCitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4sIGJhc2VkIG9uIHRoZSBvcmlnaW5hbCB2ZXJzaW9uIGZyb20KK1RoZW9kb3JlIFRzJ28gPHR5dHNvQGF0aGVuYS5taXQuZWR1PgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGxvc2V0dXAgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sb3NldHVwLmMgYi9zeXMtdXRpbHMvbG9zZXR1cC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MjVkODQKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbG9zZXR1cC5jCkBAIC0wLDAgKzEsOTE1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICogT3JpZ2luYWxseSBmcm9tIFRlZCdzIGxvc2V0dXAuYworICoKKyAqIGxvc2V0dXAuYyAtIHNldHVwIGFuZCBjb250cm9sIGxvb3AgZGV2aWNlcworICovCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibG9vcGRldi5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworZW51bSB7CisJQV9DUkVBVEUgPSAxLAkJLyogc2V0dXAgYSBuZXcgZGV2aWNlICovCisJQV9ERUxFVEUsCQkvKiBkZWxldGUgZ2l2ZW4gZGV2aWNlKHMpICovCisJQV9ERUxFVEVfQUxMLAkJLyogZGVsZXRlIGFsbCBkZXZpY2VzICovCisJQV9TSE9XLAkJCS8qIGxpc3QgZGV2aWNlcyAqLworCUFfU0hPV19PTkUsCQkvKiBwcmludCBpbmZvIGFib3V0IG9uZSBkZXZpY2UgKi8KKwlBX0ZJTkRfRlJFRSwJCS8qIGZpbmQgZmlyc3QgdW51c2VkICovCisJQV9TRVRfQ0FQQUNJVFksCQkvKiBzZXQgZGV2aWNlIGNhcGFjaXR5ICovCisJQV9TRVRfRElSRUNUX0lPLAkvKiBzZXQgYWNjZXNzaW5nIGJhY2tpbmcgZmlsZSBieSBkaXJlY3QgaW8gKi8KKwlBX1NFVF9CTE9DS1NJWkUsCS8qIHNldCBsb2dpY2FsIGJsb2NrIHNpemUgb2YgdGhlIGxvb3AgZGV2aWNlICovCit9OworCitlbnVtIHsKKwlDT0xfTkFNRSA9IDAsCisJQ09MX0FVVE9DTFIsCisJQ09MX0JBQ0tfRklMRSwKKwlDT0xfQkFDS19JTk8sCisJQ09MX0JBQ0tfTUFKTUlOLAorCUNPTF9NQUpNSU4sCisJQ09MX09GRlNFVCwKKwlDT0xfUEFSVFNDQU4sCisJQ09MX1JPLAorCUNPTF9TSVpFTElNSVQsCisJQ09MX0RJTywKKwlDT0xfTE9HU0VDLAorfTsKKworLyogYmFzaWMgb3V0cHV0IGZsYWdzICovCitzdGF0aWMgaW50IG5vX2hlYWRpbmdzOworc3RhdGljIGludCByYXc7CitzdGF0aWMgaW50IGpzb247CisKK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOworCWRvdWJsZSB3aGludDsKKwlpbnQgZmxhZ3M7CisJY29uc3QgY2hhciAqaGVscDsKKworCWludCBqc29uX3R5cGU7CS8qIGRlZmF1bHQgaXMgc3RyaW5nICovCit9OworCitzdGF0aWMgc3RydWN0IGNvbGluZm8gaW5mb3NbXSA9IHsKKwlbQ09MX0FVVE9DTFJdICAgICA9IHsgIkFVVE9DTEVBUiIsICAgIDEsIFNDT0xTX0ZMX1JJR0hULCBOXygiYXV0b2NsZWFyIGZsYWcgc2V0IiksIFNDT0xTX0pTT05fQk9PTEVBTn0sCisJW0NPTF9CQUNLX0ZJTEVdICAgPSB7ICJCQUNLLUZJTEUiLCAgMC4zLCAwLCBOXygiZGV2aWNlIGJhY2tpbmcgZmlsZSIpfSwKKwlbQ09MX0JBQ0tfSU5PXSAgICA9IHsgIkJBQ0stSU5PIiwgICAgIDQsIFNDT0xTX0ZMX1JJR0hULCBOXygiYmFja2luZyBmaWxlIGlub2RlIG51bWJlciIpLCBTQ09MU19KU09OX05VTUJFUn0sCisJW0NPTF9CQUNLX01BSk1JTl0gPSB7ICJCQUNLLU1BSjpNSU4iLCA2LCAwLCBOXygiYmFja2luZyBmaWxlIG1ham9yOm1pbm9yIGRldmljZSBudW1iZXIiKX0sCisJW0NPTF9OQU1FXSAgICAgICAgPSB7ICJOQU1FIiwgICAgICAwLjI1LCAwLCBOXygibG9vcCBkZXZpY2UgbmFtZSIpfSwKKwlbQ09MX09GRlNFVF0gICAgICA9IHsgIk9GRlNFVCIsICAgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygib2Zmc2V0IGZyb20gdGhlIGJlZ2lubmluZyIpLCBTQ09MU19KU09OX05VTUJFUn0sCisJW0NPTF9QQVJUU0NBTl0gICAgPSB7ICJQQVJUU0NBTiIsICAgICAxLCBTQ09MU19GTF9SSUdIVCwgTl8oInBhcnRzY2FuIGZsYWcgc2V0IiksIFNDT0xTX0pTT05fQk9PTEVBTn0sCisJW0NPTF9ST10gICAgICAgICAgPSB7ICJSTyIsICAgICAgICAgICAxLCBTQ09MU19GTF9SSUdIVCwgTl8oInJlYWQtb25seSBkZXZpY2UiKSwgU0NPTFNfSlNPTl9CT09MRUFOfSwKKwlbQ09MX1NJWkVMSU1JVF0gICA9IHsgIlNJWkVMSU1JVCIsICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygic2l6ZSBsaW1pdCBvZiB0aGUgZmlsZSBpbiBieXRlcyIpLCBTQ09MU19KU09OX05VTUJFUn0sCisJW0NPTF9NQUpNSU5dICAgICAgPSB7ICJNQUo6TUlOIiwgICAgICAzLCAwLCBOXygibG9vcCBkZXZpY2UgbWFqb3I6bWlub3IgbnVtYmVyIil9LAorCVtDT0xfRElPXSAgICAgICAgID0geyAiRElPIiwgICAgICAgICAgMSwgU0NPTFNfRkxfUklHSFQsIE5fKCJhY2Nlc3MgYmFja2luZyBmaWxlIHdpdGggZGlyZWN0LWlvIiksIFNDT0xTX0pTT05fQk9PTEVBTn0sCisJW0NPTF9MT0dTRUNdICAgICAgPSB7ICJMT0ctU0VDIiwgICAgICA0LCBTQ09MU19GTF9SSUdIVCwgTl8oImxvZ2ljYWwgc2VjdG9yIHNpemUgaW4gYnl0ZXMiKSwgU0NPTFNfSlNPTl9OVU1CRVJ9LAorfTsKKworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl0gPSB7LTF9Oworc3RhdGljIHNpemVfdCBuY29sdW1uczsKKworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA+PSAwKTsKKwlhc3NlcnQoKHNpemVfdCkgbnVtIDwgbmNvbHVtbnMpOworCWFzc2VydChjb2x1bW5zW251bV0gPCAoaW50KSBBUlJBWV9TSVpFKGluZm9zKSk7CisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8oaW50IG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGludCBjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBpbmZvc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRmX2xvb3BkZXYoc3RydWN0IGxvb3BkZXZfY3h0ICpsYykKK3sKKwl1aW50NjRfdCB4OworCWRldl90IGRldiA9IDA7CisJaW5vX3QgaW5vID0gMDsKKwljaGFyICpmbmFtZTsKKwl1aW50MzJfdCB0eXBlOworCisJZm5hbWUgPSBsb29wY3h0X2dldF9iYWNraW5nX2ZpbGUobGMpOworCWlmICghZm5hbWUpCisJCXJldHVybiAtRUlOVkFMOworCisJaWYgKGxvb3BjeHRfZ2V0X2JhY2tpbmdfZGV2bm8obGMsICZkZXYpID09IDApCisJCWxvb3BjeHRfZ2V0X2JhY2tpbmdfaW5vZGUobGMsICZpbm8pOworCisJaWYgKCFkZXYgJiYgIWlubykgeworCQkvKgorCQkgKiBQcm9iYWJseSBub24tcm9vdCB1c2VyIChubyBwZXJtaXNzaW9ucyB0bworCQkgKiBjYWxsIExPT1BfR0VUX1NUQVRVUyBpb2N0bHMpLgorCQkgKi8KKwkJcHJpbnRmKCIlczogW106ICglcykiLAorCQkJbG9vcGN4dF9nZXRfZGV2aWNlKGxjKSwgZm5hbWUpOworCisJCWlmIChsb29wY3h0X2dldF9vZmZzZXQobGMsICZ4KSA9PSAwICYmIHgpCisJCQkJcHJpbnRmKF8oIiwgb2Zmc2V0ICVqdSIpLCB4KTsKKworCQlpZiAobG9vcGN4dF9nZXRfc2l6ZWxpbWl0KGxjLCAmeCkgPT0gMCAmJiB4KQorCQkJCXByaW50ZihfKCIsIHNpemVsaW1pdCAlanUiKSwgeCk7CisJCXByaW50ZigiXG4iKTsKKwkJcmV0dXJuIDA7CisJfQorCisJcHJpbnRmKCIlczogWyUwNGRdOiUiIFBSSXU2NCAiICglcykiLAorCQlsb29wY3h0X2dldF9kZXZpY2UobGMpLCAoaW50KSBkZXYsIGlubywgZm5hbWUpOworCisJaWYgKGxvb3BjeHRfZ2V0X29mZnNldChsYywgJngpID09IDAgJiYgeCkKKwkJCXByaW50ZihfKCIsIG9mZnNldCAlanUiKSwgeCk7CisKKwlpZiAobG9vcGN4dF9nZXRfc2l6ZWxpbWl0KGxjLCAmeCkgPT0gMCAmJiB4KQorCQkJcHJpbnRmKF8oIiwgc2l6ZWxpbWl0ICVqdSIpLCB4KTsKKworCWlmIChsb29wY3h0X2dldF9lbmNyeXB0X3R5cGUobGMsICZ0eXBlKSA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKmUgPSBsb29wY3h0X2dldF9jcnlwdF9uYW1lKGxjKTsKKworCQlpZiAoKCFlIHx8ICEqZSkgJiYgdHlwZSA9PSAxKQorCQkJZSA9ICJYT1IiOworCQlpZiAoZSAmJiAqZSkKKwkJCXByaW50ZihfKCIsIGVuY3J5cHRpb24gJXMgKHR5cGUgJXUpIiksIGUsIHR5cGUpOworCX0KKwlwcmludGYoIlxuIik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2hvd19hbGxfbG9vcHMoc3RydWN0IGxvb3BkZXZfY3h0ICpsYywgY29uc3QgY2hhciAqZmlsZSwKKwkJCSAgdWludDY0X3Qgb2Zmc2V0LCBpbnQgZmxhZ3MpCit7CisJc3RydWN0IHN0YXQgc2J1ZiwgKnN0ID0gJnNidWY7CisJY2hhciAqY25fZmlsZSA9IE5VTEw7CisKKwlpZiAobG9vcGN4dF9pbml0X2l0ZXJhdG9yKGxjLCBMT09QSVRFUl9GTF9VU0VEKSkKKwkJcmV0dXJuIC0xOworCisJaWYgKCFmaWxlIHx8IHN0YXQoZmlsZSwgc3QpKQorCQlzdCA9IE5VTEw7CisKKwl3aGlsZSAobG9vcGN4dF9uZXh0KGxjKSA9PSAwKSB7CisJCWlmIChmaWxlKSB7CisJCQlpbnQgdXNlZDsKKwkJCWNvbnN0IGNoYXIgKmJmID0gY25fZmlsZSA/IGNuX2ZpbGUgOiBmaWxlOworCisJCQl1c2VkID0gbG9vcGN4dF9pc191c2VkKGxjLCBzdCwgYmYsIG9mZnNldCwgMCwgZmxhZ3MpOworCQkJaWYgKCF1c2VkICYmICFjbl9maWxlKSB7CisJCQkJYmYgPSBjbl9maWxlID0gY2Fub25pY2FsaXplX3BhdGgoZmlsZSk7CisJCQkJdXNlZCA9IGxvb3BjeHRfaXNfdXNlZChsYywgc3QsIGJmLCBvZmZzZXQsIDAsIGZsYWdzKTsKKwkJCX0KKwkJCWlmICghdXNlZCkKKwkJCQljb250aW51ZTsKKwkJfQorCQlwcmludGZfbG9vcGRldihsYyk7CisJfQorCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwlmcmVlKGNuX2ZpbGUpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRlbGV0ZV9sb29wKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaWYgKGxvb3BjeHRfZGVsZXRlX2RldmljZShsYykpCisJCXdhcm4oXygiJXM6IGRldGFjaCBmYWlsZWQiKSwgbG9vcGN4dF9nZXRfZGV2aWNlKGxjKSk7CisJZWxzZQorCQlyZXR1cm4gMDsKKworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBkZWxldGVfYWxsX2xvb3BzKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMpCit7CisJaW50IHJlcyA9IDA7CisKKwlpZiAobG9vcGN4dF9pbml0X2l0ZXJhdG9yKGxjLCBMT09QSVRFUl9GTF9VU0VEKSkKKwkJcmV0dXJuIC0xOworCisJd2hpbGUgKGxvb3BjeHRfbmV4dChsYykgPT0gMCkKKwkJcmVzICs9IGRlbGV0ZV9sb29wKGxjKTsKKworCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgaW50IHNldF9zY29sc19kYXRhKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsIHN0cnVjdCBsaWJzY29sc19saW5lICpsbikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKnAgPSBOVUxMOwkJCS8qIGV4dGVybmFsIGRhdGEgKi8KKwkJY2hhciAqbnAgPSBOVUxMOwkJCS8qIGFsbG9jYXRlZCBoZXJlICovCisJCXVpbnQ2NF90IHggPSAwOworCQlpbnQgcmMgPSAwOworCisJCXN3aXRjaChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX05BTUU6CisJCQlwID0gbG9vcGN4dF9nZXRfZGV2aWNlKGxjKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9CQUNLX0ZJTEU6CisJCQlwID0gbG9vcGN4dF9nZXRfYmFja2luZ19maWxlKGxjKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9PRkZTRVQ6CisJCQlpZiAobG9vcGN4dF9nZXRfb2Zmc2V0KGxjLCAmeCkgPT0gMCkKKwkJCQl4YXNwcmludGYoJm5wLCAiJWpkIiwgeCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU0laRUxJTUlUOgorCQkJaWYgKGxvb3BjeHRfZ2V0X3NpemVsaW1pdChsYywgJngpID09IDApCisJCQkJeGFzcHJpbnRmKCZucCwgIiVqZCIsIHgpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0JBQ0tfTUFKTUlOOgorCQl7CisJCQlkZXZfdCBkZXYgPSAwOworCQkJaWYgKGxvb3BjeHRfZ2V0X2JhY2tpbmdfZGV2bm8obGMsICZkZXYpID09IDAgJiYgZGV2KQorCQkJCXhhc3ByaW50ZigmbnAsICIlOHU6JS0zdSIsIG1ham9yKGRldiksIG1pbm9yKGRldikpOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSBDT0xfTUFKTUlOOgorCQl7CisJCQlzdHJ1Y3Qgc3RhdCBzdDsKKworCQkJaWYgKGxvb3BjeHRfZ2V0X2RldmljZShsYykKKwkJCSAgICAmJiBzdGF0KGxvb3BjeHRfZ2V0X2RldmljZShsYyksICZzdCkgPT0gMAorCQkJICAgICYmIFNfSVNCTEsoc3Quc3RfbW9kZSkKKwkJCSAgICAmJiBtYWpvcihzdC5zdF9yZGV2KSA9PSBMT09QREVWX01BSk9SKQorCQkJCXhhc3ByaW50ZigmbnAsICIlM3U6JS0zdSIsIG1ham9yKHN0LnN0X3JkZXYpLAorCQkJCQkJICAgICAgICAgICBtaW5vcihzdC5zdF9yZGV2KSk7CisJCQlicmVhazsKKwkJfQorCQljYXNlIENPTF9CQUNLX0lOTzoKKwkJeworCQkJaW5vX3QgaW5vID0gMDsKKwkJCWlmIChsb29wY3h0X2dldF9iYWNraW5nX2lub2RlKGxjLCAmaW5vKSA9PSAwICYmIGlubykKKwkJCQl4YXNwcmludGYoJm5wLCAiJWp1IiwgaW5vKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgQ09MX0FVVE9DTFI6CisJCQlwID0gbG9vcGN4dF9pc19hdXRvY2xlYXIobGMpID8gIjEiIDogIjAiOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1JPOgorCQkJcCA9IGxvb3BjeHRfaXNfcmVhZG9ubHkobGMpID8gIjEiIDogIjAiOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0RJTzoKKwkJCXAgPSBsb29wY3h0X2lzX2RpbyhsYykgPyAiMSIgOiAiMCI7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUEFSVFNDQU46CisJCQlwID0gbG9vcGN4dF9pc19wYXJ0c2NhbihsYykgPyAiMSIgOiAiMCI7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTE9HU0VDOgorCQkJaWYgKGxvb3BjeHRfZ2V0X2Jsb2Nrc2l6ZShsYywgJngpID09IDApCisJCQkJeGFzcHJpbnRmKCZucCwgIiVqZCIsIHgpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJfQorCisKKwkJaWYgKHApCisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIGksIHApOwkvKiBjYWxscyBzdHJkdXAoKSAqLworCQllbHNlIGlmIChucCkKKwkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBpLCBucCk7CS8qIG9ubHkgcmVmZXJzICovCisKKwkJaWYgKHJjKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIpKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzaG93X3RhYmxlKHN0cnVjdCBsb29wZGV2X2N4dCAqbGMsCisJCSAgICAgIGNvbnN0IGNoYXIgKmZpbGUsCisJCSAgICAgIHVpbnQ2NF90IG9mZnNldCwKKwkJICAgICAgaW50IGZsYWdzKQoreworCXN0cnVjdCBzdGF0IHNidWYsICpzdCA9ICZzYnVmOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCWludCByYyA9IDA7CisJc2l6ZV90IGk7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJaWYgKCEodGIgPSBzY29sc19uZXdfdGFibGUoKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YiwgcmF3KTsKKwlzY29sc190YWJsZV9lbmFibGVfanNvbih0YiwganNvbik7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGIsIG5vX2hlYWRpbmdzKTsKKworCWlmIChqc29uKQorCQlzY29sc190YWJsZV9zZXRfbmFtZSh0YiwgImxvb3BkZXZpY2VzIik7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQlzdHJ1Y3QgY29saW5mbyAqY2kgPSBnZXRfY29sdW1uX2luZm8oaSk7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCisJCWNsID0gc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgY2ktPm5hbWUsIGNpLT53aGludCwgY2ktPmZsYWdzKTsKKwkJaWYgKCFjbCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgY29sdW1uIikpOworCQlpZiAoanNvbikKKwkJCXNjb2xzX2NvbHVtbl9zZXRfanNvbl90eXBlKGNsLCBjaS0+anNvbl90eXBlKTsKKwl9CisKKwkvKiBvbmx5IG9uZSBsb29wZGV2IHJlcXVlc3RlZCAoYWxyZWFkeSBhc3NpZ25lZCB0byBsb29wZGV2X2N4dCkgKi8KKwlpZiAobG9vcGN4dF9nZXRfZGV2aWNlKGxjKSkgeworCQlsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRiLCBOVUxMKTsKKwkJaWYgKCFsbikKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKwkJcmMgPSBzZXRfc2NvbHNfZGF0YShsYywgbG4pOworCisJLyogbGlzdCBhbGwgbG9vcGRldnMgKi8KKwl9IGVsc2UgeworCQljaGFyICpjbl9maWxlID0gTlVMTDsKKworCQlyYyA9IGxvb3BjeHRfaW5pdF9pdGVyYXRvcihsYywgTE9PUElURVJfRkxfVVNFRCk7CisJCWlmIChyYykKKwkJCWdvdG8gZG9uZTsKKwkJaWYgKCFmaWxlIHx8IHN0YXQoZmlsZSwgc3QpKQorCQkJc3QgPSBOVUxMOworCisJCXdoaWxlIChsb29wY3h0X25leHQobGMpID09IDApIHsKKwkJCWlmIChmaWxlKSB7CisJCQkJaW50IHVzZWQ7CisJCQkJY29uc3QgY2hhciAqYmYgPSBjbl9maWxlID8gY25fZmlsZSA6IGZpbGU7CisKKwkJCQl1c2VkID0gbG9vcGN4dF9pc191c2VkKGxjLCBzdCwgYmYsIG9mZnNldCwgMCwgZmxhZ3MpOworCQkJCWlmICghdXNlZCAmJiAhY25fZmlsZSkgeworCQkJCQliZiA9IGNuX2ZpbGUgPSBjYW5vbmljYWxpemVfcGF0aChmaWxlKTsKKwkJCQkJdXNlZCA9IGxvb3BjeHRfaXNfdXNlZChsYywgc3QsIGJmLCBvZmZzZXQsIDAsIGZsYWdzKTsKKwkJCQl9CisJCQkJaWYgKCF1c2VkKQorCQkJCQljb250aW51ZTsKKwkJCX0KKworCQkJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZSh0YiwgTlVMTCk7CisJCQlpZiAoIWxuKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKwkJCXJjID0gc2V0X3Njb2xzX2RhdGEobGMsIGxuKTsKKwkJCWlmIChyYykKKwkJCQlicmVhazsKKwkJfQorCisJCWxvb3BjeHRfZGVpbml0X2l0ZXJhdG9yKGxjKTsKKwkJZnJlZShjbl9maWxlKTsKKwl9Citkb25lOgorCWlmIChyYyA9PSAwKQorCQlyYyA9IHNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlMSRzIFtvcHRpb25zXSBbPGxvb3BkZXY+XVxuIgorCQkiICUxJHMgW29wdGlvbnNdIC1mIHwgPGxvb3BkZXY+IDxmaWxlPlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTZXQgdXAgYW5kIGNvbnRyb2wgbG9vcCBkZXZpY2VzLlxuIiksIG91dCk7CisKKwkvKiBjb21tYW5kcyAqLworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgICAgIGxpc3QgYWxsIHVzZWQgZGV2aWNlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRldGFjaCA8bG9vcGRldj4uLi4gICAgIGRldGFjaCBvbmUgb3IgbW9yZSBkZXZpY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUQsIC0tZGV0YWNoLWFsbCAgICAgICAgICAgICAgZGV0YWNoIGFsbCB1c2VkIGRldmljZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1maW5kICAgICAgICAgICAgICAgICAgICBmaW5kIGZpcnN0IHVudXNlZCBkZXZpY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1zZXQtY2FwYWNpdHkgPGxvb3BkZXY+ICByZXNpemUgdGhlIGRldmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1qLCAtLWFzc29jaWF0ZWQgPGZpbGU+ICAgICAgIGxpc3QgYWxsIGRldmljZXMgYXNzb2NpYXRlZCB3aXRoIDxmaWxlPlxuIiksIG91dCk7CisJZnB1dHMoXygiIC1MLCAtLW5vb3ZlcmxhcCAgICAgICAgICAgICAgIGF2b2lkIHBvc3NpYmxlIGNvbmZsaWN0IGJldHdlZW4gZGV2aWNlc1xuIiksIG91dCk7CisKKwkvKiBjb21tYW5kcyBvcHRpb25zICovCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vZmZzZXQgPG51bT4gICAgICAgICAgICBzdGFydCBhdCBvZmZzZXQgPG51bT4gaW50byBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tc2l6ZWxpbWl0IDxudW0+ICAgICAgICAgZGV2aWNlIGlzIGxpbWl0ZWQgdG8gPG51bT4gYnl0ZXMgb2YgdGhlIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYiAgLS1zZWN0b3Itc2l6ZSA8bnVtPiAgICAgICBzZXQgdGhlIGxvZ2ljYWwgc2VjdG9yIHNpemUgdG8gPG51bT5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1wYXJ0c2NhbiAgICAgICAgICAgICAgICBjcmVhdGUgYSBwYXJ0aXRpb25lZCBsb29wIGRldmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJlYWQtb25seSAgICAgICAgICAgICAgIHNldCB1cCBhIHJlYWQtb25seSBsb29wIGRldmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWRpcmVjdC1pb1s9PG9ufG9mZj5dICAgIG9wZW4gYmFja2luZyBmaWxlIHdpdGggT19ESVJFQ1RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1zaG93ICAgICAgICAgICAgICAgICAgICBwcmludCBkZXZpY2UgbmFtZSBhZnRlciBzZXR1cCAod2l0aCAtZilcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgICAgICB2ZXJib3NlIG1vZGVcbiIpLCBvdXQpOworCisJLyogb3V0cHV0IG9wdGlvbnMgKi8KKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGlzdCAgICAgICAgICAgICAgICAgICAgbGlzdCBpbmZvIGFib3V0IGFsbCBvciBzcGVjaWZpZWQgKGRlZmF1bHQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICAgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3MgZm9yIC0tbGlzdCBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTywgLS1vdXRwdXQgPGNvbHM+ICAgICAgICAgICBzcGVjaWZ5IGNvbHVtbnMgdG8gb3V0cHV0IGZvciAtLWxpc3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1vdXRwdXQtYWxsICAgICAgICAgICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgICAgICB1c2UgcmF3IC0tbGlzdCBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDMxKSk7CisKKwlmcHV0cyhVU0FHRV9DT0xVTU5TLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTJzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImxvc2V0dXAoOCkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIHdhcm5fc2l6ZShjb25zdCBjaGFyICpmaWxlbmFtZSwgdWludDY0X3Qgc2l6ZSkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmICghc2l6ZSkgeworCQlpZiAoc3RhdChmaWxlbmFtZSwgJnN0KSB8fCBTX0lTQkxLKHN0LnN0X21vZGUpKQorCQkJcmV0dXJuOworCQlzaXplID0gc3Quc3Rfc2l6ZTsKKwl9CisKKwlpZiAoc2l6ZSA8IDUxMikKKwkJd2FybngoXygiJXM6IFdhcm5pbmc6IGZpbGUgaXMgc21hbGxlciB0aGFuIDUxMiBieXRlczsgdGhlIGxvb3AgZGV2aWNlICIKKwkJCSJtYXkgYmUgdXNlbGVzcyBvciBpbnZpc2libGUgZm9yIHN5c3RlbSB0b29scy4iKSwKKwkJCWZpbGVuYW1lKTsKKwllbHNlIGlmIChzaXplICUgNTEyKQorCQl3YXJueChfKCIlczogV2FybmluZzogZmlsZSBkb2VzIG5vdCBmaXQgaW50byBhIDUxMi1ieXRlIHNlY3RvcjsgIgorCQkgICAgICAgICJ0aGUgZW5kIG9mIHRoZSBmaWxlIHdpbGwgYmUgaWdub3JlZC4iKSwKKwkJCWZpbGVuYW1lKTsKK30KKworc3RhdGljIGludCBjcmVhdGVfbG9vcChzdHJ1Y3QgbG9vcGRldl9jeHQgKmxjLAorCQkgICAgICAgaW50IG5vb3ZlcmxhcCwgaW50IGxvX2ZsYWdzLCBpbnQgZmxhZ3MsCisJCSAgICAgICBjb25zdCBjaGFyICpmaWxlLCB1aW50NjRfdCBvZmZzZXQsIHVpbnQ2NF90IHNpemVsaW1pdCkKK3sKKwlpbnQgaGFzZGV2ID0gbG9vcGN4dF9oYXNfZGV2aWNlKGxjKTsKKwlpbnQgcmMgPSAwOworCisJLyogbG9zZXR1cCAtLWZpbmQgLS1ub3ZlcmxhcCBmaWxlLmltZyAqLworCWlmICghaGFzZGV2ICYmIG5vb3ZlcmxhcCkgeworCQlyYyA9IGxvb3BjeHRfZmluZF9vdmVybGFwKGxjLCBmaWxlLCBvZmZzZXQsIHNpemVsaW1pdCk7CisJCXN3aXRjaCAocmMpIHsKKwkJY2FzZSAwOiAvKiBub3QgZm91bmQgKi8KKwkJCWJyZWFrOworCisJCWNhc2UgMToJLyogb3ZlcmxhcCAqLworCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMiKSwgZmlsZSk7CisKKwkJY2FzZSAyOiAvKiBvdmVybGFwIC0tIGZ1bGwgc2l6ZSBhbmQgb2Zmc2V0IG1hdGNoIChyZXVzZSkgKi8KKwkJeworCQkJdWludDMyX3QgbGNfZW5jcnlwdF90eXBlOworCisJCQkvKiBPbmNlIGEgbG9vcCBpcyBpbml0aWFsaXplZCBSTywgdGhlcmUgaXMgbm8KKwkJCSAqIHdheSB0byBjaGFuZ2UgaXRzIHBhcmFtZXRlcnMuICovCisJCQlpZiAobG9vcGN4dF9pc19yZWFkb25seShsYykKKwkJCSAgICAmJiAhKGxvX2ZsYWdzICYgTE9fRkxBR1NfUkVBRF9PTkxZKSkgeworCQkJCWxvb3BjeHRfZGVpbml0KGxjKTsKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IG92ZXJsYXBwaW5nIHJlYWQtb25seSBsb29wIGRldmljZSBleGlzdHMiKSwgZmlsZSk7CisJCQl9CisKKwkJCS8qIFRoaXMgaXMgbm8gbW9yZSBzdXBwb3J0ZWQsIGJ1dCBjaGVjayB0byBiZSBzYWZlLiAqLworCQkJaWYgKGxvb3BjeHRfZ2V0X2VuY3J5cHRfdHlwZShsYywgJmxjX2VuY3J5cHRfdHlwZSkgPT0gMAorCQkJICAgICYmIGxjX2VuY3J5cHRfdHlwZSAhPSBMT19DUllQVF9OT05FKSB7CisJCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogb3ZlcmxhcHBpbmcgZW5jcnlwdGVkIGxvb3AgZGV2aWNlIGV4aXN0cyIpLCBmaWxlKTsKKwkJCX0KKworCQkJbGMtPmluZm8ubG9fZmxhZ3MgJj0gfkxPX0ZMQUdTX0FVVE9DTEVBUjsKKwkJCWlmIChsb29wY3h0X3NldF9zdGF0dXMobGMpKSB7CisJCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogZmFpbGVkIHRvIHJlLXVzZSBsb29wIGRldmljZSIpLCBmaWxlKTsKKwkJCX0KKwkJCXJldHVybiAwOwkvKiBzdWNjZXNzLCByZS11c2UgKi8KKwkJfQorCQlkZWZhdWx0OiAvKiBlcnJvciAqLworCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbnNwZWN0IGxvb3AgZGV2aWNlcyIpKTsKKwkJCXJldHVybiAtZXJybm87CisJCX0KKwl9CisKKwlpZiAoaGFzZGV2ICYmICFpc19sb29wZGV2KGxvb3BjeHRfZ2V0X2RldmljZShsYykpKQorCQlsb29wY3h0X2FkZF9kZXZpY2UobGMpOworCisJLyogbG9zZXR1cCAtLW5vdmVybGFwIC9kZXYvbG9vcE4gZmlsZS5pbWcgKi8KKwlpZiAoaGFzZGV2ICYmIG5vb3ZlcmxhcCkgeworCQlzdHJ1Y3QgbG9vcGRldl9jeHQgbGMyOworCisJCWlmIChsb29wY3h0X2luaXQoJmxjMiwgMCkpIHsKKwkJCWxvb3BjeHRfZGVpbml0KGxjKTsKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiKSk7CisJCX0KKwkJcmMgPSBsb29wY3h0X2ZpbmRfb3ZlcmxhcCgmbGMyLCBmaWxlLCBvZmZzZXQsIHNpemVsaW1pdCk7CisJCWxvb3BjeHRfZGVpbml0KCZsYzIpOworCisJCWlmIChyYykgeworCQkJbG9vcGN4dF9kZWluaXQobGMpOworCQkJaWYgKHJjID4gMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXM6IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyIpLCBmaWxlKTsKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gY2hlY2sgZm9yIGNvbmZsaWN0aW5nIGxvb3AgZGV2aWNlcyIpLCBmaWxlKTsKKwkJfQorCX0KKworCS8qIENyZWF0ZSBhIG5ldyBkZXZpY2UgKi8KKwlkbyB7CisJCWNvbnN0IGNoYXIgKmVycnByZTsKKworCQkvKiBOb3RlIHRoYXQgbG9vcGN4dF97ZmluZF91bnVzZWQsc2V0X2RldmljZX0oKSByZXNldHMKKwkJICogbG9vcGN4dCBzdHJ1Y3QuCisJCSAqLworCQlpZiAoIWhhc2RldiAmJiAocmMgPSBsb29wY3h0X2ZpbmRfdW51c2VkKGxjKSkpIHsKKwkJCXdhcm54KF8oImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIpKTsKKwkJCWJyZWFrOworCQl9CisJCWlmIChmbGFncyAmIExPT1BERVZfRkxfT0ZGU0VUKQorCQkJbG9vcGN4dF9zZXRfb2Zmc2V0KGxjLCBvZmZzZXQpOworCQlpZiAoZmxhZ3MgJiBMT09QREVWX0ZMX1NJWkVMSU1JVCkKKwkJCWxvb3BjeHRfc2V0X3NpemVsaW1pdChsYywgc2l6ZWxpbWl0KTsKKwkJaWYgKGxvX2ZsYWdzKQorCQkJbG9vcGN4dF9zZXRfZmxhZ3MobGMsIGxvX2ZsYWdzKTsKKwkJaWYgKChyYyA9IGxvb3BjeHRfc2V0X2JhY2tpbmdfZmlsZShsYywgZmlsZSkpKSB7CisJCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gdXNlIGJhY2tpbmcgZmlsZSIpLCBmaWxlKTsKKwkJCWJyZWFrOworCQl9CisJCWVycm5vID0gMDsKKwkJcmMgPSBsb29wY3h0X3NldHVwX2RldmljZShsYyk7CisJCWlmIChyYyA9PSAwKQorCQkJYnJlYWs7CQkJLyogc3VjY2VzcyAqLworCQlpZiAoZXJybm8gPT0gRUJVU1kgJiYgIWhhc2RldikKKwkJCWNvbnRpbnVlOworCisJCS8qIGVycm9ycyAqLworCQllcnJwcmUgPSBoYXNkZXYgJiYgbG9vcGN4dF9nZXRfZmQobGMpIDwgMCA/CisJCQkJIGxvb3BjeHRfZ2V0X2RldmljZShsYykgOiBmaWxlOworCQl3YXJuKF8oIiVzOiBmYWlsZWQgdG8gc2V0IHVwIGxvb3AgZGV2aWNlIiksIGVycnByZSk7CisJCWJyZWFrOworCX0gd2hpbGUgKGhhc2RldiA9PSAwKTsKKworCXJldHVybiByYzsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBsb29wZGV2X2N4dCBsYzsKKwlpbnQgYWN0ID0gMCwgZmxhZ3MgPSAwLCBub19vdmVybGFwID0gMCwgYzsKKwljaGFyICpmaWxlID0gTlVMTDsKKwl1aW50NjRfdCBvZmZzZXQgPSAwLCBzaXplbGltaXQgPSAwLCBibG9ja3NpemUgPSAwOworCWludCByZXMgPSAwLCBzaG93ZGV2ID0gMCwgbG9fZmxhZ3MgPSAwOworCWNoYXIgKm91dGFyZyA9IE5VTEw7CisJaW50IGxpc3QgPSAwOworCXVuc2lnbmVkIGxvbmcgdXNlX2RpbyA9IDAsIHNldF9kaW8gPSAwLCBzZXRfYmxvY2tzaXplID0gMDsKKworCWVudW0geworCQlPUFRfU0laRUxJTUlUID0gQ0hBUl9NQVggKyAxLAorCQlPUFRfU0hPVywKKwkJT1BUX1JBVywKKwkJT1BUX0RJTywKKwkJT1BUX09VVFBVVF9BTEwKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFsbCIsICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnYScgICAgICAgICAgIH0sCisJCXsgInNldC1jYXBhY2l0eSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYycgICAgICAgICAgIH0sCisJCXsgImRldGFjaCIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZCcgICAgICAgICAgIH0sCisJCXsgImRldGFjaC1hbGwiLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnRCcgICAgICAgICAgIH0sCisJCXsgImZpbmQiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZicgICAgICAgICAgIH0sCisJCXsgIm5vb3ZlcmxhcCIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnTCcgICAgICAgICAgIH0sCisJCXsgImhlbHAiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgICAgICAgICAgIH0sCisJCXsgImFzc29jaWF0ZWQiLCAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnaicgICAgICAgICAgIH0sCisJCXsgImpzb24iLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSicgICAgICAgICAgIH0sCisJCXsgImxpc3QiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbCcgICAgICAgICAgIH0sCisJCXsgInNlY3Rvci1zaXplIiwgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYicgICAgICB9LAorCQl7ICJub2hlYWRpbmdzIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ24nICAgICAgICAgICB9LAorCQl7ICJvZmZzZXQiLCAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nICAgICAgICAgICB9LAorCQl7ICJvdXRwdXQiLCAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ08nICAgICAgICAgICB9LAorCQl7ICJvdXRwdXQtYWxsIiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX09VVFBVVF9BTEwgfSwKKwkJeyAic2l6ZWxpbWl0IiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9TSVpFTElNSVQgfSwKKwkJeyAicGFydHNjYW4iLCAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdQJyAgICAgICAgICAgfSwKKwkJeyAicmVhZC1vbmx5IiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdyJyAgICAgICAgICAgfSwKKwkJeyAiZGlyZWN0LWlvIiwgICAgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVF9ESU8gICAgICAgfSwKKwkJeyAicmF3IiwgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE9QVF9SQVcgICAgICAgfSwKKwkJeyAic2hvdyIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE9QVF9TSE9XICAgICAgfSwKKwkJeyAidmVyYm9zZSIsICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JyAgICAgICAgICAgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyAgICAgICAgICAgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CS8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnRCcsJ2EnLCdjJywnZCcsJ2YnLCdqJyB9LAorCQl7ICdEJywnYycsJ2QnLCdmJywnbCcgfSwKKwkJeyAnRCcsJ2MnLCdkJywnZicsJ08nIH0sCisJCXsgJ0onLE9QVF9SQVcgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAobG9vcGN4dF9pbml0KCZsYywgMCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxvb3BjeHQiKSk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWI6YzpkOkRmaGo6SmxMbm86TzpQcnZWIiwKKwkJCQlsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlhY3QgPSBBX1NIT1c7CisJCQlicmVhazsKKwkJY2FzZSAnYic6CisJCQlzZXRfYmxvY2tzaXplID0gMTsKKwkJCWJsb2Nrc2l6ZSA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgbG9naWNhbCBibG9jayBzaXplIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJYWN0ID0gQV9TRVRfQ0FQQUNJVFk7CisJCQlpZiAoIWlzX2xvb3BkZXYob3B0YXJnKSB8fAorCQkJICAgIGxvb3BjeHRfc2V0X2RldmljZSgmbGMsIG9wdGFyZykpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIiksCisJCQkJCQlvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJbG9fZmxhZ3MgfD0gTE9fRkxBR1NfUkVBRF9PTkxZOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJYWN0ID0gQV9ERUxFVEU7CisJCQlpZiAoIWlzX2xvb3BkZXYob3B0YXJnKSB8fAorCQkJICAgIGxvb3BjeHRfc2V0X2RldmljZSgmbGMsIG9wdGFyZykpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIiksCisJCQkJCQlvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ0QnOgorCQkJYWN0ID0gQV9ERUxFVEVfQUxMOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJYWN0ID0gQV9GSU5EX0ZSRUU7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQkJYnJlYWs7CisJCWNhc2UgJ0onOgorCQkJanNvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaic6CisJCQlhY3QgPSBBX1NIT1c7CisJCQlmaWxlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJbGlzdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQlub19vdmVybGFwID0gMTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW5vX2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9SQVc6CisJCQlyYXcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJb2Zmc2V0ID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBvZmZzZXQiKSk7CisJCQlmbGFncyB8PSBMT09QREVWX0ZMX09GRlNFVDsKKwkJCWJyZWFrOworCQljYXNlICdPJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWxpc3QgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX09VVFBVVF9BTEw6CisJCQlmb3IgKG5jb2x1bW5zID0gMDsgbmNvbHVtbnMgPCBBUlJBWV9TSVpFKGluZm9zKTsgbmNvbHVtbnMrKykKKwkJCQljb2x1bW5zW25jb2x1bW5zXSA9IG5jb2x1bW5zOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJbG9fZmxhZ3MgfD0gTE9fRkxBR1NfUEFSVFNDQU47CisJCQlicmVhazsKKwkJY2FzZSBPUFRfU0hPVzoKKwkJCXNob3dkZXYgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0RJTzoKKwkJCXVzZV9kaW8gPSBzZXRfZGlvID0gMTsKKwkJCWlmIChvcHRhcmcpCisJCQkJdXNlX2RpbyA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksICJvbiIsICJvZmYiLCBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSBPUFRfU0laRUxJTUlUOgkJCS8qIC0tc2l6ZWxpbWl0ICovCisJCQlzaXplbGltaXQgPSBzdHJ0b3NpemVfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIHNpemUiKSk7CisJCQlmbGFncyB8PSBMT09QREVWX0ZMX1NJWkVMSU1JVDsKKyAgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJdWxfcGF0aF9pbml0X2RlYnVnKCk7CisJdWxfc3lzZnNfaW5pdF9kZWJ1ZygpOworCisJLyogZGVmYXVsdCBpcyAtLWxpc3QgLS1hbGwgKi8KKwlpZiAoYXJnYyA9PSAxKSB7CisJCWFjdCA9IEFfU0hPVzsKKwkJbGlzdCA9IDE7CisJfQorCisJaWYgKCFhY3QgJiYgYXJnYyA9PSAyICYmIChyYXcgfHwganNvbikpIHsKKwkJYWN0ID0gQV9TSE9XOworCQlsaXN0ID0gMTsKKwl9CisKKwkvKiBkZWZhdWx0IC0tbGlzdCBvdXRwdXQgY29sdW1ucyAqLworCWlmIChsaXN0ICYmICFuY29sdW1ucykgeworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX05BTUU7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfU0laRUxJTUlUOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX09GRlNFVDsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9BVVRPQ0xSOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1JPOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0JBQ0tfRklMRTsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9ESU87CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTE9HU0VDOworCX0KKworCWlmIChhY3QgPT0gQV9GSU5EX0ZSRUUgJiYgb3B0aW5kIDwgYXJnYykgeworCQkvKgorCQkgKiBsb3NldHVwIC1mIDxiYWNraW5nX2ZpbGU+CisJCSAqLworCQlhY3QgPSBBX0NSRUFURTsKKwkJZmlsZSA9IGFyZ3Zbb3B0aW5kKytdOworCisJCWlmIChvcHRpbmQgPCBhcmdjKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuZXhwZWN0ZWQgYXJndW1lbnRzIikpOworCX0KKworCWlmIChsaXN0ICYmICFhY3QgJiYgb3B0aW5kID09IGFyZ2MpCisJCS8qCisJCSAqIGxvc2V0dXAgLS1saXN0CWRlZmF1bHRzIHRvIC0tYWxsCisJCSAqLworCQlhY3QgPSBBX1NIT1c7CisKKwlpZiAoIWFjdCAmJiBvcHRpbmQgKyAxID09IGFyZ2MpIHsKKwkJLyoKKwkJICogbG9zZXR1cCBbLS1saXN0XSA8ZGV2aWNlPgorCQkgKiBPUgorCQkgKiBsb3NldHVwIHstLWRpcmVjdC1pb1s9b2ZmXXwtLWxvZ2ljYWwtYmxvY2tzaXplPXNpemV9Li4uIDxkZXZpY2U+CisJCSAqLworCQlpZiAoIShzZXRfZGlvIHx8IHNldF9ibG9ja3NpemUpKQorCQkJYWN0ID0gQV9TSE9XX09ORTsKKwkJaWYgKHNldF9kaW8pCisJCQlhY3QgPSBBX1NFVF9ESVJFQ1RfSU87CisJCWlmIChzZXRfYmxvY2tzaXplKQorCQkJYWN0ID0gQV9TRVRfQkxPQ0tTSVpFOworCQlpZiAoIWlzX2xvb3BkZXYoYXJndltvcHRpbmRdKSB8fAorCQkgICAgbG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgYXJndltvcHRpbmRdKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIpLAorCQkJCQlhcmd2W29wdGluZF0pOworCQlvcHRpbmQrKzsKKwl9CisJaWYgKCFhY3QpIHsKKwkJLyoKKwkJICogbG9zZXR1cCA8bG9vcGRldj4gPGJhY2tpbmdfZmlsZT4KKwkJICovCisJCWFjdCA9IEFfQ1JFQVRFOworCisJCWlmIChvcHRpbmQgPj0gYXJnYykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBsb29wIGRldmljZSBzcGVjaWZpZWQiKSk7CisJCS8qIGRvbid0IHVzZSBpc19sb29wZGV2KCkgaGVyZSwgdGhlIGRldmljZSBkb2VzIG5vdCBoYXZlIGV4aXN0IHlldCAqLworCQlpZiAobG9vcGN4dF9zZXRfZGV2aWNlKCZsYywgYXJndltvcHRpbmRdKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gdXNlIGRldmljZSIpLAorCQkJCQlhcmd2W29wdGluZF0pOworCQlvcHRpbmQrKzsKKworCQlpZiAob3B0aW5kID49IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZmlsZSBzcGVjaWZpZWQiKSk7CisJCWZpbGUgPSBhcmd2W29wdGluZCsrXTsKKwl9CisKKwlpZiAoYWN0ICE9IEFfQ1JFQVRFICYmCisJICAgIChzaXplbGltaXQgfHwgbG9fZmxhZ3MgfHwgc2hvd2RldikpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJXygidGhlIG9wdGlvbnMgJXMgYXJlIGFsbG93ZWQgZHVyaW5nIGxvb3AgZGV2aWNlIHNldHVwIG9ubHkiKSwKKwkJCSItLXtzaXplbGltaXQscmVhZC1vbmx5LHNob3d9Iik7CisKKwlpZiAoKGZsYWdzICYgTE9PUERFVl9GTF9PRkZTRVQpICYmCisJICAgIGFjdCAhPSBBX0NSRUFURSAmJiAoYWN0ICE9IEFfU0hPVyB8fCAhZmlsZSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0aGUgb3B0aW9uIC0tb2Zmc2V0IGlzIG5vdCBhbGxvd2VkIGluIHRoaXMgY29udGV4dCIpKTsKKworCWlmIChvdXRhcmcgJiYgc3RyaW5nX2FkZF90b19pZGFycmF5KG91dGFyZywgY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJICZuY29sdW1ucywgY29sdW1uX25hbWVfdG9faWQpIDwgMCkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXN3aXRjaCAoYWN0KSB7CisJY2FzZSBBX0NSRUFURToKKwkJcmVzID0gY3JlYXRlX2xvb3AoJmxjLCBub19vdmVybGFwLCBsb19mbGFncywgZmxhZ3MsIGZpbGUsIG9mZnNldCwgc2l6ZWxpbWl0KTsKKwkJaWYgKHJlcyA9PSAwKSB7CisJCQlpZiAoc2hvd2RldikKKwkJCQlwcmludGYoIiVzXG4iLCBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisJCQl3YXJuX3NpemUoZmlsZSwgc2l6ZWxpbWl0KTsKKwkJCWlmIChzZXRfZGlvIHx8IHNldF9ibG9ja3NpemUpCisJCQkJZ290byBsb19zZXRfcG9zdDsKKwkJfQorCQlicmVhazsKKwljYXNlIEFfREVMRVRFOgorCQlyZXMgPSBkZWxldGVfbG9vcCgmbGMpOworCQl3aGlsZSAob3B0aW5kIDwgYXJnYykgeworCQkJaWYgKCFpc19sb29wZGV2KGFyZ3Zbb3B0aW5kXSkgfHwKKwkJCSAgICBsb29wY3h0X3NldF9kZXZpY2UoJmxjLCBhcmd2W29wdGluZF0pKQorCQkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byB1c2UgZGV2aWNlIiksCisJCQkJCQlhcmd2W29wdGluZF0pOworCQkJb3B0aW5kKys7CisJCQlyZXMgKz0gZGVsZXRlX2xvb3AoJmxjKTsKKwkJfQorCQlicmVhazsKKwljYXNlIEFfREVMRVRFX0FMTDoKKwkJcmVzID0gZGVsZXRlX2FsbF9sb29wcygmbGMpOworCQlicmVhazsKKwljYXNlIEFfRklORF9GUkVFOgorCQlyZXMgPSBsb29wY3h0X2ZpbmRfdW51c2VkKCZsYyk7CisJCWlmIChyZXMpIHsKKwkJCWludCBlcnJzdiA9IGVycm5vOworCisJCQlpZiAoYWNjZXNzKF9QQVRIX0RFVl9MT09QQ1RMLCBGX09LKSA9PSAwICYmCisJCQkgICAgYWNjZXNzKF9QQVRIX0RFVl9MT09QQ1RMLCBXX09LKSAhPSAwKQorCQkJCTsKKwkJCWVsc2UKKwkJCQllcnJubyA9IGVycnN2OworCisJCQl3YXJuKF8oImNhbm5vdCBmaW5kIGFuIHVudXNlZCBsb29wIGRldmljZSIpKTsKKwkJfSBlbHNlCisJCQlwcmludGYoIiVzXG4iLCBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisJCWJyZWFrOworCWNhc2UgQV9TSE9XOgorCQlpZiAobGlzdCkKKwkJCXJlcyA9IHNob3dfdGFibGUoJmxjLCBmaWxlLCBvZmZzZXQsIGZsYWdzKTsKKwkJZWxzZQorCQkJcmVzID0gc2hvd19hbGxfbG9vcHMoJmxjLCBmaWxlLCBvZmZzZXQsIGZsYWdzKTsKKwkJYnJlYWs7CisJY2FzZSBBX1NIT1dfT05FOgorCQlpZiAobGlzdCkKKwkJCXJlcyA9IHNob3dfdGFibGUoJmxjLCBOVUxMLCAwLCAwKTsKKwkJZWxzZQorCQkJcmVzID0gcHJpbnRmX2xvb3BkZXYoJmxjKTsKKwkJaWYgKHJlcykKKwkJCXdhcm4oIiVzIiwgbG9vcGN4dF9nZXRfZGV2aWNlKCZsYykpOworCQlicmVhazsKKwljYXNlIEFfU0VUX0NBUEFDSVRZOgorCQlyZXMgPSBsb29wY3h0X3NldF9jYXBhY2l0eSgmbGMpOworCQlpZiAocmVzKQorCQkJd2FybihfKCIlczogc2V0IGNhcGFjaXR5IGZhaWxlZCIpLAorCQkJICAgICAgICBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisJCWJyZWFrOworCWNhc2UgQV9TRVRfRElSRUNUX0lPOgorCWNhc2UgQV9TRVRfQkxPQ0tTSVpFOgorIGxvX3NldF9wb3N0OgorCQlpZiAoc2V0X2RpbykgeworCQkJcmVzID0gbG9vcGN4dF9zZXRfZGlvKCZsYywgdXNlX2Rpbyk7CisJCQlpZiAocmVzKQorCQkJCXdhcm4oXygiJXM6IHNldCBkaXJlY3QgaW8gZmFpbGVkIiksCisJCQkJICAgICAgICBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisJCX0KKwkJaWYgKHNldF9ibG9ja3NpemUpIHsKKwkJCXJlcyA9IGxvb3BjeHRfc2V0X2Jsb2Nrc2l6ZSgmbGMsIGJsb2Nrc2l6ZSk7CisJCQlpZiAocmVzKQorCQkJCXdhcm4oXygiJXM6IHNldCBsb2dpY2FsIGJsb2NrIHNpemUgZmFpbGVkIiksCisJCQkJICAgICAgICBsb29wY3h0X2dldF9kZXZpY2UoJmxjKSk7CisJCX0KKwkJYnJlYWs7CisJZGVmYXVsdDoKKwkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCWJyZWFrOworCX0KKworCWxvb3BjeHRfZGVpbml0KCZsYyk7CisJcmV0dXJuIHJlcyA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUzsKK30KKwpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2xzY3B1LWFybS5jIGIvc3lzLXV0aWxzL2xzY3B1LWFybS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIyYTlkNmYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbHNjcHUtYXJtLmMKQEAgLTAsMCArMSwyNTIgQEAKKy8qCisgKiBsc2NwdS1hcm0uYyAtIEFSTSBDUFUgaWRlbnRpZmljYXRpb24gdGFibGVzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE4IFJpa3UgVm9pcGlvIDxyaWt1LnZvaXBpb0Bpa2kuZmk+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKgorICogVGhlIGluZm9ybWF0aW9uIGhlcmUgaXMgZ2F0aGVyZWQgZnJvbQorICogIC0gQVJNIG1hbnVhbHMKKyAqICAtIExpbnV4IGtlcm5lbDogYXJjaC9hcm1YL2luY2x1ZGUvYXNtL2NwdXR5cGUuaAorICogIC0gR0NDIHNvdXJjZXM6IGNvbmZpZy9hcmNoL2FyY2gtY29yZXMuZGVmCisgKiAgLSBBbmNpZW50IHdpc2RvbQorICovCisjaW5jbHVkZSAibHNjcHUuaCIKKworc3RydWN0IGlkX3BhcnQgeworICAgIGNvbnN0IGludCBpZDsKKyAgICBjb25zdCBjaGFyKiBuYW1lOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpZF9wYXJ0IGFybV9wYXJ0W10gPSB7CisgICAgeyAweDgxMCwgIkFSTTgxMCIgfSwKKyAgICB7IDB4OTIwLCAiQVJNOTIwIiB9LAorICAgIHsgMHg5MjIsICJBUk05MjIiIH0sCisgICAgeyAweDkyNiwgIkFSTTkyNiIgfSwKKyAgICB7IDB4OTQwLCAiQVJNOTQwIiB9LAorICAgIHsgMHg5NDYsICJBUk05NDYiIH0sCisgICAgeyAweDk2NiwgIkFSTTk2NiIgfSwKKyAgICB7IDB4YTIwLCAiQVJNMTAyMCIgfSwKKyAgICB7IDB4YTIyLCAiQVJNMTAyMiIgfSwKKyAgICB7IDB4YTI2LCAiQVJNMTAyNiIgfSwKKyAgICB7IDB4YjAyLCAiQVJNMTEgTVBDb3JlIiB9LAorICAgIHsgMHhiMzYsICJBUk0xMTM2IiB9LAorICAgIHsgMHhiNTYsICJBUk0xMTU2IiB9LAorICAgIHsgMHhiNzYsICJBUk0xMTc2IiB9LAorICAgIHsgMHhjMDUsICJDb3J0ZXgtQTUiIH0sCisgICAgeyAweGMwNywgIkNvcnRleC1BNyIgfSwKKyAgICB7IDB4YzA4LCAiQ29ydGV4LUE4IiB9LAorICAgIHsgMHhjMDksICJDb3J0ZXgtQTkiIH0sCisgICAgeyAweGMwZCwgIkNvcnRleC1BMTciIH0sCS8qIE9yaWdpbmFsbHkgQTEyICovCisgICAgeyAweGMwZiwgIkNvcnRleC1BMTUiIH0sCisgICAgeyAweGMwZSwgIkNvcnRleC1BMTciIH0sCisgICAgeyAweGMxNCwgIkNvcnRleC1SNCIgfSwKKyAgICB7IDB4YzE1LCAiQ29ydGV4LVI1IiB9LAorICAgIHsgMHhjMTcsICJDb3J0ZXgtUjciIH0sCisgICAgeyAweGMxOCwgIkNvcnRleC1SOCIgfSwKKyAgICB7IDB4YzIwLCAiQ29ydGV4LU0wIiB9LAorICAgIHsgMHhjMjEsICJDb3J0ZXgtTTEiIH0sCisgICAgeyAweGMyMywgIkNvcnRleC1NMyIgfSwKKyAgICB7IDB4YzI0LCAiQ29ydGV4LU00IiB9LAorICAgIHsgMHhjMjAsICJDb3J0ZXgtTTciIH0sCisgICAgeyAweGM2MCwgIkNvcnRleC1NMCsiIH0sCisgICAgeyAweGQwMSwgIkNvcnRleC1BMzIiIH0sCisgICAgeyAweGQwMywgIkNvcnRleC1BNTMiIH0sCisgICAgeyAweGQwNCwgIkNvcnRleC1BMzUiIH0sCisgICAgeyAweGQwNSwgIkNvcnRleC1BNTUiIH0sCisgICAgeyAweGQwNywgIkNvcnRleC1BNTciIH0sCisgICAgeyAweGQwOCwgIkNvcnRleC1BNzIiIH0sCisgICAgeyAweGQwOSwgIkNvcnRleC1BNzMiIH0sCisgICAgeyAweGQwYSwgIkNvcnRleC1BNzUiIH0sCisgICAgeyAweGQxMywgIkNvcnRleC1SNTIiIH0sCisgICAgeyAweGQyMCwgIkNvcnRleC1NMjMiIH0sCisgICAgeyAweGQyMSwgIkNvcnRleC1NMzMiIH0sCisgICAgeyAtMSwgInVua25vd24iIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGlkX3BhcnQgYnJjbV9wYXJ0W10gPSB7CisgICAgeyAweDBmLCAiQnJhaG1hIEIxNSIgfSwKKyAgICB7IDB4MTAwLCAiQnJhaG1hIEI1MyIgfSwKKyAgICB7IDB4NTE2LCAiVGh1bmRlclgyIiB9LAorICAgIHsgLTEsICJ1bmtub3duIiB9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpZF9wYXJ0IGRlY19wYXJ0W10gPSB7CisgICAgeyAweGExMCwgIlNBMTEwIiB9LAorICAgIHsgMHhhMTEsICJTQTExMDAiIH0sCisgICAgeyAtMSwgInVua25vd24iIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGlkX3BhcnQgY2F2aXVtX3BhcnRbXSA9IHsKKyAgICB7IDB4MGEwLCAiVGh1bmRlclgiIH0sCisgICAgeyAweDBhMSwgIlRodW5kZXJYIDg4WFgiIH0sCisgICAgeyAweDBhMiwgIlRodW5kZXJYIDgxWFgiIH0sCisgICAgeyAweDBhMywgIlRodW5kZXJYIDgzWFgiIH0sCisgICAgeyAweDBhZiwgIlRodW5kZXJYMiA5OXh4IiB9LAorICAgIHsgLTEsICJ1bmtub3duIiB9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpZF9wYXJ0IGFwbV9wYXJ0W10gPSB7CisgICAgeyAweDAwMCwgIlgtR2VuZSIgfSwKKyAgICB7IC0xLCAidW5rbm93biIgfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaWRfcGFydCBxY29tX3BhcnRbXSA9IHsKKyAgICB7IDB4MDBmLCAiU2NvcnBpb24iIH0sCisgICAgeyAweDAyZCwgIlNjb3JwaW9uIiB9LAorICAgIHsgMHgwNGQsICJLcmFpdCIgfSwKKyAgICB7IDB4MDZmLCAiS3JhaXQiIH0sCisgICAgeyAweDIwMSwgIktyeW8iIH0sCisgICAgeyAweDIwNSwgIktyeW8iIH0sCisgICAgeyAweDIxMSwgIktyeW8iIH0sCisgICAgeyAweDgwMCwgIkZhbGtvciBWMS9LcnlvIiB9LAorICAgIHsgMHg4MDEsICJLcnlvIFYyIiB9LAorICAgIHsgMHhjMDAsICJGYWxrb3IiIH0sCisgICAgeyAweGMwMSwgIlNhcGhpcmEiIH0sCisgICAgeyAtMSwgInVua25vd24iIH0sCit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGlkX3BhcnQgc2Ftc3VuZ19wYXJ0W10gPSB7CisgICAgeyAweDAwMSwgImV4eW5vcy1tMSIgfSwKKyAgICB7IC0xLCAidW5rbm93biIgfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaWRfcGFydCBudmlkaWFfcGFydFtdID0geworICAgIHsgMHgwMDAsICJEZW52ZXIiIH0sCisgICAgeyAweDAwMywgIkRlbnZlciAyIiB9LAorICAgIHsgLTEsICJ1bmtub3duIiB9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpZF9wYXJ0IG1hcnZlbGxfcGFydFtdID0geworICAgIHsgMHgxMzEsICJGZXJvY2VvbiA4OEZSMTMxIiB9LAorICAgIHsgMHg1ODEsICJQSjQvUEo0YiIgfSwKKyAgICB7IDB4NTg0LCAiUEo0Qi1NUCIgfSwKKyAgICB7IC0xLCAidW5rbm93biIgfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaWRfcGFydCBmYXJhZGF5X3BhcnRbXSA9IHsKKyAgICB7IDB4NTI2LCAiRkE1MjYiIH0sCisgICAgeyAweDYyNiwgIkZBNjI2IiB9LAorICAgIHsgLTEsICJ1bmtub3duIiB9LAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBpZF9wYXJ0IGludGVsX3BhcnRbXSA9IHsKKyAgICB7IDB4MjAwLCAiaTgwMjAwIiB9LAorICAgIHsgMHgyMTAsICJQWEEyNTBBIiB9LAorICAgIHsgMHgyMTIsICJQWEEyMTBBIiB9LAorICAgIHsgMHgyNDIsICJpODAzMjEtNDAwIiB9LAorICAgIHsgMHgyNDMsICJpODAzMjEtNjAwIiB9LAorICAgIHsgMHgyOTAsICJQWEEyNTBCL1BYQTI2eCIgfSwKKyAgICB7IDB4MjkyLCAiUFhBMjEwQiIgfSwKKyAgICB7IDB4MmMyLCAiaTgwMzIxLTQwMC1CMCIgfSwKKyAgICB7IDB4MmMzLCAiaTgwMzIxLTYwMC1CMCIgfSwKKyAgICB7IDB4MmQwLCAiUFhBMjUwQy9QWEEyNTUvUFhBMjZ4IiB9LAorICAgIHsgMHgyZDIsICJQWEEyMTBDIiB9LAorICAgIHsgMHg0MTEsICJQWEEyN3giIH0sCisgICAgeyAweDQxYywgIklQWDQyNS01MzMiIH0sCisgICAgeyAweDQxZCwgIklQWDQyNS00MDAiIH0sCisgICAgeyAweDQxZiwgIklQWDQyNS0yNjYiIH0sCisgICAgeyAweDY4MiwgIlBYQTMyeCIgfSwKKyAgICB7IDB4NjgzLCAiUFhBOTMwL1BYQTkzNSIgfSwKKyAgICB7IDB4Njg4LCAiUFhBMzB4IiB9LAorICAgIHsgMHg2ODksICJQWEEzMXgiIH0sCisgICAgeyAweGIxMSwgIlNBMTExMCIgfSwKKyAgICB7IDB4YzEyLCAiSVBYMTIwMCIgfSwKKyAgICB7IC0xLCAidW5rbm93biIgfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaWRfcGFydCB1bmtub3duX3BhcnRbXSA9IHsKKyAgICB7IC0xLCAidW5rbm93biIgfSwKK307CisKK3N0cnVjdCBod19pbXBsIHsKKyAgIGNvbnN0IGludCAgICBpZDsKKyAgIGNvbnN0IHN0cnVjdCBpZF9wYXJ0ICAgICAqcGFydHM7CisgICBjb25zdCBjaGFyICAgKm5hbWU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IGh3X2ltcGwgaHdfaW1wbGVtZW50ZXJbXSA9IHsKKyAgICB7IDB4NDEsIGFybV9wYXJ0LCAgICAgIkFSTSIgfSwKKyAgICB7IDB4NDIsIGJyY21fcGFydCwgICAgIkJyb2FkY29tIiB9LAorICAgIHsgMHg0MywgY2F2aXVtX3BhcnQsICAiQ2F2aXVtIiB9LAorICAgIHsgMHg0NCwgZGVjX3BhcnQsICAgICAiREVDIiB9LAorICAgIHsgMHg0ZSwgbnZpZGlhX3BhcnQsICAiTnZpZGlhIiB9LAorICAgIHsgMHg1MCwgYXBtX3BhcnQsICAgICAiQVBNIiB9LAorICAgIHsgMHg1MSwgcWNvbV9wYXJ0LCAgICAiUXVhbGNvbW0iIH0sCisgICAgeyAweDUzLCBzYW1zdW5nX3BhcnQsICJTYW1zdW5nIiB9LAorICAgIHsgMHg1NiwgbWFydmVsbF9wYXJ0LCAiTWFydmVsbCIgfSwKKyAgICB7IDB4NjYsIGZhcmFkYXlfcGFydCwgIkZhcmFkYXkiIH0sCisgICAgeyAweDY5LCBpbnRlbF9wYXJ0LCAgICJJbnRlbCIgfSwKKyAgICB7IC0xLCAgIHVua25vd25fcGFydCwgInVua25vd24iIH0sCit9OworCit2b2lkIGFybV9jcHVfZGVjb2RlKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjKQoreworCWludCBqLCBpbXBsLCBwYXJ0OworCWNvbnN0IHN0cnVjdCBpZF9wYXJ0ICpwYXJ0cyA9IE5VTEw7CisJY2hhciAqZW5kOworCisJaWYgKGRlc2MtPnZlbmRvciA9PSBOVUxMIHx8IGRlc2MtPm1vZGVsID09IE5VTEwpCisJCXJldHVybjsKKwlpZiAoKHN0cm5jbXAoZGVzYy0+dmVuZG9yLCIweCIsMikgfHwgc3RybmNtcChkZXNjLT5tb2RlbCwiMHgiLDIpICkpCisJCXJldHVybjsKKworCWVycm5vID0gMDsKKwlpbXBsID0gKGludCkgc3RydG9sKGRlc2MtPnZlbmRvciwgJmVuZCwgMCk7CisJaWYgKGVycm5vIHx8IGRlc2MtPnZlbmRvciA9PSBlbmQpCisJCXJldHVybjsKKworCWVycm5vID0gMDsKKwlwYXJ0ID0gKGludCkgc3RydG9sKGRlc2MtPm1vZGVsLCAmZW5kLCAwKTsKKwlpZiAoZXJybm8gfHwgZGVzYy0+bW9kZWwgPT0gZW5kKQorCQlyZXR1cm47CisKKwlmb3IgKGogPSAwOyBod19pbXBsZW1lbnRlcltqXS5pZCAhPSAtMTsgaisrKSB7CisJCWlmIChod19pbXBsZW1lbnRlcltqXS5pZCA9PSBpbXBsKSB7CisJCQlwYXJ0cyA9IGh3X2ltcGxlbWVudGVyW2pdLnBhcnRzOworCQkJZGVzYy0+dmVuZG9yID0gKGNoYXIgKikgaHdfaW1wbGVtZW50ZXJbal0ubmFtZTsKKwkJCWJyZWFrOworCQl9CisJfQorCisJaWYgKHBhcnRzID09IE5VTEwpCisJCXJldHVybjsKKworCWZvciAoaiA9IDA7IHBhcnRzW2pdLmlkICE9IC0xOyBqKyspIHsKKwkJaWYgKHBhcnRzW2pdLmlkID09IHBhcnQpIHsKKwkJCWRlc2MtPm1vZGVsbmFtZSA9IChjaGFyICopIHBhcnRzW2pdLm5hbWU7CisJCQlicmVhazsKKwkJfQorCX0KKworCS8qIFByaW50IG91dCB0aGUgclhwWSBzdHJpbmcgZm9yIEFSTSBjb3JlcyAqLworCWlmIChpbXBsID09IDB4NDEgJiYgZGVzYy0+cmV2aXNpb24gJiYgZGVzYy0+c3RlcHBpbmcpIHsKKwkJaW50IHJldmlzaW9uLCB2YXJpYW50OworCQljaGFyIGJ1Zls4XTsKKworCQllcnJubyA9IDA7CisJCXJldmlzaW9uID0gKGludCkgc3RydG9sKGRlc2MtPnJldmlzaW9uLCAmZW5kLCAxMCk7CisJCWlmIChlcnJubyB8fCBkZXNjLT5yZXZpc2lvbiA9PSBlbmQpCisJCQlyZXR1cm47CisKKwkJZXJybm8gPSAwOworCQl2YXJpYW50ID0gKGludCkgc3RydG9sKGRlc2MtPnN0ZXBwaW5nLCAmZW5kLCAwKTsKKwkJaWYgKGVycm5vIHx8IGRlc2MtPnN0ZXBwaW5nID09IGVuZCkKKwkJCXJldHVybjsKKworCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCAiciVkcCVkIiwgdmFyaWFudCwgcmV2aXNpb24pOworCQlkZXNjLT5zdGVwcGluZyA9IHhzdHJkdXAoYnVmKTsKKwl9Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbHNjcHUtZG1pLmMgYi9zeXMtdXRpbHMvbHNjcHUtZG1pLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjliZDJlNAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9sc2NwdS1kbWkuYwpAQCAtMCwwICsxLDMwNSBAQAorLyoKKyAqIGxzY3B1LWRtaSAtIE1vZHVsZSB0byBwYXJzZSBTTUJJT1MgaW5mb3JtYXRpb24KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqCisgKiBDb2RlIG9yaWdpbmFsbHkgdGFrZW4gZnJvbSB0aGUgZG1pZGVjb2RlIHV0aWxpdHkgYW5kIHNsaWdodGx5IHJld3JpdHRlbgorICogdG8gc3VpdGUgdGhlIG5lZWRzIG9mIGxzY3B1CisgKi8KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorCisjaW5jbHVkZSAibHNjcHUuaCIKKworI2RlZmluZSBfUEFUSF9TWVNfRE1JCSAiL3N5cy9maXJtd2FyZS9kbWkvdGFibGVzL0RNSSIKKworI2RlZmluZSBXT1JEKHgpICh1aW50MTZfdCkoKihjb25zdCB1aW50MTZfdCAqKSh4KSkKKyNkZWZpbmUgRFdPUkQoeCkgKHVpbnQzMl90KSgqKGNvbnN0IHVpbnQzMl90ICopKHgpKQorCitzdHJ1Y3QgZG1pX2hlYWRlcgoreworCXVpbnQ4X3QgdHlwZTsKKwl1aW50OF90IGxlbmd0aDsKKwl1aW50MTZfdCBoYW5kbGU7CisJdWludDhfdCAqZGF0YTsKK307CisKK3N0YXRpYyBpbnQgY2hlY2tzdW0oY29uc3QgdWludDhfdCAqYnVmLCBzaXplX3QgbGVuKQoreworCXVpbnQ4X3Qgc3VtID0gMDsKKwlzaXplX3QgYTsKKworCWZvciAoYSA9IDA7IGEgPCBsZW47IGErKykKKwkJc3VtICs9IGJ1ZlthXTsKKwlyZXR1cm4gKHN1bSA9PSAwKTsKK30KKworc3RhdGljIHZvaWQgKmdldF9tZW1fY2h1bmsoc2l6ZV90IGJhc2UsIHNpemVfdCBsZW4sIGNvbnN0IGNoYXIgKmRldm1lbSkKK3sKKwl2b2lkICpwID0gTlVMTDsKKwlpbnQgZmQ7CisKKwlpZiAoKGZkID0gb3BlbihkZXZtZW0sIE9fUkRPTkxZKSkgPCAwKQorCQlyZXR1cm4gTlVMTDsKKworCWlmICghKHAgPSBtYWxsb2MobGVuKSkpCisJCWdvdG8gbm90aGluZzsKKwlpZiAobHNlZWsoZmQsIGJhc2UsIFNFRUtfU0VUKSA9PSAtMSkKKwkJZ290byBub3RoaW5nOworCWlmIChyZWFkX2FsbChmZCwgcCwgbGVuKSA9PSAtMSkKKwkJZ290byBub3RoaW5nOworCisJY2xvc2UoZmQpOworCXJldHVybiBwOworCitub3RoaW5nOgorCWZyZWUocCk7CisJY2xvc2UoZmQpOworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCB0b19kbWlfaGVhZGVyKHN0cnVjdCBkbWlfaGVhZGVyICpoLCB1aW50OF90ICpkYXRhKQoreworCWgtPnR5cGUgPSBkYXRhWzBdOworCWgtPmxlbmd0aCA9IGRhdGFbMV07CisJaC0+aGFuZGxlID0gV09SRChkYXRhICsgMik7CisJaC0+ZGF0YSA9IGRhdGE7Cit9CisKK3N0YXRpYyBjaGFyICpkbWlfc3RyaW5nKGNvbnN0IHN0cnVjdCBkbWlfaGVhZGVyICpkbSwgdWludDhfdCBzKQoreworCWNoYXIgKmJwID0gKGNoYXIgKilkbS0+ZGF0YTsKKworCWlmIChzID09IDApCisJCXJldHVybiBOVUxMOworCisJYnAgKz0gZG0tPmxlbmd0aDsKKwl3aGlsZSAocyA+IDEgJiYgKmJwKQorCXsKKwkJYnAgKz0gc3RybGVuKGJwKTsKKwkJYnArKzsKKwkJcy0tOworCX0KKworCWlmICghKmJwKQorCQlyZXR1cm4gTlVMTDsKKworCXJldHVybiBicDsKK30KKworc3RhdGljIGludCBoeXBlcnZpc29yX2Zyb21fZG1pX3RhYmxlKHVpbnQzMl90IGJhc2UsIHVpbnQxNl90IGxlbiwKKwkJCQl1aW50MTZfdCBudW0sIGNvbnN0IGNoYXIgKmRldm1lbSkKK3sKKwl1aW50OF90ICpidWY7CisJdWludDhfdCAqZGF0YTsKKwlpbnQgaSA9IDA7CisJY2hhciAqdmVuZG9yID0gTlVMTDsKKwljaGFyICpwcm9kdWN0ID0gTlVMTDsKKwljaGFyICptYW51ZmFjdHVyZXIgPSBOVUxMOworCWludCByYyA9IEhZUEVSX05PTkU7CisKKwlkYXRhID0gYnVmID0gZ2V0X21lbV9jaHVuayhiYXNlLCBsZW4sIGRldm1lbSk7CisJaWYgKCFidWYpCisJCWdvdG8gZG9uZTsKKworCSAvKiA0IGlzIHRoZSBsZW5ndGggb2YgYW4gU01CSU9TIHN0cnVjdHVyZSBoZWFkZXIgKi8KKwl3aGlsZSAoaSA8IG51bSAmJiBkYXRhICsgNCA8PSBidWYgKyBsZW4pIHsKKwkJdWludDhfdCAqbmV4dDsKKwkJc3RydWN0IGRtaV9oZWFkZXIgaDsKKworCQl0b19kbWlfaGVhZGVyKCZoLCBkYXRhKTsKKworCQkvKgorCQkgKiBJZiBhIHNob3J0IGVudHJ5IGlzIGZvdW5kIChsZXNzIHRoYW4gNCBieXRlcyksIG5vdCBvbmx5IGl0CisJCSAqIGlzIGludmFsaWQsIGJ1dCB3ZSBjYW5ub3QgcmVsaWFibHkgbG9jYXRlIHRoZSBuZXh0IGVudHJ5LgorCQkgKiBCZXR0ZXIgc3RvcCBhdCB0aGlzIHBvaW50LgorCQkgKi8KKwkJaWYgKGgubGVuZ3RoIDwgNCkKKwkJCWdvdG8gZG9uZTsKKworCQkvKiBsb29rIGZvciB0aGUgbmV4dCBoYW5kbGUgKi8KKwkJbmV4dCA9IGRhdGEgKyBoLmxlbmd0aDsKKwkJd2hpbGUgKG5leHQgLSBidWYgKyAxIDwgbGVuICYmIChuZXh0WzBdICE9IDAgfHwgbmV4dFsxXSAhPSAwKSkKKwkJCW5leHQrKzsKKwkJbmV4dCArPSAyOworCQlzd2l0Y2ggKGgudHlwZSkgeworCQkJY2FzZSAwOgorCQkJCXZlbmRvciA9IGRtaV9zdHJpbmcoJmgsIGRhdGFbMHgwNF0pOworCQkJCWJyZWFrOworCQkJY2FzZSAxOgorCQkJCW1hbnVmYWN0dXJlciA9IGRtaV9zdHJpbmcoJmgsIGRhdGFbMHgwNF0pOworCQkJCXByb2R1Y3QgPSBkbWlfc3RyaW5nKCZoLCBkYXRhWzB4MDVdKTsKKwkJCQlicmVhazsKKwkJCWRlZmF1bHQ6CisJCQkJYnJlYWs7CisJCX0KKworCQlkYXRhID0gbmV4dDsKKwkJaSsrOworCX0KKwlpZiAobWFudWZhY3R1cmVyICYmICFzdHJjbXAobWFudWZhY3R1cmVyLCAiaW5ub3RlayBHbWJIIikpCisJCXJjID0gSFlQRVJfSU5OT1RFSzsKKwllbHNlIGlmIChtYW51ZmFjdHVyZXIgJiYgc3Ryc3RyKG1hbnVmYWN0dXJlciwgIkhJVEFDSEkiKSAmJgorCQkJCQlwcm9kdWN0ICYmIHN0cnN0cihwcm9kdWN0LCAiTFBBUiIpKQorCQlyYyA9IEhZUEVSX0hJVEFDSEk7CisJZWxzZSBpZiAodmVuZG9yICYmICFzdHJjbXAodmVuZG9yLCAiUGFyYWxsZWxzIikpCisJCXJjID0gSFlQRVJfUEFSQUxMRUxTOworZG9uZToKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHJjOworfQorCisjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9faTM4Nl9fKQorc3RhdGljIGludCBoeXBlcnZpc29yX2RlY29kZV9sZWdhY3kodWludDhfdCAqYnVmLCBjb25zdCBjaGFyICpkZXZtZW0pCit7CisJaWYgKCFjaGVja3N1bShidWYsIDB4MEYpKQorCQlyZXR1cm4gLTE7CisKKwlyZXR1cm4gaHlwZXJ2aXNvcl9mcm9tX2RtaV90YWJsZShEV09SRChidWYgKyAweDA4KSwgV09SRChidWYgKyAweDA2KSwKKwkJCSBXT1JEKGJ1ZiArIDB4MEMpLAorCQlkZXZtZW0pOworfQorI2VuZGlmCisKK3N0YXRpYyBpbnQgaHlwZXJ2aXNvcl9kZWNvZGVfc21iaW9zKHVpbnQ4X3QgKmJ1ZiwgY29uc3QgY2hhciAqZGV2bWVtKQoreworCWlmICghY2hlY2tzdW0oYnVmLCBidWZbMHgwNV0pCisJICAgIHx8IG1lbWNtcChidWYgKyAweDEwLCAiX0RNSV8iLCA1KSAhPSAwCisJICAgIHx8ICFjaGVja3N1bShidWYgKyAweDEwLCAweDBGKSkKKwkJcmV0dXJuIC0xOworCisJcmV0dXJuIGh5cGVydmlzb3JfZnJvbV9kbWlfdGFibGUoRFdPUkQoYnVmICsgMHgxOCksIFdPUkQoYnVmICsgMHgxNiksCisJCQkgV09SRChidWYgKyAweDFDKSwKKwkJZGV2bWVtKTsKK30KKworc3RhdGljIGludCBoeXBlcnZpc29yX2RlY29kZV9zeXNmdyh2b2lkKQoreworCXN0YXRpYyBjaGFyIGNvbnN0IHN5c19md19kbWlfdGFibGVzW10gPSBfUEFUSF9TWVNfRE1JOworCXN0cnVjdCBzdGF0IHN0OworCisJaWYgKHN0YXQoc3lzX2Z3X2RtaV90YWJsZXMsICZzdCkpCisJCXJldHVybiAtMTsKKworCXJldHVybiBoeXBlcnZpc29yX2Zyb21fZG1pX3RhYmxlKDAsIHN0LnN0X3NpemUsIHN0LnN0X3NpemUgLyA0LAorCQkJCQkgc3lzX2Z3X2RtaV90YWJsZXMpOworfQorCisvKgorICogUHJvYmUgZm9yIEVGSSBpbnRlcmZhY2UKKyAqLworI2RlZmluZSBFRklfTk9UX0ZPVU5EICAgKC0xKQorI2RlZmluZSBFRklfTk9fU01CSU9TICAgKC0yKQorc3RhdGljIGludCBhZGRyZXNzX2Zyb21fZWZpKHNpemVfdCAqYWRkcmVzcykKK3sKKwlGSUxFICp0YWI7CisJY2hhciBsaW5lYnVmWzY0XTsKKwlpbnQgcmV0OworCisJKmFkZHJlc3MgPSAwOyAvKiBQcmV2ZW50IGNvbXBpbGVyIHdhcm5pbmcgKi8KKworCS8qCisJICogTGludXggdXAgdG8gMi42LjY6IC9wcm9jL2VmaS9zeXN0YWIKKwkgKiBMaW51eCAyLjYuNyBhbmQgdXA6IC9zeXMvZmlybXdhcmUvZWZpL3N5c3RhYgorCSAqLworCWlmICghKHRhYiA9IGZvcGVuKCIvc3lzL2Zpcm13YXJlL2VmaS9zeXN0YWIiLCAiciIpKSAmJgorCSAgICAhKHRhYiA9IGZvcGVuKCIvcHJvYy9lZmkvc3lzdGFiIiwgInIiKSkpCisJCXJldHVybiBFRklfTk9UX0ZPVU5EOwkJLyogTm8gRUZJIGludGVyZmFjZSAqLworCisJcmV0ID0gRUZJX05PX1NNQklPUzsKKwl3aGlsZSAoKGZnZXRzKGxpbmVidWYsIHNpemVvZihsaW5lYnVmKSAtIDEsIHRhYikpICE9IE5VTEwpIHsKKwkJY2hhciAqYWRkcnAgPSBzdHJjaHIobGluZWJ1ZiwgJz0nKTsKKwkJaWYgKCFhZGRycCkKKwkJCWNvbnRpbnVlOworCQkqKGFkZHJwKyspID0gJ1wwJzsKKwkJaWYgKHN0cmNtcChsaW5lYnVmLCAiU01CSU9TIikgPT0gMCkgeworCQkJKmFkZHJlc3MgPSBzdHJ0b3VsKGFkZHJwLCBOVUxMLCAwKTsKKwkJCXJldCA9IDA7CisJCQlicmVhazsKKwkJfQorCX0KKworCWZjbG9zZSh0YWIpOworCXJldHVybiByZXQ7Cit9CisKK2ludCByZWFkX2h5cGVydmlzb3JfZG1pKHZvaWQpCit7CisJaW50IHJjID0gSFlQRVJfTk9ORTsKKwl1aW50OF90ICpidWYgPSBOVUxMOworCXNpemVfdCBmcCA9IDA7CisKKwlpZiAoc2l6ZW9mKHVpbnQ4X3QpICE9IDEKKwkgICAgfHwgc2l6ZW9mKHVpbnQxNl90KSAhPSAyCisJICAgIHx8IHNpemVvZih1aW50MzJfdCkgIT0gNAorCSAgICB8fCAnXDAnICE9IDApCisJCWdvdG8gZG9uZTsKKworCS8qIC0xIDogbm8gRE1JIGluIC9zeXMsCisJICogIDAgOiBETUkgZXhpc3QsIG5vdGhpbmcgZGV0ZWN0ZWQgKEhZUEVSX05PTkUpCisJICogPjAgOiBoeXBlcnZpc29yIGRldGVjdGVkCisJICovCisJcmMgPSBoeXBlcnZpc29yX2RlY29kZV9zeXNmdygpOworCWlmIChyYyA+PSBIWVBFUl9OT05FKQorCQlnb3RvIGRvbmU7CisKKwkvKiBGaXJzdCB0cnkgRUZJIChpYTY0LCBJbnRlbC1iYXNlZCBNYWMpICovCisJc3dpdGNoIChhZGRyZXNzX2Zyb21fZWZpKCZmcCkpIHsKKwkJY2FzZSBFRklfTk9UX0ZPVU5EOgorCQkJZ290byBtZW1vcnlfc2NhbjsKKwkJY2FzZSBFRklfTk9fU01CSU9TOgorCQkJZ290byBkb25lOworCX0KKworCWJ1ZiA9IGdldF9tZW1fY2h1bmsoZnAsIDB4MjAsIF9QQVRIX0RFVl9NRU0pOworCWlmICghYnVmKQorCQlnb3RvIGRvbmU7CisKKwlyYyA9IGh5cGVydmlzb3JfZGVjb2RlX3NtYmlvcyhidWYsIF9QQVRIX0RFVl9NRU0pOworCWlmIChyYyA+PSBIWVBFUl9OT05FKQorCQlnb3RvIGRvbmU7CisKKwlmcmVlKGJ1Zik7CisJYnVmID0gTlVMTDsKK21lbW9yeV9zY2FuOgorI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2kzODZfXykKKwkvKiBGYWxsYmFjayB0byBtZW1vcnkgc2NhbiAoeDg2LCB4ODZfNjQpICovCisJYnVmID0gZ2V0X21lbV9jaHVuaygweEYwMDAwLCAweDEwMDAwLCBfUEFUSF9ERVZfTUVNKTsKKwlpZiAoIWJ1ZikKKwkJZ290byBkb25lOworCisJZm9yIChmcCA9IDA7IGZwIDw9IDB4RkZGMDsgZnAgKz0gMTYpIHsKKwkJaWYgKG1lbWNtcChidWYgKyBmcCwgIl9TTV8iLCA0KSA9PSAwICYmIGZwIDw9IDB4RkZFMCkgeworCQkJcmMgPSBoeXBlcnZpc29yX2RlY29kZV9zbWJpb3MoYnVmICsgZnAsIF9QQVRIX0RFVl9NRU0pOworCQkJaWYgKHJjIDwgMCkKKwkJCQlmcCArPSAxNjsKKworCQl9IGVsc2UgaWYgKG1lbWNtcChidWYgKyBmcCwgIl9ETUlfIiwgNSkgPT0gMCkKKwkJCXJjID0gaHlwZXJ2aXNvcl9kZWNvZGVfbGVnYWN5KGJ1ZiArIGZwLCBfUEFUSF9ERVZfTUVNKTsKKworCQlpZiAocmMgPj0gSFlQRVJfTk9ORSkKKwkJCWJyZWFrOworCX0KKyNlbmRpZgorZG9uZToKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHJjIDwgMCA/IEhZUEVSX05PTkUgOiByYzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc2NwdS4xIGIvc3lzLXV0aWxzL2xzY3B1LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmE3YTQ3NQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9sc2NwdS4xCkBAIC0wLDAgKzEsMTg1IEBACisuVEggTFNDUFUgMSAiTm92ZW1iZXIgMjAxNSIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2xzY3B1IFwtIGRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUKKy5TSCBTWU5PUFNJUworLkIgbHNjcHUKKy5SQiBbIFwtYSB8IFwtYiB8IFwtYyB8IFwtSiAiXSBbIiBcLXggIl0gWyIgXC15ICJdIFsiIFwtcyAiIFxmSWRpcmVjdG9yeVxmUF0gWyIgXC1lIFs9XGZJbGlzdFxmUF18IFwtcCBbPVxmSWxpc3RcZlBdXQorLmJyCisuQiBsc2NwdQorLkJSIFwtaCB8IFwtVgorLlNIIERFU0NSSVBUSU9OCisuQiBsc2NwdQorZ2F0aGVycyBDUFUgYXJjaGl0ZWN0dXJlIGluZm9ybWF0aW9uIGZyb20gc3lzZnMsIC9wcm9jL2NwdWluZm8gYW5kIGFueQorYXBwbGljYWJsZSBhcmNoaXRlY3R1cmUtc3BlY2lmaWMgbGlicmFyaWVzIChlLmcuXCYgbGlicnRhcyBvbiBQb3dlcnBjKS4gIFRoZQorY29tbWFuZCBvdXRwdXQgY2FuIGJlIG9wdGltaXplZCBmb3IgcGFyc2luZyBvciBmb3IgZWFzeSByZWFkYWJpbGl0eSBieSBodW1hbnMuCitUaGUgaW5mb3JtYXRpb24gaW5jbHVkZXMsIGZvciBleGFtcGxlLCB0aGUgbnVtYmVyIG9mIENQVXMsIHRocmVhZHMsIGNvcmVzLAorc29ja2V0cywgYW5kIE5vbi1Vbmlmb3JtIE1lbW9yeSBBY2Nlc3MgKE5VTUEpIG5vZGVzLiAgVGhlcmUgaXMgYWxzbyBpbmZvcm1hdGlvbgorYWJvdXQgdGhlIENQVSBjYWNoZXMgYW5kIGNhY2hlIHNoYXJpbmcsIGZhbWlseSwgbW9kZWwsIGJvZ29NSVBTLCBieXRlIG9yZGVyLAorYW5kIHN0ZXBwaW5nLgorLnNwCitJbiB2aXJ0dWFsaXplZCBlbnZpcm9ubWVudHMsIHRoZSBDUFUgYXJjaGl0ZWN0dXJlIGluZm9ybWF0aW9uIGRpc3BsYXllZAorcmVmbGVjdHMgdGhlIGNvbmZpZ3VyYXRpb24gb2YgdGhlIGd1ZXN0IG9wZXJhdGluZyBzeXN0ZW0gd2hpY2ggaXMKK3R5cGljYWxseSBkaWZmZXJlbnQgZnJvbSB0aGUgcGh5c2ljYWwgKGhvc3QpIHN5c3RlbS4gIE9uIGFyY2hpdGVjdHVyZXMgdGhhdAorc3VwcG9ydCByZXRyaWV2aW5nIHBoeXNpY2FsIHRvcG9sb2d5IGluZm9ybWF0aW9uLAorLkIgbHNjcHUKK2Fsc28gZGlzcGxheXMgdGhlIG51bWJlciBvZiBwaHlzaWNhbCBzb2NrZXRzLCBjaGlwcywgY29yZXMgaW4gdGhlIGhvc3Qgc3lzdGVtLgorLnNwCitPcHRpb25zIHRoYXQgcmVzdWx0IGluIGFuIG91dHB1dCB0YWJsZSBoYXZlIGEgXGZJbGlzdFxmUCBhcmd1bWVudC4gIFVzZSB0aGlzCithcmd1bWVudCB0byBjdXN0b21pemUgdGhlIGNvbW1hbmQgb3V0cHV0LiAgU3BlY2lmeSBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mCitjb2x1bW4gbGFiZWxzIHRvIGxpbWl0IHRoZSBvdXRwdXQgdGFibGUgdG8gb25seSB0aGUgc3BlY2lmaWVkIGNvbHVtbnMsIGFycmFuZ2VkCitpbiB0aGUgc3BlY2lmaWVkIG9yZGVyLiAgU2VlIFxmQkNPTFVNTlNcZlAgZm9yIGEgbGlzdCBvZiB2YWxpZCBjb2x1bW4gbGFiZWxzLiAgVGhlCitjb2x1bW4gbGFiZWxzIGFyZSBub3QgY2FzZSBzZW5zaXRpdmUuCisuc3AKK05vdCBhbGwgY29sdW1ucyBhcmUgc3VwcG9ydGVkIG9uIGFsbCBhcmNoaXRlY3R1cmVzLiAgSWYgYW4gdW5zdXBwb3J0ZWQgY29sdW1uIGlzCitzcGVjaWZpZWQsIFxmQmxzY3B1XGZQIHByaW50cyB0aGUgY29sdW1uIGJ1dCBkb2VzIG5vdCBwcm92aWRlIGFueSBkYXRhIGZvciBpdC4KKworLlNTIENPTFVNTlMKK05vdGUgdGhhdCB0b3BvbG9neSBlbGVtZW50cyAoY29yZSwgc29ja2V0LCBldGMuKSB1c2UgYSBzZXF1ZW50aWFsIHVuaXF1ZSBJRAorc3RhcnRpbmcgZnJvbSB6ZXJvLCBidXQgQ1BVIGxvZ2ljYWwgbnVtYmVycyBmb2xsb3cgdGhlIGtlcm5lbCB3aGVyZSB0aGVyZSBpcworbm8gZ3VhcmFudGVlIG9mIHNlcXVlbnRpYWwgbnVtYmVyaW5nLgorLlRQCisuQiBDUFUKK1RoZSBsb2dpY2FsIENQVSBudW1iZXIgb2YgYSBDUFUgYXMgdXNlZCBieSB0aGUgTGludXgga2VybmVsLgorLlRQCisuQiBDT1JFCitUaGUgbG9naWNhbCBjb3JlIG51bWJlci4gIEEgY29yZSBjYW4gY29udGFpbiBzZXZlcmFsIENQVXMuCisuVFAKKy5CIFNPQ0tFVAorVGhlIGxvZ2ljYWwgc29ja2V0IG51bWJlci4gIEEgc29ja2V0IGNhbiBjb250YWluIHNldmVyYWwgY29yZXMuCisuVFAKKy5CIEJPT0sKK1RoZSBsb2dpY2FsIGJvb2sgbnVtYmVyLiAgQSBib29rIGNhbiBjb250YWluIHNldmVyYWwgc29ja2V0cy4KKy5UUAorLkIgRFJBV0VSCitUaGUgbG9naWNhbCBkcmF3ZXIgbnVtYmVyLiAgQSBkcmF3ZXIgY2FuIGNvbnRhaW4gc2V2ZXJhbCBib29rcy4KKy5UUAorLkIgTk9ERQorVGhlIGxvZ2ljYWwgTlVNQSBub2RlIG51bWJlci4gIEEgbm9kZSBjYW4gY29udGFpbiBzZXZlcmFsIGRyYXdlcnMuCisuVFAKKy5CIENBQ0hFCitJbmZvcm1hdGlvbiBhYm91dCBob3cgY2FjaGVzIGFyZSBzaGFyZWQgYmV0d2VlbiBDUFVzLgorLlRQCisuQiBBRERSRVNTCitUaGUgcGh5c2ljYWwgYWRkcmVzcyBvZiBhIENQVS4KKy5UUAorLkIgT05MSU5FCitJbmRpY2F0b3IgdGhhdCBzaG93cyB3aGV0aGVyIHRoZSBMaW51eCBpbnN0YW5jZSBjdXJyZW50bHkgbWFrZXMgdXNlIG9mIHRoZSBDUFUuCisuVFAKKy5CIENPTkZJR1VSRUQKK0luZGljYXRvciB0aGF0IHNob3dzIGlmIHRoZSBoeXBlcnZpc29yIGhhcyBhbGxvY2F0ZWQgdGhlIENQVSB0byB0aGUgdmlydHVhbAoraGFyZHdhcmUgb24gd2hpY2ggdGhlIExpbnV4IGluc3RhbmNlIHJ1bnMuICBDUFVzIHRoYXQgYXJlIGNvbmZpZ3VyZWQgY2FuIGJlIHNldAorb25saW5lIGJ5IHRoZSBMaW51eCBpbnN0YW5jZS4KK1RoaXMgY29sdW1uIGNvbnRhaW5zIGRhdGEgb25seSBpZiB5b3VyIGhhcmR3YXJlIHN5c3RlbSBhbmQgaHlwZXJ2aXNvciBzdXBwb3J0CitkeW5hbWljIENQVSByZXNvdXJjZSBhbGxvY2F0aW9uLgorLlRQCisuQiBQT0xBUklaQVRJT04KK1RoaXMgY29sdW1uIGNvbnRhaW5zIGRhdGEgZm9yIExpbnV4IGluc3RhbmNlcyB0aGF0IHJ1biBvbiB2aXJ0dWFsIGhhcmR3YXJlIHdpdGgKK2EgaHlwZXJ2aXNvciB0aGF0IGNhbiBzd2l0Y2ggdGhlIENQVSBkaXNwYXRjaGluZyBtb2RlIChwb2xhcml6YXRpb24pLiAgVGhlCitwb2xhcml6YXRpb24gY2FuIGJlOgorLlJTCisuVFAgMTIKKy5CIGhvcml6b250YWxcZlAKK1RoZSB3b3JrbG9hZCBpcyBzcHJlYWQgYWNyb3NzIGFsbCBhdmFpbGFibGUgQ1BVcy4KKy5UUCAxMgorLkIgdmVydGljYWwKK1RoZSB3b3JrbG9hZCBpcyBjb25jZW50cmF0ZWQgb24gZmV3IENQVXMuCisuUAorRm9yIHZlcnRpY2FsIHBvbGFyaXphdGlvbiwgdGhlIGNvbHVtbiBhbHNvIHNob3dzIHRoZSBkZWdyZWUgb2YgY29uY2VudHJhdGlvbiwKK2hpZ2gsIG1lZGl1bSwgb3IgbG93LiAgVGhpcyBjb2x1bW4gY29udGFpbnMgZGF0YSBvbmx5IGlmIHlvdXIgaGFyZHdhcmUgc3lzdGVtCithbmQgaHlwZXJ2aXNvciBzdXBwb3J0IENQVSBwb2xhcml6YXRpb24uCisuUkUKKy5UUAorLkIgTUFYTUhaCitNYXhpbXVtIG1lZ2FoZXJ0eiB2YWx1ZSBmb3IgdGhlIENQVS4gVXNlZnVsIHdoZW4gXGZCbHNjcHVcZlAgaXMgdXNlZCBhcyBoYXJkd2FyZQoraW52ZW50b3J5IGluZm9ybWF0aW9uIGdhdGhlcmluZyB0b29sLiAgTm90aWNlIHRoYXQgdGhlIG1lZ2FoZXJ0eiB2YWx1ZSBpcworZHluYW1pYywgYW5kIGRyaXZlbiBieSBDUFUgZ292ZXJub3IgZGVwZW5kaW5nIG9uIGN1cnJlbnQgcmVzb3VyY2UgbmVlZC4KKy5UUAorLkIgTUlOTUhaCitNaW5pbXVtIG1lZ2FoZXJ0eiB2YWx1ZSBmb3IgdGhlIENQVS4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hbGwiCitJbmNsdWRlIGxpbmVzIGZvciBvbmxpbmUgYW5kIG9mZmxpbmUgQ1BVcyBpbiB0aGUgb3V0cHV0IChkZWZhdWx0IGZvciBcZkItZVxmUikuCitUaGlzIG9wdGlvbiBtYXkgb25seSBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBvcHRpb24gXGZCLWVcZlIgb3IgXGZCLXBcZlIuCisuVFAKKy5CUiBcLWIgLCAiIFwtXC1vbmxpbmUiCitMaW1pdCB0aGUgb3V0cHV0IHRvIG9ubGluZSBDUFVzIChkZWZhdWx0IGZvciBcZkItcFxmUikuCitUaGlzIG9wdGlvbiBtYXkgb25seSBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBvcHRpb24gXGZCLWVcZlIgb3IgXGZCLXBcZlIuCisuVFAKKy5CUiBcLWMgLCAiIFwtXC1vZmZsaW5lIgorTGltaXQgdGhlIG91dHB1dCB0byBvZmZsaW5lIENQVXMuCitUaGlzIG9wdGlvbiBtYXkgb25seSBiZSBzcGVjaWZpZWQgdG9nZXRoZXIgd2l0aCBvcHRpb24gXGZCLWVcZlIgb3IgXGZCLXBcZlIuCisuVFAKKy5CUiBcLWUgLCAiIFwtXC1leHRlbmRlZCIgWz1cZklsaXN0XGZQXQorRGlzcGxheSB0aGUgQ1BVIGluZm9ybWF0aW9uIGluIGh1bWFuLXJlYWRhYmxlIGZvcm1hdC4KKworSWYgdGhlIFxmSWxpc3RcZlAgYXJndW1lbnQgaXMgb21pdHRlZCwgYWxsIGNvbHVtbnMgZm9yIHdoaWNoIGRhdGEgaXMgYXZhaWxhYmxlCithcmUgaW5jbHVkZWQgaW4gdGhlIGNvbW1hbmQgb3V0cHV0LgorCitXaGVuIHNwZWNpZnlpbmcgdGhlIFxmSWxpc3RcZlAgYXJndW1lbnQsIHRoZSBzdHJpbmcgb2Ygb3B0aW9uLCBlcXVhbCBzaWduICg9KSwgYW5kCitcZklsaXN0XGZQIG11c3Qgbm90IGNvbnRhaW4gYW55IGJsYW5rcyBvciBvdGhlciB3aGl0ZXNwYWNlLgorRXhhbXBsZXM6ICdcZkItZT1jcHUsbm9kZVxmUCcgb3IgJ1xmQi0tZXh0ZW5kZWQ9Y3B1LG5vZGVcZlAnLgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC1KICwgIiBcLVwtanNvbiIKK1VzZSBKU09OIG91dHB1dCBmb3JtYXQgZm9yIHRoZSBkZWZhdWx0IHN1bW1hcnkgb3IgZXh0ZW5kZWQgb3V0cHV0IChzZWUgXGZCXC1cLWV4dGVuZGVkXGZQKS4KKy5CUgorLlRQCisuQlIgXC1wICwgIiBcLVwtcGFyc2UiIFs9XGZJbGlzdFxmUF0KK09wdGltaXplIHRoZSBjb21tYW5kIG91dHB1dCBmb3IgZWFzeSBwYXJzaW5nLgorCitJZiB0aGUgXGZJbGlzdFxmUCBhcmd1bWVudCBpcyBvbWl0dGVkLCB0aGUgY29tbWFuZCBvdXRwdXQgaXMgY29tcGF0aWJsZSB3aXRoIGVhcmxpZXIKK3ZlcnNpb25zIG9mIFxmQmxzY3B1XGZQLiAgSW4gdGhpcyBjb21wYXRpYmxlIGZvcm1hdCwgdHdvIGNvbW1hcyBhcmUgdXNlZCB0byBzZXBhcmF0ZQorQ1BVIGNhY2hlIGNvbHVtbnMuICBJZiBubyBDUFUgY2FjaGVzIGFyZSBpZGVudGlmaWVkIHRoZSBjYWNoZSBjb2x1bW4gaXMgb21pdHRlZC4KKy5icgorSWYgdGhlIFxmSWxpc3RcZlAgYXJndW1lbnQgaXMgdXNlZCwgY2FjaGUgY29sdW1ucyBhcmUgc2VwYXJhdGVkIHdpdGggYSBjb2xvbiAoOikuCisKK1doZW4gc3BlY2lmeWluZyB0aGUgXGZJbGlzdFxmUCBhcmd1bWVudCwgdGhlIHN0cmluZyBvZiBvcHRpb24sIGVxdWFsIHNpZ24gKD0pLCBhbmQKK1xmSWxpc3RcZlAgbXVzdCBub3QgY29udGFpbiBhbnkgYmxhbmtzIG9yIG90aGVyIHdoaXRlc3BhY2UuCitFeGFtcGxlczogJ1xmQi1wPWNwdSxub2RlXGZQJyBvciAnXGZCLS1wYXJzZT1jcHUsbm9kZVxmUCcuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zeXNyb290ICIgXGZJZGlyZWN0b3J5XGZQCitHYXRoZXIgQ1BVIGRhdGEgZm9yIGEgTGludXggaW5zdGFuY2Ugb3RoZXIgdGhhbiB0aGUgaW5zdGFuY2UgZnJvbSB3aGljaCB0aGUKK1xmQmxzY3B1XGZQIGNvbW1hbmQgaXMgaXNzdWVkLiAgVGhlIHNwZWNpZmllZCBcZklkaXJlY3RvcnlcZlAgaXMgdGhlIHN5c3RlbSByb290CitvZiB0aGUgTGludXggaW5zdGFuY2UgdG8gYmUgaW5zcGVjdGVkLgorLlRQCisuQlIgXC14ICwgIiBcLVwtaGV4IgorVXNlIGhleGFkZWNpbWFsIG1hc2tzIGZvciBDUFUgc2V0cyAoZm9yIGV4YW1wbGUgMHgzKS4gIFRoZSBkZWZhdWx0IGlzIHRvIHByaW50Cit0aGUgc2V0cyBpbiBsaXN0IGZvcm1hdCAoZm9yIGV4YW1wbGUgMCwxKS4KKy5UUAorLkJSIFwteSAsICIgXC1cLXBoeXNpY2FsIgorRGlzcGxheSBwaHlzaWNhbCBJRHMgZm9yIGFsbCBjb2x1bW5zIHdpdGggdG9wb2xvZ3kgZWxlbWVudHMgKGNvcmUsIHNvY2tldCwgZXRjLikuCitPdGhlciB0aGFuIGxvZ2ljYWwgSURzLCB3aGljaCBhcmUgYXNzaWduZWQgYnkgXGZCbHNjcHVcZlAsIHBoeXNpY2FsIElEcyBhcmUKK3BsYXRmb3JtLXNwZWNpZmljIHZhbHVlcyB0aGF0IGFyZSBwcm92aWRlZCBieSB0aGUga2VybmVsLiBQaHlzaWNhbCBJRHMgYXJlIG5vdAorbmVjZXNzYXJpbHkgdW5pcXVlIGFuZCB0aGV5IG1pZ2h0IG5vdCBiZSBhcnJhbmdlZCBzZXF1ZW50aWFsbHkuCitJZiB0aGUga2VybmVsIGNvdWxkIG5vdCByZXRyaWV2ZSBhIHBoeXNpY2FsIElEIGZvciBhbiBlbGVtZW50IFxmQmxzY3B1XGZQIHByaW50cwordGhlIGRhc2ggKC0pIGNoYXJhY3Rlci4KKworVGhlIENQVSBsb2dpY2FsIG51bWJlcnMgYXJlIG5vdCBhZmZlY3RlZCBieSB0aGlzIG9wdGlvbi4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CIFwtXC1vdXRwdXRcLWFsbAorT3V0cHV0IGFsbCBhdmFpbGFibGUgY29sdW1ucy4gIFRoaXMgb3B0aW9uIG11c3QgYmUgY29tYmluZWQgd2l0aCBlaXRoZXIKKy5CUiBcLVwtZXh0ZW5kZWQgIiBvciAiIFwtXC1wYXJzZSAuCisuU0ggQlVHUworVGhlIGJhc2ljIG92ZXJ2aWV3IG9mIENQVSBmYW1pbHksIG1vZGVsLCBldGMuIGlzIGFsd2F5cyBiYXNlZCBvbiB0aGUgZmlyc3QKK0NQVSBvbmx5LgorCitTb21ldGltZXMgaW4gWGVuIERvbTAgdGhlIGtlcm5lbCByZXBvcnRzIHdyb25nIGRhdGEuCisKK09uIHZpcnR1YWwgaGFyZHdhcmUgdGhlIG51bWJlciBvZiBjb3JlcyBwZXIgc29ja2V0LCBldGMuIGNhbiBiZSB3cm9uZy4KKy5TSCBBVVRIT1IKKy5uZgorQ2FpIFFpYW4gPHFjYWlAcmVkaGF0LmNvbT4KK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorSGVpa28gQ2Fyc3RlbnMgPGhlaWtvLmNhcnN0ZW5zQGRlLmlibS5jb20+CisuZmkKKy5TSCAiU0VFIEFMU08iCisuQlIgY2hjcHUgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbHNjcHUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc2NwdS5jIGIvc3lzLXV0aWxzL2xzY3B1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVkZjIxYwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9sc2NwdS5jCkBAIC0wLDAgKzEsMjEyNyBAQAorLyoKKyAqIGxzY3B1IC0gQ1BVIGFyY2hpdGVjdHVyZSBpbmZvcm1hdGlvbiBoZWxwZXIKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDggQ2FpIFFpYW4gPHFjYWlAcmVkaGF0LmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvdXRzbmFtZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGFyZy5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpZiAoZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9faTM4Nl9fKSkKKyMgaWYgIWRlZmluZWQoIF9fU0FOSVRJWkVfQUREUkVTU19fKQorIyAgZGVmaW5lIElOQ0xVREVfVk1XQVJFX0JET09SCisjIGVsc2UKKyMgIHdhcm5pbmcgVk1XQVJFIGRldGVjdGlvbiBkaXNhYmxlZCBieSBfX1NBTklUSVpFX0FERFJFU1NfXworIyBlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBJTkNMVURFX1ZNV0FSRV9CRE9PUgorIyBpbmNsdWRlIDxzdGRpbnQuaD4KKyMgaW5jbHVkZSA8c2lnbmFsLmg+CisjIGluY2x1ZGUgPHN0cmluZ3MuaD4KKyMgaW5jbHVkZSA8c2V0am1wLmg+CisjIGlmZGVmIEhBVkVfU1lTX0lPX0gKKyMgIGluY2x1ZGUgPHN5cy9pby5oPgorIyBlbmRpZgorI2VuZGlmCisKKyNpZiBkZWZpbmVkKEhBVkVfTElCUlRBUykKKyNpbmNsdWRlIDxsaWJydGFzLmg+CisjZW5kaWYKKworI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorCisjaW5jbHVkZSAibHNjcHUuaCIKKworI2RlZmluZSBDQUNIRV9NQVggMTAwCisKKy8qIC9zeXMgcGF0aHMgKi8KKyNkZWZpbmUgX1BBVEhfU1lTX1NZU1RFTQkiL3N5cy9kZXZpY2VzL3N5c3RlbSIKKyNkZWZpbmUgX1BBVEhfU1lTX0hZUF9GRUFUVVJFUwkiL3N5cy9oeXBlcnZpc29yL3Byb3BlcnRpZXMvZmVhdHVyZXMiCisjZGVmaW5lIF9QQVRIX1NZU19DUFUJCV9QQVRIX1NZU19TWVNURU0gIi9jcHUiCisjZGVmaW5lIF9QQVRIX1NZU19OT0RFCQlfUEFUSF9TWVNfU1lTVEVNICIvbm9kZSIKKworLyogWGVuIERvbWFpbiBmZWF0dXJlIGZsYWcgdXNlZCBmb3IgL3N5cy9oeXBlcnZpc29yL3Byb3BlcnRpZXMvZmVhdHVyZXMgKi8KKyNkZWZpbmUgWEVORkVBVF9zdXBlcnZpc29yX21vZGVfa2VybmVsCQkzCisjZGVmaW5lIFhFTkZFQVRfbW11X3B0X3VwZGF0ZV9wcmVzZXJ2ZV9hZAk1CisjZGVmaW5lIFhFTkZFQVRfaHZtX2NhbGxiYWNrX3ZlY3RvcgkJCTgKKworI2RlZmluZSBYRU5fRkVBVFVSRVNfUFZfTUFTSwkoMVUgPDwgWEVORkVBVF9tbXVfcHRfdXBkYXRlX3ByZXNlcnZlX2FkKQorI2RlZmluZSBYRU5fRkVBVFVSRVNfUFZIX01BU0sJKCAoMVUgPDwgWEVORkVBVF9zdXBlcnZpc29yX21vZGVfa2VybmVsKSBcCisJCQkJCQkJCXwgKDFVIDw8IFhFTkZFQVRfaHZtX2NhbGxiYWNrX3ZlY3RvcikgKQorCitzdGF0aWMgY29uc3QgY2hhciAqdmlydF90eXBlc1tdID0geworCVtWSVJUX05PTkVdCT0gTl8oIm5vbmUiKSwKKwlbVklSVF9QQVJBXQk9IE5fKCJwYXJhIiksCisJW1ZJUlRfRlVMTF0JPSBOXygiZnVsbCIpLAorCVtWSVJUX0NPTlRdCT0gTl8oImNvbnRhaW5lciIpLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKmh2X3ZlbmRvcnNbXSA9IHsKKwlbSFlQRVJfTk9ORV0JPSBOVUxMLAorCVtIWVBFUl9YRU5dCT0gIlhlbiIsCisJW0hZUEVSX0tWTV0JPSAiS1ZNIiwKKwlbSFlQRVJfTVNIVl0JPSAiTWljcm9zb2Z0IiwKKwlbSFlQRVJfVk1XQVJFXSAgPSAiVk13YXJlIiwKKwlbSFlQRVJfSUJNXQk9ICJJQk0iLAorCVtIWVBFUl9WU0VSVkVSXQk9ICJMaW51eC1WU2VydmVyIiwKKwlbSFlQRVJfVU1MXQk9ICJVc2VyLW1vZGUgTGludXgiLAorCVtIWVBFUl9JTk5PVEVLXQk9ICJJbm5vdGVrIEdtYkgiLAorCVtIWVBFUl9ISVRBQ0hJXQk9ICJIaXRhY2hpIiwKKwlbSFlQRVJfUEFSQUxMRUxTXSA9ICJQYXJhbGxlbHMiLAorCVtIWVBFUl9WQk9YXQk9ICJPcmFjbGUiLAorCVtIWVBFUl9PUzQwMF0JPSAiT1MvNDAwIiwKKwlbSFlQRVJfUEhZUF0JPSAicEh5cCIsCisJW0hZUEVSX1NQQVJdCT0gIlVuaXN5cyBzLVBhciIsCisJW0hZUEVSX1dTTF0JPSAiV2luZG93cyBTdWJzeXN0ZW0gZm9yIExpbnV4IgorfTsKKworc3RhdGljIGNvbnN0IGludCBodl92ZW5kb3JfcGNpW10gPSB7CisJW0hZUEVSX05PTkVdCT0gMHgwMDAwLAorCVtIWVBFUl9YRU5dCT0gMHg1ODUzLAorCVtIWVBFUl9LVk1dCT0gMHgwMDAwLAorCVtIWVBFUl9NU0hWXQk9IDB4MTQxNCwKKwlbSFlQRVJfVk1XQVJFXQk9IDB4MTVhZCwKKwlbSFlQRVJfVkJPWF0JPSAweDgwZWUsCit9OworCitzdGF0aWMgY29uc3QgaW50IGh2X2dyYXBoaWNzX3BjaVtdID0geworCVtIWVBFUl9OT05FXQk9IDB4MDAwMCwKKwlbSFlQRVJfWEVOXQk9IDB4MDAwMSwKKwlbSFlQRVJfS1ZNXQk9IDB4MDAwMCwKKwlbSFlQRVJfTVNIVl0JPSAweDUzNTMsCisJW0hZUEVSX1ZNV0FSRV0JPSAweDA3MTAsCisJW0hZUEVSX1ZCT1hdCT0gMHhiZWVmLAorfTsKKworCisvKiBkaXNwYXRjaGluZyBtb2RlcyAqLworc3RhdGljIGNvbnN0IGNoYXIgKmRpc3BfbW9kZXNbXSA9IHsKKwlbRElTUF9IT1JJWk9OVEFMXQk9IE5fKCJob3Jpem9udGFsIiksCisJW0RJU1BfVkVSVElDQUxdCQk9IE5fKCJ2ZXJ0aWNhbCIpCit9OworCitzdGF0aWMgc3RydWN0IHBvbGFyaXphdGlvbl9tb2RlcyBwb2xhcl9tb2Rlc1tdID0geworCVtQT0xBUl9VTktOT1dOXQkgICA9IHsiVSIsICAiLSJ9LAorCVtQT0xBUl9WTE9XXQkgICA9IHsiVkwiLCAidmVydC1sb3cifSwKKwlbUE9MQVJfVk1FRElVTV0JICAgPSB7IlZNIiwgInZlcnQtbWVkaXVtIn0sCisJW1BPTEFSX1ZISUdIXQkgICA9IHsiVkgiLCAidmVydC1oaWdoIn0sCisJW1BPTEFSX0hPUklaT05UQUxdID0geyJIIiwgICJob3Jpem9udGFsIn0sCit9OworCitzdGF0aWMgaW50IG1heGNwdXM7CQkvKiBzaXplIGluIGJpdHMgb2Yga2VybmVsIGNwdSBtYXNrICovCisKKyNkZWZpbmUgaXNfY3B1X29ubGluZShfZCwgX2NwdSkgXAorCSgoX2QpICYmIChfZCktPm9ubGluZSA/IFwKKwkJQ1BVX0lTU0VUX1MoKF9jcHUpLCBDUFVfQUxMT0NfU0laRShtYXhjcHVzKSwgKF9kKS0+b25saW5lKSA6IDApCisjZGVmaW5lIGlzX2NwdV9wcmVzZW50KF9kLCBfY3B1KSBcCisJKChfZCkgJiYgKF9kKS0+cHJlc2VudCA/IFwKKwkJQ1BVX0lTU0VUX1MoKF9jcHUpLCBDUFVfQUxMT0NfU0laRShtYXhjcHVzKSwgKF9kKS0+cHJlc2VudCkgOiAwKQorCisjZGVmaW5lIHJlYWxfY3B1X251bShfZCwgX2kpCSgoX2QpLT5pZHgyY3B1bnVtWyhfaSldKQorCisvKgorICogSURzCisgKi8KK2VudW0geworCUNPTF9DUFUsCisJQ09MX0NPUkUsCisJQ09MX1NPQ0tFVCwKKwlDT0xfTk9ERSwKKwlDT0xfQk9PSywKKwlDT0xfRFJBV0VSLAorCUNPTF9DQUNIRSwKKwlDT0xfUE9MQVJJWkFUSU9OLAorCUNPTF9BRERSRVNTLAorCUNPTF9DT05GSUdVUkVELAorCUNPTF9PTkxJTkUsCisJQ09MX01BWE1IWiwKKwlDT0xfTUlOTUhaLAorfTsKKworLyogY29sdW1uIGRlc2NyaXB0aW9uCisgKi8KK3N0cnVjdCBsc2NwdV9jb2xkZXNjIHsKKwljb25zdCBjaGFyICpuYW1lOworCWNvbnN0IGNoYXIgKmhlbHA7CisKKwl1bnNpZ25lZCBpbnQgIGlzX2FiYnI6MTsJLyogbmFtZSBpcyBhYmJyZXZpYXRpb24gKi8KK307CisKK3N0YXRpYyBzdHJ1Y3QgbHNjcHVfY29sZGVzYyBjb2xkZXNjc1tdID0KK3sKKwlbQ09MX0NQVV0gICAgICAgICAgPSB7ICJDUFUiLCBOXygibG9naWNhbCBDUFUgbnVtYmVyIiksIDEgfSwKKwlbQ09MX0NPUkVdICAgICAgICAgPSB7ICJDT1JFIiwgTl8oImxvZ2ljYWwgY29yZSBudW1iZXIiKSB9LAorCVtDT0xfU09DS0VUXSAgICAgICA9IHsgIlNPQ0tFVCIsIE5fKCJsb2dpY2FsIHNvY2tldCBudW1iZXIiKSB9LAorCVtDT0xfTk9ERV0gICAgICAgICA9IHsgIk5PREUiLCBOXygibG9naWNhbCBOVU1BIG5vZGUgbnVtYmVyIikgfSwKKwlbQ09MX0JPT0tdICAgICAgICAgPSB7ICJCT09LIiwgTl8oImxvZ2ljYWwgYm9vayBudW1iZXIiKSB9LAorCVtDT0xfRFJBV0VSXSAgICAgICA9IHsgIkRSQVdFUiIsIE5fKCJsb2dpY2FsIGRyYXdlciBudW1iZXIiKSB9LAorCVtDT0xfQ0FDSEVdICAgICAgICA9IHsgIkNBQ0hFIiwgTl8oInNob3dzIGhvdyBjYWNoZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIENQVXMiKSB9LAorCVtDT0xfUE9MQVJJWkFUSU9OXSA9IHsgIlBPTEFSSVpBVElPTiIsIE5fKCJDUFUgZGlzcGF0Y2hpbmcgbW9kZSBvbiB2aXJ0dWFsIGhhcmR3YXJlIikgfSwKKwlbQ09MX0FERFJFU1NdICAgICAgPSB7ICJBRERSRVNTIiwgTl8oInBoeXNpY2FsIGFkZHJlc3Mgb2YgYSBDUFUiKSB9LAorCVtDT0xfQ09ORklHVVJFRF0gICA9IHsgIkNPTkZJR1VSRUQiLCBOXygic2hvd3MgaWYgdGhlIGh5cGVydmlzb3IgaGFzIGFsbG9jYXRlZCB0aGUgQ1BVIikgfSwKKwlbQ09MX09OTElORV0gICAgICAgPSB7ICJPTkxJTkUiLCBOXygic2hvd3MgaWYgTGludXggY3VycmVudGx5IG1ha2VzIHVzZSBvZiB0aGUgQ1BVIikgfSwKKwlbQ09MX01BWE1IWl0JICAgPSB7ICJNQVhNSFoiLCBOXygic2hvd3MgdGhlIG1heGltdW0gTUh6IG9mIHRoZSBDUFUiKSB9LAorCVtDT0xfTUlOTUhaXQkgICA9IHsgIk1JTk1IWiIsIE5fKCJzaG93cyB0aGUgbWluaW11bSBNSHogb2YgdGhlIENQVSIpIH0KK307CisKK3N0YXRpYyBpbnQKK2NvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjb2xkZXNjcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGNvbGRlc2NzW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworLyogTG9va3VwIGEgcGF0dGVybiBhbmQgZ2V0IHRoZSB2YWx1ZSBmcm9tIGNwdWluZm8uCisgKiBGb3JtYXQgaXM6CisgKgorICoJIjxwYXR0ZXJuPiAgIDogPGtleT4iCisgKi8KK3N0YXRpYyBpbnQKK2xvb2t1cChjaGFyICpsaW5lLCBjaGFyICpwYXR0ZXJuLCBjaGFyICoqdmFsdWUpCit7CisJY2hhciAqcCwgKnY7CisJaW50IGxlbiA9IHN0cmxlbihwYXR0ZXJuKTsKKworCS8qIGRvbid0IHJlLWZpbGwgYWxyZWFkeSBmb3VuZCB0YWdzLCBmaXJzdCBvbmUgd2lucyAqLworCWlmICghKmxpbmUgfHwgKnZhbHVlKQorCQlyZXR1cm4gMDsKKworCS8qIHBhdHRlcm4gKi8KKwlpZiAoc3RybmNtcChsaW5lLCBwYXR0ZXJuLCBsZW4pKQorCQlyZXR1cm4gMDsKKworCS8qIHdoaXRlIHNwYWNlcyAqLworCWZvciAocCA9IGxpbmUgKyBsZW47IGlzc3BhY2UoKnApOyBwKyspOworCisJLyogc2VwYXJhdG9yICovCisJaWYgKCpwICE9ICc6JykKKwkJcmV0dXJuIDA7CisKKwkvKiB3aGl0ZSBzcGFjZXMgKi8KKwlmb3IgKCsrcDsgaXNzcGFjZSgqcCk7IHArKyk7CisKKwkvKiB2YWx1ZSAqLworCWlmICghKnApCisJCXJldHVybiAwOworCXYgPSBwOworCisJLyogZW5kIG9mIHZhbHVlICovCisJbGVuID0gc3RybGVuKGxpbmUpIC0gMTsKKwlmb3IgKHAgPSBsaW5lICsgbGVuOyBpc3NwYWNlKCoocC0xKSk7IHAtLSk7CisJKnAgPSAnXDAnOworCisJKnZhbHVlID0geHN0cmR1cCh2KTsKKwlyZXR1cm4gMTsKK30KKworLyogUGFyc2UgZXh0cmEgY2FjaGUgbGluZXMgY29udGFpbmVkIHdpdGhpbiAvcHJvYy9jcHVpbmZvIGJ1dCB3aGljaCBhcmUgbm90CisgKiBwYXJ0IG9mIHRoZSBjYWNoZSB0b3BvbG9neSBpbmZvcm1hdGlvbiB3aXRoaW4gdGhlIHN5c2ZzIGZpbGVzeXN0ZW0uCisgKiBUaGlzIGlzIHRydWUgZm9yIGFsbCBzaGFyZWQgY2FjaGVzIG9uIGUuZy4gczM5MC4gV2hlbiB0aGVyZSBhcmUgbGF5ZXJzIG9mCisgKiBoeXBlcnZpc29ycyBpbiBiZXR3ZWVuIGl0IGlzIG5vdCBrbm93cyB3aGljaCBDUFVzIHNoYXJlIHdoaWNoIGNhY2hlcy4KKyAqIFRoZXJlZm9yZSBpbmZvcm1hdGlvbiBhYm91dCBzaGFyZWQgY2FjaGVzIGlzIG9ubHkgYXZhaWxhYmxlIGluCisgKiAvcHJvYy9jcHVpbmZvLgorICogRm9ybWF0IGlzOgorICogImNhY2hlPG5yPiA6IGxldmVsPTxsdmw+IHR5cGU9PHR5cGU+IHNjb3BlPTxzY29wZT4gc2l6ZT08c2l6ZT4gbGluZV9zaXplPTxsc3o+IGFzc29jaWF0aXZpdHk9PGFzPiIKKyAqLworc3RhdGljIGludAorbG9va3VwX2NhY2hlKGNoYXIgKmxpbmUsIHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjKQoreworCXN0cnVjdCBjcHVfY2FjaGUgKmNhY2hlOworCWxvbmcgbG9uZyBzaXplOworCWNoYXIgKnAsIHR5cGU7CisJaW50IGxldmVsOworCisJLyogTWFrZSBzdXJlIGxpbmUgc3RhcnRzIHdpdGggImNhY2hlPG5yPiA6IiAqLworCWlmIChzdHJuY21wKGxpbmUsICJjYWNoZSIsIDUpKQorCQlyZXR1cm4gMDsKKwlmb3IgKHAgPSBsaW5lICsgNTsgaXNkaWdpdCgqcCk7IHArKyk7CisJZm9yICg7IGlzc3BhY2UoKnApOyBwKyspOworCWlmICgqcCAhPSAnOicpCisJCXJldHVybiAwOworCisJcCA9IHN0cnN0cihsaW5lLCAic2NvcGU9IikgKyA2OworCS8qIFNraXAgcHJpdmF0ZSBjYWNoZXMsIGFsc28gcHJlc2VudCBpbiBzeXNmcyAqLworCWlmICghcCB8fCBzdHJuY21wKHAsICJQcml2YXRlIiwgNykgPT0gMCkKKwkJcmV0dXJuIDA7CisJcCA9IHN0cnN0cihsaW5lLCAibGV2ZWw9Iik7CisJaWYgKCFwIHx8IHNzY2FuZihwLCAibGV2ZWw9JWQiLCAmbGV2ZWwpICE9IDEpCisJCXJldHVybiAwOworCXAgPSBzdHJzdHIobGluZSwgInR5cGU9IikgKyA1OworCWlmICghcCB8fCAhKnApCisJCXJldHVybiAwOworCXR5cGUgPSAwOworCWlmIChzdHJuY21wKHAsICJEYXRhIiwgNCkgPT0gMCkKKwkJdHlwZSA9ICdkJzsKKwlpZiAoc3RybmNtcChwLCAiSW5zdHJ1Y3Rpb24iLCAxMSkgPT0gMCkKKwkJdHlwZSA9ICdpJzsKKwlwID0gc3Ryc3RyKGxpbmUsICJzaXplPSIpOworCWlmICghcCB8fCBzc2NhbmYocCwgInNpemU9JWxsZCIsICZzaXplKSAhPSAxKQorCSAgICAgICByZXR1cm4gMDsKKworCWRlc2MtPm5lY2FjaGVzKys7CisJZGVzYy0+ZWNhY2hlcyA9IHhyZWFsbG9jKGRlc2MtPmVjYWNoZXMsCisJCQkJIGRlc2MtPm5lY2FjaGVzICogc2l6ZW9mKHN0cnVjdCBjcHVfY2FjaGUpKTsKKwljYWNoZSA9ICZkZXNjLT5lY2FjaGVzW2Rlc2MtPm5lY2FjaGVzIC0gMV07CisJbWVtc2V0KGNhY2hlLCAwICwgc2l6ZW9mKCpjYWNoZSkpOworCWlmICh0eXBlKQorCQl4YXNwcmludGYoJmNhY2hlLT5uYW1lLCAiTCVkJWMiLCBsZXZlbCwgdHlwZSk7CisJZWxzZQorCQl4YXNwcmludGYoJmNhY2hlLT5uYW1lLCAiTCVkIiwgbGV2ZWwpOworCXhhc3ByaW50ZigmY2FjaGUtPnNpemUsICIlbGxkSyIsIHNpemUpOworCXJldHVybiAxOworfQorCisvKiBEb24ndCBpbml0IHRoZSBtb2RlIGZvciBwbGF0Zm9ybXMgd2hlcmUgd2UgYXJlIG5vdCBhYmxlIHRvCisgKiBkZXRlY3QgdGhhdCBDUFUgc3VwcG9ydHMgNjQtYml0IG1vZGUuCisgKi8KK3N0YXRpYyBpbnQKK2luaXRfbW9kZShzdHJ1Y3QgbHNjcHVfbW9kaWZpZXIgKm1vZCkKK3sKKwlpbnQgbSA9IDA7CisKKwlpZiAobW9kLT5zeXN0ZW0gPT0gU1lTVEVNX1NOQVBTSE9UKQorCQkvKiByZWFkaW5nIGluZm8gZnJvbSBhbnkgL3tzeXMscHJvY30gZHVtcCwgZG9uJ3QgbWl4IGl0IHdpdGgKKwkJICogaW5mb3JtYXRpb24gYWJvdXQgb3VyIHJlYWwgQ1BVICovCisJCXJldHVybiAwOworCisjaWYgZGVmaW5lZChfX2FscGhhX18pIHx8IGRlZmluZWQoX19pYTY0X18pCisJbSB8PSBNT0RFXzY0QklUOwkvKiA2NGJpdCBwbGF0Zm9ybXMgb25seSAqLworI2VuZGlmCisJLyogcGxhdGZvcm1zIHdpdGggNjRiaXQgZmxhZyBpbiAvcHJvYy9jcHVpbmZvLCBkZWZpbmUKKwkgKiAzMmJpdCBkZWZhdWx0IGhlcmUgKi8KKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IFwKKyAgICBkZWZpbmVkKF9fczM5MHhfXykgfHwgZGVmaW5lZChfX3MzOTBfXykgfHwgZGVmaW5lZChfX3NwYXJjX3Y5X18pCisJbSB8PSBNT0RFXzMyQklUOworI2VuZGlmCisJcmV0dXJuIG07Cit9CisKKyNpZiBkZWZpbmVkKEhBVkVfTElCUlRBUykKKyNkZWZpbmUgUFJPQ0VTU09SX01PRFVMRV9JTkZPCTQzCitzdGF0aWMgaW50IHN0cmJlMTZ0b2goY29uc3QgY2hhciAqYnVmLCBpbnQgb2Zmc2V0KQoreworCXJldHVybiAoYnVmW29mZnNldF0gPDwgOCkgKyBidWZbb2Zmc2V0KzFdOworfQorCitzdGF0aWMgdm9pZCByZWFkX3BoeXNpY2FsX2luZm9fcG93ZXJwYyhzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYykKK3sKKwljaGFyIGJ1ZltCVUZTSVpdOworCWludCByYywgbGVuLCBudHlwZXM7CisKKwlkZXNjLT5waHlzc29ja2V0cyA9IGRlc2MtPnBoeXNjaGlwcyA9IGRlc2MtPnBoeXNjb3Jlc3BlcmNoaXAgPSAwOworCisJcmMgPSBydGFzX2dldF9zeXNwYXJtKFBST0NFU1NPUl9NT0RVTEVfSU5GTywgc2l6ZW9mKGJ1ZiksIGJ1Zik7CisJaWYgKHJjIDwgMCkKKwkJcmV0dXJuOworCisJbGVuID0gc3RyYmUxNnRvaChidWYsIDApOworCWlmIChsZW4gPCA4KQorCQlyZXR1cm47CisKKwludHlwZXMgPSBzdHJiZTE2dG9oKGJ1ZiwgMik7CisKKwlhc3NlcnQobnR5cGVzIDw9IDEpOworCWlmICghbnR5cGVzKQorCQlyZXR1cm47CisKKwlkZXNjLT5waHlzc29ja2V0cyA9IHN0cmJlMTZ0b2goYnVmLCA0KTsKKwlkZXNjLT5waHlzY2hpcHMgPSBzdHJiZTE2dG9oKGJ1ZiwgNik7CisJZGVzYy0+cGh5c2NvcmVzcGVyY2hpcCA9IHN0cmJlMTZ0b2goYnVmLCA4KTsKK30KKyNlbHNlCitzdGF0aWMgdm9pZCByZWFkX3BoeXNpY2FsX2luZm9fcG93ZXJwYygKKwkJc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworfQorI2VuZGlmCisKKworc3RhdGljIHZvaWQKK3JlYWRfYmFzaWNpbmZvKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBzdHJ1Y3QgbHNjcHVfbW9kaWZpZXIgKm1vZCkKK3sKKwlGSUxFICpmcDsKKwljaGFyIGJ1ZltCVUZTSVpdOworCXN0cnVjdCB1dHNuYW1lIHV0c2J1ZjsKKwlzaXplX3Qgc2V0c2l6ZTsKKwljcHVfc2V0X3QgKmNwdXNldCA9IE5VTEw7CisKKwkvKiBhcmNoaXRlY3R1cmUgKi8KKwlpZiAodW5hbWUoJnV0c2J1ZikgPT0gLTEpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yOiB1bmFtZSBmYWlsZWQiKSk7CisKKwlmcCA9IHVsX3BhdGhfZm9wZW4oZGVzYy0+cHJvY2ZzLCAiciIsICJjcHVpbmZvIik7CisJaWYgKCFmcCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgIi9wcm9jL2NwdWluZm8iKTsKKwlkZXNjLT5hcmNoID0geHN0cmR1cCh1dHNidWYubWFjaGluZSk7CisKKwkvKiBkZXRhaWxzICovCisJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZwKSAhPSBOVUxMKSB7CisJCWlmIChsb29rdXAoYnVmLCAidmVuZG9yIiwgJmRlc2MtPnZlbmRvcikpIDsKKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgInZlbmRvcl9pZCIsICZkZXNjLT52ZW5kb3IpKSA7CisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJDUFUgaW1wbGVtZW50ZXIiLCAmZGVzYy0+dmVuZG9yKSkgOyAvKiBBUk0gYW5kIGFhcmNoNjQgKi8KKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgImZhbWlseSIsICZkZXNjLT5mYW1pbHkpKSA7CisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJjcHUgZmFtaWx5IiwgJmRlc2MtPmZhbWlseSkpIDsKKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgIm1vZGVsIiwgJmRlc2MtPm1vZGVsKSkgOworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiQ1BVIHBhcnQiLCAmZGVzYy0+bW9kZWwpKSA7IC8qIEFSTSBhbmQgYWFyY2g2NCAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAibW9kZWwgbmFtZSIsICZkZXNjLT5tb2RlbG5hbWUpKSA7CisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJzdGVwcGluZyIsICZkZXNjLT5zdGVwcGluZykpIDsKKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgIkNQVSB2YXJpYW50IiwgJmRlc2MtPnN0ZXBwaW5nKSkgOyAvKiBhYXJjaDY0ICovCisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJjcHUgTUh6IiwgJmRlc2MtPm1oeikpIDsKKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgImNwdSBNSHogZHluYW1pYyIsICZkZXNjLT5keW5hbWljX21oeikpIDsgLyogczM5MCAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiY3B1IE1IeiBzdGF0aWMiLCAmZGVzYy0+c3RhdGljX21oeikpIDsgICAvKiBzMzkwICovCisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJmbGFncyIsICZkZXNjLT5mbGFncykpIDsJCS8qIHg4NiAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiZmVhdHVyZXMiLCAmZGVzYy0+ZmxhZ3MpKSA7CS8qIHMzOTAgKi8KKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgIkZlYXR1cmVzIiwgJmRlc2MtPmZsYWdzKSkgOwkvKiBhYXJjaDY0ICovCisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJ0eXBlIiwgJmRlc2MtPmZsYWdzKSkgOwkJLyogc3BhcmM2NCAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiYm9nb21pcHMiLCAmZGVzYy0+Ym9nb21pcHMpKSA7CisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJCb2dvTUlQUyIsICZkZXNjLT5ib2dvbWlwcykpIDsJLyogYWFyY2g2NCAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiYm9nb21pcHMgcGVyIGNwdSIsICZkZXNjLT5ib2dvbWlwcykpIDsgLyogczM5MCAqLworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiY3B1IiwgJmRlc2MtPmNwdSkpIDsKKwkJZWxzZSBpZiAobG9va3VwKGJ1ZiwgInJldmlzaW9uIiwgJmRlc2MtPnJldmlzaW9uKSkgOworCQllbHNlIGlmIChsb29rdXAoYnVmLCAiQ1BVIHJldmlzaW9uIiwgJmRlc2MtPnJldmlzaW9uKSkgOyAvKiBhYXJjaDY0ICovCisJCWVsc2UgaWYgKGxvb2t1cChidWYsICJtYXggdGhyZWFkIGlkIiwgJmRlc2MtPm10aWQpKSA7IC8qIHMzOTAgKi8KKwkJZWxzZSBpZiAobG9va3VwX2NhY2hlKGJ1ZiwgZGVzYykpIDsKKwkJZWxzZQorCQkJY29udGludWU7CisJfQorCisJZGVzYy0+bW9kZSA9IGluaXRfbW9kZShtb2QpOworCisJaWYgKGRlc2MtPmZsYWdzKSB7CisJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIgJXMgIiwgZGVzYy0+ZmxhZ3MpOworCQlpZiAoc3Ryc3RyKGJ1ZiwgIiBzdm0gIikpCisJCQlkZXNjLT52aXJ0ZmxhZyA9IHhzdHJkdXAoInN2bSIpOworCQllbHNlIGlmIChzdHJzdHIoYnVmLCAiIHZteCAiKSkKKwkJCWRlc2MtPnZpcnRmbGFnID0geHN0cmR1cCgidm14Iik7CisJCWlmIChzdHJzdHIoYnVmLCAiIGxtICIpKQorCQkJZGVzYy0+bW9kZSB8PSBNT0RFXzMyQklUIHwgTU9ERV82NEJJVDsJCS8qIHg4Nl82NCAqLworCQlpZiAoc3Ryc3RyKGJ1ZiwgIiB6YXJjaCAiKSkKKwkJCWRlc2MtPm1vZGUgfD0gTU9ERV8zMkJJVCB8IE1PREVfNjRCSVQ7CQkvKiBzMzkweCAqLworCQlpZiAoc3Ryc3RyKGJ1ZiwgIiBzdW40diAiKSB8fCBzdHJzdHIoYnVmLCAiIHN1bjR1ICIpKQorCQkJZGVzYy0+bW9kZSB8PSBNT0RFXzMyQklUIHwgTU9ERV82NEJJVDsJCS8qIHNwYXJjNjQgKi8KKwl9CisKKwlpZiAoZGVzYy0+YXJjaCAmJiBtb2QtPnN5c3RlbSAhPSBTWVNURU1fU05BUFNIT1QpIHsKKwkJaWYgKHN0cmNtcChkZXNjLT5hcmNoLCAicHBjNjQiKSA9PSAwKQorCQkJZGVzYy0+bW9kZSB8PSBNT0RFXzMyQklUIHwgTU9ERV82NEJJVDsKKwkJZWxzZSBpZiAoc3RyY21wKGRlc2MtPmFyY2gsICJwcGMiKSA9PSAwKQorCQkJZGVzYy0+bW9kZSB8PSBNT0RFXzMyQklUOworCX0KKworCWZjbG9zZShmcCk7CisKKwlpZiAodWxfcGF0aF9yZWFkX3MzMihkZXNjLT5zeXNjcHUsICZtYXhjcHVzLCAia2VybmVsX21heCIpID09IDApCisJCS8qIG5vdGUgdGhhdCBrZXJuZWxfbWF4IGlzIG1heGltdW0gaW5kZXggW05SX0NQVVMtMV0gKi8KKwkJbWF4Y3B1cyArPSAxOworCisJZWxzZSBpZiAobW9kLT5zeXN0ZW0gPT0gU1lTVEVNX0xJVkUpCisJCS8qIHRoZSByb290IGlzICcvJyBzbyB3ZSBhcmUgd29ya2luZyB3aXRoIGRhdGEgZnJvbSB0aGUgY3VycmVudCBrZXJuZWwgKi8KKwkJbWF4Y3B1cyA9IGdldF9tYXhfbnVtYmVyX29mX2NwdXMoKTsKKworCWlmIChtYXhjcHVzIDw9IDApCisJCS8qIGVycm9yIG9yIHdlIGFyZSByZWFkaW5nIHNvbWUgL3N5cyBzbmFwc2hvdCBpbnN0ZWFkIG9mIHRoZQorCQkgKiByZWFsIC9zeXMsIGxldCdzIHVzZSBhbnkgY3JhenkgbnVtYmVyLi4uICovCisJCW1heGNwdXMgPSAyMDQ4OworCisJc2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG1heGNwdXMpOworCisJaWYgKHVsX3BhdGhfcmVhZGZfY3B1bGlzdChkZXNjLT5zeXNjcHUsICZjcHVzZXQsIG1heGNwdXMsICJwb3NzaWJsZSIpID09IDApIHsKKwkJaW50IG51bSwgaWR4OworCisJCWRlc2MtPm5jcHVzcG9zID0gQ1BVX0NPVU5UX1Moc2V0c2l6ZSwgY3B1c2V0KTsKKwkJZGVzYy0+aWR4MmNwdW51bSA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihpbnQpKTsKKworCQlmb3IgKG51bSA9IDAsIGlkeCA9IDA7IG51bSA8IG1heGNwdXM7IG51bSsrKSB7CisJCQlpZiAoQ1BVX0lTU0VUX1MobnVtLCBzZXRzaXplLCBjcHVzZXQpKQorCQkJCWRlc2MtPmlkeDJjcHVudW1baWR4KytdID0gbnVtOworCQl9CisJCWNwdXNldF9mcmVlKGNwdXNldCk7CisJCWNwdXNldCA9IE5VTEw7CisJfSBlbHNlCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBkZXRlcm1pbmUgbnVtYmVyIG9mIENQVXM6ICVzIiksCisJCQkJX1BBVEhfU1lTX0NQVSAiL3Bvc3NpYmxlIik7CisKKworCS8qIGdldCBtYXNrIGZvciBwcmVzZW50IENQVXMgKi8KKwlpZiAodWxfcGF0aF9yZWFkZl9jcHVsaXN0KGRlc2MtPnN5c2NwdSwgJmRlc2MtPnByZXNlbnQsIG1heGNwdXMsICJwcmVzZW50IikgPT0gMCkKKwkJZGVzYy0+bmNwdXMgPSBDUFVfQ09VTlRfUyhzZXRzaXplLCBkZXNjLT5wcmVzZW50KTsKKworCS8qIGdldCBtYXNrIGZvciBvbmxpbmUgQ1BVcyAqLworCWlmICh1bF9wYXRoX3JlYWRmX2NwdWxpc3QoZGVzYy0+c3lzY3B1LCAmZGVzYy0+b25saW5lLCBtYXhjcHVzLCAib25saW5lIikgPT0gMCkKKwkJZGVzYy0+bnRocmVhZHMgPSBDUFVfQ09VTlRfUyhzZXRzaXplLCBkZXNjLT5vbmxpbmUpOworCisJLyogZ2V0IGRpc3BhdGNoaW5nIG1vZGUgKi8KKwlpZiAodWxfcGF0aF9yZWFkX3MzMihkZXNjLT5zeXNjcHUsICZkZXNjLT5kaXNwYXRjaGluZywgImRpc3BhdGNoaW5nIikgIT0gMCkKKwkJZGVzYy0+ZGlzcGF0Y2hpbmcgPSAtMTsKKworCWlmIChtb2QtPnN5c3RlbSA9PSBTWVNURU1fTElWRSkKKwkJcmVhZF9waHlzaWNhbF9pbmZvX3Bvd2VycGMoZGVzYyk7CisKKwlpZiAoKGZwID0gdWxfcGF0aF9mb3BlbihkZXNjLT5wcm9jZnMsICJyIiwgInN5c2luZm8iKSkpIHsKKwkJd2hpbGUgKGZnZXRzKGJ1Ziwgc2l6ZW9mKGJ1ZiksIGZwKSAhPSBOVUxMICYmICFkZXNjLT5tYWNoaW5ldHlwZSkKKwkJCWxvb2t1cChidWYsICJUeXBlIiwgJmRlc2MtPm1hY2hpbmV0eXBlKTsKKwkJZmNsb3NlKGZwKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQKK2hhc19wY2lfZGV2aWNlKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCB1bnNpZ25lZCBpbnQgdmVuZG9yLCB1bnNpZ25lZCBpbnQgZGV2aWNlKQoreworCUZJTEUgKmY7CisJdW5zaWduZWQgaW50IG51bSwgZm4sIHZlbiwgZGV2OworCWludCByZXMgPSAxOworCisJZiA9IHVsX3BhdGhfZm9wZW4oZGVzYy0+cHJvY2ZzLCAiciIsICJidXMvcGNpL2RldmljZXMiKTsKKwlpZiAoIWYpCisJCXJldHVybiAwOworCisJIC8qIGZvciBtb3JlIGRldGFpbHMgYWJvdXQgYnVzL3BjaS9kZXZpY2VzIGZvcm1hdCBzZWUKKwkgICogZHJpdmVycy9wY2kvcHJvYy5jIGluIGxpbnV4IGtlcm5lbAorCSAgKi8KKwl3aGlsZShmc2NhbmYoZiwgIiUwMnglMDJ4XHQlMDR4JTA0eFx0JSpbXlxuXSIsCisJCQkmbnVtLCAmZm4sICZ2ZW4sICZkZXYpID09IDQpIHsKKworCQlpZiAodmVuID09IHZlbmRvciAmJiBkZXYgPT0gZGV2aWNlKQorCQkJZ290byBmb3VuZDsKKwl9CisKKwlyZXMgPSAwOworZm91bmQ6CisJZmNsb3NlKGYpOworCXJldHVybiByZXM7Cit9CisKKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19pMzg2X18pCisKKy8qCisgKiBUaGlzIENQVUlEIGxlYWYgcmV0dXJucyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGh5cGVydmlzb3IuCisgKiBFQVggOiBtYXhpbXVtIGlucHV0IHZhbHVlIGZvciBDUFVJRCBzdXBwb3J0ZWQgYnkgdGhlIGh5cGVydmlzb3IuCisgKiBFQlgsIEVDWCwgRURYIDogSHlwZXJ2aXNvciB2ZW5kb3IgSUQgc2lnbmF0dXJlLiBFLmcuIFZNd2FyZVZNd2FyZS4KKyAqLworI2RlZmluZSBIWVBFUlZJU09SX0lORk9fTEVBRiAgIDB4NDAwMDAwMDAKKworc3RhdGljIGlubGluZSB2b2lkCitjcHVpZCh1bnNpZ25lZCBpbnQgb3AsIHVuc2lnbmVkIGludCAqZWF4LCB1bnNpZ25lZCBpbnQgKmVieCwKKwkJCSB1bnNpZ25lZCBpbnQgKmVjeCwgdW5zaWduZWQgaW50ICplZHgpCit7CisJX19hc21fXygKKyNpZiBkZWZpbmVkKF9fUElDX18pICYmIGRlZmluZWQoX19pMzg2X18pCisJCS8qIHg4NiBQSUMgY2Fubm90IGNsb2JiZXIgZWJ4IC0tIGdjYyBiaXRjaGVzICovCisJCSJ4Y2hnICUlZWJ4LCAlJWVzaTsiCisJCSJjcHVpZDsiCisJCSJ4Y2hnICUlZXNpLCAlJWVieDsiCisJCTogIj1TIiAoKmVieCksCisjZWxzZQorCQkiY3B1aWQ7IgorCQk6ICI9YiIgKCplYngpLAorI2VuZGlmCisJCSAgIj1hIiAoKmVheCksCisJCSAgIj1jIiAoKmVjeCksCisJCSAgIj1kIiAoKmVkeCkKKwkJOiAiMSIgKG9wKSwgImMiKDApKTsKK30KKworc3RhdGljIHZvaWQKK3JlYWRfaHlwZXJ2aXNvcl9jcHVpZChzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYykKK3sKKwl1bnNpZ25lZCBpbnQgZWF4ID0gMCwgZWJ4ID0gMCwgZWN4ID0gMCwgZWR4ID0gMDsKKwljaGFyIGh5cGVyX3ZlbmRvcl9pZFsxM107CisKKwltZW1zZXQoaHlwZXJfdmVuZG9yX2lkLCAwLCBzaXplb2YoaHlwZXJfdmVuZG9yX2lkKSk7CisKKwljcHVpZChIWVBFUlZJU09SX0lORk9fTEVBRiwgJmVheCwgJmVieCwgJmVjeCwgJmVkeCk7CisJbWVtY3B5KGh5cGVyX3ZlbmRvcl9pZCArIDAsICZlYngsIDQpOworCW1lbWNweShoeXBlcl92ZW5kb3JfaWQgKyA0LCAmZWN4LCA0KTsKKwltZW1jcHkoaHlwZXJfdmVuZG9yX2lkICsgOCwgJmVkeCwgNCk7CisJaHlwZXJfdmVuZG9yX2lkWzEyXSA9ICdcMCc7CisKKwlpZiAoIWh5cGVyX3ZlbmRvcl9pZFswXSkKKwkJcmV0dXJuOworCisJaWYgKCFzdHJuY21wKCJYZW5WTU1YZW5WTU0iLCBoeXBlcl92ZW5kb3JfaWQsIDEyKSkKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9YRU47CisJZWxzZSBpZiAoIXN0cm5jbXAoIktWTUtWTUtWTSIsIGh5cGVyX3ZlbmRvcl9pZCwgOSkpCisJCWRlc2MtPmh5cGVyID0gSFlQRVJfS1ZNOworCWVsc2UgaWYgKCFzdHJuY21wKCJNaWNyb3NvZnQgSHYiLCBoeXBlcl92ZW5kb3JfaWQsIDEyKSkKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9NU0hWOworCWVsc2UgaWYgKCFzdHJuY21wKCJWTXdhcmVWTXdhcmUiLCBoeXBlcl92ZW5kb3JfaWQsIDEyKSkKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9WTVdBUkU7CisJZWxzZSBpZiAoIXN0cm5jbXAoIlVuaXN5c1NwYXI2NCIsIGh5cGVyX3ZlbmRvcl9pZCwgMTIpKQorCQlkZXNjLT5oeXBlciA9IEhZUEVSX1NQQVI7Cit9CisKKyNlbHNlIC8qICEgKF9feDg2XzY0X18gfHwgX19pMzg2X18pICovCitzdGF0aWMgdm9pZAorcmVhZF9oeXBlcnZpc29yX2NwdWlkKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKK30KKyNlbmRpZgorCitzdGF0aWMgaW50IGlzX2RldnRyZWVfY29tcGF0aWJsZShzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYywgY29uc3QgY2hhciAqc3RyKQoreworCUZJTEUgKmZkID0gdWxfcGF0aF9mb3BlbihkZXNjLT5wcm9jZnMsICJyIiwgImRldmljZS10cmVlL2NvbXBhdGlibGUiKTsKKworCWlmIChmZCkgeworCQljaGFyIGJ1ZlsyNTZdOworCQlzaXplX3QgaSwgbGVuOworCisJCW1lbXNldChidWYsIDAsIHNpemVvZihidWYpKTsKKwkJbGVuID0gZnJlYWQoYnVmLCAxLCBzaXplb2YoYnVmKSAtIDEsIGZkKTsKKwkJZmNsb3NlKGZkKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbGVuOykgeworCQkJaWYgKCFzdHJjbXAoJmJ1ZltpXSwgc3RyKSkKKwkJCQlyZXR1cm4gMTsKKwkJCWkgKz0gc3RybGVuKCZidWZbaV0pOworCQkJaSsrOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQKK3JlYWRfaHlwZXJ2aXNvcl9wb3dlcnBjKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjKQoreworCWFzc2VydCghZGVzYy0+aHlwZXIpOworCisJIC8qIElCTSBpU2VyaWVzOiBsZWdhY3ksIHBhcmEtdmlydHVhbGl6ZWQgb24gdG9wIG9mIE9TLzQwMCAqLworCWlmICh1bF9wYXRoX2FjY2VzcyhkZXNjLT5wcm9jZnMsIEZfT0ssICJpU2VyaWVzIikgPT0gMCkgeworCQlkZXNjLT5oeXBlciA9IEhZUEVSX09TNDAwOworCQlkZXNjLT52aXJ0eXBlID0gVklSVF9QQVJBOworCisJLyogUG93ZXJOViAoUE9XRVIgTm9uLVZpcnR1YWxpemVkLCBiYXJlLW1ldGFsKSAqLworCX0gZWxzZSBpZiAoaXNfZGV2dHJlZV9jb21wYXRpYmxlKGRlc2MsICJpYm0scG93ZXJudiIpKSB7CisJCWRlc2MtPmh5cGVyID0gSFlQRVJfTk9ORTsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfTk9ORTsKKworCS8qIFBvd2VyVk0gKElCTSdzIHByb3ByaWV0YXJ5IGh5cGVydmlzb3IsIGFrYSBwSHlwKSAqLworCX0gZWxzZSBpZiAodWxfcGF0aF9hY2Nlc3MoZGVzYy0+cHJvY2ZzLCBGX09LLCAiZGV2aWNlLXRyZWUvaWJtLHBhcnRpdGlvbi1uYW1lIikgPT0gMAorCQkgICAmJiB1bF9wYXRoX2FjY2VzcyhkZXNjLT5wcm9jZnMsIEZfT0ssICJkZXZpY2UtdHJlZS9obWMtbWFuYWdlZD8iKSA9PSAwCisJCSAgICYmIHVsX3BhdGhfYWNjZXNzKGRlc2MtPnByb2NmcywgRl9PSywgImRldmljZS10cmVlL2Nob3Nlbi9xZW11LGdyYXBoaWMtd2lkdGgiKSAhPSAwKSB7CisKKwkJRklMRSAqZmQ7CisJCWRlc2MtPmh5cGVyID0gSFlQRVJfUEhZUDsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfUEFSQTsKKworCQlmZCA9IHVsX3BhdGhfZm9wZW4oZGVzYy0+cHJvY2ZzLCAiciIsICJkZXZpY2UtdHJlZS9pYm0scGFydGl0aW9uLW5hbWUiKTsKKwkJaWYgKGZkKSB7CisJCQljaGFyIGJ1ZlsyNTZdOworCQkJaWYgKGZzY2FuZihmZCwgIiUyNTVzIiwgYnVmKSA9PSAxICYmICFzdHJjbXAoYnVmLCAiZnVsbCIpKQorCQkJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX05PTkU7CisJCQlmY2xvc2UoZmQpOworCQl9CisKKwkvKiBRZW11ICovCisJfSBlbHNlIGlmIChpc19kZXZ0cmVlX2NvbXBhdGlibGUoZGVzYywgInFlbXUscHNlcmllcyIpKSB7CisJCWRlc2MtPmh5cGVyID0gSFlQRVJfS1ZNOworCQlkZXNjLT52aXJ0eXBlID0gVklSVF9QQVJBOworCX0KKwlyZXR1cm4gZGVzYy0+aHlwZXI7Cit9CisKKyNpZmRlZiBJTkNMVURFX1ZNV0FSRV9CRE9PUgorCisjZGVmaW5lIFZNV0FSRV9CRE9PUl9NQUdJQyAgICAgICAgICAweDU2NEQ1ODY4CisjZGVmaW5lIFZNV0FSRV9CRE9PUl9QT1JUICAgICAgICAgICAweDU2NTgKKyNkZWZpbmUgVk1XQVJFX0JET09SX0NNRF9HRVRWRVJTSU9OIDEwCisKK3N0YXRpYyBVTF9BU0FOX0JMQUNLTElTVAordm9pZCB2bXdhcmVfYmRvb3IodWludDMyX3QgKmVheCwgdWludDMyX3QgKmVieCwgdWludDMyX3QgKmVjeCwgdWludDMyX3QgKmVkeCkKK3sKKwlfX2FzbV9fKAorI2lmIGRlZmluZWQoX19QSUNfXykgJiYgZGVmaW5lZChfX2kzODZfXykKKwkJLyogeDg2IFBJQyBjYW5ub3QgY2xvYmJlciBlYnggLS0gZ2NjIGJpdGNoZXMgKi8KKwkJInhjaGcgJSVlYngsICUlZXNpOyIKKwkJImlubCAoJSVkeCksICUlZWF4OyIKKwkJInhjaGcgJSVlc2ksICUlZWJ4OyIKKwkJOiAiPVMiICgqZWJ4KSwKKyNlbHNlCisJCSJpbmwgKCUlZHgpLCAlJWVheDsiCisJCTogIj1iIiAoKmVieCksCisjZW5kaWYKKwkJICAiPWEiICgqZWF4KSwKKwkJICAiPWMiICgqZWN4KSwKKwkJICAiPWQiICgqZWR4KQorCQk6ICIwIiAoVk1XQVJFX0JET09SX01BR0lDKSwKKwkJICAiMSIgKFZNV0FSRV9CRE9PUl9DTURfR0VUVkVSU0lPTiksCisJCSAgIjIiIChWTVdBUkVfQkRPT1JfUE9SVCksCisJCSAgIjMiICgwKQorCQk6ICJtZW1vcnkiKTsKK30KKworc3RhdGljIGptcF9idWYgc2Vndl9oYW5kbGVyX2VudjsKKworc3RhdGljIHZvaWQKK3NlZ3ZfaGFuZGxlcihfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgaW50IHNpZywKKyAgICAgICAgICAgICBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkgc2lnaW5mb190ICppbmZvLAorICAgICAgICAgICAgIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSB2b2lkICppZ25vcmVkKQoreworCXNpZ2xvbmdqbXAoc2Vndl9oYW5kbGVyX2VudiwgMSk7Cit9CisKK3N0YXRpYyBpbnQKK2lzX3Ztd2FyZV9wbGF0Zm9ybSh2b2lkKQoreworCXVpbnQzMl90IGVheCwgZWJ4LCBlY3gsIGVkeDsKKwlzdHJ1Y3Qgc2lnYWN0aW9uIGFjdCwgb2FjdDsKKworCS8qCisJICogRklYTUU6IE5vdCByZWxpYWJsZSBmb3Igbm9uLXJvb3QgdXNlcnMuIE5vdGUgaXQgd29ya3MgYXMgZXhwZWN0ZWQgaWYKKwkgKiB2bXdhcmVfYmRvb3IoKSBpcyBub3Qgb3B0aW1pemVkIGZvciBQSUUsIGJ1dCB0aGVuIGl0IGZhaWxzIHRvIGJ1aWxkCisJICogb24gMzJiaXQgeDg2IHN5c3RlbXMuIFNlZSBsc2NwdSBnaXQgbG9nIGZvciBtb3JlIGRldGFpbHMgKGNvbW1pdAorCSAqIDc4NDViOTFkYmM3NjkwMDY0YTJiZTZkZjY5MGU0YWFiYTcyOGZiMDQpLiAgICAga3phayBbMy1Ob3YtMjAxNl0KKwkgKi8KKwlpZiAoZ2V0dWlkKCkgIT0gMCkKKwkJcmV0dXJuIDA7CisKKwkvKgorCSAqIFRoZSBhc3NlbWJseSByb3V0aW5lIGZvciB2bXdhcmUgZGV0ZWN0aW9uIHdvcmtzCisJICogZmluZSB1bmRlciB2bXdhcmUsIGV2ZW4gaWYgcmFuIGFzIHJlZ3VsYXIgdXNlci4gQnV0CisJICogb24gcmVhbCBIVyBvciB1bmRlciBvdGhlciBoeXBlcnZpc29ycywgaXQgc2VnZmF1bHRzICh3aGljaCBpcworCSAqIGV4cGVjdGVkKS4gU28gd2UgdGVtcG9yYXJpbHkgaW5zdGFsbCBTSUdTRUdWIGhhbmRsZXIgdG8gY2F0Y2gKKwkgKiB0aGUgc2lnbmFsLiBBbGwgdGhpcyBtYWdpYyBpcyBuZWVkZWQgYmVjYXVzZSBsc2NwdQorCSAqIGlzbid0IHN1cHBvc2VkIHRvIHJlcXVpcmUgcm9vdCBwcml2aWxlZ2VzLgorCSAqLworCWlmIChzaWdzZXRqbXAoc2Vndl9oYW5kbGVyX2VudiwgMSkpCisJCXJldHVybiAwOworCisJbWVtc2V0KCZhY3QsIDAsIHNpemVvZihhY3QpKTsKKwlhY3Quc2Ffc2lnYWN0aW9uID0gc2Vndl9oYW5kbGVyOworCWFjdC5zYV9mbGFncyA9IFNBX1NJR0lORk87CisKKwlpZiAoc2lnYWN0aW9uKFNJR1NFR1YsICZhY3QsICZvYWN0KSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IHNldCBzaWduYWwgaGFuZGxlciIpKTsKKworCXZtd2FyZV9iZG9vcigmZWF4LCAmZWJ4LCAmZWN4LCAmZWR4KTsKKworCWlmIChzaWdhY3Rpb24oU0lHU0VHViwgJm9hY3QsIE5VTEwpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3QgcmVzdG9yZSBzaWduYWwgaGFuZGxlciIpKTsKKworCXJldHVybiBlYXggIT0gKHVpbnQzMl90KS0xICYmIGVieCA9PSBWTVdBUkVfQkRPT1JfTUFHSUM7Cit9CisKKyNlbHNlIC8qICEgSU5DTFVERV9WTVdBUkVfQkRPT1IgKi8KKworc3RhdGljIGludAoraXNfdm13YXJlX3BsYXRmb3JtKHZvaWQpCit7CisJcmV0dXJuIDA7Cit9CisKKyNlbmRpZiAvKiBJTkNMVURFX1ZNV0FSRV9CRE9PUiAqLworCitzdGF0aWMgdm9pZAorcmVhZF9oeXBlcnZpc29yKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBzdHJ1Y3QgbHNjcHVfbW9kaWZpZXIgKm1vZCkKK3sKKwlGSUxFICpmZDsKKworCS8qIFdlIGhhdmUgdG8gZGV0ZWN0IFdTTCBmaXJzdC4gaXNfdm13YXJlX3BsYXRmb3JtKCkgY3Jhc2hlcyBvbiBXaW5kb3dzIDEwLiAqLworCisJaWYgKChmZCA9IHVsX3BhdGhfZm9wZW4oZGVzYy0+cHJvY2ZzLCAiciIsICJzeXMva2VybmVsL29zcmVsZWFzZSIpKSkgeworCQljaGFyIGJ1ZlsyNTZdOworCisJCWlmIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmZCkgIT0gTlVMTCkgeworCQkJaWYgKHN0cnN0cihidWYsICJNaWNyb3NvZnQiKSkgeworCQkJCWRlc2MtPmh5cGVyID0gSFlQRVJfV1NMOworCQkJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0NPTlQ7CisJCQl9CisJCX0KKwkJZmNsb3NlKGZkKTsKKwkJaWYgKGRlc2MtPnZpcnR5cGUpCisJCQlyZXR1cm47CisJfQorCisJaWYgKG1vZC0+c3lzdGVtICE9IFNZU1RFTV9TTkFQU0hPVCkgeworCQlyZWFkX2h5cGVydmlzb3JfY3B1aWQoZGVzYyk7CisJCWlmICghZGVzYy0+aHlwZXIpCisJCQlkZXNjLT5oeXBlciA9IHJlYWRfaHlwZXJ2aXNvcl9kbWkoKTsKKwkJaWYgKCFkZXNjLT5oeXBlciAmJiBpc192bXdhcmVfcGxhdGZvcm0oKSkKKwkJCWRlc2MtPmh5cGVyID0gSFlQRVJfVk1XQVJFOworCX0KKworCWlmIChkZXNjLT5oeXBlcikgeworCQlkZXNjLT52aXJ0eXBlID0gVklSVF9GVUxMOworCisJCWlmIChkZXNjLT5oeXBlciA9PSBIWVBFUl9YRU4pIHsKKwkJCXVpbnQzMl90IGZlYXR1cmVzOworCisJCQlmZCA9IHVsX3ByZWZpeF9mb3BlbihkZXNjLT5wcmVmaXgsICJyIiwgX1BBVEhfU1lTX0hZUF9GRUFUVVJFUyk7CisKKwkJCWlmIChmZCAmJiBmc2NhbmYoZmQsICIleCIsICZmZWF0dXJlcykgPT0gMSkgeworCQkJCS8qIFhlbiBQViBkb21haW4gKi8KKwkJCQlpZiAoZmVhdHVyZXMgJiBYRU5fRkVBVFVSRVNfUFZfTUFTSykKKwkJCQkJZGVzYy0+dmlydHlwZSA9IFZJUlRfUEFSQTsKKwkJCQkvKiBYZW4gUFZIIGRvbWFpbiAqLworCQkJCWVsc2UgaWYgKChmZWF0dXJlcyAmIFhFTl9GRUFUVVJFU19QVkhfTUFTSykKKwkJCQkJCQkJPT0gWEVOX0ZFQVRVUkVTX1BWSF9NQVNLKQorCQkJCQlkZXNjLT52aXJ0eXBlID0gVklSVF9QQVJBOworCQkJCWZjbG9zZShmZCk7CisJCQl9CisJCX0KKwl9IGVsc2UgaWYgKHJlYWRfaHlwZXJ2aXNvcl9wb3dlcnBjKGRlc2MpID4gMCkge30KKworCS8qIFhlbiBwYXJhLXZpcnQgb3IgZG9tMCAqLworCWVsc2UgaWYgKHVsX3BhdGhfYWNjZXNzKGRlc2MtPnByb2NmcywgRl9PSywgInhlbiIpID09IDApIHsKKwkJaW50IGRvbTAgPSAwOworCisJCWZkID0gdWxfcGF0aF9mb3BlbihkZXNjLT5wcm9jZnMsICJyIiwgInhlbi9jYXBhYmlsaXRpZXMiKTsKKwkJaWYgKGZkKSB7CisJCQljaGFyIGJ1ZlsyNTZdOworCisJCQlpZiAoZnNjYW5mKGZkLCAiJTI1NXMiLCBidWYpID09IDEgJiYKKwkJCSAgICAhc3RyY21wKGJ1ZiwgImNvbnRyb2xfZCIpKQorCQkJCWRvbTAgPSAxOworCQkJZmNsb3NlKGZkKTsKKwkJfQorCQlkZXNjLT52aXJ0eXBlID0gZG9tMCA/IFZJUlRfTk9ORSA6IFZJUlRfUEFSQTsKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9YRU47CisKKwkvKiBYZW4gZnVsbC12aXJ0IG9uIG5vbi14ODZfNjQgKi8KKwl9IGVsc2UgaWYgKGhhc19wY2lfZGV2aWNlKGRlc2MsIGh2X3ZlbmRvcl9wY2lbSFlQRVJfWEVOXSwgaHZfZ3JhcGhpY3NfcGNpW0hZUEVSX1hFTl0pKSB7CisJCWRlc2MtPmh5cGVyID0gSFlQRVJfWEVOOworCQlkZXNjLT52aXJ0eXBlID0gVklSVF9GVUxMOworCX0gZWxzZSBpZiAoaGFzX3BjaV9kZXZpY2UoZGVzYywgaHZfdmVuZG9yX3BjaVtIWVBFUl9WTVdBUkVdLCBodl9ncmFwaGljc19wY2lbSFlQRVJfVk1XQVJFXSkpIHsKKwkJZGVzYy0+aHlwZXIgPSBIWVBFUl9WTVdBUkU7CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0ZVTEw7CisJfSBlbHNlIGlmIChoYXNfcGNpX2RldmljZShkZXNjLCBodl92ZW5kb3JfcGNpW0hZUEVSX1ZCT1hdLCBodl9ncmFwaGljc19wY2lbSFlQRVJfVkJPWF0pKSB7CisJCWRlc2MtPmh5cGVyID0gSFlQRVJfVkJPWDsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfRlVMTDsKKworCS8qIElCTSBQUi9TTSAqLworCX0gZWxzZSBpZiAoKGZkID0gdWxfcGF0aF9mb3BlbihkZXNjLT5wcm9jZnMsICJyIiwgInN5c2luZm8iKSkpIHsKKwkJY2hhciBidWZbQlVGU0laXTsKKworCQlkZXNjLT5oeXBlciA9IEhZUEVSX0lCTTsKKwkJZGVzYy0+aHlwZXJ2aXNvciA9ICJQUi9TTSI7CisJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0ZVTEw7CisJCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmZCkgIT0gTlVMTCkgeworCQkJY2hhciAqc3RyOworCisJCQlpZiAoIXN0cnN0cihidWYsICJDb250cm9sIFByb2dyYW06IikpCisJCQkJY29udGludWU7CisJCQlpZiAoIXN0cnN0cihidWYsICJLVk0iKSkKKwkJCQlkZXNjLT5oeXBlciA9IEhZUEVSX0lCTTsKKwkJCWVsc2UKKwkJCQlkZXNjLT5oeXBlciA9IEhZUEVSX0tWTTsKKwkJCXN0ciA9IHN0cmNocihidWYsICc6Jyk7CisJCQlpZiAoIXN0cikKKwkJCQljb250aW51ZTsKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXMiLCBzdHIgKyAxKTsKKworCQkJLyogcmVtb3ZlIGxlYWRpbmcsIHRyYWlsaW5nIGFuZCByZXBlYXRpbmcgd2hpdGVzcGFjZSAqLworCQkJd2hpbGUgKCpzdHIgPT0gJyAnKQorCQkJCXN0cisrOworCQkJZGVzYy0+aHlwZXJ2aXNvciA9IHN0cjsKKwkJCXN0ciArPSBzdHJsZW4oc3RyKSAtIDE7CisJCQl3aGlsZSAoKCpzdHIgPT0gJ1xuJykgfHwgKCpzdHIgPT0gJyAnKSkKKwkJCQkqKHN0ci0tKSA9ICdcMCc7CisJCQl3aGlsZSAoKHN0ciA9IHN0cnN0cihkZXNjLT5oeXBlcnZpc29yLCAiICAiKSkpCisJCQkJbWVtbW92ZShzdHIsIHN0ciArIDEsIHN0cmxlbihzdHIpKTsKKwkJfQorCQlmY2xvc2UoZmQpOworCX0KKworCS8qIE9wZW5WWi9WaXJ0dW96em8gLSAvcHJvYy92eiBkaXIgc2hvdWxkIGV4aXN0CisJICoJCSAgICAgIC9wcm9jL2JjIHNob3VsZCBub3QgKi8KKwllbHNlIGlmICh1bF9wYXRoX2FjY2VzcyhkZXNjLT5wcm9jZnMsIEZfT0ssICJ2eiIpID09IDAgJiYKKwkJIHVsX3BhdGhfYWNjZXNzKGRlc2MtPnByb2NmcywgRl9PSywgImJjIikgIT0gMCkgeworCQlkZXNjLT5oeXBlciA9IEhZUEVSX1BBUkFMTEVMUzsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfQ09OVDsKKworCS8qIElCTSAqLworCX0gZWxzZSBpZiAoZGVzYy0+dmVuZG9yICYmCisJCSAoc3RyY21wKGRlc2MtPnZlbmRvciwgIlBvd2VyVk0gTHg4NiIpID09IDAgfHwKKwkJICBzdHJjbXAoZGVzYy0+dmVuZG9yLCAiSUJNL1MzOTAiKSA9PSAwKSkgeworCQlkZXNjLT5oeXBlciA9IEhZUEVSX0lCTTsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfRlVMTDsKKworCS8qIFVzZXItbW9kZS1saW51eCAqLworCX0gZWxzZSBpZiAoZGVzYy0+bW9kZWxuYW1lICYmIHN0cnN0cihkZXNjLT5tb2RlbG5hbWUsICJVTUwiKSkgeworCQlkZXNjLT5oeXBlciA9IEhZUEVSX1VNTDsKKwkJZGVzYy0+dmlydHlwZSA9IFZJUlRfUEFSQTsKKworCS8qIExpbnV4LVZTZXJ2ZXIgKi8KKwl9IGVsc2UgaWYgKChmZCA9IHVsX3BhdGhfZm9wZW4oZGVzYy0+cHJvY2ZzLCAiciIsICJzZWxmL3N0YXR1cyIpKSkgeworCQljaGFyIGJ1ZltCVUZTSVpdOworCQljaGFyICp2YWwgPSBOVUxMOworCisJCXdoaWxlIChmZ2V0cyhidWYsIHNpemVvZihidWYpLCBmZCkgIT0gTlVMTCkgeworCQkJaWYgKGxvb2t1cChidWYsICJWeElEIiwgJnZhbCkpCisJCQkJYnJlYWs7CisJCX0KKwkJZmNsb3NlKGZkKTsKKworCQlpZiAodmFsKSB7CisJCQljaGFyICpvcmcgPSB2YWw7CisKKwkJCXdoaWxlIChpc2RpZ2l0KCp2YWwpKQorCQkJCSsrdmFsOworCQkJaWYgKCEqdmFsKSB7CisJCQkJZGVzYy0+aHlwZXIgPSBIWVBFUl9WU0VSVkVSOworCQkJCWRlc2MtPnZpcnR5cGUgPSBWSVJUX0NPTlQ7CisJCQl9CisJCQlmcmVlKG9yZyk7CisJCX0KKwl9Cit9CisKKy8qIGFkZCBAc2V0IHRvIHRoZSBAYXJ5LCB1bm5lY2Vzc2FyeSBzZXQgaXMgZGVhbGxvY2F0ZWQuICovCitzdGF0aWMgaW50IGFkZF9jcHVzZXRfdG9fYXJyYXkoY3B1X3NldF90ICoqYXJ5LCBpbnQgKml0ZW1zLCBjcHVfc2V0X3QgKnNldCkKK3sKKwlpbnQgaTsKKwlzaXplX3Qgc2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG1heGNwdXMpOworCisJaWYgKCFhcnkpCisJCXJldHVybiAtMTsKKworCWZvciAoaSA9IDA7IGkgPCAqaXRlbXM7IGkrKykgeworCQlpZiAoQ1BVX0VRVUFMX1Moc2V0c2l6ZSwgc2V0LCBhcnlbaV0pKQorCQkJYnJlYWs7CisJfQorCWlmIChpID09ICppdGVtcykgeworCQlhcnlbKml0ZW1zXSA9IHNldDsKKwkJKysqaXRlbXM7CisJCXJldHVybiAwOworCX0KKwlDUFVfRlJFRShzZXQpOworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZAorcmVhZF90b3BvbG9neShzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYywgaW50IGlkeCkKK3sKKwljcHVfc2V0X3QgKnRocmVhZF9zaWJsaW5ncywgKmNvcmVfc2libGluZ3M7CisJY3B1X3NldF90ICpib29rX3NpYmxpbmdzLCAqZHJhd2VyX3NpYmxpbmdzOworCWludCBjb3JlaWQsIHNvY2tldGlkLCBib29raWQsIGRyYXdlcmlkOworCWludCBpLCBudW0gPSByZWFsX2NwdV9udW0oZGVzYywgaWR4KTsKKworCWlmICh1bF9wYXRoX2FjY2Vzc2YoZGVzYy0+c3lzY3B1LCBGX09LLCAiY3B1JWQvdG9wb2xvZ3kvdGhyZWFkX3NpYmxpbmdzIiwgbnVtKSAhPSAwKQorCQlyZXR1cm47CisKKwl1bF9wYXRoX3JlYWRmX2NwdXNldChkZXNjLT5zeXNjcHUsICZ0aHJlYWRfc2libGluZ3MsIG1heGNwdXMsCisJCQkJCSJjcHUlZC90b3BvbG9neS90aHJlYWRfc2libGluZ3MiLCBudW0pOworCXVsX3BhdGhfcmVhZGZfY3B1c2V0KGRlc2MtPnN5c2NwdSwgJmNvcmVfc2libGluZ3MsIG1heGNwdXMsCisJCQkJCSJjcHUlZC90b3BvbG9neS9jb3JlX3NpYmxpbmdzIiwgbnVtKTsKKwl1bF9wYXRoX3JlYWRmX2NwdXNldChkZXNjLT5zeXNjcHUsICZib29rX3NpYmxpbmdzLCBtYXhjcHVzLAorCQkJCQkiY3B1JWQvdG9wb2xvZ3kvYm9va19zaWJsaW5ncyIsIG51bSk7CisJdWxfcGF0aF9yZWFkZl9jcHVzZXQoZGVzYy0+c3lzY3B1LCAmZHJhd2VyX3NpYmxpbmdzLCBtYXhjcHVzLAorCQkJCQkiY3B1JWQvdG9wb2xvZ3kvZHJhd2VyX3NpYmxpbmdzIiwgbnVtKTsKKworCWlmICh1bF9wYXRoX3JlYWRmX3MzMihkZXNjLT5zeXNjcHUsICZjb3JlaWQsICJjcHUlZC90b3BvbG9neS9jb3JlX2lkIiwgbnVtKSAhPSAwKQorCQljb3JlaWQgPSAtMTsKKworCWlmICh1bF9wYXRoX3JlYWRmX3MzMihkZXNjLT5zeXNjcHUsICZzb2NrZXRpZCwgImNwdSVkL3RvcG9sb2d5L3BoeXNpY2FsX3BhY2thZ2VfaWQiLCBudW0pICE9IDApCisJCXNvY2tldGlkID0gLTE7CisKKwlpZiAodWxfcGF0aF9yZWFkZl9zMzIoZGVzYy0+c3lzY3B1LCAmYm9va2lkLCAiY3B1JWQvdG9wb2xvZ3kvYm9va19pZCIsIG51bSkgIT0gMCkKKwkJYm9va2lkID0gLTE7CisKKwlpZiAodWxfcGF0aF9yZWFkZl9zMzIoZGVzYy0+c3lzY3B1LCAmZHJhd2VyaWQsICJjcHUlZC90b3BvbG9neS9kcmF3ZXJfaWQiLCBudW0pICE9IDApCisJCWRyYXdlcmlkID0gLTE7CisKKwlpZiAoIWRlc2MtPmNvcmVtYXBzKSB7CisJCWludCBuZHJhd2VycywgbmJvb2tzLCBuc29ja2V0cywgbmNvcmVzLCBudGhyZWFkczsKKwkJc2l6ZV90IHNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKworCQkvKiB0aHJlYWRzIHdpdGhpbiBvbmUgY29yZSAqLworCQludGhyZWFkcyA9IENQVV9DT1VOVF9TKHNldHNpemUsIHRocmVhZF9zaWJsaW5ncyk7CisJCWlmICghbnRocmVhZHMpCisJCQludGhyZWFkcyA9IDE7CisKKwkJLyogY29yZXMgd2l0aGluIG9uZSBzb2NrZXQgKi8KKwkJbmNvcmVzID0gQ1BVX0NPVU5UX1Moc2V0c2l6ZSwgY29yZV9zaWJsaW5ncykgLyBudGhyZWFkczsKKwkJaWYgKCFuY29yZXMpCisJCQluY29yZXMgPSAxOworCisJCS8qIG51bWJlciBvZiBzb2NrZXRzIHdpdGhpbiBvbmUgYm9vay4gIEJlY2F1c2Ugb2Ygb2RkIC8KKwkJICogbm9uLXByZXNlbnQgY3B1IG1hcHMgYW5kIHRvIGtlZXAgY2FsY3VsYXRpb24gZWFzeSB3ZSBtYWtlCisJCSAqIHN1cmUgdGhhdCBuc29ja2V0cyBhbmQgbmJvb2tzIGlzIGF0IGxlYXN0IDEuCisJCSAqLworCQluc29ja2V0cyA9IGRlc2MtPm5jcHVzIC8gbnRocmVhZHMgLyBuY29yZXM7CisJCWlmICghbnNvY2tldHMpCisJCQluc29ja2V0cyA9IDE7CisKKwkJLyogbnVtYmVyIG9mIGJvb2tzICovCisJCW5ib29rcyA9IGRlc2MtPm5jcHVzIC8gbnRocmVhZHMgLyBuY29yZXMgLyBuc29ja2V0czsKKwkJaWYgKCFuYm9va3MpCisJCQluYm9va3MgPSAxOworCisJCS8qIG51bWJlciBvZiBkcmF3ZXJzICovCisJCW5kcmF3ZXJzID0gZGVzYy0+bmNwdXMgLyBuYm9va3MgLyBudGhyZWFkcyAvIG5jb3JlcyAvIG5zb2NrZXRzOworCQlpZiAoIW5kcmF3ZXJzKQorCQkJbmRyYXdlcnMgPSAxOworCisJCS8qIGFsbCB0aHJlYWRzLCBzZWUgYWxzbyByZWFkX2Jhc2ljaW5mbygpCisJCSAqIC0tIGZhbGxiYWNrIGZvciBrZXJuZWxzIHdpdGhvdXQKKwkJICogICAgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvb25saW5lLgorCQkgKi8KKwkJaWYgKCFkZXNjLT5udGhyZWFkcykKKwkJCWRlc2MtPm50aHJlYWRzID0gbmRyYXdlcnMgKiBuYm9va3MgKiBuc29ja2V0cyAqIG5jb3JlcyAqIG50aHJlYWRzOworCisJCS8qIEZvciBlYWNoIG1hcCB3ZSBtYWtlIHN1cmUgdGhhdCBpdCBjYW4gaGF2ZSB1cCB0byBuY3B1c3BvcworCQkgKiBlbnRyaWVzLiBUaGlzIGlzIGJlY2F1c2Ugd2UgY2Fubm90IHJlbGlhYmx5IGNhbGN1bGF0ZSB0aGUKKwkJICogbnVtYmVyIG9mIGNvcmVzLCBzb2NrZXRzIGFuZCBib29rcyBvbiBhbGwgYXJjaGl0ZWN0dXJlcy4KKwkJICogRS5nLiBjb21wbGV0ZWx5IHZpcnR1YWxpemVkIGFyY2hpdGVjdHVyZXMgbGlrZSBzMzkwIG1heQorCQkgKiBoYXZlIG11bHRpcGxlIHNvY2tldHMgb2YgZGlmZmVyZW50IHNpemVzLgorCQkgKi8KKwkJZGVzYy0+Y29yZW1hcHMgPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoY3B1X3NldF90ICopKTsKKwkJZGVzYy0+c29ja2V0bWFwcyA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihjcHVfc2V0X3QgKikpOworCQlkZXNjLT5jb3JlaWRzID0geGNhbGxvYyhkZXNjLT5uY3B1c3Bvcywgc2l6ZW9mKCpkZXNjLT5kcmF3ZXJpZHMpKTsKKwkJZGVzYy0+c29ja2V0aWRzID0geGNhbGxvYyhkZXNjLT5uY3B1c3Bvcywgc2l6ZW9mKCpkZXNjLT5kcmF3ZXJpZHMpKTsKKwkJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5jcHVzcG9zOyBpKyspCisJCQlkZXNjLT5jb3JlaWRzW2ldID0gZGVzYy0+c29ja2V0aWRzW2ldID0gLTE7CisJCWlmIChib29rX3NpYmxpbmdzKSB7CisJCQlkZXNjLT5ib29rbWFwcyA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihjcHVfc2V0X3QgKikpOworCQkJZGVzYy0+Ym9va2lkcyA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZigqZGVzYy0+ZHJhd2VyaWRzKSk7CisJCQlmb3IgKGkgPSAwOyBpIDwgZGVzYy0+bmNwdXNwb3M7IGkrKykKKwkJCQlkZXNjLT5ib29raWRzW2ldID0gLTE7CisJCX0KKwkJaWYgKGRyYXdlcl9zaWJsaW5ncykgeworCQkJZGVzYy0+ZHJhd2VybWFwcyA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihjcHVfc2V0X3QgKikpOworCQkJZGVzYy0+ZHJhd2VyaWRzID0geGNhbGxvYyhkZXNjLT5uY3B1c3Bvcywgc2l6ZW9mKCpkZXNjLT5kcmF3ZXJpZHMpKTsKKwkJCWZvciAoaSA9IDA7IGkgPCBkZXNjLT5uY3B1c3BvczsgaSsrKQorCQkJCWRlc2MtPmRyYXdlcmlkc1tpXSA9IC0xOworCQl9CisJfQorCisJYWRkX2NwdXNldF90b19hcnJheShkZXNjLT5zb2NrZXRtYXBzLCAmZGVzYy0+bnNvY2tldHMsIGNvcmVfc2libGluZ3MpOworCWRlc2MtPmNvcmVpZHNbaWR4XSA9IGNvcmVpZDsKKwlhZGRfY3B1c2V0X3RvX2FycmF5KGRlc2MtPmNvcmVtYXBzLCAmZGVzYy0+bmNvcmVzLCB0aHJlYWRfc2libGluZ3MpOworCWRlc2MtPnNvY2tldGlkc1tpZHhdID0gc29ja2V0aWQ7CisJaWYgKGJvb2tfc2libGluZ3MpIHsKKwkJYWRkX2NwdXNldF90b19hcnJheShkZXNjLT5ib29rbWFwcywgJmRlc2MtPm5ib29rcywgYm9va19zaWJsaW5ncyk7CisJCWRlc2MtPmJvb2tpZHNbaWR4XSA9IGJvb2tpZDsKKwl9CisJaWYgKGRyYXdlcl9zaWJsaW5ncykgeworCQlhZGRfY3B1c2V0X3RvX2FycmF5KGRlc2MtPmRyYXdlcm1hcHMsICZkZXNjLT5uZHJhd2VycywgZHJhd2VyX3NpYmxpbmdzKTsKKwkJZGVzYy0+ZHJhd2VyaWRzW2lkeF0gPSBkcmF3ZXJpZDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkCityZWFkX3BvbGFyaXphdGlvbihzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYywgaW50IGlkeCkKK3sKKwljaGFyIG1vZGVbNjRdOworCWludCBudW0gPSByZWFsX2NwdV9udW0oZGVzYywgaWR4KTsKKworCWlmIChkZXNjLT5kaXNwYXRjaGluZyA8IDApCisJCXJldHVybjsKKwlpZiAodWxfcGF0aF9hY2Nlc3NmKGRlc2MtPnN5c2NwdSwgRl9PSywgImNwdSVkL3BvbGFyaXphdGlvbiIsIG51bSkgIT0gMCkKKwkJcmV0dXJuOworCWlmICghZGVzYy0+cG9sYXJpemF0aW9uKQorCQlkZXNjLT5wb2xhcml6YXRpb24gPSB4Y2FsbG9jKGRlc2MtPm5jcHVzcG9zLCBzaXplb2YoaW50KSk7CisKKwl1bF9wYXRoX3JlYWRmX2J1ZmZlcihkZXNjLT5zeXNjcHUsIG1vZGUsIHNpemVvZihtb2RlKSwgImNwdSVkL3BvbGFyaXphdGlvbiIsIG51bSk7CisKKwlpZiAoc3RybmNtcChtb2RlLCAidmVydGljYWw6bG93Iiwgc2l6ZW9mKG1vZGUpKSA9PSAwKQorCQlkZXNjLT5wb2xhcml6YXRpb25baWR4XSA9IFBPTEFSX1ZMT1c7CisJZWxzZSBpZiAoc3RybmNtcChtb2RlLCAidmVydGljYWw6bWVkaXVtIiwgc2l6ZW9mKG1vZGUpKSA9PSAwKQorCQlkZXNjLT5wb2xhcml6YXRpb25baWR4XSA9IFBPTEFSX1ZNRURJVU07CisJZWxzZSBpZiAoc3RybmNtcChtb2RlLCAidmVydGljYWw6aGlnaCIsIHNpemVvZihtb2RlKSkgPT0gMCkKKwkJZGVzYy0+cG9sYXJpemF0aW9uW2lkeF0gPSBQT0xBUl9WSElHSDsKKwllbHNlIGlmIChzdHJuY21wKG1vZGUsICJob3Jpem9udGFsIiwgc2l6ZW9mKG1vZGUpKSA9PSAwKQorCQlkZXNjLT5wb2xhcml6YXRpb25baWR4XSA9IFBPTEFSX0hPUklaT05UQUw7CisJZWxzZQorCQlkZXNjLT5wb2xhcml6YXRpb25baWR4XSA9IFBPTEFSX1VOS05PV047Cit9CisKK3N0YXRpYyB2b2lkCityZWFkX2FkZHJlc3Moc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgpCit7CisJaW50IG51bSA9IHJlYWxfY3B1X251bShkZXNjLCBpZHgpOworCisJaWYgKHVsX3BhdGhfYWNjZXNzZihkZXNjLT5zeXNjcHUsIEZfT0ssICJjcHUlZC9hZGRyZXNzIiwgbnVtKSAhPSAwKQorCQlyZXR1cm47CisJaWYgKCFkZXNjLT5hZGRyZXNzZXMpCisJCWRlc2MtPmFkZHJlc3NlcyA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihpbnQpKTsKKwl1bF9wYXRoX3JlYWRmX3MzMihkZXNjLT5zeXNjcHUsICZkZXNjLT5hZGRyZXNzZXNbaWR4XSwgImNwdSVkL2FkZHJlc3MiLCBudW0pOworfQorCitzdGF0aWMgdm9pZAorcmVhZF9jb25maWd1cmVkKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBpbnQgaWR4KQoreworCWludCBudW0gPSByZWFsX2NwdV9udW0oZGVzYywgaWR4KTsKKworCWlmICh1bF9wYXRoX2FjY2Vzc2YoZGVzYy0+c3lzY3B1LCBGX09LLCAiY3B1JWQvY29uZmlndXJlIiwgbnVtKSAhPSAwKQorCQlyZXR1cm47CisJaWYgKCFkZXNjLT5jb25maWd1cmVkKQorCQlkZXNjLT5jb25maWd1cmVkID0geGNhbGxvYyhkZXNjLT5uY3B1c3Bvcywgc2l6ZW9mKGludCkpOworCXVsX3BhdGhfcmVhZGZfczMyKGRlc2MtPnN5c2NwdSwgJmRlc2MtPmNvbmZpZ3VyZWRbaWR4XSwgImNwdSVkL2NvbmZpZ3VyZSIsIG51bSk7Cit9CisKKy8qIFJlYWQgb3ZlcmFsbCBtYXhpbXVtIGZyZXF1ZW5jeSBvZiBjcHUgKi8KK3N0YXRpYyBjaGFyICoKK2NwdV9tYXhfbWh6KHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBjaGFyICpidWYsIHNpemVfdCBidWZzeikKK3sKKwlpbnQgaTsKKwlmbG9hdCBjcHVfZnJlcSA9IDAuMDsKKwlzaXplX3Qgc2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG1heGNwdXMpOworCisJaWYgKGRlc2MtPnByZXNlbnQpIHsKKwkJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5jcHVzcG9zOyBpKyspIHsKKwkJCWlmIChDUFVfSVNTRVRfUyhyZWFsX2NwdV9udW0oZGVzYywgaSksIHNldHNpemUsIGRlc2MtPnByZXNlbnQpCisJCQkgICAgJiYgZGVzYy0+bWF4bWh6W2ldKSB7CisJCQkJZmxvYXQgZnJlcSA9IGF0b2YoZGVzYy0+bWF4bWh6W2ldKTsKKworCQkJCWlmIChmcmVxID4gY3B1X2ZyZXEpCisJCQkJCWNwdV9mcmVxID0gZnJlcTsKKwkJCX0KKwkJfQorCX0KKwlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJS40ZiIsIGNwdV9mcmVxKTsKKwlyZXR1cm4gYnVmOworfQorCisvKiBSZWFkIG92ZXJhbGwgbWluaW11bSBmcmVxdWVuY3kgb2YgY3B1ICovCitzdGF0aWMgY2hhciAqCitjcHVfbWluX21oeihzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYywgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJaW50IGk7CisJZmxvYXQgY3B1X2ZyZXEgPSAtMS4wOworCXNpemVfdCBzZXRzaXplID0gQ1BVX0FMTE9DX1NJWkUobWF4Y3B1cyk7CisKKwlpZiAoZGVzYy0+cHJlc2VudCkgeworCQlmb3IgKGkgPSAwOyBpIDwgZGVzYy0+bmNwdXNwb3M7IGkrKykgeworCQkJaWYgKENQVV9JU1NFVF9TKHJlYWxfY3B1X251bShkZXNjLCBpKSwgc2V0c2l6ZSwgZGVzYy0+cHJlc2VudCkKKwkJCSAgICAmJiBkZXNjLT5taW5taHpbaV0pIHsKKwkJCQlmbG9hdCBmcmVxID0gYXRvZihkZXNjLT5taW5taHpbaV0pOworCisJCQkJaWYgKGNwdV9mcmVxIDwgMC4wIHx8IGZyZXEgPCBjcHVfZnJlcSkKKwkJCQkJY3B1X2ZyZXEgPSBmcmVxOworCQkJfQorCQl9CisJfQorICAgICAgICBzbnByaW50ZihidWYsIGJ1ZnN6LCAiJS40ZiIsIGNwdV9mcmVxKTsKKwlyZXR1cm4gYnVmOworfQorCisKK3N0YXRpYyB2b2lkCityZWFkX21heF9taHooc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgpCit7CisJaW50IG51bSA9IHJlYWxfY3B1X251bShkZXNjLCBpZHgpOworCWludCBtaHo7CisKKwlpZiAodWxfcGF0aF9yZWFkZl9zMzIoZGVzYy0+c3lzY3B1LCAmbWh6LCAiY3B1JWQvY3B1ZnJlcS9jcHVpbmZvX21heF9mcmVxIiwgbnVtKSAhPSAwKQorCQlyZXR1cm47CisJaWYgKCFkZXNjLT5tYXhtaHopCisJCWRlc2MtPm1heG1oeiA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihjaGFyICopKTsKKwl4YXNwcmludGYoJmRlc2MtPm1heG1oeltpZHhdLCAiJS40ZiIsIChmbG9hdCkgbWh6IC8gMTAwMCk7Cit9CisKK3N0YXRpYyB2b2lkCityZWFkX21pbl9taHooc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgpCit7CisJaW50IG51bSA9IHJlYWxfY3B1X251bShkZXNjLCBpZHgpOworCWludCBtaHo7CisKKwlpZiAodWxfcGF0aF9yZWFkZl9zMzIoZGVzYy0+c3lzY3B1LCAmbWh6LCAiY3B1JWQvY3B1ZnJlcS9jcHVpbmZvX21pbl9mcmVxIiwgbnVtKSAhPSAwKQorCQlyZXR1cm47CisJaWYgKCFkZXNjLT5taW5taHopCisJCWRlc2MtPm1pbm1oeiA9IHhjYWxsb2MoZGVzYy0+bmNwdXNwb3MsIHNpemVvZihjaGFyICopKTsKKwl4YXNwcmludGYoJmRlc2MtPm1pbm1oeltpZHhdLCAiJS40ZiIsIChmbG9hdCkgbWh6IC8gMTAwMCk7Cit9CisKK3N0YXRpYyBpbnQKK2NhY2hlY21wKGNvbnN0IHZvaWQgKmEsIGNvbnN0IHZvaWQgKmIpCit7CisJc3RydWN0IGNwdV9jYWNoZSAqYzEgPSAoc3RydWN0IGNwdV9jYWNoZSAqKSBhOworCXN0cnVjdCBjcHVfY2FjaGUgKmMyID0gKHN0cnVjdCBjcHVfY2FjaGUgKikgYjsKKworCXJldHVybiBzdHJjbXAoYzItPm5hbWUsIGMxLT5uYW1lKTsKK30KKworc3RhdGljIHZvaWQKK3JlYWRfY2FjaGUoc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgpCit7CisJY2hhciBidWZbMjU2XTsKKwlpbnQgaTsKKwlpbnQgbnVtID0gcmVhbF9jcHVfbnVtKGRlc2MsIGlkeCk7CisKKwlpZiAoIWRlc2MtPm5jYWNoZXMpIHsKKwkJd2hpbGUgKHVsX3BhdGhfYWNjZXNzZihkZXNjLT5zeXNjcHUsIEZfT0ssCisJCQkJCSJjcHUlZC9jYWNoZS9pbmRleCVkIiwKKwkJCQkJbnVtLCBkZXNjLT5uY2FjaGVzKSA9PSAwKQorCQkJZGVzYy0+bmNhY2hlcysrOworCisJCWlmICghZGVzYy0+bmNhY2hlcykKKwkJCXJldHVybjsKKwkJZGVzYy0+Y2FjaGVzID0geGNhbGxvYyhkZXNjLT5uY2FjaGVzLCBzaXplb2YoKmRlc2MtPmNhY2hlcykpOworCX0KKwlmb3IgKGkgPSAwOyBpIDwgZGVzYy0+bmNhY2hlczsgaSsrKSB7CisJCXN0cnVjdCBjcHVfY2FjaGUgKmNhID0gJmRlc2MtPmNhY2hlc1tpXTsKKwkJY3B1X3NldF90ICptYXA7CisKKwkJaWYgKHVsX3BhdGhfYWNjZXNzZihkZXNjLT5zeXNjcHUsIEZfT0ssCisJCQkJCSJjcHUlZC9jYWNoZS9pbmRleCVkIiwgbnVtLCBpKSAhPSAwKQorCQkJY29udGludWU7CisJCWlmICghY2EtPm5hbWUpIHsKKwkJCWludCB0eXBlID0gMCwgbGV2ZWw7CisKKwkJCS8qIGNhY2hlIHR5cGUgKi8KKwkJCWlmICh1bF9wYXRoX3JlYWRmX2J1ZmZlcihkZXNjLT5zeXNjcHUsIGJ1Ziwgc2l6ZW9mKGJ1ZiksCisJCQkJCSJjcHUlZC9jYWNoZS9pbmRleCVkL3R5cGUiLCBudW0sIGkpID4gMCkgeworCQkJCWlmICghc3RyY21wKGJ1ZiwgIkRhdGEiKSkKKwkJCQkJdHlwZSA9ICdkJzsKKwkJCQllbHNlIGlmICghc3RyY21wKGJ1ZiwgIkluc3RydWN0aW9uIikpCisJCQkJCXR5cGUgPSAnaSc7CisJCQl9CisKKwkJCS8qIGNhY2hlIGxldmVsICovCisJCQl1bF9wYXRoX3JlYWRmX3MzMihkZXNjLT5zeXNjcHUsICZsZXZlbCwKKwkJCQkJImNwdSVkL2NhY2hlL2luZGV4JWQvbGV2ZWwiLCBudW0sIGkpOworCQkJaWYgKHR5cGUpCisJCQkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIkwlZCVjIiwgbGV2ZWwsIHR5cGUpOworCQkJZWxzZQorCQkJCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICJMJWQiLCBsZXZlbCk7CisKKwkJCWNhLT5uYW1lID0geHN0cmR1cChidWYpOworCisJCQkvKiBjYWNoZSBzaXplICovCisJCQlpZiAodWxfcGF0aF9yZWFkZl9zdHJpbmcoZGVzYy0+c3lzY3B1LCAmY2EtPnNpemUsCisJCQkJCSJjcHUlZC9jYWNoZS9pbmRleCVkL3NpemUiLCBudW0sIGkpIDwgMCkKKwkJCQljYS0+c2l6ZSA9IHhzdHJkdXAoInVua25vd24gc2l6ZSIpOworCQl9CisKKwkJLyogaW5mb3JtYXRpb24gYWJvdXQgaG93IENQVXMgc2hhcmUgZGlmZmVyZW50IGNhY2hlcyAqLworCQl1bF9wYXRoX3JlYWRmX2NwdXNldChkZXNjLT5zeXNjcHUsICZtYXAsIG1heGNwdXMsCisJCQkJICAiY3B1JWQvY2FjaGUvaW5kZXglZC9zaGFyZWRfY3B1X21hcCIsIG51bSwgaSk7CisKKwkJaWYgKCFjYS0+c2hhcmVkbWFwcykKKwkJCWNhLT5zaGFyZWRtYXBzID0geGNhbGxvYyhkZXNjLT5uY3B1c3Bvcywgc2l6ZW9mKGNwdV9zZXRfdCAqKSk7CisJCWFkZF9jcHVzZXRfdG9fYXJyYXkoY2EtPnNoYXJlZG1hcHMsICZjYS0+bnNoYXJlZG1hcHMsIG1hcCk7CisJfQorfQorCitzdGF0aWMgaW5saW5lIGludCBpc19ub2RlX2RpcmVudChzdHJ1Y3QgZGlyZW50ICpkKQoreworCXJldHVybgorCQlkICYmCisjaWZkZWYgX0RJUkVOVF9IQVZFX0RfVFlQRQorCQkoZC0+ZF90eXBlID09IERUX0RJUiB8fCBkLT5kX3R5cGUgPT0gRFRfVU5LTk9XTikgJiYKKyNlbmRpZgorCQlzdHJuY21wKGQtPmRfbmFtZSwgIm5vZGUiLCA0KSA9PSAwICYmCisJCWlzZGlnaXRfc3RyaW5nKGQtPmRfbmFtZSArIDQpOworfQorCitzdGF0aWMgaW50Citub2RlY21wKGNvbnN0IHZvaWQgKmFwLCBjb25zdCB2b2lkICpicCkKK3sKKwlpbnQgKmEgPSAoaW50ICopIGFwLCAqYiA9IChpbnQgKikgYnA7CisJcmV0dXJuICphIC0gKmI7Cit9CisKK3N0YXRpYyB2b2lkCityZWFkX25vZGVzKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjKQoreworCWludCBpID0gMDsKKwlESVIgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkOworCXN0cnVjdCBwYXRoX2N4dCAqc3lzbm9kZTsKKworCWRlc2MtPm5ub2RlcyA9IDA7CisKKwlzeXNub2RlID0gdWxfbmV3X3BhdGgoX1BBVEhfU1lTX05PREUpOworCWlmICghc3lzbm9kZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgJXMgaGFuZGxlciIpLCBfUEFUSF9TWVNfTk9ERSk7CisJdWxfcGF0aF9zZXRfcHJlZml4KHN5c25vZGUsIGRlc2MtPnByZWZpeCk7CisKKwlkaXIgPSB1bF9wYXRoX29wZW5kaXIoc3lzbm9kZSwgTlVMTCk7CisJaWYgKCFkaXIpCisJCWdvdG8gZG9uZTsKKworCXdoaWxlICgoZCA9IHJlYWRkaXIoZGlyKSkpIHsKKwkJaWYgKGlzX25vZGVfZGlyZW50KGQpKQorCQkJZGVzYy0+bm5vZGVzKys7CisJfQorCisJaWYgKCFkZXNjLT5ubm9kZXMpIHsKKwkJY2xvc2VkaXIoZGlyKTsKKwkJZ290byBkb25lOworCX0KKworCWRlc2MtPm5vZGVtYXBzID0geGNhbGxvYyhkZXNjLT5ubm9kZXMsIHNpemVvZihjcHVfc2V0X3QgKikpOworCWRlc2MtPmlkeDJub2RlbnVtID0geG1hbGxvYyhkZXNjLT5ubm9kZXMgKiBzaXplb2YoaW50KSk7CisKKwlyZXdpbmRkaXIoZGlyKTsKKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpICYmIGkgPCBkZXNjLT5ubm9kZXMpIHsKKwkJaWYgKGlzX25vZGVfZGlyZW50KGQpKQorCQkJZGVzYy0+aWR4Mm5vZGVudW1baSsrXSA9IHN0cnRvbF9vcl9lcnIoKChkLT5kX25hbWUpICsgNCksCisJCQkJCQlfKCJGYWlsZWQgdG8gZXh0cmFjdCB0aGUgbm9kZSBudW1iZXIiKSk7CisJfQorCWNsb3NlZGlyKGRpcik7CisJcXNvcnQoZGVzYy0+aWR4Mm5vZGVudW0sIGRlc2MtPm5ub2Rlcywgc2l6ZW9mKGludCksIG5vZGVjbXApOworCisJLyogaW5mb3JtYXRpb24gYWJvdXQgaG93IG5vZGVzIHNoYXJlIGRpZmZlcmVudCBDUFVzICovCisJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5ub2RlczsgaSsrKQorCQl1bF9wYXRoX3JlYWRmX2NwdXNldChzeXNub2RlLCAmZGVzYy0+bm9kZW1hcHNbaV0sIG1heGNwdXMsCisJCQkJIm5vZGUlZC9jcHVtYXAiLCBkZXNjLT5pZHgybm9kZW51bVtpXSk7Citkb25lOgorCXVsX3VucmVmX3BhdGgoc3lzbm9kZSk7Cit9CisKK3N0YXRpYyBjaGFyICoKK2dldF9jZWxsX2RhdGEoc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBpZHgsIGludCBjb2wsCisJICAgICAgc3RydWN0IGxzY3B1X21vZGlmaWVyICptb2QsCisJICAgICAgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJc2l6ZV90IHNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKwlzaXplX3QgaTsKKwlpbnQgY3B1ID0gcmVhbF9jcHVfbnVtKGRlc2MsIGlkeCk7CisKKwkqYnVmID0gJ1wwJzsKKworCXN3aXRjaCAoY29sKSB7CisJY2FzZSBDT0xfQ1BVOgorCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJWQiLCBjcHUpOworCQlicmVhazsKKwljYXNlIENPTF9DT1JFOgorCQlpZiAobW9kLT5waHlzaWNhbCkgeworCQkJaWYgKGRlc2MtPmNvcmVpZHNbaWR4XSA9PSAtMSkKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiLSIpOworCQkJZWxzZQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlZCIsIGRlc2MtPmNvcmVpZHNbaWR4XSk7CisJCX0gZWxzZSB7CisJCQlpZiAoY3B1c2V0X2FyeV9pc3NldChjcHUsIGRlc2MtPmNvcmVtYXBzLAorCQkJCQkgICAgIGRlc2MtPm5jb3Jlcywgc2V0c2l6ZSwgJmkpID09IDApCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgIiV6dSIsIGkpOworCQl9CisJCWJyZWFrOworCWNhc2UgQ09MX1NPQ0tFVDoKKwkJaWYgKG1vZC0+cGh5c2ljYWwpIHsKKwkJCWlmIChkZXNjLT5zb2NrZXRpZHNbaWR4XSA9PSAgLTEpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgIi0iKTsKKwkJCWVsc2UKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJWQiLCBkZXNjLT5zb2NrZXRpZHNbaWR4XSk7CisJCX0gZWxzZSB7CisJCQlpZiAoY3B1c2V0X2FyeV9pc3NldChjcHUsIGRlc2MtPnNvY2tldG1hcHMsCisJCQkJCSAgICAgZGVzYy0+bnNvY2tldHMsIHNldHNpemUsICZpKSA9PSAwKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlenUiLCBpKTsKKwkJfQorCQlicmVhazsKKwljYXNlIENPTF9OT0RFOgorCQlpZiAoY3B1c2V0X2FyeV9pc3NldChjcHUsIGRlc2MtPm5vZGVtYXBzLAorCQkJCSAgICAgZGVzYy0+bm5vZGVzLCBzZXRzaXplLCAmaSkgPT0gMCkKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlZCIsIGRlc2MtPmlkeDJub2RlbnVtW2ldKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfRFJBV0VSOgorCQlpZiAobW9kLT5waHlzaWNhbCkgeworCQkJaWYgKGRlc2MtPmRyYXdlcmlkc1tpZHhdID09IC0xKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICItIik7CisJCQllbHNlCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgIiVkIiwgZGVzYy0+ZHJhd2VyaWRzW2lkeF0pOworCQl9IGVsc2UgeworCQkJaWYgKGNwdXNldF9hcnlfaXNzZXQoY3B1LCBkZXNjLT5kcmF3ZXJtYXBzLAorCQkJCQkgICAgIGRlc2MtPm5kcmF3ZXJzLCBzZXRzaXplLCAmaSkgPT0gMCkKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJXp1IiwgaSk7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBDT0xfQk9PSzoKKwkJaWYgKG1vZC0+cGh5c2ljYWwpIHsKKwkJCWlmIChkZXNjLT5ib29raWRzW2lkeF0gPT0gLTEpCisJCQkJc25wcmludGYoYnVmLCBidWZzeiwgIi0iKTsKKwkJCWVsc2UKKwkJCQlzbnByaW50ZihidWYsIGJ1ZnN6LCAiJWQiLCBkZXNjLT5ib29raWRzW2lkeF0pOworCQl9IGVsc2UgeworCQkJaWYgKGNwdXNldF9hcnlfaXNzZXQoY3B1LCBkZXNjLT5ib29rbWFwcywKKwkJCQkJICAgICBkZXNjLT5uYm9va3MsIHNldHNpemUsICZpKSA9PSAwKQorCQkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlenUiLCBpKTsKKwkJfQorCQlicmVhazsKKwljYXNlIENPTF9DQUNIRToKKwl7CisJCWNoYXIgKnAgPSBidWY7CisJCXNpemVfdCBzeiA9IGJ1ZnN6OworCQlpbnQgajsKKworCQlmb3IgKGogPSBkZXNjLT5uY2FjaGVzIC0gMTsgaiA+PSAwOyBqLS0pIHsKKwkJCXN0cnVjdCBjcHVfY2FjaGUgKmNhID0gJmRlc2MtPmNhY2hlc1tqXTsKKworCQkJaWYgKGNwdXNldF9hcnlfaXNzZXQoY3B1LCBjYS0+c2hhcmVkbWFwcywKKwkJCQkJICAgICBjYS0+bnNoYXJlZG1hcHMsIHNldHNpemUsICZpKSA9PSAwKSB7CisJCQkJaW50IHggPSBzbnByaW50ZihwLCBzeiwgIiV6dSIsIGkpOworCQkJCWlmICh4IDwgMCB8fCAoc2l6ZV90KSB4ID49IHN6KQorCQkJCQlyZXR1cm4gTlVMTDsKKwkJCQlwICs9IHg7CisJCQkJc3ogLT0geDsKKwkJCX0KKwkJCWlmIChqICE9IDApIHsKKwkJCQlpZiAoc3ogPCAyKQorCQkJCQlyZXR1cm4gTlVMTDsKKwkJCQkqcCsrID0gbW9kLT5jb21wYXQgPyAnLCcgOiAnOic7CisJCQkJKnAgPSAnXDAnOworCQkJCXN6LS07CisJCQl9CisJCX0KKwkJYnJlYWs7CisJfQorCWNhc2UgQ09MX1BPTEFSSVpBVElPTjoKKwkJaWYgKGRlc2MtPnBvbGFyaXphdGlvbikgeworCQkJaW50IHggPSBkZXNjLT5wb2xhcml6YXRpb25baWR4XTsKKworCQkJc25wcmludGYoYnVmLCBidWZzeiwgIiVzIiwKKwkJCQkgbW9kLT5tb2RlID09IE9VVFBVVF9QQVJTQUJMRSA/CisJCQkJCQlwb2xhcl9tb2Rlc1t4XS5wYXJzYWJsZSA6CisJCQkJCQlwb2xhcl9tb2Rlc1t4XS5yZWFkYWJsZSk7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBDT0xfQUREUkVTUzoKKwkJaWYgKGRlc2MtPmFkZHJlc3NlcykKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlZCIsIGRlc2MtPmFkZHJlc3Nlc1tpZHhdKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfQ09ORklHVVJFRDoKKwkJaWYgKCFkZXNjLT5jb25maWd1cmVkKQorCQkJYnJlYWs7CisJCWlmIChtb2QtPm1vZGUgPT0gT1VUUFVUX1BBUlNBQkxFKQorCQkJc25wcmludGYoYnVmLCBidWZzeiwgIiVzIiwKKwkJCQkgZGVzYy0+Y29uZmlndXJlZFtpZHhdID8gXygiWSIpIDogXygiTiIpKTsKKwkJZWxzZQorCQkJc25wcmludGYoYnVmLCBidWZzeiwgIiVzIiwKKwkJCQkgZGVzYy0+Y29uZmlndXJlZFtpZHhdID8gXygieWVzIikgOiBfKCJubyIpKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfT05MSU5FOgorCQlpZiAoIWRlc2MtPm9ubGluZSkKKwkJCWJyZWFrOworCQlpZiAobW9kLT5tb2RlID09IE9VVFBVVF9QQVJTQUJMRSkKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcyIsCisJCQkJIGlzX2NwdV9vbmxpbmUoZGVzYywgY3B1KSA/IF8oIlkiKSA6IF8oIk4iKSk7CisJCWVsc2UKKwkJCXNucHJpbnRmKGJ1ZiwgYnVmc3osICIlcyIsCisJCQkJIGlzX2NwdV9vbmxpbmUoZGVzYywgY3B1KSA/IF8oInllcyIpIDogXygibm8iKSk7CisJCWJyZWFrOworCWNhc2UgQ09MX01BWE1IWjoKKwkJaWYgKGRlc2MtPm1heG1oeiAmJiBkZXNjLT5tYXhtaHpbaWR4XSkKKwkJCXhzdHJuY3B5KGJ1ZiwgZGVzYy0+bWF4bWh6W2lkeF0sIGJ1ZnN6KTsKKwkJYnJlYWs7CisJY2FzZSBDT0xfTUlOTUhaOgorCQlpZiAoZGVzYy0+bWlubWh6ICYmIGRlc2MtPm1pbm1oeltpZHhdKQorCQkJeHN0cm5jcHkoYnVmLCBkZXNjLT5taW5taHpbaWR4XSwgYnVmc3opOworCQlicmVhazsKKwl9CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIGNoYXIgKgorZ2V0X2NlbGxfaGVhZGVyKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBpbnQgY29sLAorCQlzdHJ1Y3QgbHNjcHVfbW9kaWZpZXIgKm1vZCwKKwkgICAgICAgIGNoYXIgKmJ1Ziwgc2l6ZV90IGJ1ZnN6KQoreworCSpidWYgPSAnXDAnOworCisJaWYgKGNvbCA9PSBDT0xfQ0FDSEUpIHsKKwkJY2hhciAqcCA9IGJ1ZjsKKwkJc2l6ZV90IHN6ID0gYnVmc3o7CisJCWludCBpOworCisJCWZvciAoaSA9IGRlc2MtPm5jYWNoZXMgLSAxOyBpID49IDA7IGktLSkgeworCQkJaW50IHggPSBzbnByaW50ZihwLCBzeiwgIiVzIiwgZGVzYy0+Y2FjaGVzW2ldLm5hbWUpOworCQkJaWYgKHggPCAwIHx8IChzaXplX3QpIHggPj0gc3opCisJCQkJcmV0dXJuIE5VTEw7CisJCQlzeiAtPSB4OworCQkJcCArPSB4OworCQkJaWYgKGkgPiAwKSB7CisJCQkJaWYgKHN6IDwgMikKKwkJCQkJcmV0dXJuIE5VTEw7CisJCQkJKnArKyA9IG1vZC0+Y29tcGF0ID8gJywnIDogJzonOworCQkJCSpwID0gJ1wwJzsKKwkJCQlzei0tOworCQkJfQorCQl9CisJCWlmIChkZXNjLT5uY2FjaGVzKQorCQkJcmV0dXJuIGJ1ZjsKKwl9CisJc25wcmludGYoYnVmLCBidWZzeiwgIiVzIiwgY29sZGVzY3NbY29sXS5uYW1lKTsKKwlyZXR1cm4gYnVmOworfQorCisvKgorICogWy1wXSBiYWNrZW5kLCB3ZSBzdXBwb3J0IHR3byBwYXJzYWJsZSBmb3JtYXRzOgorICoKKyAqIDEpICJjb21wYXRpYmxlIiAtLSB0aGlzIGZvcm1hdCBpcyBjb21wYXRpYmxlIHdpdGggdGhlIG9yaWdpbmFsIGxzY3B1KDEpCisgKiBvdXRwdXQgYW5kIGl0IGNvbnRhaW5zIGZpeGVkIHNldCBvZiB0aGUgY29sdW1ucy4gVGhlIENBQ0hFIGNvbHVtbnMgYXJlIGF0CisgKiB0aGUgZW5kIG9mIHRoZSBsaW5lIGFuZCB0aGUgQ0FDSEUgaXMgbm90IHByaW50ZWQgaWYgdGhlIG51bWJlciBvZiB0aGUgY2FjaGVzCisgKiBpcyB6ZXJvLiBUaGUgQ0FDSEUgY29sdW1ucyBhcmUgc2VwYXJhdGVkIGJ5IHR3byBjb21tYXMsIGZvciBleGFtcGxlOgorICoKKyAqICAgICQgbHNjcHUgLS1wYXJzZQorICogICAgIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxaSxMMgorICogICAgMCwwLDAsMCwsMCwwLDAKKyAqICAgIDEsMSwwLDAsLDEsMSwwCisgKgorICogMikgInVzZXIgZGVmaW5lZCBvdXRwdXQiIC0tIHRoaXMgZm9ybWF0IHByaW50cyBhbHdheXMgYWxsIGNvbHVtbnMgd2l0aG91dAorICogc3BlY2lhbCBwcmVmaXggZm9yIENBQ0hFIGNvbHVtbi4gSWYgdGhlcmUgYXJlIG5vdCBDQUNIRXMgdGhlbiB0aGUgY29sdW1uIGlzCisgKiBlbXB0eSBhbmQgdGhlIGhlYWRlciAiQ2FjaGUiIGlzIHByaW50ZWQgcmF0aGVyIHRoYW4gYSByZWFsIG5hbWUgb2YgdGhlIGNhY2hlLgorICogVGhlIENBQ0hFIGNvbHVtbnMgYXJlIHNlcGFyYXRlZCBieSAnOicuCisgKgorICoJJCBsc2NwdSAtLXBhcnNlPUNQVSxDT1JFLFNPQ0tFVCxOT0RFLENBQ0hFCisgKgkjIENQVSxDb3JlLFNvY2tldCxOb2RlLEwxZDpMMWk6TDIKKyAqCTAsMCwwLDAsMDowOjAKKyAqCTEsMSwwLDAsMToxOjAKKyAqLworc3RhdGljIHZvaWQKK3ByaW50X3BhcnNhYmxlKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjLCBpbnQgY29sc1tdLCBpbnQgbmNvbHMsCisJICAgICAgIHN0cnVjdCBsc2NwdV9tb2RpZmllciAqbW9kKQoreworCWNoYXIgYnVmW0JVRlNJWl0sICpkYXRhOworCWludCBpOworCisJLyoKKwkgKiBIZWFkZXIKKwkgKi8KKwlwcmludGYoXygKKwkiIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXJcbiIKKwkiIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRFxuIgorCSIjIHN0YXJ0aW5nIGZyb20gemVyby5cbiIpKTsKKworCWZwdXRzKCIjICIsIHN0ZG91dCk7CisJZm9yIChpID0gMDsgaSA8IG5jb2xzOyBpKyspIHsKKwkJaW50IGNvbCA9IGNvbHNbaV07CisKKwkJaWYgKGNvbCA9PSBDT0xfQ0FDSEUpIHsKKwkJCWlmIChtb2QtPmNvbXBhdCAmJiAhZGVzYy0+bmNhY2hlcykKKwkJCQljb250aW51ZTsKKwkJCWlmIChtb2QtPmNvbXBhdCAmJiBpICE9IDApCisJCQkJcHV0Y2hhcignLCcpOworCQl9CisJCWlmIChpID4gMCkKKwkJCXB1dGNoYXIoJywnKTsKKworCQlkYXRhID0gZ2V0X2NlbGxfaGVhZGVyKGRlc2MsIGNvbCwgbW9kLCBidWYsIHNpemVvZihidWYpKTsKKworCQlpZiAoZGF0YSAmJiAqIGRhdGEgJiYgY29sICE9IENPTF9DQUNIRSAmJgorCQkgICAgIWNvbGRlc2NzW2NvbF0uaXNfYWJicikgeworCQkJLyoKKwkJCSAqIEZvciBub3JtYWwgY29sdW1uIG5hbWVzIHVzZSBtaXhlZCBjYXNlIChlLmcuICJTb2NrZXQiKQorCQkJICovCisJCQljaGFyICpwID0gZGF0YSArIDE7CisKKwkJCXdoaWxlIChwICYmICpwICE9ICdcMCcpIHsKKwkJCQkqcCA9IHRvbG93ZXIoKHVuc2lnbmVkIGludCkgKnApOworCQkJCXArKzsKKwkJCX0KKwkJfQorCQlmcHV0cyhkYXRhICYmICpkYXRhID8gZGF0YSA6ICIiLCBzdGRvdXQpOworCX0KKwlwdXRjaGFyKCdcbicpOworCisJLyoKKwkgKiBEYXRhCisJICovCisJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5jcHVzcG9zOyBpKyspIHsKKwkJaW50IGM7CisJCWludCBjcHUgPSByZWFsX2NwdV9udW0oZGVzYywgaSk7CisKKwkJaWYgKCFtb2QtPm9mZmxpbmUgJiYgZGVzYy0+b25saW5lICYmICFpc19jcHVfb25saW5lKGRlc2MsIGNwdSkpCisJCQljb250aW51ZTsKKwkJaWYgKCFtb2QtPm9ubGluZSAmJiBkZXNjLT5vbmxpbmUgJiYgaXNfY3B1X29ubGluZShkZXNjLCBjcHUpKQorCQkJY29udGludWU7CisJCWlmIChkZXNjLT5wcmVzZW50ICYmICFpc19jcHVfcHJlc2VudChkZXNjLCBjcHUpKQorCQkJY29udGludWU7CisJCWZvciAoYyA9IDA7IGMgPCBuY29sczsgYysrKSB7CisJCQlpZiAobW9kLT5jb21wYXQgJiYgY29sc1tjXSA9PSBDT0xfQ0FDSEUpIHsKKwkJCQlpZiAoIWRlc2MtPm5jYWNoZXMpCisJCQkJCWNvbnRpbnVlOworCQkJCWlmIChjID4gMCkKKwkJCQkJcHV0Y2hhcignLCcpOworCQkJfQorCQkJaWYgKGMgPiAwKQorCQkJCXB1dGNoYXIoJywnKTsKKworCQkJZGF0YSA9IGdldF9jZWxsX2RhdGEoZGVzYywgaSwgY29sc1tjXSwgbW9kLAorCQkJCQkgICAgIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQkJZnB1dHMoZGF0YSAmJiAqZGF0YSA/IGRhdGEgOiAiIiwgc3Rkb3V0KTsKKwkJfQorCQlwdXRjaGFyKCdcbicpOworCX0KK30KKworLyoKKyAqIFstZV0gYmFja2VuZAorICovCitzdGF0aWMgdm9pZAorcHJpbnRfcmVhZGFibGUoc3RydWN0IGxzY3B1X2Rlc2MgKmRlc2MsIGludCBjb2xzW10sIGludCBuY29scywKKwkgICAgICAgc3RydWN0IGxzY3B1X21vZGlmaWVyICptb2QpCit7CisJaW50IGk7CisJY2hhciBidWZbQlVGU0laXTsKKwljb25zdCBjaGFyICpkYXRhOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGU7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRhYmxlKQorCQkgZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIpKTsKKwlpZiAobW9kLT5qc29uKSB7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHRhYmxlLCAxKTsKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUodGFibGUsICJjcHVzIik7CisJfQorCisJZm9yIChpID0gMDsgaSA8IG5jb2xzOyBpKyspIHsKKwkJZGF0YSA9IGdldF9jZWxsX2hlYWRlcihkZXNjLCBjb2xzW2ldLCBtb2QsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsIGRhdGEsIDAsIDApKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iKSk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGRlc2MtPm5jcHVzcG9zOyBpKyspIHsKKwkJaW50IGM7CisJCXN0cnVjdCBsaWJzY29sc19saW5lICpsaW5lOworCQlpbnQgY3B1ID0gcmVhbF9jcHVfbnVtKGRlc2MsIGkpOworCisJCWlmICghbW9kLT5vZmZsaW5lICYmIGRlc2MtPm9ubGluZSAmJiAhaXNfY3B1X29ubGluZShkZXNjLCBjcHUpKQorCQkJY29udGludWU7CisJCWlmICghbW9kLT5vbmxpbmUgJiYgZGVzYy0+b25saW5lICYmIGlzX2NwdV9vbmxpbmUoZGVzYywgY3B1KSkKKwkJCWNvbnRpbnVlOworCQlpZiAoZGVzYy0+cHJlc2VudCAmJiAhaXNfY3B1X3ByZXNlbnQoZGVzYywgY3B1KSkKKwkJCWNvbnRpbnVlOworCisJCWxpbmUgPSBzY29sc190YWJsZV9uZXdfbGluZSh0YWJsZSwgTlVMTCk7CisJCWlmICghbGluZSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCQlmb3IgKGMgPSAwOyBjIDwgbmNvbHM7IGMrKykgeworCQkJZGF0YSA9IGdldF9jZWxsX2RhdGEoZGVzYywgaSwgY29sc1tjXSwgbW9kLAorCQkJCQkgICAgIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCQkJaWYgKCFkYXRhIHx8ICEqZGF0YSkKKwkJCQlkYXRhID0gIi0iOworCQkJaWYgKHNjb2xzX2xpbmVfc2V0X2RhdGEobGluZSwgYywgZGF0YSkpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIpKTsKKwkJfQorCX0KKworCXNjb2xzX3ByaW50X3RhYmxlKHRhYmxlKTsKKwlzY29sc191bnJlZl90YWJsZSh0YWJsZSk7Cit9CisKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXyAoKF9fZm9ybWF0X18ocHJpbnRmLCAzLCA0KSkpCisJYWRkX3N1bW1hcnlfc3ByaW50KHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIsCisJCQljb25zdCBjaGFyICp0eHQsCisJCQljb25zdCBjaGFyICpmbXQsCisJCQkuLi4pCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCWNoYXIgKmRhdGE7CisJdmFfbGlzdCBhcmdzOworCisJaWYgKCFsbikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIikpOworCisJLyogZGVzY3JpcHRpb24gY29sdW1uICovCisJc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgMCwgdHh0KTsKKworCS8qIGRhdGEgY29sdW1uICovCisJdmFfc3RhcnQoYXJncywgZm10KTsKKwl4dmFzcHJpbnRmKCZkYXRhLCBmbXQsIGFyZ3MpOworCXZhX2VuZChhcmdzKTsKKworCWlmIChkYXRhICYmIHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgMSwgZGF0YSkpCisJCSBlcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIikpOworfQorCisjZGVmaW5lIGFkZF9zdW1tYXJ5X24odGIsIHR4dCwgbnVtKQlhZGRfc3VtbWFyeV9zcHJpbnQodGIsIHR4dCwgIiVkIiwgbnVtKQorI2RlZmluZSBhZGRfc3VtbWFyeV9zKHRiLCB0eHQsIHN0cikJYWRkX3N1bW1hcnlfc3ByaW50KHRiLCB0eHQsICIlcyIsIHN0cikKKworc3RhdGljIHZvaWQKK3ByaW50X2NwdXNldChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLAorCSAgICAgY29uc3QgY2hhciAqa2V5LCBjcHVfc2V0X3QgKnNldCwgaW50IGhleCkKK3sKKwlzaXplX3Qgc2V0c2l6ZSA9IENQVV9BTExPQ19TSVpFKG1heGNwdXMpOworCXNpemVfdCBzZXRidWZsZW4gPSA3ICogbWF4Y3B1czsKKwljaGFyIHNldGJ1ZltzZXRidWZsZW5dLCAqcDsKKworCWlmIChoZXgpIHsKKwkJcCA9IGNwdW1hc2tfY3JlYXRlKHNldGJ1Ziwgc2V0YnVmbGVuLCBzZXQsIHNldHNpemUpOworCQlhZGRfc3VtbWFyeV9zKHRiLCBrZXksIHApOworCX0gZWxzZSB7CisJCXAgPSBjcHVsaXN0X2NyZWF0ZShzZXRidWYsIHNldGJ1Zmxlbiwgc2V0LCBzZXRzaXplKTsKKwkJYWRkX3N1bW1hcnlfcyh0Yiwga2V5LCBwKTsKKwl9Cit9CisKKy8qCisgKiBkZWZhdWx0IG91dHB1dAorICovCitzdGF0aWMgdm9pZAorcHJpbnRfc3VtbWFyeShzdHJ1Y3QgbHNjcHVfZGVzYyAqZGVzYywgc3RydWN0IGxzY3B1X21vZGlmaWVyICptb2QpCit7CisJY2hhciBidWZbQlVGU0laXTsKKwlpbnQgaSA9IDA7CisJc2l6ZV90IHNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCXRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIpKTsKKworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRiLCAxKTsKKwlpZiAobW9kLT5qc29uKSB7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHRiLCAxKTsKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUodGIsICJsc2NwdSIpOworCX0KKworCWlmIChzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiZmllbGQiLCAwLCAwKSA9PSBOVUxMIHx8CisJICAgIHNjb2xzX3RhYmxlX25ld19jb2x1bW4odGIsICJkYXRhIiwgMCwgU0NPTFNfRkxfTk9FWFRSRU1FUykgPT0gTlVMTCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgb3V0cHV0IGNvbHVtbiIpKTsKKworCWFkZF9zdW1tYXJ5X3ModGIsIF8oIkFyY2hpdGVjdHVyZToiKSwgZGVzYy0+YXJjaCk7CisJaWYgKGRlc2MtPm1vZGUpIHsKKwkJY2hhciAqcCA9IGJ1ZjsKKworCQlpZiAoZGVzYy0+bW9kZSAmIE1PREVfMzJCSVQpIHsKKwkJCXN0cmNweShwLCAiMzItYml0LCAiKTsKKwkJCXAgKz0gODsKKwkJfQorCQlpZiAoZGVzYy0+bW9kZSAmIE1PREVfNjRCSVQpIHsKKwkJCXN0cmNweShwLCAiNjQtYml0LCAiKTsKKwkJCXAgKz0gODsKKwkJfQorCQkqKHAgLSAyKSA9ICdcMCc7CisJCWFkZF9zdW1tYXJ5X3ModGIsIF8oIkNQVSBvcC1tb2RlKHMpOiIpLCBidWYpOworCX0KKyNpZiAhZGVmaW5lZChXT1JEU19CSUdFTkRJQU4pCisJYWRkX3N1bW1hcnlfcyh0YiwgXygiQnl0ZSBPcmRlcjoiKSwgIkxpdHRsZSBFbmRpYW4iKTsKKyNlbHNlCisJYWRkX3N1bW1hcnlfcyh0YiwgXygiQnl0ZSBPcmRlcjoiKSwgIkJpZyBFbmRpYW4iKTsKKyNlbmRpZgorCWFkZF9zdW1tYXJ5X24odGIsIF8oIkNQVShzKToiKSwgZGVzYy0+bmNwdXMpOworCisJaWYgKGRlc2MtPm9ubGluZSkKKwkJcHJpbnRfY3B1c2V0KHRiLCBtb2QtPmhleCA/IF8oIk9uLWxpbmUgQ1BVKHMpIG1hc2s6IikgOgorCQkJCQkgICAgXygiT24tbGluZSBDUFUocykgbGlzdDoiKSwKKwkJCQlkZXNjLT5vbmxpbmUsIG1vZC0+aGV4KTsKKworCWlmIChkZXNjLT5vbmxpbmUgJiYgQ1BVX0NPVU5UX1Moc2V0c2l6ZSwgZGVzYy0+b25saW5lKSAhPSBkZXNjLT5uY3B1cykgeworCQljcHVfc2V0X3QgKnNldDsKKworCQkvKiBMaW51eCBrZXJuZWwgcHJvdmlkZXMgY3B1c2V0IG9mIG9mZi1saW5lIENQVXMgdGhhdCBjb250YWlucworCQkgKiBhbGwgY29uZmlndXJlZCBDUFVzIChzZWUgL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUvb2ZmbGluZSksCisJCSAqIGJ1dCB3YW50IHRvIHByaW50IHJlYWwgKHByZXNlbnQgaW4gc3lzdGVtKSBvZmYtbGluZSBDUFVzIG9ubHkuCisJCSAqLworCQlzZXQgPSBjcHVzZXRfYWxsb2MobWF4Y3B1cywgTlVMTCwgTlVMTCk7CisJCWlmICghc2V0KQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGNhbGxvY2F0ZSBjcHUgc2V0IikpOworCQlDUFVfWkVST19TKHNldHNpemUsIHNldCk7CisJCWZvciAoaSA9IDA7IGkgPCBkZXNjLT5uY3B1c3BvczsgaSsrKSB7CisJCQlpbnQgY3B1ID0gcmVhbF9jcHVfbnVtKGRlc2MsIGkpOworCQkJaWYgKCFpc19jcHVfb25saW5lKGRlc2MsIGNwdSkgJiYgaXNfY3B1X3ByZXNlbnQoZGVzYywgY3B1KSkKKwkJCQlDUFVfU0VUX1MoY3B1LCBzZXRzaXplLCBzZXQpOworCQl9CisJCXByaW50X2NwdXNldCh0YiwgbW9kLT5oZXggPyBfKCJPZmYtbGluZSBDUFUocykgbWFzazoiKSA6CisJCQkJCSAgICBfKCJPZmYtbGluZSBDUFUocykgbGlzdDoiKSwKKwkJCSAgICAgc2V0LCBtb2QtPmhleCk7CisJCWNwdXNldF9mcmVlKHNldCk7CisJfQorCisJaWYgKGRlc2MtPm5zb2NrZXRzKSB7CisJCWludCB0aHJlYWRzX3Blcl9jb3JlLCBjb3Jlc19wZXJfc29ja2V0LCBzb2NrZXRzX3Blcl9ib29rOworCQlpbnQgYm9va3NfcGVyX2RyYXdlciwgZHJhd2VyczsKKwkJRklMRSAqZmQ7CisKKwkJdGhyZWFkc19wZXJfY29yZSA9IGNvcmVzX3Blcl9zb2NrZXQgPSBzb2NrZXRzX3Blcl9ib29rID0gMDsKKwkJYm9va3NfcGVyX2RyYXdlciA9IGRyYXdlcnMgPSAwOworCQkvKiBzMzkwIGRldGVjdHMgaXRzIGNwdSB0b3BvbG9neSB2aWEgL3Byb2Mvc3lzaW5mbywgaWYgcHJlc2VudC4KKwkJICogVXNpbmcgc2ltcGx5IHRoZSBjcHUgdG9wb2xvZ3kgbWFza3MgaW4gc3lzZnMgd2lsbCBub3QgZ2l2ZQorCQkgKiB1c2FibGUgcmVzdWx0cyBzaW5jZSBldmVyeXRoaW5nIGlzIHZpcnR1YWxpemVkLiBFLmcuCisJCSAqIHZpcnR1YWwgY29yZSAwIG1heSBoYXZlIG9ubHkgMSBjcHUsIGJ1dCB2aXJ0dWFsIGNvcmUgMiBtYXkKKwkJICogZml2ZSBjcHVzLgorCQkgKiBJZiB0aGUgY3B1IHRvcG9sb2d5IGlzIG5vdCBleHBvcnRlZCAoZS5nLiAybmQgbGV2ZWwgZ3Vlc3QpCisJCSAqIGZhbGwgYmFjayB0byBvbGQgY2FsY3VsYXRpb24gc2NoZW1lLgorCQkgKi8KKwkJaWYgKChmZCA9IHVsX3BhdGhfZm9wZW4oZGVzYy0+cHJvY2ZzLCAiciIsICJzeXNpbmZvIikpKSB7CisJCQlpbnQgdDAsIHQxOworCisJCQl3aGlsZSAoZmQgJiYgZmdldHMoYnVmLCBzaXplb2YoYnVmKSwgZmQpICE9IE5VTEwpIHsKKwkJCQlpZiAoc3NjYW5mKGJ1ZiwgIkNQVSBUb3BvbG9neSBTVzolZCVkJWQlZCVkJWQiLAorCQkJCQkgICAmdDAsICZ0MSwgJmRyYXdlcnMsICZib29rc19wZXJfZHJhd2VyLAorCQkJCQkgICAmc29ja2V0c19wZXJfYm9vaywKKwkJCQkJICAgJmNvcmVzX3Blcl9zb2NrZXQpID09IDYpCisJCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKGZkKQorCQkJCWZjbG9zZShmZCk7CisJCX0KKwkJaWYgKGRlc2MtPm10aWQpCisJCQl0aHJlYWRzX3Blcl9jb3JlID0gYXRvaShkZXNjLT5tdGlkKSArIDE7CisJCWFkZF9zdW1tYXJ5X24odGIsIF8oIlRocmVhZChzKSBwZXIgY29yZToiKSwKKwkJCXRocmVhZHNfcGVyX2NvcmUgPzogZGVzYy0+bnRocmVhZHMgLyBkZXNjLT5uY29yZXMpOworCQlhZGRfc3VtbWFyeV9uKHRiLCBfKCJDb3JlKHMpIHBlciBzb2NrZXQ6IiksCisJCQljb3Jlc19wZXJfc29ja2V0ID86IGRlc2MtPm5jb3JlcyAvIGRlc2MtPm5zb2NrZXRzKTsKKwkJaWYgKGRlc2MtPm5ib29rcykgeworCQkJYWRkX3N1bW1hcnlfbih0YiwgXygiU29ja2V0KHMpIHBlciBib29rOiIpLAorCQkJCXNvY2tldHNfcGVyX2Jvb2sgPzogZGVzYy0+bnNvY2tldHMgLyBkZXNjLT5uYm9va3MpOworCQkJaWYgKGRlc2MtPm5kcmF3ZXJzKSB7CisJCQkJYWRkX3N1bW1hcnlfbih0YiwgXygiQm9vayhzKSBwZXIgZHJhd2VyOiIpLAorCQkJCQlib29rc19wZXJfZHJhd2VyID86IGRlc2MtPm5ib29rcyAvIGRlc2MtPm5kcmF3ZXJzKTsKKwkJCQlhZGRfc3VtbWFyeV9uKHRiLCBfKCJEcmF3ZXIocyk6IiksIGRyYXdlcnMgPzogZGVzYy0+bmRyYXdlcnMpOworCQkJfSBlbHNlIHsKKwkJCQlhZGRfc3VtbWFyeV9uKHRiLCBfKCJCb29rKHMpOiIpLCBib29rc19wZXJfZHJhd2VyID86IGRlc2MtPm5ib29rcyk7CisJCQl9CisJCX0gZWxzZSB7CisJCQlhZGRfc3VtbWFyeV9uKHRiLCBfKCJTb2NrZXQocyk6IiksIHNvY2tldHNfcGVyX2Jvb2sgPzogZGVzYy0+bnNvY2tldHMpOworCQl9CisJfQorCWlmIChkZXNjLT5ubm9kZXMpCisJCWFkZF9zdW1tYXJ5X24odGIsIF8oIk5VTUEgbm9kZShzKToiKSwgZGVzYy0+bm5vZGVzKTsKKwlpZiAoZGVzYy0+dmVuZG9yKQorCQlhZGRfc3VtbWFyeV9zKHRiLCBfKCJWZW5kb3IgSUQ6IiksIGRlc2MtPnZlbmRvcik7CisJaWYgKGRlc2MtPm1hY2hpbmV0eXBlKQorCQlhZGRfc3VtbWFyeV9zKHRiLCBfKCJNYWNoaW5lIHR5cGU6IiksIGRlc2MtPm1hY2hpbmV0eXBlKTsKKwlpZiAoZGVzYy0+ZmFtaWx5KQorCQlhZGRfc3VtbWFyeV9zKHRiLCBfKCJDUFUgZmFtaWx5OiIpLCBkZXNjLT5mYW1pbHkpOworCWlmIChkZXNjLT5tb2RlbCB8fCBkZXNjLT5yZXZpc2lvbikKKwkJYWRkX3N1bW1hcnlfcyh0YiwgXygiTW9kZWw6IiksIGRlc2MtPnJldmlzaW9uID8gZGVzYy0+cmV2aXNpb24gOiBkZXNjLT5tb2RlbCk7CisJaWYgKGRlc2MtPm1vZGVsbmFtZSB8fCBkZXNjLT5jcHUpCisJCWFkZF9zdW1tYXJ5X3ModGIsIF8oIk1vZGVsIG5hbWU6IiksIGRlc2MtPmNwdSA/IGRlc2MtPmNwdSA6IGRlc2MtPm1vZGVsbmFtZSk7CisJaWYgKGRlc2MtPnN0ZXBwaW5nKQorCQlhZGRfc3VtbWFyeV9zKHRiLCBfKCJTdGVwcGluZzoiKSwgZGVzYy0+c3RlcHBpbmcpOworCWlmIChkZXNjLT5taHopCisJCWFkZF9zdW1tYXJ5X3ModGIsIF8oIkNQVSBNSHo6IiksIGRlc2MtPm1oeik7CisJaWYgKGRlc2MtPmR5bmFtaWNfbWh6KQorCQlhZGRfc3VtbWFyeV9zKHRiLCBfKCJDUFUgZHluYW1pYyBNSHo6IiksIGRlc2MtPmR5bmFtaWNfbWh6KTsKKwlpZiAoZGVzYy0+c3RhdGljX21oeikKKwkJYWRkX3N1bW1hcnlfcyh0YiwgXygiQ1BVIHN0YXRpYyBNSHo6IiksIGRlc2MtPnN0YXRpY19taHopOworCWlmIChkZXNjLT5tYXhtaHopCisJCWFkZF9zdW1tYXJ5X3ModGIsIF8oIkNQVSBtYXggTUh6OiIpLCBjcHVfbWF4X21oeihkZXNjLCBidWYsIHNpemVvZihidWYpKSk7CisJaWYgKGRlc2MtPm1pbm1oeikKKwkJYWRkX3N1bW1hcnlfcyh0YiwgXygiQ1BVIG1pbiBNSHo6IiksIGNwdV9taW5fbWh6KGRlc2MsIGJ1Ziwgc2l6ZW9mKGJ1ZikpKTsKKwlpZiAoZGVzYy0+Ym9nb21pcHMpCisJCWFkZF9zdW1tYXJ5X3ModGIsIF8oIkJvZ29NSVBTOiIpLCBkZXNjLT5ib2dvbWlwcyk7CisJaWYgKGRlc2MtPnZpcnRmbGFnKSB7CisJCWlmICghc3RyY21wKGRlc2MtPnZpcnRmbGFnLCAic3ZtIikpCisJCQlhZGRfc3VtbWFyeV9zKHRiLCBfKCJWaXJ0dWFsaXphdGlvbjoiKSwgIkFNRC1WIik7CisJCWVsc2UgaWYgKCFzdHJjbXAoZGVzYy0+dmlydGZsYWcsICJ2bXgiKSkKKwkJCWFkZF9zdW1tYXJ5X3ModGIsIF8oIlZpcnR1YWxpemF0aW9uOiIpLCAiVlQteCIpOworCX0KKwlpZiAoZGVzYy0+aHlwZXJ2aXNvcikKKwkJYWRkX3N1bW1hcnlfcyh0YiwgXygiSHlwZXJ2aXNvcjoiKSwgZGVzYy0+aHlwZXJ2aXNvcik7CisJaWYgKGRlc2MtPmh5cGVyKSB7CisJCWFkZF9zdW1tYXJ5X3ModGIsIF8oIkh5cGVydmlzb3IgdmVuZG9yOiIpLCBodl92ZW5kb3JzW2Rlc2MtPmh5cGVyXSk7CisJCWFkZF9zdW1tYXJ5X3ModGIsIF8oIlZpcnR1YWxpemF0aW9uIHR5cGU6IiksIF8odmlydF90eXBlc1tkZXNjLT52aXJ0eXBlXSkpOworCX0KKwlpZiAoZGVzYy0+ZGlzcGF0Y2hpbmcgPj0gMCkKKwkJYWRkX3N1bW1hcnlfcyh0YiwgXygiRGlzcGF0Y2hpbmcgbW9kZToiKSwgXyhkaXNwX21vZGVzW2Rlc2MtPmRpc3BhdGNoaW5nXSkpOworCWlmIChkZXNjLT5uY2FjaGVzKSB7CisJCWZvciAoaSA9IGRlc2MtPm5jYWNoZXMgLSAxOyBpID49IDA7IGktLSkgeworCQkJc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwKKwkJCQkJXygiJXMgY2FjaGU6IiksIGRlc2MtPmNhY2hlc1tpXS5uYW1lKTsKKwkJCWFkZF9zdW1tYXJ5X3ModGIsIGJ1ZiwgZGVzYy0+Y2FjaGVzW2ldLnNpemUpOworCQl9CisJfQorCWlmIChkZXNjLT5uZWNhY2hlcykgeworCQlmb3IgKGkgPSBkZXNjLT5uZWNhY2hlcyAtIDE7IGkgPj0gMDsgaS0tKSB7CisJCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLAorCQkJCQlfKCIlcyBjYWNoZToiKSwgZGVzYy0+ZWNhY2hlc1tpXS5uYW1lKTsKKwkJCWFkZF9zdW1tYXJ5X3ModGIsIGJ1ZiwgZGVzYy0+ZWNhY2hlc1tpXS5zaXplKTsKKwkJfQorCX0KKworCWZvciAoaSA9IDA7IGkgPCBkZXNjLT5ubm9kZXM7IGkrKykgeworCQlzbnByaW50ZihidWYsIHNpemVvZihidWYpLCBfKCJOVU1BIG5vZGUlZCBDUFUocyk6IiksIGRlc2MtPmlkeDJub2RlbnVtW2ldKTsKKwkJcHJpbnRfY3B1c2V0KHRiLCBidWYsIGRlc2MtPm5vZGVtYXBzW2ldLCBtb2QtPmhleCk7CisJfQorCisJaWYgKGRlc2MtPnBoeXNzb2NrZXRzKSB7CisJCWFkZF9zdW1tYXJ5X24odGIsIF8oIlBoeXNpY2FsIHNvY2tldHM6IiksIGRlc2MtPnBoeXNzb2NrZXRzKTsKKwkJYWRkX3N1bW1hcnlfbih0YiwgXygiUGh5c2ljYWwgY2hpcHM6IiksIGRlc2MtPnBoeXNjaGlwcyk7CisJCWFkZF9zdW1tYXJ5X24odGIsIF8oIlBoeXNpY2FsIGNvcmVzL2NoaXA6IiksIGRlc2MtPnBoeXNjb3Jlc3BlcmNoaXApOworCX0KKworCWlmIChkZXNjLT5mbGFncykKKwkJYWRkX3N1bW1hcnlfcyh0YiwgXygiRmxhZ3M6IiksIGRlc2MtPmZsYWdzKTsKKworCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKwlzY29sc191bnJlZl90YWJsZSh0Yik7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCXNpemVfdCBpOworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc3BsYXkgaW5mb3JtYXRpb24gYWJvdXQgdGhlIENQVSBhcmNoaXRlY3R1cmUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIHByaW50IGJvdGggb25saW5lIGFuZCBvZmZsaW5lIENQVXMgKGRlZmF1bHQgZm9yIC1lKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLW9ubGluZSAgICAgICAgICAgIHByaW50IG9ubGluZSBDUFVzIG9ubHkgKGRlZmF1bHQgZm9yIC1wKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLW9mZmxpbmUgICAgICAgICAgIHByaW50IG9mZmxpbmUgQ1BVcyBvbmx5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUosIC0tanNvbiAgICAgICAgICAgICAgdXNlIEpTT04gZm9yIGRlZmF1bHQgb3IgZXh0ZW5kZWQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWUsIC0tZXh0ZW5kZWRbPTxsaXN0Pl0gcHJpbnQgb3V0IGFuIGV4dGVuZGVkIHJlYWRhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXBhcnNlWz08bGlzdD5dICAgIHByaW50IG91dCBhIHBhcnNhYmxlIGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gICAgIHVzZSBzcGVjaWZpZWQgZGlyZWN0b3J5IGFzIHN5c3RlbSByb290XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXgsIC0taGV4ICAgICAgICAgICAgICAgcHJpbnQgaGV4YWRlY2ltYWwgbWFza3MgcmF0aGVyIHRoYW4gbGlzdHMgb2YgQ1BVc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC15LCAtLXBoeXNpY2FsICAgICAgICAgIHByaW50IHBoeXNpY2FsIGluc3RlYWQgb2YgbG9naWNhbCBJRHNcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI1KSk7CisKKwlmcHV0cyhVU0FHRV9DT0xVTU5TLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTNzICAlc1xuIiwgY29sZGVzY3NbaV0ubmFtZSwgXyhjb2xkZXNjc1tpXS5oZWxwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImxzY3B1KDEpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsc2NwdV9tb2RpZmllciBfbW9kID0geyAubW9kZSA9IE9VVFBVVF9TVU1NQVJZIH0sICptb2QgPSAmX21vZDsKKwlzdHJ1Y3QgbHNjcHVfZGVzYyBfZGVzYyA9IHsgLmZsYWdzID0gTlVMTCB9LCAqZGVzYyA9ICZfZGVzYzsKKwlpbnQgYywgaTsKKwlpbnQgY29sdW1uc1tBUlJBWV9TSVpFKGNvbGRlc2NzKV0sIG5jb2x1bW5zID0gMDsKKwlpbnQgY3B1X21vZGlmaWVyX3NwZWNpZmllZCA9IDA7CisJc2l6ZV90IHNldHNpemU7CisKKwllbnVtIHsKKwkJT1BUX09VVFBVVF9BTEwgPSBDSEFSX01BWCArIDEsCisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhbGwiLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdhJyB9LAorCQl7ICJvbmxpbmUiLCAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdiJyB9LAorCQl7ICJvZmZsaW5lIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdjJyB9LAorCQl7ICJoZWxwIiwJbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCQl7ICJleHRlbmRlZCIsCW9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnZScgfSwKKwkJeyAianNvbiIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSicgfSwKKwkJeyAicGFyc2UiLAlvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJCXsgInN5c3Jvb3QiLAlyZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3MnIH0sCisJCXsgInBoeXNpY2FsIiwJbm9fYXJndW1lbnQsCSAgIE5VTEwsICd5JyB9LAorCQl7ICJoZXgiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ3gnIH0sCisJCXsgInZlcnNpb24iLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ1YnIH0sCisJCXsgIm91dHB1dC1hbGwiLAlub19hcmd1bWVudCwJICAgTlVMTCwgT1BUX09VVFBVVF9BTEwgfSwKKwkJeyBOVUxMLAkJMCwgTlVMTCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0gewkvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ2EnLCdiJywnYycgfSwKKwkJeyAnZScsJ3AnIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFiY2U6OmhKcDo6czp4eVYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CisJCQltb2QtPm9ubGluZSA9IG1vZC0+b2ZmbGluZSA9IDE7CisJCQljcHVfbW9kaWZpZXJfc3BlY2lmaWVkID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdiJzoKKwkJCW1vZC0+b25saW5lID0gMTsKKwkJCWNwdV9tb2RpZmllcl9zcGVjaWZpZWQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJbW9kLT5vZmZsaW5lID0gMTsKKwkJCWNwdV9tb2RpZmllcl9zcGVjaWZpZWQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJY2FzZSAnSic6CisJCQltb2QtPmpzb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQljYXNlICdlJzoKKwkJCWlmIChvcHRhcmcpIHsKKwkJCQlpZiAoKm9wdGFyZyA9PSAnPScpCisJCQkJCW9wdGFyZysrOworCQkJCW5jb2x1bW5zID0gc3RyaW5nX3RvX2lkYXJyYXkob3B0YXJnLAorCQkJCQkJY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJCWNvbHVtbl9uYW1lX3RvX2lkKTsKKwkJCQlpZiAobmNvbHVtbnMgPCAwKQorCQkJCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCQkJfQorCQkJbW9kLT5tb2RlID0gYyA9PSAncCcgPyBPVVRQVVRfUEFSU0FCTEUgOiBPVVRQVVRfUkVBREFCTEU7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlkZXNjLT5wcmVmaXggPSBvcHRhcmc7CisJCQltb2QtPnN5c3RlbSA9IFNZU1RFTV9TTkFQU0hPVDsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCW1vZC0+aGV4ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd5JzoKKwkJCW1vZC0+cGh5c2ljYWwgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlIE9QVF9PVVRQVVRfQUxMOgorCQl7CisJCQlzaXplX3Qgc3o7CisJCQlmb3IgKHN6ID0gMDsgc3ogPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgc3orKykKKwkJCQljb2x1bW5zW3N6XSA9IDE7CisJCQlicmVhazsKKwkJfQorCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKGNwdV9tb2RpZmllcl9zcGVjaWZpZWQgJiYgbW9kLT5tb2RlID09IE9VVFBVVF9TVU1NQVJZKSB7CisJCWZwcmludGYoc3RkZXJyLAorCQkJXygiJXM6IG9wdGlvbnMgLS1hbGwsIC0tb25saW5lIGFuZCAtLW9mZmxpbmUgbWF5IG9ubHkgIgorCQkJICAiYmUgdXNlZCB3aXRoIG9wdGlvbnMgLS1leHRlbmRlZCBvciAtLXBhcnNlLlxuIiksCisJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJfQorCisJaWYgKGFyZ2MgIT0gb3B0aW5kKSB7CisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCS8qIHNldCBkZWZhdWx0IGNwdSBkaXNwbGF5IG1vZGUgaWYgbm9uZSB3YXMgc3BlY2lmaWVkICovCisJaWYgKCFtb2QtPm9ubGluZSAmJiAhbW9kLT5vZmZsaW5lKSB7CisJCW1vZC0+b25saW5lID0gMTsKKwkJbW9kLT5vZmZsaW5lID0gbW9kLT5tb2RlID09IE9VVFBVVF9SRUFEQUJMRSA/IDEgOiAwOworCX0KKworCXVsX3BhdGhfaW5pdF9kZWJ1ZygpOworCisJLyogL3N5cy9kZXZpY2VzL3N5c3RlbS9jcHUgKi8KKwlkZXNjLT5zeXNjcHUgPSB1bF9uZXdfcGF0aChfUEFUSF9TWVNfQ1BVKTsKKwlpZiAoIWRlc2MtPnN5c2NwdSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgQ1BVcyBzeXNmcyBoYW5kbGVyIikpOworCWlmIChkZXNjLT5wcmVmaXgpCisJCXVsX3BhdGhfc2V0X3ByZWZpeChkZXNjLT5zeXNjcHUsIGRlc2MtPnByZWZpeCk7CisKKwkvKiAvcHJvYyAqLworCWRlc2MtPnByb2NmcyA9IHVsX25ld19wYXRoKCIvcHJvYyIpOworCWlmICghZGVzYy0+cHJvY2ZzKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBwcm9jZnMgaGFuZGxlciIpKTsKKwlpZiAoZGVzYy0+cHJlZml4KQorCQl1bF9wYXRoX3NldF9wcmVmaXgoZGVzYy0+cHJvY2ZzLCBkZXNjLT5wcmVmaXgpOworCisJcmVhZF9iYXNpY2luZm8oZGVzYywgbW9kKTsKKworCXNldHNpemUgPSBDUFVfQUxMT0NfU0laRShtYXhjcHVzKTsKKworCWZvciAoaSA9IDA7IGkgPCBkZXNjLT5uY3B1c3BvczsgaSsrKSB7CisJCS8qIG9ubHkgY29uc2lkZXIgcHJlc2VudCBDUFVzICovCisJCWlmIChkZXNjLT5wcmVzZW50ICYmCisJCSAgICAhQ1BVX0lTU0VUX1MocmVhbF9jcHVfbnVtKGRlc2MsIGkpLCBzZXRzaXplLCBkZXNjLT5wcmVzZW50KSkKKwkJCWNvbnRpbnVlOworCQlyZWFkX3RvcG9sb2d5KGRlc2MsIGkpOworCQlyZWFkX2NhY2hlKGRlc2MsIGkpOworCQlyZWFkX3BvbGFyaXphdGlvbihkZXNjLCBpKTsKKwkJcmVhZF9hZGRyZXNzKGRlc2MsIGkpOworCQlyZWFkX2NvbmZpZ3VyZWQoZGVzYywgaSk7CisJCXJlYWRfbWF4X21oeihkZXNjLCBpKTsKKwkJcmVhZF9taW5fbWh6KGRlc2MsIGkpOworCX0KKworCWlmIChkZXNjLT5jYWNoZXMpCisJCXFzb3J0KGRlc2MtPmNhY2hlcywgZGVzYy0+bmNhY2hlcywKKwkJCQlzaXplb2Yoc3RydWN0IGNwdV9jYWNoZSksIGNhY2hlY21wKTsKKworCWlmIChkZXNjLT5lY2FjaGVzKQorCQlxc29ydChkZXNjLT5lY2FjaGVzLCBkZXNjLT5uZWNhY2hlcywKKwkJCQlzaXplb2Yoc3RydWN0IGNwdV9jYWNoZSksIGNhY2hlY21wKTsKKworCXJlYWRfbm9kZXMoZGVzYyk7CisJcmVhZF9oeXBlcnZpc29yKGRlc2MsIG1vZCk7CisJYXJtX2NwdV9kZWNvZGUoZGVzYyk7CisKKwlzd2l0Y2gobW9kLT5tb2RlKSB7CisJY2FzZSBPVVRQVVRfU1VNTUFSWToKKwkJcHJpbnRfc3VtbWFyeShkZXNjLCBtb2QpOworCQlicmVhazsKKwljYXNlIE9VVFBVVF9QQVJTQUJMRToKKwkJaWYgKCFuY29sdW1ucykgeworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9DUFU7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0NPUkU7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1NPQ0tFVDsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTk9ERTsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQ0FDSEU7CisJCQltb2QtPmNvbXBhdCA9IDE7CisJCX0KKwkJcHJpbnRfcGFyc2FibGUoZGVzYywgY29sdW1ucywgbmNvbHVtbnMsIG1vZCk7CisJCWJyZWFrOworCWNhc2UgT1VUUFVUX1JFQURBQkxFOgorCQlpZiAoIW5jb2x1bW5zKSB7CisJCQkvKiBObyBsaXN0IHdhcyBnaXZlbi4gSnVzdCBwcmludCB3aGF0ZXZlciBpcyB0aGVyZS4gKi8KKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQ1BVOworCQkJaWYgKGRlc2MtPm5vZGVtYXBzKQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTk9ERTsKKwkJCWlmIChkZXNjLT5kcmF3ZXJtYXBzKQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfRFJBV0VSOworCQkJaWYgKGRlc2MtPmJvb2ttYXBzKQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQk9PSzsKKwkJCWlmIChkZXNjLT5zb2NrZXRtYXBzKQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfU09DS0VUOworCQkJaWYgKGRlc2MtPmNvcmVtYXBzKQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQ09SRTsKKwkJCWlmIChkZXNjLT5jYWNoZXMpCisJCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9DQUNIRTsKKwkJCWlmIChkZXNjLT5vbmxpbmUpCisJCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9PTkxJTkU7CisJCQlpZiAoZGVzYy0+Y29uZmlndXJlZCkKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0NPTkZJR1VSRUQ7CisJCQlpZiAoZGVzYy0+cG9sYXJpemF0aW9uKQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfUE9MQVJJWkFUSU9OOworCQkJaWYgKGRlc2MtPmFkZHJlc3NlcykKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0FERFJFU1M7CisJCQlpZiAoZGVzYy0+bWF4bWh6KQorCQkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTUFYTUhaOworCQkJaWYgKGRlc2MtPm1pbm1oeikKKwkJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX01JTk1IWjsKKwkJfQorCQlwcmludF9yZWFkYWJsZShkZXNjLCBjb2x1bW5zLCBuY29sdW1ucywgbW9kKTsKKwkJYnJlYWs7CisJfQorCisJdWxfdW5yZWZfcGF0aChkZXNjLT5zeXNjcHUpOworCXVsX3VucmVmX3BhdGgoZGVzYy0+cHJvY2ZzKTsKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2xzY3B1LmggYi9zeXMtdXRpbHMvbHNjcHUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMjM5NjFkCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xzY3B1LmgKQEAgLTAsMCArMSwxOTMgQEAKKyNpZm5kZWYgTFNDUFVfSAorI2RlZmluZSBMU0NQVV9ICisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiY3B1c2V0LmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJiaXRvcHMuaCIKKyNpbmNsdWRlICJwYXRoLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisKKy8qIHZpcnR1YWxpemF0aW9uIHR5cGVzICovCitlbnVtIHsKKwlWSVJUX05PTkUJPSAwLAorCVZJUlRfUEFSQSwKKwlWSVJUX0ZVTEwsCisJVklSVF9DT05UCit9OworCisvKiBoeXBlcnZpc29yIHZlbmRvcnMgKi8KK2VudW0geworCUhZUEVSX05PTkUJPSAwLAorCUhZUEVSX1hFTiwKKwlIWVBFUl9LVk0sCisJSFlQRVJfTVNIViwKKwlIWVBFUl9WTVdBUkUsCisJSFlQRVJfSUJNLAkJLyogc3lzLXogcG93ZXJ2bSAqLworCUhZUEVSX1ZTRVJWRVIsCisJSFlQRVJfVU1MLAorCUhZUEVSX0lOTk9URUssCQkvKiBWQk9YICovCisJSFlQRVJfSElUQUNISSwKKwlIWVBFUl9QQVJBTExFTFMsCS8qIE9wZW5WWi9WSXJ0dW96em8gKi8KKwlIWVBFUl9WQk9YLAorCUhZUEVSX09TNDAwLAorCUhZUEVSX1BIWVAsCisJSFlQRVJfU1BBUiwKKwlIWVBFUl9XU0wsCit9OworCisvKiBDUFUgbW9kZXMgKi8KK2VudW0geworCU1PREVfMzJCSVQJPSAoMSA8PCAxKSwKKwlNT0RFXzY0QklUCT0gKDEgPDwgMikKK307CisKKy8qIGNhY2hlKHMpIGRlc2NyaXB0aW9uICovCitzdHJ1Y3QgY3B1X2NhY2hlIHsKKwljaGFyCQkqbmFtZTsKKwljaGFyCQkqc2l6ZTsKKworCWludAkJbnNoYXJlZG1hcHM7CisJY3B1X3NldF90CSoqc2hhcmVkbWFwczsKK307CisKKy8qIGRpc3BhdGNoaW5nIG1vZGVzICovCitlbnVtIHsKKwlESVNQX0hPUklaT05UQUwgPSAwLAorCURJU1BfVkVSVElDQUwJPSAxCit9OworCisvKiBjcHUgcG9sYXJpemF0aW9uICovCitlbnVtIHsKKwlQT0xBUl9VTktOT1dOCT0gMCwKKwlQT0xBUl9WTE9XLAorCVBPTEFSX1ZNRURJVU0sCisJUE9MQVJfVkhJR0gsCisJUE9MQVJfSE9SSVpPTlRBTAorfTsKKworc3RydWN0IHBvbGFyaXphdGlvbl9tb2RlcyB7CisJY2hhciAqcGFyc2FibGU7CisJY2hhciAqcmVhZGFibGU7Cit9OworCisKKy8qIGdsb2JhbCBkZXNjcmlwdGlvbiAqLworc3RydWN0IGxzY3B1X2Rlc2MgeworCWNvbnN0IGNoYXIgKnByZWZpeDsJIC8qIHBhdGggdG8gL3N5cyBhbmQgL3Byb2Mgc25hcHNob3Qgb3IgTlVMTCAqLworCisJc3RydWN0IHBhdGhfY3h0CSpzeXNjcHU7IC8qIF9QQVRIX1NZU19DUFUgcGF0aCBoYW5kbGVyICovCisJc3RydWN0IHBhdGhfY3h0ICpwcm9jZnM7IC8qIC9wcm9jIHBhdGggaGFuZGxlciAqLworCisJY2hhcgkqYXJjaDsKKwljaGFyCSp2ZW5kb3I7CisJY2hhcgkqbWFjaGluZXR5cGU7CS8qIHMzOTAgKi8KKwljaGFyCSpmYW1pbHk7CisJY2hhcgkqbW9kZWw7CisJY2hhcgkqbW9kZWxuYW1lOworCWNoYXIJKnJldmlzaW9uOyAgLyogYWx0ZXJuYXRpdmUgZm9yIG1vZGVsIChwcGMpICovCisJY2hhcgkqY3B1OyAgICAgICAvKiBhbHRlcm5hdGl2ZSBmb3IgbW9kZWxuYW1lIChwcGMsIHNwYXJjKSAqLworCWNoYXIJKnZpcnRmbGFnOwkvKiB2aXJ0dWFsaXphdGlvbiBmbGFnICh2bXgsIHN2bSkgKi8KKwljaGFyCSpoeXBlcnZpc29yOwkvKiBoeXBlcnZpc29yIHNvZnR3YXJlICovCisJaW50CWh5cGVyOwkJLyogaHlwZXJ2aXNvciB2ZW5kb3IgSUQgKi8KKwlpbnQJdmlydHlwZTsJLyogVklSVF9QQVJBfEZVTEx8Tk9ORSA/ICovCisJY2hhcgkqbWh6OworCWNoYXIJKmR5bmFtaWNfbWh6OwkvKiBkeW5hbWljIG1lZ2EgaGVydHogKHMzOTApICovCisJY2hhcgkqc3RhdGljX21oejsJLyogc3RhdGljIG1lZ2EgaGVydHogKHMzOTApICovCisJY2hhcgkqKm1heG1oejsJLyogbWF4aW11bSBtZWdhIGhlcnR6ICovCisJY2hhcgkqKm1pbm1oejsJLyogbWluaW11bSBtZWdhIGhlcnR6ICovCisJY2hhcgkqc3RlcHBpbmc7CisJY2hhciAgICAqYm9nb21pcHM7CisJY2hhcgkqZmxhZ3M7CisJY2hhcgkqbXRpZDsJCS8qIG1heGltdW0gdGhyZWFkIGlkIChzMzkwKSAqLworCWludAlkaXNwYXRjaGluZzsJLyogbm9uZSwgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbCAqLworCWludAltb2RlOwkJLyogcm0sIGxtIG9yL2FuZCB0bSAqLworCisJaW50CQluY3B1c3BvczsJLyogbWF4aW1hbCBwb3NzaWJsZSBDUFVzICovCisJaW50CQluY3B1czsJCS8qIG51bWJlciBvZiBwcmVzZW50IENQVXMgKi8KKwljcHVfc2V0X3QJKnByZXNlbnQ7CS8qIG1hc2sgd2l0aCBwcmVzZW50IENQVXMgKi8KKwljcHVfc2V0X3QJKm9ubGluZTsJLyogbWFzayB3aXRoIG9ubGluZSBDUFVzICovCisKKwlpbnQJCW50aHJlYWRzOwkvKiBudW1iZXIgb2Ygb25saW5lIHRocmVhZHMgKi8KKworCWludAkJbmNhY2hlczsKKwlzdHJ1Y3QgY3B1X2NhY2hlICpjYWNoZXM7CisKKwlpbnQJCW5lY2FjaGVzOwkvKiBleHRyYSBjYWNoZXMgKHMzOTApICovCisJc3RydWN0IGNwdV9jYWNoZSAqZWNhY2hlczsKKworCS8qCisJICogQWxsIG1hcHMgYXJlIHNlcXVlbnRpYWxseSBpbmRleGVkICgwLi5uY3B1c3BvcyksIHRoZSBhcnJheSBpbmRleAorCSAqIGRvZXMgbm90IGhhdmUgbWF0Y2ggd2l0aCBjcHVYIG51bWJlciBhcyBwcmVzZW50ZWQgYnkga2VybmVsLiBZb3UKKwkgKiBoYXZlIHRvIHVzZSByZWFsX2NwdV9udW0oKSB0byBnZXQgdGhlIHJlYWwgY3B1WCBudW1iZXIuCisJICoKKwkgKiBGb3IgZXhhbXBsZSwgdGhlIHBvc3NpYmxlIHN5c3RlbSBDUFVzIGFyZTogMSwzLDUsIGl0IG1lYW5zIHRoYXQKKwkgKiBuY3B1c3Bvcz0zLCBzbyBhbGwgYXJyYXlzIGFyZSBpbiByYW5nZSAwLi4zLgorCSAqLworCWludAkJKmlkeDJjcHVudW07CS8qIG1hcHBpbmcgaW5kZXggdG8gQ1BVIG51bSAqLworCisJaW50CQlubm9kZXM7CQkvKiBudW1iZXIgb2YgTlVNQSBtb2RlcyAqLworCWludAkJKmlkeDJub2RlbnVtOwkvKiBTdXBwb3J0IGZvciBkaXNjb250aW51b3VzIG5vZGVzICovCisJY3B1X3NldF90CSoqbm9kZW1hcHM7CS8qIGFycmF5IHdpdGggTlVNQSBub2RlcyAqLworCisJLyogZHJhd2VycyAtLSBiYXNlZCBvbiBkcmF3ZXJfc2libGluZ3MgKGludGVybmFsIGtlcm5lbCBtYXAgb2YgY3B1WCdzCisJICogaGFyZHdhcmUgdGhyZWFkcyB3aXRoaW4gdGhlIHNhbWUgZHJhd2VyICovCisJaW50CQluZHJhd2VyczsJLyogbnVtYmVyIG9mIGFsbCBvbmxpbmUgZHJhd2VycyAqLworCWNwdV9zZXRfdAkqKmRyYXdlcm1hcHM7CS8qIHVuaXF1ZSBkcmF3ZXJfc2libGluZ3MgKi8KKwlpbnQJCSpkcmF3ZXJpZHM7CS8qIHBoeXNpY2FsIGRyYXdlciBpZHMgKi8KKworCS8qIGJvb2tzIC0tIGJhc2VkIG9uIGJvb2tfc2libGluZ3MgKGludGVybmFsIGtlcm5lbCBtYXAgb2YgY3B1WCdzCisJICogaGFyZHdhcmUgdGhyZWFkcyB3aXRoaW4gdGhlIHNhbWUgYm9vayAqLworCWludAkJbmJvb2tzOwkJLyogbnVtYmVyIG9mIGFsbCBvbmxpbmUgYm9va3MgKi8KKwljcHVfc2V0X3QJKipib29rbWFwczsJLyogdW5pcXVlIGJvb2tfc2libGluZ3MgKi8KKwlpbnQJCSpib29raWRzOwkvKiBwaHlzaWNhbCBib29rIGlkcyAqLworCisJLyogc29ja2V0cyAtLSBiYXNlZCBvbiBjb3JlX3NpYmxpbmdzIChpbnRlcm5hbCBrZXJuZWwgbWFwIG9mIGNwdVgncworCSAqIGhhcmR3YXJlIHRocmVhZHMgd2l0aGluIHRoZSBzYW1lIHBoeXNpY2FsX3BhY2thZ2VfaWQgKHNvY2tldCkpICovCisJaW50CQluc29ja2V0czsJLyogbnVtYmVyIG9mIGFsbCBvbmxpbmUgc29ja2V0cyAqLworCWNwdV9zZXRfdAkqKnNvY2tldG1hcHM7CS8qIHVuaXF1ZSBjb3JlX3NpYmxpbmdzICovCisJaW50CQkqc29ja2V0aWRzOwkvKiBwaHlzaWNhbCBzb2NrZXQgaWRzICovCisKKwkvKiBjb3JlcyAtLSBiYXNlZCBvbiB0aHJlYWRfc2libGluZ3MgKGludGVybmFsIGtlcm5lbCBtYXAgb2YgY3B1WCdzCisJICogaGFyZHdhcmUgdGhyZWFkcyB3aXRoaW4gdGhlIHNhbWUgY29yZSBhcyBjcHVYKSAqLworCWludAkJbmNvcmVzOwkJLyogbnVtYmVyIG9mIGFsbCBvbmxpbmUgY29yZXMgKi8KKwljcHVfc2V0X3QJKipjb3JlbWFwczsJLyogdW5pcXVlIHRocmVhZF9zaWJsaW5ncyAqLworCWludAkJKmNvcmVpZHM7CS8qIHBoeXNpY2FsIGNvcmUgaWRzICovCisKKwlpbnQJCSpwb2xhcml6YXRpb247CS8qIGNwdSBwb2xhcml6YXRpb24gKi8KKwlpbnQJCSphZGRyZXNzZXM7CS8qIHBoeXNpY2FsIGNwdSBhZGRyZXNzZXMgKi8KKwlpbnQJCSpjb25maWd1cmVkOwkvKiBjcHUgY29uZmlndXJlZCAqLworCWludAkJcGh5c3NvY2tldHM7CS8qIFBoeXNpY2FsIHNvY2tldHMgKG1vZHVsZXMpICovCisJaW50CQlwaHlzY2hpcHM7CS8qIFBoeXNpY2FsIGNoaXBzICovCisJaW50CQlwaHlzY29yZXNwZXJjaGlwOwkvKiBQaHlzaWNhbCBjb3JlcyBwZXIgY2hpcCAqLworfTsKKworZW51bSB7CisJT1VUUFVUX1NVTU1BUlkJPSAwLAkvKiBkZWZhdWx0ICovCisJT1VUUFVUX1BBUlNBQkxFLAkvKiAtcCAqLworCU9VVFBVVF9SRUFEQUJMRSwJLyogLWUgKi8KK307CisKK2VudW0geworCVNZU1RFTV9MSVZFID0gMCwJLyogYW5hbHl6aW5nIGEgbGl2ZSBzeXN0ZW0gKi8KKwlTWVNURU1fU05BUFNIT1QsCS8qIGFuYWx5emluZyBhIHNuYXBzaG90IG9mIGEgZGlmZmVyZW50IHN5c3RlbSAqLworfTsKKworc3RydWN0IGxzY3B1X21vZGlmaWVyIHsKKwlpbnQJCW1vZGU7CQkvKiBPVVRQVVRfKiAqLworCWludAkJc3lzdGVtOwkJLyogU1lTVEVNXyogKi8KKwl1bnNpZ25lZCBpbnQJaGV4OjEsCQkvKiBwcmludCBDUFUgbWFza3MgcmF0aGVyIHRoYW4gQ1BVIGxpc3RzICovCisJCQljb21wYXQ6MSwJLyogdXNlIGJhY2t3YXJkbHkgY29tcGF0aWJsZSBmb3JtYXQgKi8KKwkJCW9ubGluZToxLAkvKiBwcmludCBvbmxpbmUgQ1BVcyAqLworCQkJb2ZmbGluZToxLAkvKiBwcmludCBvZmZsaW5lIENQVXMgKi8KKwkJCWpzb246MSwJCS8qIEpTT04gb3V0cHV0IGZvcm1hdCAqLworCQkJcGh5c2ljYWw6MTsJLyogdXNlIHBoeXNpY2FsIG51bWJlcnMgKi8KK307CisKK2V4dGVybiBpbnQgcmVhZF9oeXBlcnZpc29yX2RtaSh2b2lkKTsKK2V4dGVybiB2b2lkIGFybV9jcHVfZGVjb2RlKHN0cnVjdCBsc2NwdV9kZXNjICpkZXNjKTsKKworI2VuZGlmIC8qIExTQ1BVX0ggKi8KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc2lwYy4xIGIvc3lzLXV0aWxzL2xzaXBjLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJiMWRjZQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9sc2lwYy4xCkBAIC0wLDAgKzEsMTM5IEBACisuXCIgQ29weXJpZ2h0IDIwMTUgT25kcmVqIE9wcmFsYShvb3ByYWxhQHJlZGhhdC5jb20pCisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorLlRIIExTSVBDICIxIiAiTm92ZW1iZXIgMjAxNSIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2xzaXBjIFwtIHNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMgY3VycmVudGx5IGVtcGxveWVkIGluIHRoZSBzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgbHNpcGMKK1tvcHRpb25zXQorLlNIIERFU0NSSVBUSU9OCisuQiBsc2lwYworc2hvd3MgaW5mb3JtYXRpb24gb24gdGhlIGludGVyLXByb2Nlc3MgY29tbXVuaWNhdGlvbiBmYWNpbGl0aWVzCitmb3Igd2hpY2ggdGhlIGNhbGxpbmcgcHJvY2VzcyBoYXMgcmVhZCBhY2Nlc3MuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLWlcZlIsIFxmQlwtXC1pZFxmUiBcZklpZFxmUgorU2hvdyBmdWxsIGRldGFpbHMgb24ganVzdCB0aGUgb25lIHJlc291cmNlIGVsZW1lbnQgaWRlbnRpZmllZCBieQorLklSIGlkIC4KK1RoaXMgb3B0aW9uIG5lZWRzIHRvIGJlIGNvbWJpbmVkIHdpdGggb25lIG9mIHRoZSB0aHJlZSByZXNvdXJjZSBvcHRpb25zOgorLkJSIFwtbSAsCisuQlIgXC1xICIgb3IiCisuQlIgXC1zIC4KK0l0IGlzIHBvc3NpYmxlIHRvIG92ZXJyaWRlIHRoZSBkZWZhdWx0IG91dHB1dCBmb3JtYXQgZm9yIHRoaXMgb3B0aW9uIHdpdGggdGhlCitcZkJcLVwtbGlzdFxmUiwgXGZCXC1cLXJhd1xmUiwgXGZCXC1cLWpzb25cZlIgb3IgXGZCXC1cLWV4cG9ydFxmUiBvcHRpb24uCisuVFAKK1xmQlwtZ1xmUiwgXGZCXC1cLWdsb2JhbFxmUgorU2hvdyBzeXN0ZW0td2lkZSB1c2FnZSBhbmQgbGltaXRzIG9mIElQQyByZXNvdXJjZXMuCitUaGlzIG9wdGlvbiBtYXkgYmUgY29tYmluZWQgd2l0aCBvbmUgb2YgdGhlIHRocmVlIHJlc291cmNlIG9wdGlvbnM6CisuQlIgXC1tICwKKy5CUiBcLXEgIiBvciIKKy5CUiBcLXMgLgorVGhlIGRlZmF1bHQgaXMgdG8gc2hvdyBpbmZvcm1hdGlvbiBhYm91dCBhbGwgcmVzb3VyY2VzLgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNTICJSZXNvdXJjZSBvcHRpb25zIgorLlRQCitcZkJcLW1cZlIsIFxmQlwtXC1zaG1lbXNcZlIKK1dyaXRlIGluZm9ybWF0aW9uIGFib3V0IGFjdGl2ZSBzaGFyZWQgbWVtb3J5IHNlZ21lbnRzLgorLlRQCitcZkJcLXFcZlIsIFxmQlwtXC1xdWV1ZXNcZlIKK1dyaXRlIGluZm9ybWF0aW9uIGFib3V0IGFjdGl2ZSBtZXNzYWdlIHF1ZXVlcy4KKy5UUAorXGZCXC1zXGZSLCBcZkJcLVwtc2VtYXBob3Jlc1xmUgorV3JpdGUgaW5mb3JtYXRpb24gYWJvdXQgYWN0aXZlIHNlbWFwaG9yZSBzZXRzLgorLlNTICJPdXRwdXQgZm9ybWF0dGluZyIKKy5UUAorXGZCXC1jXGZSLCBcZkJcLVwtY3JlYXRvclxmUgorU2hvdyBjcmVhdG9yIGFuZCBvd25lci4KKy5UUAorXGZCXC1lXGZSLCBcZkJcLVwtZXhwb3J0XGZSCitPdXRwdXQgZGF0YSBpbiB0aGUgZm9ybWF0IG9mIE5BTUU9VkFMVUUuCisuVFAKK1xmQlwtSlxmUiwgXGZCXC1cLWpzb25cZlIKK1VzZSB0aGUgSlNPTiBvdXRwdXQgZm9ybWF0LgorLlRQCitcZkJcLWxcZlIsIFxmQlwtXC1saXN0XGZSCitVc2UgdGhlIGxpc3Qgb3V0cHV0IGZvcm1hdC4gIFRoaXMgaXMgdGhlIGRlZmF1bHQsIGV4Y2VwdCB3aGVuIFxmQlwtXC1pZFxmUgoraXMgdXNlZC4KKy5UUAorXGZCXC1uXGZSLCBcZkJcLVwtbmV3bGluZVxmUgorRGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgc2VwYXJhdGUgbGluZS4KKy5UUAorXGZCXC1cLW5vaGVhZGluZ3NcZlIKK0RvIG5vdCBwcmludCBhIGhlYWRlciBsaW5lLgorLlRQCitcZkJcLVwtbm90cnVuY2F0ZVxmUgorRG9uJ3QgdHJ1bmNhdGUgb3V0cHV0LgorLlRQCitcZkJcLW9cZlIsIFxmQlwtXC1vdXRwdXQgXGZJbGlzdFxmUAorU3BlY2lmeSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byBwcmludC4gIFVzZQorLkIgXC1cLWhlbHAKK3RvIGdldCBhIGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorLlRQCitcZkJcLWJcZlIsIFxmQlwtXC1ieXRlc1xmUgorUHJpbnQgc2l6ZSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXQuCisuVFAKK1xmQlwtclxmUiwgXGZCXC1cLXJhd1xmUgorUmF3IG91dHB1dCAobm8gY29sdW1uYXRpb24pLgorLlRQCitcZkJcLXRcZlIsIFxmQlwtXC10aW1lXGZSCitXcml0ZSB0aW1lIGluZm9ybWF0aW9uLiAgVGhlIHRpbWUgb2YgdGhlIGxhc3QgY29udHJvbCBvcGVyYXRpb24gdGhhdCBjaGFuZ2VkCit0aGUgYWNjZXNzIHBlcm1pc3Npb25zIGZvciBhbGwgZmFjaWxpdGllcywgdGhlIHRpbWUgb2YgdGhlIGxhc3QKKy5CUiBtc2dzbmQgKDIpCithbmQKKy5CUiBtc2dyY3YgKDIpCitvcGVyYXRpb25zIG9uIG1lc3NhZ2UgcXVldWVzLCB0aGUgdGltZSBvZiB0aGUgbGFzdAorLkJSIHNobWF0ICgyKQorYW5kCisuQlIgc2htZHQgKDIpCitvcGVyYXRpb25zIG9uIHNoYXJlZCBtZW1vcnksIGFuZCB0aGUgdGltZSBvZiB0aGUgbGFzdAorLkJSIHNlbW9wICgyKQorb3BlcmF0aW9uIG9uIHNlbWFwaG9yZXMuCisuVFAKK1xmQlwtXC10aW1lXC1mb3JtYXRcZlIgXGZJdHlwZVxmUAorRGlzcGxheSBkYXRlcyBpbiBzaG9ydCwgZnVsbCBvciBpc28gZm9ybWF0LiAgVGhlIGRlZmF1bHQgaXMgc2hvcnQsIHRoaXMgdGltZQorZm9ybWF0IGlzIGRlc2lnbmVkIHRvIGJlIHNwYWNlIGVmZmljaWVudCBhbmQgaHVtYW4gcmVhZGFibGUuCisuVFAKK1xmQlwtUFxmUiwgXGZCXC1cLW51bWVyaWNcLXBlcm1zXGZSCitQcmludCBudW1lcmljIHBlcm1pc3Npb25zIGluIFBFUk1TIGNvbHVtbi4KKworLlNIIEVYSVQgU1RBVFVTCisuVFAKKzAKK2lmIE9LLAorLlRQCisxCitpZiBpbmNvcnJlY3QgYXJndW1lbnRzIHNwZWNpZmllZCwKKy5UUAorMgoraWYgYSBzZXJpb3VzIGVycm9yIG9jY3Vycy4KKy5TSCBTRUUgQUxTTworLkJSIGlwY21rICgxKSwKKy5CUiBpcGNybSAoMSksCisuQlIgbXNncmN2ICgyKSwKKy5CUiBtc2dzbmQgKDIpLAorLkJSIHNlbWdldCAoMiksCisuQlIgc2Vtb3AgKDIpLAorLkJSIHNobWF0ICgyKSwKKy5CUiBzaG1kdCAoMiksCisuQlIgc2htZ2V0ICgyKQorLlNIIEhJU1RPUlkKK1RoZSBcZkJsc2lwY1xmUCB1dGlsaXR5IGlzIGluc3BpcmVkIGJ5IHRoZSBcZkJpcGNzXGZQIHV0aWxpdHkuCisuU0ggQVVUSE9SUworLk1UIG9vcHJhbGFAcmVkaGF0LmNvbQorT25kcmVqIE9wcmFsYQorLk1FCisuYnIKKy5NVCBremFrQHJlZGhhdC5jb20KK0thcmVsIFphaworLk1FCisKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBsc2lwYyBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2xzaXBjLmMgYi9zeXMtdXRpbHMvbHNpcGMuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOGFkYTU3Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xzaXBjLmMKQEAgLTAsMCArMSwxMzM4IEBACisvKgorICogbHNpcGMgLSBMaXN0IGluZm9ybWF0aW9uIGFib3V0IElQQyBpbnN0YW5jZXMgZW1wbG95ZWQgaW4gdGhlIHN5c3RlbQorICoKKyAqIENvcHlyaWdodCAoQykgMjAxNSBPbmRyZWogT3ByYWxhIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMTUgS2FyZWwgWmFrIDxvb3ByYWxhQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKgorICoKKyAqIGxzaXBjIGlzIGluc3BpcmVkIGJ5IHRoZSBpcGNzIHV0aWxpdHkuIFRoZSBhaW0gaXMgdG8gY3JlYXRlCisgKiBhIHV0aWxpdHkgdW5lbmN1bWJlcmVkIGJ5IGEgc3RhbmRhcmQgdG8gcHJvdmlkZSBtb3JlIGZsZXhpYmxlCisgKiBtZWFucyBvZiBjb250cm9sbGluZyB0aGUgb3V0cHV0LgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJwcm9jdXRpbHMuaCIKKyNpbmNsdWRlICJpcGN1dGlscy5oIgorI2luY2x1ZGUgInRpbWV1dGlscy5oIgorCisvKgorICogdGltZSBtb2RlcworICogKi8KK2VudW0geworCVRJTUVfSU5WQUxJRCA9IDAsCisJVElNRV9TSE9SVCwKKwlUSU1FX0ZVTEwsCisJVElNRV9JU08KK307CisKKy8qCisgKiBJRHMKKyAqLworZW51bSB7CisJLyogZ2VuZXJpYyAqLworCUNPTERFU0NfSURYX0dFTl9GSVJTVCA9IDAsCisJCUNPTF9LRVkgPSBDT0xERVNDX0lEWF9HRU5fRklSU1QsCisJCUNPTF9JRCwKKwkJQ09MX09XTkVSLAorCQlDT0xfUEVSTVMsCisJCUNPTF9DVUlELAorCQlDT0xfQ1VTRVIsCisJCUNPTF9DR0lELAorCQlDT0xfQ0dST1VQLAorCQlDT0xfVUlELAorCQlDT0xfVVNFUiwKKwkJQ09MX0dJRCwKKwkJQ09MX0dST1VQLAorCQlDT0xfQ1RJTUUsCisJQ09MREVTQ19JRFhfR0VOX0xBU1QgPSBDT0xfQ1RJTUUsCisKKwkvKiBtc2dxLXNwZWNpZmljICovCisJQ09MREVTQ19JRFhfTVNHX0ZJUlNULAorCQlDT0xfVVNFREJZVEVTID0gQ09MREVTQ19JRFhfTVNHX0ZJUlNULAorCQlDT0xfTVNHUywKKwkJQ09MX1NFTkQsCisJCUNPTF9SRUNWLAorCQlDT0xfTFNQSUQsCisJCUNPTF9MUlBJRCwKKwlDT0xERVNDX0lEWF9NU0dfTEFTVCA9IENPTF9MUlBJRCwKKworCS8qIHNobS1zcGVjaWZpYyAqLworCUNPTERFU0NfSURYX1NITV9GSVJTVCwKKwkJQ09MX1NJWkUgPSBDT0xERVNDX0lEWF9TSE1fRklSU1QsCisJCUNPTF9OQVRUQ0gsCisJCUNPTF9TVEFUVVMsCisJCUNPTF9BVFRBQ0gsCisJCUNPTF9ERVRBQ0gsCisJCUNPTF9DT01NQU5ELAorCQlDT0xfQ1BJRCwKKwkJQ09MX0xQSUQsCisJQ09MREVTQ19JRFhfU0hNX0xBU1QgPSBDT0xfTFBJRCwKKworCS8qIHNlbS1zcGVjaWZpYyAqLworCUNPTERFU0NfSURYX1NFTV9GSVJTVCwKKwkJQ09MX05TRU1TID0gQ09MREVTQ19JRFhfU0VNX0ZJUlNULAorCQlDT0xfT1RJTUUsCisJQ09MREVTQ19JRFhfU0VNX0xBU1QgPSBDT0xfT1RJTUUsCisKKwkvKiBzdW1tYXJ5ICgtLWdsb2JhbCkgKi8KKwlDT0xERVNDX0lEWF9TVU1fRklSU1QsCisJCUNPTF9SRVNPVVJDRSA9IENPTERFU0NfSURYX1NVTV9GSVJTVCwKKwkJQ09MX0RFU0MsCisJCUNPTF9MSU1JVCwKKwkJQ09MX1VTRUQsCisJCUNPTF9VU0VQRVJDLAorCUNPTERFU0NfSURYX1NVTV9MQVNUID0gQ09MX1VTRVBFUkMKK307CisKKy8qIG5vdCBhbGwgY29sdW1ucyBhcHBseSB0byBhbGwgb3B0aW9ucywgc28gd2Ugc3BlY2lmeSBhIGxlZ2FsIHJhbmdlIGZvciBlYWNoICovCitzdGF0aWMgc2l6ZV90IExPV0VSLCBVUFBFUjsKKworLyoKKyAqIG91dHB1dCBtb2RlcworICovCitlbnVtIHsKKwlPVVRfRVhQT1JUID0gMSwKKwlPVVRfTkVXTElORSwKKwlPVVRfUkFXLAorCU9VVF9KU09OLAorCU9VVF9QUkVUVFksCisJT1VUX0xJU1QKK307CisKK3N0cnVjdCBsc2lwY19jb250cm9sIHsKKwlpbnQgb3V0bW9kZTsKKwl1bnNpZ25lZCBpbnQgbm9oZWFkaW5ncyA6IDEsCQkvKiBkb24ndCBwcmludCBoZWFkZXIgbGluZSAqLworCQkgICAgIG5vdHJ1bmMgOiAxLAkJLyogZG9uJ3QgdHJ1bmNhdGUgY29sdW1ucyAqLworCQkgICAgIGJ5dGVzIDogMSwJCQkvKiBTSVpFIGluIGJ5dGVzICovCisJCSAgICAgbnVtcGVybXMgOiAxLAkJLyogbnVtZXJpYyBwZXJtaXNzaW9ucyAqLworCQkgICAgIHRpbWVfbW9kZSA6IDI7Cit9OworCitzdHJ1Y3QgbHNpcGNfY29sZGVzYyB7CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpoZWxwOworCWNvbnN0IGNoYXIgKnByZXR0eV9uYW1lOworCisJZG91YmxlIHdoaW50OwkvKiB3aWR0aCBoaW50ICovCisJbG9uZyBmbGFnOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBsc2lwY19jb2xkZXNjIGNvbGRlc2NzW10gPQoreworCS8qIGNvbW1vbiAqLworCVtDT0xfS0VZXQk9IHsgIktFWSIsCU5fKCJSZXNvdXJjZSBrZXkiKSwgTl8oIktleSIpLCAxfSwKKwlbQ09MX0lEXQk9IHsgIklEIiwJTl8oIlJlc291cmNlIElEIiksIE5fKCJJRCIpLCAxfSwKKwlbQ09MX09XTkVSXQk9IHsgIk9XTkVSIiwJTl8oIk93bmVyJ3MgdXNlcm5hbWUgb3IgVUlEIiksIE5fKCJPd25lciIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9QRVJNU10JPSB7ICJQRVJNUyIsCU5fKCJQZXJtaXNzaW9ucyIpLCBOXygiUGVybWlzc2lvbnMiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfQ1VJRF0JPSB7ICJDVUlEIiwJTl8oIkNyZWF0b3IgVUlEIiksIE5fKCJDcmVhdG9yIFVJRCIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9DVVNFUl0gICAgID0geyAiQ1VTRVIiLCAgICBOXygiQ3JlYXRvciB1c2VyIiksIE5fKCJDcmVhdG9yIHVzZXIiKSwgMSB9LAorCVtDT0xfQ0dJRF0JPSB7ICJDR0lEIiwJTl8oIkNyZWF0b3IgR0lEIiksIE5fKCJDcmVhdG9yIEdJRCIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9DR1JPVVBdICAgID0geyAiQ0dST1VQIiwgICBOXygiQ3JlYXRvciBncm91cCIpLCBOXygiQ3JlYXRvciBncm91cCIpLCAxIH0sCisJW0NPTF9VSURdCT0geyAiVUlEIiwJTl8oIlVzZXIgSUQiKSwgTl8oIlVJRCIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9VU0VSXQk9IHsgIlVTRVIiLAlOXygiVXNlciBuYW1lIiksIE5fKCJVc2VyIG5hbWUiKSwgMX0sCisJW0NPTF9HSURdCT0geyAiR0lEIiwJTl8oIkdyb3VwIElEIiksIE5fKCJHSUQiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfR1JPVVBdCT0geyAiR1JPVVAiLAlOXygiR3JvdXAgbmFtZSIpLCBOXygiR3JvdXAgbmFtZSIpLCAxfSwKKwlbQ09MX0NUSU1FXQk9IHsgIkNUSU1FIiwJTl8oIlRpbWUgb2YgdGhlIGxhc3QgY2hhbmdlIiksIE5fKCJMYXN0IGNoYW5nZSIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisKKwkvKiBtc2dxLXNwZWNpZmljICovCisJW0NPTF9VU0VEQllURVNdCT0geyAiVVNFREJZVEVTIixOXygiQnl0ZXMgdXNlZCIpLCBOXygiQnl0ZXMgdXNlZCIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9NU0dTXQk9IHsgIk1TR1MiLAlOXygiTnVtYmVyIG9mIG1lc3NhZ2VzIiksIE5fKCJNZXNzYWdlcyIpLCAxfSwKKwlbQ09MX1NFTkRdCT0geyAiU0VORCIsCU5fKCJUaW1lIG9mIGxhc3QgbXNnIHNlbnQiKSwgTl8oIk1zZyBzZW50IiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX1JFQ1ZdCT0geyAiUkVDViIsCU5fKCJUaW1lIG9mIGxhc3QgbXNnIHJlY2VpdmVkIiksIE5fKCJNc2cgcmVjZWl2ZWQiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfTFNQSURdCT0geyAiTFNQSUQiLAlOXygiUElEIG9mIHRoZSBsYXN0IG1zZyBzZW5kZXIiKSwgTl8oIk1zZyBzZW5kZXIiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfTFJQSURdCT0geyAiTFJQSUQiLAlOXygiUElEIG9mIHRoZSBsYXN0IG1zZyByZWNlaXZlciIpLCBOXygiTXNnIHJlY2VpdmVyIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKworCS8qIHNobS1zcGVjaWZpYyAqLworCVtDT0xfU0laRV0JPSB7ICJTSVpFIiwJTl8oIlNlZ21lbnQgc2l6ZSIpLCBOXygiU2VnbWVudCBzaXplIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX05BVFRDSF0JPSB7ICJOQVRUQ0giLAlOXygiTnVtYmVyIG9mIGF0dGFjaGVkIHByb2Nlc3NlcyIpLCBOXygiQXR0YWNoZWQgcHJvY2Vzc2VzIiksIDEsIFNDT0xTX0ZMX1JJR0hUfSwKKwlbQ09MX1NUQVRVU10JPSB7ICJTVEFUVVMiLAlOXygiU3RhdHVzIiksIE5fKCJTdGF0dXMiKSwgMSwgU0NPTFNfRkxfTk9FWFRSRU1FU30sCisJW0NPTF9BVFRBQ0hdCT0geyAiQVRUQUNIIiwJTl8oIkF0dGFjaCB0aW1lIiksIE5fKCJBdHRhY2ggdGltZSIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9ERVRBQ0hdCT0geyAiREVUQUNIIiwJTl8oIkRldGFjaCB0aW1lIiksIE5fKCJEZXRhY2ggdGltZSIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9DT01NQU5EXQk9IHsgIkNPTU1BTkQiLCAgTl8oIkNyZWF0b3IgY29tbWFuZCBsaW5lIiksIE5fKCJDcmVhdG9yIGNvbW1hbmQiKSwgMCwgU0NPTFNfRkxfVFJVTkN9LAorCVtDT0xfQ1BJRF0JPSB7ICJDUElEIiwJTl8oIlBJRCBvZiB0aGUgY3JlYXRvciIpLCBOXygiQ3JlYXRvciBQSUQiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCVtDT0xfTFBJRF0JPSB7ICJMUElEIiwJTl8oIlBJRCBvZiBsYXN0IHVzZXIiKSwgTl8oIkxhc3QgdXNlciBQSUQiKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCisJLyogc2VtLXNwZWNpZmljICovCisJW0NPTF9OU0VNU10JPSB7ICJOU0VNUyIsCU5fKCJOdW1iZXIgb2Ygc2VtYXBob3JlcyIpLCBOXygiU2VtYXBob3JlcyIpLCAxLCBTQ09MU19GTF9SSUdIVH0sCisJW0NPTF9PVElNRV0JPSB7ICJPVElNRSIsCU5fKCJUaW1lIG9mIHRoZSBsYXN0IG9wZXJhdGlvbiIpLCBOXygiTGFzdCBvcGVyYXRpb24iKSwgMSwgU0NPTFNfRkxfUklHSFR9LAorCisJLyogY29scyBmb3Igc3VtbWFyaXplZCBpbmZvcm1hdGlvbiAqLworCVtDT0xfUkVTT1VSQ0VdICA9IHsgIlJFU09VUkNFIiwgTl8oIlJlc291cmNlIG5hbWUiKSwgTl8oIlJlc291cmNlIiksIDEgfSwKKwlbQ09MX0RFU0NdICAgICAgPSB7ICJERVNDUklQVElPTiIsTl8oIlJlc291cmNlIGRlc2NyaXB0aW9uIiksIE5fKCJEZXNjcmlwdGlvbiIpLCAxIH0sCisJW0NPTF9VU0VEXSAgICAgID0geyAiVVNFRCIsICAgICBOXygiQ3VycmVudGx5IHVzZWQiKSwgTl8oIlVzZWQiKSwgMSwgU0NPTFNfRkxfUklHSFQgfSwKKwlbQ09MX1VTRVBFUkNdCT0geyAiVVNFJSIsICAgICBOXygiQ3VycmVudGx5IHVzZSBwZXJjZW50YWdlIiksIE5fKCJVc2UiKSwgMSwgU0NPTFNfRkxfUklHSFQgfSwKKwlbQ09MX0xJTUlUXSAgICAgPSB7ICJMSU1JVCIsICAgIE5fKCJTeXN0ZW0td2lkZSBsaW1pdCIpLCBOXygiTGltaXQiKSwgMSwgU0NPTFNfRkxfUklHSFQgfSwKK307CisKKworLyogY29sdW1uc1tdIGFycmF5IHNwZWNpZmllcyBhbGwgY3VycmVudGx5IHdhbnRlZCBvdXRwdXQgY29sdW1uLiBUaGUgY29sdW1ucworICogYXJlIGRlZmluZWQgYnkgY29sZGVzY3NbXSBhcnJheSBhbmQgeW91IGNhbiBzcGVjaWZ5IChvbiBjb21tYW5kIGxpbmUpIGVhY2gKKyAqIGNvbHVtbiB0d2ljZS4gVGhhdCdzIGVub3VnaCwgZHluYW1pY2FsbHkgYWxsb2NhdGVkIGFycmF5IG9mIHRoZSBjb2x1bW5zIGlzCisgKiB1bm5lY2Vzc2FyeSBvdmVya2lsbCBhbmQgb3Zlci1lbmdpbmVlcmluZyBpbiB0aGlzIGNhc2UgKi8KK3N0YXRpYyBpbnQgY29sdW1uc1tBUlJBWV9TSVpFKGNvbGRlc2NzKSAqIDJdOworc3RhdGljIHNpemVfdCBuY29sdW1uczsKKworc3RhdGljIGlubGluZSBzaXplX3QgZXJyX2NvbHVtbnNfaW5kZXgoc2l6ZV90IGFyeXN6LCBzaXplX3QgaWR4KQoreworCWlmIChpZHggPj0gYXJ5c3opCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0b28gbWFueSBjb2x1bW5zIHNwZWNpZmllZCwgIgorCQkJCSAgICAgInRoZSBsaW1pdCBpcyAlenUgY29sdW1ucyIpLAorCQkJCWFyeXN6IC0gMSk7CisJcmV0dXJuIGlkeDsKK30KKworI2RlZmluZSBhZGRfY29sdW1uKGFyeSwgbiwgaWQpCVwKKwkJKChhcnkpWyBlcnJfY29sdW1uc19pbmRleChBUlJBWV9TSVpFKGFyeSksIChuKSkgXSA9IChpZCkpCisKK3N0YXRpYyBpbnQgY29sdW1uX25hbWVfdG9faWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gY29sZGVzY3NbaV0ubmFtZTsKKworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkgeworCQkJaWYgKGkgPiBDT0xfQ1RJTUUpIHsKKwkJCQlpZiAoaSA+PSBMT1dFUiAmJiBpIDw9IFVQUEVSKQorCQkJCQlyZXR1cm4gaTsKKwkJCQllbHNlIHsKKwkJCQkJd2FybngoXygiY29sdW1uICVzIGRvZXMgbm90IGFwcGx5IHRvIHRoZSBzcGVjaWZpZWQgSVBDIiksIG5hbWUpOworCQkJCQlyZXR1cm4gLTE7CisJCQkJfQorCQkJfSBlbHNlCisJCQkJcmV0dXJuIGk7CisJCX0KKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA+PSAwKTsKKwlhc3NlcnQoKHNpemVfdCkgbnVtIDwgbmNvbHVtbnMpOworCWFzc2VydCgoc2l6ZV90KSBjb2x1bW5zW251bV0gPCBBUlJBWV9TSVpFKGNvbGRlc2NzKSk7CisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIGNvbnN0IHN0cnVjdCBsc2lwY19jb2xkZXNjICpnZXRfY29sdW1uX2Rlc2MoaW50IG51bSkKK3sKKwlyZXR1cm4gJmNvbGRlc2NzWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGNoYXIgKmdldF91c2VybmFtZShzdHJ1Y3QgcGFzc3dkICoqcHcsIHVpZF90IGlkKQoreworCWlmICghKnB3IHx8ICgqcHcpLT5wd191aWQgIT0gaWQpCisJCSpwdyA9IGdldHB3dWlkKGlkKTsKKworCXJldHVybiAqcHcgPyB4c3RyZHVwKCgqcHcpLT5wd19uYW1lKSA6IE5VTEw7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRfZ3JvdXBuYW1lKHN0cnVjdCBncm91cCAqKmdyLCBnaWRfdCBpZCkKK3sKKwlpZiAoISpnciB8fCAoKmdyKS0+Z3JfZ2lkICE9IGlkKQorCQkqZ3IgPSBnZXRncmdpZChpZCk7CisKKwlyZXR1cm4gKmdyID8geHN0cmR1cCgoKmdyKS0+Z3JfbmFtZSkgOiBOVUxMOworfQorCitzdGF0aWMgaW50IHBhcnNlX3RpbWVfbW9kZShjb25zdCBjaGFyICpzKQoreworCXN0cnVjdCBsc2lwY190aW1lZm10IHsKKwkJY29uc3QgY2hhciAqbmFtZTsKKwkJY29uc3QgaW50IHZhbDsKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3QgbHNpcGNfdGltZWZtdCB0aW1lZm10c1tdID0geworCQl7ImlzbyIsIFRJTUVfSVNPfSwKKwkJeyJmdWxsIiwgVElNRV9GVUxMfSwKKwkJeyJzaG9ydCIsIFRJTUVfU0hPUlR9LAorCX07CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0aW1lZm10cyk7IGkrKykgeworCQlpZiAoc3RyY21wKHRpbWVmbXRzW2ldLm5hbWUsIHMpID09IDApCisJCQlyZXR1cm4gdGltZWZtdHNbaV0udmFsOworCX0KKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5rbm93biB0aW1lIGZvcm1hdDogJXMiKSwgcyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCXNpemVfdCBpOworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNob3cgaW5mb3JtYXRpb24gb24gSVBDIGZhY2lsaXRpZXMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJSZXNvdXJjZSBvcHRpb25zOlxuIiksIG91dCk7CisJZnB1dHMoXygiIC1tLCAtLXNobWVtcyAgICAgIHNoYXJlZCBtZW1vcnkgc2VnbWVudHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcSwgLS1xdWV1ZXMgICAgICBtZXNzYWdlIHF1ZXVlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNlbWFwaG9yZXMgIHNlbWFwaG9yZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZywgLS1nbG9iYWwgICAgICBpbmZvIGFib3V0IHN5c3RlbS13aWRlIHVzYWdlIChtYXkgYmUgdXNlZCB3aXRoIC1tLCAtcSBhbmQgLXMpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taWQgPGlkPiAgICAgcHJpbnQgZGV0YWlscyBvbiByZXNvdXJjZSBpZGVudGlmaWVkIGJ5IDxpZD5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbm9oZWFkaW5ncyAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbm90cnVuY2F0ZSAgICAgICAgIGRvbid0IHRydW5jYXRlIG91dHB1dFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXRpbWUtZm9ybWF0PTx0eXBlPiBkaXNwbGF5IGRhdGVzIGluIHNob3J0LCBmdWxsIG9yIGlzbyBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYiwgLS1ieXRlcyAgICAgICAgICAgICAgcHJpbnQgU0laRSBpbiBieXRlcyByYXRoZXIgdGhhbiBpbiBodW1hbiByZWFkYWJsZSBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1jcmVhdG9yICAgICAgICAgICAgc2hvdyBjcmVhdG9yIGFuZCBvd25lclxuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLWV4cG9ydCAgICAgICAgICAgICBkaXNwbGF5IGluIGFuIGV4cG9ydC1hYmxlIG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSiwgLS1qc29uICAgICAgICAgICAgICAgdXNlIHRoZSBKU09OIG91dHB1dCBmb3JtYXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uZXdsaW5lICAgICAgICAgICAgZGlzcGxheSBlYWNoIHBpZWNlIG9mIGluZm9ybWF0aW9uIG9uIGEgbmV3IGxpbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbCwgLS1saXN0ICAgICAgICAgICAgICAgZm9yY2UgbGlzdCBvdXRwdXQgZm9ybWF0IChmb3IgZXhhbXBsZSB3aXRoIC0taWQpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0Wz08bGlzdD5dICAgIGRlZmluZSB0aGUgY29sdW1ucyB0byBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtUCwgLS1udW1lcmljLXBlcm1zICAgICAgcHJpbnQgbnVtZXJpYyBwZXJtaXNzaW9ucyAoUEVSTVMgY29sdW1uKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJhdyAgICAgICAgICAgICAgICBkaXNwbGF5IGluIHJhdyBtb2RlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGltZSAgICAgICAgICAgICAgIHNob3cgYXR0YWNoLCBkZXRhY2ggYW5kIGNoYW5nZSB0aW1lc1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNikpOworCisJZnByaW50ZihvdXQsIF8oIlxuR2VuZXJpYyBjb2x1bW5zOlxuIikpOworCWZvciAoaSA9IENPTERFU0NfSURYX0dFTl9GSVJTVDsgaSA8PSBDT0xERVNDX0lEWF9HRU5fTEFTVDsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTRzICAlc1xuIiwgY29sZGVzY3NbaV0ubmFtZSwgXyhjb2xkZXNjc1tpXS5oZWxwKSk7CisKKwlmcHJpbnRmKG91dCwgXygiXG5TaGFyZWQtbWVtb3J5IGNvbHVtbnMgKC0tc2htZW1zKTpcbiIpKTsKKwlmb3IgKGkgPSBDT0xERVNDX0lEWF9TSE1fRklSU1Q7IGkgPD0gQ09MREVTQ19JRFhfU0hNX0xBU1Q7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTE0cyAgJXNcbiIsIGNvbGRlc2NzW2ldLm5hbWUsIF8oY29sZGVzY3NbaV0uaGVscCkpOworCisJZnByaW50ZihvdXQsIF8oIlxuTWVzc2FnZS1xdWV1ZSBjb2x1bW5zICgtLXF1ZXVlcyk6XG4iKSk7CisJZm9yIChpID0gQ09MREVTQ19JRFhfTVNHX0ZJUlNUOyBpIDw9IENPTERFU0NfSURYX01TR19MQVNUOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxNHMgICVzXG4iLCBjb2xkZXNjc1tpXS5uYW1lLCBfKGNvbGRlc2NzW2ldLmhlbHApKTsKKworCWZwcmludGYob3V0LCBfKCJcblNlbWFwaG9yZSBjb2x1bW5zICgtLXNlbWFwaG9yZXMpOlxuIikpOworCWZvciAoaSA9IENPTERFU0NfSURYX1NFTV9GSVJTVDsgaSA8PSBDT0xERVNDX0lEWF9TRU1fTEFTVDsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTRzICAlc1xuIiwgY29sZGVzY3NbaV0ubmFtZSwgXyhjb2xkZXNjc1tpXS5oZWxwKSk7CisKKwlmcHJpbnRmKG91dCwgXygiXG5TdW1tYXJ5IGNvbHVtbnMgKC0tZ2xvYmFsKTpcbiIpKTsKKwlmb3IgKGkgPSBDT0xERVNDX0lEWF9TVU1fRklSU1Q7IGkgPD0gQ09MREVTQ19JRFhfU1VNX0xBU1Q7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTE0cyAgJXNcbiIsIGNvbGRlc2NzW2ldLm5hbWUsIF8oY29sZGVzY3NbaV0uaGVscCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJsc2lwYygxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKm5ld190YWJsZShzdHJ1Y3QgbHNpcGNfY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKworCWlmICghdGFibGUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisKKwlpZiAoY3RsLT5ub2hlYWRpbmdzKQorCQlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyh0YWJsZSwgMSk7CisKKwlzd2l0Y2goY3RsLT5vdXRtb2RlKSB7CisJY2FzZSBPVVRfTkVXTElORToKKwkJc2NvbHNfdGFibGVfc2V0X2NvbHVtbl9zZXBhcmF0b3IodGFibGUsICJcbiIpOworCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgT1VUX0VYUE9SVDoKKwkJc2NvbHNfdGFibGVfZW5hYmxlX2V4cG9ydCh0YWJsZSwgMSk7CisJCWJyZWFrOworCWNhc2UgT1VUX1JBVzoKKwkJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YWJsZSwgMSk7CisJCWJyZWFrOworCWNhc2UgT1VUX1BSRVRUWToKKwkJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGFibGUsIDEpOworCQlicmVhazsKKwljYXNlIE9VVF9KU09OOgorCQlzY29sc190YWJsZV9lbmFibGVfanNvbih0YWJsZSwgMSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlyZXR1cm4gdGFibGU7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnNldHVwX3RhYmxlKHN0cnVjdCBsc2lwY19jb250cm9sICpjdGwpCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSA9IG5ld190YWJsZShjdGwpOworCXNpemVfdCBuOworCisJZm9yIChuID0gMDsgbiA8IG5jb2x1bW5zOyBuKyspIHsKKwkJY29uc3Qgc3RydWN0IGxzaXBjX2NvbGRlc2MgKmRlc2MgPSBnZXRfY29sdW1uX2Rlc2Mobik7CisJCWludCBmbGFncyA9IGRlc2MtPmZsYWc7CisKKwkJaWYgKGN0bC0+bm90cnVuYykKKwkJCWZsYWdzICY9IH5TQ09MU19GTF9UUlVOQzsKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYmxlLCBkZXNjLT5uYW1lLCBkZXNjLT53aGludCwgZmxhZ3MpKQorCQkJZ290byBmYWlsOworCX0KKwlyZXR1cm4gdGFibGU7CitmYWlsOgorCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGludCBwcmludF9wcmV0dHkoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZSkKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyID0gc2NvbHNfbmV3X2l0ZXIoU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjb2w7CisJc3RydWN0IGxpYnNjb2xzX2NlbGwgKmRhdGE7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCWNvbnN0IGNoYXIgKmhzdHIsICpkc3RyOworCWludCBuID0gMDsKKworCWxuID0gc2NvbHNfdGFibGVfZ2V0X2xpbmUodGFibGUsIDApOworCXdoaWxlICghc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4odGFibGUsIGl0ciwgJmNvbCkpIHsKKworCQlkYXRhID0gc2NvbHNfbGluZV9nZXRfY2VsbChsbiwgbik7CisKKwkJaHN0ciA9IE5fKGdldF9jb2x1bW5fZGVzYyhuKS0+cHJldHR5X25hbWUpOworCQlkc3RyID0gc2NvbHNfY2VsbF9nZXRfZGF0YShkYXRhKTsKKworCQlpZiAoZHN0cikKKwkJCXByaW50ZigiJXM6JSpjJS0zNnNcbiIsIGhzdHIsIDM1IC0gKGludClzdHJsZW4oaHN0ciksICcgJywgZHN0cik7CisJCSsrbjsKKwl9CisKKwkvKiB0aGlzIGlzIHVzZWQgdG8gcHJldHR5LXByaW50IGRldGFpbGVkIGluZm8gYWJvdXQgYSBzZW1hcGhvcmUgYXJyYXkgKi8KKwlpZiAobG4pIHsKKwkJc3RydWN0IGxpYnNjb2xzX3RhYmxlICpzdWJ0YWIgPSBzY29sc19saW5lX2dldF91c2VyZGF0YShsbik7CisJCWlmIChzdWJ0YWIpIHsKKwkJCXByaW50ZihfKCJFbGVtZW50czpcblxuIikpOworCQkJc2NvbHNfcHJpbnRfdGFibGUoc3VidGFiKTsKKwkJfQorCX0KKworCXNjb2xzX2ZyZWVfaXRlcihpdHIpOworCXJldHVybiAwOworCit9CisKK3N0YXRpYyBpbnQgcHJpbnRfdGFibGUoc3RydWN0IGxzaXBjX2NvbnRyb2wgKmN0bCwgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlpZiAoY3RsLT5vdXRtb2RlID09IE9VVF9QUkVUVFkpCisJCXByaW50X3ByZXR0eSh0Yik7CisJZWxzZQorCQlzY29sc19wcmludF90YWJsZSh0Yik7CisJcmV0dXJuIDA7Cit9CitzdGF0aWMgc3RydWN0IHRpbWV2YWwgbm93OworCitzdGF0aWMgY2hhciAqbWFrZV90aW1lKGludCBtb2RlLCB0aW1lX3QgdGltZSkKK3sKKwljaGFyIGJ1Zls2NF0gPSB7MH07CisKKwlzd2l0Y2gobW9kZSkgeworCWNhc2UgVElNRV9GVUxMOgorCXsKKwkJc3RydWN0IHRtIHRtOworCQljaGFyICpzOworCisJCWxvY2FsdGltZV9yKCZ0aW1lLCAmdG0pOworCQlhc2N0aW1lX3IoJnRtLCBidWYpOworCQlpZiAoKihzID0gYnVmICsgc3RybGVuKGJ1ZikgLSAxKSA9PSAnXG4nKQorCQkJKnMgPSAnXDAnOworCQlicmVhazsKKwl9CisJY2FzZSBUSU1FX1NIT1JUOgorCQlzdHJ0aW1lX3Nob3J0KCZ0aW1lLCAmbm93LCAwLCBidWYsIHNpemVvZihidWYpKTsKKwkJYnJlYWs7CisJY2FzZSBUSU1FX0lTTzoKKwkJc3RydGltZV9pc28oJnRpbWUsIElTT19USU1FU1RBTVBfVCwgYnVmLCBzaXplb2YoYnVmKSk7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCB0aW1lIHR5cGUiKSk7CisJfQorCXJldHVybiB4c3RyZHVwKGJ1Zik7Cit9CisKK3N0YXRpYyB2b2lkIGdsb2JhbF9zZXRfZGF0YShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBjb25zdCBjaGFyICpyZXNvdXJjZSwKKwkJCSAgICBjb25zdCBjaGFyICpkZXNjLCB1aW50bWF4X3QgdXNlZCwgdWludG1heF90IGxpbWl0LCBpbnQgdXNhZ2UpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXNpemVfdCBuOworCisJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZSh0YiwgTlVMTCk7CisJaWYgKCFsbikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBsaW5lIikpOworCisJZm9yIChuID0gMDsgbiA8IG5jb2x1bW5zOyBuKyspIHsKKwkJaW50IHJjID0gMDsKKwkJY2hhciAqYXJnID0gTlVMTDsKKworCQlzd2l0Y2ggKGdldF9jb2x1bW5faWQobikpIHsKKwkJY2FzZSBDT0xfUkVTT1VSQ0U6CisJCQlyYyA9IHNjb2xzX2xpbmVfc2V0X2RhdGEobG4sIG4sIHJlc291cmNlKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9ERVNDOgorCQkJcmMgPSBzY29sc19saW5lX3NldF9kYXRhKGxuLCBuLCBkZXNjKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9VU0VEOgorCQkJaWYgKHVzYWdlKSB7CisJCQkJeGFzcHJpbnRmKCZhcmcsICIlanUiLCB1c2VkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCX0gZWxzZQorCQkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgIi0iKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9VU0VQRVJDOgorCQkJaWYgKHVzYWdlKSB7CisJCQkJeGFzcHJpbnRmKCZhcmcsICIlMi4yZiUlIiwgKGRvdWJsZSkgdXNlZCAvIGxpbWl0ICogMTAwKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCX0gZWxzZQorCQkJCXJjID0gc2NvbHNfbGluZV9zZXRfZGF0YShsbiwgbiwgIi0iKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9MSU1JVDoKKwkJCXhhc3ByaW50ZigmYXJnLCAiJWp1IiwgbGltaXQpOworCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQlicmVhazsKKwkJfQorCisJCWlmIChyYyAhPSAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIHNldHVwX3NlbV9lbGVtZW50c19jb2x1bW5zKHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJc2NvbHNfdGFibGVfc2V0X25hbWUodGIsICJlbGVtZW50cyIpOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIlNFTU5VTSIsIDAsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZXJyX29vbSgpOworCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgIlZBTFVFIiwgMCwgU0NPTFNfRkxfUklHSFQpKQorCQllcnJfb29tKCk7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiTkNPVU5UIiwgMCwgU0NPTFNfRkxfUklHSFQpKQorCQllcnJfb29tKCk7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiWkNPVU5UIiwgMCwgU0NPTFNfRkxfUklHSFQpKQorCQllcnJfb29tKCk7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiUElEIiwgMCwgU0NPTFNfRkxfUklHSFQpKQorCQllcnJfb29tKCk7CisJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRiLCAiQ09NTUFORCIsIDAsIFNDT0xTX0ZMX1JJR0hUKSkKKwkJZXJyX29vbSgpOworfQorCitzdGF0aWMgdm9pZCBkb19zZW0oaW50IGlkLCBzdHJ1Y3QgbHNpcGNfY29udHJvbCAqY3RsLCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbjsKKwlzdHJ1Y3QgcGFzc3dkICpwdyA9IE5VTEwsICpjcHcgPSBOVUxMOworCXN0cnVjdCBncm91cCAqZ3IgPSBOVUxMLCAqY2dyID0gTlVMTDsKKwlzdHJ1Y3Qgc2VtX2RhdGEgKnNlbWRzLCAqc2VtZHNwOworCWNoYXIgKmFyZyA9IE5VTEw7CisKKwlzY29sc190YWJsZV9zZXRfbmFtZSh0YiwgInNlbWFwaG9yZXMiKTsKKworCWlmIChpcGNfc2VtX2dldF9pbmZvKGlkLCAmc2VtZHMpIDwgMSkgeworCQlpZiAoaWQgPiAtMSkKKwkJCXdhcm54KF8oImlkICVkIG5vdCBmb3VuZCIpLCBpZCk7CisJCXJldHVybjsKKwl9CisJZm9yIChzZW1kc3AgPSBzZW1kczsgIHNlbWRzcC0+bmV4dCAhPSBOVUxMIHx8IGlkID4gLTE7IHNlbWRzcCA9IHNlbWRzcC0+bmV4dCkgeworCQlzaXplX3QgbjsKKworCQlsbiA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRiLCBOVUxMKTsKKwkJaWYgKCFsbikKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCQlmb3IgKG4gPSAwOyBuIDwgbmNvbHVtbnM7IG4rKykgeworCQkJaW50IHJjID0gMDsKKwkJCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChuKSkgeworCQkJY2FzZSBDT0xfS0VZOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiMHglMDh4IixzZW1kc3AtPnNlbV9wZXJtLmtleSk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9JRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiVkIixzZW1kc3AtPnNlbV9wZXJtLmlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX09XTkVSOgorCQkJCWFyZyA9IGdldF91c2VybmFtZSgmcHcsIHNlbWRzcC0+c2VtX3Blcm0udWlkKTsKKwkJCQlpZiAoIWFyZykKKwkJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIHNlbWRzcC0+c2VtX3Blcm0udWlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1BFUk1TOgorCQkJCWlmIChjdGwtPm51bXBlcm1zKQorCQkJCQl4YXNwcmludGYoJmFyZywgIiUjbyIsIHNlbWRzcC0+c2VtX3Blcm0ubW9kZSAmIDA3NzcpOworCQkJCWVsc2UgeworCQkJCQlhcmcgPSB4bWFsbG9jKDExKTsKKwkJCQkJeHN0cm1vZGUoc2VtZHNwLT5zZW1fcGVybS5tb2RlICYgMDc3NywgYXJnKTsKKwkJCQl9CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DVUlEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBzZW1kc3AtPnNlbV9wZXJtLmN1aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfQ1VTRVI6CisJCQkJYXJnID0gZ2V0X3VzZXJuYW1lKCZjcHcsIHNlbWRzcC0+c2VtX3Blcm0uY3VpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DR0lEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBzZW1kc3AtPnNlbV9wZXJtLmNnaWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfQ0dST1VQOgorCQkJCWFyZyA9IGdldF9ncm91cG5hbWUoJmNnciwgc2VtZHNwLT5zZW1fcGVybS5jZ2lkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1VJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1Iiwgc2VtZHNwLT5zZW1fcGVybS51aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfVVNFUjoKKwkJCQlhcmcgPSBnZXRfdXNlcm5hbWUoJnB3LCBzZW1kc3AtPnNlbV9wZXJtLnVpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9HSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIHNlbWRzcC0+c2VtX3Blcm0uZ2lkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0dST1VQOgorCQkJCWFyZyA9IGdldF9ncm91cG5hbWUoJmdyLCBzZW1kc3AtPnNlbV9wZXJtLmdpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DVElNRToKKwkJCQlpZiAoc2VtZHNwLT5zZW1fY3RpbWUgIT0gMCkgeworCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQkJCQltYWtlX3RpbWUoY3RsLT50aW1lX21vZGUsCisJCQkJCQkJICAodGltZV90KXNlbWRzcC0+c2VtX2N0aW1lKSk7CisJCQkJfQorCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfTlNFTVM6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIlanUiLCBzZW1kc3AtPnNlbV9uc2Vtcyk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9PVElNRToKKwkJCQlpZiAoc2VtZHNwLT5zZW1fb3RpbWUgIT0gMCkgeworCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQkJCQltYWtlX3RpbWUoY3RsLT50aW1lX21vZGUsCisJCQkJCQkJICAodGltZV90KXNlbWRzcC0+c2VtX290aW1lKSk7CisJCQkJfQorCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHJjICE9IDApCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFkZCBvdXRwdXQgZGF0YSIpKTsKKwkJCWFyZyA9IE5VTEw7CisJCX0KKworCQlpZiAoaWQgPiAtMSAmJiBzZW1kcy0+c2VtX25zZW1zKSB7CisJCQkvKiBDcmVhdGUgZXh0cmEgdGFibGUgd2l0aCBJRCBzcGVjaWZpYyBzZW1hcGhvcmUgZWxlbWVudHMgKi8KKwkJCXN0cnVjdCBsaWJzY29sc190YWJsZSAqc3ViID0gbmV3X3RhYmxlKGN0bCk7CisJCQlzaXplX3QgaTsKKwkJCWludCByYyA9IDA7CisKKwkJCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHN1YiwgMCk7CisJCQlzZXR1cF9zZW1fZWxlbWVudHNfY29sdW1ucyhzdWIpOworCisJCQlmb3IgKGkgPSAwOyBpIDwgc2VtZHMtPnNlbV9uc2VtczsgaSsrKSB7CisJCQkJc3RydWN0IHNlbV9lbGVtICplID0gJnNlbWRzLT5lbGVtZW50c1tpXTsKKwkJCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqc2xuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUoc3ViLCBOVUxMKTsKKworCQkJCWlmICghc2xuKQorCQkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiKSk7CisKKwkJCQkvKiBTRU1OVU0gKi8KKwkJCQl4YXNwcmludGYoJmFyZywgIiV6dSIsIGkpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKHNsbiwgMCwgYXJnKTsKKwkJCQlpZiAocmMpCisJCQkJCWJyZWFrOworCisJCQkJLyogVkFMVUUgKi8KKwkJCQl4YXNwcmludGYoJmFyZywgIiVkIiwgZS0+c2VtdmFsKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShzbG4sIDEsIGFyZyk7CisJCQkJaWYgKHJjKQorCQkJCQlicmVhazsKKworCQkJCS8qIE5DT1VOVCAqLworCQkJCXhhc3ByaW50ZigmYXJnLCAiJWQiLCBlLT5uY291bnQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKHNsbiwgMiwgYXJnKTsKKwkJCQlpZiAocmMpCisJCQkJCWJyZWFrOworCisJCQkJLyogWkNPVU5UICovCisJCQkJeGFzcHJpbnRmKCZhcmcsICIlZCIsIGUtPnpjb3VudCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEoc2xuLCAzLCBhcmcpOworCQkJCWlmIChyYykKKwkJCQkJYnJlYWs7CisKKwkJCQkvKiBQSUQgKi8KKwkJCQl4YXNwcmludGYoJmFyZywgIiVkIiwgZS0+cGlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShzbG4sIDQsIGFyZyk7CisJCQkJaWYgKHJjKQorCQkJCQlicmVhazsKKworCQkJCS8qIENPTU1BTkQgKi8KKwkJCQlhcmcgPSBwcm9jX2dldF9jb21tYW5kKGUtPnBpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEoc2xuLCA1LCBhcmcpOworCQkJCWlmIChyYykKKwkJCQkJYnJlYWs7CisJCQl9CisKKwkJCWlmIChyYyAhPSAwKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBzZXQgZGF0YSIpKTsKKworCQkJc2NvbHNfbGluZV9zZXRfdXNlcmRhdGEobG4sICh2b2lkICopc3ViKTsKKwkJCWJyZWFrOworCQl9CisJfQorCWlwY19zZW1fZnJlZV9pbmZvKHNlbWRzKTsKK30KKworc3RhdGljIHZvaWQgZG9fc2VtX2dsb2JhbChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBzZW1fZGF0YSAqc2VtZHMsICpzZW1kc3A7CisJc3RydWN0IGlwY19saW1pdHMgbGltOworCWludCBuc2VtcyA9IDAsIG5zZXRzID0gMDsKKworCWlwY19zZW1fZ2V0X2xpbWl0cygmbGltKTsKKworCWlmIChpcGNfc2VtX2dldF9pbmZvKC0xLCAmc2VtZHMpID4gMCkgeworCQlmb3IgKHNlbWRzcCA9IHNlbWRzOyBzZW1kc3AtPm5leHQgIT0gTlVMTDsgc2VtZHNwID0gc2VtZHNwLT5uZXh0KSB7CisJCQkrK25zZXRzOworCQkJbnNlbXMgKz0gc2VtZHMtPnNlbV9uc2VtczsKKwkJfQorCQlpcGNfc2VtX2ZyZWVfaW5mbyhzZW1kcyk7CisJfQorCisJZ2xvYmFsX3NldF9kYXRhKHRiLCAiU0VNTU5JIiwgXygiTnVtYmVyIG9mIHNlbWFwaG9yZSBpZGVudGlmaWVycyIpLCBuc2V0cywgbGltLnNlbW1uaSwgMSk7CisJZ2xvYmFsX3NldF9kYXRhKHRiLCAiU0VNTU5TIiwgXygiVG90YWwgbnVtYmVyIG9mIHNlbWFwaG9yZXMiKSwgbnNlbXMsIGxpbS5zZW1tbnMsIDEpOworCWdsb2JhbF9zZXRfZGF0YSh0YiwgIlNFTU1TTCIsIF8oIk1heCBzZW1hcGhvcmVzIHBlciBzZW1hcGhvcmUgc2V0LiIpLCAwLCBsaW0uc2VtbXNsLCAwKTsKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJTRU1PUE0iLCBfKCJNYXggbnVtYmVyIG9mIG9wZXJhdGlvbnMgcGVyIHNlbW9wKDIpIiksIDAsIGxpbS5zZW1vcG0sIDApOworCWdsb2JhbF9zZXRfZGF0YSh0YiwgIlNFTVZNWCIsIF8oIlNlbWFwaG9yZSBtYXggdmFsdWUiKSwgMCwgbGltLnNlbXZteCwgMCk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX21zZyhpbnQgaWQsIHN0cnVjdCBsc2lwY19jb250cm9sICpjdGwsIHN0cnVjdCBsaWJzY29sc190YWJsZSAqdGIpCit7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXN0cnVjdCBwYXNzd2QgKnB3ID0gTlVMTDsKKwlzdHJ1Y3QgZ3JvdXAgKmdyID0gTlVMTDsKKwlzdHJ1Y3QgbXNnX2RhdGEgKm1zZ2RzLCAqbXNnZHNwOworCWNoYXIgKmFyZyA9IE5VTEw7CisKKwlpZiAoaXBjX21zZ19nZXRfaW5mbyhpZCwgJm1zZ2RzKSA8IDEpIHsKKwkJaWYgKGlkID4gLTEpCisJCQl3YXJueChfKCJpZCAlZCBub3QgZm91bmQiKSwgaWQpOworCQlyZXR1cm47CisJfQorCXNjb2xzX3RhYmxlX3NldF9uYW1lKHRiLCAibWVzc2FnZXMiKTsKKworCWZvciAobXNnZHNwID0gbXNnZHM7IG1zZ2RzcC0+bmV4dCAhPSBOVUxMIHx8IGlkID4gLTEgOyBtc2dkc3AgPSBtc2dkc3AtPm5leHQpIHsKKwkJc2l6ZV90IG47CisJCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCisJCWlmICghbG4pCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiKSk7CisKKwkJLyogbm8gbmVlZCB0byBjYWxsIGdldHB3dWlkKCkgZm9yIHRoZSBzYW1lIHVzZXIgKi8KKwkJaWYgKCEocHcgJiYgcHctPnB3X3VpZCA9PSBtc2dkc3AtPm1zZ19wZXJtLnVpZCkpCisJCQlwdyA9IGdldHB3dWlkKG1zZ2RzcC0+bXNnX3Blcm0udWlkKTsKKworCQkvKiBubyBuZWVkIHRvIGNhbGwgZ2V0Z3JnaWQoKSBmb3IgdGhlIHNhbWUgdXNlciAqLworCQlpZiAoIShnciAmJiBnci0+Z3JfZ2lkID09IG1zZ2RzcC0+bXNnX3Blcm0uZ2lkKSkKKwkJCWdyID0gZ2V0Z3JnaWQobXNnZHNwLT5tc2dfcGVybS5naWQpOworCisJCWZvciAobiA9IDA7IG4gPCBuY29sdW1uczsgbisrKSB7CisJCQlpbnQgcmMgPSAwOworCisJCQlzd2l0Y2ggKGdldF9jb2x1bW5faWQobikpIHsKKwkJCWNhc2UgQ09MX0tFWToKKwkJCQl4YXNwcmludGYoJmFyZywgIjB4JTA4eCIsbXNnZHNwLT5tc2dfcGVybS5rZXkpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIlZCIsbXNnZHNwLT5tc2dfcGVybS5pZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9PV05FUjoKKwkJCQlhcmcgPSBnZXRfdXNlcm5hbWUoJnB3LCBtc2dkc3AtPm1zZ19wZXJtLnVpZCk7CisJCQkJaWYgKCFhcmcpCisJCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBtc2dkc3AtPm1zZ19wZXJtLnVpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9QRVJNUzoKKwkJCQlpZiAoY3RsLT5udW1wZXJtcykKKwkJCQkJeGFzcHJpbnRmKCZhcmcsICIlI28iLCBtc2dkc3AtPm1zZ19wZXJtLm1vZGUgJiAwNzc3KTsKKwkJCQllbHNlIHsKKwkJCQkJYXJnID0geG1hbGxvYygxMSk7CisJCQkJCXhzdHJtb2RlKG1zZ2RzcC0+bXNnX3Blcm0ubW9kZSAmIDA3NzcsIGFyZyk7CisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NVSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIG1zZ2RzcC0+bXNnX3Blcm0uY3VpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DVVNFUjoKKwkJCQlhcmcgPSBnZXRfdXNlcm5hbWUoJnB3LCBtc2dkc3AtPm1zZ19wZXJtLmN1aWQpOworCQkJCWlmIChhcmcpCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfQ0dJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1IiwgbXNnZHNwLT5tc2dfcGVybS5jdWlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NHUk9VUDoKKwkJCQlhcmcgPSBnZXRfZ3JvdXBuYW1lKCZnciwgbXNnZHNwLT5tc2dfcGVybS5jZ2lkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1VJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1IiwgbXNnZHNwLT5tc2dfcGVybS51aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfVVNFUjoKKwkJCQlhcmcgPSBnZXRfdXNlcm5hbWUoJnB3LCBtc2dkc3AtPm1zZ19wZXJtLnVpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9HSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIG1zZ2RzcC0+bXNnX3Blcm0uZ2lkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0dST1VQOgorCQkJCWFyZyA9IGdldF9ncm91cG5hbWUoJmdyLG1zZ2RzcC0+bXNnX3Blcm0uZ2lkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NUSU1FOgorCQkJCWlmIChtc2dkc3AtPnFfY3RpbWUgIT0gMCkKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sCisJCQkJCQltYWtlX3RpbWUoY3RsLT50aW1lX21vZGUsCisJCQkJCQkJICAodGltZV90KW1zZ2RzcC0+cV9jdGltZSkpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfVVNFREJZVEVTOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJWp1IiwgbXNnZHNwLT5xX2NieXRlcyk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9NU0dTOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJWp1IiwgbXNnZHNwLT5xX3FudW0pOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfU0VORDoKKwkJCQlpZiAobXNnZHNwLT5xX3N0aW1lICE9IDApCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLAorCQkJCQkJbWFrZV90aW1lKGN0bC0+dGltZV9tb2RlLAorCQkJCQkJCSAgKHRpbWVfdCltc2dkc3AtPnFfc3RpbWUpKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1JFQ1Y6CisJCQkJaWYgKG1zZ2RzcC0+cV9ydGltZSAhPSAwKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQkJCW1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSwKKwkJCQkJCQkgICh0aW1lX3QpbXNnZHNwLT5xX3J0aW1lKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9MU1BJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1IiwgbXNnZHNwLT5xX2xzcGlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0xSUElEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBtc2dkc3AtPnFfbHJwaWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHJjICE9IDApCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCBkYXRhIikpOworCQkJYXJnID0gTlVMTDsKKwkJfQorCQlpZiAoaWQgPiAtMSkKKwkJCWJyZWFrOworCX0KKwlpcGNfbXNnX2ZyZWVfaW5mbyhtc2dkcyk7Cit9CisKKworc3RhdGljIHZvaWQgZG9fbXNnX2dsb2JhbChzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiKQoreworCXN0cnVjdCBtc2dfZGF0YSAqbXNnZHMsICptc2dkc3A7CisJc3RydWN0IGlwY19saW1pdHMgbGltOworCWludCBtc2dxcyA9IDA7CisKKwlpcGNfbXNnX2dldF9saW1pdHMoJmxpbSk7CisKKwkvKiBjb3VudCBudW1iZXIgb2YgdXNlZCBxdWV1ZXMgKi8KKwlpZiAoaXBjX21zZ19nZXRfaW5mbygtMSwgJm1zZ2RzKSA+IDApIHsKKwkJZm9yIChtc2dkc3AgPSBtc2dkczsgbXNnZHNwLT5uZXh0ICE9IE5VTEw7IG1zZ2RzcCA9IG1zZ2RzcC0+bmV4dCkKKwkJCSsrbXNncXM7CisJCWlwY19tc2dfZnJlZV9pbmZvKG1zZ2RzKTsKKwl9CisKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJNU0dNTkkiLCBfKCJOdW1iZXIgb2YgbWVzc2FnZSBxdWV1ZXMiKSwgbXNncXMsIGxpbS5tc2dtbmksIDEpOworCWdsb2JhbF9zZXRfZGF0YSh0YiwgIk1TR01BWCIsIF8oIk1heCBzaXplIG9mIG1lc3NhZ2UgKGJ5dGVzKSIpLAkwLCBsaW0ubXNnbWF4LCAwKTsKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJNU0dNTkIiLCBfKCJEZWZhdWx0IG1heCBzaXplIG9mIHF1ZXVlIChieXRlcykiKSwgMCwgbGltLm1zZ21uYiwgMCk7Cit9CisKKworc3RhdGljIHZvaWQgZG9fc2htKGludCBpZCwgc3RydWN0IGxzaXBjX2NvbnRyb2wgKmN0bCwgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJc3RydWN0IHBhc3N3ZCAqcHcgPSBOVUxMOworCXN0cnVjdCBncm91cCAqZ3IgPSBOVUxMOworCXN0cnVjdCBzaG1fZGF0YSAqc2htZHMsICpzaG1kc3A7CisJY2hhciAqYXJnID0gTlVMTDsKKworCWlmIChpcGNfc2htX2dldF9pbmZvKGlkLCAmc2htZHMpIDwgMSkgeworCQlpZiAoaWQgPiAtMSkKKwkJCXdhcm54KF8oImlkICVkIG5vdCBmb3VuZCIpLCBpZCk7CisJCXJldHVybjsKKwl9CisKKwlzY29sc190YWJsZV9zZXRfbmFtZSh0YiwgInNoYXJlZG1lbW9yeSIpOworCisJZm9yIChzaG1kc3AgPSBzaG1kczsgc2htZHNwLT5uZXh0ICE9IE5VTEwgfHwgaWQgPiAtMSA7IHNobWRzcCA9IHNobWRzcC0+bmV4dCkgeworCQlzaXplX3QgbjsKKwkJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZSh0YiwgTlVMTCk7CisKKwkJaWYgKCFsbikKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCQlmb3IgKG4gPSAwOyBuIDwgbmNvbHVtbnM7IG4rKykgeworCQkJaW50IHJjID0gMDsKKworCQkJc3dpdGNoIChnZXRfY29sdW1uX2lkKG4pKSB7CisJCQljYXNlIENPTF9LRVk6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIweCUwOHgiLHNobWRzcC0+c2htX3Blcm0ua2V5KTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0lEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJWQiLHNobWRzcC0+c2htX3Blcm0uaWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfT1dORVI6CisJCQkJYXJnID0gZ2V0X3VzZXJuYW1lKCZwdywgc2htZHNwLT5zaG1fcGVybS51aWQpOworCQkJCWlmICghYXJnKQorCQkJCQl4YXNwcmludGYoJmFyZywgIiV1Iiwgc2htZHNwLT5zaG1fcGVybS51aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfUEVSTVM6CisJCQkJaWYgKGN0bC0+bnVtcGVybXMpCisJCQkJCXhhc3ByaW50ZigmYXJnLCAiJSNvIiwgc2htZHNwLT5zaG1fcGVybS5tb2RlICYgMDc3Nyk7CisJCQkJZWxzZSB7CisJCQkJCWFyZyA9IHhtYWxsb2MoMTEpOworCQkJCQl4c3RybW9kZShzaG1kc3AtPnNobV9wZXJtLm1vZGUgJiAwNzc3LCBhcmcpOworCQkJCX0KKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NVSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIHNobWRzcC0+c2htX3Blcm0uY3VpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DVVNFUjoKKwkJCQlhcmcgPSBnZXRfdXNlcm5hbWUoJnB3LCBzaG1kc3AtPnNobV9wZXJtLmN1aWQpOworCQkJCWlmIChhcmcpCisJCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfQ0dJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1Iiwgc2htZHNwLT5zaG1fcGVybS5jdWlkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0NHUk9VUDoKKwkJCQlhcmcgPSBnZXRfZ3JvdXBuYW1lKCZnciwgc2htZHNwLT5zaG1fcGVybS5jZ2lkKTsKKwkJCQlpZiAoYXJnKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1VJRDoKKwkJCQl4YXNwcmludGYoJmFyZywgIiV1Iiwgc2htZHNwLT5zaG1fcGVybS51aWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfVVNFUjoKKwkJCQlhcmcgPSBnZXRfdXNlcm5hbWUoJnB3LCBzaG1kc3AtPnNobV9wZXJtLnVpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9HSUQ6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIldSIsIHNobWRzcC0+c2htX3Blcm0uZ2lkKTsKKwkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX0dST1VQOgorCQkJCWFyZyA9IGdldF9ncm91cG5hbWUoJmdyLCBzaG1kc3AtPnNobV9wZXJtLmdpZCk7CisJCQkJaWYgKGFyZykKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DVElNRToKKwkJCQlpZiAoc2htZHNwLT5zaG1fY3RpbSAhPSAwKQorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwKKwkJCQkJCW1ha2VfdGltZShjdGwtPnRpbWVfbW9kZSwKKwkJCQkJCQkgICh0aW1lX3Qpc2htZHNwLT5zaG1fY3RpbSkpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfU0laRToKKwkJCQlpZiAoY3RsLT5ieXRlcykKKwkJCQkJeGFzcHJpbnRmKCZhcmcsICIlanUiLCBzaG1kc3AtPnNobV9zZWdzeik7CisJCQkJZWxzZQorCQkJCQlhcmcgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBzaG1kc3AtPnNobV9zZWdzeik7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9OQVRUQ0g6CisJCQkJeGFzcHJpbnRmKCZhcmcsICIlanUiLCBzaG1kc3AtPnNobV9uYXR0Y2gpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJY2FzZSBDT0xfU1RBVFVTOiB7CisJCQkJCWludCBjb21tYSA9IDA7CisJCQkJCXNpemVfdCBvZmZ0ID0gMDsKKworCQkJCQlmcmVlKGFyZyk7CisJCQkJCWFyZyA9IHhjYWxsb2MoMSwgc2l6ZW9mKGNoYXIpICogc3RybGVuKF8oImRlc3QiKSkKKwkJCQkJCQkrIHN0cmxlbihfKCJsb2NrZWQiKSkKKwkJCQkJCQkrIHN0cmxlbihfKCJodWdldGxiIikpCisJCQkJCQkJKyBzdHJsZW4oXygibm9yZXNlcnZlIikpICsgNCk7CisjaWZkZWYgU0hNX0RFU1QKKwkJCQkJaWYgKHNobWRzcC0+c2htX3Blcm0ubW9kZSAmIFNITV9ERVNUKSB7CisJCQkJCQlvZmZ0ICs9IHNwcmludGYoYXJnLCAiJXMiLCBfKCJkZXN0IikpOworCQkJCQkJY29tbWErKzsKKwkJCQkJfQorI2VuZGlmCisjaWZkZWYgU0hNX0xPQ0tFRAorCQkJCQlpZiAoc2htZHNwLT5zaG1fcGVybS5tb2RlICYgU0hNX0xPQ0tFRCkgeworCQkJCQkJaWYgKGNvbW1hKQorCQkJCQkJCWFyZ1tvZmZ0KytdID0gJywnOworCQkJCQkJb2ZmdCArPSBzcHJpbnRmKGFyZyArIG9mZnQsICIlcyIsIF8oImxvY2tlZCIpKTsKKwkJCQkJfQorI2VuZGlmCisjaWZkZWYgU0hNX0hVR0VUTEIKKwkJCQkJaWYgKHNobWRzcC0+c2htX3Blcm0ubW9kZSAmIFNITV9IVUdFVExCKSB7CisJCQkJCQlpZiAoY29tbWEpCisJCQkJCQkJYXJnW29mZnQrK10gPSAnLCc7CisJCQkJCQlvZmZ0ICs9IHNwcmludGYoYXJnICsgb2ZmdCwgIiVzIiwgXygiaHVnZXRsYiIpKTsKKwkJCQkJfQorI2VuZGlmCisjaWZkZWYgU0hNX05PUkVTRVJWRQorCQkJCQlpZiAoc2htZHNwLT5zaG1fcGVybS5tb2RlICYgU0hNX05PUkVTRVJWRSkgeworCQkJCQkJaWYgKGNvbW1hKQorCQkJCQkJCWFyZ1tvZmZ0KytdID0gJywnOworCQkJCQkJc3ByaW50ZihhcmcgKyBvZmZ0LCAiJXMiLCBfKCJub3Jlc2VydmUiKSk7CisJCQkJCX0KKyNlbmRpZgorCQkJCQlyYyA9IHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgYXJnKTsKKwkJCQl9CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9BVFRBQ0g6CisJCQkJaWYgKHNobWRzcC0+c2htX2F0aW0gIT0gMCkKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sCisJCQkJCQkJbWFrZV90aW1lKGN0bC0+dGltZV9tb2RlLAorCQkJCQkJCSAgKHRpbWVfdClzaG1kc3AtPnNobV9hdGltKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9ERVRBQ0g6CisJCQkJaWYgKHNobWRzcC0+c2htX2R0aW0gIT0gMCkKKwkJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sCisJCQkJCQkJbWFrZV90aW1lKGN0bC0+dGltZV9tb2RlLAorCQkJCQkJCSAgKHRpbWVfdClzaG1kc3AtPnNobV9kdGltKSk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DUElEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBzaG1kc3AtPnNobV9jcHJpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9MUElEOgorCQkJCXhhc3ByaW50ZigmYXJnLCAiJXUiLCBzaG1kc3AtPnNobV9scHJpZCk7CisJCQkJcmMgPSBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIG4sIGFyZyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENPTF9DT01NQU5EOgorCQkJCWFyZyA9IHByb2NfZ2V0X2NvbW1hbmQoc2htZHNwLT5zaG1fY3ByaWQpOworCQkJCXJjID0gc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxuLCBuLCBhcmcpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKHJjICE9IDApCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCBkYXRhIikpOworCQkJYXJnID0gTlVMTDsKKwkJfQorCQlpZiAoaWQgPiAtMSkKKwkJCWJyZWFrOworCX0KKwlpcGNfc2htX2ZyZWVfaW5mbyhzaG1kcyk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3NobV9nbG9iYWwoc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YikKK3sKKwlzdHJ1Y3Qgc2htX2RhdGEgKnNobWRzLCAqc2htZHNwOworCXVpbnQ2NF90IG5zZWdzID0gMCwgc3VtX3NlZ3N6ID0gMDsKKwlzdHJ1Y3QgaXBjX2xpbWl0cyBsaW07CisKKwlpcGNfc2htX2dldF9saW1pdHMoJmxpbSk7CisKKwlpZiAoaXBjX3NobV9nZXRfaW5mbygtMSwgJnNobWRzKSA+IDApIHsKKwkJZm9yIChzaG1kc3AgPSBzaG1kczsgc2htZHNwLT5uZXh0ICE9IE5VTEw7IHNobWRzcCA9IHNobWRzcC0+bmV4dCkgeworCQkJKytuc2VnczsKKwkJCXN1bV9zZWdzeiArPSBzaG1kc3AtPnNobV9zZWdzejsKKwkJfQorCQlpcGNfc2htX2ZyZWVfaW5mbyhzaG1kcyk7CisJfQorCisJZ2xvYmFsX3NldF9kYXRhKHRiLCAiU0hNTU5JIiwgXygiU2hhcmVkIG1lbW9yeSBzZWdtZW50cyIpLCBuc2VncywgbGltLnNobW1uaSwgMSk7CisJZ2xvYmFsX3NldF9kYXRhKHRiLCAiU0hNQUxMIiwgXygiU2hhcmVkIG1lbW9yeSBwYWdlcyIpLCBzdW1fc2Vnc3ogLyBnZXRwYWdlc2l6ZSgpLCBsaW0uc2htYWxsLCAxKTsKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJTSE1NQVgiLCBfKCJNYXggc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIpLCAwLCBsaW0uc2htbWF4LCAwKTsKKwlnbG9iYWxfc2V0X2RhdGEodGIsICJTSE1NSU4iLCBfKCJNaW4gc2l6ZSBvZiBzaGFyZWQgbWVtb3J5IHNlZ21lbnQgKGJ5dGVzKSIpLCAwLCBsaW0uc2htbWluLCAwKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwlpbnQgb3B0LCBtc2cgPSAwLCBzZW0gPSAwLCBzaG0gPSAwLCBpZCA9IC0xOworCWludCBzaG93X3RpbWUgPSAwLCBzaG93X2NyZWF0ID0gMCwgZ2xvYmFsID0gMDsKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgbHNpcGNfY29udHJvbCAqY3RsID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGxzaXBjX2NvbnRyb2wpKTsKKwlzdGF0aWMgc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YjsKKwljaGFyICpvdXRhcmcgPSBOVUxMOworCisJLyogbG9uZyBvbmx5IG9wdGlvbnMuICovCisJZW51bSB7CisJCU9QVF9OT1RSVU5DID0gQ0hBUl9NQVggKyAxLAorCQlPUFRfTk9IRUFELAorCQlPUFRfVElNRV9GTVQKKwl9OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAiYnl0ZXMiLCAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgIE5VTEwsICdiJyB9LAorCQl7ICJjcmVhdG9yIiwgICAgICAgIG5vX2FyZ3VtZW50LAlOVUxMLCAnYycgfSwKKwkJeyAiZXhwb3J0IiwgICAgICAgICBub19hcmd1bWVudCwJTlVMTCwgJ2UnIH0sCisJCXsgImdsb2JhbCIsICAgICAgICAgbm9fYXJndW1lbnQsCU5VTEwsICdnJyB9LAorCQl7ICJoZWxwIiwgICAgICAgICAgIG5vX2FyZ3VtZW50LAlOVUxMLCAnaCcgfSwKKwkJeyAiaWQiLCAgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwgJ2knIH0sCisJCXsgImpzb24iLCAgICAgICAgICAgbm9fYXJndW1lbnQsCU5VTEwsICdKJyB9LAorCQl7ICJsaXN0IiwgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAgTlVMTCwgJ2wnIH0sCisJCXsgIm5ld2xpbmUiLCAgICAgICAgbm9fYXJndW1lbnQsCU5VTEwsICduJyB9LAorCQl7ICJub2hlYWRpbmdzIiwgICAgIG5vX2FyZ3VtZW50LAlOVUxMLCBPUFRfTk9IRUFEIH0sCisJCXsgIm5vdHJ1bmNhdGUiLCAgICAgbm9fYXJndW1lbnQsCU5VTEwsIE9QVF9OT1RSVU5DIH0sCisJCXsgIm51bWVyaWMtcGVybXMiLCAgbm9fYXJndW1lbnQsCU5VTEwsICdQJyB9LAorCQl7ICJvdXRwdXQiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAlOVUxMLCAnbycgfSwKKwkJeyAicXVldWVzIiwgICAgICAgICBub19hcmd1bWVudCwJTlVMTCwgJ3EnIH0sCisJCXsgInJhdyIsICAgICAgICAgICAgbm9fYXJndW1lbnQsCU5VTEwsICdyJyB9LAorCQl7ICJzZW1hcGhvcmVzIiwgICAgIG5vX2FyZ3VtZW50LAlOVUxMLCAncycgfSwKKwkJeyAic2htZW1zIiwgICAgICAgICBub19hcmd1bWVudCwJTlVMTCwgJ20nIH0sCisJCXsgInRpbWUiLCAgICAgICAgICAgbm9fYXJndW1lbnQsCU5VTEwsICd0JyB9LAorCQl7ICJ0aW1lLWZvcm1hdCIsICAgIHJlcXVpcmVkX2FyZ3VtZW50LAlOVUxMLCBPUFRfVElNRV9GTVQgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgICBub19hcmd1bWVudCwJTlVMTCwgJ1YnIH0sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsJLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdKJywgJ2UnLCAnbCcsICduJywgJ3InIH0sCisJCXsgJ2cnLCAnaScgfSwKKwkJeyAnYycsICdvJywgJ3QnIH0sCisJCXsgJ20nLCAncScsICdzJyB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWN0bC0+dGltZV9tb2RlID0gMDsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwl3aGlsZSAoKG9wdCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJiY2VnaGk6Smxtbm86UHFyc3RWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhvcHQsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICdiJzoKKwkJCWN0bC0+Ynl0ZXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2knOgorCQkJaWQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgSVBDIGlkZW50aWZpZXIiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQljdGwtPm91dG1vZGUgPSBPVVRfRVhQT1JUOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJY3RsLT5vdXRtb2RlID0gT1VUX1JBVzsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdnJzoKKwkJCWdsb2JhbCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncSc6CisJCQltc2cgPSAxOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfS0VZKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0lEKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1BFUk1TKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX09XTkVSKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1VTRURCWVRFUyk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9NU0dTKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0xTUElEKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0xSUElEKTsKKwkJCUxPV0VSID0gQ09MREVTQ19JRFhfTVNHX0ZJUlNUOworCQkJVVBQRVIgPSBDT0xERVNDX0lEWF9NU0dfTEFTVDsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWN0bC0+b3V0bW9kZSA9IE9VVF9MSVNUOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJc2htID0gMTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0tFWSk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9JRCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9QRVJNUyk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9PV05FUik7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9TSVpFKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX05BVFRDSCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9TVEFUVVMpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfQ1RJTUUpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfQ1BJRCk7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9MUElEKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0NPTU1BTkQpOworCQkJTE9XRVIgPSBDT0xERVNDX0lEWF9TSE1fRklSU1Q7CisJCQlVUFBFUiA9IENPTERFU0NfSURYX1NITV9MQVNUOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJY3RsLT5vdXRtb2RlID0gT1VUX05FV0xJTkU7CisJCQlicmVhazsKKwkJY2FzZSAnUCc6CisJCQljdGwtPm51bXBlcm1zID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNlbSA9IDE7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9LRVkpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfSUQpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUEVSTVMpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfT1dORVIpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfTlNFTVMpOworCQkJTE9XRVIgPSBDT0xERVNDX0lEWF9TRU1fRklSU1Q7CisJCQlVUFBFUiA9IENPTERFU0NfSURYX1NFTV9MQVNUOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX05PVFJVTkM6CisJCQljdGwtPm5vdHJ1bmMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX05PSEVBRDoKKwkJCWN0bC0+bm9oZWFkaW5ncyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfVElNRV9GTVQ6CisJCQljdGwtPnRpbWVfbW9kZSA9IHBhcnNlX3RpbWVfbW9kZShvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ0onOgorCQkJY3RsLT5vdXRtb2RlID0gT1VUX0pTT047CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQlzaG93X3RpbWUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJc2hvd19jcmVhdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCS8qIGRlZmF1bHQgaXMgZ2xvYmFsICovCisJaWYgKG1zZyArIHNobSArIHNlbSA9PSAwKSB7CisJCW1zZyA9IHNobSA9IHNlbSA9IGdsb2JhbCA9IDE7CisJCWlmIChzaG93X3RpbWUgfHwgc2hvd19jcmVhdCB8fCBpZCAhPSAtMSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCItLWdsb2JhbCBpcyBtdXR1YWxseSBleGNsdXNpdmUgd2l0aCAtLWNyZWF0b3IsIC0taWQgYW5kIC0tdGltZSIpKTsKKwl9CisJaWYgKGdsb2JhbCkgeworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9SRVNPVVJDRSk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0RFU0MpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9MSU1JVCk7CisJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1VTRUQpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9VU0VQRVJDKTsKKwkJTE9XRVIgPSBDT0xERVNDX0lEWF9TVU1fRklSU1Q7CisJCVVQUEVSID0gQ09MREVTQ19JRFhfU1VNX0xBU1Q7CisJfQorCisJLyogZGVmYXVsdCB0byBwcmV0dHktcHJpbnQgaWYgLS1pZCBzcGVjaWZpZWQgKi8KKwlpZiAoaWQgIT0gLTEgJiYgIWN0bC0+b3V0bW9kZSkKKwkJY3RsLT5vdXRtb2RlID0gT1VUX1BSRVRUWTsKKworCWlmICghY3RsLT50aW1lX21vZGUpCisJCWN0bC0+dGltZV9tb2RlID0gY3RsLT5vdXRtb2RlID09IE9VVF9QUkVUVFkgPyBUSU1FX0ZVTEwgOiBUSU1FX1NIT1JUOworCisJaWYgKGN0bC0+b3V0bW9kZSA9PSBPVVRfUFJFVFRZICYmICEob3B0YXJnIHx8IHNob3dfY3JlYXQgfHwgc2hvd190aW1lKSkgeworCQkvKiBhbGwgY29sdW1ucyBmb3IgbHNpcGMgLS08UkVTT1VSQ0U+IC0taWQgPElEPiAqLworCQlmb3IgKG5jb2x1bW5zID0gMCwgaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgaSsrKQorCQkJIGNvbHVtbnNbbmNvbHVtbnMrK10gPSBpOworCX0gZWxzZSB7CisJCWlmIChzaG93X2NyZWF0KSB7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9DVUlEKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0NHSUQpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfVUlEKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0dJRCk7CisJCX0KKwkJaWYgKG1zZyAmJiBzaG93X3RpbWUpIHsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX1NFTkQpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUkVDVik7CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9DVElNRSk7CisJCX0KKwkJaWYgKHNobSAmJiBzaG93X3RpbWUpIHsKKwkJCS8qIGtlZXAgIkNPTU1BTkQiIGFzIGxhc3QgY29sdW1uICovCisJCQlzaXplX3QgY21kID0gY29sdW1uc1tuY29sdW1ucyAtIDFdID09IENPTF9DT01NQU5EOworCisJCQlpZiAoY21kKQorCQkJCW5jb2x1bW5zLS07CisJCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9BVFRBQ0gpOworCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfREVUQUNIKTsKKwkJCWlmIChjbWQpCisJCQkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfQ09NTUFORCk7CisJCX0KKwkJaWYgKHNlbSAmJiBzaG93X3RpbWUpIHsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX09USU1FKTsKKwkJCWFkZF9jb2x1bW4oY29sdW1ucywgbmNvbHVtbnMrKywgQ09MX0NUSU1FKTsKKwkJfQorCX0KKworCWlmIChvdXRhcmcgJiYgc3RyaW5nX2FkZF90b19pZGFycmF5KG91dGFyZywgY29sdW1ucywgQVJSQVlfU0laRShjb2x1bW5zKSwKKwkJCQkJICZuY29sdW1ucywgY29sdW1uX25hbWVfdG9faWQpIDwgMCkKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCXRiID0gc2V0dXBfdGFibGUoY3RsKTsKKwlpZiAoIXRiKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJaWYgKGdsb2JhbCkKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUodGIsICJpcGNsaW1pdHMiKTsKKworCWlmIChtc2cpIHsKKwkJaWYgKGdsb2JhbCkKKwkJCWRvX21zZ19nbG9iYWwodGIpOworCQllbHNlCisJCQlkb19tc2coaWQsIGN0bCwgdGIpOworCX0KKwlpZiAoc2htKSB7CisJCWlmIChnbG9iYWwpCisJCQlkb19zaG1fZ2xvYmFsKHRiKTsKKwkJZWxzZQorCQkJZG9fc2htKGlkLCBjdGwsIHRiKTsKKwl9CisJaWYgKHNlbSkgeworCQlpZiAoZ2xvYmFsKQorCQkJZG9fc2VtX2dsb2JhbCh0Yik7CisJCWVsc2UKKwkJCWRvX3NlbShpZCwgY3RsLCB0Yik7CisJfQorCisJcHJpbnRfdGFibGUoY3RsLCB0Yik7CisKKwlzY29sc191bnJlZl90YWJsZSh0Yik7CisJZnJlZShjdGwpOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KKwpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL2xzbWVtLjEgYi9zeXMtdXRpbHMvbHNtZW0uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NDc2ZDNlCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL2xzbWVtLjEKQEAgLTAsMCArMSw5OSBAQAorLlRIIExTTUVNIDEgIk9jdG9iZXIgMjAxNiIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2xzbWVtIFwtIGxpc3QgdGhlIHJhbmdlcyBvZiBhdmFpbGFibGUgbWVtb3J5IHdpdGggdGhlaXIgb25saW5lIHN0YXR1cworLlNIIFNZTk9QU0lTCisuQiBsc21lbQorW29wdGlvbnNdCisuU0ggREVTQ1JJUFRJT04KK1RoZSBcZkJsc21lbVxmUCBjb21tYW5kIGxpc3RzIHRoZSByYW5nZXMgb2YgYXZhaWxhYmxlIG1lbW9yeSB3aXRoIHRoZWlyIG9ubGluZQorc3RhdHVzLiBUaGUgbGlzdGVkIG1lbW9yeSBibG9ja3MgY29ycmVzcG9uZCB0byB0aGUgbWVtb3J5IGJsb2NrIHJlcHJlc2VudGF0aW9uCitpbiBzeXNmcy4gVGhlIGNvbW1hbmQgYWxzbyBzaG93cyB0aGUgbWVtb3J5IGJsb2NrIHNpemUgYW5kIHRoZSBhbW91bnQgb2YgbWVtb3J5CitpbiBvbmxpbmUgYW5kIG9mZmxpbmUgc3RhdGUuCisKK1RoZSBkZWZhdWx0IG91dHB1dCBjb21wYXRpYmxlIHdpdGggb3JpZ2luYWwgaW1wbGVtZW50YXRpb24gZnJvbSBzMzkwLXRvb2xzLCBidXQKK2l0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gYXZvaWQgdXNpbmcgZGVmYXVsdCBvdXRwdXRzIGluIHlvdXIgc2NyaXB0cy4KK0Fsd2F5cyBleHBsaWNpdGx5IGRlZmluZSBleHBlY3RlZCBjb2x1bW5zIGJ5IHVzaW5nIHRoZSBcZkJcLVwtb3V0cHV0XGZSIG9wdGlvbgordG9nZXRoZXIgd2l0aCBhIGNvbHVtbnMgbGlzdCBpbiBlbnZpcm9ubWVudHMgd2hlcmUgYSBzdGFibGUgb3V0cHV0IGlzIHJlcXVpcmVkLgorCitUaGUgXGZCbHNtZW1cZlAgY29tbWFuZCBsaXN0cyBhIG5ldyBtZW1vcnkgcmFuZ2UgYWx3YXlzIHdoZW4gdGhlIGN1cnJlbnQgbWVtb3J5CitibG9jayBkaXN0aW5ndWlzaCBmcm9tIHRoZSBwcmV2aW91cyBibG9jayBieSBzb21lIG91dHB1dCBjb2x1bW4uICBUaGlzIGRlZmF1bHQKK2JlaGF2aW9yIGlzIHBvc3NpYmxlIHRvIG92ZXJyaWRlIGJ5IHRoZSBcZkJcLVwtc3BsaXRcZlIgb3B0aW9uIChlLmcuIFxmQmxzbWVtCitcLVwtc3BsaXQ9Wk9ORVNcZlIpLiAgVGhlIHNwZWNpYWwgd29yZCAibm9uZSIgbWF5IGJlIHVzZWQgdG8gaWdub3JlIGFsbAorZGlmZmVyZW5jZXMgYmV0d2VlbiBtZW1vcnkgYmxvY2tzIGFuZCB0byBjcmVhdGUgYXMgbGFyZ2UgYXMgcG9zc2libGUgY29udGludW91cworcmFuZ2VzLiAgVGhlIG9wcG9zaXRlIHNlbWFudGljIGlzIFxmQlwtXC1hbGxcZlIgdG8gbGlzdCBpbmRpdmlkdWFsIG1lbW9yeQorYmxvY2tzLgorCitOb3RlIHRoYXQgc29tZSBvdXRwdXQgY29sdW1ucyBtYXkgcHJvdmlkZSBpbmFjY3VyYXRlIGluZm9ybWF0aW9uIGlmIGEgc3BsaXQgcG9saWN5Citmb3JjZXMgXGZCbHNtZW1cZlAgdG8gaWdub3JlIGRpZmZlcmVuY2VzIGluIHNvbWUgYXR0cmlidXRlcy4gRm9yIGV4YW1wbGUgaWYgeW91CittZXJnZSByZW1vdmFibGUgYW5kIG5vbi1yZW1vdmFibGUgbWVtb3J5IGJsb2NrcyB0byB0aGUgb25lIHJhbmdlIHRoYW4gYWxsCit0aGUgcmFuZ2Ugd2lsbCBiZSBtYXJrZWQgYXMgbm9uLXJlbW92YWJsZSBvbiBcZkJsc21lbVxmUCBvdXRwdXQuCisKK05vdCBhbGwgY29sdW1ucyBhcmUgc3VwcG9ydGVkIG9uIGFsbCBzeXN0ZW1zLiAgSWYgYW4gdW5zdXBwb3J0ZWQgY29sdW1uIGlzCitzcGVjaWZpZWQsIFxmQmxzbWVtXGZQIHByaW50cyB0aGUgY29sdW1uIGJ1dCBkb2VzIG5vdCBwcm92aWRlIGFueSBkYXRhIGZvciBpdC4KKworVXNlIHRoZSBcZkJcLVwtaGVscFxmUiBvcHRpb24gdG8gc2VlIHRoZSBjb2x1bW5zIGRlc2NyaXB0aW9uLgorCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICIsICIgXC1cLWFsbAorTGlzdCBlYWNoIGluZGl2aWR1YWwgbWVtb3J5IGJsb2NrLCBpbnN0ZWFkIG9mIGNvbWJpbmluZyBtZW1vcnkgYmxvY2tzIHdpdGgKK3NpbWlsYXIgYXR0cmlidXRlcy4KKy5UUAorLkJSIFwtYiAsICIgXC1cLWJ5dGVzIgorUHJpbnQgdGhlIFNJWkUgY29sdW1uIGluIGJ5dGVzIHJhdGhlciB0aGFuIGluIGEgaHVtYW4tcmVhZGFibGUgZm9ybWF0LgorLlRQCisuQlIgXC1oICIsICIgXC1cLWhlbHAKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCisuQlIgXC1KICwgIiBcLVwtanNvbiIKK1VzZSBKU09OIG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1ub2hlYWRpbmdzIgorRG8gbm90IHByaW50IGEgaGVhZGVyIGxpbmUuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgIiBcZklsaXN0XGZQCitTcGVjaWZ5IHdoaWNoIG91dHB1dCBjb2x1bW5zIHRvIHByaW50LiAgVXNlIFxmQlwtXC1oZWxwXGZSCit0byBnZXQgYSBsaXN0IG9mIGFsbCBzdXBwb3J0ZWQgY29sdW1ucy4KK1RoZSBkZWZhdWx0IGxpc3Qgb2YgY29sdW1ucyBtYXkgYmUgZXh0ZW5kZWQgaWYgXGZJbGlzdFxmUCBpcworc3BlY2lmaWVkIGluIHRoZSBmb3JtYXQgXGZCK1xmSWxpc3RcZlAgKGUuZy4gXGZCbHNtZW0gXC1vICtOT0RFXGZQKS4KKy5UUAorLkIgXC1cLW91dHB1dFwtYWxsCitPdXRwdXQgYWxsIGF2YWlsYWJsZSBjb2x1bW5zLgorLlRQCisuQlIgXC1QICwgIiBcLVwtcGFpcnMiCitQcm9kdWNlIG91dHB1dCBpbiB0aGUgZm9ybSBvZiBrZXk9InZhbHVlIiBwYWlycy4KK0FsbCBwb3RlbnRpYWxseSB1bnNhZmUgY2hhcmFjdGVycyBhcmUgaGV4LWVzY2FwZWQgKFxceDxjb2RlPikuCisuVFAKKy5CUiBcLXIgLCAiIFwtXC1yYXciCitQcm9kdWNlIG91dHB1dCBpbiByYXcgZm9ybWF0LiAgQWxsIHBvdGVudGlhbGx5IHVuc2FmZSBjaGFyYWN0ZXJzIGFyZSBoZXgtZXNjYXBlZAorKFxceDxjb2RlPikuCisuVFAKKy5CUiBcLVMgLCAiIFwtXC1zcGxpdCAiIFxmSWxpc3RcZlAKK1NwZWNpZnkgd2hpY2ggY29sdW1ucyAoYXR0cmlidXRlcykgdXNlIHRvIHNwbGl0IG1lbW9yeSBibG9ja3MgdG8gcmFuZ2VzLiAgVGhlCitzdXBwb3J0ZWQgY29sdW1ucyBhcmUgU1RBVEUsIFJFTU9WQUJMRSwgTk9ERSBhbmQgWk9ORVMsIG9yICJub25lIi4gVGhlIGFub3RoZXIgY29sdW1ucyBhcmUKK3NpbGVudGx5IGlnbm9yZWQuIEZvciBtb3JlIGRldGFpbHMgc2VlIERFU0NSSVBUSU9OIGFib3ZlLgorLlRQCisuQlIgXC1zICwgIiBcLVwtc3lzcm9vdCAiIFxmSWRpcmVjdG9yeVxmUAorR2F0aGVyIG1lbW9yeSBkYXRhIGZvciBhIExpbnV4IGluc3RhbmNlIG90aGVyIHRoYW4gdGhlIGluc3RhbmNlIGZyb20gd2hpY2ggdGhlCitcZkJsc21lbVxmUCBjb21tYW5kIGlzIGlzc3VlZC4gIFRoZSBzcGVjaWZpZWQgXGZJZGlyZWN0b3J5XGZQIGlzIHRoZSBzeXN0ZW0KK3Jvb3Qgb2YgdGhlIExpbnV4IGluc3RhbmNlIHRvIGJlIGluc3BlY3RlZC4KKy5UUAorLkJSIFwtViAiLCAiIFwtXC12ZXJzaW9uCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtXC1zdW1tYXJ5XGZSWz1cZkl3aGVuXGZSXQorVGhpcyBvcHRpb24gY29udHJvbHMgc3VtbWFyeSBsaW5lcyBvdXRwdXQuICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgXGZJd2hlblxmUCBjYW4gYmUKK1xmQm5ldmVyXGZSLCBcZkJhbHdheXNcZlIgb3IgXGZCb25seVxmUi4gIElmIHRoZSBcZkl3aGVuXGZSIGFyZ3VtZW50IGlzCitvbWl0dGVkLCBpdCBkZWZhdWx0cyB0byBcZkIib25seSJcZlIuIFRoZSBzdW1tYXJ5IG91dHB1dCBpcyBzdXBwcmVzc2VkIGZvcgorXGZCXC1cLXJhd1xmUiwgXGZCXC1cLXBhaXJzXGZSIGFuZCBcZkJcLVwtanNvblxmUi4KKy5TSCBBVVRIT1IKKy5CIGxzbWVtCit3YXMgb3JpZ2luYWxseSB3cml0dGVuIGJ5IEdlcmFsZCBTY2hhZWZlciBmb3IgczM5MC10b29scyBpbiBQZXJsLiBUaGUgQyB2ZXJzaW9uCitmb3IgdXRpbC1saW51eCB3YXMgd3JpdHRlbiBieSBDbGVtZW5zIHZvbiBNYW5uLCBIZWlrbyBDYXJzdGVucyBhbmQgS2FyZWwgWmFrLgorLlNIIFNFRSBBTFNPCisuQlIgY2htZW0gKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgXGZCbHNtZW1cZlAgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc21lbS5jIGIvc3lzLXV0aWxzL2xzbWVtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODYzODMzNgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9sc21lbS5jCkBAIC0wLDAgKzEsNzQ3IEBACisvKgorICogbHNtZW0gLSBTaG93IG1lbW9yeSBjb25maWd1cmF0aW9uCisgKgorICogQ29weXJpZ2h0IElCTSBDb3JwLiAyMDE2CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKyNpbmNsdWRlIDxjLmg+CisjaW5jbHVkZSA8bmxzLmg+CisjaW5jbHVkZSA8cGF0aC5oPgorI2luY2x1ZGUgPHN0cnV0aWxzLmg+CisjaW5jbHVkZSA8Y2xvc2VzdHJlYW0uaD4KKyNpbmNsdWRlIDx4YWxsb2MuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8aW50dHlwZXMuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxvcHR1dGlscy5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjZGVmaW5lIF9QQVRIX1NZU19NRU1PUlkJCSIvc3lzL2RldmljZXMvc3lzdGVtL21lbW9yeSIKKworI2RlZmluZSBNRU1PUllfU1RBVEVfT05MSU5FCQkwCisjZGVmaW5lIE1FTU9SWV9TVEFURV9PRkZMSU5FCQkxCisjZGVmaW5lIE1FTU9SWV9TVEFURV9HT0lOR19PRkZMSU5FCTIKKyNkZWZpbmUgTUVNT1JZX1NUQVRFX1VOS05PV04JCTMKKworZW51bSB6b25lX2lkIHsKKwlaT05FX0RNQSA9IDAsCisJWk9ORV9ETUEzMiwKKwlaT05FX05PUk1BTCwKKwlaT05FX0hJR0hNRU0sCisJWk9ORV9NT1ZBQkxFLAorCVpPTkVfREVWSUNFLAorCVpPTkVfTk9ORSwKKwlaT05FX1VOS05PV04sCisJTUFYX05SX1pPTkVTLAorfTsKKworc3RydWN0IG1lbW9yeV9ibG9jayB7CisJdWludDY0X3QJaW5kZXg7CisJdWludDY0X3QJY291bnQ7CisJaW50CQlzdGF0ZTsKKwlpbnQJCW5vZGU7CisJaW50CQlucl96b25lczsKKwlpbnQJCXpvbmVzW01BWF9OUl9aT05FU107CisJdW5zaWduZWQgaW50CXJlbW92YWJsZToxOworfTsKKworc3RydWN0IGxzbWVtIHsKKwlzdHJ1Y3QgcGF0aF9jeHQJCSpzeXNtZW07CQkvKiBfUEFUSF9TWVNfTUVNT1JZIGRpcmVjdG9yeSBoYW5kbGVyICovCisJc3RydWN0IGRpcmVudAkJKipkaXJzOworCWludAkJCW5kaXJzOworCXN0cnVjdCBtZW1vcnlfYmxvY2sJKmJsb2NrczsKKwlpbnQJCQluYmxvY2tzOworCXVpbnQ2NF90CQlibG9ja19zaXplOworCXVpbnQ2NF90CQltZW1fb25saW5lOworCXVpbnQ2NF90CQltZW1fb2ZmbGluZTsKKworCXN0cnVjdCBsaWJzY29sc190YWJsZQkqdGFibGU7CisJdW5zaWduZWQgaW50CQloYXZlX25vZGVzIDogMSwKKwkJCQlyYXcgOiAxLAorCQkJCWV4cG9ydCA6IDEsCisJCQkJanNvbiA6IDEsCisJCQkJbm9oZWFkaW5ncyA6IDEsCisJCQkJc3VtbWFyeSA6IDEsCisJCQkJbGlzdF9hbGwgOiAxLAorCQkJCWJ5dGVzIDogMSwKKwkJCQl3YW50X3N1bW1hcnkgOiAxLAorCQkJCXdhbnRfdGFibGUgOiAxLAorCQkJCXNwbGl0X2J5X25vZGUgOiAxLAorCQkJCXNwbGl0X2J5X3N0YXRlIDogMSwKKwkJCQlzcGxpdF9ieV9yZW1vdmFibGUgOiAxLAorCQkJCXNwbGl0X2J5X3pvbmVzIDogMSwKKwkJCQloYXZlX3pvbmVzIDogMTsKK307CisKKworZW51bSB7CisJQ09MX1JBTkdFLAorCUNPTF9TSVpFLAorCUNPTF9TVEFURSwKKwlDT0xfUkVNT1ZBQkxFLAorCUNPTF9CTE9DSywKKwlDT0xfTk9ERSwKKwlDT0xfWk9ORVMsCit9OworCitzdGF0aWMgY2hhciAqem9uZV9uYW1lc1tdID0geworCVtaT05FX0RNQV0JPSAiRE1BIiwKKwlbWk9ORV9ETUEzMl0JPSAiRE1BMzIiLAorCVtaT05FX05PUk1BTF0JPSAiTm9ybWFsIiwKKwlbWk9ORV9ISUdITUVNXQk9ICJIaWdobWVtIiwKKwlbWk9ORV9NT1ZBQkxFXQk9ICJNb3ZhYmxlIiwKKwlbWk9ORV9ERVZJQ0VdCT0gIkRldmljZSIsCisJW1pPTkVfTk9ORV0JPSAiTm9uZSIsCS8qIGJsb2NrIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgem9uZSwgY2FuJ3QgYmUgb2ZmbGluZWQgKi8KKwlbWk9ORV9VTktOT1dOXQk9ICJVbmtub3duIiwKK307CisKKy8qIGNvbHVtbiBuYW1lcyAqLworc3RydWN0IGNvbGRlc2MgeworCWNvbnN0IGNoYXIJKm5hbWU7CQkvKiBoZWFkZXIgKi8KKwlkb3VibGUJCXdoaW50OwkJLyogd2lkdGggaGludCAoTiA8IDEgaXMgaW4gcGVyY2VudCBvZiB0ZXJtd2lkdGgpICovCisJaW50CQlmbGFnczsJCS8qIFNDT0xTX0ZMXyogKi8KKwljb25zdCBjaGFyICAgICAgKmhlbHA7Cit9OworCisvKiBjb2x1bW5zIGRlc2NyaXB0aW9ucyAqLworc3RhdGljIHN0cnVjdCBjb2xkZXNjIGNvbGRlc2NzW10gPSB7CisJW0NPTF9SQU5HRV0JPSB7ICJSQU5HRSIsIDAsIDAsIE5fKCJzdGFydCBhbmQgZW5kIGFkZHJlc3Mgb2YgdGhlIG1lbW9yeSByYW5nZSIpfSwKKwlbQ09MX1NJWkVdCT0geyAiU0laRSIsIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygic2l6ZSBvZiB0aGUgbWVtb3J5IHJhbmdlIil9LAorCVtDT0xfU1RBVEVdCT0geyAiU1RBVEUiLCAwLCBTQ09MU19GTF9SSUdIVCwgTl8oIm9ubGluZSBzdGF0dXMgb2YgdGhlIG1lbW9yeSByYW5nZSIpfSwKKwlbQ09MX1JFTU9WQUJMRV0JPSB7ICJSRU1PVkFCTEUiLCAwLCBTQ09MU19GTF9SSUdIVCwgTl8oIm1lbW9yeSBpcyByZW1vdmFibGUiKX0sCisJW0NPTF9CTE9DS10JPSB7ICJCTE9DSyIsIDAsIFNDT0xTX0ZMX1JJR0hULCBOXygibWVtb3J5IGJsb2NrIG51bWJlciBvciBibG9ja3MgcmFuZ2UiKX0sCisJW0NPTF9OT0RFXQk9IHsgIk5PREUiLCAwLCBTQ09MU19GTF9SSUdIVCwgTl8oIm51bWEgbm9kZSBvZiBtZW1vcnkiKX0sCisJW0NPTF9aT05FU10JPSB7ICJaT05FUyIsIDAsIFNDT0xTX0ZMX1JJR0hULCBOXygidmFsaWQgem9uZXMgZm9yIHRoZSBtZW1vcnkgcmFuZ2UiKX0sCit9OworCisvKiBjb2x1bW5zW10gYXJyYXkgc3BlY2lmaWVzIGFsbCBjdXJyZW50bHkgd2FudGVkIG91dHB1dCBjb2x1bW4uIFRoZSBjb2x1bW5zCisgKiBhcmUgZGVmaW5lZCBieSBjb2xkZXNjc1tdIGFycmF5IGFuZCB5b3UgY2FuIHNwZWNpZnkgKG9uIGNvbW1hbmQgbGluZSkgZWFjaAorICogY29sdW1uIHR3aWNlLiBUaGF0J3MgZW5vdWdoLCBkeW5hbWljYWxseSBhbGxvY2F0ZWQgYXJyYXkgb2YgdGhlIGNvbHVtbnMgaXMKKyAqIHVubmVjZXNzYXJ5IG92ZXJraWxsIGFuZCBvdmVyLWVuZ2luZWVyaW5nIGluIHRoaXMgY2FzZSAqLworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoY29sZGVzY3MpICogMl07CitzdGF0aWMgc2l6ZV90IG5jb2x1bW5zOworCitzdGF0aWMgaW5saW5lIHNpemVfdCBlcnJfY29sdW1uc19pbmRleChzaXplX3QgYXJ5c3osIHNpemVfdCBpZHgpCit7CisJaWYgKGlkeCA+PSBhcnlzeikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRvbyBtYW55IGNvbHVtbnMgc3BlY2lmaWVkLCAiCisJCQkJICAgICAidGhlIGxpbWl0IGlzICV6dSBjb2x1bW5zIiksCisJCQkJYXJ5c3ogLSAxKTsKKwlyZXR1cm4gaWR4OworfQorCisvKgorICogbmFtZSBtdXN0IGJlIG51bGwtdGVybWluYXRlZAorICovCitzdGF0aWMgaW50IHpvbmVfbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoem9uZV9uYW1lcyk7IGkrKykgeworCQlpZiAoIXN0cmNhc2VjbXAobmFtZSwgem9uZV9uYW1lc1tpXSkpCisJCQlyZXR1cm4gaTsKKwl9CisJcmV0dXJuIFpPTkVfVU5LTk9XTjsKK30KKworI2RlZmluZSBhZGRfY29sdW1uKGFyeSwgbiwgaWQpCVwKKwkJKChhcnkpWyBlcnJfY29sdW1uc19pbmRleChBUlJBWV9TSVpFKGFyeSksIChuKSkgXSA9IChpZCkpCisKK3N0YXRpYyBpbnQgY29sdW1uX25hbWVfdG9faWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gY29sZGVzY3NbaV0ubmFtZTsKKworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkKKwkJCXJldHVybiBpOworCX0KKwl3YXJueChfKCJ1bmtub3duIGNvbHVtbjogJXMiKSwgbmFtZSk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgaW5saW5lIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA+PSAwKTsKKwlhc3NlcnQoKHNpemVfdCkgbnVtIDwgbmNvbHVtbnMpOworCWFzc2VydChjb2x1bW5zW251bV0gPCAoaW50KSBBUlJBWV9TSVpFKGNvbGRlc2NzKSk7CisKKwlyZXR1cm4gY29sdW1uc1tudW1dOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjb2xkZXNjICpnZXRfY29sdW1uX2Rlc2MoaW50IG51bSkKK3sKKwlyZXR1cm4gJmNvbGRlc2NzWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGlubGluZSB2b2lkIHJlc2V0X3NwbGl0X3BvbGljeShzdHJ1Y3QgbHNtZW0gKmwsIGludCBlbmFibGUpCit7CisJbC0+c3BsaXRfYnlfc3RhdGUgPSBlbmFibGU7CisJbC0+c3BsaXRfYnlfbm9kZSA9IGVuYWJsZTsKKwlsLT5zcGxpdF9ieV9yZW1vdmFibGUgPSBlbmFibGU7CisJbC0+c3BsaXRfYnlfem9uZXMgPSBlbmFibGU7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9zcGxpdF9wb2xpY3koc3RydWN0IGxzbWVtICpsLCBpbnQgY29sc1tdLCBzaXplX3QgbmNvbHMpCit7CisJc2l6ZV90IGk7CisKKwlyZXNldF9zcGxpdF9wb2xpY3kobCwgMCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHM7IGkrKykgeworCQlzd2l0Y2ggKGNvbHNbaV0pIHsKKwkJY2FzZSBDT0xfU1RBVEU6CisJCQlsLT5zcGxpdF9ieV9zdGF0ZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTk9ERToKKwkJCWwtPnNwbGl0X2J5X25vZGUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1JFTU9WQUJMRToKKwkJCWwtPnNwbGl0X2J5X3JlbW92YWJsZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfWk9ORVM6CisJCQlsLT5zcGxpdF9ieV96b25lcyA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisJfQorfQorCitzdGF0aWMgdm9pZCBhZGRfc2NvbHNfbGluZShzdHJ1Y3QgbHNtZW0gKmxzbWVtLCBzdHJ1Y3QgbWVtb3J5X2Jsb2NrICpibGspCit7CisJc2l6ZV90IGk7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxpbmU7CisKKwlsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUobHNtZW0tPnRhYmxlLCBOVUxMKTsKKwlpZiAoIWxpbmUpCisJCWVycl9vb20oKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNoYXIgKnN0ciA9IE5VTEw7CisKKwkJc3dpdGNoIChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX1JBTkdFOgorCQl7CisJCQl1aW50NjRfdCBzdGFydCA9IGJsay0+aW5kZXggKiBsc21lbS0+YmxvY2tfc2l6ZTsKKwkJCXVpbnQ2NF90IHNpemUgPSBibGstPmNvdW50ICogbHNtZW0tPmJsb2NrX3NpemU7CisJCQl4YXNwcmludGYoJnN0ciwgIjB4JTAxNiJQUkl4NjQiLTB4JTAxNiJQUkl4NjQsIHN0YXJ0LCBzdGFydCArIHNpemUgLSAxKTsKKwkJCWJyZWFrOworCQl9CisJCWNhc2UgQ09MX1NJWkU6CisJCQlpZiAobHNtZW0tPmJ5dGVzKQorCQkJCXhhc3ByaW50Zigmc3RyLCAiJSJQUklkNjQsICh1aW50NjRfdCkgYmxrLT5jb3VudCAqIGxzbWVtLT5ibG9ja19zaXplKTsKKwkJCWVsc2UKKwkJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLAorCQkJCQkJKHVpbnQ2NF90KSBibGstPmNvdW50ICogbHNtZW0tPmJsb2NrX3NpemUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NUQVRFOgorCQkJc3RyID0geHN0cmR1cCgKKwkJCQlibGstPnN0YXRlID09IE1FTU9SWV9TVEFURV9PTkxJTkUgPyBfKCJvbmxpbmUiKSA6CisJCQkJYmxrLT5zdGF0ZSA9PSBNRU1PUllfU1RBVEVfT0ZGTElORSA/IF8oIm9mZmxpbmUiKSA6CisJCQkJYmxrLT5zdGF0ZSA9PSBNRU1PUllfU1RBVEVfR09JTkdfT0ZGTElORSA/IF8oIm9uLT5vZmYiKSA6CisJCQkJIj8iKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9SRU1PVkFCTEU6CisJCQlpZiAoYmxrLT5zdGF0ZSA9PSBNRU1PUllfU1RBVEVfT05MSU5FKQorCQkJCXN0ciA9IHhzdHJkdXAoYmxrLT5yZW1vdmFibGUgPyBfKCJ5ZXMiKSA6IF8oIm5vIikpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0JMT0NLOgorCQkJaWYgKGJsay0+Y291bnQgPT0gMSkKKwkJCQl4YXNwcmludGYoJnN0ciwgIiUiUFJJZDY0LCBibGstPmluZGV4KTsKKwkJCWVsc2UKKwkJCQl4YXNwcmludGYoJnN0ciwgIiUiUFJJZDY0Ii0lIlBSSWQ2NCwKKwkJCQkJIGJsay0+aW5kZXgsIGJsay0+aW5kZXggKyBibGstPmNvdW50IC0gMSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTk9ERToKKwkJCWlmIChsc21lbS0+aGF2ZV9ub2RlcykKKwkJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgYmxrLT5ub2RlKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9aT05FUzoKKwkJCWlmIChsc21lbS0+aGF2ZV96b25lcykgeworCQkJCWNoYXIgdmFsaWRfem9uZXNbQlVGU0laXTsKKwkJCQlpbnQgaiwgem9uZV9pZDsKKworCQkJCXZhbGlkX3pvbmVzWzBdID0gJ1wwJzsKKwkJCQlmb3IgKGogPSAwOyBqIDwgYmxrLT5ucl96b25lczsgaisrKSB7CisJCQkJCXpvbmVfaWQgPSBibGstPnpvbmVzW2pdOworCQkJCQlpZiAoc3RybGVuKHZhbGlkX3pvbmVzKSArCisJCQkJCSAgICBzdHJsZW4oem9uZV9uYW1lc1t6b25lX2lkXSkgPiBCVUZTSVogLSAyKQorCQkJCQkJYnJlYWs7CisJCQkJCXN0cmNhdCh2YWxpZF96b25lcywgem9uZV9uYW1lc1t6b25lX2lkXSk7CisJCQkJCWlmIChqICsgMSA8IGJsay0+bnJfem9uZXMpCisJCQkJCQlzdHJjYXQodmFsaWRfem9uZXMsICIvIik7CisJCQkJfQorCQkJCXN0ciA9IHhzdHJkdXAodmFsaWRfem9uZXMpOworCQkJfQorCQkJYnJlYWs7CisJCX0KKworCQlpZiAoc3RyICYmIHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsaW5lLCBpLCBzdHIpICE9IDApCisJCQllcnJfb29tKCk7CisJfQorfQorCitzdGF0aWMgdm9pZCBmaWxsX3Njb2xzX3RhYmxlKHN0cnVjdCBsc21lbSAqbHNtZW0pCit7CisJaW50IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbHNtZW0tPm5ibG9ja3M7IGkrKykKKwkJYWRkX3Njb2xzX2xpbmUobHNtZW0sICZsc21lbS0+YmxvY2tzW2ldKTsKK30KKworc3RhdGljIHZvaWQgcHJpbnRfc3VtbWFyeShzdHJ1Y3QgbHNtZW0gKmxzbWVtKQoreworCWlmIChsc21lbS0+Ynl0ZXMpIHsKKwkJcHJpbnRmKCIlLTIzcyAlMTUiUFJJZDY0IlxuIixfKCJNZW1vcnkgYmxvY2sgc2l6ZToiKSwgbHNtZW0tPmJsb2NrX3NpemUpOworCQlwcmludGYoIiUtMjNzICUxNSJQUklkNjQiXG4iLF8oIlRvdGFsIG9ubGluZSBtZW1vcnk6IiksIGxzbWVtLT5tZW1fb25saW5lKTsKKwkJcHJpbnRmKCIlLTIzcyAlMTUiUFJJZDY0IlxuIixfKCJUb3RhbCBvZmZsaW5lIG1lbW9yeToiKSwgbHNtZW0tPm1lbV9vZmZsaW5lKTsKKwl9IGVsc2UgeworCQljaGFyICpwOworCisJCWlmICgocCA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIGxzbWVtLT5ibG9ja19zaXplKSkpCisJCQlwcmludGYoIiUtMjNzICU1c1xuIixfKCJNZW1vcnkgYmxvY2sgc2l6ZToiKSwgcCk7CisJCWZyZWUocCk7CisKKwkJaWYgKChwID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgbHNtZW0tPm1lbV9vbmxpbmUpKSkKKwkJCXByaW50ZigiJS0yM3MgJTVzXG4iLF8oIlRvdGFsIG9ubGluZSBtZW1vcnk6IiksIHApOworCQlmcmVlKHApOworCisJCWlmICgocCA9IHNpemVfdG9faHVtYW5fc3RyaW5nKFNJWkVfU1VGRklYXzFMRVRURVIsIGxzbWVtLT5tZW1fb2ZmbGluZSkpKQorCQkJcHJpbnRmKCIlLTIzcyAlNXNcbiIsXygiVG90YWwgb2ZmbGluZSBtZW1vcnk6IiksIHApOworCQlmcmVlKHApOworCX0KK30KKworc3RhdGljIGludCBtZW1vcnlfYmxvY2tfZ2V0X25vZGUoc3RydWN0IGxzbWVtICpsc21lbSwgY2hhciAqbmFtZSkKK3sKKwlzdHJ1Y3QgZGlyZW50ICpkZTsKKwlESVIgKmRpcjsKKwlpbnQgbm9kZTsKKworCWRpciA9IHVsX3BhdGhfb3BlbmRpcihsc21lbS0+c3lzbWVtLCBuYW1lKTsKKwlpZiAoIWRpcikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiRmFpbGVkIHRvIG9wZW4gJXMiKSwgbmFtZSk7CisKKwlub2RlID0gLTE7CisJd2hpbGUgKChkZSA9IHJlYWRkaXIoZGlyKSkgIT0gTlVMTCkgeworCQlpZiAoc3RybmNtcCgibm9kZSIsIGRlLT5kX25hbWUsIDQpKQorCQkJY29udGludWU7CisJCWlmICghaXNkaWdpdF9zdHJpbmcoZGUtPmRfbmFtZSArIDQpKQorCQkJY29udGludWU7CisJCW5vZGUgPSBzdHJ0b2woZGUtPmRfbmFtZSArIDQsIE5VTEwsIDEwKTsKKwkJYnJlYWs7CisJfQorCWNsb3NlZGlyKGRpcik7CisJcmV0dXJuIG5vZGU7Cit9CisKK3N0YXRpYyB2b2lkIG1lbW9yeV9ibG9ja19yZWFkX2F0dHJzKHN0cnVjdCBsc21lbSAqbHNtZW0sIGNoYXIgKm5hbWUsCisJCQkJICAgIHN0cnVjdCBtZW1vcnlfYmxvY2sgKmJsaykKK3sKKwljaGFyICpsaW5lID0gTlVMTDsKKwlpbnQgaSwgeCA9IDA7CisKKwltZW1zZXQoYmxrLCAwLCBzaXplb2YoKmJsaykpOworCisJYmxrLT5jb3VudCA9IDE7CisJYmxrLT5zdGF0ZSA9IE1FTU9SWV9TVEFURV9VTktOT1dOOworCWJsay0+aW5kZXggPSBzdHJ0b3VtYXgobmFtZSArIDYsIE5VTEwsIDEwKTsgLyogZ2V0IDxudW0+IG9mICJtZW1vcnk8bnVtPiIgKi8KKworCWlmICh1bF9wYXRoX3JlYWRmX3MzMihsc21lbS0+c3lzbWVtLCAmeCwgIiVzL3JlbW92YWJsZSIsIG5hbWUpID09IDApCisJCWJsay0+cmVtb3ZhYmxlID0geCA9PSAxOworCisJaWYgKHVsX3BhdGhfcmVhZGZfc3RyaW5nKGxzbWVtLT5zeXNtZW0sICZsaW5lLCAiJXMvc3RhdGUiLCBuYW1lKSA+IDApIHsKKwkJaWYgKHN0cmNtcChsaW5lLCAib2ZmbGluZSIpID09IDApCisJCQlibGstPnN0YXRlID0gTUVNT1JZX1NUQVRFX09GRkxJTkU7CisJCWVsc2UgaWYgKHN0cmNtcChsaW5lLCAib25saW5lIikgPT0gMCkKKwkJCWJsay0+c3RhdGUgPSBNRU1PUllfU1RBVEVfT05MSU5FOworCQllbHNlIGlmIChzdHJjbXAobGluZSwgImdvaW5nLW9mZmxpbmUiKSA9PSAwKQorCQkJYmxrLT5zdGF0ZSA9IE1FTU9SWV9TVEFURV9HT0lOR19PRkZMSU5FOworCQlmcmVlKGxpbmUpOworCX0KKworCWlmIChsc21lbS0+aGF2ZV9ub2RlcykKKwkJYmxrLT5ub2RlID0gbWVtb3J5X2Jsb2NrX2dldF9ub2RlKGxzbWVtLCBuYW1lKTsKKworCWJsay0+bnJfem9uZXMgPSAwOworCWlmIChsc21lbS0+aGF2ZV96b25lcyAmJgorCSAgICB1bF9wYXRoX3JlYWRmX3N0cmluZyhsc21lbS0+c3lzbWVtLCAmbGluZSwgIiVzL3ZhbGlkX3pvbmVzIiwgbmFtZSkgPiAwKSB7CisKKwkJY2hhciAqdG9rZW4gPSBzdHJ0b2sobGluZSwgIiAiKTsKKworCQlmb3IgKGkgPSAwOyB0b2tlbiAmJiBpIDwgTUFYX05SX1pPTkVTOyBpKyspIHsKKwkJCWJsay0+em9uZXNbaV0gPSB6b25lX25hbWVfdG9faWQodG9rZW4pOworCQkJYmxrLT5ucl96b25lcysrOworCQkJdG9rZW4gPSBzdHJ0b2soTlVMTCwgIiAiKTsKKwkJfQorCisJCWZyZWUobGluZSk7CisJfQorfQorCitzdGF0aWMgaW50IGlzX21lcmdlYWJsZShzdHJ1Y3QgbHNtZW0gKmxzbWVtLCBzdHJ1Y3QgbWVtb3J5X2Jsb2NrICpibGspCit7CisJc3RydWN0IG1lbW9yeV9ibG9jayAqY3VycjsKKwlpbnQgaTsKKworCWlmICghbHNtZW0tPm5ibG9ja3MpCisJCXJldHVybiAwOworCWN1cnIgPSAmbHNtZW0tPmJsb2Nrc1tsc21lbS0+bmJsb2NrcyAtIDFdOworCWlmIChsc21lbS0+bGlzdF9hbGwpCisJCXJldHVybiAwOworCWlmIChjdXJyLT5pbmRleCArIGN1cnItPmNvdW50ICE9IGJsay0+aW5kZXgpCisJCXJldHVybiAwOworCWlmIChsc21lbS0+c3BsaXRfYnlfc3RhdGUgJiYgY3Vyci0+c3RhdGUgIT0gYmxrLT5zdGF0ZSkKKwkJcmV0dXJuIDA7CisJaWYgKGxzbWVtLT5zcGxpdF9ieV9yZW1vdmFibGUgJiYgY3Vyci0+cmVtb3ZhYmxlICE9IGJsay0+cmVtb3ZhYmxlKQorCQlyZXR1cm4gMDsKKwlpZiAobHNtZW0tPnNwbGl0X2J5X25vZGUgJiYgbHNtZW0tPmhhdmVfbm9kZXMpIHsKKwkJaWYgKGN1cnItPm5vZGUgIT0gYmxrLT5ub2RlKQorCQkJcmV0dXJuIDA7CisJfQorCWlmIChsc21lbS0+c3BsaXRfYnlfem9uZXMgJiYgbHNtZW0tPmhhdmVfem9uZXMpIHsKKwkJaWYgKGN1cnItPm5yX3pvbmVzICE9IGJsay0+bnJfem9uZXMpCisJCQlyZXR1cm4gMDsKKwkJZm9yIChpID0gMDsgaSA8IGN1cnItPm5yX3pvbmVzOyBpKyspIHsKKwkJCWlmIChjdXJyLT56b25lc1tpXSA9PSBaT05FX1VOS05PV04gfHwKKwkJCSAgICBjdXJyLT56b25lc1tpXSAhPSBibGstPnpvbmVzW2ldKQorCQkJCXJldHVybiAwOworCQl9CisJfQorCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCByZWFkX2luZm8oc3RydWN0IGxzbWVtICpsc21lbSkKK3sKKwlzdHJ1Y3QgbWVtb3J5X2Jsb2NrIGJsazsKKwljaGFyIGJ1ZlsxMjhdOworCWludCBpOworCisJaWYgKHVsX3BhdGhfcmVhZF9idWZmZXIobHNtZW0tPnN5c21lbSwgYnVmLCBzaXplb2YoYnVmKSwgImJsb2NrX3NpemVfYnl0ZXMiKSA8PSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVhZCBtZW1vcnkgYmxvY2sgc2l6ZSIpKTsKKwlsc21lbS0+YmxvY2tfc2l6ZSA9IHN0cnRvdW1heChidWYsIE5VTEwsIDE2KTsKKworCWZvciAoaSA9IDA7IGkgPCBsc21lbS0+bmRpcnM7IGkrKykgeworCQltZW1vcnlfYmxvY2tfcmVhZF9hdHRycyhsc21lbSwgbHNtZW0tPmRpcnNbaV0tPmRfbmFtZSwgJmJsayk7CisJCWlmIChibGsuc3RhdGUgPT0gTUVNT1JZX1NUQVRFX09OTElORSkKKwkJCWxzbWVtLT5tZW1fb25saW5lICs9IGxzbWVtLT5ibG9ja19zaXplOworCQllbHNlCisJCQlsc21lbS0+bWVtX29mZmxpbmUgKz0gbHNtZW0tPmJsb2NrX3NpemU7CisJCWlmIChpc19tZXJnZWFibGUobHNtZW0sICZibGspKSB7CisJCQlsc21lbS0+YmxvY2tzW2xzbWVtLT5uYmxvY2tzIC0gMV0uY291bnQrKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWxzbWVtLT5uYmxvY2tzKys7CisJCWxzbWVtLT5ibG9ja3MgPSB4cmVhbGxvYyhsc21lbS0+YmxvY2tzLCBsc21lbS0+bmJsb2NrcyAqIHNpemVvZihibGspKTsKKwkJKiZsc21lbS0+YmxvY2tzW2xzbWVtLT5uYmxvY2tzIC0gMV0gPSBibGs7CisJfQorfQorCitzdGF0aWMgaW50IG1lbW9yeV9ibG9ja19maWx0ZXIoY29uc3Qgc3RydWN0IGRpcmVudCAqZGUpCit7CisJaWYgKHN0cm5jbXAoIm1lbW9yeSIsIGRlLT5kX25hbWUsIDYpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gaXNkaWdpdF9zdHJpbmcoZGUtPmRfbmFtZSArIDYpOworfQorCitzdGF0aWMgdm9pZCByZWFkX2Jhc2ljX2luZm8oc3RydWN0IGxzbWVtICpsc21lbSkKK3sKKwljaGFyIGRpcltQQVRIX01BWF07CisKKwlpZiAodWxfcGF0aF9hY2Nlc3MobHNtZW0tPnN5c21lbSwgRl9PSywgImJsb2NrX3NpemVfYnl0ZXMiKSAhPSAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiVGhpcyBzeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCBtZW1vcnkgYmxvY2tzIikpOworCisJdWxfcGF0aF9nZXRfYWJzcGF0aChsc21lbS0+c3lzbWVtLCBkaXIsIHNpemVvZihkaXIpLCBOVUxMKTsKKworCWxzbWVtLT5uZGlycyA9IHNjYW5kaXIoZGlyLCAmbHNtZW0tPmRpcnMsIG1lbW9yeV9ibG9ja19maWx0ZXIsIHZlcnNpb25zb3J0KTsKKwlpZiAobHNtZW0tPm5kaXJzIDw9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIkZhaWxlZCB0byByZWFkICVzIiksIGRpcik7CisKKwlpZiAobWVtb3J5X2Jsb2NrX2dldF9ub2RlKGxzbWVtLCBsc21lbS0+ZGlyc1swXS0+ZF9uYW1lKSAhPSAtMSkKKwkJbHNtZW0tPmhhdmVfbm9kZXMgPSAxOworCisJLyogVGhlIHZhbGlkX3pvbmVzIHN5c21lbSBhdHRyaWJ1dGUgd2FzIGludHJvZHVjZWQgd2l0aCBrZXJuZWwgMy4xOCAqLworCWlmICh1bF9wYXRoX2FjY2Vzcyhsc21lbS0+c3lzbWVtLCBGX09LLCAibWVtb3J5MC92YWxpZF96b25lcyIpID09IDApCisJCWxzbWVtLT5oYXZlX3pvbmVzID0gMTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiTGlzdCB0aGUgcmFuZ2VzIG9mIGF2YWlsYWJsZSBtZW1vcnkgd2l0aCB0aGVpciBvbmxpbmUgc3RhdHVzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtSiwgLS1qc29uICAgICAgICAgICB1c2UgSlNPTiBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVAsIC0tcGFpcnMgICAgICAgICAgdXNlIGtleT1cInZhbHVlXCIgb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgIGxpc3QgZWFjaCBpbmRpdmlkdWFsIG1lbW9yeSBibG9ja1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLWJ5dGVzICAgICAgICAgIHByaW50IFNJWkUgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm9oZWFkaW5ncyAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICBvdXRwdXQgY29sdW1uc1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW91dHB1dC1hbGwgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJhdyAgICAgICAgICAgIHVzZSByYXcgb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXNwbGl0IDxsaXN0PiAgIHNwbGl0IHJhbmdlcyBieSBzcGVjaWZpZWQgY29sdW1uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXN5c3Jvb3QgPGRpcj4gIHVzZSB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeSBhcyBzeXN0ZW0gcm9vdFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXN1bW1hcnlbPXdoZW5dIHByaW50IHN1bW1hcnkgaW5mb3JtYXRpb24gKG5ldmVyLGFsd2F5cyBvciBvbmx5KVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyMikpOworCisJZnB1dHMoVVNBR0VfQ09MVU1OUywgb3V0KTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShjb2xkZXNjcyk7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTEwcyAgJXNcbiIsIGNvbGRlc2NzW2ldLm5hbWUsIF8oY29sZGVzY3NbaV0uaGVscCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJsc21lbSgxKSIpKTsKKworCWV4aXQob3V0ID09IHN0ZGVyciA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgbHNtZW0gX2xzbWVtID0geworCQkJLndhbnRfdGFibGUgPSAxLAorCQkJLndhbnRfc3VtbWFyeSA9IDEKKwkJfSwgKmxzbWVtID0gJl9sc21lbTsKKworCWNvbnN0IGNoYXIgKm91dGFyZyA9IE5VTEwsICpzcGxpdGFyZyA9IE5VTEwsICpwcmVmaXggPSBOVUxMOworCWludCBjOworCXNpemVfdCBpOworCisJZW51bSB7CisJCUxTTUVNX09QVF9TVU1BUlJZID0gQ0hBUl9NQVggKyAxLAorCQlPUFRfT1VUUFVUX0FMTAorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ImFsbCIsCQlub19hcmd1bWVudCwJCU5VTEwsICdhJ30sCisJCXsiYnl0ZXMiLAlub19hcmd1bWVudCwJCU5VTEwsICdiJ30sCisJCXsiaGVscCIsCW5vX2FyZ3VtZW50LAkJTlVMTCwgJ2gnfSwKKwkJeyJqc29uIiwJbm9fYXJndW1lbnQsCQlOVUxMLCAnSid9LAorCQl7Im5vaGVhZGluZ3MiLAlub19hcmd1bWVudCwJCU5VTEwsICduJ30sCisJCXsib3V0cHV0IiwJcmVxdWlyZWRfYXJndW1lbnQsCU5VTEwsICdvJ30sCisJCXsib3V0cHV0LWFsbCIsCW5vX2FyZ3VtZW50LAkJTlVMTCwgT1BUX09VVFBVVF9BTEx9LAorCQl7InBhaXJzIiwJbm9fYXJndW1lbnQsCQlOVUxMLCAnUCd9LAorCQl7InJhdyIsCQlub19hcmd1bWVudCwJCU5VTEwsICdyJ30sCisJCXsic3lzcm9vdCIsCXJlcXVpcmVkX2FyZ3VtZW50LAlOVUxMLCAncyd9LAorCQl7InNwbGl0IiwgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsICAgICAgTlVMTCwgJ1MnfSwKKwkJeyJ2ZXJzaW9uIiwJbm9fYXJndW1lbnQsCQlOVUxMLCAnVid9LAorCQl7InN1bW1hcnkiLCAgICAgb3B0aW9uYWxfYXJndW1lbnQsCU5VTEwsIExTTUVNX09QVF9TVU1BUlJZIH0sCisJCXtOVUxMLAkJMCwJCQlOVUxMLCAwfQorCX07CisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CS8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnSicsICdQJywgJ3InIH0sCisJCXsgJ1MnLCAnYScgfSwKKwkJeyAwIH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYWJoSm5vOlByUzpzOlYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlsc21lbS0+bGlzdF9hbGwgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJbHNtZW0tPmJ5dGVzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnSic6CisJCQlsc21lbS0+anNvbiA9IDE7CisJCQlsc21lbS0+d2FudF9zdW1tYXJ5ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWxzbWVtLT5ub2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9PVVRQVVRfQUxMOgorCQkJZm9yIChuY29sdW1ucyA9IDA7IChzaXplX3QpbmNvbHVtbnMgPCBBUlJBWV9TSVpFKGNvbGRlc2NzKTsgbmNvbHVtbnMrKykKKwkJCQljb2x1bW5zW25jb2x1bW5zXSA9IG5jb2x1bW5zOworCQkJYnJlYWs7CisJCWNhc2UgJ1AnOgorCQkJbHNtZW0tPmV4cG9ydCA9IDE7CisJCQlsc21lbS0+d2FudF9zdW1tYXJ5ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWxzbWVtLT5yYXcgPSAxOworCQkJbHNtZW0tPndhbnRfc3VtbWFyeSA9IDA7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlwcmVmaXggPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQlzcGxpdGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIDA7CisJCWNhc2UgTFNNRU1fT1BUX1NVTUFSUlk6CisJCQlpZiAob3B0YXJnKSB7CisJCQkJaWYgKHN0cmNtcChvcHRhcmcsICJuZXZlciIpID09IDApCisJCQkJCWxzbWVtLT53YW50X3N1bW1hcnkgPSAwOworCQkJCWVsc2UgaWYgKHN0cmNtcChvcHRhcmcsICJvbmx5IikgPT0gMCkKKwkJCQkJbHNtZW0tPndhbnRfdGFibGUgPSAwOworCQkJCWVsc2UgaWYgKHN0cmNtcChvcHRhcmcsICJhbHdheXMiKSA9PSAwKQorCQkJCQlsc21lbS0+d2FudF9zdW1tYXJ5ID0gMTsKKwkJCQllbHNlCisJCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bnN1cHBvcnRlZCAtLXN1bW1hcnkgYXJndW1lbnQiKSk7CisJCQl9IGVsc2UKKwkJCQlsc21lbS0+d2FudF90YWJsZSA9IDA7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChhcmdjICE9IG9wdGluZCkgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlpZiAobHNtZW0tPndhbnRfdGFibGUgKyBsc21lbS0+d2FudF9zdW1tYXJ5ID09IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb25zIC0te3Jhdyxqc29uLHBhaXJzfSBhbmQgLS1zdW1tYXJ5PW9ubHkgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpKTsKKworCXVsX3BhdGhfaW5pdF9kZWJ1ZygpOworCisJbHNtZW0tPnN5c21lbSA9IHVsX25ld19wYXRoKF9QQVRIX1NZU19NRU1PUlkpOworCWlmICghbHNtZW0tPnN5c21lbSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgJXMgaGFuZGxlciIpLCBfUEFUSF9TWVNfTUVNT1JZKTsKKwlpZiAocHJlZml4ICYmIHVsX3BhdGhfc2V0X3ByZWZpeChsc21lbS0+c3lzbWVtLCBwcmVmaXgpICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgYXJndW1lbnQgdG8gLS1zeXNyb290IikpOworCisJLyogU2hvcnRjdXQgdG8gYXZvaWQgc2NvbHMgbWFjaGluZXJ5IG9uIC0tc3VtbWFyeT1vbmx5ICovCisJaWYgKGxzbWVtLT53YW50X3RhYmxlID09IDAgJiYgbHNtZW0tPndhbnRfc3VtbWFyeSkgeworCQlyZWFkX2Jhc2ljX2luZm8obHNtZW0pOworCQlyZWFkX2luZm8obHNtZW0pOworCQlwcmludF9zdW1tYXJ5KGxzbWVtKTsKKwkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwl9CisKKwkvKgorCSAqIERlZmF1bHQgY29sdW1ucworCSAqLworCWlmICghbmNvbHVtbnMpIHsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfUkFOR0UpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9TSVpFKTsKKwkJYWRkX2NvbHVtbihjb2x1bW5zLCBuY29sdW1ucysrLCBDT0xfU1RBVEUpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9SRU1PVkFCTEUpOworCQlhZGRfY29sdW1uKGNvbHVtbnMsIG5jb2x1bW5zKyssIENPTF9CTE9DSyk7CisJfQorCisJaWYgKG91dGFyZyAmJiBzdHJpbmdfYWRkX3RvX2lkYXJyYXkob3V0YXJnLCBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkgJm5jb2x1bW5zLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCisJLyoKKwkgKiBJbml0aWFsaXplIG91dHB1dAorCSAqLworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwlpZiAoIShsc21lbS0+dGFibGUgPSBzY29sc19uZXdfdGFibGUoKSkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgdGFibGUiKSk7CisJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyhsc21lbS0+dGFibGUsIGxzbWVtLT5yYXcpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9leHBvcnQobHNtZW0tPnRhYmxlLCBsc21lbS0+ZXhwb3J0KTsKKwlzY29sc190YWJsZV9lbmFibGVfanNvbihsc21lbS0+dGFibGUsIGxzbWVtLT5qc29uKTsKKwlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyhsc21lbS0+dGFibGUsIGxzbWVtLT5ub2hlYWRpbmdzKTsKKworCWlmIChsc21lbS0+anNvbikKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUobHNtZW0tPnRhYmxlLCAibWVtb3J5Iik7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQlzdHJ1Y3QgY29sZGVzYyAqY2kgPSBnZXRfY29sdW1uX2Rlc2MoaSk7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsOworCisJCWNsID0gc2NvbHNfdGFibGVfbmV3X2NvbHVtbihsc21lbS0+dGFibGUsIGNpLT5uYW1lLCBjaS0+d2hpbnQsIGNpLT5mbGFncyk7CisJCWlmICghY2wpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJGYWlsZWQgdG8gaW5pdGlhbGl6ZSBvdXRwdXQgY29sdW1uIikpOworCisJCWlmIChsc21lbS0+anNvbikgeworCQkJaW50IGlkID0gZ2V0X2NvbHVtbl9pZChpKTsKKworCQkJc3dpdGNoIChpZCkgeworCQkJY2FzZSBDT0xfU0laRToKKwkJCQlpZiAoIWxzbWVtLT5ieXRlcykKKwkJCQkJYnJlYWs7CisJCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJCWNhc2UgQ09MX05PREU6CisJCQkJc2NvbHNfY29sdW1uX3NldF9qc29uX3R5cGUoY2wsIFNDT0xTX0pTT05fTlVNQkVSKTsKKwkJCQlicmVhazsKKwkJCWNhc2UgQ09MX1JFTU9WQUJMRToKKwkJCQlzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZShjbCwgU0NPTFNfSlNPTl9CT09MRUFOKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKworCWlmIChzcGxpdGFyZykgeworCQlpbnQgc3BsaXRbQVJSQVlfU0laRShjb2xkZXNjcyldID0geyAwIH07CisJCXN0YXRpYyBzaXplX3QgbnNwbGl0cyA9IDA7CisKKwkJaWYgKHN0cmNhc2VjbXAoc3BsaXRhcmcsICJub25lIikgPT0gMCkKKwkJCTsKKwkJZWxzZSBpZiAoc3RyaW5nX2FkZF90b19pZGFycmF5KHNwbGl0YXJnLCBzcGxpdCwgQVJSQVlfU0laRShzcGxpdCksCisJCQkJCSZuc3BsaXRzLCBjb2x1bW5fbmFtZV90b19pZCkgPCAwKQorCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKworCQlzZXRfc3BsaXRfcG9saWN5KGxzbWVtLCBzcGxpdCwgbnNwbGl0cyk7CisKKwl9IGVsc2UKKwkJLyogZm9sbG93IG91dHB1dCBjb2x1bW5zICovCisJCXNldF9zcGxpdF9wb2xpY3kobHNtZW0sIGNvbHVtbnMsIG5jb2x1bW5zKTsKKworCS8qCisJICogUmVhZCBkYXRhIGFuZCBwcmludCBvdXRwdXQKKwkgKi8KKwlyZWFkX2Jhc2ljX2luZm8obHNtZW0pOworCXJlYWRfaW5mbyhsc21lbSk7CisKKwlpZiAobHNtZW0tPndhbnRfdGFibGUpIHsKKwkJZmlsbF9zY29sc190YWJsZShsc21lbSk7CisJCXNjb2xzX3ByaW50X3RhYmxlKGxzbWVtLT50YWJsZSk7CisKKwkJaWYgKGxzbWVtLT53YW50X3N1bW1hcnkpCisJCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCX0KKworCWlmIChsc21lbS0+d2FudF9zdW1tYXJ5KQorCQlwcmludF9zdW1tYXJ5KGxzbWVtKTsKKworCXNjb2xzX3VucmVmX3RhYmxlKGxzbWVtLT50YWJsZSk7CisJdWxfdW5yZWZfcGF0aChsc21lbS0+c3lzbWVtKTsKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc25zLjggYi9zeXMtdXRpbHMvbHNucy44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiYTM3MjYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbHNucy44CkBAIC0wLDAgKzEsOTMgQEAKKy5cIiBNYW4gcGFnZSBmb3IgdGhlIGxzbnMgY29tbWFuZC4KKy5cIiBDb3B5cmlnaHQgMjAxNSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5cIiBNYXkgYmUgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisKKy5USCBMU05TIDggIkRlY2VtYmVyIDIwMTUiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2xzbnMgXC0gbGlzdCBuYW1lc3BhY2VzCisuU0ggU1lOT1BTSVMKKy5CIGxzbnMKK1tvcHRpb25zXQorLlJJIFsgbmFtZXNwYWNlIF0KKworLlNIIERFU0NSSVBUSU9OCisuQiBsc25zCitsaXN0cyBpbmZvcm1hdGlvbiBhYm91dCBhbGwgdGhlIGN1cnJlbnRseSBhY2Nlc3NpYmxlIG5hbWVzcGFjZXMgb3IgYWJvdXQgdGhlCitnaXZlbiBcZkluYW1lc3BhY2VcZlAuICBUaGUgXGZJbmFtZXNwYWNlXGZQIGlkZW50aWZpZXIgaXMgYW4gaW5vZGUgbnVtYmVyLgorCitUaGUgZGVmYXVsdCBvdXRwdXQgaXMgc3ViamVjdCB0byBjaGFuZ2UuICBTbyB3aGVuZXZlciBwb3NzaWJsZSwgeW91IHNob3VsZAorYXZvaWQgdXNpbmcgZGVmYXVsdCBvdXRwdXRzIGluIHlvdXIgc2NyaXB0cy4gIEFsd2F5cyBleHBsaWNpdGx5IGRlZmluZSBleHBlY3RlZAorY29sdW1ucyBieSB1c2luZyB0aGUgXGZCXC1cLW91dHB1dFxmUiBvcHRpb24gdG9nZXRoZXIgd2l0aCBhIGNvbHVtbnMgbGlzdCBpbgorZW52aXJvbm1lbnRzIHdoZXJlIGEgc3RhYmxlIG91dHB1dCBpcyByZXF1aXJlZC4KKworXGZCTlNGU1xmUCBjb2x1bW4sIHByaW50ZWQgd2hlbiBcZkJuZXRcZlAgaXMgc3BlY2lmaWVkIGZvcgorXGZCXC1cLXR5cGVcZlIgb3B0aW9uLCBpcyBzcGVjaWFsOyBpdCB1c2VzIG11bHRpLWxpbmUgY2VsbHMuCitVc2UgdGhlIG9wdGlvbiBcZkJcLVwtbm93cmFwXGZSIGlzIGZvciBzd2l0Y2hpbmcgdG8gIiwiIHNlcGFyYXRlZCBzaW5nbGUtbGluZQorcmVwcmVzZW50YXRpb24uCisKK05vdGUgdGhhdCBcZkJsc25zXGZSIHJlYWRzIGluZm9ybWF0aW9uIGRpcmVjdGx5IGZyb20gdGhlIC9wcm9jIGZpbGVzeXN0ZW0gYW5kCitmb3Igbm9uLXJvb3QgdXNlcnMgaXQgbWF5IHJldHVybiBpbmNvbXBsZXRlIGluZm9ybWF0aW9uLiAgVGhlIGN1cnJlbnQgL3Byb2MKK2ZpbGVzeXN0ZW0gbWF5IGJlIHVuc2hhcmVkIGFuZCBhZmZlY3RlZCBieSBhIFBJRCBuYW1lc3BhY2UKKyhzZWUgXGZCdW5zaGFyZSBcLVwtbW91bnRcLXByb2NcZlAgZm9yIG1vcmUgZGV0YWlscykuCisuQiBsc25zCitpcyBub3QgYWJsZSB0byBzZWUgcGVyc2lzdGVudCBuYW1lc3BhY2VzIHdpdGhvdXQgcHJvY2Vzc2VzIHdoZXJlIHRoZSBuYW1lc3BhY2UKK2luc3RhbmNlIGlzIGhlbGQgYnkgYSBiaW5kIG1vdW50IHRvIC9wcm9jL1xmSXBpZFxmUi9ucy9cZkl0eXBlXGZSLgorCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1KICwgIiBcLVwtanNvbiIKK1VzZSBKU09OIG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLWwgLCAiIFwtXC1saXN0IgorVXNlIGxpc3Qgb3V0cHV0IGZvcm1hdC4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5vaGVhZGluZ3MiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5UUAorLkJSIFwtbyAsICIgXC1cLW91dHB1dCAiIFxmSWxpc3RcZlAKK1NwZWNpZnkgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gcHJpbnQuICBVc2UgXGZCXC1cLWhlbHBcZlIKK3RvIGdldCBhIGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorCitUaGUgZGVmYXVsdCBsaXN0IG9mIGNvbHVtbnMgbWF5IGJlIGV4dGVuZGVkIGlmIFxmSWxpc3RcZlAgaXMKK3NwZWNpZmllZCBpbiB0aGUgZm9ybWF0IFxmQitcZklsaXN0XGZQIChlLmcuIFxmQmxzbnMgXC1vICtQQVRIXGZQKS4KKy5UUAorLkIgXC1cLW91dHB1dFwtYWxsCitPdXRwdXQgYWxsIGF2YWlsYWJsZSBjb2x1bW5zLgorLlRQCisuQlIgXC1wICwgIiBcLVwtdGFzayAiIFxmSXBpZFxmUAorRGlzcGxheSBvbmx5IHRoZSBuYW1lc3BhY2VzIGhlbGQgYnkgdGhlIHByb2Nlc3Mgd2l0aCB0aGlzIFxmSXBpZFxmUi4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJhdyIKK1VzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10eXBlICIgXGZJdHlwZVxmUAorRGlzcGxheSB0aGUgc3BlY2lmaWVkIFxmSXR5cGVcZlAgb2YgbmFtZXNwYWNlcyBvbmx5LiAgVGhlIHN1cHBvcnRlZCB0eXBlcyBhcmUKK1xmQm1udFxmUCwgXGZCbmV0XGZQLCBcZkJpcGNcZlAsIFxmQnVzZXJcZlAsIFxmQnBpZFxmUCwgXGZCdXRzXGZQIGFuZAorXGZCY2dyb3VwXGZQLiAgVGhpcyBvcHRpb24gbWF5IGJlIGdpdmVuIG1vcmUgdGhhbiBvbmNlLgorLlRQCisuQlIgXC11ICwgIiBcLVwtbm90cnVuY2F0ZSIKK0RvIG5vdCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnMuCisuVFAKKy5CUiBcLVcgLCAiIFwtXC1ub3dyYXAiCitEbyBub3QgdXNlIG11bHRpLWxpbmUgdGV4dCBpbiBjb2x1bW5zLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKworLlNIIEFVVEhPUlMKKy5uZgorS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuZmkKKworLlNIICJTRUUgQUxTTyIKKy5CUiBuc2VudGVyICgxKSwKKy5CUiB1bnNoYXJlICgxKSwKKy5CUiBjbG9uZSAoMiksCisuQlIgbmFtZXNwYWNlcyAoNykKKworLlNIIEFWQUlMQUJJTElUWQorVGhlIGxzbnMgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9sc25zLmMgYi9zeXMtdXRpbHMvbHNucy5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ZWEyZTAKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbHNucy5jCkBAIC0wLDAgKzEsMTEwMCBAQAorLyoKKyAqIGxzbnMoOCkgLSBsaXN0IHN5c3RlbSBuYW1lc3BhY2VzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDE1IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sCisgKiBJbmMuLCA1OSBUZW1wbGUgUGxhY2UsIFN1aXRlIDMzMCwgQm9zdG9uLCBNQSAgMDIxMTEtMTMwNyAgVVNBCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPGRpcmVudC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8d2NoYXIuaD4KKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorCisjaWZkZWYgSEFWRV9MSU5VWF9ORVRfTkFNRVNQQUNFX0gKKyNpbmNsdWRlIDxzdGRib29sLmg+CisjaW5jbHVkZSA8c3lzL3NvY2tldC5oPgorI2luY2x1ZGUgPGxpbnV4L25ldGxpbmsuaD4KKyNpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KKyNpbmNsdWRlIDxsaW51eC9uZXRfbmFtZXNwYWNlLmg+CisjZW5kaWYKKworI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgInByb2N1dGlscy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAibmFtZXNwYWNlLmgiCisjaW5jbHVkZSAiaWRjYWNoZS5oIgorCisjaW5jbHVkZSAiZGVidWcuaCIKKworc3RhdGljIFVMX0RFQlVHX0RFRklORV9NQVNLKGxzbnMpOworVUxfREVCVUdfREVGSU5FX01BU0tOQU1FUyhsc25zKSA9IFVMX0RFQlVHX0VNUFRZX01BU0tOQU1FUzsKKworI2RlZmluZSBMU05TX0RFQlVHX0lOSVQJCSgxIDw8IDEpCisjZGVmaW5lIExTTlNfREVCVUdfUFJPQwkJKDEgPDwgMikKKyNkZWZpbmUgTFNOU19ERUJVR19OUwkJKDEgPDwgMykKKyNkZWZpbmUgTFNOU19ERUJVR19BTEwJCTB4RkZGRgorCisjZGVmaW5lIExTTlNfTkVUTlNfVU5VU0FCTEUgLTIKKworI2RlZmluZSBEQkcobSwgeCkgICAgICAgX19VTF9EQkcobHNucywgTFNOU19ERUJVR18sIG0sIHgpCisjZGVmaW5lIE9OX0RCRyhtLCB4KSAgICBfX1VMX0RCR19DQUxMKGxzbnMsIExTTlNfREVCVUdfLCBtLCB4KQorCisjZGVmaW5lIFVMX0RFQlVHX0NVUlJFTlRfTUFTSwlVTF9ERUJVR19NQVNLKGxzbnMpCisjaW5jbHVkZSAiZGVidWdvYmouaCIKKworc3RhdGljIHN0cnVjdCBpZGNhY2hlICp1aWRfY2FjaGUgPSBOVUxMOworCisvKiBjb2x1bW4gSURzICovCitlbnVtIHsKKwlDT0xfTlMgPSAwLAorCUNPTF9UWVBFLAorCUNPTF9QQVRILAorCUNPTF9OUFJPQ1MsCisJQ09MX1BJRCwKKwlDT0xfUFBJRCwKKwlDT0xfQ09NTUFORCwKKwlDT0xfVUlELAorCUNPTF9VU0VSLAorCUNPTF9ORVROU0lELAorCUNPTF9OU0ZTLAorfTsKKworLyogY29sdW1uIG5hbWVzICovCitzdHJ1Y3QgY29saW5mbyB7CisJY29uc3QgY2hhciAqbmFtZTsgLyogaGVhZGVyICovCisJZG91YmxlCSAgIHdoaW50OyAvKiB3aWR0aCBoaW50IChOIDwgMSBpcyBpbiBwZXJjZW50IG9mIHRlcm13aWR0aCkgKi8KKwlpbnQJICAgZmxhZ3M7IC8qIFNDT0xTX0ZMXyogKi8KKwljb25zdCBjaGFyICpoZWxwOworCWludCAgICAgICAganNvbl90eXBlOworfTsKKworLyogY29sdW1ucyBkZXNjcmlwdGlvbnMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfTlNdICAgICAgPSB7ICJOUyIsICAgICAxMCwgU0NPTFNfRkxfUklHSFQsIE5fKCJuYW1lc3BhY2UgaWRlbnRpZmllciAoaW5vZGUgbnVtYmVyKSIpLCBTQ09MU19KU09OX05VTUJFUiB9LAorCVtDT0xfVFlQRV0gICAgPSB7ICJUWVBFIiwgICAgNSwgMCwgTl8oImtpbmQgb2YgbmFtZXNwYWNlIikgfSwKKwlbQ09MX1BBVEhdICAgID0geyAiUEFUSCIsICAgIDAsIDAsIE5fKCJwYXRoIHRvIHRoZSBuYW1lc3BhY2UiKX0sCisJW0NPTF9OUFJPQ1NdICA9IHsgIk5QUk9DUyIsICA1LCBTQ09MU19GTF9SSUdIVCwgTl8oIm51bWJlciBvZiBwcm9jZXNzZXMgaW4gdGhlIG5hbWVzcGFjZSIpLCBTQ09MU19KU09OX05VTUJFUiB9LAorCVtDT0xfUElEXSAgICAgPSB7ICJQSUQiLCAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJsb3dlc3QgUElEIGluIHRoZSBuYW1lc3BhY2UiKSwgU0NPTFNfSlNPTl9OVU1CRVIgfSwKKwlbQ09MX1BQSURdICAgID0geyAiUFBJRCIsICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygiUFBJRCBvZiB0aGUgUElEIiksIFNDT0xTX0pTT05fTlVNQkVSIH0sCisJW0NPTF9DT01NQU5EXSA9IHsgIkNPTU1BTkQiLCAwLCBTQ09MU19GTF9UUlVOQywgTl8oImNvbW1hbmQgbGluZSBvZiB0aGUgUElEIil9LAorCVtDT0xfVUlEXSAgICAgPSB7ICJVSUQiLCAgICAgMCwgU0NPTFNfRkxfUklHSFQsIE5fKCJVSUQgb2YgdGhlIFBJRCIpLCBTQ09MU19KU09OX05VTUJFUn0sCisJW0NPTF9VU0VSXSAgICA9IHsgIlVTRVIiLCAgICAwLCAwLCBOXygidXNlcm5hbWUgb2YgdGhlIFBJRCIpfSwKKwlbQ09MX05FVE5TSURdID0geyAiTkVUTlNJRCIsIDAsIFNDT0xTX0ZMX1JJR0hULCBOXygibmFtZXNwYWNlIElEIGFzIHVzZWQgYnkgbmV0d29yayBzdWJzeXN0ZW0iKX0sCisJW0NPTF9OU0ZTXSAgICA9IHsgIk5TRlMiLCAgICAwLCBTQ09MU19GTF9XUkFQLCBOXygibnNmcyBtb3VudHBvaW50ICh1c3VhbGx5IHVzZWQgbmV0d29yayBzdWJzeXN0ZW0pIil9Cit9OworCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXTsKK3N0YXRpYyBzaXplX3QgbmNvbHVtbnM7CisKK2VudW0geworCUxTTlNfSURfTU5UID0gMCwKKwlMU05TX0lEX05FVCwKKwlMU05TX0lEX1BJRCwKKwlMU05TX0lEX1VUUywKKwlMU05TX0lEX0lQQywKKwlMU05TX0lEX1VTRVIsCisJTFNOU19JRF9DR1JPVVAKK307CisKK3N0YXRpYyBjaGFyICpuc19uYW1lc1tdID0geworCVtMU05TX0lEX01OVF0gPSAibW50IiwKKwlbTFNOU19JRF9ORVRdID0gIm5ldCIsCisJW0xTTlNfSURfUElEXSA9ICJwaWQiLAorCVtMU05TX0lEX1VUU10gPSAidXRzIiwKKwlbTFNOU19JRF9JUENdID0gImlwYyIsCisJW0xTTlNfSURfVVNFUl0gPSAidXNlciIsCisJW0xTTlNfSURfQ0dST1VQXSA9ICJjZ3JvdXAiCit9OworCitzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgeworCWlub190IGlkOworCWludCB0eXBlOwkJCS8qIExTTlNfKiAqLworCWludCBucHJvY3M7CisJaW50IG5ldG5zaWQ7CisKKwlzdHJ1Y3QgbHNuc19wcm9jZXNzICpwcm9jOworCisJc3RydWN0IGxpc3RfaGVhZCBuYW1lc3BhY2VzOwkvKiBsc25zLT5wcm9jZXNzZXMgbWVtYmVyICovCisJc3RydWN0IGxpc3RfaGVhZCBwcm9jZXNzZXM7CS8qIGhlYWQgb2YgbHNuc19wcm9jZXNzICpzaWJsaW5ncyAqLworfTsKKworc3RydWN0IGxzbnNfcHJvY2VzcyB7CisJcGlkX3QgcGlkOwkJLyogcHJvY2VzcyBQSUQgKi8KKwlwaWRfdCBwcGlkOwkJLyogcGFyZW50J3MgUElEICovCisJcGlkX3QgdHBpZDsJCS8qIHRocmVhZCBncm91cCAqLworCWNoYXIgc3RhdGU7CisJdWlkX3QgdWlkOworCisJaW5vX3QgICAgICAgICAgICBuc19pZHNbQVJSQVlfU0laRShuc19uYW1lcyldOworCXN0cnVjdCBsaXN0X2hlYWQgbnNfc2libGluZ3NbQVJSQVlfU0laRShuc19uYW1lcyldOworCisJc3RydWN0IGxpc3RfaGVhZCBwcm9jZXNzZXM7CS8qIGxpc3Qgb2YgcHJvY2Vzc2VzICovCisKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqb3V0bGluZTsKKwlzdHJ1Y3QgbHNuc19wcm9jZXNzICpwYXJlbnQ7CisKKwlpbnQgbmV0bnNpZDsKK307CisKK3N0cnVjdCBsc25zIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIHByb2Nlc3NlczsKKwlzdHJ1Y3QgbGlzdF9oZWFkIG5hbWVzcGFjZXM7CisKKwlwaWRfdAlmbHRyX3BpZDsJLyogZmlsdGVyIG91dCBieSBQSUQgKi8KKwlpbm9fdAlmbHRyX25zOwkvKiBmaWx0ZXIgb3V0IGJ5IG5hbWVzcGFjZSAqLworCWludAlmbHRyX3R5cGVzW0FSUkFZX1NJWkUobnNfbmFtZXMpXTsKKwlpbnQJZmx0cl9udHlwZXM7CisKKwl1bnNpZ25lZCBpbnQgcmF3CTogMSwKKwkJICAgICBqc29uCTogMSwKKwkJICAgICB0cmVlCTogMSwKKwkJICAgICBsaXN0CTogMSwKKwkJICAgICBub190cnVuYwk6IDEsCisJCSAgICAgbm9faGVhZGluZ3M6IDEsCisJCSAgICAgbm9fd3JhcCAgICA6IDE7CisKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWI7Cit9OworCitzdHJ1Y3QgbmV0bnNpZF9jYWNoZSB7CisJaW5vX3QgaW5vOworCWludCAgIGlkOworCXN0cnVjdCBsaXN0X2hlYWQgbmV0bnNpZHM7Cit9OworCitzdGF0aWMgc3RydWN0IGxpc3RfaGVhZCBuZXRuc2lkc19jYWNoZTsKKworc3RhdGljIGludCBuZXRsaW5rX2ZkID0gLTE7CisKK3N0YXRpYyB2b2lkIGxzbnNfaW5pdF9kZWJ1Zyh2b2lkKQoreworCV9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVihsc25zLCBMU05TX0RFQlVHXywgMCwgTFNOU19ERUJVRyk7Cit9CisKK3N0YXRpYyBpbnQgbnNfbmFtZTJ0eXBlKGNvbnN0IGNoYXIgKm5hbWUpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShuc19uYW1lcyk7IGkrKykgeworCQlpZiAoc3RyY21wKG5zX25hbWVzW2ldLCBuYW1lKSA9PSAwKQorCQkJcmV0dXJuIGk7CisJfQorCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KG5hbWUpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBpbmZvc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgaGFzX2NvbHVtbihpbnQgaWQpCit7CisJc2l6ZV90IGk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQlpZiAoY29sdW1uc1tpXSA9PSBpZCkKKwkJCXJldHVybiAxOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlubGluZSBpbnQgZ2V0X2NvbHVtbl9pZChpbnQgbnVtKQoreworCWFzc2VydChudW0gPj0gMCk7CisJYXNzZXJ0KChzaXplX3QpIG51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludCkgQVJSQVlfU0laRShpbmZvcykpOworCisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIGlubGluZSBjb25zdCBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKHVuc2lnbmVkIG51bSkKK3sKKwlyZXR1cm4gJmluZm9zWyBnZXRfY29sdW1uX2lkKG51bSkgXTsKK30KKworc3RhdGljIGludCBnZXRfbnNfaW5vKGludCBkaXIsIGNvbnN0IGNoYXIgKm5zbmFtZSwgaW5vX3QgKmlubykKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwljaGFyIHBhdGhbMTZdOworCisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAibnMvJXMiLCBuc25hbWUpOworCisJaWYgKGZzdGF0YXQoZGlyLCBwYXRoLCAmc3QsIDApICE9IDApCisJCXJldHVybiAtZXJybm87CisJKmlubyA9IHN0LnN0X2lubzsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBwYXJzZV9wcm9jX3N0YXQoRklMRSAqZnAsIHBpZF90ICpwaWQsIGNoYXIgKnN0YXRlLCBwaWRfdCAqcHBpZCkKK3sKKwljaGFyICpsaW5lID0gTlVMTCwgKnA7CisJc2l6ZV90IGxlbiA9IDA7CisJaW50IHJjOworCisJaWYgKGdldGxpbmUoJmxpbmUsICZsZW4sIGZwKSA8IDApIHsKKwkJcmMgPSAtZXJybm87CisJCWdvdG8gZXJyb3I7CisJfQorCisJcCA9IHN0cnJjaHIobGluZSwgJyknKTsKKwlpZiAocCA9PSBOVUxMIHx8CisJICAgIHNzY2FuZihsaW5lLCAiJWQgKCIsIHBpZCkgIT0gMSB8fAorCSAgICBzc2NhbmYocCwgIikgJWMgJWQqW15cbl0iLCBzdGF0ZSwgcHBpZCkgIT0gMikgeworCQlyYyA9IC1FSU5WQUw7CisJCWdvdG8gZXJyb3I7CisJfQorCXJjID0gMDsKKworZXJyb3I6CisJZnJlZShsaW5lKTsKKwlyZXR1cm4gcmM7Cit9CisKKyNpZmRlZiBIQVZFX0xJTlVYX05FVF9OQU1FU1BBQ0VfSAorc3RhdGljIGludCBuZXRuc2lkX2NhY2hlX2ZpbmQoaW5vX3QgbmV0aW5vLCBpbnQgKm5ldG5zaWQpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCWxpc3RfZm9yX2VhY2gocCwgJm5ldG5zaWRzX2NhY2hlKSB7CisJCXN0cnVjdCBuZXRuc2lkX2NhY2hlICplID0gbGlzdF9lbnRyeShwLAorCQkJCQkJICAgICBzdHJ1Y3QgbmV0bnNpZF9jYWNoZSwKKwkJCQkJCSAgICAgbmV0bnNpZHMpOworCQlpZiAoZS0+aW5vID09IG5ldGlubykgeworCQkJKm5ldG5zaWQgPSBlLT5pZDsKKwkJCXJldHVybiAxOworCQl9CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIG5ldG5zaWRfY2FjaGVfYWRkKGlub190IG5ldGlubywgaW50IG5ldG5zaWQpCit7CisJc3RydWN0IG5ldG5zaWRfY2FjaGUgKmU7CisKKwllID0geGNhbGxvYygxLCBzaXplb2YoKmUpKTsKKwllLT5pbm8gPSBuZXRpbm87CisJZS0+aWQgID0gbmV0bnNpZDsKKwlJTklUX0xJU1RfSEVBRCgmZS0+bmV0bnNpZHMpOworCWxpc3RfYWRkKCZlLT5uZXRuc2lkcywgJm5ldG5zaWRzX2NhY2hlKTsKK30KKworc3RhdGljIGludCBnZXRfbmV0bnNpZF92aWFfbmV0bGlua19zZW5kX3JlcXVlc3QoaW50IHRhcmdldF9mZCkKK3sKKwl1bnNpZ25lZCBjaGFyIHJlcVtOTE1TR19TUEFDRShzaXplb2Yoc3RydWN0IHJ0Z2VubXNnKSkKKwkJCSAgKyBSVEFfU1BBQ0Uoc2l6ZW9mKGludDMyX3QpKV07CisKKwlzdHJ1Y3Qgbmxtc2doZHIgKm5saCA9IChzdHJ1Y3Qgbmxtc2doZHIgKilyZXE7CisJc3RydWN0IHJ0Z2VubXNnICpydCA9IE5MTVNHX0RBVEEocmVxKTsKKwlzdHJ1Y3QgcnRhdHRyICpydGEgPSAoc3RydWN0IHJ0YXR0ciAqKQorCQkocmVxICsgTkxNU0dfU1BBQ0Uoc2l6ZW9mKHN0cnVjdCBydGdlbm1zZykpKTsKKwlpbnQzMl90ICpmZCA9IFJUQV9EQVRBKHJ0YSk7CisKKwlubGgtPm5sbXNnX2xlbiA9IHNpemVvZihyZXEpOworCW5saC0+bmxtc2dfZmxhZ3MgPSBOTE1fRl9SRVFVRVNUOworCW5saC0+bmxtc2dfdHlwZSA9IFJUTV9HRVROU0lEOworCXJ0LT5ydGdlbl9mYW1pbHkgPSBBRl9VTlNQRUM7CisJcnRhLT5ydGFfdHlwZSA9IE5FVE5TQV9GRDsKKwlydGEtPnJ0YV9sZW4gPSBSVEFfU1BBQ0Uoc2l6ZW9mKGludDMyX3QpKTsKKwkqZmQgPSB0YXJnZXRfZmQ7CisKKwlpZiAoc2VuZChuZXRsaW5rX2ZkLCByZXEsIHNpemVvZihyZXEpLCAwKSA8IDApCisJCXJldHVybiAtMTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnZXRfbmV0bnNpZF92aWFfbmV0bGlua19yZWN2X3Jlc3BvbnNlKGludCAqbmV0bnNpZCkKK3sKKwl1bnNpZ25lZCBjaGFyIHJlc1tOTE1TR19TUEFDRShzaXplb2Yoc3RydWN0IHJ0Z2VubXNnKSkKKwkJCSAgKyAoKFJUQV9TUEFDRShzaXplb2YoaW50MzJfdCkpCisJCQkgICAgICA8IFJUQV9TUEFDRShzaXplb2Yoc3RydWN0IG5sbXNnZXJyKSkpCisJCQkgICAgID8gUlRBX1NQQUNFKHNpemVvZihzdHJ1Y3Qgbmxtc2dlcnIpKQorCQkJICAgICA6IFJUQV9TUEFDRShzaXplb2YoaW50MzJfdCkpKV07CisJaW50IHJ0YWxlbjsKKwlzc2l6ZV90IHJlc2xlbjsKKworCXN0cnVjdCBubG1zZ2hkciAqbmxoOworCXN0cnVjdCBydGF0dHIgKnJ0YTsKKworCXJlc2xlbiA9IHJlY3YobmV0bGlua19mZCwgcmVzLCBzaXplb2YocmVzKSwgMCk7CisJaWYgKHJlc2xlbiA8IDApCisJCXJldHVybiAtMTsKKworCW5saCA9IChzdHJ1Y3Qgbmxtc2doZHIgKilyZXM7CisJaWYgKCEoTkxNU0dfT0sobmxoLCAoc2l6ZV90KXJlc2xlbikKKwkgICAgICAmJiBubGgtPm5sbXNnX3R5cGUgPT0gUlRNX05FV05TSUQpKQorCQlyZXR1cm4gLTE7CisKKwlydGFsZW4gPSBOTE1TR19QQVlMT0FEKG5saCwgc2l6ZW9mKHN0cnVjdCBydGdlbm1zZykpOworCXJ0YSA9IChzdHJ1Y3QgcnRhdHRyICopKHJlcyArIE5MTVNHX1NQQUNFKHNpemVvZihzdHJ1Y3QgcnRnZW5tc2cpKSk7CisJaWYgKCEoUlRBX09LKHJ0YSwgcnRhbGVuKQorCSAgICAgICYmIHJ0YS0+cnRhX3R5cGUgPT0gTkVUTlNBX05TSUQpKQorCQlyZXR1cm4gLTE7CisKKwkqbmV0bnNpZCA9ICooaW50ICopUlRBX0RBVEEocnRhKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGdldF9uZXRuc2lkX3ZpYV9uZXRsaW5rKGludCBkaXIsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJaW50IG5ldG5zaWQ7CisJaW50IHRhcmdldF9mZDsKKworCWlmIChuZXRsaW5rX2ZkIDwgMCkKKwkJcmV0dXJuIExTTlNfTkVUTlNfVU5VU0FCTEU7CisKKwl0YXJnZXRfZmQgPSBvcGVuYXQoZGlyLCBwYXRoLCBPX1JET05MWSk7CisJaWYgKHRhcmdldF9mZCA8IDApCisJCXJldHVybiBMU05TX05FVE5TX1VOVVNBQkxFOworCisJaWYgKGdldF9uZXRuc2lkX3ZpYV9uZXRsaW5rX3NlbmRfcmVxdWVzdCh0YXJnZXRfZmQpIDwgMCkgeworCQluZXRuc2lkID0gTFNOU19ORVROU19VTlVTQUJMRTsKKwkJZ290byBvdXQ7CisJfQorCisJaWYgKGdldF9uZXRuc2lkX3ZpYV9uZXRsaW5rX3JlY3ZfcmVzcG9uc2UoJm5ldG5zaWQpIDwgMCkgeworCQluZXRuc2lkID0gTFNOU19ORVROU19VTlVTQUJMRTsKKwkJZ290byBvdXQ7CisJfQorCisgb3V0OgorCWNsb3NlKHRhcmdldF9mZCk7CisJcmV0dXJuIG5ldG5zaWQ7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X25ldG5zaWQoaW50IGRpciwgaW5vX3QgbmV0aW5vKQoreworCWludCBuZXRuc2lkOworCisJaWYgKCFuZXRuc2lkX2NhY2hlX2ZpbmQobmV0aW5vLCAmbmV0bnNpZCkpIHsKKwkJbmV0bnNpZCA9IGdldF9uZXRuc2lkX3ZpYV9uZXRsaW5rKGRpciwgIm5zL25ldCIpOworCQluZXRuc2lkX2NhY2hlX2FkZChuZXRpbm8sIG5ldG5zaWQpOworCX0KKworCXJldHVybiBuZXRuc2lkOworfQorI2Vsc2UKK3N0YXRpYyBpbnQgZ2V0X25ldG5zaWQoaW50IGRpciBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCSAgICAgICBpbm9fdCBuZXRpbm8gX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpKQoreworCXJldHVybiBMU05TX05FVE5TX1VOVVNBQkxFOworfQorI2VuZGlmIC8qIEhBVkVfTElOVVhfTkVUX05BTUVTUEFDRV9IICovCisKK3N0YXRpYyBpbnQgcmVhZF9wcm9jZXNzKHN0cnVjdCBsc25zICpscywgcGlkX3QgcGlkKQoreworCXN0cnVjdCBsc25zX3Byb2Nlc3MgKnAgPSBOVUxMOworCWNoYXIgYnVmW0JVRlNJWl07CisJRElSICpkaXI7CisJaW50IHJjID0gMCwgZmQ7CisJRklMRSAqZiA9IE5VTEw7CisJc2l6ZV90IGk7CisJc3RydWN0IHN0YXQgc3Q7CisKKwlEQkcoUFJPQywgdWxfZGVidWcoInJlYWRpbmcgJWQiLCAoaW50KSBwaWQpKTsKKworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIvcHJvYy8lZCIsIHBpZCk7CisJZGlyID0gb3BlbmRpcihidWYpOworCWlmICghZGlyKQorCQlyZXR1cm4gLWVycm5vOworCisJcCA9IHhjYWxsb2MoMSwgc2l6ZW9mKCpwKSk7CisJcC0+bmV0bnNpZCA9IExTTlNfTkVUTlNfVU5VU0FCTEU7CisKKwlpZiAoZnN0YXQoZGlyZmQoZGlyKSwgJnN0KSA9PSAwKSB7CisJCXAtPnVpZCA9IHN0LnN0X3VpZDsKKwkJYWRkX3VpZCh1aWRfY2FjaGUsIHN0LnN0X3VpZCk7CisJfQorCisJZmQgPSBvcGVuYXQoZGlyZmQoZGlyKSwgInN0YXQiLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkgeworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKwlpZiAoIShmID0gZmRvcGVuKGZkLCAiciIpKSkgeworCQlyYyA9IC1lcnJubzsKKwkJZ290byBkb25lOworCX0KKwlyYyA9IHBhcnNlX3Byb2Nfc3RhdChmLCAmcC0+cGlkLCAmcC0+c3RhdGUsICZwLT5wcGlkKTsKKwlpZiAocmMgPCAwKQorCQlnb3RvIGRvbmU7CisJcmMgPSAwOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocC0+bnNfaWRzKTsgaSsrKSB7CisJCUlOSVRfTElTVF9IRUFEKCZwLT5uc19zaWJsaW5nc1tpXSk7CisKKwkJaWYgKCFscy0+Zmx0cl90eXBlc1tpXSkKKwkJCWNvbnRpbnVlOworCisJCXJjID0gZ2V0X25zX2lubyhkaXJmZChkaXIpLCBuc19uYW1lc1tpXSwgJnAtPm5zX2lkc1tpXSk7CisJCWlmIChyYyAmJiByYyAhPSAtRUFDQ0VTICYmIHJjICE9IC1FTk9FTlQpCisJCQlnb3RvIGRvbmU7CisJCWlmIChpID09IExTTlNfSURfTkVUKQorCQkJcC0+bmV0bnNpZCA9IGdldF9uZXRuc2lkKGRpcmZkKGRpciksIHAtPm5zX2lkc1tpXSk7CisJCXJjID0gMDsKKwl9CisKKwlJTklUX0xJU1RfSEVBRCgmcC0+cHJvY2Vzc2VzKTsKKworCURCRyhQUk9DLCB1bF9kZWJ1Z29iaihwLCAibmV3IHBpZD0lZCIsIHAtPnBpZCkpOworCWxpc3RfYWRkX3RhaWwoJnAtPnByb2Nlc3NlcywgJmxzLT5wcm9jZXNzZXMpOworZG9uZToKKwlpZiAoZikKKwkJZmNsb3NlKGYpOworCWNsb3NlZGlyKGRpcik7CisJaWYgKHJjKQorCQlmcmVlKHApOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCByZWFkX3Byb2Nlc3NlcyhzdHJ1Y3QgbHNucyAqbHMpCit7CisJc3RydWN0IHByb2NfcHJvY2Vzc2VzICpwcm9jID0gTlVMTDsKKwlwaWRfdCBwaWQ7CisJaW50IHJjID0gMDsKKworCURCRyhQUk9DLCB1bF9kZWJ1Zygib3BlbmluZyAvcHJvYyIpKTsKKworCWlmICghKHByb2MgPSBwcm9jX29wZW5fcHJvY2Vzc2VzKCkpKSB7CisJCXJjID0gLWVycm5vOworCQlnb3RvIGRvbmU7CisJfQorCisJd2hpbGUgKHByb2NfbmV4dF9waWQocHJvYywgJnBpZCkgPT0gMCkgeworCQlyYyA9IHJlYWRfcHJvY2VzcyhscywgcGlkKTsKKwkJaWYgKHJjICYmIHJjICE9IC1FQUNDRVMgJiYgcmMgIT0gLUVOT0VOVCkKKwkJCWJyZWFrOworCQlyYyA9IDA7CisJfQorZG9uZToKKwlEQkcoUFJPQywgdWxfZGVidWcoImNsb3NpbmcgL3Byb2MiKSk7CisJcHJvY19jbG9zZV9wcm9jZXNzZXMocHJvYyk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgc3RydWN0IGxzbnNfbmFtZXNwYWNlICpnZXRfbmFtZXNwYWNlKHN0cnVjdCBsc25zICpscywgaW5vX3QgaW5vKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZscy0+bmFtZXNwYWNlcykgeworCQlzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKm5zID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UsIG5hbWVzcGFjZXMpOworCisJCWlmIChucy0+aWQgPT0gaW5vKQorCQkJcmV0dXJuIG5zOworCX0KKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGludCBuYW1lc3BhY2VfaGFzX3Byb2Nlc3Moc3RydWN0IGxzbnNfbmFtZXNwYWNlICpucywgcGlkX3QgcGlkKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZucy0+cHJvY2Vzc2VzKSB7CisJCXN0cnVjdCBsc25zX3Byb2Nlc3MgKnByb2MgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsc25zX3Byb2Nlc3MsIG5zX3NpYmxpbmdzW25zLT50eXBlXSk7CisKKwkJaWYgKHByb2MtPnBpZCA9PSBwaWQpCisJCQlyZXR1cm4gMTsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKmFkZF9uYW1lc3BhY2Uoc3RydWN0IGxzbnMgKmxzLCBpbnQgdHlwZSwgaW5vX3QgaW5vKQoreworCXN0cnVjdCBsc25zX25hbWVzcGFjZSAqbnMgPSB4Y2FsbG9jKDEsIHNpemVvZigqbnMpKTsKKworCWlmICghbnMpCisJCXJldHVybiBOVUxMOworCisJREJHKE5TLCB1bF9kZWJ1Z29iaihucywgIm5ldyAlc1slanVdIiwgbnNfbmFtZXNbdHlwZV0sICh1aW50bWF4X3QpaW5vKSk7CisKKwlJTklUX0xJU1RfSEVBRCgmbnMtPnByb2Nlc3Nlcyk7CisJSU5JVF9MSVNUX0hFQUQoJm5zLT5uYW1lc3BhY2VzKTsKKworCW5zLT50eXBlID0gdHlwZTsKKwlucy0+aWQgPSBpbm87CisKKwlsaXN0X2FkZF90YWlsKCZucy0+bmFtZXNwYWNlcywgJmxzLT5uYW1lc3BhY2VzKTsKKwlyZXR1cm4gbnM7Cit9CisKK3N0YXRpYyBpbnQgYWRkX3Byb2Nlc3NfdG9fbmFtZXNwYWNlKHN0cnVjdCBsc25zICpscywgc3RydWN0IGxzbnNfbmFtZXNwYWNlICpucywgc3RydWN0IGxzbnNfcHJvY2VzcyAqcHJvYykKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCisJREJHKE5TLCB1bF9kZWJ1Z29iaihucywgImFkZCBwcm9jZXNzIFslcF0gcGlkPSVkIHRvICVzWyVqdV0iLAorCQlwcm9jLCBwcm9jLT5waWQsIG5zX25hbWVzW25zLT50eXBlXSwgKHVpbnRtYXhfdClucy0+aWQpKTsKKworCWxpc3RfZm9yX2VhY2gocCwgJmxzLT5wcm9jZXNzZXMpIHsKKwkJc3RydWN0IGxzbnNfcHJvY2VzcyAqeHByb2MgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsc25zX3Byb2Nlc3MsIHByb2Nlc3Nlcyk7CisKKwkJaWYgKHhwcm9jLT5waWQgPT0gcHJvYy0+cHBpZCkJCS8qIG15IHBhcmVudCAqLworCQkJcHJvYy0+cGFyZW50ID0geHByb2M7CisJCWVsc2UgaWYgKHhwcm9jLT5wcGlkID09IHByb2MtPnBpZCkJLyogbXkgY2hpbGQgKi8KKwkJCXhwcm9jLT5wYXJlbnQgPSBwcm9jOworCX0KKworCWxpc3RfYWRkX3RhaWwoJnByb2MtPm5zX3NpYmxpbmdzW25zLT50eXBlXSwgJm5zLT5wcm9jZXNzZXMpOworCW5zLT5ucHJvY3MrKzsKKworCWlmICghbnMtPnByb2MgfHwgbnMtPnByb2MtPnBpZCA+IHByb2MtPnBpZCkKKwkJbnMtPnByb2MgPSBwcm9jOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgY21wX25hbWVzcGFjZXMoc3RydWN0IGxpc3RfaGVhZCAqYSwgc3RydWN0IGxpc3RfaGVhZCAqYiwKKwkJCSAgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpIHZvaWQgKmRhdGEpCit7CisJc3RydWN0IGxzbnNfbmFtZXNwYWNlICp4YSA9IGxpc3RfZW50cnkoYSwgc3RydWN0IGxzbnNfbmFtZXNwYWNlLCBuYW1lc3BhY2VzKSwKKwkJCSAgICAgICp4YiA9IGxpc3RfZW50cnkoYiwgc3RydWN0IGxzbnNfbmFtZXNwYWNlLCBuYW1lc3BhY2VzKTsKKworCXJldHVybiBjbXBfbnVtYmVycyh4YS0+aWQsIHhiLT5pZCk7Cit9CisKK3N0YXRpYyBpbnQgbmV0bnNpZF94YXNwdXRzKGNoYXIgKipzdHIsIGludCBuZXRuc2lkKQoreworCWlmIChuZXRuc2lkID49IDApCisJCXJldHVybiB4YXNwcmludGYoc3RyLCAiJWQiLCBuZXRuc2lkKTsKKyNpZmRlZiBORVROU0FfTlNJRF9OT1RfQVNTSUdORUQKKwllbHNlIGlmIChuZXRuc2lkID09IE5FVE5TQV9OU0lEX05PVF9BU1NJR05FRCkKKwkJcmV0dXJuIHhhc3ByaW50ZihzdHIsICIlcyIsICJ1bmFzc2lnbmVkIik7CisjZW5kaWYKKwllbHNlCisJCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHJlYWRfbmFtZXNwYWNlcyhzdHJ1Y3QgbHNucyAqbHMpCit7CisJc3RydWN0IGxpc3RfaGVhZCAqcDsKKworCURCRyhOUywgdWxfZGVidWcoInJlYWRpbmcgbmFtZXNwYWNlIikpOworCisJbGlzdF9mb3JfZWFjaChwLCAmbHMtPnByb2Nlc3NlcykgeworCQlzaXplX3QgaTsKKwkJc3RydWN0IGxzbnNfbmFtZXNwYWNlICpuczsKKwkJc3RydWN0IGxzbnNfcHJvY2VzcyAqcHJvYyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGxzbnNfcHJvY2VzcywgcHJvY2Vzc2VzKTsKKworCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShwcm9jLT5uc19pZHMpOyBpKyspIHsKKwkJCWlmIChwcm9jLT5uc19pZHNbaV0gPT0gMCkKKwkJCQljb250aW51ZTsKKwkJCWlmICghKG5zID0gZ2V0X25hbWVzcGFjZShscywgcHJvYy0+bnNfaWRzW2ldKSkpIHsKKwkJCQlucyA9IGFkZF9uYW1lc3BhY2UobHMsIGksIHByb2MtPm5zX2lkc1tpXSk7CisJCQkJaWYgKCFucykKKwkJCQkJcmV0dXJuIC1FTk9NRU07CisJCQl9CisJCQlhZGRfcHJvY2Vzc190b19uYW1lc3BhY2UobHMsIG5zLCBwcm9jKTsKKwkJfQorCX0KKworCWxpc3Rfc29ydCgmbHMtPm5hbWVzcGFjZXMsIGNtcF9uYW1lc3BhY2VzLCBOVUxMKTsKKworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlzX25zZnNfcm9vdChzdHJ1Y3QgbGlibW50X2ZzICpmcywgdm9pZCAqZGF0YSkKK3sKKwlpZiAoIW1udF9mc19tYXRjaF9mc3R5cGUoZnMsICJuc2ZzIikgfHwgIW1udF9mc19nZXRfcm9vdChmcykpCisJCXJldHVybiAwOworCisJcmV0dXJuIChzdHJjbXAobW50X2ZzX2dldF9yb290KGZzKSwgKGNoYXIgKilkYXRhKSA9PSAwKTsKK30KKworc3RhdGljIGludCBpc19wYXRoX2luY2x1ZGVkKGNvbnN0IGNoYXIgKnBhdGhfc2V0LCBjb25zdCBjaGFyICplbHQsCisJCQkgICAgICBjb25zdCBjaGFyIHNlcCkKK3sKKwlzaXplX3QgZWx0X2xlbjsKKwlzaXplX3QgcGF0aF9zZXRfbGVuOworCWNoYXIgKnRtcDsKKworCisJdG1wID0gc3Ryc3RyKHBhdGhfc2V0LCBlbHQpOworCWlmICghdG1wKQorCQlyZXR1cm4gMDsKKworCWVsdF9sZW4gPSBzdHJsZW4oZWx0KTsKKwlwYXRoX3NldF9sZW4gPSBzdHJsZW4ocGF0aF9zZXQpOworCisJLyogcGF0aF9zZXQgaW5jbHVkZXMgb25seSBlbHQgb3IKKwkgKiBwYXRoX3NldCBpbmNsdWRlcyBlbHQgYXMgdGhlIGZpcnN0IGVsZW1lbnQuCisJICovCisJaWYgKHRtcCA9PSBwYXRoX3NldAorCSAgICAmJiAoKHBhdGhfc2V0X2xlbiA9PSBlbHRfbGVuKQorCQl8fCAocGF0aF9zZXRbZWx0X2xlbl0gPT0gc2VwKSkpCisJCXJldHVybiAxOworCisJLyogcGF0aF9zZXQgaW5jbHVkZXMgZWx0IGF0IHRoZSBtaWRkbGUKKwkgKiBvciBhcyB0aGUgbGFzdCBlbGVtZW50LgorCSAqLworCWlmICgoKih0bXAgLSAxKSA9PSBzZXApCisJICAgICYmICgoKih0bXAgKyBlbHRfbGVuKSA9PSBzZXApCisJCXx8ICgqKHRtcCArIGVsdF9sZW4pID09ICdcMCcpKSkKKwkJcmV0dXJuIDE7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBuc2ZzX3hhc3B1dHMoY2hhciAqKnN0ciwKKwkJCXN0cnVjdCBsc25zX25hbWVzcGFjZSAqbnMsCisJCQlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YWIsCisJCQljaGFyIHNlcCkKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9GT1JXQVJEKTsKKwljaGFyICpleHBlY3RlZF9yb290OworCXN0cnVjdCBsaWJtbnRfZnMgKmZzID0gTlVMTDsKKworCXhhc3ByaW50ZigmZXhwZWN0ZWRfcm9vdCwgIiVzOlslanVdIiwgbnNfbmFtZXNbbnMtPnR5cGVdLCAodWludG1heF90KW5zLT5pZCk7CisJKnN0ciA9IE5VTEw7CisKKwl3aGlsZSAobW50X3RhYmxlX2ZpbmRfbmV4dF9mcyh0YWIsIGl0ciwgaXNfbnNmc19yb290LAorCQkJCSAgICAgIGV4cGVjdGVkX3Jvb3QsICZmcykgPT0gMCkgeworCisJCWNvbnN0IGNoYXIgKnRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKworCQlpZiAoISpzdHIpCisJCQl4YXNwcmludGYoc3RyLCAiJXMiLCB0Z3QpOworCisJCWVsc2UgaWYgKCFpc19wYXRoX2luY2x1ZGVkKCpzdHIsIHRndCwgc2VwKSkgeworCQkJY2hhciAqdG1wID0gTlVMTDsKKworCQkJeGFzcHJpbnRmKCZ0bXAsICIlcyVjJXMiLCAqc3RyLCBzZXAsIHRndCk7CisJCQlmcmVlKCpzdHIpOworCQkJKnN0ciA9IHRtcDsKKwkJfQorCX0KKwlmcmVlKGV4cGVjdGVkX3Jvb3QpOworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKworCXJldHVybiAxOworfQorc3RhdGljIHZvaWQgYWRkX3Njb2xzX2xpbmUoc3RydWN0IGxzbnMgKmxzLCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLAorCQkJICAgc3RydWN0IGxzbnNfbmFtZXNwYWNlICpucywgc3RydWN0IGxzbnNfcHJvY2VzcyAqcHJvYykKK3sKKwlzaXplX3QgaTsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbGluZTsKKworCWFzc2VydChucyk7CisJYXNzZXJ0KHRhYmxlKTsKKworCWxpbmUgPSBzY29sc190YWJsZV9uZXdfbGluZSh0YWJsZSwKKwkJCWxzLT50cmVlICYmIHByb2MtPnBhcmVudCA/IHByb2MtPnBhcmVudC0+b3V0bGluZSA6IE5VTEwpOworCWlmICghbGluZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBhZGQgbGluZSB0byBvdXRwdXQiKSk7CisJCXJldHVybjsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgbmNvbHVtbnM7IGkrKykgeworCQljaGFyICpzdHIgPSBOVUxMOworCisJCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChpKSkgeworCQljYXNlIENPTF9OUzoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWp1IiwgKHVpbnRtYXhfdClucy0+aWQpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BJRDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCAoaW50KSBwcm9jLT5waWQpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1BQSUQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiVkIiwgKGludCkgcHJvYy0+cHBpZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVFlQRToKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXMiLCBuc19uYW1lc1tucy0+dHlwZV0pOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX05QUk9DUzoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJWQiLCBucy0+bnByb2NzKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9DT01NQU5EOgorCQkJc3RyID0gcHJvY19nZXRfY29tbWFuZChwcm9jLT5waWQpOworCQkJaWYgKCFzdHIpCisJCQkJc3RyID0gcHJvY19nZXRfY29tbWFuZF9uYW1lKHByb2MtPnBpZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfUEFUSDoKKwkJCXhhc3ByaW50Zigmc3RyLCAiL3Byb2MvJWQvbnMvJXMiLCAoaW50KSBwcm9jLT5waWQsIG5zX25hbWVzW25zLT50eXBlXSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVUlEOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlZCIsIChpbnQpIHByb2MtPnVpZCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVVNFUjoKKwkJCXhhc3ByaW50Zigmc3RyLCAiJXMiLCBnZXRfaWQodWlkX2NhY2hlLCBwcm9jLT51aWQpLT5uYW1lKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9ORVROU0lEOgorCQkJaWYgKG5zLT50eXBlID09IExTTlNfSURfTkVUKQorCQkJCW5ldG5zaWRfeGFzcHV0cygmc3RyLCBwcm9jLT5uZXRuc2lkKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9OU0ZTOgorCQkJbnNmc194YXNwdXRzKCZzdHIsIG5zLCBscy0+dGFiLCBscy0+bm9fd3JhcCA/ICcsJyA6ICdcbicpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCisJCWlmIChzdHIgJiYgc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxpbmUsIGksIHN0cikgIT0gMCkKKwkJCWVycl9vb20oKTsKKwl9CisKKwlwcm9jLT5vdXRsaW5lID0gbGluZTsKK30KKworc3RhdGljIHN0cnVjdCBsaWJzY29sc190YWJsZSAqaW5pdF9zY29sc190YWJsZShzdHJ1Y3QgbHNucyAqbHMpCit7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWI7CisJc2l6ZV90IGk7CisKKwl0YWIgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRhYikgeworCQl3YXJuKF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCB0YWJsZSIpKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCisJc2NvbHNfdGFibGVfZW5hYmxlX3Jhdyh0YWIsIGxzLT5yYXcpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKHRhYiwgbHMtPmpzb24pOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYiwgbHMtPm5vX2hlYWRpbmdzKTsKKworCWlmIChscy0+anNvbikKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUodGFiLCAibmFtZXNwYWNlcyIpOworCisJZm9yIChpID0gMDsgaSA8IG5jb2x1bW5zOyBpKyspIHsKKwkJY29uc3Qgc3RydWN0IGNvbGluZm8gKmNvbCA9IGdldF9jb2x1bW5faW5mbyhpKTsKKwkJaW50IGZsYWdzID0gY29sLT5mbGFnczsKKwkJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisKKwkJaWYgKGxzLT5ub190cnVuYykKKwkJICAgICAgIGZsYWdzICY9IH5TQ09MU19GTF9UUlVOQzsKKwkJaWYgKGxzLT50cmVlICYmIGdldF9jb2x1bW5faWQoaSkgPT0gQ09MX0NPTU1BTkQpCisJCQlmbGFncyB8PSBTQ09MU19GTF9UUkVFOworCQlpZiAobHMtPm5vX3dyYXApCisJCQlmbGFncyAmPSB+U0NPTFNfRkxfV1JBUDsKKworCQljbCA9IHNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFiLCBjb2wtPm5hbWUsIGNvbC0+d2hpbnQsIGZsYWdzKTsKKwkJaWYgKGNsID09IE5VTEwpIHsKKwkJCXdhcm54KF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJCQlnb3RvIGVycjsKKwkJfQorCQlpZiAobHMtPmpzb24pCisJCQlzY29sc19jb2x1bW5fc2V0X2pzb25fdHlwZShjbCwgY29sLT5qc29uX3R5cGUpOworCisJCWlmICghbHMtPm5vX3dyYXAgJiYgZ2V0X2NvbHVtbl9pZChpKSA9PSBDT0xfTlNGUykgeworCQkJc2NvbHNfY29sdW1uX3NldF93cmFwZnVuYyhjbCwKKwkJCQkJCSAgc2NvbHNfd3JhcG5sX2NodW5rc2l6ZSwKKwkJCQkJCSAgc2NvbHNfd3JhcG5sX25leHRjaHVuaywKKwkJCQkJCSAgTlVMTCk7CisJCQlzY29sc19jb2x1bW5fc2V0X3NhZmVjaGFycyhjbCwgIlxuIik7CisJCX0KKwl9CisKKwlyZXR1cm4gdGFiOworZXJyOgorCXNjb2xzX3VucmVmX3RhYmxlKHRhYik7CisJcmV0dXJuIE5VTEw7Cit9CisKK3N0YXRpYyBpbnQgc2hvd19uYW1lc3BhY2VzKHN0cnVjdCBsc25zICpscykKK3sKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYjsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCWludCByYyA9IDA7CisKKwl0YWIgPSBpbml0X3Njb2xzX3RhYmxlKGxzKTsKKwlpZiAoIXRhYikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZscy0+bmFtZXNwYWNlcykgeworCQlzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKm5zID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UsIG5hbWVzcGFjZXMpOworCisJCWlmIChscy0+Zmx0cl9waWQgIT0gMCAmJiAhbmFtZXNwYWNlX2hhc19wcm9jZXNzKG5zLCBscy0+Zmx0cl9waWQpKQorCQkJY29udGludWU7CisKKwkJYWRkX3Njb2xzX2xpbmUobHMsIHRhYiwgbnMsIG5zLT5wcm9jKTsKKwl9CisKKwlzY29sc19wcmludF90YWJsZSh0YWIpOworCXNjb2xzX3VucmVmX3RhYmxlKHRhYik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCBzaG93X3Byb2Nlc3Moc3RydWN0IGxzbnMgKmxzLCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYiwKKwkJCSBzdHJ1Y3QgbHNuc19wcm9jZXNzICpwcm9jLCBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKm5zKQoreworCS8qCisJICogY3JlYXRlIGEgdHJlZSBmcm9tIHBhcmVudC0+Y2hpbGQgcmVsYXRpb24sIGJ1dCBvbmx5IGlmIHRoZSBwYXJlbnQgaXMKKwkgKiB3aXRoaW4gdGhlIHNhbWUgbmFtZXNwYWNlCisJICovCisJaWYgKGxzLT50cmVlCisJICAgICYmIHByb2MtPnBhcmVudAorCSAgICAmJiAhcHJvYy0+cGFyZW50LT5vdXRsaW5lCisJICAgICYmIHByb2MtPnBhcmVudC0+bnNfaWRzW25zLT50eXBlXSA9PSBwcm9jLT5uc19pZHNbbnMtPnR5cGVdKQorCQlzaG93X3Byb2Nlc3MobHMsIHRhYiwgcHJvYy0+cGFyZW50LCBucyk7CisKKwlhZGRfc2NvbHNfbGluZShscywgdGFiLCBucywgcHJvYyk7Cit9CisKKworc3RhdGljIGludCBzaG93X25hbWVzcGFjZV9wcm9jZXNzZXMoc3RydWN0IGxzbnMgKmxzLCBzdHJ1Y3QgbHNuc19uYW1lc3BhY2UgKm5zKQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFiOworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwl0YWIgPSBpbml0X3Njb2xzX3RhYmxlKGxzKTsKKwlpZiAoIXRhYikKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlsaXN0X2Zvcl9lYWNoKHAsICZucy0+cHJvY2Vzc2VzKSB7CisJCXN0cnVjdCBsc25zX3Byb2Nlc3MgKnByb2MgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBsc25zX3Byb2Nlc3MsIG5zX3NpYmxpbmdzW25zLT50eXBlXSk7CisKKwkJaWYgKCFwcm9jLT5vdXRsaW5lKQorCQkJc2hvd19wcm9jZXNzKGxzLCB0YWIsIHByb2MsIG5zKTsKKwl9CisKKworCXNjb2xzX3ByaW50X3RhYmxlKHRhYik7CisJc2NvbHNfdW5yZWZfdGFibGUodGFiKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJc2l6ZV90IGk7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisKKwlmcHJpbnRmKG91dCwKKwkJXygiICVzIFtvcHRpb25zXSBbPG5hbWVzcGFjZT5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkxpc3Qgc3lzdGVtIG5hbWVzcGFjZXMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1KLCAtLWpzb24gICAgICAgICAgICAgdXNlIEpTT04gb3V0cHV0IGZvcm1hdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1sLCAtLWxpc3QgICAgICAgICAgICAgdXNlIGxpc3QgZm9ybWF0IG91dHB1dFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5vaGVhZGluZ3MgICAgICAgZG9uJ3QgcHJpbnQgaGVhZGluZ3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1vdXRwdXQgPGxpc3Q+ICAgIGRlZmluZSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byB1c2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1vdXRwdXQtYWxsICAgICAgIG91dHB1dCBhbGwgY29sdW1uc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1wLCAtLXRhc2sgPHBpZD4gICAgICAgcHJpbnQgcHJvY2VzcyBuYW1lc3BhY2VzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tbm90cnVuY2F0ZSAgICAgICBkb24ndCB0cnVuY2F0ZSB0ZXh0IGluIGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVywgLS1ub3dyYXAgICAgICAgICAgIGRvbid0IHVzZSBtdWx0aS1saW5lIHJlcHJlc2VudGF0aW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdHlwZSA8bmFtZT4gICAgICBuYW1lc3BhY2UgdHlwZSAobW50LCBuZXQsIGlwYywgdXNlciwgcGlkLCB1dHMsIGNncm91cClcbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjQpKTsKKworCWZwdXRzKFVTQUdFX0NPTFVNTlMsIG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYob3V0LCAiICUxMXMgICVzXG4iLCBpbmZvc1tpXS5uYW1lLCBfKGluZm9zW2ldLmhlbHApKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgibHNucyg4KSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCBsc25zIGxzOworCWludCBjOworCWludCByID0gMDsKKwljaGFyICpvdXRhcmcgPSBOVUxMOworCWVudW0geworCQlPUFRfT1VUUFVUX0FMTCA9IENIQVJfTUFYICsgMQorCX07CisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ19vcHRzW10gPSB7CisJCXsgImpzb24iLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0onIH0sCisJCXsgInRhc2siLCAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3AnIH0sCisJCXsgImhlbHAiLAlub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnIH0sCisJCXsgIm91dHB1dCIsICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nIH0sCisJCXsgIm91dHB1dC1hbGwiLCBub19hcmd1bWVudCwgICAgICAgTlVMTCwgT1BUX09VVFBVVF9BTEwgfSwKKwkJeyAibm90cnVuY2F0ZSIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndScgfSwKKwkJeyAidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyAibm9oZWFkaW5ncyIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgfSwKKwkJeyAibm93cmFwIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVycgfSwKKwkJeyAibGlzdCIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbCcgfSwKKwkJeyAicmF3IiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgfSwKKwkJeyAidHlwZSIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCcgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CS8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnSicsJ3InIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisJaW50IGlzX25ldCA9IDA7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJbHNuc19pbml0X2RlYnVnKCk7CisJbWVtc2V0KCZscywgMCwgc2l6ZW9mKGxzKSk7CisKKwlJTklUX0xJU1RfSEVBRCgmbHMucHJvY2Vzc2VzKTsKKwlJTklUX0xJU1RfSEVBRCgmbHMubmFtZXNwYWNlcyk7CisJSU5JVF9MSVNUX0hFQUQoJm5ldG5zaWRzX2NhY2hlKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkJIkpscDpvOm5ydWhWdDpXIiwgbG9uZ19vcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ19vcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdKJzoKKwkJCWxzLmpzb24gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJbHMubGlzdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlvdXRhcmcgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfT1VUUFVUX0FMTDoKKwkJCWZvciAobmNvbHVtbnMgPSAwOyBuY29sdW1ucyA8IEFSUkFZX1NJWkUoaW5mb3MpOyBuY29sdW1ucysrKQorCQkJCWNvbHVtbnNbbmNvbHVtbnNdID0gbmNvbHVtbnM7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3AnOgorCQkJbHMuZmx0cl9waWQgPSBzdHJ0b3MzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIFBJRCBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ24nOgorCQkJbHMubm9faGVhZGluZ3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJbHMubm9fd3JhcCA9IGxzLnJhdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlscy5ub190cnVuYyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCXsKKwkJCWludCB0eXBlID0gbnNfbmFtZTJ0eXBlKG9wdGFyZyk7CisJCQlpZiAodHlwZSA8IDApCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gbmFtZXNwYWNlIHR5cGU6ICVzIiksIG9wdGFyZyk7CisJCQlscy5mbHRyX3R5cGVzW3R5cGVdID0gMTsKKwkJCWxzLmZsdHJfbnR5cGVzKys7CisJCQlpZiAodHlwZSA9PSBMU05TX0lEX05FVCkKKwkJCQlpc19uZXQgPSAxOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAnVyc6CisJCQlscy5ub193cmFwID0gMTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKCFscy5mbHRyX250eXBlcykgeworCQlzaXplX3QgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShuc19uYW1lcyk7IGkrKykKKwkJCWxzLmZsdHJfdHlwZXNbaV0gPSAxOworCX0KKworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCWlmIChscy5mbHRyX3BpZCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCItLXRhc2sgaXMgbXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggPG5hbWVzcGFjZT4iKSk7CisJCWxzLmZsdHJfbnMgPSBzdHJ0b3U2NF9vcl9lcnIoYXJndltvcHRpbmRdLCBfKCJpbnZhbGlkIG5hbWVzcGFjZSBhcmd1bWVudCIpKTsKKwkJbHMudHJlZSA9IGxzLmxpc3QgPyAwIDogMTsKKworCQlpZiAoIW5jb2x1bW5zKSB7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1BJRDsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfUFBJRDsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVVNFUjsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQ09NTUFORDsKKwkJfQorCX0KKworCWlmICghbmNvbHVtbnMpIHsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9OUzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9UWVBFOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX05QUk9DUzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9QSUQ7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVVNFUjsKKwkJaWYgKGlzX25ldCkgeworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9ORVROU0lEOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9OU0ZTOworCQl9CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQ09NTUFORDsKKwl9CisKKwlpZiAob3V0YXJnICYmIHN0cmluZ19hZGRfdG9faWRhcnJheShvdXRhcmcsIGNvbHVtbnMsIEFSUkFZX1NJWkUoY29sdW1ucyksCisJCQkJICAmbmNvbHVtbnMsIGNvbHVtbl9uYW1lX3RvX2lkKSA8IDApCisJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwlzY29sc19pbml0X2RlYnVnKDApOworCisJdWlkX2NhY2hlID0gbmV3X2lkY2FjaGUoKTsKKwlpZiAoIXVpZF9jYWNoZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIFVJRCBjYWNoZSIpKTsKKworI2lmZGVmIEhBVkVfTElOVVhfTkVUX05BTUVTUEFDRV9ICisJaWYgKGhhc19jb2x1bW4oQ09MX05FVE5TSUQpKQorCQluZXRsaW5rX2ZkID0gc29ja2V0KEFGX05FVExJTkssIFNPQ0tfUkFXLCBORVRMSU5LX1JPVVRFKTsKKyNlbmRpZgorCWlmIChoYXNfY29sdW1uKENPTF9OU0ZTKSkgeworCQlscy50YWIgPSBtbnRfbmV3X3RhYmxlX2Zyb21fZmlsZShfUEFUSF9QUk9DX01PVU5USU5GTyk7CisJCWlmICghbHMudGFiKQorCQkJZXJyKE1OVF9FWF9GQUlMLCBfKCJmYWlsZWQgdG8gcGFyc2UgJXMiKSwgX1BBVEhfUFJPQ19NT1VOVElORk8pOworCX0KKworCXIgPSByZWFkX3Byb2Nlc3NlcygmbHMpOworCWlmICghcikKKwkJciA9IHJlYWRfbmFtZXNwYWNlcygmbHMpOworCWlmICghcikgeworCQlpZiAobHMuZmx0cl9ucykgeworCQkJc3RydWN0IGxzbnNfbmFtZXNwYWNlICpucyA9IGdldF9uYW1lc3BhY2UoJmxzLCBscy5mbHRyX25zKTsKKworCQkJaWYgKCFucykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm90IGZvdW5kIG5hbWVzcGFjZTogJWp1IiksICh1aW50bWF4X3QpIGxzLmZsdHJfbnMpOworCQkJciA9IHNob3dfbmFtZXNwYWNlX3Byb2Nlc3NlcygmbHMsIG5zKTsKKwkJfSBlbHNlCisJCQlyID0gc2hvd19uYW1lc3BhY2VzKCZscyk7CisJfQorCisJbW50X2ZyZWVfdGFibGUobHMudGFiKTsKKwlpZiAobmV0bGlua19mZCA+PSAwKQorCQljbG9zZShuZXRsaW5rX2ZkKTsKKwlmcmVlX2lkY2FjaGUodWlkX2NhY2hlKTsKKwlyZXR1cm4gciA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL21vdW50LjggYi9zeXMtdXRpbHMvbW91bnQuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDRhMTFhCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL21vdW50LjgKQEAgLTAsMCArMSwyNTg1IEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTk2LTIwMDQgQW5kcmllcyBCcm91d2VyCisuXCIgQ29weXJpZ2h0IChDKSAyMDA2LTIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuXCIKKy5cIiBUaGlzIHBhZ2UgaXMgc29tZXdoYXQgZGVyaXZlZCBmcm9tIGEgcGFnZSB0aGF0IHdhcworLlwiIChjKSAxOTgwLCAxOTg5LCAxOTkxIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEKKy5cIiBhbmQgaGFkIGJlZW4gaGVhdmlseSBtb2RpZmllZCBieSBSaWsgRmFpdGggYW5kIG15c2VsZi4KKy5cIiAoUHJvYmFibHkgbm8gQlNEIHRleHQgcmVtYWlucy4pCisuXCIgRnJhZ21lbnRzIG9mIHRleHQgd2VyZSB3cml0dGVuIGJ5IFdlcm5lciBBbG1lc2JlcmdlciwgUmVteSBDYXJkLAorLlwiIFN0ZXBoZW4gVHdlZWRpZSBhbmQgRXJpYyBZb3VuZ2RhbGUuCisuXCIKKy5cIiBUaGlzIGlzIGZyZWUgZG9jdW1lbnRhdGlvbjsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisuXCIgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKy5cIiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorLlwiIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLlwiCisuXCIgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlJ3MgcmVmZXJlbmNlcyB0byAib2JqZWN0IGNvZGUiCisuXCIgYW5kICJleGVjdXRhYmxlcyIgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIHRoZSBvdXRwdXQgb2YgYW55CisuXCIgZG9jdW1lbnQgZm9ybWF0dGluZyBvciB0eXBlc2V0dGluZyBzeXN0ZW0sIGluY2x1ZGluZworLlwiIGludGVybWVkaWF0ZSBhbmQgcHJpbnRlZCBvdXRwdXQuCisuXCIKKy5cIiBUaGlzIG1hbnVhbCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLlwiIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisuXCIgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisuXCIKKy5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworLlwiIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisuXCIgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKy5cIgorLlRIIE1PVU5UIDggIkF1Z3VzdCAyMDE1IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCittb3VudCBcLSBtb3VudCBhIGZpbGVzeXN0ZW0KKy5TSCBTWU5PUFNJUworLkIgbW91bnQKKy5SQiBbIFwtbCB8IFwtaCB8IFwtViBdCisuTFAKKy5CIG1vdW50IFwtYQorLlJCIFsgXC1mRm5yc3Z3IF0KKy5SQiBbIFwtdAorLklSIGZzdHlwZSBdCisuUkIgWyBcLU8KKy5JUiBvcHRsaXN0IF0KKy5MUAorLkIgbW91bnQKKy5SQiBbIFwtZm5yc3Z3IF0KKy5SQiBbIFwtbworLklSIG9wdGlvbnMgXQorLklSIGRldmljZSB8IGRpcgorLkxQCisuQiBtb3VudAorLlJCIFsgXC1mbnJzdncgXQorLlJCIFsgXC10CisuSUIgZnN0eXBlIF0KKy5SQiBbIFwtbworLklSIG9wdGlvbnMgXQorLkkgZGV2aWNlIGRpcgorLlNIIERFU0NSSVBUSU9OCitBbGwgZmlsZXMgYWNjZXNzaWJsZSBpbiBhIFVuaXggc3lzdGVtIGFyZSBhcnJhbmdlZCBpbiBvbmUgYmlnCit0cmVlLCB0aGUgZmlsZSBoaWVyYXJjaHksIHJvb3RlZCBhdAorLklSIC8gLgorVGhlc2UgZmlsZXMgY2FuIGJlIHNwcmVhZCBvdXQgb3ZlciBzZXZlcmFsIGRldmljZXMuICBUaGUKKy5CIG1vdW50Citjb21tYW5kIHNlcnZlcyB0byBhdHRhY2ggdGhlIGZpbGVzeXN0ZW0gZm91bmQgb24gc29tZSBkZXZpY2UKK3RvIHRoZSBiaWcgZmlsZSB0cmVlLiAgQ29udmVyc2VseSwgdGhlCisuQlIgdW1vdW50ICg4KQorY29tbWFuZCB3aWxsIGRldGFjaCBpdCBhZ2Fpbi4gIFRoZSBmaWxlc3lzdGVtIGlzIHVzZWQgdG8gY29udHJvbCBob3cgZGF0YSBpcworc3RvcmVkIG9uIHRoZSBkZXZpY2Ugb3IgcHJvdmlkZWQgaW4gYSB2aXJ0dWFsIHdheSBieSBuZXR3b3JrIG9yIGFub3RoZXIgc2VydmljZXMuCisKK1RoZSBzdGFuZGFyZCBmb3JtIG9mIHRoZQorLkIgbW91bnQKK2NvbW1hbmQgaXM6CisuUlMKKworLmJyCisuQkkgIm1vdW50IFwtdCIgIiB0eXBlIGRldmljZSBkaXIiCisuYnIKKworLlJFCitUaGlzIHRlbGxzIHRoZSBrZXJuZWwgdG8gYXR0YWNoIHRoZSBmaWxlc3lzdGVtIGZvdW5kIG9uCisuSSBkZXZpY2UKKyh3aGljaCBpcyBvZiB0eXBlCisuSVIgdHlwZSApCithdCB0aGUgZGlyZWN0b3J5CisuSVIgZGlyIC4KK1RoZSBvcHRpb24gXGZCXC10IFxmSXR5cGVcZlIgaXMgb3B0aW9uYWwuICBUaGUKKy5CIG1vdW50Citjb21tYW5kIGlzIHVzdWFsbHkgYWJsZSB0byBkZXRlY3QgYSBmaWxlc3lzdGVtLiAgVGhlIHJvb3QgcGVybWlzc2lvbnMgYXJlIG5lY2Vzc2FyeQordG8gbW91bnQgYSBmaWxlc3lzdGVtIGJ5IGRlZmF1bHQuICBTZWUgc2VjdGlvbiAiTm9uLXN1cGVydXNlciBtb3VudHMiIGJlbG93IGZvciBtb3JlIGRldGFpbHMuCitUaGUgcHJldmlvdXMgY29udGVudHMgKGlmIGFueSkgYW5kIG93bmVyIGFuZCBtb2RlIG9mCisuSSBkaXIKK2JlY29tZSBpbnZpc2libGUsIGFuZCBhcyBsb25nIGFzIHRoaXMgZmlsZXN5c3RlbSByZW1haW5zIG1vdW50ZWQsCit0aGUgcGF0aG5hbWUKKy5JIGRpcgorcmVmZXJzIHRvIHRoZSByb290IG9mIHRoZSBmaWxlc3lzdGVtIG9uCisuSVIgZGV2aWNlIC4KKworSWYgb25seSB0aGUgZGlyZWN0b3J5IG9yIHRoZSBkZXZpY2UgaXMgZ2l2ZW4sIGZvciBleGFtcGxlOgorLlJTCisuc3AKKy5CIG1vdW50IC9kaXIKKy5zcAorLlJFCit0aGVuIFxmQm1vdW50XGZSIGxvb2tzIGZvciBhIG1vdW50cG9pbnQgKGFuZCBpZiBub3QgZm91bmQgdGhlbiBmb3IgYSBkZXZpY2UpIGluIHRoZQorLkkgL2V0Yy9mc3RhYgorZmlsZS4gIEl0J3MgcG9zc2libGUgdG8gdXNlIHRoZQorLkIgXC1cLXRhcmdldAorb3IKKy5CIFwtXC1zb3VyY2UKK29wdGlvbnMgdG8gYXZvaWQgYW1iaXZhbGVudCBpbnRlcnByZXRhdGlvbiBvZiB0aGUgZ2l2ZW4gYXJndW1lbnQuICBGb3IgZXhhbXBsZToKKy5SUworLnNwCisuQiBtb3VudCBcLVwtdGFyZ2V0IC9tb3VudHBvaW50Cisuc3AKKy5SRQorCitUaGUgc2FtZSBmaWxlc3lzdGVtIG1heSBiZSBtb3VudGVkIG1vcmUgdGhhbiBvbmNlLCBhbmQgaW4gc29tZSBjYXNlcyAoZS5nLgorbmV0d29yayBmaWxlc3lzdGVtcykgdGhlIHNhbWUgZmlsZXN5c3RlbSBtYXliZSBiZSBtb3VudGVkIG9uIHRoZSBzYW1lCittb3VudHBvaW50IG1vcmUgdGltZXMuIFRoZSBtb3VudCBjb21tYW5kIGRvZXMgbm90IGltcGxlbWVudCBhbnkgcG9saWN5IHRvCitjb250cm9sIHRoaXMgYmVoYXZpb3IuIEFsbCBiZWhhdmlvciBpcyBjb250cm9sbGVkIGJ5IGtlcm5lbCBhbmQgaXQgaXMgdXN1YWxseQorc3BlY2lmaWMgdG8gZmlsZXN5c3RlbSBkcml2ZXIuIFRoZSBleGNlcHRpb24gaXMgXGZCXC1cLWFsbFxmUiwgaW4gdGhpcyBjYXNlCithbHJlYWR5IG1vdW50ZWQgZmlsZXN5c3RlbXMgYXJlIGlnbm9yZWQgKHNlZSBcZkJcLVwtYWxsXGZSIGJlbG93IGZvciBtb3JlIGRldGFpbHMpLgorCisuU1MgTGlzdGluZyB0aGUgbW91bnRzCitUaGUgbGlzdGluZyBtb2RlIGlzIG1haW50YWluZWQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkgb25seS4KKworRm9yIG1vcmUgcm9idXN0IGFuZCBjdXN0b21pemFibGUgb3V0cHV0IHVzZQorLkJSIGZpbmRtbnQgKDgpLAorXGZCZXNwZWNpYWxseSBpbiB5b3VyIHNjcmlwdHNcZlAuICBOb3RlIHRoYXQgY29udHJvbCBjaGFyYWN0ZXJzIGluIHRoZQorbW91bnRwb2ludCBuYW1lIGFyZSByZXBsYWNlZCB3aXRoICc/Jy4KKworVGhlIGZvbGxvd2luZyBjb21tYW5kIGxpc3RzIGFsbCBtb3VudGVkIGZpbGVzeXN0ZW1zIChvZiB0eXBlCisuSVIgdHlwZSApOgorLlJTCisuc3AKKy5CUiAibW91bnQgIiBbIFwtbCAiXSBbIiAiXC10IFxmSXR5cGVcL1xmUCIgXQorLnNwCisuUkUKK1RoZSBvcHRpb24gXGZCXC1sXGZSIGFkZHMgbGFiZWxzIHRvIHRoaXMgbGlzdGluZy4gIFNlZSBiZWxvdy4KKworLlNTIEluZGljYXRpbmcgdGhlIGRldmljZSBhbmQgZmlsZXN5c3RlbQorTW9zdCBkZXZpY2VzIGFyZSBpbmRpY2F0ZWQgYnkgYSBmaWxlbmFtZSAob2YgYSBibG9jayBzcGVjaWFsIGRldmljZSksIGxpa2UKKy5JUiAvZGV2L3NkYTEgLAorYnV0IHRoZXJlIGFyZSBvdGhlciBwb3NzaWJpbGl0aWVzLiAgRm9yIGV4YW1wbGUsIGluIHRoZSBjYXNlIG9mIGFuIE5GUyBtb3VudCwKKy5JIGRldmljZQorbWF5IGxvb2sgbGlrZQorLklSIGtudXRoLmN3aS5ubDovZGlyIC4KK0l0IGlzIGFsc28gcG9zc2libGUgdG8gaW5kaWNhdGUgYSBibG9jayBzcGVjaWFsIGRldmljZSB1c2luZyBpdHMgZmlsZXN5c3RlbSBsYWJlbAorb3IgVVVJRCAoc2VlIHRoZSBcZkJcLUxcZlIgYW5kIFxmQlwtVVxmUiBvcHRpb25zIGJlbG93KSwgb3IgaXRzIHBhcnRpdGlvbiBsYWJlbAorb3IgVVVJRC4gIFBhcnRpdGlvbiBpZGVudGlmaWVycyBhcmUgc3VwcG9ydGVkIGZvciBleGFtcGxlIGZvciBHVUlEIFBhcnRpdGlvbgorVGFibGVzIChHUFQpLgorCitUaGUgZGV2aWNlIG5hbWUgb2YgZGlzayBwYXJ0aXRpb25zIGFyZSB1bnN0YWJsZTsgaGFyZHdhcmUgcmVjb25maWd1cmF0aW9uLAorYWRkaW5nIG9yIHJlbW92aW5nIGEgZGV2aWNlIGNhbiBjYXVzZSBjaGFuZ2UgaW4gbmFtZXMuIFRoaXMgaXMgcmVhc29uIHdoeSBpdCdzCitzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgZmlsZXN5c3RlbSBvciBwYXJ0aXRpb24gaWRlbnRpZmljYXRvcnMgbGlrZSBVVUlEIG9yCitMQUJFTC4KKworVGhlIGNvbW1hbmQgXGZCbHNibGsgLS1mc1xmUiBwcm92aWRlcyBvdmVydmlldyBvZiBmaWxlc3lzdGVtcywgTEFCRUxzIGFuZCBVVUlEcworb24gYXZhaWxhYmxlIGJsb2NrIGRldmljZXMuICBUaGUgY29tbWFuZCBcZkJibGtpZCAtcCA8ZGV2aWNlPlxmUiBwcm92aWRlcyBkZXRhaWxzIGFib3V0CithIGZpbGVzeXN0ZW0gb24gdGhlIHNwZWNpZmllZCBkZXZpY2UuCisKK0Rvbid0IGZvcmdldCB0aGF0IHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IFVVSURzIGFuZCBsYWJlbHMgYXJlIHJlYWxseQordW5pcXVlLCBlc3BlY2lhbGx5IGlmIHlvdSBtb3ZlLCBzaGFyZSBvciBjb3B5IHRoZSBkZXZpY2UuICBVc2UKKy5CICJsc2JsayBcLW8gK1VVSUQsUEFSVFVVSUQiCit0byB2ZXJpZnkgdGhhdCB0aGUgVVVJRHMgYXJlIHJlYWxseSB1bmlxdWUgaW4geW91ciBzeXN0ZW0uCisKK1RoZSByZWNvbW1lbmRlZCBzZXR1cCBpcyB0byB1c2UgdGFncyAoZS5nLlwmIFxmQlVVSUQ9XGZJdXVpZFxmUikgcmF0aGVyIHRoYW4KKy5JIC9kZXYvZGlzay9ieS17bGFiZWwsdXVpZCxwYXJ0dXVpZCxwYXJ0bGFiZWx9Cit1ZGV2IHN5bWxpbmtzIGluIHRoZQorLkkgL2V0Yy9mc3RhYgorZmlsZS4gIFRhZ3MgYXJlCittb3JlIHJlYWRhYmxlLCByb2J1c3QgYW5kIHBvcnRhYmxlLiAgVGhlCisuQlIgbW91bnQgKDgpCitjb21tYW5kIGludGVybmFsbHkgdXNlcyB1ZGV2CitzeW1saW5rcywgc28gdGhlIHVzZSBvZiBzeW1saW5rcyBpbiAvZXRjL2ZzdGFiIGhhcyBubyBhZHZhbnRhZ2Ugb3ZlciB0YWdzLgorRm9yIG1vcmUgZGV0YWlscyBzZWUKKy5CUiBsaWJibGtpZCAoMykuCisKK05vdGUgdGhhdAorLkJSIG1vdW50ICg4KQordXNlcyBVVUlEcyBhcyBzdHJpbmdzLiAgVGhlIFVVSURzIGZyb20gdGhlIGNvbW1hbmQgbGluZSBvciBmcm9tCisuQlIgZnN0YWIgKDUpCithcmUgbm90IGNvbnZlcnRlZCB0byBpbnRlcm5hbCBiaW5hcnkgcmVwcmVzZW50YXRpb24uICBUaGUgc3RyaW5nIHJlcHJlc2VudGF0aW9uCitvZiB0aGUgVVVJRCBzaG91bGQgYmUgYmFzZWQgb24gbG93ZXIgY2FzZSBjaGFyYWN0ZXJzLgorCitUaGUKKy5JIHByb2MKK2ZpbGVzeXN0ZW0gaXMgbm90IGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpYWwgZGV2aWNlLCBhbmQgd2hlbgorbW91bnRpbmcgaXQsIGFuIGFyYml0cmFyeSBrZXl3b3JkLCBzdWNoIGFzCisuSSBwcm9jCitjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIGEgZGV2aWNlIHNwZWNpZmljYXRpb24uCisoVGhlIGN1c3RvbWFyeSBjaG9pY2UKKy5JIG5vbmUKK2lzIGxlc3MgZm9ydHVuYXRlOiB0aGUgZXJyb3IgbWVzc2FnZSBgbm9uZSBhbHJlYWR5IG1vdW50ZWQnIGZyb20KKy5CIG1vdW50CitjYW4gYmUgY29uZnVzaW5nLikKKworLlNTIFRoZSBmaWxlcyAvZXRjL2ZzdGFiLCAvZXRjL210YWIgYW5kIC9wcm9jL21vdW50cworVGhlIGZpbGUKKy5JIC9ldGMvZnN0YWIKKyhzZWUKKy5CUiBmc3RhYiAoNSkpLAorbWF5IGNvbnRhaW4gbGluZXMgZGVzY3JpYmluZyB3aGF0IGRldmljZXMgYXJlIHVzdWFsbHkKK21vdW50ZWQgd2hlcmUsIHVzaW5nIHdoaWNoIG9wdGlvbnMuICBUaGUgZGVmYXVsdCBsb2NhdGlvbiBvZiB0aGUKKy5CUiBmc3RhYiAoNSkKK2ZpbGUgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCB0aGUKKy5CSSBcLVwtZnN0YWIgIiBwYXRoIgorY29tbWFuZC1saW5lIG9wdGlvbiAoc2VlIGJlbG93IGZvciBtb3JlIGRldGFpbHMpLgorLkxQCitUaGUgY29tbWFuZAorLlJTCisuc3AKKy5CIG1vdW50IFwtYQorLlJCIFsgXC10CisuSVIgdHlwZSBdCisuUkIgWyBcLU8KKy5JUiBvcHRsaXN0IF0KKy5zcAorLlJFCisodXN1YWxseSBnaXZlbiBpbiBhIGJvb3RzY3JpcHQpIGNhdXNlcyBhbGwgZmlsZXN5c3RlbXMgbWVudGlvbmVkIGluCisuSSBmc3RhYgorKG9mIHRoZSBwcm9wZXIgdHlwZSBhbmQvb3IgaGF2aW5nIG9yIG5vdCBoYXZpbmcgdGhlIHByb3BlciBvcHRpb25zKQordG8gYmUgbW91bnRlZCBhcyBpbmRpY2F0ZWQsIGV4Y2VwdCBmb3IgdGhvc2Ugd2hvc2UgbGluZSBjb250YWlucyB0aGUKKy5CIG5vYXV0bwora2V5d29yZC4gIEFkZGluZyB0aGUKKy5CIFwtRgorb3B0aW9uIHdpbGwgbWFrZSBcZkJtb3VudFxmUiBmb3JrLCBzbyB0aGF0IHRoZQorZmlsZXN5c3RlbXMgYXJlIG1vdW50ZWQgc2ltdWx0YW5lb3VzbHkuCisuTFAKK1doZW4gbW91bnRpbmcgYSBmaWxlc3lzdGVtIG1lbnRpb25lZCBpbgorLkkgZnN0YWIKK29yCisuSVIgbXRhYiAsCitpdCBzdWZmaWNlcyB0byBzcGVjaWZ5IG9uIHRoZSBjb21tYW5kIGxpbmUgb25seSB0aGUgZGV2aWNlLCBvciBvbmx5IHRoZSBtb3VudCBwb2ludC4KKy5zcAorVGhlIHByb2dyYW1zCisuQiBtb3VudAorYW5kCisuQiB1bW91bnQKK3RyYWRpdGlvbmFsbHkgbWFpbnRhaW5lZCBhIGxpc3Qgb2YgY3VycmVudGx5IG1vdW50ZWQgZmlsZXN5c3RlbXMgaW4gdGhlIGZpbGUKKy5JUiAvZXRjL210YWIgLgorVGhlIHN1cHBvcnQgZm9yIHJlZ3VsYXIgY2xhc3NpYworLklSIC9ldGMvbXRhYgoraXMgY29tcGxldGVseSBkaXNhYmxlZCBpbiBjb21waWxlIHRpbWUgYnkgZGVmYXVsdCwgYmVjYXVzZSBvbiBjdXJyZW50IExpbnV4CitzeXN0ZW1zIGl0IGlzIGJldHRlciB0byBtYWtlIGl0IGEgc3ltbGluayB0bworLkkgL3Byb2MvbW91bnRzCitpbnN0ZWFkLiBUaGUgcmVndWxhciBtdGFiIGZpbGUgbWFpbnRhaW5lZCBpbiB1c2Vyc3BhY2UgY2Fubm90IHJlbGlhYmx5Cit3b3JrIHdpdGggbmFtZXNwYWNlcywgY29udGFpbmVycyBhbmQgb3RoZXIgYWR2YW5jZWQgTGludXggZmVhdHVyZXMuCitJZiB0aGUgcmVndWxhciBtdGFiIHN1cHBvcnQgaXMgZW5hYmxlZCB0aGFuIGl0J3MgcG9zc2libGUgdG8KK3VzZSB0aGUgZmlsZSBhcyB3ZWxsIGFzIHRoZSBzeW1saW5rLgorLnNwCitJZiBubyBhcmd1bWVudHMgYXJlIGdpdmVuIHRvCisuQlIgbW91bnQgLAordGhlIGxpc3Qgb2YgbW91bnRlZCBmaWxlc3lzdGVtcyBpcyBwcmludGVkLgorLnNwCitJZiB5b3Ugd2FudCB0byBvdmVycmlkZSBtb3VudCBvcHRpb25zIGZyb20KKy5JIC9ldGMvZnN0YWIKK3lvdSBoYXZlIHRvIHVzZSB0aGUgXGZCXC1vXGZSIG9wdGlvbjoKKy5SUworLnNwCisuQkkgbW91bnQgIiBkZXZpY2UiIFxmUnwgImRpciAiIFwtbyAiIG9wdGlvbnMiCisuc3AKKy5SRQorYW5kIHRoZW4gdGhlIG1vdW50IG9wdGlvbnMgZnJvbSB0aGUgY29tbWFuZCBsaW5lIHdpbGwgYmUgYXBwZW5kZWQgdG8KK3RoZSBsaXN0IG9mIG9wdGlvbnMgZnJvbQorLklSIC9ldGMvZnN0YWIgLgorVGhpcyBkZWZhdWx0IGJlaGF2aW91ciBpcyBwb3NzaWJsZSB0byBjaGFuZ2UgYnkgY29tbWFuZCBsaW5lCitvcHRpb24gXGZCXC1cLW9wdGlvbnNcLW1vZGVcZlIuCitUaGUgdXN1YWwgYmVoYXZpb3IgaXMgdGhhdCB0aGUgbGFzdCBvcHRpb24gd2lucyBpZiB0aGVyZSBhcmUgY29uZmxpY3RpbmcKK29uZXMuCisuc3AKK1RoZQorLkIgbW91bnQKK3Byb2dyYW0gZG9lcyBub3QgcmVhZCB0aGUKKy5JIC9ldGMvZnN0YWIKK2ZpbGUgaWYgYm90aAorLkkgZGV2aWNlCisob3IgTEFCRUwsIFVVSUQsIFBBUlRVVUlEIG9yIFBBUlRMQUJFTCkgYW5kCisuSSBkaXIKK2FyZSBzcGVjaWZpZWQuICBGb3IgZXhhbXBsZSwgdG8gbW91bnQgZGV2aWNlCisuQlIgZm9vICIgYXQgIiAvZGlyIDoKKy5SUworLnNwCisuQiAibW91bnQgL2Rldi9mb28gL2RpciIKKy5zcAorLlJFCitUaGlzIGRlZmF1bHQgYmVoYXZpb3VyIGlzIHBvc3NpYmxlIHRvIGNoYW5nZSBieSBjb21tYW5kIGxpbmUgb3B0aW9uCitcZkJcLVwtb3B0aW9uc1wtc291cmNlXC1mb3JjZVxmUiB0byBhbHdheXMgcmVhZCBjb25maWd1cmF0aW9uIGZyb20gZnN0YWIuIEZvcgorbm9uLXJvb3QgdXNlcnMKKy5CIG1vdW50CithbHdheXMgcmVhZCBmc3RhYiBjb25maWd1cmF0aW9uLgorCisuU1MgTm9uLXN1cGVydXNlciBtb3VudHMKK05vcm1hbGx5LCBvbmx5IHRoZSBzdXBlcnVzZXIgY2FuIG1vdW50IGZpbGVzeXN0ZW1zLgorSG93ZXZlciwgd2hlbgorLkkgZnN0YWIKK2NvbnRhaW5zIHRoZQorLkIgdXNlcgorb3B0aW9uIG9uIGEgbGluZSwgYW55Ym9keSBjYW4gbW91bnQgdGhlIGNvcnJlc3BvbmRpbmcgZmlsZXN5c3RlbS4KKy5MUAorVGh1cywgZ2l2ZW4gYSBsaW5lCisuUlMKKy5zcAorLkIgIi9kZXYvY2Ryb20gIC9jZCAgaXNvOTY2MCAgcm8sdXNlcixub2F1dG8sdW5oaWRlIgorLnNwCisuUkUKK2FueSB1c2VyIGNhbiBtb3VudCB0aGUgaXNvOTY2MCBmaWxlc3lzdGVtIGZvdW5kIG9uIGFuIGluc2VydGVkIENEUk9NCit1c2luZyB0aGUgY29tbWFuZDoKKy5SUworLkIgIm1vdW50IC9jZCIKKy5zcAorLlJFCitOb3RlIHRoYXQgXGZCbW91bnRcZlIgaXMgdmVyeSBzdHJpY3QgYWJvdXQgbm9uLXJvb3QgdXNlcnMgYW5kIGFsbCBwYXRocworc3BlY2lmaWVkIG9uIGNvbW1hbmQgbGluZSBhcmUgdmVyaWZpZWQgYmVmb3JlIGZzdGFiIGlzIHBhcnNlZCBvciBhIGhlbHBlcgorcHJvZ3JhbSBpcyBleGVjdXRlZC4gSXQncyBzdHJvbmdseSByZWNvbW1lbmRlZCB0byB1c2UgYSB2YWxpZCBtb3VudHBvaW50IHRvCitzcGVjaWZ5IGZpbGVzeXN0ZW0sIG90aGVyd2lzZSBcZkJtb3VudFxmUiBtYXkgZmFpbC4gRm9yIGV4YW1wbGUgaXQncyBiYWQgaWRlYQordG8gdXNlIE5GUyBvciBDSUZTIHNvdXJjZSBvbiBjb21tYW5kIGxpbmUuCisuUFAKK0ZvciBtb3JlIGRldGFpbHMsIHNlZQorLkJSIGZzdGFiICg1KS4KK09ubHkgdGhlIHVzZXIgdGhhdCBtb3VudGVkIGEgZmlsZXN5c3RlbSBjYW4gdW5tb3VudCBpdCBhZ2Fpbi4KK0lmIGFueSB1c2VyIHNob3VsZCBiZSBhYmxlIHRvIHVubW91bnQgaXQsIHRoZW4gdXNlCisuQiB1c2VycworaW5zdGVhZCBvZgorLkIgdXNlcgoraW4gdGhlCisuSSBmc3RhYgorbGluZS4KK1RoZQorLkIgb3duZXIKK29wdGlvbiBpcyBzaW1pbGFyIHRvIHRoZQorLkIgdXNlcgorb3B0aW9uLCB3aXRoIHRoZSByZXN0cmljdGlvbiB0aGF0IHRoZSB1c2VyIG11c3QgYmUgdGhlIG93bmVyCitvZiB0aGUgc3BlY2lhbCBmaWxlLiAgVGhpcyBtYXkgYmUgdXNlZnVsIGUuZy5cJiBmb3IKKy5JIC9kZXYvZmQKK2lmIGEgbG9naW4gc2NyaXB0IG1ha2VzIHRoZSBjb25zb2xlIHVzZXIgb3duZXIgb2YgdGhpcyBkZXZpY2UuCitUaGUKKy5CIGdyb3VwCitvcHRpb24gaXMgc2ltaWxhciwgd2l0aCB0aGUgcmVzdHJpY3Rpb24gdGhhdCB0aGUgdXNlciBtdXN0IGJlCittZW1iZXIgb2YgdGhlIGdyb3VwIG9mIHRoZSBzcGVjaWFsIGZpbGUuCisKKy5TUyBCaW5kIG1vdW50IG9wZXJhdGlvbgorUmVtb3VudCBwYXJ0IG9mIHRoZSBmaWxlIGhpZXJhcmNoeSBzb21ld2hlcmUgZWxzZS4gIFRoZSBjYWxsIGlzOgorCisuUlMKKy5icgorLkIgbW91bnQgXC1cLWJpbmQKKy5JIG9sZGRpciBuZXdkaXIKKy5SRQorCitvciBieSB1c2luZyB0aGlzIGZzdGFiIGVudHJ5OgorCisuUlMKKy5icgorLkJJIC8gb2xkZGlyCisuQkkgLyBuZXdkaXIKKy5CIG5vbmUgYmluZAorLlJFCisKK0FmdGVyIHRoaXMgY2FsbCB0aGUgc2FtZSBjb250ZW50cyBhcmUgYWNjZXNzaWJsZSBpbiB0d28gcGxhY2VzLgorCitJdCBpcyBpbXBvcnRhbnQgdG8gdW5kZXJzdGFuZCB0aGF0ICJiaW5kIiBkb2VzIG5vdCB0byBjcmVhdGUgYW55IHNlY29uZC1jbGFzcworb3Igc3BlY2lhbCBub2RlIGluIHRoZSBrZXJuZWwgVkZTLiBUaGUgImJpbmQiIGlzIGp1c3QgYW5vdGhlciBvcGVyYXRpb24gdG8KK2F0dGFjaCBhIGZpbGVzeXN0ZW0uIFRoZXJlIGlzIG5vd2hlcmUgc3RvcmVkIGluZm9ybWF0aW9uIHRoYXQgdGhlIGZpbGVzeXN0ZW0KK2hhcyBiZWVuIGF0dGFjaGVkIGJ5ICJiaW5kIiBvcGVyYXRpb24uIFRoZSBcZklvbGRkaXJcZlIgYW5kIFxmSW5ld2RpclxmUiBhcmUKK2luZGVwZW5kZW50IGFuZCB0aGUgXGZJb2xkZGlyXGZSIG1heWJlIGJlIHVtb3VudGVkLgorCitPbmUgY2FuIGFsc28gcmVtb3VudCBhIHNpbmdsZSBmaWxlIChvbiBhIHNpbmdsZSBmaWxlKS4gIEl0J3MgYWxzbworcG9zc2libGUgdG8gdXNlIHRoZSBiaW5kIG1vdW50IHRvIGNyZWF0ZSBhIG1vdW50cG9pbnQgZnJvbSBhIHJlZ3VsYXIKK2RpcmVjdG9yeSwgZm9yIGV4YW1wbGU6CisKKy5SUworLmJyCisuQiBtb3VudCBcLVwtYmluZCBmb28gZm9vCisuUkUKKworVGhlIGJpbmQgbW91bnQgY2FsbCBhdHRhY2hlcyBvbmx5IChwYXJ0IG9mKSBhIHNpbmdsZSBmaWxlc3lzdGVtLCBub3QgcG9zc2libGUKK3N1Ym1vdW50cy4gIFRoZSBlbnRpcmUgZmlsZSBoaWVyYXJjaHkgaW5jbHVkaW5nIHN1Ym1vdW50cyBpcyBhdHRhY2hlZAorYSBzZWNvbmQgcGxhY2UgYnkgdXNpbmc6CisKKy5SUworLmJyCisuQiBtb3VudCBcLVwtcmJpbmQKKy5JIG9sZGRpciBuZXdkaXIKKy5SRQorCitOb3RlIHRoYXQgdGhlIGZpbGVzeXN0ZW0gbW91bnQgb3B0aW9ucyB3aWxsIHJlbWFpbiB0aGUgc2FtZSBhcyB0aG9zZQorb24gdGhlIG9yaWdpbmFsIG1vdW50IHBvaW50LgorCisuQlIgbW91bnQgKDgpCitzaW5jZSB2Mi4yNyBhbGxvd3MgdG8gY2hhbmdlIHRoZSBtb3VudCBvcHRpb25zIGJ5IHBhc3NpbmcgdGhlCityZWxldmFudCBvcHRpb25zIGFsb25nIHdpdGgKKy5CUiBcLVwtYmluZCAuCitGb3IgZXhhbXBsZToKKworLlJTCisuYnIKKy5CIG1vdW50IC1vIGJpbmQscm8gZm9vIGZvbworLlJFCisKK1RoaXMgZmVhdHVyZSBpcyBub3Qgc3VwcG9ydGVkIGJ5IHRoZSBMaW51eCBrZXJuZWw7IGl0IGlzIGltcGxlbWVudGVkIGluIHVzZXJzcGFjZQorYnkgYW4gYWRkaXRpb25hbCBcZkJtb3VudFxmUigyKSByZW1vdW50aW5nIHN5c3RlbSBjYWxsLgorVGhpcyBzb2x1dGlvbiBpcyBub3QgYXRvbWljLgorCitUaGUgYWx0ZXJuYXRpdmUgKGNsYXNzaWMpIHdheSB0byBjcmVhdGUgYSByZWFkLW9ubHkgYmluZCBtb3VudCBpcyB0byB1c2UgdGhlIHJlbW91bnQKK29wZXJhdGlvbiwgZm9yIGV4YW1wbGU6CisKKy5SUworLmJyCisuQiBtb3VudCBcLVwtYmluZAorLkkgb2xkZGlyIG5ld2RpcgorLmJyCisuQiBtb3VudCBcLW8gcmVtb3VudCxiaW5kLHJvCisuSSBvbGRkaXIgbmV3ZGlyCisuUkUKKworTm90ZSB0aGF0IGEgcmVhZC1vbmx5IGJpbmQgd2lsbCBjcmVhdGUgYSByZWFkLW9ubHkgbW91bnRwb2ludCAoVkZTIGVudHJ5KSwKK2J1dCB0aGUgb3JpZ2luYWwgZmlsZXN5c3RlbSBzdXBlcmJsb2NrIHdpbGwgc3RpbGwgYmUgd3JpdGFibGUsIG1lYW5pbmcgdGhhdCB0aGUKKy5JIG9sZGRpcgord2lsbCBiZSB3cml0YWJsZSwgYnV0IHRoZQorLkkgbmV3ZGlyCit3aWxsIGJlIHJlYWQtb25seS4KKworSXQncyBhbHNvIHBvc3NpYmxlIHRvIGNoYW5nZSBub3N1aWQsIG5vZGV2LCBub2V4ZWMsIG5vYXRpbWUsIG5vZGlyYXRpbWUgYW5kCityZWxhdGltZSBWRlMgZW50cnkgZmxhZ3MgYnkgInJlbW91bnQsYmluZCIgb3BlcmF0aW9uLiAgVGhlIGFub3RoZXIgKGZvciBleGFtcGxlCitmaWxlc3lzdGVtIHNwZWNpZmljIGZsYWdzKSBhcmUgc2lsZW50bHkgaWdub3JlZC4gIEl0J3MgaW1wb3NzaWJsZSB0byBjaGFuZ2UgbW91bnQKK29wdGlvbnMgcmVjdXJzaXZlbHkgKGZvciBleGFtcGxlIHdpdGggXGZCLW8gcmJpbmQscm9cZlIpLgorCisuQlIgbW91bnQgKDgpCitzaW5jZSB2Mi4zMSBpZ25vcmVzIHRoZSBcZkJiaW5kXGZSIGZsYWcgZnJvbQorLkkgL2V0Yy9mc3RhYgorb24KKy5CIHJlbW91bnQgb3BlcmF0aW9uCisoaWYgIi1vIHJlbW91bnQiIHNwZWNpZmllZCBvbiBjb21tYW5kIGxpbmUpLiBUaGlzIGlzIG5lY2Vzc2FyeSB0byBmdWxseSBjb250cm9sCittb3VudCBvcHRpb25zIG9uIHJlbW91bnQgYnkgY29tbWFuZCBsaW5lLiBJbiB0aGUgcHJldmlvdXMgdmVyc2lvbnMgdGhlIGJpbmQKK2ZsYWcgaGFzIGJlZW4gYWx3YXlzIGFwcGxpZWQgYW5kIGl0IHdhcyBpbXBvc3NpYmxlIHRvIHJlLWRlZmluZSBtb3VudCBvcHRpb25zCit3aXRob3V0IGludGVyYWN0aW9uIHdpdGggdGhlIGJpbmQgc2VtYW50aWMuIFRoaXMKKy5CUiBtb3VudCAoOCkKK2JlaGF2aW9yIGRvZXMgbm90IGFmZmVjdCBzaXR1YXRpb25zIHdoZW4gInJlbW91bnQsYmluZCIgaXMgc3BlY2lmaWVkIGluIHRoZQorLkkgL2V0Yy9mc3RhYgorZmlsZS4KKy5SRQorCisuU1MgVGhlIG1vdmUgb3BlcmF0aW9uCitNb3ZlIGEKKy5CIG1vdW50ZWQgdHJlZQordG8gYW5vdGhlciBwbGFjZSAoYXRvbWljYWxseSkuICBUaGUgY2FsbCBpczoKKworLlJTCisuYnIKKy5CIG1vdW50IFwtXC1tb3ZlCisuSSBvbGRkaXIgbmV3ZGlyCisuUkUKKworVGhpcyB3aWxsIGNhdXNlIHRoZSBjb250ZW50cyB3aGljaCBwcmV2aW91c2x5IGFwcGVhcmVkIHVuZGVyCisuSSBvbGRkaXIKK3RvIG5vdyBiZSBhY2Nlc3NpYmxlIHVuZGVyCisuSVIgbmV3ZGlyIC4KK1RoZSBwaHlzaWNhbCBsb2NhdGlvbiBvZiB0aGUgZmlsZXMgaXMgbm90IGNoYW5nZWQuCitOb3RlIHRoYXQKKy5JIG9sZGRpcgoraGFzIHRvIGJlIGEgbW91bnRwb2ludC4KKworTm90ZSBhbHNvIHRoYXQgbW92aW5nIGEgbW91bnQgcmVzaWRpbmcgdW5kZXIgYSBzaGFyZWQgbW91bnQgaXMgaW52YWxpZCBhbmQKK3Vuc3VwcG9ydGVkLiAgVXNlCisuQiBmaW5kbW50IFwtbyBUQVJHRVQsUFJPUEFHQVRJT04KK3RvIHNlZSB0aGUgY3VycmVudCBwcm9wYWdhdGlvbiBmbGFncy4KKworLlNTIFNoYXJlZCBzdWJ0cmVlIG9wZXJhdGlvbnMKK1NpbmNlIExpbnV4IDIuNi4xNSBpdCBpcyBwb3NzaWJsZSB0byBtYXJrIGEgbW91bnQgYW5kIGl0cyBzdWJtb3VudHMgYXMgc2hhcmVkLAorcHJpdmF0ZSwgc2xhdmUgb3IgdW5iaW5kYWJsZS4gIEEgc2hhcmVkIG1vdW50IHByb3ZpZGVzIHRoZSBhYmlsaXR5IHRvIGNyZWF0ZSBtaXJyb3JzCitvZiB0aGF0IG1vdW50IHN1Y2ggdGhhdCBtb3VudHMgYW5kIHVubW91bnRzIHdpdGhpbiBhbnkgb2YgdGhlIG1pcnJvcnMgcHJvcGFnYXRlCit0byB0aGUgb3RoZXIgbWlycm9yLiAgQSBzbGF2ZSBtb3VudCByZWNlaXZlcyBwcm9wYWdhdGlvbiBmcm9tIGl0cyBtYXN0ZXIsIGJ1dAorbm90IHZpY2UgdmVyc2EuICBBIHByaXZhdGUgbW91bnQgY2FycmllcyBubyBwcm9wYWdhdGlvbiBhYmlsaXRpZXMuICBBbgordW5iaW5kYWJsZSBtb3VudCBpcyBhIHByaXZhdGUgbW91bnQgd2hpY2ggY2Fubm90IGJlIGNsb25lZCB0aHJvdWdoIGEgYmluZAorb3BlcmF0aW9uLiAgVGhlIGRldGFpbGVkIHNlbWFudGljcyBhcmUgZG9jdW1lbnRlZCBpbgorLkkgRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9zaGFyZWRzdWJ0cmVlLnR4dAorZmlsZSBpbiB0aGUga2VybmVsIHNvdXJjZSB0cmVlLgorCitTdXBwb3J0ZWQgb3BlcmF0aW9ucyBhcmU6CisKKy5SUworLm5mCisuQkkgIm1vdW50IFwtXC1tYWtlXC1zaGFyZWQgIiBtb3VudHBvaW50CisuQkkgIm1vdW50IFwtXC1tYWtlXC1zbGF2ZSAiIG1vdW50cG9pbnQKKy5CSSAibW91bnQgXC1cLW1ha2VcLXByaXZhdGUgIiBtb3VudHBvaW50CisuQkkgIm1vdW50IFwtXC1tYWtlXC11bmJpbmRhYmxlICIgbW91bnRwb2ludAorLmZpCisuUkUKKworVGhlIGZvbGxvd2luZyBjb21tYW5kcyBhbGxvdyBvbmUgdG8gcmVjdXJzaXZlbHkgY2hhbmdlIHRoZSB0eXBlIG9mIGFsbCB0aGUKK21vdW50cyB1bmRlciBhIGdpdmVuIG1vdW50cG9pbnQuCisKKy5SUworLm5mCisuQkkgIm1vdW50IFwtXC1tYWtlXC1yc2hhcmVkICIgbW91bnRwb2ludAorLkJJICJtb3VudCBcLVwtbWFrZVwtcnNsYXZlICIgbW91bnRwb2ludAorLkJJICJtb3VudCBcLVwtbWFrZVwtcnByaXZhdGUgIiBtb3VudHBvaW50CisuQkkgIm1vdW50IFwtXC1tYWtlXC1ydW5iaW5kYWJsZSAiIG1vdW50cG9pbnQKKy5maQorLlJFCisKKy5CUiBtb3VudCAoOCkKKy5CIGRvZXMgbm90IHJlYWQKKy5CUiBmc3RhYiAoNSkKK3doZW4gYSBcZkJcLVwtbWFrZS1cZlIqIG9wZXJhdGlvbiBpcyByZXF1ZXN0ZWQuICBBbGwgbmVjZXNzYXJ5IGluZm9ybWF0aW9uIGhhcyB0byBiZQorc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUuCisKK05vdGUgdGhhdCB0aGUgTGludXgga2VybmVsIGRvZXMgbm90IGFsbG93IHRvIGNoYW5nZSBtdWx0aXBsZSBwcm9wYWdhdGlvbiBmbGFncword2l0aCBhIHNpbmdsZQorLkJSIG1vdW50ICgyKQorc3lzdGVtIGNhbGwsIGFuZCB0aGUgZmxhZ3MgY2Fubm90IGJlIG1peGVkIHdpdGggb3RoZXIgbW91bnQgb3B0aW9ucyBhbmQgb3BlcmF0aW9ucy4KKworU2luY2UgdXRpbC1saW51eCAyLjIzIHRoZSBcZkJtb3VudFxmUiBjb21tYW5kIGFsbG93cyB0byBkbyBtb3JlIHByb3BhZ2F0aW9uCisodG9wb2xvZ3kpIGNoYW5nZXMgYnkgb25lIG1vdW50KDgpIGNhbGwgYW5kIGRvIGl0IGFsc28gdG9nZXRoZXIgd2l0aCBvdGhlcgorbW91bnQgb3BlcmF0aW9ucy4gIFRoaXMgZmVhdHVyZSBpcyBFWFBFUklNRU5UQUwuICBUaGUgcHJvcGFnYXRpb24gZmxhZ3MgYXJlIGFwcGxpZWQKK2J5IGFkZGl0aW9uYWwgXGZCbW91bnRcZlIoMikgc3lzdGVtIGNhbGxzIHdoZW4gdGhlIHByZWNlZGluZyBtb3VudCBvcGVyYXRpb25zCit3ZXJlIHN1Y2Nlc3NmdWwuICBOb3RlIHRoYXQgdGhpcyB1c2UgY2FzZSBpcyBub3QgYXRvbWljLiAgSXQgaXMgcG9zc2libGUgdG8KK3NwZWNpZnkgdGhlIHByb3BhZ2F0aW9uIGZsYWdzIGluCisuQlIgZnN0YWIgKDUpCithcyBtb3VudCBvcHRpb25zCisuUkIgKCBwcml2YXRlICwKKy5CUiBzbGF2ZSAsCisuQlIgc2hhcmVkICwKKy5CUiB1bmJpbmRhYmxlICwKKy5CUiBycHJpdmF0ZSAsCisuQlIgcnNsYXZlICwKKy5CUiByc2hhcmVkICwKKy5CUiBydW5iaW5kYWJsZSApLgorCitGb3IgZXhhbXBsZToKKworLlJTCisubmYKKy5CIG1vdW50IFwtXC1tYWtlXC1wcml2YXRlIFwtXC1tYWtlXC11bmJpbmRhYmxlIC9kZXYvc2RhMSAvZm9vCisuZmkKKy5SRQorCitpcyB0aGUgc2FtZSBhczoKKworLlJTCisubmYKKy5CIG1vdW50IC9kZXYvc2RhMSAvZm9veAorLkIgbW91bnQgXC1cLW1ha2VcLXByaXZhdGUgL2ZvbworLkIgbW91bnQgXC1cLW1ha2VcLXVuYmluZGFibGUgL2ZvbworLmZpCisuUkUKKworLlNIIENPTU1BTkQtTElORSBPUFRJT05TCitUaGUgZnVsbCBzZXQgb2YgbW91bnQgb3B0aW9ucyB1c2VkIGJ5IGFuIGludm9jYXRpb24gb2YKKy5CIG1vdW50CitpcyBkZXRlcm1pbmVkIGJ5IGZpcnN0IGV4dHJhY3RpbmcgdGhlCittb3VudCBvcHRpb25zIGZvciB0aGUgZmlsZXN5c3RlbSBmcm9tIHRoZQorLkkgZnN0YWIKK3RhYmxlLCB0aGVuIGFwcGx5aW5nIGFueSBvcHRpb25zIHNwZWNpZmllZCBieSB0aGUKKy5CIFwtbworYXJndW1lbnQsIGFuZCBmaW5hbGx5IGFwcGx5aW5nIGEKKy5CUiBcLXIgIiBvciAiIFwtdworb3B0aW9uLCB3aGVuIHByZXNlbnQuCisKK1RoZSBjb21tYW5kIFxmQm1vdW50XGZSIGRvZXMgbm90IHBhc3MgYWxsIGNvbW1hbmQtbGluZSBvcHRpb25zIHRvIHRoZQorXGZCL3NiaW4vbW91bnQuXGZJc3VmZml4XGZSIG1vdW50IGhlbHBlcnMuICBUaGUgaW50ZXJmYWNlIGJldHdlZW4gXGZCbW91bnRcZlIKK2FuZCB0aGUgbW91bnQgaGVscGVycyBpcyBkZXNjcmliZWQgYmVsb3cgaW4gdGhlIHNlY3Rpb24gXGZCRVhURVJOQUwgSEVMUEVSU1xmUi4KKy5zcAorQ29tbWFuZC1saW5lIG9wdGlvbnMgYXZhaWxhYmxlIGZvciB0aGUKKy5CIG1vdW50Citjb21tYW5kIGFyZToKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFsbCIKK01vdW50IGFsbCBmaWxlc3lzdGVtcyAob2YgdGhlIGdpdmVuIHR5cGVzKSBtZW50aW9uZWQgaW4KKy5JIGZzdGFiCisoZXhjZXB0IGZvciB0aG9zZSB3aG9zZSBsaW5lIGNvbnRhaW5zIHRoZQorLkIgbm9hdXRvCitrZXl3b3JkKS4gIFRoZSBmaWxlc3lzdGVtcyBhcmUgbW91bnRlZCBmb2xsb3dpbmcgdGhlaXIgb3JkZXIgaW4KKy5JUiBmc3RhYiAuCitUaGUgbW91bnQgY29tbWFuZCBjb21wYXJlcyBmaWxlc3lzdGVtIHNvdXJjZSwgdGFyZ2V0IChhbmQgZnMgcm9vdCBmb3IgYmluZAorbW91bnQgb3IgYnRyZnMpIHRvIGRldGVjdCBhbHJlYWR5IG1vdW50ZWQgZmlsZXN5c3RlbXMuIFRoZSBrZXJuZWwgdGFibGUgd2l0aAorYWxyZWFkeSBtb3VudGVkIGZpbGVzeXN0ZW1zIGlzIGNhY2hlZCBkdXJpbmcgXGZCbW91bnQgXC1cLWFsbFxmUi4gSXQgbWVhbnMKK3RoYXQgYWxsIGR1cGxpY2F0ZWQgZnN0YWIgZW50cmllcyB3aWxsIGJlIG1vdW50ZWQuCisuc3AKK05vdGUgdGhhdCBpdCBpcyBhIGJhZCBwcmFjdGljZSB0byB1c2UgXGZCbW91bnQgXC1hXGZSIGZvcgorLkkgZnN0YWIKK2NoZWNraW5nLiBUaGUgcmVjb21tZW5kZWQgc29sdXRpb24gaXMgXGZCZmluZG1udCBcLVwtdmVyaWZ5XGZSLgorLlRQCisuQlIgXC1CICwgIiBcLVwtYmluZCIKK1JlbW91bnQgYSBzdWJ0cmVlIHNvbWV3aGVyZSBlbHNlIChzbyB0aGF0IGl0cyBjb250ZW50cyBhcmUgYXZhaWxhYmxlCitpbiBib3RoIHBsYWNlcykuICBTZWUgYWJvdmUsIHVuZGVyIFxmQkJpbmQgbW91bnRzXGZSLgorLlRQCisuQlIgXC1jICwgIiBcLVwtbm9cLWNhbm9uaWNhbGl6ZSIKK0Rvbid0IGNhbm9uaWNhbGl6ZSBwYXRocy4gIFRoZSBtb3VudCBjb21tYW5kIGNhbm9uaWNhbGl6ZXMgYWxsIHBhdGhzCisoZnJvbSBjb21tYW5kIGxpbmUgb3IgZnN0YWIpIGJ5IGRlZmF1bHQuICBUaGlzIG9wdGlvbiBjYW4gYmUgdXNlZAordG9nZXRoZXIgd2l0aCB0aGUKKy5CIFwtZgorZmxhZyBmb3IgYWxyZWFkeSBjYW5vbmljYWxpemVkIGFic29sdXRlIHBhdGhzLiAgVGhlIG9wdGlvbiBpcyBkZXNpZ25lZCBmb3IgbW91bnQKK2hlbHBlcnMgd2hpY2ggY2FsbCBcZkJtb3VudCAtaVxmUi4gIEl0IGlzIHN0cm9uZ2x5IHJlY29tbWVuZGVkIHRvIG5vdCB1c2UgdGhpcworY29tbWFuZC1saW5lIG9wdGlvbiBmb3Igbm9ybWFsIG1vdW50IG9wZXJhdGlvbnMuCisuc3AKK05vdGUgdGhhdCBcZkJtb3VudFxmUig4KSBkb2VzIG5vdCBwYXNzIHRoaXMgb3B0aW9uIHRvIHRoZQorXGZCL3NiaW4vbW91bnQuXGZJdHlwZVxmUiBoZWxwZXJzLgorLlRQCisuQlIgXC1GICwgIiBcLVwtZm9yayIKKyhVc2VkIGluIGNvbmp1bmN0aW9uIHdpdGgKKy5CUiBcLWEgLikKK0Zvcmsgb2ZmIGEgbmV3IGluY2FybmF0aW9uIG9mIFxmQm1vdW50XGZSIGZvciBlYWNoIGRldmljZS4KK1RoaXMgd2lsbCBkbyB0aGUgbW91bnRzIG9uIGRpZmZlcmVudCBkZXZpY2VzIG9yIGRpZmZlcmVudCBORlMgc2VydmVycworaW4gcGFyYWxsZWwuCitUaGlzIGhhcyB0aGUgYWR2YW50YWdlIHRoYXQgaXQgaXMgZmFzdGVyOyBhbHNvIE5GUyB0aW1lb3V0cyBnbyBpbgorcGFyYWxsZWwuICBBIGRpc2FkdmFudGFnZSBpcyB0aGF0IHRoZSBtb3VudHMgYXJlIGRvbmUgaW4gdW5kZWZpbmVkIG9yZGVyLgorVGh1cywgeW91IGNhbm5vdCB1c2UgdGhpcyBvcHRpb24gaWYgeW91IHdhbnQgdG8gbW91bnQgYm90aAorLkkgL3VzcgorYW5kCisuSVIgL3Vzci9zcG9vbCAuCisuSVAgIlxmQlwtZiwgXC1cLWZha2VcZlAiCitDYXVzZXMgZXZlcnl0aGluZyB0byBiZSBkb25lIGV4Y2VwdCBmb3IgdGhlIGFjdHVhbCBzeXN0ZW0gY2FsbDsgaWYgaXQncyBub3QKK29idmlvdXMsIHRoaXMgYGBmYWtlcycnIG1vdW50aW5nIHRoZSBmaWxlc3lzdGVtLiAgVGhpcyBvcHRpb24gaXMgdXNlZnVsIGluCitjb25qdW5jdGlvbiB3aXRoIHRoZQorLkIgXC12CitmbGFnIHRvIGRldGVybWluZSB3aGF0IHRoZQorLkIgbW91bnQKK2NvbW1hbmQgaXMgdHJ5aW5nIHRvIGRvLiAgSXQgY2FuIGFsc28gYmUgdXNlZCB0byBhZGQgZW50cmllcyBmb3IgZGV2aWNlcwordGhhdCB3ZXJlIG1vdW50ZWQgZWFybGllciB3aXRoIHRoZSBcZkJcLW5cZlIgb3B0aW9uLiAgVGhlIFxmQlwtZlxmUiBvcHRpb24KK2NoZWNrcyBmb3IgYW4gZXhpc3RpbmcgcmVjb3JkIGluIC9ldGMvbXRhYiBhbmQgZmFpbHMgd2hlbiB0aGUgcmVjb3JkIGFscmVhZHkKK2V4aXN0cyAod2l0aCBhIHJlZ3VsYXIgbm9uLWZha2UgbW91bnQsIHRoaXMgY2hlY2sgaXMgZG9uZSBieSB0aGUga2VybmVsKS4KKy5JUCAiXGZCXC1pLCBcLVwtaW50ZXJuYWxcLW9ubHlcZlAiCitEb24ndCBjYWxsIHRoZSBcZkIvc2Jpbi9tb3VudC5cZklmaWxlc3lzdGVtXGZSIGhlbHBlciBldmVuIGlmIGl0IGV4aXN0cy4KKy5UUAorLkJSIFwtTCAsICIgXC1cLWxhYmVsICIgXGZJbGFiZWwKK01vdW50IHRoZSBwYXJ0aXRpb24gdGhhdCBoYXMgdGhlIHNwZWNpZmllZAorLklSIGxhYmVsIC4KKy5UUAorLkJSIFwtbCAsICIgXC1cLXNob3dcLWxhYmVscyIKK0FkZCB0aGUgbGFiZWxzIGluIHRoZSBtb3VudCBvdXRwdXQuICBcZkJtb3VudFxmUiBtdXN0IGhhdmUKK3Blcm1pc3Npb24gdG8gcmVhZCB0aGUgZGlzayBkZXZpY2UgKGUuZy5cJiBiZSBzZXQtdXNlci1JRCByb290KSBmb3IgdGhpcyB0byB3b3JrLgorT25lIGNhbiBzZXQgc3VjaCBhIGxhYmVsIGZvciBleHQyLCBleHQzIG9yIGV4dDQgdXNpbmcgdGhlCisuQlIgZTJsYWJlbCAoOCkKK3V0aWxpdHksIG9yIGZvciBYRlMgdXNpbmcKKy5CUiB4ZnNfYWRtaW4gKDgpLAorb3IgZm9yIHJlaXNlcmZzIHVzaW5nCisuQlIgcmVpc2VyZnN0dW5lICg4KS4KKy5UUAorLkJSIFwtTSAsICIgXC1cLW1vdmUiCitNb3ZlIGEgc3VidHJlZSB0byBzb21lIG90aGVyIHBsYWNlLiAgU2VlIGFib3ZlLCB0aGUgc3Vic2VjdGlvbgorXGZCVGhlIG1vdmUgb3BlcmF0aW9uXGZSLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9cLW10YWIiCitNb3VudCB3aXRob3V0IHdyaXRpbmcgaW4KKy5JUiAvZXRjL210YWIgLgorVGhpcyBpcyBuZWNlc3NhcnkgZm9yIGV4YW1wbGUgd2hlbgorLkkgL2V0YworaXMgb24gYSByZWFkLW9ubHkgZmlsZXN5c3RlbS4KKy5UUAorLkJSIFwtTiAsICIgXC1cLW5hbWVzcGFjZSAiIFxmSW5zCitQZXJmb3JtIG1vdW50IGluIG5hbWVzcGFjZSBzcGVjaWZpZWQgYnkgXGZJbnNcZlIuCitcZkluc1xmUiBpcyBlaXRoZXIgUElEIG9mIHByb2Nlc3MgcnVubmluZyBpbiB0aGF0IG5hbWVzcGFjZQorb3Igc3BlY2lhbCBmaWxlIHJlcHJlc2VudGluZyB0aGF0IG5hbWVzcGFjZS4KKy5zcAorLkJSIG1vdW50ICg4KQorc3dpdGNoZXMgdG8gdGhlIG5hbWVzcGFjZSB3aGVuIGl0IHJlYWRzIC9ldGMvZnN0YWIsIHdyaXRlcyAvZXRjL210YWIgKG9yIHdyaXRlcyB0byAvcnVuL21vdW50KSBhbmQgY2FsbHMKKy5CUiBtb3VudCgyKQorc3lzdGVtIGNhbGwsIG90aGVyd2lzZSBpdCBydW5zIGluIHRoZSBvcmlnaW5hbCBuYW1lc3BhY2UuIEl0IG1lYW5zIHRoYXQgdGhlIHRhcmdldCBuYW1lc3BhY2UgZG9lcyBub3QgaGF2ZQordG8gY29udGFpbiBhbnkgbGlicmFyaWVzIG9yIGFub3RoZXIgcmVxdWlyZW1lbnRzIG5lY2Vzc2FyeSB0byBleGVjdXRlCisuQlIgbW91bnQoMikKK2NvbW1hbmQuCisuc3AKK1NlZSBcZkJuYW1lc3BhY2VzXGZSKDcpIGZvciBtb3JlIGluZm9ybWF0aW9uLgorLlRQCisuQlIgXC1PICwgIiBcLVwtdGVzdFwtb3B0cyAiIFxmSW9wdHMKK0xpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbXMgdG8gd2hpY2ggdGhlCisuQiBcLWEKK29wdGlvbiBhcHBsaWVzLiAgSW4gdGhpcyByZWdhcmQgaXQgaXMgbGlrZSB0aGUKKy5CIFwtdAorb3B0aW9uIGV4Y2VwdCB0aGF0CisuQiBcLU8KK2lzIHVzZWxlc3Mgd2l0aG91dAorLkJSIFwtYSAuCitGb3IgZXhhbXBsZSwgdGhlIGNvbW1hbmQ6CisuUlMKKy5SUworLnNwCisuQiAibW91bnQgXC1hIFwtTyBub19uZXRkZXYiCisuc3AKKy5SRQorbW91bnRzIGFsbCBmaWxlc3lzdGVtcyBleGNlcHQgdGhvc2Ugd2hpY2ggaGF2ZSB0aGUgb3B0aW9uCisuSSBfbmV0ZGV2CitzcGVjaWZpZWQgaW4gdGhlIG9wdGlvbnMgZmllbGQgaW4gdGhlCisuSSAvZXRjL2ZzdGFiCitmaWxlLgorCitJdCBpcyBkaWZmZXJlbnQgZnJvbQorLkIgXC10CitpbiB0aGF0IGVhY2ggb3B0aW9uIGlzIG1hdGNoZWQgZXhhY3RseTsgYSBsZWFkaW5nCisuQiBubworYXQgdGhlIGJlZ2lubmluZyBvZiBvbmUgb3B0aW9uIGRvZXMgbm90IG5lZ2F0ZSB0aGUgcmVzdC4KKworVGhlCisuQiBcLXQKK2FuZAorLkIgXC1PCitvcHRpb25zIGFyZSBjdW11bGF0aXZlIGluIGVmZmVjdDsgdGhhdCBpcywgdGhlIGNvbW1hbmQKKy5SUworLnNwCisuQiAibW91bnQgXC1hIFwtdCBleHQyIFwtTyBfbmV0ZGV2IgorLnNwCisuUkUKK21vdW50cyBhbGwgZXh0MiBmaWxlc3lzdGVtcyB3aXRoIHRoZSBfbmV0ZGV2IG9wdGlvbiwgbm90IGFsbCBmaWxlc3lzdGVtcwordGhhdCBhcmUgZWl0aGVyIGV4dDIgb3IgaGF2ZSB0aGUgX25ldGRldiBvcHRpb24gc3BlY2lmaWVkLgorLlJFCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vcHRpb25zICIgXGZJb3B0cworVXNlIHRoZSBzcGVjaWZpZWQgbW91bnQgb3B0aW9ucy4gIFRoZSBcZklvcHRzXGZSIGFyZ3VtZW50IGlzCithIGNvbW1hLXNlcGFyYXRlZCBsaXN0LiAgRm9yIGV4YW1wbGU6CisuUlMKKy5SUworLnNwCisuQiAibW91bnQgTEFCRUw9bXlkaXNrIFwtbyBub2F0aW1lLG5vZGV2LG5vc3VpZCIKKy5zcAorLlJFCisKK0ZvciBtb3JlIGRldGFpbHMsIHNlZSB0aGUKKy5CIEZJTEVTWVNURU0tSU5ERVBFTkRFTlQgTU9VTlQgT1BUSU9OUworYW5kCisuQiBGSUxFU1lTVEVNLVNQRUNJRklDIE1PVU5UIE9QVElPTlMKK3NlY3Rpb25zLgorLlJFCisKKy5UUAorLkJSICJcLVwtb3B0aW9uc1wtbW9kZSAiIFxmSW1vZGUKK0NvbnRyb2xzIGhvdyB0byBjb21iaW5lIG9wdGlvbnMgZnJvbSBmc3RhYi9tdGFiIHdpdGggb3B0aW9ucyBmcm9tIGNvbW1hbmQgbGluZS4KK1xmSW1vZGVcZlIgY2FuIGJlIG9uZSBvZgorLkJSIGlnbm9yZSAiLCAiIGFwcGVuZCAiLCAiIHByZXBlbmQgIiBvciAiIHJlcGxhY2UgLgorRm9yIGV4YW1wbGUgXGZCYXBwZW5kXGZSIG1lYW5zIHRoYXQgb3B0aW9ucyBmcm9tIGZzdGFiIGFyZSBhcHBlbmRlZCB0byBvcHRpb25zIGZyb20gY29tbWFuZCBsaW5lLgorRGVmYXVsdCB2YWx1ZSBpcyBcZkJwcmVwZW5kXGZSIC0tIGl0IG1lYW5zIGNvbW1hbmQgbGluZSBvcHRpb25zIGFyZSBldmFsdWF0ZWQgYWZ0ZXIgZnN0YWIgb3B0aW9ucy4KK05vdGUgdGhhdCB0aGUgbGFzdCBvcHRpb24gd2lucyBpZiB0aGVyZSBhcmUgY29uZmxpY3Rpbmcgb25lcy4KKworLlRQCisuQlIgIlwtXC1vcHRpb25zXC1zb3VyY2UgIiBcZklzb3VyY2UKK1NvdXJjZSBvZiBkZWZhdWx0IG9wdGlvbnMuCitcZklzb3VyY2VcZlIgaXMgY29tbWEgc2VwYXJhdGVkIGxpc3Qgb2YKKy5CUiBmc3RhYiAiLCAiIG10YWIgIiBhbmQgIiBkaXNhYmxlIC4KK1xmQmRpc2FibGVcZlIgZGlzYWJsZXMKKy5CUiBmc3RhYiAiIGFuZCAiIG10YWIKK2FuZCBkaXNhYmxlcyBcZkJcLVwtb3B0aW9uc1wtc291cmNlXC1mb3JjZVxmUi4KK0RlZmF1bHQgdmFsdWUgaXMgXGZCZnN0YWIsbXRhYlxmUi4KKworLlRQCisuQiBcLVwtb3B0aW9uc1wtc291cmNlXC1mb3JjZQorVXNlIG9wdGlvbnMgZnJvbSBmc3RhYi9tdGFiIGV2ZW4gaWYgYm90aCBcZklkZXZpY2VcZlIgYW5kIFxmSWRpclxmUiBhcmUgc3BlY2lmaWVkLgorCisuVFAKKy5CUiBcLVIgLCAiIFwtXC1yYmluZCIKK1JlbW91bnQgYSBzdWJ0cmVlIGFuZCBhbGwgcG9zc2libGUgc3VibW91bnRzIHNvbWV3aGVyZSBlbHNlIChzbyB0aGF0IGl0cworY29udGVudHMgYXJlIGF2YWlsYWJsZSBpbiBib3RoIHBsYWNlcykuICBTZWUgYWJvdmUsIHRoZSBzdWJzZWN0aW9uCitcZkJCaW5kIG1vdW50c1xmUi4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJlYWRcLW9ubHkiCitNb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkLW9ubHkuICBBIHN5bm9ueW0gaXMKKy5CUiAiXC1vIHJvIiAuCisuc3AKK05vdGUgdGhhdCwgZGVwZW5kaW5nIG9uIHRoZSBmaWxlc3lzdGVtIHR5cGUsIHN0YXRlIGFuZCBrZXJuZWwgYmVoYXZpb3IsIHRoZQorc3lzdGVtIG1heSBzdGlsbCB3cml0ZSB0byB0aGUgZGV2aWNlLiAgRm9yIGV4YW1wbGUsIGV4dDMgYW5kIGV4dDQgd2lsbCByZXBsYXkgdGhlCitqb3VybmFsIGlmIHRoZSBmaWxlc3lzdGVtIGlzIGRpcnR5LiAgVG8gcHJldmVudCB0aGlzIGtpbmQgb2Ygd3JpdGUgYWNjZXNzLCB5b3UKK21heSB3YW50IHRvIG1vdW50IGFuIGV4dDMgb3IgZXh0NCBmaWxlc3lzdGVtIHdpdGggdGhlIFxmQnJvLG5vbG9hZFxmUiBtb3VudAorb3B0aW9ucyBvciBzZXQgdGhlIGJsb2NrIGRldmljZSBpdHNlbGYgdG8gcmVhZC1vbmx5IG1vZGUsIHNlZSB0aGUKKy5CUiBibG9ja2RldiAoOCkKK2NvbW1hbmQuCisuVFAKKy5CIFwtcworVG9sZXJhdGUgc2xvcHB5IG1vdW50IG9wdGlvbnMgcmF0aGVyIHRoYW4gZmFpbGluZy4gIFRoaXMgd2lsbCBpZ25vcmUgbW91bnQKK29wdGlvbnMgbm90IHN1cHBvcnRlZCBieSBhIGZpbGVzeXN0ZW0gdHlwZS4gIE5vdCBhbGwgZmlsZXN5c3RlbXMgc3VwcG9ydCB0aGlzCitvcHRpb24uICBDdXJyZW50bHkgaXQncyBzdXBwb3J0ZWQgYnkgdGhlIFxmQm1vdW50Lm5mc1xmUiBtb3VudCBoZWxwZXIgb25seS4KKy5UUAorLkJJIFwtXC1zb3VyY2UgIiBkZXZpY2UiCitJZiBvbmx5IG9uZSBhcmd1bWVudCBmb3IgdGhlIG1vdW50IGNvbW1hbmQgaXMgZ2l2ZW4gdGhlbiB0aGUgYXJndW1lbnQgbWlnaHQgYmUKK2ludGVycHJldGVkIGFzIHRhcmdldCAobW91bnRwb2ludCkgb3Igc291cmNlIChkZXZpY2UpLiAgVGhpcyBvcHRpb24gYWxsb3dzIHRvCitleHBsaWNpdGx5IGRlZmluZSB0aGF0IHRoZSBhcmd1bWVudCBpcyB0aGUgbW91bnQgc291cmNlLgorLlRQCisuQkkgXC1cLXRhcmdldCAiIGRpcmVjdG9yeSIKK0lmIG9ubHkgb25lIGFyZ3VtZW50IGZvciB0aGUgbW91bnQgY29tbWFuZCBpcyBnaXZlbiB0aGVuIHRoZSBhcmd1bWVudCBtaWdodCBiZQoraW50ZXJwcmV0ZWQgYXMgdGFyZ2V0IChtb3VudHBvaW50KSBvciBzb3VyY2UgKGRldmljZSkuICBUaGlzIG9wdGlvbiBhbGxvd3MgdG8KK2V4cGxpY2l0bHkgZGVmaW5lIHRoYXQgdGhlIGFyZ3VtZW50IGlzIHRoZSBtb3VudCB0YXJnZXQuCisuVFAKKy5CUiBcLVQgLCAiIFwtXC1mc3RhYiAiIFxmSXBhdGgKK1NwZWNpZmllcyBhbiBhbHRlcm5hdGl2ZSBmc3RhYiBmaWxlLiAgSWYgXGZJcGF0aFxmUCBpcyBhIGRpcmVjdG9yeSB0aGVuIHRoZSBmaWxlcworaW4gdGhlIGRpcmVjdG9yeSBhcmUgc29ydGVkIGJ5CisuQlIgc3RydmVyc2NtcCAoMyk7CitmaWxlcyB0aGF0IHN0YXJ0IHdpdGggIi4iXCYgb3Igd2l0aG91dCBhbiBcJi5mc3RhYiBleHRlbnNpb24gYXJlIGlnbm9yZWQuICBUaGUgb3B0aW9uCitjYW4gYmUgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlLiAgVGhpcyBvcHRpb24gaXMgbW9zdGx5IGRlc2lnbmVkIGZvciBpbml0cmFtZnMKK29yIGNocm9vdCBzY3JpcHRzIHdoZXJlIGFkZGl0aW9uYWwgY29uZmlndXJhdGlvbiBpcyBzcGVjaWZpZWQgYmV5b25kIHN0YW5kYXJkCitzeXN0ZW0gY29uZmlndXJhdGlvbi4KKy5zcAorTm90ZSB0aGF0IFxmQm1vdW50XGZSKDgpIGRvZXMgbm90IHBhc3MgdGhlIG9wdGlvbiBcZkJcLVwtZnN0YWJcZlAgdG8gdGhlCitcZkIvc2Jpbi9tb3VudC5cZkl0eXBlXGZSIGhlbHBlcnMsIG1lYW5pbmcgdGhhdCB0aGUgYWx0ZXJuYXRpdmUgZnN0YWIgZmlsZXMgd2lsbCBiZQoraW52aXNpYmxlIGZvciB0aGUgaGVscGVycy4gIFRoaXMgaXMgbm8gcHJvYmxlbSBmb3Igbm9ybWFsIG1vdW50cywgYnV0IHVzZXIKKyhub24tcm9vdCkgbW91bnRzIGFsd2F5cyByZXF1aXJlIGZzdGFiIHRvIHZlcmlmeSB0aGUgdXNlcidzIHJpZ2h0cy4KKy5UUAorLkJSIFwtdCAsICIgXC1cLXR5cGVzICIgXGZJZnN0eXBlCitUaGUgYXJndW1lbnQgZm9sbG93aW5nIHRoZQorLkIgXC10CitpcyB1c2VkIHRvIGluZGljYXRlIHRoZSBmaWxlc3lzdGVtIHR5cGUuICBUaGUgZmlsZXN5c3RlbSB0eXBlcyB3aGljaCBhcmUKK2N1cnJlbnRseSBzdXBwb3J0ZWQgZGVwZW5kIG9uIHRoZSBydW5uaW5nIGtlcm5lbC4gIFNlZQorLkkgL3Byb2MvZmlsZXN5c3RlbXMKK2FuZAorLkkgL2xpYi9tb2R1bGVzLyQodW5hbWUgLXIpL2tlcm5lbC9mcworZm9yIGEgY29tcGxldGUgbGlzdCBvZiB0aGUgZmlsZXN5c3RlbXMuICBUaGUgbW9zdCBjb21tb24gYXJlIGV4dDIsIGV4dDMsIGV4dDQsCit4ZnMsIGJ0cmZzLCB2ZmF0LCBzeXNmcywgcHJvYywgbmZzIGFuZCBjaWZzLgorLnNwCitUaGUgcHJvZ3JhbXMKKy5CIG1vdW50CithbmQKKy5CIHVtb3VudAorc3VwcG9ydCBmaWxlc3lzdGVtIHN1YnR5cGVzLiAgVGhlIHN1YnR5cGUgaXMgZGVmaW5lZCBieSBhICcuc3VidHlwZScgc3VmZml4LiAgRm9yCitleGFtcGxlICAnZnVzZS5zc2hmcycuICBJdCdzIHJlY29tbWVuZGVkIHRvIHVzZSBzdWJ0eXBlIG5vdGF0aW9uIHJhdGhlciB0aGFuIGFkZAorYW55IHByZWZpeCB0byB0aGUgbW91bnQgc291cmNlIChmb3IgZXhhbXBsZSAnc3NoZnMjZXhhbXBsZS5jb20nIGlzCitkZXByZWNhdGVkKS4KKworSWYgbm8KKy5CIFwtdAorb3B0aW9uIGlzIGdpdmVuLCBvciBpZiB0aGUKKy5CIGF1dG8KK3R5cGUgaXMgc3BlY2lmaWVkLCBtb3VudCB3aWxsIHRyeSB0byBndWVzcyB0aGUgZGVzaXJlZCB0eXBlLgorTW91bnQgdXNlcyB0aGUgYmxraWQgbGlicmFyeSBmb3IgZ3Vlc3NpbmcgdGhlIGZpbGVzeXN0ZW0KK3R5cGU7IGlmIHRoYXQgZG9lcyBub3QgdHVybiB1cCBhbnl0aGluZyB0aGF0IGxvb2tzIGZhbWlsaWFyLAorbW91bnQgd2lsbCB0cnkgdG8gcmVhZCB0aGUgZmlsZQorLklSIC9ldGMvZmlsZXN5c3RlbXMgLAorb3IsIGlmIHRoYXQgZG9lcyBub3QgZXhpc3QsCisuSVIgL3Byb2MvZmlsZXN5c3RlbXMgLgorQWxsIG9mIHRoZSBmaWxlc3lzdGVtIHR5cGVzIGxpc3RlZCB0aGVyZSB3aWxsIGJlIHRyaWVkLAorZXhjZXB0IGZvciB0aG9zZSB0aGF0IGFyZSBsYWJlbGVkICJub2RldiIgKGUuZy5cJgorLklSIGRldnB0cyAsCisuSSBwcm9jCithbmQKKy5JUiBuZnMgKS4KK0lmCisuSSAvZXRjL2ZpbGVzeXN0ZW1zCitlbmRzIGluIGEgbGluZSB3aXRoIGEgc2luZ2xlICosIG1vdW50IHdpbGwgcmVhZAorLkkgL3Byb2MvZmlsZXN5c3RlbXMKK2FmdGVyd2FyZHMuICBXaGlsZSB0cnlpbmcsIGFsbCBmaWxlc3lzdGVtIHR5cGVzIHdpbGwgYmUKK21vdW50ZWQgd2l0aCB0aGUgbW91bnQgb3B0aW9uIFxmQnNpbGVudFxmUi4KKy5zcAorVGhlCisuQiBhdXRvCit0eXBlIG1heSBiZSB1c2VmdWwgZm9yIHVzZXItbW91bnRlZCBmbG9wcGllcy4KK0NyZWF0aW5nIGEgZmlsZQorLkkgL2V0Yy9maWxlc3lzdGVtcworY2FuIGJlIHVzZWZ1bCB0byBjaGFuZ2UgdGhlIHByb2JlIG9yZGVyIChlLmcuLCB0byB0cnkgdmZhdCBiZWZvcmUgbXNkb3MKK29yIGV4dDMgYmVmb3JlIGV4dDIpIG9yIGlmIHlvdSB1c2UgYSBrZXJuZWwgbW9kdWxlIGF1dG9sb2FkZXIuCisuc3AKK01vcmUgdGhhbiBvbmUgdHlwZSBtYXkgYmUgc3BlY2lmaWVkIGluIGEgY29tbWEtc2VwYXJhdGVkCitsaXN0LCBmb3Igb3B0aW9uCisuQiBcLXQKK2FzIHdlbGwgYXMgaW4gYW4KKy5JIC9ldGMvZnN0YWIKK2VudHJ5LiAgVGhlIGxpc3Qgb2YgZmlsZXN5c3RlbSB0eXBlcyBmb3Igb3B0aW9uCisuQiBcLXQKK2NhbiBiZSBwcmVmaXhlZCB3aXRoCisuQiBubwordG8gc3BlY2lmeSB0aGUgZmlsZXN5c3RlbSB0eXBlcyBvbiB3aGljaCBubyBhY3Rpb24gc2hvdWxkIGJlIHRha2VuLgorVGhlIHByZWZpeAorLkIgbm8KK2hhcyBubyBlZmZlY3Qgd2hlbiBzcGVjaWZpZWQgaW4gYW4KKy5JIC9ldGMvZnN0YWIKK2VudHJ5LgorLnNwCitUaGUgcHJlZml4CisuQiBubworY2FuIGJlIG1lYW5pbmdmdWwgd2l0aCB0aGUKKy5CIFwtYQorb3B0aW9uLiAgRm9yIGV4YW1wbGUsIHRoZSBjb21tYW5kCisuUlMKKy5SUworLnNwCisuQiAibW91bnQgXC1hIFwtdCBub21zZG9zLHNtYmZzIgorLnNwCisuUkUKK21vdW50cyBhbGwgZmlsZXN5c3RlbXMgZXhjZXB0IHRob3NlIG9mIHR5cGUKKy5JIG1zZG9zCithbmQKKy5JUiBzbWJmcyAuCisuc3AKK0ZvciBtb3N0IHR5cGVzIGFsbCB0aGUKKy5CIG1vdW50Citwcm9ncmFtIGhhcyB0byBkbyBpcyBpc3N1ZSBhIHNpbXBsZQorLkJSIG1vdW50ICgyKQorc3lzdGVtIGNhbGwsIGFuZCBubyBkZXRhaWxlZCBrbm93bGVkZ2Ugb2YgdGhlIGZpbGVzeXN0ZW0gdHlwZSBpcyByZXF1aXJlZC4KK0ZvciBhIGZldyB0eXBlcyBob3dldmVyIChsaWtlIG5mcywgbmZzNCwgY2lmcywgc21iZnMsIG5jcGZzKSBhbiBhZCBob2MgY29kZSBpcworbmVjZXNzYXJ5LiAgVGhlIG5mcywgbmZzNCwgY2lmcywgc21iZnMsIGFuZCBuY3BmcyBmaWxlc3lzdGVtcworaGF2ZSBhIHNlcGFyYXRlIG1vdW50IHByb2dyYW0uICBJbiBvcmRlciB0byBtYWtlIGl0IHBvc3NpYmxlIHRvCit0cmVhdCBhbGwgdHlwZXMgaW4gYSB1bmlmb3JtIHdheSwgXGZCbW91bnRcZlIgd2lsbCBleGVjdXRlIHRoZSBwcm9ncmFtCisuQkkgL3NiaW4vbW91bnQuIHR5cGUKKyhpZiB0aGF0IGV4aXN0cykgd2hlbiBjYWxsZWQgd2l0aCB0eXBlCisuSVIgdHlwZSAuCitTaW5jZSBkaWZmZXJlbnQgdmVyc2lvbnMgb2YgdGhlCisuQiBzbWJtb3VudAorcHJvZ3JhbSBoYXZlIGRpZmZlcmVudCBjYWxsaW5nIGNvbnZlbnRpb25zLAorLkIgL3NiaW4vbW91bnQuc21iZnMKK21heSBoYXZlIHRvIGJlIGEgc2hlbGwgc2NyaXB0IHRoYXQgc2V0cyB1cCB0aGUgZGVzaXJlZCBjYWxsLgorLlJFCisuVFAKKy5CUiBcLVUgLCAiIFwtXC11dWlkICIgXGZJdXVpZAorTW91bnQgdGhlIHBhcnRpdGlvbiB0aGF0IGhhcyB0aGUgc3BlY2lmaWVkCisuSVIgdXVpZCAuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorVmVyYm9zZSBtb2RlLgorLlRQCisuQlIgXC13ICwgIiBcLVwtcnciICwgIiBcLVwtcmVhZFwtd3JpdGUiCitNb3VudCB0aGUgZmlsZXN5c3RlbSByZWFkL3dyaXRlLiBUaGUgcmVhZC13cml0ZSBpcyBrZXJuZWwgZGVmYXVsdC4gIEEgc3lub255bSBpcworLkJSICJcLW8gcnciIC4KKworTm90ZSB0aGF0IHNwZWNpZnkgXGZCXC13XGZSIG9uIGNvbW1hbmQgbGluZSBmb3JjZXMgXGZCbW91bnRcZlIgY29tbWFuZAordG8gbmV2ZXIgdHJ5IHJlYWQtb25seSBtb3VudCBvbiB3cml0ZS1wcm90ZWN0ZWQgZGV2aWNlcy4gVGhlIGRlZmF1bHQgaXMKK3RyeSByZWFkLW9ubHkgaWYgdGhlIHByZXZpb3VzIG1vdW50IHN5c2NhbGwgd2l0aCByZWFkLXdyaXRlIGZsYWdzIGZhaWxlZC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisKKy5TSCBGSUxFU1lTVEVNLUlOREVQRU5ERU5UIE1PVU5UIE9QVElPTlMKK1NvbWUgb2YgdGhlc2Ugb3B0aW9ucyBhcmUgb25seSB1c2VmdWwgd2hlbiB0aGV5IGFwcGVhciBpbiB0aGUKKy5JIC9ldGMvZnN0YWIKK2ZpbGUuCisKK1NvbWUgb2YgdGhlc2Ugb3B0aW9ucyBjb3VsZCBiZSBlbmFibGVkIG9yIGRpc2FibGVkIGJ5IGRlZmF1bHQKK2luIHRoZSBzeXN0ZW0ga2VybmVsLiAgVG8gY2hlY2sgdGhlIGN1cnJlbnQgc2V0dGluZyBzZWUgdGhlIG9wdGlvbnMKK2luIC9wcm9jL21vdW50cy4gIE5vdGUgdGhhdCBmaWxlc3lzdGVtcyBhbHNvIGhhdmUgcGVyLWZpbGVzeXN0ZW0KK3NwZWNpZmljIGRlZmF1bHQgbW91bnQgb3B0aW9ucyAoc2VlIGZvciBleGFtcGxlIFxmQnR1bmUyZnMgXC1sXGZQCitvdXRwdXQgZm9yIGV4dE4gZmlsZXN5c3RlbXMpLgorCitUaGUgZm9sbG93aW5nIG9wdGlvbnMgYXBwbHkgdG8gYW55IGZpbGVzeXN0ZW0gdGhhdCBpcyBiZWluZworbW91bnRlZCAoYnV0IG5vdCBldmVyeSBmaWxlc3lzdGVtIGFjdHVhbGx5IGhvbm9ycyB0aGVtIFwoZW4gZS5nLlwmLCB0aGUKKy5CIHN5bmMKK29wdGlvbiB0b2RheSBoYXMgYW4gZWZmZWN0IG9ubHkgZm9yIGV4dDIsIGV4dDMsIGZhdCwgdmZhdCBhbmQgdWZzKToKKworLlRQCisuQiBhc3luYworQWxsIEkvTyB0byB0aGUgZmlsZXN5c3RlbSBzaG91bGQgYmUgZG9uZSBhc3luY2hyb25vdXNseS4gIChTZWUgYWxzbyB0aGUKKy5CIHN5bmMKK29wdGlvbi4pCisuVFAKKy5CIGF0aW1lCitEbyBub3QgdXNlIHRoZSBcZkJub2F0aW1lXGZSIGZlYXR1cmUsIHNvIHRoZSBpbm9kZSBhY2Nlc3MgdGltZSBpcyBjb250cm9sbGVkCitieSBrZXJuZWwgZGVmYXVsdHMuICBTZWUgYWxzbyB0aGUgZGVzY3JpcHRpb25zIG9mIHRoZSBcZkJcJXJlbGF0aW1lXGZSIGFuZAorLkIgc3RyaWN0YXRpbWUKK21vdW50IG9wdGlvbnMuCisuVFAKKy5CIG5vYXRpbWUKK0RvIG5vdCB1cGRhdGUgaW5vZGUgYWNjZXNzIHRpbWVzIG9uIHRoaXMgZmlsZXN5c3RlbSAoZS5nLlwmIGZvciBmYXN0ZXIKK2FjY2VzcyBvbiB0aGUgbmV3cyBzcG9vbCB0byBzcGVlZCB1cCBuZXdzIHNlcnZlcnMpLiAgVGhpcyB3b3JrcyBmb3IgYWxsCitpbm9kZSB0eXBlcyAoZGlyZWN0b3JpZXMgdG9vKSwgc28gaXQgaW1wbGllcyBcZkJcJW5vZGlyYXRpbWVcZlIuCisuVFAKKy5CIGF1dG8KK0NhbiBiZSBtb3VudGVkIHdpdGggdGhlCisuQiBcLWEKK29wdGlvbi4KKy5UUAorLkIgbm9hdXRvCitDYW4gb25seSBiZSBtb3VudGVkIGV4cGxpY2l0bHkgKGkuZS4sIHRoZQorLkIgXC1hCitvcHRpb24gd2lsbCBub3QgY2F1c2UgdGhlIGZpbGVzeXN0ZW0gdG8gYmUgbW91bnRlZCkuCisuVFAKKy5uYQorLkJSIGNvbnRleHQ9XGZJY29udGV4dCAiLCAiIGZzY29udGV4dD1cZkljb250ZXh0ICIsICIgZGVmY29udGV4dD1cZkljb250ZXh0ICIsIGFuZCAiIFwlcm9vdGNvbnRleHQ9XGZJY29udGV4dAorLmFkCitUaGUKKy5CIGNvbnRleHQ9CitvcHRpb24gaXMgdXNlZnVsIHdoZW4gbW91bnRpbmcgZmlsZXN5c3RlbXMgdGhhdCBkbyBub3Qgc3VwcG9ydAorZXh0ZW5kZWQgYXR0cmlidXRlcywgc3VjaCBhcyBhIGZsb3BweSBvciBoYXJkIGRpc2sgZm9ybWF0dGVkIHdpdGggVkZBVCwgb3IKK3N5c3RlbXMgdGhhdCBhcmUgbm90IG5vcm1hbGx5IHJ1bm5pbmcgdW5kZXIgU0VMaW51eCwgc3VjaCBhcyBhbiBleHQzIGZvcm1hdHRlZAorZGlzayBmcm9tIGEgbm9uLVNFTGludXggd29ya3N0YXRpb24uICBZb3UgY2FuIGFsc28gdXNlCisuQiBjb250ZXh0PQorb24gZmlsZXN5c3RlbXMgeW91IGRvIG5vdCB0cnVzdCwgc3VjaCBhcyBhIGZsb3BweS4gIEl0IGFsc28gaGVscHMgaW4gY29tcGF0aWJpbGl0eSB3aXRoCit4YXR0ci1zdXBwb3J0aW5nIGZpbGVzeXN0ZW1zIG9uIGVhcmxpZXIgMi40Ljx4PiBrZXJuZWwgdmVyc2lvbnMuICBFdmVuIHdoZXJlCit4YXR0cnMgYXJlIHN1cHBvcnRlZCwgeW91IGNhbiBzYXZlIHRpbWUgbm90IGhhdmluZyB0byBsYWJlbCBldmVyeSBmaWxlIGJ5Cithc3NpZ25pbmcgdGhlIGVudGlyZSBkaXNrIG9uZSBzZWN1cml0eSBjb250ZXh0LgorCitBIGNvbW1vbmx5IHVzZWQgb3B0aW9uIGZvciByZW1vdmFibGUgbWVkaWEgaXMKKy5CUiBcJWNvbnRleHQ9InN5c3RlbV91Om9iamVjdF9yOnJlbW92YWJsZV90IiAuCisKK1R3byBvdGhlciBvcHRpb25zIGFyZQorLkIgZnNjb250ZXh0PQorYW5kCisuQlIgZGVmY29udGV4dD0gLAorYm90aCBvZiB3aGljaCBhcmUgbXV0dWFsbHkgZXhjbHVzaXZlIG9mIHRoZSBjb250ZXh0IG9wdGlvbi4gIFRoaXMgbWVhbnMgeW91CitjYW4gdXNlIGZzY29udGV4dCBhbmQgZGVmY29udGV4dCB3aXRoIGVhY2ggb3RoZXIsIGJ1dCBuZWl0aGVyIGNhbiBiZSB1c2VkIHdpdGgKK2NvbnRleHQuCisKK1RoZQorLkIgZnNjb250ZXh0PQorb3B0aW9uIHdvcmtzIGZvciBhbGwgZmlsZXN5c3RlbXMsIHJlZ2FyZGxlc3Mgb2YgdGhlaXIgeGF0dHIKK3N1cHBvcnQuICBUaGUgZnNjb250ZXh0IG9wdGlvbiBzZXRzIHRoZSBvdmVyYXJjaGluZyBmaWxlc3lzdGVtIGxhYmVsIHRvIGEKK3NwZWNpZmljIHNlY3VyaXR5IGNvbnRleHQuICBUaGlzIGZpbGVzeXN0ZW0gbGFiZWwgaXMgc2VwYXJhdGUgZnJvbSB0aGUKK2luZGl2aWR1YWwgbGFiZWxzIG9uIHRoZSBmaWxlcy4gIEl0IHJlcHJlc2VudHMgdGhlIGVudGlyZSBmaWxlc3lzdGVtIGZvcgorY2VydGFpbiBraW5kcyBvZiBwZXJtaXNzaW9uIGNoZWNrcywgc3VjaCBhcyBkdXJpbmcgbW91bnQgb3IgZmlsZSBjcmVhdGlvbi4KK0luZGl2aWR1YWwgZmlsZSBsYWJlbHMgYXJlIHN0aWxsIG9idGFpbmVkIGZyb20gdGhlIHhhdHRycyBvbiB0aGUgZmlsZXMKK3RoZW1zZWx2ZXMuICBUaGUgY29udGV4dCBvcHRpb24gYWN0dWFsbHkgc2V0cyB0aGUgYWdncmVnYXRlIGNvbnRleHQgdGhhdAorZnNjb250ZXh0IHByb3ZpZGVzLCBpbiBhZGRpdGlvbiB0byBzdXBwbHlpbmcgdGhlIHNhbWUgbGFiZWwgZm9yIGluZGl2aWR1YWwKK2ZpbGVzLgorCitZb3UgY2FuIHNldCB0aGUgZGVmYXVsdCBzZWN1cml0eSBjb250ZXh0IGZvciB1bmxhYmVsZWQgZmlsZXMgdXNpbmcKKy5CIGRlZmNvbnRleHQ9CitvcHRpb24uICBUaGlzIG92ZXJyaWRlcyB0aGUgdmFsdWUgc2V0IGZvciB1bmxhYmVsZWQgZmlsZXMgaW4gdGhlIHBvbGljeSBhbmQgcmVxdWlyZXMgYQorZmlsZXN5c3RlbSB0aGF0IHN1cHBvcnRzIHhhdHRyIGxhYmVsaW5nLgorCitUaGUKKy5CIHJvb3Rjb250ZXh0PQorb3B0aW9uIGFsbG93cyB5b3UgdG8gZXhwbGljaXRseSBsYWJlbCB0aGUgcm9vdCBpbm9kZSBvZiBhIEZTIGJlaW5nIG1vdW50ZWQKK2JlZm9yZSB0aGF0IEZTIG9yIGlub2RlIGJlY29tZXMgdmlzaWJsZSB0byB1c2Vyc3BhY2UuICBUaGlzIHdhcyBmb3VuZCB0byBiZQordXNlZnVsIGZvciB0aGluZ3MgbGlrZSBzdGF0ZWxlc3MgbGludXguCisKK05vdGUgdGhhdCB0aGUga2VybmVsIHJlamVjdHMgYW55IHJlbW91bnQgcmVxdWVzdCB0aGF0IGluY2x1ZGVzIHRoZSBjb250ZXh0CitvcHRpb24sIFxmQmV2ZW5cZlAgd2hlbiB1bmNoYW5nZWQgZnJvbSB0aGUgY3VycmVudCBjb250ZXh0LgorCisuQlIgIldhcm5pbmc6IHRoZSBcZkljb250ZXh0XGZQIHZhbHVlIG1pZ2h0IGNvbnRhaW4gY29tbWFzIiAsCitpbiB3aGljaCBjYXNlIHRoZSB2YWx1ZSBoYXMgdG8gYmUgcHJvcGVybHkgcXVvdGVkLCBvdGhlcndpc2UKKy5CUiBtb3VudCAoOCkKK3dpbGwgaW50ZXJwcmV0IHRoZSBjb21tYSBhcyBhIHNlcGFyYXRvciBiZXR3ZWVuIG1vdW50IG9wdGlvbnMuICBEb24ndCBmb3JnZXQgdGhhdAordGhlIHNoZWxsIHN0cmlwcyBvZmYgcXVvdGVzIGFuZCB0aHVzCisuQlIgImRvdWJsZSBxdW90aW5nIGlzIHJlcXVpcmVkIiAuCitGb3IgZXhhbXBsZToKKy5SUworLlJTCisuc3AKKy5uZgorLkIgbW91bnQgXC10IHRtcGZzIG5vbmUgL21udCBcLW8gXGUKKy5CIFwgXCAnY29udGV4dD0ic3lzdGVtX3U6b2JqZWN0X3I6dG1wX3Q6czA6YzEyNyxjNDU2Iixub2V4ZWMnCisuZmkKKy5zcAorLlJFCitGb3IgbW9yZSBkZXRhaWxzLCBzZWUKKy5CUiBzZWxpbnV4ICg4KS4KKy5SRQorCisuVFAKKy5CIGRlZmF1bHRzCitVc2UgdGhlIGRlZmF1bHQgb3B0aW9uczoKKy5CUiBydyAiLCAiIHN1aWQgIiwgIiBkZXYgIiwgIiBleGVjICIsICIgYXV0byAiLCAiIG5vdXNlciAiLCBhbmQgIiBhc3luYyAuCisKK05vdGUgdGhhdCB0aGUgcmVhbCBzZXQgb2YgYWxsIGRlZmF1bHQgbW91bnQgb3B0aW9ucyBkZXBlbmRzIG9uIGtlcm5lbAorYW5kIGZpbGVzeXN0ZW0gdHlwZS4gIFNlZSB0aGUgYmVnaW5uaW5nIG9mIHRoaXMgc2VjdGlvbiBmb3IgbW9yZSBkZXRhaWxzLgorLlRQCisuQiBkZXYKK0ludGVycHJldCBjaGFyYWN0ZXIgb3IgYmxvY2sgc3BlY2lhbCBkZXZpY2VzIG9uIHRoZSBmaWxlc3lzdGVtLgorLlRQCisuQiBub2RldgorRG8gbm90IGludGVycHJldCBjaGFyYWN0ZXIgb3IgYmxvY2sgc3BlY2lhbCBkZXZpY2VzIG9uIHRoZSBmaWxlCitzeXN0ZW0uCisuVFAKKy5CIGRpcmF0aW1lCitVcGRhdGUgZGlyZWN0b3J5IGlub2RlIGFjY2VzcyB0aW1lcyBvbiB0aGlzIGZpbGVzeXN0ZW0uICBUaGlzIGlzIHRoZSBkZWZhdWx0LgorKFRoaXMgb3B0aW9uIGlzIGlnbm9yZWQgd2hlbiBcZkJub2F0aW1lXGZSIGlzIHNldC4pCisuVFAKKy5CIG5vZGlyYXRpbWUKK0RvIG5vdCB1cGRhdGUgZGlyZWN0b3J5IGlub2RlIGFjY2VzcyB0aW1lcyBvbiB0aGlzIGZpbGVzeXN0ZW0uCisoVGhpcyBvcHRpb24gaXMgaW1wbGllZCB3aGVuIFxmQm5vYXRpbWVcZlIgaXMgc2V0LikKKy5UUAorLkIgZGlyc3luYworQWxsIGRpcmVjdG9yeSB1cGRhdGVzIHdpdGhpbiB0aGUgZmlsZXN5c3RlbSBzaG91bGQgYmUgZG9uZSBzeW5jaHJvbm91c2x5LgorVGhpcyBhZmZlY3RzIHRoZSBmb2xsb3dpbmcgc3lzdGVtIGNhbGxzOiBjcmVhdCwgbGluaywgdW5saW5rLCBzeW1saW5rLAorbWtkaXIsIHJtZGlyLCBta25vZCBhbmQgcmVuYW1lLgorLlRQCisuQiBleGVjCitQZXJtaXQgZXhlY3V0aW9uIG9mIGJpbmFyaWVzLgorLlRQCisuQiBub2V4ZWMKK0RvIG5vdCBwZXJtaXQgZGlyZWN0IGV4ZWN1dGlvbiBvZiBhbnkgYmluYXJpZXMgb24gdGhlIG1vdW50ZWQgZmlsZXN5c3RlbS4KKy5UUAorLkIgZ3JvdXAKK0FsbG93IGFuIG9yZGluYXJ5IHVzZXIgdG8gbW91bnQgdGhlIGZpbGVzeXN0ZW0gaWYgb25lCitvZiB0aGF0IHVzZXIncyBncm91cHMgbWF0Y2hlcyB0aGUgZ3JvdXAgb2YgdGhlIGRldmljZS4KK1RoaXMgb3B0aW9uIGltcGxpZXMgdGhlIG9wdGlvbnMKKy5CUiBub3N1aWQgIiBhbmQgIiBub2RldgorKHVubGVzcyBvdmVycmlkZGVuIGJ5IHN1YnNlcXVlbnQgb3B0aW9ucywgYXMgaW4gdGhlIG9wdGlvbiBsaW5lCisuQlIgZ3JvdXAsZGV2LHN1aWQgKS4KKy5UUAorLkIgaXZlcnNpb24KK0V2ZXJ5IHRpbWUgdGhlIGlub2RlIGlzIG1vZGlmaWVkLCB0aGUgaV92ZXJzaW9uIGZpZWxkIHdpbGwgYmUgaW5jcmVtZW50ZWQuCisuVFAKKy5CIG5vaXZlcnNpb24KK0RvIG5vdCBpbmNyZW1lbnQgdGhlIGlfdmVyc2lvbiBpbm9kZSBmaWVsZC4KKy5UUAorLkIgbWFuZAorQWxsb3cgbWFuZGF0b3J5IGxvY2tzIG9uIHRoaXMgZmlsZXN5c3RlbS4gIFNlZQorLkJSIGZjbnRsICgyKS4KKy5UUAorLkIgbm9tYW5kCitEbyBub3QgYWxsb3cgbWFuZGF0b3J5IGxvY2tzIG9uIHRoaXMgZmlsZXN5c3RlbS4KKy5UUAorLkIgX25ldGRldgorVGhlIGZpbGVzeXN0ZW0gcmVzaWRlcyBvbiBhIGRldmljZSB0aGF0IHJlcXVpcmVzIG5ldHdvcmsgYWNjZXNzCisodXNlZCB0byBwcmV2ZW50IHRoZSBzeXN0ZW0gZnJvbSBhdHRlbXB0aW5nIHRvIG1vdW50IHRoZXNlIGZpbGVzeXN0ZW1zCit1bnRpbCB0aGUgbmV0d29yayBoYXMgYmVlbiBlbmFibGVkIG9uIHRoZSBzeXN0ZW0pLgorLlRQCisuQiBub2ZhaWwKK0RvIG5vdCByZXBvcnQgZXJyb3JzIGZvciB0aGlzIGRldmljZSBpZiBpdCBkb2VzIG5vdCBleGlzdC4KKy5UUAorLkIgcmVsYXRpbWUKK1VwZGF0ZSBpbm9kZSBhY2Nlc3MgdGltZXMgcmVsYXRpdmUgdG8gbW9kaWZ5IG9yIGNoYW5nZSB0aW1lLiAgQWNjZXNzCit0aW1lIGlzIG9ubHkgdXBkYXRlZCBpZiB0aGUgcHJldmlvdXMgYWNjZXNzIHRpbWUgd2FzIGVhcmxpZXIgdGhhbiB0aGUKK2N1cnJlbnQgbW9kaWZ5IG9yIGNoYW5nZSB0aW1lLiAgKFNpbWlsYXIgdG8gXGZCXCVub2F0aW1lXGZSLCBidXQgaXQgZG9lc24ndAorYnJlYWsgXGZCbXV0dFxmUiBvciBvdGhlciBhcHBsaWNhdGlvbnMgdGhhdCBuZWVkIHRvIGtub3cgaWYgYSBmaWxlIGhhcyBiZWVuCityZWFkIHNpbmNlIHRoZSBsYXN0IHRpbWUgaXQgd2FzIG1vZGlmaWVkLikKKworU2luY2UgTGludXggMi42LjMwLCB0aGUga2VybmVsIGRlZmF1bHRzIHRvIHRoZSBiZWhhdmlvciBwcm92aWRlZCBieSB0aGlzCitvcHRpb24gKHVubGVzcworLkIgXCVub2F0aW1lCit3YXMgc3BlY2lmaWVkKSwgYW5kIHRoZQorLkIgXCVzdHJpY3RhdGltZQorb3B0aW9uIGlzIHJlcXVpcmVkIHRvIG9idGFpbiB0cmFkaXRpb25hbCBzZW1hbnRpY3MuICBJbiBhZGRpdGlvbiwgc2luY2UgTGludXgKKzIuNi4zMCwgdGhlIGZpbGUncyBsYXN0IGFjY2VzcyB0aW1lIGlzIGFsd2F5cyB1cGRhdGVkIGlmIGl0IGlzIG1vcmUgdGhhbiAxCitkYXkgb2xkLgorLlRQCisuQiBub3JlbGF0aW1lCitEbyBub3QgdXNlIHRoZQorLkIgcmVsYXRpbWUKK2ZlYXR1cmUuICBTZWUgYWxzbyB0aGUKKy5CIHN0cmljdGF0aW1lCittb3VudCBvcHRpb24uCisuVFAKKy5CIHN0cmljdGF0aW1lCitBbGxvd3MgdG8gZXhwbGljaXRseSByZXF1ZXN0IGZ1bGwgYXRpbWUgdXBkYXRlcy4gIFRoaXMgbWFrZXMgaXQKK3Bvc3NpYmxlIGZvciB0aGUga2VybmVsIHRvIGRlZmF1bHQgdG8KKy5CIFwlcmVsYXRpbWUKK29yCisuQiBcJW5vYXRpbWUKK2J1dCBzdGlsbCBhbGxvdyB1c2Vyc3BhY2UgdG8gb3ZlcnJpZGUgaXQuICBGb3IgbW9yZSBkZXRhaWxzIGFib3V0IHRoZSBkZWZhdWx0CitzeXN0ZW0gbW91bnQgb3B0aW9ucyBzZWUgL3Byb2MvbW91bnRzLgorLlRQCisuQiBub3N0cmljdGF0aW1lCitVc2UgdGhlIGtlcm5lbCdzIGRlZmF1bHQgYmVoYXZpb3IgZm9yIGlub2RlIGFjY2VzcyB0aW1lIHVwZGF0ZXMuCisuVFAKKy5CIGxhenl0aW1lCitPbmx5IHVwZGF0ZSB0aW1lcyAoYXRpbWUsIG10aW1lLCBjdGltZSkgb24gdGhlIGluLW1lbW9yeSB2ZXJzaW9uIG9mIHRoZSBmaWxlIGlub2RlLgorCitUaGlzIG1vdW50IG9wdGlvbiBzaWduaWZpY2FudGx5IHJlZHVjZXMgd3JpdGVzIHRvIHRoZSBpbm9kZSB0YWJsZSBmb3IKK3dvcmtsb2FkcyB0aGF0IHBlcmZvcm0gZnJlcXVlbnQgcmFuZG9tIHdyaXRlcyB0byBwcmVhbGxvY2F0ZWQgZmlsZXMuCisKK1RoZSBvbi1kaXNrIHRpbWVzdGFtcHMgYXJlIHVwZGF0ZWQgb25seSB3aGVuOgorLnNwCisuUlMKKy0gdGhlIGlub2RlIG5lZWRzIHRvIGJlIHVwZGF0ZWQgZm9yIHNvbWUgY2hhbmdlIHVucmVsYXRlZCB0byBmaWxlIHRpbWVzdGFtcHMKKy5zcAorLSB0aGUgYXBwbGljYXRpb24gZW1wbG95cworLkJSIGZzeW5jICgyKSwKKy5CUiBzeW5jZnMgKDIpLAorb3IKKy5CUiBzeW5jICgyKQorLnNwCistIGFuIHVuZGVsZXRlZCBpbm9kZSBpcyBldmljdGVkIGZyb20gbWVtb3J5Cisuc3AKKy0gbW9yZSB0aGFuIDI0IGhvdXJzIGhhdmUgcGFzc2VkIHNpbmNlIHRoZSBpLW5vZGUgd2FzIHdyaXR0ZW4gdG8gZGlzay4KKy5SRQorLnNwCisuVFAKKy5CIG5vbGF6eXRpbWUKK0RvIG5vdCB1c2UgdGhlIGxhenl0aW1lIGZlYXR1cmUuCisuVFAKKy5CIHN1aWQKK0FsbG93IHNldC11c2VyLUlEIG9yIHNldC1ncm91cC1JRCBiaXRzIHRvIHRha2UKK2VmZmVjdC4KKy5UUAorLkIgbm9zdWlkCitEbyBub3QgYWxsb3cgc2V0LXVzZXItSUQgb3Igc2V0LWdyb3VwLUlEIGJpdHMgdG8gdGFrZQorZWZmZWN0LgorLlRQCisuQiBzaWxlbnQKK1R1cm4gb24gdGhlIHNpbGVudCBmbGFnLgorLlRQCisuQiBsb3VkCitUdXJuIG9mZiB0aGUgc2lsZW50IGZsYWcuCisuVFAKKy5CIG93bmVyCitBbGxvdyBhbiBvcmRpbmFyeSB1c2VyIHRvIG1vdW50IHRoZSBmaWxlc3lzdGVtIGlmIHRoYXQKK3VzZXIgaXMgdGhlIG93bmVyIG9mIHRoZSBkZXZpY2UuCitUaGlzIG9wdGlvbiBpbXBsaWVzIHRoZSBvcHRpb25zCisuQlIgbm9zdWlkICIgYW5kICIgbm9kZXYKKyh1bmxlc3Mgb3ZlcnJpZGRlbiBieSBzdWJzZXF1ZW50IG9wdGlvbnMsIGFzIGluIHRoZSBvcHRpb24gbGluZQorLkJSIG93bmVyLGRldixzdWlkICkuCisuVFAKKy5CIHJlbW91bnQKK0F0dGVtcHQgdG8gcmVtb3VudCBhbiBhbHJlYWR5LW1vdW50ZWQgZmlsZXN5c3RlbS4gIFRoaXMgaXMgY29tbW9ubHkKK3VzZWQgdG8gY2hhbmdlIHRoZSBtb3VudCBmbGFncyBmb3IgYSBmaWxlc3lzdGVtLCBlc3BlY2lhbGx5IHRvIG1ha2UgYQorcmVhZG9ubHkgZmlsZXN5c3RlbSB3cml0YWJsZS4gIEl0IGRvZXMgbm90IGNoYW5nZSBkZXZpY2Ugb3IgbW91bnQgcG9pbnQuCisKK1RoZSByZW1vdW50IG9wZXJhdGlvbiB0b2dldGhlciB3aXRoIHRoZQorLkIgYmluZAorZmxhZyBoYXMgc3BlY2lhbCBzZW1hbnRpYy4gU2VlIGFib3ZlLCB0aGUgc3Vic2VjdGlvbiBcZkJCaW5kIG1vdW50c1xmUi4KKworVGhlIHJlbW91bnQgZnVuY3Rpb25hbGl0eSBmb2xsb3dzIHRoZSBzdGFuZGFyZCB3YXkgdGhlIG1vdW50IGNvbW1hbmQgd29ya3MKK3dpdGggb3B0aW9ucyBmcm9tIGZzdGFiLiAgVGhpcyBtZWFucyB0aGF0IFxmQm1vdW50XGZSIGRvZXMgbm90CityZWFkIGZzdGFiIChvciBtdGFiKSBvbmx5IHdoZW4gYm90aAorLkkgZGV2aWNlCithbmQKKy5JIGRpcgorYXJlIHNwZWNpZmllZC4KKy5zcAorLmluICs0CisuQiAibW91bnQgXC1vIHJlbW91bnQscncgL2Rldi9mb28gL2RpciIKKy5pbgorLnNwCitBZnRlciB0aGlzIGNhbGwgYWxsIG9sZCBtb3VudCBvcHRpb25zIGFyZSByZXBsYWNlZCBhbmQgYXJiaXRyYXJ5IHN0dWZmIGZyb20KK2ZzdGFiIChvciBtdGFiKSBpcyBpZ25vcmVkLCBleGNlcHQgdGhlIGxvb3A9IG9wdGlvbiB3aGljaCBpcyBpbnRlcm5hbGx5CitnZW5lcmF0ZWQgYW5kIG1haW50YWluZWQgYnkgdGhlIG1vdW50IGNvbW1hbmQuCisuc3AKKy5pbiArNAorLkIgIm1vdW50IFwtbyByZW1vdW50LHJ3ICAvZGlyIgorLmluCisuc3AKK0FmdGVyIHRoaXMgY2FsbCwgbW91bnQgcmVhZHMgZnN0YWIgYW5kIG1lcmdlcyB0aGVzZSBvcHRpb25zIHdpdGgKK3RoZSBvcHRpb25zIGZyb20gdGhlIGNvbW1hbmQgbGluZSAoXGZCXC1vXGZSKS4KK0lmIG5vIG1vdW50cG9pbnQgaXMgZm91bmQgaW4gZnN0YWIsIHRoZW4gYSByZW1vdW50IHdpdGggdW5zcGVjaWZpZWQgc291cmNlIGlzCithbGxvd2VkLgorLlRQCisuQiBybworTW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5LgorLlRQCisuQiBydworTW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC13cml0ZS4KKy5UUAorLkIgc3luYworQWxsIEkvTyB0byB0aGUgZmlsZXN5c3RlbSBzaG91bGQgYmUgZG9uZSBzeW5jaHJvbm91c2x5LiAgSW4gdGhlIGNhc2Ugb2YKK21lZGlhIHdpdGggYSBsaW1pdGVkIG51bWJlciBvZiB3cml0ZSBjeWNsZXMKKyhlLmcuXCYgc29tZSBmbGFzaCBkcml2ZXMpLCBcZkJzeW5jXGZSIG1heSBjYXVzZSBsaWZlLWN5Y2xlIHNob3J0ZW5pbmcuCisuVFAKKy5CIHVzZXIKK0FsbG93IGFuIG9yZGluYXJ5IHVzZXIgdG8gbW91bnQgdGhlIGZpbGVzeXN0ZW0uCitUaGUgbmFtZSBvZiB0aGUgbW91bnRpbmcgdXNlciBpcyB3cml0dGVuIHRvIHRoZSBtdGFiIGZpbGUgKG9yIHRvIHRoZSBwcml2YXRlCitsaWJtb3VudCBmaWxlIGluIC9ydW4vbW91bnQgb24gc3lzdGVtcyB3aXRob3V0IGEgcmVndWxhciBtdGFiKSBzbyB0aGF0IHRoaXMKK3NhbWUgdXNlciBjYW4gdW5tb3VudCB0aGUgZmlsZXN5c3RlbSBhZ2Fpbi4KK1RoaXMgb3B0aW9uIGltcGxpZXMgdGhlIG9wdGlvbnMKKy5CUiBub2V4ZWMgIiwgIiBub3N1aWQgIiwgYW5kICIgbm9kZXYKKyh1bmxlc3Mgb3ZlcnJpZGRlbiBieSBzdWJzZXF1ZW50IG9wdGlvbnMsIGFzIGluIHRoZSBvcHRpb24gbGluZQorLkJSIHVzZXIsZXhlYyxkZXYsc3VpZCApLgorLlRQCisuQiBub3VzZXIKK0ZvcmJpZCBhbiBvcmRpbmFyeSB1c2VyIHRvIG1vdW50IHRoZSBmaWxlc3lzdGVtLgorVGhpcyBpcyB0aGUgZGVmYXVsdDsgaXQgZG9lcyBub3QgaW1wbHkgYW55IG90aGVyIG9wdGlvbnMuCisuVFAKKy5CIHVzZXJzCitBbGxvdyBhbnkgdXNlciB0byBtb3VudCBhbmQgdG8gdW5tb3VudCB0aGUgZmlsZXN5c3RlbSwgZXZlbgord2hlbiBzb21lIG90aGVyIG9yZGluYXJ5IHVzZXIgbW91bnRlZCBpdC4KK1RoaXMgb3B0aW9uIGltcGxpZXMgdGhlIG9wdGlvbnMKKy5CUiBub2V4ZWMgIiwgIiBub3N1aWQgIiwgYW5kICIgbm9kZXYKKyh1bmxlc3Mgb3ZlcnJpZGRlbiBieSBzdWJzZXF1ZW50IG9wdGlvbnMsIGFzIGluIHRoZSBvcHRpb24gbGluZQorLkJSIHVzZXJzLGV4ZWMsZGV2LHN1aWQgKS4KKy5UUAorLkIgWC0qCitBbGwgb3B0aW9ucyBwcmVmaXhlZCB3aXRoICJYLSIgYXJlIGludGVycHJldGVkIGFzIGNvbW1lbnRzIG9yIGFzIHVzZXJzcGFjZQorYXBwbGljYXRpb24tc3BlY2lmaWMgb3B0aW9ucy4gIFRoZXNlIG9wdGlvbnMgYXJlIG5vdCBzdG9yZWQgaW4gdGhlIHVzZXIgc3BhY2UgKGUuZy4gbXRhYiBmaWxlKSwKK25vciBzZW50IHRvIHRoZSBtb3VudC5cZkl0eXBlXGZSIGhlbHBlcnMgbm9yIHRvIHRoZQorLkJSIG1vdW50ICgyKQorc3lzdGVtIGNhbGwuICBUaGUgc3VnZ2VzdGVkIGZvcm1hdCBpcyBcZkJYLVxmSWFwcG5hbWVcZlIuXGZJb3B0aW9uXGZSLgorLlRQCisuQiB4LSoKK1RoZSBzYW1lIGFzIFxmQlgtKlxmUiBvcHRpb25zLCBidXQgc3RvcmVkIHBlcm1hbmVudGx5IGluIHRoZSB1c2VyIHNwYWNlLiBJdAorbWVhbnMgdGhlIG9wdGlvbnMgYXJlIGFsc28gYXZhaWxhYmxlIGZvciB1bW91bnQgb3IgYW5vdGhlciBvcGVyYXRpb25zLiAgTm90ZQordGhhdCBtYWludGFpbiBtb3VudCBvcHRpb25zIGluIHVzZXIgc3BhY2UgaXMgdHJpY2t5LCBiZWNhdXNlIGl0J3MgbmVjZXNzYXJ5IHVzZQorbGlibW91bnQgYmFzZWQgdG9vbHMgYW5kIHRoZXJlIGlzIG5vIGd1YXJhbnRlZSB0aGF0IHRoZSBvcHRpb25zIHdpbGwgYmUgYWx3YXlzCithdmFpbGFibGUgKGZvciBleGFtcGxlIGFmdGVyIGEgbW92ZSBtb3VudCBvcGVyYXRpb24gb3IgaW4gdW5zaGFyZWQgbmFtZXNwYWNlKS4KKworTm90ZSB0aGF0IGJlZm9yZSB1dGlsLWxpbnV4IHYyLjMwIHRoZSB4LSogb3B0aW9ucyBoYXZlIG5vdCBiZWVuIG1haW50YWluZWQgYnkKK2xpYm1vdW50IGFuZCBzdG9yZWQgaW4gdXNlciBzcGFjZSAoZnVuY3Rpb25hbGl0eSB3YXMgdGhlIHNhbWUgYXMgaGF2ZSBYLSogbm93KSwKK2J1dCBkdWUgdG8gZ3Jvd2luZyBudW1iZXIgb2YgdXNlLWNhc2VzIChpbiBpbml0cmQsIHN5c3RlbWQgZXRjLikgdGhlCitmdW5jdGlvbmFsaXR5IGhhdmUgYmVlbiBleHRlbmRlZCB0byBrZWVwIGV4aXN0aW5nIGZzdGFiIGNvbmZpZ3VyYXRpb25zIHVzYWJsZQord2l0aG91dCBhIGNoYW5nZS4KKy5UUAorLkJSIFgtbW91bnQubWtkaXIgWyA9IFxmSW1vZGVcZlIgXQorQWxsb3cgdG8gbWFrZSBhIHRhcmdldCBkaXJlY3RvcnkgKG1vdW50cG9pbnQpLiAgVGhlIG9wdGlvbmFsIGFyZ3VtZW50CisuSSBtb2RlCitzcGVjaWZpZXMgdGhlIGZpbGVzeXN0ZW0gYWNjZXNzIG1vZGUgdXNlZCBmb3IKKy5CUiBta2RpciAoMikKK2luIG9jdGFsIG5vdGF0aW9uLiAgVGhlIGRlZmF1bHQgbW9kZSBpcyAwNzU1LiAgVGhpcyBmdW5jdGlvbmFsaXR5IGlzIHN1cHBvcnRlZAorb25seSBmb3Igcm9vdCB1c2Vycy4gIFRoZSBvcHRpb24gaXMgYWxzbyBzdXBwb3J0ZWQgYXMgeC1tb3VudC5ta2RpciwgdGhpcyBub3RhdGlvbgoraXMgZGVwcmVjYXRlZCBmb3IgbW91bnQubWtkaXIgc2luY2UgdjIuMzAuCisKKy5TSCAiRklMRVNZU1RFTS1TUEVDSUZJQyBNT1VOVCBPUFRJT05TIgorWW91IHNob3VsZCBjb25zdWx0IHRoZSByZXNwZWN0aXZlIG1hbiBwYWdlIGZvciB0aGUgZmlsZXN5c3RlbSBmaXJzdC4KK0lmIHlvdSB3YW50IHRvIGtub3cgd2hhdCBvcHRpb25zIHRoZSBleHQ0IGZpbGVzeXN0ZW0gc3VwcG9ydHMsIHRoZW4gY2hlY2sgdGhlCisuQlIgZXh0NCAoNSkKK21hbiBwYWdlLgorSWYgdGhhdCBkb2Vzbid0IGV4aXN0LCB5b3UgY2FuIGFsc28gY2hlY2sgdGhlIGNvcnJlc3BvbmRpbmcgbW91bnQgcGFnZSBsaWtlCisuQlIgbW91bnQuY2lmcyAoOCkuCitOb3RlIHRoYXQgeW91IG1pZ2h0IGhhdmUgdG8gaW5zdGFsbCB0aGUgcmVzcGVjdGl2ZSB1c2VybGFuZCB0b29scy4KKy5zcAorVGhlIGZvbGxvd2luZyBvcHRpb25zIGFwcGx5IG9ubHkgdG8gY2VydGFpbiBmaWxlc3lzdGVtcy4KK1dlIHNvcnQgdGhlbSBieSBmaWxlc3lzdGVtLiAgVGhleSBhbGwgZm9sbG93IHRoZQorLkIgXC1vCitmbGFnLgorLnNwCitXaGF0IG9wdGlvbnMgYXJlIHN1cHBvcnRlZCBkZXBlbmRzIGEgYml0IG9uIHRoZSBydW5uaW5nIGtlcm5lbC4KK01vcmUgaW5mbyBtYXkgYmUgZm91bmQgaW4gdGhlIGtlcm5lbCBzb3VyY2Ugc3ViZGlyZWN0b3J5CisuSVIgRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcyAuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgYWRmcyIKKy5UUAorXGZCdWlkPVxmUFwsXGZJdmFsdWVcZlAgYW5kIFxmQmdpZD1cZlBcLFxmSXZhbHVlXGZQCitTZXQgdGhlIG93bmVyIGFuZCBncm91cCBvZiB0aGUgZmlsZXMgaW4gdGhlIGZpbGVzeXN0ZW0gKGRlZmF1bHQ6IHVpZD1naWQ9MCkuCisuVFAKK1xmQm93bm1hc2s9XGZQXCxcZkl2YWx1ZVxmUCBhbmQgXGZCb3RobWFzaz1cZlBcLFxmSXZhbHVlXGZQCitTZXQgdGhlIHBlcm1pc3Npb24gbWFzayBmb3IgQURGUyAnb3duZXInIHBlcm1pc3Npb25zIGFuZCAnb3RoZXInIHBlcm1pc3Npb25zLAorcmVzcGVjdGl2ZWx5IChkZWZhdWx0OiAwNzAwIGFuZCAwMDc3LCByZXNwZWN0aXZlbHkpLgorU2VlIGFsc28KKy5JUiAvdXNyL3NyYy9saW51eC9Eb2N1bWVudGF0aW9uL2ZpbGVzeXN0ZW1zL2FkZnMudHh0IC4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBhZmZzIgorLlRQCitcZkJ1aWQ9XGZQXCxcZkl2YWx1ZVxmUCBhbmQgXGZCZ2lkPVxmUFwsXGZJdmFsdWVcZlAKK1NldCB0aGUgb3duZXIgYW5kIGdyb3VwIG9mIHRoZSByb290IG9mIHRoZSBmaWxlc3lzdGVtIChkZWZhdWx0OiB1aWQ9Z2lkPTAsCitidXQgd2l0aCBvcHRpb24KKy5CIHVpZAorb3IKKy5CIGdpZAord2l0aG91dCBzcGVjaWZpZWQgdmFsdWUsIHRoZSBVSUQgYW5kIEdJRCBvZiB0aGUgY3VycmVudCBwcm9jZXNzIGFyZSB0YWtlbikuCisuVFAKK1xmQnNldHVpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJzZXRnaWQ9XGZQXCxcZkl2YWx1ZVxmUAorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgYWxsIGZpbGVzLgorLlRQCisuQkkgbW9kZT0gdmFsdWUKK1NldCB0aGUgbW9kZSBvZiBhbGwgZmlsZXMgdG8KKy5JUiB2YWx1ZSAiICYgMDc3NyIKK2Rpc3JlZ2FyZGluZyB0aGUgb3JpZ2luYWwgcGVybWlzc2lvbnMuCitBZGQgc2VhcmNoIHBlcm1pc3Npb24gdG8gZGlyZWN0b3JpZXMgdGhhdCBoYXZlIHJlYWQgcGVybWlzc2lvbi4KK1RoZSB2YWx1ZSBpcyBnaXZlbiBpbiBvY3RhbC4KKy5UUAorLkIgcHJvdGVjdAorRG8gbm90IGFsbG93IGFueSBjaGFuZ2VzIHRvIHRoZSBwcm90ZWN0aW9uIGJpdHMgb24gdGhlIGZpbGVzeXN0ZW0uCisuVFAKKy5CIHVzZW1wCitTZXQgVUlEIGFuZCBHSUQgb2YgdGhlIHJvb3Qgb2YgdGhlIGZpbGVzeXN0ZW0gdG8gdGhlIFVJRCBhbmQgR0lECitvZiB0aGUgbW91bnQgcG9pbnQgdXBvbiB0aGUgZmlyc3Qgc3luYyBvciB1bW91bnQsIGFuZCB0aGVuCitjbGVhciB0aGlzIG9wdGlvbi4gIFN0cmFuZ2UuLi4KKy5UUAorLkIgdmVyYm9zZQorUHJpbnQgYW4gaW5mb3JtYXRpb25hbCBtZXNzYWdlIGZvciBlYWNoIHN1Y2Nlc3NmdWwgbW91bnQuCisuVFAKKy5CSSBwcmVmaXg9IHN0cmluZworUHJlZml4IHVzZWQgYmVmb3JlIHZvbHVtZSBuYW1lLCB3aGVuIGZvbGxvd2luZyBhIGxpbmsuCisuVFAKKy5CSSB2b2x1bWU9IHN0cmluZworUHJlZml4IChvZiBsZW5ndGggYXQgbW9zdCAzMCkgdXNlZCBiZWZvcmUgJy8nIHdoZW4gZm9sbG93aW5nIGEgc3ltYm9saWMgbGluay4KKy5UUAorLkJJIHJlc2VydmVkPSB2YWx1ZQorKERlZmF1bHQ6IDIuKSBOdW1iZXIgb2YgdW51c2VkIGJsb2NrcyBhdCB0aGUgc3RhcnQgb2YgdGhlIGRldmljZS4KKy5UUAorLkJJIHJvb3Q9IHZhbHVlCitHaXZlIGV4cGxpY2l0bHkgdGhlIGxvY2F0aW9uIG9mIHRoZSByb290IGJsb2NrLgorLlRQCisuQkkgYnM9IHZhbHVlCitHaXZlIGJsb2Nrc2l6ZS4gIEFsbG93ZWQgdmFsdWVzIGFyZSA1MTIsIDEwMjQsIDIwNDgsIDQwOTYuCisuVFAKKy5CUiBncnBxdW90YSB8IG5vcXVvdGEgfCBxdW90YSB8IHVzcnF1b3RhCitUaGVzZSBvcHRpb25zIGFyZSBhY2NlcHRlZCBidXQgaWdub3JlZC4KKyhIb3dldmVyLCBxdW90YSB1dGlsaXRpZXMgbWF5IHJlYWN0IHRvIHN1Y2ggc3RyaW5ncyBpbgorLklSIC9ldGMvZnN0YWIgLikKKworLlNTICJNb3VudCBvcHRpb25zIGZvciBkZWJ1Z2ZzIgorVGhlIGRlYnVnZnMgZmlsZXN5c3RlbSBpcyBhIHBzZXVkbyBmaWxlc3lzdGVtLCB0cmFkaXRpb25hbGx5IG1vdW50ZWQgb24KKy5JUiAvc3lzL2tlcm5lbC9kZWJ1ZyAuCisuXCIgb3IganVzdCAvZGVidWcKKy5cIiBwcmVzZW50IHNpbmNlIDIuNi4xMQorQXMgb2Yga2VybmVsIHZlcnNpb24gMy40LCBkZWJ1Z2ZzIGhhcyB0aGUgZm9sbG93aW5nIG9wdGlvbnM6CisuVFAKKy5CSSB1aWQ9IG4gIiwgZ2lkPSIgbgorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgdGhlIG1vdW50cG9pbnQuCisuVFAKKy5CSSBtb2RlPSB2YWx1ZQorU2V0cyB0aGUgbW9kZSBvZiB0aGUgbW91bnRwb2ludC4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBkZXZwdHMiCitUaGUgZGV2cHRzIGZpbGVzeXN0ZW0gaXMgYSBwc2V1ZG8gZmlsZXN5c3RlbSwgdHJhZGl0aW9uYWxseSBtb3VudGVkIG9uCisuSVIgL2Rldi9wdHMgLgorSW4gb3JkZXIgdG8gYWNxdWlyZSBhIHBzZXVkbyB0ZXJtaW5hbCwgYSBwcm9jZXNzIG9wZW5zCisuSVIgL2Rldi9wdG14IDsKK3RoZSBudW1iZXIgb2YgdGhlIHBzZXVkbyB0ZXJtaW5hbCBpcyB0aGVuIG1hZGUgYXZhaWxhYmxlIHRvIHRoZSBwcm9jZXNzCithbmQgdGhlIHBzZXVkbyB0ZXJtaW5hbCBzbGF2ZSBjYW4gYmUgYWNjZXNzZWQgYXMKKy5JUiAvZGV2L3B0cy8gPG51bWJlcj4uCisuVFAKK1xmQnVpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJnaWQ9XGZQXCxcZkl2YWx1ZVxmUAorVGhpcyBzZXRzIHRoZSBvd25lciBvciB0aGUgZ3JvdXAgb2YgbmV3bHkgY3JlYXRlZCBQVFlzIHRvCit0aGUgc3BlY2lmaWVkIHZhbHVlcy4gIFdoZW4gbm90aGluZyBpcyBzcGVjaWZpZWQsIHRoZXkgd2lsbAorYmUgc2V0IHRvIHRoZSBVSUQgYW5kIEdJRCBvZiB0aGUgY3JlYXRpbmcgcHJvY2Vzcy4KK0ZvciBleGFtcGxlLCBpZiB0aGVyZSBpcyBhIHR0eSBncm91cCB3aXRoIEdJRCA1LCB0aGVuCisuQiBnaWQ9NQord2lsbCBjYXVzZSBuZXdseSBjcmVhdGVkIFBUWXMgdG8gYmVsb25nIHRvIHRoZSB0dHkgZ3JvdXAuCisuVFAKKy5CSSBtb2RlPSB2YWx1ZQorU2V0IHRoZSBtb2RlIG9mIG5ld2x5IGNyZWF0ZWQgUFRZcyB0byB0aGUgc3BlY2lmaWVkIHZhbHVlLgorVGhlIGRlZmF1bHQgaXMgMDYwMC4KK0EgdmFsdWUgb2YKKy5CIG1vZGU9NjIwCithbmQKKy5CIGdpZD01CittYWtlcyAibWVzZyB5IiB0aGUgZGVmYXVsdCBvbiBuZXdseSBjcmVhdGVkIFBUWXMuCisuVFAKK1xmQm5ld2luc3RhbmNlCitDcmVhdGUgYSBwcml2YXRlIGluc3RhbmNlIG9mIGRldnB0cyBmaWxlc3lzdGVtLCBzdWNoIHRoYXQKK2luZGljZXMgb2YgcHR5cyBhbGxvY2F0ZWQgaW4gdGhpcyBuZXcgaW5zdGFuY2UgYXJlCitpbmRlcGVuZGVudCBvZiBpbmRpY2VzIGNyZWF0ZWQgaW4gb3RoZXIgaW5zdGFuY2VzIG9mIGRldnB0cy4KKworQWxsIG1vdW50cyBvZiBkZXZwdHMgd2l0aG91dCB0aGlzCisuQiBuZXdpbnN0YW5jZQorb3B0aW9uIHNoYXJlIHRoZSBzYW1lIHNldCBvZiBwdHkgaW5kaWNlcyAoaS5lIGxlZ2FjeSBtb2RlKS4KK0VhY2ggbW91bnQgb2YgZGV2cHRzIHdpdGggdGhlCisuQiBuZXdpbnN0YW5jZQorb3B0aW9uIGhhcyBhIHByaXZhdGUgc2V0IG9mIHB0eSBpbmRpY2VzLgorCitUaGlzIG9wdGlvbiBpcyBtYWlubHkgdXNlZCB0byBzdXBwb3J0IGNvbnRhaW5lcnMgaW4gdGhlCitsaW51eCBrZXJuZWwuICBJdCBpcyBpbXBsZW1lbnRlZCBpbiBsaW51eCBrZXJuZWwgdmVyc2lvbnMKK3N0YXJ0aW5nIHdpdGggMi42LjI5LiAgRnVydGhlciwgdGhpcyBtb3VudCBvcHRpb24gaXMgdmFsaWQKK29ubHkgaWYgQ09ORklHX0RFVlBUU19NVUxUSVBMRV9JTlNUQU5DRVMgaXMgZW5hYmxlZCBpbiB0aGUKK2tlcm5lbCBjb25maWd1cmF0aW9uLgorCitUbyB1c2UgdGhpcyBvcHRpb24gZWZmZWN0aXZlbHksCisuSSAvZGV2L3B0bXgKK211c3QgYmUgYSBzeW1ib2xpYyBsaW5rIHRvCisuSSBwdHMvcHRteC4KK1NlZQorLkkgRG9jdW1lbnRhdGlvbi9maWxlc3lzdGVtcy9kZXZwdHMudHh0CitpbiB0aGUgbGludXgga2VybmVsIHNvdXJjZSB0cmVlIGZvciBkZXRhaWxzLgorLlRQCisuQkkgcHRteG1vZGU9IHZhbHVlCisKK1NldCB0aGUgbW9kZSBmb3IgdGhlIG5ldworLkkgcHRteAorZGV2aWNlIG5vZGUgaW4gdGhlIGRldnB0cyBmaWxlc3lzdGVtLgorCitXaXRoIHRoZSBzdXBwb3J0IGZvciBtdWx0aXBsZSBpbnN0YW5jZXMgb2YgZGV2cHRzIChzZWUKKy5CIG5ld2luc3RhbmNlCitvcHRpb24gYWJvdmUpLCBlYWNoIGluc3RhbmNlIGhhcyBhIHByaXZhdGUKKy5JIHB0bXgKK25vZGUgaW4gdGhlIHJvb3Qgb2YgdGhlIGRldnB0cyBmaWxlc3lzdGVtICh0eXBpY2FsbHkKKy5JUiAvZGV2L3B0cy9wdG14ICkuCisKK0ZvciBjb21wYXRpYmlsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgdGhlIGtlcm5lbCwgdGhlCitkZWZhdWx0IG1vZGUgb2YgdGhlIG5ldworLkkgcHRteAorbm9kZSBpcyAwMDAwLgorLkJJIHB0bXhtb2RlPSB2YWx1ZQorc3BlY2lmaWVzIGEgbW9yZSB1c2VmdWwgbW9kZSBmb3IgdGhlCisuSSBwdG14Citub2RlIGFuZCBpcyBoaWdobHkgcmVjb21tZW5kZWQgd2hlbiB0aGUKKy5CIG5ld2luc3RhbmNlCitvcHRpb24gaXMgc3BlY2lmaWVkLgorCitUaGlzIG9wdGlvbiBpcyBvbmx5IGltcGxlbWVudGVkIGluIGxpbnV4IGtlcm5lbCB2ZXJzaW9ucworc3RhcnRpbmcgd2l0aCAyLjYuMjkuICBGdXJ0aGVyLCB0aGlzIG9wdGlvbiBpcyB2YWxpZCBvbmx5IGlmCitDT05GSUdfREVWUFRTX01VTFRJUExFX0lOU1RBTkNFUyBpcyBlbmFibGVkIGluIHRoZSBrZXJuZWwKK2NvbmZpZ3VyYXRpb24uCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgZmF0IgorKE5vdGU6CisuSSBmYXQKK2lzIG5vdCBhIHNlcGFyYXRlIGZpbGVzeXN0ZW0sIGJ1dCBhIGNvbW1vbiBwYXJ0IG9mIHRoZQorLklSIG1zZG9zICwKKy5JIHVtc2RvcworYW5kCisuSSB2ZmF0CitmaWxlc3lzdGVtcy4pCisuVFAKKy5CUiBibG9ja3NpemU9IHsgNTEyIHwgMTAyNCB8IDIwNDggfQorU2V0IGJsb2Nrc2l6ZSAoZGVmYXVsdCA1MTIpLiAgVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUuCisuVFAKK1xmQnVpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJnaWQ9XGZQXCxcZkl2YWx1ZVxmUAorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgYWxsIGZpbGVzLgorKERlZmF1bHQ6IHRoZSBVSUQgYW5kIEdJRCBvZiB0aGUgY3VycmVudCBwcm9jZXNzLikKKy5UUAorLkJJIHVtYXNrPSB2YWx1ZQorU2V0IHRoZSB1bWFzayAodGhlIGJpdG1hc2sgb2YgdGhlIHBlcm1pc3Npb25zIHRoYXQgYXJlCisuQiBub3QKK3ByZXNlbnQpLiAgVGhlIGRlZmF1bHQgaXMgdGhlIHVtYXNrIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCitUaGUgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuVFAKKy5CSSBkbWFzaz0gdmFsdWUKK1NldCB0aGUgdW1hc2sgYXBwbGllZCB0byBkaXJlY3RvcmllcyBvbmx5LgorVGhlIGRlZmF1bHQgaXMgdGhlIHVtYXNrIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCitUaGUgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuVFAKKy5CSSBmbWFzaz0gdmFsdWUKK1NldCB0aGUgdW1hc2sgYXBwbGllZCB0byByZWd1bGFyIGZpbGVzIG9ubHkuCitUaGUgZGVmYXVsdCBpcyB0aGUgdW1hc2sgb2YgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KK1RoZSB2YWx1ZSBpcyBnaXZlbiBpbiBvY3RhbC4KKy5UUAorLkJJIGFsbG93X3V0aW1lPSB2YWx1ZQorVGhpcyBvcHRpb24gY29udHJvbHMgdGhlIHBlcm1pc3Npb24gY2hlY2sgb2YgbXRpbWUvYXRpbWUuCisuUlMKKy5UUAorLkIgMjAKK0lmIGN1cnJlbnQgcHJvY2VzcyBpcyBpbiBncm91cCBvZiBmaWxlJ3MgZ3JvdXAgSUQsIHlvdSBjYW4gY2hhbmdlIHRpbWVzdGFtcC4KKy5UUAorLkIgMgorT3RoZXIgdXNlcnMgY2FuIGNoYW5nZSB0aW1lc3RhbXAuCisuUFAKK1RoZSBkZWZhdWx0IGlzIHNldCBmcm9tIGBkbWFzaycgb3B0aW9uLiAoSWYgdGhlIGRpcmVjdG9yeSBpcyB3cml0YWJsZSwKKy5CUiB1dGltZSAoMikKK2lzIGFsc28gYWxsb3dlZC4gIEkuZS5cJiBccyszflxzMGRtYXNrICYgMDIyKQorCitOb3JtYWxseQorLkJSIHV0aW1lICgyKQorY2hlY2tzIGN1cnJlbnQgcHJvY2VzcyBpcyBvd25lciBvZiB0aGUgZmlsZSwgb3IgaXQgaGFzCitDQVBfRk9XTkVSIGNhcGFiaWxpdHkuICBCdXQgRkFUIGZpbGVzeXN0ZW0gZG9lc24ndCBoYXZlIFVJRC9HSUQgb24gZGlzaywgc28KK25vcm1hbCBjaGVjayBpcyB0b28gaW5mbGV4aWJsZS4gIFdpdGggdGhpcyBvcHRpb24geW91IGNhbiByZWxheCBpdC4KKy5SRQorLlRQCisuQkkgY2hlY2s9IHZhbHVlCitUaHJlZSBkaWZmZXJlbnQgbGV2ZWxzIG9mIHBpY2t5bmVzcyBjYW4gYmUgY2hvc2VuOgorLlJTCisuVFAKKy5CUiByIFsgZWxheGVkIF0KK1VwcGVyIGFuZCBsb3dlciBjYXNlIGFyZSBhY2NlcHRlZCBhbmQgZXF1aXZhbGVudCwgbG9uZyBuYW1lIHBhcnRzIGFyZQordHJ1bmNhdGVkIChlLmcuXCYKKy5JIHZlcnlsb25nbmFtZS5mb29iYXIKK2JlY29tZXMKKy5JUiB2ZXJ5bG9uZy5mb28gKSwKK2xlYWRpbmcgYW5kIGVtYmVkZGVkIHNwYWNlcyBhcmUgYWNjZXB0ZWQgaW4gZWFjaCBuYW1lIHBhcnQgKG5hbWUgYW5kIGV4dGVuc2lvbikuCisuVFAKKy5CUiBuIFsgb3JtYWwgXQorTGlrZSAicmVsYXhlZCIsIGJ1dCBtYW55IHNwZWNpYWwgY2hhcmFjdGVycyAoKiwgPywgPCwgc3BhY2VzLCBldGMuKSBhcmUKK3JlamVjdGVkLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkJSIHMgWyB0cmljdCBdCitMaWtlICJub3JtYWwiLCBidXQgbmFtZXMgdGhhdCBjb250YWluIGxvbmcgcGFydHMgb3Igc3BlY2lhbCBjaGFyYWN0ZXJzCit0aGF0IGFyZSBzb21ldGltZXMgdXNlZCBvbiBMaW51eCBidXQgYXJlIG5vdCBhY2NlcHRlZCBieSBNUy1ET1MKKygrLCA9LCBldGMuKSBhcmUgcmVqZWN0ZWQuCisuUkUKKy5UUAorLkJJIGNvZGVwYWdlPSB2YWx1ZQorU2V0cyB0aGUgY29kZXBhZ2UgZm9yIGNvbnZlcnRpbmcgdG8gc2hvcnRuYW1lIGNoYXJhY3RlcnMgb24gRkFUCithbmQgVkZBVCBmaWxlc3lzdGVtcy4gIEJ5IGRlZmF1bHQsIGNvZGVwYWdlIDQzNyBpcyB1c2VkLgorLlRQCisuQkkgY29udj0gbW9kZQorVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUgYW5kIG1heSBmYWlsIG9yIGJlaW5nIGlnbm9yZWQuCisuVFAKKy5CSSBjdmZfZm9ybWF0PSBtb2R1bGUKK0ZvcmNlcyB0aGUgZHJpdmVyIHRvIHVzZSB0aGUgQ1ZGIChDb21wcmVzc2VkIFZvbHVtZSBGaWxlKSBtb2R1bGUKKy5SSSBjdmZfIG1vZHVsZQoraW5zdGVhZCBvZiBhdXRvLWRldGVjdGlvbi4gIElmIHRoZSBrZXJuZWwgc3VwcG9ydHMga21vZCwgdGhlCitjdmZfZm9ybWF0PXh4eCBvcHRpb24gYWxzbyBjb250cm9scyBvbi1kZW1hbmQgQ1ZGIG1vZHVsZSBsb2FkaW5nLgorVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUuCisuVFAKKy5CSSBjdmZfb3B0aW9uPSBvcHRpb24KK09wdGlvbiBwYXNzZWQgdG8gdGhlIENWRiBtb2R1bGUuICBUaGlzIG9wdGlvbiBpcyBvYnNvbGV0ZS4KKy5UUAorLkIgZGVidWcKK1R1cm4gb24gdGhlCisuSSBkZWJ1ZworZmxhZy4gIEEgdmVyc2lvbiBzdHJpbmcgYW5kIGEgbGlzdCBvZiBmaWxlc3lzdGVtIHBhcmFtZXRlcnMgd2lsbCBiZQorcHJpbnRlZCAodGhlc2UgZGF0YSBhcmUgYWxzbyBwcmludGVkIGlmIHRoZSBwYXJhbWV0ZXJzIGFwcGVhciB0byBiZQoraW5jb25zaXN0ZW50KS4KKy5UUAorLkIgZGlzY2FyZAorSWYgc2V0LCBjYXVzZXMgZGlzY2FyZC9UUklNIGNvbW1hbmRzIHRvIGJlIGlzc3VlZCB0byB0aGUgYmxvY2sgZGV2aWNlCit3aGVuIGJsb2NrcyBhcmUgZnJlZWQuICBUaGlzIGlzIHVzZWZ1bCBmb3IgU1NEIGRldmljZXMgYW5kCitzcGFyc2UvdGhpbmx5LXByb3Zpc2lvbmVkIExVTnMuCisuVFAKKy5CIGRvczF4ZmxvcHB5CitJZiBzZXQsIHVzZSBhIGZhbGxiYWNrIGRlZmF1bHQgQklPUyBQYXJhbWV0ZXIgQmxvY2sgY29uZmlndXJhdGlvbiwgZGV0ZXJtaW5lZAorYnkgYmFja2luZyBkZXZpY2Ugc2l6ZS4gIFRoZXNlIHN0YXRpYyBwYXJhbWV0ZXJzIG1hdGNoIGRlZmF1bHRzIGFzc3VtZWQgYnkgRE9TCisxLnggZm9yIDE2MCBraUIsIDE4MCBraUIsIDMyMCBraUIsIGFuZCAzNjAga2lCIGZsb3BwaWVzIGFuZCBmbG9wcHkgaW1hZ2VzLgorLlRQCisuQlIgZXJyb3JzPSB7IHBhbmljIHwgY29udGludWUgfCByZW1vdW50LXJvIH0KK1NwZWNpZnkgRkFUIGJlaGF2aW9yIG9uIGNyaXRpY2FsIGVycm9yczogcGFuaWMsIGNvbnRpbnVlIHdpdGhvdXQgZG9pbmcKK2FueXRoaW5nLCBvciByZW1vdW50IHRoZSBwYXJ0aXRpb24gaW4gcmVhZC1vbmx5IG1vZGUgKGRlZmF1bHQgYmVoYXZpb3IpLgorLlRQCisuQlIgZmF0PSB7IDEyIHwgMTYgfCAzMiB9CitTcGVjaWZ5IGEgMTIsIDE2IG9yIDMyIGJpdCBmYXQuICBUaGlzIG92ZXJyaWRlcwordGhlIGF1dG9tYXRpYyBGQVQgdHlwZSBkZXRlY3Rpb24gcm91dGluZS4gIFVzZSB3aXRoIGNhdXRpb24hCisuVFAKKy5CSSBpb2NoYXJzZXQ9IHZhbHVlCitDaGFyYWN0ZXIgc2V0IHRvIHVzZSBmb3IgY29udmVydGluZyBiZXR3ZWVuIDggYml0IGNoYXJhY3RlcnMKK2FuZCAxNiBiaXQgVW5pY29kZSBjaGFyYWN0ZXJzLiAgVGhlIGRlZmF1bHQgaXMgaXNvODg1OS0xLgorTG9uZyBmaWxlbmFtZXMgYXJlIHN0b3JlZCBvbiBkaXNrIGluIFVuaWNvZGUgZm9ybWF0LgorLlRQCisuQlIgbmZzPSB7IHN0YWxlX3J3IHwgbm9zdGFsZV9ybyB9CitFbmFibGUgdGhpcyBvbmx5IGlmIHlvdSB3YW50IHRvIGV4cG9ydCB0aGUgRkFUIGZpbGVzeXN0ZW0gb3ZlciBORlMuCisKKy5CUiBzdGFsZV9ydyA6CitUaGlzIG9wdGlvbiBtYWludGFpbnMgYW4gaW5kZXggKGNhY2hlKSBvZiBkaXJlY3RvcnkgaW5vZGVzIHdoaWNoIGlzIHVzZWQgYnkgdGhlCituZnMtcmVsYXRlZCBjb2RlIHRvIGltcHJvdmUgbG9vay11cHMuICBGdWxsIGZpbGUgb3BlcmF0aW9ucyAocmVhZC93cml0ZSkgb3ZlcgorTkZTIGFyZSBzdXBwb3J0ZWQgYnV0IHdpdGggY2FjaGUgZXZpY3Rpb24gYXQgTkZTIHNlcnZlciwgdGhpcyBjb3VsZCByZXN1bHQgaW4KK3NwdXJpb3VzCisuQiBFU1RBTEUKK2Vycm9ycy4KKworLkJSIG5vc3RhbGVfcm8gOgorVGhpcyBvcHRpb24gYmFzZXMgdGhlIGlub2RlIG51bWJlciBhbmQgZmlsZSBoYW5kbGUKK29uIHRoZSBvbi1kaXNrIGxvY2F0aW9uIG9mIGEgZmlsZSBpbiB0aGUgRkFUIGRpcmVjdG9yeSBlbnRyeS4KK1RoaXMgZW5zdXJlcyB0aGF0CisuQiBFU1RBTEUKK3dpbGwgbm90IGJlIHJldHVybmVkIGFmdGVyIGEgZmlsZSBpcworZXZpY3RlZCBmcm9tIHRoZSBpbm9kZSBjYWNoZS4gIEhvd2V2ZXIsIGl0IG1lYW5zIHRoYXQgb3BlcmF0aW9ucworc3VjaCBhcyByZW5hbWUsIGNyZWF0ZSBhbmQgdW5saW5rIGNvdWxkIGNhdXNlIGZpbGUgaGFuZGxlcyB0aGF0CitwcmV2aW91c2x5IHBvaW50ZWQgYXQgb25lIGZpbGUgdG8gcG9pbnQgYXQgYSBkaWZmZXJlbnQgZmlsZSwKK3BvdGVudGlhbGx5IGNhdXNpbmcgZGF0YSBjb3JydXB0aW9uLiAgRm9yIHRoaXMgcmVhc29uLCB0aGlzCitvcHRpb24gYWxzbyBtb3VudHMgdGhlIGZpbGVzeXN0ZW0gcmVhZG9ubHkuCisKK1RvIG1haW50YWluIGJhY2t3YXJkIGNvbXBhdGliaWxpdHksICctbyBuZnMnIGlzIGFsc28gYWNjZXB0ZWQsCitkZWZhdWx0aW5nIHRvCisuQlIgc3RhbGVfcncgLgorLlRQCisuQiB0ej1VVEMKK1RoaXMgb3B0aW9uIGRpc2FibGVzIHRoZSBjb252ZXJzaW9uIG9mIHRpbWVzdGFtcHMKK2JldHdlZW4gbG9jYWwgdGltZSAoYXMgdXNlZCBieSBXaW5kb3dzIG9uIEZBVCkgYW5kIFVUQworKHdoaWNoIExpbnV4IHVzZXMgaW50ZXJuYWxseSkuICBUaGlzIGlzIHBhcnRpY3VsYXJseQordXNlZnVsIHdoZW4gbW91bnRpbmcgZGV2aWNlcyAobGlrZSBkaWdpdGFsIGNhbWVyYXMpCit0aGF0IGFyZSBzZXQgdG8gVVRDIGluIG9yZGVyIHRvIGF2b2lkIHRoZSBwaXRmYWxscyBvZgorbG9jYWwgdGltZS4KKy5UUAorLkJJIHRpbWVfb2Zmc2V0PSBtaW51dGVzCitTZXQgb2Zmc2V0IGZvciBjb252ZXJzaW9uIG9mIHRpbWVzdGFtcHMgZnJvbSBsb2NhbCB0aW1lIHVzZWQgYnkgRkFUIHRvIFVUQy4KK0kuZS4sCisuSSBtaW51dGVzCit3aWxsIGJlIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHRpbWVzdGFtcCB0byBjb252ZXJ0IGl0IHRvIFVUQyB1c2VkCitpbnRlcm5hbGx5IGJ5IExpbnV4LiAgVGhpcyBpcyB1c2VmdWwgd2hlbiB0aGUgdGltZSB6b25lIHNldCBpbiB0aGUga2VybmVsIHZpYQorLkJSIHNldHRpbWVvZmRheSAoMikKK2lzIG5vdCB0aGUgdGltZSB6b25lIHVzZWQgYnkgdGhlIGZpbGVzeXN0ZW0uICBOb3RlCit0aGF0IHRoaXMgb3B0aW9uIHN0aWxsIGRvZXMgbm90IHByb3ZpZGUgY29ycmVjdCB0aW1lIHN0YW1wcyBpbiBhbGwgY2FzZXMgaW4KK3ByZXNlbmNlIG9mIERTVCAtIHRpbWUgc3RhbXBzIGluIGEgZGlmZmVyZW50IERTVCBzZXR0aW5nIHdpbGwgYmUgb2ZmIGJ5IG9uZQoraG91ci4KKy5UUAorLkIgcXVpZXQKK1R1cm4gb24gdGhlCisuSSBxdWlldAorZmxhZy4gIEF0dGVtcHRzIHRvIGNob3duIG9yIGNobW9kIGZpbGVzIGRvIG5vdCByZXR1cm4gZXJyb3JzLAorYWx0aG91Z2ggdGhleSBmYWlsLiAgVXNlIHdpdGggY2F1dGlvbiEKKy5UUAorLkIgcm9kaXIKK0ZBVCBoYXMgdGhlIEFUVFJfUk8gKHJlYWQtb25seSkgYXR0cmlidXRlLiAgT24gV2luZG93cywgdGhlIEFUVFJfUk8gb2YgdGhlCitkaXJlY3Rvcnkgd2lsbCBqdXN0IGJlIGlnbm9yZWQsIGFuZCBpcyB1c2VkIG9ubHkgYnkgYXBwbGljYXRpb25zIGFzIGEgZmxhZworKGUuZy5cJiBpdCdzIHNldCBmb3IgdGhlIGN1c3RvbWl6ZWQgZm9sZGVyKS4KKworSWYgeW91IHdhbnQgdG8gdXNlIEFUVFJfUk8gYXMgcmVhZC1vbmx5IGZsYWcgZXZlbiBmb3IgdGhlIGRpcmVjdG9yeSwgc2V0IHRoaXMKK29wdGlvbi4KKy5UUAorLkIgc2hvd2V4ZWMKK0lmIHNldCwgdGhlIGV4ZWN1dGUgcGVybWlzc2lvbiBiaXRzIG9mIHRoZSBmaWxlIHdpbGwgYmUgYWxsb3dlZCBvbmx5IGlmCit0aGUgZXh0ZW5zaW9uIHBhcnQgb2YgdGhlIG5hbWUgaXMgXCYuRVhFLCBcJi5DT00sIG9yIFwmLkJBVC4gIE5vdCBzZXQgYnkgZGVmYXVsdC4KKy5UUAorLkIgc3lzX2ltbXV0YWJsZQorSWYgc2V0LCBBVFRSX1NZUyBhdHRyaWJ1dGUgb24gRkFUIGlzIGhhbmRsZWQgYXMgSU1NVVRBQkxFIGZsYWcgb24gTGludXguCitOb3Qgc2V0IGJ5IGRlZmF1bHQuCisuVFAKKy5CIGZsdXNoCitJZiBzZXQsIHRoZSBmaWxlc3lzdGVtIHdpbGwgdHJ5IHRvIGZsdXNoIHRvIGRpc2sgbW9yZSBlYXJseSB0aGFuIG5vcm1hbC4KK05vdCBzZXQgYnkgZGVmYXVsdC4KKy5UUAorLkIgdXNlZnJlZQorVXNlIHRoZSAiZnJlZSBjbHVzdGVycyIgdmFsdWUgc3RvcmVkIG9uIEZTSU5GTy4gIEl0J2xsCitiZSB1c2VkIHRvIGRldGVybWluZSBudW1iZXIgb2YgZnJlZSBjbHVzdGVycyB3aXRob3V0CitzY2FubmluZyBkaXNrLiAgQnV0IGl0J3Mgbm90IHVzZWQgYnkgZGVmYXVsdCwgYmVjYXVzZQorcmVjZW50IFdpbmRvd3MgZG9uJ3QgdXBkYXRlIGl0IGNvcnJlY3RseSBpbiBzb21lCitjYXNlLiAgSWYgeW91IGFyZSBzdXJlIHRoZSAiZnJlZSBjbHVzdGVycyIgb24gRlNJTkZPIGlzCitjb3JyZWN0LCBieSB0aGlzIG9wdGlvbiB5b3UgY2FuIGF2b2lkIHNjYW5uaW5nIGRpc2suCisuVFAKKy5CUiBkb3RzICIsICIgbm9kb3RzICIsICIgZG90c09LPSBbIHllcyB8IG5vIF0KK1ZhcmlvdXMgbWlzZ3VpZGVkIGF0dGVtcHRzIHRvIGZvcmNlIFVuaXggb3IgRE9TIGNvbnZlbnRpb25zCitvbnRvIGEgRkFUIGZpbGVzeXN0ZW0uCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgaGZzIgorLlRQCisuQkkgY3JlYXRvcj0gY2NjYyAiLCB0eXBlPSIgY2NjYworU2V0IHRoZSBjcmVhdG9yL3R5cGUgdmFsdWVzIGFzIHNob3duIGJ5IHRoZSBNYWNPUyBmaW5kZXIKK3VzZWQgZm9yIGNyZWF0aW5nIG5ldyBmaWxlcy4gIERlZmF1bHQgdmFsdWVzOiAnPz8/PycuCisuVFAKKy5CSSB1aWQ9IG4gIiwgZ2lkPSIgbgorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgYWxsIGZpbGVzLgorKERlZmF1bHQ6IHRoZSBVSUQgYW5kIEdJRCBvZiB0aGUgY3VycmVudCBwcm9jZXNzLikKKy5UUAorLkJJIGRpcl91bWFzaz0gbiAiLCBmaWxlX3VtYXNrPSIgbiAiLCB1bWFzaz0iIG4KK1NldCB0aGUgdW1hc2sgdXNlZCBmb3IgYWxsIGRpcmVjdG9yaWVzLCBhbGwgcmVndWxhciBmaWxlcywgb3IgYWxsCitmaWxlcyBhbmQgZGlyZWN0b3JpZXMuICBEZWZhdWx0cyB0byB0aGUgdW1hc2sgb2YgdGhlIGN1cnJlbnQgcHJvY2Vzcy4KKy5UUAorLkJJIHNlc3Npb249IG4KK1NlbGVjdCB0aGUgQ0RST00gc2Vzc2lvbiB0byBtb3VudC4KK0RlZmF1bHRzIHRvIGxlYXZpbmcgdGhhdCBkZWNpc2lvbiB0byB0aGUgQ0RST00gZHJpdmVyLgorVGhpcyBvcHRpb24gd2lsbCBmYWlsIHdpdGggYW55dGhpbmcgYnV0IGEgQ0RST00gYXMgdW5kZXJseWluZyBkZXZpY2UuCisuVFAKKy5CSSBwYXJ0PSBuCitTZWxlY3QgcGFydGl0aW9uIG51bWJlciBuIGZyb20gdGhlIGRldmljZS4KK09ubHkgbWFrZXMgc2Vuc2UgZm9yIENEUk9Ncy4KK0RlZmF1bHRzIHRvIG5vdCBwYXJzaW5nIHRoZSBwYXJ0aXRpb24gdGFibGUgYXQgYWxsLgorLlRQCisuQiBxdWlldAorRG9uJ3QgY29tcGxhaW4gYWJvdXQgaW52YWxpZCBtb3VudCBvcHRpb25zLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIGhwZnMiCisuVFAKK1xmQnVpZD1cZlBcLFxmSXZhbHVlXGZQIGFuZCBcZkJnaWQ9XGZQXCxcZkl2YWx1ZVxmUAorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgb2YgYWxsIGZpbGVzLiAoRGVmYXVsdDogdGhlIFVJRCBhbmQgR0lECitvZiB0aGUgY3VycmVudCBwcm9jZXNzLikKKy5UUAorLkJJIHVtYXNrPSB2YWx1ZQorU2V0IHRoZSB1bWFzayAodGhlIGJpdG1hc2sgb2YgdGhlIHBlcm1pc3Npb25zIHRoYXQgYXJlCisuQiBub3QKK3ByZXNlbnQpLiAgVGhlIGRlZmF1bHQgaXMgdGhlIHVtYXNrIG9mIHRoZSBjdXJyZW50IHByb2Nlc3MuCitUaGUgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuVFAKKy5CUiBjYXNlPSB7IGxvd2VyIHwgYXNpcyB9CitDb252ZXJ0IGFsbCBmaWxlcyBuYW1lcyB0byBsb3dlciBjYXNlLCBvciBsZWF2ZSB0aGVtLgorKERlZmF1bHQ6CisuQlIgY2FzZT1sb3dlciAuKQorLlRQCisuQkkgY29udj0gbW9kZQorVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUgYW5kIG1heSBmYWlsIG9yIGJlaW5nIGlnbm9yZWQuCisuVFAKKy5CIG5vY2hlY2sKK0RvIG5vdCBhYm9ydCBtb3VudGluZyB3aGVuIGNlcnRhaW4gY29uc2lzdGVuY3kgY2hlY2tzIGZhaWwuCisKKy5TUyAiTW91bnQgb3B0aW9ucyBmb3IgaXNvOTY2MCIKK0lTTyA5NjYwIGlzIGEgc3RhbmRhcmQgZGVzY3JpYmluZyBhIGZpbGVzeXN0ZW0gc3RydWN0dXJlIHRvIGJlIHVzZWQKK29uIENELVJPTXMuIChUaGlzIGZpbGVzeXN0ZW0gdHlwZSBpcyBhbHNvIHNlZW4gb24gc29tZSBEVkRzLiAgU2VlIGFsc28gdGhlCisuSSB1ZGYKK2ZpbGVzeXN0ZW0uKQorCitOb3JtYWwKKy5JIGlzbzk2NjAKK2ZpbGVuYW1lcyBhcHBlYXIgaW4gYSA4LjMgZm9ybWF0IChpLmUuLCBET1MtbGlrZSByZXN0cmljdGlvbnMgb24gZmlsZW5hbWUKK2xlbmd0aCksIGFuZCBpbiBhZGRpdGlvbiBhbGwgY2hhcmFjdGVycyBhcmUgaW4gdXBwZXIgY2FzZS4gIEFsc28gdGhlcmUgaXMKK25vIGZpZWxkIGZvciBmaWxlIG93bmVyc2hpcCwgcHJvdGVjdGlvbiwgbnVtYmVyIG9mIGxpbmtzLCBwcm92aXNpb24gZm9yCitibG9jay9jaGFyYWN0ZXIgZGV2aWNlcywgZXRjLgorCitSb2NrIFJpZGdlIGlzIGFuIGV4dGVuc2lvbiB0byBpc285NjYwIHRoYXQgcHJvdmlkZXMgYWxsIG9mIHRoZXNlIFVOSVgtbGlrZQorZmVhdHVyZXMuICBCYXNpY2FsbHkgdGhlcmUgYXJlIGV4dGVuc2lvbnMgdG8gZWFjaCBkaXJlY3RvcnkgcmVjb3JkIHRoYXQKK3N1cHBseSBhbGwgb2YgdGhlIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24sIGFuZCB3aGVuIFJvY2sgUmlkZ2UgaXMgaW4gdXNlLAordGhlIGZpbGVzeXN0ZW0gaXMgaW5kaXN0aW5ndWlzaGFibGUgZnJvbSBhIG5vcm1hbCBVTklYIGZpbGVzeXN0ZW0gKGV4Y2VwdAordGhhdCBpdCBpcyByZWFkLW9ubHksIG9mIGNvdXJzZSkuCisuVFAKKy5CIG5vcm9jaworRGlzYWJsZSB0aGUgdXNlIG9mIFJvY2sgUmlkZ2UgZXh0ZW5zaW9ucywgZXZlbiBpZiBhdmFpbGFibGUuICBDZi5cJgorLkJSIG1hcCAuCisuVFAKKy5CIG5vam9saWV0CitEaXNhYmxlIHRoZSB1c2Ugb2YgTWljcm9zb2Z0IEpvbGlldCBleHRlbnNpb25zLCBldmVuIGlmIGF2YWlsYWJsZS4gIENmLlwmCisuQlIgbWFwIC4KKy5UUAorLkJSIGNoZWNrPSB7IHIgWyBlbGF4ZWQgXXwgcyBbIHRyaWN0IF19CitXaXRoCisuQlIgY2hlY2s9cmVsYXhlZCAsCithIGZpbGVuYW1lIGlzIGZpcnN0IGNvbnZlcnRlZCB0byBsb3dlciBjYXNlIGJlZm9yZSBkb2luZyB0aGUgbG9va3VwLgorVGhpcyBpcyBwcm9iYWJseSBvbmx5IG1lYW5pbmdmdWwgdG9nZXRoZXIgd2l0aAorLkIgbm9yb2NrCithbmQKKy5CUiBtYXA9bm9ybWFsIC4KKyhEZWZhdWx0OgorLkJSIGNoZWNrPXN0cmljdCAuKQorLlRQCitcZkJ1aWQ9XGZQXCxcZkl2YWx1ZVxmUCBhbmQgXGZCZ2lkPVxmUFwsXGZJdmFsdWVcZlAKK0dpdmUgYWxsIGZpbGVzIGluIHRoZSBmaWxlc3lzdGVtIHRoZSBpbmRpY2F0ZWQgdXNlciBvciBncm91cCBpZCwKK3Bvc3NpYmx5IG92ZXJyaWRpbmcgdGhlIGluZm9ybWF0aW9uIGZvdW5kIGluIHRoZSBSb2NrIFJpZGdlIGV4dGVuc2lvbnMuCisoRGVmYXVsdDoKKy5CUiB1aWQ9MCxnaWQ9MCAuKQorLlRQCisuQlIgbWFwPSB7IG4gWyBvcm1hbCBdfCBvIFsgZmYgXXwgYSBbIGNvcm4gXX0KK0ZvciBub24tUm9jayBSaWRnZSB2b2x1bWVzLCBub3JtYWwgbmFtZSB0cmFuc2xhdGlvbiBtYXBzIHVwcGVyCit0byBsb3dlciBjYXNlIEFTQ0lJLCBkcm9wcyBhIHRyYWlsaW5nIGA7MScsIGFuZCBjb252ZXJ0cyBgOycgdG8gYC4nLgorV2l0aAorLkIgbWFwPW9mZgorbm8gbmFtZSB0cmFuc2xhdGlvbiBpcyBkb25lLiAgU2VlCisuQlIgbm9yb2NrIC4KKyhEZWZhdWx0OgorLkJSIG1hcD1ub3JtYWwgLikKKy5CIG1hcD1hY29ybgoraXMgbGlrZQorLkIgbWFwPW5vcm1hbAorYnV0IGFsc28gYXBwbHkgQWNvcm4gZXh0ZW5zaW9ucyBpZiBwcmVzZW50LgorLlRQCisuQkkgbW9kZT0gdmFsdWUKK0ZvciBub24tUm9jayBSaWRnZSB2b2x1bWVzLCBnaXZlIGFsbCBmaWxlcyB0aGUgaW5kaWNhdGVkIG1vZGUuCisoRGVmYXVsdDogcmVhZCBhbmQgZXhlY3V0ZSBwZXJtaXNzaW9uIGZvciBldmVyeWJvZHkuKQorT2N0YWwgbW9kZSB2YWx1ZXMgcmVxdWlyZSBhIGxlYWRpbmcgMC4KKy5UUAorLkIgdW5oaWRlCitBbHNvIHNob3cgaGlkZGVuIGFuZCBhc3NvY2lhdGVkIGZpbGVzLgorKElmIHRoZSBvcmRpbmFyeSBmaWxlcyBhbmQgdGhlIGFzc29jaWF0ZWQgb3IgaGlkZGVuIGZpbGVzIGhhdmUKK3RoZSBzYW1lIGZpbGVuYW1lcywgdGhpcyBtYXkgbWFrZSB0aGUgb3JkaW5hcnkgZmlsZXMgaW5hY2Nlc3NpYmxlLikKKy5UUAorLkJSIGJsb2NrPSB7IDUxMiB8IDEwMjQgfCAyMDQ4IH0KK1NldCB0aGUgYmxvY2sgc2l6ZSB0byB0aGUgaW5kaWNhdGVkIHZhbHVlLgorKERlZmF1bHQ6CisuQlIgYmxvY2s9MTAyNCAuKQorLlRQCisuQkkgY29udj0gbW9kZQorVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUgYW5kIG1heSBmYWlsIG9yIGJlaW5nIGlnbm9yZWQuCisuVFAKKy5CIGNydWZ0CitJZiB0aGUgaGlnaCBieXRlIG9mIHRoZSBmaWxlIGxlbmd0aCBjb250YWlucyBvdGhlciBnYXJiYWdlLAorc2V0IHRoaXMgbW91bnQgb3B0aW9uIHRvIGlnbm9yZSB0aGUgaGlnaCBvcmRlciBiaXRzIG9mIHRoZSBmaWxlIGxlbmd0aC4KK1RoaXMgaW1wbGllcyB0aGF0IGEgZmlsZSBjYW5ub3QgYmUgbGFyZ2VyIHRoYW4gMTZcIE1CLgorLlRQCisuQkkgc2Vzc2lvbj0geAorU2VsZWN0IG51bWJlciBvZiBzZXNzaW9uIG9uIG11bHRpc2Vzc2lvbiBDRC4KKy5UUAorLkJJIHNic2VjdG9yPSB4eHgKK1Nlc3Npb24gYmVnaW5zIGZyb20gc2VjdG9yIHh4eC4KKy5MUAorVGhlIGZvbGxvd2luZyBvcHRpb25zIGFyZSB0aGUgc2FtZSBhcyBmb3IgdmZhdCBhbmQgc3BlY2lmeWluZyB0aGVtIG9ubHkgbWFrZXMKK3NlbnNlIHdoZW4gdXNpbmcgZGlzY3MgZW5jb2RlZCB1c2luZyBNaWNyb3NvZnQncyBKb2xpZXQgZXh0ZW5zaW9ucy4KKy5UUAorLkJJIGlvY2hhcnNldD0gdmFsdWUKK0NoYXJhY3RlciBzZXQgdG8gdXNlIGZvciBjb252ZXJ0aW5nIDE2IGJpdCBVbmljb2RlIGNoYXJhY3RlcnMgb24gQ0QKK3RvIDggYml0IGNoYXJhY3RlcnMuICBUaGUgZGVmYXVsdCBpcyBpc284ODU5LTEuCisuVFAKKy5CIHV0ZjgKK0NvbnZlcnQgMTYgYml0IFVuaWNvZGUgY2hhcmFjdGVycyBvbiBDRCB0byBVVEYtOC4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBqZnMiCisuVFAKKy5CSSBpb2NoYXJzZXQ9IG5hbWUKK0NoYXJhY3RlciBzZXQgdG8gdXNlIGZvciBjb252ZXJ0aW5nIGZyb20gVW5pY29kZSB0byBBU0NJSS4gIFRoZSBkZWZhdWx0IGlzCit0byBkbyBubyBjb252ZXJzaW9uLiAgVXNlCisuQiBpb2NoYXJzZXQ9dXRmOAorZm9yIFVURjggdHJhbnNsYXRpb25zLiAgVGhpcyByZXF1aXJlcyBDT05GSUdfTkxTX1VURjggdG8gYmUgc2V0IGluCit0aGUga2VybmVsCisuSSAiLmNvbmZpZyIKK2ZpbGUuCisuVFAKKy5CSSByZXNpemU9IHZhbHVlCitSZXNpemUgdGhlIHZvbHVtZSB0bworLkkgdmFsdWUKK2Jsb2Nrcy4gIEpGUyBvbmx5IHN1cHBvcnRzIGdyb3dpbmcgYSB2b2x1bWUsIG5vdCBzaHJpbmtpbmcgaXQuICBUaGlzIG9wdGlvbgoraXMgb25seSB2YWxpZCBkdXJpbmcgYSByZW1vdW50LCB3aGVuIHRoZSB2b2x1bWUgaXMgbW91bnRlZCByZWFkLXdyaXRlLiAgVGhlCisuQiByZXNpemUKK2tleXdvcmQgd2l0aCBubyB2YWx1ZSB3aWxsIGdyb3cgdGhlIHZvbHVtZSB0byB0aGUgZnVsbCBzaXplIG9mIHRoZSBwYXJ0aXRpb24uCisuVFAKKy5CIG5vaW50ZWdyaXR5CitEbyBub3Qgd3JpdGUgdG8gdGhlIGpvdXJuYWwuICBUaGUgcHJpbWFyeSB1c2Ugb2YgdGhpcyBvcHRpb24gaXMgdG8gYWxsb3cKK2ZvciBoaWdoZXIgcGVyZm9ybWFuY2Ugd2hlbiByZXN0b3JpbmcgYSB2b2x1bWUgZnJvbSBiYWNrdXAgbWVkaWEuICBUaGUKK2ludGVncml0eSBvZiB0aGUgdm9sdW1lIGlzIG5vdCBndWFyYW50ZWVkIGlmIHRoZSBzeXN0ZW0gYWJub3JtYWxseSBlbmRzLgorLlRQCisuQiBpbnRlZ3JpdHkKK0RlZmF1bHQuICBDb21taXQgbWV0YWRhdGEgY2hhbmdlcyB0byB0aGUgam91cm5hbC4gIFVzZSB0aGlzIG9wdGlvbiB0byByZW1vdW50CithIHZvbHVtZSB3aGVyZSB0aGUKKy5CIG5vaW50ZWdyaXR5CitvcHRpb24gd2FzIHByZXZpb3VzbHkgc3BlY2lmaWVkIGluIG9yZGVyIHRvIHJlc3RvcmUgbm9ybWFsIGJlaGF2aW9yLgorLlRQCisuQlIgZXJyb3JzPSB7IGNvbnRpbnVlIHwgcmVtb3VudC1ybyB8IHBhbmljIH0KK0RlZmluZSB0aGUgYmVoYXZpb3Igd2hlbiBhbiBlcnJvciBpcyBlbmNvdW50ZXJlZC4KKyhFaXRoZXIgaWdub3JlIGVycm9ycyBhbmQganVzdCBtYXJrIHRoZSBmaWxlc3lzdGVtIGVycm9uZW91cyBhbmQgY29udGludWUsCitvciByZW1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSwgb3IgcGFuaWMgYW5kIGhhbHQgdGhlIHN5c3RlbS4pCisuVFAKKy5CUiBub3F1b3RhIHwgcXVvdGEgfCB1c3JxdW90YSB8IGdycHF1b3RhCitUaGVzZSBvcHRpb25zIGFyZSBhY2NlcHRlZCBidXQgaWdub3JlZC4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBtc2RvcyIKK1NlZSBtb3VudCBvcHRpb25zIGZvciBmYXQuCitJZiB0aGUKKy5JIG1zZG9zCitmaWxlc3lzdGVtIGRldGVjdHMgYW4gaW5jb25zaXN0ZW5jeSwgaXQgcmVwb3J0cyBhbiBlcnJvciBhbmQgc2V0cyB0aGUgZmlsZQorc3lzdGVtIHJlYWQtb25seS4gIFRoZSBmaWxlc3lzdGVtIGNhbiBiZSBtYWRlIHdyaXRhYmxlIGFnYWluIGJ5IHJlbW91bnRpbmcKK2l0LgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIG5jcGZzIgorSnVzdCBsaWtlCisuSVIgbmZzICIsIHRoZSAiIG5jcGZzCitpbXBsZW1lbnRhdGlvbiBleHBlY3RzIGEgYmluYXJ5IGFyZ3VtZW50IChhCisuSVIgInN0cnVjdCBuY3BfbW91bnRfZGF0YSIgKQordG8gdGhlIG1vdW50IHN5c3RlbSBjYWxsLiAgVGhpcyBhcmd1bWVudCBpcyBjb25zdHJ1Y3RlZCBieQorLkJSIG5jcG1vdW50ICg4KQorYW5kIHRoZSBjdXJyZW50IHZlcnNpb24gb2YKKy5CIG1vdW50CisoMi4xMikgZG9lcyBub3Qga25vdyBhbnl0aGluZyBhYm91dCBuY3Bmcy4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciBudGZzIgorLlRQCisuQkkgaW9jaGFyc2V0PSBuYW1lCitDaGFyYWN0ZXIgc2V0IHRvIHVzZSB3aGVuIHJldHVybmluZyBmaWxlIG5hbWVzLgorVW5saWtlIFZGQVQsIE5URlMgc3VwcHJlc3NlcyBuYW1lcyB0aGF0IGNvbnRhaW4KK25vbmNvbnZlcnRpYmxlIGNoYXJhY3RlcnMuICBEZXByZWNhdGVkLgorLlRQCisuQkkgbmxzPSBuYW1lCitOZXcgbmFtZSBmb3IgdGhlIG9wdGlvbiBlYXJsaWVyIGNhbGxlZAorLklSIGlvY2hhcnNldCAuCisuVFAKKy5CIHV0ZjgKK1VzZSBVVEYtOCBmb3IgY29udmVydGluZyBmaWxlIG5hbWVzLgorLlRQCisuQlIgdW5pX3hsYXRlPSB7IDAgfCAxIHwgMiB9CitGb3IgMCAob3IgYG5vJyBvciBgZmFsc2UnKSwgZG8gbm90IHVzZSBlc2NhcGUgc2VxdWVuY2VzCitmb3IgdW5rbm93biBVbmljb2RlIGNoYXJhY3RlcnMuCitGb3IgMSAob3IgYHllcycgb3IgYHRydWUnKSBvciAyLCB1c2UgdmZhdC1zdHlsZSA0LWJ5dGUgZXNjYXBlIHNlcXVlbmNlcworc3RhcnRpbmcgd2l0aCAiOiIuICBIZXJlIDIgZ2l2ZSBhIGxpdHRsZS1lbmRpYW4gZW5jb2RpbmcKK2FuZCAxIGEgYnl0ZXN3YXBwZWQgYmlnZW5kaWFuIGVuY29kaW5nLgorLlRQCisuQiBwb3NpeD1bMHwxXQorSWYgZW5hYmxlZCAocG9zaXg9MSksIHRoZSBmaWxlc3lzdGVtIGRpc3Rpbmd1aXNoZXMgYmV0d2VlbgordXBwZXIgYW5kIGxvd2VyIGNhc2UuICBUaGUgOC4zIGFsaWFzIG5hbWVzIGFyZSBwcmVzZW50ZWQgYXMKK2hhcmQgbGlua3MgaW5zdGVhZCBvZiBiZWluZyBzdXBwcmVzc2VkLiAgVGhpcyBvcHRpb24gaXMgb2Jzb2xldGUuCisuVFAKK1xmQnVpZD1cZlBcLFxmSXZhbHVlXGZQLCBcZkJnaWQ9XGZQXCxcZkl2YWx1ZVxmUCBhbmQgXGZCdW1hc2s9XGZQXCxcZkl2YWx1ZVxmUAorU2V0IHRoZSBmaWxlIHBlcm1pc3Npb24gb24gdGhlIGZpbGVzeXN0ZW0uCitUaGUgdW1hc2sgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCitCeSBkZWZhdWx0LCB0aGUgZmlsZXMgYXJlIG93bmVkIGJ5IHJvb3QgYW5kIG5vdCByZWFkYWJsZSBieSBzb21lYm9keSBlbHNlLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIG92ZXJsYXkiCitTaW5jZSBMaW51eCAzLjE4IHRoZSBvdmVybGF5IHBzZXVkbyBmaWxlc3lzdGVtIGltcGxlbWVudHMgYSB1bmlvbiBtb3VudCBmb3IKK290aGVyIGZpbGVzeXN0ZW1zLgorCitBbiBvdmVybGF5IGZpbGVzeXN0ZW0gY29tYmluZXMgdHdvIGZpbGVzeXN0ZW1zIC0gYW4gXGZCdXBwZXJcZlIgZmlsZXN5c3RlbSBhbmQKK2EgXGZCbG93ZXJcZlIgZmlsZXN5c3RlbS4gIFdoZW4gYSBuYW1lIGV4aXN0cyBpbiBib3RoIGZpbGVzeXN0ZW1zLCB0aGUgb2JqZWN0CitpbiB0aGUgdXBwZXIgZmlsZXN5c3RlbSBpcyB2aXNpYmxlIHdoaWxlIHRoZSBvYmplY3QgaW4gdGhlIGxvd2VyIGZpbGVzeXN0ZW0gaXMKK2VpdGhlciBoaWRkZW4gb3IsIGluIHRoZSBjYXNlIG9mIGRpcmVjdG9yaWVzLCBtZXJnZWQgd2l0aCB0aGUgdXBwZXIgb2JqZWN0LgorCitUaGUgbG93ZXIgZmlsZXN5c3RlbSBjYW4gYmUgYW55IGZpbGVzeXN0ZW0gc3VwcG9ydGVkIGJ5IExpbnV4IGFuZCBkb2VzIG5vdCBuZWVkCit0byBiZSB3cml0YWJsZS4gIFRoZSBsb3dlciBmaWxlc3lzdGVtIGNhbiBldmVuIGJlIGFub3RoZXIgb3ZlcmxheWZzLiAgVGhlIHVwcGVyCitmaWxlc3lzdGVtIHdpbGwgbm9ybWFsbHkgYmUgd3JpdGFibGUgYW5kIGlmIGl0IGlzIGl0IG11c3Qgc3VwcG9ydCB0aGUgY3JlYXRpb24KK29mIHRydXN0ZWQuKiBleHRlbmRlZCBhdHRyaWJ1dGVzLCBhbmQgbXVzdCBwcm92aWRlIGEgdmFsaWQgZF90eXBlIGluIHJlYWRkaXIKK3Jlc3BvbnNlcywgc28gTkZTIGlzIG5vdCBzdWl0YWJsZS4KKworQSByZWFkLW9ubHkgb3ZlcmxheSBvZiB0d28gcmVhZC1vbmx5IGZpbGVzeXN0ZW1zIG1heSB1c2UgYW55IGZpbGVzeXN0ZW0gdHlwZS4KK1RoZSBvcHRpb25zIFxmQmxvd2VyZGlyXGZSIGFuZCBcZkJ1cHBlcmRpclxmUiBhcmUgY29tYmluZWQgaW50byBhIG1lcmdlZAorZGlyZWN0b3J5IGJ5IHVzaW5nOgorCisuUlMKKy5icgorLm5mCisuQiAibW91bnQgXC10IG92ZXJsYXkgIG92ZXJsYXkgIFxlIgorLkIgIiAgXC1vbG93ZXJkaXI9L2xvd2VyLHVwcGVyZGlyPS91cHBlcix3b3JrZGlyPS93b3JrICAvbWVyZ2VkIgorLmZpCisuYnIKKy5SRQorCisuVFAKKy5CSSBsb3dlcmRpcj0gZGlyZWN0b3J5CitBbnkgZmlsZXN5c3RlbSwgZG9lcyBub3QgbmVlZCB0byBiZSBvbiBhIHdyaXRhYmxlIGZpbGVzeXN0ZW0uCisuVFAKKy5CSSB1cHBlcmRpcj0gZGlyZWN0b3J5CitUaGUgdXBwZXJkaXIgaXMgbm9ybWFsbHkgb24gYSB3cml0YWJsZSBmaWxlc3lzdGVtLgorLlRQCisuQkkgd29ya2Rpcj0gZGlyZWN0b3J5CitUaGUgd29ya2RpciBuZWVkcyB0byBiZSBhbiBlbXB0eSBkaXJlY3Rvcnkgb24gdGhlIHNhbWUgZmlsZXN5c3RlbSBhcyB1cHBlcmRpci4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciByZWlzZXJmcyIKK1JlaXNlcmZzIGlzIGEgam91cm5hbGluZyBmaWxlc3lzdGVtLgorLlRQCisuQiBjb252CitJbnN0cnVjdHMgdmVyc2lvbiAzLjYgcmVpc2VyZnMgc29mdHdhcmUgdG8gbW91bnQgYSB2ZXJzaW9uIDMuNSBmaWxlc3lzdGVtLAordXNpbmcgdGhlIDMuNiBmb3JtYXQgZm9yIG5ld2x5IGNyZWF0ZWQgb2JqZWN0cy4gIFRoaXMgZmlsZXN5c3RlbSB3aWxsIG5vCitsb25nZXIgYmUgY29tcGF0aWJsZSB3aXRoIHJlaXNlcmZzIDMuNSB0b29scy4KKy5UUAorLkJSIGhhc2g9IHsgcnVwYXNvdiB8IHRlYSB8IHI1IHwgZGV0ZWN0IH0KK0Nob29zZSB3aGljaCBoYXNoIGZ1bmN0aW9uIHJlaXNlcmZzIHdpbGwgdXNlIHRvIGZpbmQgZmlsZXMgd2l0aGluIGRpcmVjdG9yaWVzLgorLlJTCisuVFAKKy5CIHJ1cGFzb3YKK0EgaGFzaCBpbnZlbnRlZCBieSBZdXJ5IFl1LlwmIFJ1cGFzb3YuICBJdCBpcyBmYXN0IGFuZCBwcmVzZXJ2ZXMgbG9jYWxpdHksCittYXBwaW5nIGxleGljb2dyYXBoaWNhbGx5IGNsb3NlIGZpbGUgbmFtZXMgdG8gY2xvc2UgaGFzaCB2YWx1ZXMuCitUaGlzIG9wdGlvbiBzaG91bGQgbm90IGJlIHVzZWQsIGFzIGl0IGNhdXNlcyBhIGhpZ2ggcHJvYmFiaWxpdHkgb2YgaGFzaAorY29sbGlzaW9ucy4KKy5UUAorLkIgdGVhCitBIERhdmlzLU1leWVyIGZ1bmN0aW9uIGltcGxlbWVudGVkIGJ5IEplcmVteSBGaXR6aGFyZGluZ2UuCitJdCB1c2VzIGhhc2ggcGVybXV0aW5nIGJpdHMgaW4gdGhlIG5hbWUuICBJdCBnZXRzIGhpZ2ggcmFuZG9tbmVzcworYW5kLCB0aGVyZWZvcmUsIGxvdyBwcm9iYWJpbGl0eSBvZiBoYXNoIGNvbGxpc2lvbnMgYXQgc29tZSBDUFUgY29zdC4KK1RoaXMgbWF5IGJlIHVzZWQgaWYgRUhBU0hDT0xMSVNJT04gZXJyb3JzIGFyZSBleHBlcmllbmNlZCB3aXRoIHRoZSByNSBoYXNoLgorLlRQCisuQiByNQorQSBtb2RpZmllZCB2ZXJzaW9uIG9mIHRoZSBydXBhc292IGhhc2guICBJdCBpcyB1c2VkIGJ5IGRlZmF1bHQgYW5kIGlzCit0aGUgYmVzdCBjaG9pY2UgdW5sZXNzIHRoZSBmaWxlc3lzdGVtIGhhcyBodWdlIGRpcmVjdG9yaWVzIGFuZAordW51c3VhbCBmaWxlLW5hbWUgcGF0dGVybnMuCisuVFAKKy5CIGRldGVjdAorSW5zdHJ1Y3RzCisuSSBtb3VudAordG8gZGV0ZWN0IHdoaWNoIGhhc2ggZnVuY3Rpb24gaXMgaW4gdXNlIGJ5IGV4YW1pbmluZwordGhlIGZpbGVzeXN0ZW0gYmVpbmcgbW91bnRlZCwgYW5kIHRvIHdyaXRlIHRoaXMgaW5mb3JtYXRpb24gaW50bwordGhlIHJlaXNlcmZzIHN1cGVyYmxvY2suICBUaGlzIGlzIG9ubHkgdXNlZnVsIG9uIHRoZSBmaXJzdCBtb3VudCBvZgorYW4gb2xkIGZvcm1hdCBmaWxlc3lzdGVtLgorLlJFCisuVFAKKy5CIGhhc2hlZF9yZWxvY2F0aW9uCitUdW5lcyB0aGUgYmxvY2sgYWxsb2NhdG9yLiAgVGhpcyBtYXkgcHJvdmlkZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMKK2luIHNvbWUgc2l0dWF0aW9ucy4KKy5UUAorLkIgbm9fdW5oYXNoZWRfcmVsb2NhdGlvbgorVHVuZXMgdGhlIGJsb2NrIGFsbG9jYXRvci4gIFRoaXMgbWF5IHByb3ZpZGUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzCitpbiBzb21lIHNpdHVhdGlvbnMuCisuVFAKKy5CIG5vYm9yZGVyCitEaXNhYmxlIHRoZSBib3JkZXIgYWxsb2NhdG9yIGFsZ29yaXRobSBpbnZlbnRlZCBieSBZdXJ5IFl1LlwmIFJ1cGFzb3YuCitUaGlzIG1heSBwcm92aWRlIHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cyBpbiBzb21lIHNpdHVhdGlvbnMuCisuVFAKKy5CIG5vbG9nCitEaXNhYmxlIGpvdXJuYWxpbmcuICBUaGlzIHdpbGwgcHJvdmlkZSBzbGlnaHQgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnRzIGluCitzb21lIHNpdHVhdGlvbnMgYXQgdGhlIGNvc3Qgb2YgbG9zaW5nIHJlaXNlcmZzJ3MgZmFzdCByZWNvdmVyeSBmcm9tIGNyYXNoZXMuCitFdmVuIHdpdGggdGhpcyBvcHRpb24gdHVybmVkIG9uLCByZWlzZXJmcyBzdGlsbCBwZXJmb3JtcyBhbGwgam91cm5hbGluZworb3BlcmF0aW9ucywgc2F2ZSBmb3IgYWN0dWFsIHdyaXRlcyBpbnRvIGl0cyBqb3VybmFsaW5nIGFyZWEuICBJbXBsZW1lbnRhdGlvbgorb2YKKy5JIG5vbG9nCitpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MuCisuVFAKKy5CIG5vdGFpbAorQnkgZGVmYXVsdCwgcmVpc2VyZnMgc3RvcmVzIHNtYWxsIGZpbGVzIGFuZCBgZmlsZSB0YWlscycgZGlyZWN0bHkgaW50byBpdHMKK3RyZWUuICBUaGlzIGNvbmZ1c2VzIHNvbWUgdXRpbGl0aWVzIHN1Y2ggYXMKKy5CUiBMSUxPICg4KS4KK1RoaXMgb3B0aW9uIGlzIHVzZWQgdG8gZGlzYWJsZSBwYWNraW5nIG9mIGZpbGVzIGludG8gdGhlIHRyZWUuCisuVFAKKy5CIHJlcGxheW9ubHkKK1JlcGxheSB0aGUgdHJhbnNhY3Rpb25zIHdoaWNoIGFyZSBpbiB0aGUgam91cm5hbCwgYnV0IGRvIG5vdCBhY3R1YWxseQorbW91bnQgdGhlIGZpbGVzeXN0ZW0uICBNYWlubHkgdXNlZCBieQorLklSIHJlaXNlcmZzY2sgLgorLlRQCisuQkkgcmVzaXplPSBudW1iZXIKK0EgcmVtb3VudCBvcHRpb24gd2hpY2ggcGVybWl0cyBvbmxpbmUgZXhwYW5zaW9uIG9mIHJlaXNlcmZzIHBhcnRpdGlvbnMuCitJbnN0cnVjdHMgcmVpc2VyZnMgdG8gYXNzdW1lIHRoYXQgdGhlIGRldmljZSBoYXMKKy5JIG51bWJlcgorYmxvY2tzLgorVGhpcyBvcHRpb24gaXMgZGVzaWduZWQgZm9yIHVzZSB3aXRoIGRldmljZXMgd2hpY2ggYXJlIHVuZGVyIGxvZ2ljYWwKK3ZvbHVtZSBtYW5hZ2VtZW50IChMVk0pLgorVGhlcmUgaXMgYSBzcGVjaWFsCisuSSByZXNpemVyCit1dGlsaXR5IHdoaWNoIGNhbiBiZSBvYnRhaW5lZCBmcm9tCisuSVIgZnRwOi8vZnRwLm5hbWVzeXMuY29tL3B1Yi9yZWlzZXJmc3Byb2dzIC4KKy5UUAorLkIgdXNlcl94YXR0cgorRW5hYmxlIEV4dGVuZGVkIFVzZXIgQXR0cmlidXRlcy4gIFNlZSB0aGUKKy5CUiBhdHRyICg1KQorbWFudWFsIHBhZ2UuCisuVFAKKy5CIGFjbAorRW5hYmxlIFBPU0lYIEFjY2VzcyBDb250cm9sIExpc3RzLiAgU2VlIHRoZQorLkJSIGFjbCAoNSkKK21hbnVhbCBwYWdlLgorLlRQCisuQlIgYmFycmllcj1ub25lICIgLyAiIGJhcnJpZXI9Zmx1c2ggIgorVGhpcyBkaXNhYmxlcyAvIGVuYWJsZXMgdGhlIHVzZSBvZiB3cml0ZSBiYXJyaWVycyBpbiB0aGUgam91cm5hbGluZyBjb2RlLgorYmFycmllcj1ub25lIGRpc2FibGVzLCBiYXJyaWVyPWZsdXNoIGVuYWJsZXMgKGRlZmF1bHQpLiAgVGhpcyBhbHNvIHJlcXVpcmVzIGFuCitJTyBzdGFjayB3aGljaCBjYW4gc3VwcG9ydCBiYXJyaWVycywgYW5kIGlmIHJlaXNlcmZzIGdldHMgYW4gZXJyb3Igb24gYSBiYXJyaWVyCit3cml0ZSwgaXQgd2lsbCBkaXNhYmxlIGJhcnJpZXJzIGFnYWluIHdpdGggYSB3YXJuaW5nLiAgV3JpdGUgYmFycmllcnMgZW5mb3JjZQorcHJvcGVyIG9uLWRpc2sgb3JkZXJpbmcgb2Ygam91cm5hbCBjb21taXRzLCBtYWtpbmcgdm9sYXRpbGUgZGlzayB3cml0ZSBjYWNoZXMKK3NhZmUgdG8gdXNlLCBhdCBzb21lIHBlcmZvcm1hbmNlIHBlbmFsdHkuICBJZiB5b3VyIGRpc2tzIGFyZSBiYXR0ZXJ5LWJhY2tlZCBpbgorb25lIHdheSBvciBhbm90aGVyLCBkaXNhYmxpbmcgYmFycmllcnMgbWF5IHNhZmVseSBpbXByb3ZlIHBlcmZvcm1hbmNlLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHViaWZzIgorVUJJRlMgaXMgYSBmbGFzaCBmaWxlc3lzdGVtIHdoaWNoIHdvcmtzIG9uIHRvcCBvZiBVQkkgdm9sdW1lcy4gIE5vdGUgdGhhdAorXGZCYXRpbWVcZlIgaXMgbm90IHN1cHBvcnRlZCBhbmQgaXMgYWx3YXlzIHR1cm5lZCBvZmYuCisuVFAKK1RoZSBkZXZpY2UgbmFtZSBtYXkgYmUgc3BlY2lmaWVkIGFzCisuUlMKKy5CIHViaVhfWQorVUJJIGRldmljZSBudW1iZXIKKy5CUiBYICwKK3ZvbHVtZSBudW1iZXIKKy5CIFkKKy5UUAorLkIgdWJpWQorVUJJIGRldmljZSBudW1iZXIKKy5CUiAwICwKK3ZvbHVtZSBudW1iZXIKKy5CIFkKKy5UUAorLkIgdWJpWDpOQU1FCitVQkkgZGV2aWNlIG51bWJlcgorLkJSIFggLAordm9sdW1lIHdpdGggbmFtZQorLkIgTkFNRQorLlRQCisuQiB1Ymk6TkFNRQorVUJJIGRldmljZSBudW1iZXIKKy5CUiAwICwKK3ZvbHVtZSB3aXRoIG5hbWUKKy5CIE5BTUUKKy5SRQorQWx0ZXJuYXRpdmUKKy5CICEKK3NlcGFyYXRvciBtYXkgYmUgdXNlZCBpbnN0ZWFkIG9mCisuQlIgOiAuCisuVFAKK1RoZSBmb2xsb3dpbmcgbW91bnQgb3B0aW9ucyBhcmUgYXZhaWxhYmxlOgorLlRQCisuQiBidWxrX3JlYWQKK0VuYWJsZSBidWxrLXJlYWQuICBWRlMgcmVhZC1haGVhZCBpcyBkaXNhYmxlZCBiZWNhdXNlIGl0IHNsb3dzIGRvd24gdGhlIGZpbGUKK3N5c3RlbS4gIEJ1bGstUmVhZCBpcyBhbiBpbnRlcm5hbCBvcHRpbWl6YXRpb24uICBTb21lIGZsYXNoZXMgbWF5IHJlYWQgZmFzdGVyIGlmCit0aGUgZGF0YSBhcmUgcmVhZCBhdCBvbmUgZ28sIHJhdGhlciB0aGFuIGF0IHNldmVyYWwgcmVhZCByZXF1ZXN0cy4gIEZvcgorZXhhbXBsZSwgT25lTkFORCBjYW4gZG8gInJlYWQtd2hpbGUtbG9hZCIgaWYgaXQgcmVhZHMgbW9yZSB0aGFuIG9uZSBOQU5EIHBhZ2UuCisuVFAKKy5CIG5vX2J1bGtfcmVhZAorRG8gbm90IGJ1bGstcmVhZC4gIFRoaXMgaXMgdGhlIGRlZmF1bHQuCisuVFAKKy5CIGNoa19kYXRhX2NyYworQ2hlY2sgZGF0YSBDUkMtMzIgY2hlY2tzdW1zLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkJSIG5vX2Noa19kYXRhX2NyYyAuCitEbyBub3QgY2hlY2sgZGF0YSBDUkMtMzIgY2hlY2tzdW1zLiAgV2l0aCB0aGlzIG9wdGlvbiwgdGhlIGZpbGVzeXN0ZW0gZG9lcyBub3QKK2NoZWNrIENSQy0zMiBjaGVja3N1bSBmb3IgZGF0YSwgYnV0IGl0IGRvZXMgY2hlY2sgaXQgZm9yIHRoZSBpbnRlcm5hbCBpbmRleGluZworaW5mb3JtYXRpb24uICBUaGlzIG9wdGlvbiBvbmx5IGFmZmVjdHMgcmVhZGluZywgbm90IHdyaXRpbmcuICBDUkMtMzIgaXMgYWx3YXlzCitjYWxjdWxhdGVkIHdoZW4gd3JpdGluZyB0aGUgZGF0YS4KKy5UUAorLkJSIGNvbXByPSB7IG5vbmUgfCBsem8gfCB6bGliIH0KK1NlbGVjdCB0aGUgZGVmYXVsdCBjb21wcmVzc29yIHdoaWNoIGlzIHVzZWQgd2hlbiBuZXcgZmlsZXMgYXJlIHdyaXR0ZW4uICBJdCBpcworc3RpbGwgcG9zc2libGUgdG8gcmVhZCBjb21wcmVzc2VkIGZpbGVzIGlmIG1vdW50ZWQgd2l0aCB0aGUKKy5CIG5vbmUKK29wdGlvbi4KKworLlNTICJNb3VudCBvcHRpb25zIGZvciB1ZGYiCitVREYgaXMgdGhlICJVbml2ZXJzYWwgRGlzayBGb3JtYXQiIGZpbGVzeXN0ZW0gZGVmaW5lZCBieSBPU1RBLCB0aGUgT3B0aWNhbAorU3RvcmFnZSBUZWNobm9sb2d5IEFzc29jaWF0aW9uLCBhbmQgaXMgb2Z0ZW4gdXNlZCBmb3IgRFZELVJPTSwgZnJlcXVlbnRseQoraW4gdGhlIGZvcm0gb2YgYSBoeWJyaWQgVURGL0lTTy05NjYwIGZpbGVzeXN0ZW0uIEl0IGlzLCBob3dldmVyLAorcGVyZmVjdGx5IHVzYWJsZSBieSBpdHNlbGYgb24gZGlzayBkcml2ZXMsIGZsYXNoIGRyaXZlcyBhbmQgb3RoZXIgYmxvY2sgZGV2aWNlcy4KK1NlZSBhbHNvCisuSVIgaXNvOTY2MCAuCisuVFAKKy5CIHVpZD0KK01ha2UgYWxsIGZpbGVzIGluIHRoZSBmaWxlc3lzdGVtIGJlbG9uZyB0byB0aGUgZ2l2ZW4gdXNlci4KK3VpZD1mb3JnZXQgY2FuIGJlIHNwZWNpZmllZCBpbmRlcGVuZGVudGx5IG9mIChvciB1c3VhbGx5IGluCithZGRpdGlvbiB0bykgdWlkPTx1c2VyPiBhbmQgcmVzdWx0cyBpbiBVREYKK25vdCBzdG9yaW5nIHVpZHMgdG8gdGhlIG1lZGlhLiBJbiBmYWN0IHRoZSByZWNvcmRlZCB1aWQKK2lzIHRoZSAzMi1iaXQgb3ZlcmZsb3cgdWlkIC0xIGFzIGRlZmluZWQgYnkgdGhlIFVERiBzdGFuZGFyZC4KK1RoZSB2YWx1ZSBpcyBnaXZlbiBhcyBlaXRoZXIgPHVzZXI+IHdoaWNoIGlzIGEgdmFsaWQgdXNlciBuYW1lIG9yIHRoZSBjb3JyZXNwb25kaW5nCitkZWNpbWFsIHVzZXIgaWQsIG9yIHRoZSBzcGVjaWFsIHN0cmluZyAiZm9yZ2V0Ii4KKy5UUAorLkIgZ2lkPQorTWFrZSBhbGwgZmlsZXMgaW4gdGhlIGZpbGVzeXN0ZW0gYmVsb25nIHRvIHRoZSBnaXZlbiBncm91cC4KK2dpZD1mb3JnZXQgY2FuIGJlIHNwZWNpZmllZCBpbmRlcGVuZGVudGx5IG9mIChvciB1c3VhbGx5IGluCithZGRpdGlvbiB0bykgZ2lkPTxncm91cD4gYW5kIHJlc3VsdHMgaW4gVURGCitub3Qgc3RvcmluZyBnaWRzIHRvIHRoZSBtZWRpYS4gSW4gZmFjdCB0aGUgcmVjb3JkZWQgZ2lkCitpcyB0aGUgMzItYml0IG92ZXJmbG93IGdpZCAtMSBhcyBkZWZpbmVkIGJ5IHRoZSBVREYgc3RhbmRhcmQuCitUaGUgdmFsdWUgaXMgZ2l2ZW4gYXMgZWl0aGVyIDxncm91cD4gd2hpY2ggaXMgYSB2YWxpZCBncm91cCBuYW1lIG9yIHRoZSBjb3JyZXNwb25kaW5nCitkZWNpbWFsIGdyb3VwIGlkLCBvciB0aGUgc3BlY2lhbCBzdHJpbmcgImZvcmdldCIuCisuVFAKKy5CIHVtYXNrPQorTWFzayBvdXQgdGhlIGdpdmVuIHBlcm1pc3Npb25zIGZyb20gYWxsIGlub2RlcyByZWFkIGZyb20gdGhlIGZpbGVzeXN0ZW0uCitUaGUgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuVFAKKy5CIG1vZGU9CitJZiBtb2RlPSBpcyBzZXQgdGhlIHBlcm1pc3Npb25zIG9mIGFsbCBub24tZGlyZWN0b3J5IGlub2RlcyByZWFkIGZyb20gdGhlCitmaWxlc3lzdGVtIHdpbGwgYmUgc2V0IHRvIHRoZSBnaXZlbiBtb2RlLiBUaGUgdmFsdWUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuVFAKKy5CIGRtb2RlPQorSWYgZG1vZGU9IGlzIHNldCB0aGUgcGVybWlzc2lvbnMgb2YgYWxsIGRpcmVjdG9yeSBpbm9kZXMgcmVhZCBmcm9tIHRoZQorZmlsZXN5c3RlbSB3aWxsIGJlIHNldCB0byB0aGUgZ2l2ZW4gZG1vZGUuIFRoZSB2YWx1ZSBpcyBnaXZlbiBpbiBvY3RhbC4KKy5UUAorLkIgYnM9CitTZXQgdGhlIGJsb2NrIHNpemUuIERlZmF1bHQgdmFsdWUgcHJpb3IgdG8ga2VybmVsIHZlcnNpb24gMi42LjMwIHdhcworMjA0OC4gU2luY2UgMi42LjMwIGFuZCBwcmlvciB0byA0LjExIGl0IHdhcyBsb2dpY2FsIGRldmljZSBibG9jayBzaXplIHdpdGgKK2ZhbGxiYWNrIHRvIDIwNDguIFNpbmNlIDQuMTEgaXQgaXMgbG9naWNhbCBibG9jayBzaXplIHdpdGggZmFsbGJhY2sgdG8KK2FueSB2YWxpZCBibG9jayBzaXplIGJldHdlZW4gbG9naWNhbCBkZXZpY2UgYmxvY2sgc2l6ZSBhbmQgNDA5Ni4KKworRm9yIG90aGVyIGRldGFpbHMgc2VlIHRoZSBcZkJta3VkZmZzXGZQKDgpIDIuMCsgbWFucGFnZSwgc2VjdGlvbnMKK1xmQkNPTVBBVElCSUxJVFlcZlAgYW5kIFxmQkJMT0NLIFNJWkVcZlAuCisuVFAKKy5CIHVuaGlkZQorU2hvdyBvdGhlcndpc2UgaGlkZGVuIGZpbGVzLgorLlRQCisuQiB1bmRlbGV0ZQorU2hvdyBkZWxldGVkIGZpbGVzIGluIGxpc3RzLgorLlRQCisuQiBhZGluaWNiCitFbWJlZCBkYXRhIGluIHRoZSBpbm9kZS4gKGRlZmF1bHQpCisuVFAKKy5CIG5vYWRpbmljYgorRG9uJ3QgZW1iZWQgZGF0YSBpbiB0aGUgaW5vZGUuCisuVFAKKy5CIHNob3J0YWQKK1VzZSBzaG9ydCBVREYgYWRkcmVzcyBkZXNjcmlwdG9ycy4KKy5UUAorLkIgbG9uZ2FkCitVc2UgbG9uZyBVREYgYWRkcmVzcyBkZXNjcmlwdG9ycy4gKGRlZmF1bHQpCisuVFAKKy5CIG5vc3RyaWN0CitVbnNldCBzdHJpY3QgY29uZm9ybWFuY2UuCisuVFAKKy5CIGlvY2hhcnNldD0KK1NldCB0aGUgTkxTIGNoYXJhY3RlciBzZXQuIFRoaXMgcmVxdWlyZXMga2VybmVsIGNvbXBpbGVkIHdpdGggQ09ORklHX1VERl9OTFMgb3B0aW9uLgorLlRQCisuQiB1dGY4CitTZXQgdGhlIFVURi04IGNoYXJhY3RlciBzZXQuCisuU1MgTW91bnQgb3B0aW9ucyBmb3IgZGVidWdnaW5nIGFuZCBkaXNhc3RlciByZWNvdmVyeQorLlRQCisuQiBub3ZycworSWdub3JlIHRoZSBWb2x1bWUgUmVjb2duaXRpb24gU2VxdWVuY2UgYW5kIGF0dGVtcHQgdG8gbW91bnQgYW55d2F5LgorLlRQCisuQiBzZXNzaW9uPQorU2VsZWN0IHRoZSBzZXNzaW9uIG51bWJlciBmb3IgbXVsdGktc2Vzc2lvbiByZWNvcmRlZCBvcHRpY2FsIG1lZGlhLiAoZGVmYXVsdD0gbGFzdCBzZXNzaW9uKQorLlRQCisuQiBhbmNob3I9CitPdmVycmlkZSBzdGFuZGFyZCBhbmNob3IgbG9jYXRpb24uIChkZWZhdWx0PSAyNTYpCisuVFAKKy5CIGxhc3RibG9jaz0KK1NldCB0aGUgbGFzdCBibG9jayBvZiB0aGUgZmlsZXN5c3RlbS4KKy5TUyBVbnVzZWQgaGlzdG9yaWNhbCBtb3VudCBvcHRpb25zIHRoYXQgbWF5IGJlIGVuY291bnRlcmVkIGFuZCBzaG91bGQgYmUgcmVtb3ZlZAorLlRQCisuQiB1aWQ9aWdub3JlCitJZ25vcmVkLCB1c2UgdWlkPTx1c2VyPiBpbnN0ZWFkLgorLlRQCisuQiBnaWQ9aWdub3JlCitJZ25vcmVkLCB1c2UgZ2lkPTxncm91cD4gaW5zdGVhZC4KKy5UUAorLkIgdm9sdW1lPQorVW5pbXBsZW1lbnRlZCBhbmQgaWdub3JlZC4KKy5UUAorLkIgcGFydGl0aW9uPQorVW5pbXBsZW1lbnRlZCBhbmQgaWdub3JlZC4KKy5UUAorLkIgZmlsZXNldD0KK1VuaW1wbGVtZW50ZWQgYW5kIGlnbm9yZWQuCisuVFAKKy5CIHJvb3RkaXI9CitVbmltcGxlbWVudGVkIGFuZCBpZ25vcmVkLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHVmcyIKKy5UUAorLkJJIHVmc3R5cGU9IHZhbHVlCitVRlMgaXMgYSBmaWxlc3lzdGVtIHdpZGVseSB1c2VkIGluIGRpZmZlcmVudCBvcGVyYXRpbmcgc3lzdGVtcy4KK1RoZSBwcm9ibGVtIGFyZSBkaWZmZXJlbmNlcyBhbW9uZyBpbXBsZW1lbnRhdGlvbnMuICBGZWF0dXJlcyBvZiBzb21lCitpbXBsZW1lbnRhdGlvbnMgYXJlIHVuZG9jdW1lbnRlZCwgc28gaXRzIGhhcmQgdG8gcmVjb2duaXplIHRoZQordHlwZSBvZiB1ZnMgYXV0b21hdGljYWxseS4KK1RoYXQncyB3aHkgdGhlIHVzZXIgbXVzdCBzcGVjaWZ5IHRoZSB0eXBlIG9mIHVmcyBieSBtb3VudCBvcHRpb24uCitQb3NzaWJsZSB2YWx1ZXMgYXJlOgorLlJTCisuVFAKKy5CIG9sZAorT2xkIGZvcm1hdCBvZiB1ZnMsIHRoaXMgaXMgdGhlIGRlZmF1bHQsIHJlYWQgb25seS4KKyhEb24ndCBmb3JnZXQgdG8gZ2l2ZSB0aGUgXC1yIG9wdGlvbi4pCisuVFAKKy5CIDQ0YnNkCitGb3IgZmlsZXN5c3RlbXMgY3JlYXRlZCBieSBhIEJTRC1saWtlIHN5c3RlbSAoTmV0QlNELCBGcmVlQlNELCBPcGVuQlNEKS4KKy5UUAorLkIgdWZzMgorVXNlZCBpbiBGcmVlQlNEIDUueCBzdXBwb3J0ZWQgYXMgcmVhZC13cml0ZS4KKy5UUAorLkIgNXhic2QKK1N5bm9ueW0gZm9yIHVmczIuCisuVFAKKy5CIHN1bgorRm9yIGZpbGVzeXN0ZW1zIGNyZWF0ZWQgYnkgU3VuT1Mgb3IgU29sYXJpcyBvbiBTcGFyYy4KKy5UUAorLkIgc3VueDg2CitGb3IgZmlsZXN5c3RlbXMgY3JlYXRlZCBieSBTb2xhcmlzIG9uIHg4Ni4KKy5UUAorLkIgaHAKK0ZvciBmaWxlc3lzdGVtcyBjcmVhdGVkIGJ5IEhQLVVYLCByZWFkLW9ubHkuCisuVFAKKy5CIG5leHRzdGVwCitGb3IgZmlsZXN5c3RlbXMgY3JlYXRlZCBieSBOZVhUU3RlcCAob24gTmVYVCBzdGF0aW9uKSAoY3VycmVudGx5IHJlYWQgb25seSkuCisuVFAKKy5CIG5leHRzdGVwLWNkCitGb3IgTmV4dFN0ZXAgQ0RST01zIChibG9ja19zaXplID09IDIwNDgpLCByZWFkLW9ubHkuCisuVFAKKy5CIG9wZW5zdGVwCitGb3IgZmlsZXN5c3RlbXMgY3JlYXRlZCBieSBPcGVuU3RlcCAoY3VycmVudGx5IHJlYWQgb25seSkuCitUaGUgc2FtZSBmaWxlc3lzdGVtIHR5cGUgaXMgYWxzbyB1c2VkIGJ5IE1hYyBPUyBYLgorLlJFCisKKy5UUAorLkJJIG9uZXJyb3I9IHZhbHVlCitTZXQgYmVoYXZpb3Igb24gZXJyb3I6CisuUlMKKy5UUAorLkIgcGFuaWMKK0lmIGFuIGVycm9yIGlzIGVuY291bnRlcmVkLCBjYXVzZSBhIGtlcm5lbCBwYW5pYy4KKy5UUAorLlJCIFsgbG9jayB8IHVtb3VudCB8IHJlcGFpciBdCitUaGVzZSBtb3VudCBvcHRpb25zIGRvbid0IGRvIGFueXRoaW5nIGF0IHByZXNlbnQ7Cit3aGVuIGFuIGVycm9yIGlzIGVuY291bnRlcmVkIG9ubHkgYSBjb25zb2xlIG1lc3NhZ2UgaXMgcHJpbnRlZC4KKy5SRQorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHVtc2RvcyIKK1NlZSBtb3VudCBvcHRpb25zIGZvciBtc2Rvcy4KK1RoZQorLkIgZG90c09LCitvcHRpb24gaXMgZXhwbGljaXRseSBraWxsZWQgYnkKKy5JUiB1bXNkb3MgLgorCisuU1MgIk1vdW50IG9wdGlvbnMgZm9yIHZmYXQiCitGaXJzdCBvZiBhbGwsIHRoZSBtb3VudCBvcHRpb25zIGZvcgorLkkgZmF0CithcmUgcmVjb2duaXplZC4KK1RoZQorLkIgZG90c09LCitvcHRpb24gaXMgZXhwbGljaXRseSBraWxsZWQgYnkKKy5JUiB2ZmF0IC4KK0Z1cnRoZXJtb3JlLCB0aGVyZSBhcmUKKy5UUAorLkIgdW5pX3hsYXRlCitUcmFuc2xhdGUgdW5oYW5kbGVkIFVuaWNvZGUgY2hhcmFjdGVycyB0byBzcGVjaWFsIGVzY2FwZWQgc2VxdWVuY2VzLgorVGhpcyBsZXRzIHlvdSBiYWNrdXAgYW5kIHJlc3RvcmUgZmlsZW5hbWVzIHRoYXQgYXJlIGNyZWF0ZWQgd2l0aCBhbnkKK1VuaWNvZGUgY2hhcmFjdGVycy4gIFdpdGhvdXQgdGhpcyBvcHRpb24sIGEgJz8nIGlzIHVzZWQgd2hlbiBubwordHJhbnNsYXRpb24gaXMgcG9zc2libGUuICBUaGUgZXNjYXBlIGNoYXJhY3RlciBpcyAnOicgYmVjYXVzZSBpdCBpcworb3RoZXJ3aXNlIGludmFsaWQgb24gdGhlIHZmYXQgZmlsZXN5c3RlbS4gIFRoZSBlc2NhcGUgc2VxdWVuY2UKK3RoYXQgZ2V0cyB1c2VkLCB3aGVyZSB1IGlzIHRoZSBVbmljb2RlIGNoYXJhY3RlciwKK2lzOiAnOicsICh1ICYgMHgzZiksICgodT4+NikgJiAweDNmKSwgKHU+PjEyKS4KKy5UUAorLkIgcG9zaXgKK0FsbG93IHR3byBmaWxlcyB3aXRoIG5hbWVzIHRoYXQgb25seSBkaWZmZXIgaW4gY2FzZS4KK1RoaXMgb3B0aW9uIGlzIG9ic29sZXRlLgorLlRQCisuQiBub251bXRhaWwKK0ZpcnN0IHRyeSB0byBtYWtlIGEgc2hvcnQgbmFtZSB3aXRob3V0IHNlcXVlbmNlIG51bWJlciwKK2JlZm9yZSB0cnlpbmcKKy5JUiBuYW1lXHMrM35cczBudW0uZXh0IC4KKy5UUAorLkIgdXRmOAorVVRGOCBpcyB0aGUgZmlsZXN5c3RlbSBzYWZlIDgtYml0IGVuY29kaW5nIG9mIFVuaWNvZGUgdGhhdCBpcyB1c2VkIGJ5IHRoZQorY29uc29sZS4gIEl0IGNhbiBiZSBlbmFibGVkIGZvciB0aGUgZmlsZXN5c3RlbSB3aXRoIHRoaXMgb3B0aW9uIG9yIGRpc2FibGVkCit3aXRoIHV0Zjg9MCwgdXRmOD1ubyBvciB1dGY4PWZhbHNlLiAgSWYgYHVuaV94bGF0ZScgZ2V0cyBzZXQsIFVURjggZ2V0cworZGlzYWJsZWQuCisuVFAKKy5CSSBzaG9ydG5hbWU9IG1vZGUKK0RlZmluZXMgdGhlIGJlaGF2aW9yIGZvciBjcmVhdGlvbiBhbmQgZGlzcGxheSBvZiBmaWxlbmFtZXMgd2hpY2ggZml0IGludG8KKzguMyBjaGFyYWN0ZXJzLiAgSWYgYSBsb25nIG5hbWUgZm9yIGEgZmlsZSBleGlzdHMsIGl0IHdpbGwgYWx3YXlzIGJlIHRoZQorcHJlZmVycmVkIG9uZSBmb3IgZGlzcGxheS4gIFRoZXJlIGFyZSBmb3VyIFxmSW1vZGVcZlJzOgorLlJTCisuVFAKKy5CIGxvd2VyCitGb3JjZSB0aGUgc2hvcnQgbmFtZSB0byBsb3dlciBjYXNlIHVwb24gZGlzcGxheTsgc3RvcmUgYSBsb25nIG5hbWUgd2hlbgordGhlIHNob3J0IG5hbWUgaXMgbm90IGFsbCB1cHBlciBjYXNlLgorLlRQCisuQiB3aW45NQorRm9yY2UgdGhlIHNob3J0IG5hbWUgdG8gdXBwZXIgY2FzZSB1cG9uIGRpc3BsYXk7IHN0b3JlIGEgbG9uZyBuYW1lIHdoZW4KK3RoZSBzaG9ydCBuYW1lIGlzIG5vdCBhbGwgdXBwZXIgY2FzZS4KKy5UUAorLkIgd2lubnQKK0Rpc3BsYXkgdGhlIHNob3J0IG5hbWUgYXMgaXM7IHN0b3JlIGEgbG9uZyBuYW1lIHdoZW4gdGhlIHNob3J0IG5hbWUgaXMKK25vdCBhbGwgbG93ZXIgY2FzZSBvciBhbGwgdXBwZXIgY2FzZS4KKy5UUAorLkIgbWl4ZWQKK0Rpc3BsYXkgdGhlIHNob3J0IG5hbWUgYXMgaXM7IHN0b3JlIGEgbG9uZyBuYW1lIHdoZW4gdGhlIHNob3J0IG5hbWUgaXMgbm90CithbGwgdXBwZXIgY2FzZS4gIFRoaXMgbW9kZSBpcyB0aGUgZGVmYXVsdCBzaW5jZSBMaW51eCAyLjYuMzIuCisuUkUKKworLlNTICJNb3VudCBvcHRpb25zIGZvciB1c2JmcyIKKy5UUAorXGZCZGV2dWlkPVxmUFwsXGZJdWlkXGZQIGFuZCBcZkJkZXZnaWQ9XGZQXCxcZklnaWRcZlAgYW5kIFxmQmRldm1vZGU9XGZQXCxcZkltb2RlXGZQCitTZXQgdGhlIG93bmVyIGFuZCBncm91cCBhbmQgbW9kZSBvZiB0aGUgZGV2aWNlIGZpbGVzIGluIHRoZSB1c2JmcyBmaWxlc3lzdGVtCisoZGVmYXVsdDogdWlkPWdpZD0wLCBtb2RlPTA2NDQpLiAgVGhlIG1vZGUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisuVFAKK1xmQmJ1c3VpZD1cZlBcLFxmSXVpZFxmUCBhbmQgXGZCYnVzZ2lkPVxmUFwsXGZJZ2lkXGZQIGFuZCBcZkJidXNtb2RlPVxmUFwsXGZJbW9kZVxmUAorU2V0IHRoZSBvd25lciBhbmQgZ3JvdXAgYW5kIG1vZGUgb2YgdGhlIGJ1cyBkaXJlY3RvcmllcyBpbiB0aGUgdXNiZnMKK2ZpbGVzeXN0ZW0gKGRlZmF1bHQ6IHVpZD1naWQ9MCwgbW9kZT0wNTU1KS4gIFRoZSBtb2RlIGlzIGdpdmVuIGluIG9jdGFsLgorLlRQCitcZkJsaXN0dWlkPVxmUFwsXGZJdWlkXGZQIGFuZCBcZkJsaXN0Z2lkPVxmUFwsXGZJZ2lkXGZQIGFuZCBcZkJsaXN0bW9kZT1cZlBcLFxmSW1vZGVcZlAKK1NldCB0aGUgb3duZXIgYW5kIGdyb3VwIGFuZCBtb2RlIG9mIHRoZSBmaWxlCisuSSBkZXZpY2VzCisoZGVmYXVsdDogdWlkPWdpZD0wLCBtb2RlPTA0NDQpLiAgVGhlIG1vZGUgaXMgZ2l2ZW4gaW4gb2N0YWwuCisKKy5TSCAiVEhFIExPT1AgREVWSUNFIgorT25lIGZ1cnRoZXIgcG9zc2libGUgdHlwZSBpcyBhIG1vdW50IHZpYSB0aGUgbG9vcCBkZXZpY2UuICBGb3IgZXhhbXBsZSwKK3RoZSBjb21tYW5kCisuUlMKKy5zcAorLkIgIm1vdW50IC90bXAvZGlzay5pbWcgL21udCBcLXQgdmZhdCBcLW8gbG9vcD0vZGV2L2xvb3AzIgorLnNwCisuUkUKK3dpbGwgc2V0IHVwIHRoZSBsb29wIGRldmljZQorLkkgL2Rldi9sb29wMwordG8gY29ycmVzcG9uZCB0byB0aGUgZmlsZQorLklSIC90bXAvZGlzay5pbWcgLAorYW5kIHRoZW4gbW91bnQgdGhpcyBkZXZpY2Ugb24KKy5JUiAvbW50IC4KKworSWYgbm8gZXhwbGljaXQgbG9vcCBkZXZpY2UgaXMgbWVudGlvbmVkCisoYnV0IGp1c3QgYW4gb3B0aW9uIGBcZkJcLW8gbG9vcFxmUCcgaXMgZ2l2ZW4pLCB0aGVuCisuQiBtb3VudAord2lsbCB0cnkgdG8gZmluZCBzb21lIHVudXNlZCBsb29wIGRldmljZSBhbmQgdXNlIHRoYXQsIGZvciBleGFtcGxlCisuUlMKKy5zcAorLkIgIm1vdW50IC90bXAvZGlzay5pbWcgL21udCBcLW8gbG9vcCIKKy5zcAorLlJFCitUaGUgbW91bnQgY29tbWFuZAorLkIgYXV0b21hdGljYWxseQorY3JlYXRlcyBhIGxvb3AgZGV2aWNlIGZyb20gYSByZWd1bGFyIGZpbGUgaWYgYSBmaWxlc3lzdGVtIHR5cGUgaXMKK25vdCBzcGVjaWZpZWQgb3IgdGhlIGZpbGVzeXN0ZW0gaXMga25vd24gZm9yIGxpYmJsa2lkLCBmb3IgZXhhbXBsZToKKy5SUworLnNwCisuQiAibW91bnQgL3RtcC9kaXNrLmltZyAvbW50IgorLnNwCisuQiAibW91bnQgXC10IGV4dDMgL3RtcC9kaXNrLmltZyAvbW50IgorLnNwCisuUkUKK1RoaXMgdHlwZSBvZiBtb3VudCBrbm93cyBhYm91dCB0aHJlZSBvcHRpb25zLCBuYW1lbHkKKy5CUiBsb29wICIsICIgb2Zmc2V0ICIgYW5kICIgc2l6ZWxpbWl0ICwKK3RoYXQgYXJlIHJlYWxseSBvcHRpb25zIHRvCisuQlIgXCVsb3NldHVwICg4KS4KKyhUaGVzZSBvcHRpb25zIGNhbiBiZSB1c2VkIGluIGFkZGl0aW9uIHRvIHRob3NlIHNwZWNpZmljCit0byB0aGUgZmlsZXN5c3RlbSB0eXBlLikKKworU2luY2UgTGludXggMi42LjI1IGF1dG8tZGVzdHJ1Y3Rpb24gb2YgbG9vcCBkZXZpY2VzIGlzIHN1cHBvcnRlZCwKK21lYW5pbmcgdGhhdCBhbnkgbG9vcCBkZXZpY2UgYWxsb2NhdGVkIGJ5CisuQiBtb3VudAord2lsbCBiZSBmcmVlZCBieQorLkIgdW1vdW50CitpbmRlcGVuZGVudGx5IG9mCisuSVIgL2V0Yy9tdGFiIC4KKworWW91IGNhbiBhbHNvIGZyZWUgYSBsb29wIGRldmljZSBieSBoYW5kLCB1c2luZworLkJSICJsb3NldHVwIFwtZCAiIG9yICIgdW1vdW50IFwtZCIgLgorCitTaW5jZSB1dGlsLWxpbnV4IHYyLjI5IG1vdW50IGNvbW1hbmQgcmUtdXNlcyB0aGUgbG9vcCBkZXZpY2UgcmF0aGVyIHRoYW4KK2luaXRpYWxpemUgYSBuZXcgZGV2aWNlIGlmIHRoZSBzYW1lIGJhY2tpbmcgZmlsZSBpcyBhbHJlYWR5IHVzZWQgZm9yIHNvbWUgbG9vcAorZGV2aWNlIHdpdGggdGhlIHNhbWUgb2Zmc2V0IGFuZCBzaXplbGltaXQuIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIGF2b2lkCithIGZpbGVzeXN0ZW0gY29ycnVwdGlvbi4KKworLlNIIFJFVFVSTiBDT0RFUworLkIgbW91bnQKK2hhcyB0aGUgZm9sbG93aW5nIHJldHVybiBjb2RlcyAodGhlIGJpdHMgY2FuIGJlIE9SZWQpOgorLlRQCisuQiAwCitzdWNjZXNzCisuVFAKKy5CIDEKK2luY29ycmVjdCBpbnZvY2F0aW9uIG9yIHBlcm1pc3Npb25zCisuVFAKKy5CIDIKK3N5c3RlbSBlcnJvciAob3V0IG9mIG1lbW9yeSwgY2Fubm90IGZvcmssIG5vIG1vcmUgbG9vcCBkZXZpY2VzKQorLlRQCisuQiA0CitpbnRlcm5hbAorLkIgbW91bnQKK2J1ZworLlRQCisuQiA4Cit1c2VyIGludGVycnVwdAorLlRQCisuQiAxNgorcHJvYmxlbXMgd3JpdGluZyBvciBsb2NraW5nIC9ldGMvbXRhYgorLlRQCisuQiAzMgorbW91bnQgZmFpbHVyZQorLlRQCisuQiA2NAorc29tZSBtb3VudCBzdWNjZWVkZWQKKy5SRQorCitUaGUgY29tbWFuZCBcZkJtb3VudCBcLWFcZlIgcmV0dXJucyAwIChhbGwgc3VjY2VlZGVkKSwgMzIgKGFsbCBmYWlsZWQpLCBvciA2NCAoc29tZQorZmFpbGVkLCBzb21lIHN1Y2NlZWRlZCkuCisKKy5TSCAiRVhURVJOQUwgSEVMUEVSUyIKK1RoZSBzeW50YXggb2YgZXh0ZXJuYWwgbW91bnQgaGVscGVycyBpczoKKy5zcAorLmluICs0CisuQkkgL3NiaW4vbW91bnQuIHN1ZmZpeAorLkkgc3BlYyBkaXIKKy5SQiBbIFwtc2ZudiBdCisuUkIgWyBcLU4KKy5JUiBuYW1lc3BhY2UgXQorLlJCIFsgXC1vCisuSVIgb3B0aW9ucyBdCisuUkIgWyBcLXQKKy5JUiB0eXBlIFxmQi4gc3VidHlwZSBdCisuaW4KKy5zcAord2hlcmUgdGhlIFxmSXN1ZmZpeFxmUiBpcyB0aGUgZmlsZXN5c3RlbSB0eXBlIGFuZCB0aGUgXGZCXC1zZm52b05cZlIgb3B0aW9ucyBoYXZlCit0aGUgc2FtZSBtZWFuaW5nIGFzIHRoZSBub3JtYWwgbW91bnQgb3B0aW9ucy4gIFRoZSBcZkJcLXRcZlIgb3B0aW9uIGlzIHVzZWQgZm9yCitmaWxlc3lzdGVtcyB3aXRoIHN1YnR5cGVzIHN1cHBvcnQgKGZvciBleGFtcGxlCisuQlIgIi9zYmluL21vdW50LmZ1c2UgXC10IGZ1c2Uuc3NoZnMiICkuCisKK1RoZSBjb21tYW5kIFxmQm1vdW50XGZSIGRvZXMgbm90IHBhc3MgdGhlIG1vdW50IG9wdGlvbnMKKy5CUiB1bmJpbmRhYmxlICwKKy5CUiBydW5iaW5kYWJsZSAsCisuQlIgcHJpdmF0ZSAsCisuQlIgcnByaXZhdGUgLAorLkJSIHNsYXZlICwKKy5CUiByc2xhdmUgLAorLkJSIHNoYXJlZCAsCisuQlIgcnNoYXJlZCAsCisuQlIgYXV0byAsCisuQlIgbm9hdXRvICwKKy5CUiBjb21tZW50ICwKKy5CUiB4LSogLAorLkJSIGxvb3AgLAorLkIgb2Zmc2V0CithbmQKKy5CIHNpemVsaW1pdAordG8gdGhlIG1vdW50LjxzdWZmaXg+IGhlbHBlcnMuICBBbGwgb3RoZXIgb3B0aW9ucyBhcmUgdXNlZCBpbiBhCitjb21tYS1zZXBhcmF0ZWQgbGlzdCBhcyBhcmd1bWVudCB0byB0aGUgXGZCXC1vXGZSIG9wdGlvbi4KKworLlNIIEZJTEVTCitTZWUgYWxzbyAiXGZCVGhlIGZpbGVzIC9ldGMvZnN0YWIsIC9ldGMvbXRhYiBhbmQgL3Byb2MvbW91bnRzXGZSIiBzZWN0aW9uIGFib3ZlLgorLlRQIDE4bgorLkkgL2V0Yy9mc3RhYgorZmlsZXN5c3RlbSB0YWJsZQorLlRQCisuSSAvcnVuL21vdW50CitsaWJtb3VudCBwcml2YXRlIHJ1bnRpbWUgZGlyZWN0b3J5CisuVFAKKy5JIC9ldGMvbXRhYgordGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtcyBvciBzeW1saW5rIHRvIC9wcm9jL21vdW50cworLlRQCisuSSAvZXRjL210YWJccyszflxzMAorbG9jayBmaWxlICh1bnVzZWQgb24gc3lzdGVtcyB3aXRoIG10YWIgc3ltbGluaykKKy5UUAorLkkgL2V0Yy9tdGFiLnRtcAordGVtcG9yYXJ5IGZpbGUgKHVudXNlZCBvbiBzeXN0ZW1zIHdpdGggbXRhYiBzeW1saW5rKQorLlRQCisuSSAvZXRjL2ZpbGVzeXN0ZW1zCithIGxpc3Qgb2YgZmlsZXN5c3RlbSB0eXBlcyB0byB0cnkKKy5TSCBFTlZJUk9OTUVOVAorLklQIExJQk1PVU5UX0ZTVEFCPTxwYXRoPgorb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBmc3RhYiBmaWxlIChpZ25vcmVkIGZvciBzdWlkKQorLklQIExJQk1PVU5UX01UQUI9PHBhdGg+CitvdmVycmlkZXMgdGhlIGRlZmF1bHQgbG9jYXRpb24gb2YgdGhlIG10YWIgZmlsZSAoaWdub3JlZCBmb3Igc3VpZCkKKy5JUCBMSUJNT1VOVF9ERUJVRz1hbGwKK2VuYWJsZXMgbGlibW91bnQgZGVidWcgb3V0cHV0CisuSVAgTElCQkxLSURfREVCVUc9YWxsCitlbmFibGVzIGxpYmJsa2lkIGRlYnVnIG91dHB1dAorLklQIExPT1BERVZfREVCVUc9YWxsCitlbmFibGVzIGxvb3AgZGV2aWNlIHNldHVwIGRlYnVnIG91dHB1dAorLlNIICJTRUUgQUxTTyIKKy5uYQorLkJSIG1vdW50ICgyKSwKKy5CUiB1bW91bnQgKDIpLAorLkJSIHVtb3VudCAoOCksCisuQlIgZnN0YWIgKDUpLAorLkJSIG5mcyAoNSksCisuQlIgeGZzICg1KSwKKy5CUiBlMmxhYmVsICg4KSwKKy5CUiBmaW5kbW50ICg4KSwKKy5CUiBsb3NldHVwICg4KSwKKy5CUiBta2UyZnMgKDgpLAorLkJSIG1vdW50ZCAoOCksCisuQlIgbmZzZCAoOCksCisuQlIgc3dhcG9uICg4KSwKKy5CUiB0dW5lMmZzICg4KSwKKy5CUiB4ZnNfYWRtaW4gKDgpCisuYWQKKy5TSCBCVUdTCitJdCBpcyBwb3NzaWJsZSBmb3IgYSBjb3JydXB0ZWQgZmlsZXN5c3RlbSB0byBjYXVzZSBhIGNyYXNoLgorLlBQCitTb21lIExpbnV4IGZpbGVzeXN0ZW1zIGRvbid0IHN1cHBvcnQKKy5CUiAiXC1vIHN5bmMgIiBub3IgIiBcLW8gZGlyc3luYyIKKyh0aGUgZXh0MiwgZXh0MywgZmF0IGFuZCB2ZmF0IGZpbGVzeXN0ZW1zCisuSSBkbworc3VwcG9ydCBzeW5jaHJvbm91cyB1cGRhdGVzIChhIGxhIEJTRCkgd2hlbiBtb3VudGVkIHdpdGggdGhlCisuQiBzeW5jCitvcHRpb24pLgorLlBQCitUaGUKKy5CICJcLW8gcmVtb3VudCIKK21heSBub3QgYmUgYWJsZSB0byBjaGFuZ2UgbW91bnQgcGFyYW1ldGVycyAoYWxsCisuSVIgZXh0MmZzIC1zcGVjaWZpYworcGFyYW1ldGVycywgZXhjZXB0CisuQlIgc2IgLAorYXJlIGNoYW5nZWFibGUgd2l0aCBhIHJlbW91bnQsIGZvciBleGFtcGxlLCBidXQgeW91IGNhbid0IGNoYW5nZQorLkIgZ2lkCitvcgorLkIgdW1hc2sKK2ZvciB0aGUKKy5JUiBmYXRmcyApLgorLlBQCitJdCBpcyBwb3NzaWJsZSB0aGF0IHRoZSBmaWxlcworLkkgL2V0Yy9tdGFiCithbmQKKy5JIC9wcm9jL21vdW50cworZG9uJ3QgbWF0Y2ggb24gc3lzdGVtcyB3aXRoIGEgcmVndWxhciBtdGFiIGZpbGUuICBUaGUgZmlyc3QgZmlsZSBpcyBiYXNlZCBvbmx5IG9uCit0aGUgbW91bnQgY29tbWFuZCBvcHRpb25zLCBidXQgdGhlIGNvbnRlbnQgb2YgdGhlIHNlY29uZCBmaWxlIGFsc28gZGVwZW5kcyBvbgordGhlIGtlcm5lbCBhbmQgb3RoZXJzIHNldHRpbmdzIChlLmcuXCYgb24gYSByZW1vdGUgTkZTIHNlcnZlciAtLSBpbiBjZXJ0YWluIGNhc2VzCit0aGUgbW91bnQgY29tbWFuZCBtYXkgcmVwb3J0IHVucmVsaWFibGUgaW5mb3JtYXRpb24gYWJvdXQgYW4gTkZTIG1vdW50IHBvaW50CithbmQgdGhlIC9wcm9jL21vdW50cyBmaWxlIHVzdWFsbHkgY29udGFpbnMgbW9yZSByZWxpYWJsZSBpbmZvcm1hdGlvbi4pICBUaGlzIGlzCithbm90aGVyIHJlYXNvbiB0byByZXBsYWNlIHRoZSBtdGFiIGZpbGUgd2l0aCBhIHN5bWxpbmsgdG8gdGhlCisuSSAvcHJvYy9tb3VudHMKK2ZpbGUuCisuUFAKK0NoZWNraW5nIGZpbGVzIG9uIE5GUyBmaWxlc3lzdGVtcyByZWZlcmVuY2VkIGJ5IGZpbGUgZGVzY3JpcHRvcnMgKGkuZS5cJiB0aGUKKy5CIGZjbnRsCithbmQKKy5CIGlvY3RsCitmYW1pbGllcyBvZiBmdW5jdGlvbnMpIG1heSBsZWFkIHRvIGluY29uc2lzdGVudCByZXN1bHRzIGR1ZSB0byB0aGUgbGFjayBvZgorYSBjb25zaXN0ZW5jeSBjaGVjayBpbiB0aGUga2VybmVsIGV2ZW4gaWYgbm9hYyBpcyB1c2VkLgorLlBQCitUaGUKKy5CIGxvb3AKK29wdGlvbiB3aXRoIHRoZQorLkIgb2Zmc2V0CitvcgorLkIgc2l6ZWxpbWl0CitvcHRpb25zIHVzZWQgbWF5IGZhaWwgd2hlbiB1c2luZyBvbGRlciBrZXJuZWxzIGlmIHRoZQorLkIgbW91bnQKK2NvbW1hbmQgY2FuJ3QgY29uZmlybSB0aGF0IHRoZSBzaXplIG9mIHRoZSBibG9jayBkZXZpY2UgaGFzIGJlZW4gY29uZmlndXJlZAorYXMgcmVxdWVzdGVkLiAgVGhpcyBzaXR1YXRpb24gY2FuIGJlIHdvcmtlZCBhcm91bmQgYnkgdXNpbmcKK3RoZQorLkIgbG9zZXR1cAorY29tbWFuZCBtYW51YWxseSBiZWZvcmUgY2FsbGluZworLkIgbW91bnQKK3dpdGggdGhlIGNvbmZpZ3VyZWQgbG9vcCBkZXZpY2UuCisuU0ggSElTVE9SWQorQQorLkIgbW91bnQKK2NvbW1hbmQgZXhpc3RlZCBpbiBWZXJzaW9uIDUgQVQmVCBVTklYLgorLlNIIEFVVEhPUlMKKy5uZgorS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisuZmkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBtb3VudCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL21vdW50LmMgYi9zeXMtdXRpbHMvbW91bnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZTEzOWU4Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL21vdW50LmMKQEAgLTAsMCArMSw5MTggQEAKKy8qCisgKiBtb3VudCg4KSAtLSBtb3VudCBhIGZpbGVzeXN0ZW0KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgImNhbm9uaWNhbGl6ZS5oIgorCisjZGVmaW5lIFhBTExPQ19FWElUX0NPREUgTU5UX0VYX1NZU0VSUgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisjZGVmaW5lIE9QVFVUSUxTX0VYSVRfQ09ERSBNTlRfRVhfVVNBR0UKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorCisvKioqIFRPRE86IERPQ1M6CisgKgorICogIC0tb3B0aW9ucy1tb2RlPXtpZ25vcmUsYXBwZW5kLHByZXBlbmQscmVwbGFjZX0JTU5UX09NT0RFX3tJR05PUkUsIC4uLn0KKyAqICAtLW9wdGlvbnMtc291cmNlPXtmc3RhYixtdGFiLGRpc2FibGV9CQlNTlRfT01PREVfe0ZTVEFCLE1UQUIsTk9UQUJ9CisgKiAgLS1vcHRpb25zLXNvdXJjZS1mb3JjZQkJCQlNTlRfT01PREVfRk9SQ0UKKyAqLworCitzdGF0aWMgaW50IG1rX2V4aXRfY29kZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IHJjKTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZXhpdF9ub25fcm9vdChjb25zdCBjaGFyICpvcHRpb24pCit7CisJY29uc3QgdWlkX3QgcnVpZCA9IGdldHVpZCgpOworCWNvbnN0IHVpZF90IGV1aWQgPSBnZXRldWlkKCk7CisKKwlpZiAocnVpZCA9PSAwICYmIGV1aWQgIT0gMCkgeworCQkvKiB1c2VyIGlzIHJvb3QsIGJ1dCBzZXR1aWQgdG8gbm9uLXJvb3QgKi8KKwkJaWYgKG9wdGlvbikKKwkJCWVycngoTU5UX0VYX1VTQUdFLCBfKCJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gIgorCQkJCQkgIihlZmZlY3RpdmUgVUlEIGlzICV1KSIpLAorCQkJCQlvcHRpb24sIGV1aWQpOworCQllcnJ4KE1OVF9FWF9VU0FHRSwgXygib25seSByb290IGNhbiBkbyB0aGF0ICIKKwkJCQkgIihlZmZlY3RpdmUgVUlEIGlzICV1KSIpLCBldWlkKTsKKwl9CisJaWYgKG9wdGlvbikKKwkJZXJyeChNTlRfRVhfVVNBR0UsIF8oIm9ubHkgcm9vdCBjYW4gdXNlIFwiLS0lc1wiIG9wdGlvbiIpLCBvcHRpb24pOworCWVycngoTU5UX0VYX1VTQUdFLCBfKCJvbmx5IHJvb3QgY2FuIGRvIHRoYXQiKSk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHByaW50X3ZlcnNpb24odm9pZCkKK3sKKwljb25zdCBjaGFyICp2ZXIgPSBOVUxMOworCWNvbnN0IGNoYXIgKipmZWF0dXJlcyA9IE5VTEwsICoqcDsKKworCW1udF9nZXRfbGlicmFyeV92ZXJzaW9uKCZ2ZXIpOworCW1udF9nZXRfbGlicmFyeV9mZWF0dXJlcygmZmVhdHVyZXMpOworCisJcHJpbnRmKF8oIiVzIGZyb20gJXMgKGxpYm1vdW50ICVzIiksCisJCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSwKKwkJCVBBQ0tBR0VfU1RSSU5HLAorCQkJdmVyKTsKKwlwID0gZmVhdHVyZXM7CisJd2hpbGUgKHAgJiYgKnApIHsKKwkJZnB1dHMocCA9PSBmZWF0dXJlcyA/ICI6ICIgOiAiLCAiLCBzdGRvdXQpOworCQlmcHV0cygqcCsrLCBzdGRvdXQpOworCX0KKwlmcHV0cygiKVxuIiwgc3Rkb3V0KTsKKwlleGl0KE1OVF9FWF9TVUNDRVNTKTsKK30KKworc3RhdGljIGludCB0YWJsZV9wYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKQoreworCWlmIChmaWxlbmFtZSkKKwkJd2FybngoXygiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIpLCBmaWxlbmFtZSwgbGluZSk7CisJcmV0dXJuIDE7Cit9CisKKy8qCisgKiBSZXBsYWNlIGNvbnRyb2wgY2hhcnMgd2l0aCAnPycgdG8gYmUgY29tcGF0aWJsZSB3aXRoIGNvcmV1dGlscy4gRm9yIG1vcmUKKyAqIHJvYnVzdCBzb2x1dGlvbiB1c2UgZmluZG1udCgxKSB3aGVyZSB3ZSB1c2UgXHg/PyBoZXggZW5jb2RpbmcuCisgKi8KK3N0YXRpYyB2b2lkIHNhZmVfZnB1dHMoY29uc3QgY2hhciAqZGF0YSkKK3sKKwljb25zdCBjaGFyICpwOworCisJZm9yIChwID0gZGF0YTsgcCAmJiAqcDsgcCsrKSB7CisJCWlmIChpc2NudHJsKCh1bnNpZ25lZCBjaGFyKSAqcCkpCisJCQlmcHV0YygnPycsIHN0ZG91dCk7CisJCWVsc2UKKwkJCWZwdXRjKCpwLCBzdGRvdXQpOworCX0KK30KKworc3RhdGljIHZvaWQgcHJpbnRfYWxsKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjaGFyICpwYXR0ZXJuLCBpbnQgc2hvd19sYWJlbCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICp0YjsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IE5VTEw7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGUgPSBOVUxMOworCisJaWYgKG1udF9jb250ZXh0X2dldF9tdGFiKGN4dCwgJnRiKSkKKwkJZXJyKE1OVF9FWF9TWVNFUlIsIF8oImZhaWxlZCB0byByZWFkIG10YWIiKSk7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHIpCisJCWVycihNTlRfRVhfU1lTRVJSLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKwlpZiAoc2hvd19sYWJlbCkKKwkJY2FjaGUgPSBtbnRfbmV3X2NhY2hlKCk7CisKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSA9PSAwKSB7CisJCWNvbnN0IGNoYXIgKnR5cGUgPSBtbnRfZnNfZ2V0X2ZzdHlwZShmcyk7CisJCWNvbnN0IGNoYXIgKnNyYyA9IG1udF9mc19nZXRfc291cmNlKGZzKTsKKwkJY29uc3QgY2hhciAqb3B0c3RyID0gbW50X2ZzX2dldF9vcHRpb25zKGZzKTsKKwkJY2hhciAqeHNyYyA9IE5VTEw7CisKKwkJaWYgKHR5cGUgJiYgcGF0dGVybiAmJiAhbW50X21hdGNoX2ZzdHlwZSh0eXBlLCBwYXR0ZXJuKSkKKwkJCWNvbnRpbnVlOworCisJCWlmICghbW50X2ZzX2lzX3BzZXVkb2ZzKGZzKSkKKwkJCXhzcmMgPSBtbnRfcHJldHR5X3BhdGgoc3JjLCBjYWNoZSk7CisJCXByaW50ZiAoIiVzIG9uICIsIHhzcmMgPyB4c3JjIDogc3JjKTsKKwkJc2FmZV9mcHV0cyhtbnRfZnNfZ2V0X3RhcmdldChmcykpOworCisJCWlmICh0eXBlKQorCQkJcHJpbnRmICgiIHR5cGUgJXMiLCB0eXBlKTsKKwkJaWYgKG9wdHN0cikKKwkJCXByaW50ZiAoIiAoJXMpIiwgb3B0c3RyKTsKKwkJaWYgKHNob3dfbGFiZWwgJiYgc3JjKSB7CisJCQljaGFyICpsYiA9IG1udF9jYWNoZV9maW5kX3RhZ192YWx1ZShjYWNoZSwgc3JjLCAiTEFCRUwiKTsKKwkJCWlmIChsYikKKwkJCQlwcmludGYgKCIgWyVzXSIsIGxiKTsKKwkJfQorCQlmcHV0YygnXG4nLCBzdGRvdXQpOworCQlmcmVlKHhzcmMpOworCX0KKworCW1udF91bnJlZl9jYWNoZShjYWNoZSk7CisJbW50X2ZyZWVfaXRlcihpdHIpOworfQorCisvKgorICogbW91bnQgLWEgWy1GXQorICovCitzdGF0aWMgaW50IG1vdW50X2FsbChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgbW50cmMsIGlnbm9yZWQsIHJjID0gTU5UX0VYX1NVQ0NFU1M7CisKKwlpbnQgbnN1Y2MgPSAwLCBuZXJycyA9IDA7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHIpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKwkJcmV0dXJuIE1OVF9FWF9TWVNFUlI7CisJfQorCisJd2hpbGUgKG1udF9jb250ZXh0X25leHRfbW91bnQoY3h0LCBpdHIsICZmcywgJm1udHJjLCAmaWdub3JlZCkgPT0gMCkgeworCisJCWNvbnN0IGNoYXIgKnRndCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKworCQlpZiAoaWdub3JlZCkgeworCQkJaWYgKG1udF9jb250ZXh0X2lzX3ZlcmJvc2UoY3h0KSkKKwkJCQlwcmludGYoaWdub3JlZCA9PSAxID8gXygiJS0yNXM6IGlnbm9yZWRcbiIpIDoKKwkJCQkJCSAgICAgIF8oIiUtMjVzOiBhbHJlYWR5IG1vdW50ZWRcbiIpLAorCQkJCQkJdGd0KTsKKwkJfSBlbHNlIGlmIChtbnRfY29udGV4dF9pc19mb3JrKGN4dCkpIHsKKwkJCWlmIChtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCQkJcHJpbnRmKCIlLTI1czogbW91bnQgc3VjY2Vzc2Z1bGx5IGZvcmtlZFxuIiwgdGd0KTsKKwkJfSBlbHNlIHsKKwkJCWlmIChta19leGl0X2NvZGUoY3h0LCBtbnRyYykgPT0gTU5UX0VYX1NVQ0NFU1MpIHsKKwkJCQluc3VjYysrOworCisJCQkJLyogTm90ZSB0aGF0IE1OVF9FWF9TVUNDRVNTIHJldHVybiBjb2RlIGRvZXMKKwkJCQkgKiBub3QgbWVhbiB0aGF0IEZTIGhhcyBiZWVuIHJlYWxseSBtb3VudGVkCisJCQkJICogKGUuZy4gbm9mYWlsIG9wdGlvbikgKi8KKwkJCQlpZiAobW50X2NvbnRleHRfZ2V0X3N0YXR1cyhjeHQpIAorCQkJCSAgICAmJiBtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCQkJCXByaW50ZigiJS0yNXM6IHN1Y2Nlc3NmdWxseSBtb3VudGVkXG4iLCB0Z3QpOworCQkJfSBlbHNlCisJCQkJbmVycnMrKzsKKwkJfQorCX0KKworCWlmIChtbnRfY29udGV4dF9pc19wYXJlbnQoY3h0KSkgeworCQkvKiB3YWl0IGZvciBtb3VudCAtLWZvcmsgY2hpbGRyZW4gKi8KKwkJaW50IG5jaGlsZHJlbiA9IDA7CisKKwkJbmVycnMgPSAwLCBuc3VjYyA9IDA7CisKKwkJcmMgPSBtbnRfY29udGV4dF93YWl0X2Zvcl9jaGlsZHJlbihjeHQsICZuY2hpbGRyZW4sICZuZXJycyk7CisJCWlmICghcmMgJiYgbmNoaWxkcmVuKQorCQkJbnN1Y2MgPSBuY2hpbGRyZW4gLSBuZXJyczsKKwl9CisKKwlpZiAobmVycnMgPT0gMCkKKwkJcmMgPSBNTlRfRVhfU1VDQ0VTUzsJCS8qIGFsbCBzdWNjZXNzICovCisJZWxzZSBpZiAobnN1Y2MgPT0gMCkKKwkJcmMgPSBNTlRfRVhfRkFJTDsJCS8qIGFsbCBmYWlsZWQgKi8KKwllbHNlCisJCXJjID0gTU5UX0VYX1NPTUVPSzsJCS8qIHNvbWUgc3VjY2Vzcywgc29tZSBmYWlsZWQgKi8KKworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyB2b2lkIHN1Y2Nlc3NfbWVzc2FnZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwl1bnNpZ25lZCBsb25nIG1mbGFncyA9IDA7CisJY29uc3QgY2hhciAqdGd0LCAqc3JjLCAqcHIgPSBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZTsKKworCWlmIChtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoY3h0KQorCSAgICB8fCBtbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkgIT0gMSkKKwkJcmV0dXJuOworCisJbW50X2NvbnRleHRfZ2V0X21mbGFncyhjeHQsICZtZmxhZ3MpOworCXRndCA9IG1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KTsKKwlzcmMgPSBtbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCk7CisKKwlpZiAobWZsYWdzICYgTVNfTU9WRSkKKwkJcHJpbnRmKF8oIiVzOiAlcyBtb3ZlZCB0byAlcy5cbiIpLCBwciwgc3JjLCB0Z3QpOworCWVsc2UgaWYgKG1mbGFncyAmIE1TX0JJTkQpCisJCXByaW50ZihfKCIlczogJXMgYm91bmQgb24gJXMuXG4iKSwgcHIsIHNyYywgdGd0KTsKKwllbHNlIGlmIChtZmxhZ3MgJiBNU19QUk9QQUdBVElPTikgeworCQlpZiAoc3JjICYmIHN0cmNtcChzcmMsICJub25lIikgIT0gMCAmJiB0Z3QpCisJCQlwcmludGYoXygiJXM6ICVzIG1vdW50ZWQgb24gJXMuXG4iKSwgcHIsIHNyYywgdGd0KTsKKworCQlwcmludGYoXygiJXM6ICVzIHByb3BhZ2F0aW9uIGZsYWdzIGNoYW5nZWQuXG4iKSwgcHIsIHRndCk7CisJfSBlbHNlCisJCXByaW50ZihfKCIlczogJXMgbW91bnRlZCBvbiAlcy5cbiIpLCBwciwgc3JjLCB0Z3QpOworfQorCisjaWYgZGVmaW5lZChIQVZFX0xJQlNFTElOVVgpICYmIGRlZmluZWQoSEFWRV9TRUNVUklUWV9HRVRfSU5JVElBTF9DT05URVhUKQorI2luY2x1ZGUgPHNlbGludXgvc2VsaW51eC5oPgorI2luY2x1ZGUgPHNlbGludXgvY29udGV4dC5oPgorCitzdGF0aWMgdm9pZCBzZWxpbnV4X3dhcm5pbmcoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnRndCkKK3sKKworCWlmICh0Z3QgJiYgbW50X2NvbnRleHRfaXNfdmVyYm9zZShjeHQpICYmIGlzX3NlbGludXhfZW5hYmxlZCgpID4gMCkgeworCQlzZWN1cml0eV9jb250ZXh0X3QgcmF3ID0gTlVMTCwgZGVmID0gTlVMTDsKKworCQlpZiAoZ2V0ZmlsZWNvbih0Z3QsICZyYXcpID4gMAorCQkgICAgJiYgc2VjdXJpdHlfZ2V0X2luaXRpYWxfY29udGV4dCgiZmlsZSIsICZkZWYpID09IDApIHsKKworCQlpZiAoIXNlbGludXhfZmlsZV9jb250ZXh0X2NtcChyYXcsIGRlZikpCisJCQlwcmludGYoXygKKwkibW91bnQ6ICVzIGRvZXMgbm90IGNvbnRhaW4gU0VMaW51eCBsYWJlbHMuXG4iCisJIiAgICAgICBZb3UganVzdCBtb3VudGVkIGFuIGZpbGUgc3lzdGVtIHRoYXQgc3VwcG9ydHMgbGFiZWxzIHdoaWNoIGRvZXMgbm90XG4iCisJIiAgICAgICBjb250YWluIGxhYmVscywgb250byBhbiBTRUxpbnV4IGJveC4gSXQgaXMgbGlrZWx5IHRoYXQgY29uZmluZWRcbiIKKwkiICAgICAgIGFwcGxpY2F0aW9ucyB3aWxsIGdlbmVyYXRlIEFWQyBtZXNzYWdlcyBhbmQgbm90IGJlIGFsbG93ZWQgYWNjZXNzIHRvXG4iCisJIiAgICAgICB0aGlzIGZpbGUgc3lzdGVtLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgcmVzdG9yZWNvbig4KSBhbmQgbW91bnQoOCkuXG4iKSwKKwkJCQl0Z3QpOworCQl9CisJCWZyZWVjb24ocmF3KTsKKwkJZnJlZWNvbihkZWYpOworCX0KK30KKyNlbHNlCisjIGRlZmluZSBzZWxpbnV4X3dhcm5pbmcoX3gsIF95KQorI2VuZGlmCisKKy8qCisgKiBSZXR1cm5zIGV4aXQgc3RhdHVzIChNTlRfRVhfKikgYW5kL29yIHByaW50cyBlcnJvciBtZXNzYWdlLgorICovCitzdGF0aWMgaW50IG1rX2V4aXRfY29kZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgaW50IHJjKQoreworCWNvbnN0IGNoYXIgKnRndDsKKwljaGFyIGJ1ZltCVUZTSVpdID0geyAwIH07CisKKwlyYyA9IG1udF9jb250ZXh0X2dldF9leGNvZGUoY3h0LCByYywgYnVmLCBzaXplb2YoYnVmKSk7CisJdGd0ID0gbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpOworCisJaWYgKCpidWYpIHsKKwkJY29uc3QgY2hhciAqc3BlYyA9IHRndDsKKwkJaWYgKCFzcGVjKQorCQkJc3BlYyA9IG1udF9jb250ZXh0X2dldF9zb3VyY2UoY3h0KTsKKwkJaWYgKCFzcGVjKQorCQkJc3BlYyA9ICI/Pz8iOworCQl3YXJueCgiJXM6ICVzLiIsIHNwZWMsIGJ1Zik7CisJfQorCisJaWYgKHJjID09IE1OVF9FWF9TVUNDRVNTICYmIG1udF9jb250ZXh0X2dldF9zdGF0dXMoY3h0KSA9PSAxKSB7CisJCXNlbGludXhfd2FybmluZyhjeHQsIHRndCk7CisJfQorCXJldHVybiByYzsKK30KKworc3RhdGljIHN0cnVjdCBsaWJtbnRfdGFibGUgKmFwcGVuZF9mc3RhYihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwKKwkJCQkJIHN0cnVjdCBsaWJtbnRfdGFibGUgKmZzdGFiLAorCQkJCQkgY29uc3QgY2hhciAqcGF0aCkKK3sKKworCWlmICghZnN0YWIpIHsKKwkJZnN0YWIgPSBtbnRfbmV3X3RhYmxlKCk7CisJCWlmICghZnN0YWIpCisJCQllcnIoTU5UX0VYX1NZU0VSUiwgXygiZmFpbGVkIHRvIGluaXRpYWxpemUgbGlibW91bnQgdGFibGUiKSk7CisKKwkJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2IoZnN0YWIsIHRhYmxlX3BhcnNlcl9lcnJjYik7CisJCW1udF9jb250ZXh0X3NldF9mc3RhYihjeHQsIGZzdGFiKTsKKworCQltbnRfdW5yZWZfdGFibGUoZnN0YWIpOwkvKiByZWZlcmVuY2UgaXMgaGFuZGxlZCBieSBAY3h0IG5vdyAqLworCX0KKworCWlmIChtbnRfdGFibGVfcGFyc2VfZnN0YWIoZnN0YWIsIHBhdGgpKQorCQllcnJ4KE1OVF9FWF9VU0FHRSxfKCIlczogZmFpbGVkIHRvIHBhcnNlIiksIHBhdGgpOworCisJcmV0dXJuIGZzdGFiOworfQorCisvKgorICogQ2hlY2sgc291cmNlIGFuZCB0YXJnZXQgcGF0aHMgLS0gbm9uLXJvb3QgdXNlciBzaG91bGQgbm90IGJlIGFibGUgdG8KKyAqIHJlc29sdmUgcGF0aHMgd2hpY2ggYXJlIHVucmVhZGFibGUgZm9yIGhpbS4KKyAqLworc3RhdGljIHZvaWQgc2FuaXRpemVfcGF0aHMoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQpCit7CisJY29uc3QgY2hhciAqcDsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmcyA9IG1udF9jb250ZXh0X2dldF9mcyhjeHQpOworCisJaWYgKCFmcykKKwkJcmV0dXJuOworCisJcCA9IG1udF9mc19nZXRfdGFyZ2V0KGZzKTsKKwlpZiAocCkgeworCQljaGFyICpucCA9IGNhbm9uaWNhbGl6ZV9wYXRoX3Jlc3RyaWN0ZWQocCk7CisJCWlmICghbnApCisJCQllcnIoTU5UX0VYX1VTQUdFLCAiJXMiLCBwKTsKKwkJbW50X2ZzX3NldF90YXJnZXQoZnMsIG5wKTsKKwkJZnJlZShucCk7CisJfQorCisJcCA9IG1udF9mc19nZXRfc3JjcGF0aChmcyk7CisJaWYgKHApIHsKKwkJY2hhciAqbnAgPSBjYW5vbmljYWxpemVfcGF0aF9yZXN0cmljdGVkKHApOworCQlpZiAoIW5wKQorCQkJZXJyKE1OVF9FWF9VU0FHRSwgIiVzIiwgcCk7CisJCW1udF9mc19zZXRfc291cmNlKGZzLCBucCk7CisJCWZyZWUobnApOworCX0KK30KKworc3RhdGljIHZvaWQgYXBwZW5kX29wdGlvbihzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqb3B0KQoreworCWlmIChvcHQgJiYgKCpvcHQgPT0gJz0nIHx8ICpvcHQgPT0gJ1wnJyB8fCAqb3B0ID09ICdcIicgfHwgaXNibGFuaygqb3B0KSkpCisJCWVycngoTU5UX0VYX1VTQUdFLCBfKCJ1bnN1cHBvcnRlZCBvcHRpb24gZm9ybWF0OiAlcyIpLCBvcHQpOworCWlmIChtbnRfY29udGV4dF9hcHBlbmRfb3B0aW9ucyhjeHQsIG9wdCkpCisJCWVycihNTlRfRVhfU1lTRVJSLCBfKCJmYWlsZWQgdG8gYXBwZW5kIG9wdGlvbiAnJXMnIiksIG9wdCk7Cit9CisKK3N0YXRpYyBpbnQgaGFzX3JlbW91bnRfZmxhZyhzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwl1bnNpZ25lZCBsb25nIG1mbGFncyA9IDA7CisKKwlpZiAobW50X2NvbnRleHRfZ2V0X21mbGFncyhjeHQsICZtZmxhZ3MpKQorCQlyZXR1cm4gMDsKKworCXJldHVybiBtZmxhZ3MgJiBNU19SRU1PVU5UOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oCisJCSIgJTEkcyBbLWxoVl1cbiIKKwkJIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorCQkiICUxJHMgW29wdGlvbnNdIFstLXNvdXJjZV0gPHNvdXJjZT4gfCBbLS10YXJnZXRdIDxkaXJlY3Rvcnk+XG4iCisJCSIgJTEkcyBbb3B0aW9uc10gPHNvdXJjZT4gPGRpcmVjdG9yeT5cbiIKKwkJIiAlMSRzIDxvcGVyYXRpb24+IDxtb3VudHBvaW50PiBbPHRhcmdldD5dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIk1vdW50IGEgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygKKwkiIC1hLCAtLWFsbCAgICAgICAgICAgICAgIG1vdW50IGFsbCBmaWxlc3lzdGVtcyBtZW50aW9uZWQgaW4gZnN0YWJcbiIKKwkiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIgorCSIgLWYsIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgbW91bnQoMikgc3lzY2FsbFxuIgorCSIgLUYsIC0tZm9yayAgICAgICAgICAgICAgZm9yayBvZmYgZm9yIGVhY2ggZGV2aWNlICh1c2Ugd2l0aCAtYSlcbiIKKwkiIC1ULCAtLWZzdGFiIDxwYXRoPiAgICAgIGFsdGVybmF0aXZlIGZpbGUgdG8gL2V0Yy9mc3RhYlxuIikpOworCWZwcmludGYob3V0LCBfKAorCSIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgbW91bnQuPHR5cGU+IGhlbHBlcnNcbiIpKTsKKwlmcHJpbnRmKG91dCwgXygKKwkiIC1sLCAtLXNob3ctbGFiZWxzICAgICAgIHNob3cgYWxzbyBmaWxlc3lzdGVtIGxhYmVsc1xuIikpOworCWZwcmludGYob3V0LCBfKAorCSIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iKSk7CisJZnByaW50ZihvdXQsIF8oCisJIiAgICAgLS1vcHRpb25zLW1vZGUgPG1vZGU+XG4iCisJIiAgICAgICAgICAgICAgICAgICAgICAgICB3aGF0IHRvIGRvIHdpdGggb3B0aW9ucyBsb2FkZWQgZnJvbSBmc3RhYlxuIgorCSIgICAgIC0tb3B0aW9ucy1zb3VyY2UgPHNvdXJjZT5cbiIKKwkiICAgICAgICAgICAgICAgICAgICAgICAgIG1vdW50IG9wdGlvbnMgc291cmNlXG4iCisJIiAgICAgLS1vcHRpb25zLXNvdXJjZS1mb3JjZVxuIgorCSIgICAgICAgICAgICAgICAgICAgICAgICAgZm9yY2UgdXNlIG9mIG9wdGlvbnMgZnJvbSBmc3RhYi9tdGFiXG4iKSk7CisJZnByaW50ZihvdXQsIF8oCisJIiAtbywgLS1vcHRpb25zIDxsaXN0PiAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBtb3VudCBvcHRpb25zXG4iCisJIiAtTywgLS10ZXN0LW9wdHMgPGxpc3Q+ICBsaW1pdCB0aGUgc2V0IG9mIGZpbGVzeXN0ZW1zICh1c2Ugd2l0aCAtYSlcbiIKKwkiIC1yLCAtLXJlYWQtb25seSAgICAgICAgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtb25seSAoc2FtZSBhcyAtbyBybylcbiIKKwkiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIikpOworCWZwcmludGYob3V0LCBfKAorCSIgICAgIC0tc291cmNlIDxzcmM+ICAgICAgZXhwbGljaXRseSBzcGVjaWZpZXMgc291cmNlIChwYXRoLCBsYWJlbCwgdXVpZClcbiIKKwkiICAgICAtLXRhcmdldCA8dGFyZ2V0PiAgIGV4cGxpY2l0bHkgc3BlY2lmaWVzIG1vdW50cG9pbnRcbiIpKTsKKwlmcHJpbnRmKG91dCwgXygKKwkiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIpKTsKKwlmcHJpbnRmKG91dCwgXygKKwkiIC13LCAtLXJ3LCAtLXJlYWQtd3JpdGUgIG1vdW50IHRoZSBmaWxlc3lzdGVtIHJlYWQtd3JpdGUgKGRlZmF1bHQpXG4iKSk7CisJZnByaW50ZihvdXQsIF8oCisJIiAtTiwgLS1uYW1lc3BhY2UgPG5zPiAgICBwZXJmb3JtIG1vdW50IGluIGFub3RoZXIgbmFtZXNwYWNlXG4iKSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNSkpOworCisJZnByaW50ZihvdXQsIF8oCisJIlxuU291cmNlOlxuIgorCSIgLUwsIC0tbGFiZWwgPGxhYmVsPiAgICAgc3lub255bSBmb3IgTEFCRUw9PGxhYmVsPlxuIgorCSIgLVUsIC0tdXVpZCA8dXVpZD4gICAgICAgc3lub255bSBmb3IgVVVJRD08dXVpZD5cbiIKKwkiIExBQkVMPTxsYWJlbD4gICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgZmlsZXN5c3RlbSBsYWJlbFxuIgorCSIgVVVJRD08dXVpZD4gICAgICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBmaWxlc3lzdGVtIFVVSURcbiIKKwkiIFBBUlRMQUJFTD08bGFiZWw+ICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisJIiBQQVJUVVVJRD08dXVpZD4gICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iKSk7CisKKwlmcHJpbnRmKG91dCwgXygKKwkiIDxkZXZpY2U+ICAgICAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGF0aFxuIgorCSIgPGRpcmVjdG9yeT4gICAgICAgICAgICAgbW91bnRwb2ludCBmb3IgYmluZCBtb3VudHMgKHNlZSAtLWJpbmQvcmJpbmQpXG4iCisJIiA8ZmlsZT4gICAgICAgICAgICAgICAgICByZWd1bGFyIGZpbGUgZm9yIGxvb3BkZXYgc2V0dXBcbiIpKTsKKworCWZwcmludGYob3V0LCBfKAorCSJcbk9wZXJhdGlvbnM6XG4iCisJIiAtQiwgLS1iaW5kICAgICAgICAgICAgICBtb3VudCBhIHN1YnRyZWUgc29tZXdoZXJlIGVsc2UgKHNhbWUgYXMgLW8gYmluZClcbiIKKwkiIC1NLCAtLW1vdmUgICAgICAgICAgICAgIG1vdmUgYSBzdWJ0cmVlIHRvIHNvbWUgb3RoZXIgcGxhY2VcbiIKKwkiIC1SLCAtLXJiaW5kICAgICAgICAgICAgIG1vdW50IGEgc3VidHJlZSBhbmQgYWxsIHN1Ym1vdW50cyBzb21ld2hlcmUgZWxzZVxuIikpOworCWZwcmludGYob3V0LCBfKAorCSIgLS1tYWtlLXNoYXJlZCAgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisJIiAtLW1ha2Utc2xhdmUgICAgICAgICAgICBtYXJrIGEgc3VidHJlZSBhcyBzbGF2ZVxuIgorCSIgLS1tYWtlLXByaXZhdGUgICAgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorCSIgLS1tYWtlLXVuYmluZGFibGUgICAgICAgbWFyayBhIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIikpOworCWZwcmludGYob3V0LCBfKAorCSIgLS1tYWtlLXJzaGFyZWQgICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgc2hhcmVkXG4iCisJIiAtLW1ha2UtcnNsYXZlICAgICAgICAgICByZWN1cnNpdmVseSBtYXJrIGEgd2hvbGUgc3VidHJlZSBhcyBzbGF2ZVxuIgorCSIgLS1tYWtlLXJwcml2YXRlICAgICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgcHJpdmF0ZVxuIgorCSIgLS1tYWtlLXJ1bmJpbmRhYmxlICAgICAgcmVjdXJzaXZlbHkgbWFyayBhIHdob2xlIHN1YnRyZWUgYXMgdW5iaW5kYWJsZVxuIikpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJtb3VudCg4KSIpKTsKKworCWV4aXQoTU5UX0VYX1NVQ0NFU1MpOworfQorCitzdHJ1Y3QgZmxhZ19zdHIgeworCWludCB2YWx1ZTsKKwljaGFyICpzdHI7Cit9OworCitzdGF0aWMgaW50IG9tb2RlMm1hc2soY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBmbGFnX3N0ciBmbGFnc1tdID0geworCQl7IE1OVF9PTU9ERV9JR05PUkUsICJpZ25vcmUiIH0sCisJCXsgTU5UX09NT0RFX0FQUEVORCwgImFwcGVuZCIgfSwKKwkJeyBNTlRfT01PREVfUFJFUEVORCwgInByZXBlbmQiIH0sCisJCXsgTU5UX09NT0RFX1JFUExBQ0UsICJyZXBsYWNlIiB9LAorCX07CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShmbGFncyk7IGkrKykgeworCQlpZiAoIXN0cmNtcChzdHIsIGZsYWdzW2ldLnN0cikpCisJCQlyZXR1cm4gZmxhZ3NbaV0udmFsdWU7CisJfQorCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgbG9uZyBvc3JjMm1hc2soY29uc3QgY2hhciAqc3RyLCBzaXplX3QgbGVuKQoreworCXNpemVfdCBpOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBmbGFnX3N0ciBmbGFnc1tdID0geworCQl7IE1OVF9PTU9ERV9GU1RBQiwgImZzdGFiIiB9LAorCQl7IE1OVF9PTU9ERV9NVEFCLCAibXRhYiIgfSwKKwkJeyBNTlRfT01PREVfTk9UQUIsICJkaXNhYmxlIiB9LAorCX07CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShmbGFncyk7IGkrKykgeworCQlpZiAoIXN0cm5jbXAoc3RyLCBmbGFnc1tpXS5zdHIsIGxlbikgJiYgIWZsYWdzW2ldLnN0cltsZW5dKQorCQkJcmV0dXJuIGZsYWdzW2ldLnZhbHVlOworCX0KKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIHBpZF90IHBhcnNlX3BpZChjb25zdCBjaGFyICpzdHIpCit7CisJY2hhciAqZW5kOworCXBpZF90IHJldDsKKworCWVycm5vID0gMDsKKwlyZXQgPSBzdHJ0b3VsKHN0ciwgJmVuZCwgMTApOworCisJaWYgKHJldCA8IDAgfHwgZXJybm8gfHwgZW5kID09IHN0ciB8fCAoZW5kICYmICplbmQpKQorCQlyZXR1cm4gMDsKKwlyZXR1cm4gcmV0OworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGMsIHJjID0gTU5UX0VYX1NVQ0NFU1MsIGFsbCA9IDAsIHNob3dfbGFiZWxzID0gMDsKKwlzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dDsKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICpmc3RhYiA9IE5VTEw7CisJY2hhciAqc3JjYnVmID0gTlVMTDsKKwljaGFyICp0eXBlcyA9IE5VTEw7CisJaW50IG9wZXIgPSAwLCBpc19tb3ZlID0gMDsKKwlpbnQgcHJvcGEgPSAwOworCWludCBvcHRtb2RlID0gMCwgb3B0bW9kZV9tb2RlID0gMCwgb3B0bW9kZV9zcmMgPSAwOworCisJZW51bSB7CisJCU1PVU5UX09QVF9TSEFSRUQgPSBDSEFSX01BWCArIDEsCisJCU1PVU5UX09QVF9TTEFWRSwKKwkJTU9VTlRfT1BUX1BSSVZBVEUsCisJCU1PVU5UX09QVF9VTkJJTkRBQkxFLAorCQlNT1VOVF9PUFRfUlNIQVJFRCwKKwkJTU9VTlRfT1BUX1JTTEFWRSwKKwkJTU9VTlRfT1BUX1JQUklWQVRFLAorCQlNT1VOVF9PUFRfUlVOQklOREFCTEUsCisJCU1PVU5UX09QVF9UQVJHRVQsCisJCU1PVU5UX09QVF9TT1VSQ0UsCisJCU1PVU5UX09QVF9PUFRNT0RFLAorCQlNT1VOVF9PUFRfT1BUU1JDLAorCQlNT1VOVF9PUFRfT1BUU1JDX0ZPUkNFCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFsbCIsICAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2EnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgImZha2UiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2YnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgImZzdGFiIiwgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1QnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgImZvcmsiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0YnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgImhlbHAiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgIm5vLW10YWIiLCAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ24nICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInJlYWQtb25seSIsICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3InICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInJvIiwgICAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3InICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInZlcmJvc2UiLCAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3YnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInZlcnNpb24iLCAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInJlYWQtd3JpdGUiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3cnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInJ3IiwgICAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3cnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgIm9wdGlvbnMiLCAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ28nICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInRlc3Qtb3B0cyIsICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ08nICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInR5cGVzIiwgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3QnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInV1aWQiLCAgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1UnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgImxhYmVsIiwgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ0wnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgImJpbmQiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ0InICAgICAgICAgICAgICAgICAgIH0sCisJCXsgIm1vdmUiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ00nICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInJiaW5kIiwgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1InICAgICAgICAgICAgICAgICAgIH0sCisJCXsgIm1ha2Utc2hhcmVkIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgTU9VTlRfT1BUX1NIQVJFRCAgICAgIH0sCisJCXsgIm1ha2Utc2xhdmUiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgTU9VTlRfT1BUX1NMQVZFICAgICAgIH0sCisJCXsgIm1ha2UtcHJpdmF0ZSIsICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgTU9VTlRfT1BUX1BSSVZBVEUgICAgIH0sCisJCXsgIm1ha2UtdW5iaW5kYWJsZSIsICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgTU9VTlRfT1BUX1VOQklOREFCTEUgIH0sCisJCXsgIm1ha2UtcnNoYXJlZCIsICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgTU9VTlRfT1BUX1JTSEFSRUQgICAgIH0sCisJCXsgIm1ha2UtcnNsYXZlIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgTU9VTlRfT1BUX1JTTEFWRSAgICAgIH0sCisJCXsgIm1ha2UtcnByaXZhdGUiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgTU9VTlRfT1BUX1JQUklWQVRFICAgIH0sCisJCXsgIm1ha2UtcnVuYmluZGFibGUiLCBub19hcmd1bWVudCwgICAgICAgTlVMTCwgTU9VTlRfT1BUX1JVTkJJTkRBQkxFIH0sCisJCXsgIm5vLWNhbm9uaWNhbGl6ZSIsICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2MnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgImludGVybmFsLW9ubHkiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2knICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInNob3ctbGFiZWxzIiwgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2wnICAgICAgICAgICAgICAgICAgIH0sCisJCXsgInRhcmdldCIsICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgTU9VTlRfT1BUX1RBUkdFVCAgICAgIH0sCisJCXsgInNvdXJjZSIsICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgTU9VTlRfT1BUX1NPVVJDRSAgICAgIH0sCisJCXsgIm9wdGlvbnMtbW9kZSIsICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgTU9VTlRfT1BUX09QVE1PREUgICAgIH0sCisJCXsgIm9wdGlvbnMtc291cmNlIiwgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgTU9VTlRfT1BUX09QVFNSQyAgICAgIH0sCisJCXsgIm9wdGlvbnMtc291cmNlLWZvcmNlIiwgICBub19hcmd1bWVudCwgTlVMTCwgTU9VTlRfT1BUX09QVFNSQ19GT1JDRX0sCisJCXsgIm5hbWVzcGFjZSIsICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ04nICAgICAgICAgICAgICAgICAgIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0geyAgICAgICAvKiByb3dzIGFuZCBjb2xzIGluIEFTQ0lJIG9yZGVyICovCisJCXsgJ0InLCdNJywnUicgfSwJCQkvKiBiaW5kLG1vdmUscmJpbmQgKi8KKwkJeyAnTCcsJ1UnLCBNT1VOVF9PUFRfU09VUkNFIH0sCS8qIGxhYmVsLHV1aWQsc291cmNlICovCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzYW5pdGl6ZV9lbnYoKTsKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJc3RydXRpbHNfc2V0X2V4aXRjb2RlKE1OVF9FWF9VU0FHRSk7CisKKwltbnRfaW5pdF9kZWJ1ZygwKTsKKwljeHQgPSBtbnRfbmV3X2NvbnRleHQoKTsKKwlpZiAoIWN4dCkKKwkJZXJyKE1OVF9FWF9TWVNFUlIsIF8oImxpYm1vdW50IGNvbnRleHQgYWxsb2NhdGlvbiBmYWlsZWQiKSk7CisKKwltbnRfY29udGV4dF9zZXRfdGFibGVzX2VycmNiKGN4dCwgdGFibGVfcGFyc2VyX2VycmNiKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJhQmNmRmhpbEw6TW5vOk86clJzVTp2Vnd0OlQ6TjoiLAorCQkJCQlsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKwkJLyogb25seSBmZXcgb3B0aW9ucyBhcmUgYWxsb3dlZCBmb3Igbm9uLXJvb3QgdXNlcnMgKi8KKwkJaWYgKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSAmJgorCQkgICAgIXN0cmNocigiaGxMVVZ2cmlzdCIsIGMpICYmCisJCSAgICBjICE9IE1PVU5UX09QVF9UQVJHRVQgJiYKKwkJICAgIGMgIT0gTU9VTlRfT1BUX1NPVVJDRSkKKwkJCWV4aXRfbm9uX3Jvb3Qob3B0aW9uX3RvX2xvbmdvcHQoYywgbG9uZ29wdHMpKTsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2EnOgorCQkJYWxsID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCW1udF9jb250ZXh0X2Rpc2FibGVfY2Fub25pY2FsaXplKGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQltbnRfY29udGV4dF9lbmFibGVfZmFrZShjeHQsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ0YnOgorCQkJbW50X2NvbnRleHRfZW5hYmxlX2ZvcmsoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW1udF9jb250ZXh0X2Rpc2FibGVfbXRhYihjeHQsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJYXBwZW5kX29wdGlvbihjeHQsICJybyIpOworCQkJbW50X2NvbnRleHRfZW5hYmxlX3J3b25seV9tb3VudChjeHQsIEZBTFNFKTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCW1udF9jb250ZXh0X2VuYWJsZV92ZXJib3NlKGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludF92ZXJzaW9uKCk7CisJCQlicmVhazsKKwkJY2FzZSAndyc6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInJ3Iik7CisJCQltbnRfY29udGV4dF9lbmFibGVfcndvbmx5X21vdW50KGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdPJzoKKwkJCWlmIChtbnRfY29udGV4dF9zZXRfb3B0aW9uc19wYXR0ZXJuKGN4dCwgb3B0YXJnKSkKKwkJCQllcnIoTU5UX0VYX1NZU0VSUiwgXygiZmFpbGVkIHRvIHNldCBvcHRpb25zIHBhdHRlcm4iKSk7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQl4YXNwcmludGYoJnNyY2J1ZiwgIkxBQkVMPVwiJXNcIiIsIG9wdGFyZyk7CisJCQltbnRfY29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaChjeHQsIDEpOworCQkJbW50X2NvbnRleHRfc2V0X3NvdXJjZShjeHQsIHNyY2J1Zik7CisJCQlmcmVlKHNyY2J1Zik7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CisJCQl4YXNwcmludGYoJnNyY2J1ZiwgIlVVSUQ9XCIlc1wiIiwgb3B0YXJnKTsKKwkJCW1udF9jb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoKGN4dCwgMSk7CisJCQltbnRfY29udGV4dF9zZXRfc291cmNlKGN4dCwgc3JjYnVmKTsKKwkJCWZyZWUoc3JjYnVmKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCXNob3dfbGFiZWxzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCXR5cGVzID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1QnOgorCQkJZnN0YWIgPSBhcHBlbmRfZnN0YWIoY3h0LCBmc3RhYiwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9zbG9wcHkoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdCJzoKKwkJCW9wZXIgPSAxOworCQkJYXBwZW5kX29wdGlvbihjeHQsICJiaW5kIik7CisJCQlicmVhazsKKwkJY2FzZSAnTSc6CisJCQlvcGVyID0gMTsKKwkJCWlzX21vdmUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1InOgorCQkJb3BlciA9IDE7CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInJiaW5kIik7CisJCQlicmVhazsKKwkJY2FzZSAnTic6CisJCXsKKwkJCWNoYXIgcGF0aFtQQVRIX01BWF07CisJCQlwaWRfdCBwaWQgPSBwYXJzZV9waWQob3B0YXJnKTsKKworCQkJaWYgKHBpZCkKKwkJCQlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICIvcHJvYy8laS9ucy9tbnQiLCBwaWQpOworCisJCQlpZiAobW50X2NvbnRleHRfc2V0X3RhcmdldF9ucyhjeHQsIHBpZCA/IHBhdGggOiBvcHRhcmcpKQorCQkJCWVycihNTlRfRVhfU1lTRVJSLCBfKCJmYWlsZWQgdG8gc2V0IHRhcmdldCBuYW1lc3BhY2UgdG8gJXMiKSwgcGlkID8gcGF0aCA6IG9wdGFyZyk7CisJCQlicmVhazsKKwkJfQorCQljYXNlIE1PVU5UX09QVF9TSEFSRUQ6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInNoYXJlZCIpOworCQkJcHJvcGEgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgTU9VTlRfT1BUX1NMQVZFOgorCQkJYXBwZW5kX29wdGlvbihjeHQsICJzbGF2ZSIpOworCQkJcHJvcGEgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgTU9VTlRfT1BUX1BSSVZBVEU6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInByaXZhdGUiKTsKKwkJCXByb3BhID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE1PVU5UX09QVF9VTkJJTkRBQkxFOgorCQkJYXBwZW5kX29wdGlvbihjeHQsICJ1bmJpbmRhYmxlIik7CisJCQlwcm9wYSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBNT1VOVF9PUFRfUlNIQVJFRDoKKwkJCWFwcGVuZF9vcHRpb24oY3h0LCAicnNoYXJlZCIpOworCQkJcHJvcGEgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgTU9VTlRfT1BUX1JTTEFWRToKKwkJCWFwcGVuZF9vcHRpb24oY3h0LCAicnNsYXZlIik7CisJCQlwcm9wYSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBNT1VOVF9PUFRfUlBSSVZBVEU6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInJwcml2YXRlIik7CisJCQlwcm9wYSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBNT1VOVF9PUFRfUlVOQklOREFCTEU6CisJCQlhcHBlbmRfb3B0aW9uKGN4dCwgInJ1bmJpbmRhYmxlIik7CisJCQlwcm9wYSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBNT1VOVF9PUFRfVEFSR0VUOgorCQkJbW50X2NvbnRleHRfZGlzYWJsZV9zd2FwbWF0Y2goY3h0LCAxKTsKKwkJCW1udF9jb250ZXh0X3NldF90YXJnZXQoY3h0LCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgTU9VTlRfT1BUX1NPVVJDRToKKwkJCW1udF9jb250ZXh0X2Rpc2FibGVfc3dhcG1hdGNoKGN4dCwgMSk7CisJCQltbnRfY29udGV4dF9zZXRfc291cmNlKGN4dCwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIE1PVU5UX09QVF9PUFRNT0RFOgorCQkJb3B0bW9kZV9tb2RlID0gb21vZGUybWFzayhvcHRhcmcpOworCQkJaWYgKG9wdG1vZGVfbW9kZSA9PSAtRUlOVkFMKSB7CisJCQkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQkJCWVycnRyeWhlbHAoTU5UX0VYX1VTQUdFKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlIE1PVU5UX09QVF9PUFRTUkM6CisJCXsKKwkJCXVuc2lnbmVkIGxvbmcgdG1wID0gMDsKKwkJCWlmIChzdHJpbmdfdG9fYml0bWFzayhvcHRhcmcsICZ0bXAsIG9zcmMybWFzaykpIHsKKwkJCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCQkJZXJydHJ5aGVscChNTlRfRVhfVVNBR0UpOworCQkJfQorCQkJb3B0bW9kZV9zcmMgPSB0bXA7CisJCQlicmVhazsKKwkJfQorCQljYXNlIE1PVU5UX09QVF9PUFRTUkNfRk9SQ0U6CisJCQlvcHRtb2RlIHw9IE1OVF9PTU9ERV9GT1JDRTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChNTlRfRVhfVVNBR0UpOworCQl9CisJfQorCisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlvcHRtb2RlIHw9IG9wdG1vZGVfbW9kZSB8IG9wdG1vZGVfc3JjOworCWlmIChvcHRtb2RlKSB7CisJCWlmICghb3B0bW9kZV9tb2RlKQorCQkJb3B0bW9kZSB8PSBNTlRfT01PREVfUFJFUEVORDsKKwkJaWYgKCFvcHRtb2RlX3NyYykKKwkJCW9wdG1vZGUgfD0gTU5UX09NT0RFX0ZTVEFCIHwgTU5UX09NT0RFX01UQUI7CisJCW1udF9jb250ZXh0X3NldF9vcHRzbW9kZShjeHQsIG9wdG1vZGUpOworCX0KKworCWlmIChmc3RhYiAmJiAhbW50X2NvbnRleHRfaXNfbm9jYW5vbmljYWxpemUoY3h0KSkgeworCQkvKgorCQkgKiBXZSBoYXZlIGV4dGVybmFsIChjb250ZXh0IGluZGVwZW5kZW50KSBmc3RhYiBpbnN0YW5jZSwgbGV0J3MKKwkJICogbWFrZSBhIGNvbm5lY3Rpb24gYmV0d2VlbiB0aGUgZnN0YWIgYW5kIHRoZSBjYW5vbmljYWxpemF0aW9uCisJCSAqIGNhY2hlLgorCQkgKi8KKwkJbW50X3RhYmxlX3NldF9jYWNoZShmc3RhYiwgbW50X2NvbnRleHRfZ2V0X2NhY2hlKGN4dCkpOworCX0KKworCWlmICghbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpICYmCisJICAgICFtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkgJiYKKwkgICAgIWFyZ2MgJiYKKwkgICAgIWFsbCkgeworCQlpZiAob3BlciB8fCBtbnRfY29udGV4dF9nZXRfb3B0aW9ucyhjeHQpKSB7CisJCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCQllcnJ0cnloZWxwKE1OVF9FWF9VU0FHRSk7CisJCX0KKwkJcHJpbnRfYWxsKGN4dCwgdHlwZXMsIHNob3dfbGFiZWxzKTsKKwkJZ290byBkb25lOworCX0KKworCS8qIE5vbi1yb290IHVzZXJzIGFyZSBhbGxvd2VkIHRvIHVzZSAtdCB0byBwcmludF9hbGwoKSwKKwkgICBidXQgbm90IHRvIG1vdW50ICovCisJaWYgKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSAmJiB0eXBlcykKKwkJZXhpdF9ub25fcm9vdCgidHlwZXMiKTsKKworCWlmIChvcGVyICYmICh0eXBlcyB8fCBhbGwgfHwgbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpKSkgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoTU5UX0VYX1VTQUdFKTsKKwl9CisKKwlpZiAodHlwZXMgJiYgKGFsbCB8fCBzdHJjaHIodHlwZXMsICcsJykgfHwKKwkJCSAgICAgc3RybmNtcCh0eXBlcywgIm5vIiwgMikgPT0gMCkpCisJCW1udF9jb250ZXh0X3NldF9mc3R5cGVfcGF0dGVybihjeHQsIHR5cGVzKTsKKwllbHNlIGlmICh0eXBlcykKKwkJbW50X2NvbnRleHRfc2V0X2ZzdHlwZShjeHQsIHR5cGVzKTsKKworCWlmIChhbGwpIHsKKwkJLyoKKwkJICogQSkgTW91bnQgYWxsCisJCSAqLworCQlyYyA9IG1vdW50X2FsbChjeHQpOworCQlnb3RvIGRvbmU7CisKKwl9IGVsc2UgaWYgKGFyZ2MgPT0gMCAmJiAobW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpIHx8CisJCQkJIG1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KSkpIHsKKwkJLyoKKwkJICogQikgbW91bnQgLUx8LVV8LS1zb3VyY2V8LS10YXJnZXQKKwkJICoKKwkJICogbm9uLXJvb3QgbWF5IHNwZWNpZnkgc291cmNlICpvciogdGFyZ2V0LCBidXQgbm90IGJvdGgKKwkJICovCisJCWlmIChtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKGN4dCkgJiYKKwkJICAgIG1udF9jb250ZXh0X2dldF9zb3VyY2UoY3h0KSAmJgorCQkgICAgbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpKQorCQkJZXhpdF9ub25fcm9vdChOVUxMKTsKKworCX0gZWxzZSBpZiAoYXJnYyA9PSAxICYmICghbW50X2NvbnRleHRfZ2V0X3NvdXJjZShjeHQpIHx8CisJCQkJICFtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCkpKSB7CisJCS8qCisJCSAqIEMpIG1vdW50IFstTHwtVXwtLXNvdXJjZV0gPHRhcmdldD4KKwkJICogICAgbW91bnQgWy0tdGFyZ2V0IDxkaXI+XSA8c291cmNlPgorCQkgKiAgICBtb3VudCA8c291cmNlfHRhcmdldD4KKwkJICoKKwkJICogbm9uLXJvb3QgbWF5IHNwZWNpZnkgc291cmNlICpvciogdGFyZ2V0LCBidXQgbm90IGJvdGgKKwkJICoKKwkJICogSXQgZG9lcyBub3QgbWF0dGVyIGZvciBsaWJtb3VudCBpZiB3ZSBzZXQgc291cmNlIG9yIHRhcmdldAorCQkgKiBoZXJlICh0aGUgbGlicmFyeSBpcyBhYmxlIHRvIHN3YXAgaXQpLCBidXQgaXQgbWF0dGVycyBmb3IKKwkJICogc2FuaXRpemVfcGF0aHMoKS4KKwkJICovCisJCWludCBpc3RhZyA9IG1udF90YWdfaXNfdmFsaWQoYXJndlswXSk7CisKKwkJaWYgKGlzdGFnICYmIG1udF9jb250ZXh0X2dldF9zb3VyY2UoY3h0KSkKKwkJCS8qIC1MLCAtVSBvciAtLXNvdXJjZSB0b2dldGhlciB3aXRoIExBQkVMPSBvciBVVUlEPSAqLworCQkJZXJyeChNTlRfRVhfVVNBR0UsIF8oInNvdXJjZSBzcGVjaWZpZWQgbW9yZSB0aGFuIG9uY2UiKSk7CisJCWVsc2UgaWYgKGlzdGFnIHx8IG1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KSkKKwkJCW1udF9jb250ZXh0X3NldF9zb3VyY2UoY3h0LCBhcmd2WzBdKTsKKwkJZWxzZQorCQkJbW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsIGFyZ3ZbMF0pOworCisJCWlmIChtbnRfY29udGV4dF9pc19yZXN0cmljdGVkKGN4dCkgJiYKKwkJICAgIG1udF9jb250ZXh0X2dldF9zb3VyY2UoY3h0KSAmJgorCQkgICAgbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpKQorCQkJZXhpdF9ub25fcm9vdChOVUxMKTsKKworCX0gZWxzZSBpZiAoYXJnYyA9PSAyICYmICFtbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCkKKwkJCSAgICAgJiYgIW1udF9jb250ZXh0X2dldF90YXJnZXQoY3h0KSkgeworCQkvKgorCQkgKiBEKSBtb3VudCA8c291cmNlPiA8dGFyZ2V0PgorCQkgKi8KKwkJaWYgKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KSkKKwkJCWV4aXRfbm9uX3Jvb3QoTlVMTCk7CisKKwkJbW50X2NvbnRleHRfc2V0X3NvdXJjZShjeHQsIGFyZ3ZbMF0pOworCQltbnRfY29udGV4dF9zZXRfdGFyZ2V0KGN4dCwgYXJndlsxXSk7CisKKwl9IGVsc2UgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoTU5UX0VYX1VTQUdFKTsKKwl9CisKKwlpZiAobW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpKQorCQlzYW5pdGl6ZV9wYXRocyhjeHQpOworCisJaWYgKGlzX21vdmUpCisJCS8qICJtb3ZlIiBhcyBvcHRpb24gc3RyaW5nIGlzIG5vdCBzdXBwb3J0ZWQgYnkgbGlibW91bnQgKi8KKwkJbW50X2NvbnRleHRfc2V0X21mbGFncyhjeHQsIE1TX01PVkUpOworCisJaWYgKChvcGVyICYmICFoYXNfcmVtb3VudF9mbGFnKGN4dCkpIHx8IHByb3BhKQorCQkvKiBGb3IgLS1tYWtlLSogb3IgLS1iaW5kIGlzIGZzdGFiL210YWIgdW5uZWNlc3NhcnkgKi8KKwkJbW50X2NvbnRleHRfc2V0X29wdHNtb2RlKGN4dCwgTU5UX09NT0RFX05PVEFCKTsKKworCXJjID0gbW50X2NvbnRleHRfbW91bnQoY3h0KTsKKwlyYyA9IG1rX2V4aXRfY29kZShjeHQsIHJjKTsKKworCWlmIChyYyA9PSBNTlRfRVhfU1VDQ0VTUyAmJiBtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCXN1Y2Nlc3NfbWVzc2FnZShjeHQpOworZG9uZToKKwltbnRfZnJlZV9jb250ZXh0KGN4dCk7CisJcmV0dXJuIHJjOworfQorCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvbW91bnRwb2ludC4xIGIvc3lzLXV0aWxzL21vdW50cG9pbnQuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZmM0NjllCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL21vdW50cG9pbnQuMQpAQCAtMCwwICsxLDU4IEBACisuVEggTU9VTlRQT0lOVCAxICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCittb3VudHBvaW50IFwtIHNlZSBpZiBhIGRpcmVjdG9yeSBvciBmaWxlIGlzIGEgbW91bnRwb2ludAorLlNIIFNZTk9QU0lTCisuQiBtb3VudHBvaW50CisuUkIgWyBcLWQgfCBcLXEgXQorLkkgZGlyZWN0b3J5Cit8CisuSSBmaWxlCisuc3AKKy5CIG1vdW50cG9pbnQKKy5CIFwteAorLkkgZGV2aWNlCisKKy5TSCBERVNDUklQVElPTgorLkIgbW91bnRwb2ludAorY2hlY2tzIHdoZXRoZXIgdGhlIGdpdmVuCisuSSBkaXJlY3RvcnkKK29yCisuSSBmaWxlCitpcyBtZW50aW9uZWQgaW4gdGhlIC9wcm9jL3NlbGYvbW91bnRpbmZvIGZpbGUuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1kICwgIiBcLVwtZnNcLWRldm5vIgorU2hvdyB0aGUgbWFqb3IvbWlub3IgbnVtYmVycyBvZiB0aGUgZGV2aWNlIHRoYXQgaXMgbW91bnRlZCBvbiB0aGUgZ2l2ZW4KK2RpcmVjdG9yeS4KKy5UUAorLkJSIFwtcSAsICIgXC1cLXF1aWV0IgorQmUgcXVpZXQgLSBkb24ndCBwcmludCBhbnl0aGluZy4KKy5UUAorLkJSIFwteCAsICIgXC1cLWRldm5vIgorU2hvdyB0aGUgbWFqb3IvbWlub3IgbnVtYmVycyBvZiB0aGUgZ2l2ZW4gYmxvY2tkZXZpY2Ugb24gc3RhbmRhcmQgb3V0cHV0LgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFWElUIFNUQVRVUworWmVybyBpZiB0aGUgZGlyZWN0b3J5IG9yIGZpbGUgaXMgYSBtb3VudHBvaW50LCBub24temVybyBpZiBub3QuCisuU0ggQVVUSE9SCisuUFAKK0thcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlNIIEVOVklST05NRU5UCisuSVAgTElCTU9VTlRfREVCVUc9YWxsCitlbmFibGVzIGxpYm1vdW50IGRlYnVnIG91dHB1dC4KKy5TSCBOT1RFUworLlBQCitUaGUgdXRpbC1saW51eAorLkIgbW91bnRwb2ludAoraW1wbGVtZW50YXRpb24gd2FzIHdyaXR0ZW4gZnJvbSBzY3JhdGNoIGZvciBsaWJtb3VudC4gIFRoZSBvcmlnaW5hbCB2ZXJzaW9uCitmb3Igc3lzdmluaXQgc3VpdGUgd2FzIHdyaXR0ZW4gYnkgTWlxdWVsIHZhbiBTbW9vcmVuYnVyZy4KKworLlNIIFNFRSBBTFNPCisuQlIgbW91bnQgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbW91bnRwb2ludCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL21vdW50cG9pbnQuYyBiL3N5cy11dGlscy9tb3VudHBvaW50LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBhNzRkYQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9tb3VudHBvaW50LmMKQEAgLTAsMCArMSwyMDMgQEAKKy8qCisgKiBtb3VudHBvaW50KDEpIC0gc2VlIGlmIGEgZGlyZWN0b3J5IGlzIGEgbW91bnRwb2ludAorICoKKyAqIFRoaXMgaXMgbGlibW91bnQgYmFzZWQgcmVpbXBsZW1lbnRhdGlvbiBvZiB0aGUgbW91bnRwb2ludCgxKQorICogZnJvbSBzeXN2aW5pdCBwcm9qZWN0LgorICoKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgUmVkIEhhdCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogV3JpdHRlbiBieSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisKKyNpbmNsdWRlIDxsaWJtb3VudC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisKK3N0cnVjdCBtb3VudHBvaW50X2NvbnRyb2wgeworCWNoYXIgKnBhdGg7CisJZGV2X3QgZGV2OworCXN0cnVjdCBzdGF0IHN0OworCXVuc2lnbmVkIGludAorCQlkZXZfZGV2bm86MSwKKwkJZnNfZGV2bm86MSwKKwkJcXVpZXQ6MTsKK307CisKK3N0YXRpYyBpbnQgZGlyX3RvX2RldmljZShzdHJ1Y3QgbW91bnRwb2ludF9jb250cm9sICpjdGwpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGIgPSBtbnRfbmV3X3RhYmxlX2Zyb21fZmlsZShfUEFUSF9QUk9DX01PVU5USU5GTyk7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9jYWNoZSAqY2FjaGU7CisJaW50IHJjID0gLTE7CisKKwlpZiAoIXRiKSB7CisJCS8qCisJCSAqIEZhbGxiYWNrLiBUcmFkaXRpb25hbCB3YXkgdG8gZGV0ZWN0IG1vdW50cG9pbnRzLiBUaGlzIHdheQorCQkgKiBpcyBpbmRlcGVuZGVudCBvbiAvcHJvYywgYnV0IG5vdCBhYmxlIHRvIGRldGVjdCBiaW5kIG1vdW50cy4KKwkJICovCisJCXN0cnVjdCBzdGF0IHBzdDsKKwkJY2hhciBidWZbUEFUSF9NQVhdLCAqY247CisJCWludCBsZW47CisKKwkJY24gPSBtbnRfcmVzb2x2ZV9wYXRoKGN0bC0+cGF0aCwgTlVMTCk7CS8qIGNhbm9uaWNhbGl6ZSAqLworCisJCWxlbiA9IHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIlcy8uLiIsIGNuID8gY24gOiBjdGwtPnBhdGgpOworCQlmcmVlKGNuKTsKKworCQlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KSBsZW4gPj0gc2l6ZW9mKGJ1ZikpCisJCQlyZXR1cm4gLTE7CisJCWlmIChzdGF0KGJ1ZiwgJnBzdCkgIT0wKQorCQkJcmV0dXJuIC0xOworCisJCWlmIChjdGwtPnN0LnN0X2RldiAhPSBwc3Quc3RfZGV2IHx8IGN0bC0+c3Quc3RfaW5vID09IHBzdC5zdF9pbm8pIHsKKwkJCWN0bC0+ZGV2ID0gY3RsLT5zdC5zdF9kZXY7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCXJldHVybiAtMTsKKwl9CisKKwkvKiB0byBjYW5vbmljYWxpemUgYWxsIG5lY2Vzc2FyeSBwYXRocyAqLworCWNhY2hlID0gbW50X25ld19jYWNoZSgpOworCW1udF90YWJsZV9zZXRfY2FjaGUodGIsIGNhY2hlKTsKKwltbnRfdW5yZWZfY2FjaGUoY2FjaGUpOworCisJZnMgPSBtbnRfdGFibGVfZmluZF90YXJnZXQodGIsIGN0bC0+cGF0aCwgTU5UX0lURVJfQkFDS1dBUkQpOworCWlmIChmcyAmJiBtbnRfZnNfZ2V0X3RhcmdldChmcykpIHsKKwkJY3RsLT5kZXYgPSBtbnRfZnNfZ2V0X2Rldm5vKGZzKTsKKwkJcmMgPSAwOworCX0KKworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHByaW50X2Rldm5vKGNvbnN0IHN0cnVjdCBtb3VudHBvaW50X2NvbnRyb2wgKmN0bCkKK3sKKwlpZiAoIVNfSVNCTEsoY3RsLT5zdC5zdF9tb2RlKSkgeworCQlpZiAoIWN0bC0+cXVpZXQpCisJCQl3YXJueChfKCIlczogbm90IGEgYmxvY2sgZGV2aWNlIiksIGN0bC0+cGF0aCk7CisJCXJldHVybiAtMTsKKwl9CisJcHJpbnRmKCIldToldVxuIiwgbWFqb3IoY3RsLT5zdC5zdF9yZGV2KSwgbWlub3IoY3RsLT5zdC5zdF9yZGV2KSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJTEkcyBbLXFkXSAvcGF0aC90by9kaXJlY3RvcnlcbiIKKwkJIiAlMSRzIC14IC9kZXYvZGV2aWNlXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNoZWNrIHdoZXRoZXIgYSBkaXJlY3Rvcnkgb3IgZmlsZSBpcyBhIG1vdW50cG9pbnQuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1xLCAtLXF1aWV0ICAgICAgICBxdWlldCBtb2RlIC0gZG9uJ3QgcHJpbnQgYW55dGhpbmdcbiIKKwkJIiAtZCwgLS1mcy1kZXZubyAgICAgcHJpbnQgbWFqOm1pbiBkZXZpY2UgbnVtYmVyIG9mIHRoZSBmaWxlc3lzdGVtXG4iCisJCSIgLXgsIC0tZGV2bm8gICAgICAgIHByaW50IG1hajptaW4gZGV2aWNlIG51bWJlciBvZiB0aGUgYmxvY2sgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyMCkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgibW91bnRwb2ludCgxKSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjOworCXN0cnVjdCBtb3VudHBvaW50X2NvbnRyb2wgY3RsID0geyBOVUxMIH07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJxdWlldCIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAncScgfSwKKwkJeyAiZnMtZGV2bm8iLCBub19hcmd1bWVudCwgTlVMTCwgJ2QnIH0sCisJCXsgImRldm5vIiwgICAgbm9fYXJndW1lbnQsIE5VTEwsICd4JyB9LAorCQl7ICJoZWxwIiwgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCcgfSwKKwkJeyAidmVyc2lvbiIsICBub19hcmd1bWVudCwgTlVMTCwgJ1YnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltbnRfaW5pdF9kZWJ1ZygwKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJxZHhoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQlzd2l0Y2goYykgeworCQljYXNlICdxJzoKKwkJCWN0bC5xdWlldCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQljdGwuZnNfZGV2bm8gPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJY3RsLmRldl9kZXZubyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKG9wdGluZCArIDEgIT0gYXJnYykgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwljdGwucGF0aCA9IGFyZ3Zbb3B0aW5kXTsKKworCWlmIChzdGF0KGN0bC5wYXRoLCAmY3RsLnN0KSkgeworCQlpZiAoIWN0bC5xdWlldCkKKwkJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIGN0bC5wYXRoKTsKKwkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwl9CisJaWYgKGN0bC5kZXZfZGV2bm8pCisJCXJldHVybiBwcmludF9kZXZubygmY3RsKSA/IEVYSVRfRkFJTFVSRSA6IEVYSVRfU1VDQ0VTUzsKKwlpZiAoZGlyX3RvX2RldmljZSgmY3RsKSkgeworCQlpZiAoIWN0bC5xdWlldCkKKwkJCXByaW50ZihfKCIlcyBpcyBub3QgYSBtb3VudHBvaW50XG4iKSwgY3RsLnBhdGgpOworCQlyZXR1cm4gRVhJVF9GQUlMVVJFOworCX0KKwlpZiAoY3RsLmZzX2Rldm5vKQorCQlwcmludGYoIiV1OiV1XG4iLCBtYWpvcihjdGwuZGV2KSwgbWlub3IoY3RsLmRldikpOworCWVsc2UgaWYgKCFjdGwucXVpZXQpCisJCXByaW50ZihfKCIlcyBpcyBhIG1vdW50cG9pbnRcbiIpLCBjdGwucGF0aCk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9uc2VudGVyLjEgYi9zeXMtdXRpbHMvbnNlbnRlci4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhY2FlNTMKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbnNlbnRlci4xCkBAIC0wLDAgKzEsMjY5IEBACisuVEggTlNFTlRFUiAxICJKdW5lIDIwMTMiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCituc2VudGVyIFwtIHJ1biBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMKKy5TSCBTWU5PUFNJUworLkIgbnNlbnRlcgorW29wdGlvbnNdCisuUkkgWyBwcm9ncmFtCisuUkkgWyBhcmd1bWVudHMgXV0KKy5TSCBERVNDUklQVElPTgorRW50ZXJzIHRoZSBuYW1lc3BhY2VzIG9mIG9uZSBvciBtb3JlIG90aGVyIHByb2Nlc3NlcyBhbmQgdGhlbiBleGVjdXRlcyB0aGUgc3BlY2lmaWVkCitcZklwcm9ncmFtXGZQLiBJZiBcZklwcm9ncmFtXGZQIGlzIG5vdCBnaXZlbiwgdGhlbiBgYCR7U0hFTEx9JycgaXMgcnVuIChkZWZhdWx0OiAvYmluXDovc2gpLgorLlBQCitFbnRlcmFibGUgbmFtZXNwYWNlcyBhcmU6CisuVFAKKy5CIG1vdW50IG5hbWVzcGFjZQorTW91bnRpbmcgYW5kIHVubW91bnRpbmcgZmlsZXN5c3RlbXMgd2lsbCBub3QgYWZmZWN0IHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0sCitleGNlcHQgZm9yIGZpbGVzeXN0ZW1zIHdoaWNoIGFyZSBleHBsaWNpdGx5IG1hcmtlZCBhcyBzaGFyZWQgKHdpdGgKK1xmQm1vdW50IC0tbWFrZS1cOnNoYXJlZFxmUDsgc2VlIFxmSS9wcm9jXDovc2VsZlw6L21vdW50aW5mb1xmUCBmb3IgdGhlCitcZkJzaGFyZWRcZlAgZmxhZykuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBtb3VudF9uYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkIgQ0xPTkVfTkVXTlMKK2ZsYWcgaW4KKy5CUiBjbG9uZSAoMikuCisuVFAKKy5CIFVUUyBuYW1lc3BhY2UKK1NldHRpbmcgaG9zdG5hbWUgb3IgZG9tYWlubmFtZSB3aWxsIG5vdCBhZmZlY3QgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbS4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIG5hbWVzcGFjZXMgKDcpCithbmQgdGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQiBDTE9ORV9ORVdVVFMKK2ZsYWcgaW4KKy5CUiBjbG9uZSAoMikuCisuVFAKKy5CIElQQyBuYW1lc3BhY2UKK1RoZSBwcm9jZXNzIHdpbGwgaGF2ZSBhbiBpbmRlcGVuZGVudCBuYW1lc3BhY2UgZm9yIFBPU0lYIG1lc3NhZ2UgcXVldWVzCithcyB3ZWxsIGFzIFN5c3RlbSBWIG1lc3NhZ2UgcXVldWVzLAorc2VtYXBob3JlIHNldHMgYW5kIHNoYXJlZCBtZW1vcnkgc2VnbWVudHMuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBuYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkIgQ0xPTkVfTkVXSVBDCitmbGFnIGluCisuQlIgY2xvbmUgKDIpLgorLlRQCisuQiBuZXR3b3JrIG5hbWVzcGFjZQorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGluZGVwZW5kZW50IElQdjQgYW5kIElQdjYgc3RhY2tzLCBJUCByb3V0aW5nIHRhYmxlcywKK2ZpcmV3YWxsIHJ1bGVzLCB0aGUKKy5JIC9wcm9jXDovbmV0CithbmQKKy5JIC9zeXNcOi9jbGFzc1w6L25ldAorZGlyZWN0b3J5IHRyZWVzLCBzb2NrZXRzLCBldGMuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBuYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkIgQ0xPTkVfTkVXTkVUCitmbGFnIGluCisuQlIgY2xvbmUgKDIpLgorLlRQCisuQiBQSUQgbmFtZXNwYWNlCitDaGlsZHJlbiB3aWxsIGhhdmUgYSBzZXQgb2YgUElEIHRvIHByb2Nlc3MgbWFwcGluZ3Mgc2VwYXJhdGUgZnJvbSB0aGUKKy5CIG5zZW50ZXIKK3Byb2Nlc3MKK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIHBpZF9uYW1lc3BhY2VzICg3KQorYW5kCit0aGUgZGlzY3Vzc2lvbiBvZiB0aGUKKy5CIENMT05FX05FV1BJRAorZmxhZyBpbgorLkIgbnNlbnRlcgord2lsbCBmb3JrIGJ5IGRlZmF1bHQgaWYgY2hhbmdpbmcgdGhlIFBJRCBuYW1lc3BhY2UsIHNvIHRoYXQgdGhlIG5ldyBwcm9ncmFtCithbmQgaXRzIGNoaWxkcmVuIHNoYXJlIHRoZSBzYW1lIFBJRCBuYW1lc3BhY2UgYW5kIGFyZSB2aXNpYmxlIHRvIGVhY2ggb3RoZXIuCitJZiBcZkJcLVwtbm9cLWZvcmtcZlAgaXMgdXNlZCwgdGhlIG5ldyBwcm9ncmFtIHdpbGwgYmUgZXhlYydlZCB3aXRob3V0IGZvcmtpbmcuCisuVFAKKy5CIHVzZXIgbmFtZXNwYWNlCitUaGUgcHJvY2VzcyB3aWxsIGhhdmUgYSBkaXN0aW5jdCBzZXQgb2YgVUlEcywgR0lEcyBhbmQgY2FwYWJpbGl0aWVzLgorRm9yIGZ1cnRoZXIgZGV0YWlscywgc2VlCisuQlIgdXNlcl9uYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkIgQ0xPTkVfTkVXVVNFUgorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorLkIgY2dyb3VwIG5hbWVzcGFjZQorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGEgdmlydHVhbGl6ZWQgdmlldyBvZiBcZkkvcHJvY1w6L3NlbGZcOi9jZ3JvdXBcZlAsIGFuZCBuZXcKK2Nncm91cCBtb3VudHMgd2lsbCBiZSByb290ZWQgYXQgdGhlIG5hbWVzcGFjZSBjZ3JvdXAgcm9vdC4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIGNncm91cF9uYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkIgQ0xPTkVfTkVXQ0dST1VQCitmbGFnIGluCisuQlIgY2xvbmUgKDIpLgorLlRQCitTZWUgXGZCY2xvbmVcZlAoMikgZm9yIHRoZSBleGFjdCBzZW1hbnRpY3Mgb2YgdGhlIGZsYWdzLgorLlNIIE9QVElPTlMKK1ZhcmlvdXMgb2YgdGhlIG9wdGlvbnMgYmVsb3cgdGhhdCByZWxhdGUgdG8gbmFtZXNwYWNlcyB0YWtlIGFuIG9wdGlvbmFsCisuSSBmaWxlCithcmd1bWVudC4KK1RoaXMgc2hvdWxkIGJlIG9uZSBvZiB0aGUKKy5JIC9wcm9jL1twaWRdL25zLyoKK2ZpbGVzIGRlc2NyaWJlZCBpbgorLkJSIG5hbWVzcGFjZXMgKDcpLgorLlRQCitcZkJcLWFcZlIsIFxmQlwtXC1hbGxcZlIKK0VudGVyIGFsbCBuYW1lc3BhY2VzIG9mIHRoZSB0YXJnZXQgcHJvY2VzcyBieSB0aGUgZGVmYXVsdAorLkkgL3Byb2MvW3BpZF0vbnMvKgorbmFtZXNwYWNlIHBhdGhzLiBUaGUgZGVmYXVsdCBwYXRocyB0byB0aGUgdGFyZ2V0IHByb2Nlc3MgbmFtZXNwYWNlcyBtYXkgYmUKK292ZXJ3cml0dGVuIGJ5IG5hbWVzcGFjZSBzcGVjaWZpYyBvcHRpb25zIChlLmcuIC0tYWxsIC0tbW91bnQ9W3BhdGhdKS4KKworVGhlIHVzZXIgbmFtZXNwYWNlIHdpbGwgYmUgaWdub3JlZCBpZiB0aGUgc2FtZSBhcyB0aGUgY2FsbGVyJ3MgY3VycmVudCB1c2VyCituYW1lc3BhY2UuIEl0IHByZXZlbnRzIGEgY2FsbGVyIHRoYXQgaGFzIGRyb3BwZWQgY2FwYWJpbGl0aWVzIGZyb20gcmVnYWluaW5nCit0aG9zZSBjYXBhYmlsaXRpZXMgdmlhIGEgY2FsbCB0byBzZXRucygpLiAgU2VlCisuQlIgc2V0bnMgKDIpCitmb3IgbW9yZSBkZXRhaWxzLgorLlRQCitcZkJcLXRcZlIsIFxmQlwtXC10YXJnZXRcZlIgXGZJcGlkXGZQCitTcGVjaWZ5IGEgdGFyZ2V0IHByb2Nlc3MgdG8gZ2V0IGNvbnRleHRzIGZyb20uICBUaGUgcGF0aHMgdG8gdGhlIGNvbnRleHRzCitzcGVjaWZpZWQgYnkKKy5JIHBpZAorYXJlOgorLlJTCisuUEQgMAorLklQICIiIDIwCisuVFAKKy9wcm9jL1xmSXBpZFxmUi9ucy9tbnQKK3RoZSBtb3VudCBuYW1lc3BhY2UKKy5UUAorL3Byb2MvXGZJcGlkXGZSL25zL3V0cwordGhlIFVUUyBuYW1lc3BhY2UKKy5UUAorL3Byb2MvXGZJcGlkXGZSL25zL2lwYwordGhlIElQQyBuYW1lc3BhY2UKKy5UUAorL3Byb2MvXGZJcGlkXGZSL25zL25ldAordGhlIG5ldHdvcmsgbmFtZXNwYWNlCisuVFAKKy9wcm9jL1xmSXBpZFxmUi9ucy9waWQKK3RoZSBQSUQgbmFtZXNwYWNlCisuVFAKKy9wcm9jL1xmSXBpZFxmUi9ucy91c2VyCit0aGUgdXNlciBuYW1lc3BhY2UKKy5UUAorL3Byb2MvXGZJcGlkXGZSL25zL2Nncm91cAordGhlIGNncm91cCBuYW1lc3BhY2UKKy5UUAorL3Byb2MvXGZJcGlkXGZSL3Jvb3QKK3RoZSByb290IGRpcmVjdG9yeQorLlRQCisvcHJvYy9cZklwaWRcZlIvY3dkCit0aGUgd29ya2luZyBkaXJlY3RvcnkgcmVzcGVjdGl2ZWx5CisuUEQKKy5SRQorLlRQCitcZkJcLW1cZlIsIFxmQlwtXC1tb3VudFxmUls9XGZJZmlsZVxmUl0KK0VudGVyIHRoZSBtb3VudCBuYW1lc3BhY2UuICBJZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgZW50ZXIgdGhlIG1vdW50IG5hbWVzcGFjZQorb2YgdGhlIHRhcmdldCBwcm9jZXNzLgorSWYKKy5JIGZpbGUKK2lzIHNwZWNpZmllZCwgZW50ZXIgdGhlIG1vdW50IG5hbWVzcGFjZQorc3BlY2lmaWVkIGJ5CisuSVIgZmlsZSAuCisuVFAKK1xmQlwtdVxmUiwgXGZCXC1cLXV0c1xmUls9XGZJZmlsZVxmUl0KK0VudGVyIHRoZSBVVFMgbmFtZXNwYWNlLiAgSWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSBVVFMgbmFtZXNwYWNlIG9mCit0aGUgdGFyZ2V0IHByb2Nlc3MuCitJZgorLkkgZmlsZQoraXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgVVRTIG5hbWVzcGFjZSBzcGVjaWZpZWQgYnkKKy5JUiBmaWxlIC4KKy5UUAorXGZCXC1pXGZSLCBcZkJcLVwtaXBjXGZSWz1cZklmaWxlXGZSXQorRW50ZXIgdGhlIElQQyBuYW1lc3BhY2UuICBJZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgZW50ZXIgdGhlIElQQyBuYW1lc3BhY2Ugb2YKK3RoZSB0YXJnZXQgcHJvY2Vzcy4KK0lmCisuSSBmaWxlCitpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSBJUEMgbmFtZXNwYWNlIHNwZWNpZmllZCBieQorLklSIGZpbGUgLgorLlRQCitcZkJcLW5cZlIsIFxmQlwtXC1uZXRcZlJbPVxmSWZpbGVcZlJdCitFbnRlciB0aGUgbmV0d29yayBuYW1lc3BhY2UuICBJZiBubyBmaWxlIGlzIHNwZWNpZmllZCwgZW50ZXIgdGhlIG5ldHdvcmsKK25hbWVzcGFjZSBvZiB0aGUgdGFyZ2V0IHByb2Nlc3MuCitJZgorLkkgZmlsZQoraXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgbmV0d29yayBuYW1lc3BhY2Ugc3BlY2lmaWVkIGJ5CisuSVIgZmlsZSAuCisuVFAKK1xmQlwtcFxmUiwgXGZCXC1cLXBpZFxmUls9XGZJZmlsZVxmUl0KK0VudGVyIHRoZSBQSUQgbmFtZXNwYWNlLiAgSWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSBQSUQgbmFtZXNwYWNlIG9mCit0aGUgdGFyZ2V0IHByb2Nlc3MuCitJZgorLkkgZmlsZQoraXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgUElEIG5hbWVzcGFjZSBzcGVjaWZpZWQgYnkKKy5JUiBmaWxlIC4KKy5UUAorXGZCXC1VXGZSLCBcZkJcLVwtdXNlclxmUls9XGZJZmlsZVxmUl0KK0VudGVyIHRoZSB1c2VyIG5hbWVzcGFjZS4gIElmIG5vIGZpbGUgaXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgdXNlciBuYW1lc3BhY2Ugb2YKK3RoZSB0YXJnZXQgcHJvY2Vzcy4KK0lmCisuSSBmaWxlCitpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSB1c2VyIG5hbWVzcGFjZSBzcGVjaWZpZWQgYnkKKy5JUiBmaWxlIC4KK1NlZSBhbHNvIHRoZSBcZkJcLVwtc2V0dWlkXGZSIGFuZCBcZkJcLVwtc2V0Z2lkXGZSIG9wdGlvbnMuCisuVFAKK1xmQlwtQ1xmUiwgXGZCXC1cLWNncm91cFxmUls9XGZJZmlsZVxmUl0KK0VudGVyIHRoZSBjZ3JvdXAgbmFtZXNwYWNlLiAgSWYgbm8gZmlsZSBpcyBzcGVjaWZpZWQsIGVudGVyIHRoZSBjZ3JvdXAgbmFtZXNwYWNlIG9mCit0aGUgdGFyZ2V0IHByb2Nlc3MuCitJZgorLkkgZmlsZQoraXMgc3BlY2lmaWVkLCBlbnRlciB0aGUgY2dyb3VwIG5hbWVzcGFjZSBzcGVjaWZpZWQgYnkKKy5JUiBmaWxlIC4KKy5UUAorXGZCXC1HXGZSLCBcZkJcLVwtc2V0Z2lkXGZSIFxmSWdpZFxmUgorU2V0IHRoZSBncm91cCBJRCB3aGljaCB3aWxsIGJlIHVzZWQgaW4gdGhlIGVudGVyZWQgbmFtZXNwYWNlIGFuZCBkcm9wCitzdXBwbGVtZW50YXJ5IGdyb3Vwcy4KKy5CUiBuc2VudGVyICgxKQorYWx3YXlzIHNldHMgR0lEIGZvciB1c2VyIG5hbWVzcGFjZXMsIHRoZSBkZWZhdWx0IGlzIDAuCisuVFAKK1xmQlwtU1xmUiwgXGZCXC1cLXNldHVpZFxmUiBcZkl1aWRcZlIKK1NldCB0aGUgdXNlciBJRCB3aGljaCB3aWxsIGJlIHVzZWQgaW4gdGhlIGVudGVyZWQgbmFtZXNwYWNlLgorLkJSIG5zZW50ZXIgKDEpCithbHdheXMgc2V0cyBVSUQgZm9yIHVzZXIgbmFtZXNwYWNlcywgdGhlIGRlZmF1bHQgaXMgMC4KKy5UUAorXGZCXC1cLXByZXNlcnZlXC1jcmVkZW50aWFsc1xmUgorRG9uJ3QgbW9kaWZ5IFVJRCBhbmQgR0lEIHdoZW4gZW50ZXIgdXNlciBuYW1lc3BhY2UuIFRoZSBkZWZhdWx0IGlzIHRvCitkcm9wcyBzdXBwbGVtZW50YXJ5IGdyb3VwcyBhbmQgc2V0cyBHSUQgYW5kIFVJRCB0byAwLgorLlRQCitcZkJcLXJcZlIsIFxmQlwtXC1yb290XGZSWz1cZklkaXJlY3RvcnlcZlJdCitTZXQgdGhlIHJvb3QgZGlyZWN0b3J5LiAgSWYgbm8gZGlyZWN0b3J5IGlzIHNwZWNpZmllZCwgc2V0IHRoZSByb290IGRpcmVjdG9yeSB0bwordGhlIHJvb3QgZGlyZWN0b3J5IG9mIHRoZSB0YXJnZXQgcHJvY2Vzcy4gIElmIGRpcmVjdG9yeSBpcyBzcGVjaWZpZWQsIHNldCB0aGUKK3Jvb3QgZGlyZWN0b3J5IHRvIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LgorLlRQCitcZkJcLXdcZlIsIFxmQlwtXC13ZFxmUls9XGZJZGlyZWN0b3J5XGZSXQorU2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeS4gIElmIG5vIGRpcmVjdG9yeSBpcyBzcGVjaWZpZWQsIHNldCB0aGUgd29ya2luZworZGlyZWN0b3J5IHRvIHRoZSB3b3JraW5nIGRpcmVjdG9yeSBvZiB0aGUgdGFyZ2V0IHByb2Nlc3MuICBJZiBkaXJlY3RvcnkgaXMKK3NwZWNpZmllZCwgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeSB0byB0aGUgc3BlY2lmaWVkIGRpcmVjdG9yeS4KKy5UUAorXGZCXC1GXGZSLCBcZkJcLVwtbm9cLWZvcmtcZlIKK0RvIG5vdCBmb3JrIGJlZm9yZSBleGVjJ2luZyB0aGUgc3BlY2lmaWVkIHByb2dyYW0uICBCeSBkZWZhdWx0LCB3aGVuIGVudGVyaW5nIGEKK1BJRCBuYW1lc3BhY2UsIFxmQm5zZW50ZXJcZlAgY2FsbHMgXGZCZm9ya1xmUCBiZWZvcmUgY2FsbGluZyBcZkJleGVjXGZQIHNvIHRoYXQKK2FueSBjaGlsZHJlbiB3aWxsIGFsc28gYmUgaW4gdGhlIG5ld2x5IGVudGVyZWQgUElEIG5hbWVzcGFjZS4KKy5UUAorXGZCXC1aXGZSLCBcZkJcLVwtZm9sbG93XC1jb250ZXh0XGZSCitTZXQgdGhlIFNFTGludXggc2VjdXJpdHkgY29udGV4dCB1c2VkIGZvciBleGVjdXRpbmcgYSBuZXcgcHJvY2VzcyBhY2NvcmRpbmcgdG8KK2FscmVhZHkgcnVubmluZyBwcm9jZXNzIHNwZWNpZmllZCBieSBcZkJcLVwtdGFyZ2V0XGZSIFBJRC4gKFRoZSB1dGlsLWxpbnV4IGhhcwordG8gYmUgY29tcGlsZWQgd2l0aCBTRUxpbnV4IHN1cHBvcnQgb3RoZXJ3aXNlIHRoZSBvcHRpb24gaXMgdW5hdmFpbGFibGUuKQorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIFNFRSBBTFNPCisuQlIgY2xvbmUgKDIpLAorLkJSIHNldG5zICgyKSwKKy5CUiBuYW1lc3BhY2VzICg3KQorLlNIIEFVVEhPUlMKKy5VUiBiaWVkZXJtQHhtaXNzaW9uLmNvbQorRXJpYyBCaWVkZXJtYW4KKy5VRQorLmJyCisuVVIga3pha0ByZWRoYXQuY29tCitLYXJlbCBaYWsKKy5VRQorLlNIIEFWQUlMQUJJTElUWQorVGhlIG5zZW50ZXIgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9uc2VudGVyLmMgYi9zeXMtdXRpbHMvbnNlbnRlci5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiZmNmOTgKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvbnNlbnRlci5jCkBAIC0wLDAgKzEsNDg0IEBACisvKgorICogbnNlbnRlcigxKSAtIGNvbW1hbmQtbGluZSBpbnRlcmZhY2UgZm9yIHNldG5zKDIpCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEyLTIwMTMgRXJpYyBCaWVkZXJtYW4gPGViaWVkZXJtQHhtaXNzaW9uLmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IHZlcnNpb24gMi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwgYnV0CisgKiBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzY2hlZC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RkYm9vbC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8Z3JwLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorIyBpbmNsdWRlIDxzZWxpbnV4L3NlbGludXguaD4KKyNlbmRpZgorCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJuYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJleGVjX3NoZWxsLmgiCisKK3N0YXRpYyBzdHJ1Y3QgbmFtZXNwYWNlX2ZpbGUgeworCWludCBuc3R5cGU7CisJY29uc3QgY2hhciAqbmFtZTsKKwlpbnQgZmQ7Cit9IG5hbWVzcGFjZV9maWxlc1tdID0geworCS8qIENhcmVmdWwgdGhlIG9yZGVyIGlzIHNpZ25pZmljYW50IGluIHRoaXMgYXJyYXkuCisJICoKKwkgKiBUaGUgdXNlciBuYW1lc3BhY2UgY29tZXMgZWl0aGVyIGZpcnN0IG9yIGxhc3Q6IGZpcnN0IGlmCisJICogeW91J3JlIHVzaW5nIGl0IHRvIGluY3JlYXNlIHlvdXIgcHJpdmlsZWdlIGFuZCBsYXN0IGlmCisJICogeW91J3JlIHVzaW5nIGl0IHRvIGRlY3JlYXNlLiAgV2UgZW50ZXIgdGhlIG5hbWVzcGFjZXMgaW4KKwkgKiB0d28gcGFzc2VzIHN0YXJ0aW5nIGluaXRpYWxseSBmcm9tIG9mZnNldCAxIGFuZCB0aGVuIG9mZnNldAorCSAqIDAgaWYgdGhhdCBmYWlscy4KKwkgKi8KKwl7IC5uc3R5cGUgPSBDTE9ORV9ORVdVU0VSLCAgLm5hbWUgPSAibnMvdXNlciIsIC5mZCA9IC0xIH0sCisJeyAubnN0eXBlID0gQ0xPTkVfTkVXQ0dST1VQLC5uYW1lID0gIm5zL2Nncm91cCIsIC5mZCA9IC0xIH0sCisJeyAubnN0eXBlID0gQ0xPTkVfTkVXSVBDLCAgIC5uYW1lID0gIm5zL2lwYyIsICAuZmQgPSAtMSB9LAorCXsgLm5zdHlwZSA9IENMT05FX05FV1VUUywgICAubmFtZSA9ICJucy91dHMiLCAgLmZkID0gLTEgfSwKKwl7IC5uc3R5cGUgPSBDTE9ORV9ORVdORVQsICAgLm5hbWUgPSAibnMvbmV0IiwgIC5mZCA9IC0xIH0sCisJeyAubnN0eXBlID0gQ0xPTkVfTkVXUElELCAgIC5uYW1lID0gIm5zL3BpZCIsICAuZmQgPSAtMSB9LAorCXsgLm5zdHlwZSA9IENMT05FX05FV05TLCAgICAubmFtZSA9ICJucy9tbnQiLCAgLmZkID0gLTEgfSwKKwl7IC5uc3R5cGUgPSAwLCAubmFtZSA9IE5VTEwsIC5mZCA9IC0xIH0KK307CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJSdW4gYSBwcm9ncmFtIHdpdGggbmFtZXNwYWNlcyBvZiBvdGhlciBwcm9jZXNzZXMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZW50ZXIgYWxsIG5hbWVzcGFjZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10YXJnZXQgPHBpZD4gICAgIHRhcmdldCBwcm9jZXNzIHRvIGdldCBuYW1lc3BhY2VzIGZyb21cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgIGVudGVyIG1vdW50IG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgZW50ZXIgVVRTIG5hbWVzcGFjZSAoaG9zdG5hbWUgZXRjKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlwY1s9PGZpbGU+XSAgICAgZW50ZXIgU3lzdGVtIFYgSVBDIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLW5ldFs9PGZpbGU+XSAgICAgZW50ZXIgbmV0d29yayBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgIGVudGVyIHBpZCBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtQywgLS1jZ3JvdXBbPTxmaWxlPl0gIGVudGVyIGNncm91cCBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtVSwgLS11c2VyWz08ZmlsZT5dICAgIGVudGVyIHVzZXIgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVMsIC0tc2V0dWlkIDx1aWQ+ICAgICBzZXQgdWlkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUcsIC0tc2V0Z2lkIDxnaWQ+ICAgICBzZXQgZ2lkIGluIGVudGVyZWQgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tcHJlc2VydmUtY3JlZGVudGlhbHMgZG8gbm90IHRvdWNoIHVpZHMgb3IgZ2lkc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJvb3RbPTxkaXI+XSAgICAgc2V0IHRoZSByb290IGRpcmVjdG9yeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC13LCAtLXdkWz08ZGlyPl0gICAgICAgc2V0IHRoZSB3b3JraW5nIGRpcmVjdG9yeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1GLCAtLW5vLWZvcmsgICAgICAgICAgZG8gbm90IGZvcmsgYmVmb3JlIGV4ZWMnaW5nIDxwcm9ncmFtPlxuIiksIG91dCk7CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJZnB1dHMoXygiIC1aLCAtLWZvbGxvdy1jb250ZXh0ICAgc2V0IFNFTGludXggY29udGV4dCBhY2NvcmRpbmcgdG8gLS10YXJnZXQgUElEXG4iKSwgb3V0KTsKKyNlbmRpZgorCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjQpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoIm5zZW50ZXIoMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBwaWRfdCBuYW1lc3BhY2VfdGFyZ2V0X3BpZCA9IDA7CitzdGF0aWMgaW50IHJvb3RfZmQgPSAtMTsKK3N0YXRpYyBpbnQgd2RfZmQgPSAtMTsKKworc3RhdGljIHZvaWQgb3Blbl90YXJnZXRfZmQoaW50ICpmZCwgY29uc3QgY2hhciAqdHlwZSwgY29uc3QgY2hhciAqcGF0aCkKK3sKKwljaGFyIHBhdGhidWZbUEFUSF9NQVhdOworCisJaWYgKCFwYXRoICYmIG5hbWVzcGFjZV90YXJnZXRfcGlkKSB7CisJCXNucHJpbnRmKHBhdGhidWYsIHNpemVvZihwYXRoYnVmKSwgIi9wcm9jLyV1LyVzIiwKKwkJCSBuYW1lc3BhY2VfdGFyZ2V0X3BpZCwgdHlwZSk7CisJCXBhdGggPSBwYXRoYnVmOworCX0KKwlpZiAoIXBhdGgpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkgICAgIF8oIm5laXRoZXIgZmlsZW5hbWUgbm9yIHRhcmdldCBwaWQgc3VwcGxpZWQgZm9yICVzIiksCisJCSAgICAgdHlwZSk7CisKKwlpZiAoKmZkID49IDApCisJCWNsb3NlKCpmZCk7CisKKwkqZmQgPSBvcGVuKHBhdGgsIE9fUkRPTkxZKTsKKwlpZiAoKmZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgcGF0aCk7Cit9CisKK3N0YXRpYyB2b2lkIG9wZW5fbmFtZXNwYWNlX2ZkKGludCBuc3R5cGUsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IG5hbWVzcGFjZV9maWxlICpuc2ZpbGU7CisKKwlmb3IgKG5zZmlsZSA9IG5hbWVzcGFjZV9maWxlczsgbnNmaWxlLT5uc3R5cGU7IG5zZmlsZSsrKSB7CisJCWlmIChuc3R5cGUgIT0gbnNmaWxlLT5uc3R5cGUpCisJCQljb250aW51ZTsKKworCQlvcGVuX3RhcmdldF9mZCgmbnNmaWxlLT5mZCwgbnNmaWxlLT5uYW1lLCBwYXRoKTsKKwkJcmV0dXJuOworCX0KKwkvKiBUaGlzIHNob3VsZCBuZXZlciBoYXBwZW4gKi8KKwlhc3NlcnQobnNmaWxlLT5uc3R5cGUpOworfQorCitzdGF0aWMgaW50IGdldF9uc19pbm8oY29uc3QgY2hhciAqcGF0aCwgaW5vX3QgKmlubykKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKworCWlmIChzdGF0KHBhdGgsICZzdCkgIT0gMCkKKwkJcmV0dXJuIC1lcnJubzsKKwkqaW5vID0gc3Quc3RfaW5vOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGlzX3NhbWVfbmFtZXNwYWNlKHBpZF90IGEsIHBpZF90IGIsIGNvbnN0IGNoYXIgKnR5cGUpCit7CisJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwlpbm9fdCBhX2lubyA9IDAsIGJfaW5vID0gMDsKKworCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9wcm9jLyV1LyVzIiwgYSwgdHlwZSk7CisJaWYgKGdldF9uc19pbm8ocGF0aCwgJmFfaW5vKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBwYXRoKTsKKworCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9wcm9jLyV1LyVzIiwgYiwgdHlwZSk7CisJaWYgKGdldF9uc19pbm8ocGF0aCwgJmJfaW5vKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBwYXRoKTsKKworCXJldHVybiBhX2lubyA9PSBiX2lubzsKK30KKworc3RhdGljIHZvaWQgY29udGludWVfYXNfY2hpbGQodm9pZCkKK3sKKwlwaWRfdCBjaGlsZCA9IGZvcmsoKTsKKwlpbnQgc3RhdHVzOworCXBpZF90IHJldDsKKworCWlmIChjaGlsZCA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZvcmsgZmFpbGVkIikpOworCisJLyogT25seSB0aGUgY2hpbGQgcmV0dXJucyAqLworCWlmIChjaGlsZCA9PSAwKQorCQlyZXR1cm47CisKKwlmb3IgKDs7KSB7CisJCXJldCA9IHdhaXRwaWQoY2hpbGQsICZzdGF0dXMsIFdVTlRSQUNFRCk7CisJCWlmICgocmV0ID09IGNoaWxkKSAmJiAoV0lGU1RPUFBFRChzdGF0dXMpKSkgeworCQkJLyogVGhlIGNoaWxkIHN1c3BlbmRlZCBzbyBzdXNwZW5kIHVzIGFzIHdlbGwgKi8KKwkJCWtpbGwoZ2V0cGlkKCksIFNJR1NUT1ApOworCQkJa2lsbChjaGlsZCwgU0lHQ09OVCk7CisJCX0gZWxzZSB7CisJCQlicmVhazsKKwkJfQorCX0KKwkvKiBSZXR1cm4gdGhlIGNoaWxkJ3MgZXhpdCBjb2RlIGlmIHBvc3NpYmxlICovCisJaWYgKFdJRkVYSVRFRChzdGF0dXMpKSB7CisJCWV4aXQoV0VYSVRTVEFUVVMoc3RhdHVzKSk7CisJfSBlbHNlIGlmIChXSUZTSUdOQUxFRChzdGF0dXMpKSB7CisJCWtpbGwoZ2V0cGlkKCksIFdURVJNU0lHKHN0YXR1cykpOworCX0KKwlleGl0KEVYSVRfRkFJTFVSRSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJZW51bSB7CisJCU9QVF9QUkVTRVJWRV9DUkVEID0gQ0hBUl9NQVggKyAxCisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhbGwiLCBub19hcmd1bWVudCwgTlVMTCwgJ2EnIH0sCisJCXsgImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnIH0sCisJCXsgInZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyAidGFyZ2V0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0JyB9LAorCQl7ICJtb3VudCIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnbScgfSwKKwkJeyAidXRzIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICd1JyB9LAorCQl7ICJpcGMiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ2knIH0sCisJCXsgIm5ldCIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkJeyAicGlkIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdwJyB9LAorCQl7ICJ1c2VyIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdVJyB9LAorCQl7ICJjZ3JvdXAiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ0MnIH0sCisJCXsgInNldHVpZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUycgfSwKKwkJeyAic2V0Z2lkIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdHJyB9LAorCQl7ICJyb290Iiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdyJyB9LAorCQl7ICJ3ZCIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndycgfSwKKwkJeyAibm8tZm9yayIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnRicgfSwKKwkJeyAicHJlc2VydmUtY3JlZGVudGlhbHMiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1BSRVNFUlZFX0NSRUQgfSwKKyNpZmRlZiBIQVZFX0xJQlNFTElOVVgKKwkJeyAiZm9sbG93LWNvbnRleHQiLCBub19hcmd1bWVudCwgTlVMTCwgJ1onIH0sCisjZW5kaWYKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RydWN0IG5hbWVzcGFjZV9maWxlICpuc2ZpbGU7CisJaW50IGMsIHBhc3MsIG5hbWVzcGFjZXMgPSAwLCBzZXRncm91cHNfbmVycnMgPSAwLCBwcmVzZXJ2ZV9jcmVkID0gMDsKKwlib29sIGRvX3JkID0gZmFsc2UsIGRvX3dkID0gZmFsc2UsIGZvcmNlX3VpZCA9IGZhbHNlLCBmb3JjZV9naWQgPSBmYWxzZTsKKwlib29sIGRvX2FsbCA9IGZhbHNlOworCWludCBkb19mb3JrID0gLTE7IC8qIHVua25vd24geWV0ICovCisJdWlkX3QgdWlkID0gMDsKKwlnaWRfdCBnaWQgPSAwOworI2lmZGVmIEhBVkVfTElCU0VMSU5VWAorCWJvb2wgc2VsaW51eCA9IDA7CisjZW5kaWYKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPQorCQlnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiK2FoVnQ6bTo6dTo6aTo6bjo6cDo6Qzo6VTo6UzpHOnI6Onc6OkZaIiwKKwkJCSAgICBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdhJzoKKwkJCWRvX2FsbCA9IHRydWU7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQluYW1lc3BhY2VfdGFyZ2V0X3BpZCA9CisJCQkgICAgc3RydG91bF9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgcGlkIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ20nOgorCQkJaWYgKG9wdGFyZykKKwkJCQlvcGVuX25hbWVzcGFjZV9mZChDTE9ORV9ORVdOUywgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQluYW1lc3BhY2VzIHw9IENMT05FX05FV05TOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJaWYgKG9wdGFyZykKKwkJCQlvcGVuX25hbWVzcGFjZV9mZChDTE9ORV9ORVdVVFMsIG9wdGFyZyk7CisJCQllbHNlCisJCQkJbmFtZXNwYWNlcyB8PSBDTE9ORV9ORVdVVFM7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlpZiAob3B0YXJnKQorCQkJCW9wZW5fbmFtZXNwYWNlX2ZkKENMT05FX05FV0lQQywgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQluYW1lc3BhY2VzIHw9IENMT05FX05FV0lQQzsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCWlmIChvcHRhcmcpCisJCQkJb3Blbl9uYW1lc3BhY2VfZmQoQ0xPTkVfTkVXTkVULCBvcHRhcmcpOworCQkJZWxzZQorCQkJCW5hbWVzcGFjZXMgfD0gQ0xPTkVfTkVXTkVUOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJaWYgKG9wdGFyZykKKwkJCQlvcGVuX25hbWVzcGFjZV9mZChDTE9ORV9ORVdQSUQsIG9wdGFyZyk7CisJCQllbHNlCisJCQkJbmFtZXNwYWNlcyB8PSBDTE9ORV9ORVdQSUQ7CisJCQlicmVhazsKKwkJY2FzZSAnQyc6CisJCQlpZiAob3B0YXJnKQorCQkJCW9wZW5fbmFtZXNwYWNlX2ZkKENMT05FX05FV0NHUk9VUCwgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQluYW1lc3BhY2VzIHw9IENMT05FX05FV0NHUk9VUDsKKwkJCWJyZWFrOworCQljYXNlICdVJzoKKwkJCWlmIChvcHRhcmcpCisJCQkJb3Blbl9uYW1lc3BhY2VfZmQoQ0xPTkVfTkVXVVNFUiwgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQluYW1lc3BhY2VzIHw9IENMT05FX05FV1VTRVI7CisJCQlicmVhazsKKwkJY2FzZSAnUyc6CisJCQl1aWQgPSBzdHJ0b3VsX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSB1aWQiKSk7CisJCQlmb3JjZV91aWQgPSB0cnVlOworCQkJYnJlYWs7CisJCWNhc2UgJ0cnOgorCQkJZ2lkID0gc3RydG91bF9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgZ2lkIikpOworCQkJZm9yY2VfZ2lkID0gdHJ1ZTsKKwkJCWJyZWFrOworCQljYXNlICdGJzoKKwkJCWRvX2ZvcmsgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJaWYgKG9wdGFyZykKKwkJCQlvcGVuX3RhcmdldF9mZCgmcm9vdF9mZCwgInJvb3QiLCBvcHRhcmcpOworCQkJZWxzZQorCQkJCWRvX3JkID0gdHJ1ZTsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWlmIChvcHRhcmcpCisJCQkJb3Blbl90YXJnZXRfZmQoJndkX2ZkLCAiY3dkIiwgb3B0YXJnKTsKKwkJCWVsc2UKKwkJCQlkb193ZCA9IHRydWU7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUFJFU0VSVkVfQ1JFRDoKKwkJCXByZXNlcnZlX2NyZWQgPSAxOworCQkJYnJlYWs7CisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJCWNhc2UgJ1onOgorCQkJc2VsaW51eCA9IDE7CisJCQlicmVhazsKKyNlbmRpZgorCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisjaWZkZWYgSEFWRV9MSUJTRUxJTlVYCisJaWYgKHNlbGludXggJiYgaXNfc2VsaW51eF9lbmFibGVkKCkgPiAwKSB7CisJCWNoYXIgKnNjb24gPSBOVUxMOworCisJCWlmICghbmFtZXNwYWNlX3RhcmdldF9waWQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gdGFyZ2V0IFBJRCBzcGVjaWZpZWQgZm9yIC0tZm9sbG93LWNvbnRleHQiKSk7CisJCWlmIChnZXRwaWRjb24obmFtZXNwYWNlX3RhcmdldF9waWQsICZzY29uKSA8IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGdldCAlZCBTRUxpbnV4IGNvbnRleHQiKSwKKwkJCQkJKGludCkgbmFtZXNwYWNlX3RhcmdldF9waWQpOworCQlpZiAoc2V0ZXhlY2NvbihzY29uKSA8IDApCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIHNldCBleGVjIGNvbnRleHQgdG8gJyVzJyIpLCBzY29uKTsKKwkJZnJlZWNvbihzY29uKTsKKwl9CisjZW5kaWYKKworCWlmIChkb19hbGwpIHsKKwkJaWYgKCFuYW1lc3BhY2VfdGFyZ2V0X3BpZCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyB0YXJnZXQgUElEIHNwZWNpZmllZCBmb3IgLS1hbGwiKSk7CisJCWZvciAobnNmaWxlID0gbmFtZXNwYWNlX2ZpbGVzOyBuc2ZpbGUtPm5zdHlwZTsgbnNmaWxlKyspIHsKKwkJCWlmIChuc2ZpbGUtPmZkID49IDApCisJCQkJY29udGludWU7CS8qIG5hbWVzcGFjZSBhbHJlYWR5IHNwZWNpZmllZCAqLworCisJCQkvKiBJdCBpcyBub3QgcGVybWl0dGVkIHRvIHVzZSBzZXRucygyKSB0byByZWVudGVyIHRoZSBjYWxsZXIncworCQkJICogY3VycmVudCB1c2VyIG5hbWVzcGFjZTsgc2VlIHNldG5zKDIpIG1hbiBwYWdlIGZvciBtb3JlIGRldGFpbHMuCisJCQkgKi8KKwkJCWlmIChuc2ZpbGUtPm5zdHlwZSAmIENMT05FX05FV1VTRVIKKwkJCSAgICAmJiBpc19zYW1lX25hbWVzcGFjZShnZXRwaWQoKSwgbmFtZXNwYWNlX3RhcmdldF9waWQsIG5zZmlsZS0+bmFtZSkpCisJCQkJY29udGludWU7CisKKwkJCW5hbWVzcGFjZXMgfD0gbnNmaWxlLT5uc3R5cGU7CisJCX0KKwl9CisKKwkvKgorCSAqIE9wZW4gcmVtYWluaW5nIG5hbWVzcGFjZSBhbmQgZGlyZWN0b3J5IGRlc2NyaXB0b3JzLgorCSAqLworCWZvciAobnNmaWxlID0gbmFtZXNwYWNlX2ZpbGVzOyBuc2ZpbGUtPm5zdHlwZTsgbnNmaWxlKyspCisJCWlmIChuc2ZpbGUtPm5zdHlwZSAmIG5hbWVzcGFjZXMpCisJCQlvcGVuX25hbWVzcGFjZV9mZChuc2ZpbGUtPm5zdHlwZSwgTlVMTCk7CisJaWYgKGRvX3JkKQorCQlvcGVuX3RhcmdldF9mZCgmcm9vdF9mZCwgInJvb3QiLCBOVUxMKTsKKwlpZiAoZG9fd2QpCisJCW9wZW5fdGFyZ2V0X2ZkKCZ3ZF9mZCwgImN3ZCIsIE5VTEwpOworCisJLyoKKwkgKiBVcGRhdGUgbmFtZXNwYWNlcyB2YXJpYWJsZSB0byBjb250YWluIGFsbCByZXF1ZXN0ZWQgbmFtZXNwYWNlcworCSAqLworCWZvciAobnNmaWxlID0gbmFtZXNwYWNlX2ZpbGVzOyBuc2ZpbGUtPm5zdHlwZTsgbnNmaWxlKyspIHsKKwkJaWYgKG5zZmlsZS0+ZmQgPCAwKQorCQkJY29udGludWU7CisJCW5hbWVzcGFjZXMgfD0gbnNmaWxlLT5uc3R5cGU7CisJfQorCisJLyogZm9yIHVzZXIgbmFtZXNwYWNlcyB3ZSBhbHdheXMgc2V0IFVJRCBhbmQgR0lEIChkZWZhdWx0IGlzIDApCisJICogYW5kIGNsZWFyIHJvb3QncyBncm91cHMgaWYgLS1wcmVzZXJ2ZS1jcmVkZW50aWFscyBpcyBubyBzcGVjaWZpZWQgKi8KKwlpZiAoKG5hbWVzcGFjZXMgJiBDTE9ORV9ORVdVU0VSKSAmJiAhcHJlc2VydmVfY3JlZCkgeworCQlmb3JjZV91aWQgPSB0cnVlLCBmb3JjZV9naWQgPSB0cnVlOworCisJCS8qIFdlIGNhbGwgc2V0Z3JvdXBzKCkgYmVmb3JlIGFuZCBhZnRlciB3ZSBlbnRlciB1c2VyIG5hbWVzcGFjZSwKKwkJICogbGV0J3MgY29tcGxhaW4gb25seSBpZiBib3RoIGZhaWwgKi8KKwkJaWYgKHNldGdyb3VwcygwLCBOVUxMKSAhPSAwKQorCQkJc2V0Z3JvdXBzX25lcnJzKys7CisJfQorCisJLyoKKwkgKiBOb3cgdGhhdCB3ZSBrbm93IHdoaWNoIG5hbWVzcGFjZXMgd2Ugd2FudCB0byBlbnRlciwgZW50ZXIKKwkgKiB0aGVtLiAgRG8gdGhpcyBpbiB0d28gcGFzc2VzLCBub3QgZW50ZXJpbmcgdGhlIHVzZXIKKwkgKiBuYW1lc3BhY2Ugb24gdGhlIGZpcnN0IHBhc3MuICBTbyBpZiB3ZSdyZSBkZXByaXZpbGVnaW5nIHRoZQorCSAqIGNvbnRhaW5lciB3ZSdsbCBlbnRlciB0aGUgdXNlciBuYW1lc3BhY2UgbGFzdCBhbmQgaWYgd2UncmUKKwkgKiBwcml2aWxlZ2luZyBpdCB0aGVuIHdlIGVudGVyIHRoZSB1c2VyIG5hbWVzcGFjZSBmaXJzdAorCSAqIChiZWNhdXNlIHRoZSBpbml0aWFsIHNldG5zIHdpbGwgZmFpbCkuCisJICovCisJZm9yIChwYXNzID0gMDsgcGFzcyA8IDI7IHBhc3MgKyspIHsKKwkJZm9yIChuc2ZpbGUgPSBuYW1lc3BhY2VfZmlsZXMgKyAxIC0gcGFzczsgbnNmaWxlLT5uc3R5cGU7IG5zZmlsZSsrKSB7CisJCQlpZiAobnNmaWxlLT5mZCA8IDApCisJCQkJY29udGludWU7CisJCQlpZiAobnNmaWxlLT5uc3R5cGUgPT0gQ0xPTkVfTkVXUElEICYmIGRvX2ZvcmsgPT0gLTEpCisJCQkJZG9fZm9yayA9IDE7CisJCQlpZiAoc2V0bnMobnNmaWxlLT5mZCwgbnNmaWxlLT5uc3R5cGUpKSB7CisJCQkJaWYgKHBhc3MgIT0gMCkKKwkJCQkJZXJyKEVYSVRfRkFJTFVSRSwKKwkJCQkJICAgIF8oInJlYXNzb2NpYXRlIHRvIG5hbWVzcGFjZSAnJXMnIGZhaWxlZCIpLAorCQkJCQkgICAgbnNmaWxlLT5uYW1lKTsKKwkJCQllbHNlCisJCQkJCWNvbnRpbnVlOworCQkJfQorCisJCQljbG9zZShuc2ZpbGUtPmZkKTsKKwkJCW5zZmlsZS0+ZmQgPSAtMTsKKwkJfQorCX0KKworCS8qIFJlbWVtYmVyIHRoZSBjdXJyZW50IHdvcmtpbmcgZGlyZWN0b3J5IGlmIEknbSBub3QgY2hhbmdpbmcgaXQgKi8KKwlpZiAocm9vdF9mZCA+PSAwICYmIHdkX2ZkIDwgMCkgeworCQl3ZF9mZCA9IG9wZW4oIi4iLCBPX1JET05MWSk7CisJCWlmICh3ZF9mZCA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJICAgIF8oImNhbm5vdCBvcGVuIGN1cnJlbnQgd29ya2luZyBkaXJlY3RvcnkiKSk7CisJfQorCisJLyogQ2hhbmdlIHRoZSByb290IGRpcmVjdG9yeSAqLworCWlmIChyb290X2ZkID49IDApIHsKKwkJaWYgKGZjaGRpcihyb290X2ZkKSA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJICAgIF8oImNoYW5nZSBkaXJlY3RvcnkgYnkgcm9vdCBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIikpOworCisJCWlmIChjaHJvb3QoIi4iKSA8IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjaHJvb3QgZmFpbGVkIikpOworCisJCWNsb3NlKHJvb3RfZmQpOworCQlyb290X2ZkID0gLTE7CisJfQorCisJLyogQ2hhbmdlIHRoZSB3b3JraW5nIGRpcmVjdG9yeSAqLworCWlmICh3ZF9mZCA+PSAwKSB7CisJCWlmIChmY2hkaXIod2RfZmQpIDwgMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsCisJCQkgICAgXygiY2hhbmdlIGRpcmVjdG9yeSBieSB3b3JraW5nIGRpcmVjdG9yeSBmaWxlIGRlc2NyaXB0b3IgZmFpbGVkIikpOworCisJCWNsb3NlKHdkX2ZkKTsKKwkJd2RfZmQgPSAtMTsKKwl9CisKKwlpZiAoZG9fZm9yayA9PSAxKQorCQljb250aW51ZV9hc19jaGlsZCgpOworCisJaWYgKGZvcmNlX3VpZCB8fCBmb3JjZV9naWQpIHsKKwkJaWYgKGZvcmNlX2dpZCAmJiBzZXRncm91cHMoMCwgTlVMTCkgIT0gMCAmJiBzZXRncm91cHNfbmVycnMpCS8qIGRyb3Agc3VwcGxlbWVudGFyeSBncm91cHMgKi8KKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oInNldGdyb3VwcyBmYWlsZWQiKSk7CisJCWlmIChmb3JjZV9naWQgJiYgc2V0Z2lkKGdpZCkgPCAwKQkJLyogY2hhbmdlIEdJRCAqLworCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygic2V0Z2lkIGZhaWxlZCIpKTsKKwkJaWYgKGZvcmNlX3VpZCAmJiBzZXR1aWQodWlkKSA8IDApCQkvKiBjaGFuZ2UgVUlEICovCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZXR1aWQgZmFpbGVkIikpOworCX0KKworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCWV4ZWN2cChhcmd2W29wdGluZF0sIGFyZ3YgKyBvcHRpbmQpOworCQllcnJleGVjKGFyZ3Zbb3B0aW5kXSk7CisJfQorCWV4ZWNfc2hlbGwoKTsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9waXZvdF9yb290LjggYi9zeXMtdXRpbHMvcGl2b3Rfcm9vdC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZlYmVkZDAKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvcGl2b3Rfcm9vdC44CkBAIC0wLDAgKzEsNzUgQEAKKy5USCBQSVZPVF9ST09UIDggIkF1Z3VzdCAyMDExIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitwaXZvdF9yb290IFwtIGNoYW5nZSB0aGUgcm9vdCBmaWxlc3lzdGVtCisuU0ggU1lOT1BTSVMKKy5CIHBpdm90X3Jvb3QKKy5JIG5ld19yb290IHB1dF9vbGQKKy5TSCBERVNDUklQVElPTgorXGZCcGl2b3Rfcm9vdFxmUCBtb3ZlcyB0aGUgcm9vdCBmaWxlIHN5c3RlbSBvZiB0aGUgY3VycmVudCBwcm9jZXNzIHRvIHRoZQorZGlyZWN0b3J5IFxmSXB1dF9vbGRcZlAgYW5kIG1ha2VzIFxmSW5ld19yb290XGZQIHRoZSBuZXcgcm9vdCBmaWxlIHN5c3RlbS4KK1NpbmNlIFxmQnBpdm90X3Jvb3RcZlAoOCkgc2ltcGx5IGNhbGxzIFxmQnBpdm90X3Jvb3RcZlAoMiksIHdlIHJlZmVyIHRvCit0aGUgbWFuIHBhZ2Ugb2YgdGhlIGxhdHRlciBmb3IgZnVydGhlciBkZXRhaWxzLgorCitOb3RlIHRoYXQsIGRlcGVuZGluZyBvbiB0aGUgaW1wbGVtZW50YXRpb24gb2YgXGZCcGl2b3Rfcm9vdFxmUCwgcm9vdCBhbmQKK2N3ZCBvZiB0aGUgY2FsbGVyIG1heSBvciBtYXkgbm90IGNoYW5nZS4gVGhlIGZvbGxvd2luZyBpcyBhIHNlcXVlbmNlIGZvcgoraW52b2tpbmcgXGZCcGl2b3Rfcm9vdFxmUCB0aGF0IHdvcmtzIGluIGVpdGhlciBjYXNlLCBhc3N1bWluZyB0aGF0CitcZkJwaXZvdF9yb290XGZQIGFuZCBcZkJjaHJvb3RcZlAgYXJlIGluIHRoZSBjdXJyZW50IFxmQlBBVEhcZlA6Cisuc3AKK2NkIFxmSW5ld19yb290XGZQCisuYnIKK3Bpdm90X3Jvb3QgLiBcZklwdXRfb2xkXGZQCisuYnIKK2V4ZWMgY2hyb290IC4gXGZJY29tbWFuZFxmUAorLnNwCitOb3RlIHRoYXQgXGZCY2hyb290XGZQIG11c3QgYmUgYXZhaWxhYmxlIHVuZGVyIHRoZSBvbGQgcm9vdCBhbmQgdW5kZXIgdGhlIG5ldworcm9vdCwgYmVjYXVzZSBcZkJwaXZvdF9yb290XGZQIG1heSBvciBtYXkgbm90IGhhdmUgaW1wbGljaXRseSBjaGFuZ2VkIHRoZQorcm9vdCBkaXJlY3Rvcnkgb2YgdGhlIHNoZWxsLgorCitOb3RlIHRoYXQgXGZCZXhlYyBjaHJvb3RcZlAgY2hhbmdlcyB0aGUgcnVubmluZyBleGVjdXRhYmxlLCB3aGljaCBpcworbmVjZXNzYXJ5IGlmIHRoZSBvbGQgcm9vdCBkaXJlY3Rvcnkgc2hvdWxkIGJlIHVubW91bnRlZCBhZnRlcndhcmRzLgorQWxzbyBub3RlIHRoYXQgc3RhbmRhcmQgaW5wdXQsIG91dHB1dCwgYW5kIGVycm9yIG1heSBzdGlsbCBwb2ludCB0byBhCitkZXZpY2Ugb24gdGhlIG9sZCByb290IGZpbGUgc3lzdGVtLCBrZWVwaW5nIGl0IGJ1c3kuIFRoZXkgY2FuIGVhc2lseSBiZQorY2hhbmdlZCB3aGVuIGludm9raW5nIFxmQmNocm9vdFxmUCAoc2VlIGJlbG93OyBub3RlIHRoZSBhYnNlbmNlIG9mCitsZWFkaW5nIHNsYXNoZXMgdG8gbWFrZSBpdCB3b3JrIHdoZXRoZXIgXGZCcGl2b3Rfcm9vdFxmUCBoYXMgY2hhbmdlZCB0aGUKK3NoZWxsJ3Mgcm9vdCBvciBub3QpLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFWEFNUExFUworQ2hhbmdlIHRoZSByb290IGZpbGUgc3lzdGVtIHRvIC9kZXYvaGRhMSBmcm9tIGFuIGludGVyYWN0aXZlIHNoZWxsOgorLnNwCisubmYKK21vdW50IC9kZXYvaGRhMSAvbmV3LXJvb3QKK2NkIC9uZXctcm9vdAorcGl2b3Rfcm9vdCAuIG9sZC1yb290CitleGVjIGNocm9vdCAuIHNoIDxkZXYvY29uc29sZSA+ZGV2L2NvbnNvbGUgMj4mMQordW1vdW50IC9vbGQtcm9vdAorLmZpCisuc3AKK01vdW50IHRoZSBuZXcgcm9vdCBmaWxlIHN5c3RlbSBvdmVyIE5GUyBmcm9tIDEwLjAuMC4xOi9teV9yb290IGFuZCBydW4KK1xmQmluaXRcZlA6Cisuc3AKKy5uZgoraWZjb25maWcgbG8gMTI3LjAuMC4xIHVwICAgIyBmb3IgcG9ydG1hcAorIyBjb25maWd1cmUgRXRoZXJuZXQgb3Igc3VjaAorcG9ydG1hcCAgICMgZm9yIGxvY2tkIChpbXBsaWNpdGx5IHN0YXJ0ZWQgYnkgbW91bnQpCittb3VudCAtbyBybyAxMC4wLjAuMTovbXlfcm9vdCAvbW50CitraWxsYWxsIHBvcnRtYXAgICAjIHBvcnRtYXAga2VlcHMgb2xkIHJvb3QgYnVzeQorY2QgL21udAorcGl2b3Rfcm9vdCAuIG9sZF9yb290CitleGVjIGNocm9vdCAuIHNoIC1jICd1bW91bnQgL29sZF9yb290OyBleGVjIC9zYmluL2luaXQnIFxcCisgIDxkZXYvY29uc29sZSA+ZGV2L2NvbnNvbGUgMj4mMQorLmZpCisuU0ggIlNFRSBBTFNPIgorLkJSIGNocm9vdCAoMSksCisuQlIgcGl2b3Rfcm9vdCAoMiksCisuQlIgbW91bnQgKDgpLAorLkJSIHN3aXRjaF9yb290ICg4KSwKKy5CUiB1bW91bnQgKDgpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgcGl2b3Rfcm9vdCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3Bpdm90X3Jvb3QuYyBiL3N5cy11dGlscy9waXZvdF9yb290LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWE3NmQ5NAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9waXZvdF9yb290LmMKQEAgLTAsMCArMSw4MCBAQAorLyoKKyAqIHBpdm90X3Jvb3QuYyAtIENoYW5nZSB0aGUgcm9vdCBmaWxlIHN5c3RlbQorICoKKyAqIENvcHlyaWdodCAoQykgMjAwMCBXZXJuZXIgQWxtZXNiZXJnZXIKKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKyNpbmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3lzL3N5c2NhbGwuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lIHBpdm90X3Jvb3QobmV3X3Jvb3QscHV0X29sZCkgc3lzY2FsbChTWVNfcGl2b3Rfcm9vdCxuZXdfcm9vdCxwdXRfb2xkKQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gbmV3X3Jvb3QgcHV0X29sZFxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJDaGFuZ2UgdGhlIHJvb3QgZmlsZXN5c3RlbS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDE2KSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJwaXZvdF9yb290KDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjaDsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaCAoY2gpIHsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJaWYgKGFyZ2MgIT0gMykgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisJaWYgKHBpdm90X3Jvb3QoYXJndlsxXSwgYXJndlsyXSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gY2hhbmdlIHJvb3QgZnJvbSBgJXMnIHRvIGAlcyciKSwKKwkJICAgIGFyZ3ZbMV0sIGFyZ3ZbMl0pOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9wcmxpbWl0LjEgYi9zeXMtdXRpbHMvcHJsaW1pdC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyMzBiM2EKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvcHJsaW1pdC4xCkBAIC0wLDAgKzEsMTIwIEBACisuXCIgcHJsaW1pdC4xIC0tCisuXCIgQ29weXJpZ2h0IDIwMTEgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisuXCIgTWF5IGJlIGRpc3RyaWJ1dGVkIHVuZGVyIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorCisuVEggUFJMSU1JVCAxICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitwcmxpbWl0IFwtIGdldCBhbmQgc2V0IHByb2Nlc3MgcmVzb3VyY2UgbGltaXRzCisuU0ggU1lOT1BTSVMKKy5CUiBwcmxpbWl0ICIgW29wdGlvbnNdIgorLlJCIFsgXC1cLVxmSXJlc291cmNlXGZSIFsgPVxmSWxpbWl0c1xmUl0KKy5SQiBbIFwtXC1waWRcIFxmSVBJRFxmUl0KKworLkJSIHBybGltaXQgIiBbb3B0aW9uc10iCisuUkIgWyBcLVwtXGZJcmVzb3VyY2VcZlIgWyA9XGZJbGltaXRzXGZSXQorLklSICJjb21tYW5kICIgWyBhcmd1bWVudCAuLi5dCisKKy5TSCBERVNDUklQVElPTgorR2l2ZW4gYSBwcm9jZXNzIElEIGFuZCBvbmUgb3IgbW9yZSByZXNvdXJjZXMsIFxmQnBybGltaXRcZlAgdHJpZXMgdG8gcmV0cmlldmUKK2FuZC9vciBtb2RpZnkgdGhlIGxpbWl0cy4KKworV2hlbiBcZkljb21tYW5kXGZSIGlzIGdpdmVuLAorLkIgcHJsaW1pdAord2lsbCBydW4gdGhpcyBjb21tYW5kIHdpdGggdGhlIGdpdmVuIGFyZ3VtZW50cy4KKworVGhlIFxmSWxpbWl0c1xmUCBwYXJhbWV0ZXIgaXMgY29tcG9zZWQgb2YgYSBzb2Z0IGFuZCBhIGhhcmQgdmFsdWUsIHNlcGFyYXRlZAorYnkgYSBjb2xvbiAoOiksIGluIG9yZGVyIHRvIG1vZGlmeSB0aGUgZXhpc3RpbmcgdmFsdWVzLiAgSWYgbm8gXGZJbGltaXRzXGZSIGFyZQorZ2l2ZW4sIFxmQnBybGltaXRcZlAgd2lsbCBkaXNwbGF5IHRoZSBjdXJyZW50IHZhbHVlcy4gIElmIG9uZSBvZiB0aGUgdmFsdWVzCitpcyBub3QgZ2l2ZW4sIHRoZW4gdGhlIGV4aXN0aW5nIG9uZSB3aWxsIGJlIHVzZWQuICBUbyBzcGVjaWZ5IHRoZSB1bmxpbWl0ZWQgb3IKK2luZmluaXR5IGxpbWl0IChSTElNX0lORklOSVRZKSwgdGhlIC0xIG9yICd1bmxpbWl0ZWQnIHN0cmluZyBjYW4gYmUgcGFzc2VkLgorCitCZWNhdXNlIG9mIHRoZSBuYXR1cmUgb2YgbGltaXRzLCB0aGUgc29mdCBsaW1pdCBtdXN0IGJlIGxvd2VyIG9yIGVxdWFsIHRvIHRoZQoraGlnaCBsaW1pdCAoYWxzbyBjYWxsZWQgdGhlIGNlaWxpbmcpLiAgVG8gc2VlIGFsbCBhdmFpbGFibGUgcmVzb3VyY2UgbGltaXRzLAorcmVmZXIgdG8gdGhlIFJFU09VUkNFIE9QVElPTlMgc2VjdGlvbi4KKworLklQICJcZklzb2Z0XGZQOlxmSWhhcmRcZlAgICAgU3BlY2lmeSBib3RoIGxpbWl0cy4iCisuSVAgIlxmSXNvZnRcZlA6ICAgICAgICBTcGVjaWZ5IG9ubHkgdGhlIHNvZnQgbGltaXQuIgorLklQICI6XGZJaGFyZFxmUCAgICAgICAgU3BlY2lmeSBvbmx5IHRoZSBoYXJkIGxpbWl0LiIKKy5JUCAiXGZJdmFsdWVcZlAgICAgICAgIFNwZWNpZnkgYm90aCBsaW1pdHMgdG8gdGhlIHNhbWUgdmFsdWUuIgorCisuU0ggR0VORVJBTCBPUFRJT05TCisuSVAgIlxmQlwtaCwgXC1cLWhlbHBcZlAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5JUCAiXGZCXC1cLW5vaGVhZGluZ3NcZlAiCitEbyBub3QgcHJpbnQgYSBoZWFkZXIgbGluZS4KKy5JUCAiXGZCXC1vLCBcLVwtb3V0cHV0IFxmSWxpc3RcZlAiCitEZWZpbmUgdGhlIG91dHB1dCBjb2x1bW5zIHRvIHVzZS4gIElmIG5vIG91dHB1dCBhcnJhbmdlbWVudCBpcyBzcGVjaWZpZWQsCit0aGVuIGEgZGVmYXVsdCBzZXQgaXMgdXNlZC4KK1VzZSBcZkJcLVwtaGVscFxmUCB0byBnZXQgYSBsaXN0IG9mIGFsbCBzdXBwb3J0ZWQgY29sdW1ucy4KKy5JUCAiXGZCXC1wLCBcLVwtcGlkXGZQIgorU3BlY2lmeSB0aGUgcHJvY2VzcyBpZDsgaWYgbm9uZSBpcyBnaXZlbiwgdGhlIHJ1bm5pbmcgcHJvY2VzcyB3aWxsIGJlIHVzZWQuCisuSVAgIlxmQlwtXC1yYXdcZlAiCitVc2UgdGhlIHJhdyBvdXRwdXQgZm9ybWF0LgorLklQICJcZkJcLVwtdmVyYm9zZVxmUCIKK1ZlcmJvc2UgbW9kZS4KKy5JUCAiXGZCXC1WLCBcLVwtdmVyc2lvblxmUCIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKworLlNIIFJFU09VUkNFIE9QVElPTlMKKy5JUCAiXGZCXC1jLCBcLVwtY29yZVxmUFs9XGZJbGltaXRzXGZSXSIKK01heGltdW0gc2l6ZSBvZiBhIGNvcmUgZmlsZS4KKy5JUCAiXGZCXC1kLCBcLVwtZGF0YVxmUFs9XGZJbGltaXRzXGZSXSIKK01heGltdW0gZGF0YSBzaXplLgorLklQICJcZkJcLWUsIFwtXC1uaWNlXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2UuCisuSVAgIlxmQlwtZiwgXC1cLWZzaXplXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBmaWxlIHNpemUuCisuSVAgIlxmQlwtaSwgXC1cLXNpZ3BlbmRpbmdcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHMuCisuSVAgIlxmQlwtbCwgXC1cLW1lbWxvY2tcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZS4KKy5JUCAiXGZCXC1tLCBcLVwtcnNzXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBSZXNpZGVudCBTZXQgU2l6ZSAoUlNTKS4KKy5JUCAiXGZCXC1uLCBcLVwtbm9maWxlXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBudW1iZXIgb2Ygb3BlbiBmaWxlcy4KKy5JUCAiXGZCXC1xLCBcLVwtbXNncXVldWVcZlBbPVxmSWxpbWl0c1xmUl0iCitNYXhpbXVtIG51bWJlciBvZiBieXRlcyBpbiBQT1NJWCBtZXNzYWdlIHF1ZXVlcy4KKy5JUCAiXGZCXC1yLCBcLVwtcnRwcmlvXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSByZWFsLXRpbWUgcHJpb3JpdHkuCisuSVAgIlxmQlwtcywgXC1cLXN0YWNrXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBzaXplIG9mIHRoZSBzdGFjay4KKy5JUCAiXGZCXC10LCBcLVwtY3B1XGZQWz1cZklsaW1pdHNcZlJdIgorQ1BVIHRpbWUsIGluIHNlY29uZHMuCisuSVAgIlxmQlwtdSwgXC1cLW5wcm9jXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBudW1iZXIgb2YgcHJvY2Vzc2VzLgorLklQICJcZkJcLXYsIFwtXC1hc1xmUFs9XGZJbGltaXRzXGZSXSIKK0FkZHJlc3Mgc3BhY2UgbGltaXQuCisuSVAgIlxmQlwteCwgXC1cLWxvY2tzXGZQWz1cZklsaW1pdHNcZlJdIgorTWF4aW11bSBudW1iZXIgb2YgZmlsZSBsb2NrcyBoZWxkLgorLklQICJcZkJcLXksIFwtXC1ydHRpbWVcZlBbPVxmSWxpbWl0c1xmUl0iCitUaW1lb3V0IGZvciByZWFsLXRpbWUgdGFza3MuCisKKy5TSCBFWEFNUExFUworLklQICJcZkJwcmxpbWl0IFwtXC1waWQgMTMxMzRcZlAiCitEaXNwbGF5IGxpbWl0IHZhbHVlcyBmb3IgYWxsIGN1cnJlbnQgcmVzb3VyY2VzLgorLklQICJcZkJwcmxpbWl0IFwtXC1waWQgMTMxMzQgXC0tcnNzIC0tbm9maWxlPTEwMjQ6NDA5NVxmUCIKK0Rpc3BsYXkgdGhlIGxpbWl0cyBvZiB0aGUgUlNTLCBhbmQgc2V0IHRoZSBzb2Z0IGFuZCBoYXJkIGxpbWl0cyBmb3IgdGhlIG51bWJlcgorb2Ygb3BlbiBmaWxlcyB0byAxMDI0IGFuZCA0MDk1LCByZXNwZWN0aXZlbHkuCisuSVAgIlxmQnBybGltaXQgXC1cLXBpZCAxMzEzNCAtLW5wcm9jPTUxMjpcZlAiCitNb2RpZnkgb25seSB0aGUgc29mdCBsaW1pdCBmb3IgdGhlIG51bWJlciBvZiBwcm9jZXNzZXMuCisuSVAgIlxmQnBybGltaXQgXC1cLXBpZCAkJCAtLW5wcm9jPXVubGltaXRlZFxmUCIKK1NldCBmb3IgdGhlIGN1cnJlbnQgcHJvY2VzcyBib3RoIHRoZSBzb2Z0IGFuZCBjZWlsaW5nIHZhbHVlcyBmb3IgdGhlIG51bWJlciBvZgorcHJvY2Vzc2VzIHRvIHVubGltaXRlZC4KKy5JUCAiXGZCcHJsaW1pdCAtLWNwdT0xMCBzb3J0IC11IGh1Z2VmaWxlXGZQIgorU2V0IGJvdGggdGhlIHNvZnQgYW5kIGhhcmQgQ1BVIHRpbWUgbGltaXQgdG8gdGVuIHNlY29uZHMgYW5kIHJ1biAnc29ydCcuCisKKy5TSCAiU0VFIEFMU08iCisuQlIgdWxpbWl0ICgxKSwKKy5CUiBwcmxpbWl0ICgyKQorCisuU0ggTk9URVMKK1RoZSBwcmxpbWl0IHN5c3RlbSBjYWxsIGlzIHN1cHBvcnRlZCBzaW5jZSBMaW51eCAyLjYuMzYsIG9sZGVyIGtlcm5lbHMgd2lsbAorYnJlYWsgdGhpcyBwcm9ncmFtLgorCisuU0ggQVVUSE9SUworLm5mCitEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4gLSBJbiBtZW1vcnkgb2YgRGVubmlzIE0uIFJpdGNoaWUuCisuZmkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBwcmxpbWl0IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvcHJsaW1pdC5jIGIvc3lzLXV0aWxzL3BybGltaXQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZjgwNjM2Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3BybGltaXQuYwpAQCAtMCwwICsxLDY0NiBAQAorLyoKKyAqICBwcmxpbWl0IC0gZ2V0L3NldCBwcm9jZXNzIHJlc291cmNlIGxpbWl0cy4KKyAqCisgKiAgQ29weXJpZ2h0IChDKSAyMDExIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqICBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqICBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiAgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisKKyNpbmNsdWRlIDxsaWJzbWFydGNvbHMuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImxpc3QuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjaWZuZGVmIFJMSU1JVF9SVFRJTUUKKyMgZGVmaW5lIFJMSU1JVF9SVFRJTUUgMTUKKyNlbmRpZgorCitlbnVtIHsKKwlBUywKKwlDT1JFLAorCUNQVSwKKwlEQVRBLAorCUZTSVpFLAorCUxPQ0tTLAorCU1FTUxPQ0ssCisJTVNHUVVFVUUsCisJTklDRSwKKwlOT0ZJTEUsCisJTlBST0MsCisJUlNTLAorCVJUUFJJTywKKwlSVFRJTUUsCisJU0lHUEVORElORywKKwlTVEFDSworfTsKKworLyogYmFzaWMgb3V0cHV0IGZsYWdzICovCitzdGF0aWMgaW50IG5vX2hlYWRpbmdzOworc3RhdGljIGludCByYXc7CisKK3N0cnVjdCBwcmxpbWl0X2Rlc2MgeworCWNvbnN0IGNoYXIgKm5hbWU7CisJY29uc3QgY2hhciAqaGVscDsKKwljb25zdCBjaGFyICp1bml0OworCWludCByZXNvdXJjZTsKK307CisKK3N0YXRpYyBzdHJ1Y3QgcHJsaW1pdF9kZXNjIHBybGltaXRfZGVzY1tdID0KK3sKKwlbQVNdICAgICAgICAgPSB7ICJBUyIsICAgICAgICAgTl8oImFkZHJlc3Mgc3BhY2UgbGltaXQiKSwgICAgICAgICAgICAgICAgTl8oImJ5dGVzIiksICAgICBSTElNSVRfQVMgfSwKKwlbQ09SRV0gICAgICAgPSB7ICJDT1JFIiwgICAgICAgTl8oIm1heCBjb3JlIGZpbGUgc2l6ZSIpLCAgICAgICAgICAgICAgICAgTl8oImJ5dGVzIiksICAgICBSTElNSVRfQ09SRSB9LAorCVtDUFVdICAgICAgICA9IHsgIkNQVSIsICAgICAgICBOXygiQ1BVIHRpbWUiKSwgICAgICAgICAgICAgICAgICAgICAgICAgICBOXygic2Vjb25kcyIpLCAgIFJMSU1JVF9DUFUgfSwKKwlbREFUQV0gICAgICAgPSB7ICJEQVRBIiwgICAgICAgTl8oIm1heCBkYXRhIHNpemUiKSwgICAgICAgICAgICAgICAgICAgICAgTl8oImJ5dGVzIiksICAgICBSTElNSVRfREFUQSB9LAorCVtGU0laRV0gICAgICA9IHsgIkZTSVpFIiwgICAgICBOXygibWF4IGZpbGUgc2l6ZSIpLCAgICAgICAgICAgICAgICAgICAgICBOXygiYnl0ZXMiKSwgICAgIFJMSU1JVF9GU0laRSB9LAorCVtMT0NLU10gICAgICA9IHsgIkxPQ0tTIiwgICAgICBOXygibWF4IG51bWJlciBvZiBmaWxlIGxvY2tzIGhlbGQiKSwgICAgICBOXygibG9ja3MiKSwgICAgIFJMSU1JVF9MT0NLUyB9LAorCVtNRU1MT0NLXSAgICA9IHsgIk1FTUxPQ0siLCAgICBOXygibWF4IGxvY2tlZC1pbi1tZW1vcnkgYWRkcmVzcyBzcGFjZSIpLCBOXygiYnl0ZXMiKSwgICAgIFJMSU1JVF9NRU1MT0NLIH0sCisJW01TR1FVRVVFXSAgID0geyAiTVNHUVVFVUUiLCAgIE5fKCJtYXggYnl0ZXMgaW4gUE9TSVggbXF1ZXVlcyIpLCAgICAgICAgIE5fKCJieXRlcyIpLCAgICAgUkxJTUlUX01TR1FVRVVFIH0sCisJW05JQ0VdICAgICAgID0geyAiTklDRSIsICAgICAgIE5fKCJtYXggbmljZSBwcmlvIGFsbG93ZWQgdG8gcmFpc2UiKSwgICAgIE5VTEwsICAgICAgICAgICAgUkxJTUlUX05JQ0UgfSwKKwlbTk9GSUxFXSAgICAgPSB7ICJOT0ZJTEUiLCAgICAgTl8oIm1heCBudW1iZXIgb2Ygb3BlbiBmaWxlcyIpLCAgICAgICAgICAgTl8oImZpbGVzIiksICAgICBSTElNSVRfTk9GSUxFIH0sCisJW05QUk9DXSAgICAgID0geyAiTlBST0MiLCAgICAgIE5fKCJtYXggbnVtYmVyIG9mIHByb2Nlc3NlcyIpLCAgICAgICAgICAgIE5fKCJwcm9jZXNzZXMiKSwgUkxJTUlUX05QUk9DIH0sCisJW1JTU10gICAgICAgID0geyAiUlNTIiwgICAgICAgIE5fKCJtYXggcmVzaWRlbnQgc2V0IHNpemUiKSwgICAgICAgICAgICAgIE5fKCJieXRlcyIpLCAgICAgUkxJTUlUX1JTUyB9LAorCVtSVFBSSU9dICAgICA9IHsgIlJUUFJJTyIsICAgICBOXygibWF4IHJlYWwtdGltZSBwcmlvcml0eSIpLCAgICAgICAgICAgICBOVUxMLCAgICAgICAgICAgIFJMSU1JVF9SVFBSSU8gfSwKKwlbUlRUSU1FXSAgICAgPSB7ICJSVFRJTUUiLCAgICAgTl8oInRpbWVvdXQgZm9yIHJlYWwtdGltZSB0YXNrcyIpLCAgICAgICAgTl8oIm1pY3Jvc2VjcyIpLCBSTElNSVRfUlRUSU1FIH0sCisJW1NJR1BFTkRJTkddID0geyAiU0lHUEVORElORyIsIE5fKCJtYXggbnVtYmVyIG9mIHBlbmRpbmcgc2lnbmFscyIpLCAgICAgIE5fKCJzaWduYWxzIiksICAgUkxJTUlUX1NJR1BFTkRJTkcgfSwKKwlbU1RBQ0tdICAgICAgPSB7ICJTVEFDSyIsICAgICAgTl8oIm1heCBzdGFjayBzaXplIiksICAgICAgICAgICAgICAgICAgICAgTl8oImJ5dGVzIiksICAgICBSTElNSVRfU1RBQ0sgfQorfTsKKworI2RlZmluZSBNQVhfUkVTT1VSQ0VTIEFSUkFZX1NJWkUocHJsaW1pdF9kZXNjKQorCitzdHJ1Y3QgcHJsaW1pdCB7CisJc3RydWN0IGxpc3RfaGVhZCBsaW1zOworCisJc3RydWN0IHJsaW1pdCBybGltOworCXN0cnVjdCBwcmxpbWl0X2Rlc2MgKmRlc2M7CisJaW50IG1vZGlmeTsJCQkvKiBQUkxJTUlUX3tTT0ZULEhBUkR9IG1hc2sgKi8KK307CisKKyNkZWZpbmUgUFJMSU1JVF9FTVBUWV9MSU1JVAl7eyAwLCAwLCB9LCBOVUxMLCAwIH0KKworZW51bSB7CisJQ09MX0hFTFAsCisJQ09MX1JFUywKKwlDT0xfU09GVCwKKwlDT0xfSEFSRCwKKwlDT0xfVU5JVFMsCit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyCSpuYW1lOwkvKiBoZWFkZXIgKi8KKwlkb3VibGUJCXdoaW50OwkvKiB3aWR0aCBoaW50IChOIDwgMSBpcyBpbiBwZXJjZW50IG9mIHRlcm13aWR0aCkgKi8KKwlpbnQJCWZsYWdzOwkvKiBTQ09MU19GTF8qICovCisJY29uc3QgY2hhciAgICAgICpoZWxwOworfTsKKworLyogY29sdW1ucyBkZXNjcmlwdGlvbnMgKi8KK3N0YXRpYyBzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfUkVTXSAgICAgPSB7ICJSRVNPVVJDRSIsICAgIDAuMjUsIFNDT0xTX0ZMX1RSVU5DLCBOXygicmVzb3VyY2UgbmFtZSIpIH0sCisJW0NPTF9IRUxQXSAgICA9IHsgIkRFU0NSSVBUSU9OIiwgMC4xLCAgU0NPTFNfRkxfVFJVTkMsIE5fKCJyZXNvdXJjZSBkZXNjcmlwdGlvbiIpfSwKKwlbQ09MX1NPRlRdICAgID0geyAiU09GVCIsICAgICAgICAwLjEsICBTQ09MU19GTF9SSUdIVCwgTl8oInNvZnQgbGltaXQiKX0sCisJW0NPTF9IQVJEXSAgICA9IHsgIkhBUkQiLCAgICAgICAgMSwgICAgU0NPTFNfRkxfUklHSFQsIE5fKCJoYXJkIGxpbWl0IChjZWlsaW5nKSIpfSwKKwlbQ09MX1VOSVRTXSAgID0geyAiVU5JVFMiLCAgICAgICAwLjEsICBTQ09MU19GTF9UUlVOQywgTl8oInVuaXRzIil9LAorfTsKKworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl07CitzdGF0aWMgaW50IG5jb2x1bW5zOworCisKKworI2RlZmluZSBJTkZJTklUWV9TVFIJInVubGltaXRlZCIKKyNkZWZpbmUgSU5GSU5JVFlfU1RSTEVOCShzaXplb2YoSU5GSU5JVFlfU1RSKSAtIDEpCisKKyNkZWZpbmUgUFJMSU1JVF9TT0ZUCSgxIDw8IDEpCisjZGVmaW5lIFBSTElNSVRfSEFSRAkoMSA8PCAyKQorCitzdGF0aWMgcGlkX3QgcGlkOyAvKiBjYWxsaW5nIHByb2Nlc3MgKGRlZmF1bHQpICovCitzdGF0aWMgaW50IHZlcmJvc2U7CisKKyNpZm5kZWYgSEFWRV9QUkxJTUlUCisjIGluY2x1ZGUgPHN5cy9zeXNjYWxsLmg+CitzdGF0aWMgaW50IHBybGltaXQocGlkX3QgcCwgaW50IHJlc291cmNlLAorCQkgICBjb25zdCBzdHJ1Y3QgcmxpbWl0ICpuZXdfbGltaXQsCisJCSAgIHN0cnVjdCBybGltaXQgKm9sZF9saW1pdCkKK3sKKwlyZXR1cm4gc3lzY2FsbChTWVNfcHJsaW1pdDY0LCBwLCByZXNvdXJjZSwgbmV3X2xpbWl0LCBvbGRfbGltaXQpOworfQorI2VuZGlmCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCXNpemVfdCBpOworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCisJZnByaW50ZihvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gWy1wIFBJRF1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJZnByaW50ZihvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gQ09NTUFORFxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJTaG93IG9yIGNoYW5nZSB0aGUgcmVzb3VyY2UgbGltaXRzIG9mIGEgcHJvY2Vzcy5cbiIpLCBvdXQpOworCisJZnB1dHMoXygiXG5HZW5lcmFsIE9wdGlvbnM6XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkIDxwaWQ+ICAgICAgICBwcm9jZXNzIGlkXG4iCisJCSIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iCisJCSIgICAgIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5nc1xuIgorCQkiICAgICAtLXJhdyAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdFxuIgorCQkiICAgICAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBvdXRwdXRcbiIKKwkJKSwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI0KSk7CisKKwlmcHV0cyhfKCJcblJlc291cmNlcyBPcHRpb25zOlxuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLWNvcmUgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGNvcmUgZmlsZXMgY3JlYXRlZFxuIgorCQkiIC1kLCAtLWRhdGEgICAgICAgICAgICAgbWF4aW11bSBzaXplIG9mIGEgcHJvY2VzcydzIGRhdGEgc2VnbWVudFxuIgorCQkiIC1lLCAtLW5pY2UgICAgICAgICAgICAgbWF4aW11bSBuaWNlIHByaW9yaXR5IGFsbG93ZWQgdG8gcmFpc2VcbiIKKwkJIiAtZiwgLS1mc2l6ZSAgICAgICAgICAgIG1heGltdW0gc2l6ZSBvZiBmaWxlcyB3cml0dGVuIGJ5IHRoZSBwcm9jZXNzXG4iCisJCSIgLWksIC0tc2lncGVuZGluZyAgICAgICBtYXhpbXVtIG51bWJlciBvZiBwZW5kaW5nIHNpZ25hbHNcbiIKKwkJIiAtbCwgLS1tZW1sb2NrICAgICAgICAgIG1heGltdW0gc2l6ZSBhIHByb2Nlc3MgbWF5IGxvY2sgaW50byBtZW1vcnlcbiIKKwkJIiAtbSwgLS1yc3MgICAgICAgICAgICAgIG1heGltdW0gcmVzaWRlbnQgc2V0IHNpemVcbiIKKwkJIiAtbiwgLS1ub2ZpbGUgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIG9wZW4gZmlsZXNcbiIKKwkJIiAtcSwgLS1tc2dxdWV1ZSAgICAgICAgIG1heGltdW0gYnl0ZXMgaW4gUE9TSVggbWVzc2FnZSBxdWV1ZXNcbiIKKwkJIiAtciwgLS1ydHByaW8gICAgICAgICAgIG1heGltdW0gcmVhbC10aW1lIHNjaGVkdWxpbmcgcHJpb3JpdHlcbiIKKwkJIiAtcywgLS1zdGFjayAgICAgICAgICAgIG1heGltdW0gc3RhY2sgc2l6ZVxuIgorCQkiIC10LCAtLWNwdSAgICAgICAgICAgICAgbWF4aW11bSBhbW91bnQgb2YgQ1BVIHRpbWUgaW4gc2Vjb25kc1xuIgorCQkiIC11LCAtLW5wcm9jICAgICAgICAgICAgbWF4aW11bSBudW1iZXIgb2YgdXNlciBwcm9jZXNzZXNcbiIKKwkJIiAtdiwgLS1hcyAgICAgICAgICAgICAgIHNpemUgb2YgdmlydHVhbCBtZW1vcnlcbiIKKwkJIiAteCwgLS1sb2NrcyAgICAgICAgICAgIG1heGltdW0gbnVtYmVyIG9mIGZpbGUgbG9ja3NcbiIKKwkJIiAteSwgLS1ydHRpbWUgICAgICAgICAgIENQVSB0aW1lIGluIG1pY3Jvc2Vjb25kcyBhIHByb2Nlc3Mgc2NoZWR1bGVkXG4iCisJCSIgICAgICAgICAgICAgICAgICAgICAgICB1bmRlciByZWFsLXRpbWUgc2NoZWR1bGluZ1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9DT0xVTU5TLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlMTFzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInBybGltaXQoMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGdldF9jb2x1bW5faWQoaW50IG51bSkKK3sKKwlhc3NlcnQobnVtIDwgbmNvbHVtbnMpOworCWFzc2VydChjb2x1bW5zW251bV0gPCAoaW50KSBBUlJBWV9TSVpFKGluZm9zKSk7CisKKwlyZXR1cm4gY29sdW1uc1tudW1dOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8odW5zaWduZWQgbnVtKQoreworCXJldHVybiAmaW5mb3NbIGdldF9jb2x1bW5faWQobnVtKSBdOworfQorCitzdGF0aWMgdm9pZCBhZGRfc2NvbHNfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLCBzdHJ1Y3QgcHJsaW1pdCAqbCkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbGluZTsKKworCWFzc2VydCh0YWJsZSk7CisJYXNzZXJ0KGwpOworCisJbGluZSA9IHNjb2xzX3RhYmxlX25ld19saW5lKHRhYmxlLCBOVUxMKTsKKwlpZiAoIWxpbmUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNoYXIgKnN0ciA9IE5VTEw7CisKKwkJc3dpdGNoIChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX1JFUzoKKwkJCXN0ciA9IHhzdHJkdXAobC0+ZGVzYy0+bmFtZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSEVMUDoKKwkJCXN0ciA9IHhzdHJkdXAobC0+ZGVzYy0+aGVscCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfU09GVDoKKwkJCWlmIChsLT5ybGltLnJsaW1fY3VyID09IFJMSU1fSU5GSU5JVFkpCisJCQkJc3RyID0geHN0cmR1cChfKCJ1bmxpbWl0ZWQiKSk7CisJCQllbHNlCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlbGx1IiwgKHVuc2lnbmVkIGxvbmcgbG9uZykgbC0+cmxpbS5ybGltX2N1cik7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSEFSRDoKKwkJCWlmIChsLT5ybGltLnJsaW1fbWF4ID09IFJMSU1fSU5GSU5JVFkpCisJCQkJc3RyID0geHN0cmR1cChfKCJ1bmxpbWl0ZWQiKSk7CisJCQllbHNlCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlbGx1IiwgKHVuc2lnbmVkIGxvbmcgbG9uZykgbC0+cmxpbS5ybGltX21heCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVU5JVFM6CisJCQlzdHIgPSBsLT5kZXNjLT51bml0ID8geHN0cmR1cChfKGwtPmRlc2MtPnVuaXQpKSA6IE5VTEw7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWJyZWFrOworCQl9CisKKwkJaWYgKHN0ciAmJiBzY29sc19saW5lX3JlZmVyX2RhdGEobGluZSwgaSwgc3RyKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiKSk7CisJfQorfQorCitzdGF0aWMgaW50IGNvbHVtbl9uYW1lX3RvX2lkKGNvbnN0IGNoYXIgKm5hbWUsIHNpemVfdCBuYW1lc3opCit7CisJc2l6ZV90IGk7CisKKwlhc3NlcnQobmFtZSk7CisKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IGluZm9zW2ldLm5hbWU7CisKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIHZvaWQgcmVtX3BybGltKHN0cnVjdCBwcmxpbWl0ICpsaW0pCit7CisJaWYgKCFsaW0pCisJCXJldHVybjsKKwlsaXN0X2RlbCgmbGltLT5saW1zKTsKKwlmcmVlKGxpbSk7Cit9CisKK3N0YXRpYyBpbnQgc2hvd19saW1pdHMoc3RydWN0IGxpc3RfaGVhZCAqbGltcykKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCAqcG5leHQ7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZTsKKworCXRhYmxlID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCF0YWJsZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIpKTsKKworCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcodGFibGUsIHJhdyk7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGFibGUsIG5vX2hlYWRpbmdzKTsKKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCXN0cnVjdCBjb2xpbmZvICpjb2wgPSBnZXRfY29sdW1uX2luZm8oaSk7CisKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYmxlLCBjb2wtPm5hbWUsIGNvbC0+d2hpbnQsIGNvbC0+ZmxhZ3MpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCBjb2x1bW4iKSk7CisJfQorCisJbGlzdF9mb3JfZWFjaF9zYWZlKHAsIHBuZXh0LCBsaW1zKSB7CisJCXN0cnVjdCBwcmxpbWl0ICpsaW0gPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBwcmxpbWl0LCBsaW1zKTsKKworCQlhZGRfc2NvbHNfbGluZSh0YWJsZSwgbGltKTsKKwkJcmVtX3BybGltKGxpbSk7CisJfQorCisJc2NvbHNfcHJpbnRfdGFibGUodGFibGUpOworCXNjb2xzX3VucmVmX3RhYmxlKHRhYmxlKTsKKwlyZXR1cm4gMDsKK30KKworLyoKKyAqIElmIG9uZSBvZiB0aGUgbGltaXRzIGlzIHVua25vd24gKGRlZmF1bHQgdmFsdWUgZm9yIG5vdCBiZWluZyBwYXNzZWQpLCB3ZQorICogbmVlZCB0byBnZXQgdGhlIGN1cnJlbnQgbGltaXQgYW5kIHVzZSBpdC4gIEkgc2VlIG5vIG90aGVyIHdheSBvdGhlciB0aGFuCisgKiB1c2luZyBwcmxpbWl0KDIpLgorICovCitzdGF0aWMgdm9pZCBnZXRfdW5rbm93bl9oYXJkc29mdChzdHJ1Y3QgcHJsaW1pdCAqbGltKQoreworCXN0cnVjdCBybGltaXQgb2xkOworCisJaWYgKHBybGltaXQocGlkLCBsaW0tPmRlc2MtPnJlc291cmNlLCBOVUxMLCAmb2xkKSA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGdldCBvbGQgJXMgbGltaXQiKSwKKwkJCQlsaW0tPmRlc2MtPm5hbWUpOworCisJaWYgKCEobGltLT5tb2RpZnkgJiBQUkxJTUlUX1NPRlQpKQorCQlsaW0tPnJsaW0ucmxpbV9jdXIgPSBvbGQucmxpbV9jdXI7CisJZWxzZSBpZiAoIShsaW0tPm1vZGlmeSAmIFBSTElNSVRfSEFSRCkpCisJCWxpbS0+cmxpbS5ybGltX21heCA9IG9sZC5ybGltX21heDsKK30KKworc3RhdGljIHZvaWQgZG9fcHJsaW1pdChzdHJ1Y3QgbGlzdF9oZWFkICpsaW1zKQoreworCXN0cnVjdCBsaXN0X2hlYWQgKnAsICpwbmV4dDsKKworCWxpc3RfZm9yX2VhY2hfc2FmZShwLCBwbmV4dCwgbGltcykgeworCQlzdHJ1Y3QgcmxpbWl0ICpuZXcgPSBOVUxMLCAqb2xkID0gTlVMTDsKKwkJc3RydWN0IHBybGltaXQgKmxpbSA9IGxpc3RfZW50cnkocCwgc3RydWN0IHBybGltaXQsIGxpbXMpOworCisJCWlmIChsaW0tPm1vZGlmeSkgeworCQkJaWYgKGxpbS0+bW9kaWZ5ICE9IChQUkxJTUlUX0hBUkQgfCBQUkxJTUlUX1NPRlQpKQorCQkJCWdldF91bmtub3duX2hhcmRzb2Z0KGxpbSk7CisKKwkJCWlmICgobGltLT5ybGltLnJsaW1fY3VyID4gbGltLT5ybGltLnJsaW1fbWF4KSAmJgorCQkJCShsaW0tPnJsaW0ucmxpbV9jdXIgIT0gUkxJTV9JTkZJTklUWSB8fAorCQkJCSBsaW0tPnJsaW0ucmxpbV9tYXggIT0gUkxJTV9JTkZJTklUWSkpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRoZSBzb2Z0IGxpbWl0ICVzIGNhbm5vdCBleGNlZWQgdGhlIGhhcmQgbGltaXQiKSwKKwkJCQkJCWxpbS0+ZGVzYy0+bmFtZSk7CisJCQluZXcgPSAmbGltLT5ybGltOworCQl9IGVsc2UKKwkJCW9sZCA9ICZsaW0tPnJsaW07CisKKwkJaWYgKHZlcmJvc2UgJiYgbmV3KSB7CisJCQlwcmludGYoXygiTmV3ICVzIGxpbWl0IGZvciBwaWQgJWQ6ICIpLCBsaW0tPmRlc2MtPm5hbWUsCisJCQkJcGlkID8gcGlkIDogZ2V0cGlkKCkpOworCQkJaWYgKG5ldy0+cmxpbV9jdXIgPT0gUkxJTV9JTkZJTklUWSkKKwkJCQlwcmludGYoIjwlcyIsIF8oInVubGltaXRlZCIpKTsKKwkJCWVsc2UKKwkJCQlwcmludGYoIjwlanUiLCAodWludG1heF90KW5ldy0+cmxpbV9jdXIpOworCisJCQlpZiAobmV3LT5ybGltX21heCA9PSBSTElNX0lORklOSVRZKQorCQkJCXByaW50ZigiOiVzPlxuIiwgXygidW5saW1pdGVkIikpOworCQkJZWxzZQorCQkJCXByaW50ZigiOiVqdT5cbiIsICh1aW50bWF4X3QpbmV3LT5ybGltX21heCk7CisJCX0KKworCQlpZiAocHJsaW1pdChwaWQsIGxpbS0+ZGVzYy0+cmVzb3VyY2UsIG5ldywgb2xkKSA9PSAtMSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIGxpbS0+bW9kaWZ5ID8KKwkJCQlfKCJmYWlsZWQgdG8gc2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIpIDoKKwkJCQlfKCJmYWlsZWQgdG8gZ2V0IHRoZSAlcyByZXNvdXJjZSBsaW1pdCIpLAorCQkJCWxpbS0+ZGVzYy0+bmFtZSk7CisKKwkJaWYgKGxpbS0+bW9kaWZ5KQorCQkJcmVtX3BybGltKGxpbSk7CQkvKiBtb2RpZnkgb25seTsgZG9uJ3Qgc2hvdyAqLworCX0KK30KKworc3RhdGljIGludCBnZXRfcmFuZ2UoY2hhciAqc3RyLCBybGltX3QgKnNvZnQsIHJsaW1fdCAqaGFyZCwgaW50ICpmb3VuZCkKK3sKKwljaGFyICplbmQgPSBOVUxMOworCisJaWYgKCFzdHIpCisJCXJldHVybiAwOworCisJKmZvdW5kID0gZXJybm8gPSAwOworCSpzb2Z0ID0gKmhhcmQgPSBSTElNX0lORklOSVRZOworCisJaWYgKCFzdHJjbXAoc3RyLCBJTkZJTklUWV9TVFIpKSB7CQkvKiA8dW5saW1pdGVkPiAqLworCQkqZm91bmQgfD0gUFJMSU1JVF9TT0ZUIHwgUFJMSU1JVF9IQVJEOworCQlyZXR1cm4gMDsKKworCX0gZWxzZSBpZiAoKnN0ciA9PSAnOicpIHsJCQkvKiA8OmhhcmQ+ICovCisJCXN0cisrOworCisJCWlmIChzdHJjbXAoc3RyLCBJTkZJTklUWV9TVFIpICE9IDApIHsKKwkJCSpoYXJkID0gc3RydG91bGwoc3RyLCAmZW5kLCAxMCk7CisKKwkJCWlmIChlcnJubyB8fCAhZW5kIHx8ICplbmQgfHwgZW5kID09IHN0cikKKwkJCQlyZXR1cm4gLTE7CisJCX0KKwkJKmZvdW5kIHw9IFBSTElNSVRfSEFSRDsKKwkJcmV0dXJuIDA7CisKKwl9CisKKwlpZiAoc3RybmNtcChzdHIsIElORklOSVRZX1NUUiwgSU5GSU5JVFlfU1RSTEVOKSA9PSAwKSB7CisJCS8qIDx1bmxpbWl0ZWQ+IG9yIDx1bmxpbWl0ZWQ6PiAqLworCQllbmQgPSBzdHIgKyBJTkZJTklUWV9TVFJMRU47CisJfSBlbHNlIHsKKwkJLyogPHZhbHVlPiBvciA8c29mdDo+ICovCisJCSpoYXJkID0gKnNvZnQgPSBzdHJ0b3VsbChzdHIsICZlbmQsIDEwKTsKKwkJaWYgKGVycm5vIHx8ICFlbmQgfHwgZW5kID09IHN0cikKKwkJCXJldHVybiAtMTsKKwl9CisKKwlpZiAoKmVuZCA9PSAnOicgJiYgISooZW5kICsgMSkpCQkJLyogPHNvZnQ6PiAqLworCQkqZm91bmQgfD0gUFJMSU1JVF9TT0ZUOworCisJZWxzZSBpZiAoKmVuZCA9PSAnOicpIHsJCQkJLyogPHNvZnQ6aGFyZD4gKi8KKwkJc3RyID0gZW5kICsgMTsKKworCQlpZiAoIXN0cmNtcChzdHIsIElORklOSVRZX1NUUikpCisJCQkqaGFyZCA9ICBSTElNX0lORklOSVRZOworCQllbHNlIHsKKwkJCWVuZCA9IE5VTEw7CisJCQllcnJubyA9IDA7CisJCQkqaGFyZCA9IHN0cnRvdWxsKHN0ciwgJmVuZCwgMTApOworCisJCQlpZiAoZXJybm8gfHwgIWVuZCB8fCAqZW5kIHx8IGVuZCA9PSBzdHIpCisJCQkJcmV0dXJuIC0xOworCQl9CisJCSpmb3VuZCB8PSBQUkxJTUlUX1NPRlQgfCBQUkxJTUlUX0hBUkQ7CisKKwl9IGVsc2UJCQkJCQkvKiA8dmFsdWU+ICovCisJCSpmb3VuZCB8PSBQUkxJTUlUX1NPRlQgfCBQUkxJTUlUX0hBUkQ7CisKKwlyZXR1cm4gMDsKK30KKworCitzdGF0aWMgaW50IHBhcnNlX3BybGltKHN0cnVjdCBybGltaXQgKmxpbSwgY2hhciAqb3BzLCBzaXplX3QgaWQpCit7CisJcmxpbV90IHNvZnQsIGhhcmQ7CisJaW50IGZvdW5kID0gMDsKKworCWlmIChnZXRfcmFuZ2Uob3BzLCAmc29mdCwgJmhhcmQsICZmb3VuZCkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcGFyc2UgJXMgbGltaXQiKSwKKwkJICAgICBwcmxpbWl0X2Rlc2NbaWRdLm5hbWUpOworCisJbGltLT5ybGltX2N1ciA9IHNvZnQ7CisJbGltLT5ybGltX21heCA9IGhhcmQ7CisKKwlyZXR1cm4gZm91bmQ7Cit9CisKK3N0YXRpYyBpbnQgYWRkX3BybGltKGNoYXIgKm9wcywgc3RydWN0IGxpc3RfaGVhZCAqbGltcywgc2l6ZV90IGlkKQoreworCXN0cnVjdCBwcmxpbWl0ICpsaW0gPSB4Y2FsbG9jKDEsIHNpemVvZigqbGltKSk7CisKKwlJTklUX0xJU1RfSEVBRCgmbGltLT5saW1zKTsKKwlsaW0tPmRlc2MgPSAmcHJsaW1pdF9kZXNjW2lkXTsKKworCWlmIChvcHMpCisJCWxpbS0+bW9kaWZ5ID0gcGFyc2VfcHJsaW0oJmxpbS0+cmxpbSwgb3BzLCBpZCk7CisKKwlsaXN0X2FkZF90YWlsKCZsaW0tPmxpbXMsIGxpbXMpOworCXJldHVybiAwOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IG9wdDsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGxpbXM7CisKKwllbnVtIHsKKwkJVkVSQk9TRV9PUFRJT04gPSBDSEFSX01BWCArIDEsCisJCVJBV19PUFRJT04sCisJCU5PSEVBRElOR1NfT1BUSU9OCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgInBpZCIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAib3V0cHV0IiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAiYXMiLCAgICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndicgfSwKKwkJeyAiY29yZSIsICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnYycgfSwKKwkJeyAiY3B1IiwgICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndCcgfSwKKwkJeyAiZGF0YSIsICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnZCcgfSwKKwkJeyAiZnNpemUiLCAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnZicgfSwKKwkJeyAibG9ja3MiLCAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAneCcgfSwKKwkJeyAibWVtbG9jayIsICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnbCcgfSwKKwkJeyAibXNncXVldWUiLCAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncScgfSwKKwkJeyAibmljZSIsICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnZScgfSwKKwkJeyAibm9maWxlIiwgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkJeyAibnByb2MiLCAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAndScgfSwKKwkJeyAicnNzIiwgICAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnbScgfSwKKwkJeyAicnRwcmlvIiwgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncicgfSwKKwkJeyAicnR0aW1lIiwgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAneScgfSwKKwkJeyAic2lncGVuZGluZyIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnaScgfSwKKwkJeyAic3RhY2siLCAgICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAncycgfSwKKwkJeyAidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnVicgfSwKKwkJeyAiaGVscCIsICAgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCcgfSwKKwkJeyAibm9oZWFkaW5ncyIsIG5vX2FyZ3VtZW50LCBOVUxMLCBOT0hFQURJTkdTX09QVElPTiB9LAorCQl7ICJyYXciLCAgICAgICAgbm9fYXJndW1lbnQsIE5VTEwsIFJBV19PUFRJT04gfSwKKwkJeyAidmVyYm9zZSIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCBWRVJCT1NFX09QVElPTiB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJSU5JVF9MSVNUX0hFQUQoJmxpbXMpOworCisJLyoKKwkgKiBTb21ldGhpbmcgaXMgdmVyeSB3cm9uZyBpZiB0aGlzIGRvZXNuJ3Qgc3VjY2VlZCwKKwkgKiBhc3N1bWluZyBTVEFDSyBpcyB0aGUgbGFzdCByZXNvdXJjZSwgb2YgY291cnNlLgorCSAqLworCWFzc2VydChNQVhfUkVTT1VSQ0VTID09IFNUQUNLICsgMSk7CisKKwl3aGlsZSgob3B0ID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwKKwkJCQkgIitjOjpkOjplOjpmOjppOjpsOjptOjpuOjpxOjpyOjpzOjp0Ojp1Ojp2Ojp4Ojp5OjpwOm86dlZoIiwKKwkJCQkgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2gob3B0KSB7CisJCWNhc2UgJ2MnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIENPUkUpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIERBVEEpOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIE5JQ0UpOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIEZTSVpFKTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWFkZF9wcmxpbShvcHRhcmcsICZsaW1zLCBTSUdQRU5ESU5HKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCWFkZF9wcmxpbShvcHRhcmcsICZsaW1zLCBNRU1MT0NLKTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCWFkZF9wcmxpbShvcHRhcmcsICZsaW1zLCBSU1MpOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIE5PRklMRSk7CisJCQlicmVhazsKKwkJY2FzZSAncSc6CisJCQlhZGRfcHJsaW0ob3B0YXJnLCAmbGltcywgTVNHUVVFVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIFJUUFJJTyk7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlhZGRfcHJsaW0ob3B0YXJnLCAmbGltcywgU1RBQ0spOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIENQVSk7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQlhZGRfcHJsaW0ob3B0YXJnLCAmbGltcywgTlBST0MpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJYWRkX3BybGltKG9wdGFyZywgJmxpbXMsIEFTKTsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCWFkZF9wcmxpbShvcHRhcmcsICZsaW1zLCBMT0NLUyk7CisJCQlicmVhazsKKwkJY2FzZSAneSc6CisJCQlhZGRfcHJsaW0ob3B0YXJnLCAmbGltcywgUlRUSU1FKTsKKwkJCWJyZWFrOworCisJCWNhc2UgJ3AnOgorCQkJaWYgKHBpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib3B0aW9uIC0tcGlkIG1heSBiZSBzcGVjaWZpZWQgb25seSBvbmNlIikpOworCQkJcGlkID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCBQSUQgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQljYXNlICdvJzoKKwkJCW5jb2x1bW5zID0gc3RyaW5nX3RvX2lkYXJyYXkob3B0YXJnLAorCQkJCQkJICAgICBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkJICAgICBjb2x1bW5fbmFtZV90b19pZCk7CisJCQlpZiAobmNvbHVtbnMgPCAwKQorCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisKKwkJY2FzZSBOT0hFQURJTkdTX09QVElPTjoKKwkJCW5vX2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlIFZFUkJPU0VfT1BUSU9OOgorCQkJdmVyYm9zZSsrOworCQkJYnJlYWs7CisJCWNhc2UgUkFXX09QVElPTjoKKwkJCXJhdyA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKwlpZiAoYXJnYyA+IG9wdGluZCAmJiBwaWQpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb25zIC0tcGlkIGFuZCBDT01NQU5EIGFyZSBtdXR1YWxseSBleGNsdXNpdmUiKSk7CisJaWYgKCFuY29sdW1ucykgeworCQkvKiBkZWZhdWx0IGNvbHVtbnMgKi8KKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9SRVM7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfSEVMUDsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TT0ZUOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0hBUkQ7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVU5JVFM7CisJfQorCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCWlmIChsaXN0X2VtcHR5KCZsaW1zKSkgeworCQkvKiBkZWZhdWx0IGlzIHRvIHByaW50IGFsbCByZXNvdXJjZXMgKi8KKwkJc2l6ZV90IG47CisKKwkJZm9yIChuID0gMDsgbiA8IE1BWF9SRVNPVVJDRVM7IG4rKykKKwkJCWFkZF9wcmxpbShOVUxMLCAmbGltcywgbik7CisJfQorCisJZG9fcHJsaW1pdCgmbGltcyk7CisKKwlpZiAoIWxpc3RfZW1wdHkoJmxpbXMpKQorCQlzaG93X2xpbWl0cygmbGltcyk7CisKKwlpZiAoYXJnYyA+IG9wdGluZCkgeworCQkvKiBwcmxpbWl0IFtvcHRpb25zXSBDT01NQU5EICovCisJCWV4ZWN2cChhcmd2W29wdGluZF0sICZhcmd2W29wdGluZF0pOworCQllcnJleGVjKGFyZ3Zbb3B0aW5kXSk7CisJfQorCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9yZWFkcHJvZmlsZS44IGIvc3lzLXV0aWxzL3JlYWRwcm9maWxlLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTY4NjM4MAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9yZWFkcHJvZmlsZS44CkBAIC0wLDAgKzEsMTUzIEBACisuVEggUkVBRFBST0ZJTEUgIjgiICJPY3RvYmVyIDIwMTEiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3JlYWRwcm9maWxlIFwtIHJlYWQga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbgorLlNIIFNZTk9QU0lTCisuQiByZWFkcHJvZmlsZQorW29wdGlvbnNdCisuU0ggVkVSU0lPTgorVGhpcyBtYW5wYWdlIGRvY3VtZW50cyB2ZXJzaW9uIDIuMCBvZiB0aGUgcHJvZ3JhbS4KKy5TSCBERVNDUklQVElPTgorLkxQCitUaGUKKy5CIHJlYWRwcm9maWxlCitjb21tYW5kIHVzZXMgdGhlCisuSSAvcHJvYy9wcm9maWxlCitpbmZvcm1hdGlvbiB0byBwcmludCBhc2NpaSBkYXRhIG9uIHN0YW5kYXJkIG91dHB1dC4gIFRoZSBvdXRwdXQgaXMKK29yZ2FuaXplZCBpbiB0aHJlZSBjb2x1bW5zOiB0aGUgZmlyc3QgaXMgdGhlIG51bWJlciBvZiBjbG9jayB0aWNrcywKK3RoZSBzZWNvbmQgaXMgdGhlIG5hbWUgb2YgdGhlIEMgZnVuY3Rpb24gaW4gdGhlIGtlcm5lbCB3aGVyZSB0aG9zZQorbWFueSB0aWNrcyBvY2N1cnJlZCwgYW5kIHRoZSB0aGlyZCBpcyB0aGUgbm9ybWFsaXplZCBgbG9hZCcgb2YgdGhlCitwcm9jZWR1cmUsIGNhbGN1bGF0ZWQgYXMgYSByYXRpbyBiZXR3ZWVuIHRoZSBudW1iZXIgb2YgdGlja3MgYW5kIHRoZQorbGVuZ3RoIG9mIHRoZSBwcm9jZWR1cmUuICBUaGUgb3V0cHV0IGlzIGZpbGxlZCB3aXRoIGJsYW5rcyB0byBlYXNlCityZWFkYWJpbGl0eS4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWFsbFxmUgorUHJpbnQgYWxsIHN5bWJvbHMgaW4gdGhlIG1hcGZpbGUuICBCeSBkZWZhdWx0IHRoZSBwcm9jZWR1cmVzIHdpdGgKK3JlcG9ydGVkIHRpY2tzIGFyZSBub3QgcHJpbnRlZC4KKy5UUAorXGZCXC1iXGZSLCBcZkJcLVwtaGlzdGJpblxmUgorUHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50cy4KKy5UUAorXGZCXC1pXGZSLCBcZkJcLVwtaW5mb1xmUgorSW5mby4gIFRoaXMgbWFrZXMKKy5CIHJlYWRwcm9maWxlCitvbmx5IHByaW50IHRoZSBwcm9maWxpbmcgc3RlcCB1c2VkIGJ5IHRoZSBrZXJuZWwuICBUaGUgcHJvZmlsaW5nIHN0ZXAKK2lzIHRoZSByZXNvbHV0aW9uIG9mIHRoZSBwcm9maWxpbmcgYnVmZmVyLCBhbmQgaXMgY2hvc2VuIGR1cmluZwora2VybmVsIGNvbmZpZ3VyYXRpb24gKHRocm91Z2ggYG1ha2UgY29uZmlnJyksIG9yIGluIHRoZSBrZXJuZWwncworY29tbWFuZCBsaW5lLiAgSWYgdGhlCisuQiBcLXQKKyh0ZXJzZSkgc3dpdGNoIGlzIHVzZWQgdG9nZXRoZXIgd2l0aAorLkIgXC1pCitvbmx5IHRoZSBkZWNpbWFsIG51bWJlciBpcyBwcmludGVkLgorLlRQCitcZkJcLW1cZlIsIFxmQlwtXC1tYXBmaWxlXGZSIFxmSW1hcGZpbGVcZlIKK1NwZWNpZnkgYSBtYXBmaWxlLCB3aGljaCBieSBkZWZhdWx0IGlzCisuSVIgL3Vzci9zcmMvbGludXgvU3lzdGVtLm1hcCAuCitZb3Ugc2hvdWxkIHNwZWNpZnkgdGhlIG1hcCBmaWxlIG9uIGNtZGxpbmUgaWYgeW91ciBjdXJyZW50IGtlcm5lbAoraXNuJ3QgdGhlIGxhc3Qgb25lIHlvdSBjb21waWxlZCwgb3IgaWYgeW91IGtlZXAgU3lzdGVtLm1hcCBlbHNld2hlcmUuCitJZiB0aGUgbmFtZSBvZiB0aGUgbWFwIGZpbGUgZW5kcyB3aXRoIGAuZ3onIGl0IGlzIGRlY29tcHJlc3NlZCBvbiB0aGUKK2ZseS4KKy5UUAorXGZCXC1NXGZSLCBcZkJcLVwtbXVsdGlwbGllclxmUiBcZkltdWx0aXBsaWVyXGZSCitPbiBzb21lIGFyY2hpdGVjdHVyZXMgaXQgaXMgcG9zc2libGUgdG8gYWx0ZXIgdGhlIGZyZXF1ZW5jeSBhdCB3aGljaAordGhlIGtlcm5lbCBkZWxpdmVycyBwcm9maWxpbmcgaW50ZXJydXB0cyB0byBlYWNoIENQVS4gIFRoaXMgb3B0aW9uCithbGxvd3MgeW91IHRvIHNldCB0aGUgZnJlcXVlbmN5LCBhcyBhIG11bHRpcGxpZXIgb2YgdGhlIHN5c3RlbSBjbG9jaworZnJlcXVlbmN5LCBIWi4gTGludXggMi42LjE2IGRyb3BwZWQgbXVsdGlwbGllciBzdXBwb3J0IGZvciBtb3N0IHN5c3RlbXMuCitUaGlzIG9wdGlvbiBhbHNvIHJlc2V0cyB0aGUgcHJvZmlsaW5nIGJ1ZmZlciwgYW5kIHJlcXVpcmVzIHN1cGVydXNlcgorcHJpdmlsZWdlcy4KKy5UUAorXGZCXC1wXGZSLCBcZkJcLVwtcHJvZmlsZVxmUiBcZklwcm8tZmlsZVxmUgorU3BlY2lmeSBhIGRpZmZlcmVudCBwcm9maWxpbmcgYnVmZmVyLCB3aGljaCBieSBkZWZhdWx0IGlzCisuSVIgL3Byb2MvcHJvZmlsZSAuCitVc2luZyBhIGRpZmZlcmVudCBwcm8tZmlsZSBpcyB1c2VmdWwgaWYgeW91IHdhbnQgdG8gYGZyZWV6ZScgdGhlCitrZXJuZWwgcHJvZmlsaW5nIGF0IHNvbWUgdGltZSBhbmQgcmVhZCBpdCBsYXRlci4gIFRoZQorLkkgL3Byb2MvcHJvZmlsZQorZmlsZSBjYW4gYmUgY29waWVkIHVzaW5nIGBjYXQnIG9yIGBjcCcuICBUaGVyZSBpcyBubyBtb3JlIHN1cHBvcnQgZm9yCitjb21wcmVzc2VkIHByb2ZpbGUgYnVmZmVycywgbGlrZSBpbgorLkIgcmVhZHByb2ZpbGUtMS4xLAorYmVjYXVzZSB0aGUgcHJvZ3JhbSBuZWVkcyB0byBrbm93IHRoZSBzaXplIG9mIHRoZSBidWZmZXIgaW4gYWR2YW5jZS4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcmVzZXRcZlIKK1Jlc2V0IHRoZSBwcm9maWxpbmcgYnVmZmVyLiAgVGhpcyBjYW4gb25seSBiZSBpbnZva2VkIGJ5IHJvb3QsCitiZWNhdXNlCisuSSAvcHJvYy9wcm9maWxlCitpcyByZWFkYWJsZSBieSBldmVyeWJvZHkgYnV0IHdyaXRhYmxlIG9ubHkgYnkgdGhlIHN1cGVydXNlci4KK0hvd2V2ZXIsIHlvdSBjYW4gbWFrZQorLkIgcmVhZHByb2ZpbGUKK3NldC11c2VyLUlEIDAsIGluIG9yZGVyIHRvIHJlc2V0IHRoZSBidWZmZXIgd2l0aG91dCBnYWluaW5nIHByaXZpbGVnZXMuCisuVFAKK1xmQlwtcywgXGZCXC1cLWNvdW50ZXJzXGZSCitQcmludCBpbmRpdmlkdWFsIGNvdW50ZXJzIHdpdGhpbiBmdW5jdGlvbnMuCisuVFAKK1xmQlwtdlxmUiwgXGZCXC1cLXZlcmJvc2VcZlIKK1ZlcmJvc2UuICBUaGUgb3V0cHV0IGlzIG9yZ2FuaXplZCBpbiBmb3VyIGNvbHVtbnMgYW5kIGZpbGxlZCB3aXRoCitibGFua3MuICBUaGUgZmlyc3QgY29sdW1uIGlzIHRoZSBSQU0gYWRkcmVzcyBvZiBhIGtlcm5lbCBmdW5jdGlvbiwKK3RoZSBzZWNvbmQgaXMgdGhlIG5hbWUgb2YgdGhlIGZ1bmN0aW9uLCB0aGUgdGhpcmQgaXMgdGhlIG51bWJlciBvZgorY2xvY2sgdGlja3MgYW5kIHRoZSBsYXN0IGlzIHRoZSBub3JtYWxpemVkIGxvYWQuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKK0Jyb3dzZSB0aGUgcHJvZmlsaW5nIGJ1ZmZlciBvcmRlcmluZyBieSBjbG9jayB0aWNrczoKKy5uZgorICAgcmVhZHByb2ZpbGUgfCBzb3J0IC1uciB8IGxlc3MKKworLmZpCitQcmludCB0aGUgMjAgbW9zdCBsb2FkZWQgcHJvY2VkdXJlczoKKy5uZgorICAgcmVhZHByb2ZpbGUgfCBzb3J0IC1uciArMiB8IGhlYWQgLTIwCisKKy5maQorUHJpbnQgb25seSBmaWxlc3lzdGVtIHByb2ZpbGU6CisubmYKKyAgIHJlYWRwcm9maWxlIHwgZ3JlcCBfZXh0MgorCisuZmkKK0xvb2sgYXQgYWxsIHRoZSBrZXJuZWwgaW5mb3JtYXRpb24sIHdpdGggcmFtIGFkZHJlc3NlczoKKy5uZgorICAgcmVhZHByb2ZpbGUgLWF2IHwgbGVzcworCisuZmkKK0Jyb3dzZSBhIGBmcmVlemVkJyBwcm9maWxlIGJ1ZmZlciBmb3IgYSBub24gY3VycmVudCBrZXJuZWw6CisubmYKKyAgIHJlYWRwcm9maWxlIC1wIH4vcHJvZmlsZS5mcmVlemUgLW0gL3pJbWFnZS5tYXAuZ3oKKworLmZpCitSZXF1ZXN0IHByb2ZpbGluZyBhdCAya0h6IHBlciBDUFUsIGFuZCByZXNldCB0aGUgcHJvZmlsaW5nIGJ1ZmZlcjoKKy5uZgorICAgc3VkbyByZWFkcHJvZmlsZSAtTSAyMAorLmZpCisuU0ggQlVHUworLkxQCisuQiByZWFkcHJvZmlsZQorb25seSB3b3JrcyB3aXRoIGFuIDEuMy54IG9yIG5ld2VyIGtlcm5lbCwgYmVjYXVzZQorLkkgL3Byb2MvcHJvZmlsZQorY2hhbmdlZCBpbiB0aGUgc3RlcCBmcm9tIDEuMiB0byAxLjMKKy5MUAorVGhpcyBwcm9ncmFtIG9ubHkgd29ya3Mgd2l0aCBFTEYga2VybmVscy4gIFRoZSBjaGFuZ2UgZm9yIGEub3V0CitrZXJuZWxzIGlzIHRyaXZpYWwsIGFuZCBsZWZ0IGFzIGFuIGV4ZXJjaXNlIHRvIHRoZSBhLm91dCB1c2VyLgorLkxQCitUbyBlbmFibGUgcHJvZmlsaW5nLCB0aGUga2VybmVsIG11c3QgYmUgcmVib290ZWQsIGJlY2F1c2Ugbm8KK3Byb2ZpbGluZyBtb2R1bGUgaXMgYXZhaWxhYmxlLCBhbmQgaXQgd291bGRuJ3QgYmUgZWFzeSB0byBidWlsZC4gIFRvCitlbmFibGUgcHJvZmlsaW5nLCB5b3UgY2FuIHNwZWNpZnkgInByb2ZpbGU9MiIgKG9yIGFub3RoZXIgbnVtYmVyKSBvbgordGhlIGtlcm5lbCBjb21tYW5kbGluZS4gIFRoZSBudW1iZXIgeW91IHNwZWNpZnkgaXMgdGhlIHR3by1leHBvbmVudAordXNlZCBhcyBwcm9maWxpbmcgc3RlcC4KKy5MUAorUHJvZmlsaW5nIGlzIGRpc2FibGVkIHdoZW4gaW50ZXJydXB0cyBhcmUgaW5oaWJpdGVkLiAgVGhpcyBtZWFucyB0aGF0CittYW55IHByb2ZpbGluZyB0aWNrcyBoYXBwZW4gd2hlbiBpbnRlcnJ1cHRzIGFyZSByZS1lbmFibGVkLiAgV2F0Y2gKK291dCBmb3IgbWlzbGVhZGluZyBpbmZvcm1hdGlvbi4KKy5TSCBGSUxFUworLm5mCisvcHJvYy9wcm9maWxlICAgICAgICAgICAgICBBIGJpbmFyeSBzbmFwc2hvdCBvZiB0aGUgcHJvZmlsaW5nIGJ1ZmZlci4KKy91c3Ivc3JjL2xpbnV4L1N5c3RlbS5tYXAgIFRoZSBzeW1ib2wgdGFibGUgZm9yIHRoZSBrZXJuZWwuCisvdXNyL3NyYy9saW51eC8qICAgICAgICAgICBUaGUgcHJvZ3JhbSBiZWluZyBwcm9maWxlZCA6LSkKKy5maQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHJlYWRwcm9maWxlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcworYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3JlYWRwcm9maWxlLmMgYi9zeXMtdXRpbHMvcmVhZHByb2ZpbGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMzUwNzM4Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3JlYWRwcm9maWxlLmMKQEAgLTAsMCArMSw0MDcgQEAKKy8qCisgKiAgcmVhZHByb2ZpbGUuYyAtIHVzZWQgdG8gcmVhZCAvcHJvYy9wcm9maWxlCisgKgorICogIENvcHlyaWdodCAoQykgMTk5NCwxOTk2IEFsZXNzYW5kcm8gUnViaW5pIChydWJpbmlAaXB2dmlzLnVuaXB2Lml0KQorICoKKyAqICAgVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqICAgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqICAgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiAgIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogICB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogICA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKy8qCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKiAxOTk5LTA5LTAxIFN0ZXBoYW5lIEVyYW5pYW4gPGVyYW5pYW5AY2VsbG8uaHBsLmhwLmNvbT4KKyAqIC0gNjRiaXQgY2xlYW4gcGF0Y2gKKyAqIDNGZWIyMDAxIEFuZHJldyBNb3J0b24gPGFuZHJld21AdW93LmVkdS5hdT4KKyAqIC0gLU0gb3B0aW9uIHRvIHdyaXRlIHByb2ZpbGUgbXVsdGlwbGllci4KKyAqIDIwMDEtMTEtMDcgV2VybmVyIEFsbWVzYmVyZ2VyIDx3YUBhbG1lc2Jlcmdlci5uZXQ+CisgKiAtIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb24gYW5kIC1uIG9wdGlvbgorICogMjAwMS0xMS0wOSBXZXJuZXIgQWxtZXNiZXJnZXIgPHdhQGFsbWVzYmVyZ2VyLm5ldD4KKyAqIC0gc2tpcCBzdGVwIHNpemUgKGluZGV4IDApCisgKiAyMDAyLTAzLTA5IEpvaG4gTGV2b24gPG1vekBjb21wc29jLm1hbi5hYy51az4KKyAqIC0gbWFrZSBtYXBsaW5lbm8gZG8gc29tZXRoaW5nCisgKiAyMDAyLTExLTI4IE1hZHMgTWFydGluIEpvZXJnZW5zZW4gKworICogLSBhbHNvIHRyeSAvYm9vdC9TeXN0ZW0ubWFwLWB1bmFtZSAtcmAKKyAqIDIwMDMtMDQtMDkgV2VybmVyIEFsbWVzYmVyZ2VyIDx3YUBhbG1lc2Jlcmdlci5uZXQ+CisgKiAtIGZpeGVkIG9mZi1ieSBlaWdodCBlcnJvciBhbmQgaW1wcm92ZWQgaGV1cmlzdGljcyBpbiBieXRlIG9yZGVyIGRldGVjdGlvbgorICogMjAwMy0wOC0xMiBOaWtpdGEgRGFuaWxvdiA8TmlraXRhQE5hbWVzeXMuQ09NPgorICogLSBhZGRlZCAtcyBvcHRpb247IGV4YW1wbGUgb2YgdXNlOgorICogInJlYWRwcm9maWxlIC1zIC1tIC9ib290L1N5c3RlbS5tYXAtdGVzdCB8IGdyZXAgX19kX2xvb2t1cCB8IHNvcnQgLW4gLWszIgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lIFNfTEVOIDEyOAorCisvKiBUaGVzZSBhcmUgdGhlIGRlZmF1bHRzICovCitzdGF0aWMgY2hhciBkZWZhdWx0bWFwW109Ii9ib290L1N5c3RlbS5tYXAiOworc3RhdGljIGNoYXIgZGVmYXVsdHByb1tdPSIvcHJvYy9wcm9maWxlIjsKKworc3RhdGljIEZJTEUgKm15b3BlbihjaGFyICpuYW1lLCBjaGFyICptb2RlLCBpbnQgKmZsYWcpCit7CisJaW50IGxlbiA9IHN0cmxlbihuYW1lKTsKKworCWlmICghc3RyY21wKG5hbWUgKyBsZW4gLSAzLCAiLmd6IikpIHsKKwkJRklMRSAqcmVzOworCQljaGFyICpjbWRsaW5lID0geG1hbGxvYyhsZW4gKyA2KTsKKwkJc3ByaW50ZihjbWRsaW5lLCAiemNhdCAlcyIsIG5hbWUpOworCQlyZXMgPSBwb3BlbihjbWRsaW5lLCBtb2RlKTsKKwkJZnJlZShjbWRsaW5lKTsKKwkJKmZsYWcgPSAxOworCQlyZXR1cm4gcmVzOworCX0KKwkqZmxhZyA9IDA7CisJcmV0dXJuIGZvcGVuKG5hbWUsIG1vZGUpOworfQorCisjaWZuZGVmIEJPT1RfU1lTVEVNX01BUAorI2RlZmluZSBCT09UX1NZU1RFTV9NQVAgIi9ib290L1N5c3RlbS5tYXAtIgorI2VuZGlmCisKK3N0YXRpYyBjaGFyICpib290X3VuYW1lX3Jfc3RyKHZvaWQpCit7CisJc3RydWN0IHV0c25hbWUgdW5hbWVfaW5mbzsKKwljaGFyICpzOworCXNpemVfdCBsZW47CisKKwlpZiAodW5hbWUoJnVuYW1lX2luZm8pKQorCQlyZXR1cm4gIiI7CisJbGVuID0gc3RybGVuKEJPT1RfU1lTVEVNX01BUCkgKyBzdHJsZW4odW5hbWVfaW5mby5yZWxlYXNlKSArIDE7CisJcyA9IHhtYWxsb2MobGVuKTsKKwlzdHJjcHkocywgQk9PVF9TWVNURU1fTUFQKTsKKwlzdHJjYXQocywgdW5hbWVfaW5mby5yZWxlYXNlKTsKKwlyZXR1cm4gczsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc3BsYXkga2VybmVsIHByb2ZpbGluZyBpbmZvcm1hdGlvbi5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgLW0sIC0tbWFwZmlsZSA8bWFwZmlsZT4gICAoZGVmYXVsdHM6IFwiJXNcIiBhbmRcbiIpLCBkZWZhdWx0bWFwKTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiJXNcIilcbiIpLCBib290X3VuYW1lX3Jfc3RyKCkpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAtcCwgLS1wcm9maWxlIDxwcm8tZmlsZT4gIChkZWZhdWx0OiAgXCIlc1wiKVxuIiksIGRlZmF1bHRwcm8pOworCWZwdXRzKF8oIiAtTSwgLS1tdWx0aXBsaWVyIDxtdWx0PiAgIHNldCB0aGUgcHJvZmlsaW5nIG11bHRpcGxpZXIgdG8gPG11bHQ+XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taW5mbyAgICAgICAgICAgICAgICBwcmludCBvbmx5IGluZm8gYWJvdXQgdGhlIHNhbXBsaW5nIHN0ZXBcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgIHByaW50IHZlcmJvc2UgZGF0YVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICAgcHJpbnQgYWxsIHN5bWJvbHMsIGV2ZW4gaWYgY291bnQgaXMgMFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLWhpc3RiaW4gICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBoaXN0b2dyYW0tYmluIGNvdW50c1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLWNvdW50ZXJzICAgICAgICAgICAgcHJpbnQgaW5kaXZpZHVhbCBjb3VudGVycyB3aXRoaW4gZnVuY3Rpb25zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgdGhlIGNvdW50ZXJzIChyb290IG9ubHkpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm8tYXV0byAgICAgICAgICAgICBkaXNhYmxlIGJ5dGUgb3JkZXIgYXV0by1kZXRlY3Rpb25cbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI3KSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJyZWFkcHJvZmlsZSg4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlGSUxFICptYXA7CisJaW50IHByb0ZkOworCWNoYXIgKm1hcEZpbGUsICpwcm9GaWxlLCAqbXVsdCA9IE5VTEw7CisJc2l6ZV90IGxlbiA9IDAsIGluZHggPSAxOworCXVuc2lnbmVkIGxvbmcgbG9uZyBhZGQwID0gMDsKKwl1bnNpZ25lZCBpbnQgc3RlcDsKKwl1bnNpZ25lZCBpbnQgKmJ1ZiwgdG90YWwsIGZuX2xlbjsKKwl1bnNpZ25lZCBsb25nIGxvbmcgZm5fYWRkLCBuZXh0X2FkZDsJLyogY3VycmVudCBhbmQgbmV4dCBhZGRyZXNzICovCisJY2hhciBmbl9uYW1lW1NfTEVOXSwgbmV4dF9uYW1lW1NfTEVOXTsJLyogY3VycmVudCBhbmQgbmV4dCBuYW1lICovCisJY2hhciBtb2RlWzhdOworCWludCBjOworCXNzaXplX3QgcmM7CisJaW50IG9wdEFsbCA9IDAsIG9wdEluZm8gPSAwLCBvcHRSZXNldCA9IDAsIG9wdFZlcmJvc2UgPSAwLCBvcHROYXRpdmUgPSAwOworCWludCBvcHRCaW5zID0gMCwgb3B0U3ViID0gMDsKKwljaGFyIG1hcGxpbmVbU19MRU5dOworCWludCBtYXBsaW5lbm8gPSAxOworCWludCBwb3Blbk1hcDsJCS8qIGZsYWcgdG8gdGVsbCBpZiBwb3BlbigpIGhhcyBiZWVuIHVzZWQgKi8KKwlpbnQgaGVhZGVyX3ByaW50ZWQ7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7Im1hcGZpbGUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ20nfSwKKwkJeyJwcm9maWxlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdwJ30sCisJCXsibXVsdGlwbGllciIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTSd9LAorCQl7ImluZm8iLCBub19hcmd1bWVudCwgTlVMTCwgJ2knfSwKKwkJeyJ2ZXJib3NlIiwgbm9fYXJndW1lbnQsIE5VTEwsICd2J30sCisJCXsiYWxsIiwgbm9fYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsiaGlzdGJpbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnYid9LAorCQl7ImNvdW50ZXJzIiwgbm9fYXJndW1lbnQsIE5VTEwsICdzJ30sCisJCXsicmVzZXQiLCBub19hcmd1bWVudCwgTlVMTCwgJ3InfSwKKwkJeyJuby1hdXRvIiwgbm9fYXJndW1lbnQsIE5VTEwsICduJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworI2RlZmluZSBuZXh0IChjdXJyZW50XjEpCisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJcHJvRmlsZSA9IGRlZmF1bHRwcm87CisJbWFwRmlsZSA9IGRlZmF1bHRtYXA7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAibTpwOk06aXZhYnNyblZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnbSc6CisJCQltYXBGaWxlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJb3B0TmF0aXZlKys7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQlwcm9GaWxlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJb3B0QWxsKys7CisJCQlicmVhazsKKwkJY2FzZSAnYic6CisJCQlvcHRCaW5zKys7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlvcHRTdWIrKzsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCW9wdEluZm8rKzsKKwkJCWJyZWFrOworCQljYXNlICdNJzoKKwkJCW11bHQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlvcHRSZXNldCsrOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJb3B0VmVyYm9zZSsrOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAob3B0UmVzZXQgfHwgbXVsdCkgeworCQlpbnQgbXVsdGlwbGllciwgZmQsIHRvX3dyaXRlOworCisJCS8qIFdoZW4gd3JpdGluZyB0aGUgbXVsdGlwbGllciwgaWYgdGhlIGxlbmd0aCBvZiB0aGUKKwkJICogd3JpdGUgaXMgbm90IHNpemVvZihpbnQpLCB0aGUgbXVsdGlwbGllciBpcyBub3QKKwkJICogY2hhbmdlZC4gKi8KKwkJaWYgKG11bHQpIHsKKwkJCW11bHRpcGxpZXIgPSBzdHJ0b3VsKG11bHQsIE5VTEwsIDEwKTsKKwkJCXRvX3dyaXRlID0gc2l6ZW9mKGludCk7CisJCX0gZWxzZSB7CisJCQltdWx0aXBsaWVyID0gMDsKKwkJCS8qIHN0aCBkaWZmZXJlbnQgZnJvbSBzaXplb2YoaW50KSAqLworCQkJdG9fd3JpdGUgPSAxOworCQl9CisJCS8qIHRyeSB0byBiZWNvbWUgcm9vdCwganVzdCBpbiBjYXNlICovCisJCWlnbm9yZV9yZXN1bHQoIHNldHVpZCgwKSApOworCQlmZCA9IG9wZW4oZGVmYXVsdHBybywgT19XUk9OTFkpOworCQlpZiAoZmQgPCAwKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgZGVmYXVsdHBybyk7CisJCWlmICh3cml0ZShmZCwgJm11bHRpcGxpZXIsIHRvX3dyaXRlKSAhPSB0b193cml0ZSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImVycm9yIHdyaXRpbmcgJXMiKSwgZGVmYXVsdHBybyk7CisJCWNsb3NlKGZkKTsKKwkJZXhpdChFWElUX1NVQ0NFU1MpOworCX0KKworCS8qIFVzZSBhbiBmZCBmb3IgdGhlIHByb2ZpbGluZyBidWZmZXIsIHRvIHNraXAgc3RkaW8gb3ZlcmhlYWQgKi8KKwlpZiAoKChwcm9GZCA9IG9wZW4ocHJvRmlsZSwgT19SRE9OTFkpKSA8IDApCisJICAgIHx8ICgoaW50KShsZW4gPSBsc2Vlayhwcm9GZCwgMCwgU0VFS19FTkQpKSA8IDApCisJICAgIHx8IChsc2Vlayhwcm9GZCwgMCwgU0VFS19TRVQpIDwgMCkpCisJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIHByb0ZpbGUpOworCisJYnVmID0geG1hbGxvYyhsZW4pOworCisJcmMgPSByZWFkKHByb0ZkLCBidWYsIGxlbik7CisJaWYgKHJjIDwgMCB8fCAoc2l6ZV90KSByYyAhPSBsZW4pCisJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIHByb0ZpbGUpOworCWNsb3NlKHByb0ZkKTsKKworCWlmICghb3B0TmF0aXZlKSB7CisJCWludCBlbnRyaWVzID0gbGVuIC8gc2l6ZW9mKCpidWYpOworCQlpbnQgYmlnID0gMCwgc21hbGwgPSAwOworCQl1bnNpZ25lZCAqcDsKKwkJc2l6ZV90IGk7CisKKwkJZm9yIChwID0gYnVmICsgMTsgcCA8IGJ1ZiArIGVudHJpZXM7IHArKykgeworCQkJaWYgKCpwICYgfjBVIDw8IChzaXplb2YoKmJ1ZikgKiA0KSkKKwkJCQliaWcrKzsKKwkJCWlmICgqcCAmICgoMSA8PCAoc2l6ZW9mKCpidWYpICogNCkpIC0gMSkpCisJCQkJc21hbGwrKzsKKwkJfQorCQlpZiAoYmlnID4gc21hbGwpIHsKKwkJCXdhcm54KF8oIkFzc3VtaW5nIHJldmVyc2VkIGJ5dGUgb3JkZXIuICIKKwkJCQkiVXNlIC1uIHRvIGZvcmNlIG5hdGl2ZSBieXRlIG9yZGVyLiIpKTsKKwkJCWZvciAocCA9IGJ1ZjsgcCA8IGJ1ZiArIGVudHJpZXM7IHArKykKKwkJCQlmb3IgKGkgPSAwOyBpIDwgc2l6ZW9mKCpidWYpIC8gMjsgaSsrKSB7CisJCQkJCXVuc2lnbmVkIGNoYXIgKmIgPSAodW5zaWduZWQgY2hhciAqKXA7CisJCQkJCXVuc2lnbmVkIGNoYXIgdG1wOworCQkJCQl0bXAgPSBiW2ldOworCQkJCQliW2ldID0gYltzaXplb2YoKmJ1ZikgLSBpIC0gMV07CisJCQkJCWJbc2l6ZW9mKCpidWYpIC0gaSAtIDFdID0gdG1wOworCQkJCX0KKwkJfQorCX0KKworCXN0ZXAgPSBidWZbMF07CisJaWYgKG9wdEluZm8pIHsKKwkJcHJpbnRmKF8oIlNhbXBsaW5nX3N0ZXA6ICV1XG4iKSwgc3RlcCk7CisJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwl9CisKKwl0b3RhbCA9IDA7CisKKwltYXAgPSBteW9wZW4obWFwRmlsZSwgInIiLCAmcG9wZW5NYXApOworCWlmIChtYXAgPT0gTlVMTCAmJiBtYXBGaWxlID09IGRlZmF1bHRtYXApIHsKKwkJbWFwRmlsZSA9IGJvb3RfdW5hbWVfcl9zdHIoKTsKKwkJbWFwID0gbXlvcGVuKG1hcEZpbGUsICJyIiwgJnBvcGVuTWFwKTsKKwl9CisJaWYgKG1hcCA9PSBOVUxMKQorCQllcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBtYXBGaWxlKTsKKworCXdoaWxlIChmZ2V0cyhtYXBsaW5lLCBTX0xFTiwgbWFwKSkgeworCQlpZiAoc3NjYW5mKG1hcGxpbmUsICIlbGx4ICU3W15cbiBdICUxMjdbXlxuIF0iLCAmZm5fYWRkLCBtb2RlLCBmbl9uYW1lKSAhPSAzKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzKCVpKTogd3JvbmcgbWFwIGxpbmUiKSwgbWFwRmlsZSwKKwkJCSAgICAgbWFwbGluZW5vKTsKKwkJLyogb25seSBlbGYgd29ya3MgbGlrZSB0aGlzICovCisJCWlmICghc3RyY21wKGZuX25hbWUsICJfc3RleHQiKSB8fCAhc3RyY21wKGZuX25hbWUsICJfX3N0ZXh0IikpIHsKKwkJCWFkZDAgPSBmbl9hZGQ7CisJCQlicmVhazsKKwkJfQorCQltYXBsaW5lbm8rKzsKKwl9CisKKwlpZiAoIWFkZDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJjYW4ndCBmaW5kIFwiX3N0ZXh0XCIgaW4gJXMiKSwgbWFwRmlsZSk7CisKKwkvKgorCSAqIE1haW4gbG9vcC4KKwkgKi8KKwl3aGlsZSAoZmdldHMobWFwbGluZSwgU19MRU4sIG1hcCkpIHsKKwkJdW5zaWduZWQgaW50IHRoaXMgPSAwOworCQlpbnQgZG9uZSA9IDA7CisKKwkJaWYgKHNzY2FuZihtYXBsaW5lLCAiJWxseCAlN1teXG4gXSAlMTI3W15cbiBdIiwgJm5leHRfYWRkLCBtb2RlLCBuZXh0X25hbWUpICE9IDMpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMoJWkpOiB3cm9uZyBtYXAgbGluZSIpLCBtYXBGaWxlLAorCQkJICAgICBtYXBsaW5lbm8pOworCQloZWFkZXJfcHJpbnRlZCA9IDA7CisKKwkJLyogdGhlIGtlcm5lbCBvbmx5IHByb2ZpbGVzIHVwIHRvIF9ldGV4dCAqLworCQlpZiAoIXN0cmNtcChuZXh0X25hbWUsICJfZXRleHQiKSB8fAorCQkgICAgIXN0cmNtcChuZXh0X25hbWUsICJfX2V0ZXh0IikpCisJCQlkb25lID0gMTsKKwkJZWxzZSB7CisJCQkvKiBpZ25vcmUgYW55IExFQURJTkcgKGJlZm9yZSBhICdbdFRdJyBzeW1ib2wKKwkJCSAqIGlzIGZvdW5kKSBBYnNvbHV0ZSBzeW1ib2xzIGFuZCBfX2luaXRfZW5kCisJCQkgKiBiZWNhdXNlIHNvbWUgYXJjaGl0ZWN0dXJlcyBwbGFjZSBpdCBiZWZvcmUKKwkJCSAqIC50ZXh0IHNlY3Rpb24gKi8KKwkJCWlmICgoKm1vZGUgPT0gJ0EnIHx8ICptb2RlID09ICc/JykKKwkJCSAgICAmJiAodG90YWwgPT0gMCB8fCAhc3RyY21wKG5leHRfbmFtZSwgIl9faW5pdF9lbmQiKSkpCisJCQkJY29udGludWU7CisJCQlpZiAoKm1vZGUgIT0gJ1QnICYmICptb2RlICE9ICd0JyAmJgorCQkJICAgICptb2RlICE9ICdXJyAmJiAqbW9kZSAhPSAndycpCisJCQkJYnJlYWs7CS8qIG9ubHkgdGV4dCBpcyBwcm9maWxlZCAqLworCQl9CisKKwkJaWYgKGluZHggPj0gbGVuIC8gc2l6ZW9mKCpidWYpKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkgICAgIF8oInByb2ZpbGUgYWRkcmVzcyBvdXQgb2YgcmFuZ2UuIFdyb25nIG1hcCBmaWxlPyIpKTsKKworCQl3aGlsZSAoaW5keCA8IChuZXh0X2FkZCAtIGFkZDApIC8gc3RlcCkgeworCQkJaWYgKG9wdEJpbnMgJiYgKGJ1ZltpbmR4XSB8fCBvcHRBbGwpKSB7CisJCQkJaWYgKCFoZWFkZXJfcHJpbnRlZCkgeworCQkJCQlwcmludGYoIiVzOlxuIiwgZm5fbmFtZSk7CisJCQkJCWhlYWRlcl9wcmludGVkID0gMTsKKwkJCQl9CisJCQkJcHJpbnRmKCJcdCVsbHhcdCV1XG4iLCAoaW5keCAtIDEpICogc3RlcCArIGFkZDAsCisJCQkJICAgICAgIGJ1ZltpbmR4XSk7CisJCQl9CisJCQl0aGlzICs9IGJ1ZltpbmR4KytdOworCQl9CisJCXRvdGFsICs9IHRoaXM7CisKKwkJaWYgKG9wdEJpbnMpIHsKKwkJCWlmIChvcHRWZXJib3NlIHx8IHRoaXMgPiAwKQorCQkJCXByaW50ZigiICB0b3RhbFx0XHRcdFx0JXVcbiIsIHRoaXMpOworCQl9IGVsc2UgaWYgKCh0aGlzIHx8IG9wdEFsbCkgJiYKKwkJCSAgIChmbl9sZW4gPSBuZXh0X2FkZCAtIGZuX2FkZCkgIT0gMCkgeworCQkJaWYgKG9wdFZlcmJvc2UpCisJCQkJcHJpbnRmKCIlMDE2bGx4ICUtNDBzICU2dSAlOC40ZlxuIiwgZm5fYWRkLAorCQkJCSAgICAgICBmbl9uYW1lLCB0aGlzLCB0aGlzIC8gKGRvdWJsZSlmbl9sZW4pOworCQkJZWxzZQorCQkJCXByaW50ZigiJTZ1ICUtNDBzICU4LjRmXG4iLAorCQkJCSAgICAgICB0aGlzLCBmbl9uYW1lLCB0aGlzIC8gKGRvdWJsZSlmbl9sZW4pOworCQkJaWYgKG9wdFN1YikgeworCQkJCXVuc2lnbmVkIGxvbmcgbG9uZyBzY2FuOworCisJCQkJZm9yIChzY2FuID0gKGZuX2FkZCAtIGFkZDApIC8gc3RlcCArIDE7CisJCQkJICAgICBzY2FuIDwgKG5leHRfYWRkIC0gYWRkMCkgLyBzdGVwOworCQkJCSAgICAgc2NhbisrKSB7CisJCQkJCXVuc2lnbmVkIGxvbmcgbG9uZyBhZGRyOworCQkJCQlhZGRyID0gKHNjYW4gLSAxKSAqIHN0ZXAgKyBhZGQwOworCQkJCQlwcmludGYoIlx0JSNsbHhcdCVzKyUjbGx4XHQldVxuIiwKKwkJCQkJICAgICAgIGFkZHIsIGZuX25hbWUsIGFkZHIgLSBmbl9hZGQsCisJCQkJCSAgICAgICBidWZbc2Nhbl0pOworCQkJCX0KKwkJCX0KKwkJfQorCisJCWZuX2FkZCA9IG5leHRfYWRkOworCQlzdHJjcHkoZm5fbmFtZSwgbmV4dF9uYW1lKTsKKworCQltYXBsaW5lbm8rKzsKKwkJaWYgKGRvbmUpCisJCQlicmVhazsKKwl9CisKKwkvKiBjbG9jayB0aWNrcywgb3V0IG9mIGtlcm5lbCB0ZXh0IC0gcHJvYmFibHkgbW9kdWxlcyAqLworCXByaW50ZigiJTZ1ICVzXG4iLCBidWZbbGVuIC8gc2l6ZW9mKCpidWYpIC0gMV0sICIqdW5rbm93bioiKTsKKworCS8qIHRyYWlsZXIgKi8KKwlpZiAob3B0VmVyYm9zZSkKKwkJcHJpbnRmKCIlMDE2eCAlLTQwcyAlNnUgJTguNGZcbiIsCisJCSAgICAgICAwLCAidG90YWwiLCB0b3RhbCwgdG90YWwgLyAoZG91YmxlKShmbl9hZGQgLSBhZGQwKSk7CisJZWxzZQorCQlwcmludGYoIiU2dSAlLTQwcyAlOC40ZlxuIiwKKwkJICAgICAgIHRvdGFsLCBfKCJ0b3RhbCIpLCB0b3RhbCAvIChkb3VibGUpKGZuX2FkZCAtIGFkZDApKTsKKworCXBvcGVuTWFwID8gcGNsb3NlKG1hcCkgOiBmY2xvc2UobWFwKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvcmVuaWNlLjEgYi9zeXMtdXRpbHMvcmVuaWNlLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmI3MzVmYQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9yZW5pY2UuMQpAQCAtMCwwICsxLDExOSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4MywgMTk5MSwgMTk5MworLlwiCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIylyZW5pY2UuOAk4LjEgKEJlcmtlbGV5KSA2LzkvOTMKKy5cIgorLlRIIFJFTklDRSAiMSIgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3JlbmljZSBcLSBhbHRlciBwcmlvcml0eSBvZiBydW5uaW5nIHByb2Nlc3NlcworLlNIIFNZTk9QU0lTCisuQiByZW5pY2UKKy5SQiBbIFwtbiBdCisuSSBwcmlvcml0eQorLlJCIFsgXC1nIHwgXC1wIHwgXC11IF0KKy5JUiBpZGVudGlmaWVyIC4uLgorLlNIIERFU0NSSVBUSU9OCisuQiByZW5pY2UKK2FsdGVycyB0aGUgc2NoZWR1bGluZyBwcmlvcml0eSBvZiBvbmUgb3IgbW9yZSBydW5uaW5nIHByb2Nlc3Nlcy4gIFRoZQorZmlyc3QgYXJndW1lbnQgaXMgdGhlIFxmSXByaW9yaXR5XGZSIHZhbHVlIHRvIGJlIHVzZWQuCitUaGUgb3RoZXIgYXJndW1lbnRzIGFyZSBpbnRlcnByZXRlZCBhcyBwcm9jZXNzIElEcyAoYnkgZGVmYXVsdCksCitwcm9jZXNzIGdyb3VwIElEcywgdXNlciBJRHMsIG9yIHVzZXIgbmFtZXMuCisuQlIgcmVuaWNlICdpbmcKK2EgcHJvY2VzcyBncm91cCBjYXVzZXMgYWxsIHByb2Nlc3NlcyBpbiB0aGUgcHJvY2VzcyBncm91cCB0byBoYXZlIHRoZWlyCitzY2hlZHVsaW5nIHByaW9yaXR5IGFsdGVyZWQuCisuQlIgcmVuaWNlICdpbmcKK2EgdXNlciBjYXVzZXMgYWxsIHByb2Nlc3NlcyBvd25lZCBieSB0aGUgdXNlciB0byBoYXZlIHRoZWlyIHNjaGVkdWxpbmcKK3ByaW9yaXR5IGFsdGVyZWQuCisuUFAKKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1wcmlvcml0eSAiIFxmSXByaW9yaXR5XGZSCitTcGVjaWZ5IHRoZSBzY2hlZHVsaW5nCisuSSBwcmlvcml0eQordG8gYmUgdXNlZCBmb3IgdGhlIHByb2Nlc3MsIHByb2Nlc3MgZ3JvdXAsIG9yIHVzZXIuICBVc2Ugb2YgdGhlIG9wdGlvbgorLkJSIFwtbiAiIG9yICIgXC1cLXByaW9yaXR5CitpcyBvcHRpb25hbCwgYnV0IHdoZW4gdXNlZCBpdCBtdXN0IGJlIHRoZSBmaXJzdCBhcmd1bWVudC4KKy5UUAorLkJSIFwtZyAsICIgXC1cLXBncnAKK0ludGVycHJldCB0aGUgc3VjY2VlZGluZyBhcmd1bWVudHMgYXMgcHJvY2VzcyBncm91cCBJRHMuCisuVFAKKy5CUiBcLXAgLCAiIFwtXC1waWQKK0ludGVycHJldCB0aGUgc3VjY2VlZGluZyBhcmd1bWVudHMgYXMgcHJvY2VzcyBJRHMKKyh0aGUgZGVmYXVsdCkuCisuVFAKKy5CUiBcLXUgLCAiIFwtXC11c2VyCitJbnRlcnByZXQgdGhlIHN1Y2NlZWRpbmcgYXJndW1lbnRzIGFzIHVzZXJuYW1lcyBvciBVSURzLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFWEFNUExFUworVGhlIGZvbGxvd2luZyBjb21tYW5kIHdvdWxkIGNoYW5nZSB0aGUgcHJpb3JpdHkgb2YgdGhlIHByb2Nlc3NlcyB3aXRoCitQSURzIDk4NyBhbmQgMzIsIHBsdXMgYWxsIHByb2Nlc3NlcyBvd25lZCBieSB0aGUgdXNlcnMgZGFlbW9uIGFuZCByb290OgorLlRQCisuQiAiICAgICAgIHJlbmljZSIgKzEgOTg3IC11IGRhZW1vbiByb290IC1wIDMyCisuU0ggTk9URVMKK1VzZXJzIG90aGVyIHRoYW4gdGhlIHN1cGVydXNlciBtYXkgb25seSBhbHRlciB0aGUgcHJpb3JpdHkgb2YgcHJvY2Vzc2VzIHRoZXkKK293bi4gIEZ1cnRoZXJtb3JlLCBhbiB1bnByaXZpbGVnZWQgdXNlciBjYW4gb25seQorLkkgaW5jcmVhc2UKK3RoZSBgYG5pY2UgdmFsdWUnJyAoaS5lLiwgY2hvb3NlIGEgbG93ZXIgcHJpb3JpdHkpCithbmQgc3VjaCBjaGFuZ2VzIGFyZSBpcnJldmVyc2libGUgdW5sZXNzIChzaW5jZSBMaW51eCAyLjYuMTIpCit0aGUgdXNlciBoYXMgYSBzdWl0YWJsZSBgYG5pY2UnJyByZXNvdXJjZSBsaW1pdCAoc2VlCisuQlIgdWxpbWl0ICgxKQorYW5kCisuQlIgZ2V0cmxpbWl0ICgyKSkuCisKK1RoZSBzdXBlcnVzZXIgbWF5IGFsdGVyIHRoZSBwcmlvcml0eSBvZiBhbnkgcHJvY2VzcyBhbmQgc2V0IHRoZSBwcmlvcml0eSB0byBhbnkKK3ZhbHVlIGluIHRoZSByYW5nZSBcLTIwIHRvIDE5LgorVXNlZnVsIHByaW9yaXRpZXMgYXJlOiAxOSAodGhlIGFmZmVjdGVkIHByb2Nlc3NlcyB3aWxsIHJ1biBvbmx5IHdoZW4gbm90aGluZworZWxzZSBpbiB0aGUgc3lzdGVtIHdhbnRzIHRvKSwgMCAodGhlIGBgYmFzZScnIHNjaGVkdWxpbmcgcHJpb3JpdHkpLCBhbnl0aGluZworbmVnYXRpdmUgKHRvIG1ha2UgdGhpbmdzIGdvIHZlcnkgZmFzdCkuCisuU0ggRklMRVMKKy5UUAorLkkgL2V0Yy9wYXNzd2QKK3RvIG1hcCB1c2VyIG5hbWVzIHRvIHVzZXIgSURzCisuU0ggU0VFIEFMU08KKy5CUiBuaWNlICgxKSwKKy5CUiBnZXRwcmlvcml0eSAoMiksCisuQlIgc2V0cHJpb3JpdHkgKDIpLAorLkJSIGNyZWRlbnRpYWxzICg3KSwKKy5CUiBzY2hlZCAoNykKKy5TSCBISVNUT1JZCitUaGUKKy5CIHJlbmljZQorY29tbWFuZCBhcHBlYXJlZCBpbiA0LjBCU0QuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgcmVuaWNlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvcmVuaWNlLmMgYi9zeXMtdXRpbHMvcmVuaWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FlNzFmOQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9yZW5pY2UuYwpAQCAtMCwwICsxLDE5NiBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4MywgMTk4OSwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisgLyogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3Jlc291cmNlLmg+CisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKK3N0YXRpYyBjb25zdCBjaGFyICppZHR5cGVbXSA9IHsKKwlbUFJJT19QUk9DRVNTXQk9IE5fKCJwcm9jZXNzIElEIiksCisJW1BSSU9fUEdSUF0JPSBOXygicHJvY2VzcyBncm91cCBJRCIpLAorCVtQUklPX1VTRVJdCT0gTl8oInVzZXIgSUQiKSwKK307CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJTEkcyBbLW5dIDxwcmlvcml0eT4gWy1wfC0tcGlkXSA8cGlkPi4uLlxuIgorCQkiICUxJHMgWy1uXSA8cHJpb3JpdHk+ICAtZ3wtLXBncnAgPHBnaWQ+Li4uXG4iCisJCSIgJTEkcyBbLW5dIDxwcmlvcml0eT4gIC11fC0tdXNlciA8dXNlcj4uLi5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQWx0ZXIgdGhlIHByaW9yaXR5IG9mIHJ1bm5pbmcgcHJvY2Vzc2VzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1wcmlvcml0eSA8bnVtPiAgIHNwZWNpZnkgdGhlIG5pY2UgaW5jcmVtZW50IHZhbHVlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tcGlkIDxpZD4gICAgICAgICBpbnRlcnByZXQgYXJndW1lbnQgYXMgcHJvY2VzcyBJRCAoZGVmYXVsdClcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZywgLS1wZ3JwIDxpZD4gICAgICAgIGludGVycHJldCBhcmd1bWVudCBhcyBwcm9jZXNzIGdyb3VwIElEXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdXNlciA8bmFtZT58PGlkPiBpbnRlcnByZXQgYXJndW1lbnQgYXMgdXNlcm5hbWUgb3IgdXNlciBJRFxuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjQpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInJlbmljZSgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgZ2V0cHJpbyhjb25zdCBpbnQgd2hpY2gsIGNvbnN0IGludCB3aG8sIGludCAqcHJpbykKK3sKKwllcnJubyA9IDA7CisJKnByaW8gPSBnZXRwcmlvcml0eSh3aGljaCwgd2hvKTsKKwlpZiAoKnByaW8gPT0gLTEgJiYgZXJybm8pIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gZ2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIiksIHdobywgaWR0eXBlW3doaWNoXSk7CisJCXJldHVybiAtZXJybm87CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGRvbmljZShjb25zdCBpbnQgd2hpY2gsIGNvbnN0IGludCB3aG8sIGNvbnN0IGludCBwcmlvKQoreworCWludCBvbGRwcmlvLCBuZXdwcmlvOworCisJaWYgKGdldHByaW8od2hpY2gsIHdobywgJm9sZHByaW8pICE9IDApCisJCXJldHVybiAxOworCWlmIChzZXRwcmlvcml0eSh3aGljaCwgd2hvLCBwcmlvKSA8IDApIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gc2V0IHByaW9yaXR5IGZvciAlZCAoJXMpIiksIHdobywgaWR0eXBlW3doaWNoXSk7CisJCXJldHVybiAxOworCX0KKwlpZiAoZ2V0cHJpbyh3aGljaCwgd2hvLCAmbmV3cHJpbykgIT0gMCkKKwkJcmV0dXJuIDE7CisJcHJpbnRmKF8oIiVkICglcykgb2xkIHByaW9yaXR5ICVkLCBuZXcgcHJpb3JpdHkgJWRcbiIpLAorCSAgICAgICB3aG8sIGlkdHlwZVt3aGljaF0sIG9sZHByaW8sIG5ld3ByaW8pOworCXJldHVybiAwOworfQorCisvKgorICogQ2hhbmdlIHRoZSBwcmlvcml0eSAodGhlIG5pY2UgdmFsdWUpIG9mIHByb2Nlc3NlcworICogb3IgZ3JvdXBzIG9mIHByb2Nlc3NlcyB3aGljaCBhcmUgYWxyZWFkeSBydW5uaW5nLgorICovCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IHdoaWNoID0gUFJJT19QUk9DRVNTOworCWludCB3aG8gPSAwLCBwcmlvLCBlcnJzID0gMDsKKwljaGFyICplbmRwdHIgPSBOVUxMOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWFyZ2MtLTsKKwlhcmd2Kys7CisKKwlpZiAoYXJnYyA9PSAxKSB7CisJCWlmIChzdHJjbXAoKmFyZ3YsICItaCIpID09IDAgfHwKKwkJICAgIHN0cmNtcCgqYXJndiwgIi0taGVscCIpID09IDApCisJCQl1c2FnZSgpOworCisJCWlmIChzdHJjbXAoKmFyZ3YsICItdiIpID09IDAgfHwKKwkJICAgIHN0cmNtcCgqYXJndiwgIi1WIikgPT0gMCB8fAorCQkgICAgc3RyY21wKCphcmd2LCAiLS12ZXJzaW9uIikgPT0gMCkgeworCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQl9CisJfQorCisJaWYgKCphcmd2ICYmIChzdHJjbXAoKmFyZ3YsICItbiIpID09IDAgfHwgc3RyY21wKCphcmd2LCAiLS1wcmlvcml0eSIpID09IDApKSB7CisJCWFyZ2MtLTsKKwkJYXJndisrOworCX0KKworCWlmIChhcmdjIDwgMikgeworCQl3YXJueChfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCXByaW8gPSBzdHJ0b2woKmFyZ3YsICZlbmRwdHIsIDEwKTsKKwlpZiAoKmVuZHB0cikgeworCQl3YXJueChfKCJpbnZhbGlkIHByaW9yaXR5ICclcyciKSwgKmFyZ3YpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCWFyZ2MtLTsKKwlhcmd2Kys7CisKKwlmb3IgKDsgYXJnYyA+IDA7IGFyZ2MtLSwgYXJndisrKSB7CisJCWlmIChzdHJjbXAoKmFyZ3YsICItZyIpID09IDAgfHwgc3RyY21wKCphcmd2LCAiLS1wZ3JwIikgPT0gMCkgeworCQkJd2hpY2ggPSBQUklPX1BHUlA7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoc3RyY21wKCphcmd2LCAiLXUiKSA9PSAwIHx8IHN0cmNtcCgqYXJndiwgIi0tdXNlciIpID09IDApIHsKKwkJCXdoaWNoID0gUFJJT19VU0VSOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHN0cmNtcCgqYXJndiwgIi1wIikgPT0gMCB8fCBzdHJjbXAoKmFyZ3YsICItLXBpZCIpID09IDApIHsKKwkJCXdoaWNoID0gUFJJT19QUk9DRVNTOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHdoaWNoID09IFBSSU9fVVNFUikgeworCQkJc3RydWN0IHBhc3N3ZCAqcHdkID0gZ2V0cHduYW0oKmFyZ3YpOworCisJCQlpZiAocHdkICE9IE5VTEwpCisJCQkJd2hvID0gcHdkLT5wd191aWQ7CisJCQllbHNlCisJCQkJd2hvID0gc3RydG9sKCphcmd2LCAmZW5kcHRyLCAxMCk7CisJCQlpZiAod2hvIDwgMCB8fCAqZW5kcHRyKSB7CisJCQkJd2FybngoXygidW5rbm93biB1c2VyICVzIiksICphcmd2KTsKKwkJCQllcnJzID0gMTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJfSBlbHNlIHsKKwkJCXdobyA9IHN0cnRvbCgqYXJndiwgJmVuZHB0ciwgMTApOworCQkJaWYgKHdobyA8IDAgfHwgKmVuZHB0cikgeworCQkJCS8qIFRSQU5TTEFUT1JTOiBUaGUgZmlyc3QgJXMgaXMgb25lIG9mIHRoZSBhYm92ZQorCQkJCSAqIHRocmVlIElEIG5hbWVzLiBSZWFkOiAiYmFkIHZhbHVlIGZvciAlczogJXMiICovCisJCQkJd2FybngoXygiYmFkICVzIHZhbHVlOiAlcyIpLCBpZHR5cGVbd2hpY2hdLCAqYXJndik7CisJCQkJZXJycyA9IDE7CisJCQkJY29udGludWU7CisJCQl9CisJCX0KKwkJZXJycyB8PSBkb25pY2Uod2hpY2gsIHdobywgcHJpbyk7CisJfQorCXJldHVybiBlcnJzICE9IDAgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvcmZraWxsLjggYi9zeXMtdXRpbHMvcmZraWxsLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWVmZjkxMwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9yZmtpbGwuOApAQCAtMCwwICsxLDEyMCBAQAorLlwiIC0qLSBucm9mZiAtKi0KKy5USCBSRktJTEwgIjgiICIyMDE3LTA3LTA2IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCityZmtpbGwgXC0gdG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzCisuU0ggU1lOT1BTSVMKKy5CIHJma2lsbAorLlJJIFsgb3B0aW9ucyBdCisuUkkgWyBjb21tYW5kIF0KKy5SSSBbIGlkfHR5cGUgXCAuLi5dCisKKy5TSCBERVNDUklQVElPTgorLkIgcmZraWxsCitsaXN0cywgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLgorCitUaGUgY29tbWFuZCAibGlzdCIgb3V0cHV0IGZvcm1hdCBpcyBkZXByZWNhdGVkIGFuZCBtYWludGFpbmVkIGZvciBiYWNrd2FyZAorY29tcGF0aWJpbGl0eSBvbmx5LiBUaGUgbmV3IG91dHB1dCBmb3JtYXQgaXMgdGhlIGRlZmF1bHQgd2hlbiBubyBjb21tYW5kIGlzCitzcGVjaWZpZWQgb3Igd2hlbiB0aGUgb3B0aW9uIFxmQlwtXC1vdXRwdXRcZlIgaXMgdXNlZC4KKworVGhlIGRlZmF1bHQgb3V0cHV0IGlzIHN1YmplY3QgdG8gY2hhbmdlLiAgU28gd2hlbmV2ZXIgcG9zc2libGUsIHlvdSBzaG91bGQKK2F2b2lkIHVzaW5nIGRlZmF1bHQgb3V0cHV0cyBpbiB5b3VyIHNjcmlwdHMuICBBbHdheXMgZXhwbGljaXRseSBkZWZpbmUgZXhwZWN0ZWQKK2NvbHVtbnMgYnkgdXNpbmcgdGhlIFxmQlwtXC1vdXRwdXRcZlIgb3B0aW9uIHRvZ2V0aGVyIHdpdGggYSBjb2x1bW5zIGxpc3QgaW4KK2Vudmlyb25tZW50cyB3aGVyZSBhIHN0YWJsZSBvdXRwdXQgaXMgcmVxdWlyZWQuCisKKworLlNIIE9QVElPTlMKKy5UUAorXGZCXC1KXGZSLCBcZkJcLVwtanNvblxmUgorVXNlIEpTT04gb3V0cHV0IGZvcm1hdC4KKy5UUAorXGZCXC1uXGZSLCBcZkJcLVwtbm9oZWFkaW5nc1xmUgorRG8gbm90IHByaW50IGEgaGVhZGVyIGxpbmUuCisuVFAKK1xmQlwtb1xmUiwgXGZCXC1cLW91dHB1dFxmUgorU3BlY2lmeSB3aGljaCBvdXRwdXQgY29sdW1ucyB0byBwcmludC4gIFVzZSBcLVwtaGVscCB0byBnZXQgYSBsaXN0IG9mCithdmFpbGFibGUgY29sdW1ucy4KKy5UUAorLkIgXC1cLW91dHB1dFwtYWxsCitPdXRwdXQgYWxsIGF2YWlsYWJsZSBjb2x1bW5zLgorLlRQCitcZkJcLXJcZlIsIFxmQlwtXC1yYXdcZlIKK1VzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQuCisuVFAKKy5CIFwtXC1oZWxwCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkIgXC1cLXZlcnNpb24KK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5TSCBDT01NQU5EUworLlRQCisuQiBoZWxwCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkIgZXZlbnQKK0xpc3RlbiBmb3IgcmZraWxsIGV2ZW50cyBhbmQgZGlzcGxheSB0aGVtIG9uIHN0ZG91dC4KKy5UUAorXGZCbGlzdCBcZlJbXGZJaWRcZlJ8XGZJdHlwZVxmUiAuLi5dCitMaXN0IHRoZSBjdXJyZW50IHN0YXRlIG9mIGFsbCBhdmFpbGFibGUgZGV2aWNlcy4gIFRoZSBjb21tYW5kIG91dHB1dCBmb3JtYXQgaXMgZGVwcmVjYXRlZCwgc2VlIHRoZSBzZWN0aW9uIERFU0NSSVBUSU9OLgorSXQgaXMgYSBnb29kIGlkZWEgdG8gY2hlY2sgd2l0aAorLkIgbGlzdAorY29tbWFuZAorLklSIGlkICIgb3IgIiB0eXBlCitzY29wZSBpcyBhcHByb3ByaWF0ZSBiZWZvcmUgc2V0dGluZworLkJSIGJsb2NrICIgb3IgIiB1bmJsb2NrIC4KK1NwZWNpYWwKKy5JIGFsbAordHlwZSBzdHJpbmcgd2lsbCBtYXRjaCBldmVyeXRoaW5nLiAgVXNlIG9mIG11bHRpcGxlCisuSVIgaWQgIiBvciAiIHR5cGUKK2FyZ3VtZW50cyBpcyBzdXBwb3J0ZWQuCisuVFAKK1xmQmJsb2NrIFxmQmlkXGZSfFxmQnR5cGVcZlIgWy4uLl0KK0Rpc2FibGUgdGhlIGNvcnJlc3BvbmRpbmcgZGV2aWNlLgorLlRQCitcZkJ1bmJsb2NrIFxmQmlkXGZSfFxmQnR5cGVcZlIgWy4uLl0KK0VuYWJsZSB0aGUgY29ycmVzcG9uZGluZyBkZXZpY2UuICBJZiB0aGUgZGV2aWNlIGlzIGhhcmRcLWJsb2NrZWQsIGZvciBleGFtcGxlCit2aWEgYSBoYXJkd2FyZSBzd2l0Y2gsIGl0IHdpbGwgcmVtYWluIHVuYXZhaWxhYmxlIHRob3VnaCBpdCBpcyBub3cKK3NvZnRcLXVuYmxvY2tlZC4KKy5TSCBFWEFNUExFUworcmZraWxsIC0tb3V0cHV0IElELFRZUEUKKy5icgorcmZraWxsIGJsb2NrIGFsbAorLmJyCityZmtpbGwgdW5ibG9jayB3bGFuCisuYnIKK3Jma2lsbCBibG9jayBibHVldG9vdGggdXdiIHdpbWF4IHd3YW4gZ3BzIGZtIG5mYworLlNIIEFVVEhPUlMKKy5CIHJma2lsbAord2FzIG9yaWdpbmFsbHkgd3JpdHRlbiBieQorLk1UIGpvaGFubmVzQFw6c2lwc29sdXRpb25zLlw6bmV0CitKb2hhbm5lcyBCZXJnCisuTUUKK2FuZAorLk1UIG1hcmNlbEBcOmhvbHRtYW5uLlw6b3JnCitNYXJjZWwgSG9sdG1hbm4KKy5NRSAuCitUaGUgY29kZSBoYXMgYmVlbiBsYXRlciBtb2RpZmllZCBieQorLk1UIGtlcm9sYXNhQFw6aWtpLlw6ZmkKK1NhbWkgS2Vyb2xhCisuTUUKK2FuZAorLk1UIGt6YWtAXDpyZWRoYXQuXDpjb20KK0thcmVsIFphaworLk1FCitmb3IgdXRpbC1saW51eCBwcm9qZWN0LgorLlBQCitUaGlzIG1hbnVhbCBwYWdlIHdhcyB3cml0dGVuIGJ5CisuTVQgbGludXhAXDp5b3VtdXN0YmVqb2tpbmcuXDpkZW1vbi5cOmNvLnVrCitEYXJyZW4gU2FsdAorLk1FICwKK2ZvciB0aGUgRGViaWFuIHByb2plY3QgKGFuZCBtYXkgYmUgdXNlZCBieSBvdGhlcnMpLgorLlNIICJTRUUgQUxTTyIKKy5CUiBwb3dlcnRvcCAoOCksCisuQlIgc3lzdGVtZC1yZmtpbGwgKDgpLAorLlVSIGh0dHBzOi8vXDpnaXQuXDprZXJuZWwuXDpvcmcvXDpwdWIvXDpzY20vXDpsaW51eC9cOmtlcm5lbC9cOmdpdC9cOnRvcnZhbGRzL1w6bGludXguZ2l0L1w6dHJlZS9cOkRvY3VtZW50YXRpb24vXDpyZmtpbGwudHh0CitMaW51eCBrZXJuZWwgZG9jdW1lbnRhdGlvbgorLlVFCisuU0ggQVZBSUxBQklMSVRZCitUaGUgcmZraWxsIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbFwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbFwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9yZmtpbGwuYyBiL3N5cy11dGlscy9yZmtpbGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTNlOGJhCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3Jma2lsbC5jCkBAIC0wLDAgKzEsNzUxIEBACisvKgorICogL2Rldi9yZmtpbGwgdXNlcnNwYWNlIHRvb2wKKyAqCisgKiBDb3B5cmlnaHQgMjAwOSBKb2hhbm5lcyBCZXJnIDxqb2hhbm5lc0BzaXBzb2x1dGlvbnMubmV0PgorICogQ29weXJpZ2h0IDIwMDkgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgorICogQ29weXJpZ2h0IDIwMDkgVGltIEdhcmRuZXIgPHRpbS5nYXJkbmVyQGNhbm9uaWNhbC5jb20+CisgKiBDb3B5cmlnaHQgMjAxNyBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorICogQ29weXJpZ2h0IChDKSAyMDE3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFBlcm1pc3Npb24gdG8gdXNlLCBjb3B5LCBtb2RpZnksIGFuZC9vciBkaXN0cmlidXRlIHRoaXMgc29mdHdhcmUgZm9yIGFueQorICogcHVycG9zZSB3aXRoIG9yIHdpdGhvdXQgZmVlIGlzIGhlcmVieSBncmFudGVkLCBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSBhcHBlYXIgaW4gYWxsIGNvcGllcy4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiBBTkQgVEhFIEFVVEhPUiBESVNDTEFJTVMgQUxMIFdBUlJBTlRJRVMKKyAqIFdJVEggUkVHQVJEIFRPIFRISVMgU09GVFdBUkUgSU5DTFVESU5HIEFMTCBJTVBMSUVEIFdBUlJBTlRJRVMgT0YKKyAqIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUy4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIEFVVEhPUiBCRSBMSUFCTEUgRk9SCisgKiBBTlkgU1BFQ0lBTCwgRElSRUNULCBJTkRJUkVDVCwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIE9SIEFOWSBEQU1BR0VTCisgKiBXSEFUU09FVkVSIFJFU1VMVElORyBGUk9NIExPU1MgT0YgVVNFLCBEQVRBIE9SIFBST0ZJVFMsIFdIRVRIRVIgSU4gQU4KKyAqIEFDVElPTiBPRiBDT05UUkFDVCwgTkVHTElHRU5DRSBPUiBPVEhFUiBUT1JUSU9VUyBBQ1RJT04sIEFSSVNJTkcgT1VUIE9GCisgKiBPUiBJTiBDT05ORUNUSU9OIFdJVEggVEhFIFVTRSBPUiBQRVJGT1JNQU5DRSBPRiBUSElTIFNPRlRXQVJFLgorICovCisKKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorI2luY2x1ZGUgPGxpbnV4L3Jma2lsbC5oPgorI2luY2x1ZGUgPHBvbGwuaD4KKyNpbmNsdWRlIDxzeXMvc3lzbG9nLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKyNpbmNsdWRlICJ3aWRlY2hhci5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisKKy8qCisgKiBORkMgc3VwcG9ydGVkIGJ5IGtlcm5lbCBzaW5jZSB2My4xMCAoeWVhciAyMDEzKTsgRk0gYW5kIGFub3RoZXIgdHlwZXMgYXJlIGZyb20KKyAqIHllYXIgMjAwOSAoMi42LjMzKSBvciBvbGRlci4KKyAqLworI2lmbmRlZiBSRktJTExfVFlQRV9ORkMKKyMgaWZuZGVmIFJGS0lMTF9UWVBFX0ZNCisjICBkZWZpbmUgUkZLSUxMX1RZUEVfRk0JUkZLSUxMX1RZUEVfR1BTICsgMQorIyBlbmRpZgorIyBkZWZpbmUgUkZLSUxMX1RZUEVfTkZDCVJGS0lMTF9UWVBFX0ZNICsgMQorIyB1bmRlZiBOVU1fUkZLSUxMX1RZUEVTCisjIGRlZmluZSBOVU1fUkZLSUxMX1RZUEVTCVJGS0lMTF9UWVBFX05GQyArIDEKKyNlbmRpZgorCitzdHJ1Y3QgcmZraWxsX3R5cGVfc3RyIHsKKwllbnVtIHJma2lsbF90eXBlIHR5cGU7CS8qIElEICovCisJY29uc3QgY2hhciAqbmFtZTsJLyogZ2VuZXJpYyBuYW1lICovCisJY29uc3QgY2hhciAqZGVzYzsJLyogaHVtYW4gcmVhZGFibGUgbmFtZSAqLworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCByZmtpbGxfdHlwZV9zdHIgcmZraWxsX3R5cGVfc3RyaW5nc1tdID0geworCXsgLnR5cGUgPSBSRktJTExfVFlQRV9BTEwsICAgICAgIC5uYW1lID0gImFsbCIgICAgICAgICAgIH0sCisJeyAudHlwZSA9IFJGS0lMTF9UWVBFX1dMQU4sICAgICAgLm5hbWUgPSAid2xhbiIsICAgICAgICAgLmRlc2MgPSAiV2lyZWxlc3MgTEFOIiB9LAorCXsgLnR5cGUgPSBSRktJTExfVFlQRV9XTEFOLCAgICAgIC5uYW1lID0gIndpZmkiICAgICAgICAgIH0sCQkJCS8qIGFsaWFzICovCisJeyAudHlwZSA9IFJGS0lMTF9UWVBFX0JMVUVUT09USCwgLm5hbWUgPSAiYmx1ZXRvb3RoIiwgICAgLmRlc2MgPSAiQmx1ZXRvb3RoIiB9LAorCXsgLnR5cGUgPSBSRktJTExfVFlQRV9VV0IsICAgICAgIC5uYW1lID0gInV3YiIsICAgICAgICAgIC5kZXNjID0gIlVsdHJhLVdpZGViYW5kIiB9LAorCXsgLnR5cGUgPSBSRktJTExfVFlQRV9VV0IsICAgICAgIC5uYW1lID0gInVsdHJhd2lkZWJhbmQiIH0sIC8qIGFsaWFzICovCisJeyAudHlwZSA9IFJGS0lMTF9UWVBFX1dJTUFYLCAgICAgLm5hbWUgPSAid2ltYXgiLCAgICAgICAgLmRlc2MgPSAiV2lNQVgiIH0sCisJeyAudHlwZSA9IFJGS0lMTF9UWVBFX1dXQU4sICAgICAgLm5hbWUgPSAid3dhbiIsICAgICAgICAgLmRlc2MgPSAiV2lyZWxlc3MgV0FOIiB9LAorCXsgLnR5cGUgPSBSRktJTExfVFlQRV9HUFMsICAgICAgIC5uYW1lID0gImdwcyIsICAgICAgICAgIC5kZXNjID0gIkdQUyIgfSwKKwl7IC50eXBlID0gUkZLSUxMX1RZUEVfRk0sICAgICAgICAubmFtZSA9ICJmbSIsICAgICAgICAgICAuZGVzYyA9ICJGTSIgfSwKKwl7IC50eXBlID0gUkZLSUxMX1RZUEVfTkZDLCAgICAgICAubmFtZSA9ICJuZmMiLCAgICAgICAgICAuZGVzYyA9ICJORkMiIH0sCisJeyAudHlwZSA9IE5VTV9SRktJTExfVFlQRVMsICAgICAgLm5hbWUgPSBOVUxMICAgICAgICAgICAgfQorfTsKKworc3RydWN0IHJma2lsbF9pZCB7CisJdW5pb24geworCQllbnVtIHJma2lsbF90eXBlIHR5cGU7CisJCXVpbnQzMl90IGluZGV4OworCX07CisJZW51bSB7CisJCVJGS0lMTF9JU19JTlZBTElELAorCQlSRktJTExfSVNfVFlQRSwKKwkJUkZLSUxMX0lTX0lOREVYLAorCQlSRktJTExfSVNfQUxMCisJfSByZXN1bHQ7Cit9OworCisvKiBzdXBwb3J0ZWQgYWN0aW9ucyAqLworZW51bSB7CisJQUNUX0xJU1QsCisJQUNUX0hFTFAsCisJQUNUX0VWRU5ULAorCUFDVF9CTE9DSywKKwlBQ1RfVU5CTE9DSywKKworCUFDVF9MSVNUX09MRAorfTsKKworc3RhdGljIGNoYXIgKnJma2lsbF9hY3Rpb25zW10gPSB7CisJW0FDVF9MSVNUXQk9ICJsaXN0IiwKKwlbQUNUX0hFTFBdCT0gImhlbHAiLAorCVtBQ1RfRVZFTlRdCT0gImV2ZW50IiwKKwlbQUNUX0JMT0NLXQk9ICJibG9jayIsCisJW0FDVF9VTkJMT0NLXQk9ICJ1bmJsb2NrIgorfTsKKworLyogY29sdW1uIElEcyAqLworZW51bSB7CisJQ09MX0RFVklDRSwKKwlDT0xfSUQsCisJQ09MX1RZUEUsCisJQ09MX0RFU0MsCisJQ09MX1NPRlQsCisJQ09MX0hBUkQKK307CisKKy8qIGNvbHVtbiBuYW1lcyAqLworc3RydWN0IGNvbGluZm8geworCWNvbnN0IGNoYXIgKm5hbWU7CS8qIGhlYWRlciAqLworCWRvdWJsZSB3aGludDsJCS8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludCBmbGFnczsJCS8qIFNDT0xTX0ZMXyogKi8KKwljb25zdCBjaGFyICpoZWxwOworfTsKKworLyogY29sdW1ucyBkZXNjcmlwdGlvbnMgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfREVWSUNFXSA9IHsiREVWSUNFIiwgMCwgMCwgTl8oImtlcm5lbCBkZXZpY2UgbmFtZSIpfSwKKwlbQ09MX0lEXSAgICAgPSB7IklEIiwJICAyLCBTQ09MU19GTF9SSUdIVCwgTl8oImRldmljZSBpZGVudGlmaWVyIHZhbHVlIil9LAorCVtDT0xfVFlQRV0gICA9IHsiVFlQRSIsCSAgMCwgMCwgTl8oImRldmljZSB0eXBlIG5hbWUgdGhhdCBjYW4gYmUgdXNlZCBhcyBpZGVudGlmaWVyIil9LAorCVtDT0xfREVTQ10gICA9IHsiVFlQRS1ERVNDIiwgICAwLCAwLCBOXygiZGV2aWNlIHR5cGUgZGVzY3JpcHRpb24iKX0sCisJW0NPTF9TT0ZUXSAgID0geyJTT0ZUIiwJICAwLCBTQ09MU19GTF9SSUdIVCwgTl8oInN0YXR1cyBvZiBzb2Z0d2FyZSBibG9jayIpfSwKKwlbQ09MX0hBUkRdICAgPSB7IkhBUkQiLAkgIDAsIFNDT0xTX0ZMX1JJR0hULCBOXygic3RhdHVzIG9mIGhhcmR3YXJlIGJsb2NrIil9Cit9OworCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXTsKK3N0YXRpYyBzaXplX3QgbmNvbHVtbnM7CisKK3N0cnVjdCBjb250cm9sIHsKKwlzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiOworCXVuc2lnbmVkIGludAorCQlqc29uOjEsCisJCW5vX2hlYWRpbmdzOjEsCisJCXJhdzoxOworfTsKKworc3RhdGljIGludCBjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KG5hbWUpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBpbmZvc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgZ2V0X2NvbHVtbl9pZChzaXplX3QgbnVtKQoreworCWFzc2VydChudW0gPCBuY29sdW1ucyk7CisJYXNzZXJ0KGNvbHVtbnNbbnVtXSA8IChpbnQpQVJSQVlfU0laRShpbmZvcykpOworCXJldHVybiBjb2x1bW5zW251bV07Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKGludCBudW0pCit7CisJcmV0dXJuICZpbmZvc1tnZXRfY29sdW1uX2lkKG51bSldOworfQorCitzdGF0aWMgaW50IHN0cmluZ190b19hY3Rpb24oY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocmZraWxsX2FjdGlvbnMpOyBpKyspCisJCWlmIChzdHJjbXAoc3RyLCByZmtpbGxfYWN0aW9uc1tpXSkgPT0gMCkKKwkJCXJldHVybiBpOworCisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgcmZraWxsX3JvX29wZW4oaW50IG5vbmJsb2NrKQoreworCWludCBmZDsKKworCWZkID0gb3BlbihfUEFUSF9ERVZfUkZLSUxMLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIF9QQVRIX0RFVl9SRktJTEwpOworCQlyZXR1cm4gLWVycm5vOworCX0KKworCWlmIChub25ibG9jayAmJiBmY250bChmZCwgRl9TRVRGTCwgT19OT05CTE9DSykgPCAwKSB7CisJCXdhcm4oXygiY2Fubm90IHNldCBub24tYmxvY2tpbmcgJXMiKSwgX1BBVEhfREVWX1JGS0lMTCk7CisJCWNsb3NlKGZkKTsKKwkJcmV0dXJuIC1lcnJubzsKKwl9CisKKwlyZXR1cm4gZmQ7Cit9CisKKy8qIHJldHVybnM6IDAgc3VjY2VzcywgMSByZWFkIGFnYWluLCA8IDAgZXJyb3IgKi8KK3N0YXRpYyBpbnQgcmZraWxsX3JlYWRfZXZlbnQoaW50IGZkLCBzdHJ1Y3QgcmZraWxsX2V2ZW50ICpldmVudCkKK3sKKwlzc2l6ZV90CWxlbiA9IHJlYWQoZmQsIGV2ZW50LCBzaXplb2YoKmV2ZW50KSk7CisKKwlpZiAobGVuIDwgMCkgeworCQlpZiAoZXJybm8gPT0gRUFHQUlOKQorCQkJcmV0dXJuIDE7CisJCXdhcm4oXygiY2Fubm90IHJlYWQgJXMiKSwgX1BBVEhfREVWX1JGS0lMTCk7CisJCXJldHVybiAtZXJybm87CisJfQorCisJaWYgKGxlbiA8IFJGS0lMTF9FVkVOVF9TSVpFX1YxKSB7CisJCXdhcm54KF8oIndyb25nIHNpemUgb2YgcmZraWxsIGV2ZW50OiAlenUgPCAlZCIpLCBsZW4sIFJGS0lMTF9FVkVOVF9TSVpFX1YxKTsKKwkJcmV0dXJuIDE7CisJfQorCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCByZmtpbGxfZXZlbnQodm9pZCkKK3sKKwlzdHJ1Y3QgcmZraWxsX2V2ZW50IGV2ZW50OworCXN0cnVjdCB0aW1ldmFsIHR2OworCWNoYXIgZGF0ZV9idWZbSVNPX0JVRlNJWl07CisJc3RydWN0IHBvbGxmZCBwOworCWludCBmZCwgbjsKKworCWZkID0gcmZraWxsX3JvX29wZW4oMCk7CisJaWYgKGZkIDwgMCkKKwkJcmV0dXJuIC1lcnJubzsKKworCW1lbXNldCgmcCwgMCwgc2l6ZW9mKHApKTsKKwlwLmZkID0gZmQ7CisJcC5ldmVudHMgPSBQT0xMSU4gfCBQT0xMSFVQOworCisJLyogaW50ZXJydXB0ZWQgYnkgc2lnbmFsIG9ubHkgKi8KKwl3aGlsZSAoMSkgeworCQlpbnQgcmMgPSAxOwkvKiByZWNvdmVyLWFibGUgZXJyb3IgKi8KKworCQluID0gcG9sbCgmcCwgMSwgLTEpOworCQlpZiAobiA8IDApIHsKKwkJCXdhcm4oXygiZmFpbGVkIHRvIHBvbGwgJXMiKSwgX1BBVEhfREVWX1JGS0lMTCk7CisJCQlnb3RvIGZhaWxlZDsKKwkJfQorCisJCWlmIChuKQorCQkJcmMgPSByZmtpbGxfcmVhZF9ldmVudChmZCwgJmV2ZW50KTsKKwkJaWYgKHJjIDwgMCkKKwkJCWdvdG8gZmFpbGVkOworCQlpZiAocmMpCisJCQljb250aW51ZTsKKworCQlnZXR0aW1lb2ZkYXkoJnR2LCBOVUxMKTsKKwkJc3RydGltZXZhbF9pc28oJnR2LCBJU09fVElNRVNUQU1QX0NPTU1BLCBkYXRlX2J1ZiwKKwkJCSAgICAgICBzaXplb2YoZGF0ZV9idWYpKTsKKwkJcHJpbnRmKCIlczogaWR4ICV1IHR5cGUgJXUgb3AgJXUgc29mdCAldSBoYXJkICV1XG4iLAorCQkgICAgICAgZGF0ZV9idWYsCisJCSAgICAgICBldmVudC5pZHgsIGV2ZW50LnR5cGUsIGV2ZW50Lm9wLCBldmVudC5zb2Z0LCBldmVudC5oYXJkKTsKKwkJZmZsdXNoKHN0ZG91dCk7CisJfQorCitmYWlsZWQ6CisJY2xvc2UoZmQpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmdldF9zeXNfYXR0cih1aW50MzJfdCBpZHgsIGNvbnN0IGNoYXIgKmF0dHIpCit7CisJc3RhdGljIGNoYXIgbmFtZVsxMjhdOworCWNoYXIgcGF0aFtQQVRIX01BWF07CisJRklMRSAqZjsKKwljaGFyICpwOworCisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCBfUEFUSF9TWVNfUkZLSUxMICIvcmZraWxsJXUvJXMiLCBpZHgsIGF0dHIpOworCWYgPSBmb3BlbihwYXRoLCAiciIpOworCWlmICghZikKKwkJZ290byBkb25lOworCWlmICghZmdldHMobmFtZSwgc2l6ZW9mKG5hbWUpLCBmKSkKKwkJZ290byBkb25lOworCXAgPSBzdHJjaHIobmFtZSwgJ1xuJyk7CisJaWYgKHApCisJCSpwID0gJ1wwJzsKK2RvbmU6CisJaWYgKGYpCisJCWZjbG9zZShmKTsKKwlyZXR1cm4gbmFtZTsKK30KKworc3RhdGljIHN0cnVjdCByZmtpbGxfaWQgcmZraWxsX2lkX3RvX3R5cGUoY29uc3QgY2hhciAqcykKK3sKKwljb25zdCBzdHJ1Y3QgcmZraWxsX3R5cGVfc3RyICpwOworCXN0cnVjdCByZmtpbGxfaWQgcmV0OworCisJaWYgKGlzbG93ZXIoKnMpKSB7CisJCWZvciAocCA9IHJma2lsbF90eXBlX3N0cmluZ3M7IHAtPm5hbWUgIT0gTlVMTDsgcCsrKSB7CisJCQlpZiAoIXN0cmNtcChzLCBwLT5uYW1lKSkgeworCQkJCXJldC50eXBlID0gcC0+dHlwZTsKKwkJCQlpZiAoIXN0cmNtcChzLCAiYWxsIikpCisJCQkJCXJldC5yZXN1bHQgPSBSRktJTExfSVNfQUxMOworCQkJCWVsc2UKKwkJCQkJcmV0LnJlc3VsdCA9IFJGS0lMTF9JU19UWVBFOworCQkJCXJldHVybiByZXQ7CisJCQl9CisJCX0KKwl9IGVsc2UgaWYgKGlzZGlnaXQoKnMpKSB7CisJCS8qIGFzc3VtZSBhIG51bWVyaWMgY2hhcmFjdGVyIGltcGxpZXMgYW4gaW5kZXguICovCisJCWNoYXIgZmlsZW5hbWVbNjRdOworCisJCXJldC5pbmRleCA9IHN0cnRvdTMyX29yX2VycihzLCBfKCJpbnZhbGlkIGlkZW50aWZpZXIiKSk7CisJCXNucHJpbnRmKGZpbGVuYW1lLCBzaXplb2YoZmlsZW5hbWUpIC0gMSwKKwkJCSBfUEFUSF9TWVNfUkZLSUxMICIvcmZraWxsJSIgUFJJdTMyICIvbmFtZSIsIHJldC5pbmRleCk7CisJCWlmIChhY2Nlc3MoZmlsZW5hbWUsIEZfT0spID09IDApCisJCQlyZXQucmVzdWx0ID0gUkZLSUxMX0lTX0lOREVYOworCQllbHNlCisJCQlyZXQucmVzdWx0ID0gUkZLSUxMX0lTX0lOVkFMSUQ7CisJCXJldHVybiByZXQ7CisJfQorCisJcmV0LnJlc3VsdCA9IFJGS0lMTF9JU19JTlZBTElEOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBjb25zdCBjaGFyICpyZmtpbGxfdHlwZV90b19kZXNjKGVudW0gcmZraWxsX3R5cGUgdHlwZSkKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHJma2lsbF90eXBlX3N0cmluZ3MpOyBpKyspIHsKKwkJaWYgKHR5cGUgPT0gcmZraWxsX3R5cGVfc3RyaW5nc1tpXS50eXBlKQorCQkJcmV0dXJuIHJma2lsbF90eXBlX3N0cmluZ3NbaV0uZGVzYzsKKwl9CisKKwlyZXR1cm4gTlVMTDsKK30KKworCitzdGF0aWMgaW50IGV2ZW50X21hdGNoKHN0cnVjdCByZmtpbGxfZXZlbnQgKmV2ZW50LCBzdHJ1Y3QgcmZraWxsX2lkICppZCkKK3sKKwlpZiAoZXZlbnQtPm9wICE9IFJGS0lMTF9PUF9BREQpCisJCXJldHVybiAwOworCisJLyogZmlsdGVyIG91dCB1bndhbnRlZCByZXN1bHRzICovCisJc3dpdGNoIChpZC0+cmVzdWx0KSB7CisJY2FzZSBSRktJTExfSVNfVFlQRToKKwkJaWYgKGV2ZW50LT50eXBlICE9IGlkLT50eXBlKQorCQkJcmV0dXJuIDA7CisJCWJyZWFrOworCWNhc2UgUkZLSUxMX0lTX0lOREVYOgorCQlpZiAoZXZlbnQtPmlkeCAhPSBpZC0+aW5kZXgpCisJCQlyZXR1cm4gMDsKKwkJYnJlYWs7CisJY2FzZSBSRktJTExfSVNfQUxMOgorCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBmaWxsX3RhYmxlX3JvdyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgcmZraWxsX2V2ZW50ICpldmVudCkKK3sKKwlzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXNpemVfdCBpOworCisJYXNzZXJ0KHRiKTsKKworCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCWlmICghbG4pIHsKKwkJZXJybm8gPSBFTk9NRU07CisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiKSk7CisJfQorCisJZm9yIChpID0gMDsgaSA8IChzaXplX3QpbmNvbHVtbnM7IGkrKykgeworCQljaGFyICpzdHIgPSBOVUxMOworCQlzd2l0Y2ggKGdldF9jb2x1bW5faWQoaSkpIHsKKwkJY2FzZSBDT0xfREVWSUNFOgorCQkJc3RyID0geHN0cmR1cChnZXRfc3lzX2F0dHIoZXZlbnQtPmlkeCwgIm5hbWUiKSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfSUQ6CisJCQl4YXNwcmludGYoJnN0ciwgIiUiIFBSSXUzMiwgZXZlbnQtPmlkeCk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVFlQRToKKwkJCXN0ciA9IHhzdHJkdXAoZ2V0X3N5c19hdHRyKGV2ZW50LT5pZHgsICJ0eXBlIikpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0RFU0M6CisJCQlzdHIgPSB4c3RyZHVwKHJma2lsbF90eXBlX3RvX2Rlc2MoZXZlbnQtPnR5cGUpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TT0ZUOgorCQkJc3RyID0geHN0cmR1cChldmVudC0+c29mdCA/IF8oImJsb2NrZWQiKSA6IF8oInVuYmxvY2tlZCIpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9IQVJEOgorCQkJc3RyID0geHN0cmR1cChldmVudC0+aGFyZCA/IF8oImJsb2NrZWQiKSA6IF8oInVuYmxvY2tlZCIpKTsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJYWJvcnQoKTsKKwkJfQorCQlpZiAoc3RyICYmIHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgaSwgc3RyKSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIikpOworCX0KK30KKworc3RhdGljIGludCByZmtpbGxfbGlzdF9vbGQoY29uc3QgY2hhciAqcGFyYW0pCit7CisJc3RydWN0IHJma2lsbF9pZCBpZCA9IHsgLnJlc3VsdCA9IFJGS0lMTF9JU19BTEwgfTsKKwlzdHJ1Y3QgcmZraWxsX2V2ZW50IGV2ZW50OworCWludCBmZCwgcmMgPSAwOworCisJaWYgKHBhcmFtKSB7CisJCWlkID0gcmZraWxsX2lkX3RvX3R5cGUocGFyYW0pOworCQlpZiAoaWQucmVzdWx0ID09IFJGS0lMTF9JU19JTlZBTElEKSB7CisJCQl3YXJueChfKCJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIiksIHBhcmFtKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJfQorCisJZmQgPSByZmtpbGxfcm9fb3BlbigxKTsKKworCXdoaWxlICgxKSB7CisJCXJjID0gcmZraWxsX3JlYWRfZXZlbnQoZmQsICZldmVudCk7CisJCWlmIChyYyA8IDApCisJCQlicmVhazsKKwkJaWYgKHJjID09IDEgJiYgZXJybm8gPT0gRUFHQUlOKSB7CisJCQlyYyA9IDA7CQkvKiBkb25lICovCisJCQlicmVhazsKKwkJfQorCQlpZiAocmMgPT0gMCAmJiBldmVudF9tYXRjaCgmZXZlbnQsICZpZCkpIHsKKwkJCWNoYXIgKm5hbWUgPSB4c3RyZHVwKGdldF9zeXNfYXR0cihldmVudC5pZHgsICJuYW1lIikpLAorCQkJICAgICAqdHlwZSA9IHhzdHJkdXAocmZraWxsX3R5cGVfdG9fZGVzYyhldmVudC50eXBlKSk7CisKKwkJCWlmICghdHlwZSkKKwkJCQl0eXBlID0geHN0cmR1cChnZXRfc3lzX2F0dHIoZXZlbnQuaWR4LCAidHlwZSIpKTsKKworCQkJcHJpbnRmKCIldTogJXM6ICVzXG4iLCBldmVudC5pZHgsIG5hbWUsIHR5cGUpOworCQkJcHJpbnRmKCJcdFNvZnQgYmxvY2tlZDogJXNcbiIsIGV2ZW50LnNvZnQgPyAieWVzIiA6ICJubyIpOworCQkJcHJpbnRmKCJcdEhhcmQgYmxvY2tlZDogJXNcbiIsIGV2ZW50LmhhcmQgPyAieWVzIiA6ICJubyIpOworCisJCQlmcmVlKG5hbWUpOworCQkJZnJlZSh0eXBlKTsKKwkJfQorCX0KKwljbG9zZShmZCk7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgdm9pZCByZmtpbGxfbGlzdF9pbml0KHN0cnVjdCBjb250cm9sICpjdHJsKQoreworCXNpemVfdCBpOworCisJc2NvbHNfaW5pdF9kZWJ1ZygwKTsKKworCWN0cmwtPnRiID0gc2NvbHNfbmV3X3RhYmxlKCk7CisJaWYgKCFjdHJsLT50YikKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIpKTsKKworCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKGN0cmwtPnRiLCBjdHJsLT5qc29uKTsKKwlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyhjdHJsLT50YiwgY3RybC0+bm9faGVhZGluZ3MpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9yYXcoY3RybC0+dGIsIGN0cmwtPnJhdyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgKHNpemVfdCkgbmNvbHVtbnM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgY29saW5mbyAqY29sID0gZ2V0X2NvbHVtbl9pbmZvKGkpOworCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKworCQljbCA9IHNjb2xzX3RhYmxlX25ld19jb2x1bW4oY3RybC0+dGIsIGNvbC0+bmFtZSwgY29sLT53aGludCwgY29sLT5mbGFncyk7CisJCWlmICghY2wpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIpKTsKKwkJaWYgKGN0cmwtPmpzb24pIHsKKwkJCWludCBpZCA9IGdldF9jb2x1bW5faWQoaSk7CisJCQlpZiAoaWQgPT0gQ09MX0lEKQorCQkJCXNjb2xzX2NvbHVtbl9zZXRfanNvbl90eXBlKGNsLCBTQ09MU19KU09OX05VTUJFUik7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBpbnQgcmZraWxsX2xpc3RfZmlsbChzdHJ1Y3QgY29udHJvbCBjb25zdCAqY3RybCwgY29uc3QgY2hhciAqcGFyYW0pCit7CisJc3RydWN0IHJma2lsbF9pZCBpZCA9IHsgLnJlc3VsdCA9IFJGS0lMTF9JU19BTEwgfTsKKwlzdHJ1Y3QgcmZraWxsX2V2ZW50IGV2ZW50OworCWludCBmZCwgcmMgPSAwOworCisJaWYgKHBhcmFtKSB7CisJCWlkID0gcmZraWxsX2lkX3RvX3R5cGUocGFyYW0pOworCQlpZiAoaWQucmVzdWx0ID09IFJGS0lMTF9JU19JTlZBTElEKSB7CisJCQl3YXJueChfKCJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIiksIHBhcmFtKTsKKwkJCXJldHVybiAtRUlOVkFMOworCQl9CisJfQorCisJZmQgPSByZmtpbGxfcm9fb3BlbigxKTsKKworCXdoaWxlICgxKSB7CisJCXJjID0gcmZraWxsX3JlYWRfZXZlbnQoZmQsICZldmVudCk7CisJCWlmIChyYyA8IDApCisJCQlicmVhazsKKwkJaWYgKHJjID09IDEgJiYgZXJybm8gPT0gRUFHQUlOKSB7CisJCQlyYyA9IDA7CQkvKiBkb25lICovCisJCQlicmVhazsKKwkJfQorCQlpZiAocmMgPT0gMCAmJiBldmVudF9tYXRjaCgmZXZlbnQsICZpZCkpCisJCQlmaWxsX3RhYmxlX3JvdyhjdHJsLT50YiwgJmV2ZW50KTsKKwl9CisJY2xvc2UoZmQpOworCXJldHVybiByYzsKK30KKworc3RhdGljIHZvaWQgcmZraWxsX2xpc3Rfb3V0cHV0KHN0cnVjdCBjb250cm9sIGNvbnN0ICpjdHJsKQoreworCXNjb2xzX3ByaW50X3RhYmxlKGN0cmwtPnRiKTsKKwlzY29sc191bnJlZl90YWJsZShjdHJsLT50Yik7Cit9CisKK3N0YXRpYyBpbnQgcmZraWxsX2Jsb2NrKHVpbnQ4X3QgYmxvY2ssIGNvbnN0IGNoYXIgKnBhcmFtKQoreworCXN0cnVjdCByZmtpbGxfaWQgaWQ7CisJc3RydWN0IHJma2lsbF9ldmVudCBldmVudCA9IHsKKwkJLm9wID0gUkZLSUxMX09QX0NIQU5HRV9BTEwsCisJCS5zb2Z0ID0gYmxvY2ssCisJCTAKKwl9OworCXNzaXplX3QgbGVuOworCWludCBmZDsKKwljaGFyICptZXNzYWdlID0gTlVMTDsKKworCWlkID0gcmZraWxsX2lkX3RvX3R5cGUocGFyYW0pOworCisJc3dpdGNoIChpZC5yZXN1bHQpIHsKKwljYXNlIFJGS0lMTF9JU19JTlZBTElEOgorCQl3YXJueChfKCJpbnZhbGlkIGlkZW50aWZpZXI6ICVzIiksIHBhcmFtKTsKKwkJcmV0dXJuIC0xOworCWNhc2UgUkZLSUxMX0lTX1RZUEU6CisJCWV2ZW50LnR5cGUgPSBpZC50eXBlOworCQl4YXNwcmludGYoJm1lc3NhZ2UsICJ0eXBlICVzIiwgcGFyYW0pOworCQlicmVhazsKKwljYXNlIFJGS0lMTF9JU19JTkRFWDoKKwkJZXZlbnQub3AgPSBSRktJTExfT1BfQ0hBTkdFOworCQlldmVudC5pZHggPSBpZC5pbmRleDsKKwkJeGFzcHJpbnRmKCZtZXNzYWdlLCAiaWQgJWQiLCBpZC5pbmRleCk7CisJCWJyZWFrOworCWNhc2UgUkZLSUxMX0lTX0FMTDoKKwkJbWVzc2FnZSA9IHhzdHJkdXAoImFsbCIpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQlhYm9ydCgpOworCX0KKworCWZkID0gb3BlbihfUEFUSF9ERVZfUkZLSUxMLCBPX1JEV1IpOworCWlmIChmZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBfUEFUSF9ERVZfUkZLSUxMKTsKKwkJZnJlZShtZXNzYWdlKTsKKwkJcmV0dXJuIC1lcnJubzsKKwl9CisKKwlsZW4gPSB3cml0ZShmZCwgJmV2ZW50LCBzaXplb2YoZXZlbnQpKTsKKwlpZiAobGVuIDwgMCkKKwkJd2FybihfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIF9QQVRIX0RFVl9SRktJTEwpOworCWVsc2UgeworCQlvcGVubG9nKCJyZmtpbGwiLCAwLCBMT0dfVVNFUik7CisJCXN5c2xvZyhMT0dfTk9USUNFLCAiJXMgc2V0IGZvciAlcyIsIGJsb2NrID8gImJsb2NrIiA6ICJ1bmJsb2NrIiwgbWVzc2FnZSk7CisJCWNsb3NlbG9nKCk7CisJfQorCWZyZWUobWVzc2FnZSk7CisJcmV0dXJuIGNsb3NlKGZkKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgc3Rkb3V0KTsKKwlmcHJpbnRmKHN0ZG91dCwgXygiICVzIFtvcHRpb25zXSBjb21tYW5kIFtpZGVudGlmaWVyIC4uLl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJZnB1dHMoXygiVG9vbCBmb3IgZW5hYmxpbmcgYW5kIGRpc2FibGluZyB3aXJlbGVzcyBkZXZpY2VzLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtSiwgLS1qc29uICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXRcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICBkZWZpbmUgd2hpY2ggb3V0cHV0IGNvbHVtbnMgdG8gdXNlXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tb3V0cHV0LWFsbCAgICAgICBvdXRwdXQgYWxsIGNvbHVtbnNcbiIpLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yYXcgICAgICAgICAgICAgIHVzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXRcbiIpLCBzdGRvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBzdGRvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjQpKTsKKworCWZwdXRzKFVTQUdFX0NPTFVNTlMsIHN0ZG91dCk7CisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspCisJCWZwcmludGYoc3Rkb3V0LCAiICUtMTBzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlmcHV0cyhVU0FHRV9DT01NQU5EUywgc3Rkb3V0KTsKKworCS8qCisJICogVFJBTlNMQVRPUlM6IGNvbW1hbmQgbmFtZXMgc2hvdWxkIG5vdCBiZSB0cmFuc2xhdGVkLCBleHBsYWluaW5nCisJICogdGhlbSBhcyBhZGRpdGlvbmFsIGZpZWxkIGFmdGVyIGlkZW50aWZpZXIgaXMgZmluZSwgZm9yIGV4YW1wbGUKKwkgKgorCSAqIGxpc3QgICBbaWRlbnRpZmllcl0gICAobGlzdGEgW3Rhcmtlbm5lXSkKKwkgKi8KKwlmcHV0cyhfKCIgaGVscFxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIGV2ZW50XG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgbGlzdCAgIFtpZGVudGlmaWVyXVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIGJsb2NrICAgaWRlbnRpZmllclxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIHVuYmxvY2sgaWRlbnRpZmllclxuIiksIHN0ZG91dCk7CisKKwlmcHJpbnRmKHN0ZG91dCwgVVNBR0VfTUFOX1RBSUwoInJma2lsbCg4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgY29udHJvbCBjdHJsID0geyAwIH07CisJaW50IGMsIGFjdCA9IEFDVF9MSVNULCBsaXN0X2FsbCA9IDA7CisJY2hhciAqb3V0YXJnID0gTlVMTDsKKwllbnVtIHsKKwkJT1BUX0xJU1RfVFlQRVMgPSBDSEFSX01BWCArIDEKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImpzb24iLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ0onIH0sCisJCXsgIm5vaGVhZGluZ3MiLCBub19hcmd1bWVudCwJICAgTlVMTCwgJ24nIH0sCisJCXsgIm91dHB1dCIsCXJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAib3V0cHV0LWFsbCIsCW5vX2FyZ3VtZW50LAkgICBOVUxMLCBPUFRfTElTVF9UWVBFUyB9LAorCQl7ICJyYXciLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ3InIH0sCisJCXsgInZlcnNpb24iLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ1YnIH0sCisJCXsgImhlbHAiLAlub19hcmd1bWVudCwJICAgTlVMTCwgJ2gnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsKKwkJeydKJywgJ3InfSwKKwkJezB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisJaW50IHJldCA9IDA7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIkpubzpyVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdKJzoKKwkJCWN0cmwuanNvbiA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdHJsLm5vX2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW91dGFyZyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9MSVNUX1RZUEVTOgorCQkJbGlzdF9hbGwgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJY3RybC5yYXcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoYXJnYyA+IDApIHsKKwkJYWN0ID0gc3RyaW5nX3RvX2FjdGlvbigqYXJndik7CisJCWlmIChhY3QgPCAwKQorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQlhcmd2Kys7CisJCWFyZ2MtLTsKKworCQkvKgorCQkgKiBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3ZSB1c2Ugb2xkIG91dHB1dCBmb3JtYXQgaWYKKwkJICogImxpc3QiIGV4cGxpY2l0bHkgc3BlY2lmaWVkIGFuZC0tb3V0cHV0IG5vdCBkZWZpbmVkLgorCQkgKi8KKwkJaWYgKCFvdXRhcmcgJiYgYWN0ID09IEFDVF9MSVNUKQorCQkJYWN0ID0gQUNUX0xJU1RfT0xEOworCX0KKworCXN3aXRjaCAoYWN0KSB7CisJY2FzZSBBQ1RfTElTVF9PTEQ6CisJCS8qIERlcHJlY2F0ZWQgaW4gZmF2b3VyIG9mIEFDVF9MSVNUICovCisJCWlmICghYXJnYykKKwkJCXJldCB8PSByZmtpbGxfbGlzdF9vbGQoTlVMTCk7CS8qIEFMTCAqLworCQllbHNlIHdoaWxlIChhcmdjKSB7CisJCQlyZXQgfD0gcmZraWxsX2xpc3Rfb2xkKCphcmd2KTsKKwkJCWFyZ2MtLTsKKwkJCWFyZ3YrKzsKKwkJfQorCQlicmVhazsKKworCWNhc2UgQUNUX0xJU1Q6CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfSUQ7CisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfVFlQRTsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9ERVZJQ0U7CisJCWlmIChsaXN0X2FsbCkKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfREVTQzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TT0ZUOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX0hBUkQ7CisKKwkJaWYgKG91dGFyZworCQkgICAgJiYgc3RyaW5nX2FkZF90b19pZGFycmF5KG91dGFyZywgY29sdW1ucywKKwkJCQkJICAgICBBUlJBWV9TSVpFKGNvbHVtbnMpLCAmbmNvbHVtbnMsCisJCQkJCSAgICAgY29sdW1uX25hbWVfdG9faWQpIDwgMCkKKwkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisKKwkJcmZraWxsX2xpc3RfaW5pdCgmY3RybCk7CisJCWlmICghYXJnYykKKwkJCXJldCB8PSByZmtpbGxfbGlzdF9maWxsKCZjdHJsLCBOVUxMKTsJLyogQUxMICovCisJCWVsc2Ugd2hpbGUgKGFyZ2MpIHsKKwkJCXJldCB8PSByZmtpbGxfbGlzdF9maWxsKCZjdHJsLCAqYXJndik7CisJCQlhcmdjLS07CisJCQlhcmd2Kys7CisJCX0KKwkJcmZraWxsX2xpc3Rfb3V0cHV0KCZjdHJsKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9FVkVOVDoKKwkJcmV0ID0gcmZraWxsX2V2ZW50KCk7CisJCWJyZWFrOworCisJY2FzZSBBQ1RfSEVMUDoKKwkJdXNhZ2UoKTsKKwkJYnJlYWs7CisKKwljYXNlIEFDVF9CTE9DSzoKKwkJd2hpbGUgKGFyZ2MpIHsKKwkJCXJldCB8PSByZmtpbGxfYmxvY2soMSwgKmFyZ3YpOworCQkJYXJnYy0tOworCQkJYXJndisrOworCQl9CisJCWJyZWFrOworCisJY2FzZSBBQ1RfVU5CTE9DSzoKKwkJd2hpbGUgKGFyZ2MpIHsKKwkJCXJldCB8PSByZmtpbGxfYmxvY2soMCwgKmFyZ3YpOworCQkJYXJndisrOworCQkJYXJnYy0tOworCQl9CisJCWJyZWFrOworCX0KKworCXJldHVybiByZXQgPyBFWElUX0ZBSUxVUkUgOiBFWElUX1NVQ0NFU1M7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvcnRjd2FrZS44LmluIGIvc3lzLXV0aWxzL3J0Y3dha2UuOC5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjI4N2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3J0Y3dha2UuOC5pbgpAQCAtMCwwICsxLDE4OSBAQAorLlwiIENvcHlyaWdodCAoYykgMjAwNywgU1VTRSBMSU5VWCBQcm9kdWN0cyBHbWJICisuXCIgICAgICAgICAgICAgICAgICAgICBCZXJuaGFyZCBXYWxsZSA8YndhbGxlQHN1c2UuZGU+CisuXCIKKy5cIiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisuXCIgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5cIiBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMgorLlwiIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLlwiCisuXCIgVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisuXCIgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKy5cIiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisuXCIgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKy5cIgorLlwiIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisuXCIgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUKKy5cIiBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BCisuXCIgMDIxMTAtMTMwMSwgVVNBLgorLlwiCisuVEggUlRDV0FLRSA4ICJKdW5lIDIwMTUiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3J0Y3dha2UgXC0gZW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgdW50aWwgc3BlY2lmaWVkIHdha2V1cCB0aW1lCisuU0ggU1lOT1BTSVMKKy5CIHJ0Y3dha2UKK1tvcHRpb25zXQorLlJCIFsgXC1kCisuSVIgZGV2aWNlIF0KKy5SQiBbIFwtbQorLklSIHN0YW5kYnlfbW9kZSBdCisuUkIgeyAiXC1zIFxmSXNlY29uZHNcZlAiIHwgIlwtdCBcZkl0aW1lX3RcZlAiIH0KKy5TSCBERVNDUklQVElPTgorVGhpcyBwcm9ncmFtIGlzIHVzZWQgdG8gZW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUgYW5kIHRvIGF1dG9tYXRpY2FsbHkKK3dha2UgZnJvbSBpdCBhdCBhIHNwZWNpZmllZCB0aW1lLgorLlBQCitUaGlzIHVzZXMgY3Jvc3MtcGxhdGZvcm0gTGludXggaW50ZXJmYWNlcyB0byBlbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSwgYW5kCitsZWF2ZSBpdCBubyBsYXRlciB0aGFuIGEgc3BlY2lmaWVkIHRpbWUuICBJdCB1c2VzIGFueSBSVEMgZnJhbWV3b3JrIGRyaXZlciB0aGF0CitzdXBwb3J0cyBzdGFuZGFyZCBkcml2ZXIgbW9kZWwgd2FrZXVwIGZsYWdzLgorLlBQCitUaGlzIGlzIG5vcm1hbGx5IHVzZWQgbGlrZSB0aGUgb2xkIFxmQmFwbXNsZWVwXGZQIHV0aWxpdHksIHRvIHdha2UgZnJvbSBhIHN1c3BlbmQKK3N0YXRlIGxpa2UgQUNQSSBTMSAoc3RhbmRieSkgb3IgUzMgKHN1c3BlbmQtdG8tUkFNKS4gIE1vc3QgcGxhdGZvcm1zIGNhbgoraW1wbGVtZW50IHRob3NlIHdpdGhvdXQgYW5hbG9ndWVzIG9mIEJJT1MsIEFQTSwgb3IgQUNQSS4KKy5QUAorT24gc29tZSBzeXN0ZW1zLCB0aGlzIGNhbiBhbHNvIGJlIHVzZWQgbGlrZSBcZkJudnJhbS13YWtldXBcZlAsIHdha2luZyBmcm9tIHN0YXRlcworbGlrZSBBQ1BJIFM0IChzdXNwZW5kIHRvIGRpc2spLiAgTm90IGFsbCBzeXN0ZW1zIGhhdmUgcGVyc2lzdGVudCBtZWRpYSB0aGF0IGFyZQorYXBwcm9wcmlhdGUgZm9yIHN1Y2ggc3VzcGVuZCBtb2Rlcy4KKy5QUAorTm90ZSB0aGF0IGFsYXJtIGZ1bmN0aW9uYWxpdHkgZGVwZW5kcyBvbiBoYXJkd2FyZTsgbm90IGV2ZXJ5IFJUQyBpcyBhYmxlIHRvIHNldHVwIAorYW4gYWxhcm0gdXAgdG8gMjQgaG91cnMgaW4gdGhlIGZ1dHVyZS4KKy5QUAorVGhlIHN1c3BlbmQgc2V0dXAgbWF5YmUgYmUgaW50ZXJydXB0ZWQgYnkgYWN0aXZlIGhhcmR3YXJlOyBmb3IgZXhhbXBsZSB3aXJlbGVzcyBVU0IKK2lucHV0IGRldmljZXMgdGhhdCBjb250aW51ZSB0byBzZW5kIGV2ZW50cyBmb3Igc29tZSBmcmFjdGlvbiBvZiBhIHNlY29uZCBhZnRlciB0aGUKK3JldHVybiBrZXkgaXMgcHJlc3NlZC4KKy5CUiBydGN3YWtlCit0cmllcyB0byBhdm9pZCB0aGlzIHByb2JsZW0gYW5kIGl0IHdhaXRzIHRvIHRlcm1pbmFsIHRvIHNldHRsZSBkb3duIGJlZm9yZQorZW50ZXJpbmcgYSBzeXN0ZW0gc2xlZXAuCisKKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLUEgLCAiIFwtXC1hZGpmaWxlICIgXGZJZmlsZQorU3BlY2lmeSBhbiBhbHRlcm5hdGl2ZSBwYXRoIHRvIHRoZSBhZGp1c3QgZmlsZS4KKy5UUAorLkJSIFwtYSAsICIgXC1cLWF1dG8iCitSZWFkIHRoZSBjbG9jayBtb2RlICh3aGV0aGVyIHRoZSBoYXJkd2FyZSBjbG9jayBpcyBzZXQgdG8gVVRDIG9yIGxvY2FsIHRpbWUpCitmcm9tIHRoZSBcZklhZGp0aW1lXGZQIGZpbGUsIHdoZXJlCisuQlIgaHdjbG9jayAoOCkKK3N0b3JlcyB0aGF0IGluZm9ybWF0aW9uLiAgVGhpcyBpcyB0aGUgZGVmYXVsdC4KKy5UUAorLkJSIFwtXC1kYXRlICIgXGZJdGltZXN0YW1wIgorU2V0IHRoZSB3YWtldXAgdGltZSB0byB0aGUgdmFsdWUgb2YgdGhlIHRpbWVzdGFtcC4gIEZvcm1hdCBvZiB0aGUKK3RpbWVzdGFtcCBjYW4gYmUgYW55IG9mIHRoZSBmb2xsb3dpbmc6CisuVFMKK3RhYih8KTsKK2xlZnQgbDIgbC4KK1lZWVlNTUREaGhtbXNzCitZWVlZLU1NLUREIGhoOm1tOnNzCitZWVlZLU1NLUREIGhoOm1tfChzZWNvbmRzIHdpbGwgYmUgc2V0IHRvIDAwKQorWVlZWS1NTS1ERHwodGltZSB3aWxsIGJlIHNldCB0byAwMDowMDowMCkKK2hoOm1tOnNzfChkYXRlIHdpbGwgYmUgc2V0IHRvIHRvZGF5KQoraGg6bW18KGRhdGUgd2lsbCBiZSBzZXQgdG8gdG9kYXksIHNlY29uZHMgdG8gMDApCit0b21vcnJvd3wodGltZSBpcyBzZXQgdG8gMDA6MDA6MDApCisrNW1pbgorLlRFCisuVFAKKy5CUiBcLWQgLCAiIFwtXC1kZXZpY2UgIiBcZklkZXZpY2UKK1VzZSB0aGUgc3BlY2lmaWVkIFxmSWRldmljZVxmUCBpbnN0ZWFkIG9mIFxmQnJ0YzBcZlAgYXMgcmVhbHRpbWUgY2xvY2suCitUaGlzIG9wdGlvbiBpcyBvbmx5IHJlbGV2YW50IGlmIHlvdXIgc3lzdGVtIGhhcyBtb3JlIHRoYW4gb25lIFJUQy4KK1lvdSBtYXkgc3BlY2lmeSBcZkJydGMxXGZQLCBcZkJydGMyXGZQLCAuLi4gaGVyZS4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxvY2FsIgorQXNzdW1lIHRoYXQgdGhlIGhhcmR3YXJlIGNsb2NrIGlzIHNldCB0byBsb2NhbCB0aW1lLCByZWdhcmRsZXNzIG9mIHRoZQorY29udGVudHMgb2YgdGhlIFxmSWFkanRpbWVcZlAgZmlsZS4KKy5UUAorLkIgXC1cLWxpc3RcLW1vZGVzCitMaXN0IGF2YWlsYWJsZSBcLVwtbW9kZSBvcHRpb24gYXJndW1lbnRzLgorLlRQCisuQlIgXC1tICwgIiBcLVwtbW9kZSAiIFxmSW1vZGUKK0dvIGludG8gdGhlIGdpdmVuIHN0YW5kYnkgc3RhdGUuICBWYWxpZCB2YWx1ZXMgZm9yIFxmSW1vZGVcZlAgYXJlOgorLlJTCisuVFAKKy5CIHN0YW5kYnkKK0FDUEkgc3RhdGUgUzEuICBUaGlzIHN0YXRlIG9mZmVycyBtaW5pbWFsLCB0aG91Z2ggcmVhbCwgcG93ZXIgc2F2aW5ncywgd2hpbGUKK3Byb3ZpZGluZyBhIHZlcnkgbG93LWxhdGVuY3kgdHJhbnNpdGlvbiBiYWNrIHRvIGEgd29ya2luZyBzeXN0ZW0uICBUaGlzIGlzIHRoZQorZGVmYXVsdCBtb2RlLgorLlRQCisuQiBmcmVlemUKK1RoZSBwcm9jZXNzZXMgYXJlIGZyb3plbiwgYWxsIHRoZSBkZXZpY2VzIGFyZSBzdXNwZW5kZWQgYW5kIGFsbCB0aGUgcHJvY2Vzc29ycworaWRsZWQuICBUaGlzIHN0YXRlIGlzIGEgZ2VuZXJhbCBzdGF0ZSB0aGF0IGRvZXMgbm90IG5lZWQgYW55IHBsYXRmb3JtLXNwZWNpZmljCitzdXBwb3J0LCBidXQgaXQgc2F2ZXMgbGVzcyBwb3dlciB0aGFuIFN1c3BlbmQtdG8tUkFNLCBiZWNhdXNlIHRoZSBzeXN0ZW0gaXMKK3N0aWxsIGluIGEgcnVubmluZyBzdGF0ZS4gIChBdmFpbGFibGUgc2luY2UgTGludXggMy45LikKKy5UUAorLkIgbWVtCitBQ1BJIHN0YXRlIFMzIChTdXNwZW5kLXRvLVJBTSkuICBUaGlzIHN0YXRlIG9mZmVycyBzaWduaWZpY2FudCBwb3dlciBzYXZpbmdzIGFzCitldmVyeXRoaW5nIGluIHRoZSBzeXN0ZW0gaXMgcHV0IGludG8gYSBsb3ctcG93ZXIgc3RhdGUsIGV4Y2VwdCBmb3IgbWVtb3J5LAord2hpY2ggaXMgcGxhY2VkIGluIHNlbGYtcmVmcmVzaCBtb2RlIHRvIHJldGFpbiBpdHMgY29udGVudHMuCisuVFAKKy5CIGRpc2sKK0FDUEkgc3RhdGUgUzQgKFN1c3BlbmQtdG8tZGlzaykuICBUaGlzIHN0YXRlIG9mZmVycyB0aGUgZ3JlYXRlc3QgcG93ZXIgc2F2aW5ncywKK2FuZCBjYW4gYmUgdXNlZCBldmVuIGluIHRoZSBhYnNlbmNlIG9mIGxvdy1sZXZlbCBwbGF0Zm9ybSBzdXBwb3J0IGZvciBwb3dlcgorbWFuYWdlbWVudC4gIFRoaXMgc3RhdGUgb3BlcmF0ZXMgc2ltaWxhcmx5IHRvIFN1c3BlbmQtdG8tUkFNLCBidXQgaW5jbHVkZXMgYQorZmluYWwgc3RlcCBvZiB3cml0aW5nIG1lbW9yeSBjb250ZW50cyB0byBkaXNrLgorLlRQCisuQiBvZmYKK0FDUEkgc3RhdGUgUzUgKFBvd2Vyb2ZmKS4gIFRoaXMgaXMgZG9uZSBieSBjYWxsaW5nICcvc2Jpbi9zaHV0ZG93bicuCitOb3Qgb2ZmaWNpYWxseSBzdXBwb3J0ZWQgYnkgQUNQSSwgYnV0IGl0IHVzdWFsbHkgd29ya3MuCisuVFAKKy5CIG5vCitEb24ndCBzdXNwZW5kLCBvbmx5IHNldCB0aGUgUlRDIHdha2V1cCB0aW1lLgorLlRQCisuQiBvbgorRG9uJ3Qgc3VzcGVuZCwgYnV0IHJlYWQgdGhlIFJUQyBkZXZpY2UgdW50aWwgYW4gYWxhcm0gdGltZSBhcHBlYXJzLgorVGhpcyBtb2RlIGlzIHVzZWZ1bCBmb3IgZGVidWdnaW5nLgorLlRQCisuQiBkaXNhYmxlCitEaXNhYmxlIGEgcHJldmlvdXNseSBzZXQgYWxhcm0uCisuVFAKKy5CIHNob3cKK1ByaW50IGFsYXJtIGluZm9ybWF0aW9uIGluIGZvcm1hdDogImFsYXJtOiBvZmZ8b24gIDx0aW1lPiIuCitUaGUgdGltZSBpcyBpbiBjdGltZSgpIG91dHB1dCBmb3JtYXQsIGUuZy4gImFsYXJtOiBvbiAgVHVlIE5vdiAxNiAwNDo0ODo0NSAyMDEwIi4KKy5SRQorLlRQCisuQlIgXC1uICwgIiBcLVwtZHJ5LXJ1biIKK1RoaXMgb3B0aW9uIGRvZXMgZXZlcnl0aGluZyBhcGFydCBmcm9tIGFjdHVhbGx5IHNldHRpbmcgdXAgdGhlIGFsYXJtLAorc3VzcGVuZGluZyB0aGUgc3lzdGVtLCBvciB3YWl0aW5nIGZvciB0aGUgYWxhcm0uCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zZWNvbmRzICIgXGZJc2Vjb25kcworU2V0IHRoZSB3YWtldXAgdGltZSB0byBcZklzZWNvbmRzXGZQIGluIHRoZSBmdXR1cmUgZnJvbSBub3cuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10aW1lICIgXGZJdGltZV90CitTZXQgdGhlIHdha2V1cCB0aW1lIHRvIHRoZSBhYnNvbHV0ZSB0aW1lIFxmSXRpbWVfdFxmUC4gIFxmSXRpbWVfdFxmUAoraXMgdGhlIHRpbWUgaW4gc2Vjb25kcyBzaW5jZSAxOTcwLTAxLTAxLCAwMDowMCBVVEMuICBVc2UgdGhlCisuQlIgZGF0ZSAoMSkKK3Rvb2wgdG8gY29udmVydCBiZXR3ZWVuIGh1bWFuLXJlYWRhYmxlIHRpbWUgYW5kIFxmSXRpbWVfdFxmUC4KKy5UUAorLkJSIFwtdSAsICIgXC1cLXV0YyIKK0Fzc3VtZSB0aGF0IHRoZSBoYXJkd2FyZSBjbG9jayBpcyBzZXQgdG8gVVRDIChVbml2ZXJzYWwgVGltZSBDb29yZGluYXRlZCksCityZWdhcmRsZXNzIG9mIHRoZSBjb250ZW50cyBvZiB0aGUgXGZJYWRqdGltZVxmUCBmaWxlLgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyYm9zZSIKK0JlIHZlcmJvc2UuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIE5PVEVTCitTb21lIFBDIHN5c3RlbXMgY2FuJ3QgY3VycmVudGx5IGV4aXQgc2xlZXAgc3RhdGVzIHN1Y2ggYXMgXGZCbWVtXGZQCit1c2luZyBvbmx5IHRoZSBrZXJuZWwgY29kZSBhY2Nlc3NlZCBieSB0aGlzIGRyaXZlci4KK1RoZXkgbmVlZCBoZWxwIGZyb20gdXNlcnNwYWNlIGNvZGUgdG8gbWFrZSB0aGUgZnJhbWVidWZmZXIgd29yayBhZ2Fpbi4KKy5TSCBGSUxFUworLkkgQEFESlRJTUVfUEFUSEAKKy5TSCBISVNUT1JZCitUaGUgcHJvZ3JhbSB3YXMgcG9zdGVkIHNldmVyYWwgdGltZXMgb24gTEtNTCBhbmQgb3RoZXIgbGlzdHMKK2JlZm9yZSBhcHBlYXJpbmcgaW4ga2VybmVsIGNvbW1pdCBtZXNzYWdlIGZvciBMaW51eCAyLjYgaW4gdGhlIEdJVAorY29tbWl0IDg3YWM4NGY0MmE3YTU4MGQwZGQ3MmFlMzFkNmE1ZWI0YmZlMDRjNmQuCisuU0ggQVVUSE9SUworVGhlIHByb2dyYW0gd2FzIHdyaXR0ZW4gYnkgRGF2aWQgQnJvd25lbGwgPGRicm93bmVsbEB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CithbmQgaW1wcm92ZWQgYnkgQmVybmhhcmQgV2FsbGUgPGJ3YWxsZUBzdXNlLmRlPi4KKy5TSCBDT1BZUklHSFQKK1RoaXMgaXMgZnJlZSBzb2Z0d2FyZS4gIFlvdSBtYXkgcmVkaXN0cmlidXRlIGNvcGllcyBvZiBpdCB1bmRlciB0aGUgdGVybXMKK29mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzL2dwbC5odG1sPi4KK1RoZXJlIGlzIE5PIFdBUlJBTlRZLCB0byB0aGUgZXh0ZW50IHBlcm1pdHRlZCBieSBsYXcuCisuU0ggIlNFRSBBTFNPIgorLkJSIGh3Y2xvY2sgKDgpLAorLkJSIGRhdGUgKDEpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgcnRjd2FrZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20gdGhlCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9ydGN3YWtlLmMgYi9zeXMtdXRpbHMvcnRjd2FrZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2M2M2NDYKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvcnRjd2FrZS5jCkBAIC0wLDAgKzEsNjU1IEBACisvKgorICogcnRjd2FrZSAtLSBlbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBzcGVjaWZpZWQgd2FrZXVwIHRpbWUuCisgKgorICogVGhpcyB1c2VzIGNyb3NzLXBsYXRmb3JtIExpbnV4IGludGVyZmFjZXMgdG8gZW50ZXIgYSBzeXN0ZW0gc2xlZXAgc3RhdGUsCisgKiBhbmQgbGVhdmUgaXQgbm8gbGF0ZXIgdGhhbiBhIHNwZWNpZmllZCB0aW1lLiAgSXQgdXNlcyBhbnkgUlRDIGZyYW1ld29yaworICogZHJpdmVyIHRoYXQgc3VwcG9ydHMgc3RhbmRhcmQgZHJpdmVyIG1vZGVsIHdha2V1cCBmbGFncy4KKyAqCisgKiBUaGlzIGlzIG5vcm1hbGx5IHVzZWQgbGlrZSB0aGUgb2xkICJhcG1zbGVlcCIgdXRpbGl0eSwgdG8gd2FrZSBmcm9tIGEKKyAqIHN1c3BlbmQgc3RhdGUgbGlrZSBBQ1BJIFMxIChzdGFuZGJ5KSBvciBTMyAoc3VzcGVuZC10by1SQU0pLiAgTW9zdAorICogcGxhdGZvcm1zIGNhbiBpbXBsZW1lbnQgdGhvc2Ugd2l0aG91dCBhbmFsb2d1ZXMgb2YgQklPUywgQVBNLCBvciBBQ1BJLgorICoKKyAqIE9uIHNvbWUgc3lzdGVtcywgdGhpcyBjYW4gYWxzbyBiZSB1c2VkIGxpa2UgIm52cmFtLXdha2V1cCIsIHdha2luZworICogZnJvbSBzdGF0ZXMgbGlrZSBBQ1BJIFM0IChzdXNwZW5kIHRvIGRpc2spLiAgTm90IGFsbCBzeXN0ZW1zIGhhdmUKKyAqIHBlcnNpc3RlbnQgbWVkaWEgdGhhdCBhcmUgYXBwcm9wcmlhdGUgZm9yIHN1Y2ggc3VzcGVuZCBtb2Rlcy4KKyAqCisgKiBUaGUgYmVzdCB3YXkgdG8gc2V0IHRoZSBzeXN0ZW0ncyBSVEMgaXMgc28gdGhhdCBpdCBob2xkcyB0aGUgY3VycmVudAorICogdGltZSBpbiBVVEMuICBVc2UgdGhlICItbCIgZmxhZyB0byB0ZWxsIHRoaXMgcHJvZ3JhbSB0aGF0IHRoZSBzeXN0ZW0KKyAqIFJUQyB1c2VzIGEgbG9jYWwgdGltZXpvbmUgaW5zdGVhZCAobWF5YmUgeW91IGR1YWwtYm9vdCBNUy1XaW5kb3dzKS4KKyAqIFRoYXQgZmxhZyBzaG91bGQgbm90IGJlIG5lZWRlZCBvbiBzeXN0ZW1zIHdpdGggYWRqdGltZSBzdXBwb3J0LgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8bGludXgvcnRjLmg+CisjaW5jbHVkZSA8cG9sbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInN0cnYuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2lmbmRlZiBSVENfQUYKKyMgZGVmaW5lIFJUQ19BRgkJMHgyMAkvKiBBbGFybSBpbnRlcnJ1cHQgKi8KKyNlbmRpZgorCisjZGVmaW5lIEFESlRJTUVfWk9ORV9CVUZTSVoJCTgKKyNkZWZpbmUgU1lTX1dBS0VVUF9QQVRIX1RFTVBMQVRFCSIvc3lzL2NsYXNzL3J0Yy8lcy9kZXZpY2UvcG93ZXIvd2FrZXVwIgorI2RlZmluZSBTWVNfUE9XRVJfU1RBVEVfUEFUSAkJIi9zeXMvcG93ZXIvc3RhdGUiCisjZGVmaW5lIERFRkFVTFRfUlRDX0RFVklDRQkJIi9kZXYvcnRjMCIKKworZW51bSBydGNfbW9kZXMgewkvKiBtYW51YWwgcGFnZSAtLW1vZGUgb3B0aW9uIGV4cGxhaW5zIHRoZXNlLiAqLworCU9GRl9NT0RFID0gMCwKKwlOT19NT0RFLAorCU9OX01PREUsCisJRElTQUJMRV9NT0RFLAorCVNIT1dfTU9ERSwKKworCVNZU0ZTX01PREUJLyoga2VlcCBpdCBsYXN0ICovCisKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICpydGN3YWtlX21vZGVfc3RyaW5nW10gPSB7CisJW09GRl9NT0RFXSA9ICJvZmYiLAorCVtOT19NT0RFXSA9ICJubyIsCisJW09OX01PREVdID0gIm9uIiwKKwlbRElTQUJMRV9NT0RFXSA9ICJkaXNhYmxlIiwKKwlbU0hPV19NT0RFXSA9ICJzaG93IgorfTsKKworZW51bSBjbG9ja19tb2RlcyB7CisJQ01fQVVUTywKKwlDTV9VVEMsCisJQ01fTE9DQUwKK307CisKK3N0cnVjdCBydGN3YWtlX2NvbnRyb2wgeworCWNoYXIgKm1vZGVfc3RyOwkJCS8qIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCBtb2RlICovCisJY2hhciAqKnBvc3NpYmxlX21vZGVzOwkJLyogbW9kZXMgbGlzdGVkIGluIC9zeXMvcG93ZXIvc3RhdGUgKi8KKwljaGFyICphZGpmaWxlOwkJCS8qIGFkanRpbWUgZmlsZSBwYXRoICovCisJZW51bSBjbG9ja19tb2RlcyBjbG9ja19tb2RlOwkvKiBod2Nsb2NrIHRpbWV6b25lICovCisJdGltZV90IHN5c190aW1lOwkJLyogc3lzdGVtIHRpbWUgKi8KKwl0aW1lX3QgcnRjX3RpbWU7CQkvKiBoYXJkd2FyZSB0aW1lICovCisJdW5zaWduZWQgaW50IHZlcmJvc2U6MSwJCS8qIHZlcmJvc2UgbWVzc2FnaW5nICovCisJCSAgICAgZHJ5cnVuOjE7CQkvKiBkbyBub3Qgc2V0IGFsYXJtLCBzdXNwZW5kIHN5c3RlbSwgZXRjICovCit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJICAgICAgXygiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJFbnRlciBhIHN5c3RlbSBzbGVlcCBzdGF0ZSB1bnRpbCBhIHNwZWNpZmllZCB3YWtldXAgdGltZS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYXV0byAgICAgICAgICAgICAgIHJlYWRzIHRoZSBjbG9jayBtb2RlIGZyb20gYWRqdXN0IGZpbGUgKGRlZmF1bHQpXG4iKSwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgLUEsIC0tYWRqZmlsZSA8ZmlsZT4gICAgIHNwZWNpZmllcyB0aGUgcGF0aCB0byB0aGUgYWRqdXN0IGZpbGVcbiIKKwkJIiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZGVmYXVsdCBpcyAlc1xuIiksIF9QQVRIX0FESlRJTUUpOworCWZwdXRzKF8oIiAgICAgLS1kYXRlIDx0aW1lc3RhbXA+ICAgZGF0ZSB0aW1lIG9mIHRpbWVzdGFtcCB0byB3YWtlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZGV2aWNlIDxkZXZpY2U+ICAgIHNlbGVjdCBydGMgZGV2aWNlIChydGMwfHJ0YzF8Li4uKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1uLCAtLWRyeS1ydW4gICAgICAgICAgICBkb2VzIGV2ZXJ5dGhpbmcsIGJ1dCBzdXNwZW5kXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbG9jYWwgICAgICAgICAgICAgIFJUQyB1c2VzIGxvY2FsIHRpbWV6b25lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbGlzdC1tb2RlcyAgICAgICAgIGxpc3QgYXZhaWxhYmxlIG1vZGVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tbW9kZSA8bW9kZT4gICAgICAgIHN0YW5kYnl8bWVtfC4uLiBzbGVlcCBtb2RlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc2Vjb25kcyA8c2Vjb25kcz4gIHNlY29uZHMgdG8gc2xlZXBcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10aW1lIDx0aW1lX3Q+ICAgICAgdGltZSB0byB3YWtlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXUsIC0tdXRjICAgICAgICAgICAgICAgIFJUQyB1c2VzIFVUQ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgICAgICB2ZXJib3NlIG1lc3NhZ2VzXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI2KSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJydGN3YWtlKDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGludCBpc193YWtldXBfZW5hYmxlZChjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWNoYXIJYnVmWzEyOF0sICpzOworCUZJTEUJKmY7CisJc2l6ZV90CXNraXAgPSAwOworCisJaWYgKHN0YXJ0c3dpdGgoZGV2bmFtZSwgIi9kZXYvIikpCisJCXNraXAgPSA1OworCXNucHJpbnRmKGJ1Ziwgc2l6ZW9mIGJ1ZiwgU1lTX1dBS0VVUF9QQVRIX1RFTVBMQVRFLCBkZXZuYW1lICsgc2tpcCk7CisJZiA9IGZvcGVuKGJ1ZiwgInIiKTsKKwlpZiAoIWYpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBidWYpOworCQlyZXR1cm4gMDsKKwl9CisKKwlzID0gZmdldHMoYnVmLCBzaXplb2YgYnVmLCBmKTsKKwlmY2xvc2UoZik7CisJaWYgKCFzKQorCQlyZXR1cm4gMDsKKwlzID0gc3RyY2hyKGJ1ZiwgJ1xuJyk7CisJaWYgKCFzKQorCQlyZXR1cm4gMDsKKwkqcyA9IDA7CisJLyogd2FrZXVwIGV2ZW50cyBjb3VsZCBiZSBkaXNhYmxlZCBvciBub3Qgc3VwcG9ydGVkICovCisJcmV0dXJuIHN0cmNtcChidWYsICJlbmFibGVkIikgPT0gMDsKK30KKworc3RhdGljIGludCBnZXRfYmFzZXRpbWVzKHN0cnVjdCBydGN3YWtlX2NvbnRyb2wgKmN0bCwgaW50IGZkKQoreworCXN0cnVjdCB0bSB0bSA9IHsgMCB9OworCXN0cnVjdCBydGNfdGltZQlydGM7CisKKwkvKiBUaGlzIHByb2Nlc3Mgd29ya3MgaW4gUlRDIHRpbWUsIGV4Y2VwdCB3aGVuIHdvcmtpbmcKKwkgKiB3aXRoIHRoZSBzeXN0ZW0gY2xvY2sgKHdoaWNoIGFsd2F5cyB1c2VzIFVUQykuCisJICovCisJaWYgKGN0bC0+Y2xvY2tfbW9kZSA9PSBDTV9VVEMpCisJCXhzZXRlbnYoIlRaIiwgIlVUQyIsIDEpOworCXR6c2V0KCk7CisJLyogUmVhZCBydGMgYW5kIHN5c3RlbSBjbG9ja3MgImF0IHRoZSBzYW1lIHRpbWUiLCBvciBhcworCSAqIHByZWNpc2VseSAoKy8tIGEgc2Vjb25kKSBhcyB3ZSBjYW4gcmVhZCB0aGVtLgorCSAqLworCWlmIChpb2N0bChmZCwgUlRDX1JEX1RJTUUsICZydGMpIDwgMCkgeworCQl3YXJuKF8oInJlYWQgcnRjIHRpbWUgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCisJY3RsLT5zeXNfdGltZSA9IHRpbWUoTlVMTCk7CisJaWYgKGN0bC0+c3lzX3RpbWUgPT0gKHRpbWVfdCktMSkgeworCQl3YXJuKF8oInJlYWQgc3lzdGVtIHRpbWUgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCS8qIENvbnZlcnQgcnRjX3RpbWUgdG8gbm9ybWFsIGFyaXRobWV0aWMtZnJpZW5kbHkgZm9ybSwKKwkgKiB1cGRhdGluZyB0bS50bV93ZGF5IGFzIHVzZWQgYnkgYXNjdGltZSgpLgorCSAqLworCXRtLnRtX3NlYyA9IHJ0Yy50bV9zZWM7CisJdG0udG1fbWluID0gcnRjLnRtX21pbjsKKwl0bS50bV9ob3VyID0gcnRjLnRtX2hvdXI7CisJdG0udG1fbWRheSA9IHJ0Yy50bV9tZGF5OworCXRtLnRtX21vbiA9IHJ0Yy50bV9tb247CisJdG0udG1feWVhciA9IHJ0Yy50bV95ZWFyOworCXRtLnRtX2lzZHN0ID0gLTE7ICAvKiBhc3N1bWUgdGhlIHN5c3RlbSBrbm93cyBiZXR0ZXIgdGhhbiB0aGUgUlRDICovCisKKwljdGwtPnJ0Y190aW1lID0gbWt0aW1lKCZ0bSk7CisJaWYgKGN0bC0+cnRjX3RpbWUgPT0gKHRpbWVfdCktMSkgeworCQl3YXJuKF8oImNvbnZlcnQgcnRjIHRpbWUgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGN0bC0+dmVyYm9zZSkgeworCQkvKiBVbmxlc3MgdGhlIHN5c3RlbSB1c2VzIFVUQywgZWl0aGVyIGRlbHRhIG9yIHR6b25lCisJCSAqIHJlZmxlY3RzIGEgc2Vjb25kcyBvZmZzZXQgZnJvbSBVVEMuICBUaGUgdmFsdWUgY2FuCisJCSAqIGhlbHAgc29ydCBvdXQgcHJvYmxlbXMgbGlrZSBidWdzIGluIHlvdXIgQyBsaWJyYXJ5LiAqLworCQlwcmludGYoIlx0ZGVsdGEgICA9ICVsZFxuIiwgY3RsLT5zeXNfdGltZSAtIGN0bC0+cnRjX3RpbWUpOworCQlwcmludGYoIlx0dHpvbmUgICA9ICVsZFxuIiwgdGltZXpvbmUpOworCQlwcmludGYoIlx0dHpuYW1lICA9ICVzXG4iLCB0em5hbWVbZGF5bGlnaHRdKTsKKwkJZ210aW1lX3IoJmN0bC0+cnRjX3RpbWUsICZ0bSk7CisJCXByaW50ZigiXHRzeXN0aW1lID0gJWxkLCAoVVRDKSAlcyIsCisJCQkJKGxvbmcpIGN0bC0+c3lzX3RpbWUsIGFzY3RpbWUoZ210aW1lKCZjdGwtPnN5c190aW1lKSkpOworCQlwcmludGYoIlx0cnRjdGltZSA9ICVsZCwgKFVUQykgJXMiLAorCQkJCShsb25nKSBjdGwtPnJ0Y190aW1lLCBhc2N0aW1lKCZ0bSkpOworCX0KKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBzZXR1cF9hbGFybShzdHJ1Y3QgcnRjd2FrZV9jb250cm9sICpjdGwsIGludCBmZCwgdGltZV90ICp3YWtldXApCit7CisJc3RydWN0IHRtCQkqdG07CisJc3RydWN0IHJ0Y193a2Fscm0Jd2FrZSA9IHsgMCB9OworCisJLyogVGhlIHdha2V1cCB0aW1lIGlzIGluIFBPU0lYIHRpbWUgKG1vcmUgb3IgbGVzcyBVVEMpLiAgSWRlYWxseQorCSAqIFJUQ3MgdXNlIHRoYXQgc2FtZSB0aW1lOyBidXQgUENzIGNhbid0IGRvIHRoYXQgaWYgdGhleSBuZWVkIHRvCisJICogYm9vdCBNUy1XaW5kb3dzLiAgTWVzc3kuLi4KKwkgKgorCSAqIFdoZW4gY2xvY2tfbW9kZSA9PSBDTV9VVEMgdGhpcyBwcm9jZXNzJ3MgdGltZXpvbmUgaXMgVVRDLCBzbworCSAqIHdlJ2xsIHBhc3MgYSBVVEMgZGF0ZSB0byB0aGUgUlRDLgorCSAqCisJICogRWxzZSBjbG9ja19tb2RlID09IENNX0xPQ0FMIHNvIHRoZSB0aW1lIGdpdmVuIHRvIHRoZSBSVEMgd2lsbAorCSAqIGluc3RlYWQgdXNlIHRoZSBsb2NhbCB0aW1lIHpvbmUuICovCisJdG0gPSBsb2NhbHRpbWUod2FrZXVwKTsKKwl3YWtlLnRpbWUudG1fc2VjID0gdG0tPnRtX3NlYzsKKwl3YWtlLnRpbWUudG1fbWluID0gdG0tPnRtX21pbjsKKwl3YWtlLnRpbWUudG1faG91ciA9IHRtLT50bV9ob3VyOworCXdha2UudGltZS50bV9tZGF5ID0gdG0tPnRtX21kYXk7CisJd2FrZS50aW1lLnRtX21vbiA9IHRtLT50bV9tb247CisJd2FrZS50aW1lLnRtX3llYXIgPSB0bS0+dG1feWVhcjsKKwkvKiB3ZGF5LCB5ZGF5LCBhbmQgaXNkc3QgZmllbGRzIGFyZSB1bnVzZWQgKi8KKwl3YWtlLnRpbWUudG1fd2RheSA9IC0xOworCXdha2UudGltZS50bV95ZGF5ID0gLTE7CisJd2FrZS50aW1lLnRtX2lzZHN0ID0gLTE7CisJd2FrZS5lbmFibGVkID0gMTsKKworCWlmICghY3RsLT5kcnlydW4gJiYgaW9jdGwoZmQsIFJUQ19XS0FMTV9TRVQsICZ3YWtlKSA8IDApIHsKKwkJd2FybihfKCJzZXQgcnRjIHdha2UgYWxhcm0gZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCXJldHVybiAwOworfQorCitzdGF0aWMgY2hhciAqKmdldF9zeXNfcG93ZXJfc3RhdGVzKHN0cnVjdCBydGN3YWtlX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgZmQgPSAtMTsKKworCWlmICghY3RsLT5wb3NzaWJsZV9tb2RlcykgeworCQljaGFyIGJ1ZlsyNTZdID0geyAwIH07CisKKwkJZmQgPSBvcGVuKFNZU19QT1dFUl9TVEFURV9QQVRILCBPX1JET05MWSk7CisJCWlmIChmZCA8IDApCisJCQlnb3RvIG5vdGhpbmc7CisJCWlmIChyZWFkKGZkLCAmYnVmLCBzaXplb2YoYnVmKSAtIDEpIDw9IDApCisJCQlnb3RvIG5vdGhpbmc7CisJCWN0bC0+cG9zc2libGVfbW9kZXMgPSBzdHJ2X3NwbGl0KGJ1ZiwgIiBcbiIpOworCQljbG9zZShmZCk7CisJfQorCXJldHVybiBjdGwtPnBvc3NpYmxlX21vZGVzOworbm90aGluZzoKKwlpZiAoZmQgPj0gMCkKKwkJY2xvc2UoZmQpOworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCB3YWl0X3N0ZGluKHN0cnVjdCBydGN3YWtlX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgcG9sbGZkIGZkW10gPSB7CisJCXsuZmQgPSBTVERJTl9GSUxFTk8sIC5ldmVudHMgPSBQT0xMSU59CisJfTsKKwlpbnQgdHJpZXMgPSAwOworCisJd2hpbGUgKHRyaWVzIDwgOCAmJiBwb2xsKGZkLCAxLCAxMCkgPT0gMSkgeworCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJd2FybngoXygiZGlzY2FyZGluZyBzdGRpbiIpKTsKKwkJeHVzbGVlcCgyNTAwMDApOworCQl0Y2ZsdXNoKFNURElOX0ZJTEVOTywgVENJRkxVU0gpOworCQl0cmllcysrOworCX0KK30KKworc3RhdGljIHZvaWQgc3VzcGVuZF9zeXN0ZW0oc3RydWN0IHJ0Y3dha2VfY29udHJvbCAqY3RsKQoreworCUZJTEUJKmYgPSBmb3BlbihTWVNfUE9XRVJfU1RBVEVfUEFUSCwgInciKTsKKworCWlmICghZikgeworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIFNZU19QT1dFUl9TVEFURV9QQVRIKTsKKwkJcmV0dXJuOworCX0KKworCWlmICghY3RsLT5kcnlydW4pIHsKKwkJaWYgKGlzYXR0eShTVERJTl9GSUxFTk8pKQorCQkJd2FpdF9zdGRpbihjdGwpOworCQlmcHJpbnRmKGYsICIlc1xuIiwgY3RsLT5tb2RlX3N0cik7CisJCWZmbHVzaChmKTsKKwl9CisJLyogdGhpcyBleGVjdXRlcyBhZnRlciB3YWtlIGZyb20gc3VzcGVuZCAqLworCWlmIChjbG9zZV9zdHJlYW0oZikpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ3cml0ZSBlcnJvciIpKTsKK30KKworc3RhdGljIGludCByZWFkX2Nsb2NrX21vZGUoc3RydWN0IHJ0Y3dha2VfY29udHJvbCAqY3RsKQoreworCUZJTEUgKmZwOworCWNoYXIgbGluZWJ1ZltBREpUSU1FX1pPTkVfQlVGU0laXTsKKworCWZwID0gZm9wZW4oY3RsLT5hZGpmaWxlLCAiciIpOworCWlmICghZnApCisJCXJldHVybiAtMTsKKwkvKiBza2lwIHR3byBsaW5lcyAqLworCWlmIChza2lwX2ZsaW5lKGZwKSB8fCBza2lwX2ZsaW5lKGZwKSkgeworCQlmY2xvc2UoZnApOworCQlyZXR1cm4gLTE7CisJfQorCS8qIHJlYWQgdGhpcmQgbGluZSAqLworCWlmICghZmdldHMobGluZWJ1Ziwgc2l6ZW9mIGxpbmVidWYsIGZwKSkgeworCQlmY2xvc2UoZnApOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKHN0cm5jbXAobGluZWJ1ZiwgIlVUQyIsIDMpID09IDApCisJCWN0bC0+Y2xvY2tfbW9kZSA9IENNX1VUQzsKKwllbHNlIGlmIChzdHJuY21wKGxpbmVidWYsICJMT0NBTCIsIDUpID09IDApCisJCWN0bC0+Y2xvY2tfbW9kZSA9IENNX0xPQ0FMOworCWVsc2UgaWYgKGN0bC0+dmVyYm9zZSkKKwkJd2FybngoXygidW5leHBlY3RlZCB0aGlyZCBsaW5lIGluOiAlczogJXMiKSwgY3RsLT5hZGpmaWxlLCBsaW5lYnVmKTsKKworCWZjbG9zZShmcCk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcHJpbnRfYWxhcm0oc3RydWN0IHJ0Y3dha2VfY29udHJvbCAqY3RsLCBpbnQgZmQpCit7CisJc3RydWN0IHJ0Y193a2Fscm0gd2FrZTsKKwlzdHJ1Y3QgdG0gdG0gPSB7IDAgfTsKKwl0aW1lX3QgYWxhcm07CisKKwlpZiAoaW9jdGwoZmQsIFJUQ19XS0FMTV9SRCwgJndha2UpIDwgMCkgeworCQl3YXJuKF8oInJlYWQgcnRjIGFsYXJtIGZhaWxlZCIpKTsKKwkJcmV0dXJuIC0xOworCX0KKworCWlmICh3YWtlLmVuYWJsZWQgIT0gMSB8fCB3YWtlLnRpbWUudG1feWVhciA9PSAtMSkgeworCQlwcmludGYoXygiYWxhcm06IG9mZlxuIikpOworCQlyZXR1cm4gMDsKKwl9CisJdG0udG1fc2VjID0gd2FrZS50aW1lLnRtX3NlYzsKKwl0bS50bV9taW4gPSB3YWtlLnRpbWUudG1fbWluOworCXRtLnRtX2hvdXIgPSB3YWtlLnRpbWUudG1faG91cjsKKwl0bS50bV9tZGF5ID0gd2FrZS50aW1lLnRtX21kYXk7CisJdG0udG1fbW9uID0gd2FrZS50aW1lLnRtX21vbjsKKwl0bS50bV95ZWFyID0gd2FrZS50aW1lLnRtX3llYXI7CisJdG0udG1faXNkc3QgPSAtMTsgIC8qIGFzc3VtZSB0aGUgc3lzdGVtIGtub3dzIGJldHRlciB0aGFuIHRoZSBSVEMgKi8KKworCWFsYXJtID0gbWt0aW1lKCZ0bSk7CisJaWYgKGFsYXJtID09ICh0aW1lX3QpLTEpIHsKKwkJd2FybihfKCJjb252ZXJ0IHRpbWUgZmFpbGVkIikpOworCQlyZXR1cm4gLTE7CisJfQorCS8qIDAgaWYgYm90aCBVVEMsIG9yIGV4cHJlc3NlcyBkaWZmIGlmIFJUQyBpbiBsb2NhbCB0aW1lICovCisJYWxhcm0gKz0gY3RsLT5zeXNfdGltZSAtIGN0bC0+cnRjX3RpbWU7CisJcHJpbnRmKF8oImFsYXJtOiBvbiAgJXMiKSwgY3RpbWUoJmFsYXJtKSk7CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBnZXRfcnRjX21vZGUoc3RydWN0IHJ0Y3dha2VfY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICpzKQoreworCXNpemVfdCBpOworCWNoYXIgKiptb2RlcyA9IGdldF9zeXNfcG93ZXJfc3RhdGVzKGN0bCksICoqbTsKKworCVNUUlZfRk9SRUFDSChtLCBtb2RlcykgeworCQlpZiAoc3RyY21wKHMsICptKSA9PSAwKQorCQkJcmV0dXJuIFNZU0ZTX01PREU7CisJfQorCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnRjd2FrZV9tb2RlX3N0cmluZyk7IGkrKykKKwkJaWYgKCFzdHJjbXAocywgcnRjd2FrZV9tb2RlX3N0cmluZ1tpXSkpCisJCQlyZXR1cm4gaTsKKworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IG9wZW5fZGV2X3J0Yyhjb25zdCBjaGFyICpkZXZuYW1lKQoreworCWludCBmZDsKKwljaGFyICpkZXZwYXRoID0gTlVMTDsKKworCWlmIChzdGFydHN3aXRoKGRldm5hbWUsICIvZGV2IikpCisJCWRldnBhdGggPSB4c3RyZHVwKGRldm5hbWUpOworCWVsc2UKKwkJeGFzcHJpbnRmKCZkZXZwYXRoLCAiL2Rldi8lcyIsIGRldm5hbWUpOworCWZkID0gb3BlbihkZXZwYXRoLCBPX1JET05MWSB8IE9fQ0xPRVhFQyk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IHVuYWJsZSB0byBmaW5kIGRldmljZSIpLCBkZXZwYXRoKTsKKwlmcmVlKGRldnBhdGgpOworCXJldHVybiBmZDsKK30KKworc3RhdGljIHZvaWQgbGlzdF9tb2RlcyhzdHJ1Y3QgcnRjd2FrZV9jb250cm9sICpjdGwpCit7CisJc2l6ZV90IGk7CisJY2hhciAqKm1vZGVzID0gZ2V0X3N5c19wb3dlcl9zdGF0ZXMoY3RsKSwgKiptOworCisJaWYgKCFtb2RlcykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImNvdWxkIG5vdCByZWFkOiAlcyIpLCBTWVNfUE9XRVJfU1RBVEVfUEFUSCk7CisKKwlTVFJWX0ZPUkVBQ0gobSwgbW9kZXMpCisJCXByaW50ZigiJXMgIiwgKm0pOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnRjd2FrZV9tb2RlX3N0cmluZyk7IGkrKykKKwkJcHJpbnRmKCIlcyAiLCBydGN3YWtlX21vZGVfc3RyaW5nW2ldKTsKKwlwdXRjaGFyKCdcbicpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHJ0Y3dha2VfY29udHJvbCBjdGwgPSB7CisJCS5tb2RlX3N0ciA9ICJzdXNwZW5kIiwJCS8qIGRlZmF1bHQgbW9kZSAqLworCQkuYWRqZmlsZSA9IF9QQVRIX0FESlRJTUUsCisJCS5jbG9ja19tb2RlID0gQ01fQVVUTworCX07CisJY2hhciAqZGV2bmFtZSA9IERFRkFVTFRfUlRDX0RFVklDRTsKKwl1bnNpZ25lZCBzZWNvbmRzID0gMDsKKwlpbnQgc3VzcGVuZCA9IFNZU0ZTX01PREU7CisJaW50IHJjID0gRVhJVF9TVUNDRVNTOworCWludCB0OworCWludCBmZDsKKwl0aW1lX3QgYWxhcm0gPSAwOworCWVudW0geworCQlPUFRfREFURSA9IENIQVJfTUFYICsgMSwKKwkJT1BUX0xJU1QKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworCQl7ICJhZGpmaWxlIiwJcmVxdWlyZWRfYXJndW1lbnQsCU5VTEwsICdBJyAgICAgIH0sCisJCXsgImF1dG8iLAlub19hcmd1bWVudCwJCU5VTEwsICdhJyAgICAgIH0sCisJCXsgImRyeS1ydW4iLAlub19hcmd1bWVudCwJCU5VTEwsICduJyAgICAgIH0sCisJCXsgImxvY2FsIiwJbm9fYXJndW1lbnQsCQlOVUxMLCAnbCcgICAgICB9LAorCQl7ICJ1dGMiLAlub19hcmd1bWVudCwJCU5VTEwsICd1JyAgICAgIH0sCisJCXsgInZlcmJvc2UiLAlub19hcmd1bWVudCwJCU5VTEwsICd2JyAgICAgIH0sCisJCXsgInZlcnNpb24iLAlub19hcmd1bWVudCwJCU5VTEwsICdWJyAgICAgIH0sCisJCXsgImhlbHAiLAlub19hcmd1bWVudCwJCU5VTEwsICdoJyAgICAgIH0sCisJCXsgIm1vZGUiLAlyZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwgJ20nICAgICAgfSwKKwkJeyAiZGV2aWNlIiwJcmVxdWlyZWRfYXJndW1lbnQsCU5VTEwsICdkJyAgICAgIH0sCisJCXsgInNlY29uZHMiLAlyZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwgJ3MnICAgICAgfSwKKwkJeyAidGltZSIsCXJlcXVpcmVkX2FyZ3VtZW50LAlOVUxMLCAndCcgICAgICB9LAorCQl7ICJkYXRlIiwJcmVxdWlyZWRfYXJndW1lbnQsCU5VTEwsIE9QVF9EQVRFIH0sCisJCXsgImxpc3QtbW9kZXMiLAlub19hcmd1bWVudCwJCU5VTEwsIE9QVF9MSVNUIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsKKwkJeyAnYScsICdsJywgJ3UnIH0sCisJCXsgJ3MnLCAndCcsIE9QVF9EQVRFIH0sCisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKCh0ID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIkE6YWhkOmxtOm5zOnQ6dVZ2IiwKKwkJCQkJbG9uZ19vcHRpb25zLCBOVUxMKSkgIT0gRU9GKSB7CisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyh0LCBsb25nX29wdGlvbnMsIGV4Y2wsIGV4Y2xfc3QpOworCQlzd2l0Y2ggKHQpIHsKKwkJY2FzZSAnQSc6CisJCQkvKiBmb3IgYmV0dGVyIGNvbXBhdGliaWxpdHkgd2l0aCBod2Nsb2NrICovCisJCQljdGwuYWRqZmlsZSA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCWN0bC5jbG9ja19tb2RlID0gQ01fQVVUTzsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWRldm5hbWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQljdGwuY2xvY2tfbW9kZSA9IENNX0xPQ0FMOworCQkJYnJlYWs7CisKKwkJY2FzZSBPUFRfTElTVDoKKwkJCWxpc3RfbW9kZXMoJmN0bCk7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCisJCWNhc2UgJ20nOgorCQkJaWYgKChzdXNwZW5kID0gZ2V0X3J0Y19tb2RlKCZjdGwsIG9wdGFyZykpIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5yZWNvZ25pemVkIHN1c3BlbmQgc3RhdGUgJyVzJyIpLCBvcHRhcmcpOworCQkJY3RsLm1vZGVfc3RyID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJY3RsLmRyeXJ1biA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQkvKiBhbGFybSB0aW1lLCBzZWNvbmRzLXRvLXNsZWVwIChyZWxhdGl2ZSkgKi8KKwkJCXNlY29uZHMgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHNlY29uZHMgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQkvKiBhbGFybSB0aW1lLCB0aW1lX3QgKGFic29sdXRlLCBzZWNvbmRzIHNpbmNlIGVwb2NoKSAqLworCQkJYWxhcm0gPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHRpbWUgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfREFURToKKwkJewkvKiBhbGFybSB0aW1lLCBzZWUgdGltZXN0YW1wIGZvcm1hdCBmcm9tIG1hbnVhbCAqLworCQkJdXNlY190IHA7CisJCQlpZiAocGFyc2VfdGltZXN0YW1wKG9wdGFyZywgJnApIDwgMCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiaW52YWxpZCB0aW1lIHZhbHVlIFwiJXNcIiIpLCBvcHRhcmcpOworCQkJYWxhcm0gPSAodGltZV90KSAocCAvIDEwMDAwMDApOworCQkJYnJlYWs7CisJCX0KKwkJY2FzZSAndSc6CisJCQljdGwuY2xvY2tfbW9kZSA9IENNX1VUQzsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCWN0bC52ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAoY3RsLmNsb2NrX21vZGUgPT0gQ01fQVVUTyAmJiByZWFkX2Nsb2NrX21vZGUoJmN0bCkgPCAwKSB7CisJCXByaW50ZihfKCIlczogYXNzdW1pbmcgUlRDIHVzZXMgVVRDIC4uLlxuIiksICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJCWN0bC5jbG9ja19tb2RlID0gQ01fVVRDOworCX0KKworCWlmIChjdGwudmVyYm9zZSkKKwkJcHJpbnRmKCIlcyIsICBjdGwuY2xvY2tfbW9kZSA9PSBDTV9VVEMgPyBfKCJVc2luZyBVVEMgdGltZS5cbiIpIDoKKwkJCQlfKCJVc2luZyBsb2NhbCB0aW1lLlxuIikpOworCisJaWYgKCFhbGFybSAmJiAhc2Vjb25kcyAmJiBzdXNwZW5kICE9IERJU0FCTEVfTU9ERSAmJiBzdXNwZW5kICE9IFNIT1dfTU9ERSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm11c3QgcHJvdmlkZSB3YWtlIHRpbWUgKHNlZSAtLXNlY29uZHMsIC0tdGltZSBhbmQgLS1kYXRlIG9wdGlvbnMpIikpOworCisJLyogZGV2aWNlIG11c3QgZXhpc3QgYW5kIChpZiB3ZSdsbCBzbGVlcCkgYmUgd2FrZXVwLWVuYWJsZWQgKi8KKwlmZCA9IG9wZW5fZGV2X3J0YyhkZXZuYW1lKTsKKworCWlmIChzdXNwZW5kICE9IE9OX01PREUgJiYgc3VzcGVuZCAhPSBOT19NT0RFICYmICFpc193YWtldXBfZW5hYmxlZChkZXZuYW1lKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzIG5vdCBlbmFibGVkIGZvciB3YWtldXAgZXZlbnRzIiksIGRldm5hbWUpOworCisJLyogcmVsYXRpdmUgb3IgYWJzb2x1dGUgYWxhcm0gdGltZSwgbm9ybWFsaXplZCB0byB0aW1lX3QgKi8KKwlpZiAoZ2V0X2Jhc2V0aW1lcygmY3RsLCBmZCkgPCAwKQorCQlleGl0KEVYSVRfRkFJTFVSRSk7CisKKwlpZiAoY3RsLnZlcmJvc2UpCisJCXByaW50ZihfKCJhbGFybSAlbGQsIHN5c190aW1lICVsZCwgcnRjX3RpbWUgJWxkLCBzZWNvbmRzICV1XG4iKSwKKwkJCQlhbGFybSwgY3RsLnN5c190aW1lLCBjdGwucnRjX3RpbWUsIHNlY29uZHMpOworCisJaWYgKHN1c3BlbmQgIT0gRElTQUJMRV9NT0RFICYmIHN1c3BlbmQgIT0gU0hPV19NT0RFKSB7CisJCS8qIHBlcmZvcm0gYWxhcm0gc2V0dXAgd2hlbiB0aGUgc2hvdyBvciBkaXNhYmxlIG1vZGVzIGFyZSBub3Qgc2V0ICovCisJCWlmIChhbGFybSkgeworCQkJaWYgKGFsYXJtIDwgY3RsLnN5c190aW1lKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0aW1lIGRvZXNuJ3QgZ28gYmFja3dhcmQgdG8gJXMiKSwKKwkJCQkJCWN0aW1lKCZhbGFybSkpOworCQkJYWxhcm0gLT0gY3RsLnN5c190aW1lIC0gY3RsLnJ0Y190aW1lOworCQl9IGVsc2UKKwkJCWFsYXJtID0gY3RsLnJ0Y190aW1lICsgc2Vjb25kcyArIDE7CisKKwkJaWYgKHNldHVwX2FsYXJtKCZjdGwsIGZkLCAmYWxhcm0pIDwgMCkKKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKworCQlpZiAoc3VzcGVuZCA9PSBOT19NT0RFIHx8IHN1c3BlbmQgPT0gT05fTU9ERSkKKwkJCXByaW50ZihfKCIlczogd2FrZXVwIHVzaW5nICVzIGF0ICVzIiksCisJCQkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsIGRldm5hbWUsCisJCQkJY3RpbWUoJmFsYXJtKSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCIlczogd2FrZXVwIGZyb20gXCIlc1wiIHVzaW5nICVzIGF0ICVzIiksCisJCQkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsIGN0bC5tb2RlX3N0ciwgZGV2bmFtZSwKKwkJCQljdGltZSgmYWxhcm0pKTsKKwkJZmZsdXNoKHN0ZG91dCk7CisJCXh1c2xlZXAoMTAgKiAxMDAwKTsKKwl9CisKKwlzd2l0Y2ggKHN1c3BlbmQpIHsKKwljYXNlIE5PX01PREU6CisJCWlmIChjdGwudmVyYm9zZSkKKwkJCXByaW50ZihfKCJzdXNwZW5kIG1vZGU6IG5vOyBsZWF2aW5nXG4iKSk7CisJCWN0bC5kcnlydW4gPSAxOwkvKiB0byBza2lwIGRpc2FibGluZyBhbGFybSBhdCB0aGUgZW5kICovCisJCWJyZWFrOworCWNhc2UgT0ZGX01PREU6CisJeworCQljaGFyICphcmdbNV07CisJCWludCBpID0gMDsKKworCQlpZiAoY3RsLnZlcmJvc2UpCisJCQlwcmludGYoXygic3VzcGVuZCBtb2RlOiBvZmY7IGV4ZWN1dGluZyAlc1xuIiksCisJCQkJCQlfUEFUSF9TSFVURE9XTik7CisJCWFyZ1tpKytdID0gX1BBVEhfU0hVVERPV047CisJCWFyZ1tpKytdID0gIi1oIjsKKwkJYXJnW2krK10gPSAiLVAiOworCQlhcmdbaSsrXSA9ICJub3ciOworCQlhcmdbaV0gICA9IE5VTEw7CisJCWlmICghY3RsLmRyeXJ1bikgeworCQkJZXhlY3YoYXJnWzBdLCBhcmcpOworCQkJd2FybihfKCJmYWlsZWQgdG8gZXhlY3V0ZSAlcyIpLCBfUEFUSF9TSFVURE9XTik7CisJCQlyYyA9IEVYSVRfRkFJTFVSRTsKKwkJfQorCQlicmVhazsKKwl9CisJY2FzZSBPTl9NT0RFOgorCXsKKwkJdW5zaWduZWQgbG9uZyBkYXRhOworCisJCWlmIChjdGwudmVyYm9zZSkKKwkJCXByaW50ZihfKCJzdXNwZW5kIG1vZGU6IG9uOyByZWFkaW5nIHJ0Y1xuIikpOworCQlpZiAoIWN0bC5kcnlydW4pIHsKKwkJCWRvIHsKKwkJCQl0ID0gcmVhZChmZCwgJmRhdGEsIHNpemVvZiBkYXRhKTsKKwkJCQlpZiAodCA8IDApIHsKKwkJCQkJd2FybihfKCJydGMgcmVhZCBmYWlsZWQiKSk7CisJCQkJCWJyZWFrOworCQkJCX0KKwkJCQlpZiAoY3RsLnZlcmJvc2UpCisJCQkJCXByaW50ZigiLi4uICVzOiAlMDNseFxuIiwgZGV2bmFtZSwgZGF0YSk7CisJCQl9IHdoaWxlICghKGRhdGEgJiBSVENfQUYpKTsKKwkJfQorCQlicmVhazsKKwl9CisJY2FzZSBESVNBQkxFX01PREU6CisJCS8qIGp1c3QgYnJlYWssIGFsYXJtIGdldHMgZGlzYWJsZWQgaW4gdGhlIGVuZCAqLworCQlpZiAoY3RsLnZlcmJvc2UpCisJCQlwcmludGYoXygic3VzcGVuZCBtb2RlOiBkaXNhYmxlOyBkaXNhYmxpbmcgYWxhcm1cbiIpKTsKKwkJYnJlYWs7CisJY2FzZSBTSE9XX01PREU6CisJCWlmIChjdGwudmVyYm9zZSkKKwkJCXByaW50ZihfKCJzdXNwZW5kIG1vZGU6IHNob3c7IHByaW50aW5nIGFsYXJtIGluZm9cbiIpKTsKKwkJaWYgKHByaW50X2FsYXJtKCZjdGwsIGZkKSkKKwkJCXJjID0gRVhJVF9GQUlMVVJFOworCQljdGwuZHJ5cnVuID0gMTsJLyogZG9uJ3QgcmVhbGx5IGRpc2FibGUgYWxhcm0gaW4gdGhlIGVuZCwganVzdCBzaG93ICovCisJCWJyZWFrOworCWRlZmF1bHQ6CisJCWlmIChjdGwudmVyYm9zZSkKKwkJCXByaW50ZihfKCJzdXNwZW5kIG1vZGU6ICVzOyBzdXNwZW5kaW5nIHN5c3RlbVxuIiksIGN0bC5tb2RlX3N0cik7CisJCXN5bmMoKTsKKwkJc3VzcGVuZF9zeXN0ZW0oJmN0bCk7CisJfQorCisJaWYgKCFjdGwuZHJ5cnVuKSB7CisJCXN0cnVjdCBydGNfd2thbHJtIHdha2U7CisKKwkJaWYgKGlvY3RsKGZkLCBSVENfV0tBTE1fUkQsICZ3YWtlKSA8IDApIHsKKwkJCXdhcm4oXygicmVhZCBydGMgYWxhcm0gZmFpbGVkIikpOworCQkJcmMgPSBFWElUX0ZBSUxVUkU7CisJCX0gZWxzZSB7CisJCQl3YWtlLmVuYWJsZWQgPSAwOworCQkJaWYgKGlvY3RsKGZkLCBSVENfV0tBTE1fU0VULCAmd2FrZSkgPCAwKSB7CisJCQkJd2FybihfKCJkaXNhYmxlIHJ0YyBhbGFybSBpbnRlcnJ1cHQgZmFpbGVkIikpOworCQkJCXJjID0gRVhJVF9GQUlMVVJFOworCQkJfQorCQl9CisJfQorCisJY2xvc2UoZmQpOworCXJldHVybiByYzsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9zZXRhcmNoLjggYi9zeXMtdXRpbHMvc2V0YXJjaC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNzAxZmEKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvc2V0YXJjaC44CkBAIC0wLDAgKzEsMTI4IEBACisuVEggU0VUQVJDSCA4ICJEZWNlbWJlciAyMDE3IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitzZXRhcmNoIFwtIGNoYW5nZSByZXBvcnRlZCBhcmNoaXRlY3R1cmUgaW4gbmV3IHByb2dyYW0gZW52aXJvbm1lbnQgYW5kIHNldCBwZXJzb25hbGl0eSBmbGFncworLlNIIFNZTk9QU0lTCisuQiBzZXRhcmNoCisuSSBhcmNoCitbb3B0aW9uc10KKy5SSSBbIHByb2dyYW0KKy5SSSBbIGFyZ3VtZW50IC4uLl1dCisuc3AKKy5CIGFyY2gKK1tvcHRpb25zXQorLlJJIFsgcHJvZ3JhbQorLlJJIFsgYXJndW1lbnQgLi4uXV0KKy5zcAorLkIgc2V0YXJjaAorLkJSIFwtXC1saXN0IHwgXC1oIHwgXC1WCisuU0ggREVTQ1JJUFRJT04KKy5CIHNldGFyY2gKK2N1cnJlbnRseSBvbmx5IGFmZmVjdHMgdGhlIG91dHB1dCBvZiBcZkJ1bmFtZSAtbVxmUi4KK0ZvciBleGFtcGxlLCBvbiBhbiBBTUQ2NCBzeXN0ZW0sIHJ1bm5pbmcgXGZCc2V0YXJjaCBpMzg2IFxmSXByb2dyYW1cZlIKK3dpbGwgY2F1c2UgXGZJcHJvZ3JhbVxmUiB0byBzZWUgaTY4NiBpbnN0ZWFkIG9mIHg4Nl82NCBhcyB0aGUgbWFjaGluZSB0eXBlLgorSXQgYWxzbyBhbGxvd3MgdG8gc2V0IHZhcmlvdXMgcGVyc29uYWxpdHkgb3B0aW9ucy4KK1RoZSBkZWZhdWx0IFxmSXByb2dyYW1cZlIgaXMgXGZCL2Jpbi9zaFxmUi4KKy5TSCBPUFRJT05TCisuVFAKKy5CIFwtXC1saXN0CitMaXN0IHRoZSBhcmNoaXRlY3R1cmVzIHRoYXQgXGZCc2V0YXJjaFxmUiBrbm93cyBhYm91dC4gIFdoZXRoZXIgXGZCc2V0YXJjaFxmUgorY2FuIGFjdHVhbGx5IHNldCBlYWNoIG9mIHRoZXNlIGFyY2hpdGVjdHVyZXMgZGVwZW5kcyBvbiB0aGUgcnVubmluZyBrZXJuZWwuCisuVFAKKy5CIFwtXC11bmFtZVwtMi42CitDYXVzZXMgdGhlIFxmSXByb2dyYW1cZlIgdG8gc2VlIGEga2VybmVsIHZlcnNpb24gbnVtYmVyIGJlZ2lubmluZyB3aXRoIDIuNi4KK1R1cm5zIG9uIFVOQU1FMjYuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorQmUgdmVyYm9zZS4KKy5UUAorXGZCXC0zXGZSLCBcZkJcLVwtM2diXGZSCitTcGVjaWZpZXMKKy5JIHByb2dyYW0KK3Nob3VsZCB1c2UgYSBtYXhpbXVtIG9mIDNHQiBvZiBhZGRyZXNzIHNwYWNlLiAgU3VwcG9ydGVkIG9uIHg4Ni4gIFR1cm5zIG9uCitBRERSX0xJTUlUXzNHQi4KKy5UUAorXGZCXC1cLTRnYlxmUgorVGhpcyBvcHRpb24gaGFzIG5vIGVmZmVjdC4gIEl0IGlzIHJldGFpbmVkIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IG9ubHksCithbmQgbWF5IGJlIHJlbW92ZWQgaW4gZnV0dXJlIHJlbGVhc2VzLgorLlRQCitcZkJcLUJcZlIsIFxmQlwtXC0zMmJpdFxmUgorTGltaXQgdGhlIGFkZHJlc3Mgc3BhY2UgdG8gMzIgYml0cyB0byBlbXVsYXRlIGhhcmR3YXJlLiAgU3VwcG9ydGVkIG9uIEFSTQorYW5kIEFscGhhLiAgVHVybnMgb24gQUREUl9MSU1JVF8zMkJJVC4KKy5UUAorXGZCXC1GXGZSLCBcZkJcLVwtZmRwaWNcLWZ1bmNwdHJzXGZSCitUcmVhdCB1c2VyLXNwYWNlIGZ1bmN0aW9uIHBvaW50ZXJzIHRvIHNpZ25hbCBoYW5kbGVycyBhcyBwb2ludGVycyB0byBhZGRyZXNzCitkZXNjcmlwdG9ycy4gIFRoaXMgb3B0aW9uIGhhcyBubyBlZmZlY3Qgb24gYXJjaGl0ZWN0dXJlcyB0aGF0IGRvIG5vdCBzdXBwb3J0CitGRFBJQyBFTEYgYmluYXJpZXMuICBJbiBrZXJuZWwgdjQuMTQgc3VwcG9ydCBpcyBsaW1pdGVkIHRvIEFSTSwgQmxhY2tmaW4sCitGdWppdHN1IEZSLVYsIGFuZCBTdXBlckggQ1BVIGFyY2hpdGVjdHVyZXMuCisuVFAKK1xmQlwtSVxmUiwgXGZCXC1cLXNob3J0XC1pbm9kZVxmUgorT2Jzb2xldGUgYnVnIGVtdWxhdGlvbiBmbGFnLiAgVHVybnMgb24gU0hPUlRfSU5PREUuCisuVFAKK1xmQlwtTFxmUiwgXGZCXC1cLWFkZHJcLWNvbXBhdFwtbGF5b3V0XGZSCitQcm92aWRlIGxlZ2FjeSB2aXJ0dWFsIGFkZHJlc3Mgc3BhY2UgbGF5b3V0LiAgVXNlIHdoZW4gdGhlCisuSSBwcm9ncmFtCitiaW5hcnkgZG9lcyBub3QgaGF2ZSBQVF9HTlVfU1RBQ0sgRUxGIGhlYWRlci4gIFR1cm5zIG9uCitBRERSX0NPTVBBVF9MQVlPVVQuCisuVFAKK1xmQlwtUlxmUiwgXGZCXC1cLWFkZHJcLW5vXC1yYW5kb21pemVcZlIKK0Rpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZS4gIFR1cm5zIG9uCitBRERSX05PX1JBTkRPTUlaRS4KKy5UUAorXGZCXC1TXGZSLCBcZkJcLVwtd2hvbGVcLXNlY29uZHNcZlIKK09ic29sZXRlIGJ1ZyBlbXVsYXRpb24gZmxhZy4gIFR1cm5zIG9uIFdIT0xFX1NFQ09ORFMuCisuVFAKK1xmQlwtVFxmUiwgXGZCXC1cLXN0aWNreVwtdGltZW91dHNcZlIKK1RoaXMgbWFrZXMKKy5CUiBzZWxlY3QgKDIpLAorLkJSIHBzZWxlY3QgKDIpLAorYW5kCisuQlIgcHBvbGwgKDIpCitzeXN0ZW0gY2FsbHMgcHJlc2VydmUgdGhlIHRpbWVvdXQgdmFsdWUgaW5zdGVhZCBvZiBtb2RpZnlpbmcgaXQgdG8gcmVmbGVjdAordGhlIGFtb3VudCBvZiB0aW1lIG5vdCBzbGVwdCB3aGVuIGludGVycnVwdGVkIGJ5IGEgc2lnbmFsIGhhbmRsZXIuICBVc2Ugd2hlbgorLkkgcHJvZ3JhbQorZGVwZW5kcyBvbiB0aGlzIGJlaGF2aW9yLiAgRm9yIG1vcmUgZGV0YWlscyBzZWUgdGhlIHRpbWVvdXQgZGVzY3JpcHRpb24gaW4KKy5CUiBzZWxlY3QgKDIpCittYW51YWwgcGFnZS4gIFR1cm5zIG9uIFNUSUNLWV9USU1FT1VUUy4KKy5UUAorXGZCXC1YXGZSLCBcZkJcLVwtcmVhZFwtaW1wbGllc1wtZXhlY1xmUgorSWYgdGhpcyBpcyBzZXQgdGhlbgorLkJSIG1tYXAgKDMpCitQUk9UX1JFQUQgd2lsbCBhbHNvIGFkZCB0aGUgUFJPVF9FWEVDIGJpdCAtIGFzIGV4cGVjdGVkIGJ5IGxlZ2FjeSB4ODYKK2JpbmFyaWVzLiAgTm90aWNlIHRoYXQgdGhlIEVMRiBsb2FkZXIgd2lsbCBhdXRvbWF0aWNhbGx5IHNldCB0aGlzIGJpdCB3aGVuCitpdCBlbmNvdW50ZXJzIGEgbGVnYWN5IGJpbmFyeS4gIFR1cm5zIG9uIFJFQURfSU1QTElFU19FWEVDLgorLlRQCitcZkJcLVpcZlIsIFxmQlwtXC1tbWFwXC1wYWdlXC16ZXJvXGZSCitTVnI0IGJ1ZyBlbXVsYXRpb24gdGhhdCB3aWxsIHNldAorLkJSIG1tYXAgKDMpCitwYWdlIHplcm8gYXMgcmVhZC1vbmx5LiAgVXNlIHdoZW4KKy5JIHByb2dyYW0KK2RlcGVuZHMgb24gdGhpcyBiZWhhdmlvciwgYW5kIHRoZSBzb3VyY2UgY29kZSBpcyBub3QgYXZhaWxhYmxlIHRvIGJlIGZpeGVkLgorVHVybnMgb24gTU1BUF9QQUdFX1pFUk8uCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEVYQU1QTEVTCitzZXRhcmNoIHBwYzMyIHJwbWJ1aWxkIC0tdGFyZ2V0PXBwYyAtLXJlYnVpbGQgZm9vLnNyYy5ycG0KKy5icgorc2V0YXJjaCBwcGMzMiAtdiAtdkwzIHJwbWJ1aWxkIC0tdGFyZ2V0PXBwYyAtLXJlYnVpbGQgYmFyLnNyYy5ycG0KKy5icgorc2V0YXJjaCBwcGMzMiAtLTMyYml0IHJwbWJ1aWxkIC0tdGFyZ2V0PXBwYyAtLXJlYnVpbGQgZm9vLnNyYy5ycG0KKy5TSCBBVVRIT1IKKy5NVCBzb3B3aXRoQHJlZGhhdC5jb20KK0VsbGlvdCBMZWUKKy5NRQorLmJyCisuTVQgam5vdnlAcmVkaGF0LmNvbQorSmluZHJpY2ggTm92eQorLk1FCisuU0ggIlNFRSBBTFNPIgorLkJSIHBlcnNvbmFsaXR5ICgyKSwKKy5CUiBzZWxlY3QgKDIpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgc2V0YXJjaCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3NldGFyY2guYyBiL3N5cy11dGlscy9zZXRhcmNoLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdiZDNhMAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zZXRhcmNoLmMKQEAgLTAsMCArMSwzOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDMtMjAwNyBSZWQgSGF0LCBJbmMuCisgKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICoKKyAqIFdyaXR0ZW4gYnkgRWxsaW90IExlZSA8c29wd2l0aEByZWRoYXQuY29tPgorICogTmV3IHBlcnNvbmFsaXR5IG9wdGlvbnMgJiBjb2RlIGFkZGVkIGJ5IEppbmRyaWNoIE5vdnkgPGpub3Z5QHJlZGhhdC5jb20+CisgKiBBRERfTk9fUkFORE9NSVpFIGZsYWcgYWRkZWQgYnkgQXJqYW4gdmFuIGRlIFZlbiA8YXJqYW52QHJlZGhhdC5jb20+CisgKiBIZWxwIGFuZCBNSVBTIHN1cHBvcnQgZnJvbSBNaWtlIEZyeXNpbmdlciAodmFwaWVyQGdlbnRvby5vcmcpCisgKiBCZXR0ZXIgZXJyb3IgaGFuZGxpbmcgZnJvbSBEbWl0cnkgVi4gTGV2aW4gKGxkdkBhbHRsaW51eC5vcmcpCisgKgorICogYmFzZWQgb24gaWRlYXMgZnJvbSB0aGUgcHBjMzIgdXRpbCBieSBHdXkgU3RyZWV0ZXIgKDIwMDItMDEpLCBiYXNlZCBvbiB0aGUKKyAqIHNwYXJjMzIgdXRpbCBieSBKYWt1YiBKZWxpbmVrICgxOTk4LCAxOTk5KQorICovCisKKyNpbmNsdWRlIDxzeXMvcGVyc29uYWxpdHkuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGxpbWl0cy5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNpZm5kZWYgSEFWRV9QRVJTT05BTElUWQorIyBpbmNsdWRlIDxzeXNjYWxsLmg+CisjIGRlZmluZSBwZXJzb25hbGl0eShwZXJzKSAoKGxvbmcpc3lzY2FsbChTWVNfcGVyc29uYWxpdHksIHBlcnMpKQorI2VuZGlmCisKKyNkZWZpbmUgdHVybl9vbihfZmxhZywgX29wdHMpIFwKKwlkbyB7IFwKKwkJKF9vcHRzKSB8PSBfZmxhZzsgXAorCQlpZiAodmVyYm9zZSkgXAorCQkJcHJpbnRmKF8oIlN3aXRjaGluZyBvbiAlcy5cbiIpLCAjX2ZsYWcpOyBcCisJfSB3aGlsZSgwKQorCisjaWZuZGVmIFVOQU1FMjYKKyMgZGVmaW5lIFVOQU1FMjYgICAgICAgICAgICAgICAgIDB4MDAyMDAwMAorI2VuZGlmCisjaWZuZGVmIEFERFJfTk9fUkFORE9NSVpFCisjIGRlZmluZSBBRERSX05PX1JBTkRPTUlaRSAgICAgICAweDAwNDAwMDAKKyNlbmRpZgorI2lmbmRlZiBGRFBJQ19GVU5DUFRSUworIyBkZWZpbmUgRkRQSUNfRlVOQ1BUUlMgICAgICAgICAgMHgwMDgwMDAwCisjZW5kaWYKKyNpZm5kZWYgTU1BUF9QQUdFX1pFUk8KKyMgZGVmaW5lIE1NQVBfUEFHRV9aRVJPICAgICAgICAgIDB4MDEwMDAwMAorI2VuZGlmCisjaWZuZGVmIEFERFJfQ09NUEFUX0xBWU9VVAorIyBkZWZpbmUgQUREUl9DT01QQVRfTEFZT1VUICAgICAgMHgwMjAwMDAwCisjZW5kaWYKKyNpZm5kZWYgUkVBRF9JTVBMSUVTX0VYRUMKKyMgZGVmaW5lIFJFQURfSU1QTElFU19FWEVDICAgICAgIDB4MDQwMDAwMAorI2VuZGlmCisjaWZuZGVmIEFERFJfTElNSVRfMzJCSVQKKyMgZGVmaW5lIEFERFJfTElNSVRfMzJCSVQgICAgICAgIDB4MDgwMDAwMAorI2VuZGlmCisjaWZuZGVmIFNIT1JUX0lOT0RFCisjIGRlZmluZSBTSE9SVF9JTk9ERSAgICAgICAgICAgICAweDEwMDAwMDAKKyNlbmRpZgorI2lmbmRlZiBXSE9MRV9TRUNPTkRTCisjIGRlZmluZSBXSE9MRV9TRUNPTkRTICAgICAgICAgICAweDIwMDAwMDAKKyNlbmRpZgorI2lmbmRlZiBTVElDS1lfVElNRU9VVFMKKyMgZGVmaW5lIFNUSUNLWV9USU1FT1VUUyAgICAgICAgIDB4NDAwMDAwMAorI2VuZGlmCisjaWZuZGVmIEFERFJfTElNSVRfM0dCCisjIGRlZmluZSBBRERSX0xJTUlUXzNHQiAgICAgICAgICAweDgwMDAwMDAKKyNlbmRpZgorCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKGludCBhcmNod3JhcHBlcikKK3sKKwlmcHV0cyhVU0FHRV9IRUFERVIsIHN0ZG91dCk7CisJaWYgKCFhcmNod3JhcHBlcikKKwkJcHJpbnRmKF8oIiAlcyA8YXJjaD4gW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKwllbHNlCisJCXByaW50ZihfKCIgJXMgW29wdGlvbnNdIFs8cHJvZ3JhbT4gWzxhcmd1bWVudD4uLi5dXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgc3Rkb3V0KTsKKwlmcHV0cyhfKCJDaGFuZ2UgdGhlIHJlcG9ydGVkIGFyY2hpdGVjdHVyZSBhbmQgc2V0IHBlcnNvbmFsaXR5IGZsYWdzLlxuIiksIHN0ZG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBzdGRvdXQpOworCWZwdXRzKF8oIiAtQiwgLS0zMmJpdCAgICAgICAgICAgICAgdHVybnMgb24gQUREUl9MSU1JVF8zMkJJVFxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1GLCAtLWZkcGljLWZ1bmNwdHJzICAgICBtYWtlcyBmdW5jdGlvbiBwb2ludGVycyBwb2ludCB0byBkZXNjcmlwdG9yc1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1JLCAtLXNob3J0LWlub2RlICAgICAgICB0dXJucyBvbiBTSE9SVF9JTk9ERVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1MLCAtLWFkZHItY29tcGF0LWxheW91dCBjaGFuZ2VzIHRoZSB3YXkgdmlydHVhbCBtZW1vcnkgaXMgYWxsb2NhdGVkXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLVIsIC0tYWRkci1uby1yYW5kb21pemUgIGRpc2FibGVzIHJhbmRvbWl6YXRpb24gb2YgdGhlIHZpcnR1YWwgYWRkcmVzcyBzcGFjZVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1TLCAtLXdob2xlLXNlY29uZHMgICAgICB0dXJucyBvbiBXSE9MRV9TRUNPTkRTXG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tc3RpY2t5LXRpbWVvdXRzICAgIHR1cm5zIG9uIFNUSUNLWV9USU1FT1VUU1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1YLCAtLXJlYWQtaW1wbGllcy1leGVjICB0dXJucyBvbiBSRUFEX0lNUExJRVNfRVhFQ1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC1aLCAtLW1tYXAtcGFnZS16ZXJvICAgICB0dXJucyBvbiBNTUFQX1BBR0VfWkVST1xuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiIC0zLCAtLTNnYiAgICAgICAgICAgICAgICBsaW1pdHMgdGhlIHVzZWQgYWRkcmVzcyBzcGFjZSB0byBhIG1heGltdW0gb2YgMyBHQlxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiICAgICAtLTRnYiAgICAgICAgICAgICAgICBpZ25vcmVkIChmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBvbmx5KVxuIiksIHN0ZG91dCk7CisJZnB1dHMoXygiICAgICAtLXVuYW1lLTIuNiAgICAgICAgICB0dXJucyBvbiBVTkFNRTI2XG4iKSwgc3Rkb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgICAgICAgICAgIHNheSB3aGF0IG9wdGlvbnMgYXJlIGJlaW5nIHN3aXRjaGVkIG9uXG4iKSwgc3Rkb3V0KTsKKworCWlmICghYXJjaHdyYXBwZXIpCisJCWZwdXRzKF8oIiAgICAgLS1saXN0ICAgICAgICAgICAgICAgbGlzdCBzZXR0YWJsZSBhcmNoaXRlY3R1cmVzLCBhbmQgZXhpdFxuIiksIHN0ZG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIHN0ZG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgic2V0YXJjaCg4KSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGludCBzZXRfYXJjaChjb25zdCBjaGFyICpwZXJzLCB1bnNpZ25lZCBsb25nIG9wdGlvbnMsIGludCBsaXN0KQoreworCXN0cnVjdCB1dHNuYW1lIHVuOworCWludCBpOworCXVuc2lnbmVkIGxvbmcgcGVyc192YWx1ZTsKKworCXN0cnVjdCB7CisJCWludCBwZXJ2YWw7CisJCWNvbnN0IGNoYXIgKnRhcmdldF9hcmNoLCAqcmVzdWx0X2FyY2g7CisJfSB0cmFuc2l0aW9uc1tdID0geworCQl7VU5BTUUyNiwJInVuYW1lMjYiLAlOVUxMfSwKKwkJe1BFUl9MSU5VWDMyLAkibGludXgzMiIsCU5VTEx9LAorCQl7UEVSX0xJTlVYLAkibGludXg2NCIsCU5VTEx9LAorI2lmIGRlZmluZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKKyMgaWZkZWYgX19CSUdfRU5ESUFOX18KKwkJe1BFUl9MSU5VWDMyLAkicHBjMzIiLAkicHBjIn0sCisJCXtQRVJfTElOVVgzMiwJInBwYyIsCQkicHBjIn0sCisJCXtQRVJfTElOVVgsCSJwcGM2NCIsCSJwcGM2NCJ9LAorCQl7UEVSX0xJTlVYLAkicHBjNjRwc2VyaWVzIiwJInBwYzY0In0sCisJCXtQRVJfTElOVVgsCSJwcGM2NGlzZXJpZXMiLAkicHBjNjQifSwKKyMgZWxzZQorCQl7UEVSX0xJTlVYMzIsCSJwcGMzMiIsCSJwcGNsZSJ9LAorCQl7UEVSX0xJTlVYMzIsCSJwcGMiLAkJInBwY2xlIn0sCisJCXtQRVJfTElOVVgzMiwJInBwYzMybGUiLAkicHBjbGUifSwKKwkJe1BFUl9MSU5VWDMyLAkicHBjbGUiLAkicHBjbGUifSwKKwkJe1BFUl9MSU5VWCwJInBwYzY0bGUiLAkicHBjNjRsZSJ9LAorIyBlbmRpZgorI2VuZGlmCisjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9faWE2NF9fKQorCQl7UEVSX0xJTlVYMzIsCSJpMzg2IiwJCSJpMzg2In0sCisJCXtQRVJfTElOVVgzMiwJImk0ODYiLAkJImkzODYifSwKKwkJe1BFUl9MSU5VWDMyLAkiaTU4NiIsCQkiaTM4NiJ9LAorCQl7UEVSX0xJTlVYMzIsCSJpNjg2IiwJCSJpMzg2In0sCisJCXtQRVJfTElOVVgzMiwJImF0aGxvbiIsCSJpMzg2In0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19pMzg2X18pCisJCXtQRVJfTElOVVgsCSJ4ODZfNjQiLAkieDg2XzY0In0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9faWE2NF9fKSB8fCBkZWZpbmVkKF9faTM4Nl9fKQorCQl7UEVSX0xJTlVYLAkiaWE2NCIsCQkiaWE2NCJ9LAorI2VuZGlmCisjaWYgZGVmaW5lZChfX2hwcGFfXykKKwkJe1BFUl9MSU5VWDMyLAkicGFyaXNjMzIiLAkicGFyaXNjIn0sCisJCXtQRVJfTElOVVgzMiwJInBhcmlzYyIsCSJwYXJpc2MifSwKKwkJe1BFUl9MSU5VWCwJInBhcmlzYzY0IiwJInBhcmlzYzY0In0sCisjZW5kaWYKKyNpZiBkZWZpbmVkKF9fczM5MHhfXykgfHwgZGVmaW5lZChfX3MzOTBfXykKKwkJe1BFUl9MSU5VWDMyLAkiczM5MCIsCQkiczM5MCJ9LAorCQl7UEVSX0xJTlVYLAkiczM5MHgiLAkiczM5MHgifSwKKyNlbmRpZgorI2lmIGRlZmluZWQoX19zcGFyYzY0X18pIHx8IGRlZmluZWQoX19zcGFyY19fKQorCQl7UEVSX0xJTlVYMzIsCSJzcGFyYyIsCSJzcGFyYyJ9LAorCQl7UEVSX0xJTlVYMzIsCSJzcGFyYzMyYmFzaCIsCSJzcGFyYyJ9LAorCQl7UEVSX0xJTlVYMzIsCSJzcGFyYzMyIiwJInNwYXJjIn0sCisJCXtQRVJfTElOVVgsCSJzcGFyYzY0IiwJInNwYXJjNjQifSwKKyNlbmRpZgorI2lmIGRlZmluZWQoX19taXBzNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKKwkJe1BFUl9MSU5VWDMyLAkibWlwczMyIiwJIm1pcHMifSwKKwkJe1BFUl9MSU5VWDMyLAkibWlwcyIsCQkibWlwcyJ9LAorCQl7UEVSX0xJTlVYLAkibWlwczY0IiwJIm1pcHM2NCJ9LAorI2VuZGlmCisjaWYgZGVmaW5lZChfX2FscGhhX18pCisJCXtQRVJfTElOVVgsCSJhbHBoYSIsCSJhbHBoYSJ9LAorCQl7UEVSX0xJTlVYLAkiYWxwaGFldjUiLAkiYWxwaGEifSwKKwkJe1BFUl9MSU5VWCwJImFscGhhZXY1NiIsCSJhbHBoYSJ9LAorCQl7UEVSX0xJTlVYLAkiYWxwaGFldjYiLAkiYWxwaGEifSwKKwkJe1BFUl9MSU5VWCwJImFscGhhZXY2NyIsCSJhbHBoYSJ9LAorI2VuZGlmCisJCS8qIHBsYWNlIGhvbGRlciwgd2lsbCBiZSBmaWxsZWQgdXAgYXQgcnVudGltZSAqLworCQl7LTEsCQlOVUxMLAkJTlVMTH0sCisJCXstMSwJCU5VTEwsCQlOVUxMfQorCX07CisKKwkvKiBBZGQgdGhlIHRyaXZpYWwgdHJhbnNpdGlvbiB7UEVSX0xJTlVYLCBtYWNoaW5lLCBtYWNoaW5lfSBpZiBubworCSAqIHN1Y2ggdGFyZ2V0X2FyY2ggaXMgaGFyZGNvZGVkIHlldC4gICovCisJdW5hbWUoJnVuKTsKKwlmb3IgKGkgPSAwOyB0cmFuc2l0aW9uc1tpXS5wZXJ2YWwgPj0gMDsgaSsrKQorCQlpZiAoIXN0cmNtcCh1bi5tYWNoaW5lLCB0cmFuc2l0aW9uc1tpXS50YXJnZXRfYXJjaCkpCisJCQlicmVhazsKKwlpZiAodHJhbnNpdGlvbnNbaV0ucGVydmFsIDwgMCkgeworCQl1bnNpZ25lZCBsb25nIHdyZHN6ID0gQ0hBUl9CSVQgKiBzaXplb2Yodm9pZCAqKTsKKwkJaWYgKHdyZHN6ID09IDMyIHx8IHdyZHN6ID09IDY0KSB7CisJCQkvKiBmaWxsIHVwIHRoZSBwbGFjZSBob2xkZXIgKi8KKwkJCXRyYW5zaXRpb25zW2ldLnBlcnZhbCA9IHdyZHN6ID09IDMyID8gUEVSX0xJTlVYMzIgOiBQRVJfTElOVVg7CisJCQl0cmFuc2l0aW9uc1tpXS50YXJnZXRfYXJjaCA9IHVuLm1hY2hpbmU7CisJCQl0cmFuc2l0aW9uc1tpXS5yZXN1bHRfYXJjaCA9IHVuLm1hY2hpbmU7CisJCX0KKwl9CisJaWYgKGxpc3QpIHsKKwkJZm9yIChpID0gMDsgdHJhbnNpdGlvbnNbaV0udGFyZ2V0X2FyY2ggIT0gTlVMTDsgaSsrKQorCQkJcHJpbnRmKCIlc1xuIiwgdHJhbnNpdGlvbnNbaV0udGFyZ2V0X2FyY2gpOworCQlyZXR1cm4gMDsKKwl9CisJZm9yIChpID0gMDsgdHJhbnNpdGlvbnNbaV0ucGVydmFsID49IDA7IGkrKykKKwkJaWYgKCFzdHJjbXAocGVycywgdHJhbnNpdGlvbnNbaV0udGFyZ2V0X2FyY2gpKQorCQkJYnJlYWs7CisJaWYgKHRyYW5zaXRpb25zW2ldLnBlcnZhbCA8IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlczogVW5yZWNvZ25pemVkIGFyY2hpdGVjdHVyZSIpLCBwZXJzKTsKKwlwZXJzX3ZhbHVlID0gdHJhbnNpdGlvbnNbaV0ucGVydmFsIHwgb3B0aW9uczsKKwlpZiAocGVyc29uYWxpdHkocGVyc192YWx1ZSkgPCAwKSB7CisJCS8qCisJCSAqIERlcGVuZGluZyBvbiBhcmNoaXRlY3R1cmUgYW5kIGtlcm5lbCB2ZXJzaW9uLCBwZXJzb25hbGl0eQorCQkgKiBzeXNjYWxsIGlzIGVpdGhlciBjYXBhYmxlIG9yIGluY2FwYWJsZSBvZiByZXR1cm5pbmcgYW4gZXJyb3IuCisJCSAqIElmIHRoZSByZXR1cm4gdmFsdWUgaXMgbm90IGFuIGVycm9yLCB0aGVuIGl0J3MgdGhlIHByZXZpb3VzCisJCSAqIHBlcnNvbmFsaXR5IHZhbHVlLCB3aGljaCBjYW4gYmUgYW4gYXJiaXRyYXJ5IHZhbHVlCisJCSAqIHVuZGlzdGluZ3Vpc2hhYmxlIGZyb20gYW4gZXJyb3IgdmFsdWUuCisJCSAqIFRvIG1ha2UgdGhpbmdzIGNsZWFyLCBhIHNlY29uZCBjYWxsIGlzIG5lZWRlZC4KKwkJICovCisJCWlmIChwZXJzb25hbGl0eShwZXJzX3ZhbHVlKSA8IDApCisJCQlyZXR1cm4gMTsKKwl9CisJdW5hbWUoJnVuKTsKKwlpZiAodHJhbnNpdGlvbnNbaV0ucmVzdWx0X2FyY2ggJiYgc3RyY21wKHVuLm1hY2hpbmUsIHRyYW5zaXRpb25zW2ldLnJlc3VsdF9hcmNoKSkgeworCQlpZiAoc3RyY21wKHRyYW5zaXRpb25zW2ldLnJlc3VsdF9hcmNoLCAiaTM4NiIpCisJCSAgICB8fCAoc3RyY21wKHVuLm1hY2hpbmUsICJpNDg2IikKKwkJCSYmIHN0cmNtcCh1bi5tYWNoaW5lLCAiaTU4NiIpCisJCQkmJiBzdHJjbXAodW4ubWFjaGluZSwgImk2ODYiKQorCQkJJiYgc3RyY21wKHVuLm1hY2hpbmUsICJhdGhsb24iKSkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiS2VybmVsIGNhbm5vdCBzZXQgYXJjaGl0ZWN0dXJlIHRvICVzIiksIHBlcnMpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwljb25zdCBjaGFyICphcmNoID0gTlVMTDsKKwl1bnNpZ25lZCBsb25nIG9wdGlvbnMgPSAwOworCWludCB2ZXJib3NlID0gMDsKKwlpbnQgYXJjaHdyYXBwZXI7CisJaW50IGM7CisKKwkvKiBPcHRpb25zIHdpdGhvdXQgZXF1aXZhbGVudCBzaG9ydCBvcHRpb25zICovCisJZW51bSB7CisJCU9QVF80R0IgPSBDSEFSX01BWCArIDEsCisJCU9QVF9VTkFNRTI2LAorCQlPUFRfTElTVAorCX07CisKKwkvKiBPcHRpb25zIC0tM2diIGFuZCAtLTRnYiBhcmUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBhbiBvbGQKKwkgKiBEZWJpYW4gc2V0YXJjaCBpbXBsZW1lbnRhdGlvbi4gICovCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJoZWxwIiwJCW5vX2FyZ3VtZW50LAlOVUxMLAknaCd9LAorCQl7InZlcnNpb24iLAkJbm9fYXJndW1lbnQsCU5VTEwsCSdWJ30sCisJCXsidmVyYm9zZSIsCQlub19hcmd1bWVudCwJTlVMTCwJJ3YnfSwKKwkJeyJhZGRyLW5vLXJhbmRvbWl6ZSIsCW5vX2FyZ3VtZW50LAlOVUxMLAknUid9LAorCQl7ImZkcGljLWZ1bmNwdHJzIiwJbm9fYXJndW1lbnQsCU5VTEwsCSdGJ30sCisJCXsibW1hcC1wYWdlLXplcm8iLAlub19hcmd1bWVudCwJTlVMTCwJJ1onfSwKKwkJeyJhZGRyLWNvbXBhdC1sYXlvdXQiLAlub19hcmd1bWVudCwJTlVMTCwJJ0wnfSwKKwkJeyJyZWFkLWltcGxpZXMtZXhlYyIsCW5vX2FyZ3VtZW50LAlOVUxMLAknWCd9LAorCQl7IjMyYml0IiwJCW5vX2FyZ3VtZW50LAlOVUxMLAknQid9LAorCQl7InNob3J0LWlub2RlIiwJCW5vX2FyZ3VtZW50LAlOVUxMLAknSSd9LAorCQl7Indob2xlLXNlY29uZHMiLAlub19hcmd1bWVudCwJTlVMTCwJJ1MnfSwKKwkJeyJzdGlja3ktdGltZW91dHMiLAlub19hcmd1bWVudCwJTlVMTCwJJ1QnfSwKKwkJeyIzZ2IiLAkJCW5vX2FyZ3VtZW50LAlOVUxMLAknMyd9LAorCQl7IjRnYiIsCQkJbm9fYXJndW1lbnQsCU5VTEwsCU9QVF80R0J9LAorCQl7InVuYW1lLTIuNiIsCQlub19hcmd1bWVudCwJTlVMTCwJT1BUX1VOQU1FMjZ9LAorCQl7Imxpc3QiLAkJbm9fYXJndW1lbnQsCU5VTEwsCU9QVF9MSVNUfSwKKwkJe05VTEwsCQkJMCwJCU5VTEwsCTB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA8IDEpIHsKKwkJd2FybngoXygiTm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisJYXJjaHdyYXBwZXIgPSBzdHJjbXAocHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsICJzZXRhcmNoIikgIT0gMDsKKwlpZiAoYXJjaHdyYXBwZXIpIHsKKwkJYXJjaCA9IHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lOwkvKiBzeW1saW5rcyB0byBzZXRhcmNoICovCisjaWYgZGVmaW5lZChfX3NwYXJjNjRfXykgfHwgZGVmaW5lZChfX3NwYXJjX18pCisJCWlmIChzdHJjbXAoYXJjaCwgInNwYXJjMzJiYXNoIikgPT0gMCkgeworCQkJaWYgKHNldF9hcmNoKGFyY2gsIDBMLCAwKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJGYWlsZWQgdG8gc2V0IHBlcnNvbmFsaXR5IHRvICVzIiksIGFyY2gpOworCQkJZXhlY2woIi9iaW4vYmFzaCIsICIiLCBOVUxMKTsKKwkJCWVycmV4ZWMoIi9iaW4vYmFzaCIpOworCQl9CisjZW5kaWYKKwl9IGVsc2UgeworCQlpZiAoMSA8IGFyZ2MgJiYgKmFyZ3ZbMV0gIT0gJy0nKSB7CisJCQlhcmNoID0gYXJndlsxXTsKKwkJCWFyZ3ZbMV0gPSBhcmd2WzBdOwkvKiBmb3IgZ2V0b3B0X2xvbmcoKSB0byBnZXQgdGhlIHByb2dyYW0gbmFtZSAqLworCQkJYXJndisrOworCQkJYXJnYy0tOworCQl9CisJfQorCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIitoVnYzQkZJTFJTVFhaIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZShhcmNod3JhcHBlcik7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CisJCQl0dXJuX29uKEFERFJfTk9fUkFORE9NSVpFLCBvcHRpb25zKTsKKwkJCWJyZWFrOworCQljYXNlICdGJzoKKwkJCXR1cm5fb24oRkRQSUNfRlVOQ1BUUlMsIG9wdGlvbnMpOworCQkJYnJlYWs7CisJCWNhc2UgJ1onOgorCQkJdHVybl9vbihNTUFQX1BBR0VfWkVSTywgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnTCc6CisJCQl0dXJuX29uKEFERFJfQ09NUEFUX0xBWU9VVCwgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnWCc6CisJCQl0dXJuX29uKFJFQURfSU1QTElFU19FWEVDLCBvcHRpb25zKTsKKwkJCWJyZWFrOworCQljYXNlICdCJzoKKwkJCXR1cm5fb24oQUREUl9MSU1JVF8zMkJJVCwgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnSSc6CisJCQl0dXJuX29uKFNIT1JUX0lOT0RFLCBvcHRpb25zKTsKKwkJCWJyZWFrOworCQljYXNlICdTJzoKKwkJCXR1cm5fb24oV0hPTEVfU0VDT05EUywgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQl0dXJuX29uKFNUSUNLWV9USU1FT1VUUywgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSAnMyc6CisJCQl0dXJuX29uKEFERFJfTElNSVRfM0dCLCBvcHRpb25zKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF80R0I6CS8qIGp1c3QgaWdub3JlIHRoaXMgb25lICovCisJCQlicmVhazsKKwkJY2FzZSBPUFRfVU5BTUUyNjoKKwkJCXR1cm5fb24oVU5BTUUyNiwgb3B0aW9ucyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTElTVDoKKwkJCWlmICghYXJjaHdyYXBwZXIpIHsKKwkJCQlzZXRfYXJjaChOVUxMLCAwLCAxKTsKKwkJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQkJfSBlbHNlCisJCQkJd2FybngoXygidW5yZWNvZ25pemVkIG9wdGlvbiAnLS1saXN0JyIpKTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisKKwlpZiAoIWFyY2gpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBhcmNoaXRlY3R1cmUgYXJndW1lbnQgc3BlY2lmaWVkIikpOworCisJYXJnYyAtPSBvcHRpbmQ7CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoc2V0X2FyY2goYXJjaCwgb3B0aW9ucywgMCkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBzZXQgcGVyc29uYWxpdHkgdG8gJXMiKSwgYXJjaCk7CisKKwlpZiAodmVyYm9zZSkgeworCQlwcmludGYoXygiRXhlY3V0ZSBjb21tYW5kIGAlcycuXG4iKSwgYXJnYyA/IGFyZ3ZbMF0gOiAiL2Jpbi9zaCIpOworCQkvKiBmbHVzaCBhbGwgb3V0cHV0IHN0cmVhbXMgYmVmb3JlIGV4ZWMgKi8KKwkJZmZsdXNoKE5VTEwpOworCX0KKworCWlmICghYXJnYykgeworCQlleGVjbCgiL2Jpbi9zaCIsICItc2giLCBOVUxMKTsKKwkJZXJyZXhlYygiL2Jpbi9zaCIpOworCX0KKworCWV4ZWN2cChhcmd2WzBdLCBhcmd2KTsKKwllcnJleGVjKGFyZ3ZbMF0pOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3NldHByaXYuMSBiL3N5cy11dGlscy9zZXRwcml2LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMyNDIzYwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zZXRwcml2LjEKQEAgLTAsMCArMSwyMTMgQEAKKy5USCBTRVRQUklWIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3NldHByaXYgXC0gcnVuIGEgcHJvZ3JhbSB3aXRoIGRpZmZlcmVudCBMaW51eCBwcml2aWxlZ2Ugc2V0dGluZ3MKKy5TSCBTWU5PUFNJUworLkIgc2V0cHJpdgorW29wdGlvbnNdCisuSSBwcm9ncmFtCisuUkkgWyBhcmd1bWVudHMgXQorLlNIIERFU0NSSVBUSU9OCitTZXRzIG9yIHF1ZXJpZXMgdmFyaW91cyBMaW51eCBwcml2aWxlZ2Ugc2V0dGluZ3MgdGhhdCBhcmUgaW5oZXJpdGVkIGFjcm9zcworLkJSIGV4ZWN2ZSAoMikuCisuUFAKK0luIGNvbXBhcmlzb24gdG8KKy5CUiBzdSAoMSkKK2FuZAorLkJSIHJ1bnVzZXIgKDEpLAorLkJSIHNldHByaXYgKDEpCituZWl0aGVyIHVzZXMgUEFNLCBub3IgZG9lcyBpdCBwcm9tcHQgZm9yIGEgcGFzc3dvcmQuCitJdCBpcyBhIHNpbXBsZSwgbm9uLXNldC11c2VyLUlEIHdyYXBwZXIgYXJvdW5kCisuQlIgZXhlY3ZlICgyKSwKK2FuZCBjYW4gYmUgdXNlZCB0byBkcm9wIHByaXZpbGVnZXMgaW4gdGhlIHNhbWUgd2F5IGFzCisuQlIgc2V0dWlkZ2lkICg4KQorZnJvbQorLkJSIGRhZW1vbnRvb2xzICwKKy5CUiBjaHBzdCAoOCkKK2Zyb20KKy5CUiBydW5pdCAsCitvciBzaW1pbGFyIHRvb2xzIHNoaXBwZWQgYnkgb3RoZXIgc2VydmljZSBtYW5hZ2Vycy4KKy5TSCBPUFRJT04KKy5UUAorLkIgXC1cLWNsZWFyXC1ncm91cHMKK0NsZWFyIHN1cHBsZW1lbnRhcnkgZ3JvdXBzLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZHVtcCIKK0R1bXAgY3VycmVudCBwcml2aWxlZ2Ugc3RhdGUuICBDYW4gYmUgc3BlY2lmaWVkIG1vcmUgdGhhbiBvbmNlIHRvIHNob3cgZXh0cmEsCittb3N0bHkgdXNlbGVzcywgaW5mb3JtYXRpb24uICBJbmNvbXBhdGlibGUgd2l0aCBhbGwgb3RoZXIgb3B0aW9ucy4KKy5UUAorLkIgXC1cLWdyb3VwcyBcZklncm91cFxmUi4uLgorU2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzLiAgVGhlIGFyZ3VtZW50IGlzIGEgY29tbWEtc2VwYXJhdGVkIGxpc3QuCisuVFAKKy5CUiBcLVwtaW5oXC1jYXBzICIgKCIgKyB8IFwtICkgXGZJY2FwICIuLi4gIG9yICAiIFwtXC1hbWJpZW50LWNhcHMgIiAoIiArIHwgXC0gKSBcZkljYXAgIi4uLiAgb3IgICIgXC1cLWJvdW5kaW5nXC1zZXQgIiAoIiArIHwgXC0gKSBcZkljYXAgLi4uCitTZXQgdGhlIGluaGVyaXRhYmxlIGNhcGFiaWxpdGllcywgYW1iaWVudCBjYXBhYmlsaXRpZXMgb3IgdGhlIGNhcGFiaWxpdHkgYm91bmRpbmcgc2V0LiAgU2VlCisuQlIgY2FwYWJpbGl0aWVzICg3KS4KK1RoZSBhcmd1bWVudCBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mCisuQkkgKyBjYXAKK2FuZAorLkJJIFwtIGNhcAorZW50cmllcywgd2hpY2ggYWRkIG9yIHJlbW92ZSBhbiBlbnRyeSByZXNwZWN0aXZlbHkuIFxmSWNhcFxmUiBjYW4gZWl0aGVyIGJlIGEKK2h1bWFuLXJlYWRhYmxlIG5hbWUgYXMgc2VlbiBpbgorLkJSIGNhcGFiaWxpdGllcyAoNykKK3dpdGhvdXQgdGhlIFxmSWNhcF9cZlIgcHJlZml4IG9yIG9mIHRoZSBmb3JtYXQKKy5CSSBjYXBfTiAsCit3aGVyZSBcZklOXGZSIGlzIHRoZSBpbnRlcm5hbCBjYXBhYmlsaXR5IGluZGV4IHVzZWQgYnkgTGludXguCisuQiArYWxsCithbmQKKy5CIFwtYWxsCitjYW4gYmUgdXNlZCB0byBhZGQgb3IgcmVtb3ZlIGFsbCBjYXBzLiAgVGhlIHNldCBvZiBjYXBhYmlsaXRpZXMgc3RhcnRzIG91dCBhcwordGhlIGN1cnJlbnQgaW5oZXJpdGFibGUgc2V0IGZvcgorLkJSIFwtXC1pbmhcLWNhcHMgLAordGhlIGN1cnJlbnQgYW1iaWVudCBzZXQgZm9yCisuQiBcLVwtYW1iaWVudFwtY2FwcworYW5kIHRoZSBjdXJyZW50IGJvdW5kaW5nIHNldCBmb3IKKy5CUiBcLVwtYm91bmRpbmdcLXNldCAuCitJZiB5b3UgZHJvcCBzb21ldGhpbmcgZnJvbSB0aGUgYm91bmRpbmcgc2V0IHdpdGhvdXQgYWxzbyBkcm9wcGluZyBpdCBmcm9tIHRoZQoraW5oZXJpdGFibGUgc2V0LCB5b3UgYXJlIGxpa2VseSB0byBiZWNvbWUgY29uZnVzZWQuICBEbyBub3QgZG8gdGhhdC4KKy5UUAorLkIgXC1cLWtlZXBcLWdyb3VwcworUHJlc2VydmUgc3VwcGxlbWVudGFyeSBncm91cHMuICBPbmx5IHVzZWZ1bCBpbiBjb25qdW5jdGlvbiB3aXRoCisuQlIgXC1cLXJnaWQgLAorLkJSIFwtXC1lZ2lkICIsIG9yIgorLkJSIFwtXC1yZWdpZCAuCisuVFAKKy5CIFwtXC1pbml0XC1ncm91cHMKK0luaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHMgdXNpbmcKKy5CUiBpbml0Z3JvdXBzICIoMykuIgorT25seSB1c2VmdWwgaW4gY29uanVuY3Rpb24gd2l0aAorLkIgXC1cLXJ1aWQKK29yCisuQlIgXC1cLXJldWlkIC4KKy5UUAorLkIgXC1cLWxpc3RcLWNhcHMKK0xpc3QgYWxsIGtub3duIGNhcGFiaWxpdGllcy4gIFRoaXMgb3B0aW9uIG11c3QgYmUgc3BlY2lmaWVkIGFsb25lLgorLlRQCisuQiBcLVwtbm9cLW5ld1wtcHJpdnMKK1NldCB0aGUKKy5JIG5vX25ld19wcml2cworYml0LiAgV2l0aCB0aGlzIGJpdCBzZXQsCisuQlIgZXhlY3ZlICgyKQord2lsbCBub3QgZ3JhbnQgbmV3IHByaXZpbGVnZXMuCitGb3IgZXhhbXBsZSwgdGhlIHNldC11c2VyLUlEIGFuZCBzZXQtZ3JvdXAtSUQgYml0cyBhcyB3ZWxsCithcyBmaWxlIGNhcGFiaWxpdGllcyB3aWxsIGJlIGRpc2FibGVkLiAgKEV4ZWN1dGluZyBiaW5hcmllcyB3aXRoIHRoZXNlIGJpdHMgc2V0Cit3aWxsIHN0aWxsIHdvcmssIGJ1dCB0aGV5IHdpbGwgbm90IGdhaW4gcHJpdmlsZWdlcy4gIENlcnRhaW4gTFNNcywgZXNwZWNpYWxseQorQXBwQXJtb3IsIG1heSByZXN1bHQgaW4gZmFpbHVyZXMgdG8gZXhlY3V0ZSBjZXJ0YWluIHByb2dyYW1zLikgIFRoaXMgYml0IGlzCitpbmhlcml0ZWQgYnkgY2hpbGQgcHJvY2Vzc2VzIGFuZCBjYW5ub3QgYmUgdW5zZXQuICBTZWUKKy5CUiBwcmN0bCAoMikKK2FuZAorLkkgRG9jdW1lbnRhdGlvbi9cOnByY3RsL1w6bm9fXDpuZXdfXDpwcml2cy50eHQKK2luIHRoZSBMaW51eCBrZXJuZWwgc291cmNlLgorLnNwCitUaGUgbm9fbmV3X3ByaXZzIGJpdCBpcyBzdXBwb3J0ZWQgc2luY2UgTGludXggMy41LgorLlRQCisuQkkgXC1cLXJnaWQgIiBnaWRcZlIsICIgXC1cLWVnaWQgIiBnaWRcZlIsICIgXC1cLXJlZ2lkICIgZ2lkIgorU2V0IHRoZSByZWFsLCBlZmZlY3RpdmUsIG9yIGJvdGggR0lEcy4gIFRoZSBcZklnaWRcZlIgYXJndW1lbnQgY2FuIGJlCitnaXZlbiBhcyB0ZXh0dWFsIGdyb3VwIG5hbWUuCisuc3AKK0ZvciBzYWZldHksIHlvdSBtdXN0IHNwZWNpZnkgb25lIG9mCisuQlIgXC1cLWNsZWFyXC1ncm91cHMgLAorLkJSIFwtXC1ncm91cHMgLAorLkJSIFwtXC1rZWVwXC1ncm91cHMgIiwgb3IiCisuQiBcLVwtaW5pdFwtZ3JvdXBzCitpZiB5b3Ugc2V0IGFueSBwcmltYXJ5CisuSVIgZ2lkIC4KKy5UUAorLkJJIFwtXC1ydWlkICIgdWlkXGZSLCAiIFwtXC1ldWlkICIgdWlkXGZSLCAiIFwtXC1yZXVpZCAiIHVpZCIKK1NldCB0aGUgcmVhbCwgZWZmZWN0aXZlLCBvciBib3RoIFVJRHMuICBUaGUgXGZJdWlkXGZSIGFyZ3VtZW50IGNhbiBiZQorZ2l2ZW4gYXMgdGV4dHVhbCBsb2dpbiBuYW1lLgorLnNwCitTZXR0aW5nIGEKKy5JIHVpZAorb3IKKy5JIGdpZAorZG9lcyBub3QgY2hhbmdlIGNhcGFiaWxpdGllcywgYWx0aG91Z2ggdGhlIGV4ZWMgY2FsbCBhdCB0aGUgZW5kIG1pZ2h0IGNoYW5nZQorY2FwYWJpbGl0aWVzLiAgVGhpcyBtZWFucyB0aGF0LCBpZiB5b3UgYXJlIHJvb3QsIHlvdSBwcm9iYWJseSB3YW50IHRvIGRvCitzb21ldGhpbmcgbGlrZToKKy5zcAorLkIgIiAgICAgICAgc2V0cHJpdiBcLVwtcmV1aWQ9MTAwMCBcLVwtcmVnaWQ9MTAwMCBcLVwtaW5oXC1jYXBzPVwtYWxsIgorLlRQCisuQlIgXC1cLXNlY3VyZWJpdHMgIiAoIiArIHwgXC0gKSBcZklzZWN1cmViaXQgLi4uCitTZXQgb3IgY2xlYXIgc2VjdXJlYml0cy4gIFRoZSBhcmd1bWVudCBpcyBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LgorVGhlIHZhbGlkIHNlY3VyZWJpdHMgYXJlCisuSVIgbm9yb290ICwKKy5JUiBub3Jvb3RfbG9ja2VkICwKKy5JUiBub19zZXR1aWRfZml4dXAgLAorLklSIG5vX3NldHVpZF9maXh1cF9sb2NrZWQgLAorYW5kCisuSVIga2VlcF9jYXBzX2xvY2tlZCAuCisuSSBrZWVwX2NhcHMKK2lzIGNsZWFyZWQgYnkKKy5CUiBleGVjdmUgKDIpCithbmQgaXMgdGhlcmVmb3JlIG5vdCBhbGxvd2VkLgorLlRQCisuQlIgIlwtXC1wZGVhdGhzaWcga2VlcCIgfCBjbGVhciB8IDxzaWduYWw+CitLZWVwLCBjbGVhciBvciBzZXQgdGhlIHBhcmVudCBkZWF0aCBzaWduYWwuICBTb21lIExTTXMsIG1vc3Qgbm90YWJseSBTRUxpbnV4IGFuZAorQXBwQXJtb3IsIGNsZWFyIHRoZSBzaWduYWwgd2hlbiB0aGUgcHJvY2VzcycgY3JlZGVudGlhbHMgY2hhbmdlLiAgVXNpbmcKK1xmQi0tcGRlYXRoc2lnIGtlZXBcZlIgd2lsbCByZXN0b3JlIHRoZSBwYXJlbnQgZGVhdGggc2lnbmFsIGFmdGVyIGNoYW5naW5nCitjcmVkZW50aWFscyB0byByZW1lZHkgdGhhdCBzaXR1YXRpb24uCisuVFAKKy5CSSBcLVwtc2VsaW51eFwtbGFiZWwgIiBsYWJlbCIKK1JlcXVlc3QgYSBwYXJ0aWN1bGFyIFNFTGludXggdHJhbnNpdGlvbiAodXNpbmcgYSB0cmFuc2l0aW9uIG9uIGV4ZWMsIG5vdAorZHludHJhbnMpLiAgVGhpcyB3aWxsIGZhaWwgYW5kIGNhdXNlCisuQlIgc2V0cHJpdiAoMSkKK3RvIGFib3J0IGlmIFNFTGludXggaXMgbm90IGluIHVzZSwgYW5kIHRoZSB0cmFuc2l0aW9uIG1heSBiZSBpZ25vcmVkIG9yIGNhdXNlCisuQlIgZXhlY3ZlICgyKQordG8gZmFpbCBhdCBTRUxpbnV4J3Mgd2hpbS4gIChJbiBwYXJ0aWN1bGFyLCB0aGlzIGlzIHVubGlrZWx5IHRvIHdvcmsgaW4KK2Nvbmp1bmN0aW9uIHdpdGgKKy5JUiBub19uZXdfcHJpdnMgLikKK1RoaXMgaXMgc2ltaWxhciB0bworLkJSIHJ1bmNvbiAoMSkuCisuVFAKKy5CSSBcLVwtYXBwYXJtb3JcLXByb2ZpbGUgIiBwcm9maWxlIgorUmVxdWVzdCBhIHBhcnRpY3VsYXIgQXBwQXJtb3IgcHJvZmlsZSAodXNpbmcgYSB0cmFuc2l0aW9uIG9uIGV4ZWMpLiAgVGhpcyB3aWxsCitmYWlsIGFuZCBjYXVzZQorLkJSIHNldHByaXYgKDEpCit0byBhYm9ydCBpZiBBcHBBcm1vciBpcyBub3QgaW4gdXNlLCBhbmQgdGhlIHRyYW5zaXRpb24gbWF5IGJlIGlnbm9yZWQgb3IgY2F1c2UKKy5CUiBleGVjdmUgKDIpCit0byBmYWlsIGF0IEFwcEFybW9yJ3Mgd2hpbS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggTk9URVMKK0lmIGFwcGx5aW5nIGFueSBzcGVjaWZpZWQgb3B0aW9uIGZhaWxzLAorLkkgcHJvZ3JhbQord2lsbCBub3QgYmUgcnVuIGFuZAorLkIgc2V0cHJpdgord2lsbCByZXR1cm4gd2l0aCBleGl0IGNvZGUgMTI3LgorLlBQCitCZSBjYXJlZnVsIHdpdGggdGhpcyB0b29sIFwtXC0gaXQgbWF5IGhhdmUgdW5leHBlY3RlZCBzZWN1cml0eSBjb25zZXF1ZW5jZXMuCitGb3IgZXhhbXBsZSwgc2V0dGluZyBub19uZXdfcHJpdnMgYW5kIHRoZW4gZXhlY2luZyBhIHByb2dyYW0gdGhhdCBpcworU0VMaW51eFwtY29uZmluZWQgKGFzIHRoaXMgdG9vbCB3b3VsZCBkbykgbWF5IHByZXZlbnQgdGhlIFNFTGludXgKK3Jlc3RyaWN0aW9ucyBmcm9tIHRha2luZyBlZmZlY3QuCisuU0ggRVhBTVBMRQorSWYgeW91J3JlIGxvb2tpbmcgZm9yIGJlaGF2aW91ciBzaW1pbGFyIHRvCisuQlIgc3UgKDEpLyBydW51c2VyICIoMSksIG9yICIgc3VkbyAoOCkKKyh3aXRob3V0IHRoZQorLkIgLWcKK29wdGlvbiksIHRyeSBzb21ldGhpbmcgbGlrZToKKy5zcAorLkIgIiAgICBzZXRwcml2IFwtXC1yZXVpZD0xMDAwIFwtXC1yZWdpZD0xMDAwIFwtXC1pbml0XC1ncm91cHMiCisuUFAKK0lmIHlvdSB3YW50IHRvIG1pbWljIGRhZW1vbnRvb2xzJworLkJSIHNldHVpZCAoOCksCit0cnk6Cisuc3AKKy5CICIgICAgc2V0cHJpdiBcLVwtcmV1aWQ9MTAwMCBcLVwtcmVnaWQ9MTAwMCBcLVwtY2xlYXJcLWdyb3VwcyIKKy5TSCBTRUUgQUxTTworLkJSIHJ1bnVzZXIgKDEpLAorLkJSIHN1ICgxKSwKKy5CUiBwcmN0bCAoMiksCisuQlIgY2FwYWJpbGl0aWVzICg3KQorLlNIIEFVVEhPUgorLk1UIGx1dG9AYW1hY2FwaXRhbC5uZXQKK0FuZHkgTHV0b21pcnNraQorLk1FCisuU0ggQVZBSUxBQklMSVRZCitUaGUKKy5CIHNldHByaXYKK2NvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc2V0cHJpdi5jIGIvc3lzLXV0aWxzL3NldHByaXYuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZDNhM2IzCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3NldHByaXYuYwpAQCAtMCwwICsxLDEwNDMgQEAKKy8qCisgKiBzZXRwcml2KDEpIC0gc2V0IHZhcmlvdXMga2VybmVsIHByaXZpbGVnZSBiaXRzIGFuZCBydW4gc29tZXRoaW5nCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEyIEFuZHkgTHV0b21pcnNraSA8bHV0b0BhbWFjYXBpdGFsLm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55CisgKiBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxjYXAtbmcuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPGdycC5oPgorI2luY2x1ZGUgPGxpbnV4L3NlY3VyZWJpdHMuaD4KKyNpbmNsdWRlIDxwd2QuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN5cy9wcmN0bC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInNpZ25hbWVzLmgiCisKKyNpZm5kZWYgUFJfU0VUX05PX05FV19QUklWUworIyBkZWZpbmUgUFJfU0VUX05PX05FV19QUklWUyAzOAorI2VuZGlmCisjaWZuZGVmIFBSX0dFVF9OT19ORVdfUFJJVlMKKyMgZGVmaW5lIFBSX0dFVF9OT19ORVdfUFJJVlMgMzkKKyNlbmRpZgorCisjaWZuZGVmIFBSX0NBUF9BTUJJRU5UCisjIGRlZmluZSBQUl9DQVBfQU1CSUVOVAkJNDcKKyMgIGRlZmluZSBQUl9DQVBfQU1CSUVOVF9JU19TRVQJMQorIyAgZGVmaW5lIFBSX0NBUF9BTUJJRU5UX1JBSVNFCTIKKyMgIGRlZmluZSBQUl9DQVBfQU1CSUVOVF9MT1dFUgkzCisjZW5kaWYKKworI2RlZmluZSBTRVRQUklWX0VYSVRfUFJJVkVSUiAxMjcJLyogaG93IHdlIGV4aXQgd2hlbiB3ZSBmYWlsIHRvIHNldCBwcml2cyAqLworCitlbnVtIGNhcF90eXBlIHsKKwlDQVBfVFlQRV9FRkZFQ1RJVkUgICA9IENBUE5HX0VGRkVDVElWRSwKKwlDQVBfVFlQRV9QRVJNSVRURUQgICA9IENBUE5HX1BFUk1JVFRFRCwKKwlDQVBfVFlQRV9JTkhFUklUQUJMRSA9IENBUE5HX0lOSEVSSVRBQkxFLAorCUNBUF9UWVBFX0JPVU5ESU5HICAgID0gQ0FQTkdfQk9VTkRJTkdfU0VULAorCUNBUF9UWVBFX0FNQklFTlQgICAgID0gKDEgPDwgNCkKK307CisKKy8qCisgKiBOb3RlOiBXZSBhcmUgc3ViamVjdCB0byBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTg5NTEwNQorICogYW5kIHdlIHdpbGwgdGhlcmVmb3JlIGhhdmUgcHJvYmxlbXMgaWYgbmV3IGNhcGFiaWxpdGllcyBhcmUgYWRkZWQuICBPbmNlCisgKiB0aGF0IGJ1ZyBpcyBmaXhlZCwgSSdsbCAoQW5keSBMdXRvbWlyc2tpKSBzdWJtaXQgYSBjb3JyZXNwb25kaW5nIGZpeCB0bworICogc2V0cHJpdi4gIEluIHRoZSBtZWFuIHRpbWUsIHRoZSBjb2RlIGhlcmUgdHJpZXMgdG8gd29yayByZWFzb25hYmx5IHdlbGwuCisgKi8KKworc3RydWN0IHByaXZjdHggeworCXVuc2lnbmVkIGludAorCQlubnA6MSwJCQkvKiBub19uZXdfcHJpdnMgKi8KKwkJaGF2ZV9ydWlkOjEsCQkvKiByZWFsIHVpZCAqLworCQloYXZlX2V1aWQ6MSwJCS8qIGVmZmVjdGl2ZSB1aWQgKi8KKwkJaGF2ZV9yZ2lkOjEsCQkvKiByZWFsIGdpZCAqLworCQloYXZlX2VnaWQ6MSwJCS8qIGVmZmVjdGl2ZSBnaWQgKi8KKwkJaGF2ZV9wYXNzd2Q6MSwJCS8qIHBhc3N3ZCBlbnRyeSAqLworCQloYXZlX2dyb3VwczoxLAkJLyogYWRkIGdyb3VwcyAqLworCQlrZWVwX2dyb3VwczoxLAkJLyoga2VlcCBncm91cHMgKi8KKwkJY2xlYXJfZ3JvdXBzOjEsCQkvKiByZW1vdmUgZ3JvdXBzICovCisJCWluaXRfZ3JvdXBzOjEsCQkvKiBpbml0aWFsaXplIGdyb3VwcyAqLworCQloYXZlX3NlY3VyZWJpdHM6MTsJLyogcmVtb3ZlIGdyb3VwcyAqLworCisJLyogdWlkcyBhbmQgZ2lkcyAqLworCXVpZF90IHJ1aWQsIGV1aWQ7CisJZ2lkX3QgcmdpZCwgZWdpZDsKKworCS8qIHJlYWwgdXNlciBwYXNzd2QgZW50cnkgKi8KKwlzdHJ1Y3QgcGFzc3dkIHBhc3N3ZDsKKworCS8qIHN1cHBsZW1lbnRhcnkgZ3JvdXBzICovCisJc2l6ZV90IG51bV9ncm91cHM7CisJZ2lkX3QgKmdyb3VwczsKKworCS8qIGNhcHMgKi8KKwljb25zdCBjaGFyICpjYXBzX3RvX2luaGVyaXQ7CisJY29uc3QgY2hhciAqYW1iaWVudF9jYXBzOworCWNvbnN0IGNoYXIgKmJvdW5kaW5nX3NldDsKKworCS8qIHNlY3VyZWJpdHMgKi8KKwlpbnQgc2VjdXJlYml0czsKKwkvKiBwYXJlbnQgZGVhdGggc2lnbmFsICg8MCBjbGVhciwgMCBub3RoaW5nLCA+MCBzaWduYWwpICovCisJaW50IHBkZWF0aHNpZzsKKworCS8qIExTTXMgKi8KKwljb25zdCBjaGFyICpzZWxpbnV4X2xhYmVsOworCWNvbnN0IGNoYXIgKmFwcGFybW9yX3Byb2ZpbGU7Cit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPHByb2dyYW0+IFs8YXJndW1lbnQ+Li4uXVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJSdW4gYSBwcm9ncmFtIHdpdGggZGlmZmVyZW50IHByaXZpbGVnZSBzZXR0aW5ncy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tZHVtcCAgICAgICAgICAgICAgICAgIHNob3cgY3VycmVudCBzdGF0ZSAoYW5kIGRvIG5vdCBleGVjKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tbm5wLCAtLW5vLW5ldy1wcml2cyAgICAgICBkaXNhbGxvdyBncmFudGluZyBuZXcgcHJpdmlsZWdlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tYW1iaWVudC1jYXBzIDxjYXBzLC4uLj4gICBzZXQgYW1iaWVudCBjYXBhYmlsaXRpZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWluaC1jYXBzIDxjYXBzLC4uLj4gICAgICAgc2V0IGluaGVyaXRhYmxlIGNhcGFiaWxpdGllc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tYm91bmRpbmctc2V0IDxjYXBzPiAgICAgICBzZXQgY2FwYWJpbGl0eSBib3VuZGluZyBzZXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXJ1aWQgPHVpZD4gICAgICAgICAgICAgICAgc2V0IHJlYWwgdWlkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1ldWlkIDx1aWQ+ICAgICAgICAgICAgICAgIHNldCBlZmZlY3RpdmUgdWlkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1yZ2lkIDxnaWQ+ICAgICAgICAgICAgICAgIHNldCByZWFsIGdpZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tZWdpZCA8Z2lkPiAgICAgICAgICAgICAgICBzZXQgZWZmZWN0aXZlIGdpZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tcmV1aWQgPHVpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIHVpZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tcmVnaWQgPGdpZD4gICAgICAgICAgICAgICBzZXQgcmVhbCBhbmQgZWZmZWN0aXZlIGdpZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tY2xlYXItZ3JvdXBzICAgICAgICAgICAgICBjbGVhciBzdXBwbGVtZW50YXJ5IGdyb3Vwc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0ta2VlcC1ncm91cHMgICAgICAgICAgICAgICBrZWVwIHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1pbml0LWdyb3VwcyAgICAgICAgICAgICAgIGluaXRpYWxpemUgc3VwcGxlbWVudGFyeSBncm91cHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWdyb3VwcyA8Z3JvdXAsLi4uPiAgICAgICAgc2V0IHN1cHBsZW1lbnRhcnkgZ3JvdXBzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1zZWN1cmViaXRzIDxiaXRzPiAgICAgICAgIHNldCBzZWN1cmViaXRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1wZGVhdGhzaWcga2VlcHxjbGVhcnw8c2lnbmFtZT5cbiIKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldCBvciBjbGVhciBwYXJlbnQgZGVhdGggc2lnbmFsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1zZWxpbnV4LWxhYmVsIDxsYWJlbD4gICAgIHNldCBTRUxpbnV4IGxhYmVsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1hcHBhcm1vci1wcm9maWxlIDxwcj4gICAgIHNldCBBcHBBcm1vciBwcm9maWxlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI5KSk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIiBUaGlzIHRvb2wgY2FuIGJlIGRhbmdlcm91cy4gIFJlYWQgdGhlIG1hbnBhZ2UsIGFuZCBiZSBjYXJlZnVsLlxuIiksIG91dCk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJzZXRwcml2KDEpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IHJlYWxfY2FwX2xhc3RfY2FwKHZvaWQpCit7CisJLyogQ0FQX0xBU1RfQ0FQIGlzIHVudHJ1c3R3b3J0aHkuICovCisJc3RhdGljIGludCByZXQgPSAtMTsKKwlpbnQgbWF0Y2hlZDsKKwlGSUxFICpmOworCisJaWYgKHJldCAhPSAtMSkKKwkJcmV0dXJuIHJldDsKKworCWYgPSBmb3BlbihfUEFUSF9QUk9DX0NBUExBU1RDQVAsICJyIik7CisJaWYgKCFmKSB7CisJCXJldCA9IENBUF9MQVNUX0NBUDsJLyogZ3Vlc3MgKi8KKwkJcmV0dXJuIHJldDsKKwl9CisKKwltYXRjaGVkID0gZnNjYW5mKGYsICIlZCIsICZyZXQpOworCWZjbG9zZShmKTsKKworCWlmIChtYXRjaGVkICE9IDEpCisJCXJldCA9IENBUF9MQVNUX0NBUDsJLyogZ3Vlc3MgKi8KKworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgaGFzX2NhcChlbnVtIGNhcF90eXBlIHdoaWNoLCB1bnNpZ25lZCBpbnQgaSkKK3sKKwlzd2l0Y2ggKHdoaWNoKSB7CisJY2FzZSBDQVBfVFlQRV9FRkZFQ1RJVkU6CisJY2FzZSBDQVBfVFlQRV9CT1VORElORzoKKwljYXNlIENBUF9UWVBFX0lOSEVSSVRBQkxFOgorCWNhc2UgQ0FQX1RZUEVfUEVSTUlUVEVEOgorCQlyZXR1cm4gY2FwbmdfaGF2ZV9jYXBhYmlsaXR5KChjYXBuZ190eXBlX3Qpd2hpY2gsIGkpOworCWNhc2UgQ0FQX1RZUEVfQU1CSUVOVDoKKwkJcmV0dXJuIHByY3RsKFBSX0NBUF9BTUJJRU5ULCBQUl9DQVBfQU1CSUVOVF9JU19TRVQsCisJCQkJKHVuc2lnbmVkIGxvbmcpIGksIDBVTCwgMFVMKTsKKwlkZWZhdWx0OgorCQl3YXJueChfKCJpbnZhbGlkIGNhcGFiaWxpdHkgdHlwZSIpKTsKKwkJcmV0dXJuIC0xOworCX0KK30KKworLyogUmV0dXJucyB0aGUgbnVtYmVyIG9mIGNhcGFiaWxpdGllcyBwcmludGVkLiAqLworc3RhdGljIGludCBwcmludF9jYXBzKEZJTEUgKmYsIGVudW0gY2FwX3R5cGUgd2hpY2gpCit7CisJaW50IGksIG4gPSAwLCBtYXggPSByZWFsX2NhcF9sYXN0X2NhcCgpOworCisJZm9yIChpID0gMDsgaSA8PSBtYXg7IGkrKykgeworCQlpbnQgcmV0ID0gaGFzX2NhcCh3aGljaCwgaSk7CisKKwkJaWYgKGkgPT0gMCAmJiByZXQgPCAwKQorCQkJcmV0dXJuIC0xOworCisJCWlmIChyZXQgPT0gMSkgeworCQkJY29uc3QgY2hhciAqbmFtZSA9IGNhcG5nX2NhcGFiaWxpdHlfdG9fbmFtZShpKTsKKwkJCWlmIChuKQorCQkJCWZwdXRjKCcsJywgZik7CisJCQlpZiAobmFtZSkKKwkJCQlmcHV0cyhuYW1lLCBmKTsKKwkJCWVsc2UKKwkJCQkvKiBjYXAtbmcgaGFzIHZlcnkgcG9vciBoYW5kbGluZyBvZgorCQkJCSAqIENBUF9MQVNUX0NBUCBjaGFuZ2VzLiAgVGhpcyBpcyB0aGUKKwkJCQkgKiBiZXN0IHdlIGNhbiBkby4gKi8KKwkJCQlwcmludGYoImNhcF8lZCIsIGkpOworCQkJbisrOworCQl9CisJfQorCisJcmV0dXJuIG47Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBfb25lX3NlY2JpdChpbnQgKmZpcnN0LCBpbnQgKmJpdHMsIGludCBiaXQsIGNvbnN0IGNoYXIgKm5hbWUpCit7CisJaWYgKCpiaXRzICYgYml0KSB7CisJCWlmICgqZmlyc3QpCisJCQkqZmlyc3QgPSAwOworCQllbHNlCisJCQlwcmludGYoIiwiKTsKKwkJZnB1dHMobmFtZSwgc3Rkb3V0KTsKKwkJKmJpdHMgJj0gfmJpdDsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBfc2VjdXJlYml0cyh2b2lkKQoreworCWludCBmaXJzdCA9IDE7CisJaW50IGJpdHMgPSBwcmN0bChQUl9HRVRfU0VDVVJFQklUUywgMCwgMCwgMCwgMCk7CisKKwlpZiAoYml0cyA8IDApIHsKKwkJd2FybngoXygiZ2V0dGluZyBwcm9jZXNzIHNlY3VyZSBiaXRzIGZhaWxlZCIpKTsKKwkJcmV0dXJuOworCX0KKworCXByaW50ZihfKCJTZWN1cmViaXRzOiAiKSk7CisKKwlkdW1wX29uZV9zZWNiaXQoJmZpcnN0LCAmYml0cywgU0VDQklUX05PUk9PVCwgIm5vcm9vdCIpOworCWR1bXBfb25lX3NlY2JpdCgmZmlyc3QsICZiaXRzLCBTRUNCSVRfTk9ST09UX0xPQ0tFRCwgIm5vcm9vdF9sb2NrZWQiKTsKKwlkdW1wX29uZV9zZWNiaXQoJmZpcnN0LCAmYml0cywgU0VDQklUX05PX1NFVFVJRF9GSVhVUCwKKwkJCSJub19zZXR1aWRfZml4dXAiKTsKKwlkdW1wX29uZV9zZWNiaXQoJmZpcnN0LCAmYml0cywgU0VDQklUX05PX1NFVFVJRF9GSVhVUF9MT0NLRUQsCisJCQkibm9fc2V0dWlkX2ZpeHVwX2xvY2tlZCIpOworCWJpdHMgJj0gflNFQ0JJVF9LRUVQX0NBUFM7CisJZHVtcF9vbmVfc2VjYml0KCZmaXJzdCwgJmJpdHMsIFNFQ0JJVF9LRUVQX0NBUFNfTE9DS0VELAorCQkJImtlZXBfY2Fwc19sb2NrZWQiKTsKKwlpZiAoYml0cykgeworCQlpZiAoZmlyc3QpCisJCQlmaXJzdCA9IDA7CisJCWVsc2UKKwkJCXByaW50ZigiLCIpOworCQlwcmludGYoIjB4JXgiLCAodW5zaWduZWQpYml0cyk7CisJfQorCisJaWYgKGZpcnN0KQorCQlwcmludGYoXygiW25vbmVdXG4iKSk7CisJZWxzZQorCQlwcmludGYoIlxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBfbGFiZWwoY29uc3QgY2hhciAqbmFtZSkKK3sKKwljaGFyIGJ1Zls0MDk3XTsKKwlzc2l6ZV90IGxlbjsKKwlpbnQgZmQsIGU7CisKKwlmZCA9IG9wZW4oX1BBVEhfUFJPQ19BVFRSX0NVUlJFTlQsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPT0gLTEpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBfUEFUSF9QUk9DX0FUVFJfQ1VSUkVOVCk7CisJCXJldHVybjsKKwl9CisKKwlsZW4gPSByZWFkKGZkLCBidWYsIHNpemVvZihidWYpKTsKKwllID0gZXJybm87CisJY2xvc2UoZmQpOworCWlmIChsZW4gPCAwKSB7CisJCWVycm5vID0gZTsKKwkJd2FybihfKCJjYW5ub3QgcmVhZCAlcyIpLCBuYW1lKTsKKwkJcmV0dXJuOworCX0KKwlpZiAoc2l6ZW9mKGJ1ZikgLSAxIDw9IChzaXplX3QpbGVuKSB7CisJCXdhcm54KF8oIiVzOiB0b28gbG9uZyIpLCBuYW1lKTsKKwkJcmV0dXJuOworCX0KKworCWJ1ZltsZW5dID0gMDsKKwlpZiAoMCA8IGxlbiAmJiBidWZbbGVuIC0gMV0gPT0gJ1xuJykKKwkJYnVmW2xlbiAtIDFdID0gMDsKKwlwcmludGYoIiVzOiAlc1xuIiwgbmFtZSwgYnVmKTsKK30KKworc3RhdGljIHZvaWQgZHVtcF9ncm91cHModm9pZCkKK3sKKwlpbnQgbiA9IGdldGdyb3VwcygwLCBOVUxMKTsKKwlnaWRfdCAqZ3JvdXBzOworCisJaWYgKG4gPCAwKSB7CisJCXdhcm4oImdldGdyb3VwcyBmYWlsZWQiKTsKKwkJcmV0dXJuOworCX0KKworCWdyb3VwcyA9IHhtYWxsb2MobiAqIHNpemVvZihnaWRfdCkpOworCW4gPSBnZXRncm91cHMobiwgZ3JvdXBzKTsKKwlpZiAobiA8IDApIHsKKwkJZnJlZShncm91cHMpOworCQl3YXJuKCJnZXRncm91cHMgZmFpbGVkIik7CisJCXJldHVybjsKKwl9CisKKwlwcmludGYoXygiU3VwcGxlbWVudGFyeSBncm91cHM6ICIpKTsKKwlpZiAobiA9PSAwKQorCQlwcmludGYoXygiW25vbmVdIikpOworCWVsc2UgeworCQlpbnQgaTsKKwkJZm9yIChpID0gMDsgaSA8IG47IGkrKykgeworCQkJaWYgKDAgPCBpKQorCQkJCXByaW50ZigiLCIpOworCQkJcHJpbnRmKCIlbGQiLCAobG9uZylncm91cHNbaV0pOworCQl9CisJfQorCXByaW50ZigiXG4iKTsKKwlmcmVlKGdyb3Vwcyk7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXBfcGRlYXRoc2lnKHZvaWQpCit7CisJaW50IHBkZWF0aHNpZzsKKworCWlmIChwcmN0bChQUl9HRVRfUERFQVRIU0lHLCAmcGRlYXRoc2lnKSAhPSAwKSB7CisJCXdhcm4oXygiZ2V0IHBkZWF0aHNpZyBmYWlsZWQiKSk7CisJCXJldHVybjsKKwl9CisKKwlwcmludGYoIlBhcmVudCBkZWF0aCBzaWduYWw6ICIpOworCWlmIChwZGVhdGhzaWcgJiYgc2lnbnVtX3RvX3NpZ25hbWUocGRlYXRoc2lnKSAhPSBOVUxMKQorCQlwcmludGYoIiVzXG4iLCBzaWdudW1fdG9fc2lnbmFtZShwZGVhdGhzaWcpKTsKKwllbHNlIGlmIChwZGVhdGhzaWcpCisJCXByaW50ZigiJWRcbiIsIHBkZWF0aHNpZyk7CisJZWxzZQorCQlwcmludGYoIltub25lXVxuIik7Cit9CisKK3N0YXRpYyB2b2lkIGR1bXAoaW50IGR1bXBsZXZlbCkKK3sKKwlpbnQgeDsKKwl1aWRfdCBydSwgZXUsIHN1OworCWdpZF90IHJnLCBlZywgc2c7CisKKwlpZiAoZ2V0cmVzdWlkKCZydSwgJmV1LCAmc3UpID09IDApIHsKKwkJcHJpbnRmKF8oInVpZDogJXVcbiIpLCBydSk7CisJCXByaW50ZihfKCJldWlkOiAldVxuIiksIGV1KTsKKwkJLyogU2F2ZWQgYW5kIGZzIHVpZHMgYWx3YXlzIGVxdWFsIGV1aWQuICovCisJCWlmICgzIDw9IGR1bXBsZXZlbCkKKwkJCXByaW50ZihfKCJzdWlkOiAldVxuIiksIHN1KTsKKwl9IGVsc2UKKwkJd2FybihfKCJnZXRyZXN1aWQgZmFpbGVkIikpOworCisJaWYgKGdldHJlc2dpZCgmcmcsICZlZywgJnNnKSA9PSAwKSB7CisJCXByaW50ZigiZ2lkOiAlbGRcbiIsIChsb25nKXJnKTsKKwkJcHJpbnRmKCJlZ2lkOiAlbGRcbiIsIChsb25nKWVnKTsKKwkJLyogU2F2ZWQgYW5kIGZzIGdpZHMgYWx3YXlzIGVxdWFsIGVnaWQuICovCisJCWlmIChkdW1wbGV2ZWwgPj0gMykKKwkJCXByaW50Zigic2dpZDogJWxkXG4iLCAobG9uZylzZyk7CisJfSBlbHNlCisJCXdhcm4oXygiZ2V0cmVzZ2lkIGZhaWxlZCIpKTsKKworCWR1bXBfZ3JvdXBzKCk7CisKKwl4ID0gcHJjdGwoUFJfR0VUX05PX05FV19QUklWUywgMCwgMCwgMCwgMCk7CisJaWYgKDAgPD0geCkKKwkJcHJpbnRmKCJub19uZXdfcHJpdnM6ICVkXG4iLCB4KTsKKwllbHNlCisJCXdhcm4oInNldHRpbmcgbm9fbmV3X3ByaXZzIGZhaWxlZCIpOworCisJaWYgKDIgPD0gZHVtcGxldmVsKSB7CisJCXByaW50ZihfKCJFZmZlY3RpdmUgY2FwYWJpbGl0aWVzOiAiKSk7CisJCWlmIChwcmludF9jYXBzKHN0ZG91dCwgQ0FQX1RZUEVfRUZGRUNUSVZFKSA9PSAwKQorCQkJcHJpbnRmKF8oIltub25lXSIpKTsKKwkJcHJpbnRmKCJcbiIpOworCisJCXByaW50ZihfKCJQZXJtaXR0ZWQgY2FwYWJpbGl0aWVzOiAiKSk7CisJCWlmIChwcmludF9jYXBzKHN0ZG91dCwgQ0FQX1RZUEVfUEVSTUlUVEVEKSA9PSAwKQorCQkJcHJpbnRmKF8oIltub25lXSIpKTsKKwkJcHJpbnRmKCJcbiIpOworCX0KKworCXByaW50ZihfKCJJbmhlcml0YWJsZSBjYXBhYmlsaXRpZXM6ICIpKTsKKwlpZiAocHJpbnRfY2FwcyhzdGRvdXQsIENBUF9UWVBFX0lOSEVSSVRBQkxFKSA9PSAwKQorCQlwcmludGYoXygiW25vbmVdIikpOworCXByaW50ZigiXG4iKTsKKworCXByaW50ZihfKCJBbWJpZW50IGNhcGFiaWxpdGllczogIikpOworCXggPSBwcmludF9jYXBzKHN0ZG91dCwgQ0FQX1RZUEVfQU1CSUVOVCk7CisJaWYgKHggPT0gMCkKKwkJcHJpbnRmKF8oIltub25lXSIpKTsKKwlpZiAoeCA8IDApCisJCXByaW50ZihfKCJbdW5zdXBwb3J0ZWRdIikpOworCXByaW50ZigiXG4iKTsKKworCXByaW50ZihfKCJDYXBhYmlsaXR5IGJvdW5kaW5nIHNldDogIikpOworCWlmIChwcmludF9jYXBzKHN0ZG91dCwgQ0FQX1RZUEVfQk9VTkRJTkcpID09IDApCisJCXByaW50ZihfKCJbbm9uZV0iKSk7CisJcHJpbnRmKCJcbiIpOworCisJZHVtcF9zZWN1cmViaXRzKCk7CisJZHVtcF9wZGVhdGhzaWcoKTsKKworCWlmIChhY2Nlc3MoX1BBVEhfU1lTX1NFTElOVVgsIEZfT0spID09IDApCisJCWR1bXBfbGFiZWwoXygiU0VMaW51eCBsYWJlbCIpKTsKKworCWlmIChhY2Nlc3MoX1BBVEhfU1lTX0FQUEFSTU9SLCBGX09LKSA9PSAwKSB7CisJCWR1bXBfbGFiZWwoXygiQXBwQXJtb3IgcHJvZmlsZSIpKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGxpc3Rfa25vd25fY2Fwcyh2b2lkKQoreworCWludCBpLCBtYXggPSByZWFsX2NhcF9sYXN0X2NhcCgpOworCisJZm9yIChpID0gMDsgaSA8PSBtYXg7IGkrKykgeworCQljb25zdCBjaGFyICpuYW1lID0gY2FwbmdfY2FwYWJpbGl0eV90b19uYW1lKGkpOworCQlpZiAobmFtZSkKKwkJCXByaW50ZigiJXNcbiIsIG5hbWUpOworCQllbHNlCisJCQl3YXJueChfKCJjYXAgJWQ6IGxpYmNhcC1uZyBpcyBicm9rZW4iKSwgaSk7CisJfQorfQorCitzdGF0aWMgdm9pZCBwYXJzZV9ncm91cHMoc3RydWN0IHByaXZjdHggKm9wdHMsIGNvbnN0IGNoYXIgKnN0cikKK3sKKwljaGFyICpncm91cHMgPSB4c3RyZHVwKHN0cik7CisJY2hhciAqYnVmID0gZ3JvdXBzOwkvKiBXZSdsbCByZXVzZSBpdCAqLworCWNoYXIgKmM7CisJc2l6ZV90IGkgPSAwOworCisJb3B0cy0+aGF2ZV9ncm91cHMgPSAxOworCW9wdHMtPm51bV9ncm91cHMgPSAwOworCXdoaWxlICgoYyA9IHN0cnNlcCgmZ3JvdXBzLCAiLCIpKSkKKwkJb3B0cy0+bnVtX2dyb3VwcysrOworCisJLyogU3RhcnQgYWdhaW4gKi8KKwlzdHJjcHkoYnVmLCBzdHIpOwkvKiBJdCdzIGV4YWN0bHkgdGhlIHJpZ2h0IGxlbmd0aCAqLworCWdyb3VwcyA9IGJ1ZjsKKworCW9wdHMtPmdyb3VwcyA9IHhjYWxsb2Mob3B0cy0+bnVtX2dyb3Vwcywgc2l6ZW9mKGdpZF90KSk7CisJd2hpbGUgKChjID0gc3Ryc2VwKCZncm91cHMsICIsIikpKQorCQlvcHRzLT5ncm91cHNbaSsrXSA9IChnaWRfdCkgc3RydG9sX29yX2VycihjLAorCQkJCQkJICBfKCJJbnZhbGlkIHN1cHBsZW1lbnRhcnkgZ3JvdXAgaWQiKSk7CisKKwlmcmVlKGdyb3Vwcyk7Cit9CisKK3N0YXRpYyB2b2lkIHBhcnNlX3BkZWF0aHNpZyhzdHJ1Y3QgcHJpdmN0eCAqb3B0cywgY29uc3QgY2hhciAqc3RyKQoreworCWlmICghc3RyY21wKHN0ciwgImtlZXAiKSkgeworCQlpZiAocHJjdGwoUFJfR0VUX1BERUFUSFNJRywgJm9wdHMtPnBkZWF0aHNpZykgIT0gMCkKKwkJCWVycngoU0VUUFJJVl9FWElUX1BSSVZFUlIsCisJCQkJIF8oImZhaWxlZCB0byBnZXQgcGFyZW50IGRlYXRoIHNpZ25hbCIpKTsKKwl9IGVsc2UgaWYgKCFzdHJjbXAoc3RyLCAiY2xlYXIiKSkgeworCQlvcHRzLT5wZGVhdGhzaWcgPSAtMTsKKwl9IGVsc2UgaWYgKChvcHRzLT5wZGVhdGhzaWcgPSBzaWduYW1lX3RvX3NpZ251bShzdHIpKSA8IDApIHsKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVua25vd24gc2lnbmFsOiAlcyIpLCBzdHIpOworCX0KK30KKworc3RhdGljIHZvaWQgZG9fc2V0cmVzdWlkKGNvbnN0IHN0cnVjdCBwcml2Y3R4ICpvcHRzKQoreworCXVpZF90IHJ1aWQsIGV1aWQsIHN1aWQ7CisJaWYgKGdldHJlc3VpZCgmcnVpZCwgJmV1aWQsICZzdWlkKSAhPSAwKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oImdldHJlc3VpZCBmYWlsZWQiKSk7CisJaWYgKG9wdHMtPmhhdmVfcnVpZCkKKwkJcnVpZCA9IG9wdHMtPnJ1aWQ7CisJaWYgKG9wdHMtPmhhdmVfZXVpZCkKKwkJZXVpZCA9IG9wdHMtPmV1aWQ7CisKKwkvKiBBbHNvIGNvcHkgZWZmZWN0aXZlIHRvIHNhdmVkIChmb3IgcGFyYW5vaWEpLiAqLworCWlmIChzZXRyZXN1aWQocnVpZCwgZXVpZCwgZXVpZCkgIT0gMCkKKwkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJzZXRyZXN1aWQgZmFpbGVkIikpOworfQorCitzdGF0aWMgdm9pZCBkb19zZXRyZXNnaWQoY29uc3Qgc3RydWN0IHByaXZjdHggKm9wdHMpCit7CisJZ2lkX3QgcmdpZCwgZWdpZCwgc2dpZDsKKwlpZiAoZ2V0cmVzZ2lkKCZyZ2lkLCAmZWdpZCwgJnNnaWQpICE9IDApCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygiZ2V0cmVzZ2lkIGZhaWxlZCIpKTsKKwlpZiAob3B0cy0+aGF2ZV9yZ2lkKQorCQlyZ2lkID0gb3B0cy0+cmdpZDsKKwlpZiAob3B0cy0+aGF2ZV9lZ2lkKQorCQllZ2lkID0gb3B0cy0+ZWdpZDsKKworCS8qIEFsc28gY29weSBlZmZlY3RpdmUgdG8gc2F2ZWQgKGZvciBwYXJhbm9pYSkuICovCisJaWYgKHNldHJlc2dpZChyZ2lkLCBlZ2lkLCBlZ2lkKSAhPSAwKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oInNldHJlc2dpZCBmYWlsZWQiKSk7Cit9CisKK3N0YXRpYyB2b2lkIGJ1bXBfY2FwKHVuc2lnbmVkIGludCBjYXApCit7CisJaWYgKGNhcG5nX2hhdmVfY2FwYWJpbGl0eShDQVBOR19QRVJNSVRURUQsIGNhcCkpCisJCWNhcG5nX3VwZGF0ZShDQVBOR19BREQsIENBUE5HX0VGRkVDVElWRSwgY2FwKTsKK30KKworc3RhdGljIGludCBjYXBfdXBkYXRlKGNhcG5nX2FjdF90IGFjdGlvbiwKKwkJZW51bSBjYXBfdHlwZSB0eXBlLCB1bnNpZ25lZCBpbnQgY2FwKQoreworCXN3aXRjaCAodHlwZSkgeworCQljYXNlIENBUF9UWVBFX0VGRkVDVElWRToKKwkJY2FzZSBDQVBfVFlQRV9CT1VORElORzoKKwkJY2FzZSBDQVBfVFlQRV9JTkhFUklUQUJMRToKKwkJY2FzZSBDQVBfVFlQRV9QRVJNSVRURUQ6CisJCQlyZXR1cm4gY2FwbmdfdXBkYXRlKGFjdGlvbiwgKGNhcG5nX3R5cGVfdCkgdHlwZSwgY2FwKTsKKwkJY2FzZSBDQVBfVFlQRV9BTUJJRU5UOgorCQl7CisJCQlpbnQgcmV0OworCisJCQlpZiAoYWN0aW9uID09IENBUE5HX0FERCkKKwkJCQlyZXQgPSBwcmN0bChQUl9DQVBfQU1CSUVOVCwgUFJfQ0FQX0FNQklFTlRfUkFJU0UsCisJCQkJCQkodW5zaWduZWQgbG9uZykgY2FwLCAwVUwsIDBVTCk7CisJCQllbHNlCisJCQkJcmV0ID0gcHJjdGwoUFJfQ0FQX0FNQklFTlQsIFBSX0NBUF9BTUJJRU5UX0xPV0VSLAorCQkJCQkJKHVuc2lnbmVkIGxvbmcpIGNhcCwgMFVMLCAwVUwpOworCisJCQlyZXR1cm4gcmV0OworCQl9CisJCWRlZmF1bHQ6CisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5zdXBwb3J0ZWQgY2FwYWJpbGl0eSB0eXBlIikpOworCQkJcmV0dXJuIC0xOworCX0KK30KKworc3RhdGljIHZvaWQgZG9fY2FwcyhlbnVtIGNhcF90eXBlIHR5cGUsIGNvbnN0IGNoYXIgKmNhcHMpCit7CisJY2hhciAqbXlfY2FwcyA9IHhzdHJkdXAoY2Fwcyk7CisJY2hhciAqYzsKKworCXdoaWxlICgoYyA9IHN0cnNlcCgmbXlfY2FwcywgIiwiKSkpIHsKKwkJY2FwbmdfYWN0X3QgYWN0aW9uOworCQlpZiAoKmMgPT0gJysnKQorCQkJYWN0aW9uID0gQ0FQTkdfQUREOworCQllbHNlIGlmICgqYyA9PSAnLScpCisJCQlhY3Rpb24gPSBDQVBOR19EUk9QOworCQllbHNlCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiYmFkIGNhcGFiaWxpdHkgc3RyaW5nIikpOworCisJCWlmICghc3RyY21wKGMgKyAxLCAiYWxsIikpIHsKKwkJCWludCBpOworCQkJLyogSXQgd291bGQgYmUgcmVhbGx5IGJhZCBpZiAtYWxsIGRpZG4ndCBkcm9wIGFsbAorCQkJICogY2Fwcy4gIEl0J3MgYmV0dGVyIHRvIGp1c3QgZmFpbC4gKi8KKwkJCWlmIChyZWFsX2NhcF9sYXN0X2NhcCgpID4gQ0FQX0xBU1RfQ0FQKQorCQkJCWVycngoU0VUUFJJVl9FWElUX1BSSVZFUlIsCisJCQkJICAgICBfKCJsaWJjYXAtbmcgaXMgdG9vIG9sZCBmb3IgXCJhbGxcIiBjYXBzIikpOworCQkJZm9yIChpID0gMDsgaSA8PSBDQVBfTEFTVF9DQVA7IGkrKykKKwkJCQljYXBfdXBkYXRlKGFjdGlvbiwgdHlwZSwgaSk7CisJCX0gZWxzZSB7CisJCQlpbnQgY2FwID0gY2FwbmdfbmFtZV90b19jYXBhYmlsaXR5KGMgKyAxKTsKKwkJCWlmICgwIDw9IGNhcCkKKwkJCQljYXBfdXBkYXRlKGFjdGlvbiwgdHlwZSwgY2FwKTsKKwkJCWVsc2UgaWYgKHNzY2FuZihjICsgMSwgImNhcF8lZCIsICZjYXApID09IDEKKwkJCSAgICAmJiAwIDw9IGNhcCAmJiBjYXAgPD0gcmVhbF9jYXBfbGFzdF9jYXAoKSkKKwkJCQljYXBfdXBkYXRlKGFjdGlvbiwgdHlwZSwgY2FwKTsKKwkJCWVsc2UKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oInVua25vd24gY2FwYWJpbGl0eSBcIiVzXCIiKSwgYyArIDEpOworCQl9CisJfQorCisJZnJlZShteV9jYXBzKTsKK30KKworc3RhdGljIHZvaWQgcGFyc2Vfc2VjdXJlYml0cyhzdHJ1Y3QgcHJpdmN0eCAqb3B0cywgY29uc3QgY2hhciAqYXJnKQoreworCWNoYXIgKmJ1ZiA9IHhzdHJkdXAoYXJnKTsKKwljaGFyICpjOworCisJb3B0cy0+aGF2ZV9zZWN1cmViaXRzID0gMTsKKwlvcHRzLT5zZWN1cmViaXRzID0gcHJjdGwoUFJfR0VUX1NFQ1VSRUJJVFMsIDAsIDAsIDAsIDApOworCWlmIChvcHRzLT5zZWN1cmViaXRzIDwgMCkKKwkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJnZXR0aW5nIHByb2Nlc3Mgc2VjdXJlIGJpdHMgZmFpbGVkIikpOworCisJaWYgKG9wdHMtPnNlY3VyZWJpdHMgJiB+KGludCkoU0VDQklUX05PUk9PVCB8CisJCQkJICAgICAgU0VDQklUX05PUk9PVF9MT0NLRUQgfAorCQkJCSAgICAgIFNFQ0JJVF9OT19TRVRVSURfRklYVVAgfAorCQkJCSAgICAgIFNFQ0JJVF9OT19TRVRVSURfRklYVVBfTE9DS0VEIHwKKwkJCQkgICAgICBTRUNCSVRfS0VFUF9DQVBTIHwKKwkJCQkgICAgICBTRUNCSVRfS0VFUF9DQVBTX0xPQ0tFRCkpCisJCWVycngoU0VUUFJJVl9FWElUX1BSSVZFUlIsCisJCSAgICAgXygidW5yZWNvZ25pemVkIHNlY3VyZWJpdCBzZXQgLS0gcmVmdXNpbmcgdG8gYWRqdXN0IikpOworCisJd2hpbGUgKChjID0gc3Ryc2VwKCZidWYsICIsIikpKSB7CisJCWlmICgqYyAhPSAnKycgJiYgKmMgIT0gJy0nKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImJhZCBzZWN1cmViaXRzIHN0cmluZyIpKTsKKworCQlpZiAoIXN0cmNtcChjICsgMSwgImFsbCIpKSB7CisJCQlpZiAoKmMgPT0gJy0nKQorCQkJCW9wdHMtPnNlY3VyZWJpdHMgPSAwOworCQkJZWxzZQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiK2FsbCBzZWN1cmViaXRzIGlzIG5vdCBhbGxvd2VkIikpOworCQl9IGVsc2UgeworCQkJaW50IGJpdDsKKwkJCWlmICghc3RyY21wKGMgKyAxLCAibm9yb290IikpCisJCQkJYml0ID0gU0VDQklUX05PUk9PVDsKKwkJCWVsc2UgaWYgKCFzdHJjbXAoYyArIDEsICJub3Jvb3RfbG9ja2VkIikpCisJCQkJYml0ID0gU0VDQklUX05PUk9PVF9MT0NLRUQ7CisJCQllbHNlIGlmICghc3RyY21wKGMgKyAxLCAibm9fc2V0dWlkX2ZpeHVwIikpCisJCQkJYml0ID0gU0VDQklUX05PX1NFVFVJRF9GSVhVUDsKKwkJCWVsc2UgaWYgKCFzdHJjbXAoYyArIDEsICJub19zZXR1aWRfZml4dXBfbG9ja2VkIikpCisJCQkJYml0ID0gU0VDQklUX05PX1NFVFVJRF9GSVhVUF9MT0NLRUQ7CisJCQllbHNlIGlmICghc3RyY21wKGMgKyAxLCAia2VlcF9jYXBzIikpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJhZGp1c3Rpbmcga2VlcF9jYXBzIGRvZXMgbm90IG1ha2Ugc2Vuc2UiKSk7CisJCQllbHNlIGlmICghc3RyY21wKGMgKyAxLCAia2VlcF9jYXBzX2xvY2tlZCIpKQorCQkJCWJpdCA9IFNFQ0JJVF9LRUVQX0NBUFNfTE9DS0VEOwkvKiBzaWdoICovCisJCQllbHNlCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVucmVjb2duaXplZCBzZWN1cmViaXQiKSk7CisKKwkJCWlmICgqYyA9PSAnKycpCisJCQkJb3B0cy0+c2VjdXJlYml0cyB8PSBiaXQ7CisJCQllbHNlCisJCQkJb3B0cy0+c2VjdXJlYml0cyAmPSB+Yml0OworCQl9CisJfQorCisJb3B0cy0+c2VjdXJlYml0cyB8PSBTRUNCSVRfS0VFUF9DQVBTOwkvKiBXZSBuZWVkIGl0LCBhbmQgaXQncyByZXNldCBvbiBleGVjICovCisKKwlmcmVlKGJ1Zik7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3NlbGludXhfbGFiZWwoY29uc3QgY2hhciAqbGFiZWwpCit7CisJaW50IGZkOworCXNpemVfdCBsZW47CisKKwlpZiAoYWNjZXNzKF9QQVRIX1NZU19TRUxJTlVYLCBGX09LKSAhPSAwKQorCQllcnJ4KFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJTRUxpbnV4IGlzIG5vdCBydW5uaW5nIikpOworCisJZmQgPSBvcGVuKF9QQVRIX1BST0NfQVRUUl9FWEVDLCBPX1JEV1IpOworCWlmIChmZCA9PSAtMSkKKwkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLAorCQkgICAgXygiY2Fubm90IG9wZW4gJXMiKSwgX1BBVEhfUFJPQ19BVFRSX0VYRUMpOworCisJbGVuID0gc3RybGVuKGxhYmVsKTsKKwllcnJubyA9IDA7CisJaWYgKHdyaXRlKGZkLCBsYWJlbCwgbGVuKSAhPSAoc3NpemVfdCkgbGVuKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsCisJCSAgICBfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIF9QQVRIX1BST0NfQVRUUl9FWEVDKTsKKworCWlmIChjbG9zZShmZCkgIT0gMCkKKwkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLAorCQkgICAgXygiY2xvc2UgZmFpbGVkOiAlcyIpLCBfUEFUSF9QUk9DX0FUVFJfRVhFQyk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX2FwcGFybW9yX3Byb2ZpbGUoY29uc3QgY2hhciAqbGFiZWwpCit7CisJRklMRSAqZjsKKworCWlmIChhY2Nlc3MoX1BBVEhfU1lTX0FQUEFSTU9SLCBGX09LKSAhPSAwKQorCQllcnJ4KFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJBcHBBcm1vciBpcyBub3QgcnVubmluZyIpKTsKKworCWYgPSBmb3BlbihfUEFUSF9QUk9DX0FUVFJfRVhFQywgInIrIik7CisJaWYgKCFmKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsCisJCSAgICBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBfUEFUSF9QUk9DX0FUVFJfRVhFQyk7CisKKwlmcHJpbnRmKGYsICJleGVjICVzIiwgbGFiZWwpOworCisJaWYgKGNsb3NlX3N0cmVhbShmKSAhPSAwKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsCisJCSAgICBfKCJ3cml0ZSBmYWlsZWQ6ICVzIiksIF9QQVRIX1BST0NfQVRUUl9FWEVDKTsKK30KKworc3RhdGljIHVpZF90IGdldF91c2VyKGNvbnN0IGNoYXIgKnMsIGNvbnN0IGNoYXIgKmVycikKK3sKKwlzdHJ1Y3QgcGFzc3dkICpwdzsKKwlsb25nIHRtcDsKKwlwdyA9IGdldHB3bmFtKHMpOworCWlmIChwdykKKwkJcmV0dXJuIHB3LT5wd191aWQ7CisJdG1wID0gc3RydG9sX29yX2VycihzLCBlcnIpOworCXJldHVybiB0bXA7Cit9CisKK3N0YXRpYyBnaWRfdCBnZXRfZ3JvdXAoY29uc3QgY2hhciAqcywgY29uc3QgY2hhciAqZXJyKQoreworCXN0cnVjdCBncm91cCAqZ3I7CisJbG9uZyB0bXA7CisJZ3IgPSBnZXRncm5hbShzKTsKKwlpZiAoZ3IpCisJCXJldHVybiBnci0+Z3JfZ2lkOworCXRtcCA9IHN0cnRvbF9vcl9lcnIocywgZXJyKTsKKwlyZXR1cm4gdG1wOworfQorCitzdGF0aWMgc3RydWN0IHBhc3N3ZCAqZ2V0X3Bhc3N3ZChjb25zdCBjaGFyICpzLCB1aWRfdCAqdWlkLCBjb25zdCBjaGFyICplcnIpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJbG9uZyB0bXA7CisJcHcgPSBnZXRwd25hbShzKTsKKwlpZiAocHcpIHsKKwkJKnVpZCA9IHB3LT5wd191aWQ7CisJfSBlbHNlIHsKKwkJdG1wID0gc3RydG9sX29yX2VycihzLCBlcnIpOworCQkqdWlkID0gdG1wOworCQlwdyA9IGdldHB3dWlkKCp1aWQpOworCX0KKwlyZXR1cm4gcHc7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgcGFzc3dkICpwYXNzd2RfY29weShzdHJ1Y3QgcGFzc3dkICpkc3QsIGNvbnN0IHN0cnVjdCBwYXNzd2QgKnNyYykKK3sKKwlzdHJ1Y3QgcGFzc3dkICpydjsKKwlydiA9IG1lbWNweShkc3QsIHNyYywgc2l6ZW9mKCpkc3QpKTsKKwlydi0+cHdfbmFtZSA9IHhzdHJkdXAocnYtPnB3X25hbWUpOworCXJ2LT5wd19wYXNzd2QgPSB4c3RyZHVwKHJ2LT5wd19wYXNzd2QpOworCXJ2LT5wd19nZWNvcyA9IHhzdHJkdXAocnYtPnB3X2dlY29zKTsKKwlydi0+cHdfZGlyID0geHN0cmR1cChydi0+cHdfZGlyKTsKKwlydi0+cHdfc2hlbGwgPSB4c3RyZHVwKHJ2LT5wd19zaGVsbCk7CisJcmV0dXJuIHJ2OworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJZW51bSB7CisJCU5OUCA9IENIQVJfTUFYICsgMSwKKwkJUlVJRCwKKwkJRVVJRCwKKwkJUkdJRCwKKwkJRUdJRCwKKwkJUkVVSUQsCisJCVJFR0lELAorCQlDTEVBUl9HUk9VUFMsCisJCUtFRVBfR1JPVVBTLAorCQlJTklUX0dST1VQUywKKwkJR1JPVVBTLAorCQlJTkhDQVBTLAorCQlBTUJDQVBTLAorCQlMSVNUQ0FQUywKKwkJQ0FQQlNFVCwKKwkJU0VDVVJFQklUUywKKwkJUERFQVRIU0lHLAorCQlTRUxJTlVYX0xBQkVMLAorCQlBUFBBUk1PUl9QUk9GSUxFCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImR1bXAiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2QnICAgICAgICAgICAgICB9LAorCQl7ICJubnAiLCAgICAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE5OUCAgICAgICAgICAgICAgfSwKKwkJeyAibm8tbmV3LXByaXZzIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBOTlAgICAgICAgICAgICAgIH0sCisJCXsgImluaC1jYXBzIiwgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgSU5IQ0FQUyAgICAgICAgICB9LAorCQl7ICJhbWJpZW50LWNhcHMiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIEFNQkNBUFMgICAgICAgICAgfSwKKwkJeyAibGlzdC1jYXBzIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBMSVNUQ0FQUyAgICAgICAgIH0sCisJCXsgInJ1aWQiLCAgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgUlVJRCAgICAgICAgICAgICB9LAorCQl7ICJldWlkIiwgICAgICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIEVVSUQgICAgICAgICAgICAgfSwKKwkJeyAicmdpZCIsICAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBSR0lEICAgICAgICAgICAgIH0sCisJCXsgImVnaWQiLCAgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgRUdJRCAgICAgICAgICAgICB9LAorCQl7ICJyZXVpZCIsICAgICAgICAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIFJFVUlEICAgICAgICAgICAgfSwKKwkJeyAicmVnaWQiLCAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBSRUdJRCAgICAgICAgICAgIH0sCisJCXsgImNsZWFyLWdyb3VwcyIsICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgQ0xFQVJfR1JPVVBTICAgICB9LAorCQl7ICJrZWVwLWdyb3VwcyIsICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIEtFRVBfR1JPVVBTICAgICAgfSwKKwkJeyAiaW5pdC1ncm91cHMiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBJTklUX0dST1VQUyAgICAgIH0sCisJCXsgImdyb3VwcyIsICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgR1JPVVBTICAgICAgICAgICB9LAorCQl7ICJib3VuZGluZy1zZXQiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIENBUEJTRVQgICAgICAgICAgfSwKKwkJeyAic2VjdXJlYml0cyIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBTRUNVUkVCSVRTICAgICAgIH0sCisJCXsgInBkZWF0aHNpZyIsICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgUERFQVRIU0lHLCAgICAgICB9LAorCQl7ICJzZWxpbnV4LWxhYmVsIiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIFNFTElOVVhfTEFCRUwgICAgfSwKKwkJeyAiYXBwYXJtb3ItcHJvZmlsZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBBUFBBUk1PUl9QUk9GSUxFIH0sCisJCXsgImhlbHAiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnICAgICAgICAgICAgICB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyAgICAgICAgICAgICAgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7CisJCS8qIGtlZXAgaW4gc2FtZSBvcmRlciB3aXRoIGVudW0gZGVmaW5pdGlvbnMgKi8KKwkJe0NMRUFSX0dST1VQUywgS0VFUF9HUk9VUFMsIElOSVRfR1JPVVBTLCBHUk9VUFN9LAorCQl7MH0KKwl9OworCWludCBleGNsX3N0W0FSUkFZX1NJWkUoZXhjbCldID0gVUxfRVhDTF9TVEFUVVNfSU5JVDsKKworCWludCBjOworCXN0cnVjdCBwcml2Y3R4IG9wdHM7CisJc3RydWN0IHBhc3N3ZCAqcHcgPSBOVUxMOworCWludCBkdW1wbGV2ZWwgPSAwOworCWludCB0b3RhbF9vcHRzID0gMDsKKwlpbnQgbGlzdF9jYXBzID0gMDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwltZW1zZXQoJm9wdHMsIDAsIHNpemVvZihvcHRzKSk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiK2RoViIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJZXJyX2V4Y2x1c2l2ZV9vcHRpb25zKGMsIGxvbmdvcHRzLCBleGNsLCBleGNsX3N0KTsKKwkJdG90YWxfb3B0cysrOworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnZCc6CisJCQlkdW1wbGV2ZWwrKzsKKwkJCWJyZWFrOworCQljYXNlIE5OUDoKKwkJCWlmIChvcHRzLm5ucCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImR1cGxpY2F0ZSAtLW5vLW5ldy1wcml2cyBvcHRpb24iKSk7CisJCQlvcHRzLm5ucCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBSVUlEOgorCQkJaWYgKG9wdHMuaGF2ZV9ydWlkKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJkdXBsaWNhdGUgcnVpZCIpKTsKKwkJCW9wdHMuaGF2ZV9ydWlkID0gMTsKKwkJCXB3ID0gZ2V0X3Bhc3N3ZChvcHRhcmcsICZvcHRzLnJ1aWQsIF8oImZhaWxlZCB0byBwYXJzZSBydWlkIikpOworCQkJaWYgKHB3KSB7CisJCQkJcGFzc3dkX2NvcHkoJm9wdHMucGFzc3dkLCBwdyk7CisJCQkJb3B0cy5oYXZlX3Bhc3N3ZCA9IDE7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBFVUlEOgorCQkJaWYgKG9wdHMuaGF2ZV9ldWlkKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJkdXBsaWNhdGUgZXVpZCIpKTsKKwkJCW9wdHMuaGF2ZV9ldWlkID0gMTsKKwkJCW9wdHMuZXVpZCA9IGdldF91c2VyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIGV1aWQiKSk7CisJCQlicmVhazsKKwkJY2FzZSBSRVVJRDoKKwkJCWlmIChvcHRzLmhhdmVfcnVpZCB8fCBvcHRzLmhhdmVfZXVpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZHVwbGljYXRlIHJ1aWQgb3IgZXVpZCIpKTsKKwkJCW9wdHMuaGF2ZV9ydWlkID0gb3B0cy5oYXZlX2V1aWQgPSAxOworCQkJcHcgPSBnZXRfcGFzc3dkKG9wdGFyZywgJm9wdHMucnVpZCwgXygiZmFpbGVkIHRvIHBhcnNlIHJldWlkIikpOworCQkJb3B0cy5ldWlkID0gb3B0cy5ydWlkOworCQkJaWYgKHB3KSB7CisJCQkJcGFzc3dkX2NvcHkoJm9wdHMucGFzc3dkLCBwdyk7CisJCQkJb3B0cy5oYXZlX3Bhc3N3ZCA9IDE7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBSR0lEOgorCQkJaWYgKG9wdHMuaGF2ZV9yZ2lkKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJkdXBsaWNhdGUgcmdpZCIpKTsKKwkJCW9wdHMuaGF2ZV9yZ2lkID0gMTsKKwkJCW9wdHMucmdpZCA9IGdldF9ncm91cChvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSByZ2lkIikpOworCQkJYnJlYWs7CisJCWNhc2UgRUdJRDoKKwkJCWlmIChvcHRzLmhhdmVfZWdpZCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiZHVwbGljYXRlIGVnaWQiKSk7CisJCQlvcHRzLmhhdmVfZWdpZCA9IDE7CisJCQlvcHRzLmVnaWQgPSBnZXRfZ3JvdXAob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgZWdpZCIpKTsKKwkJCWJyZWFrOworCQljYXNlIFJFR0lEOgorCQkJaWYgKG9wdHMuaGF2ZV9yZ2lkIHx8IG9wdHMuaGF2ZV9lZ2lkKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJkdXBsaWNhdGUgcmdpZCBvciBlZ2lkIikpOworCQkJb3B0cy5oYXZlX3JnaWQgPSBvcHRzLmhhdmVfZWdpZCA9IDE7CisJCQlvcHRzLnJnaWQgPSBvcHRzLmVnaWQgPSBnZXRfZ3JvdXAob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgcmVnaWQiKSk7CisJCQlicmVhazsKKwkJY2FzZSBDTEVBUl9HUk9VUFM6CisJCQlpZiAob3B0cy5jbGVhcl9ncm91cHMpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1jbGVhci1ncm91cHMgb3B0aW9uIikpOworCQkJb3B0cy5jbGVhcl9ncm91cHMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgS0VFUF9HUk9VUFM6CisJCQlpZiAob3B0cy5rZWVwX2dyb3VwcykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImR1cGxpY2F0ZSAtLWtlZXAtZ3JvdXBzIG9wdGlvbiIpKTsKKwkJCW9wdHMua2VlcF9ncm91cHMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgSU5JVF9HUk9VUFM6CisJCQlpZiAob3B0cy5pbml0X2dyb3VwcykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImR1cGxpY2F0ZSAtLWluaXQtZ3JvdXBzIG9wdGlvbiIpKTsKKwkJCW9wdHMuaW5pdF9ncm91cHMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgR1JPVVBTOgorCQkJaWYgKG9wdHMuaGF2ZV9ncm91cHMpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1ncm91cHMgb3B0aW9uIikpOworCQkJcGFyc2VfZ3JvdXBzKCZvcHRzLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgUERFQVRIU0lHOgorCQkJaWYgKG9wdHMucGRlYXRoc2lnKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiZHVwbGljYXRlIC0ta2VlcC1wZGVhdGhzaWcgb3B0aW9uIikpOworCQkJcGFyc2VfcGRlYXRoc2lnKCZvcHRzLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgTElTVENBUFM6CisJCQlsaXN0X2NhcHMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgSU5IQ0FQUzoKKwkJCWlmIChvcHRzLmNhcHNfdG9faW5oZXJpdCkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImR1cGxpY2F0ZSAtLWluaC1jYXBzIG9wdGlvbiIpKTsKKwkJCW9wdHMuY2Fwc190b19pbmhlcml0ID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgQU1CQ0FQUzoKKwkJCWlmIChvcHRzLmFtYmllbnRfY2FwcykKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQkgICAgIF8oImR1cGxpY2F0ZSAtLWFtYmllbnQtY2FwcyBvcHRpb24iKSk7CisJCQlvcHRzLmFtYmllbnRfY2FwcyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIENBUEJTRVQ6CisJCQlpZiAob3B0cy5ib3VuZGluZ19zZXQpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1ib3VuZGluZy1zZXQgb3B0aW9uIikpOworCQkJb3B0cy5ib3VuZGluZ19zZXQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBTRUNVUkVCSVRTOgorCQkJaWYgKG9wdHMuaGF2ZV9zZWN1cmViaXRzKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiZHVwbGljYXRlIC0tc2VjdXJlYml0cyBvcHRpb24iKSk7CisJCQlwYXJzZV9zZWN1cmViaXRzKCZvcHRzLCBvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgU0VMSU5VWF9MQUJFTDoKKwkJCWlmIChvcHRzLnNlbGludXhfbGFiZWwpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkJICAgICBfKCJkdXBsaWNhdGUgLS1zZWxpbnV4LWxhYmVsIG9wdGlvbiIpKTsKKwkJCW9wdHMuc2VsaW51eF9sYWJlbCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlIEFQUEFSTU9SX1BST0ZJTEU6CisJCQlpZiAob3B0cy5hcHBhcm1vcl9wcm9maWxlKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygiZHVwbGljYXRlIC0tYXBwYXJtb3ItcHJvZmlsZSBvcHRpb24iKSk7CisJCQlvcHRzLmFwcGFybW9yX3Byb2ZpbGUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChkdW1wbGV2ZWwpIHsKKwkJaWYgKHRvdGFsX29wdHMgIT0gZHVtcGxldmVsIHx8IG9wdGluZCA8IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygiLS1kdW1wIGlzIGluY29tcGF0aWJsZSB3aXRoIGFsbCBvdGhlciBvcHRpb25zIikpOworCQlkdW1wKGR1bXBsZXZlbCk7CisJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJfQorCisJaWYgKGxpc3RfY2FwcykgeworCQlpZiAodG90YWxfb3B0cyAhPSAxIHx8IG9wdGluZCA8IGFyZ2MpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygiLS1saXN0LWNhcHMgbXVzdCBiZSBzcGVjaWZpZWQgYWxvbmUiKSk7CisJCWxpc3Rfa25vd25fY2FwcygpOworCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCX0KKworCWlmIChhcmdjIDw9IG9wdGluZCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIk5vIHByb2dyYW0gc3BlY2lmaWVkIikpOworCisJaWYgKChvcHRzLmhhdmVfcmdpZCB8fCBvcHRzLmhhdmVfZWdpZCkKKwkgICAgJiYgIW9wdHMua2VlcF9ncm91cHMgJiYgIW9wdHMuY2xlYXJfZ3JvdXBzICYmICFvcHRzLmluaXRfZ3JvdXBzCisJICAgICYmICFvcHRzLmhhdmVfZ3JvdXBzKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJICAgICBfKCItLVtyZV1naWQgcmVxdWlyZXMgLS1rZWVwLWdyb3VwcywgLS1jbGVhci1ncm91cHMsIC0taW5pdC1ncm91cHMsIG9yIC0tZ3JvdXBzIikpOworCisJaWYgKG9wdHMuaW5pdF9ncm91cHMgJiYgIW9wdHMuaGF2ZV9ydWlkKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJICAgICBfKCItLWluaXQtZ3JvdXBzIHJlcXVpcmVzIC0tcnVpZCBvciAtLXJldWlkIikpOworCisJaWYgKG9wdHMuaW5pdF9ncm91cHMgJiYgIW9wdHMuaGF2ZV9wYXNzd2QpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkgICAgIF8oInVpZCAlbGQgbm90IGZvdW5kLCAtLWluaXQtZ3JvdXBzIHJlcXVpcmVzIGFuIHVzZXIgdGhhdCAiCisJCSAgICAgICAiY2FuIGJlIGZvdW5kIG9uIHRoZSBzeXN0ZW0iKSwKKwkJICAgICAobG9uZykgb3B0cy5ydWlkKTsKKworCWlmIChvcHRzLm5ucCAmJiBwcmN0bChQUl9TRVRfTk9fTkVXX1BSSVZTLCAxLCAwLCAwLCAwKSA9PSAtMSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiZGlzYWxsb3cgZ3JhbnRpbmcgbmV3IHByaXZpbGVnZXMgZmFpbGVkIikpOworCisJaWYgKG9wdHMuc2VsaW51eF9sYWJlbCkKKwkJZG9fc2VsaW51eF9sYWJlbChvcHRzLnNlbGludXhfbGFiZWwpOworCWlmIChvcHRzLmFwcGFybW9yX3Byb2ZpbGUpCisJCWRvX2FwcGFybW9yX3Byb2ZpbGUob3B0cy5hcHBhcm1vcl9wcm9maWxlKTsKKworCWlmIChwcmN0bChQUl9TRVRfS0VFUENBUFMsIDEsIDAsIDAsIDApID09IC0xKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJrZWVwIHByb2Nlc3MgY2FwYWJpbGl0aWVzIGZhaWxlZCIpKTsKKworCS8qIFdlJ3JlIGdvaW5nIHRvIHdhbnQgQ0FQX1NFVFBDQVAsIENBUF9TRVRVSUQsIGFuZCBDQVBfU0VUR0lEIGlmCisJICogcG9zc2libGUuICAqLworCWJ1bXBfY2FwKENBUF9TRVRQQ0FQKTsKKwlidW1wX2NhcChDQVBfU0VUVUlEKTsKKwlidW1wX2NhcChDQVBfU0VUR0lEKTsKKwlpZiAoY2FwbmdfYXBwbHkoQ0FQTkdfU0VMRUNUX0NBUFMpICE9IDApCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygiYWN0aXZhdGUgY2FwYWJpbGl0aWVzIikpOworCisJaWYgKG9wdHMuaGF2ZV9ydWlkIHx8IG9wdHMuaGF2ZV9ldWlkKSB7CisJCWRvX3NldHJlc3VpZCgmb3B0cyk7CisJCS8qIEtFRVBDQVBTIGRvZXNuJ3Qgd29yayBmb3IgdGhlIGVmZmVjdGl2ZSBtYXNrLiAqLworCQlpZiAoY2FwbmdfYXBwbHkoQ0FQTkdfU0VMRUNUX0NBUFMpICE9IDApCisJCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oInJlYWN0aXZhdGUgY2FwYWJpbGl0aWVzIikpOworCX0KKworCWlmIChvcHRzLmhhdmVfcmdpZCB8fCBvcHRzLmhhdmVfZWdpZCkKKwkJZG9fc2V0cmVzZ2lkKCZvcHRzKTsKKworCWlmIChvcHRzLmhhdmVfZ3JvdXBzKSB7CisJCWlmIChzZXRncm91cHMob3B0cy5udW1fZ3JvdXBzLCBvcHRzLmdyb3VwcykgIT0gMCkKKwkJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygic2V0Z3JvdXBzIGZhaWxlZCIpKTsKKwl9IGVsc2UgaWYgKG9wdHMuaW5pdF9ncm91cHMpIHsKKwkJaWYgKGluaXRncm91cHMob3B0cy5wYXNzd2QucHdfbmFtZSwgb3B0cy5wYXNzd2QucHdfZ2lkKSAhPSAwKQorCQkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJpbml0Z3JvdXBzIGZhaWxlZCIpKTsKKwl9IGVsc2UgaWYgKG9wdHMuY2xlYXJfZ3JvdXBzKSB7CisJCWdpZF90IHggPSAwOworCQlpZiAoc2V0Z3JvdXBzKDAsICZ4KSAhPSAwKQorCQkJZXJyKFNFVFBSSVZfRVhJVF9QUklWRVJSLCBfKCJzZXRncm91cHMgZmFpbGVkIikpOworCX0KKworCWlmIChvcHRzLmhhdmVfc2VjdXJlYml0cyAmJiBwcmN0bChQUl9TRVRfU0VDVVJFQklUUywgb3B0cy5zZWN1cmViaXRzLCAwLCAwLCAwKSAhPSAwKQorCQllcnIoU0VUUFJJVl9FWElUX1BSSVZFUlIsIF8oInNldCBwcm9jZXNzIHNlY3VyZWJpdHMgZmFpbGVkIikpOworCisJaWYgKG9wdHMuYm91bmRpbmdfc2V0KSB7CisJCWRvX2NhcHMoQ0FQX1RZUEVfQk9VTkRJTkcsIG9wdHMuYm91bmRpbmdfc2V0KTsKKwkJZXJybm8gPSBFUEVSTTsJLyogY2FwbmcgZG9lc24ndCBzZXQgZXJybm8gaWYgd2UncmUgbWlzc2luZyBDQVBfU0VUUENBUCAqLworCQlpZiAoY2FwbmdfYXBwbHkoQ0FQTkdfU0VMRUNUX0JPVU5EUykgIT0gMCkKKwkJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygiYXBwbHkgYm91bmRpbmcgc2V0IikpOworCX0KKworCWlmIChvcHRzLmNhcHNfdG9faW5oZXJpdCkgeworCQlkb19jYXBzKENBUF9UWVBFX0lOSEVSSVRBQkxFLCBvcHRzLmNhcHNfdG9faW5oZXJpdCk7CisJCWlmIChjYXBuZ19hcHBseShDQVBOR19TRUxFQ1RfQ0FQUykgIT0gMCkKKwkJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygiYXBwbHkgY2FwYWJpbGl0aWVzIikpOworCX0KKworCWlmIChvcHRzLmFtYmllbnRfY2FwcykgeworCQlkb19jYXBzKENBUF9UWVBFX0FNQklFTlQsIG9wdHMuYW1iaWVudF9jYXBzKTsKKwl9CisKKwkvKiBDbGVhciBvciBzZXQgcGFyZW50IGRlYXRoIHNpZ25hbCAqLworCWlmIChvcHRzLnBkZWF0aHNpZyAmJiBwcmN0bChQUl9TRVRfUERFQVRIU0lHLCBvcHRzLnBkZWF0aHNpZyA8IDAgPyAwIDogb3B0cy5wZGVhdGhzaWcpICE9IDApCisJCWVycihTRVRQUklWX0VYSVRfUFJJVkVSUiwgXygic2V0IHBhcmVudCBkZWF0aCBzaWduYWwgZmFpbGVkIikpOworCisJZXhlY3ZwKGFyZ3Zbb3B0aW5kXSwgYXJndiArIG9wdGluZCk7CisJZXJyZXhlYyhhcmd2W29wdGluZF0pOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3NldHNpZC4xIGIvc3lzLXV0aWxzL3NldHNpZC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY0ZjA1NTUKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvc2V0c2lkLjEKQEAgLTAsMCArMSw0MiBAQAorLlwiIFJpY2sgU2xhZGtleSA8anJzQHdvcmxkLnN0ZC5jb20+CisuXCIgSW4gdGhlIHB1YmxpYyBkb21haW4uCisuVEggU0VUU0lEIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3NldHNpZCBcLSBydW4gYSBwcm9ncmFtIGluIGEgbmV3IHNlc3Npb24KKy5TSCBTWU5PUFNJUworLkIgc2V0c2lkCitbb3B0aW9uc10KKy5JIHByb2dyYW0KKy5SSSBbIGFyZ3VtZW50cyBdCisuU0ggREVTQ1JJUFRJT04KKy5CIHNldHNpZAorcnVucyBhIHByb2dyYW0gaW4gYSBuZXcgc2Vzc2lvbi4gVGhlIGNvbW1hbmQgY2FsbHMKKy5CUiBmb3JrICgyKQoraWYgYWxyZWFkeSBhIHByb2Nlc3MgZ3JvdXAgbGVhZGVyLiAgT3RoZXJ3aXNlLCBpdCBleGVjdXRlcyBhIHByb2dyYW0gaW4gdGhlCitjdXJyZW50IHByb2Nlc3MuICBUaGlzIGRlZmF1bHQgYmVoYXZpb3IgaXMgcG9zc2libGUgdG8gb3ZlcnJpZGUgYnkKK3RoZSBcZkJcLVwtZm9ya1xmUiBvcHRpb24uCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1jICwgIiBcLVwtY3R0eSIKK1NldCB0aGUgY29udHJvbGxpbmcgdGVybWluYWwgdG8gdGhlIGN1cnJlbnQgb25lLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZm9yayIKK0Fsd2F5cyBjcmVhdGUgYSBuZXcgcHJvY2Vzcy4KKy5UUAorLkJSIFwtdyAsICIgXC1cLXdhaXQiCitXYWl0IGZvciB0aGUgZXhlY3V0aW9uIG9mIHRoZSBwcm9ncmFtIHRvIGVuZCwgYW5kIHJldHVybiB0aGUgZXhpdCB2YWx1ZSBvZgordGhpcyBwcm9ncmFtIGFzIHRoZSByZXR1cm4gdmFsdWUgb2YKKy5CUiBzZXRzaWQgLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCAiU0VFIEFMU08iCisuQlIgc2V0c2lkICgyKQorLlNIIEFVVEhPUgorUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzZXRzaWQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9zZXRzaWQuYyBiL3N5cy11dGlscy9zZXRzaWQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YjRmODNkCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3NldHNpZC5jCkBAIC0wLDAgKzEsMTIzIEBACisvKgorICogc2V0c2lkLmMgLS0gZXhlY3V0ZSBhIGNvbW1hbmQgaW4gYSBuZXcgc2Vzc2lvbgorICogUmljayBTbGFka2V5IDxqcnNAd29ybGQuc3RkLmNvbT4KKyAqIEluIHRoZSBwdWJsaWMgZG9tYWluLgorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiAyMDAxLTAxLTE4IEpvaG4gRnJlbWxpbiA8dmlpQHBlbmd1aW5wb3dlcmVkLmNvbT4KKyAqIC0gZm9yayBpbiBjYXNlIHdlIGFyZSBwcm9jZXNzIGdyb3VwIGxlYWRlcgorICoKKyAqIDIwMDgtMDgtMjAgRGFuaWVsIEthaG4gR2lsbG1vciA8ZGtnQGZpZnRoaG9yc2VtYW4ubmV0PgorICogLSBpZiBmb3JrZWQsIHdhaXQgb24gY2hpbGQgcHJvY2VzcyBhbmQgZW1pdCBpdHMgcmV0dXJuIGNvZGUuCisgKi8KKworI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3dhaXQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oCisJCSIgJXMgW29wdGlvbnNdIDxwcm9ncmFtPiBbYXJndW1lbnRzIC4uLl1cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiUnVuIGEgcHJvZ3JhbSBpbiBhIG5ldyBzZXNzaW9uLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1jdHR5ICAgICBzZXQgdGhlIGNvbnRyb2xsaW5nIHRlcm1pbmFsIHRvIHRoZSBjdXJyZW50IG9uZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZvcmsgICAgIGFsd2F5cyBmb3JrXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXcsIC0td2FpdCAgICAgd2FpdCBwcm9ncmFtIHRvIGV4aXQsIGFuZCB1c2UgdGhlIHNhbWUgcmV0dXJuXG4iKSwgb3V0KTsKKworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgic2V0c2lkKDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjaCwgZm9yY2Vmb3JrID0gMDsKKwlpbnQgY3R0eSA9IDA7CisJcGlkX3QgcGlkOworCWludCBzdGF0dXMgPSAwOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJjdHR5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdjJ30sCisJCXsiZm9yayIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZid9LAorCQl7IndhaXQiLCBub19hcmd1bWVudCwgTlVMTCwgJ3cnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiK1ZoY2Z3IiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjaCkgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnYyc6CisJCQljdHR5PTE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlmb3JjZWZvcmsgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3cnOgorCQkJc3RhdHVzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKworCWlmIChhcmdjIC0gb3B0aW5kIDwgMSkgeworCQl3YXJueChfKCJubyBjb21tYW5kIHNwZWNpZmllZCIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCWlmIChmb3JjZWZvcmsgfHwgZ2V0cGdycCgpID09IGdldHBpZCgpKSB7CisJCXBpZCA9IGZvcmsoKTsKKwkJc3dpdGNoIChwaWQpIHsKKwkJY2FzZSAtMToKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZvcmsiKSk7CisJCWNhc2UgMDoKKwkJCS8qIGNoaWxkICovCisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCS8qIHBhcmVudCAqLworCQkJaWYgKCFzdGF0dXMpCisJCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJCWlmICh3YWl0KCZzdGF0dXMpICE9IHBpZCkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCAid2FpdCIpOworCQkJaWYgKFdJRkVYSVRFRChzdGF0dXMpKQorCQkJCXJldHVybiBXRVhJVFNUQVRVUyhzdGF0dXMpOworCQkJZXJyKHN0YXR1cywgXygiY2hpbGQgJWQgZGlkIG5vdCBleGl0IG5vcm1hbGx5IiksIHBpZCk7CisJCX0KKwl9CisJaWYgKHNldHNpZCgpIDwgMCkKKwkJLyogY2Fubm90IGhhcHBlbiAqLworCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJzZXRzaWQgZmFpbGVkIikpOworCisJaWYgKGN0dHkgJiYgaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DU0NUVFksIDEpKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gc2V0IHRoZSBjb250cm9sbGluZyB0ZXJtaW5hbCIpKTsKKwlleGVjdnAoYXJndltvcHRpbmRdLCBhcmd2ICsgb3B0aW5kKTsKKwllcnJleGVjKGFyZ3Zbb3B0aW5kXSk7Cit9CmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc3dhcG9mZi44IGIvc3lzLXV0aWxzL3N3YXBvZmYuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTA2YjdlCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3N3YXBvZmYuOApAQCAtMCwwICsxIEBACisuc28gbWFuOC9zd2Fwb24uOApkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3N3YXBvZmYuYyBiL3N5cy11dGlscy9zd2Fwb2ZmLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGEzODA3ZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zd2Fwb2ZmLmMKQEAgLTAsMCArMSwyNTMgQEAKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpZmRlZiBIQVZFX1NZU19TV0FQX0gKKyMgaW5jbHVkZSA8c3lzL3N3YXAuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNpbmNsdWRlICJzd2FwcHJvYmVyLmgiCisjaW5jbHVkZSAic3dhcG9uLWNvbW1vbi5oIgorCisjaWYgIWRlZmluZWQoSEFWRV9TV0FQT0ZGKSAmJiBkZWZpbmVkKFNZU19zd2Fwb2ZmKQorIyBpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorIyBkZWZpbmUgc3dhcG9mZihwYXRoKSBzeXNjYWxsKFNZU19zd2Fwb2ZmLCBwYXRoKQorI2VuZGlmCisKK3N0YXRpYyBpbnQgdmVyYm9zZTsKK3N0YXRpYyBpbnQgYWxsOworCisjZGVmaW5lIFFVSUVUCTEKKyNkZWZpbmUgQ0FOT05JQwkxCisKKy8qCisgKiBUaGlzIGZ1bmN0aW9uIHdvcmtzIGxpa2UgbW50X3Jlc29sdmVfdGFnKCksIGJ1dCBpdCdzIGFibGUgdG8gcmVhZCBVVUlEL0xBQkVMCisgKiBmcm9tIHJlZ3VsYXIgc3dhcCBmaWxlcyB0b28gKGFjY29yZGluZyB0byBlbnRyaWVzIGluIC9wcm9jL3N3YXBzKS4gTm90ZSB0aGF0CisgKiBtbnRfcmVzb2x2ZV90YWcoKSBhbmQgbW50X3Jlc29sdmVfc3BlYygpIHdvcmtzIHdpdGggc3lzdGVtIHZpc2libGUgYmxvY2sKKyAqIGRldmljZXMgb25seS4KKyAqLworc3RhdGljIGNoYXIgKnN3YXBvZmZfcmVzb2x2ZV90YWcoY29uc3QgY2hhciAqbmFtZSwgY29uc3QgY2hhciAqdmFsdWUsCisJCQkJIHN0cnVjdCBsaWJtbnRfY2FjaGUgKmNhY2hlKQoreworCWNoYXIgKnBhdGg7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisKKwkvKiB0aGlzIGlzIHVzdWFsIGNhc2UgZm9yIGJsb2NrIGRldmljZXMgKGFuZCBpdCdzIHJlYWxseSBmYXN0IGFzIGl0IHVzZXMKKwkgKiB1ZGV2IC9kZXYvZGlzay9ieS0qIHN5bWxpbmtzIGJ5IGRlZmF1bHQgKi8KKwlwYXRoID0gbW50X3Jlc29sdmVfdGFnKG5hbWUsIHZhbHVlLCBjYWNoZSk7CisJaWYgKHBhdGgpCisJCXJldHVybiBwYXRoOworCisJLyogdHJ5IHJlZ3VsYXIgZmlsZXMgZnJvbSAvcHJvYy9zd2FwcyAqLworCXRiID0gZ2V0X3N3YXBzKCk7CisJaWYgKCF0YikKKwkJcmV0dXJuIE5VTEw7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCWlmICghaXRyKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKworCXdoaWxlICh0YiAmJiBtbnRfdGFibGVfbmV4dF9mcyh0YiwgaXRyLCAmZnMpID09IDApIHsKKwkJYmxraWRfcHJvYmUgcHIgPSBOVUxMOworCQljb25zdCBjaGFyICpzcmMgPSBtbnRfZnNfZ2V0X3NvdXJjZShmcyk7CisJCWNvbnN0IGNoYXIgKnR5cGUgPSBtbnRfZnNfZ2V0X3N3YXB0eXBlKGZzKTsKKwkJY29uc3QgY2hhciAqZGF0YSA9IE5VTEw7CisKKwkJaWYgKCFzcmMgfHwgIXR5cGUgfHwgc3RyY21wKHR5cGUsICJmaWxlIikgIT0gMCkKKwkJCWNvbnRpbnVlOworCQlwciA9IGdldF9zd2FwX3Byb2JlcihzcmMpOworCQlpZiAoIXByKQorCQkJY29udGludWU7CisJCWJsa2lkX3Byb2JlX2xvb2t1cF92YWx1ZShwciwgbmFtZSwgJmRhdGEsIE5VTEwpOworCQlpZiAoZGF0YSAmJiBzdHJjbXAoZGF0YSwgdmFsdWUpID09IDApCisJCQlwYXRoID0geHN0cmR1cChzcmMpOworCQlibGtpZF9mcmVlX3Byb2JlKHByKTsKKwkJaWYgKHBhdGgpCisJCQlicmVhazsKKwl9CisKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHBhdGg7Cit9CisKK3N0YXRpYyBpbnQgZG9fc3dhcG9mZihjb25zdCBjaGFyICpvcmlnX3NwZWNpYWwsIGludCBxdWlldCwgaW50IGNhbm9uaWMpCit7CisgICAgICAgIGNvbnN0IGNoYXIgKnNwZWNpYWwgPSBvcmlnX3NwZWNpYWw7CisKKwlpZiAodmVyYm9zZSkKKwkJcHJpbnRmKF8oInN3YXBvZmYgJXNcbiIpLCBvcmlnX3NwZWNpYWwpOworCisJaWYgKCFjYW5vbmljKSB7CisJCWNoYXIgKm4sICp2OworCisJCXNwZWNpYWwgPSBtbnRfcmVzb2x2ZV9zcGVjKG9yaWdfc3BlY2lhbCwgbW50Y2FjaGUpOworCQlpZiAoIXNwZWNpYWwgJiYgYmxraWRfcGFyc2VfdGFnX3N0cmluZyhvcmlnX3NwZWNpYWwsICZuLCAmdikgPT0gMCkgeworCQkJc3BlY2lhbCA9IHN3YXBvZmZfcmVzb2x2ZV90YWcobiwgdiwgbW50Y2FjaGUpOworCQkJZnJlZShuKTsKKwkJCWZyZWUodik7CisJCX0KKwkJaWYgKCFzcGVjaWFsKQorCQkJcmV0dXJuIGNhbm5vdF9maW5kKG9yaWdfc3BlY2lhbCk7CisJfQorCisJaWYgKHN3YXBvZmYoc3BlY2lhbCkgPT0gMCkKKwkJcmV0dXJuIDA7CS8qIHN1Y2Nlc3MgKi8KKworCWlmIChlcnJubyA9PSBFUEVSTSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIk5vdCBzdXBlcnVzZXIuIikpOworCisJaWYgKCFxdWlldCB8fCBlcnJubyA9PSBFTk9NRU0pCisJCXdhcm4oXygiJXM6IHN3YXBvZmYgZmFpbGVkIiksIG9yaWdfc3BlY2lhbCk7CisKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbnQgc3dhcG9mZl9ieShjb25zdCBjaGFyICpuYW1lLCBjb25zdCBjaGFyICp2YWx1ZSwgaW50IHF1aWV0KQoreworCWNvbnN0IGNoYXIgKnNwZWNpYWwgPSBzd2Fwb2ZmX3Jlc29sdmVfdGFnKG5hbWUsIHZhbHVlLCBtbnRjYWNoZSk7CisJcmV0dXJuIHNwZWNpYWwgPyBkb19zd2Fwb2ZmKHNwZWNpYWwsIHF1aWV0LCBDQU5PTklDKSA6IGNhbm5vdF9maW5kKHZhbHVlKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFs8c3BlYz5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkRpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgZGlzYWJsZSBhbGwgc3dhcHMgZnJvbSAvcHJvYy9zd2Fwc1xuIgorCQkiIC12LCAtLXZlcmJvc2UgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI0KSk7CisKKwlmcHV0cyhfKCJcblRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIiBcCisJCSIgLUwgPGxhYmVsPiAgICAgICAgICAgICBMQUJFTCBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIiBcCisJCSIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBVVUlEIG9mIGRldmljZSB0byBiZSB1c2VkXG4iIFwKKwkJIiBMQUJFTD08bGFiZWw+ICAgICAgICAgIExBQkVMIG9mIGRldmljZSB0byBiZSB1c2VkXG4iIFwKKwkJIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIFVVSUQgb2YgZGV2aWNlIHRvIGJlIHVzZWRcbiIgXAorCQkiIDxkZXZpY2U+ICAgICAgICAgICAgICAgbmFtZSBvZiBkZXZpY2UgdG8gYmUgdXNlZFxuIiBcCisJCSIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIiksIG91dCk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInN3YXBvZmYoOCkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IHN3YXBvZmZfYWxsKHZvaWQpCit7CisJaW50IHN0YXR1cyA9IDA7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGI7CisJc3RydWN0IGxpYm1udF9mcyAqZnM7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCisJaWYgKCFpdHIpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIikpOworCisJLyoKKwkgKiBJbiBjYXNlIC9wcm9jL3N3YXBzIGV4aXN0cywgdW5zd2FwIHN0dWZmIGxpc3RlZCB0aGVyZS4gIFdlIGFyZSBxdWlldAorCSAqIGJ1dCByZXBvcnQgZXJyb3JzIGluIHN0YXR1cy4gIEVycm9ycyBtaWdodCBtZWFuIHRoYXQgL3Byb2Mvc3dhcHMKKwkgKiBleGlzdHMgYXMgb3JkaW5hcnkgZmlsZSwgbm90IGluIHByb2Nmcy4gIGRvX3N3YXBvZmYoKSBleGl0cworCSAqIGltbWVkaWF0ZWx5IG9uIEVQRVJNLgorCSAqLworCXRiID0gZ2V0X3N3YXBzKCk7CisKKwl3aGlsZSAodGIgJiYgbW50X3RhYmxlX2ZpbmRfbmV4dF9mcyh0YiwgaXRyLCBtYXRjaF9zd2FwLCBOVUxMLCAmZnMpID09IDApCisJCXN0YXR1cyB8PSBkb19zd2Fwb2ZmKG1udF9mc19nZXRfc291cmNlKGZzKSwgUVVJRVQsIENBTk9OSUMpOworCisJLyoKKwkgKiBVbnN3YXAgc3R1ZmYgbWVudGlvbmVkIGluIC9ldGMvZnN0YWIuICBQcm9iYWJseSBpdCB3YXMgdW5tb3VudGVkCisJICogYWxyZWFkeSwgc28gZXJyb3JzIGFyZSBub3QgYmFkLiAgRG9pbmcgc3dhcG9mZiAtYSB0d2ljZSBzaG91bGQgbm90CisJICogZ2l2ZSBlcnJvciBtZXNzYWdlcy4KKwkgKi8KKwl0YiA9IGdldF9mc3RhYigpOworCW1udF9yZXNldF9pdGVyKGl0ciwgTU5UX0lURVJfRk9SV0FSRCk7CisKKwl3aGlsZSAodGIgJiYgbW50X3RhYmxlX2ZpbmRfbmV4dF9mcyh0YiwgaXRyLCBtYXRjaF9zd2FwLCBOVUxMLCAmZnMpID09IDApIHsKKwkJaWYgKCFpc19hY3RpdmVfc3dhcChtbnRfZnNfZ2V0X3NvdXJjZShmcykpKQorCQkJZG9fc3dhcG9mZihtbnRfZnNfZ2V0X3NvdXJjZShmcyksIFFVSUVULCAhQ0FOT05JQyk7CisJfQorCisJbW50X2ZyZWVfaXRlcihpdHIpOworCXJldHVybiBzdGF0dXM7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHN0YXR1cyA9IDAsIGM7CisJc2l6ZV90IGk7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9IHsKKwkJeyAiYWxsIiwgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnYScgfSwKKwkJeyAiaGVscCIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCcgfSwKKwkJeyAidmVyYm9zZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCAndicgfSwKKwkJeyAidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVicgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJhaHZWTDpVOiIsCisJCQkJIGxvbmdfb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdhJzoJCS8qIGFsbCAqLworCQkJKythbGw7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CQkvKiBoZWxwICovCisJCQl1c2FnZSgpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgkJLyogYmUgY2hhdHR5ICovCisJCQkrK3ZlcmJvc2U7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CQkvKiB2ZXJzaW9uICovCisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ0wnOgorCQkJYWRkX2xhYmVsKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CisJCQlhZGRfdXVpZChvcHRhcmcpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoIWFsbCAmJiAhbnVtb2ZfbGFiZWxzKCkgJiYgIW51bW9mX3V1aWRzKCkgJiYgKmFyZ3YgPT0gTlVMTCkgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwltbnRfaW5pdF9kZWJ1ZygwKTsKKwltbnRjYWNoZSA9IG1udF9uZXdfY2FjaGUoKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1vZl9sYWJlbHMoKTsgaSsrKQorCQlzdGF0dXMgfD0gc3dhcG9mZl9ieSgiTEFCRUwiLCBnZXRfbGFiZWwoaSksICFRVUlFVCk7CisKKwlmb3IgKGkgPSAwOyBpIDwgbnVtb2ZfdXVpZHMoKTsgaSsrKQorCQlzdGF0dXMgfD0gc3dhcG9mZl9ieSgiVVVJRCIsIGdldF91dWlkKGkpLCAhUVVJRVQpOworCisJd2hpbGUgKCphcmd2ICE9IE5VTEwpCisJCXN0YXR1cyB8PSBkb19zd2Fwb2ZmKCphcmd2KyssICFRVUlFVCwgIUNBTk9OSUMpOworCisJaWYgKGFsbCkKKwkJc3RhdHVzIHw9IHN3YXBvZmZfYWxsKCk7CisKKwlmcmVlX3RhYmxlcygpOworCW1udF91bnJlZl9jYWNoZShtbnRjYWNoZSk7CisKKwlyZXR1cm4gc3RhdHVzOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uYyBiL3N5cy11dGlscy9zd2Fwb24tY29tbW9uLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGQxNTkzZAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zd2Fwb24tY29tbW9uLmMKQEAgLTAsMCArMSwxMTcgQEAKKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2luY2x1ZGUgInN3YXBvbi1jb21tb24uaCIKKworLyoKKyAqIGNvbnRlbnQgb2YgL3Byb2Mvc3dhcHMgYW5kIC9ldGMvZnN0YWIKKyAqLworc3RhdGljIHN0cnVjdCBsaWJtbnRfdGFibGUgKnN3YXBzLCAqZnN0YWI7CisKK3N0cnVjdCBsaWJtbnRfY2FjaGUgKm1udGNhY2hlOworCitzdGF0aWMgaW50IHRhYmxlX3BhcnNlcl9lcnJjYihzdHJ1Y3QgbGlibW50X3RhYmxlICp0YiBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSksCisJCQljb25zdCBjaGFyICpmaWxlbmFtZSwgaW50IGxpbmUpCit7CisJaWYgKGZpbGVuYW1lKQorCQl3YXJueChfKCIlczogcGFyc2UgZXJyb3IgYXQgbGluZSAlZCAtLSBpZ25vcmVkIiksIGZpbGVuYW1lLCBsaW5lKTsKKwlyZXR1cm4gMTsKK30KKworc3RydWN0IGxpYm1udF90YWJsZSAqZ2V0X2ZzdGFiKHZvaWQpCit7CisJaWYgKCFmc3RhYikgeworCQlmc3RhYiA9IG1udF9uZXdfdGFibGUoKTsKKwkJaWYgKCFmc3RhYikKKwkJCXJldHVybiBOVUxMOworCQltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYihmc3RhYiwgdGFibGVfcGFyc2VyX2VycmNiKTsKKwkJbW50X3RhYmxlX3NldF9jYWNoZShmc3RhYiwgbW50Y2FjaGUpOworCQlpZiAobW50X3RhYmxlX3BhcnNlX2ZzdGFiKGZzdGFiLCBOVUxMKSAhPSAwKQorCQkJcmV0dXJuIE5VTEw7CisJfQorCisJcmV0dXJuIGZzdGFiOworfQorCitzdHJ1Y3QgbGlibW50X3RhYmxlICpnZXRfc3dhcHModm9pZCkKK3sKKwlpZiAoIXN3YXBzKSB7CisJCXN3YXBzID0gbW50X25ld190YWJsZSgpOworCQlpZiAoIXN3YXBzKQorCQkJcmV0dXJuIE5VTEw7CisJCW1udF90YWJsZV9zZXRfY2FjaGUoc3dhcHMsIG1udGNhY2hlKTsKKwkJbW50X3RhYmxlX3NldF9wYXJzZXJfZXJyY2Ioc3dhcHMsIHRhYmxlX3BhcnNlcl9lcnJjYik7CisJCWlmIChtbnRfdGFibGVfcGFyc2Vfc3dhcHMoc3dhcHMsIE5VTEwpICE9IDApCisJCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlyZXR1cm4gc3dhcHM7Cit9CisKK3ZvaWQgZnJlZV90YWJsZXModm9pZCkKK3sKKwltbnRfdW5yZWZfdGFibGUoc3dhcHMpOworCW1udF91bnJlZl90YWJsZShmc3RhYik7Cit9CisKK2ludCBtYXRjaF9zd2FwKHN0cnVjdCBsaWJtbnRfZnMgKmZzLCB2b2lkICpkYXRhIF9fYXR0cmlidXRlX18oKHVudXNlZCkpKQoreworCXJldHVybiBmcyAmJiBtbnRfZnNfaXNfc3dhcGFyZWEoZnMpOworfQorCitpbnQgaXNfYWN0aXZlX3N3YXAoY29uc3QgY2hhciAqZmlsZW5hbWUpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqc3QgPSBnZXRfc3dhcHMoKTsKKwlyZXR1cm4gc3QgJiYgbW50X3RhYmxlX2ZpbmRfc291cmNlKHN0LCBmaWxlbmFtZSwgTU5UX0lURVJfQkFDS1dBUkQpOworfQorCisKK2ludCBjYW5ub3RfZmluZChjb25zdCBjaGFyICpzcGVjaWFsKQoreworCXdhcm54KF8oImNhbm5vdCBmaW5kIHRoZSBkZXZpY2UgZm9yICVzIiksIHNwZWNpYWwpOworCXJldHVybiAtMTsKK30KKworLyoKKyAqIExpc3RzIHdpdGggLUwgYW5kIC1VIG9wdGlvbgorICovCitzdGF0aWMgY29uc3QgY2hhciAqKmxsaXN0Oworc3RhdGljIHNpemVfdCBsbGN0Oworc3RhdGljIGNvbnN0IGNoYXIgKip1bGlzdDsKK3N0YXRpYyBzaXplX3QgdWxjdDsKKworCit2b2lkIGFkZF9sYWJlbChjb25zdCBjaGFyICpsYWJlbCkKK3sKKwlsbGlzdCA9IHhyZWFsbG9jKGxsaXN0LCAoKytsbGN0KSAqIHNpemVvZihjaGFyICopKTsKKwlsbGlzdFtsbGN0IC0gMV0gPSBsYWJlbDsKK30KKworY29uc3QgY2hhciAqZ2V0X2xhYmVsKHNpemVfdCBpKQoreworCXJldHVybiBpIDwgbGxjdCA/IGxsaXN0W2ldIDogTlVMTDsKK30KKworc2l6ZV90IG51bW9mX2xhYmVscyh2b2lkKQoreworCXJldHVybiBsbGN0OworfQorCit2b2lkIGFkZF91dWlkKGNvbnN0IGNoYXIgKnV1aWQpCit7CisJdWxpc3QgPSB4cmVhbGxvYyh1bGlzdCwgKCsrdWxjdCkgKiBzaXplb2YoY2hhciAqKSk7CisJdWxpc3RbdWxjdCAtIDFdID0gdXVpZDsKK30KKworY29uc3QgY2hhciAqZ2V0X3V1aWQoc2l6ZV90IGkpCit7CisJcmV0dXJuIGkgPCB1bGN0ID8gdWxpc3RbaV0gOiBOVUxMOworfQorCitzaXplX3QgbnVtb2ZfdXVpZHModm9pZCkKK3sKKwlyZXR1cm4gdWxjdDsKK30KKwpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3N3YXBvbi1jb21tb24uaCBiL3N5cy11dGlscy9zd2Fwb24tY29tbW9uLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDFiNjc5ZgotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy9zd2Fwb24tY29tbW9uLmgKQEAgLTAsMCArMSwyNSBAQAorI2lmbmRlZiBVVElMX0xJTlVYX1NXQVBPTl9DT01NT05fSAorI2RlZmluZSBVVElMX0xJTlVYX1NXQVBPTl9DT01NT05fSAorCisjaW5jbHVkZSA8bGlibW91bnQuaD4KKworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfY2FjaGUgKm1udGNhY2hlOworCitleHRlcm4gc3RydWN0IGxpYm1udF90YWJsZSAqZ2V0X2ZzdGFiKHZvaWQpOworZXh0ZXJuIHN0cnVjdCBsaWJtbnRfdGFibGUgKmdldF9zd2Fwcyh2b2lkKTsKK2V4dGVybiB2b2lkIGZyZWVfdGFibGVzKHZvaWQpOworCitleHRlcm4gaW50IG1hdGNoX3N3YXAoc3RydWN0IGxpYm1udF9mcyAqZnMsIHZvaWQgKmRhdGEpOworZXh0ZXJuIGludCBpc19hY3RpdmVfc3dhcChjb25zdCBjaGFyICpmaWxlbmFtZSk7CisKK2V4dGVybiBpbnQgY2Fubm90X2ZpbmQoY29uc3QgY2hhciAqc3BlY2lhbCk7CisKK2V4dGVybiB2b2lkIGFkZF9sYWJlbChjb25zdCBjaGFyICpsYWJlbCk7CitleHRlcm4gY29uc3QgY2hhciAqZ2V0X2xhYmVsKHNpemVfdCBpKTsKK2V4dGVybiBzaXplX3QgbnVtb2ZfbGFiZWxzKHZvaWQpOworCitleHRlcm4gdm9pZCBhZGRfdXVpZChjb25zdCBjaGFyICp1dWlkKTsKK2V4dGVybiBjb25zdCBjaGFyICpnZXRfdXVpZChzaXplX3QgaSk7CitleHRlcm4gc2l6ZV90IG51bW9mX3V1aWRzKHZvaWQpOworCisjZW5kaWYgLyogVVRJTF9MSU5VWF9TV0FQT05fQ09NTU9OX0ggKi8KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9zd2Fwb24uOCBiL3N5cy11dGlscy9zd2Fwb24uOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Mzk4ZjFiCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3N3YXBvbi44CkBAIC0wLDAgKzEsMjU2IEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTgwLCAxOTkxIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIylzd2Fwb24uOAk2LjMgKEJlcmtlbGV5KSAzLzE2LzkxCisuXCIKKy5USCBTV0FQT04gOCAiT2N0b2JlciAyMDE0IiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCitzd2Fwb24sIHN3YXBvZmYgXC0gZW5hYmxlL2Rpc2FibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcKKy5TSCBTWU5PUFNJUworLkIgc3dhcG9uCitbb3B0aW9uc10KKy5SSSBbIHNwZWNpYWxmaWxlIC4uLl0KKy5icgorLkIgc3dhcG9mZgorLlJCIFsgXC12YSBdCisuUkkgWyBzcGVjaWFsZmlsZSAuLi5dCisuU0ggREVTQ1JJUFRJT04KKy5CIHN3YXBvbgoraXMgdXNlZCB0byBzcGVjaWZ5IGRldmljZXMgb24gd2hpY2ggcGFnaW5nIGFuZCBzd2FwcGluZyBhcmUgdG8gdGFrZSBwbGFjZS4KKworVGhlIGRldmljZSBvciBmaWxlIHVzZWQgaXMgZ2l2ZW4gYnkgdGhlCisuSSBzcGVjaWFsZmlsZQorcGFyYW1ldGVyLiAgSXQgbWF5IGJlIG9mIHRoZSBmb3JtCisuQkkgXC1MICIgbGFiZWwiCitvcgorLkJJIFwtVSAiIHV1aWQiCit0byBpbmRpY2F0ZSBhIGRldmljZSBieSBsYWJlbCBvciB1dWlkLgorCitDYWxscyB0bworLkIgc3dhcG9uCitub3JtYWxseSBvY2N1ciBpbiB0aGUgc3lzdGVtIGJvb3Qgc2NyaXB0cyBtYWtpbmcgYWxsIHN3YXAgZGV2aWNlcyBhdmFpbGFibGUsIHNvCit0aGF0IHRoZSBwYWdpbmcgYW5kIHN3YXBwaW5nIGFjdGl2aXR5IGlzIGludGVybGVhdmVkIGFjcm9zcyBzZXZlcmFsIGRldmljZXMgYW5kCitmaWxlcy4KKworLkIgc3dhcG9mZgorZGlzYWJsZXMgc3dhcHBpbmcgb24gdGhlIHNwZWNpZmllZCBkZXZpY2VzIGFuZCBmaWxlcy4KK1doZW4gdGhlCisuQiBcLWEKK2ZsYWcgaXMgZ2l2ZW4sIHN3YXBwaW5nIGlzIGRpc2FibGVkIG9uIGFsbCBrbm93biBzd2FwIGRldmljZXMgYW5kIGZpbGVzCisoYXMgZm91bmQgaW4KKy5JIC9wcm9jL3N3YXBzCitvcgorLklSIC9ldGMvZnN0YWIgKS4KKworLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtYSAsICIgXC1cLWFsbCIKK0FsbCBkZXZpY2VzIG1hcmtlZCBhcyBgYHN3YXAnJyBpbgorLkkgL2V0Yy9mc3RhYgorYXJlIG1hZGUgYXZhaWxhYmxlLCBleGNlcHQgZm9yIHRob3NlIHdpdGggdGhlIGBgbm9hdXRvJycgb3B0aW9uLgorRGV2aWNlcyB0aGF0IGFyZSBhbHJlYWR5IGJlaW5nIHVzZWQgYXMgc3dhcCBhcmUgc2lsZW50bHkgc2tpcHBlZC4KKy5UUAorLkJSIFwtZCAsICIgXC1cLWRpc2NhcmQiIFsgPVxmSXBvbGljeVxmUl0KK0VuYWJsZSBzd2FwIGRpc2NhcmRzLCBpZiB0aGUgc3dhcCBiYWNraW5nIGRldmljZSBzdXBwb3J0cyB0aGUgZGlzY2FyZCBvcgordHJpbSBvcGVyYXRpb24uICBUaGlzIG1heSBpbXByb3ZlIHBlcmZvcm1hbmNlIG9uIHNvbWUgU29saWQgU3RhdGUgRGV2aWNlcywKK2J1dCBvZnRlbiBpdCBkb2VzIG5vdC4gIFRoZSBvcHRpb24gYWxsb3dzIG9uZSB0byBzZWxlY3QgYmV0d2VlbiB0d28KK2F2YWlsYWJsZSBzd2FwIGRpc2NhcmQgcG9saWNpZXM6CisuQiBcLVwtZGlzY2FyZD1vbmNlCit0byBwZXJmb3JtIGEgc2luZ2xlLXRpbWUgZGlzY2FyZCBvcGVyYXRpb24gZm9yIHRoZSB3aG9sZSBzd2FwIGFyZWEgYXQgc3dhcG9uOworb3IKKy5CIFwtXC1kaXNjYXJkPXBhZ2VzCit0byBhc3luY2hyb25vdXNseSBkaXNjYXJkIGZyZWVkIHN3YXAgcGFnZXMgYmVmb3JlIHRoZXkgYXJlIGF2YWlsYWJsZSBmb3IgcmV1c2UuCitJZiBubyBwb2xpY3kgaXMgc2VsZWN0ZWQsIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGlzIHRvIGVuYWJsZSBib3RoIGRpc2NhcmQgdHlwZXMuCitUaGUKKy5JIC9ldGMvZnN0YWIKK21vdW50IG9wdGlvbnMKKy5CUiBkaXNjYXJkICwKKy5CUiBkaXNjYXJkPW9uY2UgLAorb3IKKy5CIGRpc2NhcmQ9cGFnZXMKK21heSBhbHNvIGJlIHVzZWQgdG8gZW5hYmxlIGRpc2NhcmQgZmxhZ3MuCisuVFAKKy5CUiBcLWUgLCAiIFwtXC1pZmV4aXN0cyIKK1NpbGVudGx5IHNraXAgZGV2aWNlcyB0aGF0IGRvIG5vdCBleGlzdC4KK1RoZQorLkkgL2V0Yy9mc3RhYgorbW91bnQgb3B0aW9uCisuQiBub2ZhaWwKK21heSBhbHNvIGJlIHVzZWQgdG8gc2tpcCBub24tZXhpc3RpbmcgZGV2aWNlLgorCisuVFAKKy5CUiBcLWYgLCAiIFwtXC1maXhwZ3N6IgorUmVpbml0aWFsaXplIChleGVjIG1rc3dhcCkgdGhlIHN3YXAgc3BhY2UgaWYgaXRzIHBhZ2Ugc2l6ZSBkb2VzIG5vdAorbWF0Y2ggdGhhdCBvZiB0aGUgY3VycmVudCBydW5uaW5nIGtlcm5lbC4KKy5CUiBta3N3YXAgKDIpCitpbml0aWFsaXplcyB0aGUgd2hvbGUgZGV2aWNlIGFuZCBkb2VzIG5vdCBjaGVjayBmb3IgYmFkIGJsb2Nrcy4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5UUAorLkJJIFwtTCAiIGxhYmVsIgorVXNlIHRoZSBwYXJ0aXRpb24gdGhhdCBoYXMgdGhlIHNwZWNpZmllZAorLklSIGxhYmVsIC4KKyhGb3IgdGhpcywgYWNjZXNzIHRvCisuSSAvcHJvYy9wYXJ0aXRpb25zCitpcyBuZWVkZWQuKQorLlRQCisuQlIgXC1vICwgIiBcLVwtb3B0aW9ucyAiIFxmSW9wdHNcZlAKK1NwZWNpZnkgc3dhcCBvcHRpb25zIGJ5IGFuIGZzdGFiLWNvbXBhdGlibGUgY29tbWEtc2VwYXJhdGVkIHN0cmluZy4KK0ZvciBleGFtcGxlOgorLlJTCisuUlMKKy5zcAorLkIgInN3YXBvbiAtbyBwcmk9MSxkaXNjYXJkPXBhZ2VzLG5vZmFpbCAvZGV2L3NkYTIiCisuc3AKKy5SRQorVGhlIFxmSW9wdHNcZlAgc3RyaW5nIGlzIGV2YWx1YXRlZCBsYXN0IGFuZCBvdmVycmlkZXMgYWxsIG90aGVyCitjb21tYW5kIGxpbmUgb3B0aW9ucy4KKy5SRQorLlRQCisuQlIgXC1wICwgIiBcLVwtcHJpb3JpdHkgIiBcZklwcmlvcml0eVxmUAorU3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlLgorLkkgcHJpb3JpdHkKK2lzIGEgdmFsdWUgYmV0d2VlbiBcLTEgYW5kIDMyNzY3LiAgSGlnaGVyIG51bWJlcnMgaW5kaWNhdGUKK2hpZ2hlciBwcmlvcml0eS4gIFNlZQorLkJSIHN3YXBvbiAoMikKK2ZvciBhIGZ1bGwgZGVzY3JpcHRpb24gb2Ygc3dhcCBwcmlvcml0aWVzLiAgQWRkCisuQkkgcHJpPSB2YWx1ZQordG8gdGhlIG9wdGlvbiBmaWVsZCBvZgorLkkgL2V0Yy9mc3RhYgorZm9yIHVzZSB3aXRoCisuQlIgInN3YXBvbiAtYSIgLgorV2hlbiBubyBwcmlvcml0eSBpcyBkZWZpbmVkLCBpdCBkZWZhdWx0cyB0byBcLTEuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zdW1tYXJ5IgorRGlzcGxheSBzd2FwIHVzYWdlIHN1bW1hcnkgYnkgZGV2aWNlLiAgRXF1aXZhbGVudCB0byAiY2F0IC9wcm9jL3N3YXBzIi4KK1RoaXMgb3V0cHV0IGZvcm1hdCBpcyBERVBSRUNBVEVEIGluIGZhdm91cgorb2YgXGZCXC1cLXNob3dcZlIgdGhhdCBwcm92aWRlcyBiZXR0ZXIgY29udHJvbCBvbiBvdXRwdXQgZGF0YS4KKy5UUAorLkJSIFwtXC1zaG93IFsgPVxmSWNvbHVtblxmUiAuLi5dCitEaXNwbGF5IGEgZGVmaW5hYmxlIHRhYmxlIG9mIHN3YXAgYXJlYXMuICBTZWUgdGhlCisuQiBcLVwtaGVscAorb3V0cHV0IGZvciBhIGxpc3Qgb2YgYXZhaWxhYmxlIGNvbHVtbnMuCisuVFAKKy5CIFwtXC1vdXRwdXRcLWFsbAorT3V0cHV0IGFsbCBhdmFpbGFibGUgY29sdW1ucy4KKy5UUAorLkIgXC1cLW5vaGVhZGluZ3MKK0RvIG5vdCBwcmludCBoZWFkaW5ncyB3aGVuIGRpc3BsYXlpbmcKKy5CIFwtXC1zaG93CitvdXRwdXQuCisuVFAKKy5CIFwtXC1yYXcKK0Rpc3BsYXkKKy5CIFwtXC1zaG93CitvdXRwdXQgd2l0aG91dCBhbGlnbmluZyB0YWJsZSBjb2x1bW5zLgorLlRQCisuQiBcLVwtYnl0ZXMKK0Rpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluCisuQiBcLVwtc2hvdworb3V0cHV0IGluc3RlYWQgb2YgaW4gdXNlci1mcmllbmRseSB1bml0cy4KKy5UUAorLkJJIFwtVSAgIiB1dWlkIgorVXNlIHRoZSBwYXJ0aXRpb24gdGhhdCBoYXMgdGhlIHNwZWNpZmllZAorLklSIHV1aWQgLgorLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyYm9zZSIKK0JlIHZlcmJvc2UuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlNIIE5PVEVTCitZb3Ugc2hvdWxkIG5vdCB1c2UgXGZCc3dhcG9uXGZSIG9uIGEgZmlsZSB3aXRoIGhvbGVzLgorVGhpcyBjYW4gYmUgc2VlbiBpbiB0aGUgc3lzdGVtIGxvZyBhcworLlJTCisuc3AKKy5CICJzd2Fwb246IHN3YXBmaWxlIGhhcyBob2xlcy4iCisuc3AKKy5SRQorVGhlIHN3YXAgZmlsZSBpbXBsZW1lbnRhdGlvbiBpbiB0aGUga2VybmVsIGV4cGVjdHMgdG8gYmUgYWJsZSB0byB3cml0ZSB0byB0aGUKK2ZpbGUgZGlyZWN0bHksIHdpdGhvdXQgdGhlIGFzc2lzdGFuY2Ugb2YgdGhlIGZpbGVzeXN0ZW0uICBUaGlzIGlzIGEgcHJvYmxlbSBvbgorcHJlYWxsb2NhdGVkIGZpbGVzIChlLmcuCisuQlIgZmFsbG9jYXRlICgxKSkKK29uIGZpbGVzeXN0ZW1zIGxpa2UgXGZCWEZTXGZSIG9yIFxmQmV4dDRcZlIsIGFuZCBvbiBjb3B5LW9uLXdyaXRlCitmaWxlc3lzdGVtcyBsaWtlIFxmQmJ0cmZzXGZSLgorLlBQCitJdCBpcyByZWNvbW1lbmRlZCB0byB1c2UKKy5CUiBkZCAoMSkKK2FuZAorLkkgL2Rldi96ZXJvCit0byBhdm9pZCBob2xlcyBvbiBYRlMgYW5kIGV4dDQuCisuUFAKKy5CIHN3YXBvbgorbWF5IG5vdCB3b3JrIGNvcnJlY3RseSB3aGVuIHVzaW5nIGEgc3dhcCBmaWxlIHdpdGggc29tZSB2ZXJzaW9ucyBvZgorXGZCYnRyZnNcZlIuICBUaGlzIGlzIGR1ZSB0byBidHJmcyBiZWluZyBhIGNvcHktb24td3JpdGUgZmlsZXN5c3RlbTogdGhlCitmaWxlIGxvY2F0aW9uIG1heSBub3QgYmUgc3RhdGljIGFuZCBjb3JydXB0aW9uIGNhbiByZXN1bHQuICBCdHJmcyBhY3RpdmVseQorZGlzYWxsb3dzIHRoZSB1c2Ugb2Ygc3dhcCBmaWxlcyBvbiBpdHMgZmlsZXN5c3RlbXMgYnkgcmVmdXNpbmcgdG8gbWFwIHRoZSBmaWxlLgorLlBQCitPbmUgcG9zc2libGUgd29ya2Fyb3VuZCBpcyB0byBtYXAgdGhlIHN3YXAKK2ZpbGUgdG8gYSBsb29wYmFjayBkZXZpY2UuICBUaGlzIHdpbGwgYWxsb3cgdGhlIGZpbGVzeXN0ZW0gdG8gZGV0ZXJtaW5lIHRoZQorbWFwcGluZyBwcm9wZXJseSBidXQgbWF5IGNvbWUgd2l0aCBhIHBlcmZvcm1hbmNlIGltcGFjdC4KKy5QUAorU3dhcCBvdmVyIFxmQk5GU1xmUiBtYXkgbm90IHdvcmsuCisuUFAKKy5CIHN3YXBvbgorYXV0b21hdGljYWxseSBkZXRlY3RzIGFuZCByZXdyaXRlcyBhIHN3YXAgc3BhY2Ugc2lnbmF0dXJlIHdpdGggb2xkIHNvZnR3YXJlCitzdXNwZW5kIGRhdGEgKGUuZyBTMVNVU1BFTkQsIFMyU1VTUEVORCwgLi4uKS4gVGhlIHByb2JsZW0gaXMgdGhhdCBpZiB3ZSBkb24ndAorZG8gaXQsIHRoZW4gd2UgZ2V0IGRhdGEgY29ycnVwdGlvbiB0aGUgbmV4dCB0aW1lIGFuIGF0dGVtcHQgYXQgdW5zdXNwZW5kaW5nIGlzCittYWRlLgorCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJNT1VOVF9ERUJVRz1hbGwKK2VuYWJsZXMgbGlibW91bnQgZGVidWcgb3V0cHV0LgorLklQIExJQkJMS0lEX0RFQlVHPWFsbAorZW5hYmxlcyBsaWJibGtpZCBkZWJ1ZyBvdXRwdXQuCisKKy5TSCBTRUUgQUxTTworLkJSIHN3YXBvZmYgKDIpLAorLkJSIHN3YXBvbiAoMiksCisuQlIgZnN0YWIgKDUpLAorLkJSIGluaXQgKDgpLAorLkJSIG1rc3dhcCAoOCksCisuQlIgbW91bnQgKDgpLAorLkJSIHJjICg4KQorLlNIIEZJTEVTCisuYnIKKy5JIC9kZXYvc2Q/Pworc3RhbmRhcmQgcGFnaW5nIGRldmljZXMKKy5icgorLkkgL2V0Yy9mc3RhYgorYXNjaWkgZmlsZXN5c3RlbSBkZXNjcmlwdGlvbiB0YWJsZQorLlNIIEhJU1RPUlkKK1RoZQorLkIgc3dhcG9uCitjb21tYW5kIGFwcGVhcmVkIGluIDQuMEJTRC4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzd2Fwb24gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy9zd2Fwb24uYyBiL3N5cy11dGlscy9zd2Fwb24uYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWYyZjFjCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3N3YXBvbi5jCkBAIC0wLDAgKzEsMTAxNyBAQAorI2luY2x1ZGUgPGFzc2VydC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpbnQuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorCisjaW5jbHVkZSA8bGlic21hcnRjb2xzLmg+CisKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYml0b3BzLmgiCisjaW5jbHVkZSAiYmxrZGV2LmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJvcHR1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNpbmNsdWRlICJzd2FwaGVhZGVyLmgiCisjaW5jbHVkZSAic3dhcHByb2Jlci5oIgorI2luY2x1ZGUgInN3YXBvbi1jb21tb24uaCIKKworI2lmZGVmIEhBVkVfU1lTX1NXQVBfSAorIyBpbmNsdWRlIDxzeXMvc3dhcC5oPgorI2VuZGlmCisKKyNpZm5kZWYgU1dBUF9GTEFHX0RJU0NBUkQKKyMgZGVmaW5lIFNXQVBfRkxBR19ESVNDQVJECTB4MTAwMDAgLyogZW5hYmxlIGRpc2NhcmQgZm9yIHN3YXAgKi8KKyNlbmRpZgorCisjaWZuZGVmIFNXQVBfRkxBR19ESVNDQVJEX09OQ0UKKyMgZGVmaW5lIFNXQVBfRkxBR19ESVNDQVJEX09OQ0UgMHgyMDAwMCAvKiBkaXNjYXJkIHN3YXAgYXJlYSBhdCBzd2Fwb24tdGltZSAqLworI2VuZGlmCisKKyNpZm5kZWYgU1dBUF9GTEFHX0RJU0NBUkRfUEFHRVMKKyMgZGVmaW5lIFNXQVBfRkxBR19ESVNDQVJEX1BBR0VTIDB4NDAwMDAgLyogZGlzY2FyZCBwYWdlLWNsdXN0ZXJzIGFmdGVyIHVzZSAqLworI2VuZGlmCisKKyNkZWZpbmUgU1dBUF9GTEFHU19ESVNDQVJEX1ZBTElEIChTV0FQX0ZMQUdfRElTQ0FSRCB8IFNXQVBfRkxBR19ESVNDQVJEX09OQ0UgfCBcCisJCQkJICBTV0FQX0ZMQUdfRElTQ0FSRF9QQUdFUykKKworI2lmbmRlZiBTV0FQX0ZMQUdfUFJFRkVSCisjIGRlZmluZSBTV0FQX0ZMQUdfUFJFRkVSCTB4ODAwMAkvKiBzZXQgaWYgc3dhcCBwcmlvcml0eSBzcGVjaWZpZWQgKi8KKyNlbmRpZgorCisjaWZuZGVmIFNXQVBfRkxBR19QUklPX01BU0sKKyMgZGVmaW5lIFNXQVBfRkxBR19QUklPX01BU0sJMHg3ZmZmCisjZW5kaWYKKworI2lmbmRlZiBTV0FQX0ZMQUdfUFJJT19TSElGVAorIyBkZWZpbmUgU1dBUF9GTEFHX1BSSU9fU0hJRlQJMAorI2VuZGlmCisKKyNpZiAhZGVmaW5lZChIQVZFX1NXQVBPTikgJiYgZGVmaW5lZChTWVNfc3dhcG9uKQorIyBpbmNsdWRlIDxzeXMvc3lzY2FsbC5oPgorIyBkZWZpbmUgc3dhcG9uKHBhdGgsIGZsYWdzKSBzeXNjYWxsKFNZU19zd2Fwb24sIHBhdGgsIGZsYWdzKQorI2VuZGlmCisKKyNkZWZpbmUgTUFYX1BBR0VTSVpFCSg2NCAqIDEwMjQpCisKKyNpZm5kZWYgVVVJRF9TVFJfTEVOCisjIGRlZmluZSBVVUlEX1NUUl9MRU4JMzcKKyNlbmRpZgorCitlbnVtIHsKKwlTSUdfU1dBUFNQQUNFID0gMSwKKwlTSUdfU1dTVVNQRU5ECit9OworCisvKiBjb2x1bW4gbmFtZXMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKyAgICAgICAgY29uc3QgY2hhciAqbmFtZTsgLyogaGVhZGVyICovCisgICAgICAgIGRvdWJsZSAgICAgd2hpbnQ7IC8qIHdpZHRoIGhpbnQgKE4gPCAxIGlzIGluIHBlcmNlbnQgb2YgdGVybXdpZHRoKSAqLworCWludCAgICAgICAgZmxhZ3M7IC8qIFNDT0xTX0ZMXyogKi8KKyAgICAgICAgY29uc3QgY2hhciAqaGVscDsKK307CisKK2VudW0geworCUNPTF9QQVRILAorCUNPTF9UWVBFLAorCUNPTF9TSVpFLAorCUNPTF9VU0VELAorCUNPTF9QUklPLAorCUNPTF9VVUlELAorCUNPTF9MQUJFTAorfTsKK3N0YXRpYyBzdHJ1Y3QgY29saW5mbyBpbmZvc1tdID0geworCVtDT0xfUEFUSF0gICAgID0geyAiTkFNRSIsCTAuMjAsIDAsIE5fKCJkZXZpY2UgZmlsZSBvciBwYXJ0aXRpb24gcGF0aCIpIH0sCisJW0NPTF9UWVBFXSAgICAgPSB7ICJUWVBFIiwJMC4yMCwgU0NPTFNfRkxfVFJVTkMsIE5fKCJ0eXBlIG9mIHRoZSBkZXZpY2UiKX0sCisJW0NPTF9TSVpFXSAgICAgPSB7ICJTSVpFIiwJMC4yMCwgU0NPTFNfRkxfUklHSFQsIE5fKCJzaXplIG9mIHRoZSBzd2FwIGFyZWEiKX0sCisJW0NPTF9VU0VEXSAgICAgPSB7ICJVU0VEIiwJMC4yMCwgU0NPTFNfRkxfUklHSFQsIE5fKCJieXRlcyBpbiB1c2UiKX0sCisJW0NPTF9QUklPXSAgICAgPSB7ICJQUklPIiwJMC4yMCwgU0NPTFNfRkxfUklHSFQsIE5fKCJzd2FwIHByaW9yaXR5Iil9LAorCVtDT0xfVVVJRF0gICAgID0geyAiVVVJRCIsCTAuMjAsIDAsIE5fKCJzd2FwIHV1aWQiKX0sCisJW0NPTF9MQUJFTF0gICAgPSB7ICJMQUJFTCIsCTAuMjAsIDAsIE5fKCJzd2FwIGxhYmVsIil9LAorfTsKKworCisvKiBzd2FwIGFyZWEgcHJvcGVydGllcyAqLworc3RydWN0IHN3YXBfcHJvcCB7CisJaW50IGRpc2NhcmQ7CQkJLyogZGlzY2FyZCBwb2xpY3kgKi8KKwlpbnQgcHJpb3JpdHk7CQkJLyogbm9uLXByaW9yaXRpemVkIHN3YXAgYnkgZGVmYXVsdCAqLworCWludCBub19mYWlsOwkJCS8qIHNraXAgZGV2aWNlIGlmIG5vdCBleGlzdCAqLworfTsKKworLyogZGV2aWNlIGRlc2NyaXB0aW9uICovCitzdHJ1Y3Qgc3dhcF9kZXZpY2UgeworCWNvbnN0IGNoYXIgKnBhdGg7CQkvKiBkZXZpY2Ugb3IgZmlsZSB0byBiZSB0dXJuZWQgb24gKi8KKwljb25zdCBjaGFyICpsYWJlbDsJCS8qIHN3YXAgbGFiZWwgKi8KKwljb25zdCBjaGFyICp1dWlkOwkJLyogdW5pcXVlIGlkZW50aWZpZXIgKi8KKwl1bnNpZ25lZCBpbnQgcGFnZXNpemU7Cit9OworCisvKiBjb250cm9sIHN0cnVjdCAqLworc3RydWN0IHN3YXBvbl9jdGwgeworCWludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl07CS8qIC0tc2hvdyBjb2x1bW5zICovCisJaW50IG5jb2x1bW5zOwkJCQkvKiBudW1iZXIgb2YgY29sdW1ucyAqLworCisJc3RydWN0IHN3YXBfcHJvcCBwcm9wczsJCS8qIGdsb2JhbCBzZXR0aW5ncyBmb3IgYWxsIGRldmljZXMgKi8KKworCXVuc2lnbmVkIGludAorCQlhbGw6MSwJCQkvKiB0dXJuIG9uIGFsbCBzd2FwIGRldmljZXMgKi8KKwkJYnl0ZXM6MSwJCS8qIGRpc3BsYXkgLS1zaG93IGluIGJ5dGVzICovCisJCWZpeF9wYWdlX3NpemU6MSwJLyogcmVpbml0aWFsaXplIHBhZ2Ugc2l6ZSAqLworCQlub19oZWFkaW5nOjEsCQkvKiB0b2dnbGUgLS1zaG93IGhlYWRlcnMgKi8KKwkJcmF3OjEsCQkJLyogdG9nZ2xlIC0tc2hvdyBhbGlnbm1lbnQgKi8KKwkJc2hvdzoxLAkJCS8qIGRpc3BsYXkgLS1zaG93IGluZm9ybWF0aW9uICovCisJCXZlcmJvc2U6MTsJCS8qIGJlIGNoYXR0eSAqLworfTsKKworc3RhdGljIGludCBjb2x1bW5fbmFtZV90b19pZChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJYXNzZXJ0KG5hbWUpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoaW5mb3MpOyBpKyspIHsKKwkJY29uc3QgY2hhciAqY24gPSBpbmZvc1tpXS5uYW1lOworCisJCWlmICghc3RybmNhc2VjbXAobmFtZSwgY24sIG5hbWVzeikgJiYgISooY24gKyBuYW1lc3opKQorCQkJcmV0dXJuIGk7CisJfQorCXdhcm54KF8oInVua25vd24gY29sdW1uOiAlcyIpLCBuYW1lKTsKKwlyZXR1cm4gLTE7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IGdldF9jb2x1bW5faWQoY29uc3Qgc3RydWN0IHN3YXBvbl9jdGwgKmN0bCwgaW50IG51bSkKK3sKKwlhc3NlcnQobnVtIDwgY3RsLT5uY29sdW1ucyk7CisJYXNzZXJ0KGN0bC0+Y29sdW1uc1tudW1dIDwgKGludCkgQVJSQVlfU0laRShpbmZvcykpOworCisJcmV0dXJuIGN0bC0+Y29sdW1uc1tudW1dOworfQorCitzdGF0aWMgaW5saW5lIHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8oY29uc3Qgc3RydWN0IHN3YXBvbl9jdGwgKmN0bCwgdW5zaWduZWQgbnVtKQoreworCXJldHVybiAmaW5mb3NbZ2V0X2NvbHVtbl9pZChjdGwsIG51bSldOworfQorCitzdGF0aWMgdm9pZCBhZGRfc2NvbHNfbGluZShjb25zdCBzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsLCBzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLCBzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbGluZTsKKwlibGtpZF9wcm9iZSBwciA9IE5VTEw7CisJY29uc3QgY2hhciAqZGF0YTsKKworCWFzc2VydCh0YWJsZSk7CisJYXNzZXJ0KGZzKTsKKworCWxpbmUgPSBzY29sc190YWJsZV9uZXdfbGluZSh0YWJsZSwgTlVMTCk7CisJaWYgKCFsaW5lKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGxpbmUiKSk7CisKKwlkYXRhID0gbW50X2ZzX2dldF9zb3VyY2UoZnMpOworCWlmIChhY2Nlc3MoZGF0YSwgUl9PSykgPT0gMCkKKwkJcHIgPSBnZXRfc3dhcF9wcm9iZXIoZGF0YSk7CisJZm9yIChpID0gMDsgaSA8IGN0bC0+bmNvbHVtbnM7IGkrKykgeworCQljaGFyICpzdHIgPSBOVUxMOworCQlvZmZfdCBzaXplOworCisJCXN3aXRjaCAoZ2V0X2NvbHVtbl9pZChjdGwsIGkpKSB7CisJCWNhc2UgQ09MX1BBVEg6CisJCQl4YXNwcmludGYoJnN0ciwgIiVzIiwgbW50X2ZzX2dldF9zb3VyY2UoZnMpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9UWVBFOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIG1udF9mc19nZXRfc3dhcHR5cGUoZnMpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9TSVpFOgorCQkJc2l6ZSA9IG1udF9mc19nZXRfc2l6ZShmcyk7CisJCQlzaXplICo9IDEwMjQ7CS8qIGNvbnZlcnQgdG8gYnl0ZXMgKi8KKwkJCWlmIChjdGwtPmJ5dGVzKQorCQkJCXhhc3ByaW50Zigmc3RyLCAiJWpkIiwgc2l6ZSk7CisJCQllbHNlCisJCQkJc3RyID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgc2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfVVNFRDoKKwkJCXNpemUgPSBtbnRfZnNfZ2V0X3VzZWRzaXplKGZzKTsKKwkJCXNpemUgKj0gMTAyNDsJLyogY29udmVydCB0byBieXRlcyAqLworCQkJaWYgKGN0bC0+Ynl0ZXMpCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlamQiLCBzaXplKTsKKwkJCWVsc2UKKwkJCQlzdHIgPSBzaXplX3RvX2h1bWFuX3N0cmluZyhTSVpFX1NVRkZJWF8xTEVUVEVSLCBzaXplKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9QUklPOgorCQkJeGFzcHJpbnRmKCZzdHIsICIlZCIsIG1udF9mc19nZXRfcHJpb3JpdHkoZnMpKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9VVUlEOgorCQkJaWYgKHByICYmICFibGtpZF9wcm9iZV9sb29rdXBfdmFsdWUocHIsICJVVUlEIiwgJmRhdGEsIE5VTEwpKQorCQkJCXhhc3ByaW50Zigmc3RyLCAiJXMiLCBkYXRhKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9MQUJFTDoKKwkJCWlmIChwciAmJiAhYmxraWRfcHJvYmVfbG9va3VwX3ZhbHVlKHByLCAiTEFCRUwiLCAmZGF0YSwgTlVMTCkpCisJCQkJeGFzcHJpbnRmKCZzdHIsICIlcyIsIGRhdGEpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCisJCWlmIChzdHIgJiYgc2NvbHNfbGluZV9yZWZlcl9kYXRhKGxpbmUsIGksIHN0cikpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIikpOworCX0KKwlpZiAocHIpCisJCWJsa2lkX2ZyZWVfcHJvYmUocHIpOworCXJldHVybjsKK30KKworc3RhdGljIGludCBkaXNwbGF5X3N1bW1hcnkodm9pZCkKK3sKKwlzdHJ1Y3QgbGlibW50X3RhYmxlICpzdCA9IGdldF9zd2FwcygpOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJaWYgKCFzdCkKKwkJcmV0dXJuIC0xOworCisJaWYgKG1udF90YWJsZV9pc19lbXB0eShzdCkpCisJCXJldHVybiAwOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKworCXByaW50ZihfKCIlc1x0XHRcdFx0VHlwZVx0XHRTaXplXHRVc2VkXHRQcmlvcml0eVxuIiksIF8oIkZpbGVuYW1lIikpOworCisJd2hpbGUgKG1udF90YWJsZV9uZXh0X2ZzKHN0LCBpdHIsICZmcykgPT0gMCkgeworCQlwcmludGYoIiUtMzlzXHQlLThzXHQlamRcdCVqZFx0JWRcbiIsCisJCQltbnRfZnNfZ2V0X3NvdXJjZShmcyksCisJCQltbnRfZnNfZ2V0X3N3YXB0eXBlKGZzKSwKKwkJCW1udF9mc19nZXRfc2l6ZShmcyksCisJCQltbnRfZnNfZ2V0X3VzZWRzaXplKGZzKSwKKwkJCW1udF9mc19nZXRfcHJpb3JpdHkoZnMpKTsKKwl9CisKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgc2hvd190YWJsZShzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnN0ID0gZ2V0X3N3YXBzKCk7CisJc3RydWN0IGxpYm1udF9pdGVyICppdHIgPSBOVUxMOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCBpOworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGFibGUgPSBOVUxMOworCisJaWYgKCFzdCkKKwkJcmV0dXJuIC0xOworCisJaXRyID0gbW50X25ld19pdGVyKE1OVF9JVEVSX0ZPUldBUkQpOworCWlmICghaXRyKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwl0YWJsZSA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghdGFibGUpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisKKwlzY29sc190YWJsZV9lbmFibGVfcmF3KHRhYmxlLCBjdGwtPnJhdyk7CisJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3ModGFibGUsIGN0bC0+bm9faGVhZGluZyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgY3RsLT5uY29sdW1uczsgaSsrKSB7CisJCXN0cnVjdCBjb2xpbmZvICpjb2wgPSBnZXRfY29sdW1uX2luZm8oY3RsLCBpKTsKKworCQlpZiAoIXNjb2xzX3RhYmxlX25ld19jb2x1bW4odGFibGUsIGNvbC0+bmFtZSwgY29sLT53aGludCwgY29sLT5mbGFncykpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIpKTsKKwl9CisKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnMoc3QsIGl0ciwgJmZzKSA9PSAwKQorCQlhZGRfc2NvbHNfbGluZShjdGwsIHRhYmxlLCBmcyk7CisKKwlzY29sc19wcmludF90YWJsZSh0YWJsZSk7CisJc2NvbHNfdW5yZWZfdGFibGUodGFibGUpOworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gMDsKK30KKworLyogY2FsbHMgbWtzd2FwICovCitzdGF0aWMgaW50IHN3YXBfcmVpbml0aWFsaXplKHN0cnVjdCBzd2FwX2RldmljZSAqZGV2KQoreworCXBpZF90IHBpZDsKKwlpbnQgc3RhdHVzLCByZXQ7CisJY2hhciBjb25zdCAqY21kWzddOworCWludCBpZHg9MDsKKworCWFzc2VydChkZXYpOworCWFzc2VydChkZXYtPnBhdGgpOworCisJd2FybngoXygiJXM6IHJlaW5pdGlhbGl6aW5nIHRoZSBzd2FwLiIpLCBkZXYtPnBhdGgpOworCisJc3dpdGNoICgocGlkPWZvcmsoKSkpIHsKKwljYXNlIC0xOiAvKiBmb3JrIGVycm9yICovCisJCXdhcm4oXygiZm9yayBmYWlsZWQiKSk7CisJCXJldHVybiAtMTsKKworCWNhc2UgMDoJLyogY2hpbGQgKi8KKwkJaWYgKGdldGV1aWQoKSAhPSBnZXR1aWQoKSkgeworCQkJLyogaW4gY2FzZSBzb21lb25lIHVzZXMgc3dhcG9uIGFzIHNldHVpZCBiaW5hcnkgKi8KKwkJCWlmIChzZXRnaWQoZ2V0Z2lkKCkpIDwgMCkKKwkJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCQlpZiAoc2V0dWlkKGdldHVpZCgpKSA8IDApCisJCQkJZXhpdChFWElUX0ZBSUxVUkUpOworCQl9CisKKwkJY21kW2lkeCsrXSA9ICJta3N3YXAiOworCQlpZiAoZGV2LT5sYWJlbCkgeworCQkJY21kW2lkeCsrXSA9ICItTCI7CisJCQljbWRbaWR4KytdID0gZGV2LT5sYWJlbDsKKwkJfQorCQlpZiAoZGV2LT51dWlkKSB7CisJCQljbWRbaWR4KytdID0gIi1VIjsKKwkJCWNtZFtpZHgrK10gPSBkZXYtPnV1aWQ7CisJCX0KKwkJY21kW2lkeCsrXSA9IGRldi0+cGF0aDsKKwkJY21kW2lkeCsrXSA9IE5VTEw7CisJCWV4ZWN2cChjbWRbMF0sIChjaGFyICogY29uc3QgKikgY21kKTsKKwkJZXJyZXhlYyhjbWRbMF0pOworCisJZGVmYXVsdDogLyogcGFyZW50ICovCisJCWRvIHsKKwkJCXJldCA9IHdhaXRwaWQocGlkLCAmc3RhdHVzLCAwKTsKKwkJfSB3aGlsZSAocmV0ID09IC0xICYmIGVycm5vID09IEVJTlRSKTsKKworCQlpZiAocmV0IDwgMCkgeworCQkJd2FybihfKCJ3YWl0cGlkIGZhaWxlZCIpKTsKKwkJCXJldHVybiAtMTsKKwkJfQorCisJCS8qIG1rc3dhcCByZXR1cm5zOiAwPXN1c3MsID4wIGVycm9yICovCisJCWlmIChXSUZFWElURUQoc3RhdHVzKSAmJiBXRVhJVFNUQVRVUyhzdGF0dXMpPT0wKQorCQkJcmV0dXJuIDA7IC8qIG9rICovCisJCWJyZWFrOworCX0KKwlyZXR1cm4gLTE7IC8qIGVycm9yICovCit9CisKKy8qIFJlcGxhY2VzIHVud2FudGVkIFNXU1VTUEVORCBzaWduYXR1cmUgd2l0aCBzd2FwIHNpZ25hdHVyZSAqLworc3RhdGljIGludCBzd2FwX3Jld3JpdGVfc2lnbmF0dXJlKGNvbnN0IHN0cnVjdCBzd2FwX2RldmljZSAqZGV2KQoreworCWludCBmZCwgcmMgPSAtMTsKKworCWFzc2VydChkZXYpOworCWFzc2VydChkZXYtPnBhdGgpOworCWFzc2VydChkZXYtPnBhZ2VzaXplKTsKKworCWZkID0gb3BlbihkZXYtPnBhdGgsIE9fV1JPTkxZKTsKKwlpZiAoZmQgPT0gLTEpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXYtPnBhdGgpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGxzZWVrKGZkLCBkZXYtPnBhZ2VzaXplIC0gU1dBUF9TSUdOQVRVUkVfU1osIFNFRUtfU0VUKSA8IDApIHsKKwkJd2FybihfKCIlczogbHNlZWsgZmFpbGVkIiksIGRldi0+cGF0aCk7CisJCWdvdG8gZXJyOworCX0KKworCWlmICh3cml0ZShmZCwgKHZvaWQgKikgU1dBUF9TSUdOQVRVUkUsCisJCQlTV0FQX1NJR05BVFVSRV9TWikgIT0gU1dBUF9TSUdOQVRVUkVfU1opIHsKKwkJd2FybihfKCIlczogd3JpdGUgc2lnbmF0dXJlIGZhaWxlZCIpLCBkZXYtPnBhdGgpOworCQlnb3RvIGVycjsKKwl9CisKKwlyYyAgPSAwOworZXJyOgorCWlmIChjbG9zZV9mZChmZCkgIT0gMCkgeworCQl3YXJuKF8oIndyaXRlIGZhaWxlZDogJXMiKSwgZGV2LT5wYXRoKTsKKwkJcmMgPSAtMTsKKwl9CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHN3YXBfZGV0ZWN0X3NpZ25hdHVyZShjb25zdCBjaGFyICpidWYsIGludCAqc2lnKQoreworCWFzc2VydChidWYpOworCWFzc2VydChzaWcpOworCisJaWYgKG1lbWNtcChidWYsIFNXQVBfU0lHTkFUVVJFLCBTV0FQX1NJR05BVFVSRV9TWikgPT0gMCkKKwkJKnNpZyA9IFNJR19TV0FQU1BBQ0U7CisKKwllbHNlIGlmIChtZW1jbXAoYnVmLCAiUzFTVVNQRU5EIiwgOSkgPT0gMCB8fAorCQkgbWVtY21wKGJ1ZiwgIlMyU1VTUEVORCIsIDkpID09IDAgfHwKKwkJIG1lbWNtcChidWYsICJVTFNVU1BFTkQiLCA5KSA9PSAwIHx8CisJCSBtZW1jbXAoYnVmLCAiXHhlZFx4YzNceDAyXHhlOVx4OThceDU2XHhlNVx4MGMiLCA4KSA9PSAwIHx8CisJCSBtZW1jbXAoYnVmLCAiTElOSElCMDAwMSIsIDEwKSA9PSAwKQorCQkqc2lnID0gU0lHX1NXU1VTUEVORDsKKwllbHNlCisJCXJldHVybiAwOworCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBjaGFyICpzd2FwX2dldF9oZWFkZXIoaW50IGZkLCBpbnQgKnNpZywgdW5zaWduZWQgaW50ICpwYWdlc2l6ZSkKK3sKKwljaGFyICpidWY7CisJc3NpemVfdCBkYXRhc3o7CisJdW5zaWduZWQgaW50IHBhZ2U7CisKKwlhc3NlcnQoc2lnKTsKKwlhc3NlcnQocGFnZXNpemUpOworCisJKnBhZ2VzaXplID0gMDsKKwkqc2lnID0gMDsKKworCWJ1ZiA9IHhtYWxsb2MoTUFYX1BBR0VTSVpFKTsKKworCWRhdGFzeiA9IHJlYWQoZmQsIGJ1ZiwgTUFYX1BBR0VTSVpFKTsKKwlpZiAoZGF0YXN6ID09IChzc2l6ZV90KSAtMSkKKwkJZ290byBlcnI7CisKKwlmb3IgKHBhZ2UgPSAweDEwMDA7IHBhZ2UgPD0gTUFYX1BBR0VTSVpFOyBwYWdlIDw8PSAxKSB7CisJCS8qIHNraXAgMzJrIHBhZ2VzaXplIHNpbmNlIHRoaXMgZG9lcyBub3Qgc2VlbSB0bworCQkgKiBiZSBzdXBwb3J0ZWQgKi8KKwkJaWYgKHBhZ2UgPT0gMHg4MDAwKQorCQkJY29udGludWU7CisJCS8qIHRoZSBzbWFsbGVzdCBzd2FwIGFyZWEgaXMgUEFHRV9TSVpFKjEwLCBpdCBtZWFucworCQkgKiA0MGssIHRoYXQncyBsZXNzIHRoYW4gTUFYX1BBR0VTSVpFICovCisJCWlmIChkYXRhc3ogPCAwIHx8IChzaXplX3QpIGRhdGFzeiA8IChwYWdlIC0gU1dBUF9TSUdOQVRVUkVfU1opKQorCQkJYnJlYWs7CisJCWlmIChzd2FwX2RldGVjdF9zaWduYXR1cmUoYnVmICsgcGFnZSAtIFNXQVBfU0lHTkFUVVJFX1NaLCBzaWcpKSB7CisJCQkqcGFnZXNpemUgPSBwYWdlOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwlpZiAoKnBhZ2VzaXplKQorCQlyZXR1cm4gYnVmOworZXJyOgorCWZyZWUoYnVmKTsKKwlyZXR1cm4gTlVMTDsKK30KKworLyogcmV0dXJucyByZWFsIHNpemUgb2Ygc3dhcCBzcGFjZSAqLworc3RhdGljIHVuc2lnbmVkIGxvbmcgbG9uZyBzd2FwX2dldF9zaXplKGNvbnN0IHN0cnVjdCBzd2FwX2RldmljZSAqZGV2LAorCQkJCQljb25zdCBjaGFyICpoZHIpCit7CisJdW5zaWduZWQgaW50IGxhc3RfcGFnZSA9IDA7CisJY29uc3QgdW5zaWduZWQgaW50IHN3YXBfdmVyc2lvbiA9IFNXQVBfVkVSU0lPTjsKKwlzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMiAqczsKKworCWFzc2VydChkZXYpOworCWFzc2VydChkZXYtPnBhZ2VzaXplID4gMCk7CisKKwlzID0gKHN0cnVjdCBzd2FwX2hlYWRlcl92MV8yICopIGhkcjsKKworCWlmIChzLT52ZXJzaW9uID09IHN3YXBfdmVyc2lvbikKKwkJbGFzdF9wYWdlID0gcy0+bGFzdF9wYWdlOworCWVsc2UgaWYgKHN3YWIzMihzLT52ZXJzaW9uKSA9PSBzd2FwX3ZlcnNpb24pCisJCWxhc3RfcGFnZSA9IHN3YWIzMihzLT5sYXN0X3BhZ2UpOworCisJcmV0dXJuICgodW5zaWduZWQgbG9uZyBsb25nKSBsYXN0X3BhZ2UgKyAxKSAqIGRldi0+cGFnZXNpemU7Cit9CisKK3N0YXRpYyB2b2lkIHN3YXBfZ2V0X2luZm8oc3RydWN0IHN3YXBfZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIgKmhkcikKK3sKKwlzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMiAqcyA9IChzdHJ1Y3Qgc3dhcF9oZWFkZXJfdjFfMiAqKSBoZHI7CisKKwlhc3NlcnQoZGV2KTsKKworCWlmIChzICYmICpzLT52b2x1bWVfbmFtZSkKKwkJZGV2LT5sYWJlbCA9IHhzdHJkdXAocy0+dm9sdW1lX25hbWUpOworCisJaWYgKHMgJiYgKnMtPnV1aWQpIHsKKwkJY29uc3QgdW5zaWduZWQgY2hhciAqdSA9IHMtPnV1aWQ7CisJCWNoYXIgc3RyW1VVSURfU1RSX0xFTl07CisKKwkJc25wcmludGYoc3RyLCBzaXplb2Yoc3RyKSwKKwkJCSIlMDJ4JTAyeCUwMnglMDJ4LSIKKwkJCSIlMDJ4JTAyeC0lMDJ4JTAyeC0iCisJCQkiJTAyeCUwMngtJTAyeCUwMnglMDJ4JTAyeCUwMnglMDJ4IiwKKwkJCXVbMF0sIHVbMV0sIHVbMl0sIHVbM10sCisJCQl1WzRdLCB1WzVdLCB1WzZdLCB1WzddLAorCQkJdVs4XSwgdVs5XSwgdVsxMF0sIHVbMTFdLCB1WzEyXSwgdVsxM10sIHVbMTRdLCB1WzE1XSk7CisJCWRldi0+dXVpZCA9IHhzdHJkdXAoc3RyKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgc3dhcG9uX2NoZWNrcyhjb25zdCBzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsLCBzdHJ1Y3Qgc3dhcF9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwlpbnQgZmQsIHNpZzsKKwljaGFyICpoZHIgPSBOVUxMOworCXVuc2lnbmVkIGxvbmcgbG9uZyBkZXZzaXplID0gMDsKKwlpbnQgcGVybU1hc2s7CisKKwlhc3NlcnQoY3RsKTsKKwlhc3NlcnQoZGV2KTsKKwlhc3NlcnQoZGV2LT5wYXRoKTsKKworCWZkID0gb3BlbihkZXYtPnBhdGgsIE9fUkRPTkxZKTsKKwlpZiAoZmQgPT0gLTEpIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBkZXYtPnBhdGgpOworCQlnb3RvIGVycjsKKwl9CisKKwlpZiAoZnN0YXQoZmQsICZzdCkgPCAwKSB7CisJCXdhcm4oXygic3RhdCBvZiAlcyBmYWlsZWQiKSwgZGV2LT5wYXRoKTsKKwkJZ290byBlcnI7CisJfQorCisJcGVybU1hc2sgPSBTX0lTQkxLKHN0LnN0X21vZGUpID8gMDcwMDcgOiAwNzA3NzsKKwlpZiAoKHN0LnN0X21vZGUgJiBwZXJtTWFzaykgIT0gMCkKKwkJd2FybngoXygiJXM6IGluc2VjdXJlIHBlcm1pc3Npb25zICUwNG8sICUwNG8gc3VnZ2VzdGVkLiIpLAorCQkJCWRldi0+cGF0aCwgc3Quc3RfbW9kZSAmIDA3Nzc3LAorCQkJCX5wZXJtTWFzayAmIDA2NjYpOworCisJaWYgKFNfSVNSRUcoc3Quc3RfbW9kZSkgJiYgc3Quc3RfdWlkICE9IDApCisJCXdhcm54KF8oIiVzOiBpbnNlY3VyZSBmaWxlIG93bmVyICVkLCAwIChyb290KSBzdWdnZXN0ZWQuIiksCisJCQkJZGV2LT5wYXRoLCBzdC5zdF91aWQpOworCisJLyogdGVzdCBmb3IgaG9sZXMgYnkgTEJUICovCisJaWYgKFNfSVNSRUcoc3Quc3RfbW9kZSkpIHsKKwkJaWYgKHN0LnN0X2Jsb2NrcyAqIDUxMiA8IHN0LnN0X3NpemUpIHsKKwkJCXdhcm54KF8oIiVzOiBza2lwcGluZyAtIGl0IGFwcGVhcnMgdG8gaGF2ZSBob2xlcy4iKSwKKwkJCQlkZXYtPnBhdGgpOworCQkJZ290byBlcnI7CisJCX0KKwkJZGV2c2l6ZSA9IHN0LnN0X3NpemU7CisJfQorCisJaWYgKFNfSVNCTEsoc3Quc3RfbW9kZSkgJiYgYmxrZGV2X2dldF9zaXplKGZkLCAmZGV2c2l6ZSkpIHsKKwkJd2FybngoXygiJXM6IGdldCBzaXplIGZhaWxlZCIpLCBkZXYtPnBhdGgpOworCQlnb3RvIGVycjsKKwl9CisKKwloZHIgPSBzd2FwX2dldF9oZWFkZXIoZmQsICZzaWcsICZkZXYtPnBhZ2VzaXplKTsKKwlpZiAoIWhkcikgeworCQl3YXJueChfKCIlczogcmVhZCBzd2FwIGhlYWRlciBmYWlsZWQiKSwgZGV2LT5wYXRoKTsKKwkJZ290byBlcnI7CisJfQorCisJaWYgKGN0bC0+dmVyYm9zZSkKKwkJd2FybngoXygiJXM6IGZvdW5kIHNpZ25hdHVyZSBbcGFnZXNpemU9JWQsIHNpZ25hdHVyZT0lc10iKSwKKwkJCWRldi0+cGF0aCwKKwkJCWRldi0+cGFnZXNpemUsCisJCQlzaWcgPT0gU0lHX1NXQVBTUEFDRSA/ICJzd2FwIiA6CisJCQlzaWcgPT0gU0lHX1NXU1VTUEVORCA/ICJzdXNwZW5kIiA6ICJ1bmtub3duIik7CisKKwlpZiAoc2lnID09IFNJR19TV0FQU1BBQ0UgJiYgZGV2LT5wYWdlc2l6ZSkgeworCQl1bnNpZ25lZCBsb25nIGxvbmcgc3dhcHNpemUgPSBzd2FwX2dldF9zaXplKGRldiwgaGRyKTsKKwkJaW50IHN5c3BnID0gZ2V0cGFnZXNpemUoKTsKKworCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJd2FybngoXygiJXM6IHBhZ2VzaXplPSVkLCBzd2Fwc2l6ZT0lbGx1LCBkZXZzaXplPSVsbHUiKSwKKwkJCQlkZXYtPnBhdGgsIGRldi0+cGFnZXNpemUsIHN3YXBzaXplLCBkZXZzaXplKTsKKworCQlpZiAoc3dhcHNpemUgPiBkZXZzaXplKSB7CisJCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJCXdhcm54KF8oIiVzOiBsYXN0X3BhZ2UgMHglMDhsbHggaXMgbGFyZ2VyIgorCQkJCQkiIHRoYW4gYWN0dWFsIHNpemUgb2Ygc3dhcHNwYWNlIiksCisJCQkJCWRldi0+cGF0aCwgc3dhcHNpemUpOworCisJCX0gZWxzZSBpZiAoc3lzcGcgPCAwIHx8ICh1bnNpZ25lZCBpbnQpIHN5c3BnICE9IGRldi0+cGFnZXNpemUpIHsKKwkJCWlmIChjdGwtPmZpeF9wYWdlX3NpemUpIHsKKwkJCQlpbnQgcmM7CisKKwkJCQlzd2FwX2dldF9pbmZvKGRldiwgaGRyKTsKKworCQkJCXdhcm54KF8oIiVzOiBzd2FwIGZvcm1hdCBwYWdlc2l6ZSBkb2VzIG5vdCBtYXRjaC4iKSwKKwkJCQkJZGV2LT5wYXRoKTsKKwkJCQlyYyA9IHN3YXBfcmVpbml0aWFsaXplKGRldik7CisJCQkJaWYgKHJjIDwgMCkKKwkJCQkJZ290byBlcnI7CisJCQl9IGVsc2UKKwkJCQl3YXJueChfKCIlczogc3dhcCBmb3JtYXQgcGFnZXNpemUgZG9lcyBub3QgbWF0Y2guICIKKwkJCQkJIihVc2UgLS1maXhwZ3N6IHRvIHJlaW5pdGlhbGl6ZSBpdC4pIiksCisJCQkJCWRldi0+cGF0aCk7CisJCX0KKwl9IGVsc2UgaWYgKHNpZyA9PSBTSUdfU1dTVVNQRU5EKSB7CisJCS8qIFdlIGhhdmUgdG8gcmVpbml0aWFsaXplIHN3YXAgd2l0aCBvbGQgKD11c2VsZXNzKSBzb2Z0d2FyZSBzdXNwZW5kCisJCSAqIGRhdGEuIFRoZSBwcm9ibGVtIGlzIHRoYXQgaWYgd2UgZG9uJ3QgZG8gaXQsIHRoZW4gd2UgZ2V0IGRhdGEKKwkJICogY29ycnVwdGlvbiB0aGUgbmV4dCB0aW1lIGFuIGF0dGVtcHQgYXQgdW5zdXNwZW5kaW5nIGlzIG1hZGUuCisJCSAqLworCQl3YXJueChfKCIlczogc29mdHdhcmUgc3VzcGVuZCBkYXRhIGRldGVjdGVkLiAiCisJCQkJIlJld3JpdGluZyB0aGUgc3dhcCBzaWduYXR1cmUuIiksCisJCQlkZXYtPnBhdGgpOworCQlpZiAoc3dhcF9yZXdyaXRlX3NpZ25hdHVyZShkZXYpIDwgMCkKKwkJCWdvdG8gZXJyOworCX0KKworCWZyZWUoaGRyKTsKKwljbG9zZShmZCk7CisJcmV0dXJuIDA7CitlcnI6CisJaWYgKGZkICE9IC0xKQorCQljbG9zZShmZCk7CisJZnJlZShoZHIpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBkb19zd2Fwb24oY29uc3Qgc3RydWN0IHN3YXBvbl9jdGwgKmN0bCwKKwkJICAgICBjb25zdCBzdHJ1Y3Qgc3dhcF9wcm9wICpwcm9wLAorCQkgICAgIGNvbnN0IGNoYXIgKnNwZWMsCisJCSAgICAgaW50IGNhbm9uaWMpCit7CisJc3RydWN0IHN3YXBfZGV2aWNlIGRldiA9IHsgLnBhdGggPSBOVUxMIH07CisJaW50IHN0YXR1czsKKwlpbnQgZmxhZ3MgPSAwOworCWludCBwcmlvcml0eTsKKworCWFzc2VydChjdGwpOworCWFzc2VydChwcm9wKTsKKworCWlmICghY2Fub25pYykgeworCQlkZXYucGF0aCA9IG1udF9yZXNvbHZlX3NwZWMoc3BlYywgbW50Y2FjaGUpOworCQlpZiAoIWRldi5wYXRoKQorCQkJcmV0dXJuIGNhbm5vdF9maW5kKHNwZWMpOworCX0gZWxzZQorCQlkZXYucGF0aCA9IHNwZWM7CisKKwlwcmlvcml0eSA9IHByb3AtPnByaW9yaXR5OworCisJaWYgKHN3YXBvbl9jaGVja3MoY3RsLCAmZGV2KSkKKwkJcmV0dXJuIC0xOworCisjaWZkZWYgU1dBUF9GTEFHX1BSRUZFUgorCWlmIChwcmlvcml0eSA+PSAwKSB7CisJCWlmIChwcmlvcml0eSA+IFNXQVBfRkxBR19QUklPX01BU0spCisJCQlwcmlvcml0eSA9IFNXQVBfRkxBR19QUklPX01BU0s7CisKKwkJZmxhZ3MgPSBTV0FQX0ZMQUdfUFJFRkVSCisJCQl8ICgocHJpb3JpdHkgJiBTV0FQX0ZMQUdfUFJJT19NQVNLKQorCQkJICAgPDwgU1dBUF9GTEFHX1BSSU9fU0hJRlQpOworCX0KKyNlbmRpZgorCS8qCisJICogVmFsaWRhdGUgdGhlIGRpc2NhcmQgZmxhZ3MgcGFzc2VkIGFuZCBzZXQgdGhlbQorCSAqIGFjY29yZGluZ2x5IGJlZm9yZSBjYWxsaW5nIHN5c19zd2Fwb24uCisJICovCisJaWYgKHByb3AtPmRpc2NhcmQgJiYgIShwcm9wLT5kaXNjYXJkICYgflNXQVBfRkxBR1NfRElTQ0FSRF9WQUxJRCkpIHsKKwkJLyoKKwkJICogSWYgd2UgZ2V0IGhlcmUgd2l0aCBib3RoIGRpc2NhcmQgcG9saWN5IGZsYWdzIHNldCwKKwkJICogd2UganVzdCBuZWVkIHRvIHRlbGwgdGhlIGtlcm5lbCB0byBlbmFibGUgZGlzY2FyZHMKKwkJICogYW5kIGl0IHdpbGwgZG8gY29ycmVjdGx5LCBqdXN0IGFzIHdlIGV4cGVjdC4KKwkJICovCisJCWlmICgocHJvcC0+ZGlzY2FyZCAmIFNXQVBfRkxBR19ESVNDQVJEX09OQ0UpICYmCisJCSAgICAocHJvcC0+ZGlzY2FyZCAmIFNXQVBfRkxBR19ESVNDQVJEX1BBR0VTKSkKKwkJCWZsYWdzIHw9IFNXQVBfRkxBR19ESVNDQVJEOworCQllbHNlCisJCQlmbGFncyB8PSBwcm9wLT5kaXNjYXJkOworCX0KKworCWlmIChjdGwtPnZlcmJvc2UpCisJCXByaW50ZihfKCJzd2Fwb24gJXNcbiIpLCBkZXYucGF0aCk7CisKKwlzdGF0dXMgPSBzd2Fwb24oZGV2LnBhdGgsIGZsYWdzKTsKKwlpZiAoc3RhdHVzIDwgMCkKKwkJd2FybihfKCIlczogc3dhcG9uIGZhaWxlZCIpLCBkZXYucGF0aCk7CisKKwlyZXR1cm4gc3RhdHVzOworfQorCitzdGF0aWMgaW50IHN3YXBvbl9ieV9sYWJlbChzdHJ1Y3Qgc3dhcG9uX2N0bCAqY3RsLCBjb25zdCBjaGFyICpsYWJlbCkKK3sKKwljaGFyICpkZXZpY2UgPSBtbnRfcmVzb2x2ZV90YWcoIkxBQkVMIiwgbGFiZWwsIG1udGNhY2hlKTsKKwlyZXR1cm4gZGV2aWNlID8gZG9fc3dhcG9uKGN0bCwgJmN0bC0+cHJvcHMsIGRldmljZSwgVFJVRSkgOiAgY2Fubm90X2ZpbmQobGFiZWwpOworfQorCitzdGF0aWMgaW50IHN3YXBvbl9ieV91dWlkKHN0cnVjdCBzd2Fwb25fY3RsICpjdGwsIGNvbnN0IGNoYXIgKnV1aWQpCit7CisJY2hhciAqZGV2aWNlID0gbW50X3Jlc29sdmVfdGFnKCJVVUlEIiwgdXVpZCwgbW50Y2FjaGUpOworCXJldHVybiBkZXZpY2UgPyBkb19zd2Fwb24oY3RsLCAmY3RsLT5wcm9wcywgZGV2aWNlLCBUUlVFKSA6IGNhbm5vdF9maW5kKHV1aWQpOworfQorCisvKiAtbyA8b3B0aW9ucz4gb3IgZnN0YWIgKi8KK3N0YXRpYyBpbnQgcGFyc2Vfb3B0aW9ucyhzdHJ1Y3Qgc3dhcF9wcm9wICpwcm9wcywgY29uc3QgY2hhciAqb3B0aW9ucykKK3sKKwljaGFyICphcmcgPSBOVUxMOworCXNpemVfdCBhcmdzeiA9IDA7CisKKwlhc3NlcnQocHJvcHMpOworCWFzc2VydChvcHRpb25zKTsKKworCWlmIChtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0aW9ucywgIm5vZmFpbCIsIE5VTEwsIE5VTEwpID09IDApCisJCXByb3BzLT5ub19mYWlsID0gMTsKKworCWlmIChtbnRfb3B0c3RyX2dldF9vcHRpb24ob3B0aW9ucywgImRpc2NhcmQiLCAmYXJnLCAmYXJnc3opID09IDApIHsKKwkJcHJvcHMtPmRpc2NhcmQgfD0gU1dBUF9GTEFHX0RJU0NBUkQ7CisKKwkJaWYgKGFyZykgeworCQkJLyogb25seSBzaW5nbGUtdGltZSBkaXNjYXJkcyBhcmUgd2FudGVkICovCisJCQlpZiAoc3RybmNtcChhcmcsICJvbmNlIiwgYXJnc3opID09IDApCisJCQkJcHJvcHMtPmRpc2NhcmQgfD0gU1dBUF9GTEFHX0RJU0NBUkRfT05DRTsKKworCQkJLyogZG8gZGlzY2FyZCBmb3IgZXZlcnkgcmVsZWFzZWQgc3dhcCBwYWdlICovCisJCQlpZiAoc3RybmNtcChhcmcsICJwYWdlcyIsIGFyZ3N6KSA9PSAwKQorCQkJCXByb3BzLT5kaXNjYXJkIHw9IFNXQVBfRkxBR19ESVNDQVJEX1BBR0VTOworCQl9CisJfQorCisJYXJnID0gTlVMTDsKKwlpZiAobW50X29wdHN0cl9nZXRfb3B0aW9uKG9wdGlvbnMsICJwcmkiLCAmYXJnLCBOVUxMKSA9PSAwICYmIGFyZykKKwkJcHJvcHMtPnByaW9yaXR5ID0gYXRvaShhcmcpOworCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBzd2Fwb25fYWxsKHN0cnVjdCBzd2Fwb25fY3RsICpjdGwpCit7CisJc3RydWN0IGxpYm1udF90YWJsZSAqdGIgPSBnZXRfZnN0YWIoKTsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgc3RhdHVzID0gMDsKKworCWlmICghdGIpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBwYXJzZSAlcyIpLCBtbnRfZ2V0X2ZzdGFiX3BhdGgoKSk7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHIpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIGxpYm1vdW50IGl0ZXJhdG9yIikpOworCisJd2hpbGUgKG1udF90YWJsZV9maW5kX25leHRfZnModGIsIGl0ciwgbWF0Y2hfc3dhcCwgTlVMTCwgJmZzKSA9PSAwKSB7CisJCS8qIGRlZmF1bHRzICovCisJCWNvbnN0IGNoYXIgKm9wdHM7CisJCWNvbnN0IGNoYXIgKmRldmljZTsKKwkJc3RydWN0IHN3YXBfcHJvcCBwcm9wOwkJLyogcGVyIGRldmljZSBzZXR0aW5nICovCisKKwkJaWYgKG1udF9mc19nZXRfb3B0aW9uKGZzLCAibm9hdXRvIiwgTlVMTCwgTlVMTCkgPT0gMCkgeworCQkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCQl3YXJueChfKCIlczogbm9hdXRvIG9wdGlvbiAtLSBpZ25vcmVkIiksIG1udF9mc19nZXRfc291cmNlKGZzKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCS8qIGRlZmF1bHQgc2V0dGluZyAqLworCQlwcm9wID0gY3RsLT5wcm9wczsKKworCQkvKiBvdmVyd3JpdGUgZGVmYXVsdCBieSBzZXR0aW5nIGZyb20gZnN0YWIgKi8KKwkJb3B0cyA9IG1udF9mc19nZXRfb3B0aW9ucyhmcyk7CisJCWlmIChvcHRzKQorCQkJcGFyc2Vfb3B0aW9ucygmcHJvcCwgb3B0cyk7CisKKwkJLyogY29udmVydCBMQUJFTD0sIFVVSUQ9IGV0Yy4gZnJvbSBmc3RhYiB0byBkZXZpY2UgbmFtZSAqLworCQlkZXZpY2UgPSBtbnRfcmVzb2x2ZV9zcGVjKG1udF9mc19nZXRfc291cmNlKGZzKSwgbW50Y2FjaGUpOworCQlpZiAoIWRldmljZSkgeworCQkJaWYgKCFwcm9wLm5vX2ZhaWwpCisJCQkJc3RhdHVzIHw9IGNhbm5vdF9maW5kKG1udF9mc19nZXRfc291cmNlKGZzKSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChpc19hY3RpdmVfc3dhcChkZXZpY2UpKSB7CisJCQlpZiAoY3RsLT52ZXJib3NlKQorCQkJCXdhcm54KF8oIiVzOiBhbHJlYWR5IGFjdGl2ZSAtLSBpZ25vcmVkIiksIGRldmljZSk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChwcm9wLm5vX2ZhaWwgJiYgYWNjZXNzKGRldmljZSwgUl9PSykgIT0gMCkgeworCQkJaWYgKGN0bC0+dmVyYm9zZSkKKwkJCQl3YXJueChfKCIlczogaW5hY2Nlc3NpYmxlIC0tIGlnbm9yZWQiKSwgZGV2aWNlKTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJLyogc3dhcG9uICovCisJCXN0YXR1cyB8PSBkb19zd2Fwb24oY3RsLCAmcHJvcCwgZGV2aWNlLCBUUlVFKTsKKwl9CisKKwltbnRfZnJlZV9pdGVyKGl0cik7CisJcmV0dXJuIHN0YXR1czsKK30KKworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygiICVzIFtvcHRpb25zXSBbPHNwZWM+XVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJFbmFibGUgZGV2aWNlcyBhbmQgZmlsZXMgZm9yIHBhZ2luZyBhbmQgc3dhcHBpbmcuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsbCAgICAgICAgICAgICAgICBlbmFibGUgYWxsIHN3YXBzIGZyb20gL2V0Yy9mc3RhYlxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRpc2NhcmRbPTxwb2xpY3k+XSBlbmFibGUgc3dhcCBkaXNjYXJkcywgaWYgc3VwcG9ydGVkIGJ5IGRldmljZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLWlmZXhpc3RzICAgICAgICAgICBzaWxlbnRseSBza2lwIGRldmljZXMgdGhhdCBkbyBub3QgZXhpc3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1maXhwZ3N6ICAgICAgICAgICAgcmVpbml0aWFsaXplIHRoZSBzd2FwIHNwYWNlIGlmIG5lY2Vzc2FyeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1vLCAtLW9wdGlvbnMgPGxpc3Q+ICAgICBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBzd2FwIG9wdGlvbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1wcmlvcml0eSA8cHJpbz4gICAgc3BlY2lmeSB0aGUgcHJpb3JpdHkgb2YgdGhlIHN3YXAgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc3VtbWFyeSAgICAgICAgICAgIGRpc3BsYXkgc3VtbWFyeSBhYm91dCB1c2VkIHN3YXAgZGV2aWNlcyAoREVQUkVDQVRFRClcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1zaG93Wz08Y29sdW1ucz5dICAgZGlzcGxheSBzdW1tYXJ5IGluIGRlZmluYWJsZSB0YWJsZVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW5vaGVhZGluZ3MgICAgICAgICBkb24ndCBwcmludCB0YWJsZSBoZWFkaW5nICh3aXRoIC0tc2hvdylcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1yYXcgICAgICAgICAgICAgICAgdXNlIHRoZSByYXcgb3V0cHV0IGZvcm1hdCAod2l0aCAtLXNob3cpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tYnl0ZXMgICAgICAgICAgICAgIGRpc3BsYXkgc3dhcCBzaXplIGluIGJ5dGVzIGluIC0tc2hvdyBvdXRwdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdiwgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI2KSk7CisKKwlmcHV0cyhfKCJcblRoZSA8c3BlYz4gcGFyYW1ldGVyOlxuIiBcCisJCSIgLUwgPGxhYmVsPiAgICAgICAgICAgICBzeW5vbnltIGZvciBMQUJFTD08bGFiZWw+XG4iCisJCSIgLVUgPHV1aWQ+ICAgICAgICAgICAgICBzeW5vbnltIGZvciBVVUlEPTx1dWlkPlxuIgorCQkiIExBQkVMPTxsYWJlbD4gICAgICAgICAgc3BlY2lmaWVzIGRldmljZSBieSBzd2FwIGFyZWEgbGFiZWxcbiIKKwkJIiBVVUlEPTx1dWlkPiAgICAgICAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgc3dhcCBhcmVhIFVVSURcbiIKKwkJIiBQQVJUTEFCRUw9PGxhYmVsPiAgICAgIHNwZWNpZmllcyBkZXZpY2UgYnkgcGFydGl0aW9uIGxhYmVsXG4iCisJCSIgUEFSVFVVSUQ9PHV1aWQ+ICAgICAgICBzcGVjaWZpZXMgZGV2aWNlIGJ5IHBhcnRpdGlvbiBVVUlEXG4iCisJCSIgPGRldmljZT4gICAgICAgICAgICAgICBuYW1lIG9mIGRldmljZSB0byBiZSB1c2VkXG4iCisJCSIgPGZpbGU+ICAgICAgICAgICAgICAgICBuYW1lIG9mIGZpbGUgdG8gYmUgdXNlZFxuIiksIG91dCk7CisKKwlmcHV0cyhfKCJcbkF2YWlsYWJsZSBkaXNjYXJkIHBvbGljeSB0eXBlcyAoZm9yIC0tZGlzY2FyZCk6XG4iCisJCSIgb25jZSAgICA6IG9ubHkgc2luZ2xlLXRpbWUgYXJlYSBkaXNjYXJkcyBhcmUgaXNzdWVkXG4iCisJCSIgcGFnZXMgICA6IGZyZWVkIHBhZ2VzIGFyZSBkaXNjYXJkZWQgYmVmb3JlIHRoZXkgYXJlIHJldXNlZFxuIgorCQkiSWYgbm8gcG9saWN5IGlzIHNlbGVjdGVkLCBib3RoIGRpc2NhcmQgdHlwZXMgYXJlIGVuYWJsZWQgKGRlZmF1bHQpLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9DT0xVTU5TLCBvdXQpOworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKQorCQlmcHJpbnRmKG91dCwgIiAlLTVzICAlc1xuIiwgaW5mb3NbaV0ubmFtZSwgXyhpbmZvc1tpXS5oZWxwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInN3YXBvbig4KSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJaW50IHN0YXR1cyA9IDAsIGM7CisJc2l6ZV90IGk7CisJY2hhciAqb3B0aW9ucyA9IE5VTEw7CisKKwllbnVtIHsKKwkJQllURVNfT1BUSU9OID0gQ0hBUl9NQVggKyAxLAorCQlOT0hFQURJTkdTX09QVElPTiwKKwkJUkFXX09QVElPTiwKKwkJU0hPV19PUFRJT04sCisJCU9QVF9MSVNUX1RZUEVTCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0c1tdID0geworCQl7ICJwcmlvcml0eSIsICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdwJyAgICAgICAgICAgICAgIH0sCisJCXsgImRpc2NhcmQiLCAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ2QnICAgICAgICAgICAgICAgfSwKKwkJeyAiaWZleGlzdHMiLCAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZScgICAgICAgICAgICAgICB9LAorCQl7ICJvcHRpb25zIiwgICAgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsICdvJyAgICAgICAgICAgICAgIH0sCisJCXsgInN1bW1hcnkiLCAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ3MnICAgICAgICAgICAgICAgfSwKKwkJeyAiZml4cGdzeiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZicgICAgICAgICAgICAgICB9LAorCQl7ICJhbGwiLCAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdhJyAgICAgICAgICAgICAgIH0sCisJCXsgImhlbHAiLCAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2gnICAgICAgICAgICAgICAgfSwKKwkJeyAidmVyYm9zZSIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndicgICAgICAgICAgICAgICB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyAgICAgICAgICAgICAgIH0sCisJCXsgInNob3ciLCAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgU0hPV19PUFRJT04gICAgICAgfSwKKwkJeyAib3V0cHV0LWFsbCIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBPUFRfTElTVF9UWVBFUyAgICB9LAorCQl7ICJub2hlYWRpbmdzIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsIE5PSEVBRElOR1NfT1BUSU9OIH0sCisJCXsgInJhdyIsICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgUkFXX09QVElPTiAgICAgICAgfSwKKwkJeyAiYnl0ZXMiLCAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCBCWVRFU19PUFRJT04gICAgICB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdhJywnbycsJ3MnLCBTSE9XX09QVElPTiB9LAorCQl7ICdhJywnbycsIEJZVEVTX09QVElPTiB9LAorCQl7ICdhJywnbycsIE5PSEVBRElOR1NfT1BUSU9OIH0sCisJCXsgJ2EnLCdvJywgUkFXX09QVElPTiB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc3RydWN0IHN3YXBvbl9jdGwgY3RsOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCW1lbXNldCgmY3RsLCAwLCBzaXplb2Yoc3RydWN0IHN3YXBvbl9jdGwpKTsKKwljdGwucHJvcHMucHJpb3JpdHkgPSAtMTsKKworCW1udF9pbml0X2RlYnVnKDApOworCW1udGNhY2hlID0gbW50X25ld19jYWNoZSgpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFoZDo6ZWZvOnA6c3ZWTDpVOiIsCisJCQkJbG9uZ19vcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ19vcHRzLCBleGNsLCBleGNsX3N0KTsKKworCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnYSc6CQkvKiBhbGwgKi8KKwkJCWN0bC5hbGwgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgkJLyogaGVscCAqLworCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW9wdGlvbnMgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CQkvKiBwcmlvcml0eSAqLworCQkJY3RsLnByb3BzLnByaW9yaXR5ID0gc3RydG9zMTZfb3JfZXJyKG9wdGFyZywKKwkJCQkJICAgXygiZmFpbGVkIHRvIHBhcnNlIHByaW9yaXR5IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJYWRkX2xhYmVsKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CisJCQlhZGRfdXVpZChvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJY3RsLnByb3BzLmRpc2NhcmQgfD0gU1dBUF9GTEFHX0RJU0NBUkQ7CisJCQlpZiAob3B0YXJnKSB7CisJCQkJaWYgKCpvcHRhcmcgPT0gJz0nKQorCQkJCQlvcHRhcmcrKzsKKworCQkJCWlmIChzdHJjbXAob3B0YXJnLCAib25jZSIpID09IDApCisJCQkJCWN0bC5wcm9wcy5kaXNjYXJkIHw9IFNXQVBfRkxBR19ESVNDQVJEX09OQ0U7CisJCQkJZWxzZSBpZiAoc3RyY21wKG9wdGFyZywgInBhZ2VzIikgPT0gMCkKKwkJCQkJY3RsLnByb3BzLmRpc2NhcmQgfD0gU1dBUF9GTEFHX0RJU0NBUkRfUEFHRVM7CisJCQkJZWxzZQorCQkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5zdXBwb3J0ZWQgZGlzY2FyZCBwb2xpY3k6ICVzIiksIG9wdGFyZyk7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSAnZSc6ICAgICAgICAgICAgICAgLyogaWZleGlzdHMgKi8KKwkJCWN0bC5wcm9wcy5ub19mYWlsID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWN0bC5maXhfcGFnZV9zaXplID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdzJzoJCS8qIHN0YXR1cyByZXBvcnQgKi8KKwkJCXN0YXR1cyA9IGRpc3BsYXlfc3VtbWFyeSgpOworCQkJcmV0dXJuIHN0YXR1czsKKwkJY2FzZSAndic6CQkvKiBiZSBjaGF0dHkgKi8KKwkJCWN0bC52ZXJib3NlID0gMTsKKwkJCWJyZWFrOworCQljYXNlIFNIT1dfT1BUSU9OOgorCQkJaWYgKG9wdGFyZykgeworCQkJCWN0bC5uY29sdW1ucyA9IHN0cmluZ190b19pZGFycmF5KG9wdGFyZywKKwkJCQkJCQkgICAgIGN0bC5jb2x1bW5zLAorCQkJCQkJCSAgICAgQVJSQVlfU0laRShjdGwuY29sdW1ucyksCisJCQkJCQkJICAgICBjb2x1bW5fbmFtZV90b19pZCk7CisJCQkJaWYgKGN0bC5uY29sdW1ucyA8IDApCisJCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQl9CisJCQljdGwuc2hvdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTElTVF9UWVBFUzoKKwkJCWZvciAoY3RsLm5jb2x1bW5zID0gMDsgKHNpemVfdCljdGwubmNvbHVtbnMgPCBBUlJBWV9TSVpFKGluZm9zKTsgY3RsLm5jb2x1bW5zKyspCisJCQkJY3RsLmNvbHVtbnNbY3RsLm5jb2x1bW5zXSA9IGN0bC5uY29sdW1uczsKKwkJCWJyZWFrOworCQljYXNlIE5PSEVBRElOR1NfT1BUSU9OOgorCQkJY3RsLm5vX2hlYWRpbmcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgUkFXX09QVElPTjoKKwkJCWN0bC5yYXcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgQllURVNfT1BUSU9OOgorCQkJY3RsLmJ5dGVzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoJCS8qIHZlcnNpb24gKi8KKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAwOgorCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9CisJYXJndiArPSBvcHRpbmQ7CisKKwlpZiAoY3RsLnNob3cgfHwgKCFjdGwuYWxsICYmICFudW1vZl9sYWJlbHMoKSAmJiAhbnVtb2ZfdXVpZHMoKSAmJiAqYXJndiA9PSBOVUxMKSkgeworCQlpZiAoIWN0bC5uY29sdW1ucykgeworCQkJLyogZGVmYXVsdCBjb2x1bW5zICovCisJCQljdGwuY29sdW1uc1tjdGwubmNvbHVtbnMrK10gPSBDT0xfUEFUSDsKKwkJCWN0bC5jb2x1bW5zW2N0bC5uY29sdW1ucysrXSA9IENPTF9UWVBFOworCQkJY3RsLmNvbHVtbnNbY3RsLm5jb2x1bW5zKytdID0gQ09MX1NJWkU7CisJCQljdGwuY29sdW1uc1tjdGwubmNvbHVtbnMrK10gPSBDT0xfVVNFRDsKKwkJCWN0bC5jb2x1bW5zW2N0bC5uY29sdW1ucysrXSA9IENPTF9QUklPOworCQl9CisJCXN0YXR1cyA9IHNob3dfdGFibGUoJmN0bCk7CisJCXJldHVybiBzdGF0dXM7CisJfQorCisJaWYgKGN0bC5wcm9wcy5ub19mYWlsICYmICFjdGwuYWxsKSB7CisJCXdhcm54KF8oImJhZCB1c2FnZSIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKworCWlmIChjdGwuYWxsKQorCQlzdGF0dXMgfD0gc3dhcG9uX2FsbCgmY3RsKTsKKworCWlmIChvcHRpb25zKQorCQlwYXJzZV9vcHRpb25zKCZjdGwucHJvcHMsIG9wdGlvbnMpOworCisJZm9yIChpID0gMDsgaSA8IG51bW9mX2xhYmVscygpOyBpKyspCisJCXN0YXR1cyB8PSBzd2Fwb25fYnlfbGFiZWwoJmN0bCwgZ2V0X2xhYmVsKGkpKTsKKworCWZvciAoaSA9IDA7IGkgPCBudW1vZl91dWlkcygpOyBpKyspCisJCXN0YXR1cyB8PSBzd2Fwb25fYnlfdXVpZCgmY3RsLCBnZXRfdXVpZChpKSk7CisKKwl3aGlsZSAoKmFyZ3YgIT0gTlVMTCkKKwkJc3RhdHVzIHw9IGRvX3N3YXBvbigmY3RsLCAmY3RsLnByb3BzLCAqYXJndisrLCBGQUxTRSk7CisKKwlmcmVlX3RhYmxlcygpOworCW1udF91bnJlZl9jYWNoZShtbnRjYWNoZSk7CisKKwlyZXR1cm4gc3RhdHVzOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3N3aXRjaF9yb290LjggYi9zeXMtdXRpbHMvc3dpdGNoX3Jvb3QuOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTE2MmIzCi0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3N3aXRjaF9yb290LjgKQEAgLTAsMCArMSw2MSBAQAorLlwiIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlRIIFNXSVRDSF9ST09UIDggIkp1bmUgMjAwOSIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorc3dpdGNoX3Jvb3QgXC0gc3dpdGNoIHRvIGFub3RoZXIgZmlsZXN5c3RlbSBhcyB0aGUgcm9vdCBvZiB0aGUgbW91bnQgdHJlZQorLlNIIFNZTk9QU0lTCisuQiBzd2l0Y2hfcm9vdAorLlJCIFsgXC1oViBdCisuTFAKKy5CIHN3aXRjaF9yb290CisuSSBuZXdyb290CisuSSBpbml0CisuUkkgWyBhcmcgLi4uXQorLlNIIERFU0NSSVBUSU9OCisuQiBzd2l0Y2hfcm9vdAorbW92ZXMgYWxyZWFkeSBtb3VudGVkIC9wcm9jLCAvZGV2LCAvc3lzIGFuZCAvcnVuIHRvCisuSSBuZXdyb290CithbmQgbWFrZXMKKy5JIG5ld3Jvb3QKK3RoZSBuZXcgcm9vdCBmaWxlc3lzdGVtIGFuZCBzdGFydHMKKy5JIGluaXQKK3Byb2Nlc3MuCisKKy5CIFdBUk5JTkc6IHN3aXRjaF9yb290IHJlbW92ZXMgcmVjdXJzaXZlbHkgYWxsIGZpbGVzIGFuZCBkaXJlY3RvcmllcyBvbiB0aGUgY3VycmVudCByb290IGZpbGVzeXN0ZW0uCisKKy5TSCBPUFRJT05TCisuSVAgIlxmQlwtaCwgXC1cLWhlbHBcZlAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5JUCAiXGZCXC1WLCBcLVwtdmVyc2lvblxmUCIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKworLlNIIFJFVFVSTiBWQUxVRQorLkIgc3dpdGNoX3Jvb3QKK3JldHVybnMgMCBvbiBzdWNjZXNzIGFuZCAxIG9uIGZhaWx1cmUuCisKKy5TSCBOT1RFUworc3dpdGNoX3Jvb3Qgd2lsbCBmYWlsIHRvIGZ1bmN0aW9uIGlmCisuQiBuZXdyb290CitpcyBub3QgdGhlIHJvb3Qgb2YgYSBtb3VudC4gSWYgeW91IHdhbnQgdG8gc3dpdGNoIHJvb3QgaW50byBhIGRpcmVjdG9yeSB0aGF0Citkb2VzIG5vdCBtZWV0IHRoaXMgcmVxdWlyZW1lbnQgdGhlbiB5b3UgY2FuIGZpcnN0IHVzZSBhIGJpbmQtbW91bnRpbmcgdHJpY2sgdG8KK3R1cm4gYW55IGRpcmVjdG9yeSBpbnRvIGEgbW91bnQgcG9pbnQ6Cisuc3AKKy5uZgorLlJTCittb3VudCAtLWJpbmQgJERJUiAkRElSCisuUkUKKy5maQorCisuU0ggIlNFRSBBTFNPIgorLkJSIGNocm9vdCAoMiksCisuQlIgaW5pdCAoOCksCisuQlIgbWtpbml0cmQgKDgpLAorLkJSIG1vdW50ICg4KQorLlNIIEFVVEhPUlMKKy5uZgorUGV0ZXIgSm9uZXMgPHBqb25lc0ByZWRoYXQuY29tPgorSmVyZW15IEthdHogPGthdHpqQHJlZGhhdC5jb20+CitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5maQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHN3aXRjaF9yb290IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYyBiL3N5cy11dGlscy9zd2l0Y2hfcm9vdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjNjZkMDEKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvc3dpdGNoX3Jvb3QuYwpAQCAtMCwwICsxLDI2MyBAQAorLyoKKyAqIHN3aXRjaHJvb3QuYyAtIHN3aXRjaCB0byBuZXcgcm9vdCBkaXJlY3RvcnkgYW5kIHN0YXJ0IGluaXQuCisgKgorICogQ29weXJpZ2h0IDIwMDItMjAwOSBSZWQgSGF0LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisgKiBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyAqIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisgKgorICogQXV0aG9yczoKKyAqCVBldGVyIEpvbmVzIDxwam9uZXNAcmVkaGF0LmNvbT4KKyAqCUplcmVteSBLYXR6IDxrYXR6akByZWRoYXQuY29tPgorICovCisjaW5jbHVkZSA8c3lzL21vdW50Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdGZzLmg+CisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInN0YXRmc19tYWdpYy5oIgorCisjaWZuZGVmIE1TX01PVkUKKyNkZWZpbmUgTVNfTU9WRSA4MTkyCisjZW5kaWYKKworI2lmbmRlZiBNTlRfREVUQUNICisjZGVmaW5lIE1OVF9ERVRBQ0ggICAgICAgMHgwMDAwMDAwMgkvKiBKdXN0IGRldGFjaCBmcm9tIHRoZSB0cmVlICovCisjZW5kaWYKKworLyogcmVtb3ZlIGFsbCBmaWxlcy9kaXJlY3RvcmllcyBiZWxvdyBkaXJOYW1lIC0tIGRvbid0IGNyb3NzIG1vdW50cG9pbnRzICovCitzdGF0aWMgaW50IHJlY3Vyc2l2ZVJlbW92ZShpbnQgZmQpCit7CisJc3RydWN0IHN0YXQgcmI7CisJRElSICpkaXI7CisJaW50IHJjID0gLTE7CisJaW50IGRmZDsKKworCWlmICghKGRpciA9IGZkb3BlbmRpcihmZCkpKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIG9wZW4gZGlyZWN0b3J5IikpOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogZmRvcGVuZGlyKCkgcHJlY2x1ZGVzIHVzIGZyb20gY29udGludWluZyB0byB1c2UgdGhlIGlucHV0IGZkICovCisJZGZkID0gZGlyZmQoZGlyKTsKKworCWlmIChmc3RhdChkZmQsICZyYikpIHsKKwkJd2FybihfKCJzdGF0IGZhaWxlZCIpKTsKKwkJZ290byBkb25lOworCX0KKworCXdoaWxlKDEpIHsKKwkJc3RydWN0IGRpcmVudCAqZDsKKwkJaW50IGlzZGlyID0gMDsKKworCQllcnJubyA9IDA7CisJCWlmICghKGQgPSByZWFkZGlyKGRpcikpKSB7CisJCQlpZiAoZXJybm8pIHsKKwkJCQl3YXJuKF8oImZhaWxlZCB0byByZWFkIGRpcmVjdG9yeSIpKTsKKwkJCQlnb3RvIGRvbmU7CisJCQl9CisJCQlicmVhazsJLyogZW5kIG9mIGRpcmVjdG9yeSAqLworCQl9CisKKwkJaWYgKCFzdHJjbXAoZC0+ZF9uYW1lLCAiLiIpIHx8ICFzdHJjbXAoZC0+ZF9uYW1lLCAiLi4iKSkKKwkJCWNvbnRpbnVlOworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwkJaWYgKGQtPmRfdHlwZSA9PSBEVF9ESVIgfHwgZC0+ZF90eXBlID09IERUX1VOS05PV04pCisjZW5kaWYKKwkJeworCQkJc3RydWN0IHN0YXQgc2I7CisKKwkJCWlmIChmc3RhdGF0KGRmZCwgZC0+ZF9uYW1lLCAmc2IsIEFUX1NZTUxJTktfTk9GT0xMT1cpKSB7CisJCQkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBkLT5kX25hbWUpOworCQkJCWNvbnRpbnVlOworCQkJfQorCisJCQkvKiBza2lwIGlmIGRldmljZSBpcyBub3QgdGhlIHNhbWUgKi8KKwkJCWlmIChzYi5zdF9kZXYgIT0gcmIuc3RfZGV2KQorCQkJCWNvbnRpbnVlOworCisJCQkvKiByZW1vdmUgc3ViZGlyZWN0b3JpZXMgKi8KKwkJCWlmIChTX0lTRElSKHNiLnN0X21vZGUpKSB7CisJCQkJaW50IGNmZDsKKworCQkJCWNmZCA9IG9wZW5hdChkZmQsIGQtPmRfbmFtZSwgT19SRE9OTFkpOworCQkJCWlmIChjZmQgPj0gMCkgeworCQkJCQlyZWN1cnNpdmVSZW1vdmUoY2ZkKTsKKwkJCQkJY2xvc2UoY2ZkKTsKKwkJCQl9CisJCQkJaXNkaXIgPSAxOworCQkJfQorCQl9CisKKwkJaWYgKHVubGlua2F0KGRmZCwgZC0+ZF9uYW1lLCBpc2RpciA/IEFUX1JFTU9WRURJUiA6IDApKQorCQkJd2FybihfKCJmYWlsZWQgdG8gdW5saW5rICVzIiksIGQtPmRfbmFtZSk7CisJfQorCisJcmMgPSAwOwkvKiBzdWNjZXNzICovCisKK2RvbmU6CisJaWYgKGRpcikKKwkJY2xvc2VkaXIoZGlyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgc3dpdGNocm9vdChjb25zdCBjaGFyICpuZXdyb290KQoreworCS8qICBEb24ndCB0cnkgdG8gdW5tb3VudCB0aGUgb2xkICIvIiwgdGhlcmUncyBubyB3YXkgdG8gZG8gaXQuICovCisJY29uc3QgY2hhciAqdW1vdW50c1tdID0geyAiL2RldiIsICIvcHJvYyIsICIvc3lzIiwgIi9ydW4iLCBOVUxMIH07CisJaW50IGk7CisJaW50IGNmZDsKKwlwaWRfdCBwaWQ7CisJc3RydWN0IHN0YXQgbmV3cm9vdF9zdGF0LCBzYjsKKworCWlmIChzdGF0KG5ld3Jvb3QsICZuZXdyb290X3N0YXQpICE9IDApIHsKKwkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBuZXdyb290KTsKKwkJcmV0dXJuIC0xOworCX0KKworCWZvciAoaSA9IDA7IHVtb3VudHNbaV0gIT0gTlVMTDsgaSsrKSB7CisJCWNoYXIgbmV3bW91bnRbUEFUSF9NQVhdOworCisJCXNucHJpbnRmKG5ld21vdW50LCBzaXplb2YobmV3bW91bnQpLCAiJXMlcyIsIG5ld3Jvb3QsIHVtb3VudHNbaV0pOworCisJCWlmICgoc3RhdChuZXdtb3VudCwgJnNiKSAhPSAwKSB8fCAoc2Iuc3RfZGV2ICE9IG5ld3Jvb3Rfc3RhdC5zdF9kZXYpKSB7CisJCQkvKiBtb3VudCBwb2ludCBzZWVtcyB0byBiZSBtb3VudGVkIGFscmVhZHkgb3Igc3RhdCBmYWlsZWQgKi8KKwkJCXVtb3VudDIodW1vdW50c1tpXSwgTU5UX0RFVEFDSCk7CisJCQljb250aW51ZTsKKwkJfQorCisJCWlmIChtb3VudCh1bW91bnRzW2ldLCBuZXdtb3VudCwgTlVMTCwgTVNfTU9WRSwgTlVMTCkgPCAwKSB7CisJCQl3YXJuKF8oImZhaWxlZCB0byBtb3VudCBtb3ZpbmcgJXMgdG8gJXMiKSwKKwkJCQl1bW91bnRzW2ldLCBuZXdtb3VudCk7CisJCQl3YXJueChfKCJmb3JjaW5nIHVubW91bnQgb2YgJXMiKSwgdW1vdW50c1tpXSk7CisJCQl1bW91bnQyKHVtb3VudHNbaV0sIE1OVF9GT1JDRSk7CisJCX0KKwl9CisKKwlpZiAoY2hkaXIobmV3cm9vdCkpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gY2hhbmdlIGRpcmVjdG9yeSB0byAlcyIpLCBuZXdyb290KTsKKwkJcmV0dXJuIC0xOworCX0KKworCWNmZCA9IG9wZW4oIi8iLCBPX1JET05MWSk7CisJaWYgKGNmZCA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCAiLyIpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKG1vdW50KG5ld3Jvb3QsICIvIiwgTlVMTCwgTVNfTU9WRSwgTlVMTCkgPCAwKSB7CisJCWNsb3NlKGNmZCk7CisJCXdhcm4oXygiZmFpbGVkIHRvIG1vdW50IG1vdmluZyAlcyB0byAvIiksIG5ld3Jvb3QpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGNocm9vdCgiLiIpKSB7CisJCWNsb3NlKGNmZCk7CisJCXdhcm4oXygiZmFpbGVkIHRvIGNoYW5nZSByb290IikpOworCQlyZXR1cm4gLTE7CisJfQorCisJcGlkID0gZm9yaygpOworCWlmIChwaWQgPD0gMCkgeworCQlzdHJ1Y3Qgc3RhdGZzIHN0ZnM7CisKKwkJaWYgKGZzdGF0ZnMoY2ZkLCAmc3RmcykgPT0gMCAmJgorCQkgICAgKEZfVFlQRV9FUVVBTChzdGZzLmZfdHlwZSwgU1RBVEZTX1JBTUZTX01BR0lDKSB8fAorCQkgICAgIEZfVFlQRV9FUVVBTChzdGZzLmZfdHlwZSwgU1RBVEZTX1RNUEZTX01BR0lDKSkpCisJCQlyZWN1cnNpdmVSZW1vdmUoY2ZkKTsKKwkJZWxzZQorCQkJd2FybihfKCJvbGQgcm9vdCBmaWxlc3lzdGVtIGlzIG5vdCBhbiBpbml0cmFtZnMiKSk7CisJCWlmIChwaWQgPT0gMCkKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwl9CisKKwljbG9zZShjZmQpOworCXJldHVybiAwOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dHB1dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dHB1dCk7CisJZnByaW50ZihvdXRwdXQsIF8oIiAlcyBbb3B0aW9uc10gPG5ld3Jvb3RkaXI+IDxpbml0PiA8YXJncyB0byBpbml0PlxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0cHV0KTsKKwlmcHV0cyhfKCJTd2l0Y2ggdG8gYW5vdGhlciBmaWxlc3lzdGVtIGFzIHRoZSByb290IG9mIHRoZSBtb3VudCB0cmVlLlxuIiksIG91dHB1dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXRwdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInN3aXRjaF9yb290KDgpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCWNoYXIgKm5ld3Jvb3QsICppbml0LCAqKmluaXRhcmdzOworCWludCBjOworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwlpZiAoYXJnYyA8IDMpIHsKKwkJd2FybngoXygibm90IGVub3VnaCBhcmd1bWVudHMiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwluZXdyb290ID0gYXJndlsxXTsKKwlpbml0ID0gYXJndlsyXTsKKwlpbml0YXJncyA9ICZhcmd2WzJdOworCisJaWYgKCEqbmV3cm9vdCB8fCAhKmluaXQpIHsKKwkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJaWYgKHN3aXRjaHJvb3QobmV3cm9vdCkpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQuIFNvcnJ5LiIpKTsKKworCWlmIChhY2Nlc3MoaW5pdCwgWF9PSykpCisJCXdhcm4oXygiY2Fubm90IGFjY2VzcyAlcyIpLCBpbml0KTsKKworCWV4ZWN2KGluaXQsIGluaXRhcmdzKTsKKwllcnJleGVjKGluaXQpOworfQorCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvdHVuZWxwLjggYi9zeXMtdXRpbHMvdHVuZWxwLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBkYjgzNAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy90dW5lbHAuOApAQCAtMCwwICsxLDEyMiBAQAorLlwiIENvcHlyaWdodCAoQykgMTk5Mi0xOTk3IE1pY2hhZWwgSy4gSm9obnNvbiA8am9obnNvbm1AcmVkaGF0LmNvbT4KKy5cIiBDb3B5cmlnaHQgKEMpIDE5OTggICAgICBBbmRyZWEgQXJjYW5nZWxpICAgPGFuZHJlYUBlLW1pbmQuY29tPgorLlwiIEl0IG1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlLAorLlwiIHZlcnNpb24gMiwgb3IgYW55IGhpZ2hlciB2ZXJzaW9uLiAgU2VlIHNlY3Rpb24gQ09QWUlORyBvZiB0aGUgR05VIEdlbmVyYWwKKy5cIiBQdWJsaWMgbGljZW5zZSBmb3IgY29uZGl0aW9ucyB1bmRlciB3aGljaCB0aGlzIGZpbGUgbWF5IGJlIHJlZGlzdHJpYnV0ZWQuCisuXCIKKy5USCBUVU5FTFAgOCAiT2N0b2JlciAyMDExIiAidXRpbC1saW51eCIgIlN5c3RlbSBBZG1pbmlzdHJhdGlvbiIKKy5TSCBOQU1FCit0dW5lbHAgXC0gc2V0IHZhcmlvdXMgcGFyYW1ldGVycyBmb3IgdGhlIGxwIGRldmljZQorLlNIIFNZTk9QU0lTCisuQiB0dW5lbHAKK1tvcHRpb25zXQorLkkgZGV2aWNlCisuU0ggREVTQ1JJUFRJT04KK1xmQnR1bmVscFxmUCBzZXRzIHNldmVyYWwgcGFyYW1ldGVycyBmb3IgdGhlIC9kZXYvbHBcZkk/XGZQIGRldmljZXMsIGZvcgorYmV0dGVyIHBlcmZvcm1hbmNlIChvciBmb3IgYW55IHBlcmZvcm1hbmNlIGF0IGFsbCwgaWYgeW91ciBwcmludGVyIHdvbid0IHdvcmsKK3dpdGhvdXQgaXQuLi4pIFdpdGhvdXQgcGFyYW1ldGVycywgaXQgdGVsbHMgd2hldGhlciB0aGUgZGV2aWNlIGlzIHVzaW5nCitpbnRlcnJ1cHRzLCBhbmQgaWYgc28sIHdoaWNoIG9uZS4gIFdpdGggcGFyYW1ldGVycywgaXQgc2V0cyB0aGUgZGV2aWNlCitjaGFyYWN0ZXJpc3RpY3MgYWNjb3JkaW5nbHkuCisuU0ggT1BUSU9OUworLlRQCitcZkJcLWlcZlIsIFxmQlwtXC1pcnFcZlIgXGZJYXJndW1lbnRcZlIKK3NwZWNpZmllcyB0aGUgSVJRIHRvIHVzZSBmb3IgdGhlIHBhcmFsbGVsIHBvcnQgaW4gcXVlc3Rpb24uICBJZiB0aGlzIGlzIHNldAordG8gc29tZXRoaW5nIG5vbi16ZXJvLCBcLXQgYW5kIFwtYyBoYXZlIG5vIGVmZmVjdC4gIElmIHlvdXIgcG9ydCBkb2VzIG5vdCB1c2UKK2ludGVycnVwdHMsIHRoaXMgb3B0aW9uIHdpbGwgbWFrZSBwcmludGluZyBzdG9wLiAgVGhlIGNvbW1hbmQKKy5CIHR1bmVscCAtaSAwCityZXN0b3JlcyBub24taW50ZXJydXB0IGRyaXZlbiAocG9sbGluZykgYWN0aW9uLCBhbmQgeW91ciBwcmludGVyIHNob3VsZCB3b3JrCithZ2Fpbi4gIElmIHlvdXIgcGFyYWxsZWwgcG9ydCBkb2VzIHN1cHBvcnQgaW50ZXJydXB0cywgaW50ZXJydXB0LWRyaXZlbgorcHJpbnRpbmcgc2hvdWxkIGJlIHNvbWV3aGF0IGZhc3RlciBhbmQgZWZmaWNpZW50LCBhbmQgd2lsbCBwcm9iYWJseSBiZQorZGVzaXJhYmxlLgorLklQCitOT1RFOiBUaGlzIG9wdGlvbiB3aWxsIGhhdmUgbm8gZWZmZWN0IHdpdGgga2VybmVsIDIuMS4xMzEgb3IgbGF0ZXIgc2luY2UgdGhlCitpcnEgaXMgaGFuZGxlZCBieSB0aGUgcGFycG9ydCBkcml2ZXIuICBZb3UgY2FuIGNoYW5nZSB0aGUgcGFycG9ydCBpcnEgZm9yCitleGFtcGxlIHZpYQorLklSIC9wcm9jL3BhcnBvcnQvKi9pcnEgLgorUmVhZAorLkkgL3Vzci9zcmMvbGludXgvRG9jdW1lbnRhdGlvbi9wYXJwb3J0LnR4dAorZm9yIG1vcmUgZGV0YWlscyBvbiBwYXJwb3J0LgorLlRQCitcZkJcLXRcZlIsIFxmQlwtXC10aW1lXGZSIFxmSW1pbGxpc2Vjb25kc1xmUgoraXMgdGhlIGFtb3VudCBvZiB0aW1lIGluIGppZmZpZXMgdGhhdCB0aGUgZHJpdmVyIHdhaXRzIGlmIHRoZSBwcmludGVyIGRvZXNuJ3QKK3Rha2UgYSBjaGFyYWN0ZXIgZm9yIHRoZSBudW1iZXIgb2YgdHJpZXMgZGljdGF0ZWQgYnkgdGhlIFwtYyBwYXJhbWV0ZXIuICAxMAoraXMgdGhlIGRlZmF1bHQgdmFsdWUuICBJZiB5b3Ugd2FudCBmYXN0ZXN0IHBvc3NpYmxlIHByaW50aW5nLCBhbmQgZG9uJ3QgY2FyZQorYWJvdXQgc3lzdGVtIGxvYWQsIHlvdSBtYXkgc2V0IHRoaXMgdG8gMC4gIElmIHlvdSBkb24ndCBjYXJlIGhvdyBmYXN0IHlvdXIKK3ByaW50ZXIgZ29lcywgb3IgYXJlIHByaW50aW5nIHRleHQgb24gYSBzbG93IHByaW50ZXIgd2l0aCBhIGJ1ZmZlciwgdGhlbiA1MDAKKyg1IHNlY29uZHMpIHNob3VsZCBiZSBmaW5lLCBhbmQgd2lsbCBnaXZlIHlvdSB2ZXJ5IGxvdyBzeXN0ZW0gbG9hZC4gIFRoaXMKK3ZhbHVlIGdlbmVyYWxseSBzaG91bGQgYmUgbG93ZXIgZm9yIHByaW50aW5nIGdyYXBoaWNzIHRoYW4gdGV4dCwgYnkgYSBmYWN0b3IKK29mIGFwcHJveGltYXRlbHkgMTAsIGZvciBiZXN0IHBlcmZvcm1hbmNlLgorLlRQCitcZkJcLWNcZlIsIFxmQlwtXC1jaGFyc1xmUiBcZkljaGFyYWN0ZXJzXGZSCitpcyB0aGUgbnVtYmVyIG9mIHRpbWVzIHRvIHRyeSB0byBvdXRwdXQgYSBjaGFyYWN0ZXIgdG8gdGhlIHByaW50ZXIgYmVmb3JlCitzbGVlcGluZyBmb3IgXC10IFxmSVRJTUVcZlAuICBJdCBpcyB0aGUgbnVtYmVyIG9mIHRpbWVzIGFyb3VuZCBhIGxvb3AgdGhhdAordHJpZXMgdG8gc2VuZCBhIGNoYXJhY3RlciB0byB0aGUgcHJpbnRlci4gIDEyMCBhcHBlYXJzIHRvIGJlIGEgZ29vZCB2YWx1ZSBmb3IKK21vc3QgcHJpbnRlcnMgaW4gcG9sbGluZyBtb2RlLiAgMTAwMCBpcyB0aGUgZGVmYXVsdCwgYmVjYXVzZSB0aGVyZSBhcmUgc29tZQorcHJpbnRlcnMgdGhhdCBiZWNvbWUgamVya3kgb3RoZXJ3aXNlLCBidXQgeW91IFxmSW11c3RcZlAgc2V0IHRoaXMgdG8gYDEnIHRvCitoYW5kbGUgdGhlIG1heGltYWwgQ1BVIGVmZmljaWVuY3kgaWYgeW91IGFyZSB1c2luZyBpbnRlcnJ1cHRzLiAgSWYgeW91IGhhdmUgYQordmVyeSBmYXN0IHByaW50ZXIsIGEgdmFsdWUgb2YgMTAgbWlnaHQgbWFrZSBtb3JlIHNlbnNlIGV2ZW4gaWYgaW4gcG9sbGluZworbW9kZS4gIElmIHlvdSBoYXZlIGEgXGZJcmVhbGx5XGZQIG9sZCBwcmludGVyLCB5b3UgY2FuIGluY3JlYXNlIHRoaXMgZnVydGhlci4KKy5JUAorU2V0dGluZyBcLXQgXGZJVElNRVxmUCB0byAwIGlzIGVxdWl2YWxlbnQgdG8gc2V0dGluZyBcLWMgXGZJQ0hBUlNcZlAgdG8KK2luZmluaXR5LgorLlRQCitcZkJcLXdcZlIsIFxmQlwtXC13YWl0XGZSIFxmSW1pbGxpc2Vjb25kc1xmUgoraXMgdGhlIG51bWJlciBvZiB1c2VjIHdlIHdhaXQgd2hpbGUgcGxheWluZyB3aXRoIHRoZSBzdHJvYmUgc2lnbmFsLiAgV2hpbGUKK21vc3QgcHJpbnRlcnMgYXBwZWFyIHRvIGJlIGFibGUgdG8gZGVhbCB3aXRoIGFuIGV4dHJlbWVseSBzaG9ydCBzdHJvYmUsIHNvbWUKK3ByaW50ZXJzIGRlbWFuZCBhIGxvbmdlciBvbmUuICBJbmNyZWFzaW5nIHRoaXMgZnJvbSB0aGUgZGVmYXVsdCAxIG1heSBtYWtlIGl0Citwb3NzaWJsZSB0byBwcmludCB3aXRoIHRob3NlIHByaW50ZXJzLiAgVGhpcyBtYXkgYWxzbyBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZQorbG9uZ2VyIGNhYmxlcy4gIEl0J3MgYWxzbyBwb3NzaWJsZSB0byBkZWNyZWFzZSB0aGlzIHZhbHVlIHRvIDAgaWYgeW91cgorcHJpbnRlciBpcyBmYXN0IGVub3VnaCBvciB5b3VyIG1hY2hpbmUgaXMgc2xvdyBlbm91Z2guCisuVFAKK1xmQlwtYVxmUiwgXGZCXC1cLWFib3J0XGZSIFxmSTxvbnxvZmY+XGZSCitUaGlzIGlzIHdoZXRoZXIgdG8gYWJvcnQgb24gcHJpbnRlciBlcnJvciAtIHRoZSBkZWZhdWx0IGlzIG5vdCB0by4gIElmIHlvdQorYXJlIHNpdHRpbmcgYXQgeW91ciBjb21wdXRlciwgeW91IHByb2JhYmx5IHdhbnQgdG8gYmUgYWJsZSB0byBzZWUgYW4gZXJyb3IKK2FuZCBmaXggaXQsIGFuZCBoYXZlIHRoZSBwcmludGVyIGdvIG9uIHByaW50aW5nLiAgT24gdGhlIG90aGVyIGhhbmQsIGlmIHlvdQorYXJlbid0LCB5b3UgbWlnaHQgcmF0aGVyIHRoYXQgeW91ciBwcmludGVyIHNwb29sZXIgZmluZCBvdXQgdGhhdCB0aGUgcHJpbnRlcgoraXNuJ3QgcmVhZHksIHF1aXQgdHJ5aW5nLCBhbmQgc2VuZCB5b3UgbWFpbCBhYm91dCBpdC4gIFRoZSBjaG9pY2UgaXMgeW91cnMuCisuVFAKK1xmQlwtb1xmUiwgXGZCXC1cLWNoZWNrXC1zdGF0dXNcZlIgXGZJPG9ufG9mZj5cZlIKK1RoaXMgb3B0aW9uIGlzIG11Y2ggbGlrZSBcLWEuICBJdCBtYWtlcyBhbnkKKy5CUiBvcGVuICgyKQorb2YgdGhpcyBkZXZpY2UgY2hlY2sgdG8gc2VlIHRoYXQgdGhlIGRldmljZSBpcyBvbi1saW5lIGFuZCBub3QgcmVwb3J0aW5nIGFueQorb3V0IG9mIHBhcGVyIG9yIG90aGVyIGVycm9ycy4gIFRoaXMgaXMgdGhlIGNvcnJlY3Qgc2V0dGluZyBmb3IgbW9zdCB2ZXJzaW9ucworb2YgbHBkLgorLlRQCitcZkJcLUNcZlIsIFxmQlwtXC1jYXJlZnVsXGZSIFxmSTxvbnxvZmY+XGZSCitUaGlzIG9wdGlvbiBhZGRzIGV4dHJhICgiY2FyZWZ1bCIpIGVycm9yIGNoZWNraW5nLiAgV2hlbiB0aGlzIG9wdGlvbiBpcyBvbiwKK3RoZSBwcmludGVyIGRyaXZlciB3aWxsIGVuc3VyZSB0aGF0IHRoZSBwcmludGVyIGlzIG9uLWxpbmUgYW5kIG5vdCByZXBvcnRpbmcKK2FueSBvdXQgb2YgcGFwZXIgb3Igb3RoZXIgZXJyb3JzIGJlZm9yZSBzZW5kaW5nIGRhdGEuICBUaGlzIGlzIHBhcnRpY3VsYXJseQordXNlZnVsIGZvciBwcmludGVycyB0aGF0IG5vcm1hbGx5IGFwcGVhciB0byBhY2NlcHQgZGF0YSB3aGVuIHR1cm5lZCBvZmYuCisuSVAKK05PVEU6IFRoaXMgb3B0aW9uIGlzIG9ic29sZXRlIGJlY2F1c2UgaXQncyB0aGUgZGVmYXVsdCBpbiAyLjEuMTMxIGtlcm5lbCBvcgorbGF0ZXIuCisuVFAKK1xmQlwtc1xmUiwgXGZCXC1cLXN0YXR1c1xmUgorVGhpcyBvcHRpb24gcmV0dXJucyB0aGUgY3VycmVudCBwcmludGVyIHN0YXR1cywgYm90aCBhcyBhIGRlY2ltYWwgbnVtYmVyIGZyb20KKzAuLjI1NSwgYW5kIGFzIGEgbGlzdCBvZiBhY3RpdmUgZmxhZ3MuICBXaGVuIHRoaXMgb3B0aW9uIGlzIHNwZWNpZmllZCwgXC1xCitvZmYsIHR1cm5pbmcgb2ZmIHRoZSBkaXNwbGF5IG9mIHRoZSBjdXJyZW50IElSUSwgaXMgaW1wbGllZC4KKy5UUAorXGZCXC1yXGZSLCBcZkJcLVwtcmVzZXRcZlIKK1RoaXMgb3B0aW9uIHJlc2V0cyB0aGUgcG9ydC4gIEl0IHJlcXVpcmVzIGEgTGludXgga2VybmVsIHZlcnNpb24gb2YgMS4xLjgwIG9yCitsYXRlci4KKy5UUAorXGZCXC1xXGZSLCBcZkJcLVwtcHJpbnRcLWlycVxmUiBcZkk8b258b2ZmPlxmUgorVGhpcyBvcHRpb24gc2V0cyBwcmludGluZyB0aGUgZGlzcGxheSBvZiB0aGUgY3VycmVudCBJUlEgc2V0dGluZy4KKy5TSCBOT1RFUworLkJSIFwtbyAsCisuQlIgXC1DICwKK2FuZAorLkIgXC1zCithbGwgcmVxdWlyZSBhIExpbnV4IGtlcm5lbCB2ZXJzaW9uIG9mIDEuMS43NiBvciBsYXRlci4KKy5QUAorLkIgXC1DCityZXF1aXJlcyBhIExpbnV4IHZlcnNpb24gcHJpb3IgdG8gMi4xLjEzMS4KKy5TSCBGSUxFUworLkkgL2Rldi9scD8KKy5icgorLkkgL3Byb2MvcGFycG9ydC8qLyoKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSB0dW5lbHAgIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS9zeXMtdXRpbHMvdHVuZWxwLmMgYi9zeXMtdXRpbHMvdHVuZWxwLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmUyNjFmMwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy90dW5lbHAuYwpAQCAtMCwwICsxLDMyMSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMTk5Mi0xOTk3IE1pY2hhZWwgSy4gSm9obnNvbiwgam9obnNvbm1AcmVkaGF0LmNvbQorICoKKyAqIFRoaXMgZmlsZSBpcyBsaWNlbnNlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSwgdmVyc2lvbiAyLCBvciBhbnkgbGF0ZXIgdmVyc2lvbi4gIFNlZSBmaWxlIENPUFlJTkcgZm9yCisgKiBpbmZvcm1hdGlvbiBvbiBkaXN0cmlidXRpb24gY29uZGl0aW9ucy4KKyAqLworCisvKgorICogVGhpcyBjb21tYW5kIGlzIGRlcHJlY2F0ZWQuICBUaGUgdXRpbGl0eSBpcyBpbiBtYWludGVuYW5jZSBtb2RlLAorICogbWVhbmluZyB3ZSBrZWVwIHRoZW0gaW4gc291cmNlIHRyZWUgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHkKKyAqIG9ubHkuICBEbyBub3Qgd2FzdGUgdGltZSBtYWtpbmcgdGhpcyBjb21tYW5kIGJldHRlciwgdW5sZXNzIHRoZQorICogZml4IGlzIGFib3V0IHNlY3VyaXR5IG9yIG90aGVyIHZlcnkgY3JpdGljYWwgaXNzdWUuCisgKgorICogU2VlIERvY3VtZW50YXRpb24vZGVwcmVjYXRlZC50eHQgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisgKi8KKworLyoKKyAqICRMb2c6IHR1bmVscC5jLHYgJAorICogUmV2aXNpb24gMS45ICAxOTk4LzA2LzA4IDE5OjM3OjExICBqYW5sCisgKiBUaHVzIGNvbXBpbGVzIHR1bmVscCB3aXRoIDIuMS4xMDMga2VybmVscworICoKKyAqIFJldmlzaW9uIDEuOCAgMTk5Ny8wNy8wNiAwMDoxNDowNiAgYWVicgorICogRml4ZXMgdG8gc2lsZW5jZSAtV2FsbC4KKyAqCisgKiBSZXZpc2lvbiAxLjcgIDE5OTcvMDYvMjAgMTY6MTA6MzggIGphbmwKKyAqIHR1bmVscCByZWZyZXNoZWQgZnJvbSBhdXRob3JzIGFyY2hpdmUuCisgKgorICogUmV2aXNpb24gMS45ICAxOTk3LzA2LzIwIDEyOjU2OjQzICBqb2huc29ubQorICogRmluaXNoZWQgZml4aW5nIGxpY2Vuc2UgdGVybXMuCisgKgorICogUmV2aXNpb24gMS44ICAxOTk3LzA2LzIwIDEyOjM0OjU5ICBqb2huc29ubQorICogRml4ZWQgY29weXJpZ2h0IGFuZCBsaWNlbnNlLgorICoKKyAqIFJldmlzaW9uIDEuNyAgMTk5NS8wMy8yOSAxMToxNjoyMyAgam9obnNvbm0KKyAqIFRZUE8gZml4ZWQuLi4KKyAqCisgKiBSZXZpc2lvbiAxLjYgIDE5OTUvMDMvMjkgIDExOjEyOjE1ICBqb2huc29ubQorICogQWRkZWQgdGhpcmQgYXJndW1lbnQgdG8gaW9jdGwgbmVlZGVkIHdpdGggbmV3IGtlcm5lbHMKKyAqCisgKiBSZXZpc2lvbiAxLjUgIDE5OTUvMDEvMTMgIDEwOjMzOjQzICBqb2huc29ubQorICogQ2hyaXMncyBjaGFuZ2VzIGZvciBuZXcgaW9jdGwgbnVtYmVycyBhbmQgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKKyAqIGFuZCB0aGUgcmVzZXQgaW9jdGwuCisgKgorICogUmV2aXNpb24gMS40ICAxOTk1LzAxLzAzICAxNzo0MjoxNCAgam9obnNvbm0KKyAqIC1zIGlzbid0IHN1cHBvc2VkIHRvIHRha2UgYW4gYXJndW1lbnQ7IHJlbW92ZWQgOiBhZnRlciBzIGluIGdldG9wdC4uLgorICoKKyAqIFJldmlzaW9uIDEuMyAgMTk5NS8wMS8wMyAgMDc6MzY6NDkgIGpvaG5zb25tCisgKiBGaXhlZCB0eXBvCisgKgorICogUmV2aXNpb24gMS4yICAxOTk1LzAxLzAzICAwNzozMzo0NCAgam9obnNvbm0KKyAqIHJldmlzaW9ucyBmb3IgbHAgZHJpdmVyIHVwZGF0ZXMgaW4gTGludXggMS4xLjc2CisgKgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICoKKyAqIDE5OTktMDUtMDcgTWVyZ2VkIExQVFJVU1RJUlEgcGF0Y2ggYnkgQW5kcmVhIEFyY2FuZ2VsaSAoMTk5OC8xMS8yOSksIGFlYgorICoKKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgPGxpbnV4L2xwLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKyNkZWZpbmUgRVhJVF9MUF9NQUxMT0MJCTIKKyNkZWZpbmUgRVhJVF9MUF9CQURWQUwJCTMKKyNkZWZpbmUgRVhJVF9MUF9JT19FUlIJCTQKKworI2RlZmluZSBYQUxMT0NfRVhJVF9DT0RFIEVYSVRfTFBfTUFMTE9DCisjaW5jbHVkZSAieGFsbG9jLmgiCisKK3N0cnVjdCBjb21tYW5kIHsKKwlsb25nIG9wOworCWxvbmcgdmFsOworCXN0cnVjdCBjb21tYW5kICpuZXh0OworfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIDxkZXZpY2U+XG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNldCB2YXJpb3VzIHBhcmFtZXRlcnMgZm9yIHRoZSBsaW5lIHByaW50ZXIuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWlycSA8bnVtPiAgICAgICAgICAgICAgc3BlY2lmeSBwYXJhbGxlbCBwb3J0IGlycVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXRpbWUgPG1zPiAgICAgICAgICAgICAgZHJpdmVyIHdhaXQgdGltZSBpbiBtaWxsaXNlY29uZHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1jaGFycyA8bnVtPiAgICAgICAgICAgIG51bWJlciBvZiBvdXRwdXQgY2hhcmFjdGVycyBiZWZvcmUgc2xlZXBcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdywgLS13YWl0IDx1cz4gICAgICAgICAgICAgIHN0cm9iZSB3YWl0IGluIG1pY3JvIHNlY29uZHNcbiIpLCBvdXQpOworCS8qIFRSQU5TTEFUT1JTOiBkbyBub3QgdHJhbnNsYXRlIDxvbnxvZmY+IGFyZ3VtZW50cy4gVGhlCisJICAgYXJndW1lbnQgcmVhZGVyIGRvZXMgbm90IHJlY29nbml6ZSBsb2NhbGUsIHVubGVzcyBgb24nIGlzCisJICAgZXhhY3RseSB0aGF0IHZlcnkgc2FtZSBzdHJpbmcuICovCisJZnB1dHMoXygiIC1hLCAtLWFib3J0IDxvbnxvZmY+ICAgICAgICAgYWJvcnQgb24gZXJyb3JcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS1jaGVjay1zdGF0dXMgPG9ufG9mZj4gIGNoZWNrIHByaW50ZXIgc3RhdHVzIGJlZm9yZSBwcmludGluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1DLCAtLWNhcmVmdWwgPG9ufG9mZj4gICAgICAgZXh0cmEgY2hlY2tpbmcgdG8gc3RhdHVzIGNoZWNrXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc3RhdHVzICAgICAgICAgICAgICAgICBxdWVyeSBwcmludGVyIHN0YXR1c1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLXJlc2V0ICAgICAgICAgICAgICAgICAgcmVzZXQgdGhlIHBvcnRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcSwgLS1wcmludC1pcnEgPG9ufG9mZj4gICAgIGRpc3BsYXkgY3VycmVudCBpcnEgc2V0dGluZ1xuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMzApKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInR1bmVscCg4KSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjLCBmZCwgaXJxLCBzdGF0dXMsIHNob3dfaXJxLCBvZmZzZXQgPSAwLCByZXR2YWw7CisJY2hhciAqZmlsZW5hbWU7CisJc3RydWN0IHN0YXQgc3RhdGJ1ZjsKKwlzdHJ1Y3QgY29tbWFuZCAqY21kcywgKmNtZHN0OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiaXJxIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdpJ30sCisJCXsidGltZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCd9LAorCQl7ImNoYXJzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdjJ30sCisJCXsid2FpdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndyd9LAorCQl7ImFib3J0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsiY2hlY2stc3RhdHVzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJ30sCisJCXsiY2FyZWZ1bCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnQyd9LAorCQl7InN0YXR1cyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAncyd9LAorCQl7InRydXN0LWlycSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVCd9LAorCQl7InJlc2V0Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdyJ30sCisJCXsicHJpbnQtaXJxIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdxJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlzdHJ1dGlsc19zZXRfZXhpdGNvZGUoRVhJVF9MUF9CQURWQUwpOworCisJaWYgKGFyZ2MgPCAyKSB7CisJCXdhcm54KF8oIm5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJY21kc3QgPSBjbWRzID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwljbWRzLT5uZXh0ID0gTlVMTDsKKworCXNob3dfaXJxID0gMTsKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAidDpjOnc6YTppOmhvOkM6c3E6clQ6dlYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQljbWRzLT5vcCA9IExQU0VUSVJROworCQkJY21kcy0+dmFsID0gc3RydG9sX29yX2VycihvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIikpOworCQkJY21kcy0+bmV4dCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tYW5kKSk7CisJCQljbWRzID0gY21kcy0+bmV4dDsKKwkJCWNtZHMtPm5leHQgPSBOVUxMOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJY21kcy0+b3AgPSBMUFRJTUU7CisJCQljbWRzLT52YWwgPSBzdHJ0b2xfb3JfZXJyKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJCQljbWRzLT5uZXh0ID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwkJCWNtZHMgPSBjbWRzLT5uZXh0OworCQkJY21kcy0+bmV4dCA9IE5VTEw7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQljbWRzLT5vcCA9IExQQ0hBUjsKKwkJCWNtZHMtPnZhbCA9IHN0cnRvbF9vcl9lcnIob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwkJCWNtZHMtPm5leHQgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgY29tbWFuZCkpOworCQkJY21kcyA9IGNtZHMtPm5leHQ7CisJCQljbWRzLT5uZXh0ID0gTlVMTDsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCWNtZHMtPm9wID0gTFBXQUlUOworCQkJY21kcy0+dmFsID0gc3RydG9sX29yX2VycihvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIikpOworCQkJY21kcy0+bmV4dCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tYW5kKSk7CisJCQljbWRzID0gY21kcy0+bmV4dDsKKwkJCWNtZHMtPm5leHQgPSBOVUxMOworCQkJYnJlYWs7CisJCWNhc2UgJ2EnOgorCQkJY21kcy0+b3AgPSBMUEFCT1JUOworCQkJY21kcy0+dmFsID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwgIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJY21kcy0+bmV4dCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tYW5kKSk7CisJCQljbWRzID0gY21kcy0+bmV4dDsKKwkJCWNtZHMtPm5leHQgPSBOVUxMOworCQkJYnJlYWs7CisJCWNhc2UgJ3EnOgorCQkJc2hvd19pcnEgPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLCAib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSAnbyc6CisJCQljbWRzLT5vcCA9IExQQUJPUlRPUEVOOworCQkJY21kcy0+dmFsID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwgIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJY21kcy0+bmV4dCA9IHhtYWxsb2Moc2l6ZW9mKHN0cnVjdCBjb21tYW5kKSk7CisJCQljbWRzID0gY21kcy0+bmV4dDsKKwkJCWNtZHMtPm5leHQgPSBOVUxMOworCQkJYnJlYWs7CisJCWNhc2UgJ0MnOgorCQkJY21kcy0+b3AgPSBMUENBUkVGVUw7CisJCQljbWRzLT52YWwgPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLCAib24iLCAib2ZmIiwgTlVMTCk7CisJCQljbWRzLT5uZXh0ID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwkJCWNtZHMgPSBjbWRzLT5uZXh0OworCQkJY21kcy0+bmV4dCA9IE5VTEw7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlzaG93X2lycSA9IDA7CisJCQljbWRzLT5vcCA9IExQR0VUU1RBVFVTOworCQkJY21kcy0+dmFsID0gMDsKKwkJCWNtZHMtPm5leHQgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgY29tbWFuZCkpOworCQkJY21kcyA9IGNtZHMtPm5leHQ7CisJCQljbWRzLT5uZXh0ID0gTlVMTDsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCWNtZHMtPm9wID0gTFBSRVNFVDsKKwkJCWNtZHMtPnZhbCA9IDA7CisJCQljbWRzLT5uZXh0ID0geG1hbGxvYyhzaXplb2Yoc3RydWN0IGNvbW1hbmQpKTsKKwkJCWNtZHMgPSBjbWRzLT5uZXh0OworCQkJY21kcy0+bmV4dCA9IE5VTEw7CisJCQlicmVhazsKKwkJY2FzZSAndic6CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKG9wdGluZCAhPSBhcmdjIC0gMSkgeworCQl3YXJueChfKCJubyBkZXZpY2Ugc3BlY2lmaWVkIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCisJZmlsZW5hbWUgPSB4c3RyZHVwKGFyZ3Zbb3B0aW5kXSk7CisJZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1dST05MWSB8IE9fTk9OQkxPQ0ssIDApOworCS8qIE5lZWQgdG8gb3BlbiBPX05PTkJMT0NLIGluIGNhc2UgQUJPUlRPUEVOIGlzIGFscmVhZHkgc2V0CisJICogYW5kIHByaW50ZXIgaXMgb2ZmIG9yIG9mZi1saW5lIG9yIGluIGFuIGVycm9yIGNvbmRpdGlvbi4KKwkgKiBPdGhlcndpc2Ugd2Ugd291bGQgYWJvcnQuLi4KKyAgICAgICAgICovCisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgZmlsZW5hbWUpOworCisJaWYgKGZzdGF0KGZkLCAmc3RhdGJ1ZikpCisJCWVycihFWElUX0ZBSUxVUkUsICIlczogc3RhdCgpIGZhaWxlZCIsIGZpbGVuYW1lKTsKKworCWlmICghU19JU0NIUihzdGF0YnVmLnN0X21vZGUpKSB7CisJCXdhcm54KF8oIiVzIG5vdCBhbiBscCBkZXZpY2UiKSwgZmlsZW5hbWUpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCS8qIEFsbG93IGZvciBiaW5hcmllcyBjb21waWxlZCB1bmRlciBhIG5ldyBrZXJuZWwgdG8gd29yayBvbgorCSAqIHRoZSBvbGQgb25lcyBUaGUgaXJxIGFyZ3VtZW50IHRvIGlvY3RsIGlzbid0IHRvdWNoZWQgYnkKKwkgKiB0aGUgb2xkIGtlcm5lbHMsIGJ1dCB3ZSBkb24ndCB3YW50IHRvIGNhdXNlIHRoZSBrZXJuZWwgdG8KKwkgKiBjb21wbGFpbiBpZiB3ZSBhcmUgdXNpbmcgYSBuZXcga2VybmVsCisJICovCisJaWYgKExQR0VUSVJRID49IDB4MDYwMCAmJiBpb2N0bChmZCwgTFBHRVRJUlEsICZpcnEpIDwgMAorCSAgICAmJiBlcnJubyA9PSBFSU5WQUwpCisJICAgICAgICAvKiBXZSBkb24ndCB1bmRlcnN0YW5kIHRoZSBuZXcgaW9jdGxzICovCisJCW9mZnNldCA9IDB4MDYwMDsKKworCWNtZHMgPSBjbWRzdDsKKwl3aGlsZSAoY21kcy0+bmV4dCkgeworCQlpZiAoY21kcy0+b3AgPT0gTFBHRVRTVEFUVVMpIHsKKwkJCXN0YXR1cyA9IDB4ZGVhZGJlZWY7CisJCQlyZXR2YWwgPSBpb2N0bChmZCwgTFBHRVRTVEFUVVMgLSBvZmZzZXQsICZzdGF0dXMpOworCQkJaWYgKHJldHZhbCA8IDApCisJCQkJd2FybngoXygiTFBHRVRTVEFUVVMgZXJyb3IiKSk7CisJCQllbHNlIHsKKwkJCQlpZiAoc3RhdHVzID09IChpbnQpMHhkZWFkYmVlZikKKwkJCQkJLyogYSBmZXcgMS4xLjd4IGtlcm5lbHMgd2lsbCBkbyB0aGlzICovCisJCQkJCXN0YXR1cyA9IHJldHZhbDsKKwkJCQlwcmludGYoXygiJXMgc3RhdHVzIGlzICVkIiksIGZpbGVuYW1lLCBzdGF0dXMpOworCQkJCWlmICghKHN0YXR1cyAmIExQX1BCVVNZKSkKKwkJCQkJcHJpbnRmKF8oIiwgYnVzeSIpKTsKKwkJCQlpZiAoIShzdGF0dXMgJiBMUF9QQUNLKSkKKwkJCQkJcHJpbnRmKF8oIiwgcmVhZHkiKSk7CisJCQkJaWYgKChzdGF0dXMgJiBMUF9QT1VUUEEpKQorCQkJCQlwcmludGYoXygiLCBvdXQgb2YgcGFwZXIiKSk7CisJCQkJaWYgKChzdGF0dXMgJiBMUF9QU0VMRUNEKSkKKwkJCQkJcHJpbnRmKF8oIiwgb24tbGluZSIpKTsKKwkJCQlpZiAoIShzdGF0dXMgJiBMUF9QRVJST1JQKSkKKwkJCQkJcHJpbnRmKF8oIiwgZXJyb3IiKSk7CisJCQkJcHJpbnRmKCJcbiIpOworCQkJfQorCQl9IGVsc2UKKwkJaWYgKGlvY3RsKGZkLCBjbWRzLT5vcCAtIG9mZnNldCwgY21kcy0+dmFsKSA8IDApCisJCQl3YXJuKF8oImlvY3RsIGZhaWxlZCIpKTsKKwkJY21kc3QgPSBjbWRzOworCQljbWRzID0gY21kcy0+bmV4dDsKKwkJZnJlZShjbWRzdCk7CisJfQorCisJaWYgKHNob3dfaXJxKSB7CisJCWlycSA9IDB4ZGVhZGJlZWY7CisJCXJldHZhbCA9IGlvY3RsKGZkLCBMUEdFVElSUSAtIG9mZnNldCwgJmlycSk7CisJCWlmIChyZXR2YWwgPT0gLTEpCisJCQllcnIoRVhJVF9MUF9JT19FUlIsIF8oIkxQR0VUSVJRIGVycm9yIikpOworCQlpZiAoaXJxID09IChpbnQpMHhkZWFkYmVlZikKKwkJICAgICAgICAvKiB1cCB0byAxLjEuNzcgd2lsbCBkbyB0aGlzICovCisJCQlpcnEgPSByZXR2YWw7CisJCWlmIChpcnEpCisJCQlwcmludGYoXygiJXMgdXNpbmcgSVJRICVkXG4iKSwgZmlsZW5hbWUsIGlycSk7CisJCWVsc2UKKwkJCXByaW50ZihfKCIlcyB1c2luZyBwb2xsaW5nXG4iKSwgZmlsZW5hbWUpOworCX0KKwlmcmVlKGZpbGVuYW1lKTsKKwljbG9zZShmZCk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3Vtb3VudC44IGIvc3lzLXV0aWxzL3Vtb3VudC44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhZDdkMmEKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvdW1vdW50LjgKQEAgLTAsMCArMSwyNjUgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5OTYgQW5kcmllcyBCcm91d2VyCisuXCIgVGhpcyBwYWdlIGlzIHNvbWV3aGF0IGRlcml2ZWQgZnJvbSBhIHBhZ2UgdGhhdCB3YXMKKy5cIiAoYykgMTk4MCwgMTk4OSwgMTk5MSBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhCisuXCIgYW5kIGhhZCBiZWVuIGhlYXZpbHkgbW9kaWZpZWQgYnkgUmlrIEZhaXRoIGFuZCBteXNlbGYuCisuXCIKKy5cIiBUaGlzIGlzIGZyZWUgZG9jdW1lbnRhdGlvbjsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisuXCIgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKy5cIiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZgorLlwiIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorLlwiCisuXCIgVGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlJ3MgcmVmZXJlbmNlcyB0byAib2JqZWN0IGNvZGUiCisuXCIgYW5kICJleGVjdXRhYmxlcyIgYXJlIHRvIGJlIGludGVycHJldGVkIGFzIHRoZSBvdXRwdXQgb2YgYW55CisuXCIgZG9jdW1lbnQgZm9ybWF0dGluZyBvciB0eXBlc2V0dGluZyBzeXN0ZW0sIGluY2x1ZGluZworLlwiIGludGVybWVkaWF0ZSBhbmQgcHJpbnRlZCBvdXRwdXQuCisuXCIKKy5cIiBUaGlzIG1hbnVhbCBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorLlwiIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisuXCIgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorLlwiIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisuXCIKKy5cIiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworLlwiIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisuXCIgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKy5cIgorLlRIIFVNT1VOVCA4ICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK3Vtb3VudCBcLSB1bm1vdW50IGZpbGUgc3lzdGVtcworLlNIIFNZTk9QU0lTCisuQiB1bW91bnQgXC1hCisuUkIgWyBcLWRmbG5ydiBdCisuUkIgWyBcLXQKKy5JUiBmc3R5cGUgXQorLlJCIFsgXC1PCisuSVIgb3B0aW9uIC4uLl0KKy5zcAorLkIgdW1vdW50CisuUkIgWyBcLWRmbG5ydiBdCisuUkkgeyBkaXJlY3RvcnkgfCBkZXZpY2UgfS4uLgorLnNwCisuQiB1bW91bnQKKy5CUiBcLWggfCBcLVYKKworLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIHVtb3VudAorY29tbWFuZCBkZXRhY2hlcyB0aGUgbWVudGlvbmVkIGZpbGUgc3lzdGVtKHMpIGZyb20gdGhlIGZpbGUgaGllcmFyY2h5LiAgQQorZmlsZSBzeXN0ZW0gaXMgc3BlY2lmaWVkIGJ5IGdpdmluZyB0aGUgZGlyZWN0b3J5IHdoZXJlIGl0IGhhcyBiZWVuCittb3VudGVkLiAgR2l2aW5nIHRoZSBzcGVjaWFsIGRldmljZSBvbiB3aGljaCB0aGUgZmlsZSBzeXN0ZW0gbGl2ZXMgbWF5CithbHNvIHdvcmssIGJ1dCBpcyBvYnNvbGV0ZSwgbWFpbmx5IGJlY2F1c2UgaXQgd2lsbCBmYWlsIGluIGNhc2UgdGhpcworZGV2aWNlIHdhcyBtb3VudGVkIG9uIG1vcmUgdGhhbiBvbmUgZGlyZWN0b3J5LgorLlBQCitOb3RlIHRoYXQgYSBmaWxlIHN5c3RlbSBjYW5ub3QgYmUgdW5tb3VudGVkIHdoZW4gaXQgaXMgJ2J1c3knIC0gZm9yCitleGFtcGxlLCB3aGVuIHRoZXJlIGFyZSBvcGVuIGZpbGVzIG9uIGl0LCBvciB3aGVuIHNvbWUgcHJvY2VzcyBoYXMgaXRzCit3b3JraW5nIGRpcmVjdG9yeSB0aGVyZSwgb3Igd2hlbiBhIHN3YXAgZmlsZSBvbiBpdCBpcyBpbiB1c2UuICBUaGUKK29mZmVuZGluZyBwcm9jZXNzIGNvdWxkIGV2ZW4gYmUKKy5CIHVtb3VudAoraXRzZWxmIC0gaXQgb3BlbnMgbGliYywgYW5kIGxpYmMgaW4gaXRzIHR1cm4gbWF5IG9wZW4gZm9yIGV4YW1wbGUgbG9jYWxlCitmaWxlcy4gIEEgbGF6eSB1bm1vdW50IGF2b2lkcyB0aGlzIHByb2JsZW0sIGJ1dCBpdCBtYXkgaW50cm9kdWNlIGFub3RoZXIKK2lzc3Vlcy4gU2VlIFxmQlwtXC1sYXp5XGZSIGRlc2NyaXB0aW9uIGJlbGxvdy4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLWEgLCAiIFwtXC1hbGwiCitBbGwgb2YgdGhlIGZpbGVzeXN0ZW1zIGRlc2NyaWJlZCBpbgorLkkgL3Byb2Mvc2VsZi9tb3VudGluZm8KKyhvciBpbiBkZXByZWNhdGVkIC9ldGMvbXRhYikKK2FyZSB1bm1vdW50ZWQsIGV4Y2VwdCB0aGUgcHJvYywgZGV2ZnMsIGRldnB0cywgc3lzZnMsIHJwY19waXBlZnMgYW5kIG5mc2QKK2ZpbGVzeXN0ZW1zLiBUaGlzIGxpc3Qgb2YgdGhlIGZpbGVzeXN0ZW1zIG1heSBiZSByZXBsYWNlZCBieSBcZkJcLVwtdHlwZXNcZlIKK3Vtb3VudCBvcHRpb24uCisuVFAKKy5CUiBcLUEgLCAiIFwtXC1hbGxcLXRhcmdldHMiCitVbm1vdW50IGFsbCBtb3VudHBvaW50cyBpbiB0aGUgY3VycmVudCBuYW1lc3BhY2UgZm9yIHRoZSBzcGVjaWZpZWQgZmlsZXN5c3RlbS4KK1RoZSBmaWxlc3lzdGVtIGNhbiBiZSBzcGVjaWZpZWQgYnkgb25lIG9mIHRoZSBtb3VudHBvaW50cyBvciB0aGUgZGV2aWNlIG5hbWUgKG9yCitVVUlELCBldGMuKS4gIFdoZW4gdGhpcyBvcHRpb24gaXMgdXNlZCB0b2dldGhlciB3aXRoIFxmQlwtXC1yZWN1cnNpdmVcZlIsIHRoZW4KK2FsbCBuZXN0ZWQgbW91bnRzIHdpdGhpbiB0aGUgZmlsZXN5c3RlbSBhcmUgcmVjdXJzaXZlbHkgdW5tb3VudGVkLgorVGhpcyBvcHRpb24gaXMgb25seSBzdXBwb3J0ZWQgb24gc3lzdGVtcyB3aGVyZSAvZXRjL210YWIgaXMgYSBzeW1saW5rCit0byAvcHJvYy9tb3VudHMuCisuVFAKKy5CUiBcLWMgLCAiIFwtXC1ub1wtY2Fub25pY2FsaXplIgorRG8gbm90IGNhbm9uaWNhbGl6ZSBwYXRocy4gIFRoZSBwYXRocyBjYW5vbmljYWxpemF0aW9uIGlzIGJhc2VkIG9uCisuQlIgc3RhdCAoMikKK2FuZAorLkJSIHJlYWRsaW5rICgyKQorc3lzdGVtIGNhbGxzLiBUaGVzZSBzeXN0ZW0gY2FsbHMgbWF5IGhhbmcgaW4gc29tZSBjYXNlcyAoZm9yIGV4YW1wbGUgb24gTkZTIGlmCitzZXJ2ZXIgaXMgbm90IGF2YWlsYWJsZSkuIFRoZSBvcHRpb24gaGFzIHRvIGJlIHVzZWQgd2l0aCBjYW5vbmljYWwgcGF0aCB0byB0aGUKK21vdW50IHBvaW50LgorCitGb3IgbW9yZSBkZXRhaWxzIGFib3V0IHRoaXMgb3B0aW9uIHNlZSB0aGUKKy5CUiBtb3VudCAoOCkKK21hbiBwYWdlLiBOb3RlIHRoYXQgXGZCdW1vdW50XGZSIGRvZXMgbm90IHBhc3MgdGhpcyBvcHRpb24gdG8gdGhlCisuQkkgL3NiaW4vdW1vdW50LiB0eXBlCitoZWxwZXJzLgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGV0YWNoXC1sb29wIgorV2hlbiB0aGUgdW5tb3VudGVkIGRldmljZSB3YXMgYSBsb29wIGRldmljZSwgYWxzbyBmcmVlIHRoaXMgbG9vcAorZGV2aWNlLiBUaGlzIG9wdGlvbiBpcyB1bm5lY2Vzc2FyeSBmb3IgZGV2aWNlcyBpbml0aWFsaXplZCBieQorLkJSIG1vdW50ICg4KSwKK2luIHRoaXMgY2FzZSAiYXV0b2NsZWFyIiBmdW5jdGlvbmFsaXR5IGlzIGVuYWJsZWQgYnkgZGVmYXVsdC4KKy5UUAorLkIgXC1cLWZha2UKK0NhdXNlcyBldmVyeXRoaW5nIHRvIGJlIGRvbmUgZXhjZXB0IGZvciB0aGUgYWN0dWFsIHN5c3RlbSBjYWxsIG9yIHVtb3VudCBoZWxwZXIKK2V4ZWN1dGlvbjsgdGhpcyAnZmFrZXMnIHVubW91bnRpbmcgdGhlIGZpbGVzeXN0ZW0uICBJdCBjYW4gYmUgdXNlZCB0byByZW1vdmUKK2VudHJpZXMgZnJvbSB0aGUgZGVwcmVjYXRlZAorLkkgL2V0Yy9tdGFiCit0aGF0IHdlcmUgdW5tb3VudGVkIGVhcmxpZXIgd2l0aCB0aGUKKy5CIFwtbgorb3B0aW9uLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZm9yY2UiCitGb3JjZSBhbiB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pLgorCitOb3RlIHRoYXQgdGhpcyBvcHRpb24gZG9lcyBub3QgZ3VhcmFudGVlIHRoYXQgdW1vdW50IGNvbW1hbmQgZG9lcyBub3QgaGFuZy4KK0l0J3Mgc3Ryb25nbHkgcmVjb21tZW5kZWQgdG8gdXNlIGFic29sdXRlIHBhdGhzIHdpdGhvdXQgc3ltbGlua3MgdG8gYXZvaWQKK3Vud2FudGVkIHJlYWRsaW5rIGFuZCBzdGF0IHN5c3RlbSBjYWxscyBvbiB1bnJlYWNoYWJsZSBORlMgaW4gdW1vdW50LgorLlRQCisuQlIgXC1pICwgIiBcLVwtaW50ZXJuYWxcLW9ubHkiCitEbyBub3QgY2FsbCB0aGUgXGZCL3NiaW4vdW1vdW50LlxmSWZpbGVzeXN0ZW1cZlIgaGVscGVyIGV2ZW4gaWYgaXQgZXhpc3RzLgorQnkgZGVmYXVsdCBzdWNoIGEgaGVscGVyIHByb2dyYW0gaXMgY2FsbGVkIGlmIGl0IGV4aXN0cy4KKy5UUAorLkJSIFwtbCAsICIgXC1cLWxhenkiCitMYXp5IHVubW91bnQuICBEZXRhY2ggdGhlIGZpbGVzeXN0ZW0gZnJvbSB0aGUgZmlsZSBoaWVyYXJjaHkgbm93LAorYW5kIGNsZWFuIHVwIGFsbCByZWZlcmVuY2VzIHRvIHRoaXMgZmlsZXN5c3RlbSBhcyBzb29uIGFzIGl0IGlzIG5vdCBidXN5Cithbnltb3JlLgorCitBIHN5c3RlbSByZWJvb3Qgd291bGQgYmUgZXhwZWN0ZWQgaW4gbmVhciBmdXR1cmUgaWYgeW91J3JlIGdvaW5nIHRvIHVzZSB0aGlzCitvcHRpb24gZm9yIG5ldHdvcmsgZmlsZXN5c3RlbSBvciBsb2NhbCBmaWxlc3lzdGVtIHdpdGggc3VibW91bnRzLiAgVGhlCityZWNvbW1lbmRlZCB1c2UtY2FzZSBmb3IgXGZCdW1vdW50IC1sXGZSIGlzIHRvIHByZXZlbnQgaGFuZ3Mgb24gc2h1dGRvd24gZHVlIHRvCithbiB1bnJlYWNoYWJsZSBuZXR3b3JrIHNoYXJlIHdoZXJlIGEgbm9ybWFsIHVtb3VudCB3aWxsIGhhbmcgZHVlIHRvIGEgZG93bmVkCitzZXJ2ZXIgb3IgYSBuZXR3b3JrIHBhcnRpdGlvbi4gUmVtb3VudHMgb2YgdGhlIHNoYXJlIHdpbGwgbm90IGJlIHBvc3NpYmxlLgorCisuVFAKKy5CUiBcLU4gLCAiIFwtXC1uYW1lc3BhY2UgIiBcZklucworUGVyZm9ybSB1bW91bnQgaW4gbmFtZXNwYWNlIHNwZWNpZmllZCBieSBcZkluc1xmUi4KK1xmSW5zXGZSIGlzIGVpdGhlciBQSUQgb2YgcHJvY2VzcyBydW5uaW5nIGluIHRoYXQgbmFtZXNwYWNlCitvciBzcGVjaWFsIGZpbGUgcmVwcmVzZW50aW5nIHRoYXQgbmFtZXNwYWNlLgorLnNwCisuQlIgdW1vdW50ICg4KQorc3dpdGNoZXMgdG8gdGhlIG5hbWVzcGFjZSB3aGVuIGl0IHJlYWRzIC9ldGMvZnN0YWIsIHdyaXRlcyAvZXRjL210YWIgKG9yIHdyaXRlcyB0byAvcnVuL21vdW50KSBhbmQgY2FsbHMKKy5CUiB1bW91bnQoMikKK3N5c3RlbSBjYWxsLCBvdGhlcndpc2UgaXQgcnVucyBpbiB0aGUgb3JpZ2luYWwgbmFtZXNwYWNlLiBJdCBtZWFucyB0aGF0IHRoZSB0YXJnZXQgbmFtZXNwYWNlIGRvZXMgbm90IGhhdmUKK3RvIGNvbnRhaW4gYW55IGxpYnJhcmllcyBvciBhbm90aGVyIHJlcXVpcmVtZW50cyBuZWNlc3NhcnkgdG8gZXhlY3V0ZQorLkJSIHVtb3VudCgyKQorY29tbWFuZC4KKy5zcAorU2VlIFxmQm5hbWVzcGFjZXNcZlIoNykgZm9yIG1vcmUgaW5mb3JtYXRpb24uCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1ub1wtbXRhYiIKK1VubW91bnQgd2l0aG91dCB3cml0aW5nIGluCisuSVIgL2V0Yy9tdGFiIC4KKy5UUAorLkJSIFwtTyAsICIgXC1cLXRlc3RcLW9wdHMgIiBcZklvcHRpb25cZlIuLi4KK1VubW91bnQgb25seSB0aGUgZmlsZXN5c3RlbXMgdGhhdCBoYXZlIHRoZSBzcGVjaWZpZWQgb3B0aW9uIHNldCBpbgorLklSIC9ldGMvZnN0YWIgLgorTW9yZSB0aGFuIG9uZSBvcHRpb24gbWF5IGJlIHNwZWNpZmllZCBpbiBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LgorRWFjaCBvcHRpb24gY2FuIGJlIHByZWZpeGVkIHdpdGgKKy5CIG5vCit0byBpbmRpY2F0ZSB0aGF0IG5vIGFjdGlvbiBzaG91bGQgYmUgdGFrZW4gZm9yIHRoaXMgb3B0aW9uLgorLlRQCisuQlIgXC1SICwgIiBcLVwtcmVjdXJzaXZlIgorUmVjdXJzaXZlbHkgdW5tb3VudCBlYWNoIHNwZWNpZmllZCBkaXJlY3RvcnkuICBSZWN1cnNpb24gZm9yIGVhY2ggZGlyZWN0b3J5IHdpbGwKK3N0b3AgaWYgYW55IHVubW91bnQgb3BlcmF0aW9uIGluIHRoZSBjaGFpbiBmYWlscyBmb3IgYW55IHJlYXNvbi4gIFRoZSByZWxhdGlvbnNoaXAKK2JldHdlZW4gbW91bnRwb2ludHMgaXMgZGV0ZXJtaW5lZCBieSAvcHJvYy9zZWxmL21vdW50aW5mbyBlbnRyaWVzLiAgVGhlIGZpbGVzeXN0ZW0KK211c3QgYmUgc3BlY2lmaWVkIGJ5IG1vdW50cG9pbnQgcGF0aDsgYSByZWN1cnNpdmUgdW5tb3VudCBieSBkZXZpY2UgbmFtZSAob3IgVVVJRCkKK2lzIHVuc3VwcG9ydGVkLgorLlRQCisuQlIgXC1yICwgIiBcLVwtcmVhZFwtb25seSIKK1doZW4gYW4gdW5tb3VudCBmYWlscywgdHJ5IHRvIHJlbW91bnQgdGhlIGZpbGVzeXN0ZW0gcmVhZC1vbmx5LgorLlRQCisuQlIgXC10ICwgIiBcLVwtdHlwZXMgIiBcZkl0eXBlXGZSLi4uCitJbmRpY2F0ZSB0aGF0IHRoZSBhY3Rpb25zIHNob3VsZCBvbmx5IGJlIHRha2VuIG9uIGZpbGVzeXN0ZW1zIG9mIHRoZQorc3BlY2lmaWVkCisuSVIgdHlwZSAuCitNb3JlIHRoYW4gb25lIHR5cGUgbWF5IGJlIHNwZWNpZmllZCBpbiBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LiAgVGhlIGxpc3QKK29mIGZpbGVzeXN0ZW0gdHlwZXMgY2FuIGJlIHByZWZpeGVkIHdpdGgKKy5CIG5vCit0byBpbmRpY2F0ZSB0aGF0IG5vIGFjdGlvbiBzaG91bGQgYmUgdGFrZW4gZm9yIGFsbCBvZiB0aGUgbWVudGlvbmVkIHR5cGVzLgorLkJSCitOb3RlIHRoYXQKKy5CIHVtb3VudAorcmVhZHMgaW5mb3JtYXRpb24gYWJvdXQgbW91bnRlZCBmaWxlc3lzdGVtcyBmcm9tIGtlcm5lbCAoL3Byb2MvbW91bnRzKSBhbmQKK2ZpbGVzeXN0ZW0gbmFtZXMgbWF5IGJlIGRpZmZlcmVudCB0aGFuIGZpbGVzeXN0ZW0gbmFtZXMgdXNlZCBpbiB0aGUgL2V0Yy9mc3RhYgorKGUuZy4gIm5mczQiIHZzLiAibmZzIikuCisuVFAKKy5CUiBcLXYgLCAiIFwtXC12ZXJib3NlIgorVmVyYm9zZSBtb2RlLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCAiTE9PUCBERVZJQ0UiCitUaGUKKy5CIHVtb3VudAorY29tbWFuZCB3aWxsIGF1dG9tYXRpY2FsbHkgZGV0YWNoIGxvb3AgZGV2aWNlIHByZXZpb3VzbHkgaW5pdGlhbGl6ZWQgYnkKKy5CUiBtb3VudCAoOCkKK2NvbW1hbmQgaW5kZXBlbmRlbnRseSBvZiAvZXRjL210YWIuCisKK0luIHRoaXMgY2FzZSB0aGUgZGV2aWNlIGlzIGluaXRpYWxpemVkIHdpdGggImF1dG9jbGVhciIgZmxhZyAoc2VlCisuQlIgbG9zZXR1cCAoOCkKK291dHB1dCBmb3IgbW9yZSBkZXRhaWxzKSwgb3RoZXJ3aXNlIGl0J3MgbmVjZXNzYXJ5IHRvIHVzZSB0aGUgb3B0aW9uIFxmQiBcLVwtZGV0YWNoXC1sb29wXGZSCitvciBjYWxsIFxmQmxvc2V0dXAgLWQgPGRldmljZT5cZlIuIFRoZSBhdXRvY2xlYXIgZmVhdHVyZSBpcyBzdXBwb3J0ZWQgc2luY2UgTGludXggMi42LjI1LgorLlNIIEVYVEVSTkFMIEhFTFBFUlMKK1RoZSBzeW50YXggb2YgZXh0ZXJuYWwgdW5tb3VudCBoZWxwZXJzIGlzOgorLlBQCisuUlMKKy5CSSB1bW91bnQuIHN1ZmZpeAorLlJJIHsgZGlyZWN0b3J5IHwgZGV2aWNlIH0KKy5SQiBbIFwtZmxucnYgXQorLlJCIFsgXC1OCisuSVIgbmFtZXNwYWNlIF0KKy5SQiBbIFwtdAorLklSIHR5cGUgLiBzdWJ0eXBlIF0KKy5SRQorLlBQCit3aGVyZSBcZklzdWZmaXhcZlIgaXMgdGhlIGZpbGVzeXN0ZW0gdHlwZSAob3IgdGhlIHZhbHVlIGZyb20gYQorXGZCdWhlbHBlcj1cZlIgb3IgXGZCaGVscGVyPVxmUiBtYXJrZXIgaW4gdGhlIG10YWIgZmlsZSkuCitUaGUgXGZCXC10XGZSIG9wdGlvbiBjYW4gYmUgdXNlZCBmb3IgZmlsZXN5c3RlbXMgdGhhdAoraGF2ZSBzdWJ0eXBlIHN1cHBvcnQuICBGb3IgZXhhbXBsZToKKy5QUAorLlJTCisuQiB1bW91bnQuZnVzZSBcLXQgZnVzZS5zc2hmcworLlJFCisuUFAKK0EgXGZCdWhlbHBlcj1cZklzb21ldGhpbmdcZlIgbWFya2VyICh1bnByaXZpbGVnZWQgaGVscGVyKSBjYW4gYXBwZWFyIGluCit0aGUgXGZJL2V0Yy9tdGFiXGZSIGZpbGUgd2hlbiBvcmRpbmFyeSB1c2VycyBuZWVkIHRvIGJlIGFibGUgdG8gdW5tb3VudAorYSBtb3VudHBvaW50IHRoYXQgaXMgbm90IGRlZmluZWQgaW4gXGZJL2V0Yy9mc3RhYlxmUgorKGZvciBleGFtcGxlIGZvciBhIGRldmljZSB0aGF0IHdhcyBtb3VudGVkIGJ5IFxmQnVkaXNrc1xmUigxKSkuCisuUFAKK0EgXGZCaGVscGVyPVxmSXR5cGVcZlIgbWFya2VyIGluIHRoZSBtdGFiIGZpbGUgd2lsbCByZWRpcmVjdAorYWxsIHVubW91bnQgcmVxdWVzdHMKK3RvIHRoZSBcZkIvc2Jpbi91bW91bnQuXGZJdHlwZVxmUiBoZWxwZXIgaW5kZXBlbmRlbnRseSBvZiBVSUQuCisuUFAKK05vdGUgdGhhdCBcZkkvZXRjL210YWJcZlIgaXMgY3VycmVudGx5IGRlcHJlY2F0ZWQgYW5kIGhlbHBlcj0gYW5kIGFub3RoZXIKK3VzZXJzcGFjZSBtb3VudCBvcHRpb25zIGFyZSBtYWludGFpbmVkIGJ5IGxpYm1vdW50LgorLlNIIEZJTEVTCisuVFAKKy5JIC9ldGMvbXRhYgordGFibGUgb2YgbW91bnRlZCBmaWxlc3lzdGVtcyAoZGVwcmVjYXRlZCBhbmQgdXN1YWxseSByZXBsYWNlZCBieQorc3ltbGluayB0byAvcHJvYy9tb3VudHMpCisuVFAKKy5JIC9ldGMvZnN0YWIKK3RhYmxlIG9mIGtub3duIGZpbGVzeXN0ZW1zCisuVFAKKy5JIC9wcm9jL3NlbGYvbW91bnRpbmZvCit0YWJsZSBvZiBtb3VudGVkIGZpbGVzeXN0ZW1zIGdlbmVyYXRlZCBieSBrZXJuZWwuCisuU0ggRU5WSVJPTk1FTlQKKy5JUCBMSUJNT1VOVF9GU1RBQj08cGF0aD4KK292ZXJyaWRlcyB0aGUgZGVmYXVsdCBsb2NhdGlvbiBvZiB0aGUgZnN0YWIgZmlsZSAoaWdub3JlZCBmb3Igc3VpZCkKKy5JUCBMSUJNT1VOVF9NVEFCPTxwYXRoPgorb3ZlcnJpZGVzIHRoZSBkZWZhdWx0IGxvY2F0aW9uIG9mIHRoZSBtdGFiIGZpbGUgKGlnbm9yZWQgZm9yIHN1aWQpCisuSVAgTElCTU9VTlRfREVCVUc9YWxsCitlbmFibGVzIGxpYm1vdW50IGRlYnVnIG91dHB1dAorLlNIICJTRUUgQUxTTyIKKy5CUiB1bW91bnQgKDIpLAorLkJSIGxvc2V0dXAgKDgpLAorLkJSIG1vdW50ICg4KQorLlNIIEhJU1RPUlkKK0EKKy5CIHVtb3VudAorY29tbWFuZCBhcHBlYXJlZCBpbiBWZXJzaW9uIDYgQVQmVCBVTklYLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHVtb3VudCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3Vtb3VudC5jIGIvc3lzLXV0aWxzL3Vtb3VudC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU0NzhjNTUKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvdW1vdW50LmMKQEAgLTAsMCArMSw1OTIgQEAKKy8qCisgKiB1bW91bnQoOCkgLS0gbW91bnQgYSBmaWxlc3lzdGVtCisgKgorICogQ29weXJpZ2h0IChDKSAyMDExIFJlZCBIYXQsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFdyaXR0ZW4gYnkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3b3VsZCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhbG9uZworICogd2l0aCB0aGlzIHByb2dyYW07IGlmIG5vdCwgd3JpdGUgdG8gdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwKKyAqIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSBVU0EuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKworI2luY2x1ZGUgPGxpYm1vdW50Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiZW52LmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJjYW5vbmljYWxpemUuaCIKKworI2RlZmluZSBYQUxMT0NfRVhJVF9DT0RFIE1OVF9FWF9TWVNFUlIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKworI2RlZmluZSBPUFRVVElMU19FWElUX0NPREUgTU5UX0VYX1VTQUdFCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKworc3RhdGljIGludCB0YWJsZV9wYXJzZXJfZXJyY2Ioc3RydWN0IGxpYm1udF90YWJsZSAqdGIgX19hdHRyaWJ1dGVfXygoX191bnVzZWRfXykpLAorCQkJY29uc3QgY2hhciAqZmlsZW5hbWUsIGludCBsaW5lKQoreworCWlmIChmaWxlbmFtZSkKKwkJd2FybngoXygiJXM6IHBhcnNlIGVycm9yIGF0IGxpbmUgJWQgLS0gaWdub3JlZCIpLCBmaWxlbmFtZSwgbGluZSk7CisJcmV0dXJuIDE7Cit9CisKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgcHJpbnRfdmVyc2lvbih2b2lkKQoreworCWNvbnN0IGNoYXIgKnZlciA9IE5VTEw7CisJY29uc3QgY2hhciAqKmZlYXR1cmVzID0gTlVMTCwgKipwOworCisJbW50X2dldF9saWJyYXJ5X3ZlcnNpb24oJnZlcik7CisJbW50X2dldF9saWJyYXJ5X2ZlYXR1cmVzKCZmZWF0dXJlcyk7CisKKwlwcmludGYoXygiJXMgZnJvbSAlcyAobGlibW91bnQgJXMiKSwKKwkJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLAorCQkJUEFDS0FHRV9TVFJJTkcsCisJCQl2ZXIpOworCXAgPSBmZWF0dXJlczsKKwl3aGlsZSAocCAmJiAqcCkgeworCQlmcHV0cyhwID09IGZlYXR1cmVzID8gIjogIiA6ICIsICIsIHN0ZG91dCk7CisJCWZwdXRzKCpwKyssIHN0ZG91dCk7CisJfQorCWZwdXRzKCIpXG4iLCBzdGRvdXQpOworCWV4aXQoTU5UX0VYX1NVQ0NFU1MpOworfQorc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKAorCQkiICUxJHMgWy1oVl1cbiIKKwkJIiAlMSRzIC1hIFtvcHRpb25zXVxuIgorCQkiICUxJHMgW29wdGlvbnNdIDxzb3VyY2U+IHwgPGRpcmVjdG9yeT5cbiIpLAorCQlwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiVW5tb3VudCBmaWxlc3lzdGVtcy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYWxsICAgICAgICAgICAgICAgdW5tb3VudCBhbGwgZmlsZXN5c3RlbXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtQSwgLS1hbGwtdGFyZ2V0cyAgICAgICB1bm1vdW50IGFsbCBtb3VudHBvaW50cyBmb3IgdGhlIGdpdmVuIGRldmljZSBpbiB0aGVcbiIKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICBjdXJyZW50IG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1jLCAtLW5vLWNhbm9uaWNhbGl6ZSAgIGRvbid0IGNhbm9uaWNhbGl6ZSBwYXRoc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLWRldGFjaC1sb29wICAgICAgIGlmIG1vdW50ZWQgbG9vcCBkZXZpY2UsIGFsc28gZnJlZSB0aGlzIGxvb3AgZGV2aWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tZmFrZSAgICAgICAgICAgICAgZHJ5IHJ1bjsgc2tpcCB0aGUgdW1vdW50KDIpIHN5c2NhbGxcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtZiwgLS1mb3JjZSAgICAgICAgICAgICBmb3JjZSB1bm1vdW50IChpbiBjYXNlIG9mIGFuIHVucmVhY2hhYmxlIE5GUyBzeXN0ZW0pXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taW50ZXJuYWwtb25seSAgICAgZG9uJ3QgY2FsbCB0aGUgdW1vdW50Ljx0eXBlPiBoZWxwZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbm8tbXRhYiAgICAgICAgICAgZG9uJ3Qgd3JpdGUgdG8gL2V0Yy9tdGFiXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbGF6eSAgICAgICAgICAgICAgZGV0YWNoIHRoZSBmaWxlc3lzdGVtIG5vdywgY2xlYW4gdXAgdGhpbmdzIGxhdGVyXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLU8sIC0tdGVzdC1vcHRzIDxsaXN0PiAgbGltaXQgdGhlIHNldCBvZiBmaWxlc3lzdGVtcyAodXNlIHdpdGggLWEpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVIsIC0tcmVjdXJzaXZlICAgICAgICAgcmVjdXJzaXZlbHkgdW5tb3VudCBhIHRhcmdldCB3aXRoIGFsbCBpdHMgY2hpbGRyZW5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1yZWFkLW9ubHkgICAgICAgICBpbiBjYXNlIHVubW91bnRpbmcgZmFpbHMsIHRyeSB0byByZW1vdW50IHJlYWQtb25seVxuIiksIG91dCk7CisJZnB1dHMoXygiIC10LCAtLXR5cGVzIDxsaXN0PiAgICAgIGxpbWl0IHRoZSBzZXQgb2YgZmlsZXN5c3RlbSB0eXBlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLXZlcmJvc2UgICAgICAgICAgIHNheSB3aGF0IGlzIGJlaW5nIGRvbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTiwgLS1uYW1lc3BhY2UgPG5zPiAgICBwZXJmb3JtIHVtb3VudCBpbiBhbm90aGVyIG5hbWVzcGFjZVxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNSkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgidW1vdW50KDgpIikpOworCisJZXhpdChNTlRfRVhfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGV4aXRfbm9uX3Jvb3QoY29uc3QgY2hhciAqb3B0aW9uKQoreworCWNvbnN0IHVpZF90IHJ1aWQgPSBnZXR1aWQoKTsKKwljb25zdCB1aWRfdCBldWlkID0gZ2V0ZXVpZCgpOworCisJaWYgKHJ1aWQgPT0gMCAmJiBldWlkICE9IDApIHsKKwkJLyogdXNlciBpcyByb290LCBidXQgc2V0dWlkIHRvIG5vbi1yb290ICovCisJCWlmIChvcHRpb24pCisJCQllcnJ4KE1OVF9FWF9VU0FHRSwKKwkJCQlfKCJvbmx5IHJvb3QgY2FuIHVzZSBcIi0tJXNcIiBvcHRpb24gIgorCQkJCSAiKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIiksCisJCQkJCW9wdGlvbiwgZXVpZCk7CisJCWVycngoTU5UX0VYX1VTQUdFLCBfKCJvbmx5IHJvb3QgY2FuIGRvIHRoYXQgIgorCQkJCSAiKGVmZmVjdGl2ZSBVSUQgaXMgJXUpIiksIGV1aWQpOworCX0KKwlpZiAob3B0aW9uKQorCQllcnJ4KE1OVF9FWF9VU0FHRSwgXygib25seSByb290IGNhbiB1c2UgXCItLSVzXCIgb3B0aW9uIiksIG9wdGlvbik7CisJZXJyeChNTlRfRVhfVVNBR0UsIF8oIm9ubHkgcm9vdCBjYW4gZG8gdGhhdCIpKTsKK30KKworc3RhdGljIHZvaWQgc3VjY2Vzc19tZXNzYWdlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCWNvbnN0IGNoYXIgKnRndCwgKnNyYzsKKworCWlmIChtbnRfY29udGV4dF9oZWxwZXJfZXhlY3V0ZWQoY3h0KQorCSAgICB8fCBtbnRfY29udGV4dF9nZXRfc3RhdHVzKGN4dCkgIT0gMSkKKwkJcmV0dXJuOworCisJdGd0ID0gbW50X2NvbnRleHRfZ2V0X3RhcmdldChjeHQpOworCWlmICghdGd0KQorCQlyZXR1cm47CisKKwlzcmMgPSBtbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCk7CisJaWYgKHNyYykKKwkJd2FybngoXygiJXMgKCVzKSB1bm1vdW50ZWQiKSwgdGd0LCBzcmMpOworCWVsc2UKKwkJd2FybngoXygiJXMgdW5tb3VudGVkIiksIHRndCk7Cit9CisKK3N0YXRpYyBpbnQgbWtfZXhpdF9jb2RlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBpbnQgcmMpCit7CisJY2hhciBidWZbQlVGU0laXSA9IHsgMCB9OworCisJcmMgPSBtbnRfY29udGV4dF9nZXRfZXhjb2RlKGN4dCwgcmMsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCWlmICgqYnVmKSB7CisJCWNvbnN0IGNoYXIgKnNwZWMgPSBtbnRfY29udGV4dF9nZXRfdGFyZ2V0KGN4dCk7CisJCWlmICghc3BlYykKKwkJCXNwZWMgPSBtbnRfY29udGV4dF9nZXRfc291cmNlKGN4dCk7CisJCWlmICghc3BlYykKKwkJCXNwZWMgPSAiPz8/IjsKKwkJd2FybngoIiVzOiAlcy4iLCBzcGVjLCBidWYpOworCX0KKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdW1vdW50X2FsbChzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCkKK3sKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0cjsKKwlzdHJ1Y3QgbGlibW50X2ZzICpmczsKKwlpbnQgbW50cmMsIGlnbm9yZWQsIHJjID0gMDsKKworCWl0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9CQUNLV0FSRCk7CisJaWYgKCFpdHIpIHsKKwkJd2FybihfKCJmYWlsZWQgdG8gaW5pdGlhbGl6ZSBsaWJtb3VudCBpdGVyYXRvciIpKTsKKwkJcmV0dXJuIE1OVF9FWF9TWVNFUlI7CisJfQorCisJd2hpbGUgKG1udF9jb250ZXh0X25leHRfdW1vdW50KGN4dCwgaXRyLCAmZnMsICZtbnRyYywgJmlnbm9yZWQpID09IDApIHsKKworCQljb25zdCBjaGFyICp0Z3QgPSBtbnRfZnNfZ2V0X3RhcmdldChmcyk7CisKKwkJaWYgKGlnbm9yZWQpIHsKKwkJCWlmIChtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCQkJcHJpbnRmKF8oIiUtMjVzOiBpZ25vcmVkXG4iKSwgdGd0KTsKKwkJfSBlbHNlIHsKKwkJCWludCB4cmMgPSBta19leGl0X2NvZGUoY3h0LCBtbnRyYyk7CisKKwkJCWlmICh4cmMgPT0gTU5UX0VYX1NVQ0NFU1MKKwkJCSAgICAmJiBtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCQkJcHJpbnRmKCIlLTI1czogc3VjY2Vzc2Z1bGx5IHVubW91bnRlZFxuIiwgdGd0KTsKKwkJCXJjIHw9IHhyYzsKKwkJfQorCX0KKworCW1udF9mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdW1vdW50X29uZShzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dCwgY29uc3QgY2hhciAqc3BlYykKK3sKKwlpbnQgcmM7CisKKwlpZiAoIXNwZWMpCisJCXJldHVybiBNTlRfRVhfU09GVFdBUkU7CisKKwlpZiAobW50X2NvbnRleHRfc2V0X3RhcmdldChjeHQsIHNwZWMpKQorCQllcnIoTU5UX0VYX1NZU0VSUiwgXygiZmFpbGVkIHRvIHNldCB1bW91bnQgdGFyZ2V0IikpOworCisJcmMgPSBtbnRfY29udGV4dF91bW91bnQoY3h0KTsKKwlyYyA9IG1rX2V4aXRfY29kZShjeHQsIHJjKTsKKworCWlmIChyYyA9PSBNTlRfRVhfU1VDQ0VTUyAmJiBtbnRfY29udGV4dF9pc192ZXJib3NlKGN4dCkpCisJCXN1Y2Nlc3NfbWVzc2FnZShjeHQpOworCisJbW50X3Jlc2V0X2NvbnRleHQoY3h0KTsKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgbGlibW50X3RhYmxlICpuZXdfbW91bnRpbmZvKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0KQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCXN0cnVjdCBsaWJtbnRfbnMgKm5zX29sZCA9IG1udF9jb250ZXh0X3N3aXRjaF90YXJnZXRfbnMoY3h0KTsKKworCWlmICghbnNfb2xkKQorCQllcnIoTU5UX0VYX1NZU0VSUiwgXygiZmFpbGVkIHRvIHN3aXRjaCBuYW1lc3BhY2UiKSk7CisKKwl0YiA9IG1udF9uZXdfdGFibGUoKTsKKwlpZiAoIXRiKQorCQllcnIoTU5UX0VYX1NZU0VSUiwgXygibGlibW91bnQgdGFibGUgYWxsb2NhdGlvbiBmYWlsZWQiKSk7CisKKwltbnRfdGFibGVfc2V0X3BhcnNlcl9lcnJjYih0YiwgdGFibGVfcGFyc2VyX2VycmNiKTsKKwltbnRfdGFibGVfc2V0X2NhY2hlKHRiLCBtbnRfY29udGV4dF9nZXRfY2FjaGUoY3h0KSk7CisKKwlpZiAobW50X3RhYmxlX3BhcnNlX2ZpbGUodGIsIF9QQVRIX1BST0NfTU9VTlRJTkZPKSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBwYXJzZSAlcyIpLCBfUEFUSF9QUk9DX01PVU5USU5GTyk7CisJCW1udF91bnJlZl90YWJsZSh0Yik7CisJCXRiID0gTlVMTDsKKwl9CisKKwlpZiAoIW1udF9jb250ZXh0X3N3aXRjaF9ucyhjeHQsIG5zX29sZCkpCisJCWVycihNTlRfRVhfU1lTRVJSLCBfKCJmYWlsZWQgdG8gc3dpdGNoIG5hbWVzcGFjZSIpKTsKKworCXJldHVybiB0YjsKK30KKworLyoKKyAqIGxpa2UgdW1vdW50X29uZSgpIGJ1dCBkb2VzIG5vdCByZXR1cm4gZXJyb3IgaXMgQHNwZWMgbm90IG1vdW50ZWQKKyAqLworc3RhdGljIGludCB1bW91bnRfb25lX2lmX21vdW50ZWQoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsIGNvbnN0IGNoYXIgKnNwZWMpCit7CisJaW50IHJjOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCisJcmMgPSBtbnRfY29udGV4dF9maW5kX3Vtb3VudF9mcyhjeHQsIHNwZWMsICZmcyk7CisJaWYgKHJjID09IDEpIHsKKwkJcmMgPSBNTlRfRVhfU1VDQ0VTUzsJCS8qIGFscmVhZHkgdW5tb3VudGVkICovCisJCW1udF9yZXNldF9jb250ZXh0KGN4dCk7CisJfSBlbHNlIGlmIChyYyA8IDApIHsKKwkJcmMgPSBta19leGl0X2NvZGUoY3h0LCByYyk7CS8qIGVycm9yICovCisJCW1udF9yZXNldF9jb250ZXh0KGN4dCk7CisJfSBlbHNlCisJCXJjID0gdW1vdW50X29uZShjeHQsIG1udF9mc19nZXRfdGFyZ2V0KGZzKSk7CisKKwlyZXR1cm4gcmM7Cit9CisKK3N0YXRpYyBpbnQgdW1vdW50X2RvX3JlY3Vyc2Uoc3RydWN0IGxpYm1udF9jb250ZXh0ICpjeHQsCisJCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiLCBzdHJ1Y3QgbGlibW50X2ZzICpmcykKK3sKKwlzdHJ1Y3QgbGlibW50X2ZzICpjaGlsZDsKKwlzdHJ1Y3QgbGlibW50X2l0ZXIgKml0ciA9IG1udF9uZXdfaXRlcihNTlRfSVRFUl9CQUNLV0FSRCk7CisJaW50IHJjOworCisJaWYgKCFpdHIpCisJCWVycihNTlRfRVhfU1lTRVJSLCBfKCJsaWJtb3VudCBpdGVyYXRvciBhbGxvY2F0aW9uIGZhaWxlZCIpKTsKKworCS8qIHVtb3VudCBhbGwgY2hpbGRyZW4gKi8KKwlmb3IgKDs7KSB7CisJCXJjID0gbW50X3RhYmxlX25leHRfY2hpbGRfZnModGIsIGl0ciwgZnMsICZjaGlsZCk7CisJCWlmIChyYyA8IDApIHsKKwkJCXdhcm54KF8oImZhaWxlZCB0byBnZXQgY2hpbGQgZnMgb2YgJXMiKSwKKwkJCQkJbW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKwkJCXJjID0gTU5UX0VYX1NPRlRXQVJFOworCQkJZ290byBkb25lOworCQl9IGVsc2UgaWYgKHJjID09IDEpCisJCQlicmVhazsJCS8qIG5vIG1vcmUgY2hpbGRyZW4gKi8KKworCQlyYyA9IHVtb3VudF9kb19yZWN1cnNlKGN4dCwgdGIsIGNoaWxkKTsKKwkJaWYgKHJjICE9IE1OVF9FWF9TVUNDRVNTKQorCQkJZ290byBkb25lOworCX0KKworCXJjID0gdW1vdW50X29uZV9pZl9tb3VudGVkKGN4dCwgbW50X2ZzX2dldF90YXJnZXQoZnMpKTsKK2RvbmU6CisJbW50X2ZyZWVfaXRlcihpdHIpOworCXJldHVybiByYzsKK30KKworc3RhdGljIGludCB1bW91bnRfcmVjdXJzaXZlKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpzcGVjKQoreworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCWludCByYzsKKworCXRiID0gbmV3X21vdW50aW5mbyhjeHQpOworCWlmICghdGIpCisJCXJldHVybiBNTlRfRVhfU09GVFdBUkU7CisKKwkvKiBpdCdzIGFsd2F5cyByZWFsIG1vdW50cG9pbnQsIGRvbid0IGFzc3VtZSB0aGF0IHRoZSB0YXJnZXQgbWF5YmUgYSBkZXZpY2UgKi8KKwltbnRfY29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaChjeHQsIDEpOworCisJZnMgPSBtbnRfdGFibGVfZmluZF90YXJnZXQodGIsIHNwZWMsIE1OVF9JVEVSX0JBQ0tXQVJEKTsKKwlpZiAoZnMpCisJCXJjID0gdW1vdW50X2RvX3JlY3Vyc2UoY3h0LCB0YiwgZnMpOworCWVsc2UgeworCQlyYyA9IE1OVF9FWF9VU0FHRTsKKwkJd2FybngoYWNjZXNzKHNwZWMsIEZfT0spID09IDAgPworCQkJCV8oIiVzOiBub3QgbW91bnRlZCIpIDoKKwkJCQlfKCIlczogbm90IGZvdW5kIiksIHNwZWMpOworCX0KKworCW1udF91bnJlZl90YWJsZSh0Yik7CisJcmV0dXJuIHJjOworfQorCitzdGF0aWMgaW50IHVtb3VudF9hbGx0YXJnZXRzKHN0cnVjdCBsaWJtbnRfY29udGV4dCAqY3h0LCBjb25zdCBjaGFyICpzcGVjLCBpbnQgcmVjKQoreworCXN0cnVjdCBsaWJtbnRfZnMgKmZzOworCXN0cnVjdCBsaWJtbnRfdGFibGUgKnRiOworCXN0cnVjdCBsaWJtbnRfaXRlciAqaXRyID0gTlVMTDsKKwlkZXZfdCBkZXZubyA9IDA7CisJaW50IHJjOworCisJLyogQ29udmVydCBAc3BlYyB0byBkZXZpY2UgbmFtZSwgVXNlIHRoZSBzYW1lIGxvZ2ljIGxpa2UgcmVndWxhcgorCSAqICJ1bW91bnQgPHNwZWM+Ii4KKwkgKi8KKwlyYyA9IG1udF9jb250ZXh0X2ZpbmRfdW1vdW50X2ZzKGN4dCwgc3BlYywgJmZzKTsKKwlpZiAocmMgPT0gMSkgeworCQlyYyA9IE1OVF9FWF9VU0FHRTsKKwkJd2FybngoYWNjZXNzKHNwZWMsIEZfT0spID09IDAgPworCQkJCV8oIiVzOiBub3QgbW91bnRlZCIpIDoKKwkJCQlfKCIlczogbm90IGZvdW5kIiksIHNwZWMpOworCQlyZXR1cm4gcmM7CisJfQorCWlmIChyYyA8IDApCisJCXJldHVybiBta19leGl0X2NvZGUoY3h0LCByYyk7CQkvKiBlcnJvciAqLworCisJaWYgKCFtbnRfZnNfZ2V0X3NyY3BhdGgoZnMpIHx8ICFtbnRfZnNfZ2V0X2Rldm5vKGZzKSkKKwkJZXJyeChNTlRfRVhfVVNBR0UsIF8oIiVzOiBmYWlsZWQgdG8gZGV0ZXJtaW5lIHNvdXJjZSAiCisJCQkJIigtLWFsbC10YXJnZXRzIGlzIHVuc3VwcG9ydGVkIG9uIHN5c3RlbXMgd2l0aCAiCisJCQkJInJlZ3VsYXIgbXRhYiBmaWxlKS4iKSwgc3BlYyk7CisKKwlpdHIgPSBtbnRfbmV3X2l0ZXIoTU5UX0lURVJfQkFDS1dBUkQpOworCWlmICghaXRyKQorCQllcnIoTU5UX0VYX1NZU0VSUiwgXygibGlibW91bnQgaXRlcmF0b3IgYWxsb2NhdGlvbiBmYWlsZWQiKSk7CisKKwkvKiBnZXQgb24gQGN4dCBpbmRlcGVuZGVudCBtb3VudGluZm8gKi8KKwl0YiA9IG5ld19tb3VudGluZm8oY3h0KTsKKwlpZiAoIXRiKSB7CisJCXJjID0gTU5UX0VYX1NPRlRXQVJFOworCQlnb3RvIGRvbmU7CisJfQorCisJLyogTm90ZSB0aGF0IEBmcyBpcyBmcm9tIG1vdW50IGNvbnRleHQgYW5kIHRoZSBjb250ZXh0IHdpbGwgYmUgcmVzZXQKKwkgKiBhZnRlciBlYWNoIHVtb3VudCgpIGNhbGwgKi8KKwlkZXZubyA9IG1udF9mc19nZXRfZGV2bm8oZnMpOworCWZzID0gTlVMTDsKKworCW1udF9yZXNldF9jb250ZXh0KGN4dCk7CisKKwl3aGlsZSAobW50X3RhYmxlX25leHRfZnModGIsIGl0ciwgJmZzKSA9PSAwKSB7CisJCWlmIChtbnRfZnNfZ2V0X2Rldm5vKGZzKSAhPSBkZXZubykKKwkJCWNvbnRpbnVlOworCQltbnRfY29udGV4dF9kaXNhYmxlX3N3YXBtYXRjaChjeHQsIDEpOworCQlpZiAocmVjKQorCQkJcmMgPSB1bW91bnRfZG9fcmVjdXJzZShjeHQsIHRiLCBmcyk7CisJCWVsc2UKKwkJCXJjID0gdW1vdW50X29uZV9pZl9tb3VudGVkKGN4dCwgbW50X2ZzX2dldF90YXJnZXQoZnMpKTsKKworCQlpZiAocmMgIT0gTU5UX0VYX1NVQ0NFU1MpCisJCQlicmVhazsKKwl9CisKK2RvbmU6CisJbW50X2ZyZWVfaXRlcihpdHIpOworCW1udF91bnJlZl90YWJsZSh0Yik7CisKKwlyZXR1cm4gcmM7Cit9CisKKy8qCisgKiBDaGVjayBwYXRoIC0tIG5vbi1yb290IHVzZXIgc2hvdWxkIG5vdCBiZSBhYmxlIHRvIHJlc29sdmUgcGF0aCB3aGljaCBpcworICogdW5yZWFkYWJsZSBmb3IgaGltLgorICovCitzdGF0aWMgY2hhciAqc2FuaXRpemVfcGF0aChjb25zdCBjaGFyICpwYXRoKQoreworCWNoYXIgKnA7CisKKwlpZiAoIXBhdGgpCisJCXJldHVybiBOVUxMOworCisJcCA9IGNhbm9uaWNhbGl6ZV9wYXRoX3Jlc3RyaWN0ZWQocGF0aCk7CisJaWYgKCFwKQorCQllcnIoTU5UX0VYX1VTQUdFLCAiJXMiLCBwYXRoKTsKKworCXJldHVybiBwOworfQorCitzdGF0aWMgcGlkX3QgcGFyc2VfcGlkKGNvbnN0IGNoYXIgKnN0cikKK3sKKwljaGFyICplbmQ7CisJcGlkX3QgcmV0OworCisJZXJybm8gPSAwOworCXJldCA9IHN0cnRvdWwoc3RyLCAmZW5kLCAxMCk7CisKKwlpZiAocmV0IDwgMCB8fCBlcnJubyB8fCBlbmQgPT0gc3RyIHx8IChlbmQgJiYgKmVuZCkpCisJCXJldHVybiAwOworCXJldHVybiByZXQ7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgYywgcmMgPSAwLCBhbGwgPSAwLCByZWN1cnNpdmUgPSAwLCBhbGx0YXJnZXRzID0gMDsKKwlzdHJ1Y3QgbGlibW50X2NvbnRleHQgKmN4dDsKKwljaGFyICp0eXBlcyA9IE5VTEw7CisKKwllbnVtIHsKKwkJVU1PVU5UX09QVF9GQUtFID0gQ0hBUl9NQVggKyAxLAorCX07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJhbGwiLCAgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2EnICAgICAgICAgICAgIH0sCisJCXsgImFsbC10YXJnZXRzIiwgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnQScgICAgICAgICAgICAgfSwKKwkJeyAiZGV0YWNoLWxvb3AiLCAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdkJyAgICAgICAgICAgICB9LAorCQl7ICJmYWtlIiwgICAgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgVU1PVU5UX09QVF9GQUtFIH0sCisJCXsgImZvcmNlIiwgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZicgICAgICAgICAgICAgfSwKKwkJeyAiaGVscCIsICAgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyAgICAgICAgICAgICB9LAorCQl7ICJpbnRlcm5hbC1vbmx5IiwgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ2knICAgICAgICAgICAgIH0sCisJCXsgImxhenkiLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbCcgICAgICAgICAgICAgfSwKKwkJeyAibm8tY2Fub25pY2FsaXplIiwgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdjJyAgICAgICAgICAgICB9LAorCQl7ICJuby1tdGFiIiwgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ24nICAgICAgICAgICAgIH0sCisJCXsgInJlYWQtb25seSIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgICAgICAgICAgICAgfSwKKwkJeyAicmVjdXJzaXZlIiwgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdSJyAgICAgICAgICAgICB9LAorCQl7ICJ0ZXN0LW9wdHMiLCAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ08nICAgICAgICAgICAgIH0sCisJCXsgInR5cGVzIiwgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAndCcgICAgICAgICAgICAgfSwKKwkJeyAidmVyYm9zZSIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICd2JyAgICAgICAgICAgICB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgICAgICBub19hcmd1bWVudCwgICAgICAgTlVMTCwgJ1YnICAgICAgICAgICAgIH0sCisJCXsgIm5hbWVzcGFjZSIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTicgICAgICAgICAgICAgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnQScsJ2EnIH0sCQkJLyogYWxsLXRhcmdldHMsYWxsICovCisJCXsgJ1InLCdhJyB9LAkJCS8qIHJlY3Vyc2l2ZSxhbGwgKi8KKwkJeyAnTycsJ1InLCd0J30sCQkJLyogb3B0aW9ucyxyZWN1cnNpdmUsdHlwZXMgKi8KKwkJeyAnUicsJ3InIH0sCQkJLyogcmVjdXJzaXZlLHJlYWQtb25seSAqLworCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJc2FuaXRpemVfZW52KCk7CisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCW1udF9pbml0X2RlYnVnKDApOworCWN4dCA9IG1udF9uZXdfY29udGV4dCgpOworCWlmICghY3h0KQorCQllcnIoTU5UX0VYX1NZU0VSUiwgXygibGlibW91bnQgY29udGV4dCBhbGxvY2F0aW9uIGZhaWxlZCIpKTsKKworCW1udF9jb250ZXh0X3NldF90YWJsZXNfZXJyY2IoY3h0LCB0YWJsZV9wYXJzZXJfZXJyY2IpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImFBY2RmaGlsblJyTzp0OnZWTjoiLAorCQkJCQlsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisKKworCQkvKiBvbmx5IGZldyBvcHRpb25zIGFyZSBhbGxvd2VkIGZvciBub24tcm9vdCB1c2VycyAqLworCQlpZiAobW50X2NvbnRleHRfaXNfcmVzdHJpY3RlZChjeHQpICYmICFzdHJjaHIoImhkaWxWdiIsIGMpKQorCQkJZXhpdF9ub25fcm9vdChvcHRpb25fdG9fbG9uZ29wdChjLCBsb25nb3B0cykpOworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoKGMpIHsKKwkJY2FzZSAnYSc6CisJCQlhbGwgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0EnOgorCQkJYWxsdGFyZ2V0cyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX2Nhbm9uaWNhbGl6ZShjeHQsIFRSVUUpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJbW50X2NvbnRleHRfZW5hYmxlX2xvb3BkZWwoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlIFVNT1VOVF9PUFRfRkFLRToKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9mYWtlKGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQltbnRfY29udGV4dF9lbmFibGVfZm9yY2UoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX2hlbHBlcnMoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9sYXp5KGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQltbnRfY29udGV4dF9kaXNhYmxlX210YWIoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCW1udF9jb250ZXh0X2VuYWJsZV9yZG9ubHlfdW1vdW50KGN4dCwgVFJVRSk7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CisJCQlyZWN1cnNpdmUgPSBUUlVFOworCQkJYnJlYWs7CisJCWNhc2UgJ08nOgorCQkJaWYgKG1udF9jb250ZXh0X3NldF9vcHRpb25zX3BhdHRlcm4oY3h0LCBvcHRhcmcpKQorCQkJCWVycihNTlRfRVhfU1lTRVJSLCBfKCJmYWlsZWQgdG8gc2V0IG9wdGlvbnMgcGF0dGVybiIpKTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCXR5cGVzID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgorCQkJbW50X2NvbnRleHRfZW5hYmxlX3ZlcmJvc2UoY3h0LCBUUlVFKTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50X3ZlcnNpb24oKTsKKwkJCWJyZWFrOworCQljYXNlICdOJzoKKwkJeworCQkJY2hhciBwYXRoW1BBVEhfTUFYXTsKKwkJCXBpZF90IHBpZCA9IHBhcnNlX3BpZChvcHRhcmcpOworCisJCQlpZiAocGlkKQorCQkJCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9wcm9jLyVpL25zL21udCIsIHBpZCk7CisKKwkJCWlmIChtbnRfY29udGV4dF9zZXRfdGFyZ2V0X25zKGN4dCwgcGlkID8gcGF0aCA6IG9wdGFyZykpCisJCQkJZXJyKE1OVF9FWF9TWVNFUlIsIF8oImZhaWxlZCB0byBzZXQgdGFyZ2V0IG5hbWVzcGFjZSB0byAlcyIpLCBwaWQgPyBwYXRoIDogb3B0YXJnKTsKKwkJCWJyZWFrOworCQl9CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKE1OVF9FWF9VU0FHRSk7CisJCX0KKwl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmIChhbGwpIHsKKwkJaWYgKCF0eXBlcykKKwkJCXR5cGVzID0gIm5vcHJvYyxub2RldmZzLG5vZGV2cHRzLG5vc3lzZnMsbm9ycGNfcGlwZWZzLG5vbmZzZCxub3NlbGludXhmcyI7CisKKwkJbW50X2NvbnRleHRfc2V0X2ZzdHlwZV9wYXR0ZXJuKGN4dCwgdHlwZXMpOworCQlyYyA9IHVtb3VudF9hbGwoY3h0KTsKKworCX0gZWxzZSBpZiAoYXJnYyA8IDEpIHsKKwkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQllcnJ0cnloZWxwKE1OVF9FWF9VU0FHRSk7CisKKwl9IGVsc2UgaWYgKGFsbHRhcmdldHMpIHsKKwkJd2hpbGUgKGFyZ2MtLSkKKwkJCXJjICs9IHVtb3VudF9hbGx0YXJnZXRzKGN4dCwgKmFyZ3YrKywgcmVjdXJzaXZlKTsKKwl9IGVsc2UgaWYgKHJlY3Vyc2l2ZSkgeworCQl3aGlsZSAoYXJnYy0tKQorCQkJcmMgKz0gdW1vdW50X3JlY3Vyc2l2ZShjeHQsICphcmd2KyspOworCX0gZWxzZSB7CisJCXdoaWxlIChhcmdjLS0pIHsKKwkJCWNoYXIgKnBhdGggPSAqYXJndjsKKworCQkJaWYgKG1udF9jb250ZXh0X2lzX3Jlc3RyaWN0ZWQoY3h0KQorCQkJICAgICYmICFtbnRfdGFnX2lzX3ZhbGlkKHBhdGgpKQorCQkJCXBhdGggPSBzYW5pdGl6ZV9wYXRoKHBhdGgpOworCisJCQlyYyArPSB1bW91bnRfb25lKGN4dCwgcGF0aCk7CisKKwkJCWlmIChwYXRoICE9ICphcmd2KQorCQkJCWZyZWUocGF0aCk7CisJCQlhcmd2Kys7CisJCX0KKwl9CisKKwltbnRfZnJlZV9jb250ZXh0KGN4dCk7CisJcmV0dXJuIChyYyA8IDI1NikgPyByYyA6IDI1NTsKK30KKwpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3Vuc2hhcmUuMSBiL3N5cy11dGlscy91bnNoYXJlLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ2YzQxMQotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy91bnNoYXJlLjEKQEAgLTAsMCArMSwyNjYgQEAKKy5USCBVTlNIQVJFIDEgIkZlYnJ1YXJ5IDIwMTYiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCit1bnNoYXJlIFwtIHJ1biBwcm9ncmFtIHdpdGggc29tZSBuYW1lc3BhY2VzIHVuc2hhcmVkIGZyb20gcGFyZW50CisuU0ggU1lOT1BTSVMKKy5CIHVuc2hhcmUKK1tvcHRpb25zXQorLlJJIFsgcHJvZ3JhbQorLlJJIFsgYXJndW1lbnRzIF1dCisuU0ggREVTQ1JJUFRJT04KK1Vuc2hhcmVzIHRoZSBpbmRpY2F0ZWQgbmFtZXNwYWNlcyBmcm9tIHRoZSBwYXJlbnQgcHJvY2VzcyBhbmQgdGhlbiBleGVjdXRlcwordGhlIHNwZWNpZmllZCBcZklwcm9ncmFtXGZSLiBJZiBcZklwcm9ncmFtXGZSIGlzIG5vdCBnaXZlbiwgdGhlbiBgYCR7U0hFTEx9JycgaXMKK3J1biAoZGVmYXVsdDogL2Jpbi9zaCkuCisuUFAKK1RoZSBuYW1lc3BhY2VzIGNhbiBvcHRpb25hbGx5IGJlIG1hZGUgcGVyc2lzdGVudCBieSBiaW5kIG1vdW50aW5nCisvcHJvYy9cZklwaWRcZlIvbnMvXGZJdHlwZVxmUiBmaWxlcyB0byBhIGZpbGVzeXN0ZW0gcGF0aCBhbmQgZW50ZXJlZCB3aXRoCisuQlIgXCVuc2VudGVyICgxKQorZXZlbiBhZnRlciB0aGUgXGZJcHJvZ3JhbVxmUiB0ZXJtaW5hdGVzIChleGNlcHQgUElEIG5hbWVzcGFjZXMgd2hlcmUKK3Blcm1hbmVudGx5IHJ1bm5pbmcgaW5pdCBwcm9jZXNzIGlzIHJlcXVpcmVkKS4KK09uY2UgYSBwZXJzaXN0ZW50IFwlbmFtZXNwYWNlIGlzIG5vIGxvbmdlciBuZWVkZWQsIGl0IGNhbiBiZSB1bnBlcnNpc3RlZCB3aXRoCisuQlIgdW1vdW50ICg4KS4KK1NlZSB0aGUgXGZCRVhBTVBMRVNcZlIgc2VjdGlvbiBmb3IgbW9yZSBkZXRhaWxzLgorLlBQCitUaGUgbmFtZXNwYWNlcyB0byBiZSB1bnNoYXJlZCBhcmUgaW5kaWNhdGVkIHZpYSBvcHRpb25zLiAgVW5zaGFyZWFibGUgbmFtZXNwYWNlcyBhcmU6CisuVFAKKy5CIG1vdW50IG5hbWVzcGFjZQorTW91bnRpbmcgYW5kIHVubW91bnRpbmcgZmlsZXN5c3RlbXMgd2lsbCBub3QgYWZmZWN0IHRoZSByZXN0IG9mIHRoZSBzeXN0ZW0sCitleGNlcHQgZm9yIGZpbGVzeXN0ZW1zIHdoaWNoIGFyZSBleHBsaWNpdGx5IG1hcmtlZCBhcworc2hhcmVkICh3aXRoIFxmQm1vdW50IC0tbWFrZS1zaGFyZWRcZlA7IHNlZSBcZkkvcHJvYy9zZWxmL21vdW50aW5mb1xmUCBvcgorXGZCZmluZG1udCAtbytQUk9QQUdBVElPTlxmUCBmb3IgdGhlIFxmQnNoYXJlZFxmUCBmbGFncykuCitGb3IgZnVydGhlciBkZXRhaWxzLCBzZWUKKy5CUiBtb3VudF9uYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkIgQ0xPTkVfTkVXTlMKK2ZsYWcgaW4KKy5CUiBjbG9uZSAoMikuCisuc3AKKy5CIHVuc2hhcmUKK3NpbmNlIHV0aWwtbGludXggdmVyc2lvbiAyLjI3IGF1dG9tYXRpY2FsbHkgc2V0cyBwcm9wYWdhdGlvbiB0byBcZkJwcml2YXRlXGZQCitpbiBhIG5ldyBtb3VudCBuYW1lc3BhY2UgdG8gbWFrZSBzdXJlIHRoYXQgdGhlIG5ldyBuYW1lc3BhY2UgaXMgcmVhbGx5Cit1bnNoYXJlZC4gIEl0J3MgcG9zc2libGUgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUgd2l0aCBvcHRpb24KK1xmQlwtXC1wcm9wYWdhdGlvbiB1bmNoYW5nZWRcZlAuCitOb3RlIHRoYXQgXGZCcHJpdmF0ZVxmUCBpcyB0aGUga2VybmVsIGRlZmF1bHQuCisuVFAKKy5CIFVUUyBuYW1lc3BhY2UKK1NldHRpbmcgaG9zdG5hbWUgb3IgZG9tYWlubmFtZSB3aWxsIG5vdCBhZmZlY3QgdGhlIHJlc3Qgb2YgdGhlIHN5c3RlbS4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIG5hbWVzcGFjZXMgKDcpCithbmQgdGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQiBDTE9ORV9ORVdVVFMKK2ZsYWcgaW4KKy5CUiBjbG9uZSAoMikuCisuVFAKKy5CIElQQyBuYW1lc3BhY2UKK1RoZSBwcm9jZXNzIHdpbGwgaGF2ZSBhbiBpbmRlcGVuZGVudCBuYW1lc3BhY2UgZm9yIFBPU0lYIG1lc3NhZ2UgcXVldWVzCithcyB3ZWxsIGFzIFN5c3RlbSBWIFwlbWVzc2FnZSBxdWV1ZXMsCitzZW1hcGhvcmUgc2V0cyBhbmQgc2hhcmVkIG1lbW9yeSBzZWdtZW50cy4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIG5hbWVzcGFjZXMgKDcpCithbmQgdGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQiBDTE9ORV9ORVdJUEMKK2ZsYWcgaW4KKy5CUiBjbG9uZSAoMikuCisuVFAKKy5CIG5ldHdvcmsgbmFtZXNwYWNlCitUaGUgcHJvY2VzcyB3aWxsIGhhdmUgaW5kZXBlbmRlbnQgSVB2NCBhbmQgSVB2NiBzdGFja3MsIElQIHJvdXRpbmcgdGFibGVzLAorZmlyZXdhbGwgcnVsZXMsIHRoZSBcZkkvcHJvYy9uZXRcZlAgYW5kIFxmSS9zeXMvY2xhc3MvbmV0XGZQIGRpcmVjdG9yeSB0cmVlcywKK3NvY2tldHMsIGV0Yy4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIG5hbWVzcGFjZXMgKDcpCithbmQgdGhlIGRpc2N1c3Npb24gb2YgdGhlCisuQiBDTE9ORV9ORVdORVQKK2ZsYWcgaW4KKy5CUiBjbG9uZSAoMikuCisuVFAKKy5CIFBJRCBuYW1lc3BhY2UKK0NoaWxkcmVuIHdpbGwgaGF2ZSBhIGRpc3RpbmN0IHNldCBvZiBQSUQtdG8tcHJvY2VzcyBtYXBwaW5ncyBmcm9tIHRoZWlyIHBhcmVudC4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIHBpZF9uYW1lc3BhY2VzICg3KQorYW5kCit0aGUgZGlzY3Vzc2lvbiBvZiB0aGUKKy5CIENMT05FX05FV1BJRAorZmxhZyBpbgorLkJSIGNsb25lICgyKS4KKy5UUAorLkIgY2dyb3VwIG5hbWVzcGFjZQorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGEgdmlydHVhbGl6ZWQgdmlldyBvZiBcZkkvcHJvY1w6L3NlbGZcOi9jZ3JvdXBcZlAsIGFuZCBuZXcKK2Nncm91cCBtb3VudHMgd2lsbCBiZSByb290ZWQgYXQgdGhlIG5hbWVzcGFjZSBjZ3JvdXAgcm9vdC4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIGNncm91cF9uYW1lc3BhY2VzICg3KQorYW5kIHRoZSBkaXNjdXNzaW9uIG9mIHRoZQorLkIgQ0xPTkVfTkVXQ0dST1VQCitmbGFnIGluCisuQlIgY2xvbmUgKDIpLgorLlRQCisuQiB1c2VyIG5hbWVzcGFjZQorVGhlIHByb2Nlc3Mgd2lsbCBoYXZlIGEgZGlzdGluY3Qgc2V0IG9mIFVJRHMsIEdJRHMgYW5kIGNhcGFiaWxpdGllcy4KK0ZvciBmdXJ0aGVyIGRldGFpbHMsIHNlZQorLkJSIHVzZXJfbmFtZXNwYWNlcyAoNykKK2FuZCB0aGUgZGlzY3Vzc2lvbiBvZiB0aGUKKy5CIENMT05FX05FV1VTRVIKK2ZsYWcgaW4KKy5CUiBjbG9uZSAoMikuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1pICwgIiBcLVwtaXBjIiBbID1cZklmaWxlIF0KK1Vuc2hhcmUgdGhlIElQQyBuYW1lc3BhY2UuICBJZiBcZklmaWxlXGZQIGlzIHNwZWNpZmllZCwgdGhlbiBhIHBlcnNpc3RlbnQKK25hbWVzcGFjZSBpcyBjcmVhdGVkIGJ5IGEgYmluZCBtb3VudC4KKy5UUAorLkJSIFwtbSAsICIgXC1cLW1vdW50IiBbID1cZklmaWxlIF0KK1Vuc2hhcmUgdGhlIG1vdW50IG5hbWVzcGFjZS4gIElmIFxmSWZpbGVcZlAgaXMgc3BlY2lmaWVkLCB0aGVuIGEgcGVyc2lzdGVudAorbmFtZXNwYWNlIGlzIGNyZWF0ZWQgYnkgYSBiaW5kIG1vdW50LgorTm90ZSB0aGF0IFxmSWZpbGVcZlAgaGFzIHRvIGJlIGxvY2F0ZWQgb24gYSBmaWxlc3lzdGVtIHdpdGggdGhlIHByb3BhZ2F0aW9uCitmbGFnIHNldCB0byBcZkJwcml2YXRlXGZQLiAgVXNlIHRoZSBjb21tYW5kIFxmQmZpbmRtbnQgLW8rUFJPUEFHQVRJT05cZlAKK3doZW4gbm90IHN1cmUgYWJvdXQgdGhlIGN1cnJlbnQgc2V0dGluZy4gIFNlZSBhbHNvIHRoZSBleGFtcGxlcyBiZWxvdy4KKy5UUAorLkJSIFwtbiAsICIgXC1cLW5ldCIgWyA9XGZJZmlsZSBdCitVbnNoYXJlIHRoZSBuZXR3b3JrIG5hbWVzcGFjZS4gIElmIFxmSWZpbGVcZlAgaXMgc3BlY2lmaWVkLCB0aGVuIGEgcGVyc2lzdGVudAorbmFtZXNwYWNlIGlzIGNyZWF0ZWQgYnkgYSBiaW5kIG1vdW50LgorLlRQCisuQlIgXC1wICwgIiBcLVwtcGlkIiBbID1cZklmaWxlIF0KK1Vuc2hhcmUgdGhlIFBJRCBuYW1lc3BhY2UuICBJZiBcZklmaWxlXGZQIGlzIHNwZWNpZmllZCB0aGVuIHBlcnNpc3RlbnQKK25hbWVzcGFjZSBpcyBjcmVhdGVkIGJ5IGEgYmluZCBtb3VudC4gIFNlZSBhbHNvIHRoZSBcZkItLWZvcmtcZlAgYW5kCitcZkItLW1vdW50LXByb2NcZlAgb3B0aW9ucy4KKy5UUAorLkJSIFwtdSAsICIgXC1cLXV0cyIgWyA9XGZJZmlsZSBdCitVbnNoYXJlIHRoZSBVVFMgbmFtZXNwYWNlLiAgSWYgXGZJZmlsZVxmUCBpcyBzcGVjaWZpZWQsIHRoZW4gYSBwZXJzaXN0ZW50CituYW1lc3BhY2UgaXMgY3JlYXRlZCBieSBhIGJpbmQgbW91bnQuCisuVFAKKy5CUiBcLVUgLCAiIFwtXC11c2VyIiBbID1cZklmaWxlIF0KK1Vuc2hhcmUgdGhlIHVzZXIgbmFtZXNwYWNlLiAgSWYgXGZJZmlsZVxmUCBpcyBzcGVjaWZpZWQsIHRoZW4gYSBwZXJzaXN0ZW50CituYW1lc3BhY2UgaXMgY3JlYXRlZCBieSBhIGJpbmQgbW91bnQuCisuVFAKKy5CUiBcLUMgLCAiIFwtXC1jZ3JvdXAiWz1cZklmaWxlXGZQXQorVW5zaGFyZSB0aGUgY2dyb3VwIG5hbWVzcGFjZS4gSWYgXGZJZmlsZVxmUCBpcyBzcGVjaWZpZWQgdGhlbiBwZXJzaXN0ZW50IG5hbWVzcGFjZSBpcyBjcmVhdGVkCitieSBiaW5kIG1vdW50LgorLlRQCisuQlIgXC1mICwgIiBcLVwtZm9yayIKK0ZvcmsgdGhlIHNwZWNpZmllZCBcZklwcm9ncmFtXGZSIGFzIGEgY2hpbGQgcHJvY2VzcyBvZiBcZkJ1bnNoYXJlXGZSIHJhdGhlciB0aGFuCitydW5uaW5nIGl0IGRpcmVjdGx5LiAgVGhpcyBpcyB1c2VmdWwgd2hlbiBjcmVhdGluZyBhIG5ldyBQSUQgbmFtZXNwYWNlLgorLlRQCisuQlIgXC1cLWtpbGxcLWNoaWxkIFsgPVxmSXNpZ25hbWUgXQorV2hlbiBcZkJ1bnNoYXJlXGZSIHRlcm1pbmF0ZXMsIGhhdmUgXGZJc2lnbmFtZVxmUCBiZSBzZW50IHRvIHRoZSBmb3JrZWQgY2hpbGQgcHJvY2Vzcy4KK0NvbWJpbmVkIHdpdGggXGZCLS1waWRcZlIgdGhpcyBhbGxvd3MgZm9yIGFuIGVhc3kgYW5kIHJlbGlhYmxlIGtpbGxpbmcgb2YgdGhlIGVudGlyZQorcHJvY2VzcyB0cmVlIGJlbG93IFxmQnVuc2hhcmVcZlIuCitJZiBub3QgZ2l2ZW4sIFxmSXNpZ25hbWVcZlAgZGVmYXVsdHMgdG8gXGZCU0lHS0lMTFxmUi4KK1RoaXMgb3B0aW9uIGltcGxpZXMgXGZCLS1mb3JrXGZSLgorLlRQCisuQlIgXC1cLW1vdW50XC1wcm9jIFsgPVxmSW1vdW50cG9pbnQgXQorSnVzdCBiZWZvcmUgcnVubmluZyB0aGUgcHJvZ3JhbSwgbW91bnQgdGhlIHByb2MgZmlsZXN5c3RlbSBhdCBcZkltb3VudHBvaW50XGZQCisoZGVmYXVsdCBpcyAvcHJvYykuICBUaGlzIGlzIHVzZWZ1bCB3aGVuIGNyZWF0aW5nIGEgbmV3IFBJRCBuYW1lc3BhY2UuICBJdCBhbHNvCitpbXBsaWVzIGNyZWF0aW5nIGEgbmV3IG1vdW50IG5hbWVzcGFjZSBzaW5jZSB0aGUgL3Byb2MgbW91bnQgd291bGQgb3RoZXJ3aXNlCittZXNzIHVwIGV4aXN0aW5nIHByb2dyYW1zIG9uIHRoZSBzeXN0ZW0uICBUaGUgbmV3IHByb2MgZmlsZXN5c3RlbSBpcyBleHBsaWNpdGx5Cittb3VudGVkIGFzIHByaXZhdGUgKHdpdGggTVNfUFJJVkFURXxNU19SRUMpLgorLlRQCisuQlIgXC1yICwgIiBcLVwtbWFwXC1yb290XC11c2VyIgorUnVuIHRoZSBwcm9ncmFtIG9ubHkgYWZ0ZXIgdGhlIGN1cnJlbnQgZWZmZWN0aXZlIHVzZXIgYW5kIGdyb3VwIElEcyBoYXZlIGJlZW4gbWFwcGVkIHRvCit0aGUgc3VwZXJ1c2VyIFVJRCBhbmQgR0lEIGluIHRoZSBuZXdseSBjcmVhdGVkIHVzZXIgbmFtZXNwYWNlLiAgVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0bworY29udmVuaWVudGx5IGdhaW4gY2FwYWJpbGl0aWVzIG5lZWRlZCB0byBtYW5hZ2UgdmFyaW91cyBhc3BlY3RzIG9mIHRoZSBuZXdseSBjcmVhdGVkCituYW1lc3BhY2VzIChzdWNoIGFzIGNvbmZpZ3VyaW5nIGludGVyZmFjZXMgaW4gdGhlIG5ldHdvcmsgbmFtZXNwYWNlIG9yIG1vdW50aW5nIGZpbGVzeXN0ZW1zIGluCit0aGUgbW91bnQgbmFtZXNwYWNlKSBldmVuIHdoZW4gcnVuIHVucHJpdmlsZWdlZC4gIEFzIGEgbWVyZSBjb252ZW5pZW5jZSBmZWF0dXJlLCBpdCBkb2VzIG5vdCBzdXBwb3J0Cittb3JlIHNvcGhpc3RpY2F0ZWQgdXNlIGNhc2VzLCBzdWNoIGFzIG1hcHBpbmcgbXVsdGlwbGUgcmFuZ2VzIG9mIFVJRHMgYW5kIEdJRHMuCitUaGlzIG9wdGlvbiBpbXBsaWVzIFxmQi0tc2V0Z3JvdXBzPWRlbnlcZlIuCisuVFAKKy5CUiAiXC1cLXByb3BhZ2F0aW9uIHByaXZhdGUiIHwgc2hhcmVkIHwgc2xhdmUgfCB1bmNoYW5nZWQKK1JlY3Vyc2l2ZWx5IHNldCB0aGUgbW91bnQgcHJvcGFnYXRpb24gZmxhZyBpbiB0aGUgbmV3IG1vdW50IG5hbWVzcGFjZS4gIFRoZSBkZWZhdWx0CitpcyB0byBzZXQgdGhlIHByb3BhZ2F0aW9uIHRvIFxmSXByaXZhdGVcZlAuICBJdCBpcyBwb3NzaWJsZSB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZQord2l0aCB0aGUgYXJndW1lbnQgXGZCdW5jaGFuZ2VkXGZSLiAgVGhlIG9wdGlvbiBpcyBzaWxlbnRseSBpZ25vcmVkIHdoZW4gdGhlIG1vdW50CituYW1lc3BhY2UgKFxmQlwtXC1tb3VudFxmUCkgaXMgbm90IHJlcXVlc3RlZC4KKy5UUAorLkJSICJcLVwtc2V0Z3JvdXBzIGFsbG93IiB8IGRlbnkKK0FsbG93IG9yIGRlbnkgdGhlCisuQlIgc2V0Z3JvdXBzICgyKQorc3lzdGVtIGNhbGwgaW4gYSB1c2VyIG5hbWVzcGFjZS4KKy5zcAorVG8gYmUgYWJsZSB0byBjYWxsCisuQlIgc2V0Z3JvdXBzICgyKSwKK3RoZSBjYWxsaW5nIHByb2Nlc3MgbXVzdCBhdCBsZWFzdCBoYXZlIENBUF9TRVRHSUQuCitCdXQgc2luY2UgTGludXggMy4xOSBhIGZ1cnRoZXIgcmVzdHJpY3Rpb24gYXBwbGllczoKK3RoZSBrZXJuZWwgZ2l2ZXMgcGVybWlzc2lvbiB0byBjYWxsCisuQlIgXCVzZXRncm91cHMgKDIpCitvbmx5IGFmdGVyIHRoZSBHSUQgbWFwIChcZkIvcHJvYy9cZklwaWRcZkIvZ2lkX21hcFxmUikgaGFzIGJlZW4gc2V0LgorVGhlIEdJRCBtYXAgaXMgd3JpdGFibGUgYnkgcm9vdCB3aGVuCisuQlIgXCVzZXRncm91cHMgKDIpCitpcyBlbmFibGVkIChpLmUuIFxmQmFsbG93XGZSLCB0aGUgZGVmYXVsdCksIGFuZAordGhlIEdJRCBtYXAgYmVjb21lcyB3cml0YWJsZSBieSB1bnByaXZpbGVnZWQgcHJvY2Vzc2VzIHdoZW4KKy5CUiBcJXNldGdyb3VwcyAoMikKK2lzIHBlcm1hbmVudGx5IGRpc2FibGVkICh3aXRoIFxmQmRlbnlcZlIpLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBOT1RFUworVGhlIHByb2MgYW5kIHN5c2ZzIGZpbGVzeXN0ZW1zIG1vdW50aW5nIGFzIHJvb3QgaW4gYSB1c2VyIG5hbWVzcGFjZSBoYXZlIHRvIGJlCityZXN0cmljdGVkIHNvIHRoYXQgYSBsZXNzIHByaXZpbGVnZWQgdXNlciBjYW4gbm90IGdldCBtb3JlIGFjY2VzcyB0byBzZW5zaXRpdmUKK2ZpbGVzIHRoYXQgYSBtb3JlIHByaXZpbGVnZWQgdXNlciBtYWRlIHVuYXZhaWxhYmxlLiBJbiBzaG9ydCB0aGUgcnVsZSBmb3IgcHJvYworYW5kIHN5c2ZzIGlzIGFzIGNsb3NlIHRvIGEgYmluZCBtb3VudCBhcyBwb3NzaWJsZS4KKy5TSCBFWEFNUExFUworLlRQCisuQiAjIHVuc2hhcmUgLS1mb3JrIC0tcGlkIC0tbW91bnQtcHJvYyByZWFkbGluayAvcHJvYy9zZWxmCisuVFEKKzEKKy5icgorRXN0YWJsaXNoIGEgUElEIG5hbWVzcGFjZSwgZW5zdXJlIHdlJ3JlIFBJRCAxIGluIGl0IGFnYWluc3QgYSBuZXdseSBtb3VudGVkCitwcm9jZnMgaW5zdGFuY2UuCisuVFAKKy5CICQgdW5zaGFyZSAtLW1hcC1yb290LXVzZXIgLS11c2VyIHNoIC1jIHdob2FtaQorLlRRCityb290CisuYnIKK0VzdGFibGlzaCBhIHVzZXIgbmFtZXNwYWNlIGFzIGFuIHVucHJpdmlsZWdlZCB1c2VyIHdpdGggYSByb290IHVzZXIgd2l0aGluIGl0LgorLlRQCisuQiAjIHRvdWNoIC9yb290L3V0cy1ucworLlRRCisuQiAjIHVuc2hhcmUgLS11dHM9L3Jvb3QvdXRzLW5zIGhvc3RuYW1lIEZPTworLlRRCisuQiAjIG5zZW50ZXIgLS11dHM9L3Jvb3QvdXRzLW5zIGhvc3RuYW1lCisuVFEKK0ZPTworLlRRCisuQiAjIHVtb3VudCAvcm9vdC91dHMtbnMKKy5icgorRXN0YWJsaXNoIGEgcGVyc2lzdGVudCBVVFMgbmFtZXNwYWNlLCBhbmQgbW9kaWZ5IHRoZSBob3N0bmFtZS4gIFRoZSBuYW1lc3BhY2UKK2lzIHRoZW4gZW50ZXJlZCB3aXRoIFxmQm5zZW50ZXJcZlIuICBUaGUgbmFtZXNwYWNlIGlzIGRlc3Ryb3llZCBieSB1bm1vdW50aW5nCit0aGUgYmluZCByZWZlcmVuY2UuCisuVFAKKy5CICMgbW91bnQgLS1iaW5kIC9yb290L25hbWVzcGFjZXMgL3Jvb3QvbmFtZXNwYWNlcworLlRRCisuQiAjIG1vdW50IC0tbWFrZS1wcml2YXRlIC9yb290L25hbWVzcGFjZXMKKy5UUQorLkIgIyB0b3VjaCAvcm9vdC9uYW1lc3BhY2VzL21udAorLlRRCisuQiAjIHVuc2hhcmUgLS1tb3VudD0vcm9vdC9uYW1lc3BhY2VzL21udAorLmJyCitFc3RhYmxpc2ggYSBwZXJzaXN0ZW50IG1vdW50IG5hbWVzcGFjZSByZWZlcmVuY2VkIGJ5IHRoZSBiaW5kIG1vdW50Cisvcm9vdC9uYW1lc3BhY2VzL21udC4gIFRoaXMgZXhhbXBsZSBzaG93cyBhIHBvcnRhYmxlIHNvbHV0aW9uLCBiZWNhdXNlIGl0CittYWtlcyBzdXJlIHRoYXQgdGhlIGJpbmQgbW91bnQgaXMgY3JlYXRlZCBvbiBhIHNoYXJlZCBmaWxlc3lzdGVtLgorLlRQCisuQiAjIHVuc2hhcmUgLXBmIC0ta2lsbC1jaGlsZCAtLSBiYXNoIC1jICIoc2xlZXAgOTk5ICYpICYmIHNsZWVwIDEwMDAiICYKKy5UUQorLkIgIyBwaWQ9JCEKKy5UUQorLkIgIyBraWxsICRwaWQKKy5icgorUmVsaWFibGUga2lsbGluZyBvZiBzdWJwcm9jZXNzZXMgb2YgdGhlIFxmSXByb2dyYW1cZlIuCitXaGVuIFxmQnVuc2hhcmVcZlIgZ2V0cyBraWxsZWQsIGV2ZXJ5dGhpbmcgYmVsb3cgaXQgZ2V0cyBraWxsZWQgYXMgd2VsbC4KK1dpdGhvdXQgaXQsIHRoZSBjaGlsZHJlbiBvZiBcZklwcm9ncmFtXGZSIHdvdWxkIGhhdmUgb3JwaGFuZWQgYW5kCitiZWVuIHJlLXBhcmVudGVkIHRvIFBJRCAxLgorCisuU0ggU0VFIEFMU08KKy5CUiBjbG9uZSAoMiksCisuQlIgdW5zaGFyZSAoMiksCisuQlIgbmFtZXNwYWNlcyAoNyksCisuQlIgbW91bnQgKDgpCisuU0ggQVVUSE9SUworLlVSIGRvdHRlZG1hZ0Bkb3R0ZWRtYWcubmV0CitNaWtoYWlsIEd1c2Fyb3YKKy5VRQorLmJyCisuVVIga3pha0ByZWRoYXQuY29tCitLYXJlbCBaYWsKKy5VRQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHVuc2hhcmUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy91bnNoYXJlLmMgYi9zeXMtdXRpbHMvdW5zaGFyZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2MWNkMjcKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvdW5zaGFyZS5jCkBAIC0wLDAgKzEsNDgxIEBACisvKgorICogdW5zaGFyZSgxKSAtIGNvbW1hbmQtbGluZSBpbnRlcmZhY2UgZm9yIHVuc2hhcmUoMikKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMDkgTWlraGFpbCBHdXNhcm92IDxkb3R0ZWRtYWdAZG90dGVkbWFnLm5ldD4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorICogdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlCisgKiBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55CisgKiBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyAqIFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHNjaGVkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9tb3VudC5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3ByY3RsLmg+CisKKy8qIHdlIG9ubHkgbmVlZCBzb21lIGRlZmluZXMgbWlzc2luZyBpbiBzeXMvbW91bnQuaCwgbm8gbGlibW91bnQgbGlua2FnZSAqLworI2luY2x1ZGUgPGxpYm1vdW50Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJuYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJleGVjX3NoZWxsLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAic2lnbmFtZXMuaCIKKworLyogc3luY2hyb25pemUgcGFyZW50IGFuZCBjaGlsZCBieSBwaXBlICovCisjZGVmaW5lIFBJUEVfU1lOQ19CWVRFCTB4MDYKKworLyogJ3ByaXZhdGUnIGlzIGtlcm5lbCBkZWZhdWx0ICovCisjZGVmaW5lIFVOU0hBUkVfUFJPUEFHQVRJT05fREVGQVVMVAkoTVNfUkVDIHwgTVNfUFJJVkFURSkKKworLyogL3Byb2MgbmFtZXNwYWNlIGZpbGVzIGFuZCBtb3VudHBvaW50cyBmb3IgYmluZHMgKi8KK3N0YXRpYyBzdHJ1Y3QgbmFtZXNwYWNlX2ZpbGUgeworCWludAkJdHlwZTsJCS8qIENMT05FX05FVyogKi8KKwljb25zdCBjaGFyCSpuYW1lOwkJLyogbnMvPHR5cGU+ICovCisJY29uc3QgY2hhcgkqdGFyZ2V0OwkvKiB1c2VyIHNwZWNpZmllZCB0YXJnZXQgZm9yIGJpbmQgbW91bnQgKi8KK30gbmFtZXNwYWNlX2ZpbGVzW10gPSB7CisJeyAudHlwZSA9IENMT05FX05FV1VTRVIsICAubmFtZSA9ICJucy91c2VyIiB9LAorCXsgLnR5cGUgPSBDTE9ORV9ORVdDR1JPVVAsLm5hbWUgPSAibnMvY2dyb3VwIiB9LAorCXsgLnR5cGUgPSBDTE9ORV9ORVdJUEMsICAgLm5hbWUgPSAibnMvaXBjIiAgfSwKKwl7IC50eXBlID0gQ0xPTkVfTkVXVVRTLCAgIC5uYW1lID0gIm5zL3V0cyIgIH0sCisJeyAudHlwZSA9IENMT05FX05FV05FVCwgICAubmFtZSA9ICJucy9uZXQiICB9LAorCXsgLnR5cGUgPSBDTE9ORV9ORVdQSUQsICAgLm5hbWUgPSAibnMvcGlkIiAgfSwKKwl7IC50eXBlID0gQ0xPTkVfTkVXTlMsICAgIC5uYW1lID0gIm5zL21udCIgIH0sCisJeyAubmFtZSA9IE5VTEwgfQorfTsKKworc3RhdGljIGludCBucGVyc2lzdHM7CS8qIG51bWJlciBvZiBwZXJzaXN0ZW50IG5hbWVzcGFjZXMgKi8KKworCitlbnVtIHsKKwlTRVRHUk9VUFNfTk9ORSA9IC0xLAorCVNFVEdST1VQU19ERU5ZID0gMCwKKwlTRVRHUk9VUFNfQUxMT1cgPSAxLAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKnNldGdyb3Vwc19zdHJpbmdzW10gPQoreworCVtTRVRHUk9VUFNfREVOWV0gPSAiZGVueSIsCisJW1NFVEdST1VQU19BTExPV10gPSAiYWxsb3ciCit9OworCitzdGF0aWMgaW50IHNldGdyb3Vwc19zdHIyaWQoY29uc3QgY2hhciAqc3RyKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoc2V0Z3JvdXBzX3N0cmluZ3MpOyBpKyspCisJCWlmIChzdHJjbXAoc3RyLCBzZXRncm91cHNfc3RyaW5nc1tpXSkgPT0gMCkKKwkJCXJldHVybiBpOworCisJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIC0tc2V0Z3JvdXBzIGFyZ3VtZW50ICclcyciKSwgc3RyKTsKK30KKworc3RhdGljIHZvaWQgc2V0Z3JvdXBzX2NvbnRyb2woaW50IGFjdGlvbikKK3sKKwljb25zdCBjaGFyICpmaWxlID0gX1BBVEhfUFJPQ19TRVRHUk9VUFM7CisJY29uc3QgY2hhciAqY21kOworCWludCBmZDsKKworCWlmIChhY3Rpb24gPCAwIHx8IChzaXplX3QpIGFjdGlvbiA+PSBBUlJBWV9TSVpFKHNldGdyb3Vwc19zdHJpbmdzKSkKKwkJcmV0dXJuOworCWNtZCA9IHNldGdyb3Vwc19zdHJpbmdzW2FjdGlvbl07CisKKwlmZCA9IG9wZW4oZmlsZSwgT19XUk9OTFkpOworCWlmIChmZCA8IDApIHsKKwkJaWYgKGVycm5vID09IEVOT0VOVCkKKwkJCXJldHVybjsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZSk7CisJfQorCisJaWYgKHdyaXRlX2FsbChmZCwgY21kLCBzdHJsZW4oY21kKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGZhaWxlZCAlcyIpLCBmaWxlKTsKKwljbG9zZShmZCk7Cit9CisKK3N0YXRpYyB2b2lkIG1hcF9pZChjb25zdCBjaGFyICpmaWxlLCB1aW50MzJfdCBmcm9tLCB1aW50MzJfdCB0bykKK3sKKwljaGFyICpidWY7CisJaW50IGZkOworCisJZmQgPSBvcGVuKGZpbGUsIE9fV1JPTkxZKTsKKwlpZiAoZmQgPCAwKQorCQkgZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZmlsZSk7CisKKwl4YXNwcmludGYoJmJ1ZiwgIiV1ICV1IDEiLCBmcm9tLCB0byk7CisJaWYgKHdyaXRlX2FsbChmZCwgYnVmLCBzdHJsZW4oYnVmKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oIndyaXRlIGZhaWxlZCAlcyIpLCBmaWxlKTsKKwlmcmVlKGJ1Zik7CisJY2xvc2UoZmQpOworfQorCitzdGF0aWMgdW5zaWduZWQgbG9uZyBwYXJzZV9wcm9wYWdhdGlvbihjb25zdCBjaGFyICpzdHIpCit7CisJc2l6ZV90IGk7CisJc3RhdGljIGNvbnN0IHN0cnVjdCBwcm9wX29wdHMgeworCQljb25zdCBjaGFyICpuYW1lOworCQl1bnNpZ25lZCBsb25nIGZsYWc7CisJfSBvcHRzW10gPSB7CisJCXsgInNsYXZlIiwJTVNfUkVDIHwgTVNfU0xBVkUgfSwKKwkJeyAicHJpdmF0ZSIsCU1TX1JFQyB8IE1TX1BSSVZBVEUgfSwKKwkJeyAic2hhcmVkIiwgICAgIE1TX1JFQyB8IE1TX1NIQVJFRCB9LAorCQl7ICJ1bmNoYW5nZWQiLCAgICAgICAgMCB9CisJfTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKG9wdHMpOyBpKyspIHsKKwkJaWYgKHN0cmNtcChvcHRzW2ldLm5hbWUsIHN0cikgPT0gMCkKKwkJCXJldHVybiBvcHRzW2ldLmZsYWc7CisJfQorCisJZXJyeChFWElUX0ZBSUxVUkUsIF8oInVuc3VwcG9ydGVkIHByb3BhZ2F0aW9uIG1vZGU6ICVzIiksIHN0cik7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9wcm9wYWdhdGlvbih1bnNpZ25lZCBsb25nIGZsYWdzKQoreworCWlmIChmbGFncyA9PSAwKQorCQlyZXR1cm47CisKKwlpZiAobW91bnQoIm5vbmUiLCAiLyIsIE5VTEwsIGZsYWdzLCBOVUxMKSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3QgY2hhbmdlIHJvb3QgZmlsZXN5c3RlbSBwcm9wYWdhdGlvbiIpKTsKK30KKworCitzdGF0aWMgaW50IHNldF9uc190YXJnZXQoaW50IHR5cGUsIGNvbnN0IGNoYXIgKnBhdGgpCit7CisJc3RydWN0IG5hbWVzcGFjZV9maWxlICpuczsKKworCWZvciAobnMgPSBuYW1lc3BhY2VfZmlsZXM7IG5zLT5uYW1lOyBucysrKSB7CisJCWlmIChucy0+dHlwZSAhPSB0eXBlKQorCQkJY29udGludWU7CisJCW5zLT50YXJnZXQgPSBwYXRoOworCQlucGVyc2lzdHMrKzsKKwkJcmV0dXJuIDA7CisJfQorCisJcmV0dXJuIC1FSU5WQUw7Cit9CisKK3N0YXRpYyBpbnQgYmluZF9uc19maWxlcyhwaWRfdCBwaWQpCit7CisJc3RydWN0IG5hbWVzcGFjZV9maWxlICpuczsKKwljaGFyIHNyY1tQQVRIX01BWF07CisKKwlmb3IgKG5zID0gbmFtZXNwYWNlX2ZpbGVzOyBucy0+bmFtZTsgbnMrKykgeworCQlpZiAoIW5zLT50YXJnZXQpCisJCQljb250aW51ZTsKKworCQlzbnByaW50ZihzcmMsIHNpemVvZihzcmMpLCAiL3Byb2MvJXUvJXMiLCAodW5zaWduZWQpIHBpZCwgbnMtPm5hbWUpOworCisJCWlmIChtb3VudChzcmMsIG5zLT50YXJnZXQsIE5VTEwsIE1TX0JJTkQsIE5VTEwpICE9IDApCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJtb3VudCAlcyBvbiAlcyBmYWlsZWQiKSwgc3JjLCBucy0+dGFyZ2V0KTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGlub190IGdldF9tbnRfaW5vKHBpZF90IHBpZCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzdDsKKwljaGFyIHBhdGhbUEFUSF9NQVhdOworCisJc25wcmludGYocGF0aCwgc2l6ZW9mKHBhdGgpLCAiL3Byb2MvJXUvbnMvbW50IiwgKHVuc2lnbmVkKSBwaWQpOworCisJaWYgKHN0YXQocGF0aCwgJnN0KSAhPSAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc3RhdCAlcyIpLCBwYXRoKTsKKwlyZXR1cm4gc3Quc3RfaW5vOworfQorCitzdGF0aWMgdm9pZCBiaW5kX25zX2ZpbGVzX2Zyb21fY2hpbGQocGlkX3QgKmNoaWxkLCBpbnQgZmRzWzJdKQoreworCWNoYXIgY2g7CisJcGlkX3QgcHBpZCA9IGdldHBpZCgpOworCWlub190IGlubyA9IGdldF9tbnRfaW5vKHBwaWQpOworCisJaWYgKHBpcGUoZmRzKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oInBpcGUgZmFpbGVkIikpOworCisJKmNoaWxkID0gZm9yaygpOworCisJc3dpdGNoICgqY2hpbGQpIHsKKwljYXNlIC0xOgorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmb3JrIGZhaWxlZCIpKTsKKworCWNhc2UgMDoJLyogY2hpbGQgKi8KKwkJY2xvc2UoZmRzWzFdKTsKKwkJZmRzWzFdID0gLTE7CisKKwkJLyogd2FpdCBmb3IgcGFyZW50ICovCisJCWlmIChyZWFkX2FsbChmZHNbMF0sICZjaCwgMSkgIT0gMSAmJiBjaCAhPSBQSVBFX1NZTkNfQllURSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byByZWFkIHBpcGUiKSk7CisJCWlmIChnZXRfbW50X2lubyhwcGlkKSA9PSBpbm8pCisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCWJpbmRfbnNfZmlsZXMocHBpZCk7CisJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJYnJlYWs7CisKKwlkZWZhdWx0OiAvKiBwYXJlbnQgKi8KKwkJY2xvc2UoZmRzWzBdKTsKKwkJZmRzWzBdID0gLTE7CisJCWJyZWFrOworCX0KK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gWzxwcm9ncmFtPiBbPGFyZ3VtZW50Pi4uLl1dXG4iKSwKKwkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJ1biBhIHByb2dyYW0gd2l0aCBzb21lIG5hbWVzcGFjZXMgdW5zaGFyZWQgZnJvbSB0aGUgcGFyZW50LlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtbSwgLS1tb3VudFs9PGZpbGU+XSAgICAgIHVuc2hhcmUgbW91bnRzIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC11LCAtLXV0c1s9PGZpbGU+XSAgICAgICAgdW5zaGFyZSBVVFMgbmFtZXNwYWNlIChob3N0bmFtZSBldGMpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWksIC0taXBjWz08ZmlsZT5dICAgICAgICB1bnNoYXJlIFN5c3RlbSBWIElQQyBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1uZXRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgbmV0d29yayBuYW1lc3BhY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1waWRbPTxmaWxlPl0gICAgICAgIHVuc2hhcmUgcGlkIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1VLCAtLXVzZXJbPTxmaWxlPl0gICAgICAgdW5zaGFyZSB1c2VyIG5hbWVzcGFjZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1DLCAtLWNncm91cFs9PGZpbGU+XSAgICAgdW5zaGFyZSBjZ3JvdXAgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZm9yayAgICAgICAgICAgICAgICBmb3JrIGJlZm9yZSBsYXVuY2hpbmcgPHByb2dyYW0+XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0ta2lsbC1jaGlsZFs9PHNpZ25hbWU+XSAgd2hlbiBkeWluZywga2lsbCB0aGUgZm9ya2VkIGNoaWxkIChpbXBsaWVzIC0tZm9yayk7IGRlZmF1bHRzIHRvIFNJR0tJTExcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1tb3VudC1wcm9jWz08ZGlyPl0gIG1vdW50IHByb2MgZmlsZXN5c3RlbSBmaXJzdCAoaW1wbGllcyAtLW1vdW50KVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1yLCAtLW1hcC1yb290LXVzZXIgICAgICAgbWFwIGN1cnJlbnQgdXNlciB0byByb290IChpbXBsaWVzIC0tdXNlcilcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1wcm9wYWdhdGlvbiBzbGF2ZXxzaGFyZWR8cHJpdmF0ZXx1bmNoYW5nZWRcbiIKKwkgICAgICAgICIgICAgICAgICAgICAgICAgICAgICAgICAgICBtb2RpZnkgbW91bnQgcHJvcGFnYXRpb24gaW4gbW91bnQgbmFtZXNwYWNlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0tc2V0Z3JvdXBzIGFsbG93fGRlbnkgIGNvbnRyb2wgdGhlIHNldGdyb3VwcyBzeXNjYWxsIGluIHVzZXIgbmFtZXNwYWNlc1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNykpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgidW5zaGFyZSgxKSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKK3sKKwllbnVtIHsKKwkJT1BUX01PVU5UUFJPQyA9IENIQVJfTUFYICsgMSwKKwkJT1BUX1BST1BBR0FUSU9OLAorCQlPUFRfU0VUR1JPVVBTLAorCQlPUFRfS0lMTENISUxECisJfTsKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJoZWxwIiwgICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyAgICAgICAgICAgICB9LAorCQl7ICJ2ZXJzaW9uIiwgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyAgICAgICAgICAgICB9LAorCisJCXsgIm1vdW50IiwgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ20nICAgICAgICAgICAgIH0sCisJCXsgInV0cyIsICAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ3UnICAgICAgICAgICAgIH0sCisJCXsgImlwYyIsICAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ2knICAgICAgICAgICAgIH0sCisJCXsgIm5ldCIsICAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ24nICAgICAgICAgICAgIH0sCisJCXsgInBpZCIsICAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ3AnICAgICAgICAgICAgIH0sCisJCXsgInVzZXIiLCAgICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ1UnICAgICAgICAgICAgIH0sCisJCXsgImNncm91cCIsICAgICAgICBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ0MnICAgICAgICAgICAgIH0sCisKKwkJeyAiZm9yayIsICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZicgICAgICAgICAgICAgfSwKKwkJeyAia2lsbC1jaGlsZCIsICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfS0lMTENISUxEICAgfSwKKwkJeyAibW91bnQtcHJvYyIsICAgIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfTU9VTlRQUk9DICAgfSwKKwkJeyAibWFwLXJvb3QtdXNlciIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgICAgICAgICAgICAgfSwKKwkJeyAicHJvcGFnYXRpb24iLCAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfUFJPUEFHQVRJT04gfSwKKwkJeyAic2V0Z3JvdXBzIiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfU0VUR1JPVVBTICAgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJaW50IHNldGdycGNtZCA9IFNFVEdST1VQU19OT05FOworCWludCB1bnNoYXJlX2ZsYWdzID0gMDsKKwlpbnQgYywgZm9ya2l0ID0gMCwgbWFwcm9vdCA9IDA7CisJaW50IGtpbGxfY2hpbGRfc2lnbm8gPSAwOyAvKiAwIG1lYW5zIC0ta2lsbC1jaGlsZCB3YXMgbm90IHVzZWQgKi8KKwljb25zdCBjaGFyICpwcm9jbW50ID0gTlVMTDsKKwlwaWRfdCBwaWQgPSAwOworCWludCBmZHNbMl07CisJaW50IHN0YXR1czsKKwl1bnNpZ25lZCBsb25nIHByb3BhZ2F0aW9uID0gVU5TSEFSRV9QUk9QQUdBVElPTl9ERUZBVUxUOworCXVpZF90IHJlYWxfZXVpZCA9IGdldGV1aWQoKTsKKwlnaWRfdCByZWFsX2VnaWQgPSBnZXRlZ2lkKCk7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIitmaFZtdWlucENVciIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2YnOgorCQkJZm9ya2l0ID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdtJzoKKwkJCXVuc2hhcmVfZmxhZ3MgfD0gQ0xPTkVfTkVXTlM7CisJCQlpZiAob3B0YXJnKQorCQkJCXNldF9uc190YXJnZXQoQ0xPTkVfTkVXTlMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAndSc6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV1VUUzsKKwkJCWlmIChvcHRhcmcpCisJCQkJc2V0X25zX3RhcmdldChDTE9ORV9ORVdVVFMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV0lQQzsKKwkJCWlmIChvcHRhcmcpCisJCQkJc2V0X25zX3RhcmdldChDTE9ORV9ORVdJUEMsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV05FVDsKKwkJCWlmIChvcHRhcmcpCisJCQkJc2V0X25zX3RhcmdldChDTE9ORV9ORVdORVQsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV1BJRDsKKwkJCWlmIChvcHRhcmcpCisJCQkJc2V0X25zX3RhcmdldChDTE9ORV9ORVdQSUQsIG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVSc6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV1VTRVI7CisJCQlpZiAob3B0YXJnKQorCQkJCXNldF9uc190YXJnZXQoQ0xPTkVfTkVXVVNFUiwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdDJzoKKwkJCXVuc2hhcmVfZmxhZ3MgfD0gQ0xPTkVfTkVXQ0dST1VQOworCQkJaWYgKG9wdGFyZykKKwkJCQlzZXRfbnNfdGFyZ2V0KENMT05FX05FV0NHUk9VUCwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9NT1VOVFBST0M6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV05TOworCQkJcHJvY21udCA9IG9wdGFyZyA/IG9wdGFyZyA6ICIvcHJvYyI7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQl1bnNoYXJlX2ZsYWdzIHw9IENMT05FX05FV1VTRVI7CisJCQltYXByb290ID0gMTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9TRVRHUk9VUFM6CisJCQlzZXRncnBjbWQgPSBzZXRncm91cHNfc3RyMmlkKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUFJPUEFHQVRJT046CisJCQlwcm9wYWdhdGlvbiA9IHBhcnNlX3Byb3BhZ2F0aW9uKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfS0lMTENISUxEOgorCQkJZm9ya2l0ID0gMTsKKwkJCWlmIChvcHRhcmcpIHsKKwkJCQlpZiAoKGtpbGxfY2hpbGRfc2lnbm8gPSBzaWduYW1lX3RvX3NpZ251bShvcHRhcmcpKSA8IDApCisJCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ1bmtub3duIHNpZ25hbDogJXMiKSwKKwkJCQkJICAgICBvcHRhcmcpOworCQkJfSBlbHNlIHsKKwkJCQlraWxsX2NoaWxkX3NpZ25vID0gU0lHS0lMTDsKKwkJCX0KKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJaWYgKG5wZXJzaXN0cyAmJiAodW5zaGFyZV9mbGFncyAmIENMT05FX05FV05TKSkKKwkJYmluZF9uc19maWxlc19mcm9tX2NoaWxkKCZwaWQsIGZkcyk7CisKKwlpZiAoLTEgPT0gdW5zaGFyZSh1bnNoYXJlX2ZsYWdzKSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygidW5zaGFyZSBmYWlsZWQiKSk7CisKKwlpZiAobnBlcnNpc3RzKSB7CisJCWlmIChwaWQgJiYgKHVuc2hhcmVfZmxhZ3MgJiBDTE9ORV9ORVdOUykpIHsKKwkJCWludCByYzsKKwkJCWNoYXIgY2ggPSBQSVBFX1NZTkNfQllURTsKKworCQkJLyogc2lnbmFsIGNoaWxkIHdlIGFyZSByZWFkeSAqLworCQkJd3JpdGVfYWxsKGZkc1sxXSwgJmNoLCAxKTsKKwkJCWNsb3NlKGZkc1sxXSk7CisJCQlmZHNbMV0gPSAtMTsKKworCQkJLyogd2FpdCBmb3IgYmluZF9uc19maWxlc19mcm9tX2NoaWxkKCkgKi8KKwkJCWRvIHsKKwkJCQlyYyA9IHdhaXRwaWQocGlkLCAmc3RhdHVzLCAwKTsKKwkJCQlpZiAocmMgPCAwKSB7CisJCQkJCWlmIChlcnJubyA9PSBFSU5UUikKKwkJCQkJCWNvbnRpbnVlOworCQkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3YWl0cGlkIGZhaWxlZCIpKTsKKwkJCQl9CisJCQkJaWYgKFdJRkVYSVRFRChzdGF0dXMpICYmCisJCQkJICAgIFdFWElUU1RBVFVTKHN0YXR1cykgIT0gRVhJVF9TVUNDRVNTKQorCQkJCQlyZXR1cm4gV0VYSVRTVEFUVVMoc3RhdHVzKTsKKwkJCX0gd2hpbGUgKHJjIDwgMCk7CisJCX0gZWxzZQorCQkJLyogc2ltcGxlIHdheSwganVzdCBiaW5kICovCisJCQliaW5kX25zX2ZpbGVzKGdldHBpZCgpKTsKKwl9CisKKwlpZiAoZm9ya2l0KSB7CisJCXBpZCA9IGZvcmsoKTsKKworCQlzd2l0Y2gocGlkKSB7CisJCWNhc2UgLTE6CisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmb3JrIGZhaWxlZCIpKTsKKwkJY2FzZSAwOgkvKiBjaGlsZCAqLworCQkJYnJlYWs7CisJCWRlZmF1bHQ6IC8qIHBhcmVudCAqLworCQkJaWYgKHdhaXRwaWQocGlkLCAmc3RhdHVzLCAwKSA9PSAtMSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJ3YWl0cGlkIGZhaWxlZCIpKTsKKwkJCWlmIChXSUZFWElURUQoc3RhdHVzKSkKKwkJCQlyZXR1cm4gV0VYSVRTVEFUVVMoc3RhdHVzKTsKKwkJCWVsc2UgaWYgKFdJRlNJR05BTEVEKHN0YXR1cykpCisJCQkJa2lsbChnZXRwaWQoKSwgV1RFUk1TSUcoc3RhdHVzKSk7CisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjaGlsZCBleGl0IGZhaWxlZCIpKTsKKwkJfQorCX0KKworCWlmIChraWxsX2NoaWxkX3NpZ25vICE9IDAgJiYgcHJjdGwoUFJfU0VUX1BERUFUSFNJRywga2lsbF9jaGlsZF9zaWdubykgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCAicHJjdGwgZmFpbGVkIik7CisKKwlpZiAobWFwcm9vdCkgeworCQlpZiAoc2V0Z3JwY21kID09IFNFVEdST1VQU19BTExPVykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb25zIC0tc2V0Z3JvdXBzPWFsbG93IGFuZCAiCisJCQkJCSItLW1hcC1yb290LXVzZXIgYXJlIG11dHVhbGx5IGV4Y2x1c2l2ZSIpKTsKKworCQkvKiBzaW5jZSBMaW51eCAzLjE5IHVucHJpdmlsZWdlZCB3cml0aW5nIG9mIC9wcm9jL3NlbGYvZ2lkX21hcAorCQkgKiBoYXMgcyBiZWVuIGRpc2FibGVkIHVubGVzcyAvcHJvYy9zZWxmL3NldGdyb3VwcyBpcyB3cml0dGVuCisJCSAqIGZpcnN0IHRvIHBlcm1hbmVudGx5IGRpc2FibGUgdGhlIGFiaWxpdHkgdG8gY2FsbCBzZXRncm91cHMKKwkJICogaW4gdGhhdCB1c2VyIG5hbWVzcGFjZS4gKi8KKwkJc2V0Z3JvdXBzX2NvbnRyb2woU0VUR1JPVVBTX0RFTlkpOworCQltYXBfaWQoX1BBVEhfUFJPQ19VSURNQVAsIDAsIHJlYWxfZXVpZCk7CisJCW1hcF9pZChfUEFUSF9QUk9DX0dJRE1BUCwgMCwgcmVhbF9lZ2lkKTsKKworCX0gZWxzZSBpZiAoc2V0Z3JwY21kICE9IFNFVEdST1VQU19OT05FKQorCQlzZXRncm91cHNfY29udHJvbChzZXRncnBjbWQpOworCisJaWYgKCh1bnNoYXJlX2ZsYWdzICYgQ0xPTkVfTkVXTlMpICYmIHByb3BhZ2F0aW9uKQorCQlzZXRfcHJvcGFnYXRpb24ocHJvcGFnYXRpb24pOworCisJaWYgKHByb2NtbnQgJiYKKwkgICAgKG1vdW50KCJub25lIiwgcHJvY21udCwgTlVMTCwgTVNfUFJJVkFURXxNU19SRUMsIE5VTEwpICE9IDAgfHwKKwkgICAgIG1vdW50KCJwcm9jIiwgcHJvY21udCwgInByb2MiLCBNU19OT1NVSUR8TVNfTk9FWEVDfE1TX05PREVWLCBOVUxMKSAhPSAwKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIm1vdW50ICVzIGZhaWxlZCIpLCBwcm9jbW50KTsKKworCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCWV4ZWN2cChhcmd2W29wdGluZF0sIGFyZ3YgKyBvcHRpbmQpOworCQllcnJleGVjKGFyZ3Zbb3B0aW5kXSk7CisJfQorCWV4ZWNfc2hlbGwoKTsKK30KZGlmZiAtLWdpdCBhL3N5cy11dGlscy93ZGN0bC44IGIvc3lzLXV0aWxzL3dkY3RsLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VkZjgwOAotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy93ZGN0bC44CkBAIC0wLDAgKzEsNzAgQEAKKy5cIiB3ZGN0bC44IC0tCisuXCIgQ29weXJpZ2h0IChDKSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5USCBXRENUTCAiOCIgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQord2RjdGwgXC0gc2hvdyBoYXJkd2FyZSB3YXRjaGRvZyBzdGF0dXMKKy5TSCBTWU5PUFNJUworLkIgd2RjdGwKK1tvcHRpb25zXQorLlJJIFsgZGV2aWNlIC4uLl0KKy5TSCBERVNDUklQVElPTgorU2hvdyBoYXJkd2FyZSB3YXRjaGRvZyBzdGF0dXMuICBUaGUgZGVmYXVsdCBkZXZpY2UgaXMKKy5JUiAvZGV2L3dhdGNoZG9nIC4KK0lmIG1vcmUgdGhhbiBvbmUgZGV2aWNlIGlzIHNwZWNpZmllZCB0aGVuIHRoZSBvdXRwdXQgaXMgc2VwYXJhdGVkIGJ5CitvbmUgYmxhbmsgbGluZS4KKy5QUAorTm90ZSB0aGF0IHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkIHdhdGNoZG9nIGZlYXR1cmVzIGlzIGhhcmR3YXJlIHNwZWNpZmljLgorLlNIIE9QVElPTlMKKy5UUAorLkJSIFwtZiAsICIgXC1cLWZsYWdzICIgXGZJbGlzdAorUHJpbnQgb25seSB0aGUgc3BlY2lmaWVkIGZsYWdzLgorLlRQCisuQlIgXC1GICwgIiBcLVwtbm9mbGFncyIKK0RvIG5vdCBwcmludCBpbmZvcm1hdGlvbiBhYm91dCBmbGFncy4KKy5UUAorLkJSIFwtSSAsICIgXC1cLW5vaWRlbnQiCitEbyBub3QgcHJpbnQgd2F0Y2hkb2cgaWRlbnRpdHkgaW5mb3JtYXRpb24uCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1ub2hlYWRpbmdzIgorRG8gbm90IHByaW50IGEgaGVhZGVyIGxpbmUgZm9yIGZsYWdzIHRhYmxlLgorLklQICJcZkJcLW9cZlIsIFxmQlwtXC1vdXRwdXQgXGZJbGlzdFxmUCIKK0RlZmluZSB0aGUgb3V0cHV0IGNvbHVtbnMgdG8gdXNlIGluIHRhYmxlIG9mIHdhdGNoZG9nIGZsYWdzLiAgSWYgbm8KK291dHB1dCBhcnJhbmdlbWVudCBpcyBzcGVjaWZpZWQsIHRoZW4gYSBkZWZhdWx0IHNldCBpcyB1c2VkLiAgVXNlCisuQiBcLVwtaGVscAordG8gZ2V0IGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorLlRQCisuQlIgXC1PICwgIiBcLVwtb25lbGluZSIKK1ByaW50IGFsbCB3YW50ZWQgaW5mb3JtYXRpb24gb24gb25lIGxpbmUgaW4ga2V5PSJ2YWx1ZSIgb3V0cHV0IGZvcm1hdC4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJhdyIKK1VzZSB0aGUgcmF3IG91dHB1dCBmb3JtYXQuCisuVFAKKy5CUiBcLXMgLCAiIFwtc2V0dGltZW91dCAiIFxmSXNlY29uZHMKK1NldCB0aGUgd2F0Y2hkb2cgdGltZW91dCBpbiBzZWNvbmRzLgorLlRQCisuQlIgXC1UICwgIiBcLVwtbm90aW1lb3V0cyIKK0RvIG5vdCBwcmludCB3YXRjaGRvZyB0aW1lb3V0cy4KKy5JUCAiXGZCXC14XGZSLCBcZkJcLVwtZmxhZ3NcLW9ubHlcZlAiCitTYW1lIGFzIFxmQlwtSSBcLVRcZlAuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIEFVVEhPUlMKKy5NVCBremFrQFw6cmVkaGF0XDouY29tCitLYXJlbCBaYWsKKy5NRQorLmJyCisuTVQgbGVubmFydEBcOnBvZXR0ZXJpbmdcOi5uZXQKK0xlbm5hcnQgUG9ldHRlcmluZworLk1FCisuU0ggQVZBSUxBQklMSVRZCitUaGUKKy5CIHdkY3RsCitjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3dkY3RsLmMgYi9zeXMtdXRpbHMvd2RjdGwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NDJkYjg1Ci0tLSAvZGV2L251bGwKKysrIGIvc3lzLXV0aWxzL3dkY3RsLmMKQEAgLTAsMCArMSw2MTggQEAKKy8qCisgKiB3ZGN0bCg4KSAtIHNob3cgaGFyZHdhcmUgd2F0Y2hkb2cgc3RhdHVzCisgKgorICogQ29weXJpZ2h0IChDKSAyMDEyIExlbm5hcnQgUG9ldHRlcmluZworICogQ29weXJpZ2h0IChDKSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5IGl0CisgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUKKyAqIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkKKyAqIGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsIGJ1dAorICogV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdOVQorICogR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8YXNzZXJ0Lmg+CisjaW5jbHVkZSA8bGludXgvd2F0Y2hkb2cuaD4KKworI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNhcmVmdWxwdXRjLmgiCisKKy8qCisgKiBzaW5jZSAyLjYuMTgKKyAqLworI2lmbmRlZiBXRElPQ19TRVRQUkVUSU1FT1VUCisjIGRlZmluZSBXRElPQ19TRVRQUkVUSU1FT1VUICAgIF9JT1dSKFdBVENIRE9HX0lPQ1RMX0JBU0UsIDgsIGludCkKKyMgZGVmaW5lIFdESU9DX0dFVFBSRVRJTUVPVVQJX0lPUihXQVRDSERPR19JT0NUTF9CQVNFLCA5LCBpbnQpCisjIGRlZmluZSBXRElPQ19HRVRUSU1FTEVGVAlfSU9SKFdBVENIRE9HX0lPQ1RMX0JBU0UsIDEwLCBpbnQpCisjIGRlZmluZSBXRElPRl9QT1dFUk9WRVIJMHgwMDQwCS8qIFBvd2VyIG92ZXIgdm9sdGFnZSAqLworIyBkZWZpbmUgV0RJT0ZfU0VUVElNRU9VVAkweDAwODAgIC8qIFNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSAqLworIyBkZWZpbmUgV0RJT0ZfTUFHSUNDTE9TRQkweDAxMDAJLyogU3VwcG9ydHMgbWFnaWMgY2xvc2UgY2hhciAqLworIyBkZWZpbmUgV0RJT0ZfUFJFVElNRU9VVAkweDAyMDAgIC8qIFByZXRpbWVvdXQgKGluIHNlY29uZHMpLCBnZXQvc2V0ICovCisjIGRlZmluZSBXRElPRl9LRUVQQUxJVkVQSU5HCTB4ODAwMAkvKiBLZWVwIGFsaXZlIHBpbmcgcmVwbHkgKi8KKyNlbmRpZgorCisvKgorICogc2luY2UgMy41CisgKi8KKyNpZm5kZWYgV0RJT0ZfQUxBUk1PTkxZCisjIGRlZmluZSBXRElPRl9BTEFSTU9OTFkJMHgwNDAwCS8qIFdhdGNoZG9nIHRyaWdnZXJzIGEgbWFuYWdlbWVudCBvcgorCQkJCQkgICBvdGhlciBleHRlcm5hbCBhbGFybSBub3QgYSByZWJvb3QgKi8KKyNlbmRpZgorCisvKiBiYXNpYyBvdXRwdXQgZmxhZ3MgKi8KK3N0YXRpYyBpbnQgbm9faGVhZGluZ3M7CitzdGF0aWMgaW50IHJhdzsKKworc3RydWN0IHdkZmxhZyB7CisJdWludDMyX3QJZmxhZzsKKwljb25zdCBjaGFyCSpuYW1lOworCWNvbnN0IGNoYXIJKmRlc2NyaXB0aW9uOworfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCB3ZGZsYWcgd2RmbGFnc1tdID0geworCXsgV0RJT0ZfQ0FSRFJFU0VULCAgICAgIkNBUkRSRVNFVCIsICBOXygiQ2FyZCBwcmV2aW91c2x5IHJlc2V0IHRoZSBDUFUiKSB9LAorCXsgV0RJT0ZfRVhURVJOMSwgICAgICAgIkVYVEVSTjEiLCAgICBOXygiRXh0ZXJuYWwgcmVsYXkgMSIpIH0sCisJeyBXRElPRl9FWFRFUk4yLCAgICAgICAiRVhURVJOMiIsICAgIE5fKCJFeHRlcm5hbCByZWxheSAyIikgfSwKKwl7IFdESU9GX0ZBTkZBVUxULCAgICAgICJGQU5GQVVMVCIsICAgTl8oIkZhbiBmYWlsZWQiKSB9LAorCXsgV0RJT0ZfS0VFUEFMSVZFUElORywgIktFRVBBTElWRVBJTkciLCBOXygiS2VlcCBhbGl2ZSBwaW5nIHJlcGx5IikgfSwKKwl7IFdESU9GX01BR0lDQ0xPU0UsICAgICJNQUdJQ0NMT1NFIiwgTl8oIlN1cHBvcnRzIG1hZ2ljIGNsb3NlIGNoYXIiKSB9LAorCXsgV0RJT0ZfT1ZFUkhFQVQsICAgICAgIk9WRVJIRUFUIiwgICBOXygiUmVzZXQgZHVlIHRvIENQVSBvdmVyaGVhdCIpIH0sCisJeyBXRElPRl9QT1dFUk9WRVIsICAgICAiUE9XRVJPVkVSIiwgIE5fKCJQb3dlciBvdmVyIHZvbHRhZ2UiKSB9LAorCXsgV0RJT0ZfUE9XRVJVTkRFUiwgICAgIlBPV0VSVU5ERVIiLCBOXygiUG93ZXIgYmFkL3Bvd2VyIGZhdWx0IikgfSwKKwl7IFdESU9GX1BSRVRJTUVPVVQsICAgICJQUkVUSU1FT1VUIiwgTl8oIlByZXRpbWVvdXQgKGluIHNlY29uZHMpIikgfSwKKwl7IFdESU9GX1NFVFRJTUVPVVQsICAgICJTRVRUSU1FT1VUIiwgTl8oIlNldCB0aW1lb3V0IChpbiBzZWNvbmRzKSIpIH0sCisJeyBXRElPRl9BTEFSTU9OTFksICAgICAiQUxBUk1PTkxZIiwgIE5fKCJOb3QgdHJpZ2dlciByZWJvb3QiKSB9Cit9OworCisKKy8qIGNvbHVtbiBuYW1lcyAqLworc3RydWN0IGNvbGluZm8geworCWNvbnN0IGNoYXIgKm5hbWU7IC8qIGhlYWRlciAqLworCWRvdWJsZQkgICB3aGludDsgLyogd2lkdGggaGludCAoTiA8IDEgaXMgaW4gcGVyY2VudCBvZiB0ZXJtd2lkdGgpICovCisJaW50CSAgIGZsYWdzOyAvKiBTQ09MU19GTF8qICovCisJY29uc3QgY2hhciAqaGVscDsKK307CisKK2VudW0geyBDT0xfRkxBRywgQ09MX0RFU0MsIENPTF9TVEFUVVMsIENPTF9CU1RBVFVTLCBDT0xfREVWSUNFIH07CisKKy8qIGNvbHVtbnMgZGVzY3JpcHRpb25zICovCitzdGF0aWMgc3RydWN0IGNvbGluZm8gaW5mb3NbXSA9IHsKKwlbQ09MX0ZMQUddICAgID0geyAiRkxBRyIsICAgICAgICAxNCwgIDAsIE5fKCJmbGFnIG5hbWUiKSB9LAorCVtDT0xfREVTQ10gICAgPSB7ICJERVNDUklQVElPTiIsIDAuMSwgU0NPTFNfRkxfVFJVTkMsIE5fKCJmbGFnIGRlc2NyaXB0aW9uIikgfSwKKwlbQ09MX1NUQVRVU10gID0geyAiU1RBVFVTIiwgICAgICAxLCAgIFNDT0xTX0ZMX1JJR0hULCBOXygiZmxhZyBzdGF0dXMiKSB9LAorCVtDT0xfQlNUQVRVU10gPSB7ICJCT09ULVNUQVRVUyIsIDEsICAgU0NPTFNfRkxfUklHSFQsIE5fKCJmbGFnIGJvb3Qgc3RhdHVzIikgfSwKKwlbQ09MX0RFVklDRV0gID0geyAiREVWSUNFIiwgICAgICAwLjEsIDAsIE5fKCJ3YXRjaGRvZyBkZXZpY2UgbmFtZSIpIH0KKworfTsKKworc3RhdGljIGludCBjb2x1bW5zW0FSUkFZX1NJWkUoaW5mb3MpICogMl07CitzdGF0aWMgaW50IG5jb2x1bW5zOworCitzdHJ1Y3Qgd2RpbmZvIHsKKwljaGFyCQkqZGV2aWNlOworCisJaW50CQl0aW1lb3V0OworCWludAkJdGltZWxlZnQ7CisJaW50CQlwcmV0aW1lb3V0OworCisJdWludDMyX3QJc3RhdHVzOworCXVpbnQzMl90CWJzdGF0dXM7CisKKwlzdHJ1Y3Qgd2F0Y2hkb2dfaW5mbyBpZGVudDsKKworCXVuc2lnbmVkIGludAloYXNfdGltZW91dCA6IDEsCisJCQloYXNfdGltZWxlZnQgOiAxLAorCQkJaGFzX3ByZXRpbWVvdXQgOiAxOworfTsKKworLyogY29udmVydHMgZmxhZyBuYW1lIHRvIGZsYWcgYml0ICovCitzdGF0aWMgbG9uZyBuYW1lMmJpdChjb25zdCBjaGFyICpuYW1lLCBzaXplX3QgbmFtZXN6KQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod2RmbGFncyk7IGkrKykgeworCQljb25zdCBjaGFyICpjbiA9IHdkZmxhZ3NbaV0ubmFtZTsKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gd2RmbGFnc1tpXS5mbGFnOworCX0KKwl3YXJueChfKCJ1bmtub3duIGZsYWc6ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBjb2x1bW4yaWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gaW5mb3NbaV0ubmFtZTsKKwkJaWYgKCFzdHJuY2FzZWNtcChuYW1lLCBjbiwgbmFtZXN6KSAmJiAhKihjbiArIG5hbWVzeikpCisJCQlyZXR1cm4gaTsKKwl9CisJd2FybngoXygidW5rbm93biBjb2x1bW46ICVzIiksIG5hbWUpOworCXJldHVybiAtMTsKK30KKworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludCkgQVJSQVlfU0laRShpbmZvcykpOworCisJcmV0dXJuIGNvbHVtbnNbbnVtXTsKK30KKworc3RhdGljIHN0cnVjdCBjb2xpbmZvICpnZXRfY29sdW1uX2luZm8odW5zaWduZWQgbnVtKQoreworCXJldHVybiAmaW5mb3NbIGdldF9jb2x1bW5faWQobnVtKSBdOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlzaXplX3QgaTsKKworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgW29wdGlvbnNdIFs8ZGV2aWNlPiAuLi5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNob3cgdGhlIHN0YXR1cyBvZiB0aGUgaGFyZHdhcmUgd2F0Y2hkb2cuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZsYWdzIDxsaXN0PiAgICAgcHJpbnQgc2VsZWN0ZWQgZmxhZ3Mgb25seVxuIgorCQkiIC1GLCAtLW5vZmxhZ3MgICAgICAgICAgZG9uJ3QgcHJpbnQgaW5mb3JtYXRpb24gYWJvdXQgZmxhZ3NcbiIKKwkJIiAtSSwgLS1ub2lkZW50ICAgICAgICAgIGRvbid0IHByaW50IHdhdGNoZG9nIGlkZW50aXR5IGluZm9ybWF0aW9uXG4iCisJCSIgLW4sIC0tbm9oZWFkaW5ncyAgICAgICBkb24ndCBwcmludCBoZWFkaW5ncyBmb3IgZmxhZ3MgdGFibGVcbiIKKwkJIiAtTywgLS1vbmVsaW5lICAgICAgICAgIHByaW50IGFsbCBpbmZvcm1hdGlvbiBvbiBvbmUgbGluZVxuIgorCQkiIC1vLCAtLW91dHB1dCA8bGlzdD4gICAgb3V0cHV0IGNvbHVtbnMgb2YgdGhlIGZsYWdzXG4iCisJCSIgLXIsIC0tcmF3ICAgICAgICAgICAgICB1c2UgcmF3IG91dHB1dCBmb3JtYXQgZm9yIGZsYWdzIHRhYmxlXG4iCisJCSIgLVQsIC0tbm90aW1lb3V0cyAgICAgICBkb24ndCBwcmludCB3YXRjaGRvZyB0aW1lb3V0c1xuIgorCQkiIC1zLCAtLXNldHRpbWVvdXQgPHNlYz4gc2V0IHdhdGNoZG9nIHRpbWVvdXRcbiIKKwkJIiAteCwgLS1mbGFncy1vbmx5ICAgICAgIHByaW50IG9ubHkgZmxhZ3MgdGFibGUgKHNhbWUgYXMgLUkgLVQpXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI0KSk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCisJZnByaW50ZihvdXQsIF8oIlRoZSBkZWZhdWx0IGRldmljZSBpcyAlcy5cbiIpLCBfUEFUSF9XQVRDSERPR19ERVYpOworCisJZnB1dHMoVVNBR0VfQ09MVU1OUywgb3V0KTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTEzcyAgJXNcbiIsIGluZm9zW2ldLm5hbWUsIF8oaW5mb3NbaV0uaGVscCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJ3ZGN0bCg4KSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgYWRkX2ZsYWdfbGluZShzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRhYmxlLCBzdHJ1Y3Qgd2RpbmZvICp3ZCwgY29uc3Qgc3RydWN0IHdkZmxhZyAqZmwpCit7CisJaW50IGk7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxpbmU7CisKKwlsaW5lID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGFibGUsIE5VTEwpOworCWlmICghbGluZSkgeworCQl3YXJuKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKwkJcmV0dXJuOworCX0KKworCWZvciAoaSA9IDA7IGkgPCBuY29sdW1uczsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKnN0ciA9IE5VTEw7CisKKwkJc3dpdGNoIChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX0ZMQUc6CisJCQlzdHIgPSBmbC0+bmFtZTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9ERVNDOgorCQkJc3RyID0gZmwtPmRlc2NyaXB0aW9uOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX1NUQVRVUzoKKwkJCXN0ciA9IHdkLT5zdGF0dXMgJiBmbC0+ZmxhZyA/ICIxIiA6ICIwIjsKKwkJCWJyZWFrOworCQljYXNlIENPTF9CU1RBVFVTOgorCQkJc3RyID0gd2QtPmJzdGF0dXMgJiBmbC0+ZmxhZyA/ICIxIiA6ICIwIjsKKwkJCWJyZWFrOworCQljYXNlIENPTF9ERVZJQ0U6CisJCQlzdHIgPSB3ZC0+ZGV2aWNlOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQorCisJCWlmIChzdHIgJiYgc2NvbHNfbGluZV9zZXRfZGF0YShsaW5lLCBpLCBzdHIpKSB7CisJCQl3YXJuKF8oImZhaWxlZCB0byBhZGQgb3V0cHV0IGRhdGEiKSk7CisJCQlicmVhazsKKwkJfQorCX0KK30KKworc3RhdGljIGludCBzaG93X2ZsYWdzKHN0cnVjdCB3ZGluZm8gKndkLCB1aW50MzJfdCB3YW50ZWQpCit7CisJc2l6ZV90IGk7CisJaW50IHJjID0gLTE7CisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWJsZTsKKwl1aW50MzJfdCBmbGFnczsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwkvKiBjcmVhdGUgb3V0cHV0IHRhYmxlICovCisJdGFibGUgPSBzY29sc19uZXdfdGFibGUoKTsKKwlpZiAoIXRhYmxlKSB7CisJCXdhcm4oXygiZmFpbGVkIHRvIGFsbG9jYXRlIG91dHB1dCB0YWJsZSIpKTsKKwkJcmV0dXJuIC0xOworCX0KKwlzY29sc190YWJsZV9lbmFibGVfcmF3KHRhYmxlLCByYXcpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRhYmxlLCBub19oZWFkaW5ncyk7CisKKwkvKiBkZWZpbmUgY29sdW1ucyAqLworCWZvciAoaSA9IDA7IGkgPCAoc2l6ZV90KSBuY29sdW1uczsgaSsrKSB7CisJCXN0cnVjdCBjb2xpbmZvICpjb2wgPSBnZXRfY29sdW1uX2luZm8oaSk7CisKKwkJaWYgKCFzY29sc190YWJsZV9uZXdfY29sdW1uKHRhYmxlLCBjb2wtPm5hbWUsIGNvbC0+d2hpbnQsIGNvbC0+ZmxhZ3MpKSB7CisJCQl3YXJueChfKCJmYWlsZWQgdG8gYWxsb2NhdGUgb3V0cHV0IGNvbHVtbiIpKTsKKwkJCWdvdG8gZG9uZTsKKwkJfQorCX0KKworCS8qIGZpbGwtaW4gdGFibGUgd2l0aCBkYXRhCisJICogLS0gb25lIGxpbmUgZm9yIGVhY2ggc3VwcG9ydGVkIGZsYWcgKG9wdGlvbikJICovCisJZmxhZ3MgPSB3ZC0+aWRlbnQub3B0aW9uczsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHdkZmxhZ3MpOyBpKyspIHsKKwkJaWYgKHdhbnRlZCAmJiAhKHdhbnRlZCAmIHdkZmxhZ3NbaV0uZmxhZykpCisJCQk7IC8qIGlnbm9yZSAqLworCQllbHNlIGlmIChmbGFncyAmIHdkZmxhZ3NbaV0uZmxhZykKKwkJCWFkZF9mbGFnX2xpbmUodGFibGUsIHdkLCAmd2RmbGFnc1tpXSk7CisKKwkJZmxhZ3MgJj0gfndkZmxhZ3NbaV0uZmxhZzsKKwl9CisKKwlpZiAoZmxhZ3MpCisJCXdhcm54KF8oIiVzOiB1bmtub3duIGZsYWdzIDB4JXhcbiIpLCB3ZC0+ZGV2aWNlLCBmbGFncyk7CisKKwlzY29sc19wcmludF90YWJsZSh0YWJsZSk7CisJcmMgPSAwOworZG9uZToKKwlzY29sc191bnJlZl90YWJsZSh0YWJsZSk7CisJcmV0dXJuIHJjOworfQorLyoKKyAqIFdhcm5pbmc6IHN1Y2Nlc3NmdWxseSBvcGVuZWQgd2F0Y2hkb2cgaGFzIHRvIGJlIHByb3Blcmx5IGNsb3NlZCB3aXRoIG1hZ2ljCisgKiBjbG9zZSBjaGFyYWN0ZXIgb3RoZXJ3aXNlIHRoZSBtYWNoaW5lIHdpbGwgYmUgcmVib290ZWQhCisgKgorICogRG9uJ3QgdXNlIGVycigpIG9yIGV4aXQoKSBoZXJlIQorICovCitzdGF0aWMgaW50IHNldF93YXRjaGRvZyhzdHJ1Y3Qgd2RpbmZvICp3ZCwgaW50IHRpbWVvdXQpCit7CisJaW50IGZkOworCXNpZ3NldF90IHNpZ3MsIG9sZHNpZ3M7CisJaW50IHJjID0gMDsKKworCWFzc2VydCh3ZC0+ZGV2aWNlKTsKKworCXNpZ2VtcHR5c2V0KCZvbGRzaWdzKTsKKwlzaWdmaWxsc2V0KCZzaWdzKTsKKwlzaWdwcm9jbWFzayhTSUdfQkxPQ0ssICZzaWdzLCAmb2xkc2lncyk7CisKKwlmZCA9IG9wZW4od2QtPmRldmljZSwgT19XUk9OTFl8T19DTE9FWEVDKTsKKworCWlmIChmZCA8IDApIHsKKwkJaWYgKGVycm5vID09IEVCVVNZKQorCQkJd2FybngoXygiJXM6IHdhdGNoZG9nIGFscmVhZHkgaW4gdXNlLCB0ZXJtaW5hdGluZy4iKSwKKwkJCQkJd2QtPmRldmljZSk7CisJCXdhcm4oXygiY2Fubm90IG9wZW4gJXMiKSwgd2QtPmRldmljZSk7CisJCXJldHVybiAtMTsKKwl9CisKKwlmb3IgKDs7KSB7CisJCS8qIFdlIGp1c3Qgb3BlbmVkIHRoaXMgdG8gcXVlcnkgdGhlIHN0YXRlLCBub3QgdG8gYXJtCisJCSAqIGl0IGhlbmNlIHVzZSB0aGUgbWFnaWMgY2xvc2UgY2hhcmFjdGVyICovCisJCXN0YXRpYyBjb25zdCBjaGFyIHYgPSAnVic7CisKKwkJaWYgKHdyaXRlKGZkLCAmdiwgMSkgPj0gMCkKKwkJCWJyZWFrOworCQlpZiAoZXJybm8gIT0gRUlOVFIpIHsKKwkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciKSwgd2QtPmRldmljZSk7CisJCQlicmVhazsKKwkJfQorCQkvKiBMZXQncyB0cnkgaGFyZCwgc2luY2UgaWYgd2UgZG9uJ3QgZ2V0IHRoaXMgcmlnaHQKKwkJICogdGhlIG1hY2hpbmUgbWlnaHQgZW5kIHVwIHJlYm9vdGluZy4gKi8KKwl9CisKKwlpZiAoaW9jdGwoZmQsIFdESU9DX1NFVFRJTUVPVVQsICZ0aW1lb3V0KSAhPSAwKSB7CisJCXJjID0gZXJybm87CisJCXdhcm4oXygiY2Fubm90IHNldCB0aW1lb3V0IGZvciAlcyIpLCB3ZC0+ZGV2aWNlKTsKKwl9CisKKwlpZiAoY2xvc2UoZmQpKQorCQl3YXJuKF8oIndyaXRlIGZhaWxlZCIpKTsKKwlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJm9sZHNpZ3MsIE5VTEwpOworCXByaW50ZihQXygiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kLlxuIiwKKwkJICAiVGltZW91dCBoYXMgYmVlbiBzZXQgdG8gJWQgc2Vjb25kcy5cbiIsIHRpbWVvdXQpLCB0aW1lb3V0KTsKKworCXJldHVybiByYzsKK30KKworLyoKKyAqIFdhcm5pbmc6IHN1Y2Nlc3NmdWxseSBvcGVuZWQgd2F0Y2hkb2cgaGFzIHRvIGJlIHByb3Blcmx5IGNsb3NlZCB3aXRoIG1hZ2ljCisgKiBjbG9zZSBjaGFyYWN0ZXIgb3RoZXJ3aXNlIHRoZSBtYWNoaW5lIHdpbGwgYmUgcmVib290ZWQhCisgKgorICogRG9uJ3QgdXNlIGVycigpIG9yIGV4aXQoKSBoZXJlIQorICovCitzdGF0aWMgaW50IHJlYWRfd2F0Y2hkb2coc3RydWN0IHdkaW5mbyAqd2QpCit7CisJaW50IGZkOworCXNpZ3NldF90IHNpZ3MsIG9sZHNpZ3M7CisKKwlhc3NlcnQod2QtPmRldmljZSk7CisKKwlzaWdlbXB0eXNldCgmb2xkc2lncyk7CisJc2lnZmlsbHNldCgmc2lncyk7CisJc2lncHJvY21hc2soU0lHX0JMT0NLLCAmc2lncywgJm9sZHNpZ3MpOworCisJZmQgPSBvcGVuKHdkLT5kZXZpY2UsIE9fV1JPTkxZfE9fQ0xPRVhFQyk7CisKKwlpZiAoZmQgPCAwKSB7CisJCWlmIChlcnJubyA9PSBFQlVTWSkKKwkJCXdhcm54KF8oIiVzOiB3YXRjaGRvZyBhbHJlYWR5IGluIHVzZSwgdGVybWluYXRpbmcuIiksCisJCQkJCXdkLT5kZXZpY2UpOworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIHdkLT5kZXZpY2UpOworCQlyZXR1cm4gLTE7CisJfQorCisJaWYgKGlvY3RsKGZkLCBXRElPQ19HRVRTVVBQT1JULCAmd2QtPmlkZW50KSA8IDApCisJCXdhcm4oXygiJXM6IGZhaWxlZCB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgd2F0Y2hkb2ciKSwgd2QtPmRldmljZSk7CisJZWxzZSB7CisJCWlvY3RsKGZkLCBXRElPQ19HRVRTVEFUVVMsICZ3ZC0+c3RhdHVzKTsKKwkJaW9jdGwoZmQsIFdESU9DX0dFVEJPT1RTVEFUVVMsICZ3ZC0+YnN0YXR1cyk7CisKKwkJaWYgKGlvY3RsKGZkLCBXRElPQ19HRVRUSU1FT1VULCAmd2QtPnRpbWVvdXQpID49IDApCisJCQl3ZC0+aGFzX3RpbWVvdXQgPSAxOworCQlpZiAoaW9jdGwoZmQsIFdESU9DX0dFVFBSRVRJTUVPVVQsICZ3ZC0+cHJldGltZW91dCkgPj0gMCkKKwkJCXdkLT5oYXNfcHJldGltZW91dCA9IDE7CisJCWlmIChpb2N0bChmZCwgV0RJT0NfR0VUVElNRUxFRlQsICZ3ZC0+dGltZWxlZnQpID49IDApCisJCQl3ZC0+aGFzX3RpbWVsZWZ0ID0gMTsKKwl9CisKKwlmb3IgKDs7KSB7CisJCS8qIFdlIGp1c3Qgb3BlbmVkIHRoaXMgdG8gcXVlcnkgdGhlIHN0YXRlLCBub3QgdG8gYXJtCisJCSAqIGl0IGhlbmNlIHVzZSB0aGUgbWFnaWMgY2xvc2UgY2hhcmFjdGVyICovCisJCXN0YXRpYyBjb25zdCBjaGFyIHYgPSAnVic7CisKKwkJaWYgKHdyaXRlKGZkLCAmdiwgMSkgPj0gMCkKKwkJCWJyZWFrOworCQlpZiAoZXJybm8gIT0gRUlOVFIpIHsKKwkJCXdhcm4oXygiJXM6IGZhaWxlZCB0byBkaXNhcm0gd2F0Y2hkb2ciKSwgd2QtPmRldmljZSk7CisJCQlicmVhazsKKwkJfQorCQkvKiBMZXQncyB0cnkgaGFyZCwgc2luY2UgaWYgd2UgZG9uJ3QgZ2V0IHRoaXMgcmlnaHQKKwkJICogdGhlIG1hY2hpbmUgbWlnaHQgZW5kIHVwIHJlYm9vdGluZy4gKi8KKwl9CisKKwlpZiAoY2xvc2UoZmQpKQorCQl3YXJuKF8oIndyaXRlIGZhaWxlZCIpKTsKKwlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJm9sZHNpZ3MsIE5VTEwpOworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIHByaW50X29uZWxpbmUoc3RydWN0IHdkaW5mbyAqd2QsIHVpbnQzMl90IHdhbnRlZCwKKwkJaW50IG5vaWRlbnQsIGludCBub3RpbWVvdXRzLCBpbnQgbm9mbGFncykKK3sKKwlwcmludGYoIiVzOiIsIHdkLT5kZXZpY2UpOworCisJaWYgKCFub2lkZW50KSB7CisJCXByaW50ZigiIFZFUlNJT049XCIleFwiIiwgd2QtPmlkZW50LmZpcm13YXJlX3ZlcnNpb24pOworCisJCXByaW50ZigiIElERU5USVRZPSIpOworCQlmcHV0c19xdW90ZWQoKGNoYXIgKikgd2QtPmlkZW50LmlkZW50aXR5LCBzdGRvdXQpOworCX0KKwlpZiAoIW5vdGltZW91dHMpIHsKKwkJaWYgKHdkLT5oYXNfdGltZW91dCkKKwkJCXByaW50ZigiIFRJTUVPVVQ9XCIlaVwiIiwgd2QtPnRpbWVvdXQpOworCQlpZiAod2QtPmhhc19wcmV0aW1lb3V0KQorCQkJcHJpbnRmKCIgUFJFVElNRU9VVD1cIiVpXCIiLCB3ZC0+cHJldGltZW91dCk7CisJCWlmICh3ZC0+aGFzX3RpbWVsZWZ0KQorCQkJcHJpbnRmKCIgVElNRUxFRlQ9XCIlaVwiIiwgd2QtPnRpbWVsZWZ0KTsKKwl9CisKKwlpZiAoIW5vZmxhZ3MpIHsKKwkJc2l6ZV90IGk7CisJCXVpbnQzMl90IGZsYWdzID0gd2QtPmlkZW50Lm9wdGlvbnM7CisKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUod2RmbGFncyk7IGkrKykgeworCQkJY29uc3Qgc3RydWN0IHdkZmxhZyAqZmw7CisKKwkJCWlmICgod2FudGVkICYmICEod2FudGVkICYgd2RmbGFnc1tpXS5mbGFnKSkgfHwKKwkJCSAgICAhKGZsYWdzICYgd2RmbGFnc1tpXS5mbGFnKSkKKwkJCQljb250aW51ZTsKKworCQkJZmw9ICZ3ZGZsYWdzW2ldOworCisJCQlwcmludGYoIiAlcz1cIiVzXCIiLCBmbC0+bmFtZSwKKwkJCQkJICAgICB3ZC0+c3RhdHVzICYgZmwtPmZsYWcgPyAiMSIgOiAiMCIpOworCQkJcHJpbnRmKCIgJXNfQk9PVD1cIiVzXCIiLCBmbC0+bmFtZSwKKwkJCQkJICAgICB3ZC0+YnN0YXR1cyAmIGZsLT5mbGFnID8gIjEiIDogIjAiKTsKKworCQl9CisJfQorCisJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKK30KKworc3RhdGljIHZvaWQgc2hvd190aW1lb3V0cyhzdHJ1Y3Qgd2RpbmZvICp3ZCkKK3sKKwlpZiAod2QtPmhhc190aW1lb3V0KQorCQlwcmludGYoUF8oIiUtMTRzICUyaSBzZWNvbmRcbiIsICIlLTE0cyAlMmkgc2Vjb25kc1xuIiwgd2QtPnRpbWVvdXQpLAorCQkJICBfKCJUaW1lb3V0OiIpLCB3ZC0+dGltZW91dCk7CisJaWYgKHdkLT5oYXNfcHJldGltZW91dCkKKwkJcHJpbnRmKFBfKCIlLTE0cyAlMmkgc2Vjb25kXG4iLCAiJS0xNHMgJTJpIHNlY29uZHNcbiIsIHdkLT5wcmV0aW1lb3V0KSwKKwkJCSAgXygiUHJlLXRpbWVvdXQ6IiksIHdkLT5wcmV0aW1lb3V0KTsKKwlpZiAod2QtPmhhc190aW1lbGVmdCkKKwkJcHJpbnRmKFBfKCIlLTE0cyAlMmkgc2Vjb25kXG4iLCAiJS0xNHMgJTJpIHNlY29uZHNcbiIsIHdkLT50aW1lbGVmdCksCisJCQkgIF8oIlRpbWVsZWZ0OiIpLCB3ZC0+dGltZWxlZnQpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCXN0cnVjdCB3ZGluZm8gd2Q7CisJaW50IGMsIHJlcyA9IEVYSVRfU1VDQ0VTUywgY291bnQgPSAwOworCWNoYXIgbm9mbGFncyA9IDAsIG5vaWRlbnQgPSAwLCBub3RpbWVvdXRzID0gMCwgb25lbGluZSA9IDA7CisJdWludDMyX3Qgd2FudGVkID0gMDsKKwlpbnQgdGltZW91dCA9IDA7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nX29wdHNbXSA9IHsKKwkJeyAiZmxhZ3MiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnZicgfSwKKwkJeyAiZmxhZ3Mtb25seSIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAneCcgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAibm9mbGFncyIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnRicgfSwKKwkJeyAibm9oZWFkaW5ncyIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnbicgfSwKKwkJeyAibm9pZGVudCIsCW5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSScgfSwKKwkJeyAibm90aW1lb3V0cyIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVCcgfSwKKwkJeyAic2V0dGltZW91dCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncycgfSwKKwkJeyAib3V0cHV0IiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAib25lbGluZSIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnTycgfSwKKwkJeyAicmF3IiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAncicgfSwKKwkJeyAidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc3RhdGljIGNvbnN0IHVsX2V4Y2xfdCBleGNsW10gPSB7ICAgICAgIC8qIHJvd3MgYW5kIGNvbHMgaW4gQVNDSUkgb3JkZXIgKi8KKwkJeyAnRicsJ2YnIH0sCQkJLyogbm9mbGFncyxmbGFncyovCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwKKwkJCQkiZDpmOmhGbklUbzpzOk9yVngiLCBsb25nX29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nX29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ28nOgorCQkJbmNvbHVtbnMgPSBzdHJpbmdfdG9faWRhcnJheShvcHRhcmcsCisJCQkJCQkgICAgIGNvbHVtbnMsIEFSUkFZX1NJWkUoY29sdW1ucyksCisJCQkJCQkgICAgIGNvbHVtbjJpZCk7CisJCQlpZiAobmNvbHVtbnMgPCAwKQorCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQl0aW1lb3V0ID0gc3RydG9zMzJfb3JfZXJyKG9wdGFyZywgXygiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJaWYgKHN0cmluZ190b19iaXRtYXNrKG9wdGFyZywgKHVuc2lnbmVkIGxvbmcgKikgJndhbnRlZCwgbmFtZTJiaXQpICE9IDApCisJCQkJcmV0dXJuIEVYSVRfRkFJTFVSRTsKKwkJCWJyZWFrOworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQljYXNlICdGJzoKKwkJCW5vZmxhZ3MgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0knOgorCQkJbm9pZGVudCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVCc6CisJCQlub3RpbWVvdXRzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICduJzoKKwkJCW5vX2hlYWRpbmdzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdyJzoKKwkJCXJhdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQlvbmVsaW5lID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd4JzoKKwkJCW5vaWRlbnQgPSAxOworCQkJbm90aW1lb3V0cyA9IDE7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmICghbmNvbHVtbnMpIHsKKwkJLyogZGVmYXVsdCBjb2x1bW5zICovCisJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfRkxBRzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9ERVNDOworCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX1NUQVRVUzsKKwkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9CU1RBVFVTOworCX0KKworCWRvIHsKKwkJaW50IHJjOworCisJCW1lbXNldCgmd2QsIDAsIHNpemVvZih3ZCkpOworCisJCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJCXdkLmRldmljZSA9IF9QQVRIX1dBVENIRE9HX0RFVjsKKwkJZWxzZQorCQkJd2QuZGV2aWNlID0gYXJndltvcHRpbmQrK107CisKKwkJaWYgKGNvdW50KQorCQkJZnB1dGMoJ1xuJywgc3Rkb3V0KTsKKwkJY291bnQrKzsKKworCQlpZiAodGltZW91dCkgeworCQkJcmMgPSBzZXRfd2F0Y2hkb2coJndkLCB0aW1lb3V0KTsKKwkJCWlmIChyYykgeworCQkJCXJlcyA9IEVYSVRfRkFJTFVSRTsKKwkJCX0KKwkJfQorCisJCXJjID0gcmVhZF93YXRjaGRvZygmd2QpOworCQlpZiAocmMpIHsKKwkJCXJlcyA9IEVYSVRfRkFJTFVSRTsKKwkJCWNvbnRpbnVlOworCQl9CisKKwkJaWYgKG9uZWxpbmUpIHsKKwkJCXByaW50X29uZWxpbmUoJndkLCB3YW50ZWQsIG5vaWRlbnQsIG5vdGltZW91dHMsIG5vZmxhZ3MpOworCQkJY29udGludWU7CisJCX0KKworCQkvKiBwcmV0dHkgb3V0cHV0ICovCisJCWlmICghbm9pZGVudCkgeworCQkJcHJpbnRmKCIlLTE1cyVzXG4iLCBfKCJEZXZpY2U6IiksIHdkLmRldmljZSk7CisJCQlwcmludGYoIiUtMTVzJXMgWyVzICV4XVxuIiwKKwkJCQkJXygiSWRlbnRpdHk6IiksCisJCQkJCXdkLmlkZW50LmlkZW50aXR5LAorCQkJCQlfKCJ2ZXJzaW9uIiksCisJCQkJCXdkLmlkZW50LmZpcm13YXJlX3ZlcnNpb24pOworCQl9CisJCWlmICghbm90aW1lb3V0cykKKwkJCXNob3dfdGltZW91dHMoJndkKTsKKwkJaWYgKCFub2ZsYWdzKQorCQkJc2hvd19mbGFncygmd2QsIHdhbnRlZCk7CisJfSB3aGlsZSAob3B0aW5kIDwgYXJnYyk7CisKKwlyZXR1cm4gcmVzOworfQpkaWZmIC0tZ2l0IGEvc3lzLXV0aWxzL3pyYW1jdGwuOCBiL3N5cy11dGlscy96cmFtY3RsLjgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzZlY2RjMwotLS0gL2Rldi9udWxsCisrKyBiL3N5cy11dGlscy96cmFtY3RsLjgKQEAgLTAsMCArMSwxMzEgQEAKKy5USCBaUkFNQ1RMIDggIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJTeXN0ZW0gQWRtaW5pc3RyYXRpb24iCisuU0ggTkFNRQorenJhbWN0bCBcLSBzZXQgdXAgYW5kIGNvbnRyb2wgenJhbSBkZXZpY2VzCisuU0ggU1lOT1BTSVMKKy5hZCBsCitHZXQgaW5mbzoKKy5zcAorLmluICs1CisuQlIgenJhbWN0bCAiIFtvcHRpb25zXSIKKy5zcAorLmluIC01CitSZXNldCB6cmFtOgorLnNwCisuaW4gKzUKKy5CICJ6cmFtY3RsIFwtciIKKy5JUiB6cmFtZGV2IC4uLgorLnNwCisuaW4gLTUKK1ByaW50IG5hbWUgb2YgZmlyc3QgdW51c2VkIHpyYW0gZGV2aWNlOgorLnNwCisuaW4gKzUKKy5CICJ6cmFtY3RsIFwtZiIKKy5zcAorLmluIC01CitTZXQgdXAgYSB6cmFtIGRldmljZToKKy5zcAorLmluICs1CisuQiB6cmFtY3RsCisuUkIgWyBcLWYgIiB8ICJcZkl6cmFtZGV2XGZQIF0KKy5SQiBbIFwtcworLklSIHNpemUgXQorLlJCIFsgXC10CisuSVIgbnVtYmVyIF0KKy5SQiBbIFwtYQorLklSIGFsZ29yaXRobSBdCisuc3AKKy5pbiAtNQorLmFkIGIKKy5TSCBERVNDUklQVElPTgorLkIgenJhbWN0bAoraXMgdXNlZCB0byBxdWlja2x5IHNldCB1cCB6cmFtIGRldmljZSBwYXJhbWV0ZXJzLCB0byByZXNldCB6cmFtIGRldmljZXMsIGFuZCB0bworcXVlcnkgdGhlIHN0YXR1cyBvZiB1c2VkIHpyYW0gZGV2aWNlcy4KKy5QUAorSWYgbm8gb3B0aW9uIGlzIGdpdmVuLCBhbGwgbm9uLXplcm8gc2l6ZSB6cmFtIGRldmljZXMgYXJlIHNob3duLgorLlBQCitOb3RlIHRoYXQgXGZJenJhbWRldlxmUCBub2RlIHNwZWNpZmllZCBvbiBjb21tYW5kIGxpbmUgaGFzIHRvIGFscmVhZHkgZXhpc3QuIFRoZSBjb21tYW5kCisuQiB6cmFtY3RsCitjcmVhdGVzIGEgbmV3IC9kZXYvenJhbTxOPiBub2RlcyBvbmx5IHdoZW4gXGZCXC1cLWZpbmRcZlIgb3B0aW9uIHNwZWNpZmllZC4gSXQncyBwb3NzaWJsZQorKGFuZCBjb21tb24pIHRoYXQgYWZ0ZXIgc3lzdGVtIGJvb3QgL2Rldi96cmFtPE4+IG5vZGVzIGFyZSBub3QgY3JlYXRlZCB5ZXQuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC1hICwgIiBcLVwtYWxnb3JpdGhtIGx6byIgfCBsejQgfCBsejRoYyB8IGRlZmxhdGUgfCA4NDIKK1NldCB0aGUgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIGJlIHVzZWQgZm9yIGNvbXByZXNzaW5nIGRhdGEgaW4gdGhlIHpyYW0gZGV2aWNlLgorLlRQCisuQlIgXC1mICwgIiBcLVwtZmluZCIKK0ZpbmQgdGhlIGZpcnN0IHVudXNlZCB6cmFtIGRldmljZS4gIElmIGEgXGZCXC1cLXNpemVcZlIgYXJndW1lbnQgaXMgcHJlc2VudCwgdGhlbgoraW5pdGlhbGl6ZSB0aGUgZGV2aWNlLgorLlRQCisuQlIgXC1uICwgIiBcLVwtbm9oZWFkaW5ncyIKK0RvIG5vdCBwcmludCBhIGhlYWRlciBsaW5lIGluIHN0YXR1cyBvdXRwdXQuCisuVFAKKy5CUiBcLW8gLCAiIFwtXC1vdXRwdXQgIiBcZklsaXN0CitEZWZpbmUgdGhlIHN0YXR1cyBvdXRwdXQgY29sdW1ucyB0byBiZSB1c2VkLiAgSWYgbm8gb3V0cHV0IGFycmFuZ2VtZW50IGlzCitzcGVjaWZpZWQsIHRoZW4gYSBkZWZhdWx0IHNldCBpcyB1c2VkLgorVXNlIFxmQlwtXC1oZWxwXGZQIHRvIGdldCBhIGxpc3Qgb2YgYWxsIHN1cHBvcnRlZCBjb2x1bW5zLgorLlRQCisuQiBcLVwtb3V0cHV0XC1hbGwKK091dHB1dCBhbGwgYXZhaWxhYmxlIGNvbHVtbnMuCisuVFAKKy5CIFwtXC1yYXcKK1VzZSB0aGUgcmF3IGZvcm1hdCBmb3Igc3RhdHVzIG91dHB1dC4KKy5UUAorLkJSIFwtciAsICIgXC1cLXJlc2V0IgorUmVzZXQgdGhlIG9wdGlvbnMgb2YgdGhlIHNwZWNpZmllZCB6cmFtIGRldmljZShzKS4gIFpyYW0gZGV2aWNlIHNldHRpbmdzCitjYW4gYmUgY2hhbmdlZCBvbmx5IGFmdGVyIGEgcmVzZXQuCisuVFAKKy5CUiBcLXMgLCAiIFwtXC1zaXplICIgXGZJc2l6ZQorQ3JlYXRlIGEgenJhbSBkZXZpY2Ugb2YgdGhlIHNwZWNpZmllZCBcZklzaXplXGZSLgorWnJhbSBkZXZpY2VzIGFyZSBhbGlnbmVkIHRvIG1lbW9yeSBwYWdlczsgd2hlbiB0aGUgcmVxdWVzdGVkIFxmSXNpemVcZlIgaXMKK25vdCBhIG11bHRpcGxlIG9mIHRoZSBwYWdlIHNpemUsIGl0IHdpbGwgYmUgcm91bmRlZCB1cCB0byB0aGUgbmV4dCBtdWx0aXBsZS4KK1doZW4gbm90IG90aGVyd2lzZSBzcGVjaWZpZWQsIHRoZSB1bml0IG9mIHRoZSBcZklzaXplXGZSIHBhcmFtZXRlciBpcyBieXRlcy4KKy5JUAorVGhlIFxmSXNpemVcZlIgYXJndW1lbnQgbWF5IGJlIGZvbGxvd2VkIGJ5IHRoZSBtdWx0aXBsaWNhdGl2ZSBzdWZmaXhlcyBLaUIgKD0xMDI0KSwKK01pQiAoPTEwMjQqMTAyNCksIGFuZCBzbyBvbiBmb3IgR2lCLCBUaUIsIFBpQiwgRWlCLCBaaUIgYW5kIFlpQiAodGhlICJpQiIKK2lzIG9wdGlvbmFsLCBlLmcuLCAiSyIgaGFzIHRoZSBzYW1lIG1lYW5pbmcgYXMgIktpQiIpIG9yIHRoZSBzdWZmaXhlcworS0IgKD0xMDAwKSwgTUIgKD0xMDAwKjEwMDApLCBhbmQgc28gb24gZm9yIEdCLCBUQiwgUEIsIEVCLCBaQiBhbmQgWUIuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC1zdHJlYW1zICIgXGZJbnVtYmVyCitTZXQgdGhlIG1heGltdW0gbnVtYmVyIG9mIGNvbXByZXNzaW9uIHN0cmVhbXMgdGhhdCBjYW4gYmUgdXNlZCBmb3IgdGhlIGRldmljZS4KK1RoZSBkZWZhdWx0IGlzIG9uZSBzdHJlYW0uCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorCisuU0ggUkVUVVJOIFZBTFVFCisuQiB6cmFtY3RsCityZXR1cm5zIDAgb24gc3VjY2Vzcywgbm9uemVybyBvbiBmYWlsdXJlLgorCisuU0ggRklMRVMKKy5UUAorLkkgL2Rldi96cmFtWzAuLk5dCit6cmFtIGJsb2NrIGRldmljZXMKKworLlNIIEVYQU1QTEUKK1RoZSBmb2xsb3dpbmcgY29tbWFuZHMgc2V0IHVwIGEgenJhbSBkZXZpY2Ugd2l0aCBhIHNpemUgb2Ygb25lIGdpZ2FieXRlCithbmQgdXNlIGl0IGFzIHN3YXAgZGV2aWNlLgorLm5mCisuSVAKKyMgenJhbWN0bCAtLWZpbmQgLS1zaXplIDEwMjRNCisvZGV2L3pyYW0wCisjIG1rc3dhcCAvZGV2L3pyYW0wCisjIHN3YXBvbiAvZGV2L3pyYW0wCisgLi4uCisjIHN3YXBvZmYgL2Rldi96cmFtMAorIyB6cmFtY3RsIC0tcmVzZXQgL2Rldi96cmFtMAorLmZpCisuU0ggU0VFIEFMU08KKy5VUiBodHRwOi8vZ2l0Llw6a2VybmVsLlw6b3JnXDovY2dpdFw6L2xpbnV4XDova2VybmVsXDovZ2l0XDovdG9ydmFsZHNcOi9saW51eC5naXRcOi90cmVlXDovRG9jdW1lbnRhdGlvblw6L2Jsb2NrZGV2XDovenJhbS50eHQKK0xpbnV4IGtlcm5lbCBkb2N1bWVudGF0aW9uCisuVUUgLgorLlNIIEFVVEhPUlMKKy5uZgorVGltb2ZleSBUaXRvdmV0cyA8bmVmZWxpbTRhZ0BnbWFpbC5jb20+CitLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKy5maQorLlNIIEFWQUlMQUJJTElUWQorVGhlIHpyYW1jdGwgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3N5cy11dGlscy96cmFtY3RsLmMgYi9zeXMtdXRpbHMvenJhbWN0bC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5MjY3YzgKLS0tIC9kZXYvbnVsbAorKysgYi9zeXMtdXRpbHMvenJhbWN0bC5jCkBAIC0wLDAgKzEsNzY1IEBACisvKgorICogenJhbWN0bCAtIGNvbnRyb2wgY29tcHJlc3NlZCBibG9jayBkZXZpY2VzIGluIFJBTQorICoKKyAqIENvcHlyaWdodCAoYykgMjAxNCBUaW1vZmV5IFRpdG92ZXRzIDxOZWZlbGltNGFnQGdtYWlsLmNvbT4KKyAqIENvcHlyaWdodCAoQykgMjAxNCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd291bGQgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYWxvbmcKKyAqIHdpdGggdGhpcyBwcm9ncmFtOyBpZiBub3QsIHdyaXRlIHRvIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sCisgKiA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLCBCb3N0b24sIE1BIDAyMTEwLTEzMDEgVVNBLgorICovCisKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxkaXJlbnQuaD4KKworI2luY2x1ZGUgPGxpYnNtYXJ0Y29scy5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzeXNmcy5oIgorI2luY2x1ZGUgIm9wdHV0aWxzLmgiCisjaW5jbHVkZSAiaXNtb3VudGVkLmgiCisjaW5jbHVkZSAic3Rydi5oIgorI2luY2x1ZGUgInBhdGguaCIKKyNpbmNsdWRlICJwYXRobmFtZXMuaCIKKworLyojZGVmaW5lIENPTkZJR19aUkFNX0RFQlVHKi8KKworI2lmZGVmIENPTkZJR19aUkFNX0RFQlVHCisjIGRlZmluZSBEQkcoeCkJIGRvIHsgZnB1dHMoInpyYW06ICIsIHN0ZGVycik7IHg7IGZwdXRjKCdcbicsIHN0ZGVycik7IH0gd2hpbGUoMCkKKyNlbHNlCisjIGRlZmluZSBEQkcoeCkKKyNlbmRpZgorCisvKiBzdGF0dXMgb3V0cHV0IGNvbHVtbnMgKi8KK3N0cnVjdCBjb2xpbmZvIHsKKwljb25zdCBjaGFyICpuYW1lOworCWRvdWJsZSB3aGludDsKKwlpbnQgZmxhZ3M7CisJY29uc3QgY2hhciAqaGVscDsKK307CisKK2VudW0geworCUNPTF9OQU1FID0gMCwKKwlDT0xfRElTS1NJWkUsCisJQ09MX09SSUdfU0laRSwKKwlDT0xfQ09NUF9TSVpFLAorCUNPTF9BTEdPUklUSE0sCisJQ09MX1NUUkVBTVMsCisJQ09MX1pFUk9QQUdFUywKKwlDT0xfTUVNVE9UQUwsCisJQ09MX01FTUxJTUlULAorCUNPTF9NRU1VU0VELAorCUNPTF9NSUdSQVRFRCwKKwlDT0xfTU9VTlRQT0lOVAorfTsKKworc3RhdGljIGNvbnN0IHN0cnVjdCBjb2xpbmZvIGluZm9zW10gPSB7CisJW0NPTF9OQU1FXSAgICAgID0geyAiTkFNRSIsICAgICAgMC4yNSwgMCwgTl8oInpyYW0gZGV2aWNlIG5hbWUiKSB9LAorCVtDT0xfRElTS1NJWkVdICA9IHsgIkRJU0tTSVpFIiwgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygibGltaXQgb24gdGhlIHVuY29tcHJlc3NlZCBhbW91bnQgb2YgZGF0YSIpIH0sCisJW0NPTF9PUklHX1NJWkVdID0geyAiREFUQSIsICAgICAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJ1bmNvbXByZXNzZWQgc2l6ZSBvZiBzdG9yZWQgZGF0YSIpIH0sCisJW0NPTF9DT01QX1NJWkVdID0geyAiQ09NUFIiLCAgICAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJjb21wcmVzc2VkIHNpemUgb2Ygc3RvcmVkIGRhdGEiKSB9LAorCVtDT0xfQUxHT1JJVEhNXSA9IHsgIkFMR09SSVRITSIsICAgIDMsIDAsIE5fKCJ0aGUgc2VsZWN0ZWQgY29tcHJlc3Npb24gYWxnb3JpdGhtIikgfSwKKwlbQ09MX1NUUkVBTVNdICAgPSB7ICJTVFJFQU1TIiwgICAgICAzLCBTQ09MU19GTF9SSUdIVCwgTl8oIm51bWJlciBvZiBjb25jdXJyZW50IGNvbXByZXNzIG9wZXJhdGlvbnMiKSB9LAorCVtDT0xfWkVST1BBR0VTXSA9IHsgIlpFUk8tUEFHRVMiLCAgIDMsIFNDT0xTX0ZMX1JJR0hULCBOXygiZW1wdHkgcGFnZXMgd2l0aCBubyBhbGxvY2F0ZWQgbWVtb3J5IikgfSwKKwlbQ09MX01FTVRPVEFMXSAgPSB7ICJUT1RBTCIsICAgICAgICA1LCBTQ09MU19GTF9SSUdIVCwgTl8oImFsbCBtZW1vcnkgaW5jbHVkaW5nIGFsbG9jYXRvciBmcmFnbWVudGF0aW9uIGFuZCBtZXRhZGF0YSBvdmVyaGVhZCIpIH0sCisJW0NPTF9NRU1MSU1JVF0gID0geyAiTUVNLUxJTUlUIiwgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJtZW1vcnkgbGltaXQgdXNlZCB0byBzdG9yZSBjb21wcmVzc2VkIGRhdGEiKSB9LAorCVtDT0xfTUVNVVNFRF0gICA9IHsgIk1FTS1VU0VEIiwgICAgIDUsIFNDT0xTX0ZMX1JJR0hULCBOXygibWVtb3J5IHpyYW0gaGF2ZSBiZWVuIGNvbnN1bWVkIHRvIHN0b3JlIGNvbXByZXNzZWQgZGF0YSIpIH0sCisJW0NPTF9NSUdSQVRFRF0gID0geyAiTUlHUkFURUQiLCAgICAgNSwgU0NPTFNfRkxfUklHSFQsIE5fKCJudW1iZXIgb2Ygb2JqZWN0cyBtaWdyYXRlZCBieSBjb21wYWN0aW9uIikgfSwKKwlbQ09MX01PVU5UUE9JTlRdPSB7ICJNT1VOVFBPSU5UIiwwLjEwLCBTQ09MU19GTF9UUlVOQywgTl8oIndoZXJlIHRoZSBkZXZpY2UgaXMgbW91bnRlZCIpIH0sCit9OworCitzdGF0aWMgaW50IGNvbHVtbnNbQVJSQVlfU0laRShpbmZvcykgKiAyXSA9IHstMX07CitzdGF0aWMgaW50IG5jb2x1bW5zOworCitlbnVtIHsKKwlNTV9PUklHX0RBVEFfU0laRSA9IDAsCisJTU1fQ09NUFJfREFUQV9TSVpFLAorCU1NX01FTV9VU0VEX1RPVEFMLAorCU1NX01FTV9MSU1JVCwKKwlNTV9NRU1fVVNFRF9NQVgsCisJTU1fWkVST19QQUdFUywKKwlNTV9OVU1fTUlHUkFURUQKK307CisKK3N0YXRpYyBjb25zdCBjaGFyICptbV9zdGF0X25hbWVzW10gPSB7CisJW01NX09SSUdfREFUQV9TSVpFXSAgPSAib3JpZ19kYXRhX3NpemUiLAorCVtNTV9DT01QUl9EQVRBX1NJWkVdID0gImNvbXByX2RhdGFfc2l6ZSIsCisJW01NX01FTV9VU0VEX1RPVEFMXSAgPSAibWVtX3VzZWRfdG90YWwiLAorCVtNTV9NRU1fTElNSVRdICAgICAgID0gIm1lbV9saW1pdCIsCisJW01NX01FTV9VU0VEX01BWF0gICAgPSAibWVtX3VzZWRfbWF4IiwKKwlbTU1fWkVST19QQUdFU10gICAgICA9ICJ6ZXJvX3BhZ2VzIiwKKwlbTU1fTlVNX01JR1JBVEVEXSAgICA9ICJudW1fbWlncmF0ZWQiCit9OworCitzdHJ1Y3QgenJhbSB7CisJY2hhcglkZXZuYW1lWzMyXTsKKwlzdHJ1Y3QJcGF0aF9jeHQgKnN5c2ZzOwkvKiBkZXZpY2Ugc3BlY2lmaWMgc3lzZnMgZGlyZWN0b3J5ICovCisJY2hhcgkqKm1tX3N0YXQ7CisKKwl1bnNpZ25lZCBpbnQgbW1fc3RhdF9wcm9iZWQgOiAxLAorCQkgICAgIGNvbnRyb2xfcHJvYmVkIDogMSwKKwkJICAgICBoYXNfY29udHJvbCA6IDE7CS8qIGhhcyAvc3lzL2NsYXNzL3pyYW0tY29udHJvbC8gKi8KK307CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQgcmF3LCBub19oZWFkaW5ncywgaW5ieXRlczsKK3N0YXRpYyBzdHJ1Y3QgcGF0aF9jeHQgKl9fY29udHJvbDsKKworc3RhdGljIGludCBnZXRfY29sdW1uX2lkKGludCBudW0pCit7CisJYXNzZXJ0KG51bSA8IG5jb2x1bW5zKTsKKwlhc3NlcnQoY29sdW1uc1tudW1dIDwgKGludCkgQVJSQVlfU0laRShpbmZvcykpOworCXJldHVybiBjb2x1bW5zW251bV07Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgY29saW5mbyAqZ2V0X2NvbHVtbl9pbmZvKGludCBudW0pCit7CisJcmV0dXJuICZpbmZvc1sgZ2V0X2NvbHVtbl9pZChudW0pIF07Cit9CisKK3N0YXRpYyBpbnQgY29sdW1uX25hbWVfdG9faWQoY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90IG5hbWVzeikKK3sKKwlzaXplX3QgaTsKKworCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKGluZm9zKTsgaSsrKSB7CisJCWNvbnN0IGNoYXIgKmNuID0gaW5mb3NbaV0ubmFtZTsKKworCQlpZiAoIXN0cm5jYXNlY21wKG5hbWUsIGNuLCBuYW1lc3opICYmICEqKGNuICsgbmFtZXN6KSkKKwkJCXJldHVybiBpOworCX0KKwl3YXJueChfKCJ1bmtub3duIGNvbHVtbjogJXMiKSwgbmFtZSk7CisJcmV0dXJuIC0xOworfQorCitzdGF0aWMgdm9pZCB6cmFtX3Jlc2V0X3N0YXQoc3RydWN0IHpyYW0gKnopCit7CisJaWYgKHopIHsKKwkJc3Rydl9mcmVlKHotPm1tX3N0YXQpOworCQl6LT5tbV9zdGF0ID0gTlVMTDsKKwkJei0+bW1fc3RhdF9wcm9iZWQgPSAwOworCX0KK30KKworc3RhdGljIHZvaWQgenJhbV9zZXRfZGV2bmFtZShzdHJ1Y3QgenJhbSAqeiwgY29uc3QgY2hhciAqZGV2bmFtZSwgc2l6ZV90IG4pCit7CisJYXNzZXJ0KHopOworCisJaWYgKCFkZXZuYW1lKQorCQlzbnByaW50Zih6LT5kZXZuYW1lLCBzaXplb2Yoei0+ZGV2bmFtZSksICIvZGV2L3pyYW0lenUiLCBuKTsKKwllbHNlIHsKKwkJc3RybmNweSh6LT5kZXZuYW1lLCBkZXZuYW1lLCBzaXplb2Yoei0+ZGV2bmFtZSkpOworCQl6LT5kZXZuYW1lW3NpemVvZih6LT5kZXZuYW1lKSAtIDFdID0gJ1wwJzsKKwl9CisKKwlEQkcoZnByaW50ZihzdGRlcnIsICJzZXQgZGV2bmFtZTogJXMiLCB6LT5kZXZuYW1lKSk7CisJdWxfdW5yZWZfcGF0aCh6LT5zeXNmcyk7CisJei0+c3lzZnMgPSBOVUxMOworCXpyYW1fcmVzZXRfc3RhdCh6KTsKK30KKworc3RhdGljIGludCB6cmFtX2dldF9kZXZudW0oc3RydWN0IHpyYW0gKnopCit7CisJaW50IG47CisKKwlhc3NlcnQoeik7CisKKwlpZiAoc3NjYW5mKHotPmRldm5hbWUsICIvZGV2L3pyYW0lZCIsICZuKSA9PSAxKQorCQlyZXR1cm4gbjsKKwlyZXR1cm4gLUVJTlZBTDsKK30KKworc3RhdGljIHN0cnVjdCB6cmFtICpuZXdfenJhbShjb25zdCBjaGFyICpkZXZuYW1lKQoreworCXN0cnVjdCB6cmFtICp6ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IHpyYW0pKTsKKworCURCRyhmcHJpbnRmKHN0ZGVyciwgIm5ldzogJXAiLCB6KSk7CisJaWYgKGRldm5hbWUpCisJCXpyYW1fc2V0X2Rldm5hbWUoeiwgZGV2bmFtZSwgMCk7CisJcmV0dXJuIHo7Cit9CisKK3N0YXRpYyB2b2lkIGZyZWVfenJhbShzdHJ1Y3QgenJhbSAqeikKK3sKKwlpZiAoIXopCisJCXJldHVybjsKKwlEQkcoZnByaW50ZihzdGRlcnIsICJmcmVlOiAlcCIsIHopKTsKKwl1bF91bnJlZl9wYXRoKHotPnN5c2ZzKTsKKwl6cmFtX3Jlc2V0X3N0YXQoeik7CisJZnJlZSh6KTsKK30KKworc3RhdGljIHN0cnVjdCBwYXRoX2N4dCAqenJhbV9nZXRfc3lzZnMoc3RydWN0IHpyYW0gKnopCit7CisJYXNzZXJ0KHopOworCisJaWYgKCF6LT5zeXNmcykgeworCQlkZXZfdCBkZXZubyA9IHN5c2ZzX2Rldm5hbWVfdG9fZGV2bm8oei0+ZGV2bmFtZSk7CisJCWlmICghZGV2bm8pCisJCQlyZXR1cm4gTlVMTDsKKwkJei0+c3lzZnMgPSB1bF9uZXdfc3lzZnNfcGF0aChkZXZubywgTlVMTCwgTlVMTCk7CisJCWlmICghei0+c3lzZnMpCisJCQlyZXR1cm4gTlVMTDsKKwkJaWYgKCp6LT5kZXZuYW1lICE9ICcvJykKKwkJCS8qIGNhbm9uaWNhbGl6ZSB0aGUgZGV2aWNlIG5hbWUgYWNjb3JkaW5nIHRvIC9zeXMgKi8KKwkJCXN5c2ZzX2Jsa2Rldl9nZXRfcGF0aCh6LT5zeXNmcywgei0+ZGV2bmFtZSwgc2l6ZW9mKHotPmRldm5hbWUpKTsKKwl9CisKKwlyZXR1cm4gei0+c3lzZnM7Cit9CisKK3N0YXRpYyBpbmxpbmUgaW50IHpyYW1fZXhpc3Qoc3RydWN0IHpyYW0gKnopCit7CisJYXNzZXJ0KHopOworCisJZXJybm8gPSAwOworCWlmICh6cmFtX2dldF9zeXNmcyh6KSA9PSBOVUxMKSB7CisJCWVycm5vID0gRU5PREVWOworCQlyZXR1cm4gMDsKKwl9CisKKwlEQkcoZnByaW50ZihzdGRlcnIsICIlcyBleGlzdHMiLCB6LT5kZXZuYW1lKSk7CisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgenJhbV9zZXRfdTY0cGFybShzdHJ1Y3QgenJhbSAqeiwgY29uc3QgY2hhciAqYXR0ciwgdWludDY0X3QgbnVtKQoreworCXN0cnVjdCBwYXRoX2N4dCAqc3lzZnMgPSB6cmFtX2dldF9zeXNmcyh6KTsKKwlpZiAoIXN5c2ZzKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlEQkcoZnByaW50ZihzdGRlcnIsICIlcyB3cml0aW5nICVqdSB0byAlcyIsIHotPmRldm5hbWUsIG51bSwgYXR0cikpOworCXJldHVybiB1bF9wYXRoX3dyaXRlX3U2NChzeXNmcywgbnVtLCBhdHRyKTsKK30KKworc3RhdGljIGludCB6cmFtX3NldF9zdHJwYXJtKHN0cnVjdCB6cmFtICp6LCBjb25zdCBjaGFyICphdHRyLCBjb25zdCBjaGFyICpzdHIpCit7CisJc3RydWN0IHBhdGhfY3h0ICpzeXNmcyA9IHpyYW1fZ2V0X3N5c2ZzKHopOworCWlmICghc3lzZnMpCisJCXJldHVybiAtRUlOVkFMOworCURCRyhmcHJpbnRmKHN0ZGVyciwgIiVzIHdyaXRpbmcgJXMgdG8gJXMiLCB6LT5kZXZuYW1lLCBzdHIsIGF0dHIpKTsKKwlyZXR1cm4gdWxfcGF0aF93cml0ZV9zdHJpbmcoc3lzZnMsIHN0ciwgYXR0cik7Cit9CisKKworc3RhdGljIGludCB6cmFtX3VzZWQoc3RydWN0IHpyYW0gKnopCit7CisJdWludDY0X3Qgc2l6ZTsKKwlzdHJ1Y3QgcGF0aF9jeHQgKnN5c2ZzID0genJhbV9nZXRfc3lzZnMoeik7CisKKwlpZiAoc3lzZnMgJiYKKwkgICAgdWxfcGF0aF9yZWFkX3U2NChzeXNmcywgJnNpemUsICJkaXNrc2l6ZSIpID09IDAgJiYKKwkgICAgc2l6ZSA+IDApIHsKKworCQlEQkcoZnByaW50ZihzdGRlcnIsICIlcyB1c2VkIiwgei0+ZGV2bmFtZSkpOworCQlyZXR1cm4gMTsKKwl9CisJREJHKGZwcmludGYoc3RkZXJyLCAiJXMgdW51c2VkIiwgei0+ZGV2bmFtZSkpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHpyYW1faGFzX2NvbnRyb2woc3RydWN0IHpyYW0gKnopCit7CisJaWYgKCF6LT5jb250cm9sX3Byb2JlZCkgeworCQl6LT5oYXNfY29udHJvbCA9IGFjY2VzcyhfUEFUSF9TWVNfQ0xBU1MgIi96cmFtLWNvbnRyb2wvIiwgRl9PSykgPT0gMCA/IDEgOiAwOworCQl6LT5jb250cm9sX3Byb2JlZCA9IDE7CisJCURCRyhmcHJpbnRmKHN0ZGVyciwgInpyYW0tY29udHJvbDogJXMiLCB6LT5oYXNfY29udHJvbCA/ICJ5ZXMiIDogIm5vIikpOworCX0KKworCXJldHVybiB6LT5oYXNfY29udHJvbDsKK30KKworc3RhdGljIHN0cnVjdCBwYXRoX2N4dCAqenJhbV9nZXRfY29udHJvbCh2b2lkKQoreworCWlmICghX19jb250cm9sKQorCQlfX2NvbnRyb2wgPSB1bF9uZXdfcGF0aChfUEFUSF9TWVNfQ0xBU1MgIi96cmFtLWNvbnRyb2wiKTsKKwlyZXR1cm4gX19jb250cm9sOworfQorCitzdGF0aWMgaW50IHpyYW1fY29udHJvbF9hZGQoc3RydWN0IHpyYW0gKnopCit7CisJaW50IG47CisJc3RydWN0IHBhdGhfY3h0ICpjdGw7CisKKwlpZiAoIXpyYW1faGFzX2NvbnRyb2woeikgfHwgIShjdGwgPSB6cmFtX2dldF9jb250cm9sKCkpKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCWlmICh1bF9wYXRoX3JlYWRfczMyKGN0bCwgJm4sICJob3RfYWRkIikgIT0gMCB8fCBuIDwgMCkKKwkJcmV0dXJuIG47CisKKwlEQkcoZnByaW50ZihzdGRlcnIsICJob3QtYWRkOiAlZCIsIG4pKTsKKwl6cmFtX3NldF9kZXZuYW1lKHosIE5VTEwsIG4pOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IHpyYW1fY29udHJvbF9yZW1vdmUoc3RydWN0IHpyYW0gKnopCit7CisJc3RydWN0IHBhdGhfY3h0ICpjdGw7CisJaW50IG47CisKKwlpZiAoIXpyYW1faGFzX2NvbnRyb2woeikgfHwgIShjdGwgPSB6cmFtX2dldF9jb250cm9sKCkpKQorCQlyZXR1cm4gLUVOT1NZUzsKKworCW4gPSB6cmFtX2dldF9kZXZudW0oeik7CisJaWYgKG4gPCAwKQorCQlyZXR1cm4gbjsKKworCURCRyhmcHJpbnRmKHN0ZGVyciwgImhvdC1yZW1vdmU6ICVkIiwgbikpOworCXJldHVybiB1bF9wYXRoX3dyaXRlX3U2NChjdGwsIG4sICJob3RfcmVtb3ZlIik7Cit9CisKK3N0YXRpYyBzdHJ1Y3QgenJhbSAqZmluZF9mcmVlX3pyYW0odm9pZCkKK3sKKwlzdHJ1Y3QgenJhbSAqeiA9IG5ld196cmFtKE5VTEwpOworCXNpemVfdCBpOworCWludCBpc2ZyZWUgPSAwOworCisJZm9yIChpID0gMDsgaXNmcmVlID09IDA7IGkrKykgeworCQlEQkcoZnByaW50ZihzdGRlcnIsICJmaW5kIGZyZWU6IGNoZWNraW5nIHpyYW0lenUiLCBpKSk7CisJCXpyYW1fc2V0X2Rldm5hbWUoeiwgTlVMTCwgaSk7CisJCWlmICghenJhbV9leGlzdCh6KSAmJiB6cmFtX2NvbnRyb2xfYWRkKHopICE9IDApCisJCQlicmVhazsKKwkJaXNmcmVlID0gIXpyYW1fdXNlZCh6KTsKKwl9CisJaWYgKCFpc2ZyZWUpIHsKKwkJZnJlZV96cmFtKHopOworCQl6ID0gTlVMTDsKKwl9CisJcmV0dXJuIHo7Cit9CisKK3N0YXRpYyBjaGFyICpnZXRfbW1fc3RhdChzdHJ1Y3QgenJhbSAqeiwgc2l6ZV90IGlkeCwgaW50IGJ5dGVzKQoreworCXN0cnVjdCBwYXRoX2N4dCAqc3lzZnM7CisJY29uc3QgY2hhciAqbmFtZTsKKwljaGFyICpzdHIgPSBOVUxMOworCXVpbnQ2NF90IG51bTsKKworCWFzc2VydChpZHggPCBBUlJBWV9TSVpFKG1tX3N0YXRfbmFtZXMpKTsKKwlhc3NlcnQoeik7CisKKwlzeXNmcyA9IHpyYW1fZ2V0X3N5c2ZzKHopOworCWlmICghc3lzZnMpCisJCXJldHVybiBOVUxMOworCisJLyogTGludXggPj0gNC4xIHVzZXMgL3N5cy9ibG9jay96cmFtPGlkPi9tbV9zdGF0ICovCisJaWYgKCF6LT5tbV9zdGF0ICYmICF6LT5tbV9zdGF0X3Byb2JlZCkgeworCQlpZiAodWxfcGF0aF9yZWFkX3N0cmluZyhzeXNmcywgJnN0ciwgIm1tX3N0YXQiKSA+IDAgJiYgc3RyKSB7CisJCQl6LT5tbV9zdGF0ID0gc3Rydl9zcGxpdChzdHIsICIgIik7CisKKwkJCS8qIG1ha2Ugc3VyZSBrZXJuZWwgcHJvdmlkZXMgbW1fc3RhdCBhcyBleHBlY3RlZCAqLworCQkJaWYgKHN0cnZfbGVuZ3RoKHotPm1tX3N0YXQpIDwgQVJSQVlfU0laRShtbV9zdGF0X25hbWVzKSkgeworCQkJCXN0cnZfZnJlZSh6LT5tbV9zdGF0KTsKKwkJCQl6LT5tbV9zdGF0ID0gTlVMTDsKKwkJCX0KKwkJfQorCQl6LT5tbV9zdGF0X3Byb2JlZCA9IDE7CisJCWZyZWUoc3RyKTsKKwkJc3RyID0gTlVMTDsKKwl9CisKKwlpZiAoei0+bW1fc3RhdCkgeworCQlpZiAoYnl0ZXMpCisJCQlyZXR1cm4geHN0cmR1cCh6LT5tbV9zdGF0W2lkeF0pOworCisJCW51bSA9IHN0cnRvdTY0X29yX2Vycih6LT5tbV9zdGF0W2lkeF0sIF8oIkZhaWxlZCB0byBwYXJzZSBtbV9zdGF0IikpOworCQlyZXR1cm4gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgbnVtKTsKKwl9CisKKwkvKiBMaW51eCA8IDQuMSB1c2VzIC9zeXMvYmxvY2svenJhbTxpZD4vPGF0dHJuYW1lPiAqLworCW5hbWUgPSBtbV9zdGF0X25hbWVzW2lkeF07CisJaWYgKGJ5dGVzKSB7CisJCXVsX3BhdGhfcmVhZF9zdHJpbmcoc3lzZnMsICZzdHIsIG5hbWUpOworCQlyZXR1cm4gc3RyOworCisJfSBlbHNlIGlmICh1bF9wYXRoX3JlYWRfdTY0KHN5c2ZzLCAmbnVtLCBuYW1lKSA9PSAwKQorCQlyZXR1cm4gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgbnVtKTsKKworCXJldHVybiBOVUxMOworfQorCitzdGF0aWMgdm9pZCBmaWxsX3RhYmxlX3JvdyhzdHJ1Y3QgbGlic2NvbHNfdGFibGUgKnRiLCBzdHJ1Y3QgenJhbSAqeikKK3sKKwlzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuOworCXN0cnVjdCBwYXRoX2N4dCAqc3lzZnM7CisJc2l6ZV90IGk7CisJdWludDY0X3QgbnVtOworCisJYXNzZXJ0KHRiKTsKKwlhc3NlcnQoeik7CisKKwlEQkcoZnByaW50ZihzdGRlcnIsICIlczogZmlsbGluZyBzdGF0dXMgdGFibGUiLCB6LT5kZXZuYW1lKSk7CisKKwlzeXNmcyA9IHpyYW1fZ2V0X3N5c2ZzKHopOworCWlmICghc3lzZnMpCisJCXJldHVybjsKKworCWxuID0gc2NvbHNfdGFibGVfbmV3X2xpbmUodGIsIE5VTEwpOworCWlmICghbG4pCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKworCWZvciAoaSA9IDA7IGkgPCAoc2l6ZV90KSBuY29sdW1uczsgaSsrKSB7CisJCWNoYXIgKnN0ciA9IE5VTEw7CisKKwkJc3dpdGNoIChnZXRfY29sdW1uX2lkKGkpKSB7CisJCWNhc2UgQ09MX05BTUU6CisJCQlzdHIgPSB4c3RyZHVwKHotPmRldm5hbWUpOworCQkJYnJlYWs7CisJCWNhc2UgQ09MX0RJU0tTSVpFOgorCQkJaWYgKGluYnl0ZXMpCisJCQkJdWxfcGF0aF9yZWFkX3N0cmluZyhzeXNmcywgJnN0ciwgImRpc2tzaXplIik7CisKKwkJCWVsc2UgaWYgKHVsX3BhdGhfcmVhZF91NjQoc3lzZnMsICZudW0sICJkaXNrc2l6ZSIpID09IDApCisJCQkJc3RyID0gc2l6ZV90b19odW1hbl9zdHJpbmcoU0laRV9TVUZGSVhfMUxFVFRFUiwgbnVtKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9BTEdPUklUSE06CisJCXsKKwkJCWNoYXIgKmFsZyA9IE5VTEw7CisKKwkJCXVsX3BhdGhfcmVhZF9zdHJpbmcoc3lzZnMsICZhbGcsICJjb21wX2FsZ29yaXRobSIpOworCQkJaWYgKGFsZykgeworCQkJCWNoYXIqIGxiciA9IHN0cnJjaHIoYWxnLCAnWycpOworCQkJCWNoYXIqIHJiciA9IHN0cnJjaHIoYWxnLCAnXScpOworCisJCQkJaWYgKGxiciAhPSBOVUxMICYmIHJiciAhPSBOVUxMICYmIHJiciAtIGxiciA+IDEpCisJCQkJCXN0ciA9IHhzdHJuZHVwKGxiciArIDEsIHJiciAtIGxiciAtIDEpOworCQkJCWZyZWUoYWxnKTsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJCWNhc2UgQ09MX01PVU5UUE9JTlQ6CisJCXsKKwkJCWNoYXIgcGF0aFtQQVRIX01BWF0gPSB7ICdcMCcgfTsKKwkJCWludCBmbDsKKworCQkJY2hlY2tfbW91bnRfcG9pbnQoei0+ZGV2bmFtZSwgJmZsLCBwYXRoLCBzaXplb2YocGF0aCkpOworCQkJaWYgKCpwYXRoKQorCQkJCXN0ciA9IHhzdHJkdXAocGF0aCk7CisJCQlicmVhazsKKwkJfQorCQljYXNlIENPTF9TVFJFQU1TOgorCQkJdWxfcGF0aF9yZWFkX3N0cmluZyhzeXNmcywgJnN0ciwgIm1heF9jb21wX3N0cmVhbXMiKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9aRVJPUEFHRVM6CisJCQlzdHIgPSBnZXRfbW1fc3RhdCh6LCBNTV9aRVJPX1BBR0VTLCAxKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9PUklHX1NJWkU6CisJCQlzdHIgPSBnZXRfbW1fc3RhdCh6LCBNTV9PUklHX0RBVEFfU0laRSwgaW5ieXRlcyk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfQ09NUF9TSVpFOgorCQkJc3RyID0gZ2V0X21tX3N0YXQoeiwgTU1fQ09NUFJfREFUQV9TSVpFLCBpbmJ5dGVzKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9NRU1UT1RBTDoKKwkJCXN0ciA9IGdldF9tbV9zdGF0KHosIE1NX01FTV9VU0VEX1RPVEFMLCBpbmJ5dGVzKTsKKwkJCWJyZWFrOworCQljYXNlIENPTF9NRU1MSU1JVDoKKwkJCXN0ciA9IGdldF9tbV9zdGF0KHosIE1NX01FTV9MSU1JVCwgaW5ieXRlcyk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTUVNVVNFRDoKKwkJCXN0ciA9IGdldF9tbV9zdGF0KHosIE1NX01FTV9VU0VEX01BWCwgaW5ieXRlcyk7CisJCQlicmVhazsKKwkJY2FzZSBDT0xfTUlHUkFURUQ6CisJCQlzdHIgPSBnZXRfbW1fc3RhdCh6LCBNTV9OVU1fTUlHUkFURUQsIGluYnl0ZXMpOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKHN0ciAmJiBzY29sc19saW5lX3JlZmVyX2RhdGEobG4sIGksIHN0cikpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIikpOworCX0KK30KKworc3RhdGljIHZvaWQgc3RhdHVzKHN0cnVjdCB6cmFtICp6KQoreworCXN0cnVjdCBsaWJzY29sc190YWJsZSAqdGI7CisJc2l6ZV90IGk7CisJRElSICpkaXI7CisJc3RydWN0IGRpcmVudCAqZDsKKworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwl0YiA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghdGIpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisKKwlzY29sc190YWJsZV9lbmFibGVfcmF3KHRiLCByYXcpOworCXNjb2xzX3RhYmxlX2VuYWJsZV9ub2hlYWRpbmdzKHRiLCBub19oZWFkaW5ncyk7CisKKwlmb3IgKGkgPSAwOyBpIDwgKHNpemVfdCkgbmNvbHVtbnM7IGkrKykgeworCQljb25zdCBzdHJ1Y3QgY29saW5mbyAqY29sID0gZ2V0X2NvbHVtbl9pbmZvKGkpOworCisJCWlmICghc2NvbHNfdGFibGVfbmV3X2NvbHVtbih0YiwgY29sLT5uYW1lLCBjb2wtPndoaW50LCBjb2wtPmZsYWdzKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBpbml0aWFsaXplIG91dHB1dCBjb2x1bW4iKSk7CisJfQorCisJaWYgKHopIHsKKwkJLyoganVzdCBvbmUgZGV2aWNlIHNwZWNpZmllZCAqLworCQlmaWxsX3RhYmxlX3Jvdyh0Yiwgeik7CisJCWdvdG8gcHJpbnRfdGFibGU7CisJfQorCisJLyogbGlzdCBhbGwgdXNlZCBkZXZpY2VzICovCisJeiA9IG5ld196cmFtKE5VTEwpOworCWlmICghKGRpciA9IG9wZW5kaXIoX1BBVEhfREVWKSkpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIF9QQVRIX0RFVik7CisKKwl3aGlsZSAoKGQgPSByZWFkZGlyKGRpcikpKSB7CisJCWludCBuOworCQlpZiAoc3NjYW5mKGQtPmRfbmFtZSwgInpyYW0lZCIsICZuKSAhPSAxKQorCQkJY29udGludWU7CisJCXpyYW1fc2V0X2Rldm5hbWUoeiwgTlVMTCwgbik7CisJCWlmICh6cmFtX2V4aXN0KHopICYmIHpyYW1fdXNlZCh6KSkKKwkJCWZpbGxfdGFibGVfcm93KHRiLCB6KTsKKwl9CisJY2xvc2VkaXIoZGlyKTsKKwlmcmVlX3pyYW0oeik7CisKK3ByaW50X3RhYmxlOgorCXNjb2xzX3ByaW50X3RhYmxlKHRiKTsKKwlzY29sc191bnJlZl90YWJsZSh0Yik7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCXNpemVfdCBpOworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKAkiICUxJHMgW29wdGlvbnNdIDxkZXZpY2U+XG4iCisJCQkiICUxJHMgLXIgPGRldmljZT4gWy4uLl1cbiIKKwkJCSIgJTEkcyBbb3B0aW9uc10gLWYgfCA8ZGV2aWNlPiAtcyA8c2l6ZT5cbiIpLAorCQkJcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlNldCB1cCBhbmQgY29udHJvbCB6cmFtIGRldmljZXMuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFsZ29yaXRobSBsem98bHo0fGx6NGhjfGRlZmxhdGV8ODQyICAgY29tcHJlc3Npb24gYWxnb3JpdGhtIHRvIHVzZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1iLCAtLWJ5dGVzICAgICAgICAgICAgICAgcHJpbnQgc2l6ZXMgaW4gYnl0ZXMgcmF0aGVyIHRoYW4gaW4gaHVtYW4gcmVhZGFibGUgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0tZmluZCAgICAgICAgICAgICAgICBmaW5kIGEgZnJlZSBkZXZpY2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1ub2hlYWRpbmdzICAgICAgICAgIGRvbid0IHByaW50IGhlYWRpbmdzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0IDxsaXN0PiAgICAgICBjb2x1bW5zIHRvIHVzZSBmb3Igc3RhdHVzIG91dHB1dFxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLW91dHB1dC1hbGwgICAgICAgICAgb3V0cHV0IGFsbCBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tcmF3ICAgICAgICAgICAgICAgICB1c2UgcmF3IHN0YXR1cyBvdXRwdXQgZm9ybWF0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tcmVzZXQgICAgICAgICAgICAgICByZXNldCBhbGwgc3BlY2lmaWVkIGRldmljZXNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1zaXplIDxzaXplPiAgICAgICAgIGRldmljZSBzaXplXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tc3RyZWFtcyA8bnVtYmVyPiAgICBudW1iZXIgb2YgY29tcHJlc3Npb24gc3RyZWFtc1xuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNykpOworCisJZnB1dHMoVVNBR0VfQ09MVU1OUywgb3V0KTsKKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShpbmZvcyk7IGkrKykKKwkJZnByaW50ZihvdXQsICIgJTExcyAgJXNcbiIsIGluZm9zW2ldLm5hbWUsIF8oaW5mb3NbaV0uaGVscCkpOworCisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJ6cmFtY3RsKDgpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworLyogYWN0aW9ucyAqLworZW51bSB7CisJQV9OT05FID0gMCwKKwlBX1NUQVRVUywKKwlBX0NSRUFURSwKKwlBX0ZJTkRPTkxZLAorCUFfUkVTRVQKK307CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl1aW50bWF4X3Qgc2l6ZSA9IDAsIG5zdHJlYW1zID0gMDsKKwljaGFyICphbGdvcml0aG0gPSBOVUxMOworCWludCByYyA9IDAsIGMsIGZpbmQgPSAwLCBhY3QgPSBBX05PTkU7CisJc3RydWN0IHpyYW0gKnpyYW0gPSBOVUxMOworCisJZW51bSB7CisJCU9QVF9SQVcgPSBDSEFSX01BWCArIDEsCisJCU9QVF9MSVNUX1RZUEVTCisJfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsgImFsZ29yaXRobSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYScgfSwKKwkJeyAiYnl0ZXMiLCAgICAgbm9fYXJndW1lbnQsIE5VTEwsICdiJyB9LAorCQl7ICJmaW5kIiwgICAgICBub19hcmd1bWVudCwgTlVMTCwgJ2YnIH0sCisJCXsgImhlbHAiLCAgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCcgfSwKKwkJeyAib3V0cHV0IiwgICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJyB9LAorCQl7ICJvdXRwdXQtYWxsIixub19hcmd1bWVudCwgTlVMTCwgT1BUX0xJU1RfVFlQRVMgfSwKKwkJeyAibm9oZWFkaW5ncyIsbm9fYXJndW1lbnQsIE5VTEwsICduJyB9LAorCQl7ICJyZXNldCIsICAgICBub19hcmd1bWVudCwgTlVMTCwgJ3InIH0sCisJCXsgInJhdyIsICAgICAgIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfUkFXIH0sCisJCXsgInNpemUiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncycgfSwKKwkJeyAic3RyZWFtcyIsICAgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd0JyB9LAorCQl7ICJ2ZXJzaW9uIiwgICBub19hcmd1bWVudCwgTlVMTCwgJ1YnIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXN0YXRpYyBjb25zdCB1bF9leGNsX3QgZXhjbFtdID0geworCQl7ICdmJywgJ28nLCAncicgfSwKKwkJeyAnbycsICdyJywgJ3MnIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImE6YmZobzpucnM6dDpWIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgJ2EnOgorCQkJYWxnb3JpdGhtID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2InOgorCQkJaW5ieXRlcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlmaW5kID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdvJzoKKwkJCW5jb2x1bW5zID0gc3RyaW5nX3RvX2lkYXJyYXkob3B0YXJnLAorCQkJCQkJICAgICBjb2x1bW5zLCBBUlJBWV9TSVpFKGNvbHVtbnMpLAorCQkJCQkJICAgICBjb2x1bW5fbmFtZV90b19pZCk7CisJCQlpZiAobmNvbHVtbnMgPCAwKQorCQkJCXJldHVybiBFWElUX0ZBSUxVUkU7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTElTVF9UWVBFUzoKKwkJCWZvciAobmNvbHVtbnMgPSAwOyAoc2l6ZV90KW5jb2x1bW5zIDwgQVJSQVlfU0laRShpbmZvcyk7IG5jb2x1bW5zKyspCisJCQkJY29sdW1uc1tuY29sdW1uc10gPSBuY29sdW1uczsKKwkJCWJyZWFrOworCQljYXNlICdzJzoKKwkJCXNpemUgPSBzdHJ0b3NpemVfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIHNpemUiKSk7CisJCQlhY3QgPSBBX0NSRUFURTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCW5zdHJlYW1zID0gc3RydG91NjRfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIHN0cmVhbXMiKSk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlhY3QgPSBBX1JFU0VUOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1JBVzoKKwkJCXJhdyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQlub19oZWFkaW5ncyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChmaW5kICYmIG9wdGluZCA8IGFyZ2MpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb24gLS1maW5kIGlzIG11dHVhbGx5IGV4Y2x1c2l2ZSAiCisJCQkJICAgICAid2l0aCA8ZGV2aWNlPiIpKTsKKwlpZiAoYWN0ID09IEFfTk9ORSkKKwkJYWN0ID0gZmluZCA/IEFfRklORE9OTFkgOiBBX1NUQVRVUzsKKworCWlmIChhY3QgIT0gQV9SRVNFVCAmJiBvcHRpbmQgKyAxIDwgYXJnYykKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm9ubHkgb25lIDxkZXZpY2U+IGF0IGEgdGltZSBpcyBhbGxvd2VkIikpOworCisJaWYgKChhY3QgPT0gQV9TVEFUVVMgfHwgYWN0ID09IEFfRklORE9OTFkpICYmIChhbGdvcml0aG0gfHwgbnN0cmVhbXMpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygib3B0aW9ucyAtLWFsZ29yaXRobSBhbmQgLS1zdHJlYW1zICIKKwkJCQkgICAgICJtdXN0IGJlIGNvbWJpbmVkIHdpdGggLS1zaXplIikpOworCisJdWxfcGF0aF9pbml0X2RlYnVnKCk7CisJdWxfc3lzZnNfaW5pdF9kZWJ1ZygpOworCisJc3dpdGNoIChhY3QpIHsKKwljYXNlIEFfU1RBVFVTOgorCQlpZiAoIW5jb2x1bW5zKSB7CQkvKiBkZWZhdWx0IGNvbHVtbnMgKi8KKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfTkFNRTsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfQUxHT1JJVEhNOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9ESVNLU0laRTsKKwkJCWNvbHVtbnNbbmNvbHVtbnMrK10gPSBDT0xfT1JJR19TSVpFOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9DT01QX1NJWkU7CisJCQljb2x1bW5zW25jb2x1bW5zKytdID0gQ09MX01FTVRPVEFMOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9TVFJFQU1TOworCQkJY29sdW1uc1tuY29sdW1ucysrXSA9IENPTF9NT1VOVFBPSU5UOworCQl9CisJCWlmIChvcHRpbmQgPCBhcmdjKSB7CisJCQl6cmFtID0gbmV3X3pyYW0oYXJndltvcHRpbmQrK10pOworCQkJaWYgKCF6cmFtX2V4aXN0KHpyYW0pKQorCQkJCWVycihFWElUX0ZBSUxVUkUsICIlcyIsIHpyYW0tPmRldm5hbWUpOworCQl9CisJCXN0YXR1cyh6cmFtKTsKKwkJZnJlZV96cmFtKHpyYW0pOworCQlicmVhazsKKwljYXNlIEFfUkVTRVQ6CisJCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBkZXZpY2Ugc3BlY2lmaWVkIikpOworCQl3aGlsZSAob3B0aW5kIDwgYXJnYykgeworCQkJenJhbSA9IG5ld196cmFtKGFyZ3Zbb3B0aW5kXSk7CisJCQlpZiAoIXpyYW1fZXhpc3QoenJhbSkKKwkJCSAgICB8fCB6cmFtX3NldF91NjRwYXJtKHpyYW0sICJyZXNldCIsIDEpKSB7CisJCQkJd2FybihfKCIlczogZmFpbGVkIHRvIHJlc2V0IiksIHpyYW0tPmRldm5hbWUpOworCQkJCXJjID0gMTsKKwkJCX0KKwkJCXpyYW1fY29udHJvbF9yZW1vdmUoenJhbSk7CisJCQlmcmVlX3pyYW0oenJhbSk7CisJCQlvcHRpbmQrKzsKKwkJfQorCQlicmVhazsKKwljYXNlIEFfRklORE9OTFk6CisJCXpyYW0gPSBmaW5kX2ZyZWVfenJhbSgpOworCQlpZiAoIXpyYW0pCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibm8gZnJlZSB6cmFtIGRldmljZSBmb3VuZCIpKTsKKwkJcHJpbnRmKCIlc1xuIiwgenJhbS0+ZGV2bmFtZSk7CisJCWZyZWVfenJhbSh6cmFtKTsKKwkJYnJlYWs7CisJY2FzZSBBX0NSRUFURToKKwkJaWYgKGZpbmQpIHsKKwkJCXpyYW0gPSBmaW5kX2ZyZWVfenJhbSgpOworCQkJaWYgKCF6cmFtKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJubyBmcmVlIHpyYW0gZGV2aWNlIGZvdW5kIikpOworCQl9IGVsc2UgaWYgKG9wdGluZCA9PSBhcmdjKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vIGRldmljZSBzcGVjaWZpZWQiKSk7CisJCWVsc2UgeworCQkJenJhbSA9IG5ld196cmFtKGFyZ3Zbb3B0aW5kXSk7CisJCQlpZiAoIXpyYW1fZXhpc3QoenJhbSkpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgenJhbS0+ZGV2bmFtZSk7CisJCX0KKworCQlpZiAoenJhbV9zZXRfdTY0cGFybSh6cmFtLCAicmVzZXQiLCAxKSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oIiVzOiBmYWlsZWQgdG8gcmVzZXQiKSwgenJhbS0+ZGV2bmFtZSk7CisKKwkJaWYgKG5zdHJlYW1zICYmCisJCSAgICB6cmFtX3NldF91NjRwYXJtKHpyYW0sICJtYXhfY29tcF9zdHJlYW1zIiwgbnN0cmVhbXMpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byBzZXQgbnVtYmVyIG9mIHN0cmVhbXMiKSwgenJhbS0+ZGV2bmFtZSk7CisKKwkJaWYgKGFsZ29yaXRobSAmJgorCQkgICAgenJhbV9zZXRfc3RycGFybSh6cmFtLCAiY29tcF9hbGdvcml0aG0iLCBhbGdvcml0aG0pKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byBzZXQgYWxnb3JpdGhtIiksIHpyYW0tPmRldm5hbWUpOworCisJCWlmICh6cmFtX3NldF91NjRwYXJtKHpyYW0sICJkaXNrc2l6ZSIsIHNpemUpKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiJXM6IGZhaWxlZCB0byBzZXQgZGlza3NpemUgKCVqdSBieXRlcykiKSwKKwkJCQl6cmFtLT5kZXZuYW1lLCBzaXplKTsKKwkJaWYgKGZpbmQpCisJCQlwcmludGYoIiVzXG4iLCB6cmFtLT5kZXZuYW1lKTsKKwkJZnJlZV96cmFtKHpyYW0pOworCQlicmVhazsKKwl9CisKKwl1bF91bnJlZl9wYXRoKF9fY29udHJvbCk7CisJcmV0dXJuIHJjID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9NYWtlbW9kdWxlLmFtIGIvdGVybS11dGlscy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhMDVhNzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwxMDEgQEAKK2lmIEJVSUxEX1NDUklQVAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gc2NyaXB0CitkaXN0X21hbl9NQU5TICs9IHRlcm0tdXRpbHMvc2NyaXB0LjEKK3NjcmlwdF9TT1VSQ0VTID0gdGVybS11dGlscy9zY3JpcHQuYyBsaWIvbW9ub3RvbmljLmMKK3NjcmlwdF9DRkxBR1MgPSAkKEFNX0NGTEFHUykgLVduby1mb3JtYXQteTJrCitzY3JpcHRfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgJChSRUFMVElNRV9MSUJTKQoraWYgSEFWRV9VVElMCitzY3JpcHRfTERBREQgKz0gLWx1dGlsCitlbmRpZgoraWYgSEFWRV9VVEVNUFRFUgorc2NyaXB0X0xEQUREICs9IC1sdXRlbXB0ZXIKK2VuZGlmCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3Rfc2NyaXB0Cit0ZXN0X3NjcmlwdF9TT1VSQ0VTID0gJChzY3JpcHRfU09VUkNFUykKK3Rlc3Rfc2NyaXB0X0xEQUREID0gJChzY3JpcHRfTERBREQpCit0ZXN0X3NjcmlwdF9DRkxBR1MgPSAtRFRFU1RfU0NSSVBUICQobG9nZ2VyX0NGTEFHUykKK2VuZGlmICMgQlVJTERfU0NSSVBUCisKK2lmIEJVSUxEX1NDUklQVFJFUExBWQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gc2NyaXB0cmVwbGF5CitkaXN0X21hbl9NQU5TICs9IHRlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LjEKK3NjcmlwdHJlcGxheV9TT1VSQ0VTID0gdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYworc2NyaXB0cmVwbGF5X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoTUFUSF9MSUJTKQorZW5kaWYgIyBCVUlMRF9TQ1JJUFRSRVBMQVkKKworCitpZiBCVUlMRF9BR0VUVFkKK3NiaW5fUFJPR1JBTVMgKz0gYWdldHR5CitkaXN0X21hbl9NQU5TICs9IHRlcm0tdXRpbHMvYWdldHR5LjgKK2FnZXR0eV9TT1VSQ0VTID0gdGVybS11dGlscy9hZ2V0dHkuYworYWdldHR5X0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCitpZiBCU0QKK2FnZXR0eV9MREFERCArPSAtbHV0aWwKK2VuZGlmCitlbmRpZiAjIEJVSUxEX0FHRVRUWQorCisKK2lmIEJVSUxEX1NFVFRFUk0KK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHNldHRlcm0KK2Rpc3RfbWFuX01BTlMgKz0gdGVybS11dGlscy9zZXR0ZXJtLjEKK3NldHRlcm1fU09VUkNFUyA9IHRlcm0tdXRpbHMvc2V0dGVybS5jCitzZXR0ZXJtX0NGTEFHUyA9ICQoQU1fQ0ZMQUdTKQorc2V0dGVybV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQoraWYgSEFWRV9USU5GTworc2V0dGVybV9MREFERCArPSAkKFRJTkZPX0xJQlMpCitzZXR0ZXJtX0NGTEFHUyArPSAkKFRJTkZPX0NGTEFHUykKK2Vsc2UKK3NldHRlcm1fTERBREQgKz0gJChOQ1VSU0VTX0xJQlMpCitzZXR0ZXJtX0NGTEFHUyArPSAkKE5DVVJTRVNfQ0ZMQUdTKQorZW5kaWYKK2VuZGlmCisKKworaWYgQlVJTERfTUVTRwordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gbWVzZworZGlzdF9tYW5fTUFOUyArPSB0ZXJtLXV0aWxzL21lc2cuMQorbWVzZ19TT1VSQ0VTID0gdGVybS11dGlscy9tZXNnLmMKK2VuZGlmCisKKworaWYgQlVJTERfV0FMTAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gd2FsbAord2FsbF9TT1VSQ0VTID0gXAorCXRlcm0tdXRpbHMvd2FsbC5jIFwKKwl0ZXJtLXV0aWxzL3R0eW1zZy5jIFwKKwl0ZXJtLXV0aWxzL3R0eW1zZy5oCitkaXN0X21hbl9NQU5TICs9IHRlcm0tdXRpbHMvd2FsbC4xCit3YWxsX0NGTEFHUyA9ICQoU1VJRF9DRkxBR1MpICQoQU1fQ0ZMQUdTKQord2FsbF9MREZMQUdTID0gJChTVUlEX0xERkxBR1MpICQoQU1fTERGTEFHUykKK3dhbGxfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKK2lmIFVTRV9UVFlfR1JPVVAKK2lmIE1BS0VJTlNUQUxMX0RPX0NIT1dOCitpbnN0YWxsLWV4ZWMtaG9vay13YWxsOjoKKwljaGdycCB0dHkgJChERVNURElSKSQodXNyYmluX2V4ZWNkaXIpL3dhbGwKKwljaG1vZCBnK3MgJChERVNURElSKSQodXNyYmluX2V4ZWNkaXIpL3dhbGwKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLXdhbGwKK2VuZGlmCitlbmRpZgorZW5kaWYgIyBCVUlMRF9XQUxMCisKKworaWYgQlVJTERfV1JJVEUKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHdyaXRlCitkaXN0X21hbl9NQU5TICs9IHRlcm0tdXRpbHMvd3JpdGUuMQord3JpdGVfU09VUkNFUyA9IHRlcm0tdXRpbHMvd3JpdGUuYword3JpdGVfQ0ZMQUdTID0gJChTVUlEX0NGTEFHUykgJChBTV9DRkxBR1MpCit3cml0ZV9MREZMQUdTID0gJChTVUlEX0xERkxBR1MpICQoQU1fTERGTEFHUykKK3dyaXRlX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK2lmIFVTRV9UVFlfR1JPVVAKK2lmIE1BS0VJTlNUQUxMX0RPX0NIT1dOCitpbnN0YWxsLWV4ZWMtaG9vay13cml0ZTo6CisJY2hncnAgdHR5ICQoREVTVERJUikkKHVzcmJpbl9leGVjZGlyKS93cml0ZQorCWNobW9kIGcrcyAkKERFU1RESVIpJCh1c3JiaW5fZXhlY2Rpcikvd3JpdGUKKworSU5TVEFMTF9FWEVDX0hPT0tTICs9IGluc3RhbGwtZXhlYy1ob29rLXdyaXRlCitlbmRpZgorZW5kaWYKK2VuZGlmICMgQlVJTERfV1JJVEUKZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvYWdldHR5LjggYi90ZXJtLXV0aWxzL2FnZXR0eS44Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVhNDgwODAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL2FnZXR0eS44CkBAIC0wLDAgKzEsNTAzIEBACisuVEggQUdFVFRZIDggIkZlYnJ1YXJ5IDIwMTYiICJ1dGlsLWxpbnV4IiAiU3lzdGVtIEFkbWluaXN0cmF0aW9uIgorLlNIIE5BTUUKK2FnZXR0eSBcLSBhbHRlcm5hdGl2ZSBMaW51eCBnZXR0eQorCisuU0ggU1lOT1BTSVMKKy5CIGFnZXR0eQorW29wdGlvbnNdCisuSVIgcG9ydCAiIFsiIGJhdWRfcmF0ZSAiLi4uXSBbIiB0ZXJtIF0KKworLlNIIERFU0NSSVBUSU9OCisuYWQKKy5maQorXGZCYWdldHR5XGZQIG9wZW5zIGEgdHR5IHBvcnQsIHByb21wdHMgZm9yIGEgbG9naW4gbmFtZSBhbmQgaW52b2tlcwordGhlIC9iaW4vbG9naW4gY29tbWFuZC4gIEl0IGlzIG5vcm1hbGx5IGludm9rZWQgYnkgXGZCaW5pdFxmUCg4KS4KKworXGZCYWdldHR5XGZQIGhhcyBzZXZlcmFsIFxmSW5vbi1zdGFuZGFyZFxmUCBmZWF0dXJlcyB0aGF0IGFyZSB1c2VmdWwKK2ZvciBoYXJkd2lyZWQgYW5kIGZvciBkaWFsLWluIGxpbmVzOgorLklQIFwoYnUKK0FkYXB0cyB0aGUgdHR5IHNldHRpbmdzIHRvIHBhcml0eSBiaXRzIGFuZCB0byBlcmFzZSwga2lsbCwKK2VuZC1vZi1saW5lIGFuZCB1cHBlcmNhc2UgY2hhcmFjdGVycyB3aGVuIGl0IHJlYWRzIGEgbG9naW4gbmFtZS4KK1RoZSBwcm9ncmFtIGNhbiBoYW5kbGUgNy1iaXQgY2hhcmFjdGVycyB3aXRoIGV2ZW4sIG9kZCwgbm9uZSBvciBzcGFjZQorcGFyaXR5LCBhbmQgOC1iaXQgY2hhcmFjdGVycyB3aXRoIG5vIHBhcml0eS4gIFRoZSBmb2xsb3dpbmcgc3BlY2lhbAorY2hhcmFjdGVycyBhcmUgcmVjb2duaXplZDogQ29udHJvbC1VIChraWxsKTsgREVMIGFuZAorYmFja3NwYWNlIChlcmFzZSk7IGNhcnJpYWdlIHJldHVybiBhbmQgbGluZSBmZWVkIChlbmQgb2YgbGluZSkuCitTZWUgYWxzbyB0aGUgXGZCXC1cLWVyYXNlXC1jaGFyc1xmUCBhbmQgXGZCXC1cLWtpbGxcLWNoYXJzXGZQIG9wdGlvbnMuCisuSVAgXChidQorT3B0aW9uYWxseSBkZWR1Y2VzIHRoZSBiYXVkIHJhdGUgZnJvbSB0aGUgQ09OTkVDVCBtZXNzYWdlcyBwcm9kdWNlZCBieQorSGF5ZXModG0pLWNvbXBhdGlibGUgbW9kZW1zLgorLklQIFwoYnUKK09wdGlvbmFsbHkgZG9lcyBub3QgaGFuZyB1cCB3aGVuIGl0IGlzIGdpdmVuIGFuIGFscmVhZHkgb3BlbmVkIGxpbmUKKyh1c2VmdWwgZm9yIGNhbGwtYmFjayBhcHBsaWNhdGlvbnMpLgorLklQIFwoYnUKK09wdGlvbmFsbHkgZG9lcyBub3QgZGlzcGxheSB0aGUgY29udGVudHMgb2YgdGhlIFxmSS9ldGMvaXNzdWVcZlAgZmlsZS4KKy5JUCBcKGJ1CitPcHRpb25hbGx5IGRpc3BsYXlzIGFuIGFsdGVybmF0aXZlIGlzc3VlIGZpbGUgb3IgZGlyZWN0b3J5IGluc3RlYWQgb2YgXGZJL2V0Yy9pc3N1ZVxmUCBvciBcZkkvZXRjL2lzc3VlLmRcZlAuCisuSVAgXChidQorT3B0aW9uYWxseSBkb2VzIG5vdCBhc2sgZm9yIGEgbG9naW4gbmFtZS4KKy5JUCBcKGJ1CitPcHRpb25hbGx5IGludm9rZXMgYSBub24tc3RhbmRhcmQgbG9naW4gcHJvZ3JhbSBpbnN0ZWFkIG9mCitcZkkvYmluL2xvZ2luXGZQLgorLklQIFwoYnUKK09wdGlvbmFsbHkgdHVybnMgb24gaGFyZHdhcmUgZmxvdyBjb250cm9sLgorLklQIFwoYnUKK09wdGlvbmFsbHkgZm9yY2VzIHRoZSBsaW5lIHRvIGJlIGxvY2FsIHdpdGggbm8gbmVlZCBmb3IgY2FycmllciBkZXRlY3QuCisuUFAKK1RoaXMgcHJvZ3JhbSBkb2VzIG5vdCB1c2UgdGhlIFxmSS9ldGMvZ2V0dHlkZWZzXGZQIChTeXN0ZW0gVikgb3IKK1xmSS9ldGMvZ2V0dHl0YWJcZlAgKFN1bk9TIDQpIGZpbGVzLgorLlNIIEFSR1VNRU5UUworLm5hCisubmYKKy5maQorLmFkCisuVFAKKy5JIHBvcnQKK0EgcGF0aCBuYW1lIHJlbGF0aXZlIHRvIHRoZSBcZkkvZGV2XGZQIGRpcmVjdG9yeS4gIElmIGEgIlwtIiBpcworc3BlY2lmaWVkLCBcZkJhZ2V0dHlcZlAgYXNzdW1lcyB0aGF0IGl0cyBzdGFuZGFyZCBpbnB1dCBpcworYWxyZWFkeSBjb25uZWN0ZWQgdG8gYSB0dHkgcG9ydCBhbmQgdGhhdCBhIGNvbm5lY3Rpb24gdG8gYQorcmVtb3RlIHVzZXIgaGFzIGFscmVhZHkgYmVlbiBlc3RhYmxpc2hlZC4KKy5zcAorVW5kZXIgU3lzdGVtIFYsIGEgIlwtIiBcZklwb3J0XGZQIGFyZ3VtZW50IHNob3VsZCBiZSBwcmVjZWRlZAorYnkgYSAiXC1cLSIuCisuVFAKKy5JUiBiYXVkX3JhdGUgLC4uLgorQSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBvbmUgb3IgbW9yZSBiYXVkIHJhdGVzLiAgRWFjaCB0aW1lCitcZkJhZ2V0dHlcZlAgcmVjZWl2ZXMgYSBCUkVBSyBjaGFyYWN0ZXIgaXQgYWR2YW5jZXMgdGhyb3VnaAordGhlIGxpc3QsIHdoaWNoIGlzIHRyZWF0ZWQgYXMgaWYgaXQgd2VyZSBjaXJjdWxhci4KKy5zcAorQmF1ZCByYXRlcyBzaG91bGQgYmUgc3BlY2lmaWVkIGluIGRlc2NlbmRpbmcgb3JkZXIsIHNvIHRoYXQgdGhlCitudWxsIGNoYXJhY3RlciAoQ3RybFwtQCkgY2FuIGFsc28gYmUgdXNlZCBmb3IgYmF1ZC1yYXRlIHN3aXRjaGluZy4KKy5zcAorVGhpcyBhcmd1bWVudCBpcyBvcHRpb25hbCBhbmQgdW5uZWNlc3NhcnkgZm9yIFxmQnZpcnR1YWwgdGVybWluYWxzXGZQLgorLnNwCitUaGUgZGVmYXVsdCBmb3IgXGZCc2VyaWFsIHRlcm1pbmFsc1xmUCBpcyBrZWVwIHRoZSBjdXJyZW50IGJhdWQgcmF0ZQorKHNlZSBcZkJcLVwta2VlcFwtYmF1ZFxmUCkgYW5kIGlmIHVuc3VjY2Vzc2Z1bCB0aGVuIGRlZmF1bHQgdG8gJzk2MDAnLgorLlRQCisuSSB0ZXJtCitUaGUgdmFsdWUgdG8gYmUgdXNlZCBmb3IgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGUuICBUaGlzIG92ZXJyaWRlcword2hhdGV2ZXIgaW5pdCg4KSBtYXkgaGF2ZSBzZXQsIGFuZCBpcyBpbmhlcml0ZWQgYnkgbG9naW4gYW5kIHRoZSBzaGVsbC4KKy5zcAorVGhlIGRlZmF1bHQgaXMgJ3Z0MTAwJywgb3IgJ2xpbnV4JyBmb3IgTGludXggb24gYSB2aXJ0dWFsIHRlcm1pbmFsLAorb3IgJ2h1cmQnIGZvciBHTlUgSHVyZCBvbiBhIHZpcnR1YWwgdGVybWluYWwuCisuU0ggT1BUSU9OUworLm5hCisubmYKKy5maQorLmFkCisuVFAKK1wtOCwgXC1cLThiaXRzCitBc3N1bWUgdGhhdCB0aGUgdHR5IGlzIDgtYml0IGNsZWFuLCBoZW5jZSBkaXNhYmxlIHBhcml0eSBkZXRlY3Rpb24uCisuVFAKK1wtYSwgXC1cLWF1dG9sb2dpbiBcZkl1c2VybmFtZVxmUAorQXV0b21hdGljYWxseSBsb2cgaW4gdGhlIHNwZWNpZmllZCB1c2VyIHdpdGhvdXQgYXNraW5nIGZvciBhIHVzZXJuYW1lIG9yIHBhc3N3b3JkLgorVXNpbmcgdGhpcyBvcHRpb24gY2F1c2VzIGFuIFxmQlwtZiBcZkl1c2VybmFtZVxmUiBvcHRpb24gYW5kIGFyZ3VtZW50IHRvIGJlCithZGRlZCB0byB0aGUgXGZCL2Jpbi9sb2dpblxmUCBjb21tYW5kIGxpbmUuICBTZWUgXGZCXC1cLWxvZ2luXC1vcHRpb25zXGZSLCB3aGljaAorY2FuIGJlIHVzZWQgdG8gbW9kaWZ5IHRoaXMgb3B0aW9uJ3MgYmVoYXZpb3IuCisKK05vdGUgdGhhdCBcZkJcLVwtYXV0b2xvZ2luXGZQIG1heSBhZmZlY3QgdGhlIHdheSBob3cgYWdldHR5IGluaXRpYWxpemVzIHRoZQorc2VyaWFsIGxpbmUsIGJlY2F1c2Ugb24gYXV0by1sb2dpbiBhZ2V0dHkgZG9lcyBub3QgcmVhZCBmcm9tIHRoZSBsaW5lIGFuZCBpdAoraGFzIG5vIG9wcG9ydHVuaXR5IG9wdGltaXplIHRoZSBsaW5lIHNldHRpbmcuCisuVFAKK1wtYywgXC1cLW5vcmVzZXQKK0RvIG5vdCByZXNldCB0ZXJtaW5hbCBjZmxhZ3MgKGNvbnRyb2wgbW9kZXMpLiAgU2VlIFxmQnRlcm1pb3NcZlAoMykgZm9yIG1vcmUKK2RldGFpbHMuCisuVFAKK1wtRSwgXC1cLXJlbW90ZQorVHlwaWNhbGx5IHRoZSBcZkJsb2dpblxmUCgxKSBjb21tYW5kIGlzIGdpdmVuIGEgcmVtb3RlIGhvc3RuYW1lIHdoZW4KK2NhbGxlZCBieSBzb21ldGhpbmcgc3VjaCBhcyBcZkJ0ZWxuZXRkXGZQKDgpLiAgVGhpcyBvcHRpb24gYWxsb3dzIFxmQmFnZXR0eVxmUAordG8gcGFzcyB3aGF0IGl0IGlzIHVzaW5nIGZvciBhIGhvc3RuYW1lIHRvIFxmQmxvZ2luXGZQKDEpIGZvciB1c2UKK2luIFxmQnV0bXBcZlAoNSkuICBTZWUgXGZCXC1cLWhvc3RcZlAsIFxmQmxvZ2luXGZQKDEpLCBhbmQgXGZCdXRtcFxmUCg1KS4KKy5JUAorSWYgdGhlIFxmQlwtXC1ob3N0XGZQIFxmSWZha2Vob3N0XGZQIG9wdGlvbiBpcyBnaXZlbiwgdGhlbiBhbiBcZkJcLWhcZlAKK1xmSWZha2Vob3N0XGZQIG9wdGlvbiBhbmQgYXJndW1lbnQgYXJlIGFkZGVkIHRvIHRoZSBcZkIvYmluL2xvZ2luXGZQCitjb21tYW5kIGxpbmUuCisuSVAKK0lmIHRoZSBcZkJcLVwtbm9ob3N0bmFtZVxmUiBvcHRpb24gaXMgZ2l2ZW4sIHRoZW4gYW4gXGZCXC1IXGZQIG9wdGlvbgoraXMgYWRkZWQgdG8gdGhlIFxmQi9iaW4vbG9naW5cZlAgY29tbWFuZCBsaW5lLgorLklQCitTZWUgXGZCXC1cLWxvZ2luXC1vcHRpb25zXGZSLgorLlRQCitcLWYsIFwtXC1pc3N1ZVwtZmlsZSBcZklmaWxlfGRpcmVjdG9yeVxmUAorRGlzcGxheSB0aGUgY29udGVudHMgb2YgXGZJZmlsZVxmUCBpbnN0ZWFkIG9mIFxmSS9ldGMvaXNzdWVcZlAuICBJZiB0aGUKK3NwZWNpZmllZCBwYXRoIGlzIGEgXGZJZGlyZWN0b3J5XGZQIHRoZW4gZGlzcGxheXMgYWxsIGZpbGVzIHdpdGggLmlzc3VlIGZpbGUKK2V4dGVuc2lvbiBpbiB2ZXJzaW9uLXNvcnQgb3JkZXIgZnJvbSB0aGUgZGlyZWN0b3J5LiAgVGhpcyBhbGxvd3MgY3VzdG9tCittZXNzYWdlcyB0byBiZSBkaXNwbGF5ZWQgb24gZGlmZmVyZW50IHRlcm1pbmFscy4gIFRoZQorXC1cLW5vaXNzdWUgb3B0aW9uIHdpbGwgb3ZlcnJpZGUgdGhpcyBvcHRpb24uCisuVFAKK1wtaCwgXC1cLWZsb3dcLWNvbnRyb2wKK0VuYWJsZSBoYXJkd2FyZSAoUlRTL0NUUykgZmxvdyBjb250cm9sLiAgSXQgaXMgbGVmdCB1cCB0byB0aGUKK2FwcGxpY2F0aW9uIHRvIGRpc2FibGUgc29mdHdhcmUgKFhPTi9YT0ZGKSBmbG93IHByb3RvY29sIHdoZXJlCithcHByb3ByaWF0ZS4KKy5UUAorXC1ILCBcLVwtaG9zdCBcZklmYWtlaG9zdFxmUAorV3JpdGUgdGhlIHNwZWNpZmllZCBcZklmYWtlaG9zdFxmUCBpbnRvIHRoZSB1dG1wIGZpbGUuICBOb3JtYWxseSwKK25vIGxvZ2luIGhvc3QgaXMgZ2l2ZW4sIHNpbmNlIFxmQmFnZXR0eVxmUCBpcyB1c2VkIGZvciBsb2NhbCBoYXJkd2lyZWQKK2Nvbm5lY3Rpb25zIGFuZCBjb25zb2xlcy4gIEhvd2V2ZXIsIHRoaXMgb3B0aW9uIGNhbiBiZSB1c2VmdWwgZm9yCitpZGVudGlmeWluZyB0ZXJtaW5hbCBjb25jZW50cmF0b3JzIGFuZCB0aGUgbGlrZS4KKy5UUAorXC1pLCBcLVwtbm9pc3N1ZQorRG8gbm90IGRpc3BsYXkgdGhlIGNvbnRlbnRzIG9mIFxmSS9ldGMvaXNzdWVcZlAgKG9yIG90aGVyKSBiZWZvcmUgd3JpdGluZyB0aGUKK2xvZ2luIHByb21wdC4gIFRlcm1pbmFscyBvciBjb21tdW5pY2F0aW9ucyBoYXJkd2FyZSBtYXkgYmVjb21lIGNvbmZ1c2VkCit3aGVuIHJlY2VpdmluZyBsb3RzIG9mIHRleHQgYXQgdGhlIHdyb25nIGJhdWQgcmF0ZTsgZGlhbC11cCBzY3JpcHRzCittYXkgZmFpbCBpZiB0aGUgbG9naW4gcHJvbXB0IGlzIHByZWNlZGVkIGJ5IHRvbyBtdWNoIHRleHQuCisuVFAKK1wtSSwgXC1cLWluaXRcLXN0cmluZyBcZklpbml0c3RyaW5nXGZQCitTZXQgYW4gaW5pdGlhbCBzdHJpbmcgdG8gYmUgc2VudCB0byB0aGUgdHR5IG9yIG1vZGVtIGJlZm9yZSBzZW5kaW5nCithbnl0aGluZyBlbHNlLiAgVGhpcyBtYXkgYmUgdXNlZCB0byBpbml0aWFsaXplIGEgbW9kZW0uICBOb24tcHJpbnRhYmxlCitjaGFyYWN0ZXJzIG1heSBiZSBzZW50IGJ5IHdyaXRpbmcgdGhlaXIgb2N0YWwgY29kZSBwcmVjZWRlZCBieSBhCitiYWNrc2xhc2ggKFxcKS4gIEZvciBleGFtcGxlLCB0byBzZW5kIGEgbGluZWZlZWQgY2hhcmFjdGVyIChBU0NJSSAxMCwKK29jdGFsIDAxMiksIHdyaXRlIFxcMDEyLgorLlRQCitcLUosIFwtXC1ub2NsZWFyCitEbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0aW5nIGZvciB0aGUgbG9naW4gbmFtZS4KK0J5IGRlZmF1bHQgdGhlIHNjcmVlbiBpcyBjbGVhcmVkLgorLlRQCitcLWwsIFwtXC1sb2dpblwtcHJvZ3JhbSBcZklsb2dpbl9wcm9ncmFtXGZQCitJbnZva2UgdGhlIHNwZWNpZmllZCBcZklsb2dpbl9wcm9ncmFtXGZQIGluc3RlYWQgb2YgL2Jpbi9sb2dpbi4gIFRoaXMgYWxsb3dzCit0aGUgdXNlIG9mIGEgbm9uLXN0YW5kYXJkIGxvZ2luIHByb2dyYW0uICBTdWNoIGEgcHJvZ3JhbSBjb3VsZCwgZm9yIGV4YW1wbGUsCithc2sgZm9yIGEgZGlhbC11cCBwYXNzd29yZCBvciB1c2UgYSBkaWZmZXJlbnQgcGFzc3dvcmQgZmlsZS4gU2VlCitcZkJcLVwtbG9naW5cLW9wdGlvbnNcZlAuCisuVFAKK1wtTCwgXC1cLWxvY2FsXC1saW5lWz1cZkltb2RlXGZQXQorQ29udHJvbCB0aGUgQ0xPQ0FMIGxpbmUgZmxhZy4gIFRoZSBvcHRpb25hbCBcZkltb2RlXGZQIGFyZ3VtZW50IGlzICdhdXRvJywgJ2Fsd2F5cycgb3IgJ25ldmVyJy4KK0lmIHRoZSBcZkltb2RlXGZQIGFyZ3VtZW50IGlzIG9taXR0ZWQsIHRoZW4gdGhlIGRlZmF1bHQgaXMgJ2Fsd2F5cycuICBJZiB0aGUKK1wtXC1sb2NhbFwtbGluZSBvcHRpb24gaXMgbm90IGdpdmVuIGF0IGFsbCwgdGhlbiB0aGUgZGVmYXVsdCBpcyAnYXV0bycuCisuUFAKKy5SUworLlBEIDEKKy5UUAorXGZJYWx3YXlzXGZSCitGb3JjZXMgdGhlIGxpbmUgdG8gYmUgYSBsb2NhbCBsaW5lIHdpdGggbm8gbmVlZCBmb3IgY2FycmllciBkZXRlY3QuICBUaGlzCitjYW4gYmUgdXNlZnVsIHdoZW4geW91IGhhdmUgYSBsb2NhbGx5IGF0dGFjaGVkIHRlcm1pbmFsIHdoZXJlIHRoZSBzZXJpYWwKK2xpbmUgZG9lcyBub3Qgc2V0IHRoZSBjYXJyaWVyLWRldGVjdCBzaWduYWwuCisuVFAKK1xmSW5ldmVyXGZSCitFeHBsaWNpdGx5IGNsZWFycyB0aGUgQ0xPQ0FMIGZsYWcgZnJvbSB0aGUgbGluZSBzZXR0aW5nIGFuZCB0aGUKK2NhcnJpZXItZGV0ZWN0IHNpZ25hbCBpcyBleHBlY3RlZCBvbiB0aGUgbGluZS4KKy5UUAorXGZJYXV0b1xmUgorVGhlIFxmQmFnZXR0eVxmUiBkZWZhdWx0LiAgRG9lcyBub3QgbW9kaWZ5IHRoZSBDTE9DQUwgc2V0dGluZyBhbmQgZm9sbG93cwordGhlIHNldHRpbmcgZW5hYmxlZCBieSB0aGUga2VybmVsLgorLlBECisuUkUKKy5UUAorXC1tLCBcLVwtZXh0cmFjdFwtYmF1ZAorVHJ5IHRvIGV4dHJhY3QgdGhlIGJhdWQgcmF0ZSBmcm9tIHRoZSBDT05ORUNUIHN0YXR1cyBtZXNzYWdlCitwcm9kdWNlZCBieSBIYXllcyh0bSlcLWNvbXBhdGlibGUgbW9kZW1zLiAgVGhlc2Ugc3RhdHVzCittZXNzYWdlcyBhcmUgb2YgdGhlIGZvcm06ICI8anVuaz48c3BlZWQ+PGp1bms+Ii4KK1xmQmFnZXR0eVxmUCBhc3N1bWVzIHRoYXQgdGhlIG1vZGVtIGVtaXRzIGl0cyBzdGF0dXMgbWVzc2FnZSBhdAordGhlIHNhbWUgc3BlZWQgYXMgc3BlY2lmaWVkIHdpdGggKHRoZSBmaXJzdCkgXGZJYmF1ZF9yYXRlXGZQIHZhbHVlCitvbiB0aGUgY29tbWFuZCBsaW5lLgorLnNwCitTaW5jZSB0aGUgXGZCXC1cLWV4dHJhY3RcLWJhdWRcZlAgZmVhdHVyZSBtYXkgZmFpbCBvbiBoZWF2aWx5LWxvYWRlZAorc3lzdGVtcywgeW91IHN0aWxsIHNob3VsZCBlbmFibGUgQlJFQUsgcHJvY2Vzc2luZyBieSBlbnVtZXJhdGluZyBhbGwKK2V4cGVjdGVkIGJhdWQgcmF0ZXMgb24gdGhlIGNvbW1hbmQgbGluZS4KKy5UUAorXC1cLWxpc3RcLXNwZWVkcworRGlzcGxheSBzdXBwb3J0ZWQgYmF1ZCByYXRlcy4gIFRoZXNlIGFyZSBkZXRlcm1pbmVkIGF0IGNvbXBpbGF0aW9uIHRpbWUuCisuVFAKK1wtbiwgXC1cLXNraXBcLWxvZ2luCitEbyBub3QgcHJvbXB0IHRoZSB1c2VyIGZvciBhIGxvZ2luIG5hbWUuICBUaGlzIGNhbiBiZSB1c2VkIGluIGNvbm5lY3Rpb24KK3dpdGggdGhlIFxmQlwtXC1sb2dpblwtcHJvZ3JhbVxmUCBvcHRpb24gdG8gaW52b2tlIGEgbm9uLXN0YW5kYXJkIGxvZ2luCitwcm9jZXNzIHN1Y2ggYXMgYSBCQlMgc3lzdGVtLiAgTm90ZSB0aGF0IHdpdGggdGhlIFxmQlwtXC1za2lwXC1sb2dpblxmUgorb3B0aW9uLCBcZkJhZ2V0dHlcZlIgZ2V0cyBubyBpbnB1dCBmcm9tIHRoZSB1c2VyIHdobyBsb2dzIGluIGFuZCB0aGVyZWZvcmUKK3dpbGwgbm90IGJlIGFibGUgdG8gZmlndXJlIG91dCBwYXJpdHksIGNoYXJhY3RlciBzaXplLCBhbmQgbmV3bGluZQorcHJvY2Vzc2luZyBvZiB0aGUgY29ubmVjdGlvbi4gIEl0IGRlZmF1bHRzIHRvIHNwYWNlIHBhcml0eSwgNyBiaXQKK2NoYXJhY3RlcnMsIGFuZCBBU0NJSSBDUiAoMTMpIGVuZC1vZi1saW5lIGNoYXJhY3Rlci4gIEJld2FyZSB0aGF0IHRoZQorcHJvZ3JhbSB0aGF0IFxmQmFnZXR0eVxmUiBzdGFydHMgKHVzdWFsbHkgL2Jpbi9sb2dpbikgaXMgcnVuIGFzIHJvb3QuCisuVFAKK1wtTiwgXC1cLW5vbmV3bGluZQorRG8gbm90IHByaW50IGEgbmV3bGluZSBiZWZvcmUgd3JpdGluZyBvdXQgL2V0Yy9pc3N1ZS4KKy5UUAorXC1vLCBcLVwtbG9naW5cLW9wdGlvbnMgIlxmSWxvZ2luX29wdGlvbnNcZlAiCitPcHRpb25zICBhbmQgYXJndW1lbnRzIHRoYXQgIGFyZSBwYXNzZWQgdG8gXGZCbG9naW5cZlAoMSkuIFdoZXJlIFxcdSBpcworcmVwbGFjZWQgYnkgdGhlIGxvZ2luIG5hbWUuIEZvciBleGFtcGxlOgorLlJTCisuSVAgIiIgNAorLkIgIlwtXC1sb2dpblwtb3B0aW9ucyAnLWggZGFya3N0YXIgLS0gXFxcdSciCisuUFAKK1NlZSBcZkJcLVwtYXV0b2xvZ2luXGZSLCBcZkJcLVwtbG9naW5cLXByb2dyYW1cZlIgYW5kIFxmQlwtXC1yZW1vdGVcZlIuCisuUFAKK1BsZWFzZSByZWFkIHRoZSBTRUNVUklUWSBOT1RJQ0UgYmVsb3cgYmVmb3JlIHVzaW5nIHRoaXMgb3B0aW9uLgorLlJFCisuVFAKK1wtcCwgXC1cLWxvZ2luXC1wYXVzZQorV2FpdCBmb3IgYW55IGtleSBiZWZvcmUgZHJvcHBpbmcgdG8gdGhlIGxvZ2luIHByb21wdC4gIENhbiBiZSBjb21iaW5lZAord2l0aCBcZkJcLVwtYXV0b2xvZ2luXGZQIHRvIHNhdmUgbWVtb3J5IGJ5IGxhemlseSBzcGF3bmluZyBzaGVsbHMuCisuVFAKK1wtciwgXC1cLWNocm9vdCBcZklkaXJlY3RvcnlcZlAKK0NoYW5nZSByb290IHRvIHRoZSBzcGVjaWZpZWQgZGlyZWN0b3J5LgorLlRQCitcLVIsIFwtXC1oYW5ndXAKK0NhbGwgdmhhbmd1cCgpIHRvIGRvIGEgdmlydHVhbCBoYW5ndXAgb2YgdGhlIHNwZWNpZmllZCB0ZXJtaW5hbC4KKy5UUAorXC1zLCBcLVwta2VlcFwtYmF1ZAorVHJ5IHRvIGtlZXAgdGhlIGV4aXN0aW5nIGJhdWQgcmF0ZS4gIFRoZSBiYXVkIHJhdGVzIGZyb20KK3RoZSBjb21tYW5kIGxpbmUgYXJlIHVzZWQgd2hlbiBhZ2V0dHkgcmVjZWl2ZXMgYSBCUkVBSyBjaGFyYWN0ZXIuCisuVFAKK1wtdCwgXC1cLXRpbWVvdXQgXGZJdGltZW91dFxmUAorVGVybWluYXRlIGlmIG5vIHVzZXIgbmFtZSBjb3VsZCBiZSByZWFkIHdpdGhpbiBcZkl0aW1lb3V0XGZQIHNlY29uZHMuCitVc2Ugb2YgdGhpcyBvcHRpb24gd2l0aCBoYXJkd2lyZWQgdGVybWluYWwgbGluZXMgaXMgbm90IHJlY29tbWVuZGVkLgorLlRQCitcLVUsIFwtXC1kZXRlY3RcLWNhc2UKK1R1cm4gb24gc3VwcG9ydCBmb3IgZGV0ZWN0aW5nIGFuIHVwcGVyY2FzZS1vbmx5IHRlcm1pbmFsLiAgVGhpcyBzZXR0aW5nCit3aWxsIGRldGVjdCBhIGxvZ2luIG5hbWUgY29udGFpbmluZyBvbmx5IGNhcGl0YWxzIGFzIGluZGljYXRpbmcgYW4KK3VwcGVyY2FzZS1vbmx5IHRlcm1pbmFsIGFuZCB0dXJuIG9uIHNvbWUgdXBwZXItdG8tbG93ZXIgY2FzZSBjb252ZXJzaW9ucy4KK05vdGUgdGhhdCB0aGlzIGhhcyBubyBzdXBwb3J0IGZvciBhbnkgVW5pY29kZSBjaGFyYWN0ZXJzLgorLlRQCitcLXcsIFwtXC13YWl0XC1jcgorV2FpdCBmb3IgdGhlIHVzZXIgb3IgdGhlIG1vZGVtIHRvIHNlbmQgYSBjYXJyaWFnZS1yZXR1cm4gb3IgYQorbGluZWZlZWQgY2hhcmFjdGVyIGJlZm9yZSBzZW5kaW5nIHRoZSBcZkkvZXRjL2lzc3VlXGZQIGZpbGUgKG9yIG90aGVycykKK2FuZCB0aGUgbG9naW4gcHJvbXB0LiAgVGhpcyBpcyB1c2VmdWwgd2l0aCB0aGUgXGZCXC1cLWluaXRcLXN0cmluZ1xmUAorb3B0aW9uLgorLlRQCitcLVwtbm9oaW50cworRG8gbm90IHByaW50IGhpbnRzIGFib3V0IE51bSwgQ2FwcyBhbmQgU2Nyb2xsIExvY2tzLgorLlRQCitcLVwtbm9ob3N0bmFtZQorQnkgZGVmYXVsdCB0aGUgaG9zdG5hbWUgd2lsbCBiZSBwcmludGVkLiAgV2l0aCB0aGlzIG9wdGlvbiBlbmFibGVkLAorbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd24uCisuVFAKK1wtXC1sb25nXC1ob3N0bmFtZQorQnkgZGVmYXVsdCB0aGUgaG9zdG5hbWUgaXMgb25seSBwcmludGVkIHVudGlsIHRoZSBmaXJzdCBkb3QuICBXaXRoCit0aGlzIG9wdGlvbiBlbmFibGVkLCB0aGUgZnVsbHkgcXVhbGlmaWVkIGhvc3RuYW1lIGJ5IFxmQmdldGhvc3RuYW1lXGZSKDNQKQorb3IgKGlmIG5vdCBmb3VuZCkgYnkgXGZCZ2V0YWRkcmluZm9cZlIoMykgaXMgc2hvd24uCisuVFAKK1wtXC1lcmFzZVwtY2hhcnMgXGZJc3RyaW5nXGZQCitUaGlzIG9wdGlvbiBzcGVjaWZpZXMgYWRkaXRpb25hbCBjaGFyYWN0ZXJzIHRoYXQgc2hvdWxkIGJlIGludGVycHJldGVkIGFzIGEKK2JhY2tzcGFjZSAoImlnbm9yZSB0aGUgcHJldmlvdXMgY2hhcmFjdGVyIikgd2hlbiB0aGUgdXNlciB0eXBlcyB0aGUgbG9naW4gbmFtZS4KK1RoZSBkZWZhdWx0IGFkZGl0aW9uYWwgXCdlcmFzZVwnIGhhcyBiZWVuIFwnI1wnLCBidXQgc2luY2UgdXRpbC1saW51eCAyLjIzCitubyBhZGRpdGlvbmFsIGVyYXNlIGNoYXJhY3RlcnMgYXJlIGVuYWJsZWQgYnkgZGVmYXVsdC4KKy5UUAorXC1cLWtpbGxcLWNoYXJzIFxmSXN0cmluZ1xmUAorVGhpcyBvcHRpb24gc3BlY2lmaWVzIGFkZGl0aW9uYWwgY2hhcmFjdGVycyB0aGF0IHNob3VsZCBiZSBpbnRlcnByZXRlZCBhcyBhCitraWxsICgiaWdub3JlIGFsbCBwcmV2aW91cyBjaGFyYWN0ZXJzIikgd2hlbiB0aGUgdXNlciB0eXBlcyB0aGUgbG9naW4gbmFtZS4KK1RoZSBkZWZhdWx0IGFkZGl0aW9uYWwgXCdraWxsXCcgaGFzIGJlZW4gXCdAXCcsIGJ1dCBzaW5jZSB1dGlsLWxpbnV4IDIuMjMKK25vIGFkZGl0aW9uYWwga2lsbCBjaGFyYWN0ZXJzIGFyZSBlbmFibGVkIGJ5IGRlZmF1bHQuCisuVFAKK1wtXC1jaGRpciBcZklkaXJlY3RvcnlcZlAKK0NoYW5nZSBkaXJlY3RvcnkgYmVmb3JlIHRoZSBsb2dpbi4KKy5UUAorXC1cLWRlbGF5IFxmSW51bWJlclxmUAorU2xlZXAgc2Vjb25kcyBiZWZvcmUgb3BlbiB0dHkuCisuVFAKK1wtXC1uaWNlIFxmSW51bWJlclxmUAorUnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eS4KKy5UUAorXC1cLXJlbG9hZAorQXNrIGFsbCBydW5uaW5nIGFnZXR0eSBpbnN0YW5jZXMgdG8gcmVsb2FkIGFuZCB1cGRhdGUgdGhlaXIgZGlzcGxheWVkIHByb21wdHMsCitpZiB0aGUgdXNlciBoYXMgbm90IHlldCBjb21tZW5jZWQgbG9nZ2luZyBpbi4gIEFmdGVyIGRvaW5nIHNvIHRoZSBjb21tYW5kIHdpbGwKK2V4aXQuICBUaGlzIGZlYXR1cmUgbWlnaHQgYmUgdW5zdXBwb3J0ZWQgb24gc3lzdGVtcyB3aXRob3V0IExpbnV4CisuQlIgaW5vdGlmeSAoNykuCisuVFAKK1wtXC12ZXJzaW9uCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1wtXC1oZWxwCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5QUAorLlNIIEVYQU1QTEVTCitUaGlzIHNlY3Rpb24gc2hvd3MgZXhhbXBsZXMgZm9yIHRoZSBwcm9jZXNzIGZpZWxkIG9mIGFuIGVudHJ5IGluIHRoZQorXGZJL2V0Yy9pbml0dGFiXGZQIGZpbGUuICBZb3UnbGwgaGF2ZSB0byBwcmVwZW5kIGFwcHJvcHJpYXRlIHZhbHVlcworZm9yIHRoZSBvdGhlciBmaWVsZHMuICBTZWUgXGZJaW5pdHRhYig1KVxmUCBmb3IgbW9yZSBkZXRhaWxzLgorCitGb3IgYSBoYXJkd2lyZWQgbGluZSBvciBhIGNvbnNvbGUgdHR5OgorCisuUlMKKy5CIC9zYmluL2FnZXR0eVwgOTYwMFwgdHR5UzEKKy5SRQorCitGb3IgYSBkaXJlY3RseSBjb25uZWN0ZWQgdGVybWluYWwgd2l0aG91dCBwcm9wZXIgY2Fycmllci1kZXRlY3Qgd2lyaW5nCisodHJ5IHRoaXMgaWYgeW91ciB0ZXJtaW5hbCBqdXN0IHNsZWVwcyBpbnN0ZWFkIG9mIGdpdmluZyB5b3UgYSBwYXNzd29yZDoKK3Byb21wdCk6CisKKy5SUworLkIgL3NiaW4vYWdldHR5XCBcLVwtbG9jYWxcLWxpbmVcIDk2MDBcIHR0eVMxXCB2dDEwMAorLlJFCisKK0ZvciBhbiBvbGQtc3R5bGUgZGlhbC1pbiBsaW5lIHdpdGggYSA5NjAwLzI0MDAvMTIwMCBiYXVkIG1vZGVtOgorCisuUlMKKy5CIC9zYmluL2FnZXR0eVwgXC1cLWV4dHJhY3RcLWJhdWRcIFwtXC10aW1lb3V0XCA2MFwgdHR5UzFcIDk2MDAsMjQwMCwxMjAwCisuUkUKKworRm9yIGEgSGF5ZXMgbW9kZW0gd2l0aCBhIGZpeGVkIDExNTIwMCBicHMgaW50ZXJmYWNlIHRvIHRoZSBtYWNoaW5lCisodGhlIGV4YW1wbGUgaW5pdCBzdHJpbmcgdHVybnMgb2ZmIG1vZGVtIGVjaG8gYW5kIHJlc3VsdCBjb2RlcywgbWFrZXMKK21vZGVtL2NvbXB1dGVyIERDRCB0cmFjayBtb2RlbS9tb2RlbSBEQ0QsIG1ha2VzIGEgRFRSIGRyb3AgY2F1c2UgYQorZGlzY29ubmVjdGlvbiwgYW5kIHR1cm5zIG9uIGF1dG8tYW5zd2VyIGFmdGVyIDEgcmluZyk6CisKKy5SUworLkIgL3NiaW4vYWdldHR5XCBcLVwtd2FpdFwtY3JcIFwtXC1pbml0XC1zdHJpbmdcICdBVEUwUTEmRDImQzFTMD0xXFwwMTUnXCAxMTUyMDBcIHR0eVMxCisuUkUKKworLlNIIFNFQ1VSSVRZIE5PVElDRQorSWYgeW91IHVzZSB0aGUgXGZCXC1cLWxvZ2luXC1wcm9ncmFtXGZQIGFuZCBcZkJcLVwtbG9naW5cLW9wdGlvbnNcZlAgb3B0aW9ucywKK2JlIGF3YXJlIHRoYXQgYSBtYWxpY2lvdXMgdXNlciBtYXkgdHJ5IHRvIGVudGVyIGxvZ25hbWVzIHdpdGggZW1iZWRkZWQgb3B0aW9ucywKK3doaWNoIHRoZW4gZ2V0IHBhc3NlZCB0byB0aGUgdXNlZCBsb2dpbiBwcm9ncmFtLiAgQWdldHR5IGRvZXMgY2hlY2sKK2ZvciBhIGxlYWRpbmcgIlwtIiBhbmQgbWFrZXMgc3VyZSB0aGUgbG9nbmFtZSBnZXRzIHBhc3NlZCBhcyBvbmUgcGFyYW1ldGVyCisoc28gZW1iZWRkZWQgc3BhY2VzIHdpbGwgbm90IGNyZWF0ZSB5ZXQgYW5vdGhlciBwYXJhbWV0ZXIpLCBidXQgZGVwZW5kaW5nCitvbiBob3cgdGhlIGxvZ2luIGJpbmFyeSBwYXJzZXMgdGhlIGNvbW1hbmQgbGluZSB0aGF0IG1pZ2h0IG5vdCBiZSBzdWZmaWNpZW50LgorQ2hlY2sgdGhhdCB0aGUgdXNlZCBsb2dpbiBwcm9ncmFtIGNhbm5vdCBiZSBhYnVzZWQgdGhpcyB3YXkuCisuUFAKK1NvbWUgIHByb2dyYW1zIHVzZSAiXC1cLSIgdG8gaW5kaWNhdGUgdGhhdCB0aGUgcmVzdCBvZiB0aGUgY29tbWFuZGxpbmUgc2hvdWxkCitub3QgYmUgaW50ZXJwcmV0ZWQgYXMgb3B0aW9ucy4gIFVzZSB0aGlzIGZlYXR1cmUgaWYgYXZhaWxhYmxlIGJ5IHBhc3NpbmcgIlwtXC0iCitiZWZvcmUgdGhlIHVzZXJuYW1lIGdldHMgcGFzc2VkIGJ5IFxcdS4KKworLlNIIElTU1VFIEZJTEVTCitUaGUgZGVmYXVsdCBpc3N1ZSBmaWxlIGlzIFxmSS9ldGMvaXNzdWVcZlAuIElmIHRoZSBmaWxlIGV4aXN0cyB0aGVuIGFnZXR0eSBhbHNvCitjaGVja3MgZm9yIFxmSS9ldGMvaXNzdWUuZFxmUCBkaXJlY3RvcnkuIFRoZSBkaXJlY3RvcnkgaXMgb3B0aW9uYWwgZXh0ZW5zaW9uIHRvCit0aGUgZGVmYXVsdCBpc3N1ZSBmaWxlIGFuZCBjb250ZW50IG9mIHRoZSBkaXJlY3RvcnkgaXMgcHJpbnRlZCBhZnRlcgorXGZJL2V0Yy9pc3N1ZVxmUCBjb250ZW50LiBJZiB0aGUgXGZJL2V0Yy9pc3N1ZVxmUCBkb2VzIG5vdCBleGlzdCB0aGFuIHRoZQorZGlyZWN0b3J5IGlzIGlnbm9yZWQuIEFsbCBmaWxlcyB3aXRoIC5pc3N1ZSBleHRlbnNpb24gZnJvbSB0aGUgZGlyZWN0b3J5IGFyZQorcHJpbnRlZCBpbiB2ZXJzaW9uLXNvcnQgb3JkZXIuIFRoZSBkaXJlY3RvcnkgYWxsb3cgdG8gbWFpbnRhaW4gM3JkLXBhcnR5CittZXNzYWdlcyBpbmRlcGVuZGVudGx5IG9uIHRoZSBwcmltYXJ5IHN5c3RlbSBcZkkvZXRjL2lzc3VlXGZQIGZpbGUuCisKK1RoZSBkZWZhdWx0IHBhdGggbWF5YmUgb3ZlcnJpZGRlbiBieSBcZkJcLVwtaXNzdWVcLWZpbGVcZlAgb3B0aW9uLiBJbiB0aGlzIGNhc2UKK3NwZWNpZmllZCBwYXRoIGhhcyB0byBiZSBmaWxlIG9yIGRpcmVjdG9yeSBhbmQgdGhlIGRlZmF1bHQgXGZJL2V0Yy9pc3N1ZVxmUCBhcword2VsbCBhcyBcZkkvZXRjL2lzc3VlLmRcZlAgYXJlIGlnbm9yZWQuCisKK1RoZSBpc3N1ZSBmaWxlcyBtYXkgY29udGFpbiBjZXJ0YWluIGVzY2FwZSBjb2RlcyB0byBkaXNwbGF5IHRoZSBzeXN0ZW0gbmFtZSwgZGF0ZSwgdGltZQorZXRjZXRlcmEuICBBbGwgZXNjYXBlIGNvZGVzIGNvbnNpc3Qgb2YgYSBiYWNrc2xhc2ggKFxcKSBpbW1lZGlhdGVseQorZm9sbG93ZWQgYnkgb25lIG9mIHRoZSBjaGFyYWN0ZXJzIGxpc3RlZCBiZWxvdy4KKworLlRQCis0IG9yIDR7XGZJaW50ZXJmYWNlXGZSfQorSW5zZXJ0IHRoZSBJUHY0IGFkZHJlc3Mgb2YgdGhlIHNwZWNpZmllZCBuZXR3b3JrIGludGVyZmFjZSAoZm9yIGV4YW1wbGU6IFxcNHtldGgwfSkuCitJZiB0aGUgXGZJaW50ZXJmYWNlXGZSIGFyZ3VtZW50IGlzIG5vdCBzcGVjaWZpZWQsIHRoZW4gc2VsZWN0IHRoZSBmaXJzdCBmdWxseQorY29uZmlndXJlZCAoVVAsIG5vbi1MT0NBTEJBQ0ssIFJVTk5JTkcpIGludGVyZmFjZS4gIElmIG5vdCBhbnkgY29uZmlndXJlZAoraW50ZXJmYWNlIGlzIGZvdW5kLCBmYWxsIGJhY2sgdG8gdGhlIElQIGFkZHJlc3Mgb2YgdGhlIG1hY2hpbmUncyBob3N0bmFtZS4KKy5UUAorNiBvciA2e1xmSWludGVyZmFjZVxmUn0KK1RoZSBzYW1lIGFzIFxcNCBidXQgZm9yIElQdjYuCisuVFAKK2IKK0luc2VydCB0aGUgYmF1ZHJhdGUgb2YgdGhlIGN1cnJlbnQgbGluZS4KKy5UUAorZAorSW5zZXJ0IHRoZSBjdXJyZW50IGRhdGUuCisuVFAKK2Ugb3IgZXtcZkluYW1lXGZSfQorVHJhbnNsYXRlIHRoZSBodW1hbi1yZWFkYWJsZSBcZkluYW1lXGZQIHRvIGFuIGVzY2FwZSBzZXF1ZW5jZSBhbmQgaW5zZXJ0IGl0CisoZm9yIGV4YW1wbGU6IFxcZXtyZWR9QWxlcnQgdGV4dC5cXGV7cmVzZXR9KS4gIElmIHRoZSBcZkluYW1lXGZSIGFyZ3VtZW50IGlzCitub3Qgc3BlY2lmaWVkLCB0aGVuIGluc2VydCBcXDAzMy4gIFRoZSBjdXJyZW50bHkgc3VwcG9ydGVkIG5hbWVzIGFyZTogYmxhY2ssCitibGluaywgYmx1ZSwgYm9sZCwgYnJvd24sIGN5YW4sCitkYXJrZ3JheSwgZ3JheSwgZ3JlZW4sIGhhbGZicmlnaHQsIGxpZ2h0Ymx1ZSwgbGlnaHRjeWFuLCBsaWdodGdyYXksIGxpZ2h0Z3JlZW4sCitsaWdodG1hZ2VudGEsIGxpZ2h0cmVkLCBtYWdlbnRhLCByZWQsIHJlc2V0LCByZXZlcnNlLCBhbmQgeWVsbG93LiAgQWxsIHVua25vd24KK25hbWVzIGFyZSBzaWxlbnRseSBpZ25vcmVkLgorLlRQCitzCitJbnNlcnQgdGhlIHN5c3RlbSBuYW1lICh0aGUgbmFtZSBvZiB0aGUgb3BlcmF0aW5nIHN5c3RlbSkuICBTYW1lIGFzICd1bmFtZSBcLXMnLgorU2VlIGFsc28gdGhlIFxcUyBlc2NhcGUgY29kZS4KKy5UUAorUyBvciBTe1ZBUklBQkxFfQorSW5zZXJ0IHRoZSBWQVJJQUJMRSBkYXRhIGZyb20gXGZJL2V0Yy9vcy1yZWxlYXNlXGZQLiAgSWYgdGhpcyBmaWxlIGRvZXMgbm90IGV4aXN0Cit0aGVuIGZhbGwgYmFjayB0byBcZkkvdXNyL2xpYi9vcy1yZWxlYXNlXGZQLiAgSWYgdGhlIFZBUklBQkxFIGFyZ3VtZW50IGlzIG5vdAorc3BlY2lmaWVkLCB0aGVuIHVzZSBQUkVUVFlfTkFNRSBmcm9tIHRoZSBmaWxlIG9yIHRoZSBzeXN0ZW0gbmFtZSAoc2VlIFxccykuCitUaGlzIGVzY2FwZSBjb2RlIGFsbG93cyB0byBrZWVwIFxmSS9ldGMvaXNzdWVcZlAgZGlzdHJpYnV0aW9uIGFuZCByZWxlYXNlCitpbmRlcGVuZGVudC4gIE5vdGUgdGhhdCBcXFN7QU5TSV9DT0xPUn0gaXMgY29udmVydGVkIHRvIHRoZSByZWFsIHRlcm1pbmFsCitlc2NhcGUgc2VxdWVuY2UuCisuVFAKK2wKK0luc2VydCB0aGUgbmFtZSBvZiB0aGUgY3VycmVudCB0dHkgbGluZS4KKy5UUAorbQorSW5zZXJ0IHRoZSBhcmNoaXRlY3R1cmUgaWRlbnRpZmllciBvZiB0aGUgbWFjaGluZS4gIFNhbWUgYXMgJ3VuYW1lIFwtbScuCisuVFAKK24KK0luc2VydCB0aGUgbm9kZW5hbWUgb2YgdGhlIG1hY2hpbmUsIGFsc28ga25vd24gYXMgdGhlIGhvc3RuYW1lLiAgU2FtZSBhcyAndW5hbWUgXC1uJy4KKy5UUAorbworSW5zZXJ0IHRoZSBOSVMgZG9tYWlubmFtZSBvZiB0aGUgbWFjaGluZS4gIFNhbWUgYXMgJ2hvc3RuYW1lIFwtZCcuCisuVFAKK08KK0luc2VydCB0aGUgRE5TIGRvbWFpbm5hbWUgb2YgdGhlIG1hY2hpbmUuCisuVFAKK3IKK0luc2VydCB0aGUgcmVsZWFzZSBudW1iZXIgb2YgdGhlIE9TLiAgU2FtZSBhcyAndW5hbWUgXC1yJy4KKy5UUAordAorSW5zZXJ0IHRoZSBjdXJyZW50IHRpbWUuCisuVFAKK3UKK0luc2VydCB0aGUgbnVtYmVyIG9mIGN1cnJlbnQgdXNlcnMgbG9nZ2VkIGluLgorLlRQCitVCitJbnNlcnQgdGhlIHN0cmluZyAiMSB1c2VyIiBvciAiPG4+IHVzZXJzIiB3aGVyZSA8bj4gaXMgdGhlIG51bWJlciBvZiBjdXJyZW50Cit1c2VycyBsb2dnZWQgaW4uCisuVFAKK3YKK0luc2VydCB0aGUgdmVyc2lvbiBvZiB0aGUgT1MsIHRoYXQgaXMsIHRoZSBidWlsZC1kYXRlIGFuZCBzdWNoLgorLlBQCitBbiBleGFtcGxlLiAgT24gbXkgc3lzdGVtLCB0aGUgZm9sbG93aW5nIFxmSS9ldGMvaXNzdWVcZlAgZmlsZToKKy5zcAorLm5hCisuUlMKKy5uZgorVGhpcyBpcyBcXG4uXFxvIChcXHMgXFxtIFxccikgXFx0CisuZmkKKy5SRQorLlBQCitkaXNwbGF5cyBhczoKKy5zcAorLlJTCisubmYKK1RoaXMgaXMgdGhpbmdvbC5vcmNhbi5kayAoTGludXggaTM4NiAxLjEuOSkgMTg6Mjk6MzAKKy5maQorLlJFCisKKy5TSCBGSUxFUworLm5hCisuVFAKKy5JIC92YXIvcnVuL3V0bXAKK3RoZSBzeXN0ZW0gc3RhdHVzIGZpbGUuCisuVFAKKy5JIC9ldGMvaXNzdWUKK3ByaW50ZWQgYmVmb3JlIHRoZSBsb2dpbiBwcm9tcHQuCisuVFAKKy5JIC9ldGMvb3MtcmVsZWFzZSAvdXNyL2xpYi9vcy1yZWxlYXNlCitvcGVyYXRpbmcgc3lzdGVtIGlkZW50aWZpY2F0aW9uIGRhdGEuCisuVFAKKy5JIC9kZXYvY29uc29sZQorcHJvYmxlbSByZXBvcnRzIChpZiBzeXNsb2coMykgaXMgbm90IHVzZWQpLgorLlRQCisuSSAvZXRjL2luaXR0YWIKK1xmSWluaXRcZlAoOCkgY29uZmlndXJhdGlvbiBmaWxlIGZvciBTeXNWLXN0eWxlIGluaXQgZGFlbW9uLgorLlNIIEJVR1MKKy5hZAorLmZpCitUaGUgYmF1ZC1yYXRlIGRldGVjdGlvbiBmZWF0dXJlICh0aGUgXGZCXC1cLWV4dHJhY3RcLWJhdWRcZlAgb3B0aW9uKSByZXF1aXJlcyB0aGF0CitcZkJhZ2V0dHlcZlAgYmUgc2NoZWR1bGVkIHNvb24gZW5vdWdoIGFmdGVyIGNvbXBsZXRpb24gb2YgYSBkaWFsLWluCitjYWxsICh3aXRoaW4gMzAgbXMgd2l0aCBtb2RlbXMgdGhhdCB0YWxrIGF0IDI0MDAgYmF1ZCkuICBGb3Igcm9idXN0bmVzcywKK2Fsd2F5cyB1c2UgdGhlIFxmQlwtXC1leHRyYWN0XC1iYXVkXGZQIG9wdGlvbiBpbiBjb21iaW5hdGlvbiB3aXRoIGEgbXVsdGlwbGUgYmF1ZAorcmF0ZSBjb21tYW5kLWxpbmUgYXJndW1lbnQsIHNvIHRoYXQgQlJFQUsgcHJvY2Vzc2luZyBpcyBlbmFibGVkLgorCitUaGUgdGV4dCBpbiB0aGUgXGZJL2V0Yy9pc3N1ZVxmUCBmaWxlIChvciBvdGhlcikgYW5kIHRoZSBsb2dpbiBwcm9tcHQKK2FyZSBhbHdheXMgb3V0cHV0IHdpdGggNy1iaXQgY2hhcmFjdGVycyBhbmQgc3BhY2UgcGFyaXR5LgorCitUaGUgYmF1ZC1yYXRlIGRldGVjdGlvbiBmZWF0dXJlICh0aGUgXGZCXC1cLWV4dHJhY3RcLWJhdWRcZlAgb3B0aW9uKSByZXF1aXJlcyB0aGF0Cit0aGUgbW9kZW0gZW1pdHMgaXRzIHN0YXR1cyBtZXNzYWdlIFxmSWFmdGVyXGZQIHJhaXNpbmcgdGhlIERDRCBsaW5lLgorLlNIIERJQUdOT1NUSUNTCisuYWQKKy5maQorRGVwZW5kaW5nIG9uIGhvdyB0aGUgcHJvZ3JhbSB3YXMgY29uZmlndXJlZCwgYWxsIGRpYWdub3N0aWNzIGFyZQord3JpdHRlbiB0byB0aGUgY29uc29sZSBkZXZpY2Ugb3IgcmVwb3J0ZWQgdmlhIHRoZSBcZkJzeXNsb2dcZlIoMykgZmFjaWxpdHkuCitFcnJvciBtZXNzYWdlcyBhcmUgcHJvZHVjZWQgaWYgdGhlIFxmSXBvcnRcZlAgYXJndW1lbnQgZG9lcyBub3QKK3NwZWNpZnkgYSB0ZXJtaW5hbCBkZXZpY2U7IGlmIHRoZXJlIGlzIG5vIHV0bXAgZW50cnkgZm9yIHRoZQorY3VycmVudCBwcm9jZXNzIChTeXN0ZW0gViBvbmx5KTsgYW5kIHNvIG9uLgorLlNIIEFVVEhPUlMKKy5VUiB3ZXJuZXJAc3VzZS5kZQorV2VybmVyIEZpbmsKKy5VRQorLmJyCisuVVIga3pha0ByZWRoYXQuY29tCitLYXJlbCBaYWsKKy5VRQorLnNwCitUaGUgb3JpZ2luYWwKKy5CIGFnZXR0eQorZm9yIHNlcmlhbCB0ZXJtaW5hbHMgd2FzIHdyaXR0ZW4gYnkgVy5aLiBWZW5lbWEgPHdpZXRzZUB3enYud2luLnR1ZS5ubD4KK2FuZCBwb3J0ZWQgdG8gTGludXggYnkgUGV0ZXIgT3JiYWVrIDxwb2VAZGFpbWkuYWF1LmRrPi4KKworLlNIIEFWQUlMQUJJTElUWQorVGhlIGFnZXR0eSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWxcLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvYWdldHR5LmMgYi90ZXJtLXV0aWxzL2FnZXR0eS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUyMjYwMGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL2FnZXR0eS5jCkBAIC0wLDAgKzEsMjc3MCBAQAorLyoKKyAqIEFsdGVybmF0ZSBHZXR0eSAoYWdldHR5KSAnYWdldHR5JyBpcyBhIHZlcnNhdGlsZSwgcG9ydGFibGUsIGVhc3kgdG8gdXNlCisgKiByZXBsYWNlbWVudCBmb3IgZ2V0dHkgb24gU3VuT1MgNC4xLnggb3IgdGhlIFNBQyB0dHltb24vdHR5YWRtL3NhY2FkbS9wbWFkbQorICogc3VpdGUgb24gU29sYXJpcyBhbmQgb3RoZXIgU1ZSNCBzeXN0ZW1zLiAnYWdldHR5JyB3YXMgd3JpdHRlbiBieSBXaWV0c2UKKyAqIFZlbmVtYSwgZW5oYW5jZWQgYnkgSm9obiBEaU1hcmNvLCBhbmQgZnVydGhlciBlbmhhbmNlZCBieSBEZW5uaXMgQ3JvbmluLgorICoKKyAqIFBvcnRlZCB0byBMaW51eCBieSBQZXRlciBPcmJhZWsgPHBvZUBkYWltaS5hYXUuZGs+CisgKiBBZG9wdCB0aGUgbWluZ2V0dHkgZmVhdHVyZXMgZm9yIGEgYmV0dGVyIHN1cHBvcnQKKyAqIG9mIHZpcnR1YWwgY29uc29sZXMgYnkgV2VybmVyIEZpbmsgPHdlcm5lckBzdXNlLmRlPgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlbHkgZGlzdHJpYnV0YWJsZS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy93YWl0Lmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxzdGRhcmcuaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHV0bXB4Lmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxsYW5naW5mby5oPgorI2luY2x1ZGUgPGdycC5oPgorI2luY2x1ZGUgPGFycGEvaW5ldC5oPgorI2luY2x1ZGUgPG5ldGRiLmg+CisjaW5jbHVkZSA8aWZhZGRycy5oPgorI2luY2x1ZGUgPG5ldC9pZi5oPgorI2luY2x1ZGUgPHN5cy91dHNuYW1lLmg+CisKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImFsbC1pby5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ3aWRlY2hhci5oIgorI2luY2x1ZGUgInR0eXV0aWxzLmgiCisjaW5jbHVkZSAiY29sb3ItbmFtZXMuaCIKKyNpbmNsdWRlICJlbnYuaCIKKworI2lmZGVmIFVTRV9QTFlNT1VUSF9TVVBQT1JUCisjIGluY2x1ZGUgInBseW1vdXRoLWN0cmwuaCIKKyNlbmRpZgorCisjaWZkZWYgSEFWRV9TWVNfUEFSQU1fSAorIyBpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChfX0ZyZWVCU0Rfa2VybmVsX18pCisjIGluY2x1ZGUgPHB0eS5oPgorIyBpZmRlZiBIQVZFX1VUTVBfSAorIyAgaW5jbHVkZSA8dXRtcC5oPgorIyBlbmRpZgorIyBpZmRlZiBIQVZFX0xJQlVUSUxfSAorIyAgaW5jbHVkZSA8bGlidXRpbC5oPgorIyBlbmRpZgorI2VuZGlmCisKKyNpZmRlZiBfX2xpbnV4X18KKyMgIGluY2x1ZGUgPHN5cy9rZC5oPgorIyAgZGVmaW5lIFVTRV9TWVNMT0cKKyMgIGlmbmRlZiBERUZBVUxUX1ZDVEVSTQorIyAgICBkZWZpbmUgREVGQVVMVF9WQ1RFUk0gImxpbnV4IgorIyAgZW5kaWYKKyMgIGlmIGRlZmluZWQgKF9fczM5MF9fKSB8fCBkZWZpbmVkIChfX3MzOTB4X18pCisjICAgIGRlZmluZSBERUZBVUxUX1RUWVMwICAiZHVtYiIKKyMgICAgZGVmaW5lIERFRkFVTFRfVFRZMzIgICJpYm0zMjd4IgorIyAgICBkZWZpbmUgREVGQVVMVF9UVFlTMSAgInZ0MjIwIgorIyAgZW5kaWYKKyMgIGlmbmRlZiBERUZBVUxUX1NURVJNCisjICAgIGRlZmluZSBERUZBVUxUX1NURVJNICAidnQxMDIiCisjICBlbmRpZgorI2VsaWYgZGVmaW5lZChfX0dOVV9fKQorIyAgZGVmaW5lIFVTRV9TWVNMT0cKKyMgIGlmbmRlZiBERUZBVUxUX1ZDVEVSTQorIyAgICBkZWZpbmUgREVGQVVMVF9WQ1RFUk0gImh1cmQiCisjICBlbmRpZgorIyAgaWZuZGVmIERFRkFVTFRfU1RFUk0KKyMgICAgZGVmaW5lIERFRkFVTFRfU1RFUk0gICJ2dDEwMiIKKyMgIGVuZGlmCisjZWxzZQorIyAgaWZuZGVmIERFRkFVTFRfVkNURVJNCisjICAgIGRlZmluZSBERUZBVUxUX1ZDVEVSTSAidnQxMDAiCisjICBlbmRpZgorIyAgaWZuZGVmIERFRkFVTFRfU1RFUk0KKyMgICAgZGVmaW5lIERFRkFVTFRfU1RFUk0gICJ2dDEwMCIKKyMgIGVuZGlmCisjZW5kaWYKKworI2lmZGVmIF9fRnJlZUJTRF9rZXJuZWxfXworI2RlZmluZSBVU0VfU1lTTE9HCisjZW5kaWYKKworLyogSWYgVVNFX1NZU0xPRyBpcyB1bmRlZmluZWQgYWxsIGRpYWdub3N0aWNzIGdvIHRvIC9kZXYvY29uc29sZS4gKi8KKyNpZmRlZglVU0VfU1lTTE9HCisjICBpbmNsdWRlIDxzeXNsb2cuaD4KKyNlbmRpZgorCisvKgorICogU29tZSBoZXVyaXN0aWNzIHRvIGZpbmQgb3V0IHdoYXQgZW52aXJvbm1lbnQgd2UgYXJlIGluOiBpZiBpdCBpcyBub3QKKyAqIFN5c3RlbSBWLCBhc3N1bWUgaXQgaXMgU3VuT1MgNC4gVGhlIExPR0lOX1BST0NFU1MgaXMgZGVmaW5lZCBpbiBTeXN0ZW0gVgorICogdXRtcC5oLCB3aGljaCB3aWxsIHNlbGVjdCBTeXN0ZW0gViBzdHlsZSBnZXR0eS4KKyAqLworI2lmZGVmIExPR0lOX1BST0NFU1MKKyMgIGRlZmluZSBTWVNWX1NUWUxFCisjZW5kaWYKKworLyoKKyAqIFRoaW5ncyB5b3UgbWF5IHdhbnQgdG8gbW9kaWZ5LgorICoKKyAqIElmIElTU1VFX1NVUFBPUlQgaXMgbm90IGRlZmluZWQsIGFnZXR0eSB3aWxsIG5ldmVyIGRpc3BsYXkgdGhlIGNvbnRlbnRzIG9mCisgKiB0aGUgL2V0Yy9pc3N1ZSBmaWxlLiBZb3Ugd2lsbCBub3Qgd2FudCB0byBzcGl0IG91dCBsYXJnZSAiaXNzdWUiIGZpbGVzIGF0CisgKiB0aGUgd3JvbmcgYmF1ZCByYXRlLiBSZWxldmFudCBmb3IgU3lzdGVtIFYgb25seS4KKyAqCisgKiBZb3UgbWF5IGRpc2FncmVlIHdpdGggdGhlIGRlZmF1bHQgbGluZS1lZGl0aW5nIGV0Yy4gY2hhcmFjdGVycyBkZWZpbmVkCisgKiBiZWxvdy4gTm90ZSwgaG93ZXZlciwgdGhhdCBERUwgY2Fubm90IGJlIHVzZWQgZm9yIGludGVycnVwdCBnZW5lcmF0aW9uCisgKiBhbmQgZm9yIGxpbmUgZWRpdGluZyBhdCB0aGUgc2FtZSB0aW1lLgorICovCisKKy8qIERpc3BsYXllZCBiZWZvcmUgdGhlIGxvZ2luIHByb21wdC4gKi8KKyNpZmRlZglTWVNWX1NUWUxFCisjICBkZWZpbmUgSVNTVUVfU1VQUE9SVAorIyAgaWYgZGVmaW5lZChIQVZFX1NDQU5ESVJBVCkgJiYgZGVmaW5lZChIQVZFX09QRU5BVCkKKyMgICAgaW5jbHVkZSA8ZGlyZW50Lmg+CisjICAgIGluY2x1ZGUgImZpbGV1dGlscy5oIgorIyAgICBkZWZpbmUgSVNTVUVESVJfU1VQUE9SVAorIyAgICBkZWZpbmUgSVNTVUVESVJfRVhUCSIuaXNzdWUiCisjICAgIGRlZmluZSBJU1NVRURJUl9FWFRTSVoJKHNpemVvZihJU1NVRURJUl9FWFQpIC0gMSkKKyMgIGVuZGlmCisjZW5kaWYKKworLyogTG9naW4gcHJvbXB0LiAqLworI2RlZmluZSBMT0dJTgkJImxvZ2luOiAiCisjZGVmaW5lIExPR0lOX0FSR1ZfTUFYCTE2CQkvKiBOdW1iZXJzIG9mIGFyZ3MgZm9yIGxvZ2luICovCisKKy8qCisgKiBhZ2V0dHkgLS1yZWxvYWQKKyAqLworI2lmZGVmIEFHRVRUWV9SRUxPQUQKKyMgaW5jbHVkZSA8c3lzL2lub3RpZnkuaD4KKyMgaW5jbHVkZSA8bGludXgvbmV0bGluay5oPgorIyBpbmNsdWRlIDxsaW51eC9ydG5ldGxpbmsuaD4KKyMgZGVmaW5lIEFHRVRUWV9SRUxPQURfRklMRU5BTUUgIi9ydW4vYWdldHR5LnJlbG9hZCIJLyogdHJpZ2dlciBmaWxlICovCisjIGRlZmluZSBBR0VUVFlfUkVMT0FEX0ZETk9ORQktMgkJCS8qIHVuaW5pdGlhbGl6ZWQgZmQgKi8KK3N0YXRpYyBpbnQgaW5vdGlmeV9mZCA9IEFHRVRUWV9SRUxPQURfRkROT05FOworc3RhdGljIGludCBuZXRsaW5rX2ZkID0gQUdFVFRZX1JFTE9BRF9GRE5PTkU7CisjZW5kaWYKKworLyoKKyAqIFdoZW4gbXVsdGlwbGUgYmF1ZCByYXRlcyBhcmUgc3BlY2lmaWVkIG9uIHRoZSBjb21tYW5kIGxpbmUsIHRoZSBmaXJzdCBvbmUKKyAqIHdlIHdpbGwgdHJ5IGlzIHRoZSBmaXJzdCBvbmUgc3BlY2lmaWVkLgorICovCisjZGVmaW5lCUZJUlNUX1NQRUVECTAKKworLyogU3RvcmFnZSBmb3IgY29tbWFuZC1saW5lIG9wdGlvbnMuICovCisjZGVmaW5lCU1BWF9TUEVFRAkxMAkvKiBtYXguIG5yLiBvZiBiYXVkIHJhdGVzICovCisKK3N0cnVjdCBvcHRpb25zIHsKKwlpbnQgZmxhZ3M7CQkJLyogdG9nZ2xlIHN3aXRjaGVzLCBzZWUgYmVsb3cgKi8KKwl1bnNpZ25lZCBpbnQgdGltZW91dDsJCQkvKiB0aW1lLW91dCBwZXJpb2QgKi8KKwljaGFyICphdXRvbG9nOwkJCS8qIGxvZ2luIHRoZSB1c2VyIGF1dG9tYXRpY2FsbHkgKi8KKwljaGFyICpjaGRpcjsJCQkvKiBDaGRpciBiZWZvcmUgdGhlIGxvZ2luICovCisJY2hhciAqY2hyb290OwkJCS8qIENocm9vdCBiZWZvcmUgdGhlIGxvZ2luICovCisJY2hhciAqbG9naW47CQkJLyogbG9naW4gcHJvZ3JhbSAqLworCWNoYXIgKmxvZ29wdDsJCQkvKiBvcHRpb25zIGZvciBsb2dpbiBwcm9ncmFtICovCisJY2hhciAqdHR5OwkJCS8qIG5hbWUgb2YgdHR5ICovCisJY2hhciAqdmNsaW5lOwkJCS8qIGxpbmUgb2YgdmlydHVhbCBjb25zb2xlICovCisJY2hhciAqdGVybTsJCQkvKiB0ZXJtaW5hbCB0eXBlICovCisJY2hhciAqaW5pdHN0cmluZzsJCS8qIG1vZGVtIGluaXQgc3RyaW5nICovCisJY2hhciAqaXNzdWU7CQkJLyogYWx0ZXJuYXRpdmUgaXNzdWUgZmlsZSBvciBkaXJlY3RvcnkgKi8KKwljaGFyICplcmFzZWNoYXJzOwkJLyogc3RyaW5nIHdpdGggZXJhc2UgY2hhcnMgKi8KKwljaGFyICpraWxsY2hhcnM7CQkvKiBzdHJpbmcgd2l0aCBraWxsIGNoYXJzICovCisJY2hhciAqb3NyZWxlYXNlOwkJLyogL2V0Yy9vcy1yZWxlYXNlIGRhdGEgKi8KKwl1bnNpZ25lZCBpbnQgZGVsYXk7CQkJLyogU2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0ICovCisJaW50IG5pY2U7CQkJLyogUnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eSAqLworCWludCBudW1zcGVlZDsJCQkvKiBudW1iZXIgb2YgYmF1ZCByYXRlcyB0byB0cnkgKi8KKwlpbnQgY2xvY2FsOwkJCS8qIENMT0NBTF9NT0RFXyogKi8KKwlpbnQga2Jtb2RlOwkJCS8qIEtleWJvYXJkIG1vZGUgaWYgdmlydHVhbCBjb25zb2xlICovCisJc3BlZWRfdCBzcGVlZHNbTUFYX1NQRUVEXTsJLyogYmF1ZCByYXRlcyB0byBiZSB0cmllZCAqLworfTsKKworZW51bSB7CisJQ0xPQ0FMX01PREVfQVVUTyA9IDAsCisJQ0xPQ0FMX01PREVfQUxXQVlTLAorCUNMT0NBTF9NT0RFX05FVkVSCit9OworCisjZGVmaW5lCUZfUEFSU0UJCSgxPDwwKQkvKiBwcm9jZXNzIG1vZGVtIHN0YXR1cyBtZXNzYWdlcyAqLworI2RlZmluZQlGX0lTU1VFCQkoMTw8MSkJLyogZGlzcGxheSAvZXRjL2lzc3VlIG9yIC9ldGMvaXNzdWUuZCAqLworI2RlZmluZQlGX1JUU0NUUwkoMTw8MikJLyogZW5hYmxlIFJUUy9DVFMgZmxvdyBjb250cm9sICovCisKKyNkZWZpbmUgRl9JTklUU1RSSU5HICAgICgxPDw0KQkvKiBpbml0c3RyaW5nIGlzIHNldCAqLworI2RlZmluZSBGX1dBSVRDUkxGCSgxPDw1KQkvKiB3YWl0IGZvciBDUiBvciBMRiAqLworCisjZGVmaW5lIEZfTk9QUk9NUFQJKDE8PDcpCS8qIGRvIG5vdCBhc2sgZm9yIGxvZ2luIG5hbWUhICovCisjZGVmaW5lIEZfTENVQwkJKDE8PDgpCS8qIHN1cHBvcnQgZm9yICpMQ1VDIHN0dHkgbW9kZXMgKi8KKyNkZWZpbmUgRl9LRUVQU1BFRUQJKDE8PDkpCS8qIGZvbGxvdyBiYXVkIHJhdGUgZnJvbSBrZXJuZWwgKi8KKyNkZWZpbmUgRl9LRUVQQ0ZMQUdTCSgxPDwxMCkJLyogcmV1c2UgY19jZmxhZ3Mgc2V0dXAgZnJvbSBrZXJuZWwgKi8KKyNkZWZpbmUgRl9FSUdIVEJJVFMJKDE8PDExKQkvKiBBc3N1bWUgOGJpdC1jbGVhbiB0dHkgKi8KKyNkZWZpbmUgRl9WQ09OU09MRQkoMTw8MTIpCS8qIFRoaXMgaXMgYSB2aXJ0dWFsIGNvbnNvbGUgKi8KKyNkZWZpbmUgRl9IQU5HVVAJKDE8PDEzKQkvKiBEbyBjYWxsIHZoYW5ndXAoMikgKi8KKyNkZWZpbmUgRl9VVEY4CQkoMTw8MTQpCS8qIFdlIGNhbiBkbyBVVEY4ICovCisjZGVmaW5lIEZfTE9HSU5QQVVTRQkoMTw8MTUpCS8qIFdhaXQgZm9yIGFueSBrZXkgYmVmb3JlIGRyb3BwaW5nIGxvZ2luIHByb21wdCAqLworI2RlZmluZSBGX05PQ0xFQVIJKDE8PDE2KSAvKiBEbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0aW5nICovCisjZGVmaW5lIEZfTk9OTAkJKDE8PDE3KSAvKiBObyBuZXdsaW5lIGJlZm9yZSBpc3N1ZSAqLworI2RlZmluZSBGX05PSE9TVE5BTUUJKDE8PDE4KSAvKiBEbyBub3Qgc2hvdyB0aGUgaG9zdG5hbWUgKi8KKyNkZWZpbmUgRl9MT05HSE5BTUUJKDE8PDE5KSAvKiBTaG93IEZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lICovCisjZGVmaW5lIEZfTk9ISU5UUwkoMTw8MjApIC8qIERvbid0IHByaW50IGhpbnRzICovCisjZGVmaW5lIEZfUkVNT1RFCSgxPDwyMSkgLyogQWRkICctaCBmYWtlaG9zdCcgdG8gbG9naW4oMSkgY29tbWFuZCBsaW5lICovCisKKyNkZWZpbmUgc2VyaWFsX3R0eV9vcHRpb24ob3B0LCBmbGFnKQlcCisJKCgob3B0KS0+ZmxhZ3MgJiAoRl9WQ09OU09MRXwoZmxhZykpKSA9PSAoZmxhZykpCisKK3N0cnVjdCBTcGVlZHRhYiB7CisJbG9uZyBzcGVlZDsKKwlzcGVlZF90IGNvZGU7Cit9OworCitzdGF0aWMgY29uc3Qgc3RydWN0IFNwZWVkdGFiIHNwZWVkdGFiW10gPSB7CisJezUwLCBCNTB9LAorCXs3NSwgQjc1fSwKKwl7MTEwLCBCMTEwfSwKKwl7MTM0LCBCMTM0fSwKKwl7MTUwLCBCMTUwfSwKKwl7MjAwLCBCMjAwfSwKKwl7MzAwLCBCMzAwfSwKKwl7NjAwLCBCNjAwfSwKKwl7MTIwMCwgQjEyMDB9LAorCXsxODAwLCBCMTgwMH0sCisJezI0MDAsIEIyNDAwfSwKKwl7NDgwMCwgQjQ4MDB9LAorCXs5NjAwLCBCOTYwMH0sCisjaWZkZWYgQjE5MjAwCisJezE5MjAwLCBCMTkyMDB9LAorI2VsaWYgZGVmaW5lZChFWFRBKQorCXsxOTIwMCwgRVhUQX0sCisjZW5kaWYKKyNpZmRlZiBCMzg0MDAKKwl7Mzg0MDAsIEIzODQwMH0sCisjZWxpZiBkZWZpbmVkKEVYVEIpCisJezM4NDAwLCBFWFRCfSwKKyNlbmRpZgorI2lmZGVmIEI1NzYwMAorCXs1NzYwMCwgQjU3NjAwfSwKKyNlbmRpZgorI2lmZGVmIEIxMTUyMDAKKwl7MTE1MjAwLCBCMTE1MjAwfSwKKyNlbmRpZgorI2lmZGVmIEIyMzA0MDAKKwl7MjMwNDAwLCBCMjMwNDAwfSwKKyNlbmRpZgorI2lmZGVmIEI0NjA4MDAKKwl7NDYwODAwLCBCNDYwODAwfSwKKyNlbmRpZgorI2lmZGVmIEI1MDAwMDAKKwl7NTAwMDAwLCBCNTAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEI1NzYwMDAKKwl7NTc2MDAwLCBCNTc2MDAwfSwKKyNlbmRpZgorI2lmZGVmIEI5MjE2MDAKKwl7OTIxNjAwLCBCOTIxNjAwfSwKKyNlbmRpZgorI2lmZGVmIEIxMDAwMDAwCisJezEwMDAwMDAsIEIxMDAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIxMTUyMDAwCisJezExNTIwMDAsIEIxMTUyMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIxNTAwMDAwCisJezE1MDAwMDAsIEIxNTAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIyMDAwMDAwCisJezIwMDAwMDAsIEIyMDAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIyNTAwMDAwCisJezI1MDAwMDAsIEIyNTAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIzMDAwMDAwCisJezMwMDAwMDAsIEIzMDAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEIzNTAwMDAwCisJezM1MDAwMDAsIEIzNTAwMDAwfSwKKyNlbmRpZgorI2lmZGVmIEI0MDAwMDAwCisJezQwMDAwMDAsIEI0MDAwMDAwfSwKKyNlbmRpZgorCXswLCAwfSwKK307CisKK3N0YXRpYyB2b2lkIGluaXRfc3BlY2lhbF9jaGFyKGNoYXIqIGFyZywgc3RydWN0IG9wdGlvbnMgKm9wKTsKK3N0YXRpYyB2b2lkIHBhcnNlX2FyZ3MoaW50IGFyZ2MsIGNoYXIgKiphcmd2LCBzdHJ1Y3Qgb3B0aW9ucyAqb3ApOworc3RhdGljIHZvaWQgcGFyc2Vfc3BlZWRzKHN0cnVjdCBvcHRpb25zICpvcCwgY2hhciAqYXJnKTsKK3N0YXRpYyB2b2lkIHVwZGF0ZV91dG1wKHN0cnVjdCBvcHRpb25zICpvcCk7CitzdGF0aWMgdm9pZCBvcGVuX3R0eShjaGFyICp0dHksIHN0cnVjdCB0ZXJtaW9zICp0cCwgc3RydWN0IG9wdGlvbnMgKm9wKTsKK3N0YXRpYyB2b2lkIHRlcm1pb19pbml0KHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwKTsKK3N0YXRpYyB2b2lkIHJlc2V0X3ZjIChjb25zdCBzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCk7CitzdGF0aWMgdm9pZCBhdXRvX2JhdWQoc3RydWN0IHRlcm1pb3MgKnRwKTsKK3N0YXRpYyB2b2lkIGxpc3Rfc3BlZWRzKHZvaWQpOworc3RhdGljIHZvaWQgb3V0cHV0X3NwZWNpYWxfY2hhciAodW5zaWduZWQgY2hhciBjLCBzdHJ1Y3Qgb3B0aW9ucyAqb3AsCisJCXN0cnVjdCB0ZXJtaW9zICp0cCwgRklMRSAqZnApOworc3RhdGljIHZvaWQgZG9fcHJvbXB0KHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwKTsKK3N0YXRpYyB2b2lkIG5leHRfc3BlZWQoc3RydWN0IG9wdGlvbnMgKm9wLCBzdHJ1Y3QgdGVybWlvcyAqdHApOworc3RhdGljIGNoYXIgKmdldF9sb2duYW1lKHN0cnVjdCBvcHRpb25zICpvcCwKKwkJCSBzdHJ1Y3QgdGVybWlvcyAqdHAsIHN0cnVjdCBjaGFyZGF0YSAqY3ApOworc3RhdGljIHZvaWQgdGVybWlvX2ZpbmFsKHN0cnVjdCBvcHRpb25zICpvcCwKKwkJCSBzdHJ1Y3QgdGVybWlvcyAqdHAsIHN0cnVjdCBjaGFyZGF0YSAqY3ApOworc3RhdGljIGludCBjYXBzX2xvY2soY2hhciAqcyk7CitzdGF0aWMgc3BlZWRfdCBiY29kZShjaGFyICpzKTsKK3N0YXRpYyB2b2lkIHVzYWdlKHZvaWQpIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpOworc3RhdGljIHZvaWQgZXhpdF9zbG93bHkoaW50IGNvZGUpIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpOworc3RhdGljIHZvaWQgbG9nX2Vycihjb25zdCBjaGFyICosIC4uLikgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkKKwkJCSAgICAgICBfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fKHByaW50ZiwgMSwgMikpKTsKK3N0YXRpYyB2b2lkIGxvZ193YXJuIChjb25zdCBjaGFyICosIC4uLikKKwkJCQlfX2F0dHJpYnV0ZV9fKChfX2Zvcm1hdF9fKHByaW50ZiwgMSwgMikpKTsKK3N0YXRpYyBzc2l6ZV90IGFwcGVuZChjaGFyICpkZXN0LCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICAqc2VwLCBjb25zdCBjaGFyICpzcmMpOworc3RhdGljIHZvaWQgY2hlY2tfdXNlcm5hbWUgKGNvbnN0IGNoYXIqIG5tKTsKK3N0YXRpYyB2b2lkIGxvZ2luX29wdGlvbnNfdG9fYXJndihjaGFyICphcmd2W10sIGludCAqYXJnYywgY2hhciAqc3RyLCBjaGFyICp1c2VybmFtZSk7CitzdGF0aWMgdm9pZCByZWxvYWRfYWdldHR5cyh2b2lkKTsKK3N0YXRpYyB2b2lkIHByaW50X2lzc3VlX2ZpbGUoc3RydWN0IG9wdGlvbnMgKm9wLCBzdHJ1Y3QgdGVybWlvcyAqdHApOworCisvKiBGYWtlIGhvc3RuYW1lIGZvciB1dF9ob3N0IHNwZWNpZmllZCBvbiBjb21tYW5kIGxpbmUuICovCitzdGF0aWMgY2hhciAqZmFrZWhvc3Q7CisKKyNpZmRlZiBERUJVR0dJTkcKKyMgaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyMgaWZuZGVmIERFQlVHX09VVFBVVAorIyAgZGVmaW5lIERFQlVHX09VVFBVVCAiL2Rldi90dHkxMCIKKyMgZW5kaWYKKyMgZGVmaW5lIGRlYnVnKHMpIGRvIHsgZnByaW50ZihkYmYscyk7IGZmbHVzaChkYmYpOyB9IHdoaWxlICgwKQorRklMRSAqZGJmOworI2Vsc2UKKyMgZGVmaW5lIGRlYnVnKHMpIGRvIHsgOyB9IHdoaWxlICgwKQorI2VuZGlmCisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwljaGFyICp1c2VybmFtZSA9IE5VTEw7CQkJLyogbG9naW4gbmFtZSwgZ2l2ZW4gdG8gL2Jpbi9sb2dpbiAqLworCXN0cnVjdCBjaGFyZGF0YSBjaGFyZGF0YTsJCS8qIHdpbGwgYmUgc2V0IGJ5IGdldF9sb2duYW1lKCkgKi8KKwlzdHJ1Y3QgdGVybWlvcyB0ZXJtaW9zOwkJCS8qIHRlcm1pbmFsIG1vZGUgYml0cyAqLworCXN0cnVjdCBvcHRpb25zIG9wdGlvbnMgPSB7CisJCS5mbGFncyAgPSAgRl9JU1NVRSwJCS8qIHNob3cgL2V0Yy9pc3N1ZSAoU1lTVl9TVFlMRSkgKi8KKwkJLmxvZ2luICA9ICBfUEFUSF9MT0dJTiwJCS8qIGRlZmF1bHQgbG9naW4gcHJvZ3JhbSAqLworCQkudHR5ICAgID0gInR0eTEiCQkvKiBkZWZhdWx0IHR0eSBsaW5lICovCisJfTsKKwljaGFyICpsb2dpbl9hcmd2W0xPR0lOX0FSR1ZfTUFYICsgMV07CisJaW50IGxvZ2luX2FyZ2MgPSAwOworCXN0cnVjdCBzaWdhY3Rpb24gc2EsIHNhX2h1cCwgc2FfcXVpdCwgc2FfaW50OworCXNpZ3NldF90IHNldDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisKKwkvKiBJbiBjYXNlIHZoYW5ndXAoMikgaGFzIHRvIGNhbGxlZCAqLworCXNhLnNhX2hhbmRsZXIgPSBTSUdfSUdOOworCXNhLnNhX2ZsYWdzID0gU0FfUkVTVEFSVDsKKwlzaWdlbXB0eXNldCAoJnNhLnNhX21hc2spOworCXNpZ2FjdGlvbihTSUdIVVAsICZzYSwgJnNhX2h1cCk7CisJc2lnYWN0aW9uKFNJR1FVSVQsICZzYSwgJnNhX3F1aXQpOworCXNpZ2FjdGlvbihTSUdJTlQsICZzYSwgJnNhX2ludCk7CisKKyNpZmRlZiBERUJVR0dJTkcKKwlkYmYgPSBmb3BlbihERUJVR19PVVRQVVQsICJ3Iik7CisJZm9yIChpbnQgaSA9IDE7IGkgPCBhcmdjOyBpKyspIHsKKwkJaWYgKGkgPiAxKQorCQkJZGVidWcoIiAiKTsKKwkJZGVidWcoYXJndltpXSk7CisJfQorCWRlYnVnKCJcbiIpOworI2VuZGlmCQkJCS8qIERFQlVHR0lORyAqLworCisJLyogUGFyc2UgY29tbWFuZC1saW5lIGFyZ3VtZW50cy4gKi8KKwlwYXJzZV9hcmdzKGFyZ2MsIGFyZ3YsICZvcHRpb25zKTsKKworCWxvZ2luX2FyZ3ZbbG9naW5fYXJnYysrXSA9IG9wdGlvbnMubG9naW47CS8qIHNldCBsb2dpbiBwcm9ncmFtIG5hbWUgKi8KKworCS8qIFVwZGF0ZSB0aGUgdXRtcCBmaWxlLiAqLworI2lmZGVmCVNZU1ZfU1RZTEUKKwl1cGRhdGVfdXRtcCgmb3B0aW9ucyk7CisjZW5kaWYKKwlpZiAob3B0aW9ucy5kZWxheSkKKwkgICAgc2xlZXAob3B0aW9ucy5kZWxheSk7CisKKwlkZWJ1ZygiY2FsbGluZyBvcGVuX3R0eVxuIik7CisKKwkvKiBPcGVuIHRoZSB0dHkgYXMgc3RhbmRhcmQgeyBpbnB1dCwgb3V0cHV0LCBlcnJvciB9LiAqLworCW9wZW5fdHR5KG9wdGlvbnMudHR5LCAmdGVybWlvcywgJm9wdGlvbnMpOworCisJLyogVW5tYXNrIFNJR0hVUCBpZiBpbmhlcml0ZWQgKi8KKwlzaWdlbXB0eXNldCgmc2V0KTsKKwlzaWdhZGRzZXQoJnNldCwgU0lHSFVQKTsKKwlzaWdwcm9jbWFzayhTSUdfVU5CTE9DSywgJnNldCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR0hVUCwgJnNhX2h1cCwgTlVMTCk7CisKKwl0Y3NldHBncnAoU1RESU5fRklMRU5PLCBnZXRwaWQoKSk7CisKKwkvKiBEZWZhdWx0IGlzIHRvIGZvbGxvdyB0aGUgY3VycmVudCBsaW5lIHNwZWVkIGFuZCB0aGVuIGRlZmF1bHQgdG8gOTYwMCAqLworCWlmICgob3B0aW9ucy5mbGFncyAmIEZfVkNPTlNPTEUpID09IDAgJiYgb3B0aW9ucy5udW1zcGVlZCA9PSAwKSB7CisJCW9wdGlvbnMuc3BlZWRzW29wdGlvbnMubnVtc3BlZWQrK10gPSBiY29kZSgiOTYwMCIpOworCQlvcHRpb25zLmZsYWdzIHw9IEZfS0VFUFNQRUVEOworCX0KKworCS8qIEluaXRpYWxpemUgdGhlIHRlcm1pb3Mgc2V0dGluZ3MgKHJhdyBtb2RlLCBlaWdodC1iaXQsIGJsb2NraW5nIGkvbykuICovCisJZGVidWcoImNhbGxpbmcgdGVybWlvX2luaXRcbiIpOworCXRlcm1pb19pbml0KCZvcHRpb25zLCAmdGVybWlvcyk7CisKKwkvKiBXcml0ZSB0aGUgbW9kZW0gaW5pdCBzdHJpbmcgYW5kIERPIE5PVCBmbHVzaCB0aGUgYnVmZmVycy4gKi8KKwlpZiAoc2VyaWFsX3R0eV9vcHRpb24oJm9wdGlvbnMsIEZfSU5JVFNUUklORykgJiYKKwkgICAgb3B0aW9ucy5pbml0c3RyaW5nICYmICpvcHRpb25zLmluaXRzdHJpbmcgIT0gJ1wwJykgeworCQlkZWJ1Zygid3JpdGluZyBpbml0IHN0cmluZ1xuIik7CisJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBvcHRpb25zLmluaXRzdHJpbmcsCisJCQkgICBzdHJsZW4ob3B0aW9ucy5pbml0c3RyaW5nKSk7CisJfQorCisJaWYgKG9wdGlvbnMuZmxhZ3MgJiBGX1ZDT05TT0xFIHx8IG9wdGlvbnMuY2xvY2FsICE9IENMT0NBTF9NT0RFX0FMV0FZUykKKwkJLyogR28gdG8gYmxvY2tpbmcgbW9kZSB1bmxlc3MgLUwgaXMgc3BlY2lmaWVkLCB0aGlzIGNoYW5nZQorCQkgKiBhZmZlY3RzIHN0ZG91dCwgc3RkaW4gYW5kIHN0ZGVyciBhcyBhbGwgdGhlIGZpbGUgZGVzY3JpcHRvcnMKKwkJICogYXJlIGNyZWF0ZWQgYnkgZHVwKCkuICAgKi8KKwkJZmNudGwoU1RET1VUX0ZJTEVOTywgRl9TRVRGTCwKKwkJICAgICAgZmNudGwoU1RET1VUX0ZJTEVOTywgRl9HRVRGTCwgMCkgJiB+T19OT05CTE9DSyk7CisKKwkvKiBPcHRpb25hbGx5IGRldGVjdCB0aGUgYmF1ZCByYXRlIGZyb20gdGhlIG1vZGVtIHN0YXR1cyBtZXNzYWdlLiAqLworCWRlYnVnKCJiZWZvcmUgYXV0b2JhdWRcbiIpOworCWlmIChzZXJpYWxfdHR5X29wdGlvbigmb3B0aW9ucywgRl9QQVJTRSkpCisJCWF1dG9fYmF1ZCgmdGVybWlvcyk7CisKKwkvKiBTZXQgdGhlIG9wdGlvbmFsIHRpbWVyLiAqLworCWlmIChvcHRpb25zLnRpbWVvdXQpCisJCWFsYXJtKG9wdGlvbnMudGltZW91dCk7CisKKwkvKiBPcHRpb25hbGx5IHdhaXQgZm9yIENSIG9yIExGIGJlZm9yZSB3cml0aW5nIC9ldGMvaXNzdWUgKi8KKwlpZiAoc2VyaWFsX3R0eV9vcHRpb24oJm9wdGlvbnMsIEZfV0FJVENSTEYpKSB7CisJCWNoYXIgY2g7CisKKwkJZGVidWcoIndhaXRpbmcgZm9yIGNyLWxmXG4iKTsKKwkJd2hpbGUgKHJlYWQoU1RESU5fRklMRU5PLCAmY2gsIDEpID09IDEpIHsKKwkJCS8qIFN0cmlwICJwYXJpdHkgYml0Ii4gKi8KKwkJCWNoICY9IDB4N2Y7CisjaWZkZWYgREVCVUdHSU5HCisJCQlmcHJpbnRmKGRiZiwgInJlYWQgJWNcbiIsIGNoKTsKKyNlbmRpZgorCQkJaWYgKGNoID09ICdcbicgfHwgY2ggPT0gJ1xyJykKKwkJCQlicmVhazsKKwkJfQorCX0KKworCUlOSVRfQ0hBUkRBVEEoJmNoYXJkYXRhKTsKKworCWlmIChvcHRpb25zLmF1dG9sb2cpIHsKKwkJZGVidWcoImRvaW5nIGF1dG8gbG9naW5cbiIpOworCQl1c2VybmFtZSA9IG9wdGlvbnMuYXV0b2xvZzsKKwl9CisKKwlpZiAob3B0aW9ucy5mbGFncyAmIEZfTk9QUk9NUFQpIHsJLyogLS1za2lwLWxvZ2luICovCisJCXByaW50X2lzc3VlX2ZpbGUoJm9wdGlvbnMsICZ0ZXJtaW9zKTsKKwl9IGVsc2UgewkJCQkvKiByZWd1bGFyIChhdXRvKWxvZ2luICovCisJCWlmIChvcHRpb25zLmF1dG9sb2cpIHsKKwkJCS8qIEF1dG9sb2dpbiBwcm9tcHQgKi8KKwkJCWRvX3Byb21wdCgmb3B0aW9ucywgJnRlcm1pb3MpOworCQkJcHJpbnRmKF8oIiVzJXMgKGF1dG9tYXRpYyBsb2dpbilcbiIpLCBMT0dJTiwgb3B0aW9ucy5hdXRvbG9nKTsKKwkJfSBlbHNlIHsKKwkJCS8qIFJlYWQgdGhlIGxvZ2luIG5hbWUuICovCisJCQlkZWJ1ZygicmVhZGluZyBsb2dpbiBuYW1lXG4iKTsKKwkJCXdoaWxlICgodXNlcm5hbWUgPQorCQkJCWdldF9sb2duYW1lKCZvcHRpb25zLCAmdGVybWlvcywgJmNoYXJkYXRhKSkgPT0gTlVMTCkKKwkJCQlpZiAoKG9wdGlvbnMuZmxhZ3MgJiBGX1ZDT05TT0xFKSA9PSAwICYmIG9wdGlvbnMubnVtc3BlZWQpCisJCQkJCW5leHRfc3BlZWQoJm9wdGlvbnMsICZ0ZXJtaW9zKTsKKwkJfQorCX0KKworCS8qIERpc2FibGUgdGltZXIuICovCisJaWYgKG9wdGlvbnMudGltZW91dCkKKwkJYWxhcm0oMCk7CisKKwlpZiAoKG9wdGlvbnMuZmxhZ3MgJiBGX1ZDT05TT0xFKSA9PSAwKSB7CisJCS8qIEZpbmFsaXplIHRoZSB0ZXJtaW9zIHNldHRpbmdzLiAqLworCQl0ZXJtaW9fZmluYWwoJm9wdGlvbnMsICZ0ZXJtaW9zLCAmY2hhcmRhdGEpOworCisJCS8qIE5vdyB0aGUgbmV3bGluZSBjaGFyYWN0ZXIgc2hvdWxkIGJlIHByb3Blcmx5IHdyaXR0ZW4uICovCisJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCAiXHJcbiIsIDIpOworCX0KKworCXNpZ2FjdGlvbihTSUdRVUlULCAmc2FfcXVpdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR0lOVCwgJnNhX2ludCwgTlVMTCk7CisKKwlpZiAodXNlcm5hbWUpCisJCWNoZWNrX3VzZXJuYW1lKHVzZXJuYW1lKTsKKworCWlmIChvcHRpb25zLmxvZ29wdCkgeworCQkvKgorCQkgKiBUaGUgLS1sb2dpbi1vcHRpb25zIGNvbXBsZXRlbHkgb3ZlcndyaXRlcyB0aGUgZGVmYXVsdAorCQkgKiB3YXkgaG93IGFnZXR0eSBjb21wb3NlcyBsb2dpbigxKSBjb21tYW5kIGxpbmUuCisJCSAqLworCQlsb2dpbl9vcHRpb25zX3RvX2FyZ3YobG9naW5fYXJndiwgJmxvZ2luX2FyZ2MsCisJCQkJICAgICAgb3B0aW9ucy5sb2dvcHQsIHVzZXJuYW1lKTsKKwl9IGVsc2UgeworCQlpZiAob3B0aW9ucy5mbGFncyAmIEZfUkVNT1RFKSB7CisJCQlpZiAoZmFrZWhvc3QpIHsKKwkJCQlsb2dpbl9hcmd2W2xvZ2luX2FyZ2MrK10gPSAiLWgiOworCQkJCWxvZ2luX2FyZ3ZbbG9naW5fYXJnYysrXSA9IGZha2Vob3N0OworCQkJfSBlbHNlIGlmIChvcHRpb25zLmZsYWdzICYgRl9OT0hPU1ROQU1FKQorCQkJCWxvZ2luX2FyZ3ZbbG9naW5fYXJnYysrXSA9ICItSCI7CisJCX0KKwkJaWYgKHVzZXJuYW1lKSB7CisJCQlpZiAob3B0aW9ucy5hdXRvbG9nKQorCQkJCWxvZ2luX2FyZ3ZbbG9naW5fYXJnYysrXSA9ICItZiI7CisJCQllbHNlCisJCQkJbG9naW5fYXJndltsb2dpbl9hcmdjKytdID0gIi0tIjsKKwkJCWxvZ2luX2FyZ3ZbbG9naW5fYXJnYysrXSA9IHVzZXJuYW1lOworCQl9CisJfQorCisJbG9naW5fYXJndltsb2dpbl9hcmdjXSA9IE5VTEw7CS8qIGxhc3QgbG9naW4gYXJndiAqLworCisJaWYgKG9wdGlvbnMuY2hyb290ICYmIGNocm9vdChvcHRpb25zLmNocm9vdCkgPCAwKQorCQlsb2dfZXJyKF8oIiVzOiBjYW4ndCBjaGFuZ2Ugcm9vdCBkaXJlY3RvcnkgJXM6ICVtIiksCisJCQlvcHRpb25zLnR0eSwgb3B0aW9ucy5jaHJvb3QpOworCWlmIChvcHRpb25zLmNoZGlyICYmIGNoZGlyKG9wdGlvbnMuY2hkaXIpIDwgMCkKKwkJbG9nX2VycihfKCIlczogY2FuJ3QgY2hhbmdlIHdvcmtpbmcgZGlyZWN0b3J5ICVzOiAlbSIpLAorCQkJb3B0aW9ucy50dHksIG9wdGlvbnMuY2hkaXIpOworCWlmIChvcHRpb25zLm5pY2UgJiYgbmljZShvcHRpb25zLm5pY2UpIDwgMCkKKwkJbG9nX3dhcm4oXygiJXM6IGNhbid0IGNoYW5nZSBwcm9jZXNzIHByaW9yaXR5OiAlbSIpLAorCQkJIG9wdGlvbnMudHR5KTsKKworCWZyZWUob3B0aW9ucy5vc3JlbGVhc2UpOworI2lmZGVmIERFQlVHR0lORworCWlmIChjbG9zZV9zdHJlYW0oZGJmKSAhPSAwKQorCQlsb2dfZXJyKCJ3cml0ZSBmYWlsZWQ6ICVzIiwgREVCVUdfT1VUUFVUKTsKKyNlbmRpZgorCisJLyogTGV0IHRoZSBsb2dpbiBwcm9ncmFtIHRha2UgY2FyZSBvZiBwYXNzd29yZCB2YWxpZGF0aW9uLiAqLworCWV4ZWN2KG9wdGlvbnMubG9naW4sIGxvZ2luX2FyZ3YpOworCWxvZ19lcnIoXygiJXM6IGNhbid0IGV4ZWMgJXM6ICVtIiksIG9wdGlvbnMudHR5LCBsb2dpbl9hcmd2WzBdKTsKK30KKworLyoKKyAqIFJldHVybnMgOiBAc3RyIGlmIFx1IG5vdCBmb3VuZAorICogICAgICAgICA6IEB1c2VybmFtZSBpZiBAc3RyIGVxdWFsIHRvICJcdSIKKyAqICAgICAgICAgOiBuZXdseSBhbGxvY2F0ZWQgc3RyaW5nIGlmIFx1IG1peGVkIHdpdGggc29tZXRoaW5nIG90aGVyCisgKi8KK3N0YXRpYyBjaGFyICpyZXBsYWNlX3UoY2hhciAqc3RyLCBjaGFyICp1c2VybmFtZSkKK3sKKwljaGFyICplbnRyeSA9IE5VTEwsICpwID0gc3RyOworCXNpemVfdCB1c3ogPSB1c2VybmFtZSA/IHN0cmxlbih1c2VybmFtZSkgOiAwOworCisJd2hpbGUgKCpwKSB7CisJCXNpemVfdCBzejsKKwkJY2hhciAqdHAsICpvbGQgPSBlbnRyeTsKKworCQlpZiAobWVtY21wKHAsICJcXHUiLCAyKSkgeworCQkJcCsrOworCQkJY29udGludWU7CS8qIG5vIFx1ICovCisJCX0KKwkJc3ogPSBzdHJsZW4oc3RyKTsKKworCQlpZiAocCA9PSBzdHIgJiYgc3ogPT0gMikgeworCQkJLyogJ3N0cicgY29udGFpbnMgb25seSAnXHUnICovCisJCQlmcmVlKG9sZCk7CisJCQlyZXR1cm4gdXNlcm5hbWU7CisJCX0KKworCQl0cCA9IGVudHJ5ID0gbWFsbG9jKHN6ICsgdXN6KTsKKwkJaWYgKCF0cCkKKwkJCWxvZ19lcnIoXygiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iKSk7CisKKwkJaWYgKHAgIT0gc3RyKSB7CisJCQkvKiBjb3B5IGNoYXJzIGJlZm9yZSBcdSAqLworCQkJbWVtY3B5KHRwLCBzdHIsIHAgLSBzdHIpOworCQkJdHAgKz0gcCAtIHN0cjsKKwkJfQorCQlpZiAodXN6KSB7CisJCQkvKiBjb3B5IHVzZXJuYW1lICovCisJCQltZW1jcHkodHAsIHVzZXJuYW1lLCB1c3opOworCQkJdHAgKz0gdXN6OworCQl9CisJCWlmICgqKHAgKyAyKSkKKwkJCS8qIGNvcHkgY2hhcnMgYWZ0ZXIgXHUgKyBcMCAqLworCQkJbWVtY3B5KHRwLCBwICsgMiwgc3ogLSAocCAtIHN0cikgLSAxKTsKKwkJZWxzZQorCQkJKnRwID0gJ1wwJzsKKworCQlwID0gdHA7CisJCXN0ciA9IGVudHJ5OworCQlmcmVlKG9sZCk7CisJfQorCisJcmV0dXJuIGVudHJ5ID8gZW50cnkgOiBzdHI7Cit9CisKK3N0YXRpYyB2b2lkIGxvZ2luX29wdGlvbnNfdG9fYXJndihjaGFyICphcmd2W10sIGludCAqYXJnYywKKwkJCQkgIGNoYXIgKnN0ciwgY2hhciAqdXNlcm5hbWUpCit7CisJY2hhciAqcDsKKwlpbnQgaSA9ICphcmdjOworCisJd2hpbGUgKHN0ciAmJiBpc3NwYWNlKCpzdHIpKQorCQlzdHIrKzsKKwlwID0gc3RyOworCisJd2hpbGUgKHAgJiYgKnAgJiYgaSA8IExPR0lOX0FSR1ZfTUFYKSB7CisJCWlmIChpc3NwYWNlKCpwKSkgeworCQkJKnAgPSAnXDAnOworCQkJd2hpbGUgKGlzc3BhY2UoKisrcCkpCisJCQkJOworCQkJaWYgKCpwKSB7CisJCQkJYXJndltpKytdID0gcmVwbGFjZV91KHN0ciwgdXNlcm5hbWUpOworCQkJCXN0ciA9IHA7CisJCQl9CisJCX0gZWxzZQorCQkJcCsrOworCX0KKwlpZiAoc3RyICYmICpzdHIgJiYgaSA8IExPR0lOX0FSR1ZfTUFYKQorCQlhcmd2W2krK10gPSByZXBsYWNlX3Uoc3RyLCB1c2VybmFtZSk7CisJKmFyZ2MgPSBpOworfQorCitzdGF0aWMgdm9pZCBvdXRwdXRfdmVyc2lvbih2b2lkKQoreworCXN0YXRpYyBjb25zdCBjaGFyICpmZWF0dXJlc1tdID0geworI2lmZGVmIERFQlVHR0lORworCQkiZGVidWciLAorI2VuZGlmCisjaWZkZWYgQ1JUU0NUUworCQkiZmxvdyBjb250cm9sIiwKKyNlbmRpZgorI2lmZGVmIEtER0tCTEVECisJCSJoaW50cyIsCisjZW5kaWYKKyNpZmRlZiBJU1NVRV9TVVBQT1JUCisJCSJpc3N1ZSIsCisjZW5kaWYKKyNpZmRlZiBJU1NVRURJUl9TVVBQT1JUCisJCSJpc3N1ZS5kIiwKKyNlbmRpZgorI2lmZGVmIEtER0tCTU9ERQorCQkia2V5Ym9hcmQgbW9kZSIsCisjZW5kaWYKKyNpZmRlZiBVU0VfUExZTU9VVEhfU1VQUE9SVAorCQkicGx5bW91dGgiLAorI2VuZGlmCisjaWZkZWYgQUdFVFRZX1JFTE9BRAorCQkicmVsb2FkIiwKKyNlbmRpZgorI2lmZGVmIFVTRV9TWVNMT0cKKwkJInN5c2xvZyIsCisjZW5kaWYKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJCSJ3aWRlY2hhciIsCisjZW5kaWYKKwkJTlVMTAorCX07CisJdW5zaWduZWQgaW50IGk7CisKKwlwcmludGYoIF8oIiVzIGZyb20gJXMiKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsIFBBQ0tBR0VfU1RSSU5HKTsKKwlmcHV0cygiICgiLCBzdGRvdXQpOworCWZvciAoaSA9IDA7IGZlYXR1cmVzW2ldOyBpKyspIHsKKwkJaWYgKDAgPCBpKQorCQkJZnB1dHMoIiwgIiwgc3Rkb3V0KTsKKwkJcHJpbnRmKCIlcyIsIGZlYXR1cmVzW2ldKTsKKwl9CisJZnB1dHMoIilcbiIsIHN0ZG91dCk7Cit9CisKKyNkZWZpbmUgaXNfc3BlZWQoc3RyKSAoc3RybGVuKChzdHIpKSA9PSBzdHJzcG4oKHN0ciksICIwMTIzNDU2Nzg5LCIpKQorCisvKiBQYXJzZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzLiAqLworc3RhdGljIHZvaWQgcGFyc2VfYXJncyhpbnQgYXJnYywgY2hhciAqKmFyZ3YsIHN0cnVjdCBvcHRpb25zICpvcCkKK3sKKwlpbnQgYzsKKworCWVudW0geworCQlWRVJTSU9OX09QVElPTiA9IENIQVJfTUFYICsgMSwKKwkJTk9ISU5UU19PUFRJT04sCisJCU5PSE9TVE5BTUVfT1BUSU9OLAorCQlMT05HSE9TVE5BTUVfT1BUSU9OLAorCQlIRUxQX09QVElPTiwKKwkJRVJBU0VfQ0hBUlNfT1BUSU9OLAorCQlLSUxMX0NIQVJTX09QVElPTiwKKwkJUkVMT0FEX09QVElPTiwKKwkJTElTVF9TUEVFRFNfT1BUSU9OLAorCX07CisJY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICAiOGJpdHMiLAkgICAgIG5vX2FyZ3VtZW50LAkgTlVMTCwgICc4JyAgfSwKKwkJeyAgImF1dG9sb2dpbiIsCSAgICAgcmVxdWlyZWRfYXJndW1lbnQsCSBOVUxMLCAgJ2EnICB9LAorCQl7ICAibm9yZXNldCIsCSAgICAgbm9fYXJndW1lbnQsCSBOVUxMLCAgJ2MnICB9LAorCQl7ICAiY2hkaXIiLAkgICAgIHJlcXVpcmVkX2FyZ3VtZW50LAkgTlVMTCwgICdDJyAgfSwKKwkJeyAgImRlbGF5IiwJICAgICByZXF1aXJlZF9hcmd1bWVudCwJIE5VTEwsICAnZCcgIH0sCisJCXsgICJyZW1vdGUiLCAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAgTlVMTCwgICdFJyAgfSwKKwkJeyAgImlzc3VlLWZpbGUiLCAgICAgcmVxdWlyZWRfYXJndW1lbnQsICBOVUxMLCAgJ2YnICB9LAorCQl7ICAiZmxvdy1jb250cm9sIiwgICBub19hcmd1bWVudCwJIE5VTEwsICAnaCcgIH0sCisJCXsgICJob3N0IiwJICAgICByZXF1aXJlZF9hcmd1bWVudCwgIE5VTEwsICAnSCcgIH0sCisJCXsgICJub2lzc3VlIiwJICAgICBub19hcmd1bWVudCwJIE5VTEwsICAnaScgIH0sCisJCXsgICJpbml0LXN0cmluZyIsICAgIHJlcXVpcmVkX2FyZ3VtZW50LCAgTlVMTCwgICdJJyAgfSwKKwkJeyAgIm5vY2xlYXIiLAkgICAgIG5vX2FyZ3VtZW50LAkgTlVMTCwgICdKJyAgfSwKKwkJeyAgImxvZ2luLXByb2dyYW0iLCAgcmVxdWlyZWRfYXJndW1lbnQsICBOVUxMLCAgJ2wnICB9LAorCQl7ICAibG9jYWwtbGluZSIsICAgICBvcHRpb25hbF9hcmd1bWVudCwJIE5VTEwsICAnTCcgIH0sCisJCXsgICJleHRyYWN0LWJhdWQiLCAgIG5vX2FyZ3VtZW50LAkgTlVMTCwgICdtJyAgfSwKKwkJeyAgImxpc3Qtc3BlZWRzIiwgICAgbm9fYXJndW1lbnQsCSBOVUxMLAlMSVNUX1NQRUVEU19PUFRJT04gfSwKKwkJeyAgInNraXAtbG9naW4iLCAgICAgbm9fYXJndW1lbnQsCSBOVUxMLCAgJ24nICB9LAorCQl7ICAibm9uZXdsaW5lIiwJICAgICBub19hcmd1bWVudCwJIE5VTEwsICAnTicgIH0sCisJCXsgICJsb2dpbi1vcHRpb25zIiwgIHJlcXVpcmVkX2FyZ3VtZW50LCAgTlVMTCwgICdvJyAgfSwKKwkJeyAgImxvZ2luLXBhdXNlIiwgICAgbm9fYXJndW1lbnQsICAgICAgICBOVUxMLCAgJ3AnICB9LAorCQl7ICAibmljZSIsCSAgICAgcmVxdWlyZWRfYXJndW1lbnQsICBOVUxMLCAgJ1AnICB9LAorCQl7ICAiY2hyb290IiwJICAgICByZXF1aXJlZF9hcmd1bWVudCwJIE5VTEwsICAncicgIH0sCisJCXsgICJoYW5ndXAiLAkgICAgIG5vX2FyZ3VtZW50LAkgTlVMTCwgICdSJyAgfSwKKwkJeyAgImtlZXAtYmF1ZCIsICAgICAgbm9fYXJndW1lbnQsCSBOVUxMLCAgJ3MnICB9LAorCQl7ICAidGltZW91dCIsCSAgICAgcmVxdWlyZWRfYXJndW1lbnQsICBOVUxMLCAgJ3QnICB9LAorCQl7ICAiZGV0ZWN0LWNhc2UiLCAgICBub19hcmd1bWVudCwJIE5VTEwsICAnVScgIH0sCisJCXsgICJ3YWl0LWNyIiwJICAgICBub19hcmd1bWVudCwJIE5VTEwsICAndycgIH0sCisJCXsgICJub2hpbnRzIiwgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICAgTlVMTCwgIE5PSElOVFNfT1BUSU9OIH0sCisJCXsgICJub2hvc3RuYW1lIiwgICAgIG5vX2FyZ3VtZW50LAkgTlVMTCwgIE5PSE9TVE5BTUVfT1BUSU9OIH0sCisJCXsgICJsb25nLWhvc3RuYW1lIiwgIG5vX2FyZ3VtZW50LAkgTlVMTCwgIExPTkdIT1NUTkFNRV9PUFRJT04gfSwKKwkJeyAgInJlbG9hZCIsICAgICAgICAgbm9fYXJndW1lbnQsICAgICAgICBOVUxMLCAgUkVMT0FEX09QVElPTiB9LAorCQl7ICAidmVyc2lvbiIsCSAgICAgbm9fYXJndW1lbnQsCSBOVUxMLCAgVkVSU0lPTl9PUFRJT04gIH0sCisJCXsgICJoZWxwIiwJICAgICBub19hcmd1bWVudCwJIE5VTEwsICBIRUxQX09QVElPTiAgICAgfSwKKwkJeyAgImVyYXNlLWNoYXJzIiwgICAgcmVxdWlyZWRfYXJndW1lbnQsICBOVUxMLCAgRVJBU0VfQ0hBUlNfT1BUSU9OIH0sCisJCXsgICJraWxsLWNoYXJzIiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCAgTlVMTCwgIEtJTExfQ0hBUlNfT1BUSU9OIH0sCisJCXsgTlVMTCwgMCwgTlVMTCwgMCB9CisJfTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsCisJCQkgICAiOGE6Y0M6ZDpFZjpoSDppSTpKbDpMOjptbk5vOnBQOnI6UnN0OlV3IiwgbG9uZ29wdHMsCisJCQkgICAgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICc4JzoKKwkJCW9wLT5mbGFncyB8PSBGX0VJR0hUQklUUzsKKwkJCWJyZWFrOworCQljYXNlICdhJzoKKwkJCW9wLT5hdXRvbG9nID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJb3AtPmZsYWdzIHw9IEZfS0VFUENGTEFHUzsKKwkJCWJyZWFrOworCQljYXNlICdDJzoKKwkJCW9wLT5jaGRpciA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCW9wLT5kZWxheSA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsICBfKCJpbnZhbGlkIGRlbGF5IGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ0UnOgorCQkJb3AtPmZsYWdzIHw9IEZfUkVNT1RFOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgorCQkJb3AtPmlzc3VlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJb3AtPmZsYWdzIHw9IEZfUlRTQ1RTOworCQkJYnJlYWs7CisJCWNhc2UgJ0gnOgorCQkJZmFrZWhvc3QgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlvcC0+ZmxhZ3MgJj0gfkZfSVNTVUU7CisJCQlicmVhazsKKwkJY2FzZSAnSSc6CisJCQlpbml0X3NwZWNpYWxfY2hhcihvcHRhcmcsIG9wKTsKKwkJCW9wLT5mbGFncyB8PSBGX0lOSVRTVFJJTkc7CisJCQlicmVhazsKKwkJY2FzZSAnSic6CisJCQlvcC0+ZmxhZ3MgfD0gRl9OT0NMRUFSOworCQkJYnJlYWs7CisJCWNhc2UgJ2wnOgorCQkJb3AtPmxvZ2luID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ0wnOgorCQkJLyogLUwgYW5kIC1MPWFsd2F5cyBoYXZlIHRoZSBzYW1lIG1lYW5pbmcgKi8KKwkJCW9wLT5jbG9jYWwgPSBDTE9DQUxfTU9ERV9BTFdBWVM7CisJCQlpZiAob3B0YXJnKSB7CisJCQkJaWYgKHN0cmNtcChvcHRhcmcsICI9YWx3YXlzIikgPT0gMCkKKwkJCQkJb3AtPmNsb2NhbCA9IENMT0NBTF9NT0RFX0FMV0FZUzsKKwkJCQllbHNlIGlmIChzdHJjbXAob3B0YXJnLCAiPW5ldmVyIikgPT0gMCkKKwkJCQkJb3AtPmNsb2NhbCA9IENMT0NBTF9NT0RFX05FVkVSOworCQkJCWVsc2UgaWYgKHN0cmNtcChvcHRhcmcsICI9YXV0byIpID09IDApCisJCQkJCW9wLT5jbG9jYWwgPSBDTE9DQUxfTU9ERV9BVVRPOworCQkJCWVsc2UKKwkJCQkJbG9nX2VycihfKCJpbnZhbGlkIGFyZ3VtZW50IG9mIC0tbG9jYWwtbGluZSIpKTsKKwkJCX0KKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCW9wLT5mbGFncyB8PSBGX1BBUlNFOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJb3AtPmZsYWdzIHw9IEZfTk9QUk9NUFQ7CisJCQlicmVhazsKKwkJY2FzZSAnTic6CisJCQlvcC0+ZmxhZ3MgfD0gRl9OT05MOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJb3AtPmxvZ29wdCA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCW9wLT5mbGFncyB8PSBGX0xPR0lOUEFVU0U7CisJCQlicmVhazsKKwkJY2FzZSAnUCc6CisJCQlvcC0+bmljZSA9IHN0cnRvczMyX29yX2VycihvcHRhcmcsICBfKCJpbnZhbGlkIG5pY2UgYXJndW1lbnQiKSk7CisJCQlicmVhazsKKwkJY2FzZSAncic6CisJCQlvcC0+Y2hyb290ID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ1InOgorCQkJb3AtPmZsYWdzIHw9IEZfSEFOR1VQOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJb3AtPmZsYWdzIHw9IEZfS0VFUFNQRUVEOworCQkJYnJlYWs7CisJCWNhc2UgJ3QnOgorCQkJb3AtPnRpbWVvdXQgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCAgXygiaW52YWxpZCB0aW1lb3V0IGFyZ3VtZW50IikpOworCQkJYnJlYWs7CisJCWNhc2UgJ1UnOgorCQkJb3AtPmZsYWdzIHw9IEZfTENVQzsKKwkJCWJyZWFrOworCQljYXNlICd3JzoKKwkJCW9wLT5mbGFncyB8PSBGX1dBSVRDUkxGOworCQkJYnJlYWs7CisJCWNhc2UgTk9ISU5UU19PUFRJT046CisJCQlvcC0+ZmxhZ3MgfD0gRl9OT0hJTlRTOworCQkJYnJlYWs7CisJCWNhc2UgTk9IT1NUTkFNRV9PUFRJT046CisJCQlvcC0+ZmxhZ3MgfD0gRl9OT0hPU1ROQU1FOworCQkJYnJlYWs7CisJCWNhc2UgTE9OR0hPU1ROQU1FX09QVElPTjoKKwkJCW9wLT5mbGFncyB8PSBGX0xPTkdITkFNRTsKKwkJCWJyZWFrOworCQljYXNlIEVSQVNFX0NIQVJTX09QVElPTjoKKwkJCW9wLT5lcmFzZWNoYXJzID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgS0lMTF9DSEFSU19PUFRJT046CisJCQlvcC0+a2lsbGNoYXJzID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgUkVMT0FEX09QVElPTjoKKwkJCXJlbG9hZF9hZ2V0dHlzKCk7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgTElTVF9TUEVFRFNfT1BUSU9OOgorCQkJbGlzdF9zcGVlZHMoKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSBWRVJTSU9OX09QVElPTjoKKwkJCW91dHB1dF92ZXJzaW9uKCk7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCWNhc2UgSEVMUF9PUFRJT046CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCisJZGVidWcoImFmdGVyIGdldG9wdCBsb29wXG4iKTsKKworCWlmIChhcmdjIDwgb3B0aW5kICsgMSkgeworCQlsb2dfd2FybihfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm5vdCBlbm91Z2ggYXJndW1lbnRzIikpOworCX0KKworCS8qIEFjY2VwdCAidHR5IiwgImJhdWRyYXRlIHR0eSIsIGFuZCAidHR5IGJhdWRyYXRlIi4gKi8KKwlpZiAoaXNfc3BlZWQoYXJndltvcHRpbmRdKSkgeworCQkvKiBBc3N1bWUgQlNEIHN0eWxlIHNwZWVkLiAqLworCQlwYXJzZV9zcGVlZHMob3AsIGFyZ3Zbb3B0aW5kKytdKTsKKwkJaWYgKGFyZ2MgPCBvcHRpbmQgKyAxKSB7CisJCQlsb2dfd2FybihfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJub3QgZW5vdWdoIGFyZ3VtZW50cyIpKTsKKwkJfQorCQlvcC0+dHR5ID0gYXJndltvcHRpbmQrK107CisJfSBlbHNlIHsKKwkJb3AtPnR0eSA9IGFyZ3Zbb3B0aW5kKytdOworCQlpZiAoYXJnYyA+IG9wdGluZCkgeworCQkJY2hhciAqdiA9IGFyZ3Zbb3B0aW5kXTsKKwkJCWlmIChpc19zcGVlZCh2KSkgeworCQkJCXBhcnNlX3NwZWVkcyhvcCwgdik7CisJCQkJb3B0aW5kKys7CisJCQl9CisJCX0KKwl9CisKKwkvKiBPbiB2aXJ0dWFsIGNvbnNvbGUgcmVtZW1iZXIgdGhlIGxpbmUgd2hpY2ggaXMgdXNlZCBmb3IgKi8KKwlpZiAoc3RybmNtcChvcC0+dHR5LCAidHR5IiwgMykgPT0gMCAmJgorCSAgICBzdHJzcG4ob3AtPnR0eSArIDMsICIwMTIzNDU2Nzg5IikgPT0gc3RybGVuKG9wLT50dHkrMykpCisJCW9wLT52Y2xpbmUgPSBvcC0+dHR5KzM7CisKKwlpZiAoYXJnYyA+IG9wdGluZCAmJiBhcmd2W29wdGluZF0pCisJCW9wLT50ZXJtID0gYXJndltvcHRpbmRdOworCisJZGVidWcoImV4aXRpbmcgcGFyc2VhcmdzXG4iKTsKK30KKworLyogUGFyc2UgYWx0ZXJuYXRlIGJhdWQgcmF0ZXMuICovCitzdGF0aWMgdm9pZCBwYXJzZV9zcGVlZHMoc3RydWN0IG9wdGlvbnMgKm9wLCBjaGFyICphcmcpCit7CisJY2hhciAqY3A7CisJY2hhciAqc3RyID0gc3RyZHVwKGFyZyk7CisKKwlpZiAoIXN0cikKKwkJbG9nX2VycihfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIpKTsKKworCWRlYnVnKCJlbnRlcmVkIHBhcnNlX3NwZWVkczpcbiIpOworCWZvciAoY3AgPSBzdHJ0b2soc3RyLCAiLCIpOyBjcCAhPSBOVUxMOyBjcCA9IHN0cnRvaygoY2hhciAqKTAsICIsIikpIHsKKwkJaWYgKChvcC0+c3BlZWRzW29wLT5udW1zcGVlZCsrXSA9IGJjb2RlKGNwKSkgPD0gMCkKKwkJCWxvZ19lcnIoXygiYmFkIHNwZWVkOiAlcyIpLCBjcCk7CisJCWlmIChvcC0+bnVtc3BlZWQgPj0gTUFYX1NQRUVEKQorCQkJbG9nX2VycihfKCJ0b28gbWFueSBhbHRlcm5hdGUgc3BlZWRzIikpOworCX0KKwlkZWJ1ZygiZXhpdGluZyBwYXJzZXNwZWVkc1xuIik7CisJZnJlZShzdHIpOworfQorCisjaWZkZWYJU1lTVl9TVFlMRQorCisvKiBVcGRhdGUgb3VyIHV0bXAgZW50cnkuICovCitzdGF0aWMgdm9pZCB1cGRhdGVfdXRtcChzdHJ1Y3Qgb3B0aW9ucyAqb3ApCit7CisJc3RydWN0IHV0bXB4IHV0OworCXRpbWVfdCB0OworCXBpZF90IHBpZCA9IGdldHBpZCgpOworCXBpZF90IHNpZCA9IGdldHNpZCgwKTsKKwljaGFyICp2Y2xpbmUgPSBvcC0+dmNsaW5lOworCWNoYXIgKmxpbmUgICA9IG9wLT50dHk7CisJc3RydWN0IHV0bXB4ICp1dHA7CisKKwkvKgorCSAqIFRoZSB1dG1wIGZpbGUgaG9sZHMgbWlzY2VsbGFuZW91cyBpbmZvcm1hdGlvbiBhYm91dCB0aGluZ3Mgc3RhcnRlZCBieQorCSAqIC9zYmluL2luaXQgYW5kIG90aGVyIHN5c3RlbS1yZWxhdGVkIGV2ZW50cy4gT3VyIHB1cnBvc2UgaXMgdG8gdXBkYXRlCisJICogdGhlIHV0bXAgZW50cnkgZm9yIHRoZSBjdXJyZW50IHByb2Nlc3MsIGluIHBhcnRpY3VsYXIgdGhlIHByb2Nlc3MgdHlwZQorCSAqIGFuZCB0aGUgdHR5IGxpbmUgd2UgYXJlIGxpc3RlbmluZyB0by4gUmV0dXJuIHN1Y2Nlc3NmdWxseSBvbmx5IGlmIHRoZQorCSAqIHV0bXAgZmlsZSBjYW4gYmUgb3BlbmVkIGZvciB1cGRhdGUsIGFuZCBpZiB3ZSBhcmUgYWJsZSB0byBmaW5kIG91cgorCSAqIGVudHJ5IGluIHRoZSB1dG1wIGZpbGUuCisJICovCisJdXRtcHhuYW1lKF9QQVRIX1VUTVApOworCXNldHV0eGVudCgpOworCisJLyoKKwkgKiBGaW5kIG15IHBpZCBpbiB1dG1wLgorCSAqCisJICogRklYTUU6IEVhcmxpZXIgKHdoZW4gd2FzIHRoYXQ/KSBjb2RlIGhlcmUgdGVzdGVkIG9ubHkgdXRwLT51dF90eXBlICE9CisJICogSU5JVF9QUk9DRVNTLCBzbyBtYXliZSB0aGUgPj0gaGVyZSBzaG91bGQgYmUgPi4KKwkgKgorCSAqIEZJWE1FOiBUaGUgcHJlc2VudCBjb2RlIGlzIHRha2VuIGZyb20gbG9naW4uYywgc28gaWYgdGhpcyBpcyBjaGFuZ2VkLAorCSAqIG1heWJlIGxvZ2luIGhhcyB0byBiZSBjaGFuZ2VkIGFzIHdlbGwgKGlzIHRoaXMgdHJ1ZT8pLgorCSAqLworCXdoaWxlICgodXRwID0gZ2V0dXR4ZW50KCkpKQorCQlpZiAodXRwLT51dF9waWQgPT0gcGlkCisJCQkJJiYgdXRwLT51dF90eXBlID49IElOSVRfUFJPQ0VTUworCQkJCSYmIHV0cC0+dXRfdHlwZSA8PSBERUFEX1BST0NFU1MpCisJCQlicmVhazsKKworCWlmICh1dHApIHsKKwkJbWVtY3B5KCZ1dCwgdXRwLCBzaXplb2YodXQpKTsKKwl9IGVsc2UgeworCQkvKiBTb21lIGluaXRzIGRvIG5vdCBpbml0aWFsaXplIHV0bXAuICovCisJCW1lbXNldCgmdXQsIDAsIHNpemVvZih1dCkpOworCQlpZiAodmNsaW5lICYmICp2Y2xpbmUpCisJCQkvKiBTdGFuZGFyZCB2aXJ0dWFsIGNvbnNvbGUgZGV2aWNlcyAqLworCQkJc3RybmNweSh1dC51dF9pZCwgdmNsaW5lLCBzaXplb2YodXQudXRfaWQpKTsKKwkJZWxzZSB7CisJCQlzaXplX3QgbGVuID0gc3RybGVuKGxpbmUpOworCQkJY2hhciAqIHB0cjsKKwkJCWlmIChsZW4gPj0gc2l6ZW9mKHV0LnV0X2lkKSkKKwkJCQlwdHIgPSBsaW5lICsgbGVuIC0gc2l6ZW9mKHV0LnV0X2lkKTsKKwkJCWVsc2UKKwkJCQlwdHIgPSBsaW5lOworCQkJc3RybmNweSh1dC51dF9pZCwgcHRyLCBzaXplb2YodXQudXRfaWQpKTsKKwkJfQorCX0KKworCXN0cm5jcHkodXQudXRfdXNlciwgIkxPR0lOIiwgc2l6ZW9mKHV0LnV0X3VzZXIpKTsKKwlzdHJuY3B5KHV0LnV0X2xpbmUsIGxpbmUsIHNpemVvZih1dC51dF9saW5lKSk7CisJaWYgKGZha2Vob3N0KQorCQlzdHJuY3B5KHV0LnV0X2hvc3QsIGZha2Vob3N0LCBzaXplb2YodXQudXRfaG9zdCkpOworCXRpbWUoJnQpOworCXV0LnV0X3R2LnR2X3NlYyA9IHQ7CisJdXQudXRfdHlwZSA9IExPR0lOX1BST0NFU1M7CisJdXQudXRfcGlkID0gcGlkOworCXV0LnV0X3Nlc3Npb24gPSBzaWQ7CisKKwlwdXR1dHhsaW5lKCZ1dCk7CisJZW5kdXR4ZW50KCk7CisKKwl1cGR3dG1weChfUEFUSF9XVE1QLCAmdXQpOworfQorCisjZW5kaWYJCQkJLyogU1lTVl9TVFlMRSAqLworCisvKiBTZXQgdXAgdHR5IGFzIHN0ZGluLCBzdGRvdXQgJiBzdGRlcnIuICovCitzdGF0aWMgdm9pZCBvcGVuX3R0eShjaGFyICp0dHksIHN0cnVjdCB0ZXJtaW9zICp0cCwgc3RydWN0IG9wdGlvbnMgKm9wKQoreworCWNvbnN0IHBpZF90IHBpZCA9IGdldHBpZCgpOworCWludCBjbG9zZWQgPSAwOworI2lmbmRlZiBLREdLQk1PREUKKwlpbnQgc2VyaWFsOworI2VuZGlmCisKKwkvKiBTZXQgdXAgbmV3IHN0YW5kYXJkIGlucHV0LCB1bmxlc3Mgd2UgYXJlIGdpdmVuIGFuIGFscmVhZHkgb3BlbmVkIHBvcnQuICovCisKKwlpZiAoc3RyY21wKHR0eSwgIi0iKSAhPSAwKSB7CisJCWNoYXIgYnVmW1BBVEhfTUFYKzFdOworCQlzdHJ1Y3QgZ3JvdXAgKmdyID0gTlVMTDsKKwkJc3RydWN0IHN0YXQgc3Q7CisJCWludCBmZCwgbGVuOworCQlwaWRfdCB0aWQ7CisJCWdpZF90IGdpZCA9IDA7CisKKwkJLyogVXNlIHR0eSBncm91cCBpZiBhdmFpbGFibGUgKi8KKwkJaWYgKChnciA9IGdldGdybmFtKCJ0dHkiKSkpCisJCQlnaWQgPSBnci0+Z3JfZ2lkOworCisJCWxlbiA9IHNucHJpbnRmKGJ1Ziwgc2l6ZW9mKGJ1ZiksICIvZGV2LyVzIiwgdHR5KTsKKwkJaWYgKGxlbiA8IDAgfHwgKHNpemVfdClsZW4gPj0gc2l6ZW9mKGJ1ZikpCisJCQlsb2dfZXJyKF8oIi9kZXYvJXM6IGNhbm5vdCBvcGVuIGFzIHN0YW5kYXJkIGlucHV0OiAlbSIpLCB0dHkpOworCisJCS8qIE9wZW4gdGhlIHR0eSBhcyBzdGFuZGFyZCBpbnB1dC4gKi8KKwkJaWYgKChmZCA9IG9wZW4oYnVmLCBPX1JEV1J8T19OT0NUVFl8T19OT05CTE9DSywgMCkpIDwgMCkKKwkJCWxvZ19lcnIoXygiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIiksIHR0eSk7CisKKwkJLyoKKwkJICogVGhlcmUgaXMgYWx3YXlzIGEgcmFjZSBiZXR3ZWVuIHRoaXMgcmVzZXQgYW5kIHRoZSBjYWxsIHRvCisJCSAqIHZoYW5ndXAoKSB0aGF0IHMuby4gY2FuIHVzZSB0byBnZXQgYWNjZXNzIHRvIHlvdXIgdHR5LgorCQkgKiBMaW51eCBsb2dpbigxKSB3aWxsIGNoYW5nZSB0dHkgcGVybWlzc2lvbnMuIFVzZSByb290IG93bmVyIGFuZCBncm91cAorCQkgKiB3aXRoIHBlcm1pc3Npb24gLXJ3LS0tLS0tLSBmb3IgdGhlIHBlcmlvZCBiZXR3ZWVuIGdldHR5IGFuZCBsb2dpbi4KKwkJICovCisJCWlmIChmY2hvd24oZmQsIDAsIGdpZCkgfHwgZmNobW9kKGZkLCAoZ2lkID8gMDYyMCA6IDA2MDApKSkgeworCQkJaWYgKGVycm5vID09IEVST0ZTKQorCQkJCWxvZ193YXJuKCIlczogJW0iLCBidWYpOworCQkJZWxzZQorCQkJCWxvZ19lcnIoIiVzOiAlbSIsIGJ1Zik7CisJCX0KKworCQkvKiBTYW5pdHkgY2hlY2tzLi4uICovCisJCWlmIChmc3RhdChmZCwgJnN0KSA8IDApCisJCQlsb2dfZXJyKCIlczogJW0iLCBidWYpOworCQlpZiAoKHN0LnN0X21vZGUgJiBTX0lGTVQpICE9IFNfSUZDSFIpCisJCQlsb2dfZXJyKF8oIi9kZXYvJXM6IG5vdCBhIGNoYXJhY3RlciBkZXZpY2UiKSwgdHR5KTsKKwkJaWYgKCFpc2F0dHkoZmQpKQorCQkJbG9nX2VycihfKCIvZGV2LyVzOiBub3QgYSB0dHkiKSwgdHR5KTsKKworCQlpZiAoKCh0aWQgPSB0Y2dldHNpZChmZCkpIDwgMCkgfHwgKHBpZCAhPSB0aWQpKSB7CisJCQlpZiAoaW9jdGwoZmQsIFRJT0NTQ1RUWSwgMSkgPT0gLTEpCisJCQkJbG9nX3dhcm4oXygiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIiksIHR0eSk7CisJCX0KKworCQljbG9zZShTVERJTl9GSUxFTk8pOworCQllcnJubyA9IDA7CisKKwkJaWYgKG9wLT5mbGFncyAmIEZfSEFOR1VQKSB7CisKKwkJCWlmIChpb2N0bChmZCwgVElPQ05PVFRZKSkKKwkJCQlkZWJ1ZygiVElPQ05PVFRZIGlvY3RsIGZhaWxlZFxuIik7CisKKwkJCS8qCisJCQkgKiBMZXQncyBjbG9zZSBhbGwgZmlsZSBkZXNjcmlwdG9ycyBiZWZvcmUgdmhhbmd1cAorCQkJICogaHR0cHM6Ly9sa21sLm9yZy9sa21sLzIwMTIvNi81LzE0NQorCQkJICovCisJCQljbG9zZShmZCk7CisJCQljbG9zZShTVERPVVRfRklMRU5PKTsKKwkJCWNsb3NlKFNUREVSUl9GSUxFTk8pOworCQkJZXJybm8gPSAwOworCQkJY2xvc2VkID0gMTsKKworCQkJaWYgKHZoYW5ndXAoKSkKKwkJCQlsb2dfZXJyKF8oIi9kZXYvJXM6IHZoYW5ndXAoKSBmYWlsZWQ6ICVtIiksIHR0eSk7CisJCX0gZWxzZQorCQkJY2xvc2UoZmQpOworCisJCWRlYnVnKCJvcGVuKDIpXG4iKTsKKwkJaWYgKG9wZW4oYnVmLCBPX1JEV1J8T19OT0NUVFl8T19OT05CTE9DSywgMCkgIT0gMCkKKwkJCWxvZ19lcnIoXygiL2Rldi8lczogY2Fubm90IG9wZW4gYXMgc3RhbmRhcmQgaW5wdXQ6ICVtIiksIHR0eSk7CisKKwkJaWYgKCgodGlkID0gdGNnZXRzaWQoU1RESU5fRklMRU5PKSkgPCAwKSB8fCAocGlkICE9IHRpZCkpIHsKKwkJCWlmIChpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NTQ1RUWSwgMSkgPT0gLTEpCisJCQkJbG9nX3dhcm4oXygiL2Rldi8lczogY2Fubm90IGdldCBjb250cm9sbGluZyB0dHk6ICVtIiksIHR0eSk7CisJCX0KKworCX0gZWxzZSB7CisKKwkJLyoKKwkJICogU3RhbmRhcmQgaW5wdXQgc2hvdWxkIGFscmVhZHkgYmUgY29ubmVjdGVkIHRvIGFuIG9wZW4gcG9ydC4gTWFrZQorCQkgKiBzdXJlIGl0IGlzIG9wZW4gZm9yIHJlYWQvd3JpdGUuCisJCSAqLworCisJCWlmICgoZmNudGwoU1RESU5fRklMRU5PLCBGX0dFVEZMLCAwKSAmIE9fUkRXUikgIT0gT19SRFdSKQorCQkJbG9nX2VycihfKCIlczogbm90IG9wZW4gZm9yIHJlYWQvd3JpdGUiKSwgdHR5KTsKKworCX0KKworCWlmICh0Y3NldHBncnAoU1RESU5fRklMRU5PLCBwaWQpKQorCQlsb2dfd2FybihfKCIvZGV2LyVzOiBjYW5ub3Qgc2V0IHByb2Nlc3MgZ3JvdXA6ICVtIiksIHR0eSk7CisKKwkvKiBHZXQgcmlkIG9mIHRoZSBwcmVzZW50IG91dHB1dHMuICovCisJaWYgKCFjbG9zZWQpIHsKKwkJY2xvc2UoU1RET1VUX0ZJTEVOTyk7CisJCWNsb3NlKFNUREVSUl9GSUxFTk8pOworCQllcnJubyA9IDA7CisJfQorCisJLyogU2V0IHVwIHN0YW5kYXJkIG91dHB1dCBhbmQgc3RhbmRhcmQgZXJyb3IgZmlsZSBkZXNjcmlwdG9ycy4gKi8KKwlkZWJ1ZygiZHVwaW5nXG4iKTsKKworCS8qIHNldCB1cCBzdGRvdXQgYW5kIHN0ZGVyciAqLworCWlmIChkdXAoU1RESU5fRklMRU5PKSAhPSAxIHx8IGR1cChTVERJTl9GSUxFTk8pICE9IDIpCisJCWxvZ19lcnIoXygiJXM6IGR1cCBwcm9ibGVtOiAlbSIpLCB0dHkpOworCisJLyogbWFrZSBzdGRpbyB1bmJ1ZmZlcmVkIGZvciBzbG93IG1vZGVtIGxpbmVzICovCisJc2V0dmJ1ZihzdGRvdXQsIE5VTEwsIF9JT05CRiwgMCk7CisKKwkvKgorCSAqIFRoZSBmb2xsb3dpbmcgaW9jdGwgd2lsbCBmYWlsIGlmIHN0ZGluIGlzIG5vdCBhIHR0eSwgYnV0IGFsc28gd2hlbgorCSAqIHRoZXJlIGlzIG5vaXNlIG9uIHRoZSBtb2RlbSBjb250cm9sIGxpbmVzLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZQorCSAqIGNvbW1vbiBjb3Vyc2Ugb2YgYWN0aW9uIGlzICgxKSBmaXggeW91ciBjYWJsZXMgKDIpIGdpdmUgdGhlIG1vZGVtCisJICogbW9yZSB0aW1lIHRvIHByb3Blcmx5IHJlc2V0IGFmdGVyIGhhbmdpbmcgdXAuCisJICoKKwkgKiBTdW5PUyB1c2VycyBjYW4gYWNoaWV2ZSAoMikgYnkgcGF0Y2hpbmcgdGhlIFN1bk9TIGtlcm5lbCB2YXJpYWJsZQorCSAqICJ6c2FkdHJsb3ciIHRvIGEgbGFyZ2VyIHZhbHVlOyA1IHNlY29uZHMgc2VlbXMgdG8gYmUgYSBnb29kIHZhbHVlLgorCSAqIGh0dHA6Ly93d3cuc3VubWFuYWdlcnMub3JnL2FyY2hpdmVzLzE5OTMvMDU3NC5odG1sCisJICovCisJbWVtc2V0KHRwLCAwLCBzaXplb2Yoc3RydWN0IHRlcm1pb3MpKTsKKwlpZiAodGNnZXRhdHRyKFNURElOX0ZJTEVOTywgdHApIDwgMCkKKwkJbG9nX2VycihfKCIlczogZmFpbGVkIHRvIGdldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzOiAlbSIpLCB0dHkpOworCisjaWYgZGVmaW5lZCAoX19zMzkwX18pIHx8IGRlZmluZWQgKF9fczM5MHhfXykKKwlpZiAoIW9wLT50ZXJtKSB7CisJICAgICAgICAvKgorCQkgKiBTcGVjaWFsIHRlcm1pbmFsIG9uIGZpcnN0IHNlcmlhbCBsaW5lIG9uIGEgUy8zOTAoeCkgd2hpY2gKKwkJICogaXMgZHVlIGxlZ2FjeSByZWFzb25zIGEgYmxvY2sgdGVybWluYWwgb2YgdHlwZSAzMjcwIG9yCisJCSAqIGhpZ2hlci4gIFdoZXJlYXMgdGhlIHNlY29uZCBzZXJpYWwgbGluZSBvbiBhIFMvMzkwKHgpIGlzCisJCSAqIGEgcmVhbCBjaGFyYWN0ZXIgdGVybWluYWwgd2hpY2ggaXMgY29tcGF0aWJsZSB3aXRoIFZUMjIwLgorCQkgKi8KKwkJaWYgKHN0cmNtcChvcC0+dHR5LCAidHR5UzAiKSA9PSAwKQkJLyogbGludXgvZHJpdmVycy9zMzkwL2NoYXIvY29uMzIxNS5jICovCisJCQlvcC0+dGVybSA9IERFRkFVTFRfVFRZUzA7CisJCWVsc2UgaWYgKHN0cm5jbXAob3AtPnR0eSwgIjMyNzAvdHR5IiwgOCkgPT0gMCkJLyogbGludXgvZHJpdmVycy9zMzkwL2NoYXIvY29uMzI3MC5jICovCisJCQlvcC0+dGVybSA9IERFRkFVTFRfVFRZMzI7CisJCWVsc2UgaWYgKHN0cmNtcChvcC0+dHR5LCAidHR5UzEiKSA9PSAwKQkJLyogbGludXgvZHJpdmVycy9zMzkwL2NoYXIvc2NscF92dDIyMC5jICovCisJCQlvcC0+dGVybSA9IERFRkFVTFRfVFRZUzE7CisJfQorI2VuZGlmCisKKyNpZiBkZWZpbmVkKF9fRnJlZUJTRF9rZXJuZWxfXykKKwlsb2dpbl90dHkgKDApOworI2VuZGlmCisKKwkvKgorCSAqIERldGVjdCBpZiB0aGlzIGlzIGEgdmlydHVhbCBjb25zb2xlIG9yIHNlcmlhbC9tb2RlbSBsaW5lLgorCSAqIEluIGNhc2Ugb2YgYSB2aXJ0dWFsIGNvbnNvbGUgdGhlIGlvY3RsIEtER0tCTU9ERSBzdWNjZWVkcworCSAqIHdoZXJlYXMgb24gb3RoZXIgbGluZXMgaXQgd2lsbCBmYWlscy4KKwkgKi8KKyNpZmRlZiBLREdLQk1PREUKKwlpZiAoaW9jdGwoU1RESU5fRklMRU5PLCBLREdLQk1PREUsICZvcC0+a2Jtb2RlKSA9PSAwKQorI2Vsc2UKKwlpZiAoaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DTUdFVCwgJnNlcmlhbCkgPCAwICYmIChlcnJubyA9PSBFSU5WQUwpKQorI2VuZGlmCisJeworCQlvcC0+ZmxhZ3MgfD0gRl9WQ09OU09MRTsKKwkJaWYgKCFvcC0+dGVybSkKKwkJCW9wLT50ZXJtID0gREVGQVVMVF9WQ1RFUk07CisJfSBlbHNlIHsKKyNpZmRlZiBLX1JBVworCQlvcC0+a2Jtb2RlID0gS19SQVc7CisjZW5kaWYKKwkJaWYgKCFvcC0+dGVybSkKKwkJCW9wLT50ZXJtID0gREVGQVVMVF9TVEVSTTsKKwl9CisKKwlpZiAoc2V0ZW52KCJURVJNIiwgb3AtPnRlcm0sIDEpICE9IDApCisJCWxvZ19lcnIoXygiZmFpbGVkIHRvIHNldCB0aGUgJXMgZW52aXJvbm1lbnQgdmFyaWFibGUiKSwgIlRFUk0iKTsKK30KKworLyogSW5pdGlhbGl6ZSB0ZXJtaW9zIHNldHRpbmdzLiAqLworc3RhdGljIHZvaWQgdGVybWlvX2NsZWFyKGludCBmZCkKK3sKKwkvKgorCSAqIERvIG5vdCB3cml0ZSBhIGZ1bGwgcmVzZXQgKEVTQyBjKSBiZWNhdXNlIHRoaXMgZGVzdHJveXMKKwkgKiB0aGUgdW5pY29kZSBtb2RlIGFnYWluIGlmIHRoZSB0ZXJtaW5hbCB3YXMgaW4gdW5pY29kZQorCSAqIG1vZGUuICBBbHNvIGl0IGNsZWFycyB0aGUgQ09OU09MRV9NQUdJQyBmZWF0dXJlcyB3aGljaAorCSAqIGFyZSByZXF1aXJlZCBmb3Igc29tZSBsYW5ndWFnZXMvY29uc29sZS1mb250cy4KKwkgKiBKdXN0IHB1dCB0aGUgY3Vyc29yIHRvIHRoZSBob21lIHBvc2l0aW9uIChFU0MgWyBIKSwKKwkgKiBlcmFzZSBldmVyeXRoaW5nIGJlbG93IHRoZSBjdXJzb3IgKEVTQyBbIEopLCBhbmQgc2V0IHRoZQorCSAqIHNjcm9sbGluZyByZWdpb24gdG8gdGhlIGZ1bGwgd2luZG93IChFU0MgWyByKQorCSAqLworCXdyaXRlX2FsbChmZCwgIlwwMzNbclwwMzNbSFwwMzNbSiIsIDkpOworfQorCisvKiBJbml0aWFsaXplIHRlcm1pb3Mgc2V0dGluZ3MuICovCitzdGF0aWMgdm9pZCB0ZXJtaW9faW5pdChzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCkKK3sKKwlzcGVlZF90IGlzcGVlZCwgb3NwZWVkOworCXN0cnVjdCB3aW5zaXplIHdzOworI2lmZGVmIFVTRV9QTFlNT1VUSF9TVVBQT1JUCisJc3RydWN0IHRlcm1pb3MgbG9jazsKKwlpbnQgaSA9ICAocGx5bW91dGhfY29tbWFuZChNQUdJQ19QSU5HKSA9PSAwKSA/IFBMWU1PVVRIX1RFUk1JT1NfRkxBR1NfREVMQVkgOiAwOworCWlmIChpKQorCQlwbHltb3V0aF9jb21tYW5kKE1BR0lDX1FVSVQpOworCXdoaWxlIChpLS0gPiAwKSB7CisJCS8qCisJCSAqIEV2ZW4gd2l0aCBUVFlSZXNldD1ubyBpdCBzZWVtcyB3aXRoIHN5c3RlbWQgb3IgcGx5bW91dGgKKwkJICogdGhlIHRlcm1pb3MgZmxhZ3MgYmVjb21lIGNoYW5nZWQgZnJvbSB1bmRlciB0aGUgZmlyc3QKKwkJICogYWdldHR5IG9uIGEgc2VyaWFsIHN5c3RlbSBjb25zb2xlIGFzIHRoZSBmbGFncyBhcmUgbG9ja2VkLgorCQkgKi8KKwkJbWVtc2V0KCZsb2NrLCAwLCBzaXplb2Yoc3RydWN0IHRlcm1pb3MpKTsKKwkJaWYgKGlvY3RsKFNURElOX0ZJTEVOTywgVElPQ0dMQ0tUUk1JT1MsICZsb2NrKSA8IDApCisJCQlicmVhazsKKwkJaWYgKCFsb2NrLmNfaWZsYWcgJiYgIWxvY2suY19vZmxhZyAmJiAhbG9jay5jX2NmbGFnICYmICFsb2NrLmNfbGZsYWcpCisJCQlicmVhazsKKwkJZGVidWcoInRlcm1pb3MgbG9ja2VkXG4iKTsKKwkJc2xlZXAoMSk7CisJfQorCW1lbXNldCgmbG9jaywgMCwgc2l6ZW9mKHN0cnVjdCB0ZXJtaW9zKSk7CisJaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DU0xDS1RSTUlPUywgJmxvY2spOworI2VuZGlmCisKKwlpZiAob3AtPmZsYWdzICYgRl9WQ09OU09MRSkgeworI2lmIGRlZmluZWQoSVVURjgpICYmIGRlZmluZWQoS0RHS0JNT0RFKQorCQlzd2l0Y2gob3AtPmtibW9kZSkgeworCQljYXNlIEtfVU5JQ09ERToKKwkJCXNldGxvY2FsZShMQ19DVFlQRSwgIkMuVVRGLTgiKTsKKwkJCW9wLT5mbGFncyB8PSBGX1VURjg7CisJCQlicmVhazsKKwkJY2FzZSBLX1JBVzoKKwkJY2FzZSBLX01FRElVTVJBVzoKKwkJY2FzZSBLX1hMQVRFOgorCQlkZWZhdWx0OgorCQkJc2V0bG9jYWxlKExDX0NUWVBFLCAiUE9TSVgiKTsKKwkJCW9wLT5mbGFncyAmPSB+Rl9VVEY4OworCQkJYnJlYWs7CisJCX0KKyNlbHNlCisJCXNldGxvY2FsZShMQ19DVFlQRSwgIlBPU0lYIik7CisJCW9wLT5mbGFncyAmPSB+Rl9VVEY4OworI2VuZGlmCisJCXJlc2V0X3ZjKG9wLCB0cCk7CisKKwkJaWYgKCh0cC0+Y19jZmxhZyAmIChDUzh8UEFST0REfFBBUkVOQikpID09IENTOCkKKwkJCW9wLT5mbGFncyB8PSBGX0VJR0hUQklUUzsKKworCQlpZiAoKG9wLT5mbGFncyAmIEZfTk9DTEVBUikgPT0gMCkKKwkJCXRlcm1pb19jbGVhcihTVERPVVRfRklMRU5PKTsKKwkJcmV0dXJuOworCX0KKworCS8qCisJICogU2VyaWFsIGxpbmUKKwkgKi8KKworCWlmIChvcC0+ZmxhZ3MgJiBGX0tFRVBTUEVFRCB8fCAhb3AtPm51bXNwZWVkKSB7CisJCS8qIFNhdmUgdGhlIG9yaWdpbmFsIHNldHRpbmcuICovCisJCWlzcGVlZCA9IGNmZ2V0aXNwZWVkKHRwKTsKKwkJb3NwZWVkID0gY2ZnZXRvc3BlZWQodHApOworCisJCWlmICghaXNwZWVkKSBpc3BlZWQgPSBUVFlERUZfU1BFRUQ7CisJCWlmICghb3NwZWVkKSBvc3BlZWQgPSBUVFlERUZfU1BFRUQ7CisKKwl9IGVsc2UgeworCQlvc3BlZWQgPSBpc3BlZWQgPSBvcC0+c3BlZWRzW0ZJUlNUX1NQRUVEXTsKKwl9CisKKwkvKgorCSAqIEluaXRpYWwgdGVybWlvcyBzZXR0aW5nczogOC1iaXQgY2hhcmFjdGVycywgcmF3LW1vZGUsIGJsb2NraW5nIGkvby4KKwkgKiBTcGVjaWFsIGNoYXJhY3RlcnMgYXJlIHNldCBhZnRlciB3ZSBoYXZlIHJlYWQgdGhlIGxvZ2luIG5hbWU7IGFsbAorCSAqIHJlYWRzIHdpbGwgYmUgZG9uZSBpbiByYXcgbW9kZSBhbnl3YXkuIEVycm9ycyB3aWxsIGJlIGRlYWx0IHdpdGgKKwkgKiBsYXRlciBvbi4KKwkgKi8KKworCS8qIFRoZSBkZWZhdWwgaXMgc2V0IGNfaWZsYWcgaW4gdGVybWlvX2ZpbmFsKCkgYWNjb3JkaW5nIHRvIGNoYXJkYXRhLgorCSAqIFVuZm9ydHVuYXRlbHksIHRoZSBjaGFyZGF0YSBhcmUgbm90IHNldCBhY2NvcmRpbmcgdG8gdGhlIHNlcmlhbCBsaW5lCisJICogaWYgLS1hdXRvbG9nIGlzIGVuYWJsZWQuIEluIHRoaXMgY2FzZSB3ZSBkbyBub3QgcmVhZCBmcm9tIHRoZSBsaW5lCisJICogYXQgYWxsLiBUaGUgYmVzdCB3aGF0IHdlIGNhbiBkbyBpbiB0aGlzIGNhc2UgaXMgdG8ga2VlcCBjX2lmbGFnCisJICogdW5tb2RpZmllZCBmb3IgLS1hdXRvbG9nLgorCSAqLworCWlmICghb3AtPmF1dG9sb2cpIHsKKyNpZmRlZiBJVVRGOAorCQl0cC0+Y19pZmxhZyA9IHRwLT5jX2lmbGFnICYgSVVURjg7CisJCWlmICh0cC0+Y19pZmxhZyAmIElVVEY4KQorCQkJb3AtPmZsYWdzIHw9IEZfVVRGODsKKyNlbHNlCisJCXRwLT5jX2lmbGFnID0gMDsKKyNlbmRpZgorCX0KKworCXRwLT5jX2xmbGFnID0gMDsKKwl0cC0+Y19vZmxhZyAmPSBPUE9TVCB8IE9OTENSOworCisJaWYgKChvcC0+ZmxhZ3MgJiBGX0tFRVBDRkxBR1MpID09IDApCisJCXRwLT5jX2NmbGFnID0gQ1M4IHwgSFVQQ0wgfCBDUkVBRCB8ICh0cC0+Y19jZmxhZyAmIENMT0NBTCk7CisKKwkvKgorCSAqIE5vdGUgdGhhdCB0aGUgc3BlZWQgaXMgc3RvcmVkIGluIHRoZSBjX2NmbGFnIHRlcm1pb3MgZmllbGQsIHNvIHdlIGhhdmUKKwkgKiBzZXQgdGhlIHNwZWVkIGFsd2F5cyB3aGVuIHRoZSBjZmxhZyBpcyByZXNldC4KKwkgKi8KKwljZnNldGlzcGVlZCh0cCwgaXNwZWVkKTsKKwljZnNldG9zcGVlZCh0cCwgb3NwZWVkKTsKKworCS8qIFRoZSBkZWZhdWx0IGlzIHRvIGZvbGxvdyBzZXR0aW5nIGZyb20ga2VybmVsLCBidXQgaXQncyBwb3NzaWJsZQorCSAqIHRvIGV4cGxpY2l0bHkgcmVtb3ZlL2FkZCBDTE9DQUwgZmxhZyBieSAtTFs9PG1vZGU+XSovCisJc3dpdGNoIChvcC0+Y2xvY2FsKSB7CisJY2FzZSBDTE9DQUxfTU9ERV9BTFdBWVM6CisJCXRwLT5jX2NmbGFnIHw9IENMT0NBTDsJCS8qIC1MIG9yIC1MPWFsd2F5cyAqLworCQlicmVhazsKKwljYXNlIENMT0NBTF9NT0RFX05FVkVSOgorCQl0cC0+Y19jZmxhZyAmPSB+Q0xPQ0FMOwkJLyogLUw9bmV2ZXIgKi8KKwkJYnJlYWs7CisJY2FzZSBDTE9DQUxfTU9ERV9BVVRPOgkJCS8qIC1MPWF1dG8gKi8KKwkJYnJlYWs7CisJfQorCisjaWZkZWYgSEFWRV9TVFJVQ1RfVEVSTUlPU19DX0xJTkUKKwl0cC0+Y19saW5lID0gMDsKKyNlbmRpZgorCXRwLT5jX2NjW1ZNSU5dID0gMTsKKwl0cC0+Y19jY1tWVElNRV0gPSAwOworCisJLyogQ2hlY2sgZm9yIHRlcm1pbmFsIHNpemUgYW5kIGlmIG5vdCBmb3VuZCBzZXQgZGVmYXVsdCAqLworCWlmIChpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NHV0lOU1osICZ3cykgPT0gMCkgeworCQlpZiAod3Mud3Nfcm93ID09IDApCisJCQl3cy53c19yb3cgPSAyNDsKKwkJaWYgKHdzLndzX2NvbCA9PSAwKQorCQkJd3Mud3NfY29sID0gODA7CisJCWlmIChpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NTV0lOU1osICZ3cykpCisJCQlkZWJ1ZygiVElPQ1NXSU5TWiBpb2N0bCBmYWlsZWRcbiIpOworCX0KKworCS8qIE9wdGlvbmFsbHkgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbC4gKi8KKyNpZmRlZglDUlRTQ1RTCisJaWYgKG9wLT5mbGFncyAmIEZfUlRTQ1RTKQorCQl0cC0+Y19jZmxhZyB8PSBDUlRTQ1RTOworI2VuZGlmCisJIC8qIEZsdXNoIGlucHV0IGFuZCBvdXRwdXQgcXVldWVzLCBpbXBvcnRhbnQgZm9yIG1vZGVtcyEgKi8KKwl0Y2ZsdXNoKFNURElOX0ZJTEVOTywgVENJT0ZMVVNIKTsKKworCWlmICh0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBTk9XLCB0cCkpCisJCWxvZ193YXJuKF8oInNldHRpbmcgdGVybWluYWwgYXR0cmlidXRlcyBmYWlsZWQ6ICVtIikpOworCisJLyogR28gdG8gYmxvY2tpbmcgaW5wdXQgZXZlbiBpbiBsb2NhbCBtb2RlLiAqLworCWZjbnRsKFNURElOX0ZJTEVOTywgRl9TRVRGTCwKKwkgICAgICBmY250bChTVERJTl9GSUxFTk8sIEZfR0VURkwsIDApICYgfk9fTk9OQkxPQ0spOworCisJZGVidWcoInRlcm1faW8gMlxuIik7Cit9CisKKy8qIFJlc2V0IHZpcnR1YWwgY29uc29sZSBvbiBzdGRpbiB0byBpdHMgZGVmYXVsdHMgKi8KK3N0YXRpYyB2b2lkIHJlc2V0X3ZjKGNvbnN0IHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwKQoreworCWludCBmbCA9IDA7CisKKwlmbCB8PSAob3AtPmZsYWdzICYgRl9LRUVQQ0ZMQUdTKSA9PSAwID8gMCA6IFVMX1RUWV9LRUVQQ0ZMQUdTOworCWZsIHw9IChvcC0+ZmxhZ3MgJiBGX1VURjgpICAgICAgID09IDAgPyAwIDogVUxfVFRZX1VURjg7CisKKwlyZXNldF92aXJ0dWFsX2NvbnNvbGUodHAsIGZsKTsKKworCWlmICh0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBRFJBSU4sIHRwKSkKKwkJbG9nX3dhcm4oXygic2V0dGluZyB0ZXJtaW5hbCBhdHRyaWJ1dGVzIGZhaWxlZDogJW0iKSk7CisKKwkvKiBHbyB0byBibG9ja2luZyBpbnB1dCBldmVuIGluIGxvY2FsIG1vZGUuICovCisJZmNudGwoU1RESU5fRklMRU5PLCBGX1NFVEZMLAorCSAgICAgIGZjbnRsKFNURElOX0ZJTEVOTywgRl9HRVRGTCwgMCkgJiB+T19OT05CTE9DSyk7Cit9CisKKy8qIEV4dHJhY3QgYmF1ZCByYXRlIGZyb20gbW9kZW0gc3RhdHVzIG1lc3NhZ2UuICovCitzdGF0aWMgdm9pZCBhdXRvX2JhdWQoc3RydWN0IHRlcm1pb3MgKnRwKQoreworCXNwZWVkX3Qgc3BlZWQ7CisJaW50IHZtaW47CisJdW5zaWduZWQgaWZsYWc7CisJY2hhciBidWZbQlVGU0laXTsKKwljaGFyICpicDsKKwlpbnQgbnJlYWQ7CisKKwkvKgorCSAqIFRoaXMgd29ya3Mgb25seSBpZiB0aGUgbW9kZW0gcHJvZHVjZXMgaXRzIHN0YXR1cyBjb2RlIEFGVEVSIHJhaXNpbmcKKwkgKiB0aGUgRENEIGxpbmUsIGFuZCBpZiB0aGUgY29tcHV0ZXIgaXMgZmFzdCBlbm91Z2ggdG8gc2V0IHRoZSBwcm9wZXIKKwkgKiBiYXVkIHJhdGUgYmVmb3JlIHRoZSBtZXNzYWdlIGhhcyBnb25lIGJ5LiBXZSBleHBlY3QgYSBtZXNzYWdlIG9mIHRoZQorCSAqIGZvbGxvd2luZyBmb3JtYXQ6CisJICoKKwkgKiA8anVuaz48bnVtYmVyPjxqdW5rPgorCSAqCisJICogVGhlIG51bWJlciBpcyBpbnRlcnByZXRlZCBhcyB0aGUgYmF1ZCByYXRlIG9mIHRoZSBpbmNvbWluZyBjYWxsLiBJZiB0aGUKKwkgKiBtb2RlbSBkb2VzIG5vdCB0ZWxsIHVzIHRoZSBiYXVkIHJhdGUgd2l0aGluIG9uZSBzZWNvbmQsIHdlIHdpbGwga2VlcAorCSAqIHVzaW5nIHRoZSBjdXJyZW50IGJhdWQgcmF0ZS4gSXQgaXMgYWR2aXNhYmxlIHRvIGVuYWJsZSBCUkVBSworCSAqIHByb2Nlc3NpbmcgKGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIGJhdWQgcmF0ZXMpIGlmIHRoZSBwcm9jZXNzaW5nIG9mCisJICogbW9kZW0gc3RhdHVzIG1lc3NhZ2VzIGlzIGVuYWJsZWQuCisJICovCisKKwkvKgorCSAqIFVzZSA3LWJpdCBjaGFyYWN0ZXJzLCBkb24ndCBibG9jayBpZiBpbnB1dCBxdWV1ZSBpcyBlbXB0eS4gRXJyb3JzIHdpbGwKKwkgKiBiZSBkZWFsdCB3aXRoIGxhdGVyIG9uLgorCSAqLworCWlmbGFnID0gdHAtPmNfaWZsYWc7CisJLyogRW5hYmxlIDh0aC1iaXQgc3RyaXBwaW5nLiAqLworCXRwLT5jX2lmbGFnIHw9IElTVFJJUDsKKwl2bWluID0gdHAtPmNfY2NbVk1JTl07CisJLyogRG8gbm90IGJsb2NrIHdoZW4gcXVldWUgaXMgZW1wdHkuICovCisJdHAtPmNfY2NbVk1JTl0gPSAwOworCXRjc2V0YXR0cihTVERJTl9GSUxFTk8sIFRDU0FOT1csIHRwKTsKKworCS8qCisJICogV2FpdCBmb3IgYSB3aGlsZSwgdGhlbiByZWFkIGV2ZXJ5dGhpbmcgdGhlIG1vZGVtIGhhcyBzYWlkIHNvIGZhciBhbmQKKwkgKiB0cnkgdG8gZXh0cmFjdCB0aGUgc3BlZWQgb2YgdGhlIGRpYWwtaW4gY2FsbC4KKwkgKi8KKwlzbGVlcCgxKTsKKwlpZiAoKG5yZWFkID0gcmVhZChTVERJTl9GSUxFTk8sIGJ1Ziwgc2l6ZW9mKGJ1ZikgLSAxKSkgPiAwKSB7CisJCWJ1ZltucmVhZF0gPSAnXDAnOworCQlmb3IgKGJwID0gYnVmOyBicCA8IGJ1ZiArIG5yZWFkOyBicCsrKQorCQkJaWYgKGlzYXNjaWkoKmJwKSAmJiBpc2RpZ2l0KCpicCkpIHsKKwkJCQlpZiAoKHNwZWVkID0gYmNvZGUoYnApKSkgeworCQkJCQljZnNldGlzcGVlZCh0cCwgc3BlZWQpOworCQkJCQljZnNldG9zcGVlZCh0cCwgc3BlZWQpOworCQkJCX0KKwkJCQlicmVhazsKKwkJCX0KKwl9CisKKwkvKiBSZXN0b3JlIHRlcm1pbmFsIHNldHRpbmdzLiBFcnJvcnMgd2lsbCBiZSBkZWFsdCB3aXRoIGxhdGVyIG9uLiAqLworCXRwLT5jX2lmbGFnID0gaWZsYWc7CisJdHAtPmNfY2NbVk1JTl0gPSB2bWluOworCXRjc2V0YXR0cihTVERJTl9GSUxFTk8sIFRDU0FOT1csIHRwKTsKK30KKworc3RhdGljIGNoYXIgKnhnZXRob3N0bmFtZSh2b2lkKQoreworCWNoYXIgKm5hbWU7CisJc2l6ZV90IHN6ID0gZ2V0X2hvc3RuYW1lX21heCgpICsgMTsKKworCW5hbWUgPSBtYWxsb2Moc2l6ZW9mKGNoYXIpICogc3opOworCWlmICghbmFtZSkKKwkJbG9nX2VycihfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIpKTsKKworCWlmIChnZXRob3N0bmFtZShuYW1lLCBzeikgIT0gMCkgeworCQlmcmVlKG5hbWUpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJbmFtZVtzeiAtIDFdID0gJ1wwJzsKKwlyZXR1cm4gbmFtZTsKK30KKworc3RhdGljIGNoYXIgKnhnZXRkb21haW5uYW1lKHZvaWQpCit7CisjaWZkZWYgSEFWRV9HRVRET01BSU5OQU1FCisJY2hhciAqbmFtZTsKKwljb25zdCBzaXplX3Qgc3ogPSBnZXRfaG9zdG5hbWVfbWF4KCkgKyAxOworCisJbmFtZSA9IG1hbGxvYyhzaXplb2YoY2hhcikgKiBzeik7CisJaWYgKCFuYW1lKQorCQlsb2dfZXJyKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIikpOworCisJaWYgKGdldGRvbWFpbm5hbWUobmFtZSwgc3opICE9IDApIHsKKwkJZnJlZShuYW1lKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCW5hbWVbc3ogLSAxXSA9ICdcMCc7CisJcmV0dXJuIG5hbWU7CisjZWxzZQorCXJldHVybiBOVUxMOworI2VuZGlmCit9CisKKworc3RhdGljIGNoYXIgKnJlYWRfb3NfcmVsZWFzZShzdHJ1Y3Qgb3B0aW9ucyAqb3AsIGNvbnN0IGNoYXIgKnZhcm5hbWUpCit7CisJaW50IGZkID0gLTE7CisJc3RydWN0IHN0YXQgc3Q7CisJc2l6ZV90IHZhcnN6ID0gc3RybGVuKHZhcm5hbWUpOworCWNoYXIgKnAsICpidWYgPSBOVUxMLCAqcmV0ID0gTlVMTDsKKworCS8qIHJlYWQgdGhlIGZpbGUgb25seSBvbmNlICovCisJaWYgKCFvcC0+b3NyZWxlYXNlKSB7CisJCWZkID0gb3BlbihfUEFUSF9PU19SRUxFQVNFX0VUQywgT19SRE9OTFkpOworCQlpZiAoZmQgPT0gLTEpIHsKKwkJCWZkID0gb3BlbihfUEFUSF9PU19SRUxFQVNFX1VTUiwgT19SRE9OTFkpOworCQkJaWYgKGZkID09IC0xKSB7CisJCQkJbG9nX3dhcm4oXygiY2Fubm90IG9wZW4gb3MtcmVsZWFzZSBmaWxlIikpOworCQkJCXJldHVybiBOVUxMOworCQkJfQorCQl9CisKKwkJaWYgKGZzdGF0KGZkLCAmc3QpIDwgMCB8fCBzdC5zdF9zaXplID4gNCAqIDEwMjQgKiAxMDI0KQorCQkJZ290byBkb25lOworCisJCW9wLT5vc3JlbGVhc2UgPSBtYWxsb2Moc3Quc3Rfc2l6ZSArIDEpOworCQlpZiAoIW9wLT5vc3JlbGVhc2UpCisJCQlsb2dfZXJyKF8oImZhaWxlZCB0byBhbGxvY2F0ZSBtZW1vcnk6ICVtIikpOworCQlpZiAocmVhZF9hbGwoZmQsIG9wLT5vc3JlbGVhc2UsIHN0LnN0X3NpemUpICE9IChzc2l6ZV90KSBzdC5zdF9zaXplKSB7CisJCQlmcmVlKG9wLT5vc3JlbGVhc2UpOworCQkJb3AtPm9zcmVsZWFzZSA9IE5VTEw7CisJCQlnb3RvIGRvbmU7CisJCX0KKwkJb3AtPm9zcmVsZWFzZVtzdC5zdF9zaXplXSA9IDA7CisJfQorCWJ1ZiA9IHN0cmR1cChvcC0+b3NyZWxlYXNlKTsKKwlpZiAoIWJ1ZikKKwkJbG9nX2VycihfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIpKTsKKwlwID0gYnVmOworCisJZm9yICg7OykgeworCQljaGFyICplb2wsICplb247CisKKwkJcCArPSBzdHJzcG4ocCwgIlxuXHIiKTsKKwkJcCArPSBzdHJzcG4ocCwgIiBcdFxuXHIiKTsKKwkJaWYgKCEqcCkKKwkJCWJyZWFrOworCQlpZiAoc3Ryc3BuKHAsICIjO1xuIikgIT0gMCkgeworCQkJcCArPSBzdHJjc3BuKHAsICJcblxyIik7CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoc3RybmNtcChwLCB2YXJuYW1lLCB2YXJzeikgIT0gMCkgeworCQkJcCArPSBzdHJjc3BuKHAsICJcblxyIik7CisJCQljb250aW51ZTsKKwkJfQorCQlwICs9IHZhcnN6OworCQlwICs9IHN0cnNwbihwLCAiIFx0XG5cciIpOworCisJCWlmICgqcCAhPSAnPScpCisJCQljb250aW51ZTsKKworCQlwICs9IHN0cnNwbihwLCAiIFx0XG5ccj1cIiIpOworCQllb2wgPSBwICsgc3RyY3NwbihwLCAiXG5cciIpOworCQkqZW9sID0gJ1wwJzsKKwkJZW9uID0gZW9sLTE7CisJCXdoaWxlIChlb24gPiBwKSB7CisJCQlpZiAoKmVvbiA9PSAnXHQnIHx8ICplb24gPT0gJyAnKSB7CisJCQkJZW9uLS07CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoKmVvbiA9PSAnIicpIHsKKwkJCQkqZW9uID0gJ1wwJzsKKwkJCQlicmVhazsKKwkJCX0KKwkJCWJyZWFrOworCQl9CisJCWZyZWUocmV0KTsKKwkJcmV0ID0gc3RyZHVwKHApOworCQlpZiAoIXJldCkKKwkJCWxvZ19lcnIoXygiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iKSk7CisJCXAgPSBlb2wgKyAxOworCX0KK2RvbmU6CisJZnJlZShidWYpOworCWlmIChmZCA+PSAwKQorCQljbG9zZShmZCk7CisJcmV0dXJuIHJldDsKK30KKworI2lmZGVmIEFHRVRUWV9SRUxPQUQKK3N0YXRpYyB2b2lkIG9wZW5fbmV0bGluayh2b2lkKQoreworCXN0cnVjdCBzb2NrYWRkcl9ubCBhZGRyID0geyAwLCB9OworCWludCBzb2NrOworCisJaWYgKG5ldGxpbmtfZmQgIT0gQUdFVFRZX1JFTE9BRF9GRE5PTkUpCisJCXJldHVybjsKKworCXNvY2sgPSBzb2NrZXQoQUZfTkVUTElOSywgU09DS19SQVcsIE5FVExJTktfUk9VVEUpOworCWlmIChzb2NrID49IDApIHsKKwkJYWRkci5ubF9mYW1pbHkgPSBBRl9ORVRMSU5LOworCQlhZGRyLm5sX3BpZCA9IGdldHBpZCgpOworCQlhZGRyLm5sX2dyb3VwcyA9IFJUTUdSUF9JUFY0X0lGQUREUiB8IFJUTUdSUF9JUFY2X0lGQUREUjsKKwkJaWYgKGJpbmQoc29jaywgKHN0cnVjdCBzb2NrYWRkciAqKSZhZGRyLCBzaXplb2YoYWRkcikpIDwgMCkKKwkJCWNsb3NlKHNvY2spOworCQllbHNlCisJCQluZXRsaW5rX2ZkID0gc29jazsKKwl9Cit9CisKK3N0YXRpYyBpbnQgcHJvY2Vzc19uZXRsaW5rX21zZyhpbnQgKmNoYW5nZWQpCit7CisJY2hhciBidWZbNDA5Nl07CisJc3RydWN0IHNvY2thZGRyX25sIHNubDsKKwlzdHJ1Y3Qgbmxtc2doZHIgKmg7CisJaW50IHJjOworCisJc3RydWN0IGlvdmVjIGlvdiA9IHsKKwkJLmlvdl9iYXNlID0gYnVmLAorCQkuaW92X2xlbiA9IHNpemVvZihidWYpCisJfTsKKwlzdHJ1Y3QgbXNnaGRyIG1zZyA9IHsKKwkJLm1zZ19uYW1lID0gJnNubCwKKwkJLm1zZ19uYW1lbGVuID0gc2l6ZW9mKHNubCksCisJCS5tc2dfaW92ID0gJmlvdiwKKwkJLm1zZ19pb3ZsZW4gPSAxLAorCQkubXNnX2NvbnRyb2wgPSBOVUxMLAorCQkubXNnX2NvbnRyb2xsZW4gPSAwLAorCQkubXNnX2ZsYWdzID0gMAorCX07CisKKwlyYyA9IHJlY3Ztc2cobmV0bGlua19mZCwgJm1zZywgTVNHX0RPTlRXQUlUKTsKKwlpZiAocmMgPCAwKSB7CisJCWlmIChlcnJubyA9PSBFV09VTERCTE9DSyB8fCBlcnJubyA9PSBFQUdBSU4pCisJCQlyZXR1cm4gMDsKKworCQkvKiBGYWlsdXJlLCBqdXN0IHN0b3AgbGlzdGVuaW5nIGZvciBjaGFuZ2VzICovCisJCWNsb3NlKG5ldGxpbmtfZmQpOworCQluZXRsaW5rX2ZkID0gQUdFVFRZX1JFTE9BRF9GRE5PTkU7CisJCXJldHVybiAwOworCX0KKworCWZvciAoaCA9IChzdHJ1Y3Qgbmxtc2doZHIgKilidWY7IE5MTVNHX09LKGgsICh1bnNpZ25lZCBpbnQpcmMpOyBoID0gTkxNU0dfTkVYVChoLCByYykpIHsKKwkJaWYgKGgtPm5sbXNnX3R5cGUgPT0gTkxNU0dfRE9ORSB8fAorCQkgICAgaC0+bmxtc2dfdHlwZSA9PSBOTE1TR19FUlJPUikgeworCQkJY2xvc2UobmV0bGlua19mZCk7CisJCQluZXRsaW5rX2ZkID0gQUdFVFRZX1JFTE9BRF9GRE5PTkU7CisJCQlyZXR1cm4gMDsKKwkJfQorCisJCSpjaGFuZ2VkID0gMTsKKwkJYnJlYWs7CisJfQorCisJcmV0dXJuIDE7Cit9CisKK3N0YXRpYyBpbnQgcHJvY2Vzc19uZXRsaW5rKHZvaWQpCit7CisJaW50IGNoYW5nZWQgPSAwOworCXdoaWxlIChwcm9jZXNzX25ldGxpbmtfbXNnKCZjaGFuZ2VkKSk7CisJcmV0dXJuIGNoYW5nZWQ7Cit9CisKK3N0YXRpYyBpbnQgd2FpdF9mb3JfdGVybV9pbnB1dChpbnQgZmQpCit7CisJY2hhciBidWZmZXJbc2l6ZW9mKHN0cnVjdCBpbm90aWZ5X2V2ZW50KSArIE5BTUVfTUFYICsgMV07CisJZmRfc2V0IHJmZHM7CisKKwlpZiAoaW5vdGlmeV9mZCA9PSBBR0VUVFlfUkVMT0FEX0ZETk9ORSkgeworCQkvKiBtYWtlIHN1cmUgdGhlIHJlbG9hZCB0cmlnZ2VyIGZpbGUgZXhpc3RzICovCisJCWludCByZWxvYWRfZmQgPSBvcGVuKEFHRVRUWV9SRUxPQURfRklMRU5BTUUsCisJCQkJCU9fQ1JFQVR8T19DTE9FWEVDfE9fUkRPTkxZLAorCQkJCQlTX0lSVVNSfFNfSVdVU1IpOworCisJCS8qIGluaXRpYWxpemUgcmVsb2FkIHRyaWdnZXIgaW5vdGlmeSBzdHVmZiAqLworCQlpZiAocmVsb2FkX2ZkID49IDApIHsKKwkJCWlub3RpZnlfZmQgPSBpbm90aWZ5X2luaXQxKElOX05PTkJMT0NLIHwgSU5fQ0xPRVhFQyk7CisJCQlpZiAoaW5vdGlmeV9mZCA+IDApCisJCQkJaW5vdGlmeV9hZGRfd2F0Y2goaW5vdGlmeV9mZCwgQUdFVFRZX1JFTE9BRF9GSUxFTkFNRSwKKwkJCQkJICBJTl9BVFRSSUIgfCBJTl9NT0RJRlkpOworCisJCQljbG9zZShyZWxvYWRfZmQpOworCQl9IGVsc2UKKwkJCWxvZ193YXJuKF8oImZhaWxlZCB0byBjcmVhdGUgcmVsb2FkIGZpbGU6ICVzOiAlbSIpLAorCQkJCQlBR0VUVFlfUkVMT0FEX0ZJTEVOQU1FKTsKKwl9CisKKwl3aGlsZSAoMSkgeworCQlpbnQgbmZkcyA9IGZkOworCisJCUZEX1pFUk8oJnJmZHMpOworCQlGRF9TRVQoZmQsICZyZmRzKTsKKworCQlpZiAoaW5vdGlmeV9mZCA+PSAwKSB7CisJCQlGRF9TRVQoaW5vdGlmeV9mZCwgJnJmZHMpOworCQkJbmZkcyA9IG1heChuZmRzLCBpbm90aWZ5X2ZkKTsKKwkJfQorCQlpZiAobmV0bGlua19mZCA+PSAwKSB7CisJCQlGRF9TRVQobmV0bGlua19mZCwgJnJmZHMpOworCQkJbmZkcyA9IG1heChuZmRzLCBuZXRsaW5rX2ZkKTsKKwkJfQorCisJCS8qIElmIHdhaXRpbmcgZmFpbHMsIGp1c3QgZmFsbCB0aHJvdWdoLCBwcmVzdW1hYmx5IHJlYWRpbmcgaW5wdXQgd2lsbCBmYWlsICovCisJCWlmIChzZWxlY3QobmZkcyArIDEsICZyZmRzLCBOVUxMLCBOVUxMLCBOVUxMKSA8IDApCisJCQlyZXR1cm4gMTsKKworCQlpZiAoRkRfSVNTRVQoZmQsICZyZmRzKSkgeworCQkJcmV0dXJuIDE7CisKKwkJfSBlbHNlIGlmIChuZXRsaW5rX2ZkID49IDAgJiYgRkRfSVNTRVQobmV0bGlua19mZCwgJnJmZHMpKSB7CisJCQlpZiAoIXByb2Nlc3NfbmV0bGluaygpKQorCQkJCWNvbnRpbnVlOworCisJCS8qIEp1c3QgZHJhaW4gdGhlIGlub3RpZnkgYnVmZmVyICovCisJCX0gZWxzZSBpZiAoaW5vdGlmeV9mZCA+PSAwICYmIEZEX0lTU0VUKGlub3RpZnlfZmQsICZyZmRzKSkgeworCQkJd2hpbGUgKHJlYWQoaW5vdGlmeV9mZCwgYnVmZmVyLCBzaXplb2YgKGJ1ZmZlcikpID4gMCk7CisJCX0KKworCQlyZXR1cm4gMDsKKwl9Cit9CisjZW5kaWYgIC8qIEFHRVRUWV9SRUxPQUQgKi8KKworI2lmZGVmIElTU1VFRElSX1NVUFBPUlQKK3N0YXRpYyBpbnQgaXNzdWVkaXJfZmlsdGVyKGNvbnN0IHN0cnVjdCBkaXJlbnQgKmQpCit7CisJc2l6ZV90IG5hbWVzejsKKworI2lmZGVmIF9ESVJFTlRfSEFWRV9EX1RZUEUKKwlpZiAoZC0+ZF90eXBlICE9IERUX1VOS05PV04gJiYgZC0+ZF90eXBlICE9IERUX1JFRyAmJgorCSAgICBkLT5kX3R5cGUgIT0gRFRfTE5LKQorCQlyZXR1cm4gMDsKKyNlbmRpZgorCWlmICgqZC0+ZF9uYW1lID09ICcuJykKKwkJcmV0dXJuIDA7CisKKwluYW1lc3ogPSBzdHJsZW4oZC0+ZF9uYW1lKTsKKwlpZiAoIW5hbWVzeiB8fCBuYW1lc3ogPCBJU1NVRURJUl9FWFRTSVogKyAxIHx8CisJICAgIHN0cmNtcChkLT5kX25hbWUgKyAobmFtZXN6IC0gSVNTVUVESVJfRVhUU0laKSwgSVNTVUVESVJfRVhUKSkKKwkJcmV0dXJuIDA7CisKKwkvKiBBY2NlcHQgdGhpcyAqLworCXJldHVybiAxOworfQorCitzdGF0aWMgRklMRSAqaXNzdWVkaXJfbmV4dF9maWxlKGludCBkZCwgc3RydWN0IGRpcmVudCAqKm5hbWVsaXN0LCBpbnQgbmZpbGVzLCBpbnQgKm4pCit7CisJd2hpbGUgKCpuIDwgbmZpbGVzKSB7CisJCXN0cnVjdCBkaXJlbnQgKmQgPSBuYW1lbGlzdFsqbl07CisJCXN0cnVjdCBzdGF0IHN0OworCQlGSUxFICpmOworCisJCSgqbikrKzsKKworCQlpZiAoZnN0YXRhdChkZCwgZC0+ZF9uYW1lLCAmc3QsIDApIHx8CisJCSAgICAhU19JU1JFRyhzdC5zdF9tb2RlKSkKKwkJCWNvbnRpbnVlOworCisJCWYgPSBmb3Blbl9hdChkZCwgZC0+ZF9uYW1lLCBPX1JET05MWXxPX0NMT0VYRUMsICJyIiBVTF9DTE9FWEVDU1RSKTsKKwkJaWYgKGYpCisJCQlyZXR1cm4gZjsKKwl9CisJcmV0dXJuIE5VTEw7Cit9CisKKyNlbmRpZiAvKiBJU1NVRURJUl9TVVBQT1JUICovCisKKyNpZm5kZWYgSVNTVUVfU1VQUE9SVAorc3RhdGljIHZvaWQgcHJpbnRfaXNzdWVfZmlsZShzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJaWYgKChvcC0+ZmxhZ3MgJiBGX05PTkwpID09IDApIHsKKwkJLyogSXNzdWUgbm90IGluIHVzZSwgc3RhcnQgd2l0aCBhIG5ldyBsaW5lLiAqLworCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgIlxyXG4iLCAyKTsKKwl9Cit9CisjZWxzZSAvKiBJU1NVRV9TVVBQT1JUICovCisKK3N0YXRpYyB2b2lkIHByaW50X2lzc3VlX2ZpbGUoc3RydWN0IG9wdGlvbnMgKm9wLCBzdHJ1Y3QgdGVybWlvcyAqdHApCit7CisJY29uc3QgY2hhciAqZmlsZW5hbWUsICpkaXJuYW1lID0gTlVMTDsKKwlGSUxFICpmID0gTlVMTDsKKyNpZmRlZiBJU1NVRURJUl9TVVBQT1JUCisJaW50IGRkID0gLTEsIG5maWxlcyA9IDAsIGk7CisJc3RydWN0IGRpcmVudCAqKm5hbWVsaXN0ID0gTlVMTDsKKyNlbmRpZgorCWlmICgob3AtPmZsYWdzICYgRl9OT05MKSA9PSAwKSB7CisJCS8qIElzc3VlIG5vdCBpbiB1c2UsIHN0YXJ0IHdpdGggYSBuZXcgbGluZS4gKi8KKwkJd3JpdGVfYWxsKFNURE9VVF9GSUxFTk8sICJcclxuIiwgMik7CisJfQorCisJaWYgKCEob3AtPmZsYWdzICYgRl9JU1NVRSkpCisJCXJldHVybjsKKworCS8qCisJICogVGhlIGN1c3RvbSBpc3N1ZSBmaWxlIG9yIGRpcmVjdG9yeSBzcGVjaWZpZWQgYnk6IGFnZXR0eSAtZiA8cGF0aD4uCisJICogTm90ZSB0aGF0IG5vdGhpbmcgaXMgcHJpbnRlZCBpZiB0aGUgZmlsZS9kaXIgZG9lcyBub3QgZXhpc3QuCisJICovCisJZmlsZW5hbWUgPSBvcC0+aXNzdWU7CisJaWYgKGZpbGVuYW1lKSB7CisJCXN0cnVjdCBzdGF0IHN0OworCisJCWlmIChzdGF0KGZpbGVuYW1lLCAmc3QpIDwgMCkKKwkJCXJldHVybjsKKwkJaWYgKFNfSVNESVIoc3Quc3RfbW9kZSkpIHsKKwkJCWRpcm5hbWUgPSBmaWxlbmFtZTsKKwkJCWZpbGVuYW1lID0gTlVMTDsKKwkJfQorCX0gZWxzZSB7CisJCS8qIFRoZSBkZWZhdWx0IC9ldGMvaXNzdWUgYW5kIG9wdGlvbmFsIC9ldGMvaXNzdWUuZCBkaXJlY3RvcnkKKwkJICogYXMgZXh0ZW5zaW9uIHRvIHRoZSBmaWxlLiBUaGUgL2V0Yy9pc3N1ZS5kIGRpcmVjdG9yeSBpcworCQkgKiBpZ25vcmVkIGlmIHRoZXJlIGlzIG5vIC9ldGMvaXNzdWUgZmlsZS4gVGhlIGZpbGUgbWF5IGJlCisJCSAqIGVtcHR5IG9yIHN5bWxpbmsuCisJCSAqLworCQlpZiAoYWNjZXNzKF9QQVRIX0lTU1VFLCBGX09LfFJfT0spICE9IDApCisJCQlyZXR1cm47CisJCWZpbGVuYW1lICA9IF9QQVRIX0lTU1VFOworCQlkaXJuYW1lID0gX1BBVEhfSVNTVUVESVI7CisJfQorCisjaWZkZWYgSVNTVUVESVJfU1VQUE9SVAorCWlmIChkaXJuYW1lKSB7CisJCWRkID0gb3BlbihkaXJuYW1lLCBPX1JET05MWXxPX0NMT0VYRUN8T19ESVJFQ1RPUlkpOworCQlpZiAoZGQgPj0gMCkKKwkJCW5maWxlcyA9IHNjYW5kaXJhdChkZCwgIi4iLCAmbmFtZWxpc3QsIGlzc3VlZGlyX2ZpbHRlciwgdmVyc2lvbnNvcnQpOworCQlpZiAobmZpbGVzIDw9IDApCisJCQlkaXJuYW1lID0gTlVMTDsKKwl9CisJaSA9IDA7CisjZW5kaWYKKwlpZiAoZmlsZW5hbWUpCisJCWYgPSBmb3BlbihmaWxlbmFtZSwgInIiKTsKKworCWlmIChmIHx8IGRpcm5hbWUpIHsKKwkJaW50IGMsIG9mbGFnID0gdHAtPmNfb2ZsYWc7CSAgICAvKiBTYXZlIGN1cnJlbnQgc2V0dGluZy4gKi8KKworCQlpZiAoKG9wLT5mbGFncyAmIEZfVkNPTlNPTEUpID09IDApIHsKKwkJCS8qIE1hcCBuZXcgbGluZSBpbiBvdXRwdXQgdG8gY2FycmlhZ2UgcmV0dXJuICYgbmV3IGxpbmUuICovCisJCQl0cC0+Y19vZmxhZyB8PSAoT05MQ1IgfCBPUE9TVCk7CisJCQl0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBRFJBSU4sIHRwKTsKKwkJfQorCisJCWRvIHsKKyNpZmRlZiBJU1NVRURJUl9TVVBQT1JUCisJCQlpZiAoIWYgJiYgaSA8IG5maWxlcykKKwkJCQlmID0gaXNzdWVkaXJfbmV4dF9maWxlKGRkLCBuYW1lbGlzdCwgbmZpbGVzLCAmaSk7CisjZW5kaWYKKwkJCWlmICghZikKKwkJCQlicmVhazsKKwkJCXdoaWxlICgoYyA9IGdldGMoZikpICE9IEVPRikgeworCQkJCWlmIChjID09ICdcXCcpCisJCQkJCW91dHB1dF9zcGVjaWFsX2NoYXIoZ2V0YyhmKSwgb3AsIHRwLCBmKTsKKwkJCQllbHNlCisJCQkJCXB1dGNoYXIoYyk7CisJCQl9CisJCQlmY2xvc2UoZik7CisJCQlmID0gTlVMTDsKKwkJfSB3aGlsZSAoZGlybmFtZSk7CisKKwkJZmZsdXNoKHN0ZG91dCk7CisKKwkJaWYgKChvcC0+ZmxhZ3MgJiBGX1ZDT05TT0xFKSA9PSAwKSB7CisJCQkvKiBSZXN0b3JlIHNldHRpbmdzLiAqLworCQkJdHAtPmNfb2ZsYWcgPSBvZmxhZzsKKwkJCS8qIFdhaXQgdGlsbCBvdXRwdXQgaXMgZ29uZS4gKi8KKwkJCXRjc2V0YXR0cihTVERJTl9GSUxFTk8sIFRDU0FEUkFJTiwgdHApOworCQl9CisJfQorCisjaWZkZWYgSVNTVUVESVJfU1VQUE9SVAorCWZvciAoaSA9IDA7IGkgPCBuZmlsZXM7IGkrKykKKwkJZnJlZShuYW1lbGlzdFtpXSk7CisJZnJlZShuYW1lbGlzdCk7CisJaWYgKGRkID49IDApCisJCWNsb3NlKGRkKTsKKyNlbmRpZgorfQorI2VuZGlmIC8qIElTU1VFX1NVUFBPUlQgKi8KKworLyogU2hvdyBsb2dpbiBwcm9tcHQsIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgL2V0Yy9pc3N1ZSBjb250ZW50cy4gKi8KK3N0YXRpYyB2b2lkIGRvX3Byb21wdChzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCkKK3sKKyNpZmRlZiBBR0VUVFlfUkVMT0FECithZ2FpbjoKKyNlbmRpZgorCXByaW50X2lzc3VlX2ZpbGUob3AsIHRwKTsKKworCWlmIChvcC0+ZmxhZ3MgJiBGX0xPR0lOUEFVU0UpIHsKKwkJcHV0cyhfKCJbcHJlc3MgRU5URVIgdG8gbG9naW5dIikpOworI2lmZGVmIEFHRVRUWV9SRUxPQUQKKwkJaWYgKCF3YWl0X2Zvcl90ZXJtX2lucHV0KFNURElOX0ZJTEVOTykpIHsKKwkJCS8qIHJlbG9hZCBpc3N1ZSAqLworCQkJaWYgKG9wLT5mbGFncyAmIEZfVkNPTlNPTEUpCisJCQkJdGVybWlvX2NsZWFyKFNURE9VVF9GSUxFTk8pOworCQkJZ290byBhZ2FpbjsKKwkJfQorI2VuZGlmCisJCWdldGMoc3RkaW4pOworCX0KKyNpZmRlZiBLREdLQkxFRAorCWlmICghKG9wLT5mbGFncyAmIEZfTk9ISU5UUykgJiYgIW9wLT5hdXRvbG9nICYmCisJICAgIChvcC0+ZmxhZ3MgJiBGX1ZDT05TT0xFKSkgeworCQlpbnQga2IgPSAwOworCisJCWlmIChpb2N0bChTVERJTl9GSUxFTk8sIEtER0tCTEVELCAma2IpID09IDApIHsKKwkJCWNoYXIgaGludFsyNTZdID0geyAnXDAnIH07CisJCQlpbnQgbmwgPSAwOworCisJCQlpZiAoYWNjZXNzKF9QQVRIX05VTUxPQ0tfT04sIEZfT0spID09IDApCisJCQkJbmwgPSAxOworCisJCQlpZiAobmwgJiYgKGtiICYgMHgwMikgPT0gMCkKKwkJCQlhcHBlbmQoaGludCwgc2l6ZW9mKGhpbnQpLCBOVUxMLCBfKCJOdW0gTG9jayBvZmYiKSk7CisKKwkJCWVsc2UgaWYgKG5sID09IDAgJiYgKGtiICYgMikgJiYgKGtiICYgMHgyMCkgPT0gMCkKKwkJCQlhcHBlbmQoaGludCwgc2l6ZW9mKGhpbnQpLCBOVUxMLCBfKCJOdW0gTG9jayBvbiIpKTsKKworCQkJaWYgKChrYiAmIDB4MDQpICYmIChrYiAmIDB4NDApID09IDApCisJCQkJYXBwZW5kKGhpbnQsIHNpemVvZihoaW50KSwgIiwgIiwgXygiQ2FwcyBMb2NrIG9uIikpOworCisJCQlpZiAoKGtiICYgMHgwMSkgJiYgKGtiICYgMHgxMCkgPT0gMCkKKwkJCQlhcHBlbmQoaGludCwgc2l6ZW9mKGhpbnQpLCAiLCAiLCAgXygiU2Nyb2xsIExvY2sgb24iKSk7CisKKwkJCWlmICgqaGludCkKKwkJCQlwcmludGYoXygiSGludDogJXNcblxuIiksIGhpbnQpOworCQl9CisJfQorI2VuZGlmIC8qIEtER0tCTEVEICovCisJaWYgKChvcC0+ZmxhZ3MgJiBGX05PSE9TVE5BTUUpID09IDApIHsKKwkJY2hhciAqaG4gPSB4Z2V0aG9zdG5hbWUoKTsKKworCQlpZiAoaG4pIHsKKwkJCWNoYXIgKmRvdCA9IHN0cmNocihobiwgJy4nKTsKKwkJCWNoYXIgKmNuID0gaG47CisJCQlzdHJ1Y3QgYWRkcmluZm8gKnJlcyA9IE5VTEw7CisKKwkJCWlmICgob3AtPmZsYWdzICYgRl9MT05HSE5BTUUpID09IDApIHsKKwkJCQlpZiAoZG90KQorCQkJCQkqZG90ID0gJ1wwJzsKKworCQkJfSBlbHNlIGlmIChkb3QgPT0gTlVMTCkgeworCQkJCXN0cnVjdCBhZGRyaW5mbyBoaW50czsKKworCQkJCW1lbXNldCgmaGludHMsIDAsIHNpemVvZihoaW50cykpOworCQkJCWhpbnRzLmFpX2ZsYWdzID0gQUlfQ0FOT05OQU1FOworCisJCQkJaWYgKCFnZXRhZGRyaW5mbyhobiwgTlVMTCwgJmhpbnRzLCAmcmVzKQorCQkJCSAgICAmJiByZXMgJiYgcmVzLT5haV9jYW5vbm5hbWUpCisJCQkJCWNuID0gcmVzLT5haV9jYW5vbm5hbWU7CisJCQl9CisKKwkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBjbiwgc3RybGVuKGNuKSk7CisJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgIiAiLCAxKTsKKworCQkJaWYgKHJlcykKKwkJCQlmcmVlYWRkcmluZm8ocmVzKTsKKwkJCWZyZWUoaG4pOworCQl9CisJfQorCWlmICghb3AtPmF1dG9sb2cpIHsKKwkJLyogQWx3YXlzIHNob3cgbG9naW4gcHJvbXB0LiAqLworCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgTE9HSU4sIHNpemVvZihMT0dJTikgLSAxKTsKKwl9Cit9CisKKy8qIFNlbGVjdCBuZXh0IGJhdWQgcmF0ZS4gKi8KK3N0YXRpYyB2b2lkIG5leHRfc3BlZWQoc3RydWN0IG9wdGlvbnMgKm9wLCBzdHJ1Y3QgdGVybWlvcyAqdHApCit7CisJc3RhdGljIGludCBiYXVkX2luZGV4ID0gLTE7CisKKwlpZiAoYmF1ZF9pbmRleCA9PSAtMSkKKwkJLyoKKwkJICogSWYgdGhlIEZfS0VFUFNQRUVEIGZsYWdzIGlzIHNldCB0aGVuIHRoZSBGSVJTVF9TUEVFRCBpcyBub3QKKwkJICogdGVzdGVkIHlldCAoc2VlIHRlcm1pb19pbml0KCkpLgorCQkgKi8KKwkJYmF1ZF9pbmRleCA9CisJCSAgICAob3AtPmZsYWdzICYgRl9LRUVQU1BFRUQpID8gRklSU1RfU1BFRUQgOiAxICUgb3AtPm51bXNwZWVkOworCWVsc2UKKwkJYmF1ZF9pbmRleCA9IChiYXVkX2luZGV4ICsgMSkgJSBvcC0+bnVtc3BlZWQ7CisKKwljZnNldGlzcGVlZCh0cCwgb3AtPnNwZWVkc1tiYXVkX2luZGV4XSk7CisJY2ZzZXRvc3BlZWQodHAsIG9wLT5zcGVlZHNbYmF1ZF9pbmRleF0pOworCXRjc2V0YXR0cihTVERJTl9GSUxFTk8sIFRDU0FOT1csIHRwKTsKK30KKworLyogR2V0IHVzZXIgbmFtZSwgZXN0YWJsaXNoIHBhcml0eSwgc3BlZWQsIGVyYXNlLCBraWxsICYgZW9sLiAqLworc3RhdGljIGNoYXIgKmdldF9sb2duYW1lKHN0cnVjdCBvcHRpb25zICpvcCwgc3RydWN0IHRlcm1pb3MgKnRwLCBzdHJ1Y3QgY2hhcmRhdGEgKmNwKQoreworCXN0YXRpYyBjaGFyIGxvZ25hbWVbQlVGU0laXTsKKwljaGFyICpicDsKKwljaGFyIGM7CQkJLyogaW5wdXQgY2hhcmFjdGVyLCBmdWxsIGVpZ2h0IGJpdHMgKi8KKwljaGFyIGFzY3ZhbDsJCS8qIGxvdyA3IGJpdHMgb2YgaW5wdXQgY2hhcmFjdGVyICovCisJaW50IGVpZ2h0Yml0OworCXN0YXRpYyBjaGFyICplcmFzZVtdID0gewkvKiBiYWNrc3BhY2Utc3BhY2UtYmFja3NwYWNlICovCisJCSJcMDEwXDA0MFwwMTAiLAkJLyogc3BhY2UgcGFyaXR5ICovCisJCSJcMDEwXDA0MFwwMTAiLAkJLyogb2RkIHBhcml0eSAqLworCQkiXDIxMFwyNDBcMjEwIiwJCS8qIGV2ZW4gcGFyaXR5ICovCisJCSJcMjEwXDI0MFwyMTAiLAkJLyogbm8gcGFyaXR5ICovCisJfTsKKworCS8qIEluaXRpYWxpemUga2lsbCwgZXJhc2UsIHBhcml0eSBldGMuIChhbHNvIGFmdGVyIHN3aXRjaGluZyBzcGVlZHMpLiAqLworCUlOSVRfQ0hBUkRBVEEoY3ApOworCisJLyoKKwkgKiBGbHVzaCBwZW5kaW5nIGlucHV0IChlc3BlY2lhbGx5IGltcG9ydGFudCBhZnRlciBwYXJzaW5nIG9yIHN3aXRjaGluZworCSAqIHRoZSBiYXVkIHJhdGUpLgorCSAqLworCWlmICgob3AtPmZsYWdzICYgRl9WQ09OU09MRSkgPT0gMCkKKwkJc2xlZXAoMSk7CisJdGNmbHVzaChTVERJTl9GSUxFTk8sIFRDSUZMVVNIKTsKKworCWVpZ2h0Yml0ID0gKG9wLT5mbGFncyAmIEZfRUlHSFRCSVRTKTsKKwlicCA9IGxvZ25hbWU7CisJKmJwID0gJ1wwJzsKKworCXdoaWxlICgqbG9nbmFtZSA9PSAnXDAnKSB7CisJCS8qIFdyaXRlIGlzc3VlIGZpbGUgYW5kIHByb21wdCAqLworCQlkb19wcm9tcHQob3AsIHRwKTsKKworI2lmZGVmIEFHRVRUWV9SRUxPQUQKKwkJaWYgKCF3YWl0X2Zvcl90ZXJtX2lucHV0KFNURElOX0ZJTEVOTykpIHsKKwkJCS8qIHJlZnJlc2ggcHJvbXB0IC0tIGRpc2NhcmQgaW5wdXQgZGF0YSwgY2xlYXIgdGVybWluYWwKKwkJCSAqIGFuZCBjYWxsIGRvX3Byb21wdCgpIGFnYWluCisJCQkgKi8KKwkJCWlmICgob3AtPmZsYWdzICYgRl9WQ09OU09MRSkgPT0gMCkKKwkJCQlzbGVlcCgxKTsKKwkJCXRjZmx1c2goU1RESU5fRklMRU5PLCBUQ0lGTFVTSCk7CisJCQlpZiAob3AtPmZsYWdzICYgRl9WQ09OU09MRSkKKwkJCQl0ZXJtaW9fY2xlYXIoU1RET1VUX0ZJTEVOTyk7CisJCQlicCA9IGxvZ25hbWU7CisJCQkqYnAgPSAnXDAnOworCQkJY29udGludWU7CisJCX0KKyNlbmRpZgorCQljcC0+ZW9sID0gJ1wwJzsKKworCQkvKiBSZWFkIG5hbWUsIHdhdGNoIGZvciBicmVhayBhbmQgZW5kLW9mLWxpbmUuICovCisJCXdoaWxlIChjcC0+ZW9sID09ICdcMCcpIHsKKworCQkJY2hhciBrZXk7CisJCQlzc2l6ZV90IHJlYWRyZXM7CisKKwkJCWRlYnVnKCJyZWFkIGZyb20gRkRcbiIpOworCQkJcmVhZHJlcyA9IHJlYWQoU1RESU5fRklMRU5PLCAmYywgMSk7CisJCQlpZiAocmVhZHJlcyA8IDApIHsKKwkJCQlkZWJ1ZygicmVhZCBmYWlsZWRcbiIpOworCisJCQkJLyogVGhlIHRlcm1pbmFsIGNvdWxkIGJlIG9wZW4gd2l0aCBPX05PTkJMT0NLIHdoZW4KKwkJCQkgKiAtTCAoZm9yY2UgQ0xPQ0FMKSBpcyBzcGVjaWZpZWQuLi4gICovCisJCQkJaWYgKGVycm5vID09IEVJTlRSIHx8IGVycm5vID09IEVBR0FJTikgeworCQkJCQl4dXNsZWVwKDI1MDAwMCk7CisJCQkJCWNvbnRpbnVlOworCQkJCX0KKwkJCQlzd2l0Y2ggKGVycm5vKSB7CisJCQkJY2FzZSAwOgorCQkJCWNhc2UgRUlPOgorCQkJCWNhc2UgRVNSQ0g6CisJCQkJY2FzZSBFSU5WQUw6CisJCQkJY2FzZSBFTk9FTlQ6CisJCQkJCWV4aXRfc2xvd2x5KEVYSVRfU1VDQ0VTUyk7CisJCQkJZGVmYXVsdDoKKwkJCQkJbG9nX2VycihfKCIlczogcmVhZDogJW0iKSwgb3AtPnR0eSk7CisJCQkJfQorCQkJfQorCisJCQlpZiAocmVhZHJlcyA9PSAwKQorCQkJCWMgPSAwOworCisJCQkvKiBEbyBwYXJpdHkgYml0IGhhbmRsaW5nLiAqLworCQkJaWYgKGVpZ2h0Yml0KQorCQkJCWFzY3ZhbCA9IGM7CisJCQllbHNlIGlmIChjICE9IChhc2N2YWwgPSAoYyAmIDAxNzcpKSkgeworCQkJCXVpbnQzMl90IGJpdHM7CQkJLyogIyBvZiAiMSIgYml0cyBwZXIgY2hhcmFjdGVyICovCisJCQkJdWludDMyX3QgbWFzazsJCQkvKiBtYXNrIHdpdGggMSBiaXQgdXAgKi8KKwkJCQlmb3IgKGJpdHMgPSAxLCBtYXNrID0gMTsgbWFzayAmIDAxNzc7IG1hc2sgPDw9IDEpIHsKKwkJCQkJaWYgKG1hc2sgJiBhc2N2YWwpCisJCQkJCQliaXRzKys7CisJCQkJfQorCQkJCWNwLT5wYXJpdHkgfD0gKChiaXRzICYgMSkgPyAxIDogMik7CisJCQl9CisKKwkJCWlmIChvcC0+a2lsbGNoYXJzICYmIHN0cmNocihvcC0+a2lsbGNoYXJzLCBhc2N2YWwpKQorCQkJCWtleSA9IENUTCgnVScpOworCQkJZWxzZSBpZiAob3AtPmVyYXNlY2hhcnMgJiYgc3RyY2hyKG9wLT5lcmFzZWNoYXJzLCBhc2N2YWwpKQorCQkJCWtleSA9IERFTDsKKwkJCWVsc2UKKwkJCQlrZXkgPSBhc2N2YWw7CisKKwkJCS8qIERvIGVyYXNlLCBraWxsIGFuZCBlbmQtb2YtbGluZSBwcm9jZXNzaW5nLiAqLworCQkJc3dpdGNoIChrZXkpIHsKKwkJCWNhc2UgMDoKKwkJCQkqYnAgPSAwOworCQkJCWlmIChvcC0+bnVtc3BlZWQgPiAxICYmICEob3AtPmZsYWdzICYgRl9WQ09OU09MRSkpCisJCQkJCXJldHVybiBOVUxMOworCQkJCWlmIChyZWFkcmVzID09IDApCisJCQkJCWV4aXRfc2xvd2x5KEVYSVRfU1VDQ0VTUyk7CisJCQkJYnJlYWs7CisJCQljYXNlIENSOgorCQkJY2FzZSBOTDoKKwkJCQkqYnAgPSAwOwkJCS8qIHRlcm1pbmF0ZSBsb2duYW1lICovCisJCQkJY3AtPmVvbCA9IGFzY3ZhbDsJCS8qIHNldCBlbmQtb2YtbGluZSBjaGFyICovCisJCQkJYnJlYWs7CisJCQljYXNlIEJTOgorCQkJY2FzZSBERUw6CisJCQkJY3AtPmVyYXNlID0gYXNjdmFsOyAvKiBzZXQgZXJhc2UgY2hhcmFjdGVyICovCisJCQkJaWYgKGJwID4gbG9nbmFtZSkgeworCQkJCQlpZiAoKHRwLT5jX2xmbGFnICYgRUNITykgPT0gMCkKKwkJCQkJCXdyaXRlX2FsbCgxLCBlcmFzZVtjcC0+cGFyaXR5XSwgMyk7CisJCQkJCWJwLS07CisJCQkJfQorCQkJCWJyZWFrOworCQkJY2FzZSBDVEwoJ1UnKToKKwkJCQljcC0+a2lsbCA9IGFzY3ZhbDsJCS8qIHNldCBraWxsIGNoYXJhY3RlciAqLworCQkJCXdoaWxlIChicCA+IGxvZ25hbWUpIHsKKwkJCQkJaWYgKCh0cC0+Y19sZmxhZyAmIEVDSE8pID09IDApCisJCQkJCQl3cml0ZV9hbGwoMSwgZXJhc2VbY3AtPnBhcml0eV0sIDMpOworCQkJCQlicC0tOworCQkJCX0KKwkJCQlicmVhazsKKwkJCWNhc2UgQ1RMKCdEJyk6CisJCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQkJZGVmYXVsdDoKKwkJCQlpZiAoIWlzYXNjaWkoYXNjdmFsKSB8fCAhaXNwcmludChhc2N2YWwpKQorCQkJCQlicmVhazsKKwkJCQlpZiAoKHNpemVfdCkoYnAgLSBsb2duYW1lKSA+PSBzaXplb2YobG9nbmFtZSkgLSAxKQorCQkJCQlsb2dfZXJyKF8oIiVzOiBpbnB1dCBvdmVycnVuIiksIG9wLT50dHkpOworCQkJCWlmICgodHAtPmNfbGZsYWcgJiBFQ0hPKSA9PSAwKQorCQkJCQl3cml0ZV9hbGwoMSwgJmMsIDEpOwkvKiBlY2hvIHRoZSBjaGFyYWN0ZXIgKi8KKwkJCQkqYnArKyA9IGFzY3ZhbDsJCQkvKiBhbmQgc3RvcmUgaXQgKi8KKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCX0KKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwlpZiAoKG9wLT5mbGFncyAmIChGX0VJR0hUQklUU3xGX1VURjgpKSA9PSAoRl9FSUdIVEJJVFN8Rl9VVEY4KSkgeworCQkvKiBDaGVjayBvdXQgVVRGLTggbXVsdGlieXRlIGNoYXJhY3RlcnMgKi8KKwkJc3NpemVfdCBsZW47CisJCXdjaGFyX3QgKndjcywgKndjcDsKKworCQlsZW4gPSBtYnN0b3djcygod2NoYXJfdCAqKTAsIGxvZ25hbWUsIDApOworCQlpZiAobGVuIDwgMCkKKwkJCWxvZ19lcnIoXygiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiKSwgb3AtPnR0eSk7CisKKwkJd2NzID0gbWFsbG9jKChsZW4gKyAxKSAqIHNpemVvZih3Y2hhcl90KSk7CisJCWlmICghd2NzKQorCQkJbG9nX2VycihfKCJmYWlsZWQgdG8gYWxsb2NhdGUgbWVtb3J5OiAlbSIpKTsKKworCQlsZW4gPSBtYnN0b3djcyh3Y3MsIGxvZ25hbWUsIGxlbiArIDEpOworCQlpZiAobGVuIDwgMCkKKwkJCWxvZ19lcnIoXygiJXM6IGludmFsaWQgY2hhcmFjdGVyIGNvbnZlcnNpb24gZm9yIGxvZ2luIG5hbWUiKSwgb3AtPnR0eSk7CisKKwkJd2NwID0gd2NzOworCQl3aGlsZSAoKndjcCkgeworCQkJY29uc3Qgd2ludF90IHdjID0gKndjcCsrOworCQkJaWYgKCFpc3dwcmludCh3YykpCisJCQkJbG9nX2VycihfKCIlczogaW52YWxpZCBjaGFyYWN0ZXIgMHgleCBpbiBsb2dpbiBuYW1lIiksIG9wLT50dHksIHdjKTsKKwkJfQorCQlmcmVlKHdjcyk7CisJfSBlbHNlCisjZW5kaWYKKwlpZiAoKG9wLT5mbGFncyAmIEZfTENVQykgJiYgKGNwLT5jYXBzbG9jayA9IGNhcHNfbG9jayhsb2duYW1lKSkpIHsKKworCQkvKiBIYW5kbGUgbmFtZXMgd2l0aCB1cHBlciBjYXNlIGFuZCBubyBsb3dlciBjYXNlLiAqLworCQlmb3IgKGJwID0gbG9nbmFtZTsgKmJwOyBicCsrKQorCQkJaWYgKGlzdXBwZXIoKmJwKSkKKwkJCQkqYnAgPSB0b2xvd2VyKCpicCk7CQkvKiBtYXAgbmFtZSB0byBsb3dlciBjYXNlICovCisJfQorCisJcmV0dXJuIGxvZ25hbWU7Cit9CisKKy8qIFNldCB0aGUgZmluYWwgdHR5IG1vZGUgYml0cy4gKi8KK3N0YXRpYyB2b2lkIHRlcm1pb19maW5hbChzdHJ1Y3Qgb3B0aW9ucyAqb3AsIHN0cnVjdCB0ZXJtaW9zICp0cCwgc3RydWN0IGNoYXJkYXRhICpjcCkKK3sKKwkvKiBHZW5lcmFsIHRlcm1pbmFsLWluZGVwZW5kZW50IHN0dWZmLiAqLworCisJLyogMi13YXkgZmxvdyBjb250cm9sICovCisJdHAtPmNfaWZsYWcgfD0gSVhPTiB8IElYT0ZGOworCXRwLT5jX2xmbGFnIHw9IElDQU5PTiB8IElTSUcgfCBFQ0hPIHwgRUNIT0UgfCBFQ0hPSyB8IEVDSE9LRTsKKwkvKiBubyBsb25nZXJ8IEVDSE9DVEwgfCBFQ0hPUFJUICovCisJdHAtPmNfb2ZsYWcgfD0gT1BPU1Q7CisJLyogdHAtPmNfY2ZsYWcgPSAwOyAqLworCXRwLT5jX2NjW1ZJTlRSXSA9IERFRl9JTlRSOworCXRwLT5jX2NjW1ZRVUlUXSA9IERFRl9RVUlUOworCXRwLT5jX2NjW1ZFT0ZdID0gREVGX0VPRjsKKwl0cC0+Y19jY1tWRU9MXSA9IERFRl9FT0w7CisjaWZkZWYgX19saW51eF9fCisJdHAtPmNfY2NbVlNXVENdID0gREVGX1NXSVRDSDsKKyNlbGlmIGRlZmluZWQoVlNXVENIKQorCXRwLT5jX2NjW1ZTV1RDSF0gPSBERUZfU1dJVENIOworI2VuZGlmCQkJCS8qIF9fbGludXhfXyAqLworCisJLyogQWNjb3VudCBmb3Igc3BlY2lhbCBjaGFyYWN0ZXJzIHNlZW4gaW4gaW5wdXQuICovCisJaWYgKGNwLT5lb2wgPT0gQ1IpIHsKKwkJdHAtPmNfaWZsYWcgfD0gSUNSTkw7CisJCXRwLT5jX29mbGFnIHw9IE9OTENSOworCX0KKwl0cC0+Y19jY1tWRVJBU0VdID0gY3AtPmVyYXNlOworCXRwLT5jX2NjW1ZLSUxMXSA9IGNwLT5raWxsOworCisJLyogQWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9yIGFic2VuY2Ugb2YgcGFyaXR5IGJpdHMgaW4gaW5wdXQuICovCisJc3dpdGNoIChjcC0+cGFyaXR5KSB7CisJY2FzZSAwOgorCQkvKiBzcGFjZSAoYWx3YXlzIDApIHBhcml0eSAqLworCQlicmVhazsKKwljYXNlIDE6CisJCS8qIG9kZCBwYXJpdHkgKi8KKwkJdHAtPmNfY2ZsYWcgfD0gUEFST0REOworCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgMjoKKwkJLyogZXZlbiBwYXJpdHkgKi8KKwkJdHAtPmNfY2ZsYWcgfD0gUEFSRU5COworCQl0cC0+Y19pZmxhZyB8PSBJTlBDSyB8IElTVFJJUDsKKwkJLyogZmFsbHRocm91Z2ggKi8KKwljYXNlICgxIHwgMik6CisJCS8qIG5vIHBhcml0eSBiaXQgKi8KKwkJdHAtPmNfY2ZsYWcgJj0gfkNTSVpFOworCQl0cC0+Y19jZmxhZyB8PSBDUzc7CisJCWJyZWFrOworCX0KKwkvKiBBY2NvdW50IGZvciB1cHBlciBjYXNlIHdpdGhvdXQgbG93ZXIgY2FzZS4gKi8KKwlpZiAoY3AtPmNhcHNsb2NrKSB7CisjaWZkZWYgSVVDTEMKKwkJdHAtPmNfaWZsYWcgfD0gSVVDTEM7CisjZW5kaWYKKyNpZmRlZiBYQ0FTRQorCQl0cC0+Y19sZmxhZyB8PSBYQ0FTRTsKKyNlbmRpZgorI2lmZGVmIE9MQ1VDCisJCXRwLT5jX29mbGFnIHw9IE9MQ1VDOworI2VuZGlmCisJfQorCS8qIE9wdGlvbmFsbHkgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbC4gKi8KKyNpZmRlZglDUlRTQ1RTCisJaWYgKG9wLT5mbGFncyAmIEZfUlRTQ1RTKQorCQl0cC0+Y19jZmxhZyB8PSBDUlRTQ1RTOworI2VuZGlmCisKKwkvKiBGaW5hbGx5LCBtYWtlIHRoZSBuZXcgc2V0dGluZ3MgZWZmZWN0aXZlLiAqLworCWlmICh0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBTk9XLCB0cCkgPCAwKQorCQlsb2dfZXJyKF8oIiVzOiBmYWlsZWQgdG8gc2V0IHRlcm1pbmFsIGF0dHJpYnV0ZXM6ICVtIiksIG9wLT50dHkpOworfQorCisvKgorICogU3RyaW5nIGNvbnRhaW5zIHVwcGVyIGNhc2Ugd2l0aG91dCBsb3dlciBjYXNlLgorICogaHR0cDovL2J1Z3MuZGViaWFuLm9yZy9jZ2ktYmluL2J1Z3JlcG9ydC5jZ2k/YnVnPTUyOTQwCisgKiBodHRwOi8vYnVncy5kZWJpYW4ub3JnL2NnaS1iaW4vYnVncmVwb3J0LmNnaT9idWc9MTU2MjQyCisgKi8KK3N0YXRpYyBpbnQgY2Fwc19sb2NrKGNoYXIgKnMpCit7CisJaW50IGNhcHNsb2NrOworCisJZm9yIChjYXBzbG9jayA9IDA7ICpzOyBzKyspIHsKKwkJaWYgKGlzbG93ZXIoKnMpKQorCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJaWYgKGNhcHNsb2NrID09IDApCisJCQljYXBzbG9jayA9IGlzdXBwZXIoKnMpOworCX0KKwlyZXR1cm4gY2Fwc2xvY2s7Cit9CisKKy8qIENvbnZlcnQgc3BlZWQgc3RyaW5nIHRvIHNwZWVkIGNvZGU7IHJldHVybiAwIG9uIGZhaWx1cmUuICovCitzdGF0aWMgc3BlZWRfdCBiY29kZShjaGFyICpzKQoreworCWNvbnN0IHN0cnVjdCBTcGVlZHRhYiAqc3A7CisJbG9uZyBzcGVlZCA9IGF0b2wocyk7CisKKwlmb3IgKHNwID0gc3BlZWR0YWI7IHNwLT5zcGVlZDsgc3ArKykKKwkJaWYgKHNwLT5zcGVlZCA9PSBzcGVlZCkKKwkJCXJldHVybiBzcC0+Y29kZTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlMSRzIFtvcHRpb25zXSA8bGluZT4gWzxiYXVkX3JhdGU+LC4uLl0gWzx0ZXJtdHlwZT5dXG4iCisJCSAgICAgICAiICUxJHMgW29wdGlvbnNdIDxiYXVkX3JhdGU+LC4uLiA8bGluZT4gWzx0ZXJtdHlwZT5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIk9wZW4gYSB0ZXJtaW5hbCBhbmQgc2V0IGl0cyBtb2RlLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtOCwgLS04Yml0cyAgICAgICAgICAgICAgICBhc3N1bWUgOC1iaXQgdHR5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWEsIC0tYXV0b2xvZ2luIDx1c2VyPiAgICAgbG9naW4gdGhlIHNwZWNpZmllZCB1c2VyIGF1dG9tYXRpY2FsbHlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYywgLS1ub3Jlc2V0ICAgICAgICAgICAgICBkbyBub3QgcmVzZXQgY29udHJvbCBtb2RlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUUsIC0tcmVtb3RlICAgICAgICAgICAgICAgdXNlIC1yIDxob3N0bmFtZT4gZm9yIGxvZ2luKDEpXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYsIC0taXNzdWUtZmlsZSA8ZmlsZT4gICAgZGlzcGxheSBpc3N1ZSBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWgsIC0tZmxvdy1jb250cm9sICAgICAgICAgZW5hYmxlIGhhcmR3YXJlIGZsb3cgY29udHJvbFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1ILCAtLWhvc3QgPGhvc3RuYW1lPiAgICAgIHNwZWNpZnkgbG9naW4gaG9zdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLW5vaXNzdWUgICAgICAgICAgICAgIGRvIG5vdCBkaXNwbGF5IGlzc3VlIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSSwgLS1pbml0LXN0cmluZyA8c3RyaW5nPiBzZXQgaW5pdCBzdHJpbmdcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtSiAgLS1ub2NsZWFyICAgICAgICAgICAgICBkbyBub3QgY2xlYXIgdGhlIHNjcmVlbiBiZWZvcmUgcHJvbXB0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwsIC0tbG9naW4tcHJvZ3JhbSA8ZmlsZT4gc3BlY2lmeSBsb2dpbiBwcm9ncmFtXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLUwsIC0tbG9jYWwtbGluZVs9PG1vZGU+XSAgY29udHJvbCB0aGUgbG9jYWwgbGluZSBmbGFnXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW0sIC0tZXh0cmFjdC1iYXVkICAgICAgICAgZXh0cmFjdCBiYXVkIHJhdGUgZHVyaW5nIGNvbm5lY3RcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1za2lwLWxvZ2luICAgICAgICAgICBkbyBub3QgcHJvbXB0IGZvciBsb2dpblxuIiksIG91dCk7CisJZnB1dHMoXygiIC1OICAtLW5vbmV3bGluZSAgICAgICAgICAgIGRvIG5vdCBwcmludCBhIG5ld2xpbmUgYmVmb3JlIGlzc3VlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tbG9naW4tb3B0aW9ucyA8b3B0cz4gb3B0aW9ucyB0aGF0IGFyZSBwYXNzZWQgdG8gbG9naW5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCwgLS1sb2dpbi1wYXVzZSAgICAgICAgICB3YWl0IGZvciBhbnkga2V5IGJlZm9yZSB0aGUgbG9naW5cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciwgLS1jaHJvb3QgPGRpcj4gICAgICAgICBjaGFuZ2Ugcm9vdCB0byB0aGUgZGlyZWN0b3J5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVIsIC0taGFuZ3VwICAgICAgICAgICAgICAgZG8gdmlydHVhbGx5IGhhbmd1cCBvbiB0aGUgdHR5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMsIC0ta2VlcC1iYXVkICAgICAgICAgICAgdHJ5IHRvIGtlZXAgYmF1ZCByYXRlIGFmdGVyIGJyZWFrXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGltZW91dCA8bnVtYmVyPiAgICAgbG9naW4gcHJvY2VzcyB0aW1lb3V0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVUsIC0tZGV0ZWN0LWNhc2UgICAgICAgICAgZGV0ZWN0IHVwcGVyY2FzZSB0ZXJtaW5hbFxuIiksIG91dCk7CisJZnB1dHMoXygiIC13LCAtLXdhaXQtY3IgICAgICAgICAgICAgIHdhaXQgY2FycmlhZ2UtcmV0dXJuXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbm9oaW50cyAgICAgICAgICAgICAgZG8gbm90IHByaW50IGhpbnRzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbm9ob3N0bmFtZSAgICAgICAgICAgbm8gaG9zdG5hbWUgYXQgYWxsIHdpbGwgYmUgc2hvd25cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1sb25nLWhvc3RuYW1lICAgICAgICBzaG93IGZ1bGwgcXVhbGlmaWVkIGhvc3RuYW1lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tZXJhc2UtY2hhcnMgPHN0cmluZz4gYWRkaXRpb25hbCBiYWNrc3BhY2UgY2hhcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1raWxsLWNoYXJzIDxzdHJpbmc+ICBhZGRpdGlvbmFsIGtpbGwgY2hhcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAgICAgLS1jaGRpciA8ZGlyZWN0b3J5PiAgICBjaGRpciBiZWZvcmUgdGhlIGxvZ2luXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tZGVsYXkgPG51bWJlcj4gICAgICAgc2xlZXAgc2Vjb25kcyBiZWZvcmUgcHJvbXB0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgICAgIC0tbmljZSA8bnVtYmVyPiAgICAgICAgcnVuIGxvZ2luIHdpdGggdGhpcyBwcmlvcml0eVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLXJlbG9hZCAgICAgICAgICAgICAgIHJlbG9hZCBwcm9tcHRzIG9uIHJ1bm5pbmcgYWdldHR5IGluc3RhbmNlc1xuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAtLWxpc3Qtc3BlZWRzICAgICAgICAgIGRpc3BsYXkgc3VwcG9ydGVkIGJhdWQgcmF0ZXNcbiIpLCBvdXQpOworCXByaW50ZiggIiAgICAgLS1oZWxwICAgICAgICAgICAgICAgICAlc1xuIiwgVVNBR0VfT1BUU1RSX0hFTFApOworCXByaW50ZiggIiAgICAgLS12ZXJzaW9uICAgICAgICAgICAgICAlc1xuIiwgVVNBR0VfT1BUU1RSX1ZFUlNJT04pOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiYWdldHR5KDgpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBsaXN0X3NwZWVkcyh2b2lkKQoreworCWNvbnN0IHN0cnVjdCBTcGVlZHRhYiAqc3A7CisKKwlmb3IgKHNwID0gc3BlZWR0YWI7IHNwLT5zcGVlZDsgc3ArKykKKwkJcHJpbnRmKCIlMTBsZFxuIiwgc3AtPnNwZWVkKTsKK30KKworLyoKKyAqIEhlbHBlciBmdW5jdGlvbiByZXBvcnRzIGVycm9ycyB0byBjb25zb2xlIG9yIHN5c2xvZy4KKyAqIFdpbGwgYmUgdXNlZCBieSBsb2dfZXJyKCkgYW5kIGxvZ193YXJuKCkgdGhlcmVmb3JlCisgKiBpdCB0YWtlcyBhIGZvcm1hdCBhcyB3ZWxsIGFzIHZhX2xpc3QuCisgKi8KKyNkZWZpbmUJc3RyMmNweShiLHMxLHMyKQlzdHJjYXQoc3RyY3B5KGIsczEpLHMyKQorCitzdGF0aWMgdm9pZCBkb2xvZyhpbnQgcHJpb3JpdHksIGNvbnN0IGNoYXIgKmZtdCwgdmFfbGlzdCBhcCkKK3sKKyNpZm5kZWYJVVNFX1NZU0xPRworCWludCBmZDsKKyNlbmRpZgorCWNoYXIgYnVmW0JVRlNJWl07CisJY2hhciAqYnA7CisKKwkvKgorCSAqIElmIHRoZSBkaWFnbm9zdGljIGlzIHJlcG9ydGVkIHZpYSBzeXNsb2coMyksIHRoZSBwcm9jZXNzIG5hbWUgaXMKKwkgKiBhdXRvbWF0aWNhbGx5IHByZXBlbmRlZCB0byB0aGUgbWVzc2FnZS4gSWYgd2Ugd3JpdGUgZGlyZWN0bHkgdG8KKwkgKiAvZGV2L2NvbnNvbGUsIHdlIG11c3QgcHJlcGVuZCB0aGUgcHJvY2VzcyBuYW1lIG91cnNlbHZlcy4KKwkgKi8KKyNpZmRlZiBVU0VfU1lTTE9HCisJYnVmWzBdID0gJ1wwJzsKKwlicCA9IGJ1ZjsKKyNlbHNlCisJc3RyMmNweShidWYsIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCAiOiAiKTsKKwlicCA9IGJ1ZiArIHN0cmxlbihidWYpOworI2VuZGlmCQkJCS8qIFVTRV9TWVNMT0cgKi8KKwl2c25wcmludGYoYnAsIHNpemVvZihidWYpLXN0cmxlbihidWYpLCBmbXQsIGFwKTsKKworCS8qCisJICogV3JpdGUgdGhlIGRpYWdub3N0aWMgZGlyZWN0bHkgdG8gL2Rldi9jb25zb2xlIGlmIHdlIGRvIG5vdCB1c2UgdGhlCisJICogc3lzbG9nKDMpIGZhY2lsaXR5LgorCSAqLworI2lmZGVmCVVTRV9TWVNMT0cKKwlvcGVubG9nKHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBMT0dfUElELCBMT0dfQVVUSFBSSVYpOworCXN5c2xvZyhwcmlvcml0eSwgIiVzIiwgYnVmKTsKKwljbG9zZWxvZygpOworI2Vsc2UKKwkvKiBUZXJtaW5hdGUgd2l0aCBDUi1MRiBzaW5jZSB0aGUgY29uc29sZSBtb2RlIGlzIHVua25vd24uICovCisJc3RyY2F0KGJwLCAiXHJcbiIpOworCWlmICgoZmQgPSBvcGVuKCIvZGV2L2NvbnNvbGUiLCAxKSkgPj0gMCkgeworCQl3cml0ZV9hbGwoZmQsIGJ1Ziwgc3RybGVuKGJ1ZikpOworCQljbG9zZShmZCk7CisJfQorI2VuZGlmCQkJCS8qIFVTRV9TWVNMT0cgKi8KK30KKworc3RhdGljIHZvaWQgZXhpdF9zbG93bHkoaW50IGNvZGUpCit7CisJLyogQmUga2luZCB0byBpbml0KDgpLiAqLworCXNsZWVwKDEwKTsKKwlleGl0KGNvZGUpOworfQorCitzdGF0aWMgdm9pZCBsb2dfZXJyKGNvbnN0IGNoYXIgKmZtdCwgLi4uKQoreworCXZhX2xpc3QgYXA7CisKKwl2YV9zdGFydChhcCwgZm10KTsKKwlkb2xvZyhMT0dfRVJSLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworCisJZXhpdF9zbG93bHkoRVhJVF9GQUlMVVJFKTsKK30KKworc3RhdGljIHZvaWQgbG9nX3dhcm4oY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJdmFfbGlzdCBhcDsKKworCXZhX3N0YXJ0KGFwLCBmbXQpOworCWRvbG9nKExPR19XQVJOSU5HLCBmbXQsIGFwKTsKKwl2YV9lbmQoYXApOworfQorCitzdGF0aWMgdm9pZCBwcmludF9hZGRyKHNhX2ZhbWlseV90IGZhbWlseSwgdm9pZCAqYWRkcikKK3sKKwljaGFyIGJ1ZmZbSU5FVDZfQUREUlNUUkxFTiArIDFdOworCisJaW5ldF9udG9wKGZhbWlseSwgYWRkciwgYnVmZiwgc2l6ZW9mKGJ1ZmYpKTsKKwlwcmludGYoIiVzIiwgYnVmZik7Cit9CisKKy8qCisgKiBQcmludHMgSVAgZm9yIHRoZSBzcGVjaWZpZWQgaW50ZXJmYWNlIChAaWZhY2UpLCBpZiB0aGUgaW50ZXJmYWNlIGlzIG5vdAorICogc3BlY2lmaWVkIHRoZW4gcHJpbnRzIHRoZSAiYmVzdCIgb25lIChVUCwgUlVOTklORywgbm9uLUxPT1BCQUNLKS4gSWYgbm90CisgKiBmb3VuZCB0aGUgImJlc3QiIGludGVyZmFjZSB0aGVuIHByaW50cyBhdCBsZWFzdCBob3N0IElQLgorICovCitzdGF0aWMgdm9pZCBvdXRwdXRfaWZhY2VfaXAoc3RydWN0IGlmYWRkcnMgKmFkZHJzLAorCQkJICAgIGNvbnN0IGNoYXIgKmlmYWNlLAorCQkJICAgIHNhX2ZhbWlseV90IGZhbWlseSkKK3sKKwlzdHJ1Y3QgaWZhZGRycyAqcDsKKwlzdHJ1Y3QgYWRkcmluZm8gaGludHMsICppbmZvID0gTlVMTDsKKwljaGFyICpob3N0ID0gTlVMTDsKKwl2b2lkICphZGRyID0gTlVMTDsKKworCWlmICghYWRkcnMpCisJCXJldHVybjsKKworCWZvciAocCA9IGFkZHJzOyBwOyBwID0gcC0+aWZhX25leHQpIHsKKworCQlpZiAoIXAtPmlmYV9uYW1lIHx8CisJCSAgICAhcC0+aWZhX2FkZHIgfHwKKwkJICAgIHAtPmlmYV9hZGRyLT5zYV9mYW1pbHkgIT0gZmFtaWx5KQorCQkJY29udGludWU7CisKKwkJaWYgKGlmYWNlKSB7CisJCQkvKiBGaWx0ZXIgb3V0IGJ5IGludGVyZmFjZSBuYW1lICovCisJCSAgICAgICBpZiAoc3RyY21wKHAtPmlmYV9uYW1lLCBpZmFjZSkgIT0gMCkKKwkJCQljb250aW51ZTsKKwkJfSBlbHNlIHsKKwkJCS8qIFNlbGVjdCB0aGUgImJlc3QiIGludGVyZmFjZSAqLworCQkJaWYgKChwLT5pZmFfZmxhZ3MgJiBJRkZfTE9PUEJBQ0spIHx8CisJCQkgICAgIShwLT5pZmFfZmxhZ3MgJiBJRkZfVVApIHx8CisJCQkgICAgIShwLT5pZmFfZmxhZ3MgJiBJRkZfUlVOTklORykpCisJCQkJY29udGludWU7CisJCX0KKworCQlhZGRyID0gTlVMTDsKKwkJc3dpdGNoIChwLT5pZmFfYWRkci0+c2FfZmFtaWx5KSB7CisJCWNhc2UgQUZfSU5FVDoKKwkJCWFkZHIgPSAmKChzdHJ1Y3Qgc29ja2FkZHJfaW4gKikJcC0+aWZhX2FkZHIpLT5zaW5fYWRkcjsKKwkJCWJyZWFrOworCQljYXNlIEFGX0lORVQ2OgorCQkJYWRkciA9ICYoKHN0cnVjdCBzb2NrYWRkcl9pbjYgKikgcC0+aWZhX2FkZHIpLT5zaW42X2FkZHI7CisJCQlicmVhazsKKwkJfQorCisJCWlmIChhZGRyKSB7CisJCQlwcmludF9hZGRyKGZhbWlseSwgYWRkcik7CisJCQlyZXR1cm47CisJCX0KKwl9CisKKwlpZiAoaWZhY2UpCisJCXJldHVybjsKKworCS8qIEhtbS4uIG5vdCBmb3VuZCB0aGUgYmVzdCBpbnRlcmZhY2UsIHByaW50IGhvc3QgSVAgYXQgbGVhc3QgKi8KKwltZW1zZXQoJmhpbnRzLCAwLCBzaXplb2YoaGludHMpKTsKKwloaW50cy5haV9mYW1pbHkgPSBmYW1pbHk7CisJaWYgKGZhbWlseSA9PSBBRl9JTkVUNikKKwkJaGludHMuYWlfZmxhZ3MgPSBBSV9WNE1BUFBFRDsKKworCWhvc3QgPSB4Z2V0aG9zdG5hbWUoKTsKKwlpZiAoaG9zdCAmJiBnZXRhZGRyaW5mbyhob3N0LCBOVUxMLCAmaGludHMsICZpbmZvKSA9PSAwICYmIGluZm8pIHsKKwkJc3dpdGNoIChpbmZvLT5haV9mYW1pbHkpIHsKKwkJY2FzZSBBRl9JTkVUOgorCQkJYWRkciA9ICYoKHN0cnVjdCBzb2NrYWRkcl9pbiAqKSBpbmZvLT5haV9hZGRyKS0+c2luX2FkZHI7CisJCQlicmVhazsKKwkJY2FzZSBBRl9JTkVUNjoKKwkJCWFkZHIgPSAmKChzdHJ1Y3Qgc29ja2FkZHJfaW42ICopIGluZm8tPmFpX2FkZHIpLT5zaW42X2FkZHI7CisJCQlicmVhazsKKwkJfQorCQlpZiAoYWRkcikKKwkJCXByaW50X2FkZHIoZmFtaWx5LCBhZGRyKTsKKworCQlmcmVlYWRkcmluZm8oaW5mbyk7CisJfQorCWZyZWUoaG9zdCk7Cit9CisKKy8qCisgKiBwYXJzZXMgXHh7YXJndW1lbnR9LCBpZiBub3QgYXJndW1lbnQgc3BlY2lmaWVkIHRoZW4gcmV0dXJucyBOVUxMLCB0aGUgQGZkCisgKiBoYXMgdG8gcG9pbnQgdG8gb25lIGNoYXIgYWZ0ZXIgdGhlIHNlcXVlbmNlIChpdCBtZWFucyAneycpLgorICovCitzdGF0aWMgY2hhciAqZ2V0X2VzY2FwZV9hcmd1bWVudChGSUxFICpmZCwgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJc2l6ZV90IGkgPSAwOworCWludCBjID0gZmdldGMoZmQpOworCisJaWYgKGMgPT0gRU9GIHx8ICh1bnNpZ25lZCBjaGFyKSBjICE9ICd7JykgeworCQl1bmdldGMoYywgZmQpOworCQlyZXR1cm4gTlVMTDsKKwl9CisKKwlkbyB7CisJCWMgPSBmZ2V0YyhmZCk7CisJCWlmIChjID09IEVPRikKKwkJCXJldHVybiBOVUxMOworCQlpZiAoKHVuc2lnbmVkIGNoYXIpIGMgIT0gJ30nICYmIGkgPCBidWZzeiAtIDEpCisJCQlidWZbaSsrXSA9ICh1bnNpZ25lZCBjaGFyKSBjOworCisJfSB3aGlsZSAoKHVuc2lnbmVkIGNoYXIpIGMgIT0gJ30nKTsKKworCWJ1ZltpXSA9ICdcMCc7CisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIHZvaWQgb3V0cHV0X3NwZWNpYWxfY2hhcih1bnNpZ25lZCBjaGFyIGMsIHN0cnVjdCBvcHRpb25zICpvcCwKKwkJCQlzdHJ1Y3QgdGVybWlvcyAqdHAsIEZJTEUgKmZwKQoreworCXN0cnVjdCB1dHNuYW1lIHV0czsKKworCXN3aXRjaCAoYykgeworCWNhc2UgJ2UnOgorCXsKKwkJY2hhciBlc2NuYW1lW1VMX0NPTE9STkFNRV9NQVhTWl07CisKKwkJaWYgKGdldF9lc2NhcGVfYXJndW1lbnQoZnAsIGVzY25hbWUsIHNpemVvZihlc2NuYW1lKSkpIHsKKwkJCWNvbnN0IGNoYXIgKmVzYyA9IGNvbG9yX3NlcXVlbmNlX2Zyb21fY29sb3JuYW1lKGVzY25hbWUpOworCQkJaWYgKGVzYykKKwkJCQlmcHV0cyhlc2MsIHN0ZG91dCk7CisJCX0gZWxzZQorCQkJZnB1dHMoIlwwMzMiLCBzdGRvdXQpOworCQlicmVhazsKKwl9CisJY2FzZSAncyc6CisJCXVuYW1lKCZ1dHMpOworCQlwcmludGYoIiVzIiwgdXRzLnN5c25hbWUpOworCQlicmVhazsKKwljYXNlICduJzoKKwkJdW5hbWUoJnV0cyk7CisJCXByaW50ZigiJXMiLCB1dHMubm9kZW5hbWUpOworCQlicmVhazsKKwljYXNlICdyJzoKKwkJdW5hbWUoJnV0cyk7CisJCXByaW50ZigiJXMiLCB1dHMucmVsZWFzZSk7CisJCWJyZWFrOworCWNhc2UgJ3YnOgorCQl1bmFtZSgmdXRzKTsKKwkJcHJpbnRmKCIlcyIsIHV0cy52ZXJzaW9uKTsKKwkJYnJlYWs7CisJY2FzZSAnbSc6CisJCXVuYW1lKCZ1dHMpOworCQlwcmludGYoIiVzIiwgdXRzLm1hY2hpbmUpOworCQlicmVhazsKKwljYXNlICdvJzoKKwl7CisJCWNoYXIgKmRvbSA9IHhnZXRkb21haW5uYW1lKCk7CisKKwkJZnB1dHMoZG9tID8gZG9tIDogInVua25vd25fZG9tYWluIiwgc3Rkb3V0KTsKKwkJZnJlZShkb20pOworCQlicmVhazsKKwl9CisJY2FzZSAnTyc6CisJeworCQljaGFyICpkb20gPSBOVUxMOworCQljaGFyICpob3N0ID0geGdldGhvc3RuYW1lKCk7CisJCXN0cnVjdCBhZGRyaW5mbyBoaW50cywgKmluZm8gPSBOVUxMOworCisJCW1lbXNldCgmaGludHMsIDAsIHNpemVvZihoaW50cykpOworCQloaW50cy5haV9mbGFncyA9IEFJX0NBTk9OTkFNRTsKKworCQlpZiAoaG9zdCAmJiBnZXRhZGRyaW5mbyhob3N0LCBOVUxMLCAmaGludHMsICZpbmZvKSA9PSAwICYmIGluZm8pIHsKKwkJCWNoYXIgKmNhbm9uOworCisJCQlpZiAoaW5mby0+YWlfY2Fub25uYW1lICYmCisJCQkgICAgKGNhbm9uID0gc3RyY2hyKGluZm8tPmFpX2Nhbm9ubmFtZSwgJy4nKSkpCisJCQkJZG9tID0gY2Fub24gKyAxOworCQl9CisJCWZwdXRzKGRvbSA/IGRvbSA6ICJ1bmtub3duX2RvbWFpbiIsIHN0ZG91dCk7CisJCWlmIChpbmZvKQorCQkJZnJlZWFkZHJpbmZvKGluZm8pOworCQlmcmVlKGhvc3QpOworCQlicmVhazsKKwl9CisJY2FzZSAnZCc6CisJY2FzZSAndCc6CisJeworCQl0aW1lX3Qgbm93OworCQlzdHJ1Y3QgdG0gKnRtOworCisJCXRpbWUoJm5vdyk7CisJCXRtID0gbG9jYWx0aW1lKCZub3cpOworCisJCWlmICghdG0pCisJCQlicmVhazsKKworCQlpZiAoYyA9PSAnZCcpIC8qIElTTyA4NjAxICovCisJCQlwcmludGYoIiVzICVzICVkICAlZCIsCisJCQkJICAgICAgbmxfbGFuZ2luZm8oQUJEQVlfMSArIHRtLT50bV93ZGF5KSwKKwkJCQkgICAgICBubF9sYW5naW5mbyhBQk1PTl8xICsgdG0tPnRtX21vbiksCisJCQkJICAgICAgdG0tPnRtX21kYXksCisJCQkJICAgICAgdG0tPnRtX3llYXIgPCA3MCA/IHRtLT50bV95ZWFyICsgMjAwMCA6CisJCQkJICAgICAgdG0tPnRtX3llYXIgKyAxOTAwKTsKKwkJZWxzZQorCQkJcHJpbnRmKCIlMDJkOiUwMmQ6JTAyZCIsCisJCQkJICAgICAgdG0tPnRtX2hvdXIsIHRtLT50bV9taW4sIHRtLT50bV9zZWMpOworCQlicmVhazsKKwl9CisJY2FzZSAnbCc6CisJCXByaW50ZiAoIiVzIiwgb3AtPnR0eSk7CisJCWJyZWFrOworCWNhc2UgJ2InOgorCXsKKwkJY29uc3Qgc3BlZWRfdCBzcGVlZCA9IGNmZ2V0aXNwZWVkKHRwKTsKKwkJaW50IGk7CisKKwkJZm9yIChpID0gMDsgc3BlZWR0YWJbaV0uc3BlZWQ7IGkrKykgeworCQkJaWYgKHNwZWVkdGFiW2ldLmNvZGUgPT0gc3BlZWQpIHsKKwkJCQlwcmludGYoIiVsZCIsIHNwZWVkdGFiW2ldLnNwZWVkKTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlicmVhazsKKwl9CisJY2FzZSAnUyc6CisJeworCQljaGFyICp2YXIgPSBOVUxMLCB2YXJuYW1lWzY0XTsKKworCQkvKiBcU3t2YXJuYW1lfSAqLworCQlpZiAoZ2V0X2VzY2FwZV9hcmd1bWVudChmcCwgdmFybmFtZSwgc2l6ZW9mKHZhcm5hbWUpKSkgeworCQkJdmFyID0gcmVhZF9vc19yZWxlYXNlKG9wLCB2YXJuYW1lKTsKKwkJCWlmICh2YXIpIHsKKwkJCQlpZiAoc3RyY21wKHZhcm5hbWUsICJBTlNJX0NPTE9SIikgPT0gMCkKKwkJCQkJcHJpbnRmKCJcMDMzWyVzbSIsIHZhcik7CisJCQkJZWxzZQorCQkJCQlmcHV0cyh2YXIsIHN0ZG91dCk7CisJCQl9CisJCS8qIFxTICovCisJCX0gZWxzZSBpZiAoKHZhciA9IHJlYWRfb3NfcmVsZWFzZShvcCwgIlBSRVRUWV9OQU1FIikpKSB7CisJCQlmcHV0cyh2YXIsIHN0ZG91dCk7CisKKwkJLyogXFMgYW5kIFBSRVRUWV9OQU1FIG5vdCBmb3VuZCAqLworCQl9IGVsc2UgeworCQkJdW5hbWUoJnV0cyk7CisJCQlmcHV0cyh1dHMuc3lzbmFtZSwgc3Rkb3V0KTsKKwkJfQorCisJCWZyZWUodmFyKTsKKworCQlicmVhazsKKwl9CisJY2FzZSAndSc6CisJY2FzZSAnVSc6CisJeworCQlpbnQgdXNlcnMgPSAwOworCQlzdHJ1Y3QgdXRtcHggKnV0OworCQlzZXR1dHhlbnQoKTsKKwkJd2hpbGUgKCh1dCA9IGdldHV0eGVudCgpKSkKKwkJCWlmICh1dC0+dXRfdHlwZSA9PSBVU0VSX1BST0NFU1MpCisJCQkJdXNlcnMrKzsKKwkJZW5kdXR4ZW50KCk7CisJCWlmIChjID09ICdVJykKKwkJCXByaW50ZihQXygiJWQgdXNlciIsICIlZCB1c2VycyIsIHVzZXJzKSwgdXNlcnMpOworCQllbHNlCisJCQlwcmludGYgKCIlZCAiLCB1c2Vycyk7CisJCWJyZWFrOworCX0KKwljYXNlICc0JzoKKwljYXNlICc2JzoKKwl7CisJCXNhX2ZhbWlseV90IGZhbWlseSA9IGMgPT0gJzQnID8gQUZfSU5FVCA6IEFGX0lORVQ2OworCQlzdHJ1Y3QgaWZhZGRycyAqYWRkcnMgPSBOVUxMOworCQljaGFyIGlmYWNlWzEyOF07CisKKyNpZmRlZiBBR0VUVFlfUkVMT0FECisJCW9wZW5fbmV0bGluaygpOworI2VuZGlmCisKKwkJaWYgKGdldGlmYWRkcnMoJmFkZHJzKSkKKwkJCWJyZWFrOworCisJCWlmIChnZXRfZXNjYXBlX2FyZ3VtZW50KGZwLCBpZmFjZSwgc2l6ZW9mKGlmYWNlKSkpCisJCQlvdXRwdXRfaWZhY2VfaXAoYWRkcnMsIGlmYWNlLCBmYW1pbHkpOworCQllbHNlCisJCQlvdXRwdXRfaWZhY2VfaXAoYWRkcnMsIE5VTEwsIGZhbWlseSk7CisKKwkJZnJlZWlmYWRkcnMoYWRkcnMpOworCQlicmVhazsKKwl9CisJZGVmYXVsdDoKKwkJcHV0Y2hhcihjKTsKKwkJYnJlYWs7CisJfQorfQorCitzdGF0aWMgdm9pZCBpbml0X3NwZWNpYWxfY2hhcihjaGFyKiBhcmcsIHN0cnVjdCBvcHRpb25zICpvcCkKK3sKKwljaGFyIGNoLCAqcCwgKnE7CisJaW50IGk7CisKKwlvcC0+aW5pdHN0cmluZyA9IG1hbGxvYyhzdHJsZW4oYXJnKSArIDEpOworCWlmICghb3AtPmluaXRzdHJpbmcpCisJCWxvZ19lcnIoXygiZmFpbGVkIHRvIGFsbG9jYXRlIG1lbW9yeTogJW0iKSk7CisKKwkvKgorCSAqIENvcHkgb3B0YXJnIGludG8gb3AtPmluaXRzdHJpbmcgZGVjb2RpbmcgXGRkZCBvY3RhbAorCSAqIGNvZGVzIGludG8gY2hhcnMuCisJICovCisJcSA9IG9wLT5pbml0c3RyaW5nOworCXAgPSBhcmc7CisJd2hpbGUgKCpwKSB7CisJCS8qIFRoZSBcXCBpcyBjb252ZXJ0ZWQgdG8gXCAqLworCQlpZiAoKnAgPT0gJ1xcJykgeworCQkJcCsrOworCQkJaWYgKCpwID09ICdcXCcpIHsKKwkJCQljaCA9ICdcXCc7CisJCQkJcCsrOworCQkJfSBlbHNlIHsKKwkJCQkvKiBIYW5kbGUgXDAwMCAtIFwxNzcuICovCisJCQkJY2ggPSAwOworCQkJCWZvciAoaSA9IDE7IGkgPD0gMzsgaSsrKSB7CisJCQkJCWlmICgqcCA+PSAnMCcgJiYgKnAgPD0gJzcnKSB7CisJCQkJCQljaCA8PD0gMzsKKwkJCQkJCWNoICs9ICpwIC0gJzAnOworCQkJCQkJcCsrOworCQkJCQl9IGVsc2UgeworCQkJCQkJYnJlYWs7CisJCQkJCX0KKwkJCQl9CisJCQl9CisJCQkqcSsrID0gY2g7CisJCX0gZWxzZQorCQkJKnErKyA9ICpwKys7CisJfQorCSpxID0gJ1wwJzsKK30KKworLyoKKyAqIEFwcGVuZHMgQHN0ciB0byBAZGVzdCBhbmQgaWYgQGRlc3QgaXMgbm90IGVtcHR5IHRoZW4gdXNlIEBzZXAgYXMgYQorICogc2VwYXJhdG9yLiBUaGUgbWF4aW1hbCBmaW5hbCBsZW5ndGggb2YgdGhlIEBkZXN0IGlzIEBsZW4uCisgKgorICogUmV0dXJucyB0aGUgZmluYWwgQGRlc3QgbGVuZ3RoIG9yIC0xIGluIGNhc2Ugb2YgZXJyb3IuCisgKi8KK3N0YXRpYyBzc2l6ZV90IGFwcGVuZChjaGFyICpkZXN0LCBzaXplX3QgbGVuLCBjb25zdCBjaGFyICAqc2VwLCBjb25zdCBjaGFyICpzcmMpCit7CisJc2l6ZV90IGRzeiA9IDAsIHNzeiA9IDAsIHN6OworCWNoYXIgKnA7CisKKwlpZiAoIWRlc3QgfHwgIWxlbiB8fCAhc3JjKQorCQlyZXR1cm4gLTE7CisKKwlpZiAoKmRlc3QpCisJCWRzeiA9IHN0cmxlbihkZXN0KTsKKwlpZiAoZHN6ICYmIHNlcCkKKwkJc3N6ID0gc3RybGVuKHNlcCk7CisJc3ogPSBzdHJsZW4oc3JjKTsKKworCWlmIChkc3ogKyBzc3ogKyBzeiArIDEgPiBsZW4pCisJCXJldHVybiAtMTsKKworCXAgPSBkZXN0ICsgZHN6OworCWlmIChzc3opIHsKKwkJbWVtY3B5KHAsIHNlcCwgc3N6KTsKKwkJcCArPSBzc3o7CisJfQorCW1lbWNweShwLCBzcmMsIHN6KTsKKwkqKHAgKyBzeikgPSAnXDAnOworCisJcmV0dXJuIGRzeiArIHNzeiArIHN6OworfQorCisvKgorICogRG8gbm90IGFsbG93IHRoZSB1c2VyIHRvIHBhc3MgYW4gb3B0aW9uIGFzIGEgdXNlciBuYW1lCisgKiBUbyBiZSBtb3JlIHNhZmU6IFVzZSBgLS0nIHRvIG1ha2Ugc3VyZSB0aGUgcmVzdCBpcworICogaW50ZXJwcmV0ZWQgYXMgbm9uLW9wdGlvbnMgYnkgdGhlIHByb2dyYW0sIGlmIGl0IHN1cHBvcnRzIGl0LgorICovCitzdGF0aWMgdm9pZCBjaGVja191c2VybmFtZShjb25zdCBjaGFyKiBubSkKK3sKKwljb25zdCBjaGFyICpwID0gbm07CisJaWYgKCFubSkKKwkJZ290byBlcnI7CisJaWYgKHN0cmxlbihubSkgPiA0MikKKwkJZ290byBlcnI7CisJd2hpbGUgKGlzc3BhY2UoKnApKQorCQlwKys7CisJaWYgKCpwID09ICctJykKKwkJZ290byBlcnI7CisJcmV0dXJuOworZXJyOgorCWVycm5vID0gRVBFUk07CisJbG9nX2VycihfKCJjaGVja25hbWUgZmFpbGVkOiAlbSIpKTsKK30KKworc3RhdGljIHZvaWQgcmVsb2FkX2FnZXR0eXModm9pZCkKK3sKKyNpZmRlZiBBR0VUVFlfUkVMT0FECisJaW50IGZkID0gb3BlbihBR0VUVFlfUkVMT0FEX0ZJTEVOQU1FLCBPX0NSRUFUfE9fQ0xPRVhFQ3xPX1dST05MWSwKKwkJCQkJICAgICAgU19JUlVTUnxTX0lXVVNSKTsKKwlpZiAoZmQgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCBBR0VUVFlfUkVMT0FEX0ZJTEVOQU1FKTsKKworCWlmIChmdXRpbWVucyhmZCwgTlVMTCkgPCAwIHx8IGNsb3NlKGZkKSA8IDApCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCB0b3VjaCBmaWxlICVzIiksCisJCSAgICBBR0VUVFlfUkVMT0FEX0ZJTEVOQU1FKTsKKyNlbHNlCisJLyogdmVyeSB1bnVzdWFsICovCisJZXJyeChFWElUX0ZBSUxVUkUsIF8oIi0tcmVsb2FkIGlzIHVuc3VwcG9ydGVkIG9uIHlvdXIgc3lzdGVtIikpOworI2VuZGlmCit9CmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL21lc2cuMSBiL3Rlcm0tdXRpbHMvbWVzZy4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3ZTczYTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL21lc2cuMQpAQCAtMCwwICsxLDEwOSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4NywgMTk5MCwgMTk5MworLlwiCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIJQCgjKW1lc2cuMQk4LjEgKEJlcmtlbGV5KSA2LzYvOTMKKy5cIgorLlRIIE1FU0cgMSAiSnVseSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorbWVzZyBcLSBkaXNwbGF5IChvciBkbyBub3QgZGlzcGxheSkgbWVzc2FnZXMgZnJvbSBvdGhlciB1c2VycworLlNIIFNZTk9QU0lTCisuQiBtZXNnCitbb3B0aW9uXQorLlJCIFsgbiB8IHkgXQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIG1lc2cKK3V0aWxpdHkgaXMgaW52b2tlZCBieSBhIHVzZXIgdG8gY29udHJvbCB3cml0ZSBhY2Nlc3Mgb3RoZXJzIGhhdmUgdG8gdGhlCit0ZXJtaW5hbCBkZXZpY2UgYXNzb2NpYXRlZCB3aXRoIHN0YW5kYXJkIGVycm9yIG91dHB1dC4gIElmIHdyaXRlIGFjY2VzcworaXMgYWxsb3dlZCwgdGhlbiBwcm9ncmFtcyBzdWNoIGFzCisuQlIgdGFsayAoMSkKK2FuZAorLkJSIHdyaXRlICgxKQorbWF5IGRpc3BsYXkgbWVzc2FnZXMgb24gdGhlIHRlcm1pbmFsLgorLlBQCitUcmFkaXRpb25hbGx5LCB3cml0ZSBhY2Nlc3MgaXMgYWxsb3dlZCBieSBkZWZhdWx0LiAgSG93ZXZlciwgYXMgdXNlcnMKK2JlY29tZSBtb3JlIGNvbnNjaW91cyBvZiB2YXJpb3VzIHNlY3VyaXR5IHJpc2tzLCB0aGVyZSBpcyBhIHRyZW5kIHRvIHJlbW92ZQord3JpdGUgYWNjZXNzIGJ5IGRlZmF1bHQsIGF0IGxlYXN0IGZvciB0aGUgcHJpbWFyeSBsb2dpbiBzaGVsbC4gIFRvIG1ha2UKK3N1cmUgeW91ciB0dHlzIGFyZSBzZXQgdGhlIHdheSB5b3Ugd2FudCB0aGVtIHRvIGJlIHNldCwKKy5CIG1lc2cKK3Nob3VsZCBiZSBleGVjdXRlZCBpbiB5b3VyIGxvZ2luIHNjcmlwdHMuCisuU0ggQVJHVU1FTlRTCisuVFAKKy5CIG4KK0Rpc2FsbG93IG1lc3NhZ2VzLgorLlRQCisuQiB5CitBbGxvdyBtZXNzYWdlcyB0byBiZSBkaXNwbGF5ZWQuCisuUFAKK0lmIG5vIGFyZ3VtZW50cyBhcmUgZ2l2ZW4sCisuQiBtZXNnCitzaG93cyB0aGUgY3VycmVudCBtZXNzYWdlIHN0YXR1cyBvbiBzdGFuZGFyZCBlcnJvciBvdXRwdXQuCisuU0ggT1BUSU9OUworLlRQCisuQlIgXC12ICwgIiBcLVwtdmVyYm9zZSIKK0V4cGxhaW4gd2hhdCBpcyBiZWluZyBkb25lLgorLlRQCisuQlIgXC1WICwgIiBcLVwtdmVyc2lvbiIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorLkJSIFwtaCAsICIgXC1cLWhlbHAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFWElUIFNUQVRVUworVGhlCisuQiBtZXNnCit1dGlsaXR5IGV4aXRzIHdpdGggb25lIG9mIHRoZSBmb2xsb3dpbmcgdmFsdWVzOgorLlJTIDQKKy5UUAorLkIgIlwgMCIKK01lc3NhZ2VzIGFyZSBhbGxvd2VkLgorLlRQCisuQiAiXCAxIgorTWVzc2FnZXMgYXJlIG5vdCBhbGxvd2VkLgorLlRQCisuQiAiPjEiCitBbiBlcnJvciBoYXMgb2NjdXJyZWQuCisuUkUKKy5TSCBGSUxFUworLkkgL2Rldi9bcHRddHlbcHFdPworLlNIICJTRUUgQUxTTyIKKy5CUiBsb2dpbiAoMSksCisuQlIgdGFsayAoMSksCisuQlIgd3JpdGUgKDEpLAorLkJSIHdhbGwgKDEpLAorLkJSIHh0ZXJtICgxKQorLlNIIEhJU1RPUlkKK0EKKy5CIG1lc2cKK2NvbW1hbmQgYXBwZWFyZWQgaW4gVmVyc2lvbiA2IEFUJlQgVU5JWC4KKworLlNIIEFWQUlMQUJJTElUWQorVGhlIG1lc2cgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvbWVzZy5jIGIvdGVybS11dGlscy9tZXNnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODcxNGFkMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvbWVzZy5jCkBAIC0wLDAgKzEsMTY4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg3LCAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIChjKSBVTklYIFN5c3RlbSBMYWJvcmF0b3JpZXMsIEluYy4KKyAqIEFsbCBvciBzb21lIHBvcnRpb25zIG9mIHRoaXMgZmlsZSBhcmUgZGVyaXZlZCBmcm9tIG1hdGVyaWFsIGxpY2Vuc2VkCisgKiB0byB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhIGJ5IEFtZXJpY2FuIFRlbGVwaG9uZSBhbmQgVGVsZWdyYXBoCisgKiBDby4gb3IgVW5peCBTeXN0ZW0gTGFib3JhdG9yaWVzLCBJbmMuIGFuZCBhcmUgcmVwcm9kdWNlZCBoZXJlaW4gd2l0aAorICogdGhlIHBlcm1pc3Npb24gb2YgVU5JWCBTeXN0ZW0gTGFib3JhdG9yaWVzLCBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiBNb2RpZmllZCBGcmkgTWFyIDEwIDIwOjI3OjE5IDE5OTUsIGZhaXRoQGNzLnVuYy5lZHUsIGZvciBMaW51eAorICogTW9kaWZpZWQgTW9uIEp1bCAgMSAxODoxNDoxMCAxOTk2LCBqYW5sQGlmaS51aW8ubm8sIHdyaXRpbmcgdG8gc3Rkb3V0CisgKglhcyBzdWdnZXN0ZWQgYnkgTWljaGFlbCBNZXNrZXMgPG1lc2tlc0BJbmZvcm1hdGlrLlJXVEgtQWFjaGVuLkRFPgorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiAyMDEwLTEyLTAxIE1hcmVrIFBvbGFjZWsgPG1tcG9sYWNla0BnbWFpbC5jb20+CisgKiAtIGNsZWFudXBzCisgKi8KKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAicnBtYXRjaC5oIgorCisvKiBleGl0IGNvZGVzICovCisKKyNkZWZpbmUgSVNfQUxMT1dFRCAgICAgICAgMCAgLyogUmVjZWl2aW5nIG1lc3NhZ2VzIGlzIGFsbG93ZWQuICAqLworI2RlZmluZSBJU19OT1RfQUxMT1dFRCAgICAxICAvKiBSZWNlaXZpbmcgbWVzc2FnZXMgaXMgbm90IGFsbG93ZWQuICAqLworI2RlZmluZSBNRVNHX0VYSVRfRkFJTFVSRSAyICAvKiBBbiBlcnJvciBvY2N1cnJlZC4gICovCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwdXRzKFVTQUdFX0hFQURFUiwgb3V0KTsKKwkvKiBUUkFOU0xBVE9SUzogdGhpcyBwcm9ncmFtIHVzZXMgZm9yIHkgYW5kIG4gcnBtYXRjaCgzKSwKKwkgKiB3aGljaCBtZWFucyB0aGV5IGNhbiBiZSB0cmFuc2xhdGVkLiAgKi8KKwlmcHJpbnRmKG91dCwKKwkgICAgICBfKCIgJXMgW29wdGlvbnNdIFt5IHwgbl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiQ29udHJvbCB3cml0ZSBhY2Nlc3Mgb2Ygb3RoZXIgdXNlcnMgdG8geW91ciB0ZXJtaW5hbC5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXYsIC0tdmVyYm9zZSAgZXhwbGFpbiB3aGF0IGlzIGJlaW5nIGRvbmVcbiIpLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoIm1lc2coMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJc3RydWN0IHN0YXQgc2I7CisJY2hhciAqdHR5OworCWludCBjaCwgZmQsIHZlcmJvc2UgPSBGQUxTRSwgcmV0OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAidmVyYm9zZSIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndicgfSwKKwkJeyAidmVyc2lvbiIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyAiaGVscCIsICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyBOVUxMLCAgICAgICAgIDAsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJ2VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGNoKSB7CisJCWNhc2UgJ3YnOgorCQkJdmVyYm9zZSA9IFRSVUU7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmICgodHR5ID0gdHR5bmFtZShTVERFUlJfRklMRU5PKSkgPT0gTlVMTCkKKwkJZXJyKE1FU0dfRVhJVF9GQUlMVVJFLCBfKCJ0dHluYW1lIGZhaWxlZCIpKTsKKwlpZiAoKGZkID0gb3Blbih0dHksIE9fUkRPTkxZKSkgPCAwKQorCQllcnIoTUVTR19FWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksIHR0eSk7CisJaWYgKGZzdGF0KGZkLCAmc2IpKQorCQllcnIoTUVTR19FWElUX0ZBSUxVUkUsIF8oInN0YXQgb2YgJXMgZmFpbGVkIiksIHR0eSk7CisKKwlpZiAoISphcmd2KSB7CisJCWNsb3NlKGZkKTsKKwkJaWYgKHNiLnN0X21vZGUgJiAoU19JV0dSUCB8IFNfSVdPVEgpKSB7CisJCQlwdXRzKF8oImlzIHkiKSk7CisJCQlyZXR1cm4gSVNfQUxMT1dFRDsKKwkJfQorCQlwdXRzKF8oImlzIG4iKSk7CisJCXJldHVybiBJU19OT1RfQUxMT1dFRDsKKwl9CisKKwlzd2l0Y2ggKHJwbWF0Y2goYXJndlswXSkpIHsKKwljYXNlIFJQTUFUQ0hfWUVTOgorI2lmZGVmIFVTRV9UVFlfR1JPVVAKKwkJaWYgKGZjaG1vZChmZCwgc2Iuc3RfbW9kZSB8IFNfSVdHUlApIDwgMCkKKyNlbHNlCisJCWlmIChmY2htb2QoZmQsIHNiLnN0X21vZGUgfCBTX0lXR1JQIHwgU19JV09USCkgPCAwKQorI2VuZGlmCisJCQllcnIoTUVTR19FWElUX0ZBSUxVUkUsIF8oImNoYW5nZSAlcyBtb2RlIGZhaWxlZCIpLCB0dHkpOworCQlpZiAodmVyYm9zZSkKKwkJCXB1dHMoXygid3JpdGUgYWNjZXNzIHRvIHlvdXIgdGVybWluYWwgaXMgYWxsb3dlZCIpKTsKKwkJcmV0ID0gSVNfQUxMT1dFRDsKKwkJYnJlYWs7CisJY2FzZSBSUE1BVENIX05POgorCQlpZiAoZmNobW9kKGZkLCBzYi5zdF9tb2RlICYgfihTX0lXR1JQfFNfSVdPVEgpKSA8IDApCisJCQkgZXJyKE1FU0dfRVhJVF9GQUlMVVJFLCBfKCJjaGFuZ2UgJXMgbW9kZSBmYWlsZWQiKSwgdHR5KTsKKwkJaWYgKHZlcmJvc2UpCisJCQlwdXRzKF8oIndyaXRlIGFjY2VzcyB0byB5b3VyIHRlcm1pbmFsIGlzIGRlbmllZCIpKTsKKwkJcmV0ID0gSVNfTk9UX0FMTE9XRUQ7CisJCWJyZWFrOworCWNhc2UgUlBNQVRDSF9JTlZBTElEOgorCQl3YXJueChfKCJpbnZhbGlkIGFyZ3VtZW50OiAlcyIpLCBhcmd2WzBdKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworICAgICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGFib3J0KCk7CisJfQorCWNsb3NlKGZkKTsKKwlyZXR1cm4gcmV0OworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9zY3JpcHQuMSBiL3Rlcm0tdXRpbHMvc2NyaXB0LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGZiNGM0ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvc2NyaXB0LjEKQEAgLTAsMCArMSwyMDUgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODAsIDE5OTAgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIglAKCMpc2NyaXB0LjEJNi41IChCZXJrZWxleSkgNy8yNy85MQorLlwiCisuVEggU0NSSVBUICIxIiAiSnVuZSAyMDE0IiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorc2NyaXB0IFwtIG1ha2UgdHlwZXNjcmlwdCBvZiB0ZXJtaW5hbCBzZXNzaW9uCisuU0ggU1lOT1BTSVMKKy5CIHNjcmlwdAorW29wdGlvbnNdCisuUkkgWyBmaWxlIF0KKy5TSCBERVNDUklQVElPTgorLkIgc2NyaXB0CittYWtlcyBhIHR5cGVzY3JpcHQgb2YgZXZlcnl0aGluZyBkaXNwbGF5ZWQgb24geW91ciB0ZXJtaW5hbC4gIEl0IGlzIHVzZWZ1bCBmb3IKK3N0dWRlbnRzIHdobyBuZWVkIGEgaGFyZGNvcHkgcmVjb3JkIG9mIGFuIGludGVyYWN0aXZlIHNlc3Npb24gYXMgcHJvb2Ygb2YgYW4KK2Fzc2lnbm1lbnQsIGFzIHRoZSB0eXBlc2NyaXB0IGZpbGUgY2FuIGJlIHByaW50ZWQgb3V0IGxhdGVyIHdpdGgKKy5CUiBscHIgKDEpLgorLlBQCitJZiB0aGUgYXJndW1lbnQKKy5JIGZpbGUKK2lzIGdpdmVuLAorLkIgc2NyaXB0CitzYXZlcyB0aGUgZGlhbG9ndWUgaW4gdGhpcworLklSIGZpbGUgLgorSWYgbm8gZmlsZW5hbWUgaXMgZ2l2ZW4sIHRoZSBkaWFsb2d1ZSBpcyBzYXZlZCBpbiB0aGUgZmlsZQorLkJSIHR5cGVzY3JpcHQgLgorLlNIIE9QVElPTlMKK0JlbG93LCB0aGUgXGZJc2l6ZVxmUiBhcmd1bWVudCBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlCitzdWZmaXhlcyBLaUIgKD0xMDI0KSwgTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCCisodGhlICJpQiIgaXMgb3B0aW9uYWwsIGUuZy4gIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSwgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKy5UUAorXGZCXC1hXGZSLCBcZkJcLVwtYXBwZW5kXGZSCitBcHBlbmQgdGhlIG91dHB1dCB0bworLkkgZmlsZQorb3IgdG8KKy5CUiB0eXBlc2NyaXB0ICwKK3JldGFpbmluZyB0aGUgcHJpb3IgY29udGVudHMuCisuVFAKK1xmQlwtY1xmUiwgXGZCXC1cLWNvbW1hbmRcZlIgXGZJY29tbWFuZFxmUgorUnVuIHRoZQorLkkgY29tbWFuZAorcmF0aGVyIHRoYW4gYW4gaW50ZXJhY3RpdmUgc2hlbGwuICBUaGlzIG1ha2VzIGl0IGVhc3kgZm9yIGEgc2NyaXB0IHRvIGNhcHR1cmUKK3RoZSBvdXRwdXQgb2YgYSBwcm9ncmFtIHRoYXQgYmVoYXZlcyBkaWZmZXJlbnRseSB3aGVuIGl0cyBzdGRvdXQgaXMgbm90IGEKK3R0eS4KKy5UUAorXGZCXC1lXGZSLCBcZkJcLVwtcmV0dXJuXGZSCitSZXR1cm4gdGhlIGV4aXQgY29kZSBvZiB0aGUgY2hpbGQgcHJvY2Vzcy4gIFVzZXMgdGhlIHNhbWUgZm9ybWF0IGFzIGJhc2gKK3Rlcm1pbmF0aW9uIG9uIHNpZ25hbCB0ZXJtaW5hdGlvbiBleGl0IGNvZGUgaXMgMTI4K24uICBUaGUgZXhpdCBjb2RlIG9mCit0aGUgY2hpbGQgcHJvY2VzcyBpcyBhbHdheXMgc3RvcmVkIGluIHR5cGUgc2NyaXB0IGZpbGUgdG9vLgorLlRQCitcZkJcLWZcZlIsIFxmQlwtXC1mbHVzaFxmUgorRmx1c2ggb3V0cHV0IGFmdGVyIGVhY2ggd3JpdGUuICBUaGlzIGlzIG5pY2UgZm9yIHRlbGVjb29wZXJhdGlvbjogb25lIHBlcnNvbgorZG9lcyBgbWtmaWZvIGZvbzsgc2NyaXB0IC1mIGZvbycsIGFuZCBhbm90aGVyIGNhbiBzdXBlcnZpc2UgcmVhbC10aW1lIHdoYXQgaXMKK2JlaW5nIGRvbmUgdXNpbmcgYGNhdCBmb28nLgorLlRQCitcZkJcLVwtZm9yY2VcZlIKK0FsbG93IHRoZSBkZWZhdWx0IG91dHB1dCBkZXN0aW5hdGlvbiwgaS5lLiB0aGUgdHlwZXNjcmlwdCBmaWxlLCB0byBiZSBhIGhhcmQKK29yIHN5bWJvbGljIGxpbmsuICBUaGUgY29tbWFuZCB3aWxsIGZvbGxvdyBhIHN5bWJvbGljIGxpbmsuCisuVFAKK1xmQlwtb1xmUiwgXGZCXC1cLW91dHB1dC1saW1pdFxmUiBcZklzaXplXGZSCitMaW1pdCB0aGUgc2l6ZSBvZiB0aGUgdHlwZXNjcmlwdCBhbmQgdGltaW5nIGZpbGVzIHRvCisuSSBzaXplCithbmQgc3RvcCB0aGUgY2hpbGQgcHJvY2VzcyBhZnRlciB0aGlzIHNpemUgaXMgZXhjZWVkZWQuICBUaGUgY2FsY3VsYXRlZAorZmlsZSBzaXplIGRvZXMgbm90IGluY2x1ZGUgdGhlIHN0YXJ0IGFuZCBkb25lIG1lc3NhZ2VzIHRoYXQgdGhlCisuQiBzY3JpcHQKK2NvbW1hbmQgcHJlcGVuZHMgYW5kIGFwcGVuZHMgdG8gdGhlIGNoaWxkIHByb2Nlc3Mgb3V0cHV0LgorRHVlIHRvIGJ1ZmZlcmluZywgdGhlIHJlc3VsdGluZyBvdXRwdXQgZmlsZSBtaWdodCBiZSBsYXJnZXIgdGhhbiB0aGUgc3BlY2lmaWVkIHZhbHVlLgorLlRQCitcZkJcLXFcZlIsIFxmQlwtXC1xdWlldFxmUgorQmUgcXVpZXQgKGRvIG5vdCB3cml0ZSBzdGFydCBhbmQgZG9uZSBtZXNzYWdlcyB0byBzdGFuZGFyZCBvdXRwdXQpLgorLlRQCitcZkJcLXRcZlJbXGZJZmlsZVxmUl0sIFxmQlwtXC10aW1pbmdcZlJbPVxmSWZpbGVcZlJdCitPdXRwdXQgdGltaW5nIGRhdGEgdG8gc3RhbmRhcmQgZXJyb3IsIG9yIHRvCisuSSBmaWxlCit3aGVuIGdpdmVuLiAgVGhpcyBkYXRhIGNvbnRhaW5zIHR3byBmaWVsZHMsIHNlcGFyYXRlZCBieSBhIHNwYWNlLiAgVGhlIGZpcnN0CitmaWVsZCBpbmRpY2F0ZXMgaG93IG11Y2ggdGltZSBlbGFwc2VkIHNpbmNlIHRoZSBwcmV2aW91cyBvdXRwdXQuICBUaGUgc2Vjb25kCitmaWVsZCBpbmRpY2F0ZXMgaG93IG1hbnkgY2hhcmFjdGVycyB3ZXJlIG91dHB1dCB0aGlzIHRpbWUuICBUaGlzIGluZm9ybWF0aW9uCitjYW4gYmUgdXNlZCB0byByZXBsYXkgdHlwZXNjcmlwdHMgd2l0aCByZWFsaXN0aWMgdHlwaW5nIGFuZCBvdXRwdXQgZGVsYXlzLgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKK1xmQlwtaFxmUiwgXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIE5PVEVTCitUaGUgc2NyaXB0IGVuZHMgd2hlbiB0aGUgZm9ya2VkIHNoZWxsIGV4aXRzIChhCisuSSBjb250cm9sLUQKK2ZvciB0aGUgQm91cm5lIHNoZWxsCisuUkIgKCBzaCAoMSkpLAorYW5kCisuSVIgZXhpdCAsCisuSSBsb2dvdXQKK29yCisuSSBjb250cm9sLWQKKyhpZgorLkkgaWdub3JlZW9mCitpcyBub3Qgc2V0KSBmb3IgdGhlCitDLXNoZWxsLAorLkJSIGNzaCAoMSkpLgorLlBQCitDZXJ0YWluIGludGVyYWN0aXZlIGNvbW1hbmRzLCBzdWNoIGFzCisuQlIgdmkgKDEpLAorY3JlYXRlIGdhcmJhZ2UgaW4gdGhlIHR5cGVzY3JpcHQgZmlsZS4KKy5CIHNjcmlwdAord29ya3MgYmVzdCB3aXRoIGNvbW1hbmRzIHRoYXQgZG8gbm90IG1hbmlwdWxhdGUgdGhlIHNjcmVlbiwgdGhlIHJlc3VsdHMgYXJlCittZWFudCB0byBlbXVsYXRlIGEgaGFyZGNvcHkgdGVybWluYWwuCisuUFAKK0l0IGlzIG5vdCByZWNvbW1lbmRlZCB0byBydW4KKy5CIHNjcmlwdAoraW4gbm9uLWludGVyYWN0aXZlIHNoZWxscy4gIFRoZSBpbm5lciBzaGVsbCBvZgorLkIgc2NyaXB0CitpcyBhbHdheXMgaW50ZXJhY3RpdmUsIGFuZCB0aGlzIGNvdWxkIGxlYWQgdG8gdW5leHBlY3RlZCByZXN1bHRzLiAgSWYgeW91IHVzZQorLkIgc2NyaXB0CitpbiB0aGUgc2hlbGwgaW5pdGlhbGl6YXRpb24gZmlsZSwgeW91IGhhdmUgdG8gYXZvaWQgZW50ZXJpbmcgYW4gaW5maW5pdGUKK2xvb3AuICBZb3UgY2FuIHVzZSBmb3IgZXhhbXBsZSB0aGUgXGZCXCUucHJvZmlsZVxmUiBmaWxlLCB3aGljaCBpcyByZWFkCitieSBsb2dpbiBzaGVsbHMgb25seToKKy5SUworLlJFCisuc3AKKy5uYQorLlJTCisubmYKK2lmIHRlc3QgLXQgMCA7IHRoZW4KKyAgICBzY3JpcHQKKyAgICBleGl0CitmaQorLmZpCisuUkUKKy5hZAorLlBQCitZb3Ugc2hvdWxkIGFsc28gYXZvaWQgdXNlIG9mIHNjcmlwdCBpbiBjb21tYW5kIHBpcGVzLCBhcworLkIgc2NyaXB0CitjYW4gcmVhZCBtb3JlIGlucHV0IHRoYW4geW91IHdvdWxkIGV4cGVjdC4KKy5QUAorLlNIIEVOVklST05NRU5UCitUaGUgZm9sbG93aW5nIGVudmlyb25tZW50IHZhcmlhYmxlIGlzIHV0aWxpemVkIGJ5CisuQlIgc2NyaXB0IDoKKy5UUAorLkIgU0hFTEwKK0lmIHRoZSB2YXJpYWJsZQorLkIgU0hFTEwKK2V4aXN0cywgdGhlIHNoZWxsIGZvcmtlZCBieQorLkIgc2NyaXB0Cit3aWxsIGJlIHRoYXQgc2hlbGwuICBJZgorLkIgU0hFTEwKK2lzIG5vdCBzZXQsIHRoZSBCb3VybmUgc2hlbGwgaXMgYXNzdW1lZC4gIChNb3N0IHNoZWxscyBzZXQgdGhpcyB2YXJpYWJsZQorYXV0b21hdGljYWxseSkuCisuU0ggU0VFIEFMU08KKy5CUiBjc2ggKDEpCisoZm9yIHRoZQorLkkgaGlzdG9yeQorbWVjaGFuaXNtKSwKKy5CUiBzY3JpcHRyZXBsYXkgKDEpCisuU0ggSElTVE9SWQorVGhlCisuQiBzY3JpcHQKK2NvbW1hbmQgYXBwZWFyZWQgaW4gMy4wQlNELgorLlNIIEJVR1MKKy5CIHNjcmlwdAorcGxhY2VzCisuSSBldmVyeXRoaW5nCitpbiB0aGUgbG9nIGZpbGUsIGluY2x1ZGluZyBsaW5lZmVlZHMgYW5kIGJhY2tzcGFjZXMuICBUaGlzIGlzIG5vdCB3aGF0IHRoZQorbmFpdmUgdXNlciBleHBlY3RzLgorLlBQCisuQiBzY3JpcHQKK2lzIHByaW1hcmlseSBkZXNpZ25lZCBmb3IgaW50ZXJhY3RpdmUgdGVybWluYWwgc2Vzc2lvbnMuICBXaGVuIHN0ZGluCitpcyBub3QgYSB0ZXJtaW5hbCAoZm9yIGV4YW1wbGU6IFxmQmVjaG8gZm9vIHwgc2NyaXB0XGZSKSwgdGhlbiB0aGUgc2Vzc2lvbgorY2FuIGhhbmcsIGJlY2F1c2UgdGhlIGludGVyYWN0aXZlIHNoZWxsIHdpdGhpbiB0aGUgc2NyaXB0IHNlc3Npb24gbWlzc2VzIEVPRiBhbmQKKy5CIHNjcmlwdAoraGFzIG5vIGNsdWUgd2hlbiB0byBjbG9zZSB0aGUgc2Vzc2lvbi4gIFNlZSB0aGUgXGZCTk9URVNcZlIgc2VjdGlvbiBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBzY3JpcHQgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvc2NyaXB0LmMgYi90ZXJtLXV0aWxzL3NjcmlwdC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZkNWRkZDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL3NjcmlwdC5jCkBAIC0wLDAgKzEsODg5IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTgwIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqICAgICAgVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICogICAgICBDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworLyoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiAyMDAwLTA3LTMwIFBlciBBbmRyZWFzIEJ1ZXIgPHBlckBsaW5wcm8ubm8+IC0gYWRkZWQgInEiLW9wdGlvbgorICoKKyAqIDIwMTQtMDUtMzAgQ3NhYmEgS29zIDxjc2FiYS5rb3NAZ21haWwuY29tPgorICogLSBmaXhlZCBhIHJhcmUgZGVhZGxvY2sgYWZ0ZXIgY2hpbGQgdGVybWluYXRpb24KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPHRpbWUuaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHRlcm1pb3MuaD4KKyNpbmNsdWRlIDxzeXMvaW9jdGwuaD4KKyNpbmNsdWRlIDxzeXMvdGltZS5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxsb2NhbGUuaD4KKyNpbmNsdWRlIDxzdGRkZWYuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHBvbGwuaD4KKyNpbmNsdWRlIDxzeXMvc2lnbmFsZmQuaD4KKyNpbmNsdWRlIDxhc3NlcnQuaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJtb25vdG9uaWMuaCIKKyNpbmNsdWRlICJ0aW1ldXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisjaW5jbHVkZSAiZGVidWcuaCIKKworc3RhdGljIFVMX0RFQlVHX0RFRklORV9NQVNLKHNjcmlwdCk7CitVTF9ERUJVR19ERUZJTkVfTUFTS05BTUVTKHNjcmlwdCkgPSBVTF9ERUJVR19FTVBUWV9NQVNLTkFNRVM7CisKKyNkZWZpbmUgU0NSSVBUX0RFQlVHX0lOSVQJKDEgPDwgMSkKKyNkZWZpbmUgU0NSSVBUX0RFQlVHX1BPTEwJKDEgPDwgMikKKyNkZWZpbmUgU0NSSVBUX0RFQlVHX1NJR05BTAkoMSA8PCAzKQorI2RlZmluZSBTQ1JJUFRfREVCVUdfSU8JCSgxIDw8IDQpCisjZGVmaW5lIFNDUklQVF9ERUJVR19NSVNDCSgxIDw8IDUpCisjZGVmaW5lIFNDUklQVF9ERUJVR19BTEwJMHhGRkZGCisKKyNkZWZpbmUgREJHKG0sIHgpICAgICAgIF9fVUxfREJHKHNjcmlwdCwgU0NSSVBUX0RFQlVHXywgbSwgeCkKKyNkZWZpbmUgT05fREJHKG0sIHgpICAgIF9fVUxfREJHX0NBTEwoc2NyaXB0LCBTQ1JJUFRfREVCVUdfLCBtLCB4KQorCisjaWYgZGVmaW5lZChIQVZFX0xJQlVUSUwpICYmIGRlZmluZWQoSEFWRV9QVFlfSCkKKyMgaW5jbHVkZSA8cHR5Lmg+CisjZW5kaWYKKworI2lmZGVmIEhBVkVfTElCVVRFTVBURVIKKyMgaW5jbHVkZSA8dXRlbXB0ZXIuaD4KKyNlbmRpZgorCisjZGVmaW5lIERFRkFVTFRfVFlQRVNDUklQVF9GSUxFTkFNRSAidHlwZXNjcmlwdCIKKworc3RydWN0IHNjcmlwdF9jb250cm9sIHsKKwljaGFyICpzaGVsbDsJCS8qIHNoZWxsIHRvIGJlIGV4ZWN1dGVkICovCisJY2hhciAqY29tbWFuZDsJCS8qIGNvbW1hbmQgdG8gYmUgZXhlY3V0ZWQgKi8KKwljaGFyICpmbmFtZTsJCS8qIG91dHB1dCBmaWxlIHBhdGggKi8KKwlGSUxFICp0eXBlc2NyaXB0ZnA7CS8qIG91dHB1dCBmaWxlIHBvaW50ZXIgKi8KKwljaGFyICp0bmFtZTsJCS8qIHRpbWluZyBmaWxlIHBhdGggKi8KKwlGSUxFICp0aW1pbmdmcDsJCS8qIHRpbWluZyBmaWxlIHBvaW50ZXIgKi8KKwl1aW50NjRfdCBvdXRzejsgICAgICAgICAvKiBjdXJyZW50IG91dHB1dCBmaWxlIHNpemUgKi8KKwl1aW50NjRfdCBtYXhzejsJCS8qIG1heGltdW0gb3V0cHV0IGZpbGUgc2l6ZSAqLworCXN0cnVjdCB0aW1ldmFsIG9sZHRpbWU7CS8qIHByZXZpb3VzIHdyaXRlIG9yIGNvbW1hbmQgc3RhcnQgdGltZSAqLworCWludCBtYXN0ZXI7CQkvKiBwc2V1ZG90ZXJtaW5hbCBtYXN0ZXIgZmlsZSBkZXNjcmlwdG9yICovCisJaW50IHNsYXZlOwkJLyogcHNldWRvdGVybWluYWwgc2xhdmUgZmlsZSBkZXNjcmlwdG9yICovCisJaW50IHBvbGxfdGltZW91dDsJLyogcG9sbCgpIHRpbWVvdXQsIHVzZWQgaW4gZW5kIG9mIGV4ZWN1dGlvbiAqLworCXBpZF90IGNoaWxkOwkJLyogY2hpbGQgcGlkICovCisJaW50IGNoaWxkc3RhdHVzOwkvKiBjaGlsZCBwcm9jZXNzIGV4aXQgdmFsdWUgKi8KKwlzdHJ1Y3QgdGVybWlvcyBhdHRyczsJLyogc2xhdmUgdGVybWluYWwgcnVudGltZSBhdHRyaWJ1dGVzICovCisJc3RydWN0IHdpbnNpemUgd2luOwkvKiB0ZXJtaW5hbCB3aW5kb3cgc2l6ZSAqLworI2lmICFIQVZFX0xJQlVUSUwgfHwgIUhBVkVfUFRZX0gKKwljaGFyICpsaW5lOwkJLyogdGVybWluYWwgbGluZSAqLworI2VuZGlmCisJdW5zaWduZWQgaW50CisJIGFwcGVuZDoxLAkJLyogYXBwZW5kIG91dHB1dCAqLworCSByY193YW50ZWQ6MSwJCS8qIHJldHVybiBjaGlsZCBleGl0IHZhbHVlICovCisJIGZsdXNoOjEsCQkvKiBmbHVzaCBhZnRlciBlYWNoIHdyaXRlICovCisJIHF1aWV0OjEsCQkvKiBzdXBwcmVzcyBtb3N0IG91dHB1dCAqLworCSB0aW1pbmc6MSwJCS8qIGluY2x1ZGUgdGltaW5nIGZpbGUgKi8KKwkgZm9yY2U6MSwJCS8qIHdyaXRlIG91dHB1dCB0byBsaW5rcyAqLworCSBpc3Rlcm06MSwJCS8qIGlzIGNoaWxkIHByb2Nlc3MgcnVubmluZyBhcyB0ZXJtaW5hbCAqLworCSBkaWU6MTsJCQkvKiB0ZXJtaW5hdGUgcHJvZ3JhbSAqLworCisJc2lnc2V0X3Qgc2lnc2V0OwkvKiBjYXRjaCBTSUdDSExEIGFuZCBTSUdXSU5DSCB3aXRoIHNpZ25hbGZkKCkgKi8KKwlzaWdzZXRfdCBzaWdvcmc7CS8qIG9yaWdpbmFsIHNpZ25hbCBtYXNrICovCisJaW50IHNpZ2ZkOwkJLyogZmlsZSBkZXNjcmlwdG9yIGZvciBzaWduYWxmZCgpICovCit9OworCitzdGF0aWMgdm9pZCBzY3JpcHRfaW5pdF9kZWJ1Zyh2b2lkKQoreworCV9fVUxfSU5JVF9ERUJVR19GUk9NX0VOVihzY3JpcHQsIFNDUklQVF9ERUJVR18sIDAsIFNDUklQVF9ERUJVRyk7Cit9CisKKy8qCisgKiBGb3IgdGVzdHMgd2Ugd2FudCB0byBiZSBhYmxlIHRvIGNvbnRyb2wgdGltZSBvdXRwdXQKKyAqLworI2lmZGVmIFRFU1RfU0NSSVBUCitzdGF0aWMgaW5saW5lIHRpbWVfdCBzY3JpcHRfdGltZSh0aW1lX3QgKnQpCit7CisJY29uc3QgY2hhciAqc3RyID0gZ2V0ZW52KCJTQ1JJUFRfVEVTVF9TRUNPTkRfU0lOQ0VfRVBPQ0giKTsKKwlpbnQ2NF90IHNlYzsKKworCWlmICghc3RyIHx8IHNzY2FuZihzdHIsICIlIlNDTmk2NCwgJnNlYykgIT0gMSkKKwkJcmV0dXJuIHRpbWUodCk7CisJaWYgKHQpCisJCSp0ID0gKHRpbWVfdClzZWM7CisJcmV0dXJuICh0aW1lX3Qpc2VjOworfQorI2Vsc2UJLyogIVRFU1RfU0NSSVBUICovCisjIGRlZmluZSBzY3JpcHRfdGltZSh4KSB0aW1lKHgpCisjZW5kaWYKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFtmaWxlXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJNYWtlIGEgdHlwZXNjcmlwdCBvZiBhIHRlcm1pbmFsIHNlc3Npb24uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1hLCAtLWFwcGVuZCAgICAgICAgICAgICAgICAgIGFwcGVuZCB0aGUgb3V0cHV0XG4iCisJCSIgLWMsIC0tY29tbWFuZCA8Y29tbWFuZD4gICAgICAgcnVuIGNvbW1hbmQgcmF0aGVyIHRoYW4gaW50ZXJhY3RpdmUgc2hlbGxcbiIKKwkJIiAtZSwgLS1yZXR1cm4gICAgICAgICAgICAgICAgICByZXR1cm4gZXhpdCBjb2RlIG9mIHRoZSBjaGlsZCBwcm9jZXNzXG4iCisJCSIgLWYsIC0tZmx1c2ggICAgICAgICAgICAgICAgICAgcnVuIGZsdXNoIGFmdGVyIGVhY2ggd3JpdGVcbiIKKwkJIiAgICAgLS1mb3JjZSAgICAgICAgICAgICAgICAgICB1c2Ugb3V0cHV0IGZpbGUgZXZlbiB3aGVuIGl0IGlzIGEgbGlua1xuIgorCQkiIC1vLCAtLW91dHB1dC1saW1pdCA8c2l6ZT4gICAgIHRlcm1pbmF0ZSBpZiBvdXRwdXQgZmlsZXMgZXhjZWVkIHNpemVcbiIKKwkJIiAtcSwgLS1xdWlldCAgICAgICAgICAgICAgICAgICBiZSBxdWlldFxuIgorCQkiIC10WzxmaWxlPl0sIC0tdGltaW5nWz08ZmlsZT5dIG91dHB1dCB0aW1pbmcgZGF0YSB0byBzdGRlcnIgb3IgdG8gRklMRVxuIgorCQkpLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMzEpKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgic2NyaXB0KDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgdHlwZXNjcmlwdF9tZXNzYWdlX3N0YXJ0KGNvbnN0IHN0cnVjdCBzY3JpcHRfY29udHJvbCAqY3RsLCB0aW1lX3QgKnR2ZWMpCit7CisJY2hhciBidWZbRk9STUFUX1RJTUVTVEFNUF9NQVhdOworCWludCBjb2xzID0gMCwgbGluZXMgPSAwOworCWNvbnN0IGNoYXIgKnR0eSA9IE5VTEwsICp0ZXJtID0gTlVMTDsKKworCWlmICghY3RsLT50eXBlc2NyaXB0ZnApCisJCXJldHVybjsKKworCXN0cnRpbWVfaXNvKHR2ZWMsIElTT19USU1FU1RBTVAsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJZnByaW50ZihjdGwtPnR5cGVzY3JpcHRmcCwgXygiU2NyaXB0IHN0YXJ0ZWQgb24gJXMgWyIpLCBidWYpOworCisJaWYgKGN0bC0+aXN0ZXJtKSB7CisJCWdldF90ZXJtaW5hbF9kaW1lbnNpb24oJmNvbHMsICZsaW5lcyk7CisJCWdldF90ZXJtaW5hbF9uYW1lKCZ0dHksIE5VTEwsIE5VTEwpOworCQlnZXRfdGVybWluYWxfdHlwZSgmdGVybSk7CisKKwkJaWYgKHRlcm0pCisJCQlmcHJpbnRmKGN0bC0+dHlwZXNjcmlwdGZwLCAiVEVSTT1cIiVzXCIgIiwgdGVybSk7CisJCWlmICh0dHkpCisJCQlmcHJpbnRmKGN0bC0+dHlwZXNjcmlwdGZwLCAiVFRZPVwiJXNcIiAiLCB0dHkpOworCisJCWZwcmludGYoY3RsLT50eXBlc2NyaXB0ZnAsICJDT0xVTU5TPVwiJWRcIiBMSU5FUz1cIiVkXCIiLCBjb2xzLCBsaW5lcyk7CisJfSBlbHNlCisJCWZwcmludGYoY3RsLT50eXBlc2NyaXB0ZnAsIF8oIjxub3QgZXhlY3V0ZWQgb24gdGVybWluYWw+IikpOworCisJZnB1dHMoIl1cbiIsIGN0bC0+dHlwZXNjcmlwdGZwKTsKK30KKworc3RhdGljIHZvaWQgdHlwZXNjcmlwdF9tZXNzYWdlX2RvbmUoY29uc3Qgc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwsIGludCBzdGF0dXMsIGNvbnN0IGNoYXIgKm1zZykKK3sKKwljaGFyIGJ1ZltGT1JNQVRfVElNRVNUQU1QX01BWF07CisJdGltZV90IHR2ZWM7CisKKwlpZiAoIWN0bC0+dHlwZXNjcmlwdGZwKQorCQlyZXR1cm47CisKKwl0dmVjID0gc2NyaXB0X3RpbWUoKHRpbWVfdCAqKU5VTEwpOworCisJc3RydGltZV9pc28oJnR2ZWMsIElTT19USU1FU1RBTVAsIGJ1Ziwgc2l6ZW9mKGJ1ZikpOworCisJaWYgKG1zZykKKwkJZnByaW50ZihjdGwtPnR5cGVzY3JpcHRmcCwgXygiXG5TY3JpcHQgZG9uZSBvbiAlcyBbPCVzPl1cbiIpLCBidWYsIG1zZyk7CisJZWxzZQorCQlmcHJpbnRmKGN0bC0+dHlwZXNjcmlwdGZwLCBfKCJcblNjcmlwdCBkb25lIG9uICVzIFtDT01NQU5EX0VYSVRfQ09ERT1cIiVkXCJdXG4iKSwgYnVmLCBzdGF0dXMpOworfQorCitzdGF0aWMgdm9pZCBkaWVfaWZfbGluayhjb25zdCBzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzOworCisJaWYgKGN0bC0+Zm9yY2UpCisJCXJldHVybjsKKwlpZiAobHN0YXQoY3RsLT5mbmFtZSwgJnMpID09IDAgJiYgKFNfSVNMTksocy5zdF9tb2RlKSB8fCBzLnN0X25saW5rID4gMSkpCisJCWVycngoRVhJVF9GQUlMVVJFLAorCQkgICAgIF8oIm91dHB1dCBmaWxlIGAlcycgaXMgYSBsaW5rXG4iCisJCSAgICAgICAiVXNlIC0tZm9yY2UgaWYgeW91IHJlYWxseSB3YW50IHRvIHVzZSBpdC5cbiIKKwkJICAgICAgICJQcm9ncmFtIG5vdCBzdGFydGVkLiIpLCBjdGwtPmZuYW1lKTsKK30KKworc3RhdGljIHZvaWQgcmVzdG9yZV90dHkoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwsIGludCBtb2RlKQoreworCXN0cnVjdCB0ZXJtaW9zIHJ0dDsKKworCWlmICghY3RsLT5pc3Rlcm0pCisJCXJldHVybjsKKworCXJ0dCA9IGN0bC0+YXR0cnM7CisJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgbW9kZSwgJnJ0dCk7Cit9CisKK3N0YXRpYyB2b2lkIGVuYWJsZV9yYXdtb2RlX3R0eShzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgdGVybWlvcyBydHQ7CisKKwlpZiAoIWN0bC0+aXN0ZXJtKQorCQlyZXR1cm47CisKKwlydHQgPSBjdGwtPmF0dHJzOworCWNmbWFrZXJhdygmcnR0KTsKKwlydHQuY19sZmxhZyAmPSB+RUNITzsKKwl0Y3NldGF0dHIoU1RESU5fRklMRU5PLCBUQ1NBTk9XLCAmcnR0KTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZG9uZV9sb2coc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwsIGNvbnN0IGNoYXIgKmxvZ19tc2cpCit7CisJaW50IGNoaWxkc3RhdHVzOworCisJREJHKE1JU0MsIHVsX2RlYnVnKCJkb25lISIpKTsKKworCXJlc3RvcmVfdHR5KGN0bCwgVENTQURSQUlOKTsKKworCWlmIChXSUZTSUdOQUxFRChjdGwtPmNoaWxkc3RhdHVzKSkKKwkJY2hpbGRzdGF0dXMgPSBXVEVSTVNJRyhjdGwtPmNoaWxkc3RhdHVzKSArIDB4ODA7CisJZWxzZQorCQljaGlsZHN0YXR1cyA9IFdFWElUU1RBVFVTKGN0bC0+Y2hpbGRzdGF0dXMpOworCisJaWYgKGN0bC0+dHlwZXNjcmlwdGZwKSB7CisJCXR5cGVzY3JpcHRfbWVzc2FnZV9kb25lKGN0bCwgY2hpbGRzdGF0dXMsIGxvZ19tc2cpOworCQlpZiAoIWN0bC0+cXVpZXQpCisJCQlwcmludGYoXygiU2NyaXB0IGRvbmUsIGZpbGUgaXMgJXNcbiIpLCBjdGwtPmZuYW1lKTsKKwl9CisjaWZkZWYgSEFWRV9MSUJVVEVNUFRFUgorCWlmIChjdGwtPm1hc3RlciA+PSAwKQorCQl1dGVtcHRlcl9yZW1vdmVfcmVjb3JkKGN0bC0+bWFzdGVyKTsKKyNlbmRpZgorCWtpbGwoY3RsLT5jaGlsZCwgU0lHVEVSTSk7CS8qIG1ha2Ugc3VyZSB3ZSBkb24ndCBjcmVhdGUgb3JwaGFucyAqLworCisJaWYgKGN0bC0+dGltaW5nZnAgJiYgY2xvc2Vfc3RyZWFtKGN0bC0+dGltaW5nZnApICE9IDApCisJCWVycihFWElUX0ZBSUxVUkUsICJ3cml0ZSBmYWlsZWQ6ICVzIiwgY3RsLT50bmFtZSk7CisJaWYgKGN0bC0+dHlwZXNjcmlwdGZwICYmIGNsb3NlX3N0cmVhbShjdGwtPnR5cGVzY3JpcHRmcCkgIT0gMCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIndyaXRlIGZhaWxlZDogJXMiLCBjdGwtPmZuYW1lKTsKKworCWV4aXQoY3RsLT5yY193YW50ZWQgPyBjaGlsZHN0YXR1cyA6IEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGRvbmUoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwpCit7CisJZG9uZV9sb2coY3RsLCBOVUxMKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZmFpbChzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCkKK3sKKwlEQkcoTUlTQywgdWxfZGVidWcoImZhaWwhIikpOworCWtpbGwoMCwgU0lHVEVSTSk7CisJZG9uZShjdGwpOworfQorCitzdGF0aWMgdm9pZCB3YWl0X2Zvcl9jaGlsZChzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCwgaW50IHdhaXQpCit7CisJaW50IHN0YXR1czsKKwlwaWRfdCBwaWQ7CisJaW50IG9wdGlvbnMgPSB3YWl0ID8gMCA6IFdOT0hBTkc7CisKKwlEQkcoTUlTQywgdWxfZGVidWcoIndhaXRpbmcgZm9yIGNoaWxkIikpOworCisJd2hpbGUgKChwaWQgPSB3YWl0Mygmc3RhdHVzLCBvcHRpb25zLCBOVUxMKSkgPiAwKQorCQlpZiAocGlkID09IGN0bC0+Y2hpbGQpCisJCQljdGwtPmNoaWxkc3RhdHVzID0gc3RhdHVzOworfQorCitzdGF0aWMgdm9pZCB3cml0ZV9vdXRwdXQoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwsIGNoYXIgKm9idWYsCisJCQkgICAgc3NpemVfdCBieXRlcykKK3sKKwlpbnQgdGltaW5nX2J5dGVzID0gMDsKKworCURCRyhJTywgdWxfZGVidWcoIiB3cml0aW5nIG91dHB1dCIpKTsKKworCWlmIChjdGwtPnRpbWluZyAmJiBjdGwtPnRpbWluZ2ZwKSB7CisJCXN0cnVjdCB0aW1ldmFsIG5vdywgZGVsdGE7CisKKwkJREJHKElPLCB1bF9kZWJ1ZygiICB3cml0aW5nIHRpbWluZyBpbmZvIikpOworCisJCWdldHRpbWVfbW9ub3RvbmljKCZub3cpOworCQl0aW1lcnN1Yigmbm93LCAmY3RsLT5vbGR0aW1lLCAmZGVsdGEpOworCQl0aW1pbmdfYnl0ZXMgPSBmcHJpbnRmKGN0bC0+dGltaW5nZnAsICIlbGQuJTA2bGQgJXpkXG4iLAorCQkgICAgICAgIChsb25nKWRlbHRhLnR2X3NlYywgKGxvbmcpZGVsdGEudHZfdXNlYywgYnl0ZXMpOworCQlpZiAoY3RsLT5mbHVzaCkKKwkJCWZmbHVzaChjdGwtPnRpbWluZ2ZwKTsKKwkJY3RsLT5vbGR0aW1lID0gbm93OworCQlpZiAodGltaW5nX2J5dGVzIDwgMCkKKwkJCXRpbWluZ19ieXRlcyA9IDA7CisJfQorCisJREJHKElPLCB1bF9kZWJ1ZygiICB3cml0aW5nIHRvIHNjcmlwdCBmaWxlIikpOworCisJaWYgKGZ3cml0ZV9hbGwob2J1ZiwgMSwgYnl0ZXMsIGN0bC0+dHlwZXNjcmlwdGZwKSkgeworCQl3YXJuKF8oImNhbm5vdCB3cml0ZSBzY3JpcHQgZmlsZSIpKTsKKwkJZmFpbChjdGwpOworCX0KKwlpZiAoY3RsLT5mbHVzaCkKKwkJZmZsdXNoKGN0bC0+dHlwZXNjcmlwdGZwKTsKKworCURCRyhJTywgdWxfZGVidWcoIiAgd3JpdGluZyB0byBvdXRwdXQiKSk7CisKKwlpZiAod3JpdGVfYWxsKFNURE9VVF9GSUxFTk8sIG9idWYsIGJ5dGVzKSkgeworCQlEQkcoSU8sIHVsX2RlYnVnKCIgIHdyaXRpbmcgb3V0cHV0ICpmYWlsZWQqIikpOworCQl3YXJuKF8oIndyaXRlIGZhaWxlZCIpKTsKKwkJZmFpbChjdGwpOworCX0KKworCWlmIChjdGwtPm1heHN6ICE9IDApCisJCWN0bC0+b3V0c3ogKz0gYnl0ZXMgKyB0aW1pbmdfYnl0ZXM7CisKKwlEQkcoSU8sIHVsX2RlYnVnKCIgIHdyaXRpbmcgb3V0cHV0ICpkb25lKiIpKTsKK30KKworc3RhdGljIGludCB3cml0ZV90b19zaGVsbChzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCwKKwkJCSAgY2hhciAqYnVmLCBzaXplX3QgYnVmc3opCit7CisJcmV0dXJuIHdyaXRlX2FsbChjdGwtPm1hc3RlciwgYnVmLCBidWZzeik7Cit9CisKKy8qCisgKiBUaGUgc2NyaXB0KDEpIGlzIHVzdWFsbHkgZmFzdGVyIHRoYW4gc2hlbGwsIHNvIGl0J3MgYSBnb29kIGlkZWEgdG8gd2FpdCB1bnRpbAorICogdGhlIHByZXZpb3VzIG1lc3NhZ2UgaGFzIGJlZW4gYWxyZWFkeSByZWFkIGJ5IHNoZWxsIGZyb20gc2xhdmUgYmVmb3JlIHdlCisgKiB3cml0ZSB0byBtYXN0ZXIuIFRoaXMgaXMgbmVjZXNzYXJ5IGVzcGVjaWFsbHkgZm9yIEVPRiBzaXR1YXRpb24gd2hlbiB3ZSBjYW4KKyAqIHNlbmQgRU9GIHRvIG1hc3RlciBiZWZvcmUgc2hlbGwgaXMgZnVsbHkgaW5pdGlhbGl6ZWQsIHRvIHdvcmthcm91bmQgdGhpcworICogcHJvYmxlbSB3ZSB3YWl0IHVudGlsIHNsYXZlIGlzIGVtcHR5LiBGb3IgZXhhbXBsZToKKyAqCisgKiAgIGVjaG8gImRhdGUiIHwgc2NyaXB0CisgKgorICogVW5mb3J0dW5hdGVseSwgdGhlIGNoaWxkICh1c3VhbGx5IHNoZWxsKSBjYW4gaWdub3JlIHN0ZGluIGF0IGFsbCwgc28gd2UKKyAqIGRvbid0IHdhaXQgZm9yZXZlciB0byBhdm9pZCBkZWFkIGxvY2tzLi4uCisgKgorICogTm90ZSB0aGF0IHNjcmlwdCBpcyBwcmltYXJpbHkgZGVzaWduZWQgZm9yIGludGVyYWN0aXZlIHNlc3Npb25zIGFzIGl0CisgKiBtYWludGFpbnMgbWFzdGVyK3NsYXZlIHR0eSBzdHVmZiB3aXRoaW4gdGhlIHNlc3Npb24uIFVzZSBwaXBlIHRvIHdyaXRlIHRvCisgKiBzY3JpcHQoMSkgYW5kIGFzc3VtZSBub24taW50ZXJhY3RpdmUgKHRlZS1saWtlKSBiZWhhdmlvciBpcyBOT1Qgd2VsbAorICogc3VwcG9ydGVkLgorICovCitzdGF0aWMgdm9pZCB3cml0ZV9lb2ZfdG9fc2hlbGwoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwpCit7CisJdW5zaWduZWQgaW50IHRyaWVzID0gMDsKKwlzdHJ1Y3QgcG9sbGZkIGZkc1tdID0geworCSAgICAgICAgICAgeyAuZmQgPSBjdGwtPnNsYXZlLCAuZXZlbnRzID0gUE9MTElOIH0KKwl9OworCWNoYXIgYyA9IERFRl9FT0Y7CisKKwlEQkcoSU8sIHVsX2RlYnVnKCIgd2FpdGluZyBmb3IgZW1wdHkgc2xhdmUiKSk7CisJd2hpbGUgKHBvbGwoZmRzLCAxLCAxMCkgPT0gMSAmJiB0cmllcyA8IDgpIHsKKwkJREJHKElPLCB1bF9kZWJ1ZygiICAgc2xhdmUgaXMgbm90IGVtcHR5IikpOworCQl4dXNsZWVwKDI1MDAwMCk7CisJCXRyaWVzKys7CisJfQorCWlmICh0cmllcyA8IDgpCisJCURCRyhJTywgdWxfZGVidWcoIiAgIHNsYXZlIGlzIGVtcHR5IG5vdyIpKTsKKworCURCRyhJTywgdWxfZGVidWcoIiBzZW5kaW5nIEVPRiB0byBtYXN0ZXIiKSk7CisJd3JpdGVfdG9fc2hlbGwoY3RsLCAmYywgc2l6ZW9mKGNoYXIpKTsKK30KKworc3RhdGljIHZvaWQgaGFuZGxlX2lvKHN0cnVjdCBzY3JpcHRfY29udHJvbCAqY3RsLCBpbnQgZmQsIGludCAqZW9mKQoreworCWNoYXIgYnVmW0JVRlNJWl07CisJc3NpemVfdCBieXRlczsKKwlEQkcoSU8sIHVsX2RlYnVnKCIlZCBGRCBhY3RpdmUiLCBmZCkpOworCSplb2YgPSAwOworCisJLyogcmVhZCBmcm9tIGFjdGl2ZSBGRCAqLworCWJ5dGVzID0gcmVhZChmZCwgYnVmLCBzaXplb2YoYnVmKSk7CisJaWYgKGJ5dGVzIDwgMCkgeworCQlpZiAoZXJybm8gPT0gRUFHQUlOIHx8IGVycm5vID09IEVJTlRSKQorCQkJcmV0dXJuOworCQlmYWlsKGN0bCk7CisJfQorCisJaWYgKGJ5dGVzID09IDApIHsKKwkJKmVvZiA9IDE7CisJCXJldHVybjsKKwl9CisKKwkvKiBmcm9tIHN0ZGluICh1c2VyKSB0byBjb21tYW5kICovCisJaWYgKGZkID09IFNURElOX0ZJTEVOTykgeworCQlEQkcoSU8sIHVsX2RlYnVnKCIgc3RkaW4gLS0+IG1hc3RlciAlemQgYnl0ZXMiLCBieXRlcykpOworCisJCWlmICh3cml0ZV90b19zaGVsbChjdGwsIGJ1ZiwgYnl0ZXMpKSB7CisJCQl3YXJuKF8oIndyaXRlIGZhaWxlZCIpKTsKKwkJCWZhaWwoY3RsKTsKKwkJfQorCQkvKiB3aXRob3V0IHN5bmMgd3JpdGVfb3V0cHV0KCkgd2lsbCB3cml0ZSBib3RoIGlucHV0ICYKKwkJICogc2hlbGwgb3V0cHV0IHRoYXQgbG9va3MgbGlrZSBkb3VibGUgZWNob2luZyAqLworCQlmZGF0YXN5bmMoY3RsLT5tYXN0ZXIpOworCisJLyogZnJvbSBjb21tYW5kIChtYXN0ZXIpIHRvIHN0ZG91dCBhbmQgbG9nICovCisJfSBlbHNlIGlmIChmZCA9PSBjdGwtPm1hc3RlcikgeworCQlEQkcoSU8sIHVsX2RlYnVnKCIgbWFzdGVyIC0tPiBzdGRvdXQgJXpkIGJ5dGVzIiwgYnl0ZXMpKTsKKwkJd3JpdGVfb3V0cHV0KGN0bCwgYnVmLCBieXRlcyk7CisKKwkJLyogY2hlY2sgb3V0cHV0IGxpbWl0ICovCisJCWlmIChjdGwtPm1heHN6ICE9IDAgJiYgY3RsLT5vdXRzeiA+PSBjdGwtPm1heHN6KSB7CisJCQlpZiAoIWN0bC0+cXVpZXQpCisJCQkJcHJpbnRmKF8oIlNjcmlwdCB0ZXJtaW5hdGVkLCBtYXggb3V0cHV0IGZpbGUgc2l6ZSAlIlBSSXU2NCIgZXhjZWVkZWQuXG4iKSwgY3RsLT5tYXhzeik7CisJCQlEQkcoSU8sIHVsX2RlYnVnKCJvdXRwdXQgc2l6ZSAlIlBSSXU2NCIsIGV4Y2VlZGVkIGxpbWl0ICUiUFJJdTY0LCBjdGwtPm91dHN6LCBjdGwtPm1heHN6KSk7CisJCQlkb25lX2xvZyhjdGwsIF8oIm1heCBvdXRwdXQgc2l6ZSBleGNlZWRlZCIpKTsKKwkJfQorCX0KK30KKworc3RhdGljIHZvaWQgaGFuZGxlX3NpZ25hbChzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgKmN0bCwgaW50IGZkKQoreworCXN0cnVjdCBzaWduYWxmZF9zaWdpbmZvIGluZm87CisJc3NpemVfdCBieXRlczsKKworCURCRyhTSUdOQUwsIHVsX2RlYnVnKCJzaWduYWwgRkQgJWQgYWN0aXZlIiwgZmQpKTsKKworCWJ5dGVzID0gcmVhZChmZCwgJmluZm8sIHNpemVvZihpbmZvKSk7CisJaWYgKGJ5dGVzICE9IHNpemVvZihpbmZvKSkgeworCQlpZiAoYnl0ZXMgPCAwICYmIChlcnJubyA9PSBFQUdBSU4gfHwgZXJybm8gPT0gRUlOVFIpKQorCQkJcmV0dXJuOworCQlmYWlsKGN0bCk7CisJfQorCisJc3dpdGNoIChpbmZvLnNzaV9zaWdubykgeworCWNhc2UgU0lHQ0hMRDoKKwkJREJHKFNJR05BTCwgdWxfZGVidWcoIiBnZXQgc2lnbmFsIFNJR0NITEQiKSk7CisJCWlmIChpbmZvLnNzaV9jb2RlID09IENMRF9FWElURUQpIHsKKwkJCXdhaXRfZm9yX2NoaWxkKGN0bCwgMCk7CisJCQljdGwtPnBvbGxfdGltZW91dCA9IDEwOworCQl9IGVsc2UgaWYgKGluZm8uc3NpX3N0YXR1cyA9PSBTSUdTVE9QICYmIGN0bC0+Y2hpbGQpIHsKKwkJCURCRyhTSUdOQUwsIHVsX2RlYnVnKCIgY2hpbGQgc3RvcCBieSBTSUdTVE9QIC0tIHN0b3AgcGFyZW50IHRvbyIpKTsKKwkJCWtpbGwoZ2V0cGlkKCksIFNJR1NUT1ApOworCQkJREJHKFNJR05BTCwgdWxfZGVidWcoIiByZXN1bWUiKSk7CisJCQlraWxsKGN0bC0+Y2hpbGQsIFNJR0NPTlQpOworCQl9CisJCXJldHVybjsKKwljYXNlIFNJR1dJTkNIOgorCQlEQkcoU0lHTkFMLCB1bF9kZWJ1ZygiIGdldCBzaWduYWwgU0lHV0lOQ0giKSk7CisJCWlmIChjdGwtPmlzdGVybSkgeworCQkJaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DR1dJTlNaLCAoY2hhciAqKSZjdGwtPndpbik7CisJCQlpb2N0bChjdGwtPnNsYXZlLCBUSU9DU1dJTlNaLCAoY2hhciAqKSZjdGwtPndpbik7CisJCX0KKwkJYnJlYWs7CisJY2FzZSBTSUdURVJNOgorCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgU0lHSU5UOgorCQkvKiBmYWxsdGhyb3VnaCAqLworCWNhc2UgU0lHUVVJVDoKKwkJREJHKFNJR05BTCwgdWxfZGVidWcoIiBnZXQgc2lnbmFsIFNJR3tURVJNLElOVCxRVUlUfSIpKTsKKwkJZnByaW50ZihzdGRlcnIsIF8oIlxuU2Vzc2lvbiB0ZXJtaW5hdGVkLlxuIikpOworCQkvKiBDaGlsZCB0ZXJtaW5hdGlvbiBpcyBnb2luZyB0byBnZW5lcmF0ZSBTSUdDSElMRCAoc2VlIGFib3ZlKSAqLworCQlraWxsKGN0bC0+Y2hpbGQsIFNJR1RFUk0pOworCQlyZXR1cm47CisJZGVmYXVsdDoKKwkJYWJvcnQoKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGRvX2lvKHN0cnVjdCBzY3JpcHRfY29udHJvbCAqY3RsKQoreworCWludCByZXQsIGVvZiA9IDA7CisJdGltZV90IHR2ZWMgPSBzY3JpcHRfdGltZSgodGltZV90ICopTlVMTCk7CisJZW51bSB7CisJCVBPTExGRF9TSUdOQUwgPSAwLAorCQlQT0xMRkRfTUFTVEVSLAorCQlQT0xMRkRfU1RESU4KKworCX07CisJc3RydWN0IHBvbGxmZCBwZmRbXSA9IHsKKwkJW1BPTExGRF9TSUdOQUxdID0geyAuZmQgPSBjdGwtPnNpZ2ZkLCAgIC5ldmVudHMgPSBQT0xMSU4gfCBQT0xMRVJSIHwgUE9MTEhVUCB9LAorCQlbUE9MTEZEX01BU1RFUl0gPSB7IC5mZCA9IGN0bC0+bWFzdGVyLCAgLmV2ZW50cyA9IFBPTExJTiB8IFBPTExFUlIgfCBQT0xMSFVQIH0sCisJCVtQT0xMRkRfU1RESU5dCT0geyAuZmQgPSBTVERJTl9GSUxFTk8sIC5ldmVudHMgPSBQT0xMSU4gfCBQT0xMRVJSIHwgUE9MTEhVUCB9CisJfTsKKworCisJaWYgKChjdGwtPnR5cGVzY3JpcHRmcCA9CisJICAgICBmb3BlbihjdGwtPmZuYW1lLCBjdGwtPmFwcGVuZCA/ICJhIiBVTF9DTE9FWEVDU1RSIDogInciIFVMX0NMT0VYRUNTVFIpKSA9PSBOVUxMKSB7CisKKwkJcmVzdG9yZV90dHkoY3RsLCBUQ1NBTk9XKTsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBjdGwtPmZuYW1lKTsKKwkJZmFpbChjdGwpOworCX0KKwlpZiAoY3RsLT50aW1pbmcpIHsKKwkJY29uc3QgY2hhciAqdG5hbWUgPSBjdGwtPnRuYW1lID8gY3RsLT50bmFtZSA6ICIvZGV2L3N0ZGVyciI7CisKKwkJaWYgKCEoY3RsLT50aW1pbmdmcCA9IGZvcGVuKHRuYW1lLCAidyIgVUxfQ0xPRVhFQ1NUUikpKSB7CisJCQlyZXN0b3JlX3R0eShjdGwsIFRDU0FOT1cpOworCQkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCB0bmFtZSk7CisJCQlmYWlsKGN0bCk7CisJCX0KKwl9CisKKworCWlmIChjdGwtPnR5cGVzY3JpcHRmcCkKKwkJdHlwZXNjcmlwdF9tZXNzYWdlX3N0YXJ0KGN0bCwgJnR2ZWMpOworCisJZ2V0dGltZV9tb25vdG9uaWMoJmN0bC0+b2xkdGltZSk7CisKKwl3aGlsZSAoIWN0bC0+ZGllKSB7CisJCXNpemVfdCBpOworCQlpbnQgZXJyc3Y7CisKKwkJREJHKFBPTEwsIHVsX2RlYnVnKCJjYWxsaW5nIHBvbGwoKSIpKTsKKworCQkvKiB3YWl0IGZvciBpbnB1dCBvciBzaWduYWwgKi8KKwkJcmV0ID0gcG9sbChwZmQsIEFSUkFZX1NJWkUocGZkKSwgY3RsLT5wb2xsX3RpbWVvdXQpOworCQllcnJzdiA9IGVycm5vOworCQlEQkcoUE9MTCwgdWxfZGVidWcoInBvbGwoKSByYz0lZCIsIHJldCkpOworCisJCWlmIChyZXQgPCAwKSB7CisJCQlpZiAoZXJyc3YgPT0gRUFHQUlOKQorCQkJCWNvbnRpbnVlOworCQkJd2FybihfKCJwb2xsIGZhaWxlZCIpKTsKKwkJCWZhaWwoY3RsKTsKKwkJfQorCQlpZiAocmV0ID09IDApIHsKKwkJCURCRyhQT0xMLCB1bF9kZWJ1Zygic2V0dGluZyBkaWU9MSIpKTsKKwkJCWN0bC0+ZGllID0gMTsKKwkJCWJyZWFrOworCQl9CisKKwkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocGZkKTsgaSsrKSB7CisJCQlpZiAocGZkW2ldLnJldmVudHMgPT0gMCkKKwkJCQljb250aW51ZTsKKworCQkJREJHKFBPTEwsIHVsX2RlYnVnKCIgYWN0aXZlIHBmZFslc10uZmQ9JWQgJXMgJXMgJXMiLAorCQkJCQkJaSA9PSBQT0xMRkRfU1RESU4gID8gInN0ZGluIiA6CisJCQkJCQlpID09IFBPTExGRF9NQVNURVIgPyAibWFzdGVyIiA6CisJCQkJCQlpID09IFBPTExGRF9TSUdOQUwgPyAic2lnbmFsIiA6ICI/Pz8iLAorCQkJCQkJcGZkW2ldLmZkLAorCQkJCQkJcGZkW2ldLnJldmVudHMgJiBQT0xMSU4gID8gIlBPTExJTiIgOiAiIiwKKwkJCQkJCXBmZFtpXS5yZXZlbnRzICYgUE9MTEhVUCA/ICJQT0xMSFVQIiA6ICIiLAorCQkJCQkJcGZkW2ldLnJldmVudHMgJiBQT0xMRVJSID8gIlBPTExFUlIiIDogIiIpKTsKKwkJCXN3aXRjaCAoaSkgeworCQkJY2FzZSBQT0xMRkRfU1RESU46CisJCQljYXNlIFBPTExGRF9NQVNURVI6CisJCQkJLyogZGF0YSAqLworCQkJCWlmIChwZmRbaV0ucmV2ZW50cyAmIFBPTExJTikKKwkJCQkJaGFuZGxlX2lvKGN0bCwgcGZkW2ldLmZkLCAmZW9mKTsKKwkJCQkvKiBFT0YgbWF5YmUgZGV0ZWN0ZWQgYnkgdHdvIHdheXM6CisJCQkJICoJQSkgcG9sbCgpIHJldHVybiBQT0xMSFVQIGV2ZW50IGFmdGVyIGNsb3NlKCkKKwkJCQkgKglCKSByZWFkKCkgcmV0dXJucyAwIChubyBkYXRhKSAqLworCQkJCWlmICgocGZkW2ldLnJldmVudHMgJiBQT0xMSFVQKSB8fCBlb2YpIHsKKwkJCQkJREJHKFBPTEwsIHVsX2RlYnVnKCIgaWdub3JlIEZEIikpOworCQkJCQlwZmRbaV0uZmQgPSAtMTsKKwkJCQkJaWYgKGkgPT0gUE9MTEZEX1NURElOKSB7CisJCQkJCQl3cml0ZV9lb2ZfdG9fc2hlbGwoY3RsKTsKKwkJCQkJCURCRyhQT0xMLCB1bF9kZWJ1ZygiICBpZ25vcmUgU1RESU4iKSk7CisJCQkJCX0KKwkJCQl9CisJCQkJY29udGludWU7CisJCQljYXNlIFBPTExGRF9TSUdOQUw6CisJCQkJaGFuZGxlX3NpZ25hbChjdGwsIHBmZFtpXS5mZCk7CisJCQkJYnJlYWs7CisJCQl9CisJCX0KKwl9CisKKwlEQkcoUE9MTCwgdWxfZGVidWcoInBvbGwoKSBkb25lIikpOworCisJaWYgKCFjdGwtPmRpZSkKKwkJd2FpdF9mb3JfY2hpbGQoY3RsLCAxKTsKKworCWRvbmUoY3RsKTsKK30KKworc3RhdGljIHZvaWQgZ2V0c2xhdmUoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwpCit7CisjaWZuZGVmIEhBVkVfTElCVVRJTAorCWN0bC0+bGluZVtzdHJsZW4oIi9kZXYvIildID0gJ3QnOworCWN0bC0+c2xhdmUgPSBvcGVuKGN0bC0+bGluZSwgT19SRFdSIHwgT19DTE9FWEVDKTsKKwlpZiAoY3RsLT5zbGF2ZSA8IDApIHsKKwkJd2FybihfKCJjYW5ub3Qgb3BlbiAlcyIpLCBjdGwtPmxpbmUpOworCQlmYWlsKGN0bCk7CisJfQorCWlmIChjdGwtPmlzdGVybSkgeworCQl0Y3NldGF0dHIoY3RsLT5zbGF2ZSwgVENTQU5PVywgJmN0bC0+YXR0cnMpOworCQlpb2N0bChjdGwtPnNsYXZlLCBUSU9DU1dJTlNaLCAoY2hhciAqKSZjdGwtPndpbik7CisJfQorI2VuZGlmCisJc2V0c2lkKCk7CisJaW9jdGwoY3RsLT5zbGF2ZSwgVElPQ1NDVFRZLCAwKTsKK30KKworLyogZG9uJ3QgdXNlIERCRygpIHN0dWZmIGhlcmUgb3RoZXJ3aXNlIGl0IHdpbGwgYmUgaW4gIHRoZSB0eXBlc2NyaXB0IGZpbGUgKi8KK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIGRvX3NoZWxsKHN0cnVjdCBzY3JpcHRfY29udHJvbCAqY3RsKQoreworCWNoYXIgKnNobmFtZTsKKworCWdldHNsYXZlKGN0bCk7CisKKwkvKiBjbG9zZSB0aGluZ3MgaXJyZWxldmFudCBmb3IgdGhpcyBwcm9jZXNzICovCisJY2xvc2UoY3RsLT5tYXN0ZXIpOworCWNsb3NlKGN0bC0+c2lnZmQpOworCisJZHVwMihjdGwtPnNsYXZlLCBTVERJTl9GSUxFTk8pOworCWR1cDIoY3RsLT5zbGF2ZSwgU1RET1VUX0ZJTEVOTyk7CisJZHVwMihjdGwtPnNsYXZlLCBTVERFUlJfRklMRU5PKTsKKwljbG9zZShjdGwtPnNsYXZlKTsKKworCWN0bC0+bWFzdGVyID0gLTE7CisKKwlzaG5hbWUgPSBzdHJyY2hyKGN0bC0+c2hlbGwsICcvJyk7CisJaWYgKHNobmFtZSkKKwkJc2huYW1lKys7CisJZWxzZQorCQlzaG5hbWUgPSBjdGwtPnNoZWxsOworCisJc2lncHJvY21hc2soU0lHX1NFVE1BU0ssICZjdGwtPnNpZ29yZywgTlVMTCk7CisKKwkvKgorCSAqIFdoZW4gaW52b2tlZCBmcm9tIHdpdGhpbiAvZXRjL2NzaC5sb2dpbiwgc2NyaXB0IHNwYXducyBhIGNzaCBzaGVsbAorCSAqIHRoYXQgc3Bhd25zIHByb2dyYW1zIHRoYXQgY2Fubm90IGJlIGtpbGxlZCB3aXRoIGEgU0lHVEVSTS4gVGhpcyBpcworCSAqIGJlY2F1c2UgY3NoIGhhcyBhIGRvY3VtZW50ZWQgYmVoYXZpb3Igd2hlcmVpbiBpdCBkaXNhYmxlcyBhbGwKKwkgKiBzaWduYWxzIHdoZW4gcHJvY2Vzc2luZyB0aGUgL2V0Yy9jc2guKiBmaWxlcy4KKwkgKgorCSAqIExldCdzIHJlc3RvcmUgdGhlIGRlZmF1bHQgYmVoYXZpb3IuCisJICovCisJc2lnbmFsKFNJR1RFUk0sIFNJR19ERkwpOworCisJaWYgKGFjY2VzcyhjdGwtPnNoZWxsLCBYX09LKSA9PSAwKSB7CisJCWlmIChjdGwtPmNvbW1hbmQpCisJCQlleGVjbChjdGwtPnNoZWxsLCBzaG5hbWUsICItYyIsIGN0bC0+Y29tbWFuZCwgTlVMTCk7CisJCWVsc2UKKwkJCWV4ZWNsKGN0bC0+c2hlbGwsIHNobmFtZSwgIi1pIiwgTlVMTCk7CisJfSBlbHNlIHsKKwkJaWYgKGN0bC0+Y29tbWFuZCkKKwkJCWV4ZWNscChzaG5hbWUsICItYyIsIGN0bC0+Y29tbWFuZCwgTlVMTCk7CisJCWVsc2UKKwkJCWV4ZWNscChzaG5hbWUsICItaSIsIE5VTEwpOworCX0KKwl3YXJuKF8oImZhaWxlZCB0byBleGVjdXRlICVzIiksIGN0bC0+c2hlbGwpOworCWZhaWwoY3RsKTsKK30KKworCitzdGF0aWMgdm9pZCBnZXRtYXN0ZXIoc3RydWN0IHNjcmlwdF9jb250cm9sICpjdGwpCit7CisjaWYgZGVmaW5lZChIQVZFX0xJQlVUSUwpICYmIGRlZmluZWQoSEFWRV9QVFlfSCkKKwlpbnQgcmM7CisKKwljdGwtPmlzdGVybSA9IGlzYXR0eShTVERJTl9GSUxFTk8pOworCisJaWYgKGN0bC0+aXN0ZXJtKSB7CisJCWlmICh0Y2dldGF0dHIoU1RESU5fRklMRU5PLCAmY3RsLT5hdHRycykgIT0gMCkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBnZXQgdGVybWluYWwgYXR0cmlidXRlcyIpKTsKKwkJaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DR1dJTlNaLCAoY2hhciAqKSZjdGwtPndpbik7CisJCXJjID0gb3BlbnB0eSgmY3RsLT5tYXN0ZXIsICZjdGwtPnNsYXZlLCBOVUxMLCAmY3RsLT5hdHRycywgJmN0bC0+d2luKTsKKwl9IGVsc2UKKwkJcmMgPSBvcGVucHR5KCZjdGwtPm1hc3RlciwgJmN0bC0+c2xhdmUsIE5VTEwsIE5VTEwsIE5VTEwpOworCisJaWYgKHJjIDwgMCkgeworCQl3YXJuKF8oIm9wZW5wdHkgZmFpbGVkIikpOworCQlmYWlsKGN0bCk7CisJfQorI2Vsc2UKKwljaGFyICpwdHksICpiYW5rLCAqY3A7CisKKwljdGwtPmlzdGVybSA9IGlzYXR0eShTVERJTl9GSUxFTk8pOworCisJcHR5ID0gJmN0bC0+bGluZVtzdHJsZW4oIi9kZXYvcHR5cCIpXTsKKwlmb3IgKGJhbmsgPSAicHFycyI7ICpiYW5rOyBiYW5rKyspIHsKKwkJY3RsLT5saW5lW3N0cmxlbigiL2Rldi9wdHkiKV0gPSAqYmFuazsKKwkJKnB0eSA9ICcwJzsKKwkJaWYgKGFjY2VzcyhjdGwtPmxpbmUsIEZfT0spICE9IDApCisJCQlicmVhazsKKwkJZm9yIChjcCA9ICIwMTIzNDU2Nzg5YWJjZGVmIjsgKmNwOyBjcCsrKSB7CisJCQkqcHR5ID0gKmNwOworCQkJY3RsLT5tYXN0ZXIgPSBvcGVuKGN0bC0+bGluZSwgT19SRFdSIHwgT19DTE9FWEVDKTsKKwkJCWlmIChjdGwtPm1hc3RlciA+PSAwKSB7CisJCQkJY2hhciAqdHAgPSAmY3RsLT5saW5lW3N0cmxlbigiL2Rldi8iKV07CisJCQkJaW50IG9rOworCisJCQkJLyogdmVyaWZ5IHNsYXZlIHNpZGUgaXMgdXNhYmxlICovCisJCQkJKnRwID0gJ3QnOworCQkJCW9rID0gYWNjZXNzKGN0bC0+bGluZSwgUl9PSyB8IFdfT0spID09IDA7CisJCQkJKnRwID0gJ3AnOworCQkJCWlmIChvaykgeworCQkJCQlpZiAoY3RsLT5pc3Rlcm0pIHsKKwkJCQkJCXRjZ2V0YXR0cihTVERJTl9GSUxFTk8sICZjdGwtPmF0dHJzKTsKKwkJCQkJCWlvY3RsKFNURElOX0ZJTEVOTywgVElPQ0dXSU5TWiwgKGNoYXIgKikmY3RsLT53aW4pOworCQkJCQl9CisJCQkJCXJldHVybjsKKwkJCQl9CisJCQkJY2xvc2UoY3RsLT5tYXN0ZXIpOworCQkJCWN0bC0+bWFzdGVyID0gLTE7CisJCQl9CisJCX0KKwl9CisJY3RsLT5tYXN0ZXIgPSAtMTsKKwl3YXJuKF8oIm91dCBvZiBwdHkncyIpKTsKKwlmYWlsKGN0bCk7CisjZW5kaWYJCQkJLyogbm90IEhBVkVfTElCVVRJTCAqLworCisJREJHKElPLCB1bF9kZWJ1ZygibWFzdGVyIGZkOiAlZCIsIGN0bC0+bWFzdGVyKSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3Qgc2NyaXB0X2NvbnRyb2wgY3RsID0geworI2lmICFIQVZFX0xJQlVUSUwgfHwgIUhBVkVfUFRZX0gKKwkJLmxpbmUgPSAiL2Rldi9wdHlYWCIsCisjZW5kaWYKKwkJLm1hc3RlciA9IC0xLAorCQkucG9sbF90aW1lb3V0ID0gLTEKKwl9OworCWludCBjaDsKKworCWVudW0geyBGT1JDRV9PUFRJT04gPSBDSEFSX01BWCArIDEgfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsiYXBwZW5kIiwgbm9fYXJndW1lbnQsIE5VTEwsICdhJ30sCisJCXsiY29tbWFuZCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYyd9LAorCQl7InJldHVybiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnZSd9LAorCQl7ImZsdXNoIiwgbm9fYXJndW1lbnQsIE5VTEwsICdmJ30sCisJCXsiZm9yY2UiLCBub19hcmd1bWVudCwgTlVMTCwgRk9SQ0VfT1BUSU9OLH0sCisJCXsib3V0cHV0LWxpbWl0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdvJ30sCisJCXsicXVpZXQiLCBub19hcmd1bWVudCwgTlVMTCwgJ3EnfSwKKwkJeyJ0aW1pbmciLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgJ3QnfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCS8qCisJICogc2NyaXB0IC10IHByaW50cyB0aW1lIGRlbGF5cyBhcyBmbG9hdGluZyBwb2ludCBudW1iZXJzLiAgVGhlIGV4YW1wbGUKKwkgKiBwcm9ncmFtIChzY3JpcHRyZXBsYXkpIHRoYXQgd2UgcHJvdmlkZSB0byBoYW5kbGUgdGhpcyB0aW1pbmcgb3V0cHV0CisJICogaXMgYSBwZXJsIHNjcmlwdCwgYW5kIGRvZXMgbm90IGhhbmRsZSBudW1iZXJzIGluIGxvY2FsZSBmb3JtYXQgKG5vdAorCSAqIGV2ZW4gd2hlbiAidXNlIGxvY2FsZTsiIGlzIGFkZGVkKS4gIFNvLCBzaW5jZSB0aGVzZSBudW1iZXJzIGFyZSBub3QKKwkgKiBmb3IgaHVtYW4gY29uc3VtcHRpb24sIGl0IHNlZW1zIGVhc2llc3QgdG8gc2V0IExDX05VTUVSSUMgaGVyZS4KKwkgKi8KKwlzZXRsb2NhbGUoTENfTlVNRVJJQywgIkMiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlzY3JpcHRfaW5pdF9kZWJ1ZygpOworCisJd2hpbGUgKChjaCA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJhYzplZm86cXQ6OlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChjaCkgeworCQljYXNlICdhJzoKKwkJCWN0bC5hcHBlbmQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2MnOgorCQkJY3RsLmNvbW1hbmQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnZSc6CisJCQljdGwucmNfd2FudGVkID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWN0bC5mbHVzaCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSBGT1JDRV9PUFRJT046CisJCQljdGwuZm9yY2UgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJY3RsLm1heHN6ID0gc3RydG9zaXplX29yX2VycihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBvdXRwdXQgbGltaXQgc2l6ZSIpKTsKKwkJCWJyZWFrOworCQljYXNlICdxJzoKKwkJCWN0bC5xdWlldCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAndCc6CisJCQlpZiAob3B0YXJnKQorCQkJCWN0bC50bmFtZSA9IG9wdGFyZzsKKwkJCWN0bC50aW1pbmcgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCQlicmVhazsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWlmIChhcmdjID4gMCkKKwkJY3RsLmZuYW1lID0gYXJndlswXTsKKwllbHNlIHsKKwkJY3RsLmZuYW1lID0gREVGQVVMVF9UWVBFU0NSSVBUX0ZJTEVOQU1FOworCQlkaWVfaWZfbGluaygmY3RsKTsKKwl9CisKKwljdGwuc2hlbGwgPSBnZXRlbnYoIlNIRUxMIik7CisJaWYgKGN0bC5zaGVsbCA9PSBOVUxMKQorCQljdGwuc2hlbGwgPSBfUEFUSF9CU0hFTEw7CisKKwlnZXRtYXN0ZXIoJmN0bCk7CisJaWYgKCFjdGwucXVpZXQpCisJCXByaW50ZihfKCJTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyAlc1xuIiksIGN0bC5mbmFtZSk7CisJZW5hYmxlX3Jhd21vZGVfdHR5KCZjdGwpOworCisjaWZkZWYgSEFWRV9MSUJVVEVNUFRFUgorCXV0ZW1wdGVyX2FkZF9yZWNvcmQoY3RsLm1hc3RlciwgTlVMTCk7CisjZW5kaWYKKwkvKiBzZXR1cCBzaWduYWwgaGFuZGxlciAqLworCXNpZ2VtcHR5c2V0KCZjdGwuc2lnc2V0KTsKKwlzaWdhZGRzZXQoJmN0bC5zaWdzZXQsIFNJR0NITEQpOworCXNpZ2FkZHNldCgmY3RsLnNpZ3NldCwgU0lHV0lOQ0gpOworCXNpZ2FkZHNldCgmY3RsLnNpZ3NldCwgU0lHVEVSTSk7CisJc2lnYWRkc2V0KCZjdGwuc2lnc2V0LCBTSUdJTlQpOworCXNpZ2FkZHNldCgmY3RsLnNpZ3NldCwgU0lHUVVJVCk7CisKKwkvKiBibG9jayBzaWduYWxzIHVzZWQgZm9yIHNpZ25hbGZkKCkgdG8gcHJldmVudCB0aGUgc2lnbmFscyBiZWluZworCSAqIGhhbmRsZWQgYWNjb3JkaW5nIHRvIHRoZWlyIGRlZmF1bHQgZGlzcG9zaXRpb25zICovCisJc2lncHJvY21hc2soU0lHX0JMT0NLLCAmY3RsLnNpZ3NldCwgJmN0bC5zaWdvcmcpOworCisJaWYgKChjdGwuc2lnZmQgPSBzaWduYWxmZCgtMSwgJmN0bC5zaWdzZXQsIFNGRF9DTE9FWEVDKSkgPCAwKQorCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgc2V0IHNpZ25hbCBoYW5kbGVyIikpOworCisJREJHKFNJR05BTCwgdWxfZGVidWcoInNpZ25hbCBmZD0lZCIsIGN0bC5zaWdmZCkpOworCisJZmZsdXNoKHN0ZG91dCk7CisJY3RsLmNoaWxkID0gZm9yaygpOworCisJc3dpdGNoIChjdGwuY2hpbGQpIHsKKwljYXNlIC0xOiAvKiBlcnJvciAqLworCQl3YXJuKF8oImZvcmsgZmFpbGVkIikpOworCQlmYWlsKCZjdGwpOworCQlicmVhazsKKwljYXNlIDA6IC8qIGNoaWxkICovCisJCWRvX3NoZWxsKCZjdGwpOworCQlicmVhazsKKwlkZWZhdWx0OiAvKiBwYXJlbnQgKi8KKwkJZG9faW8oJmN0bCk7CisJCWJyZWFrOworCX0KKworCS8qIHNob3VsZCBub3QgaGFwcGVuLCBhbGwgdXNlZCBmdW5jdGlvbnMgYXJlIG5vbi1yZXR1cm4gKi8KKwlyZXR1cm4gRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9zY3JpcHRyZXBsYXkuMSBiL3Rlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODc4M2QxNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvc2NyaXB0cmVwbGF5LjEKQEAgLTAsMCArMSwxMTEgQEAKKy5USCBTQ1JJUFRSRVBMQVkgMSAiU2VwdGVtYmVyIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCAiTkFNRSIKK3NjcmlwdHJlcGxheSBcLSBwbGF5IGJhY2sgdHlwZXNjcmlwdHMsIHVzaW5nIHRpbWluZyBpbmZvcm1hdGlvbgorLlNIICJTWU5PUFNJUyIKKy5CIHNjcmlwdHJlcGxheQorW29wdGlvbnNdCisuUkIgWyBcLXQgXQorLkkgdGltaW5nZmlsZQorLlJJIFsgdHlwZXNjcmlwdAorLlJJIFsgZGl2aXNvciBdXQorLlNIICJERVNDUklQVElPTiIKK1RoaXMgcHJvZ3JhbSByZXBsYXlzIGEgdHlwZXNjcmlwdCwgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uIHRvIGVuc3VyZSB0aGF0CitvdXRwdXQgaGFwcGVucyBpbiB0aGUgc2FtZSByaHl0aG0gYXMgaXQgb3JpZ2luYWxseSBhcHBlYXJlZCB3aGVuIHRoZSBzY3JpcHQKK3dhcyByZWNvcmRlZC4KKy5QUAorVGhlIHJlcGxheSBzaW1wbHkgZGlzcGxheXMgdGhlIGluZm9ybWF0aW9uIGFnYWluOyB0aGUgcHJvZ3JhbXMKK3RoYXQgd2VyZSBydW4gd2hlbiB0aGUgdHlwZXNjcmlwdCB3YXMgYmVpbmcgcmVjb3JkZWQgYXJlIG5vdCBydW4gYWdhaW4uCitTaW5jZSB0aGUgc2FtZSBpbmZvcm1hdGlvbiBpcyBzaW1wbHkgYmVpbmcgZGlzcGxheWVkLAorLkIgc2NyaXB0cmVwbGF5CitpcyBvbmx5IGd1YXJhbnRlZWQgdG8gd29yayBwcm9wZXJseSBpZiBydW4gb24gdGhlIHNhbWUgdHlwZSBvZgordGVybWluYWwgdGhlIHR5cGVzY3JpcHQgd2FzIHJlY29yZGVkIG9uLiAgT3RoZXJ3aXNlLCBhbnkgZXNjYXBlIGNoYXJhY3RlcnMKK2luIHRoZSB0eXBlc2NyaXB0IG1heSBiZSBpbnRlcnByZXRlZCBkaWZmZXJlbnRseSBieSB0aGUgdGVybWluYWwgdG8KK3doaWNoCisuQiBzY3JpcHRyZXBsYXkKK2lzIHNlbmRpbmcgaXRzIG91dHB1dC4KKy5QUAorVGhlIHRpbWluZyBpbmZvcm1hdGlvbiBpcyB3aGF0CisuQlIgc2NyaXB0ICgxKQorb3V0cHV0cyB0byBzdGFuZGFyZCBlcnJvciBpZiBpdCBpcworcnVuIHdpdGggdGhlCisuQiBcLXQKK3BhcmFtZXRlci4KKy5QUAorQnkgZGVmYXVsdCwgdGhlIHR5cGVzY3JpcHQgdG8gZGlzcGxheSBpcyBhc3N1bWVkIHRvIGJlIG5hbWVkCisuQlIgdHlwZXNjcmlwdCAsCitidXQgb3RoZXIgZmlsZW5hbWVzIG1heSBiZSBzcGVjaWZpZWQsIGFzIHRoZSBzZWNvbmQgcGFyYW1ldGVyIG9yIHdpdGggb3B0aW9uCisuQlIgXC1zIC4KKy5QUAorSWYgdGhlIHRoaXJkIHBhcmFtZXRlciBpcyBzcGVjaWZpZWQsIGl0IGlzIHVzZWQgYXMgYSBzcGVlZC11cCBtdWx0aXBsaWVyLgorRm9yIGV4YW1wbGUsIGEgc3BlZWQtdXAgb2YgMiBtYWtlcworLkIgc2NyaXB0cmVwbGF5CitnbyB0d2ljZSBhcyBmYXN0LCBhbmQgYSBzcGVlZC11cCBvZiAwLjEgbWFrZXMgaXQgZ28gdGVuIHRpbWVzIHNsb3dlcgordGhhbiB0aGUgb3JpZ2luYWwgc2Vzc2lvbi4KKy5TSCBPUFRJT05TCitUaGUgZmlyc3QgdGhyZWUgb3B0aW9ucyB3aWxsIG92ZXJyaWRlIG9sZC1zdHlsZSBhcmd1bWVudHMuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10aW1pbmcgIiBcZklmaWxlXGZSCitGaWxlIGNvbnRhaW5pbmcgXGZCc2NyaXB0XGZSJ3MgdGltaW5nIG91dHB1dC4KKy5UUAorLkJSIFwtcyAsICIgXC1cLXR5cGVzY3JpcHQgIiBcZklmaWxlXGZSCitGaWxlIGNvbnRhaW5pbmcgXGZCc2NyaXB0XGZSJ3MgdGVybWluYWwgb3V0cHV0LgorLlRQCisuQlIgXC1kICwgIiBcLVwtZGl2aXNvciAiIFxmSW51bWJlclxmUgorU3BlZWQgdXAgdGhlIHJlcGxheSBkaXNwbGF5aW5nIHRoaXMKKy5JIG51bWJlcgorb2YgdGltZXMuICBUaGUgYXJndW1lbnQgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIuICBJdCdzIGNhbGxlZCBkaXZpc29yCitiZWNhdXNlIGl0IGRpdmlkZXMgdGhlIHRpbWluZ3MgYnkgdGhpcyBmYWN0b3IuCisuVFAKKy5CUiBcLW0gLCAiIFwtXC1tYXhkZWxheSAiIFxmSW51bWJlclxmUgorU2V0IHRoZSBtYXhpbXVtIGRlbGF5IGJldHdlZW4gdHJhbnNjcmlwdCB1cGRhdGVzIHRvCisuSSBudW1iZXIKK29mIHNlY29uZHMuICBUaGUgYXJndW1lbnQgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIuICBUaGlzIGNhbiBiZSB1c2VkIHRvCithdm9pZCBsb25nIHBhdXNlcyBpbiB0aGUgdHJhbnNjcmlwdCByZXBsYXkuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIICJFWEFNUExFIgorLm5mCislIHNjcmlwdCAtLXRpbWluZz1maWxlLnRtIHNjcmlwdC5vdXQKK1NjcmlwdCBzdGFydGVkLCBmaWxlIGlzIHNjcmlwdC5vdXQKKyUgbHMKKzxldGMsIGV0Yz4KKyUgZXhpdAorU2NyaXB0IGRvbmUsIGZpbGUgaXMgc2NyaXB0Lm91dAorJSBzY3JpcHRyZXBsYXkgLS10aW1pbmcgZmlsZS50bSAtLXR5cGVzY3JpcHQgc2NyaXB0Lm91dAorLm5mCisuU0ggIlNFRSBBTFNPIgorLkJSIHNjcmlwdCAoMSkKKy5TSCAiQ09QWVJJR0hUIgorQ29weXJpZ2h0IFwoY28gMjAwOCBKYW1lcyBZb3VuZ21hbgorLmJyCitDb3B5cmlnaHQgXChjbyAyMDA4IEthcmVsIFphaworLlBQCitUaGlzIGlzIGZyZWUgc29mdHdhcmU7IHNlZSB0aGUgc291cmNlIGZvciBjb3B5aW5nIGNvbmRpdGlvbnMuICBUaGVyZSBpcyBOTword2FycmFudHk7IG5vdCBldmVuIGZvciBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCitQVVJQT1NFLgorLlBQCitSZWxlYXNlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdmVyc2lvbiAyIG9yIGxhdGVyLgorLlNIICJBVVRIT1IiCitUaGUgb3JpZ2luYWwKKy5CIHNjcmlwdHJlcGxheQorcHJvZ3JhbSB3YXMgd3JpdHRlbiBieQorLk1UIGpvZXlAXDpraXRlbmV0Lm5ldAorSm9leSBIZXNzCisuTUUgLgorVGhlIHByb2dyYW0gd2FzIHJlLXdyaXR0ZW4gaW4gQyBieQorLk1UIGpheUBcOmdudS5vcmcKK0phbWVzIFlvdW5nbWFuCisuTUUKK2FuZAorLk1UIGt6YWtAXDpyZWRoYXQuY29tCitLYXJlbCBaYWsKKy5NRSAuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgc2NyaXB0cmVwbGF5IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL3NjcmlwdHJlcGxheS5jIGIvdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjU5YjZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy9zY3JpcHRyZXBsYXkuYwpAQCAtMCwwICsxLDIzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCwgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIEphbWVzIFlvdW5nbWFuIDxqYXlAZ251Lm9yZz4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICoKKyAqIEJhc2VkIG9uIHNjcmlwdHJlcGxheS5wbCBieSBKb2V5IEhlc3MgPGpvZXlAa2l0ZW5ldC5uZXQ+CisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8bWF0aC5oPgorI2luY2x1ZGUgPHN5cy9zZWxlY3QuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjLmgiCisKKyNkZWZpbmUgU0NSSVBUX01JTl9ERUxBWSAwLjAwMDEJCS8qIGZyb20gb3JpZ2luYWwgc3JpcHJlcGxheS5wbCAqLworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQordXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbLXRdIHRpbWluZ2ZpbGUgW3R5cGVzY3JpcHRdIFtkaXZpc29yXVxuIiksCisJICAgICAgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlBsYXkgYmFjayB0ZXJtaW5hbCB0eXBlc2NyaXB0cywgdXNpbmcgdGltaW5nIGluZm9ybWF0aW9uLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtdCwgLS10aW1pbmcgPGZpbGU+ICAgICBzY3JpcHQgdGltaW5nIG91dHB1dCBmaWxlXG4iCisJCSIgLXMsIC0tdHlwZXNjcmlwdCA8ZmlsZT4gc2NyaXB0IHRlcm1pbmFsIHNlc3Npb24gb3V0cHV0IGZpbGVcbiIKKwkJIiAtZCwgLS1kaXZpc29yIDxudW0+ICAgICBzcGVlZCB1cCBvciBzbG93IGRvd24gZXhlY3V0aW9uIHdpdGggdGltZSBkaXZpc29yXG4iCisJCSIgLW0sIC0tbWF4ZGVsYXkgPG51bT4gICAgd2FpdCBhdCBtb3N0IHRoaXMgbWFueSBzZWNvbmRzIGJldHdlZW4gdXBkYXRlc1xuIgorCQkpLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjUpKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgic2NyaXB0cmVwbGF5KDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIGRvdWJsZQorZ2V0bnVtKGNvbnN0IGNoYXIgKnMpCit7CisJY29uc3QgZG91YmxlIGQgPSBzdHJ0b2Rfb3JfZXJyKHMsIF8oImZhaWxlZCB0byBwYXJzZSBudW1iZXIiKSk7CisKKwlpZiAoaXNuYW4oZCkpIHsKKwkJZXJybm8gPSBFSU5WQUw7CisJCWVycihFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJmYWlsZWQgdG8gcGFyc2UgbnVtYmVyIiksIHMpOworCX0KKwlyZXR1cm4gZDsKK30KKworc3RhdGljIHZvaWQKK2RlbGF5X2Zvcihkb3VibGUgZGVsYXkpCit7CisjaWZkZWYgSEFWRV9OQU5PU0xFRVAKKwlzdHJ1Y3QgdGltZXNwZWMgdHMsIHJlbWFpbmRlcjsKKwl0cy50dl9zZWMgPSAodGltZV90KSBkZWxheTsKKwl0cy50dl9uc2VjID0gKGRlbGF5IC0gdHMudHZfc2VjKSAqIDEuMGU5OworCisJd2hpbGUgKC0xID09IG5hbm9zbGVlcCgmdHMsICZyZW1haW5kZXIpKSB7CisJCWlmIChFSU5UUiA9PSBlcnJubykKKwkJCXRzID0gcmVtYWluZGVyOworCQllbHNlCisJCQlicmVhazsKKwl9CisjZWxzZQorCXN0cnVjdCB0aW1ldmFsIHR2OworCXR2LnR2X3NlYyA9IChsb25nKSBkZWxheTsKKwl0di50dl91c2VjID0gKGRlbGF5IC0gdHYudHZfc2VjKSAqIDEuMGU2OworCXNlbGVjdCgwLCBOVUxMLCBOVUxMLCBOVUxMLCAmdHYpOworI2VuZGlmCit9CisKK3N0YXRpYyB2b2lkCitlbWl0KEZJTEUgKmZkLCBjb25zdCBjaGFyICpmaWxlbmFtZSwgc2l6ZV90IGN0KQoreworCWNoYXIgYnVmW0JVRlNJWl07CisKKwl3aGlsZShjdCkgeworCQlzaXplX3QgbGVuLCBjYzsKKworCQljYyA9IGN0ID4gc2l6ZW9mKGJ1ZikgPyBzaXplb2YoYnVmKSA6IGN0OworCQlsZW4gPSBmcmVhZChidWYsIDEsIGNjLCBmZCk7CisKKwkJaWYgKCFsZW4pCisJCSAgICAgICBicmVhazsKKworCQljdCAtPSBsZW47CisJCWNjID0gd3JpdGUoU1RET1VUX0ZJTEVOTywgYnVmLCBsZW4pOworCQlpZiAoY2MgIT0gbGVuKQorCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygid3JpdGUgdG8gc3Rkb3V0IGZhaWxlZCIpKTsKKwl9CisKKwlpZiAoIWN0KQorCQlyZXR1cm47CisJaWYgKGZlb2YoZmQpKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5leHBlY3RlZCBlbmQgb2YgZmlsZSBvbiAlcyIpLCBmaWxlbmFtZSk7CisKKwllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gcmVhZCB0eXBlc2NyaXB0IGZpbGUgJXMiKSwgZmlsZW5hbWUpOworfQorCisKK2ludAorbWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQoreworCUZJTEUgKnRmaWxlLCAqc2ZpbGU7CisJY29uc3QgY2hhciAqc25hbWUgPSBOVUxMLCAqdG5hbWUgPSBOVUxMOworCWRvdWJsZSBkaXZpID0gMSwgbWF4ZGVsYXkgPSAwOworCWludCBjLCBkaXZpb3B0ID0gRkFMU0UsIG1heGRlbGF5b3B0ID0gRkFMU0UsIGlkeDsKKwl1bnNpZ25lZCBsb25nIGxpbmU7CisJaW50IGNoOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyAidGltaW5nIiwJcmVxdWlyZWRfYXJndW1lbnQsCTAsICd0JyB9LAorCQl7ICJ0eXBlc2NyaXB0IiwJcmVxdWlyZWRfYXJndW1lbnQsCTAsICdzJyB9LAorCQl7ICJkaXZpc29yIiwJcmVxdWlyZWRfYXJndW1lbnQsCTAsICdkJyB9LAorCQl7ICJtYXhkZWxheSIsCXJlcXVpcmVkX2FyZ3VtZW50LAkwLCAnbScgfSwKKwkJeyAidmVyc2lvbiIsCW5vX2FyZ3VtZW50LAkJMCwgJ1YnIH0sCisJCXsgImhlbHAiLAlub19hcmd1bWVudCwJCTAsICdoJyB9LAorCQl7IE5VTEwsCQkwLCAwLCAwIH0KKwl9OworCisJLyogQmVjYXVzZSB3ZSB1c2Ugc3BhY2UgYXMgYSBzZXBhcmF0b3IsIHdlIGNhbid0IGFmZm9yZCB0byB1c2UgYW55CisJICogbG9jYWxlIHdoaWNoIHRvbGVyYXRlcyBhIHNwYWNlIGluIGEgbnVtYmVyLiAgSW4gYW55IGNhc2UsIHNjcmlwdC5jCisJICogc2V0cyB0aGUgTENfTlVNRVJJQyBsb2NhbGUgdG8gQywgYW55d2F5LgorCSAqLworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwlzZXRsb2NhbGUoTENfTlVNRVJJQywgIkMiKTsKKworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAidDpzOmQ6bTpWaCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpCisJCXN3aXRjaChjaCkgeworCQljYXNlICd0JzoKKwkJCXRuYW1lID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3MnOgorCQkJc25hbWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnZCc6CisJCQlkaXZpb3B0ID0gVFJVRTsKKwkJCWRpdmkgPSBnZXRudW0ob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdtJzoKKwkJCW1heGRlbGF5b3B0ID0gVFJVRTsKKwkJCW1heGRlbGF5ID0gZ2V0bnVtKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQkJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCWlkeCA9IDA7CisKKwlpZiAoKGFyZ2MgPCAxICYmICF0bmFtZSkgfHwgYXJnYyA+IDMpIHsKKwkJd2FybngoXygid3JvbmcgbnVtYmVyIG9mIGFyZ3VtZW50cyIpKTsKKwkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCX0KKwlpZiAoIXRuYW1lKQorCQl0bmFtZSA9IGFyZ3ZbaWR4KytdOworCWlmICghc25hbWUpCisJCXNuYW1lID0gaWR4IDwgYXJnYyA/IGFyZ3ZbaWR4KytdIDogInR5cGVzY3JpcHQiOworCWlmICghZGl2aW9wdCkKKwkJZGl2aSA9IGlkeCA8IGFyZ2MgPyBnZXRudW0oYXJndltpZHhdKSA6IDE7CisJaWYgKG1heGRlbGF5IDwgMCkKKwkJbWF4ZGVsYXkgPSAwOworCXRmaWxlID0gZm9wZW4odG5hbWUsICJyIik7CisJaWYgKCF0ZmlsZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgdG5hbWUpOworCXNmaWxlID0gZm9wZW4oc25hbWUsICJyIik7CisJaWYgKCFzZmlsZSkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgc25hbWUpOworCisJLyogaWdub3JlIHRoZSBmaXJzdCB0eXBlc2NyaXB0IGxpbmUgKi8KKwl3aGlsZSgoYyA9IGZnZXRjKHNmaWxlKSkgIT0gRU9GICYmIGMgIT0gJ1xuJyk7CisKKwlmb3IobGluZSA9IDE7IDsgbGluZSsrKSB7CisJCWRvdWJsZSBkZWxheTsKKwkJc2l6ZV90IGJsazsKKwkJY2hhciBubDsKKwkJaWYgKGZzY2FuZih0ZmlsZSwgIiVsZiAlenUlY1xuIiwgJmRlbGF5LCAmYmxrLCAmbmwpICE9IDMgfHwKKwkJCQkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBubCAhPSAnXG4nKSB7CisJCQlpZiAoZmVvZih0ZmlsZSkpCisJCQkJYnJlYWs7CisJCQlpZiAoZmVycm9yKHRmaWxlKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLAorCQkJCQlfKCJmYWlsZWQgdG8gcmVhZCB0aW1pbmcgZmlsZSAlcyIpLCB0bmFtZSk7CisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCQlfKCJ0aW1pbmcgZmlsZSAlczogbGluZSAlbHU6IHVuZXhwZWN0ZWQgZm9ybWF0IiksCisJCQkJdG5hbWUsIGxpbmUpOworCQl9CisJCWRlbGF5IC89IGRpdmk7CisKKwkJaWYgKG1heGRlbGF5b3B0ICYmIGRlbGF5ID4gbWF4ZGVsYXkpCisJCQlkZWxheSA9IG1heGRlbGF5OworCisJCWlmIChkZWxheSA+IFNDUklQVF9NSU5fREVMQVkpCisJCQlkZWxheV9mb3IoZGVsYXkpOworCisJCWVtaXQoc2ZpbGUsIHNuYW1lLCBibGspOworCX0KKworCWZjbG9zZShzZmlsZSk7CisJZmNsb3NlKHRmaWxlKTsKKwlwcmludGYoIlxuIik7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy9zZXR0ZXJtLjEgYi90ZXJtLXV0aWxzL3NldHRlcm0uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OGUxMTg5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy9zZXR0ZXJtLjEKQEAgLTAsMCArMSwyODcgQEAKKy5cIiBDb3B5cmlnaHQgMTk5MCBHb3Jkb24gSXJsYW0gKGdvcmRvbmlAY3MudWEub3ouYXUpCisuXCIgQ29weXJpZ2h0IDE5OTIgUmlja2FyZCBFLiBGYWl0aCAoZmFpdGhAY3MudW5jLmVkdSkKKy5cIiBDb3B5cmlnaHQgMjAwMCBDb2xpbiBXYXRzb24gKGNqdzQ0QGNhbS5hYy51aykKKy5cIiBEbyBub3QgcmVzdHJpY3QgZGlzdHJpYnV0aW9uLgorLlwiIE1heSBiZSBkaXN0cmlidXRlZCB1bmRlciB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKy5cIgorLlRIIFNFVFRFUk0gMSAiTWF5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitzZXR0ZXJtIFwtIHNldCB0ZXJtaW5hbCBhdHRyaWJ1dGVzCisuU0ggU1lOT1BTSVMKKy5CIHNldHRlcm0KK1tvcHRpb25zXQorLlNIIERFU0NSSVBUSU9OCisuQiBzZXR0ZXJtCit3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0IGEgY2hhcmFjdGVyIHN0cmluZyB0aGF0IHdpbGwgaW52b2tlIHRoZSBzcGVjaWZpZWQKK3Rlcm1pbmFsIGNhcGFiaWxpdGllcy4gIFdoZXJlIHBvc3NpYmxlCisuSSB0ZXJtaW5mbworaXMgY29uc3VsdGVkIHRvIGZpbmQgdGhlIHN0cmluZyB0byB1c2UuICBTb21lIG9wdGlvbnMgaG93ZXZlciAobWFya2VkICJ2aXJ0dWFsCitjb25zb2xlcyBvbmx5IiBiZWxvdykgZG8gbm90IGNvcnJlc3BvbmQgdG8gYQorLkJSIHRlcm1pbmZvICg1KQorY2FwYWJpbGl0eS4gIEluIHRoaXMgY2FzZSwgaWYgdGhlIHRlcm1pbmFsIHR5cGUgaXMgImNvbiIgb3IgImxpbnV4IiB0aGUgc3RyaW5nCit0aGF0IGludm9rZXMgdGhlIHNwZWNpZmllZCBjYXBhYmlsaXRpZXMgb24gdGhlIFBDIE1pbml4IHZpcnR1YWwgY29uc29sZSBkcml2ZXIKK2lzIG91dHB1dC4gIE9wdGlvbnMgdGhhdCBhcmUgbm90IGltcGxlbWVudGVkIGJ5IHRoZSB0ZXJtaW5hbCBhcmUgaWdub3JlZC4KKy5TSCBPUFRJT05TCitGb3IgYm9vbGVhbiBvcHRpb25zCisuUkIgKCBvbiAiIG9yICIgb2ZmICksCit0aGUgZGVmYXVsdCBpcworLkJSIG9uIC4KKy5QCitCZWxvdywgYW4KKy5JIDgtY29sb3IKK2NhbiBiZQorLkJSIGJsYWNrICwKKy5CUiByZWQgLAorLkJSIGdyZWVuICwKKy5CUiB5ZWxsb3cgLAorLkJSIGJsdWUgLAorLkJSIG1hZ2VudGEgLAorLkJSIGN5YW4gLAorb3IKKy5CUiB3aGl0ZSAuCisuUAorQQorLkkgMTYtY29sb3IKK2NhbiBiZSBhbgorLklSIDgtY29sb3IgLAorb3IKKy5CUiBncmV5ICwKK29yCisuQiBicmlnaHQKK2ZvbGxvd2VkCitieQorLkJSIHJlZCAsCisuQlIgZ3JlZW4gLAorLkJSIHllbGxvdyAsCisuQlIgYmx1ZSAsCisuQlIgbWFnZW50YSAsCisuQlIgY3lhbiAsCitvcgorLkJSIHdoaXRlIC4KKy5QCitUaGUgdmFyaW91cyBjb2xvciBvcHRpb25zIG1heSBiZSBzZXQgaW5kZXBlbmRlbnRseSwgYXQgbGVhc3Qgb24gdmlydHVhbAorY29uc29sZXMsIHRob3VnaCB0aGUgcmVzdWx0cyBvZiBzZXR0aW5nIG11bHRpcGxlIG1vZGVzIChmb3IgZXhhbXBsZSwKKy5CIFwtXC11bmRlcmxpbmUKK2FuZAorLkJSIFwtXC1oYWxmXC1icmlnaHQgKQorYXJlIGhhcmR3YXJlLWRlcGVuZGVudC4KKy5UUAorXGZCXC1cLWFwcGN1cnNvcmtleXNcZlAgW1xmQm9uXGZQfFxmQm9mZlxmUF0gICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpCitTZXRzIEN1cnNvciBLZXkgQXBwbGljYXRpb24gTW9kZSBvbiBvciBvZmYuICBXaGVuIG9uLCBFU0MgTyBBLCBFU0MgTyBCLCBldGMuCit3aWxsIGJlIHNlbnQgZm9yIHRoZSBjdXJzb3Iga2V5cyBpbnN0ZWFkIG9mIEVTQyBbIEEsIEVTQyBbIEIsIGV0Yy4gIFNlZSB0aGUKKy5JIHZpIGFuZCBDdXJzb3ItS2V5cworc2VjdGlvbiBvZiB0aGUKKy5JIFRleHQtVGVybWluYWwtSE9XVE8KK2ZvciBob3cgdGhpcyBjYW4gY2F1c2UgcHJvYmxlbXMgZm9yIFxmQnZpXGZSIHVzZXJzLgorLlRQCitcZkJcLVwtYXBwZW5kXGZQIFtcZkljb25zb2xlX251bWJlclxmUF0KK0xpa2UKKy5CUiBcLVwtZHVtcCAsCitidXQgYXBwZW5kcyB0byB0aGUgc25hcHNob3QgZmlsZSBpbnN0ZWFkIG9mIG92ZXJ3cml0aW5nIGl0LiAgT25seSB3b3JrcyBpZiBubworLkIgXC1cLWR1bXAKK29wdGlvbnMgYXJlIGdpdmVuLgorLlRQCitcZkJcLVwtYmFja2dyb3VuZFxmUCBcZkk4LWNvbG9yXGZQfFxmQmRlZmF1bHRcZlAKK1NldHMgdGhlIGJhY2tncm91bmQgdGV4dCBjb2xvci4KKy5UUAorXGZCXC1cLWJsYW5rXGZQIFtcZkIwLTYwXGZQfFxmQmZvcmNlXGZQfFxmQnBva2VcZlBdICAodmlydHVhbCBjb25zb2xlcyBvbmx5KQorU2V0cyB0aGUgaW50ZXJ2YWwgb2YgaW5hY3Rpdml0eSwgaW4gbWludXRlcywgYWZ0ZXIgd2hpY2ggdGhlIHNjcmVlbiB3aWxsIGJlCithdXRvbWF0aWNhbGx5IGJsYW5rZWQgKHVzaW5nIEFQTSBpZiBhdmFpbGFibGUpLiAgV2l0aG91dCBhbiBhcmd1bWVudCwgaXQgZ2V0cwordGhlIGJsYW5rIHN0YXR1cyAocmV0dXJucyB3aGljaCB2dCB3YXMgYmxhbmtlZCwgb3IgemVybyBmb3IgYW4gdW5ibGFua2VkIHZ0KS4KKy5JUAorVGhlCisuQiBmb3JjZQorb3B0aW9uIGtlZXBzIHRoZSBzY3JlZW4gYmxhbmsgZXZlbiBpZiBhIGtleSBpcyBwcmVzc2VkLgorLklQCitUaGUKKy5CIHBva2UKK29wdGlvbiB1bmJsYW5rcyB0aGUgc2NyZWVuLgorLlRQCitcZkJcLVwtYmZyZXFcZlAgW1xmSW51bWJlclxmUF0gICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpCitTZXRzIHRoZSBiZWxsIGZyZXF1ZW5jeSBpbiBIZXJ0ei4gIFdpdGhvdXQgYW4gYXJndW1lbnQsIGl0IGRlZmF1bHRzIHRvCisuQlIgMCAuCisuVFAKK1xmQlwtXC1ibGVuZ3RoXGZQIFtcZkIwLTIwMDBcZlBdICAodmlydHVhbCBjb25zb2xlcyBvbmx5KQorU2V0cyB0aGUgYmVsbCBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMuICBXaXRob3V0IGFuIGFyZ3VtZW50LCBpdCBkZWZhdWx0cyB0bworLkJSIDAgLgorLlRQCisuQlIgXC1cLWJsaW5rICIgWyIgb24gfCBvZmYgXQorVHVybnMgYmxpbmsgbW9kZSBvbiBvciBvZmYuICBFeGNlcHQgb24gYSB2aXJ0dWFsIGNvbnNvbGUsCisuQiBcLVwtYmxpbmsgb2ZmCit0dXJucyBvZmYgYWxsIGF0dHJpYnV0ZXMgKGJvbGQsIGhhbGYtYnJpZ2h0bmVzcywgYmxpbmssIHJldmVyc2UpLgorLlRQCisuQlIgXC1cLWJvbGQgIiBbIiBvbiB8IG9mZiBdCitUdXJucyBib2xkIChleHRyYSBicmlnaHQpIG1vZGUgb24gb3Igb2ZmLiAgRXhjZXB0IG9uIGEgdmlydHVhbCBjb25zb2xlLAorLkIgXC1cLWJvbGQgb2ZmCit0dXJucyBvZmYgYWxsIGF0dHJpYnV0ZXMgKGJvbGQsIGhhbGYtYnJpZ2h0bmVzcywgYmxpbmssIHJldmVyc2UpLgorLlRQCitcZkJcLVwtY2xlYXJcZlAgW1xmQmFsbFxmUHxcZkJyZXN0XGZQXQorV2l0aG91dCBhbiBhcmd1bWVudCBvciB3aXRoIHRoZSBhcmd1bWVudAorLkJSIGFsbCAsCit0aGUgZW50aXJlIHNjcmVlbiBpcyBjbGVhcmVkIGFuZCB0aGUgY3Vyc29yIGlzIHNldCB0byB0aGUgaG9tZSBwb3NpdGlvbiwKK2p1c3QgbGlrZQorLkJSIGNsZWFyICgxKQorZG9lcy4gIFdpdGggdGhlIGFyZ3VtZW50CisuQlIgcmVzdCAsCit0aGUgc2NyZWVuIGlzIGNsZWFyZWQgZnJvbSB0aGUgY3VycmVudCBjdXJzb3IgcG9zaXRpb24gdG8gdGhlIGVuZC4KKy5UUAorXGZCXC1cLWNscnRhYnNcZlAgW1xmSXRhYjEgdGFiMiB0YWIzXGZQIC4uLl0gICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpCitDbGVhcnMgdGFiIHN0b3BzIGZyb20gdGhlIGdpdmVuIGhvcml6b250YWwgY3Vyc29yIHBvc2l0aW9ucywgaW4gdGhlIHJhbmdlCisuQlIgMS0xNjAgLgorV2l0aG91dCBhcmd1bWVudHMsIGl0IGNsZWFycyBhbGwgdGFiIHN0b3BzLgorLlRQCisuQlIgXC1cLWN1cnNvciAiIFsiIG9uIHwgb2ZmIF0KK1R1cm5zIHRoZSB0ZXJtaW5hbCdzIGN1cnNvciBvbiBvciBvZmYuCisuVFAKK1xmQlwtXC1kZWZhdWx0XGZQCitTZXRzIHRoZSB0ZXJtaW5hbCdzIHJlbmRlcmluZyBvcHRpb25zIHRvIHRoZSBkZWZhdWx0IHZhbHVlcy4KKy5UUAorXGZCXC1cLWR1bXBcZlAgW1xmSWNvbnNvbGVfbnVtYmVyXGZQXQorV3JpdGVzIGEgc25hcHNob3Qgb2YgdGhlIHZpcnR1YWwgY29uc29sZSB3aXRoIHRoZSBnaXZlbiBudW1iZXIKK3RvIHRoZSBmaWxlIHNwZWNpZmllZCB3aXRoIHRoZQorLkIgXC1cLWZpbGUKK29wdGlvbiwgb3ZlcndyaXRpbmcgaXRzIGNvbnRlbnRzOyB0aGUgZGVmYXVsdCBpcworLklSIHNjcmVlbi5kdW1wIC4KK1dpdGhvdXQgYW4gYXJndW1lbnQsIGl0IGR1bXBzIHRoZSBjdXJyZW50IHZpcnR1YWwgY29uc29sZS4gIFRoaXMgb3ZlcnJpZGVzCisuQlIgXC1cLWFwcGVuZCAuCisuVFAKK1xmQlwtXC1maWxlXGZQIFxmSWZpbGVuYW1lXGZQCitTZXRzIHRoZSBzbmFwc2hvdCBmaWxlIG5hbWUgZm9yIGFueQorLkIgXC1cLWR1bXAKK29yCisuQiBcLVwtYXBwZW5kCitvcHRpb25zIG9uIHRoZSBzYW1lIGNvbW1hbmQgbGluZS4gIElmIHRoaXMgb3B0aW9uIGlzIG5vdCBwcmVzZW50LCB0aGUgZGVmYXVsdAoraXMKKy5JIHNjcmVlbi5kdW1wCitpbiB0aGUgY3VycmVudCBkaXJlY3RvcnkuICBBIHBhdGggbmFtZSB0aGF0IGV4Y2VlZHMgdGhlIHN5c3RlbSBtYXhpbXVtIHdpbGwgYmUKK3RydW5jYXRlZCwgc2VlIFBBVEhfTUFYIGZyb20gbGludXgvbGltaXRzLmggZm9yIHRoZSB2YWx1ZS4KKy5UUAorXGZCXC1cLWZvcmVncm91bmRcZlAgXGZJOC1jb2xvclxmUHxcZkJkZWZhdWx0XGZQCitTZXRzIHRoZSBmb3JlZ3JvdW5kIHRleHQgY29sb3IuCisuVFAKKy5CUiBcLVwtaGFsZlwtYnJpZ2h0ICIgWyIgb24gfCBvZmYgXQorVHVybnMgZGltIChoYWxmLWJyaWdodG5lc3MpIG1vZGUgb24gb3Igb2ZmLiAgRXhjZXB0IG9uIGEgdmlydHVhbCBjb25zb2xlLAorLkIgXC1cLWhhbGZcLWJyaWdodCBvZmYKK3R1cm5zIG9mZiBhbGwgYXR0cmlidXRlcyAoYm9sZCwgaGFsZi1icmlnaHRuZXNzLCBibGluaywgcmV2ZXJzZSkuCisuVFAKK1xmQlwtXC1oYmNvbG9yXGZQIFxmSTE2LWNvbG9yXGZQCitTZXRzIHRoZSBjb2xvciBmb3IgYm9sZCBjaGFyYWN0ZXJzLgorLlRQCitcZkJcLVwtaW5pdGlhbGl6ZVxmUAorRGlzcGxheXMgdGhlIHRlcm1pbmFsIGluaXRpYWxpemF0aW9uIHN0cmluZywgd2hpY2ggdHlwaWNhbGx5IHNldHMgdGhlCit0ZXJtaW5hbCdzIHJlbmRlcmluZyBvcHRpb25zLCBhbmQgb3RoZXIgYXR0cmlidXRlcyB0byB0aGUgZGVmYXVsdCB2YWx1ZXMuCisuVFAKKy5CUiBcLVwtaW52ZXJzZXNjcmVlbiAiIFsiIG9uIHwgb2ZmIF0KK1N3YXBzIGZvcmVncm91bmQgYW5kIGJhY2tncm91bmQgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuLgorLlRQCisuQlIgXC1cLWxpbmV3cmFwICIgWyIgb24gfCBvZmYgXQorTWFrZXMgdGhlIHRlcm1pbmFsIGNvbnRpbnVlIG9uIGEgbmV3IGxpbmUgd2hlbiBhIGxpbmUgaXMgZnVsbC4KKy5UUAorLkJSIFwtXC1tc2cgIiBbIiBvbiB8IG9mZiAiXSAgKHZpcnR1YWwgY29uc29sZXMgb25seSkiCitFbmFibGVzIG9yIGRpc2FibGVzIHRoZSBzZW5kaW5nIG9mIGtlcm5lbAorLkJSIHByaW50ayAoKQorbWVzc2FnZXMgdG8gdGhlIGNvbnNvbGUuCisuVFAKK1xmQlwtXC1tc2dsZXZlbFxmUCBcZkIwLThcZlAgICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpCitTZXRzIHRoZSBjb25zb2xlIGxvZ2dpbmcgbGV2ZWwgZm9yIGtlcm5lbAorLkIgcHJpbnRrKCkKK21lc3NhZ2VzLiAgQWxsIG1lc3NhZ2VzIHN0cmljdGx5IG1vcmUgaW1wb3J0YW50IHRoYW4gdGhpcyB3aWxsIGJlIHByaW50ZWQsIHNvIGEKK2xvZ2dpbmcgbGV2ZWwgb2YKKy5CIDAKK2hhcyB0aGUgc2FtZSBlZmZlY3QgYXMKKy5CIFwtXC1tc2cgb24KK2FuZCBhIGxvZ2dpbmcgbGV2ZWwgb2YKKy5CIDgKK3dpbGwgcHJpbnQgYWxsIGtlcm5lbCBtZXNzYWdlcy4KKy5CUiBrbG9nZCAoOCkKK21heSBiZSBhIG1vcmUgY29udmVuaWVudCBpbnRlcmZhY2UgdG8gdGhlIGxvZ2dpbmcgb2Yga2VybmVsIG1lc3NhZ2VzLgorLlRQCitcZkJcLVwtcG93ZXJkb3duXGZQIFtcZkIwLTYwXGZQXQorU2V0cyB0aGUgVkVTQSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlcy4gIFdpdGhvdXQgYW4gYXJndW1lbnQsIGl0IGRlZmF1bHRzCit0bworLkIgMAorKGRpc2FibGUgcG93ZXJkb3duKS4gIElmIHRoZSBjb25zb2xlIGlzIGJsYW5rZWQgb3IgdGhlIG1vbml0b3IgaXMgaW4gc3VzcGVuZAorbW9kZSwgdGhlbiB0aGUgbW9uaXRvciB3aWxsIGdvIGludG8gdnN5bmMgc3VzcGVuZCBtb2RlIG9yIHBvd2VyZG93biBtb2RlCityZXNwZWN0aXZlbHkgYWZ0ZXIgdGhpcyBwZXJpb2Qgb2YgdGltZSBoYXMgZWxhcHNlZC4KKy5UUAorXGZCXC1cLXBvd2Vyc2F2ZVxmUCBcZkJvZmZcZlAKK1R1cm5zIG9mZiBtb25pdG9yIFZFU0EgcG93ZXJzYXZpbmcgZmVhdHVyZXMuCisuVFAKK1xmQlwtXC1wb3dlcnNhdmVcZlAgXGZCb25cZlB8XGZCdnN5bmNcZlAKK1B1dHMgdGhlIG1vbml0b3IgaW50byBWRVNBIHZzeW5jIHN1c3BlbmQgbW9kZS4KKy5UUAorXGZCXC1cLXBvd2Vyc2F2ZVxmUCBcZkJwb3dlcmRvd25cZlAKK1B1dHMgdGhlIG1vbml0b3IgaW50byBWRVNBIHBvd2VyZG93biBtb2RlLgorLlRQCitcZkJcLVwtcG93ZXJzYXZlXGZQIFxmQmhzeW5jXGZQCitQdXRzIHRoZSBtb25pdG9yIGludG8gVkVTQSBoc3luYyBzdXNwZW5kIG1vZGUuCisuVFAKK1xmQlwtXC1yZWd0YWJzXGZQIFtcZkIxLTE2MFxmUF0gICh2aXJ0dWFsIGNvbnNvbGVzIG9ubHkpCitDbGVhcnMgYWxsIHRhYiBzdG9wcywgdGhlbiBzZXRzIGEgcmVndWxhciB0YWIgc3RvcCBwYXR0ZXJuLCB3aXRoIG9uZSB0YWIgZXZlcnkKK3NwZWNpZmllZCBudW1iZXIgb2YgcG9zaXRpb25zLiAgV2l0aG91dCBhbiBhcmd1bWVudCwgaXQgZGVmYXVsdHMgdG8KKy5CUiA4IC4KKy5UUAorLkJSIFwtXC1yZXBlYXQgIiBbIiBvbiB8IG9mZiAiXSAgKHZpcnR1YWwgY29uc29sZXMgb25seSkiCitUdXJucyBrZXlib2FyZCByZXBlYXQgb24gb3Igb2ZmLgorLlRQCitcZkJcLVwtcmVzZXRcZlAKK0Rpc3BsYXlzIHRoZSB0ZXJtaW5hbCByZXNldCBzdHJpbmcsIHdoaWNoIHR5cGljYWxseSByZXNldHMgdGhlIHRlcm1pbmFsIHRvCitpdHMgcG93ZXItb24gc3RhdGUuCisuVFAKK1xmQlwtXC1yZXNpemVcZlAKK1Jlc2V0IHRlcm1pbmFsIHNpemUgYnkgYXNzZXNzaW5nIG1heGltdW0gcm93IGFuZCBjb2x1bW4uICBUaGlzIGlzIHVzZWZ1bAord2hlbiBhY3R1YWwgZ2VvbWV0cnkgYW5kIGtlcm5lbCB0ZXJtaW5hbCBkcml2ZXIgYXJlIG5vdCBpbiBzeW5jLiAgTW9zdAorbm90YWJsZSB1c2UgY2FzZSBpcyB3aXRoIHNlcmlhbCBjb25zb2xlcywgdGhhdCBkbyBub3QgdXNlCisuQlIgaW9jdGwgKDMpCitidXQganVzdCBieXRlIHN0cmVhbXMgYW5kIGJyZWFrcy4KKy5UUAorXGZCXC1cLXJldmVyc2VcZlAgW1xmQm9uXGZQfFxmQm9mZlxmUF0KK1R1cm5zIHJldmVyc2UgdmlkZW8gbW9kZSBvbiBvciBvZmYuICBFeGNlcHQgb24gYSB2aXJ0dWFsIGNvbnNvbGUsCisuQiBcLVwtcmV2ZXJzZSBvZmYKK3R1cm5zIG9mZiBhbGwgYXR0cmlidXRlcyAoYm9sZCwgaGFsZi1icmlnaHRuZXNzLCBibGluaywgcmV2ZXJzZSkuCisuVFAKK1xmQlwtXC1zdG9yZVxmUCAgKHZpcnR1YWwgY29uc29sZXMgb25seSkKK1N0b3JlcyB0aGUgdGVybWluYWwncyBjdXJyZW50IHJlbmRlcmluZyBvcHRpb25zIChmb3JlZ3JvdW5kIGFuZCBiYWNrZ3JvdW5kCitjb2xvcnMpIGFzIHRoZSB2YWx1ZXMgdG8gYmUgdXNlZCBhdCByZXNldC10by1kZWZhdWx0LgorLlRQCitcZkJcLVwtdGFic1xmUCBbXGZJdGFiMSB0YWIyIHRhYjNcZlAgLi4uXQorU2V0cyB0YWIgc3RvcHMgYXQgdGhlIGdpdmVuIGhvcml6b250YWwgY3Vyc29yIHBvc2l0aW9ucywgaW4gdGhlIHJhbmdlCisuQlIgMS0xNjAgLgorV2l0aG91dCBhcmd1bWVudHMsIGl0IHNob3dzIHRoZSBjdXJyZW50IHRhYiBzdG9wIHNldHRpbmdzLgorLlRQCitcZkJcLVwtdGVybVxmUCBcZkl0ZXJtaW5hbF9uYW1lXGZQCitPdmVycmlkZXMgdGhlIFRFUk0gZW52aXJvbm1lbnQgdmFyaWFibGUuCisuVFAKK1xmQlwtXC11bGNvbG9yXGZQIFxmSTE2LWNvbG9yXGZQICAodmlydHVhbCBjb25zb2xlcyBvbmx5KQorU2V0cyB0aGUgY29sb3IgZm9yIHVuZGVybGluZWQgY2hhcmFjdGVycy4KKy5UUAorLkJSIFwtXC11bmRlcmxpbmUgIiBbIiBvbiB8IG9mZiBdCitUdXJucyB1bmRlcmxpbmUgbW9kZSBvbiBvciBvZmYuCisuVFAKK1xmQlwtXC12ZXJzaW9uXGZQCitEaXNwbGF5cyB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0cy4KKy5UUAorXGZCXC1cLWhlbHBcZlAKK0Rpc3BsYXlzIGEgaGVscCB0ZXh0IGFuZCBleGl0cy4KKy5TSCBDT01QQVRJQklMSVRZCitTaW5jZSB2ZXJzaW9uIDIuMjUKKy5CIHNldHRlcm0KK2hhcyBzdXBwb3J0IGZvciBsb25nIG9wdGlvbnMgd2l0aCB0d28gaHlwaGVucywgZm9yIGV4YW1wbGUKKy5CUiBcLVwtaGVscCAsCitiZXNpZGUgdGhlIGhpc3RvcmljYWwgbG9uZyBvcHRpb25zIHdpdGggYSBzaW5nbGUgaHlwaGVuLCBmb3IgZXhhbXBsZQorLkJSIFwtaGVscCAuCitJbiBzY3JpcHRzIGl0IGlzIGJldHRlciB0byB1c2UgdGhlIGJhY2t3YXJkLWNvbXBhdGlibGUgc2luZ2xlIGh5cGhlbgorcmF0aGVyIHRoYW4gdGhlIGRvdWJsZSBoeXBoZW4uICBDdXJyZW50bHkgdGhlcmUgYXJlIG5vIHBsYW5zIG5vciBnb29kCityZWFzb25zIHRvIGRpc2NvbnRpbnVlIHNpbmdsZS1oeXBoZW4gY29tcGF0aWJpbGl0eS4KKy5TSCAiU0VFIEFMU08iCisuQlIgc3R0eSAoMSksCisuQlIgdHB1dCAoMSksCisuQlIgdHR5ICg0KSwKKy5CUiB0ZXJtaW5mbyAoNSkKKy5TSCBCVUdTCitEaWZmZXJlbmNlcyBiZXR3ZWVuIHRoZSBNaW5peCBhbmQgTGludXggdmVyc2lvbnMgYXJlIG5vdCBkb2N1bWVudGVkLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHNldHRlcm0gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvc2V0dGVybS5jIGIvdGVybS11dGlscy9zZXR0ZXJtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjIwYTVlNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvc2V0dGVybS5jCkBAIC0wLDAgKzEsMTE4NCBAQAorLyogc2V0dGVybS5jLCBzZXQgdGVybWluYWwgYXR0cmlidXRlcy4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDE5OTAgR29yZG9uIElybGFtIChnb3Jkb25pQGNzLnVhLm96LmF1KS4gIENvbmRpdGlvbnMgb2YgdXNlLAorICogbW9kaWZpY2F0aW9uLCBhbmQgcmVkaXN0cmlidXRpb24gYXJlIGNvbnRhaW5lZCBpbiB0aGUgZmlsZSBDT1BZUklHSFQgdGhhdAorICogZm9ybXMgcGFydCBvZiB0aGlzIGRpc3RyaWJ1dGlvbi4KKyAqIAorICogQWRhcHRpb24gdG8gTGludXggYnkgUGV0ZXIgTWFjRG9uYWxkLgorICoKKyAqIEVuaGFuY2VtZW50cyBieSBNaWthIExpbGplYmVyZyAobGlsamViZXJAY3MuSGVsc2lua2kuRkkpCisgKgorICogQmVlcCBtb2RpZmljYXRpb25zIGJ5IENocmlzdG9waGUgSm9saWYgKGNqb2xpZkBzdG9ybS5nYXRlbGluay5mci5uZXQpCisgKgorICogU2FuaXR5IGluY3JlYXNlcyBieSBDYWZlaW5lIEFkZGljdCBbc2ljXS4KKyAqCisgKiBQb3dlcnNhdmUgZmVhdHVyZXMgYnkgdG9kZCBqLiBkZXJyIDx0amRAd29yZHNtaXRoLm9yZz4KKyAqCisgKiBDb252ZXJ0ZWQgdG8gdGVybWluZm8gYnkgS2FycyBkZSBKb25nIChqb25na0Bjcy51dHdlbnRlLm5sKQorICoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqCisgKiBTZW1hbnRpY3M6CisgKgorICogU2V0dGVybSB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0IGEgY2hhcmFjdGVyIHN0cmluZyB0aGF0IHdpbGwKKyAqIGludm9rZSB0aGUgc3BlY2lmaWVkIHRlcm1pbmFsIGNhcGFiaWxpdGllcy4gIFdoZXJlIHBvc3NpYmxlCisgKiB0ZXJtaW5mbyBpcyBjb25zdWx0ZWQgdG8gZmluZCB0aGUgc3RyaW5nIHRvIHVzZS4gIFNvbWUgb3B0aW9ucworICogaG93ZXZlciBkbyBub3QgY29ycmVzcG9uZCB0byBhIHRlcm1pbmZvIGNhcGFiaWxpdHkuICBJbiB0aGlzIGNhc2UgaWYKKyAqIHRoZSB0ZXJtaW5hbCB0eXBlIGlzICJjb24qIiwgb3IgImxpbnV4KiIgdGhlIHN0cmluZyB0aGF0IGludm9rZXMKKyAqIHRoZSBzcGVjaWZpZWQgY2FwYWJpbGl0aWVzIG9uIHRoZSBQQyBMaW51eCB2aXJ0dWFsIGNvbnNvbGUgZHJpdmVyCisgKiBpcyBvdXRwdXQuICBPcHRpb25zIHRoYXQgYXJlIG5vdCBpbXBsZW1lbnRlZCBieSB0aGUgdGVybWluYWwgYXJlCisgKiBpZ25vcmVkLgorICoKKyAqIFRoZSBmb2xsb3dpbmcgb3B0aW9ucyBhcmUgbm9uLW9idmlvdXMuCisgKgorICogICAtdGVybSBjYW4gYmUgdXNlZCB0byBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZS4KKyAqCisgKiAgIC1yZXNldCBkaXNwbGF5cyB0aGUgdGVybWluYWwgcmVzZXQgc3RyaW5nLCB3aGljaCB0eXBpY2FsbHkgcmVzZXRzIHRoZQorICogICAgICB0ZXJtaW5hbCB0byBpdHMgcG93ZXIgb24gc3RhdGUuCisgKgorICogICAtaW5pdGlhbGl6ZSBkaXNwbGF5cyB0aGUgdGVybWluYWwgaW5pdGlhbGl6YXRpb24gc3RyaW5nLCB3aGljaCB0eXBpY2FsbHkKKyAqICAgICAgc2V0cyB0aGUgdGVybWluYWwncyByZW5kZXJpbmcgb3B0aW9ucywgYW5kIG90aGVyIGF0dHJpYnV0ZXMgdG8gdGhlCisgKiAgICAgIGRlZmF1bHQgdmFsdWVzLgorICoKKyAqICAgLWRlZmF1bHQgc2V0cyB0aGUgdGVybWluYWwncyByZW5kZXJpbmcgb3B0aW9ucyB0byB0aGUgZGVmYXVsdCB2YWx1ZXMuCisgKgorICogICAtc3RvcmUgc3RvcmVzIHRoZSB0ZXJtaW5hbCdzIGN1cnJlbnQgcmVuZGVyaW5nIG9wdGlvbnMgYXMgdGhlIGRlZmF1bHQKKyAqICAgICAgdmFsdWVzLiAgKi8KKworI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxmY250bC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjaW5jbHVkZSA8c3lzL2tsb2cuaD4KKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4JCS8qIGZvciBNQVhQQVRITEVOICovCisjaW5jbHVkZSA8c3lzL3RpbWUuaD4KKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU1dfVEVSTV9IKQorIyBpbmNsdWRlIDxuY3Vyc2Vzdy90ZXJtLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU19URVJNX0gpCisjIGluY2x1ZGUgPG5jdXJzZXMvdGVybS5oPgorI2VsaWYgZGVmaW5lZChIQVZFX1RFUk1fSCkKKyMgaW5jbHVkZSA8dGVybS5oPgorI2VuZGlmCisKKyNpZmRlZiBIQVZFX0xJTlVYX1RJT0NMX0gKKyMgaW5jbHVkZSA8bGludXgvdGlvY2wuaD4KKyNlbmRpZgorCisjaW5jbHVkZSAiYWxsLWlvLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCisvKiBDb25zdGFudHMuICovCisKKy8qIE5vbi1zdGFuZGFyZCByZXR1cm4gdmFsdWVzLiAqLworI2RlZmluZSBFWElUX0RVTVBGSUxFCS0xCisKKy8qIENvbG9ycy4gKi8KK2VudW0geworCUJMQUNLID0gMCwKKwlSRUQsCisJR1JFRU4sCisJWUVMTE9XLAorCUJMVUUsCisJTUFHRU5UQSwKKwlDWUFOLAorCVdISVRFLAorCUdSRVksCisJREVGQVVMVAorfTsKKworc3RhdGljIGNvbnN0IGNoYXIgKmNvbG9ybmFtZXNbXSA9IHsKKwlbQkxBQ0tdID0gImJsYWNrIiwKKwlbUkVEXQk9ICJyZWQiLAorCVtHUkVFTl0JPSAiZ3JlZW4iLAorCVtZRUxMT1ddPSAieWVsbG93IiwKKwlbQkxVRV0JPSAiYmx1ZSIsCisJW01BR0VOVEFdPSJtYWdlbnRhIiwKKwlbQ1lBTl0JPSAiY3lhbiIsCisJW1dISVRFXQk9ICJ3aGl0ZSIsCisJW0dSRVldCT0gImdyZXkiLAorCVtERUZBVUxUXSA9ICJkZWZhdWx0IgorfTsKKworI2RlZmluZSBpc192YWxpZF9jb2xvcih4KQkoeCA+PSAwICYmIChzaXplX3QpIHggPCBBUlJBWV9TSVpFKGNvbG9ybmFtZXMpKQorCisvKiBCbGFuayBjb21tYW5kcyAqLworZW51bSB7CisJQkxBTktTQ1JFRU4JPSAtMSwKKwlVTkJMQU5LU0NSRUVOCT0gLTIsCisJQkxBTktFRFNDUkVFTgk9IC0zCit9OworCisvKiA8bGludXgvdGlvY2wuaD4gZmFsbGJhY2sgKi8KKyNpZm5kZWYgVElPQ0xfQkxBTktTQ1JFRU4KK2VudW0geworCVRJT0NMX1VOQkxBTktTQ1JFRU4JPSAgNCwJLyogdW5ibGFuayBzY3JlZW4gKi8KKwlUSU9DTF9TRVRWRVNBQkxBTksJPSAxMCwJLyogc2V0IHZlc2EgYmxhbmtpbmcgbW9kZSAqLworCVRJT0NMX0JMQU5LU0NSRUVOCT0gMTQsCS8qIGtlZXAgc2NyZWVuIGJsYW5rIGV2ZW4gaWYgYSBrZXkgaXMgcHJlc3NlZCAqLworCVRJT0NMX0JMQU5LRURTQ1JFRU4JPSAxNQkvKiByZXR1cm4gd2hpY2ggdnQgd2FzIGJsYW5rZWQgKi8KK307CisjZW5kaWYKKworLyogUG93ZXJzYXZlIG1vZGVzICovCitlbnVtIHsKKwlWRVNBX0JMQU5LX01PREVfT0ZGID0gMCwKKwlWRVNBX0JMQU5LX01PREVfU1VTUEVORFYsCisJVkVTQV9CTEFOS19NT0RFX1NVU1BFTkRILAorCVZFU0FfQkxBTktfTU9ERV9QT1dFUkRPV04KK307CisKKy8qIGtsb2djdGwoKSBhY3Rpb25zICovCitlbnVtIHsKKwlTWVNMT0dfQUNUSU9OX0NPTlNPTEVfT0ZGCT0gNiwKKwlTWVNMT0dfQUNUSU9OX0NPTlNPTEVfT04JPSA3LAorCVNZU0xPR19BQ1RJT05fQ09OU09MRV9MRVZFTAk9IDgKK307CisKKy8qIENvbnNvbGUgbG9nIGxldmVscyAqLworZW51bSB7CisJQ09OU09MRV9MRVZFTF9NSU4gPSAwLAorCUNPTlNPTEVfTEVWRUxfTUFYID0gOAorfTsKKworLyogVmFyaW91cyBudW1iZXJzICAqLworI2RlZmluZSBERUZBVUxUX1RBQl9MRU4JOAorI2RlZmluZQlCTEFOS19NQVgJNjAKKyNkZWZpbmUJVEFCU19NQVgJMTYwCisjZGVmaW5lIEJMRU5HVEhfTUFYCTIwMDAKKworLyogQ29tbWFuZCBjb250cm9scy4gKi8KK3N0cnVjdCBzZXR0ZXJtX2NvbnRyb2wgeworCWNoYXIgKm9wdF90ZV90ZXJtaW5hbF9uYW1lOwkvKiB0ZXJtaW5hbCBuYW1lICovCisJaW50IG9wdF9ibF9taW47CQkvKiBibGFuayBzY3JlZW4gKi8KKwlpbnQgb3B0X2JsZW5ndGhfbDsJLyogYmVsbCBkdXJhdGlvbiBpbiBtaWxsaXNlY29uZHMgKi8KKwlpbnQgb3B0X2JmcmVxX2Y7CS8qIGJlbGwgZnJlcXVlbmN5IGluIEh6ICovCisJaW50IG9wdF9zbl9udW07CQkvKiBjb25zb2xlIG51bWJlciB0byBiZSBzbmFwc2hvdCAqLworCWNoYXIgKm9wdF9zbl9uYW1lOwkvKiBwYXRoIHRvIHdyaXRlIHNuYXAgKi8KKwljaGFyICppbl9kZXZpY2U7CS8qIGRldmljZSB0byBzbmFwc2hvdCAqLworCWludCBvcHRfbXNnbGV2ZWxfbnVtOwkvKiBwcmludGsoKSBsb2dnaW5nIGxldmVsICovCisJaW50IG9wdF9wc19tb2RlOwkvKiBwb3dlcnNhdmUgbW9kZSAqLworCWludCBvcHRfcGRfbWluOwkJLyogcG93ZXJkb3duIHRpbWUgKi8KKwlpbnQgb3B0X3J0X2xlbjsJCS8qIHJlZ3VsYXIgdGFiIGxlbmd0aCAqLworCWludCBvcHRfdGJfYXJyYXlbVEFCU19NQVggKyAxXTsJLyogYXJyYXkgZm9yIHRhYiBsaXN0ICovCisJLyogY29sb3JzICovCisJdW5zaWduZWQgaW50IG9wdF9mb19jb2xvcjo0LCBvcHRfYmFfY29sb3I6NCwgb3B0X3VsX2NvbG9yOjQsIG9wdF9oYl9jb2xvcjo0OworCS8qIGJvb2xlYW4gb3B0aW9ucyAqLworCXVuc2lnbmVkIGludCBvcHRfY3Vfb246MSwgb3B0X2xpX29uOjEsIG9wdF9ib19vbjoxLCBvcHRfaGJfb246MSwKKwkgICAgb3B0X2JsX29uOjEsIG9wdF9yZV9vbjoxLCBvcHRfdW5fb246MSwgb3B0X3JlcF9vbjoxLAorCSAgICBvcHRfYXBwY2tfb246MSwgb3B0X2ludnNjX29uOjEsIG9wdF9tc2dfb246MSwgb3B0X2NsX2FsbDoxLAorCSAgICB2Y3Rlcm06MTsKKwkvKiBPcHRpb24gZmxhZ3MuICBTZXQgd2hlbiBhbiBvcHRpb24gaXMgaW52b2tlZC4gKi8KKwl1aW50NjRfdCBvcHRfdGVybToxLCBvcHRfcmVzZXQ6MSwgb3B0X3Jlc2l6ZToxLCBvcHRfaW5pdGlhbGl6ZToxLCBvcHRfY3Vyc29yOjEsCisJICAgIG9wdF9saW5ld3JhcDoxLCBvcHRfZGVmYXVsdDoxLCBvcHRfZm9yZWdyb3VuZDoxLAorCSAgICBvcHRfYmFja2dyb3VuZDoxLCBvcHRfYm9sZDoxLCBvcHRfYmxpbms6MSwgb3B0X3JldmVyc2U6MSwKKwkgICAgb3B0X3VuZGVybGluZToxLCBvcHRfc3RvcmU6MSwgb3B0X2NsZWFyOjEsIG9wdF9ibGFuazoxLAorCSAgICBvcHRfc25hcDoxLCBvcHRfc25hcGZpbGU6MSwgb3B0X2FwcGVuZDoxLCBvcHRfdWxjb2xvcjoxLAorCSAgICBvcHRfaGJjb2xvcjoxLCBvcHRfaGFsZmJyaWdodDoxLCBvcHRfcmVwZWF0OjEsIG9wdF90YWJzOjEsCisJICAgIG9wdF9jbHJ0YWJzOjEsIG9wdF9yZWd0YWJzOjEsIG9wdF9hcHBjdXJzb3JrZXlzOjEsCisJICAgIG9wdF9pbnZlcnNlc2NyZWVuOjEsIG9wdF9tc2c6MSwgb3B0X21zZ2xldmVsOjEsIG9wdF9wb3dlcnNhdmU6MSwKKwkgICAgb3B0X3Bvd2VyZG93bjoxLCBvcHRfYmxlbmd0aDoxLCBvcHRfYmZyZXE6MTsKK307CisKK3N0YXRpYyBpbnQgcGFyc2VfY29sb3IoY29uc3QgY2hhciAqYXJnKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUoY29sb3JuYW1lcyk7IGkrKykgeworCQlpZiAoc3RyY21wKGNvbG9ybmFtZXNbaV0sIGFyZykgPT0gMCkKKwkJCXJldHVybiBpOworCX0KKworCXJldHVybiAtRUlOVkFMOworfQorCitzdGF0aWMgaW50IHBhcnNlX2ZlYmdfY29sb3IoY29uc3QgY2hhciAqYXJnKQoreworCWludCBjb2xvciA9IHBhcnNlX2NvbG9yKGFyZyk7CisKKwlpZiAoY29sb3IgPCAwKQorCQljb2xvciA9IHN0cnRvczMyX29yX2VycihhcmcsIF8oImFyZ3VtZW50IGVycm9yIikpOworCisJaWYgKCFpc192YWxpZF9jb2xvcihjb2xvcikgfHwgY29sb3IgPT0gR1JFWSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJhcmd1bWVudCBlcnJvciIpLCBhcmcpOworCXJldHVybiBjb2xvcjsKK30KKworc3RhdGljIGludCBwYXJzZV91bGhiX2NvbG9yKGNoYXIgKiphdiwgaW50ICpvaSkKK3sKKwljaGFyICpjb2xvcl9uYW1lOworCWludCBicmlnaHQgPSAwOworCWludCBjb2xvciA9IC0xOworCisJaWYgKGF2WypvaV0gJiYgc3RyY21wKGF2WypvaSAtIDFdLCAiYnJpZ2h0IikgPT0gMCkgeworCQlicmlnaHQgPSAxOworCQljb2xvcl9uYW1lID0gYXZbKm9pXTsKKwkJKCpvaSkrKzsKKwl9IGVsc2UKKwkJY29sb3JfbmFtZSA9IGF2WypvaSAtIDFdOworCisJY29sb3IgPSBwYXJzZV9jb2xvcihjb2xvcl9uYW1lKTsKKwlpZiAoY29sb3IgPCAwKQorCQljb2xvciA9IHN0cnRvczMyX29yX2Vycihjb2xvcl9uYW1lLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwlpZiAoIWlzX3ZhbGlkX2NvbG9yKGNvbG9yKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJhcmd1bWVudCBlcnJvciIpLCBjb2xvcl9uYW1lKTsKKwlpZiAoYnJpZ2h0ICYmIChjb2xvciA9PSBCTEFDSyB8fCBjb2xvciA9PSBHUkVZKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImFyZ3VtZW50IGVycm9yOiBicmlnaHQgJXMgaXMgbm90IHN1cHBvcnRlZCIpLCBjb2xvcl9uYW1lKTsKKworCXJldHVybiBjb2xvcjsKK30KKworc3RhdGljIGNoYXIgKmZpbmRfb3B0aW9uYWxfYXJnKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2kpCit7CisJY2hhciAqYXJnOworCWlmIChvYSkKKwkJcmV0dXJuIG9hOworCWVsc2UgeworCQlhcmcgPSBhdlsqb2ldOworCQlpZiAoIWFyZyB8fCBhcmdbMF0gPT0gJy0nKQorCQkJcmV0dXJuIE5VTEw7CisJfQorCSgqb2kpKys7CisJcmV0dXJuIGFyZzsKK30KKworc3RhdGljIGludCBwYXJzZV9ibGFuayhjaGFyICoqYXYsIGNoYXIgKm9hLCBpbnQgKm9pKQoreworCWNoYXIgKmFyZzsKKworCWFyZyA9IGZpbmRfb3B0aW9uYWxfYXJnKGF2LCBvYSwgb2kpOworCWlmICghYXJnKQorCQlyZXR1cm4gQkxBTktFRFNDUkVFTjsKKwlpZiAoIXN0cmNtcChhcmcsICJmb3JjZSIpKQorCQlyZXR1cm4gQkxBTktTQ1JFRU47CisJZWxzZSBpZiAoIXN0cmNtcChhcmcsICJwb2tlIikpCisJCXJldHVybiBVTkJMQU5LU0NSRUVOOworCWVsc2UgeworCQlpbnQgcmV0OworCisJCXJldCA9IHN0cnRvczMyX29yX2VycihhcmcsIF8oImFyZ3VtZW50IGVycm9yIikpOworCQlpZiAocmV0IDwgMCB8fCBCTEFOS19NQVggPCByZXQpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiAlcyIsIF8oImFyZ3VtZW50IGVycm9yIiksIGFyZyk7CisJCXJldHVybiByZXQ7CisJfQorfQorCitzdGF0aWMgaW50IHBhcnNlX3Bvd2Vyc2F2ZShjb25zdCBjaGFyICphcmcpCit7CisJaWYgKHN0cmNtcChhcmcsICJvbiIpID09IDApCisJCXJldHVybiBWRVNBX0JMQU5LX01PREVfU1VTUEVORFY7CisJZWxzZSBpZiAoc3RyY21wKGFyZywgInZzeW5jIikgPT0gMCkKKwkJcmV0dXJuIFZFU0FfQkxBTktfTU9ERV9TVVNQRU5EVjsKKwllbHNlIGlmIChzdHJjbXAoYXJnLCAiaHN5bmMiKSA9PSAwKQorCQlyZXR1cm4gVkVTQV9CTEFOS19NT0RFX1NVU1BFTkRIOworCWVsc2UgaWYgKHN0cmNtcChhcmcsICJwb3dlcmRvd24iKSA9PSAwKQorCQlyZXR1cm4gVkVTQV9CTEFOS19NT0RFX1BPV0VSRE9XTjsKKwllbHNlIGlmIChzdHJjbXAoYXJnLCAib2ZmIikgPT0gMCkKKwkJcmV0dXJuIFZFU0FfQkxBTktfTU9ERV9PRkY7CisJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJhcmd1bWVudCBlcnJvciIpLCBhcmcpOworfQorCitzdGF0aWMgaW50IHBhcnNlX21zZ2xldmVsKGNvbnN0IGNoYXIgKmFyZykKK3sKKwlpbnQgcmV0OworCisJcmV0ID0gc3RydG9zMzJfb3JfZXJyKGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJaWYgKHJldCA8IENPTlNPTEVfTEVWRUxfTUlOIHx8IENPTlNPTEVfTEVWRUxfTUFYIDwgcmV0KQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiAlcyIsIF8oImFyZ3VtZW50IGVycm9yIiksIGFyZyk7CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCBwYXJzZV9zbmFwKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2kpCit7CisJaW50IHJldDsKKwljaGFyICphcmc7CisKKwlhcmcgPSBmaW5kX29wdGlvbmFsX2FyZyhhdiwgb2EsIG9pKTsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIDA7CisJcmV0ID0gc3RydG9zMzJfb3JfZXJyKGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJaWYgKHJldCA8IDEpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6ICVzIiwgXygiYXJndW1lbnQgZXJyb3IiKSwgYXJnKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgdm9pZCBwYXJzZV90YWJzKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2ksIGludCAqdGFiX2FycmF5KQoreworCWludCBpID0gMDsKKworCWlmIChvYSkgeworCQl0YWJfYXJyYXlbaV0gPSBzdHJ0b3MzMl9vcl9lcnIob2EsIF8oImFyZ3VtZW50IGVycm9yIikpOworCQlpKys7CisJfQorCXdoaWxlIChhdlsqb2ldKSB7CisJCWlmIChUQUJTX01BWCA8IGkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidG9vIG1hbnkgdGFicyIpKTsKKwkJaWYgKGF2WypvaV1bMF0gPT0gJy0nKQorCQkJYnJlYWs7CisJCXRhYl9hcnJheVtpXSA9IHN0cnRvczMyX29yX2Vycihhdlsqb2ldLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwkJKCpvaSkrKzsKKwkJaSsrOworCX0KKwl0YWJfYXJyYXlbaV0gPSAtMTsKK30KKworc3RhdGljIGludCBwYXJzZV9yZWd0YWJzKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2kpCit7CisJaW50IHJldDsKKwljaGFyICphcmc7CisKKwlhcmcgPSBmaW5kX29wdGlvbmFsX2FyZyhhdiwgb2EsIG9pKTsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIERFRkFVTFRfVEFCX0xFTjsKKwlyZXQgPSBzdHJ0b3MzMl9vcl9lcnIoYXJnLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKKwlpZiAocmV0IDwgMSB8fCBUQUJTX01BWCA8IHJldCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsICIlczogJXMiLCBfKCJhcmd1bWVudCBlcnJvciIpLCBhcmcpOworCXJldHVybiByZXQ7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfYmxlbmd0aChjaGFyICoqYXYsIGNoYXIgKm9hLCBpbnQgKm9pKQoreworCWludCByZXQgPSAtMTsKKwljaGFyICphcmc7CisKKwlhcmcgPSBmaW5kX29wdGlvbmFsX2FyZyhhdiwgb2EsIG9pKTsKKwlpZiAoIWFyZykKKwkJcmV0dXJuIDA7CisJcmV0ID0gc3RydG9zMzJfb3JfZXJyKGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSk7CisJaWYgKHJldCA8IDAgfHwgQkxFTkdUSF9NQVggPCByZXQpCisJCWVycngoRVhJVF9GQUlMVVJFLCAiJXM6ICVzIiwgXygiYXJndW1lbnQgZXJyb3IiKSwgYXJnKTsKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IHBhcnNlX2JmcmVxKGNoYXIgKiphdiwgY2hhciAqb2EsIGludCAqb2kpCit7CisJY2hhciAqYXJnOworCisJYXJnID0gZmluZF9vcHRpb25hbF9hcmcoYXYsIG9hLCBvaSk7CisJaWYgKCFhcmcpCisJCXJldHVybiAwOworCXJldHVybiBzdHJ0b3MzMl9vcl9lcnIoYXJnLCBfKCJhcmd1bWVudCBlcnJvciIpKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc11cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiU2V0IHRoZSBhdHRyaWJ1dGVzIG9mIGEgdGVybWluYWwuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC0tdGVybSAgICAgICAgICA8dGVybWluYWxfbmFtZT4gICBvdmVycmlkZSBURVJNIGVudmlyb25tZW50IHZhcmlhYmxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1yZXNldCAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHRvIHBvd2VyLW9uIHN0YXRlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1yZXNpemUgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc2V0IHRlcm1pbmFsIHJvd3MgYW5kIGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWluaXRpYWxpemUgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheSBpbml0IHN0cmluZywgYW5kIHVzZSBkZWZhdWx0IHNldHRpbmdzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1kZWZhdWx0ICAgICAgICAgICAgICAgICAgICAgICAgIHVzZSBkZWZhdWx0IHRlcm1pbmFsIHNldHRpbmdzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1zdG9yZSAgICAgICAgICAgICAgICAgICAgICAgICAgIHNhdmUgY3VycmVudCB0ZXJtaW5hbCBzZXR0aW5ncyBhcyBkZWZhdWx0XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1jdXJzb3IgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGRpc3BsYXkgY3Vyc29yXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1yZXBlYXQgICAgICAgIFtvbnxvZmZdICAgICAgICAgIGtleWJvYXJkIHJlcGVhdFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tYXBwY3Vyc29ya2V5cyBbb258b2ZmXSAgICAgICAgICBjdXJzb3Iga2V5IGFwcGxpY2F0aW9uIG1vZGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWxpbmV3cmFwICAgICAgW29ufG9mZl0gICAgICAgICAgY29udGludWUgb24gYSBuZXcgbGluZSB3aGVuIGEgbGluZSBpcyBmdWxsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdICAgICAgICAgIHN3YXAgY29sb3JzIGZvciB0aGUgd2hvbGUgc2NyZWVuXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1mb3JlZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBmb3JlZ3JvdW5kIGNvbG9yXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1iYWNrZ3JvdW5kICAgIGRlZmF1bHR8PGNvbG9yPiAgIHNldCBiYWNrZ3JvdW5kIGNvbG9yXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS11bGNvbG9yICAgICAgIFticmlnaHRdIDxjb2xvcj4gIHNldCB1bmRlcmxpbmVkIHRleHQgY29sb3JcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWhiY29sb3IgICAgICAgW2JyaWdodF0gPGNvbG9yPiAgc2V0IGJvbGQgdGV4dCBjb2xvclxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAgICAgICAgICAgICA8Y29sb3I+OiBibGFjayBibHVlIGN5YW4gZ3JlZW4gZ3JleSBtYWdlbnRhIHJlZCB3aGl0ZSB5ZWxsb3dcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWJvbGQgICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYm9sZFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0taGFsZi1icmlnaHQgICBbb258b2ZmXSAgICAgICAgICBkaW1cbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWJsaW5rICAgICAgICAgW29ufG9mZl0gICAgICAgICAgYmxpbmtcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLXVuZGVybGluZSAgICAgW29ufG9mZl0gICAgICAgICAgdW5kZXJsaW5lXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1yZXZlcnNlICAgICAgIFtvbnxvZmZdICAgICAgICAgIHN3YXAgZm9yZWdyb3VuZCBhbmQgYmFja2dyb3VuZCBjb2xvcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWNsZWFyICAgICAgICAgW2FsbHxyZXN0XSAgICAgICAgY2xlYXIgc2NyZWVuIGFuZCBzZXQgY3Vyc29yIHBvc2l0aW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS10YWJzICAgICAgICAgIFs8bnVtYmVyPi4uLl0gICAgIHNldCB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIHNob3cgdGhlbVxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tY2xydGFicyAgICAgICBbPG51bWJlcj4uLi5dICAgICBjbGVhciB0aGVzZSB0YWIgc3RvcCBwb3NpdGlvbnMsIG9yIGFsbFxuIiksIG91dCk7CisJZnB1dHMoXygiIC0tcmVndGFicyAgICAgICBbMS0xNjBdICAgICAgICAgICBzZXQgYSByZWd1bGFyIHRhYiBzdG9wIGludGVydmFsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1ibGFuayAgICAgICAgIFswLTYwfGZvcmNlfHBva2VdIHNldCB0aW1lIG9mIGluYWN0aXZpdHkgYmVmb3JlIHNjcmVlbiBibGFua3NcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWR1bXAgICAgICAgICAgWzxudW1iZXI+XSAgICAgICAgd3JpdGUgdmNzYTxudW1iZXI+IGNvbnNvbGUgZHVtcCB0byBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1hcHBlbmQgICAgICAgIFs8bnVtYmVyPl0gICAgICAgIGFwcGVuZCB2Y3NhPG51bWJlcj4gY29uc29sZSBkdW1wIHRvIGZpbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWZpbGUgICAgICAgICAgPGZpbGVuYW1lPiAgICAgICAgbmFtZSBvZiB0aGUgZHVtcCBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1tc2cgICAgICAgICAgIFtvbnxvZmZdICAgICAgICAgIHNlbmQga2VybmVsIG1lc3NhZ2VzIHRvIGNvbnNvbGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLW1zZ2xldmVsICAgICAgMC04ICAgICAgICAgICAgICAga2VybmVsIGNvbnNvbGUgbG9nIGxldmVsXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLS1wb3dlcnNhdmUgICAgIFtvbnx2c3luY3xoc3luY3xwb3dlcmRvd258b2ZmXVxuIiksIG91dCk7CisJZnB1dHMoXygiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXQgdmVzYSBwb3dlcnNhdmluZyBmZWF0dXJlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tcG93ZXJkb3duICAgICBbMC02MF0gICAgICAgICAgICBzZXQgdmVzYSBwb3dlcmRvd24gaW50ZXJ2YWwgaW4gbWludXRlc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0tYmxlbmd0aCAgICAgICBbMC0yMDAwXSAgICAgICAgICBkdXJhdGlvbiBvZiB0aGUgYmVsbCBpbiBtaWxsaXNlY29uZHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtLWJmcmVxICAgICAgICAgPG51bWJlcj4gICAgICAgICAgYmVsbCBmcmVxdWVuY3kgaW4gSGVydHpcbiIpLCBvdXQpOworCXByaW50ZiggIiAtLWhlbHAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX09QVFNUUl9IRUxQKTsKKwlwcmludGYoICIgLS12ZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICAgICVzXG4iLCBVU0FHRV9PUFRTVFJfVkVSU0lPTik7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInNldHRlcm0oMSkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IF9fYXR0cmlidXRlX18oKF9fcHVyZV9fKSkgc2V0X29wdF9mbGFnKGludCBvcHQpCit7CisJaWYgKG9wdCkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImR1cGxpY2F0ZSB1c2Ugb2YgYW4gb3B0aW9uIikpOworCXJldHVybiAxOworfQorCitzdGF0aWMgdm9pZCBwYXJzZV9vcHRpb24oc3RydWN0IHNldHRlcm1fY29udHJvbCAqY3RsLCBpbnQgYWMsIGNoYXIgKiphdikKK3sKKwlpbnQgYzsKKwllbnVtIHsKKwkJT1BUX1RFUk0gPSBDSEFSX01BWCArIDEsCisJCU9QVF9SRVNFVCwKKwkJT1BUX1JFU0laRSwKKwkJT1BUX0lOSVRJQUxJWkUsCisJCU9QVF9DVVJTT1IsCisJCU9QVF9SRVBFQVQsCisJCU9QVF9BUFBDVVJTT1JLRVlTLAorCQlPUFRfTElORVdSQVAsCisJCU9QVF9ERUZBVUxULAorCQlPUFRfRk9SRUdST1VORCwKKwkJT1BUX0JBQ0tHUk9VTkQsCisJCU9QVF9VTENPTE9SLAorCQlPUFRfSEJDT0xPUiwKKwkJT1BUX0lOVkVSU0VTQ1JFRU4sCisJCU9QVF9CT0xELAorCQlPUFRfSEFMRl9CUklHSFQsCisJCU9QVF9CTElOSywKKwkJT1BUX1JFVkVSU0UsCisJCU9QVF9VTkRFUkxJTkUsCisJCU9QVF9TVE9SRSwKKwkJT1BUX0NMRUFSLAorCQlPUFRfVEFCUywKKwkJT1BUX0NMUlRBQlMsCisJCU9QVF9SRUdUQUJTLAorCQlPUFRfQkxBTkssCisJCU9QVF9EVU1QLAorCQlPUFRfQVBQRU5ELAorCQlPUFRfRklMRSwKKwkJT1BUX01TRywKKwkJT1BUX01TR0xFVkVMLAorCQlPUFRfUE9XRVJTQVZFLAorCQlPUFRfUE9XRVJET1dOLAorCQlPUFRfQkxFTkdUSCwKKwkJT1BUX0JGUkVRLAorCQlPUFRfVkVSU0lPTiwKKwkJT1BUX0hFTFAKKwl9OworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidGVybSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfVEVSTX0sCisJCXsicmVzZXQiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1JFU0VUfSwKKwkJeyJyZXNpemUiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1JFU0laRX0sCisJCXsiaW5pdGlhbGl6ZSIsIG5vX2FyZ3VtZW50LCBOVUxMLCBPUFRfSU5JVElBTElaRX0sCisJCXsiY3Vyc29yIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9DVVJTT1J9LAorCQl7InJlcGVhdCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfUkVQRUFUfSwKKwkJeyJhcHBjdXJzb3JrZXlzIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9BUFBDVVJTT1JLRVlTfSwKKwkJeyJsaW5ld3JhcCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfTElORVdSQVB9LAorCQl7ImRlZmF1bHQiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX0RFRkFVTFR9LAorCQl7ImZvcmVncm91bmQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0ZPUkVHUk9VTkR9LAorCQl7ImJhY2tncm91bmQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0JBQ0tHUk9VTkR9LAorCQl7InVsY29sb3IiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX1VMQ09MT1J9LAorCQl7ImhiY29sb3IiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0hCQ09MT1J9LAorCQl7ImludmVyc2VzY3JlZW4iLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0lOVkVSU0VTQ1JFRU59LAorCQl7ImJvbGQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0JPTER9LAorCQl7ImhhbGYtYnJpZ2h0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9IQUxGX0JSSUdIVH0sCisJCXsiYmxpbmsiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0JMSU5LfSwKKwkJeyJyZXZlcnNlIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9SRVZFUlNFfSwKKwkJeyJ1bmRlcmxpbmUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX1VOREVSTElORX0sCisJCXsic3RvcmUiLCBub19hcmd1bWVudCwgTlVMTCwgT1BUX1NUT1JFfSwKKwkJeyJjbGVhciIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfQ0xFQVJ9LAorCQl7InRhYnMiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX1RBQlN9LAorCQl7ImNscnRhYnMiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX0NMUlRBQlN9LAorCQl7InJlZ3RhYnMiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX1JFR1RBQlN9LAorCQl7ImJsYW5rIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIE9QVF9CTEFOS30sCisJCXsiZHVtcCIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfRFVNUH0sCisJCXsiYXBwZW5kIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsIE9QVF9BUFBFTkR9LAorCQl7ImZpbGUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgT1BUX0ZJTEV9LAorCQl7Im1zZyIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfTVNHfSwKKwkJeyJtc2dsZXZlbCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfTVNHTEVWRUx9LAorCQl7InBvd2Vyc2F2ZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBPUFRfUE9XRVJTQVZFfSwKKwkJeyJwb3dlcmRvd24iLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX1BPV0VSRE9XTn0sCisJCXsiYmxlbmd0aCIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCBPUFRfQkxFTkdUSH0sCisJCXsiYmZyZXEiLCBvcHRpb25hbF9hcmd1bWVudCwgTlVMTCwgT1BUX0JGUkVRfSwKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9WRVJTSU9OfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsIE9QVF9IRUxQfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsKKwkJeyBPUFRfREVGQVVMVCwgT1BUX1NUT1JFIH0sCisJCXsgT1BUX1RBQlMsIE9QVF9DTFJUQUJTLCBPUFRfUkVHVEFCUyB9LAorCQl7IE9QVF9NU0csIE9QVF9NU0dMRVZFTCB9LAorCQl7IDAgfQorCX07CisJaW50IGV4Y2xfc3RbQVJSQVlfU0laRShleGNsKV0gPSBVTF9FWENMX1NUQVRVU19JTklUOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmdfb25seShhYywgYXYsICIiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCWVycl9leGNsdXNpdmVfb3B0aW9ucyhjLCBsb25nb3B0cywgZXhjbCwgZXhjbF9zdCk7CisJCXN3aXRjaCAoYykgeworCQljYXNlIE9QVF9URVJNOgorCQkJY3RsLT5vcHRfdGVybSA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF90ZXJtKTsKKwkJCWN0bC0+b3B0X3RlX3Rlcm1pbmFsX25hbWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUkVTRVQ6CisJCQljdGwtPm9wdF9yZXNldCA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9yZXNldCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUkVTSVpFOgorCQkJY3RsLT5vcHRfcmVzaXplID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3Jlc2l6ZSk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfSU5JVElBTElaRToKKwkJCWN0bC0+b3B0X2luaXRpYWxpemUgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfaW5pdGlhbGl6ZSk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQ1VSU09SOgorCQkJY3RsLT5vcHRfY3Vyc29yID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2N1cnNvcik7CisJCQljdGwtPm9wdF9jdV9vbiA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkib24iLCAib2ZmIiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfUkVQRUFUOgorCQkJY3RsLT5vcHRfcmVwZWF0ID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3JlcGVhdCk7CisJCQljdGwtPm9wdF9yZXBfb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0FQUENVUlNPUktFWVM6CisJCQljdGwtPm9wdF9hcHBjdXJzb3JrZXlzID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2FwcGN1cnNvcmtleXMpOworCQkJY3RsLT5vcHRfYXBwY2tfb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0xJTkVXUkFQOgorCQkJY3RsLT5vcHRfbGluZXdyYXAgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfbGluZXdyYXApOworCQkJY3RsLT5vcHRfbGlfb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0RFRkFVTFQ6CisJCQljdGwtPm9wdF9kZWZhdWx0ID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2RlZmF1bHQpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0ZPUkVHUk9VTkQ6CisJCQljdGwtPm9wdF9mb3JlZ3JvdW5kID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2ZvcmVncm91bmQpOworCQkJY3RsLT5vcHRfZm9fY29sb3IgPSBwYXJzZV9mZWJnX2NvbG9yKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQkFDS0dST1VORDoKKwkJCWN0bC0+b3B0X2JhY2tncm91bmQgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfYmFja2dyb3VuZCk7CisJCQljdGwtPm9wdF9iYV9jb2xvciA9IHBhcnNlX2ZlYmdfY29sb3Iob3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9VTENPTE9SOgorCQkJY3RsLT5vcHRfdWxjb2xvciA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF91bGNvbG9yKTsKKwkJCWN0bC0+b3B0X3VsX2NvbG9yID0gcGFyc2VfdWxoYl9jb2xvcihhdiwgJm9wdGluZCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfSEJDT0xPUjoKKwkJCWN0bC0+b3B0X2hiY29sb3IgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfaGJjb2xvcik7CisJCQljdGwtPm9wdF9oYl9jb2xvciA9IHBhcnNlX3VsaGJfY29sb3IoYXYsICZvcHRpbmQpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0lOVkVSU0VTQ1JFRU46CisJCQljdGwtPm9wdF9pbnZlcnNlc2NyZWVuID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2ludmVyc2VzY3JlZW4pOworCQkJY3RsLT5vcHRfaW52c2Nfb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JPTEQ6CisJCQljdGwtPm9wdF9ib2xkID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2JvbGQpOworCQkJY3RsLT5vcHRfYm9fb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0hBTEZfQlJJR0hUOgorCQkJY3RsLT5vcHRfaGFsZmJyaWdodCA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9oYWxmYnJpZ2h0KTsKKwkJCWN0bC0+b3B0X2hiX29uID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwKKwkJCQkJCSJvbiIsICJvZmYiLCBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9CTElOSzoKKwkJCWN0bC0+b3B0X2JsaW5rID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2JsaW5rKTsKKwkJCWN0bC0+b3B0X2JsX29uID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwKKwkJCQkJCSJvbiIsICJvZmYiLCBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9SRVZFUlNFOgorCQkJY3RsLT5vcHRfcmV2ZXJzZSA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9yZXZlcnNlKTsKKwkJCWN0bC0+b3B0X3JlX29uID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwKKwkJCQkJCSJvbiIsICJvZmYiLCBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9VTkRFUkxJTkU6CisJCQljdGwtPm9wdF91bmRlcmxpbmUgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfdW5kZXJsaW5lKTsKKwkJCWN0bC0+b3B0X3VuX29uID0gcGFyc2Vfc3dpdGNoKG9wdGFyZywgXygiYXJndW1lbnQgZXJyb3IiKSwKKwkJCQkJCSJvbiIsICJvZmYiLCBOVUxMKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9TVE9SRToKKwkJCWN0bC0+b3B0X3N0b3JlID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3N0b3JlKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9DTEVBUjoKKwkJCWN0bC0+b3B0X2NsZWFyID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2NsZWFyKTsKKwkJCWN0bC0+b3B0X2NsX2FsbCA9IHBhcnNlX3N3aXRjaChvcHRhcmcsIF8oImFyZ3VtZW50IGVycm9yIiksCisJCQkJCQkiYWxsIiwgInJlc2V0IiwgTlVMTCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfVEFCUzoKKwkJCWN0bC0+b3B0X3RhYnMgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfdGFicyk7CisJCQlwYXJzZV90YWJzKGF2LCBvcHRhcmcsICZvcHRpbmQsIGN0bC0+b3B0X3RiX2FycmF5KTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9DTFJUQUJTOgorCQkJY3RsLT5vcHRfY2xydGFicyA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9jbHJ0YWJzKTsKKwkJCXBhcnNlX3RhYnMoYXYsIG9wdGFyZywgJm9wdGluZCwgY3RsLT5vcHRfdGJfYXJyYXkpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1JFR1RBQlM6CisJCQljdGwtPm9wdF9yZWd0YWJzID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3JlZ3RhYnMpOworCQkJY3RsLT5vcHRfcnRfbGVuID0gcGFyc2VfcmVndGFicyhhdiwgb3B0YXJnLCAmb3B0aW5kKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9CTEFOSzoKKwkJCWN0bC0+b3B0X2JsYW5rID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X2JsYW5rKTsKKwkJCWN0bC0+b3B0X2JsX21pbiA9IHBhcnNlX2JsYW5rKGF2LCBvcHRhcmcsICZvcHRpbmQpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0RVTVA6CisJCQljdGwtPm9wdF9zbmFwID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3NuYXApOworCQkJY3RsLT5vcHRfc25fbnVtID0gcGFyc2Vfc25hcChhdiwgb3B0YXJnLCAmb3B0aW5kKTsKKwkJCWJyZWFrOworCQljYXNlIE9QVF9BUFBFTkQ6CisJCQljdGwtPm9wdF9hcHBlbmQgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfYXBwZW5kKTsKKwkJCWN0bC0+b3B0X3NuX251bSA9IHBhcnNlX3NuYXAoYXYsIG9wdGFyZywgJm9wdGluZCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfRklMRToKKwkJCWN0bC0+b3B0X3NuYXBmaWxlID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X3NuYXBmaWxlKTsKKwkJCWN0bC0+b3B0X3NuX25hbWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfTVNHOgorCQkJY3RsLT5vcHRfbXNnID0gc2V0X29wdF9mbGFnKGN0bC0+b3B0X21zZyk7CisJCQljdGwtPm9wdF9tc2dfb24gPSBwYXJzZV9zd2l0Y2gob3B0YXJnLCBfKCJhcmd1bWVudCBlcnJvciIpLAorCQkJCQkJIm9uIiwgIm9mZiIsIE5VTEwpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX01TR0xFVkVMOgorCQkJY3RsLT5vcHRfbXNnbGV2ZWwgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfbXNnbGV2ZWwpOworCQkJY3RsLT5vcHRfbXNnbGV2ZWxfbnVtID0gcGFyc2VfbXNnbGV2ZWwob3B0YXJnKTsKKwkJCWlmIChjdGwtPm9wdF9tc2dsZXZlbF9udW0gPT0gMCkgeworCQkJCWN0bC0+b3B0X21zZyA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9tc2cpOworCQkJCWN0bC0+b3B0X21zZ19vbiB8PSAxOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgT1BUX1BPV0VSU0FWRToKKwkJCWN0bC0+b3B0X3Bvd2Vyc2F2ZSA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9wb3dlcnNhdmUpOworCQkJY3RsLT5vcHRfcHNfbW9kZSA9IHBhcnNlX3Bvd2Vyc2F2ZShvcHRhcmcpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1BPV0VSRE9XTjoKKwkJCWN0bC0+b3B0X3Bvd2VyZG93biA9IHNldF9vcHRfZmxhZyhjdGwtPm9wdF9wb3dlcmRvd24pOworCQkJY3RsLT5vcHRfcGRfbWluID0gcGFyc2VfYmxhbmsoYXYsIG9wdGFyZywgJm9wdGluZCk7CisJCQlicmVhazsKKwkJY2FzZSBPUFRfQkxFTkdUSDoKKwkJCWN0bC0+b3B0X2JsZW5ndGggPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfYmxlbmd0aCk7CisJCQljdGwtPm9wdF9ibGVuZ3RoX2wgPSBwYXJzZV9ibGVuZ3RoKGF2LCBvcHRhcmcsICZvcHRpbmQpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX0JGUkVROgorCQkJY3RsLT5vcHRfYmZyZXEgPSBzZXRfb3B0X2ZsYWcoY3RsLT5vcHRfYmZyZXEpOworCQkJY3RsLT5vcHRfYmZyZXFfZiA9IHBhcnNlX2JmcmVxKGF2LCBvcHRhcmcsICZvcHRpbmQpOworCQkJYnJlYWs7CisJCWNhc2UgT1BUX1ZFUlNJT046CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSBPUFRfSEVMUDoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKwl9Cit9CisKKy8qIFJldHVybiB0aGUgc3BlY2lmaWVkIHRlcm1pbmZvIHN0cmluZywgb3IgYW4gZW1wdHkgc3RyaW5nIGlmIG5vIHN1Y2gKKyAqIHRlcm1pbmZvIGNhcGFiaWxpdHkgZXhpc3RzLiAgKi8KK3N0YXRpYyBjaGFyICp0aV9lbnRyeShjb25zdCBjaGFyICpuYW1lKQoreworCWNoYXIgKmJ1Zl9wdHI7CisKKwlpZiAoKGJ1Zl9wdHIgPSB0aWdldHN0cigoY2hhciAqKW5hbWUpKSA9PSAoY2hhciAqKS0xKQorCQlidWZfcHRyID0gTlVMTDsKKwlyZXR1cm4gYnVmX3B0cjsKK30KKworc3RhdGljIHZvaWQgc2hvd190YWJzKHZvaWQpCit7CisJaW50IGksIGNvID0gdGlnZXRudW0oImNvbHMiKTsKKworCWlmIChjbyA+IDApIHsKKwkJcHJpbnRmKCJcciAgICAgICAgICIpOworCQlmb3IgKGkgPSAxMDsgaSA8IGNvIC0gMjsgaSArPSAxMCkKKwkJCXByaW50ZigiJS0xMGQiLCBpKTsKKwkJcHV0Y2hhcignXG4nKTsKKwkJZm9yIChpID0gMTsgaSA8PSBjbzsgaSsrKQorCQkJcHV0Y2hhcihpICUgMTAgKyAnMCcpOworCQlwdXRjaGFyKCdcbicpOworCQlmb3IgKGkgPSAxOyBpIDwgY287IGkrKykKKwkJCXByaW50ZigiXHRUXGIiKTsKKwkJcHV0Y2hhcignXG4nKTsKKwl9Cit9CisKK3N0YXRpYyBpbnQgb3Blbl9zbmFwc2hvdF9kZXZpY2Uoc3RydWN0IHNldHRlcm1fY29udHJvbCAqY3RsKQoreworCWludCBmZDsKKworCWlmIChjdGwtPm9wdF9zbl9udW0pCisJCXhhc3ByaW50ZigmY3RsLT5pbl9kZXZpY2UsICIvZGV2L3Zjc2ElZCIsIGN0bC0+b3B0X3NuX251bSk7CisJZWxzZQorCQl4YXNwcmludGYoJmN0bC0+aW5fZGV2aWNlLCAiL2Rldi92Y3NhIik7CisJZmQgPSBvcGVuKGN0bC0+aW5fZGV2aWNlLCBPX1JET05MWSk7CisJaWYgKGZkIDwgMCkKKwkJZXJyKEVYSVRfRFVNUEZJTEUsIF8oImNhbm5vdCByZWFkICVzIiksIGN0bC0+aW5fZGV2aWNlKTsKKwlyZXR1cm4gZmQ7Cit9CisKK3N0YXRpYyB2b2lkIHNldF9ibGFua2luZyhzdHJ1Y3Qgc2V0dGVybV9jb250cm9sICpjdGwpCit7CisJY2hhciBpb2N0bGFyZzsKKwlpbnQgcmV0OworCisJaWYgKDAgPD0gY3RsLT5vcHRfYmxfbWluKSB7CisJCXByaW50ZigiXDAzM1s5OyVkXSIsIGN0bC0+b3B0X2JsX21pbik7CisJCXJldHVybjsKKwl9CisJc3dpdGNoIChjdGwtPm9wdF9ibF9taW4pIHsKKwljYXNlIEJMQU5LU0NSRUVOOgorCQlpb2N0bGFyZyA9IFRJT0NMX0JMQU5LU0NSRUVOOworCQlpZiAoaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DTElOVVgsICZpb2N0bGFyZykpCisJCQl3YXJuKF8oImNhbm5vdCBmb3JjZSBibGFuayIpKTsKKwkJYnJlYWs7CisJY2FzZSBVTkJMQU5LU0NSRUVOOgorCQlpb2N0bGFyZyA9IFRJT0NMX1VOQkxBTktTQ1JFRU47CisJCWlmIChpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NMSU5VWCwgJmlvY3RsYXJnKSkKKwkJCXdhcm4oXygiY2Fubm90IGZvcmNlIHVuYmxhbmsiKSk7CisJCWJyZWFrOworCWNhc2UgQkxBTktFRFNDUkVFTjoKKwkJaW9jdGxhcmcgPSBUSU9DTF9CTEFOS0VEU0NSRUVOOworCQlyZXQgPSBpb2N0bChTVERJTl9GSUxFTk8sIFRJT0NMSU5VWCwgJmlvY3RsYXJnKTsKKwkJaWYgKHJldCA8IDApCisJCQl3YXJuKF8oImNhbm5vdCBnZXQgYmxhbmsgc3RhdHVzIikpOworCQllbHNlCisJCQlwcmludGYoIiVkXG4iLCByZXQpOworCQlicmVhazsKKwlkZWZhdWx0OgkJLyogc2hvdWxkIGJlIGltcG9zc2libGUgdG8gcmVhY2ggKi8KKwkJYWJvcnQoKTsKKwl9CisJcmV0dXJuOworfQorCitzdGF0aWMgdm9pZCBzY3JlZW5kdW1wKHN0cnVjdCBzZXR0ZXJtX2NvbnRyb2wgKmN0bCkKK3sKKwl1bnNpZ25lZCBjaGFyIGhlYWRlcls0XTsKKwl1bnNpZ25lZCBpbnQgcm93cywgY29sczsKKwlpbnQgZmQ7CisJRklMRSAqb3V0OworCXNpemVfdCBpLCBqOworCXNzaXplX3QgcmM7CisJY2hhciAqaW5idWYsICpvdXRidWYsICpwLCAqcTsKKworCS8qIG9wZW4gc291cmNlIGFuZCBkZXN0aW5hdGlvbiBmaWxlcyAqLworCWZkID0gb3Blbl9zbmFwc2hvdF9kZXZpY2UoY3RsKTsKKwlpZiAoIWN0bC0+b3B0X3NuX25hbWUpCisJCWN0bC0+b3B0X3NuX25hbWUgPSAic2NyZWVuLmR1bXAiOworCW91dCA9IGZvcGVuKGN0bC0+b3B0X3NuX25hbWUsIGN0bC0+b3B0X3NuYXAgPyAidyIgOiAiYSIpOworCWlmICghb3V0KQorCQllcnIoRVhJVF9EVU1QRklMRSwgXygiY2Fubm90IG9wZW4gZHVtcCBmaWxlICVzIGZvciBvdXRwdXQiKSwgY3RsLT5vcHRfc25fbmFtZSk7CisJLyogZGV0ZXJtaW5lIHNuYXBzaG90IHNpemUgKi8KKwlpZiAocmVhZChmZCwgaGVhZGVyLCA0KSAhPSA0KQorCQllcnIoRVhJVF9EVU1QRklMRSwgXygiY2Fubm90IHJlYWQgJXMiKSwgY3RsLT5pbl9kZXZpY2UpOworCXJvd3MgPSBoZWFkZXJbMF07CisJY29scyA9IGhlYWRlclsxXTsKKwlpZiAocm93cyAqIGNvbHMgPT0gMCkKKwkJZXJyKEVYSVRfRFVNUEZJTEUsIF8oImNhbm5vdCByZWFkICVzIiksIGN0bC0+aW5fZGV2aWNlKTsKKwkvKiBhbGxvY2F0ZSBidWZmZXJzICovCisJaW5idWYgPSB4bWFsbG9jKHJvd3MgKiBjb2xzICogMik7CisJb3V0YnVmID0geG1hbGxvYyhyb3dzICogKGNvbHMgKyAxKSk7CisJLyogcmVhZCBpbnB1dCAqLworCXJjID0gcmVhZChmZCwgaW5idWYsIHJvd3MgKiBjb2xzICogMik7CisJaWYgKHJjIDwgMCB8fCAoc2l6ZV90KXJjICE9IHJvd3MgKiBjb2xzICogMikKKwkJZXJyKEVYSVRfRFVNUEZJTEUsIF8oImNhbm5vdCByZWFkICVzIiksIGN0bC0+aW5fZGV2aWNlKTsKKwlwID0gaW5idWY7CisJcSA9IG91dGJ1ZjsKKwkvKiBjb3B5IGluYnVmIHRvIG91dGJ1ZiAqLworCWZvciAoaSA9IDA7IGkgPCByb3dzOyBpKyspIHsKKwkJZm9yIChqID0gMDsgaiA8IGNvbHM7IGorKykgeworCQkJKnErKyA9ICpwOworCQkJcCArPSAyOworCQl9CisJCXdoaWxlIChqLS0gPiAwICYmIHFbLTFdID09ICcgJykKKwkJCXEtLTsKKwkJKnErKyA9ICdcbic7CisJfQorCWZ3cml0ZShvdXRidWYsIDEsIHEgLSBvdXRidWYsIG91dCk7CisJLyogY2xlYW4gdXAgYWxsb2NhdGlvbnMgKi8KKwljbG9zZShmZCk7CisJZnJlZShpbmJ1Zik7CisJZnJlZShvdXRidWYpOworCWZyZWUoY3RsLT5pbl9kZXZpY2UpOworCWlmIChjbG9zZV9zdHJlYW0ob3V0KSAhPSAwKQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygid3JpdGUgZXJyb3IiKSk7CisJcmV0dXJuOworfQorCisvKiBTb21lIG9wdGlvbnMgYXJlIGFwcGxpY2FibGUgd2hlbiB0ZXJtaW5hbCBpcyB2aXJ0dWFsIGNvbnNvbGUuICovCitzdGF0aWMgaW50IHZjX29ubHkoc3RydWN0IHNldHRlcm1fY29udHJvbCAqY3RsLCBjb25zdCBjaGFyICplcnIpCit7CisJaWYgKCFjdGwtPnZjdGVybSAmJiBlcnIpCisJCXdhcm54KF8oInRlcm1pbmFsICVzIGRvZXMgbm90IHN1cHBvcnQgJXMiKSwKKwkJICAgICAgY3RsLT5vcHRfdGVfdGVybWluYWxfbmFtZSwgZXJyKTsKKwlyZXR1cm4gY3RsLT52Y3Rlcm07Cit9CisKK3N0YXRpYyB2b2lkIHR0eV9yYXcoc3RydWN0IHRlcm1pb3MgKnNhdmVkX2F0dHJpYnV0ZXMsIGludCAqc2F2ZWRfZmwpCit7CisJc3RydWN0IHRlcm1pb3MgdGF0dHI7CisKKwlmY250bChTVERJTl9GSUxFTk8sIEZfR0VURkwsIHNhdmVkX2ZsKTsKKwl0Y2dldGF0dHIoU1RESU5fRklMRU5PLCBzYXZlZF9hdHRyaWJ1dGVzKTsKKwlmY250bChTVERJTl9GSUxFTk8sIEZfU0VURkwsIE9fTk9OQkxPQ0spOworCW1lbWNweSgmdGF0dHIsIHNhdmVkX2F0dHJpYnV0ZXMsIHNpemVvZihzdHJ1Y3QgdGVybWlvcykpOworCXRhdHRyLmNfbGZsYWcgJj0gfihJQ0FOT04gfCBFQ0hPKTsKKwl0YXR0ci5jX2NjW1ZNSU5dID0gMTsKKwl0YXR0ci5jX2NjW1ZUSU1FXSA9IDA7CisJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQUZMVVNILCAmdGF0dHIpOworfQorCitzdGF0aWMgdm9pZCB0dHlfcmVzdG9yZShzdHJ1Y3QgdGVybWlvcyAqc2F2ZWRfYXR0cmlidXRlcywgaW50ICpzYXZlZF9mbCkKK3sKKwlmY250bChTVERJTl9GSUxFTk8sIEZfU0VURkwsICpzYXZlZF9mbCk7CisJdGNzZXRhdHRyKFNURElOX0ZJTEVOTywgVENTQU5PVywgc2F2ZWRfYXR0cmlidXRlcyk7Cit9CisKK3N0YXRpYyBpbnQgc2VsZWN0X3dhaXQodm9pZCkKK3sKKwlzdHJ1Y3QgdGltZXZhbCB0djsKKwlmZF9zZXQgc2V0OworCWludCByZXQ7CisKKwlGRF9aRVJPKCZzZXQpOworCUZEX1NFVChTVERJTl9GSUxFTk8sICZzZXQpOworCXR2LnR2X3NlYyA9IDEwOworCXR2LnR2X3VzZWMgPSAwOworCXdoaWxlICgocmV0ID0gc2VsZWN0KDEsICZzZXQsIE5VTEwsIE5VTEwsICZ0dikpIDwgMCkgeworCQlpZiAoZXJybm8gPT0gRUlOVFIpCisJCQljb250aW51ZTsKKwkJZXJyKEVYSVRfRkFJTFVSRSwgXygic2VsZWN0IGZhaWxlZCIpKTsKKwl9CisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIGludCByZXNpemV0dHkodm9pZCkKK3sKKwkvKiAKKwkgKiBcZTcgICAgICAgIFNhdmUgY3VycmVudCBzdGF0ZSAoY3Vyc29yIGNvb3JkaW5hdGVzLCBhdHRyaWJ1dGVzLAorCSAqICAgICAgICAgICAgICAgIGNoYXJhY3RlciBzZXRzIHBvaW50ZWQgYXQgYnkgRzAsIEcxKS4KKwkgKiBcZVtyICAgICAgIFNldCBzY3JvbGxpbmcgcmVnaW9uOyBwYXJhbWV0ZXJzIGFyZSB0b3AgYW5kIGJvdHRvbSByb3cuCisJICogXGVbMzI3NjZFICBNb3ZlIGN1cnNvciBkb3duIDMyNzY2IChJTlQxNl9NQVggLSAxKSByb3dzLgorCSAqIFxlWzMyNzY2QyAgTW92ZSBjdXJzb3IgcmlnaHQgMzI3NjYgY29sdW1ucy4KKwkgKiBcZVs2biAgICAgIFJlcG9ydCBjdXJzb3IgcG9zaXRpb24uCisJICogXGU4ICAgICAgICBSZXN0b3JlIHN0YXRlIG1vc3QgcmVjZW50bHkgc2F2ZWQgYnkgXGU3LgorCSAqLworCXN0YXRpYyBjb25zdCBjaGFyICpnZXRwb3MgPSAiXGU3XGVbclxlWzMyNzY2RVxlWzMyNzY2Q1xlWzZuXGU4IjsKKwljaGFyIHJldHN0clszMl07CisJaW50IHJvdywgY29sOworCXNpemVfdCBwb3M7CisJc3NpemVfdCByYzsKKwlzdHJ1Y3Qgd2luc2l6ZSB3czsKKwlzdHJ1Y3QgdGVybWlvcyBzYXZlZF9hdHRyaWJ1dGVzOworCWludCBzYXZlZF9mbDsKKworCWlmICghaXNhdHR5KFNURElOX0ZJTEVOTykpCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJzdGRpbiBkb2VzIG5vdCByZWZlciB0byBhIHRlcm1pbmFsIikpOworCisJdHR5X3Jhdygmc2F2ZWRfYXR0cmlidXRlcywgJnNhdmVkX2ZsKTsKKwlpZiAod3JpdGVfYWxsKFNURElOX0ZJTEVOTywgZ2V0cG9zLCBzdHJsZW4oZ2V0cG9zKSkgPCAwKSB7CisJCXdhcm4oXygid3JpdGUgZmFpbGVkIikpOworCQl0dHlfcmVzdG9yZSgmc2F2ZWRfYXR0cmlidXRlcywgJnNhdmVkX2ZsKTsKKwkJcmV0dXJuIDE7CisJfQorCWZvciAocG9zID0gMDsgcG9zIDwgc2l6ZW9mKHJldHN0cikgLSAxOykgeworCQlpZiAoMCA9PSBzZWxlY3Rfd2FpdCgpKQorCQkJYnJlYWs7CisJCWlmICgocmMgPQorCQkgICAgIHJlYWQoU1RESU5fRklMRU5PLCByZXRzdHIgKyBwb3MsCisJCQkgIHNpemVvZihyZXRzdHIpIC0gMSAtIHBvcykpIDwgMCkgeworCQkJaWYgKGVycm5vID09IEVJTlRSKQorCQkJCWNvbnRpbnVlOworCQkJd2FybihfKCJyZWFkIGZhaWxlZCIpKTsKKwkJCXR0eV9yZXN0b3JlKCZzYXZlZF9hdHRyaWJ1dGVzLCAmc2F2ZWRfZmwpOworCQkJcmV0dXJuIDE7CisJCX0KKwkJcG9zICs9IHJjOworCQlpZiAocmV0c3RyW3BvcyAtIDFdID09ICdSJykKKwkJCWJyZWFrOworCX0KKwlyZXRzdHJbcG9zXSA9IDA7CisJdHR5X3Jlc3RvcmUoJnNhdmVkX2F0dHJpYnV0ZXMsICZzYXZlZF9mbCk7CisJcmMgPSBzc2NhbmYocmV0c3RyLCAiXDAzM1slZDslZFIiLCAmcm93LCAmY29sKTsKKwlpZiAocmMgIT0gMikgeworCQl3YXJueChfKCJpbnZhbGlkIGN1cnNvciBwb3NpdGlvbjogJXMiKSwgcmV0c3RyKTsKKwkJcmV0dXJuIDE7CisJfQorCW1lbXNldCgmd3MsIDAsIHNpemVvZihzdHJ1Y3Qgd2luc2l6ZSkpOworCWlvY3RsKFNURElOX0ZJTEVOTywgVElPQ0dXSU5TWiwgJndzKTsKKwl3cy53c19yb3cgPSByb3c7CisJd3Mud3NfY29sID0gY29sOworCWlvY3RsKFNURElOX0ZJTEVOTywgVElPQ1NXSU5TWiwgJndzKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIHZvaWQgcGVyZm9ybV9zZXF1ZW5jZShzdHJ1Y3Qgc2V0dGVybV9jb250cm9sICpjdGwpCit7CisJaW50IHJlc3VsdDsKKworCS8qIC1yZXNldC4gKi8KKwlpZiAoY3RsLT5vcHRfcmVzZXQpCisJCXB1dHAodGlfZW50cnkoInJzMSIpKTsKKworCS8qIC1yZXNpemUuICovCisJaWYgKGN0bC0+b3B0X3Jlc2l6ZSkKKwkJaWYgKHJlc2l6ZXR0eSgpKQorCQkJd2FybngoXygicmVzZXQgZmFpbGVkIikpOworCisJLyogLWluaXRpYWxpemUuICovCisJaWYgKGN0bC0+b3B0X2luaXRpYWxpemUpCisJCXB1dHAodGlfZW50cnkoImlzMiIpKTsKKworCS8qIC1jdXJzb3IgW29ufG9mZl0uICovCisJaWYgKGN0bC0+b3B0X2N1cnNvcikgeworCQlpZiAoY3RsLT5vcHRfY3Vfb24pCisJCQlwdXRwKHRpX2VudHJ5KCJjbm9ybSIpKTsKKwkJZWxzZQorCQkJcHV0cCh0aV9lbnRyeSgiY2l2aXMiKSk7CisJfQorCisJLyogLWxpbmV3cmFwIFtvbnxvZmZdLiAqLworCWlmIChjdGwtPm9wdF9saW5ld3JhcCkKKwkJZnB1dHMoY3RsLT5vcHRfbGlfb24gPyAiXDAzM1s/N2giIDogIlwwMzNbPzdsIiwgc3Rkb3V0KTsKKworCS8qIC1yZXBlYXQgW29ufG9mZl0uICovCisJaWYgKGN0bC0+b3B0X3JlcGVhdCAmJiB2Y19vbmx5KGN0bCwgIi0tcmVwZWF0IikpCisJCWZwdXRzKGN0bC0+b3B0X3JlcF9vbiA/ICJcMDMzWz84aCIgOiAiXDAzM1s/OGwiLCBzdGRvdXQpOworCisJLyogLWFwcGN1cnNvcmtleXMgW29ufG9mZl0uICovCisJaWYgKGN0bC0+b3B0X2FwcGN1cnNvcmtleXMgJiYgdmNfb25seShjdGwsICItLWFwcGN1cnNvcmtleXMiKSkKKwkJZnB1dHMoY3RsLT5vcHRfYXBwY2tfb24gPyAiXDAzM1s/MWgiIDogIlwwMzNbPzFsIiwgc3Rkb3V0KTsKKworCS8qIC1kZWZhdWx0LiAgVmMgc2V0cyBkZWZhdWx0IHJlbmRpdGlvbiwgb3RoZXJ3aXNlIGNsZWFycyBhbGwKKwkgKiBhdHRyaWJ1dGVzLiAqLworCWlmIChjdGwtPm9wdF9kZWZhdWx0KSB7CisJCWlmICh2Y19vbmx5KGN0bCwgTlVMTCkpCisJCQlwcmludGYoIlwwMzNbMG0iKTsKKwkJZWxzZQorCQkJcHV0cCh0aV9lbnRyeSgic2dyMCIpKTsKKwl9CisKKwkvKiAtZm9yZWdyb3VuZCBibGFja3xyZWR8Z3JlZW58eWVsbG93fGJsdWV8bWFnZW50YXxjeWFufHdoaXRlfGRlZmF1bHQuICovCisJaWYgKGN0bC0+b3B0X2ZvcmVncm91bmQpCisJCXByaW50ZigiXDAzM1szJWMlcyIsICcwJyArIGN0bC0+b3B0X2ZvX2NvbG9yLCAibSIpOworCisJLyogLWJhY2tncm91bmQgYmxhY2t8cmVkfGdyZWVufHllbGxvd3xibHVlfG1hZ2VudGF8Y3lhbnx3aGl0ZXxkZWZhdWx0LiAqLworCWlmIChjdGwtPm9wdF9iYWNrZ3JvdW5kKQorCQlwcmludGYoIlwwMzNbNCVjJXMiLCAnMCcgKyBjdGwtPm9wdF9iYV9jb2xvciwgIm0iKTsKKworCS8qIC11bGNvbG9yIGJsYWNrfHJlZHxncmVlbnx5ZWxsb3d8Ymx1ZXxtYWdlbnRhfGN5YW58d2hpdGV8ZGVmYXVsdC4gKi8KKwlpZiAoY3RsLT5vcHRfdWxjb2xvciAmJiB2Y19vbmx5KGN0bCwgIi0tdWxjb2xvciIpKQorCQlwcmludGYoIlwwMzNbMTslZF0iLCBjdGwtPm9wdF91bF9jb2xvcik7CisKKwkvKiAtaGJjb2xvciBibGFja3xyZWR8Z3JlZW58eWVsbG93fGJsdWV8bWFnZW50YXxjeWFufHdoaXRlfGRlZmF1bHQuICovCisJaWYgKGN0bC0+b3B0X2hiY29sb3IpCisJCXByaW50ZigiXDAzM1syOyVkXSIsIGN0bC0+b3B0X2hiX2NvbG9yKTsKKworCS8qIC1pbnZlcnNlc2NyZWVuIFtvbnxvZmZdLiAqLworCWlmIChjdGwtPm9wdF9pbnZlcnNlc2NyZWVuKQorCQlmcHV0cyhjdGwtPm9wdF9pbnZzY19vbiA/ICJcMDMzWz81aCIgOiAiXDAzM1s/NWwiLCBzdGRvdXQpOworCisJLyogLWJvbGQgW29ufG9mZl0uICBWYyBiZWhhdmVzIGFzIGV4cGVjdGVkLCBvdGhlcndpc2Ugb2ZmIHR1cm5zIG9mZgorCSAqIGFsbCBhdHRyaWJ1dGVzLiAqLworCWlmIChjdGwtPm9wdF9ib2xkKSB7CisJCWlmIChjdGwtPm9wdF9ib19vbikKKwkJCXB1dHAodGlfZW50cnkoImJvbGQiKSk7CisJCWVsc2UgeworCQkJaWYgKHZjX29ubHkoY3RsLCBOVUxMKSkKKwkJCQlmcHV0cygiXDAzM1syMm0iLCBzdGRvdXQpOworCQkJZWxzZQorCQkJCXB1dHAodGlfZW50cnkoInNncjAiKSk7CisJCX0KKwl9CisKKwkvKiAtaGFsZi1icmlnaHQgW29ufG9mZl0uICBWYyBiZWhhdmVzIGFzIGV4cGVjdGVkLCBvdGhlcndpc2Ugb2ZmCisJICogdHVybnMgb2ZmIGFsbCBhdHRyaWJ1dGVzLiAgKi8KKwlpZiAoY3RsLT5vcHRfaGFsZmJyaWdodCkgeworCQlpZiAoY3RsLT5vcHRfaGJfb24pCisJCQlwdXRwKHRpX2VudHJ5KCJkaW0iKSk7CisJCWVsc2UgeworCQkJaWYgKHZjX29ubHkoY3RsLCBOVUxMKSkKKwkJCQlmcHV0cygiXDAzM1syMm0iLCBzdGRvdXQpOworCQkJZWxzZQorCQkJCXB1dHAodGlfZW50cnkoInNncjAiKSk7CisJCX0KKwl9CisKKwkvKiAtYmxpbmsgW29ufG9mZl0uICBWYyBiZWhhdmVzIGFzIGV4cGVjdGVkLCBvdGhlcndpc2Ugb2ZmIHR1cm5zIG9mZgorCSAqIGFsbCBhdHRyaWJ1dGVzLiAqLworCWlmIChjdGwtPm9wdF9ibGluaykgeworCQlpZiAoY3RsLT5vcHRfYmxfb24pCisJCQlwdXRwKHRpX2VudHJ5KCJibGluayIpKTsKKwkJZWxzZSB7CisJCQlpZiAodmNfb25seShjdGwsIE5VTEwpKQorCQkJCWZwdXRzKCJcMDMzWzI1bSIsIHN0ZG91dCk7CisJCQllbHNlCisJCQkJcHV0cCh0aV9lbnRyeSgic2dyMCIpKTsKKwkJfQorCX0KKworCS8qIC1yZXZlcnNlIFtvbnxvZmZdLiAgVmMgYmVoYXZlcyBhcyBleHBlY3RlZCwgb3RoZXJ3aXNlIG9mZiB0dXJucworCSAqIG9mZiBhbGwgYXR0cmlidXRlcy4gKi8KKwlpZiAoY3RsLT5vcHRfcmV2ZXJzZSkgeworCQlpZiAoY3RsLT5vcHRfcmVfb24pCisJCQlwdXRwKHRpX2VudHJ5KCJyZXYiKSk7CisJCWVsc2UgeworCQkJaWYgKHZjX29ubHkoY3RsLCBOVUxMKSkKKwkJCQlmcHV0cygiXDAzM1syN20iLCBzdGRvdXQpOworCQkJZWxzZQorCQkJCXB1dHAodGlfZW50cnkoInNncjAiKSk7CisJCX0KKwl9CisKKwkvKiAtdW5kZXJsaW5lIFtvbnxvZmZdLiAqLworCWlmIChjdGwtPm9wdF91bmRlcmxpbmUpCisJCXB1dHAodGlfZW50cnkoY3RsLT5vcHRfdW5fb24gPyAic211bCIgOiAicm11bCIpKTsKKworCS8qIC1zdG9yZS4gKi8KKwlpZiAoY3RsLT5vcHRfc3RvcmUgJiYgdmNfb25seShjdGwsICItLXN0b3JlIikpCisJCWZwdXRzKCJcMDMzWzhdIiwgc3Rkb3V0KTsKKworCS8qIC1jbGVhciBbYWxsfHJlc3RdLiAqLworCWlmIChjdGwtPm9wdF9jbGVhcikKKwkJcHV0cCh0aV9lbnRyeShjdGwtPm9wdF9jbF9hbGwgPyAiY2xlYXIiIDogImVkIikpOworCisJLyogLXRhYnMuICovCisJaWYgKGN0bC0+b3B0X3RhYnMpIHsKKwkJaWYgKGN0bC0+b3B0X3RiX2FycmF5WzBdID09IC0xKQorCQkJc2hvd190YWJzKCk7CisJCWVsc2UgeworCQkJaW50IGk7CisKKwkJCWZvciAoaSA9IDA7IGN0bC0+b3B0X3RiX2FycmF5W2ldID4gMDsgaSsrKQorCQkJCXByaW50ZigiXDAzM1slZEdcMDMzSCIsIGN0bC0+b3B0X3RiX2FycmF5W2ldKTsKKwkJCXB1dGNoYXIoJ1xyJyk7CisJCX0KKwl9CisKKwkvKiAtY2xydGFicy4gKi8KKwlpZiAoY3RsLT5vcHRfY2xydGFicyAmJiB2Y19vbmx5KGN0bCwgIi0tY2xydGFicyIpKSB7CisJCWludCBpOworCisJCWlmIChjdGwtPm9wdF90Yl9hcnJheVswXSA9PSAtMSkKKwkJCWZwdXRzKCJcMDMzWzNnIiwgc3Rkb3V0KTsKKwkJZWxzZQorCQkJZm9yIChpID0gMDsgY3RsLT5vcHRfdGJfYXJyYXlbaV0gPiAwOyBpKyspCisJCQkJcHJpbnRmKCJcMDMzWyVkR1wwMzNbZyIsIGN0bC0+b3B0X3RiX2FycmF5W2ldKTsKKwkJcHV0Y2hhcignXHInKTsKKwl9CisKKwkvKiAtcmVndGFicy4gKi8KKwlpZiAoY3RsLT5vcHRfcmVndGFicyAmJiB2Y19vbmx5KGN0bCwgIi0tcmVndGFicyIpKSB7CisJCWludCBpOworCisJCWZwdXRzKCJcMDMzWzNnXHIiLCBzdGRvdXQpOworCQlmb3IgKGkgPSBjdGwtPm9wdF9ydF9sZW4gKyAxOyBpIDw9IFRBQlNfTUFYOyBpICs9IGN0bC0+b3B0X3J0X2xlbikKKwkJCXByaW50ZigiXDAzM1slZENcMDMzSCIsIGN0bC0+b3B0X3J0X2xlbik7CisJCXB1dGNoYXIoJ1xyJyk7CisJfQorCisJLyogLWJsYW5rIFswLTYwXS4gKi8KKwlpZiAoY3RsLT5vcHRfYmxhbmsgJiYgdmNfb25seShjdGwsICItLWJsYW5rIikpCisJCXNldF9ibGFua2luZyhjdGwpOworCisJLyogLXBvd2Vyc2F2ZSBbb258dnN5bmN8aHN5bmN8cG93ZXJkb3dufG9mZl0gKGNvbnNvbGUpICovCisJaWYgKGN0bC0+b3B0X3Bvd2Vyc2F2ZSkgeworCQljaGFyIGlvY3RsYXJnWzJdOworCQlpb2N0bGFyZ1swXSA9IFRJT0NMX1NFVFZFU0FCTEFOSzsKKwkJaW9jdGxhcmdbMV0gPSBjdGwtPm9wdF9wc19tb2RlOworCQlpZiAoaW9jdGwoU1RESU5fRklMRU5PLCBUSU9DTElOVVgsIGlvY3RsYXJnKSkKKwkJCXdhcm4oXygiY2Fubm90ICh1bilzZXQgcG93ZXJzYXZlIG1vZGUiKSk7CisJfQorCisJLyogLXBvd2VyZG93biBbMC02MF0uICovCisJaWYgKGN0bC0+b3B0X3Bvd2VyZG93bikKKwkJcHJpbnRmKCJcMDMzWzE0OyVkXSIsIGN0bC0+b3B0X3BkX21pbik7CisKKwkvKiAtc25hcCBbMS1OUl9DT05TXS4gKi8KKwlpZiAoY3RsLT5vcHRfc25hcCB8fCBjdGwtPm9wdF9hcHBlbmQpCisJCXNjcmVlbmR1bXAoY3RsKTsKKworCS8qIC1tc2cgW29ufG9mZl0uICBDb250cm9scyBwcmludGsncyB0byBjb25zb2xlLiAqLworCWlmIChjdGwtPm9wdF9tc2cgJiYgdmNfb25seShjdGwsICItLW1zZyIpKSB7CisJCWlmIChjdGwtPm9wdF9tc2dfb24pCisJCQlyZXN1bHQgPSBrbG9nY3RsKFNZU0xPR19BQ1RJT05fQ09OU09MRV9PTiwgTlVMTCwgMCk7CisJCWVsc2UKKwkJCXJlc3VsdCA9IGtsb2djdGwoU1lTTE9HX0FDVElPTl9DT05TT0xFX09GRiwgTlVMTCwgMCk7CisKKwkJaWYgKHJlc3VsdCAhPSAwKQorCQkJd2FybihfKCJrbG9nY3RsIGVycm9yIikpOworCX0KKworCS8qIC1tc2dsZXZlbCBbMC04XS4gIENvbnNvbGUgcHJpbnRrIG1lc3NhZ2UgbGV2ZWwuICovCisJaWYgKGN0bC0+b3B0X21zZ2xldmVsX251bSAmJiB2Y19vbmx5KGN0bCwgIi0tbXNnbGV2ZWwiKSkgeworCQlyZXN1bHQgPQorCQkgICAga2xvZ2N0bChTWVNMT0dfQUNUSU9OX0NPTlNPTEVfTEVWRUwsIE5VTEwsCisJCQkgICAgY3RsLT5vcHRfbXNnbGV2ZWxfbnVtKTsKKwkJaWYgKHJlc3VsdCAhPSAwKQorCQkJd2FybihfKCJrbG9nY3RsIGVycm9yIikpOworCX0KKworCS8qIC1ibGVuZ3RoIFswLTIwMDBdICovCisJaWYgKGN0bC0+b3B0X2JsZW5ndGggJiYgdmNfb25seShjdGwsICItLWJsZW5ndGgiKSkgeworCQlwcmludGYoIlwwMzNbMTE7JWRdIiwgY3RsLT5vcHRfYmxlbmd0aF9sKTsKKwl9CisKKwkvKiAtYmZyZXEgZnJlcW51bWJlciAqLworCWlmIChjdGwtPm9wdF9iZnJlcSAmJiB2Y19vbmx5KGN0bCwgIi0tYmZyZXEiKSkgeworCQlwcmludGYoIlwwMzNbMTA7JWRdIiwgY3RsLT5vcHRfYmZyZXFfZik7CisJfQorfQorCitzdGF0aWMgdm9pZCBpbml0X3Rlcm1pbmFsKHN0cnVjdCBzZXR0ZXJtX2NvbnRyb2wgKmN0bCkKK3sKKwlpbnQgdGVybV9lcnJubzsKKworCWlmICghY3RsLT5vcHRfdGVfdGVybWluYWxfbmFtZSkgeworCQljdGwtPm9wdF90ZV90ZXJtaW5hbF9uYW1lID0gZ2V0ZW52KCJURVJNIik7CisJCWlmIChjdGwtPm9wdF90ZV90ZXJtaW5hbF9uYW1lID09IE5VTEwpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJFRFUk0gaXMgbm90IGRlZmluZWQuIikpOworCX0KKworCS8qIEZpbmQgdGVybWluZm8gZW50cnkuICovCisJaWYgKHNldHVwdGVybShjdGwtPm9wdF90ZV90ZXJtaW5hbF9uYW1lLCBTVERPVVRfRklMRU5PLCAmdGVybV9lcnJubykpCisJCXN3aXRjaCAodGVybV9lcnJubykgeworCQljYXNlIC0xOgorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oInRlcm1pbmZvIGRhdGFiYXNlIGNhbm5vdCBiZSBmb3VuZCIpKTsKKwkJY2FzZSAwOgorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiB1bmtub3duIHRlcm1pbmFsIHR5cGUiKSwgY3RsLT5vcHRfdGVfdGVybWluYWxfbmFtZSk7CisJCWNhc2UgMToKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJ0ZXJtaW5hbCBpcyBoYXJkY29weSIpKTsKKwkJfQorCisJLyogU2VlIGlmIHRoZSB0ZXJtaW5hbCBpcyBhIHZpcnR1YWwgY29uc29sZSB0ZXJtaW5hbC4gKi8KKwljdGwtPnZjdGVybSA9ICghc3RybmNtcChjdGwtPm9wdF90ZV90ZXJtaW5hbF9uYW1lLCAiY29uIiwgMykgfHwKKwkJICAgICAgICFzdHJuY21wKGN0bC0+b3B0X3RlX3Rlcm1pbmFsX25hbWUsICJsaW51eCIsIDUpKTsKK30KKworCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IHNldHRlcm1fY29udHJvbCBjdGwgPSB7IE5VTEwgfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA8IDIpIHsKKwkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCXBhcnNlX29wdGlvbigmY3RsLCBhcmdjLCBhcmd2KTsKKwlpbml0X3Rlcm1pbmFsKCZjdGwpOworCXBlcmZvcm1fc2VxdWVuY2UoJmN0bCk7CisKKwlyZXR1cm4gRVhJVF9TVUNDRVNTOworfQpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy90dHltc2cuYyBiL3Rlcm0tdXRpbHMvdHR5bXNnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFhYjY5ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvdHR5bXNnLmMKQEAgLTAsMCArMSwxOTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODksIDE5OTMKKyAqCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKgorICogTW9kaWZpZWQgU3VuIE1hciAxMiAxMDozOToyMiAxOTk1LCBmYWl0aEBjcy51bmMuZWR1IGZvciBMaW51eAorICoKKyAqLworCisgLyogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAgKiBTdW4gTWFyIDIxIDE5OTkgLSBBcm5hbGRvIENhcnZhbGhvIGRlIE1lbG8gPGFjbWVAY29uZWN0aXZhLmNvbS5icj4KKyAgKiAtIGZpeGVkIHN0cmVycihlcnJubykgaW4gZ2V0dGV4dCBjYWxscworICAqLworCisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL3Vpby5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8ZGlyZW50Lmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInBhdGhuYW1lcy5oIgorI2luY2x1ZGUgInR0eW1zZy5oIgorCisjZGVmaW5lIEVSUl9CVUZMRU4JKE1BWE5BTUxFTiArIDEwMjQpCisKKy8qCisgKiBEaXNwbGF5IHRoZSBjb250ZW50cyBvZiBhIHVpbyBzdHJ1Y3R1cmUgb24gYSB0ZXJtaW5hbC4gIFVzZWQgYnkgd2FsbCgxKSwKKyAqIHN5c2xvZ2QoOCksIGFuZCB0YWxrZCg4KS4gIEZvcmtzIGFuZCBmaW5pc2hlcyBpbiBjaGlsZCBpZiB3cml0ZSB3b3VsZCBibG9jaywKKyAqIHdhaXRpbmcgdXAgdG8gdG1vdXQgc2Vjb25kcy4gIFJldHVybnMgcG9pbnRlciB0byBlcnJvciBzdHJpbmcgb24gdW5leHBlY3RlZAorICogZXJyb3I7IHN0cmluZyBpcyBub3QgbmV3bGluZS10ZXJtaW5hdGVkLiAgVmFyaW91cyAibm9ybWFsIiBlcnJvcnMgYXJlCisgKiBpZ25vcmVkIChleGNsdXNpdmUtdXNlLCBsYWNrIG9mIHBlcm1pc3Npb24sIGV0Yy4pLgorICovCitjaGFyICoKK3R0eW1zZyhzdHJ1Y3QgaW92ZWMgKmlvdiwgc2l6ZV90IGlvdmNudCwgY2hhciAqbGluZSwgaW50IHRtb3V0KSB7CisJc3RhdGljIGNoYXIgZGV2aWNlW01BWE5BTUxFTl07CisJc3RhdGljIGNoYXIgZXJyYnVmW0VSUl9CVUZMRU5dOworCXNpemVfdCBjbnQsIGxlZnQ7CisJc3NpemVfdCB3cmV0OworCXN0cnVjdCBpb3ZlYyBsb2NhbGlvdls2XTsKKwlpbnQgZmQsIGZvcmtlZCA9IDA7CisJc3NpemVfdAlsZW4gPSAwOworCisJaWYgKGlvdmNudCA+IEFSUkFZX1NJWkUobG9jYWxpb3YpKSB7CisJCXNucHJpbnRmKGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZiksIF8oImludGVybmFsIGVycm9yOiB0b28gbWFueSBpb3YncyIpKTsKKwkJcmV0dXJuIGVycmJ1ZjsKKwl9CisKKwkvKiBUaGUgb2xkIGNvZGUgaGVyZSByZWplY3RlZCB0aGUgbGluZSBhcmd1bWVudCB3aGVuIGl0IGNvbnRhaW5lZCBhICcvJywKKwkgICBzYXlpbmc6ICJBIHNsYXNoIG1heSBiZSBhbiBhdHRlbXB0IHRvIGJyZWFrIHNlY3VyaXR5Li4uIi4KKwkgICBIb3dldmVyLCBpZiBhIHVzZXIgY2FuIGNvbnRyb2wgdGhlIGxpbmUgYXJndW1lbnQgaGVyZQorCSAgIHRoZW4gaGUgY2FuIG1ha2UgdGhpcyByb3V0aW5lIHdyaXRlIHRvIC9kZXYvaGRhIG9yIC9kZXYvc2RhCisJICAgYWxyZWFkeS4gU28sIHRoaXMgdGVzdCB3YXMgd29ydGhsZXNzLCBhbmQgdGhlc2UgZGF5cyBpdCBpcworCSAgIGFsc28gd3Jvbmcgc2luY2UgcGVvcGxlIHVzZSAvZGV2L3B0cy94eHguICovCisKKwlsZW4gPSBzbnByaW50ZihkZXZpY2UsIHNpemVvZihkZXZpY2UpLCAiJXMlcyIsIF9QQVRIX0RFViwgbGluZSk7CisJaWYgKGxlbiA8IDAgfHwgKHNpemVfdClsZW4gPj0gc2l6ZW9mKGRldmljZSkpIHsKKwkJc25wcmludGYoZXJyYnVmLCBzaXplb2YoZXJyYnVmKSwgXygiZXhjZXNzaXZlbHkgbG9uZyBsaW5lIGFyZyIpKTsKKwkJcmV0dXJuIGVycmJ1ZjsKKwl9CisKKwkvKgorCSAqIG9wZW4gd2lsbCBmYWlsIG9uIHNsaXAgbGluZXMgb3IgZXhjbHVzaXZlLXVzZSBsaW5lcworCSAqIGlmIG5vdCBydW5uaW5nIGFzIHJvb3Q7IG5vdCBhbiBlcnJvci4KKwkgKi8KKwlpZiAoKGZkID0gb3BlbihkZXZpY2UsIE9fV1JPTkxZfE9fTk9OQkxPQ0ssIDApKSA8IDApIHsKKwkJaWYgKGVycm5vID09IEVCVVNZIHx8IGVycm5vID09IEVBQ0NFUykKKwkJCXJldHVybiBOVUxMOworCisJCWxlbiA9IHNucHJpbnRmKGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZiksICIlczogJW0iLCBkZXZpY2UpOworCQlpZiAobGVuIDwgMCB8fCAoc2l6ZV90KWxlbiA+PSBzaXplb2YoZXJyYnVmKSkKKwkJCXNucHJpbnRmKGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZiksIF8oIm9wZW4gZmFpbGVkIikpOworCQlyZXR1cm4gZXJyYnVmOworCX0KKworCWZvciAoY250ID0gbGVmdCA9IDA7IGNudCA8IGlvdmNudDsgKytjbnQpCisJCWxlZnQgKz0gaW92W2NudF0uaW92X2xlbjsKKworCWZvciAoOzspIHsKKwkJd3JldCA9IHdyaXRldihmZCwgaW92LCBpb3ZjbnQpOworCQlpZiAod3JldCA+PSAoc3NpemVfdCkgbGVmdCkKKwkJCWJyZWFrOworCQlpZiAod3JldCA+PSAwKSB7CisJCQlsZWZ0IC09IHdyZXQ7CisJCQlpZiAoaW92ICE9IGxvY2FsaW92KSB7CisJCQkJbWVtbW92ZShsb2NhbGlvdiwgaW92LAorCQkJCSAgICBpb3ZjbnQgKiBzaXplb2Yoc3RydWN0IGlvdmVjKSk7CisJCQkJaW92ID0gbG9jYWxpb3Y7CisJCQl9CisJCQlmb3IgKGNudCA9IDA7IHdyZXQgPj0gKHNzaXplX3QpIGlvdi0+aW92X2xlbjsgKytjbnQpIHsKKwkJCQl3cmV0IC09IGlvdi0+aW92X2xlbjsKKwkJCQkrK2lvdjsKKwkJCQktLWlvdmNudDsKKwkJCX0KKwkJCWlmICh3cmV0KSB7CisJCQkJaW92LT5pb3ZfYmFzZSA9IChjaGFyICopIGlvdi0+aW92X2Jhc2UgKyB3cmV0OworCQkJCWlvdi0+aW92X2xlbiAtPSB3cmV0OworCQkJfQorCQkJY29udGludWU7CisJCX0KKwkJaWYgKGVycm5vID09IEVXT1VMREJMT0NLKSB7CisJCQlpbnQgY3BpZCwgZmxhZ3M7CisJCQlzaWdzZXRfdCBzaWdtYXNrOworCisJCQlpZiAoZm9ya2VkKSB7CisJCQkJY2xvc2UoZmQpOworCQkJCV9leGl0KEVYSVRfRkFJTFVSRSk7CisJCQl9CisJCQljcGlkID0gZm9yaygpOworCQkJaWYgKGNwaWQgPCAwKSB7CisJCQkJbGVuID0gc25wcmludGYoZXJyYnVmLCBzaXplb2YoZXJyYnVmKSwgXygiZm9yazogJW0iKSk7CisJCQkJaWYgKGxlbiA8IDAgfHwgKHNpemVfdClsZW4gPj0gc2l6ZW9mKGVycmJ1ZikpCisJCQkJCXNucHJpbnRmKGVycmJ1Ziwgc2l6ZW9mKGVycmJ1ZiksIF8oImNhbm5vdCBmb3JrIikpOworCQkJCWNsb3NlKGZkKTsKKwkJCQlyZXR1cm4gZXJyYnVmOworCQkJfQorCQkJaWYgKGNwaWQpIHsJLyogcGFyZW50ICovCisJCQkJY2xvc2UoZmQpOworCQkJCXJldHVybiBOVUxMOworCQkJfQorCQkJZm9ya2VkKys7CisJCQkvKiB3YWl0IGF0IG1vc3QgdG1vdXQgc2Vjb25kcyAqLworCQkJc2lnbmFsKFNJR0FMUk0sIFNJR19ERkwpOworCQkJc2lnbmFsKFNJR1RFUk0sIFNJR19ERkwpOyAvKiBYWFggKi8KKwkJCXNpZ2VtcHR5c2V0KCZzaWdtYXNrKTsKKwkJCXNpZ3Byb2NtYXNrIChTSUdfU0VUTUFTSywgJnNpZ21hc2ssIE5VTEwpOworCQkJYWxhcm0oKHVfaW50KXRtb3V0KTsKKwkJCWZsYWdzID0gZmNudGwoZmQsIEZfR0VURkwpOworCQkJZmNudGwoZmxhZ3MsIEZfU0VURkwsIChsb25nKSAoZmxhZ3MgJiB+T19OT05CTE9DSykpOworCQkJY29udGludWU7CisJCX0KKwkJLyoKKwkJICogV2UgZ2V0IEVOT0RFViBvbiBhIHNsaXAgbGluZSBpZiB3ZSdyZSBydW5uaW5nIGFzIHJvb3QsCisJCSAqIGFuZCBFSU8gaWYgdGhlIGxpbmUganVzdCB3ZW50IGF3YXkuCisJCSAqLworCQlpZiAoZXJybm8gPT0gRU5PREVWIHx8IGVycm5vID09IEVJTykKKwkJCWJyZWFrOworCQlpZiAoY2xvc2VfZmQoZmQpICE9IDApCisJCQl3YXJuKF8oIndyaXRlIGZhaWxlZDogJXMiKSwgZGV2aWNlKTsKKwkJaWYgKGZvcmtlZCkKKwkJCV9leGl0KEVYSVRfRkFJTFVSRSk7CisKKwkJbGVuID0gc25wcmludGYoZXJyYnVmLCBzaXplb2YoZXJyYnVmKSwgIiVzOiAlbSIsIGRldmljZSk7CisJCWlmIChsZW4gPCAwIHx8IChzaXplX3QpbGVuID49IHNpemVvZihlcnJidWYpKQorCQkJc25wcmludGYoZXJyYnVmLCBzaXplb2YoZXJyYnVmKSwKKwkJCQkJXygiJXM6IEJBRCBFUlJPUiwgbWVzc2FnZSBpcyAiCisJCQkJCSAgImZhciB0b28gbG9uZyIpLCBkZXZpY2UpOworCQlyZXR1cm4gZXJyYnVmOworCX0KKworCWlmIChmb3JrZWQpCisJCV9leGl0KEVYSVRfU1VDQ0VTUyk7CisJcmV0dXJuIE5VTEw7Cit9CmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL3R0eW1zZy5oIGIvdGVybS11dGlscy90dHltc2cuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yY2ZhNzMwCi0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy90dHltc2cuaApAQCAtMCwwICsxLDIgQEAKK2NoYXIgKnR0eW1zZyhzdHJ1Y3QgaW92ZWMgKmlvdiwgc2l6ZV90IGlvdmNudCwgY2hhciAqbGluZSwgaW50IHRtb3V0KTsKKwpkaWZmIC0tZ2l0IGEvdGVybS11dGlscy93YWxsLjEgYi90ZXJtLXV0aWxzL3dhbGwuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDhkZTk5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy93YWxsLjEKQEAgLTAsMCArMSwxMDMgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODksIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyl3YWxsLjEJNi41IChCZXJrZWxleSkgNC8yMy85MQorLlwiCisuVEggV0FMTCAiMSIgIkF1Z3VzdCAyMDEzIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQord2FsbCBcLSB3cml0ZSBhIG1lc3NhZ2UgdG8gYWxsIHVzZXJzCisuU0ggU1lOT1BTSVMKKy5CIHdhbGwKKy5SQiBbIFwtbiBdCisuUkIgWyBcLXQKKy5JUiB0aW1lb3V0IF0KKy5SQiBbIFwtZworLklSIGdyb3VwIF0KKy5SSSBbIG1lc3NhZ2UgIiB8ICIgZmlsZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIHdhbGwKK2Rpc3BsYXlzIGEKKy5JUiBtZXNzYWdlICwKK29yIHRoZSBjb250ZW50cyBvZiBhCisuSVIgZmlsZSAsCitvciBvdGhlcndpc2UgaXRzIHN0YW5kYXJkIGlucHV0LCBvbiB0aGUgdGVybWluYWxzIG9mIGFsbCBjdXJyZW50bHkgbG9nZ2VkCitpbiB1c2Vycy4gIFRoZSBjb21tYW5kIHdpbGwgd3JhcCBsaW5lcyB0aGF0IGFyZSBsb25nZXIgdGhhbiA3OSBjaGFyYWN0ZXJzLgorU2hvcnQgbGluZXMgYXJlIHdoaXRlc3BhY2UgcGFkZGVkIHRvIGhhdmUgNzkgY2hhcmFjdGVycy4gIFRoZSBjb21tYW5kIHdpbGwKK2Fsd2F5cyBwdXQgYSBjYXJyaWFnZSByZXR1cm4gYW5kIG5ldyBsaW5lIGF0IHRoZSBlbmQgb2YgZWFjaCBsaW5lLgorLlBQCitPbmx5IHRoZSBzdXBlcnVzZXIgY2FuIHdyaXRlIG9uIHRoZSB0ZXJtaW5hbHMgb2YgdXNlcnMgd2hvIGhhdmUgY2hvc2VuIHRvCitkZW55IG1lc3NhZ2VzIG9yIGFyZSB1c2luZyBhIHByb2dyYW0gd2hpY2ggYXV0b21hdGljYWxseSBkZW5pZXMgbWVzc2FnZXMuCisuUFAKK1JlYWRpbmcgZnJvbSBhCisuSSBmaWxlCitpcyByZWZ1c2VkIHdoZW4gdGhlIGludm9rZXIgaXMgbm90IHN1cGVydXNlciBhbmQgdGhlIHByb2dyYW0gaXMKK3NldC11c2VyLUlEIG9yIHNldC1ncm91cC1JRC4KKy5TSCBPUFRJT05TCisuVFAKKy5CUiBcLW4gLCAiIFwtXC1ub2Jhbm5lciIKK1N1cHByZXNzIHRoZSBiYW5uZXIuCisuVFAKKy5CUiBcLXQgLCAiIFwtXC10aW1lb3V0ICIgXGZJdGltZW91dFxmUgorQWJhbmRvbiB0aGUgd3JpdGUgYXR0ZW1wdCB0byB0aGUgdGVybWluYWxzIGFmdGVyIFxmSXRpbWVvdXRcZlIgc2Vjb25kcy4KK1RoaXMgXGZJdGltZW91dFxmUiBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci4gIFRoZSBkZWZhdWx0IHZhbHVlCitpcyAzMDAgc2Vjb25kcywgd2hpY2ggaXMgYSBsZWdhY3kgZnJvbSB0aGUgdGltZSB3aGVuIHBlb3BsZSByYW4gdGVybWluYWxzIG92ZXIKK21vZGVtIGxpbmVzLgorLlRQCisuQlIgXC1nICwgIiBcLVwtZ3JvdXAgIiBcZklncm91cFxmUgorTGltaXQgcHJpbnRpbmcgbWVzc2FnZSB0byBtZW1iZXJzIG9mIGdyb3VwIGRlZmluZWQgYXMgYQorLkkgZ3JvdXAKK2FyZ3VtZW50LiAgVGhlIGFyZ3VtZW50IGNhbiBiZSBncm91cCBuYW1lIG9yIEdJRC4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggTk9URVMKK1NvbWUgc2Vzc2lvbnMsIHN1Y2ggYXMgd2RtLCB0aGF0IGhhdmUgaW4gdGhlIGJlZ2lubmluZyBvZgorLkJSIHV0bXAgKDUpCit1dF90eXBlIGRhdGEgYSAnOicgY2hhcmFjdGVyIHdpbGwgbm90IGdldCB0aGUgbWVzc2FnZSBmcm9tCisuQlIgd2FsbCAuCitUaGlzIGlzIGRvbmUgdG8gYXZvaWQgd3JpdGUgZXJyb3JzLgorLlNIIFNFRSBBTFNPCisuQlIgbWVzZyAoMSksCisuQlIgdGFsayAoMSksCisuQlIgd3JpdGUgKDEpLAorLkJSIHNodXRkb3duICg4KQorLlNIIEhJU1RPUlkKK0EKKy5CIHdhbGwKK2NvbW1hbmQgYXBwZWFyZWQgaW4gVmVyc2lvbiA3IEFUJlQgVU5JWC4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSB3YWxsIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL3dhbGwuYyBiL3Rlcm0tdXRpbHMvd2FsbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1N2MwODMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXJtLXV0aWxzL3dhbGwuYwpAQCAtMCwwICsxLDQ0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4OCwgMTk5MCwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiBNb2RpZmllZCBTdW4gTWFyIDEyIDEwOjM0OjM0IDE5OTUsIGZhaXRoQGNzLnVuYy5lZHUsIGZvciBMaW51eAorICovCisKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgbm90IHJlbGF0ZWQgdG8gRGF2aWQgV2FsbCwgd2hvc2UgU3RhbmZvcmQgUGguRC4gdGhlc2lzCisgKiBpcyBlbnRpdGxlZCAiTWVjaGFuaXNtcyBmb3IgQnJvYWRjYXN0IGFuZCBTZWxlY3RpdmUgQnJvYWRjYXN0Ii4KKyAqCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKgorICovCisKKyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KKyNpbmNsdWRlIDxzeXMvc3RhdC5oPgorI2luY2x1ZGUgPHN5cy90aW1lLmg+CisjaW5jbHVkZSA8c3lzL3Vpby5oPgorCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8dXRtcHguaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxncnAuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAidHR5bXNnLmgiCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisjaW5jbHVkZSAiY2FyZWZ1bHB1dGMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiZmlsZXV0aWxzLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2RlZmluZQlURVJNX1dJRFRICTc5CisjZGVmaW5lCVdSSVRFX1RJTUVfT1VUCTMwMAkJLyogaW4gc2Vjb25kcyAqLworCisvKiBGdW5jdGlvbiBwcm90b3R5cGVzICovCitzdGF0aWMgY2hhciAqbWFrZW1zZyhjaGFyICpmbmFtZSwgY2hhciAqKm12ZWMsIGludCBtdmVjc3osCisJCSAgICBzaXplX3QgKm1idWZzaXplLCBpbnQgcHJpbnRfYmFubmVyKTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gWzxmaWxlPiB8IDxtZXNzYWdlPl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiV3JpdGUgYSBtZXNzYWdlIHRvIGFsbCB1c2Vycy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWcsIC0tZ3JvdXAgPGdyb3VwPiAgICAgb25seSBzZW5kIG1lc3NhZ2UgdG8gZ3JvdXBcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS1ub2Jhbm5lciAgICAgICAgICBkbyBub3QgcHJpbnQgYmFubmVyLCB3b3JrcyBvbmx5IGZvciByb290XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGltZW91dCA8dGltZW91dD4gd3JpdGUgdGltZW91dCBpbiBzZWNvbmRzXG4iKSwgb3V0KTsKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygyNSkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgid2FsbCgxKSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RydWN0IGdyb3VwX3dvcmtzcGFjZSB7CisJZ2lkX3QJcmVxdWVzdGVkX2dyb3VwOworCWludAluZ3JvdXBzOworCisvKiBnZXRncm91cGxpc3QoKSBvbiBPU1ggdGFrZXMgaW50KiBub3QgZ2lkX3QqICovCisjaWZkZWYgX19BUFBMRV9fCisJaW50CSpncm91cHM7CisjZWxzZQorCWdpZF90CSpncm91cHM7CisjZW5kaWYKK307CisKK3N0YXRpYyBnaWRfdCBnZXRfZ3JvdXBfZ2lkKGNvbnN0IGNoYXIgKm9wdGFyZykKK3sKKwlzdHJ1Y3QgZ3JvdXAgKmdyOworCWdpZF90IGdpZDsKKworCWlmICgoZ3IgPSBnZXRncm5hbShvcHRhcmcpKSkKKwkJcmV0dXJuIGdyLT5ncl9naWQ7CisKKwlnaWQgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIGdyb3VwIGFyZ3VtZW50IikpOworCWlmICghZ2V0Z3JnaWQoZ2lkKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIiVzOiB1bmtub3duIGdpZCIpLCBvcHRhcmcpOworCisJcmV0dXJuIGdpZDsKK30KKworc3RhdGljIHN0cnVjdCBncm91cF93b3Jrc3BhY2UgKmluaXRfZ3JvdXBfd29ya3NwYWNlKGNvbnN0IGNoYXIgKm9wdGFyZykKK3sKKwlzdHJ1Y3QgZ3JvdXBfd29ya3NwYWNlICpidWYgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgZ3JvdXBfd29ya3NwYWNlKSk7CisKKwlidWYtPnJlcXVlc3RlZF9ncm91cCA9IGdldF9ncm91cF9naWQob3B0YXJnKTsKKwlidWYtPm5ncm91cHMgPSBzeXNjb25mKF9TQ19OR1JPVVBTX01BWCkgKyAxOyAgLyogcm9vbSBmb3IgdGhlIHByaW1hcnkgZ2lkICovCisJYnVmLT5ncm91cHMgPSB4Y2FsbG9jKHNpemVvZigqYnVmLT5ncm91cHMpLCBidWYtPm5ncm91cHMpOworCisJcmV0dXJuIGJ1ZjsKK30KKworc3RhdGljIHZvaWQgZnJlZV9ncm91cF93b3Jrc3BhY2Uoc3RydWN0IGdyb3VwX3dvcmtzcGFjZSAqYnVmKQoreworCWlmICghYnVmKQorCQlyZXR1cm47CisKKwlmcmVlKGJ1Zi0+Z3JvdXBzKTsKKwlmcmVlKGJ1Zik7Cit9CisKK3N0YXRpYyBpbnQgaXNfZ3JfbWVtYmVyKGNvbnN0IGNoYXIgKmxvZ2luLCBjb25zdCBzdHJ1Y3QgZ3JvdXBfd29ya3NwYWNlICpidWYpCit7CisJc3RydWN0IHBhc3N3ZCAqcHc7CisJaW50IG5ncm91cHMgPSBidWYtPm5ncm91cHM7CisJaW50IHJjOworCisJcHcgPSBnZXRwd25hbShsb2dpbik7CisJaWYgKCFwdykKKwkJcmV0dXJuIDA7CisKKwlpZiAoYnVmLT5yZXF1ZXN0ZWRfZ3JvdXAgPT0gcHctPnB3X2dpZCkKKwkJcmV0dXJuIDE7CisKKwlyYyA9IGdldGdyb3VwbGlzdChsb2dpbiwgcHctPnB3X2dpZCwgYnVmLT5ncm91cHMsICZuZ3JvdXBzKTsKKwlpZiAocmMgPCAwKSB7CisJCS8qIGJ1ZmZlciB0b28gc21hbGwsIG5vdCBzdXJlIGhvdyB0aGlzIGNhbiBoYXBwZW4sIHNpbmNlCisJCSAgIHdlIHVzZWQgc3lzY29uZiB0byBnZXQgdGhlIHNpemUuLi4gKi8KKwkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQlfKCJnZXRncm91cGxpc3QgZm91bmQgbW9yZSBncm91cHMgdGhhbiBzeXNjb25mIGFsbG93cyIpKTsKKwl9CisKKwlmb3IgKDsgbmdyb3VwcyA+PSAwOyAtLW5ncm91cHMpIHsKKwkJaWYgKGJ1Zi0+cmVxdWVzdGVkX2dyb3VwID09IChnaWRfdCkgYnVmLT5ncm91cHNbbmdyb3Vwc10pCisJCQlyZXR1cm4gMTsKKwl9CisKKwlyZXR1cm4gMDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBjaDsKKwlzdHJ1Y3QgaW92ZWMgaW92OworCXN0cnVjdCB1dG1weCAqdXRtcHB0cjsKKwljaGFyICpwOworCWNoYXIgbGluZVtzaXplb2YodXRtcHB0ci0+dXRfbGluZSkgKyAxXTsKKwlpbnQgcHJpbnRfYmFubmVyID0gVFJVRTsKKwlzdHJ1Y3QgZ3JvdXBfd29ya3NwYWNlICpncm91cF9idWYgPSBOVUxMOworCWNoYXIgKm1idWYsICpmbmFtZSA9IE5VTEw7CisJc2l6ZV90IG1idWZzaXplOworCXVuc2lnbmVkIHRpbWVvdXQgPSBXUklURV9USU1FX09VVDsKKwljaGFyICoqbXZlYyA9IE5VTEw7CisJaW50IG12ZWNzeiA9IDA7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJub2Jhbm5lciIsCW5vX2FyZ3VtZW50LAkJTlVMTCwgJ24nIH0sCisJCXsgInRpbWVvdXQiLAlyZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwgJ3QnIH0sCisJCXsgImdyb3VwIiwJcmVxdWlyZWRfYXJndW1lbnQsCU5VTEwsICdnJyB9LAorCQl7ICJ2ZXJzaW9uIiwJbm9fYXJndW1lbnQsCQlOVUxMLCAnVicgfSwKKwkJeyAiaGVscCIsCW5vX2FyZ3VtZW50LAkJTlVMTCwgJ2gnIH0sCisJCXsgTlVMTCwJMCwgTlVMTCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGNoID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIm50Omc6VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoY2gpIHsKKwkJY2FzZSAnbic6CisJCQlpZiAoZ2V0ZXVpZCgpID09IDApCisJCQkJcHJpbnRfYmFubmVyID0gRkFMU0U7CisJCQllbHNlCisJCQkJd2FybngoXygiLS1ub2Jhbm5lciBpcyBhdmFpbGFibGUgb25seSBmb3Igcm9vdCIpKTsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCXRpbWVvdXQgPSBzdHJ0b3UzMl9vcl9lcnIob3B0YXJnLCBfKCJpbnZhbGlkIHRpbWVvdXQgYXJndW1lbnQiKSk7CisJCQlpZiAodGltZW91dCA8IDEpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oImludmFsaWQgdGltZW91dCBhcmd1bWVudDogJXMiKSwgb3B0YXJnKTsKKwkJCWJyZWFrOworCQljYXNlICdnJzoKKwkJCWdyb3VwX2J1ZiA9IGluaXRfZ3JvdXBfd29ya3NwYWNlKG9wdGFyZyk7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJaWYgKGFyZ2MgPT0gMSAmJiBhY2Nlc3MoYXJndlswXSwgRl9PSykgPT0gMCkKKwkJZm5hbWUgPSBhcmd2WzBdOworCWVsc2UgaWYgKGFyZ2MgPj0gMSkgeworCQltdmVjID0gYXJndjsKKwkJbXZlY3N6ID0gYXJnYzsKKwl9CisKKwltYnVmID0gbWFrZW1zZyhmbmFtZSwgbXZlYywgbXZlY3N6LCAmbWJ1ZnNpemUsIHByaW50X2Jhbm5lcik7CisKKwlpb3YuaW92X2Jhc2UgPSBtYnVmOworCWlvdi5pb3ZfbGVuID0gbWJ1ZnNpemU7CisJd2hpbGUoKHV0bXBwdHIgPSBnZXR1dHhlbnQoKSkpIHsKKwkJaWYgKCF1dG1wcHRyLT51dF91c2VyWzBdKQorCQkJY29udGludWU7CisjaWZkZWYgVVNFUl9QUk9DRVNTCisJCWlmICh1dG1wcHRyLT51dF90eXBlICE9IFVTRVJfUFJPQ0VTUykKKwkJCWNvbnRpbnVlOworI2VuZGlmCisJCS8qIEpvZXkgSGVzcyByZXBvcnRzIHRoYXQgdXNlLXNlc3NyZWcgaW4gL2V0Yy9YMTEvd2RtLworCQkgICBwcm9kdWNlcyB1dF9saW5lIGVudHJpZXMgbGlrZSA6MCwgYW5kIGEgd3JpdGUKKwkJICAgdG8gL2Rldi86MCBmYWlscy4gKi8KKwkJaWYgKHV0bXBwdHItPnV0X2xpbmVbMF0gPT0gJzonKQorCQkJY29udGludWU7CisKKwkJaWYgKGdyb3VwX2J1ZiAmJiAhaXNfZ3JfbWVtYmVyKHV0bXBwdHItPnV0X3VzZXIsIGdyb3VwX2J1ZikpCisJCQljb250aW51ZTsKKworCQl4c3RybmNweShsaW5lLCB1dG1wcHRyLT51dF9saW5lLCBzaXplb2YodXRtcHB0ci0+dXRfbGluZSkpOworCQlpZiAoKHAgPSB0dHltc2coJmlvdiwgMSwgbGluZSwgdGltZW91dCkpICE9IE5VTEwpCisJCQl3YXJueCgiJXMiLCBwKTsKKwl9CisJZW5kdXR4ZW50KCk7CisJZnJlZShtYnVmKTsKKwlmcmVlX2dyb3VwX3dvcmtzcGFjZShncm91cF9idWYpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RydWN0IGJ1ZmZlciB7CisJc2l6ZV90CXN6OworCXNpemVfdAl1c2VkOworCWNoYXIJKmRhdGE7Cit9OworCitzdGF0aWMgdm9pZCBidWZfZW5sYXJnZShzdHJ1Y3QgYnVmZmVyICpicywgc2l6ZV90IGxlbikKK3sKKwlpZiAoYnMtPnN6ID09IDAgfHwgbGVuID4gYnMtPnN6IC0gYnMtPnVzZWQpIHsKKwkJYnMtPnN6ICs9IGxlbiA8IDEyOCA/IDEyOCA6IGxlbjsKKwkJYnMtPmRhdGEgPSB4cmVhbGxvYyhicy0+ZGF0YSwgYnMtPnN6KTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIGJ1Zl9wdXRzKHN0cnVjdCBidWZmZXIgKmJzLCBjb25zdCBjaGFyICpzKQoreworCXNpemVfdCBsZW4gPSBzdHJsZW4ocyk7CisKKwlidWZfZW5sYXJnZShicywgbGVuICsgMSk7CisJbWVtY3B5KGJzLT5kYXRhICsgYnMtPnVzZWQsIHMsIGxlbiArIDEpOworCWJzLT51c2VkICs9IGxlbjsKK30KKworc3RhdGljIHZvaWQgYnVmX3ByaW50ZihzdHJ1Y3QgYnVmZmVyICpicywgY29uc3QgY2hhciAqZm10LCAuLi4pCit7CisJaW50IHJjOworCXZhX2xpc3QgYXA7CisJc2l6ZV90IGxpbWl0OworCisJYnVmX2VubGFyZ2UoYnMsIDApOwkvKiBkZWZhdWx0IHNpemUgKi8KKwlsaW1pdCA9IGJzLT5zeiAtIGJzLT51c2VkOworCisJdmFfc3RhcnQoYXAsIGZtdCk7CisJcmMgPSB2c25wcmludGYoYnMtPmRhdGEgKyBicy0+dXNlZCwgbGltaXQsIGZtdCwgYXApOworCXZhX2VuZChhcCk7CisKKwlpZiAocmMgPj0gMCAmJiAoc2l6ZV90KSByYyA+PSBsaW1pdCkgewkvKiBub3QgZW5vdWdoLCBlbmxhcmdlICovCisJCWJ1Zl9lbmxhcmdlKGJzLCAoc2l6ZV90KXJjICsgMSk7CisJCWxpbWl0ID0gYnMtPnN6IC0gYnMtPnVzZWQ7CisJCXZhX3N0YXJ0KGFwLCBmbXQpOworCQlyYyA9IHZzbnByaW50Zihicy0+ZGF0YSAgKyBicy0+dXNlZCwgbGltaXQsIGZtdCwgYXApOworCQl2YV9lbmQoYXApOworCX0KKworCWlmIChyYyA+IDApCisJCWJzLT51c2VkICs9IHJjOworfQorCitzdGF0aWMgdm9pZCBidWZfcHV0Y19jYXJlZnVsKHN0cnVjdCBidWZmZXIgKmJzLCBpbnQgYykKK3sKKwlpZiAoaXNwcmludChjKSB8fCBjID09ICdcYScgfHwgYyA9PSAnXHQnIHx8IGMgPT0gJ1xyJyB8fCBjID09ICdcbicpIHsKKwkJYnVmX2VubGFyZ2UoYnMsIDEpOworCQlicy0+ZGF0YVticy0+dXNlZCsrXSA9IGM7CisJfSBlbHNlIGlmICghaXNhc2NpaShjKSkKKwkJYnVmX3ByaW50ZihicywgIlxcJTNvIiwgKHVuc2lnbmVkIGNoYXIpYyk7CisJZWxzZSB7CisJCWNoYXIgdG1wW10gPSB7ICdeJywgYyBeIDB4NDAsICdcMCcgfTsKKwkJYnVmX3B1dHMoYnMsIHRtcCk7CisJfQorfQorCitzdGF0aWMgY2hhciAqbWFrZW1zZyhjaGFyICpmbmFtZSwgY2hhciAqKm12ZWMsIGludCBtdmVjc3osCisJCSAgICAgc2l6ZV90ICptYnVmc2l6ZSwgaW50IHByaW50X2Jhbm5lcikKK3sKKwlzdHJ1Y3QgYnVmZmVyIF9icyA9IHsudXNlZCA9IDB9LCAqYnMgPSAmX2JzOworCXJlZ2lzdGVyIGludCBjaCwgY250OworCWNoYXIgKnAsICpsYnVmOworCWxvbmcgbGluZV9tYXg7CisKKwlsaW5lX21heCA9IHN5c2NvbmYoX1NDX0xJTkVfTUFYKTsKKwlpZiAobGluZV9tYXggPD0gMCkKKwkJbGluZV9tYXggPSA1MTI7CisKKwlsYnVmID0geG1hbGxvYyhsaW5lX21heCk7CisKKwlpZiAocHJpbnRfYmFubmVyID09IFRSVUUpIHsKKwkJY2hhciAqaG9zdG5hbWUgPSB4Z2V0aG9zdG5hbWUoKTsKKwkJY2hhciAqd2hvbSwgKndoZXJlLCAqZGF0ZTsKKwkJc3RydWN0IHBhc3N3ZCAqcHc7CisJCXRpbWVfdCBub3c7CisKKwkJaWYgKCEod2hvbSA9IGdldGxvZ2luKCkpIHx8ICEqd2hvbSkKKwkJCXdob20gPSAocHcgPSBnZXRwd3VpZChnZXR1aWQoKSkpID8gcHctPnB3X25hbWUgOiAiPz8/IjsKKwkJaWYgKCF3aG9tKSB7CisJCQl3aG9tID0gInNvbWVvbmUiOworCQkJd2FybihfKCJjYW5ub3QgZ2V0IHBhc3N3ZCB1aWQiKSk7CisJCX0KKwkJd2hlcmUgPSB0dHluYW1lKFNURE9VVF9GSUxFTk8pOworCQlpZiAoIXdoZXJlKSB7CisJCQl3aGVyZSA9ICJzb21ld2hlcmUiOworCQkJd2FybihfKCJjYW5ub3QgZ2V0IHR0eSBuYW1lIikpOworCQl9IGVsc2UgaWYgKHN0cm5jbXAod2hlcmUsICIvZGV2LyIsIDUpID09IDApCisJCQl3aGVyZSArPSA1OworCisJCXRpbWUoJm5vdyk7CisJCWRhdGUgPSB4c3RyZHVwKGN0aW1lKCZub3cpKTsKKwkJZGF0ZVtzdHJsZW4oZGF0ZSkgLSAxXSA9ICdcMCc7CisKKwkJLyoKKwkJICogYWxsIHRoaXMgc3R1ZmYgaXMgdG8gYmxhbmsgb3V0IGEgc3F1YXJlIGZvciB0aGUgbWVzc2FnZTsKKwkJICogd2Ugd3JhcCBtZXNzYWdlIGxpbmVzIGF0IGNvbHVtbiA3OSwgbm90IDgwLCBiZWNhdXNlIHNvbWUKKwkJICogdGVybWluYWxzIHdyYXAgYWZ0ZXIgNzksIHNvbWUgZG8gbm90LCBhbmQgd2UgY2FuJ3QgdGVsbC4KKwkJICogV2hpY2ggbWVhbnMgdGhhdCB3ZSBtYXkgbGVhdmUgYSBub24tYmxhbmsgY2hhcmFjdGVyCisJCSAqIGluIGNvbHVtbiA4MCwgYnV0IHRoYXQgY2FuJ3QgYmUgaGVscGVkLgorCQkgKi8KKwkJLyogc25wcmludGYgaXMgbm90IGFsd2F5cyBhdmFpbGFibGUsIGJ1dCB0aGUgc3ByaW50ZidzIGhlcmUKKwkJICAgd2lsbCBub3Qgb3ZlcmZsb3cgYXMgbG9uZyBhcyAlZCB0YWtlcyBhdCBtb3N0IDEwMCBjaGFycyAqLworCQlidWZfcHJpbnRmKGJzLCAiXHIlKnNcclxuIiwgVEVSTV9XSURUSCwgIiAiKTsKKworCQlzbnByaW50ZihsYnVmLCBsaW5lX21heCwKKwkJCQlfKCJCcm9hZGNhc3QgbWVzc2FnZSBmcm9tICVzQCVzICglcykgKCVzKToiKSwKKwkJCQl3aG9tLCBob3N0bmFtZSwgd2hlcmUsIGRhdGUpOworCQlidWZfcHJpbnRmKGJzLCAiJS0qLipzXDAwN1wwMDdcclxuIiwgVEVSTV9XSURUSCwgVEVSTV9XSURUSCwgbGJ1Zik7CisJCWZyZWUoaG9zdG5hbWUpOworCQlmcmVlKGRhdGUpOworCX0KKwlidWZfcHJpbnRmKGJzLCAiJSpzXHJcbiIsIFRFUk1fV0lEVEgsICIgIik7CisKKwkgaWYgKG12ZWMpIHsKKwkJLyoKKwkJICogUmVhZCBtZXNzYWdlIGZyb20gYXJndltdCisJCSAqLworCQlpbnQgaTsKKworCQlmb3IgKGkgPSAwOyBpIDwgbXZlY3N6OyBpKyspIHsKKwkJCWJ1Zl9wdXRzKGJzLCBtdmVjW2ldKTsKKwkJCWlmIChpIDwgbXZlY3N6IC0gMSkKKwkJCQlidWZfcHV0cyhicywgIiAiKTsKKwkJfQorCQlidWZfcHV0cyhicywgIlxyXG4iKTsKKwl9IGVsc2UgeworCQkvKgorCQkgKiByZWFkIG1lc3NhZ2UgZnJvbSA8ZmlsZT4KKwkJICovCisJCWlmIChmbmFtZSkgeworCQkJLyoKKwkJCSAqIFdoZW4gd2UgYXJlIG5vdCByb290LCBidXQgc3VpZCBvciBzZ2lkLCByZWZ1c2UgdG8gcmVhZCBmaWxlcworCQkJICogKGUuZy4gZGV2aWNlIGZpbGVzKSB0aGF0IHRoZSB1c2VyIG1heSBub3QgaGF2ZSBhY2Nlc3MgdG8uCisJCQkgKiBBZnRlciBhbGwsIG91ciBpbnZva2VyIGNhbiBlYXNpbHkgZG8gIndhbGwgPCBmaWxlIgorCQkJICogaW5zdGVhZCBvZiAid2FsbCBmaWxlIi4KKwkJCSAqLworCQkJdWlkX3QgdWlkID0gZ2V0dWlkKCk7CisJCQlpZiAodWlkICYmICh1aWQgIT0gZ2V0ZXVpZCgpIHx8IGdldGdpZCgpICE9IGdldGVnaWQoKSkpCisJCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIndpbGwgbm90IHJlYWQgJXMgLSB1c2Ugc3RkaW4uIiksCisJCQkJICAgICBmbmFtZSk7CisKKwkJCWlmICghZnJlb3BlbihmbmFtZSwgInIiLCBzdGRpbikpCisJCQkJZXJyKEVYSVRfRkFJTFVSRSwgXygiY2Fubm90IG9wZW4gJXMiKSwgZm5hbWUpOworCisJCX0KKworCQkvKgorCQkgKiBSZWFkIG1lc3NhZ2UgZnJvbSBzdGRpbi4KKwkJICovCisJCXdoaWxlIChmZ2V0cyhsYnVmLCBsaW5lX21heCwgc3RkaW4pKSB7CisJCQlmb3IgKGNudCA9IDAsIHAgPSBsYnVmOyAoY2ggPSAqcCkgIT0gJ1wwJzsgKytwLCArK2NudCkgeworCQkJCWlmIChjbnQgPT0gVEVSTV9XSURUSCB8fCBjaCA9PSAnXG4nKSB7CisJCQkJCWZvciAoOyBjbnQgPCBURVJNX1dJRFRIOyArK2NudCkKKwkJCQkJCWJ1Zl9wdXRzKGJzLCAiICIpOworCQkJCQlidWZfcHV0cyhicywgIlxyXG4iKTsKKwkJCQkJY250ID0gMDsKKwkJCQl9CisJCQkJaWYgKGNoID09ICdcdCcpCisJCQkJCWNudCArPSAoNyAtIChjbnQgJSA4KSk7CisJCQkJaWYgKGNoICE9ICdcbicpCisJCQkJCWJ1Zl9wdXRjX2NhcmVmdWwoYnMsIGNoKTsKKwkJCX0KKwkJfQorCX0KKwlidWZfcHJpbnRmKGJzLCAiJSpzXHJcbiIsIFRFUk1fV0lEVEgsICIgIik7CisKKwlmcmVlKGxidWYpOworCisJYnMtPmRhdGFbYnMtPnVzZWRdID0gJ1wwJzsJLyogYmUgcGFyYW5vaWQgKi8KKwkqbWJ1ZnNpemUgPSBicy0+dXNlZDsKKwlyZXR1cm4gYnMtPmRhdGE7Cit9CmRpZmYgLS1naXQgYS90ZXJtLXV0aWxzL3dyaXRlLjEgYi90ZXJtLXV0aWxzL3dyaXRlLjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWI4NDc1ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlcm0tdXRpbHMvd3JpdGUuMQpAQCAtMCwwICsxLDEwMSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4OSwgMTk5MworLlwiCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgVGhpcyBjb2RlIGlzIGRlcml2ZWQgZnJvbSBzb2Z0d2FyZSBjb250cmlidXRlZCB0byBCZXJrZWxleSBieQorLlwiIEplZiBQb3NrYW56ZXIgYW5kIENyYWlnIExlcmVzIG9mIHRoZSBMYXdyZW5jZSBCZXJrZWxleSBMYWJvcmF0b3J5LgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyl3cml0ZS4xCTguMSAoQmVya2VsZXkpIDYvNi85MworLlwiCisuVEggV1JJVEUgMSAiTWFyY2ggMTk5NSIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3dyaXRlIFwtIHNlbmQgYSBtZXNzYWdlIHRvIGFub3RoZXIgdXNlcgorLlNIIFNZTk9QU0lTCisuQiB3cml0ZQorLkkgdXNlcgorLlJJIFsgdHR5bmFtZSBdCisuU0ggREVTQ1JJUFRJT04KKy5CIHdyaXRlCithbGxvd3MgeW91IHRvIGNvbW11bmljYXRlIHdpdGggb3RoZXIgdXNlcnMsIGJ5IGNvcHlpbmcgbGluZXMgZnJvbQoreW91ciB0ZXJtaW5hbCB0byB0aGVpcnMuCisuUFAKK1doZW4geW91IHJ1biB0aGUKKy5CIHdyaXRlCitjb21tYW5kLCB0aGUgdXNlciB5b3UgYXJlIHdyaXRpbmcgdG8gZ2V0cyBhIG1lc3NhZ2Ugb2YgdGhlIGZvcm06CisuUFAKKy5SUworTWVzc2FnZSBmcm9tIHlvdXJuYW1lQHlvdXJob3N0IG9uIHlvdXJ0dHkgYXQgaGg6bW0gLi4uCisuUkUKKy5QUAorQW55IGZ1cnRoZXIgbGluZXMgeW91IGVudGVyIHdpbGwgYmUgY29waWVkIHRvIHRoZSBzcGVjaWZpZWQgdXNlcidzCit0ZXJtaW5hbC4gIElmIHRoZSBvdGhlciB1c2VyIHdhbnRzIHRvIHJlcGx5LCB0aGV5IG11c3QgcnVuCisuQiB3cml0ZQorYXMgd2VsbC4KKy5QUAorV2hlbiB5b3UgYXJlIGRvbmUsIHR5cGUgYW4gZW5kLW9mLWZpbGUgb3IgaW50ZXJydXB0IGNoYXJhY3Rlci4gIFRoZSBvdGhlcgordXNlciB3aWxsIHNlZSB0aGUgbWVzc2FnZQorLkIgRU9GCitpbmRpY2F0aW5nIHRoYXQgdGhlIGNvbnZlcnNhdGlvbiBpcyBvdmVyLgorLlBQCitZb3UgY2FuIHByZXZlbnQgcGVvcGxlIChvdGhlciB0aGFuIHRoZSBzdXBlcnVzZXIpIGZyb20gd3JpdGluZyB0byB5b3Ugd2l0aAordGhlCisuQlIgbWVzZyAoMSkKK2NvbW1hbmQuICBTb21lIGNvbW1hbmRzLCBmb3IgZXhhbXBsZQorLkJSIG5yb2ZmICgxKQorYW5kCisuQlIgcHIgKDEpLAorbWF5IGF1dG9tYXRpY2FsbHkgZGlzYWxsb3cgd3JpdGluZywgc28gdGhhdCB0aGUgb3V0cHV0IHRoZXkgcHJvZHVjZQoraXNuJ3Qgb3ZlcndyaXR0ZW4uCisuUFAKK0lmIHRoZSB1c2VyIHlvdSB3YW50IHRvIHdyaXRlIHRvIGlzIGxvZ2dlZCBpbiBvbiBtb3JlIHRoYW4gb25lIHRlcm1pbmFsLAoreW91IGNhbiBzcGVjaWZ5IHdoaWNoIHRlcm1pbmFsIHRvIHdyaXRlIHRvIGJ5IGdpdmluZyB0aGUgdGVybWluYWwKK25hbWUgYXMgdGhlIHNlY29uZCBvcGVyYW5kIHRvIHRoZQorLkIgd3JpdGUKK2NvbW1hbmQuICBBbHRlcm5hdGl2ZWx5LCB5b3UgY2FuIGxldAorLkIgd3JpdGUKK3NlbGVjdCBvbmUgb2YgdGhlIHRlcm1pbmFscyBcLSBpdCB3aWxsIHBpY2sgdGhlIG9uZSB3aXRoIHRoZSBzaG9ydGVzdCBpZGxlCit0aW1lLiAgVGhpcyBpcyBzbyB0aGF0IGlmIHRoZSB1c2VyIGlzIGxvZ2dlZCBpbiBhdCB3b3JrIGFuZCBhbHNvIGRpYWxlZCB1cAorZnJvbSBob21lLCB0aGUgbWVzc2FnZSB3aWxsIGdvIHRvIHRoZSByaWdodCBwbGFjZS4KKy5QUAorVGhlIHRyYWRpdGlvbmFsIHByb3RvY29sIGZvciB3cml0aW5nIHRvIHNvbWVvbmUgaXMgdGhhdCB0aGUgc3RyaW5nIGBcLW8nLAorZWl0aGVyIGF0IHRoZSBlbmQgb2YgYSBsaW5lIG9yIG9uIGEgbGluZSBieSBpdHNlbGYsIG1lYW5zIHRoYXQgaXQncyB0aGUKK290aGVyIHBlcnNvbidzIHR1cm4gdG8gdGFsay4gIFRoZSBzdHJpbmcgYG9vJyBtZWFucyB0aGF0IHRoZSBwZXJzb24KK2JlbGlldmVzIHRoZSBjb252ZXJzYXRpb24gdG8gYmUgb3Zlci4KKy5TSCAiU0VFIEFMU08iCisuQlIgbWVzZyAoMSksCisuQlIgdGFsayAoMSksCisuQlIgd2hvICgxKQorLlNIIEhJU1RPUlkKK0EKKy5CIHdyaXRlCitjb21tYW5kIGFwcGVhcmVkIGluIFZlcnNpb24gNiBBVCZUIFVOSVguCisuU0ggQVZBSUxBQklMSVRZCitUaGUgd3JpdGUgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3Rlcm0tdXRpbHMvd3JpdGUuYyBiL3Rlcm0tdXRpbHMvd3JpdGUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDY0ZmMyCi0tLSAvZGV2L251bGwKKysrIGIvdGVybS11dGlscy93cml0ZS5jCkBAIC0wLDAgKzEsMzY4IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5CisgKiBKZWYgUG9za2FuemVyIGFuZCBDcmFpZyBMZXJlcyBvZiB0aGUgTGF3cmVuY2UgQmVya2VsZXkgTGFib3JhdG9yeS4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqIE1vZGlmaWVkIGZvciBMaW51eCwgTW9uIE1hciAgOCAxODoxNjoyNCAxOTkzLCBmYWl0aEBjcy51bmMuZWR1CisgKiBXZWQgSnVuIDIyIDIxOjQxOjU2IDE5OTQsIGZhaXRoQGNzLnVuYy5lZHU6CisgKiAgICAgIEFkZGVkIGZpeCBmcm9tIE1pa2UgR3J1cGVuaG9mZiAoa2FzaG1pckB1bWlhY3MudW1kLmVkdSkKKyAqIE1vbiBKdWwgIDEgMTc6MDE6MzkgTUVUIERTVCAxOTk2LCBqYW5sQG1hdGgudWlvLm5vOgorICogICAgICAtIEFkZGVkIGZpeCBmcm9tIERhdmlkLkNoYXBlbGxAbWFpbC50cmluY29sbC5lZHUgZW5hYmxpbmcgZGFlbW9ucworICoJICB0byB1c2Ugd3JpdGUuCisgKiAgICAgIC0gQU5TSWVkIGl0IHNpbmNlIEkgd2FzIHdvcmtpbmcgb24gaXQgYW55d2F5LgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogLSBhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICoKKyAqLworCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxwYXRocy5oPgorI2luY2x1ZGUgPHB3ZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8c3lzL3N0YXQuaD4KKyNpbmNsdWRlIDx0aW1lLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8dXRtcHguaD4KKworI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJjYXJlZnVscHV0Yy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJ0dHl1dGlscy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorCitzdGF0aWMgc2lnX2F0b21pY190IHNpZ25hbF9yZWNlaXZlZCA9IDA7CisKK3N0cnVjdCB3cml0ZV9jb250cm9sIHsKKwl1aWRfdCBzcmNfdWlkOworCWNvbnN0IGNoYXIgKnNyY19sb2dpbjsKKwljb25zdCBjaGFyICpzcmNfdHR5X3BhdGg7CisJY29uc3QgY2hhciAqc3JjX3R0eV9uYW1lOworCWNvbnN0IGNoYXIgKmRzdF9sb2dpbjsKKwljaGFyICpkc3RfdHR5X3BhdGg7CisJY29uc3QgY2hhciAqZHN0X3R0eV9uYW1lOworfTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgIF8oIiAlcyBbb3B0aW9uc10gPHVzZXI+IFs8dHR5bmFtZT5dXG4iKSwKKwkgICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiU2VuZCBhIG1lc3NhZ2UgdG8gYW5vdGhlciB1c2VyLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoIndyaXRlKDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworLyoKKyAqIGNoZWNrX3R0eSAtIGNoZWNrIHRoYXQgYSB0ZXJtaW5hbCBleGlzdHMsIGFuZCBnZXQgdGhlIG1lc3NhZ2UgYml0CisgKiAgICAgYW5kIHRoZSBhY2Nlc3MgdGltZQorICovCitzdGF0aWMgaW50IGNoZWNrX3R0eShjb25zdCBjaGFyICp0dHksIGludCAqdHR5X3dyaXRlYWJsZSwgdGltZV90ICp0dHlfYXRpbWUsIGludCBzaG93ZXJyb3IpCit7CisJc3RydWN0IHN0YXQgczsKKworCWlmIChzdGF0KHR0eSwgJnMpIDwgMCkgeworCQlpZiAoc2hvd2Vycm9yKQorCQkJd2FybigiJXMiLCB0dHkpOworCQlyZXR1cm4gMTsKKwl9CisJaWYgKGdldHVpZCgpID09IDApCS8qIHJvb3QgY2FuIGFsd2F5cyB3cml0ZSAqLworCQkqdHR5X3dyaXRlYWJsZSA9IDE7CisJZWxzZSB7CisJCWlmIChnZXRlZ2lkKCkgIT0gcy5zdF9naWQpIHsKKwkJCXdhcm54KF8oImVmZmVjdGl2ZSBnaWQgZG9lcyBub3QgbWF0Y2ggZ3JvdXAgb2YgJXMiKSwgdHR5KTsKKwkJCXJldHVybiAxOworCQl9CisJCSp0dHlfd3JpdGVhYmxlID0gcy5zdF9tb2RlICYgU19JV0dSUDsKKwl9CisJaWYgKHR0eV9hdGltZSkKKwkJKnR0eV9hdGltZSA9IHMuc3RfYXRpbWU7CisJcmV0dXJuIDA7Cit9CisKKy8qCisgKiBjaGVja191dG1wIC0gY2hlY2tzIHRoYXQgdGhlIGdpdmVuIHVzZXIgaXMgYWN0dWFsbHkgbG9nZ2VkIGluIG9uCisgKiAgICAgdGhlIGdpdmVuIHR0eQorICovCitzdGF0aWMgaW50IGNoZWNrX3V0bXAoY29uc3Qgc3RydWN0IHdyaXRlX2NvbnRyb2wgKmN0bCkKK3sKKwlzdHJ1Y3QgdXRtcHggKnU7CisJaW50IHJlcyA9IDE7CisKKwl1dG1weG5hbWUoX1BBVEhfVVRNUCk7CisJc2V0dXR4ZW50KCk7CisKKwl3aGlsZSAoKHUgPSBnZXR1dHhlbnQoKSkpIHsKKwkJaWYgKHN0cm5jbXAoY3RsLT5kc3RfbG9naW4sIHUtPnV0X3VzZXIsIHNpemVvZih1LT51dF91c2VyKSkgPT0gMCAmJgorCQkgICAgc3RybmNtcChjdGwtPmRzdF90dHlfbmFtZSwgdS0+dXRfbGluZSwgc2l6ZW9mKHUtPnV0X2xpbmUpKSA9PSAwKSB7CisJCQlyZXMgPSAwOworCQkJYnJlYWs7CisJCX0KKwl9CisKKwllbmR1dHhlbnQoKTsKKwlyZXR1cm4gcmVzOworfQorCisvKgorICogc2VhcmNoX3V0bXAgLSBzZWFyY2ggdXRtcCBmb3IgdGhlICJiZXN0IiB0ZXJtaW5hbCB0byB3cml0ZSB0bworICoKKyAqIElnbm9yZXMgdGVybWluYWxzIHdpdGggbWVzc2FnZXMgZGlzYWJsZWQsIGFuZCBvZiB0aGUgcmVzdCwgcmV0dXJucworICogdGhlIG9uZSB3aXRoIHRoZSBtb3N0IHJlY2VudCBhY2Nlc3MgdGltZS4gIFJldHVybnMgYXMgdmFsdWUgdGhlIG51bWJlcgorICogb2YgdGhlIHVzZXIncyB0ZXJtaW5hbHMgd2l0aCBtZXNzYWdlcyBlbmFibGVkLCBvciAtMSBpZiB0aGUgdXNlciBpcworICogbm90IGxvZ2dlZCBpbiBhdCBhbGwuCisgKgorICogU3BlY2lhbCBjYXNlIGZvciB3cml0aW5nIHRvIHlvdXJzZWxmIC0gaWdub3JlIHRoZSB0ZXJtaW5hbCB5b3UncmUKKyAqIHdyaXRpbmcgZnJvbSwgdW5sZXNzIHRoYXQncyB0aGUgb25seSB0ZXJtaW5hbCB3aXRoIG1lc3NhZ2VzIGVuYWJsZWQuCisgKi8KK3N0YXRpYyB2b2lkIHNlYXJjaF91dG1wKHN0cnVjdCB3cml0ZV9jb250cm9sICpjdGwpCit7CisJc3RydWN0IHV0bXB4ICp1OworCXRpbWVfdCBiZXN0X2F0aW1lID0gMCwgdHR5X2F0aW1lOworCWludCBudW1fdHR5cyA9IDAsIHZhbGlkX3R0eXMgPSAwLCB0dHlfd3JpdGVhYmxlID0gMCwgdXNlcl9pc19tZSA9IDA7CisJY2hhciBwYXRoW3NpemVvZih1LT51dF9saW5lKSArIDZdOworCisJdXRtcHhuYW1lKF9QQVRIX1VUTVApOworCXNldHV0eGVudCgpOworCisJd2hpbGUgKCh1ID0gZ2V0dXR4ZW50KCkpKSB7CisJCWlmIChzdHJuY21wKGN0bC0+ZHN0X2xvZ2luLCB1LT51dF91c2VyLCBzaXplb2YodS0+dXRfdXNlcikpICE9IDApCisJCQljb250aW51ZTsKKwkJbnVtX3R0eXMrKzsKKwkJc3ByaW50ZihwYXRoLCAiL2Rldi8lcyIsIHUtPnV0X2xpbmUpOworCQlpZiAoY2hlY2tfdHR5KHBhdGgsICZ0dHlfd3JpdGVhYmxlLCAmdHR5X2F0aW1lLCAwKSkKKwkJCS8qIGJhZCB0ZXJtPyBza2lwICovCisJCQljb250aW51ZTsKKwkJaWYgKGN0bC0+c3JjX3VpZCAmJiAhdHR5X3dyaXRlYWJsZSkKKwkJCS8qIHNraXAgdHR5cyB3aXRoIG1zZ3Mgb2ZmICovCisJCQljb250aW51ZTsKKwkJaWYgKHN0cmNtcCh1LT51dF9saW5lLCBjdGwtPnNyY190dHlfbmFtZSkgPT0gMCkgeworCQkJdXNlcl9pc19tZSA9IDE7CisJCQkvKiBkb24ndCB3cml0ZSB0byB5b3Vyc2VsZiAqLworCQkJY29udGludWU7CisJCX0KKwkJaWYgKHUtPnV0X3R5cGUgIT0gVVNFUl9QUk9DRVNTKQorCQkJLyogaXQncyBub3QgYSB2YWxpZCBlbnRyeSAqLworCQkJY29udGludWU7CisJCXZhbGlkX3R0eXMrKzsKKwkJaWYgKGJlc3RfYXRpbWUgPCB0dHlfYXRpbWUpIHsKKwkJCWJlc3RfYXRpbWUgPSB0dHlfYXRpbWU7CisJCQlmcmVlKGN0bC0+ZHN0X3R0eV9wYXRoKTsKKwkJCWN0bC0+ZHN0X3R0eV9wYXRoID0geHN0cmR1cChwYXRoKTsKKwkJCWN0bC0+ZHN0X3R0eV9uYW1lID0gY3RsLT5kc3RfdHR5X3BhdGggKyA1OworCQl9CisJfQorCisJZW5kdXR4ZW50KCk7CisJaWYgKG51bV90dHlzID09IDApCisJCWVycngoRVhJVF9GQUlMVVJFLCBfKCIlcyBpcyBub3QgbG9nZ2VkIGluIiksIGN0bC0+ZHN0X2xvZ2luKTsKKwlpZiAodmFsaWRfdHR5cyA9PSAwKSB7CisJCWlmICh1c2VyX2lzX21lKSB7CisJCQkvKiBvaywgc28gd3JpdGUgdG8geW91cnNlbGYhICovCisJCQlpZiAoIWN0bC0+c3JjX3R0eV9wYXRoKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJjYW4ndCBmaW5kIHlvdXIgdHR5J3MgbmFtZSIpKTsKKwkJCWN0bC0+ZHN0X3R0eV9wYXRoID0geHN0cmR1cChjdGwtPnNyY190dHlfcGF0aCk7CisJCQljdGwtPmRzdF90dHlfbmFtZSA9IGN0bC0+ZHN0X3R0eV9wYXRoICsgNTsKKwkJCXJldHVybjsKKwkJfQorCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygiJXMgaGFzIG1lc3NhZ2VzIGRpc2FibGVkIiksIGN0bC0+ZHN0X2xvZ2luKTsKKwl9CisJaWYgKDEgPCB2YWxpZF90dHlzKQorCQl3YXJueChfKCIlcyBpcyBsb2dnZWQgaW4gbW9yZSB0aGFuIG9uY2U7IHdyaXRpbmcgdG8gJXMiKSwKKwkJICAgICAgY3RsLT5kc3RfbG9naW4sIGN0bC0+ZHN0X3R0eV9uYW1lKTsKK30KKworLyoKKyAqIHNpZ25hbF9oYW5kbGVyIC0gY2F1c2Ugd3JpdGUgbG9vcCB0byBleGl0CisgKi8KK3N0YXRpYyB2b2lkIHNpZ25hbF9oYW5kbGVyKGludCBzaWdubykKK3sKKwlzaWduYWxfcmVjZWl2ZWQgPSBzaWdubzsKK30KKworLyoKKyAqIHdyaXRlX2xpbmUgLSBsaWtlIGZwdXRzKCksIGJ1dCBtYWtlcyBjb250cm9sIGNoYXJhY3RlcnMgdmlzaWJsZSBhbmQKKyAqICAgICB0dXJucyBcbiBpbnRvIFxyXG4uCisgKi8KK3N0YXRpYyB2b2lkIHdyaXRlX2xpbmUoY2hhciAqcykKK3sKKwl3aGlsZSAoKnMpIHsKKwkJY29uc3QgaW50IGMgPSAqcysrOworCisJCWlmICgoYyA9PSAnXG4nICYmIGZwdXRjX2NhcmVmdWwoJ1xyJywgc3Rkb3V0LCAnXicpID09IEVPRikKKwkJICAgIHx8IGZwdXRjX2NhcmVmdWwoYywgc3Rkb3V0LCAnXicpID09IEVPRikKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhcmVmdWxwdXRjIGZhaWxlZCIpKTsKKwl9Cit9CisKKy8qCisgKiBkb193cml0ZSAtIGFjdHVhbGx5IG1ha2UgdGhlIGNvbm5lY3Rpb24KKyAqLworc3RhdGljIHZvaWQgZG9fd3JpdGUoY29uc3Qgc3RydWN0IHdyaXRlX2NvbnRyb2wgKmN0bCkKK3sKKwljaGFyICpsb2dpbiwgKnB3dWlkOworCXN0cnVjdCBwYXNzd2QgKnB3ZDsKKwl0aW1lX3Qgbm93OworCXN0cnVjdCB0bSAqdG07CisJY2hhciAqaG9zdCwgbGluZVs1MTJdOworCXN0cnVjdCBzaWdhY3Rpb24gc2lnYWN0OworCisJLyogRGV0ZXJtaW5lIG91ciBsb2dpbiBuYW1lKHMpIGJlZm9yZSB0aGUgd2UgcmVvcGVuKCkgc3Rkb3V0ICovCisJaWYgKChwd2QgPSBnZXRwd3VpZChjdGwtPnNyY191aWQpKSAhPSBOVUxMKQorCQlwd3VpZCA9IHB3ZC0+cHdfbmFtZTsKKwllbHNlCisJCXB3dWlkID0gIj8/PyI7CisJaWYgKChsb2dpbiA9IGdldGxvZ2luKCkpID09IE5VTEwpCisJCWxvZ2luID0gcHd1aWQ7CisKKwlpZiAoKGZyZW9wZW4oY3RsLT5kc3RfdHR5X3BhdGgsICJ3Iiwgc3Rkb3V0KSkgPT0gTlVMTCkKKwkJZXJyKEVYSVRfRkFJTFVSRSwgIiVzIiwgY3RsLT5kc3RfdHR5X3BhdGgpOworCisJc2lnYWN0LnNhX2hhbmRsZXIgPSBzaWduYWxfaGFuZGxlcjsKKwlzaWdlbXB0eXNldCgmc2lnYWN0LnNhX21hc2spOworCXNpZ2FjdC5zYV9mbGFncyA9IDA7CisJc2lnYWN0aW9uKFNJR0lOVCwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR0hVUCwgJnNpZ2FjdCwgTlVMTCk7CisKKwlob3N0ID0geGdldGhvc3RuYW1lKCk7CisJaWYgKCFob3N0KQorCQlob3N0ID0geHN0cmR1cCgiPz8/Iik7CisKKwlub3cgPSB0aW1lKCh0aW1lX3QgKilOVUxMKTsKKwl0bSA9IGxvY2FsdGltZSgmbm93KTsKKwkvKiBwcmludCBncmVldGluZyAqLworCXByaW50ZigiXHJcblxhXGFcYSIpOworCWlmIChzdHJjbXAobG9naW4sIHB3dWlkKSkKKwkJcHJpbnRmKF8oIk1lc3NhZ2UgZnJvbSAlc0AlcyAoYXMgJXMpIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iKSwKKwkJICAgICAgIGxvZ2luLCBob3N0LCBwd3VpZCwgY3RsLT5zcmNfdHR5X25hbWUsCisJCSAgICAgICB0bS0+dG1faG91ciwgdG0tPnRtX21pbik7CisJZWxzZQorCQlwcmludGYoXygiTWVzc2FnZSBmcm9tICVzQCVzIG9uICVzIGF0ICUwMmQ6JTAyZCAuLi4iKSwKKwkJICAgICAgIGxvZ2luLCBob3N0LCBjdGwtPnNyY190dHlfbmFtZSwKKwkJICAgICAgIHRtLT50bV9ob3VyLCB0bS0+dG1fbWluKTsKKwlmcmVlKGhvc3QpOworCXByaW50ZigiXHJcbiIpOworCisJd2hpbGUgKGZnZXRzKGxpbmUsIHNpemVvZihsaW5lKSwgc3RkaW4pICE9IE5VTEwpIHsKKwkJaWYgKHNpZ25hbF9yZWNlaXZlZCkKKwkJCWJyZWFrOworCQl3cml0ZV9saW5lKGxpbmUpOworCX0KKwlwcmludGYoIkVPRlxyXG4iKTsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCB0dHlfd3JpdGVhYmxlID0gMCwgYzsKKwlzdHJ1Y3Qgd3JpdGVfY29udHJvbCBjdGwgPSB7IDAgfTsKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7ImhlbHAiLCBub19hcmd1bWVudCwgTlVMTCwgJ2gnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJaWYgKGdldF90ZXJtaW5hbF9uYW1lKCZjdGwuc3JjX3R0eV9wYXRoLCAmY3RsLnNyY190dHlfbmFtZSwgTlVMTCkgPT0gMCkgeworCQkvKiBjaGVjayB0aGF0IHNlbmRlciBoYXMgd3JpdGUgZW5hYmxlZCAqLworCQlpZiAoY2hlY2tfdHR5KGN0bC5zcmNfdHR5X3BhdGgsICZ0dHlfd3JpdGVhYmxlLCBOVUxMLCAxKSkKKwkJCWV4aXQoRVhJVF9GQUlMVVJFKTsKKwkJaWYgKCF0dHlfd3JpdGVhYmxlKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsCisJCQkgICAgIF8oInlvdSBoYXZlIHdyaXRlIHBlcm1pc3Npb24gdHVybmVkIG9mZiIpKTsKKwkJdHR5X3dyaXRlYWJsZSA9IDA7CisJfSBlbHNlCisJCWN0bC5zcmNfdHR5X25hbWUgPSAiPG5vIHR0eT4iOworCisJY3RsLnNyY191aWQgPSBnZXR1aWQoKTsKKworCS8qIGNoZWNrIGFyZ3MgKi8KKwlzd2l0Y2ggKGFyZ2MpIHsKKwljYXNlIDI6CisJCWN0bC5kc3RfbG9naW4gPSBhcmd2WzFdOworCQlzZWFyY2hfdXRtcCgmY3RsKTsKKwkJZG9fd3JpdGUoJmN0bCk7CisJCWJyZWFrOworCWNhc2UgMzoKKwkJY3RsLmRzdF9sb2dpbiA9IGFyZ3ZbMV07CisJCWlmICghc3RybmNtcChhcmd2WzJdLCAiL2Rldi8iLCA1KSkKKwkJCWN0bC5kc3RfdHR5X3BhdGggPSB4c3RyZHVwKGFyZ3ZbMl0pOworCQllbHNlCisJCQl4YXNwcmludGYoJmN0bC5kc3RfdHR5X3BhdGgsICIvZGV2LyVzIiwgYXJndlsyXSk7CisJCWN0bC5kc3RfdHR5X25hbWUgPSBjdGwuZHN0X3R0eV9wYXRoICsgNTsKKwkJaWYgKGNoZWNrX3V0bXAoJmN0bCkpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwKKwkJCSAgICAgXygiJXMgaXMgbm90IGxvZ2dlZCBpbiBvbiAlcyIpLAorCQkJICAgICBjdGwuZHN0X2xvZ2luLCBjdGwuZHN0X3R0eV9uYW1lKTsKKwkJaWYgKGNoZWNrX3R0eShjdGwuZHN0X3R0eV9wYXRoLCAmdHR5X3dyaXRlYWJsZSwgTlVMTCwgMSkpCisJCQlleGl0KEVYSVRfRkFJTFVSRSk7CisJCWlmIChjdGwuc3JjX3VpZCAmJiAhdHR5X3dyaXRlYWJsZSkKKwkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJICAgICBfKCIlcyBoYXMgbWVzc2FnZXMgZGlzYWJsZWQgb24gJXMiKSwKKwkJCSAgICAgY3RsLmRzdF9sb2dpbiwgY3RsLmRzdF90dHlfbmFtZSk7CisJCWRvX3dyaXRlKCZjdGwpOworCQlicmVhazsKKwlkZWZhdWx0OgorCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfQorCWZyZWUoY3RsLmRzdF90dHlfcGF0aCk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzLy5naXRpZ25vcmUgYi90ZXN0cy8uZ2l0aWdub3JlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5MzdjN2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy8uZ2l0aWdub3JlCkBAIC0wLDAgKzEsMiBAQAorZGlmZgorb3V0cHV0CmRpZmYgLS1naXQgYS90ZXN0cy9NYWtlbW9kdWxlLmFtIGIvdGVzdHMvTWFrZW1vZHVsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTc5OGM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDI0IEBACisKK2luY2x1ZGUgdGVzdHMvaGVscGVycy9NYWtlbW9kdWxlLmFtCisKK0VYVFJBX0RJU1QgKz0gXAorCXRlc3RzL2V4cGVjdGVkIFwKKwl0ZXN0cy9mdW5jdGlvbnMuc2ggXAorCXRlc3RzL2NvbW1hbmRzLnNoIFwKKwl0ZXN0cy9ydW4uc2ggXAorCXRlc3RzL3RzCisKK2NsZWFuLWxvY2FsLXRlc3RzOgorCXJtIC1yZiAkKHRvcF9idWlsZGRpcikvdGVzdHMvb3V0cHV0ICQodG9wX2J1aWxkZGlyKS90ZXN0cy9kaWZmCisKK0NMRUFOX0xPQ0FMUyArPSBjbGVhbi1sb2NhbC10ZXN0cworCitUU19PUFRTID0gLS1ub25yb290CitUU19DT01NQU5EID0gJCh0b3Bfc3JjZGlyKS90ZXN0cy9ydW4uc2ggXAorCS0tc3JjZGlyPSQoYWJzX3RvcF9zcmNkaXIpIC0tYnVpbGRkaXI9JChhYnNfdG9wX2J1aWxkZGlyKSBcCisJLS1wYXJhbGxlbCAkKFRTX09QVFMpCisKK2NoZWNrLWxvY2FsLXRlc3RzOiAkKGNoZWNrX1BST0dSQU1TKQorCSQoQU1fVl9HRU4pICQoVFNfQ09NTUFORCkKKworQ0hFQ0tfTE9DQUxTICs9IGNoZWNrLWxvY2FsLXRlc3RzCmRpZmYgLS1naXQgYS90ZXN0cy9jb21tYW5kcy5zaCBiL3Rlc3RzL2NvbW1hbmRzLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiZTJkMjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9jb21tYW5kcy5zaApAQCAtMCwwICsxLDEwNiBAQAorIyBNaXNjIHNldHRpbmdzCitUU19URVNUVVNFUj0ke1RTX1RFU1RVU0VSOi0ibm9ib2R5In0KKworIyBoZWxwZXJzCitUU19IRUxQRVJfQllURVNXQVA9IiR0b3BfYnVpbGRkaXIvdGVzdF9ieXRlc3dhcCIKK1RTX0hFTFBFUl9DUFVTRVQ9IiR0b3BfYnVpbGRkaXIvdGVzdF9jcHVzZXQiCitUU19IRUxQRVJfRE1FU0c9IiR0b3BfYnVpbGRkaXIvdGVzdF9kbWVzZyIKK1RTX0hFTFBFUl9JU0xPQ0FMPSIkdG9wX2J1aWxkZGlyL3Rlc3RfaXNsb2NhbCIKK1RTX0hFTFBFUl9JU01PVU5URUQ9IiR0b3BfYnVpbGRkaXIvdGVzdF9pc21vdW50ZWQiCitUU19IRUxQRVJfTElCRkRJU0tfR1BUPSIkdG9wX2J1aWxkZGlyL3Rlc3RfZmRpc2tfZ3B0IgorVFNfSEVMUEVSX0xJQkZESVNLX01LUEFSVD0iJHRvcF9idWlsZGRpci9zYW1wbGUtZmRpc2stbWtwYXJ0IgorVFNfSEVMUEVSX0xJQk1PVU5UX0NPTlRFWFQ9IiR0b3BfYnVpbGRkaXIvdGVzdF9tb3VudF9jb250ZXh0IgorVFNfSEVMUEVSX0xJQkZESVNLX01LUEFSVF9GVUxMU1BFQz0iJHRvcF9idWlsZGRpci9zYW1wbGUtZmRpc2stbWtwYXJ0LWZ1bGxzcGVjIgorVFNfSEVMUEVSX0xJQk1PVU5UX0xPQ0s9IiR0b3BfYnVpbGRkaXIvdGVzdF9tb3VudF9sb2NrIgorVFNfSEVMUEVSX0xJQk1PVU5UX09QVFNUUj0iJHRvcF9idWlsZGRpci90ZXN0X21vdW50X29wdHN0ciIKK1RTX0hFTFBFUl9MSUJNT1VOVF9UQUJESUZGPSIkdG9wX2J1aWxkZGlyL3Rlc3RfbW91bnRfdGFiX2RpZmYiCitUU19IRUxQRVJfTElCTU9VTlRfVEFCPSIkdG9wX2J1aWxkZGlyL3Rlc3RfbW91bnRfdGFiIgorVFNfSEVMUEVSX0xJQk1PVU5UX1VQREFURT0iJHRvcF9idWlsZGRpci90ZXN0X21vdW50X3RhYl91cGRhdGUiCitUU19IRUxQRVJfTElCTU9VTlRfVVRJTFM9IiR0b3BfYnVpbGRkaXIvdGVzdF9tb3VudF91dGlscyIKK1RTX0hFTFBFUl9MSUJNT1VOVF9ERUJVRz0iJHRvcF9idWlsZGRpci90ZXN0X21vdW50X2RlYnVnIgorVFNfSEVMUEVSX0xJQlNNQVJUQ09MU19GUk9NRklMRT0iJHRvcF9idWlsZGRpci9zYW1wbGUtc2NvbHMtZnJvbWZpbGUiCitUU19IRUxQRVJfTElCU01BUlRDT0xTX1RJVExFPSIkdG9wX2J1aWxkZGlyL3NhbXBsZS1zY29scy10aXRsZSIKK1RTX0hFTFBFUl9QWUxJQk1PVU5UX0NPTlRFWFQ9IiR0b3Bfc3JjZGlyL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X2NvbnRleHQucHkiCitUU19IRUxQRVJfUFlMSUJNT1VOVF9UQUI9IiR0b3Bfc3JjZGlyL2xpYm1vdW50L3B5dGhvbi90ZXN0X21vdW50X3RhYi5weSIKK1RTX0hFTFBFUl9QWUxJQk1PVU5UX1VQREFURT0iJHRvcF9zcmNkaXIvbGlibW91bnQvcHl0aG9uL3Rlc3RfbW91bnRfdGFiX3VwZGF0ZS5weSIKK1RTX0hFTFBFUl9MT0dHRVI9IiR0b3BfYnVpbGRkaXIvdGVzdF9sb2dnZXIiCitUU19IRUxQRVJfTE9HSU5ERUZTPSIkdG9wX2J1aWxkZGlyL3Rlc3RfbG9naW5kZWZzIgorVFNfSEVMUEVSX01ENT0iJHRvcF9idWlsZGRpci90ZXN0X21kNSIKK1RTX0hFTFBFUl9TSEExPSIkdG9wX2J1aWxkZGlyL3Rlc3Rfc2hhMSIKK1RTX0hFTFBFUl9NS0ZTX01JTklYPSIkdG9wX2J1aWxkZGlyL3Rlc3RfbWtmc19taW5peCIKK1RTX0hFTFBFUl9NT1JFPSR7VFNfSEVMUEVSX01PUkUtIiR0b3BfYnVpbGRkaXIvdGVzdF9tb3JlIn0KK1RTX0hFTFBFUl9QQVJUSVRJT05TPSIkdG9wX2J1aWxkZGlyL3NhbXBsZS1wYXJ0aXRpb25zIgorVFNfSEVMUEVSX1BBVEhTPSIkdG9wX2J1aWxkZGlyL3Rlc3RfcGF0aG5hbWVzIgorVFNfSEVMUEVSX1NDUklQVD0iJHRvcF9idWlsZGRpci90ZXN0X3NjcmlwdCIKK1RTX0hFTFBFUl9TSUdSRUNFSVZFPSIkdG9wX2J1aWxkZGlyL3Rlc3Rfc2lncmVjZWl2ZSIKK1RTX0hFTFBFUl9TVFJVVElMUz0iJHRvcF9idWlsZGRpci90ZXN0X3N0cnV0aWxzIgorVFNfSEVMUEVSX1NZU0lORk89IiR0b3BfYnVpbGRkaXIvdGVzdF9zeXNpbmZvIgorVFNfSEVMUEVSX1RJT0NTVEk9IiR0b3BfYnVpbGRkaXIvdGVzdF90aW9jc3RpIgorVFNfSEVMUEVSX1VVSURfUEFSU0VSPSIkdG9wX2J1aWxkZGlyL3Rlc3RfdXVpZF9wYXJzZXIiCitUU19IRUxQRVJfVVVJRF9OQU1FU1BBQ0U9IiR0b3BfYnVpbGRkaXIvdGVzdF91dWlkX25hbWVzcGFjZSIKK1RTX0hFTFBFUl9NQlNFTkNPREU9IiR0b3BfYnVpbGRkaXIvdGVzdF9tYnNlbmNvZGUiCitUU19IRUxQRVJfQ0FMPSIkdG9wX2J1aWxkZGlyL3Rlc3RfY2FsIgorCisjIHBhdGhzIHRvIGNvbW1hbmRzCitUU19DTURfQUREUEFSVD0ke1RTX0NNRF9BRERQQVJUOi0iJHRvcF9idWlsZGRpci9hZGRwYXJ0In0KK1RTX0NNRF9ERUxQQVJUPSR7VFNfQ01EX0RFTFBBUlQ6LSIkdG9wX2J1aWxkZGlyL2RlbHBhcnQifQorVFNfQ01EX0JMS0RJU0NBUkQ9JHtUU19DTURfQkxLSUQtIiR0b3BfYnVpbGRkaXIvYmxrZGlzY2FyZCJ9CitUU19DTURfQkxLSUQ9JHtUU19DTURfQkxLSUQtIiR0b3BfYnVpbGRkaXIvYmxraWQifQorVFNfQ01EX0NBTD0ke1RTX0NNRF9DQUwtIiR0b3BfYnVpbGRkaXIvY2FsIn0KK1RTX0NNRF9DT0xDUlQ9JHtUU19DTURfQ09MQ1JUOi0iJHRvcF9idWlsZGRpci9jb2xjcnQifQorVFNfQ01EX0NPTFJNPSR7VFNfQ01EX0NPTFJNOi0iJHRvcF9idWlsZGRpci9jb2xybSJ9CitUU19DTURfQ09MPSR7VFNfQ01EX0NPTDotIiR0b3BfYnVpbGRkaXIvY29sIn0KK1RTX0NNRF9DT0xVTU49JHtUU19DTURfQ09MVU1OOi0iJHRvcF9idWlsZGRpci9jb2x1bW4ifQorVFNfQ01EX0VKRUNUPSR7VFNfQ01EX0VKRUNULSIkdG9wX2J1aWxkZGlyL2VqZWN0In0KK1RTX0NNRF9GQUxMT0NBVEU9JHtUU19DTURfRkFMTE9DQVRFLSIkdG9wX2J1aWxkZGlyL2ZhbGxvY2F0ZSJ9CitUU19DTURfRkRJU0s9JHtUU19DTURfRkRJU0stIiR0b3BfYnVpbGRkaXIvZmRpc2sifQorVFNfQ01EX0ZMT0NLPSR7VFNfQ01EX0ZMT0NLLSIkdG9wX2J1aWxkZGlyL2Zsb2NrIn0KK1RTX0NNRF9TRkRJU0s9JHtUU19DTURfU0ZESVNLLSIkdG9wX2J1aWxkZGlyL3NmZGlzayJ9CitUU19DTURfRklOQ09SRT0ke1RTX0NNRF9GSU5DT1JFLSIkdG9wX2J1aWxkZGlyL2ZpbmNvcmUifQorVFNfQ01EX0ZJTkRNTlQ9JHtUU19DTURfRklORE1OVC0iJHRvcF9idWlsZGRpci9maW5kbW50In0KK1RTX0NNRF9GU0NLQ1JBTUZTPSR7VFNfQ01EX0ZTQ0tDUkFNRlM6LSIkdG9wX2J1aWxkZGlyL2ZzY2suY3JhbWZzIn0KK1RTX0NNRF9GU0NLTUlOSVg9JHtUU19DTURfRlNDS01JTklYOi0iJHRvcF9idWlsZGRpci9mc2NrLm1pbml4In0KK1RTX0NNRF9HRVRPUFQ9JHtUU19DTURfR0VUT1BULSIkdG9wX2J1aWxkZGlyL2dldG9wdCJ9CitUU19DTURfSEVYRFVNUD0ke1RTX0NNRF9IRVhEVU1QLSIkdG9wX2J1aWxkZGlyL2hleGR1bXAifQorVFNfQ01EX0hXQ0xPQ0s9JHtUU19DTURfSFdDTE9DSy0iJHRvcF9idWlsZGRpci9od2Nsb2NrIn0KK1RTX0NNRF9JT05JQ0U9JHtUU19DTURfSU9OSUNFLSIkdG9wX2J1aWxkZGlyL2lvbmljZSJ9CitUU19DTURfSVBDTUs9JHtUU19DTURfSVBDTUstIiR0b3BfYnVpbGRkaXIvaXBjbWsifQorVFNfQ01EX0lQQ1JNPSR7VFNfQ01EX0lQQ1JNLSIkdG9wX2J1aWxkZGlyL2lwY3JtIn0KK1RTX0NNRF9JUENTPSR7VFNfQ01EX0lQQ1M6LSIkdG9wX2J1aWxkZGlyL2lwY3MifQorVFNfQ01EX0lTT1NJWkU9JHtUU19DTURfSVNPU0laRS0iJHRvcF9idWlsZGRpci9pc29zaXplIn0KK1RTX0NNRF9LSUxMPSR7VFNfQ01EX0tJTEwtIiR0b3BfYnVpbGRkaXIva2lsbCJ9CitUU19DTURfTEFTVD0ke1RTX0NNRF9MQVNULSIkdG9wX2J1aWxkZGlyL2xhc3QifQorVFNfQ01EX0xJTkU9JHtUU19DTURfTElORS0iJHRvcF9idWlsZGRpci9saW5lIn0KK1RTX0NNRF9MT09LPSR7VFNfQ01EX0xPT0stIiR0b3BfYnVpbGRkaXIvbG9vayJ9CitUU19DTURfTE9TRVRVUD0ke1RTX0NNRF9MT1NFVFVQOi0iJHRvcF9idWlsZGRpci9sb3NldHVwIn0KK1RTX0NNRF9MU0JMSz0ke1RTX0NNRF9MU0JMSy0iJHRvcF9idWlsZGRpci9sc2JsayJ9CitUU19DTURfTFNDUFU9JHtUU19DTURfTFNDUFUtIiR0b3BfYnVpbGRkaXIvbHNjcHUifQorVFNfQ01EX0xTTUVNPSR7VFNfQ01EX0xTTUVNLSIkdG9wX2J1aWxkZGlyL2xzbWVtIn0KK1RTX0NNRF9MU05TPSR7VFNfQ01EX0xTTlMtIiR0b3BfYnVpbGRkaXIvbHNucyJ9CitUU19DTURfTUNPT0tJRT0ke1RTX0NNRF9NQ09PS0lFLSIkdG9wX2J1aWxkZGlyL21jb29raWUifQorVFNfQ01EX01LQ1JBTUZTPSR7VFNfQ01EX01LQ1JBTUZTOi0iJHRvcF9idWlsZGRpci9ta2ZzLmNyYW1mcyJ9CitUU19DTURfTUtNSU5JWD0ke1RTX0NNRF9NS01JTklYOi0iJHRvcF9idWlsZGRpci9ta2ZzLm1pbml4In0KK1RTX0NNRF9NS1NXQVA9JHtUU19DTURfTUtTV0FQOi0iJHRvcF9idWlsZGRpci9ta3N3YXAifQorVFNfQ01EX01PVU5UPSR7VFNfQ01EX01PVU5UOi0iJHRvcF9idWlsZGRpci9tb3VudCJ9CitUU19DTURfTU9VTlRQT0lOVD0ke1RTX0NNRF9NT1VOVFBPSU5UOi0iJHRvcF9idWlsZGRpci9tb3VudHBvaW50In0KK1RTX0NNRF9OQU1FST0ke1RTX0NNRF9OQU1FSS0iJHRvcF9idWlsZGRpci9uYW1laSJ9CitUU19DTURfUEFSVFg9JHtUU19DTURfUEFSVFgtIiR0b3BfYnVpbGRkaXIvcGFydHgifQorVFNfQ01EX1JFTkFNRT0ke1RTX0NNRF9SRU5BTUUtIiR0b3BfYnVpbGRkaXIvcmVuYW1lIn0KK1RTX0NNRF9SVU5VU0VSPSR7VFNfQ01EX1JVTlVTRVItIiR0b3BfYnVpbGRkaXIvcnVudXNlciJ9CitUU19DTURfUkVWPSR7VFNfQ01EX1JFVjotIiR0b3BfYnVpbGRkaXIvcmV2In0KK1RTX0NNRF9TQ1JJUFQ9JHtUU19DTURfU0NSSVBULSIkdG9wX2J1aWxkZGlyL3NjcmlwdCJ9CitUU19DTURfU0NSSVBUUkVQTEFZPSR7VFNfQ01EX1NDUklQVFJFUExBWS0iJHRvcF9idWlsZGRpci9zY3JpcHRyZXBsYXkifQorVFNfQ01EX1NFVEFSQ0g9JHtUU19DTURfU0VUQVJDSC0iJHRvcF9idWlsZGRpci9zZXRhcmNoIn0KK1RTX0NNRF9TRVRTSUQ9JHtUU19DTURfU0VUU0lELSIkdG9wX2J1aWxkZGlyL3NldHNpZCJ9CitUU19DTURfU1dBUExBQkVMPSR7VFNfQ01EX1NXQVBMQUJFTDotIiR0b3BfYnVpbGRkaXIvc3dhcGxhYmVsIn0KK1RTX0NNRF9TV0FQT0ZGPSR7VFNfQ01EX1NXQVBPRkY6LSIkdG9wX2J1aWxkZGlyL3N3YXBvZmYifQorVFNfQ01EX1NXQVBPTj0ke1RTX0NNRF9TV0FQT046LSIkdG9wX2J1aWxkZGlyL3N3YXBvbiJ9CitUU19DTURfVUw9JHtUU19DTURfVUwtIiR0b3BfYnVpbGRkaXIvdWwifQorVFNfQ01EX1VNT1VOVD0ke1RTX0NNRF9VTU9VTlQ6LSIkdG9wX2J1aWxkZGlyL3Vtb3VudCJ9CitUU19DTURfVVRNUERVTVA9JHtUU19DTURfVVRNUERVTVAtIiR0b3BfYnVpbGRkaXIvdXRtcGR1bXAifQorVFNfQ01EX1VVSUREPSR7VFNfQ01EX1VVSURELSIkdG9wX2J1aWxkZGlyL3V1aWRkIn0KK1RTX0NNRF9VVUlER0VOPSR7VFNfQ01EX1VVSURHRU4tIiR0b3BfYnVpbGRkaXIvdXVpZGdlbiJ9CitUU19DTURfVVVJRFBBUlNFPSR7VFNfQ01EX1VVSURQQVJTRS0iJHRvcF9idWlsZGRpci91dWlkcGFyc2UifQorVFNfQ01EX1dIRVJFSVM9JHtUU19DTURfV0hFUkVJUy0iJHRvcF9idWlsZGRpci93aGVyZWlzIn0KK1RTX0NNRF9XSVBFRlM9JHtUU19DTURfV0lQRUZTLSIkdG9wX2J1aWxkZGlyL3dpcGVmcyJ9CitUU19DTURfQ0hSVD0ke1RTX0NNRF9DSFJULSIkdG9wX2J1aWxkZGlyL2NocnQifQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYml0b3BzL3N3YXBieXRlcyBiL3Rlc3RzL2V4cGVjdGVkL2JpdG9wcy9zd2FwYnl0ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjk0NjhhNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2JpdG9wcy9zd2FwYnl0ZXMKQEAgLTAsMCArMSwyMSBAQAorVGVzdGluZyBzd2FiMTYKK3N3YWIxNigweDAwMDEpID0gMHgwMTAwCitzd2FiMTYoMHgxMjM0KSA9IDB4MzQxMgorc3dhYjE2KDB4ZmYwMCkgPSAweDAwZmYKK3N3YWIxNigweDQwMDApID0gMHgwMDQwCitzd2FiMTYoMHhmZWZmKSA9IDB4ZmZmZQorVGVzdGluZyBzd2FiMzIKK3N3YWIzMigweDAwMDAwMDAxKSA9IDB4MDEwMDAwMDAKK3N3YWIzMigweDgwMDAwMDAwKSA9IDB4MDAwMDAwODAKK3N3YWIzMigweDEyMzQ1Njc4KSA9IDB4Nzg1NjM0MTIKK3N3YWIzMigweGZmZmYwMDAwKSA9IDB4MDAwMGZmZmYKK3N3YWIzMigweDAwZmYwMDAwKSA9IDB4MDAwMGZmMDAKK3N3YWIzMigweGZmMDAwMDAwKSA9IDB4MDAwMDAwZmYKK1Rlc3Rpbmcgc3dhYjY0Citzd2FiNjQoMHgwMDAwMDAwMDAwMDAwMDAxKSA9IDB4MDEwMDAwMDAwMDAwMDAwMAorc3dhYjY0KDB4ODAwMDAwMDAwMDAwMDAwMCkgPSAweDAwMDAwMDAwMDAwMDAwODAKK3N3YWI2NCgweDEyMzQ1Njc4MTIzNDU2NzgpID0gMHg3ODU2MzQxMjc4NTYzNDEyCitzd2FiNjQoMHhmZmZmZmZmZjAwMDAwMDAwKSA9IDB4MDAwMDAwMDBmZmZmZmZmZgorc3dhYjY0KDB4MDBmZjAwMDAwMDAwMDAwMCkgPSAweDAwMDAwMDAwMDAwMGZmMDAKK3N3YWI2NCgweGZmMDAwMDAwMDAwMDAwMDApID0gMHgwMDAwMDAwMDAwMDAwMGZmCitObyBlcnJvcnMgZm91bmQgaW4gdGhlIGJ5dGVzd2FwIGltcGxlbWVudGF0aW9uCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtkaXNjYXJkL29mZnNldHMgYi90ZXN0cy9leHBlY3RlZC9ibGtkaXNjYXJkL29mZnNldHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWE5MGYyZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2Rpc2NhcmQvb2Zmc2V0cwpAQCAtMCwwICsxLDcwIEBACitjcmVhdGUgbG9vcCBkZXZpY2UgZnJvbSBpbWFnZQordGVzdGluZyBvZmZzZXRzIHdpdGggZnVsbCBibG9jayBzaXplCitEaXNjYXJkZWQgMTA0ODU3NjAgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0IDAKK3JldDogMAorYmxrZGlzY2FyZDogb2Zmc2V0IDEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IG9mZnNldCA1MTEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK0Rpc2NhcmRlZCAxMDQ4NTI0OCBieXRlcyBmcm9tIHRoZSBvZmZzZXQgNTEyCityZXQ6IDAKK0Rpc2NhcmRlZCAxMDQ4NDczNiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgMTAyNAorcmV0OiAwCit0ZXN0aW5nIG9mZnNldHMgd2l0aCBzcGVjaWZpYyBsZW5ndGgKK0Rpc2NhcmRlZCA1MjQyODgwIGJ5dGVzIGZyb20gdGhlIG9mZnNldCAwCityZXQ6IDAKK2Jsa2Rpc2NhcmQ6IGxlbmd0aCA1MjQyODgxIGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplIDUxMgorcmV0OiAxCitibGtkaXNjYXJkOiBsZW5ndGggNTI0MzM5MSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogb2Zmc2V0IDEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IG9mZnNldCA1MTEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK0Rpc2NhcmRlZCA1MjQyODgwIGJ5dGVzIGZyb20gdGhlIG9mZnNldCA1MTIKK3JldDogMAorRGlzY2FyZGVkIDUyNDI4ODAgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0IDEwMjQKK3JldDogMAordGVzdGluZyBhbGlnbmVkIHN0ZXBzIGZ1bGwgZGV2aWNlCitEaXNjYXJkZWQgMTA0ODU3NjAgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0IDAKK3JldDogMAorRGlzY2FyZGVkIDEwNDg1NzYwIGJ5dGVzIGZyb20gdGhlIG9mZnNldCAwCityZXQ6IDAKK3Rlc3RpbmcgYWxpZ25lZCBzdGVwcyB3aXRoIG9mZnNldHMgYW5kIGxlbmd0aAorRGlzY2FyZGVkIDEwMjQgYnl0ZXMgZnJvbSB0aGUgb2Zmc2V0IDAKK3JldDogMAorYmxrZGlzY2FyZDogb2Zmc2V0IDEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IG9mZnNldCAxIGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplIDUxMgorcmV0OiAxCitibGtkaXNjYXJkOiBvZmZzZXQgNTExIGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplIDUxMgorcmV0OiAxCitEaXNjYXJkZWQgMTUzNiBieXRlcyBmcm9tIHRoZSBvZmZzZXQgNTEyCityZXQ6IDAKK0Rpc2NhcmRlZCAxMDI0IGJ5dGVzIGZyb20gdGhlIG9mZnNldCAxMDI0CityZXQ6IDAKK3Rlc3RpbmcgbWlzYWxpZ25lZCBzdGVwcyBmdWxsIGRldmljZQorYmxrZGlzY2FyZDogbGVuZ3RoIDEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IGxlbmd0aCAyNTYgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IGxlbmd0aCA1MTEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IGxlbmd0aCA1MTMgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IGxlbmd0aCA3NjggaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK3Rlc3RpbmcgbWlzYWxpZ25lZCBzdGVwcyB3aXRoIG9mZnNldHMgYW5kIGxlbmd0aAorYmxrZGlzY2FyZDogbGVuZ3RoIDUxMSBpcyBub3QgYWxpZ25lZCB0byBzZWN0b3Igc2l6ZSA1MTIKK3JldDogMQorYmxrZGlzY2FyZDogb2Zmc2V0IDEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IG9mZnNldCA1MTEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IGxlbmd0aCA1MTEgaXMgbm90IGFsaWduZWQgdG8gc2VjdG9yIHNpemUgNTEyCityZXQ6IDEKK2Jsa2Rpc2NhcmQ6IG9mZnNldCAxIGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplIDUxMgorcmV0OiAxCitibGtkaXNjYXJkOiBvZmZzZXQgNTExIGlzIG5vdCBhbGlnbmVkIHRvIHNlY3RvciBzaXplIDUxMgorcmV0OiAxCitkZXRhY2ggbG9vcCBkZXZpY2UgZnJvbSBpbWFnZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvZG0tZXJyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvZG0tZXJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2YzgyNDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9kbS1lcnIKQEAgLTAsMCArMSw0IEBACitJbml0aWFsaXplIGRldmljZQorUHJvYmUgZGV2aWNlCitSZXR1cm4gY29kZTogMgorRGVpbml0aWFsaXplIGRldmljZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWFkYXB0ZWMtcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1hZGFwdGVjLXJhaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTlhNTg4OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1hZGFwdGVjLXJhaWQKQEAgLTAsMCArMSwzIEBACitJRF9GU19UWVBFPWFkYXB0ZWNfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1ZFUlNJT049OApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJjYWNoZS1CIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJjYWNoZS1CCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczOTY2MzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtYmNhY2hlLUIKQEAgLTAsMCArMSw0IEBACitJRF9GU19UWVBFPWJjYWNoZQorSURfRlNfVVNBR0U9b3RoZXIKK0lEX0ZTX1VVSUQ9OGZiN2Y3MTYtNGMxOS00NTE3LWJmYmItNmY0YTJiZWNhZDYwCitJRF9GU19VVUlEX0VOQz04ZmI3ZjcxNi00YzE5LTQ1MTctYmZiYi02ZjRhMmJlY2FkNjAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1iY2FjaGUtQyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1iY2FjaGUtQwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iM2M1Zjg4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJjYWNoZS1DCkBAIC0wLDAgKzEsNCBAQAorSURfRlNfVFlQRT1iY2FjaGUKK0lEX0ZTX1VTQUdFPW90aGVyCitJRF9GU19VVUlEPTdhMzQzNjI3LWFjODctNGJmMC1iNzZmLTQ2MDY3Y2JjOWI4YworSURfRlNfVVVJRF9FTkM9N2EzNDM2MjctYWM4Ny00YmYwLWI3NmYtNDYwNjdjYmM5YjhjCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtYmVmcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1iZWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3ZjI1Y2QKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtYmVmcwpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPWJlZnNfdGVzdAorSURfRlNfTEFCRUxfRU5DPWJlZnNfdGVzdAorSURfRlNfVFlQRT1iZWZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTk1ZDg5ZGVjODJmNmI3M2IKK0lEX0ZTX1VVSURfRU5DPTk1ZDg5ZGVjODJmNmI3M2IKK0lEX0ZTX1ZFUlNJT049bGl0dGxlLWVuZGlhbgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWJmcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1iZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI4NzMwNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1iZnMKQEAgLTAsMCArMSwyIEBACitJRF9GU19UWVBFPWJmcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWNyYW1mcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1jcmFtZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg5OGEzNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1jcmFtZnMKQEAgLTAsMCArMSw0IEBACitJRF9GU19MQUJFTD10ZXN0LWNyYW0KK0lEX0ZTX0xBQkVMX0VOQz10ZXN0LWNyYW0KK0lEX0ZTX1RZUEU9Y3JhbWZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZGRmLXJhaWQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZGRmLXJhaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzk1NmRjZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1kZGYtcmFpZApAQCAtMCwwICsxLDUgQEAKK0lEX0ZTX1RZUEU9ZGRmX3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19VVUlEPUxpbnV4LU1E3q1fXworSURfRlNfVVVJRF9FTkM9TGludXgtTUTerVx4YmVceGVmCitJRF9GU19WRVJTSU9OPTAxLjAyLjAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZHJiZG1hbmFnZS1jb250cm9sLXZvbHVtZSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1kcmJkbWFuYWdlLWNvbnRyb2wtdm9sdW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzMGUyY2QKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZHJiZG1hbmFnZS1jb250cm9sLXZvbHVtZQpAQCAtMCwwICsxLDUgQEAKK0lEX0ZTX1RZUEU9ZHJiZG1hbmFnZV9jb250cm9sX3ZvbHVtZQorSURfRlNfVVNBR0U9b3RoZXIKK0lEX0ZTX1VVSUQ9ODc2NWY0MDJkY2IyNDY1MjlhY2VlMjY5YjBiYThmMmUKK0lEX0ZTX1VVSURfRU5DPTg3NjVmNDAyZGNiMjQ2NTI5YWNlZTI2OWIwYmE4ZjJlCitJRF9GU19WRVJTSU9OPTEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1leGZhdCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1leGZhdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iOWRlZmJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWV4ZmF0CkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw90J3QvtCy0YvQuV/RgtC+0LwKK0lEX0ZTX0xBQkVMX0VOQz3QndC+0LLRi9C5XHgyMNGC0L7QvAorSURfRlNfVFlQRT1leGZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD05QzIzLTg4NzcKK0lEX0ZTX1VVSURfRU5DPTlDMjMtODg3NworSURfRlNfVkVSU0lPTj0xLjAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1leHQyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWV4dDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzcwYjg1NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1leHQyCkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9dGVzdC1leHQyCitJRF9GU19MQUJFTF9FTkM9dGVzdC1leHQyCitJRF9GU19UWVBFPWV4dDIKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9MjJmMGVhYzMtNWM4OS00ZWMxLTkwNzYtNjA3OTkxMTlhYWVhCitJRF9GU19VVUlEX0VOQz0yMmYwZWFjMy01Yzg5LTRlYzEtOTA3Ni02MDc5OTExOWFhZWEKK0lEX0ZTX1ZFUlNJT049MS4wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZXh0MyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1leHQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiYWM0M2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZXh0MwpAQCAtMCwwICsxLDggQEAKK0lEX0ZTX0xBQkVMPXRlc3QtZXh0MworSURfRlNfTEFCRUxfRU5DPXRlc3QtZXh0MworSURfRlNfU0VDX1RZUEU9ZXh0MgorSURfRlNfVFlQRT1leHQzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTM1ZjY2ZGFiLTQ3N2UtNDA5MC1hODcyLTk1ZWUwZTQ5M2FkNgorSURfRlNfVVVJRF9FTkM9MzVmNjZkYWItNDc3ZS00MDkwLWE4NzItOTVlZTBlNDkzYWQ2CitJRF9GU19WRVJTSU9OPTEuMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWYyZnMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZjJmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTMyODY0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWYyZnMKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD10ZXN0LWYyZnMKK0lEX0ZTX0xBQkVMX0VOQz10ZXN0LWYyZnMKK0lEX0ZTX1RZUEU9ZjJmcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD1mNmFlZTViOS04Y2MyLTRkYTctOWY4ZC1jOTVhYWM5MGUxN2QKK0lEX0ZTX1VVSURfRU5DPWY2YWVlNWI5LThjYzItNGRhNy05ZjhkLWM5NWFhYzkwZTE3ZAorSURfRlNfVkVSU0lPTj0xLjEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljYzJkYTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0CkBAIC0wLDAgKzEsMTAgQEAKK0lEX0ZTX0xBQkVMPVRFU1QtRkFUCitJRF9GU19MQUJFTF9FTkM9VEVTVC1GQVQKK0lEX0ZTX0xBQkVMX0ZBVEJPT1Q9VEVTVC1GQVQKK0lEX0ZTX0xBQkVMX0ZBVEJPT1RfRU5DPVRFU1QtRkFUCitJRF9GU19TRUNfVFlQRT1tc2RvcworSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPURFQUQtQkVFRgorSURfRlNfVVVJRF9FTkM9REVBRC1CRUVGCitJRF9GU19WRVJTSU9OPUZBVDEyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MTZfbm9oZWFkcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQxNl9ub2hlYWRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhNDcwNzgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MTZfbm9oZWFkcwpAQCAtMCwwICsxLDggQEAKK0lEX0ZTX0xBQkVMPVZUZWNoXzEwNzAKK0lEX0ZTX0xBQkVMX0VOQz1WVGVjaFx4MjAxMDcwCitJRF9GU19TRUNfVFlQRT1tc2RvcworSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTIwMDQtMTAxNAorSURfRlNfVVVJRF9FTkM9MjAwNC0xMDE0CitJRF9GU19WRVJTSU9OPUZBVDE2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfY3A4NTBfT190aWxkZSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9jcDg1MF9PX3RpbGRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhOTk4ZjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfY3A4NTBfT190aWxkZQpAQCAtMCwwICsxLDkgQEAKK0lEX0ZTX0xBQkVMPV9fXworSURfRlNfTEFCRUxfRU5DPVx4ZTVceGU1XHhlNQorSURfRlNfTEFCRUxfRkFUQk9PVD1fX18KK0lEX0ZTX0xBQkVMX0ZBVEJPT1RfRU5DPVx4ZTVceGU1XHhlNQorSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTI4MjYtRjlCMworSURfRlNfVVVJRF9FTkM9MjgyNi1GOUIzCitJRF9GU19WRVJTSU9OPUZBVDMyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbGFiZWxfNjRNQiBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9sYWJlbF82NE1CCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjExNzk0OTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbGFiZWxfNjRNQgpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPUJJTkdPCitJRF9GU19MQUJFTF9FTkM9QklOR08KK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD04Q0I1LUJBNDkKK0lEX0ZTX1VVSURfRU5DPThDQjUtQkE0OQorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1MzI5ODMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDEKQEAgLTAsMCArMSw5IEBACitJRF9GU19MQUJFTD1sYWJlbDEKK0lEX0ZTX0xBQkVMX0VOQz1sYWJlbDEKK0lEX0ZTX0xBQkVMX0ZBVEJPT1Q9bGFiZWwxCitJRF9GU19MQUJFTF9GQVRCT09UX0VOQz1sYWJlbDEKK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD05MkI0LUJBNjYKK0lEX0ZTX1VVSURfRU5DPTkyQjQtQkE2NgorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX2Rvc2ZzbGFiZWxfTk9fTkFNRSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9kb3Nmc2xhYmVsX05PX05BTUUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg2MGNkMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9kb3Nmc2xhYmVsX05PX05BTUUKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD1OT19OQU1FCitJRF9GU19MQUJFTF9FTkM9Tk9ceDIwTkFNRQorSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTkyQjQtQkE2NgorSURfRlNfVVVJRF9FTkM9OTJCNC1CQTY2CitJRF9GU19WRVJTSU9OPUZBVDMyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDFfZG9zZnNsYWJlbF9lbXB0eSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9kb3Nmc2xhYmVsX2VtcHR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlkZWZkY2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDFfZG9zZnNsYWJlbF9lbXB0eQpAQCAtMCwwICsxLDUgQEAKK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD05MkI0LUJBNjYKK0lEX0ZTX1VVSURfRU5DPTkyQjQtQkE2NgorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX2Rvc2ZzbGFiZWxfbGFiZWwyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX2Rvc2ZzbGFiZWxfbGFiZWwyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzN2EwMWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDFfZG9zZnNsYWJlbF9sYWJlbDIKQEAgLTAsMCArMSw5IEBACitJRF9GU19MQUJFTD1sYWJlbDIKK0lEX0ZTX0xBQkVMX0VOQz1sYWJlbDIKK0lEX0ZTX0xBQkVMX0ZBVEJPT1Q9bGFiZWwyCitJRF9GU19MQUJFTF9GQVRCT09UX0VOQz1sYWJlbDIKK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD05MkI0LUJBNjYKK0lEX0ZTX1VVSURfRU5DPTkyQjQtQkE2NgorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX21sYWJlbF9OT19OQU1FIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX21sYWJlbF9OT19OQU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NjBjZDEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDFfbWxhYmVsX05PX05BTUUKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD1OT19OQU1FCitJRF9GU19MQUJFTF9FTkM9Tk9ceDIwTkFNRQorSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTkyQjQtQkE2NgorSURfRlNfVVVJRF9FTkM9OTJCNC1CQTY2CitJRF9GU19WRVJTSU9OPUZBVDMyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDFfbWxhYmVsX2VyYXNlIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX21sYWJlbF9lcmFzZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZGVmZGNmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX21sYWJlbF9lcmFzZQpAQCAtMCwwICsxLDUgQEAKK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD05MkI0LUJBNjYKK0lEX0ZTX1VVSURfRU5DPTkyQjQtQkE2NgorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX3hwX2VyYXNlIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbGFiZWwxX3hwX2VyYXNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA5Mjk5ZGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDFfeHBfZXJhc2UKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTF9GQVRCT09UPWxhYmVsMQorSURfRlNfTEFCRUxfRkFUQk9PVF9FTkM9bGFiZWwxCitJRF9GU19UWVBFPXZmYXQKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9OTJCNC1CQTY2CitJRF9GU19VVUlEX0VOQz05MkI0LUJBNjYKK0lEX0ZTX1ZFUlNJT049RkFUMzIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX2xhYmVsMV94cF9sYWJlbDIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDFfeHBfbGFiZWwyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwYmI3MjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19sYWJlbDFfeHBfbGFiZWwyCkBAIC0wLDAgKzEsOSBAQAorSURfRlNfTEFCRUw9TEFCRUwyCitJRF9GU19MQUJFTF9FTkM9TEFCRUwyCitJRF9GU19MQUJFTF9GQVRCT09UPWxhYmVsMQorSURfRlNfTEFCRUxfRkFUQk9PVF9FTkM9bGFiZWwxCitJRF9GU19UWVBFPXZmYXQKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9OTJCNC1CQTY2CitJRF9GU19VVUlEX0VOQz05MkI0LUJBNjYKK0lEX0ZTX1ZFUlNJT049RkFUMzIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmUgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19ub25lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyOTJmMDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19ub25lCkBAIC0wLDAgKzEsNSBAQAorSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPUU2QjgtQUY4QworSURfRlNfVVVJRF9FTkM9RTZCOC1BRjhDCitJRF9GU19WRVJTSU9OPUZBVDMyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19ub25lX2Rvc2ZzbGFiZWxfTk9fTkFNRSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9OT19OQU1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyOTJmMDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfbWtkb3Nmc19ub25lX2Rvc2ZzbGFiZWxfTk9fTkFNRQpAQCAtMCwwICsxLDUgQEAKK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD1FNkI4LUFGOEMKK0lEX0ZTX1VVSURfRU5DPUU2QjgtQUY4QworSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbm9uZV9kb3Nmc2xhYmVsX2xhYmVsMSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9sYWJlbDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVjMjE3ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9sYWJlbDEKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTF9GQVRCT09UPWxhYmVsMQorSURfRlNfTEFCRUxfRkFUQk9PVF9FTkM9bGFiZWwxCitJRF9GU19UWVBFPXZmYXQKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9RTZCOC1BRjhDCitJRF9GU19VVUlEX0VOQz1FNkI4LUFGOEMKK0lEX0ZTX1ZFUlNJT049RkFUMzIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9sYWJlbDFfeHBfbGFiZWwyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbm9uZV9kb3Nmc2xhYmVsX2xhYmVsMV94cF9sYWJlbDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ2NzY5YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9sYWJlbDFfeHBfbGFiZWwyCkBAIC0wLDAgKzEsOSBAQAorSURfRlNfTEFCRUw9TEFCRUwyCitJRF9GU19MQUJFTF9FTkM9TEFCRUwyCitJRF9GU19MQUJFTF9GQVRCT09UPWxhYmVsMQorSURfRlNfTEFCRUxfRkFUQk9PVF9FTkM9bGFiZWwxCitJRF9GU19UWVBFPXZmYXQKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9RTZCOC1BRjhDCitJRF9GU19VVUlEX0VOQz1FNkI4LUFGOEMKK0lEX0ZTX1ZFUlNJT049RkFUMzIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfeHBfbGFiZWwxIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbm9uZV94cF9sYWJlbDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVhNWJmZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfeHBfbGFiZWwxCkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9TEFCRUwxCitJRF9GU19MQUJFTF9FTkM9TEFCRUwxCitJRF9GU19UWVBFPXZmYXQKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9RTZCOC1BRjhDCitJRF9GU19VVUlEX0VOQz1FNkI4LUFGOEMKK0lEX0ZTX1ZFUlNJT049RkFUMzIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfeHBfbGFiZWwxX2Rvc2ZzbGFiZWxfbGFiZWwyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX21rZG9zZnNfbm9uZV94cF9sYWJlbDFfZG9zZnNsYWJlbF9sYWJlbDIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVjY2Q4YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl9ta2Rvc2ZzX25vbmVfeHBfbGFiZWwxX2Rvc2ZzbGFiZWxfbGFiZWwyCkBAIC0wLDAgKzEsOSBAQAorSURfRlNfTEFCRUw9bGFiZWwyCitJRF9GU19MQUJFTF9FTkM9bGFiZWwyCitJRF9GU19MQUJFTF9GQVRCT09UPWxhYmVsMgorSURfRlNfTEFCRUxfRkFUQk9PVF9FTkM9bGFiZWwyCitJRF9GU19UWVBFPXZmYXQKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9RTZCOC1BRjhDCitJRF9GU19VVUlEX0VOQz1FNkI4LUFGOEMKK0lEX0ZTX1ZFUlNJT049RkFUMzIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl94cF9sYWJlbDEgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfeHBfbGFiZWwxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlNTIxZWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfeHBfbGFiZWwxCkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9TEFCRUwxCitJRF9GU19MQUJFTF9FTkM9TEFCRUwxCitJRF9GU19UWVBFPXZmYXQKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9QTQyMC05MzA0CitJRF9GU19VVUlEX0VOQz1BNDIwLTkzMDQKK0lEX0ZTX1ZFUlNJT049RkFUMzIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl94cF9ub25lIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX3hwX25vbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWRiMjVmOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl94cF9ub25lCkBAIC0wLDAgKzEsNSBAQAorSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTU0QjYtREM5NAorSURfRlNfVVVJRF9FTkM9NTRCNi1EQzk0CitJRF9GU19WRVJTSU9OPUZBVDMyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfeHBfbm9uZV9kb3Nmc2xhYmVsX2xhYmVsMSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl94cF9ub25lX2Rvc2ZzbGFiZWxfbGFiZWwxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljNWExYjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZmF0MzJfeHBfbm9uZV9kb3Nmc2xhYmVsX2xhYmVsMQpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMX0ZBVEJPT1Q9bGFiZWwxCitJRF9GU19MQUJFTF9GQVRCT09UX0VOQz1sYWJlbDEKK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD01NEI2LURDOTQKK0lEX0ZTX1VVSURfRU5DPTU0QjYtREM5NAorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWZhdDMyX3hwX25vbmVfbWxhYmVsX2xhYmVsMSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl94cF9ub25lX21sYWJlbF9sYWJlbDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmU5YmExNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1mYXQzMl94cF9ub25lX21sYWJlbF9sYWJlbDEKQEAgLTAsMCArMSw5IEBACitJRF9GU19MQUJFTD1MQUJFTDEKK0lEX0ZTX0xBQkVMX0VOQz1MQUJFTDEKK0lEX0ZTX0xBQkVMX0ZBVEJPT1Q9TEFCRUwxCitJRF9GU19MQUJFTF9GQVRCT09UX0VOQz1MQUJFTDEKK0lEX0ZTX1RZUEU9dmZhdAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD01NEI2LURDOTQKK0lEX0ZTX1VVSURfRU5DPTU0QjYtREM5NAorSURfRlNfVkVSU0lPTj1GQVQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWdmczIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtZ2ZzMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDVhNjY0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWdmczIKQEAgLTAsMCArMSw1IEBACitJRF9GU19MQUJFTD1teWNsdXN0ZXI6bXlnZnMyCitJRF9GU19MQUJFTF9FTkM9bXljbHVzdGVyOm15Z2ZzMgorSURfRlNfVFlQRT1nZnMyCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19WRVJTSU9OPTEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1oZnMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaGZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0Y2JiNWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaGZzCkBAIC0wLDAgKzEsNCBAQAorSURfRlNfTEFCRUw9QkJCCitJRF9GU19MQUJFTF9FTkM9QkJCCitJRF9GU19UWVBFPWhmcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhmc3BsdXMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaGZzcGx1cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTRiNTlmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhmc3BsdXMKQEAgLTAsMCArMSw0IEBACitJRF9GU19MQUJFTD0xMjM0NTY3ODlBQkNERQorSURfRlNfTEFCRUxfRU5DPTEyMzQ1Njc4OUFCQ0RFCitJRF9GU19UWVBFPWhmc3BsdXMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocGZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhwZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdhZTFhZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocGZzCkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9UDAxX1MxNkEKK0lEX0ZTX0xBQkVMX0VOQz1QMDFceDIwUzE2QQorSURfRlNfVFlQRT1ocGZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTNCQzItMzJENQorSURfRlNfVVVJRF9FTkM9M0JDMi0zMkQ1CitJRF9GU19WRVJTSU9OPTIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocHQzN3gtcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocHQzN3gtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MWY2ZGVjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhwdDM3eC1yYWlkCkBAIC0wLDAgKzEsMiBAQAorSURfRlNfVFlQRT1ocHQzN3hfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocHQ0NXgtcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1ocHQ0NXgtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZWI5NTUyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWhwdDQ1eC1yYWlkCkBAIC0wLDAgKzEsMiBAQAorSURfRlNfVFlQRT1ocHQ0NXhfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1pc28gYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaXNvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOTkwOGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaXNvCkBAIC0wLDAgKzEsOCBAQAorSURfRlNfQVBQTElDQVRJT05fSUQ9R0VOSVNPSU1BR0UgSVNPIDk2NjAvSEZTIEZJTEVTWVNURU0gQ1JFQVRPUiAoQykgMTk5MyBFLllPVU5HREFMRSAoQykgMTk5Ny0yMDA2IEouUEVBUlNPTi9KLlNDSElMTElORyAoQykgMjAwNi0yMDA3IENEUktJVCBURUFNCitJRF9GU19MQUJFTD1Jc29Wb2x1bWVOYW1lCitJRF9GU19MQUJFTF9FTkM9SXNvVm9sdW1lTmFtZQorSURfRlNfU1lTVEVNX0lEPUxJTlVYCitJRF9GU19UWVBFPWlzbzk2NjAKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9MjAwOS0wOS0yNC0xMC0zNC00MC0wMAorSURfRlNfVVVJRF9FTkM9MjAwOS0wOS0yNC0xMC0zNC00MC0wMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzby1qb2xpZXQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaXNvLWpvbGlldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjI5YTBkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzby1qb2xpZXQKQEAgLTAsMCArMSw5IEBACitJRF9GU19BUFBMSUNBVElPTl9JRD1HRU5JU09JTUFHRSBJU08gOTY2MC9IRlMgRklMRVNZU1RFTSBDUkVBVE9SIChDKSAxOTkzIEUuWU9VTkdEQUxFIChDKSAxOTk3LTIwMDYgSi5QRUFSU09OL0ouU0NISUxMSU5HIChDKSAyMDA2LTIwMDcgQ0RSS0lUIFRFQU0KK0lEX0ZTX0xBQkVMPVRoaXNXb25kZXJmdWxMYWJlbElzVmVyeVZlcnlMb25nCitJRF9GU19MQUJFTF9FTkM9VGhpc1dvbmRlcmZ1bExhYmVsSXNWZXJ5VmVyeUxvbmcKK0lEX0ZTX1NZU1RFTV9JRD1MSU5VWAorSURfRlNfVFlQRT1pc285NjYwCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTIwMDktMDktMjItMTItNTItMjMtMDAKK0lEX0ZTX1VVSURfRU5DPTIwMDktMDktMjItMTItNTItMjMtMDAKK0lEX0ZTX1ZFUlNJT049Sm9saWV0XHgyMEV4dGVuc2lvbgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzby1yci1qb2xpZXQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtaXNvLXJyLWpvbGlldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNGQ1NTBlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzby1yci1qb2xpZXQKQEAgLTAsMCArMSw5IEBACitJRF9GU19BUFBMSUNBVElPTl9JRD1HRU5JU09JTUFHRSBJU08gOTY2MC9IRlMgRklMRVNZU1RFTSBDUkVBVE9SIChDKSAxOTkzIEUuWU9VTkdEQUxFIChDKSAxOTk3LTIwMDYgSi5QRUFSU09OL0ouU0NISUxMSU5HIChDKSAyMDA2LTIwMDcgQ0RSS0lUIFRFQU0KK0lEX0ZTX0xBQkVMPVRoaXNJc1ZvbHVtZU5hbWUKK0lEX0ZTX0xBQkVMX0VOQz1UaGlzSXNWb2x1bWVOYW1lCitJRF9GU19TWVNURU1fSUQ9TElOVVgKK0lEX0ZTX1RZUEU9aXNvOTY2MAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0yMDA5LTA5LTI0LTEwLTMyLTQzLTAwCitJRF9GU19VVUlEX0VOQz0yMDA5LTA5LTI0LTEwLTMyLTQzLTAwCitJRF9GU19WRVJTSU9OPUpvbGlldFx4MjBFeHRlbnNpb24KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1pc3ctcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1pc3ctcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MjQxOWM1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWlzdy1yYWlkCkBAIC0wLDAgKzEsMyBAQAorSURfRlNfVFlQRT1pc3dfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1ZFUlNJT049MS4wLjAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtamJkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWpiZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGJjZGJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWpiZApAQCAtMCwwICsxLDYgQEAKK0lEX0ZTX0xPR1VVSUQ9MGQ3YTA3ZGYtN2IwNi00ODI5LWJjZTctM2I5YzNlY2U1NzBjCitJRF9GU19UWVBFPWpiZAorSURfRlNfVVNBR0U9b3RoZXIKK0lEX0ZTX1VVSUQ9MGQ3YTA3ZGYtN2IwNi00ODI5LWJjZTctM2I5YzNlY2U1NzBjCitJRF9GU19VVUlEX0VOQz0wZDdhMDdkZi03YjA2LTQ4MjktYmNlNy0zYjljM2VjZTU3MGMKK0lEX0ZTX1ZFUlNJT049MS4wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtamZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWpmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NzdmZDE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWpmcwpAQCAtMCwwICsxLDYgQEAKK0lEX0ZTX0xBQkVMPXRlc3QtamZzCitJRF9GU19MQUJFTF9FTkM9dGVzdC1qZnMKK0lEX0ZTX1RZUEU9amZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTliZjdiODJlLTc1ODMtNGM3NC05OWE0LTE4OWE2OTFmMjdiNQorSURfRlNfVVVJRF9FTkM9OWJmN2I4MmUtNzU4My00Yzc0LTk5YTQtMTg5YTY5MWYyN2I1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtam1pY3Jvbi1yYWlkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWptaWNyb24tcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzU3MmI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWptaWNyb24tcmFpZApAQCAtMCwwICsxLDMgQEAKK0lEX0ZTX1RZUEU9am1pY3Jvbl9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorSURfRlNfVkVSU0lPTj0wLjEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1sc2ktcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1sc2ktcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40OGY3MTE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWxzaS1yYWlkCkBAIC0wLDAgKzEsMiBAQAorSURfRlNfVFlQRT1sc2lfbWVnYV9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWx1a3MxIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWx1a3MxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3M2E4NTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbHVrczEKQEAgLTAsMCArMSw1IEBACitJRF9GU19UWVBFPWNyeXB0b19MVUtTCitJRF9GU19VU0FHRT1jcnlwdG8KK0lEX0ZTX1VVSUQ9ZTVmMzk4ZDktMzlkYS00YjZhLTlhYzMtZTA4NWE5Mzk0ZTdjCitJRF9GU19VVUlEX0VOQz1lNWYzOThkOS0zOWRhLTRiNmEtOWFjMy1lMDg1YTkzOTRlN2MKK0lEX0ZTX1ZFUlNJT049MQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWx1a3MyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWx1a3MyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNWY5OWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbHVrczIKQEAgLTAsMCArMSw4IEBACitJRF9GU19MQUJFTD10c3RfbGFiZWwKK0lEX0ZTX0xBQkVMX0VOQz10c3RfbGFiZWwKK0lEX0ZTX1NVQlNZU1RFTT10c3Rfc3Vic3lzCitJRF9GU19UWVBFPWNyeXB0b19MVUtTCitJRF9GU19VU0FHRT1jcnlwdG8KK0lEX0ZTX1VVSUQ9MjAyMjY1ZmUtOTg0Mi00YzJkLWFjOWItYWJhMWIwNWRlYjYzCitJRF9GU19VVUlEX0VOQz0yMDIyNjVmZS05ODQyLTRjMmQtYWM5Yi1hYmExYjA1ZGViNjMKK0lEX0ZTX1ZFUlNJT049MgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWx2bTIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbHZtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOWFlZDJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLWx2bTIKQEAgLTAsMCArMSw1IEBACitJRF9GU19UWVBFPUxWTTJfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19VVUlEPVZ5bnY0ay1BUEg4LXhRRVItSFNCYi04VkozLVN2RkYtUEI1TzFVCitJRF9GU19VVUlEX0VOQz1WeW52NGstQVBIOC14UUVSLUhTQmItOFZKMy1TdkZGLVBCNU8xVQorSURfRlNfVkVSU0lPTj1MVk0yXHgyMDAwMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW1kcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1tZHJhaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDYxM2RmZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1tZHJhaWQKQEAgLTAsMCArMSw1IEBACitJRF9GU19UWVBFPWxpbnV4X3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19VVUlEPTM3Yzc2YjkxLTAxMWEtMDVjNS1kMzBjLTFmZDRjNWMzZGJiYworSURfRlNfVVVJRF9FTkM9MzdjNzZiOTEtMDExYS0wNWM1LWQzMGMtMWZkNGM1YzNkYmJjCitJRF9GU19WRVJTSU9OPTAuOTAuMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW1pbml4LUJFIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW1pbml4LUJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2Mjc3OTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbWluaXgtQkUKQEAgLTAsMCArMSwzIEBACitJRF9GU19UWVBFPW1pbml4CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19WRVJTSU9OPTEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1taW5peC1MRSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1taW5peC1MRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjI3Nzk5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW1pbml4LUxFCkBAIC0wLDAgKzEsMyBAQAorSURfRlNfVFlQRT1taW5peAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVkVSU0lPTj0xCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbXBvb2wgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbXBvb2wKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjcwM2VmMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1tcG9vbApAQCAtMCwwICsxLDYgQEAKK0lEX0ZTX0xBQkVMPW1wMQorSURfRlNfTEFCRUxfRU5DPW1wMQorSURfRlNfVFlQRT1tcG9vbAorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0yZGZjYTFlYS02NTFlLTQ2OTQtOTc2Zi0xNDY1NGIwYThhODMKK0lEX0ZTX1VVSURfRU5DPTJkZmNhMWVhLTY1MWUtNDY5NC05NzZmLTE0NjU0YjBhOGE4MwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW5ldHdhcmUgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbmV0d2FyZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOTRkNWM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW5ldHdhcmUKQEAgLTAsMCArMSw1IEBACitJRF9GU19UWVBFPW5zcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD02NGZiYTZiYi1lYmFkLWQ5MDEtODAwMC0zNjFkOWFiZjI1NjAKK0lEX0ZTX1VVSURfRU5DPTY0ZmJhNmJiLWViYWQtZDkwMS04MDAwLTM2MWQ5YWJmMjU2MAorSURfRlNfVkVSU0lPTj00My4wMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW5pbGZzMiBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1uaWxmczIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzZjOWNhYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1uaWxmczIKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD10ZXN0LW5pbGZzMgorSURfRlNfTEFCRUxfRU5DPXRlc3QtbmlsZnMyCitJRF9GU19UWVBFPW5pbGZzMgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD01MjQwMjVmYi02ZDMxLTQwZTYtYmFhZC0xZGIzNmNmZGY4MDYKK0lEX0ZTX1VVSURfRU5DPTUyNDAyNWZiLTZkMzEtNDBlNi1iYWFkLTFkYjM2Y2ZkZjgwNgorSURfRlNfVkVSU0lPTj0yCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbnRmcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1udGZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhYWEwNzcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbnRmcwpAQCAtMCwwICsxLDYgQEAKK0lEX0ZTX0xBQkVMPdCd0L7QstGL0Llf0YLQvtC8CitJRF9GU19MQUJFTF9FTkM90J3QvtCy0YvQuVx4MjDRgtC+0LwKK0lEX0ZTX1RZUEU9bnRmcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0wOUNCQjZERTMwQzg3MzEwCitJRF9GU19VVUlEX0VOQz0wOUNCQjZERTMwQzg3MzEwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbnZpZGlhLXJhaWQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtbnZpZGlhLXJhaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDE0M2VhNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1udmlkaWEtcmFpZApAQCAtMCwwICsxLDMgQEAKK0lEX0ZTX1RZUEU9bnZpZGlhX3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19WRVJTSU9OPTEwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW9jZnMyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLW9jZnMyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzMjhkMjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtb2NmczIKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD10ZXN0LW9jZnMyCitJRF9GU19MQUJFTF9FTkM9dGVzdC1vY2ZzMgorSURfRlNfVFlQRT1vY2ZzMgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD02YjZiZmJlYS0zYTc5LTRmMGMtYjE2Ni1hMjA3NzYxMDI0NDUKK0lEX0ZTX1VVSURfRU5DPTZiNmJmYmVhLTNhNzktNGYwYy1iMTY2LWEyMDc3NjEwMjQ0NQorSURfRlNfVkVSU0lPTj0wLjkwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtcHJvbWlzZS1yYWlkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXByb21pc2UtcmFpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMmE4MmQwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXByb21pc2UtcmFpZApAQCAtMCwwICsxLDIgQEAKK0lEX0ZTX1RZUEU9cHJvbWlzZV9mYXN0dHJhY2tfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1yZWlzZXIzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXJlaXNlcjMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDM3NmVjYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1yZWlzZXIzCkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9VEVTVFJFSVNFUgorSURfRlNfTEFCRUxfRU5DPVRFU1RSRUlTRVIKK0lEX0ZTX1RZUEU9cmVpc2VyZnMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9OWVmZTc4NjMtYjEyNC00NmRjLWFkNjgtOGVjZDA0MjMwYTdiCitJRF9GU19VVUlEX0VOQz05ZWZlNzg2My1iMTI0LTQ2ZGMtYWQ2OC04ZWNkMDQyMzBhN2IKK0lEX0ZTX1ZFUlNJT049SlIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1yZWlzZXI0IGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXJlaXNlcjQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVkNjNhYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1yZWlzZXI0CkBAIC0wLDAgKzEsNyBAQAorSURfRlNfTEFCRUw9VEVTVFI0CitJRF9GU19MQUJFTF9FTkM9VEVTVFI0CitJRF9GU19UWVBFPXJlaXNlcjQKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9OTcyMjYzM2MtZDY5YS00ODgxLWIxYzgtYmVkZWNiYmYzOWQyCitJRF9GU19VVUlEX0VOQz05NzIyNjMzYy1kNjlhLTQ4ODEtYjFjOC1iZWRlY2JiZjM5ZDIKK0lEX0ZTX1ZFUlNJT049NApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXJvbWZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXJvbWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYjk4MmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtcm9tZnMKQEAgLTAsMCArMSw0IEBACitJRF9GU19MQUJFTD10ZXN0LXJvbWZzCitJRF9GU19MQUJFTF9FTkM9dGVzdC1yb21mcworSURfRlNfVFlQRT1yb21mcworSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXNpbGljb24tcmFpZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1zaWxpY29uLXJhaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVhYjY1ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1zaWxpY29uLXJhaWQKQEAgLTAsMCArMSwzIEBACitJRF9GU19UWVBFPXNpbGljb25fbWVkbGV5X3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19WRVJTSU9OPTIuMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXNtYWxsLWZhdDMyIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXNtYWxsLWZhdDMyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwNzQ2Y2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtc21hbGwtZmF0MzIKQEAgLTAsMCArMSw5IEBACitJRF9GU19MQUJFTD1URVNUVkZBVAorSURfRlNfTEFCRUxfRU5DPVRFU1RWRkFUCitJRF9GU19MQUJFTF9GQVRCT09UPVRFU1RWRkFUCitJRF9GU19MQUJFTF9GQVRCT09UX0VOQz1URVNUVkZBVAorSURfRlNfVFlQRT12ZmF0CitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTE0MjMtQUFFMQorSURfRlNfVVVJRF9FTkM9MTQyMy1BQUUxCitJRF9GU19WRVJTSU9OPUZBVDMyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtc3dhcDAgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtc3dhcDAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2JjZDk5OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS1zd2FwMApAQCAtMCwwICsxLDMgQEAKK0lEX0ZTX1RZUEU9c3dhcAorSURfRlNfVVNBR0U9b3RoZXIKK0lEX0ZTX1ZFUlNJT049MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXN3YXAxIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXN3YXAxCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmYWMyOGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtc3dhcDEKQEAgLTAsMCArMSw3IEBACitJRF9GU19MQUJFTD1TV0FQLVRFU1QKK0lEX0ZTX0xBQkVMX0VOQz1TV0FQLVRFU1QKK0lEX0ZTX1RZUEU9c3dhcAorSURfRlNfVVNBR0U9b3RoZXIKK0lEX0ZTX1VVSUQ9OGZmOGU3N2YtODU1My00ODVlLTg2NTYtNThiZTY3YTgxNjY2CitJRF9GU19VVUlEX0VOQz04ZmY4ZTc3Zi04NTUzLTQ4NWUtODY1Ni01OGJlNjdhODE2NjYKK0lEX0ZTX1ZFUlNJT049MQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXR1eG9uaWNlIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXR1eG9uaWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNmZDVhOTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdHV4b25pY2UKQEAgLTAsMCArMSw1IEBACitJRF9GU19UWVBFPXN3c3VzcGVuZAorSURfRlNfVVNBR0U9b3RoZXIKK0lEX0ZTX1VVSUQ9N2VjMWU4ZTQtMGE2OS00NTY1LTg2MGMtM2YxM2IwZjc5ODM4CitJRF9GU19VVUlEX0VOQz03ZWMxZThlNC0wYTY5LTQ1NjUtODYwYy0zZjEzYjBmNzk4MzgKK0lEX0ZTX1ZFUlNJT049dHV4b25pY2UKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11YmkgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWJpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjNWU4YTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWJpCkBAIC0wLDAgKzEsNSBAQAorSURfRlNfVFlQRT11YmkKK0lEX0ZTX1VTQUdFPXJhaWQKK0lEX0ZTX1VVSUQ9MTMyOTQxMTgzMQorSURfRlNfVVVJRF9FTkM9MTMyOTQxMTgzMQorSURfRlNfVkVSU0lPTj0xCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWJpZnMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWJpZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE2NGRiNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11YmlmcwpAQCAtMCwwICsxLDUgQEAKK0lEX0ZTX1RZUEU9dWJpZnMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9YmFmZTQ2YzItNWVkOS00NDA1LThlODEtN2ZjMzE3ZmFiOGYwCitJRF9GU19VVUlEX0VOQz1iYWZlNDZjMi01ZWQ5LTQ0MDUtOGU4MS03ZmMzMTdmYWI4ZjAKK0lEX0ZTX1ZFUlNJT049dzRyMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZiBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAyZmI4MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYKQEAgLTAsMCArMSwxMCBAQAorSURfRlNfTEFCRUw9dGVzdC11ZGYKK0lEX0ZTX0xBQkVMX0VOQz10ZXN0LXVkZgorSURfRlNfTE9HSUNBTF9WT0xVTUVfSUQ9dGVzdC11ZGYKK0lEX0ZTX1RZUEU9dWRmCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTQ3YTgzYTgwMDAwMDAwMDAKK0lEX0ZTX1VVSURfRU5DPTQ3YTgzYTgwMDAwMDAwMDAKK0lEX0ZTX1ZFUlNJT049MS4wMgorSURfRlNfVk9MVU1FX0lEPXRlc3QtdWRmCitJRF9GU19WT0xVTUVfU0VUX0lEPTQ3QTgzQTgwMDAwMDAwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtYmRyLTIuNjAtbmVybyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtYmRyLTIuNjAtbmVybwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGI4ODY3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1iZHItMi42MC1uZXJvCkBAIC0wLDAgKzEsMTAgQEAKK0lEX0ZTX0xBQkVMPUxhYmVsCitJRF9GU19MQUJFTF9FTkM9TGFiZWwKK0lEX0ZTX0xPR0lDQUxfVk9MVU1FX0lEPUxhYmVsCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD0zYjRhODU4ZGM0YjU3YTcyCitJRF9GU19VVUlEX0VOQz0zYjRhODU4ZGM0YjU3YTcyCitJRF9GU19WRVJTSU9OPTIuNjAKK0lEX0ZTX1ZPTFVNRV9JRD1MYWJlbAorSURfRlNfVk9MVU1FX1NFVF9JRD0zQjRBODU4REM0QjU3QTcyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWNkLW1rdWRmaXNvLTIwMTAwMjA4IGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1jZC1ta3VkZmlzby0yMDEwMDIwOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNTdkZWUwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1jZC1ta3VkZmlzby0yMDEwMDIwOApAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPVZvbHVtZV9MYWJlbAorSURfRlNfTEFCRUxfRU5DPVZvbHVtZVx4MjBMYWJlbAorSURfRlNfTE9HSUNBTF9WT0xVTUVfSUQ9Vm9sdW1lIExhYmVsCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVkVSU0lPTj0xLjAyCitJRF9GU19WT0xVTUVfSUQ9Vm9sdW1lIExhYmVsCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWNkLW5lcm8tNiBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtY2QtbmVyby02Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNmODVlYTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWNkLW5lcm8tNgpAQCAtMCwwICsxLDEwIEBACitJRF9GU19MQUJFTD1VREZfTGFiZWwKK0lEX0ZTX0xBQkVMX0VOQz1VREZceDIwTGFiZWwKK0lEX0ZTX0xPR0lDQUxfVk9MVU1FX0lEPVVERiBMYWJlbAorSURfRlNfVFlQRT11ZGYKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9NGFhMTY2NzhiNTVlOTk4NworSURfRlNfVVVJRF9FTkM9NGFhMTY2NzhiNTVlOTk4NworSURfRlNfVkVSU0lPTj0yLjAxCitJRF9GU19WT0xVTUVfSUQ9VURGIExhYmVsCitJRF9GU19WT0xVTUVfU0VUX0lEPTRBQTE2Njc4QjU1RTk5ODcKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLW1rdWRmZnMtMS4wLjAtMSBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLW1rdWRmZnMtMS4wLjAtMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDQ2YWVjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjAuMC0xCkBAIC0wLDAgKzEsMTAgQEAKK0lEX0ZTX0xBQkVMPUxpbnV4VURGCitJRF9GU19MQUJFTF9FTkM9TGludXhVREYKK0lEX0ZTX0xPR0lDQUxfVk9MVU1FX0lEPUxpbnV4VURGCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD01NGFlYjI1MjRjNjk2ZTc1CitJRF9GU19VVUlEX0VOQz01NGFlYjI1MjRjNjk2ZTc1CitJRF9GU19WRVJTSU9OPTIuMDEKK0lEX0ZTX1ZPTFVNRV9JRD1MaW51eFVERgorSURfRlNfVk9MVU1FX1NFVF9JRD01NGFlYjI1MkxpbnV4VURGCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMC4wLTIgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMC4wLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjcyZmNhYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLW1rdWRmZnMtMS4wLjAtMgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy0xIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMGYxNDg1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtMQpAQCAtMCwwICsxLDEwIEBACitJRF9GU19MQUJFTD1MYWJlbAorSURfRlNfTEFCRUxfRU5DPUxhYmVsCitJRF9GU19MT0dJQ0FMX1ZPTFVNRV9JRD1MYWJlbAorSURfRlNfVFlQRT11ZGYKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9NTkwNmUwNTIwMDNkNTIyYQorSURfRlNfVVVJRF9FTkM9NTkwNmUwNTIwMDNkNTIyYQorSURfRlNfVkVSU0lPTj0yLjAxCitJRF9GU19WT0xVTUVfSUQ9TGFiZWwKK0lEX0ZTX1ZPTFVNRV9TRVRfSUQ9NTkwNmUwNTIwMDNkNTIyYUxpbnV4VURGCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy0yIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGEyZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtMgpAQCAtMCwwICsxLDEwIEBACitJRF9GU19MQUJFTD1MYWJlbAorSURfRlNfTEFCRUxfRU5DPUxhYmVsCitJRF9GU19MT0dJQ0FMX1ZPTFVNRV9JRD1MYWJlbAorSURfRlNfVFlQRT11ZGYKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9NTkwNmU3YTgwMDUzMTU3NAorSURfRlNfVVVJRF9FTkM9NTkwNmU3YTgwMDUzMTU3NAorSURfRlNfVkVSU0lPTj0yLjAxCitJRF9GU19WT0xVTUVfSUQ9TGFiZWwKK0lEX0ZTX1ZPTFVNRV9TRVRfSUQ9NTkwNmU3YTgwMDUzMTU3NExpbnV4VURGCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy0zIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZmVmMmIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtMwpAQCAtMCwwICsxLDEwIEBACitJRF9GU19MQUJFTD3Dg8K/CitJRF9GU19MQUJFTF9FTkM9w4PCvworSURfRlNfTE9HSUNBTF9WT0xVTUVfSUQ9w4PCvworSURfRlNfVFlQRT11ZGYKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9NTkxNGU1ZDQ0NzkwNjQ1YQorSURfRlNfVVVJRF9FTkM9NTkxNGU1ZDQ0NzkwNjQ1YQorSURfRlNfVkVSU0lPTj0yLjAxCitJRF9GU19WT0xVTUVfSUQ9w4PCvworSURfRlNfVk9MVU1FX1NFVF9JRD01OTE0ZTVkNDQ3OTA2NDVhTGludXhVREYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLW1rdWRmZnMtMS4zLTQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4Y2Q3MzYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy00CkBAIC0wLDAgKzEsMTAgQEAKK0lEX0ZTX0xBQkVMPUxhYmVsCitJRF9GU19MQUJFTF9FTkM9TGFiZWwKK0lEX0ZTX0xPR0lDQUxfVk9MVU1FX0lEPUxhYmVsCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD01OTQxODcwMWIxZTgzMjJkCitJRF9GU19VVUlEX0VOQz01OTQxODcwMWIxZTgzMjJkCitJRF9GU19WRVJTSU9OPTIuMDEKK0lEX0ZTX1ZPTFVNRV9JRD1MYWJlbAorSURfRlNfVk9MVU1FX1NFVF9JRD01OTQxODcwMWIxZTgzMjJkTGludXhVREYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLW1rdWRmZnMtMS4zLTUgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy01Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NGFlODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy01CkBAIC0wLDAgKzEsMTAgQEAKK0lEX0ZTX0xBQkVMPUxhYmVsCitJRF9GU19MQUJFTF9FTkM9TGFiZWwKK0lEX0ZTX0xPR0lDQUxfVk9MVU1FX0lEPUxhYmVsCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD01OTQxODZlZGNjMTY0YTcwCitJRF9GU19VVUlEX0VOQz01OTQxODZlZGNjMTY0YTcwCitJRF9GU19WRVJTSU9OPTIuMDEKK0lEX0ZTX1ZPTFVNRV9JRD1MYWJlbAorSURfRlNfVk9MVU1FX1NFVF9JRD01OTQxODZlZGNjMTY0YTcwTGludXhVREYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLW1rdWRmZnMtMS4zLTYgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy02Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3MzkxNDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy02CkBAIC0wLDAgKzEsMTAgQEAKK0lEX0ZTX0xBQkVMPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQorSURfRlNfTEFCRUxfRU5DPUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQQorSURfRlNfTE9HSUNBTF9WT0xVTUVfSUQ9QUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBCitJRF9GU19UWVBFPXVkZgorSURfRlNfVVNBR0U9ZmlsZXN5c3RlbQorSURfRlNfVVVJRD01OTQxOWEzNGNhNDM2ZDY3CitJRF9GU19VVUlEX0VOQz01OTQxOWEzNGNhNDM2ZDY3CitJRF9GU19WRVJTSU9OPTIuMDEKK0lEX0ZTX1ZPTFVNRV9JRD1BQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEKK0lEX0ZTX1ZPTFVNRV9TRVRfSUQ9NTk0MTlhMzRjYTQzNmQ2N0xpbnV4VURGCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC1ta3VkZmZzLTEuMy03IGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtNwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNzg2MDZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtNwpAQCAtMCwwICsxLDEwIEBACitJRF9GU19MQUJFTD1MYWJlbDQwOTYKK0lEX0ZTX0xBQkVMX0VOQz1MYWJlbDQwOTYKK0lEX0ZTX0xPR0lDQUxfVk9MVU1FX0lEPUxhYmVsNDA5NgorSURfRlNfVFlQRT11ZGYKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9NWEwOGI2ZjUyMTg5MTUyOQorSURfRlNfVVVJRF9FTkM9NWEwOGI2ZjUyMTg5MTUyOQorSURfRlNfVkVSU0lPTj0yLjAxCitJRF9GU19WT0xVTUVfSUQ9TGFiZWw0MDk2CitJRF9GU19WT0xVTUVfU0VUX0lEPTVhMDhiNmY1MjE4OTE1MjlMaW51eFVERgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtbWt1ZGZmcy0xLjMtOCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLW1rdWRmZnMtMS4zLTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDQ4YzhmOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLW1rdWRmZnMtMS4zLTgKQEAgLTAsMCArMSwxMCBAQAorSURfRlNfTEFCRUw9TGludXhVREYKK0lEX0ZTX0xBQkVMX0VOQz1MaW51eFVERgorSURfRlNfTE9HSUNBTF9WT0xVTUVfSUQ9TGludXhVREYKK0lEX0ZTX1RZUEU9dWRmCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTVhMTE5NDA5MzZmZTc2YTgKK0lEX0ZTX1VVSURfRU5DPTVhMTE5NDA5MzZmZTc2YTgKK0lEX0ZTX1ZFUlNJT049MS41MAorSURfRlNfVk9MVU1FX0lEPUxpbnV4VURGCitJRF9GU19WT0xVTUVfU0VUX0lEPTVhMTE5NDA5MzZmZTc2YThMaW51eFVERgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtdWRmY2xpZW50LTAuNy41IGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtdWRmY2xpZW50LTAuNy41Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzM2M4MTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC11ZGZjbGllbnQtMC43LjUKQEAgLTAsMCArMSwxMCBAQAorSURfRlNfTEFCRUw9ZGlzY25hbWUKK0lEX0ZTX0xBQkVMX0VOQz1kaXNjbmFtZQorSURfRlNfTE9HSUNBTF9WT0xVTUVfSUQ9ZGlzY25hbWUKK0lEX0ZTX1RZUEU9dWRmCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTIwYzYyNGFjMDAwMDAwMDAKK0lEX0ZTX1VVSURfRU5DPTIwYzYyNGFjMDAwMDAwMDAKK0lEX0ZTX1ZFUlNJT049Mi4wMQorSURfRlNfVk9MVU1FX0lEPTI5Yjc3MTJlCitJRF9GU19WT0xVTUVfU0VUX0lEPTIwYzYyNGFjCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC11ZGZjbGllbnQtMC43LjcgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWRmLWhkZC11ZGZjbGllbnQtMC43LjcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTQ3YmQzZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLXVkZmNsaWVudC0wLjcuNwpAQCAtMCwwICsxLDEwIEBACitJRF9GU19MQUJFTD1kaXNjbmFtZQorSURfRlNfTEFCRUxfRU5DPWRpc2NuYW1lCitJRF9GU19MT0dJQ0FMX1ZPTFVNRV9JRD1kaXNjbmFtZQorSURfRlNfVFlQRT11ZGYKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9NTRhZWIzYjY2ZGQ0MWZkZQorSURfRlNfVVVJRF9FTkM9NTRhZWIzYjY2ZGQ0MWZkZQorSURfRlNfVkVSU0lPTj0yLjAxCitJRF9GU19WT0xVTUVfSUQ9NWVhMWExOTcKK0lEX0ZTX1ZPTFVNRV9TRVRfSUQ9NTRhZWIzYjY2ZGQ0MWZkZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXVkZi1oZGQtd2luNyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLXdpbjcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzU5YzhkYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZGYtaGRkLXdpbjcKQEAgLTAsMCArMSwxMCBAQAorSURfRlNfTEFCRUw9TXlfdm9sdW1lX2xhYmVsCitJRF9GU19MQUJFTF9FTkM9TXlceDIwdm9sdW1lXHgyMGxhYmVsCitJRF9GU19MT0dJQ0FMX1ZPTFVNRV9JRD1NeSB2b2x1bWUgbGFiZWwKK0lEX0ZTX1RZUEU9dWRmCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPTEwM2EzYjNiMjA1NTQ0NDYKK0lEX0ZTX1VVSURfRU5DPTEwM2EzYjNiMjA1NTQ0NDYKK0lEX0ZTX1ZFUlNJT049Mi4wMQorSURfRlNfVk9MVU1FX0lEPVVERiBWb2x1bWUKK0lEX0ZTX1ZPTFVNRV9TRVRfSUQ9MTAzQTNCM0IgVURGIFZvbHVtZSBTZXQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS11ZnMgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2ODI4ZDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdWZzCkBAIC0wLDAgKzEsNSBAQAorSURfRlNfVFlQRT11ZnMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9NGIwZTY0MGFlYzU2YWM3MAorSURfRlNfVVVJRF9FTkM9NGIwZTY0MGFlYzU2YWM3MAorSURfRlNfVkVSU0lPTj0yCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdmRvIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZkbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTA5NmFkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZkbwpAQCAtMCwwICsxLDQgQEAKK0lEX0ZTX1RZUEU9dmRvCitJRF9GU19VU0FHRT1vdGhlcgorSURfRlNfVVVJRD02NjZjNzk2OS02ZTY3LTIwNTYtNDQ0Zi0yMDQwMjA1MjQ4MDAKK0lEX0ZTX1VVSURfRU5DPTY2NmM3OTY5LTZlNjctMjA1Ni00NDRmLTIwNDAyMDUyNDgwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZpYS1yYWlkIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXZpYS1yYWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkZDBlOGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdmlhLXJhaWQKQEAgLTAsMCArMSwzIEBACitJRF9GU19UWVBFPXZpYV9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorSURfRlNfVkVSU0lPTj0xCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdm1mcyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS12bWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxOTE0YjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdm1mcwpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX0xBQkVMPXRvdG8KK0lEX0ZTX0xBQkVMX0VOQz10b3RvCitJRF9GU19UWVBFPVZNRlMKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9NDllZGY4NDQtZWJmYzI4ZjMtNjVjYi0wMDIxMjgwMDgzY2YKK0lEX0ZTX1VVSURfRU5DPTQ5ZWRmODQ0LWViZmMyOGYzLTY1Y2ItMDAyMTI4MDA4M2NmCitJRF9GU19WRVJTSU9OPTMxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdm1mc192b2x1bWUgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtdm1mc192b2x1bWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQ0ZGQ4MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS12bWZzX3ZvbHVtZQpAQCAtMCwwICsxLDcgQEAKK0lEX0ZTX1RZUEU9Vk1GU192b2x1bWVfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19VVUlEPTQ5ZWRmODQyLWRjYjM1ZDM3LWIzODMtMDAyMTI4MDA4M2NmCitJRF9GU19VVUlEX0VOQz00OWVkZjg0Mi1kY2IzNWQzNy1iMzgzLTAwMjEyODAwODNjZgorSURfRlNfVVVJRF9TVUI9NDllZGY4NDQtZGEyZGRlMTktNzQ3Yi0wMDIxMjgwMDgzY2YKK0lEX0ZTX1VVSURfU1VCX0VOQz00OWVkZjg0NC1kYTJkZGUxOS03NDdiLTAwMjEyODAwODNjZgorSURfRlNfVkVSU0lPTj0zCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUteGZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXhmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMjFkODgxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXhmcwpAQCAtMCwwICsxLDYgQEAKK0lEX0ZTX0xBQkVMPXRlc3QteGZzCitJRF9GU19MQUJFTF9FTkM9dGVzdC14ZnMKK0lEX0ZTX1RZUEU9eGZzCitJRF9GU19VU0FHRT1maWxlc3lzdGVtCitJRF9GU19VVUlEPThjOGEwYTVhLTlmNTctNDkyZS05NjEwLTQ1YTYxZjM4ZjU4YQorSURfRlNfVVVJRF9FTkM9OGM4YTBhNWEtOWY1Ny00OTJlLTk2MTAtNDVhNjFmMzhmNThhCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUteGZzLWxvZyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvdy1wcm9iZS14ZnMtbG9nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjZmIxODAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUteGZzLWxvZwpAQCAtMCwwICsxLDMgQEAKK0lEX0ZTX0xPR1VVSUQ9NDA2M2Q0NTMtNWMwMS00NmNlLWI5MmYtOTUyM2Q2NGFlY2M3CitJRF9GU19UWVBFPXhmc19leHRlcm5hbF9sb2cKK0lEX0ZTX1VTQUdFPW90aGVyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3ctcHJvYmUtemZzIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXpmcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NTJlMGU1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93LXByb2JlLXpmcwpAQCAtMCwwICsxLDkgQEAKK0lEX0ZTX0xBQkVMPXRhbmsKK0lEX0ZTX0xBQkVMX0VOQz10YW5rCitJRF9GU19UWVBFPXpmc19tZW1iZXIKK0lEX0ZTX1VTQUdFPWZpbGVzeXN0ZW0KK0lEX0ZTX1VVSUQ9MTc4MjAzNjU0NjMxMTMwMDk4MAorSURfRlNfVVVJRF9FTkM9MTc4MjAzNjU0NjMxMTMwMDk4MAorSURfRlNfVVVJRF9TVUI9MTMxNzkyODAxMjczNzk4NTA1MTQKK0lEX0ZTX1VVSURfU1VCX0VOQz0xMzE3OTI4MDEyNzM3OTg1MDUxNAorSURfRlNfVkVSU0lPTj04CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1hdGFyaS1pY2QgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1hdGFyaS1pY2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk5NDJiMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LWF0YXJpLWljZApAQCAtMCwwICsxLDggQEAKK3NpemU6IDgzODg2MDgsIHNlY3RvciBzaXplOiA1MTIsIFBUOiBhdGFyaSwgb2Zmc2V0OiAwLCBpZD0obnVsbCkKKy0tLQorIzE6ICAgICAgICAgNjUgICAgICAgNDAzMiAgMHgwIHR5cGU9J0ZBVCcKKyMyOiAgICAgICA0MDk3ICAgICAgICA5MDQgIDB4MCB0eXBlPSdGT08nCisjNDogICAgICAxMjI4OSAgICAgICA0MDk2ICAweDAgdHlwZT0nQkFSJworIzU6ICAgICAgIDUwMDIgICAgICAgMTk5OSAgMHgwIHR5cGU9J0dFTScKKyM2OiAgICAgICA3MDAzICAgICAgIDMyMzggIDB4MCB0eXBlPSdSQVcnCisjNzogICAgICAxMDI0MSAgICAgICAyMDQ4ICAweDAgdHlwZT0nUkFXJwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtYXRhcmkteGdtIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtYXRhcmkteGdtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiNzc1NjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1hdGFyaS14Z20KQEAgLTAsMCArMSw4IEBACitzaXplOiA4Mzg4NjA4LCBzZWN0b3Igc2l6ZTogNTEyLCBQVDogYXRhcmksIG9mZnNldDogMCwgaWQ9KG51bGwpCistLS0KKyMxOiAgICAgICAgIDY1ICAgICAgIDQwMzIgIDB4MCB0eXBlPSdGQVQnCisjMjogICAgICAgNDA5NyAgICAgICAgOTA0ICAweDAgdHlwZT0nRk9PJworIzM6ICAgICAgIDUwMDIgICAgICAgMTk5OSAgMHgwIHR5cGU9J0dFTScKKyM0OiAgICAgICA3MDAzICAgICAgIDMyMzggIDB4MCB0eXBlPSdSQVcnCisjNTogICAgICAxMDI0MSAgICAgICAyMDQ4ICAweDAgdHlwZT0nUkFXJworIzY6ICAgICAgMTIyODkgICAgICAgNDA5NiAgMHgwIHR5cGU9J0JBUicKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LWJzZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LWJzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjJhYWM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtYnNkCkBAIC0wLDAgKzEsNCBAQAorc2l6ZTogNDQ1NjQ0OCwgc2VjdG9yIHNpemU6IDUxMiwgUFQ6IGJzZCwgb2Zmc2V0OiA1MTIsIGlkPShudWxsKQorLS0tCisjMTogICAgICAgNzkzNiAgICAgICA0ODY0ICAweDcKKyMyOiAgICAgIDEyNTQ0ICAgICAgIDM1ODQgIDB4NwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtZG9zK2JzZCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LWRvcytic2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDk5ZTk4YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LWRvcytic2QKQEAgLTAsMCArMSw2IEBACitzaXplOiA4Mzg4NjA4LCBzZWN0b3Igc2l6ZTogNTEyLCBQVDogZG9zLCBvZmZzZXQ6IDQ0NiwgaWQ9OGY4Mzc4YzAKKy0tLQorIzE6ICAgICAgICAgMzIgICAgICAgNzY0OCAgMHg4MyB1dWlkPSc4ZjgzNzhjMC0wMScKKyMyOiAgICAgICA3NjgwICAgICAgIDg3MDQgIDB4YTUgdXVpZD0nOGY4Mzc4YzAtMDInCisjNTogICAgICAgNzkzNiAgICAgICA0ODY0ICAweDcgKGZyZWVic2QpCisjNjogICAgICAxMjU0NCAgICAgICAzNTg0ICAweDcgKGZyZWVic2QpCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1ncHQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1ncHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTg4MTRlMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LWdwdApAQCAtMCwwICsxLDcgQEAKK3NpemU6IDEwNDg1NzYwLCBzZWN0b3Igc2l6ZTogNTEyLCBQVDogZ3B0LCBvZmZzZXQ6IDUxMiwgaWQ9ZGQyN2Y5OGQtNzUxOS00YzllLTgwNDEtZjJiZmE3YjFlZjYxCistLS0KKyMxOiAgICAgICAgIDM0ICAgICAgIDIwMTQgIDB4MCBuYW1lPSdUaGlzSXNOYW1lJyB1dWlkPScxZGNmMTBiYy02MzdlLTRjNTItODIwMy0wODdhZTEwYTgyMGInIHR5cGU9J2ViZDBhMGEyLWI5ZTUtNDQzMy04N2MwLTY4YjZiNzI2OTljNycKKyMyOiAgICAgICAyMDQ4ICAgICAgIDIwNDggIDB4MCBuYW1lPSdUaGlzSXNPdGhlck5hbWUnIHV1aWQ9J2ExZDAzYTk2LTcyMzgtNDZjNi1iYmIzLTc4OWNiZTE3M2VjNycgdHlwZT0nZWJkMGEwYTItYjllNS00NDMzLTg3YzAtNjhiNmI3MjY5OWM3JworIzM6ICAgICAgIDQwOTYgICAgICAgMjA0OCAgMHgwIG5hbWU9J3ByaW1hcnknIHV1aWQ9J2E3MTAxYjZjLTQ2OGMtNDdkZi1hZmY2LWNkNDQ0ZDEyYWY2MScgdHlwZT0nZWJkMGEwYTItYjllNS00NDMzLTg3YzAtNjhiNmI3MjY5OWM3JworIzQ6ICAgICAgIDYxNDQgICAgICAgMjA0OCAgMHgwIG5hbWU9J3ByaW1hcnknIHV1aWQ9J2FmYzQ5NTBhLWYwZjEtNGFkZC04MDJjLTU5NTcxMzM0ODZkMScgdHlwZT0nZWJkMGEwYTItYjllNS00NDMzLTg3YzAtNjhiNmI3MjY5OWM3JworIzU6ICAgICAgIDgxOTIgICAgICAgMjA0OCAgMHgwIG5hbWU9J3ByaW1hcnknIHV1aWQ9JzBkYjBhNzg3LWMxNmItNDg4Ni1hZjNhLWZiYjk3Mjk5Njc3YycgdHlwZT0nZWJkMGEwYTItYjllNS00NDMzLTg3YzAtNjhiNmI3MjY5OWM3JwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtc2dpIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbG93cHJvYmUtcHQtc2dpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc5Y2RkZTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1zZ2kKQEAgLTAsMCArMSw2IEBACitzaXplOiAxMDQ4NTc2MCwgc2VjdG9yIHNpemU6IDUxMiwgUFQ6IHNnaSwgb2Zmc2V0OiAwLCBpZD0obnVsbCkKKy0tLQorIzE6ICAgICAgICAgNjMgICAgMTYwNjQzNyAgMHg4MworIzI6ICAgIDE2MDY1MDAgICAzMDUyMzUwMCAgMHg4MworIzk6ICAgICAgICAgIDAgICAgICAgNDA5NiAgMHgwCisjMTE6ICAgICAgICAgIDAgICAzMjEzMDAwMCAgMHg2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1zdW4gYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9sb3dwcm9iZS1wdC1zdW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZjNWNmMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL2xvd3Byb2JlLXB0LXN1bgpAQCAtMCwwICsxLDQgQEAKK3NpemU6IDEwNDg1NzYwLCBzZWN0b3Igc2l6ZTogNTEyLCBQVDogc3VuLCBvZmZzZXQ6IDAsIGlkPShudWxsKQorLS0tCisjMTogICAgICAgICAgMCAgICAgIDg3MzgwICAweDgzCisjMjogICAgICA4NzM4MCAgICAgIDQzNjkwICAweDgyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9ibGtpZC9tYnItd2hvbGVkaXNrLWZha2UtdmZhdCBiL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL21ici13aG9sZWRpc2stZmFrZS12ZmF0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmZjhhZWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9tYnItd2hvbGVkaXNrLWZha2UtdmZhdApAQCAtMCwwICsxLDIgQEAKK0lEX1BBUlRfVEFCTEVfVVVJRD01MDBhMGRmZgorSURfUEFSVF9UQUJMRV9UWVBFPWRvcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbWQtcmFpZDAtd2hvbGUgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9tZC1yYWlkMC13aG9sZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MWVjYmEwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbWQtcmFpZDAtd2hvbGUKQEAgLTAsMCArMSw1MiBAQAorSW5pdGlhbGl6ZSBkZXZpY2VzCitDcmVhdGUgUkFJRCBkZXZpY2UKK0NyZWF0ZSBwYXJ0aXRpb25zIG9uIFJBSUQgZGV2aWNlCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoMjA0OC0yMDQ1NDMsIGRlZmF1bHQgMjA0OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMDQ4LTIwNDU0MywgZGVmYXVsdCAyMDQ1NDMpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICgyMjUyOC0yMDQ1NDMsIGRlZmF1bHQgMjI1MjgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoMjI1MjgtMjA0NTQzLCBkZWZhdWx0IDIwNDU0Myk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjogOTkuOSBNaUIsIDEwNDcyNjUyOCBieXRlcywgMjA0NTQ0IHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNjU1MzYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD5wMSAgICAgICAyMDQ4ICAyMjUyNyAgIDIwNDgwICAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD5wMiAgICAgIDIyNTI4IDIwNDU0MyAgMTgyMDE2IDg4LjlNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitQcm9iZSBmaXJzdCBSQUlEIG1lbWJlcgorSURfRlNfVFlQRT1saW51eF9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorCisKK0lEX0ZTX1ZFUlNJT049MC45MC4wCitQcm9iZSBzZWNvbmQgUkFJRCBtZW1iZXIKK0lEX0ZTX1RZUEU9bGludXhfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKKworCitJRF9GU19WRVJTSU9OPTAuOTAuMAorU3RvcCBSQUlEIGRldmljZQorRGVpbml0aWFsaXplIGRldmljZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2Jsa2lkL21kLXJhaWQxLXBhcnQgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9tZC1yYWlkMS1wYXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4MWM2NWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9tZC1yYWlkMS1wYXJ0CkBAIC0wLDAgKzEsNjYgQEAKK0NyZWF0ZSBwYXJ0aXRpb25zCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoMjA0OC0xMDQ0NDcsIGRlZmF1bHQgMjA0OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMDQ4LTEwNDQ0NywgZGVmYXVsdCAxMDQ0NDcpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICg1MzI0OC0xMDQ0NDcsIGRlZmF1bHQgNTMyNDgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNTMyNDgtMTA0NDQ3LCBkZWZhdWx0IDEwNDQ0Nyk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjogNTEgTWlCLCA1MzQ3NzM3NiBieXRlcywgMTA0NDQ4IHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4ICA1MzI0NyAgIDUxMjAwICAyNU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgNTMyNDggMTA0NDQ3ICAgNTEyMDAgIDI1TSA4MyBMaW51eAorCitDb21tYW5kIChtIGZvciBoZWxwKTogVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KKworQ3JlYXRlIFJBSUQxIGRldmljZQorUHJvYmUgd2hvbGUtZGlzaworSURfUEFSVF9UQUJMRV9UWVBFPWRvcworSURfUEFSVF9UQUJMRV9VVUlEPTAwMDAwMDAxCitQcm9iZSBmaXJzdCBSQUlEIG1lbWJlcgorSURfRlNfVFlQRT1saW51eF9yYWlkX21lbWJlcgorSURfRlNfVVNBR0U9cmFpZAorSURfRlNfVVVJRD1fX3RzX3V1aWRfXworSURfRlNfVVVJRF9FTkM9X190c191dWlkX2VuY19fCitJRF9GU19WRVJTSU9OPTAuOTAuMAorSURfUEFSVF9FTlRSWV9ESVNLPV9fdHNfbWFqb3JtaW5vcl9fCitJRF9QQVJUX0VOVFJZX05VTUJFUj0xCitJRF9QQVJUX0VOVFJZX09GRlNFVD0yMDQ4CitJRF9QQVJUX0VOVFJZX1NDSEVNRT1kb3MKK0lEX1BBUlRfRU5UUllfU0laRT01MTIwMAorSURfUEFSVF9FTlRSWV9UWVBFPTB4ODMKK0lEX1BBUlRfRU5UUllfVVVJRD0wMDAwMDAwMS0wMQorUHJvYmUgc2Vjb25kIFJBSUQgbWVtYmVyCitJRF9GU19UWVBFPWxpbnV4X3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCitJRF9GU19VVUlEPV9fdHNfdXVpZF9fCitJRF9GU19VVUlEX0VOQz1fX3RzX3V1aWRfZW5jX18KK0lEX0ZTX1ZFUlNJT049MC45MC4wCitJRF9QQVJUX0VOVFJZX0RJU0s9X190c19tYWpvcm1pbm9yX18KK0lEX1BBUlRfRU5UUllfTlVNQkVSPTIKK0lEX1BBUlRfRU5UUllfT0ZGU0VUPTUzMjQ4CitJRF9QQVJUX0VOVFJZX1NDSEVNRT1kb3MKK0lEX1BBUlRfRU5UUllfU0laRT01MTIwMAorSURfUEFSVF9FTlRSWV9UWVBFPTB4ODMKK0lEX1BBUlRfRU5UUllfVVVJRD0wMDAwMDAwMS0wMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbWQtcmFpZDEtd2hvbGUgYi90ZXN0cy9leHBlY3RlZC9ibGtpZC9tZC1yYWlkMS13aG9sZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZTVhOTVkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYmxraWQvbWQtcmFpZDEtd2hvbGUKQEAgLTAsMCArMSw1MiBAQAorSW5pdGlhbGl6ZSBkZXZpY2VzCitDcmVhdGUgUkFJRCBkZXZpY2UKK0NyZWF0ZSBwYXJ0aXRpb25zIG9uIFJBSUQgZGV2aWNlCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoMjA0OC0xMDIyNzEsIGRlZmF1bHQgMjA0OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMDQ4LTEwMjI3MSwgZGVmYXVsdCAxMDIyNzEpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICgyMjUyOC0xMDIyNzEsIGRlZmF1bHQgMjI1MjgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoMjI1MjgtMTAyMjcxLCBkZWZhdWx0IDEwMjI3MSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIC9kZXYvbWQ4OiA1MCBNaUIsIDUyMzYzMjY0IGJ5dGVzLCAxMDIyNzIgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA8cmVtb3ZlZD4gYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorL2Rldi9tZDhwMSAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorL2Rldi9tZDhwMiAgICAgIDIyNTI4IDQzMDA3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCitDb21tYW5kIChtIGZvciBoZWxwKTogVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KKworUHJvYmUgZmlyc3QgUkFJRCBtZW1iZXIKK0lEX0ZTX1RZUEU9bGludXhfcmFpZF9tZW1iZXIKK0lEX0ZTX1VTQUdFPXJhaWQKKworCitJRF9GU19WRVJTSU9OPTAuOTAuMAorUHJvYmUgc2Vjb25kIFJBSUQgbWVtYmVyCitJRF9GU19UWVBFPWxpbnV4X3JhaWRfbWVtYmVyCitJRF9GU19VU0FHRT1yYWlkCisKKworSURfRlNfVkVSU0lPTj0wLjkwLjAKK1N0b3AgUkFJRCBkZXZpY2UKK0RlaW5pdGlhbGl6ZSBkZXZpY2VzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWFsbCBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctYWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5MmQ2NzAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWFsbApAQCAtMCwwICsxLDExOCBAQAorYmxraWQ6ICBsaWJibGtpZCBsaWJ1dWlkIAorY2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlibW91bnQgbGlibmN1cnNlc3cgbGlicnQgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitjb2x1bW46ICBsaWJzbWFydGNvbHMgCitlamVjdDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluY29yZTogIGxpYnNtYXJ0Y29scyAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2ZzY2s6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorZnN0cmltOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlicnQgbGlidXVpZCAKK2xpYnNtYXJ0Y29scy5zby4xLjEuMDogIAorbGlidXVpZC5zby4xLjMuMDogIAorbG9zZXR1cDogIGxpYnNtYXJ0Y29scyAKK2xzYmxrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvY2tzOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnV1aWQgCitsc2xvZ2luczogIGxpYnNtYXJ0Y29scyBsaWJzeXN0ZW1kIAorbHNtZW06ICBsaWJzbWFydGNvbHMgCitsc25zOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnV1aWQgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnV1aWQgCityZmtpbGw6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit1dWlkcGFyc2U6ICBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjaG1lbTogIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2N0cmxhbHRkZWw6ICAKK2RlbHBhcnQ6ICAKK2RtZXNnOiAgbGlicnQgbGlidGluZm8gCitmYWxsb2NhdGU6ICAKK2ZkZm9ybWF0OiAgCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIGxpYm0gCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xpbmU6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbmV3Z3JwOiAgcnlwdCAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK3BnOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzdWxvZ2luOiAgcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YXNrc2V0OiAgCit0dW5lbHA6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAordmlwdzogIAord2FsbDogIAord2hlcmVpczogIAord3JpdGU6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctYWxsLWRldmVsIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1hbGwtZGV2ZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2U5YTcyMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctYWxsLWRldmVsCkBAIC0wLDAgKzEsMTE1IEBACitta3N3YXA6ICBsaWJibGtpZCBsaWJzZWxpbnV4IGxpYnV1aWQgCitzd2FwbGFiZWw6ICBsaWJibGtpZCBsaWJ1dWlkIAorYmxvY2tkZXY6ICAKK2ZkZm9ybWF0OiAgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitpc29zaXplOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorcmF3OiAgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmRpc2s6ICBsaWJibGtpZCBsaWJ1dWlkIAorc2ZkaXNrOiAgCitmc2NrOiAgbGliYmxraWQgbGlidXVpZCAKK2dldG9wdDogIAoraHdjbG9jazogIGxpYmF1ZGl0IAordGVzdF9hdDogIAordGVzdF9ibGtkZXY6ICAKK3Rlc3RfY2Fub25pY2FsaXplOiAgCit0ZXN0X2NwdXNldDogIAordGVzdF9pc21vdW50ZWQ6ICAKK3Rlc3RfbG9vcGRldjogIAordGVzdF9tYW5nbGU6ICAKK3Rlc3RfcHJvY3V0aWxzOiAgCit0ZXN0X3N0cnV0aWxzOiAgCit0ZXN0X3N5c2ZzOiAgCit0ZXN0X3dob2xlZGlzazogIAorbWtmczogIGxpYmJsa2lkIGxpYnV1aWQgCitwYXJ0aXRpb25zOiAgbGliYmxraWQgbGlidXVpZCAKK3N1cGVyYmxvY2tzOiAgbGliYmxraWQgbGlidXVpZCAKK3RvcG9sb2d5OiAgbGliYmxraWQgbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK21vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlic2VsaW51eCBsaWJzZXBvbCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCitsaWJ1dWlkLnNvLjEuMy4wOiAgbGQtbGludXgteDg2LTY0IAordHN0X3V1aWQ6ICBsaWJ1dWlkIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJzZWxpbnV4IAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJzZWxpbnV4IAorbGFzdDogIAorbG9naW46ICBsaWJhdWRpdCBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK25ld2dycDogIHJ5cHQgCit0ZXN0X2lzbG9jYWw6ICAKK3Rlc3RfbG9naW5kZWZzOiAgCit2aXB3OiAgbGlic2VsaW51eCAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlic2VsaW51eCBsaWJzZXBvbCBsaWJ1dWlkIAorbHNibGs6ICBsaWJibGtpZCBsaWJ1ZGV2IGxpYnV1aWQgCit1dWlkZDogIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnV1aWQgCitjYWw6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK2tpbGw6ICAKK2xvZ2dlcjogIAorbG9vazogIAorbWNvb2tpZTogIAorbmFtZWk6ICAKK3JlbmFtZTogIAord2hlcmVpczogIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlic2VsaW51eCBsaWJzZXBvbCBsaWJ1dWlkIAorbG9zZXR1cDogIAorcGFydHg6ICBsaWJibGtpZCBsaWJ1dWlkIAorYWRkcGFydDogIAorZGVscGFydDogIAorY2hydDogIAoraW9uaWNlOiAgCit0YXNrc2V0OiAgCittb3VudHBvaW50OiAgbGliYmxraWQgbGlibW91bnQgbGlic2VsaW51eCBsaWJzZXBvbCBsaWJ1dWlkIAorYXJjaDogIAorY2hjcHU6ICAKK2N0cmxhbHRkZWw6ICAKK2RtZXNnOiAgCitmYWxsb2NhdGU6ICAKK2Zsb2NrOiAgCitmc2ZyZWV6ZTogIAorZnN0cmltOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2xkYXR0YWNoOiAgCitsc2NwdTogIAorcGl2b3Rfcm9vdDogIAorcHJsaW1pdDogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmljZTogIAorcnRjd2FrZTogIAorc2V0YXJjaDogIAorc2V0c2lkOiAgCitzd2l0Y2hfcm9vdDogIAordHVuZWxwOiAgCit1bnNoYXJlOiAgCithZ2V0dHk6ICAKK21lc2c6ICAKK3NjcmlwdDogIGxpYnV0ZW1wdGVyIGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3dyaXRlOiAgCit0ZXN0X2J5dGVzd2FwOiAgCit0ZXN0X21kNTogIAordGVzdF9wYXRobmFtZXM6ICAKK3Rlc3Rfc3lzaW5mbzogIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjb2x1bW46ICAKK2hleGR1bXA6ICAKK2xpbmU6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK3BnOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCityZXY6ICAKK3VsOiAgbGlidGluZm8gCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWFsbC1ub24tbmxzIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1hbGwtbm9uLW5scwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTJkNjcwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1hbGwtbm9uLW5scwpAQCAtMCwwICsxLDExOCBAQAorYmxraWQ6ICBsaWJibGtpZCBsaWJ1dWlkIAorY2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlibW91bnQgbGlibmN1cnNlc3cgbGlicnQgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitjb2x1bW46ICBsaWJzbWFydGNvbHMgCitlamVjdDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluY29yZTogIGxpYnNtYXJ0Y29scyAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2ZzY2s6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorZnN0cmltOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlicnQgbGlidXVpZCAKK2xpYnNtYXJ0Y29scy5zby4xLjEuMDogIAorbGlidXVpZC5zby4xLjMuMDogIAorbG9zZXR1cDogIGxpYnNtYXJ0Y29scyAKK2xzYmxrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvY2tzOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnV1aWQgCitsc2xvZ2luczogIGxpYnNtYXJ0Y29scyBsaWJzeXN0ZW1kIAorbHNtZW06ICBsaWJzbWFydGNvbHMgCitsc25zOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnV1aWQgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnV1aWQgCityZmtpbGw6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit1dWlkcGFyc2U6ICBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjaG1lbTogIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2N0cmxhbHRkZWw6ICAKK2RlbHBhcnQ6ICAKK2RtZXNnOiAgbGlicnQgbGlidGluZm8gCitmYWxsb2NhdGU6ICAKK2ZkZm9ybWF0OiAgCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIGxpYm0gCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xpbmU6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbmV3Z3JwOiAgcnlwdCAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK3BnOiAgbGlibmN1cnNlc3cgbGlidGluZm8gCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzdWxvZ2luOiAgcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YXNrc2V0OiAgCit0dW5lbHA6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAordmlwdzogIAord2FsbDogIAord2hlcmVpczogIAord3JpdGU6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctYXVkaXQgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWF1ZGl0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjODRjZmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWF1ZGl0CkBAIC0wLDAgKzEsMTEyIEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2NvbHVtbjogIGxpYnNtYXJ0Y29scyAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5jb3JlOiAgbGlic21hcnRjb2xzIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorZnNjazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitmc3RyaW06ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJydCBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorbHNjcHU6ICBsaWJzbWFydGNvbHMgCitsc2lwYzogIGxpYnNtYXJ0Y29scyAKK2xzbG9ja3M6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK2xzbG9naW5zOiAgbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc21lbTogIGxpYnNtYXJ0Y29scyAKK2xzbnM6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK21rc3dhcDogIGxpYmJsa2lkIGxpYnV1aWQgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCittb3VudHBvaW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3BhcnR4OiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCitwcmxpbWl0OiAgbGlic21hcnRjb2xzIAorcHlsaWJtb3VudC5zbzogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnB5dGhvbjIgbGlicnQgbGlidXVpZCAKK3Jma2lsbDogIGxpYnNtYXJ0Y29scyAKK3NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3N3YXBvZmY6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorc3dhcG9uOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit1bW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAordXVpZGQ6ICBsaWJydCBsaWJzeXN0ZW1kIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3V1aWRwYXJzZTogIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAord2RjdGw6ICBsaWJzbWFydGNvbHMgCit3aXBlZnM6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3pyYW1jdGw6ICBsaWJzbWFydGNvbHMgCithZGRwYXJ0OiAgCithZ2V0dHk6ICAKK2Jsa2Rpc2NhcmQ6ICBsaWJydCAKK2Jsa3pvbmU6ICAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlidXNlciAKK2NobWVtOiAgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY3RybGFsdGRlbDogIAorZGVscGFydDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2Zsb2NrOiAgbGlicnQgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitmc2ZyZWV6ZTogIAorZ2V0b3B0OiAgCitoZXhkdW1wOiAgbGlidGluZm8gCitod2Nsb2NrOiAgbGliYXVkaXQgbGlibSAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGliYXVkaXQgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzdWxvZ2luOiAgcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY2hmbnNoLWxpYnVzZXIgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWNoZm5zaC1saWJ1c2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ZmJiNmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWNoZm5zaC1saWJ1c2VyCkBAIC0wLDAgKzEsMTEyIEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorY29sdW1uOiAgbGlic21hcnRjb2xzIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluY29yZTogIGxpYnNtYXJ0Y29scyAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorZnNjazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnV1aWQgCitsc2xvZ2luczogIGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc21lbTogIGxpYnNtYXJ0Y29scyAKK2xzbnM6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbWtzd2FwOiAgbGliYmxraWQgbGlic2VsaW51eCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudHBvaW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCityZmtpbGw6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorc3dhcG9uOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit1dWlkcGFyc2U6ICBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnNlbGludXggbGlidXNlciAKK2NobWVtOiAgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlic2VsaW51eCBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJhdWRpdCBsaWJtIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJhdWRpdCBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbm9sb2dpbjogIAorbnNlbnRlcjogIGxpYnNlbGludXggCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzdWxvZ2luOiAgbGlic2VsaW51eCByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAord2FsbDogIAord2hlcmVpczogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1jaGZuc2gtbm8tcGFzc3dvcmQgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWNoZm5zaC1uby1wYXNzd29yZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZjgxZjhjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1jaGZuc2gtbm8tcGFzc3dvcmQKQEAgLTAsMCArMSwxMTIgQEAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYm1vdW50IGxpYm5jdXJzZXN3IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitjb2x1bW46ICBsaWJzbWFydGNvbHMgCitlamVjdDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5jb3JlOiAgbGlic21hcnRjb2xzIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorZnN0cmltOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnVkZXYgbGlidXVpZCAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvY2tzOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK2xzbG9naW5zOiAgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbWVtOiAgbGlic21hcnRjb2xzIAorbHNuczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnV1aWQgCitta3N3YXA6ICBsaWJibGtpZCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3Jma2lsbDogIGxpYnNtYXJ0Y29scyAKK3NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3N3YXBvZmY6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAordW1vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAordXVpZGQ6ICBsaWJydCBsaWJzeXN0ZW1kIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3V1aWRwYXJzZTogIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAord2RjdGw6ICBsaWJzbWFydGNvbHMgCit3aXBlZnM6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3pyYW1jdGw6ICBsaWJzbWFydGNvbHMgCithZGRwYXJ0OiAgCithZ2V0dHk6ICAKK2Jsa2Rpc2NhcmQ6ICBsaWJydCAKK2Jsa3pvbmU6ICAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlicmVhZGxpbmUgbGlic2VsaW51eCAKK2NobWVtOiAgCitjaHJ0OiAgCitjaHNoOiAgbGlicmVhZGxpbmUgbGlic2VsaW51eCAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY3RybGFsdGRlbDogIAorZGVscGFydDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2Zsb2NrOiAgbGlicnQgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitmc2ZyZWV6ZTogIAorZ2V0b3B0OiAgCitoZXhkdW1wOiAgbGlidGluZm8gCitod2Nsb2NrOiAgbGliYXVkaXQgbGlibSAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGliYXVkaXQgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICBsaWJzZWxpbnV4IAorcGl2b3Rfcm9vdDogIAorcmF3OiAgCityZWFkcHJvZmlsZTogIAorcmVuYW1lOiAgCityZW5pY2U6ICAKK3Jlc2l6ZXBhcnQ6ICAKK3JldjogIAorcnRjd2FrZTogIAorcnVudXNlcjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc3Vsb2dpbjogIGxpYnNlbGludXggcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY2hmbnNoLXBhbSBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY2hmbnNoLXBhbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWJmZGNhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1jaGZuc2gtcGFtCkBAIC0wLDAgKzEsMTEyIEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorY29sdW1uOiAgbGlic21hcnRjb2xzIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluY29yZTogIGxpYnNtYXJ0Y29scyAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorZnNjazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnV1aWQgCitsc2xvZ2luczogIGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc21lbTogIGxpYnNtYXJ0Y29scyAKK2xzbnM6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbWtzd2FwOiAgbGliYmxraWQgbGlic2VsaW51eCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudHBvaW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCityZmtpbGw6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorc3dhcG9uOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit1dWlkcGFyc2U6ICBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJyZWFkbGluZSBsaWJzZWxpbnV4IAorY2htZW06ICAKK2NocnQ6ICAKK2Noc2g6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicmVhZGxpbmUgbGlic2VsaW51eCAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY3RybGFsdGRlbDogIAorZGVscGFydDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2Zsb2NrOiAgbGlicnQgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitmc2ZyZWV6ZTogIAorZ2V0b3B0OiAgCitoZXhkdW1wOiAgbGlidGluZm8gCitod2Nsb2NrOiAgbGliYXVkaXQgbGlibSAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGliYXVkaXQgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICBsaWJzZWxpbnV4IAorcGl2b3Rfcm9vdDogIAorcmF3OiAgCityZWFkcHJvZmlsZTogIAorcmVuYW1lOiAgCityZW5pY2U6ICAKK3Jlc2l6ZXBhcnQ6ICAKK3JldjogIAorcnRjd2FrZTogIAorcnVudXNlcjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc3Vsb2dpbjogIGxpYnNlbGludXggcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY29yZSBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctY29yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OWIzMGFjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1jb3JlCkBAIC0wLDAgKzEsMTEyIEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2NvbHVtbjogIGxpYnNtYXJ0Y29scyAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5jb3JlOiAgbGlic21hcnRjb2xzIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2ZpbmRtbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorZnNjazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitmc3RyaW06ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbGliYmxraWQuc28uMS4xLjA6ICBsaWJ1dWlkIAorbGliZmRpc2suc28uMS4xLjA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbGlibW91bnQuc28uMS4xLjA6ICBsaWJibGtpZCBsaWJydCBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorbHNjcHU6ICBsaWJzbWFydGNvbHMgCitsc2lwYzogIGxpYnNtYXJ0Y29scyAKK2xzbG9ja3M6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK2xzbG9naW5zOiAgbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc21lbTogIGxpYnNtYXJ0Y29scyAKK2xzbnM6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK21rc3dhcDogIGxpYmJsa2lkIGxpYnV1aWQgCittb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCittb3VudHBvaW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK3BhcnR4OiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCitwcmxpbWl0OiAgbGlic21hcnRjb2xzIAorcHlsaWJtb3VudC5zbzogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnB5dGhvbjIgbGlicnQgbGlidXVpZCAKK3Jma2lsbDogIGxpYnNtYXJ0Y29scyAKK3NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3N3YXBvZmY6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorc3dhcG9uOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit1bW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAordXVpZGQ6ICBsaWJydCBsaWJzeXN0ZW1kIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3V1aWRwYXJzZTogIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAord2RjdGw6ICBsaWJzbWFydGNvbHMgCit3aXBlZnM6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3pyYW1jdGw6ICBsaWJzbWFydGNvbHMgCithZGRwYXJ0OiAgCithZ2V0dHk6ICAKK2Jsa2Rpc2NhcmQ6ICBsaWJydCAKK2Jsa3pvbmU6ICAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlidXNlciAKK2NobWVtOiAgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY3RybGFsdGRlbDogIAorZGVscGFydDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2Zsb2NrOiAgbGlicnQgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitmc2ZyZWV6ZTogIAorZ2V0b3B0OiAgCitoZXhkdW1wOiAgbGlidGluZm8gCitod2Nsb2NrOiAgbGlibSAKK2lvbmljZTogIAoraXBjbWs6ICAKK2lwY3JtOiAgCitpcGNzOiAgCitpc29zaXplOiAgCitraWxsOiAgCitsYXN0OiAgbGlicnQgCitsZGF0dGFjaDogIAorbG9nZ2VyOiAgbGlic3lzdGVtZCAKK2xvZ2luOiAgbGlicGFtIGxpYnBhbV9taXNjIAorbG9vazogIAorbWNvb2tpZTogIAorbWVzZzogIAorbWtmczogIAorbWtmcy5iZnM6ICAKK21rZnMuY3JhbWZzOiAgbGlieiAKK21rZnMubWluaXg6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzdWxvZ2luOiAgcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGV2ZWwgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRldmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3MjI4ZjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRldmVsCkBAIC0wLDAgKzEsMTE4IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorY29sdW1uOiAgbGlic21hcnRjb2xzIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluY29yZTogIGxpYnNtYXJ0Y29scyAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorZnNjazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnV1aWQgCitsc2xvZ2luczogIGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc21lbTogIGxpYnNtYXJ0Y29scyAKK2xzbnM6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbWtzd2FwOiAgbGliYmxraWQgbGlic2VsaW51eCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudHBvaW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCityZmtpbGw6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorc3dhcG9uOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit1dWlkcGFyc2U6ICBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnNlbGludXggbGlidXNlciAKK2NobWVtOiAgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlic2VsaW51eCBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJhdWRpdCBsaWJtIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsaW5lOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJhdWRpdCBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbmV3Z3JwOiAgcnlwdCAKK25vbG9naW46ICAKK25zZW50ZXI6ICBsaWJzZWxpbnV4IAorcGc6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0ZW1wdGVyIGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3N1bG9naW46ICBsaWJzZWxpbnV4IHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFza3NldDogIAordHVuZWxwOiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3ZpcHc6ICBsaWJzZWxpbnV4IAord2FsbDogIAord2hlcmVpczogIAord3JpdGU6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGV2ZWwtbmV3LW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1kZXZlbC1uZXctbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWFjODI3MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGV2ZWwtbmV3LW1vdW50CkBAIC0wLDAgKzEsMTIyIEBACitta3N3YXA6ICBsaWJibGtpZCBsaWJzZWxpbnV4IGxpYnV1aWQgCitzd2FwbGFiZWw6ICBsaWJibGtpZCBsaWJ1dWlkIAorYmxvY2tkZXY6ICAKK2ZkZm9ybWF0OiAgCitmc2NrLmNyYW1mczogIGxpYnogCitmc2NrLm1pbml4OiAgCitpc29zaXplOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorcmF3OiAgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmRpc2s6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmRpc2suc3RhdGljOiBTVEFUSUMKK3NmZGlzazogIAorc2ZkaXNrLnN0YXRpYzogU1RBVElDCitmc2NrOiAgbGliYmxraWQgbGlidXVpZCAKK2dldG9wdDogIAoraHdjbG9jazogIGxpYmF1ZGl0IAordGVzdF9hdDogIAordGVzdF9ibGtkZXY6ICAKK3Rlc3RfY2Fub25pY2FsaXplOiAgCit0ZXN0X2NwdXNldDogIAordGVzdF9pc21vdW50ZWQ6ICAKK3Rlc3RfbG9vcGRldjogIAordGVzdF9tYW5nbGU6ICAKK3Rlc3RfcHJvY3V0aWxzOiAgCit0ZXN0X3N0cnV0aWxzOiAgCit0ZXN0X3N5c2ZzOiAgCit0ZXN0X3dob2xlZGlzazogIAorbWtmczogIGxpYmJsa2lkIGxpYnV1aWQgCitwYXJ0aXRpb25zOiAgbGliYmxraWQgbGlidXVpZCAKK3N1cGVyYmxvY2tzOiAgbGliYmxraWQgbGlidXVpZCAKK3RvcG9sb2d5OiAgbGliYmxraWQgbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlic2VsaW51eCBsaWJzZXBvbCBsaWJ1dWlkIAorbGlidXVpZC5zby4xLjMuMDogIGxkLWxpbnV4LXg4Ni02NCAKK3RzdF91dWlkOiAgbGlidXVpZCAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2Noc2g6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2xhc3Q6ICAKK2xvZ2luOiAgbGliYXVkaXQgbGlicGFtIGxpYnBhbV9taXNjIGxpYnNlbGludXggCituZXdncnA6ICByeXB0IAordGVzdF9pc2xvY2FsOiAgCit0ZXN0X2xvZ2luZGVmczogIAordmlwdzogIGxpYnNlbGludXggCitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnNlbGludXggbGlic2Vwb2wgbGlidXVpZCAKK2xzYmxrOiAgbGliYmxraWQgbGlidWRldiBsaWJ1dWlkIAordXVpZGQ6ICBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit3aXBlZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorYmxraWQuc3RhdGljOiBTVEFUSUMKK2NhbDogIGxpYm5jdXJzZXN3IGxpYnRpbmZvIAora2lsbDogIAorbG9nZ2VyOiAgCitsb29rOiAgCitsc2xvY2tzOiAgCittY29va2llOiAgCituYW1laTogIAorcmVuYW1lOiAgCit3aGVyZWlzOiAgCitwYXJ0eDogIGxpYmJsa2lkIGxpYnV1aWQgCithZGRwYXJ0OiAgCitkZWxwYXJ0OiAgCitjaHJ0OiAgCitpb25pY2U6ICAKK3Rhc2tzZXQ6ICAKK21vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlic2VsaW51eCBsaWJzZXBvbCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnNlbGludXggbGlic2Vwb2wgbGlidXVpZCAKK3N3YXBvbjogIGxpYmJsa2lkIGxpYnV1aWQgCit1bW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJzZWxpbnV4IGxpYnNlcG9sIGxpYnV1aWQgCithcmNoOiAgCitjaGNwdTogIAorY3RybGFsdGRlbDogIAorZG1lc2c6ICAKK2ZhbGxvY2F0ZTogIAorZmxvY2s6ICAKK2ZzZnJlZXplOiAgCitmc3RyaW06ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAorbGRhdHRhY2g6ICAKK2xvc2V0dXA6ICAKK2xvc2V0dXAuc3RhdGljOiBTVEFUSUMKK2xzY3B1OiAgCittb3VudC5zdGF0aWM6IFNUQVRJQworcGl2b3Rfcm9vdDogIAorcHJsaW1pdDogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmljZTogIAorcnRjd2FrZTogIAorc2V0YXJjaDogIAorc2V0c2lkOiAgCitzd2l0Y2hfcm9vdDogIAordHVuZWxwOiAgCit1bW91bnQuc3RhdGljOiBTVEFUSUMKK3Vuc2hhcmU6ICAKK2FnZXR0eTogIAorbWVzZzogIAorc2NyaXB0OiAgbGlidXRlbXB0ZXIgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0dGVybTogIGxpYnRpbmZvIAord2FsbDogIAord3JpdGU6ICAKK3Rlc3RfYnl0ZXN3YXA6ICAKK3Rlc3RfbWQ1OiAgCit0ZXN0X3BhdGhuYW1lczogIAordGVzdF9zeXNpbmZvOiAgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2NvbHVtbjogIAoraGV4ZHVtcDogIAorbGluZTogIAorbW9yZTogIGxpYnRpbmZvIAorcGc6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK3JldjogIAordWw6ICBsaWJ0aW5mbyAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGV2ZWwtbm9uLWRvY3MgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRldmVsLW5vbi1kb2NzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU3MjI4ZjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRldmVsLW5vbi1kb2NzCkBAIC0wLDAgKzEsMTE4IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorY29sdW1uOiAgbGlic21hcnRjb2xzIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluY29yZTogIGxpYnNtYXJ0Y29scyAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorZnNjazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnV1aWQgCitsc2xvZ2luczogIGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc21lbTogIGxpYnNtYXJ0Y29scyAKK2xzbnM6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbWtzd2FwOiAgbGliYmxraWQgbGlic2VsaW51eCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudHBvaW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCityZmtpbGw6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorc3dhcG9uOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit1dWlkcGFyc2U6ICBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnNlbGludXggbGlidXNlciAKK2NobWVtOiAgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlic2VsaW51eCBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJhdWRpdCBsaWJtIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsaW5lOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJhdWRpdCBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbmV3Z3JwOiAgcnlwdCAKK25vbG9naW46ICAKK25zZW50ZXI6ICBsaWJzZWxpbnV4IAorcGc6ICBsaWJuY3Vyc2VzdyBsaWJ0aW5mbyAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0ZW1wdGVyIGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3N1bG9naW46ICBsaWJzZWxpbnV4IHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFza3NldDogIAordHVuZWxwOiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3ZpcHc6ICBsaWJzZWxpbnV4IAord2FsbDogIAord2hlcmVpczogIAord3JpdGU6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctZGlzYWJsZS1hbGwgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRpc2FibGUtYWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWRpc2FibGUtYWxsCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLWVuYWJsZS1zY2hlZHV0aWxzIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1lbmFibGUtc2NoZWR1dGlscwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZDM0YzhlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1lbmFibGUtc2NoZWR1dGlscwpAQCAtMCwwICsxLDMgQEAKK2NocnQ6ICAKK2lvbmljZTogIAordGFza3NldDogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGliYmxraWQgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJibGtpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTUyOGU5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGliYmxraWQKQEAgLTAsMCArMSw4OSBAQAorY2ZkaXNrOiAgbGliZmRpc2sgbGlibmN1cnNlc3cgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitjb2x1bW46ICBsaWJzbWFydGNvbHMgCitmZGlzazogIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluY29yZTogIGxpYnNtYXJ0Y29scyAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYnNtYXJ0Y29scy5zby4xLjEuMDogIAorbGlidXVpZC5zby4xLjMuMDogIAorbG9zZXR1cDogIGxpYnNtYXJ0Y29scyAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvZ2luczogIGxpYnNtYXJ0Y29scyBsaWJzeXN0ZW1kIAorbHNtZW06ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJ1dWlkIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3Jma2lsbDogIGxpYnNtYXJ0Y29scyAKK3NmZGlzazogIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAordXVpZGQ6ICBsaWJydCBsaWJzeXN0ZW1kIGxpYnV1aWQgCit1dWlkZ2VuOiAgbGlidXVpZCAKK3V1aWRwYXJzZTogIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAord2RjdGw6ICBsaWJzbWFydGNvbHMgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjaG1lbTogIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2N0cmxhbHRkZWw6ICAKK2RtZXNnOiAgbGlicnQgbGlidGluZm8gCitmYWxsb2NhdGU6ICAKK2ZkZm9ybWF0OiAgCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIGxpYm0gCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbm9sb2dpbjogIAorbnNlbnRlcjogIAorcGl2b3Rfcm9vdDogIAorcmF3OiAgCityZWFkcHJvZmlsZTogIAorcmVuYW1lOiAgCityZW5pY2U6ICAKK3JldjogIAorcnRjd2FrZTogIAorcnVudXNlcjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc3Vsb2dpbjogIHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFza3NldDogIAordWw6ICBsaWJ0aW5mbyAKK3Vuc2hhcmU6ICAKK3V0bXBkdW1wOiAgCit3YWxsOiAgCit3aGVyZWlzOiAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLWxpYm1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAzNmM2OGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJtb3VudApAQCAtMCwwICsxLDk4IEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJuY3Vyc2VzdyBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2NvbHVtbjogIGxpYnNtYXJ0Y29scyAKK2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitmaW5jb3JlOiAgbGlic21hcnRjb2xzIAorZmluZGZzOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYnNtYXJ0Y29scy5zby4xLjEuMDogIAorbGlidXVpZC5zby4xLjMuMDogIAorbG9zZXR1cDogIGxpYnNtYXJ0Y29scyAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvZ2luczogIGxpYnNtYXJ0Y29scyBsaWJzeXN0ZW1kIAorbHNtZW06ICBsaWJzbWFydGNvbHMgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCityZmtpbGw6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAordXVpZHBhcnNlOiAgbGlic21hcnRjb2xzIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorenJhbWN0bDogIGxpYnNtYXJ0Y29scyAKK2FkZHBhcnQ6ICAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxrem9uZTogIAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJyZWFkbGluZSBsaWJ1c2VyIAorY2htZW06ICAKK2NocnQ6ICAKK2Noc2g6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJyZWFkbGluZSBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJtIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJwYW0gbGlicGFtX21pc2MgCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAord2FsbDogIAord2hlcmVpczogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlicyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLWxpYnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGNmOGFlZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLWxpYnMKQEAgLTAsMCArMSw2OSBAQAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjaG1lbTogIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2N0cmxhbHRkZWw6ICAKK2RtZXNnOiAgbGlicnQgbGlidGluZm8gCitmYWxsb2NhdGU6ICAKK2ZkZm9ybWF0OiAgCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIGxpYm0gCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCitta3N3YXA6ICAKK21vcmU6ICBsaWJ0aW5mbyAKK25hbWVpOiAgCitub2xvZ2luOiAgCituc2VudGVyOiAgCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzdWxvZ2luOiAgcnlwdCAKK3N3aXRjaF9yb290OiAgCit0YXNrc2V0OiAgCit1bDogIGxpYnRpbmZvIAordW5zaGFyZTogIAordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLWxpYnNtYXJ0Y29scyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctbm9uLWxpYnNtYXJ0Y29scwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOGU3YTIyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlic21hcnRjb2xzCkBAIC0wLDAgKzEsODUgQEAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitta3N3YXA6ICBsaWJibGtpZCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorbW91bnRwb2ludDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJ1dWlkIAorc3dhcGxhYmVsOiAgbGliYmxraWQgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjaG1lbTogIAorY2hydDogIAorY2hzaDogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnVzZXIgCitjb2w6ICAKK2NvbGNydDogIAorY29scm06ICAKK2N0cmxhbHRkZWw6ICAKK2RtZXNnOiAgbGlicnQgbGlidGluZm8gCitmYWxsb2NhdGU6ICAKK2ZkZm9ybWF0OiAgCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIGxpYm0gCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbm9sb2dpbjogIAorbnNlbnRlcjogIAorcGl2b3Rfcm9vdDogIAorcmF3OiAgCityZWFkcHJvZmlsZTogIAorcmVuYW1lOiAgCityZW5pY2U6ICAKK3JldjogIAorcnRjd2FrZTogIAorcnVudXNlcjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc2NyaXB0OiAgbGlicnQgbGlidXRpbCAKK3NjcmlwdHJlcGxheTogIAorc2V0YXJjaDogIAorc2V0cHJpdjogIGFwLW5nIAorc2V0c2lkOiAgCitzZXR0ZXJtOiAgbGlidGluZm8gCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc3Vsb2dpbjogIHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFza3NldDogIAordWw6ICBsaWJ0aW5mbyAKK3Vuc2hhcmU6ICAKK3V0bXBkdW1wOiAgCit3YWxsOiAgCit3aGVyZWlzOiAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1saWJ1dWlkIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlidXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZTZiYjM4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbGlidXVpZApAQCAtMCwwICsxLDEwNCBAQAorYmxraWQ6ICBsaWJibGtpZCAKK2NvbHVtbjogIGxpYnNtYXJ0Y29scyAKK2VqZWN0OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgCitmaW5jb3JlOiAgbGlic21hcnRjb2xzIAorZmluZGZzOiAgbGliYmxraWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIGxpYnVkZXYgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgCitmc3RyaW06ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidWRldiAKK2xzY3B1OiAgbGlic21hcnRjb2xzIAorbHNpcGM6ICBsaWJzbWFydGNvbHMgCitsc2xvY2tzOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic21hcnRjb2xzIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbWVtOiAgbGlic21hcnRjb2xzIAorbHNuczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyAKK21rc3dhcDogIGxpYmJsa2lkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCAKK3BhcnR4OiAgbGliYmxraWQgbGlic21hcnRjb2xzIAorcHJsaW1pdDogIGxpYnNtYXJ0Y29scyAKK3B5bGlibW91bnQuc286ICBsaWJibGtpZCBsaWJtb3VudCBsaWJweXRob24yIGxpYnJ0IAorcmZraWxsOiAgbGlic21hcnRjb2xzIAorc3dhcGxhYmVsOiAgbGliYmxraWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgCit1bW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlic21hcnRjb2xzIAorenJhbWN0bDogIGxpYnNtYXJ0Y29scyAKK2FkZHBhcnQ6ICAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxrem9uZTogIAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJyZWFkbGluZSBsaWJ1c2VyIAorY2htZW06ICAKK2NocnQ6ICAKK2Noc2g6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJyZWFkbGluZSBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJtIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJwYW0gbGlicGFtX21pc2MgCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAord2FsbDogIAord2hlcmVpczogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbmxzIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24tbmxzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5YjMwYWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi1ubHMKQEAgLTAsMCArMSwxMTIgQEAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYm1vdW50IGxpYm5jdXJzZXN3IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorY29sdW1uOiAgbGlic21hcnRjb2xzIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2ZpbmNvcmU6ICBsaWJzbWFydGNvbHMgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbWVtOiAgbGlic21hcnRjb2xzIAorbHNuczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbWtzd2FwOiAgbGliYmxraWQgbGlidXVpZCAKK21vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJ1dWlkIAorcmZraWxsOiAgbGlic21hcnRjb2xzIAorc2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitzd2FwbGFiZWw6ICBsaWJibGtpZCBsaWJ1dWlkIAorc3dhcG9mZjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAordXVpZHBhcnNlOiAgbGlic21hcnRjb2xzIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorenJhbWN0bDogIGxpYnNtYXJ0Y29scyAKK2FkZHBhcnQ6ICAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxrem9uZTogIAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJyZWFkbGluZSBsaWJ1c2VyIAorY2htZW06ICAKK2NocnQ6ICAKK2Noc2g6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJyZWFkbGluZSBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJtIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJwYW0gbGlicGFtX21pc2MgCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAord2FsbDogIAord2hlcmVpczogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24td2lkZWNoYXIgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLW5vbi13aWRlY2hhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1ub24td2lkZWNoYXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc2VsaW51eCBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc2VsaW51eApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZGI1MDhmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1zZWxpbnV4CkBAIC0wLDAgKzEsMTEyIEBACitibGtpZDogIGxpYmJsa2lkIGxpYnV1aWQgCitjZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJtb3VudCBsaWJuY3Vyc2VzdyBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorY29sdW1uOiAgbGlic21hcnRjb2xzIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCitmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYnJlYWRsaW5lIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorZmluY29yZTogIGxpYnNtYXJ0Y29scyAKK2ZpbmRmczogIGxpYmJsa2lkIGxpYnV1aWQgCitmaW5kbW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidWRldiBsaWJ1dWlkIAorZnNjazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK2xpYmJsa2lkLnNvLjEuMS4wOiAgbGlidXVpZCAKK2xpYmZkaXNrLnNvLjEuMS4wOiAgbGliYmxraWQgbGlidXVpZCAKK2xpYm1vdW50LnNvLjEuMS4wOiAgbGliYmxraWQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorbGlic21hcnRjb2xzLnNvLjEuMS4wOiAgCitsaWJ1dWlkLnNvLjEuMy4wOiAgCitsb3NldHVwOiAgbGlic21hcnRjb2xzIAorbHNibGs6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnV1aWQgCitsc2xvZ2luczogIGxpYnNlbGludXggbGlic21hcnRjb2xzIGxpYnN5c3RlbWQgCitsc21lbTogIGxpYnNtYXJ0Y29scyAKK2xzbnM6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbWtzd2FwOiAgbGliYmxraWQgbGlic2VsaW51eCBsaWJ1dWlkIAorbW91bnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCittb3VudHBvaW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJzZWxpbnV4IGxpYnV1aWQgCityZmtpbGw6ICBsaWJzbWFydGNvbHMgCitzZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK3N3YXBsYWJlbDogIGxpYmJsa2lkIGxpYnV1aWQgCitzd2Fwb2ZmOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJ1dWlkIAorc3dhcG9uOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlic2VsaW51eCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNlbGludXggbGlidXVpZCAKK3V1aWRkOiAgbGlicnQgbGlic3lzdGVtZCBsaWJ1dWlkIAordXVpZGdlbjogIGxpYnV1aWQgCit1dWlkcGFyc2U6ICBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3dkY3RsOiAgbGlic21hcnRjb2xzIAord2lwZWZzOiAgbGliYmxraWQgbGlic21hcnRjb2xzIGxpYnV1aWQgCit6cmFtY3RsOiAgbGlic21hcnRjb2xzIAorYWRkcGFydDogIAorYWdldHR5OiAgCitibGtkaXNjYXJkOiAgbGlicnQgCitibGt6b25lOiAgCitibG9ja2RldjogIAorY2FsOiAgbGlidGluZm8gCitjaGNwdTogIAorY2hmbjogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJwdGhyZWFkIGxpYnJlYWRsaW5lIGxpYnNlbGludXggbGlidXNlciAKK2NobWVtOiAgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlic2VsaW51eCBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJtIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlic2VsaW51eCAKK2xvb2s6ICAKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCituYW1laTogIAorbm9sb2dpbjogIAorbnNlbnRlcjogIGxpYnNlbGludXggCitwaXZvdF9yb290OiAgCityYXc6ICAKK3JlYWRwcm9maWxlOiAgCityZW5hbWU6ICAKK3JlbmljZTogIAorcmVzaXplcGFydDogIAorcmV2OiAgCitydGN3YWtlOiAgCitydW51c2VyOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzY3JpcHQ6ICBsaWJydCBsaWJ1dGlsIAorc2NyaXB0cmVwbGF5OiAgCitzZXRhcmNoOiAgCitzZXRwcml2OiAgYXAtbmcgCitzZXRzaWQ6ICAKK3NldHRlcm06ICBsaWJ0aW5mbyAKK3N1OiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnV0aWwgCitzdWxvZ2luOiAgbGlic2VsaW51eCByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAord2FsbDogIAord2hlcmVpczogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1zbGFuZyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc2xhbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM3ZThhNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2J1aWxkLXN5cy9jb25maWctc2xhbmcKQEAgLTAsMCArMSwxMTIgQEAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYm1vdW50IGxpYnJ0IGxpYnNsYW5nIGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorY29sdW1uOiAgbGlic21hcnRjb2xzIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2ZpbmNvcmU6ICBsaWJzbWFydGNvbHMgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbWVtOiAgbGlic21hcnRjb2xzIAorbHNuczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbWtzd2FwOiAgbGliYmxraWQgbGlidXVpZCAKK21vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJ1dWlkIAorcmZraWxsOiAgbGlic21hcnRjb2xzIAorc2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitzd2FwbGFiZWw6ICBsaWJibGtpZCBsaWJ1dWlkIAorc3dhcG9mZjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAordXVpZHBhcnNlOiAgbGlic21hcnRjb2xzIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorenJhbWN0bDogIGxpYnNtYXJ0Y29scyAKK2FkZHBhcnQ6ICAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxrem9uZTogIAorYmxvY2tkZXY6ICAKK2NhbDogIGxpYnRpbmZvIAorY2hjcHU6ICAKK2NoZm46ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJyZWFkbGluZSBsaWJ1c2VyIAorY2htZW06ICAKK2NocnQ6ICAKK2Noc2g6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlicHRocmVhZCBsaWJyZWFkbGluZSBsaWJ1c2VyIAorY29sOiAgCitjb2xjcnQ6ICAKK2NvbHJtOiAgCitjdHJsYWx0ZGVsOiAgCitkZWxwYXJ0OiAgCitkbWVzZzogIGxpYnJ0IGxpYnRpbmZvIAorZmFsbG9jYXRlOiAgCitmZGZvcm1hdDogIAorZmxvY2s6ICBsaWJydCAKK2ZzY2suY3JhbWZzOiAgbGlieiAKK2ZzY2subWluaXg6ICAKK2ZzZnJlZXplOiAgCitnZXRvcHQ6ICAKK2hleGR1bXA6ICBsaWJ0aW5mbyAKK2h3Y2xvY2s6ICBsaWJtIAoraW9uaWNlOiAgCitpcGNtazogIAoraXBjcm06ICAKK2lwY3M6ICAKK2lzb3NpemU6ICAKK2tpbGw6ICAKK2xhc3Q6ICBsaWJydCAKK2xkYXR0YWNoOiAgCitsb2dnZXI6ICBsaWJzeXN0ZW1kIAorbG9naW46ICBsaWJwYW0gbGlicGFtX21pc2MgCitsb29rOiAgCittY29va2llOiAgCittZXNnOiAgCitta2ZzOiAgCitta2ZzLmJmczogIAorbWtmcy5jcmFtZnM6ICBsaWJ6IAorbWtmcy5taW5peDogIAorbW9yZTogIGxpYnRpbmZvIAorbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc3U6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3N1bG9naW46ICByeXB0IAorc3dpdGNoX3Jvb3Q6ICAKK3Rhc2tzZXQ6ICAKK3VsOiAgbGlidGluZm8gCit1bnNoYXJlOiAgCit1dG1wZHVtcDogIAord2FsbDogIAord2hlcmVpczogIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1zdGF0aWMgYi90ZXN0cy9leHBlY3RlZC9idWlsZC1zeXMvY29uZmlnLXN0YXRpYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MDVjODQ5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvYnVpbGQtc3lzL2NvbmZpZy1zdGF0aWMKQEAgLTAsMCArMSwxMjAgQEAKK2Jsa2lkOiAgbGliYmxraWQgbGlidXVpZCAKK2NmZGlzazogIGxpYmJsa2lkIGxpYmZkaXNrIGxpYm1vdW50IGxpYm5jdXJzZXN3IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ0aW5mbyBsaWJ1dWlkIAorY29sdW1uOiAgbGlic21hcnRjb2xzIAorZWplY3Q6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorZmRpc2s6ICBsaWJibGtpZCBsaWJmZGlzayBsaWJyZWFkbGluZSBsaWJzbWFydGNvbHMgbGlidGluZm8gbGlidXVpZCAKK2ZpbmNvcmU6ICBsaWJzbWFydGNvbHMgCitmaW5kZnM6ICBsaWJibGtpZCBsaWJ1dWlkIAorZmluZG1udDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitmc2NrOiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK2ZzdHJpbTogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitsaWJibGtpZC5zby4xLjEuMDogIGxpYnV1aWQgCitsaWJmZGlzay5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnV1aWQgCitsaWJtb3VudC5zby4xLjEuMDogIGxpYmJsa2lkIGxpYnJ0IGxpYnV1aWQgCitsaWJzbWFydGNvbHMuc28uMS4xLjA6ICAKK2xpYnV1aWQuc28uMS4zLjA6ICAKK2xvc2V0dXA6ICBsaWJzbWFydGNvbHMgCitsc2JsazogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1ZGV2IGxpYnV1aWQgCitsc2NwdTogIGxpYnNtYXJ0Y29scyAKK2xzaXBjOiAgbGlic21hcnRjb2xzIAorbHNsb2NrczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbHNsb2dpbnM6ICBsaWJzbWFydGNvbHMgbGlic3lzdGVtZCAKK2xzbWVtOiAgbGlic21hcnRjb2xzIAorbHNuczogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorbWtzd2FwOiAgbGliYmxraWQgbGlidXVpZCAKK21vdW50OiAgbGliYmxraWQgbGlibW91bnQgbGlicnQgbGlidXVpZCAKK21vdW50cG9pbnQ6ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJ1dWlkIAorcGFydHg6ICBsaWJibGtpZCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3BybGltaXQ6ICBsaWJzbWFydGNvbHMgCitweWxpYm1vdW50LnNvOiAgbGliYmxraWQgbGlibW91bnQgbGlicHl0aG9uMiBsaWJydCBsaWJ1dWlkIAorcmZraWxsOiAgbGlic21hcnRjb2xzIAorc2ZkaXNrOiAgbGliYmxraWQgbGliZmRpc2sgbGlicmVhZGxpbmUgbGlic21hcnRjb2xzIGxpYnRpbmZvIGxpYnV1aWQgCitzd2FwbGFiZWw6ICBsaWJibGtpZCBsaWJ1dWlkIAorc3dhcG9mZjogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCitzd2Fwb246ICBsaWJibGtpZCBsaWJtb3VudCBsaWJydCBsaWJzbWFydGNvbHMgbGlidXVpZCAKK3Vtb3VudDogIGxpYmJsa2lkIGxpYm1vdW50IGxpYnJ0IGxpYnV1aWQgCit1dWlkZDogIGxpYnJ0IGxpYnN5c3RlbWQgbGlidXVpZCAKK3V1aWRnZW46ICBsaWJ1dWlkIAordXVpZHBhcnNlOiAgbGlic21hcnRjb2xzIGxpYnV1aWQgCit3ZGN0bDogIGxpYnNtYXJ0Y29scyAKK3dpcGVmczogIGxpYmJsa2lkIGxpYnNtYXJ0Y29scyBsaWJ1dWlkIAorenJhbWN0bDogIGxpYnNtYXJ0Y29scyAKK2FkZHBhcnQ6ICAKK2FnZXR0eTogIAorYmxrZGlzY2FyZDogIGxpYnJ0IAorYmxraWQuc3RhdGljOiBTVEFUSUMKK2Jsa3pvbmU6ICAKK2Jsb2NrZGV2OiAgCitjYWw6ICBsaWJ0aW5mbyAKK2NoY3B1OiAgCitjaGZuOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlidXNlciAKK2NobWVtOiAgCitjaHJ0OiAgCitjaHNoOiAgbGlicGFtIGxpYnBhbV9taXNjIGxpYnB0aHJlYWQgbGlicmVhZGxpbmUgbGlidXNlciAKK2NvbDogIAorY29sY3J0OiAgCitjb2xybTogIAorY3RybGFsdGRlbDogIAorZGVscGFydDogIAorZG1lc2c6ICBsaWJydCBsaWJ0aW5mbyAKK2ZhbGxvY2F0ZTogIAorZmRmb3JtYXQ6ICAKK2ZkaXNrLnN0YXRpYzogU1RBVElDCitmbG9jazogIGxpYnJ0IAorZnNjay5jcmFtZnM6ICBsaWJ6IAorZnNjay5taW5peDogIAorZnNmcmVlemU6ICAKK2dldG9wdDogIAoraGV4ZHVtcDogIGxpYnRpbmZvIAoraHdjbG9jazogIGxpYm0gCitpb25pY2U6ICAKK2lwY21rOiAgCitpcGNybTogIAoraXBjczogIAoraXNvc2l6ZTogIAora2lsbDogIAorbGFzdDogIGxpYnJ0IAorbGRhdHRhY2g6ICAKK2xvZ2dlcjogIGxpYnN5c3RlbWQgCitsb2dpbjogIGxpYnBhbSBsaWJwYW1fbWlzYyAKK2xvb2s6ICAKK2xvc2V0dXAuc3RhdGljOiBTVEFUSUMKK21jb29raWU6ICAKK21lc2c6ICAKK21rZnM6ICAKK21rZnMuYmZzOiAgCitta2ZzLmNyYW1mczogIGxpYnogCitta2ZzLm1pbml4OiAgCittb3JlOiAgbGlidGluZm8gCittb3VudC5zdGF0aWM6IFNUQVRJQworbmFtZWk6ICAKK25vbG9naW46ICAKK25zZW50ZXI6ICAKK25zZW50ZXIuc3RhdGljOiBTVEFUSUMKK3Bpdm90X3Jvb3Q6ICAKK3JhdzogIAorcmVhZHByb2ZpbGU6ICAKK3JlbmFtZTogIAorcmVuaWNlOiAgCityZXNpemVwYXJ0OiAgCityZXY6ICAKK3J0Y3dha2U6ICAKK3J1bnVzZXI6ICBsaWJwYW0gbGlicGFtX21pc2MgbGlidXRpbCAKK3NjcmlwdDogIGxpYnJ0IGxpYnV0aWwgCitzY3JpcHRyZXBsYXk6ICAKK3NldGFyY2g6ICAKK3NldHByaXY6ICBhcC1uZyAKK3NldHNpZDogIAorc2V0dGVybTogIGxpYnRpbmZvIAorc2ZkaXNrLnN0YXRpYzogU1RBVElDCitzdTogIGxpYnBhbSBsaWJwYW1fbWlzYyBsaWJ1dGlsIAorc3Vsb2dpbjogIHJ5cHQgCitzd2l0Y2hfcm9vdDogIAordGFza3NldDogIAordWw6ICBsaWJ0aW5mbyAKK3Vtb3VudC5zdGF0aWM6IFNUQVRJQwordW5zaGFyZTogIAordW5zaGFyZS5zdGF0aWM6IFNUQVRJQwordXRtcGR1bXA6ICAKK3dhbGw6ICAKK3doZXJlaXM6ICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMW0tbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmEwZjJhZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtLW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIG1vbnRoCisgRGVjZW1iZXIgMjE0NzQ4MzY0NgorTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAgICAgICAgICAxICAyCisgMyAgNCAgNSAgNiAgNyAgOCAgOQorMTAgMTEgMTIgMTMgMTQgMTUgMTYKKzE3IDE4IDE5IDIwIDIxIDIyIDIzCisyNCAyNSAyNiAyNyAyOCAyOSAzMAorMzEgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtLXllYXIgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xbS15ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwYzBhMTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xbS15ZWFyCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIKKyBKYW51YXJ5IDIxNDc0ODM2NDYgCitNbyBUdSBXZSBUaCBGciBTYSBTdQorIDEgIDIgIDMgIDQgIDUgIDYgIDcKKyA4ICA5IDEwIDExIDEyIDEzIDE0CisxNSAxNiAxNyAxOCAxOSAyMCAyMQorMjIgMjMgMjQgMjUgMjYgMjcgMjgKKzI5IDMwIDMxICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMW1qLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMW1qLW1vbnRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyOWUwNWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xbWotbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gICAgLSBNb25kYXktYmFzZWQgbW9udGgKKyAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgICAgICAgICAgICAgICAgICAgIDMzNSAzMzYKKzMzNyAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MworMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwCiszNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcKKzM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NAorMzY1ICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xbWoteWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtai15ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2YzNmOGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xbWoteWVhcgpAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAgICAtIE1vbmRheS1iYXNlZCB5ZWFyCisgICAgIEphbnVhcnkgMjE0NzQ4MzY0NiAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3CisgIDggICA5ICAxMCAgMTEgIDEyICAxMyAgMTQKKyAxNSAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMQorIDIyICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4CisgMjkgIDMwICAzMSAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMW1qdy1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtanctbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVmODI2OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtanctbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gICAgLSBNb25kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrcworICAgICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQ4ICAgICAgICAgICAgICAgICAgICAgMzM1IDMzNgorNDkgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzCis1MCAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAKKzUxIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NworNTIgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0CisgMSAzNjUgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtancteWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtancteWVhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDAxZTljCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMW1qdy15ZWFyCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuICAgIC0gTW9uZGF5LWJhc2VkIHllYXIgd2l0aCB3ZWVrcworICAgICAgSmFudWFyeSAyMTQ3NDgzNjQ2ICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAxICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNworIDIgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgIDE0CisgMyAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEKKyA0ICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOAorIDUgIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtdy1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFtdy1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hN2RkN2M2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMW13LW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIG1vbnRoIHdpdGggd2Vla3MKKyAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDggICAgICAgICAgICAgICAgIDEgIDIKKzQ5ICAzICA0ICA1ICA2ICA3ICA4ICA5Cis1MCAxMCAxMSAxMiAxMyAxNCAxNSAxNgorNTEgMTcgMTggMTkgMjAgMjEgMjIgMjMKKzUyIDI0IDI1IDI2IDI3IDI4IDI5IDMwCisgMSAzMSAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMW13LXllYXIgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xbXcteWVhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjlmZGZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMW13LXllYXIKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgeWVhciB3aXRoIHdlZWtzCisgICBKYW51YXJ5IDIxNDc0ODM2NDYgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAxICAxICAyICAzICA0ICA1ICA2ICA3CisgMiAgOCAgOSAxMCAxMSAxMiAxMyAxNAorIDMgMTUgMTYgMTcgMTggMTkgMjAgMjEKKyA0IDIyIDIzIDI0IDI1IDI2IDI3IDI4CisgNSAyOSAzMCAzMSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMXMtbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNmNWMwZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzLW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoCisgRGVjZW1iZXIgMjE0NzQ4MzY0NgorU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAgICAgICAgICAgICAxCisgMiAgMyAgNCAgNSAgNiAgNyAgOAorIDkgMTAgMTEgMTIgMTMgMTQgMTUKKzE2IDE3IDE4IDE5IDIwIDIxIDIyCisyMyAyNCAyNSAyNiAyNyAyOCAyOQorMzAgMzEgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzLXllYXIgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xcy15ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0NDJhZWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xcy15ZWFyCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHllYXIKKyBKYW51YXJ5IDIxNDc0ODM2NDYgCitTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgIDEgIDIgIDMgIDQgIDUgIDYKKyA3ICA4ICA5IDEwIDExIDEyIDEzCisxNCAxNSAxNiAxNyAxOCAxOSAyMAorMjEgMjIgMjMgMjQgMjUgMjYgMjcKKzI4IDI5IDMwIDMxICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMXNqLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMXNqLW1vbnRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQxNTkzNTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xc2otbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQgbW9udGgKKyAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAgICAgICAgICAgICAzMzUKKzMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MgorMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5CiszNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYKKzM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MworMzY0IDM2NSAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xc2oteWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzai15ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk4MGU0YjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xc2oteWVhcgpAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAgICAtIFN1bmRheS1iYXNlZCB5ZWFyCisgICAgIEphbnVhcnkgMjE0NzQ4MzY0NiAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgMSAgIDIgICAzICAgNCAgIDUgICA2CisgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgMTMKKyAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMAorIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3CisgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMXNqdy1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzanctbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTM5YmEyMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzanctbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrcworICAgICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQ4ICAgICAgICAgICAgICAgICAgICAgICAgIDMzNQorNDkgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyCis1MCAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkKKzUxIDM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NgorNTIgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzCis1MyAzNjQgMzY1ICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzancteWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzancteWVhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDM1ZGFiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMXNqdy15ZWFyCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuICAgIC0gU3VuZGF5LWJhc2VkIHllYXIgd2l0aCB3ZWVrcworICAgICAgSmFudWFyeSAyMTQ3NDgzNjQ2ICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAxICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNgorIDIgICA3ICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzCisgMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAKKyA0ICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNworIDUgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzdy1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTFzdy1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTNhYWE3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMXN3LW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoIHdpdGggd2Vla3MKKyAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDggICAgICAgICAgICAgICAgICAgIDEKKzQ5ICAyICAzICA0ICA1ICA2ICA3ICA4Cis1MCAgOSAxMCAxMSAxMiAxMyAxNCAxNQorNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzUyIDIzIDI0IDI1IDI2IDI3IDI4IDI5Cis1MyAzMCAzMSAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMXN3LXllYXIgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0xc3cteWVhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZmIyODdjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItMXN3LXllYXIKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgeWVhciB3aXRoIHdlZWtzCisgICBKYW51YXJ5IDIxNDc0ODM2NDYgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAgICAxICAyICAzICA0ICA1ICA2CisgMiAgNyAgOCAgOSAxMCAxMSAxMiAxMworIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAKKyA0IDIxIDIyIDIzIDI0IDI1IDI2IDI3CisgNSAyOCAyOSAzMCAzMSAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTNtLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM20tbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjU5MWIwNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTNtLW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIDMgbW9udGhzCisgTm92ZW1iZXIgMjE0NzQ4MzY0NiAgIERlY2VtYmVyIDIxNDc0ODM2NDYgICBKYW51YXJ5IDIxNDc0ODM2NDcgCitNbyBUdSBXZSBUaCBGciBTYSBTdSAgTW8gVHUgV2UgVGggRnIgU2EgU3UgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgICAgMSAgMiAgMyAgNCAgICAgICAgICAgICAgICAgIDEgIDIgICAgICAxICAyICAzICA0ICA1ICA2CisgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDMgIDQgIDUgIDYgIDcgIDggIDkgICA3ICA4ICA5IDEwIDExIDEyIDEzCisxMiAxMyAxNCAxNSAxNiAxNyAxOCAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgIDE0IDE1IDE2IDE3IDE4IDE5IDIwCisxOSAyMCAyMSAyMiAyMyAyNCAyNSAgMTcgMTggMTkgMjAgMjEgMjIgMjMgIDIxIDIyIDIzIDI0IDI1IDI2IDI3CisyNiAyNyAyOCAyOSAzMCAgICAgICAgMjQgMjUgMjYgMjcgMjggMjkgMzAgIDI4IDI5IDMwIDMxICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0zbWotbW9udGggYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0zbWotbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjk3ZjZhOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTNtai1tb250aApAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAgICAtIE1vbmRheS1iYXNlZCAzIG1vbnRocworICAgIE5vdmVtYmVyIDIxNDc0ODM2NDYgICAgICAgICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgICAgICAgICAgSmFudWFyeSAyMTQ3NDgzNjQ3ICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgMzA1IDMwNiAzMDcgMzA4ICAgICAgICAgICAgICAgICAgICAgIDMzNSAzMzYgICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNgorMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1ICAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAxMworMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgMzIyICAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMAorMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5ICAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcgICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNworMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgICAgICAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM21qdy1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTNtanctbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY2NjQ4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTNtanctbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gICAgLSBNb25kYXktYmFzZWQgMyBtb250aHMgd2l0aCB3ZWVrcworICAgICAgTm92ZW1iZXIgMjE0NzQ4MzY0NiAgICAgICAgICAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgICAgICAgICAgIEphbnVhcnkgMjE0NzQ4MzY0NyAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDQgICAgICAgICAgICAgMzA1IDMwNiAzMDcgMzA4ICA0OCAgICAgICAgICAgICAgICAgICAgIDMzNSAzMzYgICAxICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNgorNDUgMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1ICA0OSAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgICAyICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAxMworNDYgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgMzIyICA1MCAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgICAzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMAorNDcgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggMzI5ICA1MSAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcgICA0ICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNworNDggMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgICAgICA1MiAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgICA1ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAzNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM213LW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM213LW1vbnRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjZTFmZjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0zbXctbW9udGgKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgMyBtb250aHMgd2l0aCB3ZWVrcworICBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgICAgICBKYW51YXJ5IDIxNDc0ODM2NDcgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDQgICAgICAgICAgIDEgIDIgIDMgIDQgIDQ4ICAgICAgICAgICAgICAgICAxICAyICAgMSAgICAgMSAgMiAgMyAgNCAgNSAgNgorNDUgIDUgIDYgIDcgIDggIDkgMTAgMTEgIDQ5ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMiAgNyAgOCAgOSAxMCAxMSAxMiAxMworNDYgMTIgMTMgMTQgMTUgMTYgMTcgMTggIDUwIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMyAxNCAxNSAxNiAxNyAxOCAxOSAyMAorNDcgMTkgMjAgMjEgMjIgMjMgMjQgMjUgIDUxIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgNCAyMSAyMiAyMyAyNCAyNSAyNiAyNworNDggMjYgMjcgMjggMjkgMzAgICAgICAgIDUyIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgNSAyOCAyOSAzMCAzMSAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAxIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM3MtbW9udGggYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0zcy1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGJkYjhkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM3MtbW9udGgKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgMyBtb250aHMKKyBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgRGVjZW1iZXIgMjE0NzQ4MzY0NiAgIEphbnVhcnkgMjE0NzQ4MzY0NyAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAgICAgICAxICAyICAzICAgICAgICAgICAgICAgICAgICAgMSAgICAgICAgIDEgIDIgIDMgIDQgIDUKKyA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDYgIDcgIDggIDkgMTAgMTEgMTIKKzExIDEyIDEzIDE0IDE1IDE2IDE3ICAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgMTMgMTQgMTUgMTYgMTcgMTggMTkKKzE4IDE5IDIwIDIxIDIyIDIzIDI0ICAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgMjAgMjEgMjIgMjMgMjQgMjUgMjYKKzI1IDI2IDI3IDI4IDI5IDMwICAgICAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgMjcgMjggMjkgMzAgMzEgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTNzai1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTNzai1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMjA1ZDU2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM3NqLW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuICAgIC0gU3VuZGF5LWJhc2VkIDMgbW9udGhzCisgICAgTm92ZW1iZXIgMjE0NzQ4MzY0NiAgICAgICAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgICAgICAgICBKYW51YXJ5IDIxNDc0ODM2NDcgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAgICAgMzA1IDMwNiAzMDcgICAgICAgICAgICAgICAgICAgICAgICAgIDMzNSAgICAgICAgICAgIDEgICAyICAgMyAgIDQgICA1CiszMDggMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgIDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyCiszMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgIDM0MyAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAgIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5CiszMjIgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggIDM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2CiszMjkgMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2NCAzNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0zc2p3LW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM3Nqdy1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDFkM2FlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2JpZ3llYXItM3Nqdy1tb250aApAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAgICAtIFN1bmRheS1iYXNlZCAzIG1vbnRocyB3aXRoIHdlZWtzCisgICAgICBOb3ZlbWJlciAyMTQ3NDgzNjQ2ICAgICAgICAgICAgIERlY2VtYmVyIDIxNDc0ODM2NDYgICAgICAgICAgICAgSmFudWFyeSAyMTQ3NDgzNjQ3ICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0NCAgICAgICAgICAgICAgICAgMzA1IDMwNiAzMDcgIDQ4ICAgICAgICAgICAgICAgICAgICAgICAgIDMzNSAgIDEgICAgICAgICAgIDEgICAyICAgMyAgIDQgICA1Cis0NSAzMDggMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgIDQ5IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxIDM0MiAgIDIgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgIDEyCis0NiAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgIDUwIDM0MyAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAgIDMgIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5Cis0NyAzMjIgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjggIDUxIDM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAgIDQgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2Cis0OCAzMjkgMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAgIDUyIDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyIDM2MyAgIDUgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUzIDM2NCAzNjUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0zc3ctbW9udGggYi90ZXN0cy9leHBlY3RlZC9jYWwvYmlneWVhci0zc3ctbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA1ZTJjNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9iaWd5ZWFyLTNzdy1tb250aApAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCAzIG1vbnRocyB3aXRoIHdlZWtzCisgIE5vdmVtYmVyIDIxNDc0ODM2NDYgICAgICBEZWNlbWJlciAyMTQ3NDgzNjQ2ICAgICAgIEphbnVhcnkgMjE0NzQ4MzY0NyAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0NCAgICAgICAgICAgICAgMSAgMiAgMyAgNDggICAgICAgICAgICAgICAgICAgIDEgICAxICAgICAgICAxICAyICAzICA0ICA1Cis0NSAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgNDkgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAyICA2ICA3ICA4ICA5IDEwIDExIDEyCis0NiAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgNTAgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAzIDEzIDE0IDE1IDE2IDE3IDE4IDE5Cis0NyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIgICA0IDIwIDIxIDIyIDIzIDI0IDI1IDI2Cis0OCAyNSAyNiAyNyAyOCAyOSAzMCAgICAgNTIgMjMgMjQgMjUgMjYgMjcgMjggMjkgICA1IDI3IDI4IDI5IDMwIDMxICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgNTMgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvY29sb3IgYi90ZXN0cy9leHBlY3RlZC9jYWwvY29sb3IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzE0N2NjYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9jb2xvcgpAQCAtMCwwICsxLDU1IEBACisKK0ZpcnN0IGRheQorICAgIEphbnVhcnkgMDAwMSAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhCisgICAgICAgICAgICAgICAgICAbWzdtIDEbWzI3bQorIDIgIDMgIDQgIDUgIDYgIDcgIDgKKyA5IDEwIDExIDEyIDEzIDE0IDE1CisxNiAxNyAxOCAxOSAyMCAyMSAyMgorMjMgMjQgMjUgMjYgMjcgMjggMjkKKzMwIDMxICAgICAgICAgICAgICAgCitSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgMQorICAgU2VwdGVtYmVyIDE3NTIgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhCisgICAgICAgMSAbWzdtIDIbWzI3bSAxNCAxNSAxNgorMTcgMTggMTkgMjAgMjEgMjIgMjMKKzI0IDI1IDI2IDI3IDI4IDI5IDMwCisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgCitSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgMgorICAgU2VwdGVtYmVyIDE3NTIgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhCisgICAgICAgMSAgMiAxNCAxNSAxNgorMTcgMTggMTkgMjAgMjEgMjIgMjMKKzI0IDI1IDI2IDI3IDI4IDI5IDMwCisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgCitSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgMworICAgU2VwdGVtYmVyIDE3NTIgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhCisgICAgICAgMSAgMiAxNCAxNSAxNgorMTcgMTggMTkgMjAgMjEgMjIgMjMKKzI0IDI1IDI2IDI3IDI4IDI5IDMwCisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgCitSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgNAorICAgU2VwdGVtYmVyIDE3NTIgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhCisgICAgICAgMSAgMiAbWzdtMTQbWzI3bSAxNSAxNgorMTcgMTggMTkgMjAgMjEgMjIgMjMKKzI0IDI1IDI2IDI3IDI4IDI5IDMwCisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgCitMYXN0IGRheQorICAgIE5vdmVtYmVyIDk5OTkgICAgICAgICBEZWNlbWJlciA5OTk5ICAgICAgICAgSmFudWFyeSAxMDAwMCAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgIDEgIDIgIDMgIDQgIDUgIDYgICAgICAgICAgICAxICAyICAzICA0ICAgICAgICAgICAgICAgICAgICAgMQorIDcgIDggIDkgMTAgMTEgMTIgMTMgICA1ICA2ICA3ICA4ICA5IDEwIDExICAgMiAgMyAgNCAgNSAgNiAgNyAgOAorMTQgMTUgMTYgMTcgMTggMTkgMjAgIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgOSAxMCAxMSAxMiAxMyAxNCAxNQorMjEgMjIgMjMgMjQgMjUgMjYgMjcgIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAxNiAxNyAxOCAxOSAyMCAyMSAyMgorMjggMjkgMzAgICAgICAgICAgICAgIDI2IDI3IDI4IDI5IDMwIBtbN20zMRtbMjdtICAgICAyMyAyNCAyNSAyNiAyNyAyOCAyOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMCAzMSAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL2NvbG9ydyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9jb2xvcncKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWVjYWI2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9jb2xvcncKQEAgLTAsMCArMSw1NSBAQAorCitGaXJzdCBkYXkgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgIEphbnVhcnkgMDAwMSAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorIDEgICAgICAgICAgICAgICAgICAgG1s3bSAxG1syN20KKyAyICAyICAzICA0ICA1ICA2ICA3ICA4CisgMyAgOSAxMCAxMSAxMiAxMyAxNCAxNQorIDQgMTYgMTcgMTggMTkgMjAgMjEgMjIKKyA1IDIzIDI0IDI1IDI2IDI3IDI4IDI5CisgNiAzMCAzMSAgICAgICAgICAgICAgIAorUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDEgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgU2VwdGVtYmVyIDE3NTIgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzYgICAgICAgIDEgG1s3bSAyG1syN20gMTQgMTUgMTYKKzM3IDE3IDE4IDE5IDIwIDIxIDIyIDIzCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgIAorUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDIgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgU2VwdGVtYmVyIDE3NTIgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzYgICAgICAgIDEgIDIgMTQgMTUgMTYKKzM3IDE3IDE4IDE5IDIwIDIxIDIyIDIzCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgIAorUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDMgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgU2VwdGVtYmVyIDE3NTIgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzYgICAgICAgIDEgIDIgMTQgMTUgMTYKKzM3IDE3IDE4IDE5IDIwIDIxIDIyIDIzCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgIAorUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDQgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgU2VwdGVtYmVyIDE3NTIgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzYgICAgICAgIDEgIDIgG1s3bTE0G1syN20gMTUgMTYKKzM3IDE3IDE4IDE5IDIwIDIxIDIyIDIzCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgIAorTGFzdCBkYXkgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgTm92ZW1iZXIgOTk5OSAgICAgICAgICAgIERlY2VtYmVyIDk5OTkgICAgICAgICAgICBKYW51YXJ5IDEwMDAwICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ1ICAgICAxICAyICAzICA0ICA1ICA2ICA0OSAgICAgICAgICAgMSAgMiAgMyAgNCAgIDEgICAgICAgICAgICAgICAgICAgIDEKKzQ2ICA3ICA4ICA5IDEwIDExIDEyIDEzICA1MCAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDIgIDIgIDMgIDQgIDUgIDYgIDcgIDgKKzQ3IDE0IDE1IDE2IDE3IDE4IDE5IDIwICA1MSAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDMgIDkgMTAgMTEgMTIgMTMgMTQgMTUKKzQ4IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICA1MiAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDQgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzQ5IDI4IDI5IDMwICAgICAgICAgICAgICA1MyAyNiAyNyAyOCAyOSAzMCAbWzdtMzEbWzI3bSAgICAgIDUgMjMgMjQgMjUgMjYgMjcgMjggMjkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDYgMzAgMzEgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9qYW4xNzUzLTN3IGIvdGVzdHMvZXhwZWN0ZWQvY2FsL2phbjE3NTMtM3cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODBkM2QwMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9qYW4xNzUzLTN3CkBAIC0wLDAgKzEsOSBAQAorU3VuZGF5LWJhc2VkIDE3NTMgd2VlayBudW1iZXJzCisgICAgIERlY2VtYmVyIDE3NTIgICAgICAgICAgICAgSmFudWFyeSAxNzUzICAgICAgICAgICAgRmVicnVhcnkgMTc1MyAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0NyAgICAgICAgICAgICAgICAgMSAgMiAgIDEgICAgIDEgIDIgIDMgIDQgIDUgIDYgICA1ICAgICAgICAgICAgICAxICAyICAzCis0OCAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDIgIDcgIDggIDkgMTAgMTEgMTIgMTMgICA2ICA0ICA1ICA2ICA3ICA4ICA5IDEwCis0OSAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA3IDExIDEyIDEzIDE0IDE1IDE2IDE3Cis1MCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDQgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICA4IDE4IDE5IDIwIDIxIDIyIDIzIDI0Cis1MSAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDUgMjggMjkgMzAgMzEgICAgICAgICAgICA5IDI1IDI2IDI3IDI4ICAgICAgICAgCis1MiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvamFuMTc1My1tM3cgYi90ZXN0cy9leHBlY3RlZC9jYWwvamFuMTc1My1tM3cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRlODFmZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9qYW4xNzUzLW0zdwpAQCAtMCwwICsxLDkgQEAKK01vbmRheS1iYXNlZCAxNzUzIHdlZWsgbnVtYmVycworICAgICBEZWNlbWJlciAxNzUyICAgICAgICAgICAgIEphbnVhcnkgMTc1MyAgICAgICAgICAgIEZlYnJ1YXJ5IDE3NTMgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDcgICAgICAgICAgICAgIDEgIDIgIDMgICAxICAxICAyICAzICA0ICA1ICA2ICA3ICAgNSAgICAgICAgICAgMSAgMiAgMyAgNAorNDggIDQgIDUgIDYgIDcgIDggIDkgMTAgICAyICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgNiAgNSAgNiAgNyAgOCAgOSAxMCAxMQorNDkgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAzIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgNyAxMiAxMyAxNCAxNSAxNiAxNyAxOAorNTAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICA0IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgOCAxOSAyMCAyMSAyMiAyMyAyNCAyNQorNTEgMjUgMjYgMjcgMjggMjkgMzAgMzEgICA1IDI5IDMwIDMxICAgICAgICAgICAgICAgOSAyNiAyNyAyOCAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFtIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4Y2MyOGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMW0KQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlaworICAgU2VwdGVtYmVyIDIwMDYgICAKK01vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgICAgICAgMSAgMiAgMworIDQgIDUgIDYgIDcgIDggIDkgMTAKKzExIDEyIDEzIDE0IDE1IDE2IDE3CisxOCAxOSAyMCAyMSAyMiAyMyAyNAorMjUgMjYgMjcgMjggMjkgMzAgICAKKyAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMW1qIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFtagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDE1ZjlhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFtagpAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrCisgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgIDI0NCAyNDUgMjQ2CisyNDcgMjQ4IDI0OSAyNTAgMjUxIDI1MiAyNTMKKzI1NCAyNTUgMjU2IDI1NyAyNTggMjU5IDI2MAorMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3CisyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFtancgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMW1qdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNDRkMmMwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFtancKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICBTZXB0ZW1iZXIgMjAwNiAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzM1ICAgICAgICAgICAgICAgICAyNDQgMjQ1IDI0NgorMzYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzCiszNyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAKKzM4IDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NworMzkgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0xbXcgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMW13Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZTcyN2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMW13CkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgU2VwdGVtYmVyIDIwMDYgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMzUgICAgICAgICAgICAgIDEgIDIgIDMKKzM2ICA0ICA1ICA2ICA3ICA4ICA5IDEwCiszNyAxMSAxMiAxMyAxNCAxNSAxNiAxNworMzggMTggMTkgMjAgMjEgMjIgMjMgMjQKKzM5IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFzIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwYWEzOTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMXMKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlaworICAgU2VwdGVtYmVyIDIwMDYgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhCisgICAgICAgICAgICAgICAgMSAgMgorIDMgIDQgIDUgIDYgIDcgIDggIDkKKzEwIDExIDEyIDEzIDE0IDE1IDE2CisxNyAxOCAxOSAyMCAyMSAyMiAyMworMjQgMjUgMjYgMjcgMjggMjkgMzAKKyAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMXNqIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFzagpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZDQ4YjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFzagpAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrCisgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgICAgICAgICAgICAgICAyNDQgMjQ1CisyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIKKzI1MyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OQorMjYwIDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2CisyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFzancgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMXNqdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODU0MjBiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTFzancKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICBTZXB0ZW1iZXIgMjAwNiAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzM1ICAgICAgICAgICAgICAgICAgICAgMjQ0IDI0NQorMzYgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEgMjUyCiszNyAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkKKzM4IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NgorMzkgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0xc3cgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMXN3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmNmJlM2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtMXN3CkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgU2VwdGVtYmVyIDIwMDYgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzUgICAgICAgICAgICAgICAgIDEgIDIKKzM2ICAzICA0ICA1ICA2ICA3ICA4ICA5CiszNyAxMCAxMSAxMiAxMyAxNCAxNSAxNgorMzggMTcgMTggMTkgMjAgMjEgMjIgMjMKKzM5IDI0IDI1IDI2IDI3IDI4IDI5IDMwCisgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNtIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhMjk5YmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtM20KQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlaworICAgICBBdWd1c3QgMjAwNiAgICAgICAgIFNlcHRlbWJlciAyMDA2ICAgICAgICAgT2N0b2JlciAyMDA2ICAgIAorTW8gVHUgV2UgVGggRnIgU2EgU3UgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICBNbyBUdSBXZSBUaCBGciBTYSBTdQorICAgIDEgIDIgIDMgIDQgIDUgIDYgICAgICAgICAgICAgICAxICAyICAzICAgICAgICAgICAgICAgICAgICAgMQorIDcgIDggIDkgMTAgMTEgMTIgMTMgICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMiAgMyAgNCAgNSAgNiAgNyAgOAorMTQgMTUgMTYgMTcgMTggMTkgMjAgIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgOSAxMCAxMSAxMiAxMyAxNCAxNQorMjEgMjIgMjMgMjQgMjUgMjYgMjcgIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAxNiAxNyAxOCAxOSAyMCAyMSAyMgorMjggMjkgMzAgMzEgICAgICAgICAgIDI1IDI2IDI3IDI4IDI5IDMwICAgICAyMyAyNCAyNSAyNiAyNyAyOCAyOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzMCAzMSAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNtaiBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0zbWoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFiN2FmZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0zbWoKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlaworICAgICAgIERlY2VtYmVyIDIwMTcgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxOCAgICAgICAgICAgICAgICBGZWJydWFyeSAyMDE4ICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgIDMzNSAzMzYgMzM3ICAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAzNQorMzM4IDMzOSAzNDAgMzQxIDM0MiAzNDMgMzQ0ICAgIDggICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MgorMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxICAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgICA0MyAgNDQgIDQ1ICA0NiAgNDcgIDQ4ICA0OQorMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcgMzU4ICAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgMjggICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NgorMzU5IDM2MCAzNjEgMzYyIDM2MyAzNjQgMzY1ICAgMjkgIDMwICAzMSAgICAgICAgICAgICAgICAgICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNtancgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtM21qdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmRlYjAxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNtancKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgIEF1Z3VzdCAyMDA2ICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDA2ICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgMjAwNiAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzEgICAgIDIxMyAyMTQgMjE1IDIxNiAyMTcgMjE4ICAzNSAgICAgICAgICAgICAgICAgMjQ0IDI0NSAyNDYgIDM5ICAgICAgICAgICAgICAgICAgICAgICAgIDI3NAorMzIgMjE5IDIyMCAyMjEgMjIyIDIyMyAyMjQgMjI1ICAzNiAyNDcgMjQ4IDI0OSAyNTAgMjUxIDI1MiAyNTMgIDQwIDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MQorMzMgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgMjMyICAzNyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgIDQxIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3IDI4OAorMzQgMjMzIDIzNCAyMzUgMjM2IDIzNyAyMzggMjM5ICAzOCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NiAyNjcgIDQyIDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0IDI5NQorMzUgMjQwIDI0MSAyNDIgMjQzICAgICAgICAgICAgICAzOSAyNjggMjY5IDI3MCAyNzEgMjcyIDI3MyAgICAgIDQzIDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ0IDMwMyAzMDQgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNtdyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0zbXcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjMwOWRhOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0zbXcKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgQXVndXN0IDIwMDYgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAgICAgICBPY3RvYmVyIDIwMDYgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMzEgICAgIDEgIDIgIDMgIDQgIDUgIDYgIDM1ICAgICAgICAgICAgICAxICAyICAzICAzOSAgICAgICAgICAgICAgICAgICAgMQorMzIgIDcgIDggIDkgMTAgMTEgMTIgMTMgIDM2ICA0ICA1ICA2ICA3ICA4ICA5IDEwICA0MCAgMiAgMyAgNCAgNSAgNiAgNyAgOAorMzMgMTQgMTUgMTYgMTcgMTggMTkgMjAgIDM3IDExIDEyIDEzIDE0IDE1IDE2IDE3ICA0MSAgOSAxMCAxMSAxMiAxMyAxNCAxNQorMzQgMjEgMjIgMjMgMjQgMjUgMjYgMjcgIDM4IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICA0MiAxNiAxNyAxOCAxOSAyMCAyMSAyMgorMzUgMjggMjkgMzAgMzEgICAgICAgICAgIDM5IDI1IDI2IDI3IDI4IDI5IDMwICAgICA0MyAyMyAyNCAyNSAyNiAyNyAyOCAyOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0NCAzMCAzMSAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNzIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRmNjdmMWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtM3MKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlaworICAgICBBdWd1c3QgMjAwNiAgICAgICAgIFNlcHRlbWJlciAyMDA2ICAgICAgICAgT2N0b2JlciAyMDA2ICAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgIDEgIDIgIDMgIDQgIDUgICAgICAgICAgICAgICAgICAxICAyICAgMSAgMiAgMyAgNCAgNSAgNiAgNworIDYgIDcgIDggIDkgMTAgMTEgMTIgICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgOCAgOSAxMCAxMSAxMiAxMyAxNAorMTMgMTQgMTUgMTYgMTcgMTggMTkgIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAxNSAxNiAxNyAxOCAxOSAyMCAyMQorMjAgMjEgMjIgMjMgMjQgMjUgMjYgIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAyMiAyMyAyNCAyNSAyNiAyNyAyOAorMjcgMjggMjkgMzAgMzEgICAgICAgIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAyOSAzMCAzMSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNzaiBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0zc2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWQxYjExYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0zc2oKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlaworICAgICAgICBBdWd1c3QgMjAwNiAgICAgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAgICAgICAgICAgT2N0b2JlciAyMDA2ICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgICAyMTMgMjE0IDIxNSAyMTYgMjE3ICAgICAgICAgICAgICAgICAgICAgIDI0NCAyNDUgIDI3NCAyNzUgMjc2IDI3NyAyNzggMjc5IDI4MAorMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NworMjI1IDIyNiAyMjcgMjI4IDIyOSAyMzAgMjMxICAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkgIDI4OCAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NAorMjMyIDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4ICAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgIDI5NSAyOTYgMjk3IDI5OCAyOTkgMzAwIDMwMQorMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNzancgYi90ZXN0cy9leHBlY3RlZC9jYWwvbW9udGgtM3NqdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNmU3MGVhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNzancKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgIEF1Z3VzdCAyMDA2ICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAyMDA2ICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgMjAwNiAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMzEgICAgICAgICAyMTMgMjE0IDIxNSAyMTYgMjE3ICAzNSAgICAgICAgICAgICAgICAgICAgIDI0NCAyNDUgIDQwIDI3NCAyNzUgMjc2IDI3NyAyNzggMjc5IDI4MAorMzIgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAzNiAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgIDQxIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NworMzMgMjI1IDIyNiAyMjcgMjI4IDIyOSAyMzAgMjMxICAzNyAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkgIDQyIDI4OCAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NAorMzQgMjMyIDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4ICAzOCAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgIDQzIDI5NSAyOTYgMjk3IDI5OCAyOTkgMzAwIDMwMQorMzUgMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAzOSAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgIDQ0IDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL21vbnRoLTNzdyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0zc3cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDZmY2NkYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9tb250aC0zc3cKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgQXVndXN0IDIwMDYgICAgICAgICAgICAgU2VwdGVtYmVyIDIwMDYgICAgICAgICAgICBPY3RvYmVyIDIwMDYgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzEgICAgICAgIDEgIDIgIDMgIDQgIDUgIDM1ICAgICAgICAgICAgICAgICAxICAyICA0MCAgMSAgMiAgMyAgNCAgNSAgNiAgNworMzIgIDYgIDcgIDggIDkgMTAgMTEgMTIgIDM2ICAzICA0ICA1ICA2ICA3ICA4ICA5ICA0MSAgOCAgOSAxMCAxMSAxMiAxMyAxNAorMzMgMTMgMTQgMTUgMTYgMTcgMTggMTkgIDM3IDEwIDExIDEyIDEzIDE0IDE1IDE2ICA0MiAxNSAxNiAxNyAxOCAxOSAyMCAyMQorMzQgMjAgMjEgMjIgMjMgMjQgMjUgMjYgIDM4IDE3IDE4IDE5IDIwIDIxIDIyIDIzICA0MyAyMiAyMyAyNCAyNSAyNiAyNyAyOAorMzUgMjcgMjggMjkgMzAgMzEgICAgICAgIDM5IDI0IDI1IDI2IDI3IDI4IDI5IDMwICA0NCAyOSAzMCAzMSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMW0tbW9udGggYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xbS1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjgxNWJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMW0tbW9udGgKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgbW9udGgKKyAgIFNlcHRlbWJlciAxNzUyICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdQorICAgIDEgIDIgMTQgMTUgMTYgMTcKKzE4IDE5IDIwIDIxIDIyIDIzIDI0CisyNSAyNiAyNyAyOCAyOSAzMCAgIAorICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMW0teWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtLXllYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzA1YTU0NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtLXllYXIKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgeWVhcgorICAgIEphbnVhcnkgMTc1MiAgICAKK01vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgMSAgMiAgMyAgNCAgNQorIDYgIDcgIDggIDkgMTAgMTEgMTIKKzEzIDE0IDE1IDE2IDE3IDE4IDE5CisyMCAyMSAyMiAyMyAyNCAyNSAyNgorMjcgMjggMjkgMzAgMzEgICAgICAKKyAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xbWotbW9udGggYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xbWotbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTYyZGE0ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtai1tb250aApAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCBtb250aAorICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAyNDUgMjQ2IDI1OCAyNTkgMjYwIDI2MQorMjYyIDI2MyAyNjQgMjY1IDI2NiAyNjcgMjY4CisyNjkgMjcwIDI3MSAyNzIgMjczIDI3NCAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtai15ZWFyIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMW1qLXllYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjEwN2U0MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtai15ZWFyCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIKKyAgICAgICAgSmFudWFyeSAxNzUyICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgICAgICAgICAgMSAgIDIgICAzICAgNCAgIDUKKyAgNiAgIDcgICA4ICAgOSAgMTAgIDExICAxMgorIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5CisgMjAgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYKKyAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xbWp3LW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMW1qdy1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOWJkMGU5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMW1qdy1tb250aApAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICBTZXB0ZW1iZXIgMTc1MiAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzM2ICAgICAyNDUgMjQ2IDI1OCAyNTkgMjYwIDI2MQorMzcgMjYyIDI2MyAyNjQgMjY1IDI2NiAyNjcgMjY4CiszOCAyNjkgMjcwIDI3MSAyNzIgMjczIDI3NCAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtancteWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtancteWVhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYWI2Yzc4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMW1qdy15ZWFyCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgIEphbnVhcnkgMTc1MiAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgMSAgICAgICAgICAgMSAgIDIgICAzICAgNCAgIDUKKyAyICAgNiAgIDcgICA4ICAgOSAgMTAgIDExICAxMgorIDMgIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5CisgNCAgMjAgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYKKyA1ICAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xbXctbW9udGggYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xbXctbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5NWZmMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtdy1tb250aApAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycworICAgICBTZXB0ZW1iZXIgMTc1MiAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CiszNiAgICAgMSAgMiAxNCAxNSAxNiAxNworMzcgMTggMTkgMjAgMjEgMjIgMjMgMjQKKzM4IDI1IDI2IDI3IDI4IDI5IDMwICAgCisgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xbXcteWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFtdy15ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwMzllYmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xbXcteWVhcgpAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzCisgICAgICBKYW51YXJ5IDE3NTIgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAxICAgICAgICAxICAyICAzICA0ICA1CisgMiAgNiAgNyAgOCAgOSAxMCAxMSAxMgorIDMgMTMgMTQgMTUgMTYgMTcgMTggMTkKKyA0IDIwIDIxIDIyIDIzIDI0IDI1IDI2CisgNSAyNyAyOCAyOSAzMCAzMSAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFzLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMXMtbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDc0NzJhYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFzLW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoCisgICBTZXB0ZW1iZXIgMTc1MiAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAxICAyIDE0IDE1IDE2CisxNyAxOCAxOSAyMCAyMSAyMiAyMworMjQgMjUgMjYgMjcgMjggMjkgMzAKKyAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFzLXllYXIgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xcy15ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2YTVkYTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xcy15ZWFyCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHllYXIKKyAgICBKYW51YXJ5IDE3NTIgICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgICAgIDEgIDIgIDMgIDQKKyA1ICA2ICA3ICA4ICA5IDEwIDExCisxMiAxMyAxNCAxNSAxNiAxNyAxOAorMTkgMjAgMjEgMjIgMjMgMjQgMjUKKzI2IDI3IDI4IDI5IDMwIDMxICAgCisgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMXNqLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMXNqLW1vbnRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2ZmI2ZDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xc2otbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBTdW5kYXktYmFzZWQgbW9udGgKKyAgICAgICBTZXB0ZW1iZXIgMTc1MiAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgIDI0NSAyNDYgMjU4IDI1OSAyNjAKKzI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NworMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xc2oteWVhciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFzai15ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5MzJmZTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xc2oteWVhcgpAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyCisgICAgICAgIEphbnVhcnkgMTc1MiAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgICAgICAgICAxICAgMiAgIDMgICA0CisgIDUgICA2ICAgNyAgIDggICA5ICAxMCAgMTEKKyAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3ICAxOAorIDE5ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1CisgMjYgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMXNqdy1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFzanctbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDUwNTJkNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFzanctbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBTdW5kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgU2VwdGVtYmVyIDE3NTIgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CiszNiAgICAgICAgIDI0NSAyNDYgMjU4IDI1OSAyNjAKKzM3IDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NworMzggMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xc2p3LXllYXIgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xc2p3LXllYXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmI1OTg2MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTFzancteWVhcgpAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgICBKYW51YXJ5IDE3NTIgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorIDEgICAgICAgICAgICAgICAxICAgMiAgIDMgICA0CisgMiAgIDUgICA2ICAgNyAgIDggICA5ICAxMCAgMTEKKyAzICAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3ICAxOAorIDQgIDE5ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1CisgNSAgMjYgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMXN3LW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMXN3LW1vbnRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0ZTNjMDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xc3ctbW9udGgKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgU2VwdGVtYmVyIDE3NTIgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzYgICAgICAgIDEgIDIgMTQgMTUgMTYKKzM3IDE3IDE4IDE5IDIwIDIxIDIyIDIzCiszOCAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMXN3LXllYXIgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0xc3cteWVhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTgzZGIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItMXN3LXllYXIKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycworICAgICAgSmFudWFyeSAxNzUyICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgICAgICAgICAgMSAgMiAgMyAgNAorIDIgIDUgIDYgIDcgIDggIDkgMTAgMTEKKyAzIDEyIDEzIDE0IDE1IDE2IDE3IDE4CisgNCAxOSAyMCAyMSAyMiAyMyAyNCAyNQorIDUgMjYgMjcgMjggMjkgMzAgMzEgICAKKyAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0zbS1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNtLW1vbnRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3YmZhNjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0zbS1tb250aApAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB0aHJlZSBtb250aHMKKyAgICAgQXVndXN0IDE3NTIgICAgICAgICBTZXB0ZW1iZXIgMTc1MiAgICAgICAgIE9jdG9iZXIgMTc1MiAgICAKK01vIFR1IFdlIFRoIEZyIFNhIFN1ICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAgICAgICAgICAxICAyICAgICAgMSAgMiAxNCAxNSAxNiAxNyAgICAgICAgICAgICAgICAgICAgIDEKKyAzICA0ICA1ICA2ICA3ICA4ICA5ICAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDIgIDMgIDQgIDUgIDYgIDcgIDgKKzEwIDExIDEyIDEzIDE0IDE1IDE2ICAyNSAyNiAyNyAyOCAyOSAzMCAgICAgIDkgMTAgMTEgMTIgMTMgMTQgMTUKKzE3IDE4IDE5IDIwIDIxIDIyIDIzICAgICAgICAgICAgICAgICAgICAgICAgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzI0IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgICAgICAgICAgICAgICAgICAgMjMgMjQgMjUgMjYgMjcgMjggMjkKKzMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAgMzEgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNtai1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNtai1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44M2I5MWVlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItM21qLW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocworICAgICAgICBBdWd1c3QgMTc1MiAgICAgICAgICAgICAgICAgU2VwdGVtYmVyIDE3NTIgICAgICAgICAgICAgICAgT2N0b2JlciAxNzUyICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgICAgICAyMTQgMjE1ICAgICAgMjQ1IDI0NiAyNTggMjU5IDI2MCAyNjEgICAgICAgICAgICAgICAgICAgICAgICAgIDI3NQorMjE2IDIxNyAyMTggMjE5IDIyMCAyMjEgMjIyICAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAyNjggIDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxIDI4MgorMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5ICAyNjkgMjcwIDI3MSAyNzIgMjczIDI3NCAgICAgIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IDI4OQorMjMwIDIzMSAyMzIgMjMzIDIzNCAyMzUgMjM2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI5MCAyOTEgMjkyIDI5MyAyOTQgMjk1IDI5NgorMjM3IDIzOCAyMzkgMjQwIDI0MSAyNDIgMjQzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyIDMwMworMjQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMwNCAzMDUgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItM21qdy1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNtanctbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGVjOWI5MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNtanctbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBNb25kYXktYmFzZWQgdGhyZWUgbW9udGhzIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgICAgQXVndXN0IDE3NTIgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyIDE3NTIgICAgICAgICAgICAgICAgICAgT2N0b2JlciAxNzUyICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCiszMSAgICAgICAgICAgICAgICAgICAgIDIxNCAyMTUgIDM2ICAgICAyNDUgMjQ2IDI1OCAyNTkgMjYwIDI2MSAgMzggICAgICAgICAgICAgICAgICAgICAgICAgMjc1CiszMiAyMTYgMjE3IDIxOCAyMTkgMjIwIDIyMSAyMjIgIDM3IDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3IDI2OCAgMzkgMjc2IDI3NyAyNzggMjc5IDI4MCAyODEgMjgyCiszMyAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAyMjkgIDM4IDI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0ICAgICAgNDAgMjgzIDI4NCAyODUgMjg2IDI4NyAyODggMjg5CiszNCAyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDEgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgMjk2CiszNSAyMzcgMjM4IDIzOSAyNDAgMjQxIDI0MiAyNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIgMjk3IDI5OCAyOTkgMzAwIDMwMSAzMDIgMzAzCiszNiAyNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMgMzA0IDMwNSAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0zbXctbW9udGggYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0zbXctbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGU1ZDg0NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNtdy1tb250aApAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB0aHJlZSBtb250aHMgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgIEF1Z3VzdCAxNzUyICAgICAgICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgICAgICAgT2N0b2JlciAxNzUyICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzMxICAgICAgICAgICAgICAgICAxICAyICAzNiAgICAgMSAgMiAxNCAxNSAxNiAxNyAgMzggICAgICAgICAgICAgICAgICAgIDEKKzMyICAzICA0ICA1ICA2ICA3ICA4ICA5ICAzNyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgMzkgIDIgIDMgIDQgIDUgIDYgIDcgIDgKKzMzIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAzOCAyNSAyNiAyNyAyOCAyOSAzMCAgICAgNDAgIDkgMTAgMTEgMTIgMTMgMTQgMTUKKzM0IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgICAgICAgICAgICAgICAgICAgICAgICAgNDEgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzM1IDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgNDIgMjMgMjQgMjUgMjYgMjcgMjggMjkKKzM2IDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDMgMzAgMzEgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNzLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItM3MtbW9udGgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RmNTA0YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNzLW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocworICAgICBBdWd1c3QgMTc1MiAgICAgICAgIFNlcHRlbWJlciAxNzUyICAgICAgICAgT2N0b2JlciAxNzUyICAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgICAgICAgICAgICAgIDEgICAgICAgICAxICAyIDE0IDE1IDE2ICAgMSAgMiAgMyAgNCAgNSAgNiAgNworIDIgIDMgIDQgIDUgIDYgIDcgIDggIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgOCAgOSAxMCAxMSAxMiAxMyAxNAorIDkgMTAgMTEgMTIgMTMgMTQgMTUgIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAxNSAxNiAxNyAxOCAxOSAyMCAyMQorMTYgMTcgMTggMTkgMjAgMjEgMjIgICAgICAgICAgICAgICAgICAgICAgICAyMiAyMyAyNCAyNSAyNiAyNyAyOAorMjMgMjQgMjUgMjYgMjcgMjggMjkgICAgICAgICAgICAgICAgICAgICAgICAyOSAzMCAzMSAgICAgICAgICAgIAorMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItM3NqLW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItM3NqLW1vbnRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxNzFlNTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0zc2otbW9udGgKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gLSBTdW5kYXktYmFzZWQgdGhyZWUgbW9udGhzCisgICAgICAgIEF1Z3VzdCAxNzUyICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgMTc1MiAgICAgICAgICAgICAgICBPY3RvYmVyIDE3NTIgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgICAgICAgICAgICAgICAgICAgICAgICAyMTQgICAgICAgICAgMjQ1IDI0NiAyNTggMjU5IDI2MCAgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgMjgxCisyMTUgMjE2IDIxNyAyMTggMjE5IDIyMCAyMjEgIDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4CisyMjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggIDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczIDI3NCAgMjg5IDI5MCAyOTEgMjkyIDI5MyAyOTQgMjk1CisyMjkgMjMwIDIzMSAyMzIgMjMzIDIzNCAyMzUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgMzAyCisyMzYgMjM3IDIzOCAyMzkgMjQwIDI0MSAyNDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzAzIDMwNCAzMDUgICAgICAgICAgICAgICAgCisyNDMgMjQ0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi0zc2p3LW1vbnRoIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItM3Nqdy1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODdkMzgyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItM3Nqdy1tb250aApAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgICBBdWd1c3QgMTc1MiAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgMTc1MiAgICAgICAgICAgICAgICAgICBPY3RvYmVyIDE3NTIgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzMxICAgICAgICAgICAgICAgICAgICAgICAgIDIxNCAgMzYgICAgICAgICAyNDUgMjQ2IDI1OCAyNTkgMjYwICAzOSAyNzUgMjc2IDI3NyAyNzggMjc5IDI4MCAyODEKKzMyIDIxNSAyMTYgMjE3IDIxOCAyMTkgMjIwIDIyMSAgMzcgMjYxIDI2MiAyNjMgMjY0IDI2NSAyNjYgMjY3ICA0MCAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAyODgKKzMzIDIyMiAyMjMgMjI0IDIyNSAyMjYgMjI3IDIyOCAgMzggMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0ICA0MSAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUKKzM0IDIyOSAyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MiAyOTYgMjk3IDI5OCAyOTkgMzAwIDMwMSAzMDIKKzM1IDIzNiAyMzcgMjM4IDIzOSAyNDAgMjQxIDI0MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MyAzMDMgMzA0IDMwNSAgICAgICAgICAgICAgICAKKzM2IDI0MyAyNDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNzdy1tb250aCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC9zZXAxNzUyLTNzdy1tb250aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jN2MyOTg2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItM3N3LW1vbnRoCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycworICAgICAgQXVndXN0IDE3NTIgICAgICAgICAgICAgU2VwdGVtYmVyIDE3NTIgICAgICAgICAgICBPY3RvYmVyIDE3NTIgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzEgICAgICAgICAgICAgICAgICAgIDEgIDM2ICAgICAgICAxICAyIDE0IDE1IDE2ICAzOSAgMSAgMiAgMyAgNCAgNSAgNiAgNworMzIgIDIgIDMgIDQgIDUgIDYgIDcgIDggIDM3IDE3IDE4IDE5IDIwIDIxIDIyIDIzICA0MCAgOCAgOSAxMCAxMSAxMiAxMyAxNAorMzMgIDkgMTAgMTEgMTIgMTMgMTQgMTUgIDM4IDI0IDI1IDI2IDI3IDI4IDI5IDMwICA0MSAxNSAxNiAxNyAxOCAxOSAyMCAyMQorMzQgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAgICAgICAgICAgICAgICAgICAgICAgICA0MiAyMiAyMyAyNCAyNSAyNiAyNyAyOAorMzUgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAgICAgICAgICAgICAgICAgICAgICAgICA0MyAyOSAzMCAzMSAgICAgICAgICAgIAorMzYgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItd2Vlay1pc28gYi90ZXN0cy9leHBlY3RlZC9jYWwvc2VwMTc1Mi13ZWVrLWlzbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOGQwMTYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3NlcDE3NTItd2Vlay1pc28KQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBhZGRyZXNzIGJ5IHdlZWsgbnVtYmVyCisgICAgIFNlcHRlbWJlciAxNzUyICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzM2ICAgICAgICAgICAgICAgICAxICAyCiszNyAgMyAgNCAgNSAgNiAgNyAgOCAgOQorMzggMTAgMTEgMTIgMTMgMTQgMTUgMTYKKzM5IDE3IDE4IDE5IDIwIDIxIDIyIDIzCis0MCAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTFtLXdlZWs1MyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTFtLXdlZWs1MwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZWZmZDVlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctMW0td2VlazUzCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDUzLCAxIG1vbnRoCisgICAgICBKYW51YXJ5IDIwMTAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzUzICAgICAgICAgICAgICAxICAyICAzCisgMSAgNCAgNSAgNiAgNyAgOCAgOSAxMAorIDIgMTEgMTIgMTMgMTQgMTUgMTYgMTcKKyAzIDE4IDE5IDIwIDIxIDIyIDIzIDI0CisgNCAyNSAyNiAyNyAyOCAyOSAzMCAzMQorICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTFtLXdlZWs1My1jb2xvciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTFtLXdlZWs1My1jb2xvcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZTllZGZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctMW0td2VlazUzLWNvbG9yCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDUzLCAxIG1vbnRoCisgICAgICBKYW51YXJ5IDIwMTAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKxtbN201MxtbMjdtICAgICAgICAgICAgICAxICAyICAzCisgMSAgNCAgNSAgNiAgNyAgOCAgOSAxMAorIDIgMTEgMTIgMTMgMTQgMTUgMTYgMTcKKyAzIDE4IDE5IDIwIDIxIDIyIDIzIDI0CisgNCAyNSAyNiAyNyAyOCAyOSAzMCAzMQorICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTFtai13ZWVrNTMgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0xbWotd2VlazUzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZkOWNkZmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0xbWotd2VlazUzCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuICAgIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDUzLCAxIG1vbnRoCisgICAgICAgICBKYW51YXJ5IDIwMTAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNTMgICAgICAgICAgICAgICAgICAgMSAgIDIgICAzCisgMSAgIDQgICA1ICAgNiAgIDcgICA4ICAgOSAgMTAKKyAyICAxMSAgMTIgIDEzICAxNCAgMTUgIDE2ICAxNworIDMgIDE4ICAxOSAgMjAgIDIxICAyMiAgMjMgIDI0CisgNCAgMjUgIDI2ICAyNyAgMjggIDI5ICAzMCAgMzEKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctMW1qLXdlZWs1My1jb2xvciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTFtai13ZWVrNTMtY29sb3IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGY3MzEwMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTFtai13ZWVrNTMtY29sb3IKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gICAgLSBNb25kYXktYmFzZWQsIHdlZWsgNTMsIDEgbW9udGgKKyAgICAgICAgIEphbnVhcnkgMjAxMCAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisbWzdtNTMbWzI3bSAgICAgICAgICAgICAgICAgICAxICAgMiAgIDMKKyAxICAgNCAgIDUgICA2ICAgNyAgIDggICA5ICAxMAorIDIgIDExICAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3CisgMyAgMTggIDE5ICAyMCAgMjEgIDIyICAyMyAgMjQKKyA0ICAyNSAgMjYgIDI3ICAyOCAgMjkgIDMwICAzMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zbS13ZWVrNDAgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zbS13ZWVrNDAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTc3YmM3YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNtLXdlZWs0MApAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCwgd2VlayA0MCwgMyBtb250aAorICAgICBTZXB0ZW1iZXIgMjAxMyAgICAgICAgICAgIE9jdG9iZXIgMjAxMyAgICAgICAgICAgIE5vdmVtYmVyIDIwMTMgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMzUgICAgICAgICAgICAgICAgICAgIDEgIDQwICAgICAxICAyICAzICA0ICA1ICA2ICA0NCAgICAgICAgICAgICAgMSAgMiAgMworMzYgIDIgIDMgIDQgIDUgIDYgIDcgIDggIDQxICA3ICA4ICA5IDEwIDExIDEyIDEzICA0NSAgNCAgNSAgNiAgNyAgOCAgOSAxMAorMzcgIDkgMTAgMTEgMTIgMTMgMTQgMTUgIDQyIDE0IDE1IDE2IDE3IDE4IDE5IDIwICA0NiAxMSAxMiAxMyAxNCAxNSAxNiAxNworMzggMTYgMTcgMTggMTkgMjAgMjEgMjIgIDQzIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICA0NyAxOCAxOSAyMCAyMSAyMiAyMyAyNAorMzkgMjMgMjQgMjUgMjYgMjcgMjggMjkgIDQ0IDI4IDI5IDMwIDMxICAgICAgICAgICA0OCAyNSAyNiAyNyAyOCAyOSAzMCAgIAorNDAgMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctM20td2VlazQwLWNvbG9yIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctM20td2VlazQwLWNvbG9yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgwMzlmNDQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zbS13ZWVrNDAtY29sb3IKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQsIHdlZWsgNDAsIDMgbW9udGgKKyAgICAgU2VwdGVtYmVyIDIwMTMgICAgICAgICAgICBPY3RvYmVyIDIwMTMgICAgICAgICAgICBOb3ZlbWJlciAyMDEzICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzM1ICAgICAgICAgICAgICAgICAgICAxICAbWzdtNDAbWzI3bSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgNDQgICAgICAgICAgICAgIDEgIDIgIDMKKzM2ICAyICAzICA0ICA1ICA2ICA3ICA4ICA0MSAbWzdtIDcbWzI3bSAgOCAgOSAxMCAxMSAxMiAxMyAgNDUgIDQgIDUgIDYgIDcgIDggIDkgMTAKKzM3ICA5IDEwIDExIDEyIDEzIDE0IDE1ICA0MiAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgNDYgMTEgMTIgMTMgMTQgMTUgMTYgMTcKKzM4IDE2IDE3IDE4IDE5IDIwIDIxIDIyICA0MyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgNDcgMTggMTkgMjAgMjEgMjIgMjMgMjQKKzM5IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICA0NCAyOCAyOSAzMCAzMSAgICAgICAgICAgNDggMjUgMjYgMjcgMjggMjkgMzAgICAKKxtbN200MBtbMjdtIDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNtLXdlZWs1Mi1jb2xvciBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNtLXdlZWs1Mi1jb2xvcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTVmYWYxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctM20td2VlazUyLWNvbG9yCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDUyLCAzIG1vbnRoCisgICAgIE5vdmVtYmVyIDIwMDAgICAgICAgICAgICBEZWNlbWJlciAyMDAwICAgICAgICAgICAgIEphbnVhcnkgMjAwMSAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0NCAgICAgICAgMSAgMiAgMyAgNCAgNSAgNDggICAgICAgICAgICAgIDEgIDIgIDMgICAxICAxICAyICAzICA0ICA1ICA2ICA3Cis0NSAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgNDkgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAyICA4ICA5IDEwIDExIDEyIDEzIDE0Cis0NiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgNTAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAzIDE1IDE2IDE3IDE4IDE5IDIwIDIxCis0NyAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgNTEgMTggMTkgMjAgMjEgMjIgMjMgMjQgICA0IDIyIDIzIDI0IDI1IDI2IDI3IDI4Cis0OCAyNyAyOCAyOSAzMCAgICAgICAgICAgG1s3bTUyG1syN20gMjUgMjYgMjcgMjggMjkgMzAgG1s3bTMxG1syN20gICA1IDI5IDMwIDMxICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zbS13ZWVrNTMtY29sb3IgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zbS13ZWVrNTMtY29sb3IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhjN2FiZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNtLXdlZWs1My1jb2xvcgpAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCwgd2VlayA1MywgMyBtb250aAorICAgICBEZWNlbWJlciAyMDA5ICAgICAgICAgICAgIEphbnVhcnkgMjAxMCAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDkgICAgIDEgIDIgIDMgIDQgIDUgIDYgIBtbN201MxtbMjdtICAgICAgICAgICAgICAxICAyICAzICAgNSAgMSAgMiAgMyAgNCAgNSAgNiAgNworNTAgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAxICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgNiAgOCAgOSAxMCAxMSAxMiAxMyAxNAorNTEgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAyIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgNyAxNSAxNiAxNyAxOCAxOSAyMCAyMQorNTIgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgOCAyMiAyMyAyNCAyNSAyNiAyNyAyOAorG1s3bTUzG1syN20gMjggMjkgMzAgMzEgICAgICAgICAgICA0IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctM21qLXdlZWs0MCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNtai13ZWVrNDAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTYxM2Q5ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNtai13ZWVrNDAKQEAgLTAsMCArMSw5IEBACitKdWxpYW4gICAgLSBNb25kYXktYmFzZWQsIHdlZWsgNDAsIDMgbW9udGgKKyAgICAgICAgU2VwdGVtYmVyIDIwMTMgICAgICAgICAgICAgICAgICAgT2N0b2JlciAyMDEzICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAyMDEzICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzM1ICAgICAgICAgICAgICAgICAgICAgICAgIDI0NCAgNDAgICAgIDI3NCAyNzUgMjc2IDI3NyAyNzggMjc5ICA0NCAgICAgICAgICAgICAgICAgMzA1IDMwNiAzMDcKKzM2IDI0NSAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAgNDEgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2ICA0NSAzMDggMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQKKzM3IDI1MiAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAgNDIgMjg3IDI4OCAyODkgMjkwIDI5MSAyOTIgMjkzICA0NiAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEKKzM4IDI1OSAyNjAgMjYxIDI2MiAyNjMgMjY0IDI2NSAgNDMgMjk0IDI5NSAyOTYgMjk3IDI5OCAyOTkgMzAwICA0NyAzMjIgMzIzIDMyNCAzMjUgMzI2IDMyNyAzMjgKKzM5IDI2NiAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAgNDQgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICA0OCAzMjkgMzMwIDMzMSAzMzIgMzMzIDMzNCAgICAKKzQwIDI3MyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNtai13ZWVrNDAtY29sb3IgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zbWotd2VlazQwLWNvbG9yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzNzcyNTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zbWotd2VlazQwLWNvbG9yCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuICAgIC0gTW9uZGF5LWJhc2VkLCB3ZWVrIDQwLCAzIG1vbnRoCisgICAgICAgIFNlcHRlbWJlciAyMDEzICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgMjAxMyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAxMyAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCiszNSAgICAgICAgICAgICAgICAgICAgICAgICAyNDQgIBtbN200MBtbMjdtICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAgNDQgICAgICAgICAgICAgICAgIDMwNSAzMDYgMzA3CiszNiAyNDUgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEgIDQxIBtbN20yODAbWzI3bSAyODEgMjgyIDI4MyAyODQgMjg1IDI4NiAgNDUgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0CiszNyAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NyAyNTggIDQyIDI4NyAyODggMjg5IDI5MCAyOTEgMjkyIDI5MyAgNDYgMzE1IDMxNiAzMTcgMzE4IDMxOSAzMjAgMzIxCiszOCAyNTkgMjYwIDI2MSAyNjIgMjYzIDI2NCAyNjUgIDQzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAgNDcgMzIyIDMyMyAzMjQgMzI1IDMyNiAzMjcgMzI4CiszOSAyNjYgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIgIDQ0IDMwMSAzMDIgMzAzIDMwNCAgICAgICAgICAgICAgNDggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgCisbWzdtNDAbWzI3bSAyNzMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zcy13ZWVrNDAgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zcy13ZWVrNDAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTFmN2M4NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNzLXdlZWs0MApAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCwgd2VlayA0MCwgMyBtb250aAorICAgICBTZXB0ZW1iZXIgMjAxMyAgICAgICAgICAgIE9jdG9iZXIgMjAxMyAgICAgICAgICAgIE5vdmVtYmVyIDIwMTMgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMzYgIDEgIDIgIDMgIDQgIDUgIDYgIDcgIDQwICAgICAgICAxICAyICAzICA0ICA1ICA0NCAgICAgICAgICAgICAgICAgMSAgMgorMzcgIDggIDkgMTAgMTEgMTIgMTMgMTQgIDQxICA2ICA3ICA4ICA5IDEwIDExIDEyICA0NSAgMyAgNCAgNSAgNiAgNyAgOCAgOQorMzggMTUgMTYgMTcgMTggMTkgMjAgMjEgIDQyIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICA0NiAxMCAxMSAxMiAxMyAxNCAxNSAxNgorMzkgMjIgMjMgMjQgMjUgMjYgMjcgMjggIDQzIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICA0NyAxNyAxOCAxOSAyMCAyMSAyMiAyMworNDAgMjkgMzAgICAgICAgICAgICAgICAgIDQ0IDI3IDI4IDI5IDMwIDMxICAgICAgICA0OCAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctM3Mtd2VlazU0LWNvbG9yIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctM3Mtd2VlazU0LWNvbG9yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlY2NhNGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zcy13ZWVrNTQtY29sb3IKQEAgLTAsMCArMSw5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQsIHdlZWsgNTQsIDMgbW9udGgKKyAgICAgTm92ZW1iZXIgMjAwMCAgICAgICAgICAgIERlY2VtYmVyIDIwMDAgICAgICAgICAgICAgSmFudWFyeSAyMDAxICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ1ICAgICAgICAgICAxICAyICAzICA0ICA0OSAgICAgICAgICAgICAgICAgMSAgMiAgIDEgICAgIDEgIDIgIDMgIDQgIDUgIDYKKzQ2ICA1ICA2ICA3ICA4ICA5IDEwIDExICA1MCAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDIgIDcgIDggIDkgMTAgMTEgMTIgMTMKKzQ3IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICA1MSAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAKKzQ4IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICA1MiAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDQgMjEgMjIgMjMgMjQgMjUgMjYgMjcKKzQ5IDI2IDI3IDI4IDI5IDMwICAgICAgICA1MyAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDUgMjggMjkgMzAgMzEgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAbWzdtNTQbWzI3bSAbWzdtMzEbWzI3bSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLTNzai13ZWVrNDAgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zc2otd2VlazQwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEyMGVjYjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy0zc2otd2VlazQwCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuICAgIC0gU3VuZGF5LWJhc2VkLCB3ZWVrIDQwLCAzIG1vbnRoCisgICAgICAgIFNlcHRlbWJlciAyMDEzICAgICAgICAgICAgICAgICAgIE9jdG9iZXIgMjAxMyAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgMjAxMyAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CiszNiAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OSAyNTAgIDQwICAgICAgICAgMjc0IDI3NSAyNzYgMjc3IDI3OCAgNDQgICAgICAgICAgICAgICAgICAgICAzMDUgMzA2CiszNyAyNTEgMjUyIDI1MyAyNTQgMjU1IDI1NiAyNTcgIDQxIDI3OSAyODAgMjgxIDI4MiAyODMgMjg0IDI4NSAgNDUgMzA3IDMwOCAzMDkgMzEwIDMxMSAzMTIgMzEzCiszOCAyNTggMjU5IDI2MCAyNjEgMjYyIDI2MyAyNjQgIDQyIDI4NiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAgNDYgMzE0IDMxNSAzMTYgMzE3IDMxOCAzMTkgMzIwCiszOSAyNjUgMjY2IDI2NyAyNjggMjY5IDI3MCAyNzEgIDQzIDI5MyAyOTQgMjk1IDI5NiAyOTcgMjk4IDI5OSAgNDcgMzIxIDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3Cis0MCAyNzIgMjczICAgICAgICAgICAgICAgICAgICAgIDQ0IDMwMCAzMDEgMzAyIDMwMyAzMDQgICAgICAgICAgNDggMzI4IDMyOSAzMzAgMzMxIDMzMiAzMzMgMzM0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy1tLXdlZWs0MCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLW0td2VlazQwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzNjFmODYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy1tLXdlZWs0MApAQCAtMCwwICsxLDkgQEAKK0dyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCwgd2VlayA0MCwgMSBtb250aAorICAgICAgT2N0b2JlciAyMDEzICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0MCAgICAgMSAgMiAgMyAgNCAgNSAgNgorNDEgIDcgIDggIDkgMTAgMTEgMTIgMTMKKzQyIDE0IDE1IDE2IDE3IDE4IDE5IDIwCis0MyAyMSAyMiAyMyAyNCAyNSAyNiAyNworNDQgMjggMjkgMzAgMzEgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy1tai13ZWVrNDAgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla2FyZy1tai13ZWVrNDAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjUyNmMzMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLW1qLXdlZWs0MApAQCAtMCwwICsxLDkgQEAKK0p1bGlhbiAgICAtIE1vbmRheS1iYXNlZCwgd2VlayA0MCwgMSBtb250aAorICAgICAgICAgT2N0b2JlciAyMDEzICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQwICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OQorNDEgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2Cis0MiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMKKzQzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMAorNDQgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLXMtd2VlazQwIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctcy13ZWVrNDAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjA3ZGI0NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLXMtd2VlazQwCkBAIC0wLDAgKzEsOSBAQAorR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkLCB3ZWVrIDQwLCAxIG1vbnRoCisgICAgICBPY3RvYmVyIDIwMTMgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQwICAgICAgICAxICAyICAzICA0ICA1Cis0MSAgNiAgNyAgOCAgOSAxMCAxMSAxMgorNDIgMTMgMTQgMTUgMTYgMTcgMTggMTkKKzQzIDIwIDIxIDIyIDIzIDI0IDI1IDI2Cis0NCAyNyAyOCAyOSAzMCAzMSAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLXNqLXdlZWs0MCBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrYXJnLXNqLXdlZWs0MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MWFjNzg4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWthcmctc2otd2VlazQwCkBAIC0wLDAgKzEsOSBAQAorSnVsaWFuICAgIC0gU3VuZGF5LWJhc2VkLCB3ZWVrIDQwLCAxIG1vbnRoCisgICAgICAgICBPY3RvYmVyIDIwMTMgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDAgICAgICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4Cis0MSAyNzkgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUKKzQyIDI4NiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MgorNDMgMjkzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5Cis0NCAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0gYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLTNtancgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS0zbWp3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjNTI1YzYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS0zbWp3CkBAIC0wLDAgKzEsNTcgQEAKK0p1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIC0gMyBtb250aAorICAgICAgICAgRGVjZW1iZXIgMjAwMCAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMDEgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDEgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDggICAgICAgICAgICAgICAgIDMzNiAzMzcgMzM4ICAgMSAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA1ICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAzNQorNDkgMzM5IDM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1ICAgMiAgIDggICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgICA2ICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MgorNTAgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgMzUyICAgMyAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgICA3ICA0MyAgNDQgIDQ1ICA0NiAgNDcgIDQ4ICA0OQorNTEgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5ICAgNCAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgMjggICA4ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NgorNTIgMzYwIDM2MSAzNjIgMzYzIDM2NCAzNjUgMzY2ICAgNSAgMjkgIDMwICAzMSAgICAgICAgICAgICAgICAgICA5ICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgRGVjZW1iZXIgMjAwMSAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMDIgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDIgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDggICAgICAgICAgICAgICAgICAgICAzMzUgMzM2ICAgMSAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA1ICAgICAgICAgICAgICAgICAgMzIgIDMzICAzNAorNDkgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzICAgMiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgICA2ICAzNSAgMzYgIDM3ICAzOCAgMzkgIDQwICA0MQorNTAgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwICAgMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgICA3ICA0MiAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OAorNTEgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgMzU3ICAgNCAgMjEgIDIyICAyMyAgMjQgIDI1ICAyNiAgMjcgICA4ICA0OSAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NQorNTIgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0ICAgNSAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICA5ICA1NiAgNTcgIDU4ICA1OSAgICAgICAgICAgIAorIDEgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgRGVjZW1iZXIgMjAwMiAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMDMgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDMgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDggICAgICAgICAgICAgICAgICAgICAgICAgMzM1ICAgMSAgICAgICAgICAgMSAgIDIgICAzICAgNCAgIDUgICA1ICAgICAgICAgICAgICAgICAgICAgIDMyICAzMworNDkgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyICAgMiAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgMTIgICA2ICAzNCAgMzUgIDM2ICAzNyAgMzggIDM5ICA0MAorNTAgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5ICAgMyAgMTMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgMTkgICA3ICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2ICA0NworNTEgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2ICAgNCAgMjAgIDIxICAyMiAgMjMgIDI0ICAyNSAgMjYgICA4ICA0OCAgNDkgIDUwICA1MSAgNTIgIDUzICA1NAorNTIgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzICAgNSAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICA5ICA1NSAgNTYgIDU3ICA1OCAgNTkgICAgICAgIAorIDEgMzY0IDM2NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgRGVjZW1iZXIgMjAwOCAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMDkgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDkgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDkgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyICAgMSAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgICAgICAgICAgICAgICAgICAgICAgICAzMgorNTAgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggMzQ5ICAgMiAgIDUgICA2ICAgNyAgIDggICA5ICAxMCAgMTEgICA2ICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOQorNTEgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2ICAgMyAgMTIgIDEzICAxNCAgMTUgIDE2ICAxNyAgMTggICA3ICA0MCAgNDEgIDQyICA0MyAgNDQgIDQ1ICA0NgorNTIgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzICAgNCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgICA4ICA0NyAgNDggIDQ5ICA1MCAgNTEgIDUyICA1MworIDEgMzY0IDM2NSAzNjYgICAgICAgICAgICAgICAgICAgNSAgMjYgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICA5ICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5ICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgRGVjZW1iZXIgMjAwOSAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDkgICAgIDMzNSAzMzYgMzM3IDMzOCAzMzkgMzQwICA1MyAgICAgICAgICAgICAgICAgICAxICAgMiAgIDMgICA1ICAzMiAgMzMgIDM0ICAzNSAgMzYgIDM3ICAzOAorNTAgMzQxIDM0MiAzNDMgMzQ0IDM0NSAzNDYgMzQ3ICAgMSAgIDQgICA1ICAgNiAgIDcgICA4ICAgOSAgMTAgICA2ICAzOSAgNDAgIDQxICA0MiAgNDMgIDQ0ICA0NQorNTEgMzQ4IDM0OSAzNTAgMzUxIDM1MiAzNTMgMzU0ICAgMiAgMTEgIDEyICAxMyAgMTQgIDE1ICAxNiAgMTcgICA3ICA0NiAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MgorNTIgMzU1IDM1NiAzNTcgMzU4IDM1OSAzNjAgMzYxICAgMyAgMTggIDE5ICAyMCAgMjEgIDIyICAyMyAgMjQgICA4ICA1MyAgNTQgIDU1ICA1NiAgNTcgIDU4ICA1OQorNTMgMzYyIDM2MyAzNjQgMzY1ICAgICAgICAgICAgICAgNCAgMjUgIDI2ICAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgRGVjZW1iZXIgMjAxMCAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTEgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTEgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDggICAgICAgICAzMzUgMzM2IDMzNyAzMzggMzM5ICA1MiAgICAgICAgICAgICAgICAgICAgICAgMSAgIDIgICA1ICAgICAgMzIgIDMzICAzNCAgMzUgIDM2ICAzNworNDkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgMzQ2ICAgMSAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDkgICA2ICAzOCAgMzkgIDQwICA0MSAgNDIgIDQzICA0NAorNTAgMzQ3IDM0OCAzNDkgMzUwIDM1MSAzNTIgMzUzICAgMiAgMTAgIDExICAxMiAgMTMgIDE0ICAxNSAgMTYgICA3ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICA1MQorNTEgMzU0IDM1NSAzNTYgMzU3IDM1OCAzNTkgMzYwICAgMyAgMTcgIDE4ICAxOSAgMjAgIDIxICAyMiAgMjMgICA4ICA1MiAgNTMgIDU0ICA1NSAgNTYgIDU3ICA1OAorNTIgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAgICAgICAgNCAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMzAgICA5ICA1OSAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgRGVjZW1iZXIgMjAxMSAgICAgICAgICAgICAgICAgICBKYW51YXJ5IDIwMTIgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTIgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDggICAgICAgICAgICAgMzM1IDMzNiAzMzcgMzM4ICA1MiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICA1ICAgICAgICAgIDMyICAzMyAgMzQgIDM1ICAzNgorNDkgMzM5IDM0MCAzNDEgMzQyIDM0MyAzNDQgMzQ1ICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDggICA2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MworNTAgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgMzUyICAgMiAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgMTUgICA3ICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICA1MAorNTEgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5ICAgMyAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgICA4ICA1MSAgNTIgIDUzICA1NCAgNTUgIDU2ICA1NworNTIgMzYwIDM2MSAzNjIgMzYzIDM2NCAzNjUgICAgICAgNCAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgMjkgICA5ICA1OCAgNTkgIDYwICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0tM213IGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0tM213Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkyZjFhYjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS0zbXcKQEAgLTAsMCArMSw1NyBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcgorICAgICBEZWNlbWJlciAyMDAwICAgICAgICAgICAgIEphbnVhcnkgMjAwMSAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDEgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDggICAgICAgICAgICAgIDEgIDIgIDMgICAxICAxICAyICAzICA0ICA1ICA2ICA3ICAgNSAgICAgICAgICAgMSAgMiAgMyAgNAorNDkgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAyICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgNiAgNSAgNiAgNyAgOCAgOSAxMCAxMQorNTAgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAzIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgNyAxMiAxMyAxNCAxNSAxNiAxNyAxOAorNTEgMTggMTkgMjAgMjEgMjIgMjMgMjQgICA0IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgOCAxOSAyMCAyMSAyMiAyMyAyNCAyNQorNTIgMjUgMjYgMjcgMjggMjkgMzAgMzEgICA1IDI5IDMwIDMxICAgICAgICAgICAgICAgOSAyNiAyNyAyOCAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICBEZWNlbWJlciAyMDAxICAgICAgICAgICAgIEphbnVhcnkgMjAwMiAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDIgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDggICAgICAgICAgICAgICAgIDEgIDIgICAxICAgICAxICAyICAzICA0ICA1ICA2ICAgNSAgICAgICAgICAgICAgMSAgMiAgMworNDkgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAyICA3ICA4ICA5IDEwIDExIDEyIDEzICAgNiAgNCAgNSAgNiAgNyAgOCAgOSAxMAorNTAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAzIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgNyAxMSAxMiAxMyAxNCAxNSAxNiAxNworNTEgMTcgMTggMTkgMjAgMjEgMjIgMjMgICA0IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgOCAxOCAxOSAyMCAyMSAyMiAyMyAyNAorNTIgMjQgMjUgMjYgMjcgMjggMjkgMzAgICA1IDI4IDI5IDMwIDMxICAgICAgICAgICAgOSAyNSAyNiAyNyAyOCAgICAgICAgIAorIDEgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICBEZWNlbWJlciAyMDAyICAgICAgICAgICAgIEphbnVhcnkgMjAwMyAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDMgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDggICAgICAgICAgICAgICAgICAgIDEgICAxICAgICAgICAxICAyICAzICA0ICA1ICAgNSAgICAgICAgICAgICAgICAgMSAgMgorNDkgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAyICA2ICA3ICA4ICA5IDEwIDExIDEyICAgNiAgMyAgNCAgNSAgNiAgNyAgOCAgOQorNTAgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAzIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgNyAxMCAxMSAxMiAxMyAxNCAxNSAxNgorNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIgICA0IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgOCAxNyAxOCAxOSAyMCAyMSAyMiAyMworNTIgMjMgMjQgMjUgMjYgMjcgMjggMjkgICA1IDI3IDI4IDI5IDMwIDMxICAgICAgICAgOSAyNCAyNSAyNiAyNyAyOCAgICAgIAorIDEgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICBEZWNlbWJlciAyMDA4ICAgICAgICAgICAgIEphbnVhcnkgMjAwOSAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMDkgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDkgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAxICAgICAgICAgICAxICAyICAzICA0ICAgNSAgICAgICAgICAgICAgICAgICAgMQorNTAgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAyICA1ICA2ICA3ICA4ICA5IDEwIDExICAgNiAgMiAgMyAgNCAgNSAgNiAgNyAgOAorNTEgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAzIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgNyAgOSAxMCAxMSAxMiAxMyAxNCAxNQorNTIgMjIgMjMgMjQgMjUgMjYgMjcgMjggICA0IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgOCAxNiAxNyAxOCAxOSAyMCAyMSAyMgorIDEgMjkgMzAgMzEgICAgICAgICAgICAgICA1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgOSAyMyAyNCAyNSAyNiAyNyAyOCAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICBEZWNlbWJlciAyMDA5ICAgICAgICAgICAgIEphbnVhcnkgMjAxMCAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDkgICAgIDEgIDIgIDMgIDQgIDUgIDYgIDUzICAgICAgICAgICAgICAxICAyICAzICAgNSAgMSAgMiAgMyAgNCAgNSAgNiAgNworNTAgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAxICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgNiAgOCAgOSAxMCAxMSAxMiAxMyAxNAorNTEgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAyIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgNyAxNSAxNiAxNyAxOCAxOSAyMCAyMQorNTIgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgOCAyMiAyMyAyNCAyNSAyNiAyNyAyOAorNTMgMjggMjkgMzAgMzEgICAgICAgICAgICA0IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICBEZWNlbWJlciAyMDEwICAgICAgICAgICAgIEphbnVhcnkgMjAxMSAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTEgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDggICAgICAgIDEgIDIgIDMgIDQgIDUgIDUyICAgICAgICAgICAgICAgICAxICAyICAgNSAgICAgMSAgMiAgMyAgNCAgNSAgNgorNDkgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAxICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgNiAgNyAgOCAgOSAxMCAxMSAxMiAxMworNTAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAyIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgNyAxNCAxNSAxNiAxNyAxOCAxOSAyMAorNTEgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAzIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgOCAyMSAyMiAyMyAyNCAyNSAyNiAyNworNTIgMjcgMjggMjkgMzAgMzEgICAgICAgICA0IDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgOSAyOCAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICA1IDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICBEZWNlbWJlciAyMDExICAgICAgICAgICAgIEphbnVhcnkgMjAxMiAgICAgICAgICAgIEZlYnJ1YXJ5IDIwMTIgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDggICAgICAgICAgIDEgIDIgIDMgIDQgIDUyICAgICAgICAgICAgICAgICAgICAxICAgNSAgICAgICAgMSAgMiAgMyAgNCAgNQorNDkgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAxICAyICAzICA0ICA1ICA2ICA3ICA4ICAgNiAgNiAgNyAgOCAgOSAxMCAxMSAxMgorNTAgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAyICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgNyAxMyAxNCAxNSAxNiAxNyAxOCAxOQorNTEgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAzIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgOCAyMCAyMSAyMiAyMyAyNCAyNSAyNgorNTIgMjYgMjcgMjggMjkgMzAgMzEgICAgICA0IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgOSAyNyAyOCAyOSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICA1IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0tM3NqdyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLTNzancKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg3ZDI1YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLTNzancKQEAgLTAsMCArMSw1NyBAQAorSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoCisgICAgICAgICBEZWNlbWJlciAyMDAwICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAwMSAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwMSAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAgICAgICAgICAgICAgICAgICAgIDMzNiAzMzcgICAxICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDUgICAgICAgICAgICAgICAgICAzMiAgMzMgIDM0Cis1MCAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MyAzNDQgICAyICAgNyAgIDggICA5ICAxMCAgMTEgIDEyICAxMyAgIDYgIDM1ICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxCis1MSAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgICAzICAxNCAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgIDcgIDQyICA0MyAgNDQgIDQ1ICA0NiAgNDcgIDQ4Cis1MiAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggICA0ICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgIDggIDQ5ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1Cis1MyAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NCAzNjUgICA1ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgICAgIDkgIDU2ICA1NyAgNTggIDU5ICAgICAgICAgICAgCis1NCAzNjYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBEZWNlbWJlciAyMDAxICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAwMiAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwMiAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OCAgICAgICAgICAgICAgICAgICAgICAgICAzMzUgICAxICAgICAgICAgICAxICAgMiAgIDMgICA0ICAgNSAgIDUgICAgICAgICAgICAgICAgICAgICAgMzIgIDMzCis0OSAzMzYgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgICAyICAgNiAgIDcgICA4ICAgOSAgMTAgIDExICAxMiAgIDYgIDM0ICAzNSAgMzYgIDM3ICAzOCAgMzkgIDQwCis1MCAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgICAzICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgIDcgIDQxICA0MiAgNDMgIDQ0ICA0NSAgNDYgIDQ3Cis1MSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NSAzNTYgICA0ICAyMCAgMjEgIDIyICAyMyAgMjQgIDI1ICAyNiAgIDggIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgIDU0Cis1MiAzNTcgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgICA1ICAyNyAgMjggIDI5ICAzMCAgMzEgICAgICAgICAgIDkgIDU1ICA1NiAgNTcgIDU4ICA1OSAgICAgICAgCis1MyAzNjQgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBEZWNlbWJlciAyMDAyICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAwMyAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwMyAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAzMzUgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgICAxICAgICAgICAgICAgICAgMSAgIDIgICAzICAgNCAgIDUgICAgICAgICAgICAgICAgICAgICAgICAgIDMyCis1MCAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggICAyICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgIDYgIDMzICAzNCAgMzUgIDM2ICAzNyAgMzggIDM5Cis1MSAzNDkgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgICAzICAxMiAgMTMgIDE0ICAxNSAgMTYgIDE3ICAxOCAgIDcgIDQwICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2Cis1MiAzNTYgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgICA0ICAxOSAgMjAgIDIxICAyMiAgMjMgIDI0ICAyNSAgIDggIDQ3ICA0OCAgNDkgIDUwICA1MSAgNTIgIDUzCis1MyAzNjMgMzY0IDM2NSAgICAgICAgICAgICAgICAgICA1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgIDkgIDU0ICA1NSAgNTYgIDU3ICA1OCAgNTkgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBEZWNlbWJlciAyMDA4ICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAwOSAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAwOSAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAgICAgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgICAxICAgICAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDYgIDMyICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4Cis1MCAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDggICAyICAgNCAgIDUgICA2ICAgNyAgIDggICA5ICAxMCAgIDcgIDM5ICA0MCAgNDEgIDQyICA0MyAgNDQgIDQ1Cis1MSAzNDkgMzUwIDM1MSAzNTIgMzUzIDM1NCAzNTUgICAzICAxMSAgMTIgIDEzICAxNCAgMTUgIDE2ICAxNyAgIDggIDQ2ICA0NyAgNDggIDQ5ICA1MCAgNTEgIDUyCis1MiAzNTYgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgICA0ICAxOCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgIDkgIDUzICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5Cis1MyAzNjMgMzY0IDM2NSAzNjYgICAgICAgICAgICAgICA1ICAyNSAgMjYgIDI3ICAyOCAgMjkgIDMwICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBEZWNlbWJlciAyMDA5ICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxMCAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMCAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAgICAgICAgIDMzNSAzMzYgMzM3IDMzOCAzMzkgICAxICAgICAgICAgICAgICAgICAgICAgICAxICAgMiAgIDYgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgIDM3Cis1MCAzNDAgMzQxIDM0MiAzNDMgMzQ0IDM0NSAzNDYgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICA4ICAgOSAgIDcgIDM4ICAzOSAgNDAgIDQxICA0MiAgNDMgIDQ0Cis1MSAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MiAzNTMgICAzICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAxNiAgIDggIDQ1ICA0NiAgNDcgIDQ4ICA0OSAgNTAgIDUxCis1MiAzNTQgMzU1IDM1NiAzNTcgMzU4IDM1OSAzNjAgICA0ICAxNyAgMTggIDE5ICAyMCAgMjEgIDIyICAyMyAgIDkgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgIDU4Cis1MyAzNjEgMzYyIDM2MyAzNjQgMzY1ICAgICAgICAgICA1ICAyNCAgMjUgIDI2ICAyNyAgMjggIDI5ICAzMCAgMTAgIDU5ICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2ICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBEZWNlbWJlciAyMDEwICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxMSAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMSAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAgICAgICAgICAgICAzMzUgMzM2IDMzNyAzMzggICAxICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAgIDYgICAgICAgICAgMzIgIDMzICAzNCAgMzUgIDM2Cis1MCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgICAyICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDcgIDM3ICAzOCAgMzkgIDQwICA0MSAgNDIgIDQzCis1MSAzNDYgMzQ3IDM0OCAzNDkgMzUwIDM1MSAzNTIgICAzICAgOSAgMTAgIDExICAxMiAgMTMgIDE0ICAxNSAgIDggIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwCis1MiAzNTMgMzU0IDM1NSAzNTYgMzU3IDM1OCAzNTkgICA0ICAxNiAgMTcgIDE4ICAxOSAgMjAgIDIxICAyMiAgIDkgIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgIDU3Cis1MyAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAgICA1ICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMTAgIDU4ICA1OSAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBEZWNlbWJlciAyMDExICAgICAgICAgICAgICAgICAgIEphbnVhcnkgMjAxMiAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgMjAxMiAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0OSAgICAgICAgICAgICAgICAgMzM1IDMzNiAzMzcgICAxICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgIDUgICAgICAgICAgICAgIDMyICAzMyAgMzQgIDM1Cis1MCAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MyAzNDQgICAyICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgIDYgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyCis1MSAzNDUgMzQ2IDM0NyAzNDggMzQ5IDM1MCAzNTEgICAzICAxNSAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgIDcgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5Cis1MiAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggICA0ICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgIDggIDUwICA1MSAgNTIgIDUzICA1NCAgNTUgIDU2Cis1MyAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NCAzNjUgICA1ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgIDkgIDU3ICA1OCAgNTkgIDYwICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS0zc3cgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS0zc3cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGIxYzFiMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLTNzdwpAQCAtMCwwICsxLDU3IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGgKKyAgICAgRGVjZW1iZXIgMjAwMCAgICAgICAgICAgICBKYW51YXJ5IDIwMDEgICAgICAgICAgICBGZWJydWFyeSAyMDAxICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ5ICAgICAgICAgICAgICAgICAxICAyICAgMSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDUgICAgICAgICAgICAgIDEgIDIgIDMKKzUwICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDYgIDQgIDUgIDYgIDcgIDggIDkgMTAKKzUxIDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMyAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDcgMTEgMTIgMTMgMTQgMTUgMTYgMTcKKzUyIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgNCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDggMTggMTkgMjAgMjEgMjIgMjMgMjQKKzUzIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgNSAyOCAyOSAzMCAzMSAgICAgICAgICAgIDkgMjUgMjYgMjcgMjggICAgICAgICAKKzU0IDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgRGVjZW1iZXIgMjAwMSAgICAgICAgICAgICBKYW51YXJ5IDIwMDIgICAgICAgICAgICBGZWJydWFyeSAyMDAyICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ4ICAgICAgICAgICAgICAgICAgICAxICAgMSAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDUgICAgICAgICAgICAgICAgIDEgIDIKKzQ5ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMiAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDYgIDMgIDQgIDUgIDYgIDcgIDggIDkKKzUwICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDcgMTAgMTEgMTIgMTMgMTQgMTUgMTYKKzUxIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgNCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDggMTcgMTggMTkgMjAgMjEgMjIgMjMKKzUyIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgNSAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDkgMjQgMjUgMjYgMjcgMjggICAgICAKKzUzIDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgRGVjZW1iZXIgMjAwMiAgICAgICAgICAgICBKYW51YXJ5IDIwMDMgICAgICAgICAgICBGZWJydWFyeSAyMDAzICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ5ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMSAgICAgICAgICAgMSAgMiAgMyAgNCAgIDUgICAgICAgICAgICAgICAgICAgIDEKKzUwICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDYgIDIgIDMgIDQgIDUgIDYgIDcgIDgKKzUxIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDcgIDkgMTAgMTEgMTIgMTMgMTQgMTUKKzUyIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgNCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDggMTYgMTcgMTggMTkgMjAgMjEgMjIKKzUzIDI5IDMwIDMxICAgICAgICAgICAgICAgNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDkgMjMgMjQgMjUgMjYgMjcgMjggICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgRGVjZW1iZXIgMjAwOCAgICAgICAgICAgICBKYW51YXJ5IDIwMDkgICAgICAgICAgICBGZWJydWFyeSAyMDA5ICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ5ICAgICAxICAyICAzICA0ICA1ICA2ICAgMSAgICAgICAgICAgICAgMSAgMiAgMyAgIDYgIDEgIDIgIDMgIDQgIDUgIDYgIDcKKzUwICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMiAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDcgIDggIDkgMTAgMTEgMTIgMTMgMTQKKzUxIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMyAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDggMTUgMTYgMTcgMTggMTkgMjAgMjEKKzUyIDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgNCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDkgMjIgMjMgMjQgMjUgMjYgMjcgMjgKKzUzIDI4IDI5IDMwIDMxICAgICAgICAgICAgNSAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgRGVjZW1iZXIgMjAwOSAgICAgICAgICAgICBKYW51YXJ5IDIwMTAgICAgICAgICAgICBGZWJydWFyeSAyMDEwICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ5ICAgICAgICAxICAyICAzICA0ICA1ICAgMSAgICAgICAgICAgICAgICAgMSAgMiAgIDYgICAgIDEgIDIgIDMgIDQgIDUgIDYKKzUwICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDcgIDcgIDggIDkgMTAgMTEgMTIgMTMKKzUxIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDggMTQgMTUgMTYgMTcgMTggMTkgMjAKKzUyIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgNCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDkgMjEgMjIgMjMgMjQgMjUgMjYgMjcKKzUzIDI3IDI4IDI5IDMwIDMxICAgICAgICAgNSAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgMTAgMjggICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgNiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgRGVjZW1iZXIgMjAxMCAgICAgICAgICAgICBKYW51YXJ5IDIwMTEgICAgICAgICAgICBGZWJydWFyeSAyMDExICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ5ICAgICAgICAgICAxICAyICAzICA0ICAgMSAgICAgICAgICAgICAgICAgICAgMSAgIDYgICAgICAgIDEgIDIgIDMgIDQgIDUKKzUwICA1ICA2ICA3ICA4ICA5IDEwIDExICAgMiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDcgIDYgIDcgIDggIDkgMTAgMTEgMTIKKzUxIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMyAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDggMTMgMTQgMTUgMTYgMTcgMTggMTkKKzUyIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgNCAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDkgMjAgMjEgMjIgMjMgMjQgMjUgMjYKKzUzIDI2IDI3IDI4IDI5IDMwIDMxICAgICAgNSAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgMTAgMjcgMjggICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgNiAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgRGVjZW1iZXIgMjAxMSAgICAgICAgICAgICBKYW51YXJ5IDIwMTIgICAgICAgICAgICBGZWJydWFyeSAyMDEyICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQ5ICAgICAgICAgICAgICAxICAyICAzICAgMSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDUgICAgICAgICAgIDEgIDIgIDMgIDQKKzUwICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMiAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDYgIDUgIDYgIDcgIDggIDkgMTAgMTEKKzUxIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgMyAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDcgMTIgMTMgMTQgMTUgMTYgMTcgMTgKKzUyIDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgNCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDggMTkgMjAgMjEgMjIgMjMgMjQgMjUKKzUzIDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNSAyOSAzMCAzMSAgICAgICAgICAgICAgIDkgMjYgMjcgMjggMjkgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLXltancgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS15bWp3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0YTEwNzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS15bWp3CkBAIC0wLDAgKzEsMjM5IEBACitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgMSAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICAgNSAgICAgICAgICAgICAgMzIgIDMzICAzNCAgMzUgICAgOSAgICAgICAgICAgICAgNjAgIDYxICA2MiAgNjMKKyAyICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgICA2ICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MiAgIDEwICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICA3MAorIDMgIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgIDIxICAgIDcgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICAgMTEgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgIDc3CisgNCAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgMjggICAgOCAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgICAxMiAgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgODQKKyA1ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICA5ICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgICAgIDEzICA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMTMgICAgICAgICAgICAgICAgICAgICAgICAgIDkxICAgMTggICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgMTI2ICAgMjIgICAgICAgICAgICAgICAgIDE1MiAxNTMgMTU0CisxNCAgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgOTggICAxOSAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAxMzMgICAyMyAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAxNjEKKzE1ICA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAgIDIwIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5IDE0MCAgIDI0IDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OAorMTYgMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgMTEyICAgMjEgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3ICAgMjUgMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1CisxNyAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkgICAyMiAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgICAgICAyNiAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgICAKKzE4IDEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzI2ICAgICAgICAgICAgICAgICAgICAgICAgIDE4MiAgIDMxICAgICAgICAgMjEzIDIxNCAyMTUgMjE2IDIxNyAgIDM1ICAgICAgICAgICAgICAgICAgICAgMjQ0IDI0NQorMjcgMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5ICAgMzIgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAgMzYgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEgMjUyCisyOCAxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgICAzMyAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgICAzNyAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkKKzI5IDE5NyAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAgIDM0IDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAgIDM4IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NgorMzAgMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwICAgMzUgMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAgMzkgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczCiszMSAyMTEgMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0MCAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgICA0NCAgICAgICAgICAgICAzMDUgMzA2IDMwNyAzMDggICA0OCAgICAgICAgICAgICAgICAgICAgIDMzNSAzMzYKKzQxIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAgIDQ1IDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0IDMxNSAgIDQ5IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MworNDIgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0ICAgNDYgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgMzIyICAgNTAgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwCis0MyAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgICA0NyAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAzMjkgICA1MSAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcKKzQ0IDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgICAgIDQ4IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgICAgICAgIDUyIDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAxICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgICA1ICAgICAgICAgICAgICAgICAgMzIgIDMzICAzNCAgICA5ICAgICAgICAgICAgICAgICAgNjAgIDYxICA2MgorIDIgICA3ICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAgIDYgIDM1ICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICAgMTAgIDYzICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5CisgMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgICAgNyAgNDIgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggICAxMSAgNzAgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYKKyA0ICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgICA4ICA0OSAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NSAgIDEyICA3NyAgNzggIDc5ICA4MCAgODEgIDgyICA4MworIDUgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgIDkgIDU2ICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgMTMgIDg0ICA4NSAgODYgIDg3ICA4OCAgODkgIDkwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisxNCAgOTEgIDkyICA5MyAgOTQgIDk1ICA5NiAgOTcgICAxOCAgICAgICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgICAyMiAgICAgICAgICAgICAgICAgICAgIDE1MiAxNTMKKzE1ICA5OCAgOTkgMTAwIDEwMSAxMDIgMTAzIDEwNCAgIDE5IDEyNiAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAgIDIzIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MAorMTYgMTA1IDEwNiAxMDcgMTA4IDEwOSAxMTAgMTExICAgMjAgMTMzIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5ICAgMjQgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3CisxNyAxMTIgMTEzIDExNCAxMTUgMTE2IDExNyAxMTggICAyMSAxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgICAyNSAxNjggMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQKKzE4IDExOSAxMjAgICAgICAgICAgICAgICAgICAgICAgIDIyIDE0NyAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgIDI2IDE3NSAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMjcgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgMTg4ICAgMzEgICAgICAgICAgICAgMjEzIDIxNCAyMTUgMjE2ICAgMzUgICAgICAgICAgICAgICAgICAgICAgICAgMjQ0CisyOCAxODkgMTkwIDE5MSAxOTIgMTkzIDE5NCAxOTUgICAzMiAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgICAzNiAyNDUgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEKKzI5IDE5NiAxOTcgMTk4IDE5OSAyMDAgMjAxIDIwMiAgIDMzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAgIDM3IDI1MiAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OAorMzAgMjAzIDIwNCAyMDUgMjA2IDIwNyAyMDggMjA5ICAgMzQgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3ICAgMzggMjU5IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1CiszMSAyMTAgMjExIDIxMiAgICAgICAgICAgICAgICAgICAzNSAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAzOSAyNjYgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwIDI3MyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzQwICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAgIDQ0ICAgICAgICAgICAgICAgICAzMDUgMzA2IDMwNyAgIDQ4ICAgICAgICAgICAgICAgICAgICAgICAgIDMzNQorNDEgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2ICAgNDUgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0ICAgNDkgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyCis0MiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgICA0NiAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgICA1MCAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkKKzQzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAgIDQ3IDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAgIDUxIDM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NgorNDQgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgNDggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgICAgNTIgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAzNjQgMzY1ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorIDEgICAgICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgIDUgICAgICAgICAgICAgICAgICAgICAgMzIgIDMzICAgIDkgICAgICAgICAgICAgICAgICAgICAgNjAgIDYxCisgMiAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgMTIgICAgNiAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgNDAgICAxMCAgNjIgIDYzICA2NCAgNjUgIDY2ICA2NyAgNjgKKyAzICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgICA3ICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2ICA0NyAgIDExICA2OSAgNzAgIDcxICA3MiAgNzMgIDc0ICA3NQorIDQgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAgIDggIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgIDU0ICAgMTIgIDc2ICA3NyAgNzggIDc5ICA4MCAgODEgIDgyCisgNSAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICAgOSAgNTUgIDU2ICA1NyAgNTggIDU5ICAgICAgICAgICAxMyAgODMgIDg0ICA4NSAgODYgIDg3ICA4OCAgODkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0ICA5MCAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzE0ICAgICAgOTEgIDkyICA5MyAgOTQgIDk1ICA5NiAgIDE4ICAgICAgICAgICAgIDEyMSAxMjIgMTIzIDEyNCAgIDIyICAgICAgICAgICAgICAgICAgICAgICAgIDE1MgorMTUgIDk3ICA5OCAgOTkgMTAwIDEwMSAxMDIgMTAzICAgMTkgMTI1IDEyNiAxMjcgMTI4IDEyOSAxMzAgMTMxICAgMjMgMTUzIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5CisxNiAxMDQgMTA1IDEwNiAxMDcgMTA4IDEwOSAxMTAgICAyMCAxMzIgMTMzIDEzNCAxMzUgMTM2IDEzNyAxMzggICAyNCAxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYKKzE3IDExMSAxMTIgMTEzIDExNCAxMTUgMTE2IDExNyAgIDIxIDEzOSAxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAgIDI1IDE2NyAxNjggMTY5IDE3MCAxNzEgMTcyIDE3MworMTggMTE4IDExOSAxMjAgICAgICAgICAgICAgICAgICAgMjIgMTQ2IDE0NyAxNDggMTQ5IDE1MCAxNTEgICAgICAgMjYgMTc0IDE3NSAxNzYgMTc3IDE3OCAxNzkgMTgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNyAxODEgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisyNyAgICAgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgICAzMSAgICAgICAgICAgICAgICAgMjEzIDIxNCAyMTUgICAzNiAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OSAyNTAKKzI4IDE4OCAxODkgMTkwIDE5MSAxOTIgMTkzIDE5NCAgIDMyIDIxNiAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAgIDM3IDI1MSAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NworMjkgMTk1IDE5NiAxOTcgMTk4IDE5OSAyMDAgMjAxICAgMzMgMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5ICAgMzggMjU4IDI1OSAyNjAgMjYxIDI2MiAyNjMgMjY0CiszMCAyMDIgMjAzIDIwNCAyMDUgMjA2IDIwNyAyMDggICAzNCAyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgICAzOSAyNjUgMjY2IDI2NyAyNjggMjY5IDI3MCAyNzEKKzMxIDIwOSAyMTAgMjExIDIxMiAgICAgICAgICAgICAgIDM1IDIzNyAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgIDQwIDI3MiAyNzMgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNDAgICAgICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4ICAgNDQgICAgICAgICAgICAgICAgICAgICAzMDUgMzA2ICAgNDkgMzM1IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxCis0MSAyNzkgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgICA0NSAzMDcgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgICA1MCAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDgKKzQyIDI4NiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAgIDQ2IDMxNCAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAgIDUxIDM0OSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NQorNDMgMjkzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5ICAgNDcgMzIxIDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3ICAgNTIgMzU2IDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyCis0NCAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICA0OCAzMjggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgMSAzNjMgMzY0IDM2NSAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgMSAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDQgICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgMzIgICAgOSAgICAgICAgICAgICAgICAgICAgICAgICAgNjAKKyAyICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgICA2ICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgIDEwICA2MSAgNjIgIDYzICA2NCAgNjUgIDY2ICA2NworIDMgIDEyICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAgIDcgIDQwICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2ICAgMTEgIDY4ICA2OSAgNzAgIDcxICA3MiAgNzMgIDc0CisgNCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgICAgOCAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgICAxMiAgNzUgIDc2ICA3NyAgNzggIDc5ICA4MCAgODEKKyA1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICA5ICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5ICAgICAgIDEzICA4MiAgODMgIDg0ICA4NSAgODYgIDg3ICA4OAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQgIDg5ICA5MCAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMTQgICAgICAgICAgOTEgIDkyICA5MyAgOTQgIDk1ICAgMTggICAgICAgICAgICAgICAgIDEyMSAxMjIgMTIzICAgMjMgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcgMTU4CisxNSAgOTYgIDk3ICA5OCAgOTkgMTAwIDEwMSAxMDIgICAxOSAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOSAxMzAgICAyNCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUKKzE2IDEwMyAxMDQgMTA1IDEwNiAxMDcgMTA4IDEwOSAgIDIwIDEzMSAxMzIgMTMzIDEzNCAxMzUgMTM2IDEzNyAgIDI1IDE2NiAxNjcgMTY4IDE2OSAxNzAgMTcxIDE3MgorMTcgMTEwIDExMSAxMTIgMTEzIDExNCAxMTUgMTE2ICAgMjEgMTM4IDEzOSAxNDAgMTQxIDE0MiAxNDMgMTQ0ICAgMjYgMTczIDE3NCAxNzUgMTc2IDE3NyAxNzggMTc5CisxOCAxMTcgMTE4IDExOSAxMjAgICAgICAgICAgICAgICAyMiAxNDUgMTQ2IDE0NyAxNDggMTQ5IDE1MCAxNTEgICAyNyAxODAgMTgxICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzI3ICAgICAgICAgMTgyIDE4MyAxODQgMTg1IDE4NiAgIDMxICAgICAgICAgICAgICAgICAgICAgMjEzIDIxNCAgIDM2ICAgICAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OQorMjggMTg3IDE4OCAxODkgMTkwIDE5MSAxOTIgMTkzICAgMzIgMjE1IDIxNiAyMTcgMjE4IDIxOSAyMjAgMjIxICAgMzcgMjUwIDI1MSAyNTIgMjUzIDI1NCAyNTUgMjU2CisyOSAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OSAyMDAgICAzMyAyMjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggICAzOCAyNTcgMjU4IDI1OSAyNjAgMjYxIDI2MiAyNjMKKzMwIDIwMSAyMDIgMjAzIDIwNCAyMDUgMjA2IDIwNyAgIDM0IDIyOSAyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAgIDM5IDI2NCAyNjUgMjY2IDI2NyAyNjggMjY5IDI3MAorMzEgMjA4IDIwOSAyMTAgMjExIDIxMiAgICAgICAgICAgMzUgMjM2IDIzNyAyMzggMjM5IDI0MCAyNDEgMjQyICAgNDAgMjcxIDI3MiAyNzMgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNiAyNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0MCAgICAgICAgICAgICAyNzQgMjc1IDI3NiAyNzcgICA0NCAgICAgICAgICAgICAgICAgICAgICAgICAzMDUgICA0OSAgICAgMzM1IDMzNiAzMzcgMzM4IDMzOSAzNDAKKzQxIDI3OCAyNzkgMjgwIDI4MSAyODIgMjgzIDI4NCAgIDQ1IDMwNiAzMDcgMzA4IDMwOSAzMTAgMzExIDMxMiAgIDUwIDM0MSAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NworNDIgMjg1IDI4NiAyODcgMjg4IDI4OSAyOTAgMjkxICAgNDYgMzEzIDMxNCAzMTUgMzE2IDMxNyAzMTggMzE5ICAgNTEgMzQ4IDM0OSAzNTAgMzUxIDM1MiAzNTMgMzU0Cis0MyAyOTIgMjkzIDI5NCAyOTUgMjk2IDI5NyAyOTggICA0NyAzMjAgMzIxIDMyMiAzMjMgMzI0IDMyNSAzMjYgICA1MiAzNTUgMzU2IDM1NyAzNTggMzU5IDM2MCAzNjEKKzQ0IDI5OSAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgICAgIDQ4IDMyNyAzMjggMzI5IDMzMCAzMzEgMzMyIDMzMyAgIDUzIDM2MiAzNjMgMzY0IDM2NSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDkgMzM0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzUzICAgICAgICAgICAgICAgICAgIDEgICAyICAgMyAgICA1ICAzMiAgMzMgIDM0ICAzNSAgMzYgIDM3ICAzOCAgICA5ICA2MCAgNjEgIDYyICA2MyAgNjQgIDY1ICA2NgorIDEgICA0ICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAgIDYgIDM5ICA0MCAgNDEgIDQyICA0MyAgNDQgIDQ1ICAgMTAgIDY3ICA2OCAgNjkgIDcwICA3MSAgNzIgIDczCisgMiAgMTEgIDEyICAxMyAgMTQgIDE1ICAxNiAgMTcgICAgNyAgNDYgIDQ3ICA0OCAgNDkgIDUwICA1MSAgNTIgICAxMSAgNzQgIDc1ICA3NiAgNzcgIDc4ICA3OSAgODAKKyAzICAxOCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgICA4ICA1MyAgNTQgIDU1ICA1NiAgNTcgIDU4ICA1OSAgIDEyICA4MSAgODIgIDgzICA4NCAgODUgIDg2ICA4NworIDQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTMgIDg4ICA4OSAgOTAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisxMyAgICAgICAgICAgICAgOTEgIDkyICA5MyAgOTQgICAxNyAgICAgICAgICAgICAgICAgICAgIDEyMSAxMjIgICAyMiAgICAgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcKKzE0ICA5NSAgOTYgIDk3ICA5OCAgOTkgMTAwIDEwMSAgIDE4IDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOSAgIDIzIDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NAorMTUgMTAyIDEwMyAxMDQgMTA1IDEwNiAxMDcgMTA4ICAgMTkgMTMwIDEzMSAxMzIgMTMzIDEzNCAxMzUgMTM2ICAgMjQgMTY1IDE2NiAxNjcgMTY4IDE2OSAxNzAgMTcxCisxNiAxMDkgMTEwIDExMSAxMTIgMTEzIDExNCAxMTUgICAyMCAxMzcgMTM4IDEzOSAxNDAgMTQxIDE0MiAxNDMgICAyNSAxNzIgMTczIDE3NCAxNzUgMTc2IDE3NyAxNzgKKzE3IDExNiAxMTcgMTE4IDExOSAxMjAgICAgICAgICAgIDIxIDE0NCAxNDUgMTQ2IDE0NyAxNDggMTQ5IDE1MCAgIDI2IDE3OSAxODAgMTgxICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjIgMTUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMjYgICAgICAgICAgICAgMTgyIDE4MyAxODQgMTg1ICAgMzAgICAgICAgICAgICAgICAgICAgICAgICAgMjEzICAgMzUgICAgICAgICAyNDQgMjQ1IDI0NiAyNDcgMjQ4CisyNyAxODYgMTg3IDE4OCAxODkgMTkwIDE5MSAxOTIgICAzMSAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOSAyMjAgICAzNiAyNDkgMjUwIDI1MSAyNTIgMjUzIDI1NCAyNTUKKzI4IDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OSAgIDMyIDIyMSAyMjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAgIDM3IDI1NiAyNTcgMjU4IDI1OSAyNjAgMjYxIDI2MgorMjkgMjAwIDIwMSAyMDIgMjAzIDIwNCAyMDUgMjA2ICAgMzMgMjI4IDIyOSAyMzAgMjMxIDIzMiAyMzMgMjM0ICAgMzggMjYzIDI2NCAyNjUgMjY2IDI2NyAyNjggMjY5CiszMCAyMDcgMjA4IDIwOSAyMTAgMjExIDIxMiAgICAgICAzNCAyMzUgMjM2IDIzNyAyMzggMjM5IDI0MCAyNDEgICAzOSAyNzAgMjcxIDI3MiAyNzMgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM1IDI0MiAyNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzM5ICAgICAgICAgICAgICAgICAyNzQgMjc1IDI3NiAgIDQ0IDMwNSAzMDYgMzA3IDMwOCAzMDkgMzEwIDMxMSAgIDQ4ICAgICAgICAgMzM1IDMzNiAzMzcgMzM4IDMzOQorNDAgMjc3IDI3OCAyNzkgMjgwIDI4MSAyODIgMjgzICAgNDUgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgMzE4ICAgNDkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgMzQ2Cis0MSAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSAyOTAgICA0NiAzMTkgMzIwIDMyMSAzMjIgMzIzIDMyNCAzMjUgICA1MCAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MiAzNTMKKzQyIDI5MSAyOTIgMjkzIDI5NCAyOTUgMjk2IDI5NyAgIDQ3IDMyNiAzMjcgMzI4IDMyOSAzMzAgMzMxIDMzMiAgIDUxIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5IDM2MAorNDMgMjk4IDI5OSAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgNDggMzMzIDMzNCAgICAgICAgICAgICAgICAgICAgICAgNTIgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorNTIgICAgICAgICAgICAgICAgICAgICAgIDEgICAyICAgIDUgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgIDM3ICAgIDkgICAgICA2MCAgNjEgIDYyICA2MyAgNjQgIDY1CisgMSAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDkgICAgNiAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgNDQgICAxMCAgNjYgIDY3ICA2OCAgNjkgIDcwICA3MSAgNzIKKyAyICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAxNiAgICA3ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICA1MSAgIDExICA3MyAgNzQgIDc1ICA3NiAgNzcgIDc4ICA3OQorIDMgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgIDIzICAgIDggIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgIDU4ICAgMTIgIDgwICA4MSAgODIgIDgzICA4NCAgODUgIDg2CisgNCAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMzAgICAgOSAgNTkgICAgICAgICAgICAgICAgICAgICAgICAgICAxMyAgODcgIDg4ICA4OSAgOTAgICAgICAgICAgICAKKyA1ICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzEzICAgICAgICAgICAgICAgICAgOTEgIDkyICA5MyAgIDE3ICAgICAgICAgICAgICAgICAgICAgICAgIDEyMSAgIDIyICAgICAgICAgMTUyIDE1MyAxNTQgMTU1IDE1NgorMTQgIDk0ICA5NSAgOTYgIDk3ICA5OCAgOTkgMTAwICAgMTggMTIyIDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4ICAgMjMgMTU3IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzCisxNSAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAxMDcgICAxOSAxMjkgMTMwIDEzMSAxMzIgMTMzIDEzNCAxMzUgICAyNCAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OSAxNzAKKzE2IDEwOCAxMDkgMTEwIDExMSAxMTIgMTEzIDExNCAgIDIwIDEzNiAxMzcgMTM4IDEzOSAxNDAgMTQxIDE0MiAgIDI1IDE3MSAxNzIgMTczIDE3NCAxNzUgMTc2IDE3NworMTcgMTE1IDExNiAxMTcgMTE4IDExOSAxMjAgICAgICAgMjEgMTQzIDE0NCAxNDUgMTQ2IDE0NyAxNDggMTQ5ICAgMjYgMTc4IDE3OSAxODAgMTgxICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMiAxNTAgMTUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisyNiAgICAgICAgICAgICAgICAgMTgyIDE4MyAxODQgICAzMSAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAyMTkgICAzNSAgICAgICAgICAgICAyNDQgMjQ1IDI0NiAyNDcKKzI3IDE4NSAxODYgMTg3IDE4OCAxODkgMTkwIDE5MSAgIDMyIDIyMCAyMjEgMjIyIDIyMyAyMjQgMjI1IDIyNiAgIDM2IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzIDI1NAorMjggMTkyIDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4ICAgMzMgMjI3IDIyOCAyMjkgMjMwIDIzMSAyMzIgMjMzICAgMzcgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgMjYxCisyOSAxOTkgMjAwIDIwMSAyMDIgMjAzIDIwNCAyMDUgICAzNCAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSAyNDAgICAzOCAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAyNjgKKzMwIDIwNiAyMDcgMjA4IDIwOSAyMTAgMjExIDIxMiAgIDM1IDI0MSAyNDIgMjQzICAgICAgICAgICAgICAgICAgIDM5IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMzkgICAgICAgICAgICAgICAgICAgICAyNzQgMjc1ICAgNDQgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgMzEwICAgNDggICAgICAgICAgICAgMzM1IDMzNiAzMzcgMzM4Cis0MCAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAyODIgICA0NSAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgICA0OSAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUKKzQxIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSAgIDQ2IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzIDMyNCAgIDUwIDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MgorNDIgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgMjk2ICAgNDcgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgMzMxICAgNTEgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5Cis0MyAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAzMDMgICA0OCAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgICAgICA1MiAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAKKzQ0IDMwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis1MiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgNSAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgICAgOSAgICAgICAgICAgICAgNjEgIDYyICA2MyAgNjQKKyAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgICA2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgIDEwICA2NSAgNjYgIDY3ICA2OCAgNjkgIDcwICA3MQorIDIgICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAgIDcgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICAgMTEgIDcyICA3MyAgNzQgIDc1ICA3NiAgNzcgIDc4CisgMyAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgICAgOCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgICAxMiAgNzkgIDgwICA4MSAgODIgIDgzICA4NCAgODUKKyA0ICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgICA5ICA1OCAgNTkgIDYwICAgICAgICAgICAgICAgICAgIDEzICA4NiAgODcgIDg4ICA4OSAgOTAgIDkxICAgIAorIDUgIDMwICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMTMgICAgICAgICAgICAgICAgICAgICAgICAgIDkyICAgMTggICAgIDEyMiAxMjMgMTI0IDEyNSAxMjYgMTI3ICAgMjIgICAgICAgICAgICAgICAgIDE1MyAxNTQgMTU1CisxNCAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgOTkgICAxOSAxMjggMTI5IDEzMCAxMzEgMTMyIDEzMyAxMzQgICAyMyAxNTYgMTU3IDE1OCAxNTkgMTYwIDE2MSAxNjIKKzE1IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAgIDIwIDEzNSAxMzYgMTM3IDEzOCAxMzkgMTQwIDE0MSAgIDI0IDE2MyAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OQorMTYgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgMTEzICAgMjEgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgMTQ4ICAgMjUgMTcwIDE3MSAxNzIgMTczIDE3NCAxNzUgMTc2CisxNyAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAxMjAgICAyMiAxNDkgMTUwIDE1MSAxNTIgICAgICAgICAgICAgICAyNiAxNzcgMTc4IDE3OSAxODAgMTgxIDE4MiAgICAKKzE4IDEyMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzI2ICAgICAgICAgICAgICAgICAgICAgICAgIDE4MyAgIDMxICAgICAgICAgMjE0IDIxNSAyMTYgMjE3IDIxOCAgIDM1ICAgICAgICAgICAgICAgICAgICAgMjQ1IDI0NgorMjcgMTg0IDE4NSAxODYgMTg3IDE4OCAxODkgMTkwICAgMzIgMjE5IDIyMCAyMjEgMjIyIDIyMyAyMjQgMjI1ICAgMzYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzCisyOCAxOTEgMTkyIDE5MyAxOTQgMTk1IDE5NiAxOTcgICAzMyAyMjYgMjI3IDIyOCAyMjkgMjMwIDIzMSAyMzIgICAzNyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAKKzI5IDE5OCAxOTkgMjAwIDIwMSAyMDIgMjAzIDIwNCAgIDM0IDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSAgIDM4IDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NworMzAgMjA1IDIwNiAyMDcgMjA4IDIwOSAyMTAgMjExICAgMzUgMjQwIDI0MSAyNDIgMjQzIDI0NCAgICAgICAgICAgMzkgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgMjc0CiszMSAyMTIgMjEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis0MCAyNzUgMjc2IDI3NyAyNzggMjc5IDI4MCAyODEgICA0NCAgICAgICAgICAgICAzMDYgMzA3IDMwOCAzMDkgICA0OCAgICAgICAgICAgICAgICAgICAgIDMzNiAzMzcKKzQxIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3IDI4OCAgIDQ1IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAgIDQ5IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NAorNDIgMjg5IDI5MCAyOTEgMjkyIDI5MyAyOTQgMjk1ICAgNDYgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzICAgNTAgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxCis0MyAyOTYgMjk3IDI5OCAyOTkgMzAwIDMwMSAzMDIgICA0NyAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgICA1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTgKKzQ0IDMwMyAzMDQgMzA1ICAgICAgICAgICAgICAgICAgIDQ4IDMzMSAzMzIgMzMzIDMzNCAzMzUgICAgICAgICAgIDUyIDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgMzY2ICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS15bXcgYi90ZXN0cy9leHBlY3RlZC9jYWwvd2Vla251bS15bXcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDRjMjBkNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLXltdwpAQCAtMCwwICsxLDIzOSBAQAorR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorIDEgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAgNSAgICAgICAgICAgMSAgMiAgMyAgNCAgICA5ICAgICAgICAgICAxICAyICAzICA0CisgMiAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgICA2ICA1ICA2ICA3ICA4ICA5IDEwIDExICAgMTAgIDUgIDYgIDcgIDggIDkgMTAgMTEKKyAzIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgIDcgMTIgMTMgMTQgMTUgMTYgMTcgMTggICAxMSAxMiAxMyAxNCAxNSAxNiAxNyAxOAorIDQgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAgOCAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDEyIDE5IDIwIDIxIDIyIDIzIDI0IDI1CisgNSAyOSAzMCAzMSAgICAgICAgICAgICAgICA5IDI2IDI3IDI4ICAgICAgICAgICAgICAgMTMgMjYgMjcgMjggMjkgMzAgMzEgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzEzICAgICAgICAgICAgICAgICAgICAxICAgMTggICAgIDEgIDIgIDMgIDQgIDUgIDYgICAyMiAgICAgICAgICAgICAgMSAgMiAgMworMTQgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAxOSAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDIzICA0ICA1ICA2ICA3ICA4ICA5IDEwCisxNSAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDIwIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMjQgMTEgMTIgMTMgMTQgMTUgMTYgMTcKKzE2IDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMjEgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAyNSAxOCAxOSAyMCAyMSAyMiAyMyAyNAorMTcgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAyMiAyOCAyOSAzMCAzMSAgICAgICAgICAgIDI2IDI1IDI2IDI3IDI4IDI5IDMwICAgCisxOCAzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisyNiAgICAgICAgICAgICAgICAgICAgMSAgIDMxICAgICAgICAxICAyICAzICA0ICA1ICAgMzUgICAgICAgICAgICAgICAgIDEgIDIKKzI3ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMzIgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAzNiAgMyAgNCAgNSAgNiAgNyAgOCAgOQorMjggIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAzMyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDM3IDEwIDExIDEyIDEzIDE0IDE1IDE2CisyOSAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDM0IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMzggMTcgMTggMTkgMjAgMjEgMjIgMjMKKzMwIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMzUgMjcgMjggMjkgMzAgMzEgICAgICAgICAzOSAyNCAyNSAyNiAyNyAyOCAyOSAzMAorMzEgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDAgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICA0NCAgICAgICAgICAgMSAgMiAgMyAgNCAgIDQ4ICAgICAgICAgICAgICAgICAxICAyCis0MSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDQ1ICA1ICA2ICA3ICA4ICA5IDEwIDExICAgNDkgIDMgIDQgIDUgIDYgIDcgIDggIDkKKzQyIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgNDYgMTIgMTMgMTQgMTUgMTYgMTcgMTggICA1MCAxMCAxMSAxMiAxMyAxNCAxNSAxNgorNDMgMjIgMjMgMjQgMjUgMjYgMjcgMjggICA0NyAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDUxIDE3IDE4IDE5IDIwIDIxIDIyIDIzCis0NCAyOSAzMCAzMSAgICAgICAgICAgICAgIDQ4IDI2IDI3IDI4IDI5IDMwICAgICAgICAgNTIgMjQgMjUgMjYgMjcgMjggMjkgMzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAzMSAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgMSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgICA1ICAgICAgICAgICAgICAxICAyICAzICAgIDkgICAgICAgICAgICAgIDEgIDIgIDMKKyAyICA3ICA4ICA5IDEwIDExIDEyIDEzICAgIDYgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAxMCAgNCAgNSAgNiAgNyAgOCAgOSAxMAorIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAgNyAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDExIDExIDEyIDEzIDE0IDE1IDE2IDE3CisgNCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgICA4IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgMTIgMTggMTkgMjAgMjEgMjIgMjMgMjQKKyA1IDI4IDI5IDMwIDMxICAgICAgICAgICAgIDkgMjUgMjYgMjcgMjggICAgICAgICAgICAxMyAyNSAyNiAyNyAyOCAyOSAzMCAzMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMTQgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAxOCAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDIyICAgICAgICAgICAgICAgICAxICAyCisxNSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDE5ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMjMgIDMgIDQgIDUgIDYgIDcgIDggIDkKKzE2IDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMjAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAyNCAxMCAxMSAxMiAxMyAxNCAxNSAxNgorMTcgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAyMSAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDI1IDE3IDE4IDE5IDIwIDIxIDIyIDIzCisxOCAyOSAzMCAgICAgICAgICAgICAgICAgIDIyIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMjYgMjQgMjUgMjYgMjcgMjggMjkgMzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzI3ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMzEgICAgICAgICAgIDEgIDIgIDMgIDQgICAzNSAgICAgICAgICAgICAgICAgICAgMQorMjggIDggIDkgMTAgMTEgMTIgMTMgMTQgICAzMiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDM2ICAyICAzICA0ICA1ICA2ICA3ICA4CisyOSAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDMzIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMzcgIDkgMTAgMTEgMTIgMTMgMTQgMTUKKzMwIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMzQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAzOCAxNiAxNyAxOCAxOSAyMCAyMSAyMgorMzEgMjkgMzAgMzEgICAgICAgICAgICAgICAzNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDM5IDIzIDI0IDI1IDI2IDI3IDI4IDI5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAgMzAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis0MCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDQ0ICAgICAgICAgICAgICAxICAyICAzICAgNDggICAgICAgICAgICAgICAgICAgIDEKKzQxICA3ICA4ICA5IDEwIDExIDEyIDEzICAgNDUgIDQgIDUgIDYgIDcgIDggIDkgMTAgICA0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOAorNDIgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA0NiAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDUwICA5IDEwIDExIDEyIDEzIDE0IDE1Cis0MyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDQ3IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzQ0IDI4IDI5IDMwIDMxICAgICAgICAgICAgNDggMjUgMjYgMjcgMjggMjkgMzAgICAgICA1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxIDMwIDMxICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAxICAgICAgICAxICAyICAzICA0ICA1ICAgIDUgICAgICAgICAgICAgICAgIDEgIDIgICAgOSAgICAgICAgICAgICAgICAgMSAgMgorIDIgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAgNiAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDEwICAzICA0ICA1ICA2ICA3ICA4ICA5CisgMyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgICA3IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMTEgMTAgMTEgMTIgMTMgMTQgMTUgMTYKKyA0IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgIDggMTcgMTggMTkgMjAgMjEgMjIgMjMgICAxMiAxNyAxOCAxOSAyMCAyMSAyMiAyMworIDUgMjcgMjggMjkgMzAgMzEgICAgICAgICAgOSAyNCAyNSAyNiAyNyAyOCAgICAgICAgIDEzIDI0IDI1IDI2IDI3IDI4IDI5IDMwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQgMzEgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisxNCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDE4ICAgICAgICAgICAxICAyICAzICA0ICAgMjIgICAgICAgICAgICAgICAgICAgIDEKKzE1ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMTkgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAyMyAgMiAgMyAgNCAgNSAgNiAgNyAgOAorMTYgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAyMCAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDI0ICA5IDEwIDExIDEyIDEzIDE0IDE1CisxNyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDIxIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMjUgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzE4IDI4IDI5IDMwICAgICAgICAgICAgICAgMjIgMjYgMjcgMjggMjkgMzAgMzEgICAgICAyNiAyMyAyNCAyNSAyNiAyNyAyOCAyOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3IDMwICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMjcgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAzMSAgICAgICAgICAgICAgMSAgMiAgMyAgIDM2ICAxICAyICAzICA0ICA1ICA2ICA3CisyOCAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDMyICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMzcgIDggIDkgMTAgMTEgMTIgMTMgMTQKKzI5IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMzMgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAzOCAxNSAxNiAxNyAxOCAxOSAyMCAyMQorMzAgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzNCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDM5IDIyIDIzIDI0IDI1IDI2IDI3IDI4CiszMSAyOCAyOSAzMCAzMSAgICAgICAgICAgIDM1IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNDAgMjkgMzAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzQwICAgICAgICAxICAyICAzICA0ICA1ICAgNDQgICAgICAgICAgICAgICAgIDEgIDIgICA0OSAgMSAgMiAgMyAgNCAgNSAgNiAgNworNDEgIDYgIDcgIDggIDkgMTAgMTEgMTIgICA0NSAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDUwICA4ICA5IDEwIDExIDEyIDEzIDE0Cis0MiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDQ2IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgNTEgMTUgMTYgMTcgMTggMTkgMjAgMjEKKzQzIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgNDcgMTcgMTggMTkgMjAgMjEgMjIgMjMgICA1MiAyMiAyMyAyNCAyNSAyNiAyNyAyOAorNDQgMjcgMjggMjkgMzAgMzEgICAgICAgICA0OCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgICAxIDI5IDMwIDMxICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorIDEgICAgICAgICAgIDEgIDIgIDMgIDQgICAgNSAgICAgICAgICAgICAgICAgICAgMSAgICA5ICAgICAgICAgICAgICAgICAgICAxCisgMiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgICA2ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMTAgIDIgIDMgIDQgIDUgIDYgIDcgIDgKKyAzIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgIDcgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxMSAgOSAxMCAxMSAxMiAxMyAxNCAxNQorIDQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAgOCAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDEyIDE2IDE3IDE4IDE5IDIwIDIxIDIyCisgNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgICA5IDIzIDI0IDI1IDI2IDI3IDI4ICAgICAgMTMgMjMgMjQgMjUgMjYgMjcgMjggMjkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNCAzMCAzMSAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzE0ICAgICAgICAxICAyICAzICA0ICA1ICAgMTggICAgICAgICAgICAgIDEgIDIgIDMgICAyMyAgMSAgMiAgMyAgNCAgNSAgNiAgNworMTUgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAxOSAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDI0ICA4ICA5IDEwIDExIDEyIDEzIDE0CisxNiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDIwIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgMjUgMTUgMTYgMTcgMTggMTkgMjAgMjEKKzE3IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMjEgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAyNiAyMiAyMyAyNCAyNSAyNiAyNyAyOAorMTggMjcgMjggMjkgMzAgICAgICAgICAgICAyMiAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIDI3IDI5IDMwICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisyNyAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDMxICAgICAgICAgICAgICAgICAxICAyICAgMzYgICAgIDEgIDIgIDMgIDQgIDUgIDYKKzI4ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMzIgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAzNyAgNyAgOCAgOSAxMCAxMSAxMiAxMworMjkgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAzMyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDM4IDE0IDE1IDE2IDE3IDE4IDE5IDIwCiszMCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDM0IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgMzkgMjEgMjIgMjMgMjQgMjUgMjYgMjcKKzMxIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMzUgMjQgMjUgMjYgMjcgMjggMjkgMzAgICA0MCAyOCAyOSAzMCAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAzNiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDAgICAgICAgICAgIDEgIDIgIDMgIDQgICA0NCAgICAgICAgICAgICAgICAgICAgMSAgIDQ5ICAgICAxICAyICAzICA0ICA1ICA2Cis0MSAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDQ1ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgNTAgIDcgIDggIDkgMTAgMTEgMTIgMTMKKzQyIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgNDYgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICA1MSAxNCAxNSAxNiAxNyAxOCAxOSAyMAorNDMgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICA0NyAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDUyIDIxIDIyIDIzIDI0IDI1IDI2IDI3Cis0NCAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDQ4IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgNTMgMjggMjkgMzAgMzEgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgNDkgMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis1MyAgICAgICAgICAgICAgMSAgMiAgMyAgICA1ICAxICAyICAzICA0ICA1ICA2ICA3ICAgIDkgIDEgIDIgIDMgIDQgIDUgIDYgIDcKKyAxICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgIDYgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAxMCAgOCAgOSAxMCAxMSAxMiAxMyAxNAorIDIgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAgNyAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDExIDE1IDE2IDE3IDE4IDE5IDIwIDIxCisgMyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgICA4IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMTIgMjIgMjMgMjQgMjUgMjYgMjcgMjgKKyA0IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMyAyOSAzMCAzMSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMTMgICAgICAgICAgIDEgIDIgIDMgIDQgICAxNyAgICAgICAgICAgICAgICAgMSAgMiAgIDIyICAgICAxICAyICAzICA0ICA1ICA2CisxNCAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDE4ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMjMgIDcgIDggIDkgMTAgMTEgMTIgMTMKKzE1IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMTkgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAyNCAxNCAxNSAxNiAxNyAxOCAxOSAyMAorMTYgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAyMCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDI1IDIxIDIyIDIzIDI0IDI1IDI2IDI3CisxNyAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDIxIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgMjYgMjggMjkgMzAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMjIgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzI2ICAgICAgICAgICAxICAyICAzICA0ICAgMzAgICAgICAgICAgICAgICAgICAgIDEgICAzNSAgICAgICAgMSAgMiAgMyAgNCAgNQorMjcgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAzMSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDM2ICA2ICA3ICA4ICA5IDEwIDExIDEyCisyOCAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDMyICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMzcgMTMgMTQgMTUgMTYgMTcgMTggMTkKKzI5IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMzMgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAzOCAyMCAyMSAyMiAyMyAyNCAyNSAyNgorMzAgMjYgMjcgMjggMjkgMzAgMzEgICAgICAzNCAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDM5IDI3IDI4IDI5IDMwICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDM1IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CiszOSAgICAgICAgICAgICAgMSAgMiAgMyAgIDQ0ICAxICAyICAzICA0ICA1ICA2ICA3ICAgNDggICAgICAgIDEgIDIgIDMgIDQgIDUKKzQwICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgNDUgIDggIDkgMTAgMTEgMTIgMTMgMTQgICA0OSAgNiAgNyAgOCAgOSAxMCAxMSAxMgorNDEgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICA0NiAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDUwIDEzIDE0IDE1IDE2IDE3IDE4IDE5Cis0MiAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDQ3IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgNTEgMjAgMjEgMjIgMjMgMjQgMjUgMjYKKzQzIDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNDggMjkgMzAgICAgICAgICAgICAgICAgICA1MiAyNyAyOCAyOSAzMCAzMSAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDExICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzUyICAgICAgICAgICAgICAgICAxICAyICAgIDUgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAgOSAgICAgMSAgMiAgMyAgNCAgNSAgNgorIDEgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAgNiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDEwICA3ICA4ICA5IDEwIDExIDEyIDEzCisgMiAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgICA3IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMTEgMTQgMTUgMTYgMTcgMTggMTkgMjAKKyAzIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgIDggMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAxMiAyMSAyMiAyMyAyNCAyNSAyNiAyNworIDQgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAgOSAyOCAgICAgICAgICAgICAgICAgICAgIDEzIDI4IDI5IDMwIDMxICAgICAgICAgCisgNSAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisxMyAgICAgICAgICAgICAgMSAgMiAgMyAgIDE3ICAgICAgICAgICAgICAgICAgICAxICAgMjIgICAgICAgIDEgIDIgIDMgIDQgIDUKKzE0ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMTggIDIgIDMgIDQgIDUgIDYgIDcgIDggICAyMyAgNiAgNyAgOCAgOSAxMCAxMSAxMgorMTUgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAxOSAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDI0IDEzIDE0IDE1IDE2IDE3IDE4IDE5CisxNiAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDIwIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMjUgMjAgMjEgMjIgMjMgMjQgMjUgMjYKKzE3IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgMjEgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAyNiAyNyAyOCAyOSAzMCAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAyMiAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMjYgICAgICAgICAgICAgIDEgIDIgIDMgICAzMSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDM1ICAgICAgICAgICAxICAyICAzICA0CisyNyAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDMyICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMzYgIDUgIDYgIDcgIDggIDkgMTAgMTEKKzI4IDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgMzMgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAzNyAxMiAxMyAxNCAxNSAxNiAxNyAxOAorMjkgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAzNCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDM4IDE5IDIwIDIxIDIyIDIzIDI0IDI1CiszMCAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIDM1IDI5IDMwIDMxICAgICAgICAgICAgICAgMzkgMjYgMjcgMjggMjkgMzAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzM5ICAgICAgICAgICAgICAgICAxICAyICAgNDQgICAgIDEgIDIgIDMgIDQgIDUgIDYgICA0OCAgICAgICAgICAgMSAgMiAgMyAgNAorNDAgIDMgIDQgIDUgIDYgIDcgIDggIDkgICA0NSAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDQ5ICA1ICA2ICA3ICA4ICA5IDEwIDExCis0MSAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDQ2IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgNTAgMTIgMTMgMTQgMTUgMTYgMTcgMTgKKzQyIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgNDcgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICA1MSAxOSAyMCAyMSAyMiAyMyAyNCAyNQorNDMgMjQgMjUgMjYgMjcgMjggMjkgMzAgICA0OCAyOCAyOSAzMCAgICAgICAgICAgICAgIDUyIDI2IDI3IDI4IDI5IDMwIDMxICAgCis0NCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNTIgICAgICAgICAgICAgICAgICAgIDEgICAgNSAgICAgICAgMSAgMiAgMyAgNCAgNSAgICA5ICAgICAgICAgICAxICAyICAzICA0CisgMSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgICA2ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMTAgIDUgIDYgIDcgIDggIDkgMTAgMTEKKyAyICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgIDcgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAxMSAxMiAxMyAxNCAxNSAxNiAxNyAxOAorIDMgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAgOCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDEyIDE5IDIwIDIxIDIyIDIzIDI0IDI1CisgNCAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgICA5IDI3IDI4IDI5ICAgICAgICAgICAgICAgMTMgMjYgMjcgMjggMjkgMzAgMzEgICAKKyA1IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzEzICAgICAgICAgICAgICAgICAgICAxICAgMTggICAgIDEgIDIgIDMgIDQgIDUgIDYgICAyMiAgICAgICAgICAgICAgMSAgMiAgMworMTQgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAxOSAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDIzICA0ICA1ICA2ICA3ICA4ICA5IDEwCisxNSAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDIwIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMjQgMTEgMTIgMTMgMTQgMTUgMTYgMTcKKzE2IDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMjEgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAyNSAxOCAxOSAyMCAyMSAyMiAyMyAyNAorMTcgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAyMiAyOCAyOSAzMCAzMSAgICAgICAgICAgIDI2IDI1IDI2IDI3IDI4IDI5IDMwICAgCisxOCAzMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisyNiAgICAgICAgICAgICAgICAgICAgMSAgIDMxICAgICAgICAxICAyICAzICA0ICA1ICAgMzUgICAgICAgICAgICAgICAgIDEgIDIKKzI3ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMzIgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAzNiAgMyAgNCAgNSAgNiAgNyAgOCAgOQorMjggIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAzMyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDM3IDEwIDExIDEyIDEzIDE0IDE1IDE2CisyOSAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDM0IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMzggMTcgMTggMTkgMjAgMjEgMjIgMjMKKzMwIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMzUgMjcgMjggMjkgMzAgMzEgICAgICAgICAzOSAyNCAyNSAyNiAyNyAyOCAyOSAzMAorMzEgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorNDAgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICA0NCAgICAgICAgICAgMSAgMiAgMyAgNCAgIDQ4ICAgICAgICAgICAgICAgICAxICAyCis0MSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDQ1ICA1ICA2ICA3ICA4ICA5IDEwIDExICAgNDkgIDMgIDQgIDUgIDYgIDcgIDggIDkKKzQyIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgNDYgMTIgMTMgMTQgMTUgMTYgMTcgMTggICA1MCAxMCAxMSAxMiAxMyAxNCAxNSAxNgorNDMgMjIgMjMgMjQgMjUgMjYgMjcgMjggICA0NyAxOSAyMCAyMSAyMiAyMyAyNCAyNSAgIDUxIDE3IDE4IDE5IDIwIDIxIDIyIDIzCis0NCAyOSAzMCAzMSAgICAgICAgICAgICAgIDQ4IDI2IDI3IDI4IDI5IDMwICAgICAgICAgNTIgMjQgMjUgMjYgMjcgMjggMjkgMzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMSAzMSAgICAgICAgICAgICAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0teXNqdyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLXlzancKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTZiOTFhZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLXlzancKQEAgLTAsMCArMSwyMzkgQEAKK0p1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAxICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgICA1ICAgICAgICAgICAgICAgICAgMzIgIDMzICAzNCAgICA5ICAgICAgICAgICAgICAgICAgNjAgIDYxICA2MgorIDIgICA3ICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAgIDYgIDM1ICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICAgMTAgIDYzICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5CisgMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgICAgNyAgNDIgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggICAxMSAgNzAgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYKKyA0ICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgICA4ICA0OSAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NSAgIDEyICA3NyAgNzggIDc5ICA4MCAgODEgIDgyICA4MworIDUgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgIDkgIDU2ICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgMTMgIDg0ICA4NSAgODYgIDg3ICA4OCAgODkgIDkwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisxNCAgOTEgIDkyICA5MyAgOTQgIDk1ICA5NiAgOTcgICAxOCAgICAgICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgICAyMiAgICAgICAgICAgICAgICAgICAgIDE1MiAxNTMKKzE1ICA5OCAgOTkgMTAwIDEwMSAxMDIgMTAzIDEwNCAgIDE5IDEyNiAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAgIDIzIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MAorMTYgMTA1IDEwNiAxMDcgMTA4IDEwOSAxMTAgMTExICAgMjAgMTMzIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5ICAgMjQgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3CisxNyAxMTIgMTEzIDExNCAxMTUgMTE2IDExNyAxMTggICAyMSAxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgICAyNSAxNjggMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQKKzE4IDExOSAxMjAgICAgICAgICAgICAgICAgICAgICAgIDIyIDE0NyAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgIDI2IDE3NSAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMjcgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgMTg4ICAgMzEgICAgICAgICAgICAgMjEzIDIxNCAyMTUgMjE2ICAgMzUgICAgICAgICAgICAgICAgICAgICAgICAgMjQ0CisyOCAxODkgMTkwIDE5MSAxOTIgMTkzIDE5NCAxOTUgICAzMiAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgICAzNiAyNDUgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEKKzI5IDE5NiAxOTcgMTk4IDE5OSAyMDAgMjAxIDIwMiAgIDMzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAgIDM3IDI1MiAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OAorMzAgMjAzIDIwNCAyMDUgMjA2IDIwNyAyMDggMjA5ICAgMzQgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3ICAgMzggMjU5IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1CiszMSAyMTAgMjExIDIxMiAgICAgICAgICAgICAgICAgICAzNSAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAzOSAyNjYgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwIDI3MyAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQwICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAgIDQ0ICAgICAgICAgICAgICAgICAzMDUgMzA2IDMwNyAgIDQ4ICAgICAgICAgICAgICAgICAgICAgICAgIDMzNQorNDEgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2ICAgNDUgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0ICAgNDkgMzM2IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyCis0MiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgICA0NiAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgICA1MCAzNDMgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkKKzQzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAgIDQ3IDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAgIDUxIDM1MCAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NgorNDQgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgNDggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgICAgNTIgMzU3IDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MyAzNjQgMzY1ICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorIDEgICAgICAgICAgIDEgICAyICAgMyAgIDQgICA1ICAgIDUgICAgICAgICAgICAgICAgICAgICAgMzIgIDMzICAgIDkgICAgICAgICAgICAgICAgICAgICAgNjAgIDYxCisgMiAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgMTIgICAgNiAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgNDAgICAxMCAgNjIgIDYzICA2NCAgNjUgIDY2ICA2NyAgNjgKKyAzICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAxOSAgICA3ICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2ICA0NyAgIDExICA2OSAgNzAgIDcxICA3MiAgNzMgIDc0ICA3NQorIDQgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgIDI2ICAgIDggIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgIDU0ICAgMTIgIDc2ICA3NyAgNzggIDc5ICA4MCAgODEgIDgyCisgNSAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICAgOSAgNTUgIDU2ICA1NyAgNTggIDU5ICAgICAgICAgICAxMyAgODMgIDg0ICA4NSAgODYgIDg3ICA4OCAgODkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE0ICA5MCAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzE0ICAgICAgOTEgIDkyICA5MyAgOTQgIDk1ICA5NiAgIDE4ICAgICAgICAgICAgIDEyMSAxMjIgMTIzIDEyNCAgIDIyICAgICAgICAgICAgICAgICAgICAgICAgIDE1MgorMTUgIDk3ICA5OCAgOTkgMTAwIDEwMSAxMDIgMTAzICAgMTkgMTI1IDEyNiAxMjcgMTI4IDEyOSAxMzAgMTMxICAgMjMgMTUzIDE1NCAxNTUgMTU2IDE1NyAxNTggMTU5CisxNiAxMDQgMTA1IDEwNiAxMDcgMTA4IDEwOSAxMTAgICAyMCAxMzIgMTMzIDEzNCAxMzUgMTM2IDEzNyAxMzggICAyNCAxNjAgMTYxIDE2MiAxNjMgMTY0IDE2NSAxNjYKKzE3IDExMSAxMTIgMTEzIDExNCAxMTUgMTE2IDExNyAgIDIxIDEzOSAxNDAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAgIDI1IDE2NyAxNjggMTY5IDE3MCAxNzEgMTcyIDE3MworMTggMTE4IDExOSAxMjAgICAgICAgICAgICAgICAgICAgMjIgMTQ2IDE0NyAxNDggMTQ5IDE1MCAxNTEgICAgICAgMjYgMTc0IDE3NSAxNzYgMTc3IDE3OCAxNzkgMTgwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyNyAxODEgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisyNyAgICAgMTgyIDE4MyAxODQgMTg1IDE4NiAxODcgICAzMSAgICAgICAgICAgICAgICAgMjEzIDIxNCAyMTUgICAzNiAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OSAyNTAKKzI4IDE4OCAxODkgMTkwIDE5MSAxOTIgMTkzIDE5NCAgIDMyIDIxNiAyMTcgMjE4IDIxOSAyMjAgMjIxIDIyMiAgIDM3IDI1MSAyNTIgMjUzIDI1NCAyNTUgMjU2IDI1NworMjkgMTk1IDE5NiAxOTcgMTk4IDE5OSAyMDAgMjAxICAgMzMgMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggMjI5ICAgMzggMjU4IDI1OSAyNjAgMjYxIDI2MiAyNjMgMjY0CiszMCAyMDIgMjAzIDIwNCAyMDUgMjA2IDIwNyAyMDggICAzNCAyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAyMzYgICAzOSAyNjUgMjY2IDI2NyAyNjggMjY5IDI3MCAyNzEKKzMxIDIwOSAyMTAgMjExIDIxMiAgICAgICAgICAgICAgIDM1IDIzNyAyMzggMjM5IDI0MCAyNDEgMjQyIDI0MyAgIDQwIDI3MiAyNzMgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDAgICAgICAgICAyNzQgMjc1IDI3NiAyNzcgMjc4ICAgNDQgICAgICAgICAgICAgICAgICAgICAzMDUgMzA2ICAgNDkgMzM1IDMzNiAzMzcgMzM4IDMzOSAzNDAgMzQxCis0MSAyNzkgMjgwIDI4MSAyODIgMjgzIDI4NCAyODUgICA0NSAzMDcgMzA4IDMwOSAzMTAgMzExIDMxMiAzMTMgICA1MCAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NyAzNDgKKzQyIDI4NiAyODcgMjg4IDI4OSAyOTAgMjkxIDI5MiAgIDQ2IDMxNCAzMTUgMzE2IDMxNyAzMTggMzE5IDMyMCAgIDUxIDM0OSAzNTAgMzUxIDM1MiAzNTMgMzU0IDM1NQorNDMgMjkzIDI5NCAyOTUgMjk2IDI5NyAyOTggMjk5ICAgNDcgMzIxIDMyMiAzMjMgMzI0IDMyNSAzMjYgMzI3ICAgNTIgMzU2IDM1NyAzNTggMzU5IDM2MCAzNjEgMzYyCis0NCAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgICAgICAgICA0OCAzMjggMzI5IDMzMCAzMzEgMzMyIDMzMyAzMzQgICA1MyAzNjMgMzY0IDM2NSAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgMSAgICAgICAgICAgICAgIDEgICAyICAgMyAgIDQgICAgNSAgICAgICAgICAgICAgICAgICAgICAgICAgMzIgICAgOSAgICAgICAgICAgICAgICAgICAgICAgICAgNjAKKyAyICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAxMSAgICA2ICAzMyAgMzQgIDM1ICAzNiAgMzcgIDM4ICAzOSAgIDEwICA2MSAgNjIgIDYzICA2NCAgNjUgIDY2ICA2NworIDMgIDEyICAxMyAgMTQgIDE1ICAxNiAgMTcgIDE4ICAgIDcgIDQwICA0MSAgNDIgIDQzICA0NCAgNDUgIDQ2ICAgMTEgIDY4ICA2OSAgNzAgIDcxICA3MiAgNzMgIDc0CisgNCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgMjUgICAgOCAgNDcgIDQ4ICA0OSAgNTAgIDUxICA1MiAgNTMgICAxMiAgNzUgIDc2ICA3NyAgNzggIDc5ICA4MCAgODEKKyA1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICA5ICA1NCAgNTUgIDU2ICA1NyAgNTggIDU5ICAgICAgIDEzICA4MiAgODMgIDg0ICA4NSAgODYgIDg3ICA4OAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQgIDg5ICA5MCAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTQgICAgICAgICAgOTEgIDkyICA5MyAgOTQgIDk1ICAgMTggICAgICAgICAgICAgICAgIDEyMSAxMjIgMTIzICAgMjMgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcgMTU4CisxNSAgOTYgIDk3ICA5OCAgOTkgMTAwIDEwMSAxMDIgICAxOSAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOSAxMzAgICAyNCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NCAxNjUKKzE2IDEwMyAxMDQgMTA1IDEwNiAxMDcgMTA4IDEwOSAgIDIwIDEzMSAxMzIgMTMzIDEzNCAxMzUgMTM2IDEzNyAgIDI1IDE2NiAxNjcgMTY4IDE2OSAxNzAgMTcxIDE3MgorMTcgMTEwIDExMSAxMTIgMTEzIDExNCAxMTUgMTE2ICAgMjEgMTM4IDEzOSAxNDAgMTQxIDE0MiAxNDMgMTQ0ICAgMjYgMTczIDE3NCAxNzUgMTc2IDE3NyAxNzggMTc5CisxOCAxMTcgMTE4IDExOSAxMjAgICAgICAgICAgICAgICAyMiAxNDUgMTQ2IDE0NyAxNDggMTQ5IDE1MCAxNTEgICAyNyAxODAgMTgxICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzI3ICAgICAgICAgMTgyIDE4MyAxODQgMTg1IDE4NiAgIDMxICAgICAgICAgICAgICAgICAgICAgMjEzIDIxNCAgIDM2ICAgICAyNDQgMjQ1IDI0NiAyNDcgMjQ4IDI0OQorMjggMTg3IDE4OCAxODkgMTkwIDE5MSAxOTIgMTkzICAgMzIgMjE1IDIxNiAyMTcgMjE4IDIxOSAyMjAgMjIxICAgMzcgMjUwIDI1MSAyNTIgMjUzIDI1NCAyNTUgMjU2CisyOSAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OSAyMDAgICAzMyAyMjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAyMjggICAzOCAyNTcgMjU4IDI1OSAyNjAgMjYxIDI2MiAyNjMKKzMwIDIwMSAyMDIgMjAzIDIwNCAyMDUgMjA2IDIwNyAgIDM0IDIyOSAyMzAgMjMxIDIzMiAyMzMgMjM0IDIzNSAgIDM5IDI2NCAyNjUgMjY2IDI2NyAyNjggMjY5IDI3MAorMzEgMjA4IDIwOSAyMTAgMjExIDIxMiAgICAgICAgICAgMzUgMjM2IDIzNyAyMzggMjM5IDI0MCAyNDEgMjQyICAgNDAgMjcxIDI3MiAyNzMgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNiAyNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0MCAgICAgICAgICAgICAyNzQgMjc1IDI3NiAyNzcgICA0NCAgICAgICAgICAgICAgICAgICAgICAgICAzMDUgICA0OSAgICAgMzM1IDMzNiAzMzcgMzM4IDMzOSAzNDAKKzQxIDI3OCAyNzkgMjgwIDI4MSAyODIgMjgzIDI4NCAgIDQ1IDMwNiAzMDcgMzA4IDMwOSAzMTAgMzExIDMxMiAgIDUwIDM0MSAzNDIgMzQzIDM0NCAzNDUgMzQ2IDM0NworNDIgMjg1IDI4NiAyODcgMjg4IDI4OSAyOTAgMjkxICAgNDYgMzEzIDMxNCAzMTUgMzE2IDMxNyAzMTggMzE5ICAgNTEgMzQ4IDM0OSAzNTAgMzUxIDM1MiAzNTMgMzU0Cis0MyAyOTIgMjkzIDI5NCAyOTUgMjk2IDI5NyAyOTggICA0NyAzMjAgMzIxIDMyMiAzMjMgMzI0IDMyNSAzMjYgICA1MiAzNTUgMzU2IDM1NyAzNTggMzU5IDM2MCAzNjEKKzQ0IDI5OSAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgICAgIDQ4IDMyNyAzMjggMzI5IDMzMCAzMzEgMzMyIDMzMyAgIDUzIDM2MiAzNjMgMzY0IDM2NSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDkgMzM0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDA5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAxICAgICAgICAgICAgICAgICAgIDEgICAyICAgMyAgICA2ICAzMiAgMzMgIDM0ICAzNSAgMzYgIDM3ICAzOCAgIDEwICA2MCAgNjEgIDYyICA2MyAgNjQgIDY1ICA2NgorIDIgICA0ICAgNSAgIDYgICA3ICAgOCAgIDkgIDEwICAgIDcgIDM5ICA0MCAgNDEgIDQyICA0MyAgNDQgIDQ1ICAgMTEgIDY3ICA2OCAgNjkgIDcwICA3MSAgNzIgIDczCisgMyAgMTEgIDEyICAxMyAgMTQgIDE1ICAxNiAgMTcgICAgOCAgNDYgIDQ3ICA0OCAgNDkgIDUwICA1MSAgNTIgICAxMiAgNzQgIDc1ICA3NiAgNzcgIDc4ICA3OSAgODAKKyA0ICAxOCAgMTkgIDIwICAyMSAgMjIgIDIzICAyNCAgICA5ICA1MyAgNTQgIDU1ICA1NiAgNTcgIDU4ICA1OSAgIDEzICA4MSAgODIgIDgzICA4NCAgODUgIDg2ICA4NworIDUgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQgIDg4ICA4OSAgOTAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisxNCAgICAgICAgICAgICAgOTEgIDkyICA5MyAgOTQgICAxOCAgICAgICAgICAgICAgICAgICAgIDEyMSAxMjIgICAyMyAgICAgMTUyIDE1MyAxNTQgMTU1IDE1NiAxNTcKKzE1ICA5NSAgOTYgIDk3ICA5OCAgOTkgMTAwIDEwMSAgIDE5IDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4IDEyOSAgIDI0IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzIDE2NAorMTYgMTAyIDEwMyAxMDQgMTA1IDEwNiAxMDcgMTA4ICAgMjAgMTMwIDEzMSAxMzIgMTMzIDEzNCAxMzUgMTM2ICAgMjUgMTY1IDE2NiAxNjcgMTY4IDE2OSAxNzAgMTcxCisxNyAxMDkgMTEwIDExMSAxMTIgMTEzIDExNCAxMTUgICAyMSAxMzcgMTM4IDEzOSAxNDAgMTQxIDE0MiAxNDMgICAyNiAxNzIgMTczIDE3NCAxNzUgMTc2IDE3NyAxNzgKKzE4IDExNiAxMTcgMTE4IDExOSAxMjAgICAgICAgICAgIDIyIDE0NCAxNDUgMTQ2IDE0NyAxNDggMTQ5IDE1MCAgIDI3IDE3OSAxODAgMTgxICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjMgMTUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMjcgICAgICAgICAgICAgMTgyIDE4MyAxODQgMTg1ICAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgMjEzICAgMzYgICAgICAgICAyNDQgMjQ1IDI0NiAyNDcgMjQ4CisyOCAxODYgMTg3IDE4OCAxODkgMTkwIDE5MSAxOTIgICAzMiAyMTQgMjE1IDIxNiAyMTcgMjE4IDIxOSAyMjAgICAzNyAyNDkgMjUwIDI1MSAyNTIgMjUzIDI1NCAyNTUKKzI5IDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4IDE5OSAgIDMzIDIyMSAyMjIgMjIzIDIyNCAyMjUgMjI2IDIyNyAgIDM4IDI1NiAyNTcgMjU4IDI1OSAyNjAgMjYxIDI2MgorMzAgMjAwIDIwMSAyMDIgMjAzIDIwNCAyMDUgMjA2ICAgMzQgMjI4IDIyOSAyMzAgMjMxIDIzMiAyMzMgMjM0ICAgMzkgMjYzIDI2NCAyNjUgMjY2IDI2NyAyNjggMjY5CiszMSAyMDcgMjA4IDIwOSAyMTAgMjExIDIxMiAgICAgICAzNSAyMzUgMjM2IDIzNyAyMzggMjM5IDI0MCAyNDEgICA0MCAyNzAgMjcxIDI3MiAyNzMgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDM2IDI0MiAyNDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQwICAgICAgICAgICAgICAgICAyNzQgMjc1IDI3NiAgIDQ1IDMwNSAzMDYgMzA3IDMwOCAzMDkgMzEwIDMxMSAgIDQ5ICAgICAgICAgMzM1IDMzNiAzMzcgMzM4IDMzOQorNDEgMjc3IDI3OCAyNzkgMjgwIDI4MSAyODIgMjgzICAgNDYgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgMzE4ICAgNTAgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUgMzQ2Cis0MiAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSAyOTAgICA0NyAzMTkgMzIwIDMyMSAzMjIgMzIzIDMyNCAzMjUgICA1MSAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MiAzNTMKKzQzIDI5MSAyOTIgMjkzIDI5NCAyOTUgMjk2IDI5NyAgIDQ4IDMyNiAzMjcgMzI4IDMyOSAzMzAgMzMxIDMzMiAgIDUyIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5IDM2MAorNDQgMjk4IDI5OSAzMDAgMzAxIDMwMiAzMDMgMzA0ICAgNDkgMzMzIDMzNCAgICAgICAgICAgICAgICAgICAgICAgNTMgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorIDEgICAgICAgICAgICAgICAgICAgICAgIDEgICAyICAgIDYgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgIDM3ICAgMTAgICAgICA2MCAgNjEgIDYyICA2MyAgNjQgIDY1CisgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgIDkgICAgNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgNDQgICAxMSAgNjYgIDY3ICA2OCAgNjkgIDcwICA3MSAgNzIKKyAzICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAxNiAgICA4ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICA1MSAgIDEyICA3MyAgNzQgIDc1ICA3NiAgNzcgIDc4ICA3OQorIDQgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgIDIzICAgIDkgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgIDU4ICAgMTMgIDgwICA4MSAgODIgIDgzICA4NCAgODUgIDg2CisgNSAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgMzAgICAxMCAgNTkgICAgICAgICAgICAgICAgICAgICAgICAgICAxNCAgODcgIDg4ICA4OSAgOTAgICAgICAgICAgICAKKyA2ICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzE0ICAgICAgICAgICAgICAgICAgOTEgIDkyICA5MyAgIDE4ICAgICAgICAgICAgICAgICAgICAgICAgIDEyMSAgIDIzICAgICAgICAgMTUyIDE1MyAxNTQgMTU1IDE1NgorMTUgIDk0ICA5NSAgOTYgIDk3ICA5OCAgOTkgMTAwICAgMTkgMTIyIDEyMyAxMjQgMTI1IDEyNiAxMjcgMTI4ICAgMjQgMTU3IDE1OCAxNTkgMTYwIDE2MSAxNjIgMTYzCisxNiAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAxMDcgICAyMCAxMjkgMTMwIDEzMSAxMzIgMTMzIDEzNCAxMzUgICAyNSAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OSAxNzAKKzE3IDEwOCAxMDkgMTEwIDExMSAxMTIgMTEzIDExNCAgIDIxIDEzNiAxMzcgMTM4IDEzOSAxNDAgMTQxIDE0MiAgIDI2IDE3MSAxNzIgMTczIDE3NCAxNzUgMTc2IDE3NworMTggMTE1IDExNiAxMTcgMTE4IDExOSAxMjAgICAgICAgMjIgMTQzIDE0NCAxNDUgMTQ2IDE0NyAxNDggMTQ5ICAgMjcgMTc4IDE3OSAxODAgMTgxICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMyAxNTAgMTUxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisyNyAgICAgICAgICAgICAgICAgMTgyIDE4MyAxODQgICAzMiAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAyMTkgICAzNiAgICAgICAgICAgICAyNDQgMjQ1IDI0NiAyNDcKKzI4IDE4NSAxODYgMTg3IDE4OCAxODkgMTkwIDE5MSAgIDMzIDIyMCAyMjEgMjIyIDIyMyAyMjQgMjI1IDIyNiAgIDM3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzIDI1NAorMjkgMTkyIDE5MyAxOTQgMTk1IDE5NiAxOTcgMTk4ICAgMzQgMjI3IDIyOCAyMjkgMjMwIDIzMSAyMzIgMjMzICAgMzggMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAgMjYxCiszMCAxOTkgMjAwIDIwMSAyMDIgMjAzIDIwNCAyMDUgICAzNSAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSAyNDAgICAzOSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NyAyNjgKKzMxIDIwNiAyMDcgMjA4IDIwOSAyMTAgMjExIDIxMiAgIDM2IDI0MSAyNDIgMjQzICAgICAgICAgICAgICAgICAgIDQwIDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorNDAgICAgICAgICAgICAgICAgICAgICAyNzQgMjc1ICAgNDUgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgMzEwICAgNDkgICAgICAgICAgICAgMzM1IDMzNiAzMzcgMzM4Cis0MSAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAyODIgICA0NiAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAzMTcgICA1MCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NCAzNDUKKzQyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4IDI4OSAgIDQ3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzIDMyNCAgIDUxIDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxIDM1MgorNDMgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgMjk2ICAgNDggMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgMzMxICAgNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTggMzU5Cis0NCAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAzMDMgICA0OSAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgICAgICA1MyAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NSAgICAKKzQ1IDMwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgNiAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgICAxMCAgICAgICAgICA2MCAgNjEgIDYyICA2MyAgNjQKKyAyICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgICA3ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgIDExICA2NSAgNjYgIDY3ICA2OCAgNjkgIDcwICA3MQorIDMgICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAgIDggIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICAgMTIgIDcyICA3MyAgNzQgIDc1ICA3NiAgNzcgIDc4CisgNCAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgICAgOSAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgICAxMyAgNzkgIDgwICA4MSAgODIgIDgzICA4NCAgODUKKyA1ICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgIDEwICA1OCAgNTkgICAgICAgICAgICAgICAgICAgICAgIDE0ICA4NiAgODcgIDg4ICA4OSAgOTAgICAgICAgIAorIDYgIDMwICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTQgICAgICAgICAgICAgICAgICAgICAgOTEgIDkyICAgMTkgMTIxIDEyMiAxMjMgMTI0IDEyNSAxMjYgMTI3ICAgMjMgICAgICAgICAgICAgMTUyIDE1MyAxNTQgMTU1CisxNSAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgOTkgICAyMCAxMjggMTI5IDEzMCAxMzEgMTMyIDEzMyAxMzQgICAyNCAxNTYgMTU3IDE1OCAxNTkgMTYwIDE2MSAxNjIKKzE2IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAgIDIxIDEzNSAxMzYgMTM3IDEzOCAxMzkgMTQwIDE0MSAgIDI1IDE2MyAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OQorMTcgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgMTEzICAgMjIgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgMTQ4ICAgMjYgMTcwIDE3MSAxNzIgMTczIDE3NCAxNzUgMTc2CisxOCAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAxMjAgICAyMyAxNDkgMTUwIDE1MSAgICAgICAgICAgICAgICAgICAyNyAxNzcgMTc4IDE3OSAxODAgMTgxICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzI3ICAgICAgICAgICAgICAgICAgICAgMTgyIDE4MyAgIDMyICAgICAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAgIDM2ICAgICAgICAgICAgICAgICAyNDQgMjQ1IDI0NgorMjggMTg0IDE4NSAxODYgMTg3IDE4OCAxODkgMTkwICAgMzMgMjE5IDIyMCAyMjEgMjIyIDIyMyAyMjQgMjI1ICAgMzcgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzCisyOSAxOTEgMTkyIDE5MyAxOTQgMTk1IDE5NiAxOTcgICAzNCAyMjYgMjI3IDIyOCAyMjkgMjMwIDIzMSAyMzIgICAzOCAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAKKzMwIDE5OCAxOTkgMjAwIDIwMSAyMDIgMjAzIDIwNCAgIDM1IDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSAgIDM5IDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NworMzEgMjA1IDIwNiAyMDcgMjA4IDIwOSAyMTAgMjExICAgMzYgMjQwIDI0MSAyNDIgMjQzICAgICAgICAgICAgICAgNDAgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgCiszMiAyMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0MCAgICAgICAgICAgICAgICAgICAgICAgICAyNzQgICA0NSAgICAgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgICA0OSAgICAgICAgICAgICAgICAgMzM1IDMzNiAzMzcKKzQxIDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAgIDQ2IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAgIDUwIDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NAorNDIgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4ICAgNDcgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzICAgNTEgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxCis0MyAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgICA0OCAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgICA1MiAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTgKKzQ0IDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAgIDQ5IDMzMSAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgIDUzIDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NQorNDUgMzAzIDMwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAxICAgMSAgIDIgICAzICAgNCAgIDUgICA2ICAgNyAgICA1ICAgICAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgICA5ICAgICAgICAgICAgICAgICAgNjEgIDYyICA2MworIDIgICA4ICAgOSAgMTAgIDExICAxMiAgMTMgIDE0ICAgIDYgIDM2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICAgMTAgIDY0ICA2NSAgNjYgIDY3ICA2OCAgNjkgIDcwCisgMyAgMTUgIDE2ICAxNyAgMTggIDE5ICAyMCAgMjEgICAgNyAgNDMgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgICAxMSAgNzEgIDcyICA3MyAgNzQgIDc1ICA3NiAgNzcKKyA0ICAyMiAgMjMgIDI0ICAyNSAgMjYgIDI3ICAyOCAgICA4ICA1MCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgIDEyICA3OCAgNzkgIDgwICA4MSAgODIgIDgzICA4NAorIDUgIDI5ICAzMCAgMzEgICAgICAgICAgICAgICAgICAgIDkgIDU3ICA1OCAgNTkgIDYwICAgICAgICAgICAgICAgMTMgIDg1ICA4NiAgODcgIDg4ICA4OSAgOTAgIDkxCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisxNCAgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgOTggICAxOCAgICAgICAgIDEyMiAxMjMgMTI0IDEyNSAxMjYgICAyMiAgICAgICAgICAgICAgICAgICAgIDE1MyAxNTQKKzE1ICA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAgIDE5IDEyNyAxMjggMTI5IDEzMCAxMzEgMTMyIDEzMyAgIDIzIDE1NSAxNTYgMTU3IDE1OCAxNTkgMTYwIDE2MQorMTYgMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgMTEyICAgMjAgMTM0IDEzNSAxMzYgMTM3IDEzOCAxMzkgMTQwICAgMjQgMTYyIDE2MyAxNjQgMTY1IDE2NiAxNjcgMTY4CisxNyAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkgICAyMSAxNDEgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgICAyNSAxNjkgMTcwIDE3MSAxNzIgMTczIDE3NCAxNzUKKzE4IDEyMCAxMjEgICAgICAgICAgICAgICAgICAgICAgIDIyIDE0OCAxNDkgMTUwIDE1MSAxNTIgICAgICAgICAgIDI2IDE3NiAxNzcgMTc4IDE3OSAxODAgMTgxIDE4MgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMjcgMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5ICAgMzEgICAgICAgICAgICAgMjE0IDIxNSAyMTYgMjE3ICAgMzUgICAgICAgICAgICAgICAgICAgICAgICAgMjQ1CisyOCAxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgICAzMiAyMTggMjE5IDIyMCAyMjEgMjIyIDIyMyAyMjQgICAzNiAyNDYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIKKzI5IDE5NyAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAgIDMzIDIyNSAyMjYgMjI3IDIyOCAyMjkgMjMwIDIzMSAgIDM3IDI1MyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OQorMzAgMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwICAgMzQgMjMyIDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4ICAgMzggMjYwIDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2CiszMSAyMTEgMjEyIDIxMyAgICAgICAgICAgICAgICAgICAzNSAyMzkgMjQwIDI0MSAyNDIgMjQzIDI0NCAgICAgICAzOSAyNjcgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQwIDI3NCAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzQwICAgICAyNzUgMjc2IDI3NyAyNzggMjc5IDI4MCAgIDQ0ICAgICAgICAgICAgICAgICAzMDYgMzA3IDMwOCAgIDQ4ICAgICAgICAgICAgICAgICAgICAgICAgIDMzNgorNDEgMjgxIDI4MiAyODMgMjg0IDI4NSAyODYgMjg3ICAgNDUgMzA5IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1ICAgNDkgMzM3IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzCis0MiAyODggMjg5IDI5MCAyOTEgMjkyIDI5MyAyOTQgICA0NiAzMTYgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgICA1MCAzNDQgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAKKzQzIDI5NSAyOTYgMjk3IDI5OCAyOTkgMzAwIDMwMSAgIDQ3IDMyMyAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAgIDUxIDM1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NworNDQgMzAyIDMwMyAzMDQgMzA1ICAgICAgICAgICAgICAgNDggMzMwIDMzMSAzMzIgMzMzIDMzNCAzMzUgICAgICAgNTIgMzU4IDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MyAzNjUgMzY2ICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLXlzdyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC93ZWVrbnVtLXlzdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYzkyNGNlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3dlZWtudW0teXN3CkBAIC0wLDAgKzEsMjM5IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgICAgMSAgMiAgMyAgNCAgNSAgNiAgICA1ICAgICAgICAgICAgICAxICAyICAzICAgIDkgICAgICAgICAgICAgIDEgIDIgIDMKKyAyICA3ICA4ICA5IDEwIDExIDEyIDEzICAgIDYgIDQgIDUgIDYgIDcgIDggIDkgMTAgICAxMCAgNCAgNSAgNiAgNyAgOCAgOSAxMAorIDMgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAgNyAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDExIDExIDEyIDEzIDE0IDE1IDE2IDE3CisgNCAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgICA4IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgMTIgMTggMTkgMjAgMjEgMjIgMjMgMjQKKyA1IDI4IDI5IDMwIDMxICAgICAgICAgICAgIDkgMjUgMjYgMjcgMjggICAgICAgICAgICAxMyAyNSAyNiAyNyAyOCAyOSAzMCAzMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMTQgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAxOCAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDIyICAgICAgICAgICAgICAgICAxICAyCisxNSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDE5ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMjMgIDMgIDQgIDUgIDYgIDcgIDggIDkKKzE2IDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMjAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAyNCAxMCAxMSAxMiAxMyAxNCAxNSAxNgorMTcgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAyMSAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDI1IDE3IDE4IDE5IDIwIDIxIDIyIDIzCisxOCAyOSAzMCAgICAgICAgICAgICAgICAgIDIyIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMjYgMjQgMjUgMjYgMjcgMjggMjkgMzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzI3ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMzEgICAgICAgICAgIDEgIDIgIDMgIDQgICAzNSAgICAgICAgICAgICAgICAgICAgMQorMjggIDggIDkgMTAgMTEgMTIgMTMgMTQgICAzMiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDM2ICAyICAzICA0ICA1ICA2ICA3ICA4CisyOSAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDMzIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMzcgIDkgMTAgMTEgMTIgMTMgMTQgMTUKKzMwIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMzQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAzOCAxNiAxNyAxOCAxOSAyMCAyMSAyMgorMzEgMjkgMzAgMzEgICAgICAgICAgICAgICAzNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDM5IDIzIDI0IDI1IDI2IDI3IDI4IDI5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAgMzAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0MCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDQ0ICAgICAgICAgICAgICAxICAyICAzICAgNDggICAgICAgICAgICAgICAgICAgIDEKKzQxICA3ICA4ICA5IDEwIDExIDEyIDEzICAgNDUgIDQgIDUgIDYgIDcgIDggIDkgMTAgICA0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOAorNDIgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA0NiAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDUwICA5IDEwIDExIDEyIDEzIDE0IDE1Cis0MyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDQ3IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzQ0IDI4IDI5IDMwIDMxICAgICAgICAgICAgNDggMjUgMjYgMjcgMjggMjkgMzAgICAgICA1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUzIDMwIDMxICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAgICAgICAxICAyICAzICA0ICA1ICAgIDUgICAgICAgICAgICAgICAgIDEgIDIgICAgOSAgICAgICAgICAgICAgICAgMSAgMgorIDIgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAgNiAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDEwICAzICA0ICA1ICA2ICA3ICA4ICA5CisgMyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgICA3IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMTEgMTAgMTEgMTIgMTMgMTQgMTUgMTYKKyA0IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgIDggMTcgMTggMTkgMjAgMjEgMjIgMjMgICAxMiAxNyAxOCAxOSAyMCAyMSAyMiAyMworIDUgMjcgMjggMjkgMzAgMzEgICAgICAgICAgOSAyNCAyNSAyNiAyNyAyOCAgICAgICAgIDEzIDI0IDI1IDI2IDI3IDI4IDI5IDMwCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTQgMzEgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisxNCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDE4ICAgICAgICAgICAxICAyICAzICA0ICAgMjIgICAgICAgICAgICAgICAgICAgIDEKKzE1ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMTkgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAyMyAgMiAgMyAgNCAgNSAgNiAgNyAgOAorMTYgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAyMCAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDI0ICA5IDEwIDExIDEyIDEzIDE0IDE1CisxNyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDIxIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMjUgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzE4IDI4IDI5IDMwICAgICAgICAgICAgICAgMjIgMjYgMjcgMjggMjkgMzAgMzEgICAgICAyNiAyMyAyNCAyNSAyNiAyNyAyOCAyOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDI3IDMwICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMjcgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAzMSAgICAgICAgICAgICAgMSAgMiAgMyAgIDM2ICAxICAyICAzICA0ICA1ICA2ICA3CisyOCAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDMyICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMzcgIDggIDkgMTAgMTEgMTIgMTMgMTQKKzI5IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMzMgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAzOCAxNSAxNiAxNyAxOCAxOSAyMCAyMQorMzAgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzNCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDM5IDIyIDIzIDI0IDI1IDI2IDI3IDI4CiszMSAyOCAyOSAzMCAzMSAgICAgICAgICAgIDM1IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNDAgMjkgMzAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQwICAgICAgICAxICAyICAzICA0ICA1ICAgNDQgICAgICAgICAgICAgICAgIDEgIDIgICA0OSAgMSAgMiAgMyAgNCAgNSAgNiAgNworNDEgIDYgIDcgIDggIDkgMTAgMTEgMTIgICA0NSAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDUwICA4ICA5IDEwIDExIDEyIDEzIDE0Cis0MiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDQ2IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgNTEgMTUgMTYgMTcgMTggMTkgMjAgMjEKKzQzIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgNDcgMTcgMTggMTkgMjAgMjEgMjIgMjMgICA1MiAyMiAyMyAyNCAyNSAyNiAyNyAyOAorNDQgMjcgMjggMjkgMzAgMzEgICAgICAgICA0OCAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDUzIDI5IDMwIDMxICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorIDEgICAgICAgICAgIDEgIDIgIDMgIDQgICAgNSAgICAgICAgICAgICAgICAgICAgMSAgICA5ICAgICAgICAgICAgICAgICAgICAxCisgMiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgICA2ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgMTAgIDIgIDMgIDQgIDUgIDYgIDcgIDgKKyAzIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgIDcgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxMSAgOSAxMCAxMSAxMiAxMyAxNCAxNQorIDQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAgOCAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDEyIDE2IDE3IDE4IDE5IDIwIDIxIDIyCisgNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgICA5IDIzIDI0IDI1IDI2IDI3IDI4ICAgICAgMTMgMjMgMjQgMjUgMjYgMjcgMjggMjkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNCAzMCAzMSAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzE0ICAgICAgICAxICAyICAzICA0ICA1ICAgMTggICAgICAgICAgICAgIDEgIDIgIDMgICAyMyAgMSAgMiAgMyAgNCAgNSAgNiAgNworMTUgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAxOSAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDI0ICA4ICA5IDEwIDExIDEyIDEzIDE0CisxNiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDIwIDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgMjUgMTUgMTYgMTcgMTggMTkgMjAgMjEKKzE3IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMjEgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAyNiAyMiAyMyAyNCAyNSAyNiAyNyAyOAorMTggMjcgMjggMjkgMzAgICAgICAgICAgICAyMiAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIDI3IDI5IDMwICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisyNyAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDMxICAgICAgICAgICAgICAgICAxICAyICAgMzYgICAgIDEgIDIgIDMgIDQgIDUgIDYKKzI4ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMzIgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAzNyAgNyAgOCAgOSAxMCAxMSAxMiAxMworMjkgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAzMyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDM4IDE0IDE1IDE2IDE3IDE4IDE5IDIwCiszMCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDM0IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgMzkgMjEgMjIgMjMgMjQgMjUgMjYgMjcKKzMxIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMzUgMjQgMjUgMjYgMjcgMjggMjkgMzAgICA0MCAyOCAyOSAzMCAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAzNiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDAgICAgICAgICAgIDEgIDIgIDMgIDQgICA0NCAgICAgICAgICAgICAgICAgICAgMSAgIDQ5ICAgICAxICAyICAzICA0ICA1ICA2Cis0MSAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDQ1ICAyICAzICA0ICA1ICA2ICA3ICA4ICAgNTAgIDcgIDggIDkgMTAgMTEgMTIgMTMKKzQyIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgNDYgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICA1MSAxNCAxNSAxNiAxNyAxOCAxOSAyMAorNDMgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICA0NyAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDUyIDIxIDIyIDIzIDI0IDI1IDI2IDI3Cis0NCAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDQ4IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgNTMgMjggMjkgMzAgMzEgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgNDkgMzAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwOSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgICAgICAgICAgICAgMSAgMiAgMyAgICA2ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMTAgIDEgIDIgIDMgIDQgIDUgIDYgIDcKKyAyICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgIDcgIDggIDkgMTAgMTEgMTIgMTMgMTQgICAxMSAgOCAgOSAxMCAxMSAxMiAxMyAxNAorIDMgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAgOCAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDEyIDE1IDE2IDE3IDE4IDE5IDIwIDIxCisgNCAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgICA5IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMTMgMjIgMjMgMjQgMjUgMjYgMjcgMjgKKyA1IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNCAyOSAzMCAzMSAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMTQgICAgICAgICAgIDEgIDIgIDMgIDQgICAxOCAgICAgICAgICAgICAgICAgMSAgMiAgIDIzICAgICAxICAyICAzICA0ICA1ICA2CisxNSAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDE5ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMjQgIDcgIDggIDkgMTAgMTEgMTIgMTMKKzE2IDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMjAgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAyNSAxNCAxNSAxNiAxNyAxOCAxOSAyMAorMTcgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAyMSAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDI2IDIxIDIyIDIzIDI0IDI1IDI2IDI3CisxOCAyNiAyNyAyOCAyOSAzMCAgICAgICAgIDIyIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgMjcgMjggMjkgMzAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMjMgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzI3ICAgICAgICAgICAxICAyICAzICA0ICAgMzEgICAgICAgICAgICAgICAgICAgIDEgICAzNiAgICAgICAgMSAgMiAgMyAgNCAgNQorMjggIDUgIDYgIDcgIDggIDkgMTAgMTEgICAzMiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDM3ICA2ICA3ICA4ICA5IDEwIDExIDEyCisyOSAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDMzICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMzggMTMgMTQgMTUgMTYgMTcgMTggMTkKKzMwIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMzQgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAzOSAyMCAyMSAyMiAyMyAyNCAyNSAyNgorMzEgMjYgMjcgMjggMjkgMzAgMzEgICAgICAzNSAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDQwIDI3IDI4IDI5IDMwICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgIDM2IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0MCAgICAgICAgICAgICAgMSAgMiAgMyAgIDQ1ICAxICAyICAzICA0ICA1ICA2ICA3ICAgNDkgICAgICAgIDEgIDIgIDMgIDQgIDUKKzQxICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgNDYgIDggIDkgMTAgMTEgMTIgMTMgMTQgICA1MCAgNiAgNyAgOCAgOSAxMCAxMSAxMgorNDIgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICA0NyAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDUxIDEzIDE0IDE1IDE2IDE3IDE4IDE5Cis0MyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDQ4IDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgNTIgMjAgMjEgMjIgMjMgMjQgMjUgMjYKKzQ0IDI1IDI2IDI3IDI4IDI5IDMwIDMxICAgNDkgMjkgMzAgICAgICAgICAgICAgICAgICA1MyAyNyAyOCAyOSAzMCAzMSAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKworICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgIEZlYnJ1YXJ5ICAgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAxICAgICAgICAgICAgICAgICAxICAyICAgIDYgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAxMCAgICAgMSAgMiAgMyAgNCAgNSAgNgorIDIgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAgNyAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDExICA3ICA4ICA5IDEwIDExIDEyIDEzCisgMyAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgICA4IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMTIgMTQgMTUgMTYgMTcgMTggMTkgMjAKKyA0IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgIDkgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAxMyAyMSAyMiAyMyAyNCAyNSAyNiAyNworIDUgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAxMCAyOCAgICAgICAgICAgICAgICAgICAgIDE0IDI4IDI5IDMwIDMxICAgICAgICAgCisgNiAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisxNCAgICAgICAgICAgICAgMSAgMiAgMyAgIDE4ICAgICAgICAgICAgICAgICAgICAxICAgMjMgICAgICAgIDEgIDIgIDMgIDQgIDUKKzE1ICA0ICA1ICA2ICA3ICA4ICA5IDEwICAgMTkgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAyNCAgNiAgNyAgOCAgOSAxMCAxMSAxMgorMTYgMTEgMTIgMTMgMTQgMTUgMTYgMTcgICAyMCAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDI1IDEzIDE0IDE1IDE2IDE3IDE4IDE5CisxNyAxOCAxOSAyMCAyMSAyMiAyMyAyNCAgIDIxIDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMjYgMjAgMjEgMjIgMjMgMjQgMjUgMjYKKzE4IDI1IDI2IDI3IDI4IDI5IDMwICAgICAgMjIgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAyNyAyNyAyOCAyOSAzMCAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAyMyAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgIEF1Z3VzdCAgICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMjcgICAgICAgICAgICAgIDEgIDIgIDMgICAzMiAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDM2ICAgICAgICAgICAxICAyICAzICA0CisyOCAgNCAgNSAgNiAgNyAgOCAgOSAxMCAgIDMzICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMzcgIDUgIDYgIDcgIDggIDkgMTAgMTEKKzI5IDExIDEyIDEzIDE0IDE1IDE2IDE3ICAgMzQgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAzOCAxMiAxMyAxNCAxNSAxNiAxNyAxOAorMzAgMTggMTkgMjAgMjEgMjIgMjMgMjQgICAzNSAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDM5IDE5IDIwIDIxIDIyIDIzIDI0IDI1CiszMSAyNSAyNiAyNyAyOCAyOSAzMCAzMSAgIDM2IDI5IDMwIDMxICAgICAgICAgICAgICAgNDAgMjYgMjcgMjggMjkgMzAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgIE5vdmVtYmVyICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzQwICAgICAgICAgICAgICAgICAxICAyICAgNDUgICAgIDEgIDIgIDMgIDQgIDUgIDYgICA0OSAgICAgICAgICAgMSAgMiAgMyAgNAorNDEgIDMgIDQgIDUgIDYgIDcgIDggIDkgICA0NiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDUwICA1ICA2ICA3ICA4ICA5IDEwIDExCis0MiAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDQ3IDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgNTEgMTIgMTMgMTQgMTUgMTYgMTcgMTgKKzQzIDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgNDggMjEgMjIgMjMgMjQgMjUgMjYgMjcgICA1MiAxOSAyMCAyMSAyMiAyMyAyNCAyNQorNDQgMjQgMjUgMjYgMjcgMjggMjkgMzAgICA0OSAyOCAyOSAzMCAgICAgICAgICAgICAgIDUzIDI2IDI3IDI4IDI5IDMwIDMxICAgCis0NSAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorCisgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorIDEgICAgICAgICAgICAgICAgICAgIDEgICAgNiAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDEwICAgICAgICAxICAyICAzICA0ICA1CisgMiAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgICA3ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMTEgIDYgIDcgIDggIDkgMTAgMTEgMTIKKyAzICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgIDggMTMgMTQgMTUgMTYgMTcgMTggMTkgICAxMiAxMyAxNCAxNSAxNiAxNyAxOCAxOQorIDQgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAgOSAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDEzIDIwIDIxIDIyIDIzIDI0IDI1IDI2CisgNSAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDEwIDI3IDI4ICAgICAgICAgICAgICAgICAgMTQgMjcgMjggMjkgMzAgMzEgICAgICAKKyA2IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgTWF5ICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzE0ICAgICAgICAgICAgICAgICAxICAyICAgMTkgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAyMyAgICAgICAgICAgMSAgMiAgMyAgNAorMTUgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAyMCAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDI0ICA1ICA2ICA3ICA4ICA5IDEwIDExCisxNiAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDIxIDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMjUgMTIgMTMgMTQgMTUgMTYgMTcgMTgKKzE3IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgMjIgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAyNiAxOSAyMCAyMSAyMiAyMyAyNCAyNQorMTggMjQgMjUgMjYgMjcgMjggMjkgMzAgICAyMyAyOSAzMCAzMSAgICAgICAgICAgICAgIDI3IDI2IDI3IDI4IDI5IDMwICAgICAgCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisyNyAgICAgICAgICAgICAgICAgMSAgMiAgIDMyICAgICAxICAyICAzICA0ICA1ICA2ICAgMzYgICAgICAgICAgICAgIDEgIDIgIDMKKzI4ICAzICA0ICA1ICA2ICA3ICA4ICA5ICAgMzMgIDcgIDggIDkgMTAgMTEgMTIgMTMgICAzNyAgNCAgNSAgNiAgNyAgOCAgOSAxMAorMjkgMTAgMTEgMTIgMTMgMTQgMTUgMTYgICAzNCAxNCAxNSAxNiAxNyAxOCAxOSAyMCAgIDM4IDExIDEyIDEzIDE0IDE1IDE2IDE3CiszMCAxNyAxOCAxOSAyMCAyMSAyMiAyMyAgIDM1IDIxIDIyIDIzIDI0IDI1IDI2IDI3ICAgMzkgMTggMTkgMjAgMjEgMjIgMjMgMjQKKzMxIDI0IDI1IDI2IDI3IDI4IDI5IDMwICAgMzYgMjggMjkgMzAgMzEgICAgICAgICAgICA0MCAyNSAyNiAyNyAyOCAyOSAzMCAgIAorMzIgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorNDAgICAgICAgICAgICAgICAgICAgIDEgICA0NSAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDQ5ICAgICAgICAgICAgICAxICAyICAzCis0MSAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDQ2ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgNTAgIDQgIDUgIDYgIDcgIDggIDkgMTAKKzQyICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgNDcgMTMgMTQgMTUgMTYgMTcgMTggMTkgICA1MSAxMSAxMiAxMyAxNCAxNSAxNiAxNworNDMgMTYgMTcgMTggMTkgMjAgMjEgMjIgICA0OCAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDUyIDE4IDE5IDIwIDIxIDIyIDIzIDI0Cis0NCAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDQ5IDI3IDI4IDI5IDMwICAgICAgICAgICAgNTMgMjUgMjYgMjcgMjggMjkgMzAgMzEKKzQ1IDMwIDMxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgICA1ICAgICAgICAgICAxICAyICAzICA0ICAgIDkgICAgICAgICAgICAgIDEgIDIgIDMKKyAyICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgIDYgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAxMCAgNCAgNSAgNiAgNyAgOCAgOSAxMAorIDMgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAgNyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDExIDExIDEyIDEzIDE0IDE1IDE2IDE3CisgNCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgICA4IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMTIgMTggMTkgMjAgMjEgMjIgMjMgMjQKKyA1IDI5IDMwIDMxICAgICAgICAgICAgICAgIDkgMjYgMjcgMjggMjkgICAgICAgICAgICAxMyAyNSAyNiAyNyAyOCAyOSAzMCAzMQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMTQgIDEgIDIgIDMgIDQgIDUgIDYgIDcgICAxOCAgICAgICAgMSAgMiAgMyAgNCAgNSAgIDIyICAgICAgICAgICAgICAgICAxICAyCisxNSAgOCAgOSAxMCAxMSAxMiAxMyAxNCAgIDE5ICA2ICA3ICA4ICA5IDEwIDExIDEyICAgMjMgIDMgIDQgIDUgIDYgIDcgIDggIDkKKzE2IDE1IDE2IDE3IDE4IDE5IDIwIDIxICAgMjAgMTMgMTQgMTUgMTYgMTcgMTggMTkgICAyNCAxMCAxMSAxMiAxMyAxNCAxNSAxNgorMTcgMjIgMjMgMjQgMjUgMjYgMjcgMjggICAyMSAyMCAyMSAyMiAyMyAyNCAyNSAyNiAgIDI1IDE3IDE4IDE5IDIwIDIxIDIyIDIzCisxOCAyOSAzMCAgICAgICAgICAgICAgICAgIDIyIDI3IDI4IDI5IDMwIDMxICAgICAgICAgMjYgMjQgMjUgMjYgMjcgMjggMjkgMzAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzI3ICAxICAyICAzICA0ICA1ICA2ICA3ICAgMzEgICAgICAgICAgIDEgIDIgIDMgIDQgICAzNSAgICAgICAgICAgICAgICAgICAgMQorMjggIDggIDkgMTAgMTEgMTIgMTMgMTQgICAzMiAgNSAgNiAgNyAgOCAgOSAxMCAxMSAgIDM2ICAyICAzICA0ICA1ICA2ICA3ICA4CisyOSAxNSAxNiAxNyAxOCAxOSAyMCAyMSAgIDMzIDEyIDEzIDE0IDE1IDE2IDE3IDE4ICAgMzcgIDkgMTAgMTEgMTIgMTMgMTQgMTUKKzMwIDIyIDIzIDI0IDI1IDI2IDI3IDI4ICAgMzQgMTkgMjAgMjEgMjIgMjMgMjQgMjUgICAzOCAxNiAxNyAxOCAxOSAyMCAyMSAyMgorMzEgMjkgMzAgMzEgICAgICAgICAgICAgICAzNSAyNiAyNyAyOCAyOSAzMCAzMSAgICAgIDM5IDIzIDI0IDI1IDI2IDI3IDI4IDI5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNDAgMzAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0MCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDQ0ICAgICAgICAgICAgICAxICAyICAzICAgNDggICAgICAgICAgICAgICAgICAgIDEKKzQxICA3ICA4ICA5IDEwIDExIDEyIDEzICAgNDUgIDQgIDUgIDYgIDcgIDggIDkgMTAgICA0OSAgMiAgMyAgNCAgNSAgNiAgNyAgOAorNDIgMTQgMTUgMTYgMTcgMTggMTkgMjAgICA0NiAxMSAxMiAxMyAxNCAxNSAxNiAxNyAgIDUwICA5IDEwIDExIDEyIDEzIDE0IDE1Cis0MyAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDQ3IDE4IDE5IDIwIDIxIDIyIDIzIDI0ICAgNTEgMTYgMTcgMTggMTkgMjAgMjEgMjIKKzQ0IDI4IDI5IDMwIDMxICAgICAgICAgICAgNDggMjUgMjYgMjcgMjggMjkgMzAgICAgICA1MiAyMyAyNCAyNSAyNiAyNyAyOCAyOQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUzIDMwIDMxICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15bSBiL3Rlc3RzL2V4cGVjdGVkL2NhbC95ZWFyLXltCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwYjFhNjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15bQpAQCAtMCwwICsxLDM1IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgIAorTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAxICAyICAzICA0ICA1ICAgICAgICAgIDEgIDIgIDMgIDQgIDUKKyAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAgNiAgNyAgOCAgOSAxMCAxMSAxMgorIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDEzIDE0IDE1IDE2IDE3IDE4IDE5CisxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMjAgMjEgMjIgMjMgMjQgMjUgMjYKKzIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjcgMjggICAgICAgICAgICAgICAgICAyNyAyOCAyOSAzMCAzMSAgICAgIAorMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAKK01vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorICAgICAgICAgICAgICAgIDEgIDIgICAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgICAgICAgICAgICAxICAyICAzICA0CisgMyAgNCAgNSAgNiAgNyAgOCAgOSAgICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgIDUgIDYgIDcgIDggIDkgMTAgMTEKKzEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAxMiAxMyAxNCAxNSAxNiAxNyAxOAorMTcgMTggMTkgMjAgMjEgMjIgMjMgICAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDE5IDIwIDIxIDIyIDIzIDI0IDI1CisyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDI5IDMwIDMxICAgICAgICAgICAgICAgMjYgMjcgMjggMjkgMzAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgCitNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKyAgICAgICAgICAgICAgICAxICAyICAgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAgICAgICAgICAgICAgMSAgMiAgMworIDMgIDQgIDUgIDYgIDcgIDggIDkgICAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgICA0ICA1ICA2ICA3ICA4ICA5IDEwCisxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMTEgMTIgMTMgMTQgMTUgMTYgMTcKKzE3IDE4IDE5IDIwIDIxIDIyIDIzICAgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAxOCAxOSAyMCAyMSAyMiAyMyAyNAorMjQgMjUgMjYgMjcgMjggMjkgMzAgICAyOCAyOSAzMCAzMSAgICAgICAgICAgIDI1IDI2IDI3IDI4IDI5IDMwICAgCiszMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgIAorTW8gVHUgV2UgVGggRnIgU2EgU3UgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CisgICAgICAgICAgICAgICAgICAgMSAgICAgICAgICAxICAyICAzICA0ICA1ICAgICAgICAgICAgICAgIDEgIDIgIDMKKyAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAgNCAgNSAgNiAgNyAgOCAgOSAxMAorIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDExIDEyIDEzIDE0IDE1IDE2IDE3CisxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMTggMTkgMjAgMjEgMjIgMjMgMjQKKzIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgMjcgMjggMjkgMzAgICAgICAgICAgICAyNSAyNiAyNyAyOCAyOSAzMCAzMQorMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15bWogYi90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15bWoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FhM2RiMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC95ZWFyLXltagpAQCAtMCwwICsxLDM1IEBACitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlaworICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgICAgICAgICAgICA2MCAgNjEgIDYyICA2MyAgNjQKKyAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgICA2NSAgNjYgIDY3ICA2OCAgNjkgIDcwICA3MQorICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICAgIDcyICA3MyAgNzQgIDc1ICA3NiAgNzcgIDc4CisgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgICAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgICAgNzkgIDgwICA4MSAgODIgIDgzICA4NCAgODUKKyAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgICA1OCAgNTkgICAgICAgICAgICAgICAgICAgICAgICA4NiAgODcgIDg4ICA4OSAgOTAgICAgICAgIAorIDMwICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAKK01vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorICAgICAgICAgICAgICAgICAgICAgOTEgIDkyICAgMTIxIDEyMiAxMjMgMTI0IDEyNSAxMjYgMTI3ICAgICAgICAgICAgICAgMTUyIDE1MyAxNTQgMTU1CisgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgOTkgICAxMjggMTI5IDEzMCAxMzEgMTMyIDEzMyAxMzQgICAxNTYgMTU3IDE1OCAxNTkgMTYwIDE2MSAxNjIKKzEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAgIDEzNSAxMzYgMTM3IDEzOCAxMzkgMTQwIDE0MSAgIDE2MyAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OQorMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgMTEzICAgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgMTQ4ICAgMTcwIDE3MSAxNzIgMTczIDE3NCAxNzUgMTc2CisxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAxMjAgICAxNDkgMTUwIDE1MSAgICAgICAgICAgICAgICAgICAxNzcgMTc4IDE3OSAxODAgMTgxICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgCitNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKyAgICAgICAgICAgICAgICAgICAgMTgyIDE4MyAgICAgICAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAgICAgICAgICAgICAgICAgICAyNDQgMjQ1IDI0NgorMTg0IDE4NSAxODYgMTg3IDE4OCAxODkgMTkwICAgMjE5IDIyMCAyMjEgMjIyIDIyMyAyMjQgMjI1ICAgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzCisxOTEgMTkyIDE5MyAxOTQgMTk1IDE5NiAxOTcgICAyMjYgMjI3IDIyOCAyMjkgMjMwIDIzMSAyMzIgICAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAKKzE5OCAxOTkgMjAwIDIwMSAyMDIgMjAzIDIwNCAgIDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSAgIDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NworMjA1IDIwNiAyMDcgMjA4IDIwOSAyMTAgMjExICAgMjQwIDI0MSAyNDIgMjQzICAgICAgICAgICAgICAgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgCisyMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgIAorTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCisgICAgICAgICAgICAgICAgICAgICAgICAyNzQgICAgICAgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgICAgICAgICAgICAgICAgICAgMzM1IDMzNiAzMzcKKzI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAgIDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAgIDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NAorMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4ICAgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzICAgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxCisyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgICAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgICAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTgKKzI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAgIDMzMSAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgIDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NQorMzAzIDMwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15bWp3IGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3llYXIteW1qdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjJlMTY3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3llYXIteW1qdwpAQCAtMCwwICsxLDM1IEBACitKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCis1MiAgICAgICAgICAgICAgICAgICAgICAgICAgIDEgICAgNSAgICAgICAgICAzMiAgMzMgIDM0ICAzNSAgMzYgICAgOSAgICAgICAgICA2MCAgNjEgIDYyICA2MyAgNjQKKyAxICAgMiAgIDMgICA0ICAgNSAgIDYgICA3ICAgOCAgICA2ICAzNyAgMzggIDM5ICA0MCAgNDEgIDQyICA0MyAgIDEwICA2NSAgNjYgIDY3ICA2OCAgNjkgIDcwICA3MQorIDIgICA5ICAxMCAgMTEgIDEyICAxMyAgMTQgIDE1ICAgIDcgIDQ0ICA0NSAgNDYgIDQ3ICA0OCAgNDkgIDUwICAgMTEgIDcyICA3MyAgNzQgIDc1ICA3NiAgNzcgIDc4CisgMyAgMTYgIDE3ICAxOCAgMTkgIDIwICAyMSAgMjIgICAgOCAgNTEgIDUyICA1MyAgNTQgIDU1ICA1NiAgNTcgICAxMiAgNzkgIDgwICA4MSAgODIgIDgzICA4NCAgODUKKyA0ICAyMyAgMjQgIDI1ICAyNiAgMjcgIDI4ICAyOSAgICA5ICA1OCAgNTkgICAgICAgICAgICAgICAgICAgICAgIDEzICA4NiAgODcgIDg4ICA4OSAgOTAgICAgICAgIAorIDUgIDMwICAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1biAgICAgIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0IFN1bgorMTMgICAgICAgICAgICAgICAgICAgICAgOTEgIDkyICAgMTggMTIxIDEyMiAxMjMgMTI0IDEyNSAxMjYgMTI3ICAgMjIgICAgICAgICAgICAgMTUyIDE1MyAxNTQgMTU1CisxNCAgOTMgIDk0ICA5NSAgOTYgIDk3ICA5OCAgOTkgICAxOSAxMjggMTI5IDEzMCAxMzEgMTMyIDEzMyAxMzQgICAyMyAxNTYgMTU3IDE1OCAxNTkgMTYwIDE2MSAxNjIKKzE1IDEwMCAxMDEgMTAyIDEwMyAxMDQgMTA1IDEwNiAgIDIwIDEzNSAxMzYgMTM3IDEzOCAxMzkgMTQwIDE0MSAgIDI0IDE2MyAxNjQgMTY1IDE2NiAxNjcgMTY4IDE2OQorMTYgMTA3IDEwOCAxMDkgMTEwIDExMSAxMTIgMTEzICAgMjEgMTQyIDE0MyAxNDQgMTQ1IDE0NiAxNDcgMTQ4ICAgMjUgMTcwIDE3MSAxNzIgMTczIDE3NCAxNzUgMTc2CisxNyAxMTQgMTE1IDExNiAxMTcgMTE4IDExOSAxMjAgICAyMiAxNDkgMTUwIDE1MSAgICAgICAgICAgICAgICAgICAyNiAxNzcgMTc4IDE3OSAxODAgMTgxICAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgCisgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4gICAgICBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCBTdW4KKzI2ICAgICAgICAgICAgICAgICAgICAgMTgyIDE4MyAgIDMxICAgICAyMTMgMjE0IDIxNSAyMTYgMjE3IDIxOCAgIDM1ICAgICAgICAgICAgICAgICAyNDQgMjQ1IDI0NgorMjcgMTg0IDE4NSAxODYgMTg3IDE4OCAxODkgMTkwICAgMzIgMjE5IDIyMCAyMjEgMjIyIDIyMyAyMjQgMjI1ICAgMzYgMjQ3IDI0OCAyNDkgMjUwIDI1MSAyNTIgMjUzCisyOCAxOTEgMTkyIDE5MyAxOTQgMTk1IDE5NiAxOTcgICAzMyAyMjYgMjI3IDIyOCAyMjkgMjMwIDIzMSAyMzIgICAzNyAyNTQgMjU1IDI1NiAyNTcgMjU4IDI1OSAyNjAKKzI5IDE5OCAxOTkgMjAwIDIwMSAyMDIgMjAzIDIwNCAgIDM0IDIzMyAyMzQgMjM1IDIzNiAyMzcgMjM4IDIzOSAgIDM4IDI2MSAyNjIgMjYzIDI2NCAyNjUgMjY2IDI2NworMzAgMjA1IDIwNiAyMDcgMjA4IDIwOSAyMTAgMjExICAgMzUgMjQwIDI0MSAyNDIgMjQzICAgICAgICAgICAgICAgMzkgMjY4IDI2OSAyNzAgMjcxIDI3MiAyNzMgICAgCiszMSAyMTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuICAgICAgTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgU3VuCiszOSAgICAgICAgICAgICAgICAgICAgICAgICAyNzQgICA0NCAgICAgICAgIDMwNSAzMDYgMzA3IDMwOCAzMDkgICA0OCAgICAgICAgICAgICAgICAgMzM1IDMzNiAzMzcKKzQwIDI3NSAyNzYgMjc3IDI3OCAyNzkgMjgwIDI4MSAgIDQ1IDMxMCAzMTEgMzEyIDMxMyAzMTQgMzE1IDMxNiAgIDQ5IDMzOCAzMzkgMzQwIDM0MSAzNDIgMzQzIDM0NAorNDEgMjgyIDI4MyAyODQgMjg1IDI4NiAyODcgMjg4ICAgNDYgMzE3IDMxOCAzMTkgMzIwIDMyMSAzMjIgMzIzICAgNTAgMzQ1IDM0NiAzNDcgMzQ4IDM0OSAzNTAgMzUxCis0MiAyODkgMjkwIDI5MSAyOTIgMjkzIDI5NCAyOTUgICA0NyAzMjQgMzI1IDMyNiAzMjcgMzI4IDMyOSAzMzAgICA1MSAzNTIgMzUzIDM1NCAzNTUgMzU2IDM1NyAzNTgKKzQzIDI5NiAyOTcgMjk4IDI5OSAzMDAgMzAxIDMwMiAgIDQ4IDMzMSAzMzIgMzMzIDMzNCAgICAgICAgICAgICAgIDUyIDM1OSAzNjAgMzYxIDM2MiAzNjMgMzY0IDM2NQorNDQgMzAzIDMwNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15bXcgYi90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15bXcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmJiOGFhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC95ZWFyLXltdwpAQCAtMCwwICsxLDM1IEBACitHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1Cis1MiAgICAgICAgICAgICAgICAgICAgMSAgICA1ICAgICAgICAxICAyICAzICA0ICA1ICAgIDkgICAgICAgIDEgIDIgIDMgIDQgIDUKKyAxICAyICAzICA0ICA1ICA2ICA3ICA4ICAgIDYgIDYgIDcgIDggIDkgMTAgMTEgMTIgICAxMCAgNiAgNyAgOCAgOSAxMCAxMSAxMgorIDIgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICAgNyAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDExIDEzIDE0IDE1IDE2IDE3IDE4IDE5CisgMyAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgICA4IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgMTIgMjAgMjEgMjIgMjMgMjQgMjUgMjYKKyA0IDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgIDkgMjcgMjggICAgICAgICAgICAgICAgICAxMyAyNyAyOCAyOSAzMCAzMSAgICAgIAorIDUgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdQorMTMgICAgICAgICAgICAgICAgIDEgIDIgICAxOCAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDIyICAgICAgICAgICAxICAyICAzICA0CisxNCAgMyAgNCAgNSAgNiAgNyAgOCAgOSAgIDE5ICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgMjMgIDUgIDYgIDcgIDggIDkgMTAgMTEKKzE1IDEwIDExIDEyIDEzIDE0IDE1IDE2ICAgMjAgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAyNCAxMiAxMyAxNCAxNSAxNiAxNyAxOAorMTYgMTcgMTggMTkgMjAgMjEgMjIgMjMgICAyMSAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDI1IDE5IDIwIDIxIDIyIDIzIDI0IDI1CisxNyAyNCAyNSAyNiAyNyAyOCAyOSAzMCAgIDIyIDI5IDMwIDMxICAgICAgICAgICAgICAgMjYgMjYgMjcgMjggMjkgMzAgICAgICAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1ICAgICAgTW8gVHUgV2UgVGggRnIgU2EgU3UKKzI2ICAgICAgICAgICAgICAgICAxICAyICAgMzEgICAgIDEgIDIgIDMgIDQgIDUgIDYgICAzNSAgICAgICAgICAgICAgMSAgMiAgMworMjcgIDMgIDQgIDUgIDYgIDcgIDggIDkgICAzMiAgNyAgOCAgOSAxMCAxMSAxMiAxMyAgIDM2ICA0ICA1ICA2ICA3ICA4ICA5IDEwCisyOCAxMCAxMSAxMiAxMyAxNCAxNSAxNiAgIDMzIDE0IDE1IDE2IDE3IDE4IDE5IDIwICAgMzcgMTEgMTIgMTMgMTQgMTUgMTYgMTcKKzI5IDE3IDE4IDE5IDIwIDIxIDIyIDIzICAgMzQgMjEgMjIgMjMgMjQgMjUgMjYgMjcgICAzOCAxOCAxOSAyMCAyMSAyMiAyMyAyNAorMzAgMjQgMjUgMjYgMjcgMjggMjkgMzAgICAzNSAyOCAyOSAzMCAzMSAgICAgICAgICAgIDM5IDI1IDI2IDI3IDI4IDI5IDMwICAgCiszMSAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgTW8gVHUgV2UgVGggRnIgU2EgU3UgICAgICBNbyBUdSBXZSBUaCBGciBTYSBTdSAgICAgIE1vIFR1IFdlIFRoIEZyIFNhIFN1CiszOSAgICAgICAgICAgICAgICAgICAgMSAgIDQ0ICAgICAgICAxICAyICAzICA0ICA1ICAgNDggICAgICAgICAgICAgIDEgIDIgIDMKKzQwICAyICAzICA0ICA1ICA2ICA3ICA4ICAgNDUgIDYgIDcgIDggIDkgMTAgMTEgMTIgICA0OSAgNCAgNSAgNiAgNyAgOCAgOSAxMAorNDEgIDkgMTAgMTEgMTIgMTMgMTQgMTUgICA0NiAxMyAxNCAxNSAxNiAxNyAxOCAxOSAgIDUwIDExIDEyIDEzIDE0IDE1IDE2IDE3Cis0MiAxNiAxNyAxOCAxOSAyMCAyMSAyMiAgIDQ3IDIwIDIxIDIyIDIzIDI0IDI1IDI2ICAgNTEgMTggMTkgMjAgMjEgMjIgMjMgMjQKKzQzIDIzIDI0IDI1IDI2IDI3IDI4IDI5ICAgNDggMjcgMjggMjkgMzAgICAgICAgICAgICA1MiAyNSAyNiAyNyAyOCAyOSAzMCAzMQorNDQgMzAgMzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15cyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC95ZWFyLXlzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkMzcyOTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15cwpAQCAtMCwwICsxLDM1IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlaworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMDYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgIE1hcmNoICAgICAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgMiAgMyAgNCAgNSAgNiAgNyAgICAgICAgICAgICAxICAyICAzICA0ICAgICAgICAgICAgIDEgIDIgIDMgIDQKKyA4ICA5IDEwIDExIDEyIDEzIDE0ICAgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAgNSAgNiAgNyAgOCAgOSAxMCAxMQorMTUgMTYgMTcgMTggMTkgMjAgMjEgICAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDEyIDEzIDE0IDE1IDE2IDE3IDE4CisyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMTkgMjAgMjEgMjIgMjMgMjQgMjUKKzI5IDMwIDMxICAgICAgICAgICAgICAgMjYgMjcgMjggICAgICAgICAgICAgICAyNiAyNyAyOCAyOSAzMCAzMSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAKK1N1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorICAgICAgICAgICAgICAgICAgIDEgICAgICAgMSAgMiAgMyAgNCAgNSAgNiAgICAgICAgICAgICAgICAxICAyICAzCisgMiAgMyAgNCAgNSAgNiAgNyAgOCAgICA3ICA4ICA5IDEwIDExIDEyIDEzICAgIDQgIDUgIDYgIDcgIDggIDkgMTAKKyA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAxMSAxMiAxMyAxNCAxNSAxNiAxNworMTYgMTcgMTggMTkgMjAgMjEgMjIgICAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDE4IDE5IDIwIDIxIDIyIDIzIDI0CisyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDI4IDI5IDMwIDMxICAgICAgICAgICAgMjUgMjYgMjcgMjggMjkgMzAgICAKKzMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICBKdWx5ICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgIFNlcHRlbWJlciAgICAgCitTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKyAgICAgICAgICAgICAgICAgICAxICAgICAgICAgIDEgIDIgIDMgIDQgIDUgICAgICAgICAgICAgICAgICAgMSAgMgorIDIgIDMgIDQgIDUgIDYgIDcgIDggICAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgICAzICA0ICA1ICA2ICA3ICA4ICA5CisgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMTAgMTEgMTIgMTMgMTQgMTUgMTYKKzE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAxNyAxOCAxOSAyMCAyMSAyMiAyMworMjMgMjQgMjUgMjYgMjcgMjggMjkgICAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDI0IDI1IDI2IDI3IDI4IDI5IDMwCiszMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgIAorU3UgTW8gVHUgV2UgVGggRnIgU2EgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgMiAgMyAgNCAgNSAgNiAgNyAgICAgICAgICAgICAxICAyICAzICA0ICAgICAgICAgICAgICAgICAgIDEgIDIKKyA4ICA5IDEwIDExIDEyIDEzIDE0ICAgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAgMyAgNCAgNSAgNiAgNyAgOCAgOQorMTUgMTYgMTcgMTggMTkgMjAgMjEgICAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDEwIDExIDEyIDEzIDE0IDE1IDE2CisyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMTcgMTggMTkgMjAgMjEgMjIgMjMKKzI5IDMwIDMxICAgICAgICAgICAgICAgMjYgMjcgMjggMjkgMzAgICAgICAgICAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMxICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15c2ogYi90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15c2oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDgwZTI1NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC95ZWFyLXlzagpAQCAtMCwwICsxLDM1IEBACitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlaworICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICBKYW51YXJ5ICAgICAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICAgICAgTWFyY2ggICAgICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICAgICAgICAgICAgICAgMzIgIDMzICAzNCAgMzUgICAgICAgICAgICAgICAgNjAgIDYxICA2MiAgNjMKKyAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MiAgICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICA3MAorIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgIDIxICAgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICAgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgIDc3CisgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgMjggICAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgICAgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgODQKKyAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgICAgICA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgIEFwcmlsICAgICAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgICAgICBKdW5lICAgICAgICAgICAKK1N1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorICAgICAgICAgICAgICAgICAgICAgICAgIDkxICAgICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgMTI2ICAgICAgICAgICAgICAgICAgIDE1MiAxNTMgMTU0CisgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgOTggICAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAxMzMgICAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAxNjEKKyA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAgIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5IDE0MCAgIDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OAorMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgMTEyICAgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3ICAgMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1CisxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkgICAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgICAgICAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgICAKKzEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgSnVseSAgICAgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICAgICAgU2VwdGVtYmVyICAgICAgICAgCitTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKyAgICAgICAgICAgICAgICAgICAgICAgIDE4MiAgICAgICAgICAgMjEzIDIxNCAyMTUgMjE2IDIxNyAgICAgICAgICAgICAgICAgICAgICAgMjQ0IDI0NQorMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5ICAgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEgMjUyCisxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgICAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgICAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkKKzE5NyAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAgIDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAgIDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NgorMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwICAgMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczCisyMTEgMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICBPY3RvYmVyICAgICAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgICAgICBEZWNlbWJlciAgICAgICAgIAorU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgICAgICAgICAgICAgICAzMDUgMzA2IDMwNyAzMDggICAgICAgICAgICAgICAgICAgICAgIDMzNSAzMzYKKzI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAgIDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0IDMxNSAgIDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MworMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0ICAgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgMzIyICAgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwCisyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgICAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAzMjkgICAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcKKzMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgICAgIDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgICAgICAgIDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15c2p3IGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3llYXIteXNqdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWRiYWUzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY2FsL3llYXIteXNqdwpAQCAtMCwwICsxLDM1IEBACitKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgICAgIEphbnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgRmVicnVhcnkgICAgICAgICAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0CisgMSAgIDEgICAyICAgMyAgIDQgICA1ICAgNiAgIDcgICAgNSAgICAgICAgICAgICAgMzIgIDMzICAzNCAgMzUgICAgOSAgICAgICAgICAgICAgNjAgIDYxICA2MiAgNjMKKyAyICAgOCAgIDkgIDEwICAxMSAgMTIgIDEzICAxNCAgICA2ICAzNiAgMzcgIDM4ICAzOSAgNDAgIDQxICA0MiAgIDEwICA2NCAgNjUgIDY2ICA2NyAgNjggIDY5ICA3MAorIDMgIDE1ICAxNiAgMTcgIDE4ICAxOSAgMjAgIDIxICAgIDcgIDQzICA0NCAgNDUgIDQ2ICA0NyAgNDggIDQ5ICAgMTEgIDcxICA3MiAgNzMgIDc0ICA3NSAgNzYgIDc3CisgNCAgMjIgIDIzICAyNCAgMjUgIDI2ICAyNyAgMjggICAgOCAgNTAgIDUxICA1MiAgNTMgIDU0ICA1NSAgNTYgICAxMiAgNzggIDc5ICA4MCAgODEgIDgyICA4MyAgODQKKyA1ICAyOSAgMzAgIDMxICAgICAgICAgICAgICAgICAgICA5ICA1NyAgNTggIDU5ICAgICAgICAgICAgICAgICAgIDEzICA4NSAgODYgIDg3ICA4OCAgODkgIDkwICAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICAgICAgQXByaWwgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1heSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSnVuZSAgICAgICAgICAgICAKKyAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdCAgICAgIFN1biBNb24gVHVlIFdlZCBUaHUgRnJpIFNhdAorMTMgICAgICAgICAgICAgICAgICAgICAgICAgIDkxICAgMTggICAgIDEyMSAxMjIgMTIzIDEyNCAxMjUgMTI2ICAgMjIgICAgICAgICAgICAgICAgIDE1MiAxNTMgMTU0CisxNCAgOTIgIDkzICA5NCAgOTUgIDk2ICA5NyAgOTggICAxOSAxMjcgMTI4IDEyOSAxMzAgMTMxIDEzMiAxMzMgICAyMyAxNTUgMTU2IDE1NyAxNTggMTU5IDE2MCAxNjEKKzE1ICA5OSAxMDAgMTAxIDEwMiAxMDMgMTA0IDEwNSAgIDIwIDEzNCAxMzUgMTM2IDEzNyAxMzggMTM5IDE0MCAgIDI0IDE2MiAxNjMgMTY0IDE2NSAxNjYgMTY3IDE2OAorMTYgMTA2IDEwNyAxMDggMTA5IDExMCAxMTEgMTEyICAgMjEgMTQxIDE0MiAxNDMgMTQ0IDE0NSAxNDYgMTQ3ICAgMjUgMTY5IDE3MCAxNzEgMTcyIDE3MyAxNzQgMTc1CisxNyAxMTMgMTE0IDExNSAxMTYgMTE3IDExOCAxMTkgICAyMiAxNDggMTQ5IDE1MCAxNTEgICAgICAgICAgICAgICAyNiAxNzYgMTc3IDE3OCAxNzkgMTgwIDE4MSAgICAKKzE4IDEyMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXVndXN0ICAgICAgICAgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgICAgCisgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQgICAgICBTdW4gTW9uIFR1ZSBXZWQgVGh1IEZyaSBTYXQKKzI2ICAgICAgICAgICAgICAgICAgICAgICAgIDE4MiAgIDMxICAgICAgICAgMjEzIDIxNCAyMTUgMjE2IDIxNyAgIDM1ICAgICAgICAgICAgICAgICAgICAgMjQ0IDI0NQorMjcgMTgzIDE4NCAxODUgMTg2IDE4NyAxODggMTg5ICAgMzIgMjE4IDIxOSAyMjAgMjIxIDIyMiAyMjMgMjI0ICAgMzYgMjQ2IDI0NyAyNDggMjQ5IDI1MCAyNTEgMjUyCisyOCAxOTAgMTkxIDE5MiAxOTMgMTk0IDE5NSAxOTYgICAzMyAyMjUgMjI2IDIyNyAyMjggMjI5IDIzMCAyMzEgICAzNyAyNTMgMjU0IDI1NSAyNTYgMjU3IDI1OCAyNTkKKzI5IDE5NyAxOTggMTk5IDIwMCAyMDEgMjAyIDIwMyAgIDM0IDIzMiAyMzMgMjM0IDIzNSAyMzYgMjM3IDIzOCAgIDM4IDI2MCAyNjEgMjYyIDI2MyAyNjQgMjY1IDI2NgorMzAgMjA0IDIwNSAyMDYgMjA3IDIwOCAyMDkgMjEwICAgMzUgMjM5IDI0MCAyNDEgMjQyIDI0MyAgICAgICAgICAgMzkgMjY3IDI2OCAyNjkgMjcwIDI3MSAyNzIgMjczCiszMSAyMTEgMjEyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgICAgIE9jdG9iZXIgICAgICAgICAgICAgICAgICAgICAgICAgTm92ZW1iZXIgICAgICAgICAgICAgICAgICAgICAgICAgRGVjZW1iZXIgICAgICAgICAgIAorICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0ICAgICAgU3VuIE1vbiBUdWUgV2VkIFRodSBGcmkgU2F0Cis0MCAyNzQgMjc1IDI3NiAyNzcgMjc4IDI3OSAyODAgICA0NCAgICAgICAgICAgICAzMDUgMzA2IDMwNyAzMDggICA0OCAgICAgICAgICAgICAgICAgICAgIDMzNSAzMzYKKzQxIDI4MSAyODIgMjgzIDI4NCAyODUgMjg2IDI4NyAgIDQ1IDMwOSAzMTAgMzExIDMxMiAzMTMgMzE0IDMxNSAgIDQ5IDMzNyAzMzggMzM5IDM0MCAzNDEgMzQyIDM0MworNDIgMjg4IDI4OSAyOTAgMjkxIDI5MiAyOTMgMjk0ICAgNDYgMzE2IDMxNyAzMTggMzE5IDMyMCAzMjEgMzIyICAgNTAgMzQ0IDM0NSAzNDYgMzQ3IDM0OCAzNDkgMzUwCis0MyAyOTUgMjk2IDI5NyAyOTggMjk5IDMwMCAzMDEgICA0NyAzMjMgMzI0IDMyNSAzMjYgMzI3IDMyOCAzMjkgICA1MSAzNTEgMzUyIDM1MyAzNTQgMzU1IDM1NiAzNTcKKzQ0IDMwMiAzMDMgMzA0ICAgICAgICAgICAgICAgICAgIDQ4IDMzMCAzMzEgMzMyIDMzMyAzMzQgICAgICAgICAgIDUyIDM1OCAzNTkgMzYwIDM2MSAzNjIgMzYzIDM2NAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNTMgMzY1ICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15c3cgYi90ZXN0cy9leHBlY3RlZC9jYWwveWVhci15c3cKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzYxZjc3OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NhbC95ZWFyLXlzdwpAQCAtMCwwICsxLDM1IEBACitHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisKKyAgICAgICAgSmFudWFyeSAgICAgICAgICAgICAgICAgICBGZWJydWFyeSAgICAgICAgICAgICAgICAgICBNYXJjaCAgICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCisgMSAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgICA1ICAgICAgICAgICAxICAyICAzICA0ICAgIDkgICAgICAgICAgIDEgIDIgIDMgIDQKKyAyICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgIDYgIDUgIDYgIDcgIDggIDkgMTAgMTEgICAxMCAgNSAgNiAgNyAgOCAgOSAxMCAxMQorIDMgMTUgMTYgMTcgMTggMTkgMjAgMjEgICAgNyAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDExIDEyIDEzIDE0IDE1IDE2IDE3IDE4CisgNCAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgICA4IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgMTIgMTkgMjAgMjEgMjIgMjMgMjQgMjUKKyA1IDI5IDMwIDMxICAgICAgICAgICAgICAgIDkgMjYgMjcgMjggICAgICAgICAgICAgICAxMyAyNiAyNyAyOCAyOSAzMCAzMSAgIAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCisgICAgICAgICBBcHJpbCAgICAgICAgICAgICAgICAgICAgICBNYXkgICAgICAgICAgICAgICAgICAgICAgIEp1bmUgICAgICAgICAKKyAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYQorMTMgICAgICAgICAgICAgICAgICAgIDEgICAxOCAgICAgMSAgMiAgMyAgNCAgNSAgNiAgIDIyICAgICAgICAgICAgICAxICAyICAzCisxNCAgMiAgMyAgNCAgNSAgNiAgNyAgOCAgIDE5ICA3ICA4ICA5IDEwIDExIDEyIDEzICAgMjMgIDQgIDUgIDYgIDcgIDggIDkgMTAKKzE1ICA5IDEwIDExIDEyIDEzIDE0IDE1ICAgMjAgMTQgMTUgMTYgMTcgMTggMTkgMjAgICAyNCAxMSAxMiAxMyAxNCAxNSAxNiAxNworMTYgMTYgMTcgMTggMTkgMjAgMjEgMjIgICAyMSAyMSAyMiAyMyAyNCAyNSAyNiAyNyAgIDI1IDE4IDE5IDIwIDIxIDIyIDIzIDI0CisxNyAyMyAyNCAyNSAyNiAyNyAyOCAyOSAgIDIyIDI4IDI5IDMwIDMxICAgICAgICAgICAgMjYgMjUgMjYgMjcgMjggMjkgMzAgICAKKzE4IDMwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorICAgICAgICAgIEp1bHkgICAgICAgICAgICAgICAgICAgICBBdWd1c3QgICAgICAgICAgICAgICAgICBTZXB0ZW1iZXIgICAgICAgCisgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhICAgICAgU3UgTW8gVHUgV2UgVGggRnIgU2EKKzI2ICAgICAgICAgICAgICAgICAgICAxICAgMzEgICAgICAgIDEgIDIgIDMgIDQgIDUgICAzNSAgICAgICAgICAgICAgICAgMSAgMgorMjcgIDIgIDMgIDQgIDUgIDYgIDcgIDggICAzMiAgNiAgNyAgOCAgOSAxMCAxMSAxMiAgIDM2ICAzICA0ICA1ICA2ICA3ICA4ICA5CisyOCAgOSAxMCAxMSAxMiAxMyAxNCAxNSAgIDMzIDEzIDE0IDE1IDE2IDE3IDE4IDE5ICAgMzcgMTAgMTEgMTIgMTMgMTQgMTUgMTYKKzI5IDE2IDE3IDE4IDE5IDIwIDIxIDIyICAgMzQgMjAgMjEgMjIgMjMgMjQgMjUgMjYgICAzOCAxNyAxOCAxOSAyMCAyMSAyMiAyMworMzAgMjMgMjQgMjUgMjYgMjcgMjggMjkgICAzNSAyNyAyOCAyOSAzMCAzMSAgICAgICAgIDM5IDI0IDI1IDI2IDI3IDI4IDI5IDMwCiszMSAzMCAzMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKyAgICAgICAgT2N0b2JlciAgICAgICAgICAgICAgICAgICBOb3ZlbWJlciAgICAgICAgICAgICAgICAgIERlY2VtYmVyICAgICAgIAorICAgU3UgTW8gVHUgV2UgVGggRnIgU2EgICAgICBTdSBNbyBUdSBXZSBUaCBGciBTYSAgICAgIFN1IE1vIFR1IFdlIFRoIEZyIFNhCis0MCAgMSAgMiAgMyAgNCAgNSAgNiAgNyAgIDQ0ICAgICAgICAgICAxICAyICAzICA0ICAgNDggICAgICAgICAgICAgICAgIDEgIDIKKzQxICA4ICA5IDEwIDExIDEyIDEzIDE0ICAgNDUgIDUgIDYgIDcgIDggIDkgMTAgMTEgICA0OSAgMyAgNCAgNSAgNiAgNyAgOCAgOQorNDIgMTUgMTYgMTcgMTggMTkgMjAgMjEgICA0NiAxMiAxMyAxNCAxNSAxNiAxNyAxOCAgIDUwIDEwIDExIDEyIDEzIDE0IDE1IDE2Cis0MyAyMiAyMyAyNCAyNSAyNiAyNyAyOCAgIDQ3IDE5IDIwIDIxIDIyIDIzIDI0IDI1ICAgNTEgMTcgMTggMTkgMjAgMjEgMjIgMjMKKzQ0IDI5IDMwIDMxICAgICAgICAgICAgICAgNDggMjYgMjcgMjggMjkgMzAgICAgICAgICA1MiAyNCAyNSAyNiAyNyAyOCAyOSAzMAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDUzIDMxICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2wvbXVsdGlieXRlIGIvdGVzdHMvZXhwZWN0ZWQvY29sL211bHRpYnl0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmQzNmNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sL211bHRpYnl0ZQpAQCAtMCwwICsxIEBACitjb2w6IEludmFsaWQgb3IgaW5jb21wbGV0ZSBtdWx0aWJ5dGUgb3Igd2lkZSBjaGFyYWN0ZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLWhhbGYtbGluZXMgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1oYWxmLWxpbmVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3OTU3ZjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1oYWxmLWxpbmVzCkBAIC0wLDAgKzEsODkgQEAKKworICAgMTAwCisgICAgICAgIC0KKyAgIDEwMQorICAgICAgICAtLQorICAgMTAyCisgICAgICAgIC0tLQorICAgMTAzICAgeAorICAgICAgICAtIC0tCisgICAxMDQgIHNoaWZ0CisKKyAgIDEwNSAgZXNjOQorCisgICAxMDYgIGVzYzgKKworICAgMTA3ICBlc2MKKworICAgMTA4ICBlc2M2CisKKyAgIDEwOSAgYmFja3NwYWNlCisKKyAgIDExMCAgdGFiICAgICB0YWIKKworICAgMTExICBhYmMgIGVmZworICAgICAgICAgICAtICAgIC0KKyAgIDExMiAgfC0tLXwKKworICAgMTEzICB8IHggfAorCisgICAxMTQgIHwgICB8CisgICAgICAgICAtLS0KKyAgIDExNSAgbGluZSBsb25nZXIgdGhhbiAxMzIgY2hhcmFjdGVycyBsaW5lIGxvbmdlciB0aGFuIDEzMiBjaGFyYWN0ZXJzIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoYXJhY3RlcnMgbGluZSBsb25nZXIgdGhhbiAxMzIgY2gwMTIzNAorICAgICAgICAgICAgLSAgICAgIC0gICAgLSAgIC0gICAgICAgICAgLSAgICAtICAgICAgLSAgICAtICAgLSAgICAgICAgICAtICAgIC0gICAgICAtICAgIC0gICAtICAgICAgICAgIC0gICAgLSAgICAgIC0gICAgLSAgIC0KKyAgIDExNiAgbnVsbHMKKworICAgMTE3ICBuZXh0IGxpbmUgYXNjaWkgMCAtIDEyNworCisgICAxMTgKKworICAgMTE5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtCisKKyAgIDIwMAorICAgICAgICAtLS0KKyAgIDIwMSAgYWJjCisKKyAgIDIwMiAgIGFiYworICAgICAgICAtCisgICAyMDMgIGEgYmMKKyAgICAgICAgIC0KKyAgIDIwNCAgYWIgYworICAgICAgICAgIC0KKyAgIDIwNSAgYWJjCisgICAgICAgICAgIC0KKyAgIDIwNiAgICBhYmMKKyAgICAgICAgLS0KKyAgIDIwNyAgYSAgYmMKKyAgICAgICAgIC0tCisgICAyMDggIGFiICBjCisgICAgICAgICAgLS0KKyAgIDIwOSAgYWJjCisgICAgICAgICAgIC0tCisgICAyMTAgICBhIGJjCisgICAgICAgIC0gLQorICAgMjExICAgYWIgYworICAgICAgICAtICAtCisgICAyMTIgIGEgYiBjCisgICAgICAgICAtIC0KKyAgIDIxMyAgYSAgYmMKKyAgICAgICAgIC0tCisgICAyMTQgIGEgYmMKKyAgICAgICAgIC0gIC0KKyAgIDIxNSAgYWJjCisgICAgICAgICAgIC0tCisgICAyMTYgICBhYmMKKyAgICAgICAgLSAgIC0KKyAgIDIxNyAgIGEgYiBjCisgICAgICAgIC0gLSAtCisgICAyMTggICBhICBiYworICAgICAgICAtIC0tCisgICAyMTkgIGEgIGJjCisgICAgICAgICAtLSAgLQorICAgMjIwICAgYWJjCisgICAgICAgIC0gICAtLQorICAgMjIxICAgICBhYmMKKyAgICAgICAgLS0tCisgICAyMjIgIGFiYworICAgICAgICAgICAtLS0KK3JldHVybiB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L2Z1bmN0aW9uYWwtbm8tb3B0aW9ucyBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLW5vLW9wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGI0MWIwNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLW5vLW9wdGlvbnMKQEAgLTAsMCArMSw3NCBAQAorICAgMTAwCisgICAgICAgIC0KKyAgIDEwMQorICAgICAgICAtLQorICAgMTAyCisgICAgICAgIC0tLQorICAgMTAzICAgeAorICAgICAgICAtIC0tCisgICAxMDQgIHNoaWZ0CisgICAxMDUgIGVzYzkKKyAgIDEwNiAgZXNjOAorICAgMTA3ICBlc2MKKyAgIDEwOCAgZXNjNgorICAgMTA5ICBiYWNrc3BhY2UKKyAgIDExMCAgdGFiICAgICB0YWIKKyAgIDExMSAgYWJjICBlZmcKKyAgICAgICAgICAgLSAgICAtCisgICAxMTIgIHwtLS18CisgICAxMTMgIHwgeCB8CisgICAxMTQgIHwgICB8CisgICAgICAgICAtLS0KKyAgIDExNSAgbGluZSBsb25nZXIgdGhhbiAxMzIgY2hhcmFjdGVycyBsaW5lIGxvbmdlciB0aGFuIDEzMiBjaGFyYWN0ZXJzIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoYXJhY3RlcnMgbGluZSBsb25nZXIgdGhhbiAxMzIgY2gwMTIzNAorICAgICAgICAgICAgLSAgICAgIC0gICAgLSAgIC0gICAgICAgICAgLSAgICAtICAgICAgLSAgICAtICAgLSAgICAgICAgICAtICAgIC0gICAgICAtICAgIC0gICAtICAgICAgICAgIC0gICAgLSAgICAgIC0gICAgLSAgIC0KKyAgIDExNiAgbnVsbHMKKyAgIDExNyAgbmV4dCBsaW5lIGFzY2lpIDAgLSAxMjcKKyAgIDExOAorICAgMTE5CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAtCisgICAyMDAKKyAgICAgICAgLS0tCisgICAyMDEgIGFiYworICAgMjAyICAgYWJjCisgICAgICAgIC0KKyAgIDIwMyAgYSBiYworICAgICAgICAgLQorICAgMjA0ICBhYiBjCisgICAgICAgICAgLQorICAgMjA1ICBhYmMKKyAgICAgICAgICAgLQorICAgMjA2ICAgIGFiYworICAgICAgICAtLQorICAgMjA3ICBhICBiYworICAgICAgICAgLS0KKyAgIDIwOCAgYWIgIGMKKyAgICAgICAgICAtLQorICAgMjA5ICBhYmMKKyAgICAgICAgICAgLS0KKyAgIDIxMCAgIGEgYmMKKyAgICAgICAgLSAtCisgICAyMTEgICBhYiBjCisgICAgICAgIC0gIC0KKyAgIDIxMiAgYSBiIGMKKyAgICAgICAgIC0gLQorICAgMjEzICBhICBiYworICAgICAgICAgLS0KKyAgIDIxNCAgYSBiYworICAgICAgICAgLSAgLQorICAgMjE1ICBhYmMKKyAgICAgICAgICAgLS0KKyAgIDIxNiAgIGFiYworICAgICAgICAtICAgLQorICAgMjE3ICAgYSBiIGMKKyAgICAgICAgLSAtIC0KKyAgIDIxOCAgIGEgIGJjCisgICAgICAgIC0gLS0KKyAgIDIxOSAgYSAgYmMKKyAgICAgICAgIC0tICAtCisgICAyMjAgICBhYmMKKyAgICAgICAgLSAgIC0tCisgICAyMjEgICAgIGFiYworICAgICAgICAtLS0KKyAgIDIyMiAgYWJjCisgICAgICAgICAgIC0tLQorcmV0dXJuIHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1uby11bmRlcmxpbmluZyBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLW5vLXVuZGVybGluaW5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwNjczNGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1uby11bmRlcmxpbmluZwpAQCAtMCwwICsxLDQ0IEBACisgICAxMDAKKyAgIDEwMQorICAgMTAyCisgICAxMDMgICB4CisgICAxMDQgIHNoaWZ0CisgICAxMDUgIGVzYzkKKyAgIDEwNiAgZXNjOAorICAgMTA3ICBlc2MKKyAgIDEwOCAgZXNjNgorICAgMTA5ICBiYWNrc3BhY2UKKyAgIDExMCAgdGFiICAgICB0YWIKKyAgIDExMSAgYWJjICBlZmcKKyAgIDExMiAgfC0tLXwKKyAgIDExMyAgfCB4IHwKKyAgIDExNCAgfCAgIHwKKyAgIDExNSAgbGluZSBsb25nZXIgdGhhbiAxMzIgY2hhcmFjdGVycyBsaW5lIGxvbmdlciB0aGFuIDEzMiBjaGFyYWN0ZXJzIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoYXJhY3RlcnMgbGluZSBsb25nZXIgdGhhbiAxMzIgY2gwMTIzNAorICAgMTE2ICBudWxscworICAgMTE3ICBuZXh0IGxpbmUgYXNjaWkgMCAtIDEyNworICAgMTE4CisgICAxMTkKKyAgIDIwMAorICAgMjAxICBhYmMKKyAgIDIwMiAgIGFiYworICAgMjAzICBhIGJjCisgICAyMDQgIGFiIGMKKyAgIDIwNSAgYWJjCisgICAyMDYgICAgYWJjCisgICAyMDcgIGEgIGJjCisgICAyMDggIGFiICBjCisgICAyMDkgIGFiYworICAgMjEwICAgYSBiYworICAgMjExICAgYWIgYworICAgMjEyICBhIGIgYworICAgMjEzICBhICBiYworICAgMjE0ICBhIGJjCisgICAyMTUgIGFiYworICAgMjE2ICAgYWJjCisgICAyMTcgICBhIGIgYworICAgMjE4ICAgYSAgYmMKKyAgIDIxOSAgYSAgYmMKKyAgIDIyMCAgIGFiYworICAgMjIxICAgICBhYmMKKyAgIDIyMiAgYWJjCityZXR1cm4gdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9mdW5jdGlvbmFsLXNob3J0LW9wdGlvbnMgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1zaG9ydC1vcHRpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJkMmQ0NGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2xjcnQvZnVuY3Rpb25hbC1zaG9ydC1vcHRpb25zCkBAIC0wLDAgKzEsODkgQEAKKworICAgMTAwCisKKyAgIDEwMQorCisgICAxMDIKKworICAgMTAzICAgeAorCisgICAxMDQgIHNoaWZ0CisKKyAgIDEwNSAgZXNjOQorCisgICAxMDYgIGVzYzgKKworICAgMTA3ICBlc2MKKworICAgMTA4ICBlc2M2CisKKyAgIDEwOSAgYmFja3NwYWNlCisKKyAgIDExMCAgdGFiICAgICB0YWIKKworICAgMTExICBhYmMgIGVmZworCisgICAxMTIgIHwtLS18CisKKyAgIDExMyAgfCB4IHwKKworICAgMTE0ICB8ICAgfAorCisgICAxMTUgIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoYXJhY3RlcnMgbGluZSBsb25nZXIgdGhhbiAxMzIgY2hhcmFjdGVycyBsaW5lIGxvbmdlciB0aGFuIDEzMiBjaGFyYWN0ZXJzIGxpbmUgbG9uZ2VyIHRoYW4gMTMyIGNoMDEyMzQKKworICAgMTE2ICBudWxscworCisgICAxMTcgIG5leHQgbGluZSBhc2NpaSAwIC0gMTI3CisKKyAgIDExOAorCisgICAxMTkKKworCisgICAyMDAKKworICAgMjAxICBhYmMKKworICAgMjAyICAgYWJjCisKKyAgIDIwMyAgYSBiYworCisgICAyMDQgIGFiIGMKKworICAgMjA1ICBhYmMKKworICAgMjA2ICAgIGFiYworCisgICAyMDcgIGEgIGJjCisKKyAgIDIwOCAgYWIgIGMKKworICAgMjA5ICBhYmMKKworICAgMjEwICAgYSBiYworCisgICAyMTEgICBhYiBjCisKKyAgIDIxMiAgYSBiIGMKKworICAgMjEzICBhICBiYworCisgICAyMTQgIGEgYmMKKworICAgMjE1ICBhYmMKKworICAgMjE2ICAgYWJjCisKKyAgIDIxNyAgIGEgYiBjCisKKyAgIDIxOCAgIGEgIGJjCisKKyAgIDIxOSAgYSAgYmMKKworICAgMjIwICAgYWJjCisKKyAgIDIyMSAgICAgYWJjCisKKyAgIDIyMiAgYWJjCisKK3JldHVybiB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L3JlZ3Jlc3Npb25zLWNyYXNoMSBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9yZWdyZXNzaW9ucy1jcmFzaDEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdhN2IxYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9yZWdyZXNzaW9ucy1jcmFzaDEKQEAgLTAsMCArMSwyIEBACisgVyBVOyAgICBVOyAgRCAgZiBVOyAgRCAgZiAgICBEICBmICAgID4gICAgIEBXICBdfiAgIEstIC0gIC0tLS0gIC0tIC0tIC0gIC0tIC0tIC0tLS0gLS0gLS0tLSAtLSAgLSAgLS0gIC0tLSAtLQorcmV0dXJuIHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2xjcnQvcmVncmVzc2lvbnMtY3Jhc2gyIGIvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L3JlZ3Jlc3Npb25zLWNyYXNoMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMWViZjc0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L3JlZ3Jlc3Npb25zLWNyYXNoMgpAQCAtMCwwICsxLDEwIEBACisKK0ZHSElLSUpLTlwKK01OOXwKK1hZWlJuVCBSblRVVnwgICBOWFA6dworTU4KKydRUm5UVVZXWFlaUVJuVFUKK01OOXwKK1hZWiBuVCBSblRVVnwgICBOWFA6dworICAgLQorTU5PUC5yZXR1cm4gdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9yZWdyZXNzaW9ucy1oYW5nMSBiL3Rlc3RzL2V4cGVjdGVkL2NvbGNydC9yZWdyZXNzaW9ucy1oYW5nMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYjE2ZTQ2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sY3J0L3JlZ3Jlc3Npb25zLWhhbmcxCkBAIC0wLDAgKzEsMyBAQAorNzg5Ojs8PT49Pj9JQUJVVk5YWVpbIGBhYmNkZWZnZyAhIiMkJSYnKCkqKywtLi8wMTIzNCkqOiwtLi8wMTIzNDU2Nzg5OjtbPT4/MTIzNCkqOiwtLi8wMTIzNDU2Nzg5OjtbPT4/NDQ1Njc4OTo7PD0+P0lBQlVWTmBhYmNkZWZnICEiCisgICAgICAgICAgICAgICAgICAgICAtCityZXR1cm4gdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHJtL3JtMi0yIGIvdGVzdHMvZXhwZWN0ZWQvY29scm0vcm0yLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmRkNDVhZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHJtL3JtMi0yCkBAIC0wLDAgKzEsMyBAQAorYSAgICAgIGIKK2MgICAgICBkCitlCAlnCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZS1maWxsLWNvbHMtMjUwIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZS1maWxsLWNvbHMtMjUwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NDg5MTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlLWZpbGwtY29scy0yNTAKQEAgLTAsMCArMSBAQAorQUFBQUFBQUFBQUFBQUFBQUFBQUEJQkJCQkJCQkJCQkJCQkJCQkJCQkJCCUNDQ0NDQ0NDQ0NDQ0NDQ0MJREREREREREREREREREREREQJRUVFRUVFRUVFRUVFRQkJRkZGRkZGRkZGRkZGRkZGRkZGRglYWFhYWFhYCQkJWVlZWVlZWVlZWVkJCVpaWlpaWlpaWlpaCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlLWZpbGwtY29scy01MCBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi9jb2x1bW5hdGUtZmlsbC1jb2xzLTUwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQyODdjMTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlLWZpbGwtY29scy01MApAQCAtMCwwICsxLDUgQEAKK0FBQUFBQUFBQUFBQUFBQUFBQUFBCUZGRkZGRkZGRkZGRkZGRkZGRkYKK0JCQkJCQkJCQkJCQkJCQkJCQkJCQglYWFhYWFhYCitDQ0NDQ0NDQ0NDQ0NDQ0NDCVlZWVlZWVlZWVlZCitERERERERERERERERERERERAlaWlpaWlpaWlpaWgorRUVFRUVFRUVFRUVFRQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZS1maWxsLWNvbHMtODAgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlLWZpbGwtY29scy04MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMDA0NDA2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZS1maWxsLWNvbHMtODAKQEAgLTAsMCArMSwzIEBACitBQUFBQUFBQUFBQUFBQUFBQUFBQQlERERERERERERERERERERERAlYWFhYWFhYCitCQkJCQkJCQkJCQkJCQkJCQkJCQkIJRUVFRUVFRUVFRUVFRQkJWVlZWVlZWVlZWVkKK0NDQ0NDQ0NDQ0NDQ0NDQ0MJRkZGRkZGRkZGRkZGRkZGRkZGRglaWlpaWlpaWlpaWgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZS1maWxsLXJvd3MtMjUwIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZS1maWxsLXJvd3MtMjUwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2NDg5MTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlLWZpbGwtcm93cy0yNTAKQEAgLTAsMCArMSBAQAorQUFBQUFBQUFBQUFBQUFBQUFBQUEJQkJCQkJCQkJCQkJCQkJCQkJCQkJCCUNDQ0NDQ0NDQ0NDQ0NDQ0MJREREREREREREREREREREREQJRUVFRUVFRUVFRUVFRQkJRkZGRkZGRkZGRkZGRkZGRkZGRglYWFhYWFhYCQkJWVlZWVlZWVlZWVkJCVpaWlpaWlpaWlpaCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlLWZpbGwtcm93cy01MCBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi9jb2x1bW5hdGUtZmlsbC1yb3dzLTUwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmMzVhMTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlLWZpbGwtcm93cy01MApAQCAtMCwwICsxLDUgQEAKK0FBQUFBQUFBQUFBQUFBQUFBQUFBCUJCQkJCQkJCQkJCQkJCQkJCQkJCQgorQ0NDQ0NDQ0NDQ0NDQ0NDQwlERERERERERERERERERERERAorRUVFRUVFRUVFRUVFRQkJRkZGRkZGRkZGRkZGRkZGRkZGRgorWFhYWFhYWAkJCVlZWVlZWVlZWVlZCitaWlpaWlpaWlpaWgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZS1maWxsLXJvd3MtODAgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vY29sdW1uYXRlLWZpbGwtcm93cy04MApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MjYzNWY3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2NvbHVtbmF0ZS1maWxsLXJvd3MtODAKQEAgLTAsMCArMSwzIEBACitBQUFBQUFBQUFBQUFBQUFBQUFBQQlCQkJCQkJCQkJCQkJCQkJCQkJCQkIJQ0NDQ0NDQ0NDQ0NDQ0NDQworREREREREREREREREREREREQJRUVFRUVFRUVFRUVFRQkJRkZGRkZGRkZGRkZGRkZGRkZGRgorWFhYWFhYWAkJCVlZWVlZWVlZWVlZCQlaWlpaWlpaWlpaWgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2ludmFsaWQtbXVsdGlieXRlIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL2ludmFsaWQtbXVsdGlieXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhNDBhMzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vaW52YWxpZC1tdWx0aWJ5dGUKQEAgLTAsMCArMSBAQAorXHhhMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL211bHRpLWZpbGUgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vbXVsdGktZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMGVlMzJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL211bHRpLWZpbGUKQEAgLTAsMCArMSwxMCBAQAorMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CTAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQkwIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUJMCAxIDIgMyA0IDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi9zZXBhcmF0b3JfdGFibGUgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vc2VwYXJhdG9yX3RhYmxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJmOTc0YzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vc2VwYXJhdG9yX3RhYmxlCkBAIC0wLDAgKzEsMTAgQEAKKzAgMSAgICAzIDQgNQorMCAxICAgIDMgNCA1CiswIDEgICAgMyA0IDUKKzAgMSAgICAzIDQgNQorMCAxICAgIDMgNCA1CiswIDEgICAgMyA0IDUKKzAgMSAgICAzIDQgNQorMCAxICAgIDMgNCA1CiswIDEgICAgMyA0IDUKKzAgMSAgICAzIDQgNQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1kZWZhdWx0IGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLWRlZmF1bHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWZjOTA1ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1kZWZhdWx0CkBAIC0wLDAgKzEsNiBAQAorQUFBICAgIEJCQkIgIEMgICAgIEREREQKK0EgICAgICBCQkIgICBDQ0NDICBEREQKK0FBICAgICBCQiAgICBDQ0MgICBERAorQUFBQSAgIEIgICAgIENDICAgIEQKK0FBICAgICBCQiAgICBDQyAgICBERAorQUFBQUEgIEJCQiAgIENDQyAgIEREREQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1lbXB0eS1jb2x1bW4gYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtZW1wdHktY29sdW1uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMzJkYTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtZW1wdHktY29sdW1uCkBAIC0wLDAgKzEgQEAKKzphOmIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1oZWFkZXJzIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLWhlYWRlcnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2Q4ZDY0MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1oZWFkZXJzCkBAIC0wLDAgKzEsNDIgQEAKK01BSk1JTiAgVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgVkZTLU9QVFMgICAgICAgICAgICAgICAgICAgICAgICAgUFJPUCAgICAgICAgVFlQRSAgICAgICAgICAgICBTT1VSQ0UgICAgICAgICAgICAgICAgRlMtT1BUUworMDoxNyAgICAvc3lzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6NiAgICBzeXNmcyAgICAgICAgICAgIHN5c2ZzICAgICAgICAgICAgICAgICBydworMDo0ICAgICAvcHJvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6NSAgICBwcm9jICAgICAgICAgICAgIHByb2MgICAgICAgICAgICAgICAgICBydworMDo2ICAgICAvZGV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQgICAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQ6MiAgICBkZXZ0bXBmcyAgICAgICAgIGRldnRtcGZzICAgICAgICAgICAgICBydyxzaXplPTgxNzU3NDBrLG5yX2lub2Rlcz0yMDQzOTM1LG1vZGU9NzU1CiswOjE4ICAgIC9zeXMva2VybmVsL3NlY3VyaXR5ICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIHNoYXJlZDo3ICAgIHNlY3VyaXR5ZnMgICAgICAgc2VjdXJpdHlmcyAgICAgICAgICAgIHJ3CiswOjE5ICAgIC9kZXYvc2htICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldiAgICAgICAgICAgICAgICAgIHNoYXJlZDozICAgIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3CiswOjIwICAgIC9kZXYvcHRzICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2V4ZWMscmVsYXRpbWUgICAgICAgIHNoYXJlZDo0ICAgIGRldnB0cyAgICAgICAgICAgZGV2cHRzICAgICAgICAgICAgICAgIHJ3LGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorMDoyMSAgICAvcnVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYgICAgICAgICAgICAgICAgICBzaGFyZWQ6MjMgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxtb2RlPTc1NQorMDoyMiAgICAvc3lzL2ZzL2Nncm91cCAgICAgICAgICAgICAgICAgICBybyxub3N1aWQsbm9kZXYsbm9leGVjICAgICAgICAgICBzaGFyZWQ6OCAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBybyxtb2RlPTc1NQorMDoyMyAgICAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6OSAgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyx4YXR0cixyZWxlYXNlX2FnZW50PS91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZAorMDoyNCAgICAvc3lzL2ZzL3BzdG9yZSAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MjAgICBwc3RvcmUgICAgICAgICAgIHBzdG9yZSAgICAgICAgICAgICAgICBydworMDoyNSAgICAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MjEgICBlZml2YXJmcyAgICAgICAgIGVmaXZhcmZzICAgICAgICAgICAgICBydworMDoyNiAgICAvc3lzL2ZzL2Nncm91cC9ibGtpbyAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTAgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxibGtpbworMDoyNyAgICAvc3lzL2ZzL2Nncm91cC9jcHUsY3B1YWNjdCAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTEgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxjcHUsY3B1YWNjdAorMDoyOCAgICAvc3lzL2ZzL2Nncm91cC9kZXZpY2VzICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTIgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxkZXZpY2VzCiswOjI5ICAgIC9zeXMvZnMvY2dyb3VwL2h1Z2V0bGIgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIHNoYXJlZDoxMyAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGh1Z2V0bGIKKzA6MzAgICAgL3N5cy9mcy9jZ3JvdXAvcGlkcyAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgc2hhcmVkOjE0ICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncscGlkcworMDozMSAgICAvc3lzL2ZzL2Nncm91cC9tZW1vcnkgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTUgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxtZW1vcnkKKzA6MzIgICAgL3N5cy9mcy9jZ3JvdXAvY3B1c2V0ICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgc2hhcmVkOjE2ICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsY3B1c2V0CiswOjMzICAgIC9zeXMvZnMvY2dyb3VwL3BlcmZfZXZlbnQgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIHNoYXJlZDoxNyAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LHBlcmZfZXZlbnQKKzA6MzQgICAgL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyxuZXRfcHJpbyAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgc2hhcmVkOjE4ICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbmV0X2NscyxuZXRfcHJpbworMDozNSAgICAvc3lzL2ZzL2Nncm91cC9mcmVlemVyICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTkgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxmcmVlemVyCiswOjM2ICAgIC9zeXMva2VybmVsL2NvbmZpZyAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDoyMiAgIGNvbmZpZ2ZzICAgICAgICAgY29uZmlnZnMgICAgICAgICAgICAgIHJ3Cis4OjQgICAgIC8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDoxICAgIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGE0ICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorMDozNyAgICAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQ6MjQgICBhdXRvZnMgICAgICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBydyxmZD0zNyxwZ3JwPTEsdGltZW91dD0wLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QscGlwZV9pbm89MTI3ODEKKzA6NyAgICAgL3N5cy9rZXJuZWwvZGVidWcgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjI1ICAgZGVidWdmcyAgICAgICAgICBkZWJ1Z2ZzICAgICAgICAgICAgICAgcncKKzA6MzggICAgL2Rldi9odWdlcGFnZXMgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjI2ICAgaHVnZXRsYmZzICAgICAgICBodWdldGxiZnMgICAgICAgICAgICAgcncKKzA6MTYgICAgL2Rldi9tcXVldWUgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjI3ICAgbXF1ZXVlICAgICAgICAgICBtcXVldWUgICAgICAgICAgICAgICAgcncKKzA6MzkgICAgL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjI4ICAgYmluZm10X21pc2MgICAgICBiaW5mbXRfbWlzYyAgICAgICAgICAgcncKKzA6NDAgICAgL3Byb2MvZnMvbmZzZCAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjI5ICAgbmZzZCAgICAgICAgICAgICBuZnNkICAgICAgICAgICAgICAgICAgcncKKzA6NDEgICAgL3RtcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2ICAgICAgICAgICAgICAgICAgc2hhcmVkOjMwICAgdG1wZnMgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncKKzg6MyAgICAgL2hvbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjMxICAgZXh0NCAgICAgICAgICAgICAvZGV2L3NkYTMgICAgICAgICAgICAgcncsZGF0YT1vcmRlcmVkCis4OjIgICAgIC9ib290ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDozMiAgIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGEyICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorODo1ICAgICAvaG9tZS9nYW1lcyAgICAgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQ6MzMgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhNSAgICAgICAgICAgICBydyxkYXRhPW9yZGVyZWQKKzg6MSAgICAgL2Jvb3QvZWZpICAgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjM0ICAgdmZhdCAgICAgICAgICAgICAvZGV2L3NkYTEgICAgICAgICAgICAgcncsZm1hc2s9MDA3NyxkbWFzaz0wMDc3LGNvZGVwYWdlPTQzNyxpb2NoYXJzZXQ9YXNjaWksc2hvcnRuYW1lPXdpbm50LGVycm9ycz1yZW1vdW50LXJvCis4OjE3ICAgIC9ob21lL2FyY2hpdmUgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDozNSAgIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGIxICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorMDo0MyAgICAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyAgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQ6MzYgICBycGNfcGlwZWZzICAgICAgIHN1bnJwYyAgICAgICAgICAgICAgICBydworMDo0NyAgICAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQ6MTYzICBmdXNlY3RsICAgICAgICAgIGZ1c2VjdGwgICAgICAgICAgICAgICBydworMDo0NiAgICAvcnVuL3VzZXIvMTAwMCAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUgICAgICAgICBzaGFyZWQ6MTU4ICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxzaXplPTE2MzczMjRrLG1vZGU9NzAwLHVpZD0xMDAwLGdpZD0xMDAwCiswOjQ1ICAgIC9ydW4vdXNlci8xMDAwL2d2ZnMgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSAgICAgICAgIHNoYXJlZDoxNTMgIGZ1c2UuZ3Zmc2QtZnVzZSAgZ3Zmc2QtZnVzZSAgICAgICAgICAgIHJ3LHVzZXJfaWQ9MTAwMCxncm91cF9pZD0xMDAwCiswOjQ0ICAgIC9ydW4vdXNlci8wICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSAgICAgICAgIHNoYXJlZDoxMTQgIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3LHNpemU9MTYzNzMyNGssbW9kZT03MDAKKzA6NDggICAgL21udC9zb3VuZHMgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjExOSAgY2lmcyAgICAgICAgICAgICAvL3NyLm5ldC5ob21lL3NvdW5kcyAgcncsdmVycz0xLjAsY2FjaGU9c3RyaWN0LHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSx1bml4LHBvc2l4cGF0aHMsc2VydmVyaW5vLG1hcHBvc2l4LGFjbCxyc2l6ZT0xMDQ4NTc2LHdzaXplPTY1NTM2LGVjaG9faW50ZXJ2YWw9NjAsYWN0aW1lbz0xCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtaGlkZSBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1oaWRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNzZmOTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtaGlkZQpAQCAtMCwwICsxLDQxIEBACisvc3lzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzeXNmcyAgICAgICAgICAgIHN5c2ZzICAgICAgICAgICAgICAgICBydworL3Byb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgcHJvYyAgICAgICAgICAgICBwcm9jICAgICAgICAgICAgICAgICAgcncKKy9kZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCAgICAgICAgICAgICAgICAgICAgICAgIGRldnRtcGZzICAgICAgICAgZGV2dG1wZnMgICAgICAgICAgICAgIHJ3LHNpemU9ODE3NTc0MGssbnJfaW5vZGVzPTIwNDM5MzUsbW9kZT03NTUKKy9zeXMva2VybmVsL3NlY3VyaXR5ICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIHNlY3VyaXR5ZnMgICAgICAgc2VjdXJpdHlmcyAgICAgICAgICAgIHJ3CisvZGV2L3NobSAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydworL2Rldi9wdHMgICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZXhlYyxyZWxhdGltZSAgICAgICAgZGV2cHRzICAgICAgICAgICBkZXZwdHMgICAgICAgICAgICAgICAgcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCisvcnVuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxtb2RlPTc1NQorL3N5cy9mcy9jZ3JvdXAgICAgICAgICAgICAgICAgICAgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyAgICAgICAgICAgdG1wZnMgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcm8sbW9kZT03NTUKKy9zeXMvZnMvY2dyb3VwL3N5c3RlbWQgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LHhhdHRyLHJlbGVhc2VfYWdlbnQ9L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCisvc3lzL2ZzL3BzdG9yZSAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBwc3RvcmUgICAgICAgICAgIHBzdG9yZSAgICAgICAgICAgICAgICBydworL3N5cy9maXJtd2FyZS9lZmkvZWZpdmFycyAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgZWZpdmFyZnMgICAgICAgICBlZml2YXJmcyAgICAgICAgICAgICAgcncKKy9zeXMvZnMvY2dyb3VwL2Jsa2lvICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGJsa2lvCisvc3lzL2ZzL2Nncm91cC9jcHUsY3B1YWNjdCAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxjcHUsY3B1YWNjdAorL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsZGV2aWNlcworL3N5cy9mcy9jZ3JvdXAvaHVnZXRsYiAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsaHVnZXRsYgorL3N5cy9mcy9jZ3JvdXAvcGlkcyAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncscGlkcworL3N5cy9mcy9jZ3JvdXAvbWVtb3J5ICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbWVtb3J5Cisvc3lzL2ZzL2Nncm91cC9jcHVzZXQgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxjcHVzZXQKKy9zeXMvZnMvY2dyb3VwL3BlcmZfZXZlbnQgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LHBlcmZfZXZlbnQKKy9zeXMvZnMvY2dyb3VwL25ldF9jbHMsbmV0X3ByaW8gIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5ldF9jbHMsbmV0X3ByaW8KKy9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGZyZWV6ZXIKKy9zeXMva2VybmVsL2NvbmZpZyAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZ2ZzICAgICAgICAgY29uZmlnZnMgICAgICAgICAgICAgIHJ3CisvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhNCAgICAgICAgICAgICBydyxkYXRhPW9yZGVyZWQKKy9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIGF1dG9mcyAgICAgICAgICAgc3lzdGVtZC0xICAgICAgICAgICAgIHJ3LGZkPTM3LHBncnA9MSx0aW1lb3V0PTAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdCxwaXBlX2lubz0xMjc4MQorL3N5cy9rZXJuZWwvZGVidWcgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgZGVidWdmcyAgICAgICAgICBkZWJ1Z2ZzICAgICAgICAgICAgICAgcncKKy9kZXYvaHVnZXBhZ2VzICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgaHVnZXRsYmZzICAgICAgICAgICAgIHJ3CisvZGV2L21xdWV1ZSAgICAgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICBydworL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgYmluZm10X21pc2MgICAgICBiaW5mbXRfbWlzYyAgICAgICAgICAgcncKKy9wcm9jL2ZzL25mc2QgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIG5mc2QgICAgICAgICAgICAgbmZzZCAgICAgICAgICAgICAgICAgIHJ3CisvdG1wICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydworL2hvbWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgZXh0NCAgICAgICAgICAgICAvZGV2L3NkYTMgICAgICAgICAgICAgcncsZGF0YT1vcmRlcmVkCisvYm9vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhMiAgICAgICAgICAgICBydyxkYXRhPW9yZGVyZWQKKy9ob21lL2dhbWVzICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGE1ICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorL2Jvb3QvZWZpICAgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgdmZhdCAgICAgICAgICAgICAvZGV2L3NkYTEgICAgICAgICAgICAgcncsZm1hc2s9MDA3NyxkbWFzaz0wMDc3LGNvZGVwYWdlPTQzNyxpb2NoYXJzZXQ9YXNjaWksc2hvcnRuYW1lPXdpbm50LGVycm9ycz1yZW1vdW50LXJvCisvaG9tZS9hcmNoaXZlICAgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RiMSAgICAgICAgICAgICBydyxkYXRhPW9yZGVyZWQKKy92YXIvbGliL25mcy9ycGNfcGlwZWZzICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHJwY19waXBlZnMgICAgICAgc3VucnBjICAgICAgICAgICAgICAgIHJ3Cisvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBmdXNlY3RsICAgICAgICAgIGZ1c2VjdGwgICAgICAgICAgICAgICBydworL3J1bi91c2VyLzEwMDAgICAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lICAgICAgICAgdG1wZnMgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncsc2l6ZT0xNjM3MzI0ayxtb2RlPTcwMCx1aWQ9MTAwMCxnaWQ9MTAwMAorL3J1bi91c2VyLzEwMDAvZ3ZmcyAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lICAgICAgICAgZnVzZS5ndmZzZC1mdXNlICBndmZzZC1mdXNlICAgICAgICAgICAgcncsdXNlcl9pZD0xMDAwLGdyb3VwX2lkPTEwMDAKKy9ydW4vdXNlci8wICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSAgICAgICAgIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3LHNpemU9MTYzNzMyNGssbW9kZT03MDAKKy9tbnQvc291bmRzICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIGNpZnMgICAgICAgICAgICAgLy9zci5uZXQuaG9tZS9zb3VuZHMgIHJ3LHZlcnM9MS4wLGNhY2hlPXN0cmljdCx1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEsdW5peCxwb3NpeHBhdGhzLHNlcnZlcmlubyxtYXBwb3NpeCxhY2wscnNpemU9MTA0ODU3Nix3c2l6ZT02NTUzNixlY2hvX2ludGVydmFsPTYwLGFjdGltZW89MQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLWlucHV0LXNlcGFyYXRvciBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1pbnB1dC1zZXBhcmF0b3IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc3ZTY0YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1pbnB1dC1zZXBhcmF0b3IKQEAgLTAsMCArMSw2IEBACitBQUEgICAgQkJCQiAgQyAgICAgRERERAorICAgICAgIEJCQiAgIENDQ0MgIERERAorQUEgICAgIEJCICAgICAgICAgIERECitBQUFBICAgQiAgICAgQ0MgICAgRAorQUEgICAgICAgICAgIENDICAgIERECitBQUFBQSAgQkJCICAgQ0NDICAgRERERCAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1pbnB1dC1zZXBhcmF0b3Itc3BhY2UgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtaW5wdXQtc2VwYXJhdG9yLXNwYWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3N2U2NGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtaW5wdXQtc2VwYXJhdG9yLXNwYWNlCkBAIC0wLDAgKzEsNiBAQAorQUFBICAgIEJCQkIgIEMgICAgIEREREQKKyAgICAgICBCQkIgICBDQ0NDICBEREQKK0FBICAgICBCQiAgICAgICAgICBERAorQUFBQSAgIEIgICAgIENDICAgIEQKK0FBICAgICAgICAgICBDQyAgICBERAorQUFBQUEgIEJCQiAgIENDQyAgIEREREQgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtbG9uZyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1sb25nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA3NTIzNjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtbG9uZwpAQCAtMCwwICsxLDQxIEBACisxNyAgIDYyICAgMDoxNyAgLyAgL3N5cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgc2hhcmVkOjYgICAgLSAgc3lzZnMgICAgICAgICAgICBzeXNmcyAgICAgICAgICAgICAgICAgcncKKzE4ICAgNjIgICAwOjQgICAvICAvcHJvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6NSAgICAtICBwcm9jICAgICAgICAgICAgIHByb2MgICAgICAgICAgICAgICAgICBydworMTkgICA2MiAgIDA6NiAgIC8gIC9kZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCAgICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDoyICAgIC0gIGRldnRtcGZzICAgICAgICAgZGV2dG1wZnMgICAgICAgICAgICAgIHJ3LHNpemU9ODE3NTc0MGssbnJfaW5vZGVzPTIwNDM5MzUsbW9kZT03NTUKKzIwICAgMTcgICAwOjE4ICAvICAvc3lzL2tlcm5lbC9zZWN1cml0eSAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6NyAgICAtICBzZWN1cml0eWZzICAgICAgIHNlY3VyaXR5ZnMgICAgICAgICAgICBydworMjEgICAxOSAgIDA6MTkgIC8gIC9kZXYvc2htICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldiAgICAgICAgICAgICAgICAgIHNoYXJlZDozICAgIC0gIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3CisyMiAgIDE5ICAgMDoyMCAgLyAgL2Rldi9wdHMgICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZXhlYyxyZWxhdGltZSAgICAgICAgc2hhcmVkOjQgICAgLSAgZGV2cHRzICAgICAgICAgICBkZXZwdHMgICAgICAgICAgICAgICAgcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCisyMyAgIDYyICAgMDoyMSAgLyAgL3J1biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2ICAgICAgICAgICAgICAgICAgc2hhcmVkOjIzICAgLSAgdG1wZnMgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncsbW9kZT03NTUKKzI0ICAgMTcgICAwOjIyICAvICAvc3lzL2ZzL2Nncm91cCAgICAgICAgICAgICAgICAgICBybyxub3N1aWQsbm9kZXYsbm9leGVjICAgICAgICAgICBzaGFyZWQ6OCAgICAtICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBybyxtb2RlPTc1NQorMjUgICAyNCAgIDA6MjMgIC8gIC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIHNoYXJlZDo5ICAgIC0gIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LHhhdHRyLHJlbGVhc2VfYWdlbnQ9L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCisyNiAgIDE3ICAgMDoyNCAgLyAgL3N5cy9mcy9wc3RvcmUgICAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgc2hhcmVkOjIwICAgLSAgcHN0b3JlICAgICAgICAgICBwc3RvcmUgICAgICAgICAgICAgICAgcncKKzI3ICAgMTcgICAwOjI1ICAvICAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MjEgICAtICBlZml2YXJmcyAgICAgICAgIGVmaXZhcmZzICAgICAgICAgICAgICBydworMjggICAyNCAgIDA6MjYgIC8gIC9zeXMvZnMvY2dyb3VwL2Jsa2lvICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIHNoYXJlZDoxMCAgIC0gIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGJsa2lvCisyOSAgIDI0ICAgMDoyNyAgLyAgL3N5cy9mcy9jZ3JvdXAvY3B1LGNwdWFjY3QgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgc2hhcmVkOjExICAgLSAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsY3B1LGNwdWFjY3QKKzMwICAgMjQgICAwOjI4ICAvICAvc3lzL2ZzL2Nncm91cC9kZXZpY2VzICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTIgICAtICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxkZXZpY2VzCiszMSAgIDI0ICAgMDoyOSAgLyAgL3N5cy9mcy9jZ3JvdXAvaHVnZXRsYiAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgc2hhcmVkOjEzICAgLSAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsaHVnZXRsYgorMzIgICAyNCAgIDA6MzAgIC8gIC9zeXMvZnMvY2dyb3VwL3BpZHMgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIHNoYXJlZDoxNCAgIC0gIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LHBpZHMKKzMzICAgMjQgICAwOjMxICAvICAvc3lzL2ZzL2Nncm91cC9tZW1vcnkgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTUgICAtICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxtZW1vcnkKKzM0ICAgMjQgICAwOjMyICAvICAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTYgICAtICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxjcHVzZXQKKzM1ICAgMjQgICAwOjMzICAvICAvc3lzL2ZzL2Nncm91cC9wZXJmX2V2ZW50ICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lICBzaGFyZWQ6MTcgICAtICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxwZXJmX2V2ZW50CiszNiAgIDI0ICAgMDozNCAgLyAgL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyxuZXRfcHJpbyAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAgc2hhcmVkOjE4ICAgLSAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbmV0X2NscyxuZXRfcHJpbworMzcgICAyNCAgIDA6MzUgIC8gIC9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgIHNoYXJlZDoxOSAgIC0gIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGZyZWV6ZXIKKzYwICAgMTcgICAwOjM2ICAvICAvc3lzL2tlcm5lbC9jb25maWcgICAgICAgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQ6MjIgICAtICBjb25maWdmcyAgICAgICAgIGNvbmZpZ2ZzICAgICAgICAgICAgICBydworNjIgICAwICAgIDg6NCAgIC8gIC8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDoxICAgIC0gIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGE0ICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorMzggICAxOCAgIDA6MzcgIC8gIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDoyNCAgIC0gIGF1dG9mcyAgICAgICAgICAgc3lzdGVtZC0xICAgICAgICAgICAgIHJ3LGZkPTM3LHBncnA9MSx0aW1lb3V0PTAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdCxwaXBlX2lubz0xMjc4MQorMzkgICAxNyAgIDA6NyAgIC8gIC9zeXMva2VybmVsL2RlYnVnICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDoyNSAgIC0gIGRlYnVnZnMgICAgICAgICAgZGVidWdmcyAgICAgICAgICAgICAgIHJ3Cis0MCAgIDE5ICAgMDozOCAgLyAgL2Rldi9odWdlcGFnZXMgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjI2ICAgLSAgaHVnZXRsYmZzICAgICAgICBodWdldGxiZnMgICAgICAgICAgICAgcncKKzQxICAgMTkgICAwOjE2ICAvICAvZGV2L21xdWV1ZSAgICAgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZSAgICAgICAgICAgICAgICAgICAgICBzaGFyZWQ6MjcgICAtICBtcXVldWUgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICBydworNDIgICAzOCAgIDA6MzkgIC8gIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDoyOCAgIC0gIGJpbmZtdF9taXNjICAgICAgYmluZm10X21pc2MgICAgICAgICAgIHJ3Cis3NSAgIDE4ICAgMDo0MCAgLyAgL3Byb2MvZnMvbmZzZCAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjI5ICAgLSAgbmZzZCAgICAgICAgICAgICBuZnNkICAgICAgICAgICAgICAgICAgcncKKzc3ICAgNjIgICAwOjQxICAvICAvdG1wICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYgICAgICAgICAgICAgICAgICBzaGFyZWQ6MzAgICAtICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydworODAgICA2MiAgIDg6MyAgIC8gIC9ob21lICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDozMSAgIC0gIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGEzICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorODEgICA2MiAgIDg6MiAgIC8gIC9ib290ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDozMiAgIC0gIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGEyICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorODQgICA4MCAgIDg6NSAgIC8gIC9ob21lL2dhbWVzICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDozMyAgIC0gIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGE1ICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorODYgICA4MSAgIDg6MSAgIC8gIC9ib290L2VmaSAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDozNCAgIC0gIHZmYXQgICAgICAgICAgICAgL2Rldi9zZGExICAgICAgICAgICAgIHJ3LGZtYXNrPTAwNzcsZG1hc2s9MDA3Nyxjb2RlcGFnZT00MzcsaW9jaGFyc2V0PWFzY2lpLHNob3J0bmFtZT13aW5udCxlcnJvcnM9cmVtb3VudC1ybworODggICA4MCAgIDg6MTcgIC8gIC9ob21lL2FyY2hpdmUgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDozNSAgIC0gIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGIxICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorOTAgICA2MiAgIDA6NDMgIC8gIC92YXIvbGliL25mcy9ycGNfcGlwZWZzICAgICAgICAgIHJ3LHJlbGF0aW1lICAgICAgICAgICAgICAgICAgICAgIHNoYXJlZDozNiAgIC0gIHJwY19waXBlZnMgICAgICAgc3VucnBjICAgICAgICAgICAgICAgIHJ3CisyMjMgIDE3ICAgMDo0NyAgLyAgL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjE2MyAgLSAgZnVzZWN0bCAgICAgICAgICBmdXNlY3RsICAgICAgICAgICAgICAgcncKKzIxNyAgMjMgICAwOjQ2ICAvICAvcnVuL3VzZXIvMTAwMCAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUgICAgICAgICBzaGFyZWQ6MTU4ICAtICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxzaXplPTE2MzczMjRrLG1vZGU9NzAwLHVpZD0xMDAwLGdpZD0xMDAwCisyMDMgIDIxNyAgMDo0NSAgLyAgL3J1bi91c2VyLzEwMDAvZ3ZmcyAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lICAgICAgICAgc2hhcmVkOjE1MyAgLSAgZnVzZS5ndmZzZC1mdXNlICBndmZzZC1mdXNlICAgICAgICAgICAgcncsdXNlcl9pZD0xMDAwLGdyb3VwX2lkPTEwMDAKKzE3MSAgMjMgICAwOjQ0ICAvICAvcnVuL3VzZXIvMCAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUgICAgICAgICBzaGFyZWQ6MTE0ICAtICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxzaXplPTE2MzczMjRrLG1vZGU9NzAwCisxNzcgIDYyICAgMDo0OCAgLyAgL21udC9zb3VuZHMgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUgICAgICAgICAgICAgICAgICAgICAgc2hhcmVkOjExOSAgLSAgY2lmcyAgICAgICAgICAgICAvL3NyLm5ldC5ob21lL3NvdW5kcyAgcncsdmVycz0xLjAsY2FjaGU9c3RyaWN0LHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSx1bml4LHBvc2l4cGF0aHMsc2VydmVyaW5vLG1hcHBvc2l4LGFjbCxyc2l6ZT0xMDQ4NTc2LHdzaXplPTY1NTM2LGVjaG9faW50ZXJ2YWw9NjAsYWN0aW1lbz0xCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtb3JkZXIgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtb3JkZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDMyZDNjOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS1vcmRlcgpAQCAtMCwwICsxLDQyIEBACitUQVJHRVQgICAgICAgICAgICAgICAgICAgICAgICAgICBTT1VSQ0UgICAgICAgICAgICAgICAgVFlQRSAgICAgICAgICAgICBWRlMtT1BUUworL3N5cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzZnMgICAgICAgICAgICAgICAgIHN5c2ZzICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3Byb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvYyAgICAgICAgICAgICAgICAgIHByb2MgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL2RldiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2dG1wZnMgICAgICAgICAgICAgIGRldnRtcGZzICAgICAgICAgcncsbm9zdWlkCisvc3lzL2tlcm5lbC9zZWN1cml0eSAgICAgICAgICAgICBzZWN1cml0eWZzICAgICAgICAgICAgc2VjdXJpdHlmcyAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCisvZGV2L3NobSAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYKKy9kZXYvcHRzICAgICAgICAgICAgICAgICAgICAgICAgIGRldnB0cyAgICAgICAgICAgICAgICBkZXZwdHMgICAgICAgICAgIHJ3LG5vc3VpZCxub2V4ZWMscmVsYXRpbWUKKy9ydW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldgorL3N5cy9mcy9jZ3JvdXAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYworL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9wc3RvcmUgICAgICAgICAgICAgICAgICAgcHN0b3JlICAgICAgICAgICAgICAgIHBzdG9yZSAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9maXJtd2FyZS9lZmkvZWZpdmFycyAgICAgICAgZWZpdmFyZnMgICAgICAgICAgICAgIGVmaXZhcmZzICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvYmxraW8gICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvY3B1LGNwdWFjY3QgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvaHVnZXRsYiAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvcGlkcyAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvbWVtb3J5ICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvY3B1c2V0ICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvcGVyZl9ldmVudCAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyxuZXRfcHJpbyAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9mcy9jZ3JvdXAvZnJlZXplciAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorL3N5cy9rZXJuZWwvY29uZmlnICAgICAgICAgICAgICAgY29uZmlnZnMgICAgICAgICAgICAgIGNvbmZpZ2ZzICAgICAgICAgcncscmVsYXRpbWUKKy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhNCAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCisvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgICAgICAgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICBydyxyZWxhdGltZQorL3N5cy9rZXJuZWwvZGVidWcgICAgICAgICAgICAgICAgZGVidWdmcyAgICAgICAgICAgICAgIGRlYnVnZnMgICAgICAgICAgcncscmVsYXRpbWUKKy9kZXYvaHVnZXBhZ2VzICAgICAgICAgICAgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgICAgICBodWdldGxiZnMgICAgICAgIHJ3LHJlbGF0aW1lCisvZGV2L21xdWV1ZSAgICAgICAgICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgICAgICAgbXF1ZXVlICAgICAgICAgICBydyxyZWxhdGltZQorL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjICAgICAgICAgYmluZm10X21pc2MgICAgICAgICAgIGJpbmZtdF9taXNjICAgICAgcncscmVsYXRpbWUKKy9wcm9jL2ZzL25mc2QgICAgICAgICAgICAgICAgICAgIG5mc2QgICAgICAgICAgICAgICAgICBuZnNkICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCisvdG1wICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYKKy9ob21lICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhMyAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCisvYm9vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAvZGV2L3NkYTIgICAgICAgICAgICAgZXh0NCAgICAgICAgICAgICBydyxyZWxhdGltZQorL2hvbWUvZ2FtZXMgICAgICAgICAgICAgICAgICAgICAgL2Rldi9zZGE1ICAgICAgICAgICAgIGV4dDQgICAgICAgICAgICAgcncscmVsYXRpbWUKKy9ib290L2VmaSAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhMSAgICAgICAgICAgICB2ZmF0ICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCisvaG9tZS9hcmNoaXZlICAgICAgICAgICAgICAgICAgICAvZGV2L3NkYjEgICAgICAgICAgICAgZXh0NCAgICAgICAgICAgICBydyxyZWxhdGltZQorL3Zhci9saWIvbmZzL3JwY19waXBlZnMgICAgICAgICAgc3VucnBjICAgICAgICAgICAgICAgIHJwY19waXBlZnMgICAgICAgcncscmVsYXRpbWUKKy9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyAgICAgICAgIGZ1c2VjdGwgICAgICAgICAgICAgICBmdXNlY3RsICAgICAgICAgIHJ3LHJlbGF0aW1lCisvcnVuL3VzZXIvMTAwMCAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUKKy9ydW4vdXNlci8xMDAwL2d2ZnMgICAgICAgICAgICAgIGd2ZnNkLWZ1c2UgICAgICAgICAgICBmdXNlLmd2ZnNkLWZ1c2UgIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZQorL3J1bi91c2VyLzAgICAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lCisvbW50L3NvdW5kcyAgICAgICAgICAgICAgICAgICAgICAvL3NyLm5ldC5ob21lL3NvdW5kcyAgY2lmcyAgICAgICAgICAgICBydyxyZWxhdGltZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLW91dHB1dC1zZXBhcmF0b3IgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtb3V0cHV0LXNlcGFyYXRvcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTE5OWRiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLW91dHB1dC1zZXBhcmF0b3IKQEAgLTAsMCArMSw2IEBACitBQUEgIHxCQkJCfEMgICB8RERERAorQSAgICB8QkJCIHxDQ0NDfERERAorQUEgICB8QkIgIHxDQ0MgfERECitBQUFBIHxCICAgfENDICB8RAorQUEgICB8QkIgIHxDQyAgfERECitBQUFBQXxCQkIgfENDQyB8RERERApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLXJpZ2h0IGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLXJpZ2h0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdiYjAxMjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtcmlnaHQKQEAgLTAsMCArMSw0MiBAQAorTUFKTUlOICBUQVJHRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRZUEUgICAgICAgICAgICAgICAgU09VUkNFCiswOjE3ICAgIC9zeXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNmcyAgICAgICAgICAgICAgICAgc3lzZnMKKzA6NCAgICAgL3Byb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jICAgICAgICAgICAgICAgICAgcHJvYworMDo2ICAgICAvZGV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2dG1wZnMgICAgICAgICAgICAgIGRldnRtcGZzCiswOjE4ICAgIC9zeXMva2VybmVsL3NlY3VyaXR5ICAgICAgICAgICAgICAgICAgc2VjdXJpdHlmcyAgICAgICAgICAgIHNlY3VyaXR5ZnMKKzA6MTkgICAgL2Rldi9zaG0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcworMDoyMCAgICAvZGV2L3B0cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZwdHMgICAgICAgICAgICAgICAgZGV2cHRzCiswOjIxICAgIC9ydW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMKKzA6MjIgICAgL3N5cy9mcy9jZ3JvdXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcworMDoyMyAgICAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kICAgICAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwCiswOjI0ICAgIC9zeXMvZnMvcHN0b3JlICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBzdG9yZSAgICAgICAgICAgICAgICBwc3RvcmUKKzA6MjUgICAgL3N5cy9maXJtd2FyZS9lZmkvZWZpdmFycyAgICAgICAgICAgICAgIGVmaXZhcmZzICAgICAgICAgICAgICBlZml2YXJmcworMDoyNiAgICAvc3lzL2ZzL2Nncm91cC9ibGtpbyAgICAgICAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwCiswOjI3ICAgIC9zeXMvZnMvY2dyb3VwL2NwdSxjcHVhY2N0ICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAKKzA6MjggICAgL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyAgICAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cAorMDoyOSAgICAvc3lzL2ZzL2Nncm91cC9odWdldGxiICAgICAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwCiswOjMwICAgIC9zeXMvZnMvY2dyb3VwL3BpZHMgICAgICAgICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAKKzA6MzEgICAgL3N5cy9mcy9jZ3JvdXAvbWVtb3J5ICAgICAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cAorMDozMiAgICAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgICAgICAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwCiswOjMzICAgIC9zeXMvZnMvY2dyb3VwL3BlcmZfZXZlbnQgICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAKKzA6MzQgICAgL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyxuZXRfcHJpbyAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cAorMDozNSAgICAvc3lzL2ZzL2Nncm91cC9mcmVlemVyICAgICAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwCiswOjM2ICAgIC9zeXMva2VybmVsL2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICBjb25maWdmcyAgICAgICAgICAgICAgY29uZmlnZnMKKzg6NCAgICAgLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhNAorMDozNyAgICAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgICAgICAgICAgICAgICAgICBhdXRvZnMgICAgICAgICAgICAgc3lzdGVtZC0xCiswOjcgICAgIC9zeXMva2VybmVsL2RlYnVnICAgICAgICAgICAgICAgICAgICAgICAgZGVidWdmcyAgICAgICAgICAgICAgIGRlYnVnZnMKKzA6MzggICAgL2Rldi9odWdlcGFnZXMgICAgICAgICAgICAgICAgICAgICAgICAgaHVnZXRsYmZzICAgICAgICAgICAgIGh1Z2V0bGJmcworMDoxNiAgICAvZGV2L21xdWV1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgICAgICAgbXF1ZXVlCiswOjM5ICAgIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgICAgICAgICAgICBiaW5mbXRfbWlzYyAgICAgICAgICAgYmluZm10X21pc2MKKzA6NDAgICAgL3Byb2MvZnMvbmZzZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuZnNkICAgICAgICAgICAgICAgICAgbmZzZAorMDo0MSAgICAvdG1wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHRtcGZzCis4OjMgICAgIC9ob21lICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0NCAgICAgICAgICAgICAvZGV2L3NkYTMKKzg6MiAgICAgL2Jvb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhMgorODo1ICAgICAvaG9tZS9nYW1lcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGE1Cis4OjEgICAgIC9ib290L2VmaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmZhdCAgICAgICAgICAgICAvZGV2L3NkYTEKKzg6MTcgICAgL2hvbWUvYXJjaGl2ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RiMQorMDo0MyAgICAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyAgICAgICAgICAgICAgIHJwY19waXBlZnMgICAgICAgICAgICAgICAgc3VucnBjCiswOjQ3ICAgIC9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyAgICAgICAgICAgICAgICAgZnVzZWN0bCAgICAgICAgICAgICAgIGZ1c2VjdGwKKzA6NDYgICAgL3J1bi91c2VyLzEwMDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcworMDo0NSAgICAvcnVuL3VzZXIvMTAwMC9ndmZzICAgICAgICAgICAgICBmdXNlLmd2ZnNkLWZ1c2UgICAgICAgICAgICBndmZzZC1mdXNlCiswOjQ0ICAgIC9ydW4vdXNlci8wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMKKzA6NDggICAgL21udC9zb3VuZHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjaWZzICAvL3NyLm5ldC5ob21lL3NvdW5kcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLXRyZWUgYi90ZXN0cy9leHBlY3RlZC9jb2x1bW4vdGFibGUtdHJlZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjExMTBiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLXRyZWUKQEAgLTAsMCArMSw0MiBAQAorVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU09VUkNFICAgICAgICAgICAgICAgIFRZUEUgICAgICAgICAgICAgVkZTLU9QVFMKKy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhNCAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9zeXMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNmcyAgICAgICAgICAgICAgICAgc3lzZnMgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwtL3N5cy9rZXJuZWwvc2VjdXJpdHkgICAgICAgICAgICAgICBzZWN1cml0eWZzICAgICAgICAgICAgc2VjdXJpdHlmcyAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwtL3N5cy9mcy9jZ3JvdXAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICBybyxub3N1aWQsbm9kZXYsbm9leGVjCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9zeXN0ZW1kICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9ibGtpbyAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9jcHUsY3B1YWNjdCAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9kZXZpY2VzICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9odWdldGxiICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9waWRzICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9tZW1vcnkgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9jcHVzZXQgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9wZXJmX2V2ZW50ICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9uZXRfY2xzLG5ldF9wcmlvICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwgYC0vc3lzL2ZzL2Nncm91cC9mcmVlemVyICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwtL3N5cy9mcy9wc3RvcmUgICAgICAgICAgICAgICAgICAgICBwc3RvcmUgICAgICAgICAgICAgICAgcHN0b3JlICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwtL3N5cy9maXJtd2FyZS9lZmkvZWZpdmFycyAgICAgICAgICBlZml2YXJmcyAgICAgICAgICAgICAgZWZpdmFyZnMgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwtL3N5cy9rZXJuZWwvY29uZmlnICAgICAgICAgICAgICAgICBjb25maWdmcyAgICAgICAgICAgICAgY29uZmlnZnMgICAgICAgICBydyxyZWxhdGltZQorfCB8LS9zeXMva2VybmVsL2RlYnVnICAgICAgICAgICAgICAgICAgZGVidWdmcyAgICAgICAgICAgICAgIGRlYnVnZnMgICAgICAgICAgcncscmVsYXRpbWUKK3wgYC0vc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgICAgICAgICAgIGZ1c2VjdGwgICAgICAgICAgICAgICBmdXNlY3RsICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9wcm9jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jICAgICAgICAgICAgICAgICAgcHJvYyAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCit8IHwtL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjICAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICBydyxyZWxhdGltZQorfCB8IGAtL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjICAgICAgICAgYmluZm10X21pc2MgICAgICAgICAgIGJpbmZtdF9taXNjICAgICAgcncscmVsYXRpbWUKK3wgYC0vcHJvYy9mcy9uZnNkICAgICAgICAgICAgICAgICAgICAgIG5mc2QgICAgICAgICAgICAgICAgICBuZnNkICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9kZXYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZ0bXBmcyAgICAgICAgICAgICAgZGV2dG1wZnMgICAgICAgICBydyxub3N1aWQKK3wgfC0vZGV2L3NobSAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldgorfCB8LS9kZXYvcHRzICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2cHRzICAgICAgICAgICAgICAgIGRldnB0cyAgICAgICAgICAgcncsbm9zdWlkLG5vZXhlYyxyZWxhdGltZQorfCB8LS9kZXYvaHVnZXBhZ2VzICAgICAgICAgICAgICAgICAgICAgaHVnZXRsYmZzICAgICAgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgcncscmVsYXRpbWUKK3wgYC0vZGV2L21xdWV1ZSAgICAgICAgICAgICAgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9ydW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYKK3wgfC0vcnVuL3VzZXIvMTAwMCAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZQorfCB8IGAtL3J1bi91c2VyLzEwMDAvZ3ZmcyAgICAgICAgICAgICAgZ3Zmc2QtZnVzZSAgICAgICAgICAgIGZ1c2UuZ3Zmc2QtZnVzZSAgcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lCit8IGAtL3J1bi91c2VyLzAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUKK3wtL3RtcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHJ3LG5vc3VpZCxub2RldgorfC0vaG9tZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2Rldi9zZGEzICAgICAgICAgICAgIGV4dDQgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wgfC0vaG9tZS9nYW1lcyAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhNSAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8IGAtL2hvbWUvYXJjaGl2ZSAgICAgICAgICAgICAgICAgICAgICAvZGV2L3NkYjEgICAgICAgICAgICAgZXh0NCAgICAgICAgICAgICBydyxyZWxhdGltZQorfC0vYm9vdCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2Rldi9zZGEyICAgICAgICAgICAgIGV4dDQgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wgYC0vYm9vdC9lZmkgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhMSAgICAgICAgICAgICB2ZmF0ICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS92YXIvbGliL25mcy9ycGNfcGlwZWZzICAgICAgICAgICAgICBzdW5ycGMgICAgICAgICAgICAgICAgcnBjX3BpcGVmcyAgICAgICBydyxyZWxhdGltZQorYC0vbW50L3NvdW5kcyAgICAgICAgICAgICAgICAgICAgICAgICAgLy9zci5uZXQuaG9tZS9zb3VuZHMgIGNpZnMgICAgICAgICAgICAgcncscmVsYXRpbWUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS10cnVuY2F0ZSBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS10cnVuY2F0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzQxZGNiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLXRydW5jYXRlCkBAIC0wLDAgKzEsNDIgQEAKK01BSk1JTiAgVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgVkZTLU9QVFMgIFBST1AgICAgICAgIFRZUEUgICAgICAgICAgICAgU09VUkNFICAgICAgICAgICAgICAgIEZTLU9QVFMKKzA6MTcgICAgL3N5cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDo2ICAgIHN5c2ZzICAgICAgICAgICAgc3lzZnMgICAgICAgICAgICAgICAgIHJ3CiswOjQgICAgIC9wcm9jICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpICBzaGFyZWQ6NSAgICBwcm9jICAgICAgICAgICAgIHByb2MgICAgICAgICAgICAgICAgICBydworMDo2ICAgICAvZGV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBydyxub3N1aSAgc2hhcmVkOjIgICAgZGV2dG1wZnMgICAgICAgICBkZXZ0bXBmcyAgICAgICAgICAgICAgcncsc2l6ZQorMDoxOCAgICAvc3lzL2tlcm5lbC9zZWN1cml0eSAgICAgICAgICAgICBydyxub3N1aSAgc2hhcmVkOjcgICAgc2VjdXJpdHlmcyAgICAgICBzZWN1cml0eWZzICAgICAgICAgICAgcncKKzA6MTkgICAgL2Rldi9zaG0gICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDozICAgIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3CiswOjIwICAgIC9kZXYvcHRzICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpICBzaGFyZWQ6NCAgICBkZXZwdHMgICAgICAgICAgIGRldnB0cyAgICAgICAgICAgICAgICBydyxnaWQ9CiswOjIxICAgIC9ydW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpICBzaGFyZWQ6MjMgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxtb2RlCiswOjIyICAgIC9zeXMvZnMvY2dyb3VwICAgICAgICAgICAgICAgICAgIHJvLG5vc3VpICBzaGFyZWQ6OCAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBybyxtb2RlCiswOjIzICAgIC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQgICAgICAgICAgIHJ3LG5vc3VpICBzaGFyZWQ6OSAgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyx4YXR0CiswOjI0ICAgIC9zeXMvZnMvcHN0b3JlICAgICAgICAgICAgICAgICAgIHJ3LG5vc3VpICBzaGFyZWQ6MjAgICBwc3RvcmUgICAgICAgICAgIHBzdG9yZSAgICAgICAgICAgICAgICBydworMDoyNSAgICAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzICAgICAgICBydyxub3N1aSAgc2hhcmVkOjIxICAgZWZpdmFyZnMgICAgICAgICBlZml2YXJmcyAgICAgICAgICAgICAgcncKKzA6MjYgICAgL3N5cy9mcy9jZ3JvdXAvYmxraW8gICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxMCAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGJsa2kKKzA6MjcgICAgL3N5cy9mcy9jZ3JvdXAvY3B1LGNwdWFjY3QgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxMSAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGNwdSwKKzA6MjggICAgL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxMiAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGRldmkKKzA6MjkgICAgL3N5cy9mcy9jZ3JvdXAvaHVnZXRsYiAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxMyAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGh1Z2UKKzA6MzAgICAgL3N5cy9mcy9jZ3JvdXAvcGlkcyAgICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxNCAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LHBpZHMKKzA6MzEgICAgL3N5cy9mcy9jZ3JvdXAvbWVtb3J5ICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxNSAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG1lbW8KKzA6MzIgICAgL3N5cy9mcy9jZ3JvdXAvY3B1c2V0ICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxNiAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGNwdXMKKzA6MzMgICAgL3N5cy9mcy9jZ3JvdXAvcGVyZl9ldmVudCAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxNyAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LHBlcmYKKzA6MzQgICAgL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyxuZXRfcHJpbyAgcncsbm9zdWkgIHNoYXJlZDoxOCAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5ldF8KKzA6MzUgICAgL3N5cy9mcy9jZ3JvdXAvZnJlZXplciAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxOSAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGZyZWUKKzA6MzYgICAgL3N5cy9rZXJuZWwvY29uZmlnICAgICAgICAgICAgICAgcncscmVsYXQgIHNoYXJlZDoyMiAgIGNvbmZpZ2ZzICAgICAgICAgY29uZmlnZnMgICAgICAgICAgICAgIHJ3Cis4OjQgICAgIC8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MSAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhNCAgICAgICAgICAgICBydyxkYXRhCiswOjM3ICAgIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MjQgICBhdXRvZnMgICAgICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBydyxmZD0zCiswOjcgICAgIC9zeXMva2VybmVsL2RlYnVnICAgICAgICAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MjUgICBkZWJ1Z2ZzICAgICAgICAgIGRlYnVnZnMgICAgICAgICAgICAgICBydworMDozOCAgICAvZGV2L2h1Z2VwYWdlcyAgICAgICAgICAgICAgICAgICBydyxyZWxhdCAgc2hhcmVkOjI2ICAgaHVnZXRsYmZzICAgICAgICBodWdldGxiZnMgICAgICAgICAgICAgcncKKzA6MTYgICAgL2Rldi9tcXVldWUgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXQgIHNoYXJlZDoyNyAgIG1xdWV1ZSAgICAgICAgICAgbXF1ZXVlICAgICAgICAgICAgICAgIHJ3CiswOjM5ICAgIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MjggICBiaW5mbXRfbWlzYyAgICAgIGJpbmZtdF9taXNjICAgICAgICAgICBydworMDo0MCAgICAvcHJvYy9mcy9uZnNkICAgICAgICAgICAgICAgICAgICBydyxyZWxhdCAgc2hhcmVkOjI5ICAgbmZzZCAgICAgICAgICAgICBuZnNkICAgICAgICAgICAgICAgICAgcncKKzA6NDEgICAgL3RtcCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDozMCAgIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3Cis4OjMgICAgIC9ob21lICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MzEgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhMyAgICAgICAgICAgICBydyxkYXRhCis4OjIgICAgIC9ib290ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MzIgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhMiAgICAgICAgICAgICBydyxkYXRhCis4OjUgICAgIC9ob21lL2dhbWVzICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MzMgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhNSAgICAgICAgICAgICBydyxkYXRhCis4OjEgICAgIC9ib290L2VmaSAgICAgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MzQgICB2ZmF0ICAgICAgICAgICAgIC9kZXYvc2RhMSAgICAgICAgICAgICBydyxmbWFzCis4OjE3ICAgIC9ob21lL2FyY2hpdmUgICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MzUgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RiMSAgICAgICAgICAgICBydyxkYXRhCiswOjQzICAgIC92YXIvbGliL25mcy9ycGNfcGlwZWZzICAgICAgICAgIHJ3LHJlbGF0ICBzaGFyZWQ6MzYgICBycGNfcGlwZWZzICAgICAgIHN1bnJwYyAgICAgICAgICAgICAgICBydworMDo0NyAgICAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgICAgICAgICBydyxyZWxhdCAgc2hhcmVkOjE2MyAgZnVzZWN0bCAgICAgICAgICBmdXNlY3RsICAgICAgICAgICAgICAgcncKKzA6NDYgICAgL3J1bi91c2VyLzEwMDAgICAgICAgICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxNTggIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3LHNpemUKKzA6NDUgICAgL3J1bi91c2VyLzEwMDAvZ3ZmcyAgICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxNTMgIGZ1c2UuZ3Zmc2QtZnVzZSAgZ3Zmc2QtZnVzZSAgICAgICAgICAgIHJ3LHVzZXIKKzA6NDQgICAgL3J1bi91c2VyLzAgICAgICAgICAgICAgICAgICAgICAgcncsbm9zdWkgIHNoYXJlZDoxMTQgIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3LHNpemUKKzA6NDggICAgL21udC9zb3VuZHMgICAgICAgICAgICAgICAgICAgICAgcncscmVsYXQgIHNoYXJlZDoxMTkgIGNpZnMgICAgICAgICAgICAgLy9zci5uZXQuaG9tZS9zb3VuZHMgIHJ3LHZlcnMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS13cmFwIGIvdGVzdHMvZXhwZWN0ZWQvY29sdW1uL3RhYmxlLXdyYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc1ODVkZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NvbHVtbi90YWJsZS13cmFwCkBAIC0wLDAgKzEsNTYgQEAKK01BSk1JTiAgVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgVFlQRSAgICAgICAgICAgICBTT1VSQ0UgICAgICAgICAgICAgICAgRlMtT1BUUworMDoxNyAgICAvc3lzICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNmcyAgICAgICAgICAgIHN5c2ZzICAgICAgICAgICAgICAgICBydworMDo0ICAgICAvcHJvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9jICAgICAgICAgICAgIHByb2MgICAgICAgICAgICAgICAgICBydworMDo2ICAgICAvZGV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZ0bXBmcyAgICAgICAgIGRldnRtcGZzICAgICAgICAgICAgICBydyxzaXplPTgxNzU3NDBrLG5yX2lub2Rlcz0yMDQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMzkzNSxtb2RlPTc1NQorMDoxOCAgICAvc3lzL2tlcm5lbC9zZWN1cml0eSAgICAgICAgICAgICBzZWN1cml0eWZzICAgICAgIHNlY3VyaXR5ZnMgICAgICAgICAgICBydworMDoxOSAgICAvZGV2L3NobSAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydworMDoyMCAgICAvZGV2L3B0cyAgICAgICAgICAgICAgICAgICAgICAgICBkZXZwdHMgICAgICAgICAgIGRldnB0cyAgICAgICAgICAgICAgICBydyxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKKzA6MjEgICAgL3J1biAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncsbW9kZT03NTUKKzA6MjIgICAgL3N5cy9mcy9jZ3JvdXAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcm8sbW9kZT03NTUKKzA6MjMgICAgL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncseGF0dHIscmVsZWFzZV9hZ2VudD0vdXNyL2xpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0LG5hbWU9c3lzdGVtZAorMDoyNCAgICAvc3lzL2ZzL3BzdG9yZSAgICAgICAgICAgICAgICAgICBwc3RvcmUgICAgICAgICAgIHBzdG9yZSAgICAgICAgICAgICAgICBydworMDoyNSAgICAvc3lzL2Zpcm13YXJlL2VmaS9lZml2YXJzICAgICAgICBlZml2YXJmcyAgICAgICAgIGVmaXZhcmZzICAgICAgICAgICAgICBydworMDoyNiAgICAvc3lzL2ZzL2Nncm91cC9ibGtpbyAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxibGtpbworMDoyNyAgICAvc3lzL2ZzL2Nncm91cC9jcHUsY3B1YWNjdCAgICAgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxjcHUsY3B1YWNjdAorMDoyOCAgICAvc3lzL2ZzL2Nncm91cC9kZXZpY2VzICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxkZXZpY2VzCiswOjI5ICAgIC9zeXMvZnMvY2dyb3VwL2h1Z2V0bGIgICAgICAgICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LGh1Z2V0bGIKKzA6MzAgICAgL3N5cy9mcy9jZ3JvdXAvcGlkcyAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncscGlkcworMDozMSAgICAvc3lzL2ZzL2Nncm91cC9tZW1vcnkgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxtZW1vcnkKKzA6MzIgICAgL3N5cy9mcy9jZ3JvdXAvY3B1c2V0ICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsY3B1c2V0CiswOjMzICAgIC9zeXMvZnMvY2dyb3VwL3BlcmZfZXZlbnQgICAgICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LHBlcmZfZXZlbnQKKzA6MzQgICAgL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyxuZXRfcHJpbyAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbmV0X2NscyxuZXRfcHJpbworMDozNSAgICAvc3lzL2ZzL2Nncm91cC9mcmVlemVyICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxmcmVlemVyCiswOjM2ICAgIC9zeXMva2VybmVsL2NvbmZpZyAgICAgICAgICAgICAgIGNvbmZpZ2ZzICAgICAgICAgY29uZmlnZnMgICAgICAgICAgICAgIHJ3Cis4OjQgICAgIC8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGE0ICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorMDozNyAgICAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgICAgICAgICBhdXRvZnMgICAgICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBydyxmZD0zNyxwZ3JwPTEsdGltZW91dD0wLG1pbnAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm90bz01LG1heHByb3RvPTUsZGlyZWN0LHBpcGVfCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubz0xMjc4MQorMDo3ICAgICAvc3lzL2tlcm5lbC9kZWJ1ZyAgICAgICAgICAgICAgICBkZWJ1Z2ZzICAgICAgICAgIGRlYnVnZnMgICAgICAgICAgICAgICBydworMDozOCAgICAvZGV2L2h1Z2VwYWdlcyAgICAgICAgICAgICAgICAgICBodWdldGxiZnMgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgICAgICBydworMDoxNiAgICAvZGV2L21xdWV1ZSAgICAgICAgICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICBydworMDozOSAgICAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgICAgICAgICBiaW5mbXRfbWlzYyAgICAgIGJpbmZtdF9taXNjICAgICAgICAgICBydworMDo0MCAgICAvcHJvYy9mcy9uZnNkICAgICAgICAgICAgICAgICAgICBuZnNkICAgICAgICAgICAgIG5mc2QgICAgICAgICAgICAgICAgICBydworMDo0MSAgICAvdG1wICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydworODozICAgICAvaG9tZSAgICAgICAgICAgICAgICAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RhMyAgICAgICAgICAgICBydyxkYXRhPW9yZGVyZWQKKzg6MiAgICAgL2Jvb3QgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXh0NCAgICAgICAgICAgICAvZGV2L3NkYTIgICAgICAgICAgICAgcncsZGF0YT1vcmRlcmVkCis4OjUgICAgIC9ob21lL2dhbWVzICAgICAgICAgICAgICAgICAgICAgIGV4dDQgICAgICAgICAgICAgL2Rldi9zZGE1ICAgICAgICAgICAgIHJ3LGRhdGE9b3JkZXJlZAorODoxICAgICAvYm9vdC9lZmkgICAgICAgICAgICAgICAgICAgICAgICB2ZmF0ICAgICAgICAgICAgIC9kZXYvc2RhMSAgICAgICAgICAgICBydyxmbWFzaz0wMDc3LGRtYXNrPTAwNzcsY29kZXAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWdlPTQzNyxpb2NoYXJzZXQ9YXNjaWksc2hvcnRuCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFtZT13aW5udCxlcnJvcnM9cmVtb3VudC1ybworODoxNyAgICAvaG9tZS9hcmNoaXZlICAgICAgICAgICAgICAgICAgICBleHQ0ICAgICAgICAgICAgIC9kZXYvc2RiMSAgICAgICAgICAgICBydyxkYXRhPW9yZGVyZWQKKzA6NDMgICAgL3Zhci9saWIvbmZzL3JwY19waXBlZnMgICAgICAgICAgcnBjX3BpcGVmcyAgICAgICBzdW5ycGMgICAgICAgICAgICAgICAgcncKKzA6NDcgICAgL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zICAgICAgICAgZnVzZWN0bCAgICAgICAgICBmdXNlY3RsICAgICAgICAgICAgICAgcncKKzA6NDYgICAgL3J1bi91c2VyLzEwMDAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncsc2l6ZT0xNjM3MzI0ayxtb2RlPTcwMCx1aWQ9CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMDAsZ2lkPTEwMDAKKzA6NDUgICAgL3J1bi91c2VyLzEwMDAvZ3ZmcyAgICAgICAgICAgICAgZnVzZS5ndmZzZC1mdXNlICBndmZzZC1mdXNlICAgICAgICAgICAgcncsdXNlcl9pZD0xMDAwLGdyb3VwX2lkPTEwMDAKKzA6NDQgICAgL3J1bi91c2VyLzAgICAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncsc2l6ZT0xNjM3MzI0ayxtb2RlPTcwMAorMDo0OCAgICAvbW50L3NvdW5kcyAgICAgICAgICAgICAgICAgICAgICBjaWZzICAgICAgICAgICAgIC8vc3IubmV0LmhvbWUvc291bmRzICBydyx2ZXJzPTEuMCxjYWNoZT1zdHJpY3QsdXNlcm4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcj0xOTIuMTY4LjExMS4xLHVuaXgscG9zaXhwYXQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaHMsc2VydmVyaW5vLG1hcHBvc2l4LGFjbCxyc2l6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGU9MTA0ODU3Nix3c2l6ZT02NTUzNixlY2hvX2ludAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBlcnZhbD02MCxhY3RpbWVvPTEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9kb3VibGVzIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2RvdWJsZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTY0MWM2NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9kb3VibGVzCkBAIC0wLDAgKzEsMyBAQAorY3JlYXRlIG1vdW50cG9pbnQgZGlyCitjcmVhdGUgY3JhbWZzIGltYWdlCit1bW91bnQgdGhlIGltYWdlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1iYWQtaGVhZGVyLW5vcGFkLTRLLWJlIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2ZzY2stYmFkLWhlYWRlci1ub3BhZC00Sy1iZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTdkMWJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2ZzY2stYmFkLWhlYWRlci1ub3BhZC00Sy1iZQpAQCAtMCwwICsxLDI5IEBACisjIyBzaXplOiAwCitmc2NrLmNyYW1mczogc3VwZXJibG9jayBzaXplICgwKSB0b28gc21hbGwKK3JldDogNAorCisjIyBzaXplOiA3NQorZnNjay5jcmFtZnM6IHN1cGVyYmxvY2sgc2l6ZSAoNzUpIHRvbyBzbWFsbAorcmV0OiA0CisKKyMjIHNpemU6IDc2Citmc2NrLmNyYW1mczogZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0KK2ZzY2suY3JhbWZzOiBjcmMgZXJyb3IKK3JldDogNAorCisjIyBzaXplOiA0MDk1Citmc2NrLmNyYW1mczogZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0KK2ZzY2suY3JhbWZzOiBjcmMgZXJyb3IKK3JldDogNAorCisjIyBzaXplOiA0MDk2CityZXQ6IDAKKworIyMgc2l6ZTogNDA5NworZnNjay5jcmFtZnM6IGZpbGUgbGVuZ3RoIHRvbyBzaG9ydAorcmV0OiA0CisKKyMjIHNpemU6IDQyOTQ5NjcyOTUKK2ZzY2suY3JhbWZzOiBmaWxlIGxlbmd0aCB0b28gc2hvcnQKK3JldDogNAorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1iYWQtaGVhZGVyLW5vcGFkLTRLLWxlIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2ZzY2stYmFkLWhlYWRlci1ub3BhZC00Sy1sZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTdkMWJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2ZzY2stYmFkLWhlYWRlci1ub3BhZC00Sy1sZQpAQCAtMCwwICsxLDI5IEBACisjIyBzaXplOiAwCitmc2NrLmNyYW1mczogc3VwZXJibG9jayBzaXplICgwKSB0b28gc21hbGwKK3JldDogNAorCisjIyBzaXplOiA3NQorZnNjay5jcmFtZnM6IHN1cGVyYmxvY2sgc2l6ZSAoNzUpIHRvbyBzbWFsbAorcmV0OiA0CisKKyMjIHNpemU6IDc2Citmc2NrLmNyYW1mczogZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0KK2ZzY2suY3JhbWZzOiBjcmMgZXJyb3IKK3JldDogNAorCisjIyBzaXplOiA0MDk1Citmc2NrLmNyYW1mczogZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0KK2ZzY2suY3JhbWZzOiBjcmMgZXJyb3IKK3JldDogNAorCisjIyBzaXplOiA0MDk2CityZXQ6IDAKKworIyMgc2l6ZTogNDA5NworZnNjay5jcmFtZnM6IGZpbGUgbGVuZ3RoIHRvbyBzaG9ydAorcmV0OiA0CisKKyMjIHNpemU6IDQyOTQ5NjcyOTUKK2ZzY2suY3JhbWZzOiBmaWxlIGxlbmd0aCB0b28gc2hvcnQKK3JldDogNAorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1iYWQtaGVhZGVyLXBhZC00Sy1iZSBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9mc2NrLWJhZC1oZWFkZXItcGFkLTRLLWJlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlMjMxNjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1iYWQtaGVhZGVyLXBhZC00Sy1iZQpAQCAtMCwwICsxLDI5IEBACisjIyBzaXplOiA3NgorZnNjay5jcmFtZnM6IHN1cGVyYmxvY2sgc2l6ZSAoNzYpIHRvbyBzbWFsbAorcmV0OiA0CisKKyMjIHNpemU6IDU4NworZnNjay5jcmFtZnM6IHN1cGVyYmxvY2sgc2l6ZSAoNTg3KSB0b28gc21hbGwKK3JldDogNAorCisjIyBzaXplOiA1ODgKK2ZzY2suY3JhbWZzOiBmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbQorZnNjay5jcmFtZnM6IGNyYyBlcnJvcgorcmV0OiA0CisKKyMjIHNpemU6IDQwOTUKK2ZzY2suY3JhbWZzOiBmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbQorZnNjay5jcmFtZnM6IGNyYyBlcnJvcgorcmV0OiA0CisKKyMjIHNpemU6IDQwOTYKK3JldDogMAorCisjIyBzaXplOiA0MDk3Citmc2NrLmNyYW1mczogZmlsZSBsZW5ndGggdG9vIHNob3J0CityZXQ6IDQKKworIyMgc2l6ZTogNDI5NDk2NzI5NQorZnNjay5jcmFtZnM6IGZpbGUgbGVuZ3RoIHRvbyBzaG9ydAorcmV0OiA0CisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9mc2NrLWJhZC1oZWFkZXItcGFkLTRLLWxlIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2ZzY2stYmFkLWhlYWRlci1wYWQtNEstbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGUyMzE2MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9mc2NrLWJhZC1oZWFkZXItcGFkLTRLLWxlCkBAIC0wLDAgKzEsMjkgQEAKKyMjIHNpemU6IDc2Citmc2NrLmNyYW1mczogc3VwZXJibG9jayBzaXplICg3NikgdG9vIHNtYWxsCityZXQ6IDQKKworIyMgc2l6ZTogNTg3Citmc2NrLmNyYW1mczogc3VwZXJibG9jayBzaXplICg1ODcpIHRvbyBzbWFsbAorcmV0OiA0CisKKyMjIHNpemU6IDU4OAorZnNjay5jcmFtZnM6IGZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtCitmc2NrLmNyYW1mczogY3JjIGVycm9yCityZXQ6IDQKKworIyMgc2l6ZTogNDA5NQorZnNjay5jcmFtZnM6IGZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtCitmc2NrLmNyYW1mczogY3JjIGVycm9yCityZXQ6IDQKKworIyMgc2l6ZTogNDA5NgorcmV0OiAwCisKKyMjIHNpemU6IDQwOTcKK2ZzY2suY3JhbWZzOiBmaWxlIGxlbmd0aCB0b28gc2hvcnQKK3JldDogNAorCisjIyBzaXplOiA0Mjk0OTY3Mjk1Citmc2NrLmNyYW1mczogZmlsZSBsZW5ndGggdG9vIHNob3J0CityZXQ6IDQKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2ZzY2stYmFkLWhlYWRlci1wYWQtNjRLLWJlIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL2ZzY2stYmFkLWhlYWRlci1wYWQtNjRLLWJlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1ZDRmZjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1iYWQtaGVhZGVyLXBhZC02NEstYmUKQEAgLTAsMCArMSwyOSBAQAorIyMgc2l6ZTogNzYKK2ZzY2suY3JhbWZzOiBzdXBlcmJsb2NrIHNpemUgKDc2KSB0b28gc21hbGwKK3JldDogNAorCisjIyBzaXplOiA1ODcKK2ZzY2suY3JhbWZzOiBzdXBlcmJsb2NrIHNpemUgKDU4NykgdG9vIHNtYWxsCityZXQ6IDQKKworIyMgc2l6ZTogNTg4Citmc2NrLmNyYW1mczogZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0KK2ZzY2suY3JhbWZzOiBjcmMgZXJyb3IKK3JldDogNAorCisjIyBzaXplOiA2NTUzNQorZnNjay5jcmFtZnM6IGZpbGUgZXh0ZW5kcyBwYXN0IGVuZCBvZiBmaWxlc3lzdGVtCitmc2NrLmNyYW1mczogY3JjIGVycm9yCityZXQ6IDQKKworIyMgc2l6ZTogNjU1MzYKK3JldDogMAorCisjIyBzaXplOiA2NTUzNworZnNjay5jcmFtZnM6IGZpbGUgbGVuZ3RoIHRvbyBzaG9ydAorcmV0OiA0CisKKyMjIHNpemU6IDQyOTQ5NjcyOTUKK2ZzY2suY3JhbWZzOiBmaWxlIGxlbmd0aCB0b28gc2hvcnQKK3JldDogNAorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1iYWQtaGVhZGVyLXBhZC02NEstbGUgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1iYWQtaGVhZGVyLXBhZC02NEstbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTVkNGZmMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9mc2NrLWJhZC1oZWFkZXItcGFkLTY0Sy1sZQpAQCAtMCwwICsxLDI5IEBACisjIyBzaXplOiA3NgorZnNjay5jcmFtZnM6IHN1cGVyYmxvY2sgc2l6ZSAoNzYpIHRvbyBzbWFsbAorcmV0OiA0CisKKyMjIHNpemU6IDU4NworZnNjay5jcmFtZnM6IHN1cGVyYmxvY2sgc2l6ZSAoNTg3KSB0b28gc21hbGwKK3JldDogNAorCisjIyBzaXplOiA1ODgKK2ZzY2suY3JhbWZzOiBmaWxlIGV4dGVuZHMgcGFzdCBlbmQgb2YgZmlsZXN5c3RlbQorZnNjay5jcmFtZnM6IGNyYyBlcnJvcgorcmV0OiA0CisKKyMjIHNpemU6IDY1NTM1Citmc2NrLmNyYW1mczogZmlsZSBleHRlbmRzIHBhc3QgZW5kIG9mIGZpbGVzeXN0ZW0KK2ZzY2suY3JhbWZzOiBjcmMgZXJyb3IKK3JldDogNAorCisjIyBzaXplOiA2NTUzNgorcmV0OiAwCisKKyMjIHNpemU6IDY1NTM3Citmc2NrLmNyYW1mczogZmlsZSBsZW5ndGggdG9vIHNob3J0CityZXQ6IDQKKworIyMgc2l6ZTogNDI5NDk2NzI5NQorZnNjay5jcmFtZnM6IGZpbGUgbGVuZ3RoIHRvbyBzaG9ydAorcmV0OiA0CisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9mc2NrLWVuZGlhbm5lc3MgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1lbmRpYW5uZXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3NTkxYjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvZnNjay1lbmRpYW5uZXNzCkBAIC0wLDAgKzEsOCBAQAorZXh0cmFjdCBmcm9tIGxpdHRsZSBlbmRpYW4KK2xpdHRsZQorY3JlYXRlIGJpZyBlbmRpYW4KK2JjMGI3YmJlZjAyNzY1ZDMyZTA3ZmFhNzM1ZDJlMGM2CitleHRyYWN0IGZyb20gYmlnIGVuZGlhbgorYmlnCitjcmVhdGUgbGl0dGxlIGVuZGlhbgorNDY2NmYwZDJiNjYxZjlmMzk2Mjg3N2VkYWJhZGIyMTAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9ta2ZzIGIvdGVzdHMvZXhwZWN0ZWQvY3JhbWZzL21rZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWM0NDA5NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9ta2ZzCkBAIC0wLDAgKzEsNDEyNCBAQAorY3JlYXRlIG1vdW50cG9pbnQgZGlyCitnZW5lcmF0ZSBkYXRhCitsaXN0IGNoZWNrc3VtcyBmcm9tIG9yaWdpbmFsIGRhdGEKKzAwMTFhNzJmMzhkYTY2OGY5NGVkZmExZDUwNzQzZTJhICAuL2Rpci0wMDkvZGF0YS4wMDkKKzAwNzFiZWI0YmFhNTk5MTQxYTdlNDQ2MzM0ZDU4MzAwICAuL2Rpci0wOTcvZGF0YS4wMDEKKzAwODczYzg3NWYzNDYxZmI5ZjViYWE5YTAzOWYyMThmICAuL2Rpci0wOTMvZGF0YS4wMDIKKzAxMjBmYjgxMjY5NTk4NDM4ZTg0ZjNmZTEwYjI0NjU4ICAuL2Rpci0xMDAvZGF0YS4wMTAKKzAxM2I4YWU1YzRiMDExYjg3YjE0MmU1ZDYwNjQ1Zjk4ICAuL2Rpci0wMjAvZGF0YS4wMTAKKzAxNjc3OTE0NjJmZmNhYmE4YzIyMTQyNmMyNWNmNDU1ICAuL2Rpci0wOTIvZGF0YS4wMDAKKzAxOTM2YzM3MTY5Y2M3ODZjZGM3MjRhYmJmMTk2MWUzICAuL2Rpci0wOTQvZGF0YS4wMDMKKzAxZTVhOGJlZTg2NGY5OWJjZmRlOTFiMmY1MDFmYTU2ICAuL2Rpci0wNjIvZGF0YS4wMDQKKzAyNGIxZDRjYjkzNjYwZjEyNWU2ZjQ3ODNlMjY5NzJjICAuL2Rpci0wNzIvZGF0YS4wMDMKKzAyOWMxMTk5ZDE2YmM4ZGEyYWZkMmZlMWM0N2I2ODU5ICAuL2Rpci0wNzcvZGF0YS4wMDEKKzAyYTFjMGE4Mjc3MWM1OTIzNmViOWYzMzdkZDBiNGRhICAuL2Rpci0wNzMvZGF0YS4wMDAKKzAzMmNkYjFhYzIyM2FkZjllZDQ1Mjc4ZTY0ZjI2NWYwICAuL2Rpci0wODMvZGF0YS4wMDcKKzAzNjU1ZDA4MWNlNTY3YTRkNWZjOGUwYzNkYzU5ZTNhICAuL2Rpci0wODUvZGF0YS4wMDYKKzAzOTdlMDFjZjY4MDU3MjgyNTZmYTkyNzJhYjY3MmM0ICAuL2Rpci0wNjIvZGF0YS4wMDMKKzAzYTU4Y2VjNThmN2I3NGMwZDg4MDNlNWEwNWRhMjBkICAuL2Rpci0xMDcvZGF0YS4wMDQKKzAzYjNiMTY1NDdiMjVlOTQ4NGM1MTZmNWU4OGU1Yzc1ICAuL2Rpci0wODkvZGF0YS4wMDYKKzAzYjRlZDcwZjk2ZDVjNjkzYmNmN2Y1YTQ3OWVjZDlmICAuL2Rpci0wMTQvZGF0YS4wMDcKKzAzZDhhNGFjNWFkZDVhOTVmM2Q5Y2FjOGY4NDdjOGU3ICAuL2Rpci0wMjMvZGF0YS4wMDAKKzAzZGUyZjA5NThhNzZlOWQwMTM4OWI5MTljNjllYzk2ICAuL2Rpci0wNzkvZGF0YS4wMDQKKzA0M2ZhNmNiYTA4OTQ2YWQ1MDhjYTg5MGE0MmYwNjQ0ICAuL2Rpci0wMDUvZGF0YS4wMDQKKzA0YmVhYzQ5ZTZkMWYxZjkwNjdkYTI0OWY4OTUzZmU5ICAuL2Rpci0wNDEvZGF0YS4wMDIKKzA0YmYzNjcyMWM5ZGE1NWIyZmQ2NzgwYTVhNmRjZWYwICAuL2Rpci0wMTIvZGF0YS4wMDkKKzA1MmFjN2ZmMDQ3OTI4YTRmMWMwZDhiZjM4MzIwNDgzICAuL2Rpci0wMDAvZGF0YS4wMDMKKzA1M2IxNTM5NjA5NmMyNzUxZDllMzJiMTg2YmYwOTQ4ICAuL2Rpci0wMzUvZGF0YS4wMDUKKzA1ODg3OWUwNzBkNTFjMWUyNDg3ZDQ4MWY5YzQzYjc4ICAuL2Rpci0wNzEvZGF0YS4wMDcKKzA1YmQ0MzhkN2ExNTFlYmVjMjRjY2VmZmI3OTJjM2JiICAuL2Rpci0xMDQvZGF0YS4wMDkKKzA1YmQ5YjY5MmVmMmZmMmMzZTJlMjJhNTgyYmZjMjVjICAuL2Rpci0wMjEvZGF0YS4wMDYKKzA2NDkyZGVlNTAxNTdmMzc5ZWFiYmU4MTFiY2I1YWM3ICAuL2Rpci0wNzMvZGF0YS4wMDkKKzA2OGM3MjRlNzZkYmEwYzg4N2M1MzIzZGU3YjdhNDM0ICAuL2Rpci0wMjEvZGF0YS4wMDQKKzA2OTM3OWFiZmQ5ZjI2ZTIwM2M1MzkyMzQ0M2U1OGE0ICAuL2Rpci0wOTQvZGF0YS4wMDYKKzA2YzM2ZjVkYjBjMDIxMjdkYmJjYTc1YzVkN2MxMzBjICAuL2Rpci0xMDQvZGF0YS4wMDYKKzA2ZDIxOWQ4M2QwZDIxNDJlOWY3YTA2MzcyZTgyZjgxICAuL2Rpci0xMTAvZGF0YS4wMTAKKzA2ZGY3MThmODg1ZmQ3MWYyNTY4OTQwYjYxNjUyOGMzICAuL2Rpci0wNTkvZGF0YS4wMDEKKzA3MDE3ODIzMGVhNDdlOTBkMDBmOWE2ZmExOTc1ZmQyICAuL2Rpci0wNzkvZGF0YS4wMDUKKzA3MmMxZDE3NTVhNGFmNzg1NWRmZWEzYzY4Y2YyNzBhICAuL2Rpci0wNjUvZGF0YS4wMDgKKzA3Y2Q3NjdlZjI0ZDRlYzA1N2FiOThkMGI0YjM4OGE5ICAuL2Rpci0wOTEvZGF0YS4wMDIKKzA4MTAyOWI3ZDhiYjI3ZjZjNGY3OWEyZTRiYTY3ZDg1ICAuL2Rpci0wNzAvZGF0YS4wMDUKKzA4MjY4MDg4MjU0MjU2YzI1ODk0YzZkNzY5MDJjZDYxICAuL2Rpci0wMzcvZGF0YS4wMDcKKzA4MjljMjBjODExMTNlZWMwNzU5ZTVmZGQ3NGIxZDNlICAuL2Rpci0wNTYvZGF0YS4wMDUKKzA4MzEwYWQ3OGNiZDNkNmVlMTg2NGU1YzE0NTI0OGQ5ICAuL2Rpci0xMDMvZGF0YS4wMDEKKzA4NDc4YzdhNTIzYTg3MjUxMDdhZDgwNGE3ZGNkYTFlICAuL2Rpci0wOTYvZGF0YS4wMDMKKzA4NzYzZDIzOGUwMmQ3YWI1N2Q3NjJiNTgwMzhlMzhjICAuL2Rpci0wNTQvZGF0YS4wMDAKKzA4Zjk2YmY2OGVlYThiODJiY2UxYTVjMTU2NTA3NWJlICAuL2Rpci0wNjAvZGF0YS4wMDMKKzA5MGVkODgwMzZhOTYxOGU0YzQ0ODU4ZGIzOTk3OTNkICAuL2Rpci0wNDQvZGF0YS4wMDgKKzA5MmJhYThkMjY1OWVkOTQ4MDNlNjUyYmU0YzhhZmU0ICAuL2Rpci0wOTkvZGF0YS4wMDkKKzA5M2QyZDQ1OTcwMTVjYWU0MmRmN2QzZTJlM2JmODAyICAuL2Rpci0wNjIvZGF0YS4wMDkKKzA5NmI3YTRmNjdhNTYxZmEyOTMzYmJlZmJhMDMyYzY3ICAuL2Rpci0wMjUvZGF0YS4wMTAKKzA5OWJmNDEwN2FlMDA5NDk3YWJmNTJkNmQwOGY1YjM2ICAuL2Rpci0wMTMvZGF0YS4wMDYKKzA5YjRmNWEyYjQ5Y2ViYTc1MmE2MDQyOTdhYjYwNjM1ICAuL2Rpci0wNDkvZGF0YS4wMDYKKzA5Y2EyNTA5YjQxOGI1NzIxMTg4ZWEwNDRlZjZiNGMyICAuL2Rpci0wNjIvZGF0YS4wMDUKKzA5ZDZhODQ0YTBmMTk0Zjg4NGM4YmZhNmVkODMwYTBlICAuL2Rpci0xMDYvZGF0YS4wMDcKKzA5ZDk4NjdmNTYxZDM1ZDJkZTM3ZDlhZTI5NDAwZWUwICAuL2Rpci0wODQvZGF0YS4wMDEKKzBhNGY5MTYxMDk2ZWNmOGZmODM5N2NmZmNkOWJmMmM3ICAuL2Rpci0wMDAvZGF0YS4wMDIKKzBhNTRmMmE4MzQ3Y2FkN2U4MDZjZDAyODBiNjE3NDYzICAuL2Rpci0wMTcvZGF0YS4wMDUKKzBhZGEwNDI4MjhhNzAwYWQyNDg5YTIzNDczZDhlOTBlICAuL2Rpci0wMDMvZGF0YS4wMDQKKzBhZmQzYjQ5ZjE2ZDI5ZWJiYzZmNDc5YTM5Y2U3YmZhICAuL2Rpci0wMzcvZGF0YS4wMDMKKzBiMGZiNzJmMDNkYjk5Y2M3MjJkNGFhZjJhOThlNWI2ICAuL2Rpci0wMTAvZGF0YS4wMDUKKzBiNTA4YjUwMjFlZmU0OGFiZWFmYjU5YmNlNmEzZjZkICAuL2Rpci0wOTQvZGF0YS4wMDkKKzBiOTM4ZjBmZTdiYmI2NTFiMWQyNWY3NzYzYWU2ZDUyICAuL2Rpci0wNTIvZGF0YS4wMDQKKzBiOTk3NDZmMDQ4YjZlNDIxYTQ1MmU5MzAyNTNiYjE1ICAuL2Rpci0wNTYvZGF0YS4wMDgKKzBiYWFhZWUxZWNhZWI1ZjljZjhiNzU2N2FmZDRlZjg5ICAuL2Rpci0wMjYvZGF0YS4wMDEKKzBiYmNjZjA0MTA5YjI2ZjhkNGYxY2NjYjAwZjcyN2U5ICAuL2Rpci0wNTMvZGF0YS4wMDQKKzBjMWUzYzg2OWIwYWRhYTdjZTkzODc5YTE1MTc3NmRmICAuL2Rpci0wMDEvZGF0YS4wMDYKKzBjODIxMWVmNDJkNzU4OTJjNzA3ZjAyMmUyYTdkNDUyICAuL2Rpci0wNDMvZGF0YS4wMDQKKzBjOTI5OGFlZmU3MjAwNGQzNDY0M2VkZGVmOGY0ZjFmICAuL2Rpci0xMDkvZGF0YS4wMDcKKzBjZmNjMTUyMjM1YWMyZjE1NjljMzkwMDg0YjZkNDQyICAuL2Rpci0wMTIvZGF0YS4wMDYKKzBkMTM1NTdmNTY2Njc4MzFhODUzZDQyMmY0MGNiODhkICAuL2Rpci0wMTQvZGF0YS4wMDYKKzBkM2NkOWIyMmI5MTM5MWQxN2MzMGU3OWZjODkyYTYyICAuL2Rpci0wNjIvZGF0YS4wMDgKKzBkYTExNzUzMmNhZGU0M2E5YjQyYjY4MWRiYjRkOTdiICAuL2Rpci0wNDcvZGF0YS4wMDAKKzBkYjhhZWE1ZWNlZjA0MDc0MmU0ZDliM2JhYTc2ZGQ2ICAuL2Rpci0wMzAvZGF0YS4wMDEKKzBkYmFjMWQ2OTdjYzc3Njg1ZTFmYjg4NDkxNmMxYWU1ICAuL2Rpci0wMjYvZGF0YS4wMDQKKzBkYmRlZDRkMjI0NTNjNzRlZDhjYTg3NmM3NTljMWQwICAuL2Rpci0wMjUvZGF0YS4wMDYKKzBkYzg5YWQ5MTYwNTVjNzMyMWFkODllMTM1ZDViNTY1ICAuL2Rpci0wNTEvZGF0YS4wMDYKKzBkY2MxYmI1YjhjNjcxZmE5MDZhNGMwMjdmNzgxMTQ5ICAuL2Rpci0wMDIvZGF0YS4wMDgKKzBkZWY5ZTQ5ZDQ2ZjgxODg3YWZkNjAwNGJhMjc5NjZlICAuL2Rpci0wMTcvZGF0YS4wMDMKKzBlMTI1NzdlNDU0YTQ0ODY2ZjU0Zjk5NzM4NjM3ZDNlICAuL2Rpci0wNTkvZGF0YS4wMDQKKzBlMjBhNzE4OWYwYTlkMjQzNWYzYmNhMWMzYTYxMTFiICAuL2Rpci0wNTMvZGF0YS4wMDMKKzBlMzg3ZDRlMWQyNjY5ZWRkNTUyNzY3NmRjNWFlYzg4ICAuL2Rpci0wOTIvZGF0YS4wMDEKKzBlNGQ2MTVjMmFhZmRhN2NhOWUyNGNlNWM0NjM3MDQ3ICAuL2Rpci0wNDYvZGF0YS4wMDYKKzBlNjRjMzU2YjQ2Zjc2OTIzMTk1ZmQ0OWQ0NTJjZGE5ICAuL2Rpci0wOTIvZGF0YS4wMDQKKzBlOGQ5OWEzYjM0NzMzNDg4ZDRkMGU5MTgzN2FlNjI1ICAuL2Rpci0wMTAvZGF0YS4wMDMKKzBlOTNjYjgyMDZiM2Q5MmM2YjM3N2Y1ZjBhZTZjM2NhICAuL2Rpci0xMDEvZGF0YS4wMDgKKzBmMDQ4YjliZGE2ZjY5NGQ5MGU5NjFhNWY4M2FlMjAwICAuL2Rpci0wMzkvZGF0YS4wMDkKKzBmNWNkYzY1ZWY4NDczZjMyNTMzZTNmNTZkY2EyZWE0ICAuL2Rpci0wMzkvZGF0YS4wMTAKKzBmOTlkZmZiYjc4MGJmNGFjNTM4MWYyZjE0NzgyYTZlICAuL2Rpci0wNDEvZGF0YS4wMDAKKzEwMjllOTEyZjZlY2M5MzA1NTg1ZTgzMzNkNzE2MDJjICAuL2Rpci0xMDEvZGF0YS4wMDQKKzEwM2I4ZTI5OWI2ZWQ1YjQ3ZDVlYjZhZjdkMDRkODVmICAuL2Rpci0wMDEvZGF0YS4wMDgKKzEwNDE3OTAzYjMxMjg0OTdmZmFlNTEyZTk0MTNkMmJiICAuL2Rpci0wNjkvZGF0YS4wMDAKKzEwOGM2MTU2MjdlM2EyODc0ZmZjZDBjN2RhZjkzZmFiICAuL2Rpci0wNDkvZGF0YS4wMDIKKzEwZTZlMTA5N2M5YTRjMTdhZWIyMTFhMjkyMGU4NzJhICAuL2Rpci0wODAvZGF0YS4wMTAKKzEwZmI1ZGEwNDEzNGM2NjNiMDU1NGFmMDg0ZTJhN2VjICAuL2Rpci0wOTUvZGF0YS4wMDAKKzExNGY2YmMwZmNkODc2MzVhNmJmMzA0MDA4ZTliNWM0ICAuL2Rpci0wOTMvZGF0YS4wMDAKKzExNTFhZTYyZGIxNTVhMDE1NzFkN2M3OWVlOTMwN2QzICAuL2Rpci0wMDIvZGF0YS4wMTAKKzExYjNkZWMyYmZmOTY1YWY2YjM2NjcwZGZkN2FlNTczICAuL2Rpci0wNTYvZGF0YS4wMDEKKzExZTM2MWI3NWRmZmJlMGVkMDljZGE2MzhkODdlMmNkICAuL2Rpci0wNDcvZGF0YS4wMDcKKzExZTljMDZjMGQ3YzM1NWYxYmIwYmY4YWQzMzc2YWNiICAuL2Rpci0wODMvZGF0YS4wMDEKKzExZmI1OWNiMzU1NzA4MWVkNzIxOTY2NmI3NDM3NGI0ICAuL2Rpci0wMDQvZGF0YS4wMDUKKzEyNTE4MDNkOWIzMWNlYjFlZTI5MDBhODQwN2M3NjJmICAuL2Rpci0wMTgvZGF0YS4wMDQKKzEyNWY3MWM1MDE2ZTkyYjM2NTkwNzBlZDA0ZjU4YmU2ICAuL2Rpci0wNjAvZGF0YS4wMDcKKzEyYWE1ZDBkYWMwZWI1MWU3ZDIyYjg4MjQ2MjgyZjAzICAuL2Rpci0wOTMvZGF0YS4wMDYKKzEyY2ZiM2FmODZiN2NjMTQxYTNmZTlhNjI2ODcyNmE1ICAuL2Rpci0wMjQvZGF0YS4wMDUKKzEzMmFmNzAwNTI1NWNjNGIwMzhhZDkwMjFlY2EzODQwICAuL2Rpci0wNjYvZGF0YS4wMDUKKzEzYzhlYjA3MWM4ZThiZDY4NDIxZDM3ZjkyNTYwMWU0ICAuL2Rpci0wMTYvZGF0YS4wMDAKKzEzZGQxNGU1NWNkYTkyZGVmNmYxMWRiNDgyNDM0YTAwICAuL2Rpci0wMjIvZGF0YS4wMDgKKzEzZjY3MzY2ZWU1YzhhZGI0MGU4MGQzYTVjZDE3ZmI3ICAuL2Rpci0wNjYvZGF0YS4wMDEKKzEzZmIyMzZlNWYyN2I3ODlmYzMxZjFjZjViMWI4ODkyICAuL2Rpci0wMTUvZGF0YS4wMDMKKzE0NTA2YzE4ODA0ZGViY2ViZjI3YTM3N2FhMDRlYWE2ICAuL2Rpci0wODcvZGF0YS4wMDcKKzE0NTI4YmZhYTBhMWFjYTYzY2JjODBhY2FiOTZmODAwICAuL2Rpci0wNTEvZGF0YS4wMDgKKzE0OGNmNWM1ZmViNzIyMDkyNDQxZWM4N2I3YTU2MTFhICAuL2Rpci0wMjUvZGF0YS4wMDcKKzE0OWI3Njc0YTkyNzk2YmVjN2Y2MDY2YmJkZWY5YTNjICAuL2Rpci0wMjcvZGF0YS4wMDcKKzE0ZGEwOGIyZDg1YmZjODFjMGIwYjkyODE3OTg5NzkxICAuL2Rpci0wMzMvZGF0YS4wMDIKKzE1MDBhNGM1MDU0ZDg3ZGQ2MWMzOTJmMzM4NjhkYTRiICAuL2Rpci0wMzgvZGF0YS4wMTAKKzE1OTg3Y2IzZGE2MmY0NWM3YWVlN2EwYWI5NTE4MjA2ICAuL2Rpci0wODkvZGF0YS4wMDEKKzE1YzA1MzI3ZjMzN2M3ZDc0MTRkNDcyZmE3NzBlYzNjICAuL2Rpci0wMzgvZGF0YS4wMDMKKzE1Y2NkNWEzMTJlYjc3MmM4NWE0NGE2MzA5OTMyMmFmICAuL2Rpci0wNDUvZGF0YS4wMDUKKzE1ZjMwYTMyNjRjMGY4YzU3ZTZkNzQ5N2E0MDY0ZmVkICAuL2Rpci0xMDAvZGF0YS4wMDMKKzE2MTU2NzE4YmVjZWJmMGY5NzUxMzZkY2E2YzZhZTU2ICAuL2Rpci0wNDIvZGF0YS4wMDUKKzE2MjRkMmE0ZWFkNjFjYjNjOGUyNWMyMTc5NGVhNjc5ICAuL2Rpci0xMDYvZGF0YS4wMDYKKzE2OGI5N2JkYThhYTZmNzk1ZDhmNzI3MjE5NGQxZDVhICAuL2Rpci0wMjAvZGF0YS4wMDYKKzE2OGY3ZWI4MmRkN2ViNzhjNGE1MjIxZDJlNTgxZGRlICAuL2Rpci0wNjUvZGF0YS4wMDIKKzE2Y2Y4YzZhY2QzY2QxY2EyZmM0YmZjOWI1NDM5ODJhICAuL2Rpci0wMDcvZGF0YS4wMDkKKzE3MTQ5MzNiMTFhNGE4ZTYwMDA1NzU2NTg2NmVjNDIzICAuL2Rpci0wODAvZGF0YS4wMDkKKzE3NDU2NTZmOTYwMWZiZDUxNjMxNDQ1MDBlZGE2NTY4ICAuL2Rpci0wNTcvZGF0YS4wMDQKKzE3OTM1M2NlMTQ4YzM3NDI1ZDc2NmVhNWI0M2RjMzJiICAuL2Rpci0wMjMvZGF0YS4wMDcKKzE3Zjc3ODc0NTdlNWZkMWE4NjAxZGQyMzc1ZWVhNzc3ICAuL2Rpci0wMzYvZGF0YS4wMDMKKzE4MTVjNjMxNzUyOGNhZmQyYTFlNjE0MjlkMjllMWNmICAuL2Rpci0wMDgvZGF0YS4wMDMKKzE4MzZmZDM5YjA1ZDk0YTg2MGQ3MjdmOTcyYTE4NzI5ICAuL2Rpci0wMjkvZGF0YS4wMDcKKzE4Njk5MjU3MmU5N2RjMGEzNjg4YjIyMDJjMDY2YTcwICAuL2Rpci0wNjYvZGF0YS4wMDgKKzE4YjRhNDM3ZDgxYWNmNTk0Y2MxNDgyMDMxOTg3ZjYxICAuL2Rpci0wNTgvZGF0YS4wMDkKKzE4ZDk3OGM2ZjU0YjUwYmFjYzUxYjViZTJhNmJhNmRlICAuL2Rpci0wNTEvZGF0YS4wMDIKKzE4ZWRmMzNkYTJjN2U4NWI2YTJkNTRiMDRmNzk2NjVlICAuL2Rpci0wOTMvZGF0YS4wMDkKKzE5NDc2ODFlYmRiNjVjZmM2YTQ4NTU2ZWE5ZDkyM2Q5ICAuL2Rpci0wMjMvZGF0YS4wMDUKKzE5NjllY2QyMjViOWQ2ZmE0MDI5YmY2NzNkYmVhNGRlICAuL2Rpci0wMzYvZGF0YS4wMDcKKzE5YTM0ZjhjOTAxNmNlYThkNThmMDJiODE2ZDQ0NzVkICAuL2Rpci0wNjUvZGF0YS4wMDMKKzE5YzNmN2JhNjNmNjRjZDZlODRkMjhlOTc0ODM0MTAxICAuL2Rpci0wMTIvZGF0YS4wMDIKKzFhMzVlMTljNmZhYjRmYTFkODE4ZTZlZmI3OWE3YjE4ICAuL2Rpci0wNTIvZGF0YS4wMDMKKzFhOTJmZDVhNDgyMWU5MjQ0NjE0Mjk1Nzc0OTE0MDdkICAuL2Rpci0wMDIvZGF0YS4wMDEKKzFhOTczZjJjMDBkMDA5MDYwN2EwNWQ2MDhiODE4OTdmICAuL2Rpci0wODgvZGF0YS4wMDUKKzFhY2RhYjQ4MGM1MmE0NTRiYTU1NTJjMjk1MTZkOTMzICAuL2Rpci0wNzMvZGF0YS4wMDYKKzFhZDE3YzQ2MDM2MDlhMzZhNzA0OTE0ZTZmOTFkMWU2ICAuL2Rpci0wMzQvZGF0YS4wMDIKKzFiMWRkZmI4OGYwY2YzN2Q5NmE0NGVkZWIyNjYyOWY5ICAuL2Rpci0wNDMvZGF0YS4wMTAKKzFiYjUzNzQ3YmU2YWQ4YTNlN2RhNTdjNjBhZTU0YmY0ICAuL2Rpci0wNDcvZGF0YS4wMTAKKzFiYmI2YjFlYTc4MDZiOTJlNDMxYWE0ODFiYTUzMjU2ICAuL2Rpci0wNTkvZGF0YS4wMDkKKzFiZWZjYzAwNDBjNmEzYjdlOTM2YTg5YjdkY2M4ZDFmICAuL2Rpci0wNTQvZGF0YS4wMDMKKzFiZjNkOTZjNjNmMDgyNWEwMjM4YjNjNzExYjJhZGQxICAuL2Rpci0xMDQvZGF0YS4wMDQKKzFiZmU2MzY3YzQ2ZTUwZTM0ZjlmNjhkZWJlMmZkOWU1ICAuL2Rpci0wNjIvZGF0YS4wMDIKKzFjMDVmMzE0NjZhNmIwNWYxZDczMTIwNzYwNDIxYjA3ICAuL2Rpci0wMTcvZGF0YS4wMDIKKzFjMTAwZmE0YTk5YTYzNWIzOTgyNmZiZjMyYTE4NWVhICAuL2Rpci0wNDYvZGF0YS4wMDAKKzFjNDA3MGY2ZjI1MDZhNWQ1OWRhYzYzNTc5ZGI1YzVmICAuL2Rpci0wMDkvZGF0YS4wMTAKKzFkMjg2YWM1YTdmNDQ3N2IwN2NiZjJiOGZhNjA4ZjMxICAuL2Rpci0wMjIvZGF0YS4wMDcKKzFkODQyZjk1Mjg1MGVjYjA3YjlmOGFiNTljZGJiZGZjICAuL2Rpci0wNzQvZGF0YS4wMDkKKzFkYWJlNzdiZTEzMDA3N2ExZTJkZTdiMWIyNDM2MzhmICAuL2Rpci0xMDgvZGF0YS4wMDEKKzFlNGI5MGU3MGM1NTMxMTkzYjgyY2MzYjYxNTg1M2EzICAuL2Rpci0wODMvZGF0YS4wMTAKKzFlNGI5OWMwYzZjOTdjYmU1OWMwMWI2YjgxY2RkNTVhICAuL2Rpci0wMDAvZGF0YS4wMDQKKzFlNmZkNGVlNDczN2VlNDQ3YWRlMjE2NTEwNGY0ZGMzICAuL2Rpci0wNDQvZGF0YS4wMDEKKzFlODJhNWU5NzdlNzVkNmZmMTJiYTRlNGI4MTIxOTk0ICAuL2Rpci0wMjUvZGF0YS4wMDEKKzFmMGE3YWQ5MzMwODE4MTUzZTZkMTM3MDUzODlmNTA2ICAuL2Rpci0wOTgvZGF0YS4wMDQKKzFmYWExMGZmNTRjNTFlOWU2YTY5MWQyMDIwYjI4MTgwICAuL2Rpci0wMTMvZGF0YS4wMDkKKzFmYmFmZDA1MzFmNWRiZjNlODRhODVjM2FmZWY3MTU5ICAuL2Rpci0wOTEvZGF0YS4wMDQKKzIwMTg4MjcwODE4NWZkMTVhYjE2NDgyNmU3ZTRhYjNiICAuL2Rpci0wMDcvZGF0YS4wMDUKKzIwMjhlMjVlZTdlYTI0MTBiMDVjOTZlMjUzMTk5OWFmICAuL2Rpci0wMDgvZGF0YS4wMDkKKzIwNGY2NGNhOTM0NDg5YzljMzIxYjc3MTZhYmU2MTM3ICAuL2Rpci0wMTMvZGF0YS4wMTAKKzIwOWNhMTE4NTc0OWY1Zjc2MGYzYzJiMWVlYWJjZjk0ICAuL2Rpci0wODAvZGF0YS4wMDcKKzIxMDRiZmEwZDVjYzgxNjYyZjBmMjUxZGM4OGVkMWYwICAuL2Rpci0wMDIvZGF0YS4wMDcKKzIxMzM1NmM2ZTA1MGFhMWY0NGZkYjY3NTU0ZDk5ODdkICAuL2Rpci0xMDAvZGF0YS4wMDYKKzIxY2U5NTg3NWIzNDlhYzhjNGE1NjYxZWM3ZmIxYzVhICAuL2Rpci0xMDgvZGF0YS4wMDkKKzIyNTExNzg5OWJkZDUwYjZmZDc1NGZhYzQ2ODUyM2U2ICAuL2Rpci0wNDYvZGF0YS4wMDQKKzIyYzdjNGQ2MWIyNTRlNjdiZmI2MjI5MmY2ODEzMzAwICAuL2Rpci0wMDYvZGF0YS4wMDkKKzIzMDVjZGQ1MTVlYTAzZTBlM2Q5ZGQ3ODkzYzQ4ZTVlICAuL2Rpci0wOTMvZGF0YS4wMDcKKzIzNDM5NDdiY2IyYWNhNWE1ODM0MzRlMjBiOWFmZTgzICAuL2Rpci0wMzEvZGF0YS4wMDEKKzIzN2M1ZDNiN2E1NTY2NzBhMTE5YjZiZWRmNGE3YTQ0ICAuL2Rpci0wNjQvZGF0YS4wMDUKKzIzODg3ZmM5N2Q1ZGU4NDZkYmI5YjI2ZmU0ODU2MGUyICAuL2Rpci0xMDUvZGF0YS4wMDMKKzIzZTk4Yzk5YzE0ZGM3NGJmMzNmNDBmODQzOGQ1OTQ3ICAuL2Rpci0wMzUvZGF0YS4wMDIKKzIzZjJkY2Y2YmIwNDU0ZmQyMDU4NDQyYWI2YzkyYjMyICAuL2Rpci0wNTkvZGF0YS4wMDgKKzIzZmFjZDUwNzg0YjkxZWZlMmU1ZTgxNjc4YmYwNGJiICAuL2Rpci0wNjkvZGF0YS4wMDYKKzI0MmJlNjhiMzcyMGU1ODY4ZTdmNzY1MmRhNWFmMDQzICAuL2Rpci0wMDYvZGF0YS4wMDEKKzI0YTg2Mzk3M2Y4ZWY2NzRiMzU3ZTExODliNDBkZTY5ICAuL2Rpci0wNjAvZGF0YS4wMDAKKzI0YzlmNDM3MWM5MzY3ZWI1NDQ3OTE5OGRiMDYxNzQ4ICAuL2Rpci0wNzAvZGF0YS4wMTAKKzI1Mzc1MTBjZWY1ZTY2MTI2YWI0YTVmMjAzOGRlOThiICAuL2Rpci0wMTEvZGF0YS4wMDQKKzI1M2U3ZGMwMzA3ZTU0NWZiNDRmYjVlNjIxODgzODk1ICAuL2Rpci0wMDIvZGF0YS4wMDAKKzI1NzM5NGM5ZGNhM2RiN2U3MzdmZmExZDA0MTkzMTdkICAuL2Rpci0wNzQvZGF0YS4wMDAKKzI1ODVkY2ZhZTQ2YmM0YzQ0NGYzNDQxNmU0OGRhMzcxICAuL2Rpci0wNTAvZGF0YS4wMDkKKzI1OTVjNWQ1ZjE1NjQ4ZjViNzg0Y2MzMjdhMGI5NDgwICAuL2Rpci0wNzcvZGF0YS4wMTAKKzI1ZDgzZGUwOWQwNzUwMzZjMzdmNGZhNDA4NGU4MWYzICAuL2Rpci0wNjYvZGF0YS4wMDYKKzI1ZGFiYjYzZGI3ZTY5ZTQ5YTIwMDc4ZTNmMWM3Mzk4ICAuL2Rpci0xMDMvZGF0YS4wMDQKKzI2NTkwNWU1ODM2MGQ0ZWU0Y2FiZTdmYTI0ZWI0OWJjICAuL2Rpci0wODYvZGF0YS4wMDcKKzI2OWJjNGI3ZjRkMTZjNjY5MDdkNDUwMzU2NjYxYjZlICAuL2Rpci0wODgvZGF0YS4wMDgKKzI2YjZhNzRlM2RhYmZkM2M5YTQ2NWY3MDUzMzg3ZjE5ICAuL2Rpci0wMTMvZGF0YS4wMDAKKzI2YjcxZDJhMGU0M2M5ODM3ZDU2NzY2MmJmOWM3YTAxICAuL2Rpci0wMzYvZGF0YS4wMDYKKzI2YmE5ZTdiZjFmZmEyNzU2MDJhYzIzNTY0MmFlYzIyICAuL2Rpci0wNjMvZGF0YS4wMDYKKzI3MGM2M2IxOWQ5YjRjOTg2NmRmMWE3YTlkOTY0YmEzICAuL2Rpci0wNTgvZGF0YS4wMDEKKzI3NDdkNWRmZGJkNGY1Y2U3NjY0MjkxMWZkMWNkN2JhICAuL2Rpci0wMzcvZGF0YS4wMDYKKzI3NTcxOWE3ZDJlMTBmZDBjYzBkYmQ0MDZhNWRkMjg0ICAuL2Rpci0wMzAvZGF0YS4wMDMKKzI3OTc0YWE0ODAxYTdjM2FmODQyODk5MjcyYjlmNmQ1ICAuL2Rpci0wMzIvZGF0YS4wMDIKKzI3YTFhODI3ZDgwMzk5NjY1MGJlNzU1NDc5MDIwOWJiICAuL2Rpci0wOTgvZGF0YS4wMTAKKzI4M2M5ZjhkM2RjNTljZmY0ODUwY2E2ZDk3NjU0NWQwICAuL2Rpci0wMTAvZGF0YS4wMTAKKzI4NTAzYzg1OWM4OWI1ZDk5NTNmNWJmMDg0YjQ0NDA5ICAuL2Rpci0wOTYvZGF0YS4wMDYKKzI4YmE4MzAxOGM3ZjhkNzlhNGJmYjJhYTk0ZWNmNzc3ICAuL2Rpci0xMDcvZGF0YS4wMDcKKzI4ZjJjNzQwODI3NzY1N2U0YzJjNWIyZTgwMTdiY2FmICAuL2Rpci0wODgvZGF0YS4wMDYKKzI5MDYxNjAwN2Q3NmJiZTA1YTYxYzczNjkzYTliMDcwICAuL2Rpci0wMDEvZGF0YS4wMTAKKzI5MDkyZTk0YmUzZTc0YTI0NmMyNDM4M2Y5MjA3NTNmICAuL2Rpci0wMzUvZGF0YS4wMDYKKzI5NTdhZTk2NjM0MDQ0YTQyYmJjNGJiMDcwN2NkMjAyICAuL2Rpci0wNjcvZGF0YS4wMDYKKzJhMTFkN2VjZWIzNWQ4ZmY4MjQ4ZjBlYzY3YTRlZTU1ICAuL2Rpci0wMDQvZGF0YS4wMDIKKzJhMzlmNzQ5M2U1NjQ2YTM4ZTlmNzFlYjIwMmRiYzJkICAuL2Rpci0wMjkvZGF0YS4wMDUKKzJhNGI0ZmY0N2Q3YWI5NzExNzU3NjM3ZjQ4MGMwNTg2ICAuL2Rpci0wOTYvZGF0YS4wMDQKKzJhNWE3NDhkNjU5OTFmNjNmNmRhMzlhOTdhMjJjY2ZkICAuL2Rpci0xMDgvZGF0YS4wMDAKKzJhODg2MDczOWY5ZDJkYmRhNjVlNGQ4NTJlMGZkMzA5ICAuL2Rpci0wNzYvZGF0YS4wMDEKKzJhOGQ3MDViOTBiODJhZjQ1NWFjZmE3ZDljMGZjM2M5ICAuL2Rpci0wNjkvZGF0YS4wMDkKKzJhY2U0YjBkOGVmMTIyYmQ5MThlOGQ1Mzg3MTRlZTczICAuL2Rpci0wODQvZGF0YS4wMDIKKzJiMDhjMmYxNzgzZjg2NTA1MTM2OWJmNDFiNDdmOTYwICAuL2Rpci0wMjMvZGF0YS4wMDMKKzJiMzFiNjhkMTdlYzYzYjBlMWE1MDE3NmM0OTAzMGU0ICAuL2Rpci0wNzYvZGF0YS4wMDcKKzJiMzYwZTljNTAyMjVlMWViZjhiZjk1ZmMwOTM5ZTJmICAuL2Rpci0wMDYvZGF0YS4wMDUKKzJiNTQ1ZTZlNmNhM2I2NjM4YjYxOGMzNGFhZWZkYmYyICAuL2Rpci0xMDAvZGF0YS4wMDEKKzJiNWQxODEwOGUwMzA5MzU0YjRmODBiMTg1ZTIzMjNhICAuL2Rpci0wNTcvZGF0YS4wMTAKKzJiODI0NDhlNmZjY2FjMzQ0MWQ5ZjdkN2ExMzA3NGQ0ICAuL2Rpci0wMzEvZGF0YS4wMDcKKzJiY2MyODE5YTI4OGVlNGVjMmM5YzAwYzU4NWY2N2Q5ICAuL2Rpci0wMjcvZGF0YS4wMDEKKzJjYmM5YjM5MjJlNWQ3NWE4YzRlNTc1ZTUzMDY1ZjJmICAuL2Rpci0xMDkvZGF0YS4wMDAKKzJjZTdjOWQ1ZTFhNGFlZDFlOWRlYzFhYTg1MDIxZjRjICAuL2Rpci0wMTAvZGF0YS4wMDYKKzJjZjdjNmUwMzhkMzc0NDI3NWQ4ZmZiOGI0YWI1MmQwICAuL2Rpci0wOTYvZGF0YS4wMDEKKzJkMDQ5NGEzNTBhNTcwYmY4NjU5NmViNWRjZDNlNTc1ICAuL2Rpci0wNTkvZGF0YS4wMDcKKzJkMWNhZTNkNTE1MWJlYmUxMmFlN2Q5N2Q5ZWZiOTJkICAuL2Rpci0wMDgvZGF0YS4wMDQKKzJkMjdlYzBkMzE4Y2Y1NmQ4ZWNjMjI2YTk3MmRiNjc3ICAuL2Rpci0wMjcvZGF0YS4wMDIKKzJkMzkyYTdiM2RjZmE2ZWUxMzk5ZGU5NDE2YTQxYjYwICAuL2Rpci0wODMvZGF0YS4wMDUKKzJkNDQzM2I2ZTMyYmRhOGU1NjNmMDQyZmI3OTllODZkICAuL2Rpci0xMTAvZGF0YS4wMDIKKzJkNzBjMTI5ZDg1N2QyMmE4MjY2YzJlNWYzZWU0NTYzICAuL2Rpci0wNDgvZGF0YS4wMDEKKzJkNzZiOTc4NGJiYjY4YzY3MGFlYWUxMzRmMWM2YzMyICAuL2Rpci0wOTUvZGF0YS4wMDEKKzJkYmVmMDQ0NWQxYjQ1MGI4OGI5ZTU4MTc3NDFmMjk1ICAuL2Rpci0wNzIvZGF0YS4wMDIKKzJkYzE4NGU4ZWNlNzc0NGRlOTkxMmQ0NjcxZjJmMTE2ICAuL2Rpci0wNDQvZGF0YS4wMDkKKzJkZjU4NzdkZmY3Zjc3ZTQ4YWE0NWJiOTZkZTlmMzYyICAuL2Rpci0wNzEvZGF0YS4wMTAKKzJlMDNmN2IyNThkMDBjMGM1ZmYxMDQyNWE3MDFiNDU3ICAuL2Rpci0wODIvZGF0YS4wMTAKKzJlMGJmOTAzMDA5MmRkNzdlZDQ0Y2Q3YTI1NDk3NDk2ICAuL2Rpci0wNzIvZGF0YS4wMDYKKzJlMGVlNzk2NjY5MDRlMzYyOWM4MDFmMmUzOWVlZWY0ICAuL2Rpci0wMDkvZGF0YS4wMDEKKzJlNDNhZGEyMzQ3NzVhZGI3NzE4OGE4NDBlZWUxNTI1ICAuL2Rpci0wMjAvZGF0YS4wMDkKKzJlNjQ4YTEzOGYwNGRhYmEzZWMzMGQ5ZWU4NTAyYTAzICAuL2Rpci0wMjgvZGF0YS4wMDIKKzJlOTBjZDU0ZjgwMzUyZWM3ZDAzZmE5ODczNzI0NWI1ICAuL2Rpci0wMzQvZGF0YS4wMDkKKzJmMjUzY2I1YzA2NWM5MGNiYzVkNjY2NzQxMzg2MmE4ICAuL2Rpci0wNjYvZGF0YS4wMDkKKzJmNTE2MDhjZDFjMGFlZDY0ZjJiMGI2NWZhMTAyMGMzICAuL2Rpci0wMjUvZGF0YS4wMDkKKzJmOGQ2OGJjOGVjMWM1ZGI4Y2UyZjcwYzg3ZjkxZTY4ICAuL2Rpci0wNjcvZGF0YS4wMDMKKzJmYTAxYTZiMTRlYTkxYzAyNDYwYzBiZWI3MGY2OWM3ICAuL2Rpci0wMDMvZGF0YS4wMDUKKzJmZDc2ZmFkYjEyNGM3MDFlODUyNzYzMTMxNDgwNDU3ICAuL2Rpci0wMDkvZGF0YS4wMDcKKzMwMWU5NjkyNTQyOWE1NzdjZmZkMzgwNWMyYjY3ODFlICAuL2Rpci0wNjAvZGF0YS4wMDUKKzMwNGQwMzRjMTBjM2YyZTg2NTliMjUwNDkwMjhkZDYwICAuL2Rpci0xMDQvZGF0YS4wMDMKKzMwNWViMDI3YWIyMjM3NWUyOWY2Y2U1NDRmYmQwN2JjICAuL2Rpci0wNjMvZGF0YS4wMDIKKzMwYTQ0ZWFjZDBhZjY3NGYxNzI1ZmRhM2I3NDQ4ZjRkICAuL2Rpci0xMDEvZGF0YS4wMDkKKzMxMTc5YzUwYmMxNTUzY2NlMjM1YzlhYTYyNWMxNmFlICAuL2Rpci0xMDUvZGF0YS4wMTAKKzMxM2ZkYjg1ODVjMTZmZmRlYjAwOWMwZDMyNTZhM2IxICAuL2Rpci0wNzgvZGF0YS4wMDAKKzMxNjljZGY1MjRiYTIwMDU2NDRkMDljZTJkNzJkNjk0ICAuL2Rpci0xMDAvZGF0YS4wMDAKKzMxYzViNzM2NTc1MGNhN2ZiZjc4OWM0Y2EzMjUwMThkICAuL2Rpci0xMDcvZGF0YS4wMDkKKzMyOTI4NjUwZGM3MmY4ODEwMDA3ZWZmYThkYjAwMTE5ICAuL2Rpci0wMzUvZGF0YS4wMDgKKzMyYWY5MmUyM2U0NTNjNzI0MTdhY2Y1NmQzYWI2ZmRlICAuL2Rpci0wMzMvZGF0YS4wMDcKKzMyY2YxZGZjYjliZDcyMzUzZjQ2OTkzMDA2Y2IyZDBjICAuL2Rpci0wMDMvZGF0YS4wMDcKKzMyZTNmNzJiMWZjYTVhYzMxNzZlOGRiZTExMGU3NTdhICAuL2Rpci0xMDQvZGF0YS4wMDUKKzMzOThiZjczM2Q0ZDI2YTdhODMwNDc0MDM4MWE4MzMzICAuL2Rpci0wMzYvZGF0YS4wMDgKKzMzZTgyZGJlYmJmNzEwYTFiMjAzNjU1NTEwNDQzZmYxICAuL2Rpci0wMzcvZGF0YS4wMDkKKzMzZmM1MDJhMGQwNjE2Zjc2NTUxNDQ2ZWYxOTY1YzMwICAuL2Rpci0wNjUvZGF0YS4wMDUKKzM0ODFlOGIyMTgxNDFlNmU2ZGM5Yjc1Mjk2NTA4YjE1ICAuL2Rpci0wMzMvZGF0YS4wMDQKKzM0YTE5OTdjYTg4NmQ3YzEzYmE0OTM2ZjRjOGUwZGFhICAuL2Rpci0wMTkvZGF0YS4wMDUKKzM0Yzk5MzZjNDZhODQ3MTUyMTI1ZTU4MzgzOWMxMmM2ICAuL2Rpci0wNDMvZGF0YS4wMDMKKzM0ZjEwMmI2M2U1MzA4OTY0ZTJmOTcyNWNhZjZlYzJjICAuL2Rpci0wODgvZGF0YS4wMDAKKzM0ZjE2Mjc3ODZkOGQ3NzE1ODQyYWYyYmNiYzkyZGQ4ICAuL2Rpci0wMjIvZGF0YS4wMDAKKzM1NzY3MWUyMGY1OTA5MDBhMzg2OWJjMjlkYmVlMWZkICAuL2Rpci0wNTEvZGF0YS4wMDkKKzM1ZDNhMWJkNWRkMWEzZjdkMGI1MGZiMmM1NDA2NjQ1ICAuL2Rpci0wMzkvZGF0YS4wMDMKKzM1ZWNjMDE0NGJjYTM1ZjUxOTk4NWFhYTE1YmUyNmNiICAuL2Rpci0xMDYvZGF0YS4wMDQKKzM1ZmZiZTZlNjJkYTViMGFlOWMwNjM2MzYwMGIwNzE1ICAuL2Rpci0wNDkvZGF0YS4wMDAKKzM2MDNkZDhjMWYyMzQ2ZWQwNzcwYWE1NDg1MTNlYjM0ICAuL2Rpci0wMjQvZGF0YS4wMDIKKzM2MWI4NDVhYTMwZGJkNDQyY2YyZjBiODdhZDQ3NDFhICAuL2Rpci0wNTUvZGF0YS4wMDIKKzM2MWZkOWI2NjQ4Zjk1ZmY3ZWVjOGQ3MTdkMTc5YmMwICAuL2Rpci0wODkvZGF0YS4wMDgKKzM2MjcwYTQxNTA5Nzg2NWRiYTY4NDc4ZjY5NjI4ZGIxICAuL2Rpci0wMDMvZGF0YS4wMDYKKzM2NTNhOTg5Yjk3NjRiMmZkNTMwMzI0YTk4ZWM4MjE4ICAuL2Rpci0wNjcvZGF0YS4wMDQKKzM2NTUxYWY3NzcwNmFlNTZkYzIyOGMxMTUxY2FhN2E2ICAuL2Rpci0wNjIvZGF0YS4wMDAKKzM2YjU1Zjc3NTcwZDFiNDYzODBkNjAxOGY1MjY2MWU3ICAuL2Rpci0xMDkvZGF0YS4wMDQKKzM2ZDY4YjljZmM1MWFhY2NlMDgwNjVkMzdlYjUwMGM2ICAuL2Rpci0xMDIvZGF0YS4wMDMKKzM2ZmMzMWJhYmFkODllZjI2YWNkMDMzN2E3OTI4NmQzICAuL2Rpci0wNDkvZGF0YS4wMDQKKzM3MDRjNWZkNmE0NDZkNTMwYmNjYTE4MDA0ZjJiMzFkICAuL2Rpci0wODEvZGF0YS4wMDgKKzM3MDc3NjA3OThkNGU1MGRhNzBiYWUwZThkMmM0YzI4ICAuL2Rpci0wOTUvZGF0YS4wMTAKKzM3MTcxOWZlNWNkMDUyYmUyYTYzYzY0NDRlYzc3NDEzICAuL2Rpci0wNDQvZGF0YS4wMDIKKzM3NTk0YmU0MWQ4MjkzYzAzNTE4NjVhNzA4ZTJhZjA1ICAuL2Rpci0wNjMvZGF0YS4wMDcKKzM3OTBhMmJjZTQyMGE4MDBmZjc2ZGRjNTVkNGMwZDBiICAuL2Rpci0wODYvZGF0YS4wMDEKKzM3ZDllMGYyZDlhMzlkYmQ5ZmIwNmM0ZGJjMWQ5MzJlICAuL2Rpci0wNjUvZGF0YS4wMDAKKzM4MTMxYjVmY2IxYmE3Zjc0YmMzZmI4OTA5MWQ2N2ZjICAuL2Rpci0xMDQvZGF0YS4wMDEKKzM4MjA4NWRmNWYxNDJmZGUwMmI0OTI1NjliMjdmN2QzICAuL2Rpci0wNzgvZGF0YS4wMDEKKzM4MzA3ZWFiZjExMDliNzg2NzYwMzg0ZGJlNzAxM2EyICAuL2Rpci0wNzQvZGF0YS4wMTAKKzM4M2FlYzNkMjM2YmRlMzEzNGJiYjgxMTQ4NzU5NGFlICAuL2Rpci0wNzEvZGF0YS4wMDYKKzM4NmJkMzEzYjcxNDRiZGI3MTIxZDlkM2NmZmQ4MDE5ICAuL2Rpci0wOTUvZGF0YS4wMDIKKzM4ODM3YzAzNjU3NmFkMmFmYjEzODJlMTBkMjI5NjU4ICAuL2Rpci0xMDkvZGF0YS4wMDEKKzM4OTkzYTkwNGYyZDM3MDg3YTVjNGVkNDEzZDMzMWQ0ICAuL2Rpci0wODEvZGF0YS4wMDcKKzM4ZDgyYzRiYmNkMmRlZjQxNjM2ZjAyMTUxYmY1MzE5ICAuL2Rpci0wODQvZGF0YS4wMDQKKzM5MmNjZjU4NjVmZGYwZGNmYTU5OTAzNDkzNGU0ZmNmICAuL2Rpci0wNzIvZGF0YS4wMDkKKzM5MmQ2YzIzZDViNmE1OGJhNDU1M2NmZWY1MjQ1MTkxICAuL2Rpci0xMDkvZGF0YS4wMDkKKzM5NzMyNDY1NzFkNDhmNWZiZTlkZGMzMzdjYTJjOGM5ICAuL2Rpci0wMTcvZGF0YS4wMDEKKzM5ZGU5NDVhNzYzYmQ4M2JkZTc4Nzg3OTI5NGM5YjQ5ICAuL2Rpci0wMDUvZGF0YS4wMDIKKzNhNGYzOTcyNjJlMmI4MzBmYmFmZmVkNGQwM2IzN2U5ICAuL2Rpci0wMTYvZGF0YS4wMDIKKzNhODM2M2ZjMzllNDIxMWFmZTNlZGU1Njg4Zjk0NzA1ICAuL2Rpci0wNzcvZGF0YS4wMDQKKzNhODk3YTY4NGRkMmIzMmI0ZmNjMjI3NTk4OGZkMDgwICAuL2Rpci0wMTgvZGF0YS4wMDgKKzNhOTRjYTg1YWM5OTRmNDdlODAxMDAxMWZjNWM5NTgyICAuL2Rpci0wMDAvZGF0YS4wMDYKKzNhZjhlZDljNTk5YjA2ZmYyZDk5ZmU1NTYzMzgwYzMwICAuL2Rpci0xMDMvZGF0YS4wMDMKKzNiMTkyMmZiNDNmYjIyMmI1NzNhOWY0NGJiODA1ZTBkICAuL2Rpci0wMjkvZGF0YS4wMDkKKzNiNzJiOGI0OTg0Y2Q1MWU2N2VkMDNmNTlkYTcxNmIwICAuL2Rpci0wMjMvZGF0YS4wMDQKKzNiOGE2NTY5NzMxNzhjNTgxNTQ1MWQ4YzY0ZmExZDIxICAuL2Rpci0wMDkvZGF0YS4wMDIKKzNiYTcyYzQ1ZmQwMTc3ZDQ4ZjZhN2E1MTIxZmFiNWE1ICAuL2Rpci0wMDMvZGF0YS4wMDEKKzNiZWJkOWI2ZmE0YWViOTc3MmNhMjM4ZmI4OGRkY2Y0ICAuL2Rpci0wNzMvZGF0YS4wMTAKKzNjOTljZTA4ODIzYzFjMWIyNGUxYzc3NTc0Y2I3YmRkICAuL2Rpci0wNzUvZGF0YS4wMDUKKzNjYTUwYTM3NGUwYzQ2Y2NjMzVjYWJhMDYyNDRhNTkyICAuL2Rpci0wNzMvZGF0YS4wMDQKKzNjZTBjNzM5MDgzY2MyMWFlNmYxOWViMzc3MjU4ZmIzICAuL2Rpci0wOTcvZGF0YS4wMDYKKzNjZWE0MjA1MmE4MzNhMWM2NWFiNmQzZGU3ZGI5NWZmICAuL2Rpci0wNDQvZGF0YS4wMDUKKzNkMDVjMWViYjdhZGJkNzJlYWUwNjRiMmIxNmVkNWJkICAuL2Rpci0wMTUvZGF0YS4wMDgKKzNkMzYyZDRhZjdhYzQ0MmIwYmU4YTZlMWVhZWQxMjIyICAuL2Rpci0wNTgvZGF0YS4wMDMKKzNkM2ZhNjllZjc4ZmY0ZWVjNzJjNGE3ZDYyZDQ0MzIwICAuL2Rpci0wNTcvZGF0YS4wMDEKKzNkYTEwMzExYWIzNWIzMTNiY2VhMGIzZGNkM2VjMzIwICAuL2Rpci0wODUvZGF0YS4wMDcKKzNkYTViZmMxZjEyMWRhNGEzNWM1YzFhMjZiZGYyODcxICAuL2Rpci0wODAvZGF0YS4wMDYKKzNkZmQyMDNiNjE2MDYwMTJlM2ZlNGQ3OTQwMjZkZTQ1ICAuL2Rpci0wNjAvZGF0YS4wMDgKKzNlYjgzNTM4NWJiYWE0YzEyZGM2NmFkNWE1Nzg3YWMzICAuL2Rpci0xMTAvZGF0YS4wMDMKKzNlYmYxNGJlYTVmNzc0ZWQ2OGRjM2FhZWNmZDRjN2E3ICAuL2Rpci0wODYvZGF0YS4wMDYKKzNlY2FiZmUzZDdlMGYzOWQxYjc3ZmViMzBiYjIxNDlhICAuL2Rpci0xMDgvZGF0YS4wMDYKKzQwMTcyMTdjMWZjMzYyMGYwMGE2M2JmNzQ1MWQ3ZDU4ICAuL2Rpci0wMTEvZGF0YS4wMDUKKzQwNTY1ZTZlOWVhZWJhOTUzOGUwNjhkN2ZjMjEyMDI1ICAuL2Rpci0wMzAvZGF0YS4wMDcKKzQwOTgwMzkwOGUxMjQ5ZDgxMTQyMWZkZjVlNzIyMWFhICAuL2Rpci0wMTEvZGF0YS4wMDYKKzQwOWYxYTVkZjMyYjQ4Y2M2MTViODBmODk1MzMzMTI1ICAuL2Rpci0wNzAvZGF0YS4wMDYKKzQwZGEyMzZkY2ZiMzc2MjhhNzM4M2YxMTBhMzRjYTkxICAuL2Rpci0wMTgvZGF0YS4wMDMKKzQxMWJjZWFlM2ExNjQ5NTU1MzNkYmFkNjE4ZGNkYjE5ICAuL2Rpci0wNDIvZGF0YS4wMDAKKzQxMjliMDUxNzNjOWRjODAwYzgxMWMxYzZhYjU1NGY1ICAuL2Rpci0wNDYvZGF0YS4wMDgKKzQxMmVmZGFiMDI2NzRhYjU5MWVlMDJjMWU1ZjMxZDBmICAuL2Rpci0xMDIvZGF0YS4wMDUKKzQxMzE1ZDNkNTc1MTA4YTUyZTBmYzViMDdjNTAzMTc3ICAuL2Rpci0wMzQvZGF0YS4wMDEKKzQxNDFhYTA1MzI1ZmZiNWM1MzAzOTFkODk5Y2QyYmNjICAuL2Rpci0wOTkvZGF0YS4wMDMKKzQxNzRlNjE2OWQ2NDUzMDdjYTg2NzUyMDVkNDBjODUzICAuL2Rpci0wMDQvZGF0YS4wMDkKKzQxYmNmZmI0ZTcxNzgwZGI4ZmVkOTgxODEyNGU1YjZjICAuL2Rpci0wNjMvZGF0YS4wMDMKKzQxY2U2N2IzNWVlNjRiOWU4NmMxM2VmY2ZkZDI2Y2UzICAuL2Rpci0wNTAvZGF0YS4wMTAKKzQzNGIwZmE1NzliMjU1NDMwMjE0ZGUzNTIxNTFkMTEyICAuL2Rpci0wNDEvZGF0YS4wMDgKKzQzNGIyNmYwMGMxNzVmMjc2YTU0MTA1MTcxMjUxZDUyICAuL2Rpci0xMDYvZGF0YS4wMDUKKzQzNWNhMjMzNTAzZWVmYmFjOTQ2ZDNjYTY1NGY5Y2MwICAuL2Rpci0wNzIvZGF0YS4wMTAKKzQzN2JhM2JiOGRiYjY3NWIxNThkYWUwZjU5ZDZhNDQ1ICAuL2Rpci0wNjEvZGF0YS4wMTAKKzQzYzQ5NTczMzU3ZWQ1M2RjYzJlMzY0Y2UxMTJiNjJkICAuL2Rpci0wNjEvZGF0YS4wMDUKKzQ0MDRiNmU0ZjU5YTg0MWZlOWEzYWUyZTQxYzRjNDg4ICAuL2Rpci0wNzEvZGF0YS4wMDAKKzQ0MjZhYTQyNGRkMjVjZTk3MmI2M2I1YzQ3Yjk1MzBmICAuL2Rpci0wOTAvZGF0YS4wMDYKKzQ0NDhkNmM4YjYwZDdhNGIwOGI1MzRhYzEwNTlkNjY4ICAuL2Rpci0wODkvZGF0YS4wMDIKKzQ0NzJiYTAwYjc3YTRkY2U5MDQ1ODljNDU3YjFiYzk3ICAuL2Rpci0xMDYvZGF0YS4wMDEKKzQ0ODYxZThlMTY0ZWE1MTcwOWMwNjlmYTI4NjEzNGM2ICAuL2Rpci0wNTYvZGF0YS4wMDIKKzQ0OTYxNDY4ZjA4ZWU4MGM2MTlhZGYwMTU0ZTk2YTlmICAuL2Rpci0xMDEvZGF0YS4wMTAKKzQ0YjcwMjgwNWE1OGYxNDQ5M2JhZTNjMmYyNzE2ZGM3ICAuL2Rpci0wODgvZGF0YS4wMDcKKzQ0YzdkOTUyZDViOTUyOGMxMjYzZWQxMWI1ZGMyYWU1ICAuL2Rpci0wMTIvZGF0YS4wMDAKKzQ0YzgyNWZiZjFkMjNmY2FiZjQ1ZTQyZTM5NTQyM2NkICAuL2Rpci0wODUvZGF0YS4wMDgKKzQ0ZTNlYzhmMTAyNTVkMTA5NzczZjMyMDRhNTAyMGU5ICAuL2Rpci0wMjIvZGF0YS4wMDYKKzQ1MDM0ZjEwNTI5ODdlNWQ5ZTJkNGJjMGY0NjNlYzdhICAuL2Rpci0wMjUvZGF0YS4wMDQKKzQ1MWVlNGY5ZTkyNjc2NWEyYzA3Zjg5YjFhMmZlMDc4ICAuL2Rpci0wMDAvZGF0YS4wMDcKKzQ1MmI0YjQzMjAwZDJlY2UzMDAxNmFlOTY0MTU3MThhICAuL2Rpci0wODQvZGF0YS4wMDkKKzQ1MzVmNWQ5OWFiZWUzMGZlMmUwZDY3MDk4ZGFiYzYyICAuL2Rpci0wOTgvZGF0YS4wMDAKKzQ1NjIyYWM0ZWUyODc1MmViNTZlYWNjZmI1NDYyYzUwICAuL2Rpci0wMTYvZGF0YS4wMTAKKzQ1OWJhMjRkMGUwM2E4MWY4ZjZlZDM1NzAwZjQ2NDYwICAuL2Rpci0xMDEvZGF0YS4wMDIKKzQ1YWYyZGNhMmVlYmM3MTRjZDBhZDYzZjc3Y2VhYWE2ICAuL2Rpci0wNDAvZGF0YS4wMDgKKzQ1YmUwNmZlNmU1MDliNDNiNmY2OGM1MjgzNWQ1NGI4ICAuL2Rpci0wMTYvZGF0YS4wMDMKKzQ1YzI1MGQ5NTcwNzE2MDEwZjQxNjFmMWJmZjVlNDUwICAuL2Rpci0wMjYvZGF0YS4wMDUKKzQ1ZWQ3YTVhNTQ1NzhkNTk4NTE1M2ZmNzAzMzBjMjI4ICAuL2Rpci0wMTEvZGF0YS4wMDgKKzQ1ZmU5ZmNhZTE2NWE5ZDg4YWZhMjdmYzNjOTMzNDA2ICAuL2Rpci0wOTUvZGF0YS4wMDgKKzQ2MWIwNzg2NTkwNTU2YTU3MjllMWUyMzUxMmRiNDllICAuL2Rpci0wMzcvZGF0YS4wMDUKKzQ2NDdjYjIwNDNmNjIzYmFlODg2MGU3ZThiNTg4MzRhICAuL2Rpci0wMTMvZGF0YS4wMDgKKzQ2ODE3MWNkZDMyYjBlOTRjOTZhOWJlMWYyOTg3MzhhICAuL2Rpci0wNDQvZGF0YS4wMDAKKzQ2OTBkZDMzZmZhMjMyOWU1YmM0NTZjYTI0ZWM3ZjcyICAuL2Rpci0wMzEvZGF0YS4wMDkKKzQ2Zjc1MTk4ZTQ0MGQ4ZGZiNDMyMDdlYjQ5NjVjMmM2ICAuL2Rpci0wMjgvZGF0YS4wMDYKKzQ3MTBlYWNkNmI2ZGY2ZmM2YWMyZGE1ZWJjYTk0NTQ2ICAuL2Rpci0wMDMvZGF0YS4wMDkKKzQ3MmNmMGVjZDFiMTY5MWJmYWE4ZDVmYjg2YzIxMzY2ICAuL2Rpci0wNzUvZGF0YS4wMDIKKzQ3MzQ0ZjNmM2YzYTgwNmZmNjM2MjY3ZWIzOTM2OWUwICAuL2Rpci0wODIvZGF0YS4wMDYKKzQ3ZDZjNzMwNGY5MjEwZWUxNmRjMmRjNWZjMmE5NWVkICAuL2Rpci0wNDgvZGF0YS4wMDUKKzQ4MjlmNjI5YjFlNTQ1ZjRjZjY4ZjUwZTlmNWU2MjA5ICAuL2Rpci0wMjIvZGF0YS4wMDUKKzQ4NGEyOTE2MzhmODIyNGViNDA0NDIzNTFmM2U3ZjQxICAuL2Rpci0wNTQvZGF0YS4wMDYKKzQ4ZTQyODkxYmYyZmUwNTM1Mzg4ODQxMjdiMGE1MGNlICAuL2Rpci0wMjEvZGF0YS4wMDEKKzQ5MDc3ZTU5NDNhMTAwYjY3NzFhNDRiZTA3NzA0YTRiICAuL2Rpci0wMTAvZGF0YS4wMDEKKzQ5M2U4NGJhZjZjMDJiMzgzMjQwNzFjODdmMGFmYjRjICAuL2Rpci0wMjQvZGF0YS4wMDMKKzQ5YTAyYzM0MWU1ZGU0YmZkOTM4ZWEwMzI2ZGRkODExICAuL2Rpci0wOTYvZGF0YS4wMDkKKzQ5YjExMjc5ZjgzZjIyZmY1MzcxMzRiYmNjODRmZjkyICAuL2Rpci0wOTkvZGF0YS4wMDIKKzQ5ZDZhYjg1YjUwYWI1Mzg2ZjgyODJhN2I5OGEyMDgzICAuL2Rpci0wMjYvZGF0YS4wMDIKKzRhMTExM2E4NjJlZWM2ZmMxYTI5YTc1YTk4NWYwMmNhICAuL2Rpci0wNDQvZGF0YS4wMDcKKzRhMjA5NTg1ZTQ0MjY1Y2IwZjM2Mzc1NjYwMmZjYTBjICAuL2Rpci0wMjcvZGF0YS4wMTAKKzRhM2E2NTQzZmVmYjU2MGYyMzgzNjE1ZDkwNWE2YTk2ICAuL2Rpci0wNTMvZGF0YS4wMDcKKzRhNGMxY2MzYzc3OGNhOGE1ZWNlMzUyOTU1OTFjNDIzICAuL2Rpci0wODkvZGF0YS4wMTAKKzRhOGEwZTBjNjhlZTk1YjU0MWJjZjM3Y2ViNmZjYTM4ICAuL2Rpci0wMzIvZGF0YS4wMDAKKzRiN2JlMTJmMmFmYWZhOTQyNjYzYWY4OGEyYTM0Nzk3ICAuL2Rpci0xMDcvZGF0YS4wMDIKKzRiZGY4YmYzMTU2OWEwNjg4MGI4NWUxNzY3MDNkM2M1ICAuL2Rpci0wMzgvZGF0YS4wMDkKKzRiZjQ4OWZmNjU2ZmVmN2JhMGY2NDNjZTY0ZjNhYmMwICAuL2Rpci0wMzgvZGF0YS4wMDgKKzRjMDEwZjkyY2ZkMDFkYjQ5MmI5ODFmMjM0YTY4NDM3ICAuL2Rpci0wMTUvZGF0YS4wMDkKKzRjN2JhZGZmYTM3NGRjMTE4YzgxZmYwZDA0ZjMxNmI0ICAuL2Rpci0wMzIvZGF0YS4wMDcKKzRjOGY2NTFjYWUxOGRiNDQ1YzhiYjAzZWZhZjU3NjIyICAuL2Rpci0wNTUvZGF0YS4wMDYKKzRjYjRjMWYxZDNiYmY0ZmRhNzY4Yjk3MjY2MTU2N2ZhICAuL2Rpci0wMzMvZGF0YS4wMDEKKzRjYmM2Y2MyOTZjODcwMjdlZDk2OTVjMDE4YWI1MzA3ICAuL2Rpci0wNjgvZGF0YS4wMDQKKzRkMDY0ZDQ5NTlhNzlhYmM4ZTNkMDczNjc1ZDZjMDAxICAuL2Rpci0wMDIvZGF0YS4wMDkKKzRkMGUxMzdhZTliZDZlMDExY2M5NzRkYWY0N2U1MTRmICAuL2Rpci0wMjAvZGF0YS4wMDcKKzRkZmFlNGE5ZWY0ZTg5NGIzY2Q4MjA5YTRhZTc4YmNlICAuL2Rpci0wNjgvZGF0YS4wMDYKKzRlMGY5MzIwNDdkYzMyNDRjMmZlMjE1MDAyZWE4YWQyICAuL2Rpci0wOTkvZGF0YS4wMDAKKzRlMjZlZjM3ZTljNWI2OTI1YWQyOTM4ZTliNWQ2OGYxICAuL2Rpci0wNDMvZGF0YS4wMDYKKzRlNDFmZjYyZTEwNTM1ODEyNWUwYjAzMzBhMDQyZmRjICAuL2Rpci0wMDEvZGF0YS4wMDcKKzRlNDVhNGI3Y2NiZDc5MDAzMjgzYjZlNDdkNjkzMjdjICAuL2Rpci0wOTMvZGF0YS4wMDQKKzRlNTQ4ZjM0ZDViYmViNTZmYTdlYjU4Y2I0MjIyODM3ICAuL2Rpci0wOTgvZGF0YS4wMDkKKzRlYjIwOTZlMTE1YjZlMmU3NjM5ODgxY2U3MzRjYTA5ICAuL2Rpci0wMTIvZGF0YS4wMDgKKzRlYzk2YWIzNDY2YzkwMTFjZDE1NTVhYmU2OTkyYWNmICAuL2Rpci0wMjkvZGF0YS4wMDIKKzRlYzliZDEwOGYwZGYwYjE4NmYwNzc3YjYwZGJlOTQxICAuL2Rpci0wMTEvZGF0YS4wMDMKKzRlZDUxMjVjMDZlNDE4OGE4ZTczMzY5Y2VjNzU4YjlkICAuL2Rpci0wMjgvZGF0YS4wMDEKKzRlZDZjMjFmNWI3NWMzMTMzNmNjNzg3M2U3OTVlYTRkICAuL2Rpci0wNjMvZGF0YS4wMDAKKzRmMTRjZmEyNjk4YWY0MjBhZTFhZTVlNDBjZTQ1YTVlICAuL2Rpci0wMzMvZGF0YS4wMDMKKzRmM2ZmNzU5ZWIxMGQ1NTg5OGYzYjE4OWM2YjhjODBkICAuL2Rpci0wMDAvZGF0YS4wMDkKKzRmNjZkMzVmYWM4MmFhMzUzMjJhZDNjYzViNjkwNWRiICAuL2Rpci0wMDEvZGF0YS4wMDAKKzRmODk4OTE2MDEwZWI4YWFkYjcyZTQ1NWQ1YjgyMWE1ICAuL2Rpci0wNTEvZGF0YS4wMDAKKzUwMjZmZDhlMDljOGRhZWYwYTFkYTk2YTI4ODMzMTUwICAuL2Rpci0wODEvZGF0YS4wMDUKKzUwMzg5YTRlNzNhOWE0NzJiNWE1YzRhODkxMGQ3ZTk2ICAuL2Rpci0wMTEvZGF0YS4wMDAKKzUwM2I1MTRjOTg0ZGFlOGZmNjlmOGJmZWZhODI0ZmI5ICAuL2Rpci0wMTYvZGF0YS4wMDEKKzUwNDhiZThjMmU4ZTc2NWRkYjYzYzNiMzcxODUyYjcyICAuL2Rpci0wNTMvZGF0YS4wMDIKKzUwNjc0MTk4NjlmYWVjNDNmODVjOGMzMjdjM2QzNzhkICAuL2Rpci0wMDgvZGF0YS4wMDAKKzUwNzI1YTU5NDFkMjZiMjk0NzY3N2JmZTBjNzc2MWZlICAuL2Rpci0wNjYvZGF0YS4wMTAKKzUwNzcxYzc2YTgyMTMyNDViZTQ5OWFkZjFkNDMxMWQzICAuL2Rpci0xMDAvZGF0YS4wMDQKKzUxMThhYzUzZDNjN2IzMTA3MjgzM2Y5NjZlZmE3ZTlmICAuL2Rpci0wNjQvZGF0YS4wMDYKKzUxNDRjNGRhMGUyYTM3NGQ5NWZmNDhhMzRjMzI5N2M5ICAuL2Rpci0wOTIvZGF0YS4wMDIKKzUxNGIwNzZlMGYwNTExZjIxNjM3OTk1MGYyNzE0ZjkwICAuL2Rpci0wMjQvZGF0YS4wMDQKKzUxNWVlNDYzOTM3Y2YyYTNmZjE1N2I3ODkxZjk2ZWI2ICAuL2Rpci0wNTIvZGF0YS4wMDkKKzUxNjI2NGU2Y2QzNzA1OGM2N2E2NzkxZDU5NDgyZGRhICAuL2Rpci0wODAvZGF0YS4wMDUKKzUxNjMyY2I3ZjQ0ZjViYWMzMGY1ZDZmNGE5ZWRlYzc5ICAuL2Rpci0wOTcvZGF0YS4wMDkKKzUxNmU2YmJiOTZmNjkyNjJkNTdmM2E2NjBiYzgwMWIyICAuL2Rpci0wOTAvZGF0YS4wMDMKKzUxY2U3M2IxMjMwYzA2ZDE1MzllNmRlNTQyYjYzMDA2ICAuL2Rpci0wMDcvZGF0YS4wMDYKKzUxZGJlMjRkMzYwY2EzOGZlYWMxYjQzNjc1NGY5YjRkICAuL2Rpci0wODkvZGF0YS4wMDcKKzUxZWFlZGJhZjMzOTg4YTQ4ZTZhZjY1YTViMTE3ZDM4ICAuL2Rpci0wMTYvZGF0YS4wMDUKKzUyMWRkNzczZmM0MTcxZGUxNTBiNWY4OTk1YTg4ZDIxICAuL2Rpci0wMDkvZGF0YS4wMDYKKzUyNjkzYmQ1NDA3YTI0NzFjZjUxNTZhZmVmZGFmODg4ICAuL2Rpci0wMjcvZGF0YS4wMDYKKzUyNzMxZTBhZDMwMjhjNTMwYmI0ODAyYTQ3NTRjNDA4ICAuL2Rpci0wMDgvZGF0YS4wMDEKKzUyZGRmZjk3YjMxNmE0OTRmNDczN2UwNjE0ODUwZjU3ICAuL2Rpci0wNjkvZGF0YS4wMDIKKzUzMDE4NDRjOTY4ZDA1MjU3ZjFlNjUzMWU4Y2UwZDU0ICAuL2Rpci0wMDMvZGF0YS4wMDgKKzUzNzYzZmQwYTg5NGI4ZTEyMWMyODFjZWUwMWY5NDAyICAuL2Rpci0wNjgvZGF0YS4wMDUKKzUzZDQ1MDdhMmRmOGQyMjA3NmQ4MWRhNWMwMTAwZWJjICAuL2Rpci0wMDgvZGF0YS4wMDIKKzUzZjVjYzA5ZDU3YWY2MGZlNzI1NTllY2EyZjFhNjAzICAuL2Rpci0wMTEvZGF0YS4wMDcKKzU0NjY2MmM2MjgyYjVkNDIyNDEzZjUzMDM3ZGYwZDU0ICAuL2Rpci0wNzMvZGF0YS4wMDEKKzU0ODJiMjUwN2RjOTRjOGVkZGU4NDBiNjE5YjM0OTQ0ICAuL2Rpci0wODEvZGF0YS4wMDIKKzU0YTZiNTE5MmE0ZmIyZDFmMmIyNjg2NmQxM2MwNWMyICAuL2Rpci0wODgvZGF0YS4wMTAKKzU0YzNhNTMyODI3NmRlMDkyOTE5YmY5NjZlOWRkN2FkICAuL2Rpci0wNjYvZGF0YS4wMDMKKzU0ZTc4NDE5YmE3Y2YyOTFlMjZmMTE2MGJjZDA5NDY5ICAuL2Rpci0wMjgvZGF0YS4wMDcKKzU1MjQxZDI0NzRiMGJlZTcwZjUwZTc2MjlmYmEzYTEwICAuL2Rpci0wNzAvZGF0YS4wMDcKKzU1M2U2NWNiM2VlMGE5YTU1NzI4MjZmZjQ0MDE0ODdjICAuL2Rpci0wNTQvZGF0YS4wMDIKKzU1YWRmNTE4MjgwYTU0NTMyZGU2YzMzYzI1OGE4ZTZjICAuL2Rpci0wODAvZGF0YS4wMDgKKzU1YjhkNTdmM2JlZWM2YTgwNzUyMjFmMDg3NTJmZjQyICAuL2Rpci0xMDIvZGF0YS4wMDQKKzU1Yzc2YmRiODJmOGZhNGUwZDIyZjllNDFhZDNhZDBhICAuL2Rpci0wNzUvZGF0YS4wMDEKKzU1YzhkMTNmNjgyYTYyMzA2YzhkMjk3NDZiZDdlNmZhICAuL2Rpci0wMjYvZGF0YS4wMDkKKzU1ZDU5ZmNiNDljMDdlZjE2NWIzMTA4NjIxZjA4YWIwICAuL2Rpci0wNzEvZGF0YS4wMDEKKzU1ZDY2ZDc0MjAxYTNhM2U1YjJkNTNmOWZiYjUyYmJjICAuL2Rpci0wMTkvZGF0YS4wMDkKKzU1ZDg5MWFkYTUxZWRjNWRlYzM4MzdjYmE3YzVmMmZhICAuL2Rpci0wNDEvZGF0YS4wMDYKKzU1ZGU3YWVkNGM2OWUzMjM3ODM1MmU2ZGQ5YTNlNWNlICAuL2Rpci0wNTcvZGF0YS4wMDgKKzU2OWY2NDU5MjBjYjFhNTQwOTNkZTU0N2NkOTJmMzM3ICAuL2Rpci0wODUvZGF0YS4wMDMKKzU2ZWYyZjc0Nzc4OWFhMmFiMWVmNmM3OTQ3YjUwZWQ0ICAuL2Rpci0wNjcvZGF0YS4wMDAKKzU3MWFkYTRjODMyYWE5ZWQ2NjQwMzM1MmIwNmEwN2RmICAuL2Rpci0wMTYvZGF0YS4wMDYKKzU3NGNlMjI3M2Y0ZTE3Y2Q2NzM5YTE3NzJkNDNmYjY3ICAuL2Rpci0wOTAvZGF0YS4wMDEKKzU4N2U3NDA0MzJkZTU0OTMyYjQ5ZjRiMGIxYTlkOGNkICAuL2Rpci0wNjcvZGF0YS4wMDgKKzU5MjI2MDMyZWYyZWZiOTkxZmZmYzVkMmQyYTY3ZGQwICAuL2Rpci0wOTgvZGF0YS4wMDYKKzU5MmUyOTI3ZTA0NjhhZjJhODZiYjEwZTJhNWNiZmZjICAuL2Rpci0wNjgvZGF0YS4wMDcKKzU5NGYxYTIxYjk4Y2E0YThiODk4MTE2NGY0NmVkZDBhICAuL2Rpci0wMjMvZGF0YS4wMDYKKzU5YTNmNmZmYjY0MzJhNzY4ZmZjZmMzOTBiYTBkNWU0ICAuL2Rpci0wMDUvZGF0YS4wMDcKKzU5YTU3NTFhNDQ0Nzg3ODlhYTA4ODUzYTdmYmNiNGZjICAuL2Rpci0wMzUvZGF0YS4wMDQKKzVhMDM0YTJjZGIxYjM5N2I0MzVjNzExOWE3MjVlNjIyICAuL2Rpci0xMDgvZGF0YS4wMDMKKzVhYWJkODEzY2U3MjUxNDZmNDdiYzczZDk0NDliNTBlICAuL2Rpci0xMDcvZGF0YS4wMDUKKzVhYzQ0NWMyYjQ2YzUwNDk3ZGViMWUyZGYzOTg3NjQ2ICAuL2Rpci0wNjUvZGF0YS4wMDYKKzViNjJjMTRkNjA3YzM5Mzg4NWNkMGE3N2I0NDVhMGUzICAuL2Rpci0wMTQvZGF0YS4wMDgKKzViOGI0MDUwNDkyNTY1ZDg2NjFhNDQzMWM3ZDlmMGYzICAuL2Rpci0wMTAvZGF0YS4wMDkKKzViYmFjNGVjNjdmYTg0ZDQwZDhhOGE0YmE5ZDAwZDMxICAuL2Rpci0wMTUvZGF0YS4wMTAKKzVjMDI1MmNkZDdjZDBkMTQ0NTgzYzY3M2UyNmE0Y2M2ICAuL2Rpci0wNDIvZGF0YS4wMDIKKzVjMTg0MDU4MGRmMGE1MjgwNTkwODhlNDVmMjNmODM3ICAuL2Rpci0wOTEvZGF0YS4wMTAKKzVjMjQxNzUzNDZkYzQzMTcyMGE4MzNkYTQzNDhhYTc4ICAuL2Rpci0xMDUvZGF0YS4wMDQKKzVjMmU0YjE4YmI2ZTc4ZWEwOWI5NThmMDNiYTBlNzUwICAuL2Rpci0wNjgvZGF0YS4wMTAKKzVjNGM0MTZjZWUyMDBlZTY3YmVjMjAyOWNiNTZiNmRiICAuL2Rpci0wNzcvZGF0YS4wMDIKKzVjNTM1ZTE0YjdjZDQ0OWE0MDg5M2VlNmEyMmY2MGUxICAuL2Rpci0wMzEvZGF0YS4wMDYKKzVjZDYzMWYxNjZhMjk3MGY3YWViODk2MGFjZTBmOGVmICAuL2Rpci0wODIvZGF0YS4wMDAKKzVkNmE4MjNjMjQ0NjBiMzQzYzZlMWNiNzRmOWJkYjhlICAuL2Rpci0wMzgvZGF0YS4wMDAKKzVkODY5OTA1ZmRiZDQ0MDlkODdkNDg0ZGI4Y2ZkN2VlICAuL2Rpci0wNTgvZGF0YS4wMDYKKzVkZTk0YzBkZTNjNDY4OGI1NmIwZDJmZDJhODkyYjk4ICAuL2Rpci0wMjYvZGF0YS4wMTAKKzVlNTc0MmVmM2EzZTRmNDM4NGVjZmJkOTY2M2ExOGViICAuL2Rpci0xMDUvZGF0YS4wMDYKKzVlNWE2MDdhOWI2OTQ1YTFmNGQxNzkyMjQ2NmY4NmViICAuL2Rpci0wMjgvZGF0YS4wMDgKKzVlODI0ZTBhZGQ5MDU0OGI1MGU4ZGVmMGUwZWExNWFmICAuL2Rpci0wNTEvZGF0YS4wMDQKKzVlZGFlZWJhZjIyMDU2NGMwZjlmYWU1M2NhYjNiOGFkICAuL2Rpci0wNjQvZGF0YS4wMDIKKzVmMmViZmMwODEwMTcwMzA1NjA5YWFhMTdkM2I2MWEzICAuL2Rpci0wOTYvZGF0YS4wMDUKKzVmNDk1MTE2Y2FiZDI0MzE3Y2ZmODllMWI5NDZmOTNiICAuL2Rpci0wNjgvZGF0YS4wMDAKKzVmODJjMDNhZWUwNGJiYzdiMTNiYmU4MWQ4NmYzOWQyICAuL2Rpci0wMzYvZGF0YS4wMDEKKzVmYjZiNzQ5YTA2YTFjZDhlOWU4YjI5MzgzYmZiZjRkICAuL2Rpci0wOTAvZGF0YS4wMDgKKzVmYzM2OWJlZjcyZjM3OTg3ZWIyMjg5OWU4YWJlODE2ICAuL2Rpci0wNzYvZGF0YS4wMDAKKzYwMmRmZDdkYzEzZGNhNzJlNWNkYjJhNTVkMTBlMmQ3ICAuL2Rpci0wMDUvZGF0YS4wMDYKKzYwM2M0YTJiMjU5MTUxNGZlM2Y4OTg0N2ZlNDVjOWI5ICAuL2Rpci0xMDEvZGF0YS4wMDcKKzYwNjk3OTlmY2UwMzg0NTI4YjViNmYyOTc4YTU5MjNjICAuL2Rpci0xMDEvZGF0YS4wMDEKKzYwYTE2ZjRlYmE1ZmNhYzM1YTQ0OTY5MmU0NzVjY2FlICAuL2Rpci0wODgvZGF0YS4wMDMKKzYwYTMyNzYzMjM0MjVkMzk0MmMzOGE5ZDkxNmZiY2FjICAuL2Rpci0wMzkvZGF0YS4wMDgKKzYwYTY1OGQ1MmY1OTM4OTc4OWNiY2ZjYWFiNDFhMWQ4ICAuL2Rpci0wNjMvZGF0YS4wMDgKKzYwZDZjNzlkZjQ4MjAyNjM3MDgyYzIyMTNkNGNjZmRmICAuL2Rpci0wNzUvZGF0YS4wMDQKKzYwZDg3ZmIxZGE3YmFhNDM5ODIyMjY5ZmQwNTQ2N2RjICAuL2Rpci0wMjgvZGF0YS4wMDUKKzYwZjkzOWE3NTAyNjRjZTU5NzAwMmE0YzVhYTM4YjBjICAuL2Rpci0wMTIvZGF0YS4wMDcKKzYxNzI0YmY5ZDg4MjczNGQwMGNiZjIxNzQ1ODZjZjFlICAuL2Rpci0wODEvZGF0YS4wMDAKKzYxYmFjYTlkNGYwYzBlMWFkNDQwZjUxNmVlZWNjZjI0ICAuL2Rpci0wNDAvZGF0YS4wMDIKKzYxYmQwZTY0OGJjMTkxMWQ0NTJkZTg5ZDRlZGNhYzgxICAuL2Rpci0wMzgvZGF0YS4wMDYKKzYxZTEzYWRjZWRmYTJkYzk3YzZmYjEzMWM0ODE0M2FmICAuL2Rpci0wNzgvZGF0YS4wMDkKKzYyMTAyZTBiYjZlNGEwMzRkMGRmMTkwODY0ZDMwMzRiICAuL2Rpci0wNzgvZGF0YS4wMDUKKzYyNGZlODY5NjRhODg2NmFhMDcyY2E5ODk0NGQxY2ZjICAuL2Rpci0wNzIvZGF0YS4wMDUKKzYyOGEzYWM0Yzg3M2ExNjlkOGEzZmE5ZGY2NjE1ZjRjICAuL2Rpci0xMDkvZGF0YS4wMTAKKzYyZTEwODIxZGMyZjgwYjYwOGY3ZDc4OWZlODM5MjNjICAuL2Rpci0wNjAvZGF0YS4wMTAKKzYzMzcyNmNkNGI0MTE3OGM1NTA2ZGQyYjJlYWUwMjgxICAuL2Rpci0wMTIvZGF0YS4wMDUKKzYzNmYzYjRiYmM1ZTBkOGI5MDQyZjFkYmIzNTA3OWFiICAuL2Rpci0wNzQvZGF0YS4wMDgKKzYzN2RiODk0MjU5NzY1MjEwNmJkODRkMWMxNTM0MWU0ICAuL2Rpci0wOTcvZGF0YS4wMDQKKzYzZWIzM2U4ODI0MTIxMGMwNTA5NDJjYTk3YTU3NmVjICAuL2Rpci0wNDAvZGF0YS4wMDcKKzY0MDQ2Yjk4MmE1OTQ0MjgzOWEyZDA5Yjc0NzBjZjUyICAuL2Rpci0wNTMvZGF0YS4wMDgKKzY0MGI1NTBlMTgwZDdjNDJjMmQ0NGYyZWQyZDdhNDNmICAuL2Rpci0wMTUvZGF0YS4wMDUKKzY0MmFlZDY5YTI4YTk0YmMzZmE0ODhmYzY1MjdiMjBmICAuL2Rpci0wMTYvZGF0YS4wMDkKKzY0YmY3MGExY2Q5NDVjZjQ1OWEwN2VjNDYzMWVhZjBjICAuL2Rpci0wOTgvZGF0YS4wMDEKKzY1NGViMzQyNmEwY2ZjY2JmNTFkMTQ3ZjI5ZjhlYjRlICAuL2Rpci0wMjIvZGF0YS4wMDEKKzY1YmQ4NmNhZTEwMDgzMGY0MjBjYjU1ZGFjMmUxNWE0ICAuL2Rpci0xMTAvZGF0YS4wMDUKKzY1Y2VkYzU4ZjBjNDFjOGZkYWU0MjIwMzViMzc1MGI4ICAuL2Rpci0wOTAvZGF0YS4wMDIKKzY2NjQwMmUxMzRlNmZmNzBjYmEwMjljOTg1MmIwZjk3ICAuL2Rpci0wMTUvZGF0YS4wMDAKKzY2NzU0OGZkNjg4MTBlMjA5ZWE5N2ZlN2IzZmNhMWY2ICAuL2Rpci0wMTIvZGF0YS4wMDMKKzY2NzVkNTA4MmVhNTEzM2Y2ODMxNDk5Yzk1NzM5NTk0ICAuL2Rpci0wMTEvZGF0YS4wMDEKKzY2OWZmYzE2M2I2NmZjM2FiYWM2NjExNzU4NjEzYTVkICAuL2Rpci0wODkvZGF0YS4wMDQKKzY3MWUyYjIyODA2MzhkOGUxZDNhOGY2YjFkN2VhOGU3ICAuL2Rpci0wMzIvZGF0YS4wMDQKKzY3NWRlMDNiYWY4ZGI2ZjgwOTYyZWQyNzhiNmU3YTExICAuL2Rpci0xMTAvZGF0YS4wMDAKKzY3YThlZjI1NDIwMDllNzU1ZGY1YzlhYzZmODUzZDgwICAuL2Rpci0wMjYvZGF0YS4wMDAKKzY3YmQzNGEzMGEwNWViMjZiM2Y2MmEwNzVjZDg1NmY0ICAuL2Rpci0wMzgvZGF0YS4wMDIKKzY3Y2ZmYWFkYTk4MDVhOTBiMTEzNTU0MDJlNjM1Y2FlICAuL2Rpci0wNTYvZGF0YS4wMDcKKzY3ZGRmYTliNDE1MDczN2RlZmY0OTE0Y2IzNWZkNzEzICAuL2Rpci0wMjcvZGF0YS4wMDgKKzY4MjBiMzQyNDQwNTgzZjUxNzIyYjllYjYxYjQ4ZDYzICAuL2Rpci0wODgvZGF0YS4wMDQKKzY4MzM2YjY4MTEwMmUxNmU2NGY4OGE5NWNmNDcwYjcyICAuL2Rpci0wMzgvZGF0YS4wMDcKKzY4M2FhNzliZDNjZGNkYWM3YWExMGFkMWUyYjBlMDI4ICAuL2Rpci0wMzMvZGF0YS4wMDAKKzY4NTY5OTFjYWE2OTRlODNjYWY2YzBmY2EwMjMzYjgyICAuL2Rpci0wOTIvZGF0YS4wMDgKKzY4YTQ2MDU1MTAzZjZlNzMzZTVjY2ViNzA3ZjZkZDBmICAuL2Rpci0wMDQvZGF0YS4wMDMKKzY4ZTllNjUxZGM3YTU2NGRlMjE0YjI4MmI5YjVjNzU3ICAuL2Rpci0wMDgvZGF0YS4wMDcKKzY5MDdkZmUxOGEzNzY0MzkxNjc0MmJhOTY0YmRhYjVkICAuL2Rpci0wMjcvZGF0YS4wMDUKKzY5M2Y5YzhiMjBhOGE5Mjc5YzRkNDNjODBjM2ZhOTg0ICAuL2Rpci0wOTcvZGF0YS4wMDgKKzY5NGU5OWYzYjVkYzU2YmEwNjJmZmZlODM4MWY4NzMxICAuL2Rpci0wMDAvZGF0YS4wMDEKKzY5NWNkYzViYzdiYTQ2ZTZhYTM4OTUwZGFhYjcxNjM2ICAuL2Rpci0wNTAvZGF0YS4wMDUKKzY5NjdhZjgxNTY1NzNlNDQyYTFiNmJkNTZkMGE0ODkzICAuL2Rpci0wMzUvZGF0YS4wMDMKKzY5YzFhNTJkNTM4YTY3YmYyYTdlNWMzMzM3OTUzM2I4ICAuL2Rpci0wMTcvZGF0YS4wMDAKKzZhMWJkNDFkYTYyZDI2MGY3NDZlMGIwMWM3YTEzNDAzICAuL2Rpci0wNTIvZGF0YS4wMDAKKzZhNzFhYTE1NWQ1OThiNWFkMmZkNjc1NmRhM2MyNzhhICAuL2Rpci0wOTgvZGF0YS4wMDMKKzZhODU1OTZmODE1MjJjMzhjOTU4OTEwYTRjMDQ4N2Q3ICAuL2Rpci0wNjAvZGF0YS4wMDQKKzZhYTNiYmI0NWI2MjMxNTEzZTBiZWU2MmU5YTEyYTliICAuL2Rpci0wODAvZGF0YS4wMDMKKzZhZTE5ZTM5Zjc4NTdmMTc2ZjAyMWE4Y2ZlNzY4YTY2ICAuL2Rpci0wMjMvZGF0YS4wMDIKKzZhZjcyNTViMzMxODYwN2IxZDVhNzg5NGQ4Y2FhYzI1ICAuL2Rpci0wODIvZGF0YS4wMDQKKzZiNzgwZTdmNzJiZTNkZjlkYjcxMjU4MGFjYWZkMGZhICAuL2Rpci0xMDIvZGF0YS4wMTAKKzZiN2NhZGNiZjg3NWVlNWFkNTNiNDcyOThhYmZhYWUwICAuL2Rpci0wODAvZGF0YS4wMDEKKzZiODUzM2RiZmZlYmI2ZWYyYzFmZDQ4ZTFkZjZlZDE5ICAuL2Rpci0wNTAvZGF0YS4wMDQKKzZiYzllMzIwM2UyNzM4ZWUyMjViZTZhNDVkYTZkMDc3ICAuL2Rpci0wNTkvZGF0YS4wMTAKKzZiZGZiYWI4YTRiMjBkNzFhY2E1YWVjNjZjZjRjMDdmICAuL2Rpci0wNzEvZGF0YS4wMDIKKzZiZTNjMzVmMjhmNjg4NjE4NDBmMDM0NWY3MGZmNTExICAuL2Rpci0wMTEvZGF0YS4wMTAKKzZiZmE4M2Q0N2Q4OTVhYzA2Zjc0YWJjZGZlMjRkYmQ1ICAuL2Rpci0wNjcvZGF0YS4wMDkKKzZjMzI0ZTE4NWNmMjQ2MjNiOGVhYjdkYWEwMTBlMjIyICAuL2Rpci0wMjMvZGF0YS4wMDgKKzZjMzJmM2Q1ZDI3MGJmNTA3ZjU3ZWRmMjhhYzIwMjE0ICAuL2Rpci0xMDUvZGF0YS4wMDkKKzZjOGNiNTZiZDgxZTMwZWJkYjAxNjdlYTljMzdmMTRkICAuL2Rpci0wMDEvZGF0YS4wMDUKKzZjOTNhYWM0NWQ5ZTAxOWU3YmVlYzRhNzA4YTMwMzNmICAuL2Rpci0wODcvZGF0YS4wMDgKKzZjYWY0MTRkMDRjMzQyZjgyOTg4NzU3MDk5MzU3OWQ3ICAuL2Rpci0wODkvZGF0YS4wMDMKKzZkMjIyOWEwMjlmZTY0ODE1OTA0MTNmMmRiOThhYTAyICAuL2Rpci0wMDIvZGF0YS4wMDUKKzZkMmEyNGRmYzgzZWM1MDY5MmExMzliYjJjNGM2MWQ2ICAuL2Rpci0wODIvZGF0YS4wMDEKKzZkMzhkZWFiOWEwOTZhMDQ4N2U5MzE4MjY1ODM3NTg5ICAuL2Rpci0wMjIvZGF0YS4wMDIKKzZkM2EyZjE3ZGYyYzcyMTA4NTFhMmMwZDUyMzkzYzBjICAuL2Rpci0wMjMvZGF0YS4wMTAKKzZkNzVkZjM3NmM0OTEzNzE5OTBlYjFkZTAwNDIyN2VhICAuL2Rpci0wNjcvZGF0YS4wMDEKKzZkOTMxYjAzMmM5NzdiZDQ4ZWVjZTM5MDBjYjc1Y2JjICAuL2Rpci0wMzEvZGF0YS4wMTAKKzZkZDIyYjlkZGE2ZDYzNDdjMWJkOWFmZWM0NzkzYTRmICAuL2Rpci0wNzAvZGF0YS4wMDIKKzZkZDc4MTFhMGM2ZmM0ZDA3NDJkNDY3MDcxNDVhM2U1ICAuL2Rpci0wMDQvZGF0YS4wMDQKKzZlMzJhNzM1OTMwNzgzN2U4YWM5ODIzZGU4MjM1NTVjICAuL2Rpci0wNDYvZGF0YS4wMTAKKzZlNWNjOGY1ZjhjMmEwN2I5ZGU0YThiNzgxZDViNWU1ICAuL2Rpci0wNTAvZGF0YS4wMDYKKzZlODQzNzMwZGY2NjNlNTY0N2RlN2FjNWJkNDVhOWU0ICAuL2Rpci0wNzQvZGF0YS4wMDEKKzZlZGQ0NjJiYzIxY2Y2NmNiY2JhNDAwNjY5YThiYjVlICAuL2Rpci0wMDcvZGF0YS4wMTAKKzZlZTA5NzM3ZTkyYTc5NmQ0OTRmZjg1NzIxMTg1ZGEzICAuL2Rpci0wNzkvZGF0YS4wMDEKKzZlZjZlN2Q4NjU4MGY1ZDBmNzczNmJiNTdlOTNmNGIyICAuL2Rpci0wNDgvZGF0YS4wMDkKKzZmMzE0YWRhNjQwN2NjMzJiMWYzZThkOTAzYjVjOWI1ICAuL2Rpci0wMTcvZGF0YS4wMDgKKzZmNDlkYTAxMjAxMTllZmE1ZTRmODlkZTE5NWI0ZDJlICAuL2Rpci0wNDgvZGF0YS4wMDAKKzZmNjkyNTcyMjdhMjYwMTI3YTY1YTEzMzUwOGIwMzE5ICAuL2Rpci0xMDkvZGF0YS4wMDUKKzZmODZjOWM5ZGRmMzFmZmY0MWE2ZTQ4YjUyZTA1YTA2ICAuL2Rpci0wNzgvZGF0YS4wMDMKKzZmOTU3OTQ5OTczOTA1ZTQwYmVlYTZlMzNlNDY1ZDBhICAuL2Rpci0wOTIvZGF0YS4wMDYKKzZmYmUzNjQ0YmUyZGUzNDIzMjA0ZDc5YmNlMDZjNDBmICAuL2Rpci0xMDYvZGF0YS4wMDMKKzcwMjk2YzkzOGMxMjIwYmY3MjYxOTdmYzUyMWM1ZGEyICAuL2Rpci0wODMvZGF0YS4wMDYKKzcwNDdlMWI4YTYzNTFkYTM1MDQ5NzdhNGM5NmVkYjcyICAuL2Rpci0wOTcvZGF0YS4wMDIKKzcwNTFiZTgxYzIyYmYwZTM5NGU4ZDg5YTZjYzc4YTIwICAuL2Rpci0wMjgvZGF0YS4wMDQKKzcwNzdjYWM2NDZhNWIzN2E0MTg2NjRkMzY2ZGU4ZDJhICAuL2Rpci0wODYvZGF0YS4wMDgKKzcwYzkxM2JiYzM0NTRkM2FmMWQzYjk3YTA4NTFiOTAzICAuL2Rpci0wODUvZGF0YS4wMDAKKzcwZGJiMGRjYWYyNjEyYjQ5NTJiMzQxNjUxYWQwYzFlICAuL2Rpci0wNjUvZGF0YS4wMDcKKzcxMjE0ZmVjZGVlNzg2NzVhZDk1YjQ5MmRmNDAxN2VmICAuL2Rpci0wNDAvZGF0YS4wMDQKKzcxNzFjN2ExNzk2Y2JjMjM1NWM2YWRiMDNjMzEyZGFhICAuL2Rpci0wMzIvZGF0YS4wMDEKKzcxODQxZjkxYWIxYzg3MzkzOGZmNGI0ZjAxOGIyMjIxICAuL2Rpci0wMTQvZGF0YS4wMDIKKzcxYTIyOTQ0MTJiMzAyOWYyMzZhMjU0Y2IzMzVhYzk4ICAuL2Rpci0xMDMvZGF0YS4wMDgKKzcxYTY5OTRlZjJiZjgzNjhhYWEyMzYyYmNmY2NkY2E3ICAuL2Rpci0wMTkvZGF0YS4wMDcKKzcxYjRkYTkxYmQ1MTQyZDMzNDJkNjdkMzIyZmVmMmU1ICAuL2Rpci0wODQvZGF0YS4wMDcKKzcxZGJmYzkwNTdmY2E1NGE1YTE4MzQ0Njc3NWUzMmI4ICAuL2Rpci0wMTYvZGF0YS4wMDgKKzcyMTRmY2ZmMDJkMDc0MzIxMGQ3NTRhMzdmYjk4YjBjICAuL2Rpci0xMDIvZGF0YS4wMDgKKzcyY2UwZmYzZDc4ODM3Njc1YzUzOGU2YTAyYTY3NTU3ICAuL2Rpci0wNjgvZGF0YS4wMDMKKzcyZWRjMjhlNzFjMjRhOGMwNGZhYWEzYzI2NDVkOTM2ICAuL2Rpci0wNjQvZGF0YS4wMDMKKzcyZWUwYjdmMjM2ZDBjMWRlMTcxYzg2MThhOGU4YzdmICAuL2Rpci0wNzgvZGF0YS4wMDgKKzczMmIxZTBmMGFiNTY4OTg3OTM1ODliZWYyNWYyOWYzICAuL2Rpci0wMTcvZGF0YS4wMDYKKzczYmNiNDljYTVjYTYwOWNiYjY1MTQ3Y2ZkNDA1ZjNmICAuL2Rpci0xMDUvZGF0YS4wMDEKKzczZmQyOGY5MDk5YzM5ZDZkMmM5MjM1NWMwNjBkNmVkICAuL2Rpci0wNjgvZGF0YS4wMDkKKzc0Mzc0ZGVjODc2NTE1MWY4MjcwMjA5ZGNhNmZjNWM2ICAuL2Rpci0wOTgvZGF0YS4wMDcKKzc1MDJhZTA1ZGI2NWEzMjQ1OWEyYjk3OTk2NDE5MDY1ICAuL2Rpci0wNDYvZGF0YS4wMDUKKzc1MmU2ZTAwM2IyYTYzZWU1MzI5ZDk2MjlmYzExZTM3ICAuL2Rpci0wNjYvZGF0YS4wMDcKKzc1M2I1YjkyNWEzNmVmMjY4NzRiNTNkZjJlYmZhMDYxICAuL2Rpci0wNzUvZGF0YS4wMDYKKzc1M2UwNjUxNDExNzZmZjU5NmJmMmUxYWU2MWVlN2ViICAuL2Rpci0wNTEvZGF0YS4wMDcKKzc1NjQzMmQ4ZjcyYWFkMDM4ZTU0ODViYmUyNGJhZmFmICAuL2Rpci0xMDYvZGF0YS4wMDAKKzc1NjVkMTY3NDE2NGEwMTVjNDJhMmY1MDExY2MwODdmICAuL2Rpci0wMDAvZGF0YS4wMTAKKzc1YWViM2VhNGZiZDFkNTA0MzBiYmUwNGUyOTMyYjE2ICAuL2Rpci0wOTMvZGF0YS4wMDEKKzc1YjcxM2Y3ODVhYzRhOWIxZDA4ODQyMWYyM2VkMWRkICAuL2Rpci0wMDgvZGF0YS4wMDYKKzc1ZGY3ZjM2ZWVmYTQyYzM2MzhiYzViNmE5N2Q1NWNjICAuL2Rpci0wNjIvZGF0YS4wMDYKKzc1ZjRhY2VkY2NlM2RlODlhMDViNGMwOThiNGY4MTE4ICAuL2Rpci0wODQvZGF0YS4wMDAKKzc2MWM4ZTQxNWRmZWEyMjZmNTNiZTI5NTc3ODBiYTY5ICAuL2Rpci0wMDAvZGF0YS4wMDAKKzc2M2M3ZDQxMjEwYTBjYTk3NWViOTlkMGUxN2Y0YjIwICAuL2Rpci0wNTgvZGF0YS4wMDcKKzc2NTI4NDY5MzJiZDU0N2M4MTRlYTg2NDYyODkxZmU1ICAuL2Rpci0wMzYvZGF0YS4wMDAKKzc2NmJlMmEwMDRjZWEyZjg0ZjlhZWI0MGViOWU1MTI0ICAuL2Rpci0wMDYvZGF0YS4wMDQKKzc2NzJhM2E2MzFkOGNlYmFlZWIxMGI0ZWVlZTJmMzc0ICAuL2Rpci0wOTcvZGF0YS4wMTAKKzc2N2QwYzQ3NmM5NDY4ZDYzZTA4NzFhZjJjZWYxNzM4ICAuL2Rpci0wNjAvZGF0YS4wMDkKKzc2YzllZmVmYWE2MGVlM2ZiYTc4NTk3YjMzYzVmNTc1ICAuL2Rpci0wOTAvZGF0YS4wMDQKKzc2ZTBhMTgxOTZlNmI5ZThmMTg2MDc5MWQ1ZTcwMTQ2ICAuL2Rpci0wNzUvZGF0YS4wMDgKKzc3MWIwNWZlYTViYTZkYTRjZGJhODQ2ODNjMDcwYzk1ICAuL2Rpci0wNTMvZGF0YS4wMDYKKzc3NTg2YjBjMjExYWU5MDZiZTkwOTRkMDQ5MzcwNjc4ICAuL2Rpci0wMjEvZGF0YS4wMDMKKzc3YzMwNmQ4NTBiZWQ3MGFmOWE0MzNhNjg1ODIwNDMxICAuL2Rpci0wNTAvZGF0YS4wMDAKKzc4N2Q3ZTA4OWIyNTIwZmIzMjM4MjVjMGYzNGYxMDE5ICAuL2Rpci0wNDcvZGF0YS4wMDQKKzc4OWFlN2U5OWEzYTNmZjQxNjg4ZDBkYTBiYWE1NDkxICAuL2Rpci0wNDkvZGF0YS4wMDgKKzc4YmMwMjAxODhhNTkyN2QxYmRkOGEwMDkxNmU3YmRjICAuL2Rpci0wNDcvZGF0YS4wMDMKKzc4ZTRhMjlkODY2ZWVlZTZmMTZkYWMyOTIzZmY5MDM5ICAuL2Rpci0wMjAvZGF0YS4wMDIKKzc5YWRmYjNkMmE3NDg3OTMyNTExYTVhNDI3OWI2MWQ0ICAuL2Rpci0wMjcvZGF0YS4wMDAKKzdhMjdhNjY2ZTI3Mzc4NDEzNjcwNTZhOWQ4ZmQ5ZDVjICAuL2Rpci0wNjAvZGF0YS4wMDIKKzdhNTNkZGRiNzBhZWU1OGU1NjYxNDI3MjQ5ZWU3MDM4ICAuL2Rpci0wNzYvZGF0YS4wMDgKKzdhOTVhOTRmYTAyZWZmYTA5ODk1YjRjZjlmODA2ZmE4ICAuL2Rpci0wNTMvZGF0YS4wMDkKKzdhZGVmNjA0MTY3YzJhNzAzMWQxMWE2MTg3NmY1ZTNmICAuL2Rpci0wNTYvZGF0YS4wMDYKKzdhZmNjMThmZGVlZDI0YTRiNjU4MmYwY2I4YzhkNjNhICAuL2Rpci0wNzkvZGF0YS4wMDcKKzdiODA2YzBhM2JkMTI5NzNjNTU0MGE0YTY2MWVhNjk4ICAuL2Rpci0wMTAvZGF0YS4wMDAKKzdiOTFkMTBkYzlhNzM1MDFlMjY5NWZkMDNlZmNhOGE1ICAuL2Rpci0wNjQvZGF0YS4wMDQKKzdiYTY3ODFiOWY2YTIxMDJmNmVlNzdlNGJjZDY3ZTdkICAuL2Rpci0xMDIvZGF0YS4wMDcKKzdiYmM2YTNkMDhjOGFhZmU0OWYzODI4NmVhMTkwNzM2ICAuL2Rpci0wNTQvZGF0YS4wMDgKKzdiYzBmZjhmNThiMDUwZTM1ODhhNzBlYTVhODk5YzJhICAuL2Rpci0wNjkvZGF0YS4wMDcKKzdjMjk1NWNiZThkODYzNWI0M2YwNjdiNzgyYThkMjJhICAuL2Rpci0wMTMvZGF0YS4wMDIKKzdjOTZlZWViNjBhMDczOTI5MDE3ZTg4MzAyODdmN2FkICAuL2Rpci0wOTQvZGF0YS4wMDcKKzdjZWRmODk4YThmZTBkY2Q5ZTZlMmZkOThhNzRhYjhiICAuL2Rpci0wODIvZGF0YS4wMDUKKzdkMzI0MjViN2MxMDQ2MDRmOTBlZjUwODFhMDY2ZDY1ICAuL2Rpci0wMTUvZGF0YS4wMDIKKzdkYmM0ZDBiNWUwOTJlYzA3ZDcxODIxZDA2Y2VjMTUwICAuL2Rpci0wODYvZGF0YS4wMDMKKzdkZWFiZmRkYTY4YzA5Y2E3MjEyZWEwNTY1OWU5OTI3ICAuL2Rpci0wMTcvZGF0YS4wMDQKKzdlMjZjYzMwNjEyMzU2YTM0M2IzOWYwMjI5YWMzZDQ2ICAuL2Rpci0wMTkvZGF0YS4wMDMKKzdlN2MyYmFmMWNjNzU2MmI0MDdmY2ExMDg1YzA1ZDE2ICAuL2Rpci0wNzQvZGF0YS4wMDQKKzdlOWIwZmY2NmVmODBiYjUyNTc4MzFmN2QwNDk2MWI1ICAuL2Rpci0wMjAvZGF0YS4wMDgKKzdlYmU4MzZkODQxYjYzNjYyZWVhZDZiZWI0MTJkNGJjICAuL2Rpci0xMDcvZGF0YS4wMDAKKzdmNDllNzk4NTFiN2I0NWNkMmQzMzE3NWZhMWIyOTY5ICAuL2Rpci0wODEvZGF0YS4wMDEKKzdmNjY3ZmJkM2NjM2YyODU5MzJhYWY5MmRhMTg5ZDFjICAuL2Rpci0wNDQvZGF0YS4wMDQKKzdmODRhZDIyMjY5NTJkYzNhMmNhZDM4YzNlZTI5NzBjICAuL2Rpci0wMDcvZGF0YS4wMDEKKzgwNDUxNTExOTJiNDlhOGRhNGQyYzhlNjc2MmNjYmEyICAuL2Rpci0xMDcvZGF0YS4wMTAKKzgwNDhlMGNiYTIyMmNjMTY1NTc1ZWFjZTM5MjJlNWIwICAuL2Rpci0wMzkvZGF0YS4wMDAKKzgwNDlhYTc1ZWU0Y2IxYjRjM2JiYTU5ZGY2N2U0N2RkICAuL2Rpci0wNjgvZGF0YS4wMDIKKzgwOGFhZDgyNGI5ZTJlNDY1YmNhNDFlZmQxZjUyOTU0ICAuL2Rpci0xMDAvZGF0YS4wMDUKKzgwOTQwZmFkNzVjNzI0YTk5MDc2YzM3Njg5MjA4M2Y1ICAuL2Rpci0wMDgvZGF0YS4wMTAKKzgwOWFkOGY4N2IxZDM0OTUzODQ3OWViODI1NWZiZDk1ICAuL2Rpci0wODcvZGF0YS4wMTAKKzgwYjEyNjMxMzI4YjBkYTE1ZGVmNWFiN2ZmNTkyM2ZhICAuL2Rpci0wOTQvZGF0YS4wMDIKKzgwYjNhZGJlYWY3NzUyZjRiMjg2OTBiZjM0Mjc3YTk3ICAuL2Rpci0wODIvZGF0YS4wMDkKKzgxMWYyMjIyYmYzZTMyNjFlZGRmYTdjNWIzZDA4MWI5ICAuL2Rpci0wNDYvZGF0YS4wMDkKKzgxMjAwODQ2NGU2Mzc4ZjQxZDY5OTJiNWZmY2JlYjg0ICAuL2Rpci0wNDYvZGF0YS4wMDMKKzgxNzc0OTI3OTk1ODQyODhiNmQwOTEyZGRjM2M1Nzg4ICAuL2Rpci0wMTAvZGF0YS4wMDIKKzgxZmQxMzg3ODQwNjU0NGQzOTZmYjBkOTA3YzlhNDFiICAuL2Rpci0wNDUvZGF0YS4wMDYKKzgyMDBiZGMxMDQ4MGMwZjMyZTJmODNjZDY4NTE1ZjdlICAuL2Rpci0wODQvZGF0YS4wMDYKKzgyMDQwOGFjZTM0OTMyNTBkOThlODY3NGI4MTg3YTkxICAuL2Rpci0wNTIvZGF0YS4wMTAKKzgyMTE3MmU1NGU0YWZkNjJmNzA1ZDIyNjMzMWM3ZmI1ICAuL2Rpci0wODUvZGF0YS4wMDUKKzgyNjgxMmEzNjEwNWZjZGY0ZDU1MDBhNmRmMGYwOGQyICAuL2Rpci0wODUvZGF0YS4wMDkKKzgyZTE2MGNiNjhmY2Q3MzFmZmQ4Yzk4MmViNjY5OTIyICAuL2Rpci0wMzQvZGF0YS4wMDAKKzgyZjJiZGNiNDcyOGUzYWQyYWQ0MjY4OGM3NzYwNTFmICAuL2Rpci0wMDYvZGF0YS4wMDgKKzgyZmQwYzdiNzIzOTk5MjJjOTE1ZDU2ZmY2OTY2ZjA5ICAuL2Rpci0xMDUvZGF0YS4wMDcKKzgzOTYxY2EzYTdmZGNlN2VjNzA2OTZlMjE3NDY1M2M3ICAuL2Rpci0wODYvZGF0YS4wMDQKKzgzOTkxZDU3M2JiZDY0MzQ5M2M5NGZlNzZmY2E3N2ZjICAuL2Rpci0wMDYvZGF0YS4wMDcKKzg0NDU1ZTI3OTUyNzY4MmRjMTY1OTdjY2Q2NGJhMjYwICAuL2Rpci0xMDMvZGF0YS4wMTAKKzg0N2NlOTFjNGYzNzk2MGJmZjVkMzQwMjBiNDJlZDUyICAuL2Rpci0wNjkvZGF0YS4wMDMKKzg0N2U5NDE1NGZlMzlmY2I0MDk3NDkwMWZkMDViNTlkICAuL2Rpci0wNTcvZGF0YS4wMDkKKzg0YTdjZTM4YzYyMDJmZGI2Yjg5OGRmMjg1NDQ2NjYzICAuL2Rpci0xMDYvZGF0YS4wMDgKKzg0YWJhMmY1NjE4MTNhOWJhYzBiNGMwNjYyMDE1MmFlICAuL2Rpci0wNTEvZGF0YS4wMDEKKzg0YzU3NWJjMzlkNmMwYzkxNjAwYTJkZDllNDUzNjk4ICAuL2Rpci0wNzgvZGF0YS4wMDIKKzg1MTJlMDJlNDQxMDNmNjc2N2IzMzQzNDVkYzczNTc1ICAuL2Rpci0wNDkvZGF0YS4wMDMKKzg1MjBiZGNkMzY1ZGJiZWE1NmI0OGUxODFlODkyZTZmICAuL2Rpci0wMzUvZGF0YS4wMTAKKzg1NjE2YzBkYTY2MmYzOTZkMzAxY2IxZTZiZGQ3YmQ0ICAuL2Rpci0wMTMvZGF0YS4wMDQKKzg1ZWM4MzZlNjdlNmYyYmFlZWMwMWY2NjVlYjIzZTI5ICAuL2Rpci0wOTUvZGF0YS4wMDMKKzg2MDMwNjdjMTkzZTRhMWMzNTc4MDFiMzgxNjQxZGZiICAuL2Rpci0wOTIvZGF0YS4wMDMKKzg2MTFhNjZhYjAxMTAzM2IzYzkwNmJhN2I4OWU2YzJkICAuL2Rpci0wMzcvZGF0YS4wMDAKKzg2Mzc4YzJlYTM5NjU4NTI5N2YxNjU1MzFlNmM3ODkwICAuL2Rpci0wMjUvZGF0YS4wMDAKKzg2NjQzMGI1ZDM5MTFjNzM2Mzc2ZDdlNjYwYTgxZjAwICAuL2Rpci0wNDIvZGF0YS4wMDcKKzg2YmMzNjJkZGMwY2VjZGI0OGU0ZWY0ODllZmU5ZGQ5ICAuL2Rpci0wMDUvZGF0YS4wMDgKKzg3MmE3M2JiY2UyYzg0OGE1ODRlOTM4MmQ2MmE3YThhICAuL2Rpci0wOTAvZGF0YS4wMDcKKzg3NGM5M2UwNWY0ZjMyYmVmZjUwNTFjNGFmODZiOGU0ICAuL2Rpci0wNzIvZGF0YS4wMDAKKzg3NmEyZGQzZDYzMGQ5ODE0MzIwMzY5Mzg3NGY2MGQwICAuL2Rpci0wOTEvZGF0YS4wMDAKKzg3YTRhMTNhMTViMTc1YjhiOTQzY2VmZGZlM2U3NGU5ICAuL2Rpci0wOTEvZGF0YS4wMDgKKzg3ZGNlZDgyNGU4NDEzZTAyY2RiZjUzOWY4ZGUwNjFiICAuL2Rpci0wODYvZGF0YS4wMTAKKzg3ZjU4ODFkNWM0YTg5NDA4NTMwN2FhMTBmZGIxMDVhICAuL2Rpci0wNDEvZGF0YS4wMDkKKzg3ZjhlOTJjOGYxYTFjODQzMzM5ODgwOGFiYWY4MTY1ICAuL2Rpci0xMDkvZGF0YS4wMDMKKzg4MTI0MzcxNmJhNGUzYzVmZjNkZDM0MmMyMWMwNDBiICAuL2Rpci0wODIvZGF0YS4wMDMKKzg4OGRhM2QyNjY1NjQ0MmFhMWMxOWUyZTQ3N2U1OWRlICAuL2Rpci0wODMvZGF0YS4wMDkKKzg4ZmExYmQ4N2ZhMzFkODUzZTM2YmQ1MDM1MjYyMjdkICAuL2Rpci0wNDMvZGF0YS4wMDUKKzg5MjIxZDAxYzg5NDI2MmU5N2IxNWU3ZjU3OTFlMTRkICAuL2Rpci0wMTQvZGF0YS4wMDEKKzg5N2VkM2Q5ODRiZjVmMTM2OGZhYmY0OWYzYjBmMTJiICAuL2Rpci0wNzIvZGF0YS4wMDEKKzg5YTUwM2Y1ZDFhMWQ5Yjk0ZWFkZjE0YTNkN2E3ZGQ1ICAuL2Rpci0wNDUvZGF0YS4wMDAKKzg5ZTYwODFjMzVjZGQzYjg2YTgzNmNmZjUxOTcxMTg0ICAuL2Rpci0wNjUvZGF0YS4wMDkKKzg5ZjBhY2Q3NWNhOTYzYmVhYjBjYWJiZmZkNjI4NzI0ICAuL2Rpci0wOTEvZGF0YS4wMDEKKzg5ZjQ5OWIwZGE0MGFmNzY4MDJmMGUwM2RhNzdmNmY2ICAuL2Rpci0wNDAvZGF0YS4wMTAKKzhhMDEwYjE0ZWY2NzZkNDMwNGVlZjczYjFmMWY3OGUyICAuL2Rpci0wMDQvZGF0YS4wMDcKKzhhMTI4MzQ5M2VlNjBiNDk0YTU4ZTZhY2U3NDUyOTA3ICAuL2Rpci0wODkvZGF0YS4wMDkKKzhhNjJhODc0MmVkNzgwMjMwNDNkNGVhZWM1YjFlOTA0ICAuL2Rpci0wOTgvZGF0YS4wMDIKKzhhNmIwYzRmMmMwNGU5NmQ1MzE1ODY4OTk2ZmNkZGE3ICAuL2Rpci0xMDgvZGF0YS4wMDQKKzhhODJmZjQ5ZTcxMGJkODg0NTA4NjdhM2Y0NDBiMGRhICAuL2Rpci0wNzUvZGF0YS4wMDkKKzhhODdiNGUwMGM1MzFjZDU3N2EzOTAxMjM5N2EwZjg3ICAuL2Rpci0wNzkvZGF0YS4wMDAKKzhhYjkzYmZkZDllNjJmM2Q2ZGEwZGJiYzUzZWJmZmExICAuL2Rpci0wNzYvZGF0YS4wMDQKKzhiMDliN2Q2MmEzNzM1NjgxZGEzNjM3MTY1N2UxNGYzICAuL2Rpci0wMzkvZGF0YS4wMDcKKzhiOTNmMDRiNTJiZDFmYjA3ODFmOWQ0NmFjN2EyOTBmICAuL2Rpci0wMjUvZGF0YS4wMDIKKzhiZDU2NTBiMGU3ZDRmYmY2OTczMjE0YzJmNTA3ODAxICAuL2Rpci0wNDcvZGF0YS4wMDIKKzhiZDViZmFjMTA2YzY4Y2ZmYjNhMDk4YzRkMTU3Y2YxICAuL2Rpci0wNjMvZGF0YS4wMTAKKzhjNGZmOGY3ODBhOThlMzkyOTVmNTAwMjc4YTFkODg3ICAuL2Rpci0wOTUvZGF0YS4wMDkKKzhkMTExMGY5YWNjYzgwNGZjNDhiYjJlZTRhZjZiYmYxICAuL2Rpci0xMTAvZGF0YS4wMDkKKzhkNDI2MWU4MDM1MjA3MGQyODAwZjUyODkzMmUzN2Y0ICAuL2Rpci0wNTUvZGF0YS4wMDAKKzhkYjA4ZjY2ZGVlMTlhNTQ4YjNlNmViM2ExNTYwOTgwICAuL2Rpci0wOTQvZGF0YS4wMTAKKzhkZjc1ZmU3MTBkZGYyMzE2ZGQxM2Y4MDY1ZTRiZjQxICAuL2Rpci0wODcvZGF0YS4wMDEKKzhkZjgwMjc5ZjJiMjA1MWQ2NWJjZjFmN2E3ZGVhN2Q5ICAuL2Rpci0wOTcvZGF0YS4wMDAKKzhlNThhNDJjZjM4MzE3M2MwZGNkNjY5NDQwMmJjOTQ2ICAuL2Rpci0wMTQvZGF0YS4wMDMKKzhlOTkzMzkzNmUwMjYxNTk1MzRmNDUxY2QwNTQ4ZDRiICAuL2Rpci0wMjkvZGF0YS4wMDEKKzhlOWU0NTIxOGQxN2FlMWFhYzU3ZDI0YmE0NDE3ZDljICAuL2Rpci0wNzAvZGF0YS4wMDAKKzhlYWIyYjFkMWVhMmE1OTI2ZWE1ZTI3NjU4NzU0M2M0ICAuL2Rpci0wMjQvZGF0YS4wMDAKKzhlZTY1ZTgwZGEzNDQ5NDI1ZDZjOGNlZGM3YmU3MmZjICAuL2Rpci0wOTkvZGF0YS4wMDEKKzhlZjY0ODc1YTliOTk2OTg2OWNiMGYyNWEzMmZhMGZkICAuL2Rpci0wMzkvZGF0YS4wMDQKKzhmN2I4OGFmYTJjZmFlMGEzMzdlMWUzMzBlOTUwN2FhICAuL2Rpci0wNzUvZGF0YS4wMTAKKzhmZDRlYWI3NjhjNGI1OTA1ZTQxNjcyNWRlNDIzZjU1ICAuL2Rpci0wODcvZGF0YS4wMDYKKzhmZmM5MjdkZjg2ZGQ0YzVlMzk2NmU5ZDA1NjZlNDQ5ICAuL2Rpci0wMTQvZGF0YS4wMDAKKzkwNGE2ZDFiMjliNmIzNDZkMTdmZTU1NDhiOTBjYjZiICAuL2Rpci0wNTkvZGF0YS4wMDUKKzkwNGY2MThmZTg0OTYwZjRkNDk1YTJjYmY0OTRhMTc5ICAuL2Rpci0wMjYvZGF0YS4wMDgKKzkwZTY0M2EwZWFkMjRmMTE0NDliZTJjMTNkNzM5YTUzICAuL2Rpci0wMTcvZGF0YS4wMDcKKzkxMzYxZmM5NGExN2Q2YmQwMDFkMTM2MzU1Yjg1MzU0ICAuL2Rpci0wMjQvZGF0YS4wMDgKKzkxODUwYWEzODMxYTgyMWQzNzVjNDE2Y2YwNDhkODMwICAuL2Rpci0wMTIvZGF0YS4wMTAKKzkxZjE0OTlmOWZjMjFlNzQ4Nzk0NTk2MDBhODI1NjU0ICAuL2Rpci0xMDMvZGF0YS4wMDAKKzkyMDdlYzg3N2MyZmMwYzg4N2FkYmU4MWI5N2Q3MTYwICAuL2Rpci0wMjMvZGF0YS4wMDkKKzkyM2ZhZTFhYWQxZjdmMDg3ZjdkNTZiZTBhOTQ5YWJiICAuL2Rpci0wMjQvZGF0YS4wMDcKKzkyNGU2MDhlMTZkMTg1ODlhOTkzMmZjNzZhYjdkYWQwICAuL2Rpci0wOTAvZGF0YS4wMDUKKzkyNzk2ODgyOGQ1YzMwNjU4MDQ0NjZjMGI2NTRkZmI0ICAuL2Rpci0wNTQvZGF0YS4wMDUKKzkyOTdjOGUzMjA5YWQ2YzNlOWViODAzZDUxMTQ3NTNjICAuL2Rpci0wMzAvZGF0YS4wMDgKKzkyYjM4ODcxNzkzNjI1NTdhOTA2M2FkZjU0OGIyYmQ3ICAuL2Rpci0wODEvZGF0YS4wMTAKKzkyZjY2MmYxNmMzNzY4ZGI1ZWVkYTNiNjBmNGYwYWRlICAuL2Rpci0wMjIvZGF0YS4wMDMKKzkzYjdjNGQ1MzczYTM2NGI4ZTNlMjZkMDc3Yzk4MGM3ICAuL2Rpci0wNzkvZGF0YS4wMDIKKzkzZWIxNWI1M2U2ODc5ZWJhOWUyM2MyZjYzNmU3M2E2ICAuL2Rpci0wNjEvZGF0YS4wMDAKKzk0MGJlZTFkMzMwMDAyY2YyMzRhMzM4YjYzZDA3OTExICAuL2Rpci0wNjgvZGF0YS4wMDEKKzk0MTcyZTkyNGE3Y2RkYTYyOWYyMDJlMTE1ZTg2ZTk2ICAuL2Rpci0wNjIvZGF0YS4wMDcKKzk0NDQ5MjIwZmNhNmE5NTg5Mzg1N2E0NTllZWVlZWM2ICAuL2Rpci0wMDAvZGF0YS4wMDUKKzk0NGE2MGM1ODIwODg5YWM2YzIwNDM3OGFiOGVjNjg0ICAuL2Rpci0wNjUvZGF0YS4wMTAKKzk0NjExZjk3ZjMwYjMyMTZlZTMwNmE5N2VlMDYzMjg1ICAuL2Rpci0xMDYvZGF0YS4wMDIKKzk1YzRmNDRkYmM2NjJhMWI4MGYyMzFjMDNhMTgzMWEyICAuL2Rpci0wMzEvZGF0YS4wMDUKKzk1ZjM0YmY1NjA5NzdhYWJmNTZiMjM3NGJmZDgwMWZjICAuL2Rpci0wMzEvZGF0YS4wMDAKKzk2MGIzNDMzYWRkYmU0MTk0NDU1MDZlNDA3MGU3MDRjICAuL2Rpci0wMzEvZGF0YS4wMDQKKzk2ZmNjNWRmMzM5Y2FmZjE0MzExYTI0YTgxMTM0NzE0ICAuL2Rpci0wNDIvZGF0YS4wMDYKKzk3MDZkZDdhN2FlOTc5Yjg1ODE1NWRlYThkNTRjYjRlICAuL2Rpci0wMzMvZGF0YS4wMDgKKzk4NzNmY2FhYWYxMjlkOTIyY2IyOWMxMGRkNzY2NWExICAuL2Rpci0wNjYvZGF0YS4wMDIKKzk4OTM0ODEyM2RjZDA4ZWUzM2MzNTFlOTE1NmRkNTgxICAuL2Rpci0wMDUvZGF0YS4wMDkKKzk4YWYyM2FjNGRjODkxMzNjNzQ5Y2I3OTY4ODc4ODU5ICAuL2Rpci0wNDEvZGF0YS4wMDUKKzk4YjcyZmExNTI2ZTIwYzE2YWIwMjU0NmI2NTZhOTI1ICAuL2Rpci0wNjkvZGF0YS4wMDUKKzk5MDE5ZTVmZWVhY2VjZDYyOGI3OWIxZWI3ZTE2MWY3ICAuL2Rpci0wNzEvZGF0YS4wMDgKKzk5MTRiZWFjMTQ2ODE0OTNmN2E3YWExOWEwZjFiZDhlICAuL2Rpci0wMzUvZGF0YS4wMDAKKzk5M2MyYzFiNjRkNGQ5MDQ5ZGY2ZDVkN2NiNTZjNGM3ICAuL2Rpci0wNTEvZGF0YS4wMTAKKzk5OTQ5MGJjMzNlYzJhNTZhYjIzMGI2ZGE4YjFjMWQxICAuL2Rpci0wNDUvZGF0YS4wMDIKKzk5YjcwYTNiNTIzNWViZmQxZGU2ZTA5NmQ1NGFiNDFmICAuL2Rpci0wODMvZGF0YS4wMDgKKzk5YjgxYjEwMjQxMjk5OTFlMTliMDEwZWUwZjEyOTllICAuL2Rpci0xMDgvZGF0YS4wMTAKKzlhMGUwY2I5YTJmODlmYThjODg4YTczMTBiNDkxYWEzICAuL2Rpci0wNzQvZGF0YS4wMDIKKzlhMmQ2M2MxYjQ3YWEzNWEwZDY0N2QyNzhkN2IxM2IzICAuL2Rpci0wMjAvZGF0YS4wMDUKKzlhNzdiMDE3Y2I3MTQ2NDhiYjMzODg1MzcxN2FkN2U4ICAuL2Rpci0wNTkvZGF0YS4wMDYKKzlhZjMwNTJkNzllMDMyMzRkNTE3OTBiY2EzZjYyYWJkICAuL2Rpci0xMDMvZGF0YS4wMDYKKzliMTMwOGQ5YTcxZjNkMDdkZjIwYzY0ZWU5NDg1MjE1ICAuL2Rpci0wMDkvZGF0YS4wMDQKKzliMjQzZTc5MjMyMDdmZWViYTQ0ZWY4OTY3ODM1MjEzICAuL2Rpci0wMjkvZGF0YS4wMDYKKzliMjVjYzc3ZWMzODg0YjliMTE1ZjM0YTYxYWE2YjFhICAuL2Rpci0wMzYvZGF0YS4wMDIKKzliNDQ3NWQ2OGQ5OWIwZDhiNWI3MjRiMTYxZWMzODU4ICAuL2Rpci0wNzkvZGF0YS4wMDMKKzliN2JmYTNkZmIxMjIzYzA4NGE3MzJhNDYwMDEwYmE2ICAuL2Rpci0wMjcvZGF0YS4wMDQKKzliZDIzOTNmNDE2NzEwNGM2MDJmNDYyY2ZmOTczYzlmICAuL2Rpci0wNTgvZGF0YS4wMDUKKzljNDMwZTZkYjhmMTUzMGRmY2FiNDBkZTFhZTMyMGVlICAuL2Rpci0wNTgvZGF0YS4wMDAKKzljNDhmZjBlOWZjMjEzY2IyYjQ4M2RiMjMwZmViMzQ1ICAuL2Rpci0wMjIvZGF0YS4wMDkKKzljOWEzZWZmNTQ5ZGVlODhhMzVjNTg5ZGRkOWQyMThiICAuL2Rpci0wMTgvZGF0YS4wMDEKKzljY2QwNWFjOTZmZTkxOTJhNmUzYzliODY0ZjUxY2M1ICAuL2Rpci0wNDMvZGF0YS4wMDIKKzljZjMzYTdjODkxZDZjNzQ3MjI2N2Q1N2NhNmNiYzY2ICAuL2Rpci0wNDYvZGF0YS4wMDIKKzlkMjFmYjMwYWZhYWVmNzlhZWNiMGRhOTgxNWMzNDdiICAuL2Rpci0wNTAvZGF0YS4wMDEKKzlkZjJjZDlmOTVmZTk5N2M4ZGU2MmM1NDgxZDNjOTNmICAuL2Rpci0wMzQvZGF0YS4wMDMKKzllM2I4NDMwYzdjYjg3MDgwM2VjMjg2YzEzNzE4YjAyICAuL2Rpci0wMDMvZGF0YS4wMDMKKzllYTljN2Q2YjlmYjMxODhiYTA4MjExMzZjMjI4ZTdlICAuL2Rpci0wOTUvZGF0YS4wMDQKKzllZGY5YTA1NjA3NTIwMDhjZWFhYTRhZTNlZDU3ODVlICAuL2Rpci0wNzEvZGF0YS4wMDUKKzlmNTQ5NjU2NDY2ZjcwZjYyMmM5ZGYxYzRjY2M5NTIxICAuL2Rpci0wMzMvZGF0YS4wMDUKKzlmODA5NTgxNDBkNjViNWUwZmI5YTUyMTY3YjFjNDIyICAuL2Rpci0wOTkvZGF0YS4wMDYKKzlmYTdmOTJhMjFiYTUwMDE0MGFmZjE3ZDg3NjJhNmFhICAuL2Rpci0wNzYvZGF0YS4wMTAKKzlmZDNiMjgwNGY1OTMzNzRkZWY1YTMwMmE4YjQ1MGM0ICAuL2Rpci0wNzQvZGF0YS4wMDUKK2EwMzM5ZGUyYzAxM2YyZDAzZjc1NmE4MTQ0NjM5ODk3ICAuL2Rpci0wNjEvZGF0YS4wMDkKK2EwYTI3MGNlMzc5ZmQ0ZDk5MWQ5Y2E3MjhkNjNiMzZhICAuL2Rpci0wMTIvZGF0YS4wMDQKK2ExMjFiMzBmYTBhZDUwYjRlODI5YTQ1ODc5Y2M1ZWRmICAuL2Rpci0xMDEvZGF0YS4wMDYKK2ExOGI2OGM3N2NlOTBiOWJkYWNhMWFlNTUyODIzMzdkICAuL2Rpci0xMTAvZGF0YS4wMDQKK2ExZTJjYWQ4ZTk3YzgyZjMyNTM0NDJjZmY5OTdiY2YwICAuL2Rpci0wODAvZGF0YS4wMDAKK2EyMzhlMjUwNzIzYjQxMTAxZjA3Y2ZjYTE3ZjExNTY0ICAuL2Rpci0wNDUvZGF0YS4wMDgKK2EyNDZjNWM2YzFmODIzZWI0MTNhZjM3ZDM0YjNiZmZmICAuL2Rpci0wNzcvZGF0YS4wMDgKK2EyOWMyNGUyMWU2ZjYwNzU3MGY3NmU1NjI1ZDNkYzk5ICAuL2Rpci0wMzIvZGF0YS4wMDMKK2EzNDFkOGIxNTJiZThkMzQxNzgyZGI1YWIxZDdhYWJmICAuL2Rpci0wODQvZGF0YS4wMTAKK2EzNWVjODZiMzFkNzM4NDkxNDc4ODBlZWE0Mjk3ZmQwICAuL2Rpci0wNjMvZGF0YS4wMDEKK2EzODkxY2Q2ODU1YzM0NmIwN2Y2ZDFjZDM4NWM0OWI1ICAuL2Rpci0wOTQvZGF0YS4wMDQKK2EzZDk0MTBlZmIwYjFmZjY2MDBiM2Y2Mjc5NzFmZDE2ICAuL2Rpci0wNDIvZGF0YS4wMDEKK2E0MDU4NzEzOGNlZDA0YjIwZmIyNTI3MzU0NjA2ZjJjICAuL2Rpci0wNzYvZGF0YS4wMDYKK2E0Njk4MTBlNGQxZGFhMTNmM2U5YjJlNmY2OGI4ZDEzICAuL2Rpci0wMDQvZGF0YS4wMDYKK2E0YzEzZGE5MGNiY2YyZjE2MjRhNGIyYzJhOWJiMjMzICAuL2Rpci0xMDkvZGF0YS4wMDgKK2E0ZDRkNDkyMTc5ZWIyZGNhN2NlMzA1NzFjOGVmM2JhICAuL2Rpci0wMDcvZGF0YS4wMDQKK2E1MmRhMGFhMWE3YWNkODc3OGZlNmY0MGYwZjhjMGE5ICAuL2Rpci0wNjEvZGF0YS4wMDQKK2E1NTRiOTA2OGVmNDA2Y2EzNzJmOTE4OTMwNGE4MmI3ICAuL2Rpci0wNTkvZGF0YS4wMDMKK2E1ODFlNzVmODRmNGFjNmFkOWU3MGU1YjZiZWE1M2E0ICAuL2Rpci0wOTUvZGF0YS4wMDYKK2E2MDU1ZDAwNDdkODE0YTMxZjMyZTQxODU0NDFkNGExICAuL2Rpci0wMDcvZGF0YS4wMDcKK2E2MDc0MWUyMDliNzI2ZmRhNGU5NjliZjM0NGY0YWVhICAuL2Rpci0wNjkvZGF0YS4wMDEKK2E2Mzk1YTliY2Y1MzUwNmNlZjFjNmI2MmNjMzdmMmQ0ICAuL2Rpci0wMDMvZGF0YS4wMDAKK2E2NTA0MDk1NTg4NGQxYzZlNGQ1NGFkOTI5OWEwOGUyICAuL2Rpci0wNjIvZGF0YS4wMDEKK2E2NTQ1NzU1MGQyMzgwN2IyMWMxYWZhOTNlOWQyMWVmICAuL2Rpci0wMzUvZGF0YS4wMDkKK2E2NmUyYWVmODAyZjkyMzg1YmYzOGIwMWNlOGIwYzgwICAuL2Rpci0wMzEvZGF0YS4wMDMKK2E2OTUyYzgzZjZhNDA2ZWQxYmFhMmIxMjUxYmNjZmZmICAuL2Rpci0wMzIvZGF0YS4wMTAKK2E3M2FhMjZmNjJkZTk5ZTk3ZTY5MTM3OWZmNjRlODM4ICAuL2Rpci0wNTUvZGF0YS4wMTAKK2E3M2FkNmI4NDdhZjgwYjY2ZjRiMzdiZjc1MmUxMDk3ICAuL2Rpci0wOTYvZGF0YS4wMDIKK2E3OGQ1M2U2MTdkMzFkMjlkMDdhMWJjOGQ0NjNlNDU2ICAuL2Rpci0wOTYvZGF0YS4wMTAKK2E3OTAzMzM0ZGFiMmM5OTQ4YTk0NjBkOTRmZmQyN2ViICAuL2Rpci0wODIvZGF0YS4wMDIKK2E3OTU3Y2QxYmZiMzhiYjI2NWMyZDkwOWJmNGYwYjIxICAuL2Rpci0wMjYvZGF0YS4wMDcKK2E3OWRmNjE1MmRhNGI3OGVjZTY2M2Y0Yjk1ZDIwY2QzICAuL2Rpci0wNDEvZGF0YS4wMTAKK2E3YWE3ZjAyMTNkNDFkYjliN2EyZDYzYzkwZjc3NzcyICAuL2Rpci0wNTMvZGF0YS4wMDEKK2E4MTExYTQ0MzkyNDRlZDlkZTZlMGM1OTQ0ZDdmZmExICAuL2Rpci0wMjkvZGF0YS4wMDgKK2E4MmIxZTc2OWMzM2ZlNzAxMTk0ZDk1ZmNjZjAyOWM4ICAuL2Rpci0wMTAvZGF0YS4wMDQKK2E4NTczY2E4NzE5OTEwZDNlYTI1ODM5Y2Y1MjlkNDQxICAuL2Rpci0wOTEvZGF0YS4wMDkKK2E4NWM2NjI5ZGE1M2QzMmEwZWQwZDNjOGIwYTI2YzcyICAuL2Rpci0wNzcvZGF0YS4wMDUKK2E4YTEzN2RmMDRiODdhYzczNmUxNTg1MTVlYzcxYTQyICAuL2Rpci0wODcvZGF0YS4wMDAKK2E4YTdhYzg3YzQyNmFhMDQ3YjU3M2IyZGNiYzRhMGU2ICAuL2Rpci0wNTgvZGF0YS4wMDgKK2E4YzAzOGEwM2Y1YmMyZTZiNTJmMDJiOGM1YzUyY2IyICAuL2Rpci0wNTQvZGF0YS4wMDkKK2E4YzRjMWY5MjQxMzNlYzBjODM2MDkwMWJjZjZjMTk5ICAuL2Rpci0wOTQvZGF0YS4wMDEKK2E4ZTA2Yzk4MTQ0ODE5ZDk4ZTgwOTQ5MmYwOGFhMjljICAuL2Rpci0wMzUvZGF0YS4wMDEKK2E5M2E0OWZkNzg0YzZhZDkwMzg1ZWEwMjJlY2QyMzQzICAuL2Rpci0wNDUvZGF0YS4wMTAKK2E5NWM0NmFjNzA0N2I4ODY2ZGQ5MjI1ZWU0ZDY0OGM2ICAuL2Rpci0wNTQvZGF0YS4wMDcKK2E5N2Y5YzZjNTIzZjU0NzkwNDYzNzdlY2E3OTNlZjUzICAuL2Rpci0wNDAvZGF0YS4wMDAKK2E5YTUwZWQyYjE2NWQ1NDhhMWFjYTJlNGIzMDZkMDZiICAuL2Rpci0wNDgvZGF0YS4wMDYKK2E5YmEwOWRmNTQ2OTMwYmEyNzY2M2RmMDIyN2IwNDdhICAuL2Rpci0wMDIvZGF0YS4wMDMKK2FhMTIyYmZkNzYwZWE0ZGM1MGFlY2Y0ZjUzM2M2NWFhICAuL2Rpci0wMTYvZGF0YS4wMDQKK2FhM2ViNTNjN2E3YTc3NjkwZTk5NmE1YzBjMWNjZmFlICAuL2Rpci0wMjQvZGF0YS4wMTAKK2FhNjFhNWQ1ZjMzNmIwYjUwZTZiMWQwNzk2Yjg5MGFlICAuL2Rpci0wODgvZGF0YS4wMDkKK2FhNmZlZjYzYzNiMmJiYjljMTdjOWJkNzMwOGM1MzA2ICAuL2Rpci0wMzYvZGF0YS4wMDQKK2FiMGY4ODFmODcyNTYzYmQ3ODQ2YzM0MzJlZjdmY2U2ICAuL2Rpci0wMDMvZGF0YS4wMTAKK2FiMWVhMWZlOTViM2FmN2RiNjRhYThmYTE0Njc2MGJjICAuL2Rpci0wOTMvZGF0YS4wMDgKK2FiNWFjZDZjNTk0MTVlMTNkYzc5MWUzZjMwMGJjY2QyICAuL2Rpci0wMzkvZGF0YS4wMDEKK2FiZjE3NWVmZmQ2YzA0ZGJlZGMwNGEzMWYwMDllZjcyICAuL2Rpci0wMzgvZGF0YS4wMDQKK2FjMDBiYjYwMDFlMzU0YTYwNDA2M2YxZTMxYThmZTNjICAuL2Rpci0wMjgvZGF0YS4wMDAKK2FjMGVlZTQ5ZTQ3MzcyNmRlYjU2ZDQ3YTgyMzE5OGQ5ICAuL2Rpci0wODYvZGF0YS4wMDkKK2FjNmUxZjYxNmZjYWI5M2JlYmVhMTJjM2RkMWZlZmVlICAuL2Rpci0wNjUvZGF0YS4wMDEKK2FjOGU1OTZmZGY2Mjc5ZTQwZmQwMDg1YmIwZjM0MTY1ICAuL2Rpci0wODQvZGF0YS4wMDUKK2FjYzFlZTdmZWJkMTAwYWIyM2I2YTQ3OWQzMDAxODI1ICAuL2Rpci0wNjEvZGF0YS4wMDEKK2FjZGJlMmU0OTZkNmFlMjNjMGYwZGNmYjBlYTZmYWE4ICAuL2Rpci0wMDUvZGF0YS4wMDUKK2FjZTljOGI1ZGQ4ZTU1ZGQxMzczNWM2NDljOWQ0YWY1ICAuL2Rpci0wOTkvZGF0YS4wMDgKK2FjZjVjYjJjN2IxZWI0MzkwYTYwYTE3NzRiYzRiYWIwICAuL2Rpci0wOTAvZGF0YS4wMDkKK2FkMjQxMTRjOWNiOGYwMzVhZGUyZTg2MmQ5YWJhZmE4ICAuL2Rpci0wNTMvZGF0YS4wMTAKK2FkMzIwY2RiZmJmYTVjZjZjN2I3YThjNDBhNjg2MTkzICAuL2Rpci0wMjEvZGF0YS4wMDAKK2FkNWIyZDU0OGRiYmZlNmFiMGUyMTQzN2JiMmUxZjJkICAuL2Rpci0wMTkvZGF0YS4wMDEKK2FkZTk4YWRlYjQ1YWIxOWM3Y2U4ZDQyNzgyZGMwNGE3ICAuL2Rpci0wODcvZGF0YS4wMDUKK2FkZWZjNTg1NmQyYTQ1OTViZWViMWFkY2JkMTcyMjIxICAuL2Rpci0wMTkvZGF0YS4wMDgKK2FlODFjOTUzNzg2Y2VjODJkMGYxZjk0MzViMGQwYzBkICAuL2Rpci0wNTYvZGF0YS4wMDkKK2FlYmJlZWI1ZTQyMWNiOGFkMmU4MzFhMzAyNzQyYTZlICAuL2Rpci0wODEvZGF0YS4wMDMKK2FlYzQ5NzhiODE0NDFkYTljYmE5MDA4NTQ5ZmQ1OGI0ICAuL2Rpci0xMDMvZGF0YS4wMDcKK2FlZjYyOGQ3Njc2YWUyMTE1M2E4N2UwZjFlZTA4MjdkICAuL2Rpci0wNTMvZGF0YS4wMDAKK2FmOTM4NWI3NjI1Njg0YzNkMTUzODU0YmZiYzQyN2ZiICAuL2Rpci0wNTcvZGF0YS4wMDcKK2FmOTQ5ZTI5MmM3MzZkZWM2NGMyOWIzNWRiYzk0Y2YzICAuL2Rpci0xMDQvZGF0YS4wMDgKK2FmYjY4ZGQ5MDk1NmM3MjljNDkyMTFhYTVjYzk3NGQzICAuL2Rpci0wMTgvZGF0YS4wMDAKK2FmYzVjY2VhZWQ5MDFlM2JhZjI2NDEwZTUzMGIyMTEyICAuL2Rpci0wNDMvZGF0YS4wMDcKK2FmZDA1MTQxYmU2Zjg2NWE2NGU5MzkwOGUwNWFiMmU3ICAuL2Rpci0wNzAvZGF0YS4wMDQKK2IwNTBmNmYwYjU1Y2FmZDkxYWY4YjViZmVkOWQ3ZWYwICAuL2Rpci0xMDYvZGF0YS4wMTAKK2IwNmJjYTUzYjEzMTMwNGE4OWQxNTJmYTg2OWU4ZDQ0ICAuL2Rpci0wMDYvZGF0YS4wMDYKK2IwN2UwN2Q5ZWI1Yjk3NjVkNTkxNjkxMGQzMDIyYTE1ICAuL2Rpci0wNDEvZGF0YS4wMDMKK2IwOTk2NjFkMGRjN2U3NzdlOTRiODhhNzY4NzkyYWJhICAuL2Rpci0wMjkvZGF0YS4wMDAKK2IwZjlmYmMzODg5ODQzNzU2YzJmYmJkYmM4ZTk1YzgwICAuL2Rpci0wNTIvZGF0YS4wMDcKK2IxNDFlMDc0NmQ3NzFiNjQyYjgwNzg5ZTJjZWU3OGI3ICAuL2Rpci0wNTUvZGF0YS4wMDUKK2IxNTQ1OGI4ZDI4YjRmZjI3N2FhMTlkNjQ0YzNmMDFlICAuL2Rpci0wNzgvZGF0YS4wMDQKK2IxOTY5MmJmY2M4ODdhMDMyNmVhMGQ5ZmY3NzdiNzA4ICAuL2Rpci0wODIvZGF0YS4wMDgKK2IxYTBmNjdjMjIyMTFiNjBlYWEzYWQwNDMzMDBlYzM5ICAuL2Rpci0wNzcvZGF0YS4wMDcKK2IxY2IwN2Q3ZjRhYjAzMTUyMmExMDkyY2RhMDA5ZWE1ICAuL2Rpci0wMjQvZGF0YS4wMDkKK2IyMjgzOTFlNWI2NzRmNmUzMjBmNDZjOTJhMjMxYTZkICAuL2Rpci0wMTMvZGF0YS4wMDEKK2IyMzFiMTY5Mzg5MjJiNjJiYzMxM2M0ZGM3OTFlODlmICAuL2Rpci0wNDAvZGF0YS4wMDEKK2IyMzVlNjY3ZmUwNmUyMzMzZDNkNGY0Y2ZlYjExZDhlICAuL2Rpci0wNjEvZGF0YS4wMDcKK2IyNWU0N2I4ZTYwODRhNzcxMDgyYTc5ZDI5NjQxMjVkICAuL2Rpci0wNDIvZGF0YS4wMDgKK2IyYTUwMTdlOTEzYTI1NGIzM2M4ZmM1MWEwMzA0NzQ1ICAuL2Rpci0wMTgvZGF0YS4wMDUKK2IzMjlkYWQ2YWQ4NWM2NWE5MjIyYjhiMjYxZTg2MzYxICAuL2Rpci0wMDgvZGF0YS4wMDgKK2IzM2NkMGUxOGI1YTIzODRkYzA1YTQ2ZjY5YjA5MDU5ICAuL2Rpci0wMDcvZGF0YS4wMDAKK2IzM2YxMzYyNGE3YTdjZmM1MGZlZjA0NTZkNzQ5NDdhICAuL2Rpci0wOTcvZGF0YS4wMDUKK2IzNjdhMDM2M2I1NzRhODQ1NWI4NDFjYWRhMDRhY2NkICAuL2Rpci0wNDcvZGF0YS4wMDUKK2IzYzVhYzlhZjRkN2EwNDMyNTE4MjgwNjQ1Mzk1OGJhICAuL2Rpci0xMDMvZGF0YS4wMDUKK2IzZGZjOGIwZmI3NjE2Mjg3YWY2Zjc3NTcyMDdiNmI4ICAuL2Rpci0wMzMvZGF0YS4wMDkKK2I0MWQwYWZhNGQ1NzgyM2UzNGQxMWU2NGJkNjUzNGE2ICAuL2Rpci0wODcvZGF0YS4wMDkKK2I0NDViN2U2MjRlN2YxZjdhNWJlNjU0MWEzYTkzYThhICAuL2Rpci0wNDMvZGF0YS4wMDkKK2I0NmNmNGE3NjdhMmQzODk4MDBkZGEwMzc0OTE3NDI3ICAuL2Rpci0wNTcvZGF0YS4wMDIKK2I0YzY1MTY2MTgwYzE2ZTU0MzdmYmZlMDNhZjRiNWQ0ICAuL2Rpci0wMTUvZGF0YS4wMDQKK2I0Y2NmOGRhMTQ5OThjYmU3MjFjOTkwZGU0NmM5ZWRjICAuL2Rpci0wMzIvZGF0YS4wMDgKK2I1NGIzOTJiNGNmZjkyZjgxNTFkNThjYjkyZTY4OGEwICAuL2Rpci0wNjcvZGF0YS4wMDcKK2I1OTM0Y2JjZTE2NTFjMTJjYmI0ZTYxOGUwOTFmNDM1ICAuL2Rpci0xMDIvZGF0YS4wMDEKK2I1YzFlNTdmZmEwY2ViMDk0NzE3MGY2MTAwNzVmM2IwICAuL2Rpci0wNDMvZGF0YS4wMDEKK2I1YzhmNGNhOWQyY2ZmNTI0NWI4NDdlMjFjN2RmMDQ5ICAuL2Rpci0wNTAvZGF0YS4wMDIKK2I2MWJmMzE5YzU3ZGE0ZWI0ZjEyMWZkNWM1MzU3NjBjICAuL2Rpci0wMTUvZGF0YS4wMDcKK2I2N2ZiNWVlN2I5MzA2MWFkZTY0OTI5NDkyNTkwZjVjICAuL2Rpci0wOTcvZGF0YS4wMDMKK2I2OTAwNzdlYmIyNWMyNjA1ZWYwZWUzMzcyODk0Y2VjICAuL2Rpci0wNDQvZGF0YS4wMDMKK2I2YzIwY2VkOWZmZTBlOTFmYmY3YzRkNzFjYzQ1MWJjICAuL2Rpci0wNzUvZGF0YS4wMDcKK2I3NTM4Zjg4MGQ5MWEwNzAzNzI5MGY5ODAyN2VkMzA2ICAuL2Rpci0wNDAvZGF0YS4wMDkKK2I3OWYxYmRiNWJiYjQ3ZTVkOTY1ZTkwMTM3ZGRmMjZlICAuL2Rpci0wMTUvZGF0YS4wMDYKK2I3YjdjYWQ4NzIwZDBmOTlmZGJkNzk4NGNhYWQ4ODMxICAuL2Rpci0wNjEvZGF0YS4wMDYKK2I3ZjU2YzllYmFkY2FlOGJkN2IzMGUxNGJkZTBiNWQyICAuL2Rpci0wMTQvZGF0YS4wMDUKK2I3ZjZkMTExOGVlOTMyYzY1ZjFlNWExOTMxZDZjOGZmICAuL2Rpci0wMTQvZGF0YS4wMDkKK2I4NGFjOTZjZWRiNDQyZmUyMzVjZmZjOGFhMzExOTlmICAuL2Rpci0wMTcvZGF0YS4wMTAKK2I4OGM1N2FiYTI2ZjhlMWMwODVjZmM3YWUxMTg4OGQwICAuL2Rpci0wNzMvZGF0YS4wMDUKK2I4YmYxNzFlZDRmNWY5MDVjZjhmN2RhYjZhODJhN2QzICAuL2Rpci0wMjEvZGF0YS4wMDIKK2I4YzMzNmRkNmVjN2RmNWNiM2Y3MGFjNzllMTY5MjIxICAuL2Rpci0xMDgvZGF0YS4wMDUKK2I4ZGU4NDdkOGFmODMyOTIwNmI1MTZmODI1OTQ1NDM5ICAuL2Rpci0xMDcvZGF0YS4wMDgKK2I5MTA1MzA1OGY1Y2I4NjhhNjVlYjAwZmZjOGM4NWRiICAuL2Rpci0wMTgvZGF0YS4wMDcKK2I5ODNlYzVlMjY5NmRlYzQyZTg4NmU0YWFmMjRjMmRkICAuL2Rpci0wNDEvZGF0YS4wMDEKK2JhMThlNmFmNDgwNzk5Y2I2MWFjZjBlMzk4NDQxM2Q5ICAuL2Rpci0wMjMvZGF0YS4wMDEKK2JhMWM4NmI0Yzc1MTllOTk4N2ZjNjJlMDRlMTRiOTNmICAuL2Rpci0xMDAvZGF0YS4wMDkKK2JhM2QzNzM1ZGI3NTAxYmI0NWExYmMzN2ExYzkwZDkxICAuL2Rpci0wMzkvZGF0YS4wMDYKK2JhNWRmZjQ0NThlNDM4YTM3ZjcwMjBhNjk5N2NiM2ViICAuL2Rpci0xMDIvZGF0YS4wMDIKK2JhNzFlYTY2ODg1MzM5ZWZjNTA0ZjU4MWZhOWQwNWZhICAuL2Rpci0wMjEvZGF0YS4wMTAKK2JhYjczNDAyMzBjYWZmZDlhYmU0NWEyMTNjYzdjOTRkICAuL2Rpci0wNDQvZGF0YS4wMDYKK2JhY2Y3NTkwOTlkM2NlMzNjZGUxMDRmMGZkMDk0MDRiICAuL2Rpci0xMDcvZGF0YS4wMDYKK2JiM2RjOWQ5MmU3YzEzMTkxNTAyZjljYTJkOWEyYTQ2ICAuL2Rpci0wMzQvZGF0YS4wMDYKK2JiZjYyZGIzZTI3Nzg5M2FlNzA1Yjk1ZGYwNTdjNjc2ICAuL2Rpci0wNDYvZGF0YS4wMDEKK2JjOWExNWVlNTM1NzFiZTA0Y2ExOTkyNzU0ZDQwN2JjICAuL2Rpci0wMzcvZGF0YS4wMDEKK2JjYWRkNjNlMDBmYWQ0YjdmMDlmMzJjZjUwYzYwNmY4ICAuL2Rpci0wNzgvZGF0YS4wMTAKK2JjZTQzZjRiYzMyZTNiNDMxY2U4OGU3MTRlYmRlNGU3ICAuL2Rpci0wNzgvZGF0YS4wMDcKK2JkNTdjYTI1NTJhMzUxOTY0MjJlYjI1NGQwYjY2ODliICAuL2Rpci0wMTAvZGF0YS4wMDcKK2JkNmQ5NjYxZWY0NGVlOTRmM2E1NzY3OTRiYTJlOTcyICAuL2Rpci0wODMvZGF0YS4wMDAKK2JkODVlOGM4YzBmZDRmZmQwYThhYmRkMzg2NzVlNGE3ICAuL2Rpci0wNjEvZGF0YS4wMDIKK2JkOGU5YzM5MmJjNzZjM2QwNGNlMjNhMzc2Y2Y3OTQxICAuL2Rpci0xMDQvZGF0YS4wMTAKK2JkYThkNTNjNDVjNTIxYzVhN2ZjY2NmMTllMGZkNGQyICAuL2Rpci0wNTIvZGF0YS4wMDYKK2JkYTk0NmQ3MjkzMDg5ZjQ4N2RiY2Y2NDU2NGI3ZDc5ICAuL2Rpci0wNTEvZGF0YS4wMDMKK2JkZDI4NTA5MmZhZjVhMTljOWE4YjNmYmQxMTYyZDY0ICAuL2Rpci0xMDEvZGF0YS4wMDAKK2JkZjM5Yjg5MzU2N2IzYTYzMjlhMzZkYWM0OGI1MTZjICAuL2Rpci0wOTkvZGF0YS4wMDUKK2JkZjU2YWRlMzQ2MjhkOWEyZTc1N2IyYmM2ZWIwZTBjICAuL2Rpci0wMTMvZGF0YS4wMDcKK2JlNTA3YTgzMGRjMDliOGM2ZDgwMmQ0NTY0N2VkYjU1ICAuL2Rpci0xMDQvZGF0YS4wMDIKK2JmMTA2YTYwZWVkMTk2M2NkM2U1ODQ2MWMzOGNkYTg3ICAuL2Rpci0wMzQvZGF0YS4wMTAKK2JmMjFlNDkzZDUzNjM4NWM0NWRmMDM3YjJlOWNkYjQ1ICAuL2Rpci0wODkvZGF0YS4wMDAKK2JmYjBmNGJhOWE4NTg4YmVjM2NlZjRlZGU2YTNiYjU3ICAuL2Rpci0xMDYvZGF0YS4wMDkKK2JmZGE4NjgyNzdhNmM2YzBlMjU3OTVhZDczMzE2MDc0ICAuL2Rpci0wMzIvZGF0YS4wMDYKK2JmZGFjMmM5ODhkZTM5Y2VjOTVhNTlmOGEwOTA2MzZkICAuL2Rpci0wOTIvZGF0YS4wMDkKK2MwMWJkZTRlOWZkNzczM2I2YTkxNTI4NGFjMTJjNGU4ICAuL2Rpci0xMDgvZGF0YS4wMDcKK2MwNTZmZjcyYTliMTg3MzMyZGNhMzAwZmJiODEyMjZlICAuL2Rpci0wMjYvZGF0YS4wMDMKK2MwYjIxODJkZTE5YzE2OTViNzEyNzdkNGZiZmFjYzE4ICAuL2Rpci0wNTIvZGF0YS4wMDEKK2MwYjk0YTUzODE3NmFhNjk4NmNhZmEyZTJmZDhmZThjICAuL2Rpci0wNDUvZGF0YS4wMDQKK2MwZTE2YTk2MDE0YTEzOTk1ZTUzN2U4ZTM5YjAxNTVlICAuL2Rpci0wNTIvZGF0YS4wMDIKK2MxY2YxNGUzODEyYThiOTkzMzkxMWRhNjc5YzQ5ZjhmICAuL2Rpci0wNzIvZGF0YS4wMDcKK2MxZWYwZWMxZmUzY2M2NGQ3MDVkNTQ5OWI2ZWU2MjJlICAuL2Rpci0xMTAvZGF0YS4wMDEKK2MyMTI5MTIwYmM5NjcwM2QyODkyOGQ1NjdiYzVkZjU4ICAuL2Rpci0wMjUvZGF0YS4wMDUKK2MyNDI5ZGJjZjQ5MjllZjg4NmI2MTIxNDdlOGVmYmIzICAuL2Rpci0wNDgvZGF0YS4wMDgKK2MyODFmOWE0MmI1MWVhN2FmOTNlNWE4OGMxMjE2MTIwICAuL2Rpci0wODQvZGF0YS4wMDgKK2MyYzJhYmI5ZTg3MGQxNDRkZGUwNWVjNmQ3YTk3OWRhICAuL2Rpci0wMjgvZGF0YS4wMDMKK2MyZjE4NDYwMjUyOTNjMjU2MGVmNDRhMjI4N2NhOTQ4ICAuL2Rpci0wMDcvZGF0YS4wMDIKK2MyZjZkYTA4ZTNlNmMwNGZhMDRkYmU0N2Q5ZDkxZWFkICAuL2Rpci0wODUvZGF0YS4wMDEKK2MzNTM3M2ZiOTg4OGMzMDI3MmQyZjU3NGMwYTk0MjNiICAuL2Rpci0wNzkvZGF0YS4wMTAKK2MzNzJlMzUxNzdhYTMyODZjYjU1MDg1OTBiMTkxMzAyICAuL2Rpci0wNTEvZGF0YS4wMDUKK2MzY2M5MGRkMzNiNmU1ZWQxMDA4MTQ1NmYwNzBjNDQ3ICAuL2Rpci0wODUvZGF0YS4wMDIKK2M0NzAxMWY5NDg4YThiOGI1NTEwYWE5NmVmMTFmZTU3ICAuL2Rpci0wMzkvZGF0YS4wMDUKK2M0OTU4ZmIwOWVmZjBkZDUxOGI4YTY5OTdjNmI3MWZjICAuL2Rpci0wMTcvZGF0YS4wMDkKK2M1Mzg0OTI0OWZhZDBkZWZkZjgzN2JiZGRmYTE1NDg5ICAuL2Rpci0wNzcvZGF0YS4wMDAKK2M1Njc3NTY5MGI5NjFiZDA0MjVkZmQzZDgzZGM0ZmE3ICAuL2Rpci0wNjYvZGF0YS4wMDAKK2M1ODA0MzExMjE1MDc4YWFjZGE4OTU5MWM0MGJiNGMyICAuL2Rpci0wMDUvZGF0YS4wMDEKK2M1YjMyMjdhYTU0ODQ5MTlkY2EwZGE5NDczOTA0MTlhICAuL2Rpci0wOTYvZGF0YS4wMDAKK2M1Y2FmODU3NTAzOGNlY2E5MWIxNDBkOWQwZTNiMjRlICAuL2Rpci0wNjkvZGF0YS4wMDgKK2M2MWZjYTNlMDVmOWE4NTk2ZmZlZDNmMTUxMmM4ZmQ5ICAuL2Rpci0wMjQvZGF0YS4wMDEKK2M2NzJkN2IxNjY5M2MxODQ4ZmIyMzMxZmQ0ODNiYTVkICAuL2Rpci0wNjcvZGF0YS4wMTAKK2M2YzY0ZTFhMzFiNjU5M2YyZTM1Nzk4Y2RmYjlhNjdlICAuL2Rpci0xMDMvZGF0YS4wMDkKK2M2ZTc3NDFmM2Q0OTljYjU5MmU4NGVlNTAxYWU3YzEyICAuL2Rpci0wNTYvZGF0YS4wMDAKK2M3MzRmNDUwZWQyMGUwZTZlYmU3ZTUyZWJlYjQwYzI3ICAuL2Rpci0wOTUvZGF0YS4wMDcKK2M3NjVhY2QwZmRkZmRkOGRkMjVjMWUzYjU3OGFiOGQyICAuL2Rpci0wMjEvZGF0YS4wMDUKK2M3NzgzMWNjZmQyYTFjMTg0MmM0NzVmMjM5NWU1ODZjICAuL2Rpci0wMDQvZGF0YS4wMTAKK2M3OGIzMmEyNGYyZmZhYTdhNjRhOTEwODcxYzdjMmRhICAuL2Rpci0wODYvZGF0YS4wMDUKK2M3YWE5ZWM4ZjRhOTFkOTkzZWJjMzU3ZjdjNGQ2MjRjICAuL2Rpci0wMTIvZGF0YS4wMDEKK2M3YjYyNzZkZDljNTNhYmM3ODI0YjE3MjM3N2ZhNTY2ICAuL2Rpci0wNzMvZGF0YS4wMDgKK2M3YmQ3ZjgxYjgxZjNhM2RmZmM5YWE2ZDg5MDNhNWQ0ICAuL2Rpci0wMjAvZGF0YS4wMDQKK2M3ZDMwODhkYmI0NzBiMWY4ZTY1OTc5NWU5YWUwMDFhICAuL2Rpci0wNzIvZGF0YS4wMDQKK2M3ZGIzMGU0OTAxMGFjZDQ0MWNhMDcxYjE1OWU4OTUyICAuL2Rpci0wOTMvZGF0YS4wMDUKK2M4N2E3MDY2NWU0OTI5ODU1OGM1NGU3YjExMTUwYmRjICAuL2Rpci0wNzMvZGF0YS4wMDcKK2M4YzUyNzc2YThlOWIzZjQzYjU1YzExMmRlNGIzNjE1ICAuL2Rpci0wNTUvZGF0YS4wMDEKK2M5MGRkN2FkNTMwMjJlMmVjNzc3YjQwMWEyMDU2Nzk0ICAuL2Rpci0wMzIvZGF0YS4wMDkKK2M5MTY3OWQ5Y2NlYzYwZWM1OGZlYzZlNWVjYjcxY2RlICAuL2Rpci0wMDEvZGF0YS4wMDQKK2M5MjgzZDFkYjYxOTk0MzcwOGE1OGEwZDRlMDcyNDkwICAuL2Rpci0wOTgvZGF0YS4wMDgKK2M5NzEwMGVhYTBkNWI1MGMyOTg2YWQyZDdhNGFiNGM2ICAuL2Rpci0xMDUvZGF0YS4wMDIKK2M5Y2E5M2M4YjkxZTIzYzdkODg0OTg1MjYxYzcyN2JkICAuL2Rpci0wODcvZGF0YS4wMDMKK2M5ZjYxM2UzNjA1OWY2YTJlYmIyMWRjYjVhYzJlNTQ0ICAuL2Rpci0wOTgvZGF0YS4wMDUKK2M5ZmI3ZDA4Yjc2Mjg2ZjcyNmQzNDk5MzM0NTNjZGFhICAuL2Rpci0xMDIvZGF0YS4wMDAKK2NhMDI2ZTFmY2U3MzQyZWVhOGQ1OWI1ZWYxNWFlMWI5ICAuL2Rpci0wMTgvZGF0YS4wMDIKK2NhMWI2MjRjZmUwMzk4NDQ4NTY3ODYyYWNiNDk2NzIxICAuL2Rpci0wMDIvZGF0YS4wMDYKK2NhNWRkODk0YTAwNWMxMzcwMmU5NjZkMDRhNTg2NTdhICAuL2Rpci0wNzQvZGF0YS4wMDcKK2NhNjkwZGRmMWQ5NDg4ZDNhYWU1ZGU2NjdiNDZlM2M2ICAuL2Rpci0wNzEvZGF0YS4wMDkKK2NhYmIyOTQwZmFmZTdkZGYyNjQzODMwZjc1NDJjYzRmICAuL2Rpci0wNzAvZGF0YS4wMDgKK2NhY2M5OGNlYTc1MjViZTY3MGZiYTA2MmU5MjEzODZmICAuL2Rpci0wMjcvZGF0YS4wMDkKK2NhZjkzMDczMWEyMTI0NTIwYmU3MWY3YmRiZjUxNDdmICAuL2Rpci0wMzAvZGF0YS4wMDUKK2NiMzBmYTNkMjJjMzJmZjViNDY2YTIxNmQ3ZTQxNzRjICAuL2Rpci0wNDEvZGF0YS4wMDcKK2NiMzUzY2M5MDBhMTBjMDAyMGZjYzQwZDIwZmI3NzJjICAuL2Rpci0wNTAvZGF0YS4wMDMKK2NiYTgxOTExMThlMTgyM2JiMzhmODAzMjFiOThkN2E1ICAuL2Rpci0wMzIvZGF0YS4wMDUKK2NiZjY4MjAyNzQxYzkyYTZhMWExMzQ1YmE0MGRiYzFjICAuL2Rpci0wMTkvZGF0YS4wMDQKK2NiZjk2NjdhYzE4MWY1MTAwY2YzZDdkMTc5ZjA3YzI2ICAuL2Rpci0wMTQvZGF0YS4wMTAKK2NiZmUyNGQ3ZjFhZWYyMDc0NmFkZGEwOWVkZmEwYjEyICAuL2Rpci0wNzIvZGF0YS4wMDgKK2NjMjU2N2EyMzUwZmVlNGM1MTg3YTAwYmMwNjE1ZDVlICAuL2Rpci0wNTQvZGF0YS4wMDQKK2NjNzk4NjE1YzBiMDJkNTNmNjgyNzI0MGVlNjU0Zjk4ICAuL2Rpci0wNjQvZGF0YS4wMTAKK2NjODNkNWI3OGFhMzRmZjNkODI5NTdjN2Q2OWVlMTZhICAuL2Rpci0wMTMvZGF0YS4wMDMKK2NjYTVjMGJkZDZkMGViMThiN2NkZWMyYmNiYjU5NzU0ICAuL2Rpci0wNzYvZGF0YS4wMDkKK2NkNmJlNGIxYjI1ZGU5YmZmNjZhZDgxOTFlYWM3ZDRjICAuL2Rpci0wNDIvZGF0YS4wMDQKK2NkY2Q1MjQwZTc4YzEzMzU3MjgxMTUzYzRhNDEzOTVlICAuL2Rpci0wODcvZGF0YS4wMDQKK2NlMGRlYzYxMmRiODBhOTJhMTc2Y2UxOTBiMTlhNzU0ICAuL2Rpci0wNzAvZGF0YS4wMDEKK2NlMzM5MmNkNGQ4MWRlMDAxZmIzOTdiYTE2NTVjMGM4ICAuL2Rpci0wMTAvZGF0YS4wMDgKK2NlNThhMGU1MGQxNmQ3NWM0NWNlOTQ0N2JjODY4YjQ1ICAuL2Rpci0wMTgvZGF0YS4wMDkKK2NmNWZiOGNiZmU3MjM1NTIxZmQ3ODc4ZDk2NGJhZGFmICAuL2Rpci0wMjIvZGF0YS4wMDQKK2NmYmUwZjY5YjM1YmFhOTEzM2I2MzU1Y2QyYmQ2ZDA4ICAuL2Rpci0wOTQvZGF0YS4wMDgKK2NmYzAxNzk5MzMyNTQ5NTIyYTgyMzA3NzE0N2FkZmYwICAuL2Rpci0wNTYvZGF0YS4wMDMKK2NmZGU2NGMzNjI4MzVhNzJjOGNlZGZlNjQ3N2JkYTU2ICAuL2Rpci0wNzkvZGF0YS4wMDgKK2NmZjZmMjljMTUzNjI5MWQ1NDQ5OGZiNTM5YzY2ODFmICAuL2Rpci0wMDIvZGF0YS4wMDIKK2QxMTkyMjNlMGRhMDdmMDA1MDEyYmY2ZmVmNDE1YjVjICAuL2Rpci0wODIvZGF0YS4wMDcKK2QxNmRiYjQwYWQwNGNmZTA5MDQ4ZGZhNTY5NzdjYTNjICAuL2Rpci0wNDQvZGF0YS4wMTAKK2QxZGJmZGRmMjA5ZjZhMDcwYmNmNDgzNTNhYmRiZDhiICAuL2Rpci0wNDAvZGF0YS4wMDMKK2QxZTU4MDZiZGMwNmFlMjIzMWI2ZjliMWEzZmExZjBjICAuL2Rpci0wMDEvZGF0YS4wMDEKK2QyMjI5YzVhNjFjMGNjZjdiMTM5NzE0NDg0MjMxYTg0ICAuL2Rpci0wMDEvZGF0YS4wMDkKK2QyNDQyMDRiMGU2M2Q3YzMzYjJkZDNlNWQyMjM3NzQ4ICAuL2Rpci0wMzYvZGF0YS4wMDUKK2QyNTNkMDllYmU2ZGY5NmI4NDU2NWIzYmYyNmU4YmJjICAuL2Rpci0wMzAvZGF0YS4wMDIKK2QyNzAzZGZjYjIyOGE5ODg1ZDU4ZWI2YmY4YzQzMThhICAuL2Rpci0wODgvZGF0YS4wMDIKK2QyN2M3ODcxM2YyNTJlMjM5M2VhOTQyYWJjZjRhNGFjICAuL2Rpci0wNDgvZGF0YS4wMDcKK2QyYjZlMWRiN2FiODgyMzMwMTVlN2Q4ZmE1YTZiYjgxICAuL2Rpci0wMjEvZGF0YS4wMDkKK2QyYmU4MTRkMmFlNWYzMzcyM2NjODc5NDYxNDQ4M2ZiICAuL2Rpci0wMDgvZGF0YS4wMDUKK2QyYmY3YzIzNDY1Yjk0NTVhM2NhMjdiNTBjYzEyM2ZmICAuL2Rpci0wNzMvZGF0YS4wMDIKK2QyYzFiMmI2Y2ExNmY0ZTRmZjk3NTA5MjZhZWZhY2Q0ICAuL2Rpci0wMzAvZGF0YS4wMTAKK2QzNDM2MmMwYjg2YTkzNGU4NDg0NzgwNjc3NjBjODYzICAuL2Rpci0wMjEvZGF0YS4wMDgKK2QzNDc5OTkzMWVlZWZhOTE0NzI3ZTA4MjJjNjY3ZmM1ICAuL2Rpci0wMzEvZGF0YS4wMDgKK2QzNWE2MmVmOTk1NzBjNWVmNWJiNjI5MWJiYjM2Y2M5ICAuL2Rpci0xMDEvZGF0YS4wMDMKK2QzOWZkYmJmY2QxZTE1ZmRhMTQ2OTc3MjI0MTI2ZjhiICAuL2Rpci0wMTEvZGF0YS4wMDkKK2QzZWIwZjRiYjNiMDRiNDEyOTA3ZTQ1M2M4MmJiODlmICAuL2Rpci0wMzUvZGF0YS4wMDcKK2Q0MGYwZjMzM2ZjMmYwMmE0MjY2ZDM2Mzg5N2YzMzM0ICAuL2Rpci0wNDUvZGF0YS4wMDkKK2Q0NGZmZjZkZTI0MzgyZjE0YjA0MjYxMDFlNzM3MzU0ICAuL2Rpci0xMTAvZGF0YS4wMDgKK2Q0NjA2ODZkNWYzNzQwMTc0NTJmZTYyZTNmOTViNGQ0ICAuL2Rpci0xMDUvZGF0YS4wMDgKK2Q0NjFjYzg0ZWIwM2NjNmRiNzhlMDcyMDY0OGQxNWU0ICAuL2Rpci0wNjEvZGF0YS4wMDMKK2Q0NjMzNzlkMTgxMTI0MWRjNTZhNGNjYzliZjY4ZGZjICAuL2Rpci0wNzYvZGF0YS4wMDUKK2Q0NmM4YzdiN2MwYjU0ZWJkMDQ2YzYyMDlkMWY4YWZhICAuL2Rpci0wNTQvZGF0YS4wMDEKK2Q0ZDBmYWUzNTRhZjZjZGNjMzIwMmM5YWE4ZmYyZTlhICAuL2Rpci0wMTkvZGF0YS4wMDIKK2Q0ZjMwNDBjYWJiNWZiY2U4NTUyOGUyNWYyMGNkZWFiICAuL2Rpci0wNjEvZGF0YS4wMDgKK2Q1MWJlNmM4MjRkMDUzZDRlNzU3MjBkNmM4ZjUxNWZmICAuL2Rpci0wMDEvZGF0YS4wMDIKK2Q1NDBlZjc4YWM4Mjk1NTZmOTkzM2RkNjU3OWRiN2FlICAuL2Rpci0wOTEvZGF0YS4wMDMKK2Q1NGYxODgyNDBiYTgzZGYwOTMyZGZmYmIzNjAwN2ZiICAuL2Rpci0wMjEvZGF0YS4wMDcKK2Q1YjUyYzdjMDU0YTI3YmEzNDJiYzdlNTNiZmUxMzFlICAuL2Rpci0wODEvZGF0YS4wMDkKK2Q1YzdjZDgzNWZmMTljYjdjNzBlMTdkMzEzNDI2M2JmICAuL2Rpci0wNzQvZGF0YS4wMDYKK2Q1ZmIzMjA0ZDcwZDkwNmE3NGI3NjA5OTllNWIyNjZjICAuL2Rpci0wNDIvZGF0YS4wMDMKK2Q2NzQ5M2VmYzdmMTA5MTBkYWFiMTQwMTY1NDZhNDdiICAuL2Rpci0wNTkvZGF0YS4wMDAKK2Q2OGVkMTU1M2QyNjYwZjUwOTYxMmQ4ZGRkOGJjZDYyICAuL2Rpci0wNTYvZGF0YS4wMDQKK2Q2ZjA5N2M4M2U2Mjg3N2I5ODk1MWJlYWQwMjgyZGZmICAuL2Rpci0wNDAvZGF0YS4wMDUKK2Q2ZmZjNTEzY2VkN2IwYzEwMDVkZDExZjEwOTI0Yjg4ICAuL2Rpci0wNTUvZGF0YS4wMDgKK2Q3YTY5MzE5MjcyYzI2YjI0NjMxY2MwYWJiMTUyMWViICAuL2Rpci0wNTMvZGF0YS4wMDUKK2Q3YzI0NDdjNzlmNTg0YzVhNGIyZWM1MjVjNTg2MTI5ICAuL2Rpci0wMzEvZGF0YS4wMDIKK2Q3ZTU1MjA1N2I0MjBkYWJmMDIyYWE2YjgyNjc5NDZhICAuL2Rpci0wMzAvZGF0YS4wMDYKK2Q4NzI2MGJkN2JmNGFhNmVjNTU2ZDc3YmY5NThhMzZkICAuL2Rpci0wNjAvZGF0YS4wMDEKK2Q4N2Y1M2ZhMGZhZDlhZjgyMThhMjdmYTFiNjljMDcwICAuL2Rpci0wODAvZGF0YS4wMDIKK2Q4ZjM3OWRmMWZlYmU3N2M4Njk5MDAxNzc0NWVkZWJjICAuL2Rpci0wMzQvZGF0YS4wMDUKK2Q5NDVkNWEwNzBiOTk1MTYyMjkzZjFjNzdmZjE1NTI3ICAuL2Rpci0wMTgvZGF0YS4wMTAKK2Q5ZWQ0OWU5OWY2MzU4MWNjYWZlOTE1Yjc2ZjNmOTZkICAuL2Rpci0xMDIvZGF0YS4wMDYKK2Q5ZmNhMzkyMmZhMGUwMWZkNTI3ZjhkYjY5NTg5NDI1ICAuL2Rpci0wODgvZGF0YS4wMDEKK2RhMDlkZmU0Y2I5YmQwNmMzNzQ3MzI1NGU4NTcxMzljICAuL2Rpci0wNzYvZGF0YS4wMDMKK2RhMThjOTM1MWJjZWI3ZjM0MjcxOGQ1MGZiMDYyNTQ0ICAuL2Rpci0wMDYvZGF0YS4wMDMKK2RhMjQ3ZmM2YzllMWY4NDBkN2VmNThlODZiYmVkMjIwICAuL2Rpci0wMTkvZGF0YS4wMDAKK2RhMmU0ZmQ4NWE0OWJhNmIwYzc2NTljN2FiZjk5YWQxICAuL2Rpci0wODkvZGF0YS4wMDUKK2RhNTdiYjQ0MTE2MGU2NTU1YjMwYzc1OTE1Mjg4YmY1ICAuL2Rpci0wOTkvZGF0YS4wMDQKK2RhOTIxODQ1M2Q0Yzk5NjcyZTcwMmYwZmQ3YjljMGMwICAuL2Rpci0wMTQvZGF0YS4wMDQKK2RhYjJiZWM3NzUxNDBlNjIwM2RhYTZlYzEyMmYwNDllICAuL2Rpci0wNzEvZGF0YS4wMDMKK2RhYjk5ZDNkOWRmYzlkNWM5ZjBkNTI1NzE2MTUzNTYyICAuL2Rpci0wNzUvZGF0YS4wMDMKK2RhZGM2YzQxZjQxYjNmZjI4NzA2ZGY2NzVlYWE5NmI1ICAuL2Rpci0wMDQvZGF0YS4wMDAKK2RhZmYyZDZhZjA5NzE4ZTQ4MjViMjJiOThmMDBiN2U5ICAuL2Rpci0wMDMvZGF0YS4wMDIKK2RhZmY2M2U5ZDFhZTM3MzRkMDY5ZDBkYzAzMDViZTcyICAuL2Rpci0xMDkvZGF0YS4wMDYKK2RiMjEwYjg5YjEwMDRmMDMxZWFkZDg0N2U1YTA2NDViICAuL2Rpci0wNDMvZGF0YS4wMDgKK2RiMmIwMTU4Mzg4ZWUyNTE5NzBjNjQ1NGM4Y2Q5YTk3ICAuL2Rpci0wODMvZGF0YS4wMDIKK2RiNDlhMTNiZDdlMjMyMDIxMGRmM2EwMDZmN2U5ZjZmICAuL2Rpci0wNDMvZGF0YS4wMDAKK2RiZGJhOTYwN2YyZDc3N2UxMGRkYzY3ZjUwOTUwZTJlICAuL2Rpci0wNTcvZGF0YS4wMDUKK2RjMDllOGE0MWRiMjE0ZDI0ODE0OGVmYmY5NjA1Zjk1ICAuL2Rpci0wODEvZGF0YS4wMDQKK2RjMGE3MDA3Njc1MDQxYjMwMzE3YWZhZjQ0ZWU3MDhlICAuL2Rpci0wNjQvZGF0YS4wMDEKK2RjMTUzYWU3MTQ1MzJlMmQzNGYxYjdlYTA0NGI2ZmY5ICAuL2Rpci0wOTYvZGF0YS4wMDgKK2RjMWY0ZGE3ODU3MzNiYmIyODk3ZDk0Y2U3OGJjN2JmICAuL2Rpci0wNzEvZGF0YS4wMDQKK2RjMmYyMmRhZTNhM2QzNGExODkyOTUwNmNmYzZmMjc3ICAuL2Rpci0wMjkvZGF0YS4wMDMKK2RjNDBmOWE1N2RmYWNkMjFkNjAyMjE4ODk4YWI5M2U3ICAuL2Rpci0wNTgvZGF0YS4wMDQKK2RjOTg3NThjNmE5YjM5YTZhM2RlYWUyOThkNTc5YzRlICAuL2Rpci0wNDIvZGF0YS4wMDkKK2RjY2Q1NjJhNGE5ODY1M2EzZmU5NmQ3Nzc0MWRkYmViICAuL2Rpci0xMDQvZGF0YS4wMDAKK2RjZTdlN2MyM2I1Y2JhNWI5NmIxMWQ1MzAwZTAwYWZlICAuL2Rpci0wNTYvZGF0YS4wMTAKK2RkMDA2MDUyYTI4NTUyZmEwNjlhYmY1MDQzNDYyNTcwICAuL2Rpci0wNDkvZGF0YS4wMDkKK2RkMDc5YmQwNTBkZDdiODNmZjZhOGUyZmI1NzczZWQ0ICAuL2Rpci0wNDkvZGF0YS4wMTAKK2RkODk4YTZhYjg3MzljMGNmMTZkZDcyMDM0YmM3NjY4ICAuL2Rpci0wNDYvZGF0YS4wMDcKK2RkOGMyMzNiOTkyZGE2YmFiYmNiYzljZTc4NzkwNTFiICAuL2Rpci0wOTcvZGF0YS4wMDcKK2RkOTgxMzA0ODk3YmMzMzBmNjkwZDIwNDBhYTFlNTNmICAuL2Rpci0wNDcvZGF0YS4wMDkKK2RkY2Q3ZWExM2NhZTU3NDk4MDg4YzE5OTQ2MTliM2JlICAuL2Rpci0wMjAvZGF0YS4wMDEKK2RlN2ZlMjc0ZTc3MGI0ZGFiZGViODY3ZmE5MmExMmJjICAuL2Rpci0xMDkvZGF0YS4wMDIKK2RlOGE3MGVlZTNlNTA4YTcyM2QzYjVkMmE5OTAxMzE2ICAuL2Rpci0wNTUvZGF0YS4wMDQKK2RlYjk2MGIxMjY4NzA1YTQ3MmUzYjQ2MTgxY2NlYmZlICAuL2Rpci0wNDIvZGF0YS4wMTAKK2RlYmYwODFiNjgyNGYwN2M1ZjZjMjJkYjZiYzE1MmE2ICAuL2Rpci0wODYvZGF0YS4wMDIKK2UwMDNhYWVjYjc3ZGY5MWYwNDk5MGNkNDVlZmYyZGJjICAuL2Rpci0wMTgvZGF0YS4wMDYKK2UwNTk2Y2UxZjgzMzE5NzA1MmJmNzJmYTRlNDVlYzI4ICAuL2Rpci0wNzQvZGF0YS4wMDMKK2UwNmU0NWUzNjlkYzJmYTk4YjE4YzM1MjY4ZWY4MWM3ICAuL2Rpci0wMzcvZGF0YS4wMTAKK2UwYzJmMmQzNzViM2ZhOGMwYzQ3YTAyOWJiMThjYzM5ICAuL2Rpci0wMDkvZGF0YS4wMDAKK2UwZDQ4MjQ3ZmNmYWE4MzkzMDU1NWVkZjhhNjY0N2RmICAuL2Rpci0wNDEvZGF0YS4wMDQKK2UwZmUxNjMwM2Q5OWVjMjFlNmRkMTNhYzI3ZDJiNWZhICAuL2Rpci0wODMvZGF0YS4wMDQKK2UxMzAwNzU0MGJmZDBiY2NkY2VkYTJmODI0YWUzMjM2ICAuL2Rpci0wOTIvZGF0YS4wMTAKK2UxMzFhODNkN2I3MDYxMDRiODAwYmNiYTdlODlhOWYwICAuL2Rpci0wMDkvZGF0YS4wMDgKK2UxNjk3OTAxZmI0NGViY2NmNDM4ZmIwNTZjMWNiYjAzICAuL2Rpci0wMDcvZGF0YS4wMDMKK2UxYmUxNWNhZDkwYjY1MTE0YWZmODBlMGY5MjJlOTg4ICAuL2Rpci0wMzQvZGF0YS4wMDgKK2UyZTM0MDI3YWZkNDMxYWYyYjVlZjBiYzgxNWExNjIzICAuL2Rpci0xMDAvZGF0YS4wMDIKK2UzMjE3NGRlNjRkODcxYjQ3YjM4YWI4NzRhYTUwYTM5ICAuL2Rpci0xMDIvZGF0YS4wMDkKK2UzM2RjYzhkN2ZmZDFlMGZjY2ZiNzFjNjcxNWY2ZTU2ICAuL2Rpci0wNDkvZGF0YS4wMDcKK2UzODJhNDVkZjMwMjRhZDk3NTYzZjljMTNhMTk1MTgxICAuL2Rpci0xMDUvZGF0YS4wMDUKK2UzYTEwNDE5MGQxYzQ2MWZmZGFjNDYyZDY2ZGVlN2FkICAuL2Rpci0wOTAvZGF0YS4wMTAKK2U0NWM2NzUyYWIwNjc2MDJhN2U5YTcxYjlmOTEwNWUzICAuL2Rpci0wNDUvZGF0YS4wMDMKK2U0OTJkNDY4MzY0ODcyMTg3ZDUwMDIxYWE0OTBjMzY3ICAuL2Rpci0wOTIvZGF0YS4wMDcKK2U0OWZmNWI5MGU3ZTc3MDRkNWM4MjljNDFhODU5Yzg2ICAuL2Rpci0wNDcvZGF0YS4wMDEKK2U0YTA3NTZlM2U5MmFjNmIyNjZjNGIyNmRkNDNkMjdlICAuL2Rpci0wNjQvZGF0YS4wMDgKK2U0YTBkYmI4ZWQwMDIwOGU5YTRkMjkzZDFjMjU5OTg5ICAuL2Rpci0xMDUvZGF0YS4wMDAKK2U0ZTVlNWIyNjQyZDMyMmUxYjk1MzliYjAyMWUxMjI4ICAuL2Rpci0wNjQvZGF0YS4wMDkKK2U0ZTk0NDdjZGQzZWU2ZjRhNzUzYTlmYTNiYzE4MjNmICAuL2Rpci0wMzcvZGF0YS4wMDQKK2U1YzIxYTI2MTQ3NzVlYmI3OTg3NTJlNGRiYmE3ZjUyICAuL2Rpci0xMDcvZGF0YS4wMDEKK2U1ZDg3ZDI1YjhmZGNlNmQ2ZjMwYjUyMjMwNzYxODg0ICAuL2Rpci0wNzAvZGF0YS4wMDkKK2U1ZjI3ODM4OTZhODliYWVlZjBjNWY2OGQwZjQ3MzgyICAuL2Rpci0xMTAvZGF0YS4wMDcKK2U2Yjc1Mjg0Y2M2YmU1YjgwYzU3ZGM2MTMzNzNlZWM1ICAuL2Rpci0wODYvZGF0YS4wMDAKK2U2ZWVjZjhhNzI3ZjRlZTY4NTJlMmY2MmZiOTQxYjcwICAuL2Rpci0wMzkvZGF0YS4wMDIKK2U3MDY4ZjU5MThiNGNlNTIzNDQ4MDhmNjhhZDBhMDg1ICAuL2Rpci0wMDIvZGF0YS4wMDQKK2U3NmQxNTZjODE4MjllODRmZTY2ODgyNjZmYjUyZTM3ICAuL2Rpci0wNDgvZGF0YS4wMDQKK2U3NzYxMjZjMzhmMDc1ZDRkMmQzZWE1ZTgxZTM2ZTI4ICAuL2Rpci0wOTQvZGF0YS4wMDUKK2U3ODNjYjA1NjJhNTkxNzkzZjgxN2E2NTllNzA4NDcwICAuL2Rpci0wNzAvZGF0YS4wMDMKK2U3YmQ5MDZmY2U2MmIxMTZmOTA4OGI1ODczN2IzMmM5ICAuL2Rpci0wOTEvZGF0YS4wMDYKK2U3YzcxMGZlOTQ3NTRmOTBmYjY0ZjllN2U4OTM1MWZjICAuL2Rpci0wNjkvZGF0YS4wMTAKK2U4MWVmZjI5Yjc3Mjk2NTZjZjJlMDZlYzRhNjA0MTg1ICAuL2Rpci0wNDgvZGF0YS4wMTAKK2U4MjYyNzA2N2M1YzE1OTcwNTgwYWNmNTkzOWJlMjE2ICAuL2Rpci0wMzAvZGF0YS4wMDAKK2U4NDU1MzdjMTk3N2Y2NjAwNGMwNzliZWI5YWY1ZDc0ICAuL2Rpci0wNjcvZGF0YS4wMDIKK2U4NjQ5YTNjNjYwMGUzNjI0ZjZmMmMxYWIzNmJkNWZjICAuL2Rpci0wMzYvZGF0YS4wMDkKK2U4ODI4OTMwMGIyZjJkYmNjYTRjNjliOTZhYmIzMWUzICAuL2Rpci0wNjAvZGF0YS4wMDYKK2U5MmY3ZjFiMGEwN2FjNjBiMDU3ODZkNTcyNTk2N2FlICAuL2Rpci0wMDUvZGF0YS4wMDMKK2U5ZDYxODg1ZTBiYmUxMzQxYTc3ODllY2JhMTI3YWIzICAuL2Rpci0wMjAvZGF0YS4wMDMKK2U5ZDlmYjEyNWRhNmY3Mjk2YzBlZTY5MjM1ZmRjNTVkICAuL2Rpci0wNDAvZGF0YS4wMDYKK2U5ZWJkY2M3ZmM1Y2UzZWM0MGVjMmMyMmI1NmEwYzVlICAuL2Rpci0wNTcvZGF0YS4wMDMKK2U5ZWVlYWNjZDdjMjYwZjYxMDIyNmQxOTlkY2MxMTMzICAuL2Rpci0wMDEvZGF0YS4wMDMKK2U5ZmUyZGQ0MzdjNzExODA1NThjMDA2NjRkOTY5MzZlICAuL2Rpci0wNTcvZGF0YS4wMDAKK2VhMmQyMGI1OTQ4Mjc4ZjU1Zjg3MDBiYjdjZmI1MjVlICAuL2Rpci0wOTQvZGF0YS4wMDAKK2VhM2E0MGE2ZWQ3YzVjN2JhZGNkZGM4MjkyNDA0NTFmICAuL2Rpci0wMDAvZGF0YS4wMDgKK2VhNjBiODk4NDZmZmU5MDk4ZjM3NjEwMGExNWZkNjIzICAuL2Rpci0wMTkvZGF0YS4wMDYKK2VhYjBkZjdlMzU0YmRkMjAzMjRmZjc1YWEzNTRjNjdlICAuL2Rpci0wMzYvZGF0YS4wMTAKK2VhYzRhZDllNjc4OTcwMjcyOWYxNGQ0ODAyNTRkZjEzICAuL2Rpci0wNzgvZGF0YS4wMDYKK2VhZTc1MWIyZjU4OTBhOGEyZTY2ODQyNTAwODc1NDg5ICAuL2Rpci0wNjQvZGF0YS4wMDcKK2ViMjEzZGVmODU4MmJmOWMzOTEwMzJhYjgxMDIyNGE0ICAuL2Rpci0wMzAvZGF0YS4wMDQKK2ViMjIzOWRjMWMzMjg0YTc0M2VjMjQ4MGI2NmE0NDBhICAuL2Rpci0wOTUvZGF0YS4wMDUKK2ViMzkzMzU0NzRhNWYxMTQ0OTZlNDU4NTVkNjU5NjViICAuL2Rpci0wMzAvZGF0YS4wMDkKK2ViNDljNjUyYTNhOWI2N2Y0OGJlZDVmNDUzYzUxM2ZiICAuL2Rpci0wOTEvZGF0YS4wMDUKK2ViOGFiOGFkZjFmZDhlMmU4MWVjZWFhMmU0MDViZWNmICAuL2Rpci0wMTUvZGF0YS4wMDEKK2VjMTExYmRkOTU2MjkwMmVkMDQ3Y2RkYzRlMjkxZTBmICAuL2Rpci0wMTEvZGF0YS4wMDIKK2VkNjczODE5ODg3N2JhNjcyMTc0YTIzYjM5YWFmMGNhICAuL2Rpci0wNTAvZGF0YS4wMDgKK2VkODdjNDQyNTdlNDRiYWEwNDg2Nzg0NDg5ZmUxZWI3ICAuL2Rpci0wOTMvZGF0YS4wMDMKK2VkYWUyZjk3N2U4ODg1YWFiY2FmZWExNDBlNGVhNDQ1ICAuL2Rpci0xMDMvZGF0YS4wMDIKK2VlMDNjM2M1YzgwYzU0M2JmNTIwMjkzODE0NTVlMGRhICAuL2Rpci0wOTMvZGF0YS4wMTAKK2VlOTBkOGQ4YTY3YzVmMDZkZTlhMzVhNTA1YmQ0ZDgyICAuL2Rpci0wMDUvZGF0YS4wMTAKK2VlOThhY2M0YmE3ZjU5NGE0OWI4NjM2NGVkY2Y0MzEyICAuL2Rpci0wNDcvZGF0YS4wMDYKK2VmNDVhMDEzNTUxNTdkNWM0YThhYzk3ODNkMzBiMDAwICAuL2Rpci0wOTkvZGF0YS4wMTAKK2VmZTZkYWI2OWViMzUwMzg4NmI2MjNhYjI0YWUzMmUwICAuL2Rpci0wMzMvZGF0YS4wMDYKK2YwMjMwYzUzZGI4ZmI5ZmYxYTY2ZWVjMTJiMjhkM2MwICAuL2Rpci0wMjkvZGF0YS4wMTAKK2YwMzhhMjAyY2NlNTc5ZTI5ZWQ3NWVmMmY4ZWM5MjA1ICAuL2Rpci0wNzcvZGF0YS4wMDkKK2YwNjdlZjMzOWRiZmEzNzM4NDJkNmJlYjVkNGM1ODM5ICAuL2Rpci0wMDYvZGF0YS4wMDAKK2YwNmFmMzg4N2E2NjJjYWVkMjIwZTlmZTk4YzEyZjZmICAuL2Rpci0wMDcvZGF0YS4wMDgKK2YwOTMxMWUzMGI1NWYzMTk5ZDZiNTg5MWNmNzE3YmI1ICAuL2Rpci0wODAvZGF0YS4wMDQKK2YwYjY5ZDIxODQ3NTNlNTM0MTY4MWRkZjliYzBkZjMyICAuL2Rpci0wMzcvZGF0YS4wMDgKK2YwZGIzZjcwYTM3ZjY2MGNlMzFiZmUwNjAwYjgwYjQ5ICAuL2Rpci0wODcvZGF0YS4wMDIKK2YxMjdiZWFkNTIxYzBkYTYyZjRhNjA3ZWJkNjYyN2I2ICAuL2Rpci0wNTcvZGF0YS4wMDYKK2YxOGJhNWIwMmJiZjAzYWJlMTJmY2E2NTU2NGRjYjk1ICAuL2Rpci0xMDgvZGF0YS4wMDgKK2YxYmYwNDY2NDM1MGFmYjRjZTVhNWYwZGQyNDVkMmM1ICAuL2Rpci0wMzgvZGF0YS4wMDEKK2YxZDM2N2RlYTdiYjk4YTliZGRkNGY1Y2M3YTk3OThlICAuL2Rpci0wNjUvZGF0YS4wMDQKK2YxZTY0NmY0NmMzNjQ0OWMzNDEyYWVkNGNiMTY0OTY4ICAuL2Rpci0xMTAvZGF0YS4wMDYKK2YyMTRjYTQ4ODIyMWM4MDRhNTU1N2E5YjgwOWFmZDY1ICAuL2Rpci0wNDUvZGF0YS4wMDcKK2YyMzdkMDU5ODU4OWE1NDI4MTVmYmY1ZWY1OTc1MWNjICAuL2Rpci0wNTQvZGF0YS4wMTAKK2YyNTc3YWE4Mjc5MWVjYmYyN2I5MDg1YTIyYzIzZmY5ICAuL2Rpci0wNTkvZGF0YS4wMDIKK2YyNjE2YjJlYTBiM2NlODU2NWU1NjhjMGVkOGVmYWNjICAuL2Rpci0wNzkvZGF0YS4wMDkKK2YyY2M0NDMzNjJiMTU2YTIyMjhmNGE2OWZlNDEwMmJmICAuL2Rpci0wODQvZGF0YS4wMDMKK2YyZGYzYjViYmNiMjI1ZGY4OTVjZGFjMzg0MTQ1ZDg0ICAuL2Rpci0wMjAvZGF0YS4wMDAKK2YzMjk3MzZjYWY0Y2U3ZDgwMjEzZGVmYTExZjNjNjVhICAuL2Rpci0wMjUvZGF0YS4wMDMKK2YzNGZkNGZmNjc4YjIxOGU4NzgwNzI0ZDNiZDJhNDIwICAuL2Rpci0wMjkvZGF0YS4wMDQKK2YzOTI0M2JlYmUxYmJjNzFlODVkZTJiM2Q4ZDcxMjJhICAuL2Rpci0xMDcvZGF0YS4wMDMKK2Y0OWIwNTM1MTM5NzRkNTkzZGNjMmM0NjFjOTZlMmEwICAuL2Rpci0wMjgvZGF0YS4wMTAKK2Y0YzBkMjBmZWNjMDRkYmY3YTIwNGUxMDVmODM2ODkzICAuL2Rpci0xMDEvZGF0YS4wMDUKK2Y0Y2ZiMGJlY2VkOTBlMmFkZjk2ZDNmMmZhMmJhNDY1ICAuL2Rpci0wMzQvZGF0YS4wMDcKK2Y0ZDc0NWMzODVmMDM3YWFmZWYwODMxMGZiMTk0YTJjICAuL2Rpci0wNjYvZGF0YS4wMDQKK2Y1MDg0YWU5ZGVkOTgzM2VlOGM2MzI4MWY1ZWQxNjQxICAuL2Rpci0wNTgvZGF0YS4wMDIKK2Y1MTlkZDJmY2ZjMzA0NzEwMWZhZjkwYmNmMTg2NTRkICAuL2Rpci0wNDkvZGF0YS4wMDUKK2Y1MjU4MzAyZjZhYjhhMzhhN2I2YjA1YjEwZDM1MDk3ICAuL2Rpci0wNTUvZGF0YS4wMDkKK2Y1MzIzZDRkOTE1ZDY3ZjlkNzc3ZDUyMzc0Y2QyN2MwICAuL2Rpci0wMTYvZGF0YS4wMDcKK2Y1ZTc3MzhhOWYyYzNkMDI5MjlkMDA5NzI0MzM2MDIzICAuL2Rpci0wNjcvZGF0YS4wMDUKK2Y2MmQwYzNiNzk5YjI1NzMwZmI2YTQzZDAwMTRmMjIwICAuL2Rpci0wMjIvZGF0YS4wMTAKK2Y2YWJmZGI2M2ZiNGM5ODE4MTQ3MDRmZWRkNGIxOGQwICAuL2Rpci0wNTgvZGF0YS4wMTAKK2Y2ZjdkNDI4NzlkYjc2MjFhZDIwOWQ0NWJkOWQ2YTBhICAuL2Rpci0wMTMvZGF0YS4wMDUKK2Y3MGZhODU2YWExNzQwYjdlZDgyNGE1NDM5NjY1YjBmICAuL2Rpci0wNjIvZGF0YS4wMTAKK2Y3MmRmMDFmOGYyOTBiYzZlMDVmOTcyZGI3YTAxZjkwICAuL2Rpci0wNDgvZGF0YS4wMDIKK2Y3M2ExODNlYWIzZmZlNDA3MDI3N2I5ZTdmMjNkYTU2ICAuL2Rpci0wMzcvZGF0YS4wMDIKK2Y3ZjdiMmYxYjEzNmEwMWQ4YTliM2YxZjZjM2Y5ZTg4ICAuL2Rpci0wMjUvZGF0YS4wMDgKK2Y4MWMwODhjNzAxYTg4ZDliMzk2ZTMwZjk4Nzc2MDY0ICAuL2Rpci0wMzMvZGF0YS4wMTAKK2Y4OTdlNzczNWVmMTgwOGE1YTdiZjYxMjljZjBlMGM5ICAuL2Rpci0wOTIvZGF0YS4wMDUKK2Y4YTY5NjcxN2JiNWE1YWRlY2YwMGRkZDA5N2Q4ZDBjICAuL2Rpci0wOTEvZGF0YS4wMDcKK2Y4ZTIxODZmMDRkNGNiNjgwMWFjYzJjMGE2OGQ4MTBhICAuL2Rpci0wNDkvZGF0YS4wMDEKK2Y4Zjc3NDk5N2M5Mzg4YmI3YTZkNTkzZTYyMjRlOTk4ICAuL2Rpci0xMDQvZGF0YS4wMDcKK2Y5MGU1NGMwOGJlMTFlNGFhY2RmM2MwMmRmZjhlZTFiICAuL2Rpci0wODMvZGF0YS4wMDMKK2Y5MTExYmI5OTMwZDgwY2VhN2I3ZGI2NGYwOTJkNTk3ICAuL2Rpci0wNjgvZGF0YS4wMDgKK2Y5NjlkZTQ2MmRkMWI1OGE2NGJjNzVhZGJlNzMwMTZkICAuL2Rpci0wNDUvZGF0YS4wMDEKK2Y5ODRmODVhNzdkNTdjNmJkM2IzNjY3NzFmZDk4ZWE0ICAuL2Rpci0wNjMvZGF0YS4wMDUKK2Y5YTQ2ODUwOGZkN2U2ZGI1YTc3ZTMxMDFkYWYyMmIzICAuL2Rpci0xMDAvZGF0YS4wMDgKK2Y5YzhlNmMzYTBjNGE5MzhjZWIwMzNmMTUxZTU0MWVhICAuL2Rpci0wNzcvZGF0YS4wMDMKK2Y5ZjkwOTk4MmVhMzNlNzc2Yjk4NWVlNWFjYTUzNzhhICAuL2Rpci0wNTIvZGF0YS4wMDUKK2ZhNDExZjFmOWY1NTliNGVlM2RkMTA5YzJlNTliMTA2ICAuL2Rpci0wODEvZGF0YS4wMDYKK2ZhYTJiYmY4MjBmNzhiMzk0NTRjNGZlZWJlMDhhM2M1ICAuL2Rpci0wMDQvZGF0YS4wMDEKK2ZhYjRmZWZkMmQ4ZWI3N2M0ZjM2Yzg5OTU5YWU3OTgwICAuL2Rpci0wNzMvZGF0YS4wMDMKK2ZiMjM4OGQwM2MyNzIzZjE1NzI4YmRhOWMxZGMyNzYyICAuL2Rpci0wMjQvZGF0YS4wMDYKK2ZiNTI0ZTNiYjc1OGYzMmU3ZDM0ZTUzOGE1ZTQwNTYwICAuL2Rpci0wMTkvZGF0YS4wMTAKK2ZiNTM5ZmIwODFmNGE5NWFjNWI1YjVlMTEzNDNlMmI3ICAuL2Rpci0wNTIvZGF0YS4wMDgKK2ZiN2RkNDhmMzVjMTI4MjEyYjc4NTUxY2NlZGEyNDRjICAuL2Rpci0wMzgvZGF0YS4wMDUKK2ZiOGFhMTZhY2I5ZjcyOTIzODRlMjY1NTg1ZjRkZDM3ICAuL2Rpci0wNTUvZGF0YS4wMDMKK2ZiZDFkYjRkYTg3YzFlZDgwODJkOWNmOTRmYzQyNGFhICAuL2Rpci0wMjcvZGF0YS4wMDMKK2ZjMDRlODRiYjZjNjQwZjg5MDg1NGZjNTc3NWI5ZDhhICAuL2Rpci0wMzQvZGF0YS4wMDQKK2ZjMjFhMDQzOTkwZDAzNzAzMDAzYTUwNmIwNjYyODIxICAuL2Rpci0wMDUvZGF0YS4wMDAKK2ZjMmE0NWYxMGU1MmUxODkxOGQyNWQ2NDBmNzUxNDU3ICAuL2Rpci0wOTkvZGF0YS4wMDcKK2ZjMmU0NzZhNmQxYjdjZTcxYjUxYmQ0MzgxNjg5MWEzICAuL2Rpci0wOTYvZGF0YS4wMDcKK2ZjMzA0NjE2ZjI0MzIyZTI2YTQ2NjZjMGU3MTgxZTdlICAuL2Rpci0wMDYvZGF0YS4wMDIKK2ZjOTA2ZDEzZGY1NmRmYzU1ODBhZjgyM2NhMWFmNjEwICAuL2Rpci0wNzcvZGF0YS4wMDYKK2ZjOTdiMDY2YzBhZjhmMmZhNDBmMmJjOTFjYWUzYjU2ICAuL2Rpci0wNjMvZGF0YS4wMDkKK2ZjOWJkNThmOGYxMjZhODQwNjk4NzM2MGI2NGE5MWZlICAuL2Rpci0wMDQvZGF0YS4wMDgKK2ZjYmFmMzAxMDAwNTBjYzFiYjk5MGU5OGQzMDYwNWI5ICAuL2Rpci0wMDYvZGF0YS4wMTAKK2ZjZDdhNmI3OTI0MjYwYjk5N2FlNjAzZWFkZmFlNTlmICAuL2Rpci0wOTAvZGF0YS4wMDAKK2ZkMWRlY2IzMTQ4MzVjYmI5NWQ0YWE2ZTdiZGYzMzU5ICAuL2Rpci0wNzUvZGF0YS4wMDAKK2ZkMzhkMGRkZDYwNDI5YjNjNzA3MTg2N2E4ZmNmYmMwICAuL2Rpci0wNDcvZGF0YS4wMDgKK2ZkM2U0YzQ4N2NhZTFjNjhmMDVlYTJkYzgxY2JhNzRjICAuL2Rpci0wNTUvZGF0YS4wMDcKK2ZkNjMwMDRhZTg4NmNlOGU1MjA3NTZjNmVmZjA0ODM1ICAuL2Rpci0wMDkvZGF0YS4wMDMKK2ZlMDg2Yjc5YTJjMjlmMTM0MzdjMTM0NmE4Y2I1M2Y0ICAuL2Rpci0wMDkvZGF0YS4wMDUKK2ZlMzUwNWRmMTY0MmU5ZDMwNjI2OWUyZTA3YWIxMDg5ICAuL2Rpci0wNjQvZGF0YS4wMDAKK2ZlNGYzMTBiNzc2ZTMwOTUwM2Y1MjNiOGEyNmQzYmE4ICAuL2Rpci0wODUvZGF0YS4wMTAKK2ZlNjhlYzY2MDdjMTVmMGNlYWJhZGExMDFiMzgyYjBlICAuL2Rpci0wNjkvZGF0YS4wMDQKK2ZlNzc1MWE1NDg3MTcyMzAzZGU2NDg2NzI2MDJjMjhhICAuL2Rpci0wNzYvZGF0YS4wMDIKK2ZlYjhiNjllNjIyNGE3ZWE3MmU4ODFlM2Y0YTQ1YjMyICAuL2Rpci0wMjgvZGF0YS4wMDkKK2ZlZDU0MGExMWYwMGYxZjgwNDcwYmU3YjQ5MWZjNDVjICAuL2Rpci0xMDgvZGF0YS4wMDIKK2ZlZDVlMDBkYzk0ZWQ3NTEwNjExOTRlY2NmMmM3N2UyICAuL2Rpci0wNTAvZGF0YS4wMDcKK2ZmMTBjN2IzN2Q3MDViYzQ4YTFmZGVlNjJlYTc2NjFmICAuL2Rpci0wNzkvZGF0YS4wMDYKK2ZmMTNkNDkzMjZmZjg3NTkxMTllNzg5NTlkZTYyOGU5ICAuL2Rpci0wNDgvZGF0YS4wMDMKK2ZmMjE2ZjBmMmU1NDBlOTA1Nzg3NGIwY2I0ZmRjZGIxICAuL2Rpci0xMDAvZGF0YS4wMDcKK2ZmOTJiZjA0NjM0ZTI2YTI5ODBmZmI2YWQ0N2Y5YzA1ICAuL2Rpci0wMjYvZGF0YS4wMDYKK2ZmZTA3OGRlMzU4MzAyNWM0NzgwYzhmNDMwNTc3MmMzICAuL2Rpci0wODUvZGF0YS4wMDQKK2ZmZjYwMTVjM2I4Zjc5MWY0MDI3NzkxYWMwYjVmNTkzICAuL2Rpci0wNjMvZGF0YS4wMDQKKworY3JlYXRlIGNyYW1mcyBpbWFnZQorY291bnQgTUQ1IGZyb20gdGhlIGltYWdlCisKK2NyZWF0ZSBsb29wIGRldmljZSBmcm9tIGltYWdlCitjaGVjayB0aGUgaW1hZ2UKK21vdW50IHRoZSBpbWFnZQorbGlzdCB0aGUgaW1hZ2UKKy46Cit0b3RhbCA1NgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDAwCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMDEKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAwMgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDAzCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMDQKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAwNQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDA2Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMDcKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAwOAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDA5Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMTAKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAxMQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDEyCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMTMKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAxNAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDE1Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMTYKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAxNworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDE4Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMTkKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAyMAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDIxCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMjIKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAyMworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDI0Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMjUKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAyNgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDI3Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMjgKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAyOQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDMwCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMzEKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAzMgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDMzCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMzQKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAzNQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDM2Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wMzcKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTAzOAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDM5Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNDAKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA0MQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDQyCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNDMKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA0NAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDQ1Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNDYKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA0NworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDQ4Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNDkKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA1MAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDUxCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNTIKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA1MworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDU0Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNTUKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA1NgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDU3Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNTgKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA1OQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDYwCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNjEKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA2MgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDYzCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNjQKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA2NQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDY2Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNjcKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA2OAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDY5Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNzAKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA3MQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDcyCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNzMKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA3NAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDc1Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNzYKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA3NworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDc4Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wNzkKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA4MAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDgxCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wODIKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA4MworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDg0Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wODUKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA4NgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDg3Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wODgKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA4OQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDkwCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wOTEKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA5MgorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDkzCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wOTQKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA5NQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDk2Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0wOTcKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTA5OAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMDk5Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0xMDAKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTEwMQorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMTAyCitkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0xMDMKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTEwNAorZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMTA1Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0xMDYKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTEwNworZHJ3eHIteHIteCAxIHJvb3Qgcm9vdCAyMjAgMTk3MC0wMS0wMSAwMTowMCBkaXItMTA4Citkcnd4ci14ci14IDEgcm9vdCByb290IDIyMCAxOTcwLTAxLTAxIDAxOjAwIGRpci0xMDkKK2Ryd3hyLXhyLXggMSByb290IHJvb3QgMjIwIDE5NzAtMDEtMDEgMDE6MDAgZGlyLTExMAorCisuL2Rpci0wMDA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMDk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMTk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMjk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wMzk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNDk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNTk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNjk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wNzk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wODk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0wOTk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDE6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDI6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDM6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDQ6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDU6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDY6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDc6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDg6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMDk6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCisuL2Rpci0xMTA6Cit0b3RhbCA2Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDAKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwMQorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDAyCistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDMKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNAorLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA1Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDYKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAwNworLXJ3LXItLXItLSAxIHJvb3Qgcm9vdCAxNSAxOTcwLTAxLTAxIDAxOjAwIGRhdGEuMDA4Cistcnctci0tci0tIDEgcm9vdCByb290IDE1IDE5NzAtMDEtMDEgMDE6MDAgZGF0YS4wMDkKKy1ydy1yLS1yLS0gMSByb290IHJvb3QgMTUgMTk3MC0wMS0wMSAwMTowMCBkYXRhLjAxMAorCitsaXN0IGNoZWNrc3VtcyBmcm9tIG5ldyBkYXRhCiswMDExYTcyZjM4ZGE2NjhmOTRlZGZhMWQ1MDc0M2UyYSAgLi9kaXItMDA5L2RhdGEuMDA5CiswMDcxYmViNGJhYTU5OTE0MWE3ZTQ0NjMzNGQ1ODMwMCAgLi9kaXItMDk3L2RhdGEuMDAxCiswMDg3M2M4NzVmMzQ2MWZiOWY1YmFhOWEwMzlmMjE4ZiAgLi9kaXItMDkzL2RhdGEuMDAyCiswMTIwZmI4MTI2OTU5ODQzOGU4NGYzZmUxMGIyNDY1OCAgLi9kaXItMTAwL2RhdGEuMDEwCiswMTNiOGFlNWM0YjAxMWI4N2IxNDJlNWQ2MDY0NWY5OCAgLi9kaXItMDIwL2RhdGEuMDEwCiswMTY3NzkxNDYyZmZjYWJhOGMyMjE0MjZjMjVjZjQ1NSAgLi9kaXItMDkyL2RhdGEuMDAwCiswMTkzNmMzNzE2OWNjNzg2Y2RjNzI0YWJiZjE5NjFlMyAgLi9kaXItMDk0L2RhdGEuMDAzCiswMWU1YThiZWU4NjRmOTliY2ZkZTkxYjJmNTAxZmE1NiAgLi9kaXItMDYyL2RhdGEuMDA0CiswMjRiMWQ0Y2I5MzY2MGYxMjVlNmY0NzgzZTI2OTcyYyAgLi9kaXItMDcyL2RhdGEuMDAzCiswMjljMTE5OWQxNmJjOGRhMmFmZDJmZTFjNDdiNjg1OSAgLi9kaXItMDc3L2RhdGEuMDAxCiswMmExYzBhODI3NzFjNTkyMzZlYjlmMzM3ZGQwYjRkYSAgLi9kaXItMDczL2RhdGEuMDAwCiswMzJjZGIxYWMyMjNhZGY5ZWQ0NTI3OGU2NGYyNjVmMCAgLi9kaXItMDgzL2RhdGEuMDA3CiswMzY1NWQwODFjZTU2N2E0ZDVmYzhlMGMzZGM1OWUzYSAgLi9kaXItMDg1L2RhdGEuMDA2CiswMzk3ZTAxY2Y2ODA1NzI4MjU2ZmE5MjcyYWI2NzJjNCAgLi9kaXItMDYyL2RhdGEuMDAzCiswM2E1OGNlYzU4ZjdiNzRjMGQ4ODAzZTVhMDVkYTIwZCAgLi9kaXItMTA3L2RhdGEuMDA0CiswM2IzYjE2NTQ3YjI1ZTk0ODRjNTE2ZjVlODhlNWM3NSAgLi9kaXItMDg5L2RhdGEuMDA2CiswM2I0ZWQ3MGY5NmQ1YzY5M2JjZjdmNWE0NzllY2Q5ZiAgLi9kaXItMDE0L2RhdGEuMDA3CiswM2Q4YTRhYzVhZGQ1YTk1ZjNkOWNhYzhmODQ3YzhlNyAgLi9kaXItMDIzL2RhdGEuMDAwCiswM2RlMmYwOTU4YTc2ZTlkMDEzODliOTE5YzY5ZWM5NiAgLi9kaXItMDc5L2RhdGEuMDA0CiswNDNmYTZjYmEwODk0NmFkNTA4Y2E4OTBhNDJmMDY0NCAgLi9kaXItMDA1L2RhdGEuMDA0CiswNGJlYWM0OWU2ZDFmMWY5MDY3ZGEyNDlmODk1M2ZlOSAgLi9kaXItMDQxL2RhdGEuMDAyCiswNGJmMzY3MjFjOWRhNTViMmZkNjc4MGE1YTZkY2VmMCAgLi9kaXItMDEyL2RhdGEuMDA5CiswNTJhYzdmZjA0NzkyOGE0ZjFjMGQ4YmYzODMyMDQ4MyAgLi9kaXItMDAwL2RhdGEuMDAzCiswNTNiMTUzOTYwOTZjMjc1MWQ5ZTMyYjE4NmJmMDk0OCAgLi9kaXItMDM1L2RhdGEuMDA1CiswNTg4NzllMDcwZDUxYzFlMjQ4N2Q0ODFmOWM0M2I3OCAgLi9kaXItMDcxL2RhdGEuMDA3CiswNWJkNDM4ZDdhMTUxZWJlYzI0Y2NlZmZiNzkyYzNiYiAgLi9kaXItMTA0L2RhdGEuMDA5CiswNWJkOWI2OTJlZjJmZjJjM2UyZTIyYTU4MmJmYzI1YyAgLi9kaXItMDIxL2RhdGEuMDA2CiswNjQ5MmRlZTUwMTU3ZjM3OWVhYmJlODExYmNiNWFjNyAgLi9kaXItMDczL2RhdGEuMDA5CiswNjhjNzI0ZTc2ZGJhMGM4ODdjNTMyM2RlN2I3YTQzNCAgLi9kaXItMDIxL2RhdGEuMDA0CiswNjkzNzlhYmZkOWYyNmUyMDNjNTM5MjM0NDNlNThhNCAgLi9kaXItMDk0L2RhdGEuMDA2CiswNmMzNmY1ZGIwYzAyMTI3ZGJiY2E3NWM1ZDdjMTMwYyAgLi9kaXItMTA0L2RhdGEuMDA2CiswNmQyMTlkODNkMGQyMTQyZTlmN2EwNjM3MmU4MmY4MSAgLi9kaXItMTEwL2RhdGEuMDEwCiswNmRmNzE4Zjg4NWZkNzFmMjU2ODk0MGI2MTY1MjhjMyAgLi9kaXItMDU5L2RhdGEuMDAxCiswNzAxNzgyMzBlYTQ3ZTkwZDAwZjlhNmZhMTk3NWZkMiAgLi9kaXItMDc5L2RhdGEuMDA1CiswNzJjMWQxNzU1YTRhZjc4NTVkZmVhM2M2OGNmMjcwYSAgLi9kaXItMDY1L2RhdGEuMDA4CiswN2NkNzY3ZWYyNGQ0ZWMwNTdhYjk4ZDBiNGIzODhhOSAgLi9kaXItMDkxL2RhdGEuMDAyCiswODEwMjliN2Q4YmIyN2Y2YzRmNzlhMmU0YmE2N2Q4NSAgLi9kaXItMDcwL2RhdGEuMDA1CiswODI2ODA4ODI1NDI1NmMyNTg5NGM2ZDc2OTAyY2Q2MSAgLi9kaXItMDM3L2RhdGEuMDA3CiswODI5YzIwYzgxMTEzZWVjMDc1OWU1ZmRkNzRiMWQzZSAgLi9kaXItMDU2L2RhdGEuMDA1CiswODMxMGFkNzhjYmQzZDZlZTE4NjRlNWMxNDUyNDhkOSAgLi9kaXItMTAzL2RhdGEuMDAxCiswODQ3OGM3YTUyM2E4NzI1MTA3YWQ4MDRhN2RjZGExZSAgLi9kaXItMDk2L2RhdGEuMDAzCiswODc2M2QyMzhlMDJkN2FiNTdkNzYyYjU4MDM4ZTM4YyAgLi9kaXItMDU0L2RhdGEuMDAwCiswOGY5NmJmNjhlZWE4YjgyYmNlMWE1YzE1NjUwNzViZSAgLi9kaXItMDYwL2RhdGEuMDAzCiswOTBlZDg4MDM2YTk2MThlNGM0NDg1OGRiMzk5NzkzZCAgLi9kaXItMDQ0L2RhdGEuMDA4CiswOTJiYWE4ZDI2NTllZDk0ODAzZTY1MmJlNGM4YWZlNCAgLi9kaXItMDk5L2RhdGEuMDA5CiswOTNkMmQ0NTk3MDE1Y2FlNDJkZjdkM2UyZTNiZjgwMiAgLi9kaXItMDYyL2RhdGEuMDA5CiswOTZiN2E0ZjY3YTU2MWZhMjkzM2JiZWZiYTAzMmM2NyAgLi9kaXItMDI1L2RhdGEuMDEwCiswOTliZjQxMDdhZTAwOTQ5N2FiZjUyZDZkMDhmNWIzNiAgLi9kaXItMDEzL2RhdGEuMDA2CiswOWI0ZjVhMmI0OWNlYmE3NTJhNjA0Mjk3YWI2MDYzNSAgLi9kaXItMDQ5L2RhdGEuMDA2CiswOWNhMjUwOWI0MThiNTcyMTE4OGVhMDQ0ZWY2YjRjMiAgLi9kaXItMDYyL2RhdGEuMDA1CiswOWQ2YTg0NGEwZjE5NGY4ODRjOGJmYTZlZDgzMGEwZSAgLi9kaXItMTA2L2RhdGEuMDA3CiswOWQ5ODY3ZjU2MWQzNWQyZGUzN2Q5YWUyOTQwMGVlMCAgLi9kaXItMDg0L2RhdGEuMDAxCiswYTRmOTE2MTA5NmVjZjhmZjgzOTdjZmZjZDliZjJjNyAgLi9kaXItMDAwL2RhdGEuMDAyCiswYTU0ZjJhODM0N2NhZDdlODA2Y2QwMjgwYjYxNzQ2MyAgLi9kaXItMDE3L2RhdGEuMDA1CiswYWRhMDQyODI4YTcwMGFkMjQ4OWEyMzQ3M2Q4ZTkwZSAgLi9kaXItMDAzL2RhdGEuMDA0CiswYWZkM2I0OWYxNmQyOWViYmM2ZjQ3OWEzOWNlN2JmYSAgLi9kaXItMDM3L2RhdGEuMDAzCiswYjBmYjcyZjAzZGI5OWNjNzIyZDRhYWYyYTk4ZTViNiAgLi9kaXItMDEwL2RhdGEuMDA1CiswYjUwOGI1MDIxZWZlNDhhYmVhZmI1OWJjZTZhM2Y2ZCAgLi9kaXItMDk0L2RhdGEuMDA5CiswYjkzOGYwZmU3YmJiNjUxYjFkMjVmNzc2M2FlNmQ1MiAgLi9kaXItMDUyL2RhdGEuMDA0CiswYjk5NzQ2ZjA0OGI2ZTQyMWE0NTJlOTMwMjUzYmIxNSAgLi9kaXItMDU2L2RhdGEuMDA4CiswYmFhYWVlMWVjYWViNWY5Y2Y4Yjc1NjdhZmQ0ZWY4OSAgLi9kaXItMDI2L2RhdGEuMDAxCiswYmJjY2YwNDEwOWIyNmY4ZDRmMWNjY2IwMGY3MjdlOSAgLi9kaXItMDUzL2RhdGEuMDA0CiswYzFlM2M4NjliMGFkYWE3Y2U5Mzg3OWExNTE3NzZkZiAgLi9kaXItMDAxL2RhdGEuMDA2CiswYzgyMTFlZjQyZDc1ODkyYzcwN2YwMjJlMmE3ZDQ1MiAgLi9kaXItMDQzL2RhdGEuMDA0CiswYzkyOThhZWZlNzIwMDRkMzQ2NDNlZGRlZjhmNGYxZiAgLi9kaXItMTA5L2RhdGEuMDA3CiswY2ZjYzE1MjIzNWFjMmYxNTY5YzM5MDA4NGI2ZDQ0MiAgLi9kaXItMDEyL2RhdGEuMDA2CiswZDEzNTU3ZjU2NjY3ODMxYTg1M2Q0MjJmNDBjYjg4ZCAgLi9kaXItMDE0L2RhdGEuMDA2CiswZDNjZDliMjJiOTEzOTFkMTdjMzBlNzlmYzg5MmE2MiAgLi9kaXItMDYyL2RhdGEuMDA4CiswZGExMTc1MzJjYWRlNDNhOWI0MmI2ODFkYmI0ZDk3YiAgLi9kaXItMDQ3L2RhdGEuMDAwCiswZGI4YWVhNWVjZWYwNDA3NDJlNGQ5YjNiYWE3NmRkNiAgLi9kaXItMDMwL2RhdGEuMDAxCiswZGJhYzFkNjk3Y2M3NzY4NWUxZmI4ODQ5MTZjMWFlNSAgLi9kaXItMDI2L2RhdGEuMDA0CiswZGJkZWQ0ZDIyNDUzYzc0ZWQ4Y2E4NzZjNzU5YzFkMCAgLi9kaXItMDI1L2RhdGEuMDA2CiswZGM4OWFkOTE2MDU1YzczMjFhZDg5ZTEzNWQ1YjU2NSAgLi9kaXItMDUxL2RhdGEuMDA2CiswZGNjMWJiNWI4YzY3MWZhOTA2YTRjMDI3Zjc4MTE0OSAgLi9kaXItMDAyL2RhdGEuMDA4CiswZGVmOWU0OWQ0NmY4MTg4N2FmZDYwMDRiYTI3OTY2ZSAgLi9kaXItMDE3L2RhdGEuMDAzCiswZTEyNTc3ZTQ1NGE0NDg2NmY1NGY5OTczODYzN2QzZSAgLi9kaXItMDU5L2RhdGEuMDA0CiswZTIwYTcxODlmMGE5ZDI0MzVmM2JjYTFjM2E2MTExYiAgLi9kaXItMDUzL2RhdGEuMDAzCiswZTM4N2Q0ZTFkMjY2OWVkZDU1Mjc2NzZkYzVhZWM4OCAgLi9kaXItMDkyL2RhdGEuMDAxCiswZTRkNjE1YzJhYWZkYTdjYTllMjRjZTVjNDYzNzA0NyAgLi9kaXItMDQ2L2RhdGEuMDA2CiswZTY0YzM1NmI0NmY3NjkyMzE5NWZkNDlkNDUyY2RhOSAgLi9kaXItMDkyL2RhdGEuMDA0CiswZThkOTlhM2IzNDczMzQ4OGQ0ZDBlOTE4MzdhZTYyNSAgLi9kaXItMDEwL2RhdGEuMDAzCiswZTkzY2I4MjA2YjNkOTJjNmIzNzdmNWYwYWU2YzNjYSAgLi9kaXItMTAxL2RhdGEuMDA4CiswZjA0OGI5YmRhNmY2OTRkOTBlOTYxYTVmODNhZTIwMCAgLi9kaXItMDM5L2RhdGEuMDA5CiswZjVjZGM2NWVmODQ3M2YzMjUzM2UzZjU2ZGNhMmVhNCAgLi9kaXItMDM5L2RhdGEuMDEwCiswZjk5ZGZmYmI3ODBiZjRhYzUzODFmMmYxNDc4MmE2ZSAgLi9kaXItMDQxL2RhdGEuMDAwCisxMDI5ZTkxMmY2ZWNjOTMwNTU4NWU4MzMzZDcxNjAyYyAgLi9kaXItMTAxL2RhdGEuMDA0CisxMDNiOGUyOTliNmVkNWI0N2Q1ZWI2YWY3ZDA0ZDg1ZiAgLi9kaXItMDAxL2RhdGEuMDA4CisxMDQxNzkwM2IzMTI4NDk3ZmZhZTUxMmU5NDEzZDJiYiAgLi9kaXItMDY5L2RhdGEuMDAwCisxMDhjNjE1NjI3ZTNhMjg3NGZmY2QwYzdkYWY5M2ZhYiAgLi9kaXItMDQ5L2RhdGEuMDAyCisxMGU2ZTEwOTdjOWE0YzE3YWViMjExYTI5MjBlODcyYSAgLi9kaXItMDgwL2RhdGEuMDEwCisxMGZiNWRhMDQxMzRjNjYzYjA1NTRhZjA4NGUyYTdlYyAgLi9kaXItMDk1L2RhdGEuMDAwCisxMTRmNmJjMGZjZDg3NjM1YTZiZjMwNDAwOGU5YjVjNCAgLi9kaXItMDkzL2RhdGEuMDAwCisxMTUxYWU2MmRiMTU1YTAxNTcxZDdjNzllZTkzMDdkMyAgLi9kaXItMDAyL2RhdGEuMDEwCisxMWIzZGVjMmJmZjk2NWFmNmIzNjY3MGRmZDdhZTU3MyAgLi9kaXItMDU2L2RhdGEuMDAxCisxMWUzNjFiNzVkZmZiZTBlZDA5Y2RhNjM4ZDg3ZTJjZCAgLi9kaXItMDQ3L2RhdGEuMDA3CisxMWU5YzA2YzBkN2MzNTVmMWJiMGJmOGFkMzM3NmFjYiAgLi9kaXItMDgzL2RhdGEuMDAxCisxMWZiNTljYjM1NTcwODFlZDcyMTk2NjZiNzQzNzRiNCAgLi9kaXItMDA0L2RhdGEuMDA1CisxMjUxODAzZDliMzFjZWIxZWUyOTAwYTg0MDdjNzYyZiAgLi9kaXItMDE4L2RhdGEuMDA0CisxMjVmNzFjNTAxNmU5MmIzNjU5MDcwZWQwNGY1OGJlNiAgLi9kaXItMDYwL2RhdGEuMDA3CisxMmFhNWQwZGFjMGViNTFlN2QyMmI4ODI0NjI4MmYwMyAgLi9kaXItMDkzL2RhdGEuMDA2CisxMmNmYjNhZjg2YjdjYzE0MWEzZmU5YTYyNjg3MjZhNSAgLi9kaXItMDI0L2RhdGEuMDA1CisxMzJhZjcwMDUyNTVjYzRiMDM4YWQ5MDIxZWNhMzg0MCAgLi9kaXItMDY2L2RhdGEuMDA1CisxM2M4ZWIwNzFjOGU4YmQ2ODQyMWQzN2Y5MjU2MDFlNCAgLi9kaXItMDE2L2RhdGEuMDAwCisxM2RkMTRlNTVjZGE5MmRlZjZmMTFkYjQ4MjQzNGEwMCAgLi9kaXItMDIyL2RhdGEuMDA4CisxM2Y2NzM2NmVlNWM4YWRiNDBlODBkM2E1Y2QxN2ZiNyAgLi9kaXItMDY2L2RhdGEuMDAxCisxM2ZiMjM2ZTVmMjdiNzg5ZmMzMWYxY2Y1YjFiODg5MiAgLi9kaXItMDE1L2RhdGEuMDAzCisxNDUwNmMxODgwNGRlYmNlYmYyN2EzNzdhYTA0ZWFhNiAgLi9kaXItMDg3L2RhdGEuMDA3CisxNDUyOGJmYWEwYTFhY2E2M2NiYzgwYWNhYjk2ZjgwMCAgLi9kaXItMDUxL2RhdGEuMDA4CisxNDhjZjVjNWZlYjcyMjA5MjQ0MWVjODdiN2E1NjExYSAgLi9kaXItMDI1L2RhdGEuMDA3CisxNDliNzY3NGE5Mjc5NmJlYzdmNjA2NmJiZGVmOWEzYyAgLi9kaXItMDI3L2RhdGEuMDA3CisxNGRhMDhiMmQ4NWJmYzgxYzBiMGI5MjgxNzk4OTc5MSAgLi9kaXItMDMzL2RhdGEuMDAyCisxNTAwYTRjNTA1NGQ4N2RkNjFjMzkyZjMzODY4ZGE0YiAgLi9kaXItMDM4L2RhdGEuMDEwCisxNTk4N2NiM2RhNjJmNDVjN2FlZTdhMGFiOTUxODIwNiAgLi9kaXItMDg5L2RhdGEuMDAxCisxNWMwNTMyN2YzMzdjN2Q3NDE0ZDQ3MmZhNzcwZWMzYyAgLi9kaXItMDM4L2RhdGEuMDAzCisxNWNjZDVhMzEyZWI3NzJjODVhNDRhNjMwOTkzMjJhZiAgLi9kaXItMDQ1L2RhdGEuMDA1CisxNWYzMGEzMjY0YzBmOGM1N2U2ZDc0OTdhNDA2NGZlZCAgLi9kaXItMTAwL2RhdGEuMDAzCisxNjE1NjcxOGJlY2ViZjBmOTc1MTM2ZGNhNmM2YWU1NiAgLi9kaXItMDQyL2RhdGEuMDA1CisxNjI0ZDJhNGVhZDYxY2IzYzhlMjVjMjE3OTRlYTY3OSAgLi9kaXItMTA2L2RhdGEuMDA2CisxNjhiOTdiZGE4YWE2Zjc5NWQ4ZjcyNzIxOTRkMWQ1YSAgLi9kaXItMDIwL2RhdGEuMDA2CisxNjhmN2ViODJkZDdlYjc4YzRhNTIyMWQyZTU4MWRkZSAgLi9kaXItMDY1L2RhdGEuMDAyCisxNmNmOGM2YWNkM2NkMWNhMmZjNGJmYzliNTQzOTgyYSAgLi9kaXItMDA3L2RhdGEuMDA5CisxNzE0OTMzYjExYTRhOGU2MDAwNTc1NjU4NjZlYzQyMyAgLi9kaXItMDgwL2RhdGEuMDA5CisxNzQ1NjU2Zjk2MDFmYmQ1MTYzMTQ0NTAwZWRhNjU2OCAgLi9kaXItMDU3L2RhdGEuMDA0CisxNzkzNTNjZTE0OGMzNzQyNWQ3NjZlYTViNDNkYzMyYiAgLi9kaXItMDIzL2RhdGEuMDA3CisxN2Y3Nzg3NDU3ZTVmZDFhODYwMWRkMjM3NWVlYTc3NyAgLi9kaXItMDM2L2RhdGEuMDAzCisxODE1YzYzMTc1MjhjYWZkMmExZTYxNDI5ZDI5ZTFjZiAgLi9kaXItMDA4L2RhdGEuMDAzCisxODM2ZmQzOWIwNWQ5NGE4NjBkNzI3Zjk3MmExODcyOSAgLi9kaXItMDI5L2RhdGEuMDA3CisxODY5OTI1NzJlOTdkYzBhMzY4OGIyMjAyYzA2NmE3MCAgLi9kaXItMDY2L2RhdGEuMDA4CisxOGI0YTQzN2Q4MWFjZjU5NGNjMTQ4MjAzMTk4N2Y2MSAgLi9kaXItMDU4L2RhdGEuMDA5CisxOGQ5NzhjNmY1NGI1MGJhY2M1MWI1YmUyYTZiYTZkZSAgLi9kaXItMDUxL2RhdGEuMDAyCisxOGVkZjMzZGEyYzdlODViNmEyZDU0YjA0Zjc5NjY1ZSAgLi9kaXItMDkzL2RhdGEuMDA5CisxOTQ3NjgxZWJkYjY1Y2ZjNmE0ODU1NmVhOWQ5MjNkOSAgLi9kaXItMDIzL2RhdGEuMDA1CisxOTY5ZWNkMjI1YjlkNmZhNDAyOWJmNjczZGJlYTRkZSAgLi9kaXItMDM2L2RhdGEuMDA3CisxOWEzNGY4YzkwMTZjZWE4ZDU4ZjAyYjgxNmQ0NDc1ZCAgLi9kaXItMDY1L2RhdGEuMDAzCisxOWMzZjdiYTYzZjY0Y2Q2ZTg0ZDI4ZTk3NDgzNDEwMSAgLi9kaXItMDEyL2RhdGEuMDAyCisxYTM1ZTE5YzZmYWI0ZmExZDgxOGU2ZWZiNzlhN2IxOCAgLi9kaXItMDUyL2RhdGEuMDAzCisxYTkyZmQ1YTQ4MjFlOTI0NDYxNDI5NTc3NDkxNDA3ZCAgLi9kaXItMDAyL2RhdGEuMDAxCisxYTk3M2YyYzAwZDAwOTA2MDdhMDVkNjA4YjgxODk3ZiAgLi9kaXItMDg4L2RhdGEuMDA1CisxYWNkYWI0ODBjNTJhNDU0YmE1NTUyYzI5NTE2ZDkzMyAgLi9kaXItMDczL2RhdGEuMDA2CisxYWQxN2M0NjAzNjA5YTM2YTcwNDkxNGU2ZjkxZDFlNiAgLi9kaXItMDM0L2RhdGEuMDAyCisxYjFkZGZiODhmMGNmMzdkOTZhNDRlZGViMjY2MjlmOSAgLi9kaXItMDQzL2RhdGEuMDEwCisxYmI1Mzc0N2JlNmFkOGEzZTdkYTU3YzYwYWU1NGJmNCAgLi9kaXItMDQ3L2RhdGEuMDEwCisxYmJiNmIxZWE3ODA2YjkyZTQzMWFhNDgxYmE1MzI1NiAgLi9kaXItMDU5L2RhdGEuMDA5CisxYmVmY2MwMDQwYzZhM2I3ZTkzNmE4OWI3ZGNjOGQxZiAgLi9kaXItMDU0L2RhdGEuMDAzCisxYmYzZDk2YzYzZjA4MjVhMDIzOGIzYzcxMWIyYWRkMSAgLi9kaXItMTA0L2RhdGEuMDA0CisxYmZlNjM2N2M0NmU1MGUzNGY5ZjY4ZGViZTJmZDllNSAgLi9kaXItMDYyL2RhdGEuMDAyCisxYzA1ZjMxNDY2YTZiMDVmMWQ3MzEyMDc2MDQyMWIwNyAgLi9kaXItMDE3L2RhdGEuMDAyCisxYzEwMGZhNGE5OWE2MzViMzk4MjZmYmYzMmExODVlYSAgLi9kaXItMDQ2L2RhdGEuMDAwCisxYzQwNzBmNmYyNTA2YTVkNTlkYWM2MzU3OWRiNWM1ZiAgLi9kaXItMDA5L2RhdGEuMDEwCisxZDI4NmFjNWE3ZjQ0NzdiMDdjYmYyYjhmYTYwOGYzMSAgLi9kaXItMDIyL2RhdGEuMDA3CisxZDg0MmY5NTI4NTBlY2IwN2I5ZjhhYjU5Y2RiYmRmYyAgLi9kaXItMDc0L2RhdGEuMDA5CisxZGFiZTc3YmUxMzAwNzdhMWUyZGU3YjFiMjQzNjM4ZiAgLi9kaXItMTA4L2RhdGEuMDAxCisxZTRiOTBlNzBjNTUzMTE5M2I4MmNjM2I2MTU4NTNhMyAgLi9kaXItMDgzL2RhdGEuMDEwCisxZTRiOTljMGM2Yzk3Y2JlNTljMDFiNmI4MWNkZDU1YSAgLi9kaXItMDAwL2RhdGEuMDA0CisxZTZmZDRlZTQ3MzdlZTQ0N2FkZTIxNjUxMDRmNGRjMyAgLi9kaXItMDQ0L2RhdGEuMDAxCisxZTgyYTVlOTc3ZTc1ZDZmZjEyYmE0ZTRiODEyMTk5NCAgLi9kaXItMDI1L2RhdGEuMDAxCisxZjBhN2FkOTMzMDgxODE1M2U2ZDEzNzA1Mzg5ZjUwNiAgLi9kaXItMDk4L2RhdGEuMDA0CisxZmFhMTBmZjU0YzUxZTllNmE2OTFkMjAyMGIyODE4MCAgLi9kaXItMDEzL2RhdGEuMDA5CisxZmJhZmQwNTMxZjVkYmYzZTg0YTg1YzNhZmVmNzE1OSAgLi9kaXItMDkxL2RhdGEuMDA0CisyMDE4ODI3MDgxODVmZDE1YWIxNjQ4MjZlN2U0YWIzYiAgLi9kaXItMDA3L2RhdGEuMDA1CisyMDI4ZTI1ZWU3ZWEyNDEwYjA1Yzk2ZTI1MzE5OTlhZiAgLi9kaXItMDA4L2RhdGEuMDA5CisyMDRmNjRjYTkzNDQ4OWM5YzMyMWI3NzE2YWJlNjEzNyAgLi9kaXItMDEzL2RhdGEuMDEwCisyMDljYTExODU3NDlmNWY3NjBmM2MyYjFlZWFiY2Y5NCAgLi9kaXItMDgwL2RhdGEuMDA3CisyMTA0YmZhMGQ1Y2M4MTY2MmYwZjI1MWRjODhlZDFmMCAgLi9kaXItMDAyL2RhdGEuMDA3CisyMTMzNTZjNmUwNTBhYTFmNDRmZGI2NzU1NGQ5OTg3ZCAgLi9kaXItMTAwL2RhdGEuMDA2CisyMWNlOTU4NzViMzQ5YWM4YzRhNTY2MWVjN2ZiMWM1YSAgLi9kaXItMTA4L2RhdGEuMDA5CisyMjUxMTc4OTliZGQ1MGI2ZmQ3NTRmYWM0Njg1MjNlNiAgLi9kaXItMDQ2L2RhdGEuMDA0CisyMmM3YzRkNjFiMjU0ZTY3YmZiNjIyOTJmNjgxMzMwMCAgLi9kaXItMDA2L2RhdGEuMDA5CisyMzA1Y2RkNTE1ZWEwM2UwZTNkOWRkNzg5M2M0OGU1ZSAgLi9kaXItMDkzL2RhdGEuMDA3CisyMzQzOTQ3YmNiMmFjYTVhNTgzNDM0ZTIwYjlhZmU4MyAgLi9kaXItMDMxL2RhdGEuMDAxCisyMzdjNWQzYjdhNTU2NjcwYTExOWI2YmVkZjRhN2E0NCAgLi9kaXItMDY0L2RhdGEuMDA1CisyMzg4N2ZjOTdkNWRlODQ2ZGJiOWIyNmZlNDg1NjBlMiAgLi9kaXItMTA1L2RhdGEuMDAzCisyM2U5OGM5OWMxNGRjNzRiZjMzZjQwZjg0MzhkNTk0NyAgLi9kaXItMDM1L2RhdGEuMDAyCisyM2YyZGNmNmJiMDQ1NGZkMjA1ODQ0MmFiNmM5MmIzMiAgLi9kaXItMDU5L2RhdGEuMDA4CisyM2ZhY2Q1MDc4NGI5MWVmZTJlNWU4MTY3OGJmMDRiYiAgLi9kaXItMDY5L2RhdGEuMDA2CisyNDJiZTY4YjM3MjBlNTg2OGU3Zjc2NTJkYTVhZjA0MyAgLi9kaXItMDA2L2RhdGEuMDAxCisyNGE4NjM5NzNmOGVmNjc0YjM1N2UxMTg5YjQwZGU2OSAgLi9kaXItMDYwL2RhdGEuMDAwCisyNGM5ZjQzNzFjOTM2N2ViNTQ0NzkxOThkYjA2MTc0OCAgLi9kaXItMDcwL2RhdGEuMDEwCisyNTM3NTEwY2VmNWU2NjEyNmFiNGE1ZjIwMzhkZTk4YiAgLi9kaXItMDExL2RhdGEuMDA0CisyNTNlN2RjMDMwN2U1NDVmYjQ0ZmI1ZTYyMTg4Mzg5NSAgLi9kaXItMDAyL2RhdGEuMDAwCisyNTczOTRjOWRjYTNkYjdlNzM3ZmZhMWQwNDE5MzE3ZCAgLi9kaXItMDc0L2RhdGEuMDAwCisyNTg1ZGNmYWU0NmJjNGM0NDRmMzQ0MTZlNDhkYTM3MSAgLi9kaXItMDUwL2RhdGEuMDA5CisyNTk1YzVkNWYxNTY0OGY1Yjc4NGNjMzI3YTBiOTQ4MCAgLi9kaXItMDc3L2RhdGEuMDEwCisyNWQ4M2RlMDlkMDc1MDM2YzM3ZjRmYTQwODRlODFmMyAgLi9kaXItMDY2L2RhdGEuMDA2CisyNWRhYmI2M2RiN2U2OWU0OWEyMDA3OGUzZjFjNzM5OCAgLi9kaXItMTAzL2RhdGEuMDA0CisyNjU5MDVlNTgzNjBkNGVlNGNhYmU3ZmEyNGViNDliYyAgLi9kaXItMDg2L2RhdGEuMDA3CisyNjliYzRiN2Y0ZDE2YzY2OTA3ZDQ1MDM1NjY2MWI2ZSAgLi9kaXItMDg4L2RhdGEuMDA4CisyNmI2YTc0ZTNkYWJmZDNjOWE0NjVmNzA1MzM4N2YxOSAgLi9kaXItMDEzL2RhdGEuMDAwCisyNmI3MWQyYTBlNDNjOTgzN2Q1Njc2NjJiZjljN2EwMSAgLi9kaXItMDM2L2RhdGEuMDA2CisyNmJhOWU3YmYxZmZhMjc1NjAyYWMyMzU2NDJhZWMyMiAgLi9kaXItMDYzL2RhdGEuMDA2CisyNzBjNjNiMTlkOWI0Yzk4NjZkZjFhN2E5ZDk2NGJhMyAgLi9kaXItMDU4L2RhdGEuMDAxCisyNzQ3ZDVkZmRiZDRmNWNlNzY2NDI5MTFmZDFjZDdiYSAgLi9kaXItMDM3L2RhdGEuMDA2CisyNzU3MTlhN2QyZTEwZmQwY2MwZGJkNDA2YTVkZDI4NCAgLi9kaXItMDMwL2RhdGEuMDAzCisyNzk3NGFhNDgwMWE3YzNhZjg0Mjg5OTI3MmI5ZjZkNSAgLi9kaXItMDMyL2RhdGEuMDAyCisyN2ExYTgyN2Q4MDM5OTY2NTBiZTc1NTQ3OTAyMDliYiAgLi9kaXItMDk4L2RhdGEuMDEwCisyODNjOWY4ZDNkYzU5Y2ZmNDg1MGNhNmQ5NzY1NDVkMCAgLi9kaXItMDEwL2RhdGEuMDEwCisyODUwM2M4NTljODliNWQ5OTUzZjViZjA4NGI0NDQwOSAgLi9kaXItMDk2L2RhdGEuMDA2CisyOGJhODMwMThjN2Y4ZDc5YTRiZmIyYWE5NGVjZjc3NyAgLi9kaXItMTA3L2RhdGEuMDA3CisyOGYyYzc0MDgyNzc2NTdlNGMyYzViMmU4MDE3YmNhZiAgLi9kaXItMDg4L2RhdGEuMDA2CisyOTA2MTYwMDdkNzZiYmUwNWE2MWM3MzY5M2E5YjA3MCAgLi9kaXItMDAxL2RhdGEuMDEwCisyOTA5MmU5NGJlM2U3NGEyNDZjMjQzODNmOTIwNzUzZiAgLi9kaXItMDM1L2RhdGEuMDA2CisyOTU3YWU5NjYzNDA0NGE0MmJiYzRiYjA3MDdjZDIwMiAgLi9kaXItMDY3L2RhdGEuMDA2CisyYTExZDdlY2ViMzVkOGZmODI0OGYwZWM2N2E0ZWU1NSAgLi9kaXItMDA0L2RhdGEuMDAyCisyYTM5Zjc0OTNlNTY0NmEzOGU5ZjcxZWIyMDJkYmMyZCAgLi9kaXItMDI5L2RhdGEuMDA1CisyYTRiNGZmNDdkN2FiOTcxMTc1NzYzN2Y0ODBjMDU4NiAgLi9kaXItMDk2L2RhdGEuMDA0CisyYTVhNzQ4ZDY1OTkxZjYzZjZkYTM5YTk3YTIyY2NmZCAgLi9kaXItMTA4L2RhdGEuMDAwCisyYTg4NjA3MzlmOWQyZGJkYTY1ZTRkODUyZTBmZDMwOSAgLi9kaXItMDc2L2RhdGEuMDAxCisyYThkNzA1YjkwYjgyYWY0NTVhY2ZhN2Q5YzBmYzNjOSAgLi9kaXItMDY5L2RhdGEuMDA5CisyYWNlNGIwZDhlZjEyMmJkOTE4ZThkNTM4NzE0ZWU3MyAgLi9kaXItMDg0L2RhdGEuMDAyCisyYjA4YzJmMTc4M2Y4NjUwNTEzNjliZjQxYjQ3Zjk2MCAgLi9kaXItMDIzL2RhdGEuMDAzCisyYjMxYjY4ZDE3ZWM2M2IwZTFhNTAxNzZjNDkwMzBlNCAgLi9kaXItMDc2L2RhdGEuMDA3CisyYjM2MGU5YzUwMjI1ZTFlYmY4YmY5NWZjMDkzOWUyZiAgLi9kaXItMDA2L2RhdGEuMDA1CisyYjU0NWU2ZTZjYTNiNjYzOGI2MThjMzRhYWVmZGJmMiAgLi9kaXItMTAwL2RhdGEuMDAxCisyYjVkMTgxMDhlMDMwOTM1NGI0ZjgwYjE4NWUyMzIzYSAgLi9kaXItMDU3L2RhdGEuMDEwCisyYjgyNDQ4ZTZmY2NhYzM0NDFkOWY3ZDdhMTMwNzRkNCAgLi9kaXItMDMxL2RhdGEuMDA3CisyYmNjMjgxOWEyODhlZTRlYzJjOWMwMGM1ODVmNjdkOSAgLi9kaXItMDI3L2RhdGEuMDAxCisyY2JjOWIzOTIyZTVkNzVhOGM0ZTU3NWU1MzA2NWYyZiAgLi9kaXItMTA5L2RhdGEuMDAwCisyY2U3YzlkNWUxYTRhZWQxZTlkZWMxYWE4NTAyMWY0YyAgLi9kaXItMDEwL2RhdGEuMDA2CisyY2Y3YzZlMDM4ZDM3NDQyNzVkOGZmYjhiNGFiNTJkMCAgLi9kaXItMDk2L2RhdGEuMDAxCisyZDA0OTRhMzUwYTU3MGJmODY1OTZlYjVkY2QzZTU3NSAgLi9kaXItMDU5L2RhdGEuMDA3CisyZDFjYWUzZDUxNTFiZWJlMTJhZTdkOTdkOWVmYjkyZCAgLi9kaXItMDA4L2RhdGEuMDA0CisyZDI3ZWMwZDMxOGNmNTZkOGVjYzIyNmE5NzJkYjY3NyAgLi9kaXItMDI3L2RhdGEuMDAyCisyZDM5MmE3YjNkY2ZhNmVlMTM5OWRlOTQxNmE0MWI2MCAgLi9kaXItMDgzL2RhdGEuMDA1CisyZDQ0MzNiNmUzMmJkYThlNTYzZjA0MmZiNzk5ZTg2ZCAgLi9kaXItMTEwL2RhdGEuMDAyCisyZDcwYzEyOWQ4NTdkMjJhODI2NmMyZTVmM2VlNDU2MyAgLi9kaXItMDQ4L2RhdGEuMDAxCisyZDc2Yjk3ODRiYmI2OGM2NzBhZWFlMTM0ZjFjNmMzMiAgLi9kaXItMDk1L2RhdGEuMDAxCisyZGJlZjA0NDVkMWI0NTBiODhiOWU1ODE3NzQxZjI5NSAgLi9kaXItMDcyL2RhdGEuMDAyCisyZGMxODRlOGVjZTc3NDRkZTk5MTJkNDY3MWYyZjExNiAgLi9kaXItMDQ0L2RhdGEuMDA5CisyZGY1ODc3ZGZmN2Y3N2U0OGFhNDViYjk2ZGU5ZjM2MiAgLi9kaXItMDcxL2RhdGEuMDEwCisyZTAzZjdiMjU4ZDAwYzBjNWZmMTA0MjVhNzAxYjQ1NyAgLi9kaXItMDgyL2RhdGEuMDEwCisyZTBiZjkwMzAwOTJkZDc3ZWQ0NGNkN2EyNTQ5NzQ5NiAgLi9kaXItMDcyL2RhdGEuMDA2CisyZTBlZTc5NjY2OTA0ZTM2MjljODAxZjJlMzllZWVmNCAgLi9kaXItMDA5L2RhdGEuMDAxCisyZTQzYWRhMjM0Nzc1YWRiNzcxODhhODQwZWVlMTUyNSAgLi9kaXItMDIwL2RhdGEuMDA5CisyZTY0OGExMzhmMDRkYWJhM2VjMzBkOWVlODUwMmEwMyAgLi9kaXItMDI4L2RhdGEuMDAyCisyZTkwY2Q1NGY4MDM1MmVjN2QwM2ZhOTg3MzcyNDViNSAgLi9kaXItMDM0L2RhdGEuMDA5CisyZjI1M2NiNWMwNjVjOTBjYmM1ZDY2Njc0MTM4NjJhOCAgLi9kaXItMDY2L2RhdGEuMDA5CisyZjUxNjA4Y2QxYzBhZWQ2NGYyYjBiNjVmYTEwMjBjMyAgLi9kaXItMDI1L2RhdGEuMDA5CisyZjhkNjhiYzhlYzFjNWRiOGNlMmY3MGM4N2Y5MWU2OCAgLi9kaXItMDY3L2RhdGEuMDAzCisyZmEwMWE2YjE0ZWE5MWMwMjQ2MGMwYmViNzBmNjljNyAgLi9kaXItMDAzL2RhdGEuMDA1CisyZmQ3NmZhZGIxMjRjNzAxZTg1Mjc2MzEzMTQ4MDQ1NyAgLi9kaXItMDA5L2RhdGEuMDA3CiszMDFlOTY5MjU0MjlhNTc3Y2ZmZDM4MDVjMmI2NzgxZSAgLi9kaXItMDYwL2RhdGEuMDA1CiszMDRkMDM0YzEwYzNmMmU4NjU5YjI1MDQ5MDI4ZGQ2MCAgLi9kaXItMTA0L2RhdGEuMDAzCiszMDVlYjAyN2FiMjIzNzVlMjlmNmNlNTQ0ZmJkMDdiYyAgLi9kaXItMDYzL2RhdGEuMDAyCiszMGE0NGVhY2QwYWY2NzRmMTcyNWZkYTNiNzQ0OGY0ZCAgLi9kaXItMTAxL2RhdGEuMDA5CiszMTE3OWM1MGJjMTU1M2NjZTIzNWM5YWE2MjVjMTZhZSAgLi9kaXItMTA1L2RhdGEuMDEwCiszMTNmZGI4NTg1YzE2ZmZkZWIwMDljMGQzMjU2YTNiMSAgLi9kaXItMDc4L2RhdGEuMDAwCiszMTY5Y2RmNTI0YmEyMDA1NjQ0ZDA5Y2UyZDcyZDY5NCAgLi9kaXItMTAwL2RhdGEuMDAwCiszMWM1YjczNjU3NTBjYTdmYmY3ODljNGNhMzI1MDE4ZCAgLi9kaXItMTA3L2RhdGEuMDA5CiszMjkyODY1MGRjNzJmODgxMDAwN2VmZmE4ZGIwMDExOSAgLi9kaXItMDM1L2RhdGEuMDA4CiszMmFmOTJlMjNlNDUzYzcyNDE3YWNmNTZkM2FiNmZkZSAgLi9kaXItMDMzL2RhdGEuMDA3CiszMmNmMWRmY2I5YmQ3MjM1M2Y0Njk5MzAwNmNiMmQwYyAgLi9kaXItMDAzL2RhdGEuMDA3CiszMmUzZjcyYjFmY2E1YWMzMTc2ZThkYmUxMTBlNzU3YSAgLi9kaXItMTA0L2RhdGEuMDA1CiszMzk4YmY3MzNkNGQyNmE3YTgzMDQ3NDAzODFhODMzMyAgLi9kaXItMDM2L2RhdGEuMDA4CiszM2U4MmRiZWJiZjcxMGExYjIwMzY1NTUxMDQ0M2ZmMSAgLi9kaXItMDM3L2RhdGEuMDA5CiszM2ZjNTAyYTBkMDYxNmY3NjU1MTQ0NmVmMTk2NWMzMCAgLi9kaXItMDY1L2RhdGEuMDA1CiszNDgxZThiMjE4MTQxZTZlNmRjOWI3NTI5NjUwOGIxNSAgLi9kaXItMDMzL2RhdGEuMDA0CiszNGExOTk3Y2E4ODZkN2MxM2JhNDkzNmY0YzhlMGRhYSAgLi9kaXItMDE5L2RhdGEuMDA1CiszNGM5OTM2YzQ2YTg0NzE1MjEyNWU1ODM4MzljMTJjNiAgLi9kaXItMDQzL2RhdGEuMDAzCiszNGYxMDJiNjNlNTMwODk2NGUyZjk3MjVjYWY2ZWMyYyAgLi9kaXItMDg4L2RhdGEuMDAwCiszNGYxNjI3Nzg2ZDhkNzcxNTg0MmFmMmJjYmM5MmRkOCAgLi9kaXItMDIyL2RhdGEuMDAwCiszNTc2NzFlMjBmNTkwOTAwYTM4NjliYzI5ZGJlZTFmZCAgLi9kaXItMDUxL2RhdGEuMDA5CiszNWQzYTFiZDVkZDFhM2Y3ZDBiNTBmYjJjNTQwNjY0NSAgLi9kaXItMDM5L2RhdGEuMDAzCiszNWVjYzAxNDRiY2EzNWY1MTk5ODVhYWExNWJlMjZjYiAgLi9kaXItMTA2L2RhdGEuMDA0CiszNWZmYmU2ZTYyZGE1YjBhZTljMDYzNjM2MDBiMDcxNSAgLi9kaXItMDQ5L2RhdGEuMDAwCiszNjAzZGQ4YzFmMjM0NmVkMDc3MGFhNTQ4NTEzZWIzNCAgLi9kaXItMDI0L2RhdGEuMDAyCiszNjFiODQ1YWEzMGRiZDQ0MmNmMmYwYjg3YWQ0NzQxYSAgLi9kaXItMDU1L2RhdGEuMDAyCiszNjFmZDliNjY0OGY5NWZmN2VlYzhkNzE3ZDE3OWJjMCAgLi9kaXItMDg5L2RhdGEuMDA4CiszNjI3MGE0MTUwOTc4NjVkYmE2ODQ3OGY2OTYyOGRiMSAgLi9kaXItMDAzL2RhdGEuMDA2CiszNjUzYTk4OWI5NzY0YjJmZDUzMDMyNGE5OGVjODIxOCAgLi9kaXItMDY3L2RhdGEuMDA0CiszNjU1MWFmNzc3MDZhZTU2ZGMyMjhjMTE1MWNhYTdhNiAgLi9kaXItMDYyL2RhdGEuMDAwCiszNmI1NWY3NzU3MGQxYjQ2MzgwZDYwMThmNTI2NjFlNyAgLi9kaXItMTA5L2RhdGEuMDA0CiszNmQ2OGI5Y2ZjNTFhYWNjZTA4MDY1ZDM3ZWI1MDBjNiAgLi9kaXItMTAyL2RhdGEuMDAzCiszNmZjMzFiYWJhZDg5ZWYyNmFjZDAzMzdhNzkyODZkMyAgLi9kaXItMDQ5L2RhdGEuMDA0CiszNzA0YzVmZDZhNDQ2ZDUzMGJjY2ExODAwNGYyYjMxZCAgLi9kaXItMDgxL2RhdGEuMDA4CiszNzA3NzYwNzk4ZDRlNTBkYTcwYmFlMGU4ZDJjNGMyOCAgLi9kaXItMDk1L2RhdGEuMDEwCiszNzE3MTlmZTVjZDA1MmJlMmE2M2M2NDQ0ZWM3NzQxMyAgLi9kaXItMDQ0L2RhdGEuMDAyCiszNzU5NGJlNDFkODI5M2MwMzUxODY1YTcwOGUyYWYwNSAgLi9kaXItMDYzL2RhdGEuMDA3CiszNzkwYTJiY2U0MjBhODAwZmY3NmRkYzU1ZDRjMGQwYiAgLi9kaXItMDg2L2RhdGEuMDAxCiszN2Q5ZTBmMmQ5YTM5ZGJkOWZiMDZjNGRiYzFkOTMyZSAgLi9kaXItMDY1L2RhdGEuMDAwCiszODEzMWI1ZmNiMWJhN2Y3NGJjM2ZiODkwOTFkNjdmYyAgLi9kaXItMTA0L2RhdGEuMDAxCiszODIwODVkZjVmMTQyZmRlMDJiNDkyNTY5YjI3ZjdkMyAgLi9kaXItMDc4L2RhdGEuMDAxCiszODMwN2VhYmYxMTA5Yjc4Njc2MDM4NGRiZTcwMTNhMiAgLi9kaXItMDc0L2RhdGEuMDEwCiszODNhZWMzZDIzNmJkZTMxMzRiYmI4MTE0ODc1OTRhZSAgLi9kaXItMDcxL2RhdGEuMDA2CiszODZiZDMxM2I3MTQ0YmRiNzEyMWQ5ZDNjZmZkODAxOSAgLi9kaXItMDk1L2RhdGEuMDAyCiszODgzN2MwMzY1NzZhZDJhZmIxMzgyZTEwZDIyOTY1OCAgLi9kaXItMTA5L2RhdGEuMDAxCiszODk5M2E5MDRmMmQzNzA4N2E1YzRlZDQxM2QzMzFkNCAgLi9kaXItMDgxL2RhdGEuMDA3CiszOGQ4MmM0YmJjZDJkZWY0MTYzNmYwMjE1MWJmNTMxOSAgLi9kaXItMDg0L2RhdGEuMDA0CiszOTJjY2Y1ODY1ZmRmMGRjZmE1OTkwMzQ5MzRlNGZjZiAgLi9kaXItMDcyL2RhdGEuMDA5CiszOTJkNmMyM2Q1YjZhNThiYTQ1NTNjZmVmNTI0NTE5MSAgLi9kaXItMTA5L2RhdGEuMDA5CiszOTczMjQ2NTcxZDQ4ZjVmYmU5ZGRjMzM3Y2EyYzhjOSAgLi9kaXItMDE3L2RhdGEuMDAxCiszOWRlOTQ1YTc2M2JkODNiZGU3ODc4NzkyOTRjOWI0OSAgLi9kaXItMDA1L2RhdGEuMDAyCiszYTRmMzk3MjYyZTJiODMwZmJhZmZlZDRkMDNiMzdlOSAgLi9kaXItMDE2L2RhdGEuMDAyCiszYTgzNjNmYzM5ZTQyMTFhZmUzZWRlNTY4OGY5NDcwNSAgLi9kaXItMDc3L2RhdGEuMDA0CiszYTg5N2E2ODRkZDJiMzJiNGZjYzIyNzU5ODhmZDA4MCAgLi9kaXItMDE4L2RhdGEuMDA4CiszYTk0Y2E4NWFjOTk0ZjQ3ZTgwMTAwMTFmYzVjOTU4MiAgLi9kaXItMDAwL2RhdGEuMDA2CiszYWY4ZWQ5YzU5OWIwNmZmMmQ5OWZlNTU2MzM4MGMzMCAgLi9kaXItMTAzL2RhdGEuMDAzCiszYjE5MjJmYjQzZmIyMjJiNTczYTlmNDRiYjgwNWUwZCAgLi9kaXItMDI5L2RhdGEuMDA5CiszYjcyYjhiNDk4NGNkNTFlNjdlZDAzZjU5ZGE3MTZiMCAgLi9kaXItMDIzL2RhdGEuMDA0CiszYjhhNjU2OTczMTc4YzU4MTU0NTFkOGM2NGZhMWQyMSAgLi9kaXItMDA5L2RhdGEuMDAyCiszYmE3MmM0NWZkMDE3N2Q0OGY2YTdhNTEyMWZhYjVhNSAgLi9kaXItMDAzL2RhdGEuMDAxCiszYmViZDliNmZhNGFlYjk3NzJjYTIzOGZiODhkZGNmNCAgLi9kaXItMDczL2RhdGEuMDEwCiszYzk5Y2UwODgyM2MxYzFiMjRlMWM3NzU3NGNiN2JkZCAgLi9kaXItMDc1L2RhdGEuMDA1CiszY2E1MGEzNzRlMGM0NmNjYzM1Y2FiYTA2MjQ0YTU5MiAgLi9kaXItMDczL2RhdGEuMDA0CiszY2UwYzczOTA4M2NjMjFhZTZmMTllYjM3NzI1OGZiMyAgLi9kaXItMDk3L2RhdGEuMDA2CiszY2VhNDIwNTJhODMzYTFjNjVhYjZkM2RlN2RiOTVmZiAgLi9kaXItMDQ0L2RhdGEuMDA1CiszZDA1YzFlYmI3YWRiZDcyZWFlMDY0YjJiMTZlZDViZCAgLi9kaXItMDE1L2RhdGEuMDA4CiszZDM2MmQ0YWY3YWM0NDJiMGJlOGE2ZTFlYWVkMTIyMiAgLi9kaXItMDU4L2RhdGEuMDAzCiszZDNmYTY5ZWY3OGZmNGVlYzcyYzRhN2Q2MmQ0NDMyMCAgLi9kaXItMDU3L2RhdGEuMDAxCiszZGExMDMxMWFiMzViMzEzYmNlYTBiM2RjZDNlYzMyMCAgLi9kaXItMDg1L2RhdGEuMDA3CiszZGE1YmZjMWYxMjFkYTRhMzVjNWMxYTI2YmRmMjg3MSAgLi9kaXItMDgwL2RhdGEuMDA2CiszZGZkMjAzYjYxNjA2MDEyZTNmZTRkNzk0MDI2ZGU0NSAgLi9kaXItMDYwL2RhdGEuMDA4CiszZWI4MzUzODViYmFhNGMxMmRjNjZhZDVhNTc4N2FjMyAgLi9kaXItMTEwL2RhdGEuMDAzCiszZWJmMTRiZWE1Zjc3NGVkNjhkYzNhYWVjZmQ0YzdhNyAgLi9kaXItMDg2L2RhdGEuMDA2CiszZWNhYmZlM2Q3ZTBmMzlkMWI3N2ZlYjMwYmIyMTQ5YSAgLi9kaXItMTA4L2RhdGEuMDA2Cis0MDE3MjE3YzFmYzM2MjBmMDBhNjNiZjc0NTFkN2Q1OCAgLi9kaXItMDExL2RhdGEuMDA1Cis0MDU2NWU2ZTllYWViYTk1MzhlMDY4ZDdmYzIxMjAyNSAgLi9kaXItMDMwL2RhdGEuMDA3Cis0MDk4MDM5MDhlMTI0OWQ4MTE0MjFmZGY1ZTcyMjFhYSAgLi9kaXItMDExL2RhdGEuMDA2Cis0MDlmMWE1ZGYzMmI0OGNjNjE1YjgwZjg5NTMzMzEyNSAgLi9kaXItMDcwL2RhdGEuMDA2Cis0MGRhMjM2ZGNmYjM3NjI4YTczODNmMTEwYTM0Y2E5MSAgLi9kaXItMDE4L2RhdGEuMDAzCis0MTFiY2VhZTNhMTY0OTU1NTMzZGJhZDYxOGRjZGIxOSAgLi9kaXItMDQyL2RhdGEuMDAwCis0MTI5YjA1MTczYzlkYzgwMGM4MTFjMWM2YWI1NTRmNSAgLi9kaXItMDQ2L2RhdGEuMDA4Cis0MTJlZmRhYjAyNjc0YWI1OTFlZTAyYzFlNWYzMWQwZiAgLi9kaXItMTAyL2RhdGEuMDA1Cis0MTMxNWQzZDU3NTEwOGE1MmUwZmM1YjA3YzUwMzE3NyAgLi9kaXItMDM0L2RhdGEuMDAxCis0MTQxYWEwNTMyNWZmYjVjNTMwMzkxZDg5OWNkMmJjYyAgLi9kaXItMDk5L2RhdGEuMDAzCis0MTc0ZTYxNjlkNjQ1MzA3Y2E4Njc1MjA1ZDQwYzg1MyAgLi9kaXItMDA0L2RhdGEuMDA5Cis0MWJjZmZiNGU3MTc4MGRiOGZlZDk4MTgxMjRlNWI2YyAgLi9kaXItMDYzL2RhdGEuMDAzCis0MWNlNjdiMzVlZTY0YjllODZjMTNlZmNmZGQyNmNlMyAgLi9kaXItMDUwL2RhdGEuMDEwCis0MzRiMGZhNTc5YjI1NTQzMDIxNGRlMzUyMTUxZDExMiAgLi9kaXItMDQxL2RhdGEuMDA4Cis0MzRiMjZmMDBjMTc1ZjI3NmE1NDEwNTE3MTI1MWQ1MiAgLi9kaXItMTA2L2RhdGEuMDA1Cis0MzVjYTIzMzUwM2VlZmJhYzk0NmQzY2E2NTRmOWNjMCAgLi9kaXItMDcyL2RhdGEuMDEwCis0MzdiYTNiYjhkYmI2NzViMTU4ZGFlMGY1OWQ2YTQ0NSAgLi9kaXItMDYxL2RhdGEuMDEwCis0M2M0OTU3MzM1N2VkNTNkY2MyZTM2NGNlMTEyYjYyZCAgLi9kaXItMDYxL2RhdGEuMDA1Cis0NDA0YjZlNGY1OWE4NDFmZTlhM2FlMmU0MWM0YzQ4OCAgLi9kaXItMDcxL2RhdGEuMDAwCis0NDI2YWE0MjRkZDI1Y2U5NzJiNjNiNWM0N2I5NTMwZiAgLi9kaXItMDkwL2RhdGEuMDA2Cis0NDQ4ZDZjOGI2MGQ3YTRiMDhiNTM0YWMxMDU5ZDY2OCAgLi9kaXItMDg5L2RhdGEuMDAyCis0NDcyYmEwMGI3N2E0ZGNlOTA0NTg5YzQ1N2IxYmM5NyAgLi9kaXItMTA2L2RhdGEuMDAxCis0NDg2MWU4ZTE2NGVhNTE3MDljMDY5ZmEyODYxMzRjNiAgLi9kaXItMDU2L2RhdGEuMDAyCis0NDk2MTQ2OGYwOGVlODBjNjE5YWRmMDE1NGU5NmE5ZiAgLi9kaXItMTAxL2RhdGEuMDEwCis0NGI3MDI4MDVhNThmMTQ0OTNiYWUzYzJmMjcxNmRjNyAgLi9kaXItMDg4L2RhdGEuMDA3Cis0NGM3ZDk1MmQ1Yjk1MjhjMTI2M2VkMTFiNWRjMmFlNSAgLi9kaXItMDEyL2RhdGEuMDAwCis0NGM4MjVmYmYxZDIzZmNhYmY0NWU0MmUzOTU0MjNjZCAgLi9kaXItMDg1L2RhdGEuMDA4Cis0NGUzZWM4ZjEwMjU1ZDEwOTc3M2YzMjA0YTUwMjBlOSAgLi9kaXItMDIyL2RhdGEuMDA2Cis0NTAzNGYxMDUyOTg3ZTVkOWUyZDRiYzBmNDYzZWM3YSAgLi9kaXItMDI1L2RhdGEuMDA0Cis0NTFlZTRmOWU5MjY3NjVhMmMwN2Y4OWIxYTJmZTA3OCAgLi9kaXItMDAwL2RhdGEuMDA3Cis0NTJiNGI0MzIwMGQyZWNlMzAwMTZhZTk2NDE1NzE4YSAgLi9kaXItMDg0L2RhdGEuMDA5Cis0NTM1ZjVkOTlhYmVlMzBmZTJlMGQ2NzA5OGRhYmM2MiAgLi9kaXItMDk4L2RhdGEuMDAwCis0NTYyMmFjNGVlMjg3NTJlYjU2ZWFjY2ZiNTQ2MmM1MCAgLi9kaXItMDE2L2RhdGEuMDEwCis0NTliYTI0ZDBlMDNhODFmOGY2ZWQzNTcwMGY0NjQ2MCAgLi9kaXItMTAxL2RhdGEuMDAyCis0NWFmMmRjYTJlZWJjNzE0Y2QwYWQ2M2Y3N2NlYWFhNiAgLi9kaXItMDQwL2RhdGEuMDA4Cis0NWJlMDZmZTZlNTA5YjQzYjZmNjhjNTI4MzVkNTRiOCAgLi9kaXItMDE2L2RhdGEuMDAzCis0NWMyNTBkOTU3MDcxNjAxMGY0MTYxZjFiZmY1ZTQ1MCAgLi9kaXItMDI2L2RhdGEuMDA1Cis0NWVkN2E1YTU0NTc4ZDU5ODUxNTNmZjcwMzMwYzIyOCAgLi9kaXItMDExL2RhdGEuMDA4Cis0NWZlOWZjYWUxNjVhOWQ4OGFmYTI3ZmMzYzkzMzQwNiAgLi9kaXItMDk1L2RhdGEuMDA4Cis0NjFiMDc4NjU5MDU1NmE1NzI5ZTFlMjM1MTJkYjQ5ZSAgLi9kaXItMDM3L2RhdGEuMDA1Cis0NjQ3Y2IyMDQzZjYyM2JhZTg4NjBlN2U4YjU4ODM0YSAgLi9kaXItMDEzL2RhdGEuMDA4Cis0NjgxNzFjZGQzMmIwZTk0Yzk2YTliZTFmMjk4NzM4YSAgLi9kaXItMDQ0L2RhdGEuMDAwCis0NjkwZGQzM2ZmYTIzMjllNWJjNDU2Y2EyNGVjN2Y3MiAgLi9kaXItMDMxL2RhdGEuMDA5Cis0NmY3NTE5OGU0NDBkOGRmYjQzMjA3ZWI0OTY1YzJjNiAgLi9kaXItMDI4L2RhdGEuMDA2Cis0NzEwZWFjZDZiNmRmNmZjNmFjMmRhNWViY2E5NDU0NiAgLi9kaXItMDAzL2RhdGEuMDA5Cis0NzJjZjBlY2QxYjE2OTFiZmFhOGQ1ZmI4NmMyMTM2NiAgLi9kaXItMDc1L2RhdGEuMDAyCis0NzM0NGYzZjNmM2E4MDZmZjYzNjI2N2ViMzkzNjllMCAgLi9kaXItMDgyL2RhdGEuMDA2Cis0N2Q2YzczMDRmOTIxMGVlMTZkYzJkYzVmYzJhOTVlZCAgLi9kaXItMDQ4L2RhdGEuMDA1Cis0ODI5ZjYyOWIxZTU0NWY0Y2Y2OGY1MGU5ZjVlNjIwOSAgLi9kaXItMDIyL2RhdGEuMDA1Cis0ODRhMjkxNjM4ZjgyMjRlYjQwNDQyMzUxZjNlN2Y0MSAgLi9kaXItMDU0L2RhdGEuMDA2Cis0OGU0Mjg5MWJmMmZlMDUzNTM4ODg0MTI3YjBhNTBjZSAgLi9kaXItMDIxL2RhdGEuMDAxCis0OTA3N2U1OTQzYTEwMGI2NzcxYTQ0YmUwNzcwNGE0YiAgLi9kaXItMDEwL2RhdGEuMDAxCis0OTNlODRiYWY2YzAyYjM4MzI0MDcxYzg3ZjBhZmI0YyAgLi9kaXItMDI0L2RhdGEuMDAzCis0OWEwMmMzNDFlNWRlNGJmZDkzOGVhMDMyNmRkZDgxMSAgLi9kaXItMDk2L2RhdGEuMDA5Cis0OWIxMTI3OWY4M2YyMmZmNTM3MTM0YmJjYzg0ZmY5MiAgLi9kaXItMDk5L2RhdGEuMDAyCis0OWQ2YWI4NWI1MGFiNTM4NmY4MjgyYTdiOThhMjA4MyAgLi9kaXItMDI2L2RhdGEuMDAyCis0YTExMTNhODYyZWVjNmZjMWEyOWE3NWE5ODVmMDJjYSAgLi9kaXItMDQ0L2RhdGEuMDA3Cis0YTIwOTU4NWU0NDI2NWNiMGYzNjM3NTY2MDJmY2EwYyAgLi9kaXItMDI3L2RhdGEuMDEwCis0YTNhNjU0M2ZlZmI1NjBmMjM4MzYxNWQ5MDVhNmE5NiAgLi9kaXItMDUzL2RhdGEuMDA3Cis0YTRjMWNjM2M3NzhjYThhNWVjZTM1Mjk1NTkxYzQyMyAgLi9kaXItMDg5L2RhdGEuMDEwCis0YThhMGUwYzY4ZWU5NWI1NDFiY2YzN2NlYjZmY2EzOCAgLi9kaXItMDMyL2RhdGEuMDAwCis0YjdiZTEyZjJhZmFmYTk0MjY2M2FmODhhMmEzNDc5NyAgLi9kaXItMTA3L2RhdGEuMDAyCis0YmRmOGJmMzE1NjlhMDY4ODBiODVlMTc2NzAzZDNjNSAgLi9kaXItMDM4L2RhdGEuMDA5Cis0YmY0ODlmZjY1NmZlZjdiYTBmNjQzY2U2NGYzYWJjMCAgLi9kaXItMDM4L2RhdGEuMDA4Cis0YzAxMGY5MmNmZDAxZGI0OTJiOTgxZjIzNGE2ODQzNyAgLi9kaXItMDE1L2RhdGEuMDA5Cis0YzdiYWRmZmEzNzRkYzExOGM4MWZmMGQwNGYzMTZiNCAgLi9kaXItMDMyL2RhdGEuMDA3Cis0YzhmNjUxY2FlMThkYjQ0NWM4YmIwM2VmYWY1NzYyMiAgLi9kaXItMDU1L2RhdGEuMDA2Cis0Y2I0YzFmMWQzYmJmNGZkYTc2OGI5NzI2NjE1NjdmYSAgLi9kaXItMDMzL2RhdGEuMDAxCis0Y2JjNmNjMjk2Yzg3MDI3ZWQ5Njk1YzAxOGFiNTMwNyAgLi9kaXItMDY4L2RhdGEuMDA0Cis0ZDA2NGQ0OTU5YTc5YWJjOGUzZDA3MzY3NWQ2YzAwMSAgLi9kaXItMDAyL2RhdGEuMDA5Cis0ZDBlMTM3YWU5YmQ2ZTAxMWNjOTc0ZGFmNDdlNTE0ZiAgLi9kaXItMDIwL2RhdGEuMDA3Cis0ZGZhZTRhOWVmNGU4OTRiM2NkODIwOWE0YWU3OGJjZSAgLi9kaXItMDY4L2RhdGEuMDA2Cis0ZTBmOTMyMDQ3ZGMzMjQ0YzJmZTIxNTAwMmVhOGFkMiAgLi9kaXItMDk5L2RhdGEuMDAwCis0ZTI2ZWYzN2U5YzViNjkyNWFkMjkzOGU5YjVkNjhmMSAgLi9kaXItMDQzL2RhdGEuMDA2Cis0ZTQxZmY2MmUxMDUzNTgxMjVlMGIwMzMwYTA0MmZkYyAgLi9kaXItMDAxL2RhdGEuMDA3Cis0ZTQ1YTRiN2NjYmQ3OTAwMzI4M2I2ZTQ3ZDY5MzI3YyAgLi9kaXItMDkzL2RhdGEuMDA0Cis0ZTU0OGYzNGQ1YmJlYjU2ZmE3ZWI1OGNiNDIyMjgzNyAgLi9kaXItMDk4L2RhdGEuMDA5Cis0ZWIyMDk2ZTExNWI2ZTJlNzYzOTg4MWNlNzM0Y2EwOSAgLi9kaXItMDEyL2RhdGEuMDA4Cis0ZWM5NmFiMzQ2NmM5MDExY2QxNTU1YWJlNjk5MmFjZiAgLi9kaXItMDI5L2RhdGEuMDAyCis0ZWM5YmQxMDhmMGRmMGIxODZmMDc3N2I2MGRiZTk0MSAgLi9kaXItMDExL2RhdGEuMDAzCis0ZWQ1MTI1YzA2ZTQxODhhOGU3MzM2OWNlYzc1OGI5ZCAgLi9kaXItMDI4L2RhdGEuMDAxCis0ZWQ2YzIxZjViNzVjMzEzMzZjYzc4NzNlNzk1ZWE0ZCAgLi9kaXItMDYzL2RhdGEuMDAwCis0ZjE0Y2ZhMjY5OGFmNDIwYWUxYWU1ZTQwY2U0NWE1ZSAgLi9kaXItMDMzL2RhdGEuMDAzCis0ZjNmZjc1OWViMTBkNTU4OThmM2IxODljNmI4YzgwZCAgLi9kaXItMDAwL2RhdGEuMDA5Cis0ZjY2ZDM1ZmFjODJhYTM1MzIyYWQzY2M1YjY5MDVkYiAgLi9kaXItMDAxL2RhdGEuMDAwCis0Zjg5ODkxNjAxMGViOGFhZGI3MmU0NTVkNWI4MjFhNSAgLi9kaXItMDUxL2RhdGEuMDAwCis1MDI2ZmQ4ZTA5YzhkYWVmMGExZGE5NmEyODgzMzE1MCAgLi9kaXItMDgxL2RhdGEuMDA1Cis1MDM4OWE0ZTczYTlhNDcyYjVhNWM0YTg5MTBkN2U5NiAgLi9kaXItMDExL2RhdGEuMDAwCis1MDNiNTE0Yzk4NGRhZThmZjY5ZjhiZmVmYTgyNGZiOSAgLi9kaXItMDE2L2RhdGEuMDAxCis1MDQ4YmU4YzJlOGU3NjVkZGI2M2MzYjM3MTg1MmI3MiAgLi9kaXItMDUzL2RhdGEuMDAyCis1MDY3NDE5ODY5ZmFlYzQzZjg1YzhjMzI3YzNkMzc4ZCAgLi9kaXItMDA4L2RhdGEuMDAwCis1MDcyNWE1OTQxZDI2YjI5NDc2NzdiZmUwYzc3NjFmZSAgLi9kaXItMDY2L2RhdGEuMDEwCis1MDc3MWM3NmE4MjEzMjQ1YmU0OTlhZGYxZDQzMTFkMyAgLi9kaXItMTAwL2RhdGEuMDA0Cis1MTE4YWM1M2QzYzdiMzEwNzI4MzNmOTY2ZWZhN2U5ZiAgLi9kaXItMDY0L2RhdGEuMDA2Cis1MTQ0YzRkYTBlMmEzNzRkOTVmZjQ4YTM0YzMyOTdjOSAgLi9kaXItMDkyL2RhdGEuMDAyCis1MTRiMDc2ZTBmMDUxMWYyMTYzNzk5NTBmMjcxNGY5MCAgLi9kaXItMDI0L2RhdGEuMDA0Cis1MTVlZTQ2MzkzN2NmMmEzZmYxNTdiNzg5MWY5NmViNiAgLi9kaXItMDUyL2RhdGEuMDA5Cis1MTYyNjRlNmNkMzcwNThjNjdhNjc5MWQ1OTQ4MmRkYSAgLi9kaXItMDgwL2RhdGEuMDA1Cis1MTYzMmNiN2Y0NGY1YmFjMzBmNWQ2ZjRhOWVkZWM3OSAgLi9kaXItMDk3L2RhdGEuMDA5Cis1MTZlNmJiYjk2ZjY5MjYyZDU3ZjNhNjYwYmM4MDFiMiAgLi9kaXItMDkwL2RhdGEuMDAzCis1MWNlNzNiMTIzMGMwNmQxNTM5ZTZkZTU0MmI2MzAwNiAgLi9kaXItMDA3L2RhdGEuMDA2Cis1MWRiZTI0ZDM2MGNhMzhmZWFjMWI0MzY3NTRmOWI0ZCAgLi9kaXItMDg5L2RhdGEuMDA3Cis1MWVhZWRiYWYzMzk4OGE0OGU2YWY2NWE1YjExN2QzOCAgLi9kaXItMDE2L2RhdGEuMDA1Cis1MjFkZDc3M2ZjNDE3MWRlMTUwYjVmODk5NWE4OGQyMSAgLi9kaXItMDA5L2RhdGEuMDA2Cis1MjY5M2JkNTQwN2EyNDcxY2Y1MTU2YWZlZmRhZjg4OCAgLi9kaXItMDI3L2RhdGEuMDA2Cis1MjczMWUwYWQzMDI4YzUzMGJiNDgwMmE0NzU0YzQwOCAgLi9kaXItMDA4L2RhdGEuMDAxCis1MmRkZmY5N2IzMTZhNDk0ZjQ3MzdlMDYxNDg1MGY1NyAgLi9kaXItMDY5L2RhdGEuMDAyCis1MzAxODQ0Yzk2OGQwNTI1N2YxZTY1MzFlOGNlMGQ1NCAgLi9kaXItMDAzL2RhdGEuMDA4Cis1Mzc2M2ZkMGE4OTRiOGUxMjFjMjgxY2VlMDFmOTQwMiAgLi9kaXItMDY4L2RhdGEuMDA1Cis1M2Q0NTA3YTJkZjhkMjIwNzZkODFkYTVjMDEwMGViYyAgLi9kaXItMDA4L2RhdGEuMDAyCis1M2Y1Y2MwOWQ1N2FmNjBmZTcyNTU5ZWNhMmYxYTYwMyAgLi9kaXItMDExL2RhdGEuMDA3Cis1NDY2NjJjNjI4MmI1ZDQyMjQxM2Y1MzAzN2RmMGQ1NCAgLi9kaXItMDczL2RhdGEuMDAxCis1NDgyYjI1MDdkYzk0YzhlZGRlODQwYjYxOWIzNDk0NCAgLi9kaXItMDgxL2RhdGEuMDAyCis1NGE2YjUxOTJhNGZiMmQxZjJiMjY4NjZkMTNjMDVjMiAgLi9kaXItMDg4L2RhdGEuMDEwCis1NGMzYTUzMjgyNzZkZTA5MjkxOWJmOTY2ZTlkZDdhZCAgLi9kaXItMDY2L2RhdGEuMDAzCis1NGU3ODQxOWJhN2NmMjkxZTI2ZjExNjBiY2QwOTQ2OSAgLi9kaXItMDI4L2RhdGEuMDA3Cis1NTI0MWQyNDc0YjBiZWU3MGY1MGU3NjI5ZmJhM2ExMCAgLi9kaXItMDcwL2RhdGEuMDA3Cis1NTNlNjVjYjNlZTBhOWE1NTcyODI2ZmY0NDAxNDg3YyAgLi9kaXItMDU0L2RhdGEuMDAyCis1NWFkZjUxODI4MGE1NDUzMmRlNmMzM2MyNThhOGU2YyAgLi9kaXItMDgwL2RhdGEuMDA4Cis1NWI4ZDU3ZjNiZWVjNmE4MDc1MjIxZjA4NzUyZmY0MiAgLi9kaXItMTAyL2RhdGEuMDA0Cis1NWM3NmJkYjgyZjhmYTRlMGQyMmY5ZTQxYWQzYWQwYSAgLi9kaXItMDc1L2RhdGEuMDAxCis1NWM4ZDEzZjY4MmE2MjMwNmM4ZDI5NzQ2YmQ3ZTZmYSAgLi9kaXItMDI2L2RhdGEuMDA5Cis1NWQ1OWZjYjQ5YzA3ZWYxNjViMzEwODYyMWYwOGFiMCAgLi9kaXItMDcxL2RhdGEuMDAxCis1NWQ2NmQ3NDIwMWEzYTNlNWIyZDUzZjlmYmI1MmJiYyAgLi9kaXItMDE5L2RhdGEuMDA5Cis1NWQ4OTFhZGE1MWVkYzVkZWMzODM3Y2JhN2M1ZjJmYSAgLi9kaXItMDQxL2RhdGEuMDA2Cis1NWRlN2FlZDRjNjllMzIzNzgzNTJlNmRkOWEzZTVjZSAgLi9kaXItMDU3L2RhdGEuMDA4Cis1NjlmNjQ1OTIwY2IxYTU0MDkzZGU1NDdjZDkyZjMzNyAgLi9kaXItMDg1L2RhdGEuMDAzCis1NmVmMmY3NDc3ODlhYTJhYjFlZjZjNzk0N2I1MGVkNCAgLi9kaXItMDY3L2RhdGEuMDAwCis1NzFhZGE0YzgzMmFhOWVkNjY0MDMzNTJiMDZhMDdkZiAgLi9kaXItMDE2L2RhdGEuMDA2Cis1NzRjZTIyNzNmNGUxN2NkNjczOWExNzcyZDQzZmI2NyAgLi9kaXItMDkwL2RhdGEuMDAxCis1ODdlNzQwNDMyZGU1NDkzMmI0OWY0YjBiMWE5ZDhjZCAgLi9kaXItMDY3L2RhdGEuMDA4Cis1OTIyNjAzMmVmMmVmYjk5MWZmZmM1ZDJkMmE2N2RkMCAgLi9kaXItMDk4L2RhdGEuMDA2Cis1OTJlMjkyN2UwNDY4YWYyYTg2YmIxMGUyYTVjYmZmYyAgLi9kaXItMDY4L2RhdGEuMDA3Cis1OTRmMWEyMWI5OGNhNGE4Yjg5ODExNjRmNDZlZGQwYSAgLi9kaXItMDIzL2RhdGEuMDA2Cis1OWEzZjZmZmI2NDMyYTc2OGZmY2ZjMzkwYmEwZDVlNCAgLi9kaXItMDA1L2RhdGEuMDA3Cis1OWE1NzUxYTQ0NDc4Nzg5YWEwODg1M2E3ZmJjYjRmYyAgLi9kaXItMDM1L2RhdGEuMDA0Cis1YTAzNGEyY2RiMWIzOTdiNDM1YzcxMTlhNzI1ZTYyMiAgLi9kaXItMTA4L2RhdGEuMDAzCis1YWFiZDgxM2NlNzI1MTQ2ZjQ3YmM3M2Q5NDQ5YjUwZSAgLi9kaXItMTA3L2RhdGEuMDA1Cis1YWM0NDVjMmI0NmM1MDQ5N2RlYjFlMmRmMzk4NzY0NiAgLi9kaXItMDY1L2RhdGEuMDA2Cis1YjYyYzE0ZDYwN2MzOTM4ODVjZDBhNzdiNDQ1YTBlMyAgLi9kaXItMDE0L2RhdGEuMDA4Cis1YjhiNDA1MDQ5MjU2NWQ4NjYxYTQ0MzFjN2Q5ZjBmMyAgLi9kaXItMDEwL2RhdGEuMDA5Cis1YmJhYzRlYzY3ZmE4NGQ0MGQ4YThhNGJhOWQwMGQzMSAgLi9kaXItMDE1L2RhdGEuMDEwCis1YzAyNTJjZGQ3Y2QwZDE0NDU4M2M2NzNlMjZhNGNjNiAgLi9kaXItMDQyL2RhdGEuMDAyCis1YzE4NDA1ODBkZjBhNTI4MDU5MDg4ZTQ1ZjIzZjgzNyAgLi9kaXItMDkxL2RhdGEuMDEwCis1YzI0MTc1MzQ2ZGM0MzE3MjBhODMzZGE0MzQ4YWE3OCAgLi9kaXItMTA1L2RhdGEuMDA0Cis1YzJlNGIxOGJiNmU3OGVhMDliOTU4ZjAzYmEwZTc1MCAgLi9kaXItMDY4L2RhdGEuMDEwCis1YzRjNDE2Y2VlMjAwZWU2N2JlYzIwMjljYjU2YjZkYiAgLi9kaXItMDc3L2RhdGEuMDAyCis1YzUzNWUxNGI3Y2Q0NDlhNDA4OTNlZTZhMjJmNjBlMSAgLi9kaXItMDMxL2RhdGEuMDA2Cis1Y2Q2MzFmMTY2YTI5NzBmN2FlYjg5NjBhY2UwZjhlZiAgLi9kaXItMDgyL2RhdGEuMDAwCis1ZDZhODIzYzI0NDYwYjM0M2M2ZTFjYjc0ZjliZGI4ZSAgLi9kaXItMDM4L2RhdGEuMDAwCis1ZDg2OTkwNWZkYmQ0NDA5ZDg3ZDQ4NGRiOGNmZDdlZSAgLi9kaXItMDU4L2RhdGEuMDA2Cis1ZGU5NGMwZGUzYzQ2ODhiNTZiMGQyZmQyYTg5MmI5OCAgLi9kaXItMDI2L2RhdGEuMDEwCis1ZTU3NDJlZjNhM2U0ZjQzODRlY2ZiZDk2NjNhMThlYiAgLi9kaXItMTA1L2RhdGEuMDA2Cis1ZTVhNjA3YTliNjk0NWExZjRkMTc5MjI0NjZmODZlYiAgLi9kaXItMDI4L2RhdGEuMDA4Cis1ZTgyNGUwYWRkOTA1NDhiNTBlOGRlZjBlMGVhMTVhZiAgLi9kaXItMDUxL2RhdGEuMDA0Cis1ZWRhZWViYWYyMjA1NjRjMGY5ZmFlNTNjYWIzYjhhZCAgLi9kaXItMDY0L2RhdGEuMDAyCis1ZjJlYmZjMDgxMDE3MDMwNTYwOWFhYTE3ZDNiNjFhMyAgLi9kaXItMDk2L2RhdGEuMDA1Cis1ZjQ5NTExNmNhYmQyNDMxN2NmZjg5ZTFiOTQ2ZjkzYiAgLi9kaXItMDY4L2RhdGEuMDAwCis1ZjgyYzAzYWVlMDRiYmM3YjEzYmJlODFkODZmMzlkMiAgLi9kaXItMDM2L2RhdGEuMDAxCis1ZmI2Yjc0OWEwNmExY2Q4ZTllOGIyOTM4M2JmYmY0ZCAgLi9kaXItMDkwL2RhdGEuMDA4Cis1ZmMzNjliZWY3MmYzNzk4N2ViMjI4OTllOGFiZTgxNiAgLi9kaXItMDc2L2RhdGEuMDAwCis2MDJkZmQ3ZGMxM2RjYTcyZTVjZGIyYTU1ZDEwZTJkNyAgLi9kaXItMDA1L2RhdGEuMDA2Cis2MDNjNGEyYjI1OTE1MTRmZTNmODk4NDdmZTQ1YzliOSAgLi9kaXItMTAxL2RhdGEuMDA3Cis2MDY5Nzk5ZmNlMDM4NDUyOGI1YjZmMjk3OGE1OTIzYyAgLi9kaXItMTAxL2RhdGEuMDAxCis2MGExNmY0ZWJhNWZjYWMzNWE0NDk2OTJlNDc1Y2NhZSAgLi9kaXItMDg4L2RhdGEuMDAzCis2MGEzMjc2MzIzNDI1ZDM5NDJjMzhhOWQ5MTZmYmNhYyAgLi9kaXItMDM5L2RhdGEuMDA4Cis2MGE2NThkNTJmNTkzODk3ODljYmNmY2FhYjQxYTFkOCAgLi9kaXItMDYzL2RhdGEuMDA4Cis2MGQ2Yzc5ZGY0ODIwMjYzNzA4MmMyMjEzZDRjY2ZkZiAgLi9kaXItMDc1L2RhdGEuMDA0Cis2MGQ4N2ZiMWRhN2JhYTQzOTgyMjI2OWZkMDU0NjdkYyAgLi9kaXItMDI4L2RhdGEuMDA1Cis2MGY5MzlhNzUwMjY0Y2U1OTcwMDJhNGM1YWEzOGIwYyAgLi9kaXItMDEyL2RhdGEuMDA3Cis2MTcyNGJmOWQ4ODI3MzRkMDBjYmYyMTc0NTg2Y2YxZSAgLi9kaXItMDgxL2RhdGEuMDAwCis2MWJhY2E5ZDRmMGMwZTFhZDQ0MGY1MTZlZWVjY2YyNCAgLi9kaXItMDQwL2RhdGEuMDAyCis2MWJkMGU2NDhiYzE5MTFkNDUyZGU4OWQ0ZWRjYWM4MSAgLi9kaXItMDM4L2RhdGEuMDA2Cis2MWUxM2FkY2VkZmEyZGM5N2M2ZmIxMzFjNDgxNDNhZiAgLi9kaXItMDc4L2RhdGEuMDA5Cis2MjEwMmUwYmI2ZTRhMDM0ZDBkZjE5MDg2NGQzMDM0YiAgLi9kaXItMDc4L2RhdGEuMDA1Cis2MjRmZTg2OTY0YTg4NjZhYTA3MmNhOTg5NDRkMWNmYyAgLi9kaXItMDcyL2RhdGEuMDA1Cis2MjhhM2FjNGM4NzNhMTY5ZDhhM2ZhOWRmNjYxNWY0YyAgLi9kaXItMTA5L2RhdGEuMDEwCis2MmUxMDgyMWRjMmY4MGI2MDhmN2Q3ODlmZTgzOTIzYyAgLi9kaXItMDYwL2RhdGEuMDEwCis2MzM3MjZjZDRiNDExNzhjNTUwNmRkMmIyZWFlMDI4MSAgLi9kaXItMDEyL2RhdGEuMDA1Cis2MzZmM2I0YmJjNWUwZDhiOTA0MmYxZGJiMzUwNzlhYiAgLi9kaXItMDc0L2RhdGEuMDA4Cis2MzdkYjg5NDI1OTc2NTIxMDZiZDg0ZDFjMTUzNDFlNCAgLi9kaXItMDk3L2RhdGEuMDA0Cis2M2ViMzNlODgyNDEyMTBjMDUwOTQyY2E5N2E1NzZlYyAgLi9kaXItMDQwL2RhdGEuMDA3Cis2NDA0NmI5ODJhNTk0NDI4MzlhMmQwOWI3NDcwY2Y1MiAgLi9kaXItMDUzL2RhdGEuMDA4Cis2NDBiNTUwZTE4MGQ3YzQyYzJkNDRmMmVkMmQ3YTQzZiAgLi9kaXItMDE1L2RhdGEuMDA1Cis2NDJhZWQ2OWEyOGE5NGJjM2ZhNDg4ZmM2NTI3YjIwZiAgLi9kaXItMDE2L2RhdGEuMDA5Cis2NGJmNzBhMWNkOTQ1Y2Y0NTlhMDdlYzQ2MzFlYWYwYyAgLi9kaXItMDk4L2RhdGEuMDAxCis2NTRlYjM0MjZhMGNmY2NiZjUxZDE0N2YyOWY4ZWI0ZSAgLi9kaXItMDIyL2RhdGEuMDAxCis2NWJkODZjYWUxMDA4MzBmNDIwY2I1NWRhYzJlMTVhNCAgLi9kaXItMTEwL2RhdGEuMDA1Cis2NWNlZGM1OGYwYzQxYzhmZGFlNDIyMDM1YjM3NTBiOCAgLi9kaXItMDkwL2RhdGEuMDAyCis2NjY0MDJlMTM0ZTZmZjcwY2JhMDI5Yzk4NTJiMGY5NyAgLi9kaXItMDE1L2RhdGEuMDAwCis2Njc1NDhmZDY4ODEwZTIwOWVhOTdmZTdiM2ZjYTFmNiAgLi9kaXItMDEyL2RhdGEuMDAzCis2Njc1ZDUwODJlYTUxMzNmNjgzMTQ5OWM5NTczOTU5NCAgLi9kaXItMDExL2RhdGEuMDAxCis2NjlmZmMxNjNiNjZmYzNhYmFjNjYxMTc1ODYxM2E1ZCAgLi9kaXItMDg5L2RhdGEuMDA0Cis2NzFlMmIyMjgwNjM4ZDhlMWQzYThmNmIxZDdlYThlNyAgLi9kaXItMDMyL2RhdGEuMDA0Cis2NzVkZTAzYmFmOGRiNmY4MDk2MmVkMjc4YjZlN2ExMSAgLi9kaXItMTEwL2RhdGEuMDAwCis2N2E4ZWYyNTQyMDA5ZTc1NWRmNWM5YWM2Zjg1M2Q4MCAgLi9kaXItMDI2L2RhdGEuMDAwCis2N2JkMzRhMzBhMDVlYjI2YjNmNjJhMDc1Y2Q4NTZmNCAgLi9kaXItMDM4L2RhdGEuMDAyCis2N2NmZmFhZGE5ODA1YTkwYjExMzU1NDAyZTYzNWNhZSAgLi9kaXItMDU2L2RhdGEuMDA3Cis2N2RkZmE5YjQxNTA3MzdkZWZmNDkxNGNiMzVmZDcxMyAgLi9kaXItMDI3L2RhdGEuMDA4Cis2ODIwYjM0MjQ0MDU4M2Y1MTcyMmI5ZWI2MWI0OGQ2MyAgLi9kaXItMDg4L2RhdGEuMDA0Cis2ODMzNmI2ODExMDJlMTZlNjRmODhhOTVjZjQ3MGI3MiAgLi9kaXItMDM4L2RhdGEuMDA3Cis2ODNhYTc5YmQzY2RjZGFjN2FhMTBhZDFlMmIwZTAyOCAgLi9kaXItMDMzL2RhdGEuMDAwCis2ODU2OTkxY2FhNjk0ZTgzY2FmNmMwZmNhMDIzM2I4MiAgLi9kaXItMDkyL2RhdGEuMDA4Cis2OGE0NjA1NTEwM2Y2ZTczM2U1Y2NlYjcwN2Y2ZGQwZiAgLi9kaXItMDA0L2RhdGEuMDAzCis2OGU5ZTY1MWRjN2E1NjRkZTIxNGIyODJiOWI1Yzc1NyAgLi9kaXItMDA4L2RhdGEuMDA3Cis2OTA3ZGZlMThhMzc2NDM5MTY3NDJiYTk2NGJkYWI1ZCAgLi9kaXItMDI3L2RhdGEuMDA1Cis2OTNmOWM4YjIwYThhOTI3OWM0ZDQzYzgwYzNmYTk4NCAgLi9kaXItMDk3L2RhdGEuMDA4Cis2OTRlOTlmM2I1ZGM1NmJhMDYyZmZmZTgzODFmODczMSAgLi9kaXItMDAwL2RhdGEuMDAxCis2OTVjZGM1YmM3YmE0NmU2YWEzODk1MGRhYWI3MTYzNiAgLi9kaXItMDUwL2RhdGEuMDA1Cis2OTY3YWY4MTU2NTczZTQ0MmExYjZiZDU2ZDBhNDg5MyAgLi9kaXItMDM1L2RhdGEuMDAzCis2OWMxYTUyZDUzOGE2N2JmMmE3ZTVjMzMzNzk1MzNiOCAgLi9kaXItMDE3L2RhdGEuMDAwCis2YTFiZDQxZGE2MmQyNjBmNzQ2ZTBiMDFjN2ExMzQwMyAgLi9kaXItMDUyL2RhdGEuMDAwCis2YTcxYWExNTVkNTk4YjVhZDJmZDY3NTZkYTNjMjc4YSAgLi9kaXItMDk4L2RhdGEuMDAzCis2YTg1NTk2ZjgxNTIyYzM4Yzk1ODkxMGE0YzA0ODdkNyAgLi9kaXItMDYwL2RhdGEuMDA0Cis2YWEzYmJiNDViNjIzMTUxM2UwYmVlNjJlOWExMmE5YiAgLi9kaXItMDgwL2RhdGEuMDAzCis2YWUxOWUzOWY3ODU3ZjE3NmYwMjFhOGNmZTc2OGE2NiAgLi9kaXItMDIzL2RhdGEuMDAyCis2YWY3MjU1YjMzMTg2MDdiMWQ1YTc4OTRkOGNhYWMyNSAgLi9kaXItMDgyL2RhdGEuMDA0Cis2Yjc4MGU3ZjcyYmUzZGY5ZGI3MTI1ODBhY2FmZDBmYSAgLi9kaXItMTAyL2RhdGEuMDEwCis2YjdjYWRjYmY4NzVlZTVhZDUzYjQ3Mjk4YWJmYWFlMCAgLi9kaXItMDgwL2RhdGEuMDAxCis2Yjg1MzNkYmZmZWJiNmVmMmMxZmQ0OGUxZGY2ZWQxOSAgLi9kaXItMDUwL2RhdGEuMDA0Cis2YmM5ZTMyMDNlMjczOGVlMjI1YmU2YTQ1ZGE2ZDA3NyAgLi9kaXItMDU5L2RhdGEuMDEwCis2YmRmYmFiOGE0YjIwZDcxYWNhNWFlYzY2Y2Y0YzA3ZiAgLi9kaXItMDcxL2RhdGEuMDAyCis2YmUzYzM1ZjI4ZjY4ODYxODQwZjAzNDVmNzBmZjUxMSAgLi9kaXItMDExL2RhdGEuMDEwCis2YmZhODNkNDdkODk1YWMwNmY3NGFiY2RmZTI0ZGJkNSAgLi9kaXItMDY3L2RhdGEuMDA5Cis2YzMyNGUxODVjZjI0NjIzYjhlYWI3ZGFhMDEwZTIyMiAgLi9kaXItMDIzL2RhdGEuMDA4Cis2YzMyZjNkNWQyNzBiZjUwN2Y1N2VkZjI4YWMyMDIxNCAgLi9kaXItMTA1L2RhdGEuMDA5Cis2YzhjYjU2YmQ4MWUzMGViZGIwMTY3ZWE5YzM3ZjE0ZCAgLi9kaXItMDAxL2RhdGEuMDA1Cis2YzkzYWFjNDVkOWUwMTllN2JlZWM0YTcwOGEzMDMzZiAgLi9kaXItMDg3L2RhdGEuMDA4Cis2Y2FmNDE0ZDA0YzM0MmY4Mjk4ODc1NzA5OTM1NzlkNyAgLi9kaXItMDg5L2RhdGEuMDAzCis2ZDIyMjlhMDI5ZmU2NDgxNTkwNDEzZjJkYjk4YWEwMiAgLi9kaXItMDAyL2RhdGEuMDA1Cis2ZDJhMjRkZmM4M2VjNTA2OTJhMTM5YmIyYzRjNjFkNiAgLi9kaXItMDgyL2RhdGEuMDAxCis2ZDM4ZGVhYjlhMDk2YTA0ODdlOTMxODI2NTgzNzU4OSAgLi9kaXItMDIyL2RhdGEuMDAyCis2ZDNhMmYxN2RmMmM3MjEwODUxYTJjMGQ1MjM5M2MwYyAgLi9kaXItMDIzL2RhdGEuMDEwCis2ZDc1ZGYzNzZjNDkxMzcxOTkwZWIxZGUwMDQyMjdlYSAgLi9kaXItMDY3L2RhdGEuMDAxCis2ZDkzMWIwMzJjOTc3YmQ0OGVlY2UzOTAwY2I3NWNiYyAgLi9kaXItMDMxL2RhdGEuMDEwCis2ZGQyMmI5ZGRhNmQ2MzQ3YzFiZDlhZmVjNDc5M2E0ZiAgLi9kaXItMDcwL2RhdGEuMDAyCis2ZGQ3ODExYTBjNmZjNGQwNzQyZDQ2NzA3MTQ1YTNlNSAgLi9kaXItMDA0L2RhdGEuMDA0Cis2ZTMyYTczNTkzMDc4MzdlOGFjOTgyM2RlODIzNTU1YyAgLi9kaXItMDQ2L2RhdGEuMDEwCis2ZTVjYzhmNWY4YzJhMDdiOWRlNGE4Yjc4MWQ1YjVlNSAgLi9kaXItMDUwL2RhdGEuMDA2Cis2ZTg0MzczMGRmNjYzZTU2NDdkZTdhYzViZDQ1YTllNCAgLi9kaXItMDc0L2RhdGEuMDAxCis2ZWRkNDYyYmMyMWNmNjZjYmNiYTQwMDY2OWE4YmI1ZSAgLi9kaXItMDA3L2RhdGEuMDEwCis2ZWUwOTczN2U5MmE3OTZkNDk0ZmY4NTcyMTE4NWRhMyAgLi9kaXItMDc5L2RhdGEuMDAxCis2ZWY2ZTdkODY1ODBmNWQwZjc3MzZiYjU3ZTkzZjRiMiAgLi9kaXItMDQ4L2RhdGEuMDA5Cis2ZjMxNGFkYTY0MDdjYzMyYjFmM2U4ZDkwM2I1YzliNSAgLi9kaXItMDE3L2RhdGEuMDA4Cis2ZjQ5ZGEwMTIwMTE5ZWZhNWU0Zjg5ZGUxOTViNGQyZSAgLi9kaXItMDQ4L2RhdGEuMDAwCis2ZjY5MjU3MjI3YTI2MDEyN2E2NWExMzM1MDhiMDMxOSAgLi9kaXItMTA5L2RhdGEuMDA1Cis2Zjg2YzljOWRkZjMxZmZmNDFhNmU0OGI1MmUwNWEwNiAgLi9kaXItMDc4L2RhdGEuMDAzCis2Zjk1Nzk0OTk3MzkwNWU0MGJlZWE2ZTMzZTQ2NWQwYSAgLi9kaXItMDkyL2RhdGEuMDA2Cis2ZmJlMzY0NGJlMmRlMzQyMzIwNGQ3OWJjZTA2YzQwZiAgLi9kaXItMTA2L2RhdGEuMDAzCis3MDI5NmM5MzhjMTIyMGJmNzI2MTk3ZmM1MjFjNWRhMiAgLi9kaXItMDgzL2RhdGEuMDA2Cis3MDQ3ZTFiOGE2MzUxZGEzNTA0OTc3YTRjOTZlZGI3MiAgLi9kaXItMDk3L2RhdGEuMDAyCis3MDUxYmU4MWMyMmJmMGUzOTRlOGQ4OWE2Y2M3OGEyMCAgLi9kaXItMDI4L2RhdGEuMDA0Cis3MDc3Y2FjNjQ2YTViMzdhNDE4NjY0ZDM2NmRlOGQyYSAgLi9kaXItMDg2L2RhdGEuMDA4Cis3MGM5MTNiYmMzNDU0ZDNhZjFkM2I5N2EwODUxYjkwMyAgLi9kaXItMDg1L2RhdGEuMDAwCis3MGRiYjBkY2FmMjYxMmI0OTUyYjM0MTY1MWFkMGMxZSAgLi9kaXItMDY1L2RhdGEuMDA3Cis3MTIxNGZlY2RlZTc4Njc1YWQ5NWI0OTJkZjQwMTdlZiAgLi9kaXItMDQwL2RhdGEuMDA0Cis3MTcxYzdhMTc5NmNiYzIzNTVjNmFkYjAzYzMxMmRhYSAgLi9kaXItMDMyL2RhdGEuMDAxCis3MTg0MWY5MWFiMWM4NzM5MzhmZjRiNGYwMThiMjIyMSAgLi9kaXItMDE0L2RhdGEuMDAyCis3MWEyMjk0NDEyYjMwMjlmMjM2YTI1NGNiMzM1YWM5OCAgLi9kaXItMTAzL2RhdGEuMDA4Cis3MWE2OTk0ZWYyYmY4MzY4YWFhMjM2MmJjZmNjZGNhNyAgLi9kaXItMDE5L2RhdGEuMDA3Cis3MWI0ZGE5MWJkNTE0MmQzMzQyZDY3ZDMyMmZlZjJlNSAgLi9kaXItMDg0L2RhdGEuMDA3Cis3MWRiZmM5MDU3ZmNhNTRhNWExODM0NDY3NzVlMzJiOCAgLi9kaXItMDE2L2RhdGEuMDA4Cis3MjE0ZmNmZjAyZDA3NDMyMTBkNzU0YTM3ZmI5OGIwYyAgLi9kaXItMTAyL2RhdGEuMDA4Cis3MmNlMGZmM2Q3ODgzNzY3NWM1MzhlNmEwMmE2NzU1NyAgLi9kaXItMDY4L2RhdGEuMDAzCis3MmVkYzI4ZTcxYzI0YThjMDRmYWFhM2MyNjQ1ZDkzNiAgLi9kaXItMDY0L2RhdGEuMDAzCis3MmVlMGI3ZjIzNmQwYzFkZTE3MWM4NjE4YThlOGM3ZiAgLi9kaXItMDc4L2RhdGEuMDA4Cis3MzJiMWUwZjBhYjU2ODk4NzkzNTg5YmVmMjVmMjlmMyAgLi9kaXItMDE3L2RhdGEuMDA2Cis3M2JjYjQ5Y2E1Y2E2MDljYmI2NTE0N2NmZDQwNWYzZiAgLi9kaXItMTA1L2RhdGEuMDAxCis3M2ZkMjhmOTA5OWMzOWQ2ZDJjOTIzNTVjMDYwZDZlZCAgLi9kaXItMDY4L2RhdGEuMDA5Cis3NDM3NGRlYzg3NjUxNTFmODI3MDIwOWRjYTZmYzVjNiAgLi9kaXItMDk4L2RhdGEuMDA3Cis3NTAyYWUwNWRiNjVhMzI0NTlhMmI5Nzk5NjQxOTA2NSAgLi9kaXItMDQ2L2RhdGEuMDA1Cis3NTJlNmUwMDNiMmE2M2VlNTMyOWQ5NjI5ZmMxMWUzNyAgLi9kaXItMDY2L2RhdGEuMDA3Cis3NTNiNWI5MjVhMzZlZjI2ODc0YjUzZGYyZWJmYTA2MSAgLi9kaXItMDc1L2RhdGEuMDA2Cis3NTNlMDY1MTQxMTc2ZmY1OTZiZjJlMWFlNjFlZTdlYiAgLi9kaXItMDUxL2RhdGEuMDA3Cis3NTY0MzJkOGY3MmFhZDAzOGU1NDg1YmJlMjRiYWZhZiAgLi9kaXItMTA2L2RhdGEuMDAwCis3NTY1ZDE2NzQxNjRhMDE1YzQyYTJmNTAxMWNjMDg3ZiAgLi9kaXItMDAwL2RhdGEuMDEwCis3NWFlYjNlYTRmYmQxZDUwNDMwYmJlMDRlMjkzMmIxNiAgLi9kaXItMDkzL2RhdGEuMDAxCis3NWI3MTNmNzg1YWM0YTliMWQwODg0MjFmMjNlZDFkZCAgLi9kaXItMDA4L2RhdGEuMDA2Cis3NWRmN2YzNmVlZmE0MmMzNjM4YmM1YjZhOTdkNTVjYyAgLi9kaXItMDYyL2RhdGEuMDA2Cis3NWY0YWNlZGNjZTNkZTg5YTA1YjRjMDk4YjRmODExOCAgLi9kaXItMDg0L2RhdGEuMDAwCis3NjFjOGU0MTVkZmVhMjI2ZjUzYmUyOTU3NzgwYmE2OSAgLi9kaXItMDAwL2RhdGEuMDAwCis3NjNjN2Q0MTIxMGEwY2E5NzVlYjk5ZDBlMTdmNGIyMCAgLi9kaXItMDU4L2RhdGEuMDA3Cis3NjUyODQ2OTMyYmQ1NDdjODE0ZWE4NjQ2Mjg5MWZlNSAgLi9kaXItMDM2L2RhdGEuMDAwCis3NjZiZTJhMDA0Y2VhMmY4NGY5YWViNDBlYjllNTEyNCAgLi9kaXItMDA2L2RhdGEuMDA0Cis3NjcyYTNhNjMxZDhjZWJhZWViMTBiNGVlZWUyZjM3NCAgLi9kaXItMDk3L2RhdGEuMDEwCis3NjdkMGM0NzZjOTQ2OGQ2M2UwODcxYWYyY2VmMTczOCAgLi9kaXItMDYwL2RhdGEuMDA5Cis3NmM5ZWZlZmFhNjBlZTNmYmE3ODU5N2IzM2M1ZjU3NSAgLi9kaXItMDkwL2RhdGEuMDA0Cis3NmUwYTE4MTk2ZTZiOWU4ZjE4NjA3OTFkNWU3MDE0NiAgLi9kaXItMDc1L2RhdGEuMDA4Cis3NzFiMDVmZWE1YmE2ZGE0Y2RiYTg0NjgzYzA3MGM5NSAgLi9kaXItMDUzL2RhdGEuMDA2Cis3NzU4NmIwYzIxMWFlOTA2YmU5MDk0ZDA0OTM3MDY3OCAgLi9kaXItMDIxL2RhdGEuMDAzCis3N2MzMDZkODUwYmVkNzBhZjlhNDMzYTY4NTgyMDQzMSAgLi9kaXItMDUwL2RhdGEuMDAwCis3ODdkN2UwODliMjUyMGZiMzIzODI1YzBmMzRmMTAxOSAgLi9kaXItMDQ3L2RhdGEuMDA0Cis3ODlhZTdlOTlhM2EzZmY0MTY4OGQwZGEwYmFhNTQ5MSAgLi9kaXItMDQ5L2RhdGEuMDA4Cis3OGJjMDIwMTg4YTU5MjdkMWJkZDhhMDA5MTZlN2JkYyAgLi9kaXItMDQ3L2RhdGEuMDAzCis3OGU0YTI5ZDg2NmVlZWU2ZjE2ZGFjMjkyM2ZmOTAzOSAgLi9kaXItMDIwL2RhdGEuMDAyCis3OWFkZmIzZDJhNzQ4NzkzMjUxMWE1YTQyNzliNjFkNCAgLi9kaXItMDI3L2RhdGEuMDAwCis3YTI3YTY2NmUyNzM3ODQxMzY3MDU2YTlkOGZkOWQ1YyAgLi9kaXItMDYwL2RhdGEuMDAyCis3YTUzZGRkYjcwYWVlNThlNTY2MTQyNzI0OWVlNzAzOCAgLi9kaXItMDc2L2RhdGEuMDA4Cis3YTk1YTk0ZmEwMmVmZmEwOTg5NWI0Y2Y5ZjgwNmZhOCAgLi9kaXItMDUzL2RhdGEuMDA5Cis3YWRlZjYwNDE2N2MyYTcwMzFkMTFhNjE4NzZmNWUzZiAgLi9kaXItMDU2L2RhdGEuMDA2Cis3YWZjYzE4ZmRlZWQyNGE0YjY1ODJmMGNiOGM4ZDYzYSAgLi9kaXItMDc5L2RhdGEuMDA3Cis3YjgwNmMwYTNiZDEyOTczYzU1NDBhNGE2NjFlYTY5OCAgLi9kaXItMDEwL2RhdGEuMDAwCis3YjkxZDEwZGM5YTczNTAxZTI2OTVmZDAzZWZjYThhNSAgLi9kaXItMDY0L2RhdGEuMDA0Cis3YmE2NzgxYjlmNmEyMTAyZjZlZTc3ZTRiY2Q2N2U3ZCAgLi9kaXItMTAyL2RhdGEuMDA3Cis3YmJjNmEzZDA4YzhhYWZlNDlmMzgyODZlYTE5MDczNiAgLi9kaXItMDU0L2RhdGEuMDA4Cis3YmMwZmY4ZjU4YjA1MGUzNTg4YTcwZWE1YTg5OWMyYSAgLi9kaXItMDY5L2RhdGEuMDA3Cis3YzI5NTVjYmU4ZDg2MzViNDNmMDY3Yjc4MmE4ZDIyYSAgLi9kaXItMDEzL2RhdGEuMDAyCis3Yzk2ZWVlYjYwYTA3MzkyOTAxN2U4ODMwMjg3ZjdhZCAgLi9kaXItMDk0L2RhdGEuMDA3Cis3Y2VkZjg5OGE4ZmUwZGNkOWU2ZTJmZDk4YTc0YWI4YiAgLi9kaXItMDgyL2RhdGEuMDA1Cis3ZDMyNDI1YjdjMTA0NjA0ZjkwZWY1MDgxYTA2NmQ2NSAgLi9kaXItMDE1L2RhdGEuMDAyCis3ZGJjNGQwYjVlMDkyZWMwN2Q3MTgyMWQwNmNlYzE1MCAgLi9kaXItMDg2L2RhdGEuMDAzCis3ZGVhYmZkZGE2OGMwOWNhNzIxMmVhMDU2NTllOTkyNyAgLi9kaXItMDE3L2RhdGEuMDA0Cis3ZTI2Y2MzMDYxMjM1NmEzNDNiMzlmMDIyOWFjM2Q0NiAgLi9kaXItMDE5L2RhdGEuMDAzCis3ZTdjMmJhZjFjYzc1NjJiNDA3ZmNhMTA4NWMwNWQxNiAgLi9kaXItMDc0L2RhdGEuMDA0Cis3ZTliMGZmNjZlZjgwYmI1MjU3ODMxZjdkMDQ5NjFiNSAgLi9kaXItMDIwL2RhdGEuMDA4Cis3ZWJlODM2ZDg0MWI2MzY2MmVlYWQ2YmViNDEyZDRiYyAgLi9kaXItMTA3L2RhdGEuMDAwCis3ZjQ5ZTc5ODUxYjdiNDVjZDJkMzMxNzVmYTFiMjk2OSAgLi9kaXItMDgxL2RhdGEuMDAxCis3ZjY2N2ZiZDNjYzNmMjg1OTMyYWFmOTJkYTE4OWQxYyAgLi9kaXItMDQ0L2RhdGEuMDA0Cis3Zjg0YWQyMjI2OTUyZGMzYTJjYWQzOGMzZWUyOTcwYyAgLi9kaXItMDA3L2RhdGEuMDAxCis4MDQ1MTUxMTkyYjQ5YThkYTRkMmM4ZTY3NjJjY2JhMiAgLi9kaXItMTA3L2RhdGEuMDEwCis4MDQ4ZTBjYmEyMjJjYzE2NTU3NWVhY2UzOTIyZTViMCAgLi9kaXItMDM5L2RhdGEuMDAwCis4MDQ5YWE3NWVlNGNiMWI0YzNiYmE1OWRmNjdlNDdkZCAgLi9kaXItMDY4L2RhdGEuMDAyCis4MDhhYWQ4MjRiOWUyZTQ2NWJjYTQxZWZkMWY1Mjk1NCAgLi9kaXItMTAwL2RhdGEuMDA1Cis4MDk0MGZhZDc1YzcyNGE5OTA3NmMzNzY4OTIwODNmNSAgLi9kaXItMDA4L2RhdGEuMDEwCis4MDlhZDhmODdiMWQzNDk1Mzg0NzllYjgyNTVmYmQ5NSAgLi9kaXItMDg3L2RhdGEuMDEwCis4MGIxMjYzMTMyOGIwZGExNWRlZjVhYjdmZjU5MjNmYSAgLi9kaXItMDk0L2RhdGEuMDAyCis4MGIzYWRiZWFmNzc1MmY0YjI4NjkwYmYzNDI3N2E5NyAgLi9kaXItMDgyL2RhdGEuMDA5Cis4MTFmMjIyMmJmM2UzMjYxZWRkZmE3YzViM2QwODFiOSAgLi9kaXItMDQ2L2RhdGEuMDA5Cis4MTIwMDg0NjRlNjM3OGY0MWQ2OTkyYjVmZmNiZWI4NCAgLi9kaXItMDQ2L2RhdGEuMDAzCis4MTc3NDkyNzk5NTg0Mjg4YjZkMDkxMmRkYzNjNTc4OCAgLi9kaXItMDEwL2RhdGEuMDAyCis4MWZkMTM4Nzg0MDY1NDRkMzk2ZmIwZDkwN2M5YTQxYiAgLi9kaXItMDQ1L2RhdGEuMDA2Cis4MjAwYmRjMTA0ODBjMGYzMmUyZjgzY2Q2ODUxNWY3ZSAgLi9kaXItMDg0L2RhdGEuMDA2Cis4MjA0MDhhY2UzNDkzMjUwZDk4ZTg2NzRiODE4N2E5MSAgLi9kaXItMDUyL2RhdGEuMDEwCis4MjExNzJlNTRlNGFmZDYyZjcwNWQyMjYzMzFjN2ZiNSAgLi9kaXItMDg1L2RhdGEuMDA1Cis4MjY4MTJhMzYxMDVmY2RmNGQ1NTAwYTZkZjBmMDhkMiAgLi9kaXItMDg1L2RhdGEuMDA5Cis4MmUxNjBjYjY4ZmNkNzMxZmZkOGM5ODJlYjY2OTkyMiAgLi9kaXItMDM0L2RhdGEuMDAwCis4MmYyYmRjYjQ3MjhlM2FkMmFkNDI2ODhjNzc2MDUxZiAgLi9kaXItMDA2L2RhdGEuMDA4Cis4MmZkMGM3YjcyMzk5OTIyYzkxNWQ1NmZmNjk2NmYwOSAgLi9kaXItMTA1L2RhdGEuMDA3Cis4Mzk2MWNhM2E3ZmRjZTdlYzcwNjk2ZTIxNzQ2NTNjNyAgLi9kaXItMDg2L2RhdGEuMDA0Cis4Mzk5MWQ1NzNiYmQ2NDM0OTNjOTRmZTc2ZmNhNzdmYyAgLi9kaXItMDA2L2RhdGEuMDA3Cis4NDQ1NWUyNzk1Mjc2ODJkYzE2NTk3Y2NkNjRiYTI2MCAgLi9kaXItMTAzL2RhdGEuMDEwCis4NDdjZTkxYzRmMzc5NjBiZmY1ZDM0MDIwYjQyZWQ1MiAgLi9kaXItMDY5L2RhdGEuMDAzCis4NDdlOTQxNTRmZTM5ZmNiNDA5NzQ5MDFmZDA1YjU5ZCAgLi9kaXItMDU3L2RhdGEuMDA5Cis4NGE3Y2UzOGM2MjAyZmRiNmI4OThkZjI4NTQ0NjY2MyAgLi9kaXItMTA2L2RhdGEuMDA4Cis4NGFiYTJmNTYxODEzYTliYWMwYjRjMDY2MjAxNTJhZSAgLi9kaXItMDUxL2RhdGEuMDAxCis4NGM1NzViYzM5ZDZjMGM5MTYwMGEyZGQ5ZTQ1MzY5OCAgLi9kaXItMDc4L2RhdGEuMDAyCis4NTEyZTAyZTQ0MTAzZjY3NjdiMzM0MzQ1ZGM3MzU3NSAgLi9kaXItMDQ5L2RhdGEuMDAzCis4NTIwYmRjZDM2NWRiYmVhNTZiNDhlMTgxZTg5MmU2ZiAgLi9kaXItMDM1L2RhdGEuMDEwCis4NTYxNmMwZGE2NjJmMzk2ZDMwMWNiMWU2YmRkN2JkNCAgLi9kaXItMDEzL2RhdGEuMDA0Cis4NWVjODM2ZTY3ZTZmMmJhZWVjMDFmNjY1ZWIyM2UyOSAgLi9kaXItMDk1L2RhdGEuMDAzCis4NjAzMDY3YzE5M2U0YTFjMzU3ODAxYjM4MTY0MWRmYiAgLi9kaXItMDkyL2RhdGEuMDAzCis4NjExYTY2YWIwMTEwMzNiM2M5MDZiYTdiODllNmMyZCAgLi9kaXItMDM3L2RhdGEuMDAwCis4NjM3OGMyZWEzOTY1ODUyOTdmMTY1NTMxZTZjNzg5MCAgLi9kaXItMDI1L2RhdGEuMDAwCis4NjY0MzBiNWQzOTExYzczNjM3NmQ3ZTY2MGE4MWYwMCAgLi9kaXItMDQyL2RhdGEuMDA3Cis4NmJjMzYyZGRjMGNlY2RiNDhlNGVmNDg5ZWZlOWRkOSAgLi9kaXItMDA1L2RhdGEuMDA4Cis4NzJhNzNiYmNlMmM4NDhhNTg0ZTkzODJkNjJhN2E4YSAgLi9kaXItMDkwL2RhdGEuMDA3Cis4NzRjOTNlMDVmNGYzMmJlZmY1MDUxYzRhZjg2YjhlNCAgLi9kaXItMDcyL2RhdGEuMDAwCis4NzZhMmRkM2Q2MzBkOTgxNDMyMDM2OTM4NzRmNjBkMCAgLi9kaXItMDkxL2RhdGEuMDAwCis4N2E0YTEzYTE1YjE3NWI4Yjk0M2NlZmRmZTNlNzRlOSAgLi9kaXItMDkxL2RhdGEuMDA4Cis4N2RjZWQ4MjRlODQxM2UwMmNkYmY1MzlmOGRlMDYxYiAgLi9kaXItMDg2L2RhdGEuMDEwCis4N2Y1ODgxZDVjNGE4OTQwODUzMDdhYTEwZmRiMTA1YSAgLi9kaXItMDQxL2RhdGEuMDA5Cis4N2Y4ZTkyYzhmMWExYzg0MzMzOTg4MDhhYmFmODE2NSAgLi9kaXItMTA5L2RhdGEuMDAzCis4ODEyNDM3MTZiYTRlM2M1ZmYzZGQzNDJjMjFjMDQwYiAgLi9kaXItMDgyL2RhdGEuMDAzCis4ODhkYTNkMjY2NTY0NDJhYTFjMTllMmU0NzdlNTlkZSAgLi9kaXItMDgzL2RhdGEuMDA5Cis4OGZhMWJkODdmYTMxZDg1M2UzNmJkNTAzNTI2MjI3ZCAgLi9kaXItMDQzL2RhdGEuMDA1Cis4OTIyMWQwMWM4OTQyNjJlOTdiMTVlN2Y1NzkxZTE0ZCAgLi9kaXItMDE0L2RhdGEuMDAxCis4OTdlZDNkOTg0YmY1ZjEzNjhmYWJmNDlmM2IwZjEyYiAgLi9kaXItMDcyL2RhdGEuMDAxCis4OWE1MDNmNWQxYTFkOWI5NGVhZGYxNGEzZDdhN2RkNSAgLi9kaXItMDQ1L2RhdGEuMDAwCis4OWU2MDgxYzM1Y2RkM2I4NmE4MzZjZmY1MTk3MTE4NCAgLi9kaXItMDY1L2RhdGEuMDA5Cis4OWYwYWNkNzVjYTk2M2JlYWIwY2FiYmZmZDYyODcyNCAgLi9kaXItMDkxL2RhdGEuMDAxCis4OWY0OTliMGRhNDBhZjc2ODAyZjBlMDNkYTc3ZjZmNiAgLi9kaXItMDQwL2RhdGEuMDEwCis4YTAxMGIxNGVmNjc2ZDQzMDRlZWY3M2IxZjFmNzhlMiAgLi9kaXItMDA0L2RhdGEuMDA3Cis4YTEyODM0OTNlZTYwYjQ5NGE1OGU2YWNlNzQ1MjkwNyAgLi9kaXItMDg5L2RhdGEuMDA5Cis4YTYyYTg3NDJlZDc4MDIzMDQzZDRlYWVjNWIxZTkwNCAgLi9kaXItMDk4L2RhdGEuMDAyCis4YTZiMGM0ZjJjMDRlOTZkNTMxNTg2ODk5NmZjZGRhNyAgLi9kaXItMTA4L2RhdGEuMDA0Cis4YTgyZmY0OWU3MTBiZDg4NDUwODY3YTNmNDQwYjBkYSAgLi9kaXItMDc1L2RhdGEuMDA5Cis4YTg3YjRlMDBjNTMxY2Q1NzdhMzkwMTIzOTdhMGY4NyAgLi9kaXItMDc5L2RhdGEuMDAwCis4YWI5M2JmZGQ5ZTYyZjNkNmRhMGRiYmM1M2ViZmZhMSAgLi9kaXItMDc2L2RhdGEuMDA0Cis4YjA5YjdkNjJhMzczNTY4MWRhMzYzNzE2NTdlMTRmMyAgLi9kaXItMDM5L2RhdGEuMDA3Cis4YjkzZjA0YjUyYmQxZmIwNzgxZjlkNDZhYzdhMjkwZiAgLi9kaXItMDI1L2RhdGEuMDAyCis4YmQ1NjUwYjBlN2Q0ZmJmNjk3MzIxNGMyZjUwNzgwMSAgLi9kaXItMDQ3L2RhdGEuMDAyCis4YmQ1YmZhYzEwNmM2OGNmZmIzYTA5OGM0ZDE1N2NmMSAgLi9kaXItMDYzL2RhdGEuMDEwCis4YzRmZjhmNzgwYTk4ZTM5Mjk1ZjUwMDI3OGExZDg4NyAgLi9kaXItMDk1L2RhdGEuMDA5Cis4ZDExMTBmOWFjY2M4MDRmYzQ4YmIyZWU0YWY2YmJmMSAgLi9kaXItMTEwL2RhdGEuMDA5Cis4ZDQyNjFlODAzNTIwNzBkMjgwMGY1Mjg5MzJlMzdmNCAgLi9kaXItMDU1L2RhdGEuMDAwCis4ZGIwOGY2NmRlZTE5YTU0OGIzZTZlYjNhMTU2MDk4MCAgLi9kaXItMDk0L2RhdGEuMDEwCis4ZGY3NWZlNzEwZGRmMjMxNmRkMTNmODA2NWU0YmY0MSAgLi9kaXItMDg3L2RhdGEuMDAxCis4ZGY4MDI3OWYyYjIwNTFkNjViY2YxZjdhN2RlYTdkOSAgLi9kaXItMDk3L2RhdGEuMDAwCis4ZTU4YTQyY2YzODMxNzNjMGRjZDY2OTQ0MDJiYzk0NiAgLi9kaXItMDE0L2RhdGEuMDAzCis4ZTk5MzM5MzZlMDI2MTU5NTM0ZjQ1MWNkMDU0OGQ0YiAgLi9kaXItMDI5L2RhdGEuMDAxCis4ZTllNDUyMThkMTdhZTFhYWM1N2QyNGJhNDQxN2Q5YyAgLi9kaXItMDcwL2RhdGEuMDAwCis4ZWFiMmIxZDFlYTJhNTkyNmVhNWUyNzY1ODc1NDNjNCAgLi9kaXItMDI0L2RhdGEuMDAwCis4ZWU2NWU4MGRhMzQ0OTQyNWQ2YzhjZWRjN2JlNzJmYyAgLi9kaXItMDk5L2RhdGEuMDAxCis4ZWY2NDg3NWE5Yjk5Njk4NjljYjBmMjVhMzJmYTBmZCAgLi9kaXItMDM5L2RhdGEuMDA0Cis4ZjdiODhhZmEyY2ZhZTBhMzM3ZTFlMzMwZTk1MDdhYSAgLi9kaXItMDc1L2RhdGEuMDEwCis4ZmQ0ZWFiNzY4YzRiNTkwNWU0MTY3MjVkZTQyM2Y1NSAgLi9kaXItMDg3L2RhdGEuMDA2Cis4ZmZjOTI3ZGY4NmRkNGM1ZTM5NjZlOWQwNTY2ZTQ0OSAgLi9kaXItMDE0L2RhdGEuMDAwCis5MDRhNmQxYjI5YjZiMzQ2ZDE3ZmU1NTQ4YjkwY2I2YiAgLi9kaXItMDU5L2RhdGEuMDA1Cis5MDRmNjE4ZmU4NDk2MGY0ZDQ5NWEyY2JmNDk0YTE3OSAgLi9kaXItMDI2L2RhdGEuMDA4Cis5MGU2NDNhMGVhZDI0ZjExNDQ5YmUyYzEzZDczOWE1MyAgLi9kaXItMDE3L2RhdGEuMDA3Cis5MTM2MWZjOTRhMTdkNmJkMDAxZDEzNjM1NWI4NTM1NCAgLi9kaXItMDI0L2RhdGEuMDA4Cis5MTg1MGFhMzgzMWE4MjFkMzc1YzQxNmNmMDQ4ZDgzMCAgLi9kaXItMDEyL2RhdGEuMDEwCis5MWYxNDk5ZjlmYzIxZTc0ODc5NDU5NjAwYTgyNTY1NCAgLi9kaXItMTAzL2RhdGEuMDAwCis5MjA3ZWM4NzdjMmZjMGM4ODdhZGJlODFiOTdkNzE2MCAgLi9kaXItMDIzL2RhdGEuMDA5Cis5MjNmYWUxYWFkMWY3ZjA4N2Y3ZDU2YmUwYTk0OWFiYiAgLi9kaXItMDI0L2RhdGEuMDA3Cis5MjRlNjA4ZTE2ZDE4NTg5YTk5MzJmYzc2YWI3ZGFkMCAgLi9kaXItMDkwL2RhdGEuMDA1Cis5Mjc5Njg4MjhkNWMzMDY1ODA0NDY2YzBiNjU0ZGZiNCAgLi9kaXItMDU0L2RhdGEuMDA1Cis5Mjk3YzhlMzIwOWFkNmMzZTllYjgwM2Q1MTE0NzUzYyAgLi9kaXItMDMwL2RhdGEuMDA4Cis5MmIzODg3MTc5MzYyNTU3YTkwNjNhZGY1NDhiMmJkNyAgLi9kaXItMDgxL2RhdGEuMDEwCis5MmY2NjJmMTZjMzc2OGRiNWVlZGEzYjYwZjRmMGFkZSAgLi9kaXItMDIyL2RhdGEuMDAzCis5M2I3YzRkNTM3M2EzNjRiOGUzZTI2ZDA3N2M5ODBjNyAgLi9kaXItMDc5L2RhdGEuMDAyCis5M2ViMTViNTNlNjg3OWViYTllMjNjMmY2MzZlNzNhNiAgLi9kaXItMDYxL2RhdGEuMDAwCis5NDBiZWUxZDMzMDAwMmNmMjM0YTMzOGI2M2QwNzkxMSAgLi9kaXItMDY4L2RhdGEuMDAxCis5NDE3MmU5MjRhN2NkZGE2MjlmMjAyZTExNWU4NmU5NiAgLi9kaXItMDYyL2RhdGEuMDA3Cis5NDQ0OTIyMGZjYTZhOTU4OTM4NTdhNDU5ZWVlZWVjNiAgLi9kaXItMDAwL2RhdGEuMDA1Cis5NDRhNjBjNTgyMDg4OWFjNmMyMDQzNzhhYjhlYzY4NCAgLi9kaXItMDY1L2RhdGEuMDEwCis5NDYxMWY5N2YzMGIzMjE2ZWUzMDZhOTdlZTA2MzI4NSAgLi9kaXItMTA2L2RhdGEuMDAyCis5NWM0ZjQ0ZGJjNjYyYTFiODBmMjMxYzAzYTE4MzFhMiAgLi9kaXItMDMxL2RhdGEuMDA1Cis5NWYzNGJmNTYwOTc3YWFiZjU2YjIzNzRiZmQ4MDFmYyAgLi9kaXItMDMxL2RhdGEuMDAwCis5NjBiMzQzM2FkZGJlNDE5NDQ1NTA2ZTQwNzBlNzA0YyAgLi9kaXItMDMxL2RhdGEuMDA0Cis5NmZjYzVkZjMzOWNhZmYxNDMxMWEyNGE4MTEzNDcxNCAgLi9kaXItMDQyL2RhdGEuMDA2Cis5NzA2ZGQ3YTdhZTk3OWI4NTgxNTVkZWE4ZDU0Y2I0ZSAgLi9kaXItMDMzL2RhdGEuMDA4Cis5ODczZmNhYWFmMTI5ZDkyMmNiMjljMTBkZDc2NjVhMSAgLi9kaXItMDY2L2RhdGEuMDAyCis5ODkzNDgxMjNkY2QwOGVlMzNjMzUxZTkxNTZkZDU4MSAgLi9kaXItMDA1L2RhdGEuMDA5Cis5OGFmMjNhYzRkYzg5MTMzYzc0OWNiNzk2ODg3ODg1OSAgLi9kaXItMDQxL2RhdGEuMDA1Cis5OGI3MmZhMTUyNmUyMGMxNmFiMDI1NDZiNjU2YTkyNSAgLi9kaXItMDY5L2RhdGEuMDA1Cis5OTAxOWU1ZmVlYWNlY2Q2MjhiNzliMWViN2UxNjFmNyAgLi9kaXItMDcxL2RhdGEuMDA4Cis5OTE0YmVhYzE0NjgxNDkzZjdhN2FhMTlhMGYxYmQ4ZSAgLi9kaXItMDM1L2RhdGEuMDAwCis5OTNjMmMxYjY0ZDRkOTA0OWRmNmQ1ZDdjYjU2YzRjNyAgLi9kaXItMDUxL2RhdGEuMDEwCis5OTk0OTBiYzMzZWMyYTU2YWIyMzBiNmRhOGIxYzFkMSAgLi9kaXItMDQ1L2RhdGEuMDAyCis5OWI3MGEzYjUyMzVlYmZkMWRlNmUwOTZkNTRhYjQxZiAgLi9kaXItMDgzL2RhdGEuMDA4Cis5OWI4MWIxMDI0MTI5OTkxZTE5YjAxMGVlMGYxMjk5ZSAgLi9kaXItMTA4L2RhdGEuMDEwCis5YTBlMGNiOWEyZjg5ZmE4Yzg4OGE3MzEwYjQ5MWFhMyAgLi9kaXItMDc0L2RhdGEuMDAyCis5YTJkNjNjMWI0N2FhMzVhMGQ2NDdkMjc4ZDdiMTNiMyAgLi9kaXItMDIwL2RhdGEuMDA1Cis5YTc3YjAxN2NiNzE0NjQ4YmIzMzg4NTM3MTdhZDdlOCAgLi9kaXItMDU5L2RhdGEuMDA2Cis5YWYzMDUyZDc5ZTAzMjM0ZDUxNzkwYmNhM2Y2MmFiZCAgLi9kaXItMTAzL2RhdGEuMDA2Cis5YjEzMDhkOWE3MWYzZDA3ZGYyMGM2NGVlOTQ4NTIxNSAgLi9kaXItMDA5L2RhdGEuMDA0Cis5YjI0M2U3OTIzMjA3ZmVlYmE0NGVmODk2NzgzNTIxMyAgLi9kaXItMDI5L2RhdGEuMDA2Cis5YjI1Y2M3N2VjMzg4NGI5YjExNWYzNGE2MWFhNmIxYSAgLi9kaXItMDM2L2RhdGEuMDAyCis5YjQ0NzVkNjhkOTliMGQ4YjViNzI0YjE2MWVjMzg1OCAgLi9kaXItMDc5L2RhdGEuMDAzCis5YjdiZmEzZGZiMTIyM2MwODRhNzMyYTQ2MDAxMGJhNiAgLi9kaXItMDI3L2RhdGEuMDA0Cis5YmQyMzkzZjQxNjcxMDRjNjAyZjQ2MmNmZjk3M2M5ZiAgLi9kaXItMDU4L2RhdGEuMDA1Cis5YzQzMGU2ZGI4ZjE1MzBkZmNhYjQwZGUxYWUzMjBlZSAgLi9kaXItMDU4L2RhdGEuMDAwCis5YzQ4ZmYwZTlmYzIxM2NiMmI0ODNkYjIzMGZlYjM0NSAgLi9kaXItMDIyL2RhdGEuMDA5Cis5YzlhM2VmZjU0OWRlZTg4YTM1YzU4OWRkZDlkMjE4YiAgLi9kaXItMDE4L2RhdGEuMDAxCis5Y2NkMDVhYzk2ZmU5MTkyYTZlM2M5Yjg2NGY1MWNjNSAgLi9kaXItMDQzL2RhdGEuMDAyCis5Y2YzM2E3Yzg5MWQ2Yzc0NzIyNjdkNTdjYTZjYmM2NiAgLi9kaXItMDQ2L2RhdGEuMDAyCis5ZDIxZmIzMGFmYWFlZjc5YWVjYjBkYTk4MTVjMzQ3YiAgLi9kaXItMDUwL2RhdGEuMDAxCis5ZGYyY2Q5Zjk1ZmU5OTdjOGRlNjJjNTQ4MWQzYzkzZiAgLi9kaXItMDM0L2RhdGEuMDAzCis5ZTNiODQzMGM3Y2I4NzA4MDNlYzI4NmMxMzcxOGIwMiAgLi9kaXItMDAzL2RhdGEuMDAzCis5ZWE5YzdkNmI5ZmIzMTg4YmEwODIxMTM2YzIyOGU3ZSAgLi9kaXItMDk1L2RhdGEuMDA0Cis5ZWRmOWEwNTYwNzUyMDA4Y2VhYWE0YWUzZWQ1Nzg1ZSAgLi9kaXItMDcxL2RhdGEuMDA1Cis5ZjU0OTY1NjQ2NmY3MGY2MjJjOWRmMWM0Y2NjOTUyMSAgLi9kaXItMDMzL2RhdGEuMDA1Cis5ZjgwOTU4MTQwZDY1YjVlMGZiOWE1MjE2N2IxYzQyMiAgLi9kaXItMDk5L2RhdGEuMDA2Cis5ZmE3ZjkyYTIxYmE1MDAxNDBhZmYxN2Q4NzYyYTZhYSAgLi9kaXItMDc2L2RhdGEuMDEwCis5ZmQzYjI4MDRmNTkzMzc0ZGVmNWEzMDJhOGI0NTBjNCAgLi9kaXItMDc0L2RhdGEuMDA1CithMDMzOWRlMmMwMTNmMmQwM2Y3NTZhODE0NDYzOTg5NyAgLi9kaXItMDYxL2RhdGEuMDA5CithMGEyNzBjZTM3OWZkNGQ5OTFkOWNhNzI4ZDYzYjM2YSAgLi9kaXItMDEyL2RhdGEuMDA0CithMTIxYjMwZmEwYWQ1MGI0ZTgyOWE0NTg3OWNjNWVkZiAgLi9kaXItMTAxL2RhdGEuMDA2CithMThiNjhjNzdjZTkwYjliZGFjYTFhZTU1MjgyMzM3ZCAgLi9kaXItMTEwL2RhdGEuMDA0CithMWUyY2FkOGU5N2M4MmYzMjUzNDQyY2ZmOTk3YmNmMCAgLi9kaXItMDgwL2RhdGEuMDAwCithMjM4ZTI1MDcyM2I0MTEwMWYwN2NmY2ExN2YxMTU2NCAgLi9kaXItMDQ1L2RhdGEuMDA4CithMjQ2YzVjNmMxZjgyM2ViNDEzYWYzN2QzNGIzYmZmZiAgLi9kaXItMDc3L2RhdGEuMDA4CithMjljMjRlMjFlNmY2MDc1NzBmNzZlNTYyNWQzZGM5OSAgLi9kaXItMDMyL2RhdGEuMDAzCithMzQxZDhiMTUyYmU4ZDM0MTc4MmRiNWFiMWQ3YWFiZiAgLi9kaXItMDg0L2RhdGEuMDEwCithMzVlYzg2YjMxZDczODQ5MTQ3ODgwZWVhNDI5N2ZkMCAgLi9kaXItMDYzL2RhdGEuMDAxCithMzg5MWNkNjg1NWMzNDZiMDdmNmQxY2QzODVjNDliNSAgLi9kaXItMDk0L2RhdGEuMDA0CithM2Q5NDEwZWZiMGIxZmY2NjAwYjNmNjI3OTcxZmQxNiAgLi9kaXItMDQyL2RhdGEuMDAxCithNDA1ODcxMzhjZWQwNGIyMGZiMjUyNzM1NDYwNmYyYyAgLi9kaXItMDc2L2RhdGEuMDA2CithNDY5ODEwZTRkMWRhYTEzZjNlOWIyZTZmNjhiOGQxMyAgLi9kaXItMDA0L2RhdGEuMDA2CithNGMxM2RhOTBjYmNmMmYxNjI0YTRiMmMyYTliYjIzMyAgLi9kaXItMTA5L2RhdGEuMDA4CithNGQ0ZDQ5MjE3OWViMmRjYTdjZTMwNTcxYzhlZjNiYSAgLi9kaXItMDA3L2RhdGEuMDA0CithNTJkYTBhYTFhN2FjZDg3NzhmZTZmNDBmMGY4YzBhOSAgLi9kaXItMDYxL2RhdGEuMDA0CithNTU0YjkwNjhlZjQwNmNhMzcyZjkxODkzMDRhODJiNyAgLi9kaXItMDU5L2RhdGEuMDAzCithNTgxZTc1Zjg0ZjRhYzZhZDllNzBlNWI2YmVhNTNhNCAgLi9kaXItMDk1L2RhdGEuMDA2CithNjA1NWQwMDQ3ZDgxNGEzMWYzMmU0MTg1NDQxZDRhMSAgLi9kaXItMDA3L2RhdGEuMDA3CithNjA3NDFlMjA5YjcyNmZkYTRlOTY5YmYzNDRmNGFlYSAgLi9kaXItMDY5L2RhdGEuMDAxCithNjM5NWE5YmNmNTM1MDZjZWYxYzZiNjJjYzM3ZjJkNCAgLi9kaXItMDAzL2RhdGEuMDAwCithNjUwNDA5NTU4ODRkMWM2ZTRkNTRhZDkyOTlhMDhlMiAgLi9kaXItMDYyL2RhdGEuMDAxCithNjU0NTc1NTBkMjM4MDdiMjFjMWFmYTkzZTlkMjFlZiAgLi9kaXItMDM1L2RhdGEuMDA5CithNjZlMmFlZjgwMmY5MjM4NWJmMzhiMDFjZThiMGM4MCAgLi9kaXItMDMxL2RhdGEuMDAzCithNjk1MmM4M2Y2YTQwNmVkMWJhYTJiMTI1MWJjY2ZmZiAgLi9kaXItMDMyL2RhdGEuMDEwCithNzNhYTI2ZjYyZGU5OWU5N2U2OTEzNzlmZjY0ZTgzOCAgLi9kaXItMDU1L2RhdGEuMDEwCithNzNhZDZiODQ3YWY4MGI2NmY0YjM3YmY3NTJlMTA5NyAgLi9kaXItMDk2L2RhdGEuMDAyCithNzhkNTNlNjE3ZDMxZDI5ZDA3YTFiYzhkNDYzZTQ1NiAgLi9kaXItMDk2L2RhdGEuMDEwCithNzkwMzMzNGRhYjJjOTk0OGE5NDYwZDk0ZmZkMjdlYiAgLi9kaXItMDgyL2RhdGEuMDAyCithNzk1N2NkMWJmYjM4YmIyNjVjMmQ5MDliZjRmMGIyMSAgLi9kaXItMDI2L2RhdGEuMDA3CithNzlkZjYxNTJkYTRiNzhlY2U2NjNmNGI5NWQyMGNkMyAgLi9kaXItMDQxL2RhdGEuMDEwCithN2FhN2YwMjEzZDQxZGI5YjdhMmQ2M2M5MGY3Nzc3MiAgLi9kaXItMDUzL2RhdGEuMDAxCithODExMWE0NDM5MjQ0ZWQ5ZGU2ZTBjNTk0NGQ3ZmZhMSAgLi9kaXItMDI5L2RhdGEuMDA4CithODJiMWU3NjljMzNmZTcwMTE5NGQ5NWZjY2YwMjljOCAgLi9kaXItMDEwL2RhdGEuMDA0CithODU3M2NhODcxOTkxMGQzZWEyNTgzOWNmNTI5ZDQ0MSAgLi9kaXItMDkxL2RhdGEuMDA5CithODVjNjYyOWRhNTNkMzJhMGVkMGQzYzhiMGEyNmM3MiAgLi9kaXItMDc3L2RhdGEuMDA1CithOGExMzdkZjA0Yjg3YWM3MzZlMTU4NTE1ZWM3MWE0MiAgLi9kaXItMDg3L2RhdGEuMDAwCithOGE3YWM4N2M0MjZhYTA0N2I1NzNiMmRjYmM0YTBlNiAgLi9kaXItMDU4L2RhdGEuMDA4CithOGMwMzhhMDNmNWJjMmU2YjUyZjAyYjhjNWM1MmNiMiAgLi9kaXItMDU0L2RhdGEuMDA5CithOGM0YzFmOTI0MTMzZWMwYzgzNjA5MDFiY2Y2YzE5OSAgLi9kaXItMDk0L2RhdGEuMDAxCithOGUwNmM5ODE0NDgxOWQ5OGU4MDk0OTJmMDhhYTI5YyAgLi9kaXItMDM1L2RhdGEuMDAxCithOTNhNDlmZDc4NGM2YWQ5MDM4NWVhMDIyZWNkMjM0MyAgLi9kaXItMDQ1L2RhdGEuMDEwCithOTVjNDZhYzcwNDdiODg2NmRkOTIyNWVlNGQ2NDhjNiAgLi9kaXItMDU0L2RhdGEuMDA3CithOTdmOWM2YzUyM2Y1NDc5MDQ2Mzc3ZWNhNzkzZWY1MyAgLi9kaXItMDQwL2RhdGEuMDAwCithOWE1MGVkMmIxNjVkNTQ4YTFhY2EyZTRiMzA2ZDA2YiAgLi9kaXItMDQ4L2RhdGEuMDA2CithOWJhMDlkZjU0NjkzMGJhMjc2NjNkZjAyMjdiMDQ3YSAgLi9kaXItMDAyL2RhdGEuMDAzCithYTEyMmJmZDc2MGVhNGRjNTBhZWNmNGY1MzNjNjVhYSAgLi9kaXItMDE2L2RhdGEuMDA0CithYTNlYjUzYzdhN2E3NzY5MGU5OTZhNWMwYzFjY2ZhZSAgLi9kaXItMDI0L2RhdGEuMDEwCithYTYxYTVkNWYzMzZiMGI1MGU2YjFkMDc5NmI4OTBhZSAgLi9kaXItMDg4L2RhdGEuMDA5CithYTZmZWY2M2MzYjJiYmI5YzE3YzliZDczMDhjNTMwNiAgLi9kaXItMDM2L2RhdGEuMDA0CithYjBmODgxZjg3MjU2M2JkNzg0NmMzNDMyZWY3ZmNlNiAgLi9kaXItMDAzL2RhdGEuMDEwCithYjFlYTFmZTk1YjNhZjdkYjY0YWE4ZmExNDY3NjBiYyAgLi9kaXItMDkzL2RhdGEuMDA4CithYjVhY2Q2YzU5NDE1ZTEzZGM3OTFlM2YzMDBiY2NkMiAgLi9kaXItMDM5L2RhdGEuMDAxCithYmYxNzVlZmZkNmMwNGRiZWRjMDRhMzFmMDA5ZWY3MiAgLi9kaXItMDM4L2RhdGEuMDA0CithYzAwYmI2MDAxZTM1NGE2MDQwNjNmMWUzMWE4ZmUzYyAgLi9kaXItMDI4L2RhdGEuMDAwCithYzBlZWU0OWU0NzM3MjZkZWI1NmQ0N2E4MjMxOThkOSAgLi9kaXItMDg2L2RhdGEuMDA5CithYzZlMWY2MTZmY2FiOTNiZWJlYTEyYzNkZDFmZWZlZSAgLi9kaXItMDY1L2RhdGEuMDAxCithYzhlNTk2ZmRmNjI3OWU0MGZkMDA4NWJiMGYzNDE2NSAgLi9kaXItMDg0L2RhdGEuMDA1CithY2MxZWU3ZmViZDEwMGFiMjNiNmE0NzlkMzAwMTgyNSAgLi9kaXItMDYxL2RhdGEuMDAxCithY2RiZTJlNDk2ZDZhZTIzYzBmMGRjZmIwZWE2ZmFhOCAgLi9kaXItMDA1L2RhdGEuMDA1CithY2U5YzhiNWRkOGU1NWRkMTM3MzVjNjQ5YzlkNGFmNSAgLi9kaXItMDk5L2RhdGEuMDA4CithY2Y1Y2IyYzdiMWViNDM5MGE2MGExNzc0YmM0YmFiMCAgLi9kaXItMDkwL2RhdGEuMDA5CithZDI0MTE0YzljYjhmMDM1YWRlMmU4NjJkOWFiYWZhOCAgLi9kaXItMDUzL2RhdGEuMDEwCithZDMyMGNkYmZiZmE1Y2Y2YzdiN2E4YzQwYTY4NjE5MyAgLi9kaXItMDIxL2RhdGEuMDAwCithZDViMmQ1NDhkYmJmZTZhYjBlMjE0MzdiYjJlMWYyZCAgLi9kaXItMDE5L2RhdGEuMDAxCithZGU5OGFkZWI0NWFiMTljN2NlOGQ0Mjc4MmRjMDRhNyAgLi9kaXItMDg3L2RhdGEuMDA1CithZGVmYzU4NTZkMmE0NTk1YmVlYjFhZGNiZDE3MjIyMSAgLi9kaXItMDE5L2RhdGEuMDA4CithZTgxYzk1Mzc4NmNlYzgyZDBmMWY5NDM1YjBkMGMwZCAgLi9kaXItMDU2L2RhdGEuMDA5CithZWJiZWViNWU0MjFjYjhhZDJlODMxYTMwMjc0MmE2ZSAgLi9kaXItMDgxL2RhdGEuMDAzCithZWM0OTc4YjgxNDQxZGE5Y2JhOTAwODU0OWZkNThiNCAgLi9kaXItMTAzL2RhdGEuMDA3CithZWY2MjhkNzY3NmFlMjExNTNhODdlMGYxZWUwODI3ZCAgLi9kaXItMDUzL2RhdGEuMDAwCithZjkzODViNzYyNTY4NGMzZDE1Mzg1NGJmYmM0MjdmYiAgLi9kaXItMDU3L2RhdGEuMDA3CithZjk0OWUyOTJjNzM2ZGVjNjRjMjliMzVkYmM5NGNmMyAgLi9kaXItMTA0L2RhdGEuMDA4CithZmI2OGRkOTA5NTZjNzI5YzQ5MjExYWE1Y2M5NzRkMyAgLi9kaXItMDE4L2RhdGEuMDAwCithZmM1Y2NlYWVkOTAxZTNiYWYyNjQxMGU1MzBiMjExMiAgLi9kaXItMDQzL2RhdGEuMDA3CithZmQwNTE0MWJlNmY4NjVhNjRlOTM5MDhlMDVhYjJlNyAgLi9kaXItMDcwL2RhdGEuMDA0CitiMDUwZjZmMGI1NWNhZmQ5MWFmOGI1YmZlZDlkN2VmMCAgLi9kaXItMTA2L2RhdGEuMDEwCitiMDZiY2E1M2IxMzEzMDRhODlkMTUyZmE4NjllOGQ0NCAgLi9kaXItMDA2L2RhdGEuMDA2CitiMDdlMDdkOWViNWI5NzY1ZDU5MTY5MTBkMzAyMmExNSAgLi9kaXItMDQxL2RhdGEuMDAzCitiMDk5NjYxZDBkYzdlNzc3ZTk0Yjg4YTc2ODc5MmFiYSAgLi9kaXItMDI5L2RhdGEuMDAwCitiMGY5ZmJjMzg4OTg0Mzc1NmMyZmJiZGJjOGU5NWM4MCAgLi9kaXItMDUyL2RhdGEuMDA3CitiMTQxZTA3NDZkNzcxYjY0MmI4MDc4OWUyY2VlNzhiNyAgLi9kaXItMDU1L2RhdGEuMDA1CitiMTU0NThiOGQyOGI0ZmYyNzdhYTE5ZDY0NGMzZjAxZSAgLi9kaXItMDc4L2RhdGEuMDA0CitiMTk2OTJiZmNjODg3YTAzMjZlYTBkOWZmNzc3YjcwOCAgLi9kaXItMDgyL2RhdGEuMDA4CitiMWEwZjY3YzIyMjExYjYwZWFhM2FkMDQzMzAwZWMzOSAgLi9kaXItMDc3L2RhdGEuMDA3CitiMWNiMDdkN2Y0YWIwMzE1MjJhMTA5MmNkYTAwOWVhNSAgLi9kaXItMDI0L2RhdGEuMDA5CitiMjI4MzkxZTViNjc0ZjZlMzIwZjQ2YzkyYTIzMWE2ZCAgLi9kaXItMDEzL2RhdGEuMDAxCitiMjMxYjE2OTM4OTIyYjYyYmMzMTNjNGRjNzkxZTg5ZiAgLi9kaXItMDQwL2RhdGEuMDAxCitiMjM1ZTY2N2ZlMDZlMjMzM2QzZDRmNGNmZWIxMWQ4ZSAgLi9kaXItMDYxL2RhdGEuMDA3CitiMjVlNDdiOGU2MDg0YTc3MTA4MmE3OWQyOTY0MTI1ZCAgLi9kaXItMDQyL2RhdGEuMDA4CitiMmE1MDE3ZTkxM2EyNTRiMzNjOGZjNTFhMDMwNDc0NSAgLi9kaXItMDE4L2RhdGEuMDA1CitiMzI5ZGFkNmFkODVjNjVhOTIyMmI4YjI2MWU4NjM2MSAgLi9kaXItMDA4L2RhdGEuMDA4CitiMzNjZDBlMThiNWEyMzg0ZGMwNWE0NmY2OWIwOTA1OSAgLi9kaXItMDA3L2RhdGEuMDAwCitiMzNmMTM2MjRhN2E3Y2ZjNTBmZWYwNDU2ZDc0OTQ3YSAgLi9kaXItMDk3L2RhdGEuMDA1CitiMzY3YTAzNjNiNTc0YTg0NTViODQxY2FkYTA0YWNjZCAgLi9kaXItMDQ3L2RhdGEuMDA1CitiM2M1YWM5YWY0ZDdhMDQzMjUxODI4MDY0NTM5NThiYSAgLi9kaXItMTAzL2RhdGEuMDA1CitiM2RmYzhiMGZiNzYxNjI4N2FmNmY3NzU3MjA3YjZiOCAgLi9kaXItMDMzL2RhdGEuMDA5CitiNDFkMGFmYTRkNTc4MjNlMzRkMTFlNjRiZDY1MzRhNiAgLi9kaXItMDg3L2RhdGEuMDA5CitiNDQ1YjdlNjI0ZTdmMWY3YTViZTY1NDFhM2E5M2E4YSAgLi9kaXItMDQzL2RhdGEuMDA5CitiNDZjZjRhNzY3YTJkMzg5ODAwZGRhMDM3NDkxNzQyNyAgLi9kaXItMDU3L2RhdGEuMDAyCitiNGM2NTE2NjE4MGMxNmU1NDM3ZmJmZTAzYWY0YjVkNCAgLi9kaXItMDE1L2RhdGEuMDA0CitiNGNjZjhkYTE0OTk4Y2JlNzIxYzk5MGRlNDZjOWVkYyAgLi9kaXItMDMyL2RhdGEuMDA4CitiNTRiMzkyYjRjZmY5MmY4MTUxZDU4Y2I5MmU2ODhhMCAgLi9kaXItMDY3L2RhdGEuMDA3CitiNTkzNGNiY2UxNjUxYzEyY2JiNGU2MThlMDkxZjQzNSAgLi9kaXItMTAyL2RhdGEuMDAxCitiNWMxZTU3ZmZhMGNlYjA5NDcxNzBmNjEwMDc1ZjNiMCAgLi9kaXItMDQzL2RhdGEuMDAxCitiNWM4ZjRjYTlkMmNmZjUyNDViODQ3ZTIxYzdkZjA0OSAgLi9kaXItMDUwL2RhdGEuMDAyCitiNjFiZjMxOWM1N2RhNGViNGYxMjFmZDVjNTM1NzYwYyAgLi9kaXItMDE1L2RhdGEuMDA3CitiNjdmYjVlZTdiOTMwNjFhZGU2NDkyOTQ5MjU5MGY1YyAgLi9kaXItMDk3L2RhdGEuMDAzCitiNjkwMDc3ZWJiMjVjMjYwNWVmMGVlMzM3Mjg5NGNlYyAgLi9kaXItMDQ0L2RhdGEuMDAzCitiNmMyMGNlZDlmZmUwZTkxZmJmN2M0ZDcxY2M0NTFiYyAgLi9kaXItMDc1L2RhdGEuMDA3CitiNzUzOGY4ODBkOTFhMDcwMzcyOTBmOTgwMjdlZDMwNiAgLi9kaXItMDQwL2RhdGEuMDA5CitiNzlmMWJkYjViYmI0N2U1ZDk2NWU5MDEzN2RkZjI2ZSAgLi9kaXItMDE1L2RhdGEuMDA2CitiN2I3Y2FkODcyMGQwZjk5ZmRiZDc5ODRjYWFkODgzMSAgLi9kaXItMDYxL2RhdGEuMDA2CitiN2Y1NmM5ZWJhZGNhZThiZDdiMzBlMTRiZGUwYjVkMiAgLi9kaXItMDE0L2RhdGEuMDA1CitiN2Y2ZDExMThlZTkzMmM2NWYxZTVhMTkzMWQ2YzhmZiAgLi9kaXItMDE0L2RhdGEuMDA5CitiODRhYzk2Y2VkYjQ0MmZlMjM1Y2ZmYzhhYTMxMTk5ZiAgLi9kaXItMDE3L2RhdGEuMDEwCitiODhjNTdhYmEyNmY4ZTFjMDg1Y2ZjN2FlMTE4ODhkMCAgLi9kaXItMDczL2RhdGEuMDA1CitiOGJmMTcxZWQ0ZjVmOTA1Y2Y4ZjdkYWI2YTgyYTdkMyAgLi9kaXItMDIxL2RhdGEuMDAyCitiOGMzMzZkZDZlYzdkZjVjYjNmNzBhYzc5ZTE2OTIyMSAgLi9kaXItMTA4L2RhdGEuMDA1CitiOGRlODQ3ZDhhZjgzMjkyMDZiNTE2ZjgyNTk0NTQzOSAgLi9kaXItMTA3L2RhdGEuMDA4CitiOTEwNTMwNThmNWNiODY4YTY1ZWIwMGZmYzhjODVkYiAgLi9kaXItMDE4L2RhdGEuMDA3CitiOTgzZWM1ZTI2OTZkZWM0MmU4ODZlNGFhZjI0YzJkZCAgLi9kaXItMDQxL2RhdGEuMDAxCitiYTE4ZTZhZjQ4MDc5OWNiNjFhY2YwZTM5ODQ0MTNkOSAgLi9kaXItMDIzL2RhdGEuMDAxCitiYTFjODZiNGM3NTE5ZTk5ODdmYzYyZTA0ZTE0YjkzZiAgLi9kaXItMTAwL2RhdGEuMDA5CitiYTNkMzczNWRiNzUwMWJiNDVhMWJjMzdhMWM5MGQ5MSAgLi9kaXItMDM5L2RhdGEuMDA2CitiYTVkZmY0NDU4ZTQzOGEzN2Y3MDIwYTY5OTdjYjNlYiAgLi9kaXItMTAyL2RhdGEuMDAyCitiYTcxZWE2Njg4NTMzOWVmYzUwNGY1ODFmYTlkMDVmYSAgLi9kaXItMDIxL2RhdGEuMDEwCitiYWI3MzQwMjMwY2FmZmQ5YWJlNDVhMjEzY2M3Yzk0ZCAgLi9kaXItMDQ0L2RhdGEuMDA2CitiYWNmNzU5MDk5ZDNjZTMzY2RlMTA0ZjBmZDA5NDA0YiAgLi9kaXItMTA3L2RhdGEuMDA2CitiYjNkYzlkOTJlN2MxMzE5MTUwMmY5Y2EyZDlhMmE0NiAgLi9kaXItMDM0L2RhdGEuMDA2CitiYmY2MmRiM2UyNzc4OTNhZTcwNWI5NWRmMDU3YzY3NiAgLi9kaXItMDQ2L2RhdGEuMDAxCitiYzlhMTVlZTUzNTcxYmUwNGNhMTk5Mjc1NGQ0MDdiYyAgLi9kaXItMDM3L2RhdGEuMDAxCitiY2FkZDYzZTAwZmFkNGI3ZjA5ZjMyY2Y1MGM2MDZmOCAgLi9kaXItMDc4L2RhdGEuMDEwCitiY2U0M2Y0YmMzMmUzYjQzMWNlODhlNzE0ZWJkZTRlNyAgLi9kaXItMDc4L2RhdGEuMDA3CitiZDU3Y2EyNTUyYTM1MTk2NDIyZWIyNTRkMGI2Njg5YiAgLi9kaXItMDEwL2RhdGEuMDA3CitiZDZkOTY2MWVmNDRlZTk0ZjNhNTc2Nzk0YmEyZTk3MiAgLi9kaXItMDgzL2RhdGEuMDAwCitiZDg1ZThjOGMwZmQ0ZmZkMGE4YWJkZDM4Njc1ZTRhNyAgLi9kaXItMDYxL2RhdGEuMDAyCitiZDhlOWMzOTJiYzc2YzNkMDRjZTIzYTM3NmNmNzk0MSAgLi9kaXItMTA0L2RhdGEuMDEwCitiZGE4ZDUzYzQ1YzUyMWM1YTdmY2NjZjE5ZTBmZDRkMiAgLi9kaXItMDUyL2RhdGEuMDA2CitiZGE5NDZkNzI5MzA4OWY0ODdkYmNmNjQ1NjRiN2Q3OSAgLi9kaXItMDUxL2RhdGEuMDAzCitiZGQyODUwOTJmYWY1YTE5YzlhOGIzZmJkMTE2MmQ2NCAgLi9kaXItMTAxL2RhdGEuMDAwCitiZGYzOWI4OTM1NjdiM2E2MzI5YTM2ZGFjNDhiNTE2YyAgLi9kaXItMDk5L2RhdGEuMDA1CitiZGY1NmFkZTM0NjI4ZDlhMmU3NTdiMmJjNmViMGUwYyAgLi9kaXItMDEzL2RhdGEuMDA3CitiZTUwN2E4MzBkYzA5YjhjNmQ4MDJkNDU2NDdlZGI1NSAgLi9kaXItMTA0L2RhdGEuMDAyCitiZjEwNmE2MGVlZDE5NjNjZDNlNTg0NjFjMzhjZGE4NyAgLi9kaXItMDM0L2RhdGEuMDEwCitiZjIxZTQ5M2Q1MzYzODVjNDVkZjAzN2IyZTljZGI0NSAgLi9kaXItMDg5L2RhdGEuMDAwCitiZmIwZjRiYTlhODU4OGJlYzNjZWY0ZWRlNmEzYmI1NyAgLi9kaXItMTA2L2RhdGEuMDA5CitiZmRhODY4Mjc3YTZjNmMwZTI1Nzk1YWQ3MzMxNjA3NCAgLi9kaXItMDMyL2RhdGEuMDA2CitiZmRhYzJjOTg4ZGUzOWNlYzk1YTU5ZjhhMDkwNjM2ZCAgLi9kaXItMDkyL2RhdGEuMDA5CitjMDFiZGU0ZTlmZDc3MzNiNmE5MTUyODRhYzEyYzRlOCAgLi9kaXItMTA4L2RhdGEuMDA3CitjMDU2ZmY3MmE5YjE4NzMzMmRjYTMwMGZiYjgxMjI2ZSAgLi9kaXItMDI2L2RhdGEuMDAzCitjMGIyMTgyZGUxOWMxNjk1YjcxMjc3ZDRmYmZhY2MxOCAgLi9kaXItMDUyL2RhdGEuMDAxCitjMGI5NGE1MzgxNzZhYTY5ODZjYWZhMmUyZmQ4ZmU4YyAgLi9kaXItMDQ1L2RhdGEuMDA0CitjMGUxNmE5NjAxNGExMzk5NWU1MzdlOGUzOWIwMTU1ZSAgLi9kaXItMDUyL2RhdGEuMDAyCitjMWNmMTRlMzgxMmE4Yjk5MzM5MTFkYTY3OWM0OWY4ZiAgLi9kaXItMDcyL2RhdGEuMDA3CitjMWVmMGVjMWZlM2NjNjRkNzA1ZDU0OTliNmVlNjIyZSAgLi9kaXItMTEwL2RhdGEuMDAxCitjMjEyOTEyMGJjOTY3MDNkMjg5MjhkNTY3YmM1ZGY1OCAgLi9kaXItMDI1L2RhdGEuMDA1CitjMjQyOWRiY2Y0OTI5ZWY4ODZiNjEyMTQ3ZThlZmJiMyAgLi9kaXItMDQ4L2RhdGEuMDA4CitjMjgxZjlhNDJiNTFlYTdhZjkzZTVhODhjMTIxNjEyMCAgLi9kaXItMDg0L2RhdGEuMDA4CitjMmMyYWJiOWU4NzBkMTQ0ZGRlMDVlYzZkN2E5NzlkYSAgLi9kaXItMDI4L2RhdGEuMDAzCitjMmYxODQ2MDI1MjkzYzI1NjBlZjQ0YTIyODdjYTk0OCAgLi9kaXItMDA3L2RhdGEuMDAyCitjMmY2ZGEwOGUzZTZjMDRmYTA0ZGJlNDdkOWQ5MWVhZCAgLi9kaXItMDg1L2RhdGEuMDAxCitjMzUzNzNmYjk4ODhjMzAyNzJkMmY1NzRjMGE5NDIzYiAgLi9kaXItMDc5L2RhdGEuMDEwCitjMzcyZTM1MTc3YWEzMjg2Y2I1NTA4NTkwYjE5MTMwMiAgLi9kaXItMDUxL2RhdGEuMDA1CitjM2NjOTBkZDMzYjZlNWVkMTAwODE0NTZmMDcwYzQ0NyAgLi9kaXItMDg1L2RhdGEuMDAyCitjNDcwMTFmOTQ4OGE4YjhiNTUxMGFhOTZlZjExZmU1NyAgLi9kaXItMDM5L2RhdGEuMDA1CitjNDk1OGZiMDllZmYwZGQ1MThiOGE2OTk3YzZiNzFmYyAgLi9kaXItMDE3L2RhdGEuMDA5CitjNTM4NDkyNDlmYWQwZGVmZGY4MzdiYmRkZmExNTQ4OSAgLi9kaXItMDc3L2RhdGEuMDAwCitjNTY3NzU2OTBiOTYxYmQwNDI1ZGZkM2Q4M2RjNGZhNyAgLi9kaXItMDY2L2RhdGEuMDAwCitjNTgwNDMxMTIxNTA3OGFhY2RhODk1OTFjNDBiYjRjMiAgLi9kaXItMDA1L2RhdGEuMDAxCitjNWIzMjI3YWE1NDg0OTE5ZGNhMGRhOTQ3MzkwNDE5YSAgLi9kaXItMDk2L2RhdGEuMDAwCitjNWNhZjg1NzUwMzhjZWNhOTFiMTQwZDlkMGUzYjI0ZSAgLi9kaXItMDY5L2RhdGEuMDA4CitjNjFmY2EzZTA1ZjlhODU5NmZmZWQzZjE1MTJjOGZkOSAgLi9kaXItMDI0L2RhdGEuMDAxCitjNjcyZDdiMTY2OTNjMTg0OGZiMjMzMWZkNDgzYmE1ZCAgLi9kaXItMDY3L2RhdGEuMDEwCitjNmM2NGUxYTMxYjY1OTNmMmUzNTc5OGNkZmI5YTY3ZSAgLi9kaXItMTAzL2RhdGEuMDA5CitjNmU3NzQxZjNkNDk5Y2I1OTJlODRlZTUwMWFlN2MxMiAgLi9kaXItMDU2L2RhdGEuMDAwCitjNzM0ZjQ1MGVkMjBlMGU2ZWJlN2U1MmViZWI0MGMyNyAgLi9kaXItMDk1L2RhdGEuMDA3CitjNzY1YWNkMGZkZGZkZDhkZDI1YzFlM2I1NzhhYjhkMiAgLi9kaXItMDIxL2RhdGEuMDA1CitjNzc4MzFjY2ZkMmExYzE4NDJjNDc1ZjIzOTVlNTg2YyAgLi9kaXItMDA0L2RhdGEuMDEwCitjNzhiMzJhMjRmMmZmYWE3YTY0YTkxMDg3MWM3YzJkYSAgLi9kaXItMDg2L2RhdGEuMDA1CitjN2FhOWVjOGY0YTkxZDk5M2ViYzM1N2Y3YzRkNjI0YyAgLi9kaXItMDEyL2RhdGEuMDAxCitjN2I2Mjc2ZGQ5YzUzYWJjNzgyNGIxNzIzNzdmYTU2NiAgLi9kaXItMDczL2RhdGEuMDA4CitjN2JkN2Y4MWI4MWYzYTNkZmZjOWFhNmQ4OTAzYTVkNCAgLi9kaXItMDIwL2RhdGEuMDA0CitjN2QzMDg4ZGJiNDcwYjFmOGU2NTk3OTVlOWFlMDAxYSAgLi9kaXItMDcyL2RhdGEuMDA0CitjN2RiMzBlNDkwMTBhY2Q0NDFjYTA3MWIxNTllODk1MiAgLi9kaXItMDkzL2RhdGEuMDA1CitjODdhNzA2NjVlNDkyOTg1NThjNTRlN2IxMTE1MGJkYyAgLi9kaXItMDczL2RhdGEuMDA3CitjOGM1Mjc3NmE4ZTliM2Y0M2I1NWMxMTJkZTRiMzYxNSAgLi9kaXItMDU1L2RhdGEuMDAxCitjOTBkZDdhZDUzMDIyZTJlYzc3N2I0MDFhMjA1Njc5NCAgLi9kaXItMDMyL2RhdGEuMDA5CitjOTE2NzlkOWNjZWM2MGVjNThmZWM2ZTVlY2I3MWNkZSAgLi9kaXItMDAxL2RhdGEuMDA0CitjOTI4M2QxZGI2MTk5NDM3MDhhNThhMGQ0ZTA3MjQ5MCAgLi9kaXItMDk4L2RhdGEuMDA4CitjOTcxMDBlYWEwZDViNTBjMjk4NmFkMmQ3YTRhYjRjNiAgLi9kaXItMTA1L2RhdGEuMDAyCitjOWNhOTNjOGI5MWUyM2M3ZDg4NDk4NTI2MWM3MjdiZCAgLi9kaXItMDg3L2RhdGEuMDAzCitjOWY2MTNlMzYwNTlmNmEyZWJiMjFkY2I1YWMyZTU0NCAgLi9kaXItMDk4L2RhdGEuMDA1CitjOWZiN2QwOGI3NjI4NmY3MjZkMzQ5OTMzNDUzY2RhYSAgLi9kaXItMTAyL2RhdGEuMDAwCitjYTAyNmUxZmNlNzM0MmVlYThkNTliNWVmMTVhZTFiOSAgLi9kaXItMDE4L2RhdGEuMDAyCitjYTFiNjI0Y2ZlMDM5ODQ0ODU2Nzg2MmFjYjQ5NjcyMSAgLi9kaXItMDAyL2RhdGEuMDA2CitjYTVkZDg5NGEwMDVjMTM3MDJlOTY2ZDA0YTU4NjU3YSAgLi9kaXItMDc0L2RhdGEuMDA3CitjYTY5MGRkZjFkOTQ4OGQzYWFlNWRlNjY3YjQ2ZTNjNiAgLi9kaXItMDcxL2RhdGEuMDA5CitjYWJiMjk0MGZhZmU3ZGRmMjY0MzgzMGY3NTQyY2M0ZiAgLi9kaXItMDcwL2RhdGEuMDA4CitjYWNjOThjZWE3NTI1YmU2NzBmYmEwNjJlOTIxMzg2ZiAgLi9kaXItMDI3L2RhdGEuMDA5CitjYWY5MzA3MzFhMjEyNDUyMGJlNzFmN2JkYmY1MTQ3ZiAgLi9kaXItMDMwL2RhdGEuMDA1CitjYjMwZmEzZDIyYzMyZmY1YjQ2NmEyMTZkN2U0MTc0YyAgLi9kaXItMDQxL2RhdGEuMDA3CitjYjM1M2NjOTAwYTEwYzAwMjBmY2M0MGQyMGZiNzcyYyAgLi9kaXItMDUwL2RhdGEuMDAzCitjYmE4MTkxMTE4ZTE4MjNiYjM4ZjgwMzIxYjk4ZDdhNSAgLi9kaXItMDMyL2RhdGEuMDA1CitjYmY2ODIwMjc0MWM5MmE2YTFhMTM0NWJhNDBkYmMxYyAgLi9kaXItMDE5L2RhdGEuMDA0CitjYmY5NjY3YWMxODFmNTEwMGNmM2Q3ZDE3OWYwN2MyNiAgLi9kaXItMDE0L2RhdGEuMDEwCitjYmZlMjRkN2YxYWVmMjA3NDZhZGRhMDllZGZhMGIxMiAgLi9kaXItMDcyL2RhdGEuMDA4CitjYzI1NjdhMjM1MGZlZTRjNTE4N2EwMGJjMDYxNWQ1ZSAgLi9kaXItMDU0L2RhdGEuMDA0CitjYzc5ODYxNWMwYjAyZDUzZjY4MjcyNDBlZTY1NGY5OCAgLi9kaXItMDY0L2RhdGEuMDEwCitjYzgzZDViNzhhYTM0ZmYzZDgyOTU3YzdkNjllZTE2YSAgLi9kaXItMDEzL2RhdGEuMDAzCitjY2E1YzBiZGQ2ZDBlYjE4YjdjZGVjMmJjYmI1OTc1NCAgLi9kaXItMDc2L2RhdGEuMDA5CitjZDZiZTRiMWIyNWRlOWJmZjY2YWQ4MTkxZWFjN2Q0YyAgLi9kaXItMDQyL2RhdGEuMDA0CitjZGNkNTI0MGU3OGMxMzM1NzI4MTE1M2M0YTQxMzk1ZSAgLi9kaXItMDg3L2RhdGEuMDA0CitjZTBkZWM2MTJkYjgwYTkyYTE3NmNlMTkwYjE5YTc1NCAgLi9kaXItMDcwL2RhdGEuMDAxCitjZTMzOTJjZDRkODFkZTAwMWZiMzk3YmExNjU1YzBjOCAgLi9kaXItMDEwL2RhdGEuMDA4CitjZTU4YTBlNTBkMTZkNzVjNDVjZTk0NDdiYzg2OGI0NSAgLi9kaXItMDE4L2RhdGEuMDA5CitjZjVmYjhjYmZlNzIzNTUyMWZkNzg3OGQ5NjRiYWRhZiAgLi9kaXItMDIyL2RhdGEuMDA0CitjZmJlMGY2OWIzNWJhYTkxMzNiNjM1NWNkMmJkNmQwOCAgLi9kaXItMDk0L2RhdGEuMDA4CitjZmMwMTc5OTMzMjU0OTUyMmE4MjMwNzcxNDdhZGZmMCAgLi9kaXItMDU2L2RhdGEuMDAzCitjZmRlNjRjMzYyODM1YTcyYzhjZWRmZTY0NzdiZGE1NiAgLi9kaXItMDc5L2RhdGEuMDA4CitjZmY2ZjI5YzE1MzYyOTFkNTQ0OThmYjUzOWM2NjgxZiAgLi9kaXItMDAyL2RhdGEuMDAyCitkMTE5MjIzZTBkYTA3ZjAwNTAxMmJmNmZlZjQxNWI1YyAgLi9kaXItMDgyL2RhdGEuMDA3CitkMTZkYmI0MGFkMDRjZmUwOTA0OGRmYTU2OTc3Y2EzYyAgLi9kaXItMDQ0L2RhdGEuMDEwCitkMWRiZmRkZjIwOWY2YTA3MGJjZjQ4MzUzYWJkYmQ4YiAgLi9kaXItMDQwL2RhdGEuMDAzCitkMWU1ODA2YmRjMDZhZTIyMzFiNmY5YjFhM2ZhMWYwYyAgLi9kaXItMDAxL2RhdGEuMDAxCitkMjIyOWM1YTYxYzBjY2Y3YjEzOTcxNDQ4NDIzMWE4NCAgLi9kaXItMDAxL2RhdGEuMDA5CitkMjQ0MjA0YjBlNjNkN2MzM2IyZGQzZTVkMjIzNzc0OCAgLi9kaXItMDM2L2RhdGEuMDA1CitkMjUzZDA5ZWJlNmRmOTZiODQ1NjViM2JmMjZlOGJiYyAgLi9kaXItMDMwL2RhdGEuMDAyCitkMjcwM2RmY2IyMjhhOTg4NWQ1OGViNmJmOGM0MzE4YSAgLi9kaXItMDg4L2RhdGEuMDAyCitkMjdjNzg3MTNmMjUyZTIzOTNlYTk0MmFiY2Y0YTRhYyAgLi9kaXItMDQ4L2RhdGEuMDA3CitkMmI2ZTFkYjdhYjg4MjMzMDE1ZTdkOGZhNWE2YmI4MSAgLi9kaXItMDIxL2RhdGEuMDA5CitkMmJlODE0ZDJhZTVmMzM3MjNjYzg3OTQ2MTQ0ODNmYiAgLi9kaXItMDA4L2RhdGEuMDA1CitkMmJmN2MyMzQ2NWI5NDU1YTNjYTI3YjUwY2MxMjNmZiAgLi9kaXItMDczL2RhdGEuMDAyCitkMmMxYjJiNmNhMTZmNGU0ZmY5NzUwOTI2YWVmYWNkNCAgLi9kaXItMDMwL2RhdGEuMDEwCitkMzQzNjJjMGI4NmE5MzRlODQ4NDc4MDY3NzYwYzg2MyAgLi9kaXItMDIxL2RhdGEuMDA4CitkMzQ3OTk5MzFlZWVmYTkxNDcyN2UwODIyYzY2N2ZjNSAgLi9kaXItMDMxL2RhdGEuMDA4CitkMzVhNjJlZjk5NTcwYzVlZjViYjYyOTFiYmIzNmNjOSAgLi9kaXItMTAxL2RhdGEuMDAzCitkMzlmZGJiZmNkMWUxNWZkYTE0Njk3NzIyNDEyNmY4YiAgLi9kaXItMDExL2RhdGEuMDA5CitkM2ViMGY0YmIzYjA0YjQxMjkwN2U0NTNjODJiYjg5ZiAgLi9kaXItMDM1L2RhdGEuMDA3CitkNDBmMGYzMzNmYzJmMDJhNDI2NmQzNjM4OTdmMzMzNCAgLi9kaXItMDQ1L2RhdGEuMDA5CitkNDRmZmY2ZGUyNDM4MmYxNGIwNDI2MTAxZTczNzM1NCAgLi9kaXItMTEwL2RhdGEuMDA4CitkNDYwNjg2ZDVmMzc0MDE3NDUyZmU2MmUzZjk1YjRkNCAgLi9kaXItMTA1L2RhdGEuMDA4CitkNDYxY2M4NGViMDNjYzZkYjc4ZTA3MjA2NDhkMTVlNCAgLi9kaXItMDYxL2RhdGEuMDAzCitkNDYzMzc5ZDE4MTEyNDFkYzU2YTRjY2M5YmY2OGRmYyAgLi9kaXItMDc2L2RhdGEuMDA1CitkNDZjOGM3YjdjMGI1NGViZDA0NmM2MjA5ZDFmOGFmYSAgLi9kaXItMDU0L2RhdGEuMDAxCitkNGQwZmFlMzU0YWY2Y2RjYzMyMDJjOWFhOGZmMmU5YSAgLi9kaXItMDE5L2RhdGEuMDAyCitkNGYzMDQwY2FiYjVmYmNlODU1MjhlMjVmMjBjZGVhYiAgLi9kaXItMDYxL2RhdGEuMDA4CitkNTFiZTZjODI0ZDA1M2Q0ZTc1NzIwZDZjOGY1MTVmZiAgLi9kaXItMDAxL2RhdGEuMDAyCitkNTQwZWY3OGFjODI5NTU2Zjk5MzNkZDY1NzlkYjdhZSAgLi9kaXItMDkxL2RhdGEuMDAzCitkNTRmMTg4MjQwYmE4M2RmMDkzMmRmZmJiMzYwMDdmYiAgLi9kaXItMDIxL2RhdGEuMDA3CitkNWI1MmM3YzA1NGEyN2JhMzQyYmM3ZTUzYmZlMTMxZSAgLi9kaXItMDgxL2RhdGEuMDA5CitkNWM3Y2Q4MzVmZjE5Y2I3YzcwZTE3ZDMxMzQyNjNiZiAgLi9kaXItMDc0L2RhdGEuMDA2CitkNWZiMzIwNGQ3MGQ5MDZhNzRiNzYwOTk5ZTViMjY2YyAgLi9kaXItMDQyL2RhdGEuMDAzCitkNjc0OTNlZmM3ZjEwOTEwZGFhYjE0MDE2NTQ2YTQ3YiAgLi9kaXItMDU5L2RhdGEuMDAwCitkNjhlZDE1NTNkMjY2MGY1MDk2MTJkOGRkZDhiY2Q2MiAgLi9kaXItMDU2L2RhdGEuMDA0CitkNmYwOTdjODNlNjI4NzdiOTg5NTFiZWFkMDI4MmRmZiAgLi9kaXItMDQwL2RhdGEuMDA1CitkNmZmYzUxM2NlZDdiMGMxMDA1ZGQxMWYxMDkyNGI4OCAgLi9kaXItMDU1L2RhdGEuMDA4CitkN2E2OTMxOTI3MmMyNmIyNDYzMWNjMGFiYjE1MjFlYiAgLi9kaXItMDUzL2RhdGEuMDA1CitkN2MyNDQ3Yzc5ZjU4NGM1YTRiMmVjNTI1YzU4NjEyOSAgLi9kaXItMDMxL2RhdGEuMDAyCitkN2U1NTIwNTdiNDIwZGFiZjAyMmFhNmI4MjY3OTQ2YSAgLi9kaXItMDMwL2RhdGEuMDA2CitkODcyNjBiZDdiZjRhYTZlYzU1NmQ3N2JmOTU4YTM2ZCAgLi9kaXItMDYwL2RhdGEuMDAxCitkODdmNTNmYTBmYWQ5YWY4MjE4YTI3ZmExYjY5YzA3MCAgLi9kaXItMDgwL2RhdGEuMDAyCitkOGYzNzlkZjFmZWJlNzdjODY5OTAwMTc3NDVlZGViYyAgLi9kaXItMDM0L2RhdGEuMDA1CitkOTQ1ZDVhMDcwYjk5NTE2MjI5M2YxYzc3ZmYxNTUyNyAgLi9kaXItMDE4L2RhdGEuMDEwCitkOWVkNDllOTlmNjM1ODFjY2FmZTkxNWI3NmYzZjk2ZCAgLi9kaXItMTAyL2RhdGEuMDA2CitkOWZjYTM5MjJmYTBlMDFmZDUyN2Y4ZGI2OTU4OTQyNSAgLi9kaXItMDg4L2RhdGEuMDAxCitkYTA5ZGZlNGNiOWJkMDZjMzc0NzMyNTRlODU3MTM5YyAgLi9kaXItMDc2L2RhdGEuMDAzCitkYTE4YzkzNTFiY2ViN2YzNDI3MThkNTBmYjA2MjU0NCAgLi9kaXItMDA2L2RhdGEuMDAzCitkYTI0N2ZjNmM5ZTFmODQwZDdlZjU4ZTg2YmJlZDIyMCAgLi9kaXItMDE5L2RhdGEuMDAwCitkYTJlNGZkODVhNDliYTZiMGM3NjU5YzdhYmY5OWFkMSAgLi9kaXItMDg5L2RhdGEuMDA1CitkYTU3YmI0NDExNjBlNjU1NWIzMGM3NTkxNTI4OGJmNSAgLi9kaXItMDk5L2RhdGEuMDA0CitkYTkyMTg0NTNkNGM5OTY3MmU3MDJmMGZkN2I5YzBjMCAgLi9kaXItMDE0L2RhdGEuMDA0CitkYWIyYmVjNzc1MTQwZTYyMDNkYWE2ZWMxMjJmMDQ5ZSAgLi9kaXItMDcxL2RhdGEuMDAzCitkYWI5OWQzZDlkZmM5ZDVjOWYwZDUyNTcxNjE1MzU2MiAgLi9kaXItMDc1L2RhdGEuMDAzCitkYWRjNmM0MWY0MWIzZmYyODcwNmRmNjc1ZWFhOTZiNSAgLi9kaXItMDA0L2RhdGEuMDAwCitkYWZmMmQ2YWYwOTcxOGU0ODI1YjIyYjk4ZjAwYjdlOSAgLi9kaXItMDAzL2RhdGEuMDAyCitkYWZmNjNlOWQxYWUzNzM0ZDA2OWQwZGMwMzA1YmU3MiAgLi9kaXItMTA5L2RhdGEuMDA2CitkYjIxMGI4OWIxMDA0ZjAzMWVhZGQ4NDdlNWEwNjQ1YiAgLi9kaXItMDQzL2RhdGEuMDA4CitkYjJiMDE1ODM4OGVlMjUxOTcwYzY0NTRjOGNkOWE5NyAgLi9kaXItMDgzL2RhdGEuMDAyCitkYjQ5YTEzYmQ3ZTIzMjAyMTBkZjNhMDA2ZjdlOWY2ZiAgLi9kaXItMDQzL2RhdGEuMDAwCitkYmRiYTk2MDdmMmQ3NzdlMTBkZGM2N2Y1MDk1MGUyZSAgLi9kaXItMDU3L2RhdGEuMDA1CitkYzA5ZThhNDFkYjIxNGQyNDgxNDhlZmJmOTYwNWY5NSAgLi9kaXItMDgxL2RhdGEuMDA0CitkYzBhNzAwNzY3NTA0MWIzMDMxN2FmYWY0NGVlNzA4ZSAgLi9kaXItMDY0L2RhdGEuMDAxCitkYzE1M2FlNzE0NTMyZTJkMzRmMWI3ZWEwNDRiNmZmOSAgLi9kaXItMDk2L2RhdGEuMDA4CitkYzFmNGRhNzg1NzMzYmJiMjg5N2Q5NGNlNzhiYzdiZiAgLi9kaXItMDcxL2RhdGEuMDA0CitkYzJmMjJkYWUzYTNkMzRhMTg5Mjk1MDZjZmM2ZjI3NyAgLi9kaXItMDI5L2RhdGEuMDAzCitkYzQwZjlhNTdkZmFjZDIxZDYwMjIxODg5OGFiOTNlNyAgLi9kaXItMDU4L2RhdGEuMDA0CitkYzk4NzU4YzZhOWIzOWE2YTNkZWFlMjk4ZDU3OWM0ZSAgLi9kaXItMDQyL2RhdGEuMDA5CitkY2NkNTYyYTRhOTg2NTNhM2ZlOTZkNzc3NDFkZGJlYiAgLi9kaXItMTA0L2RhdGEuMDAwCitkY2U3ZTdjMjNiNWNiYTViOTZiMTFkNTMwMGUwMGFmZSAgLi9kaXItMDU2L2RhdGEuMDEwCitkZDAwNjA1MmEyODU1MmZhMDY5YWJmNTA0MzQ2MjU3MCAgLi9kaXItMDQ5L2RhdGEuMDA5CitkZDA3OWJkMDUwZGQ3YjgzZmY2YThlMmZiNTc3M2VkNCAgLi9kaXItMDQ5L2RhdGEuMDEwCitkZDg5OGE2YWI4NzM5YzBjZjE2ZGQ3MjAzNGJjNzY2OCAgLi9kaXItMDQ2L2RhdGEuMDA3CitkZDhjMjMzYjk5MmRhNmJhYmJjYmM5Y2U3ODc5MDUxYiAgLi9kaXItMDk3L2RhdGEuMDA3CitkZDk4MTMwNDg5N2JjMzMwZjY5MGQyMDQwYWExZTUzZiAgLi9kaXItMDQ3L2RhdGEuMDA5CitkZGNkN2VhMTNjYWU1NzQ5ODA4OGMxOTk0NjE5YjNiZSAgLi9kaXItMDIwL2RhdGEuMDAxCitkZTdmZTI3NGU3NzBiNGRhYmRlYjg2N2ZhOTJhMTJiYyAgLi9kaXItMTA5L2RhdGEuMDAyCitkZThhNzBlZWUzZTUwOGE3MjNkM2I1ZDJhOTkwMTMxNiAgLi9kaXItMDU1L2RhdGEuMDA0CitkZWI5NjBiMTI2ODcwNWE0NzJlM2I0NjE4MWNjZWJmZSAgLi9kaXItMDQyL2RhdGEuMDEwCitkZWJmMDgxYjY4MjRmMDdjNWY2YzIyZGI2YmMxNTJhNiAgLi9kaXItMDg2L2RhdGEuMDAyCitlMDAzYWFlY2I3N2RmOTFmMDQ5OTBjZDQ1ZWZmMmRiYyAgLi9kaXItMDE4L2RhdGEuMDA2CitlMDU5NmNlMWY4MzMxOTcwNTJiZjcyZmE0ZTQ1ZWMyOCAgLi9kaXItMDc0L2RhdGEuMDAzCitlMDZlNDVlMzY5ZGMyZmE5OGIxOGMzNTI2OGVmODFjNyAgLi9kaXItMDM3L2RhdGEuMDEwCitlMGMyZjJkMzc1YjNmYThjMGM0N2EwMjliYjE4Y2MzOSAgLi9kaXItMDA5L2RhdGEuMDAwCitlMGQ0ODI0N2ZjZmFhODM5MzA1NTVlZGY4YTY2NDdkZiAgLi9kaXItMDQxL2RhdGEuMDA0CitlMGZlMTYzMDNkOTllYzIxZTZkZDEzYWMyN2QyYjVmYSAgLi9kaXItMDgzL2RhdGEuMDA0CitlMTMwMDc1NDBiZmQwYmNjZGNlZGEyZjgyNGFlMzIzNiAgLi9kaXItMDkyL2RhdGEuMDEwCitlMTMxYTgzZDdiNzA2MTA0YjgwMGJjYmE3ZTg5YTlmMCAgLi9kaXItMDA5L2RhdGEuMDA4CitlMTY5NzkwMWZiNDRlYmNjZjQzOGZiMDU2YzFjYmIwMyAgLi9kaXItMDA3L2RhdGEuMDAzCitlMWJlMTVjYWQ5MGI2NTExNGFmZjgwZTBmOTIyZTk4OCAgLi9kaXItMDM0L2RhdGEuMDA4CitlMmUzNDAyN2FmZDQzMWFmMmI1ZWYwYmM4MTVhMTYyMyAgLi9kaXItMTAwL2RhdGEuMDAyCitlMzIxNzRkZTY0ZDg3MWI0N2IzOGFiODc0YWE1MGEzOSAgLi9kaXItMTAyL2RhdGEuMDA5CitlMzNkY2M4ZDdmZmQxZTBmY2NmYjcxYzY3MTVmNmU1NiAgLi9kaXItMDQ5L2RhdGEuMDA3CitlMzgyYTQ1ZGYzMDI0YWQ5NzU2M2Y5YzEzYTE5NTE4MSAgLi9kaXItMTA1L2RhdGEuMDA1CitlM2ExMDQxOTBkMWM0NjFmZmRhYzQ2MmQ2NmRlZTdhZCAgLi9kaXItMDkwL2RhdGEuMDEwCitlNDVjNjc1MmFiMDY3NjAyYTdlOWE3MWI5ZjkxMDVlMyAgLi9kaXItMDQ1L2RhdGEuMDAzCitlNDkyZDQ2ODM2NDg3MjE4N2Q1MDAyMWFhNDkwYzM2NyAgLi9kaXItMDkyL2RhdGEuMDA3CitlNDlmZjViOTBlN2U3NzA0ZDVjODI5YzQxYTg1OWM4NiAgLi9kaXItMDQ3L2RhdGEuMDAxCitlNGEwNzU2ZTNlOTJhYzZiMjY2YzRiMjZkZDQzZDI3ZSAgLi9kaXItMDY0L2RhdGEuMDA4CitlNGEwZGJiOGVkMDAyMDhlOWE0ZDI5M2QxYzI1OTk4OSAgLi9kaXItMTA1L2RhdGEuMDAwCitlNGU1ZTViMjY0MmQzMjJlMWI5NTM5YmIwMjFlMTIyOCAgLi9kaXItMDY0L2RhdGEuMDA5CitlNGU5NDQ3Y2RkM2VlNmY0YTc1M2E5ZmEzYmMxODIzZiAgLi9kaXItMDM3L2RhdGEuMDA0CitlNWMyMWEyNjE0Nzc1ZWJiNzk4NzUyZTRkYmJhN2Y1MiAgLi9kaXItMTA3L2RhdGEuMDAxCitlNWQ4N2QyNWI4ZmRjZTZkNmYzMGI1MjIzMDc2MTg4NCAgLi9kaXItMDcwL2RhdGEuMDA5CitlNWYyNzgzODk2YTg5YmFlZWYwYzVmNjhkMGY0NzM4MiAgLi9kaXItMTEwL2RhdGEuMDA3CitlNmI3NTI4NGNjNmJlNWI4MGM1N2RjNjEzMzczZWVjNSAgLi9kaXItMDg2L2RhdGEuMDAwCitlNmVlY2Y4YTcyN2Y0ZWU2ODUyZTJmNjJmYjk0MWI3MCAgLi9kaXItMDM5L2RhdGEuMDAyCitlNzA2OGY1OTE4YjRjZTUyMzQ0ODA4ZjY4YWQwYTA4NSAgLi9kaXItMDAyL2RhdGEuMDA0CitlNzZkMTU2YzgxODI5ZTg0ZmU2Njg4MjY2ZmI1MmUzNyAgLi9kaXItMDQ4L2RhdGEuMDA0CitlNzc2MTI2YzM4ZjA3NWQ0ZDJkM2VhNWU4MWUzNmUyOCAgLi9kaXItMDk0L2RhdGEuMDA1CitlNzgzY2IwNTYyYTU5MTc5M2Y4MTdhNjU5ZTcwODQ3MCAgLi9kaXItMDcwL2RhdGEuMDAzCitlN2JkOTA2ZmNlNjJiMTE2ZjkwODhiNTg3MzdiMzJjOSAgLi9kaXItMDkxL2RhdGEuMDA2CitlN2M3MTBmZTk0NzU0ZjkwZmI2NGY5ZTdlODkzNTFmYyAgLi9kaXItMDY5L2RhdGEuMDEwCitlODFlZmYyOWI3NzI5NjU2Y2YyZTA2ZWM0YTYwNDE4NSAgLi9kaXItMDQ4L2RhdGEuMDEwCitlODI2MjcwNjdjNWMxNTk3MDU4MGFjZjU5MzliZTIxNiAgLi9kaXItMDMwL2RhdGEuMDAwCitlODQ1NTM3YzE5NzdmNjYwMDRjMDc5YmViOWFmNWQ3NCAgLi9kaXItMDY3L2RhdGEuMDAyCitlODY0OWEzYzY2MDBlMzYyNGY2ZjJjMWFiMzZiZDVmYyAgLi9kaXItMDM2L2RhdGEuMDA5CitlODgyODkzMDBiMmYyZGJjY2E0YzY5Yjk2YWJiMzFlMyAgLi9kaXItMDYwL2RhdGEuMDA2CitlOTJmN2YxYjBhMDdhYzYwYjA1Nzg2ZDU3MjU5NjdhZSAgLi9kaXItMDA1L2RhdGEuMDAzCitlOWQ2MTg4NWUwYmJlMTM0MWE3Nzg5ZWNiYTEyN2FiMyAgLi9kaXItMDIwL2RhdGEuMDAzCitlOWQ5ZmIxMjVkYTZmNzI5NmMwZWU2OTIzNWZkYzU1ZCAgLi9kaXItMDQwL2RhdGEuMDA2CitlOWViZGNjN2ZjNWNlM2VjNDBlYzJjMjJiNTZhMGM1ZSAgLi9kaXItMDU3L2RhdGEuMDAzCitlOWVlZWFjY2Q3YzI2MGY2MTAyMjZkMTk5ZGNjMTEzMyAgLi9kaXItMDAxL2RhdGEuMDAzCitlOWZlMmRkNDM3YzcxMTgwNTU4YzAwNjY0ZDk2OTM2ZSAgLi9kaXItMDU3L2RhdGEuMDAwCitlYTJkMjBiNTk0ODI3OGY1NWY4NzAwYmI3Y2ZiNTI1ZSAgLi9kaXItMDk0L2RhdGEuMDAwCitlYTNhNDBhNmVkN2M1YzdiYWRjZGRjODI5MjQwNDUxZiAgLi9kaXItMDAwL2RhdGEuMDA4CitlYTYwYjg5ODQ2ZmZlOTA5OGYzNzYxMDBhMTVmZDYyMyAgLi9kaXItMDE5L2RhdGEuMDA2CitlYWIwZGY3ZTM1NGJkZDIwMzI0ZmY3NWFhMzU0YzY3ZSAgLi9kaXItMDM2L2RhdGEuMDEwCitlYWM0YWQ5ZTY3ODk3MDI3MjlmMTRkNDgwMjU0ZGYxMyAgLi9kaXItMDc4L2RhdGEuMDA2CitlYWU3NTFiMmY1ODkwYThhMmU2Njg0MjUwMDg3NTQ4OSAgLi9kaXItMDY0L2RhdGEuMDA3CitlYjIxM2RlZjg1ODJiZjljMzkxMDMyYWI4MTAyMjRhNCAgLi9kaXItMDMwL2RhdGEuMDA0CitlYjIyMzlkYzFjMzI4NGE3NDNlYzI0ODBiNjZhNDQwYSAgLi9kaXItMDk1L2RhdGEuMDA1CitlYjM5MzM1NDc0YTVmMTE0NDk2ZTQ1ODU1ZDY1OTY1YiAgLi9kaXItMDMwL2RhdGEuMDA5CitlYjQ5YzY1MmEzYTliNjdmNDhiZWQ1ZjQ1M2M1MTNmYiAgLi9kaXItMDkxL2RhdGEuMDA1CitlYjhhYjhhZGYxZmQ4ZTJlODFlY2VhYTJlNDA1YmVjZiAgLi9kaXItMDE1L2RhdGEuMDAxCitlYzExMWJkZDk1NjI5MDJlZDA0N2NkZGM0ZTI5MWUwZiAgLi9kaXItMDExL2RhdGEuMDAyCitlZDY3MzgxOTg4NzdiYTY3MjE3NGEyM2IzOWFhZjBjYSAgLi9kaXItMDUwL2RhdGEuMDA4CitlZDg3YzQ0MjU3ZTQ0YmFhMDQ4Njc4NDQ4OWZlMWViNyAgLi9kaXItMDkzL2RhdGEuMDAzCitlZGFlMmY5NzdlODg4NWFhYmNhZmVhMTQwZTRlYTQ0NSAgLi9kaXItMTAzL2RhdGEuMDAyCitlZTAzYzNjNWM4MGM1NDNiZjUyMDI5MzgxNDU1ZTBkYSAgLi9kaXItMDkzL2RhdGEuMDEwCitlZTkwZDhkOGE2N2M1ZjA2ZGU5YTM1YTUwNWJkNGQ4MiAgLi9kaXItMDA1L2RhdGEuMDEwCitlZTk4YWNjNGJhN2Y1OTRhNDliODYzNjRlZGNmNDMxMiAgLi9kaXItMDQ3L2RhdGEuMDA2CitlZjQ1YTAxMzU1MTU3ZDVjNGE4YWM5NzgzZDMwYjAwMCAgLi9kaXItMDk5L2RhdGEuMDEwCitlZmU2ZGFiNjllYjM1MDM4ODZiNjIzYWIyNGFlMzJlMCAgLi9kaXItMDMzL2RhdGEuMDA2CitmMDIzMGM1M2RiOGZiOWZmMWE2NmVlYzEyYjI4ZDNjMCAgLi9kaXItMDI5L2RhdGEuMDEwCitmMDM4YTIwMmNjZTU3OWUyOWVkNzVlZjJmOGVjOTIwNSAgLi9kaXItMDc3L2RhdGEuMDA5CitmMDY3ZWYzMzlkYmZhMzczODQyZDZiZWI1ZDRjNTgzOSAgLi9kaXItMDA2L2RhdGEuMDAwCitmMDZhZjM4ODdhNjYyY2FlZDIyMGU5ZmU5OGMxMmY2ZiAgLi9kaXItMDA3L2RhdGEuMDA4CitmMDkzMTFlMzBiNTVmMzE5OWQ2YjU4OTFjZjcxN2JiNSAgLi9kaXItMDgwL2RhdGEuMDA0CitmMGI2OWQyMTg0NzUzZTUzNDE2ODFkZGY5YmMwZGYzMiAgLi9kaXItMDM3L2RhdGEuMDA4CitmMGRiM2Y3MGEzN2Y2NjBjZTMxYmZlMDYwMGI4MGI0OSAgLi9kaXItMDg3L2RhdGEuMDAyCitmMTI3YmVhZDUyMWMwZGE2MmY0YTYwN2ViZDY2MjdiNiAgLi9kaXItMDU3L2RhdGEuMDA2CitmMThiYTViMDJiYmYwM2FiZTEyZmNhNjU1NjRkY2I5NSAgLi9kaXItMTA4L2RhdGEuMDA4CitmMWJmMDQ2NjQzNTBhZmI0Y2U1YTVmMGRkMjQ1ZDJjNSAgLi9kaXItMDM4L2RhdGEuMDAxCitmMWQzNjdkZWE3YmI5OGE5YmRkZDRmNWNjN2E5Nzk4ZSAgLi9kaXItMDY1L2RhdGEuMDA0CitmMWU2NDZmNDZjMzY0NDljMzQxMmFlZDRjYjE2NDk2OCAgLi9kaXItMTEwL2RhdGEuMDA2CitmMjE0Y2E0ODgyMjFjODA0YTU1NTdhOWI4MDlhZmQ2NSAgLi9kaXItMDQ1L2RhdGEuMDA3CitmMjM3ZDA1OTg1ODlhNTQyODE1ZmJmNWVmNTk3NTFjYyAgLi9kaXItMDU0L2RhdGEuMDEwCitmMjU3N2FhODI3OTFlY2JmMjdiOTA4NWEyMmMyM2ZmOSAgLi9kaXItMDU5L2RhdGEuMDAyCitmMjYxNmIyZWEwYjNjZTg1NjVlNTY4YzBlZDhlZmFjYyAgLi9kaXItMDc5L2RhdGEuMDA5CitmMmNjNDQzMzYyYjE1NmEyMjI4ZjRhNjlmZTQxMDJiZiAgLi9kaXItMDg0L2RhdGEuMDAzCitmMmRmM2I1YmJjYjIyNWRmODk1Y2RhYzM4NDE0NWQ4NCAgLi9kaXItMDIwL2RhdGEuMDAwCitmMzI5NzM2Y2FmNGNlN2Q4MDIxM2RlZmExMWYzYzY1YSAgLi9kaXItMDI1L2RhdGEuMDAzCitmMzRmZDRmZjY3OGIyMThlODc4MDcyNGQzYmQyYTQyMCAgLi9kaXItMDI5L2RhdGEuMDA0CitmMzkyNDNiZWJlMWJiYzcxZTg1ZGUyYjNkOGQ3MTIyYSAgLi9kaXItMTA3L2RhdGEuMDAzCitmNDliMDUzNTEzOTc0ZDU5M2RjYzJjNDYxYzk2ZTJhMCAgLi9kaXItMDI4L2RhdGEuMDEwCitmNGMwZDIwZmVjYzA0ZGJmN2EyMDRlMTA1ZjgzNjg5MyAgLi9kaXItMTAxL2RhdGEuMDA1CitmNGNmYjBiZWNlZDkwZTJhZGY5NmQzZjJmYTJiYTQ2NSAgLi9kaXItMDM0L2RhdGEuMDA3CitmNGQ3NDVjMzg1ZjAzN2FhZmVmMDgzMTBmYjE5NGEyYyAgLi9kaXItMDY2L2RhdGEuMDA0CitmNTA4NGFlOWRlZDk4MzNlZThjNjMyODFmNWVkMTY0MSAgLi9kaXItMDU4L2RhdGEuMDAyCitmNTE5ZGQyZmNmYzMwNDcxMDFmYWY5MGJjZjE4NjU0ZCAgLi9kaXItMDQ5L2RhdGEuMDA1CitmNTI1ODMwMmY2YWI4YTM4YTdiNmIwNWIxMGQzNTA5NyAgLi9kaXItMDU1L2RhdGEuMDA5CitmNTMyM2Q0ZDkxNWQ2N2Y5ZDc3N2Q1MjM3NGNkMjdjMCAgLi9kaXItMDE2L2RhdGEuMDA3CitmNWU3NzM4YTlmMmMzZDAyOTI5ZDAwOTcyNDMzNjAyMyAgLi9kaXItMDY3L2RhdGEuMDA1CitmNjJkMGMzYjc5OWIyNTczMGZiNmE0M2QwMDE0ZjIyMCAgLi9kaXItMDIyL2RhdGEuMDEwCitmNmFiZmRiNjNmYjRjOTgxODE0NzA0ZmVkZDRiMThkMCAgLi9kaXItMDU4L2RhdGEuMDEwCitmNmY3ZDQyODc5ZGI3NjIxYWQyMDlkNDViZDlkNmEwYSAgLi9kaXItMDEzL2RhdGEuMDA1CitmNzBmYTg1NmFhMTc0MGI3ZWQ4MjRhNTQzOTY2NWIwZiAgLi9kaXItMDYyL2RhdGEuMDEwCitmNzJkZjAxZjhmMjkwYmM2ZTA1Zjk3MmRiN2EwMWY5MCAgLi9kaXItMDQ4L2RhdGEuMDAyCitmNzNhMTgzZWFiM2ZmZTQwNzAyNzdiOWU3ZjIzZGE1NiAgLi9kaXItMDM3L2RhdGEuMDAyCitmN2Y3YjJmMWIxMzZhMDFkOGE5YjNmMWY2YzNmOWU4OCAgLi9kaXItMDI1L2RhdGEuMDA4CitmODFjMDg4YzcwMWE4OGQ5YjM5NmUzMGY5ODc3NjA2NCAgLi9kaXItMDMzL2RhdGEuMDEwCitmODk3ZTc3MzVlZjE4MDhhNWE3YmY2MTI5Y2YwZTBjOSAgLi9kaXItMDkyL2RhdGEuMDA1CitmOGE2OTY3MTdiYjVhNWFkZWNmMDBkZGQwOTdkOGQwYyAgLi9kaXItMDkxL2RhdGEuMDA3CitmOGUyMTg2ZjA0ZDRjYjY4MDFhY2MyYzBhNjhkODEwYSAgLi9kaXItMDQ5L2RhdGEuMDAxCitmOGY3NzQ5OTdjOTM4OGJiN2E2ZDU5M2U2MjI0ZTk5OCAgLi9kaXItMTA0L2RhdGEuMDA3CitmOTBlNTRjMDhiZTExZTRhYWNkZjNjMDJkZmY4ZWUxYiAgLi9kaXItMDgzL2RhdGEuMDAzCitmOTExMWJiOTkzMGQ4MGNlYTdiN2RiNjRmMDkyZDU5NyAgLi9kaXItMDY4L2RhdGEuMDA4CitmOTY5ZGU0NjJkZDFiNThhNjRiYzc1YWRiZTczMDE2ZCAgLi9kaXItMDQ1L2RhdGEuMDAxCitmOTg0Zjg1YTc3ZDU3YzZiZDNiMzY2NzcxZmQ5OGVhNCAgLi9kaXItMDYzL2RhdGEuMDA1CitmOWE0Njg1MDhmZDdlNmRiNWE3N2UzMTAxZGFmMjJiMyAgLi9kaXItMTAwL2RhdGEuMDA4CitmOWM4ZTZjM2EwYzRhOTM4Y2ViMDMzZjE1MWU1NDFlYSAgLi9kaXItMDc3L2RhdGEuMDAzCitmOWY5MDk5ODJlYTMzZTc3NmI5ODVlZTVhY2E1Mzc4YSAgLi9kaXItMDUyL2RhdGEuMDA1CitmYTQxMWYxZjlmNTU5YjRlZTNkZDEwOWMyZTU5YjEwNiAgLi9kaXItMDgxL2RhdGEuMDA2CitmYWEyYmJmODIwZjc4YjM5NDU0YzRmZWViZTA4YTNjNSAgLi9kaXItMDA0L2RhdGEuMDAxCitmYWI0ZmVmZDJkOGViNzdjNGYzNmM4OTk1OWFlNzk4MCAgLi9kaXItMDczL2RhdGEuMDAzCitmYjIzODhkMDNjMjcyM2YxNTcyOGJkYTljMWRjMjc2MiAgLi9kaXItMDI0L2RhdGEuMDA2CitmYjUyNGUzYmI3NThmMzJlN2QzNGU1MzhhNWU0MDU2MCAgLi9kaXItMDE5L2RhdGEuMDEwCitmYjUzOWZiMDgxZjRhOTVhYzViNWI1ZTExMzQzZTJiNyAgLi9kaXItMDUyL2RhdGEuMDA4CitmYjdkZDQ4ZjM1YzEyODIxMmI3ODU1MWNjZWRhMjQ0YyAgLi9kaXItMDM4L2RhdGEuMDA1CitmYjhhYTE2YWNiOWY3MjkyMzg0ZTI2NTU4NWY0ZGQzNyAgLi9kaXItMDU1L2RhdGEuMDAzCitmYmQxZGI0ZGE4N2MxZWQ4MDgyZDljZjk0ZmM0MjRhYSAgLi9kaXItMDI3L2RhdGEuMDAzCitmYzA0ZTg0YmI2YzY0MGY4OTA4NTRmYzU3NzViOWQ4YSAgLi9kaXItMDM0L2RhdGEuMDA0CitmYzIxYTA0Mzk5MGQwMzcwMzAwM2E1MDZiMDY2MjgyMSAgLi9kaXItMDA1L2RhdGEuMDAwCitmYzJhNDVmMTBlNTJlMTg5MThkMjVkNjQwZjc1MTQ1NyAgLi9kaXItMDk5L2RhdGEuMDA3CitmYzJlNDc2YTZkMWI3Y2U3MWI1MWJkNDM4MTY4OTFhMyAgLi9kaXItMDk2L2RhdGEuMDA3CitmYzMwNDYxNmYyNDMyMmUyNmE0NjY2YzBlNzE4MWU3ZSAgLi9kaXItMDA2L2RhdGEuMDAyCitmYzkwNmQxM2RmNTZkZmM1NTgwYWY4MjNjYTFhZjYxMCAgLi9kaXItMDc3L2RhdGEuMDA2CitmYzk3YjA2NmMwYWY4ZjJmYTQwZjJiYzkxY2FlM2I1NiAgLi9kaXItMDYzL2RhdGEuMDA5CitmYzliZDU4ZjhmMTI2YTg0MDY5ODczNjBiNjRhOTFmZSAgLi9kaXItMDA0L2RhdGEuMDA4CitmY2JhZjMwMTAwMDUwY2MxYmI5OTBlOThkMzA2MDViOSAgLi9kaXItMDA2L2RhdGEuMDEwCitmY2Q3YTZiNzkyNDI2MGI5OTdhZTYwM2VhZGZhZTU5ZiAgLi9kaXItMDkwL2RhdGEuMDAwCitmZDFkZWNiMzE0ODM1Y2JiOTVkNGFhNmU3YmRmMzM1OSAgLi9kaXItMDc1L2RhdGEuMDAwCitmZDM4ZDBkZGQ2MDQyOWIzYzcwNzE4NjdhOGZjZmJjMCAgLi9kaXItMDQ3L2RhdGEuMDA4CitmZDNlNGM0ODdjYWUxYzY4ZjA1ZWEyZGM4MWNiYTc0YyAgLi9kaXItMDU1L2RhdGEuMDA3CitmZDYzMDA0YWU4ODZjZThlNTIwNzU2YzZlZmYwNDgzNSAgLi9kaXItMDA5L2RhdGEuMDAzCitmZTA4NmI3OWEyYzI5ZjEzNDM3YzEzNDZhOGNiNTNmNCAgLi9kaXItMDA5L2RhdGEuMDA1CitmZTM1MDVkZjE2NDJlOWQzMDYyNjllMmUwN2FiMTA4OSAgLi9kaXItMDY0L2RhdGEuMDAwCitmZTRmMzEwYjc3NmUzMDk1MDNmNTIzYjhhMjZkM2JhOCAgLi9kaXItMDg1L2RhdGEuMDEwCitmZTY4ZWM2NjA3YzE1ZjBjZWFiYWRhMTAxYjM4MmIwZSAgLi9kaXItMDY5L2RhdGEuMDA0CitmZTc3NTFhNTQ4NzE3MjMwM2RlNjQ4NjcyNjAyYzI4YSAgLi9kaXItMDc2L2RhdGEuMDAyCitmZWI4YjY5ZTYyMjRhN2VhNzJlODgxZTNmNGE0NWIzMiAgLi9kaXItMDI4L2RhdGEuMDA5CitmZWQ1NDBhMTFmMDBmMWY4MDQ3MGJlN2I0OTFmYzQ1YyAgLi9kaXItMTA4L2RhdGEuMDAyCitmZWQ1ZTAwZGM5NGVkNzUxMDYxMTk0ZWNjZjJjNzdlMiAgLi9kaXItMDUwL2RhdGEuMDA3CitmZjEwYzdiMzdkNzA1YmM0OGExZmRlZTYyZWE3NjYxZiAgLi9kaXItMDc5L2RhdGEuMDA2CitmZjEzZDQ5MzI2ZmY4NzU5MTE5ZTc4OTU5ZGU2MjhlOSAgLi9kaXItMDQ4L2RhdGEuMDAzCitmZjIxNmYwZjJlNTQwZTkwNTc4NzRiMGNiNGZkY2RiMSAgLi9kaXItMTAwL2RhdGEuMDA3CitmZjkyYmYwNDYzNGUyNmEyOTgwZmZiNmFkNDdmOWMwNSAgLi9kaXItMDI2L2RhdGEuMDA2CitmZmUwNzhkZTM1ODMwMjVjNDc4MGM4ZjQzMDU3NzJjMyAgLi9kaXItMDg1L2RhdGEuMDA0CitmZmY2MDE1YzNiOGY3OTFmNDAyNzc5MWFjMGI1ZjU5MyAgLi9kaXItMDYzL2RhdGEuMDA0CisKK3Vtb3VudCB0aGUgaW1hZ2UKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2NyYW1mcy9ta2ZzLWVuZGlhbm5lc3MgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvbWtmcy1lbmRpYW5uZXNzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjljZjM5NGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9jcmFtZnMvbWtmcy1lbmRpYW5uZXNzCkBAIC0wLDAgKzEsODAgQEAKK2NyZWF0ZSBsaXR0bGUgZW5kaWFuCiswMDAwMDAwMCAgNDUgM2QgY2QgMjggMDAgMTAgMDAgMDAgIDAzIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8RT0uKC4uLi4uLi4uLi4uLnwKKzAwMDAwMDEwICA0MyA2ZiA2ZCA3MCA3MiA2NSA3MyA3MyAgNjUgNjQgMjAgNTIgNGYgNGQgNDYgNTMgIHxDb21wcmVzc2VkIFJPTUZTfAorMDAwMDAwMjAgIDliIGQzIDM5IGNhIDAwIDAwIDAwIDAwICAwNSAwMCAwMCAwMCAwNSAwMCAwMCAwMCAgfC4uOS4uLi4uLi4uLi4uLi58CiswMDAwMDAzMCAgNDMgNmYgNmQgNzAgNzIgNjUgNzMgNzMgIDY1IDY0IDAwIDAwIDAwIDAwIDAwIDAwICB8Q29tcHJlc3NlZC4uLi4uLnwKKzAwMDAwMDQwICBlZCA0MSAwMCAwMCAxMCAwMCAwMCAwMCAgYzAgMDQgMDAgMDAgZWQgNDEgMDAgMDAgIHwuQS4uLi4uLi4uLi4uQS4ufAorMDAwMDAwNTAgIDEwIDAwIDAwIDAwIGMxIDA1IDAwIDAwICA2NCA2OSA3MiA0MSBlZCA0MSAwMCAwMCAgfC4uLi4uLi4uZGlyQS5BLi58CiswMDAwMDA2MCAgMjAgMDAgMDAgMDAgYzEgMDYgMDAgMDAgIDY0IDY5IDcyIDQyIGE0IDgxIDAwIDAwICB8IC4uLi4uLi5kaXJCLi4uLnwKKzAwMDAwMDcwICAwMCAwMiAwMCAwMCBjMSAwOCAwMCAwMCAgNjEgMDAgMDAgMDAgYTQgODEgMDAgMDAgIHwuLi4uLi4uLmEuLi4uLi4ufAorMDAwMDAwODAgIDAwIDNjIDAwIDAwIGMxIDBjIDAwIDAwICA2MiAwMCAwMCAwMCBjYiAwMCAwMCAwMCAgfC48Li4uLi4uYi4uLi4uLi58CiswMDAwMDA5MCAgNzggOWMgMGIgNDkgMmQgMmUgYzkgY2MgIDRiIDU3IDQ4IDJlIDRhIGNjIDRkIDJiICB8eC4uSS0uLi5LV0guSi5NK3wKKzAwMDAwMGEwICA1NiAzMCAzNCAzMiAzNiAzMSAzNSAzMyAgYjcgYjAgMzQgNTAgNzAgY2QgNGIgYzkgIHxWMDQyNjE1My4uNFBwLksufAorMDAwMDAwYjAgIDRjIGNjIGNiIDRiIDJkIDJlIDU2IDQ4ICBjZSA0OCA0ZCBjZSBjNiAyNyBjNyAxNSAgfEwuLkstLlZILkhNLi4nLi58CiswMDAwMDBjMCAgMzIgNmEgY2MgZDAgMzQgMDYgMDAgMzcgIGM4IGEyIDgxIDAwIDMzIDAxIDAwIDAwICB8MmouLjQuLjcuLi4uMy4uLnwKKzAwMDAwMGQwICA4ZCAwMSAwMCAwMCBlNyAwMSAwMCAwMCAgMzggMDIgMDAgMDAgNzggOWMgZWQgY2MgIHwuLi4uLi4uLjguLi54Li4ufAorMDAwMDAwZTAgIGJiIDBkIDgwIDMwIDBjIDQwIGMxIDllICAyOSAzYyAwMiBmZiBjZiAwMCA2YyA5MCAgfC4uLjAuQC4uKTwuLi4ubC58CiswMDAwMDBmMCAgMDUgMjIgMjcgNDAgODQgNzAgODEgZDkgIDVmIDZjIDQwIDRkIGYxIGVhIDkzIDJlICB8LiInQC5wLi5fbEBNLi4uLnwKKzAwMDAwMTAwICA2NCA3ZiA4YSBlZCBhMiA3NyBiYyAzNiAgOTcgYTYgZWQgZmEgNjEgOWMgZTYgYTUgIHxkLi4uLncuNi4uLi5hLi4ufAorMDAwMDAxMTAgIDk2IGQ1IDUyIDg5IDY2IGQ5IDVkIGY0ICBjOCA3YSA3ZSA1OSAxNSA2OCA2OCA2OCAgfC4uUi5mLl0uLnp+WS5oaGh8CiswMDAwMDEyMCAgNjggNjggNjggNjggNjggNjggNjggNjggIDY4IDY4IDY4IDY4IGZlIGRiIGJjIDFmICB8aGhoaGhoaGhoaGhoLi4uLnwKKzAwMDAwMTMwICBkZCAwZCAyOCA3OCA5YyBlZCBjYyBiYiAgMGQgODAgMzAgMGMgMDAgZDEgOWUgMjkgIHwuLih4Li4uLi4uMC4uLi4pfAorMDAwMDAxNDAgIDNjIDAyIGZmIGMwIDAwIDZjIGMwIDAyICA1MSAzMCAxMCAyMSA1YyA2MCBmNiAxNyAgfDwuLi4ubC4uUTAuIVxgLi58CiswMDAwMDE1MCAgMGIgMjAgNmEgOGEgYWIgZWYgZjQgYzIgIDMwIDk2IDMyIGQ5IDkyIGEzIDk5IGJhICB8LiBqLi4uLi4wLjIuLi4uLnwKKzAwMDAwMTYwICA0YiBkYSAzNSAxZCBjNSBhYyA3ZSA2NyAgZGIgMjQgNWQgZjEgNWMgNWQgYWEgYmEgIHxLLjUuLi5+Zy4kXS5cXS4ufAorMDAwMDAxNzAgIDY5IGJiIDNlIGJjIGFkIDVmIDBkIDA2ICAwNiAwNiAwNiAwNiAwNiAwNiAwNiAwNiAgfGkuPi4uXy4uLi4uLi4uLi58CiswMDAwMDE4MCAgMDYgMDYgMDYgMDYgMDYgZTYgMWYgY2MgIDAzIDc2IDNkIDBkIDFhIDc4IDljIGVkICB8Li4uLi4uLi4udj0uLnguLnwKKzAwMDAwMTkwICBjYyBiYiAwZCA4MCAzMCAwYyAwMCBkMSAgOWUgMjkgM2MgMDIgZmYgY2YgMDAgNmMgIHwuLi4uMC4uLi4pPC4uLi5sfAorMDAwMDAxYTAgIGMwIDAyIDkxIDA5IDEwIDIxIDVjIDYwICBmNiAxNyAzNSAwZCA3NSA4YSBhYiBlZiAgfC4uLi4uIVxgLi41LnUuLi58CiswMDAwMDFiMCAgZjQgNmMgNGQgYzEgMmMgYmEgOGIgMWUgIDUxIDRmIGE5IGVhIGE2IGVkIGZhIDYxICB8LmxNLiwuLi5RTy4uLi4uYXwKKzAwMDAwMWMwICA5YyA0YSA5OSBlZCBkYiA4YSAyNSBmYSAgOTMgNmMgMTcgYmQgYzMgYjUgZjkgZGYgIHwuSi4uLi4lLi5sLi4uLi4ufAorMDAwMDAxZDAgIDBhIDAzIDAzIDAzIDAzIDAzIDAzIDAzICAwMyAwMyAwMyAwMyAwMyAwMyAwMyA5MyAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDFlMCAgMTMgZjMgMDIgYjEgYjIgMGUgNGQgNzggIDljIGNiIDRiIDU3IDQ4IDJlIDRhIGNjICB8Li4uLi4uTXguLktXSC5KLnwKKzAwMDAwMWYwICA0ZCAyYiA1NiAzMCAzNCAzMiAzNiAzMSAgMzUgMzMgYjcgYjAgMzQgNTAgNzAgY2QgIHxNK1YwNDI2MTUzLi40UHAufAorMDAwMDAyMDAgIDRiIGM5IDRjIGNjIGNiIDRiIDJkIDJlICA1NiA0OCBjZSA0OCA0ZCBjZSBjNiAyNyAgfEsuTC4uSy0uVkguSE0uLid8CiswMDAwMDIxMCAgYzcgMTUgOTIgNWEgNWMgOTIgOTkgMzcgIDZhIGNjIGE4IDMxIGEzIGM2IDhjIDFhICB8Li4uWlwuLjdqLi4xLi4uLnwKKzAwMDAwMjIwICAzMyA2YSBjYyBhOCAzMSBhMyBjNiA4YyAgMWEgMzMgNmEgY2MgYTggMzEgYTMgYzYgIHwzai4uMS4uLi4zai4uMS4ufAorMDAwMDAyMzAgIDBjIDdlIDYzIDAwIGQxIDVjIGM5IDZhICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC5+Yy4uXC5qLi4uLi4uLi58CiswMDAwMDI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwCitjcmVhdGUgYmlnIGVuZGlhbgorMDAwMDAwMDAgIDI4IGNkIDNkIDQ1IDAwIDAwIDEwIDAwICAwMCAwMCAwMCAwMyAwMCAwMCAwMCAwMCAgfCguPUUuLi4uLi4uLi4uLi58CiswMDAwMDAxMCAgNDMgNmYgNmQgNzAgNzIgNjUgNzMgNzMgIDY1IDY0IDIwIDUyIDRmIDRkIDQ2IDUzICB8Q29tcHJlc3NlZCBST01GU3wKKzAwMDAwMDIwICBkMyA1MCBjYyAwMiAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDUgMDAgMDAgMDAgMDUgIHwuUC4uLi4uLi4uLi4uLi4ufAorMDAwMDAwMzAgIDQzIDZmIDZkIDcwIDcyIDY1IDczIDczICA2NSA2NCAwMCAwMCAwMCAwMCAwMCAwMCAgfENvbXByZXNzZWQuLi4uLi58CiswMDAwMDA0MCAgNDEgZWQgMDAgMDAgMDAgMDAgMTAgMDAgIDAwIDAwIDAwIDEzIDQxIGVkIDAwIDAwICB8QS4uLi4uLi4uLi4uQS4uLnwKKzAwMDAwMDUwICAwMCAwMCAxMCAwMCAwNCAwMCAwMCAxNyAgNjQgNjkgNzIgNDEgNDEgZWQgMDAgMDAgIHwuLi4uLi4uLmRpckFBLi4ufAorMDAwMDAwNjAgIDAwIDAwIDIwIDAwIDA0IDAwIDAwIDFiICA2NCA2OSA3MiA0MiA4MSBhNCAwMCAwMCAgfC4uIC4uLi4uZGlyQi4uLi58CiswMDAwMDA3MCAgMDAgMDIgMDAgMDAgMDQgMDAgMDAgMjMgIDYxIDAwIDAwIDAwIDgxIGE0IDAwIDAwICB8Li4uLi4uLiNhLi4uLi4uLnwKKzAwMDAwMDgwICAwMCAzYyAwMCAwMCAwNCAwMCAwMCAzMyAgNjIgMDAgMDAgMDAgMDAgMDAgMDAgY2IgIHwuPC4uLi4uM2IuLi4uLi4ufAorMDAwMDAwOTAgIDc4IDljIDBiIDQ5IDJkIDJlIGM5IGNjICA0YiA1NyA0OCAyZSA0YSBjYyA0ZCAyYiAgfHguLkktLi4uS1dILkouTSt8CiswMDAwMDBhMCAgNTYgMzAgMzQgMzIgMzYgMzEgMzUgMzMgIGI3IGIwIDM0IDUwIDcwIGNkIDRiIGM5ICB8VjA0MjYxNTMuLjRQcC5LLnwKKzAwMDAwMGIwICA0YyBjYyBjYiA0YiAyZCAyZSA1NiA0OCAgY2UgNDggNGQgY2UgYzYgMjcgYzcgMTUgIHxMLi5LLS5WSC5ITS4uJy4ufAorMDAwMDAwYzAgIDMyIDZhIGNjIGQwIDM0IDA2IDAwIDM3ICBjOCBhMiA4MSAwMCAwMCAwMCAwMSAzMyAgfDJqLi40Li43Li4uLi4uLjN8CiswMDAwMDBkMCAgMDAgMDAgMDEgOGQgMDAgMDAgMDEgZTcgIDAwIDAwIDAyIDM4IDc4IDljIGVkIGNjICB8Li4uLi4uLi4uLi44eC4uLnwKKzAwMDAwMGUwICBiYiAwZCA4MCAzMCAwYyA0MCBjMSA5ZSAgMjkgM2MgMDIgZmYgY2YgMDAgNmMgOTAgIHwuLi4wLkAuLik8Li4uLmwufAorMDAwMDAwZjAgIDA1IDIyIDI3IDQwIDg0IDcwIDgxIGQ5ICA1ZiA2YyA0MCA0ZCBmMSBlYSA5MyAyZSAgfC4iJ0AucC4uX2xATS4uLi58CiswMDAwMDEwMCAgNjQgN2YgOGEgZWQgYTIgNzcgYmMgMzYgIDk3IGE2IGVkIGZhIDYxIDljIGU2IGE1ICB8ZC4uLi53LjYuLi4uYS4uLnwKKzAwMDAwMTEwICA5NiBkNSA1MiA4OSA2NiBkOSA1ZCBmNCAgYzggN2EgN2UgNTkgMTUgNjggNjggNjggIHwuLlIuZi5dLi56flkuaGhofAorMDAwMDAxMjAgIDY4IDY4IDY4IDY4IDY4IDY4IDY4IDY4ICA2OCA2OCA2OCA2OCBmZSBkYiBiYyAxZiAgfGhoaGhoaGhoaGhoaC4uLi58CiswMDAwMDEzMCAgZGQgMGQgMjggNzggOWMgZWQgY2MgYmIgIDBkIDgwIDMwIDBjIDAwIGQxIDllIDI5ICB8Li4oeC4uLi4uLjAuLi4uKXwKKzAwMDAwMTQwICAzYyAwMiBmZiBjMCAwMCA2YyBjMCAwMiAgNTEgMzAgMTAgMjEgNWMgNjAgZjYgMTcgIHw8Li4uLmwuLlEwLiFcYC4ufAorMDAwMDAxNTAgIDBiIDIwIDZhIDhhIGFiIGVmIGY0IGMyICAzMCA5NiAzMiBkOSA5MiBhMyA5OSBiYSAgfC4gai4uLi4uMC4yLi4uLi58CiswMDAwMDE2MCAgNGIgZGEgMzUgMWQgYzUgYWMgN2UgNjcgIGRiIDI0IDVkIGYxIDVjIDVkIGFhIGJhICB8Sy41Li4ufmcuJF0uXF0uLnwKKzAwMDAwMTcwICA2OSBiYiAzZSBiYyBhZCA1ZiAwZCAwNiAgMDYgMDYgMDYgMDYgMDYgMDYgMDYgMDYgIHxpLj4uLl8uLi4uLi4uLi4ufAorMDAwMDAxODAgIDA2IDA2IDA2IDA2IDA2IGU2IDFmIGNjICAwMyA3NiAzZCAwZCAxYSA3OCA5YyBlZCAgfC4uLi4uLi4uLnY9Li54Li58CiswMDAwMDE5MCAgY2MgYmIgMGQgODAgMzAgMGMgMDAgZDEgIDllIDI5IDNjIDAyIGZmIGNmIDAwIDZjICB8Li4uLjAuLi4uKTwuLi4ubHwKKzAwMDAwMWEwICBjMCAwMiA5MSAwOSAxMCAyMSA1YyA2MCAgZjYgMTcgMzUgMGQgNzUgOGEgYWIgZWYgIHwuLi4uLiFcYC4uNS51Li4ufAorMDAwMDAxYjAgIGY0IDZjIDRkIGMxIDJjIGJhIDhiIDFlICA1MSA0ZiBhOSBlYSBhNiBlZCBmYSA2MSAgfC5sTS4sLi4uUU8uLi4uLmF8CiswMDAwMDFjMCAgOWMgNGEgOTkgZWQgZGIgOGEgMjUgZmEgIDkzIDZjIDE3IGJkIGMzIGI1IGY5IGRmICB8LkouLi4uJS4ubC4uLi4uLnwKKzAwMDAwMWQwICAwYSAwMyAwMyAwMyAwMyAwMyAwMyAwMyAgMDMgMDMgMDMgMDMgMDMgMDMgMDMgOTMgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZTAgIDEzIGYzIDAyIGIxIGIyIDBlIDRkIDc4ICA5YyBjYiA0YiA1NyA0OCAyZSA0YSBjYyAgfC4uLi4uLk14Li5LV0guSi58CiswMDAwMDFmMCAgNGQgMmIgNTYgMzAgMzQgMzIgMzYgMzEgIDM1IDMzIGI3IGIwIDM0IDUwIDcwIGNkICB8TStWMDQyNjE1My4uNFBwLnwKKzAwMDAwMjAwICA0YiBjOSA0YyBjYyBjYiA0YiAyZCAyZSAgNTYgNDggY2UgNDggNGQgY2UgYzYgMjcgIHxLLkwuLkstLlZILkhNLi4nfAorMDAwMDAyMTAgIGM3IDE1IDkyIDVhIDVjIDkyIDk5IDM3ICA2YSBjYyBhOCAzMSBhMyBjNiA4YyAxYSAgfC4uLlpcLi43ai4uMS4uLi58CiswMDAwMDIyMCAgMzMgNmEgY2MgYTggMzEgYTMgYzYgOGMgIDFhIDMzIDZhIGNjIGE4IDMxIGEzIGM2ICB8M2ouLjEuLi4uM2ouLjEuLnwKKzAwMDAwMjMwICAwYyA3ZSA2MyAwMCBkMSA1YyBjOSA2YSAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwufmMuLlwuai4uLi4uLi4ufAorMDAwMDAyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvY29sb3JzIGIvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvY29sb3JzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQwYWNhNzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9kbWVzZy9jb2xvcnMKQEAgLTAsMCArMSwxMDUgQEAKK2tlcm4gIDplbWVyZyA6IBtbMzJtWyAgICAwLjAwMDAwMF0gG1swbWV4YW1wbGVbMF0KK2tlcm4gIDphbGVydCA6IBtbMzJtWyAgICAxLjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbMV0bWzBtCitrZXJuICA6Y3JpdCAgOiAbWzMybVsgICAgOC4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzJdG1swbQora2VybiAgOmVyciAgIDogG1szMm1bICAgMjcuMDAwMDAwXSAbWzBtG1szMW1leGFtcGxlWzNdG1swbQora2VybiAgOndhcm4gIDogG1szMm1bICAgNjQuMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbNF0bWzBtCitrZXJuICA6bm90aWNlOiAbWzMybVsgIDEyNS4wMDAwMDBdIBtbMG1leGFtcGxlWzVdCitrZXJuICA6aW5mbyAgOiAbWzMybVsgIDIxNi4wMDAwMDBdIBtbMG1leGFtcGxlWzZdCitrZXJuICA6ZGVidWcgOiAbWzMybVsgIDM0My4wMDAwMDBdIBtbMG1leGFtcGxlWzddCit1c2VyICA6ZW1lcmcgOiAbWzMybVsgIDUxMi4wMDAwMDBdIBtbMG1leGFtcGxlWzhdCit1c2VyICA6YWxlcnQgOiAbWzMybVsgIDcyOS4wMDAwMDBdIBtbMG0bWzdtG1szMW1leGFtcGxlWzldG1swbQordXNlciAgOmNyaXQgIDogG1szMm1bIDEwMDAuMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVsxMF0bWzBtCit1c2VyICA6ZXJyICAgOiAbWzMybVsgMTMzMS4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbMTFdG1swbQordXNlciAgOndhcm4gIDogG1szMm1bIDE3MjguMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbMTJdG1swbQordXNlciAgOm5vdGljZTogG1szMm1bIDIxOTcuMDAwMDAwXSAbWzBtZXhhbXBsZVsxM10KK3VzZXIgIDppbmZvICA6IBtbMzJtWyAyNzQ0LjAwMDAwMF0gG1swbWV4YW1wbGVbMTRdCit1c2VyICA6ZGVidWcgOiAbWzMybVsgMzM3NS4wMDAwMDBdIBtbMG1leGFtcGxlWzE1XQorbWFpbCAgOmVtZXJnIDogG1szMm1bIDQwOTYuMDAwMDAwXSAbWzBtZXhhbXBsZVsxNl0KK21haWwgIDphbGVydCA6IBtbMzJtWyA0OTEzLjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbMTddG1swbQorbWFpbCAgOmNyaXQgIDogG1szMm1bIDU4MzIuMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVsxOF0bWzBtCittYWlsICA6ZXJyICAgOiAbWzMybVsgNjg1OS4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbMTldG1swbQorbWFpbCAgOndhcm4gIDogG1szMm1bIDgwMDAuMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbMjBdG1swbQorbWFpbCAgOm5vdGljZTogG1szMm1bIDkyNjEuMDAwMDAwXSAbWzBtZXhhbXBsZVsyMV0KK21haWwgIDppbmZvICA6IBtbMzJtWzEwNjQ4LjAwMDAwMF0gG1swbWV4YW1wbGVbMjJdCittYWlsICA6ZGVidWcgOiAbWzMybVsxMjE2Ny4wMDAwMDBdIBtbMG1leGFtcGxlWzIzXQorZGFlbW9uOmVtZXJnIDogG1szMm1bMTM4MjQuMDAwMDAwXSAbWzBtZXhhbXBsZVsyNF0KK2RhZW1vbjphbGVydCA6IBtbMzJtWzE1NjI1LjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbMjVdG1swbQorZGFlbW9uOmNyaXQgIDogG1szMm1bMTc1NzYuMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVsyNl0bWzBtCitkYWVtb246ZXJyICAgOiAbWzMybVsxOTY4My4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbMjddG1swbQorZGFlbW9uOndhcm4gIDogG1szMm1bMjE5NTIuMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbMjhdG1swbQorZGFlbW9uOm5vdGljZTogG1szMm1bMjQzODkuMDAwMDAwXSAbWzBtZXhhbXBsZVsyOV0KK2RhZW1vbjppbmZvICA6IBtbMzJtWzI3MDAwLjAwMDAwMF0gG1swbWV4YW1wbGVbMzBdCitkYWVtb246ZGVidWcgOiAbWzMybVsyOTc5MS4wMDAwMDBdIBtbMG1leGFtcGxlWzMxXQorYXV0aCAgOmVtZXJnIDogG1szMm1bMzI3NjguMDAwMDAwXSAbWzBtZXhhbXBsZVszMl0KK2F1dGggIDphbGVydCA6IBtbMzJtWzM1OTM3LjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbMzNdG1swbQorYXV0aCAgOmNyaXQgIDogG1szMm1bMzkzMDQuMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVszNF0bWzBtCithdXRoICA6ZXJyICAgOiAbWzMybVs0Mjg3NS4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbMzVdG1swbQorYXV0aCAgOndhcm4gIDogG1szMm1bNDY2NTYuMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbMzZdG1swbQorYXV0aCAgOm5vdGljZTogG1szMm1bNTA2NTMuMDAwMDAwXSAbWzBtZXhhbXBsZVszN10KK2F1dGggIDppbmZvICA6IBtbMzJtWzU0ODcyLjAwMDAwMF0gG1swbWV4YW1wbGVbMzhdCithdXRoICA6ZGVidWcgOiAbWzMybVs1OTMxOS4wMDAwMDBdIBtbMG1leGFtcGxlWzM5XQorc3lzbG9nOmVtZXJnIDogG1szMm1bNjQwMDAuMDAwMDAwXSAbWzBtZXhhbXBsZVs0MF0KK3N5c2xvZzphbGVydCA6IBtbMzJtWzY4OTIxLjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbNDFdG1swbQorc3lzbG9nOmNyaXQgIDogG1szMm1bNzQwODguMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVs0Ml0bWzBtCitzeXNsb2c6ZXJyICAgOiAbWzMybVs3OTUwNy4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbNDNdG1swbQorc3lzbG9nOndhcm4gIDogG1szMm1bODUxODQuMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbNDRdG1swbQorc3lzbG9nOm5vdGljZTogG1szMm1bOTExMjUuMDAwMDAwXSAbWzBtZXhhbXBsZVs0NV0KK3N5c2xvZzppbmZvICA6IBtbMzJtWzk3MzM2LjAwMDAwMF0gG1swbWV4YW1wbGVbNDZdCitzeXNsb2c6ZGVidWcgOiAbWzMybVsxMDM4MjMuMDAwMDAwXSAbWzBtZXhhbXBsZVs0N10KK2xwciAgIDplbWVyZyA6IBtbMzJtWzExMDU5Mi4wMDAwMDBdIBtbMG1leGFtcGxlWzQ4XQorbHByICAgOmFsZXJ0IDogG1szMm1bMTE3NjQ5LjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbNDldG1swbQorbHByICAgOmNyaXQgIDogG1szMm1bMTI1MDAwLjAwMDAwMF0gG1swbRtbMW0bWzMxbWV4YW1wbGVbNTBdG1swbQorbHByICAgOmVyciAgIDogG1szMm1bMTMyNjUxLjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVs1MV0bWzBtCitscHIgICA6d2FybiAgOiAbWzMybVsxNDA2MDguMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbNTJdG1swbQorbHByICAgOm5vdGljZTogG1szMm1bMTQ4ODc3LjAwMDAwMF0gG1swbWV4YW1wbGVbNTNdCitscHIgICA6aW5mbyAgOiAbWzMybVsxNTc0NjQuMDAwMDAwXSAbWzBtZXhhbXBsZVs1NF0KK2xwciAgIDpkZWJ1ZyA6IBtbMzJtWzE2NjM3NS4wMDAwMDBdIBtbMG1leGFtcGxlWzU1XQorbmV3cyAgOmVtZXJnIDogG1szMm1bMTc1NjE2LjAwMDAwMF0gG1swbWV4YW1wbGVbNTZdCituZXdzICA6YWxlcnQgOiAbWzMybVsxODUxOTMuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVs1N10bWzBtCituZXdzICA6Y3JpdCAgOiAbWzMybVsxOTUxMTIuMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVs1OF0bWzBtCituZXdzICA6ZXJyICAgOiAbWzMybVsyMDUzNzkuMDAwMDAwXSAbWzBtG1szMW1leGFtcGxlWzU5XRtbMG0KK25ld3MgIDp3YXJuICA6IBtbMzJtWzIxNjAwMC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVs2MF0bWzBtCituZXdzICA6bm90aWNlOiAbWzMybVsyMjY5ODEuMDAwMDAwXSAbWzBtZXhhbXBsZVs2MV0KK25ld3MgIDppbmZvICA6IBtbMzJtWzIzODMyOC4wMDAwMDBdIBtbMG1leGFtcGxlWzYyXQorbmV3cyAgOmRlYnVnIDogG1szMm1bMjUwMDQ3LjAwMDAwMF0gG1swbWV4YW1wbGVbNjNdCit1dWNwICA6ZW1lcmcgOiAbWzMybVsyNjIxNDQuMDAwMDAwXSAbWzBtZXhhbXBsZVs2NF0KK3V1Y3AgIDphbGVydCA6IBtbMzJtWzI3NDYyNS4wMDAwMDBdIBtbMG0bWzdtG1szMW1leGFtcGxlWzY1XRtbMG0KK3V1Y3AgIDpjcml0ICA6IBtbMzJtWzI4NzQ5Ni4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzY2XRtbMG0KK3V1Y3AgIDplcnIgICA6IBtbMzJtWzMwMDc2My4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbNjddG1swbQordXVjcCAgOndhcm4gIDogG1szMm1bMzE0NDMyLjAwMDAwMF0gG1swbRtbMW1leGFtcGxlWzY4XRtbMG0KK3V1Y3AgIDpub3RpY2U6IBtbMzJtWzMyODUwOS4wMDAwMDBdIBtbMG1leGFtcGxlWzY5XQordXVjcCAgOmluZm8gIDogG1szMm1bMzQzMDAwLjAwMDAwMF0gG1swbWV4YW1wbGVbNzBdCit1dWNwICA6ZGVidWcgOiAbWzMybVszNTc5MTEuMDAwMDAwXSAbWzBtZXhhbXBsZVs3MV0KK2Nyb24gIDplbWVyZyA6IBtbMzJtWzM3MzI0OC4wMDAwMDBdIBtbMG1leGFtcGxlWzcyXQorY3JvbiAgOmFsZXJ0IDogG1szMm1bMzg5MDE3LjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbNzNdG1swbQorY3JvbiAgOmNyaXQgIDogG1szMm1bNDA1MjI0LjAwMDAwMF0gG1swbRtbMW0bWzMxbWV4YW1wbGVbNzRdG1swbQorY3JvbiAgOmVyciAgIDogG1szMm1bNDIxODc1LjAwMDAwMF0gG1swbRtbMzFtZXhhbXBsZVs3NV0bWzBtCitjcm9uICA6d2FybiAgOiAbWzMybVs0Mzg5NzYuMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbNzZdG1swbQorY3JvbiAgOm5vdGljZTogG1szMm1bNDU2NTMzLjAwMDAwMF0gG1swbWV4YW1wbGVbNzddCitjcm9uICA6aW5mbyAgOiAbWzMybVs0NzQ1NTIuMDAwMDAwXSAbWzBtZXhhbXBsZVs3OF0KK2Nyb24gIDpkZWJ1ZyA6IBtbMzJtWzQ5MzAzOS4wMDAwMDBdIBtbMG1leGFtcGxlWzc5XQorYXV0aHByaXY6ZW1lcmcgOiAbWzMybVs1MTIwMDAuMDAwMDAwXSAbWzBtZXhhbXBsZVs4MF0KK2F1dGhwcml2OmFsZXJ0IDogG1szMm1bNTMxNDQxLjAwMDAwMF0gG1swbRtbN20bWzMxbWV4YW1wbGVbODFdG1swbQorYXV0aHByaXY6Y3JpdCAgOiAbWzMybVs1NTEzNjguMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVs4Ml0bWzBtCithdXRocHJpdjplcnIgICA6IBtbMzJtWzU3MTc4Ny4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbODNdG1swbQorYXV0aHByaXY6d2FybiAgOiAbWzMybVs1OTI3MDQuMDAwMDAwXSAbWzBtG1sxbWV4YW1wbGVbODRdG1swbQorYXV0aHByaXY6bm90aWNlOiAbWzMybVs2MTQxMjUuMDAwMDAwXSAbWzBtZXhhbXBsZVs4NV0KK2F1dGhwcml2OmluZm8gIDogG1szMm1bNjM2MDU2LjAwMDAwMF0gG1swbWV4YW1wbGVbODZdCithdXRocHJpdjpkZWJ1ZyA6IBtbMzJtWzY1ODUwMy4wMDAwMDBdIBtbMG1leGFtcGxlWzg3XQorZnRwICAgOmVtZXJnIDogG1szMm1bNjgxNDcyLjAwMDAwMF0gG1swbWV4YW1wbGVbODhdCitmdHAgICA6YWxlcnQgOiAbWzMybVs3MDQ5NjkuMDAwMDAwXSAbWzBtG1s3bRtbMzFtZXhhbXBsZVs4OV0bWzBtCitmdHAgICA6Y3JpdCAgOiAbWzMybVs3MjkwMDAuMDAwMDAwXSAbWzBtG1sxbRtbMzFtZXhhbXBsZVs5MF0bWzBtCitmdHAgICA6ZXJyICAgOiAbWzMybVs3NTM1NzEuMDAwMDAwXSAbWzBtG1szMW1leGFtcGxlWzkxXRtbMG0KK2Z0cCAgIDp3YXJuICA6IBtbMzJtWzc3ODY4OC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVs5Ml0bWzBtCitmdHAgICA6bm90aWNlOiAbWzMybVs4MDQzNTcuMDAwMDAwXSAbWzBtZXhhbXBsZVs5M10KK2Z0cCAgIDppbmZvICA6IBtbMzJtWzgzMDU4NC4wMDAwMDBdIBtbMG1leGFtcGxlWzk0XQorZnRwICAgOmRlYnVnIDogG1szMm1bODU3Mzc1LjAwMDAwMF0gG1swbWV4YW1wbGVbOTVdCisbWzMybVs4ODQ3MzYuMDAwMDAwXSAbWzBtZXhhbXBsZVs5Nl0KKxtbMzJtWzkxMjY3My4wMDAwMDBdIBtbMG0bWzdtG1szMW1leGFtcGxlWzk3XRtbMG0KKxtbMzJtWzk0MTE5Mi4wMDAwMDBdIBtbMG0bWzFtG1szMW1leGFtcGxlWzk4XRtbMG0KKxtbMzJtWzk3MDI5OS4wMDAwMDBdIBtbMG0bWzMxbWV4YW1wbGVbOTldG1swbQorG1szMm1bMTAwMDAwMC4wMDAwMDBdIBtbMG0bWzFtZXhhbXBsZVsxMDBdG1swbQorG1szMm1bMTAzMDMwMS4wMDAwMDBdIBtbMG1leGFtcGxlWzEwMV0KKxtbMzJtWzEwNjEyMDguMDAwMDAwXSAbWzBtZXhhbXBsZVsxMDJdCisbWzMybVsxMDkyNzI3LjAwMDAwMF0gG1swbWV4YW1wbGVbMTAzXQorG1szMm1bMTEyNDg2NC4wMDAwMDBdIBtbMG1leGFtcGxlWzEwNF0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2NvbnNvbGUtbGV2ZWxzIGIvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvY29uc29sZS1sZXZlbHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDhiMGExZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2NvbnNvbGUtbGV2ZWxzCkBAIC0wLDAgKzEsMTA0IEBACitbICAgIDAuMDAwMDAwXSBleGFtcGxlWzBdCitbICA1MTIuMDAwMDAwXSBleGFtcGxlWzhdCitbIDQwOTYuMDAwMDAwXSBleGFtcGxlWzE2XQorWzEzODI0LjAwMDAwMF0gZXhhbXBsZVsyNF0KK1szMjc2OC4wMDAwMDBdIGV4YW1wbGVbMzJdCitbNjQwMDAuMDAwMDAwXSBleGFtcGxlWzQwXQorWzExMDU5Mi4wMDAwMDBdIGV4YW1wbGVbNDhdCitbMTc1NjE2LjAwMDAwMF0gZXhhbXBsZVs1Nl0KK1syNjIxNDQuMDAwMDAwXSBleGFtcGxlWzY0XQorWzM3MzI0OC4wMDAwMDBdIGV4YW1wbGVbNzJdCitbNTEyMDAwLjAwMDAwMF0gZXhhbXBsZVs4MF0KK1s2ODE0NzIuMDAwMDAwXSBleGFtcGxlWzg4XQorWzg4NDczNi4wMDAwMDBdIGV4YW1wbGVbOTZdCitbICAgIDEuMDAwMDAwXSBleGFtcGxlWzFdCitbICA3MjkuMDAwMDAwXSBleGFtcGxlWzldCitbIDQ5MTMuMDAwMDAwXSBleGFtcGxlWzE3XQorWzE1NjI1LjAwMDAwMF0gZXhhbXBsZVsyNV0KK1szNTkzNy4wMDAwMDBdIGV4YW1wbGVbMzNdCitbNjg5MjEuMDAwMDAwXSBleGFtcGxlWzQxXQorWzExNzY0OS4wMDAwMDBdIGV4YW1wbGVbNDldCitbMTg1MTkzLjAwMDAwMF0gZXhhbXBsZVs1N10KK1syNzQ2MjUuMDAwMDAwXSBleGFtcGxlWzY1XQorWzM4OTAxNy4wMDAwMDBdIGV4YW1wbGVbNzNdCitbNTMxNDQxLjAwMDAwMF0gZXhhbXBsZVs4MV0KK1s3MDQ5NjkuMDAwMDAwXSBleGFtcGxlWzg5XQorWzkxMjY3My4wMDAwMDBdIGV4YW1wbGVbOTddCitbICAgIDguMDAwMDAwXSBleGFtcGxlWzJdCitbIDEwMDAuMDAwMDAwXSBleGFtcGxlWzEwXQorWyA1ODMyLjAwMDAwMF0gZXhhbXBsZVsxOF0KK1sxNzU3Ni4wMDAwMDBdIGV4YW1wbGVbMjZdCitbMzkzMDQuMDAwMDAwXSBleGFtcGxlWzM0XQorWzc0MDg4LjAwMDAwMF0gZXhhbXBsZVs0Ml0KK1sxMjUwMDAuMDAwMDAwXSBleGFtcGxlWzUwXQorWzE5NTExMi4wMDAwMDBdIGV4YW1wbGVbNThdCitbMjg3NDk2LjAwMDAwMF0gZXhhbXBsZVs2Nl0KK1s0MDUyMjQuMDAwMDAwXSBleGFtcGxlWzc0XQorWzU1MTM2OC4wMDAwMDBdIGV4YW1wbGVbODJdCitbNzI5MDAwLjAwMDAwMF0gZXhhbXBsZVs5MF0KK1s5NDExOTIuMDAwMDAwXSBleGFtcGxlWzk4XQorWyAgIDI3LjAwMDAwMF0gZXhhbXBsZVszXQorWyAxMzMxLjAwMDAwMF0gZXhhbXBsZVsxMV0KK1sgNjg1OS4wMDAwMDBdIGV4YW1wbGVbMTldCitbMTk2ODMuMDAwMDAwXSBleGFtcGxlWzI3XQorWzQyODc1LjAwMDAwMF0gZXhhbXBsZVszNV0KK1s3OTUwNy4wMDAwMDBdIGV4YW1wbGVbNDNdCitbMTMyNjUxLjAwMDAwMF0gZXhhbXBsZVs1MV0KK1syMDUzNzkuMDAwMDAwXSBleGFtcGxlWzU5XQorWzMwMDc2My4wMDAwMDBdIGV4YW1wbGVbNjddCitbNDIxODc1LjAwMDAwMF0gZXhhbXBsZVs3NV0KK1s1NzE3ODcuMDAwMDAwXSBleGFtcGxlWzgzXQorWzc1MzU3MS4wMDAwMDBdIGV4YW1wbGVbOTFdCitbOTcwMjk5LjAwMDAwMF0gZXhhbXBsZVs5OV0KK1sgICA2NC4wMDAwMDBdIGV4YW1wbGVbNF0KK1sgMTcyOC4wMDAwMDBdIGV4YW1wbGVbMTJdCitbIDgwMDAuMDAwMDAwXSBleGFtcGxlWzIwXQorWzIxOTUyLjAwMDAwMF0gZXhhbXBsZVsyOF0KK1s0NjY1Ni4wMDAwMDBdIGV4YW1wbGVbMzZdCitbODUxODQuMDAwMDAwXSBleGFtcGxlWzQ0XQorWzE0MDYwOC4wMDAwMDBdIGV4YW1wbGVbNTJdCitbMjE2MDAwLjAwMDAwMF0gZXhhbXBsZVs2MF0KK1szMTQ0MzIuMDAwMDAwXSBleGFtcGxlWzY4XQorWzQzODk3Ni4wMDAwMDBdIGV4YW1wbGVbNzZdCitbNTkyNzA0LjAwMDAwMF0gZXhhbXBsZVs4NF0KK1s3Nzg2ODguMDAwMDAwXSBleGFtcGxlWzkyXQorWzEwMDAwMDAuMDAwMDAwXSBleGFtcGxlWzEwMF0KK1sgIDEyNS4wMDAwMDBdIGV4YW1wbGVbNV0KK1sgMjE5Ny4wMDAwMDBdIGV4YW1wbGVbMTNdCitbIDkyNjEuMDAwMDAwXSBleGFtcGxlWzIxXQorWzI0Mzg5LjAwMDAwMF0gZXhhbXBsZVsyOV0KK1s1MDY1My4wMDAwMDBdIGV4YW1wbGVbMzddCitbOTExMjUuMDAwMDAwXSBleGFtcGxlWzQ1XQorWzE0ODg3Ny4wMDAwMDBdIGV4YW1wbGVbNTNdCitbMjI2OTgxLjAwMDAwMF0gZXhhbXBsZVs2MV0KK1szMjg1MDkuMDAwMDAwXSBleGFtcGxlWzY5XQorWzQ1NjUzMy4wMDAwMDBdIGV4YW1wbGVbNzddCitbNjE0MTI1LjAwMDAwMF0gZXhhbXBsZVs4NV0KK1s4MDQzNTcuMDAwMDAwXSBleGFtcGxlWzkzXQorWzEwMzAzMDEuMDAwMDAwXSBleGFtcGxlWzEwMV0KK1sgIDIxNi4wMDAwMDBdIGV4YW1wbGVbNl0KK1sgMjc0NC4wMDAwMDBdIGV4YW1wbGVbMTRdCitbMTA2NDguMDAwMDAwXSBleGFtcGxlWzIyXQorWzI3MDAwLjAwMDAwMF0gZXhhbXBsZVszMF0KK1s1NDg3Mi4wMDAwMDBdIGV4YW1wbGVbMzhdCitbOTczMzYuMDAwMDAwXSBleGFtcGxlWzQ2XQorWzE1NzQ2NC4wMDAwMDBdIGV4YW1wbGVbNTRdCitbMjM4MzI4LjAwMDAwMF0gZXhhbXBsZVs2Ml0KK1szNDMwMDAuMDAwMDAwXSBleGFtcGxlWzcwXQorWzQ3NDU1Mi4wMDAwMDBdIGV4YW1wbGVbNzhdCitbNjM2MDU2LjAwMDAwMF0gZXhhbXBsZVs4Nl0KK1s4MzA1ODQuMDAwMDAwXSBleGFtcGxlWzk0XQorWzEwNjEyMDguMDAwMDAwXSBleGFtcGxlWzEwMl0KK1sgIDM0My4wMDAwMDBdIGV4YW1wbGVbN10KK1sgMzM3NS4wMDAwMDBdIGV4YW1wbGVbMTVdCitbMTIxNjcuMDAwMDAwXSBleGFtcGxlWzIzXQorWzI5NzkxLjAwMDAwMF0gZXhhbXBsZVszMV0KK1s1OTMxOS4wMDAwMDBdIGV4YW1wbGVbMzldCitbMTAzODIzLjAwMDAwMF0gZXhhbXBsZVs0N10KK1sxNjYzNzUuMDAwMDAwXSBleGFtcGxlWzU1XQorWzI1MDA0Ny4wMDAwMDBdIGV4YW1wbGVbNjNdCitbMzU3OTExLjAwMDAwMF0gZXhhbXBsZVs3MV0KK1s0OTMwMzkuMDAwMDAwXSBleGFtcGxlWzc5XQorWzY1ODUwMy4wMDAwMDBdIGV4YW1wbGVbODddCitbODU3Mzc1LjAwMDAwMF0gZXhhbXBsZVs5NV0KK1sxMDkyNzI3LjAwMDAwMF0gZXhhbXBsZVsxMDNdCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9kbWVzZy9kZWNvZGUgYi90ZXN0cy9leHBlY3RlZC9kbWVzZy9kZWNvZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM1NDFhNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2RlY29kZQpAQCAtMCwwICsxLDEwNSBAQAora2VybiAgOmVtZXJnIDogWyAgICAwLjAwMDAwMF0gZXhhbXBsZVswXQora2VybiAgOmFsZXJ0IDogWyAgICAxLjAwMDAwMF0gZXhhbXBsZVsxXQora2VybiAgOmNyaXQgIDogWyAgICA4LjAwMDAwMF0gZXhhbXBsZVsyXQora2VybiAgOmVyciAgIDogWyAgIDI3LjAwMDAwMF0gZXhhbXBsZVszXQora2VybiAgOndhcm4gIDogWyAgIDY0LjAwMDAwMF0gZXhhbXBsZVs0XQora2VybiAgOm5vdGljZTogWyAgMTI1LjAwMDAwMF0gZXhhbXBsZVs1XQora2VybiAgOmluZm8gIDogWyAgMjE2LjAwMDAwMF0gZXhhbXBsZVs2XQora2VybiAgOmRlYnVnIDogWyAgMzQzLjAwMDAwMF0gZXhhbXBsZVs3XQordXNlciAgOmVtZXJnIDogWyAgNTEyLjAwMDAwMF0gZXhhbXBsZVs4XQordXNlciAgOmFsZXJ0IDogWyAgNzI5LjAwMDAwMF0gZXhhbXBsZVs5XQordXNlciAgOmNyaXQgIDogWyAxMDAwLjAwMDAwMF0gZXhhbXBsZVsxMF0KK3VzZXIgIDplcnIgICA6IFsgMTMzMS4wMDAwMDBdIGV4YW1wbGVbMTFdCit1c2VyICA6d2FybiAgOiBbIDE3MjguMDAwMDAwXSBleGFtcGxlWzEyXQordXNlciAgOm5vdGljZTogWyAyMTk3LjAwMDAwMF0gZXhhbXBsZVsxM10KK3VzZXIgIDppbmZvICA6IFsgMjc0NC4wMDAwMDBdIGV4YW1wbGVbMTRdCit1c2VyICA6ZGVidWcgOiBbIDMzNzUuMDAwMDAwXSBleGFtcGxlWzE1XQorbWFpbCAgOmVtZXJnIDogWyA0MDk2LjAwMDAwMF0gZXhhbXBsZVsxNl0KK21haWwgIDphbGVydCA6IFsgNDkxMy4wMDAwMDBdIGV4YW1wbGVbMTddCittYWlsICA6Y3JpdCAgOiBbIDU4MzIuMDAwMDAwXSBleGFtcGxlWzE4XQorbWFpbCAgOmVyciAgIDogWyA2ODU5LjAwMDAwMF0gZXhhbXBsZVsxOV0KK21haWwgIDp3YXJuICA6IFsgODAwMC4wMDAwMDBdIGV4YW1wbGVbMjBdCittYWlsICA6bm90aWNlOiBbIDkyNjEuMDAwMDAwXSBleGFtcGxlWzIxXQorbWFpbCAgOmluZm8gIDogWzEwNjQ4LjAwMDAwMF0gZXhhbXBsZVsyMl0KK21haWwgIDpkZWJ1ZyA6IFsxMjE2Ny4wMDAwMDBdIGV4YW1wbGVbMjNdCitkYWVtb246ZW1lcmcgOiBbMTM4MjQuMDAwMDAwXSBleGFtcGxlWzI0XQorZGFlbW9uOmFsZXJ0IDogWzE1NjI1LjAwMDAwMF0gZXhhbXBsZVsyNV0KK2RhZW1vbjpjcml0ICA6IFsxNzU3Ni4wMDAwMDBdIGV4YW1wbGVbMjZdCitkYWVtb246ZXJyICAgOiBbMTk2ODMuMDAwMDAwXSBleGFtcGxlWzI3XQorZGFlbW9uOndhcm4gIDogWzIxOTUyLjAwMDAwMF0gZXhhbXBsZVsyOF0KK2RhZW1vbjpub3RpY2U6IFsyNDM4OS4wMDAwMDBdIGV4YW1wbGVbMjldCitkYWVtb246aW5mbyAgOiBbMjcwMDAuMDAwMDAwXSBleGFtcGxlWzMwXQorZGFlbW9uOmRlYnVnIDogWzI5NzkxLjAwMDAwMF0gZXhhbXBsZVszMV0KK2F1dGggIDplbWVyZyA6IFszMjc2OC4wMDAwMDBdIGV4YW1wbGVbMzJdCithdXRoICA6YWxlcnQgOiBbMzU5MzcuMDAwMDAwXSBleGFtcGxlWzMzXQorYXV0aCAgOmNyaXQgIDogWzM5MzA0LjAwMDAwMF0gZXhhbXBsZVszNF0KK2F1dGggIDplcnIgICA6IFs0Mjg3NS4wMDAwMDBdIGV4YW1wbGVbMzVdCithdXRoICA6d2FybiAgOiBbNDY2NTYuMDAwMDAwXSBleGFtcGxlWzM2XQorYXV0aCAgOm5vdGljZTogWzUwNjUzLjAwMDAwMF0gZXhhbXBsZVszN10KK2F1dGggIDppbmZvICA6IFs1NDg3Mi4wMDAwMDBdIGV4YW1wbGVbMzhdCithdXRoICA6ZGVidWcgOiBbNTkzMTkuMDAwMDAwXSBleGFtcGxlWzM5XQorc3lzbG9nOmVtZXJnIDogWzY0MDAwLjAwMDAwMF0gZXhhbXBsZVs0MF0KK3N5c2xvZzphbGVydCA6IFs2ODkyMS4wMDAwMDBdIGV4YW1wbGVbNDFdCitzeXNsb2c6Y3JpdCAgOiBbNzQwODguMDAwMDAwXSBleGFtcGxlWzQyXQorc3lzbG9nOmVyciAgIDogWzc5NTA3LjAwMDAwMF0gZXhhbXBsZVs0M10KK3N5c2xvZzp3YXJuICA6IFs4NTE4NC4wMDAwMDBdIGV4YW1wbGVbNDRdCitzeXNsb2c6bm90aWNlOiBbOTExMjUuMDAwMDAwXSBleGFtcGxlWzQ1XQorc3lzbG9nOmluZm8gIDogWzk3MzM2LjAwMDAwMF0gZXhhbXBsZVs0Nl0KK3N5c2xvZzpkZWJ1ZyA6IFsxMDM4MjMuMDAwMDAwXSBleGFtcGxlWzQ3XQorbHByICAgOmVtZXJnIDogWzExMDU5Mi4wMDAwMDBdIGV4YW1wbGVbNDhdCitscHIgICA6YWxlcnQgOiBbMTE3NjQ5LjAwMDAwMF0gZXhhbXBsZVs0OV0KK2xwciAgIDpjcml0ICA6IFsxMjUwMDAuMDAwMDAwXSBleGFtcGxlWzUwXQorbHByICAgOmVyciAgIDogWzEzMjY1MS4wMDAwMDBdIGV4YW1wbGVbNTFdCitscHIgICA6d2FybiAgOiBbMTQwNjA4LjAwMDAwMF0gZXhhbXBsZVs1Ml0KK2xwciAgIDpub3RpY2U6IFsxNDg4NzcuMDAwMDAwXSBleGFtcGxlWzUzXQorbHByICAgOmluZm8gIDogWzE1NzQ2NC4wMDAwMDBdIGV4YW1wbGVbNTRdCitscHIgICA6ZGVidWcgOiBbMTY2Mzc1LjAwMDAwMF0gZXhhbXBsZVs1NV0KK25ld3MgIDplbWVyZyA6IFsxNzU2MTYuMDAwMDAwXSBleGFtcGxlWzU2XQorbmV3cyAgOmFsZXJ0IDogWzE4NTE5My4wMDAwMDBdIGV4YW1wbGVbNTddCituZXdzICA6Y3JpdCAgOiBbMTk1MTEyLjAwMDAwMF0gZXhhbXBsZVs1OF0KK25ld3MgIDplcnIgICA6IFsyMDUzNzkuMDAwMDAwXSBleGFtcGxlWzU5XQorbmV3cyAgOndhcm4gIDogWzIxNjAwMC4wMDAwMDBdIGV4YW1wbGVbNjBdCituZXdzICA6bm90aWNlOiBbMjI2OTgxLjAwMDAwMF0gZXhhbXBsZVs2MV0KK25ld3MgIDppbmZvICA6IFsyMzgzMjguMDAwMDAwXSBleGFtcGxlWzYyXQorbmV3cyAgOmRlYnVnIDogWzI1MDA0Ny4wMDAwMDBdIGV4YW1wbGVbNjNdCit1dWNwICA6ZW1lcmcgOiBbMjYyMTQ0LjAwMDAwMF0gZXhhbXBsZVs2NF0KK3V1Y3AgIDphbGVydCA6IFsyNzQ2MjUuMDAwMDAwXSBleGFtcGxlWzY1XQordXVjcCAgOmNyaXQgIDogWzI4NzQ5Ni4wMDAwMDBdIGV4YW1wbGVbNjZdCit1dWNwICA6ZXJyICAgOiBbMzAwNzYzLjAwMDAwMF0gZXhhbXBsZVs2N10KK3V1Y3AgIDp3YXJuICA6IFszMTQ0MzIuMDAwMDAwXSBleGFtcGxlWzY4XQordXVjcCAgOm5vdGljZTogWzMyODUwOS4wMDAwMDBdIGV4YW1wbGVbNjldCit1dWNwICA6aW5mbyAgOiBbMzQzMDAwLjAwMDAwMF0gZXhhbXBsZVs3MF0KK3V1Y3AgIDpkZWJ1ZyA6IFszNTc5MTEuMDAwMDAwXSBleGFtcGxlWzcxXQorY3JvbiAgOmVtZXJnIDogWzM3MzI0OC4wMDAwMDBdIGV4YW1wbGVbNzJdCitjcm9uICA6YWxlcnQgOiBbMzg5MDE3LjAwMDAwMF0gZXhhbXBsZVs3M10KK2Nyb24gIDpjcml0ICA6IFs0MDUyMjQuMDAwMDAwXSBleGFtcGxlWzc0XQorY3JvbiAgOmVyciAgIDogWzQyMTg3NS4wMDAwMDBdIGV4YW1wbGVbNzVdCitjcm9uICA6d2FybiAgOiBbNDM4OTc2LjAwMDAwMF0gZXhhbXBsZVs3Nl0KK2Nyb24gIDpub3RpY2U6IFs0NTY1MzMuMDAwMDAwXSBleGFtcGxlWzc3XQorY3JvbiAgOmluZm8gIDogWzQ3NDU1Mi4wMDAwMDBdIGV4YW1wbGVbNzhdCitjcm9uICA6ZGVidWcgOiBbNDkzMDM5LjAwMDAwMF0gZXhhbXBsZVs3OV0KK2F1dGhwcml2OmVtZXJnIDogWzUxMjAwMC4wMDAwMDBdIGV4YW1wbGVbODBdCithdXRocHJpdjphbGVydCA6IFs1MzE0NDEuMDAwMDAwXSBleGFtcGxlWzgxXQorYXV0aHByaXY6Y3JpdCAgOiBbNTUxMzY4LjAwMDAwMF0gZXhhbXBsZVs4Ml0KK2F1dGhwcml2OmVyciAgIDogWzU3MTc4Ny4wMDAwMDBdIGV4YW1wbGVbODNdCithdXRocHJpdjp3YXJuICA6IFs1OTI3MDQuMDAwMDAwXSBleGFtcGxlWzg0XQorYXV0aHByaXY6bm90aWNlOiBbNjE0MTI1LjAwMDAwMF0gZXhhbXBsZVs4NV0KK2F1dGhwcml2OmluZm8gIDogWzYzNjA1Ni4wMDAwMDBdIGV4YW1wbGVbODZdCithdXRocHJpdjpkZWJ1ZyA6IFs2NTg1MDMuMDAwMDAwXSBleGFtcGxlWzg3XQorZnRwICAgOmVtZXJnIDogWzY4MTQ3Mi4wMDAwMDBdIGV4YW1wbGVbODhdCitmdHAgICA6YWxlcnQgOiBbNzA0OTY5LjAwMDAwMF0gZXhhbXBsZVs4OV0KK2Z0cCAgIDpjcml0ICA6IFs3MjkwMDAuMDAwMDAwXSBleGFtcGxlWzkwXQorZnRwICAgOmVyciAgIDogWzc1MzU3MS4wMDAwMDBdIGV4YW1wbGVbOTFdCitmdHAgICA6d2FybiAgOiBbNzc4Njg4LjAwMDAwMF0gZXhhbXBsZVs5Ml0KK2Z0cCAgIDpub3RpY2U6IFs4MDQzNTcuMDAwMDAwXSBleGFtcGxlWzkzXQorZnRwICAgOmluZm8gIDogWzgzMDU4NC4wMDAwMDBdIGV4YW1wbGVbOTRdCitmdHAgICA6ZGVidWcgOiBbODU3Mzc1LjAwMDAwMF0gZXhhbXBsZVs5NV0KK1s4ODQ3MzYuMDAwMDAwXSBleGFtcGxlWzk2XQorWzkxMjY3My4wMDAwMDBdIGV4YW1wbGVbOTddCitbOTQxMTkyLjAwMDAwMF0gZXhhbXBsZVs5OF0KK1s5NzAyOTkuMDAwMDAwXSBleGFtcGxlWzk5XQorWzEwMDAwMDAuMDAwMDAwXSBleGFtcGxlWzEwMF0KK1sxMDMwMzAxLjAwMDAwMF0gZXhhbXBsZVsxMDFdCitbMTA2MTIwOC4wMDAwMDBdIGV4YW1wbGVbMTAyXQorWzEwOTI3MjcuMDAwMDAwXSBleGFtcGxlWzEwM10KK1sxMTI0ODY0LjAwMDAwMF0gZXhhbXBsZVsxMDRdCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9kbWVzZy9kZWx0YSBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2RlbHRhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxZGZlYzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9kbWVzZy9kZWx0YQpAQCAtMCwwICsxLDEwNSBAQAorWyAgICAwLjAwMDAwMCA8ICAgIDAuMDAwMDAwPl0gZXhhbXBsZVswXQorWyAgICAxLjAwMDAwMCA8ICAgIDAuMDAwMDAwPl0gZXhhbXBsZVsxXQorWyAgICA4LjAwMDAwMCA8ICAgIDcuMDAwMDAwPl0gZXhhbXBsZVsyXQorWyAgIDI3LjAwMDAwMCA8ICAgMTkuMDAwMDAwPl0gZXhhbXBsZVszXQorWyAgIDY0LjAwMDAwMCA8ICAgMzcuMDAwMDAwPl0gZXhhbXBsZVs0XQorWyAgMTI1LjAwMDAwMCA8ICAgNjEuMDAwMDAwPl0gZXhhbXBsZVs1XQorWyAgMjE2LjAwMDAwMCA8ICAgOTEuMDAwMDAwPl0gZXhhbXBsZVs2XQorWyAgMzQzLjAwMDAwMCA8ICAxMjcuMDAwMDAwPl0gZXhhbXBsZVs3XQorWyAgNTEyLjAwMDAwMCA8ICAxNjkuMDAwMDAwPl0gZXhhbXBsZVs4XQorWyAgNzI5LjAwMDAwMCA8ICAyMTcuMDAwMDAwPl0gZXhhbXBsZVs5XQorWyAxMDAwLjAwMDAwMCA8ICAyNzEuMDAwMDAwPl0gZXhhbXBsZVsxMF0KK1sgMTMzMS4wMDAwMDAgPCAgMzMxLjAwMDAwMD5dIGV4YW1wbGVbMTFdCitbIDE3MjguMDAwMDAwIDwgIDM5Ny4wMDAwMDA+XSBleGFtcGxlWzEyXQorWyAyMTk3LjAwMDAwMCA8ICA0NjkuMDAwMDAwPl0gZXhhbXBsZVsxM10KK1sgMjc0NC4wMDAwMDAgPCAgNTQ3LjAwMDAwMD5dIGV4YW1wbGVbMTRdCitbIDMzNzUuMDAwMDAwIDwgIDYzMS4wMDAwMDA+XSBleGFtcGxlWzE1XQorWyA0MDk2LjAwMDAwMCA8ICA3MjEuMDAwMDAwPl0gZXhhbXBsZVsxNl0KK1sgNDkxMy4wMDAwMDAgPCAgODE3LjAwMDAwMD5dIGV4YW1wbGVbMTddCitbIDU4MzIuMDAwMDAwIDwgIDkxOS4wMDAwMDA+XSBleGFtcGxlWzE4XQorWyA2ODU5LjAwMDAwMCA8IDEwMjcuMDAwMDAwPl0gZXhhbXBsZVsxOV0KK1sgODAwMC4wMDAwMDAgPCAxMTQxLjAwMDAwMD5dIGV4YW1wbGVbMjBdCitbIDkyNjEuMDAwMDAwIDwgMTI2MS4wMDAwMDA+XSBleGFtcGxlWzIxXQorWzEwNjQ4LjAwMDAwMCA8IDEzODcuMDAwMDAwPl0gZXhhbXBsZVsyMl0KK1sxMjE2Ny4wMDAwMDAgPCAxNTE5LjAwMDAwMD5dIGV4YW1wbGVbMjNdCitbMTM4MjQuMDAwMDAwIDwgMTY1Ny4wMDAwMDA+XSBleGFtcGxlWzI0XQorWzE1NjI1LjAwMDAwMCA8IDE4MDEuMDAwMDAwPl0gZXhhbXBsZVsyNV0KK1sxNzU3Ni4wMDAwMDAgPCAxOTUxLjAwMDAwMD5dIGV4YW1wbGVbMjZdCitbMTk2ODMuMDAwMDAwIDwgMjEwNy4wMDAwMDA+XSBleGFtcGxlWzI3XQorWzIxOTUyLjAwMDAwMCA8IDIyNjkuMDAwMDAwPl0gZXhhbXBsZVsyOF0KK1syNDM4OS4wMDAwMDAgPCAyNDM3LjAwMDAwMD5dIGV4YW1wbGVbMjldCitbMjcwMDAuMDAwMDAwIDwgMjYxMS4wMDAwMDA+XSBleGFtcGxlWzMwXQorWzI5NzkxLjAwMDAwMCA8IDI3OTEuMDAwMDAwPl0gZXhhbXBsZVszMV0KK1szMjc2OC4wMDAwMDAgPCAyOTc3LjAwMDAwMD5dIGV4YW1wbGVbMzJdCitbMzU5MzcuMDAwMDAwIDwgMzE2OS4wMDAwMDA+XSBleGFtcGxlWzMzXQorWzM5MzA0LjAwMDAwMCA8IDMzNjcuMDAwMDAwPl0gZXhhbXBsZVszNF0KK1s0Mjg3NS4wMDAwMDAgPCAzNTcxLjAwMDAwMD5dIGV4YW1wbGVbMzVdCitbNDY2NTYuMDAwMDAwIDwgMzc4MS4wMDAwMDA+XSBleGFtcGxlWzM2XQorWzUwNjUzLjAwMDAwMCA8IDM5OTcuMDAwMDAwPl0gZXhhbXBsZVszN10KK1s1NDg3Mi4wMDAwMDAgPCA0MjE5LjAwMDAwMD5dIGV4YW1wbGVbMzhdCitbNTkzMTkuMDAwMDAwIDwgNDQ0Ny4wMDAwMDA+XSBleGFtcGxlWzM5XQorWzY0MDAwLjAwMDAwMCA8IDQ2ODEuMDAwMDAwPl0gZXhhbXBsZVs0MF0KK1s2ODkyMS4wMDAwMDAgPCA0OTIxLjAwMDAwMD5dIGV4YW1wbGVbNDFdCitbNzQwODguMDAwMDAwIDwgNTE2Ny4wMDAwMDA+XSBleGFtcGxlWzQyXQorWzc5NTA3LjAwMDAwMCA8IDU0MTkuMDAwMDAwPl0gZXhhbXBsZVs0M10KK1s4NTE4NC4wMDAwMDAgPCA1Njc3LjAwMDAwMD5dIGV4YW1wbGVbNDRdCitbOTExMjUuMDAwMDAwIDwgNTk0MS4wMDAwMDA+XSBleGFtcGxlWzQ1XQorWzk3MzM2LjAwMDAwMCA8IDYyMTEuMDAwMDAwPl0gZXhhbXBsZVs0Nl0KK1sxMDM4MjMuMDAwMDAwIDwgNjQ4Ny4wMDAwMDA+XSBleGFtcGxlWzQ3XQorWzExMDU5Mi4wMDAwMDAgPCA2NzY5LjAwMDAwMD5dIGV4YW1wbGVbNDhdCitbMTE3NjQ5LjAwMDAwMCA8IDcwNTcuMDAwMDAwPl0gZXhhbXBsZVs0OV0KK1sxMjUwMDAuMDAwMDAwIDwgNzM1MS4wMDAwMDA+XSBleGFtcGxlWzUwXQorWzEzMjY1MS4wMDAwMDAgPCA3NjUxLjAwMDAwMD5dIGV4YW1wbGVbNTFdCitbMTQwNjA4LjAwMDAwMCA8IDc5NTcuMDAwMDAwPl0gZXhhbXBsZVs1Ml0KK1sxNDg4NzcuMDAwMDAwIDwgODI2OS4wMDAwMDA+XSBleGFtcGxlWzUzXQorWzE1NzQ2NC4wMDAwMDAgPCA4NTg3LjAwMDAwMD5dIGV4YW1wbGVbNTRdCitbMTY2Mzc1LjAwMDAwMCA8IDg5MTEuMDAwMDAwPl0gZXhhbXBsZVs1NV0KK1sxNzU2MTYuMDAwMDAwIDwgOTI0MS4wMDAwMDA+XSBleGFtcGxlWzU2XQorWzE4NTE5My4wMDAwMDAgPCA5NTc3LjAwMDAwMD5dIGV4YW1wbGVbNTddCitbMTk1MTEyLjAwMDAwMCA8IDk5MTkuMDAwMDAwPl0gZXhhbXBsZVs1OF0KK1syMDUzNzkuMDAwMDAwIDwxMDI2Ny4wMDAwMDA+XSBleGFtcGxlWzU5XQorWzIxNjAwMC4wMDAwMDAgPDEwNjIxLjAwMDAwMD5dIGV4YW1wbGVbNjBdCitbMjI2OTgxLjAwMDAwMCA8MTA5ODEuMDAwMDAwPl0gZXhhbXBsZVs2MV0KK1syMzgzMjguMDAwMDAwIDwxMTM0Ny4wMDAwMDA+XSBleGFtcGxlWzYyXQorWzI1MDA0Ny4wMDAwMDAgPDExNzE5LjAwMDAwMD5dIGV4YW1wbGVbNjNdCitbMjYyMTQ0LjAwMDAwMCA8MTIwOTcuMDAwMDAwPl0gZXhhbXBsZVs2NF0KK1syNzQ2MjUuMDAwMDAwIDwxMjQ4MS4wMDAwMDA+XSBleGFtcGxlWzY1XQorWzI4NzQ5Ni4wMDAwMDAgPDEyODcxLjAwMDAwMD5dIGV4YW1wbGVbNjZdCitbMzAwNzYzLjAwMDAwMCA8MTMyNjcuMDAwMDAwPl0gZXhhbXBsZVs2N10KK1szMTQ0MzIuMDAwMDAwIDwxMzY2OS4wMDAwMDA+XSBleGFtcGxlWzY4XQorWzMyODUwOS4wMDAwMDAgPDE0MDc3LjAwMDAwMD5dIGV4YW1wbGVbNjldCitbMzQzMDAwLjAwMDAwMCA8MTQ0OTEuMDAwMDAwPl0gZXhhbXBsZVs3MF0KK1szNTc5MTEuMDAwMDAwIDwxNDkxMS4wMDAwMDA+XSBleGFtcGxlWzcxXQorWzM3MzI0OC4wMDAwMDAgPDE1MzM3LjAwMDAwMD5dIGV4YW1wbGVbNzJdCitbMzg5MDE3LjAwMDAwMCA8MTU3NjkuMDAwMDAwPl0gZXhhbXBsZVs3M10KK1s0MDUyMjQuMDAwMDAwIDwxNjIwNy4wMDAwMDA+XSBleGFtcGxlWzc0XQorWzQyMTg3NS4wMDAwMDAgPDE2NjUxLjAwMDAwMD5dIGV4YW1wbGVbNzVdCitbNDM4OTc2LjAwMDAwMCA8MTcxMDEuMDAwMDAwPl0gZXhhbXBsZVs3Nl0KK1s0NTY1MzMuMDAwMDAwIDwxNzU1Ny4wMDAwMDA+XSBleGFtcGxlWzc3XQorWzQ3NDU1Mi4wMDAwMDAgPDE4MDE5LjAwMDAwMD5dIGV4YW1wbGVbNzhdCitbNDkzMDM5LjAwMDAwMCA8MTg0ODcuMDAwMDAwPl0gZXhhbXBsZVs3OV0KK1s1MTIwMDAuMDAwMDAwIDwxODk2MS4wMDAwMDA+XSBleGFtcGxlWzgwXQorWzUzMTQ0MS4wMDAwMDAgPDE5NDQxLjAwMDAwMD5dIGV4YW1wbGVbODFdCitbNTUxMzY4LjAwMDAwMCA8MTk5MjcuMDAwMDAwPl0gZXhhbXBsZVs4Ml0KK1s1NzE3ODcuMDAwMDAwIDwyMDQxOS4wMDAwMDA+XSBleGFtcGxlWzgzXQorWzU5MjcwNC4wMDAwMDAgPDIwOTE3LjAwMDAwMD5dIGV4YW1wbGVbODRdCitbNjE0MTI1LjAwMDAwMCA8MjE0MjEuMDAwMDAwPl0gZXhhbXBsZVs4NV0KK1s2MzYwNTYuMDAwMDAwIDwyMTkzMS4wMDAwMDA+XSBleGFtcGxlWzg2XQorWzY1ODUwMy4wMDAwMDAgPDIyNDQ3LjAwMDAwMD5dIGV4YW1wbGVbODddCitbNjgxNDcyLjAwMDAwMCA8MjI5NjkuMDAwMDAwPl0gZXhhbXBsZVs4OF0KK1s3MDQ5NjkuMDAwMDAwIDwyMzQ5Ny4wMDAwMDA+XSBleGFtcGxlWzg5XQorWzcyOTAwMC4wMDAwMDAgPDI0MDMxLjAwMDAwMD5dIGV4YW1wbGVbOTBdCitbNzUzNTcxLjAwMDAwMCA8MjQ1NzEuMDAwMDAwPl0gZXhhbXBsZVs5MV0KK1s3Nzg2ODguMDAwMDAwIDwyNTExNy4wMDAwMDA+XSBleGFtcGxlWzkyXQorWzgwNDM1Ny4wMDAwMDAgPDI1NjY5LjAwMDAwMD5dIGV4YW1wbGVbOTNdCitbODMwNTg0LjAwMDAwMCA8MjYyMjcuMDAwMDAwPl0gZXhhbXBsZVs5NF0KK1s4NTczNzUuMDAwMDAwIDwyNjc5MS4wMDAwMDA+XSBleGFtcGxlWzk1XQorWzg4NDczNi4wMDAwMDAgPDI3MzYxLjAwMDAwMD5dIGV4YW1wbGVbOTZdCitbOTEyNjczLjAwMDAwMCA8Mjc5MzcuMDAwMDAwPl0gZXhhbXBsZVs5N10KK1s5NDExOTIuMDAwMDAwIDwyODUxOS4wMDAwMDA+XSBleGFtcGxlWzk4XQorWzk3MDI5OS4wMDAwMDAgPDI5MTA3LjAwMDAwMD5dIGV4YW1wbGVbOTldCitbMTAwMDAwMC4wMDAwMDAgPDI5NzAxLjAwMDAwMD5dIGV4YW1wbGVbMTAwXQorWzEwMzAzMDEuMDAwMDAwIDwzMDMwMS4wMDAwMDA+XSBleGFtcGxlWzEwMV0KK1sxMDYxMjA4LjAwMDAwMCA8MzA5MDcuMDAwMDAwPl0gZXhhbXBsZVsxMDJdCitbMTA5MjcyNy4wMDAwMDAgPDMxNTE5LjAwMDAwMD5dIGV4YW1wbGVbMTAzXQorWzExMjQ4NjQuMDAwMDAwIDwzMjEzNy4wMDAwMDA+XSBleGFtcGxlWzEwNF0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2ZhY2lsaXRpZXMgYi90ZXN0cy9leHBlY3RlZC9kbWVzZy9mYWNpbGl0aWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3MzNlNTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9kbWVzZy9mYWNpbGl0aWVzCkBAIC0wLDAgKzEsOTYgQEAKK1sgICAgMC4wMDAwMDBdIGV4YW1wbGVbMF0KK1sgICAgMS4wMDAwMDBdIGV4YW1wbGVbMV0KK1sgICAgOC4wMDAwMDBdIGV4YW1wbGVbMl0KK1sgICAyNy4wMDAwMDBdIGV4YW1wbGVbM10KK1sgICA2NC4wMDAwMDBdIGV4YW1wbGVbNF0KK1sgIDEyNS4wMDAwMDBdIGV4YW1wbGVbNV0KK1sgIDIxNi4wMDAwMDBdIGV4YW1wbGVbNl0KK1sgIDM0My4wMDAwMDBdIGV4YW1wbGVbN10KK1sgIDUxMi4wMDAwMDBdIGV4YW1wbGVbOF0KK1sgIDcyOS4wMDAwMDBdIGV4YW1wbGVbOV0KK1sgMTAwMC4wMDAwMDBdIGV4YW1wbGVbMTBdCitbIDEzMzEuMDAwMDAwXSBleGFtcGxlWzExXQorWyAxNzI4LjAwMDAwMF0gZXhhbXBsZVsxMl0KK1sgMjE5Ny4wMDAwMDBdIGV4YW1wbGVbMTNdCitbIDI3NDQuMDAwMDAwXSBleGFtcGxlWzE0XQorWyAzMzc1LjAwMDAwMF0gZXhhbXBsZVsxNV0KK1sgNDA5Ni4wMDAwMDBdIGV4YW1wbGVbMTZdCitbIDQ5MTMuMDAwMDAwXSBleGFtcGxlWzE3XQorWyA1ODMyLjAwMDAwMF0gZXhhbXBsZVsxOF0KK1sgNjg1OS4wMDAwMDBdIGV4YW1wbGVbMTldCitbIDgwMDAuMDAwMDAwXSBleGFtcGxlWzIwXQorWyA5MjYxLjAwMDAwMF0gZXhhbXBsZVsyMV0KK1sxMDY0OC4wMDAwMDBdIGV4YW1wbGVbMjJdCitbMTIxNjcuMDAwMDAwXSBleGFtcGxlWzIzXQorWzEzODI0LjAwMDAwMF0gZXhhbXBsZVsyNF0KK1sxNTYyNS4wMDAwMDBdIGV4YW1wbGVbMjVdCitbMTc1NzYuMDAwMDAwXSBleGFtcGxlWzI2XQorWzE5NjgzLjAwMDAwMF0gZXhhbXBsZVsyN10KK1syMTk1Mi4wMDAwMDBdIGV4YW1wbGVbMjhdCitbMjQzODkuMDAwMDAwXSBleGFtcGxlWzI5XQorWzI3MDAwLjAwMDAwMF0gZXhhbXBsZVszMF0KK1syOTc5MS4wMDAwMDBdIGV4YW1wbGVbMzFdCitbMzI3NjguMDAwMDAwXSBleGFtcGxlWzMyXQorWzM1OTM3LjAwMDAwMF0gZXhhbXBsZVszM10KK1szOTMwNC4wMDAwMDBdIGV4YW1wbGVbMzRdCitbNDI4NzUuMDAwMDAwXSBleGFtcGxlWzM1XQorWzQ2NjU2LjAwMDAwMF0gZXhhbXBsZVszNl0KK1s1MDY1My4wMDAwMDBdIGV4YW1wbGVbMzddCitbNTQ4NzIuMDAwMDAwXSBleGFtcGxlWzM4XQorWzU5MzE5LjAwMDAwMF0gZXhhbXBsZVszOV0KK1s2NDAwMC4wMDAwMDBdIGV4YW1wbGVbNDBdCitbNjg5MjEuMDAwMDAwXSBleGFtcGxlWzQxXQorWzc0MDg4LjAwMDAwMF0gZXhhbXBsZVs0Ml0KK1s3OTUwNy4wMDAwMDBdIGV4YW1wbGVbNDNdCitbODUxODQuMDAwMDAwXSBleGFtcGxlWzQ0XQorWzkxMTI1LjAwMDAwMF0gZXhhbXBsZVs0NV0KK1s5NzMzNi4wMDAwMDBdIGV4YW1wbGVbNDZdCitbMTAzODIzLjAwMDAwMF0gZXhhbXBsZVs0N10KK1sxMTA1OTIuMDAwMDAwXSBleGFtcGxlWzQ4XQorWzExNzY0OS4wMDAwMDBdIGV4YW1wbGVbNDldCitbMTI1MDAwLjAwMDAwMF0gZXhhbXBsZVs1MF0KK1sxMzI2NTEuMDAwMDAwXSBleGFtcGxlWzUxXQorWzE0MDYwOC4wMDAwMDBdIGV4YW1wbGVbNTJdCitbMTQ4ODc3LjAwMDAwMF0gZXhhbXBsZVs1M10KK1sxNTc0NjQuMDAwMDAwXSBleGFtcGxlWzU0XQorWzE2NjM3NS4wMDAwMDBdIGV4YW1wbGVbNTVdCitbMTc1NjE2LjAwMDAwMF0gZXhhbXBsZVs1Nl0KK1sxODUxOTMuMDAwMDAwXSBleGFtcGxlWzU3XQorWzE5NTExMi4wMDAwMDBdIGV4YW1wbGVbNThdCitbMjA1Mzc5LjAwMDAwMF0gZXhhbXBsZVs1OV0KK1syMTYwMDAuMDAwMDAwXSBleGFtcGxlWzYwXQorWzIyNjk4MS4wMDAwMDBdIGV4YW1wbGVbNjFdCitbMjM4MzI4LjAwMDAwMF0gZXhhbXBsZVs2Ml0KK1syNTAwNDcuMDAwMDAwXSBleGFtcGxlWzYzXQorWzI2MjE0NC4wMDAwMDBdIGV4YW1wbGVbNjRdCitbMjc0NjI1LjAwMDAwMF0gZXhhbXBsZVs2NV0KK1syODc0OTYuMDAwMDAwXSBleGFtcGxlWzY2XQorWzMwMDc2My4wMDAwMDBdIGV4YW1wbGVbNjddCitbMzE0NDMyLjAwMDAwMF0gZXhhbXBsZVs2OF0KK1szMjg1MDkuMDAwMDAwXSBleGFtcGxlWzY5XQorWzM0MzAwMC4wMDAwMDBdIGV4YW1wbGVbNzBdCitbMzU3OTExLjAwMDAwMF0gZXhhbXBsZVs3MV0KK1szNzMyNDguMDAwMDAwXSBleGFtcGxlWzcyXQorWzM4OTAxNy4wMDAwMDBdIGV4YW1wbGVbNzNdCitbNDA1MjI0LjAwMDAwMF0gZXhhbXBsZVs3NF0KK1s0MjE4NzUuMDAwMDAwXSBleGFtcGxlWzc1XQorWzQzODk3Ni4wMDAwMDBdIGV4YW1wbGVbNzZdCitbNDU2NTMzLjAwMDAwMF0gZXhhbXBsZVs3N10KK1s0NzQ1NTIuMDAwMDAwXSBleGFtcGxlWzc4XQorWzQ5MzAzOS4wMDAwMDBdIGV4YW1wbGVbNzldCitbNTEyMDAwLjAwMDAwMF0gZXhhbXBsZVs4MF0KK1s1MzE0NDEuMDAwMDAwXSBleGFtcGxlWzgxXQorWzU1MTM2OC4wMDAwMDBdIGV4YW1wbGVbODJdCitbNTcxNzg3LjAwMDAwMF0gZXhhbXBsZVs4M10KK1s1OTI3MDQuMDAwMDAwXSBleGFtcGxlWzg0XQorWzYxNDEyNS4wMDAwMDBdIGV4YW1wbGVbODVdCitbNjM2MDU2LjAwMDAwMF0gZXhhbXBsZVs4Nl0KK1s2NTg1MDMuMDAwMDAwXSBleGFtcGxlWzg3XQorWzY4MTQ3Mi4wMDAwMDBdIGV4YW1wbGVbODhdCitbNzA0OTY5LjAwMDAwMF0gZXhhbXBsZVs4OV0KK1s3MjkwMDAuMDAwMDAwXSBleGFtcGxlWzkwXQorWzc1MzU3MS4wMDAwMDBdIGV4YW1wbGVbOTFdCitbNzc4Njg4LjAwMDAwMF0gZXhhbXBsZVs5Ml0KK1s4MDQzNTcuMDAwMDAwXSBleGFtcGxlWzkzXQorWzgzMDU4NC4wMDAwMDBdIGV4YW1wbGVbOTRdCitbODU3Mzc1LjAwMDAwMF0gZXhhbXBsZVs5NV0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2luZGVudGF0aW9uIGIvdGVzdHMvZXhwZWN0ZWQvZG1lc2cvaW5kZW50YXRpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTFiMjc3MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2RtZXNnL2luZGVudGF0aW9uCkBAIC0wLDAgKzEsMzUgQEAKK1sgICAgMS4wMDAwMDBdIG5ldworICAgICAgICAgICAgICAgbGluZQorWyAgICAyLjAwMDAwMF0gdHdvCisgICAgICAgICAgICAgICBuZXcKKyAgICAgICAgICAgICAgIGxpbmVzCit1c2VyICA6Y3JpdCAgOiBbICAgIDEuMDAwMDAwXSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUKK21haWwgIDp3YXJuICA6IFsgICAgMi4wMDAwMDBdIHR3bworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lcworWzwgICAgMC4wMDAwMDA+XSBuZXcKKyAgICAgICAgICAgICAgICAgbGluZQorWzwgICAgMS4wMDAwMDA+XSB0d28KKyAgICAgICAgICAgICAgICAgbmV3CisgICAgICAgICAgICAgICAgIGxpbmVzCituZXcKK2xpbmUKK3R3bworbmV3CitsaW5lcworW0ZlYjEzIDIzOjMxXSBuZXcKKyAgICAgICAgICAgICAgbGluZQorWyAgKzEuMDAwMDAwXSB0d28KKyAgICAgICAgICAgICAgbmV3CisgICAgICAgICAgICAgIGxpbmVzCitbRnJpIEZlYiAxMyAyMzozMTozMSAyMDA5XSBuZXcKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUKK1tGcmkgRmViIDEzIDIzOjMxOjMyIDIwMDldIHR3bworICAgICAgICAgICAgICAgICAgICAgICAgICAgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lcworMjAwOS0wMi0xM1QyMzozMTozMSwwMDAwMDArMDA6MDAgbmV3CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lCisyMDA5LTAyLTEzVDIzOjMxOjMyLDAwMDAwMCswMDowMCB0d28KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrIGIvdGVzdHMvZXhwZWN0ZWQvZWplY3QvdW1vdW50LWJ5LWRpc2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrLW1vdW50ZWQgYi90ZXN0cy9leHBlY3RlZC9lamVjdC91bW91bnQtYnktZGlzay1tb3VudGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9lamVjdC91bW91bnQtYnktZGlzay1tb3VudGVkCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrLW1vdW50ZWQtcGFydGl0aW9uIGIvdGVzdHMvZXhwZWN0ZWQvZWplY3QvdW1vdW50LWJ5LWRpc2stbW91bnRlZC1wYXJ0aXRpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmE5OWJhMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1kaXNrLW1vdW50ZWQtcGFydGl0aW9uCkBAIC0wLDAgKzEsMiBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1wYXJ0aXRpb24gYi90ZXN0cy9leHBlY3RlZC9lamVjdC91bW91bnQtYnktcGFydGl0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhOTliYTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9lamVjdC91bW91bnQtYnktcGFydGl0aW9uCkBAIC0wLDAgKzEsMiBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1wYXJ0aXRpb24tbW91bnRlZCBiL3Rlc3RzL2V4cGVjdGVkL2VqZWN0L3Vtb3VudC1ieS1wYXJ0aXRpb24tbW91bnRlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTk5YmEwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZWplY3QvdW1vdW50LWJ5LXBhcnRpdGlvbi1tb3VudGVkCkBAIC0wLDAgKzEsMiBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00SyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00SwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmRjNTBlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTRLCkBAIC0wLDAgKzEsNzggQEAKK0NyZWF0ZSBwYXJ0aXRpb25zCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoMjA0OC0xMDIzOTksIGRlZmF1bHQgMjA0OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMDQ4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICgyMjUyOC0xMDIzOTksIGRlZmF1bHQgMjI1MjgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoMjI1MjgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDIgcHJpbWFyeSwgMCBleHRlbmRlZCwgMiBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMyw0LCBkZWZhdWx0IDMpOiBGaXJzdCBzZWN0b3IgKDQzMDA4LTEwMjM5OSwgZGVmYXVsdCA0MzAwOCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg0MzAwOC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMyBwcmltYXJ5LCAwIGV4dGVuZGVkLCAxIGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IGUpOiAKK1NlbGVjdGVkIHBhcnRpdGlvbiA0CitGaXJzdCBzZWN0b3IgKDYzNDg4LTEwMjM5OSwgZGVmYXVsdCA2MzQ4OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg2MzQ4OC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA1CitGaXJzdCBzZWN0b3IgKDY1NTM2LTEwMjM5OSwgZGVmYXVsdCA2NTUzNik6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg2NTUzNi0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA2CitGaXJzdCBzZWN0b3IgKDc3ODI0LTEwMjM5OSwgZGVmYXVsdCA3NzgyNCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg3NzgyNC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA3CitGaXJzdCBzZWN0b3IgKDkwMTEyLTEwMjM5OSwgZGVmYXVsdCA5MDExMik6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg5MDExMi0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4ICA0MzAwNyAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNDMwMDggIDYzNDg3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA2MzQ4OCAxMDIzOTkgICAzODkxMiAgMTlNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgIDY1NTM2ICA3NTc3NSAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgNzc4MjQgIDg4MDYzICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+NyAgICAgICA5MDExMiAxMDIzOTkgICAxMjI4OCAgIDZNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitBbGlnbm1lbnQgb2Zmc2V0czoKKzAKKzAKKzAKKzAKKzAKKzAKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00Sy02MyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00Sy02MwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNDY5YWI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTRLLTYzCkBAIC0wLDAgKzEsNzkgQEAKK0NyZWF0ZSBwYXJ0aXRpb25zCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoNy0xMDIzOTksIGRlZmF1bHQgNyk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg3LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICgyMDQ4Ny0xMDIzOTksIGRlZmF1bHQgMjA0ODcpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoMjA0ODctMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDIgcHJpbWFyeSwgMCBleHRlbmRlZCwgMiBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMyw0LCBkZWZhdWx0IDMpOiBGaXJzdCBzZWN0b3IgKDQwOTY3LTEwMjM5OSwgZGVmYXVsdCA0MDk2Nyk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg0MDk2Ny0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMyBwcmltYXJ5LCAwIGV4dGVuZGVkLCAxIGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IGUpOiAKK1NlbGVjdGVkIHBhcnRpdGlvbiA0CitGaXJzdCBzZWN0b3IgKDYxNDQ3LTEwMjM5OSwgZGVmYXVsdCA2MTQ0Nyk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg2MTQ0Ny0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA1CitGaXJzdCBzZWN0b3IgKDYxNDU0LTEwMjM5OSwgZGVmYXVsdCA2MzQ4Nyk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg2MzQ4Ny0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA2CitGaXJzdCBzZWN0b3IgKDYxNDU0LTEwMjM5OSwgZGVmYXVsdCA3NTc3NSk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg3NTc3NS0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEFsbCBwcmltYXJ5IHBhcnRpdGlvbnMgYXJlIGluIHVzZS4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA3CitGaXJzdCBzZWN0b3IgKDYxNDU0LTEwMjM5OSwgZGVmYXVsdCA4ODA2Myk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICg4ODA2My0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworQWxpZ25tZW50IG9mZnNldDogMzU4NCBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAgNyAgMjA0ODYgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIwNDg3ICA0MDk2NiAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNDA5NjcgIDYxNDQ2ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA2MTQ0NyAxMDIzOTkgICA0MDk1MyAgMjBNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgIDYzNDg3ICA3MzcyNiAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgNzU3NzUgIDg2MDE0ICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+NyAgICAgICA4ODA2MyAxMDIzOTkgICAxNDMzNyAgIDdNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitBbGlnbm1lbnQgb2Zmc2V0czoKKzAKKzAKKzAKKzAKKzAKKzAKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00Sy1tZCBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi00Sy1tZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYWNhMDMxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTRLLW1kCkBAIC0wLDAgKzEsNzggQEAKK0NyZWF0ZSBwYXJ0aXRpb25zCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0RldmljZSBkb2VzIG5vdCBjb250YWluIGEgcmVjb2duaXplZCBwYXJ0aXRpb24gdGFibGUuCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMCBwcmltYXJ5LCAwIGV4dGVuZGVkLCA0IGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgxLTQsIGRlZmF1bHQgMSk6IEZpcnN0IHNlY3RvciAoMjA0OC0xMDIzOTksIGRlZmF1bHQgMjA0OCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMDQ4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgxIHByaW1hcnksIDAgZXh0ZW5kZWQsIDMgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDItNCwgZGVmYXVsdCAyKTogRmlyc3Qgc2VjdG9yICg0MzAwOC0xMDIzOTksIGRlZmF1bHQgNDMwMDgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNDMwMDgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggIDQzMDA3ICAgNDA5NjAgIDIwTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MzAwOCAxMDIzOTkgICA1OTM5MiAgMjlNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitBbGlnbm1lbnQgb2Zmc2V0czoKKzAKKzAKK0NyZWF0ZSBwYXJ0aXRpb25zIChNRCkKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgwIHByaW1hcnksIDAgZXh0ZW5kZWQsIDQgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDEtNCwgZGVmYXVsdCAxKTogRmlyc3Qgc2VjdG9yICgyMDQ4LTEwMDA5NSwgZGVmYXVsdCAyMDQ4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIwNDgtMTAwMDk1LCBkZWZhdWx0IDEwMDA5NSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDEgcHJpbWFyeSwgMCBleHRlbmRlZCwgMyBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMi00LCBkZWZhdWx0IDIpOiBGaXJzdCBzZWN0b3IgKDIyNTI4LTEwMDA5NSwgZGVmYXVsdCAyMjUyOCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMjUyOC0xMDAwOTUsIGRlZmF1bHQgMTAwMDk1KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+OiA0OC45IE1pQiwgNTEyNDkxNTIgYnl0ZXMsIDEwMDA5NiBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA2NTUzNiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD5wMSAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+cDIgICAgICAyMjUyOCA0MzAwNyAgIDIwNDgwICAxME0gODMgTGludXgKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCisKK0FsaWdubWVudCBvZmZzZXRzIChNRCk6CiswCiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9hbGlnbi01MTItNTEyIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTUxMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTI0YmE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTUxMgpAQCAtMCwwICsxLDY3IEBACitDcmVhdGUgcGFydGl0aW9ucworCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCitEZXZpY2UgZG9lcyBub3QgY29udGFpbiBhIHJlY29nbml6ZWQgcGFydGl0aW9uIHRhYmxlLgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDAgcHJpbWFyeSwgMCBleHRlbmRlZCwgNCBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMS00LCBkZWZhdWx0IDEpOiBGaXJzdCBzZWN0b3IgKDIwNDgtMTAyMzk5LCBkZWZhdWx0IDIwNDgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoMjA0OC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMSBwcmltYXJ5LCAwIGV4dGVuZGVkLCAzIGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgyLTQsIGRlZmF1bHQgMik6IEZpcnN0IHNlY3RvciAoMjI1MjgtMTAyMzk5LCBkZWZhdWx0IDIyNTI4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIyNTI4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgyIHByaW1hcnksIDAgZXh0ZW5kZWQsIDIgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDMsNCwgZGVmYXVsdCAzKTogRmlyc3Qgc2VjdG9yICg0MzAwOC0xMDIzOTksIGRlZmF1bHQgNDMwMDgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNDMwMDgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDMgcHJpbWFyeSwgMCBleHRlbmRlZCwgMSBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBlKTogCitTZWxlY3RlZCBwYXJ0aXRpb24gNAorRmlyc3Qgc2VjdG9yICg2MzQ4OC0xMDIzOTksIGRlZmF1bHQgNjM0ODgpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNjM0ODgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNQorRmlyc3Qgc2VjdG9yICg2NTUzNi0xMDIzOTksIGRlZmF1bHQgNjU1MzYpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNjU1MzYtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNgorRmlyc3Qgc2VjdG9yICg3NzgyNC0xMDIzOTksIGRlZmF1bHQgNzc4MjQpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoNzc4MjQtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBBbGwgcHJpbWFyeSBwYXJ0aXRpb25zIGFyZSBpbiB1c2UuCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNworRmlyc3Qgc2VjdG9yICg5MDExMi0xMDIzOTksIGRlZmF1bHQgOTAxMTIpOiBMYXN0IHNlY3RvciwgK3NlY3RvcnMgb3IgK3NpemV7SyxNLEcsVCxQfSAoOTAxMTItMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD5wMSAgICAgICAyMDQ4ICAyMjUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPnAyICAgICAgMjI1MjggIDQzMDA3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+cDMgICAgICA0MzAwOCAgNjM0ODcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD5wNCAgICAgIDYzNDg4IDEwMjM5OSAgIDM4OTEyICAxOU0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPnA1ICAgICAgNjU1MzYgIDc1Nzc1ICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+cDYgICAgICA3NzgyNCAgODgwNjMgICAxMDI0MCAgIDVNIDgzIExpbnV4Cis8cmVtb3ZlZD5wNyAgICAgIDkwMTEyIDEwMjM5OSAgIDEyMjg4ICAgNk0gODMgTGludXgKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYWxpZ24tNTEyLTUxMi10b3BvbG9neSBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi01MTItdG9wb2xvZ3kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg1NmRjYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2FsaWduLTUxMi01MTItdG9wb2xvZ3kKQEAgLTAsMCArMSw3OCBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworRGV2aWNlIGRvZXMgbm90IGNvbnRhaW4gYSByZWNvZ25pemVkIHBhcnRpdGlvbiB0YWJsZS4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgwIHByaW1hcnksIDAgZXh0ZW5kZWQsIDQgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgcCk6IFBhcnRpdGlvbiBudW1iZXIgKDEtNCwgZGVmYXVsdCAxKTogRmlyc3Qgc2VjdG9yICgyMDQ4LTEwMjM5OSwgZGVmYXVsdCAyMDQ4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIwNDgtMTAyMzk5LCBkZWZhdWx0IDEwMjM5OSk6IAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBQYXJ0aXRpb24gdHlwZQorICAgcCAgIHByaW1hcnkgKDEgcHJpbWFyeSwgMCBleHRlbmRlZCwgMyBmcmVlKQorICAgZSAgIGV4dGVuZGVkIChjb250YWluZXIgZm9yIGxvZ2ljYWwgcGFydGl0aW9ucykKK1NlbGVjdCAoZGVmYXVsdCBwKTogUGFydGl0aW9uIG51bWJlciAoMi00LCBkZWZhdWx0IDIpOiBGaXJzdCBzZWN0b3IgKDIyNTI4LTEwMjM5OSwgZGVmYXVsdCAyMjUyOCk6IExhc3Qgc2VjdG9yLCArc2VjdG9ycyBvciArc2l6ZXtLLE0sRyxULFB9ICgyMjUyOC0xMDIzOTksIGRlZmF1bHQgMTAyMzk5KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiB0eXBlCisgICBwICAgcHJpbWFyeSAoMiBwcmltYXJ5LCAwIGV4dGVuZGVkLCAyIGZyZWUpCisgICBlICAgZXh0ZW5kZWQgKGNvbnRhaW5lciBmb3IgbG9naWNhbCBwYXJ0aXRpb25zKQorU2VsZWN0IChkZWZhdWx0IHApOiBQYXJ0aXRpb24gbnVtYmVyICgzLDQsIGRlZmF1bHQgMyk6IEZpcnN0IHNlY3RvciAoNDMwMDgtMTAyMzk5LCBkZWZhdWx0IDQzMDA4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDQzMDA4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogUGFydGl0aW9uIHR5cGUKKyAgIHAgICBwcmltYXJ5ICgzIHByaW1hcnksIDAgZXh0ZW5kZWQsIDEgZnJlZSkKKyAgIGUgICBleHRlbmRlZCAoY29udGFpbmVyIGZvciBsb2dpY2FsIHBhcnRpdGlvbnMpCitTZWxlY3QgKGRlZmF1bHQgZSk6IAorU2VsZWN0ZWQgcGFydGl0aW9uIDQKK0ZpcnN0IHNlY3RvciAoNjM0ODgtMTAyMzk5LCBkZWZhdWx0IDYzNDg4KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDYzNDg4LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDUKK0ZpcnN0IHNlY3RvciAoNjU1MzYtMTAyMzk5LCBkZWZhdWx0IDY1NTM2KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDY1NTM2LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDYKK0ZpcnN0IHNlY3RvciAoNzc4MjQtMTAyMzk5LCBkZWZhdWx0IDc3ODI0KTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDc3ODI0LTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogQWxsIHByaW1hcnkgcGFydGl0aW9ucyBhcmUgaW4gdXNlLgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDcKK0ZpcnN0IHNlY3RvciAoOTAxMTItMTAyMzk5LCBkZWZhdWx0IDkwMTEyKTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDkwMTEyLTEwMjM5OSwgZGVmYXVsdCAxMDIzOTkpOiAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorCitDb21tYW5kIChtIGZvciBoZWxwKTogRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4ICA0MzAwNyAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNDMwMDggIDYzNDg3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA2MzQ4OCAxMDIzOTkgICAzODkxMiAgMTlNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgIDY1NTM2ICA3NTc3NSAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgNzc4MjQgIDg4MDYzICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+NyAgICAgICA5MDExMiAxMDIzOTkgICAxMjI4OCAgIDZNIDgzIExpbnV4CisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorCitBbGlnbm1lbnQgb2Zmc2V0czoKKzAKKzAKKzAKKzAKKzAKKzAKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0LkJFIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzBfNjQuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2E3OWM0OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0LkJFCkBAIC0wLDAgKzEsMjEzIEBACitCU0RfTEFCRUxTRUNUT1I9MAorQlNEX0xBQkVMT0ZGU0VUPTY0CitCU0RfRVhUUkE9CitCWVRFX09SREVSPUJFCisKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKK0NyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDAgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIDgzIDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorU2V0IDJuZCBwYXJ0aXRpb24gdHlwZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICA4TSBhNSBGcmVlQlNECistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBkZWZhdWx0IEJTRAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDA0MCAgODIgNTYgNDUgNTcgMDAgMDYgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8LlZFVy4uLi4uLi4uLi4uLnwKKzAwMjAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMiAwMCAwMCAwMCAwMCAzZiAgfC4uLi4uLi4uLi4uLi4uLj98CiswMDIwMDA3MCAgMDAgMDAgMDAgZmYgMDAgMDAgMDAgMDEgIDAwIDAwIDNlIGMxIDAwIDAwIDNlIGMxICB8Li4uLi4uLi4uLj4uLi4+LnwKKzAwMjAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMGUgMTAgMDAgMDEgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAyMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uIC4uLi58CiswMDIwMDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMGMwICAwMCAwMCAwMCAwMCA4MiA1NiA0NSA1NyAgNjIgMzMgMDAgMDQgMDAgMDAgMjAgMDAgIHwuLi4uLlZFV2IzLi4uLiAufAorMDAyMDAwZDAgIDAwIDAwIDIwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uIC4uLi4uLi4uLi4uLi58CiswMDIwMDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGYwICAwMCAwMCAwMCAwMCAwMCAwMCA0MCAwMCAgMDAgMDAgMTAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi5ALi4uLi4uLi4ufAorMDAyMDAxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDNlIGMxICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLj4uLi4uLi4uLi58CiswMDIwMDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjI6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGJzZAorCitTbGljZSBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIFR5cGUgICAgIEZzaXplIEJzaXplIENwZworYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMDQwICA4MiA1NiA0NSA1NyAwMCAwNiAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuVkVXLi4uLi4uLi4uLi4ufAorMDAyMDAwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAyIDAwIDAwIDAwIDAwIDNmICB8Li4uLi4uLi4uLi4uLi4uP3wKKzAwMjAwMDcwICAwMCAwMCAwMCBmZiAwMCAwMCAwMCAwMSAgMDAgMDAgM2UgYzEgMDAgMDAgM2UgYzEgIHwuLi4uLi4uLi4uPi4uLj4ufAorMDAyMDAwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwZSAxMCAwMCAwMSAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDIwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4gLi4uLnwKKzAwMjAwMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAwYzAgIDAwIDAwIDAwIDAwIDgyIDU2IDQ1IDU3ICA3ZCAzMiAwMCAwNCAwMCAwMCAyMCAwMCAgfC4uLi4uVkVXfTIuLi4uIC58CiswMDIwMDBkMCAgMDAgMDAgMjAgMDAgMDAgMDAgMDggMDEgIDAwIDAwIDEwIDAwIDAwIDAwIDAwIDAwICB8Li4gLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGUwICAwNyAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDQwIDAwICAwMCAwMCAxMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLkAuLi4uLi4uLi58CiswMDIwMDEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgM2UgYzEgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uPi4uLi4uLi4uLnwKKzAwMjAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCithICAgICAgNDA5NiAgNjE0NCAgICAyMDQ5ICAgIDFNIDQuMkJTRCAgICAgICAwICAgICAwICAgMAorYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCisgMCAgdW51c2VkICAgICAgICAgICA1ICA0LjFCU0QgICAgICAgICAgIDkgIDQuNExGUyAgICAgICAgICAgZCAgYm9vdCAgICAgICAgICAgCisgMSAgc3dhcCAgICAgICAgICAgICA2ICBFaWdodGggRWRpdGlvbiAgIGEgIHVua25vd24gICAgICAgICAgZSAgQURPUyAgICAgICAgICAgCisgMiAgVmVyc2lvbiA2ICAgICAgICA3ICA0LjJCU0QgICAgICAgICAgIGIgIEhQRlMgICAgICAgICAgICAgZiAgSEZTICAgICAgICAgICAgCisgMyAgVmVyc2lvbiA3ICAgICAgICA4ICBNUy1ET1MgICAgICAgICAgIGMgIElTTy05NjYwICAgICAgICAxMCAgQWR2RlMgICAgICAgICAgCisgNCAgU3lzdGVtIFYgICAgICAgCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0LkxFIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzBfNjQuTEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY3M2QwNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0LkxFCkBAIC0wLDAgKzEsMjEzIEBACitCU0RfTEFCRUxTRUNUT1I9MAorQlNEX0xBQkVMT0ZGU0VUPTY0CitCU0RfRVhUUkE9CitCWVRFX09SREVSPUxFCisKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKK0NyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDAgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIDgzIDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorU2V0IDJuZCBwYXJ0aXRpb24gdHlwZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICA4TSBhNSBGcmVlQlNECistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBkZWZhdWx0IEJTRAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDA0MCAgNTcgNDUgNTYgODIgMDYgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8V0VWLi4uLi4uLi4uLi4uLnwKKzAwMjAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMiAwMCAwMCAzZiAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLj8uLi58CiswMDIwMDA3MCAgZmYgMDAgMDAgMDAgMDEgMDAgMDAgMDAgIGMxIDNlIDAwIDAwIGMxIDNlIDAwIDAwICB8Li4uLi4uLi4uPi4uLj4uLnwKKzAwMjAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMTAgMGUgMDEgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAyMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uIC4uLi4uLi58CiswMDIwMDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMGMwICAwMCAwMCAwMCAwMCA1NyA0NSA1NiA4MiAgMzMgNjIgMDQgMDAgMDAgMjAgMDAgMDAgIHwuLi4uV0VWLjNiLi4uIC4ufAorMDAyMDAwZDAgIDAwIDIwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4gLi4uLi4uLi4uLi4uLi58CiswMDIwMDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGYwICAwMCAwMCAwMCAwMCAwMCA0MCAwMCAwMCAgMDAgMTAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLkAuLi4uLi4uLi4ufAorMDAyMDAxMDAgIDAwIDAwIDAwIDAwIGMxIDNlIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uPi4uLi4uLi4uLi58CiswMDIwMDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjI6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGJzZAorCitTbGljZSBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIFR5cGUgICAgIEZzaXplIEJzaXplIENwZworYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMDQwICA1NyA0NSA1NiA4MiAwNiAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHxXRVYuLi4uLi4uLi4uLi4ufAorMDAyMDAwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAyIDAwIDAwIDNmIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uPy4uLnwKKzAwMjAwMDcwICBmZiAwMCAwMCAwMCAwMSAwMCAwMCAwMCAgYzEgM2UgMDAgMDAgYzEgM2UgMDAgMDAgIHwuLi4uLi4uLi4+Li4uPi4ufAorMDAyMDAwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAxMCAwZSAwMSAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDIwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4gLi4uLi4uLnwKKzAwMjAwMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAwYzAgIDAwIDAwIDAwIDAwIDU3IDQ1IDU2IDgyICAzNSA3YSAwNCAwMCAwMCAyMCAwMCAwMCAgfC4uLi5XRVYuNXouLi4gLi58CiswMDIwMDBkMCAgMDAgMjAgMDAgMDAgMDEgMDggMDAgMDAgIDAwIDEwIDAwIDAwIDAwIDAwIDAwIDAwICB8LiAuLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGUwICAwNyAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwZjAgIDAwIDAwIDAwIDAwIDAwIDQwIDAwIDAwICAwMCAxMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uQC4uLi4uLi4uLi58CiswMDIwMDEwMCAgMDAgMDAgMDAgMDAgYzEgM2UgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4+Li4uLi4uLi4uLnwKKzAwMjAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCithICAgICAgNDA5NiAgNjE0NCAgICAyMDQ5ICAgIDFNIDQuMkJTRCAgICAgICAwICAgICAwICAgMAorYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCisgMCAgdW51c2VkICAgICAgICAgICA1ICA0LjFCU0QgICAgICAgICAgIDkgIDQuNExGUyAgICAgICAgICAgZCAgYm9vdCAgICAgICAgICAgCisgMSAgc3dhcCAgICAgICAgICAgICA2ICBFaWdodGggRWRpdGlvbiAgIGEgIHVua25vd24gICAgICAgICAgZSAgQURPUyAgICAgICAgICAgCisgMiAgVmVyc2lvbiA2ICAgICAgICA3ICA0LjJCU0QgICAgICAgICAgIGIgIEhQRlMgICAgICAgICAgICAgZiAgSEZTICAgICAgICAgICAgCisgMyAgVmVyc2lvbiA3ICAgICAgICA4ICBNUy1ET1MgICAgICAgICAgIGMgIElTTy05NjYwICAgICAgICAxMCAgQWR2RlMgICAgICAgICAgCisgNCAgU3lzdGVtIFYgICAgICAgCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0X2FscGhhLkxFIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzBfNjRfYWxwaGEuTEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWMyYTM2OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8wXzY0X2FscGhhLkxFCkBAIC0wLDAgKzEsMjE3IEBACitCU0RfTEFCRUxTRUNUT1I9MAorQlNEX0xBQkVMT0ZGU0VUPTY0CitCU0RfRVhUUkE9X2FscGhhCitCWVRFX09SREVSPUxFCisKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKK0NyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDAgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIDgzIDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorU2V0IDJuZCBwYXJ0aXRpb24gdHlwZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICA4TSBhNSBGcmVlQlNECistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBkZWZhdWx0IEJTRAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDA0MCAgNTcgNDUgNTYgODIgMDYgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8V0VWLi4uLi4uLi4uLi4uLnwKKzAwMjAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMiAwMCAwMCAzZiAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLj8uLi58CiswMDIwMDA3MCAgZmYgMDAgMDAgMDAgMDEgMDAgMDAgMDAgIGMxIDNlIDAwIDAwIGMxIDNlIDAwIDAwICB8Li4uLi4uLi4uPi4uLj4uLnwKKzAwMjAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMTAgMGUgMDEgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDBjMCAgMDAgMDAgMDAgMDAgNTcgNDUgNTYgODIgIDEzIDYyIDA0IDAwIDAwIDIwIDAwIDAwICB8Li4uLldFVi4uYi4uLiAuLnwKKzAwMjAwMGQwICAwMCAyMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuIC4uLi4uLi4uLi4uLi4ufAorMDAyMDAwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDBmMCAgMDAgMDAgMDAgMDAgMDAgNDAgMDAgMDAgIDAwIDEwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi5ALi4uLi4uLi4uLnwKKzAwMjAwMTAwICAwMCAwMCAwMCAwMCBjMSAzZSAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLj4uLi4uLi4uLi4ufAorMDAyMDAxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDNhIDI3IDVjIDgyIDFmIDIzIDU3IDgyICB8Li4uLi4uLi46J1wuLiNXLnwKKzAwMjAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCitjICAgICAgNDA5NiAyMDQ3OSAgIDE2Mzg0ICAgIDhNIHVudXNlZCAgICAgICAwICAgICAwICAgMAorZCAgICAgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMSAwMCAwMCAwMCAwMCAwMCAwMCAyMCAgfC4uLi4uLi4uLi4uLi4uLiB8CiswMDAwMDFjMCAgMjEgMDAgODMgNDEgMDEgMDAgMDAgMDggIDAwIDAwIDAwIDA4IDAwIDAwIDAwIDA0ICB8IS4uQS4uLi4uLi4uLi4uLnwKKzAwMDAwMWQwICAwMSAzZSBhNSAxMyA0MSAzNiAwMCAxMCAgMDAgMDAgMDAgNDAgMDAgMDAgMDAgMDAgIHwuPi4uQTYuLi4uLkAuLi4ufAorMDAwMDAxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAwNDAgIDU3IDQ1IDU2IDgyIDA2IDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfFdFVi4uLi4uLi4uLi4uLi58CiswMDIwMDA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDIgMDAgMDAgM2YgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4/Li4ufAorMDAyMDAwNzAgIGZmIDAwIDAwIDAwIDAxIDAwIDAwIDAwICBjMSAzZSAwMCAwMCBjMSAzZSAwMCAwMCAgfC4uLi4uLi4uLj4uLi4+Li58CiswMDIwMDA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDEwIDBlIDAxIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAwYzAgIDAwIDAwIDAwIDAwIDU3IDQ1IDU2IDgyICAxNSA3YSAwNCAwMCAwMCAyMCAwMCAwMCAgfC4uLi5XRVYuLnouLi4gLi58CiswMDIwMDBkMCAgMDAgMjAgMDAgMDAgMDEgMDggMDAgMDAgIDAwIDEwIDAwIDAwIDAwIDAwIDAwIDAwICB8LiAuLi4uLi4uLi4uLi4uLnwKKzAwMjAwMGUwICAwNyAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAwZjAgIDAwIDAwIDAwIDAwIDAwIDQwIDAwIDAwICAwMCAxMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uQC4uLi4uLi4uLi58CiswMDIwMDEwMCAgMDAgMDAgMDAgMDAgYzEgM2UgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4+Li4uLi4uLi4uLnwKKzAwMjAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICA0MyA0ZiA1YyA4MiAyMCAyYiA1NyA4MiAgfC4uLi4uLi4uQ09cLiArVy58CiswMDIwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjI6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGJzZAorCitTbGljZSBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIFR5cGUgICAgIEZzaXplIEJzaXplIENwZworYSAgICAgIDQwOTYgIDYxNDQgICAgMjA0OSAgICAxTSA0LjJCU0QgICAgICAgMCAgICAgMCAgIDAKK2MgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICAgOE0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCitkICAgICAgICAgMCAxNjA2NCAgIDE2MDY1ICA3LjlNIHVudXNlZCAgICAgICAwICAgICAwICAgMAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBMZWF2aW5nIG5lc3RlZCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworCisKK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorIDAgIHVudXNlZCAgICAgICAgICAgNSAgNC4xQlNEICAgICAgICAgICA5ICA0LjRMRlMgICAgICAgICAgIGQgIGJvb3QgICAgICAgICAgIAorIDEgIHN3YXAgICAgICAgICAgICAgNiAgRWlnaHRoIEVkaXRpb24gICBhICB1bmtub3duICAgICAgICAgIGUgIEFET1MgICAgICAgICAgIAorIDIgIFZlcnNpb24gNiAgICAgICAgNyAgNC4yQlNEICAgICAgICAgICBiICBIUEZTICAgICAgICAgICAgIGYgIEhGUyAgICAgICAgICAgIAorIDMgIFZlcnNpb24gNyAgICAgICAgOCAgZXh0MiAgICAgICAgICAgICBjICBJU08tOTY2MCAgICAgICAgMTAgIEFkdkZTICAgICAgICAgIAorIDQgIFN5c3RlbSBWICAgICAgIAorCitDb21tYW5kIChtIGZvciBoZWxwKTogCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9ic2RfMV8wLkJFIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzFfMC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzQ2YWJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svYnNkXzFfMC5CRQpAQCAtMCwwICsxLDIxMyBAQAorQlNEX0xBQkVMU0VDVE9SPTEKK0JTRF9MQUJFTE9GRlNFVD0wCitCU0RfRVhUUkE9CitCWVRFX09SREVSPUJFCisKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKK0NyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDAgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJzdCBwcmltYXJ5IHBhcnRpdGlvbgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIDgzIDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorU2V0IDJuZCBwYXJ0aXRpb24gdHlwZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2IDIwNDc5ICAgMTYzODQgICA4TSBhNSBGcmVlQlNECistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBkZWZhdWx0IEJTRAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDIwICB8Li4uLi4uLi4uLi4uLi4uIHwKKzAwMDAwMWMwICAyMSAwMCA4MyA0MSAwMSAwMCAwMCAwOCAgMDAgMDAgMDAgMDggMDAgMDAgMDAgMDQgIHwhLi5BLi4uLi4uLi4uLi4ufAorMDAwMDAxZDAgIDAxIDNlIGE1IDEzIDQxIDM2IDAwIDEwICAwMCAwMCAwMCA0MCAwMCAwMCAwMCAwMCAgfC4+Li5BNi4uLi4uQC4uLi58CiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDIwMCAgODIgNTYgNDUgNTcgMDAgMDYgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8LlZFVy4uLi4uLi4uLi4uLnwKKzAwMjAwMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMiAwMCAwMCAwMCAwMCAzZiAgfC4uLi4uLi4uLi4uLi4uLj98CiswMDIwMDIzMCAgMDAgMDAgMDAgZmYgMDAgMDAgMDAgMDEgIDAwIDAwIDNlIGMxIDAwIDAwIDNlIGMxICB8Li4uLi4uLi4uLj4uLi4+LnwKKzAwMjAwMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMGUgMTAgMDAgMDEgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAyMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uIC4uLi58CiswMDIwMDI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMjgwICAwMCAwMCAwMCAwMCA4MiA1NiA0NSA1NyAgNjIgMzMgMDAgMDQgMDAgMDAgMjAgMDAgIHwuLi4uLlZFV2IzLi4uLiAufAorMDAyMDAyOTAgIDAwIDAwIDIwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uIC4uLi4uLi4uLi4uLi58CiswMDIwMDJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMmIwICAwMCAwMCAwMCAwMCAwMCAwMCA0MCAwMCAgMDAgMDAgMTAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi5ALi4uLi4uLi4ufAorMDAyMDAyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDNlIGMxICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLj4uLi4uLi4uLi58CiswMDIwMDJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBEaXNrIDxyZW1vdmVkPjI6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGJzZAorCitTbGljZSBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIFR5cGUgICAgIEZzaXplIEJzaXplIENwZworYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMjAwICA4MiA1NiA0NSA1NyAwMCAwNiAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuVkVXLi4uLi4uLi4uLi4ufAorMDAyMDAyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAyIDAwIDAwIDAwIDAwIDNmICB8Li4uLi4uLi4uLi4uLi4uP3wKKzAwMjAwMjMwICAwMCAwMCAwMCBmZiAwMCAwMCAwMCAwMSAgMDAgMDAgM2UgYzEgMDAgMDAgM2UgYzEgIHwuLi4uLi4uLi4uPi4uLj4ufAorMDAyMDAyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwZSAxMCAwMCAwMSAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDIwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4gLi4uLnwKKzAwMjAwMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAyODAgIDAwIDAwIDAwIDAwIDgyIDU2IDQ1IDU3ICA3ZCAzMiAwMCAwNCAwMCAwMCAyMCAwMCAgfC4uLi4uVkVXfTIuLi4uIC58CiswMDIwMDI5MCAgMDAgMDAgMjAgMDAgMDAgMDAgMDggMDEgIDAwIDAwIDEwIDAwIDAwIDAwIDAwIDAwICB8Li4gLi4uLi4uLi4uLi4uLnwKKzAwMjAwMmEwICAwNyAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDQwIDAwICAwMCAwMCAxMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLkAuLi4uLi4uLi58CiswMDIwMDJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgM2UgYzEgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uPi4uLi4uLi4uLnwKKzAwMjAwMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCithICAgICAgNDA5NiAgNjE0NCAgICAyMDQ5ICAgIDFNIDQuMkJTRCAgICAgICAwICAgICAwICAgMAorYyAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgICA4TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKK2QgICAgICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gdW51c2VkICAgICAgIDAgICAgIDAgICAwCisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IExlYXZpbmcgbmVzdGVkIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCisKKworQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCisgMCAgdW51c2VkICAgICAgICAgICA1ICA0LjFCU0QgICAgICAgICAgIDkgIDQuNExGUyAgICAgICAgICAgZCAgYm9vdCAgICAgICAgICAgCisgMSAgc3dhcCAgICAgICAgICAgICA2ICBFaWdodGggRWRpdGlvbiAgIGEgIHVua25vd24gICAgICAgICAgZSAgQURPUyAgICAgICAgICAgCisgMiAgVmVyc2lvbiA2ICAgICAgICA3ICA0LjJCU0QgICAgICAgICAgIGIgIEhQRlMgICAgICAgICAgICAgZiAgSEZTICAgICAgICAgICAgCisgMyAgVmVyc2lvbiA3ICAgICAgICA4ICBNUy1ET1MgICAgICAgICAgIGMgIElTTy05NjYwICAgICAgICAxMCAgQWR2RlMgICAgICAgICAgCisgNCAgU3lzdGVtIFYgICAgICAgCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2JzZF8xXzAuTEUgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9ic2RfMV8wLkxFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmM2I4MzgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9ic2RfMV8wLkxFCkBAIC0wLDAgKzEsMjEzIEBACitCU0RfTEFCRUxTRUNUT1I9MQorQlNEX0xBQkVMT0ZGU0VUPTAKK0JTRF9FWFRSQT0KK0JZVEVfT1JERVI9TEUKKworSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgMXN0IHByaW1hcnkgcGFydGl0aW9uCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwMCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEgIHwuLi4uLi4uLi4uLi4uLlUufAorMDAwMDAyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgMnN0IHByaW1hcnkgcGFydGl0aW9uCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgODMgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCitTZXQgMm5kIHBhcnRpdGlvbiB0eXBlCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwYTAwMDAwCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDQwOTYgMjA0NzkgICAxNjM4NCAgIDhNIGE1IEZyZWVCU0QKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIGRlZmF1bHQgQlNECiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMjAgIHwuLi4uLi4uLi4uLi4uLi4gfAorMDAwMDAxYzAgIDIxIDAwIDgzIDQxIDAxIDAwIDAwIDA4ICAwMCAwMCAwMCAwOCAwMCAwMCAwMCAwNCAgfCEuLkEuLi4uLi4uLi4uLi58CiswMDAwMDFkMCAgMDEgM2UgYTUgMTMgNDEgMzYgMDAgMTAgIDAwIDAwIDAwIDQwIDAwIDAwIDAwIDAwICB8Lj4uLkE2Li4uLi5ALi4uLnwKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYSAgfC4uLi4uLi4uLi4uLi4uVS58CiswMDAwMDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMjAwMjAwICA1NyA0NSA1NiA4MiAwNiAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHxXRVYuLi4uLi4uLi4uLi4ufAorMDAyMDAyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAyIDAwIDAwIDNmIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uPy4uLnwKKzAwMjAwMjMwICBmZiAwMCAwMCAwMCAwMSAwMCAwMCAwMCAgYzEgM2UgMDAgMDAgYzEgM2UgMDAgMDAgIHwuLi4uLi4uLi4+Li4uPi4ufAorMDAyMDAyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAxMCAwZSAwMSAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDIwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4gLi4uLi4uLnwKKzAwMjAwMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAyODAgIDAwIDAwIDAwIDAwIDU3IDQ1IDU2IDgyICAzMyA2MiAwNCAwMCAwMCAyMCAwMCAwMCAgfC4uLi5XRVYuM2IuLi4gLi58CiswMDIwMDI5MCAgMDAgMjAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8LiAuLi4uLi4uLi4uLi4uLnwKKzAwMjAwMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAyMDAyYjAgIDAwIDAwIDAwIDAwIDAwIDQwIDAwIDAwICAwMCAxMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uQC4uLi4uLi4uLi58CiswMDIwMDJjMCAgMDAgMDAgMDAgMDAgYzEgM2UgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4+Li4uLi4uLi4uLnwKKzAwMjAwMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDBhMDAwMDAKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiBFbnRlcmluZyBuZXN0ZWQgQlNEIGRpc2tsYWJlbC4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IERpc2sgPHJlbW92ZWQ+MjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMSBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogYnNkCisKK1NsaWNlIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgVHlwZSAgICAgRnNpemUgQnNpemUgQ3BnCitjICAgICAgNDA5NiAyMDQ3OSAgIDE2Mzg0ICAgIDhNIHVudXNlZCAgICAgICAwICAgICAwICAgMAorZCAgICAgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDAxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMSAwMCAwMCAwMCAwMCAwMCAwMCAyMCAgfC4uLi4uLi4uLi4uLi4uLiB8CiswMDAwMDFjMCAgMjEgMDAgODMgNDEgMDEgMDAgMDAgMDggIDAwIDAwIDAwIDA4IDAwIDAwIDAwIDA0ICB8IS4uQS4uLi4uLi4uLi4uLnwKKzAwMDAwMWQwICAwMSAzZSBhNSAxMyA0MSAzNiAwMCAxMCAgMDAgMDAgMDAgNDAgMDAgMDAgMDAgMDAgIHwuPi4uQTYuLi4uLkAuLi4ufAorMDAwMDAxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhICB8Li4uLi4uLi4uLi4uLi5VLnwKKzAwMDAwMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAyMDAyMDAgIDU3IDQ1IDU2IDgyIDA2IDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfFdFVi4uLi4uLi4uLi4uLi58CiswMDIwMDIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDIgMDAgMDAgM2YgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4/Li4ufAorMDAyMDAyMzAgIGZmIDAwIDAwIDAwIDAxIDAwIDAwIDAwICBjMSAzZSAwMCAwMCBjMSAzZSAwMCAwMCAgfC4uLi4uLi4uLj4uLi4+Li58CiswMDIwMDI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDEwIDBlIDAxIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMjAwMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMjAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLiAuLi4uLi4ufAorMDAyMDAyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDIwMDI4MCAgMDAgMDAgMDAgMDAgNTcgNDUgNTYgODIgIDM1IDdhIDA0IDAwIDAwIDIwIDAwIDAwICB8Li4uLldFVi41ei4uLiAuLnwKKzAwMjAwMjkwICAwMCAyMCAwMCAwMCAwMSAwOCAwMCAwMCAgMDAgMTAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuIC4uLi4uLi4uLi4uLi4ufAorMDAyMDAyYTAgIDA3IDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDIwMDJiMCAgMDAgMDAgMDAgMDAgMDAgNDAgMDAgMDAgIDAwIDEwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi5ALi4uLi4uLi4uLnwKKzAwMjAwMmMwICAwMCAwMCAwMCAwMCBjMSAzZSAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLj4uLi4uLi4uLi4ufAorMDAyMDAyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMGEwMDAwMAorCistLS1sYXlvdXQtLS0tLS0tLS0tCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IEVudGVyaW5nIG5lc3RlZCBCU0QgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogRGlzayA8cmVtb3ZlZD4yOiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAxIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBic2QKKworU2xpY2UgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBUeXBlICAgICBGc2l6ZSBCc2l6ZSBDcGcKK2EgICAgICA0MDk2ICA2MTQ0ICAgIDIwNDkgICAgMU0gNC4yQlNEICAgICAgIDAgICAgIDAgICAwCitjICAgICAgNDA5NiAyMDQ3OSAgIDE2Mzg0ICAgIDhNIHVudXNlZCAgICAgICAwICAgICAwICAgMAorZCAgICAgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSB1bnVzZWQgICAgICAgMCAgICAgMCAgIDAKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogTGVhdmluZyBuZXN0ZWQgZGlza2xhYmVsLgorCitDb21tYW5kIChtIGZvciBoZWxwKTogCistLS0tLS0tLS0tLS0tLS0tLS0tCisKKworCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogRW50ZXJpbmcgbmVzdGVkIEJTRCBkaXNrbGFiZWwuCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKKyAwICB1bnVzZWQgICAgICAgICAgIDUgIDQuMUJTRCAgICAgICAgICAgOSAgNC40TEZTICAgICAgICAgICBkICBib290ICAgICAgICAgICAKKyAxICBzd2FwICAgICAgICAgICAgIDYgIEVpZ2h0aCBFZGl0aW9uICAgYSAgdW5rbm93biAgICAgICAgICBlICBBRE9TICAgICAgICAgICAKKyAyICBWZXJzaW9uIDYgICAgICAgIDcgIDQuMkJTRCAgICAgICAgICAgYiAgSFBGUyAgICAgICAgICAgICBmICBIRlMgICAgICAgICAgICAKKyAzICBWZXJzaW9uIDcgICAgICAgIDggIE1TLURPUyAgICAgICAgICAgYyAgSVNPLTk2NjAgICAgICAgIDEwICBBZHZGUyAgICAgICAgICAKKyA0ICBTeXN0ZW0gViAgICAgICAKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svZ3B0IGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svZ3B0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMyNDQ4NzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9ncHQKQEAgLTAsMCArMSwxMzggQEAKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKK0NyZWF0ZSBuZXcgR1BUIHBhcnRpdGlvbiB0YWJsZQorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBwYXJ0aXRpb25zCitDaGFuZ2UgcGFydGl0aW9uIHR5cGUgYnkgbnVtYmVyCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSBFRkkgU3lzdGVtCis8cmVtb3ZlZD4yICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICA4MTkyIDEwMjM5ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD41IDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD42IDEyMjg4IDE0MzM1ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD43IDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD44IDE2Mzg0IDE4NDMxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NoYW5nZSBwYXJ0aXRpb24gdHlwZSBieSBVVUlECisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSBFRkkgU3lzdGVtCis8cmVtb3ZlZD4yICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICA4MTkyIDEwMjM5ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD41IDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSBMaW51eCBzd2FwCis8cmVtb3ZlZD42IDEyMjg4IDE0MzM1ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD43IDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD44IDE2Mzg0IDE4NDMxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBwYXJ0aXRpb24KKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIEVGSSBTeXN0ZW0KKzxyZW1vdmVkPjMgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIExpbnV4IHN3YXAKKzxyZW1vdmVkPjYgMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjcgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjggMTYzODQgMTg0MzEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIGFnYWluIHBhcnRpdGlvbgorCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gRUZJIFN5c3RlbQorPHJlbW92ZWQ+MiAgNDA5NiAgNjE0MyAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgNjE0NCAgODE5MSAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NCAgODE5MiAxMDIzOSAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NSAxMDI0MCAxMjI4NyAgICAyMDQ4ICAgMU0gTGludXggc3dhcAorPHJlbW92ZWQ+NiAxMjI4OCAxNDMzNSAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NyAxNDMzNiAxNjM4MyAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+OCAxNjM4NCAxODQzMSAgICAyMDQ4ICAgMU0gTGludXggZmlsZXN5c3RlbQorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDb3JydXB0IHByaW1hcnkgdGFibGUKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIEVGSSBTeXN0ZW0KKzxyZW1vdmVkPjIgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIExpbnV4IHN3YXAKKzxyZW1vdmVkPjYgMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjcgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjggMTYzODQgMTg0MzEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ29ycnVwdCBiYWNrdXAgdGFibGUKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIEVGSSBTeXN0ZW0KKzxyZW1vdmVkPjIgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIExpbnV4IHN3YXAKKzxyZW1vdmVkPjYgMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjcgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjggMTYzODQgMTg0MzEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svZ3B0LXJlc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2dwdC1yZXNpemUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM5MjEzYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL2dwdC1yZXNpemUKQEAgLTAsMCArMSw1NCBAQAorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPnAxOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPnAyOiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD5wMSAgMjA0OCAyMDQ0NiAgIDE4Mzk5ICAgOU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCisKKworLS0tLS0gZml4aW5nIGFmdGVyIHJlc2l6ZTogLS0tLS0KKworCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKK0dQVCBQTUJSIHNpemUgbWlzbWF0Y2ggKDIwNDc5ICE9IDQwOTU5KSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4KK1RoZSBiYWNrdXAgR1BUIHRhYmxlIGlzIG5vdCBvbiB0aGUgZW5kIG9mIHRoZSBkZXZpY2UuIFRoaXMgcHJvYmxlbSB3aWxsIGJlIGNvcnJlY3RlZCBieSB3cml0ZS4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiBudW1iZXIgKDItMTI4LCBkZWZhdWx0IDIpOiBGaXJzdCBzZWN0b3IgKDIwNDQ3LTQwOTI2LCBkZWZhdWx0IDIwNDgwKTogTGFzdCBzZWN0b3IsICtzZWN0b3JzIG9yICtzaXple0ssTSxHLFQsUH0gKDIwNDgwLTQwOTI2LCBkZWZhdWx0IDQwOTI2KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1JlLXJlYWRpbmcgdGhlIHBhcnRpdGlvbiB0YWJsZSBmYWlsZWQuOiBJbnZhbGlkIGFyZ3VtZW50CisKK1RoZSBrZXJuZWwgc3RpbGwgdXNlcyB0aGUgb2xkIHRhYmxlLiBUaGUgbmV3IHRhYmxlIHdpbGwgYmUgdXNlZCBhdCB0aGUgbmV4dCByZWJvb3Qgb3IgYWZ0ZXIgeW91IHJ1biBwYXJ0cHJvYmUoOCkgb3Iga3BhcnR4KDgpLgorCisKKworLS0tLS0gbGlzdCByZXN1bHQ6IC0tLS0tCisKKworRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPnAxICAyMDQ4IDIwNDQ2ICAgMTgzOTkgICA5TSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD5wMiAyMDQ4MCA0MDkyNiAgIDIwNDQ3ICAxME0gTGludXggZmlsZXN5c3RlbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svaWQgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9pZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ODAxZjgxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svaWQKQEAgLTAsMCArMSw1IEBACitJbml0aWFsaXplIGVtcHR5IGltYWdlCitDcmVhdGUgTUJSIHdpdGggSUQ9MHgxCitEaXNrIGlkZW50aWZpZXI6IDB4MDAwMDAwMDEKK0NyZWF0ZSBNQlIgd2l0aCBJRD0weDIKK0Rpc2sgaWRlbnRpZmllcjogMHgwMDAwMDAwMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svaWQuc3BhcmMgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9pZC5zcGFyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTNmNDA3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svaWQuc3BhcmMKQEAgLTAsMCArMSwzIEBACitJbml0aWFsaXplIGVtcHR5IGltYWdlCitDcmVhdGUgTUJSIHdpdGggSUQ9MHgxCitDcmVhdGUgTUJSIHdpdGggSUQ9MHgyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItZG9zLW1vZGUgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItZG9zLW1vZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU3ZmJkYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL21ici1kb3MtbW9kZQpAQCAtMCwwICsxLDE4OSBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorZjFjOTY0NWRiYzE0ZWZkZGM3ZDhhMzIyNjg1ZjI2ZWIgbWJyLWRvcy1tb2RlLmltZworQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCis1N2U3MjFlMzhkMTI2NmMyZGYwNTUwNjdjMThmMmNmOSBtYnItZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAxMDI0IGN5bGluZGVycworVW5pdHM6IGN5bGluZGVycyBvZiAxNjA2NSAqIDUxMiA9IDgyMjUyODAgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgcHJpbWFyeSBwYXJ0aXRpb24KK2FlNGY5YjEyZjRhNzY4ODQ5ZjcyZWEzNjkzOGMzMGM3IG1ici1kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEwMjQgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDE2MDY1ICogNTEyID0gODIyNTI4MCBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCBFbmQgQ3lsaW5kZXJzICBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgICAgMSAgIDEgICAgICAgICAxICA3LjhNIDgzIExpbnV4CistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NldCBwYXJ0aXRpb24gdHlwZQorNGE1ZGJhODE4Zjk5NjJhODJhMDg2ZDhiOTliODlhMTcgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gYmYgU29sYXJpcworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitTZXQgcHJpbWFyeSBwYXJ0aXRpb24gYWN0aXZlCitjMzBlOWM3NjFiNzFjZjk1YzY3ZTc1OGI5MzcwNmFjNSBtYnItZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAxMDI0IGN5bGluZGVycworVW5pdHM6IGN5bGluZGVycyBvZiAxNjA2NSAqIDUxMiA9IDgyMjUyODAgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgRW5kIEN5bGluZGVycyAgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICogICAgICAgIDEgICAxICAgICAgICAgMSAgNy44TSBiZiBTb2xhcmlzCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1JlLWNyZWF0ZSBwcmltYXJ5IHBhcnRpdGlvbgorYWU0ZjliMTJmNGE3Njg4NDlmNzJlYTM2OTM4YzMwYzcgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIGV4dGVuZGVkIHBhcnRpdGlvbgorNzY5ODdhMDBiMzUzNjg3Y2QxZGJhM2RkZWE5ZDY2ZjkgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgICAgMiAgMTIgICAgICAgIDEyIDg2LjNNICA1IEV4dGVuZGVkCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMKK2ExY2Q2NzA4ZTRhNmQyZTVmNmJjOWQ1YzBkYTBjZjNiIG1ici1kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDU0LjkgTWlCLCA1NzU3NzQ3MiBieXRlcywgMTEyNDU2IHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEwMjQgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDE2MDY1ICogNTEyID0gODIyNTI4MCBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCBFbmQgQ3lsaW5kZXJzICBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgICAgMSAgIDEgICAgICAgICAxICA3LjhNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgICAgIDIgIDEyICAgICAgICAxMiA4Ni4zTSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgICAgICAyICAgMyAgICAgICAgIDIgMTUuN00gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgICAgNCAgIDUgICAgICAgICAyIDE1LjdNIDgzIExpbnV4Cis8cmVtb3ZlZD43ICAgICAgICAgIDYgICA3ICAgICAgICAgMiAxNS43TSA4MyBMaW51eAorPHJlbW92ZWQ+OCAgICAgICAgICA4ICAgOSAgICAgICAgIDIgMTUuN00gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucworNGM2OTM3ZDUyOWFjZTU2NjFmYjgyZWZiOTM5NDE1NGEgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogNTQuOSBNaUIsIDU3NTc3NDcyIGJ5dGVzLCAxMTI0NTYgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgICAgMiAgMTIgICAgICAgIDEyIDg2LjNNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgICAgIDYgICA3ICAgICAgICAgMiAxNS43TSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgYW5vdGhlciBsb2dpY2FsIHBhcnRpdGlvbgorOTU4OWVhYWVkNjk4ZDI0MDI5NDVhYjNlNTEzYzFlYjQgbWJyLWRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogNTQuOSBNaUIsIDU3NTc3NDcyIGJ5dGVzLCAxMTI0NTYgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMTAyNCBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0IEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAxICAgMSAgICAgICAgIDEgIDcuOE0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgICAgMiAgMTIgICAgICAgIDEyIDg2LjNNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgICAgIDYgICA3ICAgICAgICAgMiAxNS43TSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAgICAyICAgMyAgICAgICAgIDIgMTUuN00gODMgTGludXgKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgcHJpbWFyeSBwYXJ0aXRpb24KKzFlNmQ2NDZlNWRmNjZhMjY2NGNmYmJiMTNmYTlhMDhhIG1ici1kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDU0LjkgTWlCLCA1NzU3NzQ3MiBieXRlcywgMTEyNDU2IHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDEwMjQgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDE2MDY1ICogNTEyID0gODIyNTI4MCBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCBFbmQgQ3lsaW5kZXJzICBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjIgICAgICAgICAgMiAgMTIgICAgICAgIDEyIDg2LjNNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgICAgIDYgICA3ICAgICAgICAgMiAxNS43TSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAgICAyICAgMyAgICAgICAgIDIgMTUuN00gODMgTGludXgKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgZXh0ZW5kZWQgcGFydGl0aW9uCitmYzNjZGIxMjMyNjY1NmQ3OTk2YjA5YjZmNzY5NzNlNyBtYnItZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiA1NC45IE1pQiwgNTc1Nzc0NzIgYnl0ZXMsIDExMjQ1NiBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAxMDI0IGN5bGluZGVycworVW5pdHM6IGN5bGluZGVycyBvZiAxNjA2NSAqIDUxMiA9IDgyMjUyODAgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItbm9uZG9zLW1vZGUgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItbm9uZG9zLW1vZGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODgzM2JhYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL21ici1ub25kb3MtbW9kZQpAQCAtMCwwICsxLDIwMyBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorOGY0ZTMzZjNkYzNlNDE0ZmY5NGU1ZmI2OTA1Y2JhOGMgbWJyLW5vbmRvcy1tb2RlLmltZworQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCis0ZTIzNTYxZGNiODE2NzhiYjFiZDY3ODcyMmM3Y2JiNyBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorZTIxZTE2Yjc0NTJkODJlMmEyODEwYTFkZThjM2RiMDUgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitTZXQgcHJpbWFyeSBwYXJ0aXRpb24gYWN0aXZlCis0N2YwMjRmM2I0MDY1OThhMDE1OTQwMGFmNzM4MmUyYyBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICogICAgIDIwNDggIDgxOTEgICAgNjE0NCAgIDNNIDgzIExpbnV4CistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1JlLWNyZWF0ZSAxc3QgcHJpbWFyeSBwYXJ0aXRpb24KK2E1NTQzZWUxZTNkMmNmNzk5MTNhNTZiYWU4OTNhMGYwIG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgODE5MSAgICA2MTQ0ICAgM00gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIDJuZCBwcmltYXJ5IHBhcnRpdGlvbgorOWQzMWVlOTc3ZTI2ZTcyZWJjZTc4ZThlNTQzY2Q0Y2UgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA4MTkyIDEyMjg3ICAgIDQwOTYgICAyTSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgZXh0ZW5kZWQgcGFydGl0aW9uCis5NTI4NjMxYjE5OGU0NDU2NGY2N2Y4Y2E5N2ZhNTFiOCBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDgxOTEgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDgxOTIgMTIyODcgICAgNDA5NiAgIDJNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgMTIyODggNDA5NTkgICAyODY3MiAgMTRNICA1IEV4dGVuZGVkCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMKK2RiNDQwNmU3YmMwNzczZjIzNGZkMWRiMWI1OGI1OTk3IG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgODE5MSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgODE5MiAxMjI4NyAgICA0MDk2ICAgMk0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAxMjI4OCA0MDk1OSAgIDI4NjcyICAxNE0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAxNDMzNiAxODQzMSAgICA0MDk2ICAgMk0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAyMDQ4MCAyNDU3NSAgICA0MDk2ICAgMk0gODMgTGludXgKKzxyZW1vdmVkPjcgICAgICAyNjYyNCAzMDcxOSAgICA0MDk2ICAgMk0gODMgTGludXgKKzxyZW1vdmVkPjggICAgICAzMjc2OCAzNjg2MyAgICA0MDk2ICAgMk0gODMgTGludXgKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucworZGU4NWI4ZDc0ZjUyZjMwN2I5NDY3ZWE0YzMzNDM4Y2IgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA4MTkyIDEyMjg3ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgIDEyMjg4IDQwOTU5ICAgMjg2NzIgIDE0TSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDI2NjI0IDMwNzE5ICAgIDQwOTYgICAyTSA4MyBMaW51eAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgYW5vdGhlciBsb2dpY2FsIHBhcnRpdGlvbgorMjhkMGNiZTc5NTUzNWVlMDI1ZGM3YTQ3ODE1MTY5NjUgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA4MTkyIDEyMjg3ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgIDEyMjg4IDQwOTU5ICAgMjg2NzIgIDE0TSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDI2NjI0IDMwNzE5ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE4NDMxICAgIDQwOTYgICAyTSA4MyBMaW51eAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBwcmltYXJ5IHBhcnRpdGlvbgorNmYxYjYyNzE4Y2Y4ZDgzNjAyZDUxZGU4OTQ0Y2VlNTEgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MiAgICAgICA4MTkyIDEyMjg3ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgIDEyMjg4IDQwOTU5ICAgMjg2NzIgIDE0TSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDI2NjI0IDMwNzE5ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE4NDMxICAgIDQwOTYgICAyTSA4MyBMaW51eAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBwcmltYXJ5IHBhcnRpdGlvbgorN2IyOWEzY2RhMzNlOTkwZThhNzg3N2I4MTk4OGI5MzMgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MyAgICAgIDEyMjg4IDQwOTU5ICAgMjg2NzIgIDE0TSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDI2NjI0IDMwNzE5ICAgIDQwOTYgICAyTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE4NDMxICAgIDQwOTYgICAyTSA4MyBMaW51eAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBleHRlbmRlZCBwYXJ0aXRpb24KK2UxZWY0OGQzZDQyZjRlYmNmZDViZjRiYWY1ZTM3MGU5IG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItbm9uZG9zLW1vZGUuc3BhcmMgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItbm9uZG9zLW1vZGUuc3BhcmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmZiYmQ4MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL21ici1ub25kb3MtbW9kZS5zcGFyYwpAQCAtMCwwICsxLDE4OSBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorOGY0ZTMzZjNkYzNlNDE0ZmY5NGU1ZmI2OTA1Y2JhOGMgbWJyLW5vbmRvcy1tb2RlLmltZworQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCis4ZjRlMzNmM2RjM2U0MTRmZjk0ZTVmYjY5MDVjYmE4YyBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgMXN0IHByaW1hcnkgcGFydGl0aW9uCitkNWFkNmQ0ZTc0MzQzMGMyYTYxZTU1OGJiMzMxOTE3NSBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gODMgTGludXggbmF0aXZlICAgICAgCis8cmVtb3ZlZD4yIDE2MDY1IDMyMTI5ICAgMTYwNjUgIDcuOU0gODIgTGludXggc3dhcCAgICAgIHUgCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK1NldCBwcmltYXJ5IHBhcnRpdGlvbiBhY3RpdmUKK2Q1OWJiNGJhNTkxNDI0MmY5YTYzYTJkMTNmYjY4NzUyIG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDIgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IHN1bgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlICAgICAgICAgRmxhZ3MKKzxyZW1vdmVkPjEgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSA4MyBMaW51eCBuYXRpdmUgICAgIHIKKzxyZW1vdmVkPjIgMTYwNjUgMzIxMjkgICAxNjA2NSAgNy45TSA4MiBMaW51eCBzd2FwICAgICAgdSAKKzxyZW1vdmVkPjMgICAgIDAgMzIxMjkgICAzMjEzMCAxNS43TSAgNSBXaG9sZSBkaXNrICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworUmUtY3JlYXRlIDFzdCBwcmltYXJ5IHBhcnRpdGlvbgorZDhiYTA0YmRkNDZjZWM2OTBmYTY3MmFjOGZjYWYzODcgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMiBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIElkIFR5cGUgICAgICAgICBGbGFncworPHJlbW92ZWQ+MSAgICAgMCAxNjA2NCAgIDE2MDY1ICA3LjlNIDgzIExpbnV4IG5hdGl2ZSAgICAgcgorPHJlbW92ZWQ+MiAxNjA2NSAzMjEyOSAgIDE2MDY1ICA3LjlNIDgyIExpbnV4IHN3YXAgICAgICB1IAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitDcmVhdGUgMm5kIHByaW1hcnkgcGFydGl0aW9uCitkOGJhMDRiZGQ0NmNlYzY5MGZhNjcyYWM4ZmNhZjM4NyBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gODMgTGludXggbmF0aXZlICAgICByCis8cmVtb3ZlZD4yIDE2MDY1IDMyMTI5ICAgMTYwNjUgIDcuOU0gODIgTGludXggc3dhcCAgICAgIHUgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBleHRlbmRlZCBwYXJ0aXRpb24KK2Q1OWJiNGJhNTkxNDI0MmY5YTYzYTJkMTNmYjY4NzUyIG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDIgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IHN1bgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlICAgICAgICAgRmxhZ3MKKzxyZW1vdmVkPjEgICAgIDAgMTYwNjQgICAxNjA2NSAgNy45TSA4MyBMaW51eCBuYXRpdmUgICAgIHIKKzxyZW1vdmVkPjIgMTYwNjUgMzIxMjkgICAxNjA2NSAgNy45TSA4MiBMaW51eCBzd2FwICAgICAgdSAKKzxyZW1vdmVkPjMgICAgIDAgMzIxMjkgICAzMjEzMCAxNS43TSAgNSBXaG9sZSBkaXNrICAgICAgICAKKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIGxvZ2ljYWwgcGFydGl0aW9ucworZDU5YmI0YmE1OTE0MjQyZjlhNjNhMmQxM2ZiNjg3NTIgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMiBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIElkIFR5cGUgICAgICAgICBGbGFncworPHJlbW92ZWQ+MSAgICAgMCAxNjA2NCAgIDE2MDY1ICA3LjlNIDgzIExpbnV4IG5hdGl2ZSAgICAgcgorPHJlbW92ZWQ+MiAxNjA2NSAzMjEyOSAgIDE2MDY1ICA3LjlNIDgyIExpbnV4IHN3YXAgICAgICB1IAorPHJlbW92ZWQ+MyAgICAgMCAzMjEyOSAgIDMyMTMwIDE1LjdNICA1IFdob2xlIGRpc2sgICAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgbG9naWNhbCBwYXJ0aXRpb25zCitkNTliYjRiYTU5MTQyNDJmOWE2M2EyZDEzZmI2ODc1MiBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gODMgTGludXggbmF0aXZlICAgICByCis8cmVtb3ZlZD4yIDE2MDY1IDMyMTI5ICAgMTYwNjUgIDcuOU0gODIgTGludXggc3dhcCAgICAgIHUgCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBhbm90aGVyIGxvZ2ljYWwgcGFydGl0aW9uCitkNTliYjRiYTU5MTQyNDJmOWE2M2EyZDEzZmI2ODc1MiBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAwIDE2MDY0ICAgMTYwNjUgIDcuOU0gODMgTGludXggbmF0aXZlICAgICByCis8cmVtb3ZlZD4yIDE2MDY1IDMyMTI5ICAgMTYwNjUgIDcuOU0gODIgTGludXggc3dhcCAgICAgIHUgCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgICAgCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0RlbGV0ZSBwcmltYXJ5IHBhcnRpdGlvbgorMGJkODcxNzVjNGM1YzNlZjlhNDY1OTUwMjdiNjM2OWMgbWJyLW5vbmRvcy1tb2RlLmltZworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworR2VvbWV0cnk6IDI1NSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMiBjeWxpbmRlcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzICBTaXplIElkIFR5cGUgICAgICAgRmxhZ3MKKzxyZW1vdmVkPjIgMTYwNjUgMzIxMjkgICAxNjA2NSAgNy45TSA4MiBMaW51eCBzd2FwICAgIHUgCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgcHJpbWFyeSBwYXJ0aXRpb24KKzMzZjZlNTQxZGRjYWZlZDY1ZDIzMWNlM2YyYjc2YTU5IG1ici1ub25kb3MtbW9kZS5pbWcKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK0dlb21ldHJ5OiAyNTUgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDIgY3lsaW5kZXJzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IHN1bgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlICAgICAgIEZsYWdzCis8cmVtb3ZlZD4zICAgICAwIDMyMTI5ICAgMzIxMzAgMTUuN00gIDUgV2hvbGUgZGlzayAgICAgIAorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitEZWxldGUgZXh0ZW5kZWQgcGFydGl0aW9uCitlOTIzNzU1Y2JjMDA1NGViODUzNDFmZTExOWJlMDdmOSBtYnItbm9uZG9zLW1vZGUuaW1nCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitHZW9tZXRyeTogMjU1IGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAyIGN5bGluZGVycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svbWJyLXNvcnQgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9tYnItc29ydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTdlM2I0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svbWJyLXNvcnQKQEAgLTAsMCArMSw3NSBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKy0tLS0tLS0tLS0tLS0tLS0tLS0KKworQ3JlYXRlIHByaW1hcnkgcGFydGl0aW9ucworCistLS1sYXlvdXQtLS0tLS0tLS0tCitEaXNrIDxyZW1vdmVkPjogMjAgTWlCLCAyMDk3MTUyMCBieXRlcywgNDA5NjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA4MTkyIDQwOTU5ICAgMzI3NjggIDE2TSAgNSBFeHRlbmRlZAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCistLS0tLS0tLS0tLS0tLS0tLS0tCisKK0NyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMKKworLS0tbGF5b3V0LS0tLS0tLS0tLQorRGlzayA8cmVtb3ZlZD46IDIwIE1pQiwgMjA5NzE1MjAgYnl0ZXMsIDQwOTYwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgNDA5NiAgNjE0MyAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNjE0NCAgODE5MSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjQgICAgICAgODE5MiA0MDk1OSAgIDMyNzY4ICAxNk0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAxNDMzNiAxNjM4MyAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAyMjUyOCAyNDU3NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjcgICAgICAxODQzMiAyMDQ3OSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjggICAgICAxMDI0MCAxMjI4NyAgICAyMDQ4ICAgMU0gODMgTGludXgKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorLS0tLS0tLS0tLS0tLS0tLS0tLQorCitGaXggb3JkZXIuCisKKy0tLWxheW91dC0tLS0tLS0tLS0KK0Rpc2sgPHJlbW92ZWQ+OiAyMCBNaUIsIDIwOTcxNTIwIGJ5dGVzLCA0MDk2MCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgIDgxOTIgNDA5NTkgICAzMjc2OCAgMTZNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD43ICAgICAgMTg0MzIgMjA0NzkgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD44ICAgICAgMjI1MjggMjQ1NzUgICAgMjA0OCAgIDFNIDgzIExpbnV4CistLS0tLS0tLS0tLS0tLS0tLS0tCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL29kZGlucHV0IGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svb2RkaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZjY2M2YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZkaXNrL29kZGlucHV0CkBAIC0wLDAgKzEsMTEgQEAKK0luaXRpYWxpemUgZW1wdHkgaW1hZ2UKK2YxYzk2NDVkYmMxNGVmZGRjN2Q4YTMyMjY4NWYyNmViIG9kZGlucHV0LmltZworRW1wdHkgaW1hZ2UgbGlzdGluZworRGlzayB0ZXN0aW1hZ2U6IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgMTYwNjUgKiA1MTIgPSA4MjI1MjgwIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworTm9uZXhpc3RlbnQgZmlsZQorZmRpc2s6IGNhbm5vdCBvcGVuIF9hX2ZpbGVfdGhhdF9kb2VzX25vdF9leGlzdF86IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK1RvbyBzbWFsbCBmaWxlCitmZGlzazogY2Fubm90IG9wZW4gb2RkaW5wdXQudG9vc21hbGw6IEluYXBwcm9wcmlhdGUgaW9jdGwgZm9yIGRldmljZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svb2RkaW5wdXQudG9vc21hbGwgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9vZGRpbnB1dC50b29zbWFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmM3NWVkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svb2RkaW5wdXQudG9vc21hbGwKQEAgLTAsMCArMSBAQAorVGhpcyBmaWxlIGlzIHRvbyBzbWFsbApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmRpc2svc3VubGFiZWwgYi90ZXN0cy9leHBlY3RlZC9mZGlzay9zdW5sYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDI5NGYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmRpc2svc3VubGFiZWwKQEAgLTAsMCArMSw4MCBAQAorSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZQorZjFjOTY0NWRiYzE0ZWZkZGM3ZDhhMzIyNjg1ZjI2ZWIgc3VubGFiZWwuaW1nCitDcmVhdGUgbmV3IFNVTiBwYXJ0aXRpb24gdGFibGUKK2YwNTBmZDJiZWI5OWY4ZDk2OGJmMTc0NTBmNjU1ZjA2IHN1bmxhYmVsLmltZworRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAxIGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAzMjUgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDYzICogNTEyID0gMzIyNTYgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCitDcmVhdGUgZmlyc3QgcGFydGl0aW9uCitlNzMwYzdlYzgyMDg2MDFmNDE5NjNmMDQ4NTE0NzI0OCBzdW5sYWJlbC5pbWcKK0Rpc2sgPHJlbW92ZWQ+OiAxMCBNaUIsIDEwNDg1NzYwIGJ5dGVzLCAyMDQ4MCBzZWN0b3JzCitHZW9tZXRyeTogMSBoZWFkcywgNjMgc2VjdG9ycy90cmFjaywgMzI1IGN5bGluZGVycworVW5pdHM6IGN5bGluZGVycyBvZiA2MyAqIDUxMiA9IDMyMjU2IGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IHN1bgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgQ3lsaW5kZXJzIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAxICAgMTI4ICAgICAgIDEyOSAgIDRNIDgzIExpbnV4IG5hdGl2ZSAgICAgIAorU2V0IHBhcnRpdGlvbiBzeXNpZAorZGY3NWRlZmRiOTdmYmQ1NjIyMmFlZDE4NjMxYTIyZDAgc3VubGFiZWwuaW1nCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDEgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDMyNSBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgNjMgKiA1MTIgPSAzMjI1NiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIEN5bGluZGVycyBTaXplIElkIFR5cGUgICAgICBGbGFncworPHJlbW92ZWQ+MSAgICAgMSAgIDEyOCAgICAgICAxMjkgICA0TSAgNCBTdW5PUyB1c3IgICAgICAKK1NldCBmaXJzdCBwYXJ0aXRpb24gcmVhZG9ubHkKK2RhMjNmNjY2OThkOWE1NTMxNjI4ODc2MjFkNGM3NDkwIHN1bmxhYmVsLmltZworRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAxIGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAzMjUgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDYzICogNTEyID0gMzIyNTYgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBDeWxpbmRlcnMgU2l6ZSBJZCBUeXBlICAgICAgRmxhZ3MKKzxyZW1vdmVkPjEgICAgIDEgICAxMjggICAgICAgMTI5ICAgNE0gIDQgU3VuT1MgdXNyICAgICByCitTZXQgZmlyc3QgcGFydGl0aW9uIG1vdW50YWJsZQorM2FiNzZlODQ5MWIxMDNlYWI1MmIyYWUxODU2YzFlMzAgc3VubGFiZWwuaW1nCitEaXNrIDxyZW1vdmVkPjogMTAgTWlCLCAxMDQ4NTc2MCBieXRlcywgMjA0ODAgc2VjdG9ycworR2VvbWV0cnk6IDEgaGVhZHMsIDYzIHNlY3RvcnMvdHJhY2ssIDMyNSBjeWxpbmRlcnMKK1VuaXRzOiBjeWxpbmRlcnMgb2YgNjMgKiA1MTIgPSAzMjI1NiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBzdW4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIEN5bGluZGVycyBTaXplIElkIFR5cGUgICAgICBGbGFncworPHJlbW92ZWQ+MSAgICAgMSAgIDEyOCAgICAgICAxMjkgICA0TSAgNCBTdW5PUyB1c3IgICAgdXIKK0NyZWF0ZSBzZWNvbmQgcGFydGl0aW9uCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFBhcnRpdGlvbiBudW1iZXIgKDItOCwgZGVmYXVsdCAyKTogRmlyc3QgY3lsaW5kZXIgKDEyOC0zMjUsIGRlZmF1bHQgMTI4KTogTGFzdCBjeWxpbmRlciBvciArY3lsaW5kZXJzIG9yICtzaXple0ssTSxHLFQsUH0gKDEyOC0zMjUsIGRlZmF1bHQgMzI1KTogCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKworQ29tbWFuZCAobSBmb3IgaGVscCk6IFRoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK1N5bmNpbmcgZGlza3MuCisKK2E4N2U4MDgzMGFhMTNkMmQ2OGI3NjY5NjJmMDUyNzUwIHN1bmxhYmVsLmltZworRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK0dlb21ldHJ5OiAxIGhlYWRzLCA2MyBzZWN0b3JzL3RyYWNrLCAzMjUgY3lsaW5kZXJzCitVbml0czogY3lsaW5kZXJzIG9mIDYzICogNTEyID0gMzIyNTYgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogc3VuCisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBDeWxpbmRlcnMgIFNpemUgSWQgVHlwZSAgICAgICAgIEZsYWdzCis8cmVtb3ZlZD4xICAgICAxICAgMTI4ICAgICAgIDEyOSAgICA0TSAgNCBTdW5PUyB1c3IgICAgICAgdXIKKzxyZW1vdmVkPjIgICAxMjkgICAzMjUgICAgICAgMTk4ICA2LjFNIDgzIExpbnV4IG5hdGl2ZSAgICAgIAorRGVsZXRlIGFsbCBwYXJ0aXRpb25zCis1MDJiYTdhMGNmZGNlMjg0OWMzYTk5ODgxZjA1OTBjMyBzdW5sYWJlbC5pbWcKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZpbmNvcmUvY291bnQuNDA5NiBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmNvcmUvY291bnQuNDA5NgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjY1MTM2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmluY29yZS9jb3VudC40MDk2CkBAIC0wLDAgKzEsNTUgQEAKK1sgTk8gRVhDSVRJTkcgRklMRSBdCitmaW5jb3JlOiBmYWlsZWQgdG8gb3Blbjogbm9fc3VjaF9maWxlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CityZXR1cm4gdmFsdWU6IDEKKyAgICAwICAgIDAgaV9FTVBUWV9GSUxFCityZXR1cm4gdmFsdWU6IDAKKyAgICAxICA0MDk1IGlfUEFHRVNJWkVfLTFfX2luY29yZV8KK3JldHVybiB2YWx1ZTogMAorICAgIDEgIDQwOTYgaV9KVVNUX1BBR0VTSVpFX2luY29yZV8KK3JldHVybiB2YWx1ZTogMAorICAgIDAgIDQwOTYgaV9KVVNUX1BBR0VTSVpFX2RpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMiAgODE5MiBpX1RXT19QQUdFU19pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAwICA4MTkyIGlfVFdPX1BBR0VTX2RpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMSAgODE5MiBpX1RXT19QQUdFU19taXhlZF9kaXJlY3Rpb19pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAxICA4MTkyIGlfVFdPX1BBR0VTX21peGVkX2luY29yZV9kaXJlY3Rpb18KK3JldHVybiB2YWx1ZTogMAorICAgIDIgMTM0MjEzNjMyIGlfV0lORE9XX1NJWkVfaW5jb3JlLXNwYXJzZS1pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAwIDEzNDIxMzYzMiBpX1dJTkRPV19TSVpFX2RpcmVjdGlvLXNwYXJzZS1kaXJlY3Rpb18KK3JldHVybiB2YWx1ZTogMAorICAgIDEgMTM0MjEzNjMyIGlfV0lORE9XX1NJWkVfaW5jb3JlLXNwYXJzZS1kaXJlY3Rpb18KK3JldHVybiB2YWx1ZTogMAorICAgIDEgMTM0MjEzNjMyIGlfV0lORE9XX1NJWkVfZGlyZWN0aW8tc3BhcnNlLWluY29yZV8KK3JldHVybiB2YWx1ZTogMAorICAgIDIgMTM0MjE3NzI4IGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfaW5jb3JlLXNwYXJzZS1pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAwIDEzNDIxNzcyOCBpX1dJTkRPV19TSVpFXytfMV9wYWdlX2RpcmVjdGlvLXNwYXJzZS1kaXJlY3Rpb18KK3JldHVybiB2YWx1ZTogMAorICAgIDEgMTM0MjE3NzI4IGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfaW5jb3JlLXNwYXJzZS1kaXJlY3Rpb18KK3JldHVybiB2YWx1ZTogMAorICAgIDEgMTM0MjE3NzI4IGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfZGlyZWN0aW8tc3BhcnNlLWluY29yZV8KK3JldHVybiB2YWx1ZTogMAorWyBNVUxUSVBMRSBGSUxFUyBdCitmaW5jb3JlOiBmYWlsZWQgdG8gb3Blbjogbm9fc3VjaF9maWxlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CitQQUdFUyAgICAgIFNJWkUgRklMRQorICAgIDAgICAgICAgICAwIGlfRU1QVFlfRklMRQorICAgIDEgICAgICA0MDk1IGlfUEFHRVNJWkVfLTFfX2luY29yZV8KKyAgICAxICAgICAgNDA5NiBpX0pVU1RfUEFHRVNJWkVfaW5jb3JlXworICAgIDAgICAgICA0MDk2IGlfSlVTVF9QQUdFU0laRV9kaXJlY3Rpb18KKyAgICAyICAgICAgODE5MiBpX1RXT19QQUdFU19pbmNvcmVfCisgICAgMCAgICAgIDgxOTIgaV9UV09fUEFHRVNfZGlyZWN0aW9fCisgICAgMSAgICAgIDgxOTIgaV9UV09fUEFHRVNfbWl4ZWRfZGlyZWN0aW9faW5jb3JlXworICAgIDEgICAgICA4MTkyIGlfVFdPX1BBR0VTX21peGVkX2luY29yZV9kaXJlY3Rpb18KKyAgICAyIDEzNDIxMzYzMiBpX1dJTkRPV19TSVpFX2luY29yZS1zcGFyc2UtaW5jb3JlXworICAgIDAgMTM0MjEzNjMyIGlfV0lORE9XX1NJWkVfZGlyZWN0aW8tc3BhcnNlLWRpcmVjdGlvXworICAgIDEgMTM0MjEzNjMyIGlfV0lORE9XX1NJWkVfaW5jb3JlLXNwYXJzZS1kaXJlY3Rpb18KKyAgICAxIDEzNDIxMzYzMiBpX1dJTkRPV19TSVpFX2RpcmVjdGlvLXNwYXJzZS1pbmNvcmVfCisgICAgMiAxMzQyMTc3MjggaV9XSU5ET1dfU0laRV8rXzFfcGFnZV9pbmNvcmUtc3BhcnNlLWluY29yZV8KKyAgICAwIDEzNDIxNzcyOCBpX1dJTkRPV19TSVpFXytfMV9wYWdlX2RpcmVjdGlvLXNwYXJzZS1kaXJlY3Rpb18KKyAgICAxIDEzNDIxNzcyOCBpX1dJTkRPV19TSVpFXytfMV9wYWdlX2luY29yZS1zcGFyc2UtZGlyZWN0aW9fCisgICAgMSAxMzQyMTc3MjggaV9XSU5ET1dfU0laRV8rXzFfcGFnZV9kaXJlY3Rpby1zcGFyc2UtaW5jb3JlXworcmV0dXJuIHZhbHVlOiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9maW5jb3JlL2NvdW50LjY1NTM2IGIvdGVzdHMvZXhwZWN0ZWQvZmluY29yZS9jb3VudC42NTUzNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTlmYWI0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmluY29yZS9jb3VudC42NTUzNgpAQCAtMCwwICsxLDU1IEBACitbIE5PIEVYQ0lUSU5HIEZJTEUgXQorZmluY29yZTogZmFpbGVkIHRvIG9wZW46IG5vX3N1Y2hfZmlsZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorcmV0dXJuIHZhbHVlOiAxCisgICAgMCAgICAwIGlfRU1QVFlfRklMRQorcmV0dXJuIHZhbHVlOiAwCisgICAgMSA2NTUzNSBpX1BBR0VTSVpFXy0xX19pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAxIDY1NTM2IGlfSlVTVF9QQUdFU0laRV9pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAwIDY1NTM2IGlfSlVTVF9QQUdFU0laRV9kaXJlY3Rpb18KK3JldHVybiB2YWx1ZTogMAorICAgIDIgMTMxMDcyIGlfVFdPX1BBR0VTX2luY29yZV8KK3JldHVybiB2YWx1ZTogMAorICAgIDAgMTMxMDcyIGlfVFdPX1BBR0VTX2RpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMSAxMzEwNzIgaV9UV09fUEFHRVNfbWl4ZWRfZGlyZWN0aW9faW5jb3JlXworcmV0dXJuIHZhbHVlOiAwCisgICAgMSAxMzEwNzIgaV9UV09fUEFHRVNfbWl4ZWRfaW5jb3JlX2RpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMiAyMTQ3NDE4MTEyIGlfV0lORE9XX1NJWkVfaW5jb3JlLXNwYXJzZS1pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAwIDIxNDc0MTgxMTIgaV9XSU5ET1dfU0laRV9kaXJlY3Rpby1zcGFyc2UtZGlyZWN0aW9fCityZXR1cm4gdmFsdWU6IDAKKyAgICAxIDIxNDc0MTgxMTIgaV9XSU5ET1dfU0laRV9pbmNvcmUtc3BhcnNlLWRpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMSAyMTQ3NDE4MTEyIGlfV0lORE9XX1NJWkVfZGlyZWN0aW8tc3BhcnNlLWluY29yZV8KK3JldHVybiB2YWx1ZTogMAorICAgIDIgMjE0NzQ4MzY0OCBpX1dJTkRPV19TSVpFXytfMV9wYWdlX2luY29yZS1zcGFyc2UtaW5jb3JlXworcmV0dXJuIHZhbHVlOiAwCisgICAgMCAyMTQ3NDgzNjQ4IGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfZGlyZWN0aW8tc3BhcnNlLWRpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMSAyMTQ3NDgzNjQ4IGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfaW5jb3JlLXNwYXJzZS1kaXJlY3Rpb18KK3JldHVybiB2YWx1ZTogMAorICAgIDEgMjE0NzQ4MzY0OCBpX1dJTkRPV19TSVpFXytfMV9wYWdlX2RpcmVjdGlvLXNwYXJzZS1pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKK1sgTVVMVElQTEUgRklMRVMgXQorZmluY29yZTogZmFpbGVkIHRvIG9wZW46IG5vX3N1Y2hfZmlsZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorUEFHRVMgICAgICAgU0laRSBGSUxFCisgICAgMCAgICAgICAgICAwIGlfRU1QVFlfRklMRQorICAgIDEgICAgICA2NTUzNSBpX1BBR0VTSVpFXy0xX19pbmNvcmVfCisgICAgMSAgICAgIDY1NTM2IGlfSlVTVF9QQUdFU0laRV9pbmNvcmVfCisgICAgMCAgICAgIDY1NTM2IGlfSlVTVF9QQUdFU0laRV9kaXJlY3Rpb18KKyAgICAyICAgICAxMzEwNzIgaV9UV09fUEFHRVNfaW5jb3JlXworICAgIDAgICAgIDEzMTA3MiBpX1RXT19QQUdFU19kaXJlY3Rpb18KKyAgICAxICAgICAxMzEwNzIgaV9UV09fUEFHRVNfbWl4ZWRfZGlyZWN0aW9faW5jb3JlXworICAgIDEgICAgIDEzMTA3MiBpX1RXT19QQUdFU19taXhlZF9pbmNvcmVfZGlyZWN0aW9fCisgICAgMiAyMTQ3NDE4MTEyIGlfV0lORE9XX1NJWkVfaW5jb3JlLXNwYXJzZS1pbmNvcmVfCisgICAgMCAyMTQ3NDE4MTEyIGlfV0lORE9XX1NJWkVfZGlyZWN0aW8tc3BhcnNlLWRpcmVjdGlvXworICAgIDEgMjE0NzQxODExMiBpX1dJTkRPV19TSVpFX2luY29yZS1zcGFyc2UtZGlyZWN0aW9fCisgICAgMSAyMTQ3NDE4MTEyIGlfV0lORE9XX1NJWkVfZGlyZWN0aW8tc3BhcnNlLWluY29yZV8KKyAgICAyIDIxNDc0ODM2NDggaV9XSU5ET1dfU0laRV8rXzFfcGFnZV9pbmNvcmUtc3BhcnNlLWluY29yZV8KKyAgICAwIDIxNDc0ODM2NDggaV9XSU5ET1dfU0laRV8rXzFfcGFnZV9kaXJlY3Rpby1zcGFyc2UtZGlyZWN0aW9fCisgICAgMSAyMTQ3NDgzNjQ4IGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfaW5jb3JlLXNwYXJzZS1kaXJlY3Rpb18KKyAgICAxIDIxNDc0ODM2NDggaV9XSU5ET1dfU0laRV8rXzFfcGFnZV9kaXJlY3Rpby1zcGFyc2UtaW5jb3JlXworcmV0dXJuIHZhbHVlOiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9maW5jb3JlL2NvdW50Lm5vc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmNvcmUvY291bnQubm9zaXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ1NzA0NDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9maW5jb3JlL2NvdW50Lm5vc2l6ZQpAQCAtMCwwICsxLDU1IEBACitbIE5PIEVYQ0lUSU5HIEZJTEUgXQorZmluY29yZTogZmFpbGVkIHRvIG9wZW46IG5vX3N1Y2hfZmlsZTogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQorcmV0dXJuIHZhbHVlOiAxCisgICAgMCBpX0VNUFRZX0ZJTEUKK3JldHVybiB2YWx1ZTogMAorICAgIDEgaV9QQUdFU0laRV8tMV9faW5jb3JlXworcmV0dXJuIHZhbHVlOiAwCisgICAgMSBpX0pVU1RfUEFHRVNJWkVfaW5jb3JlXworcmV0dXJuIHZhbHVlOiAwCisgICAgMCBpX0pVU1RfUEFHRVNJWkVfZGlyZWN0aW9fCityZXR1cm4gdmFsdWU6IDAKKyAgICAyIGlfVFdPX1BBR0VTX2luY29yZV8KK3JldHVybiB2YWx1ZTogMAorICAgIDAgaV9UV09fUEFHRVNfZGlyZWN0aW9fCityZXR1cm4gdmFsdWU6IDAKKyAgICAxIGlfVFdPX1BBR0VTX21peGVkX2RpcmVjdGlvX2luY29yZV8KK3JldHVybiB2YWx1ZTogMAorICAgIDEgaV9UV09fUEFHRVNfbWl4ZWRfaW5jb3JlX2RpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMiBpX1dJTkRPV19TSVpFX2luY29yZS1zcGFyc2UtaW5jb3JlXworcmV0dXJuIHZhbHVlOiAwCisgICAgMCBpX1dJTkRPV19TSVpFX2RpcmVjdGlvLXNwYXJzZS1kaXJlY3Rpb18KK3JldHVybiB2YWx1ZTogMAorICAgIDEgaV9XSU5ET1dfU0laRV9pbmNvcmUtc3BhcnNlLWRpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMSBpX1dJTkRPV19TSVpFX2RpcmVjdGlvLXNwYXJzZS1pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAyIGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfaW5jb3JlLXNwYXJzZS1pbmNvcmVfCityZXR1cm4gdmFsdWU6IDAKKyAgICAwIGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfZGlyZWN0aW8tc3BhcnNlLWRpcmVjdGlvXworcmV0dXJuIHZhbHVlOiAwCisgICAgMSBpX1dJTkRPV19TSVpFXytfMV9wYWdlX2luY29yZS1zcGFyc2UtZGlyZWN0aW9fCityZXR1cm4gdmFsdWU6IDAKKyAgICAxIGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfZGlyZWN0aW8tc3BhcnNlLWluY29yZV8KK3JldHVybiB2YWx1ZTogMAorWyBNVUxUSVBMRSBGSUxFUyBdCitmaW5jb3JlOiBmYWlsZWQgdG8gb3Blbjogbm9fc3VjaF9maWxlOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5CitQQUdFUyBGSUxFCisgICAgMCBpX0VNUFRZX0ZJTEUKKyAgICAxIGlfUEFHRVNJWkVfLTFfX2luY29yZV8KKyAgICAxIGlfSlVTVF9QQUdFU0laRV9pbmNvcmVfCisgICAgMCBpX0pVU1RfUEFHRVNJWkVfZGlyZWN0aW9fCisgICAgMiBpX1RXT19QQUdFU19pbmNvcmVfCisgICAgMCBpX1RXT19QQUdFU19kaXJlY3Rpb18KKyAgICAxIGlfVFdPX1BBR0VTX21peGVkX2RpcmVjdGlvX2luY29yZV8KKyAgICAxIGlfVFdPX1BBR0VTX21peGVkX2luY29yZV9kaXJlY3Rpb18KKyAgICAyIGlfV0lORE9XX1NJWkVfaW5jb3JlLXNwYXJzZS1pbmNvcmVfCisgICAgMCBpX1dJTkRPV19TSVpFX2RpcmVjdGlvLXNwYXJzZS1kaXJlY3Rpb18KKyAgICAxIGlfV0lORE9XX1NJWkVfaW5jb3JlLXNwYXJzZS1kaXJlY3Rpb18KKyAgICAxIGlfV0lORE9XX1NJWkVfZGlyZWN0aW8tc3BhcnNlLWluY29yZV8KKyAgICAyIGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfaW5jb3JlLXNwYXJzZS1pbmNvcmVfCisgICAgMCBpX1dJTkRPV19TSVpFXytfMV9wYWdlX2RpcmVjdGlvLXNwYXJzZS1kaXJlY3Rpb18KKyAgICAxIGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfaW5jb3JlLXNwYXJzZS1kaXJlY3Rpb18KKyAgICAxIGlfV0lORE9XX1NJWkVfK18xX3BhZ2VfZGlyZWN0aW8tc3BhcnNlLWluY29yZV8KK3JldHVybiB2YWx1ZTogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjYwNmJjZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMKQEAgLTAsMCArMSwzMiBAQAorVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICBTT1VSQ0UgICAgICAgICAgIEZTVFlQRSAgICAgICAgICAgICAgICBPUFRJT05TCisvcHJvYyAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jICAgICAgICAgICAgcHJvYyAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgIHN5c3RlbWQtMSAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8IGAtL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIG5vbmUgICAgICAgICAgICAgYmluZm10X21pc2MgICAgICAgICAgIHJ3LHJlbGF0aW1lCitgLS9wcm9jL2J1cy91c2IgICAgICAgICAgICAgIC9wcm9jL2J1cy91c2IgICAgdXNiZnMgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCisvc3lzICAgICAgICAgICAgICAgICAgICAgICAgIC9zeXMgICAgICAgICAgICAgc3lzZnMgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9zeXMvZnMvY2dyb3VwICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbW9kZT03NTUKK3wgfC0vc3lzL2ZzL2Nncm91cC9zeXN0ZW1kICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCit8IHwtL3N5cy9mcy9jZ3JvdXAvY3B1c2V0ICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1c2V0Cit8IHwtL3N5cy9mcy9jZ3JvdXAvbnMgICAgICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbnMKK3wgfC0vc3lzL2ZzL2Nncm91cC9jcHUgICAgICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHUKK3wgfC0vc3lzL2ZzL2Nncm91cC9jcHVhY2N0ICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVhY2N0Cit8IHwtL3N5cy9mcy9jZ3JvdXAvbWVtb3J5ICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbWVtb3J5Cit8IHwtL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsZGV2aWNlcworfCB8LS9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGZyZWV6ZXIKK3wgfC0vc3lzL2ZzL2Nncm91cC9uZXRfY2xzICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxuZXRfY2xzCit8IGAtL3N5cy9mcy9jZ3JvdXAvYmxraW8gICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsYmxraW8KK3wtL3N5cy9rZXJuZWwvc2VjdXJpdHkgICAgICAgc3lzdGVtZC0xICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wtL3N5cy9rZXJuZWwvZGVidWcgICAgICAgICAgc3lzdGVtZC0xICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK2AtL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zICAgZnVzZWN0bCAgICAgICAgICBmdXNlY3RsICAgICAgICAgICAgICAgcncscmVsYXRpbWUKKy9kZXYgICAgICAgICAgICAgICAgICAgICAgICAgdWRldiAgICAgICAgICAgICBkZXZ0bXBmcyAgICAgICAgICAgICAgcncscmVsYXRpbWUsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1Cit8LS9kZXYvcHRzICAgICAgICAgICAgICAgICAgIGRldnB0cyAgICAgICAgICAgZGV2cHRzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorfC0vZGV2L3NobSAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorfC0vZGV2L2h1Z2VwYWdlcyAgICAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yMyxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorfCBgLS9kZXYvaHVnZXBhZ2VzICAgICAgICAgICBodWdldGxiZnMgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgICAgICBydyxyZWxhdGltZQorYC0vZGV2L21xdWV1ZSAgICAgICAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorICBgLS9kZXYvbXF1ZXVlICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorL2hvbWUva3phay8uZ3ZmcyAgICAgICAgICAgICBndmZzLWZ1c2UtZGFlbW9uIGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUsdXNlcl9pZD01MDAsZ3JvdXBfaWQ9NTAwCisvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyAgICAgIHN1bnJwYyAgICAgICAgICAgcnBjX3BpcGVmcyAgICAgICAgICAgIHJ3LHJlbGF0aW1lCisvbW50L3NvdW5kcyAgICAgICAgICAgICAgICAgIC8vZm9vLmhvbWUvYmFyLyAgY2lmcyAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0CisvbW50L2ZvbyAgICAgICAgICAgICAgICAgICAgIC9mb29vb28gICAgICAgICAgYmFyICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCityYz0wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9maW5kbW50L2ZpbHRlci1vcHRpb25zLW5hbWUgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L2ZpbHRlci1vcHRpb25zLW5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2M2MzVhZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbmFtZQpAQCAtMCwwICsxLDcgQEAKK1RBUkdFVCAgICAgICAgICAgICAgICAgICBTT1VSQ0UgICAgRlNUWVBFIE9QVElPTlMKKy9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBzeXN0ZW1kLTEgYXV0b2ZzIHJ3LHJlbGF0aW1lLGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cisvc3lzL2tlcm5lbC9zZWN1cml0eSAgICAgc3lzdGVtZC0xIGF1dG9mcyBydyxyZWxhdGltZSxmZD0yMixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorL3N5cy9rZXJuZWwvZGVidWcgICAgICAgIHN5c3RlbWQtMSBhdXRvZnMgcncscmVsYXRpbWUsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKy9kZXYvaHVnZXBhZ2VzICAgICAgICAgICBzeXN0ZW1kLTEgYXV0b2ZzIHJ3LHJlbGF0aW1lLGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CisvZGV2L21xdWV1ZSAgICAgICAgICAgICAgc3lzdGVtZC0xIGF1dG9mcyBydyxyZWxhdGltZSxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorcmM9MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucy1uYW1ldmFsIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucy1uYW1ldmFsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxMjE5YzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L2ZpbHRlci1vcHRpb25zLW5hbWV2YWwKQEAgLTAsMCArMSwzIEBACitUQVJHRVQgICAgICAgICAgICAgICBTT1VSQ0UgICAgRlNUWVBFIE9QVElPTlMKKy9zeXMva2VybmVsL3NlY3VyaXR5IHN5c3RlbWQtMSBhdXRvZnMgcncscmVsYXRpbWUsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3JjPTAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbmFtZXZhbC1tdWx0aSBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbmFtZXZhbC1tdWx0aQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMmFiM2NlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucy1uYW1ldmFsLW11bHRpCkBAIC0wLDAgKzEsMyBAQAorVEFSR0VUICAgU09VUkNFIEZTVFlQRSBPUFRJT05TCisvZGV2L3B0cyBkZXZwdHMgZGV2cHRzIHJ3LHJlbGF0aW1lLGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorcmM9MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucy1uYW1ldmFsLW5lZyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbmFtZXZhbC1uZWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ3MWQ2NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbmFtZXZhbC1uZWcKQEAgLTAsMCArMSwzNCBAQAorVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVJDRSAgICAgICAgICAgICAgICBGU1RZUEUgICAgICAgICAgICAgICAgT1BUSU9OUworLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhNCAgICAgICAgICAgICBleHQzICAgICAgICAgICAgICAgICAgcncsbm9hdGltZSxlcnJvcnM9Y29udGludWUsdXNlcl94YXR0cixhY2wsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorfC0vcHJvYyAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jICAgICAgICAgICAgICAgICBwcm9jICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wgfC0vcHJvYy9zeXMvZnMvYmluZm10X21pc2MgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8IHwgYC0vcHJvYy9zeXMvZnMvYmluZm10X21pc2Mgbm9uZSAgICAgICAgICAgICAgICAgIGJpbmZtdF9taXNjICAgICAgICAgICBydyxyZWxhdGltZQorfCBgLS9wcm9jL2J1cy91c2IgICAgICAgICAgICAgIC9wcm9jL2J1cy91c2IgICAgICAgICB1c2JmcyAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wtL3N5cyAgICAgICAgICAgICAgICAgICAgICAgICAvc3lzICAgICAgICAgICAgICAgICAgc3lzZnMgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8IHwtL3N5cy9mcy9jZ3JvdXAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1vZGU9NzU1Cit8IHwgfC0vc3lzL2ZzL2Nncm91cC9zeXN0ZW1kICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL2NwdXNldCAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1c2V0Cit8IHwgfC0vc3lzL2ZzL2Nncm91cC9ucyAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG5zCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9jcHUgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdQorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdCAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVhY2N0Cit8IHwgfC0vc3lzL2ZzL2Nncm91cC9tZW1vcnkgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1lbW9yeQorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxkZXZpY2VzCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9mcmVlemVyICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGZyZWV6ZXIKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL25ldF9jbHMgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbmV0X2NscworfCB8IGAtL3N5cy9mcy9jZ3JvdXAvYmxraW8gICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxibGtpbworfCB8LS9zeXMva2VybmVsL2RlYnVnICAgICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wgYC0vc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgICBmdXNlY3RsICAgICAgICAgICAgICAgZnVzZWN0bCAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9kZXYgICAgICAgICAgICAgICAgICAgICAgICAgdWRldiAgICAgICAgICAgICAgICAgIGRldnRtcGZzICAgICAgICAgICAgICBydyxyZWxhdGltZSxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKK3wgfC0vZGV2L3B0cyAgICAgICAgICAgICAgICAgICBkZXZwdHMgICAgICAgICAgICAgICAgZGV2cHRzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorfCB8LS9kZXYvc2htICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wgfC0vZGV2L2h1Z2VwYWdlcyAgICAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8IHwgYC0vZGV2L2h1Z2VwYWdlcyAgICAgICAgICAgaHVnZXRsYmZzICAgICAgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgICAgICBydyxyZWxhdGltZQorfCBgLS9kZXYvbXF1ZXVlICAgICAgICAgICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjYscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wgICBgLS9kZXYvbXF1ZXVlICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgICAgICAgbXF1ZXVlICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9ib290ICAgICAgICAgICAgICAgICAgICAgICAgL2Rldi9zZGE2ICAgICAgICAgICAgIGV4dDMgICAgICAgICAgICAgICAgICBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCit8LS9ob21lL2t6YWsgICAgICAgICAgICAgICAgICAgL2Rldi9tYXBwZXIva3phay1ob21lIGV4dDQgICAgICAgICAgICAgICAgICBydyxub2F0aW1lLGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQKK3wgYC0vaG9tZS9remFrLy5ndmZzICAgICAgICAgICBndmZzLWZ1c2UtZGFlbW9uICAgICAgZnVzZS5ndmZzLWZ1c2UtZGFlbW9uIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSx1c2VyX2lkPTUwMCxncm91cF9pZD01MDAKK3wtL3Zhci9saWIvbmZzL3JwY19waXBlZnMgICAgICBzdW5ycGMgICAgICAgICAgICAgICAgcnBjX3BpcGVmcyAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9tbnQvc291bmRzICAgICAgICAgICAgICAgICAgLy9mb28uaG9tZS9iYXIvICAgICAgIGNpZnMgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZSx1bmM9XFxmb28uaG9tZVxiYXIsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHBvc2l4cGF0aHMsc2VydmVyaW5vLGFjbCxyc2l6ZT0xNjM4NCx3c2l6ZT01NzM0NAorYC0vbW50L2ZvbyAgICAgICAgICAgICAgICAgICAgIC9mb29vb28gICAgICAgICAgICAgICBiYXIgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3JjPTAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbmVnIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucy1uZWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWFiMjQ2MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbmVnCkBAIC0wLDAgKzEsNSBAQAorVEFSR0VUICAgICAgIFNPVVJDRSAgICAgICAgICAgICAgICBGU1RZUEUgT1BUSU9OUworLyAgICAgICAgICAgIC9kZXYvc2RhNCAgICAgICAgICAgICBleHQzICAgcncsbm9hdGltZSxlcnJvcnM9Y29udGludWUsdXNlcl94YXR0cixhY2wsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorfC0vYm9vdCAgICAgIC9kZXYvc2RhNiAgICAgICAgICAgICBleHQzICAgcncsbm9hdGltZSxlcnJvcnM9Y29udGludWUsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorYC0vaG9tZS9remFrIC9kZXYvbWFwcGVyL2t6YWstaG9tZSBleHQ0ICAgcncsbm9hdGltZSxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkCityYz0wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9maW5kbW50L2ZpbHRlci1vcHRpb25zLW5vIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucy1ubwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYWIyNDYxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucy1ubwpAQCAtMCwwICsxLDUgQEAKK1RBUkdFVCAgICAgICBTT1VSQ0UgICAgICAgICAgICAgICAgRlNUWVBFIE9QVElPTlMKKy8gICAgICAgICAgICAvZGV2L3NkYTQgICAgICAgICAgICAgZXh0MyAgIHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3wtL2Jvb3QgICAgICAvZGV2L3NkYTYgICAgICAgICAgICAgZXh0MyAgIHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK2AtL2hvbWUva3phayAvZGV2L21hcHBlci9remFrLWhvbWUgZXh0NCAgIHJ3LG5vYXRpbWUsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorcmM9MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItb3B0aW9ucy1uby1tdWx0aSBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbm8tbXVsdGkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmQ3MTRhZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLW9wdGlvbnMtbm8tbXVsdGkKQEAgLTAsMCArMSwzIEBACitUQVJHRVQgICAgICAgICAgICAgICBTT1VSQ0UgRlNUWVBFIE9QVElPTlMKKy9zeXMvZnMvY2dyb3VwL2Jsa2lvIGNncm91cCBjZ3JvdXAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxibGtpbworcmM9MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItdHlwZXMgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L2ZpbHRlci10eXBlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjMzZGFjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItdHlwZXMKQEAgLTAsMCArMSw0IEBACitUQVJHRVQgIFNPVVJDRSAgICBGU1RZUEUgT1BUSU9OUworLyAgICAgICAvZGV2L3NkYTQgZXh0MyAgIHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK2AtL2Jvb3QgL2Rldi9zZGE2IGV4dDMgICBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCityYz0wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9maW5kbW50L2ZpbHRlci10eXBlcy1tdWx0aSBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvZmlsdGVyLXR5cGVzLW11bHRpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhYjI0NjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L2ZpbHRlci10eXBlcy1tdWx0aQpAQCAtMCwwICsxLDUgQEAKK1RBUkdFVCAgICAgICBTT1VSQ0UgICAgICAgICAgICAgICAgRlNUWVBFIE9QVElPTlMKKy8gICAgICAgICAgICAvZGV2L3NkYTQgICAgICAgICAgICAgZXh0MyAgIHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3wtL2Jvb3QgICAgICAvZGV2L3NkYTYgICAgICAgICAgICAgZXh0MyAgIHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK2AtL2hvbWUva3phayAvZGV2L21hcHBlci9remFrLWhvbWUgZXh0NCAgIHJ3LG5vYXRpbWUsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorcmM9MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItdHlwZXMtbmVnIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9maWx0ZXItdHlwZXMtbmVnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2MDZiY2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L2ZpbHRlci10eXBlcy1uZWcKQEAgLTAsMCArMSwzMiBAQAorVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICBTT1VSQ0UgICAgICAgICAgIEZTVFlQRSAgICAgICAgICAgICAgICBPUFRJT05TCisvcHJvYyAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jICAgICAgICAgICAgcHJvYyAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgIHN5c3RlbWQtMSAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8IGAtL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIG5vbmUgICAgICAgICAgICAgYmluZm10X21pc2MgICAgICAgICAgIHJ3LHJlbGF0aW1lCitgLS9wcm9jL2J1cy91c2IgICAgICAgICAgICAgIC9wcm9jL2J1cy91c2IgICAgdXNiZnMgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCisvc3lzICAgICAgICAgICAgICAgICAgICAgICAgIC9zeXMgICAgICAgICAgICAgc3lzZnMgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9zeXMvZnMvY2dyb3VwICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbW9kZT03NTUKK3wgfC0vc3lzL2ZzL2Nncm91cC9zeXN0ZW1kICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCit8IHwtL3N5cy9mcy9jZ3JvdXAvY3B1c2V0ICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1c2V0Cit8IHwtL3N5cy9mcy9jZ3JvdXAvbnMgICAgICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbnMKK3wgfC0vc3lzL2ZzL2Nncm91cC9jcHUgICAgICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHUKK3wgfC0vc3lzL2ZzL2Nncm91cC9jcHVhY2N0ICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVhY2N0Cit8IHwtL3N5cy9mcy9jZ3JvdXAvbWVtb3J5ICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbWVtb3J5Cit8IHwtL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsZGV2aWNlcworfCB8LS9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgICBjZ3JvdXAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGZyZWV6ZXIKK3wgfC0vc3lzL2ZzL2Nncm91cC9uZXRfY2xzICAgY2dyb3VwICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxuZXRfY2xzCit8IGAtL3N5cy9mcy9jZ3JvdXAvYmxraW8gICAgIGNncm91cCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsYmxraW8KK3wtL3N5cy9rZXJuZWwvc2VjdXJpdHkgICAgICAgc3lzdGVtZC0xICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wtL3N5cy9rZXJuZWwvZGVidWcgICAgICAgICAgc3lzdGVtZC0xICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK2AtL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zICAgZnVzZWN0bCAgICAgICAgICBmdXNlY3RsICAgICAgICAgICAgICAgcncscmVsYXRpbWUKKy9kZXYgICAgICAgICAgICAgICAgICAgICAgICAgdWRldiAgICAgICAgICAgICBkZXZ0bXBmcyAgICAgICAgICAgICAgcncscmVsYXRpbWUsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1Cit8LS9kZXYvcHRzICAgICAgICAgICAgICAgICAgIGRldnB0cyAgICAgICAgICAgZGV2cHRzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorfC0vZGV2L3NobSAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorfC0vZGV2L2h1Z2VwYWdlcyAgICAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yMyxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorfCBgLS9kZXYvaHVnZXBhZ2VzICAgICAgICAgICBodWdldGxiZnMgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgICAgICBydyxyZWxhdGltZQorYC0vZGV2L21xdWV1ZSAgICAgICAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorICBgLS9kZXYvbXF1ZXVlICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorL2hvbWUva3phay8uZ3ZmcyAgICAgICAgICAgICBndmZzLWZ1c2UtZGFlbW9uIGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUsdXNlcl9pZD01MDAsZ3JvdXBfaWQ9NTAwCisvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyAgICAgIHN1bnJwYyAgICAgICAgICAgcnBjX3BpcGVmcyAgICAgICAgICAgIHJ3LHJlbGF0aW1lCisvbW50L3NvdW5kcyAgICAgICAgICAgICAgICAgIC8vZm9vLmhvbWUvYmFyLyAgY2lmcyAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0CisvbW50L2ZvbyAgICAgICAgICAgICAgICAgICAgIC9mb29vb28gICAgICAgICAgYmFyICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCityYz0wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9maW5kbW50L291dHB1dHMtZGVmYXVsdCBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvb3V0cHV0cy1kZWZhdWx0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5NDk1NzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L291dHB1dHMtZGVmYXVsdApAQCAtMCwwICsxLDM1IEBACitUQVJHRVQgICAgICAgICAgICAgICAgICAgICAgICAgU09VUkNFICAgICAgICAgICAgICAgIEZTVFlQRSAgICAgICAgICAgICAgICBPUFRJT05TCisvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgL2Rldi9zZGE0ICAgICAgICAgICAgIGV4dDMgICAgICAgICAgICAgICAgICBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCit8LS9wcm9jICAgICAgICAgICAgICAgICAgICAgICAgL3Byb2MgICAgICAgICAgICAgICAgIHByb2MgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorfCB8LS9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyAgIHN5c3RlbWQtMSAgICAgICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjUscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wgfCBgLS9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBub25lICAgICAgICAgICAgICAgICAgYmluZm10X21pc2MgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8IGAtL3Byb2MvYnVzL3VzYiAgICAgICAgICAgICAgL3Byb2MvYnVzL3VzYiAgICAgICAgIHVzYmZzICAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorfC0vc3lzICAgICAgICAgICAgICAgICAgICAgICAgIC9zeXMgICAgICAgICAgICAgICAgICBzeXNmcyAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wgfC0vc3lzL2ZzL2Nncm91cCAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbW9kZT03NTUKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL3N5c3RlbWQgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUscmVsZWFzZV9hZ2VudD0vbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZAorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvY3B1c2V0ICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVzZXQKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL25zICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbnMKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL2NwdSAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1Cit8IHwgfC0vc3lzL2ZzL2Nncm91cC9jcHVhY2N0ICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdWFjY3QKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL21lbW9yeSAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbWVtb3J5Cit8IHwgfC0vc3lzL2ZzL2Nncm91cC9kZXZpY2VzICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGRldmljZXMKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsZnJlZXplcgorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxuZXRfY2xzCit8IHwgYC0vc3lzL2ZzL2Nncm91cC9ibGtpbyAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGJsa2lvCit8IHwtL3N5cy9rZXJuZWwvc2VjdXJpdHkgICAgICAgc3lzdGVtZC0xICAgICAgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yMixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorfCB8LS9zeXMva2VybmVsL2RlYnVnICAgICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wgYC0vc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgICBmdXNlY3RsICAgICAgICAgICAgICAgZnVzZWN0bCAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9kZXYgICAgICAgICAgICAgICAgICAgICAgICAgdWRldiAgICAgICAgICAgICAgICAgIGRldnRtcGZzICAgICAgICAgICAgICBydyxyZWxhdGltZSxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKK3wgfC0vZGV2L3B0cyAgICAgICAgICAgICAgICAgICBkZXZwdHMgICAgICAgICAgICAgICAgZGV2cHRzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorfCB8LS9kZXYvc2htICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wgfC0vZGV2L2h1Z2VwYWdlcyAgICAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8IHwgYC0vZGV2L2h1Z2VwYWdlcyAgICAgICAgICAgaHVnZXRsYmZzICAgICAgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgICAgICBydyxyZWxhdGltZQorfCBgLS9kZXYvbXF1ZXVlICAgICAgICAgICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjYscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wgICBgLS9kZXYvbXF1ZXVlICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgICAgICAgbXF1ZXVlICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9ib290ICAgICAgICAgICAgICAgICAgICAgICAgL2Rldi9zZGE2ICAgICAgICAgICAgIGV4dDMgICAgICAgICAgICAgICAgICBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCit8LS9ob21lL2t6YWsgICAgICAgICAgICAgICAgICAgL2Rldi9tYXBwZXIva3phay1ob21lIGV4dDQgICAgICAgICAgICAgICAgICBydyxub2F0aW1lLGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQKK3wgYC0vaG9tZS9remFrLy5ndmZzICAgICAgICAgICBndmZzLWZ1c2UtZGFlbW9uICAgICAgZnVzZS5ndmZzLWZ1c2UtZGFlbW9uIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSx1c2VyX2lkPTUwMCxncm91cF9pZD01MDAKK3wtL3Zhci9saWIvbmZzL3JwY19waXBlZnMgICAgICBzdW5ycGMgICAgICAgICAgICAgICAgcnBjX3BpcGVmcyAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9tbnQvc291bmRzICAgICAgICAgICAgICAgICAgLy9mb28uaG9tZS9iYXIvICAgICAgIGNpZnMgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZSx1bmM9XFxmb28uaG9tZVxiYXIsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHBvc2l4cGF0aHMsc2VydmVyaW5vLGFjbCxyc2l6ZT0xNjM4NCx3c2l6ZT01NzM0NAorYC0vbW50L2ZvbyAgICAgICAgICAgICAgICAgICAgIC9mb29vb28gICAgICAgICAgICAgICBiYXIgICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3JjPTAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvb3V0cHV0cy1mb3JjZS10cmVlIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9vdXRwdXRzLWZvcmNlLXRyZWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk0OTU3OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvb3V0cHV0cy1mb3JjZS10cmVlCkBAIC0wLDAgKzEsMzUgQEAKK1RBUkdFVCAgICAgICAgICAgICAgICAgICAgICAgICBTT1VSQ0UgICAgICAgICAgICAgICAgRlNUWVBFICAgICAgICAgICAgICAgIE9QVElPTlMKKy8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvZGV2L3NkYTQgICAgICAgICAgICAgZXh0MyAgICAgICAgICAgICAgICAgIHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3wtL3Byb2MgICAgICAgICAgICAgICAgICAgICAgICAvcHJvYyAgICAgICAgICAgICAgICAgcHJvYyAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8IHwtL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjICAgc3lzdGVtZC0xICAgICAgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorfCB8IGAtL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIG5vbmUgICAgICAgICAgICAgICAgICBiaW5mbXRfbWlzYyAgICAgICAgICAgcncscmVsYXRpbWUKK3wgYC0vcHJvYy9idXMvdXNiICAgICAgICAgICAgICAvcHJvYy9idXMvdXNiICAgICAgICAgdXNiZnMgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8LS9zeXMgICAgICAgICAgICAgICAgICAgICAgICAgL3N5cyAgICAgICAgICAgICAgICAgIHN5c2ZzICAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorfCB8LS9zeXMvZnMvY2dyb3VwICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxtb2RlPTc1NQorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9jcHVzZXQgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdXNldAorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvbnMgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxucworfCB8IHwtL3N5cy9mcy9jZ3JvdXAvY3B1ICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHUKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL2NwdWFjY3QgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1YWNjdAorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvbWVtb3J5ICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxtZW1vcnkKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL2RldmljZXMgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsZGV2aWNlcworfCB8IHwtL3N5cy9mcy9jZ3JvdXAvZnJlZXplciAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxmcmVlemVyCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9uZXRfY2xzICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG5ldF9jbHMKK3wgfCBgLS9zeXMvZnMvY2dyb3VwL2Jsa2lvICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsYmxraW8KK3wgfC0vc3lzL2tlcm5lbC9zZWN1cml0eSAgICAgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8IHwtL3N5cy9rZXJuZWwvZGVidWcgICAgICAgICAgc3lzdGVtZC0xICAgICAgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yNCxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorfCBgLS9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyAgIGZ1c2VjdGwgICAgICAgICAgICAgICBmdXNlY3RsICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wtL2RldiAgICAgICAgICAgICAgICAgICAgICAgICB1ZGV2ICAgICAgICAgICAgICAgICAgZGV2dG1wZnMgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLHNpemU9MTk4MzUxNmssbnJfaW5vZGVzPTQ5NTg3OSxtb2RlPTc1NQorfCB8LS9kZXYvcHRzICAgICAgICAgICAgICAgICAgIGRldnB0cyAgICAgICAgICAgICAgICBkZXZwdHMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCit8IHwtL2Rldi9zaG0gICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorfCB8LS9kZXYvaHVnZXBhZ2VzICAgICAgICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjMscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wgfCBgLS9kZXYvaHVnZXBhZ2VzICAgICAgICAgICBodWdldGxiZnMgICAgICAgICAgICAgaHVnZXRsYmZzICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8IGAtL2Rldi9tcXVldWUgICAgICAgICAgICAgICAgc3lzdGVtZC0xICAgICAgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorfCAgIGAtL2Rldi9tcXVldWUgICAgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICBtcXVldWUgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wtL2Jvb3QgICAgICAgICAgICAgICAgICAgICAgICAvZGV2L3NkYTYgICAgICAgICAgICAgZXh0MyAgICAgICAgICAgICAgICAgIHJ3LG5vYXRpbWUsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3wtL2hvbWUva3phayAgICAgICAgICAgICAgICAgICAvZGV2L21hcHBlci9remFrLWhvbWUgZXh0NCAgICAgICAgICAgICAgICAgIHJ3LG5vYXRpbWUsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorfCBgLS9ob21lL2t6YWsvLmd2ZnMgICAgICAgICAgIGd2ZnMtZnVzZS1kYWVtb24gICAgICBmdXNlLmd2ZnMtZnVzZS1kYWVtb24gcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lLHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorfC0vdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyAgICAgIHN1bnJwYyAgICAgICAgICAgICAgICBycGNfcGlwZWZzICAgICAgICAgICAgcncscmVsYXRpbWUKK3wtL21udC9zb3VuZHMgICAgICAgICAgICAgICAgICAvL2Zvby5ob21lL2Jhci8gICAgICAgY2lmcyAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0CitgLS9tbnQvZm9vICAgICAgICAgICAgICAgICAgICAgL2Zvb29vbyAgICAgICAgICAgICAgIGJhciAgICAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorcmM9MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9vdXRwdXRzLWtlcm5lbCBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvb3V0cHV0cy1rZXJuZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk0OTU3OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvb3V0cHV0cy1rZXJuZWwKQEAgLTAsMCArMSwzNSBAQAorVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVJDRSAgICAgICAgICAgICAgICBGU1RZUEUgICAgICAgICAgICAgICAgT1BUSU9OUworLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhNCAgICAgICAgICAgICBleHQzICAgICAgICAgICAgICAgICAgcncsbm9hdGltZSxlcnJvcnM9Y29udGludWUsdXNlcl94YXR0cixhY2wsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorfC0vcHJvYyAgICAgICAgICAgICAgICAgICAgICAgIC9wcm9jICAgICAgICAgICAgICAgICBwcm9jICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wgfC0vcHJvYy9zeXMvZnMvYmluZm10X21pc2MgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8IHwgYC0vcHJvYy9zeXMvZnMvYmluZm10X21pc2Mgbm9uZSAgICAgICAgICAgICAgICAgIGJpbmZtdF9taXNjICAgICAgICAgICBydyxyZWxhdGltZQorfCBgLS9wcm9jL2J1cy91c2IgICAgICAgICAgICAgIC9wcm9jL2J1cy91c2IgICAgICAgICB1c2JmcyAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wtL3N5cyAgICAgICAgICAgICAgICAgICAgICAgICAvc3lzICAgICAgICAgICAgICAgICAgc3lzZnMgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8IHwtL3N5cy9mcy9jZ3JvdXAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1vZGU9NzU1Cit8IHwgfC0vc3lzL2ZzL2Nncm91cC9zeXN0ZW1kICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL2NwdXNldCAgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1c2V0Cit8IHwgfC0vc3lzL2ZzL2Nncm91cC9ucyAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG5zCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9jcHUgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdQorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdCAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVhY2N0Cit8IHwgfC0vc3lzL2ZzL2Nncm91cC9tZW1vcnkgICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1lbW9yeQorfCB8IHwtL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxkZXZpY2VzCit8IHwgfC0vc3lzL2ZzL2Nncm91cC9mcmVlemVyICAgY2dyb3VwICAgICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGZyZWV6ZXIKK3wgfCB8LS9zeXMvZnMvY2dyb3VwL25ldF9jbHMgICBjZ3JvdXAgICAgICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbmV0X2NscworfCB8IGAtL3N5cy9mcy9jZ3JvdXAvYmxraW8gICAgIGNncm91cCAgICAgICAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxibGtpbworfCB8LS9zeXMva2VybmVsL3NlY3VyaXR5ICAgICAgIHN5c3RlbWQtMSAgICAgICAgICAgICBhdXRvZnMgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wgfC0vc3lzL2tlcm5lbC9kZWJ1ZyAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8IGAtL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zICAgZnVzZWN0bCAgICAgICAgICAgICAgIGZ1c2VjdGwgICAgICAgICAgICAgICBydyxyZWxhdGltZQorfC0vZGV2ICAgICAgICAgICAgICAgICAgICAgICAgIHVkZXYgICAgICAgICAgICAgICAgICBkZXZ0bXBmcyAgICAgICAgICAgICAgcncscmVsYXRpbWUsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1Cit8IHwtL2Rldi9wdHMgICAgICAgICAgICAgICAgICAgZGV2cHRzICAgICAgICAgICAgICAgIGRldnB0cyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKK3wgfC0vZGV2L3NobSAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCit8IHwtL2Rldi9odWdlcGFnZXMgICAgICAgICAgICAgc3lzdGVtZC0xICAgICAgICAgICAgIGF1dG9mcyAgICAgICAgICAgICAgICBydyxyZWxhdGltZSxmZD0yMyxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorfCB8IGAtL2Rldi9odWdlcGFnZXMgICAgICAgICAgIGh1Z2V0bGJmcyAgICAgICAgICAgICBodWdldGxiZnMgICAgICAgICAgICAgcncscmVsYXRpbWUKK3wgYC0vZGV2L21xdWV1ZSAgICAgICAgICAgICAgICBzeXN0ZW1kLTEgICAgICAgICAgICAgYXV0b2ZzICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lLGZkPTI2LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cit8ICAgYC0vZGV2L21xdWV1ZSAgICAgICAgICAgICAgbXF1ZXVlICAgICAgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICBydyxyZWxhdGltZQorfC0vYm9vdCAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhNiAgICAgICAgICAgICBleHQzICAgICAgICAgICAgICAgICAgcncsbm9hdGltZSxlcnJvcnM9Y29udGludWUsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorfC0vaG9tZS9remFrICAgICAgICAgICAgICAgICAgIC9kZXYvbWFwcGVyL2t6YWstaG9tZSBleHQ0ICAgICAgICAgICAgICAgICAgcncsbm9hdGltZSxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkCit8IGAtL2hvbWUva3phay8uZ3ZmcyAgICAgICAgICAgZ3Zmcy1mdXNlLWRhZW1vbiAgICAgIGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUsdXNlcl9pZD01MDAsZ3JvdXBfaWQ9NTAwCit8LS92YXIvbGliL25mcy9ycGNfcGlwZWZzICAgICAgc3VucnBjICAgICAgICAgICAgICAgIHJwY19waXBlZnMgICAgICAgICAgICBydyxyZWxhdGltZQorfC0vbW50L3NvdW5kcyAgICAgICAgICAgICAgICAgIC8vZm9vLmhvbWUvYmFyLyAgICAgICBjaWZzICAgICAgICAgICAgICAgICAgcncscmVsYXRpbWUsdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQKK2AtL21udC9mb28gICAgICAgICAgICAgICAgICAgICAvZm9vb29vICAgICAgICAgICAgICAgYmFyICAgICAgICAgICAgICAgICAgIHJ3LHJlbGF0aW1lCityYz0wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9maW5kbW50L291dHB1dHMtbWVzc3ktbW91bnRpbmZvIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9vdXRwdXRzLW1lc3N5LW1vdW50aW5mbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNzIyNWExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC9vdXRwdXRzLW1lc3N5LW1vdW50aW5mbwpAQCAtMCwwICsxLDMxIEBACitUQVJHRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNPVVJDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZTVFlQRSAgICBPUFRJT05TCisvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC9kZXYvc2RhM1svYXJjaF0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4dDQgICAgICBydyxyZWxhdGltZQorfC0vc3lzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNmcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzeXNmcyAgICAgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorfCBgLS9zeXMvZnMvY2dyb3VwICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxtb2RlPTc1NQorfCAgIHwtL3N5cy9mcy9jZ3JvdXAvcGVyZl9ldmVudCAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZ3JvdXAgICAgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxwZXJmX2V2ZW50Cit8ICAgfC0vc3lzL2ZzL2Nncm91cC9uZXRfY2xzICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNncm91cCAgICBybyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG5ldF9jbHMKK3wgICB8LS9zeXMvZnMvY2dyb3VwL2Jsa2lvICAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2dyb3VwICAgIHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsYmxraW8KK3wgICB8LS9zeXMvZnMvY2dyb3VwL21lbW9yeSAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2dyb3VwICAgIHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbWVtb3J5Cit8ICAgfC0vc3lzL2ZzL2Nncm91cC9waWRzICAgICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNncm91cCAgICBybyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLHBpZHMKK3wgICB8LS9zeXMvZnMvY2dyb3VwL2NwdXNldCAgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2dyb3VwICAgIHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1c2V0Cit8ICAgfC0vc3lzL2ZzL2Nncm91cC9mcmVlemVyICAgICAgICAgIGNncm91cCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNncm91cCAgICBybyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGZyZWV6ZXIKK3wgICB8LS9zeXMvZnMvY2dyb3VwL2NwdSxjcHVhY2N0ICAgICAgY2dyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2dyb3VwICAgIHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1LGNwdWFjY3QKK3wgICB8LS9zeXMvZnMvY2dyb3VwL2RldmljZXMgICAgICAgICAgY2dyb3VwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2dyb3VwICAgIHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsZGV2aWNlcworfCAgIGAtL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCAgICAgICAgICBjZ3JvdXAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjZ3JvdXAgICAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSx4YXR0cixyZWxlYXNlX2FnZW50PS91c3IvbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZAorfC0vZGV2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgcncsbm9zdWlkLG1vZGU9NzU1Cit8IHwtL2Rldi9tcXVldWUgICAgICAgICAgICAgICAgICAgICAgIG1xdWV1ZSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1xdWV1ZSAgICBydyxyZWxhdGltZQorfCB8LS9kZXYvaHVnZXBhZ2VzICAgICAgICAgICAgICAgICAgICBodWdldGxiZnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodWdldGxiZnMgcncscmVsYXRpbWUKK3wgfC0vZGV2L3NobSAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgIHJ3LG5vc3VpZCxub2RldgorfCB8LS9kZXYvcHRzICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZwdHMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZwdHMgICAgcncsbm9zdWlkLG5vZXhlYyxyZWxhdGltZSxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT02NjYKK3wgYC0vZGV2L2NvbnNvbGUgICAgICAgICAgICAgICAgICAgICAgZGV2cHRzWy81XSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2cHRzICAgIHJ3LG5vc3VpZCxub2V4ZWMscmVsYXRpbWUsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCit8LS9ydW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRtcGZzICAgICBydyxub3N1aWQsbm9kZXYsbW9kZT03NTUKK3wgfC0vcnVuL3VzZXIvMCAgICAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG1wZnMgICAgIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSxzaXplPTE2MzQxMjBrLG1vZGU9NzAwCit8IGAtL3J1bi9zeXN0ZW1kL25zcGF3bi9pbmNvbWluZyAgICAgIHJ1blsvc3lzdGVtZC9uc3Bhd24vcHJvcGFnYXRlL2FyY2hdICAgICAgICAgICAgIHRtcGZzICAgICBybyxyZWxhdGltZSxtb2RlPTc1NQorfC0vdG1wICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgcncKK2AtL3Byb2MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvYyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvYyAgICAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKKyAgfC0vcHJvYy9zeXMva2VybmVsL3JhbmRvbS9ib290X2lkICAgdG1wZnNbL3Byb2Mtc3lzLWtlcm5lbC1yYW5kb20tYm9vdC1pZC8vZGVsZXRlZF0gdG1wZnMgICAgIHJ3LG5vc3VpZCxub2Rldixtb2RlPTc1NQorICB8LS9wcm9jL2ttc2cgICAgICAgICAgICAgICAgICAgICAgICB0bXBmc1sva21zZy8vZGVsZXRlZF0gICAgICAgICAgICAgICAgICAgICAgICAgICB0bXBmcyAgICAgcncsbm9zdWlkLG5vZGV2LG1vZGU9NzU1CisgIHwtL3Byb2Mvc3lzICAgICAgICAgICAgICAgICAgICAgICAgIHByb2NbL3N5c10gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2MgICAgICBybyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCisgIHwgYC0vcHJvYy9zeXMva2VybmVsL3JhbmRvbS9ib290X2lkIHRtcGZzWy9wcm9jLXN5cy1rZXJuZWwtcmFuZG9tLWJvb3QtaWQvL2RlbGV0ZWRdIHRtcGZzICAgICBybyxub3N1aWQsbm9kZXYsbW9kZT03NTUKKyAgYC0vcHJvYy9zeXNycS10cmlnZ2VyICAgICAgICAgICAgICAgcHJvY1svc3lzcnEtdHJpZ2dlcl0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvYyAgICAgIHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK3JjPTAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvb3V0cHV0cy1zdWJtb3VudHMgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L291dHB1dHMtc3VibW91bnRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ3NjYxZTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L291dHB1dHMtc3VibW91bnRzCkBAIC0wLDAgKzEsMTcgQEAKK1RBUkdFVCAgICAgICAgICAgICAgICAgICAgIFNPVVJDRSAgICBGU1RZUEUgIE9QVElPTlMKKy9zeXMgICAgICAgICAgICAgICAgICAgICAgIC9zeXMgICAgICBzeXNmcyAgIHJ3LHJlbGF0aW1lCit8LS9zeXMvZnMvY2dyb3VwICAgICAgICAgICB0bXBmcyAgICAgdG1wZnMgICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1vZGU9NzU1Cit8IHwtL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCBjZ3JvdXAgICAgY2dyb3VwICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKK3wgfC0vc3lzL2ZzL2Nncm91cC9jcHVzZXQgIGNncm91cCAgICBjZ3JvdXAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1c2V0Cit8IHwtL3N5cy9mcy9jZ3JvdXAvbnMgICAgICBjZ3JvdXAgICAgY2dyb3VwICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG5zCit8IHwtL3N5cy9mcy9jZ3JvdXAvY3B1ICAgICBjZ3JvdXAgICAgY2dyb3VwICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdQorfCB8LS9zeXMvZnMvY2dyb3VwL2NwdWFjY3QgY2dyb3VwICAgIGNncm91cCAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVhY2N0Cit8IHwtL3N5cy9mcy9jZ3JvdXAvbWVtb3J5ICBjZ3JvdXAgICAgY2dyb3VwICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1lbW9yeQorfCB8LS9zeXMvZnMvY2dyb3VwL2RldmljZXMgY2dyb3VwICAgIGNncm91cCAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxkZXZpY2VzCit8IHwtL3N5cy9mcy9jZ3JvdXAvZnJlZXplciBjZ3JvdXAgICAgY2dyb3VwICBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGZyZWV6ZXIKK3wgfC0vc3lzL2ZzL2Nncm91cC9uZXRfY2xzIGNncm91cCAgICBjZ3JvdXAgIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbmV0X2NscworfCBgLS9zeXMvZnMvY2dyb3VwL2Jsa2lvICAgY2dyb3VwICAgIGNncm91cCAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxibGtpbworfC0vc3lzL2tlcm5lbC9zZWN1cml0eSAgICAgc3lzdGVtZC0xIGF1dG9mcyAgcncscmVsYXRpbWUsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3wtL3N5cy9rZXJuZWwvZGVidWcgICAgICAgIHN5c3RlbWQtMSBhdXRvZnMgIHJ3LHJlbGF0aW1lLGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitgLS9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyBmdXNlY3RsICAgZnVzZWN0bCBydyxyZWxhdGltZQorcmM9MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC90YXJnZXQtbm9uLXJvb3QgYi90ZXN0cy9leHBlY3RlZC9maW5kbW50L3RhcmdldC1ub24tcm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMjE0MzM3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC90YXJnZXQtbm9uLXJvb3QKQEAgLTAsMCArMSBAQAorcmM9MQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZmluZG1udC90YXJnZXQtcm9vdCBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvdGFyZ2V0LXJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTIxZGJkYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2ZpbmRtbnQvdGFyZ2V0LXJvb3QKQEAgLTAsMCArMSwzIEBACitUQVJHRVQgU09VUkNFICAgIEZTVFlQRSBPUFRJT05TCisvICAgICAgL2Rldi9zZGE0IGV4dDMgICBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCityYz0wCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9mc2NrL2lzbW91bnRlZCBiL3Rlc3RzL2V4cGVjdGVkL2ZzY2svaXNtb3VudGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjM2JkNDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9mc2NrL2lzbW91bnRlZApAQCAtMCwwICsxIEBACittb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvYmFzaWMgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvYmFzaWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzJjOTBhZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9iYXNpYwpAQCAtMCwwICsxLDkgQEAKK09wdGlvbiBhCitPcHRpb24gYiwgYXJndW1lbnQgYDEnCitPcHRpb24gYywgYXJndW1lbnQgYDInCitPcHRpb24gYQorT3B0aW9uIGIsIGFyZ3VtZW50IGAzJworT3B0aW9uIGMsIG5vIGFyZ3VtZW50CitSZW1haW5pbmcgYXJndW1lbnRzOgorLS0+IGBmb28nCistLT4gYGJhcicKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWFsdGVybmF0aXZlX29wdGlvbl9jbGFzaCBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWFsdGVybmF0aXZlX29wdGlvbl9jbGFzaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNGFlMTlkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtYWx0ZXJuYXRpdmVfb3B0aW9uX2NsYXNoCkBAIC0wLDAgKzEsMiBAQAorIC1hIC0tYWJjZGUgLS1hYmNkZSAtYSAtYyAtLQorZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtYWx0ZXJuYXRpdmVfb3B0aW9uX2xvbmcgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1hbHRlcm5hdGl2ZV9vcHRpb25fbG9uZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZjVmYzE5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtYWx0ZXJuYXRpdmVfb3B0aW9uX2xvbmcKQEAgLTAsMCArMSwyIEBACisgLWEgLS1vbmUgLS10d28gJ01BTkRBVE9SWScgLS10aHJlZSAnT1BUSU9OQUwnIC0tCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1hbHRlcm5hdGl2ZV9vcHRpb25fc2hvcnQgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1hbHRlcm5hdGl2ZV9vcHRpb25fc2hvcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGY1ZmMxOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWFsdGVybmF0aXZlX29wdGlvbl9zaG9ydApAQCAtMCwwICsxLDIgQEAKKyAtYSAtLW9uZSAtLXR3byAnTUFOREFUT1JZJyAtLXRocmVlICdPUFRJT05BTCcgLS0KK2V4aXQgdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWNvbXBhdGlibGUgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1jb21wYXRpYmxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY2ZTQyYTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1jb21wYXRpYmxlCkBAIC0wLDAgKzEsNSBAQAorZ2V0b3B0OiBtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudAorVHJ5ICdnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK2V4aXQgdmFsdWU6IDIKKyAtLQorZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtY3NoIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtY3NoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZTQ4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1jc2gKQEAgLTAsMCArMSwyIEBACisgLWEgLWIgJzEnIC1jICcyJyAtLWEtbG9uZyAtLWItbG9uZyAnMycgLS1jLWxvbmcgJycgLS0gJ2ZvbycgJ2JhcicKK2V4aXQgdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWludmFsaWRfZ2V0b3B0X29wdGlvbiBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWludmFsaWRfZ2V0b3B0X29wdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMzU3N2UwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52YWxpZF9nZXRvcHRfb3B0aW9uCkBAIC0wLDAgKzEsMyBAQAorZ2V0b3B0OiBpbnZhbGlkIG9wdGlvbiAtLSAnYicKK1RyeSAnZ2V0b3B0IC0taGVscCcgZm9yIG1vcmUgaW5mb3JtYXRpb24uCitleGl0IHZhbHVlOiAyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX21vZGVsX29uZSBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLWludm9jYXRpb25fbW9kZWxfb25lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNhNGRkY2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX21vZGVsX29uZQpAQCAtMCwwICsxLDIgQEAKKyAtYiAtZCAgLWUgT1BUSU9OQUwxIC1mICAtYSAtYyAtSVNSRVFVSVJFRCAtZyBCRUNPTUVTIFRIUkVFIEFSR1VNRU5UUyAtLSBBUkcwIEFSRzEgTk9UX09QVElPTkFMIEFSRzIgQVJHMworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52b2NhdGlvbl9tb2RlbF90aHJlZV9hc19vbmUgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX21vZGVsX3RocmVlX2FzX29uZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDQ3MDFmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52b2NhdGlvbl9tb2RlbF90aHJlZV9hc19vbmUKQEAgLTAsMCArMSwyIEBACisgLWIgLWQgJycgLWUgJ09QVElPTkFMMScgLWYgJycgLWEgLWMgJy1JU1JFUVVJUkVEJyAtZyAnQkVDT01FUyBUSFJFRSBBUkdVTUVOVFMnIC0tICdBUkcwJyAnQVJHMScgJ05PVF9PUFRJT05BTCcgJ0FSRzInICdBUkczJworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52b2NhdGlvbl9tb2RlbF90d29fYXNfb25lIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52b2NhdGlvbl9tb2RlbF90d29fYXNfb25lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFkNDcwMWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX21vZGVsX3R3b19hc19vbmUKQEAgLTAsMCArMSwyIEBACisgLWIgLWQgJycgLWUgJ09QVElPTkFMMScgLWYgJycgLWEgLWMgJy1JU1JFUVVJUkVEJyAtZyAnQkVDT01FUyBUSFJFRSBBUkdVTUVOVFMnIC0tICdBUkcwJyAnQVJHMScgJ05PVF9PUFRJT05BTCcgJ0FSRzInICdBUkczJworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52b2NhdGlvbl93aXRob3V0X3BhcmFtZXRlcnMgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1pbnZvY2F0aW9uX3dpdGhvdXRfcGFyYW1ldGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWVjYzE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtaW52b2NhdGlvbl93aXRob3V0X3BhcmFtZXRlcnMKQEAgLTAsMCArMSwzIEBACitnZXRvcHQ6IG1pc3Npbmcgb3B0c3RyaW5nIGFyZ3VtZW50CitUcnkgJ2dldG9wdCAtLWhlbHAnIGZvciBtb3JlIGluZm9ybWF0aW9uLgorZXhpdCB2YWx1ZTogMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbG9uZ19vcHRpb25fYW1iaWd1b3VzXzEgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1sb25nX29wdGlvbl9hbWJpZ3VvdXNfMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOGNmYmIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbG9uZ19vcHRpb25fYW1iaWd1b3VzXzEKQEAgLTAsMCArMSwzIEBACitnZXRvcHQ6IG9wdGlvbiAnLS1sb25nJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ICctLWxvbmcxJyAnLS1sb25nMicKKyAtLQorZXhpdCB2YWx1ZTogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbG9uZ29wdHMgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1sb25nb3B0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZWU5OTUzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbG9uZ29wdHMKQEAgLTAsMCArMSwyIEBACisgLS1sb25nMSAtLXRoaXJkbG9uZyAnQVJHVU1FTlQnIC0tc2Vjb25kbG9uZyAnQVJHJyAtLWFiYnJldmlhdGlvbiAnQUJCUkFSRycgLWEgLS0gJ0VYVFJBMScKK2V4aXQgdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5hbWVfb3B0aW9uX2xvbmcgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1uYW1lX29wdGlvbl9sb25nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwYjllNmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1uYW1lX29wdGlvbl9sb25nCkBAIC0wLDAgKzEsNCBAQAorVEhJU19QUk9HUkFNOiBpbnZhbGlkIG9wdGlvbiAtLSAnYicKK1RISVNfUFJPR1JBTTogdW5yZWNvZ25pemVkIG9wdGlvbiAnLS13aGF0ZXZlcicKKyAtLWxvbmcgLWEgLS0KK2V4aXQgdmFsdWU6IDEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5hbWVfb3B0aW9uX3Nob3J0IGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbmFtZV9vcHRpb25fc2hvcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjBiOWU2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5hbWVfb3B0aW9uX3Nob3J0CkBAIC0wLDAgKzEsNCBAQAorVEhJU19QUk9HUkFNOiBpbnZhbGlkIG9wdGlvbiAtLSAnYicKK1RISVNfUFJPR1JBTTogdW5yZWNvZ25pemVkIG9wdGlvbiAnLS13aGF0ZXZlcicKKyAtLWxvbmcgLWEgLS0KK2V4aXQgdmFsdWU6IDEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5vLWFyZ3VtZW50cyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5vLWFyZ3VtZW50cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMWVjYzE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtbm8tYXJndW1lbnRzCkBAIC0wLDAgKzEsMyBAQAorZ2V0b3B0OiBtaXNzaW5nIG9wdHN0cmluZyBhcmd1bWVudAorVHJ5ICdnZXRvcHQgLS1oZWxwJyBmb3IgbW9yZSBpbmZvcm1hdGlvbi4KK2V4aXQgdmFsdWU6IDIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLW5vbi1vcHRpb24gYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1ub24tb3B0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczZjBiNjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1ub24tb3B0aW9uCkBAIC0wLDAgKzEsNCBAQAorIC1hICd4JyAtLSAneScgJy1iJyAneicgJ3cnCisgLWEgJ3gnIC1iICd6JyAtLSAneScgJ3cnCisgLWEgJ3gnICd5JyAtYiAneicgJ3cnIC0tCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1wb3NpeF9jb3JyZWN0bHkgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1wb3NpeF9jb3JyZWN0bHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIyYmMzMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXBvc2l4X2NvcnJlY3RseQpAQCAtMCwwICsxLDQgQEAKKyAtYSAtYiAnMScgLWMgJzInIC0tYS1sb25nIC0tYi1sb25nICczJyAtLWMtbG9uZyAnJyAtLSAnZm9vJyAnYmFyJyAneHl4eHknICctLWEtbG9uZycKK2V4aXQgdmFsdWU6IDAKKyAtYSAtYiAnMScgLWMgJzInIC0tYS1sb25nIC0tYi1sb25nICczJyAtLWMtbG9uZyAnJyAtLSAnZm9vJyAnYmFyJyAneHl4eHknICctLWEtbG9uZycKK2V4aXQgdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXF1aWV0X29wdGlvbl9sb25nIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3B0aW9uX2xvbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2UxYTk2NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXF1aWV0X29wdGlvbl9sb25nCkBAIC0wLDAgKzEsMiBAQAorIC0tCitleGl0IHZhbHVlOiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1xdWlldF9vcHRpb25fc2hvcnQgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1xdWlldF9vcHRpb25fc2hvcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2UxYTk2NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXF1aWV0X29wdGlvbl9zaG9ydApAQCAtMCwwICsxLDIgQEAKKyAtLQorZXhpdCB2YWx1ZTogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3V0cHV0X29wdGlvbl9sb25nIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3V0cHV0X29wdGlvbl9sb25nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMDVjYTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1xdWlldF9vdXRwdXRfb3B0aW9uX2xvbmcKQEAgLTAsMCArMSw1IEBACitnZXRvcHQ6IGludmFsaWQgb3B0aW9uIC0tICdjJworZ2V0b3B0OiB1bnJlY29nbml6ZWQgb3B0aW9uICctLXVua25vd24nCitnZXRvcHQ6IG9wdGlvbiAnLS1sb25nJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ICctLWxvbmcxJyAnLS1sb25nMicKK2dldG9wdDogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICdiJworZXhpdCB2YWx1ZTogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtcXVpZXRfb3V0cHV0X29wdGlvbl9zaG9ydCBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXF1aWV0X291dHB1dF9vcHRpb25fc2hvcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2UwNWNhNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXF1aWV0X291dHB1dF9vcHRpb25fc2hvcnQKQEAgLTAsMCArMSw1IEBACitnZXRvcHQ6IGludmFsaWQgb3B0aW9uIC0tICdjJworZ2V0b3B0OiB1bnJlY29nbml6ZWQgb3B0aW9uICctLXVua25vd24nCitnZXRvcHQ6IG9wdGlvbiAnLS1sb25nJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ICctLWxvbmcxJyAnLS1sb25nMicKK2dldG9wdDogb3B0aW9uIHJlcXVpcmVzIGFuIGFyZ3VtZW50IC0tICdiJworZXhpdCB2YWx1ZTogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtc2FtZV9sb25nX3Nob3J0X29wdGlvbnMgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1zYW1lX2xvbmdfc2hvcnRfb3B0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MTlkMjI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtc2FtZV9sb25nX3Nob3J0X29wdGlvbnMKQEAgLTAsMCArMSwyIEBACisgLWEgLS1hIC0tCitleGl0IHZhbHVlOiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1zaCBiL3Rlc3RzL2V4cGVjdGVkL2dldG9wdC9vcHRpb25zLXNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2ZTQ4ZjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy1zaApAQCAtMCwwICsxLDIgQEAKKyAtYSAtYiAnMScgLWMgJzInIC0tYS1sb25nIC0tYi1sb25nICczJyAtLWMtbG9uZyAnJyAtLSAnZm9vJyAnYmFyJworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtdGVzdF9mb3JfZW5oYW5jZWRfZ2V0b3B0IGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtdGVzdF9mb3JfZW5oYW5jZWRfZ2V0b3B0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUzOWRiMDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy10ZXN0X2Zvcl9lbmhhbmNlZF9nZXRvcHQKQEAgLTAsMCArMSBAQAorZXhpdCB2YWx1ZTogNApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtdW5rbm93bl9vcHRpb25zIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtdW5rbm93bl9vcHRpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlZGJhMmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bmtub3duX29wdGlvbnMKQEAgLTAsMCArMSw0IEBACitnZXRvcHQ6IGludmFsaWQgb3B0aW9uIC0tICdiJworZ2V0b3B0OiB1bnJlY29nbml6ZWQgb3B0aW9uICctLXdoYXRldmVyJworIC0tbG9uZyAtYSAtLQorZXhpdCB2YWx1ZTogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtdW5xdW90ZWRfb3B0aW9uX2Jhc2ggYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bnF1b3RlZF9vcHRpb25fYmFzaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGEzNjJmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtdW5xdW90ZWRfb3B0aW9uX2Jhc2gKQEAgLTAsMCArMSw1IEBACisgLWEgJD8hKiAgLS1sb25nMSAiXCcgLS0gTW9yZQorIHRoYW4KK29uZQorbGluZQorZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtdW5xdW90ZWRfb3B0aW9uX3Rjc2ggYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy11bnF1b3RlZF9vcHRpb25fdGNzaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZGEzNjJmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtdW5xdW90ZWRfb3B0aW9uX3Rjc2gKQEAgLTAsMCArMSw1IEBACisgLWEgJD8hKiAgLS1sb25nMSAiXCcgLS0gTW9yZQorIHRoYW4KK29uZQorbGluZQorZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtd2VpcmRfcXVvdGluZ19iYXNoIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtd2VpcmRfcXVvdGluZ19iYXNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiODcxY2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy13ZWlyZF9xdW90aW5nX2Jhc2gKQEAgLTAsMCArMSw1IEBACisgLWEgJyQ/ISogJyAtLWxvbmcxICciXCdcJycnIC0tICdNb3JlCisgdGhhbgorb25lCitsaW5lJworZXhpdCB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtd2VpcmRfcXVvdGluZ190Y3NoIGIvdGVzdHMvZXhwZWN0ZWQvZ2V0b3B0L29wdGlvbnMtd2VpcmRfcXVvdGluZ190Y3NoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNWI3MWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9nZXRvcHQvb3B0aW9ucy13ZWlyZF9xdW90aW5nX3Rjc2gKQEAgLTAsMCArMSwyIEBACisgLWEgJyQ/J1whJyonXCAnJyAtLWxvbmcxICciXFwnXCcnJyAtLSAnTW9yZVxuJ1wgJ3RoYW5cbm9uZVxubGluZScKK2V4aXQgdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMWJfY2hhciBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMWJfY2hhcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjRmNTBhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0xYl9jaGFyCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgIFwwICAgICAwMDEgICAgIDAwMiAgICAgMDAzICAgICAwMDQgICAgIDAwNSAgICAgMDA2ICAgICAgXGEgICAgCiswMDAwMDEwICBcYiAgICAgIFx0ICAgICAgXG4gICAgICBcdiAgICAgIFxmICAgICAgXHIgICAgIDAxNiAgICAgMDE3ICAgIAorMDAwMDAyMCAwMjAgICAgIDAyMSAgICAgMDIyICAgICAwMjMgICAgIDAyNCAgICAgMDI1ICAgICAwMjYgICAgIDAyNyAgICAKKzAwMDAwMzAgMDMwICAgICAwMzEgICAgIDAzMiAgICAgMDMzICAgICAwMzQgICAgIDAzNSAgICAgMDM2ICAgICAwMzcgICAgCiswMDAwMDQwICAgICAgICAgICAhICAgICAgICIgICAgICAgIyAgICAgICAkICAgICAgICUgICAgICAgJiAgICAgICAnICAgIAorMDAwMDA1MCAgICggICAgICAgKSAgICAgICAqICAgICAgICsgICAgICAgLCAgICAgICAtICAgICAgIC4gICAgICAgLyAgICAKKzAwMDAwNjAgICAwICAgICAgIDEgICAgICAgMiAgICAgICAzICAgICAgIDQgICAgICAgNSAgICAgICA2ICAgICAgIDcgICAgCiswMDAwMDcwICAgOCAgICAgICA5ICAgICAgIDogICAgICAgOyAgICAgICA8ICAgICAgID0gICAgICAgPiAgICAgICA/ICAgIAorMDAwMDA4MCAgIEAgICAgICAgQSAgICAgICBCICAgICAgIEMgICAgICAgRCAgICAgICBFICAgICAgIEYgICAgICAgRyAgICAKKzAwMDAwOTAgICBIICAgICAgIEkgICAgICAgSiAgICAgICBLICAgICAgIEwgICAgICAgTSAgICAgICBOICAgICAgIE8gICAgCiswMDAwMGEwICAgUCAgICAgICBRICAgICAgIFIgICAgICAgUyAgICAgICBUICAgICAgIFUgICAgICAgViAgICAgICBXICAgIAorMDAwMDBiMCAgIFggICAgICAgWSAgICAgICBaICAgICAgIFsgICAgICAgXCAgICAgICBdICAgICAgIF4gICAgICAgXyAgICAKKzAwMDAwYzAgICBgICAgICAgIGEgICAgICAgYiAgICAgICBjICAgICAgIGQgICAgICAgZSAgICAgICBmICAgICAgIGcgICAgCiswMDAwMGQwICAgaCAgICAgICBpICAgICAgIGogICAgICAgayAgICAgICBsICAgICAgIG0gICAgICAgbiAgICAgICBvICAgIAorMDAwMDBlMCAgIHAgICAgICAgcSAgICAgICByICAgICAgIHMgICAgICAgdCAgICAgICB1ICAgICAgIHYgICAgICAgdyAgICAKKzAwMDAwZjAgICB4ICAgICAgIHkgICAgICAgeiAgICAgICB7ICAgICAgIHwgICAgICAgfSAgICAgICB+ICAgICAxNzcgICAgCiswMDAwMTAwIDMwMiAyMDAgICAgIDMwMiAyMDEgICAgIDMwMiAyMDIgICAgIDMwMiAyMDMgICAgIDMwMiAyMDQgICAgIDMwMgorMDAwMDExMCAyMDUgICAgIDMwMiAyMDYgICAgIDMwMiAyMDcgICAgIDMwMiAyMTAgICAgIDMwMiAyMTEgICAgIDMwMiAyMTIKKzAwMDAxMjAgICAgIDMwMiAyMTMgICAgIDMwMiAyMTQgICAgIDMwMiAyMTUgICAgIDMwMiAyMTYgICAgIDMwMiAyMTcgICAgCiswMDAwMTMwIDMwMiAyMjAgICAgIDMwMiAyMjEgICAgIDMwMiAyMjIgICAgIDMwMiAyMjMgICAgIDMwMiAyMjQgICAgIDMwMgorMDAwMDE0MCAyMjUgICAgIDMwMiAyMjYgICAgIDMwMiAyMjcgICAgIDMwMiAyMzAgICAgIDMwMiAyMzEgICAgIDMwMiAyMzIKKzAwMDAxNTAgICAgIDMwMiAyMzMgICAgIDMwMiAyMzQgICAgIDMwMiAyMzUgICAgIDMwMiAyMzYgICAgIDMwMiAyMzcgICAgCiswMDAwMTYwIDMwMiAyNDAgICAgIDMwMiAyNDEgICAgIDMwMiAyNDIgICAgIDMwMiAyNDMgICAgIDMwMiAyNDQgICAgIDMwMgorMDAwMDE3MCAyNDUgICAgIDMwMiAyNDYgICAgIDMwMiAyNDcgICAgIDMwMiAyNTAgICAgIDMwMiAyNTEgICAgIDMwMiAyNTIKKzAwMDAxODAgICAgIDMwMiAyNTMgICAgIDMwMiAyNTQgICAgIDMwMiAyNTUgICAgIDMwMiAyNTYgICAgIDMwMiAyNTcgICAgCiswMDAwMTkwIDMwMiAyNjAgICAgIDMwMiAyNjEgICAgIDMwMiAyNjIgICAgIDMwMiAyNjMgICAgIDMwMiAyNjQgICAgIDMwMgorMDAwMDFhMCAyNjUgICAgIDMwMiAyNjYgICAgIDMwMiAyNjcgICAgIDMwMiAyNzAgICAgIDMwMiAyNzEgICAgIDMwMiAyNzIKKzAwMDAxYjAgICAgIDMwMiAyNzMgICAgIDMwMiAyNzQgICAgIDMwMiAyNzUgICAgIDMwMiAyNzYgICAgIDMwMiAyNzcgICAgCiswMDAwMWMwIDMwMyAyMDAgICAgIDMwMyAyMDEgICAgIDMwMyAyMDIgICAgIDMwMyAyMDMgICAgIDMwMyAyMDQgICAgIDMwMworMDAwMDFkMCAyMDUgICAgIDMwMyAyMDYgICAgIDMwMyAyMDcgICAgIDMwMyAyMTAgICAgIDMwMyAyMTEgICAgIDMwMyAyMTIKKzAwMDAxZTAgICAgIDMwMyAyMTMgICAgIDMwMyAyMTQgICAgIDMwMyAyMTUgICAgIDMwMyAyMTYgICAgIDMwMyAyMTcgICAgCiswMDAwMWYwIDMwMyAyMjAgICAgIDMwMyAyMjEgICAgIDMwMyAyMjIgICAgIDMwMyAyMjMgICAgIDMwMyAyMjQgICAgIDMwMworMDAwMDIwMCAyMjUgICAgIDMwMyAyMjYgICAgIDMwMyAyMjcgICAgIDMwMyAyMzAgICAgIDMwMyAyMzEgICAgIDMwMyAyMzIKKzAwMDAyMTAgICAgIDMwMyAyMzMgICAgIDMwMyAyMzQgICAgIDMwMyAyMzUgICAgIDMwMyAyMzYgICAgIDMwMyAyMzcgICAgCiswMDAwMjIwIDMwMyAyNDAgICAgIDMwMyAyNDEgICAgIDMwMyAyNDIgICAgIDMwMyAyNDMgICAgIDMwMyAyNDQgICAgIDMwMworMDAwMDIzMCAyNDUgICAgIDMwMyAyNDYgICAgIDMwMyAyNDcgICAgIDMwMyAyNTAgICAgIDMwMyAyNTEgICAgIDMwMyAyNTIKKzAwMDAyNDAgICAgIDMwMyAyNTMgICAgIDMwMyAyNTQgICAgIDMwMyAyNTUgICAgIDMwMyAyNTYgICAgIDMwMyAyNTcgICAgCiswMDAwMjUwIDMwMyAyNjAgICAgIDMwMyAyNjEgICAgIDMwMyAyNjIgICAgIDMwMyAyNjMgICAgIDMwMyAyNjQgICAgIDMwMworMDAwMDI2MCAyNjUgICAgIDMwMyAyNjYgICAgIDMwMyAyNjcgICAgIDMwMyAyNzAgICAgIDMwMyAyNzEgICAgIDMwMyAyNzIKKzAwMDAyNzAgICAgIDMwMyAyNzMgICAgIDMwMyAyNzQgICAgIDMwMyAyNzUgICAgIDMwMyAyNzYgICAgIDMwMyAyNzcgICAgCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTFiX29jdGFsIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0xYl9vY3RhbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTlkMDdmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0xYl9vY3RhbApAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAxMDEgMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgMTQxIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9kZWMgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2RlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODhlOTdmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9kZWMKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDA4MTkyICAgMDgxOTMgICAwODE5NCAgIDA4MTk1ICAgMDgxOTYgICAwODE5NyAgIDA4MTk4ICAgMDgxOTkKKzAwMDAwMTAgICAwODIwMCAgIDA4MjAxICAgMDgyMDIgICAwODIwMyAgIDA4MjA0ICAgMDgyMDUgICAwODIwNiAgIDA4MjA3CiswMDAwMDIwICAgMDgyMDggICAwODIwOSAgIDA4MjEwICAgMDgyMTEgICAwODIxMiAgIDA4MjEzICAgMDgyMTQgICAwODIxNQorMDAwMDAzMCAgIDA4MjE2ICAgMDgyMTcgICAwODIxOCAgIDA4MjE5ICAgMDgyMjAgICAwODIyMSAgIDA4MjIyICAgMDgyMjMKKzAwMDAwNDAgICAwODIyNCAgIDA4MjI1ICAgMDgyMjYgICAwODIyNyAgIDA4MjI4ICAgMDgyMjkgICAwODIzMCAgIDA4MjMxCiswMDAwMDUwICAgMDgyMzIgICAwODIzMyAgIDA4MjM0ICAgMDgyMzUgICAwODIzNiAgIDA4MjM3ICAgMDgyMzggICAwODIzOQorMDAwMDA2MCAgIDA4MjQwICAgMDgyNDEgICAwODI0MiAgIDA4MjQzICAgMDgyNDQgICAwODI0NSAgIDA4MjQ2ICAgMDgyNDcKKzAwMDAwNzAgICAwODI0OCAgIDA4MjQ5ICAgMDgyNTAgICAwODI1MSAgIDA4MjUyICAgMDgyNTMgICAwODI1NCAgIDA4MjU1CiswMDAwMDgwICAgMDgyNTYgICAwODI1NyAgIDA4MjU4ICAgMDgyNTkgICAwODI2MCAgIDA4MjYxICAgMDgyNjIgICAwODI2MworMDAwMDA5MCAgIDA4MjY0ICAgMDgyNjUgICAwODI2NiAgIDA4MjY3ICAgMDgyNjggICAwODI2OSAgIDA4MjcwICAgMDgyNzEKKzAwMDAwYTAgICAwODI3MiAgIDA4MjczICAgMDgyNzQgICAwODI3NSAgIDA4Mjc2ICAgMDgyNzcgICAwODI3OCAgIDA4Mjc5CiswMDAwMGIwICAgMDgyODAgICAwODI4MSAgIDA4MjgyICAgMDgyODMgICAwODI4NCAgIDA4Mjg1ICAgMDgyODYgICAwODI4NworMDAwMDBjMCAgIDA4Mjg4ICAgMDgyODkgICAwODI5MCAgIDA4MjkxICAgMDgyOTIgICAwODI5MyAgIDA4Mjk0ICAgMDgyOTUKKzAwMDAwZDAgICAwODI5NiAgIDA4Mjk3ICAgMDgyOTggICAwODI5OSAgIDA4MzAwICAgMDgzMDEgICAwODMwMiAgIDA4MzAzCiswMDAwMGUwICAgMDgzMDQgICAwODMwNSAgIDA4MzA2ICAgMDgzMDcgICAwODMwOCAgIDA4MzA5ICAgMDgzMTAgICAwODMxMQorMDAwMDBmMCAgIDA4MzEyICAgMDgzMTMgICAwODMxNCAgIDA4MzE1ICAgMDgzMTYgICAwODMxNyAgIDA4MzE4ICAgMDgzMTkKKzAwMDAxMDAgICAzMjk2MiAgIDQ5Njk2ICAgMDgzMjEgICAzMzQ3NCAgIDQ5Njk2ICAgMDgzMjMgICAzMzk4NiAgIDQ5Njk2CiswMDAwMTEwICAgMDgzMjUgICAzNDQ5OCAgIDQ5Njk2ICAgMDgzMjcgICAzNTAxMCAgIDQ5Njk2ICAgMDgzMjkgICAzNTUyMgorMDAwMDEyMCAgIDQ5Njk2ICAgMDgzMzEgICAzNjAzNCAgIDQ5Njk2ICAgMDgzMzMgICAzNjU0NiAgIDQ5Njk2ICAgMDgzMzUKKzAwMDAxMzAgICAzNzA1OCAgIDQ5Njk2ICAgMDgzMzcgICAzNzU3MCAgIDQ5Njk2ICAgMDgzMzkgICAzODA4MiAgIDQ5Njk2CiswMDAwMTQwICAgMDgzNDEgICAzODU5NCAgIDQ5Njk2ICAgMDgzNDMgICAzOTEwNiAgIDQ5Njk2ICAgMDgzNDUgICAzOTYxOAorMDAwMDE1MCAgIDQ5Njk2ICAgMDgzNDcgICA0MDEzMCAgIDQ5Njk2ICAgMDgzNDkgICA0MDY0MiAgIDQ5Njk2ICAgMDgzNTEKKzAwMDAxNjAgICA0MTE1NCAgIDQ5Njk2ICAgMDgzNTMgICA0MTY2NiAgIDQ5Njk2ICAgMDgzNTUgICA0MjE3OCAgIDQ5Njk2CiswMDAwMTcwICAgMDgzNTcgICA0MjY5MCAgIDQ5Njk2ICAgMDgzNTkgICA0MzIwMiAgIDQ5Njk2ICAgMDgzNjEgICA0MzcxNAorMDAwMDE4MCAgIDQ5Njk2ICAgMDgzNjMgICA0NDIyNiAgIDQ5Njk2ICAgMDgzNjUgICA0NDczOCAgIDQ5Njk2ICAgMDgzNjcKKzAwMDAxOTAgICA0NTI1MCAgIDQ5Njk2ICAgMDgzNjkgICA0NTc2MiAgIDQ5Njk2ICAgMDgzNzEgICA0NjI3NCAgIDQ5Njk2CiswMDAwMWEwICAgMDgzNzMgICA0Njc4NiAgIDQ5Njk2ICAgMDgzNzUgICA0NzI5OCAgIDQ5Njk2ICAgMDgzNzcgICA0NzgxMAorMDAwMDFiMCAgIDQ5Njk2ICAgMDgzNzkgICA0ODMyMiAgIDQ5Njk2ICAgMDgzODEgICA0ODgzNCAgIDQ5Njk2ICAgMDgzODMKKzAwMDAxYzAgICAzMjk2MyAgIDQ5OTUyICAgMDgzMjEgICAzMzQ3NSAgIDQ5OTUyICAgMDgzMjMgICAzMzk4NyAgIDQ5OTUyCiswMDAwMWQwICAgMDgzMjUgICAzNDQ5OSAgIDQ5OTUyICAgMDgzMjcgICAzNTAxMSAgIDQ5OTUyICAgMDgzMjkgICAzNTUyMworMDAwMDFlMCAgIDQ5OTUyICAgMDgzMzEgICAzNjAzNSAgIDQ5OTUyICAgMDgzMzMgICAzNjU0NyAgIDQ5OTUyICAgMDgzMzUKKzAwMDAxZjAgICAzNzA1OSAgIDQ5OTUyICAgMDgzMzcgICAzNzU3MSAgIDQ5OTUyICAgMDgzMzkgICAzODA4MyAgIDQ5OTUyCiswMDAwMjAwICAgMDgzNDEgICAzODU5NSAgIDQ5OTUyICAgMDgzNDMgICAzOTEwNyAgIDQ5OTUyICAgMDgzNDUgICAzOTYxOQorMDAwMDIxMCAgIDQ5OTUyICAgMDgzNDcgICA0MDEzMSAgIDQ5OTUyICAgMDgzNDkgICA0MDY0MyAgIDQ5OTUyICAgMDgzNTEKKzAwMDAyMjAgICA0MTE1NSAgIDQ5OTUyICAgMDgzNTMgICA0MTY2NyAgIDQ5OTUyICAgMDgzNTUgICA0MjE3OSAgIDQ5OTUyCiswMDAwMjMwICAgMDgzNTcgICA0MjY5MSAgIDQ5OTUyICAgMDgzNTkgICA0MzIwMyAgIDQ5OTUyICAgMDgzNjEgICA0MzcxNQorMDAwMDI0MCAgIDQ5OTUyICAgMDgzNjMgICA0NDIyNyAgIDQ5OTUyICAgMDgzNjUgICA0NDczOSAgIDQ5OTUyICAgMDgzNjcKKzAwMDAyNTAgICA0NTI1MSAgIDQ5OTUyICAgMDgzNjkgICA0NTc2MyAgIDQ5OTUyICAgMDgzNzEgICA0NjI3NSAgIDQ5OTUyCiswMDAwMjYwICAgMDgzNzMgICA0Njc4NyAgIDQ5OTUyICAgMDgzNzUgICA0NzI5OSAgIDQ5OTUyICAgMDgzNzcgICA0NzgxMQorMDAwMDI3MCAgIDQ5OTUyICAgMDgzNzkgICA0ODMyMyAgIDQ5OTUyICAgMDgzODEgICA0ODgzNSAgIDQ5OTUyICAgMDgzODMKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfZGVjLkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9kZWMuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjU0YTBhMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfZGVjLkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwMDAzMiAgIDAwMjg4ICAgMDA1NDQgICAwMDgwMCAgIDAxMDU2ICAgMDEzMTIgICAwMTU2OCAgIDAxODI0CiswMDAwMDEwICAgMDIwODAgICAwMjMzNiAgIDAyNTkyICAgMDI4NDggICAwMzEwNCAgIDAzMzYwICAgMDM2MTYgICAwMzg3MgorMDAwMDAyMCAgIDA0MTI4ICAgMDQzODQgICAwNDY0MCAgIDA0ODk2ICAgMDUxNTIgICAwNTQwOCAgIDA1NjY0ICAgMDU5MjAKKzAwMDAwMzAgICAwNjE3NiAgIDA2NDMyICAgMDY2ODggICAwNjk0NCAgIDA3MjAwICAgMDc0NTYgICAwNzcxMiAgIDA3OTY4CiswMDAwMDQwICAgMDgyMjQgICAwODQ4MCAgIDA4NzM2ICAgMDg5OTIgICAwOTI0OCAgIDA5NTA0ICAgMDk3NjAgICAxMDAxNgorMDAwMDA1MCAgIDEwMjcyICAgMTA1MjggICAxMDc4NCAgIDExMDQwICAgMTEyOTYgICAxMTU1MiAgIDExODA4ICAgMTIwNjQKKzAwMDAwNjAgICAxMjMyMCAgIDEyNTc2ICAgMTI4MzIgICAxMzA4OCAgIDEzMzQ0ICAgMTM2MDAgICAxMzg1NiAgIDE0MTEyCiswMDAwMDcwICAgMTQzNjggICAxNDYyNCAgIDE0ODgwICAgMTUxMzYgICAxNTM5MiAgIDE1NjQ4ICAgMTU5MDQgICAxNjE2MAorMDAwMDA4MCAgIDE2NDE2ICAgMTY2NzIgICAxNjkyOCAgIDE3MTg0ICAgMTc0NDAgICAxNzY5NiAgIDE3OTUyICAgMTgyMDgKKzAwMDAwOTAgICAxODQ2NCAgIDE4NzIwICAgMTg5NzYgICAxOTIzMiAgIDE5NDg4ICAgMTk3NDQgICAyMDAwMCAgIDIwMjU2CiswMDAwMGEwICAgMjA1MTIgICAyMDc2OCAgIDIxMDI0ICAgMjEyODAgICAyMTUzNiAgIDIxNzkyICAgMjIwNDggICAyMjMwNAorMDAwMDBiMCAgIDIyNTYwICAgMjI4MTYgICAyMzA3MiAgIDIzMzI4ICAgMjM1ODQgICAyMzg0MCAgIDI0MDk2ICAgMjQzNTIKKzAwMDAwYzAgICAyNDYwOCAgIDI0ODY0ICAgMjUxMjAgICAyNTM3NiAgIDI1NjMyICAgMjU4ODggICAyNjE0NCAgIDI2NDAwCiswMDAwMGQwICAgMjY2NTYgICAyNjkxMiAgIDI3MTY4ICAgMjc0MjQgICAyNzY4MCAgIDI3OTM2ICAgMjgxOTIgICAyODQ0OAorMDAwMDBlMCAgIDI4NzA0ICAgMjg5NjAgICAyOTIxNiAgIDI5NDcyICAgMjk3MjggICAyOTk4NCAgIDMwMjQwICAgMzA0OTYKKzAwMDAwZjAgICAzMDc1MiAgIDMxMDA4ICAgMzEyNjQgICAzMTUyMCAgIDMxNzc2ICAgMzIwMzIgICAzMjI4OCAgIDMyNTQ0CiswMDAwMTAwICAgNDk3OTIgICAwODM4NiAgIDMzMDU2ICAgNDk3OTQgICAwODM4NiAgIDMzNTY4ICAgNDk3OTYgICAwODM4NgorMDAwMDExMCAgIDM0MDgwICAgNDk3OTggICAwODM4NiAgIDM0NTkyICAgNDk4MDAgICAwODM4NiAgIDM1MTA0ICAgNDk4MDIKKzAwMDAxMjAgICAwODM4NiAgIDM1NjE2ICAgNDk4MDQgICAwODM4NiAgIDM2MTI4ICAgNDk4MDYgICAwODM4NiAgIDM2NjQwCiswMDAwMTMwICAgNDk4MDggICAwODM4NiAgIDM3MTUyICAgNDk4MTAgICAwODM4NiAgIDM3NjY0ICAgNDk4MTIgICAwODM4NgorMDAwMDE0MCAgIDM4MTc2ICAgNDk4MTQgICAwODM4NiAgIDM4Njg4ICAgNDk4MTYgICAwODM4NiAgIDM5MjAwICAgNDk4MTgKKzAwMDAxNTAgICAwODM4NiAgIDM5NzEyICAgNDk4MjAgICAwODM4NiAgIDQwMjI0ICAgNDk4MjIgICAwODM4NiAgIDQwNzM2CiswMDAwMTYwICAgNDk4MjQgICAwODM4NiAgIDQxMjQ4ICAgNDk4MjYgICAwODM4NiAgIDQxNzYwICAgNDk4MjggICAwODM4NgorMDAwMDE3MCAgIDQyMjcyICAgNDk4MzAgICAwODM4NiAgIDQyNzg0ICAgNDk4MzIgICAwODM4NiAgIDQzMjk2ICAgNDk4MzQKKzAwMDAxODAgICAwODM4NiAgIDQzODA4ICAgNDk4MzYgICAwODM4NiAgIDQ0MzIwICAgNDk4MzggICAwODM4NiAgIDQ0ODMyCiswMDAwMTkwICAgNDk4NDAgICAwODM4NiAgIDQ1MzQ0ICAgNDk4NDIgICAwODM4NiAgIDQ1ODU2ICAgNDk4NDQgICAwODM4NgorMDAwMDFhMCAgIDQ2MzY4ICAgNDk4NDYgICAwODM4NiAgIDQ2ODgwICAgNDk4NDggICAwODM4NiAgIDQ3MzkyICAgNDk4NTAKKzAwMDAxYjAgICAwODM4NiAgIDQ3OTA0ICAgNDk4NTIgICAwODM4NiAgIDQ4NDE2ICAgNDk4NTQgICAwODM4NiAgIDQ4OTI4CiswMDAwMWMwICAgNTAwNDggICAwODM4NyAgIDMzMDU2ICAgNTAwNTAgICAwODM4NyAgIDMzNTY4ICAgNTAwNTIgICAwODM4NworMDAwMDFkMCAgIDM0MDgwICAgNTAwNTQgICAwODM4NyAgIDM0NTkyICAgNTAwNTYgICAwODM4NyAgIDM1MTA0ICAgNTAwNTgKKzAwMDAxZTAgICAwODM4NyAgIDM1NjE2ICAgNTAwNjAgICAwODM4NyAgIDM2MTI4ICAgNTAwNjIgICAwODM4NyAgIDM2NjQwCiswMDAwMWYwICAgNTAwNjQgICAwODM4NyAgIDM3MTUyICAgNTAwNjYgICAwODM4NyAgIDM3NjY0ICAgNTAwNjggICAwODM4NworMDAwMDIwMCAgIDM4MTc2ICAgNTAwNzAgICAwODM4NyAgIDM4Njg4ICAgNTAwNzIgICAwODM4NyAgIDM5MjAwICAgNTAwNzQKKzAwMDAyMTAgICAwODM4NyAgIDM5NzEyICAgNTAwNzYgICAwODM4NyAgIDQwMjI0ICAgNTAwNzggICAwODM4NyAgIDQwNzM2CiswMDAwMjIwICAgNTAwODAgICAwODM4NyAgIDQxMjQ4ICAgNTAwODIgICAwODM4NyAgIDQxNzYwICAgNTAwODQgICAwODM4NworMDAwMDIzMCAgIDQyMjcyICAgNTAwODYgICAwODM4NyAgIDQyNzg0ICAgNTAwODggICAwODM4NyAgIDQzMjk2ICAgNTAwOTAKKzAwMDAyNDAgICAwODM4NyAgIDQzODA4ICAgNTAwOTIgICAwODM4NyAgIDQ0MzIwICAgNTAwOTQgICAwODM4NyAgIDQ0ODMyCiswMDAwMjUwICAgNTAwOTYgICAwODM4NyAgIDQ1MzQ0ICAgNTAwOTggICAwODM4NyAgIDQ1ODU2ICAgNTAxMDAgICAwODM4NworMDAwMDI2MCAgIDQ2MzY4ICAgNTAxMDIgICAwODM4NyAgIDQ2ODgwICAgNTAxMDQgICAwODM4NyAgIDQ3MzkyICAgNTAxMDYKKzAwMDAyNzAgICAwODM4NyAgIDQ3OTA0ICAgNTAxMDggICAwODM4NyAgIDQ4NDE2ICAgNTAxMTAgICAwODM4NyAgIDQ4OTI4CiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2hleCBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfaGV4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjZDExZDQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2hleApAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgIDIwMDAgICAgMjAwMSAgICAyMDAyICAgIDIwMDMgICAgMjAwNCAgICAyMDA1ICAgIDIwMDYgICAgMjAwNworMDAwMDAxMCAgICAyMDA4ICAgIDIwMDkgICAgMjAwYSAgICAyMDBiICAgIDIwMGMgICAgMjAwZCAgICAyMDBlICAgIDIwMGYKKzAwMDAwMjAgICAgMjAxMCAgICAyMDExICAgIDIwMTIgICAgMjAxMyAgICAyMDE0ICAgIDIwMTUgICAgMjAxNiAgICAyMDE3CiswMDAwMDMwICAgIDIwMTggICAgMjAxOSAgICAyMDFhICAgIDIwMWIgICAgMjAxYyAgICAyMDFkICAgIDIwMWUgICAgMjAxZgorMDAwMDA0MCAgICAyMDIwICAgIDIwMjEgICAgMjAyMiAgICAyMDIzICAgIDIwMjQgICAgMjAyNSAgICAyMDI2ICAgIDIwMjcKKzAwMDAwNTAgICAgMjAyOCAgICAyMDI5ICAgIDIwMmEgICAgMjAyYiAgICAyMDJjICAgIDIwMmQgICAgMjAyZSAgICAyMDJmCiswMDAwMDYwICAgIDIwMzAgICAgMjAzMSAgICAyMDMyICAgIDIwMzMgICAgMjAzNCAgICAyMDM1ICAgIDIwMzYgICAgMjAzNworMDAwMDA3MCAgICAyMDM4ICAgIDIwMzkgICAgMjAzYSAgICAyMDNiICAgIDIwM2MgICAgMjAzZCAgICAyMDNlICAgIDIwM2YKKzAwMDAwODAgICAgMjA0MCAgICAyMDQxICAgIDIwNDIgICAgMjA0MyAgICAyMDQ0ICAgIDIwNDUgICAgMjA0NiAgICAyMDQ3CiswMDAwMDkwICAgIDIwNDggICAgMjA0OSAgICAyMDRhICAgIDIwNGIgICAgMjA0YyAgICAyMDRkICAgIDIwNGUgICAgMjA0ZgorMDAwMDBhMCAgICAyMDUwICAgIDIwNTEgICAgMjA1MiAgICAyMDUzICAgIDIwNTQgICAgMjA1NSAgICAyMDU2ICAgIDIwNTcKKzAwMDAwYjAgICAgMjA1OCAgICAyMDU5ICAgIDIwNWEgICAgMjA1YiAgICAyMDVjICAgIDIwNWQgICAgMjA1ZSAgICAyMDVmCiswMDAwMGMwICAgIDIwNjAgICAgMjA2MSAgICAyMDYyICAgIDIwNjMgICAgMjA2NCAgICAyMDY1ICAgIDIwNjYgICAgMjA2NworMDAwMDBkMCAgICAyMDY4ICAgIDIwNjkgICAgMjA2YSAgICAyMDZiICAgIDIwNmMgICAgMjA2ZCAgICAyMDZlICAgIDIwNmYKKzAwMDAwZTAgICAgMjA3MCAgICAyMDcxICAgIDIwNzIgICAgMjA3MyAgICAyMDc0ICAgIDIwNzUgICAgMjA3NiAgICAyMDc3CiswMDAwMGYwICAgIDIwNzggICAgMjA3OSAgICAyMDdhICAgIDIwN2IgICAgMjA3YyAgICAyMDdkICAgIDIwN2UgICAgMjA3ZgorMDAwMDEwMCAgICA4MGMyICAgIGMyMjAgICAgMjA4MSAgICA4MmMyICAgIGMyMjAgICAgMjA4MyAgICA4NGMyICAgIGMyMjAKKzAwMDAxMTAgICAgMjA4NSAgICA4NmMyICAgIGMyMjAgICAgMjA4NyAgICA4OGMyICAgIGMyMjAgICAgMjA4OSAgICA4YWMyCiswMDAwMTIwICAgIGMyMjAgICAgMjA4YiAgICA4Y2MyICAgIGMyMjAgICAgMjA4ZCAgICA4ZWMyICAgIGMyMjAgICAgMjA4ZgorMDAwMDEzMCAgICA5MGMyICAgIGMyMjAgICAgMjA5MSAgICA5MmMyICAgIGMyMjAgICAgMjA5MyAgICA5NGMyICAgIGMyMjAKKzAwMDAxNDAgICAgMjA5NSAgICA5NmMyICAgIGMyMjAgICAgMjA5NyAgICA5OGMyICAgIGMyMjAgICAgMjA5OSAgICA5YWMyCiswMDAwMTUwICAgIGMyMjAgICAgMjA5YiAgICA5Y2MyICAgIGMyMjAgICAgMjA5ZCAgICA5ZWMyICAgIGMyMjAgICAgMjA5ZgorMDAwMDE2MCAgICBhMGMyICAgIGMyMjAgICAgMjBhMSAgICBhMmMyICAgIGMyMjAgICAgMjBhMyAgICBhNGMyICAgIGMyMjAKKzAwMDAxNzAgICAgMjBhNSAgICBhNmMyICAgIGMyMjAgICAgMjBhNyAgICBhOGMyICAgIGMyMjAgICAgMjBhOSAgICBhYWMyCiswMDAwMTgwICAgIGMyMjAgICAgMjBhYiAgICBhY2MyICAgIGMyMjAgICAgMjBhZCAgICBhZWMyICAgIGMyMjAgICAgMjBhZgorMDAwMDE5MCAgICBiMGMyICAgIGMyMjAgICAgMjBiMSAgICBiMmMyICAgIGMyMjAgICAgMjBiMyAgICBiNGMyICAgIGMyMjAKKzAwMDAxYTAgICAgMjBiNSAgICBiNmMyICAgIGMyMjAgICAgMjBiNyAgICBiOGMyICAgIGMyMjAgICAgMjBiOSAgICBiYWMyCiswMDAwMWIwICAgIGMyMjAgICAgMjBiYiAgICBiY2MyICAgIGMyMjAgICAgMjBiZCAgICBiZWMyICAgIGMyMjAgICAgMjBiZgorMDAwMDFjMCAgICA4MGMzICAgIGMzMjAgICAgMjA4MSAgICA4MmMzICAgIGMzMjAgICAgMjA4MyAgICA4NGMzICAgIGMzMjAKKzAwMDAxZDAgICAgMjA4NSAgICA4NmMzICAgIGMzMjAgICAgMjA4NyAgICA4OGMzICAgIGMzMjAgICAgMjA4OSAgICA4YWMzCiswMDAwMWUwICAgIGMzMjAgICAgMjA4YiAgICA4Y2MzICAgIGMzMjAgICAgMjA4ZCAgICA4ZWMzICAgIGMzMjAgICAgMjA4ZgorMDAwMDFmMCAgICA5MGMzICAgIGMzMjAgICAgMjA5MSAgICA5MmMzICAgIGMzMjAgICAgMjA5MyAgICA5NGMzICAgIGMzMjAKKzAwMDAyMDAgICAgMjA5NSAgICA5NmMzICAgIGMzMjAgICAgMjA5NyAgICA5OGMzICAgIGMzMjAgICAgMjA5OSAgICA5YWMzCiswMDAwMjEwICAgIGMzMjAgICAgMjA5YiAgICA5Y2MzICAgIGMzMjAgICAgMjA5ZCAgICA5ZWMzICAgIGMzMjAgICAgMjA5ZgorMDAwMDIyMCAgICBhMGMzICAgIGMzMjAgICAgMjBhMSAgICBhMmMzICAgIGMzMjAgICAgMjBhMyAgICBhNGMzICAgIGMzMjAKKzAwMDAyMzAgICAgMjBhNSAgICBhNmMzICAgIGMzMjAgICAgMjBhNyAgICBhOGMzICAgIGMzMjAgICAgMjBhOSAgICBhYWMzCiswMDAwMjQwICAgIGMzMjAgICAgMjBhYiAgICBhY2MzICAgIGMzMjAgICAgMjBhZCAgICBhZWMzICAgIGMzMjAgICAgMjBhZgorMDAwMDI1MCAgICBiMGMzICAgIGMzMjAgICAgMjBiMSAgICBiMmMzICAgIGMzMjAgICAgMjBiMyAgICBiNGMzICAgIGMzMjAKKzAwMDAyNjAgICAgMjBiNSAgICBiNmMzICAgIGMzMjAgICAgMjBiNyAgICBiOGMzICAgIGMzMjAgICAgMjBiOSAgICBiYWMzCiswMDAwMjcwICAgIGMzMjAgICAgMjBiYiAgICBiY2MzICAgIGMzMjAgICAgMjBiZCAgICBiZWMzICAgIGMzMjAgICAgMjBiZgorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9oZXguQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX2hleC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjU3MDg0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9oZXguQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgICAwMDIwICAgIDAxMjAgICAgMDIyMCAgICAwMzIwICAgIDA0MjAgICAgMDUyMCAgICAwNjIwICAgIDA3MjAKKzAwMDAwMTAgICAgMDgyMCAgICAwOTIwICAgIDBhMjAgICAgMGIyMCAgICAwYzIwICAgIDBkMjAgICAgMGUyMCAgICAwZjIwCiswMDAwMDIwICAgIDEwMjAgICAgMTEyMCAgICAxMjIwICAgIDEzMjAgICAgMTQyMCAgICAxNTIwICAgIDE2MjAgICAgMTcyMAorMDAwMDAzMCAgICAxODIwICAgIDE5MjAgICAgMWEyMCAgICAxYjIwICAgIDFjMjAgICAgMWQyMCAgICAxZTIwICAgIDFmMjAKKzAwMDAwNDAgICAgMjAyMCAgICAyMTIwICAgIDIyMjAgICAgMjMyMCAgICAyNDIwICAgIDI1MjAgICAgMjYyMCAgICAyNzIwCiswMDAwMDUwICAgIDI4MjAgICAgMjkyMCAgICAyYTIwICAgIDJiMjAgICAgMmMyMCAgICAyZDIwICAgIDJlMjAgICAgMmYyMAorMDAwMDA2MCAgICAzMDIwICAgIDMxMjAgICAgMzIyMCAgICAzMzIwICAgIDM0MjAgICAgMzUyMCAgICAzNjIwICAgIDM3MjAKKzAwMDAwNzAgICAgMzgyMCAgICAzOTIwICAgIDNhMjAgICAgM2IyMCAgICAzYzIwICAgIDNkMjAgICAgM2UyMCAgICAzZjIwCiswMDAwMDgwICAgIDQwMjAgICAgNDEyMCAgICA0MjIwICAgIDQzMjAgICAgNDQyMCAgICA0NTIwICAgIDQ2MjAgICAgNDcyMAorMDAwMDA5MCAgICA0ODIwICAgIDQ5MjAgICAgNGEyMCAgICA0YjIwICAgIDRjMjAgICAgNGQyMCAgICA0ZTIwICAgIDRmMjAKKzAwMDAwYTAgICAgNTAyMCAgICA1MTIwICAgIDUyMjAgICAgNTMyMCAgICA1NDIwICAgIDU1MjAgICAgNTYyMCAgICA1NzIwCiswMDAwMGIwICAgIDU4MjAgICAgNTkyMCAgICA1YTIwICAgIDViMjAgICAgNWMyMCAgICA1ZDIwICAgIDVlMjAgICAgNWYyMAorMDAwMDBjMCAgICA2MDIwICAgIDYxMjAgICAgNjIyMCAgICA2MzIwICAgIDY0MjAgICAgNjUyMCAgICA2NjIwICAgIDY3MjAKKzAwMDAwZDAgICAgNjgyMCAgICA2OTIwICAgIDZhMjAgICAgNmIyMCAgICA2YzIwICAgIDZkMjAgICAgNmUyMCAgICA2ZjIwCiswMDAwMGUwICAgIDcwMjAgICAgNzEyMCAgICA3MjIwICAgIDczMjAgICAgNzQyMCAgICA3NTIwICAgIDc2MjAgICAgNzcyMAorMDAwMDBmMCAgICA3ODIwICAgIDc5MjAgICAgN2EyMCAgICA3YjIwICAgIDdjMjAgICAgN2QyMCAgICA3ZTIwICAgIDdmMjAKKzAwMDAxMDAgICAgYzI4MCAgICAyMGMyICAgIDgxMjAgICAgYzI4MiAgICAyMGMyICAgIDgzMjAgICAgYzI4NCAgICAyMGMyCiswMDAwMTEwICAgIDg1MjAgICAgYzI4NiAgICAyMGMyICAgIDg3MjAgICAgYzI4OCAgICAyMGMyICAgIDg5MjAgICAgYzI4YQorMDAwMDEyMCAgICAyMGMyICAgIDhiMjAgICAgYzI4YyAgICAyMGMyICAgIDhkMjAgICAgYzI4ZSAgICAyMGMyICAgIDhmMjAKKzAwMDAxMzAgICAgYzI5MCAgICAyMGMyICAgIDkxMjAgICAgYzI5MiAgICAyMGMyICAgIDkzMjAgICAgYzI5NCAgICAyMGMyCiswMDAwMTQwICAgIDk1MjAgICAgYzI5NiAgICAyMGMyICAgIDk3MjAgICAgYzI5OCAgICAyMGMyICAgIDk5MjAgICAgYzI5YQorMDAwMDE1MCAgICAyMGMyICAgIDliMjAgICAgYzI5YyAgICAyMGMyICAgIDlkMjAgICAgYzI5ZSAgICAyMGMyICAgIDlmMjAKKzAwMDAxNjAgICAgYzJhMCAgICAyMGMyICAgIGExMjAgICAgYzJhMiAgICAyMGMyICAgIGEzMjAgICAgYzJhNCAgICAyMGMyCiswMDAwMTcwICAgIGE1MjAgICAgYzJhNiAgICAyMGMyICAgIGE3MjAgICAgYzJhOCAgICAyMGMyICAgIGE5MjAgICAgYzJhYQorMDAwMDE4MCAgICAyMGMyICAgIGFiMjAgICAgYzJhYyAgICAyMGMyICAgIGFkMjAgICAgYzJhZSAgICAyMGMyICAgIGFmMjAKKzAwMDAxOTAgICAgYzJiMCAgICAyMGMyICAgIGIxMjAgICAgYzJiMiAgICAyMGMyICAgIGIzMjAgICAgYzJiNCAgICAyMGMyCiswMDAwMWEwICAgIGI1MjAgICAgYzJiNiAgICAyMGMyICAgIGI3MjAgICAgYzJiOCAgICAyMGMyICAgIGI5MjAgICAgYzJiYQorMDAwMDFiMCAgICAyMGMyICAgIGJiMjAgICAgYzJiYyAgICAyMGMyICAgIGJkMjAgICAgYzJiZSAgICAyMGMyICAgIGJmMjAKKzAwMDAxYzAgICAgYzM4MCAgICAyMGMzICAgIDgxMjAgICAgYzM4MiAgICAyMGMzICAgIDgzMjAgICAgYzM4NCAgICAyMGMzCiswMDAwMWQwICAgIDg1MjAgICAgYzM4NiAgICAyMGMzICAgIDg3MjAgICAgYzM4OCAgICAyMGMzICAgIDg5MjAgICAgYzM4YQorMDAwMDFlMCAgICAyMGMzICAgIDhiMjAgICAgYzM4YyAgICAyMGMzICAgIDhkMjAgICAgYzM4ZSAgICAyMGMzICAgIDhmMjAKKzAwMDAxZjAgICAgYzM5MCAgICAyMGMzICAgIDkxMjAgICAgYzM5MiAgICAyMGMzICAgIDkzMjAgICAgYzM5NCAgICAyMGMzCiswMDAwMjAwICAgIDk1MjAgICAgYzM5NiAgICAyMGMzICAgIDk3MjAgICAgYzM5OCAgICAyMGMzICAgIDk5MjAgICAgYzM5YQorMDAwMDIxMCAgICAyMGMzICAgIDliMjAgICAgYzM5YyAgICAyMGMzICAgIDlkMjAgICAgYzM5ZSAgICAyMGMzICAgIDlmMjAKKzAwMDAyMjAgICAgYzNhMCAgICAyMGMzICAgIGExMjAgICAgYzNhMiAgICAyMGMzICAgIGEzMjAgICAgYzNhNCAgICAyMGMzCiswMDAwMjMwICAgIGE1MjAgICAgYzNhNiAgICAyMGMzICAgIGE3MjAgICAgYzNhOCAgICAyMGMzICAgIGE5MjAgICAgYzNhYQorMDAwMDI0MCAgICAyMGMzICAgIGFiMjAgICAgYzNhYyAgICAyMGMzICAgIGFkMjAgICAgYzNhZSAgICAyMGMzICAgIGFmMjAKKzAwMDAyNTAgICAgYzNiMCAgICAyMGMzICAgIGIxMjAgICAgYzNiMiAgICAyMGMzICAgIGIzMjAgICAgYzNiNCAgICAyMGMzCiswMDAwMjYwICAgIGI1MjAgICAgYzNiNiAgICAyMGMzICAgIGI3MjAgICAgYzNiOCAgICAyMGMzICAgIGI5MjAgICAgYzNiYQorMDAwMDI3MCAgICAyMGMzICAgIGJiMjAgICAgYzNiYyAgICAyMGMzICAgIGJkMjAgICAgYzNiZSAgICAyMGMzICAgIGJmMjAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtMmJfb2N0YWwgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX29jdGFsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4NjIxMzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX29jdGFsCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgIDAyMDAwMCAgMDIwMDAxICAwMjAwMDIgIDAyMDAwMyAgMDIwMDA0ICAwMjAwMDUgIDAyMDAwNiAgMDIwMDA3CiswMDAwMDEwICAwMjAwMTAgIDAyMDAxMSAgMDIwMDEyICAwMjAwMTMgIDAyMDAxNCAgMDIwMDE1ICAwMjAwMTYgIDAyMDAxNworMDAwMDAyMCAgMDIwMDIwICAwMjAwMjEgIDAyMDAyMiAgMDIwMDIzICAwMjAwMjQgIDAyMDAyNSAgMDIwMDI2ICAwMjAwMjcKKzAwMDAwMzAgIDAyMDAzMCAgMDIwMDMxICAwMjAwMzIgIDAyMDAzMyAgMDIwMDM0ICAwMjAwMzUgIDAyMDAzNiAgMDIwMDM3CiswMDAwMDQwICAwMjAwNDAgIDAyMDA0MSAgMDIwMDQyICAwMjAwNDMgIDAyMDA0NCAgMDIwMDQ1ICAwMjAwNDYgIDAyMDA0NworMDAwMDA1MCAgMDIwMDUwICAwMjAwNTEgIDAyMDA1MiAgMDIwMDUzICAwMjAwNTQgIDAyMDA1NSAgMDIwMDU2ICAwMjAwNTcKKzAwMDAwNjAgIDAyMDA2MCAgMDIwMDYxICAwMjAwNjIgIDAyMDA2MyAgMDIwMDY0ICAwMjAwNjUgIDAyMDA2NiAgMDIwMDY3CiswMDAwMDcwICAwMjAwNzAgIDAyMDA3MSAgMDIwMDcyICAwMjAwNzMgIDAyMDA3NCAgMDIwMDc1ICAwMjAwNzYgIDAyMDA3NworMDAwMDA4MCAgMDIwMTAwICAwMjAxMDEgIDAyMDEwMiAgMDIwMTAzICAwMjAxMDQgIDAyMDEwNSAgMDIwMTA2ICAwMjAxMDcKKzAwMDAwOTAgIDAyMDExMCAgMDIwMTExICAwMjAxMTIgIDAyMDExMyAgMDIwMTE0ICAwMjAxMTUgIDAyMDExNiAgMDIwMTE3CiswMDAwMGEwICAwMjAxMjAgIDAyMDEyMSAgMDIwMTIyICAwMjAxMjMgIDAyMDEyNCAgMDIwMTI1ICAwMjAxMjYgIDAyMDEyNworMDAwMDBiMCAgMDIwMTMwICAwMjAxMzEgIDAyMDEzMiAgMDIwMTMzICAwMjAxMzQgIDAyMDEzNSAgMDIwMTM2ICAwMjAxMzcKKzAwMDAwYzAgIDAyMDE0MCAgMDIwMTQxICAwMjAxNDIgIDAyMDE0MyAgMDIwMTQ0ICAwMjAxNDUgIDAyMDE0NiAgMDIwMTQ3CiswMDAwMGQwICAwMjAxNTAgIDAyMDE1MSAgMDIwMTUyICAwMjAxNTMgIDAyMDE1NCAgMDIwMTU1ICAwMjAxNTYgIDAyMDE1NworMDAwMDBlMCAgMDIwMTYwICAwMjAxNjEgIDAyMDE2MiAgMDIwMTYzICAwMjAxNjQgIDAyMDE2NSAgMDIwMTY2ICAwMjAxNjcKKzAwMDAwZjAgIDAyMDE3MCAgMDIwMTcxICAwMjAxNzIgIDAyMDE3MyAgMDIwMTc0ICAwMjAxNzUgIDAyMDE3NiAgMDIwMTc3CiswMDAwMTAwICAxMDAzMDIgIDE0MTA0MCAgMDIwMjAxICAxMDEzMDIgIDE0MTA0MCAgMDIwMjAzICAxMDIzMDIgIDE0MTA0MAorMDAwMDExMCAgMDIwMjA1ICAxMDMzMDIgIDE0MTA0MCAgMDIwMjA3ICAxMDQzMDIgIDE0MTA0MCAgMDIwMjExICAxMDUzMDIKKzAwMDAxMjAgIDE0MTA0MCAgMDIwMjEzICAxMDYzMDIgIDE0MTA0MCAgMDIwMjE1ICAxMDczMDIgIDE0MTA0MCAgMDIwMjE3CiswMDAwMTMwICAxMTAzMDIgIDE0MTA0MCAgMDIwMjIxICAxMTEzMDIgIDE0MTA0MCAgMDIwMjIzICAxMTIzMDIgIDE0MTA0MAorMDAwMDE0MCAgMDIwMjI1ICAxMTMzMDIgIDE0MTA0MCAgMDIwMjI3ICAxMTQzMDIgIDE0MTA0MCAgMDIwMjMxICAxMTUzMDIKKzAwMDAxNTAgIDE0MTA0MCAgMDIwMjMzICAxMTYzMDIgIDE0MTA0MCAgMDIwMjM1ICAxMTczMDIgIDE0MTA0MCAgMDIwMjM3CiswMDAwMTYwICAxMjAzMDIgIDE0MTA0MCAgMDIwMjQxICAxMjEzMDIgIDE0MTA0MCAgMDIwMjQzICAxMjIzMDIgIDE0MTA0MAorMDAwMDE3MCAgMDIwMjQ1ICAxMjMzMDIgIDE0MTA0MCAgMDIwMjQ3ICAxMjQzMDIgIDE0MTA0MCAgMDIwMjUxICAxMjUzMDIKKzAwMDAxODAgIDE0MTA0MCAgMDIwMjUzICAxMjYzMDIgIDE0MTA0MCAgMDIwMjU1ICAxMjczMDIgIDE0MTA0MCAgMDIwMjU3CiswMDAwMTkwICAxMzAzMDIgIDE0MTA0MCAgMDIwMjYxICAxMzEzMDIgIDE0MTA0MCAgMDIwMjYzICAxMzIzMDIgIDE0MTA0MAorMDAwMDFhMCAgMDIwMjY1ICAxMzMzMDIgIDE0MTA0MCAgMDIwMjY3ICAxMzQzMDIgIDE0MTA0MCAgMDIwMjcxICAxMzUzMDIKKzAwMDAxYjAgIDE0MTA0MCAgMDIwMjczICAxMzYzMDIgIDE0MTA0MCAgMDIwMjc1ICAxMzczMDIgIDE0MTA0MCAgMDIwMjc3CiswMDAwMWMwICAxMDAzMDMgIDE0MTQ0MCAgMDIwMjAxICAxMDEzMDMgIDE0MTQ0MCAgMDIwMjAzICAxMDIzMDMgIDE0MTQ0MAorMDAwMDFkMCAgMDIwMjA1ICAxMDMzMDMgIDE0MTQ0MCAgMDIwMjA3ICAxMDQzMDMgIDE0MTQ0MCAgMDIwMjExICAxMDUzMDMKKzAwMDAxZTAgIDE0MTQ0MCAgMDIwMjEzICAxMDYzMDMgIDE0MTQ0MCAgMDIwMjE1ICAxMDczMDMgIDE0MTQ0MCAgMDIwMjE3CiswMDAwMWYwICAxMTAzMDMgIDE0MTQ0MCAgMDIwMjIxICAxMTEzMDMgIDE0MTQ0MCAgMDIwMjIzICAxMTIzMDMgIDE0MTQ0MAorMDAwMDIwMCAgMDIwMjI1ICAxMTMzMDMgIDE0MTQ0MCAgMDIwMjI3ICAxMTQzMDMgIDE0MTQ0MCAgMDIwMjMxICAxMTUzMDMKKzAwMDAyMTAgIDE0MTQ0MCAgMDIwMjMzICAxMTYzMDMgIDE0MTQ0MCAgMDIwMjM1ICAxMTczMDMgIDE0MTQ0MCAgMDIwMjM3CiswMDAwMjIwICAxMjAzMDMgIDE0MTQ0MCAgMDIwMjQxICAxMjEzMDMgIDE0MTQ0MCAgMDIwMjQzICAxMjIzMDMgIDE0MTQ0MAorMDAwMDIzMCAgMDIwMjQ1ICAxMjMzMDMgIDE0MTQ0MCAgMDIwMjQ3ICAxMjQzMDMgIDE0MTQ0MCAgMDIwMjUxICAxMjUzMDMKKzAwMDAyNDAgIDE0MTQ0MCAgMDIwMjUzICAxMjYzMDMgIDE0MTQ0MCAgMDIwMjU1ICAxMjczMDMgIDE0MTQ0MCAgMDIwMjU3CiswMDAwMjUwICAxMzAzMDMgIDE0MTQ0MCAgMDIwMjYxICAxMzEzMDMgIDE0MTQ0MCAgMDIwMjYzICAxMzIzMDMgIDE0MTQ0MAorMDAwMDI2MCAgMDIwMjY1ICAxMzMzMDMgIDE0MTQ0MCAgMDIwMjY3ICAxMzQzMDMgIDE0MTQ0MCAgMDIwMjcxICAxMzUzMDMKKzAwMDAyNzAgIDE0MTQ0MCAgMDIwMjczICAxMzYzMDMgIDE0MTQ0MCAgMDIwMjc1ICAxMzczMDMgIDE0MTQ0MCAgMDIwMjc3CiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLTJiX29jdGFsLkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9vY3RhbC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNWVlMTE4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy0yYl9vY3RhbC5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAwMDAwNDAgIDAwMDQ0MCAgMDAxMDQwICAwMDE0NDAgIDAwMjA0MCAgMDAyNDQwICAwMDMwNDAgIDAwMzQ0MAorMDAwMDAxMCAgMDA0MDQwICAwMDQ0NDAgIDAwNTA0MCAgMDA1NDQwICAwMDYwNDAgIDAwNjQ0MCAgMDA3MDQwICAwMDc0NDAKKzAwMDAwMjAgIDAxMDA0MCAgMDEwNDQwICAwMTEwNDAgIDAxMTQ0MCAgMDEyMDQwICAwMTI0NDAgIDAxMzA0MCAgMDEzNDQwCiswMDAwMDMwICAwMTQwNDAgIDAxNDQ0MCAgMDE1MDQwICAwMTU0NDAgIDAxNjA0MCAgMDE2NDQwICAwMTcwNDAgIDAxNzQ0MAorMDAwMDA0MCAgMDIwMDQwICAwMjA0NDAgIDAyMTA0MCAgMDIxNDQwICAwMjIwNDAgIDAyMjQ0MCAgMDIzMDQwICAwMjM0NDAKKzAwMDAwNTAgIDAyNDA0MCAgMDI0NDQwICAwMjUwNDAgIDAyNTQ0MCAgMDI2MDQwICAwMjY0NDAgIDAyNzA0MCAgMDI3NDQwCiswMDAwMDYwICAwMzAwNDAgIDAzMDQ0MCAgMDMxMDQwICAwMzE0NDAgIDAzMjA0MCAgMDMyNDQwICAwMzMwNDAgIDAzMzQ0MAorMDAwMDA3MCAgMDM0MDQwICAwMzQ0NDAgIDAzNTA0MCAgMDM1NDQwICAwMzYwNDAgIDAzNjQ0MCAgMDM3MDQwICAwMzc0NDAKKzAwMDAwODAgIDA0MDA0MCAgMDQwNDQwICAwNDEwNDAgIDA0MTQ0MCAgMDQyMDQwICAwNDI0NDAgIDA0MzA0MCAgMDQzNDQwCiswMDAwMDkwICAwNDQwNDAgIDA0NDQ0MCAgMDQ1MDQwICAwNDU0NDAgIDA0NjA0MCAgMDQ2NDQwICAwNDcwNDAgIDA0NzQ0MAorMDAwMDBhMCAgMDUwMDQwICAwNTA0NDAgIDA1MTA0MCAgMDUxNDQwICAwNTIwNDAgIDA1MjQ0MCAgMDUzMDQwICAwNTM0NDAKKzAwMDAwYjAgIDA1NDA0MCAgMDU0NDQwICAwNTUwNDAgIDA1NTQ0MCAgMDU2MDQwICAwNTY0NDAgIDA1NzA0MCAgMDU3NDQwCiswMDAwMGMwICAwNjAwNDAgIDA2MDQ0MCAgMDYxMDQwICAwNjE0NDAgIDA2MjA0MCAgMDYyNDQwICAwNjMwNDAgIDA2MzQ0MAorMDAwMDBkMCAgMDY0MDQwICAwNjQ0NDAgIDA2NTA0MCAgMDY1NDQwICAwNjYwNDAgIDA2NjQ0MCAgMDY3MDQwICAwNjc0NDAKKzAwMDAwZTAgIDA3MDA0MCAgMDcwNDQwICAwNzEwNDAgIDA3MTQ0MCAgMDcyMDQwICAwNzI0NDAgIDA3MzA0MCAgMDczNDQwCiswMDAwMGYwICAwNzQwNDAgIDA3NDQ0MCAgMDc1MDQwICAwNzU0NDAgIDA3NjA0MCAgMDc2NDQwICAwNzcwNDAgIDA3NzQ0MAorMDAwMDEwMCAgMTQxMjAwICAwMjAzMDIgIDEwMDQ0MCAgMTQxMjAyICAwMjAzMDIgIDEwMTQ0MCAgMTQxMjA0ICAwMjAzMDIKKzAwMDAxMTAgIDEwMjQ0MCAgMTQxMjA2ICAwMjAzMDIgIDEwMzQ0MCAgMTQxMjEwICAwMjAzMDIgIDEwNDQ0MCAgMTQxMjEyCiswMDAwMTIwICAwMjAzMDIgIDEwNTQ0MCAgMTQxMjE0ICAwMjAzMDIgIDEwNjQ0MCAgMTQxMjE2ICAwMjAzMDIgIDEwNzQ0MAorMDAwMDEzMCAgMTQxMjIwICAwMjAzMDIgIDExMDQ0MCAgMTQxMjIyICAwMjAzMDIgIDExMTQ0MCAgMTQxMjI0ICAwMjAzMDIKKzAwMDAxNDAgIDExMjQ0MCAgMTQxMjI2ICAwMjAzMDIgIDExMzQ0MCAgMTQxMjMwICAwMjAzMDIgIDExNDQ0MCAgMTQxMjMyCiswMDAwMTUwICAwMjAzMDIgIDExNTQ0MCAgMTQxMjM0ICAwMjAzMDIgIDExNjQ0MCAgMTQxMjM2ICAwMjAzMDIgIDExNzQ0MAorMDAwMDE2MCAgMTQxMjQwICAwMjAzMDIgIDEyMDQ0MCAgMTQxMjQyICAwMjAzMDIgIDEyMTQ0MCAgMTQxMjQ0ICAwMjAzMDIKKzAwMDAxNzAgIDEyMjQ0MCAgMTQxMjQ2ICAwMjAzMDIgIDEyMzQ0MCAgMTQxMjUwICAwMjAzMDIgIDEyNDQ0MCAgMTQxMjUyCiswMDAwMTgwICAwMjAzMDIgIDEyNTQ0MCAgMTQxMjU0ICAwMjAzMDIgIDEyNjQ0MCAgMTQxMjU2ICAwMjAzMDIgIDEyNzQ0MAorMDAwMDE5MCAgMTQxMjYwICAwMjAzMDIgIDEzMDQ0MCAgMTQxMjYyICAwMjAzMDIgIDEzMTQ0MCAgMTQxMjY0ICAwMjAzMDIKKzAwMDAxYTAgIDEzMjQ0MCAgMTQxMjY2ICAwMjAzMDIgIDEzMzQ0MCAgMTQxMjcwICAwMjAzMDIgIDEzNDQ0MCAgMTQxMjcyCiswMDAwMWIwICAwMjAzMDIgIDEzNTQ0MCAgMTQxMjc0ICAwMjAzMDIgIDEzNjQ0MCAgMTQxMjc2ICAwMjAzMDIgIDEzNzQ0MAorMDAwMDFjMCAgMTQxNjAwICAwMjAzMDMgIDEwMDQ0MCAgMTQxNjAyICAwMjAzMDMgIDEwMTQ0MCAgMTQxNjA0ICAwMjAzMDMKKzAwMDAxZDAgIDEwMjQ0MCAgMTQxNjA2ICAwMjAzMDMgIDEwMzQ0MCAgMTQxNjEwICAwMjAzMDMgIDEwNDQ0MCAgMTQxNjEyCiswMDAwMWUwICAwMjAzMDMgIDEwNTQ0MCAgMTQxNjE0ICAwMjAzMDMgIDEwNjQ0MCAgMTQxNjE2ICAwMjAzMDMgIDEwNzQ0MAorMDAwMDFmMCAgMTQxNjIwICAwMjAzMDMgIDExMDQ0MCAgMTQxNjIyICAwMjAzMDMgIDExMTQ0MCAgMTQxNjI0ICAwMjAzMDMKKzAwMDAyMDAgIDExMjQ0MCAgMTQxNjI2ICAwMjAzMDMgIDExMzQ0MCAgMTQxNjMwICAwMjAzMDMgIDExNDQ0MCAgMTQxNjMyCiswMDAwMjEwICAwMjAzMDMgIDExNTQ0MCAgMTQxNjM0ICAwMjAzMDMgIDExNjQ0MCAgMTQxNjM2ICAwMjAzMDMgIDExNzQ0MAorMDAwMDIyMCAgMTQxNjQwICAwMjAzMDMgIDEyMDQ0MCAgMTQxNjQyICAwMjAzMDMgIDEyMTQ0MCAgMTQxNjQ0ICAwMjAzMDMKKzAwMDAyMzAgIDEyMjQ0MCAgMTQxNjQ2ICAwMjAzMDMgIDEyMzQ0MCAgMTQxNjUwICAwMjAzMDMgIDEyNDQ0MCAgMTQxNjUyCiswMDAwMjQwICAwMjAzMDMgIDEyNTQ0MCAgMTQxNjU0ICAwMjAzMDMgIDEyNjQ0MCAgMTQxNjU2ICAwMjAzMDMgIDEyNzQ0MAorMDAwMDI1MCAgMTQxNjYwICAwMjAzMDMgIDEzMDQ0MCAgMTQxNjYyICAwMjAzMDMgIDEzMTQ0MCAgMTQxNjY0ICAwMjAzMDMKKzAwMDAyNjAgIDEzMjQ0MCAgMTQxNjY2ICAwMjAzMDMgIDEzMzQ0MCAgMTQxNjcwICAwMjAzMDMgIDEzNDQ0MCAgMTQxNjcyCiswMDAwMjcwICAwMjAzMDMgIDEzNTQ0MCAgMTQxNjc0ICAwMjAzMDMgIDEzNjQ0MCAgMTQxNjc2ICAwMjAzMDMgIDEzNzQ0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy1jYW5vbiBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtY2Fub24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRmZTVhZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtY2Fub24KQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMDAgIDAwIDIwIDAxIDIwIDAyIDIwIDAzIDIwICAwNCAyMCAwNSAyMCAwNiAyMCAwNyAyMCAgfC4gLiAuIC4gLiAuIC4gLiB8CiswMDAwMDAxMCAgMDggMjAgMDkgMjAgMGEgMjAgMGIgMjAgIDBjIDIwIDBkIDIwIDBlIDIwIDBmIDIwICB8LiAuIC4gLiAuIC4gLiAuIHwKKzAwMDAwMDIwICAxMCAyMCAxMSAyMCAxMiAyMCAxMyAyMCAgMTQgMjAgMTUgMjAgMTYgMjAgMTcgMjAgIHwuIC4gLiAuIC4gLiAuIC4gfAorMDAwMDAwMzAgIDE4IDIwIDE5IDIwIDFhIDIwIDFiIDIwICAxYyAyMCAxZCAyMCAxZSAyMCAxZiAyMCAgfC4gLiAuIC4gLiAuIC4gLiB8CiswMDAwMDA0MCAgMjAgMjAgMjEgMjAgMjIgMjAgMjMgMjAgIDI0IDIwIDI1IDIwIDI2IDIwIDI3IDIwICB8ICAhICIgIyAkICUgJiAnIHwKKzAwMDAwMDUwICAyOCAyMCAyOSAyMCAyYSAyMCAyYiAyMCAgMmMgMjAgMmQgMjAgMmUgMjAgMmYgMjAgIHwoICkgKiArICwgLSAuIC8gfAorMDAwMDAwNjAgIDMwIDIwIDMxIDIwIDMyIDIwIDMzIDIwICAzNCAyMCAzNSAyMCAzNiAyMCAzNyAyMCAgfDAgMSAyIDMgNCA1IDYgNyB8CiswMDAwMDA3MCAgMzggMjAgMzkgMjAgM2EgMjAgM2IgMjAgIDNjIDIwIDNkIDIwIDNlIDIwIDNmIDIwICB8OCA5IDogOyA8ID0gPiA/IHwKKzAwMDAwMDgwICA0MCAyMCA0MSAyMCA0MiAyMCA0MyAyMCAgNDQgMjAgNDUgMjAgNDYgMjAgNDcgMjAgIHxAIEEgQiBDIEQgRSBGIEcgfAorMDAwMDAwOTAgIDQ4IDIwIDQ5IDIwIDRhIDIwIDRiIDIwICA0YyAyMCA0ZCAyMCA0ZSAyMCA0ZiAyMCAgfEggSSBKIEsgTCBNIE4gTyB8CiswMDAwMDBhMCAgNTAgMjAgNTEgMjAgNTIgMjAgNTMgMjAgIDU0IDIwIDU1IDIwIDU2IDIwIDU3IDIwICB8UCBRIFIgUyBUIFUgViBXIHwKKzAwMDAwMGIwICA1OCAyMCA1OSAyMCA1YSAyMCA1YiAyMCAgNWMgMjAgNWQgMjAgNWUgMjAgNWYgMjAgIHxYIFkgWiBbIFwgXSBeIF8gfAorMDAwMDAwYzAgIDYwIDIwIDYxIDIwIDYyIDIwIDYzIDIwICA2NCAyMCA2NSAyMCA2NiAyMCA2NyAyMCAgfGAgYSBiIGMgZCBlIGYgZyB8CiswMDAwMDBkMCAgNjggMjAgNjkgMjAgNmEgMjAgNmIgMjAgIDZjIDIwIDZkIDIwIDZlIDIwIDZmIDIwICB8aCBpIGogayBsIG0gbiBvIHwKKzAwMDAwMGUwICA3MCAyMCA3MSAyMCA3MiAyMCA3MyAyMCAgNzQgMjAgNzUgMjAgNzYgMjAgNzcgMjAgIHxwIHEgciBzIHQgdSB2IHcgfAorMDAwMDAwZjAgIDc4IDIwIDc5IDIwIDdhIDIwIDdiIDIwICA3YyAyMCA3ZCAyMCA3ZSAyMCA3ZiAyMCAgfHggeSB6IHsgfCB9IH4gLiB8CiswMDAwMDEwMCAgYzIgODAgMjAgYzIgODEgMjAgYzIgODIgIDIwIGMyIDgzIDIwIGMyIDg0IDIwIGMyICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMTEwICA4NSAyMCBjMiA4NiAyMCBjMiA4NyAyMCAgYzIgODggMjAgYzIgODkgMjAgYzIgOGEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxMjAgIDIwIGMyIDhiIDIwIGMyIDhjIDIwIGMyICA4ZCAyMCBjMiA4ZSAyMCBjMiA4ZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDEzMCAgYzIgOTAgMjAgYzIgOTEgMjAgYzIgOTIgIDIwIGMyIDkzIDIwIGMyIDk0IDIwIGMyICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMTQwICA5NSAyMCBjMiA5NiAyMCBjMiA5NyAyMCAgYzIgOTggMjAgYzIgOTkgMjAgYzIgOWEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxNTAgIDIwIGMyIDliIDIwIGMyIDljIDIwIGMyICA5ZCAyMCBjMiA5ZSAyMCBjMiA5ZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDE2MCAgYzIgYTAgMjAgYzIgYTEgMjAgYzIgYTIgIDIwIGMyIGEzIDIwIGMyIGE0IDIwIGMyICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMTcwICBhNSAyMCBjMiBhNiAyMCBjMiBhNyAyMCAgYzIgYTggMjAgYzIgYTkgMjAgYzIgYWEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxODAgIDIwIGMyIGFiIDIwIGMyIGFjIDIwIGMyICBhZCAyMCBjMiBhZSAyMCBjMiBhZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDE5MCAgYzIgYjAgMjAgYzIgYjEgMjAgYzIgYjIgIDIwIGMyIGIzIDIwIGMyIGI0IDIwIGMyICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMWEwICBiNSAyMCBjMiBiNiAyMCBjMiBiNyAyMCAgYzIgYjggMjAgYzIgYjkgMjAgYzIgYmEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxYjAgIDIwIGMyIGJiIDIwIGMyIGJjIDIwIGMyICBiZCAyMCBjMiBiZSAyMCBjMiBiZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDFjMCAgYzMgODAgMjAgYzMgODEgMjAgYzMgODIgIDIwIGMzIDgzIDIwIGMzIDg0IDIwIGMzICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMWQwICA4NSAyMCBjMyA4NiAyMCBjMyA4NyAyMCAgYzMgODggMjAgYzMgODkgMjAgYzMgOGEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAxZTAgIDIwIGMzIDhiIDIwIGMzIDhjIDIwIGMzICA4ZCAyMCBjMyA4ZSAyMCBjMyA4ZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDFmMCAgYzMgOTAgMjAgYzMgOTEgMjAgYzMgOTIgIDIwIGMzIDkzIDIwIGMzIDk0IDIwIGMzICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMjAwICA5NSAyMCBjMyA5NiAyMCBjMyA5NyAyMCAgYzMgOTggMjAgYzMgOTkgMjAgYzMgOWEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAyMTAgIDIwIGMzIDliIDIwIGMzIDljIDIwIGMzICA5ZCAyMCBjMyA5ZSAyMCBjMyA5ZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDIyMCAgYzMgYTAgMjAgYzMgYTEgMjAgYzMgYTIgIDIwIGMzIGEzIDIwIGMzIGE0IDIwIGMzICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMjMwICBhNSAyMCBjMyBhNiAyMCBjMyBhNyAyMCAgYzMgYTggMjAgYzMgYTkgMjAgYzMgYWEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAyNDAgIDIwIGMzIGFiIDIwIGMzIGFjIDIwIGMzICBhZCAyMCBjMyBhZSAyMCBjMyBhZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDI1MCAgYzMgYjAgMjAgYzMgYjEgMjAgYzMgYjIgIDIwIGMzIGIzIDIwIGMzIGI0IDIwIGMzICB8Li4gLi4gLi4gLi4gLi4gLnwKKzAwMDAwMjYwICBiNSAyMCBjMyBiNiAyMCBjMyBiNyAyMCAgYzMgYjggMjAgYzMgYjkgMjAgYzMgYmEgIHwuIC4uIC4uIC4uIC4uIC4ufAorMDAwMDAyNzAgIDIwIGMzIGJiIDIwIGMzIGJjIDIwIGMzICBiZCAyMCBjMyBiZSAyMCBjMyBiZiAyMCAgfCAuLiAuLiAuLiAuLiAuLiB8CiswMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy1lbXB0eS1mb3JtYXQgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLWVtcHR5LWZvcm1hdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDYwNzk2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncy1lbXB0eS1mb3JtYXQKQEAgLTAsMCArMSBAQAorMTEKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLWVtcHR5LWZvcm1hdC5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MtZW1wdHktZm9ybWF0LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJlNjYyMTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2Zvcm1hdC1zdHJpbmdzLWVtcHR5LWZvcm1hdC5CRQpAQCAtMCwwICsxIEBACisxMDAwMDAwMTAwMDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX2NoYXItMSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX2NoYXItMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTg3NjY0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfY2hhci0xCkBAIC0wLDAgKzEsNDEgQEAKKxtbMzFtMDAwMDAwMBtbMG0gIFwwICAgICAwMDEgICAgIDAwMiAgICAgMDAzICAgICAwMDQgICAgIDAwNSAgICAgMDA2ICAgICAgXGEgICAgCisbWzMxbTAwMDAwMTAbWzBtICBcYiAgICAgIFx0ICAgICAgXG4gICAgICBcdiAgICAgIFxmICAgICAgXHIgICAgIDAxNiAgICAgMDE3ICAgIAorG1szMW0wMDAwMDIwG1swbSAwMjAgICAgIDAyMSAgICAgMDIyICAgICAwMjMgICAgIDAyNCAgICAgMDI1ICAgICAwMjYgICAgIDAyNyAgICAKKxtbMzFtMDAwMDAzMBtbMG0gMDMwICAgICAwMzEgICAgIDAzMiAgICAgMDMzICAgICAwMzQgICAgIDAzNSAgICAgMDM2ICAgICAwMzcgICAgCisbWzMxbTAwMDAwNDAbWzBtICAgICAgICAgICAhICAgICAgICIgICAgICAgIyAgICAgICAkICAgICAgICUgICAgICAgJiAgICAgICAnICAgIAorG1szMW0wMDAwMDUwG1swbSAgICggICAgICAgKSAgICAgICAqICAgICAgICsgICAgICAgLCAgICAgG1szMm0gIC0bWzBtICAgICAgIC4gICAgICAgLyAgICAKKxtbMzFtMDAwMDA2MBtbMG0gICAwICAgICAgIDEgICAgICAgMiAgICAgICAzICAgICAgIDQgICAgICAgNSAgICAgICA2ICAgICAgIDcgICAgCisbWzMxbTAwMDAwNzAbWzBtICAgOCAgICAgICA5ICAgICAgIDogICAgICAgOyAgICAgICA8ICAgICAgID0gICAgICAgPiAgICAgICA/ICAgIAorG1szMW0wMDAwMDgwG1swbSAgIEAgICAgICAgQSAgICAgICBCICAgICAgIEMgICAgICAgRCAgICAgICBFICAgICAgIEYgICAgICAgRyAgICAKKxtbMzFtMDAwMDA5MBtbMG0gICBIICAgICAbWzMybSAgSRtbMG0gICAgICAgSiAgICAgICBLICAgICAbWzMybSAgTBtbMG0gICAgICAgTSAgICAgG1szMm0gIE4bWzBtICAgICAgIE8gICAgCisbWzMxbTAwMDAwYTAbWzBtICAgUCAgICAgICBRICAgICAgIFIgICAgICAgUyAgICAgG1szMm0gIFQbWzBtICAgICAbWzMybSAgVRtbMG0gICAgICAgViAgICAgICBXICAgIAorG1szMW0wMDAwMGIwG1swbSAbWzMybSAgWBtbMG0gICAgICAgWSAgICAgICBaICAgICAgIFsgICAgICAgXCAgICAgICBdICAgICAgIF4gICAgICAgXyAgICAKKxtbMzFtMDAwMDBjMBtbMG0gICBgICAgICAgIGEgICAgICAgYiAgICAgICBjICAgICAgIGQgICAgICAgZSAgICAgICBmICAgICAgIGcgICAgCisbWzMxbTAwMDAwZDAbWzBtICAgaCAgICAgICBpICAgICAgIGogICAgICAgayAgICAgICBsICAgICAgIG0gICAgICAgbiAgICAgICBvICAgIAorG1szMW0wMDAwMGUwG1swbSAgIHAgICAgICAgcSAgICAgICByICAgICAgIHMgICAgICAgdCAgICAgICB1ICAgICAgIHYgICAgICAgdyAgICAKKxtbMzFtMDAwMDBmMBtbMG0gICB4ICAgICAgIHkgICAgICAgeiAgICAgICB7ICAgICAgIHwgICAgICAgfSAgICAgICB+ICAgICAxNzcgICAgCisbWzMxbTAwMDAxMDAbWzBtIDMwMiAyMDAgICAgIDMwMiAyMDEgICAgIDMwMiAyMDIgICAgIDMwMiAyMDMgICAgIDMwMiAyMDQgICAgIDMwMgorG1szMW0wMDAwMTEwG1swbSAyMDUgICAgIDMwMiAyMDYgICAgIDMwMiAyMDcgICAgIDMwMiAyMTAgICAgIDMwMiAyMTEgICAgIDMwMiAyMTIKKxtbMzFtMDAwMDEyMBtbMG0gICAgIDMwMiAyMTMgICAgIDMwMiAyMTQgICAgIDMwMiAyMTUgICAgIDMwMiAyMTYgICAgIDMwMiAyMTcgICAgCisbWzMxbTAwMDAxMzAbWzBtIDMwMiAyMjAgICAgIDMwMiAyMjEgICAgIDMwMiAyMjIgICAgIDMwMiAyMjMgICAgIDMwMiAyMjQgICAgIDMwMgorG1szMW0wMDAwMTQwG1swbSAyMjUgICAgIDMwMiAyMjYgICAgIDMwMiAyMjcgICAgIDMwMiAyMzAgICAgIDMwMiAyMzEgICAgIDMwMiAyMzIKKxtbMzFtMDAwMDE1MBtbMG0gICAgIDMwMiAyMzMgICAgIDMwMiAyMzQgICAgIDMwMiAyMzUgICAgIDMwMiAyMzYgICAgIDMwMiAyMzcgICAgCisbWzMxbTAwMDAxNjAbWzBtIDMwMiAyNDAgICAgIDMwMiAyNDEgICAgIDMwMiAyNDIgICAgIDMwMiAyNDMgICAgIDMwMiAyNDQgICAgIDMwMgorG1szMW0wMDAwMTcwG1swbSAyNDUgICAgIDMwMiAyNDYgICAgIDMwMiAyNDcgICAgIDMwMiAyNTAgICAgIDMwMiAyNTEgICAgIDMwMiAyNTIKKxtbMzFtMDAwMDE4MBtbMG0gICAgIDMwMiAyNTMgICAgIDMwMiAyNTQgICAgIDMwMiAyNTUgICAgIDMwMiAyNTYgICAgIDMwMiAyNTcgICAgCisbWzMxbTAwMDAxOTAbWzBtIDMwMiAyNjAgICAgIDMwMiAyNjEgICAgIDMwMiAyNjIgICAgIDMwMiAyNjMgICAgIDMwMiAyNjQgICAgIDMwMgorG1szMW0wMDAwMWEwG1swbSAyNjUgICAgIDMwMiAyNjYgICAgIDMwMiAyNjcgICAgIDMwMiAyNzAgICAgIDMwMiAyNzEgICAgIDMwMiAyNzIKKxtbMzFtMDAwMDFiMBtbMG0gICAgIDMwMiAyNzMgICAgIDMwMiAyNzQgICAgIDMwMiAyNzUgICAgIDMwMiAyNzYgICAgIDMwMiAyNzcgICAgCisbWzMxbTAwMDAxYzAbWzBtIDMwMyAyMDAgICAgIDMwMyAyMDEgICAgIDMwMyAyMDIgICAgIDMwMyAyMDMgICAgIDMwMyAyMDQgICAgIDMwMworG1szMW0wMDAwMWQwG1swbSAyMDUgICAgIDMwMyAyMDYgICAgIDMwMyAyMDcgICAgIDMwMyAyMTAgICAgIDMwMyAyMTEgICAgIDMwMyAyMTIKKxtbMzFtMDAwMDFlMBtbMG0gICAgIDMwMyAyMTMgICAgIDMwMyAyMTQgICAgIDMwMyAyMTUgICAgIDMwMyAyMTYgICAgIDMwMyAyMTcgICAgCisbWzMxbTAwMDAxZjAbWzBtIDMwMyAyMjAgICAgIDMwMyAyMjEgICAgIDMwMyAyMjIgICAgIDMwMyAyMjMgICAgIDMwMyAyMjQgICAgIDMwMworG1szMW0wMDAwMjAwG1swbSAyMjUgICAgIDMwMyAyMjYgICAgIDMwMyAyMjcgICAgIDMwMyAyMzAgICAgIDMwMyAyMzEgICAgIDMwMyAyMzIKKxtbMzFtMDAwMDIxMBtbMG0gICAgIDMwMyAyMzMgICAgIDMwMyAyMzQgICAgIDMwMyAyMzUgICAgIDMwMyAyMzYgICAgIDMwMyAyMzcgICAgCisbWzMxbTAwMDAyMjAbWzBtIDMwMyAyNDAgICAgIDMwMyAyNDEgICAgIDMwMyAyNDIgICAgIDMwMyAyNDMgICAgIDMwMyAyNDQgICAgIDMwMworG1szMW0wMDAwMjMwG1swbSAyNDUgICAgIDMwMyAyNDYgICAgIDMwMyAyNDcgICAgIDMwMyAyNTAgICAgIDMwMyAyNTEgICAgIDMwMyAyNTIKKxtbMzFtMDAwMDI0MBtbMG0gICAgIDMwMyAyNTMgICAgIDMwMyAyNTQgICAgIDMwMyAyNTUgICAgIDMwMyAyNTYgICAgIDMwMyAyNTcgICAgCisbWzMxbTAwMDAyNTAbWzBtIDMwMyAyNjAgICAgIDMwMyAyNjEgICAgIDMwMyAyNjIgICAgIDMwMyAyNjMgICAgIDMwMyAyNjQgICAgIDMwMworG1szMW0wMDAwMjYwG1swbSAyNjUgICAgIDMwMyAyNjYgICAgIDMwMyAyNjcgICAgIDMwMyAyNzAgICAgIDMwMyAyNzEgICAgIDMwMyAyNzIKKxtbMzFtMDAwMDI3MBtbMG0gICAgIDMwMyAyNzMgICAgIDMwMyAyNzQgICAgIDMwMyAyNzUgICAgIDMwMyAyNzYgICAgIDMwMyAyNzcgICAgCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9jaGFyLTIgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9jaGFyLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzYyYWQzNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX2NoYXItMgpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICBcMCAgICAgMDAxICAgICAwMDIgICAgIDAwMyAgICAgMDA0ICAgICAwMDUgICAgIDAwNiAgICAgIFxhICAgIAorMDAwMDAxMCAgXGIgICAgICBcdCAgICAgIFxuICAgICAgXHYgICAgICBcZiAgICAgIFxyICAgICAwMTYgICAgIDAxNyAgICAKKzAwMDAwMjAgMDIwICAgICAwMjEgICAgIDAyMiAgICAgMDIzICAgICAwMjQgICAgIDAyNSAgICAgMDI2ICAgICAwMjcgICAgCiswMDAwMDMwIDAzMCAgICAgMDMxICAgICAwMzIgICAgIDAzMyAgICAgMDM0ICAgICAwMzUgICAgIDAzNiAgICAgMDM3ICAgIAorMDAwMDA0MCAgICAgICAgICAgISAgICAgICAiICAgICAgICMgICAgICAgJCAgICAgICAlICAgICAgICYgICAgICAgJyAgICAKKzAwMDAwNTAgICAoICAgICAgICkgICAgICAgKiAgICAgICArICAgICAgICwgICAgICAgLSAgICAgICAuICAgICAgIC8gICAgCiswMDAwMDYwICAgMCAgICAgICAxICAgICAgIDIgICAgICAgMyAgICAgICA0ICAgICAgIDUgICAgICAgNiAgICAgICA3ICAgIAorMDAwMDA3MCAgIDggICAgICAgOSAgICAgICA6ICAgICAgIDsgICAgICAgPCAgICAgICA9ICAgICAgID4gICAgICAgPyAgICAKKzAwMDAwODAgICBAICAgICAgIEEgICAgICAgQiAgICAgICBDICAgICAgIEQgICAgICAgRSAgICAgICBGICAgICAgIEcgICAgCiswMDAwMDkwICAgSCAgICAgICBJICAgICAgIEogICAgICAgSyAgICAgICBMICAgICAgIE0gICAgICAgTiAgICAgICBPICAgIAorMDAwMDBhMCAgIFAgICAgICAgUSAgICAgICBSICAgICAgIFMgICAgICAgVCAgICAgICBVICAgICAgIFYgICAgICAgVyAgICAKKzAwMDAwYjAgICBYICAgICAgIFkgICAgICAgWiAgICAgICBbICAgICAgIFwgICAgICAgXSAgICAgICBeICAgICAgIF8gICAgCiswMDAwMGMwICAgYCAgICAgICBhICAgICAgIGIgICAgICAgYyAgICAgICBkICAgICAgIGUgICAgICAgZiAgICAgICBnICAgIAorMDAwMDBkMCAgIGggICAgICAgaSAgICAgICBqICAgICAgIGsgICAgICAgbCAgICAgICBtICAgICAgIG4gICAgICAgbyAgICAKKxtbMzFtMDAwMDBlMBtbMG0gICBwICAgICAgIHEgICAgICAgciAgICAgICBzICAgICAgIHQgICAgICAgdSAgICAgICB2ICAgICAgIHcgICAgCiswMDAwMGYwICAgeCAgICAgICB5ICAgICAgIHogICAgICAgeyAgICAgICB8ICAgICAgIH0gICAgICAgfiAgICAgMTc3ICAgIAorMDAwMDEwMCAzMDIgMjAwICAgICAzMDIgMjAxICAgICAzMDIgMjAyICAgICAzMDIgMjAzICAgICAzMDIgMjA0ICAgICAzMDIKKzAwMDAxMTAgMjA1ICAgICAzMDIgMjA2ICAgICAzMDIgMjA3ICAgICAzMDIgMjEwICAgICAzMDIgMjExICAgICAzMDIgMjEyCiswMDAwMTIwICAgICAzMDIgMjEzICAgICAzMDIgMjE0ICAgICAzMDIgMjE1ICAgICAzMDIgMjE2ICAgICAzMDIgMjE3ICAgIAorMDAwMDEzMCAzMDIgMjIwICAgICAzMDIgMjIxICAgICAzMDIgMjIyICAgICAzMDIgMjIzICAgICAzMDIgMjI0ICAgICAzMDIKKzAwMDAxNDAgMjI1ICAgICAzMDIgMjI2ICAgICAzMDIgMjI3ICAgICAzMDIgMjMwICAgICAzMDIgMjMxICAgICAzMDIgMjMyCiswMDAwMTUwICAgICAzMDIgMjMzICAgICAzMDIgMjM0ICAgICAzMDIgMjM1ICAgICAzMDIgMjM2ICAgICAzMDIgMjM3ICAgIAorMDAwMDE2MCAzMDIgMjQwICAgICAzMDIgMjQxICAgICAzMDIgMjQyICAgICAzMDIgMjQzICAgICAzMDIgMjQ0ICAgICAzMDIKKzAwMDAxNzAgMjQ1ICAgICAzMDIgMjQ2ICAgICAzMDIgMjQ3ICAgICAzMDIgMjUwICAgICAzMDIgMjUxICAgICAzMDIgMjUyCiswMDAwMTgwICAgICAzMDIgMjUzICAgICAzMDIgMjU0ICAgICAzMDIgMjU1ICAgICAzMDIgMjU2ICAgICAzMDIgMjU3ICAgIAorMDAwMDE5MCAzMDIgMjYwICAgICAzMDIgMjYxICAgICAzMDIgMjYyICAgICAzMDIgMjYzICAgICAzMDIgMjY0ICAgICAzMDIKKzAwMDAxYTAgMjY1ICAgICAzMDIgMjY2ICAgICAzMDIgMjY3ICAgICAzMDIgMjcwICAgICAzMDIgMjcxICAgICAzMDIgMjcyCiswMDAwMWIwICAgICAzMDIgMjczICAgICAzMDIgMjc0ICAgICAzMDIgMjc1ICAgICAzMDIgMjc2ICAgICAzMDIgMjc3ICAgIAorMDAwMDFjMCAzMDMgMjAwICAgICAzMDMgMjAxICAgICAzMDMgMjAyICAgICAzMDMgMjAzICAgICAzMDMgMjA0ICAgICAzMDMKKzAwMDAxZDAgMjA1ICAgICAzMDMgMjA2ICAgICAzMDMgMjA3ICAgICAzMDMgMjEwICAgICAzMDMgMjExICAgICAzMDMgMjEyCiswMDAwMWUwICAgICAzMDMgMjEzICAgICAzMDMgMjE0ICAgICAzMDMgMjE1ICAgICAzMDMgMjE2ICAgICAzMDMgMjE3ICAgIAorMDAwMDFmMCAzMDMgMjIwICAgICAzMDMgMjIxICAgICAzMDMgMjIyICAgICAzMDMgMjIzICAgICAzMDMgMjI0ICAgICAzMDMKKzAwMDAyMDAgMjI1ICAgICAzMDMgMjI2ICAgICAzMDMgMjI3ICAgICAzMDMgMjMwICAgICAzMDMgMjMxICAgICAzMDMgMjMyCiswMDAwMjEwICAgICAzMDMgMjMzICAgICAzMDMgMjM0ICAgICAzMDMgMjM1ICAgICAzMDMgMjM2ICAgICAzMDMgMjM3ICAgIAorMDAwMDIyMCAzMDMgMjQwICAgICAzMDMgMjQxICAgICAzMDMgMjQyICAgICAzMDMgMjQzICAgICAzMDMgMjQ0ICAgICAzMDMKKzAwMDAyMzAgMjQ1ICAgICAzMDMgMjQ2ICAgICAzMDMgMjQ3ICAgICAzMDMgMjUwICAgICAzMDMgMjUxICAgICAzMDMgMjUyCiswMDAwMjQwICAgICAzMDMgMjUzICAgICAzMDMgMjU0ICAgICAzMDMgMjU1ICAgICAzMDMgMjU2ICAgICAzMDMgMjU3ICAgIAorMDAwMDI1MCAzMDMgMjYwICAgICAzMDMgMjYxICAgICAzMDMgMjYyICAgICAzMDMgMjYzICAgICAzMDMgMjY0ICAgICAzMDMKKzAwMDAyNjAgMjY1ICAgICAzMDMgMjY2ICAgICAzMDMgMjY3ICAgICAzMDMgMjcwICAgICAzMDMgMjcxICAgICAzMDMgMjcyCiswMDAwMjcwICAgICAzMDMgMjczICAgICAzMDMgMjc0ICAgICAzMDMgMjc1ICAgICAzMDMgMjc2ICAgICAzMDMgMjc3ICAgIAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfY2hhci0zIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfY2hhci0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1OTVjZWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9jaGFyLTMKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgXDAgICAgIDAwMSAgICAgMDAyICAgICAwMDMgICAgIDAwNCAgICAgMDA1ICAgICAwMDYgICAgICBcYSAgICAKKzAwMDAwMTAgIFxiICAgICAgXHQgICAgICBcbiAgICAgIFx2ICAgICAgXGYgICAgICBcciAgICAgMDE2ICAgICAwMTcgICAgCiswMDAwMDIwIDAyMCAgICAgMDIxICAgICAwMjIgICAgIDAyMyAgICAgMDI0ICAgICAwMjUgICAgIDAyNiAgICAgMDI3ICAgIAorMDAwMDAzMCAwMzAgICAgIDAzMSAgICAgMDMyICAgICAwMzMgICAgIDAzNCAgICAgMDM1ICAgICAwMzYgICAgIDAzNyAgICAKKzAwMDAwNDAgICAgICAgICAgICEgICAgICAgIiAgICAgICAjICAgICAgICQgICAgICAgJSAgICAgICAmICAgICAgICcgICAgCiswMDAwMDUwICAgKCAgICAgICApICAgICAgICogICAgICAgKyAgICAgICAsICAgICAgIC0gICAgICAgLiAgICAgICAvICAgIAorMDAwMDA2MCAgIDAgICAgICAgMSAgICAgICAyICAgICAgIDMgICAgICAgNCAgICAgICA1ICAgICAgIDYgICAgICAgNyAgICAKKzAwMDAwNzAgICA4ICAgICAgIDkgICAgIBtbMzFtICA6G1swbSAgICAgICA7ICAgICAgIDwgICAgICAgPSAgICAgICA+ICAgICAgID8gICAgCiswMDAwMDgwIBtbMzFtICBAG1swbSAgICAgICBBICAgICAgIEIgICAgICAgQyAgICAgICBEICAgICAgIEUgICAgICAgRiAgICAgICBHICAgIAorMDAwMDA5MCAgIEggICAgICAgSSAgICAgICBKICAgICAgIEsgICAgICAgTCAgICAgICBNICAgICAgIE4gICAgICAgTyAgICAKKzAwMDAwYTAgICBQICAgICAgIFEgICAgICAgUiAgICAgICBTICAgICAgIFQgICAgICAgVSAgICAgICBWICAgICAgIFcgICAgCiswMDAwMGIwICAgWCAgICAgICBZICAgICAgIFogICAgICAgWyAgICAgICBcICAgICAgIF0gICAgICAgXiAgICAgICBfICAgIAorMDAwMDBjMCAgIGAgICAgICAgYSAgICAgICBiICAgICAgIGMgICAgICAgZCAgICAgICBlICAgICAgIGYgICAgICAgZyAgICAKKzAwMDAwZDAgICBoICAgICAgIGkgICAgICAgaiAgICAgICBrICAgICAgIGwgICAgICAgbSAgICAgICBuICAgICAgIG8gICAgCiswMDAwMGUwICAgcCAgICAgICBxICAgICAgIHIgICAgICAgcyAgICAgICB0ICAgICAgIHUgICAgICAgdiAgICAgICB3ICAgIAorMDAwMDBmMCAgIHggICAgICAgeSAgICAgICB6ICAgICAgIHsgICAgICAgfCAgICAgICB9ICAgICAgIH4gICAgIDE3NyAgICAKKzAwMDAxMDAgMzAyIDIwMCAgICAgMzAyIDIwMSAgICAgMzAyIDIwMiAgICAgMzAyIDIwMyAgICAgMzAyIDIwNCAgICAgMzAyCiswMDAwMTEwIDIwNSAgICAgMzAyIDIwNiAgICAgMzAyIDIwNyAgICAgMzAyIDIxMCAgICAgMzAyIDIxMSAgICAgMzAyIDIxMgorMDAwMDEyMCAgICAgMzAyIDIxMyAgICAgMzAyIDIxNCAgICAgMzAyIDIxNSAgICAgMzAyIDIxNiAgICAgMzAyIDIxNyAgICAKKzAwMDAxMzAgMzAyIDIyMCAgICAgMzAyIDIyMSAgICAgMzAyIDIyMiAgICAgMzAyIDIyMyAgICAgMzAyIDIyNCAgICAgMzAyCiswMDAwMTQwIDIyNSAgICAgMzAyIDIyNiAgICAgMzAyIDIyNyAgICAgMzAyIDIzMCAgICAgMzAyIDIzMSAgICAgMzAyIDIzMgorMDAwMDE1MCAgICAgMzAyIDIzMyAgICAgMzAyIDIzNCAgICAgMzAyIDIzNSAgICAgMzAyIDIzNiAgICAgMzAyIDIzNyAgICAKKzAwMDAxNjAgMzAyIDI0MCAgICAgMzAyIDI0MSAgICAgMzAyIDI0MiAgICAgMzAyIDI0MyAgICAgMzAyIDI0NCAgICAgMzAyCiswMDAwMTcwIDI0NSAgICAgMzAyIDI0NiAgICAgMzAyIDI0NyAgICAgMzAyIDI1MCAgICAgMzAyIDI1MSAgICAgMzAyIDI1MgorMDAwMDE4MCAgICAgMzAyIDI1MyAgICAgMzAyIDI1NCAgICAgMzAyIDI1NSAgICAgMzAyIDI1NiAgICAgMzAyIDI1NyAgICAKKzAwMDAxOTAgMzAyIDI2MCAgICAgMzAyIDI2MSAgICAgMzAyIDI2MiAgICAgMzAyIDI2MyAgICAgMzAyIDI2NCAgICAgMzAyCiswMDAwMWEwIDI2NSAgICAgMzAyIDI2NiAgICAgMzAyIDI2NyAgICAgMzAyIDI3MCAgICAgMzAyIDI3MSAgICAgMzAyIDI3MgorMDAwMDFiMCAgICAgMzAyIDI3MyAgICAgMzAyIDI3NCAgICAgMzAyIDI3NSAgICAgMzAyIDI3NiAgICAgMzAyIDI3NyAgICAKKzAwMDAxYzAgMzAzIDIwMCAgICAgMzAzIDIwMSAgICAgMzAzIDIwMiAgICAgMzAzIDIwMyAgICAgMzAzIDIwNCAgICAgMzAzCiswMDAwMWQwIDIwNSAgICAgMzAzIDIwNiAgICAgMzAzIDIwNyAgICAgMzAzIDIxMCAgICAgMzAzIDIxMSAgICAgMzAzIDIxMgorMDAwMDFlMCAgICAgMzAzIDIxMyAgICAgMzAzIDIxNCAgICAgMzAzIDIxNSAgICAgMzAzIDIxNiAgICAgMzAzIDIxNyAgICAKKzAwMDAxZjAgMzAzIDIyMCAgICAgMzAzIDIyMSAgICAgMzAzIDIyMiAgICAgMzAzIDIyMyAgICAgMzAzIDIyNCAgICAgMzAzCiswMDAwMjAwIDIyNSAgICAgMzAzIDIyNiAgICAgMzAzIDIyNyAgICAgMzAzIDIzMCAgICAgMzAzIDIzMSAgICAgMzAzIDIzMgorMDAwMDIxMCAgICAgMzAzIDIzMyAgICAgMzAzIDIzNCAgICAgMzAzIDIzNSAgICAgMzAzIDIzNiAgICAgMzAzIDIzNyAgICAKKzAwMDAyMjAgMzAzIDI0MCAgICAgMzAzIDI0MSAgICAgMzAzIDI0MiAgICAgMzAzIDI0MyAgICAgMzAzIDI0NCAgICAgMzAzCiswMDAwMjMwIDI0NSAgICAgMzAzIDI0NiAgICAgMzAzIDI0NyAgICAgMzAzIDI1MCAgICAgMzAzIDI1MSAgICAgMzAzIDI1MgorMDAwMDI0MCAgICAgMzAzIDI1MyAgICAgMzAzIDI1NCAgICAgMzAzIDI1NSAgICAgMzAzIDI1NiAgICAgMzAzIDI1NyAgICAKKzAwMDAyNTAgMzAzIDI2MCAgICAgMzAzIDI2MSAgICAgMzAzIDI2MiAgICAgMzAzIDI2MyAgICAgMzAzIDI2NCAgICAgMzAzCiswMDAwMjYwIDI2NSAgICAgMzAzIDI2NiAgICAgMzAzIDI2NyAgICAgMzAzIDI3MCAgICAgMzAzIDI3MSAgICAgMzAzIDI3MgorMDAwMDI3MCAgICAgMzAzIDI3MyAgICAgMzAzIDI3NCAgICAgMzAzIDI3NSAgICAgMzAzIDI3NiAgICAgMzAzIDI3NyAgICAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTEgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC0xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmOGNhNjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC0xCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIBtbMzFtMTAxG1swbSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAbWzMxbTE0MRtbMG0gMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC0yIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjhjYTY4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtMgpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAbWzMxbTEwMRtbMG0gMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgG1szMW0xNDEbWzBtIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtMi5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTIuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTE5ZDA3ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTIuQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgMTAxIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIDEzNiAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIDE0MSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTMgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmOGNhNjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC0zCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIBtbMzFtMTAxG1swbSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAbWzMxbTE0MRtbMG0gMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC00IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZjhjYTY4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNApAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAbWzMxbTEwMRtbMG0gMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgG1szMW0xNDEbWzBtIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNC5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTQuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDU3OWRmYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTQuQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgG1szMW0xMDEbWzBtIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIDEzNiAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIDE0MSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC01Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBlYjZkZWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC01CkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIDEwMSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAbWzMxbTE0MRtbMG0gMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC01LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNS5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTlkMDdmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNS5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAxMDEgMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgMTQxIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNiBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGRjYTU3ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTYKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgMTAxIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIDEzNiAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgG1szMW0wNDAbWzBtIBtbMzFtMTQxG1swbSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTcgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC03Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFmOGNhNjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC03CkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIBtbMzFtMTAxG1swbSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAxMzYgMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAbWzMxbTE0MRtbMG0gMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC03LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNy5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MTlkMDdmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtNy5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAxMDEgMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgMTQxIDA0MCAxNDIgMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOCBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTNhODMxOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTgKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgG1szMW0xMDEbWzBtIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIBtbMzJtMTM2G1swbSAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIBtbMzRtMTQxG1swbSAwNDAgMTQyIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTguQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC04LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmZmQzY2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC04LkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgMDAwIDA0MCAwMDEgMDQwIDAwMiAwNDAgMDAzIDA0MCAwMDQgMDQwIDAwNSAwNDAgMDA2IDA0MCAwMDcgMDQwCiswMDAwMDEwIDAxMCAwNDAgMDExIDA0MCAwMTIgMDQwIDAxMyAwNDAgMDE0IDA0MCAwMTUgMDQwIDAxNiAwNDAgMDE3IDA0MAorMDAwMDAyMCAwMjAgMDQwIDAyMSAwNDAgMDIyIDA0MCAwMjMgMDQwIDAyNCAwNDAgMDI1IDA0MCAwMjYgMDQwIDAyNyAwNDAKKzAwMDAwMzAgMDMwIDA0MCAwMzEgMDQwIDAzMiAwNDAgMDMzIDA0MCAwMzQgMDQwIDAzNSAwNDAgMDM2IDA0MCAwMzcgMDQwCiswMDAwMDQwIDA0MCAwNDAgMDQxIDA0MCAwNDIgMDQwIDA0MyAwNDAgMDQ0IDA0MCAwNDUgMDQwIDA0NiAwNDAgMDQ3IDA0MAorMDAwMDA1MCAwNTAgMDQwIDA1MSAwNDAgMDUyIDA0MCAwNTMgMDQwIDA1NCAwNDAgMDU1IDA0MCAwNTYgMDQwIDA1NyAwNDAKKzAwMDAwNjAgMDYwIDA0MCAwNjEgMDQwIDA2MiAwNDAgMDYzIDA0MCAwNjQgMDQwIDA2NSAwNDAgMDY2IDA0MCAwNjcgMDQwCiswMDAwMDcwIDA3MCAwNDAgMDcxIDA0MCAwNzIgMDQwIDA3MyAwNDAgMDc0IDA0MCAwNzUgMDQwIDA3NiAwNDAgMDc3IDA0MAorMDAwMDA4MCAxMDAgMDQwIDEwMSAwNDAgMTAyIDA0MCAxMDMgMDQwIDEwNCAwNDAgMTA1IDA0MCAxMDYgMDQwIDEwNyAwNDAKKzAwMDAwOTAgMTEwIDA0MCAxMTEgMDQwIDExMiAwNDAgMTEzIDA0MCAxMTQgMDQwIDExNSAwNDAgMTE2IDA0MCAxMTcgMDQwCiswMDAwMGEwIDEyMCAwNDAgMTIxIDA0MCAxMjIgMDQwIDEyMyAwNDAgMTI0IDA0MCAxMjUgMDQwIDEyNiAwNDAgMTI3IDA0MAorMDAwMDBiMCAxMzAgMDQwIDEzMSAwNDAgMTMyIDA0MCAxMzMgMDQwIDEzNCAwNDAgMTM1IDA0MCAbWzMybTEzNhtbMG0gMDQwIDEzNyAwNDAKKzAwMDAwYzAgMTQwIDA0MCAxNDEgMDQwIDE0MiAwNDAgMTQzIDA0MCAxNDQgMDQwIDE0NSAwNDAgMTQ2IDA0MCAxNDcgMDQwCiswMDAwMGQwIDE1MCAwNDAgMTUxIDA0MCAxNTIgMDQwIDE1MyAwNDAgMTU0IDA0MCAxNTUgMDQwIDE1NiAwNDAgMTU3IDA0MAorMDAwMDBlMCAxNjAgMDQwIDE2MSAwNDAgMTYyIDA0MCAxNjMgMDQwIDE2NCAwNDAgMTY1IDA0MCAxNjYgMDQwIDE2NyAwNDAKKzAwMDAwZjAgMTcwIDA0MCAxNzEgMDQwIDE3MiAwNDAgMTczIDA0MCAxNzQgMDQwIDE3NSAwNDAgMTc2IDA0MCAxNzcgMDQwCiswMDAwMTAwIDMwMiAyMDAgMDQwIDMwMiAyMDEgMDQwIDMwMiAyMDIgMDQwIDMwMiAyMDMgMDQwIDMwMiAyMDQgMDQwIDMwMgorMDAwMDExMCAyMDUgMDQwIDMwMiAyMDYgMDQwIDMwMiAyMDcgMDQwIDMwMiAyMTAgMDQwIDMwMiAyMTEgMDQwIDMwMiAyMTIKKzAwMDAxMjAgMDQwIDMwMiAyMTMgMDQwIDMwMiAyMTQgMDQwIDMwMiAyMTUgMDQwIDMwMiAyMTYgMDQwIDMwMiAyMTcgMDQwCiswMDAwMTMwIDMwMiAyMjAgMDQwIDMwMiAyMjEgMDQwIDMwMiAyMjIgMDQwIDMwMiAyMjMgMDQwIDMwMiAyMjQgMDQwIDMwMgorMDAwMDE0MCAyMjUgMDQwIDMwMiAyMjYgMDQwIDMwMiAyMjcgMDQwIDMwMiAyMzAgMDQwIDMwMiAyMzEgMDQwIDMwMiAyMzIKKzAwMDAxNTAgMDQwIDMwMiAyMzMgMDQwIDMwMiAyMzQgMDQwIDMwMiAyMzUgMDQwIDMwMiAyMzYgMDQwIDMwMiAyMzcgMDQwCiswMDAwMTYwIDMwMiAyNDAgMDQwIDMwMiAyNDEgMDQwIDMwMiAyNDIgMDQwIDMwMiAyNDMgMDQwIDMwMiAyNDQgMDQwIDMwMgorMDAwMDE3MCAyNDUgMDQwIDMwMiAyNDYgMDQwIDMwMiAyNDcgMDQwIDMwMiAyNTAgMDQwIDMwMiAyNTEgMDQwIDMwMiAyNTIKKzAwMDAxODAgMDQwIDMwMiAyNTMgMDQwIDMwMiAyNTQgMDQwIDMwMiAyNTUgMDQwIDMwMiAyNTYgMDQwIDMwMiAyNTcgMDQwCiswMDAwMTkwIDMwMiAyNjAgMDQwIDMwMiAyNjEgMDQwIDMwMiAyNjIgMDQwIDMwMiAyNjMgMDQwIDMwMiAyNjQgMDQwIDMwMgorMDAwMDFhMCAyNjUgMDQwIDMwMiAyNjYgMDQwIDMwMiAyNjcgMDQwIDMwMiAyNzAgMDQwIDMwMiAyNzEgMDQwIDMwMiAyNzIKKzAwMDAxYjAgMDQwIDMwMiAyNzMgMDQwIDMwMiAyNzQgMDQwIDMwMiAyNzUgMDQwIDMwMiAyNzYgMDQwIDMwMiAyNzcgMDQwCiswMDAwMWMwIDMwMyAyMDAgMDQwIDMwMyAyMDEgMDQwIDMwMyAyMDIgMDQwIDMwMyAyMDMgMDQwIDMwMyAyMDQgMDQwIDMwMworMDAwMDFkMCAyMDUgMDQwIDMwMyAyMDYgMDQwIDMwMyAyMDcgMDQwIDMwMyAyMTAgMDQwIDMwMyAyMTEgMDQwIDMwMyAyMTIKKzAwMDAxZTAgMDQwIDMwMyAyMTMgMDQwIDMwMyAyMTQgMDQwIDMwMyAyMTUgMDQwIDMwMyAyMTYgMDQwIDMwMyAyMTcgMDQwCiswMDAwMWYwIDMwMyAyMjAgMDQwIDMwMyAyMjEgMDQwIDMwMyAyMjIgMDQwIDMwMyAyMjMgMDQwIDMwMyAyMjQgMDQwIDMwMworMDAwMDIwMCAyMjUgMDQwIDMwMyAyMjYgMDQwIDMwMyAyMjcgMDQwIDMwMyAyMzAgMDQwIDMwMyAyMzEgMDQwIDMwMyAyMzIKKzAwMDAyMTAgMDQwIDMwMyAyMzMgMDQwIDMwMyAyMzQgMDQwIDMwMyAyMzUgMDQwIDMwMyAyMzYgMDQwIDMwMyAyMzcgMDQwCiswMDAwMjIwIDMwMyAyNDAgMDQwIDMwMyAyNDEgMDQwIDMwMyAyNDIgMDQwIDMwMyAyNDMgMDQwIDMwMyAyNDQgMDQwIDMwMworMDAwMDIzMCAyNDUgMDQwIDMwMyAyNDYgMDQwIDMwMyAyNDcgMDQwIDMwMyAyNTAgMDQwIDMwMyAyNTEgMDQwIDMwMyAyNTIKKzAwMDAyNDAgMDQwIDMwMyAyNTMgMDQwIDMwMyAyNTQgMDQwIDMwMyAyNTUgMDQwIDMwMyAyNTYgMDQwIDMwMyAyNTcgMDQwCiswMDAwMjUwIDMwMyAyNjAgMDQwIDMwMyAyNjEgMDQwIDMwMyAyNjIgMDQwIDMwMyAyNjMgMDQwIDMwMyAyNjQgMDQwIDMwMworMDAwMDI2MCAyNjUgMDQwIDMwMyAyNjYgMDQwIDMwMyAyNjcgMDQwIDMwMyAyNzAgMDQwIDMwMyAyNzEgMDQwIDMwMyAyNzIKKzAwMDAyNzAgMDQwIDMwMyAyNzMgMDQwIDMwMyAyNzQgMDQwIDMwMyAyNzUgMDQwIDMwMyAyNzYgMDQwIDMwMyAyNzcgMDQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0xYl9vY3RhbC05IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NDQ2YmQ3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwIDAwMCAwNDAgMDAxIDA0MCAwMDIgMDQwIDAwMyAwNDAgMDA0IDA0MCAwMDUgMDQwIDAwNiAwNDAgMDA3IDA0MAorMDAwMDAxMCAwMTAgMDQwIDAxMSAwNDAgMDEyIDA0MCAwMTMgMDQwIDAxNCAwNDAgMDE1IDA0MCAwMTYgMDQwIDAxNyAwNDAKKzAwMDAwMjAgMDIwIDA0MCAwMjEgMDQwIDAyMiAwNDAgMDIzIDA0MCAwMjQgMDQwIDAyNSAwNDAgMDI2IDA0MCAwMjcgMDQwCiswMDAwMDMwIDAzMCAwNDAgMDMxIDA0MCAwMzIgMDQwIDAzMyAwNDAgMDM0IDA0MCAwMzUgMDQwIDAzNiAwNDAgMDM3IDA0MAorMDAwMDA0MCAwNDAgMDQwIDA0MSAwNDAgMDQyIDA0MCAwNDMgMDQwIDA0NCAwNDAgMDQ1IDA0MCAwNDYgMDQwIDA0NyAwNDAKKzAwMDAwNTAgMDUwIDA0MCAwNTEgMDQwIDA1MiAwNDAgMDUzIDA0MCAwNTQgMDQwIDA1NSAwNDAgMDU2IDA0MCAwNTcgMDQwCiswMDAwMDYwIDA2MCAwNDAgMDYxIDA0MCAwNjIgMDQwIDA2MyAwNDAgMDY0IDA0MCAwNjUgMDQwIDA2NiAwNDAgMDY3IDA0MAorMDAwMDA3MCAwNzAgMDQwIDA3MSAwNDAgMDcyIDA0MCAwNzMgMDQwIDA3NCAwNDAgMDc1IDA0MCAwNzYgMDQwIDA3NyAwNDAKKzAwMDAwODAgMTAwIDA0MCAbWzMxbTEwMRtbMG0gMDQwIDEwMiAwNDAgMTAzIDA0MCAxMDQgMDQwIDEwNSAwNDAgMTA2IDA0MCAxMDcgMDQwCiswMDAwMDkwIDExMCAwNDAgMTExIDA0MCAxMTIgMDQwIDExMyAwNDAgMTE0IDA0MCAxMTUgMDQwIDExNiAwNDAgMTE3IDA0MAorMDAwMDBhMCAxMjAgMDQwIDEyMSAwNDAgMTIyIDA0MCAxMjMgMDQwIDEyNCAwNDAgMTI1IDA0MCAxMjYgMDQwIDEyNyAwNDAKKzAwMDAwYjAgMTMwIDA0MCAxMzEgMDQwIDEzMiAwNDAgMTMzIDA0MCAxMzQgMDQwIDEzNSAwNDAgMTM2IDA0MCAxMzcgMDQwCiswMDAwMGMwIDE0MCAwNDAgG1szNG0xNDEbWzBtIDA0MCAbWzMybTE0MhtbMG0gMDQwIDE0MyAwNDAgMTQ0IDA0MCAxNDUgMDQwIDE0NiAwNDAgMTQ3IDA0MAorMDAwMDBkMCAxNTAgMDQwIDE1MSAwNDAgMTUyIDA0MCAxNTMgMDQwIDE1NCAwNDAgMTU1IDA0MCAxNTYgMDQwIDE1NyAwNDAKKzAwMDAwZTAgMTYwIDA0MCAxNjEgMDQwIDE2MiAwNDAgMTYzIDA0MCAxNjQgMDQwIDE2NSAwNDAgMTY2IDA0MCAxNjcgMDQwCiswMDAwMGYwIDE3MCAwNDAgMTcxIDA0MCAxNzIgMDQwIDE3MyAwNDAgMTc0IDA0MCAxNzUgMDQwIDE3NiAwNDAgMTc3IDA0MAorMDAwMDEwMCAzMDIgMjAwIDA0MCAzMDIgMjAxIDA0MCAzMDIgMjAyIDA0MCAzMDIgMjAzIDA0MCAzMDIgMjA0IDA0MCAzMDIKKzAwMDAxMTAgMjA1IDA0MCAzMDIgMjA2IDA0MCAzMDIgMjA3IDA0MCAzMDIgMjEwIDA0MCAzMDIgMjExIDA0MCAzMDIgMjEyCiswMDAwMTIwIDA0MCAzMDIgMjEzIDA0MCAzMDIgMjE0IDA0MCAzMDIgMjE1IDA0MCAzMDIgMjE2IDA0MCAzMDIgMjE3IDA0MAorMDAwMDEzMCAzMDIgMjIwIDA0MCAzMDIgMjIxIDA0MCAzMDIgMjIyIDA0MCAzMDIgMjIzIDA0MCAzMDIgMjI0IDA0MCAzMDIKKzAwMDAxNDAgMjI1IDA0MCAzMDIgMjI2IDA0MCAzMDIgMjI3IDA0MCAzMDIgMjMwIDA0MCAzMDIgMjMxIDA0MCAzMDIgMjMyCiswMDAwMTUwIDA0MCAzMDIgMjMzIDA0MCAzMDIgMjM0IDA0MCAzMDIgMjM1IDA0MCAzMDIgMjM2IDA0MCAzMDIgMjM3IDA0MAorMDAwMDE2MCAzMDIgMjQwIDA0MCAzMDIgMjQxIDA0MCAzMDIgMjQyIDA0MCAzMDIgMjQzIDA0MCAzMDIgMjQ0IDA0MCAzMDIKKzAwMDAxNzAgMjQ1IDA0MCAzMDIgMjQ2IDA0MCAzMDIgMjQ3IDA0MCAzMDIgMjUwIDA0MCAzMDIgMjUxIDA0MCAzMDIgMjUyCiswMDAwMTgwIDA0MCAzMDIgMjUzIDA0MCAzMDIgMjU0IDA0MCAzMDIgMjU1IDA0MCAzMDIgMjU2IDA0MCAzMDIgMjU3IDA0MAorMDAwMDE5MCAzMDIgMjYwIDA0MCAzMDIgMjYxIDA0MCAzMDIgMjYyIDA0MCAzMDIgMjYzIDA0MCAzMDIgMjY0IDA0MCAzMDIKKzAwMDAxYTAgMjY1IDA0MCAzMDIgMjY2IDA0MCAzMDIgMjY3IDA0MCAzMDIgMjcwIDA0MCAzMDIgMjcxIDA0MCAzMDIgMjcyCiswMDAwMWIwIDA0MCAzMDIgMjczIDA0MCAzMDIgMjc0IDA0MCAzMDIgMjc1IDA0MCAzMDIgMjc2IDA0MCAzMDIgMjc3IDA0MAorMDAwMDFjMCAzMDMgMjAwIDA0MCAzMDMgMjAxIDA0MCAzMDMgMjAyIDA0MCAzMDMgMjAzIDA0MCAzMDMgMjA0IDA0MCAzMDMKKzAwMDAxZDAgMjA1IDA0MCAzMDMgMjA2IDA0MCAzMDMgMjA3IDA0MCAzMDMgMjEwIDA0MCAzMDMgMjExIDA0MCAzMDMgMjEyCiswMDAwMWUwIDA0MCAzMDMgMjEzIDA0MCAzMDMgMjE0IDA0MCAzMDMgMjE1IDA0MCAzMDMgMjE2IDA0MCAzMDMgMjE3IDA0MAorMDAwMDFmMCAzMDMgMjIwIDA0MCAzMDMgMjIxIDA0MCAzMDMgMjIyIDA0MCAzMDMgMjIzIDA0MCAzMDMgMjI0IDA0MCAzMDMKKzAwMDAyMDAgMjI1IDA0MCAzMDMgMjI2IDA0MCAzMDMgMjI3IDA0MCAzMDMgMjMwIDA0MCAzMDMgMjMxIDA0MCAzMDMgMjMyCiswMDAwMjEwIDA0MCAzMDMgMjMzIDA0MCAzMDMgMjM0IDA0MCAzMDMgMjM1IDA0MCAzMDMgMjM2IDA0MCAzMDMgMjM3IDA0MAorMDAwMDIyMCAzMDMgMjQwIDA0MCAzMDMgMjQxIDA0MCAzMDMgMjQyIDA0MCAzMDMgMjQzIDA0MCAzMDMgMjQ0IDA0MCAzMDMKKzAwMDAyMzAgMjQ1IDA0MCAzMDMgMjQ2IDA0MCAzMDMgMjQ3IDA0MCAzMDMgMjUwIDA0MCAzMDMgMjUxIDA0MCAzMDMgMjUyCiswMDAwMjQwIDA0MCAzMDMgMjUzIDA0MCAzMDMgMjU0IDA0MCAzMDMgMjU1IDA0MCAzMDMgMjU2IDA0MCAzMDMgMjU3IDA0MAorMDAwMDI1MCAzMDMgMjYwIDA0MCAzMDMgMjYxIDA0MCAzMDMgMjYyIDA0MCAzMDMgMjYzIDA0MCAzMDMgMjY0IDA0MCAzMDMKKzAwMDAyNjAgMjY1IDA0MCAzMDMgMjY2IDA0MCAzMDMgMjY3IDA0MCAzMDMgMjcwIDA0MCAzMDMgMjcxIDA0MCAzMDMgMjcyCiswMDAwMjcwIDA0MCAzMDMgMjczIDA0MCAzMDMgMjc0IDA0MCAzMDMgMjc1IDA0MCAzMDMgMjc2IDA0MCAzMDMgMjc3IDA0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMWJfb2N0YWwtOS5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTkuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWVlZGNlMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTFiX29jdGFsLTkuQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAwMDAgMDQwIDAwMSAwNDAgMDAyIDA0MCAwMDMgMDQwIDAwNCAwNDAgMDA1IDA0MCAwMDYgMDQwIDAwNyAwNDAKKzAwMDAwMTAgMDEwIDA0MCAwMTEgMDQwIDAxMiAwNDAgMDEzIDA0MCAwMTQgMDQwIDAxNSAwNDAgMDE2IDA0MCAwMTcgMDQwCiswMDAwMDIwIDAyMCAwNDAgMDIxIDA0MCAwMjIgMDQwIDAyMyAwNDAgMDI0IDA0MCAwMjUgMDQwIDAyNiAwNDAgMDI3IDA0MAorMDAwMDAzMCAwMzAgMDQwIDAzMSAwNDAgMDMyIDA0MCAwMzMgMDQwIDAzNCAwNDAgMDM1IDA0MCAwMzYgMDQwIDAzNyAwNDAKKzAwMDAwNDAgMDQwIDA0MCAwNDEgMDQwIDA0MiAwNDAgMDQzIDA0MCAwNDQgMDQwIDA0NSAwNDAgMDQ2IDA0MCAwNDcgMDQwCiswMDAwMDUwIDA1MCAwNDAgMDUxIDA0MCAwNTIgMDQwIDA1MyAwNDAgMDU0IDA0MCAwNTUgMDQwIDA1NiAwNDAgMDU3IDA0MAorMDAwMDA2MCAwNjAgMDQwIDA2MSAwNDAgMDYyIDA0MCAwNjMgMDQwIDA2NCAwNDAgMDY1IDA0MCAwNjYgMDQwIDA2NyAwNDAKKzAwMDAwNzAgMDcwIDA0MCAwNzEgMDQwIDA3MiAwNDAgMDczIDA0MCAwNzQgMDQwIDA3NSAwNDAgMDc2IDA0MCAwNzcgMDQwCiswMDAwMDgwIDEwMCAwNDAgMTAxIDA0MCAxMDIgMDQwIDEwMyAwNDAgMTA0IDA0MCAxMDUgMDQwIDEwNiAwNDAgMTA3IDA0MAorMDAwMDA5MCAxMTAgMDQwIDExMSAwNDAgMTEyIDA0MCAxMTMgMDQwIDExNCAwNDAgMTE1IDA0MCAxMTYgMDQwIDExNyAwNDAKKzAwMDAwYTAgMTIwIDA0MCAxMjEgMDQwIDEyMiAwNDAgMTIzIDA0MCAxMjQgMDQwIDEyNSAwNDAgMTI2IDA0MCAxMjcgMDQwCiswMDAwMGIwIDEzMCAwNDAgMTMxIDA0MCAxMzIgMDQwIDEzMyAwNDAgMTM0IDA0MCAxMzUgMDQwIDEzNiAwNDAgMTM3IDA0MAorMDAwMDBjMCAxNDAgMDQwIDE0MSAwNDAgG1szMm0xNDIbWzBtIDA0MCAxNDMgMDQwIDE0NCAwNDAgMTQ1IDA0MCAxNDYgMDQwIDE0NyAwNDAKKzAwMDAwZDAgMTUwIDA0MCAxNTEgMDQwIDE1MiAwNDAgMTUzIDA0MCAxNTQgMDQwIDE1NSAwNDAgMTU2IDA0MCAxNTcgMDQwCiswMDAwMGUwIDE2MCAwNDAgMTYxIDA0MCAxNjIgMDQwIDE2MyAwNDAgMTY0IDA0MCAxNjUgMDQwIDE2NiAwNDAgMTY3IDA0MAorMDAwMDBmMCAxNzAgMDQwIDE3MSAwNDAgMTcyIDA0MCAxNzMgMDQwIDE3NCAwNDAgMTc1IDA0MCAxNzYgMDQwIDE3NyAwNDAKKzAwMDAxMDAgMzAyIDIwMCAwNDAgMzAyIDIwMSAwNDAgMzAyIDIwMiAwNDAgMzAyIDIwMyAwNDAgMzAyIDIwNCAwNDAgMzAyCiswMDAwMTEwIDIwNSAwNDAgMzAyIDIwNiAwNDAgMzAyIDIwNyAwNDAgMzAyIDIxMCAwNDAgMzAyIDIxMSAwNDAgMzAyIDIxMgorMDAwMDEyMCAwNDAgMzAyIDIxMyAwNDAgMzAyIDIxNCAwNDAgMzAyIDIxNSAwNDAgMzAyIDIxNiAwNDAgMzAyIDIxNyAwNDAKKzAwMDAxMzAgMzAyIDIyMCAwNDAgMzAyIDIyMSAwNDAgMzAyIDIyMiAwNDAgMzAyIDIyMyAwNDAgMzAyIDIyNCAwNDAgMzAyCiswMDAwMTQwIDIyNSAwNDAgMzAyIDIyNiAwNDAgMzAyIDIyNyAwNDAgMzAyIDIzMCAwNDAgMzAyIDIzMSAwNDAgMzAyIDIzMgorMDAwMDE1MCAwNDAgMzAyIDIzMyAwNDAgMzAyIDIzNCAwNDAgMzAyIDIzNSAwNDAgMzAyIDIzNiAwNDAgMzAyIDIzNyAwNDAKKzAwMDAxNjAgMzAyIDI0MCAwNDAgMzAyIDI0MSAwNDAgMzAyIDI0MiAwNDAgMzAyIDI0MyAwNDAgMzAyIDI0NCAwNDAgMzAyCiswMDAwMTcwIDI0NSAwNDAgMzAyIDI0NiAwNDAgMzAyIDI0NyAwNDAgMzAyIDI1MCAwNDAgMzAyIDI1MSAwNDAgMzAyIDI1MgorMDAwMDE4MCAwNDAgMzAyIDI1MyAwNDAgMzAyIDI1NCAwNDAgMzAyIDI1NSAwNDAgMzAyIDI1NiAwNDAgMzAyIDI1NyAwNDAKKzAwMDAxOTAgMzAyIDI2MCAwNDAgMzAyIDI2MSAwNDAgMzAyIDI2MiAwNDAgMzAyIDI2MyAwNDAgMzAyIDI2NCAwNDAgMzAyCiswMDAwMWEwIDI2NSAwNDAgMzAyIDI2NiAwNDAgMzAyIDI2NyAwNDAgMzAyIDI3MCAwNDAgMzAyIDI3MSAwNDAgMzAyIDI3MgorMDAwMDFiMCAwNDAgMzAyIDI3MyAwNDAgMzAyIDI3NCAwNDAgMzAyIDI3NSAwNDAgMzAyIDI3NiAwNDAgMzAyIDI3NyAwNDAKKzAwMDAxYzAgMzAzIDIwMCAwNDAgMzAzIDIwMSAwNDAgMzAzIDIwMiAwNDAgMzAzIDIwMyAwNDAgMzAzIDIwNCAwNDAgMzAzCiswMDAwMWQwIDIwNSAwNDAgMzAzIDIwNiAwNDAgMzAzIDIwNyAwNDAgMzAzIDIxMCAwNDAgMzAzIDIxMSAwNDAgMzAzIDIxMgorMDAwMDFlMCAwNDAgMzAzIDIxMyAwNDAgMzAzIDIxNCAwNDAgMzAzIDIxNSAwNDAgMzAzIDIxNiAwNDAgMzAzIDIxNyAwNDAKKzAwMDAxZjAgMzAzIDIyMCAwNDAgMzAzIDIyMSAwNDAgMzAzIDIyMiAwNDAgMzAzIDIyMyAwNDAgMzAzIDIyNCAwNDAgMzAzCiswMDAwMjAwIDIyNSAwNDAgMzAzIDIyNiAwNDAgMzAzIDIyNyAwNDAgMzAzIDIzMCAwNDAgMzAzIDIzMSAwNDAgMzAzIDIzMgorMDAwMDIxMCAwNDAgMzAzIDIzMyAwNDAgMzAzIDIzNCAwNDAgMzAzIDIzNSAwNDAgMzAzIDIzNiAwNDAgMzAzIDIzNyAwNDAKKzAwMDAyMjAgMzAzIDI0MCAwNDAgMzAzIDI0MSAwNDAgMzAzIDI0MiAwNDAgMzAzIDI0MyAwNDAgMzAzIDI0NCAwNDAgMzAzCiswMDAwMjMwIDI0NSAwNDAgMzAzIDI0NiAwNDAgMzAzIDI0NyAwNDAgMzAzIDI1MCAwNDAgMzAzIDI1MSAwNDAgMzAzIDI1MgorMDAwMDI0MCAwNDAgMzAzIDI1MyAwNDAgMzAzIDI1NCAwNDAgMzAzIDI1NSAwNDAgMzAzIDI1NiAwNDAgMzAzIDI1NyAwNDAKKzAwMDAyNTAgMzAzIDI2MCAwNDAgMzAzIDI2MSAwNDAgMzAzIDI2MiAwNDAgMzAzIDI2MyAwNDAgMzAzIDI2NCAwNDAgMzAzCiswMDAwMjYwIDI2NSAwNDAgMzAzIDI2NiAwNDAgMzAzIDI2NyAwNDAgMzAzIDI3MCAwNDAgMzAzIDI3MSAwNDAgMzAzIDI3MgorMDAwMDI3MCAwNDAgMzAzIDI3MyAwNDAgMzAzIDI3NCAwNDAgMzAzIDI3NSAwNDAgMzAzIDI3NiAwNDAgMzAzIDI3NyAwNDAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0xIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZiMmM1YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0xCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwODE5MiAgIDA4MTkzICAgMDgxOTQgICAwODE5NSAgIDA4MTk2ICAgMDgxOTcgICAwODE5OCAgIDA4MTk5CiswMDAwMDEwICAgMDgyMDAgICAwODIwMSAgIDA4MjAyICAgMDgyMDMgICAwODIwNCAgIDA4MjA1ICAgMDgyMDYgICAwODIwNworMDAwMDAyMCAgIDA4MjA4ICAgMDgyMDkgICAwODIxMCAgIDA4MjExICAgMDgyMTIgICAwODIxMyAgIDA4MjE0ICAgMDgyMTUKKzAwMDAwMzAgICAwODIxNiAgIDA4MjE3ICAgMDgyMTggICAwODIxOSAgIDA4MjIwICAgMDgyMjEgICAwODIyMiAgIDA4MjIzCiswMDAwMDQwICAgMDgyMjQgICAwODIyNSAgIDA4MjI2ICAgMDgyMjcgICAwODIyOCAgIDA4MjI5ICAgMDgyMzAgICAwODIzMQorMDAwMDA1MCAgIDA4MjMyICAgMDgyMzMgICAwODIzNCAgIDA4MjM1ICAgMDgyMzYgICAwODIzNyAgIDA4MjM4ICAgMDgyMzkKKzAwMDAwNjAgICAwODI0MCAgIDA4MjQxIBtbMzFtICAwODI0MhtbMG0gICAwODI0MyAgIDA4MjQ0ICAgMDgyNDUgICAwODI0NiAgIDA4MjQ3CiswMDAwMDcwICAgMDgyNDggICAwODI0OSAgIDA4MjUwICAgMDgyNTEgICAwODI1MiAgIDA4MjUzICAgMDgyNTQgICAwODI1NQorMDAwMDA4MCAgIDA4MjU2ICAgMDgyNTcgICAwODI1OCAgIDA4MjU5ICAgMDgyNjAgICAwODI2MSAgIDA4MjYyICAgMDgyNjMKKzAwMDAwOTAgICAwODI2NCAgIDA4MjY1ICAgMDgyNjYgICAwODI2NyAgIDA4MjY4ICAgMDgyNjkgICAwODI3MCAgIDA4MjcxCiswMDAwMGEwICAgMDgyNzIgICAwODI3MyAgIDA4Mjc0ICAgMDgyNzUgICAwODI3NiAgIDA4Mjc3ICAgMDgyNzggICAwODI3OQorMDAwMDBiMCAgIDA4MjgwICAgMDgyODEgICAwODI4MiAgIDA4MjgzICAgMDgyODQgICAwODI4NSAgIDA4Mjg2ICAgMDgyODcKKzAwMDAwYzAgICAwODI4OCAgIDA4Mjg5ICAgMDgyOTAgICAwODI5MSAgIDA4MjkyICAgMDgyOTMgICAwODI5NCAgIDA4Mjk1CiswMDAwMGQwICAgMDgyOTYgICAwODI5NyAgIDA4Mjk4ICAgMDgyOTkgICAwODMwMCAgIDA4MzAxICAgMDgzMDIgICAwODMwMworMDAwMDBlMCAgIDA4MzA0ICAgMDgzMDUgICAwODMwNiAgIDA4MzA3ICAgMDgzMDggICAwODMwOSAgIDA4MzEwICAgMDgzMTEKKzAwMDAwZjAgICAwODMxMiAgIDA4MzEzICAgMDgzMTQgICAwODMxNSAgIDA4MzE2ICAgMDgzMTcgICAwODMxOCAgIDA4MzE5CiswMDAwMTAwICAgMzI5NjIgICA0OTY5NiAgIDA4MzIxICAgMzM0NzQgICA0OTY5NiAgIDA4MzIzICAgMzM5ODYgICA0OTY5NgorMDAwMDExMCAgIDA4MzI1ICAgMzQ0OTggICA0OTY5NiAgIDA4MzI3ICAgMzUwMTAgICA0OTY5NiAgIDA4MzI5ICAgMzU1MjIKKzAwMDAxMjAgICA0OTY5NiAgIDA4MzMxICAgMzYwMzQgICA0OTY5NiAgIDA4MzMzICAgMzY1NDYgICA0OTY5NiAgIDA4MzM1CiswMDAwMTMwICAgMzcwNTggICA0OTY5NiAgIDA4MzM3ICAgMzc1NzAgICA0OTY5NiAgIDA4MzM5ICAgMzgwODIgICA0OTY5NgorMDAwMDE0MCAgIDA4MzQxICAgMzg1OTQgICA0OTY5NiAgIDA4MzQzICAgMzkxMDYgICA0OTY5NiAgIDA4MzQ1ICAgMzk2MTgKKzAwMDAxNTAgICA0OTY5NiAgIDA4MzQ3ICAgNDAxMzAgICA0OTY5NiAgIDA4MzQ5ICAgNDA2NDIgICA0OTY5NiAgIDA4MzUxCiswMDAwMTYwICAgNDExNTQgICA0OTY5NiAgIDA4MzUzICAgNDE2NjYgICA0OTY5NiAgIDA4MzU1ICAgNDIxNzggICA0OTY5NgorMDAwMDE3MCAgIDA4MzU3ICAgNDI2OTAgICA0OTY5NiAgIDA4MzU5ICAgNDMyMDIgICA0OTY5NiAgIDA4MzYxICAgNDM3MTQKKzAwMDAxODAgICA0OTY5NiAgIDA4MzYzICAgNDQyMjYgICA0OTY5NiAgIDA4MzY1ICAgNDQ3MzggICA0OTY5NiAgIDA4MzY3CiswMDAwMTkwICAgNDUyNTAgICA0OTY5NiAgIDA4MzY5ICAgNDU3NjIgICA0OTY5NiAgIDA4MzcxICAgNDYyNzQgICA0OTY5NgorMDAwMDFhMCAgIDA4MzczICAgNDY3ODYgICA0OTY5NiAgIDA4Mzc1ICAgNDcyOTggICA0OTY5NiAgIDA4Mzc3ICAgNDc4MTAKKzAwMDAxYjAgICA0OTY5NiAgIDA4Mzc5ICAgNDgzMjIgICA0OTY5NiAgIDA4MzgxICAgNDg4MzQgICA0OTY5NiAgIDA4MzgzCiswMDAwMWMwICAgMzI5NjMgICA0OTk1MiAgIDA4MzIxICAgMzM0NzUgICA0OTk1MiAgIDA4MzIzICAgMzM5ODcgICA0OTk1MgorMDAwMDFkMCAgIDA4MzI1ICAgMzQ0OTkgICA0OTk1MiAgIDA4MzI3ICAgMzUwMTEgICA0OTk1MiAgIDA4MzI5ICAgMzU1MjMKKzAwMDAxZTAgICA0OTk1MiAgIDA4MzMxICAgMzYwMzUgICA0OTk1MiAgIDA4MzMzICAgMzY1NDcgICA0OTk1MiAgIDA4MzM1CiswMDAwMWYwICAgMzcwNTkgICA0OTk1MiAgIDA4MzM3ICAgMzc1NzEgICA0OTk1MiAgIDA4MzM5ICAgMzgwODMgICA0OTk1MgorMDAwMDIwMCAgIDA4MzQxICAgMzg1OTUgICA0OTk1MiAgIDA4MzQzICAgMzkxMDcgICA0OTk1MiAgIDA4MzQ1ICAgMzk2MTkKKzAwMDAyMTAgICA0OTk1MiAgIDA4MzQ3ICAgNDAxMzEgICA0OTk1MiAgIDA4MzQ5ICAgNDA2NDMgICA0OTk1MiAgIDA4MzUxCiswMDAwMjIwICAgNDExNTUgICA0OTk1MiAgIDA4MzUzICAgNDE2NjcgICA0OTk1MiAgIDA4MzU1ICAgNDIxNzkgICA0OTk1MgorMDAwMDIzMCAgIDA4MzU3ICAgNDI2OTEgICA0OTk1MiAgIDA4MzU5ICAgNDMyMDMgICA0OTk1MiAgIDA4MzYxICAgNDM3MTUKKzAwMDAyNDAgICA0OTk1MiAgIDA4MzYzICAgNDQyMjcgICA0OTk1MiAgIDA4MzY1ICAgNDQ3MzkgICA0OTk1MiAgIDA4MzY3CiswMDAwMjUwICAgNDUyNTEgICA0OTk1MiAgIDA4MzY5ICAgNDU3NjMgICA0OTk1MiAgIDA4MzcxICAgNDYyNzUgICA0OTk1MgorMDAwMDI2MCAgIDA4MzczICAgNDY3ODcgICA0OTk1MiAgIDA4Mzc1ICAgNDcyOTkgICA0OTk1MiAgIDA4Mzc3ICAgNDc4MTEKKzAwMDAyNzAgICA0OTk1MiAgIDA4Mzc5ICAgNDgzMjMgICA0OTk1MiAgIDA4MzgxICAgNDg4MzUgICA0OTk1MiAgIDA4MzgzCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMS5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0xLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzNTBlNmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMS5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgMDAwMzIgICAwMDI4OCAgIDAwNTQ0ICAgMDA4MDAgICAwMTA1NiAgIDAxMzEyICAgMDE1NjggICAwMTgyNAorMDAwMDAxMCAgIDAyMDgwICAgMDIzMzYgICAwMjU5MiAgIDAyODQ4ICAgMDMxMDQgICAwMzM2MCAgIDAzNjE2ICAgMDM4NzIKKzAwMDAwMjAgICAwNDEyOCAgIDA0Mzg0ICAgMDQ2NDAgICAwNDg5NiAgIDA1MTUyICAgMDU0MDggICAwNTY2NCAgIDA1OTIwCiswMDAwMDMwICAgMDYxNzYgICAwNjQzMiAgIDA2Njg4ICAgMDY5NDQgICAwNzIwMCAgIDA3NDU2ICAgMDc3MTIgICAwNzk2OAorMDAwMDA0MCAgIDA4MjI0ICAgMDg0ODAgICAwODczNiAgIDA4OTkyICAgMDkyNDggICAwOTUwNCAgIDA5NzYwICAgMTAwMTYKKzAwMDAwNTAgICAxMDI3MiAgIDEwNTI4ICAgMTA3ODQgICAxMTA0MCAgIDExMjk2ICAgMTE1NTIgICAxMTgwOCAgIDEyMDY0CiswMDAwMDYwICAgMTIzMjAgICAxMjU3NiAbWzMxbSAgMTI4MzIbWzBtICAgMTMwODggICAxMzM0NCAgIDEzNjAwICAgMTM4NTYgICAxNDExMgorMDAwMDA3MCAgIDE0MzY4ICAgMTQ2MjQgICAxNDg4MCAgIDE1MTM2ICAgMTUzOTIgICAxNTY0OCAgIDE1OTA0ICAgMTYxNjAKKzAwMDAwODAgICAxNjQxNiAgIDE2NjcyICAgMTY5MjggICAxNzE4NCAgIDE3NDQwICAgMTc2OTYgICAxNzk1MiAgIDE4MjA4CiswMDAwMDkwICAgMTg0NjQgICAxODcyMCAgIDE4OTc2ICAgMTkyMzIgICAxOTQ4OCAgIDE5NzQ0ICAgMjAwMDAgICAyMDI1NgorMDAwMDBhMCAgIDIwNTEyICAgMjA3NjggICAyMTAyNCAgIDIxMjgwICAgMjE1MzYgICAyMTc5MiAgIDIyMDQ4ICAgMjIzMDQKKzAwMDAwYjAgICAyMjU2MCAgIDIyODE2ICAgMjMwNzIgICAyMzMyOCAgIDIzNTg0ICAgMjM4NDAgICAyNDA5NiAgIDI0MzUyCiswMDAwMGMwICAgMjQ2MDggICAyNDg2NCAgIDI1MTIwICAgMjUzNzYgICAyNTYzMiAgIDI1ODg4ICAgMjYxNDQgICAyNjQwMAorMDAwMDBkMCAgIDI2NjU2ICAgMjY5MTIgICAyNzE2OCAgIDI3NDI0ICAgMjc2ODAgICAyNzkzNiAgIDI4MTkyICAgMjg0NDgKKzAwMDAwZTAgICAyODcwNCAgIDI4OTYwICAgMjkyMTYgICAyOTQ3MiAgIDI5NzI4ICAgMjk5ODQgICAzMDI0MCAgIDMwNDk2CiswMDAwMGYwICAgMzA3NTIgICAzMTAwOCAgIDMxMjY0ICAgMzE1MjAgICAzMTc3NiAgIDMyMDMyICAgMzIyODggICAzMjU0NAorMDAwMDEwMCAgIDQ5NzkyICAgMDgzODYgICAzMzA1NiAgIDQ5Nzk0ICAgMDgzODYgICAzMzU2OCAgIDQ5Nzk2ICAgMDgzODYKKzAwMDAxMTAgICAzNDA4MCAgIDQ5Nzk4ICAgMDgzODYgICAzNDU5MiAgIDQ5ODAwICAgMDgzODYgICAzNTEwNCAgIDQ5ODAyCiswMDAwMTIwICAgMDgzODYgICAzNTYxNiAgIDQ5ODA0ICAgMDgzODYgICAzNjEyOCAgIDQ5ODA2ICAgMDgzODYgICAzNjY0MAorMDAwMDEzMCAgIDQ5ODA4ICAgMDgzODYgICAzNzE1MiAgIDQ5ODEwICAgMDgzODYgICAzNzY2NCAgIDQ5ODEyICAgMDgzODYKKzAwMDAxNDAgICAzODE3NiAgIDQ5ODE0ICAgMDgzODYgICAzODY4OCAgIDQ5ODE2ICAgMDgzODYgICAzOTIwMCAgIDQ5ODE4CiswMDAwMTUwICAgMDgzODYgICAzOTcxMiAgIDQ5ODIwICAgMDgzODYgICA0MDIyNCAgIDQ5ODIyICAgMDgzODYgICA0MDczNgorMDAwMDE2MCAgIDQ5ODI0ICAgMDgzODYgICA0MTI0OCAgIDQ5ODI2ICAgMDgzODYgICA0MTc2MCAgIDQ5ODI4ICAgMDgzODYKKzAwMDAxNzAgICA0MjI3MiAgIDQ5ODMwICAgMDgzODYgICA0Mjc4NCAgIDQ5ODMyICAgMDgzODYgICA0MzI5NiAgIDQ5ODM0CiswMDAwMTgwICAgMDgzODYgICA0MzgwOCAgIDQ5ODM2ICAgMDgzODYgICA0NDMyMCAgIDQ5ODM4ICAgMDgzODYgICA0NDgzMgorMDAwMDE5MCAgIDQ5ODQwICAgMDgzODYgICA0NTM0NCAgIDQ5ODQyICAgMDgzODYgICA0NTg1NiAgIDQ5ODQ0ICAgMDgzODYKKzAwMDAxYTAgICA0NjM2OCAgIDQ5ODQ2ICAgMDgzODYgICA0Njg4MCAgIDQ5ODQ4ICAgMDgzODYgICA0NzM5MiAgIDQ5ODUwCiswMDAwMWIwICAgMDgzODYgICA0NzkwNCAgIDQ5ODUyICAgMDgzODYgICA0ODQxNiAgIDQ5ODU0ICAgMDgzODYgICA0ODkyOAorMDAwMDFjMCAgIDUwMDQ4ICAgMDgzODcgICAzMzA1NiAgIDUwMDUwICAgMDgzODcgICAzMzU2OCAgIDUwMDUyICAgMDgzODcKKzAwMDAxZDAgICAzNDA4MCAgIDUwMDU0ICAgMDgzODcgICAzNDU5MiAgIDUwMDU2ICAgMDgzODcgICAzNTEwNCAgIDUwMDU4CiswMDAwMWUwICAgMDgzODcgICAzNTYxNiAgIDUwMDYwICAgMDgzODcgICAzNjEyOCAgIDUwMDYyICAgMDgzODcgICAzNjY0MAorMDAwMDFmMCAgIDUwMDY0ICAgMDgzODcgICAzNzE1MiAgIDUwMDY2ICAgMDgzODcgICAzNzY2NCAgIDUwMDY4ICAgMDgzODcKKzAwMDAyMDAgICAzODE3NiAgIDUwMDcwICAgMDgzODcgICAzODY4OCAgIDUwMDcyICAgMDgzODcgICAzOTIwMCAgIDUwMDc0CiswMDAwMjEwICAgMDgzODcgICAzOTcxMiAgIDUwMDc2ICAgMDgzODcgICA0MDIyNCAgIDUwMDc4ICAgMDgzODcgICA0MDczNgorMDAwMDIyMCAgIDUwMDgwICAgMDgzODcgICA0MTI0OCAgIDUwMDgyICAgMDgzODcgICA0MTc2MCAgIDUwMDg0ICAgMDgzODcKKzAwMDAyMzAgICA0MjI3MiAgIDUwMDg2ICAgMDgzODcgICA0Mjc4NCAgIDUwMDg4ICAgMDgzODcgICA0MzI5NiAgIDUwMDkwCiswMDAwMjQwICAgMDgzODcgICA0MzgwOCAgIDUwMDkyICAgMDgzODcgICA0NDMyMCAgIDUwMDk0ICAgMDgzODcgICA0NDgzMgorMDAwMDI1MCAgIDUwMDk2ICAgMDgzODcgICA0NTM0NCAgIDUwMDk4ICAgMDgzODcgICA0NTg1NiAgIDUwMTAwICAgMDgzODcKKzAwMDAyNjAgICA0NjM2OCAgIDUwMTAyICAgMDgzODcgICA0Njg4MCAgIDUwMTA0ICAgMDgzODcgICA0NzM5MiAgIDUwMTA2CiswMDAwMjcwICAgMDgzODcgICA0NzkwNCAgIDUwMTA4ICAgMDgzODcgICA0ODQxNiAgIDUwMTEwICAgMDgzODcgICA0ODkyOAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTIgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODcyMzIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTIKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDA4MTkyICAgMDgxOTMgICAwODE5NCAgIDA4MTk1ICAgMDgxOTYgICAwODE5NyAgIDA4MTk4ICAgMDgxOTkKKzAwMDAwMTAgICAwODIwMCAgIDA4MjAxICAgMDgyMDIgICAwODIwMyAgIDA4MjA0ICAgMDgyMDUgICAwODIwNiAgIDA4MjA3CiswMDAwMDIwICAgMDgyMDggICAwODIwOSAgIDA4MjEwICAgMDgyMTEgICAwODIxMiAgIDA4MjEzICAgMDgyMTQgICAwODIxNQorMDAwMDAzMCAgIDA4MjE2ICAgMDgyMTcgICAwODIxOCAgIDA4MjE5ICAgMDgyMjAgICAwODIyMSAgIDA4MjIyICAgMDgyMjMKKzAwMDAwNDAgICAwODIyNCAgIDA4MjI1ICAgMDgyMjYgICAwODIyNyAgIDA4MjI4ICAgMDgyMjkgICAwODIzMCAgIDA4MjMxCiswMDAwMDUwICAgMDgyMzIgICAwODIzMyAgIDA4MjM0ICAgMDgyMzUgICAwODIzNiAgIDA4MjM3ICAgMDgyMzggICAwODIzOQorMDAwMDA2MCAgIDA4MjQwIBtbMzFtICAwODI0MRtbMG0gICAwODI0MiAgIDA4MjQzICAgMDgyNDQgICAwODI0NSAgIDA4MjQ2ICAgMDgyNDcKKzAwMDAwNzAgICAwODI0OCAgIDA4MjQ5ICAgMDgyNTAgICAwODI1MSAgIDA4MjUyICAgMDgyNTMgICAwODI1NCAgIDA4MjU1CiswMDAwMDgwICAgMDgyNTYgICAwODI1NyAgIDA4MjU4ICAgMDgyNTkgICAwODI2MCAgIDA4MjYxICAgMDgyNjIgICAwODI2MworMDAwMDA5MCAgIDA4MjY0ICAgMDgyNjUgICAwODI2NiAgIDA4MjY3ICAgMDgyNjggICAwODI2OSAgIDA4MjcwICAgMDgyNzEKKzAwMDAwYTAgICAwODI3MiAgIDA4MjczICAgMDgyNzQgICAwODI3NSAgIDA4Mjc2ICAgMDgyNzcgICAwODI3OCAgIDA4Mjc5CiswMDAwMGIwICAgMDgyODAgICAwODI4MSAgIDA4MjgyICAgMDgyODMgICAwODI4NCAgIDA4Mjg1ICAgMDgyODYgICAwODI4NworMDAwMDBjMCAgIDA4Mjg4ICAgMDgyODkgICAwODI5MCAgIDA4MjkxICAgMDgyOTIgICAwODI5MyAgIDA4Mjk0ICAgMDgyOTUKKzAwMDAwZDAgICAwODI5NiAgIDA4Mjk3ICAgMDgyOTggICAwODI5OSAgIDA4MzAwICAgMDgzMDEgICAwODMwMiAgIDA4MzAzCiswMDAwMGUwICAgMDgzMDQgICAwODMwNSAgIDA4MzA2ICAgMDgzMDcgICAwODMwOCAgIDA4MzA5ICAgMDgzMTAgICAwODMxMQorMDAwMDBmMCAgIDA4MzEyICAgMDgzMTMgICAwODMxNCAgIDA4MzE1ICAgMDgzMTYgICAwODMxNyAgIDA4MzE4ICAgMDgzMTkKKzAwMDAxMDAgICAzMjk2MiAgIDQ5Njk2ICAgMDgzMjEgICAzMzQ3NCAgIDQ5Njk2ICAgMDgzMjMgICAzMzk4NiAgIDQ5Njk2CiswMDAwMTEwICAgMDgzMjUgICAzNDQ5OCAgIDQ5Njk2ICAgMDgzMjcgICAzNTAxMCAgIDQ5Njk2ICAgMDgzMjkgICAzNTUyMgorMDAwMDEyMCAgIDQ5Njk2ICAgMDgzMzEgICAzNjAzNCAgIDQ5Njk2ICAgMDgzMzMgICAzNjU0NiAgIDQ5Njk2ICAgMDgzMzUKKzAwMDAxMzAgICAzNzA1OCAgIDQ5Njk2ICAgMDgzMzcgICAzNzU3MCAgIDQ5Njk2ICAgMDgzMzkgICAzODA4MiAgIDQ5Njk2CiswMDAwMTQwICAgMDgzNDEgICAzODU5NCAgIDQ5Njk2ICAgMDgzNDMgICAzOTEwNiAgIDQ5Njk2ICAgMDgzNDUgICAzOTYxOAorMDAwMDE1MCAgIDQ5Njk2ICAgMDgzNDcgICA0MDEzMCAgIDQ5Njk2ICAgMDgzNDkgICA0MDY0MiAgIDQ5Njk2ICAgMDgzNTEKKzAwMDAxNjAgICA0MTE1NCAgIDQ5Njk2ICAgMDgzNTMgICA0MTY2NiAgIDQ5Njk2ICAgMDgzNTUgICA0MjE3OCAgIDQ5Njk2CiswMDAwMTcwICAgMDgzNTcgICA0MjY5MCAgIDQ5Njk2ICAgMDgzNTkgICA0MzIwMiAgIDQ5Njk2ICAgMDgzNjEgICA0MzcxNAorMDAwMDE4MCAgIDQ5Njk2ICAgMDgzNjMgICA0NDIyNiAgIDQ5Njk2ICAgMDgzNjUgICA0NDczOCAgIDQ5Njk2ICAgMDgzNjcKKzAwMDAxOTAgICA0NTI1MCAgIDQ5Njk2ICAgMDgzNjkgICA0NTc2MiAgIDQ5Njk2ICAgMDgzNzEgICA0NjI3NCAgIDQ5Njk2CiswMDAwMWEwICAgMDgzNzMgICA0Njc4NiAgIDQ5Njk2ICAgMDgzNzUgICA0NzI5OCAgIDQ5Njk2ICAgMDgzNzcgICA0NzgxMAorMDAwMDFiMCAgIDQ5Njk2ICAgMDgzNzkgICA0ODMyMiAgIDQ5Njk2ICAgMDgzODEgICA0ODgzNCAgIDQ5Njk2ICAgMDgzODMKKzAwMDAxYzAgICAzMjk2MyAgIDQ5OTUyICAgMDgzMjEgICAzMzQ3NSAgIDQ5OTUyICAgMDgzMjMgICAzMzk4NyAgIDQ5OTUyCiswMDAwMWQwICAgMDgzMjUgICAzNDQ5OSAgIDQ5OTUyICAgMDgzMjcgICAzNTAxMSAgIDQ5OTUyICAgMDgzMjkgICAzNTUyMworMDAwMDFlMCAgIDQ5OTUyICAgMDgzMzEgICAzNjAzNSAgIDQ5OTUyICAgMDgzMzMgICAzNjU0NyAgIDQ5OTUyICAgMDgzMzUKKzAwMDAxZjAgICAzNzA1OSAgIDQ5OTUyICAgMDgzMzcgICAzNzU3MSAgIDQ5OTUyICAgMDgzMzkgICAzODA4MyAgIDQ5OTUyCiswMDAwMjAwICAgMDgzNDEgICAzODU5NSAgIDQ5OTUyICAgMDgzNDMgICAzOTEwNyAgIDQ5OTUyICAgMDgzNDUgICAzOTYxOQorMDAwMDIxMCAgIDQ5OTUyICAgMDgzNDcgICA0MDEzMSAgIDQ5OTUyICAgMDgzNDkgICA0MDY0MyAgIDQ5OTUyICAgMDgzNTEKKzAwMDAyMjAgICA0MTE1NSAgIDQ5OTUyICAgMDgzNTMgICA0MTY2NyAgIDQ5OTUyICAgMDgzNTUgICA0MjE3OSAgIDQ5OTUyCiswMDAwMjMwICAgMDgzNTcgICA0MjY5MSAgIDQ5OTUyICAgMDgzNTkgICA0MzIwMyAgIDQ5OTUyICAgMDgzNjEgICA0MzcxNQorMDAwMDI0MCAgIDQ5OTUyICAgMDgzNjMgICA0NDIyNyAgIDQ5OTUyICAgMDgzNjUgICA0NDczOSAgIDQ5OTUyICAgMDgzNjcKKzAwMDAyNTAgICA0NTI1MSAgIDQ5OTUyICAgMDgzNjkgICA0NTc2MyAgIDQ5OTUyICAgMDgzNzEgICA0NjI3NSAgIDQ5OTUyCiswMDAwMjYwICAgMDgzNzMgICA0Njc4NyAgIDQ5OTUyICAgMDgzNzUgICA0NzI5OSAgIDQ5OTUyICAgMDgzNzcgICA0NzgxMQorMDAwMDI3MCAgIDQ5OTUyICAgMDgzNzkgICA0ODMyMyAgIDQ5OTUyICAgMDgzODEgICA0ODgzNSAgIDQ5OTUyICAgMDgzODMKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0yLkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTIuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDZiNGZhYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0yLkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwMDAzMiAgIDAwMjg4ICAgMDA1NDQgICAwMDgwMCAgIDAxMDU2ICAgMDEzMTIgICAwMTU2OCAgIDAxODI0CiswMDAwMDEwICAgMDIwODAgICAwMjMzNiAgIDAyNTkyICAgMDI4NDggICAwMzEwNCAgIDAzMzYwICAgMDM2MTYgICAwMzg3MgorMDAwMDAyMCAgIDA0MTI4ICAgMDQzODQgICAwNDY0MCAgIDA0ODk2ICAgMDUxNTIgICAwNTQwOCAgIDA1NjY0ICAgMDU5MjAKKzAwMDAwMzAgICAwNjE3NiAgIDA2NDMyICAgMDY2ODggICAwNjk0NCAgIDA3MjAwICAgMDc0NTYgICAwNzcxMiAgIDA3OTY4CiswMDAwMDQwICAgMDgyMjQgICAwODQ4MCAgIDA4NzM2ICAgMDg5OTIgICAwOTI0OCAgIDA5NTA0ICAgMDk3NjAgICAxMDAxNgorMDAwMDA1MCAgIDEwMjcyICAgMTA1MjggICAxMDc4NCAgIDExMDQwICAgMTEyOTYgICAxMTU1MiAgIDExODA4ICAgMTIwNjQKKzAwMDAwNjAgICAxMjMyMCAbWzMxbSAgMTI1NzYbWzBtICAgMTI4MzIgICAxMzA4OCAgIDEzMzQ0ICAgMTM2MDAgICAxMzg1NiAgIDE0MTEyCiswMDAwMDcwICAgMTQzNjggICAxNDYyNCAgIDE0ODgwICAgMTUxMzYgICAxNTM5MiAgIDE1NjQ4ICAgMTU5MDQgICAxNjE2MAorMDAwMDA4MCAgIDE2NDE2ICAgMTY2NzIgICAxNjkyOCAgIDE3MTg0ICAgMTc0NDAgICAxNzY5NiAgIDE3OTUyICAgMTgyMDgKKzAwMDAwOTAgICAxODQ2NCAgIDE4NzIwICAgMTg5NzYgICAxOTIzMiAgIDE5NDg4ICAgMTk3NDQgICAyMDAwMCAgIDIwMjU2CiswMDAwMGEwICAgMjA1MTIgICAyMDc2OCAgIDIxMDI0ICAgMjEyODAgICAyMTUzNiAgIDIxNzkyICAgMjIwNDggICAyMjMwNAorMDAwMDBiMCAgIDIyNTYwICAgMjI4MTYgICAyMzA3MiAgIDIzMzI4ICAgMjM1ODQgICAyMzg0MCAgIDI0MDk2ICAgMjQzNTIKKzAwMDAwYzAgICAyNDYwOCAgIDI0ODY0ICAgMjUxMjAgICAyNTM3NiAgIDI1NjMyICAgMjU4ODggICAyNjE0NCAgIDI2NDAwCiswMDAwMGQwICAgMjY2NTYgICAyNjkxMiAgIDI3MTY4ICAgMjc0MjQgICAyNzY4MCAgIDI3OTM2ICAgMjgxOTIgICAyODQ0OAorMDAwMDBlMCAgIDI4NzA0ICAgMjg5NjAgICAyOTIxNiAgIDI5NDcyICAgMjk3MjggICAyOTk4NCAgIDMwMjQwICAgMzA0OTYKKzAwMDAwZjAgICAzMDc1MiAgIDMxMDA4ICAgMzEyNjQgICAzMTUyMCAgIDMxNzc2ICAgMzIwMzIgICAzMjI4OCAgIDMyNTQ0CiswMDAwMTAwICAgNDk3OTIgICAwODM4NiAgIDMzMDU2ICAgNDk3OTQgICAwODM4NiAgIDMzNTY4ICAgNDk3OTYgICAwODM4NgorMDAwMDExMCAgIDM0MDgwICAgNDk3OTggICAwODM4NiAgIDM0NTkyICAgNDk4MDAgICAwODM4NiAgIDM1MTA0ICAgNDk4MDIKKzAwMDAxMjAgICAwODM4NiAgIDM1NjE2ICAgNDk4MDQgICAwODM4NiAgIDM2MTI4ICAgNDk4MDYgICAwODM4NiAgIDM2NjQwCiswMDAwMTMwICAgNDk4MDggICAwODM4NiAgIDM3MTUyICAgNDk4MTAgICAwODM4NiAgIDM3NjY0ICAgNDk4MTIgICAwODM4NgorMDAwMDE0MCAgIDM4MTc2ICAgNDk4MTQgICAwODM4NiAgIDM4Njg4ICAgNDk4MTYgICAwODM4NiAgIDM5MjAwICAgNDk4MTgKKzAwMDAxNTAgICAwODM4NiAgIDM5NzEyICAgNDk4MjAgICAwODM4NiAgIDQwMjI0ICAgNDk4MjIgICAwODM4NiAgIDQwNzM2CiswMDAwMTYwICAgNDk4MjQgICAwODM4NiAgIDQxMjQ4ICAgNDk4MjYgICAwODM4NiAgIDQxNzYwICAgNDk4MjggICAwODM4NgorMDAwMDE3MCAgIDQyMjcyICAgNDk4MzAgICAwODM4NiAgIDQyNzg0ICAgNDk4MzIgICAwODM4NiAgIDQzMjk2ICAgNDk4MzQKKzAwMDAxODAgICAwODM4NiAgIDQzODA4ICAgNDk4MzYgICAwODM4NiAgIDQ0MzIwICAgNDk4MzggICAwODM4NiAgIDQ0ODMyCiswMDAwMTkwICAgNDk4NDAgICAwODM4NiAgIDQ1MzQ0ICAgNDk4NDIgICAwODM4NiAgIDQ1ODU2ICAgNDk4NDQgICAwODM4NgorMDAwMDFhMCAgIDQ2MzY4ICAgNDk4NDYgICAwODM4NiAgIDQ2ODgwICAgNDk4NDggICAwODM4NiAgIDQ3MzkyICAgNDk4NTAKKzAwMDAxYjAgICAwODM4NiAgIDQ3OTA0ICAgNDk4NTIgICAwODM4NiAgIDQ4NDE2ICAgNDk4NTQgICAwODM4NiAgIDQ4OTI4CiswMDAwMWMwICAgNTAwNDggICAwODM4NyAgIDMzMDU2ICAgNTAwNTAgICAwODM4NyAgIDMzNTY4ICAgNTAwNTIgICAwODM4NworMDAwMDFkMCAgIDM0MDgwICAgNTAwNTQgICAwODM4NyAgIDM0NTkyICAgNTAwNTYgICAwODM4NyAgIDM1MTA0ICAgNTAwNTgKKzAwMDAxZTAgICAwODM4NyAgIDM1NjE2ICAgNTAwNjAgICAwODM4NyAgIDM2MTI4ICAgNTAwNjIgICAwODM4NyAgIDM2NjQwCiswMDAwMWYwICAgNTAwNjQgICAwODM4NyAgIDM3MTUyICAgNTAwNjYgICAwODM4NyAgIDM3NjY0ICAgNTAwNjggICAwODM4NworMDAwMDIwMCAgIDM4MTc2ICAgNTAwNzAgICAwODM4NyAgIDM4Njg4ICAgNTAwNzIgICAwODM4NyAgIDM5MjAwICAgNTAwNzQKKzAwMDAyMTAgICAwODM4NyAgIDM5NzEyICAgNTAwNzYgICAwODM4NyAgIDQwMjI0ICAgNTAwNzggICAwODM4NyAgIDQwNzM2CiswMDAwMjIwICAgNTAwODAgICAwODM4NyAgIDQxMjQ4ICAgNTAwODIgICAwODM4NyAgIDQxNzYwICAgNTAwODQgICAwODM4NworMDAwMDIzMCAgIDQyMjcyICAgNTAwODYgICAwODM4NyAgIDQyNzg0ICAgNTAwODggICAwODM4NyAgIDQzMjk2ICAgNTAwOTAKKzAwMDAyNDAgICAwODM4NyAgIDQzODA4ICAgNTAwOTIgICAwODM4NyAgIDQ0MzIwICAgNTAwOTQgICAwODM4NyAgIDQ0ODMyCiswMDAwMjUwICAgNTAwOTYgICAwODM4NyAgIDQ1MzQ0ICAgNTAwOTggICAwODM4NyAgIDQ1ODU2ICAgNTAxMDAgICAwODM4NworMDAwMDI2MCAgIDQ2MzY4ICAgNTAxMDIgICAwODM4NyAgIDQ2ODgwICAgNTAxMDQgICAwODM4NyAgIDQ3MzkyICAgNTAxMDYKKzAwMDAyNzAgICAwODM4NyAgIDQ3OTA0ICAgNTAxMDggICAwODM4NyAgIDQ4NDE2ICAgNTAxMTAgICAwODM4NyAgIDQ4OTI4CiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE4NzIzMjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMwpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgMDgxOTIgICAwODE5MyAgIDA4MTk0ICAgMDgxOTUgICAwODE5NiAgIDA4MTk3ICAgMDgxOTggICAwODE5OQorMDAwMDAxMCAgIDA4MjAwICAgMDgyMDEgICAwODIwMiAgIDA4MjAzICAgMDgyMDQgICAwODIwNSAgIDA4MjA2ICAgMDgyMDcKKzAwMDAwMjAgICAwODIwOCAgIDA4MjA5ICAgMDgyMTAgICAwODIxMSAgIDA4MjEyICAgMDgyMTMgICAwODIxNCAgIDA4MjE1CiswMDAwMDMwICAgMDgyMTYgICAwODIxNyAgIDA4MjE4ICAgMDgyMTkgICAwODIyMCAgIDA4MjIxICAgMDgyMjIgICAwODIyMworMDAwMDA0MCAgIDA4MjI0ICAgMDgyMjUgICAwODIyNiAgIDA4MjI3ICAgMDgyMjggICAwODIyOSAgIDA4MjMwICAgMDgyMzEKKzAwMDAwNTAgICAwODIzMiAgIDA4MjMzICAgMDgyMzQgICAwODIzNSAgIDA4MjM2ICAgMDgyMzcgICAwODIzOCAgIDA4MjM5CiswMDAwMDYwICAgMDgyNDAgG1szMW0gIDA4MjQxG1swbSAgIDA4MjQyICAgMDgyNDMgICAwODI0NCAgIDA4MjQ1ICAgMDgyNDYgICAwODI0NworMDAwMDA3MCAgIDA4MjQ4ICAgMDgyNDkgICAwODI1MCAgIDA4MjUxICAgMDgyNTIgICAwODI1MyAgIDA4MjU0ICAgMDgyNTUKKzAwMDAwODAgICAwODI1NiAgIDA4MjU3ICAgMDgyNTggICAwODI1OSAgIDA4MjYwICAgMDgyNjEgICAwODI2MiAgIDA4MjYzCiswMDAwMDkwICAgMDgyNjQgICAwODI2NSAgIDA4MjY2ICAgMDgyNjcgICAwODI2OCAgIDA4MjY5ICAgMDgyNzAgICAwODI3MQorMDAwMDBhMCAgIDA4MjcyICAgMDgyNzMgICAwODI3NCAgIDA4Mjc1ICAgMDgyNzYgICAwODI3NyAgIDA4Mjc4ICAgMDgyNzkKKzAwMDAwYjAgICAwODI4MCAgIDA4MjgxICAgMDgyODIgICAwODI4MyAgIDA4Mjg0ICAgMDgyODUgICAwODI4NiAgIDA4Mjg3CiswMDAwMGMwICAgMDgyODggICAwODI4OSAgIDA4MjkwICAgMDgyOTEgICAwODI5MiAgIDA4MjkzICAgMDgyOTQgICAwODI5NQorMDAwMDBkMCAgIDA4Mjk2ICAgMDgyOTcgICAwODI5OCAgIDA4Mjk5ICAgMDgzMDAgICAwODMwMSAgIDA4MzAyICAgMDgzMDMKKzAwMDAwZTAgICAwODMwNCAgIDA4MzA1ICAgMDgzMDYgICAwODMwNyAgIDA4MzA4ICAgMDgzMDkgICAwODMxMCAgIDA4MzExCiswMDAwMGYwICAgMDgzMTIgICAwODMxMyAgIDA4MzE0ICAgMDgzMTUgICAwODMxNiAgIDA4MzE3ICAgMDgzMTggICAwODMxOQorMDAwMDEwMCAgIDMyOTYyICAgNDk2OTYgICAwODMyMSAgIDMzNDc0ICAgNDk2OTYgICAwODMyMyAgIDMzOTg2ICAgNDk2OTYKKzAwMDAxMTAgICAwODMyNSAgIDM0NDk4ICAgNDk2OTYgICAwODMyNyAgIDM1MDEwICAgNDk2OTYgICAwODMyOSAgIDM1NTIyCiswMDAwMTIwICAgNDk2OTYgICAwODMzMSAgIDM2MDM0ICAgNDk2OTYgICAwODMzMyAgIDM2NTQ2ICAgNDk2OTYgICAwODMzNQorMDAwMDEzMCAgIDM3MDU4ICAgNDk2OTYgICAwODMzNyAgIDM3NTcwICAgNDk2OTYgICAwODMzOSAgIDM4MDgyICAgNDk2OTYKKzAwMDAxNDAgICAwODM0MSAgIDM4NTk0ICAgNDk2OTYgICAwODM0MyAgIDM5MTA2ICAgNDk2OTYgICAwODM0NSAgIDM5NjE4CiswMDAwMTUwICAgNDk2OTYgICAwODM0NyAgIDQwMTMwICAgNDk2OTYgICAwODM0OSAgIDQwNjQyICAgNDk2OTYgICAwODM1MQorMDAwMDE2MCAgIDQxMTU0ICAgNDk2OTYgICAwODM1MyAgIDQxNjY2ICAgNDk2OTYgICAwODM1NSAgIDQyMTc4ICAgNDk2OTYKKzAwMDAxNzAgICAwODM1NyAgIDQyNjkwICAgNDk2OTYgICAwODM1OSAgIDQzMjAyICAgNDk2OTYgICAwODM2MSAgIDQzNzE0CiswMDAwMTgwICAgNDk2OTYgICAwODM2MyAgIDQ0MjI2ICAgNDk2OTYgICAwODM2NSAgIDQ0NzM4ICAgNDk2OTYgICAwODM2NworMDAwMDE5MCAgIDQ1MjUwICAgNDk2OTYgICAwODM2OSAgIDQ1NzYyICAgNDk2OTYgICAwODM3MSAgIDQ2Mjc0ICAgNDk2OTYKKzAwMDAxYTAgICAwODM3MyAgIDQ2Nzg2ICAgNDk2OTYgICAwODM3NSAgIDQ3Mjk4ICAgNDk2OTYgICAwODM3NyAgIDQ3ODEwCiswMDAwMWIwICAgNDk2OTYgICAwODM3OSAgIDQ4MzIyICAgNDk2OTYgICAwODM4MSAgIDQ4ODM0ICAgNDk2OTYgICAwODM4MworMDAwMDFjMCAgIDMyOTYzICAgNDk5NTIgICAwODMyMSAgIDMzNDc1ICAgNDk5NTIgICAwODMyMyAgIDMzOTg3ICAgNDk5NTIKKzAwMDAxZDAgICAwODMyNSAgIDM0NDk5ICAgNDk5NTIgICAwODMyNyAgIDM1MDExICAgNDk5NTIgICAwODMyOSAgIDM1NTIzCiswMDAwMWUwICAgNDk5NTIgICAwODMzMSAgIDM2MDM1ICAgNDk5NTIgICAwODMzMyAgIDM2NTQ3ICAgNDk5NTIgICAwODMzNQorMDAwMDFmMCAgIDM3MDU5ICAgNDk5NTIgICAwODMzNyAgIDM3NTcxICAgNDk5NTIgICAwODMzOSAgIDM4MDgzICAgNDk5NTIKKzAwMDAyMDAgICAwODM0MSAgIDM4NTk1ICAgNDk5NTIgICAwODM0MyAgIDM5MTA3ICAgNDk5NTIgICAwODM0NSAgIDM5NjE5CiswMDAwMjEwICAgNDk5NTIgICAwODM0NyAgIDQwMTMxICAgNDk5NTIgICAwODM0OSAgIDQwNjQzICAgNDk5NTIgICAwODM1MQorMDAwMDIyMCAgIDQxMTU1ICAgNDk5NTIgICAwODM1MyAgIDQxNjY3ICAgNDk5NTIgICAwODM1NSAgIDQyMTc5ICAgNDk5NTIKKzAwMDAyMzAgICAwODM1NyAgIDQyNjkxICAgNDk5NTIgICAwODM1OSAgIDQzMjAzICAgNDk5NTIgICAwODM2MSAgIDQzNzE1CiswMDAwMjQwICAgNDk5NTIgICAwODM2MyAgIDQ0MjI3ICAgNDk5NTIgICAwODM2NSAgIDQ0NzM5ICAgNDk5NTIgICAwODM2NworMDAwMDI1MCAgIDQ1MjUxICAgNDk5NTIgICAwODM2OSAgIDQ1NzYzICAgNDk5NTIgICAwODM3MSAgIDQ2Mjc1ICAgNDk5NTIKKzAwMDAyNjAgICAwODM3MyAgIDQ2Nzg3ICAgNDk5NTIgICAwODM3NSAgIDQ3Mjk5ICAgNDk5NTIgICAwODM3NyAgIDQ3ODExCiswMDAwMjcwICAgNDk5NTIgICAwODM3OSAgIDQ4MzIzICAgNDk5NTIgICAwODM4MSAgIDQ4ODM1ICAgNDk5NTIgICAwODM4MworMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTMuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtMy5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NmI0ZmFiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTMuQkUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDAwMDMyICAgMDAyODggICAwMDU0NCAgIDAwODAwICAgMDEwNTYgICAwMTMxMiAgIDAxNTY4ICAgMDE4MjQKKzAwMDAwMTAgICAwMjA4MCAgIDAyMzM2ICAgMDI1OTIgICAwMjg0OCAgIDAzMTA0ICAgMDMzNjAgICAwMzYxNiAgIDAzODcyCiswMDAwMDIwICAgMDQxMjggICAwNDM4NCAgIDA0NjQwICAgMDQ4OTYgICAwNTE1MiAgIDA1NDA4ICAgMDU2NjQgICAwNTkyMAorMDAwMDAzMCAgIDA2MTc2ICAgMDY0MzIgICAwNjY4OCAgIDA2OTQ0ICAgMDcyMDAgICAwNzQ1NiAgIDA3NzEyICAgMDc5NjgKKzAwMDAwNDAgICAwODIyNCAgIDA4NDgwICAgMDg3MzYgICAwODk5MiAgIDA5MjQ4ICAgMDk1MDQgICAwOTc2MCAgIDEwMDE2CiswMDAwMDUwICAgMTAyNzIgICAxMDUyOCAgIDEwNzg0ICAgMTEwNDAgICAxMTI5NiAgIDExNTUyICAgMTE4MDggICAxMjA2NAorMDAwMDA2MCAgIDEyMzIwIBtbMzFtICAxMjU3NhtbMG0gICAxMjgzMiAgIDEzMDg4ICAgMTMzNDQgICAxMzYwMCAgIDEzODU2ICAgMTQxMTIKKzAwMDAwNzAgICAxNDM2OCAgIDE0NjI0ICAgMTQ4ODAgICAxNTEzNiAgIDE1MzkyICAgMTU2NDggICAxNTkwNCAgIDE2MTYwCiswMDAwMDgwICAgMTY0MTYgICAxNjY3MiAgIDE2OTI4ICAgMTcxODQgICAxNzQ0MCAgIDE3Njk2ICAgMTc5NTIgICAxODIwOAorMDAwMDA5MCAgIDE4NDY0ICAgMTg3MjAgICAxODk3NiAgIDE5MjMyICAgMTk0ODggICAxOTc0NCAgIDIwMDAwICAgMjAyNTYKKzAwMDAwYTAgICAyMDUxMiAgIDIwNzY4ICAgMjEwMjQgICAyMTI4MCAgIDIxNTM2ICAgMjE3OTIgICAyMjA0OCAgIDIyMzA0CiswMDAwMGIwICAgMjI1NjAgICAyMjgxNiAgIDIzMDcyICAgMjMzMjggICAyMzU4NCAgIDIzODQwICAgMjQwOTYgICAyNDM1MgorMDAwMDBjMCAgIDI0NjA4ICAgMjQ4NjQgICAyNTEyMCAgIDI1Mzc2ICAgMjU2MzIgICAyNTg4OCAgIDI2MTQ0ICAgMjY0MDAKKzAwMDAwZDAgICAyNjY1NiAgIDI2OTEyICAgMjcxNjggICAyNzQyNCAgIDI3NjgwICAgMjc5MzYgICAyODE5MiAgIDI4NDQ4CiswMDAwMGUwICAgMjg3MDQgICAyODk2MCAgIDI5MjE2ICAgMjk0NzIgICAyOTcyOCAgIDI5OTg0ICAgMzAyNDAgICAzMDQ5NgorMDAwMDBmMCAgIDMwNzUyICAgMzEwMDggICAzMTI2NCAgIDMxNTIwICAgMzE3NzYgICAzMjAzMiAgIDMyMjg4ICAgMzI1NDQKKzAwMDAxMDAgICA0OTc5MiAgIDA4Mzg2ICAgMzMwNTYgICA0OTc5NCAgIDA4Mzg2ICAgMzM1NjggICA0OTc5NiAgIDA4Mzg2CiswMDAwMTEwICAgMzQwODAgICA0OTc5OCAgIDA4Mzg2ICAgMzQ1OTIgICA0OTgwMCAgIDA4Mzg2ICAgMzUxMDQgICA0OTgwMgorMDAwMDEyMCAgIDA4Mzg2ICAgMzU2MTYgICA0OTgwNCAgIDA4Mzg2ICAgMzYxMjggICA0OTgwNiAgIDA4Mzg2ICAgMzY2NDAKKzAwMDAxMzAgICA0OTgwOCAgIDA4Mzg2ICAgMzcxNTIgICA0OTgxMCAgIDA4Mzg2ICAgMzc2NjQgICA0OTgxMiAgIDA4Mzg2CiswMDAwMTQwICAgMzgxNzYgICA0OTgxNCAgIDA4Mzg2ICAgMzg2ODggICA0OTgxNiAgIDA4Mzg2ICAgMzkyMDAgICA0OTgxOAorMDAwMDE1MCAgIDA4Mzg2ICAgMzk3MTIgICA0OTgyMCAgIDA4Mzg2ICAgNDAyMjQgICA0OTgyMiAgIDA4Mzg2ICAgNDA3MzYKKzAwMDAxNjAgICA0OTgyNCAgIDA4Mzg2ICAgNDEyNDggICA0OTgyNiAgIDA4Mzg2ICAgNDE3NjAgICA0OTgyOCAgIDA4Mzg2CiswMDAwMTcwICAgNDIyNzIgICA0OTgzMCAgIDA4Mzg2ICAgNDI3ODQgICA0OTgzMiAgIDA4Mzg2ICAgNDMyOTYgICA0OTgzNAorMDAwMDE4MCAgIDA4Mzg2ICAgNDM4MDggICA0OTgzNiAgIDA4Mzg2ICAgNDQzMjAgICA0OTgzOCAgIDA4Mzg2ICAgNDQ4MzIKKzAwMDAxOTAgICA0OTg0MCAgIDA4Mzg2ICAgNDUzNDQgICA0OTg0MiAgIDA4Mzg2ICAgNDU4NTYgICA0OTg0NCAgIDA4Mzg2CiswMDAwMWEwICAgNDYzNjggICA0OTg0NiAgIDA4Mzg2ICAgNDY4ODAgICA0OTg0OCAgIDA4Mzg2ICAgNDczOTIgICA0OTg1MAorMDAwMDFiMCAgIDA4Mzg2ICAgNDc5MDQgICA0OTg1MiAgIDA4Mzg2ICAgNDg0MTYgICA0OTg1NCAgIDA4Mzg2ICAgNDg5MjgKKzAwMDAxYzAgICA1MDA0OCAgIDA4Mzg3ICAgMzMwNTYgICA1MDA1MCAgIDA4Mzg3ICAgMzM1NjggICA1MDA1MiAgIDA4Mzg3CiswMDAwMWQwICAgMzQwODAgICA1MDA1NCAgIDA4Mzg3ICAgMzQ1OTIgICA1MDA1NiAgIDA4Mzg3ICAgMzUxMDQgICA1MDA1OAorMDAwMDFlMCAgIDA4Mzg3ICAgMzU2MTYgICA1MDA2MCAgIDA4Mzg3ICAgMzYxMjggICA1MDA2MiAgIDA4Mzg3ICAgMzY2NDAKKzAwMDAxZjAgICA1MDA2NCAgIDA4Mzg3ICAgMzcxNTIgICA1MDA2NiAgIDA4Mzg3ICAgMzc2NjQgICA1MDA2OCAgIDA4Mzg3CiswMDAwMjAwICAgMzgxNzYgICA1MDA3MCAgIDA4Mzg3ICAgMzg2ODggICA1MDA3MiAgIDA4Mzg3ICAgMzkyMDAgICA1MDA3NAorMDAwMDIxMCAgIDA4Mzg3ICAgMzk3MTIgICA1MDA3NiAgIDA4Mzg3ICAgNDAyMjQgICA1MDA3OCAgIDA4Mzg3ICAgNDA3MzYKKzAwMDAyMjAgICA1MDA4MCAgIDA4Mzg3ICAgNDEyNDggICA1MDA4MiAgIDA4Mzg3ICAgNDE3NjAgICA1MDA4NCAgIDA4Mzg3CiswMDAwMjMwICAgNDIyNzIgICA1MDA4NiAgIDA4Mzg3ICAgNDI3ODQgICA1MDA4OCAgIDA4Mzg3ICAgNDMyOTYgICA1MDA5MAorMDAwMDI0MCAgIDA4Mzg3ICAgNDM4MDggICA1MDA5MiAgIDA4Mzg3ICAgNDQzMjAgICA1MDA5NCAgIDA4Mzg3ICAgNDQ4MzIKKzAwMDAyNTAgICA1MDA5NiAgIDA4Mzg3ICAgNDUzNDQgICA1MDA5OCAgIDA4Mzg3ICAgNDU4NTYgICA1MDEwMCAgIDA4Mzg3CiswMDAwMjYwICAgNDYzNjggICA1MDEwMiAgIDA4Mzg3ICAgNDY4ODAgICA1MDEwNCAgIDA4Mzg3ICAgNDczOTIgICA1MDEwNgorMDAwMDI3MCAgIDA4Mzg3ICAgNDc5MDQgICA1MDEwOCAgIDA4Mzg3ICAgNDg0MTYgICA1MDExMCAgIDA4Mzg3ICAgNDg5MjgKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy00IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDIxMTFjMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy00CkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwODE5MiAgIDA4MTkzICAgMDgxOTQgICAwODE5NSAgIDA4MTk2ICAgMDgxOTcgICAwODE5OCAgIDA4MTk5CiswMDAwMDEwICAgMDgyMDAgICAwODIwMSAgIDA4MjAyICAgMDgyMDMgICAwODIwNCAgIDA4MjA1ICAgMDgyMDYgICAwODIwNworMDAwMDAyMCAgIDA4MjA4ICAgMDgyMDkgICAwODIxMCAgIDA4MjExICAgMDgyMTIgICAwODIxMyAgIDA4MjE0ICAgMDgyMTUKKzAwMDAwMzAgICAwODIxNiAgIDA4MjE3ICAgMDgyMTggICAwODIxOSAgIDA4MjIwICAgMDgyMjEgICAwODIyMiAgIDA4MjIzCiswMDAwMDQwICAgMDgyMjQgICAwODIyNSAgIDA4MjI2ICAgMDgyMjcgICAwODIyOCAgIDA4MjI5ICAgMDgyMzAgICAwODIzMQorMDAwMDA1MCAgIDA4MjMyICAgMDgyMzMgICAwODIzNCAgIDA4MjM1ICAgMDgyMzYgICAwODIzNyAgIDA4MjM4ICAgMDgyMzkKKzAwMDAwNjAgICAwODI0MCAgIDA4MjQxICAgMDgyNDIgICAwODI0MyAgIDA4MjQ0ICAgMDgyNDUgICAwODI0NiAgIDA4MjQ3CiswMDAwMDcwICAgMDgyNDggICAwODI0OSAgIDA4MjUwICAgMDgyNTEgICAwODI1MiAgIDA4MjUzICAgMDgyNTQgICAwODI1NQorMDAwMDA4MCAgIDA4MjU2IBtbMzFtICAwODI1NxtbMG0gICAwODI1OCAgIDA4MjU5ICAgMDgyNjAgICAwODI2MSAgIDA4MjYyICAgMDgyNjMKKzAwMDAwOTAgICAwODI2NCAgIDA4MjY1ICAgMDgyNjYgICAwODI2NyAgIDA4MjY4ICAgMDgyNjkgICAwODI3MCAgIDA4MjcxCiswMDAwMGEwICAgMDgyNzIgICAwODI3MyAgIDA4Mjc0ICAgMDgyNzUgICAwODI3NiAgIDA4Mjc3ICAgMDgyNzggICAwODI3OQorMDAwMDBiMCAgIDA4MjgwICAgMDgyODEgICAwODI4MiAgIDA4MjgzICAgMDgyODQgICAwODI4NSAgIDA4Mjg2ICAgMDgyODcKKzAwMDAwYzAgICAwODI4OCAgIDA4Mjg5ICAgMDgyOTAgICAwODI5MSAgIDA4MjkyICAgMDgyOTMgICAwODI5NCAgIDA4Mjk1CiswMDAwMGQwICAgMDgyOTYgICAwODI5NyAgIDA4Mjk4ICAgMDgyOTkgICAwODMwMCAgIDA4MzAxICAgMDgzMDIgICAwODMwMworMDAwMDBlMCAgIDA4MzA0ICAgMDgzMDUgICAwODMwNiAgIDA4MzA3ICAgMDgzMDggICAwODMwOSAgIDA4MzEwICAgMDgzMTEKKzAwMDAwZjAgICAwODMxMiAgIDA4MzEzICAgMDgzMTQgICAwODMxNSAgIDA4MzE2ICAgMDgzMTcgICAwODMxOCAgIDA4MzE5CiswMDAwMTAwICAgMzI5NjIgICA0OTY5NiAgIDA4MzIxICAgMzM0NzQgICA0OTY5NiAgIDA4MzIzICAgMzM5ODYgICA0OTY5NgorMDAwMDExMCAgIDA4MzI1ICAgMzQ0OTggICA0OTY5NiAgIDA4MzI3ICAgMzUwMTAgICA0OTY5NiAgIDA4MzI5ICAgMzU1MjIKKzAwMDAxMjAgICA0OTY5NiAgIDA4MzMxICAgMzYwMzQgICA0OTY5NiAgIDA4MzMzICAgMzY1NDYgICA0OTY5NiAgIDA4MzM1CiswMDAwMTMwICAgMzcwNTggICA0OTY5NiAgIDA4MzM3ICAgMzc1NzAgICA0OTY5NiAgIDA4MzM5ICAgMzgwODIgICA0OTY5NgorMDAwMDE0MCAgIDA4MzQxICAgMzg1OTQgICA0OTY5NiAgIDA4MzQzICAgMzkxMDYgICA0OTY5NiAgIDA4MzQ1ICAgMzk2MTgKKzAwMDAxNTAgICA0OTY5NiAgIDA4MzQ3ICAgNDAxMzAgICA0OTY5NiAgIDA4MzQ5ICAgNDA2NDIgICA0OTY5NiAgIDA4MzUxCiswMDAwMTYwICAgNDExNTQgICA0OTY5NiAgIDA4MzUzICAgNDE2NjYgICA0OTY5NiAgIDA4MzU1ICAgNDIxNzggICA0OTY5NgorMDAwMDE3MCAgIDA4MzU3ICAgNDI2OTAgICA0OTY5NiAgIDA4MzU5ICAgNDMyMDIgICA0OTY5NiAgIDA4MzYxICAgNDM3MTQKKzAwMDAxODAgICA0OTY5NiAgIDA4MzYzICAgNDQyMjYgICA0OTY5NiAgIDA4MzY1ICAgNDQ3MzggICA0OTY5NiAgIDA4MzY3CiswMDAwMTkwICAgNDUyNTAgICA0OTY5NiAgIDA4MzY5ICAgNDU3NjIgICA0OTY5NiAgIDA4MzcxICAgNDYyNzQgICA0OTY5NgorMDAwMDFhMCAgIDA4MzczICAgNDY3ODYgICA0OTY5NiAgIDA4Mzc1ICAgNDcyOTggICA0OTY5NiAgIDA4Mzc3ICAgNDc4MTAKKzAwMDAxYjAgICA0OTY5NiAgIDA4Mzc5ICAgNDgzMjIgICA0OTY5NiAgIDA4MzgxICAgNDg4MzQgICA0OTY5NiAgIDA4MzgzCiswMDAwMWMwICAgMzI5NjMgICA0OTk1MiAgIDA4MzIxICAgMzM0NzUgICA0OTk1MiAgIDA4MzIzICAgMzM5ODcgICA0OTk1MgorMDAwMDFkMCAgIDA4MzI1ICAgMzQ0OTkgICA0OTk1MiAgIDA4MzI3ICAgMzUwMTEgICA0OTk1MiAgIDA4MzI5ICAgMzU1MjMKKzAwMDAxZTAgICA0OTk1MiAgIDA4MzMxICAgMzYwMzUgICA0OTk1MiAgIDA4MzMzICAgMzY1NDcgICA0OTk1MiAgIDA4MzM1CiswMDAwMWYwICAgMzcwNTkgICA0OTk1MiAgIDA4MzM3ICAgMzc1NzEgICA0OTk1MiAgIDA4MzM5ICAgMzgwODMgICA0OTk1MgorMDAwMDIwMCAgIDA4MzQxICAgMzg1OTUgICA0OTk1MiAgIDA4MzQzICAgMzkxMDcgICA0OTk1MiAgIDA4MzQ1ICAgMzk2MTkKKzAwMDAyMTAgICA0OTk1MiAgIDA4MzQ3ICAgNDAxMzEgICA0OTk1MiAgIDA4MzQ5ICAgNDA2NDMgICA0OTk1MiAgIDA4MzUxCiswMDAwMjIwICAgNDExNTUgICA0OTk1MiAgIDA4MzUzICAgNDE2NjcgICA0OTk1MiAgIDA4MzU1ICAgNDIxNzkgICA0OTk1MgorMDAwMDIzMCAgIDA4MzU3ICAgNDI2OTEgICA0OTk1MiAgIDA4MzU5ICAgNDMyMDMgICA0OTk1MiAgIDA4MzYxICAgNDM3MTUKKzAwMDAyNDAgICA0OTk1MiAgIDA4MzYzICAgNDQyMjcgICA0OTk1MiAgIDA4MzY1ICAgNDQ3MzkgICA0OTk1MiAgIDA4MzY3CiswMDAwMjUwICAgNDUyNTEgICA0OTk1MiAgIDA4MzY5ICAgNDU3NjMgICA0OTk1MiAgIDA4MzcxICAgNDYyNzUgICA0OTk1MgorMDAwMDI2MCAgIDA4MzczICAgNDY3ODcgICA0OTk1MiAgIDA4Mzc1ICAgNDcyOTkgICA0OTk1MiAgIDA4Mzc3ICAgNDc4MTEKKzAwMDAyNzAgICA0OTk1MiAgIDA4Mzc5ICAgNDgzMjMgICA0OTk1MiAgIDA4MzgxICAgNDg4MzUgICA0OTk1MiAgIDA4MzgzCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNC5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy00LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjYjIxMjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNC5CRQpAQCAtMCwwICsxLDQxIEBACiswMDAwMDAwICAgMDAwMzIgICAwMDI4OCAgIDAwNTQ0ICAgMDA4MDAgICAwMTA1NiAgIDAxMzEyICAgMDE1NjggICAwMTgyNAorMDAwMDAxMCAgIDAyMDgwICAgMDIzMzYgICAwMjU5MiAgIDAyODQ4ICAgMDMxMDQgICAwMzM2MCAgIDAzNjE2ICAgMDM4NzIKKzAwMDAwMjAgICAwNDEyOCAgIDA0Mzg0ICAgMDQ2NDAgICAwNDg5NiAgIDA1MTUyICAgMDU0MDggICAwNTY2NCAgIDA1OTIwCiswMDAwMDMwICAgMDYxNzYgICAwNjQzMiAgIDA2Njg4ICAgMDY5NDQgICAwNzIwMCAgIDA3NDU2ICAgMDc3MTIgICAwNzk2OAorMDAwMDA0MCAgIDA4MjI0ICAgMDg0ODAgICAwODczNiAgIDA4OTkyICAgMDkyNDggICAwOTUwNCAgIDA5NzYwICAgMTAwMTYKKzAwMDAwNTAgICAxMDI3MiAgIDEwNTI4ICAgMTA3ODQgICAxMTA0MCAgIDExMjk2ICAgMTE1NTIgICAxMTgwOCAgIDEyMDY0CiswMDAwMDYwICAgMTIzMjAgICAxMjU3NiAgIDEyODMyICAgMTMwODggICAxMzM0NCAgIDEzNjAwICAgMTM4NTYgICAxNDExMgorMDAwMDA3MCAgIDE0MzY4ICAgMTQ2MjQgICAxNDg4MCAgIDE1MTM2ICAgMTUzOTIgICAxNTY0OCAgIDE1OTA0ICAgMTYxNjAKKzAwMDAwODAgICAxNjQxNiAbWzMxbSAgMTY2NzIbWzBtICAgMTY5MjggICAxNzE4NCAgIDE3NDQwICAgMTc2OTYgICAxNzk1MiAgIDE4MjA4CiswMDAwMDkwICAgMTg0NjQgICAxODcyMCAgIDE4OTc2ICAgMTkyMzIgICAxOTQ4OCAgIDE5NzQ0ICAgMjAwMDAgICAyMDI1NgorMDAwMDBhMCAgIDIwNTEyICAgMjA3NjggICAyMTAyNCAgIDIxMjgwICAgMjE1MzYgICAyMTc5MiAgIDIyMDQ4ICAgMjIzMDQKKzAwMDAwYjAgICAyMjU2MCAgIDIyODE2ICAgMjMwNzIgICAyMzMyOCAgIDIzNTg0ICAgMjM4NDAgICAyNDA5NiAgIDI0MzUyCiswMDAwMGMwICAgMjQ2MDggICAyNDg2NCAgIDI1MTIwICAgMjUzNzYgICAyNTYzMiAgIDI1ODg4ICAgMjYxNDQgICAyNjQwMAorMDAwMDBkMCAgIDI2NjU2ICAgMjY5MTIgICAyNzE2OCAgIDI3NDI0ICAgMjc2ODAgICAyNzkzNiAgIDI4MTkyICAgMjg0NDgKKzAwMDAwZTAgICAyODcwNCAgIDI4OTYwICAgMjkyMTYgICAyOTQ3MiAgIDI5NzI4ICAgMjk5ODQgICAzMDI0MCAgIDMwNDk2CiswMDAwMGYwICAgMzA3NTIgICAzMTAwOCAgIDMxMjY0ICAgMzE1MjAgICAzMTc3NiAgIDMyMDMyICAgMzIyODggICAzMjU0NAorMDAwMDEwMCAgIDQ5NzkyICAgMDgzODYgICAzMzA1NiAgIDQ5Nzk0ICAgMDgzODYgICAzMzU2OCAgIDQ5Nzk2ICAgMDgzODYKKzAwMDAxMTAgICAzNDA4MCAgIDQ5Nzk4ICAgMDgzODYgICAzNDU5MiAgIDQ5ODAwICAgMDgzODYgICAzNTEwNCAgIDQ5ODAyCiswMDAwMTIwICAgMDgzODYgICAzNTYxNiAgIDQ5ODA0ICAgMDgzODYgICAzNjEyOCAgIDQ5ODA2ICAgMDgzODYgICAzNjY0MAorMDAwMDEzMCAgIDQ5ODA4ICAgMDgzODYgICAzNzE1MiAgIDQ5ODEwICAgMDgzODYgICAzNzY2NCAgIDQ5ODEyICAgMDgzODYKKzAwMDAxNDAgICAzODE3NiAgIDQ5ODE0ICAgMDgzODYgICAzODY4OCAgIDQ5ODE2ICAgMDgzODYgICAzOTIwMCAgIDQ5ODE4CiswMDAwMTUwICAgMDgzODYgICAzOTcxMiAgIDQ5ODIwICAgMDgzODYgICA0MDIyNCAgIDQ5ODIyICAgMDgzODYgICA0MDczNgorMDAwMDE2MCAgIDQ5ODI0ICAgMDgzODYgICA0MTI0OCAgIDQ5ODI2ICAgMDgzODYgICA0MTc2MCAgIDQ5ODI4ICAgMDgzODYKKzAwMDAxNzAgICA0MjI3MiAgIDQ5ODMwICAgMDgzODYgICA0Mjc4NCAgIDQ5ODMyICAgMDgzODYgICA0MzI5NiAgIDQ5ODM0CiswMDAwMTgwICAgMDgzODYgICA0MzgwOCAgIDQ5ODM2ICAgMDgzODYgICA0NDMyMCAgIDQ5ODM4ICAgMDgzODYgICA0NDgzMgorMDAwMDE5MCAgIDQ5ODQwICAgMDgzODYgICA0NTM0NCAgIDQ5ODQyICAgMDgzODYgICA0NTg1NiAgIDQ5ODQ0ICAgMDgzODYKKzAwMDAxYTAgICA0NjM2OCAgIDQ5ODQ2ICAgMDgzODYgICA0Njg4MCAgIDQ5ODQ4ICAgMDgzODYgICA0NzM5MiAgIDQ5ODUwCiswMDAwMWIwICAgMDgzODYgICA0NzkwNCAgIDQ5ODUyICAgMDgzODYgICA0ODQxNiAgIDQ5ODU0ICAgMDgzODYgICA0ODkyOAorMDAwMDFjMCAgIDUwMDQ4ICAgMDgzODcgICAzMzA1NiAgIDUwMDUwICAgMDgzODcgICAzMzU2OCAgIDUwMDUyICAgMDgzODcKKzAwMDAxZDAgICAzNDA4MCAgIDUwMDU0ICAgMDgzODcgICAzNDU5MiAgIDUwMDU2ICAgMDgzODcgICAzNTEwNCAgIDUwMDU4CiswMDAwMWUwICAgMDgzODcgICAzNTYxNiAgIDUwMDYwICAgMDgzODcgICAzNjEyOCAgIDUwMDYyICAgMDgzODcgICAzNjY0MAorMDAwMDFmMCAgIDUwMDY0ICAgMDgzODcgICAzNzE1MiAgIDUwMDY2ICAgMDgzODcgICAzNzY2NCAgIDUwMDY4ICAgMDgzODcKKzAwMDAyMDAgICAzODE3NiAgIDUwMDcwICAgMDgzODcgICAzODY4OCAgIDUwMDcyICAgMDgzODcgICAzOTIwMCAgIDUwMDc0CiswMDAwMjEwICAgMDgzODcgICAzOTcxMiAgIDUwMDc2ICAgMDgzODcgICA0MDIyNCAgIDUwMDc4ICAgMDgzODcgICA0MDczNgorMDAwMDIyMCAgIDUwMDgwICAgMDgzODcgICA0MTI0OCAgIDUwMDgyICAgMDgzODcgICA0MTc2MCAgIDUwMDg0ICAgMDgzODcKKzAwMDAyMzAgICA0MjI3MiAgIDUwMDg2ICAgMDgzODcgICA0Mjc4NCAgIDUwMDg4ICAgMDgzODcgICA0MzI5NiAgIDUwMDkwCiswMDAwMjQwICAgMDgzODcgICA0MzgwOCAgIDUwMDkyICAgMDgzODcgICA0NDMyMCAgIDUwMDk0ICAgMDgzODcgICA0NDgzMgorMDAwMDI1MCAgIDUwMDk2ICAgMDgzODcgICA0NTM0NCAgIDUwMDk4ICAgMDgzODcgICA0NTg1NiAgIDUwMTAwICAgMDgzODcKKzAwMDAyNjAgICA0NjM2OCAgIDUwMTAyICAgMDgzODcgICA0Njg4MCAgIDUwMTA0ICAgMDgzODcgICA0NzM5MiAgIDUwMTA2CiswMDAwMjcwICAgMDgzODcgICA0NzkwNCAgIDUwMTA4ICAgMDgzODcgICA0ODQxNiAgIDUwMTEwICAgMDgzODcgICA0ODkyOAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjExMWMyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTUKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDA4MTkyICAgMDgxOTMgICAwODE5NCAgIDA4MTk1ICAgMDgxOTYgICAwODE5NyAgIDA4MTk4ICAgMDgxOTkKKzAwMDAwMTAgICAwODIwMCAgIDA4MjAxICAgMDgyMDIgICAwODIwMyAgIDA4MjA0ICAgMDgyMDUgICAwODIwNiAgIDA4MjA3CiswMDAwMDIwICAgMDgyMDggICAwODIwOSAgIDA4MjEwICAgMDgyMTEgICAwODIxMiAgIDA4MjEzICAgMDgyMTQgICAwODIxNQorMDAwMDAzMCAgIDA4MjE2ICAgMDgyMTcgICAwODIxOCAgIDA4MjE5ICAgMDgyMjAgICAwODIyMSAgIDA4MjIyICAgMDgyMjMKKzAwMDAwNDAgICAwODIyNCAgIDA4MjI1ICAgMDgyMjYgICAwODIyNyAgIDA4MjI4ICAgMDgyMjkgICAwODIzMCAgIDA4MjMxCiswMDAwMDUwICAgMDgyMzIgICAwODIzMyAgIDA4MjM0ICAgMDgyMzUgICAwODIzNiAgIDA4MjM3ICAgMDgyMzggICAwODIzOQorMDAwMDA2MCAgIDA4MjQwICAgMDgyNDEgICAwODI0MiAgIDA4MjQzICAgMDgyNDQgICAwODI0NSAgIDA4MjQ2ICAgMDgyNDcKKzAwMDAwNzAgICAwODI0OCAgIDA4MjQ5ICAgMDgyNTAgICAwODI1MSAgIDA4MjUyICAgMDgyNTMgICAwODI1NCAgIDA4MjU1CiswMDAwMDgwICAgMDgyNTYgG1szMW0gIDA4MjU3G1swbSAgIDA4MjU4ICAgMDgyNTkgICAwODI2MCAgIDA4MjYxICAgMDgyNjIgICAwODI2MworMDAwMDA5MCAgIDA4MjY0ICAgMDgyNjUgICAwODI2NiAgIDA4MjY3ICAgMDgyNjggICAwODI2OSAgIDA4MjcwICAgMDgyNzEKKzAwMDAwYTAgICAwODI3MiAgIDA4MjczICAgMDgyNzQgICAwODI3NSAgIDA4Mjc2ICAgMDgyNzcgICAwODI3OCAgIDA4Mjc5CiswMDAwMGIwICAgMDgyODAgICAwODI4MSAgIDA4MjgyICAgMDgyODMgICAwODI4NCAgIDA4Mjg1ICAgMDgyODYgICAwODI4NworMDAwMDBjMCAgIDA4Mjg4ICAgMDgyODkgICAwODI5MCAgIDA4MjkxICAgMDgyOTIgICAwODI5MyAgIDA4Mjk0ICAgMDgyOTUKKzAwMDAwZDAgICAwODI5NiAgIDA4Mjk3ICAgMDgyOTggICAwODI5OSAgIDA4MzAwICAgMDgzMDEgICAwODMwMiAgIDA4MzAzCiswMDAwMGUwICAgMDgzMDQgICAwODMwNSAgIDA4MzA2ICAgMDgzMDcgICAwODMwOCAgIDA4MzA5ICAgMDgzMTAgICAwODMxMQorMDAwMDBmMCAgIDA4MzEyICAgMDgzMTMgICAwODMxNCAgIDA4MzE1ICAgMDgzMTYgICAwODMxNyAgIDA4MzE4ICAgMDgzMTkKKzAwMDAxMDAgICAzMjk2MiAgIDQ5Njk2ICAgMDgzMjEgICAzMzQ3NCAgIDQ5Njk2ICAgMDgzMjMgICAzMzk4NiAgIDQ5Njk2CiswMDAwMTEwICAgMDgzMjUgICAzNDQ5OCAgIDQ5Njk2ICAgMDgzMjcgICAzNTAxMCAgIDQ5Njk2ICAgMDgzMjkgICAzNTUyMgorMDAwMDEyMCAgIDQ5Njk2ICAgMDgzMzEgICAzNjAzNCAgIDQ5Njk2ICAgMDgzMzMgICAzNjU0NiAgIDQ5Njk2ICAgMDgzMzUKKzAwMDAxMzAgICAzNzA1OCAgIDQ5Njk2ICAgMDgzMzcgICAzNzU3MCAgIDQ5Njk2ICAgMDgzMzkgICAzODA4MiAgIDQ5Njk2CiswMDAwMTQwICAgMDgzNDEgICAzODU5NCAgIDQ5Njk2ICAgMDgzNDMgICAzOTEwNiAgIDQ5Njk2ICAgMDgzNDUgICAzOTYxOAorMDAwMDE1MCAgIDQ5Njk2ICAgMDgzNDcgICA0MDEzMCAgIDQ5Njk2ICAgMDgzNDkgICA0MDY0MiAgIDQ5Njk2ICAgMDgzNTEKKzAwMDAxNjAgICA0MTE1NCAgIDQ5Njk2ICAgMDgzNTMgICA0MTY2NiAgIDQ5Njk2ICAgMDgzNTUgICA0MjE3OCAgIDQ5Njk2CiswMDAwMTcwICAgMDgzNTcgICA0MjY5MCAgIDQ5Njk2ICAgMDgzNTkgICA0MzIwMiAgIDQ5Njk2ICAgMDgzNjEgICA0MzcxNAorMDAwMDE4MCAgIDQ5Njk2ICAgMDgzNjMgICA0NDIyNiAgIDQ5Njk2ICAgMDgzNjUgICA0NDczOCAgIDQ5Njk2ICAgMDgzNjcKKzAwMDAxOTAgICA0NTI1MCAgIDQ5Njk2ICAgMDgzNjkgICA0NTc2MiAgIDQ5Njk2ICAgMDgzNzEgICA0NjI3NCAgIDQ5Njk2CiswMDAwMWEwICAgMDgzNzMgICA0Njc4NiAgIDQ5Njk2ICAgMDgzNzUgICA0NzI5OCAgIDQ5Njk2ICAgMDgzNzcgICA0NzgxMAorMDAwMDFiMCAgIDQ5Njk2ICAgMDgzNzkgICA0ODMyMiAgIDQ5Njk2ICAgMDgzODEgICA0ODgzNCAgIDQ5Njk2ICAgMDgzODMKKzAwMDAxYzAgICAzMjk2MyAgIDQ5OTUyICAgMDgzMjEgICAzMzQ3NSAgIDQ5OTUyICAgMDgzMjMgICAzMzk4NyAgIDQ5OTUyCiswMDAwMWQwICAgMDgzMjUgICAzNDQ5OSAgIDQ5OTUyICAgMDgzMjcgICAzNTAxMSAgIDQ5OTUyICAgMDgzMjkgICAzNTUyMworMDAwMDFlMCAgIDQ5OTUyICAgMDgzMzEgICAzNjAzNSAgIDQ5OTUyICAgMDgzMzMgICAzNjU0NyAgIDQ5OTUyICAgMDgzMzUKKzAwMDAxZjAgICAzNzA1OSAgIDQ5OTUyICAgMDgzMzcgICAzNzU3MSAgIDQ5OTUyICAgMDgzMzkgICAzODA4MyAgIDQ5OTUyCiswMDAwMjAwICAgMDgzNDEgICAzODU5NSAgIDQ5OTUyICAgMDgzNDMgICAzOTEwNyAgIDQ5OTUyICAgMDgzNDUgICAzOTYxOQorMDAwMDIxMCAgIDQ5OTUyICAgMDgzNDcgICA0MDEzMSAgIDQ5OTUyICAgMDgzNDkgICA0MDY0MyAgIDQ5OTUyICAgMDgzNTEKKzAwMDAyMjAgICA0MTE1NSAgIDQ5OTUyICAgMDgzNTMgICA0MTY2NyAgIDQ5OTUyICAgMDgzNTUgICA0MjE3OSAgIDQ5OTUyCiswMDAwMjMwICAgMDgzNTcgICA0MjY5MSAgIDQ5OTUyICAgMDgzNTkgICA0MzIwMyAgIDQ5OTUyICAgMDgzNjEgICA0MzcxNQorMDAwMDI0MCAgIDQ5OTUyICAgMDgzNjMgICA0NDIyNyAgIDQ5OTUyICAgMDgzNjUgICA0NDczOSAgIDQ5OTUyICAgMDgzNjcKKzAwMDAyNTAgICA0NTI1MSAgIDQ5OTUyICAgMDgzNjkgICA0NTc2MyAgIDQ5OTUyICAgMDgzNzEgICA0NjI3NSAgIDQ5OTUyCiswMDAwMjYwICAgMDgzNzMgICA0Njc4NyAgIDQ5OTUyICAgMDgzNzUgICA0NzI5OSAgIDQ5OTUyICAgMDgzNzcgICA0NzgxMQorMDAwMDI3MCAgIDQ5OTUyICAgMDgzNzkgICA0ODMyMyAgIDQ5OTUyICAgMDgzODEgICA0ODgzNSAgIDQ5OTUyICAgMDgzODMKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy01LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTUuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGNiMjEyNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy01LkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwMDAzMiAgIDAwMjg4ICAgMDA1NDQgICAwMDgwMCAgIDAxMDU2ICAgMDEzMTIgICAwMTU2OCAgIDAxODI0CiswMDAwMDEwICAgMDIwODAgICAwMjMzNiAgIDAyNTkyICAgMDI4NDggICAwMzEwNCAgIDAzMzYwICAgMDM2MTYgICAwMzg3MgorMDAwMDAyMCAgIDA0MTI4ICAgMDQzODQgICAwNDY0MCAgIDA0ODk2ICAgMDUxNTIgICAwNTQwOCAgIDA1NjY0ICAgMDU5MjAKKzAwMDAwMzAgICAwNjE3NiAgIDA2NDMyICAgMDY2ODggICAwNjk0NCAgIDA3MjAwICAgMDc0NTYgICAwNzcxMiAgIDA3OTY4CiswMDAwMDQwICAgMDgyMjQgICAwODQ4MCAgIDA4NzM2ICAgMDg5OTIgICAwOTI0OCAgIDA5NTA0ICAgMDk3NjAgICAxMDAxNgorMDAwMDA1MCAgIDEwMjcyICAgMTA1MjggICAxMDc4NCAgIDExMDQwICAgMTEyOTYgICAxMTU1MiAgIDExODA4ICAgMTIwNjQKKzAwMDAwNjAgICAxMjMyMCAgIDEyNTc2ICAgMTI4MzIgICAxMzA4OCAgIDEzMzQ0ICAgMTM2MDAgICAxMzg1NiAgIDE0MTEyCiswMDAwMDcwICAgMTQzNjggICAxNDYyNCAgIDE0ODgwICAgMTUxMzYgICAxNTM5MiAgIDE1NjQ4ICAgMTU5MDQgICAxNjE2MAorMDAwMDA4MCAgIDE2NDE2IBtbMzFtICAxNjY3MhtbMG0gICAxNjkyOCAgIDE3MTg0ICAgMTc0NDAgICAxNzY5NiAgIDE3OTUyICAgMTgyMDgKKzAwMDAwOTAgICAxODQ2NCAgIDE4NzIwICAgMTg5NzYgICAxOTIzMiAgIDE5NDg4ICAgMTk3NDQgICAyMDAwMCAgIDIwMjU2CiswMDAwMGEwICAgMjA1MTIgICAyMDc2OCAgIDIxMDI0ICAgMjEyODAgICAyMTUzNiAgIDIxNzkyICAgMjIwNDggICAyMjMwNAorMDAwMDBiMCAgIDIyNTYwICAgMjI4MTYgICAyMzA3MiAgIDIzMzI4ICAgMjM1ODQgICAyMzg0MCAgIDI0MDk2ICAgMjQzNTIKKzAwMDAwYzAgICAyNDYwOCAgIDI0ODY0ICAgMjUxMjAgICAyNTM3NiAgIDI1NjMyICAgMjU4ODggICAyNjE0NCAgIDI2NDAwCiswMDAwMGQwICAgMjY2NTYgICAyNjkxMiAgIDI3MTY4ICAgMjc0MjQgICAyNzY4MCAgIDI3OTM2ICAgMjgxOTIgICAyODQ0OAorMDAwMDBlMCAgIDI4NzA0ICAgMjg5NjAgICAyOTIxNiAgIDI5NDcyICAgMjk3MjggICAyOTk4NCAgIDMwMjQwICAgMzA0OTYKKzAwMDAwZjAgICAzMDc1MiAgIDMxMDA4ICAgMzEyNjQgICAzMTUyMCAgIDMxNzc2ICAgMzIwMzIgICAzMjI4OCAgIDMyNTQ0CiswMDAwMTAwICAgNDk3OTIgICAwODM4NiAgIDMzMDU2ICAgNDk3OTQgICAwODM4NiAgIDMzNTY4ICAgNDk3OTYgICAwODM4NgorMDAwMDExMCAgIDM0MDgwICAgNDk3OTggICAwODM4NiAgIDM0NTkyICAgNDk4MDAgICAwODM4NiAgIDM1MTA0ICAgNDk4MDIKKzAwMDAxMjAgICAwODM4NiAgIDM1NjE2ICAgNDk4MDQgICAwODM4NiAgIDM2MTI4ICAgNDk4MDYgICAwODM4NiAgIDM2NjQwCiswMDAwMTMwICAgNDk4MDggICAwODM4NiAgIDM3MTUyICAgNDk4MTAgICAwODM4NiAgIDM3NjY0ICAgNDk4MTIgICAwODM4NgorMDAwMDE0MCAgIDM4MTc2ICAgNDk4MTQgICAwODM4NiAgIDM4Njg4ICAgNDk4MTYgICAwODM4NiAgIDM5MjAwICAgNDk4MTgKKzAwMDAxNTAgICAwODM4NiAgIDM5NzEyICAgNDk4MjAgICAwODM4NiAgIDQwMjI0ICAgNDk4MjIgICAwODM4NiAgIDQwNzM2CiswMDAwMTYwICAgNDk4MjQgICAwODM4NiAgIDQxMjQ4ICAgNDk4MjYgICAwODM4NiAgIDQxNzYwICAgNDk4MjggICAwODM4NgorMDAwMDE3MCAgIDQyMjcyICAgNDk4MzAgICAwODM4NiAgIDQyNzg0ICAgNDk4MzIgICAwODM4NiAgIDQzMjk2ICAgNDk4MzQKKzAwMDAxODAgICAwODM4NiAgIDQzODA4ICAgNDk4MzYgICAwODM4NiAgIDQ0MzIwICAgNDk4MzggICAwODM4NiAgIDQ0ODMyCiswMDAwMTkwICAgNDk4NDAgICAwODM4NiAgIDQ1MzQ0ICAgNDk4NDIgICAwODM4NiAgIDQ1ODU2ICAgNDk4NDQgICAwODM4NgorMDAwMDFhMCAgIDQ2MzY4ICAgNDk4NDYgICAwODM4NiAgIDQ2ODgwICAgNDk4NDggICAwODM4NiAgIDQ3MzkyICAgNDk4NTAKKzAwMDAxYjAgICAwODM4NiAgIDQ3OTA0ICAgNDk4NTIgICAwODM4NiAgIDQ4NDE2ICAgNDk4NTQgICAwODM4NiAgIDQ4OTI4CiswMDAwMWMwICAgNTAwNDggICAwODM4NyAgIDMzMDU2ICAgNTAwNTAgICAwODM4NyAgIDMzNTY4ICAgNTAwNTIgICAwODM4NworMDAwMDFkMCAgIDM0MDgwICAgNTAwNTQgICAwODM4NyAgIDM0NTkyICAgNTAwNTYgICAwODM4NyAgIDM1MTA0ICAgNTAwNTgKKzAwMDAxZTAgICAwODM4NyAgIDM1NjE2ICAgNTAwNjAgICAwODM4NyAgIDM2MTI4ICAgNTAwNjIgICAwODM4NyAgIDM2NjQwCiswMDAwMWYwICAgNTAwNjQgICAwODM4NyAgIDM3MTUyICAgNTAwNjYgICAwODM4NyAgIDM3NjY0ICAgNTAwNjggICAwODM4NworMDAwMDIwMCAgIDM4MTc2ICAgNTAwNzAgICAwODM4NyAgIDM4Njg4ICAgNTAwNzIgICAwODM4NyAgIDM5MjAwICAgNTAwNzQKKzAwMDAyMTAgICAwODM4NyAgIDM5NzEyICAgNTAwNzYgICAwODM4NyAgIDQwMjI0ICAgNTAwNzggICAwODM4NyAgIDQwNzM2CiswMDAwMjIwICAgNTAwODAgICAwODM4NyAgIDQxMjQ4ICAgNTAwODIgICAwODM4NyAgIDQxNzYwICAgNTAwODQgICAwODM4NworMDAwMDIzMCAgIDQyMjcyICAgNTAwODYgICAwODM4NyAgIDQyNzg0ICAgNTAwODggICAwODM4NyAgIDQzMjk2ICAgNTAwOTAKKzAwMDAyNDAgICAwODM4NyAgIDQzODA4ICAgNTAwOTIgICAwODM4NyAgIDQ0MzIwICAgNTAwOTQgICAwODM4NyAgIDQ0ODMyCiswMDAwMjUwICAgNTAwOTYgICAwODM4NyAgIDQ1MzQ0ICAgNTAwOTggICAwODM4NyAgIDQ1ODU2ICAgNTAxMDAgICAwODM4NworMDAwMDI2MCAgIDQ2MzY4ICAgNTAxMDIgICAwODM4NyAgIDQ2ODgwICAgNTAxMDQgICAwODM4NyAgIDQ3MzkyICAgNTAxMDYKKzAwMDAyNzAgICAwODM4NyAgIDQ3OTA0ICAgNTAxMDggICAwODM4NyAgIDQ4NDE2ICAgNTAxMTAgICAwODM4NyAgIDQ4OTI4CiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNiBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy02Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE1Y2MxMGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtNgpAQCAtMCwwICsxIEBACitoZXhkdW1wOiBiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgX0wKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy03IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVjYzEwYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy03CkBAIC0wLDAgKzEgQEAKK2hleGR1bXA6IGJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciBfTApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTggYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy0yYl9kZWMtOApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNjJhNTU5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTgKQEAgLTAsMCArMSw0MSBAQAorMDAwMDAwMCAgIDA4MTkyICAgMDgxOTMgICAwODE5NCAgIDA4MTk1ICAgMDgxOTYgICAwODE5NyAgIDA4MTk4ICAgMDgxOTkKKzAwMDAwMTAgICAwODIwMCAgIDA4MjAxICAgMDgyMDIgICAwODIwMyAgIDA4MjA0ICAgMDgyMDUgICAwODIwNiAgIDA4MjA3CiswMDAwMDIwICAgMDgyMDggICAwODIwOSAgIDA4MjEwICAgMDgyMTEgICAwODIxMiAgIDA4MjEzICAgMDgyMTQgICAwODIxNQorMDAwMDAzMCAgIDA4MjE2ICAgMDgyMTcgICAwODIxOCAgIDA4MjE5ICAgMDgyMjAgICAwODIyMSAgIDA4MjIyICAgMDgyMjMKKzAwMDAwNDAgICAwODIyNCAgIDA4MjI1ICAgMDgyMjYgICAwODIyNyAgIDA4MjI4ICAgMDgyMjkgICAwODIzMCAgIDA4MjMxCiswMDAwMDUwICAgMDgyMzIgICAwODIzMyAgIDA4MjM0ICAgMDgyMzUgICAwODIzNiAgIDA4MjM3ICAgMDgyMzggICAwODIzOQorMDAwMDA2MCAgIDA4MjQwIBtbMzFtICAwODI0MRtbMG0gG1szMW0gIDA4MjQyG1swbSAbWzMxbSAgMDgyNDMbWzBtICAgMDgyNDQgICAwODI0NSAgIDA4MjQ2ICAgMDgyNDcKKzAwMDAwNzAgICAwODI0OCAgIDA4MjQ5ICAgMDgyNTAgICAwODI1MSAgIDA4MjUyICAgMDgyNTMgICAwODI1NCAgIDA4MjU1CiswMDAwMDgwICAgMDgyNTYgICAwODI1NyAgIDA4MjU4ICAgMDgyNTkgICAwODI2MCAgIDA4MjYxICAgMDgyNjIgICAwODI2MworMDAwMDA5MCAgIDA4MjY0ICAgMDgyNjUgICAwODI2NiAgIDA4MjY3ICAgMDgyNjggICAwODI2OSAgIDA4MjcwICAgMDgyNzEKKzAwMDAwYTAgICAwODI3MiAgIDA4MjczICAgMDgyNzQgICAwODI3NSAgIDA4Mjc2ICAgMDgyNzcgICAwODI3OCAgIDA4Mjc5CiswMDAwMGIwICAgMDgyODAgICAwODI4MSAgIDA4MjgyICAgMDgyODMgICAwODI4NCAgIDA4Mjg1ICAgMDgyODYgICAwODI4NworMDAwMDBjMCAgIDA4Mjg4ICAgMDgyODkgICAwODI5MCAgIDA4MjkxICAgMDgyOTIgICAwODI5MyAgIDA4Mjk0ICAgMDgyOTUKKzAwMDAwZDAgICAwODI5NiAgIDA4Mjk3ICAgMDgyOTggICAwODI5OSAgIDA4MzAwICAgMDgzMDEgICAwODMwMiAgIDA4MzAzCiswMDAwMGUwICAgMDgzMDQgICAwODMwNSAgIDA4MzA2ICAgMDgzMDcgICAwODMwOCAgIDA4MzA5ICAgMDgzMTAgICAwODMxMQorMDAwMDBmMCAgIDA4MzEyICAgMDgzMTMgICAwODMxNCAgIDA4MzE1ICAgMDgzMTYgICAwODMxNyAgIDA4MzE4ICAgMDgzMTkKKzAwMDAxMDAgICAzMjk2MiAgIDQ5Njk2ICAgMDgzMjEgICAzMzQ3NCAgIDQ5Njk2ICAgMDgzMjMgICAzMzk4NiAgIDQ5Njk2CiswMDAwMTEwICAgMDgzMjUgICAzNDQ5OCAgIDQ5Njk2ICAgMDgzMjcgICAzNTAxMCAgIDQ5Njk2ICAgMDgzMjkgICAzNTUyMgorMDAwMDEyMCAgIDQ5Njk2ICAgMDgzMzEgICAzNjAzNCAgIDQ5Njk2ICAgMDgzMzMgICAzNjU0NiAgIDQ5Njk2ICAgMDgzMzUKKzAwMDAxMzAgICAzNzA1OCAgIDQ5Njk2ICAgMDgzMzcgICAzNzU3MCAgIDQ5Njk2ICAgMDgzMzkgICAzODA4MiAgIDQ5Njk2CiswMDAwMTQwICAgMDgzNDEgICAzODU5NCAgIDQ5Njk2ICAgMDgzNDMgICAzOTEwNiAgIDQ5Njk2ICAgMDgzNDUgICAzOTYxOAorMDAwMDE1MCAgIDQ5Njk2ICAgMDgzNDcgICA0MDEzMCAgIDQ5Njk2ICAgMDgzNDkgICA0MDY0MiAgIDQ5Njk2ICAgMDgzNTEKKzAwMDAxNjAgICA0MTE1NCAgIDQ5Njk2ICAgMDgzNTMgICA0MTY2NiAgIDQ5Njk2ICAgMDgzNTUgICA0MjE3OCAgIDQ5Njk2CiswMDAwMTcwICAgMDgzNTcgICA0MjY5MCAgIDQ5Njk2ICAgMDgzNTkgICA0MzIwMiAgIDQ5Njk2ICAgMDgzNjEgICA0MzcxNAorMDAwMDE4MCAgIDQ5Njk2ICAgMDgzNjMgICA0NDIyNiAgIDQ5Njk2ICAgMDgzNjUgICA0NDczOCAgIDQ5Njk2ICAgMDgzNjcKKzAwMDAxOTAgICA0NTI1MCAgIDQ5Njk2ICAgMDgzNjkgICA0NTc2MiAgIDQ5Njk2ICAgMDgzNzEgICA0NjI3NCAgIDQ5Njk2CiswMDAwMWEwICAgMDgzNzMgICA0Njc4NiAgIDQ5Njk2ICAgMDgzNzUgICA0NzI5OCAgIDQ5Njk2ICAgMDgzNzcgICA0NzgxMAorMDAwMDFiMCAgIDQ5Njk2ICAgMDgzNzkgICA0ODMyMiAgIDQ5Njk2ICAgMDgzODEgICA0ODgzNCAgIDQ5Njk2ICAgMDgzODMKKzAwMDAxYzAgICAzMjk2MyAgIDQ5OTUyICAgMDgzMjEgICAzMzQ3NSAgIDQ5OTUyICAgMDgzMjMgICAzMzk4NyAgIDQ5OTUyCiswMDAwMWQwICAgMDgzMjUgICAzNDQ5OSAgIDQ5OTUyICAgMDgzMjcgICAzNTAxMSAgIDQ5OTUyICAgMDgzMjkgICAzNTUyMworMDAwMDFlMCAgIDQ5OTUyICAgMDgzMzEgICAzNjAzNSAgIDQ5OTUyICAgMDgzMzMgICAzNjU0NyAgIDQ5OTUyICAgMDgzMzUKKzAwMDAxZjAgICAzNzA1OSAgIDQ5OTUyICAgMDgzMzcgICAzNzU3MSAgIDQ5OTUyICAgMDgzMzkgICAzODA4MyAgIDQ5OTUyCiswMDAwMjAwICAgMDgzNDEgICAzODU5NSAgIDQ5OTUyICAgMDgzNDMgICAzOTEwNyAgIDQ5OTUyICAgMDgzNDUgICAzOTYxOQorMDAwMDIxMCAgIDQ5OTUyICAgMDgzNDcgICA0MDEzMSAgIDQ5OTUyICAgMDgzNDkgICA0MDY0MyAgIDQ5OTUyICAgMDgzNTEKKzAwMDAyMjAgICA0MTE1NSAgIDQ5OTUyICAgMDgzNTMgICA0MTY2NyAgIDQ5OTUyICAgMDgzNTUgICA0MjE3OSAgIDQ5OTUyCiswMDAwMjMwICAgMDgzNTcgICA0MjY5MSAgIDQ5OTUyICAgMDgzNTkgICA0MzIwMyAgIDQ5OTUyICAgMDgzNjEgICA0MzcxNQorMDAwMDI0MCAgIDQ5OTUyICAgMDgzNjMgICA0NDIyNyAgIDQ5OTUyICAgMDgzNjUgICA0NDczOSAgIDQ5OTUyICAgMDgzNjcKKzAwMDAyNTAgICA0NTI1MSAgIDQ5OTUyICAgMDgzNjkgICA0NTc2MyAgIDQ5OTUyICAgMDgzNzEgICA0NjI3NSAgIDQ5OTUyCiswMDAwMjYwICAgMDgzNzMgICA0Njc4NyAgIDQ5OTUyICAgMDgzNzUgICA0NzI5OSAgIDQ5OTUyICAgMDgzNzcgICA0NzgxMQorMDAwMDI3MCAgIDQ5OTUyICAgMDgzNzkgICA0ODMyMyAgIDQ5OTUyICAgMDgzODEgICA0ODgzNSAgIDQ5OTUyICAgMDgzODMKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy04LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctMmJfZGVjLTguQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmFlMTAyOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTJiX2RlYy04LkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAgICAwMDAzMiAgIDAwMjg4ICAgMDA1NDQgICAwMDgwMCAgIDAxMDU2ICAgMDEzMTIgICAwMTU2OCAgIDAxODI0CiswMDAwMDEwICAgMDIwODAgICAwMjMzNiAgIDAyNTkyICAgMDI4NDggICAwMzEwNCAgIDAzMzYwICAgMDM2MTYgICAwMzg3MgorMDAwMDAyMCAgIDA0MTI4ICAgMDQzODQgICAwNDY0MCAgIDA0ODk2ICAgMDUxNTIgICAwNTQwOCAgIDA1NjY0ICAgMDU5MjAKKzAwMDAwMzAgICAwNjE3NiAgIDA2NDMyICAgMDY2ODggICAwNjk0NCAgIDA3MjAwICAgMDc0NTYgICAwNzcxMiAgIDA3OTY4CiswMDAwMDQwICAgMDgyMjQgICAwODQ4MCAgIDA4NzM2ICAgMDg5OTIgICAwOTI0OCAgIDA5NTA0ICAgMDk3NjAgICAxMDAxNgorMDAwMDA1MCAgIDEwMjcyICAgMTA1MjggICAxMDc4NCAgIDExMDQwICAgMTEyOTYgICAxMTU1MiAgIDExODA4ICAgMTIwNjQKKzAwMDAwNjAgICAxMjMyMCAbWzMxbSAgMTI1NzYbWzBtIBtbMzFtICAxMjgzMhtbMG0gG1szMW0gIDEzMDg4G1swbSAgIDEzMzQ0ICAgMTM2MDAgICAxMzg1NiAgIDE0MTEyCiswMDAwMDcwICAgMTQzNjggICAxNDYyNCAgIDE0ODgwICAgMTUxMzYgICAxNTM5MiAgIDE1NjQ4ICAgMTU5MDQgICAxNjE2MAorMDAwMDA4MCAgIDE2NDE2ICAgMTY2NzIgICAxNjkyOCAgIDE3MTg0ICAgMTc0NDAgICAxNzY5NiAgIDE3OTUyICAgMTgyMDgKKzAwMDAwOTAgICAxODQ2NCAgIDE4NzIwICAgMTg5NzYgICAxOTIzMiAgIDE5NDg4ICAgMTk3NDQgICAyMDAwMCAgIDIwMjU2CiswMDAwMGEwICAgMjA1MTIgICAyMDc2OCAgIDIxMDI0ICAgMjEyODAgICAyMTUzNiAgIDIxNzkyICAgMjIwNDggICAyMjMwNAorMDAwMDBiMCAgIDIyNTYwICAgMjI4MTYgICAyMzA3MiAgIDIzMzI4ICAgMjM1ODQgICAyMzg0MCAgIDI0MDk2ICAgMjQzNTIKKzAwMDAwYzAgICAyNDYwOCAgIDI0ODY0ICAgMjUxMjAgICAyNTM3NiAgIDI1NjMyICAgMjU4ODggICAyNjE0NCAgIDI2NDAwCiswMDAwMGQwICAgMjY2NTYgICAyNjkxMiAgIDI3MTY4ICAgMjc0MjQgICAyNzY4MCAgIDI3OTM2ICAgMjgxOTIgICAyODQ0OAorMDAwMDBlMCAgIDI4NzA0ICAgMjg5NjAgICAyOTIxNiAgIDI5NDcyICAgMjk3MjggICAyOTk4NCAgIDMwMjQwICAgMzA0OTYKKzAwMDAwZjAgICAzMDc1MiAgIDMxMDA4ICAgMzEyNjQgICAzMTUyMCAgIDMxNzc2ICAgMzIwMzIgICAzMjI4OCAgIDMyNTQ0CiswMDAwMTAwICAgNDk3OTIgICAwODM4NiAgIDMzMDU2ICAgNDk3OTQgICAwODM4NiAgIDMzNTY4ICAgNDk3OTYgICAwODM4NgorMDAwMDExMCAgIDM0MDgwICAgNDk3OTggICAwODM4NiAgIDM0NTkyICAgNDk4MDAgICAwODM4NiAgIDM1MTA0ICAgNDk4MDIKKzAwMDAxMjAgICAwODM4NiAgIDM1NjE2ICAgNDk4MDQgICAwODM4NiAgIDM2MTI4ICAgNDk4MDYgICAwODM4NiAgIDM2NjQwCiswMDAwMTMwICAgNDk4MDggICAwODM4NiAgIDM3MTUyICAgNDk4MTAgICAwODM4NiAgIDM3NjY0ICAgNDk4MTIgICAwODM4NgorMDAwMDE0MCAgIDM4MTc2ICAgNDk4MTQgICAwODM4NiAgIDM4Njg4ICAgNDk4MTYgICAwODM4NiAgIDM5MjAwICAgNDk4MTgKKzAwMDAxNTAgICAwODM4NiAgIDM5NzEyICAgNDk4MjAgICAwODM4NiAgIDQwMjI0ICAgNDk4MjIgICAwODM4NiAgIDQwNzM2CiswMDAwMTYwICAgNDk4MjQgICAwODM4NiAgIDQxMjQ4ICAgNDk4MjYgICAwODM4NiAgIDQxNzYwICAgNDk4MjggICAwODM4NgorMDAwMDE3MCAgIDQyMjcyICAgNDk4MzAgICAwODM4NiAgIDQyNzg0ICAgNDk4MzIgICAwODM4NiAgIDQzMjk2ICAgNDk4MzQKKzAwMDAxODAgICAwODM4NiAgIDQzODA4ICAgNDk4MzYgICAwODM4NiAgIDQ0MzIwICAgNDk4MzggICAwODM4NiAgIDQ0ODMyCiswMDAwMTkwICAgNDk4NDAgICAwODM4NiAgIDQ1MzQ0ICAgNDk4NDIgICAwODM4NiAgIDQ1ODU2ICAgNDk4NDQgICAwODM4NgorMDAwMDFhMCAgIDQ2MzY4ICAgNDk4NDYgICAwODM4NiAgIDQ2ODgwICAgNDk4NDggICAwODM4NiAgIDQ3MzkyICAgNDk4NTAKKzAwMDAxYjAgICAwODM4NiAgIDQ3OTA0ICAgNDk4NTIgICAwODM4NiAgIDQ4NDE2ICAgNDk4NTQgICAwODM4NiAgIDQ4OTI4CiswMDAwMWMwICAgNTAwNDggICAwODM4NyAgIDMzMDU2ICAgNTAwNTAgICAwODM4NyAgIDMzNTY4ICAgNTAwNTIgICAwODM4NworMDAwMDFkMCAgIDM0MDgwICAgNTAwNTQgICAwODM4NyAgIDM0NTkyICAgNTAwNTYgICAwODM4NyAgIDM1MTA0ICAgNTAwNTgKKzAwMDAxZTAgICAwODM4NyAgIDM1NjE2ICAgNTAwNjAgICAwODM4NyAgIDM2MTI4ICAgNTAwNjIgICAwODM4NyAgIDM2NjQwCiswMDAwMWYwICAgNTAwNjQgICAwODM4NyAgIDM3MTUyICAgNTAwNjYgICAwODM4NyAgIDM3NjY0ICAgNTAwNjggICAwODM4NworMDAwMDIwMCAgIDM4MTc2ICAgNTAwNzAgICAwODM4NyAgIDM4Njg4ICAgNTAwNzIgICAwODM4NyAgIDM5MjAwICAgNTAwNzQKKzAwMDAyMTAgICAwODM4NyAgIDM5NzEyICAgNTAwNzYgICAwODM4NyAgIDQwMjI0ICAgNTAwNzggICAwODM4NyAgIDQwNzM2CiswMDAwMjIwICAgNTAwODAgICAwODM4NyAgIDQxMjQ4ICAgNTAwODIgICAwODM4NyAgIDQxNzYwICAgNTAwODQgICAwODM4NworMDAwMDIzMCAgIDQyMjcyICAgNTAwODYgICAwODM4NyAgIDQyNzg0ICAgNTAwODggICAwODM4NyAgIDQzMjk2ICAgNTAwOTAKKzAwMDAyNDAgICAwODM4NyAgIDQzODA4ICAgNTAwOTIgICAwODM4NyAgIDQ0MzIwICAgNTAwOTQgICAwODM4NyAgIDQ0ODMyCiswMDAwMjUwICAgNTAwOTYgICAwODM4NyAgIDQ1MzQ0ICAgNTAwOTggICAwODM4NyAgIDQ1ODU2ICAgNTAxMDAgICAwODM4NworMDAwMDI2MCAgIDQ2MzY4ICAgNTAxMDIgICAwODM4NyAgIDQ2ODgwICAgNTAxMDQgICAwODM4NyAgIDQ3MzkyICAgNTAxMDYKKzAwMDAyNzAgICAwODM4NyAgIDQ3OTA0ICAgNTAxMDggICAwODM4NyAgIDQ4NDE2ICAgNTAxMTAgICAwODM4NyAgIDQ4OTI4CiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1N2E3ZGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMQpAQCAtMCwwICsxLDIxIEBACiswMDAwMDAwICAgNTM2OTQ0NjQwICAgNTM3MDc1NzE0ICAgNTM3MjA2Nzg4ICAgNTM3MzM3ODYyICAgNTM3NDY4OTM2ICAgNTM3NjAwMDEwICAgNTM3NzMxMDg0ICAgNTM3ODYyMTU4CiswMDAwMDIwICAgNTM3OTkzMjMyICAgNTM4MTI0MzA2ICAgNTM4MjU1MzgwICAgNTM4Mzg2NDU0ICAgNTM4NTE3NTI4ICAgNTM4NjQ4NjAyICAgNTM4Nzc5Njc2ICAgNTM4OTEwNzUwCiswMDAwMDQwICAgNTM5MDQxODI0ICAgNTM5MTcyODk4ICAgNTM5MzAzOTcyICAgNTM5NDM1MDQ2ICAgNTM5NTY2MTIwICAgNTM5Njk3MTk0ICAgNTM5ODI4MjY4ICAgNTM5OTU5MzQyCiswMDAwMDYwIBtbMzFtICA1NDAwOTA0MTYbWzBtICAgNTQwMjIxNDkwICAgNTQwMzUyNTY0ICAgNTQwNDgzNjM4ICAgNTQwNjE0NzEyICAgNTQwNzQ1Nzg2ICAgNTQwODc2ODYwICAgNTQxMDA3OTM0CiswMDAwMDgwICAgNTQxMTM5MDA4ICAgNTQxMjcwMDgyICAgNTQxNDAxMTU2ICAgNTQxNTMyMjMwICAgNTQxNjYzMzA0ICAgNTQxNzk0Mzc4ICAgNTQxOTI1NDUyICAgNTQyMDU2NTI2CiswMDAwMGEwICAgNTQyMTg3NjAwICAgNTQyMzE4Njc0ICAgNTQyNDQ5NzQ4ICAgNTQyNTgwODIyICAgNTQyNzExODk2ICAgNTQyODQyOTcwICAgNTQyOTc0MDQ0ICAgNTQzMTA1MTE4CiswMDAwMGMwICAgNTQzMjM2MTkyICAgNTQzMzY3MjY2ICAgNTQzNDk4MzQwICAgNTQzNjI5NDE0ICAgNTQzNzYwNDg4ICAgNTQzODkxNTYyICAgNTQ0MDIyNjM2ICAgNTQ0MTUzNzEwCiswMDAwMGUwICAgNTQ0Mjg0Nzg0ICAgNTQ0NDE1ODU4ICAgNTQ0NTQ2OTMyICAgNTQ0Njc4MDA2ICAgNTQ0ODA5MDgwICAgNTQ0OTQwMTU0ICAgNTQ1MDcxMjI4ICAgNTQ1MjAyMzAyCiswMDAwMTAwICAgMzI1NjkxMDAxOCAgIDIxOTM3NjAzODUgICA1NDU1MDU4MjQgICAzMjU2OTExMDQyICAgMjI2MDg2OTI1MyAgIDU0NTc2Nzk2OCAgIDMyNTY5MTIwNjYgICAyMzI3OTc4MTIxCiswMDAwMTIwICAgNTQ2MDMwMTEyICAgMzI1NjkxMzA5MCAgIDIzOTUwODY5ODkgICA1NDYyOTIyNTYgICAzMjU2OTE0MTE0ICAgMjQ2MjE5NTg1NyAgIDU0NjU1NDQwMCAgIDMyNTY5MTUxMzgKKzAwMDAxNDAgICAyNTI5MzA0NzI1ICAgNTQ2ODE2NTQ0ICAgMzI1NjkxNjE2MiAgIDI1OTY0MTM1OTMgICA1NDcwNzg2ODggICAzMjU2OTE3MTg2ICAgMjY2MzUyMjQ2MSAgIDU0NzM0MDgzMgorMDAwMDE2MCAgIDMyNTY5MTgyMTAgICAyNzMwNjMxMzI5ICAgNTQ3NjAyOTc2ICAgMzI1NjkxOTIzNCAgIDI3OTc3NDAxOTcgICA1NDc4NjUxMjAgICAzMjU2OTIwMjU4ICAgMjg2NDg0OTA2NQorMDAwMDE4MCAgIDU0ODEyNzI2NCAgIDMyNTY5MjEyODIgICAyOTMxOTU3OTMzICAgNTQ4Mzg5NDA4ICAgMzI1NjkyMjMwNiAgIDI5OTkwNjY4MDEgICA1NDg2NTE1NTIgICAzMjU2OTIzMzMwCiswMDAwMWEwICAgMzA2NjE3NTY2OSAgIDU0ODkxMzY5NiAgIDMyNTY5MjQzNTQgICAzMTMzMjg0NTM3ICAgNTQ5MTc1ODQwICAgMzI1NjkyNTM3OCAgIDMyMDAzOTM0MDUgICA1NDk0Mzc5ODQKKzAwMDAxYzAgICAzMjczNjg3MjM1ICAgMjE5MzgyNTkyMSAgIDU0NTUwNjA4MCAgIDMyNzM2ODgyNTkgICAyMjYwOTM0Nzg5ICAgNTQ1NzY4MjI0ICAgMzI3MzY4OTI4MyAgIDIzMjgwNDM2NTcKKzAwMDAxZTAgICA1NDYwMzAzNjggICAzMjczNjkwMzA3ICAgMjM5NTE1MjUyNSAgIDU0NjI5MjUxMiAgIDMyNzM2OTEzMzEgICAyNDYyMjYxMzkzICAgNTQ2NTU0NjU2ICAgMzI3MzY5MjM1NQorMDAwMDIwMCAgIDI1MjkzNzAyNjEgICA1NDY4MTY4MDAgICAzMjczNjkzMzc5ICAgMjU5NjQ3OTEyOSAgIDU0NzA3ODk0NCAgIDMyNzM2OTQ0MDMgICAyNjYzNTg3OTk3ICAgNTQ3MzQxMDg4CiswMDAwMjIwICAgMzI3MzY5NTQyNyAgIDI3MzA2OTY4NjUgICA1NDc2MDMyMzIgICAzMjczNjk2NDUxICAgMjc5NzgwNTczMyAgIDU0Nzg2NTM3NiAgIDMyNzM2OTc0NzUgICAyODY0OTE0NjAxCiswMDAwMjQwICAgNTQ4MTI3NTIwICAgMzI3MzY5ODQ5OSAgIDI5MzIwMjM0NjkgICA1NDgzODk2NjQgICAzMjczNjk5NTIzICAgMjk5OTEzMjMzNyAgIDU0ODY1MTgwOCAgIDMyNzM3MDA1NDcKKzAwMDAyNjAgICAzMDY2MjQxMjA1ICAgNTQ4OTEzOTUyICAgMzI3MzcwMTU3MSAgIDMxMzMzNTAwNzMgICA1NDkxNzYwOTYgICAzMjczNzAyNTk1ICAgMzIwMDQ1ODk0MSAgIDU0OTQzODI0MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTEuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMS5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYTlhMjcxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTEuQkUKQEAgLTAsMCArMSwyMSBAQAorMDAwMDAwMCAgIDIwOTc0NDAgICAzNTY1MjM4NCAgIDY5MjA3MzI4ICAgMTAyNzYyMjcyICAgMTM2MzE3MjE2ICAgMTY5ODcyMTYwICAgMjAzNDI3MTA0ICAgMjM2OTgyMDQ4CiswMDAwMDIwICAgMjcwNTM2OTkyICAgMzA0MDkxOTM2ICAgMzM3NjQ2ODgwICAgMzcxMjAxODI0ICAgNDA0NzU2NzY4ICAgNDM4MzExNzEyICAgNDcxODY2NjU2ICAgNTA1NDIxNjAwCiswMDAwMDQwICAgNTM4OTc2NTQ0ICAgNTcyNTMxNDg4ICAgNjA2MDg2NDMyICAgNjM5NjQxMzc2ICAgNjczMTk2MzIwICAgNzA2NzUxMjY0ICAgNzQwMzA2MjA4ICAgNzczODYxMTUyCiswMDAwMDYwIBtbMzFtICA4MDc0MTYwOTYbWzBtICAgODQwOTcxMDQwICAgODc0NTI1OTg0ICAgOTA4MDgwOTI4ICAgOTQxNjM1ODcyICAgOTc1MTkwODE2ICAgMTAwODc0NTc2MCAgIDEwNDIzMDA3MDQKKzAwMDAwODAgICAxMDc1ODU1NjQ4ICAgMTEwOTQxMDU5MiAgIDExNDI5NjU1MzYgICAxMTc2NTIwNDgwICAgMTIxMDA3NTQyNCAgIDEyNDM2MzAzNjggICAxMjc3MTg1MzEyICAgMTMxMDc0MDI1NgorMDAwMDBhMCAgIDEzNDQyOTUyMDAgICAxMzc3ODUwMTQ0ICAgMTQxMTQwNTA4OCAgIDE0NDQ5NjAwMzIgICAxNDc4NTE0OTc2ICAgMTUxMjA2OTkyMCAgIDE1NDU2MjQ4NjQgICAxNTc5MTc5ODA4CiswMDAwMGMwICAgMTYxMjczNDc1MiAgIDE2NDYyODk2OTYgICAxNjc5ODQ0NjQwICAgMTcxMzM5OTU4NCAgIDE3NDY5NTQ1MjggICAxNzgwNTA5NDcyICAgMTgxNDA2NDQxNiAgIDE4NDc2MTkzNjAKKzAwMDAwZTAgICAxODgxMTc0MzA0ICAgMTkxNDcyOTI0OCAgIDE5NDgyODQxOTIgICAxOTgxODM5MTM2ICAgMjAxNTM5NDA4MCAgIDIwNDg5NDkwMjQgICAyMDgyNTAzOTY4ICAgMjExNjA1ODkxMgorMDAwMDEwMCAgIDMyNjMxNzY4OTggICAyMTY2NDA3ODEwICAgNTQ5NjE4NDY0ICAgMzI2MzQzOTA0MiAgIDIyMzM1MTY2NzggICA1NDk2MTk0ODggICAzMjYzNzAxMTg2ICAgMjMwMDYyNTU0NgorMDAwMDEyMCAgIDU0OTYyMDUxMiAgIDMyNjM5NjMzMzAgICAyMzY3NzM0NDE0ICAgNTQ5NjIxNTM2ICAgMzI2NDIyNTQ3NCAgIDI0MzQ4NDMyODIgICA1NDk2MjI1NjAgICAzMjY0NDg3NjE4CiswMDAwMTQwICAgMjUwMTk1MjE1MCAgIDU0OTYyMzU4NCAgIDMyNjQ3NDk3NjIgICAyNTY5MDYxMDE4ICAgNTQ5NjI0NjA4ICAgMzI2NTAxMTkwNiAgIDI2MzYxNjk4ODYgICA1NDk2MjU2MzIKKzAwMDAxNjAgICAzMjY1Mjc0MDUwICAgMjcwMzI3ODc1NCAgIDU0OTYyNjY1NiAgIDMyNjU1MzYxOTQgICAyNzcwMzg3NjIyICAgNTQ5NjI3NjgwICAgMzI2NTc5ODMzOCAgIDI4Mzc0OTY0OTAKKzAwMDAxODAgICA1NDk2Mjg3MDQgICAzMjY2MDYwNDgyICAgMjkwNDYwNTM1OCAgIDU0OTYyOTcyOCAgIDMyNjYzMjI2MjYgICAyOTcxNzE0MjI2ICAgNTQ5NjMwNzUyICAgMzI2NjU4NDc3MAorMDAwMDFhMCAgIDMwMzg4MjMwOTQgICA1NDk2MzE3NzYgICAzMjY2ODQ2OTE0ICAgMzEwNTkzMTk2MiAgIDU0OTYzMjgwMCAgIDMyNjcxMDkwNTggICAzMTczMDQwODMwICAgNTQ5NjMzODI0CiswMDAwMWMwICAgMzI3OTk1NDExNSAgIDIxNjY0MDgwNjYgICA1NDk2ODQwMDAgICAzMjgwMjE2MjU5ICAgMjIzMzUxNjkzNCAgIDU0OTY4NTAyNCAgIDMyODA0Nzg0MDMgICAyMzAwNjI1ODAyCiswMDAwMWUwICAgNTQ5Njg2MDQ4ICAgMzI4MDc0MDU0NyAgIDIzNjc3MzQ2NzAgICA1NDk2ODcwNzIgICAzMjgxMDAyNjkxICAgMjQzNDg0MzUzOCAgIDU0OTY4ODA5NiAgIDMyODEyNjQ4MzUKKzAwMDAyMDAgICAyNTAxOTUyNDA2ICAgNTQ5Njg5MTIwICAgMzI4MTUyNjk3OSAgIDI1NjkwNjEyNzQgICA1NDk2OTAxNDQgICAzMjgxNzg5MTIzICAgMjYzNjE3MDE0MiAgIDU0OTY5MTE2OAorMDAwMDIyMCAgIDMyODIwNTEyNjcgICAyNzAzMjc5MDEwICAgNTQ5NjkyMTkyICAgMzI4MjMxMzQxMSAgIDI3NzAzODc4NzggICA1NDk2OTMyMTYgICAzMjgyNTc1NTU1ICAgMjgzNzQ5Njc0NgorMDAwMDI0MCAgIDU0OTY5NDI0MCAgIDMyODI4Mzc2OTkgICAyOTA0NjA1NjE0ICAgNTQ5Njk1MjY0ICAgMzI4MzA5OTg0MyAgIDI5NzE3MTQ0ODIgICA1NDk2OTYyODggICAzMjgzMzYxOTg3CiswMDAwMjYwICAgMzAzODgyMzM1MCAgIDU0OTY5NzMxMiAgIDMyODM2MjQxMzEgICAzMTA1OTMyMjE4ICAgNTQ5Njk4MzM2ICAgMzI4Mzg4NjI3NSAgIDMxNzMwNDEwODYgICA1NDk2OTkzNjAKKzAwMDAyODAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0yIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU3YTdkYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0yCkBAIC0wLDAgKzEsMjEgQEAKKzAwMDAwMDAgICA1MzY5NDQ2NDAgICA1MzcwNzU3MTQgICA1MzcyMDY3ODggICA1MzczMzc4NjIgICA1Mzc0Njg5MzYgICA1Mzc2MDAwMTAgICA1Mzc3MzEwODQgICA1Mzc4NjIxNTgKKzAwMDAwMjAgICA1Mzc5OTMyMzIgICA1MzgxMjQzMDYgICA1MzgyNTUzODAgICA1MzgzODY0NTQgICA1Mzg1MTc1MjggICA1Mzg2NDg2MDIgICA1Mzg3Nzk2NzYgICA1Mzg5MTA3NTAKKzAwMDAwNDAgICA1MzkwNDE4MjQgICA1MzkxNzI4OTggICA1MzkzMDM5NzIgICA1Mzk0MzUwNDYgICA1Mzk1NjYxMjAgICA1Mzk2OTcxOTQgICA1Mzk4MjgyNjggICA1Mzk5NTkzNDIKKzAwMDAwNjAgG1szMW0gIDU0MDA5MDQxNhtbMG0gICA1NDAyMjE0OTAgICA1NDAzNTI1NjQgICA1NDA0ODM2MzggICA1NDA2MTQ3MTIgICA1NDA3NDU3ODYgICA1NDA4NzY4NjAgICA1NDEwMDc5MzQKKzAwMDAwODAgICA1NDExMzkwMDggICA1NDEyNzAwODIgICA1NDE0MDExNTYgICA1NDE1MzIyMzAgICA1NDE2NjMzMDQgICA1NDE3OTQzNzggICA1NDE5MjU0NTIgICA1NDIwNTY1MjYKKzAwMDAwYTAgICA1NDIxODc2MDAgICA1NDIzMTg2NzQgICA1NDI0NDk3NDggICA1NDI1ODA4MjIgICA1NDI3MTE4OTYgICA1NDI4NDI5NzAgICA1NDI5NzQwNDQgICA1NDMxMDUxMTgKKzAwMDAwYzAgICA1NDMyMzYxOTIgICA1NDMzNjcyNjYgICA1NDM0OTgzNDAgICA1NDM2Mjk0MTQgICA1NDM3NjA0ODggICA1NDM4OTE1NjIgICA1NDQwMjI2MzYgICA1NDQxNTM3MTAKKzAwMDAwZTAgICA1NDQyODQ3ODQgICA1NDQ0MTU4NTggICA1NDQ1NDY5MzIgICA1NDQ2NzgwMDYgICA1NDQ4MDkwODAgICA1NDQ5NDAxNTQgICA1NDUwNzEyMjggICA1NDUyMDIzMDIKKzAwMDAxMDAgICAzMjU2OTEwMDE4ICAgMjE5Mzc2MDM4NSAgIDU0NTUwNTgyNCAgIDMyNTY5MTEwNDIgICAyMjYwODY5MjUzICAgNTQ1NzY3OTY4ICAgMzI1NjkxMjA2NiAgIDIzMjc5NzgxMjEKKzAwMDAxMjAgICA1NDYwMzAxMTIgICAzMjU2OTEzMDkwICAgMjM5NTA4Njk4OSAgIDU0NjI5MjI1NiAgIDMyNTY5MTQxMTQgICAyNDYyMTk1ODU3ICAgNTQ2NTU0NDAwICAgMzI1NjkxNTEzOAorMDAwMDE0MCAgIDI1MjkzMDQ3MjUgICA1NDY4MTY1NDQgICAzMjU2OTE2MTYyICAgMjU5NjQxMzU5MyAgIDU0NzA3ODY4OCAgIDMyNTY5MTcxODYgICAyNjYzNTIyNDYxICAgNTQ3MzQwODMyCiswMDAwMTYwICAgMzI1NjkxODIxMCAgIDI3MzA2MzEzMjkgICA1NDc2MDI5NzYgICAzMjU2OTE5MjM0ICAgMjc5Nzc0MDE5NyAgIDU0Nzg2NTEyMCAgIDMyNTY5MjAyNTggICAyODY0ODQ5MDY1CiswMDAwMTgwICAgNTQ4MTI3MjY0ICAgMzI1NjkyMTI4MiAgIDI5MzE5NTc5MzMgICA1NDgzODk0MDggICAzMjU2OTIyMzA2ICAgMjk5OTA2NjgwMSAgIDU0ODY1MTU1MiAgIDMyNTY5MjMzMzAKKzAwMDAxYTAgICAzMDY2MTc1NjY5ICAgNTQ4OTEzNjk2ICAgMzI1NjkyNDM1NCAgIDMxMzMyODQ1MzcgICA1NDkxNzU4NDAgICAzMjU2OTI1Mzc4ICAgMzIwMDM5MzQwNSAgIDU0OTQzNzk4NAorMDAwMDFjMCAgIDMyNzM2ODcyMzUgICAyMTkzODI1OTIxICAgNTQ1NTA2MDgwICAgMzI3MzY4ODI1OSAgIDIyNjA5MzQ3ODkgICA1NDU3NjgyMjQgICAzMjczNjg5MjgzICAgMjMyODA0MzY1NworMDAwMDFlMCAgIDU0NjAzMDM2OCAgIDMyNzM2OTAzMDcgICAyMzk1MTUyNTI1ICAgNTQ2MjkyNTEyICAgMzI3MzY5MTMzMSAgIDI0NjIyNjEzOTMgICA1NDY1NTQ2NTYgICAzMjczNjkyMzU1CiswMDAwMjAwICAgMjUyOTM3MDI2MSAgIDU0NjgxNjgwMCAgIDMyNzM2OTMzNzkgICAyNTk2NDc5MTI5ICAgNTQ3MDc4OTQ0ICAgMzI3MzY5NDQwMyAgIDI2NjM1ODc5OTcgICA1NDczNDEwODgKKzAwMDAyMjAgICAzMjczNjk1NDI3ICAgMjczMDY5Njg2NSAgIDU0NzYwMzIzMiAgIDMyNzM2OTY0NTEgICAyNzk3ODA1NzMzICAgNTQ3ODY1Mzc2ICAgMzI3MzY5NzQ3NSAgIDI4NjQ5MTQ2MDEKKzAwMDAyNDAgICA1NDgxMjc1MjAgICAzMjczNjk4NDk5ICAgMjkzMjAyMzQ2OSAgIDU0ODM4OTY2NCAgIDMyNzM2OTk1MjMgICAyOTk5MTMyMzM3ICAgNTQ4NjUxODA4ICAgMzI3MzcwMDU0NworMDAwMDI2MCAgIDMwNjYyNDEyMDUgICA1NDg5MTM5NTIgICAzMjczNzAxNTcxICAgMzEzMzM1MDA3MyAgIDU0OTE3NjA5NiAgIDMyNzM3MDI1OTUgICAzMjAwNDU4OTQxICAgNTQ5NDM4MjQwCiswMDAwMjgwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMi5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0yLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhOWEyNzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMi5CRQpAQCAtMCwwICsxLDIxIEBACiswMDAwMDAwICAgMjA5NzQ0MCAgIDM1NjUyMzg0ICAgNjkyMDczMjggICAxMDI3NjIyNzIgICAxMzYzMTcyMTYgICAxNjk4NzIxNjAgICAyMDM0MjcxMDQgICAyMzY5ODIwNDgKKzAwMDAwMjAgICAyNzA1MzY5OTIgICAzMDQwOTE5MzYgICAzMzc2NDY4ODAgICAzNzEyMDE4MjQgICA0MDQ3NTY3NjggICA0MzgzMTE3MTIgICA0NzE4NjY2NTYgICA1MDU0MjE2MDAKKzAwMDAwNDAgICA1Mzg5NzY1NDQgICA1NzI1MzE0ODggICA2MDYwODY0MzIgICA2Mzk2NDEzNzYgICA2NzMxOTYzMjAgICA3MDY3NTEyNjQgICA3NDAzMDYyMDggICA3NzM4NjExNTIKKzAwMDAwNjAgG1szMW0gIDgwNzQxNjA5NhtbMG0gICA4NDA5NzEwNDAgICA4NzQ1MjU5ODQgICA5MDgwODA5MjggICA5NDE2MzU4NzIgICA5NzUxOTA4MTYgICAxMDA4NzQ1NzYwICAgMTA0MjMwMDcwNAorMDAwMDA4MCAgIDEwNzU4NTU2NDggICAxMTA5NDEwNTkyICAgMTE0Mjk2NTUzNiAgIDExNzY1MjA0ODAgICAxMjEwMDc1NDI0ICAgMTI0MzYzMDM2OCAgIDEyNzcxODUzMTIgICAxMzEwNzQwMjU2CiswMDAwMGEwICAgMTM0NDI5NTIwMCAgIDEzNzc4NTAxNDQgICAxNDExNDA1MDg4ICAgMTQ0NDk2MDAzMiAgIDE0Nzg1MTQ5NzYgICAxNTEyMDY5OTIwICAgMTU0NTYyNDg2NCAgIDE1NzkxNzk4MDgKKzAwMDAwYzAgICAxNjEyNzM0NzUyICAgMTY0NjI4OTY5NiAgIDE2Nzk4NDQ2NDAgICAxNzEzMzk5NTg0ICAgMTc0Njk1NDUyOCAgIDE3ODA1MDk0NzIgICAxODE0MDY0NDE2ICAgMTg0NzYxOTM2MAorMDAwMDBlMCAgIDE4ODExNzQzMDQgICAxOTE0NzI5MjQ4ICAgMTk0ODI4NDE5MiAgIDE5ODE4MzkxMzYgICAyMDE1Mzk0MDgwICAgMjA0ODk0OTAyNCAgIDIwODI1MDM5NjggICAyMTE2MDU4OTEyCiswMDAwMTAwICAgMzI2MzE3Njg5OCAgIDIxNjY0MDc4MTAgICA1NDk2MTg0NjQgICAzMjYzNDM5MDQyICAgMjIzMzUxNjY3OCAgIDU0OTYxOTQ4OCAgIDMyNjM3MDExODYgICAyMzAwNjI1NTQ2CiswMDAwMTIwICAgNTQ5NjIwNTEyICAgMzI2Mzk2MzMzMCAgIDIzNjc3MzQ0MTQgICA1NDk2MjE1MzYgICAzMjY0MjI1NDc0ICAgMjQzNDg0MzI4MiAgIDU0OTYyMjU2MCAgIDMyNjQ0ODc2MTgKKzAwMDAxNDAgICAyNTAxOTUyMTUwICAgNTQ5NjIzNTg0ICAgMzI2NDc0OTc2MiAgIDI1NjkwNjEwMTggICA1NDk2MjQ2MDggICAzMjY1MDExOTA2ICAgMjYzNjE2OTg4NiAgIDU0OTYyNTYzMgorMDAwMDE2MCAgIDMyNjUyNzQwNTAgICAyNzAzMjc4NzU0ICAgNTQ5NjI2NjU2ICAgMzI2NTUzNjE5NCAgIDI3NzAzODc2MjIgICA1NDk2Mjc2ODAgICAzMjY1Nzk4MzM4ICAgMjgzNzQ5NjQ5MAorMDAwMDE4MCAgIDU0OTYyODcwNCAgIDMyNjYwNjA0ODIgICAyOTA0NjA1MzU4ICAgNTQ5NjI5NzI4ICAgMzI2NjMyMjYyNiAgIDI5NzE3MTQyMjYgICA1NDk2MzA3NTIgICAzMjY2NTg0NzcwCiswMDAwMWEwICAgMzAzODgyMzA5NCAgIDU0OTYzMTc3NiAgIDMyNjY4NDY5MTQgICAzMTA1OTMxOTYyICAgNTQ5NjMyODAwICAgMzI2NzEwOTA1OCAgIDMxNzMwNDA4MzAgICA1NDk2MzM4MjQKKzAwMDAxYzAgICAzMjc5OTU0MTE1ICAgMjE2NjQwODA2NiAgIDU0OTY4NDAwMCAgIDMyODAyMTYyNTkgICAyMjMzNTE2OTM0ICAgNTQ5Njg1MDI0ICAgMzI4MDQ3ODQwMyAgIDIzMDA2MjU4MDIKKzAwMDAxZTAgICA1NDk2ODYwNDggICAzMjgwNzQwNTQ3ICAgMjM2NzczNDY3MCAgIDU0OTY4NzA3MiAgIDMyODEwMDI2OTEgICAyNDM0ODQzNTM4ICAgNTQ5Njg4MDk2ICAgMzI4MTI2NDgzNQorMDAwMDIwMCAgIDI1MDE5NTI0MDYgICA1NDk2ODkxMjAgICAzMjgxNTI2OTc5ICAgMjU2OTA2MTI3NCAgIDU0OTY5MDE0NCAgIDMyODE3ODkxMjMgICAyNjM2MTcwMTQyICAgNTQ5NjkxMTY4CiswMDAwMjIwICAgMzI4MjA1MTI2NyAgIDI3MDMyNzkwMTAgICA1NDk2OTIxOTIgICAzMjgyMzEzNDExICAgMjc3MDM4Nzg3OCAgIDU0OTY5MzIxNiAgIDMyODI1NzU1NTUgICAyODM3NDk2NzQ2CiswMDAwMjQwICAgNTQ5Njk0MjQwICAgMzI4MjgzNzY5OSAgIDI5MDQ2MDU2MTQgICA1NDk2OTUyNjQgICAzMjgzMDk5ODQzICAgMjk3MTcxNDQ4MiAgIDU0OTY5NjI4OCAgIDMyODMzNjE5ODcKKzAwMDAyNjAgICAzMDM4ODIzMzUwICAgNTQ5Njk3MzEyICAgMzI4MzYyNDEzMSAgIDMxMDU5MzIyMTggICA1NDk2OTgzMzYgICAzMjgzODg2Mjc1ICAgMzE3MzA0MTA4NiAgIDU0OTY5OTM2MAorMDAwMDI4MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTMgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDE4ZmM4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTMKQEAgLTAsMCArMSwyIEBACiswMDAwMDAwIBtbMzFtICAxMDc3OTUyNTc2G1swbSAgIDAwMDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiswMDAwMDA1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMy5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy0zLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NDA3Y2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtMy5CRQpAQCAtMCwwICsxLDIgQEAKKzAwMDAwMDAgG1szMW0gIDEwNzc5NTI1NzYbWzBtICAgMTY3NzcyMTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiswMDAwMDA1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNCBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy00Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkMThmYzgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNApAQCAtMCwwICsxLDIgQEAKKzAwMDAwMDAgG1szMW0gIDEwNzc5NTI1NzYbWzBtICAgMDAwMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzAwMDAwMDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy00LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTQuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDk0MDdjYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy00LkJFCkBAIC0wLDAgKzEsMiBAQAorMDAwMDAwMCAbWzMxbSAgMTA3Nzk1MjU3NhtbMG0gICAxNjc3NzIxNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzAwMDAwMDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy01IGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVjYzEwYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy01CkBAIC0wLDAgKzEgQEAKK2hleGR1bXA6IGJhZCBieXRlIGNvdW50IGZvciBjb252ZXJzaW9uIGNoYXJhY3RlciBfTApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTYgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ZDE4ZmM4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTYKQEAgLTAsMCArMSwyIEBACiswMDAwMDAwIBtbMzFtICAxMDc3OTUyNTc2G1swbSAgIDAwMDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiswMDAwMDA1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNi5CRSBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy02LkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5NDA3Y2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNi5CRQpAQCAtMCwwICsxLDIgQEAKKzAwMDAwMDAgG1szMW0gIDEwNzc5NTI1NzYbWzBtICAgMTY3NzcyMTYwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiswMDAwMDA1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy03Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwZTQzODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy00Yl9kZWMtNwpAQCAtMCwwICsxLDIgQEAKKzAwMDAwMDAgICAxMDc3OTUyNTc2ICAgMDAwMTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzAwMDAwMDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy03LkJFIGIvdGVzdHMvZXhwZWN0ZWQvaGV4ZHVtcC9oaWdobGlnaHRpbmctNGJfZGVjLTcuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI4NzgxMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLTRiX2RlYy03LkJFCkBAIC0wLDAgKzEsMiBAQAorMDAwMDAwMCAgIDEwNzc5NTI1NzYgICAxNjc3NzIxNjAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKKzAwMDAwMDUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTEgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy1jYW5vbi0xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllY2MzNTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy1jYW5vbi0xCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAwICAbWzM0bTAwG1swbSAbWzMzbTIwG1swbSAwMSAbWzMzbTIwG1swbSAwMiAbWzMzbTIwG1swbSAwMyAbWzMzbTIwG1swbSAgMDQgG1szM20yMBtbMG0gMDUgG1szM20yMBtbMG0gMDYgG1szM20yMBtbMG0gMDcgG1szM20yMBtbMG0gIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAwMTAgIDA4IBtbMzNtMjAbWzBtIDA5IBtbMzNtMjAbWzBtIDBhIBtbMzNtMjAbWzBtIDBiIBtbMzNtMjAbWzBtICAwYyAbWzMzbTIwG1swbSAwZCAbWzMzbTIwG1swbSAwZSAbWzMzbTIwG1swbSAwZiAbWzMzbTIwG1swbSAgfBtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDAyMCAgMTAgG1szM20yMBtbMG0gMTEgG1szM20yMBtbMG0gMTIgG1szM20yMBtbMG0gMTMgG1szM20yMBtbMG0gIDE0IBtbMzNtMjAbWzBtIDE1IBtbMzNtMjAbWzBtIDE2IBtbMzNtMjAbWzBtIDE3IBtbMzNtMjAbWzBtICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbXwKKzAwMDAwMDMwICAxOCAbWzMzbTIwG1swbSAxOSAbWzMzbTIwG1swbSAxYSAbWzMzbTIwG1swbSAxYiAbWzMzbTIwG1swbSAgMWMgG1szM20yMBtbMG0gMWQgG1szM20yMBtbMG0gMWUgG1szM20yMBtbMG0gMWYgG1szM20yMBtbMG0gIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAwNDAgIBtbMzNtMjAbWzBtIBtbMzNtMjAbWzBtIDIxIBtbMzNtMjAbWzBtIDIyIBtbMzNtMjAbWzBtIDIzIBtbMzNtMjAbWzBtICAyNCAbWzMzbTIwG1swbSAyNSAbWzMzbTIwG1swbSAyNiAbWzMzbTIwG1swbSAyNyAbWzMzbTIwG1swbSAgfBtbMzZtIBtbMG0bWzM2bSAbWzBtG1szNm0hG1swbRtbMzZtIBtbMG0bWzM2bSIbWzBtG1szNm0gG1swbRtbMzZtIxtbMG0bWzM2bSAbWzBtG1szNm0kG1swbRtbMzZtIBtbMG0bWzM2bSUbWzBtG1szNm0gG1swbRtbMzZtJhtbMG0bWzM2bSAbWzBtG1szNm0nG1swbRtbMzZtIBtbMG18CiswMDAwMDA1MCAgMjggG1szM20yMBtbMG0gMjkgG1szM20yMBtbMG0gMmEgG1szM20yMBtbMG0gMmIgG1szM20yMBtbMG0gIDJjIBtbMzNtMjAbWzBtIDJkIBtbMzNtMjAbWzBtIDJlIBtbMzNtMjAbWzBtIDJmIBtbMzNtMjAbWzBtICB8G1szNm0oG1swbRtbMzZtIBtbMG0bWzM2bSkbWzBtG1szNm0gG1swbRtbMzZtKhtbMG0bWzM2bSAbWzBtG1szNm0rG1swbRtbMzZtIBtbMG0bWzM2bSwbWzBtG1szNm0gG1swbRtbMzZtLRtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS8bWzBtG1szNm0gG1swbXwKKzAwMDAwMDYwICAzMCAbWzMzbTIwG1swbSAzMSAbWzMzbTIwG1swbSAzMiAbWzMzbTIwG1swbSAzMyAbWzMzbTIwG1swbSAgMzQgG1szM20yMBtbMG0gMzUgG1szM20yMBtbMG0gMzYgG1szM20yMBtbMG0gMzcgG1szM20yMBtbMG0gIHwbWzM2bTAbWzBtG1szNm0gG1swbRtbMzZtMRtbMG0bWzM2bSAbWzBtG1szNm0yG1swbRtbMzZtIBtbMG0bWzM2bTMbWzBtG1szNm0gG1swbRtbMzZtNBtbMG0bWzM2bSAbWzBtG1szNm01G1swbRtbMzZtIBtbMG0bWzM2bTYbWzBtG1szNm0gG1swbRtbMzZtNxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwNzAgIDM4IBtbMzNtMjAbWzBtIDM5IBtbMzNtMjAbWzBtIDNhIBtbMzNtMjAbWzBtIDNiIBtbMzNtMjAbWzBtICAzYyAbWzMzbTIwG1swbSAzZCAbWzMzbTIwG1swbSAzZSAbWzMzbTIwG1swbSAzZiAbWzMzbTIwG1swbSAgfBtbMzZtOBtbMG0bWzM2bSAbWzBtG1szNm05G1swbRtbMzZtIBtbMG0bWzM2bTobWzBtG1szNm0gG1swbRtbMzZtOxtbMG0bWzM2bSAbWzBtG1szNm08G1swbRtbMzZtIBtbMG0bWzM2bT0bWzBtG1szNm0gG1swbRtbMzZtPhtbMG0bWzM2bSAbWzBtG1szNm0/G1swbRtbMzZtIBtbMG18CiswMDAwMDA4MCAgNDAgG1szM20yMBtbMG0gNDEgG1szM20yMBtbMG0gNDIgG1szM20yMBtbMG0gNDMgG1szM20yMBtbMG0gIDQ0IBtbMzNtMjAbWzBtIDQ1IBtbMzNtMjAbWzBtIDQ2IBtbMzNtMjAbWzBtIDQ3IBtbMzNtMjAbWzBtICB8G1szNm1AG1swbRtbMzZtIBtbMG0bWzM2bUEbWzBtG1szNm0gG1swbRtbMzZtQhtbMG0bWzM2bSAbWzBtG1szNm1DG1swbRtbMzZtIBtbMG0bWzM2bUQbWzBtG1szNm0gG1swbRtbMzZtRRtbMG0bWzM2bSAbWzBtG1szNm1GG1swbRtbMzZtIBtbMG0bWzM2bUcbWzBtG1szNm0gG1swbXwKKzAwMDAwMDkwICA0OCAbWzMzbTIwG1swbSA0OSAbWzMzbTIwG1swbSA0YSAbWzMzbTIwG1swbSA0YiAbWzMzbTIwG1swbSAgNGMgG1szM20yMBtbMG0gNGQgG1szM20yMBtbMG0gNGUgG1szM20yMBtbMG0gNGYgG1szM20yMBtbMG0gIHwbWzM2bUgbWzBtG1szNm0gG1swbRtbMzZtSRtbMG0bWzM2bSAbWzBtG1szNm1KG1swbRtbMzZtIBtbMG0bWzM2bUsbWzBtG1szNm0gG1swbRtbMzZtTBtbMG0bWzM2bSAbWzBtG1szNm1NG1swbRtbMzZtIBtbMG0bWzM2bU4bWzBtG1szNm0gG1swbRtbMzZtTxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwYTAgIDUwIBtbMzNtMjAbWzBtIDUxIBtbMzNtMjAbWzBtIDUyIBtbMzNtMjAbWzBtIDUzIBtbMzNtMjAbWzBtICA1NCAbWzMzbTIwG1swbSA1NSAbWzMzbTIwG1swbSA1NiAbWzMzbTIwG1swbSA1NyAbWzMzbTIwG1swbSAgfBtbMzZtUBtbMG0bWzM2bSAbWzBtG1szNm1RG1swbRtbMzZtIBtbMG0bWzM2bVIbWzBtG1szNm0gG1swbRtbMzZtUxtbMG0bWzM2bSAbWzBtG1szNm1UG1swbRtbMzZtIBtbMG0bWzM2bVUbWzBtG1szNm0gG1swbRtbMzZtVhtbMG0bWzM2bSAbWzBtG1szNm1XG1swbRtbMzZtIBtbMG18CiswMDAwMDBiMCAgNTggG1szM20yMBtbMG0gNTkgG1szM20yMBtbMG0gNWEgG1szM20yMBtbMG0gNWIgG1szM20yMBtbMG0gIDVjIBtbMzNtMjAbWzBtIDVkIBtbMzNtMjAbWzBtIDVlIBtbMzNtMjAbWzBtIDVmIBtbMzNtMjAbWzBtICB8G1szNm1YG1swbRtbMzZtIBtbMG0bWzM2bVkbWzBtG1szNm0gG1swbRtbMzZtWhtbMG0bWzM2bSAbWzBtG1szNm1bG1swbRtbMzZtIBtbMG0bWzM2bVwbWzBtG1szNm0gG1swbRtbMzZtXRtbMG0bWzM2bSAbWzBtG1szNm1eG1swbRtbMzZtIBtbMG0bWzM2bV8bWzBtG1szNm0gG1swbXwKKzAwMDAwMGMwICA2MCAbWzMzbTIwG1swbSA2MSAbWzMzbTIwG1swbSA2MiAbWzMzbTIwG1swbSA2MyAbWzMzbTIwG1swbSAgNjQgG1szM20yMBtbMG0gNjUgG1szM20yMBtbMG0gNjYgG1szM20yMBtbMG0gNjcgG1szM20yMBtbMG0gIHwbWzM2bWAbWzBtG1szNm0gG1swbRtbMzZtYRtbMG0bWzM2bSAbWzBtG1szNm1iG1swbRtbMzZtIBtbMG0bWzM2bWMbWzBtG1szNm0gG1swbRtbMzZtZBtbMG0bWzM2bSAbWzBtG1szNm1lG1swbRtbMzZtIBtbMG0bWzM2bWYbWzBtG1szNm0gG1swbRtbMzZtZxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwZDAgIDY4IBtbMzNtMjAbWzBtIDY5IBtbMzNtMjAbWzBtIDZhIBtbMzNtMjAbWzBtIDZiIBtbMzNtMjAbWzBtICA2YyAbWzMzbTIwG1swbSA2ZCAbWzMzbTIwG1swbSA2ZSAbWzMzbTIwG1swbSA2ZiAbWzMzbTIwG1swbSAgfBtbMzZtaBtbMG0bWzM2bSAbWzBtG1szNm1pG1swbRtbMzZtIBtbMG0bWzM2bWobWzBtG1szNm0gG1swbRtbMzZtaxtbMG0bWzM2bSAbWzBtG1szNm1sG1swbRtbMzZtIBtbMG0bWzM2bW0bWzBtG1szNm0gG1swbRtbMzZtbhtbMG0bWzM2bSAbWzBtG1szNm1vG1swbRtbMzZtIBtbMG18CiswMDAwMDBlMCAgNzAgG1szM20yMBtbMG0gNzEgG1szM20yMBtbMG0gNzIgG1szM20yMBtbMG0gNzMgG1szM20yMBtbMG0gIDc0IBtbMzNtMjAbWzBtIDc1IBtbMzNtMjAbWzBtIDc2IBtbMzNtMjAbWzBtIDc3IBtbMzNtMjAbWzBtICB8G1szNm1wG1swbRtbMzZtIBtbMG0bWzM2bXEbWzBtG1szNm0gG1swbRtbMzZtchtbMG0bWzM2bSAbWzBtG1szNm1zG1swbRtbMzZtIBtbMG0bWzM2bXQbWzBtG1szNm0gG1swbRtbMzZtdRtbMG0bWzM2bSAbWzBtG1szNm12G1swbRtbMzZtIBtbMG0bWzM2bXcbWzBtG1szNm0gG1swbXwKKzAwMDAwMGYwICA3OCAbWzMzbTIwG1swbSA3OSAbWzMzbTIwG1swbSA3YSAbWzMzbTIwG1swbSA3YiAbWzMzbTIwG1swbSAgN2MgG1szM20yMBtbMG0gN2QgG1szM20yMBtbMG0gN2UgG1szM20yMBtbMG0gN2YgG1szM20yMBtbMG0gIHwbWzM2bXgbWzBtG1szNm0gG1swbRtbMzZteRtbMG0bWzM2bSAbWzBtG1szNm16G1swbRtbMzZtIBtbMG0bWzM2bXsbWzBtG1szNm0gG1swbRtbMzZtfBtbMG0bWzM2bSAbWzBtG1szNm19G1swbRtbMzZtIBtbMG0bWzM2bX4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxMDAgIGMyIDgwIBtbMzNtMjAbWzBtIGMyIDgxIBtbMzNtMjAbWzBtIGMyIDgyICAbWzMzbTIwG1swbSBjMiA4MyAbWzMzbTIwG1swbSBjMiA4NCAbWzMzbTIwG1swbSBjMiAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDExMCAgODUgG1szM20yMBtbMG0gYzIgODYgG1szM20yMBtbMG0gYzIgODcgG1szM20yMBtbMG0gIGMyIDg4IBtbMzNtMjAbWzBtIGMyIDg5IBtbMzNtMjAbWzBtIGMyIDhhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMTIwICAbWzMzbTIwG1swbSBjMiA4YiAbWzMzbTIwG1swbSBjMiA4YyAbWzMzbTIwG1swbSBjMiAgOGQgG1szM20yMBtbMG0gYzIgOGUgG1szM20yMBtbMG0gYzIgOGYgG1szM20yMBtbMG0gIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxMzAgIGMyIDkwIBtbMzNtMjAbWzBtIGMyIDkxIBtbMzNtMjAbWzBtIGMyIDkyICAbWzMzbTIwG1swbSBjMiA5MyAbWzMzbTIwG1swbSBjMiA5NCAbWzMzbTIwG1swbSBjMiAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDE0MCAgOTUgG1szM20yMBtbMG0gYzIgOTYgG1szM20yMBtbMG0gYzIgOTcgG1szM20yMBtbMG0gIGMyIDk4IBtbMzNtMjAbWzBtIGMyIDk5IBtbMzNtMjAbWzBtIGMyIDlhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMTUwICAbWzMzbTIwG1swbSBjMiA5YiAbWzMzbTIwG1swbSBjMiA5YyAbWzMzbTIwG1swbSBjMiAgOWQgG1szM20yMBtbMG0gYzIgOWUgG1szM20yMBtbMG0gYzIgOWYgG1szM20yMBtbMG0gIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxNjAgIGMyIGEwIBtbMzNtMjAbWzBtIGMyIGExIBtbMzNtMjAbWzBtIGMyIGEyICAbWzMzbTIwG1swbSBjMiBhMyAbWzMzbTIwG1swbSBjMiBhNCAbWzMzbTIwG1swbSBjMiAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDE3MCAgYTUgG1szM20yMBtbMG0gYzIgYTYgG1szM20yMBtbMG0gYzIgYTcgG1szM20yMBtbMG0gIGMyIGE4IBtbMzNtMjAbWzBtIGMyIGE5IBtbMzNtMjAbWzBtIGMyIGFhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMTgwICAbWzMzbTIwG1swbSBjMiBhYiAbWzMzbTIwG1swbSBjMiBhYyAbWzMzbTIwG1swbSBjMiAgYWQgG1szM20yMBtbMG0gYzIgYWUgG1szM20yMBtbMG0gYzIgYWYgG1szM20yMBtbMG0gIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxOTAgIGMyIGIwIBtbMzNtMjAbWzBtIGMyIGIxIBtbMzNtMjAbWzBtIGMyIGIyICAbWzMzbTIwG1swbSBjMiBiMyAbWzMzbTIwG1swbSBjMiBiNCAbWzMzbTIwG1swbSBjMiAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDFhMCAgYjUgG1szM20yMBtbMG0gYzIgYjYgG1szM20yMBtbMG0gYzIgYjcgG1szM20yMBtbMG0gIGMyIGI4IBtbMzNtMjAbWzBtIGMyIGI5IBtbMzNtMjAbWzBtIGMyIGJhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMWIwICAbWzMzbTIwG1swbSBjMiBiYiAbWzMzbTIwG1swbSBjMiBiYyAbWzMzbTIwG1swbSBjMiAgYmQgG1szM20yMBtbMG0gYzIgYmUgG1szM20yMBtbMG0gYzIgYmYgG1szM20yMBtbMG0gIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxYzAgIGMzIDgwIBtbMzNtMjAbWzBtIGMzIDgxIBtbMzNtMjAbWzBtIGMzIDgyICAbWzMzbTIwG1swbSBjMyA4MyAbWzMzbTIwG1swbSBjMyA4NCAbWzMzbTIwG1swbSBjMyAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDFkMCAgODUgG1szM20yMBtbMG0gYzMgODYgG1szM20yMBtbMG0gYzMgODcgG1szM20yMBtbMG0gIGMzIDg4IBtbMzNtMjAbWzBtIGMzIDg5IBtbMzNtMjAbWzBtIGMzIDhhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMWUwICAbWzMzbTIwG1swbSBjMyA4YiAbWzMzbTIwG1swbSBjMyA4YyAbWzMzbTIwG1swbSBjMyAgOGQgG1szM20yMBtbMG0gYzMgOGUgG1szM20yMBtbMG0gYzMgOGYgG1szM20yMBtbMG0gIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxZjAgIGMzIDkwIBtbMzNtMjAbWzBtIGMzIDkxIBtbMzNtMjAbWzBtIGMzIDkyICAbWzMzbTIwG1swbSBjMyA5MyAbWzMzbTIwG1swbSBjMyA5NCAbWzMzbTIwG1swbSBjMyAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDIwMCAgOTUgG1szM20yMBtbMG0gYzMgOTYgG1szM20yMBtbMG0gYzMgOTcgG1szM20yMBtbMG0gIGMzIDk4IBtbMzNtMjAbWzBtIGMzIDk5IBtbMzNtMjAbWzBtIGMzIDlhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMjEwICAbWzMzbTIwG1swbSBjMyA5YiAbWzMzbTIwG1swbSBjMyA5YyAbWzMzbTIwG1swbSBjMyAgOWQgG1szM20yMBtbMG0gYzMgOWUgG1szM20yMBtbMG0gYzMgOWYgG1szM20yMBtbMG0gIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAyMjAgIGMzIGEwIBtbMzNtMjAbWzBtIGMzIGExIBtbMzNtMjAbWzBtIGMzIGEyICAbWzMzbTIwG1swbSBjMyBhMyAbWzMzbTIwG1swbSBjMyBhNCAbWzMzbTIwG1swbSBjMyAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDIzMCAgYTUgG1szM20yMBtbMG0gYzMgYTYgG1szM20yMBtbMG0gYzMgYTcgG1szM20yMBtbMG0gIGMzIGE4IBtbMzNtMjAbWzBtIGMzIGE5IBtbMzNtMjAbWzBtIGMzIGFhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMjQwICAbWzMzbTIwG1swbSBjMyBhYiAbWzMzbTIwG1swbSBjMyBhYyAbWzMzbTIwG1swbSBjMyAgYWQgG1szM20yMBtbMG0gYzMgYWUgG1szM20yMBtbMG0gYzMgYWYgG1szM20yMBtbMG0gIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAyNTAgIGMzIGIwIBtbMzNtMjAbWzBtIGMzIGIxIBtbMzNtMjAbWzBtIGMzIGIyICAbWzMzbTIwG1swbSBjMyBiMyAbWzMzbTIwG1swbSBjMyBiNCAbWzMzbTIwG1swbSBjMyAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDI2MCAgYjUgG1szM20yMBtbMG0gYzMgYjYgG1szM20yMBtbMG0gYzMgYjcgG1szM20yMBtbMG0gIGMzIGI4IBtbMzNtMjAbWzBtIGMzIGI5IBtbMzNtMjAbWzBtIGMzIGJhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMjcwICAbWzMzbTIwG1swbSBjMyBiYiAbWzMzbTIwG1swbSBjMyBiYyAbWzMzbTIwG1swbSBjMyAgYmQgG1szM20yMBtbMG0gYzMgYmUgG1szM20yMBtbMG0gYzMgYmYgG1szM20yMBtbMG0gIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorG1szN20wMDAwMDI4MBtbMG0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTEuQkUgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy1jYW5vbi0xLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZjNDlmNjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy1jYW5vbi0xLkJFCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAwICAbWzM0bTAwG1swbSAyMCAwMSAyMCAwMiAyMCAwMyAyMCAgMDQgMjAgMDUgMjAgMDYgMjAgMDcgMjAgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAwMTAgIDA4IDIwIDA5IDIwIDBhIDIwIDBiIDIwICAwYyAyMCAwZCAyMCAwZSAyMCAwZiAyMCAgfBtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG18CiswMDAwMDAyMCAgMTAgMjAgMTEgMjAgMTIgMjAgMTMgMjAgIDE0IDIwIDE1IDIwIDE2IDIwIDE3IDIwICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbXwKKzAwMDAwMDMwICAxOCAyMCAxOSAyMCAxYSAyMCAxYiAyMCAgMWMgMjAgMWQgMjAgMWUgMjAgMWYgMjAgIHwbWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAwNDAgIDIwIDIwIDIxIDIwIDIyIDIwIDIzIDIwICAyNCAyMCAyNSAyMCAyNiAyMCAyNyAyMCAgfBtbMzZtIBtbMG0bWzM2bSAbWzBtG1szNm0hG1swbRtbMzZtIBtbMG0bWzM2bSIbWzBtG1szNm0gG1swbRtbMzZtIxtbMG0bWzM2bSAbWzBtG1szNm0kG1swbRtbMzZtIBtbMG0bWzM2bSUbWzBtG1szNm0gG1swbRtbMzZtJhtbMG0bWzM2bSAbWzBtG1szNm0nG1swbRtbMzZtIBtbMG18CiswMDAwMDA1MCAgMjggMjAgMjkgMjAgMmEgMjAgMmIgMjAgIDJjIDIwIDJkIDIwIDJlIDIwIDJmIDIwICB8G1szNm0oG1swbRtbMzZtIBtbMG0bWzM2bSkbWzBtG1szNm0gG1swbRtbMzZtKhtbMG0bWzM2bSAbWzBtG1szNm0rG1swbRtbMzZtIBtbMG0bWzM2bSwbWzBtG1szNm0gG1swbRtbMzZtLRtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS8bWzBtG1szNm0gG1swbXwKKzAwMDAwMDYwICAzMCAyMCAzMSAyMCAzMiAyMCAzMyAyMCAgMzQgMjAgMzUgMjAgMzYgMjAgMzcgMjAgIHwbWzM2bTAbWzBtG1szNm0gG1swbRtbMzZtMRtbMG0bWzM2bSAbWzBtG1szNm0yG1swbRtbMzZtIBtbMG0bWzM2bTMbWzBtG1szNm0gG1swbRtbMzZtNBtbMG0bWzM2bSAbWzBtG1szNm01G1swbRtbMzZtIBtbMG0bWzM2bTYbWzBtG1szNm0gG1swbRtbMzZtNxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwNzAgIDM4IDIwIDM5IDIwIDNhIDIwIDNiIDIwICAzYyAyMCAzZCAyMCAzZSAyMCAzZiAyMCAgfBtbMzZtOBtbMG0bWzM2bSAbWzBtG1szNm05G1swbRtbMzZtIBtbMG0bWzM2bTobWzBtG1szNm0gG1swbRtbMzZtOxtbMG0bWzM2bSAbWzBtG1szNm08G1swbRtbMzZtIBtbMG0bWzM2bT0bWzBtG1szNm0gG1swbRtbMzZtPhtbMG0bWzM2bSAbWzBtG1szNm0/G1swbRtbMzZtIBtbMG18CiswMDAwMDA4MCAgNDAgMjAgNDEgMjAgNDIgMjAgNDMgMjAgIDQ0IDIwIDQ1IDIwIDQ2IDIwIDQ3IDIwICB8G1szNm1AG1swbRtbMzZtIBtbMG0bWzM2bUEbWzBtG1szNm0gG1swbRtbMzZtQhtbMG0bWzM2bSAbWzBtG1szNm1DG1swbRtbMzZtIBtbMG0bWzM2bUQbWzBtG1szNm0gG1swbRtbMzZtRRtbMG0bWzM2bSAbWzBtG1szNm1GG1swbRtbMzZtIBtbMG0bWzM2bUcbWzBtG1szNm0gG1swbXwKKzAwMDAwMDkwICA0OCAyMCA0OSAyMCA0YSAyMCA0YiAyMCAgNGMgMjAgNGQgMjAgNGUgMjAgNGYgMjAgIHwbWzM2bUgbWzBtG1szNm0gG1swbRtbMzZtSRtbMG0bWzM2bSAbWzBtG1szNm1KG1swbRtbMzZtIBtbMG0bWzM2bUsbWzBtG1szNm0gG1swbRtbMzZtTBtbMG0bWzM2bSAbWzBtG1szNm1NG1swbRtbMzZtIBtbMG0bWzM2bU4bWzBtG1szNm0gG1swbRtbMzZtTxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwYTAgIDUwIDIwIDUxIDIwIDUyIDIwIDUzIDIwICA1NCAyMCA1NSAyMCA1NiAyMCA1NyAyMCAgfBtbMzZtUBtbMG0bWzM2bSAbWzBtG1szNm1RG1swbRtbMzZtIBtbMG0bWzM2bVIbWzBtG1szNm0gG1swbRtbMzZtUxtbMG0bWzM2bSAbWzBtG1szNm1UG1swbRtbMzZtIBtbMG0bWzM2bVUbWzBtG1szNm0gG1swbRtbMzZtVhtbMG0bWzM2bSAbWzBtG1szNm1XG1swbRtbMzZtIBtbMG18CiswMDAwMDBiMCAgNTggMjAgNTkgMjAgNWEgMjAgNWIgMjAgIDVjIDIwIDVkIDIwIDVlIDIwIDVmIDIwICB8G1szNm1YG1swbRtbMzZtIBtbMG0bWzM2bVkbWzBtG1szNm0gG1swbRtbMzZtWhtbMG0bWzM2bSAbWzBtG1szNm1bG1swbRtbMzZtIBtbMG0bWzM2bVwbWzBtG1szNm0gG1swbRtbMzZtXRtbMG0bWzM2bSAbWzBtG1szNm1eG1swbRtbMzZtIBtbMG0bWzM2bV8bWzBtG1szNm0gG1swbXwKKzAwMDAwMGMwICA2MCAyMCA2MSAyMCA2MiAyMCA2MyAyMCAgNjQgMjAgNjUgMjAgNjYgMjAgNjcgMjAgIHwbWzM2bWAbWzBtG1szNm0gG1swbRtbMzZtYRtbMG0bWzM2bSAbWzBtG1szNm1iG1swbRtbMzZtIBtbMG0bWzM2bWMbWzBtG1szNm0gG1swbRtbMzZtZBtbMG0bWzM2bSAbWzBtG1szNm1lG1swbRtbMzZtIBtbMG0bWzM2bWYbWzBtG1szNm0gG1swbRtbMzZtZxtbMG0bWzM2bSAbWzBtfAorMDAwMDAwZDAgIDY4IDIwIDY5IDIwIDZhIDIwIDZiIDIwICA2YyAyMCA2ZCAyMCA2ZSAyMCA2ZiAyMCAgfBtbMzZtaBtbMG0bWzM2bSAbWzBtG1szNm1pG1swbRtbMzZtIBtbMG0bWzM2bWobWzBtG1szNm0gG1swbRtbMzZtaxtbMG0bWzM2bSAbWzBtG1szNm1sG1swbRtbMzZtIBtbMG0bWzM2bW0bWzBtG1szNm0gG1swbRtbMzZtbhtbMG0bWzM2bSAbWzBtG1szNm1vG1swbRtbMzZtIBtbMG18CiswMDAwMDBlMCAgNzAgMjAgNzEgMjAgNzIgMjAgNzMgMjAgIDc0IDIwIDc1IDIwIDc2IDIwIDc3IDIwICB8G1szNm1wG1swbRtbMzZtIBtbMG0bWzM2bXEbWzBtG1szNm0gG1swbRtbMzZtchtbMG0bWzM2bSAbWzBtG1szNm1zG1swbRtbMzZtIBtbMG0bWzM2bXQbWzBtG1szNm0gG1swbRtbMzZtdRtbMG0bWzM2bSAbWzBtG1szNm12G1swbRtbMzZtIBtbMG0bWzM2bXcbWzBtG1szNm0gG1swbXwKKzAwMDAwMGYwICA3OCAyMCA3OSAyMCA3YSAyMCA3YiAyMCAgN2MgMjAgN2QgMjAgN2UgMjAgN2YgMjAgIHwbWzM2bXgbWzBtG1szNm0gG1swbRtbMzZteRtbMG0bWzM2bSAbWzBtG1szNm16G1swbRtbMzZtIBtbMG0bWzM2bXsbWzBtG1szNm0gG1swbRtbMzZtfBtbMG0bWzM2bSAbWzBtG1szNm19G1swbRtbMzZtIBtbMG0bWzM2bX4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxMDAgIGMyIDgwIDIwIGMyIDgxIDIwIGMyIDgyICAyMCBjMiA4MyAyMCBjMiA4NCAyMCBjMiAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDExMCAgODUgMjAgYzIgODYgMjAgYzIgODcgMjAgIGMyIDg4IDIwIGMyIDg5IDIwIGMyIDhhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMTIwICAyMCBjMiA4YiAyMCBjMiA4YyAyMCBjMiAgOGQgMjAgYzIgOGUgMjAgYzIgOGYgMjAgIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxMzAgIGMyIDkwIDIwIGMyIDkxIDIwIGMyIDkyICAyMCBjMiA5MyAyMCBjMiA5NCAyMCBjMiAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDE0MCAgOTUgMjAgYzIgOTYgMjAgYzIgOTcgMjAgIGMyIDk4IDIwIGMyIDk5IDIwIGMyIDlhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMTUwICAyMCBjMiA5YiAyMCBjMiA5YyAyMCBjMiAgOWQgMjAgYzIgOWUgMjAgYzIgOWYgMjAgIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxNjAgIGMyIGEwIDIwIGMyIGExIDIwIGMyIGEyICAyMCBjMiBhMyAyMCBjMiBhNCAyMCBjMiAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDE3MCAgYTUgMjAgYzIgYTYgMjAgYzIgYTcgMjAgIGMyIGE4IDIwIGMyIGE5IDIwIGMyIGFhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMTgwICAyMCBjMiBhYiAyMCBjMiBhYyAyMCBjMiAgYWQgMjAgYzIgYWUgMjAgYzIgYWYgMjAgIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxOTAgIGMyIGIwIDIwIGMyIGIxIDIwIGMyIGIyICAyMCBjMiBiMyAyMCBjMiBiNCAyMCBjMiAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDFhMCAgYjUgMjAgYzIgYjYgMjAgYzIgYjcgMjAgIGMyIGI4IDIwIGMyIGI5IDIwIGMyIGJhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMWIwICAyMCBjMiBiYiAyMCBjMiBiYyAyMCBjMiAgYmQgMjAgYzIgYmUgMjAgYzIgYmYgMjAgIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxYzAgIGMzIDgwIDIwIGMzIDgxIDIwIGMzIDgyICAyMCBjMyA4MyAyMCBjMyA4NCAyMCBjMyAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDFkMCAgODUgMjAgYzMgODYgMjAgYzMgODcgMjAgIGMzIDg4IDIwIGMzIDg5IDIwIGMzIDhhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMWUwICAyMCBjMyA4YiAyMCBjMyA4YyAyMCBjMyAgOGQgMjAgYzMgOGUgMjAgYzMgOGYgMjAgIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAxZjAgIGMzIDkwIDIwIGMzIDkxIDIwIGMzIDkyICAyMCBjMyA5MyAyMCBjMyA5NCAyMCBjMyAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDIwMCAgOTUgMjAgYzMgOTYgMjAgYzMgOTcgMjAgIGMzIDk4IDIwIGMzIDk5IDIwIGMzIDlhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMjEwICAyMCBjMyA5YiAyMCBjMyA5YyAyMCBjMyAgOWQgMjAgYzMgOWUgMjAgYzMgOWYgMjAgIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAyMjAgIGMzIGEwIDIwIGMzIGExIDIwIGMzIGEyICAyMCBjMyBhMyAyMCBjMyBhNCAyMCBjMyAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDIzMCAgYTUgMjAgYzMgYTYgMjAgYzMgYTcgMjAgIGMzIGE4IDIwIGMzIGE5IDIwIGMzIGFhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMjQwICAyMCBjMyBhYiAyMCBjMyBhYyAyMCBjMyAgYWQgMjAgYzMgYWUgMjAgYzMgYWYgMjAgIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorMDAwMDAyNTAgIGMzIGIwIDIwIGMzIGIxIDIwIGMzIGIyICAyMCBjMyBiMyAyMCBjMyBiNCAyMCBjMyAgfBtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG0bWzM2bS4bWzBtG1szNm0gG1swbRtbMzZtLhtbMG18CiswMDAwMDI2MCAgYjUgMjAgYzMgYjYgMjAgYzMgYjcgMjAgIGMzIGI4IDIwIGMzIGI5IDIwIGMzIGJhICB8G1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbRtbMzZtIBtbMG0bWzM2bS4bWzBtG1szNm0uG1swbXwKKzAwMDAwMjcwICAyMCBjMyBiYiAyMCBjMyBiYyAyMCBjMyAgYmQgMjAgYzMgYmUgMjAgYzMgYmYgMjAgIHwbWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtG1szNm0uG1swbRtbMzZtLhtbMG0bWzM2bSAbWzBtfAorG1szN20wMDAwMDI4MBtbMG0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2hleGR1bXAvaGlnaGxpZ2h0aW5nLWNhbm9uLTIgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy1jYW5vbi0yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0MzY3MDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9oZXhkdW1wL2hpZ2hsaWdodGluZy1jYW5vbi0yCkBAIC0wLDAgKzEsNDEgQEAKKzAwMDAwMDAwICAwMCAyMCAwMSAyMCAwMiAyMCAwMyAyMCAgMDQgMjAgMDUgMjAgMDYgMjAgMDcgMjAgIHwuIC4gLiAuIC4gLiAuIC4gfAorMDAwMDAwMTAgIDA4IDIwIDA5IDIwIDBhIDIwIDBiIDIwICAwYyAyMCAwZCAyMCAwZSAyMCAwZiAyMCAgfC4gLiAuIC4gLiAuIC4gLiB8CiswMDAwMDAyMCAgMTAgMjAgMTEgMjAgMTIgMjAgMTMgMjAgIDE0IDIwIDE1IDIwIDE2IDIwIDE3IDIwICB8LiAuIC4gLiAuIC4gLiAuIHwKKzAwMDAwMDMwICAxOCAyMCAxOSAyMCAxYSAyMCAxYiAyMCAgMWMgMjAgMWQgMjAgMWUgMjAgMWYgMjAgIHwuIC4gLiAuIC4gLiAuIC4gfAorMDAwMDAwNDAgIDIwIDIwIDIxIDIwIDIyIDIwIDIzIDIwICAyNCAyMCAyNSAyMCAyNiAyMCAyNyAyMCAgfCAgISAiICMgJCAlICYgJyB8CiswMDAwMDA1MCAgMjggMjAgMjkgMjAgMmEgMjAgMmIgMjAgIDJjIDIwIDJkIDIwIDJlIDIwIDJmIDIwICB8KCApICogKyAsIC0gLiAvIHwKKzAwMDAwMDYwICAzMCAyMCAzMSAyMCAzMiAyMCAzMyAyMCAgMzQgMjAgMzUgMjAgMzYgMjAgMzcgMjAgIHwwIDEgMiAzIDQgNSA2IDcgfAorMDAwMDAwNzAgIDM4IDIwIDM5IDIwIDNhIDIwIDNiIDIwICAzYyAyMCAzZCAyMCAzZSAyMCAzZiAyMCAgfDggOSA6IDsgPCA9ID4gPyB8CiswMDAwMDA4MCAgNDAgMjAgG1szNG00MRtbMG0gMjAgNDIgMjAgNDMgMjAgIDQ0IDIwIDQ1IDIwIDQ2IDIwIDQ3IDIwICB8QCAbWzMybUEbWzBtIEIgQyBEIEUgRiBHIHwKKzAwMDAwMDkwICA0OCAyMCA0OSAyMCA0YSAyMCA0YiAyMCAgNGMgMjAgNGQgMjAgNGUgMjAgNGYgMjAgIHxIIEkgSiBLIEwgTSBOIE8gfAorMDAwMDAwYTAgIDUwIDIwIDUxIDIwIDUyIDIwIDUzIDIwICA1NCAyMCA1NSAyMCA1NiAyMCA1NyAyMCAgfFAgUSBSIFMgVCBVIFYgVyB8CiswMDAwMDBiMCAgNTggMjAgNTkgMjAgNWEgMjAgNWIgMjAgIDVjIDIwIDVkIDIwIDVlIDIwIDVmIDIwICB8WCBZIFogWyBcIF0gXiBfIHwKKzAwMDAwMGMwICA2MCAyMCAbWzM0bTYxG1swbSAyMCA2MiAyMCA2MyAyMCAgNjQgMjAgNjUgMjAgNjYgMjAgNjcgMjAgIHxgIBtbMzJtYRtbMG0gYiBjIGQgZSBmIGcgfAorMDAwMDAwZDAgIDY4IDIwIDY5IDIwIDZhIDIwIDZiIDIwICA2YyAyMCA2ZCAyMCA2ZSAyMCA2ZiAyMCAgfGggaSBqIGsgbCBtIG4gbyB8CiswMDAwMDBlMCAgNzAgMjAgNzEgMjAgNzIgMjAgNzMgMjAgIDc0IDIwIDc1IDIwIDc2IDIwIDc3IDIwICB8cCBxIHIgcyB0IHUgdiB3IHwKKzAwMDAwMGYwICA3OCAyMCA3OSAyMCA3YSAyMCA3YiAyMCAgN2MgMjAgN2QgMjAgN2UgMjAgN2YgMjAgIHx4IHkgeiB7IHwgfSB+IC4gfAorMDAwMDAxMDAgIGMyIDgwIDIwIGMyIDgxIDIwIGMyIDgyICAyMCBjMiA4MyAyMCBjMiA4NCAyMCBjMiAgfC4uIC4uIC4uIC4uIC4uIC58CiswMDAwMDExMCAgODUgMjAgYzIgODYgMjAgYzIgODcgMjAgIGMyIDg4IDIwIGMyIDg5IDIwIGMyIDhhICB8LiAuLiAuLiAuLiAuLiAuLnwKKzAwMDAwMTIwICAyMCBjMiA4YiAyMCBjMiA4YyAyMCBjMiAgOGQgMjAgYzIgOGUgMjAgYzIgOGYgMjAgIHwgLi4gLi4gLi4gLi4gLi4gfAorMDAwMDAxMzAgIGMyIDkwIDIwIGMyIDkxIDIwIGMyIDkyICAyMCBjMiA5MyAyMCBjMiA5NCAyMCBjMiAgfC4uIC4uIC4uIC4uIC4uIC58CiswMDAwMDE0MCAgOTUgMjAgYzIgOTYgMjAgYzIgOTcgMjAgIGMyIDk4IDIwIGMyIDk5IDIwIGMyIDlhICB8LiAuLiAuLiAuLiAuLiAuLnwKKzAwMDAwMTUwICAyMCBjMiA5YiAyMCBjMiA5YyAyMCBjMiAgOWQgMjAgYzIgOWUgMjAgYzIgOWYgMjAgIHwgLi4gLi4gLi4gLi4gLi4gfAorMDAwMDAxNjAgIGMyIGEwIDIwIGMyIGExIDIwIGMyIGEyICAyMCBjMiBhMyAyMCBjMiBhNCAyMCBjMiAgfC4uIC4uIC4uIC4uIC4uIC58CiswMDAwMDE3MCAgYTUgMjAgYzIgYTYgMjAgYzIgYTcgMjAgIGMyIGE4IDIwIGMyIGE5IDIwIGMyIGFhICB8LiAuLiAuLiAuLiAuLiAuLnwKKzAwMDAwMTgwICAyMCBjMiBhYiAyMCBjMiBhYyAyMCBjMiAgYWQgMjAgYzIgYWUgMjAgYzIgYWYgMjAgIHwgLi4gLi4gLi4gLi4gLi4gfAorMDAwMDAxOTAgIGMyIGIwIDIwIGMyIGIxIDIwIGMyIGIyICAyMCBjMiBiMyAyMCBjMiBiNCAyMCBjMiAgfC4uIC4uIC4uIC4uIC4uIC58CiswMDAwMDFhMCAgYjUgMjAgYzIgYjYgMjAgYzIgYjcgMjAgIGMyIGI4IDIwIGMyIGI5IDIwIGMyIGJhICB8LiAuLiAuLiAuLiAuLiAuLnwKKzAwMDAwMWIwICAyMCBjMiBiYiAyMCBjMiBiYyAyMCBjMiAgYmQgMjAgYzIgYmUgMjAgYzIgYmYgMjAgIHwgLi4gLi4gLi4gLi4gLi4gfAorMDAwMDAxYzAgIGMzIDgwIDIwIGMzIDgxIDIwIGMzIDgyICAyMCBjMyA4MyAyMCBjMyA4NCAyMCBjMyAgfC4uIC4uIC4uIC4uIC4uIC58CiswMDAwMDFkMCAgODUgMjAgYzMgODYgMjAgYzMgODcgMjAgIGMzIDg4IDIwIGMzIDg5IDIwIGMzIDhhICB8LiAuLiAuLiAuLiAuLiAuLnwKKzAwMDAwMWUwICAyMCBjMyA4YiAyMCBjMyA4YyAyMCBjMyAgOGQgMjAgYzMgOGUgMjAgYzMgOGYgMjAgIHwgLi4gLi4gLi4gLi4gLi4gfAorMDAwMDAxZjAgIGMzIDkwIDIwIGMzIDkxIDIwIGMzIDkyICAyMCBjMyA5MyAyMCBjMyA5NCAyMCBjMyAgfC4uIC4uIC4uIC4uIC4uIC58CiswMDAwMDIwMCAgOTUgMjAgYzMgOTYgMjAgYzMgOTcgMjAgIGMzIDk4IDIwIGMzIDk5IDIwIGMzIDlhICB8LiAuLiAuLiAuLiAuLiAuLnwKKzAwMDAwMjEwICAyMCBjMyA5YiAyMCBjMyA5YyAyMCBjMyAgOWQgMjAgYzMgOWUgMjAgYzMgOWYgMjAgIHwgLi4gLi4gLi4gLi4gLi4gfAorMDAwMDAyMjAgIGMzIGEwIDIwIGMzIGExIDIwIGMzIGEyICAyMCBjMyBhMyAyMCBjMyBhNCAyMCBjMyAgfC4uIC4uIC4uIC4uIC4uIC58CiswMDAwMDIzMCAgYTUgMjAgYzMgYTYgMjAgYzMgYTcgMjAgIGMzIGE4IDIwIGMzIGE5IDIwIGMzIGFhICB8LiAuLiAuLiAuLiAuLiAuLnwKKzAwMDAwMjQwICAyMCBjMyBhYiAyMCBjMyBhYyAyMCBjMyAgYWQgMjAgYzMgYWUgMjAgYzMgYWYgMjAgIHwgLi4gLi4gLi4gLi4gLi4gfAorMDAwMDAyNTAgIGMzIGIwIDIwIGMzIGIxIDIwIGMzIGIyICAyMCBjMyBiMyAyMCBjMyBiNCAyMCBjMyAgfC4uIC4uIC4uIC4uIC4uIC58CiswMDAwMDI2MCAgYjUgMjAgYzMgYjYgMjAgYzMgYjcgMjAgIGMzIGI4IDIwIGMzIGI5IDIwIGMzIGJhICB8LiAuLiAuLiAuLiAuLiAuLnwKKzAwMDAwMjcwICAyMCBjMyBiYiAyMCBjMyBiYyAyMCBjMyAgYmQgMjAgYzMgYmUgMjAgYzMgYmYgMjAgIHwgLi4gLi4gLi4gLi4gLi4gfAorG1szMW0wMDAwMDI4MBtbMG0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2lwY3MvaGVhZGVycyBiL3Rlc3RzL2V4cGVjdGVkL2lwY3MvaGVhZGVycwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWI4ZmVmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaXBjcy9oZWFkZXJzCkBAIC0wLDAgKzEsNjQgQEAKK3Rlc3Q6IHNobSBoZWFkZXJzCistLS0tLS0gU2hhcmVkIE1lbW9yeSBBdHRhY2gvRGV0YWNoL0NoYW5nZSBUaW1lcyAtLS0tLS0tLQorc2htaWQgICAgICBvd25lciAgICAgIGF0dGFjaGVkICAgICAgICAgICAgIGRldGFjaGVkICAgICAgICAgICAgIGNoYW5nZWQgICAgICAgICAgICAgCistLS0tLS0gU2hhcmVkIE1lbW9yeSBDcmVhdG9yL0xhc3Qtb3AgUElEcyAtLS0tLS0tLQorc2htaWQgICAgICBvd25lciAgICAgIGNwaWQgICAgICAgbHBpZCAgICAgIAorLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS0KK3NobWlkICAgICAgcGVybXMgICAgICBjdWlkICAgICAgIGNnaWQgICAgICAgdWlkICAgICAgICBnaWQgICAgICAgCistLS0tLS0gU2hhcmVkIE1lbW9yeSBMaW1pdHMgLS0tLS0tLS0KKy0tLS0tLSBTaGFyZWQgTWVtb3J5IFN0YXR1cyAtLS0tLS0tLQorCit0ZXN0OiBtZXNnIGhlYWRlcnMKKy0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBTZW5kL1JlY3YvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tCittc3FpZCAgICBvd25lciAgICAgIHNlbmQgICAgICAgICAgICAgICAgIHJlY3YgICAgICAgICAgICAgICAgIGNoYW5nZSAgICAgICAgICAgICAgCistLS0tLS0gTWVzc2FnZSBRdWV1ZXMgUElEcyAtLS0tLS0tLQorbXNxaWQgICAgICBvd25lciAgICAgIGxzcGlkICAgICAgbHJwaWQgICAgIAorLS0tLS0tIE1lc3NhZ2UgUXVldWVzIENyZWF0b3JzL093bmVycyAtLS0tLS0tLQorbXNxaWQgICAgICBwZXJtcyAgICAgIGN1aWQgICAgICAgY2dpZCAgICAgICB1aWQgICAgICAgIGdpZCAgICAgICAKKy0tLS0tLSBNZXNzYWdlcyBMaW1pdHMgLS0tLS0tLS0KKy0tLS0tLSBNZXNzYWdlcyBTdGF0dXMgLS0tLS0tLS0KKwordGVzdDogc2VtIGhlYWRlcnMKKy0tLS0tLSBTZW1hcGhvcmUgT3BlcmF0aW9uL0NoYW5nZSBUaW1lcyAtLS0tLS0tLQorc2VtaWQgICAgb3duZXIgICAgICBsYXN0LW9wICAgICAgICAgICAgICAgICAgICBsYXN0LWNoYW5nZWQgICAgICAgICAgICAgIAorLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tCitzZW1pZCAgICAgIHBlcm1zICAgICAgY3VpZCAgICAgICBjZ2lkICAgICAgIHVpZCAgICAgICAgZ2lkICAgICAgIAorLS0tLS0tIFNlbWFwaG9yZSBMaW1pdHMgLS0tLS0tLS0KKy0tLS0tLSBTZW1hcGhvcmUgU3RhdHVzIC0tLS0tLS0tCisKK3Rlc3Q6IGFsbCBoZWFkZXJzCistLS0tLS0gTWVzc2FnZSBRdWV1ZXMgLS0tLS0tLS0KK2tleSAgICAgICAgbXNxaWQgICAgICBvd25lciAgICAgIHBlcm1zICAgICAgdXNlZC1ieXRlcyAgIG1lc3NhZ2VzICAgIAorLS0KKy0tLS0tLSBTaGFyZWQgTWVtb3J5IFNlZ21lbnRzIC0tLS0tLS0tCitrZXkgICAgICAgIHNobWlkICAgICAgb3duZXIgICAgICBwZXJtcyAgICAgIGJ5dGVzICAgICAgbmF0dGNoICAgICBzdGF0dXMgICAgICAKKy0tCistLS0tLS0gU2VtYXBob3JlIEFycmF5cyAtLS0tLS0tLQora2V5ICAgICAgICBzZW1pZCAgICAgIG93bmVyICAgICAgcGVybXMgICAgICBuc2VtcyAgICAgCistLS0tLS0gTWVzc2FnZSBRdWV1ZXMgU2VuZC9SZWN2L0NoYW5nZSBUaW1lcyAtLS0tLS0tLQorbXNxaWQgICAgb3duZXIgICAgICBzZW5kICAgICAgICAgICAgICAgICByZWN2ICAgICAgICAgICAgICAgICBjaGFuZ2UgICAgICAgICAgICAgIAorLS0KKy0tLS0tLSBTaGFyZWQgTWVtb3J5IEF0dGFjaC9EZXRhY2gvQ2hhbmdlIFRpbWVzIC0tLS0tLS0tCitzaG1pZCAgICAgIG93bmVyICAgICAgYXR0YWNoZWQgICAgICAgICAgICAgZGV0YWNoZWQgICAgICAgICAgICAgY2hhbmdlZCAgICAgICAgICAgICAKKy0tCistLS0tLS0gU2VtYXBob3JlIE9wZXJhdGlvbi9DaGFuZ2UgVGltZXMgLS0tLS0tLS0KK3NlbWlkICAgIG93bmVyICAgICAgbGFzdC1vcCAgICAgICAgICAgICAgICAgICAgbGFzdC1jaGFuZ2VkICAgICAgICAgICAgICAKKy0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBQSURzIC0tLS0tLS0tCittc3FpZCAgICAgIG93bmVyICAgICAgbHNwaWQgICAgICBscnBpZCAgICAgCistLQorLS0tLS0tIFNoYXJlZCBNZW1vcnkgQ3JlYXRvci9MYXN0LW9wIFBJRHMgLS0tLS0tLS0KK3NobWlkICAgICAgb3duZXIgICAgICBjcGlkICAgICAgIGxwaWQgICAgICAKKy0tLS0tLSBNZXNzYWdlIFF1ZXVlcyBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS0KK21zcWlkICAgICAgcGVybXMgICAgICBjdWlkICAgICAgIGNnaWQgICAgICAgdWlkICAgICAgICBnaWQgICAgICAgCistLQorLS0tLS0tIFNoYXJlZCBNZW1vcnkgU2VnbWVudCBDcmVhdG9ycy9Pd25lcnMgLS0tLS0tLS0KK3NobWlkICAgICAgcGVybXMgICAgICBjdWlkICAgICAgIGNnaWQgICAgICAgdWlkICAgICAgICBnaWQgICAgICAgCistLQorLS0tLS0tIFNlbWFwaG9yZSBBcnJheXMgQ3JlYXRvcnMvT3duZXJzIC0tLS0tLS0tCitzZW1pZCAgICAgIHBlcm1zICAgICAgY3VpZCAgICAgICBjZ2lkICAgICAgIHVpZCAgICAgICAgZ2lkICAgICAgIAorLS0tLS0tIE1lc3NhZ2VzIExpbWl0cyAtLS0tLS0tLQorLS0tLS0tIFNoYXJlZCBNZW1vcnkgTGltaXRzIC0tLS0tLS0tCistLS0tLS0gU2VtYXBob3JlIExpbWl0cyAtLS0tLS0tLQorLS0tLS0tIE1lc3NhZ2VzIFN0YXR1cyAtLS0tLS0tLQorLS0tLS0tIFNoYXJlZCBNZW1vcnkgU3RhdHVzIC0tLS0tLS0tCistLS0tLS0gU2VtYXBob3JlIFN0YXR1cyAtLS0tLS0tLQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaXBjcy9saW1pdHMgYi90ZXN0cy9leHBlY3RlZC9pcGNzL2xpbWl0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMGZmNDU3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaXBjcy9saW1pdHMKQEAgLTAsMCArMSw3IEBACitsb2FkIG9yaWdpbmFsIHZhbHVlcworbWF4aW1pemUga2VybmVsIHNldHRpbmcKK2NoZWNrIGZvciBkaWZmZXJlbmNlIGJldHdlZW4ga2VybmVsIGFuZCBJUEMKKy9wcm9jL3N5cy9rZXJuZWwvc2htbW5pIE9LCisvcHJvYy9zeXMva2VybmVsL3NobWFsbCBPSworL3Byb2Mvc3lzL2tlcm5lbC9zaG1tYXggT0sKK3dyaXRlIG9yaWdpbmFsIHZhbHVlcyB0byBrZXJuZWwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2lwY3MvbGltaXRzMiBiL3Rlc3RzL2V4cGVjdGVkL2lwY3MvbGltaXRzMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yODQ1NGUzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaXBjcy9saW1pdHMyCkBAIC0wLDAgKzEsNCBAQAorY2hlY2sgZm9yIGRpZmZlcmVuY2UgYmV0d2VlbiBrZXJuZWwgYW5kIElQQworL3Byb2Mvc3lzL2tlcm5lbC9zaG1tbmkgT0sKKy9wcm9jL3N5cy9rZXJuZWwvc2htYWxsIE9LCisvcHJvYy9zeXMva2VybmVsL3NobW1heCBPSwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaXBjcy9tay1ybS1tc2cgYi90ZXN0cy9leHBlY3RlZC9pcGNzL21rLXJtLW1zZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOTEzYmMzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaXBjcy9tay1ybS1tc2cKQEAgLTAsMCArMSwzIEBACitNZXNzYWdlIHF1ZXVlIGlkOiA8d2FzX251bWJlcj4KKzEKK01lc3NhZ2UgcXVldWUgaWQ6IDx3YXNfbnVtYmVyPgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaXBjcy9tay1ybS1zZW0gYi90ZXN0cy9leHBlY3RlZC9pcGNzL21rLXJtLXNlbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTJjN2NkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaXBjcy9tay1ybS1zZW0KQEAgLTAsMCArMSw0IEBACitTZW1hcGhvcmUgaWQ6IDx3YXNfbnVtYmVyPgorbnNlbXMgPSAxCitTZW1hcGhvcmUgaWQ6IDx3YXNfbnVtYmVyPgorbnNlbXMgPSAyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9pcGNzL21rLXJtLXNobSBiL3Rlc3RzL2V4cGVjdGVkL2lwY3MvbWstcm0tc2htCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM2M2FiNDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9pcGNzL21rLXJtLXNobQpAQCAtMCwwICsxLDQgQEAKK1NoYXJlZCBtZW1vcnkgaWQ6IDx3YXNfbnVtYmVyPgorYnl0ZXM9MQorU2hhcmVkIG1lbW9yeSBpZDogPHdhc19udW1iZXI+CitieXRlcz0xMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaXNvc2l6ZS9wcmludC1zaXplLWRlZmF1bHRfb3V0cHV0IGIvdGVzdHMvZXhwZWN0ZWQvaXNvc2l6ZS9wcmludC1zaXplLWRlZmF1bHRfb3V0cHV0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkZWY0MzcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9pc29zaXplL3ByaW50LXNpemUtZGVmYXVsdF9vdXRwdXQKQEAgLTAsMCArMSBAQAorNTE1ODk5MzkyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9pc29zaXplL3ByaW50LXNpemUtZGl2aXNvcl9vdXRwdXQgYi90ZXN0cy9leHBlY3RlZC9pc29zaXplL3ByaW50LXNpemUtZGl2aXNvcl9vdXRwdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUyMTRhNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2lzb3NpemUvcHJpbnQtc2l6ZS1kaXZpc29yX291dHB1dApAQCAtMCwwICsxIEBACis1NzMyMjE1NApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvaXNvc2l6ZS9wcmludC1zaXplLXNlY3Rvcl9vdXRwdXQgYi90ZXN0cy9leHBlY3RlZC9pc29zaXplL3ByaW50LXNpemUtc2VjdG9yX291dHB1dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmYzNjM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvaXNvc2l6ZS9wcmludC1zaXplLXNlY3Rvcl9vdXRwdXQKQEAgLTAsMCArMSBAQAorc2VjdG9yIGNvdW50OiAyNTE5MDQsIHNlY3RvciBzaXplOiAyMDQ4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9raWxsL2FsbF9wcm9jZXNzZXMgYi90ZXN0cy9leHBlY3RlZC9raWxsL2FsbF9wcm9jZXNzZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjE0NTQ5ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvYWxsX3Byb2Nlc3NlcwpAQCAtMCwwICsxLDUgQEAKK3Rlc3QgMQora2lsbDogY2Fubm90IGZpbmQgcHJvY2VzcyAidGVzdF9zaWdyZWNlaXZlIgordGVzdCAyCit0ZXN0IDMKK2tpbGw6IGNhbm5vdCBmaW5kIHByb2Nlc3MgInRlc3Rfc2lncmVjZWl2ZSIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2tpbGwvbmFtZV90b19udW1iZXIgYi90ZXN0cy9leHBlY3RlZC9raWxsL25hbWVfdG9fbnVtYmVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0OGNlNzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9raWxsL25hbWVfdG9fbnVtYmVyCkBAIC0wLDAgKzEgQEAKK2FsbCBvawpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQva2lsbC9vcHRpb25zIGIvdGVzdHMvZXhwZWN0ZWQva2lsbC9vcHRpb25zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0OGNlNzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9raWxsL29wdGlvbnMKQEAgLTAsMCArMSBAQAorYWxsIG9rCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9raWxsL3ByaW50X3BpZCBiL3Rlc3RzL2V4cGVjdGVkL2tpbGwvcHJpbnRfcGlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0OGNlNzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9raWxsL3ByaW50X3BpZApAQCAtMCwwICsxIEBACithbGwgb2sKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2tpbGwvcXVldWUgYi90ZXN0cy9leHBlY3RlZC9raWxsL3F1ZXVlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ0OGNlNzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9raWxsL3F1ZXVlCkBAIC0wLDAgKzEgQEAKK2FsbCBvawpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWFsbC1kZWZhdWx0cyBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL2dwdC1hbGwtZGVmYXVsdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NjMTg1YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL2dwdC1hbGwtZGVmYXVsdHMKQEAgLTAsMCArMSwyNCBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjA0OCAxMjI4NyAgIDEwMjQwICAgNU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MiAxMjI4OCAyMDQ0NiAgICA4MTU5ICAgNE0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWFsbC1kZWZhdWx0cy13aXRoLXR5cG8gYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ncHQtYWxsLWRlZmF1bHRzLXdpdGgtdHlwbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jY2MxODVjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWFsbC1kZWZhdWx0cy13aXRoLXR5cG8KQEAgLTAsMCArMSwyNCBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDEwIE1pQiwgMTA0ODU3NjAgYnl0ZXMsIDIwNDgwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjA0OCAxMjI4NyAgIDEwMjQwICAgNU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MiAxMjI4OCAyMDQ0NiAgICA4MTU5ICAgNE0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWdldGF0dHIgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ncHQtZ2V0YXR0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NTlhOWFlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LWdldGF0dHIKQEAgLTAsMCArMSwyIEBACisxOiAweDAwMDEwMDAwMDAwMDAwMDEKKzI6IDB4NDAzMDAwMDAwMDAwMDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LXNldGF0dHIgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ncHQtc2V0YXR0cgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWFmMjYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svZ3B0LXNldGF0dHIKQEAgLTAsMCArMSwyIEBACitHVUlEOjU2LDU3LDU4LDU5LDYwLDYxLDYyLDYzCitMZWdhY3lCSU9TQm9vdGFibGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydCBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWRlMjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtZ3B0IGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtZ3B0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzMzQ4M2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1ncHQKQEAgLTAsMCArMSwzMCBAQAorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0wLHN0YXJ0PTIwNDgsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0xLHN0YXJ0PTQwOTYsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0yLHN0YXJ0PTYxNDQsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0zLHN0YXJ0PTgxOTIsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz00LHN0YXJ0PTEwMjQwLHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89NSxzdGFydD0xMjI4OCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTYsc3RhcnQ9MTQzMzYsc2l6ZT0yMDQ4PgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0Rpc2sgPHJlbW92ZWQ+OiAxNSBNaUIsIDE1NzI4NjQwIGJ5dGVzLCAzMDcyMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4yICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICA4MTkyIDEwMjM5ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD41IDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD42IDEyMjg4IDE0MzM1ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD43IDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1ncHQtZXJyLW92ZXJsYXAgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1ncHQtZXJyLW92ZXJsYXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjczMzM5MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLWdwdC1lcnItb3ZlcmxhcApAQCAtMCwwICsxLDE0IEBACitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTAsc3RhcnQ9MjA0OCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTEsc3RhcnQ9NDA5NixzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTIsc3RhcnQ9NjE0NCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTMsc3RhcnQ9NTAwMCxzaXplPTIwNDg+CitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK1NlY3RvciA1MDAwIGFscmVhZHkgdXNlZC4KK3NhbXBsZS1mZGlzay1ta3BhcnQtZnVsbHNwZWM6IGZhaWxlZCB0byBhZGQgIzQgcGFydGl0aW9uCitEaXNrIDxyZW1vdmVkPjogMTUgTWlCLCAxNTcyODY0MCBieXRlcywgMzA3MjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLWdwdC1ub3BhcnRubyBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLWdwdC1ub3BhcnRubwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzE0MjNiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtZ3B0LW5vcGFydG5vCkBAIC0wLDAgKzEsMzAgQEAKK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89PGRlZmF1bHQ+LHN0YXJ0PTIwNDgsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9NDA5NixzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTxkZWZhdWx0PixzdGFydD02MTQ0LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89PGRlZmF1bHQ+LHN0YXJ0PTgxOTIsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9MTAyNDAsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9MTIyODgsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9MTQzMzYsc2l6ZT0yMDQ4PgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0Rpc2sgPHJlbW92ZWQ+OiAxNSBNaUIsIDE1NzI4NjQwIGJ5dGVzLCAzMDcyMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4yICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICA4MTkyIDEwMjM5ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD41IDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD42IDEyMjg4IDE0MzM1ICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD43IDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSBMaW51eCBmaWxlc3lzdGVtCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1ncHQtcGFydG5vLWdhcCBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLWdwdC1wYXJ0bm8tZ2FwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIxNDJiNWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1ncHQtcGFydG5vLWdhcApAQCAtMCwwICsxLDMwIEBACitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTAsc3RhcnQ9MjA0OCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTEsc3RhcnQ9NDA5NixzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTMsc3RhcnQ9NjE0NCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTQsc3RhcnQ9ODE5MixzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTYsc3RhcnQ9MTAyNDAsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz03LHN0YXJ0PTEyMjg4LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89OCxzdGFydD0xNDMzNixzaXplPTIwNDg+CitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorRGlzayA8cmVtb3ZlZD46IDE1IE1pQiwgMTU3Mjg2NDAgYnl0ZXMsIDMwNzIwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjcgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjggMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjkgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLWdwdC1zcGFjZS1nYXAgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1ncHQtc3BhY2UtZ2FwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMyNmYyODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1ncHQtc3BhY2UtZ2FwCkBAIC0wLDAgKzEsMjQgQEAKK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MCxzdGFydD0yMDQ4LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MSxzdGFydD02MTQ0LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MixzdGFydD04MTkyLHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MyxzdGFydD0xMjI4OCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTQsc3RhcnQ9MTQzMzYsc2l6ZT0yMDQ4PgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorRGlzayA8cmVtb3ZlZD46IDE1IE1pQiwgMTU3Mjg2NDAgYnl0ZXMsIDMwNzIwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLW1ici1lcnItbG9naWNhbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLW1ici1lcnItbG9naWNhbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMmMwYjBkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLWVyci1sb2dpY2FsCkBAIC0wLDAgKzEsMTggQEAKK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MCxzdGFydD0yMDQ4LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MSxzdGFydD00MDk2LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MixzdGFydD02MTQ0LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MyxzdGFydD04MTkyLHNpemU9MjI1Mjg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTQsc3RhcnQ9MTAyNDAsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz01LHN0YXJ0PTQwOTYsc2l6ZT0yMDQ4Pgorc2FtcGxlLWZkaXNrLW1rcGFydC1mdWxsc3BlYzogZmFpbGVkIHRvIGFkZCAjNiBwYXJ0aXRpb24KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNQorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitEaXNrIDxyZW1vdmVkPjogMTUgTWlCLCAxNTcyODY0MCBieXRlcywgMzA3MjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLW1ici1lcnItbm9zcGFjZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLW1ici1lcnItbm9zcGFjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2EwMDY1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLWVyci1ub3NwYWNlCkBAIC0wLDAgKzEsMTIgQEAKK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MCxzdGFydD0yMDQ4LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MSxzdGFydD00MDk2LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MixzdGFydD00MDk2LHNpemU9MjA0OD4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK1N0YXJ0IHNlY3RvciA0MDk2IG91dCBvZiByYW5nZS4KK3NhbXBsZS1mZGlzay1ta3BhcnQtZnVsbHNwZWM6IGZhaWxlZCB0byBhZGQgIzMgcGFydGl0aW9uCitEaXNrIDxyZW1vdmVkPjogMTUgTWlCLCAxNTcyODY0MCBieXRlcywgMzA3MjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLW1ici1lcnItcHJpbWFyeSBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLW1ici1lcnItcHJpbWFyeQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMTQyZjY1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLWVyci1wcmltYXJ5CkBAIC0wLDAgKzEsMTIgQEAKK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MCxzdGFydD0yMDQ4LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89MSxzdGFydD00MDk2LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89NixzdGFydD02MTQ0LHNpemU9MjA0OD4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0V4dGVuZGVkIHBhcnRpdGlvbiBkb2VzIG5vdCBleGlzdHMuIEZhaWxlZCB0byBhZGQgbG9naWNhbCBwYXJ0aXRpb24uCitzYW1wbGUtZmRpc2stbWtwYXJ0LWZ1bGxzcGVjOiBmYWlsZWQgdG8gYWRkICM3IHBhcnRpdGlvbgorRGlzayA8cmVtb3ZlZD46IDE1IE1pQiwgMTU3Mjg2NDAgYnl0ZXMsIDMwNzIwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1tYnItbG9naWNhbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1mdWxsLW1ici1sb2dpY2FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3ZTdhNGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1tYnItbG9naWNhbApAQCAtMCwwICsxLDMzIEBACitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTAsc3RhcnQ9MjA0OCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTEsc3RhcnQ9NDA5NixzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTIsc3RhcnQ9NjE0NCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTMsc3RhcnQ9ODE5MixzaXplPTIyNTI4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz00LHN0YXJ0PTEwMjQwLHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89NSxzdGFydD0xNDMzNixzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTYsc3RhcnQ9MTg0MzIsc2l6ZT0xMjI4OD4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNQorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNworQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitEaXNrIDxyZW1vdmVkPjogMTUgTWlCLCAxNTcyODY0MCBieXRlcywgMzA3MjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA4MTkyIDMwNzE5ICAgMjI1MjggIDExTSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NyAgICAgIDE4NDMyIDMwNzE5ICAgMTIyODggICA2TSA4MyBMaW51eApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLW5vcGFydG5vIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLW5vcGFydG5vCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzZjdhZDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1tYnItbm9wYXJ0bm8KQEAgLTAsMCArMSwzMyBAQAorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9MjA0OCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTxkZWZhdWx0PixzdGFydD00MDk2LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89PGRlZmF1bHQ+LHN0YXJ0PTYxNDQsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9ODE5MixzaXplPTIyNTI4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9MTAyNDAsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9MTQzMzYsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9MTg0MzIsc2l6ZT0xMjI4OD4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNQorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNworQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitEaXNrIDxyZW1vdmVkPjogMTUgTWlCLCAxNTcyODY0MCBieXRlcywgMzA3MjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA4MTkyIDMwNzE5ICAgMjI1MjggIDExTSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NyAgICAgIDE4NDMyIDMwNzE5ICAgMTIyODggICA2TSA4MyBMaW51eApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLXBhcnRuby1nYXAgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1tYnItcGFydG5vLWdhcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZjVmYWI1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLXBhcnRuby1nYXAKQEAgLTAsMCArMSwyNiBAQAorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0wLHN0YXJ0PTIwNDgsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0yLHN0YXJ0PTQwOTYsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0zLHN0YXJ0PTYxNDQsc2l6ZT0yNDU3Nj4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89NCxzdGFydD0xMDI0MCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTUsc3RhcnQ9MTQzMzYsc2l6ZT0yMDQ4PgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNQorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitBZGRpbmcgbG9naWNhbCBwYXJ0aXRpb24gNgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitEaXNrIDxyZW1vdmVkPjogMTUgTWlCLCAxNTcyODY0MCBieXRlcywgMzA3MjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA2MTQ0IDMwNzE5ICAgMjQ1NzYgIDEyTSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgIDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgIDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSA4MyBMaW51eApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLXByaW1hcnkgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1tYnItcHJpbWFyeQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMWU4NDM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLXByaW1hcnkKQEAgLTAsMCArMSwyMSBAQAorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0wLHN0YXJ0PTIwNDgsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0xLHN0YXJ0PTQwOTYsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0yLHN0YXJ0PTYxNDQsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz0zLHN0YXJ0PTgxOTIsc2l6ZT0yMjUyOD4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitEaXNrIDxyZW1vdmVkPjogMTUgTWlCLCAxNTcyODY0MCBieXRlcywgMzA3MjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA4MTkyIDMwNzE5ICAgMjI1MjggIDExTSA4MyBMaW51eApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLXByaW1hcnktbm9wYXJ0bm8gYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1tYnItcHJpbWFyeS1ub3BhcnRubwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGE3MWYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLXByaW1hcnktbm9wYXJ0bm8KQEAgLTAsMCArMSwyMSBAQAorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9MjA0OCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTxkZWZhdWx0PixzdGFydD00MDk2LHNpemU9MjA0OD4KK1JlcXVlc3RlZCBwYXJ0aXRpb246IDxwYXJ0bm89PGRlZmF1bHQ+LHN0YXJ0PTYxNDQsc2l6ZT0yMDQ4PgorUmVxdWVzdGVkIHBhcnRpdGlvbjogPHBhcnRubz08ZGVmYXVsdD4sc3RhcnQ9ODE5MixzaXplPTIyNTI4PgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0Rpc2sgPHJlbW92ZWQ+OiAxNSBNaUIsIDE1NzI4NjQwIGJ5dGVzLCAzMDcyMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgIDgxOTIgMzA3MTkgICAyMjUyOCAgMTFNIDgzIExpbnV4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZnVsbC1tYnItc3BhY2UtZ2FwIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLXNwYWNlLWdhcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NWQ0NTA3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWZ1bGwtbWJyLXNwYWNlLWdhcApAQCAtMCwwICsxLDE4IEBACitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTAsc3RhcnQ9MjA0OCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTEsc3RhcnQ9NjE0NCxzaXplPTIwNDg+CitSZXF1ZXN0ZWQgcGFydGl0aW9uOiA8cGFydG5vPTIsc3RhcnQ9ODE5MixzaXplPTIwNDg+CitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0Rpc2sgPHJlbW92ZWQ+OiAxNSBNaUIsIDE1NzI4NjQwIGJ5dGVzLCAzMDcyMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIDgzIExpbnV4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtZ3B0IGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWdwdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjM0Njk1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LWdwdApAQCAtMCwwICsxLDIzIEBACitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorRGlzayA8cmVtb3ZlZD46IDE1IE1pQiwgMTU3Mjg2NDAgYnl0ZXMsIDMwNzIwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDgxOTIgMTAyMzkgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjUgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjYgMTIyODggMTQzMzUgICAgMjA0OCAgIDFNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjcgMTQzMzYgMzA2ODYgICAxNjM1MSAgIDhNIExpbnV4IGZpbGVzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1tYnIgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtbWJyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyMTIwMDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtbWJyCkBAIC0wLDAgKzEsMTcgQEAKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitEaXNrIDxyZW1vdmVkPjogMTUgTWlCLCAxNTcyODY0MCBieXRlcywgMzA3MjAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMDQ4ICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICA4MTkyIDMwNzE5ICAgMjI1MjggIDExTSA4MyBMaW51eApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LW1ici1sb2dpYyBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1tYnItbG9naWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTc4ZWFmMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYmZkaXNrL21rcGFydC1tYnItbG9naWMKQEAgLTAsMCArMSwyNiBAQAorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA1CitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA2CitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0FkZGluZyBsb2dpY2FsIHBhcnRpdGlvbiA3CitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0Rpc2sgPHJlbW92ZWQ+OiAxNSBNaUIsIDE1NzI4NjQwIGJ5dGVzLCAzMDcyMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgIDYxNDQgIDgxOTEgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgIDgxOTIgMzA3MTkgICAyMjUyOCAgMTFNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgMTQzMzYgMTYzODMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD43ICAgICAgMTg0MzIgMzA3MTkgICAxMjI4OCAgIDZNIDgzIExpbnV4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJmZGlzay9ta3BhcnQtbWJyLW5vcGFydG5vIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LW1ici1ub3BhcnRubwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNzhlYWYyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGliZmRpc2svbWtwYXJ0LW1ici1ub3BhcnRubwpAQCAtMCwwICsxLDI2IEBACitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCitDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDUKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDYKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorQWRkaW5nIGxvZ2ljYWwgcGFydGl0aW9uIDcKK0NyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorRGlzayA8cmVtb3ZlZD46IDE1IE1pQiwgMTU3Mjg2NDAgYnl0ZXMsIDMwNzIwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgNDA5NiAgNjE0MyAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNjE0NCAgODE5MSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjQgICAgICAgODE5MiAzMDcxOSAgIDIyNTI4ICAxMU0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAxMDI0MCAxMjI4NyAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAxNDMzNiAxNjM4MyAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjcgICAgICAxODQzMiAzMDcxOSAgIDEyMjg4ICAgNk0gODMgTGludXgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVlMjY4YTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0CkBAIC0wLDAgKzEsNSBAQAorSW5pdCBkZXZpY2UKK0NyZWF0ZSBwYXJ0aXRpb25zCitDcmVhdGUgZmlsZXN5c3RlbQorRG8gdGVzdHMuLi4KKy4uLmRvbmUuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LVgtbW91bnQubWtkaXIgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LVgtbW91bnQubWtkaXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtWC1tb3VudC5ta2RpcgpAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1tb3VudC1ieS1kZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1tb3VudC1ieS1kZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWJ5LWRldm5hbWUKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtYnktbGFiZWwgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWJ5LWxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWJ5LWxhYmVsCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWJ5LXV1aWQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWJ5LXV1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY0NGZjNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtYnktdXVpZApAQCAtMCwwICsxLDIgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtZmxhZ3MgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWZsYWdzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk2MDY0MTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LW1vdW50LWZsYWdzCkBAIC0wLDAgKzEsNSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKK3JvLG5vc3VpZCxub2V4ZWMKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCitydyxub3N1aWQsbm9leGVjCitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtbG9vcGRldiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtbW91bnQtbG9vcGRldgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZjQ0ZmM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1tb3VudC1sb29wZGV2CkBAIC0wLDAgKzEsMiBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWUyNjhhMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHkKQEAgLTAsMCArMSw1IEBACitJbml0IGRldmljZQorQ3JlYXRlIHBhcnRpdGlvbnMKK0NyZWF0ZSBmaWxlc3lzdGVtCitEbyB0ZXN0cy4uLgorLi4uZG9uZS4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktbW91bnQtYnktZGV2bmFtZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktbW91bnQtYnktZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTA0YTdlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1ieS1kZXZuYW1lCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWJ5LWxhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1ieS1sYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTA0YTdlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1ieS1sYWJlbApAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1ieS11dWlkIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1ieS11dWlkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmNDRmYzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWJ5LXV1aWQKQEAgLTAsMCArMSwyIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWZsYWdzIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1mbGFncwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NjA2NDE4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS1tb3VudC1mbGFncwpAQCAtMCwwICsxLDUgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCitybyxub3N1aWQsbm9leGVjCitzdWNjZXNzZnVsbHkgbW91bnRlZAorcncsbm9zdWlkLG5vZXhlYworc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWxvb3BkZXYgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LW1vdW50LWxvb3BkZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmY0NGZjNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktbW91bnQtbG9vcGRldgpAQCAtMCwwICsxLDIgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktdW1vdW50LWJ5LWRldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LXVtb3VudC1ieS1kZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTIzNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LXVtb3VudC1ieS1kZXZuYW1lCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC1weS11bW91bnQtYnktbW91bnRwb2ludCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktdW1vdW50LWJ5LW1vdW50cG9pbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHktdW1vdW50LWJ5LW1vdW50cG9pbnQKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LXgtbW91bnQubWtkaXIgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXB5LXgtbW91bnQubWtkaXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtcHkteC1tb3VudC5ta2RpcgpAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11bW91bnQtYnktZGV2bmFtZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdW1vdW50LWJ5LWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzE5MjM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdW1vdW50LWJ5LWRldm5hbWUKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXVtb3VudC1ieS1tb3VudHBvaW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11bW91bnQtYnktbW91bnRwb2ludApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMTkyMzZmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11bW91bnQtYnktbW91bnRwb2ludApAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjQwM2U1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiCkBAIC0wLDAgKzEsNCBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK0NyZWF0ZSBmaWxlc3lzdGVtCitEbyB0ZXN0cy4uLgorLi4uZG9uZS4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1tb3VudC1ieS1kZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLW1vdW50LWJ5LWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1tb3VudC1ieS1kZXZuYW1lCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItbW91bnQtdWhlbHBlciBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1tb3VudC11aGVscGVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItbW91bnQtdWhlbHBlcgpAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLW1vdW50LXVoZWxwZXItc3Vidm9sIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLW1vdW50LXVoZWxwZXItc3Vidm9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItbW91bnQtdWhlbHBlci1zdWJ2b2wKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43YjQwM2U1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5CkBAIC0wLDAgKzEsNCBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK0NyZWF0ZSBmaWxlc3lzdGVtCitEbyB0ZXN0cy4uLgorLi4uZG9uZS4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS1tb3VudC1ieS1kZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LW1vdW50LWJ5LWRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzUwNGE3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS1tb3VudC1ieS1kZXZuYW1lCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktbW91bnQtdWhlbHBlciBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS1tb3VudC11aGVscGVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktbW91bnQtdWhlbHBlcgpAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgbW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LW1vdW50LXVoZWxwZXItc3Vidm9sIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LW1vdW50LXVoZWxwZXItc3Vidm9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1MDRhN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktbW91bnQtdWhlbHBlci1zdWJ2b2wKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IG1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS11bW91bnQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktdW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTIzNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktdW1vdW50CkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LXVtb3VudC1ieS1kZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXB5LXVtb3VudC1ieS1kZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTIzNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktdW1vdW50LWJ5LWRldm5hbWUKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktdW1vdW50LXN1YnZvbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weS11bW91bnQtc3Vidm9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTIzNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItcHktdW1vdW50LXN1YnZvbApAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi11bW91bnQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItdW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTIzNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItdW1vdW50CkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSB1bW91bnRlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXVtb3VudC1ieS1kZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC11dGFiLXVtb3VudC1ieS1kZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTIzNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItdW1vdW50LWJ5LWRldm5hbWUKQEAgLTAsMCArMSBAQAorc3VjY2Vzc2Z1bGx5IHVtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItdW1vdW50LXN1YnZvbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQtdXRhYi11bW91bnQtc3Vidm9sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMxOTIzNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9jb250ZXh0LXV0YWItdW1vdW50LXN1YnZvbApAQCAtMCwwICsxIEBACitzdWNjZXNzZnVsbHkgdW1vdW50ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQteC1tb3VudC5ta2RpciBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2NvbnRleHQteC1tb3VudC5ta2RpcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NTA0YTdlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvY29udGV4dC14LW1vdW50Lm1rZGlyCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3NmdWxseSBtb3VudGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9kZWJ1Zy1zZXQtZnJvbS1jb2RlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvZGVidWctc2V0LWZyb20tY29kZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44Y2QyOGMyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvZGVidWctc2V0LWZyb20tY29kZQpAQCAtMCwwICsxIEBACisweDAwMTYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2RlYnVnLXNldC1mcm9tLWVudi1pbnQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9kZWJ1Zy1zZXQtZnJvbS1lbnYtaW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZDI4YzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9kZWJ1Zy1zZXQtZnJvbS1lbnYtaW50CkBAIC0wLDAgKzEgQEAKKzB4MDAxNgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvZGVidWctc2V0LWZyb20tZW52LXN0ciBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2RlYnVnLXNldC1mcm9tLWVudi1zdHIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNkMjhjMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2RlYnVnLXNldC1mcm9tLWVudi1zdHIKQEAgLTAsMCArMSBAQAorMHgwMDE2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb2NrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9jawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kN2UzMThkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9jawpAQCAtMCwwICsxIEBACis1MDAwMApcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3AgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3AtY29uZmxpY3QgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wLWNvbmZsaWN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE2ODYwMjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wLWNvbmZsaWN0CkBAIC0wLDAgKzEsMiBAQAorbW91bnQ6IDx0YXJnZXQ+IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgPHNvdXJjZT4KK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3AtZGV2LWxvb3AgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wLWRldi1sb29wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wLWRldi1sb29wCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3AtZmlsZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3AtZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9vcC1maWxlCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3AtZmlsZS1vLWxvb3AgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wLWZpbGUtby1sb29wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9sb29wLWZpbGUtby1sb29wCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3Atby1sb29wLXZhbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3Atby1sb29wLXZhbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9vcC1vLWxvb3AtdmFsCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3Atby1sb29wLXZhbC1jb25mbGljdCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3Atby1sb29wLXZhbC1jb25mbGljdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWI3MzIyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9vcC1vLWxvb3AtdmFsLWNvbmZsaWN0CkBAIC0wLDAgKzEsMiBAQAorbW91bnQ6IDx0YXJnZXQ+IGZhaWxlZCB0byBzZXR1cCBsb29wIGRldmljZSBmb3IgPHNvdXJjZT4KK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3Atby1sb29wLXZhbC1pbml0aWFsaXplZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3Atby1sb29wLXZhbC1pbml0aWFsaXplZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNjg2MDIxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9vcC1vLWxvb3AtdmFsLWluaXRpYWxpemVkCkBAIC0wLDAgKzEsMiBAQAorbW91bnQ6IDx0YXJnZXQ+IG92ZXJsYXBwaW5nIGxvb3AgZGV2aWNlIGV4aXN0cyBmb3IgPHNvdXJjZT4KK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3Atb3ZlcmxheSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3Atb3ZlcmxheQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zOTkwMjQ0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9vcC1vdmVybGF5CkBAIC0wLDAgKzEsNyBAQAorc2Vjb25kIHNob3VsZCBmYWlsCittb3VudDogPHRhcmdldD4gb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciA8c291cmNlPgorc2hvdWxkIHN1Y2NlZWQKK2JvdGggc2hvdWxkIGZhaWwKK21vdW50OiA8dGFyZ2V0PiBvdmVybGFwcGluZyBsb29wIGRldmljZSBleGlzdHMgZm9yIDxzb3VyY2U+Cittb3VudDogPHRhcmdldD4gb3ZlcmxhcHBpbmcgbG9vcCBkZXZpY2UgZXhpc3RzIGZvciA8c291cmNlPgorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvbG9vcC1yZXVzZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3AtcmV1c2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L2xvb3AtcmV1c2UKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGVuZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjhlNTg0NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBlbmQKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGJiYj1CQkIsY29udGV4dD0iZm9vLGJhcixnb2dvIixjY2MsZGRkPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGVuZC1lbXB0eS12YWx1ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBlbmQtZW1wdHktdmFsdWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzVhZGY1YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBlbmQtZW1wdHktdmFsdWUKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGJiYj1CQkIsY2NjLGRkZD08CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItYXBwZW5kLXZhbHVlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGVuZC12YWx1ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDExNmY2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGVuZC12YWx1ZQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsYmJiPUJCQixjY2MsZGRkPURERDwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBseS1saW51eCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBseS1saW51eApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MGE1MmE3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWFwcGx5LWxpbnV4CkBAIC0wLDAgKzEsMiBAQAorZmxhZ3M6ICAweDAwMDAwNDAwCitvcHRzdHI6IHJ3LHVzZXI9a3phayxub2F0aW1lCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItYXBwbHktdXNlciBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1hcHBseS11c2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJmMzQ3MzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItYXBwbHktdXNlcgpAQCAtMCwwICsxLDIgQEAKK2ZsYWdzOiAgMHgwMDAwMDQwOAorb3B0c3RyOiBub2V4ZWMsbm9zdWlkLHVzZXIsbm9mYWlsCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZGVkdXBsaWNhdGUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZGVkdXBsaWNhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTJiNjY5YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1kZWR1cGxpY2F0ZQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5iYmIsY2NjLHh4eCxkZGQsQUFBPWNjYyxmZmY9ZWVlPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWRlZHVwbGljYXRlLWVtcHR5IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWRlZHVwbGljYXRlLWVtcHR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzYjc0ZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZGVkdXBsaWNhdGUtZW1wdHkKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YmJiLGNjYyx4eHgsZGRkLEFBQT0sZmZmPWVlZTwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1maXggYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZml4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllYjY4MTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZml4CkBAIC0wLDAgKzEsMiBAQAorb3B0c3RyOiB1aWQ9cm9vdCxnaWQ9cm9vdAorZml4ZWQ6ICB1aWQ9MCxnaWQ9MApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWZsYWdzIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLWZsYWdzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3YjQ3MjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZmxhZ3MKQEAgLTAsMCArMSwyIEBACittb3VudGZsYWdzOiAgICAgICAgICAgMHgwMDAwMDAwZQordXNlcnNwYWNlLW1vdW50ZmxhZ3M6IDB4MDAwMDIyMDgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1nZXQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYWZjNjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZ2V0CkBAIC0wLDAgKzEgQEAKK2ZvdW5kOyBuYW1lOiBhYWEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1nZXQtdmFsdWUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZ2V0LXZhbHVlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjUwOTg0M2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItZ2V0LXZhbHVlCkBAIC0wLDAgKzEgQEAKK2ZvdW5kOyBuYW1lOiBiYmIsIGFyZ3VtZW50OiBzaXplPTMgZGF0YT1CQkIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1wcmVwZW5kIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXByZXBlbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RjZjc1MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1wcmVwZW5kCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmRkZCxhYWEsYmJiPUJCQixjY2M8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcHJlcGVuZC1lbXB0eS12YWx1ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1wcmVwZW5kLWVtcHR5LXZhbHVlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjZWE2MzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcHJlcGVuZC1lbXB0eS12YWx1ZQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5kZGQ9LGFhYSxiYmI9QkJCLGNjYzwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1wcmVwZW5kLXZhbHVlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXByZXBlbmQtdmFsdWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGViYzdlZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1wcmVwZW5kLXZhbHVlCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmRkZD1EREQsYWFhLGJiYj1CQkIsY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1yZW1vdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMyOGVkMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1yZW1vdmUKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YmJiPUJCQixjY2M8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcmVtb3ZlLWVtcHR5LXZhbHVlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZS1lbXB0eS12YWx1ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWU1Yzk1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZS1lbXB0eS12YWx1ZQpAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZS1xdW90ZWQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItcmVtb3ZlLXF1b3RlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MmZjNWUzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZS1xdW90ZWQKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGJiYj1CQkIsY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXJlbW92ZS12YWx1ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1yZW1vdmUtdmFsdWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWVlNWM5NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1yZW1vdmUtdmFsdWUKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGNjYzwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtZW1wdHkgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LWVtcHR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwYTMzMDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LWVtcHR5CkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmFhYSxiYmI9LGNjYzwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbGFyZ2UgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LWxhcmdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1MThjMjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LWxhcmdlCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmFhYSxiYmI9WFhYLVlZWS1aWlosY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1uZXcgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDQ1YjRmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1uZXcKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhPVhYWCxiYmI9QkJCLGNjYzwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbmV3LWVtcHR5IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1uZXctZW1wdHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFjZmIzNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbmV3LWVtcHR5CkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmFhYT0sYmJiPUJCQixjY2M8CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldy1lbmQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldy1lbmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzk2NzVhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtbmV3LWVuZApAQCAtMCwwICsxIEBACityZXN1bHQ6ID5hYWEsYmJiPUJCQixjY2M9WFhYPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1uZXctZW5kLWVtcHR5IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1uZXctZW5kLWVtcHR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZTk4ODAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC9vcHRzdHItc2V0LW5ldy1lbmQtZW1wdHkKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGJiYj1CQkIsY2NjPTwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtcmVtb3ZlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1yZW1vdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDUwNWJlZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtcmVtb3ZlCkBAIC0wLDAgKzEgQEAKK3Jlc3VsdDogPmFhYSxiYmIsY2NjPApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNldC1zbWFsbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtc21hbGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmMzNThiMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zZXQtc21hbGwKQEAgLTAsMCArMSBAQAorcmVzdWx0OiA+YWFhLGJiYj1YLGNjYzwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zcGxpdCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L29wdHN0ci1zcGxpdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDFhNjQwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvb3B0c3RyLXNwbGl0CkBAIC0wLDAgKzEsMyBAQAordXNlciA6IHgtYmFyLHgtZm9vPWZvb2RhdGEsdXNlcj1remFrLGxvb3A9L2Rldi9sb29wMAordmZzICA6IG5vZXhlYyxub3N1aWQKK2ZzICAgOiBhYWEsYmJiPUJCQixjY2MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtbW91bnQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJkaWZmLW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjMWM0YmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJkaWZmLW1vdW50CkBAIC0wLDAgKzEsMiBAQAorL2Rldi9tYXBwZXIva3phay1ob21lIG9uIC9ob21lL2t6YWs6IE1PVU5URUQKKy9mb29vb28gb24gL21udC9mb286IE1PVU5URUQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtbW92ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtbW92ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNjE4NDk4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZGlmZi1tb3ZlCkBAIC0wLDAgKzEsMiBAQAorLy9mb28uaG9tZS9iYXIvIG9uIC9tbnQvbXVzaWM6IE1PVkVEIHRvIC9tbnQvbXVzaWMKKy9mb29vb28gb24gL21udC9mb286IFVNT1VOVEVECmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJkaWZmLXJlbW91bnQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJkaWZmLXJlbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzE3NWZkYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtcmVtb3VudApAQCAtMCwwICsxLDMgQEAKKy9kZXYvbWFwcGVyL2t6YWstaG9tZSBvbiAvaG9tZS9remFrOiBSRU1PVU5URUQgZnJvbSAncncsbm9hdGltZSxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkJyB0byAncm8sbm9hdGltZSxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkJworLy9mb28uaG9tZS9iYXIvIG9uIC9tbnQvc291bmRzOiBSRU1PVU5URUQgZnJvbSAncncscmVsYXRpbWUsdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQnIHRvICdybyxyZWxhdGltZSx1bmM9XFxmb28uaG9tZVxiYXIsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHBvc2l4cGF0aHMsc2VydmVyaW5vLGFjbCxyc2l6ZT0xNjM4NCx3c2l6ZT01NzM0NCcKKy9mb29vb28gb24gL21udC9mb286IFVNT1VOVEVECmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJkaWZmLXVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmRpZmYtdW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMzlhZjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJkaWZmLXVtb3VudApAQCAtMCwwICsxLDIgQEAKKy9kZXYvbWFwcGVyL2t6YWstaG9tZSBvbiAvaG9tZS9remFrOiBVTU9VTlRFRAorL2Zvb29vbyBvbiAvbW50L2ZvbzogVU1PVU5URUQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWNvcHkgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1jb3B5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAwNTQ1ODYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1jb3B5CkBAIC0wLDAgKzEsMTggQEAKK09SSUdJTkFMOgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDEKK0NPUFk6CistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwCit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC1wYWlyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC1wYWlyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZiZDczMGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXBhaXIKQEAgLTAsMCArMSw2IEBACistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2t6YWstaG9tZQordGFyZ2V0OiAvaG9tZS9remFrCitmc3R5cGU6IGV4dDQKK29wdHN0cjogcncsbm9hdGltZQorVkZTLW9wdHN0cjogcncsbm9hdGltZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC1zb3VyY2UgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXNvdXJjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzQ2NTJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC1zb3VyY2UKQEAgLTAsMCArMSw4IEBACistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmCit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWZpbmQtdGFyZ2V0IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC10YXJnZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWE1MWJkNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWZpbmQtdGFyZ2V0CkBAIC0wLDAgKzEsNiBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9mb28KK3RhcmdldDogL2hvbWUvZm9vCitmc3R5cGU6IGV4dDQKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC10YXJnZXQyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtZmluZC10YXJnZXQyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNmM1N2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXRhcmdldDIKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvZm9vCit0YXJnZXQ6IC9hbnkvZm9vLworZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXRhcmdldDMgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1maW5kLXRhcmdldDMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGE2YzU3YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLWZpbmQtdGFyZ2V0MwpAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9mb28KK3RhcmdldDogL2FueS9mb28vCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLWZzdGFiIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtZnN0YWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDY2MTUyNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLWZzdGFiCkBAIC0wLDAgKzEsNjUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAKK3RhcmdldDogLworZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAxCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmCit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDIKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD0xZjJhYTMxOC05YzM0LTQ2MmUtOGQyOS0yNjA4MTlmZmQ2NTcKK3RhcmdldDogc3dhcAorZnN0eXBlOiBzd2FwCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IHRtcGZzCit0YXJnZXQ6IC9kZXYvc2htCitmc3R5cGU6IHRtcGZzCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IGRldnB0cwordGFyZ2V0OiAvZGV2L3B0cworZnN0eXBlOiBkZXZwdHMKK29wdHN0cjogZ2lkPTUsbW9kZT02MjAKK0ZTLW9wc3RyOiBnaWQ9NSxtb2RlPTYyMAorLS0tLS0tIGZzOgorc291cmNlOiBzeXNmcwordGFyZ2V0OiAvc3lzCitmc3R5cGU6IHN5c2ZzCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IHByb2MKK3RhcmdldDogL3Byb2MKK2ZzdHlwZTogcHJvYworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9mb28KK3RhcmdldDogL2hvbWUvZm9vCitmc3R5cGU6IGV4dDQKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorLS0tLS0tIGZzOgorc291cmNlOiBmb28uY29tOi9tbnQvc2hhcmUKK3RhcmdldDogL21udC9yZW1vdGUKK2ZzdHlwZTogbmZzCitvcHRzdHI6IG5vYXV0bwordXNlci1vcHRzdHI6IG5vYXV0bworLS0tLS0tIGZzOgorc291cmNlOiAvL2Jhci5jb20vZ29nb2dvCit0YXJnZXQ6IC9tbnQvZ29nb2dvCitmc3R5cGU6IGNpZnMKK29wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCit1c2VyLW9wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvZm9vCit0YXJnZXQ6IC9hbnkvZm9vLworZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1mc3RhYi1icm9rZW4gYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1mc3RhYi1icm9rZW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjgzOGZiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLWZzdGFiLWJyb2tlbgpAQCAtMCwwICsxLDYzIEBACisKKworLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDEKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPTFmMmFhMzE4LTljMzQtNDYyZS04ZDI5LTI2MDgxOWZmZDY1NwordGFyZ2V0OiBzd2FwCitmc3R5cGU6IHN3YXAKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogdG1wZnMKK3RhcmdldDogL2Rldi9zaG0KK2ZzdHlwZTogdG1wZnMKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBnaWQ9NSxtb2RlPTYyMAorRlMtb3BzdHI6IGdpZD01LG1vZGU9NjIwCistLS0tLS0gZnM6Citzb3VyY2U6IHN5c2ZzCit0YXJnZXQ6IC9zeXMKK2ZzdHlwZTogc3lzZnMKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogcHJvYwordGFyZ2V0OiAvcHJvYworZnN0eXBlOiBwcm9jCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2ZvbwordGFyZ2V0OiAvaG9tZS9mb28KK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKKy0tLS0tLSBmczoKK3NvdXJjZTogZm9vLmNvbTovbW50L3NoYXJlCit0YXJnZXQ6IC9tbnQvcmVtb3RlCitmc3R5cGU6IG5mcworb3B0c3RyOiBub2F1dG8KK3VzZXItb3B0c3RyOiBub2F1dG8KKy0tLS0tLSBmczoKK3NvdXJjZTogLy9iYXIuY29tL2dvZ29nbwordGFyZ2V0OiAvbW50L2dvZ29nbworZnN0eXBlOiBjaWZzCitvcHRzdHI6IHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bwordXNlci1vcHRzdHI6IHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtZnN0YWItZnVsbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLWZzdGFiLWZ1bGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjFjYWZmNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLWZzdGFiLWZ1bGwKQEAgLTAsMCArMSw4MyBAQAorSW5pdGlhbCBjb21tZW50OgorIiMKKyAjIHRoaXMgaXMgYSBsZWFkaW5nIGNvbW1lbnQKKyMKKworIgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDEKK2NvbW1lbnQ6ICcjIHRoaXMgY29tbWVudHMgYmVsb25ncyB0byB0aGUgZmlyc3QgZnMKKycKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPTFmMmFhMzE4LTljMzQtNDYyZS04ZDI5LTI2MDgxOWZmZDY1NwordGFyZ2V0OiBzd2FwCitmc3R5cGU6IHN3YXAKK29wdHN0cjogZGVmYXVsdHMKK2NvbW1lbnQ6ICcKKyMgM3JkIGZzIGNvbW1lbnQgKyBuZXdsaW5lIHBhZGRpbmcKKworJworLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiBkZXZwdHMKK3RhcmdldDogL2Rldi9wdHMKK2ZzdHlwZTogZGV2cHRzCitvcHRzdHI6IGdpZD01LG1vZGU9NjIwCitGUy1vcHN0cjogZ2lkPTUsbW9kZT02MjAKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzZnMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiBwcm9jCit0YXJnZXQ6IC9wcm9jCitmc3R5cGU6IHByb2MKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIvZm9vCit0YXJnZXQ6IC9ob21lL2ZvbworZnN0eXBlOiBleHQ0CitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2NvbW1lbnQ6ICcjIHRoaXMgaXMgY29tbWVudAorJworLS0tLS0tIGZzOgorc291cmNlOiBmb28uY29tOi9tbnQvc2hhcmUKK3RhcmdldDogL21udC9yZW1vdGUKK2ZzdHlwZTogbmZzCitvcHRzdHI6IG5vYXV0bwordXNlci1vcHRzdHI6IG5vYXV0bworLS0tLS0tIGZzOgorc291cmNlOiAvL2Jhci5jb20vZ29nb2dvCit0YXJnZXQ6IC9tbnQvZ29nb2dvCitmc3R5cGU6IGNpZnMKK29wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCit1c2VyLW9wdHN0cjogdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvZm9vCit0YXJnZXQ6IC9hbnkvZm9vLworZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCitUcmFpbGluZyBjb21tZW50OgorIgorI3RoaXMgaXMgYSB0cmFpbGluZyBjb21tZW50CisiCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1tb3VudGluZm8gYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1tb3VudGluZm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgzOTBhYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLW1vdW50aW5mbwpAQCAtMCwwICsxLDM2MyBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvcHJvYwordGFyZ2V0OiAvcHJvYworZnN0eXBlOiBwcm9jCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMTUKK3BhcmVudDogMjAKK2Rldm5vOiAgMDozCistLS0tLS0gZnM6Citzb3VyY2U6IC9zeXMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDE2CitwYXJlbnQ6IDIwCitkZXZubzogIDA6MTUKKy0tLS0tLSBmczoKK3NvdXJjZTogdWRldgordGFyZ2V0OiAvZGV2Citmc3R5cGU6IGRldnRtcGZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLHNpemU9MTk4MzUxNmssbnJfaW5vZGVzPTQ5NTg3OSxtb2RlPTc1NQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKK3Jvb3Q6ICAgLworaWQ6ICAgICAxNworcGFyZW50OiAyMAorZGV2bm86ICAwOjUKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBydyxyZWxhdGltZSxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCityb290OiAgIC8KK2lkOiAgICAgMTgKK3BhcmVudDogMTcKK2Rldm5vOiAgMDoxMAorLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDE5CitwYXJlbnQ6IDE3CitkZXZubzogIDA6MTYKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9zZGE0Cit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCitGUy1vcHN0cjogcncsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3Jvb3Q6ICAgLworaWQ6ICAgICAyMAorcGFyZW50OiAxCitkZXZubzogIDg6NAorLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cAorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG1vZGU9NzU1CitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsbW9kZT03NTUKK3Jvb3Q6ICAgLworaWQ6ICAgICAyMQorcGFyZW50OiAxNgorZGV2bm86ICAwOjE3CistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCityb290OiAgIC8KK2lkOiAgICAgMjIKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoxOAorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvY3B1c2V0Citmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdXNldAorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGNwdXNldAorcm9vdDogICAvCitpZDogICAgIDIzCitwYXJlbnQ6IDIxCitkZXZubzogIDA6MTkKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL25zCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG5zCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsbnMKK3Jvb3Q6ICAgLworaWQ6ICAgICAyNAorcGFyZW50OiAyMQorZGV2bm86ICAwOjIwCistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9jcHUKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1CitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsY3B1Cityb290OiAgIC8KK2lkOiAgICAgMjUKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyMQorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdAorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVhY2N0CitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsY3B1YWNjdAorcm9vdDogICAvCitpZDogICAgIDI2CitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjIKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL21lbW9yeQorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxtZW1vcnkKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxtZW1vcnkKK3Jvb3Q6ICAgLworaWQ6ICAgICAyNworcGFyZW50OiAyMQorZGV2bm86ICAwOjIzCistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9kZXZpY2VzCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGRldmljZXMKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxkZXZpY2VzCityb290OiAgIC8KK2lkOiAgICAgMjgKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyNAorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvZnJlZXplcgorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxmcmVlemVyCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsZnJlZXplcgorcm9vdDogICAvCitpZDogICAgIDI5CitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjUKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL25ldF9jbHMKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbmV0X2NscworVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LG5ldF9jbHMKK3Jvb3Q6ICAgLworaWQ6ICAgICAzMAorcGFyZW50OiAyMQorZGV2bm86ICAwOjI2CistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9ibGtpbworZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxibGtpbworVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGJsa2lvCityb290OiAgIC8KK2lkOiAgICAgMzEKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyNworLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL3N5cy9rZXJuZWwvc2VjdXJpdHkKK2ZzdHlwZTogYXV0b2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cityb290OiAgIC8KK2lkOiAgICAgMzIKK3BhcmVudDogMTYKK2Rldm5vOiAgMDoyOAorLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL2Rldi9odWdlcGFnZXMKK2ZzdHlwZTogYXV0b2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cityb290OiAgIC8KK2lkOiAgICAgMzMKK3BhcmVudDogMTcKK2Rldm5vOiAgMDoyOQorLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL3N5cy9rZXJuZWwvZGVidWcKK2ZzdHlwZTogYXV0b2ZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0Cityb290OiAgIC8KK2lkOiAgICAgMzQKK3BhcmVudDogMTYKK2Rldm5vOiAgMDozMAorLS0tLS0tIGZzOgorc291cmNlOiBzeXN0ZW1kLTEKK3RhcmdldDogL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjCitmc3R5cGU6IGF1dG9mcworb3B0c3RyOiBydyxyZWxhdGltZSxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorcm9vdDogICAvCitpZDogICAgIDM1CitwYXJlbnQ6IDE1CitkZXZubzogIDA6MzEKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzdGVtZC0xCit0YXJnZXQ6IC9kZXYvbXF1ZXVlCitmc3R5cGU6IGF1dG9mcworb3B0c3RyOiBydyxyZWxhdGltZSxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorcm9vdDogICAvCitpZDogICAgIDM2CitwYXJlbnQ6IDE3CitkZXZubzogIDA6MzIKKy0tLS0tLSBmczoKK3NvdXJjZTogL3Byb2MvYnVzL3VzYgordGFyZ2V0OiAvcHJvYy9idXMvdXNiCitmc3R5cGU6IHVzYmZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMzcKK3BhcmVudDogMTUKK2Rldm5vOiAgMDoxNAorLS0tLS0tIGZzOgorc291cmNlOiBodWdldGxiZnMKK3RhcmdldDogL2Rldi9odWdlcGFnZXMKK2ZzdHlwZTogaHVnZXRsYmZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMzgKK3BhcmVudDogMzMKK2Rldm5vOiAgMDozMworLS0tLS0tIGZzOgorc291cmNlOiBtcXVldWUKK3RhcmdldDogL2Rldi9tcXVldWUKK2ZzdHlwZTogbXF1ZXVlCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMzkKK3BhcmVudDogMzYKK2Rldm5vOiAgMDoxMgorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L3NkYTYKK3RhcmdldDogL2Jvb3QKK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCitGUy1vcHN0cjogcncsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3Jvb3Q6ICAgLworaWQ6ICAgICA0MAorcGFyZW50OiAyMAorZGV2bm86ICA4OjYKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIva3phay1ob21lCit0YXJnZXQ6IC9ob21lL2t6YWsKK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBydyxub2F0aW1lLGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKK0ZTLW9wc3RyOiBydyxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkCityb290OiAgIC8KK2lkOiAgICAgNDEKK3BhcmVudDogMjAKK2Rldm5vOiAgMjUzOjAKKy0tLS0tLSBmczoKK3NvdXJjZTogbm9uZQordGFyZ2V0OiAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MKK2ZzdHlwZTogYmluZm10X21pc2MKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICA0MgorcGFyZW50OiAzNQorZGV2bm86ICAwOjM0CistLS0tLS0gZnM6Citzb3VyY2U6IGZ1c2VjdGwKK3RhcmdldDogL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zCitmc3R5cGU6IGZ1c2VjdGwKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICA0MworcGFyZW50OiAxNgorZGV2bm86ICAwOjM1CistLS0tLS0gZnM6Citzb3VyY2U6IGd2ZnMtZnVzZS1kYWVtb24KK3RhcmdldDogL2hvbWUva3phay8uZ3ZmcworZnN0eXBlOiBmdXNlLmd2ZnMtZnVzZS1kYWVtb24KK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lLHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lCitGUy1vcHN0cjogcncsdXNlcl9pZD01MDAsZ3JvdXBfaWQ9NTAwCityb290OiAgIC8KK2lkOiAgICAgNDQKK3BhcmVudDogNDEKK2Rldm5vOiAgMDozNgorLS0tLS0tIGZzOgorc291cmNlOiBzdW5ycGMKK3RhcmdldDogL3Zhci9saWIvbmZzL3JwY19waXBlZnMKK2ZzdHlwZTogcnBjX3BpcGVmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDQ1CitwYXJlbnQ6IDIwCitkZXZubzogIDA6MzcKKy0tLS0tLSBmczoKK3NvdXJjZTogLy9mb28uaG9tZS9iYXIvCit0YXJnZXQ6IC9tbnQvc291bmRzCitmc3R5cGU6IGNpZnMKK29wdHN0cjogcncscmVsYXRpbWUsdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQKK3Jvb3Q6ICAgLworaWQ6ICAgICA0NworcGFyZW50OiAyMAorZGV2bm86ICAwOjM4CistLS0tLS0gZnM6Citzb3VyY2U6IC9mb29vb28KK3RhcmdldDogL21udC9mb28KK2ZzdHlwZTogYmFyCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgNDgKK3BhcmVudDogMjAKK2Rldm5vOiAgMDozOQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtbW91bnRpbmZvLW5vc3JjIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2UtbW91bnRpbmZvLW5vc3JjCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkNDRlZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1tb3VudGluZm8tbm9zcmMKQEAgLTAsMCArMSw3OCBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvcHJvYwordGFyZ2V0OiAvcHJvYworZnN0eXBlOiBwcm9jCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgMTUKK3BhcmVudDogMjAKK2Rldm5vOiAgMDozCistLS0tLS0gZnM6Citzb3VyY2U6IC9zeXMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDE2CitwYXJlbnQ6IDIwCitkZXZubzogIDA6MTUKKy0tLS0tLSBmczoKK3NvdXJjZTogdWRldgordGFyZ2V0OiAvZGV2Citmc3R5cGU6IGRldnRtcGZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLHNpemU9MTk4MzUxNmssbnJfaW5vZGVzPTQ5NTg3OSxtb2RlPTc1NQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKK3Jvb3Q6ICAgLworaWQ6ICAgICAxNworcGFyZW50OiAyMAorZGV2bm86ICAwOjUKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBydyxyZWxhdGltZSxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCityb290OiAgIC8KK2lkOiAgICAgMTgKK3BhcmVudDogMTcKK2Rldm5vOiAgMDoxMAorLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDE5CitwYXJlbnQ6IDE3CitkZXZubzogIDA6MTYKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9zZGE0Cit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBydyxub2F0aW1lLGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCitGUy1vcHN0cjogcncsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKK3Jvb3Q6ICAgLworaWQ6ICAgICAyMAorcGFyZW50OiAxCitkZXZubzogIDg6NAorLS0tLS0tIGZzOgorc291cmNlOiAKK3RhcmdldDogL21udC90ZXN0Citmc3R5cGU6IHRtcGZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3CitvcHRpb25hbC1maWVsZHM6ICdzaGFyZWQ6MjEyJworcm9vdDogICAvCitpZDogICAgIDIxCitwYXJlbnQ6IDIwCitkZXZubzogIDA6NTMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXBhcnNlLW10YWIgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1tdGFiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZjQ4NDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1tdGFiCkBAIC0wLDAgKzEsNzUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9zZGE0Cit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBydyxub2F0aW1lCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCistLS0tLS0gZnM6Citzb3VyY2U6IHByb2MKK3RhcmdldDogL3Byb2MKK2ZzdHlwZTogcHJvYworb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzZnMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBydyxnaWQ9NSxtb2RlPTYyMAorVkZTLW9wdHN0cjogcncKK0ZTLW9wc3RyOiBnaWQ9NSxtb2RlPTYyMAorLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9zZGE2Cit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogcncsbm9hdGltZQorVkZTLW9wdHN0cjogcncsbm9hdGltZQorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9remFrLWhvbWUKK3RhcmdldDogL2hvbWUva3phaworZnN0eXBlOiBleHQ0CitvcHRzdHI6IHJ3LG5vYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKKy0tLS0tLSBmczoKK3NvdXJjZTogbm9uZQordGFyZ2V0OiAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MKK2ZzdHlwZTogYmluZm10X21pc2MKK29wdHN0cjogcncKK1ZGUy1vcHRzdHI6IHJ3CistLS0tLS0gZnM6Citzb3VyY2U6IGZ1c2VjdGwKK3RhcmdldDogL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zCitmc3R5cGU6IGZ1c2VjdGwKK29wdHN0cjogcncKK1ZGUy1vcHRzdHI6IHJ3CistLS0tLS0gZnM6Citzb3VyY2U6IGd2ZnMtZnVzZS1kYWVtb24KK3RhcmdldDogL2hvbWUva3phay8uZ3ZmcworZnN0eXBlOiBmdXNlLmd2ZnMtZnVzZS1kYWVtb24KK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LHVzZXI9a3phaworVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2Cit1c2VyLW9wdHN0cjogdXNlcj1remFrCistLS0tLS0gZnM6Citzb3VyY2U6IHN1bnJwYwordGFyZ2V0OiAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcworZnN0eXBlOiBycGNfcGlwZWZzCitvcHRzdHI6IHJ3CitWRlMtb3B0c3RyOiBydworLS0tLS0tIGZzOgorc291cmNlOiBub25lCit0YXJnZXQ6IC92YXIvdG1wLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCitmc3R5cGU6IG92ZXJsYXkKK29wdHN0cjogcncscmVsYXRpbWUsbG93ZXJkaXI9bG93ZXIsdXBwZXJkaXI9dXBwZXIsd29ya2Rpcj13b3JrCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IGxvd2VyZGlyPWxvd2VyLHVwcGVyZGlyPXVwcGVyLHdvcmtkaXI9d29yawpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2Utc3dhcHMgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1wYXJzZS1zd2FwcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZDc4MWQ0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcGFyc2Utc3dhcHMKQEAgLTAsMCArMSwyMiBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L2RtLTIKK3RhcmdldDogKG51bGwpCitmc3R5cGU6IHN3YXAKK3N3YXB0eXBlOiBwYXJ0aXRpb24KK3NpemU6IDgxNTEwMzYKK3VzZWRzaXplOiAyMjgzNDM2Citwcmlvcml0eTogLTIKKy0tLS0tLSBmczoKK3NvdXJjZTogL3NvbWUvc3dhcGZpbGUKK3RhcmdldDogKG51bGwpCitmc3R5cGU6IHN3YXAKK3N3YXB0eXBlOiBmaWxlCitzaXplOiAxMTEKK3VzZWRzaXplOiAxMTEKKy0tLS0tLSBmczoKK3NvdXJjZTogL3NvbWUvc3dhcGZpbGUyCit0YXJnZXQ6IChudWxsKQorZnN0eXBlOiBzd2FwCitzd2FwdHlwZTogZmlsZQorc2l6ZTogMTExCit1c2Vkc2l6ZTogMTExCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1jb3B5IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktY29weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDU0NTg2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktY29weQpAQCAtMCwwICsxLDE4IEBACitPUklHSU5BTDoKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAKK3RhcmdldDogLworZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAxCitDT1BZOgorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtcGFpciBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtcGFpcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYmQ3MzBhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC1wYWlyCkBAIC0wLDAgKzEsNiBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9remFrLWhvbWUKK3RhcmdldDogL2hvbWUva3phaworZnN0eXBlOiBleHQ0CitvcHRzdHI6IHJ3LG5vYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtc291cmNlIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC1zb3VyY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc0NjUyYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtc291cmNlCkBAIC0wLDAgKzEsOCBAQAorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZgordGFyZ2V0OiAvYm9vdAorZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1maW5kLXRhcmdldCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtdGFyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFhNTFiZDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1maW5kLXRhcmdldApAQCAtMCwwICsxLDYgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIvZm9vCit0YXJnZXQ6IC9ob21lL2ZvbworZnN0eXBlOiBleHQ0CitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtdGFyZ2V0MiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LWZpbmQtdGFyZ2V0MgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTZjNTdiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC10YXJnZXQyCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L2ZvbwordGFyZ2V0OiAvYW55L2Zvby8KK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC10YXJnZXQzIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktZmluZC10YXJnZXQzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhNmM1N2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1maW5kLXRhcmdldDMKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvZm9vCit0YXJnZXQ6IC9hbnkvZm9vLworZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1mc3RhYiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLWZzdGFiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2NjE1MjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1mc3RhYgpAQCAtMCwwICsxLDY1IEBACistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwCit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitmcmVxOiAgIDEKK3Bhc3M6ICAgMQorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZgordGFyZ2V0OiAvYm9vdAorZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAyCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9MWYyYWEzMTgtOWMzNC00NjJlLThkMjktMjYwODE5ZmZkNjU3Cit0YXJnZXQ6IHN3YXAKK2ZzdHlwZTogc3dhcAorb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiBkZXZwdHMKK3RhcmdldDogL2Rldi9wdHMKK2ZzdHlwZTogZGV2cHRzCitvcHRzdHI6IGdpZD01LG1vZGU9NjIwCitGUy1vcHN0cjogZ2lkPTUsbW9kZT02MjAKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzZnMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiBwcm9jCit0YXJnZXQ6IC9wcm9jCitmc3R5cGU6IHByb2MKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9tYXBwZXIvZm9vCit0YXJnZXQ6IC9ob21lL2ZvbworZnN0eXBlOiBleHQ0CitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKKy0tLS0tLSBmczoKK3NvdXJjZTogZm9vLmNvbTovbW50L3NoYXJlCit0YXJnZXQ6IC9tbnQvcmVtb3RlCitmc3R5cGU6IG5mcworb3B0c3RyOiBub2F1dG8KK3VzZXItb3B0c3RyOiBub2F1dG8KKy0tLS0tLSBmczoKK3NvdXJjZTogLy9iYXIuY29tL2dvZ29nbwordGFyZ2V0OiAvbW50L2dvZ29nbworZnN0eXBlOiBjaWZzCitvcHRzdHI6IHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bwordXNlci1vcHRzdHI6IHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bworLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L2ZvbwordGFyZ2V0OiAvYW55L2Zvby8KK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktcGFyc2UtZnN0YWItYnJva2VuIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktcGFyc2UtZnN0YWItYnJva2VuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI4MzhmYmMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1mc3RhYi1icm9rZW4KQEAgLTAsMCArMSw2MyBAQAorCisKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAKK3RhcmdldDogLworZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAxCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmCit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDIKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD0xZjJhYTMxOC05YzM0LTQ2MmUtOGQyOS0yNjA4MTlmZmQ2NTcKK3RhcmdldDogc3dhcAorZnN0eXBlOiBzd2FwCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IHRtcGZzCit0YXJnZXQ6IC9kZXYvc2htCitmc3R5cGU6IHRtcGZzCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IGRldnB0cwordGFyZ2V0OiAvZGV2L3B0cworZnN0eXBlOiBkZXZwdHMKK29wdHN0cjogZ2lkPTUsbW9kZT02MjAKK0ZTLW9wc3RyOiBnaWQ9NSxtb2RlPTYyMAorLS0tLS0tIGZzOgorc291cmNlOiBzeXNmcwordGFyZ2V0OiAvc3lzCitmc3R5cGU6IHN5c2ZzCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IHByb2MKK3RhcmdldDogL3Byb2MKK2ZzdHlwZTogcHJvYworb3B0c3RyOiBkZWZhdWx0cworLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9mb28KK3RhcmdldDogL2hvbWUvZm9vCitmc3R5cGU6IGV4dDQKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCistLS0tLS0gZnM6Citzb3VyY2U6IGZvby5jb206L21udC9zaGFyZQordGFyZ2V0OiAvbW50L3JlbW90ZQorZnN0eXBlOiBuZnMKK29wdHN0cjogbm9hdXRvCit1c2VyLW9wdHN0cjogbm9hdXRvCistLS0tLS0gZnM6Citzb3VyY2U6IC8vYmFyLmNvbS9nb2dvZ28KK3RhcmdldDogL21udC9nb2dvZ28KK2ZzdHlwZTogY2lmcworb3B0c3RyOiB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8KK3VzZXItb3B0c3RyOiB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLWZzdGFiLWZ1bGwgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1mc3RhYi1mdWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxY2FmZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1mc3RhYi1mdWxsCkBAIC0wLDAgKzEsODMgQEAKK0luaXRpYWwgY29tbWVudDoKKyIjCisgIyB0aGlzIGlzIGEgbGVhZGluZyBjb21tZW50CisjCisKKyIKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAKK3RhcmdldDogLworZnN0eXBlOiBleHQzCitvcHRzdHI6IG5vYXRpbWUsZGVmYXVsdHMKK1ZGUy1vcHRzdHI6IG5vYXRpbWUKK2ZyZXE6ICAgMQorcGFzczogICAxCitjb21tZW50OiAnIyB0aGlzIGNvbW1lbnRzIGJlbG9uZ3MgdG8gdGhlIGZpcnN0IGZzCisnCistLS0tLS0gZnM6Citzb3VyY2U6IFVVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmCit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogbm9hdGltZSxkZWZhdWx0cworVkZTLW9wdHN0cjogbm9hdGltZQorZnJlcTogICAxCitwYXNzOiAgIDIKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD0xZjJhYTMxOC05YzM0LTQ2MmUtOGQyOS0yNjA4MTlmZmQ2NTcKK3RhcmdldDogc3dhcAorZnN0eXBlOiBzd2FwCitvcHRzdHI6IGRlZmF1bHRzCitjb21tZW50OiAnCisjIDNyZCBmcyBjb21tZW50ICsgbmV3bGluZSBwYWRkaW5nCisKKycKKy0tLS0tLSBmczoKK3NvdXJjZTogdG1wZnMKK3RhcmdldDogL2Rldi9zaG0KK2ZzdHlwZTogdG1wZnMKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBnaWQ9NSxtb2RlPTYyMAorRlMtb3BzdHI6IGdpZD01LG1vZGU9NjIwCistLS0tLS0gZnM6Citzb3VyY2U6IHN5c2ZzCit0YXJnZXQ6IC9zeXMKK2ZzdHlwZTogc3lzZnMKK29wdHN0cjogZGVmYXVsdHMKKy0tLS0tLSBmczoKK3NvdXJjZTogcHJvYwordGFyZ2V0OiAvcHJvYworZnN0eXBlOiBwcm9jCitvcHRzdHI6IGRlZmF1bHRzCistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2ZvbwordGFyZ2V0OiAvaG9tZS9mb28KK2ZzdHlwZTogZXh0NAorb3B0c3RyOiBub2F0aW1lLGRlZmF1bHRzCitWRlMtb3B0c3RyOiBub2F0aW1lCitjb21tZW50OiAnIyB0aGlzIGlzIGNvbW1lbnQKKycKKy0tLS0tLSBmczoKK3NvdXJjZTogZm9vLmNvbTovbW50L3NoYXJlCit0YXJnZXQ6IC9tbnQvcmVtb3RlCitmc3R5cGU6IG5mcworb3B0c3RyOiBub2F1dG8KK3VzZXItb3B0c3RyOiBub2F1dG8KKy0tLS0tLSBmczoKK3NvdXJjZTogLy9iYXIuY29tL2dvZ29nbwordGFyZ2V0OiAvbW50L2dvZ29nbworZnN0eXBlOiBjaWZzCitvcHRzdHI6IHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bwordXNlci1vcHRzdHI6IHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bworLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L2ZvbwordGFyZ2V0OiAvYW55L2Zvby8KK2ZzdHlwZTogYXV0bworb3B0c3RyOiBkZWZhdWx0cworVHJhaWxpbmcgY29tbWVudDoKKyIKKyN0aGlzIGlzIGEgdHJhaWxpbmcgY29tbWVudAorIgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktcGFyc2UtbW91bnRpbmZvIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtcHktcGFyc2UtbW91bnRpbmZvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MzkwYWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1tb3VudGluZm8KQEAgLTAsMCArMSwzNjMgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogL3Byb2MKK3RhcmdldDogL3Byb2MKK2ZzdHlwZTogcHJvYworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDE1CitwYXJlbnQ6IDIwCitkZXZubzogIDA6MworLS0tLS0tIGZzOgorc291cmNlOiAvc3lzCit0YXJnZXQ6IC9zeXMKK2ZzdHlwZTogc3lzZnMKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICAxNgorcGFyZW50OiAyMAorZGV2bm86ICAwOjE1CistLS0tLS0gZnM6Citzb3VyY2U6IHVkZXYKK3RhcmdldDogL2RldgorZnN0eXBlOiBkZXZ0bXBmcworb3B0c3RyOiBydyxyZWxhdGltZSxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1Cityb290OiAgIC8KK2lkOiAgICAgMTcKK3BhcmVudDogMjAKK2Rldm5vOiAgMDo1CistLS0tLS0gZnM6Citzb3VyY2U6IGRldnB0cwordGFyZ2V0OiAvZGV2L3B0cworZnN0eXBlOiBkZXZwdHMKK29wdHN0cjogcncscmVsYXRpbWUsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorcm9vdDogICAvCitpZDogICAgIDE4CitwYXJlbnQ6IDE3CitkZXZubzogIDA6MTAKKy0tLS0tLSBmczoKK3NvdXJjZTogdG1wZnMKK3RhcmdldDogL2Rldi9zaG0KK2ZzdHlwZTogdG1wZnMKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICAxOQorcGFyZW50OiAxNworZGV2bm86ICAwOjE2CistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvc2RhNAordGFyZ2V0OiAvCitmc3R5cGU6IGV4dDMKK29wdHN0cjogcncsbm9hdGltZSxlcnJvcnM9Y29udGludWUsdXNlcl94YXR0cixhY2wsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorVkZTLW9wdHN0cjogcncsbm9hdGltZQorRlMtb3BzdHI6IHJ3LGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCityb290OiAgIC8KK2lkOiAgICAgMjAKK3BhcmVudDogMQorZGV2bm86ICA4OjQKKy0tLS0tLSBmczoKK3NvdXJjZTogdG1wZnMKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAKK2ZzdHlwZTogdG1wZnMKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxtb2RlPTc1NQorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LG1vZGU9NzU1Cityb290OiAgIC8KK2lkOiAgICAgMjEKK3BhcmVudDogMTYKK2Rldm5vOiAgMDoxNworLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZAorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncscmVsZWFzZV9hZ2VudD0vbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZAorcm9vdDogICAvCitpZDogICAgIDIyCitwYXJlbnQ6IDIxCitkZXZubzogIDA6MTgKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL2NwdXNldAorZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxjcHVzZXQKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxjcHVzZXQKK3Jvb3Q6ICAgLworaWQ6ICAgICAyMworcGFyZW50OiAyMQorZGV2bm86ICAwOjE5CistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9ucworZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxucworVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LG5zCityb290OiAgIC8KK2lkOiAgICAgMjQKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyMAorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvY3B1Citmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLGNwdQorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGNwdQorcm9vdDogICAvCitpZDogICAgIDI1CitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjEKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL2NwdWFjY3QKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsY3B1YWNjdAorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGNwdWFjY3QKK3Jvb3Q6ICAgLworaWQ6ICAgICAyNgorcGFyZW50OiAyMQorZGV2bm86ICAwOjIyCistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9tZW1vcnkKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsbWVtb3J5CitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsbWVtb3J5Cityb290OiAgIC8KK2lkOiAgICAgMjcKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyMworLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcworZnN0eXBlOiBjZ3JvdXAKK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSxkZXZpY2VzCitWRlMtb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lCitGUy1vcHN0cjogcncsZGV2aWNlcworcm9vdDogICAvCitpZDogICAgIDI4CitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjQKKy0tLS0tLSBmczoKK3NvdXJjZTogY2dyb3VwCit0YXJnZXQ6IC9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIKK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsZnJlZXplcgorVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LGZyZWV6ZXIKK3Jvb3Q6ICAgLworaWQ6ICAgICAyOQorcGFyZW50OiAyMQorZGV2bm86ICAwOjI1CistLS0tLS0gZnM6Citzb3VyY2U6IGNncm91cAordGFyZ2V0OiAvc3lzL2ZzL2Nncm91cC9uZXRfY2xzCitmc3R5cGU6IGNncm91cAorb3B0c3RyOiBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lLG5ldF9jbHMKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxuZXRfY2xzCityb290OiAgIC8KK2lkOiAgICAgMzAKK3BhcmVudDogMjEKK2Rldm5vOiAgMDoyNgorLS0tLS0tIGZzOgorc291cmNlOiBjZ3JvdXAKK3RhcmdldDogL3N5cy9mcy9jZ3JvdXAvYmxraW8KK2ZzdHlwZTogY2dyb3VwCitvcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUsYmxraW8KK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxibGtpbworcm9vdDogICAvCitpZDogICAgIDMxCitwYXJlbnQ6IDIxCitkZXZubzogIDA6MjcKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzdGVtZC0xCit0YXJnZXQ6IC9zeXMva2VybmVsL3NlY3VyaXR5Citmc3R5cGU6IGF1dG9mcworb3B0c3RyOiBydyxyZWxhdGltZSxmZD0yMixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxmZD0yMixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorcm9vdDogICAvCitpZDogICAgIDMyCitwYXJlbnQ6IDE2CitkZXZubzogIDA6MjgKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzdGVtZC0xCit0YXJnZXQ6IC9kZXYvaHVnZXBhZ2VzCitmc3R5cGU6IGF1dG9mcworb3B0c3RyOiBydyxyZWxhdGltZSxmZD0yMyxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxmZD0yMyxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorcm9vdDogICAvCitpZDogICAgIDMzCitwYXJlbnQ6IDE3CitkZXZubzogIDA6MjkKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzdGVtZC0xCit0YXJnZXQ6IC9zeXMva2VybmVsL2RlYnVnCitmc3R5cGU6IGF1dG9mcworb3B0c3RyOiBydyxyZWxhdGltZSxmZD0yNCxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydyxmZD0yNCxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorcm9vdDogICAvCitpZDogICAgIDM0CitwYXJlbnQ6IDE2CitkZXZubzogIDA6MzAKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzdGVtZC0xCit0YXJnZXQ6IC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYworZnN0eXBlOiBhdXRvZnMKK29wdHN0cjogcncscmVsYXRpbWUsZmQ9MjUscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsZmQ9MjUscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3Jvb3Q6ICAgLworaWQ6ICAgICAzNQorcGFyZW50OiAxNQorZGV2bm86ICAwOjMxCistLS0tLS0gZnM6Citzb3VyY2U6IHN5c3RlbWQtMQordGFyZ2V0OiAvZGV2L21xdWV1ZQorZnN0eXBlOiBhdXRvZnMKK29wdHN0cjogcncscmVsYXRpbWUsZmQ9MjYscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncsZmQ9MjYscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKK3Jvb3Q6ICAgLworaWQ6ICAgICAzNgorcGFyZW50OiAxNworZGV2bm86ICAwOjMyCistLS0tLS0gZnM6Citzb3VyY2U6IC9wcm9jL2J1cy91c2IKK3RhcmdldDogL3Byb2MvYnVzL3VzYgorZnN0eXBlOiB1c2Jmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDM3CitwYXJlbnQ6IDE1CitkZXZubzogIDA6MTQKKy0tLS0tLSBmczoKK3NvdXJjZTogaHVnZXRsYmZzCit0YXJnZXQ6IC9kZXYvaHVnZXBhZ2VzCitmc3R5cGU6IGh1Z2V0bGJmcworb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDM4CitwYXJlbnQ6IDMzCitkZXZubzogIDA6MzMKKy0tLS0tLSBmczoKK3NvdXJjZTogbXF1ZXVlCit0YXJnZXQ6IC9kZXYvbXF1ZXVlCitmc3R5cGU6IG1xdWV1ZQorb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDM5CitwYXJlbnQ6IDM2CitkZXZubzogIDA6MTIKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9zZGE2Cit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogcncsbm9hdGltZSxlcnJvcnM9Y29udGludWUsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorVkZTLW9wdHN0cjogcncsbm9hdGltZQorRlMtb3BzdHI6IHJ3LGVycm9ycz1jb250aW51ZSxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCityb290OiAgIC8KK2lkOiAgICAgNDAKK3BhcmVudDogMjAKK2Rldm5vOiAgODo2CistLS0tLS0gZnM6Citzb3VyY2U6IC9kZXYvbWFwcGVyL2t6YWstaG9tZQordGFyZ2V0OiAvaG9tZS9remFrCitmc3R5cGU6IGV4dDQKK29wdHN0cjogcncsbm9hdGltZSxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCitGUy1vcHN0cjogcncsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorcm9vdDogICAvCitpZDogICAgIDQxCitwYXJlbnQ6IDIwCitkZXZubzogIDI1MzowCistLS0tLS0gZnM6Citzb3VyY2U6IG5vbmUKK3RhcmdldDogL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjCitmc3R5cGU6IGJpbmZtdF9taXNjCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgNDIKK3BhcmVudDogMzUKK2Rldm5vOiAgMDozNAorLS0tLS0tIGZzOgorc291cmNlOiBmdXNlY3RsCit0YXJnZXQ6IC9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucworZnN0eXBlOiBmdXNlY3RsCitvcHRzdHI6IHJ3LHJlbGF0aW1lCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3Cityb290OiAgIC8KK2lkOiAgICAgNDMKK3BhcmVudDogMTYKK2Rldm5vOiAgMDozNQorLS0tLS0tIGZzOgorc291cmNlOiBndmZzLWZ1c2UtZGFlbW9uCit0YXJnZXQ6IC9ob21lL2t6YWsvLmd2ZnMKK2ZzdHlwZTogZnVzZS5ndmZzLWZ1c2UtZGFlbW9uCitvcHRzdHI6IHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSx1c2VyX2lkPTUwMCxncm91cF9pZD01MDAKK1ZGUy1vcHRzdHI6IHJ3LG5vc3VpZCxub2RldixyZWxhdGltZQorRlMtb3BzdHI6IHJ3LHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorcm9vdDogICAvCitpZDogICAgIDQ0CitwYXJlbnQ6IDQxCitkZXZubzogIDA6MzYKKy0tLS0tLSBmczoKK3NvdXJjZTogc3VucnBjCit0YXJnZXQ6IC92YXIvbGliL25mcy9ycGNfcGlwZWZzCitmc3R5cGU6IHJwY19waXBlZnMKK29wdHN0cjogcncscmVsYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LHJlbGF0aW1lCitGUy1vcHN0cjogcncKK3Jvb3Q6ICAgLworaWQ6ICAgICA0NQorcGFyZW50OiAyMAorZGV2bm86ICAwOjM3CistLS0tLS0gZnM6Citzb3VyY2U6IC8vZm9vLmhvbWUvYmFyLwordGFyZ2V0OiAvbW50L3NvdW5kcworZnN0eXBlOiBjaWZzCitvcHRzdHI6IHJ3LHJlbGF0aW1lLHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0CitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IHJ3LHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0Cityb290OiAgIC8KK2lkOiAgICAgNDcKK3BhcmVudDogMjAKK2Rldm5vOiAgMDozOAorLS0tLS0tIGZzOgorc291cmNlOiAvZm9vb29vCit0YXJnZXQ6IC9tbnQvZm9vCitmc3R5cGU6IGJhcgorb3B0c3RyOiBydyxyZWxhdGltZQorVkZTLW9wdHN0cjogcncscmVsYXRpbWUKK0ZTLW9wc3RyOiBydworcm9vdDogICAvCitpZDogICAgIDQ4CitwYXJlbnQ6IDIwCitkZXZubzogIDA6MzkKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXB5LXBhcnNlLW10YWIgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1tdGFiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZjQ4NDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy1weS1wYXJzZS1tdGFiCkBAIC0wLDAgKzEsNzUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9zZGE0Cit0YXJnZXQ6IC8KK2ZzdHlwZTogZXh0Mworb3B0c3RyOiBydyxub2F0aW1lCitWRlMtb3B0c3RyOiBydyxub2F0aW1lCistLS0tLS0gZnM6Citzb3VyY2U6IHByb2MKK3RhcmdldDogL3Byb2MKK2ZzdHlwZTogcHJvYworb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogc3lzZnMKK3RhcmdldDogL3N5cworZnN0eXBlOiBzeXNmcworb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogZGV2cHRzCit0YXJnZXQ6IC9kZXYvcHRzCitmc3R5cGU6IGRldnB0cworb3B0c3RyOiBydyxnaWQ9NSxtb2RlPTYyMAorVkZTLW9wdHN0cjogcncKK0ZTLW9wc3RyOiBnaWQ9NSxtb2RlPTYyMAorLS0tLS0tIGZzOgorc291cmNlOiB0bXBmcwordGFyZ2V0OiAvZGV2L3NobQorZnN0eXBlOiB0bXBmcworb3B0c3RyOiBydworVkZTLW9wdHN0cjogcncKKy0tLS0tLSBmczoKK3NvdXJjZTogL2Rldi9zZGE2Cit0YXJnZXQ6IC9ib290Citmc3R5cGU6IGV4dDMKK29wdHN0cjogcncsbm9hdGltZQorVkZTLW9wdHN0cjogcncsbm9hdGltZQorLS0tLS0tIGZzOgorc291cmNlOiAvZGV2L21hcHBlci9remFrLWhvbWUKK3RhcmdldDogL2hvbWUva3phaworZnN0eXBlOiBleHQ0CitvcHRzdHI6IHJ3LG5vYXRpbWUKK1ZGUy1vcHRzdHI6IHJ3LG5vYXRpbWUKKy0tLS0tLSBmczoKK3NvdXJjZTogbm9uZQordGFyZ2V0OiAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MKK2ZzdHlwZTogYmluZm10X21pc2MKK29wdHN0cjogcncKK1ZGUy1vcHRzdHI6IHJ3CistLS0tLS0gZnM6Citzb3VyY2U6IGZ1c2VjdGwKK3RhcmdldDogL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zCitmc3R5cGU6IGZ1c2VjdGwKK29wdHN0cjogcncKK1ZGUy1vcHRzdHI6IHJ3CistLS0tLS0gZnM6Citzb3VyY2U6IGd2ZnMtZnVzZS1kYWVtb24KK3RhcmdldDogL2hvbWUva3phay8uZ3ZmcworZnN0eXBlOiBmdXNlLmd2ZnMtZnVzZS1kYWVtb24KK29wdHN0cjogcncsbm9zdWlkLG5vZGV2LHVzZXI9a3phaworVkZTLW9wdHN0cjogcncsbm9zdWlkLG5vZGV2Cit1c2VyLW9wdHN0cjogdXNlcj1remFrCistLS0tLS0gZnM6Citzb3VyY2U6IHN1bnJwYwordGFyZ2V0OiAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcworZnN0eXBlOiBycGNfcGlwZWZzCitvcHRzdHI6IHJ3CitWRlMtb3B0c3RyOiBydworLS0tLS0tIGZzOgorc291cmNlOiBub25lCit0YXJnZXQ6IC92YXIvdG1wLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJLwkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCS8JCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkvCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCitmc3R5cGU6IG92ZXJsYXkKK29wdHN0cjogcncscmVsYXRpbWUsbG93ZXJkaXI9bG93ZXIsdXBwZXJkaXI9dXBwZXIsd29ya2Rpcj13b3JrCitWRlMtb3B0c3RyOiBydyxyZWxhdGltZQorRlMtb3BzdHI6IGxvd2VyZGlyPWxvd2VyLHVwcGVyZGlyPXVwcGVyLHdvcmtkaXI9d29yawpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1mc3RhYi1kZXYgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWRldgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjNhMTljCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1mc3RhYi1kZXYKQEAgLTAsMCArMSw1IEBACistLS0tLS0gZnM6CisKK3RhcmdldDogL21udC9tb3VudHBvaW50MworZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWRldjJsYWJlbCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItZGV2MmxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZDA0YTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWRldjJsYWJlbApAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogTEFCRUw9dGVzdExpYm1vdW50Cit0YXJnZXQ6IC9tbnQvbW91bnRwb2ludAorZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWxhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1mc3RhYi1sYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGQwNGE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1mc3RhYi1sYWJlbApAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogTEFCRUw9dGVzdExpYm1vdW50Cit0YXJnZXQ6IC9tbnQvbW91bnRwb2ludAorZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWxhYmVsMmRldiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItbGFiZWwyZGV2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZDA0YTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWxhYmVsMmRldgpAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogTEFCRUw9dGVzdExpYm1vdW50Cit0YXJnZXQ6IC9tbnQvbW91bnRwb2ludAorZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWxhYmVsMnV1aWQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLWxhYmVsMnV1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhkMDRhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItbGFiZWwydXVpZApAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogTEFCRUw9dGVzdExpYm1vdW50Cit0YXJnZXQ6IC9tbnQvbW91bnRwb2ludAorZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLXV1aWQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLWZzdGFiLXV1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjdkNGU3YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtZnN0YWItdXVpZApAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKK3NvdXJjZTogVVVJRD1kZTFiYzZlOS0zNGFiLTQxNTEtYTFkNy05MDAwNDJlZWU4ZDkKK3RhcmdldDogL21udC9tb3VudHBvaW50MgorZnN0eXBlOiBhdXRvCitvcHRzdHI6IGRlZmF1bHRzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5LWZzdGFiLWRldiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItZGV2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyM2ExOWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5LWZzdGFiLWRldgpAQCAtMCwwICsxLDUgQEAKKy0tLS0tLSBmczoKKwordGFyZ2V0OiAvbW50L21vdW50cG9pbnQzCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItZGV2MmxhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1kZXYybGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhkMDRhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItZGV2MmxhYmVsCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBMQUJFTD10ZXN0TGlibW91bnQKK3RhcmdldDogL21udC9tb3VudHBvaW50Citmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItbGFiZWwgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5LWZzdGFiLWxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4ZDA0YTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5LWZzdGFiLWxhYmVsCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBMQUJFTD10ZXN0TGlibW91bnQKK3RhcmdldDogL21udC9tb3VudHBvaW50Citmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItbGFiZWwyZGV2IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1sYWJlbDJkZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzhkMDRhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItbGFiZWwyZGV2CkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBMQUJFTD10ZXN0TGlibW91bnQKK3RhcmdldDogL21udC9tb3VudHBvaW50Citmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItbGFiZWwydXVpZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItbGFiZWwydXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43OGQwNGE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi1sYWJlbDJ1dWlkCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBMQUJFTD10ZXN0TGlibW91bnQKK3RhcmdldDogL21udC9tb3VudHBvaW50Citmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItdXVpZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHktZnN0YWItdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2Q0ZTdiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdGFiZmlsZXMtdGFncy1weS1mc3RhYi11dWlkCkBAIC0wLDAgKzEsNSBAQAorLS0tLS0tIGZzOgorc291cmNlOiBVVUlEPWRlMWJjNmU5LTM0YWItNDE1MS1hMWQ3LTkwMDA0MmVlZThkOQordGFyZ2V0OiAvbW50L21vdW50cG9pbnQyCitmc3R5cGU6IGF1dG8KK29wdHN0cjogZGVmYXVsdHMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1mc3RhYi1hZGQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtZnN0YWItYWRkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiMzZkNTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtZnN0YWItYWRkCkBAIC0wLDAgKzEsMyBAQAorL2Rldi9zZGExIC9tbnQvZm9vIGV4dDMgcncsYmJiLGNjYyxmZmY9RkZGLGRkZCxub2V4ZWMgMSAyCisvZGV2L3NkYTIgL21udC9iYXIgYXV0byBkZWZhdWx0cyAxIDIKKy9kZXYvc2RhMyAvbW50L2JhciBhdXRvIHJ3LGNvbnRleHQ9InNvbWUsc2VsaW51eCxqdW5rIixub2F0aW1lIDEgMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLWZzdGFiLXJlcGxhY2UgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtZnN0YWItcmVwbGFjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzhkMWRmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLWZzdGFiLXJlcGxhY2UKQEAgLTAsMCArMSwyNCBAQAorIworICMgdGhpcyBpcyBhIGxlYWRpbmcgY29tbWVudAorIworCisjIHRoaXMgY29tbWVudHMgYmVsb25ncyB0byB0aGUgZmlyc3QgZnMKK1VVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwIC8gZXh0MyBub2F0aW1lLGRlZmF1bHRzIDEgMQorVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYgL2Jvb3QgZXh0MyBub2F0aW1lLGRlZmF1bHRzIDEgMgorCisjIDNyZCBmcyBjb21tZW50ICsgbmV3bGluZSBwYWRkaW5nCisKK1VVSUQ9MWYyYWEzMTgtOWMzNC00NjJlLThkMjktMjYwODE5ZmZkNjU3IHN3YXAgc3dhcCBkZWZhdWx0cyAwIDAKK3RtcGZzIC9kZXYvc2htIHRtcGZzIGRlZmF1bHRzIDAgMAorZGV2cHRzIC9kZXYvcHRzIGRldnB0cyBnaWQ9NSxtb2RlPTYyMCAwIDAKK3N5c2ZzIC9zeXMgc3lzZnMgZGVmYXVsdHMgMCAwCitwcm9jIC9wcm9jIHByb2MgZGVmYXVsdHMgMCAwCisjIHRoaXMgaXMgY29tbWVudAorL2Rldi9tYXBwZXIvZm9vIC9ob21lL2ZvbyBleHQ0IG5vYXRpbWUsZGVmYXVsdHMgMCAwCitmb28uY29tOi9tbnQvc2hhcmUgL21udC9yZW1vdGUgbmZzIG5vYXV0byAwIDAKKy8vYmFyLmNvbS9nb2dvZ28gL21udC9nb2dvZ28gY2lmcyB1c2VyPVNSR1JPVVAvYmFieSxub2F1dG8gMCAwCisvZGV2L2ZvbyAvYW55L2Zvby8gYXV0byBkZWZhdWx0cyAwIDAKKyMgdGhpcyBpcyBuZXcgZmlsZXN5c3RlbQorTEFCRUw9Zm9vIC9tbnQvZm9vIG5vbmUgcncgMCAwCisKKyN0aGlzIGlzIGEgdHJhaWxpbmcgY29tbWVudApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItbW91bnQgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtbXRhYi1tb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZmRmN2MxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItbW91bnQKQEAgLTAsMCArMSw1IEBACisvZGV2L3NkYTEgL21udC9mb28gZXh0MyBydyxub2V4ZWMsYmJiLGNjYyxmZmY9RkZGLGRkZCAwIDAKKy9kZXYvc2RiMSAvbW50L2JhciBleHQzIHJvLG5vYXRpbWUsZ2c9RyxmZmZmPWYgMCAwCisvZGV2L3NkYTIgL21udC9iYXIgZXh0MyBydyxub2F0aW1lIDAgMAorL2Rldi9zZGExIC9tbnQvZ29nbyBleHQzIHJ3LG5vYXRpbWUsbm9zdWlkIDAgMAorbm9uZSAvcHJvYyBwcm9jIHJ3IDAgMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItbW92ZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1tdGFiLW1vdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjE4NWI2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1tdGFiLW1vdmUKQEAgLTAsMCArMSw1IEBACisvZGV2L3NkYTEgL21udC9uZXdmb28gZXh0MyBydyxub2V4ZWMsYmJiLGNjYyxmZmY9RkZGLGRkZCAwIDAKKy9kZXYvc2RiMSAvbW50L2JhciBleHQzIHJvLG5vYXRpbWUsZ2c9RyxmZmZmPWYgMCAwCisvZGV2L3NkYTIgL21udC9uZXdiYXIgZXh0MyBydyxub2F0aW1lIDAgMAorL2Rldi9zZGExIC9tbnQvZ29nbyBleHQzIHJ3LG5vYXRpbWUsbm9zdWlkIDAgMAorbm9uZSAvcHJvYyBwcm9jIHJ3IDAgMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItcmVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1tdGFiLXJlbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzM5N2IyMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1tdGFiLXJlbW91bnQKQEAgLTAsMCArMSw1IEBACisvZGV2L3NkYTEgL21udC9uZXdmb28gZXh0MyBybyxub2F0aW1lIDAgMAorL2Rldi9zZGIxIC9tbnQvYmFyIGV4dDMgcncsYXRpbWUsbm9zdWlkIDAgMAorL2Rldi9zZGEyIC9tbnQvbmV3YmFyIGV4dDMgcncsbm9hdGltZSAwIDAKKy9kZXYvc2RhMSAvbW50L2dvZ28gZXh0MyBydyxub2F0aW1lLG5vc3VpZCAwIDAKK25vbmUgL3Byb2MgcHJvYyBydyAwIDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1tdGFiLXVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1tdGFiLXVtb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZTAyNTczCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLW10YWItdW1vdW50CkBAIC0wLDAgKzEsMiBAQAorL2Rldi9zZGExIC9tbnQvbmV3Zm9vIGV4dDMgcm8sbm9hdGltZSAwIDAKKy9kZXYvc2RhMiAvbW50L25ld2JhciBleHQzIHJ3LG5vYXRpbWUgMCAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtcHktZnN0YWItcmVwbGFjZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS1weS1mc3RhYi1yZXBsYWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjOGQxZGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtcHktZnN0YWItcmVwbGFjZQpAQCAtMCwwICsxLDI0IEBACisjCisgIyB0aGlzIGlzIGEgbGVhZGluZyBjb21tZW50CisjCisKKyMgdGhpcyBjb21tZW50cyBiZWxvbmdzIHRvIHRoZSBmaXJzdCBmcworVVVJRD1kM2E4Zjc4My1kZjc1LTRkYzgtOTE2My05NzVhODkxMDUyYzAgLyBleHQzIG5vYXRpbWUsZGVmYXVsdHMgMSAxCitVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZiAvYm9vdCBleHQzIG5vYXRpbWUsZGVmYXVsdHMgMSAyCisKKyMgM3JkIGZzIGNvbW1lbnQgKyBuZXdsaW5lIHBhZGRpbmcKKworVVVJRD0xZjJhYTMxOC05YzM0LTQ2MmUtOGQyOS0yNjA4MTlmZmQ2NTcgc3dhcCBzd2FwIGRlZmF1bHRzIDAgMAordG1wZnMgL2Rldi9zaG0gdG1wZnMgZGVmYXVsdHMgMCAwCitkZXZwdHMgL2Rldi9wdHMgZGV2cHRzIGdpZD01LG1vZGU9NjIwIDAgMAorc3lzZnMgL3N5cyBzeXNmcyBkZWZhdWx0cyAwIDAKK3Byb2MgL3Byb2MgcHJvYyBkZWZhdWx0cyAwIDAKKyMgdGhpcyBpcyBjb21tZW50CisvZGV2L21hcHBlci9mb28gL2hvbWUvZm9vIGV4dDQgbm9hdGltZSxkZWZhdWx0cyAwIDAKK2Zvby5jb206L21udC9zaGFyZSAvbW50L3JlbW90ZSBuZnMgbm9hdXRvIDAgMAorLy9iYXIuY29tL2dvZ29nbyAvbW50L2dvZ29nbyBjaWZzIHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0byAwIDAKKy9kZXYvZm9vIC9hbnkvZm9vLyBhdXRvIGRlZmF1bHRzIDAgMAorIyB0aGlzIGlzIG5ldyBmaWxlc3lzdGVtCitMQUJFTD1mb28gL21udC9mb28gbm9uZSBydyAwIDAKKworI3RoaXMgaXMgYSB0cmFpbGluZyBjb21tZW50CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtdXRhYi1tb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU4YTAxNzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtdXRhYi1tb3VudApAQCAtMCwwICsxLDMgQEAKK1NSQz0vZGV2L3NkYjEgVEFSR0VUPS9tbnQvYmFyIFJPT1Q9LyBPUFRTPXVzZXIKK1NSQz0vZGV2L3NkYTIgVEFSR0VUPS9tbnQveHl6IFJPT1Q9LyBPUFRTPWxvb3A9L2Rldi9sb29wMCx1aGVscGVyPWhhbAorU1JDPW5vbmUgVEFSR0VUPS9wcm9jIFJPT1Q9LyBPUFRTPXVzZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLW1vdmUgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtdXRhYi1tb3ZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYwMDgxNDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtdXRhYi1tb3ZlCkBAIC0wLDAgKzEsMyBAQAorU1JDPS9kZXYvc2RiMSBUQVJHRVQ9L21udC9uZXdiYXIgUk9PVD0vIE9QVFM9dXNlcgorU1JDPS9kZXYvc2RhMiBUQVJHRVQ9L21udC9uZXd4eXogUk9PVD0vIE9QVFM9bG9vcD0vZGV2L2xvb3AwLHVoZWxwZXI9aGFsCitTUkM9bm9uZSBUQVJHRVQ9L3Byb2MgUk9PVD0vIE9QVFM9dXNlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLXV0YWItcmVtb3VudCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLXJlbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGUzNDRiMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3VwZGF0ZS11dGFiLXJlbW91bnQKQEAgLTAsMCArMSwzIEBACitTUkM9L2Rldi9zZGIxIFRBUkdFVD0vbW50L25ld2JhciBST09UPS8gT1BUUz11c2VyCitTUkM9L2Rldi9zZGEyIFRBUkdFVD0vbW50L25ld3h5eiBST09UPS8gT1BUUz11c2VyCitTUkM9bm9uZSBUQVJHRVQ9L3Byb2MgUk9PVD0vIE9QVFM9dXNlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLXV0YWItdW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXBkYXRlLXV0YWItdW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjMDdkNzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91cGRhdGUtdXRhYi11bW91bnQKQEAgLTAsMCArMSBAQAorU1JDPS9kZXYvc2RhMiBUQVJHRVQ9L21udC9uZXd4eXogUk9PVD0vIE9QVFM9dXNlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtZW5kcy13aXRoIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtZW5kcy13aXRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYwMzNhNTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1lbmRzLXdpdGgKQEAgLTAsMCArMSBAQAorWUVTCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1rZXJuZWwtY21kbGluZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLWtlcm5lbC1jbWRsaW5lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhNjMxNjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1rZXJuZWwtY21kbGluZQpAQCAtMCwwICsxLDUgQEAKKydzZWxpbnV4PScgZm91bmQsIGFyZ3VtZW50OiAnMCcKKydzZWxpbnV4JyBub3QgZm91bmQKKydybycgZm91bmQKKydybz0nIG5vdCBmb3VuZAorJ3Jvb3Q9JyBmb3VuZCwgYXJndW1lbnQ6ICdVVUlEPTMzMjMwYWUyLTEwOTMtNDM1My04MjRjLWY3Y2EwOWEyYTg4MicKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLWZzdHlwZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLWZzdHlwZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzM2ZTA4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtZnN0eXBlCkBAIC0wLDAgKzEgQEAKK01BVENICmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1mc3R5cGUtbmVnIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtZnN0eXBlLW5lZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MjYyMjM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtZnN0eXBlLW5lZwpAQCAtMCwwICsxIEBACitOT1QtTUFUQ0gKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLWZzdHlwZS1uZWcyIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtZnN0eXBlLW5lZzIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI2MjIzOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLWZzdHlwZS1uZWcyCkBAIC0wLDAgKzEgQEAKK05PVC1NQVRDSApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDczNmUwOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMKQEAgLTAsMCArMSBAQAorTUFUQ0gKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbGlzdCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbGlzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NzM2ZTA4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucy1saXN0CkBAIC0wLDAgKzEgQEAKK01BVENICmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1vcHRpb25zLW5lZyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbmVnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3MzZlMDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1vcHRpb25zLW5lZwpAQCAtMCwwICsxIEBACitNQVRDSApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbWF0Y2gtb3B0aW9ucy1uZWctbGlzdCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbmVnLWxpc3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODI2MjIzOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbmVnLWxpc3QKQEAgLTAsMCArMSBAQAorTk9ULU1BVENICmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1vcHRpb25zLW5lZy1saXN0MiBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1hdGNoLW9wdGlvbnMtbmVnLWxpc3QyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3MzZlMDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tYXRjaC1vcHRpb25zLW5lZy1saXN0MgpAQCAtMCwwICsxIEBACitNQVRDSApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtbW91bnRwb2ludCBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1vdW50cG9pbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDdmYjI1MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1vdW50cG9pbnQKQEAgLTAsMCArMSBAQAorL3Byb2M6IC9wcm9jCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tb3VudHBvaW50LXJvb3QgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tb3VudHBvaW50LXJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzg2Y2YwZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1vdW50cG9pbnQtcm9vdApAQCAtMCwwICsxIEBACisvOiAvCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tb3VudHBvaW50LXN1YmRpciBiL3Rlc3RzL2V4cGVjdGVkL2xpYm1vdW50L3V0aWxzLW1vdW50cG9pbnQtc3ViZGlyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYyMWQzMWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1tb3VudHBvaW50LXN1YmRpcgpAQCAtMCwwICsxIEBACisvcHJvYy9zeXMva2VybmVsOiAvcHJvYwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtc3RhcnRzLXdpdGggYi90ZXN0cy9leHBlY3RlZC9saWJtb3VudC91dGlscy1zdGFydHMtd2l0aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDMzYTUwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlibW91bnQvdXRpbHMtc3RhcnRzLXdpdGgKQEAgLTAsMCArMSBAQAorWUVTCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDE1NWFhMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZQpAQCAtMCwwICsxIEBACisuLi5kb25lLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLWNvbHVtbi1zZXBhcmF0b3IgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtY29sdW1uLXNlcGFyYXRvcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YzVhYTJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLWNvbHVtbi1zZXBhcmF0b3IKQEAgLTAsMCArMSwxMSBAQAorTkFNRSAgfCAgICAgIE5VTXxUUlVOQworYWFhYSAgfCAgICAgICAgMHxxcXFxcXFxcXFxcXFxcXFxcVgKK2JiYiAgIHwgICAgICAxMDB8ZGRkZGRkZGRkZGRkZFgKK2NjY2NjIHwgICAgICAgMjF8ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlgKK2RkZGRkZHwgICAgICAgIDN8c3Nzc3Nzc3Nzc1gKK2VlICAgIHwgICAgICA0MTF8ZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYCitmZmZmICB8ICAgICA1MTExfGpqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampYCitnZ2dnZ2d8Njc4OTkzMzIxfG1tbW1tbW1tbW1tbW1tbW1tbW1YCitoaGggICB8ICA3NjY2NjY2fGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYCitpaWlpaWl8ICAgICA4NzY1fHl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlYCitqaiAgICB8ICAgOTg3NDU2fHBwcHBwcHBwcFgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1leHBvcnQgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtZXhwb3J0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY2M2FmZDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtZXhwb3J0CkBAIC0wLDAgKzEsMTAgQEAKK05BTUU9ImFhYWEiIE5VTT0iMCIgVFJVTkM9InFxcXFxcXFxcXFxcXFxcXFxWCIKK05BTUU9ImJiYiIgTlVNPSIxMDAiIFRSVU5DPSJkZGRkZGRkZGRkZGRkWCIKK05BTUU9ImNjY2NjIiBOVU09IjIxIiBUUlVOQz0iZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlgiCitOQU1FPSJkZGRkZGQiIE5VTT0iMyIgVFJVTkM9InNzc3Nzc3Nzc3NYIgorTkFNRT0iZWUiIE5VTT0iNDExIiBUUlVOQz0iZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYIgorTkFNRT0iZmZmZiIgTlVNPSI1MTExIiBUUlVOQz0iampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalgiCitOQU1FPSJnZ2dnZ2ciIE5VTT0iNjc4OTkzMzIxIiBUUlVOQz0ibW1tbW1tbW1tbW1tbW1tbW1tbVgiCitOQU1FPSJoaGgiIE5VTT0iNzY2NjY2NiIgVFJVTkM9ImxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYIgorTkFNRT0iaWlpaWlpIiBOVU09Ijg3NjUiIFRSVU5DPSJ5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5WCIKK05BTUU9ImpqIiBOVU09Ijk4NzQ1NiIgVFJVTkM9InBwcHBwcHBwcFgiCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtaGlkZGVuIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLWhpZGRlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZjUwYmNiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLWhpZGRlbgpAQCAtMCwwICsxLDExIEBACitOQU1FICAgICAgICAgTlVNCithYWFhICAgICAgICAgICAwCitiYmIgICAgICAgICAgMTAwCitjY2NjYyAgICAgICAgIDIxCitkZGRkZGQgICAgICAgICAzCitlZSAgICAgICAgICAgNDExCitmZmZmICAgICAgICA1MTExCitnZ2dnZ2cgNjc4OTkzMzIxCitoaGggICAgICA3NjY2NjY2CitpaWlpaWkgICAgICA4NzY1CitqaiAgICAgICAgOTg3NDU2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtbm9leHRyZW1lcyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1ub2V4dHJlbWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiYWMwODAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtbm9leHRyZW1lcwpAQCAtMCwwICsxLDEyIEBACitOQU1FICAgTk9FWFRSRU1FICAgICAgICAgTlVNIE5BTUUgICAgICAgICBOVU0KK2FhYWEgICBxcXFxcXFYICAgICAgICAgICAgIDAgYWFhYSAgICAgICAgICAgMAorYmJiICAgIGRkZGRkZGRkWCAgICAgICAgIDEwMCBiYmIgICAgICAgICAgMTAwCitjY2NjYyAgZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlgKKyAgICAgICAgICAgICAgICAgICAgICAgICAgMjEgY2NjY2MgICAgICAgICAyMQorZGRkZGRkIHNzc1ggICAgICAgICAgICAgICAgMyBkZGRkZGQgICAgICAgICAzCitlZSAgICAgZGRYICAgICAgICAgICAgICAgNDExIGVlICAgICAgICAgICA0MTEKK2ZmZmYgICBqampqalggICAgICAgICAgIDUxMTEgZmZmZiAgICAgICAgNTExMQorZ2dnZ2dnIG1tbW1tbW1YICAgIDY3ODk5MzMyMSBnZ2dnZ2cgNjc4OTkzMzIxCitoaGggICAgbGxsbGxsbGxsbFggICA3NjY2NjY2IGhoaCAgICAgIDc2NjY2NjYKK2lpaWlpaSB5eXl5eXlYICAgICAgICAgIDg3NjUgaWlpaWlpICAgICAgODc2NQoramogICAgIHBwcHBwWCAgICAgICAgIDk4NzQ1NiBqaiAgICAgICAgOTg3NDU2CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtcmF3IGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXJhdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYzE4OGFhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXJhdwpAQCAtMCwwICsxLDExIEBACitOQU1FIE5VTSBUUlVOQworYWFhYSAwIHFxcXFxcXFxcXFxcXFxcXFxWAorYmJiIDEwMCBkZGRkZGRkZGRkZGRkWAorY2NjY2MgMjEgZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlgKK2RkZGRkZCAzIHNzc3Nzc3Nzc3NYCitlZSA0MTEgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYCitmZmZmIDUxMTEgampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalgKK2dnZ2dnZyA2Nzg5OTMzMjEgbW1tbW1tbW1tbW1tbW1tbW1tbVgKK2hoaCA3NjY2NjY2IGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYCitpaWlpaWkgODc2NSB5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5WAoramogOTg3NDU2IHBwcHBwcHBwcFgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1yaWdodCBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1yaWdodApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNzgyODVhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXJpZ2h0CkBAIC0wLDAgKzEsMTEgQEAKK05BTUUgICAgICAgICBOVU0gU1RSSU5HUworYWFhYSAgICAgICAgICAgMCBxcXFxcXFxcXFxcXFxcXFxcVgKK2JiYiAgICAgICAgICAxMDAgZGRkZGRkZGRkZGRkZFgKK2NjY2NjICAgICAgICAgMjEgZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlgKK2RkZGRkZCAgICAgICAgIDMgc3Nzc3Nzc3Nzc1gKK2VlICAgICAgICAgICA0MTEgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYCitmZmZmICAgICAgICA1MTExIGpqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampYCitnZ2dnZ2cgNjc4OTkzMzIxIG1tbW1tbW1tbW1tbW1tbW1tbW1YCitoaGggICAgICA3NjY2NjY2IGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYCitpaWlpaWkgICAgICA4NzY1IHl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlYCitqaiAgICAgICAgOTg3NDU2IHBwcHBwcHBwcFgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS1yaWdodC1tYXhvdXQgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtcmlnaHQtbWF4b3V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNiY2I2NWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtcmlnaHQtbWF4b3V0CkBAIC0wLDAgKzEsMTEgQEAKK05BTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVNCithYWFhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMAorYmJiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxMDAKK2NjY2NjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIxCitkZGRkZGQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMworZWUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MTEKK2ZmZmYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA1MTExCitnZ2dnZ2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDY3ODk5MzMyMQoraGhoICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc2NjY2NjYKK2lpaWlpaSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA4NzY1CitqaiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk4NzQ1NgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXN0cmljdHdpZHRoIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXN0cmljdHdpZHRoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQxMDU0YjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtc3RyaWN0d2lkdGgKQEAgLTAsMCArMSwxMSBAQAorTkFNRSAgICAgICAgICAgICAgICAgU1RSSUNUICAgICAgIE5VTQorYWFhYSAgICAgICAgICAgICAgICAgICAgICAwICAgICAgICAgMAorYmJiICAgICAgICAgICAgICAgICAgICAgICAxICAgICAgIDEwMAorY2NjY2MgICAgICAgICAgICAgICAgICAgICAyICAgICAgICAyMQorZGRkZGRkICAgICAgICAgICAgICAgICAgICAzICAgICAgICAgMworZWUgICAgICAgICAgICAgICAgICAgICAgICA0ICAgICAgIDQxMQorZmZmZiAgICAgICAgICAgICAgICAgICAgICA1ICAgICAgNTExMQorZ2dnZ2dnICAgICAgICAgICAgICAgICAgICA2IDY3ODk5MzMyMQoraGhoICAgICAgICAgICAgICAgICAgICAgICA3ICAgNzY2NjY2NgoraWlpaWlpICAgICAgICAgICAgICAgICAgICA4ICAgICAgODc2NQoramogICAgICAgICAgICAgICAgICAgICAgICA5ICAgIDk4NzQ1NgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRyZWUgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45ZDM0NWY4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRyZWUKQEAgLTAsMCArMSwxMSBAQAorVFJFRSAgICAgICAgICAgSUQgUEFSRU5UIFNUUklOR1MKK2FhYWEgICAgICAgICAgICAxICAgICAgMCBxcXFxcXFxcXFxcXFxcXFxcVgKK3wtYmJiICAgICAgICAgICAyICAgICAgMSBkZGRkZGRkZGRkZGRkWAorfCB8LWVlICAgICAgICAgIDUgICAgICAyIGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkWAorfCBgLWZmZmYgICAgICAgIDYgICAgICAyIGpqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampYCit8LWNjY2NjICAgICAgICAgMyAgICAgIDEgZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlgKK3wgYC1nZ2dnZ2cgICAgICA3ICAgICAgMyBtbW1tbW1tbW1tbW1tbW1tbW1tWAorfCAgIHwtaGhoICAgICAgIDggICAgICA3IGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYCit8ICAgfCBgLWlpaWlpaSAgOSAgICAgIDggeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eVgKK3wgICBgLWpqICAgICAgIDEwICAgICAgNyBwcHBwcHBwcHBYCitgLWRkZGRkZCAgICAgICAgNCAgICAgIDEgc3Nzc3Nzc3Nzc1gKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS10cmVlLWVuZCBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS10cmVlLWVuZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40MWFlYmZmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRyZWUtZW5kCkBAIC0wLDAgKzEsMTEgQEAKK0lEIFBBUkVOVCBTVFJJTkdTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUkVFCisgMSAgICAgIDAgcXFxcXFxcXFxcXFxcXFxcXFYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWFhYQorIDIgICAgICAxIGRkZGRkZGRkZGRkZGRYICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwtYmJiCisgNSAgICAgIDIgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYICAgICAgICAgICAgICAgICAgICAgICAgfCB8LWVlCisgNiAgICAgIDIgampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalggfCBgLWZmZmYKKyAzICAgICAgMSBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWCAgICAgICAgICB8LWNjY2NjCisgNyAgICAgIDMgbW1tbW1tbW1tbW1tbW1tbW1tbVggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCBgLWdnZ2dnZworIDggICAgICA3IGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYICAgICAgICAgICAgIHwgICB8LWhoaAorIDkgICAgICA4IHl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXlYICAgICAgICAgICAgICAgICAgICAgIHwgICB8IGAtaWlpaWlpCisxMCAgICAgIDcgcHBwcHBwcHBwWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIGAtamoKKyA0ICAgICAgMSBzc3Nzc3Nzc3NzWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBgLWRkZGRkZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRyZWUtanNvbiBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS10cmVlLWpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWIzNTQ2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS10cmVlLWpzb24KQEAgLTAsMCArMSwyOSBAQAoreworICAgInRlc3R0YWJsZSI6IFsKKyAgICAgIHsidHJlZSI6ImFhYWEiLCAiaWQiOiIxIiwgInBhcmVudCI6IjAiLCAic3RyaW5ncyI6InFxcXFxcXFxcXFxcXFxcXFxWCIsCisgICAgICAgICAiY2hpbGRyZW4iOiBbCisgICAgICAgICAgICB7InRyZWUiOiJiYmIiLCAiaWQiOiIyIiwgInBhcmVudCI6IjEiLCAic3RyaW5ncyI6ImRkZGRkZGRkZGRkZGRYIiwKKyAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IFsKKyAgICAgICAgICAgICAgICAgIHsidHJlZSI6ImVlIiwgImlkIjoiNSIsICJwYXJlbnQiOiIyIiwgInN0cmluZ3MiOiJkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFgifSwKKyAgICAgICAgICAgICAgICAgIHsidHJlZSI6ImZmZmYiLCAiaWQiOiI2IiwgInBhcmVudCI6IjIiLCAic3RyaW5ncyI6ImpqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampYIn0KKyAgICAgICAgICAgICAgIF0KKyAgICAgICAgICAgIH0sCisgICAgICAgICAgICB7InRyZWUiOiJjY2NjYyIsICJpZCI6IjMiLCAicGFyZW50IjoiMSIsICJzdHJpbmdzIjoiZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZlgiLAorICAgICAgICAgICAgICAgImNoaWxkcmVuIjogWworICAgICAgICAgICAgICAgICAgeyJ0cmVlIjoiZ2dnZ2dnIiwgImlkIjoiNyIsICJwYXJlbnQiOiIzIiwgInN0cmluZ3MiOiJtbW1tbW1tbW1tbW1tbW1tbW1tWCIsCisgICAgICAgICAgICAgICAgICAgICAiY2hpbGRyZW4iOiBbCisgICAgICAgICAgICAgICAgICAgICAgICB7InRyZWUiOiJoaGgiLCAiaWQiOiI4IiwgInBhcmVudCI6IjciLCAic3RyaW5ncyI6ImxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYIiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICJjaGlsZHJlbiI6IFsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsidHJlZSI6ImlpaWlpaSIsICJpZCI6IjkiLCAicGFyZW50IjoiOCIsICJzdHJpbmdzIjoieXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eVgifQorICAgICAgICAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAgICAgICAgICAgICAgICAgICAgIHsidHJlZSI6ImpqIiwgImlkIjoiMTAiLCAicGFyZW50IjoiNyIsICJzdHJpbmdzIjoicHBwcHBwcHBwWCJ9CisgICAgICAgICAgICAgICAgICAgICBdCisgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICBdCisgICAgICAgICAgICB9LAorICAgICAgICAgICAgeyJ0cmVlIjoiZGRkZGRkIiwgImlkIjoiNCIsICJwYXJlbnQiOiIxIiwgInN0cmluZ3MiOiJzc3Nzc3Nzc3NzWCJ9CisgICAgICAgICBdCisgICAgICB9CisgICBdCit9CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZS1taWRkbGUgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJlZS1taWRkbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjIxODMzMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS10cmVlLW1pZGRsZQpAQCAtMCwwICsxLDExIEBACitJRCBQQVJFTlQgVFJFRSAgICAgICAgICAgU1RSSU5HUworIDEgICAgICAwIGFhYWEgICAgICAgICAgIHFxcXFxcXFxcXFxcXFxcXFxWAorIDIgICAgICAxIHwtYmJiICAgICAgICAgIGRkZGRkZGRkZGRkZGRYCisgNSAgICAgIDIgfCB8LWVlICAgICAgICAgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYCisgNiAgICAgIDIgfCBgLWZmZmYgICAgICAgampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqalgKKyAzICAgICAgMSB8LWNjY2NjICAgICAgICBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmWAorIDcgICAgICAzIHwgYC1nZ2dnZ2cgICAgIG1tbW1tbW1tbW1tbW1tbW1tbW1YCisgOCAgICAgIDcgfCAgIHwtaGhoICAgICAgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbFgKKyA5ICAgICAgOCB8ICAgfCBgLWlpaWlpaSB5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5WAorMTAgICAgICA3IHwgICBgLWpqICAgICAgIHBwcHBwcHBwcFgKKyA0ICAgICAgMSBgLWRkZGRkZCAgICAgICBzc3Nzc3Nzc3NzWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRydW5jIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXRydW5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhMDk1ZGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtdHJ1bmMKQEAgLTAsMCArMSwxMSBAQAorTkFNRSAgICAgICAgIE5VTSBUUlVOQworYWFhYSAgICAgICAgICAgMCBxcXFxcXFxcXFxcXFxcXFxcVgKK2JiYiAgICAgICAgICAxMDAgZGRkZGRkZGRkZGRkZFgKK2NjY2NjICAgICAgICAgMjEgZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmYKK2RkZGRkZCAgICAgICAgIDMgc3Nzc3Nzc3Nzc1gKK2VlICAgICAgICAgICA0MTEgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQKK2ZmZmYgICAgICAgIDUxMTEgampqampqampqampqampqampqampqamoKK2dnZ2dnZyA2Nzg5OTMzMjEgbW1tbW1tbW1tbW1tbW1tbW1tbVgKK2hoaCAgICAgIDc2NjY2NjYgbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGwKK2lpaWlpaSAgICAgIDg3NjUgeXl5eXl5eXl5eXl5eXl5eXl5eXl5eXkKK2pqICAgICAgICA5ODc0NTYgcHBwcHBwcHBwWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXdyYXAgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtd3JhcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjk0ZjQ5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXdyYXAKQEAgLTAsMCArMSwxNyBAQAorTkFNRSAgICAgICAgIE5VTSBXUkFQCithYWFhICAgICAgICAgICAwIHFxcXFxcXFxcXFxcXFxcXFxWAorYmJiICAgICAgICAgIDEwMCBkZGRkZGRkZGRkZGRkWAorY2NjY2MgICAgICAgICAyMSBmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZgorICAgICAgICAgICAgICAgICBmZmZmZmZmZmZmZmZmZmZmZlgKK2RkZGRkZCAgICAgICAgIDMgc3Nzc3Nzc3Nzc1gKK2VlICAgICAgICAgICA0MTEgZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGQKKyAgICAgICAgICAgICAgICAgZGRkWAorZmZmZiAgICAgICAgNTExMSBqampqampqampqampqampqampqampqagorICAgICAgICAgICAgICAgICBqampqampqampqampqampqampqampqagorICAgICAgICAgICAgICAgICBqampYCitnZ2dnZ2cgNjc4OTkzMzIxIG1tbW1tbW1tbW1tbW1tbW1tbW1YCitoaGggICAgICA3NjY2NjY2IGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsCisgICAgICAgICAgICAgICAgIGxsbGxsbGxsbGxsbGxsWAoraWlpaWlpICAgICAgODc2NSB5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eQorICAgICAgICAgICAgICAgICB5eXl5eVgKK2pqICAgICAgICA5ODc0NTYgcHBwcHBwcHBwWApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXdyYXAtdHJlZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwLXRyZWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTJkYjdhNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwLXRyZWUKQEAgLTAsMCArMSwxOCBAQAorVFJFRSAgICAgICAgICAgSUQgUEFSRU5UIFdSQVAKK2FhYWEgICAgICAgICAgICAxICAgICAgMCBxcXFxcXFxcXFxcXFxcXFxcVgKK3wtYmJiICAgICAgICAgICAyICAgICAgMSBkZGRkZGRkZGRkZGRkWAorfCB8LWVlICAgICAgICAgIDUgICAgICAyIGRkZGRkZGRkZGRkZGRkZGRkZGRkCit8IHwgICAgICAgICAgICAgICAgICAgICAgZGRkZGRkWAorfCBgLWZmZmYgICAgICAgIDYgICAgICAyIGpqampqampqampqampqampqampqCit8ICAgICAgICAgICAgICAgICAgICAgICAgampqampqampqampqampqampqamoKK3wgICAgICAgICAgICAgICAgICAgICAgICBqampqampqampYCit8LWNjY2NjICAgICAgICAgMyAgICAgIDEgZmZmZmZmZmZmZmZmZmZmZmZmZmYKK3wgfCAgICAgICAgICAgICAgICAgICAgICBmZmZmZmZmZmZmZmZmZmZmZmZmZgorfCB8ICAgICAgICAgICAgICAgICAgICAgIFgKK3wgYC1nZ2dnZ2cgICAgICA3ICAgICAgMyBtbW1tbW1tbW1tbW1tbW1tbW1tWAorfCAgIHwtaGhoICAgICAgIDggICAgICA3IGxsbGxsbGxsbGxsbGxsbGxsbGxsCit8ICAgfCB8ICAgICAgICAgICAgICAgICAgbGxsbGxsbGxsbGxsbGxsbGxYCit8ICAgfCBgLWlpaWlpaSAgOSAgICAgIDggeXl5eXl5eXl5eXl5eXl5eXl5eXkKK3wgICB8ICAgICAgICAgICAgICAgICAgICB5eXl5eXl5eVgKK3wgICBgLWpqICAgICAgIDEwICAgICAgNyBwcHBwcHBwcHBYCitgLWRkZGRkZCAgICAgICAgNCAgICAgIDEgc3Nzc3Nzc3Nzc1gKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwbmwgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtd3JhcG5sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3NDdlYmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvZnJvbWZpbGUtd3JhcG5sCkBAIC0wLDAgKzEsMTkgQEAKK05BTUUgICAgICAgICBOVU0gV1JBUE5MCithYWFhICAgICAgICAgICAwIGFhYQorYmJiICAgICAgICAgIDEwMCBiYmJiYgorY2NjY2MgICAgICAgICAyMSBjY2NjCisgICAgICAgICAgICAgICAgIENDQ0MKK2RkZGRkZCAgICAgICAgIDMgZGRkZGRkZGQKKyAgICAgICAgICAgICAgICAgRERERAorICAgICAgICAgICAgICAgICBERAorZWUgICAgICAgICAgIDQxMSBoZWxsbworICAgICAgICAgICAgICAgICBiYWJ5CitmZmZmICAgICAgICA1MTExIGFhYQorICAgICAgICAgICAgICAgICBiYmIKKyAgICAgICAgICAgICAgICAgY2NjCisgICAgICAgICAgICAgICAgIGRkZAorZ2dnZ2dnIDY3ODk5MzMyMSBlZWUKK2hoaCAgICAgIDc2NjY2NjYgZmZmZmYKK2lpaWlpaSAgICAgIDg3NjUgZworICAgICAgICAgICAgICAgICBoaGhoaAoramogICAgICAgIDk4NzQ1NiBwcHBwcHBwcHAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwbmwtdHJlZSBiL3Rlc3RzL2V4cGVjdGVkL2xpYnNtYXJ0Y29scy9mcm9tZmlsZS13cmFwbmwtdHJlZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODYyY2YxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL2Zyb21maWxlLXdyYXBubC10cmVlCkBAIC0wLDAgKzEsMTkgQEAKK1RSRUUgICAgICAgICAgIElEIFBBUkVOVCBXUkFQTkwKK2FhYWEgICAgICAgICAgICAxICAgICAgMCBhYWEKK3wtYmJiICAgICAgICAgICAyICAgICAgMSBiYmJiYgorfCB8LWVlICAgICAgICAgIDUgICAgICAyIGhlbGxvCit8IHwgICAgICAgICAgICAgICAgICAgICAgYmFieQorfCBgLWZmZmYgICAgICAgIDYgICAgICAyIGFhYQorfCAgICAgICAgICAgICAgICAgICAgICAgIGJiYgorfCAgICAgICAgICAgICAgICAgICAgICAgIGNjYworfCAgICAgICAgICAgICAgICAgICAgICAgIGRkZAorfC1jY2NjYyAgICAgICAgIDMgICAgICAxIGNjY2MKK3wgfCAgICAgICAgICAgICAgICAgICAgICBDQ0NDCit8IGAtZ2dnZ2dnICAgICAgNyAgICAgIDMgZWVlCit8ICAgfC1oaGggICAgICAgOCAgICAgIDcgZmZmZmYKK3wgICB8IGAtaWlpaWlpICA5ICAgICAgOCBnCit8ICAgfCAgICAgICAgICAgICAgICAgICAgaGhoaGgKK3wgICBgLWpqICAgICAgIDEwICAgICAgNyBwcHBwcHBwcHAKK2AtZGRkZGRkICAgICAgICA0ICAgICAgMSBkZGRkZGRkZAorICAgICAgICAgICAgICAgICAgICAgICAgIEREREQKKyAgICAgICAgICAgICAgICAgICAgICAgICBERApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL3RpdGxlIGIvdGVzdHMvZXhwZWN0ZWQvbGlic21hcnRjb2xzL3RpdGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJiNWQ3MjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9saWJzbWFydGNvbHMvdGl0bGUKQEAgLTAsMCArMSwxNiBAQAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgcmlnaHQgdGl0bGUKK05BTUUgREFUQQorZm9vICBibGEgYmxhIGJsYQorYmFyICBhbGIgYWxiIGFsYgorVGhpcyBpcyBsZWZ0IHRpdGxlICh3aXRob3V0IHBhZGRpbmcpCitOQU1FIERBVEEKK2ZvbyAgYmxhIGJsYSBibGEKK2JhciAgYWxiIGFsYiBhbGIKKz09PT09PT09PT09PT09PT09PT09PT09VGhpcyBpcyBjZW50ZXIgdGl0bGUgKHdpdGggcGFkZGluZyk9PT09PT09PT09PT09PT09PT09PT09CitOQU1FIERBVEEKK2ZvbyAgYmxhIGJsYSBibGEKK2JhciAgYWxiIGFsYiBhbGIKK1RoaXMgaXMgbGVmdCB0aXRsZSAod2l0aCBwYWRkaW5nKS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCitOQU1FIERBVEEKK2ZvbyAgYmxhIGJsYSBibGEKK2JhciAgYWxiIGFsYiBhbGIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtY2hlY2tfc29ja2V0IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1jaGVja19zb2NrZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmYwMjgzNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtY2hlY2tfc29ja2V0CkBAIC0wLDAgKzEsNDEgQEAKK0NoZWNrIHdyaXR0ZW4gc29ja2V0IGRhdGEgb2YgYWxsIHN1YnRlc3RzLgorc29ja2V0IGRhdGEsIGtlcm5fcHJpb3JpdHk6Cis8OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbWVzc2FnZQorCitzb2NrZXQgZGF0YSwga2Vybl9wcmlvcml0eV9udW1lcmljOgorPDg+RmViIDEzIDIzOjMxOjMwIHByaW86IG1lc3NhZ2UKKworc29ja2V0IGRhdGEsIGludmFsaWRfcHJpbzoKKworc29ja2V0IGRhdGEsIHJmYzU0MjRfZXhjZWVkX3NpemU6Cis8MTM+MSAyMDA5LTAyLTEzVDIzOjMxOjMwLjEyMzQ1NiswMDowMCB0ZXN0LWhvc3RuYW1lIHJmYzU0MjRfZXhjZWVkX3NpemUgLSAtIFt0aW1lUXVhbGl0eSB0ektub3duPSIxIiBpc1N5bmNlZD0iMCJdIGFiYworCitzb2NrZXQgZGF0YSwgaWRfd2l0aF9zcGFjZToKKworc29ja2V0IGRhdGEsIGlkX3dpdGhfc3BhY2U6CisKK3NvY2tldCBkYXRhLCBpZF93aXRoX3NwYWNlOgorCitzb2NrZXQgZGF0YSwgaWRfd2l0aF9zcGFjZToKKzwxMz5GZWIgMTMgMjM6MzE6MzAgaWRfd2l0aF9sZWFkaW5nIHNwYWNlWzEyM106IG1lc3NhZ2UKKworc29ja2V0IGRhdGEsIGlkX3dpdGhfc3BhY2U6CisKK3NvY2tldCBkYXRhLCB0YWdfd2l0aF9zcGFjZToKKzwxMz5GZWIgMTMgMjM6MzE6MzAgQSBCOiB0YWdfd2l0aF9zcGFjZQorCitzb2NrZXQgZGF0YSwgdGFnX3dpdGhfc3BhY2U6Cis8MTM+MSAyMDA5LTAyLTEzVDIzOjMxOjMwLjEyMzQ1NiswMDowMCB0ZXN0LWhvc3RuYW1lIEEgQiAtIC0gW3RpbWVRdWFsaXR5IHR6S25vd249IjEiIGlzU3luY2VkPSIwIl0gdGFnX3dpdGhfc3BhY2VfcmZjNTQyNAorCitzb2NrZXQgZGF0YSwgdGNwOgorPDEzPkZlYiAxMyAyMzozMTozMCB0Y3A6IG1lc3NhZ2UKKworc29ja2V0IGRhdGEsIG11bHRpLWxpbmU6Cis8MTM+RmViIDEzIDIzOjMxOjMwIG11bHRpOiBBQUEKKzwxMz5GZWIgMTMgMjM6MzE6MzAgbXVsdGk6IEJCQgorPDEzPkZlYiAxMyAyMzozMTozMCBtdWx0aTogQ0NDCisKK3NvY2tldCBkYXRhLCByZmM1NDI0X21zZ2lkX3dpdGhfc3BhY2U6CisKK3NvY2tldCBkYXRhLCBpbnZhbGlkX3NvY2tldDoKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1pZF93aXRoX3NwYWNlIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1pZF93aXRoX3NwYWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBmM2JjNDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWlkX3dpdGhfc3BhY2UKQEAgLTAsMCArMSwxMCBAQAordGVzdF9sb2dnZXI6IGZhaWxlZCB0byBwYXJzZSBpZDogJ0EgQicKK3JldDogMQordGVzdF9sb2dnZXI6IGZhaWxlZCB0byBwYXJzZSBpZDogJ0EgQicKK3JldDogMQordGVzdF9sb2dnZXI6IGZhaWxlZCB0byBwYXJzZSBpZDogJzEgMjMnCityZXQ6IDEKKzwxMz5GZWIgMTMgMjM6MzE6MzAgaWRfd2l0aF9sZWFkaW5nIHNwYWNlWzEyM106IG1lc3NhZ2UKK3JldDogMAordGVzdF9sb2dnZXI6IGZhaWxlZCB0byBwYXJzZSBpZDogJzEyMyAnCityZXQ6IDEKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtaW52YWxpZF9wcmlvIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1pbnZhbGlkX3ByaW8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2UzYWE5NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtaW52YWxpZF9wcmlvCkBAIC0wLDAgKzEsMiBAQAordGVzdF9sb2dnZXI6IHVua25vd24gcHJpb3JpdHkgbmFtZTogOAorcmV0OiAxCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWludmFsaWRfc29ja2V0IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1pbnZhbGlkX3NvY2tldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NzIwYWZhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1pbnZhbGlkX3NvY2tldApAQCAtMCwwICsxLDIgQEAKK3Rlc3RfbG9nZ2VyOiBzb2NrZXQgL2JhZC9ib3k6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK3JldDogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1rZXJuX3ByaW9yaXR5IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1rZXJuX3ByaW9yaXR5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViMzcyYWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWtlcm5fcHJpb3JpdHkKQEAgLTAsMCArMSwyIEBACis8OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbWVzc2FnZQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWtlcm5fcHJpb3JpdHlfbnVtZXJpYyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMta2Vybl9wcmlvcml0eV9udW1lcmljCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViMzcyYWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLWtlcm5fcHJpb3JpdHlfbnVtZXJpYwpAQCAtMCwwICsxLDIgQEAKKzw4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBtZXNzYWdlCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtbXVsdGktbGluZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtbXVsdGktbGluZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MjQ3NTg5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1tdWx0aS1saW5lCkBAIC0wLDAgKzEsNCBAQAorPDEzPkZlYiAxMyAyMzozMTozMCBtdWx0aTogQUFBCis8MTM+RmViIDEzIDIzOjMxOjMwIG11bHRpOiBCQkIKKzwxMz5GZWIgMTMgMjM6MzE6MzAgbXVsdGk6IENDQworcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLXJmYzU0MjRfZXhjZWVkX3NpemUgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLXJmYzU0MjRfZXhjZWVkX3NpemUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmUyMDVlZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtcmZjNTQyNF9leGNlZWRfc2l6ZQpAQCAtMCwwICsxLDIgQEAKKzwxMz4xIDIwMDktMDItMTNUMjM6MzE6MzAuMTIzNDU2KzAwOjAwIHRlc3QtaG9zdG5hbWUgcmZjNTQyNF9leGNlZWRfc2l6ZSAtIC0gW3RpbWVRdWFsaXR5IHR6S25vd249IjEiIGlzU3luY2VkPSIwIl0gYWJjCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtcmZjNTQyNF9tc2dpZF93aXRoX3NwYWNlIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy1yZmM1NDI0X21zZ2lkX3dpdGhfc3BhY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWQ4YmQyOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtcmZjNTQyNF9tc2dpZF93aXRoX3NwYWNlCkBAIC0wLDAgKzEsMiBAQAordGVzdF9sb2dnZXI6IC0tbXNnaWQgY2Fubm90IGNvbnRhaW4gc3BhY2UKK3JldDogMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy10YWdfd2l0aF9zcGFjZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtdGFnX3dpdGhfc3BhY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzEyYmRjYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9lcnJvcnMtdGFnX3dpdGhfc3BhY2UKQEAgLTAsMCArMSw0IEBACis8MTM+RmViIDEzIDIzOjMxOjMwIEEgQjogdGFnX3dpdGhfc3BhY2UKK3JldDogMAorPDEzPjEgMjAwOS0wMi0xM1QyMzozMTozMC4xMjM0NTYrMDA6MDAgdGVzdC1ob3N0bmFtZSBBIEIgLSAtIFt0aW1lUXVhbGl0eSB0ektub3duPSIxIiBpc1N5bmNlZD0iMCJdIHRhZ193aXRoX3NwYWNlX3JmYzU0MjQKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy10Y3AgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZXJyb3JzLXRjcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNjZkYzk5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Vycm9ycy10Y3AKQEAgLTAsMCArMSwyIEBACis8MTM+RmViIDEzIDIzOjMxOjMwIHRjcDogbWVzc2FnZQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1jaGVja19zb2NrZXQgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1jaGVja19zb2NrZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmEzNmM0ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLWNoZWNrX3NvY2tldApAQCAtMCwwICsxIEBACitDaGVjayB3cml0dGVuIHNvY2tldCBkYXRhIG9mIGFsbCBzdWJ0ZXN0cy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLW9jdGV0X2NvdW50aW5nIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtb2N0ZXRfY291bnRpbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIxODgyNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLW9jdGV0X2NvdW50aW5nCkBAIC0wLDAgKzEsMiBAQAorMzQgPDEzPkZlYiAxMyAyMzozMTozMCBvY3RlbjogbWVzc2FnZQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1wcmlvcml0aWVzIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcHJpb3JpdGllcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40NjJlOTBmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcHJpb3JpdGllcwpAQCAtMCwwICsxLDMwNCBAQAorPDMyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRoLmVtZXJnCityZXQ6IDAKKzwzMz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aC5hbGVydAorcmV0OiAwCis8MzQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGguY3JpdAorcmV0OiAwCis8MzU+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGguZXJyCityZXQ6IDAKKzwzNj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aC53YXJuaW5nCityZXQ6IDAKKzwzNz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aC5ub3RpY2UKK3JldDogMAorPDM4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRoLmluZm8KK3JldDogMAorPDM5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRoLmRlYnVnCityZXQ6IDAKKzw4MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aHByaXYuZW1lcmcKK3JldDogMAorPDgxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRocHJpdi5hbGVydAorcmV0OiAwCis8ODI+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGhwcml2LmNyaXQKK3JldDogMAorPDgzPkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRocHJpdi5lcnIKK3JldDogMAorPDg0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBhdXRocHJpdi53YXJuaW5nCityZXQ6IDAKKzw4NT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aHByaXYubm90aWNlCityZXQ6IDAKKzw4Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogYXV0aHByaXYuaW5mbworcmV0OiAwCis8ODc+RmViIDEzIDIzOjMxOjMwIHByaW86IGF1dGhwcml2LmRlYnVnCityZXQ6IDAKKzw3Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogY3Jvbi5lbWVyZworcmV0OiAwCis8NzM+RmViIDEzIDIzOjMxOjMwIHByaW86IGNyb24uYWxlcnQKK3JldDogMAorPDc0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBjcm9uLmNyaXQKK3JldDogMAorPDc1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBjcm9uLmVycgorcmV0OiAwCis8NzY+RmViIDEzIDIzOjMxOjMwIHByaW86IGNyb24ud2FybmluZworcmV0OiAwCis8Nzc+RmViIDEzIDIzOjMxOjMwIHByaW86IGNyb24ubm90aWNlCityZXQ6IDAKKzw3OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogY3Jvbi5pbmZvCityZXQ6IDAKKzw3OT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogY3Jvbi5kZWJ1ZworcmV0OiAwCis8MjQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGRhZW1vbi5lbWVyZworcmV0OiAwCis8MjU+RmViIDEzIDIzOjMxOjMwIHByaW86IGRhZW1vbi5hbGVydAorcmV0OiAwCis8MjY+RmViIDEzIDIzOjMxOjMwIHByaW86IGRhZW1vbi5jcml0CityZXQ6IDAKKzwyNz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZGFlbW9uLmVycgorcmV0OiAwCis8Mjg+RmViIDEzIDIzOjMxOjMwIHByaW86IGRhZW1vbi53YXJuaW5nCityZXQ6IDAKKzwyOT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZGFlbW9uLm5vdGljZQorcmV0OiAwCis8MzA+RmViIDEzIDIzOjMxOjMwIHByaW86IGRhZW1vbi5pbmZvCityZXQ6IDAKKzwzMT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZGFlbW9uLmRlYnVnCityZXQ6IDAKKzw4OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZnRwLmVtZXJnCityZXQ6IDAKKzw4OT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZnRwLmFsZXJ0CityZXQ6IDAKKzw5MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZnRwLmNyaXQKK3JldDogMAorPDkxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBmdHAuZXJyCityZXQ6IDAKKzw5Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZnRwLndhcm5pbmcKK3JldDogMAorPDkzPkZlYiAxMyAyMzozMTozMCBwcmlvOiBmdHAubm90aWNlCityZXQ6IDAKKzw5ND5GZWIgMTMgMjM6MzE6MzAgcHJpbzogZnRwLmluZm8KK3JldDogMAorPDk1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBmdHAuZGVidWcKK3JldDogMAorPDQ4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBscHIuZW1lcmcKK3JldDogMAorPDQ5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBscHIuYWxlcnQKK3JldDogMAorPDUwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBscHIuY3JpdAorcmV0OiAwCis8NTE+RmViIDEzIDIzOjMxOjMwIHByaW86IGxwci5lcnIKK3JldDogMAorPDUyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBscHIud2FybmluZworcmV0OiAwCis8NTM+RmViIDEzIDIzOjMxOjMwIHByaW86IGxwci5ub3RpY2UKK3JldDogMAorPDU0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBscHIuaW5mbworcmV0OiAwCis8NTU+RmViIDEzIDIzOjMxOjMwIHByaW86IGxwci5kZWJ1ZworcmV0OiAwCis8MTY+RmViIDEzIDIzOjMxOjMwIHByaW86IG1haWwuZW1lcmcKK3JldDogMAorPDE3PkZlYiAxMyAyMzozMTozMCBwcmlvOiBtYWlsLmFsZXJ0CityZXQ6IDAKKzwxOD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbWFpbC5jcml0CityZXQ6IDAKKzwxOT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbWFpbC5lcnIKK3JldDogMAorPDIwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBtYWlsLndhcm5pbmcKK3JldDogMAorPDIxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBtYWlsLm5vdGljZQorcmV0OiAwCis8MjI+RmViIDEzIDIzOjMxOjMwIHByaW86IG1haWwuaW5mbworcmV0OiAwCis8MjM+RmViIDEzIDIzOjMxOjMwIHByaW86IG1haWwuZGVidWcKK3JldDogMAorPDU2PkZlYiAxMyAyMzozMTozMCBwcmlvOiBuZXdzLmVtZXJnCityZXQ6IDAKKzw1Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbmV3cy5hbGVydAorcmV0OiAwCis8NTg+RmViIDEzIDIzOjMxOjMwIHByaW86IG5ld3MuY3JpdAorcmV0OiAwCis8NTk+RmViIDEzIDIzOjMxOjMwIHByaW86IG5ld3MuZXJyCityZXQ6IDAKKzw2MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbmV3cy53YXJuaW5nCityZXQ6IDAKKzw2MT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbmV3cy5ub3RpY2UKK3JldDogMAorPDYyPkZlYiAxMyAyMzozMTozMCBwcmlvOiBuZXdzLmluZm8KK3JldDogMAorPDYzPkZlYiAxMyAyMzozMTozMCBwcmlvOiBuZXdzLmRlYnVnCityZXQ6IDAKKzw0MD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogc3lzbG9nLmVtZXJnCityZXQ6IDAKKzw0MT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogc3lzbG9nLmFsZXJ0CityZXQ6IDAKKzw0Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogc3lzbG9nLmNyaXQKK3JldDogMAorPDQzPkZlYiAxMyAyMzozMTozMCBwcmlvOiBzeXNsb2cuZXJyCityZXQ6IDAKKzw0ND5GZWIgMTMgMjM6MzE6MzAgcHJpbzogc3lzbG9nLndhcm5pbmcKK3JldDogMAorPDQ1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBzeXNsb2cubm90aWNlCityZXQ6IDAKKzw0Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogc3lzbG9nLmluZm8KK3JldDogMAorPDQ3PkZlYiAxMyAyMzozMTozMCBwcmlvOiBzeXNsb2cuZGVidWcKK3JldDogMAorPDg+RmViIDEzIDIzOjMxOjMwIHByaW86IHVzZXIuZW1lcmcKK3JldDogMAorPDk+RmViIDEzIDIzOjMxOjMwIHByaW86IHVzZXIuYWxlcnQKK3JldDogMAorPDEwPkZlYiAxMyAyMzozMTozMCBwcmlvOiB1c2VyLmNyaXQKK3JldDogMAorPDExPkZlYiAxMyAyMzozMTozMCBwcmlvOiB1c2VyLmVycgorcmV0OiAwCis8MTI+RmViIDEzIDIzOjMxOjMwIHByaW86IHVzZXIud2FybmluZworcmV0OiAwCis8MTM+RmViIDEzIDIzOjMxOjMwIHByaW86IHVzZXIubm90aWNlCityZXQ6IDAKKzwxND5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXNlci5pbmZvCityZXQ6IDAKKzwxNT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXNlci5kZWJ1ZworcmV0OiAwCis8NjQ+RmViIDEzIDIzOjMxOjMwIHByaW86IHV1Y3AuZW1lcmcKK3JldDogMAorPDY1PkZlYiAxMyAyMzozMTozMCBwcmlvOiB1dWNwLmFsZXJ0CityZXQ6IDAKKzw2Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXVjcC5jcml0CityZXQ6IDAKKzw2Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogdXVjcC5lcnIKK3JldDogMAorPDY4PkZlYiAxMyAyMzozMTozMCBwcmlvOiB1dWNwLndhcm5pbmcKK3JldDogMAorPDY5PkZlYiAxMyAyMzozMTozMCBwcmlvOiB1dWNwLm5vdGljZQorcmV0OiAwCis8NzA+RmViIDEzIDIzOjMxOjMwIHByaW86IHV1Y3AuaW5mbworcmV0OiAwCis8NzE+RmViIDEzIDIzOjMxOjMwIHByaW86IHV1Y3AuZGVidWcKK3JldDogMAorPDEyOD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwwLmVtZXJnCityZXQ6IDAKKzwxMjk+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMC5hbGVydAorcmV0OiAwCis8MTMwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDAuY3JpdAorcmV0OiAwCis8MTMxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDAuZXJyCityZXQ6IDAKKzwxMzI+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMC53YXJuaW5nCityZXQ6IDAKKzwxMzM+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMC5ub3RpY2UKK3JldDogMAorPDEzND5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwwLmluZm8KK3JldDogMAorPDEzNT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwwLmRlYnVnCityZXQ6IDAKKzwxMzY+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMS5lbWVyZworcmV0OiAwCis8MTM3PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDEuYWxlcnQKK3JldDogMAorPDEzOD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwxLmNyaXQKK3JldDogMAorPDEzOT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwxLmVycgorcmV0OiAwCis8MTQwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDEud2FybmluZworcmV0OiAwCis8MTQxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDEubm90aWNlCityZXQ6IDAKKzwxNDI+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMS5pbmZvCityZXQ6IDAKKzwxNDM+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMS5kZWJ1ZworcmV0OiAwCis8MTQ0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDIuZW1lcmcKK3JldDogMAorPDE0NT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwyLmFsZXJ0CityZXQ6IDAKKzwxNDY+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMi5jcml0CityZXQ6IDAKKzwxNDc+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMi5lcnIKK3JldDogMAorPDE0OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwyLndhcm5pbmcKK3JldDogMAorPDE0OT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwyLm5vdGljZQorcmV0OiAwCis8MTUwPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDIuaW5mbworcmV0OiAwCis8MTUxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDIuZGVidWcKK3JldDogMAorPDE1Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwzLmVtZXJnCityZXQ6IDAKKzwxNTM+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMy5hbGVydAorcmV0OiAwCis8MTU0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDMuY3JpdAorcmV0OiAwCis8MTU1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDMuZXJyCityZXQ6IDAKKzwxNTY+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMy53YXJuaW5nCityZXQ6IDAKKzwxNTc+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsMy5ub3RpY2UKK3JldDogMAorPDE1OD5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwzLmluZm8KK3JldDogMAorPDE1OT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWwzLmRlYnVnCityZXQ6IDAKKzwxNjA+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNC5lbWVyZworcmV0OiAwCis8MTYxPkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDQuYWxlcnQKK3JldDogMAorPDE2Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw0LmNyaXQKK3JldDogMAorPDE2Mz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw0LmVycgorcmV0OiAwCis8MTY0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDQud2FybmluZworcmV0OiAwCis8MTY1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDQubm90aWNlCityZXQ6IDAKKzwxNjY+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNC5pbmZvCityZXQ6IDAKKzwxNjc+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNC5kZWJ1ZworcmV0OiAwCis8MTY4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDUuZW1lcmcKK3JldDogMAorPDE2OT5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw1LmFsZXJ0CityZXQ6IDAKKzwxNzA+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNS5jcml0CityZXQ6IDAKKzwxNzE+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNS5lcnIKK3JldDogMAorPDE3Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw1Lndhcm5pbmcKK3JldDogMAorPDE3Mz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw1Lm5vdGljZQorcmV0OiAwCis8MTc0PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDUuaW5mbworcmV0OiAwCis8MTc1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDUuZGVidWcKK3JldDogMAorPDE3Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw2LmVtZXJnCityZXQ6IDAKKzwxNzc+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNi5hbGVydAorcmV0OiAwCis8MTc4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDYuY3JpdAorcmV0OiAwCis8MTc5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDYuZXJyCityZXQ6IDAKKzwxODA+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNi53YXJuaW5nCityZXQ6IDAKKzwxODE+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNi5ub3RpY2UKK3JldDogMAorPDE4Mj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw2LmluZm8KK3JldDogMAorPDE4Mz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw2LmRlYnVnCityZXQ6IDAKKzwxODQ+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNy5lbWVyZworcmV0OiAwCis8MTg1PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDcuYWxlcnQKK3JldDogMAorPDE4Nj5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw3LmNyaXQKK3JldDogMAorPDE4Nz5GZWIgMTMgMjM6MzE6MzAgcHJpbzogbG9jYWw3LmVycgorcmV0OiAwCis8MTg4PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDcud2FybmluZworcmV0OiAwCis8MTg5PkZlYiAxMyAyMzozMTozMCBwcmlvOiBsb2NhbDcubm90aWNlCityZXQ6IDAKKzwxOTA+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNy5pbmZvCityZXQ6IDAKKzwxOTE+RmViIDEzIDIzOjMxOjMwIHByaW86IGxvY2FsNy5kZWJ1ZworcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmMzMTY0IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcmZjMzE2NApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYWI5ZmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcmZjMzE2NApAQCAtMCwwICsxLDIgQEAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdC1ob3N0bmFtZSByZmMzMTY0OiBtZXNzYWdlCityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbXNnaWQgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X21zZ2lkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1NWU5N2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X21zZ2lkCkBAIC0wLDAgKzEsMiBAQAorPDEzPjEgMjAwOS0wMi0xM1QyMzozMTozMC4xMjM0NTYrMDA6MDAgdGVzdC1ob3N0bmFtZSByZmM1NDI0IC0gTVNHSUQgW3RpbWVRdWFsaXR5IHR6S25vd249IjEiIGlzU3luY2VkPSIwIl0gbWVzc2FnZQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X25vaG9zdCBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbm9ob3N0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjMwZWQwMjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X25vaG9zdApAQCAtMCwwICsxLDIgQEAKKzwxMz4xIDIwMDktMDItMTNUMjM6MzE6MzAuMTIzNDU2KzAwOjAwIC0gcmZjNTQyNCAtIC0gW3RpbWVRdWFsaXR5IHR6S25vd249IjEiIGlzU3luY2VkPSIwIl0gbWVzc2FnZQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X25vdGltZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9mb3JtYXRzLXJmYzU0MjRfbm90aW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ5Yzk2ZjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X25vdGltZQpAQCAtMCwwICsxLDIgQEAKKzwxMz4xIC0gdGVzdC1ob3N0bmFtZSByZmM1NDI0IC0gLSAtIG1lc3NhZ2UKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcmZjNTQyNF9zaW1wbGUgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvZm9ybWF0cy1yZmM1NDI0X3NpbXBsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MGU1YTM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2Zvcm1hdHMtcmZjNTQyNF9zaW1wbGUKQEAgLTAsMCArMSwyIEBACis8MTM+MSAyMDA5LTAyLTEzVDIzOjMxOjMwLjEyMzQ1NiswMDowMCB0ZXN0LWhvc3RuYW1lIHJmYzU0MjQgLSAtIFt0aW1lUXVhbGl0eSB0ektub3duPSIxIiBpc1N5bmNlZD0iMCJdIG1lc3NhZ2UKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2lucHV0X2VtcHR5X2xpbmUgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvaW5wdXRfZW1wdHlfbGluZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ODU3OGFlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2lucHV0X2VtcHR5X2xpbmUKQEAgLTAsMCArMSwzIEBACithMSBhMiBhMyBhNCBhNSBiMSBiMiBiMyBiNCBiNSBjMSBjMiBjMyBjNCBjNQorCis1e2MuLjF9IDR7Yy4uMX0gM3tjLi4xfSAye2MuLjF9IDF7Yy4uMX0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9pbnB1dF9wcmlvX3ByZWZpeCBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9pbnB1dF9wcmlvX3ByZWZpeApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNWE1ZjU0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL2lucHV0X3ByaW9fcHJlZml4CkBAIC0wLDAgKzEgQEAKKzw2Nj4gcHJpb19wcmVmaXgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9pbnB1dF9zaW1wbGUgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvaW5wdXRfc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjllNWM2NmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvaW5wdXRfc2ltcGxlCkBAIC0wLDAgKzEgQEAKK2ExIGEyIGEzIGE0IGE1IGIxIGIyIGIzIGI0IGI1IGMxIGMyIGMzIGM0IGM1CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvam91cm5hbGQgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvam91cm5hbGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU0NjI4ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9qb3VybmFsZApAQCAtMCwwICsxLDMgQEAKK01FU1NBR0VfSUQ9YjhmNzRlMTRiYzcxNGJmYzgwNDBhNTEwNmRjOTM3NmEKK01FU1NBR0U9YSBiIGMgMSAyIDMKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtY2hlY2tfc29ja2V0IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtY2hlY2tfc29ja2V0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmZhMzZjNGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1jaGVja19zb2NrZXQKQEAgLTAsMCArMSBAQAorQ2hlY2sgd3JpdHRlbiBzb2NrZXQgZGF0YSBvZiBhbGwgc3VidGVzdHMuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1pbnB1dF9maWxlX2VtcHR5X2xpbmUgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1pbnB1dF9maWxlX2VtcHR5X2xpbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDI3NmUzYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfZW1wdHlfbGluZQpAQCAtMCwwICsxLDQgQEAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWc6IGExIGEyIGEzIGE0IGE1IGIxIGIyIGIzIGI0IGI1IGMxIGMyIGMzIGM0IGM1Cis8MTM+RmViIDEzIDIzOjMxOjMwIHRlc3RfdGFnOiAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWc6IDV7Yy4uMX0gNHtjLi4xfSAze2MuLjF9IDJ7Yy4uMX0gMXtjLi4xfQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1pbnB1dF9maWxlX3ByaW9fcHJlZml4IGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtaW5wdXRfZmlsZV9wcmlvX3ByZWZpeApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjY5YmI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtaW5wdXRfZmlsZV9wcmlvX3ByZWZpeApAQCAtMCwwICsxLDIgQEAKKzw2Nj5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWc6ICBwcmlvX3ByZWZpeAorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1pbnB1dF9maWxlX3NpbXBsZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NTUyNDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1pbnB1dF9maWxlX3NpbXBsZQpAQCAtMCwwICsxLDIgQEAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWc6IGExIGEyIGEzIGE0IGE1IGIxIGIyIGIzIGI0IGI1IGMxIGMyIGMzIGM0IGM1CityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfc2tpcF9lbXB0eSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWlucHV0X2ZpbGVfc2tpcF9lbXB0eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNzdjMTg2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtaW5wdXRfZmlsZV9za2lwX2VtcHR5CkBAIC0wLDAgKzEsMyBAQAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZzogYTEgYTIgYTMgYTQgYTUgYjEgYjIgYjMgYjQgYjUgYzEgYzIgYzMgYzQgYzUKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWc6IDV7Yy4uMX0gNHtjLi4xfSAze2MuLjF9IDJ7Yy4uMX0gMXtjLi4xfQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtbG9nX3BpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40N2EwMTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtbG9nX3BpZApAQCAtMCwwICsxLDIgQEAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWdbOTg3NjVdOiB0ZXN0CityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWxvZ19waWRfZGVmaW5lIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtbG9nX3BpZF9kZWZpbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ3Yjg3NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWxvZ19waWRfZGVmaW5lCkBAIC0wLDAgKzEsMiBAQAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZ1sxMjM0NV06IHRlc3QKK3JldDogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtbG9nX3BpZF9sb25nIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtbG9nX3BpZF9sb25nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3YTAxNDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkX2xvbmcKQEAgLTAsMCArMSwyIEBACis8MTM+RmViIDEzIDIzOjMxOjMwIHRlc3RfdGFnWzk4NzY1XTogdGVzdAorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkX25vX2FyZyBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLWxvZ19waWRfbm9fYXJnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3YTAxNDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dnZXIvb3B0aW9ucy1sb2dfcGlkX25vX2FyZwpAQCAtMCwwICsxLDIgQEAKKzwxMz5GZWIgMTMgMjM6MzE6MzAgdGVzdF90YWdbOTg3NjVdOiB0ZXN0CityZXQ6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLXNpbXBsZSBiL3Rlc3RzL2V4cGVjdGVkL2xvZ2dlci9vcHRpb25zLXNpbXBsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZmExOGUwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9nZ2VyL29wdGlvbnMtc2ltcGxlCkBAIC0wLDAgKzEsMiBAQAorPDEzPkZlYiAxMyAyMzozMTozMCB0ZXN0X3RhZzogdGVzdAorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb2dpbi9pc2xvY2FsIGIvdGVzdHMvZXhwZWN0ZWQvbG9naW4vaXNsb2NhbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNWQ0M2ZmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9naW4vaXNsb2NhbApAQCAtMCwwICsxLDEzIEBACisxOnJvb3QKKzE6bm9ib2R5CiswOgorMDp5b3VuZ21hbgorMDp5b3VuZ21hbjIKKzA6YWJjZGVmZ2h4CiswOm5vYm8KKzE6bG9uZworMDpyb3QKKzE6YWwKKzA6bWFsZm9ybWVkCisxOm5vbmwKKzA6em5vYm9keQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9naW4vbG9naW5kZWZzIGIvdGVzdHMvZXhwZWN0ZWQvbG9naW4vbG9naW5kZWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFjYTJhMWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb2dpbi9sb2dpbmRlZnMKQEAgLTAsMCArMSwxNCBAQAorbG9naW5kZWZzLmRhdGE6ICRFTkQ6ICd0aGUgaXMgZW5kJworbG9naW5kZWZzLmRhdGE6ICRFTVBUWTogJyhudWxsKScKK2xvZ2luZGVmcy5kYXRhOiAkQ1JBWlkzOiAnRm9vb0JhYWFyJworbG9naW5kZWZzLmRhdGE6ICRDUkFaWTI6ICdmb29CYXInCitsb2dpbmRlZnMuZGF0YTogJENSQVpZMTogJ3RoaXMgaXMgY3JhenkgZm9ybWF0JworbG9naW5kZWZzLmRhdGE6ICRCT09MRUFOOiAneUVzJworbG9naW5kZWZzLmRhdGE6ICROVU1CRVI6ICcxMjM0NTYnCitsb2dpbmRlZnMuZGF0YTogJFNUUklORzogJ3RoaXNfaXNfc3RyaW5nJworbG9naW5kZWZzLmRhdGE6ICRIRUxMT19XT1JMRDogJ2hlbGxvIHdvcmxkIScKKyRTVFJJTkc6ICd0aGlzX2lzX3N0cmluZycKKyROVU1CRVI6ICcxMjM0NTYnCiskQk9PTEVBTjogJ1knCiskRU1QVFk6ICcnCiskVU5LTk9XTjogJ0RFRkFVTFQnCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb29rL3NlcGFyYXRvciBiL3Rlc3RzL2V4cGVjdGVkL2xvb2svc2VwYXJhdG9yCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjMTlkMDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb29rL3NlcGFyYXRvcgpAQCAtMCwwICsxIEBACithcHBsZS1waWUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYtb2Zmc2V0IGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1vZmZzZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2IzN2I2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYtb2Zmc2V0CkBAIC0wLDAgKzEsMyBAQAorb2Zmc2V0OiAgICAxMDQ4NTc2CitzaXplbGltaXQ6IDAKK3NpemU6ICAgICAgMTA0ODU3NjAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYtc2VjdGlvbiBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYtc2VjdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNDgwZDY2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1zZWN0aW9uCkBAIC0wLDAgKzEsMyBAQAorb2Zmc2V0OiAgICAxMDQ4NTc2CitzaXplbGltaXQ6IDMxNDU3MjgKK3NpemU6ICAgICAgMzE0NTcyOApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1zaG93IGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1zaG93Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJhZmMxNTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtYmxrZGV2LXNob3cKQEAgLTAsMCArMSwzIEBACitvZmZzZXQ6ICAgIDAKK3NpemVsaW1pdDogMAorc2l6ZTogICAgICAxMTUzNDMzNgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1zaXplbGltaXQgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtYmxrZGV2LXNpemVsaW1pdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjIwZDQ4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWJsa2Rldi1zaXplbGltaXQKQEAgLTAsMCArMSwzIEBACitvZmZzZXQ6ICAgIDAKK3NpemVsaW1pdDogMzE0NTcyOAorc2l6ZTogICAgICAzMTQ1NzI4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1vZmZzZXQgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1vZmZzZXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjQxNmY4ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLW9mZnNldApAQCAtMCwwICsxLDMgQEAKK29mZnNldDogICAgMTA0ODU3Ngorc2l6ZWxpbWl0OiAwCitzaXplOiAgICAgIDk0MzcxODQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLXNlY3Rpb24gYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zZWN0aW9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ODBkNjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zZWN0aW9uCkBAIC0wLDAgKzEsMyBAQAorb2Zmc2V0OiAgICAxMDQ4NTc2CitzaXplbGltaXQ6IDMxNDU3MjgKK3NpemU6ICAgICAgMzE0NTcyOApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWZpbGUtc2VjdG9uIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWZpbGUtc2VjdG9uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0ODBkNjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zZWN0b24KQEAgLTAsMCArMSwzIEBACitvZmZzZXQ6ICAgIDEwNDg1NzYKK3NpemVsaW1pdDogMzE0NTcyOAorc2l6ZTogICAgICAzMTQ1NzI4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zaG93IGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWZpbGUtc2hvdwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOWQxMTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWZpbGUtc2hvdwpAQCAtMCwwICsxLDMgQEAKK29mZnNldDogICAgMAorc2l6ZWxpbWl0OiAwCitzaXplOiAgICAgIDEwNDg1NzYwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zaXplbGltaXQgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtZmlsZS1zaXplbGltaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDIyMGQ0OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1maWxlLXNpemVsaW1pdApAQCAtMCwwICsxLDMgQEAKK29mZnNldDogICAgMAorc2l6ZWxpbWl0OiAzMTQ1NzI4CitzaXplOiAgICAgIDMxNDU3MjgKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wCkBAIC0wLDAgKzEgQEAKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtY29uZmxpY3QgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLWNvbmZsaWN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZDY2OGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLWNvbmZsaWN0CkBAIC0wLDAgKzEsMyBAQAorRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZQorZGlmZmVyZW50CitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLWNvbmZsaWN0LW5vLXNpemVsaW1pdCBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtY29uZmxpY3Qtbm8tc2l6ZWxpbWl0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmZDY2OGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLWNvbmZsaWN0LW5vLXNpemVsaW1pdApAQCAtMCwwICsxLDMgQEAKK0ZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UKK2RpZmZlcmVudAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1jb25mbGljdC1yZWFkb25seSBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtY29uZmxpY3QtcmVhZG9ubHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZkNjY4YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtY29uZmxpY3QtcmVhZG9ubHkKQEAgLTAsMCArMSwzIEBACitGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlCitkaWZmZXJlbnQKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtbm8tcmUtdXNlIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1uby1yZS11c2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FjYjdmOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtbm8tcmUtdXNlCkBAIC0wLDAgKzEsMiBAQAorZGlmZmVyZW50CitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLW9rLW5vLXNpemVsaW1pdCBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtb2stbm8tc2l6ZWxpbWl0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhY2I3ZjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLW9rLW5vLXNpemVsaW1pdApAQCAtMCwwICsxLDIgQEAKK2RpZmZlcmVudAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtZmluZC1yYWNlLWNvbmRpdGlvbiBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtcmFjZS1jb25kaXRpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUzMzA3OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtcmFjZS1jb25kaXRpb24KQEAgLTAsMCArMSwyIEBACiswCitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLXJlLXVzZSBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLWZpbmQtcmUtdXNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY1OGE0M2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1maW5kLXJlLXVzZQpAQCAtMCwwICsxLDIgQEAKK2VxdWFsCitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1wbGFpbi1jb25mbGljdCBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLXBsYWluLWNvbmZsaWN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjOGNkOGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1wbGFpbi1jb25mbGljdApAQCAtMCwwICsxLDIgQEAKKzEKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLXBsYWluLXJlLXVzZSBiL3Rlc3RzL2V4cGVjdGVkL2xvc2V0dXAvbG9zZXR1cC1sb29wLXBsYWluLXJlLXVzZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NTMzMDc5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtcGxhaW4tcmUtdXNlCkBAIC0wLDAgKzEsMiBAQAorMAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtcGxhaW4tcmVhZG9ubHkgYi90ZXN0cy9leHBlY3RlZC9sb3NldHVwL2xvc2V0dXAtbG9vcC1wbGFpbi1yZWFkb25seQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYzhjZDhmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbG9zZXR1cC9sb3NldHVwLWxvb3AtcGxhaW4tcmVhZG9ubHkKQEAgLTAsMCArMSwyIEBACisxCitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLWJhc2ljIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLWx2bS1iYXNpYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDEzYmU3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLWx2bS1iYXNpYwpAQCAtMCwwICsxLDIyIEBACitOQU1FICAgICAgICAgICAgICAgICAgICAgIEtOQU1FICAgICBNQUo6TUlOIFJNICAgU0laRSBUWVBFIE1PVU5UUE9JTlQKK2xvb3AwICAgICAgICAgICAgICAgICAgICAgbG9vcDAgICAgICAgNzowICAgIDAgICAgMTBNIGxvb3AgCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5IGRtLTAgICAgICAyNTM6MCAgICAwICAgIDMyTSBsdm0gIAorbG9vcDEgICAgICAgICAgICAgICAgICAgICBsb29wMSAgICAgICA3OjEgICAgMCAgICAxME0gbG9vcCAKK2AtdmdfZm9vLjQwNTktbHZfZm9vLjQwNTkgZG0tMCAgICAgIDI1MzowICAgIDAgICAgMzJNIGx2bSAgCitsb29wMiAgICAgICAgICAgICAgICAgICAgIGxvb3AyICAgICAgIDc6MiAgICAwICAgIDEwTSBsb29wIAorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSBkbS0wICAgICAgMjUzOjAgICAgMCAgICAzMk0gbHZtICAKK2xvb3AzICAgICAgICAgICAgICAgICAgICAgbG9vcDMgICAgICAgNzozICAgIDAgICAgMTBNIGxvb3AgCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5IGRtLTAgICAgICAyNTM6MCAgICAwICAgIDMyTSBsdm0gIAorc2RhICAgICAgICAgICAgICAgICAgICAgICBzZGEgICAgICAgICA4OjAgICAgMCAyMjMuNkcgZGlzayAKK3wtc2RhMSAgICAgICAgICAgICAgICAgICAgc2RhMSAgICAgICAgODoxICAgIDAgICAyMDBNIHBhcnQgL2Jvb3QvZWZpCit8LXNkYTIgICAgICAgICAgICAgICAgICAgIHNkYTIgICAgICAgIDg6MiAgICAwICAgMjAwTSBwYXJ0IC9ib290Cit8LXNkYTMgICAgICAgICAgICAgICAgICAgIHNkYTMgICAgICAgIDg6MyAgICAwIDEzMC4zRyBwYXJ0IAorfC1zZGE0ICAgICAgICAgICAgICAgICAgICBzZGE0ICAgICAgICA4OjQgICAgMCAgICA1MEcgcGFydCAvCit8LXNkYTUgICAgICAgICAgICAgICAgICAgIHNkYTUgICAgICAgIDg6NSAgICAwICAzNS4xRyBwYXJ0IAorYC1zZGE2ICAgICAgICAgICAgICAgICAgICBzZGE2ICAgICAgICA4OjYgICAgMCAgIDcuOEcgcGFydCAKK3NkYiAgICAgICAgICAgICAgICAgICAgICAgc2RiICAgICAgICAgODoxNiAgIDAgIDc0LjVHIGRpc2sgCitgLXNkYjEgICAgICAgICAgICAgICAgICAgIHNkYjEgICAgICAgIDg6MTcgICAwICA3NC41RyBwYXJ0IC9ob21lL2FyY2hpdmUKK252bWUwbjEgICAgICAgICAgICAgICAgICAgbnZtZTBuMSAgIDI1OTowICAgIDAgMjIzLjZHIGRpc2sgCit8LW52bWUwbjFwMSAgICAgICAgICAgICAgIG52bWUwbjFwMSAyNTk6MSAgICAwICAgNy44RyBwYXJ0IAorfC1udm1lMG4xcDIgICAgICAgICAgICAgICBudm1lMG4xcDIgMjU5OjIgICAgMCAgIDIwMEcgcGFydCAvaG9tZQorYC1udm1lMG4xcDMgICAgICAgICAgICAgICBudm1lMG4xcDMgMjU5OjMgICAgMCAgMTUuOEcgcGFydCAvaG9tZS90ZXN0CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLWRpc2NhcmQgYi90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLWRpc2NhcmQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGViNjc2MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1sdm0tZGlzY2FyZApAQCAtMCwwICsxLDIyIEBACitOQU1FICAgICAgICAgICAgICAgICAgICAgIERJU0MtQUxOIERJU0MtR1JBTiBESVNDLU1BWCBESVNDLVpFUk8KK2xvb3AwICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgICAgIDRLICAgICAgIDRHICAgICAgICAgMAorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSAgICAgICAgMCAgICAgICAgNEsgICAgICAgNEcgICAgICAgICAwCitsb29wMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAwICAgICAgICA0SyAgICAgICA0RyAgICAgICAgIDAKK2AtdmdfZm9vLjQwNTktbHZfZm9vLjQwNTkgICAgICAgIDAgICAgICAgIDRLICAgICAgIDRHICAgICAgICAgMAorbG9vcDIgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgICAgNEsgICAgICAgNEcgICAgICAgICAwCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5ICAgICAgICAwICAgICAgICA0SyAgICAgICA0RyAgICAgICAgIDAKK2xvb3AzICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgICAgIDRLICAgICAgIDRHICAgICAgICAgMAorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSAgICAgICAgMCAgICAgICAgNEsgICAgICAgNEcgICAgICAgICAwCitzZGEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3wtc2RhMSAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgICA1MTJCICAgICAgIDJHICAgICAgICAgMAorfC1zZGEyICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgIDUxMkIgICAgICAgMkcgICAgICAgICAwCit8LXNkYTMgICAgICAgICAgICAgICAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3wtc2RhNCAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgICA1MTJCICAgICAgIDJHICAgICAgICAgMAorfC1zZGE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgIDUxMkIgICAgICAgMkcgICAgICAgICAwCitgLXNkYTYgICAgICAgICAgICAgICAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3NkYiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAgICAgICAgIDBCICAgICAgIDBCICAgICAgICAgMAorYC1zZGIxICAgICAgICAgICAgICAgICAgICAgICAgICAgMCAgICAgICAgMEIgICAgICAgMEIgICAgICAgICAwCitudm1lMG4xICAgICAgICAgICAgICAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyVCAgICAgICAgIDAKK3wtbnZtZTBuMXAxICAgICAgICAgICAgICAgICAgICAgIDAgICAgICA1MTJCICAgICAgIDJUICAgICAgICAgMAorfC1udm1lMG4xcDIgICAgICAgICAgICAgICAgICAgICAgMCAgICAgIDUxMkIgICAgICAgMlQgICAgICAgICAwCitgLW52bWUwbjFwMyAgICAgICAgICAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyVCAgICAgICAgIDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1sdm0tcncgYi90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLXJ3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhkY2Y1ODAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLXJ3CkBAIC0wLDAgKzEsMjIgQEAKK05BTUUgICAgICAgICAgICAgICAgICAgICAgIFJBIFdTQU1FCitsb29wMCAgICAgICAgICAgICAgICAgICAgIDEyOCAgICAwQgorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSAxMjggICAgMEIKK2xvb3AxICAgICAgICAgICAgICAgICAgICAgMTI4ICAgIDBCCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5IDEyOCAgICAwQgorbG9vcDIgICAgICAgICAgICAgICAgICAgICAxMjggICAgMEIKK2AtdmdfZm9vLjQwNTktbHZfZm9vLjQwNTkgMTI4ICAgIDBCCitsb29wMyAgICAgICAgICAgICAgICAgICAgIDEyOCAgICAwQgorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSAxMjggICAgMEIKK3NkYSAgICAgICAgICAgICAgICAgICAgICAgMTI4ICAgIDBCCit8LXNkYTEgICAgICAgICAgICAgICAgICAgIDEyOCAgICAwQgorfC1zZGEyICAgICAgICAgICAgICAgICAgICAxMjggICAgMEIKK3wtc2RhMyAgICAgICAgICAgICAgICAgICAgMTI4ICAgIDBCCit8LXNkYTQgICAgICAgICAgICAgICAgICAgIDEyOCAgICAwQgorfC1zZGE1ICAgICAgICAgICAgICAgICAgICAxMjggICAgMEIKK2Atc2RhNiAgICAgICAgICAgICAgICAgICAgMTI4ICAgIDBCCitzZGIgICAgICAgICAgICAgICAgICAgICAgIDEyOCAgICAwQgorYC1zZGIxICAgICAgICAgICAgICAgICAgICAxMjggICAgMEIKK252bWUwbjEgICAgICAgICAgICAgICAgICAgMTI4ICAgIDBCCit8LW52bWUwbjFwMSAgICAgICAgICAgICAgIDEyOCAgICAwQgorfC1udm1lMG4xcDIgICAgICAgICAgICAgICAxMjggICAgMEIKK2AtbnZtZTBuMXAzICAgICAgICAgICAgICAgMTI4ICAgIDBCCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLXN0YXRlIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLWx2bS1zdGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMDBlZDQ0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLWx2bS1zdGF0ZQpAQCAtMCwwICsxLDIyIEBACitOQU1FICAgICAgICAgICAgICAgICAgICAgIFJPIFJNIEhPVFBMVUcgUkFORCBTVEFURSAgIFJPVEEgVFlQRSBQS05BTUUgIFNDSEVECitsb29wMCAgICAgICAgICAgICAgICAgICAgICAwICAwICAgICAgIDAgICAgMCAgICAgICAgICAgIDEgbG9vcCAgICAgICAgIG1xLWRlYWRsaW5lCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5ICAwICAwICAgICAgIDAgICAgMCBydW5uaW5nICAgIDEgbHZtICBsb29wMCAgIAorbG9vcDEgICAgICAgICAgICAgICAgICAgICAgMCAgMCAgICAgICAwICAgIDAgICAgICAgICAgICAxIGxvb3AgICAgICAgICBtcS1kZWFkbGluZQorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSAgMCAgMCAgICAgICAwICAgIDAgcnVubmluZyAgICAxIGx2bSAgbG9vcDEgICAKK2xvb3AyICAgICAgICAgICAgICAgICAgICAgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMSBsb29wICAgICAgICAgbXEtZGVhZGxpbmUKK2AtdmdfZm9vLjQwNTktbHZfZm9vLjQwNTkgIDAgIDAgICAgICAgMCAgICAwIHJ1bm5pbmcgICAgMSBsdm0gIGxvb3AyICAgCitsb29wMyAgICAgICAgICAgICAgICAgICAgICAwICAwICAgICAgIDAgICAgMCAgICAgICAgICAgIDEgbG9vcCAgICAgICAgIG1xLWRlYWRsaW5lCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5ICAwICAwICAgICAgIDAgICAgMCBydW5uaW5nICAgIDEgbHZtICBsb29wMyAgIAorc2RhICAgICAgICAgICAgICAgICAgICAgICAgMCAgMCAgICAgICAwICAgIDAgcnVubmluZyAgICAwIGRpc2sgICAgICAgICBjZnEKK3wtc2RhMSAgICAgICAgICAgICAgICAgICAgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMCBwYXJ0IHNkYSAgICAgY2ZxCit8LXNkYTIgICAgICAgICAgICAgICAgICAgICAwICAwICAgICAgIDAgICAgMCAgICAgICAgICAgIDAgcGFydCBzZGEgICAgIGNmcQorfC1zZGEzICAgICAgICAgICAgICAgICAgICAgMCAgMCAgICAgICAwICAgIDAgICAgICAgICAgICAwIHBhcnQgc2RhICAgICBjZnEKK3wtc2RhNCAgICAgICAgICAgICAgICAgICAgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMCBwYXJ0IHNkYSAgICAgY2ZxCit8LXNkYTUgICAgICAgICAgICAgICAgICAgICAwICAwICAgICAgIDAgICAgMCAgICAgICAgICAgIDAgcGFydCBzZGEgICAgIGNmcQorYC1zZGE2ICAgICAgICAgICAgICAgICAgICAgMCAgMCAgICAgICAwICAgIDAgICAgICAgICAgICAwIHBhcnQgc2RhICAgICBjZnEKK3NkYiAgICAgICAgICAgICAgICAgICAgICAgIDAgIDAgICAgICAgMCAgICAxIHJ1bm5pbmcgICAgMSBkaXNrICAgICAgICAgY2ZxCitgLXNkYjEgICAgICAgICAgICAgICAgICAgICAwICAwICAgICAgIDAgICAgMSAgICAgICAgICAgIDEgcGFydCBzZGIgICAgIGNmcQorbnZtZTBuMSAgICAgICAgICAgICAgICAgICAgMCAgMCAgICAgICAwICAgIDAgbGl2ZSAgICAgICAwIGRpc2sgICAgICAgICBub25lCit8LW52bWUwbjFwMSAgICAgICAgICAgICAgICAwICAwICAgICAgIDAgICAgMCAgICAgICAgICAgIDAgcGFydCBudm1lMG4xIG5vbmUKK3wtbnZtZTBuMXAyICAgICAgICAgICAgICAgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMCBwYXJ0IG52bWUwbjEgbm9uZQorYC1udm1lMG4xcDMgICAgICAgICAgICAgICAgMCAgMCAgICAgICAwICAgIDAgICAgICAgICAgICAwIHBhcnQgbnZtZTBuMSBub25lCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLXRvcG8gYi90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLXRvcG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzkzN2RhMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1sdm0tdG9wbwpAQCAtMCwwICsxLDIyIEBACitOQU1FICAgICAgICAgICAgICAgICAgICAgICAgU0laRSBBTElHTk1FTlQgTUlOLUlPIE9QVC1JTyBQSFktU0VDIExPRy1TRUMgUlEtU0laRQorbG9vcDAgICAgICAgICAgICAgICAgICAgICAgICAxME0gICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAyNTYKK2AtdmdfZm9vLjQwNTktbHZfZm9vLjQwNTkgICAgMzJNICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMTI4Citsb29wMSAgICAgICAgICAgICAgICAgICAgICAgIDEwTSAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgIDI1NgorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSAgICAzMk0gICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAxMjgKK2xvb3AyICAgICAgICAgICAgICAgICAgICAgICAgMTBNICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMjU2CitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5ICAgIDMyTSAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgIDEyOAorbG9vcDMgICAgICAgICAgICAgICAgICAgICAgICAxME0gICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAyNTYKK2AtdmdfZm9vLjQwNTktbHZfZm9vLjQwNTkgICAgMzJNICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMTI4CitzZGEgICAgICAgICAgICAgICAgICAgICAgIDIyMy42RyAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgIDEyOAorfC1zZGExICAgICAgICAgICAgICAgICAgICAgIDIwME0gICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAxMjgKK3wtc2RhMiAgICAgICAgICAgICAgICAgICAgICAyMDBNICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMTI4Cit8LXNkYTMgICAgICAgICAgICAgICAgICAgIDEzMC4zRyAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgIDEyOAorfC1zZGE0ICAgICAgICAgICAgICAgICAgICAgICA1MEcgICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAxMjgKK3wtc2RhNSAgICAgICAgICAgICAgICAgICAgIDM1LjFHICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMTI4CitgLXNkYTYgICAgICAgICAgICAgICAgICAgICAgNy44RyAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgIDEyOAorc2RiICAgICAgICAgICAgICAgICAgICAgICAgNzQuNUcgICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAxMjgKK2Atc2RiMSAgICAgICAgICAgICAgICAgICAgIDc0LjVHICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMTI4Citudm1lMG4xICAgICAgICAgICAgICAgICAgIDIyMy42RyAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgMTAyMworfC1udm1lMG4xcDEgICAgICAgICAgICAgICAgIDcuOEcgICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgIDEwMjMKK3wtbnZtZTBuMXAyICAgICAgICAgICAgICAgICAyMDBHICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAxMDIzCitgLW52bWUwbjFwMyAgICAgICAgICAgICAgICAxNS44RyAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgMTAyMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLWx2bS12ZW5kb3IgYi90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbHZtLXZlbmRvcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTFjNzAzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLWx2bS12ZW5kb3IKQEAgLTAsMCArMSwyMiBAQAorTkFNRSAgICAgICAgICAgICAgICAgICAgICBNT0RFTCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZFTkRPUiAgICBSRVYKK2xvb3AwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorbG9vcDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK2AtdmdfZm9vLjQwNTktbHZfZm9vLjQwNTkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitsb29wMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK2xvb3AzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorc2RhICAgICAgICAgICAgICAgICAgICAgICBLSU5HU1RPTiBTSDEwM1MzICAgICAgICAgICAgICAgICAgICAgICAgIEFUQSAgICAgIEJCRjAKK3wtc2RhMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCit8LXNkYTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorfC1zZGEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK3wtc2RhNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCit8LXNkYTUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorYC1zZGE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK3NkYiAgICAgICAgICAgICAgICAgICAgICAgV0RDIFdEODAwSkQtMDBNUyAgICAgICAgICAgICAgICAgICAgICAgICBBVEEgICAgICAxRTAxCitgLXNkYjEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorbnZtZTBuMSAgICAgICAgICAgICAgICAgICBLSU5HU1RPTiBTS0MxMDAwMjQwRyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK3wtbnZtZTBuMXAxICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCit8LW52bWUwbjFwMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorYC1udm1lMG4xcDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1sdm0tem9uZSBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1sdm0tem9uZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNTZhMjA4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLWx2bS16b25lCkBAIC0wLDAgKzEsMjIgQEAKK05BTUUgICAgICAgICAgICAgICAgICAgICAgWk9ORUQKK2xvb3AwICAgICAgICAgICAgICAgICAgICAgbm9uZQorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSBub25lCitsb29wMSAgICAgICAgICAgICAgICAgICAgIG5vbmUKK2AtdmdfZm9vLjQwNTktbHZfZm9vLjQwNTkgbm9uZQorbG9vcDIgICAgICAgICAgICAgICAgICAgICBub25lCitgLXZnX2Zvby40MDU5LWx2X2Zvby40MDU5IG5vbmUKK2xvb3AzICAgICAgICAgICAgICAgICAgICAgbm9uZQorYC12Z19mb28uNDA1OS1sdl9mb28uNDA1OSBub25lCitzZGEgICAgICAgICAgICAgICAgICAgICAgIG5vbmUKK3wtc2RhMSAgICAgICAgICAgICAgICAgICAgbm9uZQorfC1zZGEyICAgICAgICAgICAgICAgICAgICBub25lCit8LXNkYTMgICAgICAgICAgICAgICAgICAgIG5vbmUKK3wtc2RhNCAgICAgICAgICAgICAgICAgICAgbm9uZQorfC1zZGE1ICAgICAgICAgICAgICAgICAgICBub25lCitgLXNkYTYgICAgICAgICAgICAgICAgICAgIG5vbmUKK3NkYiAgICAgICAgICAgICAgICAgICAgICAgbm9uZQorYC1zZGIxICAgICAgICAgICAgICAgICAgICBub25lCitudm1lMG4xICAgICAgICAgICAgICAgICAgIG5vbmUKK3wtbnZtZTBuMXAxICAgICAgICAgICAgICAgbm9uZQorfC1udm1lMG4xcDIgICAgICAgICAgICAgICBub25lCitgLW52bWUwbjFwMyAgICAgICAgICAgICAgIG5vbmUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLWJhc2ljIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLW52bWUtYmFzaWMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzNmNDgzNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLWJhc2ljCkBAIC0wLDAgKzEsMTQgQEAKK05BTUUgICAgICAgIEtOQU1FICAgICBNQUo6TUlOIFJNICAgU0laRSBUWVBFIE1PVU5UUE9JTlQKK3NkYSAgICAgICAgIHNkYSAgICAgICAgIDg6MCAgICAwIDIyMy42RyBkaXNrIAorfC1zZGExICAgICAgc2RhMSAgICAgICAgODoxICAgIDAgICAyMDBNIHBhcnQgL2Jvb3QvZWZpCit8LXNkYTIgICAgICBzZGEyICAgICAgICA4OjIgICAgMCAgIDIwME0gcGFydCAvYm9vdAorfC1zZGEzICAgICAgc2RhMyAgICAgICAgODozICAgIDAgMTMwLjNHIHBhcnQgCit8LXNkYTQgICAgICBzZGE0ICAgICAgICA4OjQgICAgMCAgICA1MEcgcGFydCAvCit8LXNkYTUgICAgICBzZGE1ICAgICAgICA4OjUgICAgMCAgMzUuMUcgcGFydCAKK2Atc2RhNiAgICAgIHNkYTYgICAgICAgIDg6NiAgICAwICAgNy44RyBwYXJ0IAorc2RiICAgICAgICAgc2RiICAgICAgICAgODoxNiAgIDAgIDc0LjVHIGRpc2sgCitgLXNkYjEgICAgICBzZGIxICAgICAgICA4OjE3ICAgMCAgNzQuNUcgcGFydCAvaG9tZS9hcmNoaXZlCitudm1lMG4xICAgICBudm1lMG4xICAgMjU5OjAgICAgMCAyMjMuNkcgZGlzayAKK3wtbnZtZTBuMXAxIG52bWUwbjFwMSAyNTk6MSAgICAwICAgNy44RyBwYXJ0IAorfC1udm1lMG4xcDIgbnZtZTBuMXAyIDI1OToyICAgIDAgICAyMDBHIHBhcnQgL2hvbWUKK2AtbnZtZTBuMXAzIG52bWUwbjFwMyAyNTk6MyAgICAwICAxNS44RyBwYXJ0IC9ob21lL3Rlc3QKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLWRpc2NhcmQgYi90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbnZtZS1kaXNjYXJkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRlMDNjN2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbnZtZS1kaXNjYXJkCkBAIC0wLDAgKzEsMTQgQEAKK05BTUUgICAgICAgIERJU0MtQUxOIERJU0MtR1JBTiBESVNDLU1BWCBESVNDLVpFUk8KK3NkYSAgICAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3wtc2RhMSAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3wtc2RhMiAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3wtc2RhMyAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3wtc2RhNCAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3wtc2RhNSAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK2Atc2RhNiAgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyRyAgICAgICAgIDAKK3NkYiAgICAgICAgICAgICAgICAwICAgICAgICAwQiAgICAgICAwQiAgICAgICAgIDAKK2Atc2RiMSAgICAgICAgICAgICAwICAgICAgICAwQiAgICAgICAwQiAgICAgICAgIDAKK252bWUwbjEgICAgICAgICAgICAwICAgICAgNTEyQiAgICAgICAyVCAgICAgICAgIDAKK3wtbnZtZTBuMXAxICAgICAgICAwICAgICAgNTEyQiAgICAgICAyVCAgICAgICAgIDAKK3wtbnZtZTBuMXAyICAgICAgICAwICAgICAgNTEyQiAgICAgICAyVCAgICAgICAgIDAKK2AtbnZtZTBuMXAzICAgICAgICAwICAgICAgNTEyQiAgICAgICAyVCAgICAgICAgIDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLXJ3IGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLW52bWUtcncKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTVlYjg3NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLXJ3CkBAIC0wLDAgKzEsMTQgQEAKK05BTUUgICAgICAgICBSQSBXU0FNRQorc2RhICAgICAgICAgMTI4ICAgIDBCCit8LXNkYTEgICAgICAxMjggICAgMEIKK3wtc2RhMiAgICAgIDEyOCAgICAwQgorfC1zZGEzICAgICAgMTI4ICAgIDBCCit8LXNkYTQgICAgICAxMjggICAgMEIKK3wtc2RhNSAgICAgIDEyOCAgICAwQgorYC1zZGE2ICAgICAgMTI4ICAgIDBCCitzZGIgICAgICAgICAxMjggICAgMEIKK2Atc2RiMSAgICAgIDEyOCAgICAwQgorbnZtZTBuMSAgICAgMTI4ICAgIDBCCit8LW52bWUwbjFwMSAxMjggICAgMEIKK3wtbnZtZTBuMXAyIDEyOCAgICAwQgorYC1udm1lMG4xcDMgMTI4ICAgIDBCCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbnZtZS1zdGF0ZSBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLXN0YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlZmRmMTQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbnZtZS1zdGF0ZQpAQCAtMCwwICsxLDE0IEBACitOQU1FICAgICAgICBSTyBSTSBIT1RQTFVHIFJBTkQgU1RBVEUgICBST1RBIFRZUEUgUEtOQU1FICBTQ0hFRAorc2RhICAgICAgICAgIDAgIDAgICAgICAgMCAgICAwIHJ1bm5pbmcgICAgMCBkaXNrICAgICAgICAgY2ZxCit8LXNkYTEgICAgICAgMCAgMCAgICAgICAwICAgIDAgICAgICAgICAgICAwIHBhcnQgc2RhICAgICBjZnEKK3wtc2RhMiAgICAgICAwICAwICAgICAgIDAgICAgMCAgICAgICAgICAgIDAgcGFydCBzZGEgICAgIGNmcQorfC1zZGEzICAgICAgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMCBwYXJ0IHNkYSAgICAgY2ZxCit8LXNkYTQgICAgICAgMCAgMCAgICAgICAwICAgIDAgICAgICAgICAgICAwIHBhcnQgc2RhICAgICBjZnEKK3wtc2RhNSAgICAgICAwICAwICAgICAgIDAgICAgMCAgICAgICAgICAgIDAgcGFydCBzZGEgICAgIGNmcQorYC1zZGE2ICAgICAgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMCBwYXJ0IHNkYSAgICAgY2ZxCitzZGIgICAgICAgICAgMCAgMCAgICAgICAwICAgIDEgcnVubmluZyAgICAxIGRpc2sgICAgICAgICBjZnEKK2Atc2RiMSAgICAgICAwICAwICAgICAgIDAgICAgMSAgICAgICAgICAgIDEgcGFydCBzZGIgICAgIGNmcQorbnZtZTBuMSAgICAgIDAgIDAgICAgICAgMCAgICAwIGxpdmUgICAgICAgMCBkaXNrICAgICAgICAgbm9uZQorfC1udm1lMG4xcDEgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMCBwYXJ0IG52bWUwbjEgbm9uZQorfC1udm1lMG4xcDIgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMCBwYXJ0IG52bWUwbjEgbm9uZQorYC1udm1lMG4xcDMgIDAgIDAgICAgICAgMCAgICAwICAgICAgICAgICAgMCBwYXJ0IG52bWUwbjEgbm9uZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLW52bWUtdG9wbyBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLXRvcG8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODdiMGZhNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLXRvcG8KQEAgLTAsMCArMSwxNCBAQAorTkFNRSAgICAgICAgICBTSVpFIEFMSUdOTUVOVCBNSU4tSU8gT1BULUlPIFBIWS1TRUMgTE9HLVNFQyBSUS1TSVpFCitzZGEgICAgICAgICAyMjMuNkcgICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAxMjgKK3wtc2RhMSAgICAgICAgMjAwTSAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgIDEyOAorfC1zZGEyICAgICAgICAyMDBNICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMTI4Cit8LXNkYTMgICAgICAxMzAuM0cgICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAxMjgKK3wtc2RhNCAgICAgICAgIDUwRyAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgIDEyOAorfC1zZGE1ICAgICAgIDM1LjFHICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMTI4CitgLXNkYTYgICAgICAgIDcuOEcgICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgICAxMjgKK3NkYiAgICAgICAgICA3NC41RyAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgIDEyOAorYC1zZGIxICAgICAgIDc0LjVHICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAgMTI4Citudm1lMG4xICAgICAyMjMuNkcgICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgIDEwMjMKK3wtbnZtZTBuMXAxICAgNy44RyAgICAgICAgIDAgICAgNTEyICAgICAgMCAgICAgNTEyICAgICA1MTIgICAgMTAyMworfC1udm1lMG4xcDIgICAyMDBHICAgICAgICAgMCAgICA1MTIgICAgICAwICAgICA1MTIgICAgIDUxMiAgICAxMDIzCitgLW52bWUwbjFwMyAgMTUuOEcgICAgICAgICAwICAgIDUxMiAgICAgIDAgICAgIDUxMiAgICAgNTEyICAgIDEwMjMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLXZlbmRvciBiL3Rlc3RzL2V4cGVjdGVkL2xzYmxrL2xzYmxrLXNpbXBsZS1udm1lLXZlbmRvcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42OWU5NzJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLW52bWUtdmVuZG9yCkBAIC0wLDAgKzEsMTQgQEAKK05BTUUgICAgICAgIE1PREVMICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkVORE9SICAgIFJFVgorc2RhICAgICAgICAgS0lOR1NUT04gU0gxMDNTMyAgICAgICAgICAgICAgICAgICAgICAgICBBVEEgICAgICBCQkYwCit8LXNkYTEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK3wtc2RhMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorfC1zZGEzICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCit8LXNkYTQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK3wtc2RhNSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorYC1zZGE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCitzZGIgICAgICAgICBXREMgV0Q4MDBKRC0wME1TICAgICAgICAgICAgICAgICAgICAgICAgIEFUQSAgICAgIDFFMDEKK2Atc2RiMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorbnZtZTBuMSAgICAgS0lOR1NUT04gU0tDMTAwMDI0MEcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCit8LW52bWUwbjFwMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKK3wtbnZtZTBuMXAyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAorYC1udm1lMG4xcDMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay1zaW1wbGUtbnZtZS16b25lIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLW52bWUtem9uZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYmE5YmE5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNibGsvbHNibGstc2ltcGxlLW52bWUtem9uZQpAQCAtMCwwICsxLDE0IEBACitOQU1FICAgICAgICBaT05FRAorc2RhICAgICAgICAgbm9uZQorfC1zZGExICAgICAgbm9uZQorfC1zZGEyICAgICAgbm9uZQorfC1zZGEzICAgICAgbm9uZQorfC1zZGE0ICAgICAgbm9uZQorfC1zZGE1ICAgICAgbm9uZQorYC1zZGE2ICAgICAgbm9uZQorc2RiICAgICAgICAgbm9uZQorYC1zZGIxICAgICAgbm9uZQorbnZtZTBuMSAgICAgbm9uZQorfC1udm1lMG4xcDEgbm9uZQorfC1udm1lMG4xcDIgbm9uZQorYC1udm1lMG4xcDMgbm9uZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtYXJtdjcgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1hcm12NwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZDFiN2Y5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtYXJtdjcKQEAgLTAsMCArMSwyNyBAQAorQ1BVKHMpOiAgICAgICAgICAgICAgMgorT24tbGluZSBDUFUocykgbGlzdDogMCwxCitUaHJlYWQocykgcGVyIGNvcmU6ICAxCitDb3JlKHMpIHBlciBzb2NrZXQ6ICAyCitTb2NrZXQocyk6ICAgICAgICAgICAxCitWZW5kb3IgSUQ6ICAgICAgICAgICBBUk0KK01vZGVsOiAgICAgICAgICAgICAgIDQKK01vZGVsIG5hbWU6ICAgICAgICAgIENvcnRleC1BMTUKK1N0ZXBwaW5nOiAgICAgICAgICAgIHIwcDQKK0NQVSBtYXggTUh6OiAgICAgICAgIDE3MDAuMDAwMAorQ1BVIG1pbiBNSHo6ICAgICAgICAgMjAwLjAwMDAKK0JvZ29NSVBTOiAgICAgICAgICAgIDE2OTQuMTAKK0ZsYWdzOiAgICAgICAgICAgICAgIHN3cCBoYWxmIHRodW1iIGZhc3RtdWx0IHZmcCBlZHNwIHRodW1iZWUgbmVvbiB2ZnB2MyB0bHMgdmZwdjQgaWRpdmEgaWRpdnQKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZQorMCwwLDAsCisxLDEsMCwKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZQorMCwwLDAsCisxLDEsMCwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXBwYy1xZW11IGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtcHBjLXFlbXUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmY4ZTQ5ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXBwYy1xZW11CkBAIC0wLDAgKzEsMjIgQEAKK0NQVShzKTogICAgICAgICAgICAgIDEKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6IDAKK1RocmVhZChzKSBwZXIgY29yZTogIDEKK0NvcmUocykgcGVyIHNvY2tldDogIDEKK1NvY2tldChzKTogICAgICAgICAgIDEKK01vZGVsOiAgICAgICAgICAgICAgIDMuMSAocHZyIDAwMDggMDMwMSkKK01vZGVsIG5hbWU6ICAgICAgICAgIDc0MC83NTAKK0JvZ29NSVBTOiAgICAgICAgICAgIDMzLjI1CitMMWQgY2FjaGU6ICAgICAgICAgICB1bmtub3duIHNpemUKK0wxaSBjYWNoZTogICAgICAgICAgIHVua25vd24gc2l6ZQorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpCiswLDAsMCwsLDAsMAorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpCiswLDAsLSwsLDAsMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtcHBjNjQtUE9XRVI3IGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtcHBjNjQtUE9XRVI3Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjNGRjYTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1wcGM2NC1QT1dFUjcKQEAgLTAsMCArMSw1MyBAQAorQ1BVKHMpOiAgICAgICAgICAgICAgMTYKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6IDAtMTUKK1RocmVhZChzKSBwZXIgY29yZTogIDQKK0NvcmUocykgcGVyIHNvY2tldDogIDEKK1NvY2tldChzKTogICAgICAgICAgIDQKK05VTUEgbm9kZShzKTogICAgICAgIDEKK01vZGVsOiAgICAgICAgICAgICAgIDIuMSAocHZyIDAwM2YgMDIwMSkKK01vZGVsIG5hbWU6ICAgICAgICAgIFBPV0VSNyAoYXJjaGl0ZWN0ZWQpLCBhbHRpdmVjIHN1cHBvcnRlZAorTDFkIGNhY2hlOiAgICAgICAgICAgMzJLCitMMWkgY2FjaGU6ICAgICAgICAgICAzMksKK05VTUEgbm9kZTAgQ1BVKHMpOiAgIDAtMTUKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxaQorMCwwLDAsMCwsMCwwCisxLDAsMCwwLCwwLDAKKzIsMCwwLDAsLDAsMAorMywwLDAsMCwsMCwwCis0LDEsMSwwLCwxLDEKKzUsMSwxLDAsLDEsMQorNiwxLDEsMCwsMSwxCis3LDEsMSwwLCwxLDEKKzgsMiwyLDAsLDIsMgorOSwyLDIsMCwsMiwyCisxMCwyLDIsMCwsMiwyCisxMSwyLDIsMCwsMiwyCisxMiwzLDMsMCwsMywzCisxMywzLDMsMCwsMywzCisxNCwzLDMsMCwsMywzCisxNSwzLDMsMCwsMywzCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWkKKzAsMCwtLDAsLDAsMAorMSwwLC0sMCwsMCwwCisyLDAsLSwwLCwwLDAKKzMsMCwtLDAsLDAsMAorNCw0LC0sMCwsMSwxCis1LDQsLSwwLCwxLDEKKzYsNCwtLDAsLDEsMQorNyw0LC0sMCwsMSwxCis4LDgsLSwwLCwyLDIKKzksOCwtLDAsLDIsMgorMTAsOCwtLDAsLDIsMgorMTEsOCwtLDAsLDIsMgorMTIsMTIsLSwwLCwzLDMKKzEzLDEyLC0sMCwsMywzCisxNCwxMiwtLDAsLDMsMworMTUsMTIsLSwwLCwzLDMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXBwYzY0LVBPV0VSNy02NGNwdSBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXBwYzY0LVBPV0VSNy02NGNwdQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMTU3YjE3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtcHBjNjQtUE9XRVI3LTY0Y3B1CkBAIC0wLDAgKzEsMTUyIEBACitDUFUocyk6ICAgICAgICAgICAgICA2NAorT24tbGluZSBDUFUocykgbGlzdDogMC02MworVGhyZWFkKHMpIHBlciBjb3JlOiAgNAorQ29yZShzKSBwZXIgc29ja2V0OiAgMQorU29ja2V0KHMpOiAgICAgICAgICAgMTYKK05VTUEgbm9kZShzKTogICAgICAgIDIKK01vZGVsOiAgICAgICAgICAgICAgIDIuMSAocHZyIDAwM2YgMDIwMSkKK01vZGVsIG5hbWU6ICAgICAgICAgIFBPV0VSNyAoYXJjaGl0ZWN0ZWQpLCBhbHRpdmVjIHN1cHBvcnRlZAorSHlwZXJ2aXNvciB2ZW5kb3I6ICAgcEh5cAorVmlydHVhbGl6YXRpb24gdHlwZTogcGFyYQorTDFkIGNhY2hlOiAgICAgICAgICAgMzJLCitMMWkgY2FjaGU6ICAgICAgICAgICAzMksKK05VTUEgbm9kZTAgQ1BVKHMpOiAgIDAtNjMKK05VTUEgbm9kZTEgQ1BVKHMpOiAgIAorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpCiswLDAsMCwwLCwwLDAKKzEsMCwwLDAsLDAsMAorMiwwLDAsMCwsMCwwCiszLDAsMCwwLCwwLDAKKzQsMSwxLDAsLDEsMQorNSwxLDEsMCwsMSwxCis2LDEsMSwwLCwxLDEKKzcsMSwxLDAsLDEsMQorOCwyLDIsMCwsMiwyCis5LDIsMiwwLCwyLDIKKzEwLDIsMiwwLCwyLDIKKzExLDIsMiwwLCwyLDIKKzEyLDMsMywwLCwzLDMKKzEzLDMsMywwLCwzLDMKKzE0LDMsMywwLCwzLDMKKzE1LDMsMywwLCwzLDMKKzE2LDQsNCwwLCw0LDQKKzE3LDQsNCwwLCw0LDQKKzE4LDQsNCwwLCw0LDQKKzE5LDQsNCwwLCw0LDQKKzIwLDUsNSwwLCw1LDUKKzIxLDUsNSwwLCw1LDUKKzIyLDUsNSwwLCw1LDUKKzIzLDUsNSwwLCw1LDUKKzI0LDYsNiwwLCw2LDYKKzI1LDYsNiwwLCw2LDYKKzI2LDYsNiwwLCw2LDYKKzI3LDYsNiwwLCw2LDYKKzI4LDcsNywwLCw3LDcKKzI5LDcsNywwLCw3LDcKKzMwLDcsNywwLCw3LDcKKzMxLDcsNywwLCw3LDcKKzMyLDgsOCwwLCw4LDgKKzMzLDgsOCwwLCw4LDgKKzM0LDgsOCwwLCw4LDgKKzM1LDgsOCwwLCw4LDgKKzM2LDksOSwwLCw5LDkKKzM3LDksOSwwLCw5LDkKKzM4LDksOSwwLCw5LDkKKzM5LDksOSwwLCw5LDkKKzQwLDEwLDEwLDAsLDEwLDEwCis0MSwxMCwxMCwwLCwxMCwxMAorNDIsMTAsMTAsMCwsMTAsMTAKKzQzLDEwLDEwLDAsLDEwLDEwCis0NCwxMSwxMSwwLCwxMSwxMQorNDUsMTEsMTEsMCwsMTEsMTEKKzQ2LDExLDExLDAsLDExLDExCis0NywxMSwxMSwwLCwxMSwxMQorNDgsMTIsMTIsMCwsMTIsMTIKKzQ5LDEyLDEyLDAsLDEyLDEyCis1MCwxMiwxMiwwLCwxMiwxMgorNTEsMTIsMTIsMCwsMTIsMTIKKzUyLDEzLDEzLDAsLDEzLDEzCis1MywxMywxMywwLCwxMywxMworNTQsMTMsMTMsMCwsMTMsMTMKKzU1LDEzLDEzLDAsLDEzLDEzCis1NiwxNCwxNCwwLCwxNCwxNAorNTcsMTQsMTQsMCwsMTQsMTQKKzU4LDE0LDE0LDAsLDE0LDE0Cis1OSwxNCwxNCwwLCwxNCwxNAorNjAsMTUsMTUsMCwsMTUsMTUKKzYxLDE1LDE1LDAsLDE1LDE1Cis2MiwxNSwxNSwwLCwxNSwxNQorNjMsMTUsMTUsMCwsMTUsMTUKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxaQorMCwwLC0sMCwsMCwwCisxLDAsLSwwLCwwLDAKKzIsMCwtLDAsLDAsMAorMywwLC0sMCwsMCwwCis0LDQsLSwwLCwxLDEKKzUsNCwtLDAsLDEsMQorNiw0LC0sMCwsMSwxCis3LDQsLSwwLCwxLDEKKzgsOCwtLDAsLDIsMgorOSw4LC0sMCwsMiwyCisxMCw4LC0sMCwsMiwyCisxMSw4LC0sMCwsMiwyCisxMiwxMiwtLDAsLDMsMworMTMsMTIsLSwwLCwzLDMKKzE0LDEyLC0sMCwsMywzCisxNSwxMiwtLDAsLDMsMworMTYsMTYsLSwwLCw0LDQKKzE3LDE2LC0sMCwsNCw0CisxOCwxNiwtLDAsLDQsNAorMTksMTYsLSwwLCw0LDQKKzIwLDIwLC0sMCwsNSw1CisyMSwyMCwtLDAsLDUsNQorMjIsMjAsLSwwLCw1LDUKKzIzLDIwLC0sMCwsNSw1CisyNCwyNCwtLDAsLDYsNgorMjUsMjQsLSwwLCw2LDYKKzI2LDI0LC0sMCwsNiw2CisyNywyNCwtLDAsLDYsNgorMjgsMjgsLSwwLCw3LDcKKzI5LDI4LC0sMCwsNyw3CiszMCwyOCwtLDAsLDcsNworMzEsMjgsLSwwLCw3LDcKKzMyLDMyLC0sMCwsOCw4CiszMywzMiwtLDAsLDgsOAorMzQsMzIsLSwwLCw4LDgKKzM1LDMyLC0sMCwsOCw4CiszNiwzNiwtLDAsLDksOQorMzcsMzYsLSwwLCw5LDkKKzM4LDM2LC0sMCwsOSw5CiszOSwzNiwtLDAsLDksOQorNDAsNDAsLSwwLCwxMCwxMAorNDEsNDAsLSwwLCwxMCwxMAorNDIsNDAsLSwwLCwxMCwxMAorNDMsNDAsLSwwLCwxMCwxMAorNDQsNDQsLSwwLCwxMSwxMQorNDUsNDQsLSwwLCwxMSwxMQorNDYsNDQsLSwwLCwxMSwxMQorNDcsNDQsLSwwLCwxMSwxMQorNDgsNDgsLSwwLCwxMiwxMgorNDksNDgsLSwwLCwxMiwxMgorNTAsNDgsLSwwLCwxMiwxMgorNTEsNDgsLSwwLCwxMiwxMgorNTIsNTIsLSwwLCwxMywxMworNTMsNTIsLSwwLCwxMywxMworNTQsNTIsLSwwLCwxMywxMworNTUsNTIsLSwwLCwxMywxMworNTYsNTYsLSwwLCwxNCwxNAorNTcsNTYsLSwwLCwxNCwxNAorNTgsNTYsLSwwLCwxNCwxNAorNTksNTYsLSwwLCwxNCwxNAorNjAsNjAsLSwwLCwxNSwxNQorNjEsNjAsLSwwLCwxNSwxNQorNjIsNjAsLSwwLCwxNSwxNQorNjMsNjAsLSwwLCwxNSwxNQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC1rdm0gYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLWt2bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjFkODRkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC1rdm0KQEAgLTAsMCArMSwzMSBAQAorQ1BVIG9wLW1vZGUocyk6ICAgICAgMzItYml0LCA2NC1iaXQKK0NQVShzKTogICAgICAgICAgICAgIDMKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6IDAtMgorVGhyZWFkKHMpIHBlciBjb3JlOiAgMQorQ29yZShzKSBwZXIgc29ja2V0OiAgMQorU29ja2V0KHMpIHBlciBib29rOiAgMQorQm9vayhzKTogICAgICAgICAgICAgMworVmVuZG9yIElEOiAgICAgICAgICAgSUJNL1MzOTAKK01hY2hpbmUgdHlwZTogICAgICAgIDI4MTcKK0JvZ29NSVBTOiAgICAgICAgICAgIDE0MzY3LjAwCitIeXBlcnZpc29yOiAgICAgICAgICBLVk0vTGludXgKK0h5cGVydmlzb3IgdmVuZG9yOiAgIEtWTQorVmlydHVhbGl6YXRpb24gdHlwZTogZnVsbAorRGlzcGF0Y2hpbmcgbW9kZTogICAgaG9yaXpvbnRhbAorRmxhZ3M6ICAgICAgICAgICAgICAgZXNhbjMgemFyY2ggc3RmbGUgbXNhIGxkaXNwIGVpbW0gZGZwIGVkYXQgZXRmM2VoIGhpZ2hncHJzCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUKKzAsMCwwLAorMSwxLDEsCisyLDIsMiwKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZQorMCwwLC0sCisxLDAsLSwKKzIsMCwtLApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC1scGFyIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC1scGFyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmMDJjZjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLWxwYXIKQEAgLTAsMCArMSw2MCBAQAorQ1BVIG9wLW1vZGUocyk6ICAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICAgMjAKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6ICAxLTUsOC0xOQorT2ZmLWxpbmUgQ1BVKHMpIGxpc3Q6IDAsNiw3CitUaHJlYWQocykgcGVyIGNvcmU6ICAgMQorQ29yZShzKSBwZXIgc29ja2V0OiAgIDQKK1NvY2tldChzKSBwZXIgYm9vazogICA2CitCb29rKHMpOiAgICAgICAgICAgICAgNAorVmVuZG9yIElEOiAgICAgICAgICAgIElCTS9TMzkwCitNYWNoaW5lIHR5cGU6ICAgICAgICAgMjgxNworQm9nb01JUFM6ICAgICAgICAgICAgIDE0MzY3LjAwCitIeXBlcnZpc29yOiAgICAgICAgICAgUFIvU00KK0h5cGVydmlzb3IgdmVuZG9yOiAgICBJQk0KK1ZpcnR1YWxpemF0aW9uIHR5cGU6ICBmdWxsCitEaXNwYXRjaGluZyBtb2RlOiAgICAgdmVydGljYWwKK0ZsYWdzOiAgICAgICAgICAgICAgICBlc2FuMyB6YXJjaCBzdGZsZSBtc2EgbGRpc3AgZWltbSBkZnAgZXRmM2VoIGhpZ2hncHJzCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUKKzEsMCwwLAorMiwxLDAsCiszLDIsMSwKKzQsMywxLAorNSw0LDEsCis4LDUsMiwKKzksNiwyLAorMTAsNywyLAorMTEsOCwzLAorMTIsOSwzLAorMTMsMTAsMywKKzE0LDExLDMsCisxNSwxMiw0LAorMTYsMTMsNSwKKzE3LDE0LDUsCisxOCwxNSw1LAorMTksMTYsNiwKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZQorMSwxLC0sCisyLDEsLSwKKzMsMiwtLAorNCwyLC0sCis1LDIsLSwKKzgsMSwtLAorOSwxLC0sCisxMCwxLC0sCisxMSwyLC0sCisxMiwyLC0sCisxMywyLC0sCisxNCwyLC0sCisxNSwzLC0sCisxNiw0LC0sCisxNyw0LC0sCisxOCw0LC0sCisxOSw2LC0sCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zMzkwLWxwYXItZHJhd2VyIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC1scGFyLWRyYXdlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjIzMDA5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC1scGFyLWRyYXdlcgpAQCAtMCwwICsxLDUyIEBACitDUFUgb3AtbW9kZShzKTogICAgICAzMi1iaXQsIDY0LWJpdAorQ1BVKHMpOiAgICAgICAgICAgICAgOAorT24tbGluZSBDUFUocykgbGlzdDogMC03CitUaHJlYWQocykgcGVyIGNvcmU6ICAxCitDb3JlKHMpIHBlciBzb2NrZXQ6ICA4CitTb2NrZXQocykgcGVyIGJvb2s6ICAzCitCb29rKHMpIHBlciBkcmF3ZXI6ICAyCitEcmF3ZXIocyk6ICAgICAgICAgICA0CitOVU1BIG5vZGUocyk6ICAgICAgICAxCitWZW5kb3IgSUQ6ICAgICAgICAgICBJQk0vUzM5MAorTWFjaGluZSB0eXBlOiAgICAgICAgMjk2NAorQ1BVIGR5bmFtaWMgTUh6OiAgICAgNTAwMAorQ1BVIHN0YXRpYyBNSHo6ICAgICAgNTAwMAorQm9nb01JUFM6ICAgICAgICAgICAgMjAzMjUuMDAKK0h5cGVydmlzb3I6ICAgICAgICAgIFBSL1NNCitIeXBlcnZpc29yIHZlbmRvcjogICBJQk0KK1ZpcnR1YWxpemF0aW9uIHR5cGU6IGZ1bGwKK0Rpc3BhdGNoaW5nIG1vZGU6ICAgIGhvcml6b250YWwKK0wxZCBjYWNoZTogICAgICAgICAgIDEyOEsKK0wxaSBjYWNoZTogICAgICAgICAgIDk2SworTDJkIGNhY2hlOiAgICAgICAgICAgMjA0OEsKK0wyaSBjYWNoZTogICAgICAgICAgIDIwNDhLCitMMyBjYWNoZTogICAgICAgICAgICA2NTUzNksKK0w0IGNhY2hlOiAgICAgICAgICAgIDQ5MTUyMEsKK05VTUEgbm9kZTAgQ1BVKHMpOiAgIDAtMTQwCitGbGFnczogICAgICAgICAgICAgICBlc2FuMyB6YXJjaCBzdGZsZSBtc2EgbGRpc3AgZWltbSBkZnAgZWRhdCBldGYzZWggaGlnaGdwcnMgdGUgdnggc2llCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWksTDJkLEwyaQorMCwwLDAsMCwsMCwwLDAsMAorMSwxLDAsMCwsMSwxLDEsMQorMiwyLDEsMCwsMiwyLDIsMgorMywzLDEsMCwsMywzLDMsMworNCw0LDEsMCwsNCw0LDQsNAorNSw1LDEsMCwsNSw1LDUsNQorNiw2LDEsMCwsNiw2LDYsNgorNyw3LDEsMCwsNyw3LDcsNworCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpLEwyZCxMMmkKKzAsMCwyLDAsLDAsMCwwLDAKKzEsMSwyLDAsLDEsMSwxLDEKKzIsMiwzLDAsLDIsMiwyLDIKKzMsMywzLDAsLDMsMywzLDMKKzQsNCwzLDAsLDQsNCw0LDQKKzUsNSwzLDAsLDUsNSw1LDUKKzYsNiwzLDAsLDYsNiw2LDYKKzcsNywzLDAsLDcsNyw3LDcKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXMzOTAtenZtIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtczM5MC16dm0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTI0MmIzMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXMzOTAtenZtCkBAIC0wLDAgKzEsMzMgQEAKK0NQVSBvcC1tb2RlKHMpOiAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICA0CitPbi1saW5lIENQVShzKSBsaXN0OiAwLTMKK1RocmVhZChzKSBwZXIgY29yZTogIDEKK0NvcmUocykgcGVyIHNvY2tldDogIDEKK1NvY2tldChzKSBwZXIgYm9vazogIDEKK0Jvb2socyk6ICAgICAgICAgICAgIDQKK1ZlbmRvciBJRDogICAgICAgICAgIElCTS9TMzkwCitNYWNoaW5lIHR5cGU6ICAgICAgICAyODE3CitCb2dvTUlQUzogICAgICAgICAgICAxNDM2Ny4wMAorSHlwZXJ2aXNvcjogICAgICAgICAgei9WTSA2LjEuMAorSHlwZXJ2aXNvciB2ZW5kb3I6ICAgSUJNCitWaXJ0dWFsaXphdGlvbiB0eXBlOiBmdWxsCitEaXNwYXRjaGluZyBtb2RlOiAgICBob3Jpem9udGFsCitGbGFnczogICAgICAgICAgICAgICBlc2FuMyB6YXJjaCBzdGZsZSBtc2EgbGRpc3AgZWltbSBkZnAgZXRmM2VoIGhpZ2hncHJzCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUKKzAsMCwwLAorMSwxLDEsCisyLDIsMiwKKzMsMywzLAorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlCiswLDAsLSwKKzEsMCwtLAorMiwwLC0sCiszLDAsLSwKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXNwYXJjNjQgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zcGFyYzY0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExMmMxMzYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS1zcGFyYzY0CkBAIC0wLDAgKzEsMzAgQEAKK0NQVSBvcC1tb2RlKHMpOiAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICA2CitPbi1saW5lIENQVShzKSBsaXN0OiA2LDcsMTAsMTEsMTQsMTUKK1RocmVhZChzKSBwZXIgY29yZTogIDEKK0NvcmUocykgcGVyIHNvY2tldDogIDEKK1NvY2tldChzKTogICAgICAgICAgIDYKK01vZGVsIG5hbWU6ICAgICAgICAgIFRJIFVsdHJhU3BhcmMgSUkgIChCbGFja0JpcmQpCitGbGFnczogICAgICAgICAgICAgICBzdW40dQorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlCis2LDAsMCwKKzcsMSwxLAorMTAsMiwyLAorMTEsMywzLAorMTQsNCw0LAorMTUsNSw1LAorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlCis2LDAsLSwKKzcsMCwtLAorMTAsMCwtLAorMTEsMCwtLAorMTQsMCwtLAorMTUsMCwtLApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtdmJveC13aW4gYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS12Ym94LXdpbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNGY2MTMwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUtdmJveC13aW4KQEAgLTAsMCArMSwzNyBAQAorQ1BVIG9wLW1vZGUocyk6ICAgICAgMzItYml0LCA2NC1iaXQKK0NQVShzKTogICAgICAgICAgICAgIDIKK09uLWxpbmUgQ1BVKHMpIGxpc3Q6IDAsMQorVGhyZWFkKHMpIHBlciBjb3JlOiAgMQorQ29yZShzKSBwZXIgc29ja2V0OiAgMgorU29ja2V0KHMpOiAgICAgICAgICAgMQorTlVNQSBub2RlKHMpOiAgICAgICAgMQorVmVuZG9yIElEOiAgICAgICAgICAgR2VudWluZUludGVsCitDUFUgZmFtaWx5OiAgICAgICAgICA2CitNb2RlbDogICAgICAgICAgICAgICA1OAorTW9kZWwgbmFtZTogICAgICAgICAgSW50ZWwoUikgQ29yZShUTSkgaTUtMzMxN1UgQ1BVIEAgMS43MEdIegorU3RlcHBpbmc6ICAgICAgICAgICAgOQorQ1BVIE1IejogICAgICAgICAgICAgMTYwMC4wMDAKK0NQVSBtYXggTUh6OiAgICAgICAgIDM4MDAuMDAwMAorQ1BVIG1pbiBNSHo6ICAgICAgICAgMTYwMC4wMDAwCitCb2dvTUlQUzogICAgICAgICAgICAzMzU1LjYyCitIeXBlcnZpc29yIHZlbmRvcjogICBPcmFjbGUKK1ZpcnR1YWxpemF0aW9uIHR5cGU6IGZ1bGwKK0wxZCBjYWNoZTogICAgICAgICAgIDMySworTDFkIGNhY2hlOiAgICAgICAgICAgMzJLCitMMmQgY2FjaGU6ICAgICAgICAgICA2MTQ0SworTlVNQSBub2RlMCBDUFUocyk6ICAgMCwxCitGbGFnczogICAgICAgICAgICAgICBmcHUgdm1lIGRlIHBzZSB0c2MgbXNyIHBhZSBtY2UgY3g4IGFwaWMgc2VwIG10cnIgcGdlIG1jYSBjbW92IHBhdCBwc2UzNiBjbGZsdXNoIG1teCBmeHNyIHNzZSBzc2UyIGh0IHN5c2NhbGwgbnggcmR0c2NwIGxtIGNvbnN0YW50X3RzYyByZXBfZ29vZCBub3BsIHBuaSBzc3NlMyBsYWhmX2xtCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWQsTDJkCiswLDAsMCwwLCwwLDAsMAorMSwxLDAsMCwsMSwxLDAKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxZCxMMmQKKzAsMCwwLDAsLDAsMCwwCisxLDEsMCwwLCwxLDEsMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUteDg2XzY0LTY0Y3B1IGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUteDg2XzY0LTY0Y3B1Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzMmVjYWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc2NwdS9sc2NwdS14ODZfNjQtNjRjcHUKQEAgLTAsMCArMSwxNjMgQEAKK0NQVSBvcC1tb2RlKHMpOiAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICA2NAorT24tbGluZSBDUFUocykgbGlzdDogMC02MworVGhyZWFkKHMpIHBlciBjb3JlOiAgMgorQ29yZShzKSBwZXIgc29ja2V0OiAgOAorU29ja2V0KHMpOiAgICAgICAgICAgNAorTlVNQSBub2RlKHMpOiAgICAgICAgMworVmVuZG9yIElEOiAgICAgICAgICAgR2VudWluZUludGVsCitDUFUgZmFtaWx5OiAgICAgICAgICA2CitNb2RlbDogICAgICAgICAgICAgICA0NgorTW9kZWwgbmFtZTogICAgICAgICAgSW50ZWwoUikgWGVvbihSKSBDUFUgICAgICAgICAgIFg3NTUwICBAIDIuMDBHSHoKK1N0ZXBwaW5nOiAgICAgICAgICAgIDYKK0NQVSBNSHo6ICAgICAgICAgICAgIDEwNjQuMDAwCitDUFUgbWF4IE1IejogICAgICAgICAxOTk2LjAwMDAKK0NQVSBtaW4gTUh6OiAgICAgICAgIDEwNjQuMDAwMAorQm9nb01JUFM6ICAgICAgICAgICAgMzk5MC4zMQorVmlydHVhbGl6YXRpb246ICAgICAgVlQteAorTDFkIGNhY2hlOiAgICAgICAgICAgMzJLCitMMWkgY2FjaGU6ICAgICAgICAgICAzMksKK0wyIGNhY2hlOiAgICAgICAgICAgIDI1NksKK0wzIGNhY2hlOiAgICAgICAgICAgIDE4NDMySworTlVNQSBub2RlMCBDUFUocyk6ICAgMCwyLDQsNiw4LDEwLDEyLDE0LDE2LDE4LDIwLDIyLDI0LDI2LDI4LDMwLDMyLDM0LDM2LDM4LDQwLDQyLDQ0LDQ2LDQ4LDUwLDUyLDU0LDU2LDU4LDYwLDYyCitOVU1BIG5vZGUyIENQVShzKTogICAxLDUsOSwxMywxNywyMSwyNSwyOSwzMywzNyw0MSw0NSw0OSw1Myw1Nyw2MQorTlVNQSBub2RlMyBDUFUocyk6ICAgMyw3LDExLDE1LDE5LDIzLDI3LDMxLDM1LDM5LDQzLDQ3LDUxLDU1LDU5LDYzCitGbGFnczogICAgICAgICAgICAgICBmcHUgdm1lIGRlIHBzZSB0c2MgbXNyIHBhZSBtY2UgY3g4IGFwaWMgbXRyciBwZ2UgbWNhIGNtb3YgcGF0IHBzZTM2IGNsZmx1c2ggZHRzIGFjcGkgbW14IGZ4c3Igc3NlIHNzZTIgc3MgaHQgdG0gcGJlIHN5c2NhbGwgbnggcmR0c2NwIGxtIGNvbnN0YW50X3RzYyBhcmNoX3BlcmZtb24gcGVicyBidHMgcmVwX2dvb2QgeHRvcG9sb2d5IG5vbnN0b3BfdHNjIGFwZXJmbXBlcmYgcG5pIGR0ZXM2NCBtb25pdG9yIGRzX2NwbCB2bXggZXN0IHRtMiBzc3NlMyBjeDE2IHh0cHIgcGRjbSBkY2Egc3NlNF8xIHNzZTRfMiB4MmFwaWMgcG9wY250IGxhaGZfbG0gaWRhIGVwYiBkdHMgdHByX3NoYWRvdyB2bm1pIGZsZXhwcmlvcml0eSBlcHQgdnBpZAorCisjIFRoZSBmb2xsb3dpbmcgaXMgdGhlIHBhcnNhYmxlIGZvcm1hdCwgd2hpY2ggY2FuIGJlIGZlZCB0byBvdGhlcgorIyBwcm9ncmFtcy4gRWFjaCBkaWZmZXJlbnQgaXRlbSBpbiBldmVyeSBjb2x1bW4gaGFzIGFuIHVuaXF1ZSBJRAorIyBzdGFydGluZyBmcm9tIHplcm8uCisjIENQVSxDb3JlLFNvY2tldCxOb2RlLCxMMWQsTDFpLEwyLEwzCiswLDAsMCwwLCwwLDAsMCwwCisxLDEsMSwyLCwxLDEsMSwxCisyLDIsMiwwLCwyLDIsMiwyCiszLDMsMywzLCwzLDMsMywzCis0LDQsMCwwLCw0LDQsNCwwCis1LDUsMSwyLCw1LDUsNSwxCis2LDYsMiwwLCw2LDYsNiwyCis3LDcsMywzLCw3LDcsNywzCis4LDgsMCwwLCw4LDgsOCwwCis5LDksMSwyLCw5LDksOSwxCisxMCwxMCwyLDAsLDEwLDEwLDEwLDIKKzExLDExLDMsMywsMTEsMTEsMTEsMworMTIsMTIsMCwwLCwxMiwxMiwxMiwwCisxMywxMywxLDIsLDEzLDEzLDEzLDEKKzE0LDE0LDIsMCwsMTQsMTQsMTQsMgorMTUsMTUsMywzLCwxNSwxNSwxNSwzCisxNiwxNiwwLDAsLDE2LDE2LDE2LDAKKzE3LDE3LDEsMiwsMTcsMTcsMTcsMQorMTgsMTgsMiwwLCwxOCwxOCwxOCwyCisxOSwxOSwzLDMsLDE5LDE5LDE5LDMKKzIwLDIwLDAsMCwsMjAsMjAsMjAsMAorMjEsMjEsMSwyLCwyMSwyMSwyMSwxCisyMiwyMiwyLDAsLDIyLDIyLDIyLDIKKzIzLDIzLDMsMywsMjMsMjMsMjMsMworMjQsMjQsMCwwLCwyNCwyNCwyNCwwCisyNSwyNSwxLDIsLDI1LDI1LDI1LDEKKzI2LDI2LDIsMCwsMjYsMjYsMjYsMgorMjcsMjcsMywzLCwyNywyNywyNywzCisyOCwyOCwwLDAsLDI4LDI4LDI4LDAKKzI5LDI5LDEsMiwsMjksMjksMjksMQorMzAsMzAsMiwwLCwzMCwzMCwzMCwyCiszMSwzMSwzLDMsLDMxLDMxLDMxLDMKKzMyLDAsMCwwLCwwLDAsMCwwCiszMywxLDEsMiwsMSwxLDEsMQorMzQsMiwyLDAsLDIsMiwyLDIKKzM1LDMsMywzLCwzLDMsMywzCiszNiw0LDAsMCwsNCw0LDQsMAorMzcsNSwxLDIsLDUsNSw1LDEKKzM4LDYsMiwwLCw2LDYsNiwyCiszOSw3LDMsMywsNyw3LDcsMworNDAsOCwwLDAsLDgsOCw4LDAKKzQxLDksMSwyLCw5LDksOSwxCis0MiwxMCwyLDAsLDEwLDEwLDEwLDIKKzQzLDExLDMsMywsMTEsMTEsMTEsMworNDQsMTIsMCwwLCwxMiwxMiwxMiwwCis0NSwxMywxLDIsLDEzLDEzLDEzLDEKKzQ2LDE0LDIsMCwsMTQsMTQsMTQsMgorNDcsMTUsMywzLCwxNSwxNSwxNSwzCis0OCwxNiwwLDAsLDE2LDE2LDE2LDAKKzQ5LDE3LDEsMiwsMTcsMTcsMTcsMQorNTAsMTgsMiwwLCwxOCwxOCwxOCwyCis1MSwxOSwzLDMsLDE5LDE5LDE5LDMKKzUyLDIwLDAsMCwsMjAsMjAsMjAsMAorNTMsMjEsMSwyLCwyMSwyMSwyMSwxCis1NCwyMiwyLDAsLDIyLDIyLDIyLDIKKzU1LDIzLDMsMywsMjMsMjMsMjMsMworNTYsMjQsMCwwLCwyNCwyNCwyNCwwCis1NywyNSwxLDIsLDI1LDI1LDI1LDEKKzU4LDI2LDIsMCwsMjYsMjYsMjYsMgorNTksMjcsMywzLCwyNywyNywyNywzCis2MCwyOCwwLDAsLDI4LDI4LDI4LDAKKzYxLDI5LDEsMiwsMjksMjksMjksMQorNjIsMzAsMiwwLCwzMCwzMCwzMCwyCis2MywzMSwzLDMsLDMxLDMxLDMxLDMKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxaSxMMixMMworMCwwLDAsMCwsMCwwLDAsMAorMSwwLDIsMiwsMSwxLDEsMQorMiwwLDEsMCwsMiwyLDIsMgorMywwLDMsMywsMywzLDMsMworNCw4LDAsMCwsNCw0LDQsMAorNSw4LDIsMiwsNSw1LDUsMQorNiw4LDEsMCwsNiw2LDYsMgorNyw4LDMsMywsNyw3LDcsMworOCwyLDAsMCwsOCw4LDgsMAorOSwyLDIsMiwsOSw5LDksMQorMTAsMiwxLDAsLDEwLDEwLDEwLDIKKzExLDIsMywzLCwxMSwxMSwxMSwzCisxMiwxMCwwLDAsLDEyLDEyLDEyLDAKKzEzLDEwLDIsMiwsMTMsMTMsMTMsMQorMTQsMTAsMSwwLCwxNCwxNCwxNCwyCisxNSwxMCwzLDMsLDE1LDE1LDE1LDMKKzE2LDEsMCwwLCwxNiwxNiwxNiwwCisxNywxLDIsMiwsMTcsMTcsMTcsMQorMTgsMSwxLDAsLDE4LDE4LDE4LDIKKzE5LDEsMywzLCwxOSwxOSwxOSwzCisyMCw5LDAsMCwsMjAsMjAsMjAsMAorMjEsOSwyLDIsLDIxLDIxLDIxLDEKKzIyLDksMSwwLCwyMiwyMiwyMiwyCisyMyw5LDMsMywsMjMsMjMsMjMsMworMjQsMywwLDAsLDI0LDI0LDI0LDAKKzI1LDMsMiwyLCwyNSwyNSwyNSwxCisyNiwzLDEsMCwsMjYsMjYsMjYsMgorMjcsMywzLDMsLDI3LDI3LDI3LDMKKzI4LDExLDAsMCwsMjgsMjgsMjgsMAorMjksMTEsMiwyLCwyOSwyOSwyOSwxCiszMCwxMSwxLDAsLDMwLDMwLDMwLDIKKzMxLDExLDMsMywsMzEsMzEsMzEsMworMzIsMCwwLDAsLDAsMCwwLDAKKzMzLDAsMiwyLCwxLDEsMSwxCiszNCwwLDEsMCwsMiwyLDIsMgorMzUsMCwzLDMsLDMsMywzLDMKKzM2LDgsMCwwLCw0LDQsNCwwCiszNyw4LDIsMiwsNSw1LDUsMQorMzgsOCwxLDAsLDYsNiw2LDIKKzM5LDgsMywzLCw3LDcsNywzCis0MCwyLDAsMCwsOCw4LDgsMAorNDEsMiwyLDIsLDksOSw5LDEKKzQyLDIsMSwwLCwxMCwxMCwxMCwyCis0MywyLDMsMywsMTEsMTEsMTEsMworNDQsMTAsMCwwLCwxMiwxMiwxMiwwCis0NSwxMCwyLDIsLDEzLDEzLDEzLDEKKzQ2LDEwLDEsMCwsMTQsMTQsMTQsMgorNDcsMTAsMywzLCwxNSwxNSwxNSwzCis0OCwxLDAsMCwsMTYsMTYsMTYsMAorNDksMSwyLDIsLDE3LDE3LDE3LDEKKzUwLDEsMSwwLCwxOCwxOCwxOCwyCis1MSwxLDMsMywsMTksMTksMTksMworNTIsOSwwLDAsLDIwLDIwLDIwLDAKKzUzLDksMiwyLCwyMSwyMSwyMSwxCis1NCw5LDEsMCwsMjIsMjIsMjIsMgorNTUsOSwzLDMsLDIzLDIzLDIzLDMKKzU2LDMsMCwwLCwyNCwyNCwyNCwwCis1NywzLDIsMiwsMjUsMjUsMjUsMQorNTgsMywxLDAsLDI2LDI2LDI2LDIKKzU5LDMsMywzLCwyNywyNywyNywzCis2MCwxMSwwLDAsLDI4LDI4LDI4LDAKKzYxLDExLDIsMiwsMjksMjksMjksMQorNjIsMTEsMSwwLCwzMCwzMCwzMCwyCis2MywxMSwzLDMsLDMxLDMxLDMxLDMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXg4Nl82NC1kZWxsX2U0MzEwIGIvdGVzdHMvZXhwZWN0ZWQvbHNjcHUvbHNjcHUteDg2XzY0LWRlbGxfZTQzMTAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjMxODg3ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzY3B1L2xzY3B1LXg4Nl82NC1kZWxsX2U0MzEwCkBAIC0wLDAgKzEsNDEgQEAKK0NQVSBvcC1tb2RlKHMpOiAgICAgIDMyLWJpdCwgNjQtYml0CitDUFUocyk6ICAgICAgICAgICAgICA0CitPbi1saW5lIENQVShzKSBsaXN0OiAwLTMKK1RocmVhZChzKSBwZXIgY29yZTogIDIKK0NvcmUocykgcGVyIHNvY2tldDogIDIKK1NvY2tldChzKTogICAgICAgICAgIDEKK05VTUEgbm9kZShzKTogICAgICAgIDEKK1ZlbmRvciBJRDogICAgICAgICAgIEdlbnVpbmVJbnRlbAorQ1BVIGZhbWlseTogICAgICAgICAgNgorTW9kZWw6ICAgICAgICAgICAgICAgMzcKK01vZGVsIG5hbWU6ICAgICAgICAgIEludGVsKFIpIENvcmUoVE0pIGk1IENQVSAgICAgICBNIDU2MCAgQCAyLjY3R0h6CitTdGVwcGluZzogICAgICAgICAgICA1CitDUFUgTUh6OiAgICAgICAgICAgICAxMTk5LjAwMAorQ1BVIG1heCBNSHo6ICAgICAgICAgMjY2Ny4wMDAwCitDUFUgbWluIE1IejogICAgICAgICAxMTk5LjAwMDAKK0JvZ29NSVBTOiAgICAgICAgICAgIDUzMTkuOTIKK1ZpcnR1YWxpemF0aW9uOiAgICAgIFZULXgKK0wxZCBjYWNoZTogICAgICAgICAgIDMySworTDFpIGNhY2hlOiAgICAgICAgICAgMzJLCitMMiBjYWNoZTogICAgICAgICAgICAyNTZLCitMMyBjYWNoZTogICAgICAgICAgICAzMDcySworTlVNQSBub2RlMCBDUFUocyk6ICAgMC0zCitGbGFnczogICAgICAgICAgICAgICBmcHUgdm1lIGRlIHBzZSB0c2MgbXNyIHBhZSBtY2UgY3g4IGFwaWMgc2VwIG10cnIgcGdlIG1jYSBjbW92IHBhdCBwc2UzNiBjbGZsdXNoIGR0cyBhY3BpIG1teCBmeHNyIHNzZSBzc2UyIHNzIGh0IHRtIHBiZSBzeXNjYWxsIG54IHJkdHNjcCBsbSBjb25zdGFudF90c2MgYXJjaF9wZXJmbW9uIHBlYnMgYnRzIHJlcF9nb29kIG5vcGwgeHRvcG9sb2d5IG5vbnN0b3BfdHNjIGFwZXJmbXBlcmYgcG5pIHBjbG11bHFkcSBkdGVzNjQgbW9uaXRvciBkc19jcGwgdm14IHNteCBlc3QgdG0yIHNzc2UzIGN4MTYgeHRwciBwZGNtIHNzZTRfMSBzc2U0XzIgcG9wY250IGFlcyBsYWhmX2xtIGlkYSBhcmF0IGR0cyB0cHJfc2hhZG93IHZubWkgZmxleHByaW9yaXR5IGVwdCB2cGlkCisKKyMgVGhlIGZvbGxvd2luZyBpcyB0aGUgcGFyc2FibGUgZm9ybWF0LCB3aGljaCBjYW4gYmUgZmVkIHRvIG90aGVyCisjIHByb2dyYW1zLiBFYWNoIGRpZmZlcmVudCBpdGVtIGluIGV2ZXJ5IGNvbHVtbiBoYXMgYW4gdW5pcXVlIElECisjIHN0YXJ0aW5nIGZyb20gemVyby4KKyMgQ1BVLENvcmUsU29ja2V0LE5vZGUsLEwxZCxMMWksTDIsTDMKKzAsMCwwLDAsLDAsMCwwLDAKKzEsMSwwLDAsLDEsMSwxLDAKKzIsMCwwLDAsLDAsMCwwLDAKKzMsMSwwLDAsLDEsMSwxLDAKKworIyBUaGUgZm9sbG93aW5nIGlzIHRoZSBwYXJzYWJsZSBmb3JtYXQsIHdoaWNoIGNhbiBiZSBmZWQgdG8gb3RoZXIKKyMgcHJvZ3JhbXMuIEVhY2ggZGlmZmVyZW50IGl0ZW0gaW4gZXZlcnkgY29sdW1uIGhhcyBhbiB1bmlxdWUgSUQKKyMgc3RhcnRpbmcgZnJvbSB6ZXJvLgorIyBDUFUsQ29yZSxTb2NrZXQsTm9kZSwsTDFkLEwxaSxMMixMMworMCwwLDAsMCwsMCwwLDAsMAorMSwyLDAsMCwsMSwxLDEsMAorMiwwLDAsMCwsMCwwLDAsMAorMywyLDAsMCwsMSwxLDEsMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbHNtZW0vbHNtZW0tczM5MC16dm0tNmcgYi90ZXN0cy9leHBlY3RlZC9sc21lbS9sc21lbS1zMzkwLXp2bS02ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42Yjk5MGIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbHNtZW0vbHNtZW0tczM5MC16dm0tNmcKQEAgLTAsMCArMSwxNDggQEAKKworLS0tCisKKyQgbHNtZW0gLS1zcGxpdD1TVEFURSxSRU1PVkFCTEUKK1JBTkdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNJWkUgICBTVEFURSBSRU1PVkFCTEUgQkxPQ0sKKzB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwNmZmZmZmZmYgIDEuOEcgIG9ubGluZSAgICAgICB5ZXMgICAwLTYKKzB4MDAwMDAwMDA3MDAwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICAgbm8gICAgIDcKKzB4MDAwMDAwMDA4MDAwMDAwMC0weDAwMDAwMDAwOWZmZmZmZmYgIDUxMk0gIG9ubGluZSAgICAgICB5ZXMgICA4LTkKKzB4MDAwMDAwMDBhMDAwMDAwMC0weDAwMDAwMDAwYmZmZmZmZmYgIDUxMk0gIG9ubGluZSAgICAgICAgbm8gMTAtMTEKKzB4MDAwMDAwMDBjMDAwMDAwMC0weDAwMDAwMDAwZGZmZmZmZmYgIDUxMk0gIG9ubGluZSAgICAgICB5ZXMgMTItMTMKKzB4MDAwMDAwMDBlMDAwMDAwMC0weDAwMDAwMDAwZWZmZmZmZmYgIDI1Nk0gb2ZmbGluZSAgICAgICAgICAgICAgMTQKKzB4MDAwMDAwMDBmMDAwMDAwMC0weDAwMDAwMDAwZmZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICB5ZXMgICAgMTUKKzB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDAxMWZmZmZmZmYgIDUxMk0gIG9ubGluZSAgICAgICAgbm8gMTYtMTcKKzB4MDAwMDAwMDEyMDAwMDAwMC0weDAwMDAwMDAxM2ZmZmZmZmYgIDUxMk0gIG9ubGluZSAgICAgICB5ZXMgMTgtMTkKKzB4MDAwMDAwMDE0MDAwMDAwMC0weDAwMDAwMDAxN2ZmZmZmZmYgICAgMUcgb2ZmbGluZSAgICAgICAgICAgMjAtMjMKKworTWVtb3J5IGJsb2NrIHNpemU6ICAgICAgIDI1Nk0KK1RvdGFsIG9ubGluZSBtZW1vcnk6ICAgICA0LjhHCitUb3RhbCBvZmZsaW5lIG1lbW9yeTogICAgMS4zRworCistLS0KKworJCBsc21lbSAtLW91dHB1dCBSQU5HRSxTSVpFIC0tc3BsaXQgbm9uZQorUkFOR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSVpFCisweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMTdmZmZmZmZmICAgNkcKKworTWVtb3J5IGJsb2NrIHNpemU6ICAgICAgIDI1Nk0KK1RvdGFsIG9ubGluZSBtZW1vcnk6ICAgICA0LjhHCitUb3RhbCBvZmZsaW5lIG1lbW9yeTogICAgMS4zRworCistLS0KKworJCBsc21lbSAtLW91dHB1dCBSQU5HRSxTSVpFLFNUQVRFIC0tc3BsaXQgU1RBVEUKK1JBTkdFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNJWkUgICBTVEFURQorMHgwMDAwMDAwMDAwMDAwMDAwLTB4MDAwMDAwMDBkZmZmZmZmZiAgMy41RyAgb25saW5lCisweDAwMDAwMDAwZTAwMDAwMDAtMHgwMDAwMDAwMGVmZmZmZmZmICAyNTZNIG9mZmxpbmUKKzB4MDAwMDAwMDBmMDAwMDAwMC0weDAwMDAwMDAxM2ZmZmZmZmYgIDEuM0cgIG9ubGluZQorMHgwMDAwMDAwMTQwMDAwMDAwLTB4MDAwMDAwMDE3ZmZmZmZmZiAgICAxRyBvZmZsaW5lCisKK01lbW9yeSBibG9jayBzaXplOiAgICAgICAyNTZNCitUb3RhbCBvbmxpbmUgbWVtb3J5OiAgICAgNC44RworVG90YWwgb2ZmbGluZSBtZW1vcnk6ICAgIDEuM0cKKworLS0tCisKKyQgbHNtZW0gLS1hbGwgLS1vdXRwdXQgUkFOR0UsU0laRSxTVEFURSxSRU1PVkFCTEUsQkxPQ0ssTk9ERQorUkFOR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0laRSAgIFNUQVRFIFJFTU9WQUJMRSBCTE9DSyBOT0RFCisweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDBmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgICAwICAgIDAKKzB4MDAwMDAwMDAxMDAwMDAwMC0weDAwMDAwMDAwMWZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICB5ZXMgICAgIDEgICAgMAorMHgwMDAwMDAwMDIwMDAwMDAwLTB4MDAwMDAwMDAyZmZmZmZmZiAgMjU2TSAgb25saW5lICAgICAgIHllcyAgICAgMiAgICAwCisweDAwMDAwMDAwMzAwMDAwMDAtMHgwMDAwMDAwMDNmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgICAzICAgIDAKKzB4MDAwMDAwMDA0MDAwMDAwMC0weDAwMDAwMDAwNGZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICB5ZXMgICAgIDQgICAgMAorMHgwMDAwMDAwMDUwMDAwMDAwLTB4MDAwMDAwMDA1ZmZmZmZmZiAgMjU2TSAgb25saW5lICAgICAgIHllcyAgICAgNSAgICAwCisweDAwMDAwMDAwNjAwMDAwMDAtMHgwMDAwMDAwMDZmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgICA2ICAgIDAKKzB4MDAwMDAwMDA3MDAwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICAgbm8gICAgIDcgICAgMAorMHgwMDAwMDAwMDgwMDAwMDAwLTB4MDAwMDAwMDA4ZmZmZmZmZiAgMjU2TSAgb25saW5lICAgICAgIHllcyAgICAgOCAgICAwCisweDAwMDAwMDAwOTAwMDAwMDAtMHgwMDAwMDAwMDlmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgICA5ICAgIDAKKzB4MDAwMDAwMDBhMDAwMDAwMC0weDAwMDAwMDAwYWZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICAgbm8gICAgMTAgICAgMAorMHgwMDAwMDAwMGIwMDAwMDAwLTB4MDAwMDAwMDBiZmZmZmZmZiAgMjU2TSAgb25saW5lICAgICAgICBubyAgICAxMSAgICAwCisweDAwMDAwMDAwYzAwMDAwMDAtMHgwMDAwMDAwMGNmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgIDEyICAgIDAKKzB4MDAwMDAwMDBkMDAwMDAwMC0weDAwMDAwMDAwZGZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICB5ZXMgICAgMTMgICAgMAorMHgwMDAwMDAwMGUwMDAwMDAwLTB4MDAwMDAwMDBlZmZmZmZmZiAgMjU2TSBvZmZsaW5lICAgICAgICAgICAgICAxNCAgICAwCisweDAwMDAwMDAwZjAwMDAwMDAtMHgwMDAwMDAwMGZmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgIDE1ICAgIDAKKzB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDAxMGZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICAgbm8gICAgMTYgICAgMAorMHgwMDAwMDAwMTEwMDAwMDAwLTB4MDAwMDAwMDExZmZmZmZmZiAgMjU2TSAgb25saW5lICAgICAgICBubyAgICAxNyAgICAwCisweDAwMDAwMDAxMjAwMDAwMDAtMHgwMDAwMDAwMTJmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgIDE4ICAgIDAKKzB4MDAwMDAwMDEzMDAwMDAwMC0weDAwMDAwMDAxM2ZmZmZmZmYgIDI1Nk0gIG9ubGluZSAgICAgICB5ZXMgICAgMTkgICAgMAorMHgwMDAwMDAwMTQwMDAwMDAwLTB4MDAwMDAwMDE0ZmZmZmZmZiAgMjU2TSBvZmZsaW5lICAgICAgICAgICAgICAyMCAgICAwCisweDAwMDAwMDAxNTAwMDAwMDAtMHgwMDAwMDAwMTVmZmZmZmZmICAyNTZNIG9mZmxpbmUgICAgICAgICAgICAgIDIxICAgIDAKKzB4MDAwMDAwMDE2MDAwMDAwMC0weDAwMDAwMDAxNmZmZmZmZmYgIDI1Nk0gb2ZmbGluZSAgICAgICAgICAgICAgMjIgICAgMAorMHgwMDAwMDAwMTcwMDAwMDAwLTB4MDAwMDAwMDE3ZmZmZmZmZiAgMjU2TSBvZmZsaW5lICAgICAgICAgICAgICAyMyAgICAwCisKK01lbW9yeSBibG9jayBzaXplOiAgICAgICAyNTZNCitUb3RhbCBvbmxpbmUgbWVtb3J5OiAgICAgNC44RworVG90YWwgb2ZmbGluZSBtZW1vcnk6ICAgIDEuM0cKKworLS0tCisKKyQgbHNtZW0gLS1yYXcgLS1vdXRwdXQgUkFOR0UsU0laRSxTVEFURSxSRU1PVkFCTEUsQkxPQ0ssTk9ERSAtLXNwbGl0IFJBTkdFLFNJWkUsU1RBVEUsUkVNT1ZBQkxFLEJMT0NLLE5PREUKK1JBTkdFIFNJWkUgU1RBVEUgUkVNT1ZBQkxFIEJMT0NLIE5PREUKKzB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwNmZmZmZmZmYgMS44RyBvbmxpbmUgeWVzIDAtNiAwCisweDAwMDAwMDAwNzAwMDAwMDAtMHgwMDAwMDAwMDdmZmZmZmZmIDI1Nk0gb25saW5lIG5vIDcgMAorMHgwMDAwMDAwMDgwMDAwMDAwLTB4MDAwMDAwMDA5ZmZmZmZmZiA1MTJNIG9ubGluZSB5ZXMgOC05IDAKKzB4MDAwMDAwMDBhMDAwMDAwMC0weDAwMDAwMDAwYmZmZmZmZmYgNTEyTSBvbmxpbmUgbm8gMTAtMTEgMAorMHgwMDAwMDAwMGMwMDAwMDAwLTB4MDAwMDAwMDBkZmZmZmZmZiA1MTJNIG9ubGluZSB5ZXMgMTItMTMgMAorMHgwMDAwMDAwMGUwMDAwMDAwLTB4MDAwMDAwMDBlZmZmZmZmZiAyNTZNIG9mZmxpbmUgIDE0IDAKKzB4MDAwMDAwMDBmMDAwMDAwMC0weDAwMDAwMDAwZmZmZmZmZmYgMjU2TSBvbmxpbmUgeWVzIDE1IDAKKzB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDAxMWZmZmZmZmYgNTEyTSBvbmxpbmUgbm8gMTYtMTcgMAorMHgwMDAwMDAwMTIwMDAwMDAwLTB4MDAwMDAwMDEzZmZmZmZmZiA1MTJNIG9ubGluZSB5ZXMgMTgtMTkgMAorMHgwMDAwMDAwMTQwMDAwMDAwLTB4MDAwMDAwMDE3ZmZmZmZmZiAxRyBvZmZsaW5lICAyMC0yMyAwCisKKy0tLQorCiskIGxzbWVtIC0tanNvbiAtLW91dHB1dCBSQU5HRSxTSVpFLFNUQVRFLFJFTU9WQUJMRSxCTE9DSyxOT0RFIC0tc3BsaXQgUkFOR0UsU0laRSxTVEFURSxSRU1PVkFCTEUsQkxPQ0ssTk9ERQoreworICAgIm1lbW9yeSI6IFsKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDZmZmZmZmZmIiwgInNpemUiOiIxLjhHIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6dHJ1ZSwgImJsb2NrIjoiMC02IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDA3MDAwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmYiLCAic2l6ZSI6IjI1Nk0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiNyIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwMDlmZmZmZmZmIiwgInNpemUiOiI1MTJNIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6dHJ1ZSwgImJsb2NrIjoiOC05IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDBhMDAwMDAwMC0weDAwMDAwMDAwYmZmZmZmZmYiLCAic2l6ZSI6IjUxMk0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiMTAtMTEiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMGMwMDAwMDAwLTB4MDAwMDAwMDBkZmZmZmZmZiIsICJzaXplIjoiNTEyTSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOnRydWUsICJibG9jayI6IjEyLTEzIiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDBlMDAwMDAwMC0weDAwMDAwMDAwZWZmZmZmZmYiLCAic2l6ZSI6IjI1Nk0iLCAic3RhdGUiOiJvZmZsaW5lIiwgInJlbW92YWJsZSI6ZmFsc2UsICJibG9jayI6IjE0IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDBmMDAwMDAwMC0weDAwMDAwMDAwZmZmZmZmZmYiLCAic2l6ZSI6IjI1Nk0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjp0cnVlLCAiYmxvY2siOiIxNSIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwMTFmZmZmZmZmIiwgInNpemUiOiI1MTJNIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6ZmFsc2UsICJibG9jayI6IjE2LTE3IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDEyMDAwMDAwMC0weDAwMDAwMDAxM2ZmZmZmZmYiLCAic2l6ZSI6IjUxMk0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjp0cnVlLCAiYmxvY2siOiIxOC0xOSIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAxNDAwMDAwMDAtMHgwMDAwMDAwMTdmZmZmZmZmIiwgInNpemUiOiIxRyIsICJzdGF0ZSI6Im9mZmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiMjAtMjMiLCAibm9kZSI6MH0KKyAgIF0KK30KKworLS0tCisKKyQgbHNtZW0gLW8gK1pPTkVTCitSQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSVpFICAgU1RBVEUgUkVNT1ZBQkxFIEJMT0NLICAgICAgICAgIFpPTkVTCisweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDZmZmZmZmZmICAxLjhHICBvbmxpbmUgICAgICAgeWVzICAgMC02ICAgICAgICAgICAgRE1BCisweDAwMDAwMDAwNzAwMDAwMDAtMHgwMDAwMDAwMDdmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgIG5vICAgICA3ICAgICBETUEvTm9ybWFsCisweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwMDlmZmZmZmZmICA1MTJNICBvbmxpbmUgICAgICAgeWVzICAgOC05ICAgICAgICAgTm9ybWFsCisweDAwMDAwMDAwYTAwMDAwMDAtMHgwMDAwMDAwMGJmZmZmZmZmICA1MTJNICBvbmxpbmUgICAgICAgIG5vIDEwLTExICAgICAgICAgTm9ybWFsCisweDAwMDAwMDAwYzAwMDAwMDAtMHgwMDAwMDAwMGRmZmZmZmZmICA1MTJNICBvbmxpbmUgICAgICAgeWVzIDEyLTEzICAgICAgICAgTm9ybWFsCisweDAwMDAwMDAwZTAwMDAwMDAtMHgwMDAwMDAwMGVmZmZmZmZmICAyNTZNIG9mZmxpbmUgICAgICAgICAgICAgIDE0ICAgICAgICAgTm9ybWFsCisweDAwMDAwMDAwZjAwMDAwMDAtMHgwMDAwMDAwMGZmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgIDE1ICAgICAgICAgTm9ybWFsCisweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwMTBmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgIG5vICAgIDE2ICAgICAgICAgTm9ybWFsCisweDAwMDAwMDAxMTAwMDAwMDAtMHgwMDAwMDAwMTFmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgIG5vICAgIDE3IE5vcm1hbC9Nb3ZhYmxlCisweDAwMDAwMDAxMjAwMDAwMDAtMHgwMDAwMDAwMTJmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgIDE4IE1vdmFibGUvTm9ybWFsCisweDAwMDAwMDAxMzAwMDAwMDAtMHgwMDAwMDAwMTNmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgIDE5ICAgICAgICBNb3ZhYmxlCisweDAwMDAwMDAxNDAwMDAwMDAtMHgwMDAwMDAwMTdmZmZmZmZmICAgIDFHIG9mZmxpbmUgICAgICAgICAgIDIwLTIzICAgICAgICBNb3ZhYmxlCisKK01lbW9yeSBibG9jayBzaXplOiAgICAgICAyNTZNCitUb3RhbCBvbmxpbmUgbWVtb3J5OiAgICAgNC44RworVG90YWwgb2ZmbGluZSBtZW1vcnk6ICAgIDEuM0cKKworLS0tCisKKyQgbHNtZW0gCitSQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSVpFICAgU1RBVEUgUkVNT1ZBQkxFIEJMT0NLCisweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDZmZmZmZmZmICAxLjhHICBvbmxpbmUgICAgICAgeWVzICAgMC02CisweDAwMDAwMDAwNzAwMDAwMDAtMHgwMDAwMDAwMDdmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgIG5vICAgICA3CisweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwMDlmZmZmZmZmICA1MTJNICBvbmxpbmUgICAgICAgeWVzICAgOC05CisweDAwMDAwMDAwYTAwMDAwMDAtMHgwMDAwMDAwMGJmZmZmZmZmICA1MTJNICBvbmxpbmUgICAgICAgIG5vIDEwLTExCisweDAwMDAwMDAwYzAwMDAwMDAtMHgwMDAwMDAwMGRmZmZmZmZmICA1MTJNICBvbmxpbmUgICAgICAgeWVzIDEyLTEzCisweDAwMDAwMDAwZTAwMDAwMDAtMHgwMDAwMDAwMGVmZmZmZmZmICAyNTZNIG9mZmxpbmUgICAgICAgICAgICAgIDE0CisweDAwMDAwMDAwZjAwMDAwMDAtMHgwMDAwMDAwMGZmZmZmZmZmICAyNTZNICBvbmxpbmUgICAgICAgeWVzICAgIDE1CisweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwMTFmZmZmZmZmICA1MTJNICBvbmxpbmUgICAgICAgIG5vIDE2LTE3CisweDAwMDAwMDAxMjAwMDAwMDAtMHgwMDAwMDAwMTNmZmZmZmZmICA1MTJNICBvbmxpbmUgICAgICAgeWVzIDE4LTE5CisweDAwMDAwMDAxNDAwMDAwMDAtMHgwMDAwMDAwMTdmZmZmZmZmICAgIDFHIG9mZmxpbmUgICAgICAgICAgIDIwLTIzCisKK01lbW9yeSBibG9jayBzaXplOiAgICAgICAyNTZNCitUb3RhbCBvbmxpbmUgbWVtb3J5OiAgICAgNC44RworVG90YWwgb2ZmbGluZSBtZW1vcnk6ICAgIDEuM0cKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL2xzbWVtL2xzbWVtLXg4Nl82NC0xNmcgYi90ZXN0cy9leHBlY3RlZC9sc21lbS9sc21lbS14ODZfNjQtMTZnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjBiYjA0ZTMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9sc21lbS9sc21lbS14ODZfNjQtMTZnCkBAIC0wLDAgKzEsMzQ5IEBACisKKy0tLQorCiskIGxzbWVtIC0tc3BsaXQ9U1RBVEUsUkVNT1ZBQkxFCitSQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSVpFICBTVEFURSBSRU1PVkFCTEUgICBCTE9DSworMHgwMDAwMDAwMDAwMDAwMDAwLTB4MDAwMDAwMDAwN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgICAgIDAKKzB4MDAwMDAwMDAwODAwMDAwMC0weDAwMDAwMDAwMzdmZmZmZmYgIDc2OE0gb25saW5lICAgICAgIHllcyAgICAgMS02CisweDAwMDAwMDAwMzgwMDAwMDAtMHgwMDAwMDAwMDNmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgICAgNworMHgwMDAwMDAwMDQwMDAwMDAwLTB4MDAwMDAwMDA3N2ZmZmZmZiAgODk2TSBvbmxpbmUgICAgICAgeWVzICAgIDgtMTQKKzB4MDAwMDAwMDA3ODAwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICAgIDE1CisweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwMGFmZmZmZmZmICA3NjhNIG9ubGluZSAgICAgICB5ZXMgICAxNi0yMQorMHgwMDAwMDAwMGIwMDAwMDAwLTB4MDAwMDAwMDBiZmZmZmZmZiAgMjU2TSBvbmxpbmUgICAgICAgIG5vICAgMjItMjMKKzB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDAxYTdmZmZmZmYgIDIuNkcgb25saW5lICAgICAgICBubyAgIDMyLTUyCisweDAwMDAwMDAxYTgwMDAwMDAtMHgwMDAwMDAwMWFmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgICA1MworMHgwMDAwMDAwMWIwMDAwMDAwLTB4MDAwMDAwMDFiZmZmZmZmZiAgMjU2TSBvbmxpbmUgICAgICAgIG5vICAgNTQtNTUKKzB4MDAwMDAwMDFjMDAwMDAwMC0weDAwMDAwMDAxZmZmZmZmZmYgICAgMUcgb25saW5lICAgICAgIHllcyAgIDU2LTYzCisweDAwMDAwMDAyMDAwMDAwMDAtMHgwMDAwMDAwMjA3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgICA2NAorMHgwMDAwMDAwMjA4MDAwMDAwLTB4MDAwMDAwMDIxZmZmZmZmZiAgMzg0TSBvbmxpbmUgICAgICAgeWVzICAgNjUtNjcKKzB4MDAwMDAwMDIyMDAwMDAwMC0weDAwMDAwMDAyMzdmZmZmZmYgIDM4NE0gb25saW5lICAgICAgICBubyAgIDY4LTcwCisweDAwMDAwMDAyMzgwMDAwMDAtMHgwMDAwMDAwMjc3ZmZmZmZmICAgIDFHIG9ubGluZSAgICAgICB5ZXMgICA3MS03OAorMHgwMDAwMDAwMjc4MDAwMDAwLTB4MDAwMDAwMDI4ZmZmZmZmZiAgMzg0TSBvbmxpbmUgICAgICAgIG5vICAgNzktODEKKzB4MDAwMDAwMDI5MDAwMDAwMC0weDAwMDAwMDAyOTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgIDgyCisweDAwMDAwMDAyOTgwMDAwMDAtMHgwMDAwMDAwMmE3ZmZmZmZmICAyNTZNIG9ubGluZSAgICAgICAgbm8gICA4My04NAorMHgwMDAwMDAwMmE4MDAwMDAwLTB4MDAwMDAwMDJjN2ZmZmZmZiAgNTEyTSBvbmxpbmUgICAgICAgeWVzICAgODUtODgKKzB4MDAwMDAwMDJjODAwMDAwMC0weDAwMDAwMDAyZGZmZmZmZmYgIDM4NE0gb25saW5lICAgICAgICBubyAgIDg5LTkxCisweDAwMDAwMDAyZTAwMDAwMDAtMHgwMDAwMDAwMmVmZmZmZmZmICAyNTZNIG9ubGluZSAgICAgICB5ZXMgICA5Mi05MworMHgwMDAwMDAwMmYwMDAwMDAwLTB4MDAwMDAwMDM0ZmZmZmZmZiAgMS41RyBvbmxpbmUgICAgICAgIG5vICA5NC0xMDUKKzB4MDAwMDAwMDM1MDAwMDAwMC0weDAwMDAwMDAzNTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgMTA2CisweDAwMDAwMDAzNTgwMDAwMDAtMHgwMDAwMDAwMzZmZmZmZmZmICAzODRNIG9ubGluZSAgICAgICAgbm8gMTA3LTEwOQorMHgwMDAwMDAwMzcwMDAwMDAwLTB4MDAwMDAwMDM3N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgICAxMTAKKzB4MDAwMDAwMDM3ODAwMDAwMC0weDAwMDAwMDAzYzdmZmZmZmYgIDEuM0cgb25saW5lICAgICAgICBubyAxMTEtMTIwCisweDAwMDAwMDAzYzgwMDAwMDAtMHgwMDAwMDAwM2U3ZmZmZmZmICA1MTJNIG9ubGluZSAgICAgICB5ZXMgMTIxLTEyNAorMHgwMDAwMDAwM2U4MDAwMDAwLTB4MDAwMDAwMDQyZmZmZmZmZiAgMS4xRyBvbmxpbmUgICAgICAgIG5vIDEyNS0xMzMKKzB4MDAwMDAwMDQzMDAwMDAwMC0weDAwMDAwMDA0MzdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgMTM0CisweDAwMDAwMDA0MzgwMDAwMDAtMHgwMDAwMDAwNDNmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgIDEzNQorCitNZW1vcnkgYmxvY2sgc2l6ZTogICAgICAgMTI4TQorVG90YWwgb25saW5lIG1lbW9yeTogICAgICAxNkcKK1RvdGFsIG9mZmxpbmUgbWVtb3J5OiAgICAgIDBCCisKKy0tLQorCiskIGxzbWVtIC0tb3V0cHV0IFJBTkdFLFNJWkUgLS1zcGxpdCBub25lCitSQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNJWkUKKzB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwYmZmZmZmZmYgICAzRworMHgwMDAwMDAwMTAwMDAwMDAwLTB4MDAwMDAwMDQzZmZmZmZmZiAgMTNHCisKK01lbW9yeSBibG9jayBzaXplOiAgICAgICAxMjhNCitUb3RhbCBvbmxpbmUgbWVtb3J5OiAgICAgIDE2RworVG90YWwgb2ZmbGluZSBtZW1vcnk6ICAgICAgMEIKKworLS0tCisKKyQgbHNtZW0gLS1vdXRwdXQgUkFOR0UsU0laRSxTVEFURSAtLXNwbGl0IFNUQVRFCitSQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNJWkUgIFNUQVRFCisweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMGJmZmZmZmZmICAgM0cgb25saW5lCisweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwNDNmZmZmZmZmICAxM0cgb25saW5lCisKK01lbW9yeSBibG9jayBzaXplOiAgICAgICAxMjhNCitUb3RhbCBvbmxpbmUgbWVtb3J5OiAgICAgIDE2RworVG90YWwgb2ZmbGluZSBtZW1vcnk6ICAgICAgMEIKKworLS0tCisKKyQgbHNtZW0gLS1hbGwgLS1vdXRwdXQgUkFOR0UsU0laRSxTVEFURSxSRU1PVkFCTEUsQkxPQ0ssTk9ERQorUkFOR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0laRSAgU1RBVEUgUkVNT1ZBQkxFIEJMT0NLIE5PREUKKzB4MDAwMDAwMDAwMDAwMDAwMC0weDAwMDAwMDAwMDdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICAgMCAgICAwCisweDAwMDAwMDAwMDgwMDAwMDAtMHgwMDAwMDAwMDBmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgIDEgICAgMAorMHgwMDAwMDAwMDEwMDAwMDAwLTB4MDAwMDAwMDAxN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgICAyICAgIDAKKzB4MDAwMDAwMDAxODAwMDAwMC0weDAwMDAwMDAwMWZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgMyAgICAwCisweDAwMDAwMDAwMjAwMDAwMDAtMHgwMDAwMDAwMDI3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgIDQgICAgMAorMHgwMDAwMDAwMDI4MDAwMDAwLTB4MDAwMDAwMDAyZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgICA1ICAgIDAKKzB4MDAwMDAwMDAzMDAwMDAwMC0weDAwMDAwMDAwMzdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgNiAgICAwCisweDAwMDAwMDAwMzgwMDAwMDAtMHgwMDAwMDAwMDNmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgIDcgICAgMAorMHgwMDAwMDAwMDQwMDAwMDAwLTB4MDAwMDAwMDA0N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgICA4ICAgIDAKKzB4MDAwMDAwMDA0ODAwMDAwMC0weDAwMDAwMDAwNGZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgOSAgICAwCisweDAwMDAwMDAwNTAwMDAwMDAtMHgwMDAwMDAwMDU3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgMTAgICAgMAorMHgwMDAwMDAwMDU4MDAwMDAwLTB4MDAwMDAwMDA1ZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDExICAgIDAKKzB4MDAwMDAwMDA2MDAwMDAwMC0weDAwMDAwMDAwNjdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAxMiAgICAwCisweDAwMDAwMDAwNjgwMDAwMDAtMHgwMDAwMDAwMDZmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgMTMgICAgMAorMHgwMDAwMDAwMDcwMDAwMDAwLTB4MDAwMDAwMDA3N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDE0ICAgIDAKKzB4MDAwMDAwMDA3ODAwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICAxNSAgICAwCisweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwMDg3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgMTYgICAgMAorMHgwMDAwMDAwMDg4MDAwMDAwLTB4MDAwMDAwMDA4ZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDE3ICAgIDAKKzB4MDAwMDAwMDA5MDAwMDAwMC0weDAwMDAwMDAwOTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAxOCAgICAwCisweDAwMDAwMDAwOTgwMDAwMDAtMHgwMDAwMDAwMDlmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgMTkgICAgMAorMHgwMDAwMDAwMGEwMDAwMDAwLTB4MDAwMDAwMDBhN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDIwICAgIDAKKzB4MDAwMDAwMDBhODAwMDAwMC0weDAwMDAwMDAwYWZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAyMSAgICAwCisweDAwMDAwMDAwYjAwMDAwMDAtMHgwMDAwMDAwMGI3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgMjIgICAgMAorMHgwMDAwMDAwMGI4MDAwMDAwLTB4MDAwMDAwMDBiZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDIzICAgIDAKKzB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDAxMDdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICAzMiAgICAwCisweDAwMDAwMDAxMDgwMDAwMDAtMHgwMDAwMDAwMTBmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgMzMgICAgMAorMHgwMDAwMDAwMTEwMDAwMDAwLTB4MDAwMDAwMDExN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDM0ICAgIDAKKzB4MDAwMDAwMDExODAwMDAwMC0weDAwMDAwMDAxMWZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICAzNSAgICAwCisweDAwMDAwMDAxMjAwMDAwMDAtMHgwMDAwMDAwMTI3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgMzYgICAgMAorMHgwMDAwMDAwMTI4MDAwMDAwLTB4MDAwMDAwMDEyZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDM3ICAgIDAKKzB4MDAwMDAwMDEzMDAwMDAwMC0weDAwMDAwMDAxMzdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICAzOCAgICAwCisweDAwMDAwMDAxMzgwMDAwMDAtMHgwMDAwMDAwMTNmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgMzkgICAgMAorMHgwMDAwMDAwMTQwMDAwMDAwLTB4MDAwMDAwMDE0N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDQwICAgIDAKKzB4MDAwMDAwMDE0ODAwMDAwMC0weDAwMDAwMDAxNGZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA0MSAgICAwCisweDAwMDAwMDAxNTAwMDAwMDAtMHgwMDAwMDAwMTU3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgNDIgICAgMAorMHgwMDAwMDAwMTU4MDAwMDAwLTB4MDAwMDAwMDE1ZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDQzICAgIDAKKzB4MDAwMDAwMDE2MDAwMDAwMC0weDAwMDAwMDAxNjdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA0NCAgICAwCisweDAwMDAwMDAxNjgwMDAwMDAtMHgwMDAwMDAwMTZmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgNDUgICAgMAorMHgwMDAwMDAwMTcwMDAwMDAwLTB4MDAwMDAwMDE3N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDQ2ICAgIDAKKzB4MDAwMDAwMDE3ODAwMDAwMC0weDAwMDAwMDAxN2ZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA0NyAgICAwCisweDAwMDAwMDAxODAwMDAwMDAtMHgwMDAwMDAwMTg3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgNDggICAgMAorMHgwMDAwMDAwMTg4MDAwMDAwLTB4MDAwMDAwMDE4ZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDQ5ICAgIDAKKzB4MDAwMDAwMDE5MDAwMDAwMC0weDAwMDAwMDAxOTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA1MCAgICAwCisweDAwMDAwMDAxOTgwMDAwMDAtMHgwMDAwMDAwMTlmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgNTEgICAgMAorMHgwMDAwMDAwMWEwMDAwMDAwLTB4MDAwMDAwMDFhN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDUyICAgIDAKKzB4MDAwMDAwMDFhODAwMDAwMC0weDAwMDAwMDAxYWZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA1MyAgICAwCisweDAwMDAwMDAxYjAwMDAwMDAtMHgwMDAwMDAwMWI3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgNTQgICAgMAorMHgwMDAwMDAwMWI4MDAwMDAwLTB4MDAwMDAwMDFiZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDU1ICAgIDAKKzB4MDAwMDAwMDFjMDAwMDAwMC0weDAwMDAwMDAxYzdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA1NiAgICAwCisweDAwMDAwMDAxYzgwMDAwMDAtMHgwMDAwMDAwMWNmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgNTcgICAgMAorMHgwMDAwMDAwMWQwMDAwMDAwLTB4MDAwMDAwMDFkN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDU4ICAgIDAKKzB4MDAwMDAwMDFkODAwMDAwMC0weDAwMDAwMDAxZGZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA1OSAgICAwCisweDAwMDAwMDAxZTAwMDAwMDAtMHgwMDAwMDAwMWU3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgNjAgICAgMAorMHgwMDAwMDAwMWU4MDAwMDAwLTB4MDAwMDAwMDFlZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDYxICAgIDAKKzB4MDAwMDAwMDFmMDAwMDAwMC0weDAwMDAwMDAxZjdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA2MiAgICAwCisweDAwMDAwMDAxZjgwMDAwMDAtMHgwMDAwMDAwMWZmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgNjMgICAgMAorMHgwMDAwMDAwMjAwMDAwMDAwLTB4MDAwMDAwMDIwN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDY0ICAgIDAKKzB4MDAwMDAwMDIwODAwMDAwMC0weDAwMDAwMDAyMGZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA2NSAgICAwCisweDAwMDAwMDAyMTAwMDAwMDAtMHgwMDAwMDAwMjE3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgNjYgICAgMAorMHgwMDAwMDAwMjE4MDAwMDAwLTB4MDAwMDAwMDIxZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDY3ICAgIDAKKzB4MDAwMDAwMDIyMDAwMDAwMC0weDAwMDAwMDAyMjdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA2OCAgICAwCisweDAwMDAwMDAyMjgwMDAwMDAtMHgwMDAwMDAwMjJmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgNjkgICAgMAorMHgwMDAwMDAwMjMwMDAwMDAwLTB4MDAwMDAwMDIzN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDcwICAgIDAKKzB4MDAwMDAwMDIzODAwMDAwMC0weDAwMDAwMDAyM2ZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA3MSAgICAwCisweDAwMDAwMDAyNDAwMDAwMDAtMHgwMDAwMDAwMjQ3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgNzIgICAgMAorMHgwMDAwMDAwMjQ4MDAwMDAwLTB4MDAwMDAwMDI0ZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDczICAgIDAKKzB4MDAwMDAwMDI1MDAwMDAwMC0weDAwMDAwMDAyNTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA3NCAgICAwCisweDAwMDAwMDAyNTgwMDAwMDAtMHgwMDAwMDAwMjVmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgNzUgICAgMAorMHgwMDAwMDAwMjYwMDAwMDAwLTB4MDAwMDAwMDI2N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDc2ICAgIDAKKzB4MDAwMDAwMDI2ODAwMDAwMC0weDAwMDAwMDAyNmZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA3NyAgICAwCisweDAwMDAwMDAyNzAwMDAwMDAtMHgwMDAwMDAwMjc3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgNzggICAgMAorMHgwMDAwMDAwMjc4MDAwMDAwLTB4MDAwMDAwMDI3ZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDc5ICAgIDAKKzB4MDAwMDAwMDI4MDAwMDAwMC0weDAwMDAwMDAyODdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA4MCAgICAwCisweDAwMDAwMDAyODgwMDAwMDAtMHgwMDAwMDAwMjhmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgODEgICAgMAorMHgwMDAwMDAwMjkwMDAwMDAwLTB4MDAwMDAwMDI5N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDgyICAgIDAKKzB4MDAwMDAwMDI5ODAwMDAwMC0weDAwMDAwMDAyOWZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA4MyAgICAwCisweDAwMDAwMDAyYTAwMDAwMDAtMHgwMDAwMDAwMmE3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgODQgICAgMAorMHgwMDAwMDAwMmE4MDAwMDAwLTB4MDAwMDAwMDJhZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDg1ICAgIDAKKzB4MDAwMDAwMDJiMDAwMDAwMC0weDAwMDAwMDAyYjdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA4NiAgICAwCisweDAwMDAwMDAyYjgwMDAwMDAtMHgwMDAwMDAwMmJmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgODcgICAgMAorMHgwMDAwMDAwMmMwMDAwMDAwLTB4MDAwMDAwMDJjN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgIDg4ICAgIDAKKzB4MDAwMDAwMDJjODAwMDAwMC0weDAwMDAwMDAyY2ZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA4OSAgICAwCisweDAwMDAwMDAyZDAwMDAwMDAtMHgwMDAwMDAwMmQ3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgOTAgICAgMAorMHgwMDAwMDAwMmQ4MDAwMDAwLTB4MDAwMDAwMDJkZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDkxICAgIDAKKzB4MDAwMDAwMDJlMDAwMDAwMC0weDAwMDAwMDAyZTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICA5MiAgICAwCisweDAwMDAwMDAyZTgwMDAwMDAtMHgwMDAwMDAwMmVmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgOTMgICAgMAorMHgwMDAwMDAwMmYwMDAwMDAwLTB4MDAwMDAwMDJmN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDk0ICAgIDAKKzB4MDAwMDAwMDJmODAwMDAwMC0weDAwMDAwMDAyZmZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA5NSAgICAwCisweDAwMDAwMDAzMDAwMDAwMDAtMHgwMDAwMDAwMzA3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgOTYgICAgMAorMHgwMDAwMDAwMzA4MDAwMDAwLTB4MDAwMDAwMDMwZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgIDk3ICAgIDAKKzB4MDAwMDAwMDMxMDAwMDAwMC0weDAwMDAwMDAzMTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICA5OCAgICAwCisweDAwMDAwMDAzMTgwMDAwMDAtMHgwMDAwMDAwMzFmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgOTkgICAgMAorMHgwMDAwMDAwMzIwMDAwMDAwLTB4MDAwMDAwMDMyN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTAwICAgIDAKKzB4MDAwMDAwMDMyODAwMDAwMC0weDAwMDAwMDAzMmZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDEwMSAgICAwCisweDAwMDAwMDAzMzAwMDAwMDAtMHgwMDAwMDAwMzM3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMDIgICAgMAorMHgwMDAwMDAwMzM4MDAwMDAwLTB4MDAwMDAwMDMzZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTAzICAgIDAKKzB4MDAwMDAwMDM0MDAwMDAwMC0weDAwMDAwMDAzNDdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDEwNCAgICAwCisweDAwMDAwMDAzNDgwMDAwMDAtMHgwMDAwMDAwMzRmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMDUgICAgMAorMHgwMDAwMDAwMzUwMDAwMDAwLTB4MDAwMDAwMDM1N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgMTA2ICAgIDAKKzB4MDAwMDAwMDM1ODAwMDAwMC0weDAwMDAwMDAzNWZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDEwNyAgICAwCisweDAwMDAwMDAzNjAwMDAwMDAtMHgwMDAwMDAwMzY3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMDggICAgMAorMHgwMDAwMDAwMzY4MDAwMDAwLTB4MDAwMDAwMDM2ZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTA5ICAgIDAKKzB4MDAwMDAwMDM3MDAwMDAwMC0weDAwMDAwMDAzNzdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgIDExMCAgICAwCisweDAwMDAwMDAzNzgwMDAwMDAtMHgwMDAwMDAwMzdmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMTEgICAgMAorMHgwMDAwMDAwMzgwMDAwMDAwLTB4MDAwMDAwMDM4N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTEyICAgIDAKKzB4MDAwMDAwMDM4ODAwMDAwMC0weDAwMDAwMDAzOGZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDExMyAgICAwCisweDAwMDAwMDAzOTAwMDAwMDAtMHgwMDAwMDAwMzk3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMTQgICAgMAorMHgwMDAwMDAwMzk4MDAwMDAwLTB4MDAwMDAwMDM5ZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTE1ICAgIDAKKzB4MDAwMDAwMDNhMDAwMDAwMC0weDAwMDAwMDAzYTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDExNiAgICAwCisweDAwMDAwMDAzYTgwMDAwMDAtMHgwMDAwMDAwM2FmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMTcgICAgMAorMHgwMDAwMDAwM2IwMDAwMDAwLTB4MDAwMDAwMDNiN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTE4ICAgIDAKKzB4MDAwMDAwMDNiODAwMDAwMC0weDAwMDAwMDAzYmZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDExOSAgICAwCisweDAwMDAwMDAzYzAwMDAwMDAtMHgwMDAwMDAwM2M3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMjAgICAgMAorMHgwMDAwMDAwM2M4MDAwMDAwLTB4MDAwMDAwMDNjZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgMTIxICAgIDAKKzB4MDAwMDAwMDNkMDAwMDAwMC0weDAwMDAwMDAzZDdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgIDEyMiAgICAwCisweDAwMDAwMDAzZDgwMDAwMDAtMHgwMDAwMDAwM2RmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAxMjMgICAgMAorMHgwMDAwMDAwM2UwMDAwMDAwLTB4MDAwMDAwMDNlN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgMTI0ICAgIDAKKzB4MDAwMDAwMDNlODAwMDAwMC0weDAwMDAwMDAzZWZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDEyNSAgICAwCisweDAwMDAwMDAzZjAwMDAwMDAtMHgwMDAwMDAwM2Y3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMjYgICAgMAorMHgwMDAwMDAwM2Y4MDAwMDAwLTB4MDAwMDAwMDNmZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTI3ICAgIDAKKzB4MDAwMDAwMDQwMDAwMDAwMC0weDAwMDAwMDA0MDdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDEyOCAgICAwCisweDAwMDAwMDA0MDgwMDAwMDAtMHgwMDAwMDAwNDBmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMjkgICAgMAorMHgwMDAwMDAwNDEwMDAwMDAwLTB4MDAwMDAwMDQxN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTMwICAgIDAKKzB4MDAwMDAwMDQxODAwMDAwMC0weDAwMDAwMDA0MWZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgIDEzMSAgICAwCisweDAwMDAwMDA0MjAwMDAwMDAtMHgwMDAwMDAwNDI3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMzIgICAgMAorMHgwMDAwMDAwNDI4MDAwMDAwLTB4MDAwMDAwMDQyZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgMTMzICAgIDAKKzB4MDAwMDAwMDQzMDAwMDAwMC0weDAwMDAwMDA0MzdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgIDEzNCAgICAwCisweDAwMDAwMDA0MzgwMDAwMDAtMHgwMDAwMDAwNDNmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAxMzUgICAgMAorCitNZW1vcnkgYmxvY2sgc2l6ZTogICAgICAgMTI4TQorVG90YWwgb25saW5lIG1lbW9yeTogICAgICAxNkcKK1RvdGFsIG9mZmxpbmUgbWVtb3J5OiAgICAgIDBCCisKKy0tLQorCiskIGxzbWVtIC0tcmF3IC0tb3V0cHV0IFJBTkdFLFNJWkUsU1RBVEUsUkVNT1ZBQkxFLEJMT0NLLE5PREUgLS1zcGxpdCBSQU5HRSxTSVpFLFNUQVRFLFJFTU9WQUJMRSxCTE9DSyxOT0RFCitSQU5HRSBTSVpFIFNUQVRFIFJFTU9WQUJMRSBCTE9DSyBOT0RFCisweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDA3ZmZmZmZmIDEyOE0gb25saW5lIG5vIDAgMAorMHgwMDAwMDAwMDA4MDAwMDAwLTB4MDAwMDAwMDAzN2ZmZmZmZiA3NjhNIG9ubGluZSB5ZXMgMS02IDAKKzB4MDAwMDAwMDAzODAwMDAwMC0weDAwMDAwMDAwM2ZmZmZmZmYgMTI4TSBvbmxpbmUgbm8gNyAwCisweDAwMDAwMDAwNDAwMDAwMDAtMHgwMDAwMDAwMDc3ZmZmZmZmIDg5Nk0gb25saW5lIHllcyA4LTE0IDAKKzB4MDAwMDAwMDA3ODAwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmYgMTI4TSBvbmxpbmUgbm8gMTUgMAorMHgwMDAwMDAwMDgwMDAwMDAwLTB4MDAwMDAwMDBhZmZmZmZmZiA3NjhNIG9ubGluZSB5ZXMgMTYtMjEgMAorMHgwMDAwMDAwMGIwMDAwMDAwLTB4MDAwMDAwMDBiZmZmZmZmZiAyNTZNIG9ubGluZSBubyAyMi0yMyAwCisweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwMWE3ZmZmZmZmIDIuNkcgb25saW5lIG5vIDMyLTUyIDAKKzB4MDAwMDAwMDFhODAwMDAwMC0weDAwMDAwMDAxYWZmZmZmZmYgMTI4TSBvbmxpbmUgeWVzIDUzIDAKKzB4MDAwMDAwMDFiMDAwMDAwMC0weDAwMDAwMDAxYmZmZmZmZmYgMjU2TSBvbmxpbmUgbm8gNTQtNTUgMAorMHgwMDAwMDAwMWMwMDAwMDAwLTB4MDAwMDAwMDFmZmZmZmZmZiAxRyBvbmxpbmUgeWVzIDU2LTYzIDAKKzB4MDAwMDAwMDIwMDAwMDAwMC0weDAwMDAwMDAyMDdmZmZmZmYgMTI4TSBvbmxpbmUgbm8gNjQgMAorMHgwMDAwMDAwMjA4MDAwMDAwLTB4MDAwMDAwMDIxZmZmZmZmZiAzODRNIG9ubGluZSB5ZXMgNjUtNjcgMAorMHgwMDAwMDAwMjIwMDAwMDAwLTB4MDAwMDAwMDIzN2ZmZmZmZiAzODRNIG9ubGluZSBubyA2OC03MCAwCisweDAwMDAwMDAyMzgwMDAwMDAtMHgwMDAwMDAwMjc3ZmZmZmZmIDFHIG9ubGluZSB5ZXMgNzEtNzggMAorMHgwMDAwMDAwMjc4MDAwMDAwLTB4MDAwMDAwMDI4ZmZmZmZmZiAzODRNIG9ubGluZSBubyA3OS04MSAwCisweDAwMDAwMDAyOTAwMDAwMDAtMHgwMDAwMDAwMjk3ZmZmZmZmIDEyOE0gb25saW5lIHllcyA4MiAwCisweDAwMDAwMDAyOTgwMDAwMDAtMHgwMDAwMDAwMmE3ZmZmZmZmIDI1Nk0gb25saW5lIG5vIDgzLTg0IDAKKzB4MDAwMDAwMDJhODAwMDAwMC0weDAwMDAwMDAyYzdmZmZmZmYgNTEyTSBvbmxpbmUgeWVzIDg1LTg4IDAKKzB4MDAwMDAwMDJjODAwMDAwMC0weDAwMDAwMDAyZGZmZmZmZmYgMzg0TSBvbmxpbmUgbm8gODktOTEgMAorMHgwMDAwMDAwMmUwMDAwMDAwLTB4MDAwMDAwMDJlZmZmZmZmZiAyNTZNIG9ubGluZSB5ZXMgOTItOTMgMAorMHgwMDAwMDAwMmYwMDAwMDAwLTB4MDAwMDAwMDM0ZmZmZmZmZiAxLjVHIG9ubGluZSBubyA5NC0xMDUgMAorMHgwMDAwMDAwMzUwMDAwMDAwLTB4MDAwMDAwMDM1N2ZmZmZmZiAxMjhNIG9ubGluZSB5ZXMgMTA2IDAKKzB4MDAwMDAwMDM1ODAwMDAwMC0weDAwMDAwMDAzNmZmZmZmZmYgMzg0TSBvbmxpbmUgbm8gMTA3LTEwOSAwCisweDAwMDAwMDAzNzAwMDAwMDAtMHgwMDAwMDAwMzc3ZmZmZmZmIDEyOE0gb25saW5lIHllcyAxMTAgMAorMHgwMDAwMDAwMzc4MDAwMDAwLTB4MDAwMDAwMDNjN2ZmZmZmZiAxLjNHIG9ubGluZSBubyAxMTEtMTIwIDAKKzB4MDAwMDAwMDNjODAwMDAwMC0weDAwMDAwMDAzZTdmZmZmZmYgNTEyTSBvbmxpbmUgeWVzIDEyMS0xMjQgMAorMHgwMDAwMDAwM2U4MDAwMDAwLTB4MDAwMDAwMDQyZmZmZmZmZiAxLjFHIG9ubGluZSBubyAxMjUtMTMzIDAKKzB4MDAwMDAwMDQzMDAwMDAwMC0weDAwMDAwMDA0MzdmZmZmZmYgMTI4TSBvbmxpbmUgeWVzIDEzNCAwCisweDAwMDAwMDA0MzgwMDAwMDAtMHgwMDAwMDAwNDNmZmZmZmZmIDEyOE0gb25saW5lIG5vIDEzNSAwCisKKy0tLQorCiskIGxzbWVtIC0tanNvbiAtLW91dHB1dCBSQU5HRSxTSVpFLFNUQVRFLFJFTU9WQUJMRSxCTE9DSyxOT0RFIC0tc3BsaXQgUkFOR0UsU0laRSxTVEFURSxSRU1PVkFCTEUsQkxPQ0ssTk9ERQoreworICAgIm1lbW9yeSI6IFsKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDA3ZmZmZmZmIiwgInNpemUiOiIxMjhNIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6ZmFsc2UsICJibG9jayI6IjAiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMDA4MDAwMDAwLTB4MDAwMDAwMDAzN2ZmZmZmZiIsICJzaXplIjoiNzY4TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOnRydWUsICJibG9jayI6IjEtNiIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAwMzgwMDAwMDAtMHgwMDAwMDAwMDNmZmZmZmZmIiwgInNpemUiOiIxMjhNIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6ZmFsc2UsICJibG9jayI6IjciLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMDQwMDAwMDAwLTB4MDAwMDAwMDA3N2ZmZmZmZiIsICJzaXplIjoiODk2TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOnRydWUsICJibG9jayI6IjgtMTQiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMDc4MDAwMDAwLTB4MDAwMDAwMDA3ZmZmZmZmZiIsICJzaXplIjoiMTI4TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOmZhbHNlLCAiYmxvY2siOiIxNSIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwMGFmZmZmZmZmIiwgInNpemUiOiI3NjhNIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6dHJ1ZSwgImJsb2NrIjoiMTYtMjEiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMGIwMDAwMDAwLTB4MDAwMDAwMDBiZmZmZmZmZiIsICJzaXplIjoiMjU2TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOmZhbHNlLCAiYmxvY2siOiIyMi0yMyIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAxMDAwMDAwMDAtMHgwMDAwMDAwMWE3ZmZmZmZmIiwgInNpemUiOiIyLjZHIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6ZmFsc2UsICJibG9jayI6IjMyLTUyIiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDFhODAwMDAwMC0weDAwMDAwMDAxYWZmZmZmZmYiLCAic2l6ZSI6IjEyOE0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjp0cnVlLCAiYmxvY2siOiI1MyIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAxYjAwMDAwMDAtMHgwMDAwMDAwMWJmZmZmZmZmIiwgInNpemUiOiIyNTZNIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6ZmFsc2UsICJibG9jayI6IjU0LTU1IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDFjMDAwMDAwMC0weDAwMDAwMDAxZmZmZmZmZmYiLCAic2l6ZSI6IjFHIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6dHJ1ZSwgImJsb2NrIjoiNTYtNjMiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMjAwMDAwMDAwLTB4MDAwMDAwMDIwN2ZmZmZmZiIsICJzaXplIjoiMTI4TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOmZhbHNlLCAiYmxvY2siOiI2NCIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAyMDgwMDAwMDAtMHgwMDAwMDAwMjFmZmZmZmZmIiwgInNpemUiOiIzODRNIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6dHJ1ZSwgImJsb2NrIjoiNjUtNjciLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMjIwMDAwMDAwLTB4MDAwMDAwMDIzN2ZmZmZmZiIsICJzaXplIjoiMzg0TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOmZhbHNlLCAiYmxvY2siOiI2OC03MCIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDAyMzgwMDAwMDAtMHgwMDAwMDAwMjc3ZmZmZmZmIiwgInNpemUiOiIxRyIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOnRydWUsICJibG9jayI6IjcxLTc4IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDI3ODAwMDAwMC0weDAwMDAwMDAyOGZmZmZmZmYiLCAic2l6ZSI6IjM4NE0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiNzktODEiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMjkwMDAwMDAwLTB4MDAwMDAwMDI5N2ZmZmZmZiIsICJzaXplIjoiMTI4TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOnRydWUsICJibG9jayI6IjgyIiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDI5ODAwMDAwMC0weDAwMDAwMDAyYTdmZmZmZmYiLCAic2l6ZSI6IjI1Nk0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiODMtODQiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMmE4MDAwMDAwLTB4MDAwMDAwMDJjN2ZmZmZmZiIsICJzaXplIjoiNTEyTSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOnRydWUsICJibG9jayI6Ijg1LTg4IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDJjODAwMDAwMC0weDAwMDAwMDAyZGZmZmZmZmYiLCAic2l6ZSI6IjM4NE0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiODktOTEiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMmUwMDAwMDAwLTB4MDAwMDAwMDJlZmZmZmZmZiIsICJzaXplIjoiMjU2TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOnRydWUsICJibG9jayI6IjkyLTkzIiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDJmMDAwMDAwMC0weDAwMDAwMDAzNGZmZmZmZmYiLCAic2l6ZSI6IjEuNUciLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiOTQtMTA1IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDM1MDAwMDAwMC0weDAwMDAwMDAzNTdmZmZmZmYiLCAic2l6ZSI6IjEyOE0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjp0cnVlLCAiYmxvY2siOiIxMDYiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMzU4MDAwMDAwLTB4MDAwMDAwMDM2ZmZmZmZmZiIsICJzaXplIjoiMzg0TSIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOmZhbHNlLCAiYmxvY2siOiIxMDctMTA5IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDM3MDAwMDAwMC0weDAwMDAwMDAzNzdmZmZmZmYiLCAic2l6ZSI6IjEyOE0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjp0cnVlLCAiYmxvY2siOiIxMTAiLCAibm9kZSI6MH0sCisgICAgICB7InJhbmdlIjoiMHgwMDAwMDAwMzc4MDAwMDAwLTB4MDAwMDAwMDNjN2ZmZmZmZiIsICJzaXplIjoiMS4zRyIsICJzdGF0ZSI6Im9ubGluZSIsICJyZW1vdmFibGUiOmZhbHNlLCAiYmxvY2siOiIxMTEtMTIwIiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDNjODAwMDAwMC0weDAwMDAwMDAzZTdmZmZmZmYiLCAic2l6ZSI6IjUxMk0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjp0cnVlLCAiYmxvY2siOiIxMjEtMTI0IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDNlODAwMDAwMC0weDAwMDAwMDA0MmZmZmZmZmYiLCAic2l6ZSI6IjEuMUciLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiMTI1LTEzMyIsICJub2RlIjowfSwKKyAgICAgIHsicmFuZ2UiOiIweDAwMDAwMDA0MzAwMDAwMDAtMHgwMDAwMDAwNDM3ZmZmZmZmIiwgInNpemUiOiIxMjhNIiwgInN0YXRlIjoib25saW5lIiwgInJlbW92YWJsZSI6dHJ1ZSwgImJsb2NrIjoiMTM0IiwgIm5vZGUiOjB9LAorICAgICAgeyJyYW5nZSI6IjB4MDAwMDAwMDQzODAwMDAwMC0weDAwMDAwMDA0M2ZmZmZmZmYiLCAic2l6ZSI6IjEyOE0iLCAic3RhdGUiOiJvbmxpbmUiLCAicmVtb3ZhYmxlIjpmYWxzZSwgImJsb2NrIjoiMTM1IiwgIm5vZGUiOjB9CisgICBdCit9CisKKy0tLQorCiskIGxzbWVtIC1vICtaT05FUworUkFOR0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0laRSAgU1RBVEUgUkVNT1ZBQkxFICAgQkxPQ0sgIFpPTkVTCisweDAwMDAwMDAwMDAwMDAwMDAtMHgwMDAwMDAwMDA3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgICAgMCAgIE5vbmUKKzB4MDAwMDAwMDAwODAwMDAwMC0weDAwMDAwMDAwMzdmZmZmZmYgIDc2OE0gb25saW5lICAgICAgIHllcyAgICAgMS02ICBETUEzMgorMHgwMDAwMDAwMDM4MDAwMDAwLTB4MDAwMDAwMDAzZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgICAgIDcgIERNQTMyCisweDAwMDAwMDAwNDAwMDAwMDAtMHgwMDAwMDAwMDc3ZmZmZmZmICA4OTZNIG9ubGluZSAgICAgICB5ZXMgICAgOC0xNCAgRE1BMzIKKzB4MDAwMDAwMDA3ODAwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICAgIDE1ICBETUEzMgorMHgwMDAwMDAwMDgwMDAwMDAwLTB4MDAwMDAwMDBhZmZmZmZmZiAgNzY4TSBvbmxpbmUgICAgICAgeWVzICAgMTYtMjEgIERNQTMyCisweDAwMDAwMDAwYjAwMDAwMDAtMHgwMDAwMDAwMGJmZmZmZmZmICAyNTZNIG9ubGluZSAgICAgICAgbm8gICAyMi0yMyAgRE1BMzIKKzB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDAxYTdmZmZmZmYgIDIuNkcgb25saW5lICAgICAgICBubyAgIDMyLTUyIE5vcm1hbAorMHgwMDAwMDAwMWE4MDAwMDAwLTB4MDAwMDAwMDFhZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgICAgNTMgTm9ybWFsCisweDAwMDAwMDAxYjAwMDAwMDAtMHgwMDAwMDAwMWJmZmZmZmZmICAyNTZNIG9ubGluZSAgICAgICAgbm8gICA1NC01NSBOb3JtYWwKKzB4MDAwMDAwMDFjMDAwMDAwMC0weDAwMDAwMDAxZmZmZmZmZmYgICAgMUcgb25saW5lICAgICAgIHllcyAgIDU2LTYzIE5vcm1hbAorMHgwMDAwMDAwMjAwMDAwMDAwLTB4MDAwMDAwMDIwN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgICAgNjQgTm9ybWFsCisweDAwMDAwMDAyMDgwMDAwMDAtMHgwMDAwMDAwMjFmZmZmZmZmICAzODRNIG9ubGluZSAgICAgICB5ZXMgICA2NS02NyBOb3JtYWwKKzB4MDAwMDAwMDIyMDAwMDAwMC0weDAwMDAwMDAyMzdmZmZmZmYgIDM4NE0gb25saW5lICAgICAgICBubyAgIDY4LTcwIE5vcm1hbAorMHgwMDAwMDAwMjM4MDAwMDAwLTB4MDAwMDAwMDI3N2ZmZmZmZiAgICAxRyBvbmxpbmUgICAgICAgeWVzICAgNzEtNzggTm9ybWFsCisweDAwMDAwMDAyNzgwMDAwMDAtMHgwMDAwMDAwMjhmZmZmZmZmICAzODRNIG9ubGluZSAgICAgICAgbm8gICA3OS04MSBOb3JtYWwKKzB4MDAwMDAwMDI5MDAwMDAwMC0weDAwMDAwMDAyOTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgIDgyIE5vcm1hbAorMHgwMDAwMDAwMjk4MDAwMDAwLTB4MDAwMDAwMDJhN2ZmZmZmZiAgMjU2TSBvbmxpbmUgICAgICAgIG5vICAgODMtODQgTm9ybWFsCisweDAwMDAwMDAyYTgwMDAwMDAtMHgwMDAwMDAwMmM3ZmZmZmZmICA1MTJNIG9ubGluZSAgICAgICB5ZXMgICA4NS04OCBOb3JtYWwKKzB4MDAwMDAwMDJjODAwMDAwMC0weDAwMDAwMDAyZGZmZmZmZmYgIDM4NE0gb25saW5lICAgICAgICBubyAgIDg5LTkxIE5vcm1hbAorMHgwMDAwMDAwMmUwMDAwMDAwLTB4MDAwMDAwMDJlZmZmZmZmZiAgMjU2TSBvbmxpbmUgICAgICAgeWVzICAgOTItOTMgTm9ybWFsCisweDAwMDAwMDAyZjAwMDAwMDAtMHgwMDAwMDAwMzRmZmZmZmZmICAxLjVHIG9ubGluZSAgICAgICAgbm8gIDk0LTEwNSBOb3JtYWwKKzB4MDAwMDAwMDM1MDAwMDAwMC0weDAwMDAwMDAzNTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgMTA2IE5vcm1hbAorMHgwMDAwMDAwMzU4MDAwMDAwLTB4MDAwMDAwMDM2ZmZmZmZmZiAgMzg0TSBvbmxpbmUgICAgICAgIG5vIDEwNy0xMDkgTm9ybWFsCisweDAwMDAwMDAzNzAwMDAwMDAtMHgwMDAwMDAwMzc3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgIDExMCBOb3JtYWwKKzB4MDAwMDAwMDM3ODAwMDAwMC0weDAwMDAwMDAzYzdmZmZmZmYgIDEuM0cgb25saW5lICAgICAgICBubyAxMTEtMTIwIE5vcm1hbAorMHgwMDAwMDAwM2M4MDAwMDAwLTB4MDAwMDAwMDNlN2ZmZmZmZiAgNTEyTSBvbmxpbmUgICAgICAgeWVzIDEyMS0xMjQgTm9ybWFsCisweDAwMDAwMDAzZTgwMDAwMDAtMHgwMDAwMDAwNDJmZmZmZmZmICAxLjFHIG9ubGluZSAgICAgICAgbm8gMTI1LTEzMyBOb3JtYWwKKzB4MDAwMDAwMDQzMDAwMDAwMC0weDAwMDAwMDA0MzdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgMTM0IE5vcm1hbAorMHgwMDAwMDAwNDM4MDAwMDAwLTB4MDAwMDAwMDQzZmZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgICAxMzUgICBOb25lCisKK01lbW9yeSBibG9jayBzaXplOiAgICAgICAxMjhNCitUb3RhbCBvbmxpbmUgbWVtb3J5OiAgICAgIDE2RworVG90YWwgb2ZmbGluZSBtZW1vcnk6ICAgICAgMEIKKworLS0tCisKKyQgbHNtZW0gCitSQU5HRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTSVpFICBTVEFURSBSRU1PVkFCTEUgICBCTE9DSworMHgwMDAwMDAwMDAwMDAwMDAwLTB4MDAwMDAwMDAwN2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgIG5vICAgICAgIDAKKzB4MDAwMDAwMDAwODAwMDAwMC0weDAwMDAwMDAwMzdmZmZmZmYgIDc2OE0gb25saW5lICAgICAgIHllcyAgICAgMS02CisweDAwMDAwMDAwMzgwMDAwMDAtMHgwMDAwMDAwMDNmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgICAgNworMHgwMDAwMDAwMDQwMDAwMDAwLTB4MDAwMDAwMDA3N2ZmZmZmZiAgODk2TSBvbmxpbmUgICAgICAgeWVzICAgIDgtMTQKKzB4MDAwMDAwMDA3ODAwMDAwMC0weDAwMDAwMDAwN2ZmZmZmZmYgIDEyOE0gb25saW5lICAgICAgICBubyAgICAgIDE1CisweDAwMDAwMDAwODAwMDAwMDAtMHgwMDAwMDAwMGFmZmZmZmZmICA3NjhNIG9ubGluZSAgICAgICB5ZXMgICAxNi0yMQorMHgwMDAwMDAwMGIwMDAwMDAwLTB4MDAwMDAwMDBiZmZmZmZmZiAgMjU2TSBvbmxpbmUgICAgICAgIG5vICAgMjItMjMKKzB4MDAwMDAwMDEwMDAwMDAwMC0weDAwMDAwMDAxYTdmZmZmZmYgIDIuNkcgb25saW5lICAgICAgICBubyAgIDMyLTUyCisweDAwMDAwMDAxYTgwMDAwMDAtMHgwMDAwMDAwMWFmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICB5ZXMgICAgICA1MworMHgwMDAwMDAwMWIwMDAwMDAwLTB4MDAwMDAwMDFiZmZmZmZmZiAgMjU2TSBvbmxpbmUgICAgICAgIG5vICAgNTQtNTUKKzB4MDAwMDAwMDFjMDAwMDAwMC0weDAwMDAwMDAxZmZmZmZmZmYgICAgMUcgb25saW5lICAgICAgIHllcyAgIDU2LTYzCisweDAwMDAwMDAyMDAwMDAwMDAtMHgwMDAwMDAwMjA3ZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgICA2NAorMHgwMDAwMDAwMjA4MDAwMDAwLTB4MDAwMDAwMDIxZmZmZmZmZiAgMzg0TSBvbmxpbmUgICAgICAgeWVzICAgNjUtNjcKKzB4MDAwMDAwMDIyMDAwMDAwMC0weDAwMDAwMDAyMzdmZmZmZmYgIDM4NE0gb25saW5lICAgICAgICBubyAgIDY4LTcwCisweDAwMDAwMDAyMzgwMDAwMDAtMHgwMDAwMDAwMjc3ZmZmZmZmICAgIDFHIG9ubGluZSAgICAgICB5ZXMgICA3MS03OAorMHgwMDAwMDAwMjc4MDAwMDAwLTB4MDAwMDAwMDI4ZmZmZmZmZiAgMzg0TSBvbmxpbmUgICAgICAgIG5vICAgNzktODEKKzB4MDAwMDAwMDI5MDAwMDAwMC0weDAwMDAwMDAyOTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgIDgyCisweDAwMDAwMDAyOTgwMDAwMDAtMHgwMDAwMDAwMmE3ZmZmZmZmICAyNTZNIG9ubGluZSAgICAgICAgbm8gICA4My04NAorMHgwMDAwMDAwMmE4MDAwMDAwLTB4MDAwMDAwMDJjN2ZmZmZmZiAgNTEyTSBvbmxpbmUgICAgICAgeWVzICAgODUtODgKKzB4MDAwMDAwMDJjODAwMDAwMC0weDAwMDAwMDAyZGZmZmZmZmYgIDM4NE0gb25saW5lICAgICAgICBubyAgIDg5LTkxCisweDAwMDAwMDAyZTAwMDAwMDAtMHgwMDAwMDAwMmVmZmZmZmZmICAyNTZNIG9ubGluZSAgICAgICB5ZXMgICA5Mi05MworMHgwMDAwMDAwMmYwMDAwMDAwLTB4MDAwMDAwMDM0ZmZmZmZmZiAgMS41RyBvbmxpbmUgICAgICAgIG5vICA5NC0xMDUKKzB4MDAwMDAwMDM1MDAwMDAwMC0weDAwMDAwMDAzNTdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgMTA2CisweDAwMDAwMDAzNTgwMDAwMDAtMHgwMDAwMDAwMzZmZmZmZmZmICAzODRNIG9ubGluZSAgICAgICAgbm8gMTA3LTEwOQorMHgwMDAwMDAwMzcwMDAwMDAwLTB4MDAwMDAwMDM3N2ZmZmZmZiAgMTI4TSBvbmxpbmUgICAgICAgeWVzICAgICAxMTAKKzB4MDAwMDAwMDM3ODAwMDAwMC0weDAwMDAwMDAzYzdmZmZmZmYgIDEuM0cgb25saW5lICAgICAgICBubyAxMTEtMTIwCisweDAwMDAwMDAzYzgwMDAwMDAtMHgwMDAwMDAwM2U3ZmZmZmZmICA1MTJNIG9ubGluZSAgICAgICB5ZXMgMTIxLTEyNAorMHgwMDAwMDAwM2U4MDAwMDAwLTB4MDAwMDAwMDQyZmZmZmZmZiAgMS4xRyBvbmxpbmUgICAgICAgIG5vIDEyNS0xMzMKKzB4MDAwMDAwMDQzMDAwMDAwMC0weDAwMDAwMDA0MzdmZmZmZmYgIDEyOE0gb25saW5lICAgICAgIHllcyAgICAgMTM0CisweDAwMDAwMDA0MzgwMDAwMDAtMHgwMDAwMDAwNDNmZmZmZmZmICAxMjhNIG9ubGluZSAgICAgICAgbm8gICAgIDEzNQorCitNZW1vcnkgYmxvY2sgc2l6ZTogICAgICAgMTI4TQorVG90YWwgb25saW5lIG1lbW9yeTogICAgICAxNkcKK1RvdGFsIG9mZmxpbmUgbWVtb3J5OiAgICAgIDBCCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc25zL25ldG5zaWQgYi90ZXN0cy9leHBlY3RlZC9sc25zL25ldG5zaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTczNTQxYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzbnMvbmV0bnNpZApAQCAtMCwwICsxIEBACiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9sc25zL25zZnMgYi90ZXN0cy9leHBlY3RlZC9sc25zL25zZnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTczNTQxYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL2xzbnMvbnNmcwpAQCAtMCwwICsxIEBACiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tZDUvbWQ1IGIvdGVzdHMvZXhwZWN0ZWQvbWQ1L21kNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kNjU1OWE3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWQ1L21kNQpAQCAtMCwwICsxLDcgQEAKK2Q0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlCis5MDAxNTA5ODNjZDI0ZmIwZDY5NjNmN2QyOGUxN2Y3MgorNWViNmQ1ODBlNWY2OGZkZTY1YzM3NzhhZmI4ODI2ZmYKK2JkMWUxM2JkYWFiODI1ODFkNGRjMjk5ZWI5YTNkYTBmCitkODFlZTRmNTY3OTcyYTE4ZjkzMjY1NDBiNWQ4YWVhZgorOTU2MWJkMjA4YzAwNDFjNjczMDgwZWQ3NDQ5MTliODUKK2Q5OGQ1OGQ1NTYyY2E0ZGQ0N2YwZjBmZTg2YjJkNDhmCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZDY1ZDEyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjawpAQCAtMCwwICsxLDM3MCBAQAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4ICAgaW1hZ2UKKzE3MjggaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT01OCAoNTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCityZXR1cm4gbWtmczogMAorJCBmc2NrLm1pbml4IC1sYXZzZiBpbWFnZQorRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uIGltYWdlLgorMTcyOCBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTU4ICg1OCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCitGaWxlc3lzdGVtIHN0YXRlPTEKK25hbWVsZW49MzAKKworCisgICAgIDEgaW5vZGVzIHVzZWQgKDAlKQorICAgIDU5IHpvbmVzIHVzZWQgKDElKQorCisgICAgIDAgcmVndWxhciBmaWxlcworICAgICAxIGRpcmVjdG9yaWVzCisgICAgIDAgY2hhcmFjdGVyIGRldmljZSBmaWxlcworICAgICAwIGJsb2NrIGRldmljZSBmaWxlcworICAgICAwIGxpbmtzCisgICAgIDAgc3ltYm9saWMgbGlua3MKKy0tLS0tLQorICAgICAxIGZpbGVzCityZXR1cm4gZnNjazogMAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4ICAtbiAxNCBpbWFnZQorMTcyOCBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTU4ICg1OCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK3JldHVybiBta2ZzOiAwCiskIGZzY2subWluaXggLWxhdnNmIGltYWdlCitGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gaW1hZ2UuCisxNzI4IGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NTggKDU4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKK0ZpbGVzeXN0ZW0gc3RhdGU9MQorbmFtZWxlbj0xNAorCisKKyAgICAgMSBpbm9kZXMgdXNlZCAoMCUpCisgICAgNTkgem9uZXMgdXNlZCAoMSUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDEgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDAgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKK3JldHVybiBmc2NrOiAwCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggIC1uIDMwIGltYWdlCisxNzI4IGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NTggKDU4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworcmV0dXJuIG1rZnM6IDAKKyQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UKK0ZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiBpbWFnZS4KKzE3MjggaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT01OCAoNTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorRmlsZXN5c3RlbSBzdGF0ZT0xCituYW1lbGVuPTMwCisKKworICAgICAxIGlub2RlcyB1c2VkICgwJSkKKyAgICA1OSB6b25lcyB1c2VkICgxJSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMSBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMCBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworcmV0dXJuIGZzY2s6IDAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAgLW4gNjAgaW1hZ2UKK21rZnMubWluaXg6IHVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiA2MAorcmV0dXJuIG1rZnM6IDgKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMSAgaW1hZ2UKKzE3MjggaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT01OCAoNTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCityZXR1cm4gbWtmczogMAorJCBmc2NrLm1pbml4IC1sYXZzZiBpbWFnZQorRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uIGltYWdlLgorMTcyOCBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTU4ICg1OCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCitGaWxlc3lzdGVtIHN0YXRlPTEKK25hbWVsZW49MzAKKworCisgICAgIDEgaW5vZGVzIHVzZWQgKDAlKQorICAgIDU5IHpvbmVzIHVzZWQgKDElKQorCisgICAgIDAgcmVndWxhciBmaWxlcworICAgICAxIGRpcmVjdG9yaWVzCisgICAgIDAgY2hhcmFjdGVyIGRldmljZSBmaWxlcworICAgICAwIGJsb2NrIGRldmljZSBmaWxlcworICAgICAwIGxpbmtzCisgICAgIDAgc3ltYm9saWMgbGlua3MKKy0tLS0tLQorICAgICAxIGZpbGVzCityZXR1cm4gZnNjazogMAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4IC0xIC1uIDE0IGltYWdlCisxNzI4IGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NTggKDU4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworcmV0dXJuIG1rZnM6IDAKKyQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UKK0ZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiBpbWFnZS4KKzE3MjggaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT01OCAoNTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorRmlsZXN5c3RlbSBzdGF0ZT0xCituYW1lbGVuPTE0CisKKworICAgICAxIGlub2RlcyB1c2VkICgwJSkKKyAgICA1OSB6b25lcyB1c2VkICgxJSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMSBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMCBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworcmV0dXJuIGZzY2s6IDAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMSAtbiAzMCBpbWFnZQorMTcyOCBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTU4ICg1OCkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK3JldHVybiBta2ZzOiAwCiskIGZzY2subWluaXggLWxhdnNmIGltYWdlCitGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gaW1hZ2UuCisxNzI4IGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NTggKDU4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKK0ZpbGVzeXN0ZW0gc3RhdGU9MQorbmFtZWxlbj0zMAorCisKKyAgICAgMSBpbm9kZXMgdXNlZCAoMCUpCisgICAgNTkgem9uZXMgdXNlZCAoMSUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDEgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDAgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKK3JldHVybiBmc2NrOiAwCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTEgLW4gNjAgaW1hZ2UKK21rZnMubWluaXg6IHVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiA2MAorcmV0dXJuIG1rZnM6IDgKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMiAgaW1hZ2UKKzE3MTIgaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT0xMTEgKDExMSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworCityZXR1cm4gbWtmczogMAorJCBmc2NrLm1pbml4IC1sYXZzZiBpbWFnZQorRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uIGltYWdlLgorMTcxMiBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTExMSAoMTExKQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CitGaWxlc3lzdGVtIHN0YXRlPTEKK25hbWVsZW49MzAKKworCisgICAgIDEgaW5vZGVzIHVzZWQgKDAlKQorICAgMTEyIHpvbmVzIHVzZWQgKDIlKQorCisgICAgIDAgcmVndWxhciBmaWxlcworICAgICAxIGRpcmVjdG9yaWVzCisgICAgIDAgY2hhcmFjdGVyIGRldmljZSBmaWxlcworICAgICAwIGJsb2NrIGRldmljZSBmaWxlcworICAgICAwIGxpbmtzCisgICAgIDAgc3ltYm9saWMgbGlua3MKKy0tLS0tLQorICAgICAxIGZpbGVzCityZXR1cm4gZnNjazogMAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4IC0yIC1uIDE0IGltYWdlCisxNzEyIGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MTExICgxMTEpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworcmV0dXJuIG1rZnM6IDAKKyQgZnNjay5taW5peCAtbGF2c2YgaW1hZ2UKK0ZvcmNpbmcgZmlsZXN5c3RlbSBjaGVjayBvbiBpbWFnZS4KKzE3MTIgaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT0xMTEgKDExMSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworRmlsZXN5c3RlbSBzdGF0ZT0xCituYW1lbGVuPTE0CisKKworICAgICAxIGlub2RlcyB1c2VkICgwJSkKKyAgIDExMiB6b25lcyB1c2VkICgyJSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMSBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMCBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworcmV0dXJuIGZzY2s6IDAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMiAtbiAzMCBpbWFnZQorMTcxMiBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTExMSAoMTExKQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK3JldHVybiBta2ZzOiAwCiskIGZzY2subWluaXggLWxhdnNmIGltYWdlCitGb3JjaW5nIGZpbGVzeXN0ZW0gY2hlY2sgb24gaW1hZ2UuCisxNzEyIGlub2RlcworNTEyMCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MTExICgxMTEpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKK0ZpbGVzeXN0ZW0gc3RhdGU9MQorbmFtZWxlbj0zMAorCisKKyAgICAgMSBpbm9kZXMgdXNlZCAoMCUpCisgICAxMTIgem9uZXMgdXNlZCAoMiUpCisKKyAgICAgMCByZWd1bGFyIGZpbGVzCisgICAgIDEgZGlyZWN0b3JpZXMKKyAgICAgMCBjaGFyYWN0ZXIgZGV2aWNlIGZpbGVzCisgICAgIDAgYmxvY2sgZGV2aWNlIGZpbGVzCisgICAgIDAgbGlua3MKKyAgICAgMCBzeW1ib2xpYyBsaW5rcworLS0tLS0tCisgICAgIDEgZmlsZXMKK3JldHVybiBmc2NrOiAwCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTIgLW4gNjAgaW1hZ2UKK21rZnMubWluaXg6IHVuc3VwcG9ydGVkIG5hbWUgbGVuZ3RoOiA2MAorcmV0dXJuIG1rZnM6IDgKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMyAgaW1hZ2UKKzE3MTIgaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT0xMTEgKDExMSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworCityZXR1cm4gbWtmczogMAorJCBmc2NrLm1pbml4IC1sYXZzZiBpbWFnZQorRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uIGltYWdlLgorMTcxMiBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTExMSAoMTExKQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CituYW1lbGVuPTYwCisKKworICAgICAxIGlub2RlcyB1c2VkICgwJSkKKyAgIDExMiB6b25lcyB1c2VkICgyJSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMSBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMCBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworcmV0dXJuIGZzY2s6IDAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyQgbWtmcy5taW5peCAtMyAtbiAxNCBpbWFnZQorbWtmcy5taW5peDogdW5zdXBwb3J0ZWQgbmFtZSBsZW5ndGg6IDE0CityZXR1cm4gbWtmczogOAorIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworJCBta2ZzLm1pbml4IC0zIC1uIDMwIGltYWdlCitta2ZzLm1pbml4OiB1bnN1cHBvcnRlZCBuYW1lIGxlbmd0aDogMzAKK3JldHVybiBta2ZzOiA4CisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiskIG1rZnMubWluaXggLTMgLW4gNjAgaW1hZ2UKKzE3MTIgaW5vZGVzCis1MTIwIGJsb2NrcworRmlyc3RkYXRhem9uZT0xMTEgKDExMSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworCityZXR1cm4gbWtmczogMAorJCBmc2NrLm1pbml4IC1sYXZzZiBpbWFnZQorRm9yY2luZyBmaWxlc3lzdGVtIGNoZWNrIG9uIGltYWdlLgorMTcxMiBpbm9kZXMKKzUxMjAgYmxvY2tzCitGaXJzdGRhdGF6b25lPTExMSAoMTExKQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CituYW1lbGVuPTYwCisKKworICAgICAxIGlub2RlcyB1c2VkICgwJSkKKyAgIDExMiB6b25lcyB1c2VkICgyJSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMSBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMCBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworcmV0dXJuIGZzY2s6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWF1dG8tZml4IGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtYXV0by1maXgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzRhNjQ4NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWF1dG8tZml4CkBAIC0wLDAgKzEsNTcgQEAKK0ZpbGVzeXN0ZW0gYXV0by1maXggaXMgZGlydHksIG5lZWRzIGNoZWNraW5nLgorUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJy8nCisxNiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CituYW1lbGVuPTYwCisKK1JlYWQgZXJyb3I6IGJhZCBibG9jayBpbiBmaWxlICcvJworLzogYmFkIGRpcmVjdG9yeTogJy4nIGlzbid0IGZpcnN0CitSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnLycKKy86IGJhZCBkaXJlY3Rvcnk6ICcuLicgaXNuJ3Qgc2Vjb25kCitJbm9kZSAxIG5vdCB1c2VkLCBtYXJrZWQgdXNlZCBpbiB0aGUgYml0bWFwLgorCisgICAgIDAgaW5vZGVzIHVzZWQgKDAlKQorICAgICA2IHpvbmVzIHVzZWQgKDM3JSkKKworICAgICAwIHJlZ3VsYXIgZmlsZXMKKyAgICAgMCBkaXJlY3RvcmllcworICAgICAwIGNoYXJhY3RlciBkZXZpY2UgZmlsZXMKKyAgICAgMCBibG9jayBkZXZpY2UgZmlsZXMKKyAgICAgMSBsaW5rcworICAgICAwIHN5bWJvbGljIGxpbmtzCistLS0tLS0KKyAgICAgMSBmaWxlcworLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorRklMRSBTWVNURU0gSEFTIEJFRU4gQ0hBTkdFRAorLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQorZnNjayByZXBvcnRzIGNoYW5nZWQgYW5kIHVuY29ycmVjdGVkOiA3CiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAxMCAwMCAwMCAwMCAwMCAwMCAwMSAwMCAgMDEgMDAgMDUgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIGZmIGZmIGZmIDdmIDEwIDAwIDAwIDAwICA1YSA0ZCAwMCAwMCAwMCAwNCAwMCAwMCAgfC4uLi4uLi4uWk0uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCBmZSBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIGVkIDQxIDAyIDAwIGU4IDAzIGU4IDAzICA4MCAwMCAwMCAwMCA5OCAzZCBiOSA1NSAgfC5BLi4uLi4uLi4uLi49LlV8CiswMDAwMTAxMCAgOTggM2QgYjkgNTUgOTggM2QgYjkgNTUgIDA1IDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Lj0uVS49LlUuLi4uLi4uLnwKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAxIDAwIGZlIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxODAwICAwMyBmMCBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMWMwMCAgZWQgNDEgMDIgMDAgZTggMDMgZTggMDMgIDgwIDAwIDAwIDAwIDk4IDNkIGI5IDU1ICB8LkEuLi4uLi4uLi4uLj0uVXwKKzAwMDAxYzEwICA5OCAzZCBiOSA1NSA5OCAzZCBiOSA1NSAgMDUgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuPS5VLj0uVS4uLi4uLi4ufAorMDAwMDFjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMjAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtYmFkYmxvY2tzIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtYmFkYmxvY2tzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU1MjFlMjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1iYWRibG9ja3MKQEAgLTAsMCArMSwzNSBAQAorMzIgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKKzIgYmFkIGJsb2NrcworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAyMCAwMCAxMCAwMCAwMSAwMCAwMSAwMCAgMDUgMDAgMDAgMDAgMDAgMWMgMDggMTAgIHwgLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDhmIDEzIDAxIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwNyAwMCAwMCAwMCBmZSBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMzMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8My4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIGVkIDQxIDAwIDAwIDYwIDAwIDAwIDAwICAzNCAyOSBiZCA1NSAwMCAwMiAwNSAwMCAgfC5BLi5gLi4uNCkuVS4uLi58CiswMDAwMTAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxMDIwICAwMCA4MCAwMCAwMCAwMCAwOCAwMCAwMCAgMzQgMjkgYmQgNTUgMDAgMDEgMDggMDAgIHwuLi4uLi4uLjQpLlUuLi4ufAorMDAwMDEwMzAgIDA5IDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMSAwMCAyZSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQyMCAgMDEgMDAgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0NDAgIDAyIDAwIDJlIDYyIDYxIDY0IDYyIDZjICA2ZiA2MyA2YiA3MyAwMCAwMCAwMCAwMCAgfC4uLmJhZGJsb2Nrcy4uLi58CiswMDAwMTQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1iYWRibG9ja3MuQkUgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1iYWRibG9ja3MuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzI0ZjRkZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJhZGJsb2Nrcy5CRQpAQCAtMCwwICsxLDM1IEBACiszMiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworMiBiYWQgYmxvY2tzCitta2ZzIHJldHVybiB2YWx1ZTogMAorZnNjayByZXR1cm4gdmFsdWU6IDAKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA0MDAgIDAwIDIwIDAwIDEwIDAwIDAxIDAwIDAxICAwMCAwNSAwMCAwMCAxMCAwOCAxYyAwMCAgfC4gLi4uLi4uLi4uLi4uLi58CiswMDAwMDQxMCAgMTMgOGYgMDAgMDEgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA4MDAgIDA3IDAwIDAwIDAwIGZlIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDgxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwYzAwICAzMyBmMCBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwzLi4uLi4uLi4uLi4uLi4ufAorMDAwMDBjMTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTAwMCAgNDEgZWQgMDAgMDAgMDAgMDAgMDAgNjAgIDU1IGJkIDI5IDM0IDAwIDAyIDAwIDA1ICB8QS4uLi4uLmBVLik0Li4uLnwKKzAwMDAxMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDEwMjAgIDgwIDAwIDAwIDAwIDAwIDAwIDA4IDAwICA1NSBiZCAyOSAzNCAwMCAwMSAwMCAwOCAgfC4uLi4uLi4uVS4pNC4uLi58CiswMDAwMTAzMCAgMDAgMDkgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAwIDAxIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMCAwMSAyZSAyZSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQ0MCAgMDAgMDIgMmUgNjIgNjEgNjQgNjIgNmMgIDZmIDYzIDZiIDczIDAwIDAwIDAwIDAwICB8Li4uYmFkYmxvY2tzLi4uLnwKKzAwMDAxNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJyb2tlbi1yb290IGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtYnJva2VuLXJvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmM3OGJkZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJyb2tlbi1yb290CkBAIC0wLDAgKzEsNyBAQAorUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJy8nCitSZWFkIGVycm9yOiBiYWQgYmxvY2sgaW4gZmlsZSAnLycKKy86IGJhZCBkaXJlY3Rvcnk6ICcuJyBpc24ndCBmaXJzdAorUmVhZCBlcnJvcjogYmFkIGJsb2NrIGluIGZpbGUgJy8nCisvOiBiYWQgZGlyZWN0b3J5OiAnLi4nIGlzbid0IHNlY29uZAorSW5vZGUgMSBub3QgdXNlZCwgbWFya2VkIHVzZWQgaW4gdGhlIGJpdG1hcC4KK2ZzY2sgcmVwb3J0cyB1bmNvcnJlY3RlZDogNApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtYnVnLjc3Mzg5MiBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJ1Zy43NzM4OTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUyMjkyNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWJ1Zy43NzM4OTIKQEAgLTAsMCArMSBAQAorZnNjayByZXBvcnRzIHVuY29ycmVjdGVkOiA0CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1jaGVjay1ibG9ja3MgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy1jaGVjay1ibG9ja3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmNlOTBmZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWNoZWNrLWJsb2NrcwpAQCAtMCwwICsxLDI5IEBACiszMiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAyMCAwMCAxMCAwMCAwMSAwMCAwMSAwMCAgMDUgMDAgMDAgMDAgMDAgMWMgMDggMTAgIHwgLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDhmIDEzIDAxIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCAwMCAwMCBmZSBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIGVkIDQxIDAwIDAwIDQwIDAwIDAwIDAwICAzNCAyOSBiZCA1NSAwMCAwMiAwNSAwMCAgfC5BLi5ALi4uNCkuVS4uLi58CiswMDAwMTAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMSAwMCAyZSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQyMCAgMDEgMDAgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWNoZWNrLWJsb2Nrcy5CRSBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLWNoZWNrLWJsb2Nrcy5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmMyOWI4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtY2hlY2stYmxvY2tzLkJFCkBAIC0wLDAgKzEsMjkgQEAKKzMyIGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCitta2ZzIHJldHVybiB2YWx1ZTogMAorZnNjayByZXR1cm4gdmFsdWU6IDAKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA0MDAgIDAwIDIwIDAwIDEwIDAwIDAxIDAwIDAxICAwMCAwNSAwMCAwMCAxMCAwOCAxYyAwMCAgfC4gLi4uLi4uLi4uLi4uLi58CiswMDAwMDQxMCAgMTMgOGYgMDAgMDEgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA4MDAgIDAzIDAwIDAwIDAwIGZlIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDgxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwYzAwICAwMyBmMCBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDBjMTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTAwMCAgNDEgZWQgMDAgMDAgMDAgMDAgMDAgNDAgIDU1IGJkIDI5IDM0IDAwIDAyIDAwIDA1ICB8QS4uLi4uLkBVLik0Li4uLnwKKzAwMDAxMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAwIDAxIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMCAwMSAyZSAyZSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwNDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMTQgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MWMxNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWUzMzEwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMTQKQEAgLTAsMCArMSwyOCBAQAorMzIgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMjAgMDAgMTAgMDAgMDEgMDAgMDEgMDAgIDA1IDAwIDAwIDAwIDAwIDFjIDA4IDEwICB8IC4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICA3ZiAxMyAwMSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgMDAgMDAgZmUgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICBlZCA0MSAwMCAwMCAyMCAwMCAwMCAwMCAgMzQgMjkgYmQgNTUgMDAgMDIgMDUgMDAgIHwuQS4uIC4uLjQpLlUuLi4ufAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQwMCAgMDEgMDAgMmUgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDEwICAwMSAwMCAyZSAyZSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwNDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMTQuQkUgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MWMxNC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZGY1NjFjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMTQuQkUKQEAgLTAsMCArMSwyOCBAQAorMzIgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMDAgMjAgMDAgMTAgMDAgMDEgMDAgMDEgIDAwIDA1IDAwIDAwIDEwIDA4IDFjIDAwICB8LiAuLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICAxMyA3ZiAwMCAwMSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgMDAgMDAgZmUgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICA0MSBlZCAwMCAwMCAwMCAwMCAwMCAyMCAgNTUgYmQgMjkgMzQgMDAgMDIgMDAgMDUgIHxBLi4uLi4uIFUuKTQuLi4ufAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQwMCAgMDAgMDEgMmUgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDEwICAwMCAwMSAyZSAyZSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwNDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMzAgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MWMzMApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mY2U5MGZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjFjMzAKQEAgLTAsMCArMSwyOSBAQAorMzIgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjY4OTY2OTEyCisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMjAgMDAgMTAgMDAgMDEgMDAgMDEgMDAgIDA1IDAwIDAwIDAwIDAwIDFjIDA4IDEwICB8IC4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICA4ZiAxMyAwMSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgMDAgMDAgZmUgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICBlZCA0MSAwMCAwMCA0MCAwMCAwMCAwMCAgMzQgMjkgYmQgNTUgMDAgMDIgMDUgMDAgIHwuQS4uQC4uLjQpLlUuLi4ufAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQwMCAgMDEgMDAgMmUgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MjAgIDAxIDAwIDJlIDJlIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MWMzMC5CRSBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYxYzMwLkJFCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhiYzI5YjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MWMzMC5CRQpAQCAtMCwwICsxLDI5IEBACiszMiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yNjg5NjY5MTIKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAwMCAyMCAwMCAxMCAwMCAwMSAwMCAwMSAgMDAgMDUgMDAgMDAgMTAgMDggMWMgMDAgIHwuIC4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDEzIDhmIDAwIDAxIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCAwMCAwMCBmZSBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIDQxIGVkIDAwIDAwIDAwIDAwIDAwIDQwICA1NSBiZCAyOSAzNCAwMCAwMiAwMCAwNSAgfEEuLi4uLi5AVS4pNC4uLi58CiswMDAwMTAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMCAwMSAyZSAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQyMCAgMDAgMDEgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzE0IGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjJjMTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThiYzRlMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzE0CkBAIC0wLDAgKzEsMjkgQEAKKzE2IGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAxMCAwMCAwMCAwMCAwMSAwMCAwMSAwMCAgMDUgMDAgMDAgMDAgZmYgZmYgZmYgN2YgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDY4IDI0IDAxIDAwIDEwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfGgkLi4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCBmZSBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIGVkIDQxIDAyIDAwIDAwIDAwIDAwIDAwICAyMCAwMCAwMCAwMCAzNCAyOSBiZCA1NSAgfC5BLi4uLi4uIC4uLjQpLlV8CiswMDAwMTAxMCAgMzQgMjkgYmQgNTUgMzQgMjkgYmQgNTUgIDA1IDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8NCkuVTQpLlUuLi4uLi4uLnwKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAxIDAwIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDEgMDAgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzE0LkJFIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjJjMTQuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGI2NzM4NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzE0LkJFCkBAIC0wLDAgKzEsMjkgQEAKKzE2IGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAwMCAxMCAwMCAwMCAwMCAwMSAwMCAwMSAgMDAgMDUgMDAgMDAgN2YgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDI0IDY4IDAwIDAxIDAwIDAwIDAwIDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfCRoLi4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCBmZSBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIDQxIGVkIDAwIDAyIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAyMCA1NSBiZCAyOSAzNCAgfEEuLi4uLi4uLi4uIFUuKTR8CiswMDAwMTAxMCAgNTUgYmQgMjkgMzQgNTUgYmQgMjkgMzQgIDAwIDAwIDAwIDA1IDAwIDAwIDAwIDAwICB8VS4pNFUuKTQuLi4uLi4uLnwKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAwIDAxIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDAgMDEgMmUgMmUgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzMwIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjJjMzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDA2NmU0OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYyYzMwCkBAIC0wLDAgKzEsMzAgQEAKKzE2IGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAxMCAwMCAwMCAwMCAwMSAwMCAwMSAwMCAgMDUgMDAgMDAgMDAgZmYgZmYgZmYgN2YgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDc4IDI0IDAxIDAwIDEwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfHgkLi4uLi4uLi4uLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCBmZSBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIGVkIDQxIDAyIDAwIDAwIDAwIDAwIDAwICA0MCAwMCAwMCAwMCAzNCAyOSBiZCA1NSAgfC5BLi4uLi4uQC4uLjQpLlV8CiswMDAwMTAxMCAgMzQgMjkgYmQgNTUgMzQgMjkgYmQgNTUgIDA1IDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8NCkuVTQpLlUuLi4uLi4uLnwKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAxIDAwIDJlIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDIwICAwMSAwMCAyZSAyZSAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwNDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjJjMzAuQkUgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12MmMzMC5CRQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MjJkMzY4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjJjMzAuQkUKQEAgLTAsMCArMSwzMCBAQAorMTYgaW5vZGVzCisxNiBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NSAoNSkKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworCitta2ZzIHJldHVybiB2YWx1ZTogMAorZnNjayByZXR1cm4gdmFsdWU6IDAKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA0MDAgIDAwIDEwIDAwIDAwIDAwIDAxIDAwIDAxICAwMCAwNSAwMCAwMCA3ZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDQxMCAgMjQgNzggMDAgMDEgMDAgMDAgMDAgMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8JHguLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDA4MDAgIDAzIDAwIGZlIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMDgxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwYzAwICAwMyBmMCBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDBjMTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTAwMCAgNDEgZWQgMDAgMDIgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDQwIDU1IGJkIDI5IDM0ICB8QS4uLi4uLi4uLi5AVS4pNHwKKzAwMDAxMDEwICA1NSBiZCAyOSAzNCA1NSBiZCAyOSAzNCAgMDAgMDAgMDAgMDUgMDAgMDAgMDAgMDAgIHxVLik0VS4pNC4uLi4uLi4ufAorMDAwMDEwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQwMCAgMDAgMDEgMmUgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MjAgIDAwIDAxIDJlIDJlIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDA0MDAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12M2M2MCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYzYzYwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5YWM5YzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9mc2NrLWltYWdlcy12M2M2MApAQCAtMCwwICsxLDMxIEBACisxNiBpbm9kZXMKKzE2IGJsb2NrcworRmlyc3RkYXRhem9uZT01ICg1KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCitmc2NrIHJldHVybiB2YWx1ZTogMAorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDQwMCAgMTAgMDAgMDAgMDAgMDAgMDAgMDEgMDAgIDAxIDAwIDA1IDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwNDEwICBmZiBmZiBmZiA3ZiAxMCAwMCAwMCAwMCAgNWEgNGQgMDAgMDAgMDAgMDQgMDAgMDAgIHwuLi4uLi4uLlpNLi4uLi4ufAorMDAwMDA0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMDgwMCAgMDMgMDAgZmUgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwODEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDBjMDAgIDAzIGYwIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMGMxMCAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxMDAwICBlZCA0MSAwMiAwMCAwMCAwMCAwMCAwMCAgODAgMDAgMDAgMDAgMzQgMjkgYmQgNTUgIHwuQS4uLi4uLi4uLi40KS5VfAorMDAwMDEwMTAgIDM0IDI5IGJkIDU1IDM0IDI5IGJkIDU1ICAwNSAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfDQpLlU0KS5VLi4uLi4uLi58CiswMDAwMTAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDAwICAwMSAwMCAwMCAwMCAyZSAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMTQ0MCAgMDEgMDAgMDAgMDAgMmUgMmUgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAxNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDQwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYzYzYwLkJFIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvZnNjay1pbWFnZXMtdjNjNjAuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzg4YzAxZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L2ZzY2staW1hZ2VzLXYzYzYwLkJFCkBAIC0wLDAgKzEsMzEgQEAKKzE2IGlub2RlcworMTYgYmxvY2tzCitGaXJzdGRhdGF6b25lPTUgKDUpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK2ZzY2sgcmV0dXJuIHZhbHVlOiAwCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwNDAwICAwMCAwMCAwMCAxMCAwMCAwMCAwMCAwMSAgMDAgMDEgMDAgMDUgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA0MTAgIDdmIGZmIGZmIGZmIDAwIDAwIDAwIDEwICA0ZCA1YSAwMCAwMCAwNCAwMCAwMCAwMCAgfC4uLi4uLi4uTVouLi4uLi58CiswMDAwMDQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAwODAwICAwMyAwMCBmZSBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDA4MTAgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwMGMwMCAgMDMgZjAgZmYgZmYgZmYgZmYgZmYgZmYgIGZmIGZmIGZmIGZmIGZmIGZmIGZmIGZmICB8Li4uLi4uLi4uLi4uLi4uLnwKKzAwMDAwYzEwICBmZiBmZiBmZiBmZiBmZiBmZiBmZiBmZiAgZmYgZmYgZmYgZmYgZmYgZmYgZmYgZmYgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDEwMDAgIDQxIGVkIDAwIDAyIDAwIDAwIDAwIDAwICAwMCAwMCAwMCA4MCA1NSBiZCAyOSAzNCAgfEEuLi4uLi4uLi4uLlUuKTR8CiswMDAwMTAxMCAgNTUgYmQgMjkgMzQgNTUgYmQgMjkgMzQgIDAwIDAwIDAwIDA1IDAwIDAwIDAwIDAwICB8VS4pNFUuKTQuLi4uLi4uLnwKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAwMDE0MDAgIDAwIDAwIDAwIDAxIDJlIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CiswMDAwMTQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICB8Li4uLi4uLi4uLi4uLi4uLnwKKyoKKzAwMDAxNDQwICAwMCAwMCAwMCAwMSAyZSAyZSAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorMDAwMDE0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgfC4uLi4uLi4uLi4uLi4uLi58CisqCiswMDAwNDAwMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12MWMxNCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjFjMTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2QyZmEzOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjFjMTQKQEAgLTAsMCArMSw5IEBACitjcmVhdGUgbWluaXggZnMgLTEgLW4gMTQKKzM0MjQgaW5vZGVzCisxMDIyNCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MTEyICgxMTIpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCitta2ZzIHJldHVybiB2YWx1ZTogMAordW1vdW50IHRoZSBpbWFnZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12MWMzMCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjFjMzAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmJjYzMxNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjFjMzAKQEAgLTAsMCArMSw5IEBACitjcmVhdGUgbWluaXggZnMgLTEgLW4gMzAKKzM0MjQgaW5vZGVzCisxMDIyNCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MTEyICgxMTIpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTI2ODk2NjkxMgorCitta2ZzIHJldHVybiB2YWx1ZTogMAordW1vdW50IHRoZSBpbWFnZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12MmMxNCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjJjMTQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUyOTNiMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjJjMTQKQEAgLTAsMCArMSw5IEBACitjcmVhdGUgbWluaXggZnMgLTIgLW4gMTQKKzM0MDggaW5vZGVzCisxMDIyNCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MjE4ICgyMTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK3Vtb3VudCB0aGUgaW1hZ2UKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjJjMzAgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYyYzMwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjNzZkNDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYyYzMwCkBAIC0wLDAgKzEsOSBAQAorY3JlYXRlIG1pbml4IGZzIC0yIC1uIDMwCiszNDA4IGlub2RlcworMTAyMjQgYmxvY2tzCitGaXJzdGRhdGF6b25lPTIxOCAoMjE4KQorWm9uZXNpemU9MTAyNAorTWF4c2l6ZT0yMTQ3NDgzNjQ3CisKK21rZnMgcmV0dXJuIHZhbHVlOiAwCit1bW91bnQgdGhlIGltYWdlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taW5peC9ta2ZzLXYyaTY1NTM1IGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12Mmk2NTUzNQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjFhMzZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12Mmk2NTUzNQpAQCAtMCwwICsxLDkgQEAKK2NyZWF0ZSBtaW5peCBmcyAtMiAtaSA2NTUzNQorNjU1MzUgaW5vZGVzCisxMDIyNCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9NDEwNyAoNDEwNykKK1pvbmVzaXplPTEwMjQKK01heHNpemU9MjE0NzQ4MzY0NworCitta2ZzIHJldHVybiB2YWx1ZTogMAordW1vdW50IHRoZSBpbWFnZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWluaXgvbWtmcy12M2M2MCBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjNjNjAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWY2ODZkOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pbml4L21rZnMtdjNjNjAKQEAgLTAsMCArMSw5IEBACitjcmVhdGUgbWluaXggZnMgLTMgLW4gNjAKKzM0MDggaW5vZGVzCisxMDIyNCBibG9ja3MKK0ZpcnN0ZGF0YXpvbmU9MjE4ICgyMTgpCitab25lc2l6ZT0xMDI0CitNYXhzaXplPTIxNDc0ODM2NDcKKworbWtmcyByZXR1cm4gdmFsdWU6IDAKK3Vtb3VudCB0aGUgaW1hZ2UKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmFsbG9jYXRlIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mYWxsb2NhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTQ1Yjk5ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmFsbG9jYXRlCkBAIC0wLDAgKzEgQEAKKzM4NApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jayBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2sKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM5NzM5NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2sKQEAgLTAsMCArMSwzIEBACitMb2NraW5nCitVbmxvY2tpbmcKK1VubG9ja2VkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLWV4Y2x1c2l2ZSBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stZXhjbHVzaXZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLWV4Y2x1c2l2ZQpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLW5vLWZvcmsgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLW5vLWZvcmsKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stbm8tZm9yawpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLW5vbi1ibG9jayBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stbm9uLWJsb2NrCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLW5vbi1ibG9jawpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLXNoYXJlZCBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stc2hhcmVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAxMWYzMjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL2Zsb2NrLXNoYXJlZApAQCAtMCwwICsxLDIgQEAKK0hhdmUgc2hhcmVkIGxvY2sKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stdGltZS1jaGVjayBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stdGltZS1jaGVjawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZTliYTQ3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay10aW1lLWNoZWNrCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stdGltZW91dCBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvZmxvY2stdGltZW91dApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNGNkNWE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9mbG9jay10aW1lb3V0CkBAIC0wLDAgKzEsMiBAQAorQWZ0ZXIgdGltZW91dC4KK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvaW9uaWNlIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9pb25pY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWZkZjBlYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvaW9uaWNlCkBAIC0wLDAgKzEsOSBAQAoraW9uaWNlOiBpZ25vcmluZyBnaXZlbiBjbGFzcyBkYXRhIGZvciBub25lIGNsYXNzCitpb25pY2U6IHVua25vd24gcHJpbyBjbGFzcyA3Citpb25pY2U6IGlvcHJpb19zZXQgZmFpbGVkOiBJbnZhbGlkIGFyZ3VtZW50Citpb25pY2U6IHVua25vd24gcHJpbyBjbGFzcyA3Citpb25pY2U6IGlvcHJpb19zZXQgZmFpbGVkOiBJbnZhbGlkIGFyZ3VtZW50Citpb25pY2U6IHVua25vd24gcHJpbyBjbGFzcyA4Citpb25pY2U6IGlvcHJpb19zZXQgZmFpbGVkOiBJbnZhbGlkIGFyZ3VtZW50CisvZXRjL3Bhc3N3ZAorbm9uZTogcHJpbyAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL2xpbmUgYi90ZXN0cy9leHBlY3RlZC9taXNjL2xpbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzgzZWY4MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvbGluZQpAQCAtMCwwICsxLDI1IEBACisjIHVzdWFsbHkgYmVoYXZlIGxpa2UgImhlYWQgLW4gMSIKK2EKK3JldDogMAorIyBuZXZlciBjb25zdW1lIG1vcmUgdGhhbiBvbmUgbGluZQorMQorMgorcmV0OiAwCisjIGFkZCBhIG5ld2xpbmUKK2FiYworcmV0OiAxCisjIHByaW50IG9uZSBuZXdsaW5lIG9uIGVtcHR5IGlucHV0CisKK3JldDogMQorIyBhZGQgYSBuZXdsaW5lLCByZXR1cm4gMSB3aGVuIEVPRgoreHl6CityZXQ6IDEKKyMgcHJpbnQgb25lIG5ld2xpbmUgb24gZW1wdHkgaW5wdXQsIHJldHVybiAxIHdoZW4gRU9GCisKK3JldDogMQorIyBsYXJnZSBsaW5lIG9mIHplcm8gYnl0ZXMKKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIHwuLi4uLi4uLi4uLi4uLi4ufAorKgorMDAxMDAwMDAgIDBhICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfC58CiswMDEwMDAwMQorcmV0OiAwCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL21ic2VuY29kZS1pbnZhbGlkLWFzY2lpIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9tYnNlbmNvZGUtaW52YWxpZC1hc2NpaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTc1OWUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9tYnNlbmNvZGUtaW52YWxpZC1hc2NpaQpAQCAtMCwwICsxLDEwIEBACis5IGZvbwliYXIgYmF6CisxNSBcXGZvby5sb2NhbFxiYXIKKzE5IFxcZm9vLmxvY2FsXHg1Y3hiYXIKKzExIFx4YzNceGJjYmVyCisyMSBjXHhjY1x4OGNhXHhjY1x4ODFya2EKKzU2IFx4ZDBceDljXHhkMFx4YmVceGQxXHg4MVx4ZDBceGJhXHhkMFx4YjJceGQwXHhiMFx4Y2NceDgxCisyNCBceGU1XHg4Y1x4OTdceGU0XHhiYVx4YWMKKzggXHhjMlx4ODMKKzQgXHhmZgorMTYgXHhlOFx4ZTFceGY5XHhhNwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9tYnNlbmNvZGUtaW52YWxpZC11dGY4IGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9tYnNlbmNvZGUtaW52YWxpZC11dGY4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI2YjUxZTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL21ic2VuY29kZS1pbnZhbGlkLXV0ZjgKQEAgLTAsMCArMSwxMCBAQAorOSBmb28JYmFyIGJhegorMTUgXFxmb28ubG9jYWxcYmFyCisxOSBcXGZvby5sb2NhbFx4NWN4YmFyCis0IMO8YmVyCis1IGPMjGHMgXJrYQorNiDQnNC+0YHQutCy0LDMgQorNCDljJfkuqwKKy0xIMKDCis0IFx4ZmYKKzE2IFx4ZThceGUxXHhmOVx4YTcKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvbWJzZW5jb2RlLXNhZmUtYXNjaWkgYi90ZXN0cy9leHBlY3RlZC9taXNjL21ic2VuY29kZS1zYWZlLWFzY2lpCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3NDczZDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL21ic2VuY29kZS1zYWZlLWFzY2lpCkBAIC0wLDAgKzEsMTAgQEAKKzE0IGZvb1x4MDliYXIgYmF6CisxNSBcXGZvby5sb2NhbFxiYXIKKzE5IFxcZm9vLmxvY2FsXHg1Y3hiYXIKKzExIFx4YzNceGJjYmVyCisyMSBjXHhjY1x4OGNhXHhjY1x4ODFya2EKKzU2IFx4ZDBceDljXHhkMFx4YmVceGQxXHg4MVx4ZDBceGJhXHhkMFx4YjJceGQwXHhiMFx4Y2NceDgxCisyNCBceGU1XHg4Y1x4OTdceGU0XHhiYVx4YWMKKzggXHhjMlx4ODMKKzQgXHhmZgorMTYgXHhlOFx4ZTFceGY5XHhhNwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9tYnNlbmNvZGUtc2FmZS11dGY4IGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9tYnNlbmNvZGUtc2FmZS11dGY4Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzYTQxN2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL21ic2VuY29kZS1zYWZlLXV0ZjgKQEAgLTAsMCArMSwxMCBAQAorMTQgZm9vXHgwOWJhciBiYXoKKzE1IFxcZm9vLmxvY2FsXGJhcgorMTkgXFxmb28ubG9jYWxceDVjeGJhcgorNCDDvGJlcgorNSBjzIxhzIFya2EKKzYg0JzQvtGB0LrQstCwzIEKKzQg5YyX5LqsCis4IFx4YzJceDgzCis0IFx4ZmYKKzE2IFx4ZThceGUxXHhmOVx4YTcKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvbWNvb2tpZSBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvbWNvb2tpZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMWMwMzUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9tY29va2llCkBAIC0wLDAgKzEgQEAKK3RoZSBzdHJpbmcgbWVldHMgZXhwZWNhdGlvbnMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2MvcmV2IGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9yZXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM4NzQ3NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2MvcmV2CkBAIC0wLDAgKzEsNCBAQAorNTNiYmYwZDk4MjA1MzE5Y2VlMmJhNTg5ZTIwNWM2OGIKKzM1NDg0OTY1YjdhMmZkNDVhNDcxYzBkODBjYjk3NTJjCitjYmEKKzMyMQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC1vcHRpb25zIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zZXRhcmNoLW9wdGlvbnMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTA0MzU4NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC1vcHRpb25zCkBAIC0wLDAgKzEsMjMgQEAKKyMjIyMjIyB1bmtub3duIGFyY2gKK3NldGFyY2g6IHF1Yml0OiBVbnJlY29nbml6ZWQgYXJjaGl0ZWN0dXJlCitleGl0OiAxCisjIyMjIyMgdW5rbm93biBjb21tYW5kCitFeGVjdXRlIGNvbW1hbmQgYC9kYXMvZ2licy9uaWNodCcuCitzZXRhcmNoOiBmYWlsZWQgdG8gZXhlY3V0ZSAvZGFzL2dpYnMvbmljaHQ6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKK2V4aXQ6IDEyNworIyMjIyMjIG5vb3AgdW5hbWUgLWEKK0V4ZWN1dGUgY29tbWFuZCBgdW5hbWUnLgordW5hbWUgLWEgdW5jaGFuZ2VkCisjIyMjIyMgYWxtb3N0IGFsbCBvcHRpb25zCitTd2l0Y2hpbmcgb24gQUREUl9OT19SQU5ET01JWkUuCitTd2l0Y2hpbmcgb24gRkRQSUNfRlVOQ1BUUlMuCitTd2l0Y2hpbmcgb24gTU1BUF9QQUdFX1pFUk8uCitTd2l0Y2hpbmcgb24gQUREUl9DT01QQVRfTEFZT1VULgorU3dpdGNoaW5nIG9uIFJFQURfSU1QTElFU19FWEVDLgorU3dpdGNoaW5nIG9uIEFERFJfTElNSVRfMzJCSVQuCitTd2l0Y2hpbmcgb24gU0hPUlRfSU5PREUuCitTd2l0Y2hpbmcgb24gV0hPTEVfU0VDT05EUy4KK1N3aXRjaGluZyBvbiBTVElDS1lfVElNRU9VVFMuCitTd2l0Y2hpbmcgb24gQUREUl9MSU1JVF8zR0IuCitFeGVjdXRlIGNvbW1hbmQgYGVjaG8nLgorc3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zZXRhcmNoLXVuYW1lMjYgYi90ZXN0cy9leHBlY3RlZC9taXNjL3NldGFyY2gtdW5hbWUyNgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMzY2N2FmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zZXRhcmNoLXVuYW1lMjYKQEAgLTAsMCArMSw2IEBACisjIyMjIyMgLS11bmFtZS0yLjYgZWNobworU3dpdGNoaW5nIG9uIFVOQU1FMjYuCitFeGVjdXRlIGNvbW1hbmQgYGVjaG8nLgorMi42IHdvcmtzIG9yIGtlcm5lbCB0b28gb2xkCisjIyMjIyMgLS11bmFtZS0yLjYgdHJ1ZSwgbm9uLXZlcmJvc2UKKzIuNiB3b3JrcyBvciBrZXJuZWwgdG9vIG9sZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zZXRhcmNoLXVuYW1lMjYtdmVyc2lvbiBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC11bmFtZTI2LXZlcnNpb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM3NDZlMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0YXJjaC11bmFtZTI2LXZlcnNpb24KQEAgLTAsMCArMSBAQAora2VybmVsIHZlcnNpb24gY2hhbmdlZCB0byAyLjYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0c2lkIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zZXRzaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmU5YmE0NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc2V0c2lkCkBAIC0wLDAgKzEgQEAKK3N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc3RydG9zaXplIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zdHJ0b3NpemUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTRmZDY5YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc3RydG9zaXplCkBAIC0wLDAgKzEsMzAgQEAKK3Rlc3Rfc3RydXRpbHM6IGludmFsaWQgc2l6ZSAnLTEnIHZhbHVlCisgICAgICAgICAgICAgICAgICAgICAgICAwIDogICAgICAgICAgICAgICAgICAgIDAgOiAgICAgICAwQiA6ICAgICAgICAgIDAgQgorICAgICAgICAgICAgICAgICAgICAgICAgMSA6ICAgICAgICAgICAgICAgICAgICAxIDogICAgICAgMUIgOiAgICAgICAgICAxIEIKKyAgICAgICAgICAgICAgICAgICAgICAxMjMgOiAgICAgICAgICAgICAgICAgIDEyMyA6ICAgICAxMjNCIDogICAgICAgIDEyMyBCCisgICAgIDE4NDQ2NzQ0MDczNzA5NTUxNjE1IDogMTg0NDY3NDQwNzM3MDk1NTE2MTUgOiAgICAgIDE2RSA6ICAgICAgIDE2IEVpQgorICAgICAgICAgICAgICAgICAgICAgICAxSyA6ICAgICAgICAgICAgICAgICAxMDI0IDogICAgICAgMUsgOiAgICAgICAgMSBLaUIKKyAgICAgICAgICAgICAgICAgICAgIDFLaUIgOiAgICAgICAgICAgICAgICAgMTAyNCA6ICAgICAgIDFLIDogICAgICAgIDEgS2lCCisgICAgICAgICAgICAgICAgICAgICAgIDFNIDogICAgICAgICAgICAgIDEwNDg1NzYgOiAgICAgICAxTSA6ICAgICAgICAxIE1pQgorICAgICAgICAgICAgICAgICAgICAgMU1pQiA6ICAgICAgICAgICAgICAxMDQ4NTc2IDogICAgICAgMU0gOiAgICAgICAgMSBNaUIKKyAgICAgICAgICAgICAgICAgICAgICAgMUcgOiAgICAgICAgICAgMTA3Mzc0MTgyNCA6ICAgICAgIDFHIDogICAgICAgIDEgR2lCCisgICAgICAgICAgICAgICAgICAgICAxR2lCIDogICAgICAgICAgIDEwNzM3NDE4MjQgOiAgICAgICAxRyA6ICAgICAgICAxIEdpQgorICAgICAgICAgICAgICAgICAgICAgICAxVCA6ICAgICAgICAxMDk5NTExNjI3Nzc2IDogICAgICAgMVQgOiAgICAgICAgMSBUaUIKKyAgICAgICAgICAgICAgICAgICAgIDFUaUIgOiAgICAgICAgMTA5OTUxMTYyNzc3NiA6ICAgICAgIDFUIDogICAgICAgIDEgVGlCCisgICAgICAgICAgICAgICAgICAgICAgIDFQIDogICAgIDExMjU4OTk5MDY4NDI2MjQgOiAgICAgICAxUCA6ICAgICAgICAxIFBpQgorICAgICAgICAgICAgICAgICAgICAgMVBpQiA6ICAgICAxMTI1ODk5OTA2ODQyNjI0IDogICAgICAgMVAgOiAgICAgICAgMSBQaUIKKyAgICAgICAgICAgICAgICAgICAgICAgMUUgOiAgMTE1MjkyMTUwNDYwNjg0Njk3NiA6ICAgICAgIDFFIDogICAgICAgIDEgRWlCCisgICAgICAgICAgICAgICAgICAgICAxRWlCIDogIDExNTI5MjE1MDQ2MDY4NDY5NzYgOiAgICAgICAxRSA6ICAgICAgICAxIEVpQgorICAgICAgICAgICAgICAgICAgICAgIDFLQiA6ICAgICAgICAgICAgICAgICAxMDAwIDogICAgMTAwMEIgOiAgICAgICAxMDAwIEIKKyAgICAgICAgICAgICAgICAgICAgICAxTUIgOiAgICAgICAgICAgICAgMTAwMDAwMCA6ICAgOTc2LjZLIDogICAgOTc2LjYgS2lCCisgICAgICAgICAgICAgICAgICAgICAgMUdCIDogICAgICAgICAgIDEwMDAwMDAwMDAgOiAgIDk1My43TSA6ICAgIDk1My43IE1pQgorICAgICAgICAgICAgICAgICAgICAgIDFUQiA6ICAgICAgICAxMDAwMDAwMDAwMDAwIDogICA5MzEuM0cgOiAgICA5MzEuMyBHaUIKKyAgICAgICAgICAgICAgICAgICAgICAxUEIgOiAgICAgMTAwMDAwMDAwMDAwMDAwMCA6ICAgOTA5LjVUIDogICAgOTA5LjUgVGlCCisgICAgICAgICAgICAgICAgICAgICAgMUVCIDogIDEwMDAwMDAwMDAwMDAwMDAwMDAgOiAgIDg4OC4yUCA6ICAgIDg4OC4yIFBpQgordGVzdF9zdHJ1dGlsczogaW52YWxpZCBzaXplICcnIHZhbHVlCit0ZXN0X3N0cnV0aWxzOiBpbnZhbGlkIHNpemUgJyAnIHZhbHVlCisgICAgICAgICAgICAgICAgICAgICAgICAxIDogICAgICAgICAgICAgICAgICAgIDEgOiAgICAgICAxQiA6ICAgICAgICAgIDEgQgordGVzdF9zdHJ1dGlsczogaW52YWxpZCBzaXplICcxICcgdmFsdWUKKyAgICAgICAgICAgICAgICAgICAgIDB4MGEgOiAgICAgICAgICAgICAgICAgICAxMCA6ICAgICAgMTBCIDogICAgICAgICAxMCBCCisgICAgICAgICAgICAgICAgICAgMHhmZjAwIDogICAgICAgICAgICAgICAgNjUyODAgOiAgICA2My44SyA6ICAgICA2My44IEtpQgorICAgICAgICAgICAgICAgMHg4MDAwMDAwMCA6ICAgICAgICAgICAyMTQ3NDgzNjQ4IDogICAgICAgMkcgOiAgICAgICAgMiBHaUIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc3dhcGxhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy9zd2FwbGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTcyZjg3NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21pc2Mvc3dhcGxhYmVsCkBAIC0wLDAgKzEsNyBAQAorbWtzd2FwOiBlcnJvcjogc3dhcCBhcmVhIG5lZWRzIHRvIGJlIGF0IGxlYXN0IDEwIHBhZ2VzCitta3N3YXA6IDxzd2FwZmlsZT46IGluc2VjdXJlIHBlcm1pc3Npb25zIDxwZXJtPiwgMDYwMCBzdWdnZXN0ZWQuCitta3N3YXA6IExhYmVsIHdhcyB0cnVuY2F0ZWQuCitTZXR0aW5nIHVwIHN3YXBzcGFjZSB2ZXJzaW9uIDEsIHNpemUgPSA5IHBhZ2VzICg5eFBHU1ogYnl0ZXMpCitMQUJFTD0xMjM0NTY3ODkwYWJjZGUsIFVVSUQ9MTIzNDU2NzgtYWJjZC1hYmNkLWFiY2QtMTIzNDU2Nzg5MGFiCitMQUJFTDogMTIzNDU2Nzg5MGFiY2RlCitVVUlEOiAgMTIzNDU2NzgtYWJjZC1hYmNkLWFiY2QtMTIzNDU2Nzg5MGFiCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9taXNjL3VsIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy91bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mM2FlY2QxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy91bApAQCAtMCwwICsxLDMgQEAKKxtbMW1hGyhCG1ttYhtbNG1jG1syNG0KKyAgICAgICAgdGFiCisMClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbWlzYy93aGVyZWlzIGIvdGVzdHMvZXhwZWN0ZWQvbWlzYy93aGVyZWlzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlOWJhNDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9taXNjL3doZXJlaXMKQEAgLTAsMCArMSBAQAorc3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW9yZS9yZWdleHAgYi90ZXN0cy9leHBlY3RlZC9tb3JlL3JlZ2V4cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODhjOTliCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW9yZS9yZWdleHAKQEAgLTAsMCArMSw0IEBACisKKy4uLnNraXBwaW5nCitmb28KK3h5enp5CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3JlL3NxdWVlemUgYi90ZXN0cy9leHBlY3RlZC9tb3JlL3NxdWVlemUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTFhNTNiNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vcmUvc3F1ZWV6ZQpAQCAtMCwwICsxLDMgQEAKK2EKKworYgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZGV2bmFtZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2Rldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2Rldm5hbWUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy1tb3JlLXR5cGVzIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy1tb3JlLXR5cGVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc2xpc3RzLW1vcmUtdHlwZXMKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy1tb3JlLXR5cGVzLWZzdGFiIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy1tb3JlLXR5cGVzLWZzdGFiCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc2xpc3RzLW1vcmUtdHlwZXMtZnN0YWIKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy1vbmUtdHlwZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtb25lLXR5cGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzbGlzdHMtb25lLXR5cGUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy10eXBlLXBhdHRlcm4gYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc2xpc3RzLXR5cGUtcGF0dGVybgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy10eXBlLXBhdHRlcm4KQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy10eXBlLXBhdHRlcm4tbmVnIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnNsaXN0cy10eXBlLXBhdHRlcm4tbmVnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc2xpc3RzLXR5cGUtcGF0dGVybi1uZWcKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnJva2VuIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnJva2VuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1icm9rZW4KQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnJva2VuLW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnJva2VuLW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NmJhYzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1icm9rZW4tbW91bnQKQEAgLTAsMCArMSBAQAorT0sKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWJyb2tlbi1tb3VudC1hbGwgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1icm9rZW4tbW91bnQtYWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NmJhYzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1icm9rZW4tbW91bnQtYWxsCkBAIC0wLDAgKzEgQEAKK09LCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1idHJmcy1hdXRvIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnRyZnMtYXV0bwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItYnRyZnMtYXV0bwpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1idHJmcy1idHJmcyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWJ0cmZzLWJ0cmZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1idHJmcy1idHJmcwpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1kZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItZGV2bmFtZQpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1kZXZuYW1lMmxhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItZGV2bmFtZTJsYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItZGV2bmFtZTJsYWJlbApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1kZXZuYW1lMnV1aWQgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1kZXZuYW1lMnV1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWRldm5hbWUydXVpZApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1sYWJlbCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLWxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1sYWJlbApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1sYWJlbDJkZXZuYW1lIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbGFiZWwyZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbGFiZWwyZGV2bmFtZQpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1sYWJlbDJ1dWlkIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbGFiZWwydXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbGFiZWwydXVpZApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1sb29wIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbG9vcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbG9vcApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1ub25lIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbm9uZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItbm9uZQpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi1zeW1saW5rIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItc3ltbGluawpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItc3ltbGluawpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi11dWlkIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItdXVpZApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi11dWlkMmRldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi11dWlkMmRldm5hbWUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2ZzdGFiLXV1aWQyZGV2bmFtZQpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9mc3RhYi11dWlkMmxhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItdXVpZDJsYWJlbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvZnN0YWItdXVpZDJsYWJlbApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9sYWJlbCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L2xhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9sYWJlbApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9tb3ZlIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvbW92ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvbW92ZQpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9yZWdmaWxlIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmVnZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmVnZmlsZQpAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9yZW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmVtb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmVtb3VudApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9ybGltaXQgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9ybGltaXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3JsaW1pdApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9ybGltaXQtbW91bnQgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9ybGltaXQtbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODVlMmUxMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3JsaW1pdC1tb3VudApAQCAtMCwwICsxIEBACitPSzogbXRhYiB1bm1vZGlmaWVkIGJ5IG1vdW50CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9ybGltaXQtdW1vdW50IGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmxpbWl0LXVtb3VudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xOTNhOGVlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvcmxpbWl0LXVtb3VudApAQCAtMCwwICsxIEBACitPSzogbXRhYiB1bm1vZGlmaWVkIGJ5IHVtb3VudApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtYmluZC1zaGFyZWQgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1iaW5kLXNoYXJlZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTIwNWU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtYmluZC1zaGFyZWQKQEAgLTAsMCArMSBAQAorc2hhcmVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tYWtlLXByaXZhdGUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tYWtlLXByaXZhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2UxOGViZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1ha2UtcHJpdmF0ZQpAQCAtMCwwICsxIEBACitwcml2YXRlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tYWtlLXNoYXJlZCBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1ha2Utc2hhcmVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhhMjA1ZTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tYWtlLXNoYXJlZApAQCAtMCwwICsxIEBACitzaGFyZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1ha2UtdW5iaW5kYWJsZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1ha2UtdW5iaW5kYWJsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2Y2NjJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbWFrZS11bmJpbmRhYmxlCkBAIC0wLDAgKzEgQEAKK3ByaXZhdGUsdW5iaW5kYWJsZQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbW91bnQtcHJpdmF0ZSBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1vdW50LXByaXZhdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdmNjYyYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3NoYXJlZC1zdWJ0cmVlLW1vdW50LXByaXZhdGUKQEAgLTAsMCArMSBAQAorcHJpdmF0ZSx1bmJpbmRhYmxlCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9zaGFyZWQtc3VidHJlZS1tb3VudC1wcml2YXRlLXJvIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbW91bnQtcHJpdmF0ZS1ybwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mNWM4YzI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc2hhcmVkLXN1YnRyZWUtbW91bnQtcHJpdmF0ZS1ybwpAQCAtMCwwICsxLDIgQEAKK3ByaXZhdGUKK3JvLHJlbGF0aW1lCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC9zcGVjaWFsIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc3BlY2lhbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45OTk5N2QzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvc3BlY2lhbApAQCAtMCwwICsxIEBACisvc2Jpbi9tb3VudC5teXRlc3QgY2FsbGVkIHdpdGggIi9mb28gL2JhciAtbyBydyIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LWFsbHRhcmdldHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBlNDY3OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzCkBAIC0wLDAgKzEsNiBAQAorQ3JlYXRlIHBhcnRpdGlvbnMKK0NyZWF0ZSBmaWxlc3lzdGVtIEEKK0NyZWF0ZSBmaWxlc3lzdGVtIEIKK0NyZWF0ZSBmaWxlc3lzdGVtIEMKK0NyZWF0ZSBmaWxlc3lzdGVtIEQKK1N1Y2Nlc3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzLWFsbC10YXJnZXRzLWRldiBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzLWFsbC10YXJnZXRzLWRldgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDZmODg4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LWFsbHRhcmdldHMtYWxsLXRhcmdldHMtZGV2CkBAIC0wLDAgKzEsMyBAQAorcHJlcGFyZTogTW91bnQgZGV2IHRvIG1udDEKK3ByZXBhcmU6IE1vdW50IGRldiB0byBtbnQyCitwcmVwYXJlOiBNb3VudCAvZGV2L3h4eDEgdG8gbW50MwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LWFsbHRhcmdldHMtYWxsLXRhcmdldHMtbW50IGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdW1vdW50LWFsbHRhcmdldHMtYWxsLXRhcmdldHMtbW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkNmY4ODgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtYWxsdGFyZ2V0cy1hbGwtdGFyZ2V0cy1tbnQKQEAgLTAsMCArMSwzIEBACitwcmVwYXJlOiBNb3VudCBkZXYgdG8gbW50MQorcHJlcGFyZTogTW91bnQgZGV2IHRvIG1udDIKK3ByZXBhcmU6IE1vdW50IC9kZXYveHh4MSB0byBtbnQzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtYWxsdGFyZ2V0cy1hbGwtdGFyZ2V0cy1yZWN1cnNpdmUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtYWxsdGFyZ2V0cy1hbGwtdGFyZ2V0cy1yZWN1cnNpdmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2Q2Zjg4OAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1hbGx0YXJnZXRzLWFsbC10YXJnZXRzLXJlY3Vyc2l2ZQpAQCAtMCwwICsxLDMgQEAKK3ByZXBhcmU6IE1vdW50IGRldiB0byBtbnQxCitwcmVwYXJlOiBNb3VudCBkZXYgdG8gbW50MgorcHJlcGFyZTogTW91bnQgL2Rldi94eHgxIHRvIG1udDMKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL21vdW50L3Vtb3VudC1yZWN1cnNpdmUgYi90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtcmVjdXJzaXZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZhOTVkNTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9tb3VudC91bW91bnQtcmVjdXJzaXZlCkBAIC0wLDAgKzEsMTQgQEAKK0luaXQgZGV2aWNlCitDcmVhdGUgcGFydGl0aW9ucworQ3JlYXRlIGZpbGVzeXN0ZW0gQQorQ3JlYXRlIGZpbGVzeXN0ZW0gQgorQ3JlYXRlIGZpbGVzeXN0ZW0gQworQ3JlYXRlIGZpbGVzeXN0ZW0gRAorRG8gdGVzdHMuLi4KK0EpIE1vdW50IHJvb3QKK0IpIE1vdW50IGNoaWxkCitCMikgTW91bnQgY2hpbGQtYmluZAorQykgTW91bnQgY2hpbGQvY2hpbGQKK0QpIE1vdW50IGNoaWxkL2NoaWxkCitFKSBNb3VudCBjaGlsZC1iaW5kCitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9tb3VudC91dWlkIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvbW91bnQvdXVpZApAQCAtMCwwICsxIEBACitTdWNjZXNzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9uYW1laS9sb2dpYyBiL3Rlc3RzL2V4cGVjdGVkL25hbWVpL2xvZ2ljCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjYjVhMjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9uYW1laS9sb2dpYwpAQCAtMCwwICsxLDggQEAKK2Y6IG5hbWVpMS9uYW1laTIvYQorIGQgbmFtZWkxCisgZCBuYW1laTIKKyAtIGEKK2Y6IG5hbWVpMS9uYW1laTIvYgorIGQgbmFtZWkxCisgZCBuYW1laTIKKyAtIGIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWFkZC1hbGwgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1hZGQtYWxsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNlMzg5NDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1hZGQtYWxsCkBAIC0wLDAgKzEgQEAKK3BhcnRpdGlvbnMgYWRkZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWFkZC1leGlzdGluZyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWFkZC1leGlzdGluZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzI4MWRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYWRkLWV4aXN0aW5nCkBAIC0wLDAgKzEgQEAKK3BhcnR4OiBPSwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtYWRkcGFydCBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWFkZHBhcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg2YmFjOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWFkZHBhcnQKQEAgLTAsMCArMSBAQAorT0sKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWNoYW5nZS1ieS1yYW5nZSBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWNoYW5nZS1ieS1yYW5nZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYTlkZTA1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtY2hhbmdlLWJ5LXJhbmdlCkBAIC0wLDAgKzEsMiBAQAorcGFydGl0aW9ucyBkZWxldGVkCitwYXJ0aXRpb25zIGFkZGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kZWxldGUtYWxsIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVsZXRlLWFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTZkYTZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVsZXRlLWFsbApAQCAtMCwwICsxIEBACitwYXJ0aXRpb25zIGRlbGV0ZWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRlbGV0ZS1ub24tZXhpc3RlbnQgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kZWxldGUtbm9uLWV4aXN0ZW50Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFjMjgxZGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1kZWxldGUtbm9uLWV4aXN0ZW50CkBAIC0wLDAgKzEgQEAKK3BhcnR4OiBPSwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVsZXRlLW9uZSBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRlbGV0ZS1vbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE4NWVhMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRlbGV0ZS1vbmUKQEAgLTAsMCArMSBAQAorbGFzdCBwYXJ0aXRpb24gcmVtb3ZlZApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGVscGFydCBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRlbHBhcnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDg2YmFjOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRlbHBhcnQKQEAgLTAsMCArMSBAQAorT0sKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRldGVjdC1wYXJ0cyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWRldGVjdC1wYXJ0cwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zM2Q0MmE1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtZGV0ZWN0LXBhcnRzCkBAIC0wLDAgKzEsNSBAQAorTlIgU1RBUlQgICAgRU5EIFNFQ1RPUlMgIFNJWkUgTkFNRSBVVUlECisgMSAgICAzMiAgMzM3OTEgICAzMzc2MCAxNi41TSAgICAgIAorIDIgMzM3OTIgIDY3NTgzICAgMzM3OTIgMTYuNU0gICAgICAKKyAzIDY3NTg0IDEwMjM5OSAgIDM0ODE2ICAgMTdNICAgICAgCitPSwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2UtYXRhcmktaWNkIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2UtYXRhcmktaWNkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg2NzdkZmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1pbWFnZS1hdGFyaS1pY2QKQEAgLTAsMCArMSw3IEBACitOUiBTVEFSVCAgIEVORCBTRUNUT1JTICAgU0laRSBOQU1FIFVVSUQKKyAxICAgIDY1ICA0MDk2ICAgIDQwMzIgICAgIDJNICAgICAgCisgMiAgNDA5NyAgNTAwMCAgICAgOTA0ICAgNDUySyAgICAgIAorIDQgMTIyODkgMTYzODQgICAgNDA5NiAgICAgMk0gICAgICAKKyA1ICA1MDAyICA3MDAwICAgIDE5OTkgOTk5LjVLICAgICAgCisgNiAgNzAwMyAxMDI0MCAgICAzMjM4ICAgMS42TSAgICAgIAorIDcgMTAyNDEgMTIyODggICAgMjA0OCAgICAgMU0gICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWltYWdlLWF0YXJpLXhnbSBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWltYWdlLWF0YXJpLXhnbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNDhkNmE1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2UtYXRhcmkteGdtCkBAIC0wLDAgKzEsNyBAQAorTlIgU1RBUlQgICBFTkQgU0VDVE9SUyAgIFNJWkUgTkFNRSBVVUlECisgMSAgICA2NSAgNDA5NiAgICA0MDMyICAgICAyTSAgICAgIAorIDIgIDQwOTcgIDUwMDAgICAgIDkwNCAgIDQ1MksgICAgICAKKyAzICA1MDAyICA3MDAwICAgIDE5OTkgOTk5LjVLICAgICAgCisgNCAgNzAwMyAxMDI0MCAgICAzMjM4ICAgMS42TSAgICAgIAorIDUgMTAyNDEgMTIyODggICAgMjA0OCAgICAgMU0gICAgICAKKyA2IDEyMjg5IDE2Mzg0ICAgIDQwOTYgICAgIDJNICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1pbWFnZS1ic2QgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1pbWFnZS1ic2QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTU1NjhjNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWltYWdlLWJzZApAQCAtMCwwICsxLDMgQEAKK05SIFNUQVJUICAgRU5EIFNFQ1RPUlMgU0laRSBOQU1FIFVVSUQKKyAxICA3OTM2IDEyNzk5ICAgIDQ4NjQgMi40TSAgICAgIAorIDIgMTI1NDQgMTYxMjcgICAgMzU4NCAxLjhNICAgICAgCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1pbWFnZS1kb3MrYnNkIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2UtZG9zK2JzZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNzk2MzNkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2UtZG9zK2JzZApAQCAtMCwwICsxLDUgQEAKK05SIFNUQVJUICAgRU5EIFNFQ1RPUlMgU0laRSBOQU1FIFVVSUQKKyAxICAgIDMyICA3Njc5ICAgIDc2NDggMy44TSAgICAgIDhmODM3OGMwLTAxCisgMiAgNzY4MCAxNjM4MyAgICA4NzA0IDQuM00gICAgICA4ZjgzNzhjMC0wMgorIDUgIDc5MzYgMTI3OTkgICAgNDg2NCAyLjRNICAgICAgCisgNiAxMjU0NCAxNjEyNyAgICAzNTg0IDEuOE0gICAgICAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWltYWdlLWdwdCBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWltYWdlLWdwdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTQxZjM2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2UtZ3B0CkBAIC0wLDAgKzEsNiBAQAorTlIgU1RBUlQgICBFTkQgU0VDVE9SUyAgU0laRSBOQU1FICAgICAgICAgICAgVVVJRAorIDEgICAgMzQgIDIwNDcgICAgMjAxNCAxMDA3SyBUaGlzSXNOYW1lICAgICAgMWRjZjEwYmMtNjM3ZS00YzUyLTgyMDMtMDg3YWUxMGE4MjBiCisgMiAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgIDFNIFRoaXNJc090aGVyTmFtZSBhMWQwM2E5Ni03MjM4LTQ2YzYtYmJiMy03ODljYmUxNzNlYzcKKyAzICA0MDk2ICA2MTQzICAgIDIwNDggICAgMU0gcHJpbWFyeSAgICAgICAgIGE3MTAxYjZjLTQ2OGMtNDdkZi1hZmY2LWNkNDQ0ZDEyYWY2MQorIDQgIDYxNDQgIDgxOTEgICAgMjA0OCAgICAxTSBwcmltYXJ5ICAgICAgICAgYWZjNDk1MGEtZjBmMS00YWRkLTgwMmMtNTk1NzEzMzQ4NmQxCisgNSAgODE5MiAxMDIzOSAgICAyMDQ4ICAgIDFNIHByaW1hcnkgICAgICAgICAwZGIwYTc4Ny1jMTZiLTQ4ODYtYWYzYS1mYmI5NzI5OTY3N2MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWltYWdlLXNnaSBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LWltYWdlLXNnaQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jYTVjZGZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2Utc2dpCkBAIC0wLDAgKzEsNSBAQAorTlIgICBTVEFSVCAgICAgIEVORCAgU0VDVE9SUyAgIFNJWkUgTkFNRSBVVUlECisgMSAgICAgIDYzICAxNjA2NDk5ICAxNjA2NDM3IDc4NC40TSAgICAgIAorIDIgMTYwNjUwMCAzMjEyOTk5OSAzMDUyMzUwMCAgMTQuNkcgICAgICAKKyA5ICAgICAgIDAgICAgIDQwOTUgICAgIDQwOTYgICAgIDJNICAgICAgCisxMSAgICAgICAwIDMyMTI5OTk5IDMyMTMwMDAwICAxNS4zRyAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2Utc3VuIGIvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtaW1hZ2Utc3VuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2OWZkYjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXJ0eC9wYXJ0eC1pbWFnZS1zdW4KQEAgLTAsMCArMSwzIEBACitOUiBTVEFSVCAgICBFTkQgU0VDVE9SUyAgU0laRSBOQU1FIFVVSUQKKyAxICAgICAwICA4NzM3OSAgIDg3MzgwIDQyLjdNICAgICAgCisgMiA4NzM4MCAxMzEwNjkgICA0MzY5MCAyMS4zTSAgICAgIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcGFydHgvcGFydHgtdXBkYXRlLW9uZSBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LXVwZGF0ZS1vbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGRhY2Q2MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3BhcnR4L3BhcnR4LXVwZGF0ZS1vbmUKQEAgLTAsMCArMSBAQAorcGFydGl0aW9ucyB1cGRhdGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9wYXRocy9idWlsdC1pbiBiL3Rlc3RzL2V4cGVjdGVkL3BhdGhzL2J1aWx0LWluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyNzRhZmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9wYXRocy9idWlsdC1pbgpAQCAtMCwwICsxLDIxIEBACisgICAgICAgX1BBVEhfREVGUEFUSCAvdXNyL2xvY2FsL2JpbjovYmluOi91c3IvYmluCisgIF9QQVRIX0RFRlBBVEhfUk9PVCAvdXNyL2xvY2FsL3NiaW46L3Vzci9sb2NhbC9iaW46L3NiaW46L2JpbjovdXNyL3NiaW46L3Vzci9iaW4KKyAgICAgIF9QQVRIX0RFVl9MT09QIC9kZXYvbG9vcAorICAgICBfUEFUSF9IVVNITE9HSU4gLmh1c2hsb2dpbgorICAgICAgIF9QQVRIX01BSUxESVIgL3Zhci9tYWlsCisgICAgICBfUEFUSF9NT1RERklMRSAvZXRjL21vdGQKKyAgICAgICBfUEFUSF9OT0xPR0lOIC9ldGMvbm9sb2dpbgorICAgICAgICAgX1BBVEhfTE9HSU4gL2Jpbi9sb2dpbgorICAgICAgICBfUEFUSF9QQVNTV0QgL2V0Yy9wYXNzd2QKKyAgICAgICBfUEFUSF9HU0hBRE9XIC9ldGMvZ3NoYWRvdworICAgICAgICAgX1BBVEhfR1JPVVAgL2V0Yy9ncm91cAorIF9QQVRIX1NIQURPV19QQVNTV0QgL2V0Yy9zaGFkb3cKKyAgICAgICAgIF9QQVRIX1dPUkRTIC91c3Ivc2hhcmUvZGljdC93b3JkcworICAgICBfUEFUSF9XT1JEU19BTFQgL3Vzci9zaGFyZS9kaWN0L3dlYjIKKyAgIF9QQVRIX0ZJTEVTWVNURU1TIC9ldGMvZmlsZXN5c3RlbXMKKyAgICBfUEFUSF9QUk9DX1NXQVBTIC9wcm9jL3N3YXBzCitfUEFUSF9QUk9DX0ZJTEVTWVNURU1TIC9wcm9jL2ZpbGVzeXN0ZW1zCisgICAgICAgX1BBVEhfTU9VTlRFRCAvZXRjL210YWIKKyAgICAgICAgX1BBVEhfTU5UVEFCIC9ldGMvZnN0YWIKKyAgIF9QQVRIX0RFVl9CWUxBQkVMIC9kZXYvZGlzay9ieS1sYWJlbAorICAgIF9QQVRIX0RFVl9CWVVVSUQgL2Rldi9kaXNrL2J5LXV1aWQKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3JlbmFtZS9iYXNpYyBiL3Rlc3RzL2V4cGVjdGVkL3JlbmFtZS9iYXNpYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YTdhMWQ4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL2Jhc2ljCkBAIC0wLDAgKzEsNCBAQAorYHJlbmFtZV9iYXNpYy4xJyAtPiBgcmVuYW1lX3Rlc3QuMScKK2ByZW5hbWVfYmFzaWMuMicgLT4gYHJlbmFtZV90ZXN0LjInCitgcmVuYW1lX2Jhc2ljLjMnIC0+IGByZW5hbWVfdGVzdC4zJword2hhdCBpcyByZW5hbWVfYmFzaWMuPyBkb2luZyBoZXJlPwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL2V4aXRfY29kZXMgYi90ZXN0cy9leHBlY3RlZC9yZW5hbWUvZXhpdF9jb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNTc3ODE3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL2V4aXRfY29kZXMKQEAgLTAsMCArMSw3IEBACitSRU5BTUVfRVhJVF9OT1RISU5HOiA0CitgcmVuYW1lX2V4aXRfY29kZXMuMScgLT4gYHJlbmFtZV9leGl0X3ZhbHVlcy4xJworYHJlbmFtZV9leGl0X2NvZGVzLjInIC0+IGByZW5hbWVfZXhpdF92YWx1ZXMuMicKK0VYSVRfU1VDQ0VTUzogMAorcmVuYW1lOiByZW5hbWVfZXhpdF92YWx1ZXMuMjogcmVuYW1lIHRvIHJlbmFtZV9leGl0X2NvZGVzLjIgZmFpbGVkOiBJcyBhIGRpcmVjdG9yeQorYHJlbmFtZV9leGl0X3ZhbHVlcy4xJyAtPiBgcmVuYW1lX2V4aXRfY29kZXMuMScKK1JFTkFNRV9FWElUX1NPTUVPSzogMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvcmVuYW1lL292ZXJ3cml0ZSBiL3Rlc3RzL2V4cGVjdGVkL3JlbmFtZS9vdmVyd3JpdGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjE2Zjc5OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3JlbmFtZS9vdmVyd3JpdGUKQEAgLTAsMCArMSBAQAorU2tpcHBpbmcgZXhpc3RpbmcgZmlsZTogYHJlbmFtZV90bycKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3JlbmFtZS9zdWJkaXIgYi90ZXN0cy9leHBlY3RlZC9yZW5hbWUvc3ViZGlyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY0Mjk2MDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9yZW5hbWUvc3ViZGlyCkBAIC0wLDAgKzEsMjkgQEAKKz09IGZpbGVzID09CitgcmVuYW1lX2FhL2FhJyAtPiBgcmVuYW1lX2FhL3hhJworYHJlbmFtZV9hYi9hYScgLT4gYHJlbmFtZV9hYi94YScKK3JlbmFtZV9hYQorcmVuYW1lX2FhL3hhCityZW5hbWVfYWIKK3JlbmFtZV9hYi94YQorPT0gc3ltbGlua3MgPT0KK3JlbmFtZV9hYS9zdWJsaW5rLjE6IGByZW5hbWUvYWEnIC0+IGByZW54bWUvYWEnCityZW5hbWVfYWEvc3VibGluay4yOiBgcmVuYW1lL2FhJyAtPiBgcmVueG1lL2FhJworcmVuYW1lX2FhL3N1YmxpbmsuMzogYHJlbmFtZS9hYScgLT4gYHJlbnhtZS9hYScKK3JlbmFtZV9hYi9zdWJsaW5rLjE6IGByZW5hbWUvYWEnIC0+IGByZW54bWUvYWEnCityZW5hbWVfYWIvc3VibGluay4yOiBgcmVuYW1lL2FhJyAtPiBgcmVueG1lL2FhJworcmVuYW1lX2FiL3N1YmxpbmsuMzogYHJlbmFtZS9hYScgLT4gYHJlbnhtZS9hYScKK3JlbnhtZS9hYQorcmVueG1lL2FhCityZW54bWUvYWEKK3JlbnhtZS9hYQorcmVueG1lL2FhCityZW54bWUvYWEKKz09IGZ1bGxwYXRoID09CitgLi9yZW5hbWVfcGF0aDEnIC0+IGAuL3JlbmFtZV9wYXRoMicKKy4vcmVuYW1lX3BhdGgyCitgcmVuYW1lX3BhdGhfdGVzdDEnIC0+IGByZW5hbWVfcGF0aF9hL3Rlc3QxJworLi9yZW5hbWVfcGF0aF9hL3Rlc3QxCitgcmVuYW1lX3BhdGhfYS90ZXN0MicgLT4gYHJlbmFtZV9wYXRoX2IvdGVzdDInCityZW5hbWVfcGF0aF9hCityZW5hbWVfcGF0aF9iCityZW5hbWVfcGF0aF9iL3Rlc3QyCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9yZW5hbWUvc3ltbGluayBiL3Rlc3RzL2V4cGVjdGVkL3JlbmFtZS9zeW1saW5rCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM4ZTY4N2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9yZW5hbWUvc3ltbGluawpAQCAtMCwwICsxLDMgQEAKK3JlbmFtZV9zbGluay4xOiBgb2xkJyAtPiBgbmV3JworcmVuYW1lX3NsaW5rLjI6IGBvbGQnIC0+IGBuZXcnCityZW5hbWVfc2xpbmsuMzogYG9sZCcgLT4gYG5ldycKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydCBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjlkZTI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtYmF0Y2ggYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtYmF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjk0ZmM2ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1iYXRjaApAQCAtMCwwICsxLDIgQEAKK1NDSEVEX0JBVENICiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtZGVhZGxpbmUgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtZGVhZGxpbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzNkNTUyNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1kZWFkbGluZQpAQCAtMCwwICsxLDkgQEAKK1NDSEVEX0RFQURMSU5FCiswCis8cmVtb3ZlZD4ncyBjdXJyZW50IHJ1bnRpbWUvZGVhZGxpbmUvcGVyaW9kIHBhcmFtZXRlcnM6IDEzMDAwLzEzMDAwLzEzMDAwCitTQ0hFRF9ERUFETElORQorMAorPHJlbW92ZWQ+J3MgY3VycmVudCBydW50aW1lL2RlYWRsaW5lL3BlcmlvZCBwYXJhbWV0ZXJzOiAxMjAwMC8xMjAwMC8xMzAwMAorU0NIRURfREVBRExJTkUKKzAKKzxyZW1vdmVkPidzIGN1cnJlbnQgcnVudGltZS9kZWFkbGluZS9wZXJpb2QgcGFyYW1ldGVyczogMTAwMDAvMTIwMDAvMTMwMDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1maWZvIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LWZpZm8KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGNmYTA3ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1maWZvCkBAIC0wLDAgKzEsNCBAQAorU0NIRURfRklGTworMQorU0NIRURfRklGTworOTkKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1pZGxlIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LWlkbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDJhNDNjYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1pZGxlCkBAIC0wLDAgKzEsMiBAQAorU0NIRURfSURMRQorMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LW5vbi1yb290LWJhdGNoLXZzLW5pY2UgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NocnQtbm9uLXJvb3QtYmF0Y2gtdnMtbmljZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmNmNTFhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LW5vbi1yb290LWJhdGNoLXZzLW5pY2UKQEAgLTAsMCArMSwzIEBACis8cmVtb3ZlZD4gKHByb2Nlc3MgSUQpIG9sZCBwcmlvcml0eSAwLCBuZXcgcHJpb3JpdHkgNQorU0NIRURfQkFUQ0gKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1vdGhlciBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1vdGhlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNzAxM2VhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LW90aGVyCkBAIC0wLDAgKzEsMiBAQAorU0NIRURfT1RIRVIKKzAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1yciBiL3Rlc3RzL2V4cGVjdGVkL3NjaGVkdXRpbHMvY2hydC1ycgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWVlOTBkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jaHJ0LXJyCkBAIC0wLDAgKzEsNCBAQAorU0NIRURfUlIKKzEKK1NDSEVEX1JSCis5OQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jcHVzZXQgYi90ZXN0cy9leHBlY3RlZC9zY2hlZHV0aWxzL2NwdXNldApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMGUxNzYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NoZWR1dGlscy9jcHVzZXQKQEAgLTAsMCArMSwyNCBAQAorbWFza3M6CisweDAwMDAwMDAxICAgICAgPSAgICAgICAgICAgICAgIDEgWzBdCisweDAwMDAwMDAyICAgICAgPSAgICAgICAgICAgICAgIDIgWzFdCisweDAwMDAwMDAzICAgICAgPSAgICAgICAgICAgICAgIDMgWzAsMV0KKzB4MDAwMDAwMDQgICAgICA9ICAgICAgICAgICAgICAgNCBbMl0KKzB4MDAwMDAwMDUgICAgICA9ICAgICAgICAgICAgICAgNSBbMCwyXQorMHgwMDAwMDAwNiAgICAgID0gICAgICAgICAgICAgICA2IFsxLDJdCisweDAwMDAwMDA3ICAgICAgPSAgICAgICAgICAgICAgIDcgWzAtMl0KKzB4MDAwMDAwMDggICAgICA9ICAgICAgICAgICAgICAgOCBbM10KKzB4MDAwMDAwMDkgICAgICA9ICAgICAgICAgICAgICAgOSBbMCwzXQorMHgwMDAwNTU1NSAgICAgID0gICAgICAgICAgICA1NTU1IFswLDIsNCw2LDgsMTAsMTIsMTRdCisweDAwMDA3Nzc3ICAgICAgPSAgICAgICAgICAgIDc3NzcgWzAtMiw0LTYsOC0xMCwxMi0xNF0KK3N0cmluZ3M6CiswICAgICAgICAgICAgICAgPSAgICAgICAgICAgICAgIDEgWzBdCisxICAgICAgICAgICAgICAgPSAgICAgICAgICAgICAgIDIgWzFdCiswLDEgICAgICAgICAgICAgPSAgICAgICAgICAgICAgIDMgWzAsMV0KKzIgICAgICAgICAgICAgICA9ICAgICAgICAgICAgICAgNCBbMl0KKzAsMiAgICAgICAgICAgICA9ICAgICAgICAgICAgICAgNSBbMCwyXQorMSwyICAgICAgICAgICAgID0gICAgICAgICAgICAgICA2IFsxLDJdCiswLTIgICAgICAgICAgICAgPSAgICAgICAgICAgICAgIDcgWzAtMl0KKzMgICAgICAgICAgICAgICA9ICAgICAgICAgICAgICAgOCBbM10KKzAsMyAgICAgICAgICAgICA9ICAgICAgICAgICAgICAgOSBbMCwzXQorMCwyLDQsNiw4LDEwLDEyLDE0ID0gICAgICAgICAgICA1NTU1IFswLDIsNCw2LDgsMTAsMTIsMTRdCiswLTIsNC02LDgtMTAsMTItMTQgPSAgICAgICAgICAgIDc3NzcgWzAtMiw0LTYsOC0xMCwxMi0xNF0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9idWZmZXJpbmctcmFjZSBiL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9idWZmZXJpbmctcmFjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjIzMjUyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L2J1ZmZlcmluZy1yYWNlCkBAIC0wLDAgKzEsMyBAQAorU2NyaXB0IHN0YXJ0ZWQsIGZpbGUgaXMgL2Rldi9udWxsCitIYWxsbyBXb3JsZA0KK1NjcmlwdCBkb25lLCBmaWxlIGlzIC9kZXYvbnVsbApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L29wdGlvbnMtYXBwZW5kIGIvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L29wdGlvbnMtYXBwZW5kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmYxOGM0N2IKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1hcHBlbmQKQEAgLTAsMCArMSw4IEBACitTY3JpcHQgc3RhcnRlZCBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFs8bm90IGV4ZWN1dGVkIG9uIHRlcm1pbmFsPl0KK2FwcGVuZDENCisKK1NjcmlwdCBkb25lIG9uIDIwMTUtMDUtMjQgMTc6NDM6MTgrMDA6MDAgW0NPTU1BTkRfRVhJVF9DT0RFPSIwIl0KK1NjcmlwdCBzdGFydGVkIG9uIDIwMTUtMDUtMjQgMTc6NDM6MTgrMDA6MDAgWzxub3QgZXhlY3V0ZWQgb24gdGVybWluYWw+XQorYXBwZW5kMg0KKworU2NyaXB0IGRvbmUgb24gMjAxNS0wNS0yNCAxNzo0MzoxOCswMDowMCBbQ09NTUFORF9FWElUX0NPREU9IjAiXQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L29wdGlvbnMtZm9yY2UgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1mb3JjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kOGMwMDVhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L29wdGlvbnMtZm9yY2UKQEAgLTAsMCArMSwxNCBAQAordGVzdF9zY3JpcHQ6IG91dHB1dCBmaWxlIGB0eXBlc2NyaXB0JyBpcyBhIGxpbmsKK1VzZSAtLWZvcmNlIGlmIHlvdSByZWFsbHkgd2FudCB0byB1c2UgaXQuCitQcm9ncmFtIG5vdCBzdGFydGVkLgorMQorU2NyaXB0IHN0YXJ0ZWQgb24gMjAxNS0wNS0yNCAxNzo0MzoxOCswMDowMCBbPG5vdCBleGVjdXRlZCBvbiB0ZXJtaW5hbD5dCit3aXRoIGZvcmNlDQorCitTY3JpcHQgZG9uZSBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFtDT01NQU5EX0VYSVRfQ09ERT0iMCJdCiswCitTY3JpcHQgc3RhcnRlZCBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFs8bm90IGV4ZWN1dGVkIG9uIHRlcm1pbmFsPl0KK25vdCB0eXBlc2NyaXB0DQorCitTY3JpcHQgZG9uZSBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFtDT01NQU5EX0VYSVRfQ09ERT0iMCJdCiswCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1xdWlldCBiL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9vcHRpb25zLXF1aWV0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmEwNmI2YTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1xdWlldApAQCAtMCwwICsxLDggQEAKK1NjcmlwdCBzdGFydGVkIG9uIDIwMTUtMDUtMjQgMTc6NDM6MTgrMDA6MDAgWzxub3QgZXhlY3V0ZWQgb24gdGVybWluYWw+XQorcXVpZXQxDQorCitTY3JpcHQgZG9uZSBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFtDT01NQU5EX0VYSVRfQ09ERT0iMCJdCitTY3JpcHQgc3RhcnRlZCBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFs8bm90IGV4ZWN1dGVkIG9uIHRlcm1pbmFsPl0KK3F1aWV0Mg0KKworU2NyaXB0IGRvbmUgb24gMjAxNS0wNS0yNCAxNzo0MzoxOCswMDowMCBbQ09NTUFORF9FWElUX0NPREU9IjAiXQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L29wdGlvbnMtcmV0dXJuIGIvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L29wdGlvbnMtcmV0dXJuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzN2FlYTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1yZXR1cm4KQEAgLTAsMCArMSwxNiBAQAorU2NyaXB0IHN0YXJ0ZWQgb24gMjAxNS0wNS0yNCAxNzo0MzoxOCswMDowMCBbPG5vdCBleGVjdXRlZCBvbiB0ZXJtaW5hbD5dCisKK1NjcmlwdCBkb25lIG9uIDIwMTUtMDUtMjQgMTc6NDM6MTgrMDA6MDAgW0NPTU1BTkRfRVhJVF9DT0RFPSIxIl0KKzAKK1NjcmlwdCBzdGFydGVkIG9uIDIwMTUtMDUtMjQgMTc6NDM6MTgrMDA6MDAgWzxub3QgZXhlY3V0ZWQgb24gdGVybWluYWw+XQorCitTY3JpcHQgZG9uZSBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFtDT01NQU5EX0VYSVRfQ09ERT0iMCJdCiswCitTY3JpcHQgc3RhcnRlZCBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFs8bm90IGV4ZWN1dGVkIG9uIHRlcm1pbmFsPl0KKworU2NyaXB0IGRvbmUgb24gMjAxNS0wNS0yNCAxNzo0MzoxOCswMDowMCBbQ09NTUFORF9FWElUX0NPREU9IjQyIl0KKzQyCitTY3JpcHQgc3RhcnRlZCBvbiAyMDE1LTA1LTI0IDE3OjQzOjE4KzAwOjAwIFs8bm90IGV4ZWN1dGVkIG9uIHRlcm1pbmFsPl0KKworU2NyaXB0IGRvbmUgb24gMjAxNS0wNS0yNCAxNzo0MzoxOCswMDowMCBbQ09NTUFORF9FWElUX0NPREU9IjEyNyJdCisxMjcKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NjcmlwdC9vcHRpb25zLXNpemUgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1zaXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM5ODRkZmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvb3B0aW9ucy1zaXplCkBAIC0wLDAgKzEsOSBAQAorU2NyaXB0IHN0YXJ0ZWQgb24gMjAxNS0wNS0yNCAxNzo0MzoxOCswMDowMCBbPG5vdCBleGVjdXRlZCBvbiB0ZXJtaW5hbD5dCisxOjEyMzQ1Njc4OTANCisKK1NjcmlwdCBkb25lIG9uIDIwMTUtMDUtMjQgMTc6NDM6MTgrMDA6MDAgWzxtYXggb3V0cHV0IHNpemUgZXhjZWVkZWQ+XQorU2NyaXB0IHN0YXJ0ZWQgb24gMjAxNS0wNS0yNCAxNzo0MzoxOCswMDowMCBbPG5vdCBleGVjdXRlZCBvbiB0ZXJtaW5hbD5dCisyOjEyMzQ1Njc4OTANCisKK1NjcmlwdCBkb25lIG9uIDIwMTUtMDUtMjQgMTc6NDM6MTgrMDA6MDAgWzxtYXggb3V0cHV0IHNpemUgZXhjZWVkZWQ+XQorMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L3JhY2UgYi90ZXN0cy9leHBlY3RlZC9zY3JpcHQvcmFjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mYWVkZTVmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L3JhY2UKQEAgLTAsMCArMSBAQAorYWxsIGJpbmdvcyBzZWVuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zY3JpcHQvcmVwbGF5IGIvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L3JlcGxheQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZWZlZTM3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2NyaXB0L3JlcGxheQpAQCAtMCwwICsxLDkgQEAKK3JlY29yZCBzY3JpcHQgb3V0cHV0IHdpdGggdGltaW5nCitTY3JpcHQgc3RhcnRlZCwgZmlsZSBpcyB0eXBlc2NyaXB0CitoZWxsbyB3b3JsZA0KK2FsbCBkb25lDQorU2NyaXB0IGRvbmUsIGZpbGUgaXMgdHlwZXNjcmlwdAorcmVwbGF5IHNjcmlwdCBvdXRwdXQKK2hlbGxvIHdvcmxkDQorYWxsIGRvbmUNCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtYWN0aXZhdGUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLWFjdGl2YXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcyZjJkMjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLWFjdGl2YXRlCkBAIC0wLDAgKzEsMTkgQEAKK1RoZSBib290YWJsZSBmbGFnIG9uIHBhcnRpdGlvbiAxIGlzIGVuYWJsZWQgbm93LgorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAqICAgICAyMDQ4ICAgODE5MSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDgxOTIgIDE0MzM1ICAgIDYxNDQgICAzTSA4MiBMaW51eCBzd2FwIC8gU29sYXJpcworPHJlbW92ZWQ+MyAgICAgICAxNDMzNiAgMjA0NzkgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgIDIwNDgwIDEwMjM5OSAgIDgxOTIwICA0ME0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAgMjI1MjggIDI4NjcxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAzMDcyMCAxMDIzOTkgICA3MTY4MCAgMzVNIDgzIExpbnV4CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLWR1bXAtZ2FwcyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZHVtcC1nYXBzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0ODE5MjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLWR1bXAtZ2FwcwpAQCAtMCwwICsxLDI2IEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IElnbm9yaW5nIHBhcnRpdGlvbi4KKzxyZW1vdmVkPjM6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NDogSWdub3JpbmcgcGFydGl0aW9uLgorQWxsIHBhcnRpdGlvbnMgdXNlZC4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAqICAgICAyMDQ4ICA1MjA0NiAgIDQ5OTk5IDI0LjRNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgIDUyMDQ4IDEwMjA0NiAgIDQ5OTk5IDI0LjRNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLWR1bXAtb2xkIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1kdW1wLW9sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41OTQwMDg3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1kdW1wLW9sZApAQCAtMCwwICsxLDI1IEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IElnbm9yaW5nIHBhcnRpdGlvbi4KKzxyZW1vdmVkPjM6IElnbm9yaW5nIHBhcnRpdGlvbi4KKzxyZW1vdmVkPjQ6IElnbm9yaW5nIHBhcnRpdGlvbi4KK0FsbCBwYXJ0aXRpb25zIHVzZWQuCisKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAqICAgICAyMDQ4IDUyMDQ2ICAgNDk5OTkgMjQuNE0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZXhwbGljaXQtc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtZXhwbGljaXQtc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZDAxNTYzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1leHBsaWNpdC1zaXplCkBAIC0wLDAgKzEsNDIgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjQ6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD42OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjc6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+ODogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyAgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAgICAxICAgMTAwMCAgICAxMDAwICA1MDBLIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgICAxMDAxICAgMjAwMCAgICAxMDAwICA1MDBLIDgyIExpbnV4IHN3YXAgLyBTb2xhcmlzCis8cmVtb3ZlZD4zICAgICAgICAyMDAxICAgMzAwMCAgICAxMDAwICA1MDBLIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgICAzMDAxIDEwMjM5OSAgIDk5Mzk5IDQ4LjVNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgICAzMDAyICAgNDAwMSAgICAxMDAwICA1MDBLIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgICA0MDAzICAgNTAwMiAgICAxMDAwICA1MDBLIDgzIExpbnV4Cis8cmVtb3ZlZD43ICAgICAgICA1MDA0IDEwMjM5OSAgIDk3Mzk2IDQ3LjZNIDgzIExpbnV4CisKK1BhcnRpdGlvbiAxIGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KK1BhcnRpdGlvbiAyIGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KK1BhcnRpdGlvbiAzIGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KK1BhcnRpdGlvbiA0IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KK1BhcnRpdGlvbiA1IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KK1BhcnRpdGlvbiA2IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KK1BhcnRpdGlvbiA3IGRvZXMgbm90IHN0YXJ0IG9uIHBoeXNpY2FsIHNlY3RvciBib3VuZGFyeS4KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVhZC1kdW1wIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1yZWFkLWR1bXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWJjNmZiNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVhZC1kdW1wCkBAIC0wLDAgKzEsMzYgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjM6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NDogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD41OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjY6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NzogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggICA4MTkxICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICAgODE5MiAgMTQzMzUgICAgNjE0NCAgIDNNIDgyIExpbnV4IHN3YXAgLyBTb2xhcmlzCis8cmVtb3ZlZD4zICAgICAgIDE0MzM2ICAyMDQ3OSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjQgICAgICAgMjA0ODAgMTAyMzk5ICAgODE5MjAgIDQwTSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NSAgICAgICAyMDQ4MSAgMjY2MjQgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgIDI2NjI2IDEwMjM5OSAgIDc1Nzc0ICAzN00gODMgTGludXgKKworUGFydGl0aW9uIDUgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorUGFydGl0aW9uIDYgZG9lcyBub3Qgc3RhcnQgb24gcGh5c2ljYWwgc2VjdG9yIGJvdW5kYXJ5LgorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1yZWFkLWR1bXAtY2FzZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVhZC1kdW1wLWNhc2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODFkZjUwNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVhZC1kdW1wLWNhc2UKQEAgLTAsMCArMSwyMyBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IERvbmUuCisKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggIDgxOTEgICAgNjE0NCAgIDNNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlZHVjZS1lbXB0eS1leHRlbmRlZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVkdWNlLWVtcHR5LWV4dGVuZGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjNmY4YmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlZHVjZS1lbXB0eS1leHRlbmRlZApAQCAtMCwwICsxLDI1IEBACitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDQwOTYgMTQzMzUgICAxMDI0MCAgIDVNICA1IEV4dGVuZGVkCisKKzxyZW1vdmVkPjI6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDQwOTYgMTAyMzkgICAgNjE0NCAgIDNNICA1IEV4dGVuZGVkCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVzaXplCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4MmQxNWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZQpAQCAtMCwwICsxLDIzIEBACitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgKiAgICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gODIgTGludXggc3dhcCAvIFNvbGFyaXMKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgKiAgICAgMjA0OCAxMDIzOTkgIDEwMDM1MiAgNDlNIDgyIExpbnV4IHN3YXAgLyBTb2xhcmlzCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZS1lbXB0eS1leHRlbmRlZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVzaXplLWVtcHR5LWV4dGVuZGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRhMjc1OWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZS1lbXB0eS1leHRlbmRlZApAQCAtMCwwICsxLDI1IEBACitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDQwOTYgIDgxOTEgICAgNDA5NiAgIDJNICA1IEV4dGVuZGVkCisKKzxyZW1vdmVkPjI6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICAgNDA5NiAxMDIzOTkgICA5ODMwNCAgNDhNICA1IEV4dGVuZGVkCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZS1leHRlbmRlZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3MtcmVzaXplLWV4dGVuZGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZiN2IwOTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZS1leHRlbmRlZApAQCAtMCwwICsxLDMzIEBACitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICAgODE5MiAxODQzMSAgIDEwMjQwICAgNU0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgIDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSA4MyBMaW51eAorCis8cmVtb3ZlZD40OiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4ICAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDQwOTYgICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICAgNjE0NCAgIDgxOTEgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD40ICAgICAgICA4MTkyIDEwMjM5OSAgIDk0MjA4ICA0Nk0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAgMTAyNDAgIDEyMjg3ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAxNDMzNiAgMTYzODMgICAgMjA0OCAgIDFNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXJlc2l6ZS1sb2dpY2FsIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1yZXNpemUtbG9naWNhbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Y2ViOWEzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1yZXNpemUtbG9naWNhbApAQCAtMCwwICsxLDMzIEBACitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDQwOTYgIDYxNDMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgICA2MTQ0ICA4MTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICAgODE5MiAyODY3MSAgIDIwNDgwICAxME0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjUgICAgICAgMTAyNDAgMTIyODcgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgIDE0MzM2IDE2MzgzICAgIDIwNDggICAxTSA4MyBMaW51eAorCis8cmVtb3ZlZD42OiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgICA0MDk2ICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICAgNjE0NCAgODE5MSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjQgICAgICAgIDgxOTIgMjg2NzEgICAyMDQ4MCAgMTBNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgIDEwMjQwIDEyMjg3ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAxNDMzNiAyNjYyMyAgIDEyMjg4ICAgNk0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3Mtc2ltcGxlLWNvbW1hcyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3Mtc2ltcGxlLWNvbW1hcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMGIzZTM3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1zaW1wbGUtY29tbWFzCkBAIC0wLDAgKzEsMzEgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD40OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjU6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD43OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAgIDgxOTEgICAgNjE0NCAgIDNNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgICA4MTkyICAxNDMzNSAgICA2MTQ0ICAgM00gODIgTGludXggc3dhcCAvIFNvbGFyaXMKKzxyZW1vdmVkPjMgICAgICAgMTQzMzYgIDIwNDc5ICAgIDYxNDQgICAzTSA4MyBMaW51eAorPHJlbW92ZWQ+NCAgICAgICAyMDQ4MCAxMDIzOTkgICA4MTkyMCAgNDBNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD41ICAgICAgIDIyNTI4ICAyODY3MSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgMzA3MjAgMTAyMzk5ICAgNzE2ODAgIDM1TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1zaW1wbGUtc3BhY2UgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXNpbXBsZS1zcGFjZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lNjkwYmEyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy1zaW1wbGUtc3BhY2UKQEAgLTAsMCArMSwyNSBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjQ6IERvbmUuCisKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4ICAgODE5MSAgICA2MTQ0ICAgM00gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgIDgxOTIgIDE0MzM1ICAgIDYxNDQgICAzTSA4MiBMaW51eCBzd2FwIC8gU29sYXJpcworPHJlbW92ZWQ+MyAgICAgICAxNDMzNiAxMDIzOTkgICA4ODA2NCAgNDNNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXdyaXRlLWR1bXAgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXdyaXRlLWR1bXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDgwY2VkNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9kb3Mtd3JpdGUtZHVtcApAQCAtMCwwICsxLDExIEBACitsYWJlbDogZG9zCitsYWJlbC1pZDogMHgxZGRjOGE3OQorZGV2aWNlOiA8cmVtb3ZlZD4KK3VuaXQ6IHNlY3RvcnMKKworPHJlbW92ZWQ+MSA6IHN0YXJ0PSAgICAgICAgMjA0OCwgc2l6ZT0gICAgICAgIDYxNDQsIHR5cGU9ODMsIGJvb3RhYmxlCis8cmVtb3ZlZD4yIDogc3RhcnQ9ICAgICAgICA4MTkyLCBzaXplPSAgICAgICAgNjE0NCwgdHlwZT04MgorPHJlbW92ZWQ+MyA6IHN0YXJ0PSAgICAgICAxNDMzNiwgc2l6ZT0gICAgICAgIDYxNDQsIHR5cGU9ODMKKzxyZW1vdmVkPjQgOiBzdGFydD0gICAgICAgMjA0ODAsIHNpemU9ICAgICAgIDgxOTIwLCB0eXBlPTUKKzxyZW1vdmVkPjUgOiBzdGFydD0gICAgICAgMjA0ODEsIHNpemU9ICAgICAgICA2MTQ0LCB0eXBlPTgzCis8cmVtb3ZlZD42IDogc3RhcnQ9ICAgICAgIDI2NjI2LCBzaXplPSAgICAgICA3NTc3NCwgdHlwZT04MwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy13cml0ZS1qc29uIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2Rvcy13cml0ZS1qc29uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI5MjU5Y2QKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZG9zLXdyaXRlLWpzb24KQEAgLTAsMCArMSwxNiBAQAoreworICAgInBhcnRpdGlvbnRhYmxlIjogeworICAgICAgImxhYmVsIjoiZG9zIiwKKyAgICAgICJpZCI6IjB4MWRkYzhhNzkiLAorICAgICAgImRldmljZSI6IjxyZW1vdmVkPiIsCisgICAgICAidW5pdCI6InNlY3RvcnMiLAorICAgICAgInBhcnRpdGlvbnMiOiBbCisgICAgICAgICB7Im5vZGUiOiI8cmVtb3ZlZD4xIiwgInN0YXJ0IjoyMDQ4LCAic2l6ZSI6NjE0NCwgInR5cGUiOiI4MyIsICJib290YWJsZSI6dHJ1ZX0sCisgICAgICAgICB7Im5vZGUiOiI8cmVtb3ZlZD4yIiwgInN0YXJ0Ijo4MTkyLCAic2l6ZSI6NjE0NCwgInR5cGUiOiI4MiJ9LAorICAgICAgICAgeyJub2RlIjoiPHJlbW92ZWQ+MyIsICJzdGFydCI6MTQzMzYsICJzaXplIjo2MTQ0LCAidHlwZSI6IjgzIn0sCisgICAgICAgICB7Im5vZGUiOiI8cmVtb3ZlZD40IiwgInN0YXJ0IjoyMDQ4MCwgInNpemUiOjgxOTIwLCAidHlwZSI6IjUifSwKKyAgICAgICAgIHsibm9kZSI6IjxyZW1vdmVkPjUiLCAic3RhcnQiOjIwNDgxLCAic2l6ZSI6NjE0NCwgInR5cGUiOiI4MyJ9LAorICAgICAgICAgeyJub2RlIjoiPHJlbW92ZWQ+NiIsICJzdGFydCI6MjY2MjYsICJzaXplIjo3NTc3NCwgInR5cGUiOiI4MyJ9CisgICAgICBdCisgICB9Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWFsbC1kZWZhdWx0cyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYWxsLWRlZmF1bHRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA0OGFlM2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWFsbC1kZWZhdWx0cwpAQCAtMCwwICsxLDMxIEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjQ6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD42OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggIDEyMjg3ICAgMTAyNDAgICA1TSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4yICAxMjI4OCAgMjI1MjcgICAxMDI0MCAgIDVNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDIyNTI4ICAzMjc2NyAgIDEwMjQwICAgNU0gTGludXggc3dhcAorPHJlbW92ZWQ+NCAgMzI3NjggIDQzMDA3ICAgMTAyNDAgICA1TSBMaW51eCByb290ICh4ODYtNjQpCis8cmVtb3ZlZD41ICA0MzAwOCAxMDIzNjYgICA1OTM1OSAgMjlNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiYTE2MTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzCkBAIC0wLDAgKzEsMTExMCBAQAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorUmVxdWlyZWRQYXJ0aXRpb24gTm9CbG9ja0lPUHJvdG9jb2wgR1VJRDo0OCw1MQorCitXZWxjb21lIHRvIGZkaXNrIDxyZW1vdmVkPi4KK0NoYW5nZXMgd2lsbCByZW1haW4gaW4gbWVtb3J5IG9ubHksIHVudGlsIHlvdSBkZWNpZGUgdG8gd3JpdGUgdGhlbS4KK0JlIGNhcmVmdWwgYmVmb3JlIHVzaW5nIHRoZSB3cml0ZSBjb21tYW5kLgorCisKK0NvbW1hbmQgKG0gZm9yIGhlbHApOiAKK0V4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogCitQTUJSOiBvZmZzZXQgPSAwLCBzaXplID0gNTEyIGJ5dGVzLgorMDAwMDAwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxYzAgIDAyIDAwIGVlIGZmIGZmIGZmIDAxIDAwICAwMCAwMCBmZiA4ZiAwMSAwMCAwMCAwMAorMDAwMDAxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCA1NSBhYQorCitHUFQgSGVhZGVyOiBvZmZzZXQgPSA1MTIsIHNpemUgPSA1MTIgYnl0ZXMuCiswMDAwMDIwMCAgNDUgNDYgNDkgMjAgNTAgNDEgNTIgNTQgIDAwIDAwIDAxIDAwIDVjIDAwIDAwIDAwCiswMDAwMDIxMCAgY2MgNWEgY2UgY2YgMDAgMDAgMDAgMDAgIDAxIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDIyMCAgZmYgOGYgMDEgMDAgMDAgMDAgMDAgMDAgIDAwIDA4IDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDIzMCAgZGUgOGYgMDEgMDAgMDAgMDAgMDAgMDAgIDk5IGMzIDgxIGIxIDExIDQ3IDUyIDRjCiswMDAwMDI0MCAgOGIgNjUgOWUgNzYgNDUgNDEgMjEgOGQgIDAyIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDI1MCAgODAgMDAgMDAgMDAgODAgMDAgMDAgMDAgIDlmIDkxIDYyIDEwIDAwIDAwIDAwIDAwCiswMDAwMDI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCisKK0dQVCBFbnRyaWVzOiBvZmZzZXQgPSAxMDI0LCBzaXplID0gMTYzODQgYnl0ZXMuCiswMDAwMDQwMCAgMjggNzMgMmEgYzEgMWYgZjggZDIgMTEgIGJhIDRiIDAwIGEwIGM5IDNlIGM5IDNiCiswMDAwMDQxMCAgN2IgNjUgZGMgOTEgYjQgZDcgNTMgNDYgIGEzIDY3IDY2IDMxIDk0IGZmIGQ0IDMyCiswMDAwMDQyMCAgMDAgMDggMDAgMDAgMDAgMDAgMDAgMDAgIGZmIDJmIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDQ1IDAwIDQ2IDAwIDQ5IDAwIDIwIDAwCiswMDAwMDQ0MCAgNzMgMDAgNzkgMDAgNzMgMDAgNzQgMDAgIDY1IDAwIDZkIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDQ4MCAgYWYgM2QgYzYgMGYgODMgODQgNzIgNDcgIDhlIDc5IDNkIDY5IGQ4IDQ3IDdkIGU0CiswMDAwMDQ5MCAgZGYgOGEgYTAgYmEgN2UgMzIgNzcgNDEgIDg5IDUzIDk4IGRhIDFhIDUxIDc2IGM0CiswMDAwMDRhMCAgMDAgMzAgMDAgMDAgMDAgMDAgMDAgMDAgIGZmIDU3IDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRiMCAgMDMgMDAgMDAgMDAgMDAgMDAgMDkgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDUwMCAgNmQgZmQgNTcgMDYgYWIgYTQgYzQgNDMgIDg0IGU1IDA5IDMzIGM4IDRiIDRmIDRmCiswMDAwMDUxMCAgODcgOGEgYWQgY2UgMWEgZmYgY2IgNDUgIDgzIGU1IDk5IGIwIDhkIDBlIGJjIDg3CiswMDAwMDUyMCAgMDAgNTggMDAgMDAgMDAgMDAgMDAgMDAgIGZmIDdmIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDU4MCAgZTMgYmMgNjggNGYgY2QgZTggYjEgNGQgIDk2IGU3IGZiIGNhIGY5IDg0IGI3IDA5CiswMDAwMDU5MCAgNjAgZGMgZmMgZDQgNWQgNzYgYzMgNGIgIGJkIDg0IDBkIDBiIDk4IDQyIGM2IGRiCiswMDAwMDVhMCAgMDAgODAgMDAgMDAgMDAgMDAgMDAgMDAgIGZmIGE3IDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDYwMCAgYWYgM2QgYzYgMGYgODMgODQgNzIgNDcgIDhlIDc5IDNkIDY5IGQ4IDQ3IDdkIGU0CiswMDAwMDYxMCAgZDcgNWIgMTUgNjAgZDggYmYgOGMgNGUgIGI4IDAwIDIyIDE5IDAwIDc3IDkzIDczCiswMDAwMDYyMCAgMDAgYTggMDAgMDAgMDAgMDAgMDAgMDAgIGRlIDhmIDAxIDAwIDAwIDAwIDAwIDAwCiswMDAwMDYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDcwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDcxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDcyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDczMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDc5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDdmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDgwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDgxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDgyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDgzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDg5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDhmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDkwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDkxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDkyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDkzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDk5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDlhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDliMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDljMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDlkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDllMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDlmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMGZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTcwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTcxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTcyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTczMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTc5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTdmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTgwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTgxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTgyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTgzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTg5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMThmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTkwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTkxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTkyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTkzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTk5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTlhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTliMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTljMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTlkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTllMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMTlmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMWZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjcwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjcxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjcyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjczMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjc5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjdmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjgwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjgxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjgyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjgzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjg5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjhmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjkwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjkxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjkyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjkzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjk5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjlhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjliMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjljMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjlkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjllMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMjlmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMmZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzQ5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzRmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzUwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzUxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzUyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzUzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzU5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzVmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzYwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzYxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzYyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzYzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzY5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzcwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzcxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzcyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzczMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzc5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzdmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzgwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzgxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzgyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzgzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzg5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzhmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzkwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzkxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzkyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzkzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzk5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzlhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzliMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzljMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzlkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzllMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMzlmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2EwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2EyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2EzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2E5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2FmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2IwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2IxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2IyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2IzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2I5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2JmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2MwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2MxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2MyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2MzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2M5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2NmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2QwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2QxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2QyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2QzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Q5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2RmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2UwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2UxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2UyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2UzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2U5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ViMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2VmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2YwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2YxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2YyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2YzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2Y5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwM2ZmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDIwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDIxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDIyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDIzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDI5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDJmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDMwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDMxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDMyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDMzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDM5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwNDNmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCisKK0V4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogCisKK0V4cGVydCBjb21tYW5kIChtIGZvciBoZWxwKTogCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWJyb2tlbi1ndWlkIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycy1icm9rZW4tZ3VpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZTU3MzQxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycy1icm9rZW4tZ3VpZApAQCAtMCwwICsxLDIgQEAKK3Vuc3VwcG9ydGVkIEdQVCBhdHRyaWJ1dGUgYml0ICdHVUlEOk5vQmxvY2tJT1Byb3RvY29sIEdVSUQ6R1VJRDo2MyBSZXF1aXJlZFBhcnRpdG9uJworc2ZkaXNrOiA8cmVtb3ZlZD46IHBhcnRpdGlvbiAyOiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWJyb2tlbi1ub3NlcCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtYnJva2VuLW5vc2VwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0Njk3OWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWJyb2tlbi1ub3NlcApAQCAtMCwwICsxLDIgQEAKK2ZhaWxlZCB0byBwYXJzZSBHUFQgYXR0cmlidXRlIHN0cmluZyAnTm9CbG9ja0lPUHJvdG9jb2xSZXF1aXJlZFBhcnRpdG9uJworc2ZkaXNrOiA8cmVtb3ZlZD46IHBhcnRpdGlvbiAyOiBmYWlsZWQgdG8gc2V0IHBhcnRpdGlvbiBhdHRyaWJ1dGVzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWd1aWQgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLWd1aWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzM2OGZiNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtZ3VpZApAQCAtMCwwICsxLDExMTAgQEAKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KK0dVSUQ6NDgsNTEsNTIsNjMKKworV2VsY29tZSB0byBmZGlzayA8cmVtb3ZlZD4uCitDaGFuZ2VzIHdpbGwgcmVtYWluIGluIG1lbW9yeSBvbmx5LCB1bnRpbCB5b3UgZGVjaWRlIHRvIHdyaXRlIHRoZW0uCitCZSBjYXJlZnVsIGJlZm9yZSB1c2luZyB0aGUgd3JpdGUgY29tbWFuZC4KKworCitDb21tYW5kIChtIGZvciBoZWxwKTogCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IAorUE1CUjogb2Zmc2V0ID0gMCwgc2l6ZSA9IDUxMiBieXRlcy4KKzAwMDAwMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWMwICAwMiAwMCBlZSBmZiBmZiBmZiAwMSAwMCAgMDAgMDAgZmYgOGYgMDEgMDAgMDAgMDAKKzAwMDAwMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgNTUgYWEKKworR1BUIEhlYWRlcjogb2Zmc2V0ID0gNTEyLCBzaXplID0gNTEyIGJ5dGVzLgorMDAwMDAyMDAgIDQ1IDQ2IDQ5IDIwIDUwIDQxIDUyIDU0ICAwMCAwMCAwMSAwMCA1YyAwMCAwMCAwMAorMDAwMDAyMTAgIDBkIGE1IDRiIGRhIDAwIDAwIDAwIDAwICAwMSAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyMjAgIGZmIDhmIDAxIDAwIDAwIDAwIDAwIDAwICAwMCAwOCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyMzAgIGRlIDhmIDAxIDAwIDAwIDAwIDAwIDAwICA5OSBjMyA4MSBiMSAxMSA0NyA1MiA0YworMDAwMDAyNDAgIDhiIDY1IDllIDc2IDQ1IDQxIDIxIDhkICAwMiAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyNTAgIDgwIDAwIDAwIDAwIDgwIDAwIDAwIDAwICAxNSA0ZSBkZiBmYSAwMCAwMCAwMCAwMAorMDAwMDAyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDAzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorCitHUFQgRW50cmllczogb2Zmc2V0ID0gMTAyNCwgc2l6ZSA9IDE2Mzg0IGJ5dGVzLgorMDAwMDA0MDAgIDI4IDczIDJhIGMxIDFmIGY4IGQyIDExICBiYSA0YiAwMCBhMCBjOSAzZSBjOSAzYgorMDAwMDA0MTAgIDdiIDY1IGRjIDkxIGI0IGQ3IDUzIDQ2ICBhMyA2NyA2NiAzMSA5NCBmZiBkNCAzMgorMDAwMDA0MjAgIDAwIDA4IDAwIDAwIDAwIDAwIDAwIDAwICBmZiAyZiAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICA0NSAwMCA0NiAwMCA0OSAwMCAyMCAwMAorMDAwMDA0NDAgIDczIDAwIDc5IDAwIDczIDAwIDc0IDAwICA2NSAwMCA2ZCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ODAgIGFmIDNkIGM2IDBmIDgzIDg0IDcyIDQ3ICA4ZSA3OSAzZCA2OSBkOCA0NyA3ZCBlNAorMDAwMDA0OTAgIGRmIDhhIGEwIGJhIDdlIDMyIDc3IDQxICA4OSA1MyA5OCBkYSAxYSA1MSA3NiBjNAorMDAwMDA0YTAgIDAwIDMwIDAwIDAwIDAwIDAwIDAwIDAwICBmZiA1NyAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDE5IDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1MDAgIDZkIGZkIDU3IDA2IGFiIGE0IGM0IDQzICA4NCBlNSAwOSAzMyBjOCA0YiA0ZiA0ZgorMDAwMDA1MTAgIDg3IDhhIGFkIGNlIDFhIGZmIGNiIDQ1ICA4MyBlNSA5OSBiMCA4ZCAwZSBiYyA4NworMDAwMDA1MjAgIDAwIDU4IDAwIDAwIDAwIDAwIDAwIDAwICBmZiA3ZiAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ODAgIGUzIGJjIDY4IDRmIGNkIGU4IGIxIDRkICA5NiBlNyBmYiBjYSBmOSA4NCBiNyAwOQorMDAwMDA1OTAgIDYwIGRjIGZjIGQ0IDVkIDc2IGMzIDRiICBiZCA4NCAwZCAwYiA5OCA0MiBjNiBkYgorMDAwMDA1YTAgIDAwIDgwIDAwIDAwIDAwIDAwIDAwIDAwICBmZiBhNyAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2MDAgIGFmIDNkIGM2IDBmIDgzIDg0IDcyIDQ3ICA4ZSA3OSAzZCA2OSBkOCA0NyA3ZCBlNAorMDAwMDA2MTAgIGQ3IDViIDE1IDYwIGQ4IGJmIDhjIDRlICBiOCAwMCAyMiAxOSAwMCA3NyA5MyA3MworMDAwMDA2MjAgIDAwIGE4IDAwIDAwIDAwIDAwIDAwIDAwICBkZSA4ZiAwMSAwMCAwMCAwMCAwMCAwMAorMDAwMDA2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDA5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDBmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDExZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDEzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDE5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDFmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDIzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDI5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDJmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDMzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM0ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM1ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM2ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM3ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM4ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5MzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5NzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5OTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5YzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDM5ZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNhZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNiZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNjZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNkZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNlZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDNmZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQwZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQxZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQyZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzMzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzNzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzODAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzOTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzYzAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZTAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorMDAwMDQzZjAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMAorCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IAorCitFeHBlcnQgY29tbWFuZCAobSBmb3IgaGVscCk6IApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycy1zcGFjZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtc3BhY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWJhMTYxOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtc3BhY2UKQEAgLTAsMCArMSwxMTEwIEBACisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitSZXF1aXJlZFBhcnRpdGlvbiBOb0Jsb2NrSU9Qcm90b2NvbCBHVUlEOjQ4LDUxCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKK1BNQlI6IG9mZnNldCA9IDAsIHNpemUgPSA1MTIgYnl0ZXMuCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFjMCAgMDIgMDAgZWUgZmYgZmYgZmYgMDEgMDAgIDAwIDAwIGZmIDhmIDAxIDAwIDAwIDAwCiswMDAwMDFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhCisKK0dQVCBIZWFkZXI6IG9mZnNldCA9IDUxMiwgc2l6ZSA9IDUxMiBieXRlcy4KKzAwMDAwMjAwICA0NSA0NiA0OSAyMCA1MCA0MSA1MiA1NCAgMDAgMDAgMDEgMDAgNWMgMDAgMDAgMDAKKzAwMDAwMjEwICBjYyA1YSBjZSBjZiAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjIwICBmZiA4ZiAwMSAwMCAwMCAwMCAwMCAwMCAgMDAgMDggMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjMwICBkZSA4ZiAwMSAwMCAwMCAwMCAwMCAwMCAgOTkgYzMgODEgYjEgMTEgNDcgNTIgNGMKKzAwMDAwMjQwICA4YiA2NSA5ZSA3NiA0NSA0MSAyMSA4ZCAgMDIgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjUwICA4MCAwMCAwMCAwMCA4MCAwMCAwMCAwMCAgOWYgOTEgNjIgMTAgMDAgMDAgMDAgMDAKKzAwMDAwMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKworR1BUIEVudHJpZXM6IG9mZnNldCA9IDEwMjQsIHNpemUgPSAxNjM4NCBieXRlcy4KKzAwMDAwNDAwICAyOCA3MyAyYSBjMSAxZiBmOCBkMiAxMSAgYmEgNGIgMDAgYTAgYzkgM2UgYzkgM2IKKzAwMDAwNDEwICA3YiA2NSBkYyA5MSBiNCBkNyA1MyA0NiAgYTMgNjcgNjYgMzEgOTQgZmYgZDQgMzIKKzAwMDAwNDIwICAwMCAwOCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgMmYgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgNDUgMDAgNDYgMDAgNDkgMDAgMjAgMDAKKzAwMDAwNDQwICA3MyAwMCA3OSAwMCA3MyAwMCA3NCAwMCAgNjUgMDAgNmQgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDgwICBhZiAzZCBjNiAwZiA4MyA4NCA3MiA0NyAgOGUgNzkgM2QgNjkgZDggNDcgN2QgZTQKKzAwMDAwNDkwICBkZiA4YSBhMCBiYSA3ZSAzMiA3NyA0MSAgODkgNTMgOTggZGEgMWEgNTEgNzYgYzQKKzAwMDAwNGEwICAwMCAzMCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgNTcgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGIwICAwMyAwMCAwMCAwMCAwMCAwMCAwOSAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTAwICA2ZCBmZCA1NyAwNiBhYiBhNCBjNCA0MyAgODQgZTUgMDkgMzMgYzggNGIgNGYgNGYKKzAwMDAwNTEwICA4NyA4YSBhZCBjZSAxYSBmZiBjYiA0NSAgODMgZTUgOTkgYjAgOGQgMGUgYmMgODcKKzAwMDAwNTIwICAwMCA1OCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgN2YgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTgwICBlMyBiYyA2OCA0ZiBjZCBlOCBiMSA0ZCAgOTYgZTcgZmIgY2EgZjkgODQgYjcgMDkKKzAwMDAwNTkwICA2MCBkYyBmYyBkNCA1ZCA3NiBjMyA0YiAgYmQgODQgMGQgMGIgOTggNDIgYzYgZGIKKzAwMDAwNWEwICAwMCA4MCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgYTcgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjAwICBhZiAzZCBjNiAwZiA4MyA4NCA3MiA0NyAgOGUgNzkgM2QgNjkgZDggNDcgN2QgZTQKKzAwMDAwNjEwICBkNyA1YiAxNSA2MCBkOCBiZiA4YyA0ZSAgYjggMDAgMjIgMTkgMDAgNzcgOTMgNzMKKzAwMDAwNjIwICAwMCBhOCAwMCAwMCAwMCAwMCAwMCAwMCAgZGUgOGYgMDEgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKworRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKKworRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtYXR0cnMtdW5zdXBwb3J0ZWQgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLXVuc3VwcG9ydGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg1NzczNTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLXVuc3VwcG9ydGVkCkBAIC0wLDAgKzEsMiBAQAordW5zdXBwb3J0ZWQgR1BUIGF0dHJpYnV0ZSBiaXQgJ0Zvb0JhciA0OCA1MScKK3NmZGlzazogPHJlbW92ZWQ+OiBwYXJ0aXRpb24gMjogZmFpbGVkIHRvIHNldCBwYXJ0aXRpb24gYXR0cmlidXRlcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycy13aXRoLXR5cG8gYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWF0dHJzLXdpdGgtdHlwbwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYmExNjE5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1hdHRycy13aXRoLXR5cG8KQEAgLTAsMCArMSwxMTEwIEBACisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitSZXF1aXJlZFBhcnRpdGlvbiBOb0Jsb2NrSU9Qcm90b2NvbCBHVUlEOjQ4LDUxCisKK1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+LgorQ2hhbmdlcyB3aWxsIHJlbWFpbiBpbiBtZW1vcnkgb25seSwgdW50aWwgeW91IGRlY2lkZSB0byB3cml0ZSB0aGVtLgorQmUgY2FyZWZ1bCBiZWZvcmUgdXNpbmcgdGhlIHdyaXRlIGNvbW1hbmQuCisKKworQ29tbWFuZCAobSBmb3IgaGVscCk6IAorRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKK1BNQlI6IG9mZnNldCA9IDAsIHNpemUgPSA1MTIgYnl0ZXMuCiswMDAwMDAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAxMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDAzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDA5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBjMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDBmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDExMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEyMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDEzMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE0MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE1MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE2MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE3MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE4MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDE5MCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFhMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFiMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFjMCAgMDIgMDAgZWUgZmYgZmYgZmYgMDEgMDAgIDAwIDAwIGZmIDhmIDAxIDAwIDAwIDAwCiswMDAwMDFkMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFlMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDAwIDAwCiswMDAwMDFmMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgIDAwIDAwIDAwIDAwIDAwIDAwIDU1IGFhCisKK0dQVCBIZWFkZXI6IG9mZnNldCA9IDUxMiwgc2l6ZSA9IDUxMiBieXRlcy4KKzAwMDAwMjAwICA0NSA0NiA0OSAyMCA1MCA0MSA1MiA1NCAgMDAgMDAgMDEgMDAgNWMgMDAgMDAgMDAKKzAwMDAwMjEwICBjYyA1YSBjZSBjZiAwMCAwMCAwMCAwMCAgMDEgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjIwICBmZiA4ZiAwMSAwMCAwMCAwMCAwMCAwMCAgMDAgMDggMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjMwICBkZSA4ZiAwMSAwMCAwMCAwMCAwMCAwMCAgOTkgYzMgODEgYjEgMTEgNDcgNTIgNGMKKzAwMDAwMjQwICA4YiA2NSA5ZSA3NiA0NSA0MSAyMSA4ZCAgMDIgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjUwICA4MCAwMCAwMCAwMCA4MCAwMCAwMCAwMCAgOWYgOTEgNjIgMTAgMDAgMDAgMDAgMDAKKzAwMDAwMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKworR1BUIEVudHJpZXM6IG9mZnNldCA9IDEwMjQsIHNpemUgPSAxNjM4NCBieXRlcy4KKzAwMDAwNDAwICAyOCA3MyAyYSBjMSAxZiBmOCBkMiAxMSAgYmEgNGIgMDAgYTAgYzkgM2UgYzkgM2IKKzAwMDAwNDEwICA3YiA2NSBkYyA5MSBiNCBkNyA1MyA0NiAgYTMgNjcgNjYgMzEgOTQgZmYgZDQgMzIKKzAwMDAwNDIwICAwMCAwOCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgMmYgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgNDUgMDAgNDYgMDAgNDkgMDAgMjAgMDAKKzAwMDAwNDQwICA3MyAwMCA3OSAwMCA3MyAwMCA3NCAwMCAgNjUgMDAgNmQgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNDgwICBhZiAzZCBjNiAwZiA4MyA4NCA3MiA0NyAgOGUgNzkgM2QgNjkgZDggNDcgN2QgZTQKKzAwMDAwNDkwICBkZiA4YSBhMCBiYSA3ZSAzMiA3NyA0MSAgODkgNTMgOTggZGEgMWEgNTEgNzYgYzQKKzAwMDAwNGEwICAwMCAzMCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgNTcgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGIwICAwMyAwMCAwMCAwMCAwMCAwMCAwOSAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTAwICA2ZCBmZCA1NyAwNiBhYiBhNCBjNCA0MyAgODQgZTUgMDkgMzMgYzggNGIgNGYgNGYKKzAwMDAwNTEwICA4NyA4YSBhZCBjZSAxYSBmZiBjYiA0NSAgODMgZTUgOTkgYjAgOGQgMGUgYmMgODcKKzAwMDAwNTIwICAwMCA1OCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgN2YgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNTgwICBlMyBiYyA2OCA0ZiBjZCBlOCBiMSA0ZCAgOTYgZTcgZmIgY2EgZjkgODQgYjcgMDkKKzAwMDAwNTkwICA2MCBkYyBmYyBkNCA1ZCA3NiBjMyA0YiAgYmQgODQgMGQgMGIgOTggNDIgYzYgZGIKKzAwMDAwNWEwICAwMCA4MCAwMCAwMCAwMCAwMCAwMCAwMCAgZmYgYTcgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjAwICBhZiAzZCBjNiAwZiA4MyA4NCA3MiA0NyAgOGUgNzkgM2QgNjkgZDggNDcgN2QgZTQKKzAwMDAwNjEwICBkNyA1YiAxNSA2MCBkOCBiZiA4YyA0ZSAgYjggMDAgMjIgMTkgMDAgNzcgOTMgNzMKKzAwMDAwNjIwICAwMCBhOCAwMCAwMCAwMCAwMCAwMCAwMCAgZGUgOGYgMDEgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAwZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAxZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAyZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzMzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzM2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzNzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzN2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzODkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzOWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzYzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzY2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDAzZmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MDkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MGYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MTkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MWYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MjkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MmYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzAwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzEwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzIwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzMwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzQwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzUwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzYwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzcwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzgwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0MzkwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2EwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2IwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2MwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2QwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2UwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKzAwMDA0M2YwICAwMCAwMCAwMCAwMCAwMCAwMCAwMCAwMCAgMDAgMDAgMDAgMDAgMDAgMDAgMDAgMDAKKworRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKKworRXhwZXJ0IGNvbW1hbmQgKG0gZm9yIGhlbHApOiAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtbGFiZWwgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0ZWU1ODkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LWxhYmVsCkBAIC0wLDAgKzEsNiBAQAorUGFydGl0aW9uIG5hbWUgY2hhbmdlZCBmcm9tICcnIHRvICdFRkkgc3lzdGVtJy4KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KK0VGSSBzeXN0ZW0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtbGlzdC1wbWJyIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1saXN0LXBtYnIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNhNWU2OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtbGlzdC1wbWJyCkBAIC0wLDAgKzEsMTEgQEAKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgICAgMSAxMDIzOTkgIDEwMjM5OSAgNTBNIGVlIEdQVAorCitQYXJ0aXRpb24gMSBkb2VzIG5vdCBzdGFydCBvbiBwaHlzaWNhbCBzZWN0b3IgYm91bmRhcnkuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXJlYWQtZHVtcCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtcmVhZC1kdW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE4MzZlYTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXJlYWQtZHVtcApAQCAtMCwwICsxLDQyIEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjM6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NDogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD41OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggICA4MTkxICAgIDYxNDQgICAzTSBMaW51eCByb290ICh4ODYpCis8cmVtb3ZlZD4yICAgODE5MiAgMTQzMzUgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDE0MzM2ICAyMDQ3OSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+NCAgMjA0ODAgMTAyMzY2ICAgODE4ODcgIDQwTSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK1N0YXJ0ICAgIEVuZCBTaXplIFVVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICAgICAgICAgICAgIE5hbWUKKyAyMDQ4ICAgODE5MSAgIDNNIDRERDY5NDhBLTQ0RjgtNEU2Qy04QkRDLTA2NEY3NDA3MDRGOCBMaW51eCByb290ICh4ODYpIAorIDgxOTIgIDE0MzM1ICAgM00gNDRCNTFERUYtNUYwNC00NjVBLTkxQUEtMjg4OUE2MkQ4RTQ5IExpbnV4IGZpbGVzeXN0ZW0gCisxNDMzNiAgMjA0NzkgICAzTSA2NDNFMUQwRC1CQzAyLTRDRUQtQjgzQi04NjEyMTA2Mjg1OEYgTGludXggZmlsZXN5c3RlbSAKKzIwNDgwIDEwMjM2NiAgNDBNIEQyQTI5QjBBLUZERUUtNDBDMy05QkFFLUI5RkE3ODJDOTg2QyBMaW51eCBmaWxlc3lzdGVtIEdQVCBpcyB0aGUgYmVzdApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1yZW9yZGVyIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1yZW9yZGVyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmYzcxMTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXJlb3JkZXIKQEAgLTAsMCArMSw0OCBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4zOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjQ6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NTogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICA4MTkyICAxNDMzNSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MiAgIDIwNDggICA4MTkxICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICAyMDQ4MCAxMDIzNjYgICA4MTg4NyAgNDBNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDE0MzM2ICAyMDQ3OSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4ICAgODE5MSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MiAgIDgxOTIgIDE0MzM1ICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICAxNDMzNiAgMjA0NzkgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDIwNDgwIDEwMjM2NiAgIDgxODg3ICA0ME0gTGludXggZmlsZXN5c3RlbQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1yZXNpemUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXJlc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jOTM4NWMzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC1yZXNpemUKQEAgLTAsMCArMSwyMyBAQAorRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSBMaW51eCBzd2FwCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEwMjM2NiAgMTAwMzE5ICA0OU0gTGludXggc3dhcAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC10eXBlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC10eXBlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5NmI3NWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXR5cGUKQEAgLTAsMCArMSw1IEBACisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitDMTJBNzMyOC1GODFGLTExRDItQkE0Qi0wMEEwQzkzRUM5M0IKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtdXVpZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kM2QxMWU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC11dWlkCkBAIC0wLDAgKzEgQEAKKzkxREM2NTdCLUQ3QjQtNDY1My1BMzY3LTY2MzE5NEZGRDQzMgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC13cml0ZS1kdW1wIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL2dwdC13cml0ZS1kdW1wCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNhZDc5MjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXdyaXRlLWR1bXAKQEAgLTAsMCArMSwxMSBAQAorbGFiZWw6IGdwdAorbGFiZWwtaWQ6IDNCODU1OURCLTMzQUYtNDNFOS1CRUZDLUMzMzFEODI5QjUzOQorZGV2aWNlOiA8cmVtb3ZlZD4KK3VuaXQ6IHNlY3RvcnMKK2ZpcnN0LWxiYTogMjA0OAorbGFzdC1sYmE6IDEwMjM2NgorCis8cmVtb3ZlZD4xIDogc3RhcnQ9ICAgICAgICAyMDQ4LCBzaXplPSAgICAgICAgNjE0NCwgdHlwZT00NDQ3OTU0MC1GMjk3LTQxQjItOUFGNy1EMTMxRDVGMDQ1OEEsIHV1aWQ9NERENjk0OEEtNDRGOC00RTZDLThCREMtMDY0Rjc0MDcwNEY4Cis8cmVtb3ZlZD4yIDogc3RhcnQ9ICAgICAgICA4MTkyLCBzaXplPSAgICAgICAgNjE0NCwgdHlwZT0wRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQsIHV1aWQ9NDRCNTFERUYtNUYwNC00NjVBLTkxQUEtMjg4OUE2MkQ4RTQ5Cis8cmVtb3ZlZD4zIDogc3RhcnQ9ICAgICAgIDE0MzM2LCBzaXplPSAgICAgICAgNjE0NCwgdHlwZT0wRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQsIHV1aWQ9NjQzRTFEMEQtQkMwMi00Q0VELUI4M0ItODYxMjEwNjI4NThGCis8cmVtb3ZlZD40IDogc3RhcnQ9ICAgICAgIDIwNDgwLCBzaXplPSAgICAgICA4MTg4NywgdHlwZT0wRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQsIHV1aWQ9RDJBMjlCMEEtRkRFRS00MEMzLTlCQUUtQjlGQTc4MkM5ODZDLCBuYW1lPSJHUFQgaXMgdGhlIGJlc3QiCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXdyaXRlLWpzb24gYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svZ3B0LXdyaXRlLWpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjM5NDQ4MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9ncHQtd3JpdGUtanNvbgpAQCAtMCwwICsxLDE2IEBACit7CisgICAicGFydGl0aW9udGFibGUiOiB7CisgICAgICAibGFiZWwiOiJncHQiLAorICAgICAgImlkIjoiM0I4NTU5REItMzNBRi00M0U5LUJFRkMtQzMzMUQ4MjlCNTM5IiwKKyAgICAgICJkZXZpY2UiOiI8cmVtb3ZlZD4iLAorICAgICAgInVuaXQiOiJzZWN0b3JzIiwKKyAgICAgICJmaXJzdGxiYSI6MjA0OCwKKyAgICAgICJsYXN0bGJhIjoxMDIzNjYsCisgICAgICAicGFydGl0aW9ucyI6IFsKKyAgICAgICAgIHsibm9kZSI6IjxyZW1vdmVkPjEiLCAic3RhcnQiOjIwNDgsICJzaXplIjo2MTQ0LCAidHlwZSI6IjQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSIsICJ1dWlkIjoiNERENjk0OEEtNDRGOC00RTZDLThCREMtMDY0Rjc0MDcwNEY4In0sCisgICAgICAgICB7Im5vZGUiOiI8cmVtb3ZlZD4yIiwgInN0YXJ0Ijo4MTkyLCAic2l6ZSI6NjE0NCwgInR5cGUiOiIwRkM2M0RBRi04NDgzLTQ3NzItOEU3OS0zRDY5RDg0NzdERTQiLCAidXVpZCI6IjQ0QjUxREVGLTVGMDQtNDY1QS05MUFBLTI4ODlBNjJEOEU0OSJ9LAorICAgICAgICAgeyJub2RlIjoiPHJlbW92ZWQ+MyIsICJzdGFydCI6MTQzMzYsICJzaXplIjo2MTQ0LCAidHlwZSI6IjBGQzYzREFGLTg0ODMtNDc3Mi04RTc5LTNENjlEODQ3N0RFNCIsICJ1dWlkIjoiNjQzRTFEMEQtQkMwMi00Q0VELUI4M0ItODYxMjEwNjI4NThGIn0sCisgICAgICAgICB7Im5vZGUiOiI8cmVtb3ZlZD40IiwgInN0YXJ0IjoyMDQ4MCwgInNpemUiOjgxODg3LCAidHlwZSI6IjBGQzYzREFGLTg0ODMtNDc3Mi04RTc5LTNENjlEODQ3N0RFNCIsICJ1dWlkIjoiRDJBMjlCMEEtRkRFRS00MEMzLTlCQUUtQjlGQTc4MkM5ODZDIiwgIm5hbWUiOiJHUFQgaXMgdGhlIGJlc3QifQorICAgICAgXQorICAgfQorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLWRvd24gYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svbW92ZWRhdGEtZG93bgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzAxZGUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLWRvd24KQEAgLTAsMCArMSwyNyBAQAorRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDMwNDggMjM1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjU0OCAyMzAyNyAgIDIwNDgwICAxME0gODMgTGludXgKKworRGF0YSBtb3ZlOgorIHR5cGVzY3JpcHQgZmlsZSA8cmVtb3ZlZD4uCisgb2xkIHN0YXJ0OiAzMDQ4LCBuZXcgc3RhcnQ6IDI1NDggKG1vdmUgMjA0ODAgc2VjdG9ycykKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9tb3ZlZGF0YS1ub24tb3ZlcmxheSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9tb3ZlZGF0YS1ub24tb3ZlcmxheQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZWExZTMzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLW5vbi1vdmVybGF5CkBAIC0wLDAgKzEsMjcgQEAKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyNTQ4IDIzMDI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgNjM5ODggODQ0NjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKK0RhdGEgbW92ZToKKyB0eXBlc2NyaXB0IGZpbGUgPHJlbW92ZWQ+LgorIG9sZCBzdGFydDogMjU0OCwgbmV3IHN0YXJ0OiA2Mzk4OCAobW92ZSAyMDQ4MCBzZWN0b3JzKQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLXVwIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL21vdmVkYXRhLXVwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc1ZDE1OWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svbW92ZWRhdGEtdXAKQEAgLTAsMCArMSwyNyBAQAorRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMzA0OCAyMzUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKworRGF0YSBtb3ZlOgorIHR5cGVzY3JpcHQgZmlsZSA8cmVtb3ZlZD4uCisgb2xkIHN0YXJ0OiAyMDQ4LCBuZXcgc3RhcnQ6IDMwNDggKG1vdmUgMjA0ODAgc2VjdG9ycykKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTAtbW92ZS11cC1hYnNvbHV0ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTAtbW92ZS11cC1hYnNvbHV0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2MwZjg4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMC1tb3ZlLXVwLWFic29sdXRlCkBAIC0wLDAgKzEsMjUgQEAKKzMwMDAsCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDMwMDAgMjM0NzkgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0xLW1vdmUtZG93bi1hYnNvbHV0ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEtbW92ZS1kb3duLWFic29sdXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg3ZWU5Y2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0xLW1vdmUtZG93bi1hYnNvbHV0ZQpAQCAtMCwwICsxLDI1IEBACisyMDQ4LAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMzAwMCAyMzQ3OSAgIDIwNDgwICAxME0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTAtZG93bi1lbmxhcmdlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTAtZG93bi1lbmxhcmdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4ZDJhY2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0xMC1kb3duLWVubGFyZ2UKQEAgLTAsMCArMSwyNSBAQAorLTEwTSwrMTBNLCwqCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMjUyOCAyMDQ3OTkgIDE4MjI3MiAgODlNIDgzIExpbnV4CisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggMjA0Nzk5ICAyMDI3NTIgIDk5TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTEtYWJzb2x1dGUtbW92ZS1yZXNpemUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0xMS1hYnNvbHV0ZS1tb3ZlLXJlc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42ZTdiOWRiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTEtYWJzb2x1dGUtbW92ZS1yZXNpemUKQEAgLTAsMCArMSwyNSBAQAorMjA0OCwxME0sTAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggMjA0Nzk5ICAyMDI3NTIgIDk5TSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0xMi1yZWR1Y2UtbWlkbGUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0xMi1yZWR1Y2UtbWlkbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGE1MmIxNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTEyLXJlZHVjZS1taWRsZQpAQCAtMCwwICsxLDI5IEBACissLTVNCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAqICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICAyMjUyOCA0MzAwNyAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgNDMwMDggNjM0ODcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKKzxyZW1vdmVkPjI6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgKiAgICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgMjI1MjggMzI3NjcgICAxMDI0MCAgIDVNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgIDQzMDA4IDYzNDg3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTMtbWF4LWxhc3QgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0xMy1tYXgtbGFzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YWZjNzkzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMTMtbWF4LWxhc3QKQEAgLTAsMCArMSwyOSBAQAorLTVNLCsKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICogICAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4IDMyNzY3ICAgMTAyNDAgICA1TSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICA0MzAwOCA2MzQ4NyAgIDIwNDgwICAxME0gODMgTGludXgKKworPHJlbW92ZWQ+MzogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgKiAgICAgMjA0OCAgMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgIDIyNTI4ICAzMjc2NyAgIDEwMjQwICAgNU0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgMzI3NjggMjA0Nzk5ICAxNzIwMzIgIDg0TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMi1tb3ZlLXVwLXJlbGF0aXZlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMi1tb3ZlLXVwLXJlbGF0aXZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlYzg5ODEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0yLW1vdmUtdXAtcmVsYXRpdmUKQEAgLTAsMCArMSwyNSBAQAorKzFNLAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICA0MDk2IDI0NTc1ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMy1tb3ZlLWRvd24tcmVsYXRpdmUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy0zLW1vdmUtZG93bi1yZWxhdGl2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDUzYjM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtMy1tb3ZlLWRvd24tcmVsYXRpdmUKQEAgLTAsMCArMSwyNSBAQAorLTFNLAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgNDA5NiAyNDU3NSAgIDIwNDgwICAxME0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNC1lbmxhcmdlLWFic29sdXRlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNC1lbmxhcmdlLWFic29sdXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNiNjAzZGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy00LWVubGFyZ2UtYWJzb2x1dGUKQEAgLTAsMCArMSwyNSBAQAorLSwxNU0KKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIDgzIExpbnV4CisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTUtcmVkdWNlLWFic29sdXRlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNS1yZWR1Y2UtYWJzb2x1dGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTVhZmJlZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTUtcmVkdWNlLWFic29sdXRlCkBAIC0wLDAgKzEsMjUgQEAKKyw1TSwKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggMzI3NjcgICAzMDcyMCAgMTVNIDgzIExpbnV4CisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAxMjI4NyAgIDEwMjQwICAgNU0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTYtZW5sYXJnZS1yZWxhdGl2ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTYtZW5sYXJnZS1yZWxhdGl2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZTAwNDkwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNi1lbmxhcmdlLXJlbGF0aXZlCkBAIC0wLDAgKzEsMjUgQEAKKywgKzEwTQorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAxMjI4NyAgIDEwMjQwICAgNU0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDMyNzY3ICAgMzA3MjAgIDE1TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNy1yZWR1Y2UtcmVsYXRpdmUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy03LXJlZHVjZS1yZWxhdGl2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmI3OTRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtNy1yZWR1Y2UtcmVsYXRpdmUKQEAgLTAsMCArMSwyNSBAQAorLCAtMTBNCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDMyNzY3ICAgMzA3MjAgIDE1TSA4MyBMaW51eAorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggMTIyODcgICAxMDI0MCAgIDVNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy04LWVubGFyZ2UtYWxsIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtOC1lbmxhcmdlLWFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDgwNTUyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1kb3MtOC1lbmxhcmdlLWFsbApAQCAtMCwwICsxLDI1IEBACissKworCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAxMjI4NyAgIDEwMjQwICAgNU0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAyMDQ3OTkgIDIwMjc1MiAgOTlNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy05LXVwLXByZWR1Y2UgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy05LXVwLXByZWR1Y2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTdkMjRlYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLTktdXAtcHJlZHVjZQpAQCAtMCwwICsxLDI1IEBACisrMTBNLC0xME0KKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDIwNDc5OSAgMjAyNzUyICA5OU0gODMgTGludXgKKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAyMjUyOCAyMDQ3OTkgIDE4MjI3MiAgODlNIDgzIExpbnV4CisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy11bnNvcnRlZCBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZG9zLXVuc29ydGVkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIxZGJlNWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWRvcy11bnNvcnRlZApAQCAtMCwwICsxLDcyIEBACitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD40OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjU6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NjogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD43OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICBCb290ICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgICAyMDQ4ICAgNDA5NSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjIgICAgICAgICA0MDk2ICAgNjE0MyAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjMgICAgICAgICA2MTQ0IDEwODU0MyAgMTAyNDAwICA1ME0gIDUgRXh0ZW5kZWQKKzxyZW1vdmVkPjQgICAgICAgMTA4NTQ0IDExMDU5MSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjUgICAgICAgICA4MTkyICAxMDIzOSAgICAyMDQ4ICAgMU0gODMgTGludXgKKzxyZW1vdmVkPjYgICAgICAgIDEyMjg4IDEwODU0MyAgIDk2MjU2ICA0N00gODMgTGludXgKKworUGFydGl0aW9uIHRhYmxlIGVudHJpZXMgYXJlIG5vdCBpbiBkaXNrIG9yZGVyLgorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgorRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgIEJvb3QgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgIDIwNDggICA0MDk1ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MiAgICAgICAgIDQwOTYgICA2MTQzICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+MyAgICAgICAgIDYxNDQgMTA4NTQzICAxMDI0MDAgIDUwTSAgNSBFeHRlbmRlZAorPHJlbW92ZWQ+NCAgICAgICAxMDg1NDQgMTEwNTkxICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NSAgICAgICAgIDgxOTIgIDEwMjM5ICAgIDIwNDggICAxTSA4MyBMaW51eAorPHJlbW92ZWQ+NiAgICAgICAgMTIyODggMTA4NTQzICAgOTYyNTYgIDQ3TSA4MyBMaW51eAorCitQYXJ0aXRpb24gdGFibGUgZW50cmllcyBhcmUgbm90IGluIGRpc2sgb3JkZXIuCisKKzxyZW1vdmVkPjQ6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAgMjA0OCAgIDQwOTUgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4yICAgICAgICAgNDA5NiAgIDYxNDMgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD4zICAgICAgICAgNjE0NCAxMDg1NDMgIDEwMjQwMCAgNTBNICA1IEV4dGVuZGVkCis8cmVtb3ZlZD40ICAgICAgIDEwODU0NCAyMDQ3OTkgICA5NjI1NiAgNDdNIDgzIExpbnV4Cis8cmVtb3ZlZD41ICAgICAgICAgODE5MiAgMTAyMzkgICAgMjA0OCAgIDFNIDgzIExpbnV4Cis8cmVtb3ZlZD42ICAgICAgICAxMjI4OCAxMDg1NDMgICA5NjI1NiAgNDdNIDgzIExpbnV4CisKK1BhcnRpdGlvbiB0YWJsZSBlbnRyaWVzIGFyZSBub3QgaW4gZGlzayBvcmRlci4KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTAtbW92ZS11cC1hYnNvbHV0ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTAtbW92ZS11cC1hYnNvbHV0ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNDFlNzhlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMC1tb3ZlLXVwLWFic29sdXRlCkBAIC0wLDAgKzEsMjUgQEAKKzMwMDAsCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAzMDAwIDIzNDc5ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xLW1vdmUtZG93bi1hYnNvbHV0ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTEtbW92ZS1kb3duLWFic29sdXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI0YTljOWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xLW1vdmUtZG93bi1hYnNvbHV0ZQpAQCAtMCwwICsxLDI1IEBACisyMDQ4LAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDMwMDAgMjM0NzkgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTAtZG93bi1lbmxhcmdlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTAtZG93bi1lbmxhcmdlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVkNmRlMjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMC1kb3duLWVubGFyZ2UKQEAgLTAsMCArMSwyNSBAQAorLTEwTSwrMTBNLCwqCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjI1MjggMjA0NzY2ICAxODIyMzkgIDg5TSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIwNDc2NiAgMjAyNzE5ICA5OU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTEtYWJzb2x1dGUtbW92ZS1yZXNpemUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMS1hYnNvbHV0ZS1tb3ZlLXJlc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTYzNDJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTEtYWJzb2x1dGUtbW92ZS1yZXNpemUKQEAgLTAsMCArMSwyNSBAQAorMjA0OCwxME0sTAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIwNDc2NiAgMjAyNzE5ICA5OU0gTGludXggZmlsZXN5c3RlbQorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMi1yZWR1Y2UtbWlkbGUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMi1yZWR1Y2UtbWlkbGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjBiZDU1NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTEyLXJlZHVjZS1taWRsZQpAQCAtMCwwICsxLDI5IEBACissLTVNCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MiAgMjI1MjggNDMwMDcgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDQzMDA4IDYzNDg3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjI6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgIDIyNTI4IDMyNzY3ICAgMTAyNDAgICA1TSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4zICA0MzAwOCA2MzQ4NyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTMtbWF4LWxhc3QgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0xMy1tYXgtbGFzdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjZmM2UxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMTMtbWF4LWxhc3QKQEAgLTAsMCArMSwyOSBAQAorLTVNLCsKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4yICAyMjUyOCAzMjc2NyAgIDEwMjQwICAgNU0gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgNDMwMDggNjM0ODcgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MzogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggIDIyNTI3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4yICAyMjUyOCAgMzI3NjcgICAxMDI0MCAgIDVNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjMgIDMyNzY4IDIwNDc2NiAgMTcxOTk5ICA4NE0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMi1tb3ZlLXVwLXJlbGF0aXZlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMi1tb3ZlLXVwLXJlbGF0aXZlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVmZjEwOGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0yLW1vdmUtdXAtcmVsYXRpdmUKQEAgLTAsMCArMSwyNSBAQAorKzFNLAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMjI1MjcgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgNDA5NiAyNDU3NSAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMy1tb3ZlLWRvd24tcmVsYXRpdmUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC0zLW1vdmUtZG93bi1yZWxhdGl2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xMDBhOWNmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtMy1tb3ZlLWRvd24tcmVsYXRpdmUKQEAgLTAsMCArMSwyNSBAQAorLTFNLAorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDQwOTYgMjQ1NzUgICAyMDQ4MCAgMTBNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMjUyNyAgIDIwNDgwICAxME0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNC1lbmxhcmdlLWFic29sdXRlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNC1lbmxhcmdlLWFic29sdXRlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5ODQwMzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC00LWVubGFyZ2UtYWJzb2x1dGUKQEAgLTAsMCArMSwyNSBAQAorLSwxNU0KKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDIyNTI3ICAgMjA0ODAgIDEwTSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMzI3NjcgICAzMDcyMCAgMTVNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTUtcmVkdWNlLWFic29sdXRlIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNS1yZWR1Y2UtYWJzb2x1dGUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWM0YTAzNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTUtcmVkdWNlLWFic29sdXRlCkBAIC0wLDAgKzEsMjUgQEAKKyw1TSwKKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDMyNzY3ICAgMzA3MjAgIDE1TSBMaW51eCBmaWxlc3lzdGVtCisKKzxyZW1vdmVkPjE6IAorTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMTIyODcgICAxMDI0MCAgIDVNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTYtZW5sYXJnZS1yZWxhdGl2ZSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTYtZW5sYXJnZS1yZWxhdGl2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTc3MzIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNi1lbmxhcmdlLXJlbGF0aXZlCkBAIC0wLDAgKzEsMjUgQEAKKywgKzEwTQorCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMTIyODcgICAxMDI0MCAgIDVNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCitDYWxsaW5nIGlvY3RsKCkgdG8gcmUtcmVhZCBwYXJ0aXRpb24gdGFibGUuCitTeW5jaW5nIGRpc2tzLgpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNy1yZWR1Y2UtcmVsYXRpdmUgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC03LXJlZHVjZS1yZWxhdGl2ZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYzg1ZTFiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtNy1yZWR1Y2UtcmVsYXRpdmUKQEAgLTAsMCArMSwyNSBAQAorLCAtMTBNCisKK0Rpc2sgPHJlbW92ZWQ+OiAxMDAgTWlCLCAxMDQ4NTc2MDAgYnl0ZXMsIDIwNDgwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDUxMiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDUxMiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAzMjc2NyAgIDMwNzIwICAxNU0gTGludXggZmlsZXN5c3RlbQorCis8cmVtb3ZlZD4xOiAKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEyMjg3ICAgMTAyNDAgICA1TSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC04LWVubGFyZ2UtYWxsIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtOC1lbmxhcmdlLWFsbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2E1NjljCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3Jlc2l6ZS1ncHQtOC1lbmxhcmdlLWFsbApAQCAtMCwwICsxLDI1IEBACissKworCitEaXNrIDxyZW1vdmVkPjogMTAwIE1pQiwgMTA0ODU3NjAwIGJ5dGVzLCAyMDQ4MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA1MTIgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA1MTIgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMTIyODcgICAxMDI0MCAgIDVNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMjA0NzY2ICAyMDI3MTkgIDk5TSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC05LXVwLXByZWR1Y2UgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svcmVzaXplLWdwdC05LXVwLXByZWR1Y2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmZhYjg0ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9yZXNpemUtZ3B0LTktdXAtcHJlZHVjZQpAQCAtMCwwICsxLDI1IEBACisrMTBNLC0xME0KKworRGlzayA8cmVtb3ZlZD46IDEwMCBNaUIsIDEwNDg1NzYwMCBieXRlcywgMjA0ODAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNTEyIGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNTEyIGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitPbGQgc2l0dWF0aW9uOgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAyMDQ3NjYgIDIwMjcxOSAgOTlNIExpbnV4IGZpbGVzeXN0ZW0KKworPHJlbW92ZWQ+MTogCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgMjI1MjggMjA0NzY2ICAxODIyMzkgIDg5TSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LWJyb2tlbi0xIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGNjMzZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tMQpAQCAtMCwwICsxLDE1IEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IGxpbmUgNTogdW5zdXBwb3J0ZWQgY29tbWFuZAorCitOZXcgc2l0dWF0aW9uOgorTGVhdmluZy4KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tMiBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjYzM2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTIKQEAgLTAsMCArMSwxNSBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBsaW5lIDU6IHVuc3VwcG9ydGVkIGNvbW1hbmQKKworTmV3IHNpdHVhdGlvbjoKK0xlYXZpbmcuCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTMgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LWJyb2tlbi0zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJkY2MzNmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LWJyb2tlbi0zCkBAIC0wLDAgKzEsMTUgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gbGluZSA1OiB1bnN1cHBvcnRlZCBjb21tYW5kCisKK05ldyBzaXR1YXRpb246CitMZWF2aW5nLgorCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LWJyb2tlbi00IGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tNApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZGNjMzZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tNApAQCAtMCwwICsxLDE1IEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IGxpbmUgNTogdW5zdXBwb3J0ZWQgY29tbWFuZAorCitOZXcgc2l0dWF0aW9uOgorTGVhdmluZy4KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1icm9rZW4tNSBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmRjYzM2YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtYnJva2VuLTUKQEAgLTAsMCArMSwxNSBAQAorQ2hlY2tpbmcgdGhhdCBuby1vbmUgaXMgdXNpbmcgdGhpcyBkaXNrIHJpZ2h0IG5vdyAuLi4gT0sKKworRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBsaW5lIDU6IHVuc3VwcG9ydGVkIGNvbW1hbmQKKworTmV3IHNpdHVhdGlvbjoKK0xlYXZpbmcuCisKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtcXVvdGVzIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1xdW90ZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjVmMzkwNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtcXVvdGVzCkBAIC0wLDAgKzEsNDIgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD40OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjU6IERvbmUuCisKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4ICA4MTkxICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD4yICAgODE5MiAxNDMzNSAgICA2MTQ0ICAgM00gTGludXggZmlsZXN5c3RlbQorPHJlbW92ZWQ+MyAgMTQzMzYgMjA0NzkgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjQgIDIwNDgwIDI2NjIzICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK1N0YXJ0ICAgRW5kIFNpemUgVVVJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICAgTmFtZQorIDIwNDggIDgxOTEgICAzTSA0REQ2OTQ4QS00NEY4LTRFNkMtOEJEQy0wNjRGNzQwNzA0RjggTGludXggZmlsZXN5c3RlbSAKKyA4MTkyIDE0MzM1ICAgM00gNDRCNTFERUYtNUYwNC00NjVBLTkxQUEtMjg4OUE2MkQ4RTQ5IExpbnV4IGZpbGVzeXN0ZW0gCisxNDMzNiAyMDQ3OSAgIDNNIDY0M0UxRDBELUJDMDItNENFRC1CODNCLTg2MTIxMDYyODU4RiBMaW51eCBmaWxlc3lzdGVtIAorMjA0ODAgMjY2MjMgICAzTSBEMkEyOUIwQS1GREVFLTQwQzMtOUJBRS1COUZBNzgyQzk4NkMgTGludXggZmlsZXN5c3RlbSAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtc2VwYXJhdG9yIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC1zZXBhcmF0b3IKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTg2MWNjMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay9zY3JpcHQtc2VwYXJhdG9yCkBAIC0wLDAgKzEsNDIgQEAKK0NoZWNraW5nIHRoYXQgbm8tb25lIGlzIHVzaW5nIHRoaXMgZGlzayByaWdodCBub3cgLi4uIE9LCisKK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MzogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD40OiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjU6IERvbmUuCisKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAgIDgxOTEgICAgNjE0NCAgIDNNIExpbnV4IGZpbGVzeXN0ZW0KKzxyZW1vdmVkPjIgICA4MTkyICAxNDMzNSAgICA2MTQ0ICAgM00gTGludXggcm9vdCAoeDg2KQorPHJlbW92ZWQ+MyAgMTQzMzYgIDIwNDc5ICAgIDYxNDQgICAzTSBMaW51eCBmaWxlc3lzdGVtCis8cmVtb3ZlZD40ICAyMDQ4MCAxMDIzNjYgICA4MTg4NyAgNDBNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworU3RhcnQgICAgRW5kIFNpemUgVVVJRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUgICAgICAgICAgICAgTmFtZQorIDIwNDggICA4MTkxICAgM00gNERENjk0OEEtNDRGOC00RTZDLThCREMtMDY0Rjc0MDcwNEY4IExpbnV4IGZpbGVzeXN0ZW0gCisgODE5MiAgMTQzMzUgICAzTSA0NEI1MURFRi01RjA0LTQ2NUEtOTFBQS0yODg5QTYyRDhFNDkgTGludXggcm9vdCAoeDg2KSAKKzE0MzM2ICAyMDQ3OSAgIDNNIDY0M0UxRDBELUJDMDItNENFRC1CODNCLTg2MTIxMDYyODU4RiBMaW51eCBmaWxlc3lzdGVtIAorMjA0ODAgMTAyMzY2ICA0ME0gRDJBMjlCMEEtRkRFRS00MEMzLTlCQUUtQjlGQTc4MkM5ODZDIExpbnV4IGZpbGVzeXN0ZW0gCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC9zZmRpc2svc2NyaXB0LXR5cGUtYW5kLWlkIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC10eXBlLWFuZC1pZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMDRlZTUxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3NjcmlwdC10eXBlLWFuZC1pZApAQCAtMCwwICsxLDQyIEBACitDaGVja2luZyB0aGF0IG5vLW9uZSBpcyB1c2luZyB0aGlzIGRpc2sgcmlnaHQgbm93IC4uLiBPSworCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKKworPj4+IFNjcmlwdCBoZWFkZXIgYWNjZXB0ZWQuCis+Pj4gU2NyaXB0IGhlYWRlciBhY2NlcHRlZC4KKz4+PiBTY3JpcHQgaGVhZGVyIGFjY2VwdGVkLgorPj4+IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MTogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4yOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjM6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+NDogQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD41OiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggICA4MTkxICAgIDYxNDQgICAzTSBMaW51eCByb290ICh4ODYpCis8cmVtb3ZlZD4yICAgODE5MiAgMTQzMzUgICAgNjE0NCAgIDNNIExpbnV4IHJvb3QgKHg4NikKKzxyZW1vdmVkPjMgIDE0MzM2ICAyMDQ3OSAgICA2MTQ0ICAgM00gTGludXggcm9vdCAoeDg2KQorPHJlbW92ZWQ+NCAgMjA0ODAgMTAyMzY2ICAgODE4ODcgIDQwTSBMaW51eCByb290ICh4ODYpCisKK1RoZSBwYXJ0aXRpb24gdGFibGUgaGFzIGJlZW4gYWx0ZXJlZC4KK0NhbGxpbmcgaW9jdGwoKSB0byByZS1yZWFkIHBhcnRpdGlvbiB0YWJsZS4KK1N5bmNpbmcgZGlza3MuCitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK1N0YXJ0ICAgIEVuZCBTaXplIFVVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlICAgICAgICAgICAgIE5hbWUKKyAyMDQ4ICAgODE5MSAgIDNNIDRERDY5NDhBLTQ0RjgtNEU2Qy04QkRDLTA2NEY3NDA3MDRGOCBMaW51eCByb290ICh4ODYpIAorIDgxOTIgIDE0MzM1ICAgM00gNDRCNTFERUYtNUYwNC00NjVBLTkxQUEtMjg4OUE2MkQ4RTQ5IExpbnV4IHJvb3QgKHg4NikgCisxNDMzNiAgMjA0NzkgICAzTSA2NDNFMUQwRC1CQzAyLTRDRUQtQjgzQi04NjEyMTA2Mjg1OEYgTGludXggcm9vdCAoeDg2KSAKKzIwNDgwIDEwMjM2NiAgNDBNIEQyQTI5QjBBLUZERUUtNDBDMy05QkFFLUI5RkE3ODJDOTg2QyBMaW51eCByb290ICh4ODYpIApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3dpcGUtZnMtdG8tZG9zIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3dpcGUtZnMtdG8tZG9zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY4N2ViNjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zZmRpc2svd2lwZS1mcy10by1kb3MKQEAgLTAsMCArMSwyOSBAQAorCis9PT09PUNyZWF0ZSBGUz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKz09PT09Q3JlYXRlIERPUz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CisKKworVGhlIG9sZCBzd2FwIHNpZ25hdHVyZSB3aWxsIGJlIHJlbW92ZWQgYnkgYSB3cml0ZSBjb21tYW5kLgorRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KK1RoZSBvbGQgc3dhcCBzaWduYXR1cmUgd2lsbCBiZSByZW1vdmVkIGJ5IGEgd3JpdGUgY29tbWFuZC4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBkb3MKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgQm9vdCBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIElkIFR5cGUKKzxyZW1vdmVkPjEgICAgICAgIDIwNDggMTAyMzk5ICAxMDAzNTIgIDQ5TSA4MyBMaW51eAorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCisKKz09PT09Q2hlY2sgY29udGVudD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitPRkZTRVQgVFlQRQorMHgxZmUgIGRvcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3dpcGUtZ3B0LXRvLWRvcyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay93aXBlLWdwdC10by1kb3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTBjNjU0ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay93aXBlLWdwdC10by1kb3MKQEAgLTAsMCArMSw0OSBAQAorCis9PT09PUNyZWF0ZSBHUFQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEwMjM2NiAgMTAwMzE5ICA0OU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCisKKz09PT09Q3JlYXRlIERPUz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEwMjM2NiAgMTAwMzE5ICA0OU0gTGludXggZmlsZXN5c3RlbQorCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IERvbmUuCisKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDEwMjM5OSAgMTAwMzUyICA0OU0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorCis9PT09PUNoZWNrIGNvbnRlbnQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorT0ZGU0VUIFRZUEUKKzB4MWZlICBkb3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay93aXBlLWdwdC10by1kb3MtYXV0byBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay93aXBlLWdwdC10by1kb3MtYXV0bwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44ODU1ODU5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3dpcGUtZ3B0LXRvLWRvcy1hdXRvCkBAIC0wLDAgKzEsNTYgQEAKKworPT09PT1DcmVhdGUgR1BUPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworRGlza2xhYmVsIHR5cGU6IGRvcworRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworT2xkIHNpdHVhdGlvbjoKKworRGV2aWNlICAgICBCb290IFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgSWQgVHlwZQorPHJlbW92ZWQ+MSAgICAgICAgMjA0OCAxMDIzOTkgIDEwMDM1MiAgNDlNIDgzIExpbnV4CisKKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorPHJlbW92ZWQ+MjogRG9uZS4KKworTmV3IHNpdHVhdGlvbjoKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEwMjM2NiAgMTAwMzE5ICA0OU0gTGludXggZmlsZXN5c3RlbQorCitUaGUgcGFydGl0aW9uIHRhYmxlIGhhcyBiZWVuIGFsdGVyZWQuCisKKz09PT09Q3JlYXRlIERPUz09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitEaXNrIDxyZW1vdmVkPjogNTAgTWlCLCA1MjQyODgwMCBieXRlcywgMTAyNDAwIHNlY3RvcnMKK1VuaXRzOiBzZWN0b3JzIG9mIDEgKiA1MTIgPSA1MTIgYnl0ZXMKK1NlY3RvciBzaXplIChsb2dpY2FsL3BoeXNpY2FsKTogNTEyIGJ5dGVzIC8gNDA5NiBieXRlcworSS9PIHNpemUgKG1pbmltdW0vb3B0aW1hbCk6IDQwOTYgYnl0ZXMgLyA8cmVtb3ZlZD4gYnl0ZXMKK0Rpc2tsYWJlbCB0eXBlOiBncHQKK0Rpc2sgaWRlbnRpZmllcjogPHJlbW92ZWQ+CisKK09sZCBzaXR1YXRpb246CisKK0RldmljZSAgICAgICAgICAgICBTdGFydCAgICBFbmQgU2VjdG9ycyBTaXplIFR5cGUKKzxyZW1vdmVkPjEgICAyMDQ4IDEwMjM2NiAgMTAwMzE5ICA0OU0gTGludXggZmlsZXN5c3RlbQorCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IERvbmUuCisKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZG9zCitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgIEJvb3QgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBJZCBUeXBlCis8cmVtb3ZlZD4xICAgICAgICAyMDQ4IDEwMjM5OSAgMTAwMzUyICA0OU0gODMgTGludXgKKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorCis9PT09PUNoZWNrIGNvbnRlbnQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorT0ZGU0VUIFRZUEUKKzB4MWZlICBkb3MKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay93aXBlLXBhcnRpdGlvbiBiL3Rlc3RzL2V4cGVjdGVkL3NmZGlzay93aXBlLXBhcnRpdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lZWJkOGVlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2ZkaXNrL3dpcGUtcGFydGl0aW9uCkBAIC0wLDAgKzEsNTggQEAKKworPT09PT1DcmVhdGUgR1BUPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KK0Rpc2sgPHJlbW92ZWQ+OiA1MCBNaUIsIDUyNDI4ODAwIGJ5dGVzLCAxMDI0MDAgc2VjdG9ycworVW5pdHM6IHNlY3RvcnMgb2YgMSAqIDUxMiA9IDUxMiBieXRlcworU2VjdG9yIHNpemUgKGxvZ2ljYWwvcGh5c2ljYWwpOiA1MTIgYnl0ZXMgLyA0MDk2IGJ5dGVzCitJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogNDA5NiBieXRlcyAvIDxyZW1vdmVkPiBieXRlcworCis+Pj4gQ3JlYXRlZCBhIG5ldyA8cmVtb3ZlZD4uCis8cmVtb3ZlZD4xOiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjI6IERvbmUuCisKK05ldyBzaXR1YXRpb246CitEaXNrbGFiZWwgdHlwZTogZ3B0CitEaXNrIGlkZW50aWZpZXI6IDxyZW1vdmVkPgorCitEZXZpY2UgICAgICAgICAgICAgU3RhcnQgICAgRW5kIFNlY3RvcnMgU2l6ZSBUeXBlCis8cmVtb3ZlZD4xICAgMjA0OCAxMDIzNjYgIDEwMDMxOSAgNDlNIExpbnV4IGZpbGVzeXN0ZW0KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KKworPT09PT1DcmVhdGUgRlMgaW4gcGFydGl0aW9uPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworPT09PT1XaXBlIHdob2xlLWRpc2sgZGV2aWNlPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KKworPT09PT1DcmVhdGUgR1BUIChhZ2Fpbik9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQorRGlzayA8cmVtb3ZlZD46IDUwIE1pQiwgNTI0Mjg4MDAgYnl0ZXMsIDEwMjQwMCBzZWN0b3JzCitVbml0czogc2VjdG9ycyBvZiAxICogNTEyID0gNTEyIGJ5dGVzCitTZWN0b3Igc2l6ZSAobG9naWNhbC9waHlzaWNhbCk6IDUxMiBieXRlcyAvIDQwOTYgYnl0ZXMKK0kvTyBzaXplIChtaW5pbXVtL29wdGltYWwpOiA0MDk2IGJ5dGVzIC8gPHJlbW92ZWQ+IGJ5dGVzCisKKz4+PiBDcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4KKzxyZW1vdmVkPjE6IENyZWF0ZWQgYSBuZXcgPHJlbW92ZWQ+LgorUGFydGl0aW9uICMxIGNvbnRhaW5zIGEgc3dhcCBzaWduYXR1cmUuCitUaGUgc2lnbmF0dXJlIHdpbGwgYmUgcmVtb3ZlZCBieSBhIHdyaXRlIGNvbW1hbmQuCis8cmVtb3ZlZD4yOiBEb25lLgorCitOZXcgc2l0dWF0aW9uOgorRGlza2xhYmVsIHR5cGU6IGdwdAorRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4KKworRGV2aWNlICAgICAgICAgICAgIFN0YXJ0ICAgIEVuZCBTZWN0b3JzIFNpemUgVHlwZQorPHJlbW92ZWQ+MSAgIDIwNDggMTAyMzY2ICAxMDAzMTkgIDQ5TSBMaW51eCBmaWxlc3lzdGVtCisKK0ZpbGVzeXN0ZW0vUkFJRCBzaWduYXR1cmUgb24gcGFydGl0aW9uIDEgd2lsbCBiZSB3aXBlZC4KKworVGhlIHBhcnRpdGlvbiB0YWJsZSBoYXMgYmVlbiBhbHRlcmVkLgorQ2FsbGluZyBpb2N0bCgpIHRvIHJlLXJlYWQgcGFydGl0aW9uIHRhYmxlLgorU3luY2luZyBkaXNrcy4KKworPT09PT1DaGVjayBjb250ZW50IChkaXNrKT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CitPRkZTRVQgICAgVFlQRQorMHgyMDAgICAgIGdwdAorMHgzMWZmZTAwIGdwdAorMHgxZmUgICAgIFBNQlIKKworPT09PT1DaGVjayBjb250ZW50IChwYXJ0aXRpb24pPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3NoYTEvc2hhMSBiL3Rlc3RzL2V4cGVjdGVkL3NoYTEvc2hhMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWM3Mjg2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc2hhMS9zaGExCkBAIC0wLDAgKzEsNyBAQAorZGEzOWEzZWU1ZTZiNGIwZDMyNTViZmVmOTU2MDE4OTBhZmQ4MDcwOQorYTk5OTNlMzY0NzA2ODE2YWJhM2UyNTcxNzg1MGMyNmM5Y2QwZDg5ZAorZGEzMTc1YTMyZTZjMWFhY2ZkM2QzZjM1NzcwMTg4YWUwYWI2ZDA3OAorNzQ5NjIyNmMxN2Q0ZDBhNzcwY2VhNzJlZWJiNjU5YzE2NzUzYjk1NgorZGI1MGVhOGIxYjIwNTY3Y2Q0ZDhhN2ZhMTRkZThkMzdjZTliNzIyYworOTBlMDcyZTFkZjhkZTg3OWNhMzA3NjEwZDVjZWQ2NzVhZjU1YTRhYworMmVkYTY5NmM4ZGYxNzcyMmQ4MDUxOGJlYmIzMzc0MmUzMTFhNGFjMQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2Rldm5hbWUgYi90ZXN0cy9leHBlY3RlZC9zd2Fwb24vZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2Rldm5hbWUKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2ZpeHBnc3ogYi90ZXN0cy9leHBlY3RlZC9zd2Fwb24vZml4cGdzegpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2ZpeHBnc3oKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2ZpeHNpZyBiL3Rlc3RzL2V4cGVjdGVkL3N3YXBvbi9maXhzaWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzU4MjExMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3N3YXBvbi9maXhzaWcKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2xhYmVsIGIvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL2xhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM1ODIxMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC9zd2Fwb24vbGFiZWwKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL3V1aWQgYi90ZXN0cy9leHBlY3RlZC9zd2Fwb24vdXVpZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNTgyMTExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvc3dhcG9uL3V1aWQKQEAgLTAsMCArMSBAQAorU3VjY2VzcwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdGFpbGYvc2ltcGxlIGIvdGVzdHMvZXhwZWN0ZWQvdGFpbGYvc2ltcGxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRkZjcyZGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC90YWlsZi9zaW1wbGUKQEAgLTAsMCArMSwyIEBACithIGIgYyBkIGUgZiBnIGggaSBqIGsgbCBtIG4gbyBwIHEgciBzIHQgdSB2IHcgeCB5IHoKKzAgMSAyIDMgNCA1IDYgNyA4IDkKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V0bXAvbGFzdC1kbnMgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtZG5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM0MDEyYzcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtZG5zCkBAIC0wLDAgKzEsMTIgQEAKK35+fiBkbnMgc2hvcnQgfn5+CitJUHY0ICAgICByb290ICAgICAgICAgYS5yb290LXNlcnZlcnMubiBXZWQgQXVnIDI4IDEzOjAwIC0gMTQ6MDAgICgwMTowMCkKKword3RtcC1hIGJlZ2lucyBXZWQgQXVnIDI4IDAzOjAwOjAwIDIwMTMKK35+fiBkbnMgbG9uZyB+fn4KK0lQdjQgICAgIHJvb3QgICAgICAgICBhLnJvb3Qtc2VydmVycy5uZXQgV2VkIEF1ZyAyOCAxMzowMCAtIDE0OjAwICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gZG5zIGhvc3QgbGFzdCB+fn4KK0lQdjQgICAgIHJvb3QgICAgICAgICBXZWQgQXVnIDI4IDEzOjAwIC0gMTQ6MDAgICgwMTowMCkgICAgIGEucm9vdC1zZXJ2ZXJzLm5ldAorCit3dG1wLWEgYmVnaW5zIFdlZCBBdWcgMjggMDM6MDA6MDAgMjAxMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC9sYXN0LWlwdjYtZG5zIGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC9sYXN0LWlwdjYtZG5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFhNTNhNjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtaXB2Ni1kbnMKQEAgLTAsMCArMSwxMiBAQAorfn5+IGRucyBzaG9ydCB+fn4KK0lQdjYgICAgIHJvb3QgICAgICAgICBhLnJvb3Qtc2VydmVycy5uIFdlZCBBdWcgMjggMjA6MzAgLSAyMDo0MCAgKDAwOjEwKQorCit3dG1wLWlwdjYgYmVnaW5zIFdlZCBBdWcgMjggMjA6MzA6NDAgMjAxMworfn5+IGRucyBsb25nIH5+fgorSVB2NiAgICAgcm9vdCAgICAgICAgIGEucm9vdC1zZXJ2ZXJzLm5ldCBXZWQgQXVnIDI4IDIwOjMwIC0gMjA6NDAgICgwMDoxMCkKKword3RtcC1pcHY2IGJlZ2lucyBXZWQgQXVnIDI4IDIwOjMwOjQwIDIwMTMKK35+fiBkbnMgaG9zdCBsYXN0IH5+fgorSVB2NiAgICAgcm9vdCAgICAgICAgIFdlZCBBdWcgMjggMjA6MzAgLSAyMDo0MCAgKDAwOjEwKSAgICAgYS5yb290LXNlcnZlcnMubmV0CisKK3d0bXAtaXB2NiBiZWdpbnMgV2VkIEF1ZyAyOCAyMDozMDo0MCAyMDEzCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtaXB2Ni1ub2RucyBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvbGFzdC1pcHY2LW5vZG5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1ZDQyMmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3QtaXB2Ni1ub2RucwpAQCAtMCwwICsxLDggQEAKK35+fiBzaG93IGlwIH5+fgorSVB2NiAgICAgcm9vdCAgICAgICAgIDIwMDE6NTAzOmJhM2U6OjIgV2VkIEF1ZyAyOCAyMDozMCAtIDIwOjQwICAoMDA6MTApCisKK3d0bXAtaXB2NiBiZWdpbnMgV2VkIEF1ZyAyOCAyMDozMDo0MCAyMDEzCit+fn4gc2hvdyBpcCBsYXN0IH5+fgorSVB2NiAgICAgcm9vdCAgICAgICAgIFdlZCBBdWcgMjggMjA6MzAgLSAyMDo0MCAgKDAwOjEwKSAgICAgMjAwMTo1MDM6YmEzZTo6MjozMAorCit3dG1wLWlwdjYgYmVnaW5zIFdlZCBBdWcgMjggMjA6MzA6NDAgMjAxMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC9sYXN0LW5vZG5zIGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC9sYXN0LW5vZG5zCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjViOTE3MWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL2xhc3Qtbm9kbnMKQEAgLTAsMCArMSwxMjQgQEAKK35+fiBiYXNpYyBvdXRwdXQgfn5+CityaWNrICAgICBsb25nICAgICAgICAgbmV2ZXItZ29ubmEtbG9nbyBUaHUgSmFuICAxIDAwOjAwIC0gMDM6MTQgKDI0ODU1KzAzOjE0KQordG9ydmFsZHMgbGludXggICAgICAgIGhvYmJ5ICAgICAgICAgICAgTW9uIEF1ZyAyNiAwMDo1NyAgICBnb25lIC0gbm8gbG9nb3V0CityZWJvb3QgICBzeXN0ZW0gYm9vdCAgc3lzdGVtLW5hbWUgICAgICBXZWQgQXVnIDI4IDE4OjAwICAgc3RpbGwgcnVubmluZworcmVib290ICAgc3lzdGVtIGJvb3QgIHN5c3RlbS1uYW1lICAgICAgV2VkIEF1ZyAyOCAxNjowMCAtIDE3OjAwICAoMDE6MDApCitJUHY0ICAgICByb290ICAgICAgICAgZG5zLXNlcnZlciAgICAgICBXZWQgQXVnIDI4IDEzOjAwIC0gMTQ6MDAgICgwMTowMCkKK25vbnZhbGlkIGZvbyAgICAgICAgICB6ZXJvICAgICAgICAgICAgIFdlZCBBdWcgMjggMTI6MDAgLSBkb3duICAgKDAzOjAwKQorcnVubGV2ZWwgZm9vICAgICAgICAgIG9uZSAgICAgICAgICAgICAgV2VkIEF1ZyAyOCAxMTowMCAtIDEyOjAwICAoMDE6MDApCitzeXNib290ICBmb28gICAgICAgICAgdHdvICAgICAgICAgICAgICBXZWQgQXVnIDI4IDEwOjAwIC0gMTE6MDAgICgwMTowMCkKK25ld3RpbWUgIGZvbyAgICAgICAgICB0aHJlZSAgICAgICAgICAgIFdlZCBBdWcgMjggMDk6MDAgLSAxMDowMCAgKDAxOjAwKQorb2xkdGltZSAgZm9vICAgICAgICAgIGZvdXIgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwODowMCAtIDA5OjAwICAoMDE6MDApCitpbml0ICAgICBmb28gICAgICAgICAgZml2ZSAgICAgICAgICAgICBXZWQgQXVnIDI4IDA3OjAwIC0gMDg6MDAgICgwMTowMCkKK2xvZ2luICAgIGZvbyAgICAgICAgICBzaXggICAgICAgICAgICAgIFdlZCBBdWcgMjggMDY6MDAgLSAwNzowMCAgKDAxOjAwKQordXNlcl9wcm8gZm9vICAgICAgICAgIHNldmVuICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNTowMCAtIDA2OjAwICAoMDE6MDApCithY2NvdW50aSBmb28gICAgICAgICAgbmluZSAgICAgICAgICAgICBXZWQgQXVnIDI4IDAzOjAwIC0gMDQ6MDAgICgwMTowMCkKKword3RtcC1hIGJlZ2lucyBXZWQgQXVnIDI4IDAzOjAwOjAwIDIwMTMKK35+fiBpbmNsdWRlIHN5c3RlbSB+fn4KK3JpY2sgICAgIGxvbmcgICAgICAgICBuZXZlci1nb25uYS1sb2dvIFRodSBKYW4gIDEgMDA6MDAgLSAwMzoxNCAoMjQ4NTUrMDM6MTQpCit0b3J2YWxkcyBsaW51eCAgICAgICAgaG9iYnkgICAgICAgICAgICBNb24gQXVnIDI2IDAwOjU3ICAgIGdvbmUgLSBubyBsb2dvdXQKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTg6MDAgICBzdGlsbCBydW5uaW5nCitzaHV0ZG93biBzeXN0ZW0gZG93biAgc3lzdGVtLW5hbWUgICAgICBXZWQgQXVnIDI4IDE3OjAwIC0gMTg6MDAgICgwMTowMCkKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTY6MDAgLSAxNzowMCAgKDAxOjAwKQorc2h1dGRvd24gc3lzdGVtIGRvd24gIHN5c3RlbS1uYW1lICAgICAgV2VkIEF1ZyAyOCAxNTowMCAtIDE2OjAwICAoMDE6MDApCitJUHY0ICAgICByb290ICAgICAgICAgZG5zLXNlcnZlciAgICAgICBXZWQgQXVnIDI4IDEzOjAwIC0gMTQ6MDAgICgwMTowMCkKK25vbnZhbGlkIGZvbyAgICAgICAgICB6ZXJvICAgICAgICAgICAgIFdlZCBBdWcgMjggMTI6MDAgLSBkb3duICAgKDAzOjAwKQorcnVubGV2ZWwgZm9vICAgICAgICAgIG9uZSAgICAgICAgICAgICAgV2VkIEF1ZyAyOCAxMTowMCAtIDEyOjAwICAoMDE6MDApCitzeXNib290ICBmb28gICAgICAgICAgdHdvICAgICAgICAgICAgICBXZWQgQXVnIDI4IDEwOjAwIC0gMTE6MDAgICgwMTowMCkKK25ld3RpbWUgIGZvbyAgICAgICAgICB0aHJlZSAgICAgICAgICAgIFdlZCBBdWcgMjggMDk6MDAgLSAxMDowMCAgKDAxOjAwKQorb2xkdGltZSAgZm9vICAgICAgICAgIGZvdXIgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwODowMCAtIDA5OjAwICAoMDE6MDApCitpbml0ICAgICBmb28gICAgICAgICAgZml2ZSAgICAgICAgICAgICBXZWQgQXVnIDI4IDA3OjAwIC0gMDg6MDAgICgwMTowMCkKK2xvZ2luICAgIGZvbyAgICAgICAgICBzaXggICAgICAgICAgICAgIFdlZCBBdWcgMjggMDY6MDAgLSAwNzowMCAgKDAxOjAwKQordXNlcl9wcm8gZm9vICAgICAgICAgIHNldmVuICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNTowMCAtIDA2OjAwICAoMDE6MDApCithY2NvdW50aSBmb28gICAgICAgICAgbmluZSAgICAgICAgICAgICBXZWQgQXVnIDI4IDAzOjAwIC0gMDQ6MDAgICgwMTowMCkKKword3RtcC1hIGJlZ2lucyBXZWQgQXVnIDI4IDAzOjAwOjAwIDIwMTMKK35+fiBzaG93IGlwIH5+fgordG9ydmFsZHMgbGludXggICAgICAgIDEyOC4yMTQuMjA1LjE0ICAgTW9uIEF1ZyAyNiAwMDo1NyAgICBnb25lIC0gbm8gbG9nb3V0CisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gbm8gaG9zdCB+fn4KK3RvcnZhbGRzIGxpbnV4ICAgICAgICBNb24gQXVnIDI2IDAwOjU3ICAgIGdvbmUgLSBubyBsb2dvdXQKKword3RtcC1hIGJlZ2lucyBXZWQgQXVnIDI4IDAzOjAwOjAwIDIwMTMKK35+fiBmdWxsIHRpbWVzIHNob3J0b3B0IH5+fgorcmljayAgICAgbG9uZyAgICAgICAgIG5ldmVyLWdvbm5hLWxvZ28gVGh1IEphbiAgMSAwMDowMDowMCAxOTcwIC0gVHVlIEphbiAxOSAwMzoxNDowNyAyMDM4ICgyNDg1NSswMzoxNCkKK3RvcnZhbGRzIGxpbnV4ICAgICAgICBob2JieSAgICAgICAgICAgIE1vbiBBdWcgMjYgMDA6NTc6MDggMTk5MSAgIGdvbmUgLSBubyBsb2dvdXQKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTg6MDA6MDAgMjAxMyAgIHN0aWxsIHJ1bm5pbmcKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTY6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMTc6MDA6MDAgMjAxMyAgKDAxOjAwKQorSVB2NCAgICAgcm9vdCAgICAgICAgIGRucy1zZXJ2ZXIgICAgICAgV2VkIEF1ZyAyOCAxMzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAxNDowMDowMCAyMDEzICAoMDE6MDApCitub252YWxpZCBmb28gICAgICAgICAgemVybyAgICAgICAgICAgICBXZWQgQXVnIDI4IDEyOjAwOjAwIDIwMTMgLSBkb3duICAgICAgICAgICAgICAgICAgICAgICgwMzowMCkKK3J1bmxldmVsIGZvbyAgICAgICAgICBvbmUgICAgICAgICAgICAgIFdlZCBBdWcgMjggMTE6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMTI6MDA6MDAgMjAxMyAgKDAxOjAwKQorc3lzYm9vdCAgZm9vICAgICAgICAgIHR3byAgICAgICAgICAgICAgV2VkIEF1ZyAyOCAxMDowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAxMTowMDowMCAyMDEzICAoMDE6MDApCituZXd0aW1lICBmb28gICAgICAgICAgdGhyZWUgICAgICAgICAgICBXZWQgQXVnIDI4IDA5OjAwOjAwIDIwMTMgLSBXZWQgQXVnIDI4IDEwOjAwOjAwIDIwMTMgICgwMTowMCkKK29sZHRpbWUgIGZvbyAgICAgICAgICBmb3VyICAgICAgICAgICAgIFdlZCBBdWcgMjggMDg6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMDk6MDA6MDAgMjAxMyAgKDAxOjAwKQoraW5pdCAgICAgZm9vICAgICAgICAgIGZpdmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAwODowMDowMCAyMDEzICAoMDE6MDApCitsb2dpbiAgICBmb28gICAgICAgICAgc2l4ICAgICAgICAgICAgICBXZWQgQXVnIDI4IDA2OjAwOjAwIDIwMTMgLSBXZWQgQXVnIDI4IDA3OjAwOjAwIDIwMTMgICgwMTowMCkKK3VzZXJfcHJvIGZvbyAgICAgICAgICBzZXZlbiAgICAgICAgICAgIFdlZCBBdWcgMjggMDU6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMDY6MDA6MDAgMjAxMyAgKDAxOjAwKQorYWNjb3VudGkgZm9vICAgICAgICAgIG5pbmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAwNDowMDowMCAyMDEzICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gZnVsbCB0aW1lcyBsb25nb3B0IH5+fgorcmljayAgICAgbG9uZyAgICAgICAgIG5ldmVyLWdvbm5hLWxvZ28gVGh1IEphbiAgMSAwMDowMDowMCAxOTcwIC0gVHVlIEphbiAxOSAwMzoxNDowNyAyMDM4ICgyNDg1NSswMzoxNCkKK3RvcnZhbGRzIGxpbnV4ICAgICAgICBob2JieSAgICAgICAgICAgIE1vbiBBdWcgMjYgMDA6NTc6MDggMTk5MSAgIGdvbmUgLSBubyBsb2dvdXQKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTg6MDA6MDAgMjAxMyAgIHN0aWxsIHJ1bm5pbmcKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgIFdlZCBBdWcgMjggMTY6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMTc6MDA6MDAgMjAxMyAgKDAxOjAwKQorSVB2NCAgICAgcm9vdCAgICAgICAgIGRucy1zZXJ2ZXIgICAgICAgV2VkIEF1ZyAyOCAxMzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAxNDowMDowMCAyMDEzICAoMDE6MDApCitub252YWxpZCBmb28gICAgICAgICAgemVybyAgICAgICAgICAgICBXZWQgQXVnIDI4IDEyOjAwOjAwIDIwMTMgLSBkb3duICAgICAgICAgICAgICAgICAgICAgICgwMzowMCkKK3J1bmxldmVsIGZvbyAgICAgICAgICBvbmUgICAgICAgICAgICAgIFdlZCBBdWcgMjggMTE6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMTI6MDA6MDAgMjAxMyAgKDAxOjAwKQorc3lzYm9vdCAgZm9vICAgICAgICAgIHR3byAgICAgICAgICAgICAgV2VkIEF1ZyAyOCAxMDowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAxMTowMDowMCAyMDEzICAoMDE6MDApCituZXd0aW1lICBmb28gICAgICAgICAgdGhyZWUgICAgICAgICAgICBXZWQgQXVnIDI4IDA5OjAwOjAwIDIwMTMgLSBXZWQgQXVnIDI4IDEwOjAwOjAwIDIwMTMgICgwMTowMCkKK29sZHRpbWUgIGZvbyAgICAgICAgICBmb3VyICAgICAgICAgICAgIFdlZCBBdWcgMjggMDg6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMDk6MDA6MDAgMjAxMyAgKDAxOjAwKQoraW5pdCAgICAgZm9vICAgICAgICAgIGZpdmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAwODowMDowMCAyMDEzICAoMDE6MDApCitsb2dpbiAgICBmb28gICAgICAgICAgc2l4ICAgICAgICAgICAgICBXZWQgQXVnIDI4IDA2OjAwOjAwIDIwMTMgLSBXZWQgQXVnIDI4IDA3OjAwOjAwIDIwMTMgICgwMTowMCkKK3VzZXJfcHJvIGZvbyAgICAgICAgICBzZXZlbiAgICAgICAgICAgIFdlZCBBdWcgMjggMDU6MDA6MDAgMjAxMyAtIFdlZCBBdWcgMjggMDY6MDA6MDAgMjAxMyAgKDAxOjAwKQorYWNjb3VudGkgZm9vICAgICAgICAgIG5pbmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzIC0gV2VkIEF1ZyAyOCAwNDowMDowMCAyMDEzICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gbm8gdGltZSB+fn4KK3JpY2sgICAgIGxvbmcgICAgICAgICBuZXZlci1nb25uYS1sb2dvICAgKDI0ODU1KzAzOjE0KQordG9ydmFsZHMgbGludXggICAgICAgIGhvYmJ5ICAgICAgICAgICAgICBubyBsb2dvdXQKK3JlYm9vdCAgIHN5c3RlbSBib290ICBzeXN0ZW0tbmFtZSAgICAgICAgcnVubmluZworcmVib290ICAgc3lzdGVtIGJvb3QgIHN5c3RlbS1uYW1lICAgICAgICAgKDAxOjAwKQorSVB2NCAgICAgcm9vdCAgICAgICAgIGRucy1zZXJ2ZXIgICAgICAgICAgKDAxOjAwKQorbm9udmFsaWQgZm9vICAgICAgICAgIHplcm8gICAgICAgICAgICAgICAgKDAzOjAwKQorcnVubGV2ZWwgZm9vICAgICAgICAgIG9uZSAgICAgICAgICAgICAgICAgKDAxOjAwKQorc3lzYm9vdCAgZm9vICAgICAgICAgIHR3byAgICAgICAgICAgICAgICAgKDAxOjAwKQorbmV3dGltZSAgZm9vICAgICAgICAgIHRocmVlICAgICAgICAgICAgICAgKDAxOjAwKQorb2xkdGltZSAgZm9vICAgICAgICAgIGZvdXIgICAgICAgICAgICAgICAgKDAxOjAwKQoraW5pdCAgICAgZm9vICAgICAgICAgIGZpdmUgICAgICAgICAgICAgICAgKDAxOjAwKQorbG9naW4gICAgZm9vICAgICAgICAgIHNpeCAgICAgICAgICAgICAgICAgKDAxOjAwKQordXNlcl9wcm8gZm9vICAgICAgICAgIHNldmVuICAgICAgICAgICAgICAgKDAxOjAwKQorYWNjb3VudGkgZm9vICAgICAgICAgIG5pbmUgICAgICAgICAgICAgICAgKDAxOjAwKQorfn5+IGlzby04NjAxIHRpbWUgfn5+CityaWNrICAgICBsb25nICAgICAgICAgbmV2ZXItZ29ubmEtbG9nb3V0IDE5NzAtMDEtMDFUMDA6MDA6MDArMDA6MDAgLSAyMDM4LTAxLTE5VDAzOjE0OjA3KzAwOjAwICgyNDg1NSswMzoxNCkKK3RvcnZhbGRzIGxpbnV4ICAgICAgICBob2JieSAgICAgICAgICAgIDE5OTEtMDgtMjZUMDA6NTc6MDgrMDA6MDAgICBnb25lIC0gbm8gbG9nb3V0CityZWJvb3QgICBzeXN0ZW0gYm9vdCAgc3lzdGVtLW5hbWUgICAgICAyMDEzLTA4LTI4VDE4OjAwOjAwKzAwOjAwICAgc3RpbGwgcnVubmluZworcmVib290ICAgc3lzdGVtIGJvb3QgIHN5c3RlbS1uYW1lICAgICAgMjAxMy0wOC0yOFQxNjowMDowMCswMDowMCAtIDIwMTMtMDgtMjhUMTc6MDA6MDArMDA6MDAgICgwMTowMCkKK0lQdjQgICAgIHJvb3QgICAgICAgICBkbnMtc2VydmVyICAgICAgIDIwMTMtMDgtMjhUMTM6MDA6MDArMDA6MDAgLSAyMDEzLTA4LTI4VDE0OjAwOjAwKzAwOjAwICAoMDE6MDApCitub252YWxpZCBmb28gICAgICAgICAgemVybyAgICAgICAgICAgICAyMDEzLTA4LTI4VDEyOjAwOjAwKzAwOjAwIC0gZG93biAgICAgICAgICAgICAgICAgICAgICAgKDAzOjAwKQorcnVubGV2ZWwgZm9vICAgICAgICAgIG9uZSAgICAgICAgICAgICAgMjAxMy0wOC0yOFQxMTowMDowMCswMDowMCAtIDIwMTMtMDgtMjhUMTI6MDA6MDArMDA6MDAgICgwMTowMCkKK3N5c2Jvb3QgIGZvbyAgICAgICAgICB0d28gICAgICAgICAgICAgIDIwMTMtMDgtMjhUMTA6MDA6MDArMDA6MDAgLSAyMDEzLTA4LTI4VDExOjAwOjAwKzAwOjAwICAoMDE6MDApCituZXd0aW1lICBmb28gICAgICAgICAgdGhyZWUgICAgICAgICAgICAyMDEzLTA4LTI4VDA5OjAwOjAwKzAwOjAwIC0gMjAxMy0wOC0yOFQxMDowMDowMCswMDowMCAgKDAxOjAwKQorb2xkdGltZSAgZm9vICAgICAgICAgIGZvdXIgICAgICAgICAgICAgMjAxMy0wOC0yOFQwODowMDowMCswMDowMCAtIDIwMTMtMDgtMjhUMDk6MDA6MDArMDA6MDAgICgwMTowMCkKK2luaXQgICAgIGZvbyAgICAgICAgICBmaXZlICAgICAgICAgICAgIDIwMTMtMDgtMjhUMDc6MDA6MDArMDA6MDAgLSAyMDEzLTA4LTI4VDA4OjAwOjAwKzAwOjAwICAoMDE6MDApCitsb2dpbiAgICBmb28gICAgICAgICAgc2l4ICAgICAgICAgICAgICAyMDEzLTA4LTI4VDA2OjAwOjAwKzAwOjAwIC0gMjAxMy0wOC0yOFQwNzowMDowMCswMDowMCAgKDAxOjAwKQordXNlcl9wcm9jZXNzIGZvbyAgICAgICAgICBzZXZlbiAgICAgICAgICAgIDIwMTMtMDgtMjhUMDU6MDA6MDArMDA6MDAgLSAyMDEzLTA4LTI4VDA2OjAwOjAwKzAwOjAwICAoMDE6MDApCithY2NvdW50aW5nIGZvbyAgICAgICAgICBuaW5lICAgICAgICAgICAgIDIwMTMtMDgtMjhUMDM6MDA6MDArMDA6MDAgLSAyMDEzLTA4LTI4VDA0OjAwOjAwKzAwOjAwICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgMjAxMy0wOC0yOFQwMzowMDowMCswMDowMAorfn5+IHNpbmNlIGFuZCB1bnRpbCB+fn4KK29sZHRpbWUgIGZvbyAgICAgICAgICBmb3VyICAgICAgICAgICAgIFdlZCBBdWcgMjggMDg6MDAgICAgZ29uZSAtIG5vIGxvZ291dAoraW5pdCAgICAgZm9vICAgICAgICAgIGZpdmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwNzowMCAtIDA4OjAwICAoMDE6MDApCitsb2dpbiAgICBmb28gICAgICAgICAgc2l4ICAgICAgICAgICAgICBXZWQgQXVnIDI4IDA2OjAwIC0gMDc6MDAgICgwMTowMCkKK3VzZXJfcHJvIGZvbyAgICAgICAgICBzZXZlbiAgICAgICAgICAgIFdlZCBBdWcgMjggMDU6MDAgLSAwNjowMCAgKDAxOjAwKQorYWNjb3VudGkgZm9vICAgICAgICAgIG5pbmUgICAgICAgICAgICAgV2VkIEF1ZyAyOCAwMzowMCAtIDA0OjAwICAoMDE6MDApCisKK3d0bXAtYSBiZWdpbnMgV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzCit+fn4gcHJlc2VudCB+fn4KK3JpY2sgICAgIGxvbmcgICAgICAgICBuZXZlci1nb25uYS1sb2dvIFRodSBKYW4gIDEgMDA6MDAgLSAwMzoxNCAoMjQ4NTUrMDM6MTQpCit0b3J2YWxkcyBsaW51eCAgICAgICAgaG9iYnkgICAgICAgICAgICBNb24gQXVnIDI2IDAwOjU3ICAgIGdvbmUgLSBubyBsb2dvdXQKK3J1bmxldmVsIGZvbyAgICAgICAgICBvbmUgICAgICAgICAgICAgIFdlZCBBdWcgMjggMTE6MDAgLSAxMjowMCAgKDAxOjAwKQorCit3dG1wLWEgYmVnaW5zIFdlZCBBdWcgMjggMDM6MDA6MDAgMjAxMwpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC1jaXJjbGUgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLWNpcmNsZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NmZkMmE5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC1jaXJjbGUKQEAgLTAsMCArMSBAQAorbm8gb3V0cHV0IGV4cGVjdGVkCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXN1YnNlY29uZCBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtc3Vic2Vjb25kCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY3ZDJjZjgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXN1YnNlY29uZApAQCAtMCwwICsxLDQgQEAKK2xhc3QgOSBpcyBleHBlY3RlZCB0byBkaXNhcHBlYXIgaW4gY29udmVyc2lvbgorWzddIFswMDAxMF0gW2lwdjZdIFtJUHY2ICAgIF0gW3Jvb3QgICAgICAgIF0gW2Rucy1zZXJ2ZXIgICAgICAgICAgXSBbMjAwMTo1MDM6YmEzZTo6MjozMF0gWzIwMTMtMDgtMjhUMjA6MzA6NDAsMTIzNDU2KzAwOjAwXQorWzhdIFswMDAxMV0gW2lwdjZdIFtJUHY2ICAgIF0gW3Jvb3QgICAgICAgIF0gW2Rucy1zZXJ2ZXIgICAgICAgICAgXSBbMjAwMTo1MDM6YmEzZTo6MjozMF0gWzIwMTMtMDgtMjhUMjA6NDA6NTAsOTk5OTk5KzAwOjAwXQorWzBdIFswMDAwMF0gW3RzLzBdIFtub252YWxpZF0gW2ZvbyAgICAgICAgIF0gW3plcm8gICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQxMjowMDowMCwxMjM0NTY3OCswMDowMF0KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG9iaW4gYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXRvYmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQwZjFiNjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXRvYmluCkBAIC0wLDAgKzEgQEAKK25vIGRpZmYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG9iaW4taXB2NiBiL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG9iaW4taXB2NgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMGYxYjYxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC10b2Jpbi1pcHY2CkBAIC0wLDAgKzEgQEAKK25vIGRpZmYKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V0bXAvdXRtcGR1bXAtdG90eHQgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXRvdHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmY5MjkyNzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXRvdHh0CkBAIC0wLDAgKzEsMTAgQEAKK1s3XSBbMTcwNThdIFt0cy8xXSBba2Vyb2xhc2FdIFtwdHMvMSAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTZUMjM6NDQ6MDksMDAwMDAwKzAwOjAwXQorWzddIFsyMjA5OF0gW3RzLzJdIFtrZXJvbGFzYV0gW3B0cy8yICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xNlQyMzo0OToxNywwMDAwMDArMDA6MDBdCitbN10gWzI0OTE1XSBbdHMvM10gW2tlcm9sYXNhXSBbcHRzLzMgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDEyOjIzOjMzLDAwMDAwMCswMDowMF0KK1s4XSBbMjQ5MTVdIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMTI6MjQ6NDksMDAwMDAwKzAwOjAwXQorWzddIFszMDYyOV0gW3RzLzNdIFtrZXJvbGFzYV0gW3B0cy8zICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QxMzoxMjozOSwwMDAwMDArMDA6MDBdCitbOF0gWzMwNjI5XSBbdHMvM10gW2tlcm9sYXNhXSBbcHRzLzMgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDEzOjQyOjE5LDAwMDAwMCswMDowMF0KK1s4XSBbMjIwOThdIFt0cy8yXSBba2Vyb2xhc2FdIFtwdHMvMiAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMTM6NDI6NDgsMDAwMDAwKzAwOjAwXQorWzhdIFsxNzA1OF0gW3RzLzFdIFtrZXJvbGFzYV0gW3B0cy8xICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QxMzo0Mjo0OCwwMDAwMDArMDA6MDBdCitbN10gWzMxNTQ1XSBbdHMvMV0gW2tlcm9sYXNhXSBbcHRzLzEgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDIwOjE3OjIxLDAwMDAwMCswMDowMF0KK1s3XSBbMjg0OTZdIFt0cy8yXSBba2Vyb2xhc2FdIFtwdHMvMiAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMjE6MDk6MzksMDAwMDAwKzAwOjAwXQpkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC10b3R4dC1pcHY2IGIvdGVzdHMvZXhwZWN0ZWQvdXRtcC91dG1wZHVtcC10b3R4dC1pcHY2Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjZWI0MTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dG1wL3V0bXBkdW1wLXRvdHh0LWlwdjYKQEAgLTAsMCArMSwyIEBACitbN10gWzAwMDEwXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbMjAxMy0wOC0yOFQyMDozMDo0MCwwMDAwMDArMDA6MDBdCitbOF0gWzAwMDExXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbMjAxMy0wOC0yOFQyMDo0MDo1MCwwMDAwMDArMDA6MDBdCmRpZmYgLS1naXQgYS90ZXN0cy9leHBlY3RlZC91dWlkL25hbWVzcGFjZSBiL3Rlc3RzL2V4cGVjdGVkL3V1aWQvbmFtZXNwYWNlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NjA5NzUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dWlkL25hbWVzcGFjZQpAQCAtMCwwICsxLDcgQEAKK3V1aWRfZ2V0X3RlbXBsYXRlIGRucyByZXR1cm5zIDZiYTdiODEwLTlkYWQtMTFkMS04MGI0LTAwYzA0ZmQ0MzBjOAordXVpZF9nZXRfdGVtcGxhdGUgdXJsIHJldHVybnMgNmJhN2I4MTEtOWRhZC0xMWQxLTgwYjQtMDBjMDRmZDQzMGM4Cit1dWlkX2dldF90ZW1wbGF0ZSBvaWQgcmV0dXJucyA2YmE3YjgxMi05ZGFkLTExZDEtODBiNC0wMGMwNGZkNDMwYzgKK3V1aWRfZ2V0X3RlbXBsYXRlIHg1MDAgcmV0dXJucyA2YmE3YjgxNC05ZGFkLTExZDEtODBiNC0wMGMwNGZkNDMwYzgKK3V1aWRfZ2V0X3RlbXBsYXRlIE5VTEwgcmV0dXJucyBOVUxMCit1dWlkX2dldF90ZW1wbGF0ZSAgcmV0dXJucyBOVUxMCit1dWlkX2dldF90ZW1wbGF0ZSB1bmtub3duIHJldHVybnMgTlVMTApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXVpZC9vaWRzIGIvdGVzdHMvZXhwZWN0ZWQvdXVpZC9vaWRzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ2NDQ4NDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dWlkL29pZHMKQEAgLTAsMCArMSw0IEBACiszZDgxM2NiYi00N2ZiLTMyYmEtOTFkZi04MzFlMTU5M2FjMjkKKzVkZjQxODgxLTNhZWQtMzUxNS04OGE3LTJmNGE4MTRjZjA5ZQorMmVkNjY1N2QtZTkyNy01NjhiLTk1ZTEtMjY2NWE4YWVhNmEyCitmY2RjMjEyMi03OGQyLTU5ZjctOTFlZC0wNDFhNTYxZWY2NTIKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZF9wYXJzZXIgYi90ZXN0cy9leHBlY3RlZC91dWlkL3V1aWRfcGFyc2VyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE5ZWI2NzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC91dWlkL3V1aWRfcGFyc2VyCkBAIC0wLDAgKzEsMTUgQEAKKzg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYiBpcyB2YWxpZCwgT0sKKzg0OTQ5Q0M1LTQ3MDEtNEE4NC04OTVCLTM1NEM1ODRBOTgxQiBpcyB2YWxpZCwgT0sKKzg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYmMgaXMgaW52YWxpZCwgT0sKKzg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxIGlzIGludmFsaWQsIE9LCis4NDk0OWNjNXg0NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MWIgaXMgaW52YWxpZCwgT0sKKzg0OTQ5Y2M1MDQ3MDEtNGE4NC04OTViLTM1NGM1ODRhOTgxYiBpcyBpbnZhbGlkLCBPSworODQ5NDljYzUtNDcwMTA0YTg0LTg5NWItMzU0YzU4NGE5ODFiIGlzIGludmFsaWQsIE9LCis4NDk0OWNjNS00NzAxLTRhODQwODk1Yi0zNTRjNTg0YTk4MWIgaXMgaW52YWxpZCwgT0sKKzg0OTQ5Y2M1LTQ3MDEtNGE4NC04OTViMDM1NGM1ODRhOTgxYiBpcyBpbnZhbGlkLCBPSworZzQ5NDljYzUtNDcwMS00YTg0LTg5NWItMzU0YzU4NGE5ODFiIGlzIGludmFsaWQsIE9LCis4NDk0OWNjNS00NzAxLTRhODQtODk1Yi0zNTRjNTg0YTk4MWcgaXMgaW52YWxpZCwgT0sKKzAwMDAwMDAwLTAwMDAtMDAwMC0wMDAwLTAwMDAwMDAwMDAwMCBpcyB2YWxpZCwgT0sKKzAxMjM0NTY3LTg5YWItY2RlZi0wMTM0LTU2Nzg5MGFiY2VkZiBpcyB2YWxpZCwgT0sKK2ZmZmZmZmZmLWZmZmYtZmZmZi1mZmZmLWZmZmZmZmZmZmZmZiBpcyB2YWxpZCwgT0sKK3JldHVybiB2YWx1ZTogMApkaWZmIC0tZ2l0IGEvdGVzdHMvZXhwZWN0ZWQvdXVpZC91dWlkZCBiL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYWU0NDBiMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZGQKQEAgLTAsMCArMSwxMSBAQAorb3B0aW9uczogLXQKK3JldHVybiB2YWx1ZTogMAorb3B0aW9uczogLS10aW1lCityZXR1cm4gdmFsdWU6IDAKK29wdGlvbnM6IC1yCityZXR1cm4gdmFsdWU6IDAKK29wdGlvbnM6IC0tcmFuZG9tCityZXR1cm4gdmFsdWU6IDAKK29wdGlvbnM6IC1yIC1uIDY1CityZXR1cm4gdmFsdWU6IDAKK0tpbGxlZCB1dWlkZCBydW5uaW5nIGF0IHBpZCA8bnVtPi4KZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZGdlbiBiL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZGdlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGQxZDk4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvZXhwZWN0ZWQvdXVpZC91dWlkZ2VuCkBAIC0wLDAgKzEsOCBAQAorb3B0aW9uOiAtcgorcmV0dXJuIHZhbHVlczogMCBhbmQgMAorb3B0aW9uOiAtdAorcmV0dXJuIHZhbHVlczogMCBhbmQgMAorb3B0aW9uOiAtLXJhbmRvbQorcmV0dXJuIHZhbHVlczogMCBhbmQgMAorb3B0aW9uOiAtLXRpbWUKK3JldHVybiB2YWx1ZXM6IDAgYW5kIDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZHBhcnNlIGIvdGVzdHMvZXhwZWN0ZWQvdXVpZC91dWlkcGFyc2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIyM2EyNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2V4cGVjdGVkL3V1aWQvdXVpZHBhcnNlCkBAIC0wLDAgKzEsMzEgQEAKK1VVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFSSUFOVCAgIFRZUEUgICAgICAgVElNRQorMDAwMDAwMDAtMDAwMC0wMDAwLTAwMDAtMDAwMDAwMDAwMDAwICBOQ1MgICAgICAgbmlsICAgICAgICAKKzAwMDAwMDAwLTAwMDAtMTAwMC0wMDAwLTAwMDAwMDAwMDAwMCAgTkNTICAgICAgIHRpbWUtYmFzZWQgCiswMDAwMDAwMC0wMDAwLTIwMDAtMDAwMC0wMDAwMDAwMDAwMDAgIE5DUyAgICAgICBEQ0UgICAgICAgIAorMDAwMDAwMDAtMDAwMC0zMDAwLTAwMDAtMDAwMDAwMDAwMDAwICBOQ1MgICAgICAgbmFtZS1iYXNlZCAKKzAwMDAwMDAwLTAwMDAtNDAwMC0wMDAwLTAwMDAwMDAwMDAwMCAgTkNTICAgICAgIHJhbmRvbSAgICAgCiswMDAwMDAwMC0wMDAwLTUwMDAtMDAwMC0wMDAwMDAwMDAwMDAgIE5DUyAgICAgICBzaGExLWJhc2VkIAorMDAwMDAwMDAtMDAwMC02MDAwLTAwMDAtMDAwMDAwMDAwMDAwICBOQ1MgICAgICAgdW5rbm93biAgICAKKzAwMDAwMDAwLTAwMDAtMDAwMC04MDAwLTAwMDAwMDAwMDAwMCAgRENFICAgICAgIHVua25vd24gICAgCiswMDAwMDAwMC0wMDAwLTIwMDAtODAwMC0wMDAwMDAwMDAwMDAgIERDRSAgICAgICBEQ0UgICAgICAgIAorMDAwMDAwMDAtMDAwMC0zMDAwLTgwMDAtMDAwMDAwMDAwMDAwICBEQ0UgICAgICAgbmFtZS1iYXNlZCAKKzAwMDAwMDAwLTAwMDAtNDAwMC04MDAwLTAwMDAwMDAwMDAwMCAgRENFICAgICAgIHJhbmRvbSAgICAgCiswMDAwMDAwMC0wMDAwLTUwMDAtODAwMC0wMDAwMDAwMDAwMDAgIERDRSAgICAgICBzaGExLWJhc2VkIAorMDAwMDAwMDAtMDAwMC02MDAwLTgwMDAtMDAwMDAwMDAwMDAwICBEQ0UgICAgICAgdW5rbm93biAgICAKKzAwMDAwMDAwLTAwMDAtMDAwMC1kMDAwLTAwMDAwMDAwMDAwMCAgTWljcm9zb2Z0IHVua25vd24gICAgCiswMDAwMDAwMC0wMDAwLTEwMDAtZDAwMC0wMDAwMDAwMDAwMDAgIE1pY3Jvc29mdCB0aW1lLWJhc2VkIAorMDAwMDAwMDAtMDAwMC0yMDAwLWQwMDAtMDAwMDAwMDAwMDAwICBNaWNyb3NvZnQgRENFICAgICAgICAKKzAwMDAwMDAwLTAwMDAtMzAwMC1kMDAwLTAwMDAwMDAwMDAwMCAgTWljcm9zb2Z0IG5hbWUtYmFzZWQgCiswMDAwMDAwMC0wMDAwLTQwMDAtZDAwMC0wMDAwMDAwMDAwMDAgIE1pY3Jvc29mdCByYW5kb20gICAgIAorMDAwMDAwMDAtMDAwMC01MDAwLWQwMDAtMDAwMDAwMDAwMDAwICBNaWNyb3NvZnQgc2hhMS1iYXNlZCAKKzAwMDAwMDAwLTAwMDAtNjAwMC1kMDAwLTAwMDAwMDAwMDAwMCAgTWljcm9zb2Z0IHVua25vd24gICAgCiswMDAwMDAwMC0wMDAwLTAwMDAtZjAwMC0wMDAwMDAwMDAwMDAgIG90aGVyICAgICB1bmtub3duICAgIAorMDAwMDAwMDAtMDAwMC0xMDAwLWYwMDAtMDAwMDAwMDAwMDAwICBvdGhlciAgICAgdGltZS1iYXNlZCAKKzAwMDAwMDAwLTAwMDAtMjAwMC1mMDAwLTAwMDAwMDAwMDAwMCAgb3RoZXIgICAgIERDRSAgICAgICAgCiswMDAwMDAwMC0wMDAwLTMwMDAtZjAwMC0wMDAwMDAwMDAwMDAgIG90aGVyICAgICBuYW1lLWJhc2VkIAorMDAwMDAwMDAtMDAwMC00MDAwLWYwMDAtMDAwMDAwMDAwMDAwICBvdGhlciAgICAgcmFuZG9tICAgICAKKzAwMDAwMDAwLTAwMDAtNTAwMC1mMDAwLTAwMDAwMDAwMDAwMCAgb3RoZXIgICAgIHNoYTEtYmFzZWQgCiswMDAwMDAwMC0wMDAwLTYwMDAtZjAwMC0wMDAwMDAwMDAwMDAgIG90aGVyICAgICB1bmtub3duICAgIAorOWIyNzRjNDYtNTQ0YS0xMWU3LWE5NzItMDAwMzdmNTAwMDAxICBEQ0UgICAgICAgdGltZS1iYXNlZCAyMDE3LTA2LTE4IDE3OjIxOjQ2LDU0NDY0NyswMDowMAoraW52YWxpZC1pbnB1dCAgICAgICAgICAgICAgICAgICAgICAgICBpbnZhbGlkICAgaW52YWxpZCAgICBpbnZhbGlkCityZXR1cm4gdmFsdWU6IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL2V4cGVjdGVkL3dpcGVmcy93aXBlZnMgYi90ZXN0cy9leHBlY3RlZC93aXBlZnMvd2lwZWZzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ4NmJhYzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9leHBlY3RlZC93aXBlZnMvd2lwZWZzCkBAIC0wLDAgKzEgQEAKK09LCmRpZmYgLS1naXQgYS90ZXN0cy9mdW5jdGlvbnMuc2ggYi90ZXN0cy9mdW5jdGlvbnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmZiMGRkYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2Z1bmN0aW9ucy5zaApAQCAtMCwwICsxLDk0OSBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKworZnVuY3Rpb24gdHNfYWJzcGF0aCB7CisJY2QgJDEKKwlwd2QKK30KKworZnVuY3Rpb24gdHNfY2Fub25pY2FsaXplIHsKKwlQPSIkMSIKKwlDPSQocmVhZGxpbmsgLWYgJFApCisKKwlpZiBbIC1uICIkQyIgXTsgdGhlbgorCQllY2hvICIkQyIKKwllbHNlCisJCWVjaG8gIiRQIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX2NkIHsKKwlpZiBbICQjIC1lcSAwIF07IHRoZW4KKwkJdHNfZmFpbGVkICJ1bF9jZDogbm90IGVub3VnaCBhcmd1bWVudHMiCisJZmkKKwlERVNUPSQocmVhZGxpbmsgLWYgIiQxIiAyPi9kZXYvbnVsbCkKKwlpZiBbICJ4JERFU1QiID0gIngiIF0gfHwgWyAhIC1kICIkREVTVCIgXTsgdGhlbgorCQl0c19mYWlsZWQgInVsX2NkOiAkMTogbm8gc3VjaCBkaXJlY3RvcnkiCisJZmkKKwljZCAiJERFU1QiIDI+L2Rldi9udWxsIHx8IHRzX2ZhaWxlZCAidWxfY2Q6ICQxOiBjYW5ub3QgY2hhbmdlIGRpcmVjdG9yeSIKKwlpZiBbICIkUFdEIiAhPSAiJERFU1QiIF07IHRoZW4KKwkJdHNfZmFpbGVkICJ1bF9jZDogJFBXRCBpcyBub3QgJERFU1QiCisJZmkKK30KKworZnVuY3Rpb24gdHNfc2VwYXJhdG9yIHsKKwlsb2NhbCBoZWFkZXI9IiQxIgorCWVjaG8gPj4gJFRTX09VVFBVVAorCWlmIFsgLXogIiRoZWFkZXIiIF07IHRoZW4KKwkJZWNobyAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0iID4+ICRUU19PVVRQVVQKKwllbHNlCisJCWVjaG8gIj09PT09JGhlYWRlcj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IiA+PiAkVFNfT1VUUFVUCisJZmkKK30KKworZnVuY3Rpb24gdHNfcmVwb3J0IHsKKwlsb2NhbCBkZXNjPQorCisJaWYgWyAiJFRTX1BBUlNBQkxFIiAhPSAieWVzIiBdOyB0aGVuCisJCWlmIFsgJFRTX05TVUJURVNUUyAtbmUgMCBdICYmIFsgLXogIiRUU19TVUJOQU1FIiBdOyB0aGVuCisJCQlkZXNjPSQocHJpbnRmICIlMTFzLi4uIikKKwkJZmkKKwkJZWNobyAiJGRlc2MkMSIKKwkJcmV0dXJuCisJZmkKKworCWlmIFsgLW4gIiRUU19TVUJOQU1FIiBdOyB0aGVuCisJCWRlc2M9JChwcmludGYgIiVzOiBbJTAyZF0gJXMiICIkVFNfREVTQyIgIiRUU19OU1VCVEVTVFMiICIkVFNfU1VCTkFNRSIpCisJZWxzZQorCQlkZXNjPSRUU19ERVNDCisJZmkKKwlwcmludGYgIiUxM3M6ICUtNDVzIC4uLiVzXG4iICIkVFNfQ09NUE9ORU5UIiAiJGRlc2MiICIkMSIKK30KKworZnVuY3Rpb24gdHNfY2hlY2tfdGVzdF9jb21tYW5kIHsKKwlpZiBbICEgLXggIiQxIiBdOyB0aGVuCisJCXRzX3NraXAgIiR7MSMjKi99IG5vdCBmb3VuZCIKKwlmaQorfQorCitmdW5jdGlvbiB0c19jaGVja19wcm9nIHsKKwlsb2NhbCBjbWQ9JDEKKwl0eXBlICIkY21kIiA+L2Rldi9udWxsIDI+JjEgfHwgdHNfc2tpcCAibWlzc2luZyBpbiBQQVRIOiAkY21kIgorfQorCitmdW5jdGlvbiB0c19jaGVja19sb3NldHVwIHsKKwlsb2NhbCB0bXAKKwl0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTE9TRVRVUCIKKworCWlmIFsgIiRUU19TS0lQX0xPT1BERVZTIiA9ICJ5ZXMiIF07IHRoZW4KKwkJdHNfc2tpcCAibG9vcC1kZXZpY2UgdGVzdHMgZGlzYWJsZWQiCisJZmkKKworCSMgYXNzdW1pbmcgdGhhdCBsb3NldHVwIC1mIHdvcmtzIC4uLiB0byBiZSBjaGVja2VkIHNvbWV3aGVyZSBlbHNlCisJdG1wPSQoJFRTX0NNRF9MT1NFVFVQIC1mIDI+L2Rldi9udWxsKQorCWlmIHRlc3QgLWIgIiR0bXAiOyB0aGVuCisJCXJldHVybiAwCisJZmkKKwl0c19za2lwICJubyBsb29wLWRldmljZSBzdXBwb3J0IgorfQorCitmdW5jdGlvbiB0c19yZXBvcnRfc2tpcCB7CisJdHNfcmVwb3J0ICIgU0tJUFBFRCAoJDEpIgorfQorCitmdW5jdGlvbiB0c19za2lwIHsKKwl0c19yZXBvcnRfc2tpcCAiJDEiCisKKwl0c19jbGVhbnVwX29uX2V4aXQKKwlleGl0IDAKK30KKworZnVuY3Rpb24gdHNfc2tpcF9ub25yb290IHsKKwlpZiBbICRVSUQgLW5lIDAgXTsgdGhlbgorCQl0c19za2lwICJubyByb290IHBlcm1pc3Npb25zIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX2ZhaWxlZF9zdWJ0ZXN0IHsKKwlsb2NhbCBtc2c9IkZBSUxFRCIKKwlsb2NhbCByZXQ9MQorCWlmIFsgIiRUU19LTk9XTl9GQUlMIiA9ICJ5ZXMiIF07IHRoZW4KKwkJbXNnPSJLTk9XTiBGQUlMRUQiCisJCXJldD0wCisJZmkKKworCWlmIFsgeCIkMSIgPT0geCIiIF07IHRoZW4KKwkJdHNfcmVwb3J0ICIgJG1zZyAoJFRTX05TKSIKKwllbHNlCisJCXRzX3JlcG9ydCAiICRtc2cgKCQxKSIKKwlmaQorCisJcmV0dXJuICRyZXQKK30KKworZnVuY3Rpb24gdHNfZmFpbGVkIHsKKwl0c19mYWlsZWRfc3VidGVzdCAiJDEiCisJZXhpdCAkPworfQorCitmdW5jdGlvbiB0c19yZXBvcnRfb2sgeworCWlmIFsgeCIkMSIgPT0geCIiIF07IHRoZW4KKwkJdHNfcmVwb3J0ICIgT0siCisJZWxzZQorCQl0c19yZXBvcnQgIiBPSyAoJDEpIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX29rIHsKKwl0c19yZXBvcnRfb2sgIiQxIgorCWV4aXQgMAorfQorCitmdW5jdGlvbiB0c19sb2cgeworCWVjaG8gIiQxIiA+PiAkVFNfT1VUUFVUCisJWyAiJFRTX1ZFUkJPU0UiID09ICJ5ZXMiIF0gJiYgZWNobyAiJDEiCit9CisKK2Z1bmN0aW9uIHRzX2hhc19vcHRpb24geworCU5BTUU9IiQxIgorCUFMTD0iJDIiCisKKwkjIHVzZXIgbWF5IHNldCBvcHRpb25zIGJ5IGVudiBmb3IgYSBzaW5nbGUgdGVzdCBvciB3aG9sZSBjb21wb25lbnQKKwkjIGUuZy4gVFNfT1BUX2lwY3NfbGltaXRzMl9mYWtlPSJ5ZXMiIG9yIFRTX09QVF9pcGNzX2Zha2U9InllcyIKKwlsb2NhbCB2X3Rlc3Q9JHtUU19URVNUTkFNRS8vWy0uXS9ffQorCWxvY2FsIHZfY29tcD0ke1RTX0NPTVBPTkVOVC8vWy0uXS9ffQorCWxvY2FsIHZfbmFtZT0ke05BTUUvL1stLl0vX30KKwlldmFsIGxvY2FsIGVudl9vcHRfdGVzdD1cJFRTX09QVF8ke3ZfY29tcH1fJHt2X3Rlc3R9XyR7dl9uYW1lfQorCWV2YWwgbG9jYWwgZW52X29wdF9jb21wPVwkVFNfT1BUXyR7dl9jb21wfV8ke3ZfbmFtZX0KKwlpZiBbICIkZW52X29wdF90ZXN0IiA9ICJ5ZXMiIFwKKwkJLW8gIiRlbnZfb3B0X2NvbXAiID0gInllcyIgLWEgIiRlbnZfb3B0X3Rlc3QiICE9ICJubyIgXTsgdGhlbgorCQllY2hvICJ5ZXMiCisJCXJldHVybgorCWVsaWYgWyAiJGVudl9vcHRfdGVzdCIgPSAibm8iIFwKKwkJLW8gIiRlbnZfb3B0X2NvbXAiID0gIm5vIiAtYSAiJGVudl9vcHRfdGVzdCIgIT0gInllcyIgXTsgdGhlbgorCQlyZXR1cm4KKwlmaQorCisJIyBvciBqdXN0IGNoZWNrIHRoZSBnbG9iYWwgY29tbWFuZCBsaW5lIG9wdGlvbnMKKwlpZiBbWyAkQUxMID1+IChbJCcgXHRcbiddfF4pLS0kTkFNRShbJCc9IFx0XG4nXXwkKSBdXTsgdGhlbgorCQllY2hvIHllcworCQlyZXR1cm4KKwlmaQorCisJIyBvciB0aGUgX2dsb2JhbF8gZW52LCBlLmcgVFNfT1BUX3BhcnNhYmxlPSJ5ZXMiCisJZXZhbCBsb2NhbCBlbnZfb3B0PVwkVFNfT1BUXyR7dl9uYW1lfQorCWlmIFsgIiRlbnZfb3B0IiA9ICJ5ZXMiIF07IHRoZW4gZWNobyAieWVzIjsgZmkKK30KKworZnVuY3Rpb24gdHNfb3B0aW9uX2FyZ3VtZW50IHsKKwlOQU1FPSIkMSIKKwlBTEw9IiQyIgorCisJIyBsYXN0IG9wdGlvbiB3aW5zIQorCWVjaG8gIiRBTEwiIHwgc2VkIC1uICJzLy4qWyBcdFxuXS0tJE5BTUU9XChbXiBcdFxuXSpcKS4qL1wxL3AiIHwgdGFpbCAtbiAxCit9CisKK2Z1bmN0aW9uIHRzX2luaXRfY29yZV9lbnYgeworCVRTX1NVQk5BTUU9IiIKKwlUU19OUz0iJFRTX0NPTVBPTkVOVC8kVFNfVEVTVE5BTUUiCisJVFNfT1VUUFVUPSIkVFNfT1VURElSLyRUU19URVNUTkFNRSIKKwlUU19WR0RVTVA9IiRUU19PVVRESVIvJFRTX1RFU1ROQU1FLnZnZHVtcCIKKwlUU19ESUZGPSIkVFNfRElGRkRJUi8kVFNfVEVTVE5BTUUiCisJVFNfRVhQRUNURUQ9IiRUU19UT1BESVIvZXhwZWN0ZWQvJFRTX05TIgorCVRTX01PVU5UUE9JTlQ9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tbW50IgorfQorCitmdW5jdGlvbiB0c19pbml0X2NvcmVfc3VidGVzdF9lbnYgeworCVRTX05TPSIkVFNfQ09NUE9ORU5ULyRUU19URVNUTkFNRS0kVFNfU1VCTkFNRSIKKwlUU19PVVRQVVQ9IiRUU19PVVRESVIvJFRTX1RFU1ROQU1FLSRUU19TVUJOQU1FIgorCVRTX1ZHRFVNUD0iJFRTX09VVERJUi8kVFNfVEVTVE5BTUUtJFRTX1NVQk5BTUUudmdkdW1wIgorCVRTX0RJRkY9IiRUU19ESUZGRElSLyRUU19URVNUTkFNRS0kVFNfU1VCTkFNRSIKKwlUU19FWFBFQ1RFRD0iJFRTX1RPUERJUi9leHBlY3RlZC8kVFNfTlMiCisJVFNfTU9VTlRQT0lOVD0iJFRTX09VVERJUi8ke1RTX1RFU1ROQU1FfS0ke1RTX1NVQk5BTUV9LW1udCIKKworCXJtIC1mICRUU19PVVRQVVQgJFRTX1ZHRFVNUAorCVsgLWQgIiRUU19PVVRESVIiIF0gIHx8IG1rZGlyIC1wICIkVFNfT1VURElSIgorCisJdG91Y2ggJFRTX09VVFBVVAorCVsgLW4gIiRUU19WQUxHUklORF9DTUQiIF0gJiYgdG91Y2ggJFRTX1ZHRFVNUAorfQorCitmdW5jdGlvbiB0c19pbml0X2VudiB7CisJbG9jYWwgbXlkaXI9JCh0c19hYnNwYXRoICR7MCUvKn0pCisJbG9jYWwgdG1wCisKKwlMQU5HPSJQT1NJWCIKKwlMQU5HVUFHRT0iUE9TSVgiCisJTENfQUxMPSJQT1NJWCIKKwlDSEFSU0VUPSJVVEYtOCIKKwlBU0FOX09QVElPTlM9ImRldGVjdF9sZWFrcz0wIgorCisJZXhwb3J0IExBTkcgTEFOR1VBR0UgTENfQUxMIENIQVJTRVQgQVNBTl9PUFRJT05TCisKKwlteWRpcj0kKHRzX2Nhbm9uaWNhbGl6ZSAiJG15ZGlyIikKKworCSMgYXV0b21ha2UgZGlyZWN0b3JpZXMKKwl0b3Bfc3JjZGlyPSQodHNfb3B0aW9uX2FyZ3VtZW50ICJzcmNkaXIiICIkKiIpCisJdG9wX2J1aWxkZGlyPSQodHNfb3B0aW9uX2FyZ3VtZW50ICJidWlsZGRpciIgIiQqIikKKworCSMgd2hlcmUgaXMgdGhpcyBzY3JpcHQKKwlUU19UT1BESVI9JCh0c19hYnNwYXRoICRteWRpci8uLi8uLi8pCisKKwkjIGRlZmF1bHQKKwlpZiBbIC16ICIkdG9wX3NyY2RpciIgXTsgdGhlbgorCQl0b3Bfc3JjZGlyPSIkVFNfVE9QRElSLy4uIgorCWZpCisJaWYgWyAteiAiJHRvcF9idWlsZGRpciIgXTsgdGhlbgorCQl0b3BfYnVpbGRkaXI9IiRUU19UT1BESVIvLi4iCisJZmkKKworCXRvcF9zcmNkaXI9JCh0c19hYnNwYXRoICR0b3Bfc3JjZGlyKQorCXRvcF9idWlsZGRpcj0kKHRzX2Fic3BhdGggJHRvcF9idWlsZGRpcikKKworCSMgc29tZSB1bCBjb21tYW5kcyBzZWFyY2ggb3RoZXIgdWwgY29tbWFuZHMgaW4gJFBBVEgKKwlleHBvcnQgUEFUSD0iJHRvcF9idWlsZGRpcjokUEFUSCIKKworCVRTX1NDUklQVD0iJG15ZGlyLyQoYmFzZW5hbWUgJDApIgorCVRTX1NVQkRJUj0kKGRpcm5hbWUgJFRTX1NDUklQVCkKKwlUU19URVNUTkFNRT0kKGJhc2VuYW1lICRUU19TQ1JJUFQpCisJVFNfQ09NUE9ORU5UPSQoYmFzZW5hbWUgJFRTX1NVQkRJUikKKwlUU19ERVNDPSR7VFNfREVTQzotJFRTX1RFU1ROQU1FfQorCisJVFNfTlNVQlRFU1RTPTAKKwlUU19OU1VCRkFJTEVEPTAKKworCVRTX1NFTEY9IiRUU19TVUJESVIiCisKKwlUU19PVVRESVI9IiR0b3BfYnVpbGRkaXIvdGVzdHMvb3V0cHV0LyRUU19DT01QT05FTlQiCisJVFNfRElGRkRJUj0iJHRvcF9idWlsZGRpci90ZXN0cy9kaWZmLyRUU19DT01QT05FTlQiCisKKwlUU19OT0xPQ0tTPSQodHNfaGFzX29wdGlvbiAibm9sb2NrcyIgIiQqIikKKwlUU19MT0NLRElSPSIkdG9wX2J1aWxkZGlyL3Rlc3RzL291dHB1dCIKKworCSMgRG9uJ3QgbG9jayBpZiBmbG9jaygxKSBpcyBtaXNzaW5nCisJdHlwZSAiZmxvY2siID4vZGV2L251bGwgMj4mMSB8fCBUU19OT0xPQ0tTPSJ5ZXMiCisKKwl0c19pbml0X2NvcmVfZW52CisKKwlUU19WRVJCT1NFPSQodHNfaGFzX29wdGlvbiAidmVyYm9zZSIgIiQqIikKKwlUU19TSE9XRElGRj0kKHRzX2hhc19vcHRpb24gInNob3ctZGlmZiIgIiQqIikKKwlUU19QQVJBTExFTD0kKHRzX2hhc19vcHRpb24gInBhcmFsbGVsIiAiJCoiKQorCVRTX0tOT1dOX0ZBSUw9JCh0c19oYXNfb3B0aW9uICJrbm93bi1mYWlsIiAiJCoiKQorCVRTX1NLSVBfTE9PUERFVlM9JCh0c19oYXNfb3B0aW9uICJza2lwLWxvb3BkZXZzIiAiJCoiKQorCVRTX1BBUlNBQkxFPSQodHNfaGFzX29wdGlvbiAicGFyc2FibGUiICIkKiIpCisJWyAiJFRTX1BBUlNBQkxFIiA9ICJ5ZXMiIF0gfHwgVFNfUEFSU0FCTEU9IiRUU19QQVJBTExFTCIKKworCXRtcD0kKCB0c19oYXNfb3B0aW9uICJtZW1jaGVjay12YWxncmluZCIgIiQqIikKKwlpZiBbICIkdG1wIiA9PSAieWVzIiAtYSAtZiAvdXNyL2Jpbi92YWxncmluZCBdOyB0aGVuCisJCVRTX1ZBTEdSSU5EX0NNRD0iL3Vzci9iaW4vdmFsZ3JpbmQiCisJZmkKKwl0bXA9JCggdHNfaGFzX29wdGlvbiAibWVtY2hlY2stYXNhbiIgIiQqIikKKwlpZiBbICIkdG1wIiA9PSAieWVzIiBdOyB0aGVuCisJCVRTX0VOQUJMRV9BU0FOPSJ5ZXMiCisJZmkKKworCUJMS0lEX0ZJTEU9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0uYmxraWR0YWIiCisKKwlkZWNsYXJlIC1hIFRTX1NVSURfUFJPR1MKKwlkZWNsYXJlIC1hIFRTX1NVSURfVVNFUgorCWRlY2xhcmUgLWEgVFNfU1VJRF9HUk9VUAorCWRlY2xhcmUgLWEgVFNfTE9PUF9ERVZTCisJZGVjbGFyZSAtYSBUU19MT0NLRklMRV9GRAorCisJaWYgWyAtZiAkVFNfVE9QRElSL2NvbW1hbmRzLnNoIF07IHRoZW4KKwkJLiAkVFNfVE9QRElSL2NvbW1hbmRzLnNoCisJZmkKKworCWV4cG9ydCBCTEtJRF9GSUxFCisKKwlybSAtZiAkVFNfT1VUUFVUICRUU19WR0RVTVAKKwlbIC1kICIkVFNfT1VURElSIiBdICB8fCBta2RpciAtcCAiJFRTX09VVERJUiIKKworCXRvdWNoICRUU19PVVRQVVQKKwlbIC1uICIkVFNfVkFMR1JJTkRfQ01EIiBdICYmIHRvdWNoICRUU19WR0RVTVAKKworCWlmIFsgIiRUU19WRVJCT1NFIiA9PSAieWVzIiBdOyB0aGVuCisJCWVjaG8KKwkJZWNobyAiICAgICBzY3JpcHQ6ICRUU19TQ1JJUFQiCisJCWVjaG8gIiAgICBzdWIgZGlyOiAkVFNfU1VCRElSIgorCQllY2hvICIgICAgdG9wIGRpcjogJFRTX1RPUERJUiIKKwkJZWNobyAiICAgICAgIHNlbGY6ICRUU19TRUxGIgorCQllY2hvICIgIHRlc3QgbmFtZTogJFRTX1RFU1ROQU1FIgorCQllY2hvICIgIHRlc3QgZGVzYzogJFRTX0RFU0MiCisJCWVjaG8gIiAgY29tcG9uZW50OiAkVFNfQ09NUE9ORU5UIgorCQllY2hvICIgIG5hbWVzcGFjZTogJFRTX05TIgorCQllY2hvICIgICAgdmVyYm9zZTogJFRTX1ZFUkJPU0UiCisJCWVjaG8gIiAgICAgb3V0cHV0OiAkVFNfT1VUUFVUIgorCQllY2hvICIgICB2YWxncmluZDogJFRTX1ZHRFVNUCIKKwkJZWNobyAiICAgZXhwZWN0ZWQ6ICRUU19FWFBFQ1RFRCIKKwkJZWNobyAiIG1vdW50cG9pbnQ6ICRUU19NT1VOVFBPSU5UIgorCQllY2hvCisJZmkKK30KKworZnVuY3Rpb24gdHNfaW5pdF9zdWJ0ZXN0IHsKKworCVRTX1NVQk5BTUU9IiQxIgorCXRzX2luaXRfY29yZV9zdWJ0ZXN0X2VudgorCVRTX05TVUJURVNUUz0kKCggJFRTX05TVUJURVNUUyArIDEgKSkKKworCWlmIFsgIiRUU19QQVJTQUJMRSIgIT0gInllcyIgXTsgdGhlbgorCQlbICRUU19OU1VCVEVTVFMgLWVxIDEgXSAmJiBlY2hvCisJCXByaW50ZiAiJTE2czogJS0yN3MgLi4uIiAiIiAiJFRTX1NVQk5BTUUiCisJZmkKK30KKworZnVuY3Rpb24gdHNfaW5pdCB7CisJdHNfaW5pdF9lbnYgIiQqIgorCisJbG9jYWwgaXNfZmFrZT0kKCB0c19oYXNfb3B0aW9uICJmYWtlIiAiJCoiKQorCWxvY2FsIGlzX2ZvcmNlPSQoIHRzX2hhc19vcHRpb24gImZvcmNlIiAiJCoiKQorCisJaWYgWyAiJFRTX1BBUlNBQkxFIiAhPSAieWVzIiBdOyB0aGVuCisJCXByaW50ZiAiJTEzczogJS0zMHMgLi4uIiAiJFRTX0NPTVBPTkVOVCIgIiRUU19ERVNDIgorCWZpCisKKwlbICIkaXNfZmFrZSIgPT0gInllcyIgXSAmJiB0c19za2lwICJmYWtlIG1vZGUiCisJWyAiJFRTX09QVElPTkFMIiA9PSAieWVzIiAtYSAiJGlzX2ZvcmNlIiAhPSAieWVzIiBdICYmIHRzX3NraXAgIm9wdGlvbmFsIgorfQorCitmdW5jdGlvbiB0c19pbml0X3N1aWQgeworCVBST0c9IiQxIgorCWN0PSR7I1RTX1NVSURfUFJPR1NbKl19CisKKwkjIFNhdmUgaW5mbyBhYm91dCBvcmlnaW5hbCBzZXR0aW5nCisJVFNfU1VJRF9QUk9HU1skY3RdPSRQUk9HCisJVFNfU1VJRF9VU0VSWyRjdF09JChzdGF0IC0tcHJpbnRmPSIlVSIgJFBST0cpCisJVFNfU1VJRF9HUk9VUFskY3RdPSQoc3RhdCAtLXByaW50Zj0iJUciICRQUk9HKQorCisJY2hvd24gcm9vdC5yb290ICRQUk9HICY+IC9kZXYvbnVsbAorCWNobW9kIHUrcyAkUFJPRyAmPiAvZGV2L251bGwKK30KKworZnVuY3Rpb24gdHNfaW5pdF9weSB7CisJTElCTkFNRT0iJDEiCisKKwlbIC1mICIkdG9wX2J1aWxkZGlyL3B5JHtMSUJOQU1FfS5sYSIgXSB8fCB0c19za2lwICJweSR7TElCTkFNRX0gbm90IGNvbXBpbGVkIgorCisJZXhwb3J0IExEX0xJQlJBUllfUEFUSD0iJHRvcF9idWlsZGRpci8ubGliczokTERfTElCUkFSWV9QQVRIIgorCWV4cG9ydCBQWVRIT05QQVRIPSIkdG9wX2J1aWxkZGlyLyRMSUJOQU1FL3B5dGhvbjokdG9wX2J1aWxkZGlyLy5saWJzOiRQWVRIT05QQVRIIgorCisJZXhwb3J0IFBZVEhPTl9WRVJTSU9OPSQoYXdrICcvXlBZVEhPTl9WRVJTSU9OLyB7IHByaW50ICQzIH0nICR0b3BfYnVpbGRkaXIvTWFrZWZpbGUpCisJZXhwb3J0IFBZVEhPTl9NQUpPUl9WRVJTSU9OPSQoZWNobyAkUFlUSE9OX1ZFUlNJT04gfCBzZWQgJ3MvXC4uKi8vJykKKworCWV4cG9ydCBQWVRIT049InB5dGhvbiR7UFlUSE9OX01BSk9SX1ZFUlNJT059IgorfQorCitmdW5jdGlvbiB0c19ydW4geworCSMKKwkjIHZhbGdyaW5kIG1vZGUKKwkjCisJaWYgWyAtbiAiJFRTX1ZBTEdSSU5EX0NNRCIgXTsgdGhlbgorCQlsaWJ0b29sIC0tbW9kZT1leGVjdXRlIFwKKwkJJFRTX1ZBTEdSSU5EX0NNRCAtLXRvb2w9bWVtY2hlY2sgLS1sZWFrLWNoZWNrPWZ1bGwgXAorCQkJCSAtLWxlYWstcmVzb2x1dGlvbj1oaWdoIC0tbnVtLWNhbGxlcnM9MjAgXAorCQkJCSAtLWxvZy1maWxlPSIkVFNfVkdEVU1QIiAiJEAiCisJIworCSMgQVNBTiBtb2RlCisJIworCWVsaWYgWyAiJFRTX0VOQUJMRV9BU0FOIiA9PSAieWVzIiBdOyB0aGVuCisJCUFTQU5fT1BUSU9OUz0nZGV0ZWN0X2xlYWtzPTEnICIkQCIKKworCSMKKwkjIERlZmF1bHQgbW9kZQorCSMKKwllbHNlCisJCSIkQCIKKwlmaQorfQorCitmdW5jdGlvbiB0c19nZW5fZGlmZiB7CisJbG9jYWwgcmVzPTAKKworCVsgLWYgIiRUU19PVVRQVVQiIF0gfHwgcmV0dXJuIDEKKwlbIC1mICIkVFNfRVhQRUNURUQiIF0gfHwgVFNfRVhQRUNURUQ9L2Rldi9udWxsCisKKwkjIHJlbW92ZSBsaWJ0b29sIGx0LSBwcmVmaXhlcworCXNlZCAtLWluLXBsYWNlICdzL15sdFwtXCguKlw6IFwpL1wxL2cnICRUU19PVVRQVVQKKworCVsgLWQgIiRUU19ESUZGRElSIiBdIHx8IG1rZGlyIC1wICIkVFNfRElGRkRJUiIKKwlkaWZmIC11ICRUU19FWFBFQ1RFRCAkVFNfT1VUUFVUID4gJFRTX0RJRkYKKworCWlmIFsgJD8gLW5lIDAgXSB8fCBbIC1zICRUU19ESUZGIF07IHRoZW4KKwkJcmVzPTEKKwkJaWYgWyAiJFRTX1NIT1dESUZGIiA9PSAieWVzIiBdOyB0aGVuCisJCQllY2hvCisJCQllY2hvICJkaWZmLXt7eyIKKwkJCWNhdCAkVFNfRElGRgorCQkJZWNobyAifX19LWRpZmYiCisJCQllY2hvCisJCWZpCisJZWxzZQorCQlybSAtZiAkVFNfRElGRjsKKwlmaQorCisJcmV0dXJuICRyZXMKK30KKworZnVuY3Rpb24gdHRfZ2VuX21lbV9yZXBvcnQgeworCWlmIFsgLW4gIiRUU19WQUxHUklORF9DTUQiIF07IHRoZW4KKwkJZ3JlcCAtcSAtRSAnRVJST1IgU1VNTUFSWTogWzEtOV0nICRUU19WR0RVTVAgJj4gL2Rldi9udWxsCisJCWlmIFsgJD8gLWVxIDAgXTsgdGhlbgorCQkJZWNobyAibWVtLWVycm9yIGRldGVjdGVkISIKKwkJZmkKKwllbHNlCisJCWVjaG8gIiQxIgorCWZpCit9CisKK2Z1bmN0aW9uIHRzX2ZpbmFsaXplX3N1YnRlc3QgeworCWxvY2FsIHJlcz0wCisKKwl0c19nZW5fZGlmZgorCWlmIFsgJD8gLWVxIDEgXTsgdGhlbgorCQl0c19mYWlsZWRfc3VidGVzdCAiJDEiCisJCXJlcz0xCisJZWxzZQorCQl0c19yZXBvcnRfb2sgIiQodHRfZ2VuX21lbV9yZXBvcnQgIiQxIikiCisJZmkKKworCVsgJHJlcyAtbmUgMCBdICYmIFRTX05TVUJGQUlMRUQ9JCgoICRUU19OU1VCRkFJTEVEICsgMSApKQorCisJIyByZXNldCBlbnZpcm9ubWVudCBiYWNrIHRvIHBhcmVudGFsIHRlc3QKKwl0c19pbml0X2NvcmVfZW52CisKKwlyZXR1cm4gJHJlcworfQorCitmdW5jdGlvbiB0c19za2lwX3N1YnRlc3QgeworCXRzX3JlcG9ydF9za2lwICIkMSIKKwkjIHJlc2V0IGVudmlyb25tZW50IGJhY2sgdG8gcGFyZW50YWwgdGVzdAorCXRzX2luaXRfY29yZV9lbnYKKworfQorCitmdW5jdGlvbiB0c19maW5hbGl6ZSB7CisJdHNfY2xlYW51cF9vbl9leGl0CisKKwlpZiBbICRUU19OU1VCVEVTVFMgLW5lIDAgXTsgdGhlbgorCQlpZiAhIHRzX2dlbl9kaWZmIHx8IFsgJFRTX05TVUJGQUlMRUQgLW5lIDAgXTsgdGhlbgorCQkJdHNfZmFpbGVkICIkVFNfTlNVQkZBSUxFRCBmcm9tICRUU19OU1VCVEVTVFMgc3ViLXRlc3RzIgorCQllbHNlCisJCQl0c19vayAiYWxsICRUU19OU1VCVEVTVFMgc3ViLXRlc3RzIFBBU1NFRCIKKwkJZmkKKwlmaQorCisJdHNfZ2VuX2RpZmYgfHwgdHNfZmFpbGVkICIkMSIKKwl0c19vayAiJDEiCit9CisKK2Z1bmN0aW9uIHRzX2RpZSB7CisJdHNfbG9nICIkMSIKKwl0c19maW5hbGl6ZQorfQorCitmdW5jdGlvbiB0c19jbGVhbnVwX29uX2V4aXQgeworCisJZm9yIGlkeCBpbiAkKHNlcSAwICQoKCR7I1RTX1NVSURfUFJPR1NbKl19IC0gMSkpKTsgZG8KKwkJUFJPRz0ke1RTX1NVSURfUFJPR1NbJGlkeF19CisJCWNobW9kIGEtcyAkUFJPRyAmPiAvZGV2L251bGwKKwkJY2hvd24gJHtUU19TVUlEX1VTRVJbJGlkeF19LiR7VFNfU1VJRF9HUk9VUFskaWR4XX0gJFBST0cgJj4gL2Rldi9udWxsCisJZG9uZQorCisJZm9yIGRldiBpbiAiJHtUU19MT09QX0RFVlNbQF19IjsgZG8KKwkJdHNfZGV2aWNlX2RlaW5pdCAiJGRldiIKKwlkb25lCisJdW5zZXQgVFNfTE9PUF9ERVZTCisKKwl0c19zY3NpX2RlYnVnX3JtbW9kCit9CisKK2Z1bmN0aW9uIHRzX2ltYWdlX21kNXN1bSB7CisJbG9jYWwgaW1nPSR7MTotIiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0uaW1nIn0KKwllY2hvICQoIiRUU19IRUxQRVJfTUQ1IiA8ICIkaW1nIikgJChiYXNlbmFtZSAiJGltZyIpCit9CisKK2Z1bmN0aW9uIHRzX2ltYWdlX2luaXQgeworCWxvY2FsIG1pYj0kezE6LSI1In0JIyBzaXplIGluIE1pQnMKKwlsb2NhbCBpbWc9JHsyOi0iJFRTX09VVERJUi8ke1RTX1RFU1ROQU1FfS5pbWcifQorCisJcm0gLWYgJGltZworCXRydW5jYXRlIC1zICIke21pYn1NIiAiJGltZyIKKwllY2hvICIkaW1nIgorCXJldHVybiAwCit9CisKK2Z1bmN0aW9uIHRzX3JlZ2lzdGVyX2xvb3BfZGV2aWNlIHsKKwlsb2NhbCBjdD0keyNUU19MT09QX0RFVlNbKl19CisJVFNfTE9PUF9ERVZTWyRjdF09JDEKK30KKworZnVuY3Rpb24gdHNfZGV2aWNlX2luaXQgeworCWxvY2FsIGltZworCWxvY2FsIGRldgorCisJaW1nPSQodHNfaW1hZ2VfaW5pdCAkMSAkMikKKwlkZXY9JCgkVFNfQ01EX0xPU0VUVVAgLS1zaG93IC1mICIkaW1nIikKKwlpZiBbICIkPyIgIT0gIjAiIC1vICIkZGV2IiA9ICIiIF07IHRoZW4KKwkJdHNfZGllICJDYW5ub3QgaW5pdCBkZXZpY2UiCisJZmkKKworCXRzX3JlZ2lzdGVyX2xvb3BfZGV2aWNlICIkZGV2IgorCVRTX0xPREVWPSRkZXYKK30KKworIyBjYWxsIGZyb20gdHNfY2xlYW51cF9vbl9leGl0KCkgb25seSBiZWNhdXNlIG9mIFRTX0xPT1BfREVWUyBtYWludGVuYW5jZQorZnVuY3Rpb24gdHNfZGV2aWNlX2RlaW5pdCB7CisJbG9jYWwgREVWPSIkMSIKKworCWlmIFsgLWIgIiRERVYiIF07IHRoZW4KKwkJJFRTX0NNRF9VTU9VTlQgIiRERVYiICY+IC9kZXYvbnVsbAorCQkkVFNfQ01EX0xPU0VUVVAgLWQgIiRERVYiICY+IC9kZXYvbnVsbAorCWZpCit9CisKK2Z1bmN0aW9uIHRzX2Jsa2lkdGFnX2J5X2Rldm5hbWUoKQoreworCWxvY2FsIHRhZz0kMQorCWxvY2FsIGRldj0kMgorCWxvY2FsIG91dAorCWxvY2FsIHJ2YWwKKworCW91dD0kKCRUU19DTURfQkxLSUQgLXAgLXMgIiR0YWciIC1vIHZhbHVlICIkZGV2IikKKwlydmFsPSQ/CisJcHJpbnRmICIlc1xuIiAiJG91dCIKKworCXRlc3QgLW4gIiRvdXQiIC1hICIkcnZhbCIgPSAiMCIKKwlyZXR1cm4gJD8KK30KKworZnVuY3Rpb24gdHNfdXVpZF9ieV9kZXZuYW1lIHsKKwl0c19ibGtpZHRhZ19ieV9kZXZuYW1lICJVVUlEIiAiJDEiCisJcmV0dXJuICQ/Cit9CisKK2Z1bmN0aW9uIHRzX2xhYmVsX2J5X2Rldm5hbWUgeworCXRzX2Jsa2lkdGFnX2J5X2Rldm5hbWUgIkxBQkVMIiAiJDEiCisJcmV0dXJuICQ/Cit9CisKK2Z1bmN0aW9uIHRzX2ZzdHlwZV9ieV9kZXZuYW1lIHsKKwl0c19ibGtpZHRhZ19ieV9kZXZuYW1lICJUWVBFIiAiJDEiCisJcmV0dXJuICQ/Cit9CisKK2Z1bmN0aW9uIHRzX2RldmljZV9oYXMgeworCWxvY2FsIFRBRz0iJDEiCisJbG9jYWwgVkFMPSIkMiIKKwlsb2NhbCBERVY9IiQzIgorCWxvY2FsIHZsPSIiCisKKwl2bD0kKHRzX2Jsa2lkdGFnX2J5X2Rldm5hbWUgIiRUQUciICIkREVWIikKKwl0ZXN0ICQ/ID0gMCAtYSAiJHZsIiA9ICIkVkFMIgorCXJldHVybiAkPworfQorCitmdW5jdGlvbiB0c19pc191dWlkKCkKK3sKKwlwcmludGYgIiVzXG4iICIkMSIgfCBlZ3JlcCAtcSAnXlswLTlhLXpdezh9LVswLTlhLXpdezR9LVswLTlhLXpdezR9LVswLTlhLXpdezR9LVswLTlhLXpdezEyfSQnCisJcmV0dXJuICQ/Cit9CisKK2Z1bmN0aW9uIHRzX3VkZXZhZG1fc2V0dGxlKCkKK3sKKwlsb2NhbCBkZXY9JDEgIyBvcHRpb25hbCwgbWlnaHQgYmUgZW1wdHkKKwlzaGlmdCAgICAgICAgIyBhbGwgb3RoZXIgYXJncyBhcmUgdGFncywgTEFCRUwsIFVVSUQsIC4uLgorCXVkZXZhZG0gc2V0dGxlCit9CisKK2Z1bmN0aW9uIHRzX21vdW50IHsKKwlsb2NhbCBvdXQKKwlsb2NhbCByZXN1bHQKKwlsb2NhbCBtc2cKKwlsb2NhbCBmcworCWxvY2FsIGZzX2V4cD0kMQorCXNoaWZ0CisKKwlvdXQ9JCgkVFNfQ01EX01PVU5UICIkQCIgMj4mMSkKKwlyZXN1bHQ9JD8KKwllY2hvIC1uICIkb3V0IiA+PiAkVFNfT1VUUFVUCisKKwlpZiBbICRyZXN1bHQgIT0gMCBdIFwKKwkJJiYgbXNnPSQoZWNobyAiJG91dCIgfCBncmVwIC1tMSAidW5rbm93biBmaWxlc3lzdGVtIHR5cGUiKQorCXRoZW4KKwkJIyBza2lwIG9ubHkgaWYgcmVwb3J0ZWQgZnMgY29ycmVjdGx5IGFuZCBpZiBpdCdzIG5vdCBhdmFpbGFibGUKKwkJZnM9JChlY2hvICIkbXNnIiB8IHNlZCAtbiAicy8uKnR5cGUgJ1woLipcKSckL1wxL3AiKQorCQlbICIkZnMiID0gImZzX2V4cCIgXSBcCisJCSAmJiBncmVwIC1xZSAiW1s6c3BhY2U6XV0ke2ZzfSQiIC9wcm9jL2ZpbGVzeXN0ZW1zICY+L2Rldi9udWxsIFwKKwkJIHx8IHRzX3NraXAgIiRtc2ciCisJZmkKKwlyZXR1cm4gJHJlc3VsdAorfQorCitmdW5jdGlvbiB0c19pc19tb3VudGVkIHsKKwlsb2NhbCBERVY9JCh0c19jYW5vbmljYWxpemUgIiQxIikKKworCWdyZXAgLXEgIlwoXlx8IFwpJERFViAiIC9wcm9jL21vdW50cyAmJiByZXR1cm4gMAorCisJaWYgWyAiJHtERVYjL2Rldi9sb29wL30iICE9ICIkREVWIiBdOyB0aGVuCisJCWdyZXAgLXEgIl4vZGV2L2xvb3Ake0RFViMvZGV2L2xvb3AvfSAiIC9wcm9jL21vdW50cyAmJiByZXR1cm4gMAorCWZpCisJcmV0dXJuIDEKK30KKworZnVuY3Rpb24gdHNfZnN0YWJfb3BlbiB7CisJZWNobyAiIyA8IS0tIHV0aWwtbGludXggdGVzdCBlbnRyeSIgPj4gL2V0Yy9mc3RhYgorfQorCitmdW5jdGlvbiB0c19mc3RhYl9jbG9zZSB7CisJZWNobyAiIyAtLT4iID4+IC9ldGMvZnN0YWIKKwlzeW5jIC9ldGMvZnN0YWIgMj4vZGV2L251bGwKK30KKworZnVuY3Rpb24gdHNfZnN0YWJfYWRkbGluZSB7CisJbG9jYWwgU1BFQz0iJDEiCisJbG9jYWwgTU5UPSR7MjotIiRUU19NT1VOVFBPSU5UIn0KKwlsb2NhbCBGUz0kezM6LSJhdXRvIn0KKwlsb2NhbCBPUFQ9JHs0Oi0iZGVmYXVsdHMifQorCisJZWNobyAiJFNQRUMgICAkTU5UICAgJEZTICAgJE9QVCAgIDAgICAwIiA+PiAvZXRjL2ZzdGFiCit9CisKK2Z1bmN0aW9uIHRzX2ZzdGFiX2xvY2sgeworCXRzX2xvY2sgImZzdGFiIgorfQorCitmdW5jdGlvbiB0c19mc3RhYl9hZGQgeworCXRzX2ZzdGFiX2xvY2sKKwl0c19mc3RhYl9vcGVuCisJdHNfZnN0YWJfYWRkbGluZSAkKgorCXRzX2ZzdGFiX2Nsb3NlCit9CisKK2Z1bmN0aW9uIHRzX2ZzdGFiX2NsZWFuIHsKKwl0c19oYXZlX2xvY2sgImZzdGFiIiB8fCByZXR1cm4gMAorCXNlZCAtLWluLXBsYWNlICIKKy8jIDwhLS0gdXRpbC1saW51eC8hYgorOmEKKy8jIC0tPi8heworICBOCisgIGJhCit9CitzLyMgPCEtLSB1dGlsLWxpbnV4LiotLT4vLzsKKy9eJC9kIiAvZXRjL2ZzdGFiCisKKwlzeW5jIC9ldGMvZnN0YWIgMj4vZGV2L251bGwKKwl0c191bmxvY2sgImZzdGFiIgorfQorCitmdW5jdGlvbiB0c19mZGlza19jbGVhbiB7CisJbG9jYWwgREVWTkFNRT0kMQorCisJIyByZW1vdmUgbm9uIGNvbXBhcmFibGUgcGFydHMgb2YgZmRpc2sgb3V0cHV0CisJaWYgWyAtbiAiJHtERVZOQU1FfSIgXTsgdGhlbgorCQlzZWQgLWkgLWUgInNAJHtERVZOQU1FfUA8cmVtb3ZlZD5AOyIgJFRTX09VVFBVVAorCWZpCisKKwlzZWQgLWkgXAorCQktZSAncy9EaXNrIGlkZW50aWZpZXI6LiovRGlzayBpZGVudGlmaWVyOiA8cmVtb3ZlZD4vJyBcCisJCS1lICdzL0NyZWF0ZWQgYSBuZXcuKi9DcmVhdGVkIGEgbmV3IDxyZW1vdmVkPi4vJyBcCisJCS1lICdzL15EZXZpY2VbWzpibGFuazpdXSpTdGFydC9EZXZpY2UgICAgICAgICAgICAgU3RhcnQvJyBcCisJCS1lICdzL15EZXZpY2VbWzpibGFuazpdXSpCb290L0RldmljZSAgICAgQm9vdC8nIFwKKwkJLWUgJ3MvV2VsY29tZSB0byBmZGlzay4qL1dlbGNvbWUgdG8gZmRpc2sgPHJlbW92ZWQ+Li8nIFwKKwkJLWUgJ3MvdHlwZXNjcmlwdCBmaWxlLiovdHlwZXNjcmlwdCBmaWxlIDxyZW1vdmVkPi4vJyBcCisJCS1lICdzQF5cKEkvTyBzaXplIChtaW5pbXVtL29wLiogYnl0ZXMgL1wpIFsxLTldWzAtOV0qIEBcMSA8cmVtb3ZlZD4gQCcgXAorCQkkVFNfT1VUUFVUCit9CisKKworIyBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80MTYwMzc4Ny9ob3ctdG8tZmluZC1uZXh0LWF2YWlsYWJsZS1maWxlLWRlc2NyaXB0b3ItaW4tYmFzaAorZnVuY3Rpb24gdHNfZmluZF9mcmVlX2ZkKCkKK3sKKwlsb2NhbCByY28KKwlsb2NhbCByY2kKKwlmb3IgZmQgaW4gezMuLjIwMH07IGRvCisJCXJjbz0iJCh0cnVlIDI+L2Rldi9udWxsID4mJHtmZH07IGVjaG8gJD8pIgorCQlyY2k9IiQodHJ1ZSAyPi9kZXYvbnVsbCA8JiR7ZmR9OyBlY2hvICQ/KSIKKwkJaWYgW1sgIiR7cmNvfSR7cmNpfSIgPSAiMTEiIF1dOyB0aGVuCisJCQllY2hvICIkZmQiCisJCQlyZXR1cm4gMAorCQlmaQorCWRvbmUKKwlyZXR1cm4gMQorfQorCitmdW5jdGlvbiB0c19nZXRfbG9ja19mZCB7CisJbG9jYWwgcmVzb3VyY2U9JDEKKwlsb2NhbCBmZAorCisJZm9yIGZkIGluICIkeyFUU19MT0NLRklMRV9GRFtAXX0iOyBkbworCQlpZiBbICIke1RTX0xPQ0tGSUxFX0ZEWyIkZmQiXX0iID0gIiRyZXNvdXJjZSIgXTsgdGhlbgorCQkJZWNobyAiJGZkIgorCQkJcmV0dXJuIDAKKwkJZmkKKwlkb25lCisJcmV0dXJuIDEKK30KKworZnVuY3Rpb24gdHNfaGF2ZV9sb2NrIHsKKwlsb2NhbCByZXNvdXJjZT0kMQorCisJdGVzdCAiJFRTX05PTE9DS1MiID0gInllcyIgJiYgcmV0dXJuIDAKKwl0c19nZXRfbG9ja19mZCAiJHJlc291cmNlIiA+L2Rldi9udWxsICYmIHJldHVybiAwCisJcmV0dXJuIDEKK30KKworZnVuY3Rpb24gdHNfbG9jayB7CisJbG9jYWwgcmVzb3VyY2U9IiQxIgorCWxvY2FsIGxvY2tmaWxlPSIke1RTX0xPQ0tESVJ9LyR7cmVzb3VyY2V9LmxvY2siCisJbG9jYWwgZmQKKworCWlmIFsgIiRUU19OT0xPQ0tTIiA9PSAieWVzIiBdOyB0aGVuCisJCXJldHVybiAwCisJZmkKKworCSMgRG9uJ3QgbG9jayBhZ2FpbgorCWZkPSQodHNfZ2V0X2xvY2tfZmQgIiRyZXNvdXJjZSIpCisJaWYgWyAtbiAiJGZkIiBdOyB0aGVuCisJCWVjaG8gIlskJCAkVFNfVEVTVE5BTUVdICR7cmVzb3VyY2V9IGFscmVhZHkgbG9ja2VkISIKKwkJcmV0dXJuIDAKKwlmaQorCisJZmQ9JCh0c19maW5kX2ZyZWVfZmQpIHx8IHRzX3NraXAgImZhaWxlZCB0byBmaW5kIGxvY2sgZmQiCisKKwlldmFsICJleGVjICRmZD4kbG9ja2ZpbGUiCisJZmxvY2sgLS1leGNsdXNpdmUgIiRmZCIgfHwgdHNfc2tpcCAiZmFpbGVkIHRvIGxvY2sgJHJlc291cmNlIgorCisJVFNfTE9DS0ZJTEVfRkRbIiRmZCJdPSIkcmVzb3VyY2UiCisJIyMjZWNobyAiWyQkICRUU19URVNUTkFNRV0gTG9ja2VkICAgJHJlc291cmNlIgorfQorCitmdW5jdGlvbiB0c191bmxvY2sgeworCWxvY2FsIHJlc291cmNlPSIkMSIKKwlsb2NhbCBsb2NrZmlsZT0iJHtUU19MT0NLRElSfS8ke3Jlc291cmNlfS5sb2NrIgorCWxvY2FsIGZkCisKKwlpZiBbICIkVFNfTk9MT0NLUyIgPT0gInllcyIgXTsgdGhlbgorCQlyZXR1cm4gMAorCWZpCisKKwlmZD0kKHRzX2dldF9sb2NrX2ZkICIkcmVzb3VyY2UiKQorCWlmIFsgLW4gIiRmZCIgXTsgdGhlbgorCQlldmFsICJleGVjICRmZDwmLSIKKwkJVFNfTE9DS0ZJTEVfRkRbIiRmZCJdPSIiCisJCSMjI2VjaG8gIlskJCAkVFNfVEVTVE5BTUVdIFVubG9ja2VkICRyZXNvdXJjZSIKKwllbHNlCisJCWVjaG8gIlskJCAkVFNfVEVTVE5BTUVdIHVubG9ja2luZyB1bmxvY2tlZCAkcmVzb3VyY2UhPyIKKwlmaQorfQorCitmdW5jdGlvbiB0c19zY3NpX2RlYnVnX2luaXQgeworCWxvY2FsIGRldm5hbWUKKwlsb2NhbCB0CisJVFNfREVWSUNFPSJub25lIgorCisJdHNfbG9jayAic2NzaV9kZWJ1ZyIKKworCSMgZHJ5IHJ1biBpcyBub3QgcmVhbGx5IHJlbGlhYmxlLCByZWFsIG1vZHByb2JlIG1heSBzdGlsbCBmYWlsCisJbW9kcHJvYmUgLS1kcnktcnVuIC0tcXVpZXQgc2NzaV9kZWJ1ZyAmPi9kZXYvbnVsbCBcCisJCXx8IHRzX3NraXAgIm1pc3Npbmcgc2NzaV9kZWJ1ZyBtb2R1bGUgKGRyeS1ydW4pIgorCisJIyBza2lwIGlmIHN0aWxsIGluIHVzZSBvciByZW1vdmFsIG9mIG1vZHVsZXMgbm90IHN1cHBvcnRlZCBhdCBhbGwKKwkjIFdlIGRvbid0IHdhbnQgYSBzbG93IHRpbWVvdXQgaGVyZSBzbyB3ZSBkb24ndCB1c2UgdHNfc2NzaV9kZWJ1Z19ybW1vZCEKKwltb2Rwcm9iZSAtciBzY3NpX2RlYnVnICY+L2Rldi9udWxsCisJaWYgWyAiJD8iIC1lcSAxIF07IHRoZW4KKwkJdHNfdW5sb2NrICJzY3NpX2RlYnVnIgorCQl0c19za2lwICJjYW5ub3QgcmVtb3ZlIHNjc2lfZGVidWcgbW9kdWxlIChybW1vZCkiCisJZmkKKworCW1vZHByb2JlIC1iIHNjc2lfZGVidWcgIiRAIiAmPi9kZXYvbnVsbCBcCisJCXx8IHRzX3NraXAgImNhbm5vdCBsb2FkIHNjc2lfZGVidWcgbW9kdWxlIChtb2Rwcm9iZSkiCisKKwkjIGl0IG1pZ2h0IGJlIHN0aWxsIG5vdCBsb2FkZWQsIG1vZHByb2JlLmNvbmYgb3Igd2hhdGV2ZXIKKwlsc21vZCAyPi9kZXYvbnVsbCB8IGdyZXAgLXEgIl5zY3NpX2RlYnVnICIgXAorCQl8fCB0c19za2lwICJzY3NpX2RlYnVnIG1vZHVsZSBub3QgbG9hZGVkIChsc21vZCkiCisKKwl1ZGV2YWRtIHNldHRsZQorCisJIyB3YWl0IGZvciBkZXZpY2UgaWYgdWRldmFkbSBzZXR0bGUgZG9lcyBub3Qgd29yaworCWZvciB0IGluIDAgMC4wMiAwLjA1IDAuMSAxOyBkbworCQlzbGVlcCAkdAorCQlkZXZuYW1lPSQoZ3JlcCAtLXdpdGgtZmlsZW5hbWUgc2NzaV9kZWJ1ZyAvc3lzL2Jsb2NrLyovZGV2aWNlL21vZGVsKSAmJiBicmVhaworCWRvbmUKKwlbIC1uICIke2Rldm5hbWV9IiBdIHx8IHRzX2RpZSAidGltZW91dCB3YWl0aW5nIGZvciBzY3NpX2RlYnVnIGRldmljZSIKKworCWRldm5hbWU9JChlY2hvICRkZXZuYW1lIHwgYXdrIC1GICcvJyAne3ByaW50ICQ0fScpCisJVFNfREVWSUNFPSIvZGV2LyR7ZGV2bmFtZX0iCisKKwkjIFRPRE8gdmFsaWRhdGUgdGhhdCBkZXZpY2UgaXMgcmVhbGx5IHVwLCBmb3Igbm93IGp1c3QgYSB3YXJuaW5nIG9uIHN0ZGVycgorCXRlc3QgLWIgJFRTX0RFVklDRSB8fCBlY2hvICJ3YXJuaW5nOiBzY3NpX2RlYnVnIGRldmljZSBpcyBzdGlsbCBkb3duIiA+JjIKK30KKworIyBhdXRvbWF0aWNhbGx5IGNhbGxlZCBvbmNlIGluIHRzX2NsZWFudXBfb25fZXhpdCgpCitmdW5jdGlvbiB0c19zY3NpX2RlYnVnX3JtbW9kIHsKKwlsb2NhbCBlcnI9MQorCWxvY2FsIHQKKwlsb2NhbCBsYXN0bXNnCisKKwkjIFdlIG11c3Qgbm90IHJ1biBpZiB3ZSBkb24ndCBoYXZlIHRoZSBsb2NrCisJdHNfaGF2ZV9sb2NrICJzY3NpX2RlYnVnIiB8fCByZXR1cm4gMAorCisJIyBSZXR1cm4gZWFybHkgbW9zdCBpbXBvcnRhbnRseSBpbiBjYXNlIHdlIGFyZSBub3Qgcm9vdCBvciB0aGUgbW9kdWxlIGRvZXMKKwkjIG5vdCBleGlzdCBhdCBhbGwuCisJWyAkVUlEIC1lcSAwIF0gfHwgcmV0dXJuIDAKKwlbIC1uICIkVFNfREVWSUNFIiBdIHx8IHJldHVybiAwCisJbHNtb2QgMj4vZGV2L251bGwgfCBncmVwIC1xICJec2NzaV9kZWJ1ZyAiIHx8IHJldHVybiAwCisKKwl1ZGV2YWRtIHNldHRsZQorCisJIyB3YWl0IGZvciBzdWNjZXNzZnVsIHJtbW9kIGlmIHVkZXZhZG0gc2V0dGxlIGRvZXMgbm90IHdvcmsKKwlmb3IgdCBpbiAwIDAuMDIgMC4wNSAwLjEgMTsgZG8KKwkJc2xlZXAgJHQKKwkJbGFzdG1zZz0iJChtb2Rwcm9iZSAtciBzY3NpX2RlYnVnIDI+JjEpIiAmJiBlcnI9MCAmJiBicmVhaworCWRvbmUKKworCWlmIFsgIiRlcnIiID0gIjEiIF07IHRoZW4KKwkJdHNfbG9nICJybW1vZCBmYWlsZWQ6ICckbGFzdG1zZyciCisJCXRzX2xvZyAidGltZW91dCByZW1vdmluZyBzY3NpX2RlYnVnIG1vZHVsZSAocm1tb2QpIgorCQlyZXR1cm4gMQorCWZpCisJaWYgbHNtb2QgfCBncmVwIC1xICJec2NzaV9kZWJ1ZyAiOyB0aGVuCisJCXRzX2xvZyAiQlVHISBzY3NpX2RlYnVnIHN0aWxsIGxvYWRlZCIKKwkJcmV0dXJuIDEKKwlmaQorCisJIyBUT0RPIERvIHdlIG5lZWQgdG8gdmFsaWRhdGUgdGhhdCBhbGwgZGV2aWNlcyBhcmUgZ29uZT8KKwl1ZGV2YWRtIHNldHRsZQorCXRlc3QgLWIgIiRUU19ERVZJQ0UiICYmIGVjaG8gIndhcm5pbmc6IHNjc2lfZGVidWcgZGV2aWNlIGlzIHN0aWxsIHVwIiA+JjIKKworCSMgVE9ETyB1bnNldCBUU19ERVZJQ0UsIGNoZWNrIHRoYXQgbm9ib2R5IHVzZXMgaXQgbGF0ZXIsIGUuZy4gdHNfZmRpc2tfY2xlYW4KKworCXRzX3VubG9jayAic2NzaV9kZWJ1ZyIKKwlyZXR1cm4gMAorfQorCitmdW5jdGlvbiB0c19yZXNvbHZlX2hvc3QgeworCWxvY2FsIGhvc3Q9IiQxIgorCWxvY2FsIHRtcAorCisJIyBjdXJyZW50bHkgd2UganVzdCByZXNvbHZlIGRlZmF1bHQgcmVjb3JkcyAobWlnaHQgYmUgIkEiLCBpcHY0IG9ubHkpCisJaWYgdHlwZSAiZGlnIiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwkJdG1wPSQoZGlnICIkaG9zdCIgK3Nob3J0IDI+L2Rldi9udWxsKSB8fCByZXR1cm4gMQorCWVsaWYgdHlwZSAibnNsb29rdXAiID4vZGV2L251bGwgMj4mMTsgdGhlbgorCQl0bXA9JChuc2xvb2t1cCAiJGhvc3QiIDI+L2Rldi9udWxsKSB8fCByZXR1cm4gMQorCQl0bXA9JChlY2hvICIkdG1wInwgZ3JlcCAtQTEgIl5OYW1lOiJ8IGdyZXAgIl5BZGRyZXNzOiJ8IGN1dCAtZCIgIiAtZjIpCisJZWxpZiB0eXBlICJob3N0IiA+L2Rldi9udWxsIDI+JjE7IHRoZW4KKwkJdG1wPSQoaG9zdCAiJGhvc3QiIDI+L2Rldi9udWxsKSB8fCByZXR1cm4gMQorCQl0bXA9JChlY2hvICIkdG1wIiB8IGdyZXAgIiBoYXMgYWRkcmVzcyAiIHwgY3V0IC1kICIgIiAtZjQpCisJZWxpZiB0eXBlICJnZXRlbnQiID4vZGV2L251bGwgMj4mMTsgdGhlbgorCQl0bXA9JChnZXRlbnQgYWhvc3RzICIkaG9zdCIgMj4vZGV2L251bGwpIHx8IHJldHVybiAxCisJCXRtcD0kKGVjaG8gIiR0bXAiIHwgY3V0IC1kICIgIiAtZiAxIHwgc29ydCAtdSkKKwlmaQorCisJIyB3ZSByZXR1cm4gMSBpZiB0bXAgaXMgZW1wdHkKKwl0ZXN0IC1uICIkdG1wIiB8fCByZXR1cm4gMQorCWVjaG8gIiR0bXAiIHwgc29ydCAtUiB8IGhlYWQgLW4gMQorfQorCisjIGxpc3RlbiB0byB1bml4IHNvY2tldCAoYmFja2dyb3VuZCBzb2NhdCkKK2Z1bmN0aW9uIHRzX2luaXRfc29ja2V0X3RvX2ZpbGUgeworCWxvY2FsIHNvY2tldD0kMQorCWxvY2FsIG91dGZpbGU9JDIKKwlsb2NhbCBwaWQ9IjAiCisKKwl0c19jaGVja19wcm9nICJzb2NhdCIKKwlybSAtZiAiJHNvY2tldCIgIiRvdXRmaWxlIgorCisJIyBpZiBzb2NhdCBpcyB0b28gb2xkIGZvciB0aGVzZSBvcHRpb25zIHdlJ2xsIHNraXAgaXQgYmVsb3cKKwlzb2NhdCAtdSBVTklYLUxJU1RFTjokc29ja2V0LGZvcmssbWF4LWNoaWxkcmVuPTEsYmFja2xvZz0xMjggXAorCQlTVERPVVQgPiAiJG91dGZpbGUiIDI+L2Rldi9udWxsICYKKwlwaWQ9JCEKKworCSMgY2hlY2sgZm9yIHJ1bm5pbmcgYmFja2dyb3VuZCBwcm9jZXNzCisJaWYgWyAiJHBpZCIgLWxlICIwIiBdIHx8ICEga2lsbCAtcyAwICIkcGlkIiAmPi9kZXYvbnVsbDsgdGhlbgorCQl0c19za2lwICJ1bmFibGUgdG8gcnVuIHNvY2F0IgorCWZpCisJIyB3YWl0IGZvciB0aGUgc29ja2V0IGxpc3RlbmVyCisJaWYgISBzb2NhdCAtdSAvZGV2L251bGwgVU5JWC1DT05ORUNUOiRzb2NrZXQscmV0cnk9MzAsaW50ZXJ2YWw9MC4xICY+L2Rldi9udWxsOyB0aGVuCisJCWtpbGwgLTkgIiRwaWQiICY+L2Rldi9udWxsCisJCXRzX3NraXAgInRpbWVvdXQgd2FpdGluZyBmb3Igc29jYXQgc29ja2V0IgorCWZpCisJIyBjaGVjayBzb2NrZXQgYWdhaW4KKwlpZiAhIHNvY2F0IC11IC9kZXYvbnVsbCBVTklYLUNPTk5FQ1Q6JHNvY2tldCAmPi9kZXYvbnVsbDsgdGhlbgorCQlraWxsIC05ICIkcGlkIiAmPi9kZXYvbnVsbAorCQl0c19za2lwICJzb2NhdCBzb2NrZXQgc3RvcHBlZCBsaXN0ZW5pbmciCisJZmkKK30KKworZnVuY3Rpb24gdHNfaGFzX210YWJfc3VwcG9ydCB7CisJZ3JlcCAtcSAnI2RlZmluZSBVU0VfTElCTU9VTlRfU1VQUE9SVF9NVEFCJyAke3RvcF9idWlsZGRpcn0vY29uZmlnLmgKKwlpZiBbICQ/ID09IDAgXTsgdGhlbgorCQllY2hvICJ5ZXMiCisJZWxzZQorCQllY2hvICJubyIKKwlmaQorfQorCitmdW5jdGlvbiB0c19oYXNfbmN1cnNlc19zdXBwb3J0IHsKKwlncmVwIC1xICcjZGVmaW5lIEhBVkVfTElCTkNVUlNFUycgJHt0b3BfYnVpbGRkaXJ9L2NvbmZpZy5oCisJaWYgWyAkPyA9PSAwIF07IHRoZW4KKwkJZWNobyAieWVzIgorCWVsc2UKKwkJZWNobyAibm8iCisJZmkKK30KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvaGVscGVycy9NYWtlbW9kdWxlLmFtIGIvdGVzdHMvaGVscGVycy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFiMGIzY2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9oZWxwZXJzL01ha2Vtb2R1bGUuYW0KQEAgLTAsMCArMSwzMCBAQAorY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF9tYnNlbmNvZGUKK3Rlc3RfbWJzZW5jb2RlX1NPVVJDRVMgPSB0ZXN0cy9oZWxwZXJzL3Rlc3RfbWJzZW5jb2RlLmMKK3Rlc3RfbWJzZW5jb2RlX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfYnl0ZXN3YXAKK3Rlc3RfYnl0ZXN3YXBfU09VUkNFUyA9IHRlc3RzL2hlbHBlcnMvdGVzdF9ieXRlc3dhcC5jCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfbWQ1Cit0ZXN0X21kNV9TT1VSQ0VTID0gdGVzdHMvaGVscGVycy90ZXN0X21kNS5jIGxpYi9tZDUuYworCitjaGVja19QUk9HUkFNUyArPSB0ZXN0X3NoYTEKK3Rlc3Rfc2hhMV9TT1VSQ0VTID0gdGVzdHMvaGVscGVycy90ZXN0X3NoYTEuYyBsaWIvc2hhMS5jCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3RfcGF0aG5hbWVzCit0ZXN0X3BhdGhuYW1lc19TT1VSQ0VTID0gdGVzdHMvaGVscGVycy90ZXN0X3BhdGhuYW1lcy5jCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3Rfc3lzaW5mbwordGVzdF9zeXNpbmZvX1NPVVJDRVMgPSB0ZXN0cy9oZWxwZXJzL3Rlc3Rfc3lzaW5mby5jCisKK2NoZWNrX1BST0dSQU1TICs9IHRlc3Rfc2lncmVjZWl2ZQordGVzdF9zaWdyZWNlaXZlX1NPVVJDRVMgPSB0ZXN0cy9oZWxwZXJzL3Rlc3Rfc2lncmVjZWl2ZS5jCit0ZXN0X3NpZ3JlY2VpdmVfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEKKworY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF90aW9jc3RpCit0ZXN0X3Rpb2NzdGlfU09VUkNFUyA9IHRlc3RzL2hlbHBlcnMvdGVzdF90aW9jc3RpLmMKKworY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF91dWlkX25hbWVzcGFjZQordGVzdF91dWlkX25hbWVzcGFjZV9TT1VSQ0VTID0gdGVzdHMvaGVscGVycy90ZXN0X3V1aWRfbmFtZXNwYWNlLmMgXAorCWxpYnV1aWQvc3JjL3ByZWRlZmluZWQuYyBsaWJ1dWlkL3NyYy91bnBhY2suYyBsaWJ1dWlkL3NyYy91bnBhcnNlLmMKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvaGVscGVycy90ZXN0X2J5dGVzd2FwLmMgYi90ZXN0cy9oZWxwZXJzL3Rlc3RfYnl0ZXN3YXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYjk4Zjc2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvaGVscGVycy90ZXN0X2J5dGVzd2FwLmMKQEAgLTAsMCArMSwxMTQgQEAKKy8qCisgKiBUaGlzIHRlc3RpbmcgcHJvZ3JhbSBtYWtlcyBzdXJlIHRoZSBieXRlc3dhcCBmdW5jdGlvbnMgd29yaworICoKKyAqIENvcHlyaWdodCAoQykgMjAwMCBieSBUaGVvZG9yZSBUcydvLgorICogQ29weXJpZ2h0IChDKSAyMDA4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBtYXkgYmUgcmVkaXN0cmlidXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBQdWJsaWMKKyAqIExpY2Vuc2UuCisgKi8KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dGltZS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxpbnR0eXBlcy5oPgorCisjaW5jbHVkZSAiYml0b3BzLmgiCisKK3N0YXRpYyB1aW50MTZfdCBhcnkxNltdID0geworCTB4MDAwMSwgMHgwMTAwLAorCTB4MTIzNCwgMHgzNDEyLAorCTB4ZmYwMCwgMHgwMGZmLAorCTB4NDAwMCwgMHgwMDQwLAorCTB4ZmVmZiwgMHhmZmZlLAorCTB4MDAwMCwgMHgwMDAwCisJfTsKKworc3RhdGljIHVpbnQzMl90IGFyeTMyW10gPSB7CisJMHgwMDAwMDAwMSwgMHgwMTAwMDAwMCwKKwkweDgwMDAwMDAwLCAweDAwMDAwMDgwLAorCTB4MTIzNDU2NzgsIDB4Nzg1NjM0MTIsCisJMHhmZmZmMDAwMCwgMHgwMDAwZmZmZiwKKwkweDAwZmYwMDAwLCAweDAwMDBmZjAwLAorCTB4ZmYwMDAwMDAsIDB4MDAwMDAwZmYsCisJMHgwMDAwMDAwMCwgMHgwMDAwMDAwMAorCX07CisKK3N0YXRpYyB1aW50NjRfdCBhcnk2NFtdID0geworCTB4MDAwMDAwMDAwMDAwMDAwMSwgMHgwMTAwMDAwMDAwMDAwMDAwLAorCTB4ODAwMDAwMDAwMDAwMDAwMCwgMHgwMDAwMDAwMDAwMDAwMDgwLAorCTB4MTIzNDU2NzgxMjM0NTY3OCwgMHg3ODU2MzQxMjc4NTYzNDEyLAorCTB4ZmZmZmZmZmYwMDAwMDAwMCwgMHgwMDAwMDAwMGZmZmZmZmZmLAorCTB4MDBmZjAwMDAwMDAwMDAwMCwgMHgwMDAwMDAwMDAwMDBmZjAwLAorCTB4ZmYwMDAwMDAwMDAwMDAwMCwgMHgwMDAwMDAwMDAwMDAwMGZmLAorCTB4MDAwMDAwMDAwMDAwMDAwMCwgMHgwMDAwMDAwMDAwMDAwMDAwCisJfTsKKworaW50IG1haW4odm9pZCkKK3sKKwlpbnQJaTsKKwlpbnQJZXJyb3JzID0gMDsKKworCXByaW50ZigiVGVzdGluZyBzd2FiMTZcbiIpOworCWk9MDsKKwlkbyB7CisJCXByaW50Zigic3dhYjE2KDB4JTA0IlBSSXgxNiIpID0gMHglMDQiUFJJeDE2IlxuIiwKKwkJCQlhcnkxNltpXSwgc3dhYjE2KGFyeTE2W2ldKSk7CisJCWlmIChzd2FiMTYoYXJ5MTZbaV0pICE9IGFyeTE2W2krMV0pIHsKKwkJCXByaW50ZigiRXJyb3IhISEgICAlMDQiUFJJeDE2IiAhPSAlMDQiUFJJeDE2IlxuIiwKKwkJCSAgICAgICBzd2FiMTYoYXJ5MTZbaV0pLCBhcnkxNltpKzFdKTsKKwkJCWVycm9ycysrOworCQl9CisJCWlmIChzd2FiMTYoYXJ5MTZbaSsxXSkgIT0gYXJ5MTZbaV0pIHsKKwkJCXByaW50ZigiRXJyb3IhISEgICAlMDQiUFJJeDE2IiAhPSAlMDQiUFJJeDE2IlxuIiwKKwkJCSAgICAgICBzd2FiMTYoYXJ5MTZbaSsxXSksIGFyeTE2W2ldKTsKKwkJCWVycm9ycysrOworCQl9CisJCWkgKz0gMjsKKwl9IHdoaWxlIChhcnkxNltpXSAhPSAwKTsKKworCXByaW50ZigiVGVzdGluZyBzd2FiMzJcbiIpOworCWkgPSAwOworCWRvIHsKKwkJcHJpbnRmKCJzd2FiMzIoMHglMDgiUFJJeDMyIikgPSAweCUwOCJQUkl4MzIiXG4iLAorCQkJCWFyeTMyW2ldLCBzd2FiMzIoYXJ5MzJbaV0pKTsKKwkJaWYgKHN3YWIzMihhcnkzMltpXSkgIT0gYXJ5MzJbaSsxXSkgeworCQkJcHJpbnRmKCJFcnJvciEhISAgICUwNCJQUkl4MzIiICE9ICUwNCJQUkl4MzIiXG4iLAorCQkJCXN3YWIzMihhcnkzMltpXSksIGFyeTMyW2krMV0pOworCQkJZXJyb3JzKys7CisJCX0KKwkJaWYgKHN3YWIzMihhcnkzMltpKzFdKSAhPSBhcnkzMltpXSkgeworCQkJcHJpbnRmKCJFcnJvciEhISAgICUwNCJQUkl4MzIiICE9ICUwNCJQUkl4MzIiXG4iLAorCQkJICAgICAgIHN3YWIzMihhcnkzMltpKzFdKSwgYXJ5MzJbaV0pOworCQkJZXJyb3JzKys7CisJCX0KKwkJaSArPSAyOworCX0gd2hpbGUgKGFyeTMyW2ldICE9IDApOworCisJcHJpbnRmKCJUZXN0aW5nIHN3YWI2NFxuIik7CisJaSA9IDA7CisJZG8geworCQlwcmludGYoInN3YWI2NCgweCUwMTYiUFJJeDY0IikgPSAweCUwMTYiUFJJeDY0IlxuIiwKKwkJCQlhcnk2NFtpXSwgc3dhYjY0KGFyeTY0W2ldKSk7CisJCWlmIChzd2FiNjQoYXJ5NjRbaV0pICE9IGFyeTY0W2krMV0pIHsKKwkJCXByaW50ZigiRXJyb3IhISEgICAlMDE2IlBSSXg2NCIgIT0gJTAxNiJQUkl4NjQiXG4iLAorCQkJCXN3YWI2NChhcnk2NFtpXSksIGFyeTY0W2krMV0pOworCQkJZXJyb3JzKys7CisJCX0KKwkJaWYgKHN3YWI2NChhcnk2NFtpKzFdKSAhPSBhcnk2NFtpXSkgeworCQkJcHJpbnRmKCJFcnJvciEhISAgICUwMTYiUFJJeDY0IiAhPSAlMDE2IlBSSXg2NCJcbiIsCisJCQkgICAgICAgc3dhYjY0KGFyeTY0W2krMV0pLCBhcnk2NFtpXSk7CisJCQllcnJvcnMrKzsKKwkJfQorCQlpICs9IDI7CisJfSB3aGlsZSAoYXJ5NjRbaV0gIT0gMCk7CisKKwlpZiAoIWVycm9ycykKKwkJcHJpbnRmKCJObyBlcnJvcnMgZm91bmQgaW4gdGhlIGJ5dGVzd2FwIGltcGxlbWVudGF0aW9uXG4iKTsKKworCXJldHVybiBlcnJvcnM7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9oZWxwZXJzL3Rlc3RfbWJzZW5jb2RlLmMgYi90ZXN0cy9oZWxwZXJzL3Rlc3RfbWJzZW5jb2RlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThmOTM4MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF9tYnNlbmNvZGUuYwpAQCAtMCwwICsxLDUyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE4IFZhY2xhdiBEb2xlemFsIDx2ZG9sZXphbEByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisgKgorICogVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGxvY2FsZS5oPgorCisjaW5jbHVkZSAibWJzYWxpZ24uaCIKKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCWludCBpID0gMTsKKwljaGFyICooKmVuY29kZV9mbikoY29uc3QgY2hhciAqLCBzaXplX3QgKikgPSBtYnNfc2FmZV9lbmNvZGU7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisKKwlpZiAoaSA8IGFyZ2MpIHsKKwkJaWYgKCFzdHJjbXAoYXJndltpXSwgIi0tc2FmZSIpKSB7CisJCQlpKys7CisJCQllbmNvZGVfZm4gPSBtYnNfc2FmZV9lbmNvZGU7CisJCX0gZWxzZSBpZiAoIXN0cmNtcChhcmd2W2ldLCAiLS1pbnZhbGlkIikpIHsKKwkJCWkrKzsKKwkJCWVuY29kZV9mbiA9IG1ic19pbnZhbGlkX2VuY29kZTsKKwkJfSBlbHNlIGlmICghc3RyY21wKGFyZ3ZbaV0sICItLSIpKSB7CisJCQlpKys7CisJCX0KKwl9CisKKwlmb3IgKDsgaSA8IGFyZ2M7IGkrKykgeworCQlzaXplX3Qgd2lkdGg7CisJCWNoYXIgKnJlczsKKwkJcmVzID0gZW5jb2RlX2ZuKGFyZ3ZbaV0sICZ3aWR0aCk7CisJCXByaW50ZigiJXppICVzXG4iLCB3aWR0aCwgcmVzKTsKKwkJZnJlZShyZXMpOworCX0KKworCXJldHVybiAwOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvaGVscGVycy90ZXN0X21kNS5jIGIvdGVzdHMvaGVscGVycy90ZXN0X21kNS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmOGRlYzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9oZWxwZXJzL3Rlc3RfbWQ1LmMKQEAgLTAsMCArMSwyOSBAQAorCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgIm1kNS5oIgorCitpbnQgbWFpbih2b2lkKQoreworCWludCBpLCByZXQ7CisJc3RydWN0IFVMX01ENUNvbnRleHQgY3R4OworCXVuc2lnbmVkIGNoYXIgZGlnZXN0W1VMX01ENUxFTkdUSF07CisJdW5zaWduZWQgY2hhciBidWZbQlVGU0laXTsKKworCXVsX01ENUluaXQoICZjdHggKTsKKworCXdoaWxlKCFmZW9mKHN0ZGluKSAmJiAhZmVycm9yKHN0ZGluKSkgeworCQlyZXQgPSBmcmVhZChidWYsIDEsIHNpemVvZihidWYpLCBzdGRpbik7CisJCWlmIChyZXQpCisJCQl1bF9NRDVVcGRhdGUoICZjdHgsIGJ1ZiwgcmV0ICk7CisJfQorCisJZmNsb3NlKHN0ZGluKTsKKwl1bF9NRDVGaW5hbCggZGlnZXN0LCAmY3R4ICk7CisKKwlmb3IgKGkgPSAwOyBpIDwgVUxfTUQ1TEVOR1RIOyBpKyspCisJCXByaW50ZiggIiUwMngiLCBkaWdlc3RbaV0gKTsKKwlwcmludGYoIlxuIik7CisJcmV0dXJuIDA7Cit9CmRpZmYgLS1naXQgYS90ZXN0cy9oZWxwZXJzL3Rlc3RfcGF0aG5hbWVzLmMgYi90ZXN0cy9oZWxwZXJzL3Rlc3RfcGF0aG5hbWVzLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjM2ODY0MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF9wYXRobmFtZXMuYwpAQCAtMCwwICsxLDg2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisgKgorICogVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyAqIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorICogKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAicGF0aG5hbWVzLmgiCisKK3N0cnVjdCBobHBQYXRoCit7CisJY29uc3QgY2hhciAqbmFtZTsKKwljb25zdCBjaGFyICpwYXRoOworfTsKKworI2RlZmluZSBERUZfSExQUEFUSChfcCkJCXsgI19wLCBfcCB9CisKK3N0YXRpYyBzdHJ1Y3QgaGxwUGF0aCBwYXRoc1tdID0KK3sKKwlERUZfSExQUEFUSChfUEFUSF9ERUZQQVRIKSwKKwlERUZfSExQUEFUSChfUEFUSF9ERUZQQVRIX1JPT1QpLAorCURFRl9ITFBQQVRIKF9QQVRIX0RFVl9MT09QKSwKKwlERUZfSExQUEFUSChfUEFUSF9IVVNITE9HSU4pLAorCURFRl9ITFBQQVRIKF9QQVRIX01BSUxESVIpLAorCURFRl9ITFBQQVRIKF9QQVRIX01PVERGSUxFKSwKKwlERUZfSExQUEFUSChfUEFUSF9OT0xPR0lOKSwKKwlERUZfSExQUEFUSChfUEFUSF9MT0dJTiksCisJREVGX0hMUFBBVEgoX1BBVEhfUEFTU1dEKSwKKwlERUZfSExQUEFUSChfUEFUSF9HU0hBRE9XKSwKKwlERUZfSExQUEFUSChfUEFUSF9HUk9VUCksCisJREVGX0hMUFBBVEgoX1BBVEhfU0hBRE9XX1BBU1NXRCksCisJREVGX0hMUFBBVEgoX1BBVEhfV09SRFMpLAorCURFRl9ITFBQQVRIKF9QQVRIX1dPUkRTX0FMVCksCisJREVGX0hMUFBBVEgoX1BBVEhfRklMRVNZU1RFTVMpLAorCURFRl9ITFBQQVRIKF9QQVRIX1BST0NfU1dBUFMpLAorCURFRl9ITFBQQVRIKF9QQVRIX1BST0NfRklMRVNZU1RFTVMpLAorCURFRl9ITFBQQVRIKF9QQVRIX01PVU5URUQpLAorCURFRl9ITFBQQVRIKF9QQVRIX01OVFRBQiksCisJREVGX0hMUFBBVEgoX1BBVEhfREVWX0JZTEFCRUwpLAorCURFRl9ITFBQQVRIKF9QQVRIX0RFVl9CWVVVSUQpLAorCXsgTlVMTCwgTlVMTCB9Cit9OworCitpbnQKK21haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXN0cnVjdCBobHBQYXRoICpwOworCisJaWYgKGFyZ2MgPT0gMSkgeworCQlmb3IgKHAgPSBwYXRoczsgcC0+bmFtZTsgcCsrKQorCQkJcHJpbnRmKCIlMjBzICVzXG4iLCBwLT5uYW1lLCBwLT5wYXRoKTsKKwkJZXhpdChFWElUX1NVQ0NFU1MpOworCX0gZWxzZSB7CisJCWlmIChzdHJjbXAoYXJndlsxXSwgIi0taGVscCIpID09IDAgfHwgc3RyY21wKGFyZ3ZbMV0sICItaCIpID09IDApIHsKKwkJCXByaW50ZigiJXMgPG9wdGlvbj5cbiIsIGFyZ3ZbMF0pOworCQkJZnB1dHMoIm9wdGlvbnM6XG4iLCBzdGRvdXQpOworCQkJZm9yIChwID0gcGF0aHM7IHAtPm5hbWU7IHArKykKKwkJCQlwcmludGYoIlx0JXNcbiIsIHAtPm5hbWUpOworCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQl9CisKKwkJZm9yIChwID0gcGF0aHM7IHAtPm5hbWU7IHArKykgeworCQkJaWYgKHN0cmNtcChwLT5uYW1lLCBhcmd2WzFdKSA9PSAwKSB7CisJCQkJcHJpbnRmKCIlc1xuIiwgcC0+cGF0aCk7CisJCQkJZXhpdChFWElUX1NVQ0NFU1MpOworCQkJfQorCQl9CisJfQorCisJZXhpdChFWElUX0ZBSUxVUkUpOworfQorCmRpZmYgLS1naXQgYS90ZXN0cy9oZWxwZXJzL3Rlc3Rfc2hhMS5jIGIvdGVzdHMvaGVscGVycy90ZXN0X3NoYTEuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hZDk2ZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvaGVscGVycy90ZXN0X3NoYTEuYwpAQCAtMCwwICsxLDI5IEBACisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAic2hhMS5oIgorCitpbnQgbWFpbih2b2lkKQoreworCWludCBpLCByZXQ7CisJVUxfU0hBMV9DVFggY3R4OworCXVuc2lnbmVkIGNoYXIgZGlnZXN0W1VMX1NIQTFMRU5HVEhdOworCXVuc2lnbmVkIGNoYXIgYnVmW0JVRlNJWl07CisKKwl1bF9TSEExSW5pdCggJmN0eCApOworCisJd2hpbGUoIWZlb2Yoc3RkaW4pICYmICFmZXJyb3Ioc3RkaW4pKSB7CisJCXJldCA9IGZyZWFkKGJ1ZiwgMSwgc2l6ZW9mKGJ1ZiksIHN0ZGluKTsKKwkJaWYgKHJldCkKKwkJCXVsX1NIQTFVcGRhdGUoICZjdHgsIGJ1ZiwgcmV0ICk7CisJfQorCisJZmNsb3NlKHN0ZGluKTsKKwl1bF9TSEExRmluYWwoIGRpZ2VzdCwgJmN0eCApOworCisJZm9yIChpID0gMDsgaSA8IFVMX1NIQTFMRU5HVEg7IGkrKykKKwkJcHJpbnRmKCAiJTAyeCIsIGRpZ2VzdFtpXSApOworCXByaW50ZigiXG4iKTsKKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2hlbHBlcnMvdGVzdF9zaWdyZWNlaXZlLmMgYi90ZXN0cy9oZWxwZXJzL3Rlc3Rfc2lncmVjZWl2ZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyYjU2M2EKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9oZWxwZXJzL3Rlc3Rfc2lncmVjZWl2ZS5jCkBAIC0wLDAgKzEsMTgxIEBACisvKgorICogdGVzdF9zaWdyZWNlaXZlIC0gd2FpdCBmb3Igc2lnbmFsIGFuZCBleGl0IHdpdGggdmFsdWUgb2YgaXQKKyAqCisgKiBXcml0dGVuIGJ5IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8ZXJyLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisjaW5jbHVkZSA8cHdkLmg+CisjaW5jbHVkZSA8c2lnbmFsLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxzeXMvc2VsZWN0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorCisjZGVmaW5lIFRFU1RfU0lHUkVDRUlWRV9GQUlMVVJFIDAKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2UoRklMRSAqb3V0KQoreworCWZwdXRzKCJVc2FnZTogdGVzdF9zaWdyZWNlaXZlIFstc3wtLXNldHVpZCA8bG9naW58dWlkPl1cbiIsIG91dCk7CisJZXhpdChURVNUX1NJR1JFQ0VJVkVfRkFJTFVSRSk7Cit9CisKK3N0YXRpYyBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKQordm9pZCBleGl0ZXIoaW50IHNpZ25vIF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSwKKwkgICAgc2lnaW5mb190ICppbmZvLAorCSAgICB2b2lkICpjb250ZXh0IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlpbnQgcmV0ID0gaW5mby0+c2lfc2lnbm87CisKKwlpZiAoaW5mby0+c2lfY29kZSA9PSBTSV9RVUVVRSAmJiBpbmZvLT5zaV92YWx1ZS5zaXZhbF9pbnQgIT0gMCkKKwkJcmV0ID0gaW5mby0+c2lfdmFsdWUuc2l2YWxfaW50OworCV9leGl0KHJldCk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3Qgc2lnYWN0aW9uIHNpZ2FjdDsKKwlmZF9zZXQgcmZkczsKKwlzdHJ1Y3QgdGltZXZhbCB0aW1lb3V0OworCWNoYXIgKnVzZXIgPSBOVUxMOworCWludCBjOworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJzZXR1aWQiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJe05VTEwsIDAsIE5VTEwsIDB9CisJfTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJzOmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGMpIHsKKwkJY2FzZSAncyc6CisJCQl1c2VyID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2Uoc3Rkb3V0KTsKKwkJZGVmYXVsdDoKKwkJCXVzYWdlKHN0ZGVycik7CisJCX0KKworCWlmICh1c2VyKSB7CisJCXN0cnVjdCBwYXNzd2QgKnB3OworCQl1aWRfdCB1aWQ7CisKKwkJcHcgPSBnZXRwd25hbSh1c2VyKTsKKwkJaWYgKHB3KQorCQkJdWlkID0gcHctPnB3X3VpZDsKKwkJZWxzZQorCQkJdWlkID0gc3RydG91MzJfb3JfZXJyKHVzZXIsICJmYWlsZWQgdG8gcGFyc2UgdWlkIik7CisJCWlmIChzZXR1aWQodWlkKSA8IDApCisJCQllcnIoVEVTVF9TSUdSRUNFSVZFX0ZBSUxVUkUsICJzZXR1aWQgZmFpbGVkIik7CisJfQorCisJc2lnZW1wdHlzZXQoJnNpZ2FjdC5zYV9tYXNrKTsKKwlzaWdhY3Quc2FfZmxhZ3MgPSBTQV9TSUdJTkZPOworCXNpZ2FjdC5zYV9zaWdhY3Rpb24gPSBleGl0ZXI7CisJdGltZW91dC50dl9zZWMgPSA1OworCXRpbWVvdXQudHZfdXNlYyA9IDA7CisKKwlzaWdhY3Rpb24oU0lHSU5ULCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHUVVJVCwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR0lMTCwgJnNpZ2FjdCwgTlVMTCk7CisjaWZkZWYgU0lHVFJBUAorCXNpZ2FjdGlvbihTSUdUUkFQLCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorCXNpZ2FjdGlvbihTSUdBQlJULCAmc2lnYWN0LCBOVUxMKTsKKyNpZmRlZiBTSUdJT1QKKwlzaWdhY3Rpb24oU0lHSU9ULCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR0VNVAorCXNpZ2FjdGlvbihTSUdFTVQsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHQlVTCisJc2lnYWN0aW9uKFNJR0JVUywgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKwlzaWdhY3Rpb24oU0lHRlBFLCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHVVNSMSwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1NFR1YsICZzaWdhY3QsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdVU1IyLCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHUElQRSwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR0FMUk0sICZzaWdhY3QsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdURVJNLCAmc2lnYWN0LCBOVUxMKTsKKyNpZmRlZiBTSUdTVEtGTFQKKwlzaWdhY3Rpb24oU0lHU1RLRkxULCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorCXNpZ2FjdGlvbihTSUdDSExELCAmc2lnYWN0LCBOVUxMKTsKKyNpZmRlZiBTSUdDTEQKKwlzaWdhY3Rpb24oU0lHQ0xELCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorCXNpZ2FjdGlvbihTSUdDT05ULCAmc2lnYWN0LCBOVUxMKTsKKwlzaWdhY3Rpb24oU0lHVFNUUCwgJnNpZ2FjdCwgTlVMTCk7CisJc2lnYWN0aW9uKFNJR1RUSU4sICZzaWdhY3QsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdUVE9VLCAmc2lnYWN0LCBOVUxMKTsKKyNpZmRlZiBTSUdVUkcKKwlzaWdhY3Rpb24oU0lHVVJHLCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1hDUFUKKwlzaWdhY3Rpb24oU0lHWENQVSwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdYRlNaCisJc2lnYWN0aW9uKFNJR1hGU1osICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHVlRBTFJNCisJc2lnYWN0aW9uKFNJR1ZUQUxSTSwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdQUk9GCisJc2lnYWN0aW9uKFNJR1BST0YsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHV0lOQ0gKKwlzaWdhY3Rpb24oU0lHV0lOQ0gsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHSU8KKwlzaWdhY3Rpb24oU0lHSU8sICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHUE9MTAorCXNpZ2FjdGlvbihTSUdQT0xMLCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR0lORk8KKwlzaWdhY3Rpb24oU0lHSU5GTywgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdMT1NUCisJc2lnYWN0aW9uKFNJR0xPU1QsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHUFdSCisJc2lnYWN0aW9uKFNJR1BXUiwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKyNpZmRlZiBTSUdVTlVTRUQKKwlzaWdhY3Rpb24oU0lHVU5VU0VELCAmc2lnYWN0LCBOVUxMKTsKKyNlbmRpZgorI2lmZGVmIFNJR1NZUworCXNpZ2FjdGlvbihTSUdTWVMsICZzaWdhY3QsIE5VTEwpOworI2VuZGlmCisjaWZkZWYgU0lHUlRNSU4KKwlzaWdhY3Rpb24oU0lHUlRNSU4sICZzaWdhY3QsIE5VTEwpOworCXNpZ2FjdGlvbihTSUdSVE1BWCwgJnNpZ2FjdCwgTlVMTCk7CisjZW5kaWYKKwkvKiBLZWVwIFNJR0hVUCBsYXN0LCB0aGUgYml0IGl0IGZsaXBzIHRlbGxzIHRvIGNoZWNrIHNjcmlwdCB0aGUKKwkgKiBoZWxwZXIgaXMgcmVhZHkgdG8gYmUga2lsbGVkLiAgKi8KKwlzaWdhY3Rpb24oU0lHSFVQLCAmc2lnYWN0LCBOVUxMKTsKKworCUZEX1pFUk8oJnJmZHMpOworCUZEX1NFVChTVERJTl9GSUxFTk8sICZyZmRzKTsKKwlzZWxlY3QoMCwgJnJmZHMsIE5VTEwsIE5VTEwsICZ0aW1lb3V0KTsKKworCWV4aXQoVEVTVF9TSUdSRUNFSVZFX0ZBSUxVUkUpOworfQpkaWZmIC0tZ2l0IGEvdGVzdHMvaGVscGVycy90ZXN0X3N5c2luZm8uYyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF9zeXNpbmZvLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2U3YmMwOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF9zeXNpbmZvLmMKQEAgLTAsMCArMSwxMjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyAqCisgKiBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorICogaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisgKiAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKworI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisKK3R5cGVkZWYgc3RydWN0IHsKKwljb25zdCBjaGFyCSpuYW1lOworCWludAkJKCpmbmMpKHZvaWQpOworfSBtbnRIbHBmbmM7CisKK3N0YXRpYyBpbnQgaGxwX3dvcmRzaXplKHZvaWQpCit7CisJcHJpbnRmKCIlenVcbiIsIENIQVJfQklUICogc2l6ZW9mKHZvaWQqKSk7CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgaGxwX2VuZGlhbm5lc3Modm9pZCkKK3sKKyNpZiAhZGVmaW5lZChXT1JEU19CSUdFTkRJQU4pCisJcHJpbnRmKCJMRVxuIik7CisjZWxzZQorCXByaW50ZigiQkVcbiIpOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKKworc3RhdGljIGludCBobHBfcGFnZXNpemUodm9pZCkKK3sKKwlwcmludGYoIiVkXG4iLCBnZXRwYWdlc2l6ZSgpKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBobHBfaW50X21heCh2b2lkKQoreworCXByaW50ZigiJWRcbiIsIElOVF9NQVgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhscF91aW50X21heCh2b2lkKQoreworCXByaW50ZigiJXVcbiIsIFVJTlRfTUFYKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBobHBfbG9uZ19tYXgodm9pZCkKK3sKKwlwcmludGYoIiVsZFxuIiwgTE9OR19NQVgpOworCXJldHVybiAwOworfQorCitzdGF0aWMgaW50IGhscF91bG9uZ19tYXgodm9pZCkKK3sKKwlwcmludGYoIiVsdVxuIiwgVUxPTkdfTUFYKTsKKwlyZXR1cm4gMDsKK30KKworc3RhdGljIGludCBobHBfdWxvbmdfbWF4MzIodm9pZCkKK3sKKyNpZiBfX1dPUkRTSVpFID09IDY0CisJcHJpbnRmKCIlbHVcbiIsIFVMT05HX01BWCA+PiAzMik7CisjZWxzZQorCXByaW50ZigiJWx1XG4iLCBVTE9OR19NQVgpOworI2VuZGlmCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBtbnRIbHBmbmMgaGxwc1tdID0KK3sKKwl7ICJXT1JEU0laRSIsCWhscF93b3Jkc2l6ZQl9LAorCXsgInBhZ2VzaXplIiwJaGxwX3BhZ2VzaXplCX0sCisJeyAiSU5UX01BWCIsCWhscF9pbnRfbWF4CX0sCisJeyAiVUlOVF9NQVgiLCAgIGhscF91aW50X21heAl9LAorCXsgIkxPTkdfTUFYIiwgICBobHBfbG9uZ19tYXgJfSwKKwl7ICJVTE9OR19NQVgiLCAgaGxwX3Vsb25nX21heAl9LAorCXsgIlVMT05HX01BWDMyIixobHBfdWxvbmdfbWF4MzIJfSwKKwl7ICJieXRlLW9yZGVyIiwgaGxwX2VuZGlhbm5lc3MgIH0sCisJeyBOVUxMLCBOVUxMIH0KK307CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlpbnQgcmUgPSAwOworCW1udEhscGZuYyAqZm47CisKKwlpZiAoYXJnYyA9PSAxKSB7CisJCWZvciAoZm4gPSBobHBzOyBmbi0+bmFtZTsgZm4rKykgeworCQkJcHJpbnRmKCIlMTVzOiAiLCBmbi0+bmFtZSk7CisJCQlyZSArPSBmbi0+Zm5jKCk7CisJCX0KKwl9IGVsc2UgeworCQlpbnQgaTsKKworCQlpZiAoc3RyY21wKGFyZ3ZbMV0sICItLWhlbHAiKSA9PSAwIHx8IHN0cmNtcChhcmd2WzFdLCAiLWgiKSA9PSAwKSB7CisJCQlwcmludGYoIiVzIDxvcHRpb24+XG4iLCBhcmd2WzBdKTsKKwkJCWZwdXRzKCJvcHRpb25zOlxuIiwgc3Rkb3V0KTsKKwkJCWZvciAoZm4gPSBobHBzOyBmbi0+bmFtZTsgZm4rKykKKwkJCQlwcmludGYoIlx0JXNcbiIsIGZuLT5uYW1lKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJfQorCisJCWZvciAoaT0xOyBpIDwgYXJnYzsgaSsrKSB7CisJCQlmb3IgKGZuID0gaGxwczsgZm4tPm5hbWU7IGZuKyspIHsKKwkJCQlpZiAoc3RyY21wKGZuLT5uYW1lLCBhcmd2W2ldKSA9PSAwKQorCQkJCQlyZSArPSBmbi0+Zm5jKCk7CisJCQl9CisJCX0KKwl9CisKKwlleGl0KHJlID8gRVhJVF9GQUlMVVJFIDogRVhJVF9TVUNDRVNTKTsKK30KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvaGVscGVycy90ZXN0X3Rpb2NzdGkuYyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF90aW9jc3RpLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzI2OWRjMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF90aW9jc3RpLmMKQEAgLTAsMCArMSwyNyBAQAorLyoKKyAqIHRlc3RfdGlvY3N0aSAtIHRlc3Qgc2VjdXJpdHkgb2YgVElPQ1NUSQorICoKKyAqIFdyaXR0ZW4gYnkgRmVkZXJpY28gQmVudG8gPHVwMjAxNDA3ODkwQGFsdW5vcy5kY2MuZmMudXAucHQ+CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdvdWxkIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisgKiBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFsb25nCisgKiB3aXRoIHRoaXMgcHJvZ3JhbTsgaWYgbm90LCB3cml0ZSB0byB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLAorICogNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwgQm9zdG9uLCBNQSAwMjExMC0xMzAxIFVTQS4KKyAqLworCisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisKK2ludCBtYWluKHZvaWQpCit7CisgIGNoYXIgKmNtZCA9ICJpZCAtdSAtblxuIjsKKyAgd2hpbGUoKmNtZCkKKyAgIGlvY3RsKDAsIFRJT0NTVEksIGNtZCsrKTsKK30KZGlmZiAtLWdpdCBhL3Rlc3RzL2hlbHBlcnMvdGVzdF91dWlkX25hbWVzcGFjZS5jIGIvdGVzdHMvaGVscGVycy90ZXN0X3V1aWRfbmFtZXNwYWNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTUyMmVkMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL2hlbHBlcnMvdGVzdF91dWlkX25hbWVzcGFjZS5jCkBAIC0wLDAgKzEsMzcgQEAKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorCisjaW5jbHVkZSAiLi4vbGlidXVpZC9zcmMvdXVpZC5oIgorCitzdGF0aWMgdm9pZCBnZXRfdGVtcGxhdGUoY29uc3QgY2hhciAqbnMpCit7CisJY29uc3QgdXVpZF90ICp1dWlkcHRyOworCWNoYXIgYnVmW1VVSURfU1RSX0xFTl07CisKKwl1dWlkcHRyID0gdXVpZF9nZXRfdGVtcGxhdGUobnMpOworCWlmICh1dWlkcHRyID09IE5VTEwpCisJCXN0cmNweShidWYsICJOVUxMIik7CisJZWxzZQorCQl1dWlkX3VucGFyc2VfbG93ZXIoKnV1aWRwdHIsIGJ1Zik7CisKKwlwcmludGYoInV1aWRfZ2V0X3RlbXBsYXRlICVzIHJldHVybnMgJXNcbiIsIChucyA/IG5zIDogIk5VTEwiKSwgYnVmKTsKK30KKworaW50IG1haW4odm9pZCkKK3sKKwlnZXRfdGVtcGxhdGUoImRucyIpOworCisJZ2V0X3RlbXBsYXRlKCJ1cmwiKTsKKworCWdldF90ZW1wbGF0ZSgib2lkIik7CisKKwlnZXRfdGVtcGxhdGUoIng1MDAiKTsKKworCWdldF90ZW1wbGF0ZShOVUxMKTsKKwlnZXRfdGVtcGxhdGUoIiIpOworCWdldF90ZW1wbGF0ZSgidW5rbm93biIpOworCisJZXhpdCgwKTsKK30KKwpkaWZmIC0tZ2l0IGEvdGVzdHMvcnVuLnNoIGIvdGVzdHMvcnVuLnNoCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNkYjIwZGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy9ydW4uc2gKQEAgLTAsMCArMSwyMjIgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9JChjZCAkezAlLyp9ICYmIHB3ZCkKK1NVQlRFU1RTPQorRVhDTFVERVRFU1RTPQorT1BUUz0KKwordG9wX3NyY2Rpcj0KK3RvcF9idWlsZGRpcj0KK3BhcmFsbGVyX2pvYnM9MQorCitmdW5jdGlvbiBudW1fY3B1cygpCit7CisJbG9jYWwgbnVtCisKKwkjIGNvcmV1dGlscworCWlmIG51bT0kKG5wcm9jIC0tYWxsIDI+L2Rldi9udWxsKTsgdGhlbgorCQk6CisJIyBCU0QsIE9TWAorCWVsaWYgbnVtPSQoc3lzY3RsIC1uIGh3Lm5jcHUgMj4vZGV2L251bGwpOyB0aGVuCisJCToKKwllbHNlCisJCW51bT0kKGdyZXAgLWMgIl5wcm9jZXNzb3IiIC9wcm9jL2NwdWluZm8gMj4vZGV2L251bGwpCisJZmkKKworCSMgdHJhbnNsYXRlIGdhcmJhZ2Ugb3V0cHV0IHRvICIxIgorCWlmIHRlc3QgIiRudW0iIC1ndCAiMCIgMj4vZGV2L251bGwgO3RoZW4KKwkJZWNobyAiJG51bSIKKwllbHNlCisJCWVjaG8gMQorCWZpCit9CisKK2Z1bmN0aW9uIGZpbmRfdGVzdF9zY3JpcHRzKCkKK3sKKwlsb2NhbCBzZWFyY2hkaXI9IiQxIgorCWZpbmQgIiRzZWFyY2hkaXIiIC10eXBlIGYgLXJlZ2V4ICIuKi9bXlwufl0qIiBcCisJCVwoIC1wZXJtIC11PXggLW8gLXBlcm0gLWc9eCAtbyAtcGVybSAtbz14IFwpCit9CisKK3doaWxlIFsgLW4gIiQxIiBdOyBkbworCWNhc2UgIiQxIiBpbgorCS0tZm9yY2UgfFwKKwktLWZha2UgfFwKKwktLW1lbWNoZWNrLXZhbGdyaW5kIHxcCisJLS1tZW1jaGVjay1hc2FuIHxcCisJLS1ub2xvY2tzIHxcCisJLS1zaG93LWRpZmYgfFwKKwktLXZlcmJvc2UgIHxcCisJLS1za2lwLWxvb3BkZXZzIHxcCisJLS1wYXJzYWJsZSkKKwkJIyB0aGVzZSBvcHRpb25zIGFyZSBzaW1wbHkgZm9yd2FyZGVkIHRvIHRoZSB0ZXN0IHNjcmlwdHMKKwkJT1BUUz0iJE9QVFMgJDEiCisJCTs7CisJLS1ub25yb290KQorCQlpZiBbICQoaWQgLXJ1KSAtZXEgMCBdOyB0aGVuCisJCQllY2hvICJJZ25vcmUgdXRpbC1saW51eCB0ZXN0IHN1aXRlIFtub24tcm9vdCBVSUQgZXhwZWN0ZWRdLiIKKwkJCWV4aXQgMAorCQlmaQorCQk7OworCS0tc3JjZGlyPSopCisJCXRvcF9zcmNkaXI9IiR7MSMjLS1zcmNkaXI9fSIKKwkJOzsKKwktLWJ1aWxkZGlyPSopCisJCXRvcF9idWlsZGRpcj0iJHsxIyMtLWJ1aWxkZGlyPX0iCisJCTs7CisJLS1wYXJhbGxlbD0qKQorCQlwYXJhbGxlcl9qb2JzPSIkezEjIy0tcGFyYWxsZWw9fSIKKwkJaWYgISBbICIkcGFyYWxsZXJfam9icyIgLWdlIDAgXSAyPi9kZXYvbnVsbDsgdGhlbgorCQkJZWNobyAiaW52YWxpZCBhcmd1bWVudCAnJHBhcmFsbGVyX2pvYnMnIGZvciAtLXBhcmFsbGVsPSIKKwkJCWV4aXQgMQorCQlmaQorCQk7OworCS0tcGFyYWxsZWwpCisJCXBhcmFsbGVyX2pvYnM9JChudW1fY3B1cykKKwkJOzsKKwktLWV4Y2x1ZGU9KikKKwkJRVhDTFVERVRFU1RTPSIkezEjIy0tZXhjbHVkZT19IgorCQk7OworCS0tKikKKwkJZWNobyAiVW5rbm93biBvcHRpb24gJDEiCisJCWVjaG8gIlVzYWdlOiAiCisJCWVjaG8gIiAgJChiYXNlbmFtZSAkMCkgW29wdGlvbnNdIFs8Y29tcG9uZW50PiAuLi5dIgorCQllY2hvICJPcHRpb25zOiIKKwkJZWNobyAiICAtLWZvcmNlICAgICAgICAgICAgICBleGVjdXRlIGRlbWFuZGluZyB0ZXN0cyIKKwkJZWNobyAiICAtLWZha2UgICAgICAgICAgICAgICBkbyBub3QgcnVuLCBzZXR1cCB0ZXN0cyBvbmx5IgorCQllY2hvICIgIC0tbWVtY2hlY2stdmFsZ3JpbmQgIHJ1biB3aXRoIHZhbGdyaW5kIgorCQllY2hvICIgIC0tbWVtY2hlY2stYXNhbiAgICAgIGVuYWJsZSBBU0FOIChyZXF1aXJlcyAuL2NvbmZpZ3VyZSAtLWVuYWJsZS1hc2FuKSIKKwkJZWNobyAiICAtLW5vbG9ja3MgICAgICAgICAgICBkb24ndCB1c2UgZmxvY2sgdG8gbG9jayByZXNvdXJjZXMiCisJCWVjaG8gIiAgLS12ZXJib3NlICAgICAgICAgICAgdmVyYm9zZSBtb2RlIgorCQllY2hvICIgIC0tc2hvdy1kaWZmICAgICAgICAgIHNob3cgZGlmZiBmcm9tIGZhaWxlZCB0ZXN0cyIKKwkJZWNobyAiICAtLW5vbnJvb3QgICAgICAgICAgICBpZ25vcmUgdGVzdCBzdWl0ZSBpZiB1c2VyIGlzIHJvb3QiCisJCWVjaG8gIiAgLS1zcmNkaXI9PHBhdGg+ICAgICAgYXV0b3Rvb2xzIHRvcCBzb3VyY2UgZGlyZWN0b3J5IgorCQllY2hvICIgIC0tYnVpbGRkaXI9PHBhdGg+ICAgIGF1dG90b29scyB0b3AgYnVpbGQgZGlyZWN0b3J5IgorCQllY2hvICIgIC0tcGFyYWxsZWw9PG51bT4gICAgIG51bWJlciBvZiBwYXJhbGxlbCB0ZXN0IGpvYnMsIGRlZmF1bHQ6IG51bSBjcHVzIgorCQllY2hvICIgIC0tZXhjbHVkZT08bGlzdD4gICAgIGV4Y2x1ZGUgdGVzdHMgYnkgbGlzdCAnPHV0aWxuYW1lPi88dGVzdG5hbWU+IC4uJyIKKwkJZWNobworCQlleGl0IDEKKwkJOzsKKworCSopCisJCVNVQlRFU1RTPSIkU1VCVEVTVFMgJDEiCisJCTs7CisJZXNhYworCXNoaWZ0Citkb25lCisKKyMgRm9yIGNvbXBhdGliaWxpdHkgd2l0aCBhdXRvdG9vbHMgaXMgbmVjZXNzYXJ5IHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBzb3VyY2UKKyMgKHdpdGggdGVzdCBzY3JpcHRzKSBhbmQgYnVpbGQgKHdpdGggdGVtcG9yYXJ5IGZpbGVzKSBkaXJlY3RvcmllcyB3aGVuCisjIGV4ZWN1dGVkIGJ5IG91ciBidWlsZC1zeXN0ZW0uCisjCisjIFRoZSBkZWZhdWx0IGlzIHRoZSBzb3VyY2UgdHJlZSB3aXRoIHRoaXMgc2NyaXB0LgorIworaWYgWyAteiAiJHRvcF9zcmNkaXIiIF07IHRoZW4KKwl0b3Bfc3JjZGlyPSIkVFNfVE9QRElSLy4uIgorZmkKK2lmIFsgLXogIiR0b3BfYnVpbGRkaXIiIF07IHRoZW4KKwl0b3BfYnVpbGRkaXI9IiRUU19UT1BESVIvLi4iCitmaQorCitPUFRTPSIkT1BUUyAtLXNyY2Rpcj0kdG9wX3NyY2RpciAtLWJ1aWxkZGlyPSR0b3BfYnVpbGRkaXIiCisKK2RlY2xhcmUgLWEgY29tcHMKK2lmIFsgLW4gIiRTVUJURVNUUyIgXTsgdGhlbgorCSMgc2VsZWN0ZWQgdGVzdHMgb25seQorCWZvciBzIGluICRTVUJURVNUUzsgZG8KKwkJaWYgWyAtZSAiJHRvcF9zcmNkaXIvdGVzdHMvdHMvJHMiIF07IHRoZW4KKwkJCWNvbXBzKz0oICQoZmluZF90ZXN0X3NjcmlwdHMgIiR0b3Bfc3JjZGlyL3Rlc3RzL3RzLyRzIikgKSB8fCBleGl0IDEKKwkJZWxzZQorCQkJZWNobyAiVW5rbm93biB0ZXN0IGNvbXBvbmVudCAnJHMnIgorCQkJZXhpdCAxCisJCWZpCisJZG9uZQorZWxzZQorCWlmIFsgISAtZiAiJHRvcF9idWlsZGRpci90ZXN0X3R0eXV0aWxzIiBdOyB0aGVuCisJCWVjaG8gIlRlc3RzIG5vdCBjb21waWxlZCEgUnVuICdtYWtlIGNoZWNrJyB0byBmaXggdGhlIHByb2JsZW0uIgorCQlleGl0IDEKKwlmaQorCisJY29tcHM9KCAkKGZpbmRfdGVzdF9zY3JpcHRzICIkdG9wX3NyY2Rpci90ZXN0cy90cyIpICkgfHwgZXhpdCAxCitmaQorCitpZiBbIC1uICIkRVhDTFVERVRFU1RTIiBdOyB0aGVuCisJZGVjbGFyZSAtYSB4Y29tcHMJCSMgdGVtcG9yYXJ5IGFycmF5CisJZm9yIHRzIGluICR7Y29tcHNbQF19OyBkbworCQl0c25hbWU9JHt0cyMjKnRzL30JIyB0ZXN0IG5hbWUKKworCQlpZiBbWyAiJEVYQ0xVREVURVNUUyIgPT0gKiR7dHNuYW1lfSogXV07IHRoZW4KKwkJCSNlY2hvICJJZ25vcmUgJHt0c25hbWV9LiIKKwkJCXRydWUKKwkJZWxzZQorCQkJeGNvbXBzKz0oJHRzKQorCQlmaQorCWRvbmUKKwljb21wcz0oIiR7eGNvbXBzW0BdfSIpCQkjIHJlcGxhY2UgdGhlIGFycmF5CitmaQorCit1bnNldCBMSUJNT1VOVF9ERUJVRwordW5zZXQgTElCQkxLSURfREVCVUcKK3Vuc2V0IExJQkZESVNLX0RFQlVHCit1bnNldCBMSUJTTUFSVENPTFNfREVCVUcKKworZWNobworZWNobyAiLS0tLS0tLS0tLS0tLS0tLS0tLS0gdXRpbC1saW51eCByZWdyZXNzaW9uIHRlc3RzIC0tLS0tLS0tLS0tLS0tLS0tLS0tIgorZWNobworZWNobyAiICAgICAgICAgICAgICAgICAgICBGb3IgZGV2ZWxvcG1lbnQgcHVycG9zZSBvbmx5LiAgICAgICAgICAgICAgICAgICAgIgorZWNobyAiICAgICAgICAgICAgICAgICBEb24ndCBleGVjdXRlIG9uIHByb2R1Y3Rpb24gc3lzdGVtISAgICAgICAgICAgICAgICAgIgorZWNobworCisjIFRPRE86IGFkZCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHN5c3RlbQorcHJpbnRmICIlMTNzOiAlLTMwcyAgICAiICJrZXJuZWwiICIkKHVuYW1lIC1yKSIKK2VjaG8KK2VjaG8KKworaWYgWyAiJHBhcmFsbGVyX2pvYnMiIC1uZSAxIF07IHRoZW4KKwl0bXA9JHBhcmFsbGVyX2pvYnMKKwlbICIkcGFyYWxsZXJfam9icyIgLWVxIDAgXSAmJiB0bXA9aW5maW5pdGUKKwllY2hvICIgICAgICAgICAgICAgIEV4ZWN1dGluZyB0aGUgdGVzdHMgaW4gcGFyYWxsZWwgKCR0bXAgam9icykgICAgIgorCWVjaG8KKwlPUFRTPSIkT1BUUyAtLXBhcmFsbGVsIgorZmkKKworY291bnQ9MAorPnwgJHRvcF9idWlsZGRpci90ZXN0cy9mYWlsdXJlcworcHJpbnRmICIlc1xuIiAke2NvbXBzWypdfSB8CisJc29ydCB8CisJeGFyZ3MgLUkgJ3t9JyAtUCAkcGFyYWxsZXJfam9icyAtbiAxIGJhc2ggLWMgIid7fScgXCIkT1BUU1wiIHx8CisJCWVjaG8gMSA+PiAkdG9wX2J1aWxkZGlyL3Rlc3RzL2ZhaWx1cmVzIgoraWYgWyAkPyAhPSAwIF07IHRoZW4KKwllY2hvICJ4YXJncyBlcnJvciIgPiYyCisJZXhpdCAxCitmaQorZGVjbGFyZSAtYSBmYWlsX2ZpbGUKK2ZhaWxfZmlsZT0oICQoIDwgJHRvcF9idWlsZGRpci90ZXN0cy9mYWlsdXJlcyApICkgfHwgZXhpdCAxCitybSAtZiAkdG9wX2J1aWxkZGlyL3Rlc3RzL2ZhaWx1cmVzCitlY2hvCitlY2hvICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCitpZiBbICR7I2ZhaWxfZmlsZVtAXX0gLWVxIDAgXTsgdGhlbgorCWVjaG8gIiAgQWxsICR7I2NvbXBzW0BdfSB0ZXN0cyBQQVNTRUQiCisJcmVzPTAKK2Vsc2UKKwllY2hvICIgICR7I2ZhaWxfZmlsZVtAXX0gdGVzdHMgb2YgJHsjY29tcHNbQF19IEZBSUxFRCIKKwlyZXM9MQorZmkKK2VjaG8gIi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIKK2V4aXQgJHJlcwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYml0b3BzL3N3YXBieXRlcyBiL3Rlc3RzL3RzL2JpdG9wcy9zd2FwYnl0ZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzk4YWQ1MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2JpdG9wcy9zd2FwYnl0ZXMKQEAgLTAsMCArMSwyOSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzd2FwIGJ5dGVzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0JZVEVTV0FQIgorCiskVFNfSEVMUEVSX0JZVEVTV0FQID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYmxrZGlzY2FyZC9vZmZzZXRzIGIvdGVzdHMvdHMvYmxrZGlzY2FyZC9vZmZzZXRzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI4ODg0MTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtkaXNjYXJkL29mZnNldHMKQEAgLTAsMCArMSwxMDEgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IEZlZGVyaWNvIFNpbW9uY2VsbGkgPGZzaW1vbmNlQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJvZmZzZXRzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0JMS0RJU0NBUkQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCitPUklHUFdEPSQocHdkKQorSU1BR0VfTkFNRT0iJHtUU19URVNUTkFNRX0tbG9vcC5pbWciCitJTUFHRV9QQVRIPSIkVFNfT1VURElSLyRJTUFHRV9OQU1FIgorCit0cnVuY2F0ZSAtcyAxME0gJElNQUdFX1BBVEgKKwordHNfbG9nICJjcmVhdGUgbG9vcCBkZXZpY2UgZnJvbSBpbWFnZSIKK0RFVklDRT0kKCRUU19DTURfTE9TRVRVUCAtLXNob3cgLWYgJElNQUdFX1BBVEgpCit0c19yZWdpc3Rlcl9sb29wX2RldmljZSAiJERFVklDRSIKKworZnVuY3Rpb24gcnVuX3RzY21kIHsKKwlsb2NhbCByZXQKKwkiJEAiID4+ICRUU19PVVRQVVQgMj4mMQorCXJldD0kPworCWVjaG8gInJldDogJHJldCIgPj4gIiRUU19PVVRQVVQiCisJcmV0dXJuICRyZXQKK30KKwordHNfbG9nICJ0ZXN0aW5nIG9mZnNldHMgd2l0aCBmdWxsIGJsb2NrIHNpemUiCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12ICRERVZJQ0UKK2lmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCSMgU2tpcCB0aGUgcmVzdD8gRm9yIGV4YW1wbGUgbG9vcCBiYWNraW5nIGZpbGVzIG9uIE5GUyBzZWVtIHVuc3VwcG9ydGVkLgorCWdyZXAgLXEgIkJMS0RJU0NBUkQgaW9jdGwgZmFpbGVkOiBPcGVyYXRpb24gbm90IHN1cHBvcnRlZCIgIiRUU19PVVRQVVQiIFwKKwkJJiYgdHNfc2tpcCAiQkxLRElTQ0FSRCBub3Qgc3VwcG9ydGVkIgorZmkKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLW8gMSAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1vIDUxMSAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1vIDUxMiAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1vIDEwMjQgJERFVklDRQorCit0c19sb2cgInRlc3Rpbmcgb2Zmc2V0cyB3aXRoIHNwZWNpZmljIGxlbmd0aCIKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLWwgNTI0Mjg4MCAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1sIDUyNDI4ODEgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtbCA1MjQzMzkxICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLW8gMSAtbCA1MjQyODgwICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLW8gNTExIC1sIDUyNDI4ODAgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtbyA1MTIgLWwgNTI0Mjg4MCAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1vIDEwMjQgLWwgNTI0Mjg4MCAkREVWSUNFCisKK3RzX2xvZyAidGVzdGluZyBhbGlnbmVkIHN0ZXBzIGZ1bGwgZGV2aWNlIgorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCA1MjQyODgwICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgMTMxMDcyMCAkREVWSUNFCisKK3RzX2xvZyAidGVzdGluZyBhbGlnbmVkIHN0ZXBzIHdpdGggb2Zmc2V0cyBhbmQgbGVuZ3RoIgorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCA1MTIgLWwgMTAyNCAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMiAtbyAxIC1sIDEwMjQgJERFVklDRQorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCA1MTIgLW8gMSAtbCAxNTM2ICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTEyIC1vIDUxMSAtbCAxNTM2ICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTEyIC1vIDUxMiAtbCAxNTM2ICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTEyIC1vIDEwMjQgLWwgMTAyNCAkREVWSUNFCisKK3RzX2xvZyAidGVzdGluZyBtaXNhbGlnbmVkIHN0ZXBzIGZ1bGwgZGV2aWNlIgorcnVuX3RzY21kICRUU19DTURfQkxLRElTQ0FSRCAtdiAtcCAxICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgMjU2ICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTExICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTEzICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNzY4ICRERVZJQ0UKKwordHNfbG9nICJ0ZXN0aW5nIG1pc2FsaWduZWQgc3RlcHMgd2l0aCBvZmZzZXRzIGFuZCBsZW5ndGgiCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMSAtbCAxMDI0ICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTExIC1vIDEgLWwgMTUzNiAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMSAtbyA1MTEgLWwgMTUzNiAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMSAtbCAxMDI0MCAkREVWSUNFCitydW5fdHNjbWQgJFRTX0NNRF9CTEtESVNDQVJEIC12IC1wIDUxMSAtbyAxIC1sIDEwMjQwICRERVZJQ0UKK3J1bl90c2NtZCAkVFNfQ01EX0JMS0RJU0NBUkQgLXYgLXAgNTExIC1vIDUxMSAtbCAxMDI0MCAkREVWSUNFCisKK3NlZCAtaSAicyMkREVWSUNFOlxzIyMiICRUU19PVVRQVVQKKwordHNfbG9nICJkZXRhY2ggbG9vcCBkZXZpY2UgZnJvbSBpbWFnZSIKKwordHNfY2QgIiRPUklHUFdEIgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYmxraWQvZG0tZXJyIGIvdGVzdHMvdHMvYmxraWQvZG0tZXJyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQwMWYwMDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9kbS1lcnIKQEAgLTAsMCArMSw0NSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTYgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IkRNIGVycm9yIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0JMS0lEIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgImRtc2V0dXAiCisKK0RFVk5BTUU9ImJsa2lkLWRtLWVyciIKK0RFVklDRT0iL2Rldi9tYXBwZXIvJHtERVZOQU1FfSIKKwordHNfbG9nICJJbml0aWFsaXplIGRldmljZSIKK2VjaG8gIjAgMjYyMTQ0IGVycm9yIiB8IGRtc2V0dXAgY3JlYXRlICRERVZOQU1FCisKK3RzX2xvZyAiUHJvYmUgZGV2aWNlIgorJFRTX0NNRF9CTEtJRCAtcCAtbyB1ZGV2ICRERVZJQ0UgMj4mMSA+PiAkVFNfT1VUUFVUCitlY2hvICJSZXR1cm4gY29kZTogJD8iID4+ICRUU19PVVRQVVQKKwordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiRGVpbml0aWFsaXplIGRldmljZSIKKworZG1zZXR1cCByZW1vdmUgJERFVk5BTUUKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9hZGFwdGVjLXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2FkYXB0ZWMtcmFpZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjAzODdjZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9hZGFwdGVjLXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9iY2FjaGUtQi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmNhY2hlLUIuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVkMTg3ZjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmNhY2hlLUIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9iY2FjaGUtQy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmNhY2hlLUMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmFmOTBjYmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvYmNhY2hlLUMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9iZWZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9iZWZzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xODhhNmU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2JlZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9iZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2Jmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOThmMDI0YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9iZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9jcmFtZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2NyYW1mcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk0Mzg2NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9jcmFtZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9kZGYtcmFpZC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZGRmLXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI1YjY0ZmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZGRmLXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9kcmJkbWFuYWdlLWNvbnRyb2wtdm9sdW1lLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9kcmJkbWFuYWdlLWNvbnRyb2wtdm9sdW1lLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMzFiZmMxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2RyYmRtYW5hZ2UtY29udHJvbC12b2x1bWUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9leGZhdC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZXhmYXQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQzY2MwOWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZXhmYXQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9leHQyLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9leHQyLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zYjU0ODlmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2V4dDIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9leHQzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9leHQzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43ZDE3MGUyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2V4dDMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mMmZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mMmZzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mN2Y5ZGRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2YyZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGUwOTk3YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQxNl9ub2hlYWRzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQxNl9ub2hlYWRzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMGVlMjk2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDE2X25vaGVhZHMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9jcDg1MF9PX3RpbGRlLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9jcDg1MF9PX3RpbGRlLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wNmViMmM5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX2NwODUwX09fdGlsZGUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9sYWJlbF82NE1CLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9sYWJlbF82NE1CLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDk3NmJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX2xhYmVsXzY0TUIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbWtkb3Nmc19sYWJlbDEuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkZjRiMWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbWtkb3Nmc19sYWJlbDEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9kb3Nmc2xhYmVsX05PX05BTUUuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbGFiZWwxX2Rvc2ZzbGFiZWxfTk9fTkFNRS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTMyYWIxMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9kb3Nmc2xhYmVsX05PX05BTUUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9kb3Nmc2xhYmVsX2VtcHR5LmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9kb3Nmc2xhYmVsX2VtcHR5LmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zMDI3MDMxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbGFiZWwxX2Rvc2ZzbGFiZWxfZW1wdHkuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9kb3Nmc2xhYmVsX2xhYmVsMi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbWtkb3Nmc19sYWJlbDFfZG9zZnNsYWJlbF9sYWJlbDIuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE1NTFlMTEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbWtkb3Nmc19sYWJlbDFfZG9zZnNsYWJlbF9sYWJlbDIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9tbGFiZWxfTk9fTkFNRS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbWtkb3Nmc19sYWJlbDFfbWxhYmVsX05PX05BTUUuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2NGM0NDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbWtkb3Nmc19sYWJlbDFfbWxhYmVsX05PX05BTUUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9tbGFiZWxfZXJhc2UuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbGFiZWwxX21sYWJlbF9lcmFzZS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjBhOTU3MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV9tbGFiZWxfZXJhc2UuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV94cF9lcmFzZS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbWtkb3Nmc19sYWJlbDFfeHBfZXJhc2UuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjNDI4MGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvZmF0MzJfbWtkb3Nmc19sYWJlbDFfeHBfZXJhc2UuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV94cF9sYWJlbDIuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbGFiZWwxX3hwX2xhYmVsMi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjZkNDgzOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX2xhYmVsMV94cF9sYWJlbDIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmUuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbm9uZS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGQwODRmMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9OT19OQU1FLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9OT19OQU1FLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hMjM4YTAxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbm9uZV9kb3Nmc2xhYmVsX05PX05BTUUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9sYWJlbDEuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbm9uZV9kb3Nmc2xhYmVsX2xhYmVsMS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTQ4NjAzMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9sYWJlbDEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9sYWJlbDFfeHBfbGFiZWwyLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfZG9zZnNsYWJlbF9sYWJlbDFfeHBfbGFiZWwyLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NDAxZTFmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbm9uZV9kb3Nmc2xhYmVsX2xhYmVsMV94cF9sYWJlbDIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfeHBfbGFiZWwxLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfeHBfbGFiZWwxLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hY2YwMWNjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbm9uZV94cF9sYWJlbDEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfeHBfbGFiZWwxX2Rvc2ZzbGFiZWxfbGFiZWwyLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl9ta2Rvc2ZzX25vbmVfeHBfbGFiZWwxX2Rvc2ZzbGFiZWxfbGFiZWwyLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iZmYwOTcxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX21rZG9zZnNfbm9uZV94cF9sYWJlbDFfZG9zZnNsYWJlbF9sYWJlbDIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl94cF9sYWJlbDEuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX3hwX2xhYmVsMS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTdkNzFlOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl94cF9sYWJlbDEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl94cF9ub25lLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl94cF9ub25lLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hOGM4MTllCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX3hwX25vbmUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl94cF9ub25lX2Rvc2ZzbGFiZWxfbGFiZWwxLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl94cF9ub25lX2Rvc2ZzbGFiZWxfbGFiZWwxLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZWJlNmJlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX3hwX25vbmVfZG9zZnNsYWJlbF9sYWJlbDEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl94cF9ub25lX21sYWJlbF9sYWJlbDEuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ZhdDMyX3hwX25vbmVfbWxhYmVsX2xhYmVsMS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWE3YTc3NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9mYXQzMl94cF9ub25lX21sYWJlbF9sYWJlbDEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9nZnMyLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9nZnMyLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yMmQ0ZDZiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2dmczIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9oZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2hmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZhMzI1MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9oZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9oZnNwbHVzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9oZnNwbHVzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYzM3YTcwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2hmc3BsdXMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9ocGZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9ocGZzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40ZTIyYThlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2hwZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9ocHQzN3gtcmFpZC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaHB0Mzd4LXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFiNTMwNTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaHB0Mzd4LXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9ocHQ0NXgtcmFpZC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaHB0NDV4LXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdkZmU2OGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaHB0NDV4LXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28tam9saWV0LmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28tam9saWV0LmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xNmI4OTYxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2lzby1qb2xpZXQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28tcnItam9saWV0LmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28tcnItam9saWV0LmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDZhZDJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2lzby1yci1qb2xpZXQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28uaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2lzby5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjExNDZmMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc28uaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9pc3ctcmFpZC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXN3LXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhlNTUyOWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvaXN3LXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qYmQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2piZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2M1YTA4OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qYmQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2pmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDc4MGY2ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qbWljcm9uLXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2ptaWNyb24tcmFpZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2RlMDgxMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9qbWljcm9uLXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9sc2ktcmFpZC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHNpLXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQ2YWUxNWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHNpLXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9sdWtzMS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHVrczEuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMwZjU5MDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHVrczEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9sdWtzMi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHVrczIuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk5N2ZiMDQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbHVrczIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9sdm0yLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9sdm0yLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YzNjMTgzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL2x2bTIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9tZHJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL21kcmFpZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZThmZjRmNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9tZHJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9taW5peC1CRS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbWluaXgtQkUuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmMzNDlhNGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbWluaXgtQkUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9taW5peC1MRS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbWluaXgtTEUuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRhNjQ2YTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbWluaXgtTEUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9tcG9vbC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbXBvb2wuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRiZmVmZGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbXBvb2wuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9uZXR3YXJlLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9uZXR3YXJlLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mZTViMTAzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL25ldHdhcmUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9uaWxmczIuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL25pbGZzMi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzhkZTY0NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9uaWxmczIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9udGZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9udGZzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYjQxNGM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL250ZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9udmlkaWEtcmFpZC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbnZpZGlhLXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc3NWY4MTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvbnZpZGlhLXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9vY2ZzMi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvb2NmczIuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEyZWQ5MjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvb2NmczIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9wcm9taXNlLXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3Byb21pc2UtcmFpZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzdmMTM1ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9wcm9taXNlLXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9yZWlzZXIzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9yZWlzZXIzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44YmM1OTVmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3JlaXNlcjMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9yZWlzZXI0LmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9yZWlzZXI0LmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lOTdmOTYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3JlaXNlcjQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9yb21mcy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcm9tZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY4MGVlZWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvcm9tZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9zaWxpY29uLXJhaWQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3NpbGljb24tcmFpZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjhkNmE0MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9zaWxpY29uLXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9zbWFsbC1mYXQzMi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc21hbGwtZmF0MzIuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdhMDRmNDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc21hbGwtZmF0MzIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9zd2FwMC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc3dhcDAuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNjZmVhNzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc3dhcDAuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy9zd2FwMS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc3dhcDEuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlNmY1MzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvc3dhcDEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy90dXhvbmljZS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdHV4b25pY2UuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3MmNmOWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdHV4b25pY2UuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91YmkuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3ViaS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEwNzNmMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91YmkuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91Ymlmcy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWJpZnMuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwMDRmNWIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWJpZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtYmRyLTIuNjAtbmVyby5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWJkci0yLjYwLW5lcm8uaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjlmYjlhNGYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWJkci0yLjYwLW5lcm8uaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtY2QtbWt1ZGZpc28tMjAxMDAyMDguaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1jZC1ta3VkZmlzby0yMDEwMDIwOC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWRhOWEyOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtY2QtbWt1ZGZpc28tMjAxMDAyMDguaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtY2QtbmVyby02LmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtY2QtbmVyby02LmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NzNmYTYyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1jZC1uZXJvLTYuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4wLjAtMS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC1ta3VkZmZzLTEuMC4wLTEuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM5ZGI0YmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC1ta3VkZmZzLTEuMC4wLTEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4wLjAtMi5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC1ta3VkZmZzLTEuMC4wLTIuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRjYmE0NDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC1ta3VkZmZzLTEuMC4wLTIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTEuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtbWt1ZGZmcy0xLjMtMS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2RmMzZkYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTEuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTIuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtbWt1ZGZmcy0xLjMtMi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMwZmFjYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTIuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtbWt1ZGZmcy0xLjMtMy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDc3NGUwYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtbWt1ZGZmcy0xLjMtNC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDQ3ZTM5YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTUuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtbWt1ZGZmcy0xLjMtNS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjkxZDdlYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTYuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtbWt1ZGZmcy0xLjMtNi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzkzYWI5ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTYuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTcuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtbWt1ZGZmcy0xLjMtNy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTk0MDAwOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTcuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTguaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtbWt1ZGZmcy0xLjMtOC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjkxMTgwYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLW1rdWRmZnMtMS4zLTguaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLXVkZmNsaWVudC0wLjcuNS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC11ZGZjbGllbnQtMC43LjUuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJhZGRjODQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC11ZGZjbGllbnQtMC43LjUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLXVkZmNsaWVudC0wLjcuNy5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC11ZGZjbGllbnQtMC43LjcuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRmYjhjZGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdWRmLWhkZC11ZGZjbGllbnQtMC43LjcuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLXdpbjcuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi1oZGQtd2luNy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWU4NjExNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYtaGRkLXdpbjcuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3VkZi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmRmMGVkZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZGYuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3Vmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNThmOGIyMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy91ZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy92ZG8uaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3Zkby5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDhjN2VjYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy92ZG8uaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy92aWEtcmFpZC5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdmlhLXJhaWQuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM1ZjZmYjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdmlhLXJhaWQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy92bWZzLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy92bWZzLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jZTQ1NDRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3ZtZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy92bWZzX3ZvbHVtZS5pbWcueHogYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdm1mc192b2x1bWUuaW1nLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjkzZjExYjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9pbWFnZXMtZnMvdm1mc192b2x1bWUuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy94ZnMtbG9nLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy94ZnMtbG9nLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNWZmMzNiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3hmcy1sb2cuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy94ZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3hmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTU3NmM2NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy94ZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy96ZnMuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLWZzL3pmcy5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg1ZTUzNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1mcy96ZnMuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9hdGFyaS1pY2QuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLXB0L2F0YXJpLWljZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDBhMmFiYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9hdGFyaS1pY2QuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9hdGFyaS14Z20uaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLXB0L2F0YXJpLXhnbS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMyYjhmOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9hdGFyaS14Z20uaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9ic2QuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLXB0L2JzZC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmZkYjUwYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9ic2QuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9kb3MrYnNkLmltZy54eiBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9kb3MrYnNkLmltZy54egpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODdkZDc0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLXB0L2Rvcytic2QuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9ncHQuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLXB0L2dwdC5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWEwODViNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9ncHQuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9zZ2kuaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLXB0L3NnaS5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVmZWQ4MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9zZ2kuaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9zdW4uaW1nLnh6IGIvdGVzdHMvdHMvYmxraWQvaW1hZ2VzLXB0L3N1bi5pbWcueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTAwNTk0YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL2ltYWdlcy1wdC9zdW4uaW1nLnh6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL2xvdy1wcm9iZSBiL3Rlc3RzL3RzL2Jsa2lkL2xvdy1wcm9iZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zODAyM2I4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvbG93LXByb2JlCkBAIC0wLDAgKzEsNDQgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzdXBlcmJsb2NrcyBwcm9iaW5nIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQkxLSUQiCit0c19jaGVja19wcm9nICJ4eiIKKworbWtkaXIgLXAgJFRTX09VVERJUi9pbWFnZXMtZnMKKworZm9yIGltZyBpbiAkKGxzICRUU19TRUxGL2ltYWdlcy1mcy8qLmltZy54eiB8IHNvcnQpOyBkbworCW5hbWU9JChiYXNlbmFtZSAkaW1nIC5pbWcueHopCisJb3V0aW1nPSRUU19PVVRESVIvaW1hZ2VzLWZzLyR7bmFtZX0uaW1nCisKKwl0c19pbml0X3N1YnRlc3QgJG5hbWUKKworCXh6IC1kYyAkaW1nID4gJG91dGltZworCisJJFRTX0NNRF9CTEtJRCAtcCAtbyB1ZGV2ICRvdXRpbWcgMj4mMSB8IHNvcnQgPiAkVFNfT1VUUFVUCisJdHNfZmluYWxpemVfc3VidGVzdAorZG9uZQorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9sb3dwcm9iZS1wdCBiL3Rlc3RzL3RzL2Jsa2lkL2xvd3Byb2JlLXB0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxNzdkZTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9sb3dwcm9iZS1wdApAQCAtMCwwICsxLDQ0IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icGFydGl0aW9ucyBwcm9iaW5nIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfUEFSVElUSU9OUyIKK3RzX2NoZWNrX3Byb2cgInh6IgorCitta2RpciAtcCAkVFNfT1VURElSL2ltYWdlcy1wdAorCitmb3IgaW1nIGluICQobHMgJFRTX1NFTEYvaW1hZ2VzLXB0LyouaW1nLnh6IHwgc29ydCk7IGRvCisJbmFtZT0kKGJhc2VuYW1lICRpbWcgLmltZy54eikKKwlvdXRpbWc9JFRTX09VVERJUi9pbWFnZXMtcHQvJHtuYW1lfS5pbWcKKworCXRzX2luaXRfc3VidGVzdCAkbmFtZQorCisJeHogLWRjICRpbWcgPiAkb3V0aW1nCisKKwkkVFNfSEVMUEVSX1BBUlRJVElPTlMgJG91dGltZyAmPiAkVFNfT1VUUFVUCisJdHNfZmluYWxpemVfc3VidGVzdAorZG9uZQorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9ibGtpZC9tYnItd2hvbGVkaXNrIGIvdGVzdHMvdHMvYmxraWQvbWJyLXdob2xlZGlzawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMzk1OTJlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvbWJyLXdob2xlZGlzawpAQCAtMCwwICsxLDQyIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWJyLXdob2xlZGlzayIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAorCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0JMS0lEIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwCisKKyMKKyMgVGhpcyBsb29rcyBsaWtlIFZGQVQsIGJ1dCBpdCdzIE1CUgorIwordHNfaW5pdF9zdWJ0ZXN0ICJmYWtlLXZmYXQiCitkZCBpZj0ke1RTX1NFTEZ9L21ici13aG9sZWRpc2stdmZhdC5pbWcgb2Y9JHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYmxraWQvbWJyLXdob2xlZGlzay12ZmF0LmltZyBiL3Rlc3RzL3RzL2Jsa2lkL21ici13aG9sZWRpc2stdmZhdC5pbWcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjJiZWU2YwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL21ici13aG9sZWRpc2stdmZhdC5pbWcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYmxraWQvbWQtcmFpZDAtd2hvbGUgYi90ZXN0cy90cy9ibGtpZC9tZC1yYWlkMC13aG9sZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NWM2ZWU1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvYmxraWQvbWQtcmFpZDAtd2hvbGUKQEAgLTAsMCArMSw4OSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Ik1EIHJhaWQwICh3aG9sZS1kaXNrcykiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQkxLSUQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWRhZG0iCisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBkZXZpY2VzIgorSU1HTkFNRT0iJHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9IgorCit0c19kZXZpY2VfaW5pdCA1MCAke0lNR05BTUV9MS5pbWcKK0RFVklDRTE9JFRTX0xPREVWCisKK3RzX2RldmljZV9pbml0IDUwICR7SU1HTkFNRX0yLmltZworREVWSUNFMj0kVFNfTE9ERVYKKworTURfREVWTkFNRT1tZDgKK01EX0RFVklDRT0vZGV2LyR7TURfREVWTkFNRX0KKwordHNfbG9jayAibWQiCittZGFkbSAtcSAtUyAke01EX0RFVklDRX0gJj4gL2Rldi9udWxsCisKK3RzX2xvZyAiQ3JlYXRlIFJBSUQgZGV2aWNlIgorbWRhZG0gLXEgLS1jcmVhdGUgJHtNRF9ERVZJQ0V9IC0tbWV0YWRhdGE9MC45MCAtLWNodW5rPTY0IC0tbGV2ZWw9MCBcCisJICAgIC0tcmFpZC1kZXZpY2VzPTIgJHtERVZJQ0UxfSAke0RFVklDRTJ9ID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIG9uIFJBSUQgZGV2aWNlIgorJFRTX0NNRF9GRElTSyAke01EX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCituCitwCisxCisKKysxME0KK24KK3AKKzIKKworCitwCit3CitxCitFT0YKKwordWRldmFkbSBzZXR0bGUKKwordHNfbG9nICJQcm9iZSBmaXJzdCBSQUlEIG1lbWJlciIKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAkREVWSUNFMSAyPiYxIHwgc29ydCA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiUHJvYmUgc2Vjb25kIFJBSUQgbWVtYmVyIgorJFRTX0NNRF9CTEtJRCAtcCAtbyB1ZGV2ICRERVZJQ0UxIDI+JjEgfCBzb3J0ID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJTdG9wIFJBSUQgZGV2aWNlIgorbWRhZG0gLXEgLVMgJHtNRF9ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQorCit1ZGV2YWRtIHNldHRsZQordHNfdW5sb2NrICJtZCIKKwordHNfbG9nICJEZWluaXRpYWxpemUgZGV2aWNlcyIKKwordHNfZmRpc2tfY2xlYW4gJE1EX0RFVklDRQorCisjIHJlbW92ZSBnZW5lcmF0ZWQgVVVJRHMKK3NlZCAtaSAtZSAncy9JRF9GU19VVUlELiovL2cnICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL21kLXJhaWQxLXBhcnQgYi90ZXN0cy90cy9ibGtpZC9tZC1yYWlkMS1wYXJ0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjNmYTYzOTUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9ibGtpZC9tZC1yYWlkMS1wYXJ0CkBAIC0wLDAgKzEsOTUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJNRCByYWlkMSAobGFzdCBwYXJ0aXRpb24pIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0JMS0lEIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgIm1kYWRtIgorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTEgc2VjdG9yX3NpemU9NTEyCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzI1TQorbgorcAorMgorCisKK3AKK3cKK3EKK0VPRgorCisjIHJlcGxhY2UgZ2VuZXJhdGVkIElEIHdpdGggc29tZXRoaW5nIHN0YWJsZQorJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsIDw8RU9GCit4CitpCisweDEKK3IKK3cKK3EKK0VPRgorCit1ZGV2YWRtIHNldHRsZQorTURfREVWTkFNRT1tZDgKK01EX0RFVklDRT0vZGV2LyR7TURfREVWTkFNRX0KKwordHNfbG9jayAibWQiCisKK3RzX2xvZyAiQ3JlYXRlIFJBSUQxIGRldmljZSIKK21kYWRtIC1xIC1TICR7TURfREVWSUNFfSAmPiAvZGV2L251bGwKK21kYWRtIC1xIC0tY3JlYXRlICR7TURfREVWSUNFfSAtLW1ldGFkYXRhPTAuOTAgLS1jaHVuaz02NCAtLWxldmVsPTEgXAorCSAgICAtLXJhaWQtZGV2aWNlcz0yICR7VFNfREVWSUNFfTEgJHtUU19ERVZJQ0V9MiA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiUHJvYmUgd2hvbGUtZGlzayIKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAke1RTX0RFVklDRX0gMj4mMSB8IHNvcnQgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlByb2JlIGZpcnN0IFJBSUQgbWVtYmVyIgorJFRTX0NNRF9CTEtJRCAtcCAtbyB1ZGV2ICR7VFNfREVWSUNFfTEgMj4mMSB8IHNvcnQgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlByb2JlIHNlY29uZCBSQUlEIG1lbWJlciIKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAke1RTX0RFVklDRX0yIDI+JjEgfCBzb3J0ID4+ICRUU19PVVRQVVQKKworbWRhZG0gLXEgLVMgJHtNRF9ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQorCit1ZGV2YWRtIHNldHRsZQordHNfdW5sb2NrICJtZCIKKwordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQorIyBzdWJzdGl0dWUgVVVJRHMgYW5kIG1ham9yL21pbm9yIG51bWJlciBiZWZvcmUgY29tcGFyaXNvbgorc2VkIC1pIFwKKyAgLWUgICAgICAgICAncy9eXChJRF9GU19VVUlEXCk9LiovXDE9X190c191dWlkX18vJyBcCisgIC1lICAgICAncy9eXChJRF9GU19VVUlEX0VOQ1wpPS4qL1wxPV9fdHNfdXVpZF9lbmNfXy8nIFwKKyAgLWUgJ3MvXlwoSURfUEFSVF9FTlRSWV9ESVNLXCk9LiovXDE9X190c19tYWpvcm1pbm9yX18vJyBcCisgICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2Jsa2lkL21kLXJhaWQxLXdob2xlIGIvdGVzdHMvdHMvYmxraWQvbWQtcmFpZDEtd2hvbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGRmNGE2OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2Jsa2lkL21kLXJhaWQxLXdob2xlCkBAIC0wLDAgKzEsOTMgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJNRCByYWlkMSAod2hvbGUtZGlza3MpIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0JMS0lEIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1kYWRtIgorCit0c19sb2cgIkluaXRpYWxpemUgZGV2aWNlcyIKK0lNR05BTUU9IiR7VFNfT1VURElSfS8ke1RTX1RFU1ROQU1FfSIKKwordHNfZGV2aWNlX2luaXQgNTAgJHtJTUdOQU1FfTEuaW1nCitERVZJQ0UxPSRUU19MT0RFVgorCit0c19kZXZpY2VfaW5pdCA1MCAke0lNR05BTUV9Mi5pbWcKK0RFVklDRTI9JFRTX0xPREVWCisKK01EX0RFVk5BTUU9bWQ4CitNRF9ERVZJQ0U9L2Rldi8ke01EX0RFVk5BTUV9CisKK3RzX2xvY2sgIm1kIgorCittZGFkbSAtcSAtUyAke01EX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorCit0c19sb2cgIkNyZWF0ZSBSQUlEIGRldmljZSIKK21kYWRtIC1xIC0tY3JlYXRlICR7TURfREVWSUNFfSAtLW1ldGFkYXRhPTAuOTAgLS1jaHVuaz02NCAtLWxldmVsPTEgXAorCSAgICAtLXJhaWQtZGV2aWNlcz0yICR7REVWSUNFMX0gJHtERVZJQ0UyfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMgb24gUkFJRCBkZXZpY2UiCiskVFNfQ01EX0ZESVNLICR7TURfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisrMTBNCitwCit3CitxCitFT0YKKwordWRldmFkbSBzZXR0bGUKKwordHNfbG9nICJQcm9iZSBmaXJzdCBSQUlEIG1lbWJlciIKKyRUU19DTURfQkxLSUQgLXAgLW8gdWRldiAkREVWSUNFMSAyPiYxIHwgc29ydCA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiUHJvYmUgc2Vjb25kIFJBSUQgbWVtYmVyIgorJFRTX0NNRF9CTEtJRCAtcCAtbyB1ZGV2ICRERVZJQ0UxIDI+JjEgfCBzb3J0ID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJTdG9wIFJBSUQgZGV2aWNlIgorbWRhZG0gLXEgLVMgJHtNRF9ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQorCit1ZGV2YWRtIHNldHRsZQordHNfdW5sb2NrICJtZCIKKwordHNfbG9nICJEZWluaXRpYWxpemUgZGV2aWNlcyIKKwordHNfZmRpc2tfY2xlYW4KKyMgc2VlbXMgdGhhdCByYWlkMSBtaW5pbXVtIEkvTyBzaXplIGhhcyBiZWVuIGNoYW5nZWQgaW4ga2VybmVscyA+NC40LnggYW5kID40LjgKK3NlZCAtaSAnc0BeXChJL08gc2l6ZSAobWluaW11bS9vcHRpbWFsKTogXClbMS05XVswLTldKkBcMTxyZW1vdmVkPkAnICRUU19PVVRQVVQKKyMgcmVtb3ZlIGdlbmVyYXRlZCBVVUlEcworc2VkIC1pIC1lICdzL0lEX0ZTX1VVSUQuKi8vZycgJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvYnVpbGQtc3lzL2NvbmZpZyBiL3Rlc3RzL3RzL2J1aWxkLXN5cy9jb25maWcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmM0OGM1MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2J1aWxkLXN5cy9jb25maWcKQEAgLTAsMCArMSw3MCBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNvbmZpZyIKKworIyBEb24ndCBleGVjdXRlIHRoaXMgdGVzdCBieSBkZWZhdWx0LCAtLWZvcmNlIHJlcXVpcmVkCitUU19PUFRJT05BTD0ieWVzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfcHJvZyAicmVhZGVsZiIKK3RzX2NoZWNrX3Byb2cgImZpbGUiCisKK2NvbmZpZ19nZW5fZGlyPSIkdG9wX3NyY2Rpci90b29scyIKKy4gJGNvbmZpZ19nZW5fZGlyL2NvbmZpZy1nZW4tZnVuY3Rpb25zLnNoCisKK1sgLW4gIiRDRkxBR1MiIF0gJiYgZXhwb3J0IENGTEFHUz0iJENGTEFHUyIKKwordHNfY2QgJHRvcF9idWlsZGRpciAmJiBtYWtlIC1qIGNsZWFuICY+IC9kZXYvbnVsbAorCitmb3IgY29uZiBpbiAkY29uZmlnX2dlbl9kaXIvY29uZmlnLWdlbi5kLyouY29uZjsgZG8KKwl0c19pbml0X3N1YnRlc3QgJChiYXNlbmFtZSAkY29uZiB8IHNlZCAncy9cLmNvbmYvLycpCisKKwlvcHRzPSQodWxfZ2V0X2NvbmZpZ3VyYXRpb24gJGNvbmYpCisKKwlvbGRkaXI9JChwd2QpCisJdHNfY2QgJHRvcF9idWlsZGRpcgorCisJLi9jb25maWd1cmUgJG9wdHMgJj4gL2Rldi9udWxsCisJbWFrZSAtaiAmPiAvZGV2L251bGwKKworCWJpbnM9JChmaW5kIC4gLXR5cGUgZiBcKCAtcGVybSAtdT14IC1vIC1wZXJtIC1nPXggLW8gLXBlcm0gLW89eCBcKSB8IHNvcnQpCisJZm9yIGIgaW4gJGJpbnM7IGRvCisJCWxpYnM9JChyZWFkZWxmIC0tZHluYW1pYyAkYiAyPiAvZGV2L251bGwgICB8IFwKKwkJCWF3ayAnL05FRURFRC8geyBwcmludCAkNSB9JyB8IFwKKwkJCXNlZCAnczpcWzo6ZzsgczpcLi4qOjpnOyBzOmxpYmM6Omc7IHM6bGRcLS4qOjpnJyB8IFwKKwkJCXNvcnQgLXUgfCB0ciAnXG4nICcgJykKKworCQlpZiBbIC1uICIkbGlicyIgXTsgdGhlbgorCQkJZWNobyAiJChiYXNlbmFtZSAkYik6ICRsaWJzIiA+PiAkVFNfT1VUUFVUCisJCWVsc2UKKwkJCWZyZXM9JChmaWxlICRiKQorCQkJY2FzZSAkZnJlcyBpbgorCQkJKnN0YXRpY2FsbHkqKQorCQkJCWVjaG8gIiQoYmFzZW5hbWUgJGIpOiBTVEFUSUMiID4+ICRUU19PVVRQVVQKKwkJCQk7OworCQkJKikgIyBpZ25vcmUgc2NyaXB0cywgLi4uZXRjLgorCQkJCTs7CisJCQllc2FjCisJCWZpCisJZG9uZQorCisJIyBjbGVhbiB0aGUgdHJlZSwgYnV0IGV4Y2x1ZGUgdGVzdHMve2RpZmYsb3V0cHV0fSBkaXJzCisJIworCVsgLWQgdGVzdHMvZGlmZiBdICAgJiYgbXYgdGVzdHMvZGlmZiAgIHRlc3RzL2RpZmYuc2F2ZQorCVsgLWQgdGVzdHMvb3V0cHV0IF0gJiYgbXYgdGVzdHMvb3V0cHV0IHRlc3RzL291dHB1dC5zYXZlCisKKwltYWtlIC1qIGNsZWFuICY+IC9kZXYvbnVsbAorCisJWyAtZCB0ZXN0cy9kaWZmLnNhdmUgXSAgICYmIG12IHRlc3RzL2RpZmYuc2F2ZSAgIHRlc3RzL2RpZmYKKwlbIC1kIHRlc3RzL291dHB1dC5zYXZlIF0gJiYgbXYgdGVzdHMvb3V0cHV0LnNhdmUgdGVzdHMvb3V0cHV0CisKKwl0c19jZCAkb2xkZGlyCisJdHNfZmluYWxpemVfc3VidGVzdAorZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsL2JpZ3llYXIgYi90ZXN0cy90cy9jYWwvYmlneWVhcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMjA1YzNhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY2FsL2JpZ3llYXIKQEAgLTAsMCArMSw4MyBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJZZWFyIDIxNDc0ODM2NDYiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ0FMIgorCitleHBvcnQgVEVSTT1saW51eAorCitVU0VURVJNPSQoIHRzX2hhc19vcHRpb24gInVzZXRlcm0iICIkKiIgKQorTVlNT05USD0iMTIgMjE0NzQ4MzY0NiIKK01ZWUVBUj0iMjE0NzQ4MzY0NiIKKworCitDQUxfVEVTVF9USU1FPTE1MTY1NjI3MzkgICMgMjFzdCBKYW51YXJ5IDIwMTgKK2V4cG9ydCBDQUxfVEVTVF9USU1FCisKK2Z1bmN0aW9uIGNhbGxfY2FsIHsKKwlsb2NhbCB0ZXN0bmFtZT0kKGVjaG8gIiQyIiB8IHNlZCAncy8tLy9nJykKKworCWlmIFsgIiQzIiA9PSAiJE1ZWUVBUiIgXTsgdGhlbgorCQl0ZXN0bmFtZT0iJHt0ZXN0bmFtZX0teWVhciIKKwllbHNlCisJCXRlc3RuYW1lPSIke3Rlc3RuYW1lfS1tb250aCIKKwlmaQorCisJdHNfaW5pdF9zdWJ0ZXN0ICIkdGVzdG5hbWUiCisJdHNfbG9nICIkMSIKKwlzaGlmdAorCWlmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJCSRUU19IRUxQRVJfQ0FMICIkQCIKKwlmaQorCSRUU19IRUxQRVJfQ0FMICIkQCIgPj4gJFRTX09VVFBVVAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK30KKworY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCBtb250aCIgLTFtICRNWU1PTlRICitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoIiAtMXMgJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBNb25kYXktYmFzZWQgbW9udGgiIC0xbWogJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQgbW9udGgiIC0xc2ogJE1ZTU9OVEgKKworY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCAzIG1vbnRocyIgLTNtICRNWU1PTlRICitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIDMgbW9udGhzIiAtM3MgJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBNb25kYXktYmFzZWQgMyBtb250aHMiIC0zbWogJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQgMyBtb250aHMiIC0zc2ogJE1ZTU9OVEgKKworY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB5ZWFyIiAtMW0gJE1ZWUVBUgorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIiAtMXMgJE1ZWUVBUgorY2FsbF9jYWwgIkp1bGlhbiAgICAtIE1vbmRheS1iYXNlZCB5ZWFyIiAtMW1qICRNWVlFQVIKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQgeWVhciIgLTFzaiAkTVlZRUFSCisKKworY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWtzIiAtMW13ICRNWU1PTlRICitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoIHdpdGggd2Vla3MiIC0xc3cgJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBNb25kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrcyIgLTFtancgJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrcyIgLTFzancgJE1ZTU9OVEgKKworY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCAzIG1vbnRocyB3aXRoIHdlZWtzIiAtM213ICRNWU1PTlRICitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIDMgbW9udGhzIHdpdGggd2Vla3MiIC0zc3cgJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBNb25kYXktYmFzZWQgMyBtb250aHMgd2l0aCB3ZWVrcyIgLTNtancgJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQgMyBtb250aHMgd2l0aCB3ZWVrcyIgLTNzancgJE1ZTU9OVEgKKworY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB5ZWFyIHdpdGggd2Vla3MiIC0xbXcgJE1ZWUVBUgorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIHdpdGggd2Vla3MiIC0xc3cgJE1ZWUVBUgorY2FsbF9jYWwgIkp1bGlhbiAgICAtIE1vbmRheS1iYXNlZCB5ZWFyIHdpdGggd2Vla3MiIC0xbWp3ICRNWVlFQVIKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQgeWVhciB3aXRoIHdlZWtzIiAtMXNqdyAkTVlZRUFSCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jYWwvY29sb3IgYi90ZXN0cy90cy9jYWwvY29sb3IKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGE2ZGZiNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NhbC9jb2xvcgpAQCAtMCwwICsxLDc2IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNvbG9yIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NBTCIKKworaGFzX25jdXJzZXM9JCggdHNfaGFzX25jdXJzZXNfc3VwcG9ydCApCitpZiBbICIkaGFzX25jdXJzZXMiICE9ICJ5ZXMiIF07IHRoZW4KKwl0c19za2lwICJ3aXRob3V0LW5jdXJzZXMiCitmaQorCisjIC0tY29sb3Igb3V0cHV0IGRlcGVuZHMgb24gdGVybWluYWwgdHlwZQorZXhwb3J0IFRFUk09bGludXgKKworVVNFVEVSTT0kKCB0c19oYXNfb3B0aW9uICJ1c2V0ZXJtIiAiJCoiICkKKworWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF0gJiYgVFNfVkVSQk9TRT0ieWVzIgordHNfbG9nICIiCisKK3RzX2xvZyAiRmlyc3QgZGF5IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAxIDEgMQorZmkKKyRUU19DTURfQ0FMIC0tY29sb3I9YWx3YXlzIDEgMSAxID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgMSIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMiA5IDE3NTIKK2ZpCiskVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAyIDkgMTc1MiA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDIiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC0tY29sb3I9YWx3YXlzIDMgOSAxNzUyCitmaQorJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgMyA5IDE3NTIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlJlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyAzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAxMyA5IDE3NTIKK2ZpCiskVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAxMyA5IDE3NTIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlJlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyA0IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAxNCA5IDE3NTIKK2ZpCiskVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAxNCA5IDE3NTIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkxhc3QgZGF5IgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtLWNvbG9yPWFsd2F5cyAzMSAxMiA5OTk5CitmaQorJFRTX0NNRF9DQUwgLS1jb2xvcj1hbHdheXMgLTMgMzEgMTIgOTk5OSA+PiAkVFNfT1VUUFVUCisKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsL2NvbG9ydyBiL3Rlc3RzL3RzL2NhbC9jb2xvcncKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDkzZGQyYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NhbC9jb2xvcncKQEAgLTAsMCArMSw3NiBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjb2xvciB3aXRoIHdlZWsgbnVtYmVycyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DQUwiCisKK2hhc19uY3Vyc2VzPSQoIHRzX2hhc19uY3Vyc2VzX3N1cHBvcnQgKQoraWYgWyAiJGhhc19uY3Vyc2VzIiAhPSAieWVzIiBdOyB0aGVuCisJdHNfc2tpcCAid2l0aG91dC1uY3Vyc2VzIgorZmkKKworIyAtLWNvbG9yIG91dHB1dCBkZXBlbmRzIG9uIHRlcm1pbmFsIHR5cGUKK2V4cG9ydCBURVJNPWxpbnV4CisKK1VTRVRFUk09JCggdHNfaGFzX29wdGlvbiAidXNldGVybSIgIiQqIiApCisKK1sgIiRVU0VURVJNIiA9PSAieWVzIiBdICYmIFRTX1ZFUkJPU0U9InllcyIKK3RzX2xvZyAiIgorCit0c19sb2cgIkZpcnN0IGRheSB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMSAxIDEKK2ZpCiskVFNfQ01EX0NBTCAtdyAtLWNvbG9yPWFsd2F5cyAxIDEgMSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiUmVmb3JtYXRpb24gY29ybmVyIGNhc2VzIDEgd2l0aCB3ZWVrIG51bWJlcnMiCitpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCSRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDIgOSAxNzUyCitmaQorJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMiA5IDE3NTIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlJlZm9ybWF0aW9uIGNvcm5lciBjYXNlcyAyIHdpdGggd2VlayBudW1iZXJzIgoraWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkkVFNfQ01EX0NBTCAtdyAtLWNvbG9yPWFsd2F5cyAzIDkgMTc1MgorZmkKKyRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIDMgOSAxNzUyID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgMyB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMTMgOSAxNzUyCitmaQorJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMTMgOSAxNzUyID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJSZWZvcm1hdGlvbiBjb3JuZXIgY2FzZXMgNCB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMTQgOSAxNzUyCitmaQorJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMTQgOSAxNzUyID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJMYXN0IGRheSB3aXRoIHdlZWsgbnVtYmVycyIKK2lmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJJFRTX0NNRF9DQUwgLXcgLS1jb2xvcj1hbHdheXMgMzEgMTIgOTk5OQorZmkKKyRUU19DTURfQ0FMIC13IC0tY29sb3I9YWx3YXlzIC0zIDMxIDEyIDk5OTkgPj4gJFRTX09VVFBVVAorCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC9qYW4xNzUzIGIvdGVzdHMvdHMvY2FsL2phbjE3NTMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWJlM2RiMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NhbC9qYW4xNzUzCkBAIC0wLDAgKzEsNDUgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iSmFudWFyeSAxNzUzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NBTCIKKworZXhwb3J0IFRFUk09bGludXgKKworVVNFVEVSTT0kKCB0c19oYXNfb3B0aW9uICJ1c2V0ZXJtIiAiJCoiICkKK01ZTU9OVEg9IjEgMTc1MyIKKworZnVuY3Rpb24gY2FsbF9jYWwgeworCWxvY2FsIHRlc3RuYW1lPSQoZWNobyAiJDIiIHwgc2VkICdzLy0vL2cnKQorCisJdHNfaW5pdF9zdWJ0ZXN0ICIkdGVzdG5hbWUiCisJdHNfbG9nICIkMSIKKwlzaGlmdAorCWlmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJCSRUU19DTURfQ0FMICIkQCIKKwlmaQorCSRUU19DTURfQ0FMICIkQCIgPj4gJFRTX09VVFBVVAorCisJdHNfZmluYWxpemVfc3VidGVzdAorfQorCitjYWxsX2NhbCAiTW9uZGF5LWJhc2VkIDE3NTMgd2VlayBudW1iZXJzIiAtbTN3ICRNWU1PTlRICitjYWxsX2NhbCAiU3VuZGF5LWJhc2VkIDE3NTMgd2VlayBudW1iZXJzIiAtM3cgJE1ZTU9OVEgKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC9tb250aCBiL3Rlc3RzL3RzL2NhbC9tb250aApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45Nzk0ZTkwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY2FsL21vbnRoCkBAIC0wLDAgKzEsNjcgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3LTIwMTggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im1vbnRoIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NBTCIKKworZXhwb3J0IFRFUk09bGludXgKKworVVNFVEVSTT0kKCB0c19oYXNfb3B0aW9uICJ1c2V0ZXJtIiAiJCoiICkKK01ZVElNRT0iMjcgMDkgMjAwNiIKKworQ0FMX1RFU1RfVElNRT0xNTE2NTYyNzM5ICAjIDIxc3QgSmFudWFyeSAyMDE4CitleHBvcnQgQ0FMX1RFU1RfVElNRQorCitmdW5jdGlvbiBjYWxsX2NhbCB7CisJbG9jYWwgdGVzdG5hbWU9JChlY2hvICIkMiIgfCBzZWQgJ3MvLS8vZycpCisKKwl0c19pbml0X3N1YnRlc3QgIiR0ZXN0bmFtZSIKKwl0c19sb2cgIiQxIgorCXNoaWZ0CisJaWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkJJFRTX0hFTFBFUl9DQUwgIiRAIgorCWZpCisJJFRTX0hFTFBFUl9DQUwgIiRAIiA+PiAkVFNfT1VUUFVUCisKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0Cit9CisKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayIgLTFtICRNWVRJTUUKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayIgLTFzICRNWVRJTUUKK2NhbGxfY2FsICJKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayIgLTFtaiAkTVlUSU1FCitjYWxsX2NhbCAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsiIC0xc2ogJE1ZVElNRQorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIiAtMW13ICRNWVRJTUUKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIgLTFzdyAkTVlUSU1FCitjYWxsX2NhbCAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiIC0xbWp3ICRNWVRJTUUKK2NhbGxfY2FsICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIgLTFzancgJE1ZVElNRQorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIiAtM20gJE1ZVElNRQorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIiAtM3MgJE1ZVElNRQorY2FsbF9jYWwgIkp1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIiAtM21qICRNWVRJTUVUCitjYWxsX2NhbCAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsiIC0zc2ogJE1ZVElNRQorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIiAtM213ICRNWVRJTUUKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIgLTNzdyAkTVlUSU1FCitjYWxsX2NhbCAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiIC0zbWp3ICRNWVRJTUUKK2NhbGxfY2FsICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIgLTNzancgJE1ZVElNRQorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jYWwvc2VwMTc1MiBiL3Rlc3RzL3RzL2NhbC9zZXAxNzUyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMxMjgyNjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwvc2VwMTc1MgpAQCAtMCwwICsxLDg2IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IlNlcHRlbWJlciAxNzUyIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NBTCIKKworZXhwb3J0IFRFUk09bGludXgKKworVVNFVEVSTT0kKCB0c19oYXNfb3B0aW9uICJ1c2V0ZXJtIiAiJCoiICkKK01ZTU9OVEg9IjA5IDE3NTIiCitNWVlFQVI9IjE3NTIiCisKK0NBTF9URVNUX1RJTUU9MTUxNjU2MjczOSAgIyAyMXN0IEphbnVhcnkgMjAxOAorZXhwb3J0IENBTF9URVNUX1RJTUUKKworZnVuY3Rpb24gY2FsbF9jYWxfc2ltcGxlIHsKKwl0c19sb2cgIiQxIgorCXNoaWZ0CisJaWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkJJFRTX0hFTFBFUl9DQUwgIiRAIgorCWZpCisJJFRTX0hFTFBFUl9DQUwgIiRAIiA+PiAkVFNfT1VUUFVUCit9CisKK2Z1bmN0aW9uIGNhbGxfY2FsIHsKKwlsb2NhbCB0ZXN0bmFtZT0kKGVjaG8gIiQyIiB8IHNlZCAncy8tLy9nJykKKworCWlmIFsgIiQzIiA9PSAiJE1ZWUVBUiIgXTsgdGhlbgorCQl0ZXN0bmFtZT0iJHt0ZXN0bmFtZX0teWVhciIKKwllbHNlCisJCXRlc3RuYW1lPSIke3Rlc3RuYW1lfS1tb250aCIKKwlmaQorCisJdHNfaW5pdF9zdWJ0ZXN0ICIkdGVzdG5hbWUiCisJY2FsbF9jYWxfc2ltcGxlICIkQCIKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0Cit9CisKKworY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycyIgLTFtdyAkTVlNT05USAorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycyIgLTFzdyAkTVlNT05USAorY2FsbF9jYWwgIkp1bGlhbiAtIE1vbmRheS1iYXNlZCBtb250aCB3aXRoIHdlZWsgbnVtYmVycyIgLTFtancgJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgbW9udGggd2l0aCB3ZWVrIG51bWJlcnMiIC0xc2p3ICRNWU1PTlRICitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyB3aXRoIHdlZWsgbnVtYmVycyIgLTNtdyAkTVlNT05USAorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMgd2l0aCB3ZWVrIG51bWJlcnMiIC0zc3cgJE1ZTU9OVEgKK2NhbGxfY2FsICJKdWxpYW4gLSBNb25kYXktYmFzZWQgdGhyZWUgbW9udGhzIHdpdGggd2VlayBudW1iZXJzIiAtM21qdyAkTVlNT05USAorY2FsbF9jYWwgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMgd2l0aCB3ZWVrIG51bWJlcnMiIC0zc2p3ICRNWU1PTlRICitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHllYXIgd2l0aCB3ZWVrIG51bWJlcnMiIC0xbXcgJE1ZWUVBUgorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzIiAtMXN3ICRNWVlFQVIKK2NhbGxfY2FsICJKdWxpYW4gLSBNb25kYXktYmFzZWQgeWVhciB3aXRoIHdlZWsgbnVtYmVycyIgLTFtancgJE1ZWUVBUgorY2FsbF9jYWwgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB5ZWFyIHdpdGggd2VlayBudW1iZXJzIiAtMXNqdyAkTVlZRUFSCisKK3RzX2luaXRfc3VidGVzdCAid2Vlay1pc28iCitjYWxsX2NhbF9zaW1wbGUgIkdyZWdvcmlhbiAtIGFkZHJlc3MgYnkgd2VlayBudW1iZXIiIC0td2Vlaz00MCAtLWlzbyAkTVlZRUFSCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgbW9udGgiIC0xbSAkTVlNT05USAorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCBtb250aCIgLTFzICRNWU1PTlRICitjYWxsX2NhbCAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIG1vbnRoIiAtMW1qICRNWU1PTlRICitjYWxsX2NhbCAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIG1vbnRoIiAtMXNqICRNWU1PTlRICitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyIgLTNtICRNWU1PTlRICitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gU3VuZGF5LWJhc2VkIHRocmVlIG1vbnRocyIgLTNzICRNWU1PTlRICitjYWxsX2NhbCAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHRocmVlIG1vbnRocyIgLTNtaiAkTVlNT05USAorY2FsbF9jYWwgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB0aHJlZSBtb250aHMiIC0zc2ogJE1ZTU9OVEgKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgeWVhciIgLTFtICRNWVlFQVIKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgeWVhciIgLTFzICRNWVlFQVIKK2NhbGxfY2FsICJKdWxpYW4gLSBNb25kYXktYmFzZWQgeWVhciIgLTFtaiAkTVlZRUFSCitjYWxsX2NhbCAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHllYXIiIC0xc2ogJE1ZWUVBUgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY2FsL3dlZWthcmcgYi90ZXN0cy90cy9jYWwvd2Vla2FyZwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMjY5MDZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY2FsL3dlZWthcmcKQEAgLTAsMCArMSw5OCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ3ZWVrIG51bWJlciBnaXZlbiBhcyBhcmd1bWVudCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DQUwiCisKK2hhc19uY3Vyc2VzPSQoIHRzX2hhc19uY3Vyc2VzX3N1cHBvcnQgKQoraWYgWyAiJGhhc19uY3Vyc2VzIiAhPSAieWVzIiBdOyB0aGVuCisJdHNfc2tpcCAid2l0aG91dC1uY3Vyc2VzIgorZmkKKworZXhwb3J0IFRFUk09bGludXgKKworVVNFVEVSTT0kKCB0c19oYXNfb3B0aW9uICJ1c2V0ZXJtIiAiJCoiICkKKworZnVuY3Rpb24gY2FsbF9jYWxfc2ltcGxlIHsKKwl0c19sb2cgIiQxIgorCXNoaWZ0CisJaWYgWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF07IHRoZW4KKwkJJFRTX0NNRF9DQUwgIiRAIgorCWZpCisJJFRTX0NNRF9DQUwgIiRAIiA+PiAkVFNfT1VUUFVUCit9CisKK2Z1bmN0aW9uIGNhbGxfY2FsIHsKKwlsb2NhbCB0ZXN0bmFtZT0kKGVjaG8gIiR7Mn0iIHwgc2VkICdzLy0vL2cnKQorCXRlc3RuYW1lPSIke3Rlc3RuYW1lfS0kKGVjaG8gIiR7M30iIHwgc2VkICdzLz0vL2c7cy8tLy9nJykiCisKKwl0c19pbml0X3N1YnRlc3QgIiR0ZXN0bmFtZSIKKwljYWxsX2NhbF9zaW1wbGUgIiRAIgorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK30KKworZnVuY3Rpb24gY2FsbF9jYWxfY29sb3IgeworCWxvY2FsIHRlc3RuYW1lPSQoZWNobyAiJHsyfSIgfCBzZWQgJ3MvLS8vZycpCisJdGVzdG5hbWU9IiR7dGVzdG5hbWV9LSQoZWNobyAiJHszfSIgfCBzZWQgJ3MvPS8vZztzLy0vL2cnKS1jb2xvciIKKworCXRzX2luaXRfc3VidGVzdCAiJHRlc3RuYW1lIgorCWNhbGxfY2FsX3NpbXBsZSAiJEAiIC0tY29sb3I9YWx3YXlzCisJdHNfZmluYWxpemVfc3VidGVzdAorfQorCitNWVRJTUU9IjcgMTAgMjAxMyIKK1BXRUVLPSJ3ZWVrIDQwIgorV0VFSz0iLS13ZWVrPTQwIgorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCwgJFBXRUVLLCAzIG1vbnRoIiAtM20gJFdFRUsgJE1ZVElNRQorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIFN1bmRheS1iYXNlZCwgJFBXRUVLLCAzIG1vbnRoIiAtM3MgJFdFRUsgJE1ZVElNRQorY2FsbF9jYWwgIkp1bGlhbiAgICAtIE1vbmRheS1iYXNlZCwgJFBXRUVLLCAzIG1vbnRoIiAtM21qICRXRUVLICRNWVRJTUUKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBTdW5kYXktYmFzZWQsICRQV0VFSywgMyBtb250aCIgLTNzaiAkV0VFSyAkTVlUSU1FCitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDEgbW9udGgiIC1tICRXRUVLICRNWVRJTUUKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQsICRQV0VFSywgMSBtb250aCIgLXMgJFdFRUsgJE1ZVElNRQorY2FsbF9jYWwgIkp1bGlhbiAgICAtIE1vbmRheS1iYXNlZCwgJFBXRUVLLCAxIG1vbnRoIiAtbWogJFdFRUsgJE1ZVElNRQorY2FsbF9jYWwgIkp1bGlhbiAgICAtIFN1bmRheS1iYXNlZCwgJFBXRUVLLCAxIG1vbnRoIiAtc2ogJFdFRUsgJE1ZVElNRQorCitjYWxsX2NhbF9jb2xvciAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDMgbW9udGgiIC0zbSAkV0VFSyAkTVlUSU1FIAorY2FsbF9jYWxfY29sb3IgIkp1bGlhbiAgICAtIE1vbmRheS1iYXNlZCwgJFBXRUVLLCAzIG1vbnRoIiAtM21qICRXRUVLICRNWVRJTUUKKworIyB0cmlja3kgeWVhciwgc3RhcnRzIHdpdGggYSBiaXQgb2YgNTMgeWV0IGVuZHMgZHVyaW5nIDUyCitNWVRJTUU9IjIwMTAiCitQV0VFSz0id2VlayA1MyIKK1dFRUs9Ii0td2Vlaz01MyIKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQsICRQV0VFSywgMSBtb250aCIgLTFtICRXRUVLICRNWVRJTUUKK2NhbGxfY2FsICJKdWxpYW4gICAgLSBNb25kYXktYmFzZWQsICRQV0VFSywgMSBtb250aCIgLTFtaiAkV0VFSyAkTVlUSU1FCitjYWxsX2NhbF9jb2xvciAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDMgbW9udGgiIC0zbSAkV0VFSyAkTVlUSU1FCitjYWxsX2NhbF9jb2xvciAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDEgbW9udGgiIC0xbSAkV0VFSyAkTVlUSU1FCitjYWxsX2NhbF9jb2xvciAiSnVsaWFuICAgIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDEgbW9udGgiIC0xbWogJFdFRUsgJE1ZVElNRQorCitNWVRJTUU9IjMxIDEyIDIwMDAiCitQV0VFSz0id2VlayA1NCIKK1dFRUs9Ii0td2Vlaz01NCIKK2NhbGxfY2FsX2NvbG9yICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQsICRQV0VFSywgMyBtb250aCIgLTNzICRXRUVLICRNWVRJTUUKKworTVlUSU1FPSIzMSAxMiAyMDAwIgorUFdFRUs9IndlZWsgNTIiCitXRUVLPSItLXdlZWs9NTIiCitjYWxsX2NhbF9jb2xvciAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkLCAkUFdFRUssIDMgbW9udGgiIC0zbSAkV0VFSyAkTVlUSU1FCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NhbC93ZWVrbnVtIGIvdGVzdHMvdHMvY2FsL3dlZWtudW0KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjJhZWM5NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NhbC93ZWVrbnVtCkBAIC0wLDAgKzEsNTcgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0id2VlayBudW1iZXIgY29ybmVyIGNhc2VzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NBTCIKKworZXhwb3J0IFRFUk09bGludXgKKworVVNFVEVSTT0kKCB0c19oYXNfb3B0aW9uICJ1c2V0ZXJtIiAiJCoiICkKKworWyAiJFVTRVRFUk0iID09ICJ5ZXMiIF0gJiYgVFNfVkVSQk9TRT0ieWVzIgorCitmdW5jdGlvbiBjYWxsX2NhbCB7CisJbG9jYWwgdGVzdG5hbWU9JChlY2hvICIkMiIgfCBzZWQgJ3MvLS8vZycpCisKKwl0c19pbml0X3N1YnRlc3QgIiR0ZXN0bmFtZSIKKwl0c19sb2cgIiQxIgorCXNoaWZ0CisJZm9yIHggaW4gMjAwMSAyMDAyIDIwMDMgMjAwOSAyMDEwIDIwMTEgMjAxMiA7IGRvCisJCWlmIFsgIiRVU0VURVJNIiA9PSAieWVzIiBdOyB0aGVuCisJCQkkVFNfQ01EX0NBTCAiJEAiIDEgJHgKKwkJZmkKKwkJJFRTX0NNRF9DQUwgIiRAIiAxICR4ID4+ICRUU19PVVRQVVQKKwlkb25lCisJdHNfZmluYWxpemVfc3VidGVzdAorfQorCitjYWxsX2NhbCAiR3JlZ29yaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiIC15bXcKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIgLXlzdworY2FsbF9jYWwgIkp1bGlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIiAteW1qdworY2FsbF9jYWwgIkp1bGlhbiAtIFN1bmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIiAteXNqdworY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXIiIC0zbXcKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGgiIC0zc3cKK2NhbGxfY2FsICJKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyAtIDMgbW9udGgiIC0zbWp3CitjYWxsX2NhbCAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMgLSAzIG1vbnRoIiAtM3NqdworCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jYWwveWVhciBiL3Rlc3RzL3RzL2NhbC95ZWFyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjZhOGM0MmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jYWwveWVhcgpAQCAtMCwwICsxLDU0IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNy0yMDE4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ieWVhciIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DQUwiCisKK2V4cG9ydCBURVJNPWxpbnV4CisKK1VTRVRFUk09JCggdHNfaGFzX29wdGlvbiAidXNldGVybSIgIiQqIiApCitNWVRJTUU9IjI5IDExIDIwMDYiCisKK2Z1bmN0aW9uIGNhbGxfY2FsIHsKKwlsb2NhbCB0ZXN0bmFtZT0kKGVjaG8gIiQyIiB8IHNlZCAncy8tLy9nJykKKworCXRzX2luaXRfc3VidGVzdCAiJHRlc3RuYW1lIgorCXRzX2xvZyAiJDEiCisJc2hpZnQKKwlpZiBbICIkVVNFVEVSTSIgPT0gInllcyIgXTsgdGhlbgorCQkkVFNfQ01EX0NBTCAiJEAiCisJZmkKKwkkVFNfQ01EX0NBTCAiJEAiID4+ICRUU19PVVRQVVQKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0Cit9CisKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBNb25kYXktYmFzZWQgd2VlayIgLXltICRNWVRJTUUKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayIgLXlzICRNWVRJTUUKK2NhbGxfY2FsICJKdWxpYW4gLSBNb25kYXktYmFzZWQgd2VlayIgLXltaiAkTVlUSU1FCitjYWxsX2NhbCAiSnVsaWFuIC0gU3VuZGF5LWJhc2VkIHdlZWsiIC15c2ogJE1ZVElNRQorY2FsbF9jYWwgIkdyZWdvcmlhbiAtIE1vbmRheS1iYXNlZCB3ZWVrIHdpdGggd2VlayBudW1iZXJzIiAteW13ICRNWVRJTUUKK2NhbGxfY2FsICJHcmVnb3JpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIgLXlzdyAkTVlUSU1FCitjYWxsX2NhbCAiSnVsaWFuIC0gTW9uZGF5LWJhc2VkIHdlZWsgd2l0aCB3ZWVrIG51bWJlcnMiIC15bWp3ICRNWVRJTUUKK2NhbGxfY2FsICJKdWxpYW4gLSBTdW5kYXktYmFzZWQgd2VlayB3aXRoIHdlZWsgbnVtYmVycyIgLXlzancgJE1ZVElNRQorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2wvbXVsdGlieXRlIGIvdGVzdHMvdHMvY29sL211bHRpYnl0ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWMwMjkyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sL211bHRpYnl0ZQpAQCAtMCwwICsxLDI5IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im11bHRpYnl0ZSBpbnB1dCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DT0wiCisKK2NhdCAkVFNfU0VMRi9tdWx0aWJ5dGUuZGF0YSB8ICRUU19DTURfQ09MID4gL2Rldi9udWxsICAyPiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbC9tdWx0aWJ5dGUuZGF0YSBiL3Rlc3RzL3RzL2NvbC9tdWx0aWJ5dGUuZGF0YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMjAzYWZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sL211bHRpYnl0ZS5kYXRhCkBAIC0wLDAgKzEgQEAKK0RhdGVpbmFtZSBkZXIgVmVyc2FuZGj8bGxlCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvY3Jhc2gxIGIvdGVzdHMvdHMvY29sY3J0L2NyYXNoMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NjgxMTgxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sY3J0L2NyYXNoMQpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvY3Jhc2gyIGIvdGVzdHMvdHMvY29sY3J0L2NyYXNoMgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wODQzY2I2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sY3J0L2NyYXNoMgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvZnVuY3Rpb25hbCBiL3Rlc3RzL3RzL2NvbGNydC9mdW5jdGlvbmFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVjOTdkMjQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2xjcnQvZnVuY3Rpb25hbApAQCAtMCwwICsxLDUwIEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJmdW5jdGlvbmFsIgorCitleHBvcnQgTENfQ1RZUEU9J0MnCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ09MQ1JUIgorCit0c19pbml0X3N1YnRlc3QgJ25vLW9wdGlvbnMnCiskVFNfQ01EX0NPTENSVCA8ICRUU19TRUxGL25hc3R5LWlucHV0ID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9DT0xDUlQgPCAkVFNfU0VMRi91bmRlcmxpbmVzID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAicmV0dXJuIHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgJ25vLXVuZGVybGluaW5nJworJFRTX0NNRF9DT0xDUlQgLS1uby11bmRlcmxpbmluZyA8ICRUU19TRUxGL25hc3R5LWlucHV0ID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9DT0xDUlQgLS1uby11bmRlcmxpbmluZyA8ICRUU19TRUxGL3VuZGVybGluZXMgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJyZXR1cm4gdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAnaGFsZi1saW5lcycKKyRUU19DTURfQ09MQ1JUIC0taGFsZi1saW5lcyA8ICRUU19TRUxGL25hc3R5LWlucHV0ID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9DT0xDUlQgLS1oYWxmLWxpbmVzIDwgJFRTX1NFTEYvdW5kZXJsaW5lcyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldHVybiB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICdzaG9ydC1vcHRpb25zJworJFRTX0NNRF9DT0xDUlQgLSAtMiAkVFNfU0VMRi9uYXN0eS1pbnB1dCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfQ09MQ1JUIC0gLTIgJFRTX1NFTEYvdW5kZXJsaW5lcyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldHVybiB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbGNydC9oYW5nMSBiL3Rlc3RzL3RzL2NvbGNydC9oYW5nMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMjYyNTllCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sY3J0L2hhbmcxCkBAIC0wLDAgKzEgQEAKKzc4OTo7PD0+PT4/SUFCVVZOWFlaW19gYWJjZGVmZ2cfICEiIyQlJicoKSorLC0uLzAxMjM0KSo6LC0uLzAxMjM0NTY3ODk6O1s9Pj8xMjM0KSo6LC0uLzAxMjM0NTY3ODk6O1s9Pj80NDU2Nzg5Ojs8PT4/SUFCVVZOYGFiY2RlZmcfICEiICQlJicoKSorLC0uLzAxMjN6e3z8fmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvbmFzdHktaW5wdXQgYi90ZXN0cy90cy9jb2xjcnQvbmFzdHktaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNWU1NDFiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbGNydC9uYXN0eS1pbnB1dApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvcmVncmVzc2lvbnMgYi90ZXN0cy90cy9jb2xjcnQvcmVncmVzc2lvbnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzk0YzRlOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbGNydC9yZWdyZXNzaW9ucwpAQCAtMCwwICsxLDM2IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJyZWdyZXNzaW9ucyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DT0xDUlQiCit0c19jaGVja19wcm9nICJ0aW1lb3V0IgorCitjaGVja19pbnB1dF9maWxlKCkgeworCXRzX2luaXRfc3VidGVzdCAkezEjIyovfQorCXRpbWVvdXQgMiAkVFNfQ01EX0NPTENSVCA8ICQxID4gJFRTX09VVFBVVCAyPiYxCisJZWNobyAicmV0dXJuIHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK30KKworY2hlY2tfaW5wdXRfZmlsZSAiJFRTX1NFTEYvY3Jhc2gxIgorY2hlY2tfaW5wdXRfZmlsZSAiJFRTX1NFTEYvY3Jhc2gyIgorY2hlY2tfaW5wdXRfZmlsZSAiJFRTX1NFTEYvaGFuZzEiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jb2xjcnQvdW5kZXJsaW5lcyBiL3Rlc3RzL3RzL2NvbGNydC91bmRlcmxpbmVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk0MGM3YTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2xjcnQvdW5kZXJsaW5lcwpAQCAtMCwwICsxLDIzIEBACisgICAyMDAJX19fCisgICAyMDEJYWJjCisgICAyMDIJX2FiYworICAgMjAzCWFfYmMKKyAgIDIwNAlhYl9jCisgICAyMDUJYWJjXworICAgMjA2CV9fYWJjCisgICAyMDcJYV9fYmMKKyAgIDIwOAlhYl9fYworICAgMjA5CWFiY19fCisgICAyMTAJX2FfYmMKKyAgIDIxMQlfYWJfYworICAgMjEyCWFfYl9jCisgICAyMTMJYV9fYmMKKyAgIDIxNAlhX2JjXworICAgMjE1CWFiY19fCisgICAyMTYJX2FiY18KKyAgIDIxNwlfYV9iX2MKKyAgIDIxOAlfYV9fYmMKKyAgIDIxOQlhX19iY18KKyAgIDIyMAlfYWJjX18KKyAgIDIyMQlfX19hYmMKKyAgIDIyMglhYmNfX18KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbHJtL3JtMi0yIGIvdGVzdHMvdHMvY29scm0vcm0yLTIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzEzZTRlYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbHJtL3JtMi0yCkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDExIFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJiYXNpYyBjaGVjayIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DT0xSTSIKKworcHJpbnRmICJhICAgICAgIGJcbmNcdGRcbmVmXGJcdGdcbiIgfCAkVFNfQ01EX0NPTFJNIDIgMiA+ICRUU19PVVRQVVQgMj4mMQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29sdW1uL2NvbHVtbmF0ZSBiL3Rlc3RzL3RzL2NvbHVtbi9jb2x1bW5hdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjRlMjlkYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbHVtbi9jb2x1bW5hdGUKQEAgLTAsMCArMSw1MyBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNvbHVtbmF0ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DT0xVTU4iCit0c19jZCAiJFRTX09VVERJUiIKKworCit0c19pbml0X3N1YnRlc3QgImZpbGwtY29scy04MCIKKyRUU19DTURfQ09MVU1OIC1jIDgwICRUU19TRUxGL2ZpbGVzL29uZWNvbHVtbiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaWxsLWNvbHMtNTAiCiskVFNfQ01EX0NPTFVNTiAtYyA1MCAkVFNfU0VMRi9maWxlcy9vbmVjb2x1bW4gPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmlsbC1jb2xzLTI1MCIKKyRUU19DTURfQ09MVU1OIC1jIDI1MCAkVFNfU0VMRi9maWxlcy9vbmVjb2x1bW4gPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmlsbC1yb3dzLTgwIgorJFRTX0NNRF9DT0xVTU4gLS1maWxscm93cyAtYyA4MCAkVFNfU0VMRi9maWxlcy9vbmVjb2x1bW4gPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmlsbC1yb3dzLTUwIgorJFRTX0NNRF9DT0xVTU4gLS1maWxscm93cyAtYyA1MCAkVFNfU0VMRi9maWxlcy9vbmVjb2x1bW4gPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmlsbC1yb3dzLTI1MCIKKyRUU19DTURfQ09MVU1OIC0tZmlsbHJvd3MgLWMgMjUwICRUU19TRUxGL2ZpbGVzL29uZWNvbHVtbiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29sdW1uL2ZpbGVzL2ZpdmVjb2xzIGIvdGVzdHMvdHMvY29sdW1uL2ZpbGVzL2ZpdmVjb2xzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmQzZWE0YTgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2x1bW4vZmlsZXMvZml2ZWNvbHMKQEAgLTAsMCArMSwxMCBAQAorMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUKKzAgMSAyIDMgNCA1CiswIDEgMiAzIDQgNQorMCAxIDIgMyA0IDUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbHVtbi9maWxlcy9tb3VudGluZm8gYi90ZXN0cy90cy9jb2x1bW4vZmlsZXMvbW91bnRpbmZvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI3NTFlMTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2x1bW4vZmlsZXMvbW91bnRpbmZvCkBAIC0wLDAgKzEsNDEgQEAKKzE3IDYyIDA6MTcgLyAvc3lzIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjYgLSBzeXNmcyBzeXNmcyBydworMTggNjIgMDo0IC8gL3Byb2Mgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NSAtIHByb2MgcHJvYyBydworMTkgNjIgMDo2IC8gL2RldiBydyxub3N1aWQgc2hhcmVkOjIgLSBkZXZ0bXBmcyBkZXZ0bXBmcyBydyxzaXplPTgxNzU3NDBrLG5yX2lub2Rlcz0yMDQzOTM1LG1vZGU9NzU1CisyMCAxNyAwOjE4IC8gL3N5cy9rZXJuZWwvc2VjdXJpdHkgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NyAtIHNlY3VyaXR5ZnMgc2VjdXJpdHlmcyBydworMjEgMTkgMDoxOSAvIC9kZXYvc2htIHJ3LG5vc3VpZCxub2RldiBzaGFyZWQ6MyAtIHRtcGZzIHRtcGZzIHJ3CisyMiAxOSAwOjIwIC8gL2Rldi9wdHMgcncsbm9zdWlkLG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NCAtIGRldnB0cyBkZXZwdHMgcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCisyMyA2MiAwOjIxIC8gL3J1biBydyxub3N1aWQsbm9kZXYgc2hhcmVkOjIzIC0gdG1wZnMgdG1wZnMgcncsbW9kZT03NTUKKzI0IDE3IDA6MjIgLyAvc3lzL2ZzL2Nncm91cCBybyxub3N1aWQsbm9kZXYsbm9leGVjIHNoYXJlZDo4IC0gdG1wZnMgdG1wZnMgcm8sbW9kZT03NTUKKzI1IDI0IDA6MjMgLyAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjkgLSBjZ3JvdXAgY2dyb3VwIHJ3LHhhdHRyLHJlbGVhc2VfYWdlbnQ9L3Vzci9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCisyNiAxNyAwOjI0IC8gL3N5cy9mcy9wc3RvcmUgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6MjAgLSBwc3RvcmUgcHN0b3JlIHJ3CisyNyAxNyAwOjI1IC8gL3N5cy9maXJtd2FyZS9lZmkvZWZpdmFycyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDoyMSAtIGVmaXZhcmZzIGVmaXZhcmZzIHJ3CisyOCAyNCAwOjI2IC8gL3N5cy9mcy9jZ3JvdXAvYmxraW8gcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6MTAgLSBjZ3JvdXAgY2dyb3VwIHJ3LGJsa2lvCisyOSAyNCAwOjI3IC8gL3N5cy9mcy9jZ3JvdXAvY3B1LGNwdWFjY3Qgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6MTEgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdSxjcHVhY2N0CiszMCAyNCAwOjI4IC8gL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDoxMiAtIGNncm91cCBjZ3JvdXAgcncsZGV2aWNlcworMzEgMjQgMDoyOSAvIC9zeXMvZnMvY2dyb3VwL2h1Z2V0bGIgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6MTMgLSBjZ3JvdXAgY2dyb3VwIHJ3LGh1Z2V0bGIKKzMyIDI0IDA6MzAgLyAvc3lzL2ZzL2Nncm91cC9waWRzIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjE0IC0gY2dyb3VwIGNncm91cCBydyxwaWRzCiszMyAyNCAwOjMxIC8gL3N5cy9mcy9jZ3JvdXAvbWVtb3J5IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjE1IC0gY2dyb3VwIGNncm91cCBydyxtZW1vcnkKKzM0IDI0IDA6MzIgLyAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6MTYgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdXNldAorMzUgMjQgMDozMyAvIC9zeXMvZnMvY2dyb3VwL3BlcmZfZXZlbnQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6MTcgLSBjZ3JvdXAgY2dyb3VwIHJ3LHBlcmZfZXZlbnQKKzM2IDI0IDA6MzQgLyAvc3lzL2ZzL2Nncm91cC9uZXRfY2xzLG5ldF9wcmlvIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjE4IC0gY2dyb3VwIGNncm91cCBydyxuZXRfY2xzLG5ldF9wcmlvCiszNyAyNCAwOjM1IC8gL3N5cy9mcy9jZ3JvdXAvZnJlZXplciBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDoxOSAtIGNncm91cCBjZ3JvdXAgcncsZnJlZXplcgorNjAgMTcgMDozNiAvIC9zeXMva2VybmVsL2NvbmZpZyBydyxyZWxhdGltZSBzaGFyZWQ6MjIgLSBjb25maWdmcyBjb25maWdmcyBydworNjIgMCA4OjQgLyAvIHJ3LHJlbGF0aW1lIHNoYXJlZDoxIC0gZXh0NCAvZGV2L3NkYTQgcncsZGF0YT1vcmRlcmVkCiszOCAxOCAwOjM3IC8gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIHNoYXJlZDoyNCAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MzcscGdycD0xLHRpbWVvdXQ9MCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0LHBpcGVfaW5vPTEyNzgxCiszOSAxNyAwOjcgLyAvc3lzL2tlcm5lbC9kZWJ1ZyBydyxyZWxhdGltZSBzaGFyZWQ6MjUgLSBkZWJ1Z2ZzIGRlYnVnZnMgcncKKzQwIDE5IDA6MzggLyAvZGV2L2h1Z2VwYWdlcyBydyxyZWxhdGltZSBzaGFyZWQ6MjYgLSBodWdldGxiZnMgaHVnZXRsYmZzIHJ3Cis0MSAxOSAwOjE2IC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgc2hhcmVkOjI3IC0gbXF1ZXVlIG1xdWV1ZSBydworNDIgMzggMDozOSAvIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBydyxyZWxhdGltZSBzaGFyZWQ6MjggLSBiaW5mbXRfbWlzYyBiaW5mbXRfbWlzYyBydworNzUgMTggMDo0MCAvIC9wcm9jL2ZzL25mc2QgcncscmVsYXRpbWUgc2hhcmVkOjI5IC0gbmZzZCBuZnNkIHJ3Cis3NyA2MiAwOjQxIC8gL3RtcCBydyxub3N1aWQsbm9kZXYgc2hhcmVkOjMwIC0gdG1wZnMgdG1wZnMgcncKKzgwIDYyIDg6MyAvIC9ob21lIHJ3LHJlbGF0aW1lIHNoYXJlZDozMSAtIGV4dDQgL2Rldi9zZGEzIHJ3LGRhdGE9b3JkZXJlZAorODEgNjIgODoyIC8gL2Jvb3QgcncscmVsYXRpbWUgc2hhcmVkOjMyIC0gZXh0NCAvZGV2L3NkYTIgcncsZGF0YT1vcmRlcmVkCis4NCA4MCA4OjUgLyAvaG9tZS9nYW1lcyBydyxyZWxhdGltZSBzaGFyZWQ6MzMgLSBleHQ0IC9kZXYvc2RhNSBydyxkYXRhPW9yZGVyZWQKKzg2IDgxIDg6MSAvIC9ib290L2VmaSBydyxyZWxhdGltZSBzaGFyZWQ6MzQgLSB2ZmF0IC9kZXYvc2RhMSBydyxmbWFzaz0wMDc3LGRtYXNrPTAwNzcsY29kZXBhZ2U9NDM3LGlvY2hhcnNldD1hc2NpaSxzaG9ydG5hbWU9d2lubnQsZXJyb3JzPXJlbW91bnQtcm8KKzg4IDgwIDg6MTcgLyAvaG9tZS9hcmNoaXZlIHJ3LHJlbGF0aW1lIHNoYXJlZDozNSAtIGV4dDQgL2Rldi9zZGIxIHJ3LGRhdGE9b3JkZXJlZAorOTAgNjIgMDo0MyAvIC92YXIvbGliL25mcy9ycGNfcGlwZWZzIHJ3LHJlbGF0aW1lIHNoYXJlZDozNiAtIHJwY19waXBlZnMgc3VucnBjIHJ3CisyMjMgMTcgMDo0NyAvIC9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyBydyxyZWxhdGltZSBzaGFyZWQ6MTYzIC0gZnVzZWN0bCBmdXNlY3RsIHJ3CisyMTcgMjMgMDo0NiAvIC9ydW4vdXNlci8xMDAwIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSBzaGFyZWQ6MTU4IC0gdG1wZnMgdG1wZnMgcncsc2l6ZT0xNjM3MzI0ayxtb2RlPTcwMCx1aWQ9MTAwMCxnaWQ9MTAwMAorMjAzIDIxNyAwOjQ1IC8gL3J1bi91c2VyLzEwMDAvZ3ZmcyBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUgc2hhcmVkOjE1MyAtIGZ1c2UuZ3Zmc2QtZnVzZSBndmZzZC1mdXNlIHJ3LHVzZXJfaWQ9MTAwMCxncm91cF9pZD0xMDAwCisxNzEgMjMgMDo0NCAvIC9ydW4vdXNlci8wIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSBzaGFyZWQ6MTE0IC0gdG1wZnMgdG1wZnMgcncsc2l6ZT0xNjM3MzI0ayxtb2RlPTcwMAorMTc3IDYyIDA6NDggLyAvbW50L3NvdW5kcyBydyxyZWxhdGltZSBzaGFyZWQ6MTE5IC0gY2lmcyAvL3NyLm5ldC5ob21lL3NvdW5kcyBydyx2ZXJzPTEuMCxjYWNoZT1zdHJpY3QsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHVuaXgscG9zaXhwYXRocyxzZXJ2ZXJpbm8sbWFwcG9zaXgsYWNsLHJzaXplPTEwNDg1NzYsd3NpemU9NjU1MzYsZWNob19pbnRlcnZhbD02MCxhY3RpbWVvPTEKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbHVtbi9maWxlcy9vbmVjb2x1bW4gYi90ZXN0cy90cy9jb2x1bW4vZmlsZXMvb25lY29sdW1uCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY5ZWM4MmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2x1bW4vZmlsZXMvb25lY29sdW1uCkBAIC0wLDAgKzEsOSBAQAorQUFBQUFBQUFBQUFBQUFBQUFBQUEKK0JCQkJCQkJCQkJCQkJCQkJCQkJCQgorQ0NDQ0NDQ0NDQ0NDQ0NDQworREREREREREREREREREREREQKK0VFRUVFRUVFRUVFRUUKK0ZGRkZGRkZGRkZGRkZGRkZGRkYKK1hYWFhYWFgKK1lZWVlZWVlZWVlZCitaWlpaWlpaWlpaWgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29sdW1uL2ZpbGVzL3RhYmxlIGIvdGVzdHMvdHMvY29sdW1uL2ZpbGVzL3RhYmxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmUwNTE2MzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2x1bW4vZmlsZXMvdGFibGUKQEAgLTAsMCArMSw2IEBACitBQUEgQkJCQiBDIEREREQKK0EgQkJCIENDQ0MgRERECitBQSBCQiBDQ0MgREQKK0FBQUEgQiBDQyBECitBQSBCQiBDQyBERAorQUFBQUEgQkJCIENDQyBEREREIApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29sdW1uL2ZpbGVzL3RhYmxlLXNlcCBiL3Rlc3RzL3RzL2NvbHVtbi9maWxlcy90YWJsZS1zZXAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDRjMmJmMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbHVtbi9maWxlcy90YWJsZS1zZXAKQEAgLTAsMCArMSw2IEBACitBQUEsQkJCQixDLEREREQKKyxCQkIsQ0NDQyxEREQKK0FBLEJCLCxERAorQUFBQSxCLENDLEQKK0FBLCxDQyxERAorQUFBQUEsQkJCLENDQyxEREREIApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29sdW1uL2ZpbGVzL3RhYmxlLXNlcC1zcGFjZSBiL3Rlc3RzL3RzL2NvbHVtbi9maWxlcy90YWJsZS1zZXAtc3BhY2UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjVkOWI1YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NvbHVtbi9maWxlcy90YWJsZS1zZXAtc3BhY2UKQEAgLTAsMCArMSw2IEBACitBQUEJQkJCQglDCUREREQKKwlCQkIJQ0NDQwlEREQKK0FBCUJCCQlERAorQUFBQQlCCUNDCUQKK0FBCQlDQwlERAorQUFBQUEJQkJCCUNDQwlEREREIApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29sdW1uL2ludmFsaWQtbXVsdGlieXRlIGIvdGVzdHMvdHMvY29sdW1uL2ludmFsaWQtbXVsdGlieXRlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE5ZTM3MTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jb2x1bW4vaW52YWxpZC1tdWx0aWJ5dGUKQEAgLTAsMCArMSwzMCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTQgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImludmFsaWQgbXVsdGlieXRlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0NPTFVNTiIKKwordHNfY2QgIiRUU19PVVRESVIiCisKK3ByaW50ZiAio1xuIiB8IExDX0FMTD1DICRUU19DTURfQ09MVU1OID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY29sdW1uL211bHRpLWZpbGUgYi90ZXN0cy90cy9jb2x1bW4vbXVsdGktZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zOGNmMmI1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sdW1uL211bHRpLWZpbGUKQEAgLTAsMCArMSwzNCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMgICAgICAgICAgICAgICAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibXVsdGlwbGUgZmlsZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ09MVU1OIgorCit0c19jZCAiJFRTX09VVERJUiIKKworJFRTX0NNRF9DT0xVTU4gLXggLWMgNTAgJFRTX1NFTEYvZmlsZXMvZml2ZWNvbHMgXAorCQkJJFRTX1NFTEYvZmlsZXMvZml2ZWNvbHMgXAorCQkJJFRTX1NFTEYvZmlsZXMvZml2ZWNvbHMgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NvbHVtbi90YWJsZSBiL3Rlc3RzL3RzL2NvbHVtbi90YWJsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNmRiZDVkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY29sdW1uL3RhYmxlCkBAIC0wLDAgKzEsMTExIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxMSBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idGFibGUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfQ09MVU1OIgordHNfY2QgIiRUU19PVVRESVIiCisKK3RzX2luaXRfc3VidGVzdCAiZGVmYXVsdCIKKyRUU19DTURfQ09MVU1OIC0tdGFibGUgJFRTX1NFTEYvZmlsZXMvdGFibGUgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAib3V0cHV0LXNlcGFyYXRvciIKKyRUU19DTURfQ09MVU1OIC0tb3V0cHV0LXNlcGFyYXRvciAnfCcgLS10YWJsZSAkVFNfU0VMRi9maWxlcy90YWJsZSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJpbnB1dC1zZXBhcmF0b3IiCiskVFNfQ01EX0NPTFVNTiAtLXNlcGFyYXRvciAnLCcgLS10YWJsZSAkVFNfU0VMRi9maWxlcy90YWJsZS1zZXAgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiaW5wdXQtc2VwYXJhdG9yLXNwYWNlIgorJFRTX0NNRF9DT0xVTU4gLS1zZXBhcmF0b3IgIiQoZWNobyAtZSAnXHQnKSIgLS10YWJsZSAkVFNfU0VMRi9maWxlcy90YWJsZS1zZXAtc3BhY2UgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibG9uZyIKKyRUU19DTURfQ09MVU1OIC0tdGFibGUgJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImhpZGUiCiskVFNfQ01EX0NPTFVNTiAgLS10YWJsZSAkVFNfU0VMRi9maWxlcy9tb3VudGluZm8gXAorCQktLXRhYmxlLWhpZGUgMSwyLDMsNCw3LDggID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImhlYWRlcnMiCiskVFNfQ01EX0NPTFVNTiAgLS10YWJsZSAkVFNfU0VMRi9maWxlcy9tb3VudGluZm8gXAorCQktLXRhYmxlLWNvbHVtbnMgSUQsUEFSRU5ULE1BSk1JTixST09ULFRBUkdFVCxWRlMtT1BUUyxQUk9QLFNFUCxUWVBFLFNPVVJDRSxGUy1PUFRTIFwKKwkJLS10YWJsZS1oaWRlIFNFUCxJRCxQQVJFTlQsUk9PVCBcCisJCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInRydW5jYXRlIgorJFRTX0NNRF9DT0xVTU4gIC0tdGFibGUgJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIFwKKwkJLS10YWJsZS1jb2x1bW5zIElELFBBUkVOVCxNQUpNSU4sUk9PVCxUQVJHRVQsVkZTLU9QVFMsUFJPUCxTRVAsVFlQRSxTT1VSQ0UsRlMtT1BUUyBcCisJCS0tdGFibGUtaGlkZSBTRVAsSUQsUEFSRU5ULFJPT1QgXAorCQktLXRhYmxlLXRydW5jYXRlIFZGUy1PUFRTLEZTLU9QVFMgXAorCQktLW91dHB1dC13aWR0aCA4MCBcCisJCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInJpZ2h0IgorJFRTX0NNRF9DT0xVTU4gIC0tdGFibGUgJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIFwKKwkJLS10YWJsZS1jb2x1bW5zIElELFBBUkVOVCxNQUpNSU4sUk9PVCxUQVJHRVQsVkZTLU9QVFMsUFJPUCxTRVAsVFlQRSxTT1VSQ0UsRlMtT1BUUyBcCisJCS0tdGFibGUtaGlkZSBTRVAsSUQsUEFSRU5ULFJPT1QsVkZTLU9QVFMsRlMtT1BUUyxQUk9QIFwKKwkJLS10YWJsZS1yaWdodCBTT1VSQ0UsVFlQRSBcCisJCS0tb3V0cHV0LXdpZHRoIDgwIFwKKwkJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAid3JhcCIKKyRUU19DTURfQ09MVU1OICAtLXRhYmxlICRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyBcCisJCS0tdGFibGUtY29sdW1ucyBJRCxQQVJFTlQsTUFKTUlOLFJPT1QsVEFSR0VULFZGUy1PUFRTLFBST1AsU0VQLFRZUEUsU09VUkNFLEZTLU9QVFMgXAorCQktLXRhYmxlLWhpZGU9U0VQLElELFBBUkVOVCxST09ULFZGUy1PUFRTLFBST1AgXAorCQktLXRhYmxlLXdyYXAgRlMtT1BUUyBcCisJCS0tb3V0cHV0LXdpZHRoIDExMCBcCisJCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm9yZGVyIgorJFRTX0NNRF9DT0xVTU4gIC0tdGFibGUgJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIFwKKwkJLS10YWJsZS1jb2x1bW5zIElELFBBUkVOVCxNQUpNSU4sUk9PVCxUQVJHRVQsVkZTLU9QVFMsUFJPUCxTRVAsVFlQRSxTT1VSQ0UsRlMtT1BUUyBcCisJCS0tdGFibGUtaGlkZT1TRVAsSUQsUEFSRU5ULFJPT1QsUFJPUCxGUy1PUFRTLE1BSk1JTiBcCisJCS0tdGFibGUtb3JkZXIgVEFSR0VULFNPVVJDRSxUWVBFLFZGUy1PUFRTIFwKKwkJLS1vdXRwdXQtd2lkdGggMTEwIFwKKwkJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAidHJlZSIKKyRUU19DTURfQ09MVU1OICAtLXRhYmxlICRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyBcCisJCS0tdGFibGUtY29sdW1ucyBJRCxQQVJFTlQsTUFKTUlOLFJPT1QsVEFSR0VULFZGUy1PUFRTLFBST1AsU0VQLFRZUEUsU09VUkNFLEZTLU9QVFMgXAorCQktLXRhYmxlLWhpZGU9U0VQLElELFBBUkVOVCxST09ULFBST1AsRlMtT1BUUyxNQUpNSU4gXAorCQktLXRhYmxlLW9yZGVyIFRBUkdFVCxTT1VSQ0UsVFlQRSxWRlMtT1BUUyBcCisJCS0tdHJlZSBUQVJHRVQgXAorCQktLXRyZWUtaWQgSUQgXAorCQktLXRyZWUtcGFyZW50IFBBUkVOVCBcCisJCS0tb3V0cHV0LXdpZHRoIDExMCBcCisJCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImVtcHR5LWNvbHVtbiIKK3ByaW50ZiAnOmE6YlxuJyB8ICRUU19DTURfQ09MVU1OIC0tdGFibGUgLS1zZXBhcmF0b3IgJzonIC0tb3V0cHV0LXNlcGFyYXRvciAgJzonID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY3JhbWZzL2NyYW1mcy1iaWcuaW1nIGIvdGVzdHMvdHMvY3JhbWZzL2NyYW1mcy1iaWcuaW1nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJlYTUxNmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jcmFtZnMvY3JhbWZzLWJpZy5pbWcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY3JhbWZzL2NyYW1mcy1saXR0bGUuaW1nIGIvdGVzdHMvdHMvY3JhbWZzL2NyYW1mcy1saXR0bGUuaW1nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmExZGZhYjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jcmFtZnMvY3JhbWZzLWxpdHRsZS5pbWcKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY3JhbWZzL2RvdWJsZXMgYi90ZXN0cy90cy9jcmFtZnMvZG91YmxlcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZjZkMDliCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY3JhbWZzL2RvdWJsZXMKQEAgLTAsMCArMSw1NSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJta2ZzIGRvdWJsZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtDUkFNRlMiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKKworT1JJR1BXRD0kKHB3ZCkKK0lNQUdFX05BTUU9IiR7VFNfVEVTVE5BTUV9LmltZyIKK0lNQUdFX1BBVEg9IiRUU19PVVRESVIvJElNQUdFX05BTUUiCitJTUFHRV9TUkM9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tZGF0YSIKKwordHNfbG9nICJjcmVhdGUgbW91bnRwb2ludCBkaXIiCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCitta2RpciAtcCAkSU1BR0VfU1JDCitlY2hvIGhlbGxvID4gJElNQUdFX1NSQy9hCitlY2hvIGhlbGxvID4gJElNQUdFX1NSQy9iCisKK3RzX2xvZyAiY3JlYXRlIGNyYW1mcyBpbWFnZSIKKyRUU19DTURfTUtDUkFNRlMgJElNQUdFX1NSQyAkSU1BR0VfUEFUSCA+PiAkVFNfT1VUUFVUIDI+JjEKK1sgLXMgIiRJTUFHRV9QQVRIIiBdIHx8IHRzX2RpZSAiQ2Fubm90IGNyZWF0ZSAkSU1BR0VfUEFUSCIKKwordHNfbW91bnQgImNyYW1mcyIgLXIgJElNQUdFX1BBVEggJFRTX01PVU5UUE9JTlQKKworIyBjaGVjayBpdAordHNfaXNfbW91bnRlZCAkVFNfTU9VTlRQT0lOVCB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRUU19NT1VOVFBPSU5UIGluIC9wcm9jL21vdW50cyIKKwordHNfbG9nICJ1bW91bnQgdGhlIGltYWdlIgorJFRTX0NNRF9VTU9VTlQgJFRTX01PVU5UUE9JTlQKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2NyYW1mcy9mc2NrLWJhZC1oZWFkZXIgYi90ZXN0cy90cy9jcmFtZnMvZnNjay1iYWQtaGVhZGVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmM3MTc4MmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9jcmFtZnMvZnNjay1iYWQtaGVhZGVyCkBAIC0wLDAgKzEsMTAyIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZzY2sgYmFkIGhlYWRlciIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS0NSQU1GUyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GU0NLQ1JBTUZTIgordHNfY2hlY2tfcHJvZyAiZGQiCisKK2Z1bmN0aW9uIG51bTJiaW5hcnkoKQoreworCWxvY2FsIG51bT0kMQorCWxvY2FsIGVuZGlhbj0kMgorCisJdGVzdCAiJG51bSIgLWdlIDAgLWEgIiRudW0iIC1sZSA0Mjk0OTY3Mjk1IHx8IHJldHVybiAxCisJdGVzdCAiJGVuZGlhbiIgPSAiYmUiIC1vICIkZW5kaWFuIiA9ICJsZSIgfHwgcmV0dXJuIDEKKworCSMgaG93IHRvIGRvIHRoYXQgZWFzaWVyPworCWlmIHRlc3QgIiRlbmRpYW4iID0gImJlIjsgdGhlbgorCQllY2hvIC1lbiAiJChwcmludGYgIiUwOHgiICIkMSIgfCBzZWQgJ3MvXCguLlwpL1xceFwxL2cnKSIKKwllbHNlCisJCWVjaG8gLWVuICIkKHByaW50ZiAiJTA4eCIgIiQxIiB8IHNlZCAncy9eXCguLlwpXCguLlwpXCguLlwpXCguLlwpJC9cXHhcNFxceFwzXFx4XDJcXHhcMS8nKSIKKwlmaQorfQorCitmdW5jdGlvbiBmc2NrX2xvb3Bfc2l6ZXMoKQoreworCWxvY2FsIGVuZGlhbj0kMSAgIyBiZSwgbGUKKwlsb2NhbCBzZWVrPSQyICAgICMgNCBmb3Igbm9wYWQsIDUxNiBmb3IgcGFkCisJc2hpZnQgMiAgICAgICAgICAjIHRoZSByZXN0IGFyZSBzaXplcyB0byBsb29wIG92ZXIKKworCWZvciBzaXplIGluICIkQCI7IGRvCisJCXRzX2xvZyAiIyMgc2l6ZTogJHNpemUiCisJCWNwIC1hICIkSU1BR0VfRklMRSIgIiRJTUFHRV9GSUxFLnRtcCIKKwkJbnVtMmJpbmFyeSAiJHNpemUiICRlbmRpYW4gfAorCQkJZGQgb2Y9IiRJTUFHRV9GSUxFLnRtcCIgYnM9MSBzZWVrPSIkc2VlayIgY291bnQ9NCBjb252PW5vdHJ1bmMgJj4gL2Rldi9udWxsCisJCSRUU19DTURfRlNDS0NSQU1GUyAiJElNQUdFX0ZJTEUudG1wIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwkJdHNfbG9nICJyZXQ6ICQ/CisiCisJZG9uZQorCXJtIC1mICIkSU1BR0VfRklMRSIKK30KKworCitJTUFHRV9TT1VSQ0U9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tZGF0YSIKK0lNQUdFX0ZJTEU9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tY3JhbWZzLmltZyIKKworbWtkaXIgLXAgIiR7SU1BR0VfU09VUkNFfS9zdWJkaXIiICY+IC9kZXYvbnVsbAorCit0c19pbml0X3N1YnRlc3QgIm5vcGFkLTRLLWJlIgorJFRTX0NNRF9NS0NSQU1GUyAtTiBiaWcgLWIgNDA5NiAkSU1BR0VfU09VUkNFICRJTUFHRV9GSUxFICY+IC9kZXYvbnVsbAorZnNja19sb29wX3NpemVzIGJlIDQgIDAgNzUgNzYgNDA5NSA0MDk2IDQwOTcgNDI5NDk2NzI5NQorcm0gLWYgIiRJTUFHRV9GSUxFIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm5vcGFkLTRLLWxlIgorJFRTX0NNRF9NS0NSQU1GUyAtTiBsaXR0bGUgLWIgNDA5NiAkSU1BR0VfU09VUkNFICRJTUFHRV9GSUxFICY+IC9kZXYvbnVsbAorZnNja19sb29wX3NpemVzIGxlIDQgIDAgNzUgNzYgNDA5NSA0MDk2IDQwOTcgNDI5NDk2NzI5NQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhZC00Sy1iZSIKKyRUU19DTURfTUtDUkFNRlMgLXAgLU4gYmlnIC1iIDQwOTYgJElNQUdFX1NPVVJDRSAkSU1BR0VfRklMRSAmPiAvZGV2L251bGwKK2ZzY2tfbG9vcF9zaXplcyBiZSA1MTYgIDc2IDU4NyA1ODggNDA5NSA0MDk2IDQwOTcgNDI5NDk2NzI5NQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhZC00Sy1sZSIKKyRUU19DTURfTUtDUkFNRlMgLXAgLU4gbGl0dGxlIC1iIDQwOTYgJElNQUdFX1NPVVJDRSAkSU1BR0VfRklMRSAmPiAvZGV2L251bGwKK2ZzY2tfbG9vcF9zaXplcyBsZSA1MTYgIDc2IDU4NyA1ODggNDA5NSA0MDk2IDQwOTcgNDI5NDk2NzI5NQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhZC02NEstYmUiCiskVFNfQ01EX01LQ1JBTUZTIC1wIC1OIGJpZyAtYiA2NTUzNiAkSU1BR0VfU09VUkNFICRJTUFHRV9GSUxFICY+IC9kZXYvbnVsbAorZnNja19sb29wX3NpemVzIGJlIDUxNiAgNzYgNTg3IDU4OCA2NTUzNSA2NTUzNiA2NTUzNyA0Mjk0OTY3Mjk1Cit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicGFkLTY0Sy1sZSIKKyRUU19DTURfTUtDUkFNRlMgLXAgLU4gbGl0dGxlIC1iIDY1NTM2ICRJTUFHRV9TT1VSQ0UgJElNQUdFX0ZJTEUgJj4gL2Rldi9udWxsCitmc2NrX2xvb3Bfc2l6ZXMgbGUgNTE2ICA3NiA1ODcgNTg4IDY1NTM1IDY1NTM2IDY1NTM3IDQyOTQ5NjcyOTUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworcm0gLXJmICIkSU1BR0VfU09VUkNFIiAiJElNQUdFX0ZJTEUudG1wIgorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9jcmFtZnMvZnNjay1lbmRpYW5uZXNzIGIvdGVzdHMvdHMvY3JhbWZzL2ZzY2stZW5kaWFubmVzcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kYjI4N2Y5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY3JhbWZzL2ZzY2stZW5kaWFubmVzcwpAQCAtMCwwICsxLDU4IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZzY2sgZW5kaWFubmVzcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS0NSQU1GUyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GU0NLQ1JBTUZTIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01ENSIKKwordHNfc2tpcF9ub25yb290CisKK0lNQUdFX0xJVFRMRT0iJFRTX1NFTEYvY3JhbWZzLWxpdHRsZS5pbWciCSNLbm93biBnb29kIGxpdHRsZSBlbmRpYW4gaW1hZ2UKK0lNQUdFX0JJRz0iJFRTX1NFTEYvY3JhbWZzLWJpZy5pbWciCQkjS25vd24gZ29vZCBiaWcgZW5kaWFuIGltYWdlCisKK0lNQUdFX0NSRUFURUQ9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tY3JhbWZzLmltZyIJI0ltYWdlIGNyZWF0ZWQgZHVyaW5nIHRoZSB0ZXN0IGFuZCBjb21wYXJlZCBhZ2FpbnN0IHRoZSBrbm93biBpbWFnZXMuCitJTUFHRV9EQVRBPSIkVFNfT1VURElSLyR7VFNfVEVTVE5BTUV9LWRhdGEiCisKK3Rlc3RfaW1hZ2UoKSB7CisJbG9jYWwgRlJPTV9FTkRJQU5ORVNTPSIkMSI7IHNoaWZ0CisJbG9jYWwgVE9fRU5ESUFOTkVTUz0iJDEiOyBzaGlmdAorCWxvY2FsIEZST01fSU1BR0U9IiQxIjsgc2hpZnQKKworCXJtIC1yZiAiJElNQUdFX0RBVEEiCisJdHNfbG9nICJleHRyYWN0IGZyb20gJEZST01fRU5ESUFOTkVTUyBlbmRpYW4iCisJJFRTX0NNRF9GU0NLQ1JBTUZTIC12IC1iIDQwOTYgLS1leHRyYWN0PSRJTUFHRV9EQVRBICRGUk9NX0lNQUdFIHwgaGVhZCAtbjEgfCBjdXQgLWQiICIgLWY0ID4+ICRUU19PVVRQVVQgMj4mMQorCisJdHNfbG9nICJjcmVhdGUgJFRPX0VORElBTk5FU1MgZW5kaWFuIgorCSRUU19DTURfTUtDUkFNRlMgLU4gIiRUT19FTkRJQU5ORVNTIiAtYiA0MDk2ICIkSU1BR0VfREFUQSIgXAorCQkiJElNQUdFX0NSRUFURUQiID4+ICRUU19PVVRQVVQgMj4mMQorCisJIiRUU19IRUxQRVJfTUQ1IiA8ICIkSU1BR0VfQ1JFQVRFRCIgPj4gJFRTX09VVFBVVAorCisJcm0gIiRJTUFHRV9DUkVBVEVEIgorfQorCit0ZXN0X2ltYWdlICJsaXR0bGUiICJiaWciICIkSU1BR0VfTElUVExFIgordGVzdF9pbWFnZSAiYmlnIiAibGl0dGxlIiAiJElNQUdFX0JJRyIKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY3JhbWZzL21rZnMgYi90ZXN0cy90cy9jcmFtZnMvbWtmcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jYmRlMzY4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvY3JhbWZzL21rZnMKQEAgLTAsMCArMSwxMTUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWtmcyBjaGVja3N1bXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtDUkFNRlMiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01ENSIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TWVNJTkZPIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKKworT1JJR1BXRD0kKHB3ZCkKK0lNQUdFX05BTUU9IiR7VFNfVEVTVE5BTUV9LWxvb3AuaW1nIgorSU1BR0VfUEFUSD0iJFRTX09VVERJUi8kSU1BR0VfTkFNRSIKK0lNQUdFX1NSQz0iJFRTX09VVERJUi8ke1RTX1RFU1ROQU1FfS1kYXRhIgorTEFCRUw9InRlc3RDcmFtZnMiCisKK0JZVEVfT1JERVI9JCgkVFNfSEVMUEVSX1NZU0lORk8gYnl0ZS1vcmRlcikKK1BBR0VfU0laRT0kKCRUU19IRUxQRVJfU1lTSU5GTyBwYWdlc2l6ZSkKK2Nhc2UgIiR7QllURV9PUkRFUn06JHtQQUdFX1NJWkV9IiBpbgorCUxFOjQwOTYpIE1ENV9FWFA9ImE2NjY3YWNiMWNiMDY4NWQ5ZWI1YjljZDM3MjQ3NjZjIiA7OworCUxFOjY1NTM2KSBNRDVfRVhQPSJiNjAxMzM2ODI2MDNiMDExODU5MmI1NWYxZGJhMDE3YyIgOzsKKwlCRTo0MDk2KSBNRDVfRVhQPSJlYWYwNTAzMWRjOGVjOTdjOTFiYTVjNzczNjM1Y2M4OSIgOzsKKwlCRTo2NTUzNikgTUQ1X0VYUD0iNTg1OWY4N2IxODViMTE4N2ZjYTNiMmIwMGM4MDljMDMiIDs7CisJKikgZWNobyAid2FybmluZyAke1RTX05TfTogdW5rbm93biBjaGVja3N1bSIgXAorCSAgICAgICAgImZvciAke0JZVEVfT1JERVJ9OiR7UEFHRV9TSVpFfSIKKwkgICBNRDVfRVhQPSJ1bmtub3duIiA7OworZXNhYworCit0c19sb2cgImNyZWF0ZSBtb3VudHBvaW50IGRpciIKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfbG9nICJnZW5lcmF0ZSBkYXRhIgorcm0gLXJmICIkSU1BR0VfU1JDIgorbWtkaXIgLXAgJElNQUdFX1NSQworZm9yIGQgaW4gYHNlcSAwIDExMGA7IGRvCisJRElSTkFNRT0iJElNQUdFX1NSQy8kKHByaW50ZiAiZGlyLSUwM2QiICRkKSIKKwlta2RpciAtcCAkRElSTkFNRQorCWZvciBmIGluIGBzZXEgMCAxMGA7IGRvCisJCUZJTEVOQU1FPSIkRElSTkFNRS8kKHByaW50ZiAiZGF0YS4lMDNkIiAkZikiCisJCXByaW50ZiAiZGF0YSBpbiAlMDNkLSUwM2QiICRkICRmID4+ICRGSUxFTkFNRQorCWRvbmUKK2RvbmUKKwordHNfY2QgIiRJTUFHRV9TUkMiCisKK3RzX2xvZyAibGlzdCBjaGVja3N1bXMgZnJvbSBvcmlnaW5hbCBkYXRhIgorZmluZCAuIC10eXBlIGYgLWV4ZWMgbWQ1c3VtIHt9IFw7IHwgc29ydCA+PiAkVFNfT1VUUFVUCitlY2hvID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJjcmVhdGUgY3JhbWZzIGltYWdlIgorJFRTX0NNRF9NS0NSQU1GUyAtbiAkTEFCRUwgJElNQUdFX1NSQyAkSU1BR0VfUEFUSCA+PiAkVFNfT1VUUFVUIDI+JjEKK1sgLXMgIiRJTUFHRV9QQVRIIiBdIHx8IHRzX2RpZSAiQ2Fubm90IGNyZWF0ZSAkSU1BR0VfUEFUSCIKKwordHNfY2QgIiRUU19PVVRESVIiCisKK3RzX2xvZyAiY291bnQgTUQ1IGZyb20gdGhlIGltYWdlIgorTUQ1X09VVD0kKCIkVFNfSEVMUEVSX01ENSIgPCAiJElNQUdFX05BTUUiKSA+PiAkVFNfT1VUUFVUIDI+JjEKK2lmIFsgIiRNRDVfRVhQIiAhPSAiJE1ENV9PVVQiIC1hICIkTUQ1X0VYUCIgIT0gInVua25vd24iIF07IHRoZW4KKwl0c19sb2cgImlzICRNRDVfT1VULCBzaG91bGQgYmUgJE1ENV9FWFAiCitmaQorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiY3JlYXRlIGxvb3AgZGV2aWNlIGZyb20gaW1hZ2UiCitERVZJQ0U9JCgkVFNfQ01EX0xPU0VUVVAgLS1zaG93IC1mICRJTUFHRV9QQVRIKQordHNfcmVnaXN0ZXJfbG9vcF9kZXZpY2UgIiRERVZJQ0UiCisKK3RzX2xvZyAiY2hlY2sgdGhlIGltYWdlIgordHNfZGV2aWNlX2hhcyAiVFlQRSIgImNyYW1mcyIgJERFVklDRQorWyAgIiQ/IiA9PSAiMCIgXSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIGNyYW1mcyBvbiAkREVWSUNFIgorCit0c19sb2cgIm1vdW50IHRoZSBpbWFnZSIKK3RzX21vdW50ICJjcmFtZnMiIC1yIC1MICRMQUJFTCAkVFNfTU9VTlRQT0lOVAorCisjIGNoZWNrIGl0Cit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKwordHNfY2QgIiRUU19NT1VOVFBPSU5UIgorCit0c19sb2cgImxpc3QgdGhlIGltYWdlIgorZXhwb3J0IFRaPSdHTVQtMScKK2xzIC1sYVIgLS10aW1lLXN0eWxlPWxvbmctaXNvIC4gfCBzZWQgJ3M6XC4gOiA6ZycgPj4gJFRTX09VVFBVVAorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAibGlzdCBjaGVja3N1bXMgZnJvbSBuZXcgZGF0YSIKK2ZpbmQgLiAtdHlwZSBmIC1leGVjIG1kNXN1bSB7fSBcOyB8IHNvcnQgPj4gJFRTX09VVFBVVAorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2NkICIkT1JJR1BXRCIKKwordHNfbG9nICJ1bW91bnQgdGhlIGltYWdlIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvY3JhbWZzL21rZnMtZW5kaWFubmVzcyBiL3Rlc3RzL3RzL2NyYW1mcy9ta2ZzLWVuZGlhbm5lc3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzUxMTA4NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2NyYW1mcy9ta2ZzLWVuZGlhbm5lc3MKQEAgLTAsMCArMSw1OSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJta2ZzIGVuZGlhbm5lc3MiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtDUkFNRlMiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSEVYRFVNUCIKKwordHNfc2tpcF9ub25yb290CisKK0lNQUdFX0RBVEE9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tZGF0YSIKK0lNQUdFX0NSRUFURUQ9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tY3JhbWZzLmltZyIJI0ltYWdlIGNyZWF0ZWQgZHVyaW5nIHRoZSB0ZXN0IGFuZCBjb21wYXJlZCBhZ2FpbnN0IHRoZSBrbm93biBpbWFnZXMuCisKK3Rlc3RfaW1hZ2UoKSB7CisJbG9jYWwgVE9fRU5ESUFOTkVTUz0iJDEiOyBzaGlmdAorCXRzX2xvZyAiY3JlYXRlICRUT19FTkRJQU5ORVNTIGVuZGlhbiIKKworCSRUU19DTURfTUtDUkFNRlMgLU4gIiRUT19FTkRJQU5ORVNTIiAtYiA0MDk2ICIkSU1BR0VfREFUQSIgXAorCQkiJElNQUdFX0NSRUFURUQiID4+ICRUU19PVVRQVVQgMj4mMQorCisJJFRTX0NNRF9IRVhEVU1QIC1DICRJTUFHRV9DUkVBVEVEID4+ICRUU19PVVRQVVQKKworCXJtICIkSU1BR0VfQ1JFQVRFRCIKK30KKworI2dlbmVyYXRlIHRlc3QgZGF0YSwgbXVzdCBiZSBvd25lciByb290CitybSAtcmYgIiRJTUFHRV9EQVRBIgorbWtkaXIgLXAgJElNQUdFX0RBVEEvZGlyQS9kaXJCCit5ZXMgIlRlc3RpbmcgY3JhbWZzIDEyMzQ1Njc4OTAgRW5kaWFubmVzcyBjaGVjayAxMjM0NTY3ODkwIEVuZGlhbm5lc3MgY2hlY2siIFwKKwl8IGRkIG9mPSRJTUFHRV9EQVRBL2RpckEvZGlyQi9hIGJzPTUxMiBjb3VudD0xICY+IC9kZXYvbnVsbAoreWVzICJUZXN0aW5nIGNyYW1mcyAxMjM0NTY3ODkwIEVuZGlhbm5lc3MgY2hlY2sgMTIzNDU2Nzg5MCBFbmRpYW5uZXNzIGNoZWNrIiBcCisJfCBkZCBvZj0kSU1BR0VfREFUQS9kaXJBL2RpckIvYiBicz01MTIgY291bnQ9MzAgJj4gL2Rldi9udWxsCisjIHN1ZG8gbWF5IHVzZSB3aGF0ZXZlciBncm91cAorY2hncnAgLVIgMCAkSU1BR0VfREFUQQorCisjcGVyZm9ybSB0ZXN0cyBmb3IgYm90aCBlbmRpYW5zCit0ZXN0X2ltYWdlICJsaXR0bGUiCit0ZXN0X2ltYWdlICJiaWciCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2RtZXNnL2NvbG9ycyBiL3Rlc3RzL3RzL2RtZXNnL2NvbG9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xNTZjYjFlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZG1lc2cvY29sb3JzCkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY29sb3JzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0RNRVNHIgorCitleHBvcnQgVFo9IkdNVCIKK2V4cG9ydCBETUVTR19URVNUX0JPT1RJTUU9IjEyMzQ1Njc4OTAuMTIzNDU2IgorCiskVFNfSEVMUEVSX0RNRVNHIC0tY29sb3I9YWx3YXlzIC1GICRUU19TRUxGL2lucHV0IC14ID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2RtZXNnL2NvbnNvbGUtbGV2ZWxzIGIvdGVzdHMvdHMvZG1lc2cvY29uc29sZS1sZXZlbHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZjZhNjRlMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2RtZXNnL2NvbnNvbGUtbGV2ZWxzCkBAIC0wLDAgKzEsMzAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibGV2ZWxzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0RNRVNHIgorCitleHBvcnQgVFo9IkdNVCIKK2V4cG9ydCBETUVTR19URVNUX0JPT1RJTUU9IjEyMzQ1Njc4OTAuMTIzNDU2IgorCitmb3IgSSBpbiB7LTEuLjh9OyBkbworCSRUU19IRUxQRVJfRE1FU0cgLUYgJFRTX1NFTEYvaW5wdXQgLWwgJEkgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZG1lc2cvZGVjb2RlIGIvdGVzdHMvdHMvZG1lc2cvZGVjb2RlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkYTJlYWMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9kbWVzZy9kZWNvZGUKQEAgLTAsMCArMSwyOCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJkZWNvZGUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfRE1FU0ciCisKK2V4cG9ydCBUWj0iR01UIgorZXhwb3J0IERNRVNHX1RFU1RfQk9PVElNRT0iMTIzNDU2Nzg5MC4xMjM0NTYiCisKKyRUU19IRUxQRVJfRE1FU0cgLXggLUYgJFRTX1NFTEYvaW5wdXQgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZG1lc2cvZGVsdGEgYi90ZXN0cy90cy9kbWVzZy9kZWx0YQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hMDk4M2NjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZG1lc2cvZGVsdGEKQEAgLTAsMCArMSwyOCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJkZWx0YSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9ETUVTRyIKKworZXhwb3J0IFRaPSJHTVQiCitleHBvcnQgRE1FU0dfVEVTVF9CT09USU1FPSIxMjM0NTY3ODkwLjEyMzQ1NiIKKworJFRTX0hFTFBFUl9ETUVTRyAtZCAtRiAkVFNfU0VMRi9pbnB1dCA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9kbWVzZy9mYWNpbGl0aWVzIGIvdGVzdHMvdHMvZG1lc2cvZmFjaWxpdGllcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5kMDA0YTRmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZG1lc2cvZmFjaWxpdGllcwpAQCAtMCwwICsxLDMwIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZhY2lsaXRpZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfRE1FU0ciCisKK2V4cG9ydCBUWj0iR01UIgorZXhwb3J0IERNRVNHX1RFU1RfQk9PVElNRT0iMTIzNDU2Nzg5MC4xMjM0NTYiCisKK2ZvciBJIGluIHstMS4uMTJ9OyBkbworCSRUU19IRUxQRVJfRE1FU0cgLUYgJFRTX1NFTEYvaW5wdXQgLWYgJEkgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZG1lc2cvaW5kZW50YXRpb24gYi90ZXN0cy90cy9kbWVzZy9pbmRlbnRhdGlvbgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTUyYzY1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZG1lc2cvaW5kZW50YXRpb24KQEAgLTAsMCArMSw0MCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJpbmRlbnRhdGlvbiIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9ETUVTRyIKKworZXhwb3J0IFRaPSJHTVQiCitleHBvcnQgRE1FU0dfVEVTVF9CT09USU1FPSIxMjM0NTY3ODkwLjEyMzQ1NiIKKworJFRTX0hFTFBFUl9ETUVTRyAtRiAkVFNfU0VMRi9uZXdsaW5lcyA+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC1GICRUU19TRUxGL25ld2xpbmVzIC14ID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC0tdGltZS1mb3JtYXQ9ZGVsdGEgLS1maWxlICRUU19TRUxGL25ld2xpbmVzID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC0tdGltZS1mb3JtYXQ9bm90aW1lIC0tZmlsZSAkVFNfU0VMRi9uZXdsaW5lcyA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0hFTFBFUl9ETUVTRyAtLXRpbWUtZm9ybWF0PXJlbHRpbWUgLS1maWxlICRUU19TRUxGL25ld2xpbmVzID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC0tdGltZS1mb3JtYXQ9Y3RpbWUgLS1maWxlICRUU19TRUxGL25ld2xpbmVzID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX0RNRVNHIC0tdGltZS1mb3JtYXQ9aXNvIC0tZmlsZSAkVFNfU0VMRi9uZXdsaW5lcyA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2RtZXNnL2lucHV0IGIvdGVzdHMvdHMvZG1lc2cvaW5wdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTgzMDdkZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2RtZXNnL2lucHV0CkBAIC0wLDAgKzEsMTA1IEBACis8MD5bICAgIDAuMDAwMDAwXSBleGFtcGxlWzBdCis8MT5bICAgIDEuMDAwMDAwXSBleGFtcGxlWzFdCis8Mj5bICAgIDguMDAwMDAwXSBleGFtcGxlWzJdCis8Mz5bICAgMjcuMDAwMDAwXSBleGFtcGxlWzNdCis8ND5bICAgNjQuMDAwMDAwXSBleGFtcGxlWzRdCis8NT5bICAxMjUuMDAwMDAwXSBleGFtcGxlWzVdCis8Nj5bICAyMTYuMDAwMDAwXSBleGFtcGxlWzZdCis8Nz5bICAzNDMuMDAwMDAwXSBleGFtcGxlWzddCis8OD5bICA1MTIuMDAwMDAwXSBleGFtcGxlWzhdCis8OT5bICA3MjkuMDAwMDAwXSBleGFtcGxlWzldCis8MTA+WyAxMDAwLjAwMDAwMF0gZXhhbXBsZVsxMF0KKzwxMT5bIDEzMzEuMDAwMDAwXSBleGFtcGxlWzExXQorPDEyPlsgMTcyOC4wMDAwMDBdIGV4YW1wbGVbMTJdCis8MTM+WyAyMTk3LjAwMDAwMF0gZXhhbXBsZVsxM10KKzwxND5bIDI3NDQuMDAwMDAwXSBleGFtcGxlWzE0XQorPDE1PlsgMzM3NS4wMDAwMDBdIGV4YW1wbGVbMTVdCis8MTY+WyA0MDk2LjAwMDAwMF0gZXhhbXBsZVsxNl0KKzwxNz5bIDQ5MTMuMDAwMDAwXSBleGFtcGxlWzE3XQorPDE4PlsgNTgzMi4wMDAwMDBdIGV4YW1wbGVbMThdCis8MTk+WyA2ODU5LjAwMDAwMF0gZXhhbXBsZVsxOV0KKzwyMD5bIDgwMDAuMDAwMDAwXSBleGFtcGxlWzIwXQorPDIxPlsgOTI2MS4wMDAwMDBdIGV4YW1wbGVbMjFdCis8MjI+WzEwNjQ4LjAwMDAwMF0gZXhhbXBsZVsyMl0KKzwyMz5bMTIxNjcuMDAwMDAwXSBleGFtcGxlWzIzXQorPDI0PlsxMzgyNC4wMDAwMDBdIGV4YW1wbGVbMjRdCis8MjU+WzE1NjI1LjAwMDAwMF0gZXhhbXBsZVsyNV0KKzwyNj5bMTc1NzYuMDAwMDAwXSBleGFtcGxlWzI2XQorPDI3PlsxOTY4My4wMDAwMDBdIGV4YW1wbGVbMjddCis8Mjg+WzIxOTUyLjAwMDAwMF0gZXhhbXBsZVsyOF0KKzwyOT5bMjQzODkuMDAwMDAwXSBleGFtcGxlWzI5XQorPDMwPlsyNzAwMC4wMDAwMDBdIGV4YW1wbGVbMzBdCis8MzE+WzI5NzkxLjAwMDAwMF0gZXhhbXBsZVszMV0KKzwzMj5bMzI3NjguMDAwMDAwXSBleGFtcGxlWzMyXQorPDMzPlszNTkzNy4wMDAwMDBdIGV4YW1wbGVbMzNdCis8MzQ+WzM5MzA0LjAwMDAwMF0gZXhhbXBsZVszNF0KKzwzNT5bNDI4NzUuMDAwMDAwXSBleGFtcGxlWzM1XQorPDM2Pls0NjY1Ni4wMDAwMDBdIGV4YW1wbGVbMzZdCis8Mzc+WzUwNjUzLjAwMDAwMF0gZXhhbXBsZVszN10KKzwzOD5bNTQ4NzIuMDAwMDAwXSBleGFtcGxlWzM4XQorPDM5Pls1OTMxOS4wMDAwMDBdIGV4YW1wbGVbMzldCis8NDA+WzY0MDAwLjAwMDAwMF0gZXhhbXBsZVs0MF0KKzw0MT5bNjg5MjEuMDAwMDAwXSBleGFtcGxlWzQxXQorPDQyPls3NDA4OC4wMDAwMDBdIGV4YW1wbGVbNDJdCis8NDM+Wzc5NTA3LjAwMDAwMF0gZXhhbXBsZVs0M10KKzw0ND5bODUxODQuMDAwMDAwXSBleGFtcGxlWzQ0XQorPDQ1Pls5MTEyNS4wMDAwMDBdIGV4YW1wbGVbNDVdCis8NDY+Wzk3MzM2LjAwMDAwMF0gZXhhbXBsZVs0Nl0KKzw0Nz5bMTAzODIzLjAwMDAwMF0gZXhhbXBsZVs0N10KKzw0OD5bMTEwNTkyLjAwMDAwMF0gZXhhbXBsZVs0OF0KKzw0OT5bMTE3NjQ5LjAwMDAwMF0gZXhhbXBsZVs0OV0KKzw1MD5bMTI1MDAwLjAwMDAwMF0gZXhhbXBsZVs1MF0KKzw1MT5bMTMyNjUxLjAwMDAwMF0gZXhhbXBsZVs1MV0KKzw1Mj5bMTQwNjA4LjAwMDAwMF0gZXhhbXBsZVs1Ml0KKzw1Mz5bMTQ4ODc3LjAwMDAwMF0gZXhhbXBsZVs1M10KKzw1ND5bMTU3NDY0LjAwMDAwMF0gZXhhbXBsZVs1NF0KKzw1NT5bMTY2Mzc1LjAwMDAwMF0gZXhhbXBsZVs1NV0KKzw1Nj5bMTc1NjE2LjAwMDAwMF0gZXhhbXBsZVs1Nl0KKzw1Nz5bMTg1MTkzLjAwMDAwMF0gZXhhbXBsZVs1N10KKzw1OD5bMTk1MTEyLjAwMDAwMF0gZXhhbXBsZVs1OF0KKzw1OT5bMjA1Mzc5LjAwMDAwMF0gZXhhbXBsZVs1OV0KKzw2MD5bMjE2MDAwLjAwMDAwMF0gZXhhbXBsZVs2MF0KKzw2MT5bMjI2OTgxLjAwMDAwMF0gZXhhbXBsZVs2MV0KKzw2Mj5bMjM4MzI4LjAwMDAwMF0gZXhhbXBsZVs2Ml0KKzw2Mz5bMjUwMDQ3LjAwMDAwMF0gZXhhbXBsZVs2M10KKzw2ND5bMjYyMTQ0LjAwMDAwMF0gZXhhbXBsZVs2NF0KKzw2NT5bMjc0NjI1LjAwMDAwMF0gZXhhbXBsZVs2NV0KKzw2Nj5bMjg3NDk2LjAwMDAwMF0gZXhhbXBsZVs2Nl0KKzw2Nz5bMzAwNzYzLjAwMDAwMF0gZXhhbXBsZVs2N10KKzw2OD5bMzE0NDMyLjAwMDAwMF0gZXhhbXBsZVs2OF0KKzw2OT5bMzI4NTA5LjAwMDAwMF0gZXhhbXBsZVs2OV0KKzw3MD5bMzQzMDAwLjAwMDAwMF0gZXhhbXBsZVs3MF0KKzw3MT5bMzU3OTExLjAwMDAwMF0gZXhhbXBsZVs3MV0KKzw3Mj5bMzczMjQ4LjAwMDAwMF0gZXhhbXBsZVs3Ml0KKzw3Mz5bMzg5MDE3LjAwMDAwMF0gZXhhbXBsZVs3M10KKzw3ND5bNDA1MjI0LjAwMDAwMF0gZXhhbXBsZVs3NF0KKzw3NT5bNDIxODc1LjAwMDAwMF0gZXhhbXBsZVs3NV0KKzw3Nj5bNDM4OTc2LjAwMDAwMF0gZXhhbXBsZVs3Nl0KKzw3Nz5bNDU2NTMzLjAwMDAwMF0gZXhhbXBsZVs3N10KKzw3OD5bNDc0NTUyLjAwMDAwMF0gZXhhbXBsZVs3OF0KKzw3OT5bNDkzMDM5LjAwMDAwMF0gZXhhbXBsZVs3OV0KKzw4MD5bNTEyMDAwLjAwMDAwMF0gZXhhbXBsZVs4MF0KKzw4MT5bNTMxNDQxLjAwMDAwMF0gZXhhbXBsZVs4MV0KKzw4Mj5bNTUxMzY4LjAwMDAwMF0gZXhhbXBsZVs4Ml0KKzw4Mz5bNTcxNzg3LjAwMDAwMF0gZXhhbXBsZVs4M10KKzw4ND5bNTkyNzA0LjAwMDAwMF0gZXhhbXBsZVs4NF0KKzw4NT5bNjE0MTI1LjAwMDAwMF0gZXhhbXBsZVs4NV0KKzw4Nj5bNjM2MDU2LjAwMDAwMF0gZXhhbXBsZVs4Nl0KKzw4Nz5bNjU4NTAzLjAwMDAwMF0gZXhhbXBsZVs4N10KKzw4OD5bNjgxNDcyLjAwMDAwMF0gZXhhbXBsZVs4OF0KKzw4OT5bNzA0OTY5LjAwMDAwMF0gZXhhbXBsZVs4OV0KKzw5MD5bNzI5MDAwLjAwMDAwMF0gZXhhbXBsZVs5MF0KKzw5MT5bNzUzNTcxLjAwMDAwMF0gZXhhbXBsZVs5MV0KKzw5Mj5bNzc4Njg4LjAwMDAwMF0gZXhhbXBsZVs5Ml0KKzw5Mz5bODA0MzU3LjAwMDAwMF0gZXhhbXBsZVs5M10KKzw5ND5bODMwNTg0LjAwMDAwMF0gZXhhbXBsZVs5NF0KKzw5NT5bODU3Mzc1LjAwMDAwMF0gZXhhbXBsZVs5NV0KKzw5Nj5bODg0NzM2LjAwMDAwMF0gZXhhbXBsZVs5Nl0KKzw5Nz5bOTEyNjczLjAwMDAwMF0gZXhhbXBsZVs5N10KKzw5OD5bOTQxMTkyLjAwMDAwMF0gZXhhbXBsZVs5OF0KKzw5OT5bOTcwMjk5LjAwMDAwMF0gZXhhbXBsZVs5OV0KKzwxMDA+WzEwMDAwMDAuMDAwMDAwXSBleGFtcGxlWzEwMF0KKzwxMDE+WzEwMzAzMDEuMDAwMDAwXSBleGFtcGxlWzEwMV0KKzwxMDI+WzEwNjEyMDguMDAwMDAwXSBleGFtcGxlWzEwMl0KKzwxMDM+WzEwOTI3MjcuMDAwMDAwXSBleGFtcGxlWzEwM10KKzwxMDQ+WzExMjQ4NjQuMDAwMDAwXSBleGFtcGxlWzEwNF0KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2RtZXNnL25ld2xpbmVzIGIvdGVzdHMvdHMvZG1lc2cvbmV3bGluZXMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmIyOThjNgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2RtZXNnL25ld2xpbmVzCkBAIC0wLDAgKzEsNSBAQAorPDEwPlsgICAgMS4wMDAwMDBdIG5ldworbGluZQorPDIwPlsgICAgMi4wMDAwMDBdIHR3bworbmV3CitsaW5lcwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZWplY3QvdW1vdW50IGIvdGVzdHMvdHMvZWplY3QvdW1vdW50Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjlmYWFiMjcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9lamVjdC91bW91bnQKQEAgLTAsMCArMSwxMTIgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InVtb3VudCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9FSkVDVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJta2ZzLmV4dDIiCisKKyMgc2NzaV9kZWJ1ZyBjb3VsZCBub3QgZWplY3QgZm9yIGtlcm5lbCA+PTMuMTkgYW5kIDw0LjQKK2lmIHg9JChlY2hvICIzLjE5IiAmJiB1bmFtZSAtciAmJiBlY2hvICI0LjQiKSBcCisgICAmJiB0ZXN0ICIkeCIgPSAiJChlY2hvICIkeCIgfCBzb3J0IC0tdmVyc2lvbi1zb3J0KSIKK3RoZW4KKwl0c19za2lwICIzLjE5IDw9ICQodW5hbWUgLXNyKSA8IDQuNCIKK2ZpCisKKyMKKyMgTm90ZSB0aGF0IGVqZWN0IC0tZm9yY2UgaXMgcmVxdWlyZWQgYmVjYXVzZSBzY3NpX2RlYnVnIGlzCisjIG5vdCByZW1vdmFibGUgZGV2aWNlLgorIworCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCitmdW5jdGlvbiBpbml0X2RldmljZSB7CisJdHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTEwMAorfQorCitmdW5jdGlvbiBpbml0X3BhcnRpdGlvbnMgeworCWxvY2FsIGRldj0kMQorCisJdHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKKwkkVFNfQ01EX0ZESVNLICRkZXYgPj4gL2Rldi9udWxsIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzUwTQorbgorcAorMgorCisKK3AKK3cKK0VPRgorCXVkZXZhZG0gc2V0dGxlCisJbWtmcy5leHQyIC1xICR7ZGV2fTEKKwlta2ZzLmV4dDIgLXEgJHtkZXZ9MgorCXVkZXZhZG0gc2V0dGxlCit9CisKK2Z1bmN0aW9uIGRlaW5pdF9kZXZpY2UgeworCXRzX3Njc2lfZGVidWdfcm1tb2QKK30KKworCit0c19pbml0X3N1YnRlc3QgImJ5LWRpc2siCitpbml0X2RldmljZQorJFRTX0NNRF9FSkVDVCAtLWZvcmNlICRUU19ERVZJQ0UgJiYgdHNfbG9nICJTdWNjZXNzIgorZGVpbml0X2RldmljZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnktZGlzay1tb3VudGVkIgoraW5pdF9kZXZpY2UKK21rZnMuZXh0MiAtcSAtRiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQorbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKyRUU19DTURfTU9VTlQgJFRTX0RFVklDRSAkVFNfTU9VTlRQT0lOVAorJFRTX0NNRF9FSkVDVCAtLWZvcmNlICRUU19ERVZJQ0UgJiYgdHNfbG9nICJTdWNjZXNzIgorZGVpbml0X2RldmljZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnktZGlzay1tb3VudGVkLXBhcnRpdGlvbiIKK2luaXRfZGV2aWNlCitpbml0X3BhcnRpdGlvbnMgJFRTX0RFVklDRQorbWtkaXIgLXAgJHtUU19NT1VOVFBPSU5UfTEKK21rZGlyIC1wICR7VFNfTU9VTlRQT0lOVH0yCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTEgJHtUU19NT1VOVFBPSU5UfTEKKyRUU19DTURfTU9VTlQgJHtUU19ERVZJQ0V9MiAke1RTX01PVU5UUE9JTlR9MgorJFRTX0NNRF9FSkVDVCAtLWZvcmNlICRUU19ERVZJQ0UgJiYgdHNfbG9nICJTdWNjZXNzIgorZGVpbml0X2RldmljZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnktcGFydGl0aW9uIgoraW5pdF9kZXZpY2UKK2luaXRfcGFydGl0aW9ucyAkVFNfREVWSUNFCiskVFNfQ01EX0VKRUNUIC0tZm9yY2UgJHtUU19ERVZJQ0V9MSAmJiB0c19sb2cgIlN1Y2Nlc3MiCitkZWluaXRfZGV2aWNlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJieS1wYXJ0aXRpb24tbW91bnRlZCIKK2luaXRfZGV2aWNlCitpbml0X3BhcnRpdGlvbnMgJFRTX0RFVklDRQorbWtkaXIgLXAgJHtUU19NT1VOVFBPSU5UfTEKK21rZGlyIC1wICR7VFNfTU9VTlRQT0lOVH0yCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTEgJHtUU19NT1VOVFBPSU5UfTEKKyRUU19DTURfTU9VTlQgJHtUU19ERVZJQ0V9MiAke1RTX01PVU5UUE9JTlR9MgorJFRTX0NNRF9FSkVDVCAtLWZvcmNlICR7VFNfREVWSUNFfTEgJiYgdHNfbG9nICJTdWNjZXNzIgorZGVpbml0X2RldmljZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEsgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzMxMmUzNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZkaXNrL2FsaWduLTUxMi00SwpAQCAtMCwwICsxLDc4IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKworIworIyBUZXN0IGFsaWdubWVudCBmb3IgNTEyLzUxMiBkaXNrICp3aXRoKiB0b3BvbG9neSAtLSBhbGlnbmVkIHRvIG9wdGltYWwKKyMgSS9PIHNpemUgKDMyS2lCKQorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJhbGlnbiA1MTIvNEsiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCisKK3RzX3NraXBfbm9ucm9vdAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTAgc2VjdG9yX3NpemU9NTEyIHBoeXNibGtfZXhwPTMKK0RFVk5BTUU9JChiYXNlbmFtZSAkVFNfREVWSUNFKQorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIgorJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCituCitwCisxCisKKysxME0KK24KK3AKKzIKKworKzEwTQorbgorcAorMworCisrMTBNCituCitlCisKKworbgorCisrNU0KK24KKworKzVNCituCisKKworcAordworcQorRU9GCisKK3VkZXZhZG0gc2V0dGxlCit0c19sb2cgIkFsaWdubWVudCBvZmZzZXRzOiIKK2NhdCAvc3lzL2Jsb2NrLyR7REVWTkFNRX0vJHtERVZOQU1FfXsxLDIsMyw0LDUsNiw3fS9hbGlnbm1lbnRfb2Zmc2V0ID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEstNjMgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEstNjMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjg0NzgwYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZkaXNrL2FsaWduLTUxMi00Sy02MwpAQCAtMCwwICsxLDc5IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKworIworIyBUZXN0IGFsaWdubWVudCBmb3IgNTEyLzUxMiBkaXNrICp3aXRoKiB0b3BvbG9neSAtLSBhbGlnbmVkIHRvIG9wdGltYWwKKyMgSS9PIHNpemUgKDMyS2lCKQorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJhbGlnbiA1MTIvNEsgK2FsaWdubWVudF9vZmZzZXQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCisKK3RzX3NraXBfbm9ucm9vdAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTAgc2VjdG9yX3NpemU9NTEyIHBoeXNibGtfZXhwPTMgbG93ZXN0X2FsaWduZWQ9NworREVWTkFNRT0kKGJhc2VuYW1lICRUU19ERVZJQ0UpCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisrMTBNCituCitwCiszCisKKysxME0KK24KK2UKKworCituCisKKys1TQorbgorCisrNU0KK24KKworCitwCit3CitxCitFT0YKKwordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiQWxpZ25tZW50IG9mZnNldHM6IgorY2F0IC9zeXMvYmxvY2svJHtERVZOQU1FfS8ke0RFVk5BTUV9ezEsMiwzLDQsNSw2LDd9L2FsaWdubWVudF9vZmZzZXQgPj4gJFRTX09VVFBVVCAyPiYxCisKKwordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZmRpc2svYWxpZ24tNTEyLTRLLW1kIGIvdGVzdHMvdHMvZmRpc2svYWxpZ24tNTEyLTRLLW1kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdmNjBhNjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNEstbWQKQEAgLTAsMCArMSwxMDAgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworCisjCisjIFRlc3QgYWxpZ25tZW50IGZvciA1MTIvNTEyIGRpc2sgKndpdGgqIHRvcG9sb2d5IC0tIGFsaWduZWQgdG8gb3B0aW1hbAorIyBJL08gc2l6ZSAoMzJLaUIpCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImFsaWduIDUxMi80SyArTUQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfcHJvZyAibWRhZG0iCisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj01MCBzZWN0b3Jfc2l6ZT01MTIgcGh5c2Jsa19leHA9MworREVWTkFNRT0kKGJhc2VuYW1lICRUU19ERVZJQ0UpCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzIwTQorbgorcAorMgorCisKK3AKK3cKK3EKK0VPRgorCit1ZGV2YWRtIHNldHRsZQordHNfbG9nICJBbGlnbm1lbnQgb2Zmc2V0czoiCitjYXQgL3N5cy9ibG9jay8ke0RFVk5BTUV9LyR7REVWTkFNRX17MSwyfS9hbGlnbm1lbnRfb2Zmc2V0ID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2NrICJtZCIKKworTURfREVWTkFNRT1tZDgKK01EX0RFVklDRT0vZGV2LyR7TURfREVWTkFNRX0KKworbWRhZG0gLXEgLVMgJHtNRF9ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKworbWRhZG0gLXEgLS1jcmVhdGUgJHtNRF9ERVZJQ0V9IC0tbWV0YWRhdGE9MC45MCAtLWNodW5rPTY0IFwKKwkgICAgLS1sZXZlbD0wIC0tcmFpZC1kZXZpY2VzPTIgJHtUU19ERVZJQ0V9MSAke1RTX0RFVklDRX0yID4+ICRUU19PVVRQVVQgMj4mMQordWRldmFkbSBzZXR0bGUKKwordHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyAoTUQpIgorJFRTX0NNRF9GRElTSyAke01EX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCituCitwCisxCisKKysxME0KK24KK3AKKzIKKworKzEwTQorcAordworcQorRU9GCisKK3VkZXZhZG0gc2V0dGxlCit0c19sb2cgIkFsaWdubWVudCBvZmZzZXRzIChNRCk6IgorY2F0IC9zeXMvYmxvY2svJHtNRF9ERVZOQU1FfS8ke01EX0RFVk5BTUV9cHsxLDJ9L2FsaWdubWVudF9vZmZzZXQgPj4gJFRTX09VVFBVVCAyPiYxCisKK21kYWRtIC1xIC1TICR7TURfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKKwordWRldmFkbSBzZXR0bGUKK3RzX3VubG9jayAibWQiCisKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZkaXNrX2NsZWFuICRNRF9ERVZJQ0UKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL2FsaWduLTUxMi01MTIgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNTEyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5NTA2ZWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNTEyCkBAIC0wLDAgKzEsNzIgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworIworIyBUZXN0IGRlZmF1bHQgMU1pQiAoMjA0OCBzZWN0b3JzKSBhbGlnbm1lbnQgZm9yIDUxMi81MTIgZGlzayAqd2l0aG91dCoKKyMgdG9wb2xvZ3kuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImFsaWduIDUxMi81MTIiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCit0c19kZXZpY2VfaW5pdCA1MAorREVWSUNFPSRUU19MT0RFVgorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIgorJFRTX0NNRF9GRElTSyAke0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCituCitwCisxCisKKysxME0KK24KK3AKKzIKKworKzEwTQorbgorcAorMworCisrMTBNCituCitlCisKKworbgorCisrNU0KK24KKworKzVNCituCisKKworcAorcQorRU9GCisKK3RzX2ZkaXNrX2NsZWFuICRERVZJQ0UKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL2FsaWduLTUxMi01MTItdG9wb2xvZ3kgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNTEyLXRvcG9sb2d5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgwMmVhNjEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9hbGlnbi01MTItNTEyLXRvcG9sb2d5CkBAIC0wLDAgKzEsNzggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworCisjCisjIFRlc3QgYWxpZ25tZW50IGZvciA1MTIvNTEyIGRpc2sgKndpdGgqIHRvcG9sb2d5IC0tIGFsaWduZWQgdG8gb3B0aW1hbAorIyBJL08gc2l6ZSAoMzJLaUIpCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImFsaWduIDUxMi81MTIgK3RvcG9sb2d5IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMgorREVWTkFNRT0kKGJhc2VuYW1lICRUU19ERVZJQ0UpCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisrMTBNCituCitwCiszCisKKysxME0KK24KK2UKKworCituCisKKys1TQorbgorCisrNU0KK24KKworCitwCit3CitxCitFT0YKKwordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiQWxpZ25tZW50IG9mZnNldHM6IgorY2F0IC9zeXMvYmxvY2svJHtERVZOQU1FfS8ke0RFVk5BTUV9ezEsMiwzLDQsNSw2LDd9L2FsaWdubWVudF9vZmZzZXQgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL2JzZCBiL3Rlc3RzL3RzL2ZkaXNrL2JzZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NTNiMDg3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmRpc2svYnNkCkBAIC0wLDAgKzEsMTQxIEBACisjIS9iaW4vYmFzaAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im5lc3RlZCBCU0QiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSEVYRFVNUCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TWVNJTkZPIgorCitGRElTS19DTURfQ1JFQVRFX0RPU0xBQkVMPSJvXG4iICAgICAgICAgICAgICAjIGNyZWF0ZSBkb3MgbGFiZWwKK0ZESVNLX0NNRF9TRVRJRD0ieFxuaVxuMHgxXG5yXG4iICAgICAgICAgICAgICMgc2V0IG5vbi1yYW5kb20gSUQKK0ZESVNLX0NNRF9XUklURV9DTE9TRT0id1xucVxuIiAgICAgICAgICAgICAgICMgd3JpdGUgdG8gaW1hZ2UKK0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWTE9Im5cbnBcbjFcblxuKzFNXG4iICMgMXN0IHByaW1hcnkgcGFydGl0aW9uIG9mIHNpemUgMU1pQgorRkRJU0tfQ01EX0NSRUFURV9QUklNQVJZMj0iblxucFxuMlxuXG5cbiIgICAgIyAybmQgcHJpbWFyeSBwYXJ0aXRpb24gZm9yIHdob2xlIG9mIHRoZSBkaXNrCitGRElTS19DTURfQ0hBTkdFX1BBUlQyVFlQRT0idFxuMlxuYTVcbiIgICAgICAjIGNoYW5nZSBwYXJ0aXRpb24gdHlwZSBGcmVlQlNECisKK0ZESVNLX0NNRF9CU0RfQ1JFQVRFPSJiXG55XG4iICAgICAgICAgICAgICAgICMgY3JlYXRlIG5lc3RlZCBCU0QgUFQKK0ZESVNLX0NNRF9CU0RfTElTVD0iYlxucFxuclxucVxuIiAgICAgICAgICAgICMgbGlzdCBuZXN0ZWQgQlNEIFBUIGFuZCBxdWl0CitGRElTS19DTURfQlNEX0NSRUFURV9QQVJUPSJiXG5uXG5hXG5cbisxTVxuIiAjIGFkZCBCU0QgcGFydGl0aW9uICdhJywgc2l6ZSAxTWlCCitGRElTS19DTURfQlNEX1BBUlRUWVBFPSJiXG50XG5hXG43XG4iICAgICAgICAjIHNldCBwYXJ0aXRpb24gJ2EnIHRvIHR5cGUgNC4yQlNECitGRElTS19DTURfQlNEX0xJU1RfVFlQRVM9ImJcbmxcbnFcbiIgICAgICAgICAjIGxpc3Qgc3VwcG9ydGVkIFBUIHR5cGVzIGFuZCBxdWl0CisKKyNzZXQgLXgKKworIyBCU0QgZGlza2xhYmVsIGRlcGVuZHMgb24gZW5kaWFubmVzcworQllURV9PUkRFUj0kKCRUU19IRUxQRVJfU1lTSU5GTyBieXRlLW9yZGVyKQorCisjIGFuZCBhbHNvIG9uIGFyY2gtc3BlY2lmaWMgb2Zmc2V0IChzZWUgaW5jbHVkZS9wdC1ic2QuaCkKK0FSQ0g9JCh1bmFtZSAtbSkKK2Nhc2UgJEFSQ0ggaW4KKwkjIHNlZSBpbmNsdWRlL3B0LWJzZC5oCisJKmFscGhhKiB8ICpwcGMqIHwgKmlhNjQqIHwgKmhwcGEqIHwgKnBhcmlzYyogKQorCQlCU0RfTEFCRUxTRUNUT1I9MAorCQlCU0RfTEFCRUxPRkZTRVQ9NjQKKwkJOzsKKwkqKQorCQlCU0RfTEFCRUxTRUNUT1I9MQorCQlCU0RfTEFCRUxPRkZTRVQ9MAorCQk7OworZXNhYworCisjIGFuZCBjb250YWlucyBleHRyYSBvcHRpb25zIGZvciBhbHBoYQorQlNEX0VYVFJBPSIiCitjYXNlICRBUkNIIGluCisJKmFscGhhKikKKwkJQlNEX0VYVFJBPSJfYWxwaGEiCisJCTs7Citlc2FjCisKK2VjaG8gIkJTRF9MQUJFTFNFQ1RPUj0kQlNEX0xBQkVMU0VDVE9SIiA+PiAkVFNfT1VUUFVUCitlY2hvICJCU0RfTEFCRUxPRkZTRVQ9JEJTRF9MQUJFTE9GRlNFVCIgPj4gJFRTX09VVFBVVAorZWNobyAiQlNEX0VYVFJBPSRCU0RfRVhUUkEiID4+ICRUU19PVVRQVVQKK2VjaG8gIkJZVEVfT1JERVI9JEJZVEVfT1JERVIiID4+ICRUU19PVVRQVVQKK2VjaG8gPj4gJFRTX09VVFBVVAorCitUU19FWFBFQ1RFRCs9Il8ke0JTRF9MQUJFTFNFQ1RPUn1fJHtCU0RfTEFCRUxPRkZTRVR9JHtCU0RfRVhUUkF9LiR7QllURV9PUkRFUn0iCisKK2Z1bmN0aW9uIHByaW50X2xheW91dCB7CisJZWNobyAtbmUgIlxuLS0tbGF5b3V0LS0tLS0tLS0tLVxuIiA+PiAkVFNfT1VUUFVUCisJJFRTX0NNRF9GRElTSyAtbCAke1RFU1RfSU1BR0VfTkFNRX0gID4+ICRUU19PVVRQVVQKKwllY2hvIC1uZSAgICItLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiIgPj4gJFRTX09VVFBVVAorfQorCitmdW5jdGlvbiBwcmludF9ic2RfbGF5b3V0IHsKKwllY2hvIC1uZSAiXG4tLS1sYXlvdXQtLS0tLS0tLS0tXG4iID4+ICRUU19PVVRQVVQKKwllY2hvIC1lICIke0ZESVNLX0NNRF9CU0RfTElTVH0iIHwgXAorCQkJJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVAorCWVjaG8gLW5lICAgIi0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiA+PiAkVFNfT1VUUFVUCit9CisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZSIKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCiskVFNfQ01EX0hFWERVTVAgLUMgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIkNyZWF0ZSBuZXcgRE9TIHBhcnRpdGlvbiB0YWJsZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9ET1NMQUJFTH0ke0ZESVNLX0NNRF9TRVRJRH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwkgfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSAxc3QgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWTF9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSAyc3QgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWTJ9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2xvZyAiU2V0IDJuZCBwYXJ0aXRpb24gdHlwZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NIQU5HRV9QQVJUMlRZUEV9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSBkZWZhdWx0IEJTRCIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0JTRF9DUkVBVEV9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKyRUU19DTURfSEVYRFVNUCAtQyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2JzZF9sYXlvdXQKKworZWNobyAtZSAiJHtGRElTS19DTURfQlNEX0NSRUFURV9QQVJUfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0JTRF9QQVJUVFlQRX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorJFRTX0NNRF9IRVhEVU1QIC1DICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfYnNkX2xheW91dAorCitlY2hvIC1lICIke0ZESVNLX0NNRF9CU0RfTElTVF9UWVBFU30iIHwgXAorCSRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9IHwgXAorCXNlZCAncy9SZWFkaW5nIC4qLy9nOyBzL1dlbGNvbWUgdG8gZmRpc2sgLiovLycgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL2dwdCBiL3Rlc3RzL3RzL2ZkaXNrL2dwdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MmRjZTZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmRpc2svZ3B0CkBAIC0wLDAgKzEsOTYgQEAKKyMhL2Jpbi9iYXNoCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIENvcHlyaWdodCAoQykgMjAxMyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iR1BUIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCitGRElTS19DTURfQ1JFQVRFX0dQVExBQkVMPSJnXG4iICAgICAgICAgICAgICAjIGNyZWF0ZSBHUFQgbGFiZWwKK0ZESVNLX0NNRF9XUklURV9DTE9TRT0id1xucVxuIiAgICAgICAgICAgICAgICMgd3JpdGUgdG8gaW1hZ2UKKworRkRJU0tfQ01EX0NIQU5HRV9UWVBFX0JZX05VTT0idFxuMVxuMVxuIiAgICAgIyBzZXQgMXN0IHBhcnRpdGlvbiB0byBFRkkgU3lzdGVtCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjIHNldCA1dGggcGFydGl0aW9uIHRvIExpbnV4IHN3YXAKK0ZESVNLX0NNRF9DSEFOR0VfVFlQRV9CWV9VVUlEPSJ0XG41XG4wNjU3RkQ2RC1BNEFCLTQzQzQtODRFNS0wOTMzQzg0QjRGNEZcbiIKKworRkRJU0tfQ01EX0RFTEVURV9QQVJUPSJkXG4yXG4iICAgICAgICAgICAgICAgIyBkZWxldGUgMm5kIHBhcnRpdGlvbgorRkRJU0tfQ01EX0NSRUFURV9QQVJUPSJuXG4yXG5cblxuIiAgICAgICAgICAgIyBjcmVhdGUgMm5kIHBhcnRpdGlvbgorCitmdW5jdGlvbiBwcmludF9sYXlvdXQgeworCWVjaG8gLW5lICJcbi0tLWxheW91dC0tLS0tLS0tLS1cbiIgPj4gJFRTX09VVFBVVAorCSRUU19DTURfRkRJU0sgLWwgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQgMj4mMQorCWVjaG8gLW5lICAgIi0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiA+PiAkVFNfT1VUUFVUCit9CisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZSIKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCisKK3RzX2xvZyAiQ3JlYXRlIG5ldyBHUFQgcGFydGl0aW9uIHRhYmxlIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX0dQVExBQkVMfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCSB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKK2ZvciBpIGluIHsxLi44fTsgZG8KKwllY2hvIC1lICJuXG4ke2l9XG5cbisxTVxuJHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK2RvbmUKKwordHNfbG9nICJDaGFuZ2UgcGFydGl0aW9uIHR5cGUgYnkgbnVtYmVyIgorZWNobyAtZSAiJHtGRElTS19DTURfQ0hBTkdFX1RZUEVfQllfTlVNfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCSB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDaGFuZ2UgcGFydGl0aW9uIHR5cGUgYnkgVVVJRCIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NIQU5HRV9UWVBFX0JZX1VVSUR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkRlbGV0ZSBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9ERUxFVEVfUEFSVH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwkgfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiQ3JlYXRlIGFnYWluIHBhcnRpdGlvbiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9QQVJUfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCSB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDb3JydXB0IHByaW1hcnkgdGFibGUiCitkZCBpZj0vZGV2L3plcm8gb2Y9JHtURVNUX0lNQUdFX05BTUV9IGJzPTUxMiBjb3VudD0xIHNlZWs9MSBjb252PW5vdHJ1bmMgJj4gL2Rldi9udWxsCitlY2hvIC1lICJ3XG4iIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNvcnJ1cHQgYmFja3VwIHRhYmxlIgorZGQgaWY9L2Rldi96ZXJvIG9mPSR7VEVTVF9JTUFHRV9OQU1FfSBicz01MTIgY291bnQ9MSBcCisJc2Vlaz0kKCggMTAyNCAqIDEwMjQgKiAxMCAvIDUxMiAtIDEpKSBjb252PW5vdHJ1bmMgJj4gL2Rldi9udWxsCitlY2hvIC1lICJ3XG4iIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9ncHQtcmVzaXplIGIvdGVzdHMvdHMvZmRpc2svZ3B0LXJlc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iODMxOTgxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmRpc2svZ3B0LXJlc2l6ZQpAQCAtMCwwICsxLDYzIEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKyMKKyMgVGVzdCBHUFQgQWx0ZXJuYXRpdmUtTEJBIGFuZCBiYWNrdXAgaGVhZGVyIHVwZGF0ZSBhZnRlciBkZXZpY2UgcmVzaXplLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJncHQtcmVzaXplIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfc2tpcF9ub25yb290CisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCit0c19jaGVja19wcm9nICJkZCIKKwordHNfY2hlY2tfbG9zZXR1cAorCit0c19kZXZpY2VfaW5pdCAxMAorREVWSUNFPSRUU19MT0RFVgorCisjIGNyZWF0ZSBHUFQgd2l0aCBvbmUgcGFydGl0aW9uCitlY2hvICIsLCIgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtLW5vLXRlbGwta2VybmVsIC0tbGFiZWwgZ3B0ICRERVZJQ0UgPj4gJFRTX09VVFBVVCAyPiYxCit1ZGV2YWRtIHNldHRsZQorCisjIGVubGFyZ2UgdGhlIGltYWdlCitJTUFHRT0kKCRUU19DTURfTE9TRVRVUCAtLW91dHB1dCBCQUNLLUZJTEUgLS1ub2hlYWRpbmdzICRERVZJQ0UpCitkZCBpZj0vZGV2L3plcm8gb2Y9JHtJTUFHRX0gYnM9MU1pQiBjb3VudD0xMCBjb252PW5vdHJ1bmMgb2ZsYWc9YXBwZW5kICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKworIyB1cGRhdGUgZGV2aWNlIHNpemUKKyRUU19DTURfTE9TRVRVUCAtLXNldC1jYXBhY2l0eSAkREVWSUNFCit1ZGV2YWRtIHNldHRsZQorCitlY2hvIC1lICJcblxuLS0tLS0gZml4aW5nIGFmdGVyIHJlc2l6ZTogLS0tLS1cblxuIiA+PiAkVFNfT1VUUFVUCisKKyMgY3JlYXRlIGFub3RoZXIgR1BUIHBhcnRpdGlvbiBvbiBuZXcgZnJlZSBzcGFjZSAoYWxsIGRlZmF1bHQpCitlY2hvIC1lICduXG5cblxuXG53XG4nIHwgJFRTX0NNRF9GRElTSyAkREVWSUNFID4+ICRUU19PVVRQVVQgMj4mMQordWRldmFkbSBzZXR0bGUKKworCitlY2hvIC1lICJcblxuLS0tLS0gbGlzdCByZXN1bHQ6IC0tLS0tXG5cbiIgPj4gJFRTX09VVFBVVAorCiskVFNfQ01EX0ZESVNLIC0tbGlzdCAkREVWSUNFIDI+JjEgPj4gJFRTX09VVFBVVAorCit0c19mZGlza19jbGVhbiAkREVWSUNFCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZmRpc2svaWQgYi90ZXN0cy90cy9mZGlzay9pZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi44NWI4N2Q2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmRpc2svaWQKQEAgLTAsMCArMSw1MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJNQlIgLSBpZCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKKworRkRJU0tfQ01EX0lEMT0ieFxuaVxuMHgxXG5yXG53XG4iCitGRElTS19DTURfSUQyPSJ4XG5pXG4weDJcbnJcbndcbiIKKworIyBTcGFyYyB1c2VzIFNVTiBkaXNrIGxhYmVscyBieSBkZWZhdWx0IGFuZCB0aHVzIGhhcyBhIGRpZmZlcmVudCBvdXRwdXQKK0FSQ0g9JCh1bmFtZSAtbSkKK2Nhc2UgJEFSQ0ggaW4KKwkqc3BhcmMqICkKKwkJQVJDSF9FWFQ9Ii5zcGFyYyIKKwkJOzsKKwkqKQorCQlBUkNIX0VYVD0iIgorCQk7OworZXNhYworCitUU19FWFBFQ1RFRCs9IiR7QVJDSF9FWFR9IgorCit0c19sb2cgIkluaXRpYWxpemUgZW1wdHkgaW1hZ2UiCitURVNUX0lNQUdFX05BTUU9JCh0c19pbWFnZV9pbml0IDEwKQorCit0c19sb2cgIkNyZWF0ZSBNQlIgd2l0aCBJRD0weDEiCitlY2hvIC1lICIke0ZESVNLX0NNRF9JRDF9IiB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorJFRTX0NNRF9GRElTSyAtbCAke1RFU1RfSU1BR0VfTkFNRX0gfCBncmVwIGlkZW50aWZpZXIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkNyZWF0ZSBNQlIgd2l0aCBJRD0weDIiCitlY2hvIC1lICIke0ZESVNLX0NNRF9JRDJ9IiB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorJFRTX0NNRF9GRElTSyAtbCAke1RFU1RfSU1BR0VfTkFNRX0gfCBncmVwIGlkZW50aWZpZXIgPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZmRpc2svbWJyLWRvcy1tb2RlIGIvdGVzdHMvdHMvZmRpc2svbWJyLWRvcy1tb2RlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxOWRmMmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9tYnItZG9zLW1vZGUKQEAgLTAsMCArMSwxMzQgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMKKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iTUJSIC0gZG9zIG1vZGUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTUQ1IgorCitGRElTS19DTURfSU5JVD0ieFxuaVxuMHgxXG5yXG4iCitGRElTS19DTURfV1JJVEVfQ0xPU0U9IndcbnFcbiIKK0ZESVNLX0NNRF9DUkVBVEVfRE9TTEFCRUw9Im9cbiIgI2NyZWF0ZSBkb3MgbGFiZWwKK0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWT0iblxucFxuMVxuXG4rMU1cbiIgIyBjcmVhdGUgcHJpbWFyeSBwYXJ0aXRpb24gMSBvZiBzaXplIDFNQgorRkRJU0tfQ01EX0NIQU5HRV9QQVJUVFlQRT0idFxuYmZcbiIgIyBjaGFuZ2UgcGFydGl0aW9uIHR5cGUgdG8gImJmIC0gc29sYXJpcyIsIHRoaXMgcmVxdWlyZXMgdGhhdCB0aGVyZSBpcyBvbmx5IG9uZSBwYXJ0aXRpb24gdG8gY2hhbmdlCitGRElTS19DTURfU0VUX0FDVElWRT0iYVxuMVxuIiAjIHNldCBmaXJzdCBwYXJ0aXRpb24gYWN0aXZlCitGRElTS19DTURfQ1JFQVRFX0VYVEVOREVEPSJuXG5lXG4yXG5cbisxMFxuIiAjIGNyZWF0ZSBleHRlbmRlZCBwYXJ0aXRpb24gMiBvZiBzaXplIDExIGN5bGluZGVycworRkRJU0tfQ01EX0NSRUFURV9MT0dJQ0FMPSJuXG5sXG5cbisxXG4iICMgY3JlYXRlIG5leHQgbG9naWNhbCBwYXJ0aXRpb24gb2Ygc2l6ZSAyIGN5bAorRkRJU0tfQ01EX0RFTEVURV9MT0dJQ0FMUz0iZFxuNlxuZFxuNVxuZFxuNlxuIiAjIGRlbGV0ZSBtaWRkbGUsIGhlYWQsIHRhaWwsIGxhc3QgcGFydGl0aW9ucworRkRJU0tfQ01EX0RFTEVURV9QUklNQVJZPSJkXG4xXG4iICMgZGVsZXRlIGZpcnN0IHByaW1hcnkKK0ZESVNLX0NNRF9ERUxFVEVfRVhURU5ERUQ9ImRcbjJcbiIgIyBkZWxldGUgc2Vjb25kIHByaW1hcnkKKworRkRJU0tfT1BUSU9OUz0iLUMgMTAyNCAtYz1kb3MgLXU9Y3lsaW5kZXJzIgorCitmdW5jdGlvbiBwcmludF9sYXlvdXQgeworCWVjaG8gLW5lICJcbi0tLWxheW91dC0tLS0tLS0tLS1cbiIgPj4gJFRTX09VVFBVVAorCSRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAtbCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVAorCWVjaG8gLW5lICAgIi0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiA+PiAkVFNfT1VUUFVUCit9CisKKyMKKyMgTm90ZSB0aGF0IGZkaXNrIHdpbGwgZW5sYXJnZSB0aGUgZGlzayBpbWFnZSAodG8gNTdNQikgYmVjYXVzZSB0aGUgbG9naWNhbAorIyBwYXJ0aXRpb25zIGFyZSBvdXQgb2YgdGhlIG9yaWdpbmFsIHJhbmdlICgxME1CKS4KKyMKK3RzX2xvZyAiSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZSIKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2xvZyAiQ3JlYXRlIG5ldyBET1MgcGFydGl0aW9uIHRhYmxlIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX0RPU0xBQkVMfSR7RkRJU0tfQ01EX0lOSVR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJIHwgJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiQ3JlYXRlIHByaW1hcnkgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX1BSSU1BUll9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJTZXQgcGFydGl0aW9uIHR5cGUiCitlY2hvIC1lICIke0ZESVNLX0NNRF9DSEFOR0VfUEFSVFRZUEV9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJTZXQgcHJpbWFyeSBwYXJ0aXRpb24gYWN0aXZlIgorZWNobyAtZSAiJHtGRElTS19DTURfU0VUX0FDVElWRX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIlJlLWNyZWF0ZSBwcmltYXJ5IHBhcnRpdGlvbiIKK2VjaG8gLWUgImRcbiR7RkRJU0tfQ01EX0NSRUFURV9QUklNQVJZfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiQ3JlYXRlIGV4dGVuZGVkIHBhcnRpdGlvbiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9FWFRFTkRFRH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSBsb2dpY2FsIHBhcnRpdGlvbnMiCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9DUkVBVEVfTE9HSUNBTH0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwl8ICRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkRlbGV0ZSBsb2dpY2FsIHBhcnRpdGlvbnMiCitlY2hvIC1lICIke0ZESVNLX0NNRF9ERUxFVEVfTE9HSUNBTFN9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgYW5vdGhlciBsb2dpY2FsIHBhcnRpdGlvbiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV9MT0dJQ0FMfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiRGVsZXRlIHByaW1hcnkgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfREVMRVRFX1BSSU1BUll9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJEZWxldGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfREVMRVRFX0VYVEVOREVEfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZkaXNrL21ici1ub25kb3MtbW9kZSBiL3Rlc3RzL3RzL2ZkaXNrL21ici1ub25kb3MtbW9kZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43YWM1ZGFlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmRpc2svbWJyLW5vbmRvcy1tb2RlCkBAIC0wLDAgKzEsMTU0IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Ik1CUiAtIG5vbi1kb3MgbW9kZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9NRDUiCisKKyMgY21kIHRvIGNoYW5nZXMgc3lzdGVtIGlkIHRvIDB4MQorRkRJU0tfQ01EX0lOSVQ9InhcbmlcbjB4MVxuclxuIgorRkRJU0tfQ01EX1dSSVRFX0NMT1NFPSJ3XG5xXG4iCitGRElTS19DTURfQ1JFQVRFX0RPU0xBQkVMPSJvXG4iICNjcmVhdGUgZG9zIGxhYmVsCitGRElTS19DTURfQ1JFQVRFXzFQUklNQVJZPSJuXG5wXG5cblxuKzNNXG4iICMgY3JlYXRlIHByaW1hcnkgcGFydGl0aW9uIG9mIHNpemUgM01pQgorRkRJU0tfQ01EX0NSRUFURV8yUFJJTUFSWT0iblxucFxuXG5cbisyTVxuIiAjIGNyZWF0ZSBwcmltYXJ5IHBhcnRpdGlvbiBvZiBzaXplIDJNaUIKK0ZESVNLX0NNRF9TRVRfQUNUSVZFPSJhXG4xXG4iICMgc2V0IGZpcnN0IHBhcnRpdGlvbiBhY3RpdmUKK0ZESVNLX0NNRF9DUkVBVEVfRVhURU5ERUQ9Im5cbmVcblxuXG5cbiIgIyBjcmVhdGUgZXh0ZW5kZWQgcGFydGl0aW9uCitGRElTS19DTURfQ1JFQVRFX0xPR0lDQUw9Im5cbmxcblxuKzJNXG4iICMgY3JlYXRlIG5leHQgbG9naWNhbCBwYXJ0aXRpb24gb2Ygc2l6ZSAxMCBzZWN0b3JzCitGRElTS19DTURfREVMRVRFX0xPR0lDQUxTPSJkXG42XG5kXG41XG5kXG42XG4iICMgZGVsZXRlIG1pZGRsZSwgaGVhZCwgdGFpbCwgbGFzdCBwYXJ0aXRpb25zCitGRElTS19DTURfREVMRVRFXzFQUklNQVJZPSJkXG4xXG4iICMgZGVsZXRlIGZpcnN0IHByaW1hcnkKK0ZESVNLX0NNRF9ERUxFVEVfMlBSSU1BUlk9ImRcbjJcbiIgIyBkZWxldGUgZmlyc3QgcHJpbWFyeQorRkRJU0tfQ01EX0RFTEVURV9FWFRFTkRFRD0iZFxuM1xuIiAjIGRlbGV0ZSBzZWNvbmQgcHJpbWFyeQorCisjIFNwYXJjIHVzZXMgU1VOIGRpc2sgbGFiZWxzIGJ5IGRlZmF1bHQgYW5kIHRodXMgaGFzIGEgZGlmZmVyZW50IG91dHB1dAorQVJDSD0kKHVuYW1lIC1tKQorY2FzZSAkQVJDSCBpbgorCSpzcGFyYyogKQorCQlBUkNIX0VYVD0iLnNwYXJjIgorCQk7OworCSopCisJCUFSQ0hfRVhUPSIiCisJCTs7Citlc2FjCisKK1RTX0VYUEVDVEVEKz0iJHtBUkNIX0VYVH0iCisKK2Z1bmN0aW9uIHByaW50X2xheW91dCB7CisJZWNobyAtbmUgIlxuLS0tbGF5b3V0LS0tLS0tLS0tLVxuIiA+PiAkVFNfT1VUUFVUCisJJFRTX0NNRF9GRElTSyAtbCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVAorCWVjaG8gLW5lICAgIi0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiA+PiAkVFNfT1VUUFVUCit9CisKKyNzZXQgLXgKKwordHNfbG9nICJJbml0aWFsaXplIGVtcHR5IGltYWdlIgorVEVTVF9JTUFHRV9OQU1FPSQodHNfaW1hZ2VfaW5pdCAyMCkJIyAyMCBNaUIKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworIyBuZWVkIHRvIHJ1biBpbml0IHR3aWNlLCB0byBjaGFuZ2Ugc3lzdGVtIElEIGFmdGVyIG5ldyBsYWJlbCwgb3RoZXJ3aXNlIHN5c3RlbQorIyBJRCB3aWxsIGJlIHJhbmRvbSBhbmQgd2lsbCBzY3JldyB1cCBtZDUncwordHNfbG9nICJDcmVhdGUgbmV3IERPUyBwYXJ0aXRpb24gdGFibGUiCitlY2hvIC1lICIke0ZESVNLX0NNRF9JTklUfSR7RkRJU0tfQ01EX0NSRUFURV9ET1NMQUJFTH0ke0ZESVNLX0NNRF9JTklUfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCSB8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgMXN0IHByaW1hcnkgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFXzFQUklNQVJZfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIlNldCBwcmltYXJ5IHBhcnRpdGlvbiBhY3RpdmUiCitlY2hvIC1lICIke0ZESVNLX0NNRF9TRVRfQUNUSVZFfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIlJlLWNyZWF0ZSAxc3QgcHJpbWFyeSBwYXJ0aXRpb24iCitlY2hvIC1lICJkXG4ke0ZESVNLX0NNRF9DUkVBVEVfMVBSSU1BUll9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiQ3JlYXRlIDJuZCBwcmltYXJ5IHBhcnRpdGlvbiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0NSRUFURV8yUFJJTUFSWX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX0VYVEVOREVEfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJDcmVhdGUgbG9naWNhbCBwYXJ0aXRpb25zIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX0xPR0lDQUx9JHtGRElTS19DTURfQ1JFQVRFX0xPR0lDQUx9JHtGRElTS19DTURfQ1JFQVRFX0xPR0lDQUx9JHtGRElTS19DTURfQ1JFQVRFX0xPR0lDQUx9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiRGVsZXRlIGxvZ2ljYWwgcGFydGl0aW9ucyIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0RFTEVURV9MT0dJQ0FMU30ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwl8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKworCit0c19sb2cgIkNyZWF0ZSBhbm90aGVyIGxvZ2ljYWwgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFX0xPR0lDQUx9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2xvZyAiRGVsZXRlIHByaW1hcnkgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfREVMRVRFXzFQUklNQVJZfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkRlbGV0ZSBwcmltYXJ5IHBhcnRpdGlvbiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0RFTEVURV8yUFJJTUFSWX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIFwKKwl8ICRUU19DTURfRkRJU0sgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCitwcmludF9sYXlvdXQKKwordHNfbG9nICJEZWxldGUgZXh0ZW5kZWQgcGFydGl0aW9uIgorZWNobyAtZSAiJHtGRElTS19DTURfREVMRVRFX0VYVEVOREVEfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAtYz1kb3MgLXU9Y3lsaW5kZXJzICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRfbGF5b3V0CisKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZmRpc2svbWJyLXNvcnQgYi90ZXN0cy90cy9mZGlzay9tYnItc29ydApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yY2RiMTE1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmRpc2svbWJyLXNvcnQKQEAgLTAsMCArMSw3OSBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJNQlIgLSBzb3J0IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCisjIGNtZCB0byBjaGFuZ2VzIHN5c3RlbSBpZCB0byAweDEKK0ZESVNLX0NNRF9XUklURV9DTE9TRT0id1xucVxuIgorRkRJU0tfQ01EX0NSRUFURV9ET1NMQUJFTD0ib1xuIiAjY3JlYXRlIGRvcyBsYWJlbAorCitGRElTS19DTURfQ1JFQVRFXzFQUklNQVJZPSJuXG5wXG4xXG40MDk2XG42MTQzXG4iCitGRElTS19DTURfQ1JFQVRFXzJQUklNQVJZPSJuXG5wXG4yXG4yMDQ4XG40MDk1XG4iCitGRElTS19DTURfQ1JFQVRFXzNQUklNQVJZPSJuXG5wXG4zXG42MTQ0XG44MTkxXG4iCitGRElTS19DTURfQ1JFQVRFX0VYVEVOREVEPSJuXG5lXG5cblxuIgorCitGRElTS19DTURfQ1JFQVRFXzFMT0dJQ0FMPSJuXG4xNDMzNlxuMTYzODNcbiIKK0ZESVNLX0NNRF9DUkVBVEVfMkxPR0lDQUw9Im5cbjIyNTI4XG4yNDU3NVxuIgorRkRJU0tfQ01EX0NSRUFURV8zTE9HSUNBTD0iblxuMTg0MzJcbjIwNDc5XG4iCitGRElTS19DTURfQ1JFQVRFXzRMT0dJQ0FMPSJuXG4xMDI0MFxuMTIyODdcbiIKKworRkRJU0tfQ01EX0VYUEVSVF9TT1JUPSJ4XG5mXG5yXG4iCisKK2Z1bmN0aW9uIHByaW50X2xheW91dCB7CisJZWNobyAtbmUgIlxuLS0tbGF5b3V0LS0tLS0tLS0tLVxuIiA+PiAkVFNfT1VUUFVUCisJJFRTX0NNRF9GRElTSyAtbCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVAorCWVjaG8gLW5lICAgIi0tLS0tLS0tLS0tLS0tLS0tLS1cblxuIiA+PiAkVFNfT1VUUFVUCit9CisKKyNzZXQgLXgKKwordHNfbG9nICJJbml0aWFsaXplIGVtcHR5IGltYWdlIgorVEVTVF9JTUFHRV9OQU1FPSQodHNfaW1hZ2VfaW5pdCAyMCkJIyAyMCBNaUIKKwordHNfbG9nICJDcmVhdGUgbmV3IERPUyBwYXJ0aXRpb24gdGFibGUiCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfRE9TTEFCRUx9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJIHwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCit0c19sb2cgIkNyZWF0ZSBwcmltYXJ5IHBhcnRpdGlvbnMiCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfMVBSSU1BUll9JHtGRElTS19DTURfQ1JFQVRFXzJQUklNQVJZfSR7RkRJU0tfQ01EX0NSRUFURV8zUFJJTUFSWX0ke0ZESVNLX0NNRF9DUkVBVEVfRVhURU5ERUR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiBcCisJfCAkVFNfQ01EX0ZESVNLICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworcHJpbnRfbGF5b3V0CisKKwordHNfbG9nICJDcmVhdGUgbG9naWNhbCBwYXJ0aXRpb25zIgorZWNobyAtZSAiJHtGRElTS19DTURfQ1JFQVRFXzFMT0dJQ0FMfSR7RkRJU0tfQ01EX0NSRUFURV8yTE9HSUNBTH0ke0ZESVNLX0NNRF9DUkVBVEVfM0xPR0lDQUx9JHtGRElTS19DTURfQ1JFQVRFXzRMT0dJQ0FMfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCisKK3RzX2xvZyAiRml4IG9yZGVyLiIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0VYUEVSVF9TT1JUfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCXwgJFRTX0NNRF9GRElTSyAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3ByaW50X2xheW91dAorCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9vZGRpbnB1dCBiL3Rlc3RzL3RzL2ZkaXNrL29kZGlucHV0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2NzkyNDIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9vZGRpbnB1dApAQCAtMCwwICsxLDQ3IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImludmFsaWQgaW5wdXQgdGVzdHMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTUQ1IgorCisjc2V0IC14CisKK3RzX2xvZyAiSW5pdGlhbGl6ZSBlbXB0eSBpbWFnZSIKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKKyMKKyMgTm90ZSB0aGF0IHNpbmNlIDIuMjMgdGhlIERPUy1tb2RlIGhhcyBlZmZlY3Qgb25seSBpZiB0aGVyZSBpcyBhIE1CUiBvbiB0aGUgZGV2aWNlLgorIworCit0c19sb2cgIkVtcHR5IGltYWdlIGxpc3RpbmciICMgdGhpcyBzaG91bGQgcmVwb3J0IGVtcHR5IHBhcnRpdGlvbiB0YWJsZQorIyBURVNUX0lNQUdFX05BTUUgaGFzIGFic29sdXRlIHBhdGgsIGFuZCBpcyBieSBkZWZpbml0aW9uIGRpZmZlcmVudCBvbiBlYWNoIGNvbXB1dGVyLCB3ZSBuZWVkIHRvIHNlZCBpdCBhd2F5CiskVFNfQ01EX0ZESVNLIC1jPWRvcyAtdT1jeWxpbmRlcnMgLWwgJHtURVNUX0lNQUdFX05BTUV9IDI+JjEgfCBzZWQgLWUgInMvJHtURVNUX0lNQUdFX05BTUUvL1wvL1xcL30vdGVzdGltYWdlLyIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIk5vbmV4aXN0ZW50IGZpbGUiICMgdGhpcyBvcmlnaW5hbGx5IGRvZXMgYWJzb2x1dGVseSBub3RoaW5nCiskVFNfQ01EX0ZESVNLIC1jPWRvcyAtdT1jeWxpbmRlcnMgLWwgX2FfZmlsZV90aGF0X2RvZXNfbm90X2V4aXN0XyA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfbG9nICJUb28gc21hbGwgZmlsZSIgIyBzYW1lIGhlcmUKK2VjaG8gICJUaGlzIGZpbGUgaXMgdG9vIHNtYWxsIiA+PiBvZGRpbnB1dC50b29zbWFsbAorJFRTX0NNRF9GRElTSyAtYz1kb3MgLXU9Y3lsaW5kZXJzIC1sIG9kZGlucHV0LnRvb3NtYWxsID4+ICRUU19PVVRQVVQgMj4mMQorcm0gb2RkaW5wdXQudG9vc21hbGwKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mZGlzay9zdW5sYWJlbCBiL3Rlc3RzL3RzL2ZkaXNrL3N1bmxhYmVsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ2YjEwMzMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mZGlzay9zdW5sYWJlbApAQCAtMCwwICsxLDkyIEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InN1bmxhYmVsIHRlc3RzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01ENSIKKworRkRJU0tfQ01EX0lOSVQ9InNcbiIgIyBjcmVhdGUgbmV3IHN1bmxhYmVsCitGRElTS19DTURfV1JJVEVfQ0xPU0U9IndcbnFcbiIKK0ZESVNLX0NNRF9ERUxFVEVBTEw9ImRcbjFcbmRcbjJcbmRcbjNcbmRcbjRcbmRcbjVcbmRcbjZcbmRcbjdcbmRcbjhcbiIgIyBkZWxldGUgYWxsIHBhcnRpdGlvbnMKKworRkRJU0tfQ01EX0NSRUFURV9QUklNQVJZPSJuXG5cblxuMTI4XG4iICMgY3JlYXRlIGZpcnN0IHBhcnRpdGlvbgorRkRJU0tfQ01EX1RPR0dMRV9SRUFET05MWT0iYVxuMVxuIiAjIHNldHMgZmlyc3QgcGFydGl0aW9uIGFzIHJlYWQtb25seQorRkRJU0tfQ01EX1RPR0dMRV9NT1VOVEFCTEU9ImNcbjFcbiIgIyBzZXRzIGZpcnN0IHBhcnRpdGlvbiBhcyBtb3VudGFibGUKK0ZESVNLX0NNRF9DSEFOR0VfU1lTSUQ9InRcbjRcbiIgIyBjaGFuZ2VzIHN5c2lkIHRvIDQgKFN1bk9TIHVzcikKK0ZESVNLX0NNRF9DUkVBVEVfU0VDT05EQVJZPSJuXG4yXG4xMjhcblxuIiAjIGNyZWF0ZSBzZWNvbmRhcnkgcGFydGl0aW9uIHRvIHRoZSBlbmQgb2YgZGlzaworCitGRElTS19PUFRJT05TPSItSCAxIC1TIDYzIC11PWN5bGluZGVycyIKKworI3NldCAteAorCit0c19sb2cgIkluaXRpYWxpemUgZW1wdHkgaW1hZ2UiCitURVNUX0lNQUdFX05BTUU9JCh0c19pbWFnZV9pbml0IDEwKQordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIkNyZWF0ZSBuZXcgU1VOIHBhcnRpdGlvbiB0YWJsZSIKK2VjaG8gLWUgIiR7RkRJU0tfQ01EX0lOSVR9JHtGRElTS19DTURfREVMRVRFQUxMfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgXAorCSB8ICRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKKyRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAtbCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVAorCit0c19sb2cgIkNyZWF0ZSBmaXJzdCBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfUFJJTUFSWX0ke0ZESVNLX0NNRF9XUklURV9DTE9TRX0iIHwgXAorCSRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCit0c19pbWFnZV9tZDVzdW0gPj4gJFRTX09VVFBVVCAyPiYxCisKKyRUU19DTURfRkRJU0sgJHtGRElTS19PUFRJT05TfSAtbCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVAorCit0c19sb2cgIlNldCBwYXJ0aXRpb24gc3lzaWQiCitlY2hvIC1lICIke0ZESVNLX0NNRF9DSEFOR0VfU1lTSUR9JHtGRElTS19DTURfV1JJVEVfQ0xPU0V9IiB8IFwKKwkkVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAordHNfaW1hZ2VfbWQ1c3VtID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfQ01EX0ZESVNLICR7RkRJU0tfT1BUSU9OU30gLWwgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJTZXQgZmlyc3QgcGFydGl0aW9uIHJlYWRvbmx5IgorZWNobyAtZSAiJHtGRElTS19DTURfVE9HR0xFX1JFQURPTkxZfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9IC1sICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiU2V0IGZpcnN0IHBhcnRpdGlvbiBtb3VudGFibGUiCitlY2hvIC1lICIke0ZESVNLX0NNRF9UT0dHTEVfTU9VTlRBQkxFfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9IC1sICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiQ3JlYXRlIHNlY29uZCBwYXJ0aXRpb24iCitlY2hvIC1lICIke0ZESVNLX0NNRF9DUkVBVEVfU0VDT05EQVJZfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9IC1sICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAiRGVsZXRlIGFsbCBwYXJ0aXRpb25zIgorZWNobyAtZSAiJHtGRElTS19DTURfREVMRVRFQUxMfSR7RkRJU0tfQ01EX1dSSVRFX0NMT1NFfSIgfCBcCisJJFRTX0NNRF9GRElTSyAke0ZESVNLX09QVElPTlN9ICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKK3RzX2ltYWdlX21kNXN1bSA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmRpc2tfY2xlYW4gJHtURVNUX0lNQUdFX05BTUV9Cit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZmluY29yZS9jb3VudCBiL3Rlc3RzL3RzL2ZpbmNvcmUvY291bnQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDY3MDBhMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZpbmNvcmUvY291bnQKQEAgLTAsMCArMSwyMzEgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImNvdW50IGZpbGUgY29udGVudHMgaW4gY29yZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TWVNJTkZPIgorCisjIFNlbmQgcGF0Y2ggaWYgeW91IGtub3cgaG93IHRvIGtlZXAgaXQgcG9ydGFibGUgYW5kIHJvYnVzdC4gVGhhbmtzLgorVFNfS05PV05fRkFJTD0ieWVzIgorCitmdW5jdGlvbiBoZWFkZXIKK3sKKyAgICBlY2hvICJbIiAiJDEiICJdIgorfQorCitmdW5jdGlvbiBmb290ZXIKK3sKKyAgICBlY2hvICJyZXR1cm4gdmFsdWU6ICQxIgorfQorCitmdW5jdGlvbiBtYWtlX2lucHV0X25hbWUKK3sKKyAgICBoZWFkZXI9JDEKKyAgICBwcmVmaXg9aV8KKyAgICBlY2hvICR7cHJlZml4fSQoc2VkIC1lICJzL1teLSthLXpBLVowLTlfXS9fL2ciPDw8IiRoZWFkZXIiKQorfQorCitmdW5jdGlvbiBfZGQKK3sKKwlsb2NhbCBtc2cKKwlsb2NhbCByZXQ9MAorCisJbXNnPSQoZGQgIiRAIiAyPiYxKQorCXJldD0kPworCWlmIFsgJHJldCAhPSAwIF07IHRoZW4KKwkJZWNobyAiZmFpbGVkOiBkZCAkQCIgPiYyCisJCWVjaG8gIiRtc2ciID4mMgorCWZpCisJcmV0dXJuICRyZXQKK30KKworZnVuY3Rpb24gY2hlY2tfZGRfZnNfZmVhdAoreworCWxvY2FsIHRlc3RmPSIkVFNfT1VURElSL2RkdGVzdCIKKwlybSAtZiAiJHRlc3RmIgorCXRvdWNoICIkdGVzdGYiCisKKwkjIE5GUyBzZWVtcyB0byBmYWlsIGZvciBkaXJlY3QgQU5EIGFwcGVuZAorCV9kZCBpZj0vZGV2L3plcm8gb2Y9IiR0ZXN0ZiIgYnM9MWsgY291bnQ9MiBvZmxhZz1kaXJlY3QsYXBwZW5kICY+L2Rldi9udWxsIFwKKwkJfHwgdHNfc2tpcCAidW5zdXBwb3J0ZWQ6IGRkIG9mbGFnPWRpcmVjdCxhcHBlbmQiCisKKwkjIFRPRE86IFNob3VsZCB3ZSBjaGVjayBmb3Igc3BhcnNlIGZpbGUgc3VwcG9ydD8KKworCXJtIC1mICIkdGVzdGYiCit9CisKK2Z1bmN0aW9uIHJ1bl9kZF90ZXN0Cit7CisgICAgaGVhZGVyPSQxCisgICAgYnM9JDIKKyAgICBmbGFncz0kMworCisgICAgaW5wdXQ9JChtYWtlX2lucHV0X25hbWUgIiRoZWFkZXIiKQorICAgIElOUFVUPSIke0lOUFVUfSAke2lucHV0fSIKKwlybSAtZiAiJGlucHV0IgorCisgICAgaWYgWyAiJGJzIiA9IDAgXTsgdGhlbgorCQl0b3VjaCAkaW5wdXQKKyAgICBlbHNlCisJCV9kZCBpZj0vZGV2L3plcm8gb2Y9JGlucHV0IGNvdW50PTEgYnM9JGJzICRmbGFncyB8fCByZXR1cm4KKyAgICBmaQorCisgICAgJFRTX0NNRF9GSU5DT1JFIC0tb3V0cHV0ICRPVVRfQ09MVU1OUyAgLS1ieXRlcyAtLW5vaGVhZGluZ3MgJGlucHV0CisKKyAgICBmb290ZXIgIiQ/IgorfQorCitmdW5jdGlvbiBydW5fZGRfZGRfdGVzdAoreworICAgIGhlYWRlcj0kMQorICAgIGZsYWdzMD0kMgorICAgIGZsYWdzMT0kMworCisgICAgYnM9JFBBR0VfU0laRQorCisgICAgaW5wdXQ9JChtYWtlX2lucHV0X25hbWUgIiRoZWFkZXIiKQorICAgIElOUFVUPSIke0lOUFVUfSAke2lucHV0fSIKKwlybSAtZiAiJGlucHV0IgorCisgICAgX2RkIGlmPS9kZXYvemVybyBvZj0kaW5wdXQgY291bnQ9MSBicz0kYnMgJGZsYWdzMCB8fCByZXR1cm4KKyAgICBfZGQgaWY9L2Rldi96ZXJvIG9mPSRpbnB1dCBjb3VudD0xIGJzPSRicyAkZmxhZ3MxIHx8IHJldHVybgorCisgICAgJFRTX0NNRF9GSU5DT1JFIC0tb3V0cHV0ICRPVVRfQ09MVU1OUyAtLWJ5dGVzIC0tbm9oZWFkaW5ncyAkaW5wdXQKKworICAgIGZvb3RlciAiJD8iCit9CisKKworUEFHRV9TSVpFPSQoJFRTX0hFTFBFUl9TWVNJTkZPIHBhZ2VzaXplKQorV0lORE9XX1NJWkU9JCgoIDMyICogMTAyNCAqIFBBR0VfU0laRSApKQorCisjIHdlIHVzZSBQQUdFX1NJWkUgZGVwZW5kZW50IG91dHB1dCBmb3IgYSBmZXcgc3lzdGVtcworaWYgdGVzdCAtZiAiJFRTX0VYUEVDVEVELiRQQUdFX1NJWkUiOyB0aGVuCisJVFNfRVhQRUNURUQrPSIuJFBBR0VfU0laRSIKKwlPVVRfQ09MVU1OUz0iUEFHRVMsU0laRSxGSUxFIgorZWxzZQorCVRTX0VYUEVDVEVEKz0iLm5vc2l6ZSIKKwlPVVRfQ09MVU1OUz0iUEFHRVMsRklMRSIKK2ZpCisKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkNPUkUiCit0c19jZCAiJFRTX09VVERJUiIKKworY2hlY2tfZGRfZnNfZmVhdAorCitJTlBVVD0KK2lucHV0PQorCit7CisgICAgaW5wdXQ9bm9fc3VjaF9maWxlCisgICAgSU5QVVQ9IiR7SU5QVVR9ICR7aW5wdXR9IgorCisgICAgaGVhZGVyICJOTyBFWENJVElORyBGSUxFIgorICAgICRUU19DTURfRklOQ09SRSAtLW91dHB1dCAkT1VUX0NPTFVNTlMgLS1ieXRlcyAtLW5vaGVhZGluZ3MgJGlucHV0CisgICAgZm9vdGVyICIkPyIKK30gPj4gJFRTX09VVFBVVCAyPiYxCisKK3sKKyAgICBydW5fZGRfdGVzdCAiRU1QVFkgRklMRSIgMAorfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworeworICAgIHJ1bl9kZF90ZXN0ICJQQUdFU0laRSAtMSAoaW5jb3JlKSIgJCgoIFBBR0VfU0laRSAtIDEgKSkKK30gPj4gJFRTX09VVFBVVCAyPiYxCisKK3sKKyAgICBydW5fZGRfdGVzdCAiSlVTVCBQQUdFU0laRShpbmNvcmUpIiAkKCggUEFHRV9TSVpFICkpCit9ID4+ICRUU19PVVRQVVQgMj4mMQorCit7CisgICAgcnVuX2RkX3Rlc3QgIkpVU1QgUEFHRVNJWkUoZGlyZWN0aW8pIiAkKCggUEFHRV9TSVpFICkpICJvZmxhZz1kaXJlY3QiCit9ID4+ICRUU19PVVRQVVQgMj4mMQorCit7CisgICAgcnVuX2RkX3Rlc3QgIlRXTyBQQUdFUyhpbmNvcmUpIiAkKCggMiAqIFBBR0VfU0laRSApKQorfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworeworICAgIHJ1bl9kZF90ZXN0ICJUV08gUEFHRVMoZGlyZWN0aW8pIiAkKCggMiAqIFBBR0VfU0laRSApKSAib2ZsYWc9ZGlyZWN0IgorfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworeworICAgIHJ1bl9kZF9kZF90ZXN0ICJUV08gUEFHRVMobWl4ZWQgZGlyZWN0aW8vaW5jb3JlKSIgXAorCQkJICAgIG9mbGFnPWRpcmVjdCBcCisJCQkgICAgIm9mbGFnPWFwcGVuZCBzZWVrPTEiCit9ID4+ICRUU19PVVRQVVQgMj4mMQorCit7CisgICAgcnVuX2RkX2RkX3Rlc3QgIlRXTyBQQUdFUyhtaXhlZCBpbmNvcmUvZGlyZWN0aW8pIiBcCisJCSAgICIiIFwKKwkJICAgIm9mbGFnPWRpcmVjdCxhcHBlbmQgc2Vlaz0xIgorfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworeworICAgIGhvbGVfY291bnQ9JCgoIFdJTkRPV19TSVpFIC8gUEFHRV9TSVpFIC0gMiApKQorICAgIHJ1bl9kZF9kZF90ZXN0ICJXSU5ET1cgU0laRShpbmNvcmUtc3BhcnNlLWluY29yZSkiIFwKKwkJICAgIiIgXAorCQkgICAib2ZsYWc9YXBwZW5kIHNlZWs9JGhvbGVfY291bnQiCit9ID4+ICRUU19PVVRQVVQgMj4mMQorCit7CisgICAgaG9sZV9jb3VudD0kKCggV0lORE9XX1NJWkUgLyBQQUdFX1NJWkUgLSAyICkpCisgICAgcnVuX2RkX2RkX3Rlc3QgIldJTkRPVyBTSVpFKGRpcmVjdGlvLXNwYXJzZS1kaXJlY3RpbykiIFwKKwkJICAgIm9mbGFnPWRpcmVjdCIgXAorCQkgICAib2ZsYWc9YXBwZW5kLGRpcmVjdCBzZWVrPSRob2xlX2NvdW50IgorfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworeworICAgIGhvbGVfY291bnQ9JCgoIFdJTkRPV19TSVpFIC8gUEFHRV9TSVpFIC0gMiApKQorICAgIHJ1bl9kZF9kZF90ZXN0ICJXSU5ET1cgU0laRShpbmNvcmUtc3BhcnNlLWRpcmVjdGlvKSIgXAorCQkgICAiIiBcCisJCSAgICJvZmxhZz1hcHBlbmQsZGlyZWN0IHNlZWs9JGhvbGVfY291bnQiCit9ID4+ICRUU19PVVRQVVQgMj4mMQorCit7CisgICAgaG9sZV9jb3VudD0kKCggV0lORE9XX1NJWkUgLyBQQUdFX1NJWkUgLSAyICkpCisgICAgcnVuX2RkX2RkX3Rlc3QgIldJTkRPVyBTSVpFKGRpcmVjdGlvLXNwYXJzZS1pbmNvcmUpIiBcCisJCSAgICJvZmxhZz1kaXJlY3QiIFwKKwkJICAgIm9mbGFnPWFwcGVuZCBzZWVrPSRob2xlX2NvdW50IgorfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworeworICAgIGhvbGVfY291bnQ9JCgoIFdJTkRPV19TSVpFIC8gUEFHRV9TSVpFIC0gMSApKQorICAgIHJ1bl9kZF9kZF90ZXN0ICJXSU5ET1cgU0laRSArIDEgcGFnZShpbmNvcmUtc3BhcnNlLWluY29yZSkiIFwKKwkJICAgIiIgXAorCQkgICAib2ZsYWc9YXBwZW5kIHNlZWs9JGhvbGVfY291bnQiCit9ID4+ICRUU19PVVRQVVQgMj4mMQorCit7CisgICAgaG9sZV9jb3VudD0kKCggV0lORE9XX1NJWkUgLyBQQUdFX1NJWkUgLSAxICkpCisgICAgcnVuX2RkX2RkX3Rlc3QgIldJTkRPVyBTSVpFICsgMSBwYWdlKGRpcmVjdGlvLXNwYXJzZS1kaXJlY3RpbykiIFwKKwkJICAgIm9mbGFnPWRpcmVjdCIgXAorCQkgICAib2ZsYWc9YXBwZW5kLGRpcmVjdCBzZWVrPSRob2xlX2NvdW50IgorfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworeworICAgIGhvbGVfY291bnQ9JCgoIFdJTkRPV19TSVpFIC8gUEFHRV9TSVpFIC0gMSApKQorICAgIHJ1bl9kZF9kZF90ZXN0ICJXSU5ET1cgU0laRSArIDEgcGFnZShpbmNvcmUtc3BhcnNlLWRpcmVjdGlvKSIgXAorCQkgICAiIiBcCisJCSAgICJvZmxhZz1hcHBlbmQsZGlyZWN0IHNlZWs9JGhvbGVfY291bnQiCit9ID4+ICRUU19PVVRQVVQgMj4mMQorCit7CisgICAgaG9sZV9jb3VudD0kKCggV0lORE9XX1NJWkUgLyBQQUdFX1NJWkUgLSAxICkpCisgICAgcnVuX2RkX2RkX3Rlc3QgIldJTkRPVyBTSVpFICsgMSBwYWdlKGRpcmVjdGlvLXNwYXJzZS1pbmNvcmUpIiBcCisJCSAgICJvZmxhZz1kaXJlY3QiIFwKKwkJICAgIm9mbGFnPWFwcGVuZCBzZWVrPSRob2xlX2NvdW50IgorfSA+PiAkVFNfT1VUUFVUIDI+JjEKKworeworICAgIGhlYWRlciAiTVVMVElQTEUgRklMRVMiCisgICAgJFRTX0NNRF9GSU5DT1JFIC0tb3V0cHV0ICRPVVRfQ09MVU1OUyAtLWJ5dGVzICRJTlBVVAorICAgIGZvb3RlciAiJD8iCit9ID4+ICRUU19PVVRQVVQgMj4mMQorCitybSAtZiAkSU5QVVQKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9maW5kbW50L2ZpbGVzL21vdW50aW5mbyBiL3Rlc3RzL3RzL2ZpbmRtbnQvZmlsZXMvbW91bnRpbmZvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3NWVhMWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9maW5kbW50L2ZpbGVzL21vdW50aW5mbwpAQCAtMCwwICsxLDMzIEBACisxNSAyMCAwOjMgLyAvcHJvYyBydyxyZWxhdGltZSAtIHByb2MgL3Byb2MgcncKKzE2IDIwIDA6MTUgLyAvc3lzIHJ3LHJlbGF0aW1lIC0gc3lzZnMgL3N5cyBydworMTcgMjAgMDo1IC8gL2RldiBydyxyZWxhdGltZSAtIGRldnRtcGZzIHVkZXYgcncsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1CisxOCAxNyAwOjEwIC8gL2Rldi9wdHMgcncscmVsYXRpbWUgLSBkZXZwdHMgZGV2cHRzIHJ3LGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorMTkgMTcgMDoxNiAvIC9kZXYvc2htIHJ3LHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncKKzIwIDEgODo0IC8gLyBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTQgcncsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzIxIDE2IDA6MTcgLyAvc3lzL2ZzL2Nncm91cCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncsbW9kZT03NTUKKzIyIDIxIDA6MTggLyAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKKzIzIDIxIDA6MTkgLyAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1c2V0CisyNCAyMSAwOjIwIC8gL3N5cy9mcy9jZ3JvdXAvbnMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbnMKKzI1IDIxIDA6MjEgLyAvc3lzL2ZzL2Nncm91cC9jcHUgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1CisyNiAyMSAwOjIyIC8gL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHVhY2N0CisyNyAyMSAwOjIzIC8gL3N5cy9mcy9jZ3JvdXAvbWVtb3J5IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG1lbW9yeQorMjggMjEgMDoyNCAvIC9zeXMvZnMvY2dyb3VwL2RldmljZXMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZGV2aWNlcworMjkgMjEgMDoyNSAvIC9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZnJlZXplcgorMzAgMjEgMDoyNiAvIC9zeXMvZnMvY2dyb3VwL25ldF9jbHMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbmV0X2NscworMzEgMjEgMDoyNyAvIC9zeXMvZnMvY2dyb3VwL2Jsa2lvIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGJsa2lvCiszMiAxNiAwOjI4IC8gL3N5cy9rZXJuZWwvc2VjdXJpdHkgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszMyAxNyAwOjI5IC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNCAxNiAwOjMwIC8gL3N5cy9rZXJuZWwvZGVidWcgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNSAxNSAwOjMxIC8gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzYgMTcgMDozMiAvIC9kZXYvbXF1ZXVlIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzcgMTUgMDoxNCAvIC9wcm9jL2J1cy91c2IgcncscmVsYXRpbWUgLSB1c2JmcyAvcHJvYy9idXMvdXNiIHJ3CiszOCAzMyAwOjMzIC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBodWdldGxiZnMgaHVnZXRsYmZzIHJ3CiszOSAzNiAwOjEyIC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgLSBtcXVldWUgbXF1ZXVlIHJ3Cis0MCAyMCA4OjYgLyAvYm9vdCBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTYgcncsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzQxIDIwIDI1MzowIC8gL2hvbWUva3phayBydyxub2F0aW1lIC0gZXh0NCAvZGV2L21hcHBlci9remFrLWhvbWUgcncsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorNDIgMzUgMDozNCAvIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBydyxyZWxhdGltZSAtIGJpbmZtdF9taXNjIG5vbmUgcncKKzQzIDE2IDA6MzUgLyAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgcncscmVsYXRpbWUgLSBmdXNlY3RsIGZ1c2VjdGwgcncKKzQ0IDQxIDA6MzYgLyAvaG9tZS9remFrLy5ndmZzIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSAtIGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiBndmZzLWZ1c2UtZGFlbW9uIHJ3LHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorNDUgMjAgMDozNyAvIC92YXIvbGliL25mcy9ycGNfcGlwZWZzIHJ3LHJlbGF0aW1lIC0gcnBjX3BpcGVmcyBzdW5ycGMgcncKKzQ3IDIwIDA6MzggLyAvbW50L3NvdW5kcyBydyxyZWxhdGltZSAtIGNpZnMgLy9mb28uaG9tZS9iYXIvIHJ3LHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0Cis0OCAyMCAwOjM5IC8gL21udC9mb29cMDQwKGRlbGV0ZWQpIHJ3LHJlbGF0aW1lIC0gYmFyIC9mb29vb28gcncKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZpbmRtbnQvZmlsZXMvbW91bnRpbmZvLW1lc3N5IGIvdGVzdHMvdHMvZmluZG1udC9maWxlcy9tb3VudGluZm8tbWVzc3kKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmUyYWM5ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZpbmRtbnQvZmlsZXMvbW91bnRpbmZvLW1lc3N5CkBAIC0wLDAgKzEsMjkgQEAKKzIyMCAxODkgODozIC9hcmNoIC8gcncscmVsYXRpbWUgc2hhcmVkOjUwIC0gZXh0NCAvZGV2L3NkYTMgcncKKzIyMSAyMjAgMDoxNyAvIC9zeXMgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NTEgLSBzeXNmcyBzeXNmcyBydworMjIyIDIyMCAwOjUyIC8gL2RldiBydyxub3N1aWQgc2hhcmVkOjUyIC0gdG1wZnMgdG1wZnMgcncsbW9kZT03NTUKKzIyMyAyMjIgMDo1MyAvIC9kZXYvc2htIHJ3LG5vc3VpZCxub2RldiBzaGFyZWQ6NTMgLSB0bXBmcyB0bXBmcyBydworMjI0IDIyMiAwOjU2IC8gL2Rldi9wdHMgcncsbm9zdWlkLG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NTYgLSBkZXZwdHMgZGV2cHRzIHJ3LGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTY2NgorMjI1IDIyMiAwOjIxIC81IC9kZXYvY29uc29sZSBydyxub3N1aWQsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDo1NyBtYXN0ZXI6NCAtIGRldnB0cyBkZXZwdHMgcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCisyMjYgMjIwIDA6NTQgLyAvcnVuIHJ3LG5vc3VpZCxub2RldiBzaGFyZWQ6NTQgLSB0bXBmcyB0bXBmcyBydyxtb2RlPTc1NQorMjI3IDIyNiAwOjE4IC9zeXN0ZW1kL25zcGF3bi9wcm9wYWdhdGUvYXJjaCAvcnVuL3N5c3RlbWQvbnNwYXduL2luY29taW5nIHJvLHJlbGF0aW1lIG1hc3RlcjoxMSAtIHRtcGZzIHJ1biBydyxtb2RlPTc1NQorMjI4IDIyMCAwOjU1IC8gL3RtcCBydyBzaGFyZWQ6NTUgLSB0bXBmcyB0bXBmcyBydworMjMxIDIyMCAwOjU4IC8gL3Byb2Mgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NTggLSBwcm9jIHByb2MgcncKKzIzMiAyMzEgMDo1OCAvc3lzIC9wcm9jL3N5cyBybyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDo1OCAtIHByb2MgcHJvYyBydworMjMzIDIzMSAwOjU4IC9zeXNycS10cmlnZ2VyIC9wcm9jL3N5c3JxLXRyaWdnZXIgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NTggLSBwcm9jIHByb2MgcncKKzkzIDIyMSAwOjU5IC8gL3N5cy9mcy9jZ3JvdXAgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyBzaGFyZWQ6NTkgLSB0bXBmcyB0bXBmcyBybyxtb2RlPTc1NQorOTQgOTMgMDoyOSAvIC9zeXMvZnMvY2dyb3VwL3BlcmZfZXZlbnQgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NjAgLSBjZ3JvdXAgY2dyb3VwIHJ3LHBlcmZfZXZlbnQKKzk1IDkzIDA6MzEgLyAvc3lzL2ZzL2Nncm91cC9uZXRfY2xzIHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjYxIC0gY2dyb3VwIGNncm91cCBydyxuZXRfY2xzCis5NiA5MyAwOjMwIC8gL3N5cy9mcy9jZ3JvdXAvYmxraW8gcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NjIgLSBjZ3JvdXAgY2dyb3VwIHJ3LGJsa2lvCis5OCA5MyAwOjMzIC8gL3N5cy9mcy9jZ3JvdXAvbWVtb3J5IHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjYzIC0gY2dyb3VwIGNncm91cCBydyxtZW1vcnkKKzk5IDkzIDA6MzIgLyAvc3lzL2ZzL2Nncm91cC9waWRzIHJvLG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgc2hhcmVkOjY0IC0gY2dyb3VwIGNncm91cCBydyxwaWRzCisxMDAgOTMgMDoyNyAvIC9zeXMvZnMvY2dyb3VwL2NwdXNldCBybyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDo2NSAtIGNncm91cCBjZ3JvdXAgcncsY3B1c2V0CisxMDEgOTMgMDoyNSAvIC9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NjYgLSBjZ3JvdXAgY2dyb3VwIHJ3LGZyZWV6ZXIKKzEwMiA5MyAwOjI4IC8gL3N5cy9mcy9jZ3JvdXAvY3B1LGNwdWFjY3Qgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NjcgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdSxjcHVhY2N0CisxMDMgOTMgMDoyNiAvIC9zeXMvZnMvY2dyb3VwL2RldmljZXMgcm8sbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSBzaGFyZWQ6NjggLSBjZ3JvdXAgY2dyb3VwIHJ3LGRldmljZXMKKzEwNCA5MyAwOjIzIC8gL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIHNoYXJlZDo2OSAtIGNncm91cCBjZ3JvdXAgcncseGF0dHIscmVsZWFzZV9hZ2VudD0vdXNyL2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKKzEwNSAyMzIgMDo1NCAvcHJvYy1zeXMta2VybmVsLXJhbmRvbS1ib290LWlkLy9kZWxldGVkIC9wcm9jL3N5cy9rZXJuZWwvcmFuZG9tL2Jvb3RfaWQgcm8sbm9zdWlkLG5vZGV2IHNoYXJlZDo1NCAtIHRtcGZzIHRtcGZzIHJ3LG1vZGU9NzU1CisxMDYgMjMxIDA6NTQgL3Byb2Mtc3lzLWtlcm5lbC1yYW5kb20tYm9vdC1pZC8vZGVsZXRlZCAvcHJvYy9zeXMva2VybmVsL3JhbmRvbS9ib290X2lkIHJ3LG5vc3VpZCxub2RldiBzaGFyZWQ6NTQgLSB0bXBmcyB0bXBmcyBydyxtb2RlPTc1NQorMTA3IDIzMSAwOjU0IC9rbXNnLy9kZWxldGVkIC9wcm9jL2ttc2cgcncsbm9zdWlkLG5vZGV2IHNoYXJlZDo1NCAtIHRtcGZzIHRtcGZzIHJ3LG1vZGU9NzU1Cis5NyAyMjIgMDo1NyAvIC9kZXYvbXF1ZXVlIHJ3LHJlbGF0aW1lIHNoYXJlZDo3MCAtIG1xdWV1ZSBtcXVldWUgcncKKzEwOCAyMjIgMDo2MCAvIC9kZXYvaHVnZXBhZ2VzIHJ3LHJlbGF0aW1lIHNoYXJlZDo3MSAtIGh1Z2V0bGJmcyBodWdldGxiZnMgcncKKzEwOSAyMjYgMDo2MSAvIC9ydW4vdXNlci8wIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSBzaGFyZWQ6NzIgLSB0bXBmcyB0bXBmcyBydyxzaXplPTE2MzQxMjBrLG1vZGU9NzAwCmRpZmYgLS1naXQgYS90ZXN0cy90cy9maW5kbW50L2ZpbGVzL21vdW50aW5mby1ub25yb290IGIvdGVzdHMvdHMvZmluZG1udC9maWxlcy9tb3VudGluZm8tbm9ucm9vdApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lMTViNDY3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZmluZG1udC9maWxlcy9tb3VudGluZm8tbm9ucm9vdApAQCAtMCwwICsxLDMyIEBACisxNSAyMCAwOjMgLyAvcHJvYyBydyxyZWxhdGltZSAtIHByb2MgL3Byb2MgcncKKzE2IDIwIDA6MTUgLyAvc3lzIHJ3LHJlbGF0aW1lIC0gc3lzZnMgL3N5cyBydworMTcgMjAgMDo1IC8gL2RldiBydyxyZWxhdGltZSAtIGRldnRtcGZzIHVkZXYgcncsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1CisxOCAxNyAwOjEwIC8gL2Rldi9wdHMgcncscmVsYXRpbWUgLSBkZXZwdHMgZGV2cHRzIHJ3LGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorMTkgMTcgMDoxNiAvIC9kZXYvc2htIHJ3LHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncKKzIxIDE2IDA6MTcgLyAvc3lzL2ZzL2Nncm91cCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncsbW9kZT03NTUKKzIyIDIxIDA6MTggLyAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKKzIzIDIxIDA6MTkgLyAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1c2V0CisyNCAyMSAwOjIwIC8gL3N5cy9mcy9jZ3JvdXAvbnMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbnMKKzI1IDIxIDA6MjEgLyAvc3lzL2ZzL2Nncm91cC9jcHUgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1CisyNiAyMSAwOjIyIC8gL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHVhY2N0CisyNyAyMSAwOjIzIC8gL3N5cy9mcy9jZ3JvdXAvbWVtb3J5IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG1lbW9yeQorMjggMjEgMDoyNCAvIC9zeXMvZnMvY2dyb3VwL2RldmljZXMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZGV2aWNlcworMjkgMjEgMDoyNSAvIC9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZnJlZXplcgorMzAgMjEgMDoyNiAvIC9zeXMvZnMvY2dyb3VwL25ldF9jbHMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbmV0X2NscworMzEgMjEgMDoyNyAvIC9zeXMvZnMvY2dyb3VwL2Jsa2lvIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGJsa2lvCiszMiAxNiAwOjI4IC8gL3N5cy9rZXJuZWwvc2VjdXJpdHkgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszMyAxNyAwOjI5IC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNCAxNiAwOjMwIC8gL3N5cy9rZXJuZWwvZGVidWcgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNSAxNSAwOjMxIC8gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzYgMTcgMDozMiAvIC9kZXYvbXF1ZXVlIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzcgMTUgMDoxNCAvIC9wcm9jL2J1cy91c2IgcncscmVsYXRpbWUgLSB1c2JmcyAvcHJvYy9idXMvdXNiIHJ3CiszOCAzMyAwOjMzIC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBodWdldGxiZnMgaHVnZXRsYmZzIHJ3CiszOSAzNiAwOjEyIC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgLSBtcXVldWUgbXF1ZXVlIHJ3Cis0MCAyMCA4OjYgLyAvYm9vdCBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTYgcncsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzQxIDIwIDI1MzowIC8gL2hvbWUva3phayBydyxub2F0aW1lIC0gZXh0NCAvZGV2L21hcHBlci9remFrLWhvbWUgcncsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorNDIgMzUgMDozNCAvIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBydyxyZWxhdGltZSAtIGJpbmZtdF9taXNjIG5vbmUgcncKKzQzIDE2IDA6MzUgLyAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgcncscmVsYXRpbWUgLSBmdXNlY3RsIGZ1c2VjdGwgcncKKzQ0IDQxIDA6MzYgLyAvaG9tZS9remFrLy5ndmZzIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSAtIGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiBndmZzLWZ1c2UtZGFlbW9uIHJ3LHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorNDUgMjAgMDozNyAvIC92YXIvbGliL25mcy9ycGNfcGlwZWZzIHJ3LHJlbGF0aW1lIC0gcnBjX3BpcGVmcyBzdW5ycGMgcncKKzQ3IDIwIDA6MzggLyAvbW50L3NvdW5kcyBydyxyZWxhdGltZSAtIGNpZnMgLy9mb28uaG9tZS9iYXIvIHJ3LHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0Cis0OCAyMCAwOjM5IC8gL21udC9mb29cMDQwKGRlbGV0ZWQpIHJ3LHJlbGF0aW1lIC0gYmFyIC9mb29vb28gcncKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2ZpbmRtbnQvZmlsdGVyIGIvdGVzdHMvdHMvZmluZG1udC9maWx0ZXIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjkyNzY4YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZpbmRtbnQvZmlsdGVyCkBAIC0wLDAgKzEsNzkgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZmlsdGVyIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCisKK3RzX2luaXRfc3VidGVzdCAidHlwZXMiCiskVFNfQ01EX0ZJTkRNTlQgLS10eXBlcyBleHQzIC0ta2VybmVsIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAidHlwZXMtbXVsdGkiCiskVFNfQ01EX0ZJTkRNTlQgLS10eXBlcyBleHQzLGV4dDQsIC0ta2VybmVsIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAidHlwZXMtbmVnIgorJFRTX0NNRF9GSU5ETU5UIC0tdHlwZXMgbm9leHQzLGV4dDQsIC0ta2VybmVsIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAib3B0aW9ucyIKKyRUU19DTURfRklORE1OVCAtLW9wdGlvbnMgcmVsYXRpbWUgLS1rZXJuZWwgLS10YWItZmlsZSAiJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIiAmPiAkVFNfT1VUUFVUCitlY2hvIHJjPSQ/ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJvcHRpb25zLW5hbWUiCiskVFNfQ01EX0ZJTkRNTlQgLS1vcHRpb25zIGZkIC0ta2VybmVsIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAib3B0aW9ucy1uYW1ldmFsIgorJFRTX0NNRF9GSU5ETU5UIC0tb3B0aW9ucyAiZmQ9MjIiIC0ta2VybmVsIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAib3B0aW9ucy1uYW1ldmFsLW5lZyIKKyRUU19DTURfRklORE1OVCAtLW9wdGlvbnMgIm5vZmQ9MjIiIC0ta2VybmVsIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAib3B0aW9ucy1uYW1ldmFsLW11bHRpIgorJFRTX0NNRF9GSU5ETU5UIC0tb3B0aW9ucyAiZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwIiAtLWtlcm5lbCAtLXRhYi1maWxlICIkVFNfU0VMRi9maWxlcy9tb3VudGluZm8iICY+ICRUU19PVVRQVVQKK2VjaG8gcmM9JD8gPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm9wdGlvbnMtbmVnIgorJFRTX0NNRF9GSU5ETU5UIC0tb3B0aW9ucyBub3JlbGF0aW1lIC0ta2VybmVsIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAib3B0aW9ucy1ubyIKKyRUU19DTURfRklORE1OVCAtLW9wdGlvbnMgK25vYXRpbWUgLS1rZXJuZWwgLS10YWItZmlsZSAiJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIiAmPiAkVFNfT1VUUFVUCitlY2hvIHJjPSQ/ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJvcHRpb25zLW5vLW11bHRpIgorJFRTX0NNRF9GSU5ETU5UIC0tb3B0aW9ucyArbm9zdWlkLCtub2RldixibGtpbyAtLWtlcm5lbCAtLXRhYi1maWxlICIkVFNfU0VMRi9maWxlcy9tb3VudGluZm8iICY+ICRUU19PVVRQVVQKK2VjaG8gcmM9JD8gPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9maW5kbW50L291dHB1dHMgYi90ZXN0cy90cy9maW5kbW50L291dHB1dHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2E0NDIyYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2ZpbmRtbnQvb3V0cHV0cwpAQCAtMCwwICsxLDQ5IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im91dHB1dHMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRklORE1OVCIKKworCit0c19pbml0X3N1YnRlc3QgImRlZmF1bHQiCiskVFNfQ01EX0ZJTkRNTlQgLS10YWItZmlsZSAiJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIiAmPiAkVFNfT1VUUFVUCitlY2hvIHJjPSQ/ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJrZXJuZWwiCiskVFNfQ01EX0ZJTkRNTlQgLS1rZXJuZWwgLS10YWItZmlsZSAiJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIiAmPiAkVFNfT1VUUFVUCitlY2hvIHJjPSQ/ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmb3JjZS10cmVlIgorJFRTX0NNRF9GSU5ETU5UIC0tdHJlZSAtLWtlcm5lbCAtLXRhYi1maWxlICIkVFNfU0VMRi9maWxlcy9tb3VudGluZm8iICY+ICRUU19PVVRQVVQKK2VjaG8gcmM9JD8gPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInN1Ym1vdW50cyIKKyRUU19DTURfRklORE1OVCAvc3lzIC0tc3VibW91bnRzIC0ta2VybmVsIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibWVzc3ktbW91bnRpbmZvIgorJFRTX0NNRF9GSU5ETU5UIC0tdGFiLWZpbGUgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mby1tZXNzeSIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9maW5kbW50L3RhcmdldCBiL3Rlc3RzL3RzL2ZpbmRtbnQvdGFyZ2V0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmFkYTdhMmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9maW5kbW50L3RhcmdldApAQCAtMCwwICsxLDM1IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InRhcmdldCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GSU5ETU5UIgorCisKK3RzX2luaXRfc3VidGVzdCAicm9vdCIKKyRUU19DTURfRklORE1OVCAtLXRhcmdldCAiLyIgLS1rZXJuZWwgLS10YWItZmlsZSAiJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIiAmPiAkVFNfT1VUUFVUCitlY2hvIHJjPSQ/ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm5vbi1yb290IgorJFRTX0NNRF9GSU5ETU5UIC0tdGFyZ2V0ICIvIiAtLWtlcm5lbCAtLXRhYi1maWxlICIkVFNfU0VMRi9maWxlcy9tb3VudGluZm8tbm9ucm9vdCIgJj4gJFRTX09VVFBVVAorZWNobyByYz0kPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9mc2NrL2lzbW91bnRlZCBiL3Rlc3RzL3RzL2ZzY2svaXNtb3VudGVkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJhNTU5MDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9mc2NrL2lzbW91bnRlZApAQCAtMCwwICsxLDQ4IEBACisjIS9iaW4vYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJpcyBtb3VudGVkIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworPiAkVFNfT1VUUFVUCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKKwordHNfZGV2aWNlX2hhcyAiVFlQRSIgImV4dDMiICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCBleHQzIG9uICRERVZJQ0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKKyRUU19DTURfTU9VTlQgJERFVklDRSAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKworIyB0ZXN0IGJ5IGlzbW91bnRlZC5jCiskVFNfSEVMUEVSX0lTTU9VTlRFRCAkREVWSUNFIHwgYXdrICd7cHJpbnQgJDF9JyA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2dldG9wdC9iYXNpYyBiL3Rlc3RzL3RzL2dldG9wdC9iYXNpYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZTI5MjhiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZ2V0b3B0L2Jhc2ljCkBAIC0wLDAgKzEsNDkgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworIyBUaGlzIHRlc3Qgc2NyaXB0IGlzIG1vZGlmaWVkIHZlcnNpb24gb2YgJ2dldG9wdC1wYXJzZS5iYXNoJyBleGFtcGxlCisjIGZpbGUgaW4gbWlzYy8gZGlyZWN0b3J5LgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJiYXNpYyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9HRVRPUFQiCisKK1RFTVA9JCgkVFNfQ01EX0dFVE9QVCAtbyBhYjpjOjogLS1sb25nIGEtbG9uZyxiLWxvbmc6LGMtbG9uZzo6IC1uICdleGFtcGxlLmJhc2gnIC0tIC1hIC1iIDEgLWMyICAtLWEtbG9uZyAtLWItbG9uZyAzIC0tYy1sb25nIGZvbyBiYXIpCisKK2lmIFsgJD8gIT0gMCBdIDsgdGhlbiBlY2hvICJUZXJtaW5hdGluZy4uLiIgPiYyIDsgZXhpdCAxIDsgZmkKKworZXZhbCBzZXQgLS0gIiRURU1QIgorCit3aGlsZSB0cnVlIDsgZG8KKwljYXNlICIkMSIgaW4KKwkJLWF8LS1hLWxvbmcpIGVjaG8gIk9wdGlvbiBhIjsgc2hpZnQgOzsKKwkJLWJ8LS1iLWxvbmcpIGVjaG8gIk9wdGlvbiBiLCBhcmd1bWVudCBcYCQyJyI7IHNoaWZ0IDIgOzsKKwkJLWN8LS1jLWxvbmcpCisJCQljYXNlICIkMiIgaW4KKwkJCQkiIikgZWNobyAiT3B0aW9uIGMsIG5vIGFyZ3VtZW50Ijsgc2hpZnQgMiA7OworCQkJCSopICBlY2hvICJPcHRpb24gYywgYXJndW1lbnQgXGAkMiciOyBzaGlmdCAyIDs7CisJCQllc2FjIDs7CisJCS0tKSBzaGlmdCA7IGJyZWFrIDs7CisJCSopIGVjaG8gIkludGVybmFsIGVycm9yISI7IGJyZWFrOzsKKwllc2FjCitkb25lID4+ICRUU19PVVRQVVQgMj4mMQorCitlY2hvICJSZW1haW5pbmcgYXJndW1lbnRzOiIgPj4gJFRTX09VVFBVVCAyPiYxCitmb3IgYXJnIGRvIGVjaG8gJy0tPiAnIlxgJGFyZyciID4+ICRUU19PVVRQVVQgMj4mMTsgZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvZ2V0b3B0L29wdGlvbnMgYi90ZXN0cy90cy9nZXRvcHQvb3B0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZWU1MTE5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvZ2V0b3B0L29wdGlvbnMKQEAgLTAsMCArMSwyMzEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJvcHRpb25zIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0dFVE9QVCIKKworZXhwb3J0IExBTkc9QworCitmdW5jdGlvbiBnbnVfZ2V0b3B0X2NsZWFuKCkgeworCXNlZCAtLWluLXBsYWNlIFwKKwkJLWUgInMvOiBcKC4qXCkgLS0gXCguXCkkLzogXDEgLS0gJ1wyJy8iIFwKKwkJLWUgInMvIFsnXGBdXCgtLVthLXpBLVowLTldXHsxLFx9XCknLyAnXDEnL2ciIFwKKwkJLWUgInMvdW5yZWNvZ25pemVkIG9wdGlvbjogXCguXCkkL2ludmFsaWQgb3B0aW9uIC0tICdcMScvIiBcCisJCS1lICJzL29wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudDogXCguXCkkL29wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAnXDEnLyIgXAorCQktZSAicy91bnJlY29nbml6ZWQgb3B0aW9uOiBcKFteJy1dLlx7MSxcfVwpJC91bnJlY29nbml6ZWQgb3B0aW9uICctLVwxJy8iIFwKKwkJIiRUU19PVVRQVVQiCit9CisKK3RzX2luaXRfc3VidGVzdCBhbHRlcm5hdGl2ZV9vcHRpb25fY2xhc2gKKyRUU19DTURfR0VUT1BUIC1hIC1vIGFiY2RlIC1sIGFiY2RlIC0tIC1hIC1hYiAtYWJjIC1hYyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBhbHRlcm5hdGl2ZV9vcHRpb25fbG9uZworJFRTX0NNRF9HRVRPUFQgLS1hbHRlcm5hdGl2ZSAtbyBhIC1sIG9uZSx0d286LHRocmVlOjosZm91cjo6IC0tIC1hIC1vbmUgLXR3bz1NQU5EQVRPUlkgLXRocmVlPU9QVElPTkFMID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IGFsdGVybmF0aXZlX29wdGlvbl9zaG9ydAorJFRTX0NNRF9HRVRPUFQgLWEgLW8gYSAtbCBvbmUsdHdvOix0aHJlZTo6LGZvdXI6OiAtLSAtYSAtb25lIC10d289TUFOREFUT1JZIC10aHJlZT1PUFRJT05BTCA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBpbnZhbGlkX2dldG9wdF9vcHRpb24KKyRUU19DTURfR0VUT1BUIC1iID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3NlZCAtaSAnMSwxcy8uKlwvLy8nICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IGludm9jYXRpb25fbW9kZWxfb25lCiskVFNfQ01EX0dFVE9QVCBhYmM6ZDo6ZTo6Zjo6ZzogQVJHMCAtYiBBUkcxIC1kIC1lT1BUSU9OQUwxIC1mIE5PVF9PUFRJT05BTCBBUkcyIC1hIC1jIC1JU1JFUVVJUkVEIEFSRzMgLWcgIkJFQ09NRVMgVEhSRUUgQVJHVU1FTlRTIiA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBpbnZvY2F0aW9uX21vZGVsX3RocmVlX2FzX29uZQorJFRTX0NNRF9HRVRPUFQgLW8gYWJjOmQ6OmU6OmY6Omc6IC0tIEFSRzAgLWIgQVJHMSAtZCAtZU9QVElPTkFMMSAtZiBOT1RfT1BUSU9OQUwgQVJHMiAtYSAtYyAtSVNSRVFVSVJFRCBBUkczIC1nICJCRUNPTUVTIFRIUkVFIEFSR1VNRU5UUyIgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgaW52b2NhdGlvbl9tb2RlbF90d29fYXNfb25lCiskVFNfQ01EX0dFVE9QVCAtLSBhYmM6ZDo6ZTo6Zjo6ZzogQVJHMCAtYiBBUkcxIC1kIC1lT1BUSU9OQUwxIC1mIE5PVF9PUFRJT05BTCBBUkcyIC1hIC1jIC1JU1JFUVVJUkVEIEFSRzMgLWcgIkJFQ09NRVMgVEhSRUUgQVJHVU1FTlRTIiA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBpbnZvY2F0aW9uX3dpdGhvdXRfcGFyYW1ldGVycworJFRTX0NNRF9HRVRPUFQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgbG9uZ19vcHRpb25fYW1iaWd1b3VzXzEKKyRUU19DTURfR0VUT1BUIC1vIGEgLWwgbG9uZzEsbG9uZzIgLS0gLS1sb25nID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAnMSwxcy8uKlwvLy8nIC1lICIxcy9hbWJpZ3VvdXMkL2FtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJy8iICRUU19PVVRQVVQKK3NlZCAtaSAtZSAiMXMvaXMgYW1iaWd1b3VzOiBsb25nJC8nLS1sb25nJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ICctLWxvbmcxJyAnLS1sb25nMicvIiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBsb25nb3B0cworJFRTX0NNRF9HRVRPUFQgLW8gYSAtbCBsb25nMSxzZWNvbmRsb25nOix0aGlyZGxvbmc6OixhYmJyZXZpYXRpb246IC0tIC0tbG9uZzEgRVhUUkExIC0tdGhpcmRsb25nPUFSR1VNRU5UIC0tc2Vjb25kbG9uZz1BUkcgLS1hYmJyIEFCQlJBUkcgLWEgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgbmFtZV9vcHRpb25fbG9uZworJFRTX0NNRF9HRVRPUFQgLW4gVEhJU19QUk9HUkFNIC1vIGEgLWwgbG9uZyAtLSAtYiAtLWxvbmcgLS13aGF0ZXZlciAtYSA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBuYW1lX29wdGlvbl9zaG9ydAorJFRTX0NNRF9HRVRPUFQgLS1uYW1lIFRISVNfUFJPR1JBTSAtbyBhIC1sIGxvbmcgLS0gLWIgLS1sb25nIC0td2hhdGV2ZXIgLWEgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgcXVpZXRfb3B0aW9uX2xvbmcKKyRUU19DTURfR0VUT1BUIC0tcXVpZXQgLW8gYSxiOiAtbCBsb25nMSxsb25nMiAtLSAtYyAtLXVua25vd24gLS1sb25nIC1iID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IHF1aWV0X29wdGlvbl9zaG9ydAorJFRTX0NNRF9HRVRPUFQgLXEgLW8gYSxiOiAtbCBsb25nMSxsb25nMiAtLSAtYyAtLXVua25vd24gLS1sb25nIC1iID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IHF1aWV0X291dHB1dF9vcHRpb25fbG9uZworJFRTX0NNRF9HRVRPUFQgLS1xdWlldC1vdXRwdXQgLW8gYSxiOiAtbCBsb25nMSxsb25nMiAtLSAtYyAtLXVua25vd24gLS1sb25nIC1iID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAnMSw0cy8uKlwvLy8nIC1lICIzcy9hbWJpZ3VvdXMkL2FtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJy8iICRUU19PVVRQVVQKK3NlZCAtaSAtZSAiM3MvaXMgYW1iaWd1b3VzOiBsb25nJC8nLS1sb25nJyBpcyBhbWJpZ3VvdXM7IHBvc3NpYmlsaXRpZXM6ICctLWxvbmcxJyAnLS1sb25nMicvIiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBxdWlldF9vdXRwdXRfb3B0aW9uX3Nob3J0CiskVFNfQ01EX0dFVE9QVCAtUSAtbyBhLGI6IC1sIGxvbmcxLGxvbmcyIC0tIC1jIC0tdW5rbm93biAtLWxvbmcgLWIgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICcxLDRzLy4qXC8vLycgLWUgIjNzL2FtYmlndW91cyQvYW1iaWd1b3VzOyBwb3NzaWJpbGl0aWVzOiAnLS1sb25nMScgJy0tbG9uZzInLyIgJFRTX09VVFBVVAorc2VkIC1pICIzcy9pcyBhbWJpZ3VvdXM6IGxvbmckLyctLWxvbmcnIGlzIGFtYmlndW91czsgcG9zc2liaWxpdGllczogJy0tbG9uZzEnICctLWxvbmcyJy8iICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IHNhbWVfbG9uZ19zaG9ydF9vcHRpb25zCiskVFNfQ01EX0dFVE9QVCAtbyBhIC1sIGEgLS0gLWEgLS1hID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK2dudV9nZXRvcHRfY2xlYW4KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IHRlc3RfZm9yX2VuaGFuY2VkX2dldG9wdAorJFRTX0NNRF9HRVRPUFQgLVQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgdW5rbm93bl9vcHRpb25zCiskVFNfQ01EX0dFVE9QVCAtbyBhIC1sIGxvbmcgLS0gLWIgLS1sb25nIC0td2hhdGV2ZXIgLWEgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorc2VkIC1pICcxLDJzLy4qXC8vLycgJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgdW5xdW90ZWRfb3B0aW9uX2Jhc2gKKyRUU19DTURfR0VUT1BUIC1zIGJhc2ggLXUgLW8gYTogLWwgbG9uZzE6IC0tIC1hICckPyEqICcgLS1sb25nIFwiXFxcJyAnTW9yZQorIHRoYW4KK29uZQorbGluZScgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgdW5xdW90ZWRfb3B0aW9uX3Rjc2gKKyRUU19DTURfR0VUT1BUIC1zIHRjc2ggLS11bnF1b3RlZCAtbyBhOiAtbCBsb25nMTogLS0gLWEgJyQ/ISogJyAtLWxvbmcgXCJcXFwnICdNb3JlCisgdGhhbgorb25lCitsaW5lJyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitnbnVfZ2V0b3B0X2NsZWFuCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCB3ZWlyZF9xdW90aW5nX2Jhc2gKKyRUU19DTURfR0VUT1BUIC1zIGJhc2ggLW8gYTogLWwgbG9uZzE6IC0tIC1hICckPyEqICcgLS1sb25nIFwiXFxcJyAnTW9yZQorIHRoYW4KK29uZQorbGluZScgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3Qgd2VpcmRfcXVvdGluZ190Y3NoCiskVFNfQ01EX0dFVE9QVCAtLXNoZWxsIHRjc2ggLW8gYTogLWwgbG9uZzE6IC0tIC1hICckPyEqICcgLS1sb25nIFwiXFxcJyAnTW9yZQorIHRoYW4KK29uZQorbGluZScgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorZ251X2dldG9wdF9jbGVhbgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgY29tcGF0aWJsZQorJFRTX0NNRF9HRVRPUFQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorR0VUT1BUX0NPTVBBVElCTEU9JycgJFRTX0NNRF9HRVRPUFQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorc2VkIC1pICcxLDFzLy4qXC8vLycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3Qgc2gKKyRUU19DTURfR0VUT1BUIC0tc2hlbGw9c2ggLW8gYWI6Yzo6IC0tbG9uZyBhLWxvbmcsYi1sb25nOixjLWxvbmc6OiAtbiAnZXhhbXBsZS5zaCcgLS0gLWEgLWIgMSAtYzIgIC0tYS1sb25nIC0tYi1sb25nIDMgLS1jLWxvbmcgZm9vIGJhciA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBjc2gKKyRUU19DTURfR0VUT1BUIC0tc2hlbGw9Y3NoIC1vIGFiOmM6OiAtLWxvbmcgYS1sb25nLGItbG9uZzosYy1sb25nOjogLW4gJ2V4YW1wbGUuY3NoJyAtLSAtYSAtYiAxIC1jMiAgLS1hLWxvbmcgLS1iLWxvbmcgMyAtLWMtbG9uZyBmb28gYmFyID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdCB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0IG5vLWFyZ3VtZW50cworJFRTX0NNRF9HRVRPUFQgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorc2VkIC1pICcxLDFzLy4qXC8vLycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgcG9zaXhfY29ycmVjdGx5CiskVFNfQ01EX0dFVE9QVCAtbyArYWI6Yzo6IC0tbG9uZyBhLWxvbmcsYi1sb25nOixjLWxvbmc6OiAtbiAnZXhhbXBsZScgLS0gLWEgLWIgMSAtYzIgIC0tYS1sb25nIC0tYi1sb25nIDMgLS1jLWxvbmcgZm9vIGJhciB4eXh4eSAtLWEtbG9uZyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCitQT1NJWExZX0NPUlJFQ1Q9JycgJFRTX0NNRF9HRVRPUFQgLW8gYWI6Yzo6IC0tbG9uZyBhLWxvbmcsYi1sb25nOixjLWxvbmc6OiAtbiAnZXhhbXBsZScgLS0gLWEgLWIgMSAtYzIgIC0tYS1sb25nIC0tYi1sb25nIDMgLS1jLWxvbmcgZm9vIGJhciB4eXh4eSAtLWEtbG9uZyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQgdmFsdWU6ICQ/IiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCBub24tb3B0aW9uCiskVFNfQ01EX0dFVE9QVCAtbyArYTpiOiAtLSAtYSB4IHkgLWIgeiB3ID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9HRVRPUFQgLW8gIGE6YjogLS0gLWEgeCB5IC1iIHogdyA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfR0VUT1BUIC1vIC1hOmI6IC0tIC1hIHggeSAtYiB6IHcgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJleGl0IHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaGV4ZHVtcC9maWxlcy9hc2NpaS5pbiBiL3Rlc3RzL3RzL2hleGR1bXAvZmlsZXMvYXNjaWkuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGMyNTk4YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2hleGR1bXAvZmlsZXMvYXNjaWkuaW4KQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaGV4ZHVtcC9mb3JtYXQtc3RyaW5ncyBiL3Rlc3RzL3RzL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTZmOTIyOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2hleGR1bXAvZm9ybWF0LXN0cmluZ3MKQEAgLTAsMCArMSw2OCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZm9ybWF0LXN0cmluZ3MiCitGSUxFUz0iJFRTX1RPUERJUi90cy9oZXhkdW1wL2ZpbGVzIgorI3NhbXBsZSBpbnB1dCBjb25zaXN0cyBvZiBoZXhkdW1wLWVkIHJlc3VsdHMgb2YgdGhlIGZvbGxvd2luZyBweTNzY3JpcHQ6CisjZm9yIGkgaW4gcmFuZ2UoMjU2KToKKyMJcHJpbnQoY2hyKGkpLCBlbmQ9ICcgJykKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9IRVhEVU1QIgorCisjIG9uIGJpZyBlbmRpYW4gc3lzdGVtcyBzb21lIG9mIHRoZSBzdWJ0ZXN0cyBoYXZlIGRpZmZlcmVudCBleHBlY3RlZCBvdXRwdXQKK0JZVEVfT1JERVI9JCgkVFNfSEVMUEVSX1NZU0lORk8gYnl0ZS1vcmRlcikKK0JFX0VYVD0kKHRlc3QgIiRCWVRFX09SREVSIiA9ICJCRSIgJiYgZWNobyAiLkJFIikKKworIzg4NTMxNAordHNfaW5pdF9zdWJ0ZXN0ICJlbXB0eS1mb3JtYXQiCitUU19FWFBFQ1RFRCs9JEJFX0VYVAorSU5QVVQ9JChwcmludGYgXFwxKQorJFRTX0NNRF9IRVhEVU1QIC1uMSAtdmUgJzIgIiIgIiV4IicgPDw8ICRJTlBVVCA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9IRVhEVU1QIC1uMSAtdmUgJzQgIiV4IicgLWUgJzIgIiInIDw8PCAkSU5QVVQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyNiYXNpYyBmb3JtYXRzCit0c19pbml0X3N1YnRlc3QgIjFiX29jdGFsIgorJFRTX0NNRF9IRVhEVU1QIC1iICRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiMWJfY2hhciIKKyRUU19DTURfSEVYRFVNUCAtYyAkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImNhbm9uIgorJFRTX0NNRF9IRVhEVU1QIC1DICRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiMmJfZGVjIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAtZCAkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIjJiX29jdGFsIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAtbyAkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIjJiX2hleCIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgLXggJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2hleGR1bXAvaGlnaGxpZ2h0aW5nIGIvdGVzdHMvdHMvaGV4ZHVtcC9oaWdobGlnaHRpbmcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uY2Y3OGY3YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2hleGR1bXAvaGlnaGxpZ2h0aW5nCkBAIC0wLDAgKzEsMjY2IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJoaWdobGlnaHRpbmciCitGSUxFUz0iJFRTX1RPUERJUi90cy9oZXhkdW1wL2ZpbGVzIgorT1BUUz0iLS1jb2xvcj1hbHdheXMiCitBRERSRk1UPSctZSAiJTA3LjdfQXhcbiInCisjc2FtcGxlIGlucHV0IGNvbnNpc3RzIG9mIGhleGR1bXAtZWQgcmVzdWx0cyBvZiB0aGUgZm9sbG93aW5nIHB5M3NjcmlwdDoKKyNmb3IgaSBpbiByYW5nZSgyNTYpOgorIwlwcmludChjaHIoaSksIGVuZD0gJyAnKQorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0hFWERVTVAiCisKKyMgb24gYmlnIGVuZGlhbiBzeXN0ZW1zIHNvbWUgb2YgdGhlIHN1YnRlc3RzIGhhdmUgZGlmZmVyZW50IGV4cGVjdGVkIG91dHB1dAorQllURV9PUkRFUj0kKCRUU19IRUxQRVJfU1lTSU5GTyBieXRlLW9yZGVyKQorQkVfRVhUPSQodGVzdCAiJEJZVEVfT1JERVIiID0gIkJFIiAmJiBlY2hvICIuQkUiKQorCisjCisjIGJhc2ljIGZvcm1hdHMgL3cgc29tZSBoaWdobGlnaHRpbmcgdHdlYWtzCisjCisKKyMgaGlnaGxpZ2h0ICdBJyBhbmQgJ2EnCit0c19pbml0X3N1YnRlc3QgIjFiX29jdGFsLTEiCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiAxNi8xICIlMDNvX0xbcmVkOkEscmVkOmFdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgaGlnaGxpZ2h0IGJ5dGVzIHdpdGggdGhlIHZhbHVlIG9mIDB4NDEgKEEpIGFuZCAweDYxIChhKQordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC0yIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUwM29fTFtyZWQ6MHg0MSxyZWQ6MHg2MV0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBoaWdobGlnaHQgdGhlIGJ5dGVzIGF0IG9mZnNldHMgMTMwIGFuZCAgMTk0IChkZWNpbWFsKQordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC0zIgorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4ICIgMTYvMSAiJTAzb19MW3JlZEAxMzAscmVkQDE5NF0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBoaWdobGlnaHQgdGhlIGJ5dGUgYXQgb2Zmc2V0IDE5NCBpZiBpdCdzIHZhbHVlIGlzIDB4NjEgKGEpCisjIGFuZCB0aGUgYnl0ZSBhdCBvZmZzZXQgMTMwIGlmIGl0J3MgdmFsdWUgaXMgQSAoMHg0MSkKK3RzX2luaXRfc3VidGVzdCAiMWJfb2N0YWwtNCIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiAxNi8xICIlMDNvX0xbcmVkOkFAMTMwLHJlZDoweDYxQDE5NF0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBoaWdobGlnaHQgdGhlIGJ5dGUgYXQgb2Zmc2V0IDE5NCBpZiBpdCdzIHZhbHVlIGlzIDB4NjEgKGEpCisjIGFuZCB0aGUgYnl0ZSBhdCBvZmZzZXQgMTMwIGlmIGl0J3MgdmFsdWUgaXMgQyAoMHg0MSkgKGZhbHNlKQordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC01IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUwM29fTFtyZWQ6Q0AxMzAscmVkOjB4NjFAMTk0XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGhpZ2hsaWdodCBhIHJhbmdlIGxvbmdlciB0aGFuIHRoZSBieXRlIGNvdW50IG9mICVvCit0c19pbml0X3N1YnRlc3QgIjFiX29jdGFsLTYiCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiAxNi8xICIlMDNvX0xbcmVkQDE5My0xOTRdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgaGlnaGxpZ2h0IGJ5dGVzIHdpdGggdGhlIHZhbHVlIG9mIDAxMDEgKEEpIGFuZCAwMTQxIChhKQordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC03IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUwM29fTFtyZWQ6MDEwMSxyZWQ6MDE0MV0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBoaWdobGlnaHQgYnl0ZXMgd2l0aCB0aGUgdmFsdWUgb2YgMDEwMSAoQSksIDB4NjEgKGEpLCBvciBpZiB0aGUgY2hhcmFjdGVyIGlzIGEgY2FyZXQKK3RzX2luaXRfc3VidGVzdCAiMWJfb2N0YWwtOCIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiAxNi8xICIlMDNvX0xbcmVkOjAxMDEsYmx1ZToweDYxLGdyZWVuOl5dICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgaGlnaGxpZ2h0IGJ5dGVzIHdpdGggdGhlIHZhbHVlIG9mIDAxMDEgKEEpLCAweDYxIChhKSwgb3IgaWYgdGhlIGNoYXJhY3RlciBhdCAxOTYgaXMgbm90ICdjJwordHNfaW5pdF9zdWJ0ZXN0ICIxYl9vY3RhbC05IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUwM29fTFtyZWQ6MDEwMSxibHVlOjB4NjEsIWdyZWVuOmNAMTk2XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjY29sb3IgdGhlIGFkZHJlc3NlcyByZWQgYW5kIHRoZSBjaGFyYWN0ZXJzIGluIFVUSUwtTElOVVggZ3JlZW4KK3RzX2luaXRfc3VidGVzdCAiMWJfY2hhci0xIgorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4X0xbcmVkXSAiIDE2LzEgIiUzX2NfTFtncmVlbjotLGdyZWVuOkksZ3JlZW46TCxncmVlbjpOLGdyZWVuOlQsZ3JlZW46VSxncmVlbjpYXSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjY29sb3IgdGhlIGFkZHJlc3MgMHhlMCByZWQKK3RzX2luaXRfc3VidGVzdCAiMWJfY2hhci0yIgorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4X0xbcmVkOjB4ZTBdICIgMTYvMSAiJTNfYyAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjaGlnaGxpZ2h0ICc6JyBhbmQgJ0AnCit0c19pbml0X3N1YnRlc3QgIjFiX2NoYXItMyIKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDE2LzEgIiUzX2NfTFtyZWQ6OkAxMTYscmVkOkBAMTI4XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIGxhc3QgYWRkcmVzcyBncmF5LCB0aGUgbnVsbCBieXRlIGJsdWUsIHRoZSBzcGFjZXMgYnJvd24oLWlzaCkgYW5kIHRoZSB0ZXh0IGN5YW4KK3RzX2luaXRfc3VidGVzdCAiY2Fub24tMSIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgXAorCS1lICciJTA4LjhfQXhfTFtncmF5XVxuIicgXAorCS1lICciJTA4LjhfYXggICIgOC8xICIlMDJ4X0xbYmx1ZToweDAsYnJvd246MHgyMF0gIiAiICAiIDgvMSAiJTAyeF9MW2Jyb3duOjB4MjBdICIgJyBcCisJLWUgJyIgIHwiIDE2LzEgIiVfcF9MW2N5YW5dIiAifFxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgY29sb3IgbGFzdCBhZGRyZXNzIGdyYXkgLSBpZiBpdCdzIDB4MjgwIG9yIGJsdWUgaWYgaXQncyAweDM4MAorIyBjb2xvciBBL2EgaGV4IGR1bXBzIGJsdWUgYW5kIEEvYSBpbiB0ZXh0IGdyZWVuCit0c19pbml0X3N1YnRlc3QgImNhbm9uLTIiCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgXAorCS1lICciJTA4LjhfQXhfTFtibHVlOjB4MzgwLHJlZDoweDI4MF1cbiInIFwKKwktZSAnIiUwOC44X2F4ICAiIDgvMSAiJTAyeF9MW2JsdWU6QSxibHVlOmFdICIgIiAgIiA4LzEgIiUwMnhfTFtibHVlOkEsYmx1ZTphXSAiICcgXAorCS1lICciICB8IiAxNi8xICIlX3BfTFtncmVlbjpBLGdyZWVuOmFdIiAifFxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgY29sb3IgdGhlIGN1cnJlbnQgcHJpbnQgdW5pdCBpZiBvbmUgb2YgdGhlIGJ5dGVzIGl0IHByaW50cyBpcyBhdCBvZmZzZXQgMTAwICgweDY0KQordHNfaW5pdF9zdWJ0ZXN0ICIyYl9kZWMtMSIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzIgIiAgJTA1dV9MW3JlZEAxMDBdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgY29sb3IgdGhlIGN1cnJlbnQgcHJpbnQgdW5pdCBpZiBvZiB0aGUgYnl0ZXMgaXQgcHJpbnRzIGFyZSBhdCBvZmZzZXRzIDk4IGFuZCA5OQordHNfaW5pdF9zdWJ0ZXN0ICIyYl9kZWMtMiIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzIgIiAgJTA1dV9MW3JlZEA5OC05OV0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBjb2xvciB0aGUgY3VycmVudCBwcmludCB1bml0IGlmIHNvbWUgb3IgYWxsIG9mIHRoZSBieXRlcyBpdCBwcmludHMgYXJlIGF0IG9mZnNldHMgOTggYW5kIDk5Cit0c19pbml0X3N1YnRlc3QgIjJiX2RlYy0zIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvMiAiICAlMDV1X0xbcmVkQDk3LTk5XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIHRoZSBjdXJyZW50IHByaW50IHVuaXQgaWYgaXQgcHJpbnRzICJBICIgYXQgMTMwLTEzMQordHNfaW5pdF9zdWJ0ZXN0ICIyYl9kZWMtNCIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzIgIiAgJTA1dV9MW3JlZDpBIEAxMzAtMTMxXSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIHRoZSBjdXJyZW50IHByaW50IHVuaXQgaWYgaXQgZG9lc24ndCBwcmludCAiQiAiIGF0IDEzMC0xMzEKK3RzX2luaXRfc3VidGVzdCAiMmJfZGVjLTUiCitUU19FWFBFQ1RFRCs9JEJFX0VYVAorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4ICIgOC8yICIgICUwNXVfTFshcmVkOkIgQDEzMC0xMzFdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgc3BlY2lmeSBhIHN0cmluZyBzaG9ydGVyIHRoYW4gdGhlIHJhbmdlIC0gZXJyb3IKK3RzX2luaXRfc3VidGVzdCAiMmJfZGVjLTYiCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzIgIiAgJTA1dV9MW3JlZDpBQDEzMC0xMzFdICIgIlxuIicgXAorCSRGSUxFUy9hc2NpaS5pbiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgc3BlY2lmeSBhIG5lZ2F0aXZlLWxlbmd0aCByYW5nZQordHNfaW5pdF9zdWJ0ZXN0ICIyYl9kZWMtNyIKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvMiAiICAlMDV1X0xbcmVkOkFAMTMxLTEzMF0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBjb2xvciB0aGUgY3VycmVudCBwcmludCB1bml0IGlmIG9mIHRoZSBieXRlcyBpdCBwcmludHMgYXJlIGF0IG9mZnNldHMgOTgtMTAyIChtdWx0aXBsZSBwcmludCB1bml0cykKK3RzX2luaXRfc3VidGVzdCAiMmJfZGVjLTgiCitUU19FWFBFQ1RFRCs9JEJFX0VYVAorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4ICIgOC8yICIgICUwNXVfTFtyZWRAOTgtMTAyXSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIHRoZSBjdXJyZW50IHByaW50IHVuaXQgaWYgc29tZSBvciBhbGwgb2YgdGhlIGJ5dGVzIGl0IHByaW50cyBhcmUgYXQgb2Zmc2V0cyA5NyBhbmQgOTkgKHRydWUpCit0c19pbml0X3N1YnRlc3QgIjRiX2RlYy0xIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkQDk3LTk5XSAiICJcbiInIFwKKwkkRklMRVMvYXNjaWkuaW4gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIGNvbG9yIHRoZSBjdXJyZW50IHByaW50IHVuaXQgaWYgc29tZSBvciBhbGwgb2YgdGhlIGJ5dGVzIGl0IHByaW50cyBhcmUgYXQgb2Zmc2V0cyA5Ni05OQordHNfaW5pdF9zdWJ0ZXN0ICI0Yl9kZWMtMiIKK1RTX0VYUEVDVEVEKz0kQkVfRVhUCiskVFNfQ01EX0hFWERVTVAgJE9QVFMgJEFERFJGTVQgXAorCS1lICciJTA3LjdfYXggIiA4LzQgIiAgJTA1dV9MW3JlZEA5Ni05OV0gIiAiXG4iJyBcCisJJEZJTEVTL2FzY2lpLmluICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBsb29rIGZvciBAQEBACit0c19pbml0X3N1YnRlc3QgIjRiX2RlYy0zIgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkOkBAQEBdICIgIlxuIicgXAorCSY+ICRUU19PVVRQVVQgPDw8ICJAQEBAIgordHNfZmluYWxpemVfc3VidGVzdAorCisjIGxvb2sgZm9yIEBAQEAgYXQgMC0zCit0c19pbml0X3N1YnRlc3QgIjRiX2RlYy00IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkOkBAQEBAMC0zXSAiICJcbiInIFwKKwkmPiAkVFNfT1VUUFVUIDw8PCAiQEBAQCIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBsb29rIGZvciBAQEAgYXQgMC0zICh3cm9uZyBieXRlIGNvdW50IGVycm9yKQordHNfaW5pdF9zdWJ0ZXN0ICI0Yl9kZWMtNSIKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkOkBAQEAwLTNdICIgIlxuIicgXAorCSY+ICRUU19PVVRQVVQgPDw8ICJAQEBAIgordHNfZmluYWxpemVfc3VidGVzdAorCisjIGxvb2sgZm9yIEBAQCBhdCAxLTMgLSBpbiB0aGUgZm9ybWF0IGJvdW5kYXJpZXMgLSBjb3JyZWN0Cit0c19pbml0X3N1YnRlc3QgIjRiX2RlYy02IgorVFNfRVhQRUNURUQrPSRCRV9FWFQKKyRUU19DTURfSEVYRFVNUCAkT1BUUyAkQUREUkZNVCBcCisJLWUgJyIlMDcuN19heCAiIDgvNCAiICAlMDV1X0xbcmVkOkBAQEAxLTNdICIgIlxuIicgXAorCSY+ICRUU19PVVRQVVQgPDw8ICJAQEBAIgordHNfZmluYWxpemVfc3VidGVzdAorCisjIGxvb2sgZm9yIEBAQCBhdCAyLTQgLSBjb3JyZWN0IHJhbmdlIGxlbmd0aCwgaG93ZXZlciBzdGVwcyBvdmVyIDIgcHJpbnQgdW5pdHMgLSBubyBjb2xvcnMKK3RzX2luaXRfc3VidGVzdCAiNGJfZGVjLTciCitUU19FWFBFQ1RFRCs9JEJFX0VYVAorJFRTX0NNRF9IRVhEVU1QICRPUFRTICRBRERSRk1UIFwKKwktZSAnIiUwNy43X2F4ICIgOC80ICIgICUwNXVfTFtyZWQ6QEBAQDItNF0gIiAiXG4iJyBcCisJJj4gJFRTX09VVFBVVCA8PDwgIkBAQEAiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9od2Nsb2NrL3N5c3RvaGMgYi90ZXN0cy90cy9od2Nsb2NrL3N5c3RvaGMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZmE3ODY4ZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2h3Y2xvY2svc3lzdG9oYwpAQCAtMCwwICsxLDk2IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzeXN0ZW0gdG8gaHciCitOVFBfU0VSVkVSPSIwLmZlZG9yYS5wb29sLm50cC5vcmciCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSFdDTE9DSyIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJiYyIKK3RzX2NoZWNrX3Byb2cgInNudHAiCisKK2Z1bmN0aW9uIGdldF9vZmZzZXRfc3lzX250cAoreworCWxvY2FsIGlwPSIkQCIKKwlsb2NhbCBvdXQKKworCSMgdXNpbmcgaG9zdG5hbWUgaW5zdGVhZCBvZiBJUCBjb3VsZCBnaXZlIHVzIG1vcmUgdGhhbiBvbmUgb2Zmc2V0CisJb3V0PSQoc250cCAtLXRpbWVvdXQgMSAiJGlwIikgfHwgcmV0dXJuIDEKKworCSMgc2VkIG11c3QgZGVsaXZlciBhIHNpZ25lZCBmbG9hdCBvciBlbXB0eSBzdHJpbmcgZm9yIHN1cmUKKwlvdXQ9JChlY2hvICIkb3V0IiB8IFwKKwkJc2VkIC1uICdzLy4qIFwoXCgrXHwtXClbMC05XVx7MSxcfVwuWzAtOV1cezEsXH1cKS4qL1wxLzFwJykKKworCVsgLW4gIiRvdXQiIF0gfHwgcmV0dXJuIDEKKwllY2hvICIkb3V0IgorfQorCitmdW5jdGlvbiBjaGVja19kaWZmX29mZnNldAoreworCWxvY2FsIGE9JHsxIyt9CisJbG9jYWwgYj0kezIjK30KKwlsb2NhbCBtYXg9IiQzIgorCWxvY2FsIHRtcAorCisJdG1wPSQoZWNobyAiJGEgLSAkYiIgfCBiYyB8IHRyIC1kICctJykKKwllY2hvICIkdG1wIgorCisJdG1wPSQoZWNobyAiJHRtcCA8ICRtYXgiIHwgYmMpCisJWyAkdG1wIC1lcSAxIF0KK30KKworCisjIHdlIG5lZWQgZml4ZWQgbnRwIElQIHRvIGdldCBjb21wYXJhYmxlIG9mZnNldHMKK05UUF9JUD0kKHRzX3Jlc29sdmVfaG9zdCAiJE5UUF9TRVJWRVIiKSBcCisJfHwgdHNfc2tpcCAiY2FuJ3QgcmVzb2x2ZSBob3N0bmFtZSAkTlRQX1NFUlZFUiIKKworT0ZGU0VUX0E9JChnZXRfb2Zmc2V0X3N5c19udHAgIiROVFBfSVAiKSBcCisJfHwgdHNfc2tpcCAiY2FuJ3QgZ2V0IG50cCBvZmZzZXQgMXN0LCAkTlRQX0lQIgorT0ZGU0VUX0I9JChnZXRfb2Zmc2V0X3N5c19udHAgIiROVFBfSVAiKSBcCisJfHwgdHNfc2tpcCAiY2FuJ3QgZ2V0IG50cCBvZmZzZXQgMm5kLCAkTlRQX0lQIgorCitkaWZmPSQoY2hlY2tfZGlmZl9vZmZzZXQgJE9GRlNFVF9BICRPRkZTRVRfQiAwLjAyKSBcCisJfHwgdHNfc2tpcCAidW5yZWxpYWJsZSBudHAgb3Igc3lzIGNsb2NrIG9mZnNldHM6ICROVFBfSVAgJE9GRlNFVF9BICRPRkZTRVRfQiArLy0kZGlmZiIKKworIyBod2Nsb2NrIC0tc2hvdyBzaG91bGQgd29yayBpZiB3ZSBoYXZlIGEgaHcgY2xvY2sKK3RtcD0kKCRUU19DTURfSFdDTE9DSyAtLXNob3cgMj4mMSkKK2lmIFsgJD8gIT0gIjAiIF07IHRoZW4KKwllY2hvICIkdG1wIiB8IGdyZXAgLXEgIkNhbm5vdCBhY2Nlc3MgdGhlIEhhcmR3YXJlIENsb2NrIHZpYSIgXAorCQkmJiB0c19za2lwICJubyBoYXJkd2FyZSBjbG9jayBmb3VuZCIKKwl0c19mYWlsZWQgImh3Y2xvY2sgLS1zaG93IgorZmkKKworIyBjYWxsIGh3Y2xvY2sKK2ZvciBpIGluIGBzZXEgMSAxMGA7IGRvCisJIyBvbmx5ICpza2lwKiBvbiBmYWlsdXJlIGZvciBub3cKKwkkVFNfQ01EX0hXQ0xPQ0sgLS1zeXN0b2hjIHx8IHRzX3NraXAgImh3Y2xvY2sgLS1zeXN0b2hjIGZhaWxlZCwgJGkiCisJJFRTX0NNRF9IV0NMT0NLIC0taGN0b3N5cyB8fCB0c19za2lwICJod2Nsb2NrIC0taGN0b3N5cyBmYWlsZWQsICRpIgorZG9uZQorCitPRkZTRVRfQz0kKGdldF9vZmZzZXRfc3lzX250cCAiJE5UUF9JUCIpIFwKKwl8fCB0c19za2lwICJjYW4ndCBnZXQgbnRwIG9mZnNldCAzcmQsICROVFBfSVAiCisKK2RpZmY9JChjaGVja19kaWZmX29mZnNldCAiJE9GRlNFVF9CIiAiJE9GRlNFVF9DIiAxLjApIFwKKwl8fCB0c19mYWlsZWQgIm9mZnNldHMgJE5UUF9JUDogJE9GRlNFVF9CICRPRkZTRVRfQyArLy0kZGlmZiIKKwordHNfb2sgIm9mZnNldHMgJE5UUF9JUDogJE9GRlNFVF9CICRPRkZTRVRfQyArLy0kZGlmZiIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2lwY3MvZnVuY3Rpb25zLnNoIGIvdGVzdHMvdHMvaXBjcy9mdW5jdGlvbnMuc2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTg2Y2U0MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2lwY3MvZnVuY3Rpb25zLnNoCkBAIC0wLDAgKzEsMTExIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKwordGVzdCAtZiAvcHJvYy9zeXMva2VybmVsL3NobWFsbCB8fCB0c19za2lwICJubyAvcHJvYyIKKworUEFHRV9TSVpFPSQoJFRTX0hFTFBFUl9TWVNJTkZPIHBhZ2VzaXplKQorCisjIGtlcm5lbCBmaWxlcworSVBDU19QUk9DRklMRVM9KAorCS9wcm9jL3N5cy9rZXJuZWwvc2htbW5pCisJL3Byb2Mvc3lzL2tlcm5lbC9zaG1hbGwKKwkvcHJvYy9zeXMva2VybmVsL3NobW1heAorKQorCisjIHJhdyBkYXRhIGNvbnZlcnRlZCB0byBpcGNzLWxpa2UgZm9ybWF0CisjCXNobW1uaSA9IHNhbWUKKyMJc2htYWxsID0gZnJvbSBwYWdlcyB0byBLQnl0ZXMKKyMJc2htbWF4ID0gZnJvbSBieXRlcyB0byBLQnl0ZXMKKyMKK0lQQ1NfS0VSTkVMX0NNRD0oCisJImNhdCAvcHJvYy9zeXMva2VybmVsL3NobW1uaSIKKwkiZWNobyBcJChjYXQgL3Byb2Mvc3lzL2tlcm5lbC9zaG1hbGwpIC8gMTAyNCBcKiAkUEFHRV9TSVpFIHwgYmMgLWwgfCBzZWQgJ3MvXC4uKi8vJyIKKwkiZWNobyBcJChjYXQgL3Byb2Mvc3lzL2tlcm5lbC9zaG1tYXgpIC8gMTAyNCB8IGJjIC1sIHwgc2VkICdzL1wuLiovLyciCispCisKKyMgZGF0YSBmcm9tIHRoZSBpcGNzIGNvbW1hbmQKK0lQQ1NfQ01EPSgKKwkiJFRTX0NNRF9JUENTIC1tIC1sIHwgYXdrICcvbWF4IG51bWJlciBvZiBzZWdtZW50cy8geyBwcmludCBcJDYgfSciCisJIiRUU19DTURfSVBDUyAtbSAtbCB8IGF3ayAnL21heCB0b3RhbCBzaGFyZWQgbWVtb3J5LyB7IHByaW50IFwkNyB9JyIKKwkiJFRTX0NNRF9JUENTIC1tIC1sIHwgYXdrICcvbWF4IHNlZyBzaXplLyB7IHByaW50IFwkNiB9JyIKKykKKworCisjIFRoZSBsaW51eCBrZXJuZWwgYWNjZXB0cyBVTE9OR19NQVgsIGJ1dCB0aGlzIHZhbHVlIGlzIHNhbWUgbGlrZSBVTExPTkdfTUFYIG9uCisjIDY0LWJpdCBhcmNocy4gU28gdGhlIGlwY3MgY29tbWFuZCBoYXMgdG8gYWx3YXlzIG92ZXJmbG93IG9uIDY0LWJpdCBhcmNocyB3aGVuCisjIHNobWFsbCAoPW51bSBvZiBwYWdlcyEpIGlzIHNhbWUgb3IgYWxtb3N0IHNhbWUgbGlrZSBVTE9OR19NQVguIFRoaXMgaXMgcmVhc29uCisjIHdoeSB3ZSBmb3IgdGhlIHRlc3QgdXNlcyAzMi1iaXQgbGltaXRzIG9uIGFsbCBhcmNocy4KKyMKKyMgKERvbid0IHdvcnJ5IHRoYXQgNjQtYml0IFVMT05HX01BWCBtYWtlcyBpcGNzIHVzZWxlc3MgLi4uCisjICAuLi4gaXQncyBhIHByb2JsZW0gZm9yIGFkbWlucyB3aG8gd2FudCB0byB1c2UgNzU1NTc4NjM3MjVUQiBvZiBSQU0gZm9yIHNobSkKKyMKK0lQQ1NfTElNSVRTPSgKKwkkKCRUU19IRUxQRVJfU1lTSU5GTyBJTlRfTUFYKQorCSQoJFRTX0hFTFBFUl9TWVNJTkZPIFVMT05HX01BWDMyKQorCSQoJFRTX0hFTFBFUl9TWVNJTkZPIFVMT05HX01BWDMyKQorKQorCisjIGxpc3Qgb2YgaW5kZXhlcyA9IDAuLihzaXplb2YgQXJyYXkgLSAxKQorSVBDU19JRFg9JChzZXEgMCAkKCggJHsjSVBDU19QUk9DRklMRVNbKl19IC0gMSApKSkKKworIyBjaGVja2VyCitmdW5jdGlvbiBpcGNzX2xpbWl0c19jaGVjayB7CisJZm9yIGkgaW4gJElQQ1NfSURYOyBkbworCisJCWVjaG8gLW4gJHtJUENTX1BST0NGSUxFU1skaV19CisKKwkJYT0kKGV2YWwgJHtJUENTX0tFUk5FTF9DTURbJGldfSkKKwkJYj0kKGV2YWwgJHtJUENTX0NNRFskaV19KQorCisJCSNlY2hvCisJCSNlY2hvICJLRVJORUwtQ01EOiAke0lQQ1NfS0VSTkVMX0NNRFskaV19IgorCQkjZWNobyAiS0VSTkVMLVJBVzogJChjYXQgJHtJUENTX1BST0NGSUxFU1skaV19KSIKKwkJI2VjaG8gIklQQ1MtQ01EOiAgICR7SVBDU19DTURbJGldfSIKKwkJI2VjaG8KKworCQkjIG92ZXJmbG93IGlzIGhhbmRsZWQgZGlmZmVyZW50bHkgYmVjYXVzZSB3ZSBkb24ndCBoYXZlIGxhcmdlCisJCSMgaW50IG1hdGgsIHNlZSBodHRwczovL2dpdGh1Yi5jb20va2FyZWx6YWsvdXRpbC1saW51eC9pc3N1ZXMvNTEKKwkJaWYgWyAkKGJjIDw8PCIkYSA+PSAyXjY0LzEwMjQiKSAtZXEgMSBdOyB0aGVuCisJCQlhPSQoYmMgPDw8IigyXjY0IC0gJFBBR0VfU0laRSkvMTAyNCIpCisJCWZpCisKKwkJaWYgWyB4IiRhIiA9PSB4IiRiIiBdOyB0aGVuCisJCQllY2hvICIgT0siCisJCWVsc2UKKwkJCWVjaG8gIiBrZXJuZWw9JGEsIGlwY3M9JGIiCisJCWZpCisJZG9uZQorfQorCisjIFJlYWQgJ2lwY21rJyBvdXRwdXQsIHN1Y2ggYXMgJ1NoYXJlZCBtZW1vcnkgaWQ6IDIyODM5Mjk5JyBhbmQKKyMgd3JpdGUgdGhlIG1lc3NhZ2UgdG8gdHdvIGZpbGVzOiAoMSkgc29tZXRoaW5nIHdoYXQgb25lIGNhbgorIyBjb21wYXJlIGFzIHRlc3Qgb3V0cHV0LCBhbmQgKDIpIGlkIHdoaWNoIGlwY3JtIGxhdGVyIHdpbGwgdXNlCisjIGZvciBkZWxldGlvbi4KK2lwY21rX291dHB1dF9oYW5kbGVyKCkgeworCWF3ayAtdiB0ZXh0PSQxIC12IG51bT0kMiAnCisJZnVuY3Rpb24gaXNudW0oeCkgeworCQlyZXR1cm4oeCA9PSB4ICsgMCkKKwl9CisJeworCQlpZiAoaXNudW0oJE5GKSkgeworCQkJcHJpbnQgJE5GID4+IG51bQorCQkJJE5GPSI8d2FzX251bWJlcj4iCisJCX0KKwkJcHJpbnQgJDAgPj4gdGV4dAorCX0nCit9CmRpZmYgLS1naXQgYS90ZXN0cy90cy9pcGNzL2hlYWRlcnMgYi90ZXN0cy90cy9pcGNzL2hlYWRlcnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDc1ZWQ1NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2lwY3MvaGVhZGVycwpAQCAtMCwwICsxLDYwIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImhlYWRlcnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSVBDUyIKKwordHNfbG9nICJ0ZXN0OiBzaG0gaGVhZGVycyIKKyRUU19DTURfSVBDUyAtbSAtdCB8IGdyZXAgLUExICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1tIC1wIHwgZ3JlcCAtQTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLW0gLWMgfCBncmVwIC1BMSAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtbSAtbCB8IGdyZXAgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLW0gLXUgfCBncmVwICJeLS0tIiAgPj4gJFRTX09VVFBVVAorZWNobyA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAidGVzdDogbWVzZyBoZWFkZXJzIgorJFRTX0NNRF9JUENTIC1xIC10IHwgZ3JlcCAtQTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLXEgLXAgfCBncmVwIC1BMSAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtcSAtYyB8IGdyZXAgLUExICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1xIC1sIHwgZ3JlcCAgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLXEgLXUgfCBncmVwICAiXi0tLSIgID4+ICRUU19PVVRQVVQKK2VjaG8gPj4gJFRTX09VVFBVVAorCit0c19sb2cgInRlc3Q6IHNlbSBoZWFkZXJzIgorJFRTX0NNRF9JUENTIC1zIC10IHwgZ3JlcCAtQTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLXMgLXAgfCBncmVwIC1BMSAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtcyAtYyB8IGdyZXAgLUExICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1zIC1sIHwgZ3JlcCAgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLXMgLXUgfCBncmVwICAiXi0tLSIgID4+ICRUU19PVVRQVVQKK2VjaG8gPj4gJFRTX09VVFBVVAorCit0c19sb2cgInRlc3Q6IGFsbCBoZWFkZXJzIgorJFRTX0NNRF9JUENTIC1hIHwgZ3JlcCAtQTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCisKKyRUU19DTURfSVBDUyAtYSAtdCB8IGdyZXAgLUExICJeLS0tIiAgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9JUENTIC1hIC1wIHwgZ3JlcCAtQTEgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLWEgLWMgfCBncmVwIC1BMSAiXi0tLSIgID4+ICRUU19PVVRQVVQKKyRUU19DTURfSVBDUyAtYSAtbCB8IGdyZXAgIl4tLS0iICA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1MgLWEgLXUgfCBncmVwICJeLS0tIiAgPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9pcGNzL2xpbWl0cyBiL3Rlc3RzL3RzL2lwY3MvbGltaXRzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjdiNjRiM2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9pcGNzL2xpbWl0cwpAQCAtMCwwICsxLDUzIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibGltaXRzIG92ZXJmbG93IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0lQQ1MiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfcHJvZyAiYmMiCisKKy4gJFRTX1NFTEYvZnVuY3Rpb25zLnNoCisKK3RzX2xvY2sgImlwY3NsaW1pdHMiCisKK3RzX2xvZyAibG9hZCBvcmlnaW5hbCB2YWx1ZXMiCitmb3IgaSBpbiAkSVBDU19JRFg7IGRvCisJU0hNX09SR1skaV09JChjYXQgJHtJUENTX1BST0NGSUxFU1skaV19KQorZG9uZSA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAibWF4aW1pemUga2VybmVsIHNldHRpbmciCitmb3IgaSBpbiAkSVBDU19JRFg7IGRvCisJZWNobyAke0lQQ1NfTElNSVRTWyRpXX0gPj4gJHtJUENTX1BST0NGSUxFU1skaV19Citkb25lID4+ICRUU19PVVRQVVQKKwordHNfbG9nICJjaGVjayBmb3IgZGlmZmVyZW5jZSBiZXR3ZWVuIGtlcm5lbCBhbmQgSVBDIgoraXBjc19saW1pdHNfY2hlY2sgPj4gJFRTX09VVFBVVAorCit0c19sb2cgIndyaXRlIG9yaWdpbmFsIHZhbHVlcyB0byBrZXJuZWwiCitmb3IgaSBpbiAkSVBDU19JRFg7IGRvCisJZWNobyAke1NITV9PUkdbJGldfSA+PiAke0lQQ1NfUFJPQ0ZJTEVTWyRpXX0KK2RvbmUgPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9pcGNzL2xpbWl0czIgYi90ZXN0cy90cy9pcGNzL2xpbWl0czIKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDIzYzQxYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2lwY3MvbGltaXRzMgpAQCAtMCwwICsxLDM2IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYmFzaWMgbGltaXRzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0lQQ1MiCit0c19jaGVja19wcm9nICJiYyIKKworLiAkVFNfU0VMRi9mdW5jdGlvbnMuc2gKKwordHNfbG9jayAiaXBjc2xpbWl0cyIKKwordHNfbG9nICJjaGVjayBmb3IgZGlmZmVyZW5jZSBiZXR3ZWVuIGtlcm5lbCBhbmQgSVBDIgoraXBjc19saW1pdHNfY2hlY2sgPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9pcGNzL21rLXJtLW1zZyBiL3Rlc3RzL3RzL2lwY3MvbWstcm0tbXNnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI1NDYwZTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9pcGNzL21rLXJtLW1zZwpAQCAtMCwwICsxLDQyIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im1rLXJtLW1zZyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENTIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0lQQ01LIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0lQQ1JNIgorCisuICRUU19TRUxGL2Z1bmN0aW9ucy5zaAorCitybSAtZiAkVFNfT1VURElSL2lkLW1zZworJFRTX0NNRF9JUENNSyAtUSAyPj4kVFNfT1VUUFVUIHwgaXBjbWtfb3V0cHV0X2hhbmRsZXIgJFRTX09VVFBVVCAkVFNfT1VURElSL2lkLW1zZworJFRTX0NNRF9JUENTIC1xIC1pICIkKGNhdCAkVFNfT1VURElSL2lkLW1zZykiIHxcCisJZ3JlcCAtYyAiXk1lc3NhZ2UgUXVldWUgbXNxaWQ9JChjYXQgJFRTX09VVERJUi9pZC1tc2cpJCIgPj4kVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1JNIC1xICQoY2F0ICRUU19PVVRESVIvaWQtbXNnKSA+PiRUU19PVVRQVVQgMj4mMQorCitybSAtZiAkVFNfT1VURElSL2lkLW1zZworJFRTX0NNRF9JUENNSyAtUSAyPj4kVFNfT1VUUFVUIHwgaXBjbWtfb3V0cHV0X2hhbmRsZXIgJFRTX09VVFBVVCAkVFNfT1VURElSL2lkLW1zZworJFRTX0NNRF9JUENSTSAtUSAiJCgKKwkkVFNfQ01EX0lQQ1MgLXEgfAorCWF3ayAtdiBpZD0kKGNhdCAkVFNfT1VURElSL2lkLW1zZykgJ3tpZiAoJDIgPT0gaWQpe3ByaW50ICQxfX0nCispIiA+PiRUU19PVVRQVVQgMj4mMQorCitybSAtZiAkVFNfT1VURElSL2lkLW1zZworCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaXBjcy9tay1ybS1zZW0gYi90ZXN0cy90cy9pcGNzL21rLXJtLXNlbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42MWUwY2ZkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvaXBjcy9tay1ybS1zZW0KQEAgLTAsMCArMSw0MiBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJtay1ybS1zZW0iCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfSVBDUyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENNSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENSTSIKKworLiAkVFNfU0VMRi9mdW5jdGlvbnMuc2gKKworcm0gLWYgJFRTX09VVERJUi9pZC1zZW0KKyRUU19DTURfSVBDTUsgLVMgMSAyPj4kVFNfT1VUUFVUIHwgaXBjbWtfb3V0cHV0X2hhbmRsZXIgJFRTX09VVFBVVCAkVFNfT1VURElSL2lkLXNlbQorJFRTX0NNRF9JUENTIC1zIC1pICIkKGNhdCAkVFNfT1VURElSL2lkLXNlbSkiIHwgZ3JlcCAiXm5zZW1zIiA+PiRUU19PVVRQVVQKKyRUU19DTURfSVBDUk0gLXMgJChjYXQgJFRTX09VVERJUi9pZC1zZW0pID4+JFRTX09VVFBVVCAyPiYxCisKK3JtIC1mICRUU19PVVRESVIvaWQtc2VtCiskVFNfQ01EX0lQQ01LIC1TIDIgMj4+JFRTX09VVFBVVCB8IGlwY21rX291dHB1dF9oYW5kbGVyICRUU19PVVRQVVQgJFRTX09VVERJUi9pZC1zZW0KKyRUU19DTURfSVBDUyAtcyAtaSAiJChjYXQgJFRTX09VVERJUi9pZC1zZW0pIiB8IGdyZXAgIl5uc2VtcyIgPj4kVFNfT1VUUFVUCiskVFNfQ01EX0lQQ1JNIC1TICIkKAorCSRUU19DTURfSVBDUyAtcyB8CisJYXdrIC12IGlkPSQoY2F0ICRUU19PVVRESVIvaWQtc2VtKSAne2lmICgkMiA9PSBpZCl7cHJpbnQgJDF9fScKKykiID4+JFRTX09VVFBVVCAyPiYxCisKK3JtIC1mICRUU19PVVRESVIvaWQtc2VtCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9pcGNzL21rLXJtLXNobSBiL3Rlc3RzL3RzL2lwY3MvbWstcm0tc2htCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjgzOGZiM2YKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9pcGNzL21rLXJtLXNobQpAQCAtMCwwICsxLDQyIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im1rLXJtLXNobSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JUENTIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0lQQ01LIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0lQQ1JNIgorCisuICRUU19TRUxGL2Z1bmN0aW9ucy5zaAorCitybSAtZiAkVFNfT1VURElSL2lkLXNobQorJFRTX0NNRF9JUENNSyAtTSAxIDI+PiRUU19PVVRQVVQgfCBpcGNta19vdXRwdXRfaGFuZGxlciAkVFNfT1VUUFVUICRUU19PVVRESVIvaWQtc2htCiskVFNfQ01EX0lQQ1MgLW0gLWkgIiQoY2F0ICRUU19PVVRESVIvaWQtc2htKSIgfCBzZWQgLW4gJy9eYnl0ZXMvcy9cdC4qLy9wJyA+PiRUU19PVVRQVVQKKyRUU19DTURfSVBDUk0gLW0gJChjYXQgJFRTX09VVERJUi9pZC1zaG0pID4+JFRTX09VVFBVVCAyPiYxCitybSAtZiAkVFNfT1VURElSL2lkLXNobQorCiskVFNfQ01EX0lQQ01LIC1NIDEyIDI+PiRUU19PVVRQVVQgfCBpcGNta19vdXRwdXRfaGFuZGxlciAkVFNfT1VUUFVUICRUU19PVVRESVIvaWQtc2htCiskVFNfQ01EX0lQQ1MgLW0gLWkgIiQoY2F0ICRUU19PVVRESVIvaWQtc2htKSIgfCBzZWQgLW4gJy9eYnl0ZXMvcy9cdC4qLy9wJyA+PiRUU19PVVRQVVQKKyRUU19DTURfSVBDUk0gLU0gIiQoCisJJFRTX0NNRF9JUENTIC1tIHwKKwlhd2sgLXYgaWQ9JChjYXQgJFRTX09VVERJUi9pZC1zaG0pICd7aWYgKCQyID09IGlkKXtwcmludCAkMX19JworKSIgPj4kVFNfT1VUUFVUIDI+JjEKKworcm0gLWYgJFRTX09VVERJUi9pZC1zaG0KKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2lzb3NpemUvcHJpbnQtc2l6ZSBiL3Rlc3RzL3RzL2lzb3NpemUvcHJpbnQtc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNzdjMTI0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvaXNvc2l6ZS9wcmludC1zaXplCkBAIC0wLDAgKzEsMzcgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icHJpbnQtc2l6ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JU09TSVpFIgorCitnemlwIC1jZCAkVFNfU0VMRi9zYW1wbGUuaXNvLmd6ID58ICRUU19PVVRESVIvc2FtcGxlLmlzbworCit0c19pbml0X3N1YnRlc3QgImRlZmF1bHRfb3V0cHV0IgorJFRTX0NNRF9JU09TSVpFICRUU19PVVRESVIvc2FtcGxlLmlzbyA+fCAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZWN0b3Jfb3V0cHV0IgorJFRTX0NNRF9JU09TSVpFIC0tc2VjdG9ycyAkVFNfT1VURElSL3NhbXBsZS5pc28gJj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZGl2aXNvcl9vdXRwdXQiCiskVFNfQ01EX0lTT1NJWkUgLS1kaXZpc29yPTkgJFRTX09VVERJUi9zYW1wbGUuaXNvICY+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvaXNvc2l6ZS9zYW1wbGUuaXNvLmd6IGIvdGVzdHMvdHMvaXNvc2l6ZS9zYW1wbGUuaXNvLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE3OTM3YTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9pc29zaXplL3NhbXBsZS5pc28uZ3oKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMva2lsbC9hbGxfcHJvY2Vzc2VzIGIvdGVzdHMvdHMva2lsbC9hbGxfcHJvY2Vzc2VzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjI1OTZlZjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9raWxsL2FsbF9wcm9jZXNzZXMKQEAgLTAsMCArMSw2MCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJhbGxfcHJvY2Vzc2VzIgorCisuICIkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaCIKK3RzX2luaXQgIiQqIgorCit0c19za2lwX25vbnJvb3QKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0tJTEwiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfU0lHUkVDRUlWRSIKKworLiAiJFRTX1NFTEYva2lsbF9mdW5jdGlvbnMuc2giCisKK0hFTFBFUl9TWU1MSU5LPSIkKG1rdGVtcCAiJHtUU19PVVRESVJ9L2FsWFhYWFhYWFhYWFhYWCIpIgorbG4gLXNmICIkVFNfSEVMUEVSX1NJR1JFQ0VJVkUiICIkSEVMUEVSX1NZTUxJTksiCisKKyIkSEVMUEVSX1NZTUxJTksiIC1zICIkVFNfVEVTVFVTRVIiID4+ICIkVFNfT1VUUFVUIiAyPiYxICYKK1RFU1RfUElEPSQhCisKK2NoZWNrX3Rlc3Rfc2lncmVjZWl2ZSAkVEVTVF9QSUQKK1sgJD8gLWVxIDEgXSB8fCBlY2hvICIke0hFTFBFUl9TWU1MSU5LIyMqL30gaGVscGVyIGRpZCBub3Qgc3RhcnQiID4+ICIkVFNfT1VUUFVUIgorCitlY2hvICJ0ZXN0IDEiID4+ICIkVFNfT1VUUFVUIgorIiRUU19DTURfS0lMTCIgJHtIRUxQRVJfU1lNTElOSyMjKi99ID4+ICIkVFNfT1VUUFVUIiAyPiYxCitpZiBbICQ/IC1uZSAxIF07IHRoZW4KKwllY2hvICJraWxsIGRpZCBub3QgcmV0dXJuIDEiID4+ICIkVFNfT1VUUFVUIgorZmkKKworZWNobyAidGVzdCAyIiA+PiAiJFRTX09VVFBVVCIKKyIkVFNfQ01EX0tJTEwiIC1hICR7SEVMUEVSX1NZTUxJTksjIyovfSA+PiAiJFRTX09VVFBVVCIgMj4mMQoraWYgWyAkPyAtbmUgMCBdOyB0aGVuCisJZWNobyAia2lsbCBkaWQgbm90IHJldHVybiAwIiA+PiAiJFRTX09VVFBVVCIKK2ZpCit3YWl0ICRURVNUX1BJRAorCitlY2hvICJ0ZXN0IDMiID4+ICIkVFNfT1VUUFVUIgorIiRUU19DTURfS0lMTCIgLWEgLXAgJHtIRUxQRVJfU1lNTElOSyMjKi99ID4+ICIkVFNfT1VUUFVUIiAyPiYxCitpZiBbICQ/IC1uZSAxIF07IHRoZW4KKwllY2hvICJraWxsIC1hIC1wIGRpZCBub3QgcmV0dXJuIDEiID4+ICIkVFNfT1VUUFVUIgorZmkKKworc2VkIC1pICJzLyR7SEVMUEVSX1NZTUxJTksjIyovfS8ke1RTX0hFTFBFUl9TSUdSRUNFSVZFIyMqL30vIiAiJFRTX09VVFBVVCIKKworcm0gLWYgIiRIRUxQRVJfU1lNTElOSyIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2tpbGwva2lsbF9mdW5jdGlvbnMuc2ggYi90ZXN0cy90cy9raWxsL2tpbGxfZnVuY3Rpb25zLnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmNjMGE0NDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9raWxsL2tpbGxfZnVuY3Rpb25zLnNoCkBAIC0wLDAgKzEsMjkgQEAKKyMga2lsbCB0ZXN0cywgb3IgY29tbWFuZCwgd2lsbCBub3Qgd2hlbiAvcHJvYyBpcyBtaXNzaW5nLgordGVzdCAtZCAvcHJvYyB8fCB0c19za2lwICIvcHJvYyBub3QgYXZhaWxhYmxlIgorCisjIFRoZSB0ZXN0X3NpZ3JlY2VpdmUgaXMgcmVhZHkgd2hlbiBzaWduYWwgcHJvY2VzcyBtYXNrIGNvbnRhaW5zIFNJR0hVUAorZnVuY3Rpb24gY2hlY2tfdGVzdF9zaWdyZWNlaXZlIHsKKwlsb2NhbCByYz0wCisJbG9jYWwgcGlkPSQxCisKKwlmb3IgaSBpbiAwLjAxIDAuMSAxIDEgMSAxOyBkbworCQlpZiBbICEgLWYgL3Byb2MvJHBpZC9zdGF0dXMgXTsgdGhlbgorCQkJIyBUaGUgL3Byb2MgZXhpc3RzLCBidXQgbm90IHN0YXR1cyBmaWxlLiBCZWNhdXNlIHRoZQorCQkJIyBwcm9jZXNzIGFscmVhZHkgc3RhcnRlZCBpdCBpcyB1bmxpa2VseSB0aGUgZmlsZSB3b3VsZAorCQkJIyBhcHBlYXIgYWZ0ZXIgYW55IGFtb3VudCBvZiB3YWl0aW5nLiAgVHJ5IHRvIHNsZWVwIGZvcgorCQkJIyBtb21lbnQgYW5kIGhvcGVmdWxseSB0ZXN0X3NpZ3JlY2VpdmUgaXMgcmVhZHkgdG8gYmUKKwkJCSMga2lsbGVkLgorCQkJZWNobyAia2lsbF9mdW5jdGlvbnMuc2g6IC9wcm9jLyRwaWQvc3RhdHVzOiBObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5IgorCQkJc2xlZXAgMgorCQkJcmM9MQorCQkJYnJlYWsKKwkJZmkKKwkJc2lnbWFzaz0kKCgxNiMkKCBhd2sgJy9TaWdDZ3QvIHsgcHJpbnQgJDJ9JyAvcHJvYy8kcGlkL3N0YXR1cykgKSkKKwkJaWYgWyAkKCggJHNpZ21hc2sgJiAxICkpID09IDEgXTsgdGhlbgorCQkJcmM9MQorCQkJYnJlYWsKKwkJZmkKKwkJc2xlZXAgJGkKKwlkb25lCisJcmV0dXJuICRyYworfQkKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2tpbGwvbmFtZV90b19udW1iZXIgYi90ZXN0cy90cy9raWxsL25hbWVfdG9fbnVtYmVyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkZTU1YzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9raWxsL25hbWVfdG9fbnVtYmVyCkBAIC0wLDAgKzEsNjcgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibmFtZV90b19udW1iZXIiCisKKy4gIiRUU19UT1BESVIvZnVuY3Rpb25zLnNoIgordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9LSUxMIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1NJR1JFQ0VJVkUiCisKKy4gIiRUU19TRUxGL2tpbGxfZnVuY3Rpb25zLnNoIgorCithbGxfb2s9dHJ1ZQorCitIRUxQRVJfU1lNTElOSz0iJChta3RlbXAgIiR7VFNfT1VURElSfS9uYVhYWFhYWFhYWFhYWFgiKSIKK2xuIC1zZiAiJFRTX0hFTFBFUl9TSUdSRUNFSVZFIiAiJEhFTFBFUl9TWU1MSU5LIgorCitmb3IgU0lHIGluICQoJFRTX0NNRF9LSUxMIC1MKTsgZG8KKwlpZiBbICJ4JHtTSUcvL1swLTldL30iID0gIngiIF07IHRoZW4KKwkJRVhQRUNURUQ9JFNJRworCQljb250aW51ZQorCWZpCisJaWYgWyAtZiAiJEFTQU5fU1lNQk9MSVpFUl9QQVRIIiBdICYmIFsgIngkU0lHIiA9ICJ4U0VHViIgXTsgdGhlbgorCQljb250aW51ZQorCWZpCisJaWYgWyAieCRTSUciID0gInhTVE9QIiBdIHx8IFsgIngkU0lHIiA9ICJ4S0lMTCIgXTsgdGhlbgorCQljb250aW51ZQorCWZpCisJaWYgWyAieCRTSUciID0gInhSVE1JTiIgXTsgdGhlbgorCQlTSUc9IiRTSUcrMCIKKwlmaQorCWlmIFsgIngkU0lHIiA9ICJ4UlRNQVgiIF07IHRoZW4KKwkJU0lHPSIkU0lHLTAiCisJZmkKKworCSIkSEVMUEVSX1NZTUxJTksiID4+ICIkVFNfT1VUUFVUIiAyPiYxICYKKwlURVNUX1BJRD0kIQorCWNoZWNrX3Rlc3Rfc2lncmVjZWl2ZSAkVEVTVF9QSUQKKwlbICQ/IC1lcSAxIF0gfHwgZWNobyAiJHtIRUxQRVJfU1lNTElOSyMjKi99IGhlbHBlciBkaWQgbm90IHN0YXJ0IiA+PiAiJFRTX09VVFBVVCIKKworCSIkVFNfQ01EX0tJTEwiIC0kU0lHICR7SEVMUEVSX1NZTUxJTksjIyovfSA+PiAiJFRTX09VVFBVVCIgMj4mMQorCXdhaXQgJFRFU1RfUElECisJaWYgWyAkPyAtbmUgJEVYUEVDVEVEIF07IHRoZW4KKwkJZWNobyAiJFNJRyByZXR1cm5lZCAkPyB3aGlsZSAkRVhQRUNURUQgd2FzIGV4cGVjdGVkIiA+PiAiJFRTX09VVFBVVCIKKwkJYWxsX29rPWZhbHNlCisJZmkKK2RvbmUKKworaWYgJGFsbF9vazsgdGhlbgorCWVjaG8gJ2FsbCBvaycgPj4gIiRUU19PVVRQVVQiCitmaQorcm0gLWYgIiRIRUxQRVJfU1lNTElOSyIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2tpbGwvb3B0aW9ucyBiL3Rlc3RzL3RzL2tpbGwvb3B0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yYzgyYmJjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMva2lsbC9vcHRpb25zCkBAIC0wLDAgKzEsNjMgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ib3B0aW9ucyIKKworLiAiJFRTX1RPUERJUi9mdW5jdGlvbnMuc2giCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0tJTEwiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfU0lHUkVDRUlWRSIKKworLiAiJFRTX1NFTEYva2lsbF9mdW5jdGlvbnMuc2giCisKK2FsbF9vaz10cnVlCisKK0hFTFBFUl9TWU1MSU5LPSIkKG1rdGVtcCAiJHtUU19PVVRESVJ9L29wWFhYWFhYWFhYWFhYWCIpIgorbG4gLXNmICIkVFNfSEVMUEVSX1NJR1JFQ0VJVkUiICIkSEVMUEVSX1NZTUxJTksiCisKK3RyeV9vcHRpb24oKQoreworCSIkSEVMUEVSX1NZTUxJTksiID4+ICIkVFNfT1VUUFVUIiAyPiYxICYKKwlURVNUX1BJRD0kIQorCWNoZWNrX3Rlc3Rfc2lncmVjZWl2ZSAkVEVTVF9QSUQKKwlbICQ/IC1lcSAxIF0gfHwgZWNobyAiJHtIRUxQRVJfU1lNTElOSyMjKi99IGhlbHBlciBkaWQgbm90IHN0YXJ0IiA+PiAiJFRTX09VVFBVVCIKKworCSIkVFNfQ01EX0tJTEwiICIkQCIgJFRFU1RfUElEID4+ICIkVFNfT1VUUFVUIiAyPiYxCisJaWYgWyAkPyAtbmUgMCBdOyB0aGVuCisJCWVjaG8gImtpbGwgJEAgZGlkIG5vdCB3b3JrIiA+PiAiJFRTX09VVFBVVCIKKwkJYWxsX29rPWZhbHNlCisJZmkKKwl3YWl0ICRURVNUX1BJRAorCWlmIFsgJD8gLW5lIDEgXTsgdGhlbgorCQllY2hvICJ3YWl0ICRURVNUX1BJRCBmb3IgJEAgZGlkIG5vdCB3b3JrIiA+PiAiJFRTX09VVFBVVCIKKwkJYWxsX29rPWZhbHNlCisJZmkKK30KKwordHJ5X29wdGlvbiAtcyAxCit0cnlfb3B0aW9uIC0tc2lnbmFsIDEKK3RyeV9vcHRpb24gLS1zaWduYWwgSFVQCit0cnlfb3B0aW9uIC0tc2lnbmFsIFNJR0hVUAordHJ5X29wdGlvbiAtMQordHJ5X29wdGlvbiAtSFVQCit0cnlfb3B0aW9uIC1TSUdIVVAKKworaWYgJGFsbF9vazsgdGhlbgorCWVjaG8gJ2FsbCBvaycgPj4gIiRUU19PVVRQVVQiCitmaQorcm0gLWYgIiRIRUxQRVJfU1lNTElOSyIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2tpbGwvcHJpbnRfcGlkIGIvdGVzdHMvdHMva2lsbC9wcmludF9waWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYzYxODdmMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2tpbGwvcHJpbnRfcGlkCkBAIC0wLDAgKzEsNTggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icHJpbnRfcGlkIgorCisuICIkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaCIKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfS0lMTCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TSUdSRUNFSVZFIgorCisuICIkVFNfU0VMRi9raWxsX2Z1bmN0aW9ucy5zaCIKKworYWxsX29rPXRydWUKKworSEVMUEVSX1NZTUxJTks9IiQobWt0ZW1wICIke1RTX09VVERJUn0vcHJYWFhYWFhYWFhYWFhYIikiCitsbiAtc2YgIiRUU19IRUxQRVJfU0lHUkVDRUlWRSIgIiRIRUxQRVJfU1lNTElOSyIKKworIiRIRUxQRVJfU1lNTElOSyIgPj4gIiRUU19PVVRQVVQiIDI+JjEgJgorVEVTVF9QSUQ9JCEKK2NoZWNrX3Rlc3Rfc2lncmVjZWl2ZSAkVEVTVF9QSUQKK1sgJD8gLWVxIDEgXSB8fCBlY2hvICIke0hFTFBFUl9TWU1MSU5LIyMqL30gaGVscGVyIGRpZCBub3Qgc3RhcnQiID4+ICIkVFNfT1VUUFVUIgorCitLSUxMX1BJRD0kKCIkVFNfQ01EX0tJTEwiIC1wICR7SEVMUEVSX1NZTUxJTksjIyovfSAyPj4gIiRUU19PVVRQVVQiIDI+JjEpCitpZiBbICQ/IC1uZSAwIF07IHRoZW4KKwllY2hvICJraWxsIC1wIGRpZCBub3Qgd29yayIgPj4gIiRUU19PVVRQVVQiCisJYWxsX29rPWZhbHNlCitmaQoraWYgWyAieCRURVNUX1BJRCIgIT0gIngkS0lMTF9QSUQiIF07IHRoZW4KKwllY2hvICJqb2JzIC1wICRURVNUX1BJRCAhPSBraWxsIC1wICRLSUxMX1BJRCIgPj4gIiRUU19PVVRQVVQiCisJYWxsX29rPWZhbHNlCitmaQorCisiJFRTX0NNRF9LSUxMIiAtMSAkVEVTVF9QSUQKK3dhaXQgJFRFU1RfUElECitpZiBbICQ/IC1uZSAxIF07IHRoZW4KKwllY2hvICJ3YWl0ICRURVNUX1BJRCByZXR1cm5lZCAkez99IiA+PiAiJFRTX09VVFBVVCIKKwlhbGxfb2s9ZmFsc2UKK2ZpCisKK2lmICRhbGxfb2s7IHRoZW4KKwllY2hvICdhbGwgb2snID4+ICIkVFNfT1VUUFVUIgorZmkKK3JtIC1mICIkSEVMUEVSX1NZTUxJTksiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9raWxsL3F1ZXVlIGIvdGVzdHMvdHMva2lsbC9xdWV1ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45OTJhY2Y3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMva2lsbC9xdWV1ZQpAQCAtMCwwICsxLDUzIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InF1ZXVlIgorCisuICIkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaCIKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfS0lMTCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TSUdSRUNFSVZFIgorCisuICIkVFNfU0VMRi9raWxsX2Z1bmN0aW9ucy5zaCIKKworYWxsX29rPXRydWUKKworSEVMUEVSX1NZTUxJTks9IiQobWt0ZW1wICIke1RTX09VVERJUn0vcXVYWFhYWFhYWFhYWFhYIikiCitsbiAtc2YgIiRUU19IRUxQRVJfU0lHUkVDRUlWRSIgIiRIRUxQRVJfU1lNTElOSyIKKworIiRIRUxQRVJfU1lNTElOSyIgPj4gIiRUU19PVVRQVVQiIDI+JjEgJgorVEVTVF9QSUQ9JCEKK2NoZWNrX3Rlc3Rfc2lncmVjZWl2ZSAkVEVTVF9QSUQKK1sgJD8gLWVxIDEgXSB8fCBlY2hvICIke0hFTFBFUl9TWU1MSU5LIyMqL30gaGVscGVyIGRpZCBub3Qgc3RhcnQiID4+ICIkVFNfT1VUUFVUIgorCisiJFRTX0NNRF9LSUxMIiAtMSAtLXF1ZXVlIDQyICRURVNUX1BJRCA+PiAiJFRTX09VVFBVVCIgMj4mMQoraWYgWyAkPyAtbmUgMCBdOyB0aGVuCisJZWNobyAia2lsbCAtLXF1ZXVlIDQyIGZhaWxlZCIgPj4gIiRUU19PVVRQVVQiCisJYWxsX29rPWZhbHNlCitmaQord2FpdCAkVEVTVF9QSUQKK2lmIFsgJD8gLW5lIDQyIF07IHRoZW4KKwllY2hvICJ3YWl0ICRURVNUX1BJRCByZXR1cm5lZCAkPyBpbnN0ZWFkIG9mIDQyIiA+PiAiJFRTX09VVFBVVCIKKwlhbGxfb2s9ZmFsc2UKK2ZpCisKK2lmICRhbGxfb2s7IHRoZW4KKwllY2hvICdhbGwgb2snID4+ICIkVFNfT1VUUFVUIgorZmkKKworcm0gLWYgIiRIRUxQRVJfU1lNTElOSyIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYmZkaXNrL2dwdCBiL3Rlc3RzL3RzL2xpYmZkaXNrL2dwdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNjI1N2U3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGliZmRpc2svZ3B0CkBAIC0wLDAgKzEsNjUgQEAKKyMhL2Jpbi9iYXNoCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IkdQVCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQkZESVNLX0dQVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRFU1RQUk9HIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NGRElTSyIKKworVEVTVF9JTUFHRV9OQU1FPSQodHNfaW1hZ2VfaW5pdCAxMCkKKwordHNfaW5pdF9zdWJ0ZXN0ICJhbGwtZGVmYXVsdHMiCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCitsYWJlbDogZ3B0CitsYWJlbC1pZDogYjE4MWMzOTktNDcxMS00YzUyLThiNjUtOWU3NjQ1NDEyMThkCisKK3NpemU9NU0sIGF0dHJzPSJSZXF1aXJlZFBhcnRpdGlvbiw0OCIKK2F0dHJzPSI1Miw1Myw2MiIKK0VPRgordHNfZmRpc2tfY2xlYW4gJHtURVNUX0lNQUdFX05BTUV9Cit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTApCisKK3RzX2luaXRfc3VidGVzdCAiYWxsLWRlZmF1bHRzLXdpdGgtdHlwbyIKKyRUU19DTURfU0ZESVNLIC0tdW5pdCBTICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK2xhYmVsOiBncHQKK2xhYmVsLWlkOiBiMTgxYzM5OS00NzExLTRjNTItOGI2NS05ZTc2NDU0MTIxOGQKKworc2l6ZT01TSwgYXR0cnM9IlJlcXVpcmVkUGFydGl0b24sNDgiCithdHRycz0iNTIsNTMsNjIiCitFT0YKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImdldGF0dHIiCit0c19ydW4gJFRFU1RQUk9HIC0tZ2V0YXR0ciAke1RFU1RfSU1BR0VfTkFNRX0gMSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX3J1biAkVEVTVFBST0cgLS1nZXRhdHRyICR7VEVTVF9JTUFHRV9OQU1FfSAyID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInNldGF0dHIiCit0c19ydW4gJFRFU1RQUk9HIC0tc2V0YXR0ciAke1RFU1RfSU1BR0VfTkFNRX0gMSAweGZmMDAwMDAwMDAwMDAwMDAgPj4gJFRTX09VVFBVVCAyPiYxCit0c19ydW4gJFRFU1RQUk9HIC0tc2V0YXR0ciAke1RFU1RfSU1BR0VfTkFNRX0gMiAweDQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtURVNUX0lNQUdFX05BTUV9IDEgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtURVNUX0lNQUdFX05BTUV9IDIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJmZGlzay9ta3BhcnQgYi90ZXN0cy90cy9saWJmZGlzay9ta3BhcnQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzM2NTg4MQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYmZkaXNrL21rcGFydApAQCAtMCwwICsxLDY2IEBACisjIS9iaW4vYmFzaAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBDcmVhdGUgcGFydGl0aW9uIGluIG5vbi1pbnRlcmFjdGl2ZSBtb2RlLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJta3BhcnQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJGRElTS19NS1BBUlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRURVNUUFJPRyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfV0lQRUZTIgorCitURVNUX0lNQUdFX05BTUU9JCh0c19pbWFnZV9pbml0IDE1KQorCit0c19pbml0X3N1YnRlc3QgIm1iciIKKyRURVNUUFJPRyAtLWxhYmVsIG1iciAtLWRldmljZSAke1RFU1RfSU1BR0VfTkFNRX0gXAorCTFNIDFNIDFNIC0gPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NGRElTSyAtLWxpc3QgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJHtURVNUX0lNQUdFX05BTUV9Cit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyRUU19DTURfV0lQRUZTIC0tYWxsIC0tZm9yY2UgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCit0c19pbml0X3N1YnRlc3QgIm1ici1sb2dpYyIKKyRURVNUUFJPRyAtLWxhYmVsIG1iciAtLWRldmljZSAke1RFU1RfSU1BR0VfTkFNRX0gXAorCTFNIDFNIDFNIC0gMU0gMU0gLT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCiskVFNfQ01EX1dJUEVGUyAtLWFsbCAtLWZvcmNlICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKwordHNfaW5pdF9zdWJ0ZXN0ICJtYnItbm9wYXJ0bm8iCiskVEVTVFBST0cgLS1ub3BhcnRubyAtLWxhYmVsIG1iciAtLWRldmljZSAke1RFU1RfSU1BR0VfTkFNRX0gXAorCTFNIDFNIDFNIC0gMU0gMU0gLT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCiskVFNfQ01EX1dJUEVGUyAtLWFsbCAtLWZvcmNlICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKwordHNfaW5pdF9zdWJ0ZXN0ICJncHQiCiskVEVTVFBST0cgLS1sYWJlbCBncHQgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IFwKKwkxTSAxTSAxTSAxTSAxTSAxTSAtID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJmZGlzay9ta3BhcnQtZnVsbCBiL3Rlc3RzL3RzL2xpYmZkaXNrL21rcGFydC1mdWxsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVkYTUwNmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJmZGlzay9ta3BhcnQtZnVsbApAQCAtMCwwICsxLDIyNyBAQAorIyEvYmluL2Jhc2gKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMKKyMgQ3JlYXRlIHBhcnRpdGlvbiBpbiBub24taW50ZXJhY3RpdmUgbW9kZTsgbGlrZSBta3BhcnQsIGJ1dCBwYXJ0aXRpb24gaXMgZnVsbHkKKyMgc3BlY2lmdWllZCBieSBwYXJ0bm8sIHN0YXJ0IGFuZCBzaXplLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJta3BhcnQtZnVsbCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQkZESVNLX01LUEFSVF9GVUxMU1BFQyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRFU1RQUk9HIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NGRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9XSVBFRlMiCisKK1RFU1RfSU1BR0VfTkFNRT0kKHRzX2ltYWdlX2luaXQgMTUpCisKK3RzX2luaXRfc3VidGVzdCAibWJyLXByaW1hcnkiCiskVEVTVFBST0cgLS1sYWJlbCBtYnIgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IFwKKwkxLDIwNDgsMjA0OCBcCisJMiw0MDk2LDIwNDggXAorCTMsNjE0NCwyMDQ4IFwKKwk0LDgxOTIsMjI1MjggXAorCT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCiskVFNfQ01EX1dJUEVGUyAtLWFsbCAtLWZvcmNlICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworCit0c19pbml0X3N1YnRlc3QgIm1ici1wcmltYXJ5LW5vcGFydG5vIgorJFRFU1RQUk9HIC0tbGFiZWwgbWJyIC0tZGV2aWNlICR7VEVTVF9JTUFHRV9OQU1FfSAtLSBcCisJLSwyMDQ4LDIwNDggXAorCS0sNDA5NiwyMDQ4IFwKKwktLDYxNDQsMjA0OCBcCisJLSw4MTkyLDIyNTI4IFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworJFRTX0NNRF9XSVBFRlMgLS1hbGwgLS1mb3JjZSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKKyMjIG5vIGV4dGVuZGVkIGJ1dCBwYXJ0bm8gPiA0IHJlcXVlc3RlZAordHNfaW5pdF9zdWJ0ZXN0ICJtYnItZXJyLXByaW1hcnkiCiskVEVTVFBST0cgLS1sYWJlbCBtYnIgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IFwKKwkxLDIwNDgsMjA0OCBcCisJMiw0MDk2LDIwNDggXAorCTcsNjE0NCwyMDQ4IFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworJFRTX0NNRF9XSVBFRlMgLS1hbGwgLS1mb3JjZSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKKyMjIG5vIGV4dGVuZGVkIGJ1dCBwYXJ0bm8gPiA0IHJlcXVlc3RlZAordHNfaW5pdF9zdWJ0ZXN0ICJtYnItZXJyLW5vc3BhY2UiCiskVEVTVFBST0cgLS1sYWJlbCBtYnIgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IFwKKwkxLDIwNDgsMjA0OCBcCisJMiw0MDk2LDIwNDggXAorCTMsNDA5NiwyMDQ4IFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworJFRTX0NNRF9XSVBFRlMgLS1hbGwgLS1mb3JjZSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtYnItbG9naWNhbCIKKyRURVNUUFJPRyAtLWxhYmVsIG1iciAtLWRldmljZSAke1RFU1RfSU1BR0VfTkFNRX0gXAorCTEsMjA0OCwyMDQ4IFwKKwkyLDQwOTYsMjA0OCBcCisJMyw2MTQ0LDIwNDggXAorCTQsODE5MiwyMjUyOCBcCisJNSwxMDI0MCwyMDQ4IFwKKwk2LDE0MzM2LDIwNDggXAorCTcsMTg0MzIsMTIyODggXAorICAgICAgIAk+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworJFRTX0NNRF9XSVBFRlMgLS1hbGwgLS1mb3JjZSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3RzX2luaXRfc3VidGVzdCAibWJyLW5vcGFydG5vIgorJFRFU1RQUk9HIC0tbGFiZWwgbWJyIC0tZGV2aWNlICR7VEVTVF9JTUFHRV9OQU1FfSAtLSBcCisJLSwyMDQ4LDIwNDggXAorCS0sNDA5NiwyMDQ4IFwKKwktLDYxNDQsMjA0OCBcCisJLSw4MTkyLDIyNTI4IFwKKwktLDEwMjQwLDIwNDggXAorCS0sMTQzMzYsMjA0OCBcCisJLSwxODQzMiwxMjI4OCBcCisgICAgICAgCT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCiskVFNfQ01EX1dJUEVGUyAtLWFsbCAtLWZvcmNlICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworIyMjIDZ0aCBwYXJ0aXRpb24gKGxvZ2ljYWwpIG91dCBvZiBleHRlbmRlZAordHNfaW5pdF9zdWJ0ZXN0ICJtYnItZXJyLWxvZ2ljYWwiCiskVEVTVFBST0cgLS1sYWJlbCBtYnIgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IFwKKwkxLDIwNDgsMjA0OCBcCisJMiw0MDk2LDIwNDggXAorCTMsNjE0NCwyMDQ4IFwKKwk0LDgxOTIsMjI1MjggXAorCTUsMTAyNDAsMjA0OCBcCisJNiw0MDk2LDIwNDggXAorCTcsMTg0MzIsMTIyODggXAorICAgICAgIAk+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAke1RFU1RfSU1BR0VfTkFNRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAke1RFU1RfSU1BR0VfTkFNRX0KK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworJFRTX0NNRF9XSVBFRlMgLS1hbGwgLS1mb3JjZSAke1RFU1RfSU1BR0VfTkFNRX0gJj4gL2Rldi9udWxsCisKK3RzX2luaXRfc3VidGVzdCAibWJyLXNwYWNlLWdhcCIKKyRURVNUUFJPRyAtLWxhYmVsIG1iciAtLWRldmljZSAke1RFU1RfSU1BR0VfTkFNRX0gXAorCTEsMjA0OCwyMDQ4IFwKKwkyLDYxNDQsMjA0OCBcCisJMyw4MTkyLDIwNDggXAorCT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCiskVFNfQ01EX1dJUEVGUyAtLWFsbCAtLWZvcmNlICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKwordHNfaW5pdF9zdWJ0ZXN0ICJncHQiCiskVEVTVFBST0cgLS1sYWJlbCBncHQgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IFwKKwkxLDIwNDgsMjA0OCBcCisJMiw0MDk2LDIwNDggXAorCTMsNjE0NCwyMDQ4IFwKKwk0LDgxOTIsMjA0OCBcCisJNSwxMDI0MCwyMDQ4IFwKKwk2LDEyMjg4LDIwNDggXAorCTcsMTQzMzYsMjA0OCBcCisgICAgICAgCT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCiskVFNfQ01EX1dJUEVGUyAtLWFsbCAtLWZvcmNlICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKwordHNfaW5pdF9zdWJ0ZXN0ICJncHQtbm9wYXJ0bm8iCiskVEVTVFBST0cgLS1sYWJlbCBncHQgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IC0tIFwKKwktLDIwNDgsMjA0OCBcCisJLSw0MDk2LDIwNDggXAorCS0sNjE0NCwyMDQ4IFwKKwktLDgxOTIsMjA0OCBcCisJLSwxMDI0MCwyMDQ4IFwKKwktLDEyMjg4LDIwNDggXAorCS0sMTQzMzYsMjA0OCBcCisgICAgICAgCT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCiskVFNfQ01EX1dJUEVGUyAtLWFsbCAtLWZvcmNlICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKworIyMjIDR0aCBwYXJ0aXRpb24gb3ZlcmxhcCA0dGggYW5kIDV0aAordHNfaW5pdF9zdWJ0ZXN0ICJncHQtZXJyLW92ZXJsYXAiCiskVEVTVFBST0cgLS1sYWJlbCBncHQgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IFwKKwkxLDIwNDgsMjA0OCBcCisJMiw0MDk2LDIwNDggXAorCTMsNjE0NCwyMDQ4IFwKKwk0LDUwMDAsMjA0OCBcCisJNSwxMDI0MCwyMDQ4IFwKKwk2LDEyMjg4LDIwNDggXAorCTcsMTQzMzYsMjA0OCBcCisgICAgICAgCT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCiskVFNfQ01EX1dJUEVGUyAtLWFsbCAtLWZvcmNlICR7VEVTVF9JTUFHRV9OQU1FfSAmPiAvZGV2L251bGwKKwordHNfaW5pdF9zdWJ0ZXN0ICJncHQtcGFydG5vLWdhcCIKKyRURVNUUFJPRyAtLWxhYmVsIGdwdCAtLWRldmljZSAke1RFU1RfSU1BR0VfTkFNRX0gXAorCTEsMjA0OCwyMDQ4IFwKKwkyLDQwOTYsMjA0OCBcCisJNCw2MTQ0LDIwNDggXAorCTUsODE5MiwyMDQ4IFwKKwk3LDEwMjQwLDIwNDggXAorCTgsMTIyODgsMjA0OCBcCisJOSwxNDMzNiwyMDQ4IFwKKyAgICAgICAJPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NGRElTSyAtLWxpc3QgJHtURVNUX0lNQUdFX05BTUV9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJHtURVNUX0lNQUdFX05BTUV9Cit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyRUU19DTURfV0lQRUZTIC0tYWxsIC0tZm9yY2UgJHtURVNUX0lNQUdFX05BTUV9ICY+IC9kZXYvbnVsbAorCit0c19pbml0X3N1YnRlc3QgImdwdC1zcGFjZS1nYXAiCiskVEVTVFBST0cgLS1sYWJlbCBncHQgLS1kZXZpY2UgJHtURVNUX0lNQUdFX05BTUV9IFwKKwkxLDIwNDgsMjA0OCBcCisJMiw2MTQ0LDIwNDggXAorCTMsODE5MiwyMDQ4IFwKKwk0LDEyMjg4LDIwNDggXAorCTUsMTQzMzYsMjA0OCBcCisgICAgICAgCT4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1saXN0ICR7VEVTVF9JTUFHRV9OQU1FfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICR7VEVTVF9JTUFHRV9OQU1FfQordHNfZmluYWxpemVfc3VidGVzdAorCisKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2NvbnRleHQgYi90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM3NTBjNzAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0CkBAIC0wLDAgKzEsMTc0IEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY29udGV4dCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GSU5ETU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VVUlER0VOIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0NCIKKworVEVTVFBST0c9IiRUU19IRUxQRVJfTElCTU9VTlRfQ09OVEVYVCIKK0xBQkVMPWxpYm1vdW50LXRlc3QKK1VVSUQ9JCgkVFNfQ01EX1VVSURHRU4pCisKK01PVU5UUE9JTlQ9IiRUU19NT1VOVFBPSU5UIgorWyAteCAkVEVTVFBST0cgXSB8fCB0c19za2lwICJ0ZXN0IG5vdCBjb21waWxlZCIKKwordHNfbG9nICJJbml0IGRldmljZSIKKyRUU19DTURfVU1PVU5UICRNT1VOVFBPSU5UICY+IC9kZXYvbnVsbAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9MTAwCitERVZOQU1FPSQoYmFzZW5hbWUgJFRTX0RFVklDRSkKKworTU9VTlRJTkZPX09OTFk9eWVzCitoYXNfbXRhYj0kKCB0c19oYXNfbXRhYl9zdXBwb3J0ICkKK2lmIFsgIiRoYXNfbXRhYiIgPT0gInllcyIgXTsgdGhlbgorCU1PVU5USU5GT19PTkxZPW5vCitmaQorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIgorJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsIDw8RU9GCituCitwCisxCisKKwordworcQorRU9GCisKK0RFVklDRT0iJHtUU19ERVZJQ0V9MSIKKwordWRldmFkbSBzZXR0bGUKKworZ3JlcCAtcSAiICRERVZOQU1FXCQiIC9wcm9jL3BhcnRpdGlvbnMKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorCXRzX3NraXAgIm5vIHBhcnRpdGlvbiEiCitmaQorCit0c19sb2cgIkNyZWF0ZSBmaWxlc3lzdGVtIgorbWtmcy5leHQ0IC1MICIkTEFCRUwiIC1VICIkVVVJRCIgJERFVklDRSAmPiAvZGV2L251bGwKKwordHNfbG9nICJEbyB0ZXN0cy4uLiIKKworZXhwb3J0IExJQk1PVU5UX01UQUI9JFRTX09VVFBVVC5tdGFiCis+ICRMSUJNT1VOVF9NVEFCCisKKyMgY2hlY2sgbG9jYWwgbXRhYiBvZiBzeXN0ZW0gbW91bnRpbmZvCitmdW5jdGlvbiBpc19tb3VudGVkIHsKKwlpZiBbICIkTU9VTlRJTkZPX09OTFkiID0gInllcyIgXTsgdGhlbgorCQl0c19pc19tb3VudGVkICIkMSIKKwkJcmV0dXJuICQ/CisJZmkKKwlncmVwIC1xICIkMSIgJExJQk1PVU5UX01UQUIgJiYgcmV0dXJuIDAKKwlyZXR1cm4gMQorfQorCisKK3VkZXZhZG0gc2V0dGxlCit0c19kZXZpY2VfaGFzICJUWVBFIiAiZXh0NCIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIGV4dDMgb24gJERFVklDRSIKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LWRldm5hbWUiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAgL2Rldi9udWxsCit0c19ydW4gJFRFU1RQUk9HIC0tbW91bnQgJERFVklDRSAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSB8fCBlY2hvICIkREVWSUNFIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInVtb3VudC1ieS1kZXZuYW1lIgordHNfcnVuICRURVNUUFJPRyAtLXVtb3VudCAkREVWSUNFID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkREVWSUNFICYmIGVjaG8gIiRERVZJQ0Ugc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudC1ieS1sYWJlbCIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+ICAvZGV2L251bGwKK3RzX3J1biAkVEVTVFBST0cgLS1tb3VudCBMQUJFTD0iJExBQkVMIiAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSB8fCBlY2hvICIkREVWSUNFIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInVtb3VudC1ieS1tb3VudHBvaW50IgordHNfcnVuICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSAgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LXV1aWQiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKK3RzX3J1biAkVEVTVFBST0cgLS1tb3VudCBVVUlEPSIkVVVJRCIgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgIHx8IGVjaG8gIiRERVZJQ0Ugbm90IG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQorc2xlZXAgMQordHNfcnVuICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK3NsZWVwIDEKK2lzX21vdW50ZWQgJERFVklDRSAmJiBlY2hvICIkREVWSUNFIHN0aWxsIG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtZmxhZ3MiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKK3RzX3J1biAkVEVTVFBST0cgLS1tb3VudCAtbyBybyxub2V4ZWMsbm9zdWlkLHN0cmljdGF0aW1lICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0ZJTkRNTlQgLS1rZXJuZWwgLS1tb3VudHBvaW50ICRNT1VOVFBPSU5UIC1vIFZGUy1PUFRJT05TIC1uID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkREVWSUNFIHx8IGVjaG8gIiRERVZJQ0Ugbm90IG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19ydW4gJFRFU1RQUk9HIC0tbW91bnQgLW8gcmVtb3VudCxydyAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfRklORE1OVCAtLWtlcm5lbCAtLW1vdW50cG9pbnQgJE1PVU5UUE9JTlQgLW8gVkZTLU9QVElPTlMgLW4gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX3J1biAkVEVTVFBST0cgLS11bW91bnQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWxvb3BkZXYiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKK2ltZz0kKHRzX2ltYWdlX2luaXQpCitta2ZzLmV4dDMgLUYgJGltZyAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCisKK3RzX3J1biAkVEVTVFBST0cgLS1tb3VudCAtbyBsb29wICRpbWcgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRNT1VOVFBPSU5UIHx8IGVjaG8gIiRNT1VOVFBPSU5UIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCit0c19ydW4gJFRFU1RQUk9HIC0tdW1vdW50ICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkTU9VTlRQT0lOVCAmJiBlY2hvICIkTU9VTlRQT0lOVCBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCisjIGRlcHJlY2F0ZWQKK3RzX2luaXRfc3VidGVzdCAieC1tb3VudC5ta2RpciIKK1RTX05PRVhJU1Q9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tJHtUU19TVUJOQU1FfS1ub2V4IgorWyAtZCAkVFNfTk9FWElTVCBdICYmIHJtZGlyICRUU19OT0VYSVNUCisKKyRUU19DTURfTU9VTlQgLW8geC1tb3VudC5ta2RpciAtLWJpbmQgJE1PVU5UUE9JTlQgJFRTX05PRVhJU1QgPj4gJFRTX09VVFBVVCAyPiYxICYmCisgIGVjaG8gInN1Y2Nlc3NmdWxseSBtb3VudGVkIiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyRUU19DTURfVU1PVU5UICRUU19OT0VYSVNUCitybWRpciAkVFNfTk9FWElTVAorCisKK3RzX2luaXRfc3VidGVzdCAiWC1tb3VudC5ta2RpciIKK1RTX05PRVhJU1Q9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0tJHtUU19TVUJOQU1FfS1ub2V4IgorWyAtZCAkVFNfTk9FWElTVCBdICYmIHJtZGlyICRUU19OT0VYSVNUCisKKyRUU19DTURfTU9VTlQgLW8gWC1tb3VudC5ta2RpciAtLWJpbmQgJE1PVU5UUE9JTlQgJFRTX05PRVhJU1QgPj4gJFRTX09VVFBVVCAyPiYxICYmCisgIGVjaG8gInN1Y2Nlc3NmdWxseSBtb3VudGVkIiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyRUU19DTURfVU1PVU5UICRUU19OT0VYSVNUCitybWRpciAkVFNfTk9FWElTVAorCit0c19sb2cgIi4uLmRvbmUuIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2NvbnRleHQtcHkgYi90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0LXB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmRmYzhmYWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0LXB5CkBAIC0wLDAgKzEsMTYxIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY29udGV4dC1weSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GSU5ETU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VVUlER0VOIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0NCIKKwordHNfaW5pdF9weSBsaWJtb3VudAorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9QWUxJQk1PVU5UX0NPTlRFWFQiCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX2RpZSAidGVzdCBzY3JpcHQgbWlzc2luZyIKKworUFlEQkc9IiRQWVRIT04gLW0gcGRiIgorTEFCRUw9bGlibW91bnQtdGVzdAorVVVJRD0kKCRUU19DTURfVVVJREdFTikKK01PVU5UUE9JTlQ9IiRUU19NT1VOVFBPSU5UIgorVFNfTk9FWElTVD0iJFRTX09VVERJUi8ke1RTX1RFU1ROQU1FfS0ke1RTX1NVQk5BTUV9LW5vZXgiCitbIC1kICRUU19OT0VYSVNUIF0gJiYgcm1kaXIgJFRTX05PRVhJU1QKKwordHNfbG9nICJJbml0IGRldmljZSIKKyRUU19DTURfVU1PVU5UICRNT1VOVFBPSU5UICY+IC9kZXYvbnVsbAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9MTAwCitERVZOQU1FPSQoYmFzZW5hbWUgJFRTX0RFVklDRSkKKworTU9VTlRJTkZPX09OTFk9eWVzCitoYXNfbXRhYj0kKCB0c19oYXNfbXRhYl9zdXBwb3J0ICkKK2lmIFsgIiRoYXNfbXRhYiIgPT0gInllcyIgXTsgdGhlbgorCU1PVU5USU5GT19PTkxZPW5vCitmaQorCit0c19sb2cgIkNyZWF0ZSBwYXJ0aXRpb25zIgorJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsIDw8RU9GCituCitwCisxCisKKwordworcQorRU9GCisKK0RFVklDRT0iJHtUU19ERVZJQ0V9MSIKKwordWRldmFkbSBzZXR0bGUKKworZ3JlcCAtcSAiICRERVZOQU1FXCQiIC9wcm9jL3BhcnRpdGlvbnMKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorCXRzX3NraXAgIm5vIHBhcnRpdGlvbiEiCitmaQorCit0c19sb2cgIkNyZWF0ZSBmaWxlc3lzdGVtIgorbWtmcy5leHQ0IC1MICIkTEFCRUwiIC1VICIkVVVJRCIgJERFVklDRSAmPiAvZGV2L251bGwKKwordHNfbG9nICJEbyB0ZXN0cy4uLiIKKworZXhwb3J0IExJQk1PVU5UX01UQUI9JFRTX09VVFBVVC5tdGFiCis+ICRMSUJNT1VOVF9NVEFCCisKKyMgY2hlY2sgbG9jYWwgbXRhYiBvZiBzeXN0ZW0gbW91bnRpbmZvCitmdW5jdGlvbiBpc19tb3VudGVkIHsKKwlpZiBbICIkTU9VTlRJTkZPX09OTFkiID0gInllcyIgXTsgdGhlbgorCQl0c19pc19tb3VudGVkICIkMSIKKwkJcmV0dXJuICQ/CisJZmkKKwlncmVwIC1xICJcKF5cfCBcKSQxICIgJExJQk1PVU5UX01UQUIgJiYgcmV0dXJuIDAKKwlyZXR1cm4gMQorfQorCisKK3VkZXZhZG0gc2V0dGxlCit0c19kZXZpY2VfaGFzICJUWVBFIiAiZXh0NCIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIGV4dDMgb24gJERFVklDRSIKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LWRldm5hbWUiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAgL2Rldi9udWxsCiskUFlUSE9OICRURVNUUFJPRyAtLW1vdW50ICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgfHwgZWNobyAiJERFVklDRSBub3QgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQtYnktZGV2bmFtZSIKKyRQWVRIT04gJFRFU1RQUk9HIC0tdW1vdW50ICRERVZJQ0UgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LWxhYmVsIgorbWtkaXIgLXAgJE1PVU5UUE9JTlQgJj4gIC9kZXYvbnVsbAorJFBZVEhPTiAkVEVTVFBST0cgLS1tb3VudCBMQUJFTD0iJExBQkVMIiAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSB8fCBlY2hvICIkREVWSUNFIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInVtb3VudC1ieS1tb3VudHBvaW50IgorJFBZVEhPTiAkVEVTVFBST0cgLS11bW91bnQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LXV1aWQiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKyRQWVRIT04gJFRFU1RQUk9HIC0tbW91bnQgVVVJRD0iJFVVSUQiICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQoraXNfbW91bnRlZCAkREVWSUNFIHx8IGVjaG8gIiRERVZJQ0Ugbm90IG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQorJFBZVEhPTiAkVEVTVFBST0cgLS11bW91bnQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRERVZJQ0UgJiYgZWNobyAiJERFVklDRSBzdGlsbCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWZsYWdzIgorbWtkaXIgLXAgJE1PVU5UUE9JTlQgJj4gL2Rldi9udWxsCiskUFlUSE9OICRURVNUUFJPRyAtLW1vdW50IC1vIHJvLG5vZXhlYyxub3N1aWQsc3RyaWN0YXRpbWUgJERFVklDRSAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfRklORE1OVCAtLWtlcm5lbCAkTU9VTlRQT0lOVCAtbyBWRlMtT1BUSU9OUyAtbiA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSB8fCBlY2hvICIkREVWSUNFIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFBZVEhPTiAkVEVTVFBST0cgLS1tb3VudCAtbyByZW1vdW50LHJ3ICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9GSU5ETU5UIC0ta2VybmVsICRNT1VOVFBPSU5UIC1vIFZGUy1PUFRJT05TIC1uID4+ICRUU19PVVRQVVQgMj4mMQorCiskUFlUSE9OICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJERFVklDRSAmJiBlY2hvICIkREVWSUNFIHN0aWxsIG1vdW50ZWQiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtbG9vcGRldiIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+IC9kZXYvbnVsbAoraW1nPSQodHNfaW1hZ2VfaW5pdCkKK21rZnMuZXh0MyAtRiAkaW1nICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKworJFBZVEhPTiAkVEVTVFBST0cgLS1tb3VudCAtbyBsb29wICRpbWcgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitpc19tb3VudGVkICRNT1VOVFBPSU5UIHx8IGVjaG8gIiRNT1VOVFBPSU5UIG5vdCBtb3VudGVkIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCiskUFlUSE9OICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2lzX21vdW50ZWQgJE1PVU5UUE9JTlQgJiYgZWNobyAiJE1PVU5UUE9JTlQgc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAieC1tb3VudC5ta2RpciIKKyRUU19DTURfTU9VTlQgLW8geC1tb3VudC5ta2RpciAtLWJpbmQgJE1PVU5UUE9JTlQgJFRTX05PRVhJU1QgPj4gJFRTX09VVFBVVCAyPiYxICYmCisgIGVjaG8gInN1Y2Nlc3NmdWxseSBtb3VudGVkIiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKworJFRTX0NNRF9VTU9VTlQgJFRTX05PRVhJU1QKK3JtZGlyICRUU19OT0VYSVNUCisKK3RzX2xvZyAiLi4uZG9uZS4iCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvY29udGV4dC11dGFiIGIvdGVzdHMvdHMvbGlibW91bnQvY29udGV4dC11dGFiCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmE2M2JhNTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0LXV0YWIKQEAgLTAsMCArMSwxMzIgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjb250ZXh0ICh1dGFiKSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKKyN0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRklORE1OVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfV0lQRUZTIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VVSURHRU4iCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQ0IgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9DT05URVhUIgorTEFCRUw9bGlibW91bnQtdGVzdAorVVVJRD0kKCRUU19DTURfVVVJREdFTikKK01PVU5UUE9JTlQ9IiRUU19NT1VOVFBPSU5UIgorCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX3NraXAgInRlc3Qgbm90IGNvbXBpbGVkIgorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9MjU3CitERVZOQU1FPSQoYmFzZW5hbWUgJFRTX0RFVklDRSkKKwordHNfbG9nICJDcmVhdGUgcGFydGl0aW9ucyIKKyRUU19DTURfRkRJU0sgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbCA8PEVPRgorbgorcAorMQorCisKK3cKK3EKK0VPRgorCitERVZJQ0U9IiR7VFNfREVWSUNFfTEiCisKK3VkZXZhZG0gc2V0dGxlCisKK2dyZXAgLXEgIiAkREVWTkFNRVwkIiAvcHJvYy9wYXJ0aXRpb25zCitpZiBbICQ/IC1uZSAwIF07IHRoZW4KKwl0c19za2lwICJubyBwYXJ0aXRpb24hIgorZmkKKwordHNfbG9nICJDcmVhdGUgZmlsZXN5c3RlbSIKK21rZnMuZXh0NCAtTCAiJExBQkVMIiAtVSAiJFVVSUQiICRERVZJQ0UgJj4gL2Rldi9udWxsCisKK3RzX2xvZyAiRG8gdGVzdHMuLi4iCisKK2V4cG9ydCBMSUJNT1VOVF9NVEFCPSRUU19PVVRQVVQubXRhYgorcm0gLWYgJExJQk1PVU5UX01UQUIKK2xuIC1zIC9wcm9jL21vdW50cyAkTElCTU9VTlRfTVRBQgorCitleHBvcnQgTElCTU9VTlRfVVRBQj0kVFNfT1VUUFVULnV0YWIKK3JtIC1mICRMSUJNT1VOVF9VVEFCCis+ICRMSUJNT1VOVF9VVEFCCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtYnktZGV2bmFtZSIKK21rZGlyIC1wICRNT1VOVFBPSU5UICY+ICAvZGV2L251bGwKK3RzX3J1biAkVEVTVFBST0cgLS1tb3VudCAkREVWSUNFICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAiJERFVklDRSIgfHwgXAorCWVjaG8gIihieSBkZXZpY2UpIGNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInVtb3VudC1ieS1kZXZuYW1lIgordHNfcnVuICRURVNUUFJPRyAtLXVtb3VudCAkREVWSUNFID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAiJERFVklDRSIgJiYKKwllY2hvICJ1bW91bnQgKGRldmljZSkgZmFpbGVkOiBmb3VuZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudC11aGVscGVyIgorbWtkaXIgLXAgJE1PVU5UUE9JTlQgJj4gIC9kZXYvbnVsbAordHNfcnVuICRURVNUUFJPRyAtLW1vdW50IC1vIHVoZWxwZXI9Zm9vLHJ3IExBQkVMPSIkTEFCRUwiICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorZ3JlcCAtcSAiU1JDPSRERVZJQ0VcYiIgIiRMSUJNT1VOVF9VVEFCIiB8fCBcCisJZWNobyAiKGJ5IGxhYmVsKSBjYW5ub3QgZmluZCAkREVWSUNFIGluICRMSUJNT1VOVF9VVEFCIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInVtb3VudCIKK3RzX3J1biAkVEVTVFBST0cgLS11bW91bnQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitncmVwIC1xICJTUkM9JERFVklDRVxiIiAiJExJQk1PVU5UX1VUQUIiICYmIFwKKwllY2hvICJ1bW91bnQgKG1vdW50cG9pbnQpIGZhaWxlZDogZm91bmQgJERFVklDRSBpbiAkTElCTU9VTlRfVVRBQiIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKworaWYgdHlwZSAibWtmcy5idHJmcyIgJj4vZGV2L251bGwgJiYgbWtmcy5idHJmcyAtLXZlcnNpb24gJj4vZGV2L251bGw7IHRoZW4KKwkkVFNfQ01EX1dJUEVGUyAtYSAgJERFVklDRSAmPiAvZGV2L251bGwKKwkjdHNfbG9nICJDcmVhdGUgZmlsZXN5c3RlbSBbYnRyZnNdIgorCW1rZnMuYnRyZnMgLUwgIiRMQUJFTCIgJERFVklDRSAmPiAvZGV2L251bGwKKwl1ZGV2YWRtIHNldHRsZQorCisJJFRTX0NNRF9NT1VOVCAtdCBidHJmcyAkREVWSUNFICRNT1VOVFBPSU5UICY+IC9kZXYvbnVsbAorCWJ0cmZzIHN1YnZvbHVtZSBjcmVhdGUgJE1PVU5UUE9JTlQvc3ViICY+IC9kZXYvbnVsbAorCSRUU19DTURfVU1PVU5UICRNT1VOVFBPSU5UICY+IC9kZXYvbnVsbAorCisJdWRldmFkbSBzZXR0bGUKKworCXRzX2luaXRfc3VidGVzdCAibW91bnQtdWhlbHBlci1zdWJ2b2wiCisJbWtkaXIgLXAgJE1PVU5UUE9JTlQgJj4gIC9kZXYvbnVsbAorCXRzX3J1biAkVEVTVFBST0cgLS1tb3VudCAtbyB1aGVscGVyPWZvbyxydyxzdWJ2b2w9c3ViICRERVZJQ0UgICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorCWdyZXAgLXEgIlNSQz0kREVWSUNFXGIiICIkTElCTU9VTlRfVVRBQiIgfHwgXAorCQllY2hvICJjYW5ub3QgZmluZCAkREVWSUNFIGluICRMSUJNT1VOVF9VVEFCIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwkjIERvbid0IHRlbXBvcmFyeSB3cml0ZSBidHJmcyBtb3VudCBvcHRpb25zIHRvIHRoZSB0ZXN0IG91dHB1dCwKKwkjIHRoZSBvcHRpb25zIGRlcGVuZCBvbiBrZXJuZWwgdmVyc2lvbiAoc2luY2UgNC4yIGl0IGNvbnRhaW5zCisJIyBzdWJ2b2w9IGFuZCBzdWJ2b2xpZD0pLgorCSMKKwkjdHNfbG9nICJBbGwgbW91bnQgb3B0aW9ucyAoYnRyZnMgc3Vidm9sdW1lICsgdXRhYikgLS0tIgorCSMkVFNfQ01EX0ZJTkRNTlQgLS1tdGFiIC0tbW91bnRwb2ludCAkTU9VTlRQT0lOVCAtbyBPUFRJT05TIC1uID4+ICRUU19PVVRQVVQgMj4mMQorCSN0c19sb2cgIi0tLSIKKworCXRzX2luaXRfc3VidGVzdCAidW1vdW50LXN1YnZvbCIKKwl0c19ydW4gJFRFU1RQUk9HIC0tdW1vdW50ICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorCWdyZXAgLXEgIlNSQz0kREVWSUNFXGIiICIkTElCTU9VTlRfVVRBQiIgJiYgXAorCQllY2hvICJ1bW91bnQgKG1vdW50cG9pbnQpIGZhaWxlZDogZm91bmQgJERFVklDRSBpbiAkTElCTU9VTlRfVVRBQiIgPj4gJFRTX09VVFBVVCAyPiYxCisJdHNfZmluYWxpemVfc3VidGVzdAorZmkKKwordHNfbG9nICIuLi5kb25lLiIKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0LXV0YWItcHkgYi90ZXN0cy90cy9saWJtb3VudC9jb250ZXh0LXV0YWItcHkKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uODlmYzBjMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2NvbnRleHQtdXRhYi1weQpAQCAtMCwwICsxLDEzMyBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjb250ZXh0LXB5ICh1dGFiKSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GSU5ETU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9XSVBFRlMiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVVJREdFTiIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJta2ZzLmV4dDQiCisKK3RzX2luaXRfcHkgbGlibW91bnQKKworVEVTVFBST0c9IiRUU19IRUxQRVJfUFlMSUJNT1VOVF9DT05URVhUIgorWyAteCAkVEVTVFBST0cgXSB8fCB0c19kaWUgInRlc3Qgc2NyaXB0IG1pc3NpbmciCisKK0xBQkVMPWxpYm1vdW50LXRlc3QKK1VVSUQ9JCgkVFNfQ01EX1VVSURHRU4pCitNT1VOVFBPSU5UPSIkVFNfTU9VTlRQT0lOVCIKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTI1NworREVWTkFNRT0kKGJhc2VuYW1lICRUU19ERVZJQ0UpCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwgPDxFT0YKK24KK3AKKzEKKworCit3CitxCitFT0YKKworREVWSUNFPSIke1RTX0RFVklDRX0xIgorCit1ZGV2YWRtIHNldHRsZQorCitncmVwIC1xICIgJERFVk5BTUVcJCIgL3Byb2MvcGFydGl0aW9ucworaWYgWyAkPyAtbmUgMCBdOyB0aGVuCisJdHNfc2tpcCAibm8gcGFydGl0aW9uISIKK2ZpCisKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0iCitta2ZzLmV4dDQgLUwgIiRMQUJFTCIgLVUgIiRVVUlEIiAkREVWSUNFICY+IC9kZXYvbnVsbAorCit0c19sb2cgIkRvIHRlc3RzLi4uIgorCitleHBvcnQgTElCTU9VTlRfTVRBQj0kVFNfT1VUUFVULm10YWIKK3JtIC1mICRMSUJNT1VOVF9NVEFCCitsbiAtcyAvcHJvYy9tb3VudHMgJExJQk1PVU5UX01UQUIKKworZXhwb3J0IExJQk1PVU5UX1VUQUI9JFRTX09VVFBVVC51dGFiCitybSAtZiAkTElCTU9VTlRfVVRBQgorPiAkTElCTU9VTlRfVVRBQgorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgIm1vdW50LWJ5LWRldm5hbWUiCitta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAgL2Rldi9udWxsCiskUFlUSE9OICRURVNUUFJPRyAtLW1vdW50ICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICIkREVWSUNFIiB8fCBcCisJZWNobyAiKGJ5IGRldmljZSkgY2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAidW1vdW50LWJ5LWRldm5hbWUiCiskUFlUSE9OICRURVNUUFJPRyAtLXVtb3VudCAkREVWSUNFID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAiJERFVklDRSIgJiYKKwllY2hvICJ1bW91bnQgKGRldmljZSkgZmFpbGVkOiBmb3VuZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudC11aGVscGVyIgorbWtkaXIgLXAgJE1PVU5UUE9JTlQgJj4gIC9kZXYvbnVsbAorJFBZVEhPTiAkVEVTVFBST0cgLS1tb3VudCAtbyB1aGVscGVyPWZvbyxydyBMQUJFTD0iJExBQkVMIiAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2dyZXAgLXEgIlNSQz0kREVWSUNFXGIiICIkTElCTU9VTlRfVVRBQiIgfHwgXAorCWVjaG8gIihieSBsYWJlbCkgY2Fubm90IGZpbmQgJERFVklDRSBpbiAkTElCTU9VTlRfVVRBQiIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQiCiskUFlUSE9OICRURVNUUFJPRyAtLXVtb3VudCAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK2dyZXAgLXEgIlNSQz0kREVWSUNFXGIiICIkTElCTU9VTlRfVVRBQiIgJiYgXAorCWVjaG8gInVtb3VudCAobW91bnRwb2ludCkgZmFpbGVkOiBmb3VuZCAkREVWSUNFIGluICRMSUJNT1VOVF9VVEFCIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCitpZiB0eXBlICJta2ZzLmJ0cmZzIiAmPi9kZXYvbnVsbCAmJiBta2ZzLmJ0cmZzIC0tdmVyc2lvbiAmPi9kZXYvbnVsbDsgdGhlbgorCSRUU19DTURfV0lQRUZTIC1hICAkREVWSUNFICY+IC9kZXYvbnVsbAorCSN0c19sb2cgIkNyZWF0ZSBmaWxlc3lzdGVtIFtidHJmc10iCisJbWtmcy5idHJmcyAtTCAiJExBQkVMIiAkREVWSUNFICY+IC9kZXYvbnVsbAorCXVkZXZhZG0gc2V0dGxlCisKKwkkVFNfQ01EX01PVU5UIC10IGJ0cmZzICRERVZJQ0UgJE1PVU5UUE9JTlQgJj4gL2Rldi9udWxsCisJYnRyZnMgc3Vidm9sdW1lIGNyZWF0ZSAkTU9VTlRQT0lOVC9zdWIgJj4gL2Rldi9udWxsCisJJFRTX0NNRF9VTU9VTlQgJE1PVU5UUE9JTlQgJj4gL2Rldi9udWxsCisKKwl1ZGV2YWRtIHNldHRsZQorCisJdHNfaW5pdF9zdWJ0ZXN0ICJtb3VudC11aGVscGVyLXN1YnZvbCIKKwlta2RpciAtcCAkTU9VTlRQT0lOVCAmPiAgL2Rldi9udWxsCisJJFBZVEhPTiAkVEVTVFBST0cgLS1tb3VudCAtbyB1aGVscGVyPWZvbyxydyxzdWJ2b2w9c3ViICRERVZJQ0UgICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorCWdyZXAgLXEgIlNSQz0kREVWSUNFXGIiICIkTElCTU9VTlRfVVRBQiIgfHwgXAorCQllY2hvICJjYW5ub3QgZmluZCAkREVWSUNFIGluICRMSUJNT1VOVF9VVEFCIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwkjIERvbid0IHRlbXBvcmFyeSB3cml0ZSBidHJmcyBtb3VudCBvcHRpb25zIHRvIHRoZSB0ZXN0IG91dHB1dCwKKwkjIHRoZSBvcHRpb25zIGRlcGVuZCBvbiBrZXJuZWwgdmVyc2lvbiAoc2luY2UgNC4yIGl0IGNvbnRhaW5zCisJIyBzdWJ2b2w9IGFuZCBzdWJ2b2xpZD0pLgorCSMKKwkjdHNfbG9nICJBbGwgbW91bnQgb3B0aW9ucyAoYnRyZnMgc3Vidm9sdW1lICsgdXRhYikgLS0tIgorCSMkVFNfQ01EX0ZJTkRNTlQgLS1tdGFiICRNT1VOVFBPSU5UIC1vIE9QVElPTlMgLW4gPj4gJFRTX09VVFBVVCAyPiYxCisJI3RzX2xvZyAiLS0tIgorCisJdHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQtc3Vidm9sIgorCSRQWVRIT04gJFRFU1RQUk9HIC0tdW1vdW50ICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorCWdyZXAgLXEgJERFVklDRSAkTElCTU9VTlRfVVRBQiAmJiBcCisJCWVjaG8gInVtb3VudCAobW91bnRwb2ludCkgZmFpbGVkOiBmb3VuZCAkREVWSUNFIGluICRMSUJNT1VOVF9VVEFCIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CitmaQorCit0c19sb2cgIi4uLmRvbmUuIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2RlYnVnIGIvdGVzdHMvdHMvbGlibW91bnQvZGVidWcKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTUwN2Q1NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2RlYnVnCkBAIC0wLDAgKzEsMzAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDE0IE9uZHJlaiBPcHJhbGEgPG9vcHJhbGFAcmVkaGF0LmNvbQorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJkZWJ1Z2dpbmciCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9ERUJVRyIKKworWyAteCAkVEVTVFBST0cgXSB8fCB0c19za2lwICJ0ZXN0IG5vdCBjb21waWxlZCIKKworIyBDQUNIRSB8IExPQ0tTCit0c19pbml0X3N1YnRlc3QgInNldC1mcm9tLWNvZGUiCit0c19ydW4gJFRFU1RQUk9HIDIwIDI+JjEgfCBncmVwIC1vICcweC4qJyAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgQ0FDSEUgfCBMT0NLUwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtZnJvbS1lbnYtc3RyIgorTElCTU9VTlRfREVCVUc9Y2FjaGUsbG9ja3MgdHNfcnVuICRURVNUUFJPRyAyPiYxIHwgZ3JlcCAtbyAnMHguKicgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjIENBQ0hFIHwgTE9DS1MKK3RzX2luaXRfc3VidGVzdCAic2V0LWZyb20tZW52LWludCIKK0xJQk1PVU5UX0RFQlVHPTIwIHRzX3J1biAkVEVTVFBST0cgMj4mMSB8IGdyZXAgLW8gJzB4LionICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2ZzdGFiIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvZnN0YWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYThmNzNiYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2ZzdGFiCkBAIC0wLDAgKzEsMTQgQEAKK1VVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwIC8gICAgIGV4dDMgICAgbm9hdGltZSxkZWZhdWx0cyAxIDEKK1VVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmIC9ib290IGV4dDMgICAgbm9hdGltZSxkZWZhdWx0cyAxIDIKK1VVSUQ9MWYyYWEzMTgtOWMzNC00NjJlLThkMjktMjYwODE5ZmZkNjU3IHN3YXAgIHN3YXAgICAgZGVmYXVsdHMgICAgICAgIDAgMAordG1wZnMgICAgICAgICAgICAgICAgICAgL2Rldi9zaG0gICAgICAgICAgICAgICAgdG1wZnMgICBkZWZhdWx0cyAgICAgICAgMCAwCitkZXZwdHMgICAgICAgICAgICAgICAgICAvZGV2L3B0cyAgICAgICAgICAgICAgICBkZXZwdHMgIGdpZD01LG1vZGU9NjIwICAwIDAKK3N5c2ZzICAgICAgICAgICAgICAgICAgIC9zeXMgICAgICAgICAgICAgICAgICAgIHN5c2ZzICAgZGVmYXVsdHMgICAgICAgIDAgMAorcHJvYyAgICAgICAgICAgICAgICAgICAgL3Byb2MgICAgICAgICAgICAgICAgICAgcHJvYyAgICBkZWZhdWx0cyAgICAgICAgMCAwCisjIHRoaXMgaXMgY29tbWVudAorL2Rldi9tYXBwZXIvZm9vCQkvaG9tZS9mb28gICAgICAgICAgICAgIGV4dDQJbm9hdGltZSxkZWZhdWx0cyAwIDAKKworZm9vLmNvbTovbW50L3NoYXJlCS9tbnQvcmVtb3RlCQluZnMJbm9hdXRvCisvL2Jhci5jb20vZ29nb2dvICAgICAgICAvbW50L2dvZ29nbyAgICAgICAgICAgICBjaWZzICAgIHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bworCisvZGV2L2ZvbwkJL2FueS9mb28vCQlhdXRvCWRlZmF1bHRzIDAgMApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvZnN0YWIuYnJva2VuIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvZnN0YWIuYnJva2VuCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3OWYwMjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9mc3RhYi5icm9rZW4KQEAgLTAsMCArMSwxNCBAQAorYnVnCitVVUlEPWQzYThmNzgzLWRmNzUtNGRjOC05MTYzLTk3NWE4OTEwNTJjMCAvICAgICBleHQzICAgIG5vYXRpbWUsZGVmYXVsdHMgMSAxCitVVUlEPWZlZjdjY2IzLTgyMWMtNGRlOC04OGRjLTcxNDcyYmU1OTQ2ZiAvYm9vdCBleHQzICAgIG5vYXRpbWUsZGVmYXVsdHMgMSAyCisgVVVJRD0xZjJhYTMxOC05YzM0LTQ2MmUtOGQyOS0yNjA4MTlmZmQ2NTcgc3dhcCAgc3dhcCAgICBkZWZhdWx0cyAgICAgICAgMCAwCit0bXBmcyAgICAgICAgICAgICAgICAgICAvZGV2L3NobSAgICAgICAgICAgICAgICB0bXBmcyAgIGRlZmF1bHRzICAgICAgICAwIDAKK2RldnB0cyAgICAgICAgICAgICAgICAgIC9kZXYvcHRzICAgICAgICAgICAgICAgIGRldnB0cyAgZ2lkPTUsbW9kZT02MjAKKyAgc3lzZnMgICAgICAgICAgICAgICAgICAgL3N5cyAgICAgICAgICAgICAgICAgICAgc3lzZnMgICBkZWZhdWx0cyAgICAgICAgMCAwCit0aGlzIGlzIGJyb2tlbiBsaW5lIHdpdGggdW5leHBlY3RlZCBudW1iZXIgb2YgZmllbGRzCitwcm9jICAgICAgICAgICAgICAgICAgICAvcHJvYyAgICAgICAgICAgICAgICAgICBwcm9jICAgIGRlZmF1bHRzICAgICAgICAwIDAKKyMgdGhpcyBpcyBjb21tZW50CisvZGV2L21hcHBlci9mb28JCS9ob21lL2ZvbyAgICAgICAgICAgICAgZXh0NAlub2F0aW1lLGRlZmF1bHRzIDEKKworZm9vLmNvbTovbW50L3NoYXJlCS9tbnQvcmVtb3RlCQluZnMJbm9hdXRvCisvL2Jhci5jb20vZ29nb2dvICAgICAgICAvbW50L2dvZ29nbyAgICAgICAgICAgICBjaWZzICAgIHVzZXI9U1JHUk9VUC9iYWJ5LG5vYXV0bwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvZnN0YWIuY29tbWVudCBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2ZzdGFiLmNvbW1lbnQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjU2ZTY2MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2ZzdGFiLmNvbW1lbnQKQEAgLTAsMCArMSwyMiBAQAorIworICMgdGhpcyBpcyBhIGxlYWRpbmcgY29tbWVudAorIworCisjIHRoaXMgY29tbWVudHMgYmVsb25ncyB0byB0aGUgZmlyc3QgZnMKK1VVSUQ9ZDNhOGY3ODMtZGY3NS00ZGM4LTkxNjMtOTc1YTg5MTA1MmMwIC8gICAgIGV4dDMgICAgbm9hdGltZSxkZWZhdWx0cyAxIDEKK1VVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmIC9ib290IGV4dDMgICAgbm9hdGltZSxkZWZhdWx0cyAxIDIKKworIyAzcmQgZnMgY29tbWVudCArIG5ld2xpbmUgcGFkZGluZworCitVVUlEPTFmMmFhMzE4LTljMzQtNDYyZS04ZDI5LTI2MDgxOWZmZDY1NyBzd2FwICBzd2FwICAgIGRlZmF1bHRzICAgICAgICAwIDAKK3RtcGZzICAgICAgICAgICAgICAgICAgIC9kZXYvc2htICAgICAgICAgICAgICAgIHRtcGZzICAgZGVmYXVsdHMgICAgICAgIDAgMAorZGV2cHRzICAgICAgICAgICAgICAgICAgL2Rldi9wdHMgICAgICAgICAgICAgICAgZGV2cHRzICBnaWQ9NSxtb2RlPTYyMCAgMCAwCitzeXNmcyAgICAgICAgICAgICAgICAgICAvc3lzICAgICAgICAgICAgICAgICAgICBzeXNmcyAgIGRlZmF1bHRzICAgICAgICAwIDAKK3Byb2MgICAgICAgICAgICAgICAgICAgIC9wcm9jICAgICAgICAgICAgICAgICAgIHByb2MgICAgZGVmYXVsdHMgICAgICAgIDAgMAorIyB0aGlzIGlzIGNvbW1lbnQKKy9kZXYvbWFwcGVyL2ZvbwkJL2hvbWUvZm9vICAgICAgICAgICAgICBleHQ0CW5vYXRpbWUsZGVmYXVsdHMgMCAwCitmb28uY29tOi9tbnQvc2hhcmUJL21udC9yZW1vdGUJCW5mcwlub2F1dG8KKy8vYmFyLmNvbS9nb2dvZ28gICAgICAgIC9tbnQvZ29nb2dvICAgICAgICAgICAgIGNpZnMgICAgdXNlcj1TUkdST1VQL2JhYnksbm9hdXRvCisvZGV2L2ZvbwkJL2FueS9mb28vCQlhdXRvCWRlZmF1bHRzIDAgMAorCisjdGhpcyBpcyBhIHRyYWlsaW5nIGNvbW1lbnQKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2tlcm5lbF9jbWRsaW5lIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMva2VybmVsX2NtZGxpbmUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzdhMGM4OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL2tlcm5lbF9jbWRsaW5lCkBAIC0wLDAgKzEgQEAKK3JkLm1kPTAgcmQubHZtPTAgcmQuZG09MCAgS0VZVEFCTEU9dXMgcm9vdD1VVUlEPTMzMjMwYWUyLTEwOTMtNDM1My04MjRjLWY3Y2EwOWEyYTg4MiByZC5sdWtzPTAgU1lTRk9OVD1sYXRhcmN5cmhlYi1zdW4xNiBybyBMQU5HPWVuX1VTLlVURi04IHNlbGludXg9MApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbW91bnRpbmZvIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbW91bnRpbmZvCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3NWVhMWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tb3VudGluZm8KQEAgLTAsMCArMSwzMyBAQAorMTUgMjAgMDozIC8gL3Byb2MgcncscmVsYXRpbWUgLSBwcm9jIC9wcm9jIHJ3CisxNiAyMCAwOjE1IC8gL3N5cyBydyxyZWxhdGltZSAtIHN5c2ZzIC9zeXMgcncKKzE3IDIwIDA6NSAvIC9kZXYgcncscmVsYXRpbWUgLSBkZXZ0bXBmcyB1ZGV2IHJ3LHNpemU9MTk4MzUxNmssbnJfaW5vZGVzPTQ5NTg3OSxtb2RlPTc1NQorMTggMTcgMDoxMCAvIC9kZXYvcHRzIHJ3LHJlbGF0aW1lIC0gZGV2cHRzIGRldnB0cyBydyxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKKzE5IDE3IDA6MTYgLyAvZGV2L3NobSBydyxyZWxhdGltZSAtIHRtcGZzIHRtcGZzIHJ3CisyMCAxIDg6NCAvIC8gcncsbm9hdGltZSAtIGV4dDMgL2Rldi9zZGE0IHJ3LGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCisyMSAxNiAwOjE3IC8gL3N5cy9mcy9jZ3JvdXAgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIHRtcGZzIHRtcGZzIHJ3LG1vZGU9NzU1CisyMiAyMSAwOjE4IC8gL3N5cy9mcy9jZ3JvdXAvc3lzdGVtZCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxyZWxlYXNlX2FnZW50PS9saWIvc3lzdGVtZC9zeXN0ZW1kLWNncm91cHMtYWdlbnQsbmFtZT1zeXN0ZW1kCisyMyAyMSAwOjE5IC8gL3N5cy9mcy9jZ3JvdXAvY3B1c2V0IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdXNldAorMjQgMjEgMDoyMCAvIC9zeXMvZnMvY2dyb3VwL25zIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG5zCisyNSAyMSAwOjIxIC8gL3N5cy9mcy9jZ3JvdXAvY3B1IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdQorMjYgMjEgMDoyMiAvIC9zeXMvZnMvY2dyb3VwL2NwdWFjY3Qgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1YWNjdAorMjcgMjEgMDoyMyAvIC9zeXMvZnMvY2dyb3VwL21lbW9yeSBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxtZW1vcnkKKzI4IDIxIDA6MjQgLyAvc3lzL2ZzL2Nncm91cC9kZXZpY2VzIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGRldmljZXMKKzI5IDIxIDA6MjUgLyAvc3lzL2ZzL2Nncm91cC9mcmVlemVyIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGZyZWV6ZXIKKzMwIDIxIDA6MjYgLyAvc3lzL2ZzL2Nncm91cC9uZXRfY2xzIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG5ldF9jbHMKKzMxIDIxIDA6MjcgLyAvc3lzL2ZzL2Nncm91cC9ibGtpbyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxibGtpbworMzIgMTYgMDoyOCAvIC9zeXMva2VybmVsL3NlY3VyaXR5IHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yMixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzMgMTcgMDoyOSAvIC9kZXYvaHVnZXBhZ2VzIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yMyxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzQgMTYgMDozMCAvIC9zeXMva2VybmVsL2RlYnVnIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNCxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzUgMTUgMDozMSAvIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjUscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM2IDE3IDA6MzIgLyAvZGV2L21xdWV1ZSBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjYscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM3IDE1IDA6MTQgLyAvcHJvYy9idXMvdXNiIHJ3LHJlbGF0aW1lIC0gdXNiZnMgL3Byb2MvYnVzL3VzYiBydworMzggMzMgMDozMyAvIC9kZXYvaHVnZXBhZ2VzIHJ3LHJlbGF0aW1lIC0gaHVnZXRsYmZzIGh1Z2V0bGJmcyBydworMzkgMzYgMDoxMiAvIC9kZXYvbXF1ZXVlIHJ3LHJlbGF0aW1lIC0gbXF1ZXVlIG1xdWV1ZSBydworNDAgMjAgODo2IC8gL2Jvb3Qgcncsbm9hdGltZSAtIGV4dDMgL2Rldi9zZGE2IHJ3LGVycm9ycz1jb250aW51ZSxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCis0MSAyMCAyNTM6MCAvIC9ob21lL2t6YWsgcncsbm9hdGltZSAtIGV4dDQgL2Rldi9tYXBwZXIva3phay1ob21lIHJ3LGJhcnJpZXI9MSxkYXRhPW9yZGVyZWQKKzQyIDM1IDA6MzQgLyAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgcncscmVsYXRpbWUgLSBiaW5mbXRfbWlzYyBub25lIHJ3Cis0MyAxNiAwOjM1IC8gL3N5cy9mcy9mdXNlL2Nvbm5lY3Rpb25zIHJ3LHJlbGF0aW1lIC0gZnVzZWN0bCBmdXNlY3RsIHJ3Cis0NCA0MSAwOjM2IC8gL2hvbWUva3phay8uZ3ZmcyBydyxub3N1aWQsbm9kZXYscmVsYXRpbWUgLSBmdXNlLmd2ZnMtZnVzZS1kYWVtb24gZ3Zmcy1mdXNlLWRhZW1vbiBydyx1c2VyX2lkPTUwMCxncm91cF9pZD01MDAKKzQ1IDIwIDA6MzcgLyAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyBydyxyZWxhdGltZSAtIHJwY19waXBlZnMgc3VucnBjIHJ3Cis0NyAyMCAwOjM4IC8gL21udC9zb3VuZHMgcncscmVsYXRpbWUgLSBjaWZzIC8vZm9vLmhvbWUvYmFyLyBydyx1bmM9XFxmb28uaG9tZVxiYXIsdXNlcm5hbWU9a3phayxkb21haW49U1JHUk9VUCx1aWQ9MCxub2ZvcmNldWlkLGdpZD0wLG5vZm9yY2VnaWQsYWRkcj0xOTIuMTY4LjExMS4xLHBvc2l4cGF0aHMsc2VydmVyaW5vLGFjbCxyc2l6ZT0xNjM4NCx3c2l6ZT01NzM0NAorNDggMjAgMDozOSAvIC9tbnQvZm9vXDA0MChkZWxldGVkKSBydyxyZWxhdGltZSAtIGJhciAvZm9vb29vIHJ3CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tb3VudGluZm9fbXYgYi90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tb3VudGluZm9fbXYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q1NWFmZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb19tdgpAQCAtMCwwICsxLDMyIEBACisxNSAyMCAwOjMgLyAvcHJvYyBydyxyZWxhdGltZSAtIHByb2MgL3Byb2MgcncKKzE2IDIwIDA6MTUgLyAvc3lzIHJ3LHJlbGF0aW1lIC0gc3lzZnMgL3N5cyBydworMTcgMjAgMDo1IC8gL2RldiBydyxyZWxhdGltZSAtIGRldnRtcGZzIHVkZXYgcncsc2l6ZT0xOTgzNTE2ayxucl9pbm9kZXM9NDk1ODc5LG1vZGU9NzU1CisxOCAxNyAwOjEwIC8gL2Rldi9wdHMgcncscmVsYXRpbWUgLSBkZXZwdHMgZGV2cHRzIHJ3LGdpZD01LG1vZGU9NjIwLHB0bXhtb2RlPTAwMAorMTkgMTcgMDoxNiAvIC9kZXYvc2htIHJ3LHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncKKzIwIDEgODo0IC8gLyBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTQgcncsZXJyb3JzPWNvbnRpbnVlLHVzZXJfeGF0dHIsYWNsLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzIxIDE2IDA6MTcgLyAvc3lzL2ZzL2Nncm91cCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gdG1wZnMgdG1wZnMgcncsbW9kZT03NTUKKzIyIDIxIDA6MTggLyAvc3lzL2ZzL2Nncm91cC9zeXN0ZW1kIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LHJlbGVhc2VfYWdlbnQ9L2xpYi9zeXN0ZW1kL3N5c3RlbWQtY2dyb3Vwcy1hZ2VudCxuYW1lPXN5c3RlbWQKKzIzIDIxIDA6MTkgLyAvc3lzL2ZzL2Nncm91cC9jcHVzZXQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1c2V0CisyNCAyMSAwOjIwIC8gL3N5cy9mcy9jZ3JvdXAvbnMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbnMKKzI1IDIxIDA6MjEgLyAvc3lzL2ZzL2Nncm91cC9jcHUgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsY3B1CisyNiAyMSAwOjIyIC8gL3N5cy9mcy9jZ3JvdXAvY3B1YWNjdCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHVhY2N0CisyNyAyMSAwOjIzIC8gL3N5cy9mcy9jZ3JvdXAvbWVtb3J5IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LG1lbW9yeQorMjggMjEgMDoyNCAvIC9zeXMvZnMvY2dyb3VwL2RldmljZXMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZGV2aWNlcworMjkgMjEgMDoyNSAvIC9zeXMvZnMvY2dyb3VwL2ZyZWV6ZXIgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsZnJlZXplcgorMzAgMjEgMDoyNiAvIC9zeXMvZnMvY2dyb3VwL25ldF9jbHMgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbmV0X2NscworMzEgMjEgMDoyNyAvIC9zeXMvZnMvY2dyb3VwL2Jsa2lvIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGJsa2lvCiszMiAxNiAwOjI4IC8gL3N5cy9rZXJuZWwvc2VjdXJpdHkgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIyLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszMyAxNyAwOjI5IC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTIzLHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNCAxNiAwOjMwIC8gL3N5cy9rZXJuZWwvZGVidWcgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI0LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNSAxNSAwOjMxIC8gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNSxwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzYgMTcgMDozMiAvIC9kZXYvbXF1ZXVlIHJ3LHJlbGF0aW1lIC0gYXV0b2ZzIHN5c3RlbWQtMSBydyxmZD0yNixwZ3JwPTEsdGltZW91dD0zMDAsbWlucHJvdG89NSxtYXhwcm90bz01LGRpcmVjdAorMzcgMTUgMDoxNCAvIC9wcm9jL2J1cy91c2IgcncscmVsYXRpbWUgLSB1c2JmcyAvcHJvYy9idXMvdXNiIHJ3CiszOCAzMyAwOjMzIC8gL2Rldi9odWdlcGFnZXMgcncscmVsYXRpbWUgLSBodWdldGxiZnMgaHVnZXRsYmZzIHJ3CiszOSAzNiAwOjEyIC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgLSBtcXVldWUgbXF1ZXVlIHJ3Cis0MCAyMCA4OjYgLyAvYm9vdCBydyxub2F0aW1lIC0gZXh0MyAvZGV2L3NkYTYgcncsZXJyb3JzPWNvbnRpbnVlLGJhcnJpZXI9MCxkYXRhPW9yZGVyZWQKKzQxIDIwIDI1MzowIC8gL2hvbWUva3phayBydyxub2F0aW1lIC0gZXh0NCAvZGV2L21hcHBlci9remFrLWhvbWUgcncsYmFycmllcj0xLGRhdGE9b3JkZXJlZAorNDIgMzUgMDozNCAvIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBydyxyZWxhdGltZSAtIGJpbmZtdF9taXNjIG5vbmUgcncKKzQzIDE2IDA6MzUgLyAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgcncscmVsYXRpbWUgLSBmdXNlY3RsIGZ1c2VjdGwgcncKKzQ0IDQxIDA6MzYgLyAvaG9tZS9remFrLy5ndmZzIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSAtIGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiBndmZzLWZ1c2UtZGFlbW9uIHJ3LHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorNDUgMjAgMDozNyAvIC92YXIvbGliL25mcy9ycGNfcGlwZWZzIHJ3LHJlbGF0aW1lIC0gcnBjX3BpcGVmcyBzdW5ycGMgcncKKzQ3IDIwIDA6MzggLyAvbW50L211c2ljIHJ3LHJlbGF0aW1lIC0gY2lmcyAvL2Zvby5ob21lL2Jhci8gcncsdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb19ub3NyYyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb19ub3NyYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWY3Y2YwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbW91bnRpbmZvX25vc3JjCkBAIC0wLDAgKzEsNyBAQAorMTUgMjAgMDozIC8gL3Byb2MgcncscmVsYXRpbWUgLSBwcm9jIC9wcm9jIHJ3CisxNiAyMCAwOjE1IC8gL3N5cyBydyxyZWxhdGltZSAtIHN5c2ZzIC9zeXMgcncKKzE3IDIwIDA6NSAvIC9kZXYgcncscmVsYXRpbWUgLSBkZXZ0bXBmcyB1ZGV2IHJ3LHNpemU9MTk4MzUxNmssbnJfaW5vZGVzPTQ5NTg3OSxtb2RlPTc1NQorMTggMTcgMDoxMCAvIC9kZXYvcHRzIHJ3LHJlbGF0aW1lIC0gZGV2cHRzIGRldnB0cyBydyxnaWQ9NSxtb2RlPTYyMCxwdG14bW9kZT0wMDAKKzE5IDE3IDA6MTYgLyAvZGV2L3NobSBydyxyZWxhdGltZSAtIHRtcGZzIHRtcGZzIHJ3CisyMCAxIDg6NCAvIC8gcncsbm9hdGltZSAtIGV4dDMgL2Rldi9zZGE0IHJ3LGVycm9ycz1jb250aW51ZSx1c2VyX3hhdHRyLGFjbCxiYXJyaWVyPTAsZGF0YT1vcmRlcmVkCisyMSAyMCAwOjUzIC8gL21udC90ZXN0IHJ3LHJlbGF0aW1lIHNoYXJlZDoyMTIgLSB0bXBmcyAgcncKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb19yZSBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb19yZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZjM3OWZhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbW91bnRpbmZvX3JlCkBAIC0wLDAgKzEsMzIgQEAKKzE1IDIwIDA6MyAvIC9wcm9jIHJ3LHJlbGF0aW1lIC0gcHJvYyAvcHJvYyBydworMTYgMjAgMDoxNSAvIC9zeXMgcncscmVsYXRpbWUgLSBzeXNmcyAvc3lzIHJ3CisxNyAyMCAwOjUgLyAvZGV2IHJ3LHJlbGF0aW1lIC0gZGV2dG1wZnMgdWRldiBydyxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKKzE4IDE3IDA6MTAgLyAvZGV2L3B0cyBydyxyZWxhdGltZSAtIGRldnB0cyBkZXZwdHMgcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCisxOSAxNyAwOjE2IC8gL2Rldi9zaG0gcncscmVsYXRpbWUgLSB0bXBmcyB0bXBmcyBydworMjAgMSA4OjQgLyAvIHJ3LG5vYXRpbWUgLSBleHQzIC9kZXYvc2RhNCBydyxlcnJvcnM9Y29udGludWUsdXNlcl94YXR0cixhY2wsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorMjEgMTYgMDoxNyAvIC9zeXMvZnMvY2dyb3VwIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSB0bXBmcyB0bXBmcyBydyxtb2RlPTc1NQorMjIgMjEgMDoxOCAvIC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncscmVsZWFzZV9hZ2VudD0vbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZAorMjMgMjEgMDoxOSAvIC9zeXMvZnMvY2dyb3VwL2NwdXNldCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHVzZXQKKzI0IDIxIDA6MjAgLyAvc3lzL2ZzL2Nncm91cC9ucyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxucworMjUgMjEgMDoyMSAvIC9zeXMvZnMvY2dyb3VwL2NwdSBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHUKKzI2IDIxIDA6MjIgLyAvc3lzL2ZzL2Nncm91cC9jcHVhY2N0IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdWFjY3QKKzI3IDIxIDA6MjMgLyAvc3lzL2ZzL2Nncm91cC9tZW1vcnkgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbWVtb3J5CisyOCAyMSAwOjI0IC8gL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxkZXZpY2VzCisyOSAyMSAwOjI1IC8gL3N5cy9mcy9jZ3JvdXAvZnJlZXplciBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxmcmVlemVyCiszMCAyMSAwOjI2IC8gL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxuZXRfY2xzCiszMSAyMSAwOjI3IC8gL3N5cy9mcy9jZ3JvdXAvYmxraW8gcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsYmxraW8KKzMyIDE2IDA6MjggLyAvc3lzL2tlcm5lbC9zZWN1cml0eSBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzMzIDE3IDA6MjkgLyAvZGV2L2h1Z2VwYWdlcyBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjMscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM0IDE2IDA6MzAgLyAvc3lzL2tlcm5lbC9kZWJ1ZyBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM1IDE1IDA6MzEgLyAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNiAxNyAwOjMyIC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI2LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNyAxNSAwOjE0IC8gL3Byb2MvYnVzL3VzYiBydyxyZWxhdGltZSAtIHVzYmZzIC9wcm9jL2J1cy91c2IgcncKKzM4IDMzIDA6MzMgLyAvZGV2L2h1Z2VwYWdlcyBydyxyZWxhdGltZSAtIGh1Z2V0bGJmcyBodWdldGxiZnMgcncKKzM5IDM2IDA6MTIgLyAvZGV2L21xdWV1ZSBydyxyZWxhdGltZSAtIG1xdWV1ZSBtcXVldWUgcncKKzQwIDIwIDg6NiAvIC9ib290IHJ3LG5vYXRpbWUgLSBleHQzIC9kZXYvc2RhNiBydyxlcnJvcnM9Y29udGludWUsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorNDEgMjAgMjUzOjAgLyAvaG9tZS9remFrIHJvLG5vYXRpbWUgLSBleHQ0IC9kZXYvbWFwcGVyL2t6YWstaG9tZSBydyxiYXJyaWVyPTEsZGF0YT1vcmRlcmVkCis0MiAzNSAwOjM0IC8gL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIHJ3LHJlbGF0aW1lIC0gYmluZm10X21pc2Mgbm9uZSBydworNDMgMTYgMDozNSAvIC9zeXMvZnMvZnVzZS9jb25uZWN0aW9ucyBydyxyZWxhdGltZSAtIGZ1c2VjdGwgZnVzZWN0bCBydworNDQgNDEgMDozNiAvIC9ob21lL2t6YWsvLmd2ZnMgcncsbm9zdWlkLG5vZGV2LHJlbGF0aW1lIC0gZnVzZS5ndmZzLWZ1c2UtZGFlbW9uIGd2ZnMtZnVzZS1kYWVtb24gcncsdXNlcl9pZD01MDAsZ3JvdXBfaWQ9NTAwCis0NSAyMCAwOjM3IC8gL3Zhci9saWIvbmZzL3JwY19waXBlZnMgcncscmVsYXRpbWUgLSBycGNfcGlwZWZzIHN1bnJwYyBydworNDcgMjAgMDozOCAvIC9tbnQvc291bmRzIHJ3LHJlbGF0aW1lIC0gY2lmcyAvL2Zvby5ob21lL2Jhci8gcm8sdW5jPVxcZm9vLmhvbWVcYmFyLHVzZXJuYW1lPWt6YWssZG9tYWluPVNSR1JPVVAsdWlkPTAsbm9mb3JjZXVpZCxnaWQ9MCxub2ZvcmNlZ2lkLGFkZHI9MTkyLjE2OC4xMTEuMSxwb3NpeHBhdGhzLHNlcnZlcmlubyxhY2wscnNpemU9MTYzODQsd3NpemU9NTczNDQKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb191IGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbW91bnRpbmZvX3UKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTNkZGU5NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL21vdW50aW5mb191CkBAIC0wLDAgKzEsMzEgQEAKKzE1IDIwIDA6MyAvIC9wcm9jIHJ3LHJlbGF0aW1lIC0gcHJvYyAvcHJvYyBydworMTYgMjAgMDoxNSAvIC9zeXMgcncscmVsYXRpbWUgLSBzeXNmcyAvc3lzIHJ3CisxNyAyMCAwOjUgLyAvZGV2IHJ3LHJlbGF0aW1lIC0gZGV2dG1wZnMgdWRldiBydyxzaXplPTE5ODM1MTZrLG5yX2lub2Rlcz00OTU4NzksbW9kZT03NTUKKzE4IDE3IDA6MTAgLyAvZGV2L3B0cyBydyxyZWxhdGltZSAtIGRldnB0cyBkZXZwdHMgcncsZ2lkPTUsbW9kZT02MjAscHRteG1vZGU9MDAwCisxOSAxNyAwOjE2IC8gL2Rldi9zaG0gcncscmVsYXRpbWUgLSB0bXBmcyB0bXBmcyBydworMjAgMSA4OjQgLyAvIHJ3LG5vYXRpbWUgLSBleHQzIC9kZXYvc2RhNCBydyxlcnJvcnM9Y29udGludWUsdXNlcl94YXR0cixhY2wsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorMjEgMTYgMDoxNyAvIC9zeXMvZnMvY2dyb3VwIHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSB0bXBmcyB0bXBmcyBydyxtb2RlPTc1NQorMjIgMjEgMDoxOCAvIC9zeXMvZnMvY2dyb3VwL3N5c3RlbWQgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncscmVsZWFzZV9hZ2VudD0vbGliL3N5c3RlbWQvc3lzdGVtZC1jZ3JvdXBzLWFnZW50LG5hbWU9c3lzdGVtZAorMjMgMjEgMDoxOSAvIC9zeXMvZnMvY2dyb3VwL2NwdXNldCBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHVzZXQKKzI0IDIxIDA6MjAgLyAvc3lzL2ZzL2Nncm91cC9ucyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxucworMjUgMjEgMDoyMSAvIC9zeXMvZnMvY2dyb3VwL2NwdSBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxjcHUKKzI2IDIxIDA6MjIgLyAvc3lzL2ZzL2Nncm91cC9jcHVhY2N0IHJ3LG5vc3VpZCxub2Rldixub2V4ZWMscmVsYXRpbWUgLSBjZ3JvdXAgY2dyb3VwIHJ3LGNwdWFjY3QKKzI3IDIxIDA6MjMgLyAvc3lzL2ZzL2Nncm91cC9tZW1vcnkgcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsbWVtb3J5CisyOCAyMSAwOjI0IC8gL3N5cy9mcy9jZ3JvdXAvZGV2aWNlcyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxkZXZpY2VzCisyOSAyMSAwOjI1IC8gL3N5cy9mcy9jZ3JvdXAvZnJlZXplciBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxmcmVlemVyCiszMCAyMSAwOjI2IC8gL3N5cy9mcy9jZ3JvdXAvbmV0X2NscyBydyxub3N1aWQsbm9kZXYsbm9leGVjLHJlbGF0aW1lIC0gY2dyb3VwIGNncm91cCBydyxuZXRfY2xzCiszMSAyMSAwOjI3IC8gL3N5cy9mcy9jZ3JvdXAvYmxraW8gcncsbm9zdWlkLG5vZGV2LG5vZXhlYyxyZWxhdGltZSAtIGNncm91cCBjZ3JvdXAgcncsYmxraW8KKzMyIDE2IDA6MjggLyAvc3lzL2tlcm5lbC9zZWN1cml0eSBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjIscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzMzIDE3IDA6MjkgLyAvZGV2L2h1Z2VwYWdlcyBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjMscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM0IDE2IDA6MzAgLyAvc3lzL2tlcm5lbC9kZWJ1ZyBydyxyZWxhdGltZSAtIGF1dG9mcyBzeXN0ZW1kLTEgcncsZmQ9MjQscGdycD0xLHRpbWVvdXQ9MzAwLG1pbnByb3RvPTUsbWF4cHJvdG89NSxkaXJlY3QKKzM1IDE1IDA6MzEgLyAvcHJvYy9zeXMvZnMvYmluZm10X21pc2MgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI1LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNiAxNyAwOjMyIC8gL2Rldi9tcXVldWUgcncscmVsYXRpbWUgLSBhdXRvZnMgc3lzdGVtZC0xIHJ3LGZkPTI2LHBncnA9MSx0aW1lb3V0PTMwMCxtaW5wcm90bz01LG1heHByb3RvPTUsZGlyZWN0CiszNyAxNSAwOjE0IC8gL3Byb2MvYnVzL3VzYiBydyxyZWxhdGltZSAtIHVzYmZzIC9wcm9jL2J1cy91c2IgcncKKzM4IDMzIDA6MzMgLyAvZGV2L2h1Z2VwYWdlcyBydyxyZWxhdGltZSAtIGh1Z2V0bGJmcyBodWdldGxiZnMgcncKKzM5IDM2IDA6MTIgLyAvZGV2L21xdWV1ZSBydyxyZWxhdGltZSAtIG1xdWV1ZSBtcXVldWUgcncKKzQwIDIwIDg6NiAvIC9ib290IHJ3LG5vYXRpbWUgLSBleHQzIC9kZXYvc2RhNiBydyxlcnJvcnM9Y29udGludWUsYmFycmllcj0wLGRhdGE9b3JkZXJlZAorNDIgMzUgMDozNCAvIC9wcm9jL3N5cy9mcy9iaW5mbXRfbWlzYyBydyxyZWxhdGltZSAtIGJpbmZtdF9taXNjIG5vbmUgcncKKzQzIDE2IDA6MzUgLyAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgcncscmVsYXRpbWUgLSBmdXNlY3RsIGZ1c2VjdGwgcncKKzQ0IDQxIDA6MzYgLyAvaG9tZS9remFrLy5ndmZzIHJ3LG5vc3VpZCxub2RldixyZWxhdGltZSAtIGZ1c2UuZ3Zmcy1mdXNlLWRhZW1vbiBndmZzLWZ1c2UtZGFlbW9uIHJ3LHVzZXJfaWQ9NTAwLGdyb3VwX2lkPTUwMAorNDUgMjAgMDozNyAvIC92YXIvbGliL25mcy9ycGNfcGlwZWZzIHJ3LHJlbGF0aW1lIC0gcnBjX3BpcGVmcyBzdW5ycGMgcncKKzQ3IDIwIDA6MzggLyAvbW50L3NvdW5kcyBydyxyZWxhdGltZSAtIGNpZnMgLy9mb28uaG9tZS9iYXIvIHJ3LHVuYz1cXGZvby5ob21lXGJhcix1c2VybmFtZT1remFrLGRvbWFpbj1TUkdST1VQLHVpZD0wLG5vZm9yY2V1aWQsZ2lkPTAsbm9mb3JjZWdpZCxhZGRyPTE5Mi4xNjguMTExLjEscG9zaXhwYXRocyxzZXJ2ZXJpbm8sYWNsLHJzaXplPTE2Mzg0LHdzaXplPTU3MzQ0CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9maWxlcy9tdGFiIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbXRhYgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2JjOTBlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvbXRhYgpAQCAtMCwwICsxLDEyIEBACisvZGV2L3NkYTQgLyBleHQzIHJ3LG5vYXRpbWUgMCAwCitwcm9jIC9wcm9jIHByb2MgcncgMCAwCitzeXNmcyAvc3lzIHN5c2ZzIHJ3IDAgMAorZGV2cHRzIC9kZXYvcHRzIGRldnB0cyBydyxnaWQ9NSxtb2RlPTYyMCAwIDAKK3RtcGZzIC9kZXYvc2htIHRtcGZzIHJ3IDAgMAorL2Rldi9zZGE2IC9ib290IGV4dDMgcncsbm9hdGltZSAwIDAKKy9kZXYvbWFwcGVyL2t6YWstaG9tZSAvaG9tZS9remFrIGV4dDQgcncsbm9hdGltZSAwIDAKK25vbmUgL3Byb2Mvc3lzL2ZzL2JpbmZtdF9taXNjIGJpbmZtdF9taXNjIHJ3IDAgMAorZnVzZWN0bCAvc3lzL2ZzL2Z1c2UvY29ubmVjdGlvbnMgZnVzZWN0bCBydyAwIDAKK2d2ZnMtZnVzZS1kYWVtb24gL2hvbWUva3phay8uZ3ZmcyBmdXNlLmd2ZnMtZnVzZS1kYWVtb24gcncsbm9zdWlkLG5vZGV2LHVzZXI9a3phayAwIDAKK3N1bnJwYyAvdmFyL2xpYi9uZnMvcnBjX3BpcGVmcyBycGNfcGlwZWZzIHJ3IDAgMAorbm9uZSAvdmFyL3RtcC9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMS9cMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTEvXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExL1wwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMVwwMTFcMDExXDAxMSBvdmVybGF5IHJ3LHJlbGF0aW1lLGxvd2VyZGlyPWxvd2VyLHVwcGVyZGlyPXVwcGVyLHdvcmtkaXI9d29yayAwIDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL3N3YXBzIGIvdGVzdHMvdHMvbGlibW91bnQvZmlsZXMvc3dhcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMTNjZTkzMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2ZpbGVzL3N3YXBzCkBAIC0wLDAgKzEsNCBAQAorRmlsZW5hbWUJCQkJVHlwZQkJU2l6ZQlVc2VkCVByaW9yaXR5CisvZGV2L2RtLTIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGl0aW9uCTgxNTEwMzYJMjI4MzQzNgktMgorL3NvbWUvc3dhcGZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGUgICAgICAgICAgICAxMTEgICAgIDExMSAgICAgMAorL3NvbWUvc3dhcGZpbGUyXDA0MChkZWxldGVkKSAgICAgICAgICAgIGZpbGUgICAgICAgICAgICAxMTEgICAgIDExMSAgICAgMApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvbG9jayBiL3Rlc3RzL3RzL2xpYm1vdW50L2xvY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2JhNjc4YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L2xvY2sKQEAgLTAsMCArMSw0MSBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImxvY2siCisKK1RTX09QVElPTkFMPSJ5ZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9MT0NLIgorCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX3NraXAgInRlc3Qgbm90IGNvbXBpbGVkIgorCisjCisjIEJlIGNhcmVmdWwgd2l0aCBudW1iZXIgb2YgcHJvY2Vzc2VzLiBEb24ndCBmb3JnZXQgdGhhdCB0aGVyZSBpcyB0aW1lIGxpbWl0CisjIHdoZW4gdGhlIG1vdW50IHdhaXRzIG9uIHRoZSBtdGFiIGxvY2suIElmIHlvdSBkZWZpbmUgdG9vIG11Y2ggcHJvY2Vzc2VzIHNvbWUKKyMgb2YgdGhlbSB3aWxsIGZhaWwgd2l0aCB0aW1lb3V0LgorIworIyBOb3RlOiB0aGUgb3JpZ2luYWwgdmVyc2lvbiAoPCAyLjEzKSBvZiB1dGlsLWxpbnV4IGlzIGNvbXBsZXRlbHkgdXNlbGVzcyBmb3IKKyMgdGhpcyB0ZXN0IChtYXhpbXVtIGZvciB0aGlzIG9sZCB2ZXJzaW9uIGlzIE5MT09QUz0xMCBhbmQgTlBST0NFU1NFUz01ICgyLXdheQorIyAyR0h6IG1hY2hpbmUpKS4gSXQgaGFzIHRlcnJpYmxlIHBlcmZvcm1hbmNlIGR1ZSBhIGJhZCB0aW1lb3V0cyBpbXBsZW1lbnRhdGlvbgorIyBpbiBsb2NrX210YWIoKS4KKyMKK05MT09QUz0xMDAwCitOUFJPQ0VTU0VTPTUwCisKKworPiAkVFNfT1VUUFVULmRlYnVnCitlY2hvIDAgPiAkVFNfT1VUUFVUCitTWU5DVElNRT0kKCggJChkYXRlICslcykgKyA1ICkpCisKK2ZvciBpZCBpbiAkKHNlcSAwICQoKCAkTlBST0NFU1NFUyAtIDEgKSkpOyBkbworCXRzX3J1biAkVEVTVFBST0cgLS1sb2NrIC0tc3luY3RpbWUgJFNZTkNUSU1FICRUU19PVVRQVVQgJE5MT09QUyA+PiAkVFNfT1VUUFVULmRlYnVnIDI+JjEgJgorZG9uZQorCit3YWl0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC9sb29wIGIvdGVzdHMvdHMvbGlibW91bnQvbG9vcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iNTJiNzQ3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvbG9vcApAQCAtMCwwICsxLDE0MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTYgU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJsb3NldHVwLWxvb3AiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRklORE1OVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MT1NFVFVQIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworZnVuY3Rpb24gdmVyaWZ5X21vdW50X2RldiB7CisJbG9jYWwgZGV2PSQxCisJbG9jYWwgbXA9JDIKKwlsb2NhbCBkZXZfbW91bnRlZD0kKCRUU19DTURfRklORE1OVCAtbm8gU09VUkNFIC0tbW91bnRwb2ludCAiJG1wIikKKworCWlmIHRlc3QgIiRkZXYiICE9ICIkZGV2X21vdW50ZWQiIDsgdGhlbgorCQllY2hvICJNb3VudGVkIGluY29ycmVjdCBkZXZpY2U6IGhhdmUgJyRkZXZfbW91bnRlZCcsIHdhbnQgJyRkZXYnIiA+JjIKKwkJcmV0dXJuIDEKKwlmaQorfQorCisjCisjIGZpbGUtKiB0ZXN0czogQmFja2luZyBmaWxlIGlzIGEgcmVndWxhciBmaWxlCisjCitCQUNLRklMRT0kKHRzX2ltYWdlX2luaXQgMTApCisKK21rZnMuZXh0MyAtRiAkQkFDS0ZJTEUgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkQkFDS0ZJTEUiCisKKyMgQWxsIHRlc3RzIGFyZSBzZXBhcmF0ZWQgYnkgInVkZXZhZG0gc2V0dGxlIiBiZWNhdXNlIGxvb3AgZGV2aWNlIGV4aXN0cyBzb21lIHRpbWUgYWZ0ZXIKKyMgImxvc2V0dXAgLWQiLiBUaGlzIGRldmljZSBjb25mdXNlcyBzb21lIHRlc3RzLiBBbmQgZmluZC1yYWNlLWNvbmRpdGlvbiwgdGVzdHMsCisjIHdoZXRoZXIgcmUtdXNlIG9mIHRoaXMgZGV2aWNlIHdvcmtzLgordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaWxlIgorWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKyRUU19DTURfTU9VTlQgIiRCQUNLRklMRSIgIiRUU19NT1VOVFBPSU5UIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVCIgPj4gJFRTX09VVFBVVCAyPiYxCit1ZGV2YWRtIHNldHRsZQordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpbGUtby1sb29wIgorWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKyRUU19DTURfTU9VTlQgLW9sb29wICIkQkFDS0ZJTEUiICIkVFNfTU9VTlRQT0lOVCIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlQiID4+ICRUU19PVVRQVVQgMj4mMQordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJkZXYtbG9vcCIKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAkQkFDS0ZJTEUgMj4+ICRUU19PVVRQVVQgKQorJFRTX0NNRF9NT1VOVCAkTE9ERVYgIiRUU19NT1VOVFBPSU5UIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3ZlcmlmeV9tb3VudF9kZXYgIiRMT0RFViIgIiRUU19NT1VOVFBPSU5UIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVCIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0xPU0VUVVAgLS1kZXRhY2ggJExPREVWID4+ICRUU19PVVRQVVQgMj4mMQordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJvLWxvb3AtdmFsIgoraWYgWyAiJFRTX1BBUkFMTEVMIiA9ICJ5ZXMiIF07IHRoZW4KKwkjIFRoZXJlIGlzIGEgcmFjZSBpbiAkTE9ERVYgaXMgdXNhZ2UKKwl0c19za2lwX3N1YnRlc3QgIm5vLXJlZW50cmFudCIKK2Vsc2UKKwlbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCUxPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgMj4+ICRUU19PVVRQVVQgKQorCSRUU19DTURfTU9VTlQgLW9sb29wPSRMT0RFViAiJEJBQ0tGSUxFIiAiJFRTX01PVU5UUE9JTlQiID4+ICRUU19PVVRQVVQgMj4mMQorCXZlcmlmeV9tb3VudF9kZXYgIiRMT0RFViIgIiRUU19NT1VOVFBPSU5UIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwkkVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlQiID4+ICRUU19PVVRQVVQgMj4mMQorCXVkZXZhZG0gc2V0dGxlCisJdHNfbG9nICJTdWNjZXNzIgorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpCisKK3RzX2luaXRfc3VidGVzdCAicmV1c2UiCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCAtLW5vb3ZlcmxhcCAtLXNob3cgIiRCQUNLRklMRSIgMj4+ICRUU19PVVRQVVQgKQorJFRTX0NNRF9NT1VOVCAiJEJBQ0tGSUxFIiAiJFRTX01PVU5UUE9JTlQiID4+ICRUU19PVVRQVVQgMj4mMQordmVyaWZ5X21vdW50X2RldiAiJExPREVWIiAiJFRTX01PVU5UUE9JTlQiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5UIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfTE9TRVRVUCAtLWRldGFjaCAkTE9ERVYgPj4gJFRTX09VVFBVVCAyPiYxCit1ZGV2YWRtIHNldHRsZQordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImNvbmZsaWN0IgorWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93IC0tb2Zmc2V0PTEwMDAgIiRCQUNLRklMRSIgMj4+ICRUU19PVVRQVVQgKQorJFRTX0NNRF9NT1VOVCAiJEJBQ0tGSUxFIiAiJFRTX01PVU5UUE9JTlQiIDI+JjEgXAorCXwgc2VkICdzLzouKjovOiA8dGFyZ2V0Pi87IHMvZm9yIC4qL2ZvciA8c291cmNlPi8nID4gJFRTX09VVFBVVAorJFRTX0NNRF9MT1NFVFVQIC0tZGV0YWNoICRMT0RFViA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiby1sb29wLXZhbC1pbml0aWFsaXplZCIKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1zaG93IC1mICIkQkFDS0ZJTEUiIDI+PiRUU19PVVRQVVQpCiskVFNfQ01EX01PVU5UIC1vbG9vcD0kTE9ERVYgIiRCQUNLRklMRSIgIiRUU19NT1VOVFBPSU5UIiAyPiYxIFwKKyAgICAgICB8IHNlZCAncy86Lio6LzogPHRhcmdldD4vOyBzL2ZvciAuKi9mb3IgPHNvdXJjZT4vJyA+ICRUU19PVVRQVVQKKyRUU19DTURfTE9TRVRVUCAtLWRldGFjaCAkTE9ERVYgPj4gJFRTX09VVFBVVCAyPiYxCit1ZGV2YWRtIHNldHRsZQordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm8tbG9vcC12YWwtY29uZmxpY3QiCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorY3AgIiRCQUNLRklMRSIgIiRCQUNLRklMRSItMgorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tc2hvdyAtZiAiJEJBQ0tGSUxFIi0yIDI+PiAkVFNfT1VUUFVUKQorJFRTX0NNRF9NT1VOVCAtb2xvb3A9JExPREVWICIkQkFDS0ZJTEUiICIkVFNfTU9VTlRQT0lOVCIgMj4mMSBcCisJfCBzZWQgJ3MvOi4qOi86IDx0YXJnZXQ+Lzsgcy9mb3IgLiovZm9yIDxzb3VyY2U+LycgPiAkVFNfT1VUUFVUCiskVFNfQ01EX0xPU0VUVVAgLS1kZXRhY2ggJExPREVWID4+ICRUU19PVVRQVVQgMj4mMQorcm0gIiRCQUNLRklMRSItMgordWRldmFkbSBzZXR0bGUKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L2xvb3Atb3ZlcmxheSBiL3Rlc3RzL3RzL2xpYm1vdW50L2xvb3Atb3ZlcmxheQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZmZiODIzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvbG9vcC1vdmVybGF5CkBAIC0wLDAgKzEsNjUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE2IFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Imxvb3Agb3ZlcmxheSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MT1NFVFVQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCit0c19jaGVja19wcm9nICJkZCIKK3RzX2NoZWNrX3Byb2cgInN0YXQiCisKK0lNRz0kKHRzX2ltYWdlX2luaXQgNSkKKworbWtmcy5leHQyIC1GICIkSU1HIiAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHRuIG9uICRJTUciCitPRkZTRVQ9JChzdGF0IC1jICVzICIkSU1HIikKKworZGQgaWY9IiRJTUciIG9mPSIkSU1HIiBvZmxhZz1hcHBlbmQgYnM9MTAyNGsgY291bnQ9NSBjb252PW5vdHJ1bmMgJj4vZGV2L251bGwKKworWyAtZCAiJFRTX01PVU5UUE9JTlQtMSIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVC0xCitbIC1kICIkVFNfTU9VTlRQT0lOVC0yIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5ULTIKKworZWNobyAic2Vjb25kIHNob3VsZCBmYWlsIiA+PiRUU19PVVRQVVQKKyRUU19DTURfTU9VTlQgLW9sb29wICIkSU1HIiAiJFRTX01PVU5UUE9JTlQtMSIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX01PVU5UIC1vbG9vcCxvZmZzZXQ9JE9GRlNFVCAiJElNRyIgIiRUU19NT1VOVFBPSU5ULTIiIDI+JjEgXAorICAgICAgIHwgc2VkICdzLzouKjovOiA8dGFyZ2V0Pi87IHMvZm9yIC4qL2ZvciA8c291cmNlPi8nID4+ICRUU19PVVRQVVQKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVC0xIiA+PiAkVFNfT1VUUFVUIDI+JjEKKworZWNobyAic2hvdWxkIHN1Y2NlZWQiID4+JFRTX09VVFBVVAorJFRTX0NNRF9NT1VOVCAtb2xvb3Asc2l6ZWxpbWl0PSRPRkZTRVQgIiRJTUciICIkVFNfTU9VTlRQT0lOVC0xIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfTU9VTlQgLW9sb29wLG9mZnNldD0kT0ZGU0VUICIkSU1HIiAiJFRTX01PVU5UUE9JTlQtMiIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlQtMSIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlQtMiIgPj4gJFRTX09VVFBVVCAyPiYxCisKK2VjaG8gImJvdGggc2hvdWxkIGZhaWwiID4+JFRTX09VVFBVVAorTE9PUERFVj0kKCRUU19DTURfTE9TRVRVUCAtLXNob3cgLWYgLS1vZmZzZXQgMSAtLXNpemVsaW1pdCAkT0ZGU0VUICIkSU1HIikKKyRUU19DTURfTU9VTlQgLW9sb29wLHNpemVsaW1pdD0kT0ZGU0VUICIkSU1HIiAiJFRTX01PVU5UUE9JTlQtMSIgMj4mMSBcCisJfCBzZWQgJ3MvOi4qOi86IDx0YXJnZXQ+Lzsgcy9mb3IgLiovZm9yIDxzb3VyY2U+LycgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9NT1VOVCAtb2xvb3Asb2Zmc2V0PSRPRkZTRVQgIiRJTUciICIkVFNfTU9VTlRQT0lOVC0yIiAyPiYxIFwKKwl8IHNlZCAncy86Lio6LzogPHRhcmdldD4vOyBzL2ZvciAuKi9mb3IgPHNvdXJjZT4vJyA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0xPU0VUVVAgLS1kZXRhY2ggJExPT1BERVYKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L29wdHN0ciBiL3Rlc3RzL3RzL2xpYm1vdW50L29wdHN0cgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NzRmZTU2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvb3B0c3RyCkBAIC0wLDAgKzEsMTIzIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ib3B0aW9ucyBzdHJpbmciCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9PUFRTVFIiCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCisKK3RzX2luaXRfc3VidGVzdCAiYXBwZW5kIgordHNfcnVuICRURVNUUFJPRyAtLWFwcGVuZCAiYWFhLGJiYj1CQkIsY29udGV4dD1cImZvbyxiYXIsZ29nb1wiLGNjYyIgImRkZCIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImFwcGVuZC12YWx1ZSIKK3RzX3J1biAkVEVTVFBST0cgLS1hcHBlbmQgImFhYSxiYmI9QkJCLGNjYyIgImRkZCIgIkRERCIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImFwcGVuZC1lbXB0eS12YWx1ZSIKK3RzX3J1biAkVEVTVFBST0cgLS1hcHBlbmQgImFhYSxiYmI9QkJCLGNjYyIgImRkZCIgIiIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInByZXBlbmQiCit0c19ydW4gJFRFU1RQUk9HIC0tcHJlcGVuZCAiYWFhLGJiYj1CQkIsY2NjIiAiZGRkIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicHJlcGVuZC12YWx1ZSIKK3RzX3J1biAkVEVTVFBST0cgLS1wcmVwZW5kICJhYWEsYmJiPUJCQixjY2MiICJkZGQiICJEREQiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJwcmVwZW5kLWVtcHR5LXZhbHVlIgordHNfcnVuICRURVNUUFJPRyAtLXByZXBlbmQgImFhYSxiYmI9QkJCLGNjYyIgImRkZCIgIiIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInNldC1yZW1vdmUiCit0c19ydW4gJFRFU1RQUk9HIC0tc2V0ICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtc21hbGwiCit0c19ydW4gJFRFU1RQUk9HIC0tc2V0ICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICJYIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2V0LWxhcmdlIgordHNfcnVuICRURVNUUFJPRyAtLXNldCAiYWFhLGJiYj1CQkIsY2NjIiAiYmJiIiAiWFhYLVlZWS1aWloiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtZW1wdHkiCit0c19ydW4gJFRFU1RQUk9HIC0tc2V0ICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzZXQtbmV3IgordHNfcnVuICRURVNUUFJPRyAtLXNldCAiYWFhLGJiYj1CQkIsY2NjIiAiYWFhIiAiWFhYIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2V0LW5ldy1lbXB0eSIKK3RzX3J1biAkVEVTVFBST0cgLS1zZXQgImFhYSxiYmI9QkJCLGNjYyIgImFhYSIgIiIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInNldC1uZXctZW5kIgordHNfcnVuICRURVNUUFJPRyAtLXNldCAiYWFhLGJiYj1CQkIsY2NjIiAiY2NjIiAiWFhYIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2V0LW5ldy1lbmQtZW1wdHkiCit0c19ydW4gJFRFU1RQUk9HIC0tc2V0ICJhYWEsYmJiPUJCQixjY2MiICJjY2MiICIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJnZXQiCit0c19ydW4gJFRFU1RQUk9HIC0tZ2V0ICJhYWEsYmJiPUJCQixjY2MiICJhYWEiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJnZXQtdmFsdWUiCit0c19ydW4gJFRFU1RQUk9HIC0tZ2V0ICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZW1vdmUiCit0c19ydW4gJFRFU1RQUk9HIC0tcmVtb3ZlICJhYWEsYmJiPUJCQixjY2MiICJhYWEiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZW1vdmUtcXVvdGVkIgordHNfcnVuICRURVNUUFJPRyAtLXJlbW92ZSAiYWFhLGNvbnRleHQ9XCJmb28sYmFyLGdvZ29cIixiYmI9QkJCLGNjYyIgImNvbnRleHQiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZW1vdmUtdmFsdWUiCit0c19ydW4gJFRFU1RQUk9HIC0tcmVtb3ZlICJhYWEsYmJiPUJCQixjY2MiICJiYmIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZW1vdmUtZW1wdHktdmFsdWUiCit0c19ydW4gJFRFU1RQUk9HIC0tcmVtb3ZlICJhYWEsYmJiPSxjY2MiICJiYmIiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJzcGxpdCIKK3RzX3J1biAkVEVTVFBST0cgLS1zcGxpdCAiYWFhLGJiYj1CQkIsY2NjLHgtYmFyLHgtZm9vPWZvb2RhdGEsdXNlcj1remFrLG5vZXhlYyxub3N1aWQsbG9vcD0vZGV2L2xvb3AwIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmxhZ3MiCit0c19ydW4gJFRFU1RQUk9HIC0tZmxhZ3MgImFhYSxiYmI9QkJCLHgtZm9vLGNjYyx1c2VyPWt6YWssbm9kZXYsbm9leGVjLG5vc3VpZCxsb29wPS9kZXYvbG9vcDAiICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJhcHBseS1saW51eCIJIyBhZGQgbm9hdGltZSBhbmQgcmVtb3ZlIG5vZXhlYyBhbmQgbm9zdWlkCit0c19ydW4gJFRFU1RQUk9HIC0tYXBwbHkgLS1saW51eCAidXNlcj1remFrLG5vZXhlYyxub3N1aWQiIDB4NDAwICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJhcHBseS11c2VyIgkjIGFkZCB1c2VyLG5vZmFpbCBhbmQgcmVtb3ZlIGxvb3AKK3RzX3J1biAkVEVTVFBST0cgLS1hcHBseSAtLXVzZXIgIm5vZXhlYyxub3N1aWQsbG9vcD0vZGV2L2xvb29wMCIgMHg0MDggJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpeCIKK3RzX3J1biAkVEVTVFBST0cgLS1maXggInVpZD1yb290LGdpZD1yb290IiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZGVkdXBsaWNhdGUiCit0c19ydW4gJFRFU1RQUk9HIC0tZGVkdXAgYmJiLGNjYyxBQUEseHh4LEFBQT1hLEFBQT1iYmIsZGRkLEFBQT1jY2MsZmZmPWVlZSBBQUEgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImRlZHVwbGljYXRlLWVtcHR5IgordHNfcnVuICRURVNUUFJPRyAtLWRlZHVwIGJiYixjY2MsQUFBLHh4eCxBQUE9YSxBQUE9YmJiLGRkZCxBQUE9LGZmZj1lZWUgQUFBICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmRpZmYgYi90ZXN0cy90cy9saWJtb3VudC90YWJkaWZmCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM0NGRhYWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC90YWJkaWZmCkBAIC0wLDAgKzEsMzEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDExIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ0YWJsZSBkaWZmcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQk1PVU5UX1RBQkRJRkYiCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQiCit0c19ydW4gJFRFU1RQUk9HIC0tZGlmZiAkVFNfU0VMRi9maWxlcy9tb3VudGluZm9fdSAkVFNfU0VMRi9maWxlcy9tb3VudGluZm8gJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInVtb3VudCIKK3RzX3J1biAkVEVTVFBST0cgLS1kaWZmICRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyAkVFNfU0VMRi9maWxlcy9tb3VudGluZm9fdSAgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInJlbW91bnQiCit0c19ydW4gJFRFU1RQUk9HIC0tZGlmZiAkVFNfU0VMRi9maWxlcy9tb3VudGluZm8gJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvX3JlICAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibW92ZSIKK3RzX3J1biAkVEVTVFBST0cgLS1kaWZmICRUU19TRUxGL2ZpbGVzL21vdW50aW5mbyAkVFNfU0VMRi9maWxlcy9tb3VudGluZm9fbXYgICY+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzIGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZWMwZWFlOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzCkBAIC0wLDAgKzEsODAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ0YWIgZmlsZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9UQUIiCisKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfc2tpcCAidGVzdCBub3QgY29tcGlsZWQiCisKK3RzX2luaXRfc3VidGVzdCAicGFyc2UtZnN0YWIiCit0c19ydW4gJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJwYXJzZS1mc3RhYi1mdWxsIgordHNfcnVuICRURVNUUFJPRyAtLXBhcnNlICIkVFNfU0VMRi9maWxlcy9mc3RhYi5jb21tZW50IiAtLWNvbW1lbnRzICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLW10YWIiCit0c19ydW4gJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL210YWIiICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLWZzdGFiLWJyb2tlbiIKK3RzX3J1biAkVEVTVFBST0cgLS1wYXJzZSAiJFRTX1NFTEYvZmlsZXMvZnN0YWIuYnJva2VuIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvLipmc3RhYi5icm9rZW46W1s6ZGlnaXQ6XV0qOiBwYXJzZSBlcnJvci8vZzsgcy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLW1vdW50aW5mbyIKK3RzX3J1biAkVEVTVFBST0cgLS1wYXJzZSAiJFRTX1NFTEYvZmlsZXMvbW91bnRpbmZvIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJwYXJzZS1tb3VudGluZm8tbm9zcmMiCit0c19ydW4gJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL21vdW50aW5mb19ub3NyYyIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicGFyc2Utc3dhcHMiCit0c19ydW4gJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL3N3YXBzIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJjb3B5IgordHNfcnVuICRURVNUUFJPRyAtLWNvcHktZnMgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXNvdXJjZSIKK3RzX3J1biAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiIiBzb3VyY2UgVVVJRD1mZWY3Y2NiMy04MjFjLTRkZTgtODhkYy03MTQ3MmJlNTk0NmYgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZmluZC10YXJnZXQiCit0c19ydW4gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgdGFyZ2V0IC9ob21lL2ZvbyAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXRhcmdldDIiCit0c19ydW4gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgdGFyZ2V0IC9hbnkvZm9vICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpbmQtdGFyZ2V0MyIKK3RzX3J1biAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiIiB0YXJnZXQgL2FueS9mb28vICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpbmQtcGFpciIKK3RzX3J1biAkVEVTVFBST0cgLS1maW5kLXBhaXIgIiRUU19TRUxGL2ZpbGVzL210YWIiIC9kZXYvbWFwcGVyL2t6YWstaG9tZSAvaG9tZS9remFrICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMtcHkgYi90ZXN0cy90cy9saWJtb3VudC90YWJmaWxlcy1weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iMTU3NDYwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMtcHkKQEAgLTAsMCArMSw3NSBAQAorIyEvYmluL2Jhc2gKKworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InRhYiBmaWxlcy1weSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCit0c19pbml0X3B5IGxpYm1vdW50CisKK2lmIFsgLWYgIiRBU0FOX1NZTUJPTElaRVJfUEFUSCIgXTsgdGhlbgorCVRTX0tOT1dOX0ZBSUw9InllcyIKK2ZpCisKK1BZREJHPSIkUFlUSE9OIC1tIHBkYiIKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX1BZTElCTU9VTlRfVEFCIgorWyAteCAkVEVTVFBST0cgXSB8fCB0c19kaWUgInRlc3Qgc2NyaXB0IG1pc3NpbmciCisKK3RzX2luaXRfc3VidGVzdCAicGFyc2UtZnN0YWIiCiskUFlUSE9OICRURVNUUFJPRyAtLXBhcnNlICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicGFyc2UtZnN0YWItZnVsbCIKKyRQWVRIT04gJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiLmNvbW1lbnQiIC0tY29tbWVudHMgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicGFyc2UtbXRhYiIKKyRQWVRIT04gJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL210YWIiICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInBhcnNlLWZzdGFiLWJyb2tlbiIKKyRQWVRIT04gJFRFU1RQUk9HIC0tcGFyc2UgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiLmJyb2tlbiIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzLy4qZnN0YWIuYnJva2VuOltbOmRpZ2l0Ol1dKjogcGFyc2UgZXJyb3IvL2c7IHMvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJwYXJzZS1tb3VudGluZm8iCiskUFlUSE9OICRURVNUUFJPRyAtLXBhcnNlICIkVFNfU0VMRi9maWxlcy9tb3VudGluZm8iICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImNvcHkiCiskUFlUSE9OICRURVNUUFJPRyAtLWNvcHktZnMgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXNvdXJjZSIKKyRQWVRIT04gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgc291cmNlIFVVSUQ9ZmVmN2NjYjMtODIxYy00ZGU4LTg4ZGMtNzE0NzJiZTU5NDZmICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpbmQtdGFyZ2V0IgorJFBZVEhPTiAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiIiB0YXJnZXQgL2hvbWUvZm9vICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpbmQtdGFyZ2V0MiIKKyRQWVRIT04gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgdGFyZ2V0IC9hbnkvZm9vICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpbmQtdGFyZ2V0MyIKKyRQWVRIT04gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICIkVFNfU0VMRi9maWxlcy9mc3RhYiIgdGFyZ2V0IC9hbnkvZm9vLyAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXBhaXIiCiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtcGFpciAiJFRTX1NFTEYvZmlsZXMvbXRhYiIgL2Rldi9tYXBwZXIva3phay1ob21lIC9ob21lL2t6YWsgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC90YWJmaWxlcy10YWdzIGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMtdGFncwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zODg1OGY0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvdGFiZmlsZXMtdGFncwpAQCAtMCwwICsxLDg2IEBACisjIS9iaW4vYmFzaAorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ0YWdzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfc2tpcF9ub25yb290CisKK2lmIFsgLWYgIiRBU0FOX1NZTUJPTElaRVJfUEFUSCIgXTsgdGhlbgorCVRTX0tOT1dOX0ZBSUw9InllcyIKK2ZpCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQk1PVU5UX1RBQiIKKworWyAteCAkVEVTVFBST0cgXSB8fCB0c19za2lwICJ0ZXN0IG5vdCBjb21waWxlZCIKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMgorTEFCRUw9InRlc3RMaWJtb3VudCIKK1VVSUQ9ImRlMWJjNmU5LTM0YWItNDE1MS1hMWQ3LTkwMDA0MmVlZThkOSIKKworIworIyBDcmVhdGUgZmlsZXN5c3RlbQorIworbWtmcy5leHQzIC1GIC1MICRMQUJFTCAkVFNfREVWSUNFIC1VICRVVUlEICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJFRTX0RFVklDRSIKK3RzX2RldmljZV9oYXMgIkxBQkVMIiAiJExBQkVMIiAiJFRTX0RFVklDRSIgfHwgdHNfZGllICJDYW5ub3QgZmluZCAgTEFCRUwgJyRMQUJFTCcgb24gJFRTX0RFVklDRSIKK3RzX2RldmljZV9oYXMgIlVVSUQiICIkVVVJRCIgIiRUU19ERVZJQ0UiIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJFVVSUQgb24gJFRTX0RFVklDRSIKKworRlNUQUI9IiRUU19PVVRESVIvZnN0YWIiCisKKyMKKyMgTGFiZWwgaW4gZnN0YWIKKyMKK2VjaG8gIkxBQkVMPSRMQUJFTCAvbW50L21vdW50cG9pbnQgYXV0byBkZWZhdWx0cyIgPiAkRlNUQUIKK3RzX3VkZXZhZG1fc2V0dGxlICIkVFNfREVWSUNFIiAiTEFCRUwiICJVVUlEIgorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLWxhYmVsMnV1aWQiCit0c19ydW4gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICRGU1RBQiBzb3VyY2UgIlVVSUQ9JFVVSUQiICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLWxhYmVsMmRldiIKK3RzX3J1biAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAkVFNfREVWSUNFICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjCisjIEFkZCBtb3JlIGVudGllcyBmb3IgdGhlIHNhbWUgZGV2aWNlCisjCitlY2hvICJVVUlEPSRVVUlEICAvbW50L21vdW50cG9pbnQyIGF1dG8gZGVmYXVsdHMiID4+ICRGU1RBQgorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLXV1aWQiCisjIGhhcyB0byByZXR1cm4gL21udC9tb3VudHBvaW50MgordHNfcnVuICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICJVVUlEPSRVVUlEIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmc3RhYi1sYWJlbCIKKyMgaGFzIHRvIHJldHVybiAvbW50L21vdW50cG9pbnQKK3RzX3J1biAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAiTEFCRUw9JExBQkVMIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImZzdGFiLWRldjJsYWJlbCIKKyMgaGFzIHRvIHJldHVybiAvbW50L21vdW50cG9pbnQKK3RzX3J1biAkVEVTVFBST0cgLS1maW5kLWZvcndhcmQgJEZTVEFCIHNvdXJjZSAkVFNfREVWSUNFICY+ICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9mczogMHguKi9mczovZycgJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCisjCisjIEFkZCBkZXZuYW1lCisjCitlY2hvICIkVFNfREVWSUNFICAvbW50L21vdW50cG9pbnQzIGF1dG8gZGVmYXVsdHMiID4+ICRGU1RBQgorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLWRldiIKKyMgaGFzIHRvIHJldHVybiAvbW50L21vdW50cG9pbnQzCit0c19ydW4gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICRGU1RBQiBzb3VyY2UgJFRTX0RFVklDRSAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9zb3VyY2U6IC4qLy9nJyAkVFNfT1VUUFVUCQkjIGRldm5hbWUgaXMgZ2VuZXJhdGVkLCByZW1vdmUgaXQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L3RhYmZpbGVzLXRhZ3MtcHkgYi90ZXN0cy90cy9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVlNzJhNmYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC90YWJmaWxlcy10YWdzLXB5CkBAIC0wLDAgKzEsOTAgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InRhZ3MtcHkiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19za2lwX25vbnJvb3QKKwordHNfaW5pdF9weSBsaWJtb3VudAorCitpZiBbIC1mICIkQVNBTl9TWU1CT0xJWkVSX1BBVEgiIF07IHRoZW4KKwlUU19LTk9XTl9GQUlMPSJ5ZXMiCitmaQorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9QWUxJQk1PVU5UX1RBQiIKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfZGllICJ0ZXN0IHNjcmlwdCBtaXNzaW5nIgorCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK1BZREJHPSIkUFlUSE9OIC1tIHBkYiIKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMgorTEFCRUw9InRlc3RMaWJtb3VudCIKK1VVSUQ9ImRlMWJjNmU5LTM0YWItNDE1MS1hMWQ3LTkwMDA0MmVlZThkOSIKKworIworIyBDcmVhdGUgZmlsZXN5c3RlbQorIworbWtmcy5leHQzIC1GIC1MICRMQUJFTCAkVFNfREVWSUNFIC1VICRVVUlEICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJFRTX0RFVklDRSIKK3RzX2RldmljZV9oYXMgIkxBQkVMIiAiJExBQkVMIiAiJFRTX0RFVklDRSIgfHwgdHNfZGllICJDYW5ub3QgZmluZCAgTEFCRUwgJyRMQUJFTCcgb24gJFRTX0RFVklDRSIKK3RzX2RldmljZV9oYXMgIlVVSUQiICIkVVVJRCIgIiRUU19ERVZJQ0UiIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJFVVSUQgb24gJFRTX0RFVklDRSIKKworRlNUQUI9IiRUU19PVVRESVIvZnN0YWIiCisKKyMKKyMgTGFiZWwgaW4gZnN0YWIKKyMKK2VjaG8gIkxBQkVMPSRMQUJFTCAvbW50L21vdW50cG9pbnQgYXV0byBkZWZhdWx0cyIgPiAkRlNUQUIKK3RzX3VkZXZhZG1fc2V0dGxlICIkREVWSUNFIiAiTEFCRUwiICJVVUlEIgorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLWxhYmVsMnV1aWQiCiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICJVVUlEPSRVVUlEIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmc3RhYi1sYWJlbDJkZXYiCiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICRUU19ERVZJQ0UgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMKKyMgQWRkIG1vcmUgZW50aWVzIGZvciB0aGUgc2FtZSBkZXZpY2UKKyMKK2VjaG8gIlVVSUQ9JFVVSUQgIC9tbnQvbW91bnRwb2ludDIgYXV0byBkZWZhdWx0cyIgPj4gJEZTVEFCCisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItdXVpZCIKKyMgaGFzIHRvIHJldHVybiAvbW50L21vdW50cG9pbnQyCiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICJVVUlEPSRVVUlEIiAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJmc3RhYi1sYWJlbCIKKyMgaGFzIHRvIHJldHVybiAvbW50L21vdW50cG9pbnQKKyRQWVRIT04gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICRGU1RBQiBzb3VyY2UgIkxBQkVMPSRMQUJFTCIgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJmc3RhYi1kZXYybGFiZWwiCisjIGhhcyB0byByZXR1cm4gL21udC9tb3VudHBvaW50CiskUFlUSE9OICRURVNUUFJPRyAtLWZpbmQtZm9yd2FyZCAkRlNUQUIgc291cmNlICRUU19ERVZJQ0UgJj4gJFRTX09VVFBVVAorc2VkIC1pIC1lICdzL2ZzOiAweC4qL2ZzOi9nJyAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMKKyMgQWRkIGRldm5hbWUKKyMKK2VjaG8gIiRUU19ERVZJQ0UgIC9tbnQvbW91bnRwb2ludDMgYXV0byBkZWZhdWx0cyIgPj4gJEZTVEFCCisKK3RzX2luaXRfc3VidGVzdCAiZnN0YWItZGV2IgorIyBoYXMgdG8gcmV0dXJuIC9tbnQvbW91bnRwb2ludDMKKyRQWVRIT04gJFRFU1RQUk9HIC0tZmluZC1mb3J3YXJkICRGU1RBQiBzb3VyY2UgJFRTX0RFVklDRSAmPiAkVFNfT1VUUFVUCitzZWQgLWkgLWUgJ3MvZnM6IDB4LiovZnM6L2cnICRUU19PVVRQVVQKK3NlZCAtaSAtZSAncy9zb3VyY2U6IC4qLy9nJyAkVFNfT1VUUFVUCQkjIGRldm5hbWUgaXMgZ2VuZXJhdGVkLCByZW1vdmUgaXQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L3VwZGF0ZSBiL3Rlc3RzL3RzL2xpYm1vdW50L3VwZGF0ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41NDM3MDU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvdXBkYXRlCkBAIC0wLDAgKzEsMTEyIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idGFiIHVwZGF0ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCit0c19za2lwX25vbnJvb3QKKworVEVTVFBST0c9IiRUU19IRUxQRVJfTElCTU9VTlRfVVBEQVRFIgorCitbIC14ICRURVNUUFJPRyBdIHx8IHRzX3NraXAgInRlc3Qgbm90IGNvbXBpbGVkIgorCisjIElNUE9SVEFOVCBub3RlczoKKyMKKyMgIC0gdGhlICRUU19PVVRQVVQgdmFyaWFibGUgaXMgYmV0d2VlbiB0c19pbml0X3N1YnRlc3QgYW5kIHRzX2ZpbmFsaXplX3N1YnRlc3QKKyMgICAgcmVkZWZpbmVkIHRvIHN1YnRlc3Qgc3BlY2lmaWMgbmFtZXNwYWNlIC0tIGl0IG1lYW5zIHRoYXQgJFRTX09VVFBVVCBpcyBhCisjICAgIGRpZmZlcmVudCBmaWxlIHdpdGhpbiBhIHN1YnRlc3QuCisjCisjICAtIGFsbCB0aGlzIHRlc3QgdXNlcyBnbG9iYWwgJFRTX09VVFBVVC57bXRhYixtb3VudGluZm99CisKK2V4cG9ydCBMSUJNT1VOVF9NVEFCPSRUU19PVVRQVVQubXRhYgorcm0gLWYgJExJQk1PVU5UX01UQUIKKz4gJExJQk1PVU5UX01UQUIKKworCisjCisjIFRyYWRpdGlvbmFsIC9ldGMvbXRhYgorIworaGFzX210YWI9JCggdHNfaGFzX210YWJfc3VwcG9ydCApCitpZiBbICIkaGFzX210YWIiID09ICJ5ZXMiIF07IHRoZW4KKwkKKwl0c19pbml0X3N1YnRlc3QgIm10YWItbW91bnQiCisJdHNfcnVuICRURVNUUFJPRyAtLWFkZCAvZGV2L3NkYTEgL21udC9mb28gZXh0MyAicncsYmJiLGNjYyxmZmY9RkZGLGRkZCxub2V4ZWMiCisJdHNfcnVuICRURVNUUFJPRyAtLWFkZCAvZGV2L3NkYjEgL21udC9iYXIgZXh0MyAiZ2c9RyxmZmZmPWYscm8sbm9hdGltZSIKKwl0c19ydW4gJFRFU1RQUk9HIC0tYWRkIC9kZXYvc2RhMiAvbW50L2JhciBleHQzICJydyxub2F0aW1lIgorCXRzX3J1biAkVEVTVFBST0cgLS1hZGQgL2Rldi9zZGExIC9tbnQvZ29nbyBleHQzICJydyxub2F0aW1lLG5vc3VpZCIKKwl0c19ydW4gJFRFU1RQUk9HIC0tYWRkIG5vbmUgL3Byb2MgcHJvYyBkZWZhdWx0cworCWNwICRMSUJNT1VOVF9NVEFCICRUU19PVVRQVVQJIyBzYXZlIHRoZSBtdGFiIGFzaWRlCisJdHNfZmluYWxpemVfc3VidGVzdAkJIyBjaGVja3MgdGhlIG10YWIKKworCXRzX2luaXRfc3VidGVzdCAibXRhYi1tb3ZlIgorCXRzX3J1biAkVEVTVFBST0cgLS1tb3ZlIC9tbnQvZm9vIC9tbnQvbmV3Zm9vCisJdHNfcnVuICRURVNUUFJPRyAtLW1vdmUgL21udC9iYXIgL21udC9uZXdiYXIKKwljcCAkTElCTU9VTlRfTVRBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgbXRhYiBhc2lkZQorCXRzX2ZpbmFsaXplX3N1YnRlc3QJCSMgY2hlY2tzIHRoZSBtdGFiCisKKwl0c19pbml0X3N1YnRlc3QgIm10YWItcmVtb3VudCIKKwl0c19ydW4gJFRFU1RQUk9HIC0tcmVtb3VudCAvbW50L25ld2ZvbyAicm8sbm9hdGltZSIKKwl0c19ydW4gJFRFU1RQUk9HIC0tcmVtb3VudCAvbW50L2JhciAicncsYXRpbWUsbm9zdWlkIgorCWNwICRMSUJNT1VOVF9NVEFCICRUU19PVVRQVVQJIyBzYXZlIHRoZSBtdGFiIGFzaWRlCisJdHNfZmluYWxpemVfc3VidGVzdAkJIyBjaGVja3MgdGhlIG10YWIKKworCXRzX2luaXRfc3VidGVzdCAibXRhYi11bW91bnQiCisJdHNfcnVuICRURVNUUFJPRyAtLXJlbW92ZSAvbW50L2JhcgorCXRzX3J1biAkVEVTVFBST0cgLS1yZW1vdmUgL21udC9nb2dvCisJdHNfcnVuICRURVNUUFJPRyAtLXJlbW92ZSAvcHJvYworCWNwICRMSUJNT1VOVF9NVEFCICRUU19PVVRQVVQJIyBzYXZlIHRoZSBtdGFiIGFzaWRlCisJdHNfZmluYWxpemVfc3VidGVzdAkJIyBjaGVja3MgdGhlIG10YWIKK2ZpCisKKyMKKyMgdXRhYgorIworcm0gLWYgJExJQk1PVU5UX01UQUIKK2xuIC1zIC9wcm9jL21vdW50cyAkTElCTU9VTlRfTVRBQgorCitleHBvcnQgTElCTU9VTlRfVVRBQj0kVFNfT1VUUFVULnV0YWIKK3JtIC1mICRMSUJNT1VOVF9VVEFCCis+ICRMSUJNT1VOVF9VVEFCCisKK3RzX2luaXRfc3VidGVzdCAidXRhYi1tb3VudCIKK3RzX3J1biAkVEVTVFBST0cgLS1hZGQgL2Rldi9zZGExIC9tbnQvZm9vIGV4dDMgInJ3LGJiYixjY2MsZmZmPUZGRixkZGQsbm9leGVjIgordHNfcnVuICRURVNUUFJPRyAtLWFkZCAvZGV2L3NkYjEgL21udC9iYXIgZXh0MyAicm8sdXNlciIKK3RzX3J1biAkVEVTVFBST0cgLS1hZGQgL2Rldi9zZGEyIC9tbnQveHl6IGV4dDMgInJ3LGxvb3A9L2Rldi9sb29wMCx1aGVscGVyPWhhbCIKK3RzX3J1biAkVEVTVFBST0cgLS1hZGQgbm9uZSAvcHJvYyBwcm9jICJydyx1c2VyIgorY3AgJExJQk1PVU5UX1VUQUIgJFRTX09VVFBVVAkjIHNhdmUgdGhlIG10YWIgYXNpZGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QJCSMgY2hlY2tzIHRoZSBtdGFiCisKK3RzX2luaXRfc3VidGVzdCAidXRhYi1tb3ZlIgordHNfcnVuICRURVNUUFJPRyAtLW1vdmUgL21udC9iYXIgL21udC9uZXdiYXIKK3RzX3J1biAkVEVTVFBST0cgLS1tb3ZlIC9tbnQveHl6IC9tbnQvbmV3eHl6CitjcCAkTElCTU9VTlRfVVRBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgbXRhYiBhc2lkZQordHNfZmluYWxpemVfc3VidGVzdAkJIyBjaGVja3MgdGhlIG10YWIKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1dGFiLXJlbW91bnQiCit0c19ydW4gJFRFU1RQUk9HIC0tcmVtb3VudCAvbW50L25ld2JhciAicm8sbm9hdGltZSIKK3RzX3J1biAkVEVTVFBST0cgLS1yZW1vdW50IC9tbnQvbmV3eHl6ICJydyx1c2VyIgorY3AgJExJQk1PVU5UX1VUQUIgJFRTX09VVFBVVAkjIHNhdmUgdGhlIG10YWIgYXNpZGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QJCSMgY2hlY2tzIHRoZSBtdGFiCisKK3RzX2luaXRfc3VidGVzdCAidXRhYi11bW91bnQiCit0c19ydW4gJFRFU1RQUk9HIC0tcmVtb3ZlIC9tbnQvbmV3YmFyCit0c19ydW4gJFRFU1RQUk9HIC0tcmVtb3ZlIC9wcm9jCitjcCAkTElCTU9VTlRfVVRBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgbXRhYiBhc2lkZQordHNfZmluYWxpemVfc3VidGVzdAkJIyBjaGVja3MgdGhlIG10YWIKKworIworIyBmc3RhYiAtIHJlcGxhY2UKKyMKK2V4cG9ydCBMSUJNT1VOVF9GU1RBQj0kVFNfT1VUUFVULmZzdGFiCitybSAtZiAkTElCTU9VTlRfRlNUQUIKK2NwICIkVFNfU0VMRi9maWxlcy9mc3RhYi5jb21tZW50IiAkTElCTU9VTlRfRlNUQUIKKwordHNfaW5pdF9zdWJ0ZXN0ICJmc3RhYi1yZXBsYWNlIgordHNfcnVuICRURVNUUFJPRyAtLXJlcGxhY2UgIkxBQkVMPWZvbyIgIi9tbnQvZm9vIgorY3AgJExJQk1PVU5UX0ZTVEFCICRUU19PVVRQVVQJIyBzYXZlIHRoZSBmc3RhYiBhc2lkZQordHNfZmluYWxpemVfc3VidGVzdAkJI2NoZWNrcyB0aGUgZnN0YWIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYm1vdW50L3VwZGF0ZS1weSBiL3Rlc3RzL3RzL2xpYm1vdW50L3VwZGF0ZS1weQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NmYxNzU0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlibW91bnQvdXBkYXRlLXB5CkBAIC0wLDAgKzEsMzIgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEwIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ0YWIgdXBkYXRlLXB5IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKK3RzX2luaXRfcHkgbGlibW91bnQKK3RzX3NraXBfbm9ucm9vdAorCitpZiBbIC1mICIkQVNBTl9TWU1CT0xJWkVSX1BBVEgiIF07IHRoZW4KKwlUU19LTk9XTl9GQUlMPSJ5ZXMiCitmaQorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9QWUxJQk1PVU5UX1VQREFURSIKK1sgLXggJFRFU1RQUk9HIF0gfHwgdHNfZGllICJ0ZXN0IHNjcmlwdCBtaXNzaW5nIgorCisjCisjIGZzdGFiIC0gcmVwbGFjZQorIworZXhwb3J0IExJQk1PVU5UX0ZTVEFCPSRUU19PVVRQVVQuZnN0YWIKK3JtIC1mICRMSUJNT1VOVF9GU1RBQgorY3AgIiRUU19TRUxGL2ZpbGVzL2ZzdGFiLmNvbW1lbnQiICRMSUJNT1VOVF9GU1RBQgorCit0c19pbml0X3N1YnRlc3QgImZzdGFiLXJlcGxhY2UiCiskUFlUSE9OICRURVNUUFJPRyAtLXJlcGxhY2UgIkxBQkVMPWZvbyIgIi9tbnQvZm9vIiA+L2Rldi9udWxsIDI+JjEKK2NwICRMSUJNT1VOVF9GU1RBQiAkVFNfT1VUUFVUCSMgc2F2ZSB0aGUgZnN0YWIgYXNpZGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QJCSNjaGVja3MgdGhlIGZzdGFiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJtb3VudC91dGlscyBiL3Rlc3RzL3RzL2xpYm1vdW50L3V0aWxzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjODlkNDYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJtb3VudC91dGlscwpAQCAtMCwwICsxLDg0IEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idXRpbHMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJNT1VOVF9VVElMUyIKKworWyAteCAkVEVTVFBST0cgXSB8fCB0c19za2lwICJ0ZXN0IG5vdCBjb21waWxlZCIKKwordHNfaW5pdF9zdWJ0ZXN0ICJtYXRjaC1mc3R5cGUiCit0c19ydW4gJFRFU1RQUk9HIC0tbWF0Y2gtZnN0eXBlIGV4dDMgImV4dDIsZXh0MyxjaWZzIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibWF0Y2gtZnN0eXBlLW5lZyIKK3RzX3J1biAkVEVTVFBST0cgLS1tYXRjaC1mc3R5cGUgY2lmcyAiZXh0MixleHQzLG5vY2lmcyIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLWZzdHlwZS1uZWcyIgordHNfcnVuICRURVNUUFJPRyAtLW1hdGNoLWZzdHlwZSBjaWZzICJub2V4dDIsZXh0MyxjaWZzIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibWF0Y2gtb3B0aW9ucyIKK3RzX3J1biAkVEVTVFBST0cgLS1tYXRjaC1vcHRpb25zICJhYWEsYmJiPUJCQixjY2MsZGRkIiAiY2NjIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibWF0Y2gtb3B0aW9ucy1saXN0IgordHNfcnVuICRURVNUUFJPRyAtLW1hdGNoLW9wdGlvbnMgImFhYSxiYmI9QkJCLGNjYyxkZGQiICJjY2MsYWFhLGRkZCIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLW9wdGlvbnMtbmVnIgordHNfcnVuICRURVNUUFJPRyAtLW1hdGNoLW9wdGlvbnMgImFhYSxiYmI9QkJCLGNjYyxkZGQiICJub3h4eCIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLW9wdGlvbnMtbmVnLWxpc3QiCit0c19ydW4gJFRFU1RQUk9HIC0tbWF0Y2gtb3B0aW9ucyAiYWFhLGJiYj1CQkIsY2NjLGRkZCIgImRkZCxub2FhYSIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1hdGNoLW9wdGlvbnMtbmVnLWxpc3QyIgordHNfcnVuICRURVNUUFJPRyAtLW1hdGNoLW9wdGlvbnMgImFhYSxiYmI9QkJCLGNjYyxkZGQiICJub3h4eCxjY2MsYWFhIiAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic3RhcnRzLXdpdGgiCit0c19ydW4gJFRFU1RQUk9HIC0tc3RhcnRzLXdpdGggIkFBQWJiYkNDQyIgIkFBQSIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImVuZHMtd2l0aCIKK3RzX3J1biAkVEVTVFBST0cgLS1lbmRzLXdpdGggIkFBQWJiYkNDQyIgIkNDQyIgJj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1vdW50cG9pbnQiCitpZiBbIC1kIC9wcm9jIF07IHRoZW4KKwl0c19ydW4gJFRFU1RQUk9HIC0tbW91bnRwb2ludCAvcHJvYyAmPiAkVFNfT1VUUFVUCisJdHNfZmluYWxpemVfc3VidGVzdAorZWxzZQorCXRzX3NraXBfc3VidGVzdCAibm8gL3Byb2MiCitmaQorCit0c19pbml0X3N1YnRlc3QgIm1vdW50cG9pbnQtc3ViZGlyIgoraWYgWyAtZCAvcHJvYy9zeXMva2VybmVsIF07IHRoZW4KKwl0c19ydW4gJFRFU1RQUk9HIC0tbW91bnRwb2ludCAvcHJvYy9zeXMva2VybmVsICY+ICRUU19PVVRQVVQKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CitlbHNlCisJdHNfc2tpcF9zdWJ0ZXN0ICJubyAvcHJvYyIKK2ZpCisKK3RzX2luaXRfc3VidGVzdCAibW91bnRwb2ludC1yb290IgordHNfcnVuICRURVNUUFJPRyAtLW1vdW50cG9pbnQgLyAmPiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAia2VybmVsLWNtZGxpbmUiCitleHBvcnQgTElCTU9VTlRfS0VSTkVMX0NNRExJTkU9IiRUU19TRUxGL2ZpbGVzL2tlcm5lbF9jbWRsaW5lIgordHNfcnVuICRURVNUUFJPRyAtLWtlcm5lbC1jbWRsaW5lIHNlbGludXg9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfcnVuICRURVNUUFJPRyAtLWtlcm5lbC1jbWRsaW5lIHNlbGludXggPj4gJFRTX09VVFBVVCAyPiYxCit0c19ydW4gJFRFU1RQUk9HIC0ta2VybmVsLWNtZGxpbmUgcm8gPj4gJFRTX09VVFBVVCAyPiYxCit0c19ydW4gJFRFU1RQUk9HIC0ta2VybmVsLWNtZGxpbmUgcm89ID4+ICRUU19PVVRQVVQgMj4mMQordHNfcnVuICRURVNUUFJPRyAtLWtlcm5lbC1jbWRsaW5lIHJvb3Q9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1oaWRkZW4gYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLWhpZGRlbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44MzE4MmE4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1oaWRkZW4KQEAgLTAsMCArMSwzIEBACitGT08KKzAKK2hpZGRlbgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1pZCBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtaWQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDE4OGY0MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtaWQKQEAgLTAsMCArMSwzIEBACitJRAorMAorcmlnaHQKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtbmFtZSBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtbmFtZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTk4ZjI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1uYW1lCkBAIC0wLDAgKzEsMyBAQAorTkFNRQorMAorbm9uZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1ub2V4dHJlbWVzIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1ub2V4dHJlbWVzCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjcxNWVkY2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLW5vZXh0cmVtZXMKQEAgLTAsMCArMSwzIEBACitOT0VYVFJFTUUKKzAKK25vZXh0cmVtZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtbnVtYmVyIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1udW1iZXIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzRhNzBlNAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtbnVtYmVyCkBAIC0wLDAgKzEsMyBAQAorTlVNCiswCityaWdodApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1wYXJlbnQgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXBhcmVudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NmZlMDhjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC1wYXJlbnQKQEAgLTAsMCArMSwzIEBACitQQVJFTlQKKzAKK3JpZ2h0CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXN0cmljdCBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtc3RyaWN0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYyYmI5NmIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXN0cmljdApAQCAtMCwwICsxLDMgQEAKK1NUUklDVAorMjAKK3N0cmljdHdpZHRoLHJpZ2h0CmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXN0cmluZyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtc3RyaW5nCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdlMjkwNGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXN0cmluZwpAQCAtMCwwICsxLDMgQEAKK1NUUklOR1MKKzAKK25vbmUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtdHJlZSBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtdHJlZQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41MDc2ODgwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC10cmVlCkBAIC0wLDAgKzEsMyBAQAorVFJFRQorMAordHJlZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC10cnVuYyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtdHJ1bmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg4N2I0MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtdHJ1bmMKQEAgLTAsMCArMSwzIEBACitUUlVOQworMAordHJ1bmMKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtd3JhcCBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9jb2wtd3JhcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYzRjYTM0Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC13cmFwCkBAIC0wLDAgKzEsMyBAQAorV1JBUAorMAord3JhcApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC13cmFwbmwgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvY29sLXdyYXBubApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wYTE4ZmQxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2NvbC13cmFwbmwKQEAgLTAsMCArMSwzIEBACitXUkFQTkwKKzAKK3dyYXBubApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtaWQgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1pZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMDBjOTY1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtaWQKQEAgLTAsMCArMSwxMCBAQAorMQorMgorMworNAorNQorNgorNworOAorOQorMTAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLW51bWJlciBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLW51bWJlcgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41NjJkNzUwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtbnVtYmVyCkBAIC0wLDAgKzEsMTAgQEAKKzAKKzEwMAorMjEKKzMKKzQxMQorNTExMQorNjc4OTkzMzIxCis3NjY2NjY2Cis4NzY1Cis5ODc0NTYKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLW51bWJlci10aW55IGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtbnVtYmVyLXRpbnkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGIxYWNjMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLW51bWJlci10aW55CkBAIC0wLDAgKzEsMTAgQEAKKzAKKzEKKzIKKzMKKzQKKzUKKzYKKzcKKzgKKzkKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXBhcmVudCBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXBhcmVudApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hYTUwNzE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtcGFyZW50CkBAIC0wLDAgKzEsMTAgQEAKKzAKKzEKKzEKKzEKKzIKKzIKKzMKKzcKKzgKKzcKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kZmY2ZTljCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtc3RyaW5nCkBAIC0wLDAgKzEsMTAgQEAKK2FhYWEKK2JiYgorY2NjY2MKK2RkZGRkZAorZWUKK2ZmZmYKK2dnZ2dnZworaGhoCitpaWlpaWkKK2pqCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1zdHJpbmctZXh0cmVtZSBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZy1leHRyZW1lCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmYjM5NWQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1zdHJpbmctZXh0cmVtZQpAQCAtMCwwICsxLDEwIEBACitxcXFxcXFYCitkZGRkZGRkZFgKK2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZYCitzc3NYCitkZFgKK2pqampqWAorbW1tbW1tbVgKK2xsbGxsbGxsbGxYCit5eXl5eXlYCitwcHBwcFgKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZy1sb25nIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtc3RyaW5nLWxvbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWI1NjgzYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9maWxlcy9kYXRhLXN0cmluZy1sb25nCkBAIC0wLDAgKzEsMTAgQEAKK3FxcXFxcXFxcXFxcXFxcXFxWAorZGRkZGRkZGRkZGRkZFgKK2ZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZYCitzc3Nzc3Nzc3NzWAorZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYCitqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqampqWAorbW1tbW1tbW1tbW1tbW1tbW1tbVgKK2xsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxYCit5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5eXl5WAorcHBwcHBwcHBwWApkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtc3RyaW5nLW5sIGIvdGVzdHMvdHMvbGlic21hcnRjb2xzL2ZpbGVzL2RhdGEtc3RyaW5nLW5sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4MjJlNTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZmlsZXMvZGF0YS1zdHJpbmctbmwKQEAgLTAsMCArMSwxMCBAQAorYWFhCitiYmJiYgorY2NjY1xuQ0NDQworZGRkZGRkZGRcbkRERERcbkRECitoZWxsb1xuYmFieQorYWFhXG5iYmJcbmNjY1xuZGRkCitlZWUKK2ZmZmZmCitnXG5oaGhoaAorcHBwcHBwcHBwCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvZnJvbWZpbGUgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvZnJvbWZpbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjc0MDgxZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy9mcm9tZmlsZQpAQCAtMCwwICsxLDI0MCBAQAorIyEvYmluL2Jhc2gKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZnJvbWZpbGUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCitURVNUUFJPRz0iJFRTX0hFTFBFUl9MSUJTTUFSVENPTFNfRlJPTUZJTEUiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRURVNUUFJPRyIKKwordHNfaW5pdF9zdWJ0ZXN0ICJ0cmVlIgordHNfcnVuICRURVNUUFJPRyAtLW5saW5lcyAxMCBcCisJLS10cmVlLWlkLWNvbHVtbiAxIFwKKwktLXRyZWUtcGFyZW50LWNvbHVtbiAyIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtdHJlZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLWlkIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtcGFyZW50IFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1pZCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1wYXJlbnQgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nLWxvbmcgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInRyZWUtanNvbiIKK3RzX3J1biAkVEVTVFBST0cgLS1ubGluZXMgMTAgLS1qc29uIFwKKwktLXRyZWUtaWQtY29sdW1uIDEgXAorCS0tdHJlZS1wYXJlbnQtY29sdW1uIDIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC10cmVlIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtaWQgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1wYXJlbnQgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLWlkIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXBhcmVudCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctbG9uZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAidHJlZS1taWRkbGUiCit0c19ydW4gJFRFU1RQUk9HIC0tbmxpbmVzIDEwIFwKKwktLXRyZWUtaWQtY29sdW1uIDAgXAorCS0tdHJlZS1wYXJlbnQtY29sdW1uIDEgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1pZCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXBhcmVudCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXRyZWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtaWQgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtcGFyZW50IFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctbG9uZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAidHJlZS1lbmQiCit0c19ydW4gJFRFU1RQUk9HIC0tbmxpbmVzIDEwIFwKKwktLXRyZWUtaWQtY29sdW1uIDAgXAorCS0tdHJlZS1wYXJlbnQtY29sdW1uIDEgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1pZCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXBhcmVudCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXN0cmluZyBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXRyZWUgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtaWQgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtcGFyZW50IFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAidHJ1bmMiCit0c19ydW4gJFRFU1RQUk9HIC0tbmxpbmVzIDEwIC0td2lkdGggNDAgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1uYW1lIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbnVtYmVyIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtdHJ1bmMgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctbG9uZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmlnaHQiCit0c19ydW4gJFRFU1RQUk9HIC0tbmxpbmVzIDEwIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW51bWJlciBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyaWdodC1tYXhvdXQiCit0c19ydW4gJFRFU1RQUk9HIC0tbmxpbmVzIDEwIC0tbWF4b3V0IC0td2lkdGggODBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic3RyaWN0d2lkdGgiCit0c19ydW4gJFRFU1RQUk9HIC0tbmxpbmVzIDEwIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXN0cmljdCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW51bWJlciBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyLXRpbnkgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJub2V4dHJlbWVzIgordHNfcnVuICRURVNUUFJPRyAtLW5saW5lcyAxMCAtLXdpZHRoIDQ1IFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5vZXh0cmVtZXMgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1uYW1lIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctZXh0cmVtZSBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1udW1iZXIgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiaGlkZGVuIgordHNfcnVuICRURVNUUFJPRyAtLW5saW5lcyAxMCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1oaWRkZW4gXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAid3JhcCIKK3RzX3J1biAkVEVTVFBST0cgLS1ubGluZXMgMTAgLS13aWR0aCA0MCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC13cmFwIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1udW1iZXIgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nLWxvbmcgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIndyYXAtdHJlZSIKK3RzX3J1biAkVEVTVFBST0cgLS1ubGluZXMgMTAgLS13aWR0aCA0NSBcCisJLS10cmVlLWlkLWNvbHVtbiAxIFwKKwktLXRyZWUtcGFyZW50LWNvbHVtbiAyIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtdHJlZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLWlkIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtcGFyZW50IFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtd3JhcCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtaWQgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtcGFyZW50IFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJ3cmFwbmwiCit0c19ydW4gJFRFU1RQUk9HIC0tbmxpbmVzIDEwIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbmFtZSBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW51bWJlciBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLXdyYXBubCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1ubCBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAid3JhcG5sLXRyZWUiCit0c19ydW4gJFRFU1RQUk9HIC0tbmxpbmVzIDEwIFwKKwktLXRyZWUtaWQtY29sdW1uIDEgXAorCS0tdHJlZS1wYXJlbnQtY29sdW1uIDIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC10cmVlIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtaWQgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1wYXJlbnQgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC13cmFwbmwgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLWlkIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXBhcmVudCBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctbmwgXAorCT4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInJhdyIKK3RzX3J1biAkVEVTVFBST0cgLS1ubGluZXMgMTAgLS1yYXcgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1uYW1lIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtbnVtYmVyIFwKKwktLWNvbHVtbiAkVFNfU0VMRi9maWxlcy9jb2wtdHJ1bmMgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtc3RyaW5nIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLW51bWJlciBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmctbG9uZyBcCisJPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiZXhwb3J0IgordHNfcnVuICRURVNUUFJPRyAtLW5saW5lcyAxMCAtLWV4cG9ydCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC10cnVuYyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJjb2x1bW4tc2VwYXJhdG9yIgordHNfcnVuICRURVNUUFJPRyAtLW5saW5lcyAxMCAtLWNvbHNlcCBcfCBcCisJLS1jb2x1bW4gJFRTX1NFTEYvZmlsZXMvY29sLW5hbWUgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC1udW1iZXIgXAorCS0tY29sdW1uICRUU19TRUxGL2ZpbGVzL2NvbC10cnVuYyBcCisJJFRTX1NFTEYvZmlsZXMvZGF0YS1zdHJpbmcgXAorCSRUU19TRUxGL2ZpbGVzL2RhdGEtbnVtYmVyIFwKKwkkVFNfU0VMRi9maWxlcy9kYXRhLXN0cmluZy1sb25nIFwKKwk+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfbG9nICIuLi5kb25lLiIKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9saWJzbWFydGNvbHMvdGl0bGUgYi90ZXN0cy90cy9saWJzbWFydGNvbHMvdGl0bGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTc2YWEyZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xpYnNtYXJ0Y29scy90aXRsZQpAQCAtMCwwICsxLDI4IEBACisjIS9iaW4vYmFzaAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ0aXRsZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK1RFU1RQUk9HPSIkVFNfSEVMUEVSX0xJQlNNQVJUQ09MU19USVRMRSIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRFU1RQUk9HIgorCit0c19ydW4gJFRFU1RQUk9HIC0td2lkdGggODAgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sb2dnZXIvZXJyb3JzIGIvdGVzdHMvdHMvbG9nZ2VyL2Vycm9ycwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zM2MxMDU3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9nZ2VyL2Vycm9ycwpAQCAtMCwwICsxLDExNCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZXJyb3JzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTE9HR0VSIgorCitleHBvcnQgVFo9IkdNVCIKK2V4cG9ydCBMT0dHRVJfVEVTVF9USU1FT0ZEQVk9IjEyMzQ1Njc4OTAuMTIzNDU2IgorZXhwb3J0IExPR0dFUl9URVNUX0hPU1ROQU1FPSJ0ZXN0LWhvc3RuYW1lIgorZXhwb3J0IExPR0dFUl9URVNUX0dFVFBJRD0iOTg3NjUiCisKK0RFVkxPRz0iJChta3RlbXAgIi90bXAvdWx0ZXN0LSRUU19DT01QT05FTlQtJFRTX1RFU1ROQU1FLVhYWFhYWCIpIiBcCisJfHwgdHNfZGllICJta3RlbXAgZmFpbGVkIgorU09DS0lOPSIke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX1fc29ja2V0aW4iCit0c19pbml0X3NvY2tldF90b19maWxlICRERVZMT0cgJFNPQ0tJTgorU09DQVRfUElEPSIkISIKKworZnVuY3Rpb24gbG9nZ2VyX2Z1biB7CisJIyBsb2dnZXIgd2l0aG91dCAtLW5vLWFjdCB0byB3cml0ZSBhbGwgZGF0YSB0byB0aGUgc29ja2V0CisJZWNobyAic29ja2V0IGRhdGEsICR7VFNfU1VCTkFNRX06IiB8c29jYXQgLXUgLSBVTklYLUNPTk5FQ1Q6JERFVkxPRworCSRUU19IRUxQRVJfTE9HR0VSIC11ICRERVZMT0cgLS1zdGRlcnIgIiRAIiA+PiAiJFRTX09VVFBVVCIgMj4mMQorCWVjaG8gInJldDogJD8iID4+ICIkVFNfT1VUUFVUIgorCWVjaG8gfHNvY2F0IC11IC0gVU5JWC1DT05ORUNUOiRERVZMT0cKK30KKworZnVuY3Rpb24gbG9nZ2VyX3ByaW50ZiB7CisJIyBsb2dnZXIgd2l0aG91dCAtLW5vLWFjdCB0byB3cml0ZSBhbGwgZGF0YSB0byB0aGUgc29ja2V0CisJbG9jYWwgZm10PSIkMSIKKwlzaGlmdAorCWVjaG8gInNvY2tldCBkYXRhLCAke1RTX1NVQk5BTUV9OiIgfHNvY2F0IC11IC0gVU5JWC1DT05ORUNUOiRERVZMT0cKKwlwcmludGYgIiRmbXQiIHwgJFRTX0hFTFBFUl9MT0dHRVIgLXUgJERFVkxPRyAtLXN0ZGVyciAiJEAiID4+ICIkVFNfT1VUUFVUIiAyPiYxCisJZWNobyAicmV0OiAkPyIgPj4gIiRUU19PVVRQVVQiCisJZWNobyB8c29jYXQgLXUgLSBVTklYLUNPTk5FQ1Q6JERFVkxPRworfQorCit0c19pbml0X3N1YnRlc3QgImtlcm5fcHJpb3JpdHkiCitsb2dnZXJfZnVuIC10ICJwcmlvIiAtcCBrZXJuLmVtZXJnICJtZXNzYWdlIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImtlcm5fcHJpb3JpdHlfbnVtZXJpYyIKK2xvZ2dlcl9mdW4gLXQgInByaW8iIC1wIDAgIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiaW52YWxpZF9wcmlvIgorbG9nZ2VyX2Z1biAtdCAicHJpbyIgLXAgOCAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworIyBzaG91bGQgdHJ1bmNhdGUKK3RzX2luaXRfc3VidGVzdCAicmZjNTQyNF9leGNlZWRfc2l6ZSIKK2xvZ2dlcl9mdW4gLXQgInJmYzU0MjRfZXhjZWVkX3NpemUiIC0tcmZjNTQyNCAtLXNpemUgMyAiYWJjZCIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJpZF93aXRoX3NwYWNlIgorbG9nZ2VyX2Z1biAtdCAiaWRfd2l0aF9zcGFjZSIgLS1pZD0iQSBCIiAibWVzc2FnZSIKK2xvZ2dlcl9mdW4gLXQgInJmYzU0MjRfaWRfd2l0aF9zcGFjZSIgLS1yZmM1NDI0IC0taWQ9IkEgQiIgIm1lc3NhZ2UiCitsb2dnZXJfZnVuIC10ICJpZF93aXRoX3NwYWNlIiAtLWlkPSIxIDIzIiAibWVzc2FnZSIKK2xvZ2dlcl9mdW4gLXQgImlkX3dpdGhfbGVhZGluZyBzcGFjZSIgLS1pZD0iIDEyMyIgIm1lc3NhZ2UiCitsb2dnZXJfZnVuIC10ICJpZF93aXRoX3RyYWlsaW5nIHNwYWNlIiAtLWlkPSIxMjMgIiAibWVzc2FnZSIKKwordHNfZmluYWxpemVfc3VidGVzdAorCisjIHNob3VsZCBub3QgZmFpbAordHNfaW5pdF9zdWJ0ZXN0ICJ0YWdfd2l0aF9zcGFjZSIKK2xvZ2dlcl9mdW4gLXQgIkEgQiIgInRhZ193aXRoX3NwYWNlIgorbG9nZ2VyX2Z1biAtdCAiQSBCIiAtLXJmYzU0MjQgInRhZ193aXRoX3NwYWNlX3JmYzU0MjQiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAidGNwIgorbG9nZ2VyX2Z1biAtLXRjcCAtdCAidGNwIiAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJtdWx0aS1saW5lIgorbG9nZ2VyX3ByaW50ZiAiQUFBXG5CQkJcbkNDQ1xuIiAtdCAibXVsdGkiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmZjNTQyNF9tc2dpZF93aXRoX3NwYWNlIgorbG9nZ2VyX2Z1biAtdCAicmZjNTQyNF9tc2dpZF93aXRoX3NwYWNlIiAtLXJmYzU0MjQgLS1tc2dpZD0iQSBCIiAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJpbnZhbGlkX3NvY2tldCIKK2xvZ2dlcl9mdW4gLXUgL2JhZC9ib3kgLXQgImludmFsaWRfc29ja2V0IiAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJjaGVja19zb2NrZXQiCit0c19sb2cgIkNoZWNrIHdyaXR0ZW4gc29ja2V0IGRhdGEgb2YgYWxsIHN1YnRlc3RzLiIKK3NsZWVwIDEKK2tpbGwgJFNPQ0FUX1BJRAord2FpdCAkU09DQVRfUElEICY+L2Rldi9udWxsCitjYXQgIiRTT0NLSU4iID4+ICIkVFNfT1VUUFVUIiAyPiYxCitybSAtZiAiJERFVkxPRyIgIiRTT0NLSU4iCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sb2dnZXIvZm9ybWF0cyBiL3Rlc3RzL3RzL2xvZ2dlci9mb3JtYXRzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVhMWE1ZDAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sb2dnZXIvZm9ybWF0cwpAQCAtMCwwICsxLDg1IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNSBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJmb3JtYXRzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTE9HR0VSIgorCitleHBvcnQgVFo9IkdNVCIKK2V4cG9ydCBMT0dHRVJfVEVTVF9USU1FT0ZEQVk9IjEyMzQ1Njc4OTAuMTIzNDU2IgorZXhwb3J0IExPR0dFUl9URVNUX0hPU1ROQU1FPSJ0ZXN0LWhvc3RuYW1lIgorZXhwb3J0IExPR0dFUl9URVNUX0dFVFBJRD0iOTg3NjUiCisKK0RFVkxPRz0iJChta3RlbXAgIi90bXAvdWx0ZXN0LSRUU19DT01QT05FTlQtJFRTX1RFU1ROQU1FLVhYWFhYWCIpIiBcCisJfHwgdHNfZGllICJta3RlbXAgZmFpbGVkIgorU09DS0lOPSIke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX1fc29ja2V0aW4iCit0c19pbml0X3NvY2tldF90b19maWxlICRERVZMT0cgJFNPQ0tJTgorU09DQVRfUElEPSIkISIKKworZnVuY3Rpb24gbG9nZ2VyX2Z1biB7CisJJFRTX0hFTFBFUl9MT0dHRVIgLXUgJERFVkxPRyAtcyAtLW5vLWFjdCAiJEAiID4+ICIkVFNfT1VUUFVUIiAyPiYxCisJZWNobyAicmV0OiAkPyIgPj4gIiRUU19PVVRQVVQiCit9CisKK3RzX2luaXRfc3VidGVzdCAicmZjMzE2NCIKK2xvZ2dlcl9mdW4gLXQgInJmYzMxNjQiIC0tcmZjMzE2NCAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZmM1NDI0X3NpbXBsZSIKK2xvZ2dlcl9mdW4gLXQgInJmYzU0MjQiIC0tcmZjNTQyNCAibWVzc2FnZSIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZmM1NDI0X25vdGltZSIKK2xvZ2dlcl9mdW4gLXQgInJmYzU0MjQiIC0tcmZjNTQyND1ub3RpbWUgIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicmZjNTQyNF9ub2hvc3QiCitsb2dnZXJfZnVuIC10ICJyZmM1NDI0IiAtLXJmYzU0MjQ9bm9ob3N0ICJtZXNzYWdlIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInJmYzU0MjRfbXNnaWQiCitsb2dnZXJfZnVuIC10ICJyZmM1NDI0IiAtLXJmYzU0MjQgLS1tc2dpZCAiTVNHSUQiICJtZXNzYWdlIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm9jdGV0X2NvdW50aW5nIgorbG9nZ2VyX2Z1biAtdCAib2N0ZW4iIC0tb2N0ZXQtY291bnQgIm1lc3NhZ2UiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAicHJpb3JpdGllcyIKK2ZvciBmYWNpbGl0eSBpbiBhdXRoIGF1dGhwcml2IGNyb24gZGFlbW9uIGZ0cCBscHIgbWFpbCBuZXdzIHN5c2xvZyB1c2VyIHV1Y3AgbG9jYWx7MC4uN307IGRvCisJZm9yIGxldmVsIGluIGVtZXJnIGFsZXJ0IGNyaXQgZXJyIHdhcm5pbmcgbm90aWNlIGluZm8gZGVidWc7IGRvCisJCWxvZ2dlcl9mdW4gLXQgInByaW8iIC1wICIkZmFjaWxpdHkuJGxldmVsIiAiJGZhY2lsaXR5LiRsZXZlbCIKKwlkb25lCitkb25lCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiY2hlY2tfc29ja2V0IgordHNfbG9nICJDaGVjayB3cml0dGVuIHNvY2tldCBkYXRhIG9mIGFsbCBzdWJ0ZXN0cy4iCitzbGVlcCAxCitraWxsICRTT0NBVF9QSUQKK3dhaXQgJFNPQ0FUX1BJRCAmPi9kZXYvbnVsbAorY2F0ICIkU09DS0lOIiA+PiAiJFRTX09VVFBVVCIgMj4mMQorcm0gLWYgIiRERVZMT0ciICIkU09DS0lOIgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9nZ2VyL2pvdXJuYWxkIGIvdGVzdHMvdHMvbG9nZ2VyL2pvdXJuYWxkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMxMDgyNGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sb2dnZXIvam91cm5hbGQKQEAgLTAsMCArMSwzNSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iam91cm5hbGQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKKwordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9MT0dHRVIiCisKK2lmICEgJFRTX0hFTFBFUl9MT0dHRVIgLS1oZWxwIHwgZ3JlcCAtcSBqb3VybmFsZDsgdGhlbgorCXRzX3NraXAgInVuc3VwcG9ydGVkIgorZmkKKworcHJpbnRmICIlc1xuJXNcbiVzXG4iIE1FU1NBR0VfSUQ9YjhmNzRlMTRiYzcxNGJmYzgwNDBhNTEwNmRjOTM3NmEgTUVTU0FHRT0iYSBiIGMgMSAyIDMiIHwKKyRUU19IRUxQRVJfTE9HR0VSIC11IC9iYWQvYm95IC0tbm8tYWN0IC0tam91cm5hbGQgLS1zdGRlcnIgPiAiJFRTX09VVFBVVCIgMj4mMQorZWNobyAicmV0OiAkPyIgPj4gIiRUU19PVVRQVVQiCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9nZ2VyL29wdGlvbnMgYi90ZXN0cy90cy9sb2dnZXIvb3B0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mZmUxNDMzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9nZ2VyL29wdGlvbnMKQEAgLTAsMCArMSw4MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTUgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ib3B0aW9ucyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAorCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0xPR0dFUiIKKworIyBDcmVhdGUgLS1maWxlIG9wdGlvbiBpbnB1dCBmaWxlcy4KK2VjaG8ge2EuLmN9ezEuLjV9CSA+ICRUU19PVVRESVIvaW5wdXRfc2ltcGxlCitlY2hvIHthLi5jfXsxLi41fQkgPiAkVFNfT1VURElSL2lucHV0X2VtcHR5X2xpbmUKK2VjaG8gIiIJCQk+PiAkVFNfT1VURElSL2lucHV0X2VtcHR5X2xpbmUKK2VjaG8gezUuLjF9e2MuLjF9CT4+ICRUU19PVVRESVIvaW5wdXRfZW1wdHlfbGluZQorZWNobyAiPDY2PiIgcHJpb19wcmVmaXgJID4gJFRTX09VVERJUi9pbnB1dF9wcmlvX3ByZWZpeAorCisjIGJhc2ggNCBtaWdodCBub3QgYmUgYXZhaWxhYmxlLCB1c2UgZ28tYXJvdW5kIGhhc2gKK3Rlc3RzX2FycmF5PSgKKwkic2ltcGxlOnRlc3QiCisJImxvZ19waWQ6LWkgdGVzdCIKKwkibG9nX3BpZF9sb25nOi0taWQgdGVzdCIKKwkibG9nX3BpZF9kZWZpbmU6LS1pZD0xMjM0NSB0ZXN0IgorCSJsb2dfcGlkX25vX2FyZzotaXMgdGVzdCIKKwkiaW5wdXRfZmlsZV9zaW1wbGU6LWYgJFRTX09VVERJUi9pbnB1dF9zaW1wbGUiCisJImlucHV0X2ZpbGVfZW1wdHlfbGluZTotZiAkVFNfT1VURElSL2lucHV0X2VtcHR5X2xpbmUiCisJImlucHV0X2ZpbGVfc2tpcF9lbXB0eTotLWZpbGUgJFRTX09VVERJUi9pbnB1dF9lbXB0eV9saW5lIC1lIgorCSJpbnB1dF9maWxlX3ByaW9fcHJlZml4Oi0tZmlsZSAkVFNfT1VURElSL2lucHV0X3ByaW9fcHJlZml4IC0tc2tpcC1lbXB0eSAtLXByaW8tcHJlZml4IgorKQorCitleHBvcnQgVFo9IkdNVCIKK2V4cG9ydCBMT0dHRVJfVEVTVF9USU1FT0ZEQVk9IjEyMzQ1Njc4OTAuMTIzNDU2IgorZXhwb3J0IExPR0dFUl9URVNUX0hPU1ROQU1FPSJ0ZXN0LWhvc3RuYW1lIgorZXhwb3J0IExPR0dFUl9URVNUX0dFVFBJRD0iOTg3NjUiCisKK0RFVkxPRz0iJChta3RlbXAgIi90bXAvdWx0ZXN0LSRUU19DT01QT05FTlQtJFRTX1RFU1ROQU1FLVhYWFhYWCIpIiBcCisJfHwgdHNfZGllICJta3RlbXAgZmFpbGVkIgorU09DS0lOPSIke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX1fc29ja2V0aW4iCit0c19pbml0X3NvY2tldF90b19maWxlICRERVZMT0cgJFNPQ0tJTgorU09DQVRfUElEPSIkISIKKworZnVuY3Rpb24gbG9nZ2VyX2Z1biB7CisJJFRTX0hFTFBFUl9MT0dHRVIgLXUgJERFVkxPRyAtLXN0ZGVyciAtLW5vLWFjdCAiJEAiID4+ICIkVFNfT1VUUFVUIiAyPiYxCisJZWNobyAicmV0OiAkPyIgPj4gIiRUU19PVVRQVVQiCit9CisKK2ZvciBpIGluICIke3Rlc3RzX2FycmF5W0BdfSI7IGRvCisJbmFtZT0iJHtpJSU6Kn0iCisJb3B0aW9ucz0iJHtpIyMqOn0iCisKKwl0c19pbml0X3N1YnRlc3QgIiRuYW1lIgorCWxvZ2dlcl9mdW4gLXQgInRlc3RfdGFnIiAkb3B0aW9ucworCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2RvbmUKKwordHNfaW5pdF9zdWJ0ZXN0ICJjaGVja19zb2NrZXQiCit0c19sb2cgIkNoZWNrIHdyaXR0ZW4gc29ja2V0IGRhdGEgb2YgYWxsIHN1YnRlc3RzLiIKK3NsZWVwIDEKK2tpbGwgJFNPQ0FUX1BJRAord2FpdCAkU09DQVRfUElEICY+L2Rldi9udWxsCitjYXQgIiRTT0NLSU4iID4+ICIkVFNfT1VUUFVUIiAyPiYxCitybSAtZiAiJERFVkxPRyIgIiRTT0NLSU4iCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sb2dpbi9pc2xvY2FsIGIvdGVzdHMvdHMvbG9naW4vaXNsb2NhbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYjM3MjcwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9naW4vaXNsb2NhbApAQCAtMCwwICsxLDI5IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwOCBKYW1lcyBZb3VuZ21hbiA8amF5QGdudS5vcmc+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJpc2xvY2FsIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0lTTE9DQUwiCisKKyRUU19IRUxQRVJfSVNMT0NBTCAiJFRTX1NFTEYvaXNsb2NhbC5kYXRhIiByb290IG5vYm9keSAiIiB5b3VuZ21hbiB5b3VuZ21hbjIgXAorICAgIGFiY2RlZmdoeCBub2JvIGxvbmcgcm90IGFsIG1hbGZvcm1lZCBcCisgICAgbm9ubCB6bm9ib2R5ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sb2dpbi9pc2xvY2FsLmRhdGEgYi90ZXN0cy90cy9sb2dpbi9pc2xvY2FsLmRhdGEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTE2YThhOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvZ2luL2lzbG9jYWwuZGF0YQpAQCAtMCwwICsxLDEwIEBACityb290Ong6MDowOnJvb3Q6L3Jvb3Q6L2Jpbi9iYXNoCitzeXM6eDozOjM6c3lzOi9kZXY6L2Jpbi9zaAorb3JhYzp4OjMzOjMzOnN5czovZGV2Oi9iaW4veW91bmdtYW4KK2xvbmc6eDo0OjQ6Zm9vOi9ob21lL2xvb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb29vb25ubmdnZzovYmluL3NoCithbDp4OjU6NTpmbm9yZDovZGV2Oi9iaW4vc2gKK2FiY2RlZmdoOng6NjozOmZub3JkOi9kZXY6L2Jpbi9zaAorbWFsZm9ybWVkCisKK25vYm9keTp4OjY1NTM0OjY1NTM0Om5vYm9keTovbm9uZXhpc3RlbnQ6L2Jpbi9zaAorbm9ubDp4OjY1NTMyOjY1NTMyOm5vIG5ld2xpbmU6LzovYmluL2ZhbHNlCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sb2dpbi9sb2dpbmRlZnMgYi90ZXN0cy90cy9sb2dpbi9sb2dpbmRlZnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmRiM2Y4OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvZ2luL2xvZ2luZGVmcwpAQCAtMCwwICsxLDI2IEBACisjIS9iaW4vYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJkZWZzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX0xPR0lOREVGUyIKKworIyBsaXN0IGFsbCBpdGVtcworJFRTX0hFTFBFUl9MT0dJTkRFRlMgIiRUU19TRUxGL2xvZ2luZGVmcy5kYXRhIiB8IHNlZCAnczonJFRTX1NFTEYnLzo6ZycgPj4gJFRTX09VVFBVVAorCisjIHNlYXJjaAorJFRTX0hFTFBFUl9MT0dJTkRFRlMgIiRUU19TRUxGL2xvZ2luZGVmcy5kYXRhIiBzdHIgU1RSSU5HID4+ICRUU19PVVRQVVQKKyRUU19IRUxQRVJfTE9HSU5ERUZTICIkVFNfU0VMRi9sb2dpbmRlZnMuZGF0YSIgbnVtIE5VTUJFUiA+PiAkVFNfT1VUUFVUCiskVFNfSEVMUEVSX0xPR0lOREVGUyAiJFRTX1NFTEYvbG9naW5kZWZzLmRhdGEiIGJvb2wgQk9PTEVBTiA+PiAkVFNfT1VUUFVUCiskVFNfSEVMUEVSX0xPR0lOREVGUyAiJFRTX1NFTEYvbG9naW5kZWZzLmRhdGEiIHN0ciBFTVBUWSA+PiAkVFNfT1VUUFVUCisKKyRUU19IRUxQRVJfTE9HSU5ERUZTICIkVFNfU0VMRi9sb2dpbmRlZnMuZGF0YSIgc3RyIFVOS05PV04gPj4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9naW4vbG9naW5kZWZzLmRhdGEgYi90ZXN0cy90cy9sb2dpbi9sb2dpbmRlZnMuZGF0YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iODk5ZmY3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9naW4vbG9naW5kZWZzLmRhdGEKQEAgLTAsMCArMSwxNiBAQAorIworIyB0aGlzIGlzIC9ldGMvbG9naW4uZGVmcyBzYW1wbGUKKyMKKworSEVMTE9fV09STEQJImhlbGxvIHdvcmxkISIKK1NUUklORwkJdGhpc19pc19zdHJpbmcJCSMgYW5vdGhlciBjb21tZW50CitOVU1CRVIJCTEyMzQ1NgorQk9PTEVBTgkJeUVzCisKK0NSQVpZMSA9ICJ0aGlzIGlzIGNyYXp5IGZvcm1hdCIKK0NSQVpZMj1mb29CYXIKK0NSQVpZMyAgICBGb29vQmFhYXIKKworRU1QVFkKKworRU5ECSJ0aGUgaXMgZW5kIgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9vay9zZXBhcmF0b3IgYi90ZXN0cy90cy9sb29rL3NlcGFyYXRvcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jNjAyOGUzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9vay9zZXBhcmF0b3IKQEAgLTAsMCArMSw0MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKyMKKyMgV0FSTklORzogdGhlIGxvb2sgY29tbWFuZCBleHBlY3RzIHRoYXQgdGhlIC91c3Ivc2hhcmUvZGljdC93b3JkcyB1c2VzCisjICAgICAgICAgIGRpcmVjdG9yeSBvcmRlciEKKyMKKyMgZm9yIGV4YW1wbGU6CisjCisjCWNhdCB3b3Jkcy5yYXcgfCBlZ3JlcCAtLWludmVydC1tYXRjaCAiJ3MkIiB8IFwKKyMJCWVncmVwICAiXltbOmFsbnVtOl0nJiEsLi8tXSskIiB8IFwKKyMJCXNvcnQgLS1pZ25vcmUtY2FzZSAtLWRpY3Rpb25hcnktb3JkZXIgfCBcCisjCQl1bmlxID4gIHdvcmRzCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InNlcGFyYXRvciIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MT09LIgorCiskVFNfQ01EX0xPT0sgYXBwbGUtcGllICRUU19UT1BESVIvdHMvbG9vay93b3JkcyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sb29rL3dvcmRzIGIvdGVzdHMvdHMvbG9vay93b3JkcwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNjdiYTlhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9vay93b3JkcwpAQCAtMCwwICsxLDMgQEAKK2FwcGxlCithcHBsZS1waWUKK29yYW5nZXMKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cCBiL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xZmVjMGRkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9zZXR1cC9sb3NldHVwCkBAIC0wLDAgKzEsODYgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJsb3NldHVwIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0xPU0VUVVAiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTFNCTEsiCisKKyMgQmVmb3JlIGNoZWNraW5nIGZvciBsb29wIHN1cHBvcnQgd2Ugd291bGQgbmVlZCB0byB0ZXN0IGlmIGxvc2V0dXAgLWYgd29ya3MgYXQKKyMgYWxsLiBBdCBsZWFzdCB3ZSBkbyBhIHNpbXBsZSBleGVjdXRhYmxlIHRlc3QgZm9yIG5vdy4KKyRUU19DTURfTE9TRVRVUCAtLXZlcnNpb24gPi9kZXYvbnVsbCAyPiRUU19PVVRQVVQgfHwgdHNfZmFpbGVkCiskVFNfQ01EX0xPU0VUVVAgLS11bmtub3dub3B0ID4+JFRTX09VVFBVVCAyPi9kZXYvbnVsbCAmJiB0c19mYWlsZWQKK3Rlc3QgLXMgJFRTX09VVFBVVCAmJiB0c19mYWlsZWQKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCisKKy4gIiRUU19TRUxGL2xvc2V0dXBfZnVuY3Rpb25zLnNoIgorCisjCisjIGZpbGUtKiB0ZXN0czogQmFja2luZyBmaWxlIGlzIGEgcmVndWxhciBmaWxlCisjCitCQUNLRklMRT0kKHRzX2ltYWdlX2luaXQgMTApCisKK3RzX2luaXRfc3VidGVzdCAiZmlsZS1zaG93IgorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCAtLXNob3cgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitsb19wcmludCAkTE9ERVYgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9MT1NFVFVQIC1kICRMT0RFVgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZpbGUtb2Zmc2V0IgorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tb2Zmc2V0IDFNaUIgLS1maW5kIC0tc2hvdyAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK2xvX3ByaW50ICRMT0RFViA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX0xPU0VUVVAgLWQgJExPREVWCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaWxlLXNpemVsaW1pdCIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLXNpemVsaW1pdCAzTWlCIC0tZmluZCAtLXNob3cgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitsb19wcmludCAkTE9ERVYgPj4gJFRTX09VVFBVVAorJFRTX0NNRF9MT1NFVFVQIC1kICRMT0RFVgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiZmlsZS1zZWN0aW9uIgorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tb2Zmc2V0IDFNaUIgLS1zaXplbGltaXQgM01pQiAtLWZpbmQgLS1zaG93ICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVYiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQorbG9fcHJpbnQgJExPREVWID4+ICRUU19PVVRQVVQKKyRUU19DTURfTE9TRVRVUCAtZCAkTE9ERVYKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworcm0gLXJmICRCQUNLRklMRQorCit1ZGV2YWRtIHNldHRsZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9zZXR1cC9sb3NldHVwLWJsa2RldiBiL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTQ2OTNiZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xvc2V0dXAvbG9zZXR1cC1ibGtkZXYKQEAgLTAsMCArMSw4MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Imxvc2V0dXAtYmxrZGV2IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0xPU0VUVVAiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTFNCTEsiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCisuICIkVFNfU0VMRi9sb3NldHVwX2Z1bmN0aW9ucy5zaCIKKworIworIyBCYWNraW5nIGZpbGUgaXMgYSBibG9jayBkZXZpY2UKKyMKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj0xMQorQkFDS0ZJTEU9IiRUU19ERVZJQ0UiCisKK3RzX2luaXRfc3VidGVzdCAic2hvdyIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1zaG93ICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVYiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQorbG9fcHJpbnQgJExPREVWID4+ICRUU19PVVRQVVQKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX0xPU0VUVVAgLWQgJExPREVWCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAib2Zmc2V0IgorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tb2Zmc2V0IDFNaUIgLS1maW5kIC0tc2hvdyAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK2xvX3ByaW50ICRMT0RFViA+PiAkVFNfT1VUUFVUCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9MT1NFVFVQIC1kICRMT0RFVgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAic2l6ZWxpbWl0IgorTE9ERVY9JCggJFRTX0NNRF9MT1NFVFVQIC0tc2l6ZWxpbWl0IDNNaUIgLS1maW5kIC0tc2hvdyAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK2xvX3ByaW50ICRMT0RFViA+PiAkVFNfT1VUUFVUCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9MT1NFVFVQIC1kICRMT0RFVgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAic2VjdGlvbiIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLW9mZnNldCAxTWlCIC0tc2l6ZWxpbWl0IDNNaUIgLS1maW5kIC0tc2hvdyAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK2xvX3ByaW50ICRMT0RFViA+PiAkVFNfT1VUUFVUCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9MT1NFVFVQIC1kICRMT0RFVgordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbG9zZXR1cC9sb3NldHVwLWxvb3AgYi90ZXN0cy90cy9sb3NldHVwL2xvc2V0dXAtbG9vcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMzdlNWM3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9zZXR1cC9sb3NldHVwLWxvb3AKQEAgLTAsMCArMSwyNDcgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE2IFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibG9zZXR1cC1sb29wIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0xPU0VUVVAiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTFNCTEsiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCisuICIkVFNfU0VMRi9sb3NldHVwX2Z1bmN0aW9ucy5zaCIKKworIworIyBCYWNraW5nIGZpbGUgaXMgYSBibG9jayBkZXZpY2UKKyMKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj0xMQorQkFDS0ZJTEU9IiRUU19ERVZJQ0UiCisKKyMgQWxsIHRlc3RzIGFyZSBzZXBhcmF0ZWQgYnkgInVkZXZhZG0gc2V0dGxlIiBiZWNhdXNlIGxvb3AgZGV2aWNlIGV4aXN0cyBzb21lIHRpbWUgYWZ0ZXIKKyMgImxvc2V0dXAgLWQiLiBUaGlzIGRldmljZSBjb25mdXNlcyBzb21lIHRlc3RzLiBBbmQgZmluZC1yYWNlLWNvbmRpdGlvbiwgdGVzdHMsCisjIHdoZXRoZXIgcmUtdXNlIG9mIHRoaXMgZGV2aWNlIHdvcmtzLgorCit0c19pbml0X3N1YnRlc3QgImZpbmQtcmFjZS1jb25kaXRpb24iCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAkQkFDS0ZJTEUgKQorJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVYiCisjIFRoZSBsb29wIGRldmljZSBtYXkgb3IgbWF5IG5vdCBleGlzdCBoZXJlIGJlY2F1c2Ugbm8gInVkZXZhZG0gc2V0dGxlIi4KK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93ICRCQUNLRklMRSApCit1ZGV2YWRtIHNldHRsZQorZGQgaWY9L2Rldi96ZXJvIG9mPSIkTE9ERVYiIGNvdW50PTEgYnM9MSA+L2Rldi9udWxsIDI+JjEKKyRUU19DTURfTE9TRVRVUCAtLWxpc3QgfCBncmVwIC1xICIkTE9ERVZcYiIKK3RzX2xvZyAkPwordWRldmFkbSBzZXR0bGUKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIiA+L2Rldi9udWxsIDI+JjEKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLXJlLXVzZSIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93ICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVYiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQorTE9ERVZSPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93ICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVZSIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK3VkZXZhZG0gc2V0dGxlCitpZiB0ZXN0ICIkTE9ERVYiID0gIiRMT0RFVlIiIDsgdGhlbgorCWVjaG8gImVxdWFsIiA+PiRUU19PVVRQVVQKK2Vsc2UKKwllY2hvICJkaWZmZXJlbnQiID4+JFRTX09VVFBVVAorCWlmIHRlc3QgLW4gIiRMT0RFVlIiIDsgdGhlbgorCQkkVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFVlIiCisJZmkKK2ZpCiskVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFViIKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaW5kLW5vLXJlLXVzZSIKK0xPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93IC0tb2Zmc2V0PTAgLS1zaXplbGltaXQ9MU1pQiAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK0xPREVWUj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0xTWlCIC0tc2l6ZWxpbWl0PTFNaUIgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFVlIiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQordWRldmFkbSBzZXR0bGUKK2lmIHRlc3QgIiRMT0RFViIgPSAiJExPREVWUiIgOyB0aGVuCisJZWNobyAiZXF1YWwiID4+JFRTX09VVFBVVAorZWxzZQorCWVjaG8gImRpZmZlcmVudCIgPj4kVFNfT1VUUFVUCisJaWYgdGVzdCAtbiAiJExPREVWUiIgOyB0aGVuCisJCSRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWUiIKKwlmaQorZmkKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIgordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImZpbmQtY29uZmxpY3QiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0xTWlCIC0tc2l6ZWxpbWl0PTJNaUIgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitMT0RFVlI9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCAtLW5vb3ZlcmxhcCAtLXNob3cgLS1vZmZzZXQ9Mk1pQiAtLXNpemVsaW1pdD0yTWlCICRCQUNLRklMRSA+L2Rldi9udWxsIDI+JjEgKQoraWYgWyAteiAiJExPREVWUiIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCit1ZGV2YWRtIHNldHRsZQoraWYgdGVzdCAiJExPREVWIiA9ICIkTE9ERVZSIiA7IHRoZW4KKwllY2hvICJlcXVhbCIgPj4kVFNfT1VUUFVUCitlbHNlCisJZWNobyAiZGlmZmVyZW50IiA+PiRUU19PVVRQVVQKKwlpZiB0ZXN0IC1uICIkTE9ERVZSIiA7IHRoZW4KKwkJJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVZSIgorCWZpCitmaQorJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVYiCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAiZmluZC1jb25mbGljdC1uby1zaXplbGltaXQiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0xTWlCICRCQUNLRklMRSApCitpZiBbIC16ICIkTE9ERVYiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQorTE9ERVZSPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93IC0tb2Zmc2V0PTJNaUIgLS1zaXplbGltaXQ9Mk1pQiAkQkFDS0ZJTEUgPi9kZXYvbnVsbCAyPiYxICkKK2lmIFsgLXogIiRMT0RFVlIiIF07IHRoZW4KKwl0c19sb2cgIkZhaWxlZCB0byBjcmVhdGUgbG9vcCBkZXZpY2UiCitmaQordWRldmFkbSBzZXR0bGUKK2lmIHRlc3QgIiRMT0RFViIgPSAiJExPREVWUiIgOyB0aGVuCisJZWNobyAiZXF1YWwiID4+JFRTX09VVFBVVAorZWxzZQorCWVjaG8gImRpZmZlcmVudCIgPj4kVFNfT1VUUFVUCisJaWYgdGVzdCAtbiAiJExPREVWUiIgOyB0aGVuCisJCSRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWUiIKKwlmaQorZmkKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIgordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImZpbmQtY29uZmxpY3QtcmVhZG9ubHkiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLXJlYWQtb25seSAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK0xPREVWUj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0yTWlCIC0tc2l6ZWxpbWl0PTJNaUIgJEJBQ0tGSUxFID4vZGV2L251bGwgMj4mMSApCitpZiBbIC16ICIkTE9ERVZSIiBdOyB0aGVuCisJdHNfbG9nICJGYWlsZWQgdG8gY3JlYXRlIGxvb3AgZGV2aWNlIgorZmkKK3VkZXZhZG0gc2V0dGxlCitpZiB0ZXN0ICIkTE9ERVYiID0gIiRMT0RFVlIiIDsgdGhlbgorCWVjaG8gImVxdWFsIiA+PiRUU19PVVRQVVQKK2Vsc2UKKwllY2hvICJkaWZmZXJlbnQiID4+JFRTX09VVFBVVAorCWlmIHRlc3QgLW4gIiRMT0RFVlIiIDsgdGhlbgorCQkkVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFVlIiCisJZmkKK2ZpCiskVFNfQ01EX0xPU0VUVVAgLWQgIiRMT0RFViIKKyRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWUiIgPi9kZXYvbnVsbCAyPiYxCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAiZmluZC1vay1uby1zaXplbGltaXQiCitMT0RFVj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kIC0tbm9vdmVybGFwIC0tc2hvdyAtLW9mZnNldD0xTWlCIC0tc2l6ZWxpbWl0PTFNaUIgJEJBQ0tGSUxFICkKK2lmIFsgLXogIiRMT0RFViIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCitMT0RFVlI9JCggJFRTX0NNRF9MT1NFVFVQIC0tZmluZCAtLW5vb3ZlcmxhcCAtLXNob3cgLS1vZmZzZXQ9Mk1pQiAkQkFDS0ZJTEUgKQoraWYgWyAteiAiJExPREVWUiIgXTsgdGhlbgorCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKK2ZpCit1ZGV2YWRtIHNldHRsZQoraWYgdGVzdCAiJExPREVWIiA9ICIkTE9ERVZSIiA7IHRoZW4KKwllY2hvICJlcXVhbCIgPj4kVFNfT1VUUFVUCitlbHNlCisJZWNobyAiZGlmZmVyZW50IiA+PiRUU19PVVRQVVQKKwlpZiB0ZXN0IC1uICIkTE9ERVZSIiA7IHRoZW4KKwkJJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVZSIgorCWZpCitmaQorJFRTX0NNRF9MT1NFVFVQIC1kICIkTE9ERVYiCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAicGxhaW4tY29uZmxpY3QiCitpZiBbICIkVFNfUEFSQUxMRUwiID0gInllcyIgXTsgdGhlbgorCSMgVGhlcmUgaXMgYSByYWNlIGluICRMT0RFViBpcyB1c2FnZQorCXRzX3NraXBfc3VidGVzdCAibm8tcmVlbnRyYW50IgorZWxzZQorCUxPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93ICRCQUNLRklMRSApCisJaWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKKwlmaQorCUxPREVWUj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kICkKKwkkVFNfQ01EX0xPU0VUVVAgLS1ub292ZXJsYXAgIiRMT0RFVlIiICRCQUNLRklMRSA+L2Rldi9udWxsIDI+JjEKKwl0c19sb2cgJD8KKwl1ZGV2YWRtIHNldHRsZQorCSRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIgorCSRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWUiIgPi9kZXYvbnVsbCAyPiYxCisJdHNfbG9nICJTdWNjZXNzIgorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAicGxhaW4tcmVhZG9ubHkiCitpZiBbICIkVFNfUEFSQUxMRUwiID0gInllcyIgXTsgdGhlbgorCSMgVGhlcmUgaXMgYSByYWNlIGluICRMT0RFViBpcyB1c2FnZQorCXRzX3NraXBfc3VidGVzdCAibm8tcmVlbnRyYW50IgorZWxzZQorCUxPREVWPSQoICRUU19DTURfTE9TRVRVUCAtLWZpbmQgLS1ub292ZXJsYXAgLS1zaG93IC0tcmVhZC1vbmx5ICRCQUNLRklMRSApCisJaWYgWyAteiAiJExPREVWIiBdOyB0aGVuCisJCXRzX2xvZyAiRmFpbGVkIHRvIGNyZWF0ZSBsb29wIGRldmljZSIKKwlmaQorCUxPREVWUj0kKCAkVFNfQ01EX0xPU0VUVVAgLS1maW5kICkKKwkkVFNfQ01EX0xPU0VUVVAgLS1ub292ZXJsYXAgIiRMT0RFVlIiICRCQUNLRklMRSA+L2Rldi9udWxsIDI+JjEKKwl0c19sb2cgJD8KKwl1ZGV2YWRtIHNldHRsZQorCSRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWIgorCSRUU19DTURfTE9TRVRVUCAtZCAiJExPREVWUiIgPi9kZXYvbnVsbCAyPiYxCisJdHNfbG9nICJTdWNjZXNzIgorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sb3NldHVwL2xvc2V0dXBfZnVuY3Rpb25zLnNoIGIvdGVzdHMvdHMvbG9zZXR1cC9sb3NldHVwX2Z1bmN0aW9ucy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kMTdjODJhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbG9zZXR1cC9sb3NldHVwX2Z1bmN0aW9ucy5zaApAQCAtMCwwICsxLDcgQEAKKworZnVuY3Rpb24gbG9fcHJpbnQgeworCWxvY2FsIGxvPSQxCisJZWNobyAib2Zmc2V0OiAgICAkKCAkVFNfQ01EX0xPU0VUVVAgLS1saXN0IC0tcmF3IC1uIC1PIE9GRlNFVCAkbG8gKSIKKwllY2hvICJzaXplbGltaXQ6ICQoICRUU19DTURfTE9TRVRVUCAtLWxpc3QgLS1yYXcgLW4gLU8gU0laRUxJTUlUICRsbyApIgorCWVjaG8gInNpemU6ICAgICAgJCggJFRTX0NNRF9MU0JMSyAtbyBTSVpFIC1iIC1uIC1yICRsbyApIgorfQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbHNibGsvUkVBRE1FIGIvdGVzdHMvdHMvbHNibGsvUkVBRE1FCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZmOTM3MTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2Jsay9SRUFETUUKQEAgLTAsMCArMSwxOSBAQAorCitIb3d0byBhZGQgbmV3IGxzYmxrIHRlc3Q6CisKKyogcnVuIG1rLWlucHV0LnNoIDx0ZXN0bmFtZT4KKworKiBjb3B5IHRlc3RuYW1lLnRhci54eiBmaWxlIHRvIHRlc3RzL3RzL2xzYmxrL2R1bXBzCisKKyogY29weSBsc2Jsay0qIGZpbGVzIGZyb20gdGhlIHRhcmJhbGwgdG8gdGVzdHMvZXhwZWN0ZWQvbHNibGsvCisKKyogcnVuIC4vdGVzdHMvcnVuLnNoIGxzYmxrCisKKyogZ2l0IGFkZCB0ZXN0cy90cy9sc2Jsay90ZXN0bmFtZS50YXIueHoKKyAgZ2l0IGFkZCB0ZXN0cy9leHBlY3RlZC9sc2Jsay9sc2Jsay10ZXN0bmFtZSoKKworCitOb3RlIHRoYXQgd2UgZG8gbm90IHVzZSBkaXJlY3RseSBsc2Jsay0qIGZyb20gdGhlIHRhcmJhbGwuIEl0J3MgYmV0dGVyIHRvIGtlZXAKK2NvcHkgb2YgdGhlIGZpbGVzIGluIHRoZSB0ZXN0cy9leHBlY3RlZC9sc2Jsay8sIGJlY2F1c2Ugb3V0cHV0IGZvcm1hdHRpbmcgbWF5CitiZSBkaWZmZXJlbnQgaW4gdGhlIGN1cnJlbnQgdmVyc2lvbi4gVGhlIHZlcnNpb24gaW4gdGhlIHRhcmJhbGwgaXMganVzdCBpbml0aWFsCitoaW50IG9ubHkuCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2Jsay9kdW1wcy9zaW1wbGUtbHZtLnRhci54eiBiL3Rlc3RzL3RzL2xzYmxrL2R1bXBzL3NpbXBsZS1sdm0udGFyLnh6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIwYzhjMzQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2Jsay9kdW1wcy9zaW1wbGUtbHZtLnRhci54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2Jsay9kdW1wcy9zaW1wbGUtbnZtZS50YXIueHogYi90ZXN0cy90cy9sc2Jsay9kdW1wcy9zaW1wbGUtbnZtZS50YXIueHoKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDcyMjliMwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzYmxrL2R1bXBzL3NpbXBsZS1udm1lLnRhci54egpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2Jsay9sc2JsayBiL3Rlc3RzL3RzL2xzYmxrL2xzYmxrCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ1MTQzOGIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2Jsay9sc2JsawpAQCAtMCwwICsxLDU2IEBACisjIS9iaW4vYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTggS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+IAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKKwordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MU0JMSyIKK3RzX2NoZWNrX3Byb2cgeHoKK3RzX2NoZWNrX3Byb2cgdGFyCisKK2ZvciBkdW1wIGluICQobHMgJFRTX1NFTEYvZHVtcHMvKi50YXIueHogfCBzb3J0KTsgZG8KKwluYW1lPSQoYmFzZW5hbWUgJGR1bXAgLnRhci54eikKKwlkdW1wZGlyPSIkVFNfT1VURElSL2R1bXBzIgorCisJbWtkaXIgLXAgJGR1bXBkaXIKKwl0YXIgLUMgJGR1bXBkaXIgLS14eiAteGYgJGR1bXAKKworCSMKKwkjIFJlYWQgKi5jb2xzIGZyb20gdGhlIHRhcmJhbGwsIGJ1dCB0aGUgZXhwZWN0ZWQgb3V0cHV0IGlzIG5vdCB1c2VkCisJIyBmcm9tIHRoZSB0YXJiYWxsIGR1ZSB0byBjaGFuZ2VzIGluIGxzYmxrIGZvbWF0dGluZyBldGMuIFdlIGtlZXAgdXAgdG8KKwkjIGRhdGUgdmVyc2lvbiBpbiB0ZXN0cy9leHBlY3RlZC9sc2Jsay4KKwkjCisJZm9yIGNvbHNfZmlsZSBpbiAkKGxzICRkdW1wZGlyLyRuYW1lLyouY29scyB8IHNvcnQpOyBkbworCQlzdWJuYW1lPSQoYmFzZW5hbWUgJGNvbHNfZmlsZSAuY29scykKKwkJc3VidGVzdG5hbWU9IiR7bmFtZX0tJHtzdWJuYW1lfSIKKworCQl0c19pbml0X3N1YnRlc3QgJHN1YnRlc3RuYW1lCisJCWNvbHM9JChjYXQgJGNvbHNfZmlsZSkKKwkJJHtUU19DTURfTFNCTEt9IC0tc3lzcm9vdCAiJHtkdW1wZGlyfS8ke25hbWV9IiBcCisJCQkgICAgICAgIC0tb3V0cHV0ICRjb2xzIFwKKwkJCSAgICAgICAgPiIke1RTX09VVFBVVH0iIDI+JjEKKworCQl0c19maW5hbGl6ZV9zdWJ0ZXN0CisJZG9uZQorZG9uZQorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2Jsay9tay1pbnB1dC5zaCBiL3Rlc3RzL3RzL2xzYmxrL21rLWlucHV0LnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjhjZDQ2N2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2Jsay9tay1pbnB1dC5zaApAQCAtMCwwICsxLDEwOSBAQAorIyEvYmluL2Jhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE4IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIHNjcmlwdCBtYWtlcyBhIGNvcHkgb2YgcmVsZXZhbnQgZmlsZXMgZnJvbSAvc3lzIGFuZCAvcHJvYy4KKyMgVGhlIGZpbGVzIGFyZSB1c2VmdWwgZm9yIGxzYmxrKDEpIHJlZ3Jlc3Npb24gdGVzdHMuCisjCitwcm9nbmFtZT0kKGJhc2VuYW1lICQwKQorCitpZiBbIC16ICIkMSIgXTsgdGhlbgorCWVjaG8gLWUgIlxudXNhZ2U6ICRwcm9nbmFtZSA8dGVzdG5hbWU+XG4iCisJZXhpdCAxCitmaQorCitUU19EVU1QPSIkMSIKK1RTX05BTUU9JChiYXNlbmFtZSAke1RTX0RVTVB9KQorVFNfVEFSQkFMTD0iJFRTX0RVTVAudGFyLnh6IgorVFNfQ01EX0xTQkxLPSR7VFNfQ01EX0xTQkxLOi0ibHNibGsifQorCisjCisjIHByb2NmcworIworbWtkaXIgLXAgJFRTX0RVTVAvcHJvYworbWtkaXIgLXAgJFRTX0RVTVAvcHJvYy9zZWxmCitjcCAvcHJvYy9zZWxmL21vdW50aW5mbyAke1RTX0RVTVB9L3Byb2Mvc2VsZgorY3AgL3Byb2Mvc3dhcHMgJHtUU19EVU1QfS9wcm9jL3N3YXBzCitjcCAvcHJvYy92ZXJzaW9uICR7VFNfRFVNUH0vcHJvYy92ZXJzaW9uCisKKworIworIyBzeXNmcworIworbWtkaXIgLXAgJFRTX0RVTVAvc3lzL3tibG9jayxkZXYvYmxvY2t9CitjcCAtLW5vLWRlcmVmZXJlbmNlIC9zeXMvZGV2L2Jsb2NrLyogJHtUU19EVU1QfS9zeXMvZGV2L2Jsb2NrCitjcCAtLW5vLWRlcmVmZXJlbmNlIC9zeXMvYmxvY2svKiAke1RTX0RVTVB9L3N5cy9ibG9jaworCitERVZTPSQoZmluZCAvc3lzL2Rldi9ibG9jay8gLXR5cGUgbCkKK2ZvciB4IGluICR7REVWU307IGRvCisJREVWPSIvc3lzL2Rldi9ibG9jay8kKHJlYWRsaW5rICR4KSIKKworCW1rZGlyIC1wICR7VFNfRFVNUH0vJHtERVZ9CisKKwkjIGF0dHJpYnV0ZXMKKwlmb3IgZiBpbiAkKGZpbmQgJHtERVZ9IC10eXBlIGYgLW5vdCAtcGF0aCAnKi90cmFjZS8qJyAtbm90IC1wYXRoICcqL3VldmVudCcpOyBkbworCQlpZiBbICEgLWYgJHtUU19EVU1QfS8ke2Z9IF07IHRoZW4KKwkJCVNVQj0kKGRpcm5hbWUgJGYpCisJCQlta2RpciAtcCAke1RTX0RVTVB9LyR7U1VCfQorCQkJY3AgJGYgJHtUU19EVU1QfS8kZiAyPiAvZGV2L251bGwKKwkJZmkKKwlkb25lCisKKwkjIHN5bWxpbmtzIChzbGF2ZSwgaG9sZGVycywgZXRjLikKKwlmb3IgZiBpbiAkKGZpbmQgJHtERVZ9IC10eXBlIGwgLW5vdCAtcGF0aCAnKi9zdWJzeXN0ZW0nIC1ub3QgLXBhdGggJyovYmRpJyk7IGRvCisJCWlmIFsgISAtZiAke1RTX0RVTVB9LyR7Zn0gXTsgdGhlbgorCQkJU1VCPSQoZGlybmFtZSAkZikKKwkJCW1rZGlyIC1wICR7VFNfRFVNUH0vJHtTVUJ9CisJCQljcCAtLW5vLWRlcmVmZXJlbmNlICRmICR7VFNfRFVNUH0vJGYKKwkJZmkKKwlkb25lCisKKwkjIGRldmljZS8gZmlsZXMKKwlpZiBbIC1kICR7REVWfS9kZXZpY2UvIF07IHRoZW4gCisJCWZvciBmIGluICQoZmluZCAke0RFVn0vZGV2aWNlLyAtbWF4ZGVwdGggMSAtdHlwZSBmIC1ub3QgLXBhdGggJyovdWV2ZW50Jyk7IGRvCisJCQlpZiBbICEgLWYgJHtUU19EVU1QfS8ke2Z9IF07IHRoZW4KKwkJCQlTVUI9JChkaXJuYW1lICRmKQorCQkJCWNwICRmICR7VFNfRFVNUH0vJGYgMj4gL2Rldi9udWxsCisJCQlmaQorCQlkb25lCisJZmkKKworZG9uZQorCisKK2Z1bmN0aW9uIG1rX291dHB1dCB7CisJbG9jYWwgY29scz0iTkFNRSwkezJ9IgorCWxvY2FsIHN1Ym5hbWU9IiQxIgorCisJZWNobyAiJGNvbHMiID4gJHtUU19EVU1QfS8ke3N1Ym5hbWV9LmNvbHMKKwkkVFNfQ01EX0xTQkxLIC1vICR7Y29sc30gPiAke1RTX0RVTVB9L2xzYmxrLSR7VFNfTkFNRX0tJHtzdWJuYW1lfQorfQorCisKK0xBTkc9IlBPU0lYIgorTEFOR1VBR0U9IlBPU0lYIgorTENfQUxMPSJQT1NJWCIKK0NIQVJTRVQ9IlVURi04IgorCitleHBvcnQgTEFORyBMQU5HVUFHRSBMQ19BTEwgQ0hBUlNFVAorCisjCisjIGxzYmxrIGluZm8KKyMKKyRUU19DTURfTFNCTEsgLVYgJj4gJHtUU19EVU1QfS92ZXJzaW9uCisKK21rX291dHB1dCBiYXNpYyBLTkFNRSxNQUo6TUlOLFJNLFNJWkUsVFlQRSxNT1VOVFBPSU5UCitta19vdXRwdXQgdmVuZG9yIE1PREVMLFZFTkRPUixSRVYKK21rX291dHB1dCBzdGF0ZSBSTyxSTSxIT1RQTFVHLFJBTkQsU1RBVEUsUk9UQSxUWVBFLFBLTkFNRSxTQ0hFRAorbWtfb3V0cHV0IHJ3IFJBLFdTQU1FCitta19vdXRwdXQgdG9wbyBTSVpFLEFMSUdOTUVOVCxNSU4tSU8sT1BULUlPLFBIWS1TRUMsTE9HLVNFQyxSUS1TSVpFCitta19vdXRwdXQgZGlzY2FyZCBESVNDLUFMTixESVNDLUdSQU4sRElTQy1NQVgsRElTQy1aRVJPCitta19vdXRwdXQgem9uZSBaT05FRAorCisKK3RhciAtLXh6IC1jdmYgJHtUU19UQVJCQUxMfSAkVFNfRFVNUAorcm0gLXJmICRUU19EVU1QCisKK2VjaG8gLWUgIlxuUGxlYXNlLCBzZW5kICR7VFNfVEFSQkFMTH0gdG8gdXRpbC1saW51eCB1cHN0cmVhbS4gVGhhbmtzIVxuIgorCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL2FybXY3LnRhci5neiBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL2FybXY3LnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2EyYzY2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvYXJtdjcudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3BwYy1xZW11LnRhci5neiBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3BwYy1xZW11LnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5hNDI4MjcxCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvcHBjLXFlbXUudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3BwYzY0LVBPV0VSNy02NGNwdS50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9wcGM2NC1QT1dFUjctNjRjcHUudGFyLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmVhOGI3OWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9wcGM2NC1QT1dFUjctNjRjcHUudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3BwYzY0LVBPV0VSNy50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9wcGM2NC1QT1dFUjcudGFyLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM4ZmNjMjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9wcGM2NC1QT1dFUjcudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAta3ZtLnRhci5neiBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAta3ZtLnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zNDBmN2VhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvczM5MC1rdm0udGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAtbHBhci1kcmF3ZXIudGFyLmd6IGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvczM5MC1scGFyLWRyYXdlci50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ExYmM5NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAtbHBhci1kcmF3ZXIudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAtbHBhci50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLWxwYXIudGFyLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU5YWVhNmEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2NwdS9kdW1wcy9zMzkwLWxwYXIudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAtenZtLnRhci5neiBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3MzOTAtenZtLnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMTM1OTRkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvczM5MC16dm0udGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3NwYXJjNjQudGFyLmd6IGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvc3BhcmM2NC50YXIuZ3oKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uN2VkZmJhOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3NwYXJjNjQudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3Zib3gtd2luLnRhci5neiBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3Zib3gtd2luLnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lODIwNGZlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMvdmJveC13aW4udGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3g4Nl82NC02NGNwdS50YXIuZ3ogYi90ZXN0cy90cy9sc2NwdS9kdW1wcy94ODZfNjQtNjRjcHUudGFyLmd6Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjRkNzUxNmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2NwdS9kdW1wcy94ODZfNjQtNjRjcHUudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3g4Nl82NC1kZWxsX2U0MzEwLnRhci5neiBiL3Rlc3RzL3RzL2xzY3B1L2R1bXBzL3g4Nl82NC1kZWxsX2U0MzEwLnRhci5negpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yOTg4Y2JjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNjcHUvZHVtcHMveDg2XzY0LWRlbGxfZTQzMTAudGFyLmd6CkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzY3B1L2xzY3B1IGIvdGVzdHMvdHMvbHNjcHUvbHNjcHUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzBmYmNlOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzY3B1L2xzY3B1CkBAIC0wLDAgKzEsNTcgQEAKKyMhL2Jpbi9iYXNoCisjCisjIENvcHlyaWdodCAoQykgMjAwOCBDYWkgUWlhbiA8cWNhaUByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworIyBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4gIElmIG5vdCwgc2VlIDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKKwordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MU0NQVSIKKworZm9yIGR1bXAgaW4gJChscyAkVFNfU0VMRi9kdW1wcy8qLnRhci5neiB8IHNvcnQpOyBkbworCW5hbWU9JChiYXNlbmFtZSAkZHVtcCAudGFyLmd6KQorCWR1bXBkaXI9IiRUU19PVVRESVIvZHVtcHMiCisKKwl0c19pbml0X3N1YnRlc3QgJG5hbWUKKwlta2RpciAtcCAkZHVtcGRpcgorCisJdGFyIC1DICRkdW1wZGlyIC16eGYgJGR1bXAKKworCSMgQXJjaGl0ZWN0dXJlIGluZm9ybWF0aW9uIGlzIG5vdCBhcHBsaWNhYmxlIHdpdGggLXMuCisJIiR7VFNfQ01EX0xTQ1BVfSIgLXMgIiR7ZHVtcGRpcn0vJHtuYW1lfSIgfCBcCisJCWdyZXAgLXYgIkFyY2hpdGVjdHVyZSIgPiIke1RTX09VVFBVVH0iIDI+JjEKKworCWVjaG8gPj4iJHtUU19PVVRQVVR9IgorCisJIiR7VFNfQ01EX0xTQ1BVfSIgLXAgLXMgIiR7ZHVtcGRpcn0vJHtuYW1lfSIgXAorCQkgPj4iJHtUU19PVVRQVVR9IiAyPiYxCisKKwllY2hvID4+IiR7VFNfT1VUUFVUfSIKKworCSIke1RTX0NNRF9MU0NQVX0iIC1wIC15IC1zICIke2R1bXBkaXJ9LyR7bmFtZX0iIFwKKwkJID4+IiR7VFNfT1VUUFVUfSIgMj4mMQorCisJIyBMRS9CRSBkZXBlbmRzIG9uIGJpbmFyeQorCXNlZCAtaSAtZSAnL0J5dGUgT3JkZXI6LiovZCcgJFRTX09VVFBVVAorCisJdHNfZmluYWxpemVfc3VidGVzdAorZG9uZQorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9sc2NwdS9tay1pbnB1dC5zaCBiL3Rlc3RzL3RzL2xzY3B1L21rLWlucHV0LnNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjY1ZTNkMjAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc2NwdS9tay1pbnB1dC5zaApAQCAtMCwwICsxLDQzIEBACisjIS9iaW4vYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDgtMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBzY3JpcHQgbWFrZXMgYSBjb3B5IG9mIHJlbGV2YW50IGZpbGVzIGZyb20gL3N5cyBhbmQgL3Byb2MuCisjIFRoZSBmaWxlcyBhcmUgdXNlZnVsIGZvciBsc2NwdSgxKSByZWdyZXNzaW9uIHRlc3RzLgorIworcHJvZ25hbWU9JChiYXNlbmFtZSAkMCkKKworaWYgWyAteiAiJDEiIF07IHRoZW4KKwllY2hvIC1lICJcbnVzYWdlOiAkcHJvZ25hbWUgPHRlc3RuYW1lPlxuIgorCWV4aXQgMQorZmkKKworVFNfTkFNRT0iJDEiCitUU19EVU1QPSIkVFNfTkFNRSIKK0NQPSJjcCAtciAtLXBhcmVudHMiCisKK21rZGlyIC1wICRUU19EVU1QL3twcm9jLHN5c30KKworJENQIC9wcm9jL2NwdWluZm8gJFRTX0RVTVAKKworbWtkaXIgLXAgJFRTX0RVTVAvcHJvYy9idXMvcGNpCiskQ1AgL3Byb2MvYnVzL3BjaS9kZXZpY2VzICRUU19EVU1QCisKK2lmIFsgLWQgIi9wcm9jL3hlbiIgXTsgdGhlbgorCW1rZGlyIC1wICRUU19EVU1QL3Byb2MveGVuCisJaWYgWyAtZiAiL3Byb2MveGVuL2NhcGFiaWxpdGllcyIgXTsgdGhlbgorCQkkQ1AgL3Byb2MveGVuL2NhcGFiaWxpdGllcyAkVFNfRFVNUAorCWZpCitmaQorCitpZiBbIC1lICIvcHJvYy9zeXNpbmZvIiBdOyB0aGVuCisJJENQIC9wcm9jL3N5c2luZm8gJFRTX0RVTVAKK2ZpCisKKyRDUCAvc3lzL2RldmljZXMvc3lzdGVtL2NwdS8qICRUU19EVU1QCiskQ1AgL3N5cy9kZXZpY2VzL3N5c3RlbS9ub2RlLyovY3B1bWFwICRUU19EVU1QCisKK3RhciB6Y3ZmICRUU19OQU1FLnRhci5neiAkVFNfRFVNUAorcm0gLXJmICRUU19EVU1QCisKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbHNtZW0vZHVtcHMvczM5MC16dm0tNmcudGFyLmJ6MiBiL3Rlc3RzL3RzL2xzbWVtL2R1bXBzL3MzOTAtenZtLTZnLnRhci5iejIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjRkYWI4ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzbWVtL2R1bXBzL3MzOTAtenZtLTZnLnRhci5iejIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbHNtZW0vZHVtcHMveDg2XzY0LTE2Zy50YXIuYnoyIGIvdGVzdHMvdHMvbHNtZW0vZHVtcHMveDg2XzY0LTE2Zy50YXIuYnoyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmViY2Y2ZTcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9sc21lbS9kdW1wcy94ODZfNjQtMTZnLnRhci5iejIKQmluYXJ5IGZpbGVzIGRpZmZlcgpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbHNtZW0vbHNtZW0gYi90ZXN0cy90cy9sc21lbS9sc21lbQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mMWE2NDNmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNtZW0vbHNtZW0KQEAgLTAsMCArMSw1OCBAQAorIyEvYmluL2Jhc2gKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMyBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyMgYWxvbmcgd2l0aCB0aGlzIHByb2dyYW0uICBJZiBub3QsIHNlZSA8aHR0cDovL3d3dy5nbnUub3JnL2xpY2Vuc2VzLz4uCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCisKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTFNNRU0iCisKK0xTQ09MVU1OUz0iUkFOR0UsU0laRSxTVEFURSxSRU1PVkFCTEUsQkxPQ0ssTk9ERSIKKworCitmdW5jdGlvbiBkb19sc21lbSB7CisJbG9jYWwgb3B0cz0iJCoiCisKKwllY2hvIC1lICJcbi0tLVxuIiA+PiR7VFNfT1VUUFVUfQorCWVjaG8gIlwkIGxzbWVtICRvcHRzIiA+PiR7VFNfT1VUUFVUfQorCSR7VFNfQ01EX0xTTUVNfSAkb3B0cyAtLXN5c3Jvb3QgIiR7ZHVtcGRpcn0vJHtuYW1lfSIgPj4ke1RTX09VVFBVVH0gMj4mMQorCQorfQorCitmb3IgZHVtcCBpbiAkKGxzICRUU19TRUxGL2R1bXBzLyoudGFyLmJ6MiB8IHNvcnQpOyBkbworCW5hbWU9JChiYXNlbmFtZSAkZHVtcCAudGFyLmJ6MikKKwlkdW1wZGlyPSIkVFNfT1VURElSL2R1bXBzIgorCisJdHNfaW5pdF9zdWJ0ZXN0ICRuYW1lCisJbWtkaXIgLXAgJGR1bXBkaXIKKworCXRhciAtQyAkZHVtcGRpciAtanhmICRkdW1wCisKKwlkb19sc21lbSAtLXNwbGl0PVNUQVRFLFJFTU9WQUJMRQorCWRvX2xzbWVtIC0tb3V0cHV0IFJBTkdFLFNJWkUgLS1zcGxpdCBub25lCisJZG9fbHNtZW0gLS1vdXRwdXQgUkFOR0UsU0laRSxTVEFURSAtLXNwbGl0IFNUQVRFCisJZG9fbHNtZW0gLS1hbGwgLS1vdXRwdXQgJExTQ09MVU1OUworCWRvX2xzbWVtIC0tcmF3IC0tb3V0cHV0ICRMU0NPTFVNTlMgLS1zcGxpdCAkTFNDT0xVTU5TCisJZG9fbHNtZW0gLS1qc29uIC0tb3V0cHV0ICRMU0NPTFVNTlMgLS1zcGxpdCAkTFNDT0xVTU5TCisJZG9fbHNtZW0gLW8gK1pPTkVTCisJZG9fbHNtZW0KKworCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2RvbmUKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzbWVtL21rLWlucHV0LnNoIGIvdGVzdHMvdHMvbHNtZW0vbWstaW5wdXQuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmJkZmZmMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL2xzbWVtL21rLWlucHV0LnNoCkBAIC0wLDAgKzEsMjIgQEAKKyMhL2Jpbi9iYXNoCisjCisjIFRoaXMgc2NyaXB0IG1ha2VzIGEgY29weSBvZiByZWxldmFudCBmaWxlcyBmcm9tIC9zeXMuCisjIFRoZSBmaWxlcyBhcmUgdXNlZnVsIGZvciBsc21lbSgxKSByZWdyZXNzaW9uIHRlc3RzLgorIworcHJvZ25hbWU9JChiYXNlbmFtZSAkMCkKKworaWYgWyAteiAiJDEiIF07IHRoZW4KKwllY2hvIC1lICJcbnVzYWdlOiAkcHJvZ25hbWUgPHRlc3RuYW1lPlxuIgorCWV4aXQgMQorZmkKKworVFNfTkFNRT0iJDEiCitUU19EVU1QPSIkVFNfTkFNRSIKK0NQPSJjcCAtciAtLXBhcmVudCIKKworbWtkaXIgLXAgJFRTX0RVTVAvc3lzL2RldmljZXMvc3lzdGVtCisKKyRDUCAvc3lzL2RldmljZXMvc3lzdGVtL21lbW9yeSAkVFNfRFVNUAorCit0YXIgamN2ZiAkVFNfTkFNRS50YXIuYnoyICRUU19EVU1QCitybSAtcmYgJFRTX0RVTVAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzbnMvbmV0bnNpZCBiL3Rlc3RzL3RzL2xzbnMvbmV0bnNpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MmMxNGRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNucy9uZXRuc2lkCkBAIC0wLDAgKzEsNzIgQEAKKyMhL2Jpbi9iYXNoCisjCisjIENvcHlyaWdodCAoQykgMjAxNyBNYXNhdGFrZSBZQU1BVE8gPHlhbWF0b0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJORVROU0lEIGNvbXBhcmUgdG8gaXAtbGluayIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MU05TIgordHNfY2hlY2tfcHJvZyAiaXAiCit0c19jaGVja19wcm9nICJkZCIKK3RzX2NoZWNrX3Byb2cgIm1rZmlmbyIKK3RzX2NoZWNrX3Byb2cgInNlZCIKK3RzX3NraXBfbm9ucm9vdAorCitncmVwIC1xICcjZGVmaW5lIEhBVkVfTElOVVhfTkVUX05BTUVTUEFDRV9IJyAke3RvcF9idWlsZGRpcn0vY29uZmlnLmggfHwgdHNfc2tpcCAibm8gbmV0bnMgc3VwcG9ydCIKK3RzX2NkICIkVFNfT1VURElSIgorCit2ZXRoYT1sc25zLXZldGhhCit2ZXRoYj1sc25zLXZldGhiCitOUz1MU05TLVRFU1QtTkVUTlNJRC1OUworRklGTz0kVFNfT1VURElSL0ZJRk8tTkVUTlNJRAorTlVMTD0vZGV2L251bGwKKworZnVuY3Rpb24gY2xlYW51cCB7CisJaXAgbGluayBkZWxldGUgJHZldGhhIDI+ICROVUxMIHx8IDoKKwlpcCBuZXRucyBkZWxldGUgJE5TIDI+ICROVUxMIHx8IDoKKwlybSAtZiAkRklGTworfQorCitjbGVhbnVwCitta2ZpZm8gJEZJRk8KKworaWYgaXAgbmV0bnMgYWRkICROUyAmJgorCWlwIGxpbmsgYWRkIG5hbWUgJHZldGhhIHR5cGUgdmV0aCBwZWVyIG5hbWUgJHZldGhiICYmCisJaXAgbGluayBzZXQgJHZldGhiIG5ldG5zICROUzsgdGhlbgorICAgIGlwIG5ldG5zIGV4ZWMgJE5TIGRkIGlmPSRGSUZPIGJzPTEgY291bnQ9MiBvZj0kTlVMTCAyPiAkTlVMTCAmCisgICAgUElEPSQhCitlbHNlCisgICAgY2xlYW51cAorICAgIHRzX3NraXAgImZhaWxlZCB0byBpbml0aWFsaXplIgorZmkKK3sKKyAgICBkZCBpZj0vZGV2L3plcm8gYnM9MSBjb3VudD0xIDI+ICROVUxMCisgICAgeworCWlwIC1vIGxpbmsgc2hvdyBkZXYgJHZldGhhID4gJE5VTEwKKwlJUF9JRD0kKGlwIC1vIGxpbmsgc2hvdyBkZXYgJHZldGhhIHwgc2VkIC1uZSAncy8uKiAqbGluay1uZXRuc2lkICpcKFswLTldKlwpL1wxL3AnKQorCUxTTlNfSUQ9JCgkVFNfQ01EX0xTTlMgLW4gLW8gTkVUTlNJRCAtLXR5cGUgbmV0IC0tdGFzayAkUElEIHwgeyByZWFkIFZBTDsgZWNobyAkVkFMOyB9ICkKKyAgICB9CisgICAgZGQgaWY9L2Rldi96ZXJvIGJzPTEgY291bnQ9MSAyPiAkTlVMTAorfSA+ICRGSUZPCisKK3Rlc3QgIiRJUF9JRCIgPSAiJExTTlNfSUQiCitlY2hvICQ/ID4+ICRUU19PVVRQVVQKKworY2xlYW51cAordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL2xzbnMvbnNmcyBiL3Rlc3RzL3RzL2xzbnMvbnNmcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43MGNhYjJiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbHNucy9uc2ZzCkBAIC0wLDAgKzEsOTQgQEAKKyMhL2Jpbi9iYXNoCisjCisjIENvcHlyaWdodCAoQykgMjAxNyBNYXNhdGFrZSBZQU1BVE8gPHlhbWF0b0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJOU0ZTIGZvciBpcC1uZXRucy1hZGQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19za2lwX25vbnJvb3QKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0xTTlMiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfcHJvZyAiaXAiCit0c19jaGVja19wcm9nICJkZCIKK3RzX2NoZWNrX3Byb2cgInRvdWNoIgordHNfY2hlY2tfcHJvZyAibWtmaWZvIgordHNfY2hlY2tfcHJvZyAic2VkIgorCitncmVwIC1xICcjZGVmaW5lIEhBVkVfTElOVVhfTkVUX05BTUVTUEFDRV9IJyAke3RvcF9idWlsZGRpcn0vY29uZmlnLmggfHwgdHNfc2tpcCAibm8gbmV0bnMgc3VwcG9ydCIKKwordHNfY2QgIiRUU19PVVRESVIiCisKK05BTUUxPUFCQworTkFNRTI9WFlaCitQQVRIMT0vcnVuL25ldG5zLyROQU1FMQorUEFUSDI9JFRTX09VVERJUi8kTkFNRTIKK0ZJRk89JFRTX09VVERJUi9GSUZPLU5TRlMKK05VTEw9L2Rldi9udWxsCisKK2Z1bmN0aW9uIGNsZWFudXAgeworCXJtIC1mICRGSUZPCisJJFRTX0NNRF9VTU9VTlQgJFBBVEgyIDI+IC9kZXYvbnVsbCB8fCA6CisJcm0gLWYgJFBBVEgyCisJaXAgbmV0bnMgZGVsZXRlICROQU1FMSAyPiAvZGV2L251bGwgfHwgOgorfQorCitjbGVhbnVwCitta2ZpZm8gJEZJRk8KKworaWYgaXAgbmV0bnMgYWRkICROQU1FMSAmJgorCXRvdWNoICR7UEFUSDJ9ICYmCisJJFRTX0NNRF9NT1VOVCAtbyBiaW5kICR7UEFUSDF9ICR7UEFUSDJ9OyB0aGVuCisgICAgaXAgbmV0bnMgZXhlYyAkTkFNRTEgZGQgaWY9JEZJRk8gYnM9MSBjb3VudD0yIG9mPSROVUxMIDI+ICROVUxMICYKKyAgICBQSUQ9JCEKK2Vsc2UKKyAgICBjbGVhbnVwCisgICAgdHNfc2tpcCAiZmFpbGVkIHRvIGluaXRpYWxpemUiCitmaQoreworICAgIGRkIGlmPS9kZXYvemVybyBicz0xIGNvdW50PTEgMj4gJE5VTEwKKyAgICBMU05TX0ZVTEw9JCgkVFNfQ01EX0xTTlMgLS10eXBlIG5ldCkKKyAgICBOU0ZTX05BTUVTX01MSU5FUz0kKCRUU19DTURfTFNOUyAtbiAtbyBOU0ZTIC0tdHlwZSBuZXQgLS10YXNrICRQSUQgfCB7IHdoaWxlIHJlYWQgVkFMOyBkbyBlY2hvICRWQUw7IGRvbmU7IH0gKQorICAgIE5TRlNfTkFNRVNfMUxJTkU9JCgkVFNfQ01EX0xTTlMgLW4gLW8gTlNGUyAtLW5vd3JhcCAtLXR5cGUgbmV0IC0tdGFzayAkUElEIHwgeyB3aGlsZSByZWFkIFZBTDsgZG8gZWNobyAkVkFMOyBkb25lOyB9ICkKKyAgICBkZCBpZj0vZGV2L3plcm8gYnM9MSBjb3VudD0xIDI+ICROVUxMCit9ID4gJEZJRk8KKwordGVzdCAiJE5TRlNfTkFNRVNfTUxJTkVTIiA9ICIkUEFUSDEKKyRQQVRIMiIgJiYgdGVzdCAiJE5TRlNfTkFNRVNfMUxJTkUiID0gIiRQQVRIMSwkUEFUSDIiCisKK1JFU1VMVD0kPworZWNobyAkUkVTVUxUID4+ICRUU19PVVRQVVQKKworaWYgWyAkUkVTVUxUIC1uZSAwIF07IHRoZW4KKwllY2hvCisJZWNobyAiKipGdWxsLXJlcG9ydCoqIgorCWVjaG8gIiRMU05TX0ZVTEwiCisJZWNobyAiKipQYXRocyoqIgorCWVjaG8gIlBBVEgxOiAkUEFUSDEiCisJZWNobyAiUEFUSDI6ICRQQVRIMiIKKwllY2hvICIqKk11bHRpLWxpbmU6KioiCisJZWNobyAiJE5TRlNfTkFNRVNfTUxJTkVTIgorCWVjaG8gIioqT25lLWxpbmU6KioiCisJZWNobyAiJE5TRlNfTkFNRVNfMUxJTkUiCisJZWNobyAiKioqKiIKK2ZpCisKK2NsZWFudXAKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tZDUvZGF0YSBiL3Rlc3RzL3RzL21kNS9kYXRhCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjFlZWQwNWEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tZDUvZGF0YQpAQCAtMCwwICsxLDcgQEAKKworYWJjCitxYXp4c3dlZGMKKzFxYXp4c3cyM2VkYworYSBhIGEgYSBhIGEgYSBhIGEgYQorS1VXSU9KRE5XUUtMRkRIUVVXRURBWUNOQVVJV1NZRFVRVUlDQlNLTEJDTFVXSUdERgorRUFTQzY1NDU2NDI0MzIxMzJTREVDU0VTQ0VBQ1NKS0RXSU9VRE9JV0lET1FQV1VEUVdJT1NOWENTQVNDQQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWQ1L21kNSBiL3Rlc3RzL3RzL21kNS9tZDUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNTdjNGQ1MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21kNS9tZDUKQEAgLTAsMCArMSwzMSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTUQ1IgorCitjYXQgJFRTX1NFTEYvZGF0YSB8IHdoaWxlIHJlYWQgZGF0YQorZG8KKwllY2hvIC1uICRkYXRhIHwgJFRTX0hFTFBFUl9NRDUgPj4gJFRTX09VVFBVVAorZG9uZQorCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9taW5peC9icm9rZW4tcm9vdCBiL3Rlc3RzL3RzL21pbml4L2Jyb2tlbi1yb290Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjM3ZWU4NGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9taW5peC9icm9rZW4tcm9vdApCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9taW5peC9kZWJpYW4uYnVnLjc3Mzg5MiBiL3Rlc3RzL3RzL21pbml4L2RlYmlhbi5idWcuNzczODkyCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRiOTc4NDgKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9taW5peC9kZWJpYW4uYnVnLjc3Mzg5MgpCaW5hcnkgZmlsZXMgZGlmZmVyCmRpZmYgLS1naXQgYS90ZXN0cy90cy9taW5peC9mc2NrIGIvdGVzdHMvdHMvbWluaXgvZnNjawpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yMWZiZGU4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWluaXgvZnNjawpAQCAtMCwwICsxLDU2IEBACisjIS9iaW4vYmFzaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMDkgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJta2ZzIGZzY2siCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtNSU5JWCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GU0NLTUlOSVgiCisKK21rZnNfYW5kX2ZzY2tfbWluaXgoKSB7CisJbG9jYWwgcmV0CisJdHNfbG9nICIjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIgorCXRzX2xvZyAiJCBta2ZzLm1pbml4ICQxIGltYWdlIgorCSRUU19DTURfTUtNSU5JWCAkMSAkaW1nID4+ICRUU19PVVRQVVQgMj4mMQorCXJldD0kPworCWVjaG8gInJldHVybiBta2ZzOiAkcmV0IiA+PiAkVFNfT1VUUFVUCisJdGVzdCAkcmV0ID0gMCB8fCByZXR1cm4gJHJldAorCisJdHNfbG9nICIkIGZzY2subWluaXggLWxhdnNmIGltYWdlIgorCSRUU19DTURfRlNDS01JTklYIC1sYXZzZiAkaW1nID4+ICRUU19PVVRQVVQgMj4mMQorCXJldD0kPworCWVjaG8gInJldHVybiBmc2NrOiAkcmV0IiA+PiAkVFNfT1VUUFVUCisJcmV0dXJuICRyZXQKK30KKworaW1nPSQodHNfaW1hZ2VfaW5pdCkKKworIyBUT0RPIGxvb3Bpbmcgb3ZlciBhcmJpdHJhcnkgYmFkYmxvY2sgZmlsZXMgKC1sIGJhZCkgZ2l2ZXMgYSBsb3Qgc2VnZmF1bHRzCitmb3IgdmVyIGluICIiICItMSIgIi0yIiAiLTMiOyBkbworZm9yIG4gaW4gIiIgIi1uIDE0IiAiLW4gMzAiICItbiA2MCI7IGRvCisJbWtmc19hbmRfZnNja19taW5peCAiJHZlciAkbiIKK2RvbmUKK2RvbmUKKworcm0gLWYgJGltZworCitzZWQgLWkgInNAJGltZ0BpbWFnZUBnIiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pbml4L2ZzY2staW1hZ2VzIGIvdGVzdHMvdHMvbWluaXgvZnNjay1pbWFnZXMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGNmYTc2MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pbml4L2ZzY2staW1hZ2VzCkBAIC0wLDAgKzEsOTAgQEAKKyMhL2Jpbi9iYXNoCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJmc2NrIGltYWdlcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKKyMgaW5vZGUgY29udGFpbnMgVUlEIGFuZCBHSUQsIHVzZSBhbHdheXMgVUlEPTAgdG8gZ2V0IHRoZSBzYW1lIGNoZWNrc3VtCisjIFRPRE8gYW55IG1rZnMgc2hvdWxkIHVzZSBVSUQ9MCBwZXIgZGVmYXVsdCAoY3VzdG9tIHVpZCBvcHRpb25hbGx5KSBsaWtlIG1rMmZzCit0c19za2lwX25vbnJvb3QKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZTQ0tNSU5JWCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9NS0ZTX01JTklYIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0hFWERVTVAiCisKKyMgb24gYmlnIGVuZGlhbiBzeXN0ZW1zIHNvbWUgb2YgdGhlIHN1YnRlc3RzIGhhdmUgZGlmZmVyZW50IGV4cGVjdGVkIG91dHB1dAorQllURV9PUkRFUj0kKCRUU19IRUxQRVJfU1lTSU5GTyBieXRlLW9yZGVyKQorQkVfRVhUPSQodGVzdCAiJEJZVEVfT1JERVIiID0gIkJFIiAmJiBlY2hvICIuQkUiKQorCitleHBvcnQgTUtGU19NSU5JWF9URVNUX1NFQ09ORF9TSU5DRV9FUE9DSD0nMTQzODQ2MDIxMicKKworY2hlY2tfbWluaXhfZnNfdHlwZSgpIHsKKwl0c19pbml0X3N1YnRlc3QgJDEKKwlUU19FWFBFQ1RFRCs9JEJFX0VYVAorCWltZz0ke1RTX09VVFBVVH0uaW1nCisJZGQgaWY9L2Rldi96ZXJvIGJzPTEwMjQgY291bnQ9MTYgb2Y9JGltZyA+L2Rldi9udWxsIDI+JjEKKwkkVFNfSEVMUEVSX01LRlNfTUlOSVggJDIgJGltZyA+PiAkVFNfT1VUUFVUIDI+JjEKKwllY2hvICJta2ZzIHJldHVybiB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKKwkkVFNfQ01EX0ZTQ0tNSU5JWCAkaW1nID4+ICRUU19PVVRQVVQgMj4mMQorCWVjaG8gImZzY2sgcmV0dXJuIHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorCSRUU19DTURfSEVYRFVNUCAtQyAkaW1nID4+ICRUU19PVVRQVVQgMj4mMQorCXJtIC1mICRpbWcKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0Cit9CisKK2NoZWNrX21pbml4X2ZzX3R5cGUgJ3YxYzE0JyAnLTEgLW4gMTQnCitjaGVja19taW5peF9mc190eXBlICd2MWMzMCcgJy0xIC1uIDMwJworY2hlY2tfbWluaXhfZnNfdHlwZSAndjJjMTQnICctMiAtbiAxNCcKK2NoZWNrX21pbml4X2ZzX3R5cGUgJ3YyYzMwJyAnLTIgLW4gMzAnCitjaGVja19taW5peF9mc190eXBlICd2M2M2MCcgJy0zIC1uIDYwJworCitiYWQ9IiRUU19PVVRESVIvJHtUU19URVNUTkFNRX0uYmFkbGlzdCIKKyMgVE9ETyBzZWVtcyB0aGF0IG1rZnMgcHJvZHVjZXMgbm9uLXNlbnNlIGlmIGJhZGJsb2NrcyBhcmUgZ3JlYXRlciB0aGFuIGRldmljZS4KK2VjaG8gLWUgIjhcbjkiID4gJGJhZAorCisjIE5PVEUsIC1jIHdpdGggLWwgaWdub3JlcyAtbC4KK2NoZWNrX21pbml4X2ZzX3R5cGUgJ2NoZWNrLWJsb2NrcycgIi1sICRiYWQgLWMiCitjaGVja19taW5peF9mc190eXBlICdiYWRibG9ja3MnICItbCAkYmFkIgorCitybSAtZiAkYmFkCisKKyMgbm8gbW9yZSBiaWcgZW5kaWFuIHRlc3RzIGJlbG93CitpZiB0ZXN0ICIkQllURV9PUkRFUiIgPSAiQkUiOyB0aGVuCisJdHNfZmluYWxpemUKK2ZpCisKKyMgTk9URSB0aGlzIHNlZW1zIG9kZDogYSAybmQgZnNjayBydW4gd291bGQgYWdhaW4gbW9kaWZ5IHRoZSBGUwordHNfaW5pdF9zdWJ0ZXN0ICJhdXRvLWZpeCIKK2ltZz0ke1RTX09VVFBVVH0uaW1nCitjcCAiJFRTX1NFTEYvYnJva2VuLXJvb3QiICRpbWcKKyRUU19DTURfRlNDS01JTklYIC1zYXYgJGltZyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gImZzY2sgcmVwb3J0cyBjaGFuZ2VkIGFuZCB1bmNvcnJlY3RlZDogJD8iID4+ICRUU19PVVRQVVQKKyRUU19DTURfSEVYRFVNUCAtQyAkaW1nID4+ICRUU19PVVRQVVQgMj4mMQorc2VkIC1pICdzL0ZpbGVzeXN0ZW0gb24gLiogaXMgZGlydHkvRmlsZXN5c3RlbSBhdXRvLWZpeCBpcyBkaXJ0eS8nICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJidWcuNzczODkyIgorIiRUU19DTURfRlNDS01JTklYIiAtZiAiJFRTX1NFTEYvZGViaWFuLmJ1Zy43NzM4OTIiID4+JFRTX09VVFBVVCAyPiYxID4vZGV2L251bGwKK2VjaG8gImZzY2sgcmVwb3J0cyB1bmNvcnJlY3RlZDogJD8iID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJicm9rZW4tcm9vdCIKKyIkVFNfQ01EX0ZTQ0tNSU5JWCIgIiRUU19TRUxGL2Jyb2tlbi1yb290IiA+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiZnNjayByZXBvcnRzIHVuY29ycmVjdGVkOiAkPyIgPj4gJFRTX09VVFBVVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWluaXgvbWtmcyBiL3Rlc3RzL3RzL21pbml4L21rZnMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmMzYTAwMgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pbml4L21rZnMKQEAgLTAsMCArMSw1NyBAQAorIyEvYmluL2Jhc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWtmcyBtb3VudCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS01JTklYIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKK3RzX3NraXBfbm9ucm9vdAorCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9MTAgbnVtX3BhcnRzPTEKK2Rldj0ke1RTX0RFVklDRX0xCisKKyMgaG90Zml4LCB3YWl0IGZvciBwYXJ0aXRpb24gdG8gYXBwZWFyIChzbG93IG9uIERlYmlhbiA3L2xpbnV4LTMuMikKK3Rlc3QgLWIgJGRldiB8fCBzbGVlcCAxCisKK21rZnNfYW5kX21vdW50X21pbml4KCkgeworCXRzX2luaXRfc3VidGVzdCAkMQorCXRzX2xvZyAiY3JlYXRlIG1pbml4IGZzICQyIgorCSRUU19DTURfTUtNSU5JWCAkMiAkZGV2ID4+ICRUU19PVVRQVVQgMj4mMQorCWVjaG8gIm1rZnMgcmV0dXJuIHZhbHVlOiAkPyIgPj4gJFRTX09VVFBVVAorCXVkZXZhZG0gc2V0dGxlCisJWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwl0c19tb3VudCAibWluaXgiICRkZXYgJFRTX01PVU5UUE9JTlQKKwl0c19pc19tb3VudGVkICRkZXYgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkZGV2IGluIC9wcm9jL21vdW50cyIKKwl0c19sb2cgInVtb3VudCB0aGUgaW1hZ2UiCisJdWRldmFkbSBzZXR0bGUKKwkkVFNfQ01EX1VNT1VOVCAkZGV2CisJdHNfZmluYWxpemVfc3VidGVzdAorfQorCitta2ZzX2FuZF9tb3VudF9taW5peCAndjFjMTQnICctMSAtbiAxNCcKK21rZnNfYW5kX21vdW50X21pbml4ICd2MWMzMCcgJy0xIC1uIDMwJworbWtmc19hbmRfbW91bnRfbWluaXggJ3YyYzE0JyAnLTIgLW4gMTQnCitta2ZzX2FuZF9tb3VudF9taW5peCAndjJjMzAnICctMiAtbiAzMCcKK21rZnNfYW5kX21vdW50X21pbml4ICd2Mmk2NTUzNScgJy0yIC1pIDY1NTM1JworbWtmc19hbmRfbW91bnRfbWluaXggJ3YzYzYwJyAnLTMgLW4gNjAnCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvZmFsbG9jYXRlIGIvdGVzdHMvdHMvbWlzYy9mYWxsb2NhdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjM3ZDAyNQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pc2MvZmFsbG9jYXRlCkBAIC0wLDAgKzEsMzkgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZmFsbG9jYXRlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZBTExPQ0FURSIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GSU5ETU5UIgorCitJTUFHRT0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0uZmlsZQorcm0gLWYgJElNQUdFCisKK2lmICRUU19DTURfRkFMTE9DQVRFIC1vIDEyOCAtbCAyNTYgJElNQUdFID4gJFRTX09VVFBVVCAyPiYxOyB0aGVuCisJc3RhdCAtYyAiJXMiICRJTUFHRSA+PiAkVFNfT1VUUFVUIDI+JjEKK2Vsc2UKKwkjIGZzIHR5cGUgb2YgJFRTX09VVERJUiwgY291bGQgYmUgdXNlZCB0byBza2lwIHRoaXMgdGVzdCBlYXJseQorCWZzX3R5cGU9JCgke1RTX0NNRF9GSU5ETU5UfSAtbiAtbyBGU1RZUEUgLVQgJHtUU19PVVRESVJ9KQorCisJZ3JlcCAtcWkgImZhbGxvY2F0ZTogZmFsbG9jYXRlIGZhaWxlZDouKm5vdCBzdXBwb3J0ZWQiICRUU19PVVRQVVQgXAorCQkmJiB0c19za2lwICInJHtmc190eXBlfScgbm90IHN1cHBvcnRlZCIKK2ZpCisKK3JtIC1mICRJTUFHRQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWlzYy9mbG9jayBiL3Rlc3RzL3RzL21pc2MvZmxvY2sKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmE0M2ZlYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pc2MvZmxvY2sKQEAgLTAsMCArMSwxMDYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZmxvY2siCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkxPQ0siCit0c19jaGVja19wcm9nICJwZ3JlcCIKK3RzX2NoZWNrX3Byb2cgInRpbWVvdXQiCisKKworZnVuY3Rpb24gZG9fbG9jayB7CisJbG9jYWwgb3B0cz0iJDEiCisJbG9jYWwgZXhwZWN0ZWRfcmM9IiQyIgorCWxvY2FsIG1lc2c9IiQzIgorCisJJFRTX0NNRF9GTE9DSyAkMSAkVFNfT1VURElSL2xvY2tmaWxlIFwKKwkJZWNobyAiJG1lc2ciIFwKKwkJPiAkVFNfT1VUUFVUIDI+JjEKKworCWxvY2FsIHJjPSIkPyIKKworCWlmIFsgICIkcmMiID09ICIkZXhwZWN0ZWRfcmMiIF07IHRoZW4KKwkJdHNfbG9nICJTdWNjZXNzIgorCWVsc2UKKwkJdHNfbG9nICJGYWlsZWQgW3JjPSRyY10iCisJZmkKK30KKworIyBnZW5lcmFsIGxvY2sKK0dFTl9PVVRQVVQ9IiRUU19PVVRQVVQiCitTVEFSVD0kKGRhdGUgJyslcycpCisjIHJ1bm5pbmcgZmxvY2sgaW4gYmFja2dyb3VuZCBpcyBub3QgdGhlIGJlc3QgdXNhZ2UgZXhhbXBsZQorJFRTX0NNRF9GTE9DSyAtLXNoYXJlZCAkVFNfT1VURElSL2xvY2tmaWxlIFwKKwliYXNoIC1jICdlY2hvICJMb2NraW5nIjsgc2xlZXAgMzsgZWNobyAiVW5sb2NraW5nIicgXAorCT4gJEdFTl9PVVRQVVQgMj4mMSAmCitwaWQ9JCEKKworIyBjaGVjayBmb3IgcnVubmluZyBiYWNrZ3JvdW5kIHByb2Nlc3MKK2lmIFsgIiRwaWQiIC1sZSAiMCIgXSB8fCAhIGtpbGwgLXMgMCAiJHBpZCIgJj4vZGV2L251bGw7IHRoZW4KKwl0c19kaWUgInVuYWJsZSB0byBydW4gZmxvY2siCitmaQorIyB0aGUgbG9jayBzaG91bGQgYmUgZXN0YWJsaXNoZWQgd2hlbiBmbG9jayBoYXMgYSBjaGlsZAordGltZW91dCAxcyBiYXNoIC1jICJ3aGlsZSAhIHBncmVwIC1QICRwaWQgPi9kZXYvbnVsbDsgZG8gc2xlZXAgMC4xIDtkb25lIiBcCisJfHwgdHNfZGllICJ0aW1lb3V0IHdhaXRpbmcgZm9yIGZsb2NrIGNoaWxkIgorCit0c19pbml0X3N1YnRlc3QgIm5vbi1ibG9jayIKK2RvX2xvY2sgIi0tbm9uYmxvY2sgLS1jb25mbGljdC1leGl0LWNvZGUgMTIzIiAxMjMgIllvdSB3aWxsIG5ldmVyIHNlZSB0aGlzISIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm5vLWZvcmsiCitkb19sb2NrICItLW5vLWZvcmsgLS1ub25ibG9jayAtLWNvbmZsaWN0LWV4aXQtY29kZSAxMjMiIDEyMyAiWW91IHdpbGwgbmV2ZXIgc2VlIHRoaXMhIgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAic2hhcmVkIgorZG9fbG9jayAiLS1zaGFyZWQiIDAgIkhhdmUgc2hhcmVkIGxvY2siCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKworIyB0aGlzIGlzIHRoZSBzYW1lIGFzIG5vbi1ibG9jayB0ZXN0IChleGNsdXNpdmUgbG9jayBpcyB0aGUgZGVmYXVsdCksIGJ1dCBoZXJlCisjIHdlIGV4cGxpY2l0bHkgc3BlY2lmeSAtLWV4Y2x1c2l2ZSBvbiBjb21tYW5kIGxpbmUKK3RzX2luaXRfc3VidGVzdCAiZXhjbHVzaXZlIgorZG9fbG9jayAiLS1ub25ibG9jayAtLWV4Y2x1c2l2ZSAtLWNvbmZsaWN0LWV4aXQtY29kZSAxMjMiIDEyMyAiWW91IHdpbGwgbmV2ZXIgc2VlIHRoaXMhIgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAidGltZW91dCIKK2RvX2xvY2sgIi0tdGltZW91dCA1IC0tY29uZmxpY3QtZXhpdC1jb2RlIDUiIDAgIkFmdGVyIHRpbWVvdXQuIgorRU5EPSQoZGF0ZSAnKyVzJykKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCisjIGV4cGVjdGVkIGlzIDMgc2Vjb25kcyAoc2VlICJzbGVlcCAzIiBmb3IgdGhlIGdlbmVyYWwgbG9jayksIGJ1dCB3ZSBzaG91bGQgbm90CisjIHJlbHkgb24gZXhhY3QgbnVtYmVyIGR1ZSB0byBzY2hlZHVsZXIsIG1hY2hpbmUgbG9hZCwgZXRjLiBMZXQncyBjaGVjayBmb3IKKyMgaW5tdGVydmFsIDwzLDU+LgorIyAKK3RzX2luaXRfc3VidGVzdCAidGltZS1jaGVjayIKK1RJTUVESUZGPSQoKCAkRU5EIC0gJFNUQVJUICkpCitpZiBbICRUSU1FRElGRiAtbHQgMyBdOyB0aGVuCisJdHNfbG9nICJnZW5lcmFsIGxvY2sgZmFpbGVkIFskVElNRURJRkYgc2VjXSIKK2VsaWYgWyAkVElNRURJRkYgLWd0IDUgXTsgdGhlbgorCXRzX2xvZyAid2FpdCB0b28gbG9uZyBbJFRJTUVESUZGIHNlY10iCitlbHNlCisJdHNfbG9nICJzdWNjZXNzIgorZmkKK3RzX2ZpbmFsaXplX3N1YnRlc3QgImRpZmYgJHtUSU1FRElGRn0gc2VjIgorCisKK2VjaG8gIlVubG9ja2VkIiA+PiAkR0VOX09VVFBVVCAKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9taXNjL2lvbmljZSBiL3Rlc3RzL3RzL21pc2MvaW9uaWNlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjMyYjIyNTkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9taXNjL2lvbmljZQpAQCAtMCwwICsxLDMwIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImlvbmljZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9JT05JQ0UiCisKKyRUU19DTURfSU9OSUNFIC1wICQkIC1uIDAgLWMgMCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfSU9OSUNFIC1wICQkIC1uIDMgLWMgNyA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfSU9OSUNFIC1wICQkIC1uIDQgLWMgNyA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfSU9OSUNFIC1wICQkIC1uIDEgLWMgOCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfSU9OSUNFIC1uIDMgbHMgL2V0Yy9wYXNzd2QgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0lPTklDRSAtcCAkJCA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvbGluZSBiL3Rlc3RzL3RzL21pc2MvbGluZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4xODZhNzg5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9saW5lCkBAIC0wLDAgKzEsNTggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibGluZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MSU5FIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0hFWERVTVAiCisKK3RzX2xvZyAnIyB1c3VhbGx5IGJlaGF2ZSBsaWtlICJoZWFkIC1uIDEiJworcHJpbnRmICJhXG5iXG4iIHwKKwkkVFNfQ01EX0xJTkUgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJyZXQ6ICQ/IiA+PiAkVFNfT1VUUFVUCisKK3RzX2xvZyAnIyBuZXZlciBjb25zdW1lIG1vcmUgdGhhbiBvbmUgbGluZScKK3ByaW50ZiAiMVxuMlxuIiB8CisJKCRUU19DTURfTElORSAmJiAkVFNfQ01EX0xJTkUpID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAicmV0OiAkPyIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgJyMgYWRkIGEgbmV3bGluZScKK3ByaW50ZiAiYWJjIiB8CisJJFRTX0NNRF9MSU5FID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAicmV0OiAkPyIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgJyMgcHJpbnQgb25lIG5ld2xpbmUgb24gZW1wdHkgaW5wdXQnCitwcmludGYgIiIgfAorCSRUU19DTURfTElORSA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldDogJD8iID4+ICRUU19PVVRQVVQKKwordHNfbG9nICcjIGFkZCBhIG5ld2xpbmUsIHJldHVybiAxIHdoZW4gRU9GJworKHByaW50ZiAieHl6IiAmJiBjYXQgPC9kZXYvbnVsbCkgfAorCSRUU19DTURfTElORSA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldDogJD8iID4+ICRUU19PVVRQVVQKKwordHNfbG9nICcjIHByaW50IG9uZSBuZXdsaW5lIG9uIGVtcHR5IGlucHV0LCByZXR1cm4gMSB3aGVuIEVPRicKKyRUU19DTURfTElORSA8L2Rldi9udWxsID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAicmV0OiAkPyIgPj4gJFRTX09VVFBVVAorCit0c19sb2cgJyMgbGFyZ2UgbGluZSBvZiB6ZXJvIGJ5dGVzJworZGQgaWY9L2Rldi96ZXJvICBicz0xayBjb3VudD0xayAyPi9kZXYvbnVsbCB8CisJJFRTX0NNRF9MSU5FIGxpbmUgfCAkVFNfQ01EX0hFWERVTVAgLUMgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJyZXQ6ICQ/IiA+PiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9taXNjL21ic2VuY29kZSBiL3Rlc3RzL3RzL21pc2MvbWJzZW5jb2RlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjQwNWQzNGMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9taXNjL21ic2VuY29kZQpAQCAtMCwwICsxLDgzIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxOCBWYWNsYXYgRG9sZXphbCA8dmRvbGV6YWxAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWJzZW5jb2RlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworIyBUaGVzZSB0ZXN0IG1heSBmYWlsIG9uIHNvbWUgbWFjaGluZXMgKGxvY2FsZXMsIG90aGVyIGxpYmMuLi4pCitUU19LTk9XTl9GQUlMPSJ5ZXMiCisKK1NUUklOR1M9KAorIyBBU0NJSQorCSQnZm9vXHRiYXIgYmF6JworCSAnXFxmb28ubG9jYWxcYmFyJworCSAnXFxmb28ubG9jYWxceGJhcicKKworIyBVTklDT0RFCisJICfDvGJlcicKKwkkJ2NceGNjXHg4Y2FceGNjXHg4MXJrYScgIyAnY1x1MDMwQ2FcdTAzMDFya2EnCisJICfQnNC+0YHQutCy0LDMgScKKwkgJ+WMl+S6rCcKKwkkJ1x4YzJceDgzJyAjIFUrMDA4MworCisjIElOVkFMSUQgVU5JQ09ERQorCSQnXHhmZicKKwkkJ1x4ZThceGUxXHhmOVx4YTcnCispCisKK2lmIGdyZXAgLXEgJ14jZGVmaW5lIEhBVkVfV0lERUNIQVInICR7dG9wX2J1aWxkZGlyfS9jb25maWcuaCA7dGhlbgorCUhBVkVfV0lERUNIQVI9dHJ1ZQorZWxzZQorCUhBVkVfV0lERUNIQVI9ZmFsc2UKK2ZpCisKK3RzX2luaXRfc3VidGVzdCAic2FmZS1hc2NpaSIKKyRUU19IRUxQRVJfTUJTRU5DT0RFIC0tc2FmZSAiJHtTVFJJTkdTW0BdfSIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAiaW52YWxpZC1hc2NpaSIKK2lmIFsgIiRIQVZFX1dJREVDSEFSIiA9IHRydWUgXTsgdGhlbgorCSRUU19IRUxQRVJfTUJTRU5DT0RFIC0taW52YWxpZCAiJHtTVFJJTkdTW0BdfSIgPj4gJFRTX09VVFBVVCAyPiYxCisJdHNfZmluYWxpemVfc3VidGVzdAorZWxzZQorCXRzX3NraXBfc3VidGVzdCAnTm8gd2lkZWNoYXIgc3VwcG9ydCcKK2ZpCisKK3RzX2luaXRfc3VidGVzdCAic2FmZS11dGY4IgoraWYgWyAiJEhBVkVfV0lERUNIQVIiID0gdHJ1ZSBdOyB0aGVuCisJTENfQUxMPUMuVVRGLTggXAorCSRUU19IRUxQRVJfTUJTRU5DT0RFIC0tc2FmZSAiJHtTVFJJTkdTW0BdfSIgPj4gJFRTX09VVFBVVCAyPiYxCisJdHNfZmluYWxpemVfc3VidGVzdAorZWxzZQorCXRzX3NraXBfc3VidGVzdCAnTm8gd2lkZWNoYXIgc3VwcG9ydCcKK2ZpCisKK3RzX2luaXRfc3VidGVzdCAiaW52YWxpZC11dGY4IgoraWYgWyAiJEhBVkVfV0lERUNIQVIiID0gdHJ1ZSBdOyB0aGVuCisJTENfQUxMPUMuVVRGLTggXAorCSRUU19IRUxQRVJfTUJTRU5DT0RFIC0taW52YWxpZCAiJHtTVFJJTkdTW0BdfSIgPj4gJFRTX09VVFBVVCAyPiYxCisJdHNfZmluYWxpemVfc3VidGVzdAorZWxzZQorCXRzX3NraXBfc3VidGVzdCAnTm8gd2lkZWNoYXIgc3VwcG9ydCcKK2ZpCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvbWNvb2tpZSBiL3Rlc3RzL3RzL21pc2MvbWNvb2tpZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NmUzY2M3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9tY29va2llCkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibWNvb2tpZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NQ09PS0lFIgorCiskVFNfQ01EX01DT09LSUUgLWYgL2V0Yy9zZXJ2aWNlcyB8CisJIyBUaGUgc2VkIHdpbGwgY29udmVydCBvbmx5IDMyIGNoYXJhY3RlcnMgbG9uZyBoZXhhZGVjaW1hbCBzdHJpbmcKKwkjIHRvIGV4cGVjdGVkIHN0cmluZywgYnV0IG5vdGhpbmcgZWxzZS4KKwlzZWQgJ3MvXlswLTlhLWZdXHszMlx9JC90aGUgc3RyaW5nIG1lZXRzIGV4cGVjYXRpb25zLycgPiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvcmV2IGIvdGVzdHMvdHMvbWlzYy9yZXYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2E1NDFhYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21pc2MvcmV2CkBAIC0wLDAgKzEsMzEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icmV2IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1JFViIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9NRDUiCisKK2ZvciBJIGluIHswLi41MTJ9OyBkbyBwcmludGYgIiVzICIge2EuLnp9OyBkb25lIHwgIiRUU19IRUxQRVJfTUQ1IiA+PiAkVFNfT1VUUFVUIDI+JjEKKworZm9yIEkgaW4gezAuLjUxMn07IGRvIHByaW50ZiAiJXMgIiB7YS4uen07IGRvbmUgfCBcCisJCQkJICAgICRUU19DTURfUkVWIHwgIiRUU19IRUxQRVJfTUQ1IiA+PiAkVFNfT1VUUFVUIDI+JjEKKworcHJpbnRmICJhYmNcbjEyMyIgfCAkVFNfQ01EX1JFViA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2Mvc2V0YXJjaCBiL3Rlc3RzL3RzL21pc2Mvc2V0YXJjaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jODA1MGU1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9zZXRhcmNoCkBAIC0wLDAgKzEsOTEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ic2V0YXJjaCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRVRBUkNIIgorCitBUkNIPSQodW5hbWUgLW0pCisKK3RzX2luaXRfc3VidGVzdCBvcHRpb25zCitlY2hvICIjIyMjIyMgdW5rbm93biBhcmNoIiA+PiRUU19PVVRQVVQKKyRUU19DTURfU0VUQVJDSCBxdWJpdCAtdiBlY2hvICJzdWNjZXNzIiA+PiRUU19PVVRQVVQgMj4mMQorZWNobyAiZXhpdDogJD8iID4+JFRTX09VVFBVVAorCitlY2hvICIjIyMjIyMgdW5rbm93biBjb21tYW5kIiA+PiRUU19PVVRQVVQKKyRUU19DTURfU0VUQVJDSCAkQVJDSCAtdiAvZGFzL2dpYnMvbmljaHQgPj4kVFNfT1VUUFVUIDI+JjEKK2VjaG8gImV4aXQ6ICQ/IiA+PiRUU19PVVRQVVQKKworZWNobyAiIyMjIyMjIG5vb3AgdW5hbWUgLWEiID4+JFRTX09VVFBVVAordW5hbWVfYT0kKHVuYW1lIC1zcm0pCiskVFNfQ01EX1NFVEFSQ0ggJEFSQ0ggLXYgdW5hbWUgLXNybSA+PiRUU19PVVRQVVQgMj4mMQorc2VkIC1pICIkIHNAJHt1bmFtZV9hfUB1bmFtZSAtYSB1bmNoYW5nZWRAIiAkVFNfT1VUUFVUCisKK2VjaG8gIiMjIyMjIyBhbG1vc3QgYWxsIG9wdGlvbnMiID4+JFRTX09VVFBVVAorJFRTX0NNRF9TRVRBUkNIICRBUkNIIC12UkZaTFhCSVNUMyBlY2hvICJzdWNjZXNzIiA+PiRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCB1bmFtZTI2CitmaW5tc2c9IiIgIyBmb3IgZGVidWdnaW5nIDIuNiBpc3N1ZXMKKworZWNobyAiIyMjIyMjIC0tdW5hbWUtMi42IGVjaG8iID4+JFRTX09VVFBVVAorJFRTX0NNRF9TRVRBUkNIICRBUkNIIC12IC0tdW5hbWUtMi42IGVjaG8gIjIuNiB3b3JrZWQiID4+JFRTX09VVFBVVCAyPiYxCitpZiBbICQ/IC1lcSAwIF07IHRoZW4KKwlleHBlY3RlZD0nXjIuNiB3b3JrZWQkJworZWxzZQorCSMgdGhpcyBtYXkgaGFwcGVuIGFmdGVyIGV4ZWN2cAorCWV4cGVjdGVkPSJeRkFUQUw6IGtlcm5lbCB0b28gb2xkJCIKKwlmaW5tc2crPSIgZWNobyIKK2ZpCitzZWQgLWkgIiQgcy8kZXhwZWN0ZWQvMi42IHdvcmtzIG9yIGtlcm5lbCB0b28gb2xkLyIgJFRTX09VVFBVVAorCitlY2hvICIjIyMjIyMgLS11bmFtZS0yLjYgdHJ1ZSwgbm9uLXZlcmJvc2UiID4+JFRTX09VVFBVVAorJFRTX0NNRF9TRVRBUkNIICRBUkNIIC0tdW5hbWUtMi42IHRydWUgPj4kVFNfT1VUUFVUIDI+JjEKK2lmIFsgJD8gLWVxIDAgXTsgdGhlbgorCWVjaG8gIjIuNiB3b3JrcyBvciBrZXJuZWwgdG9vIG9sZCIgPj4gJFRTX09VVFBVVAorZWxzZQorCSMgdGhpcyBtYXkgaGFwcGVuIGFmdGVyIGV4ZWN2cAorCWV4cGVjdGVkPSJeRkFUQUw6IGtlcm5lbCB0b28gb2xkJCIKKwlzZWQgLWkgIiQgcy8kZXhwZWN0ZWQvMi42IHdvcmtzIG9yIGtlcm5lbCB0b28gb2xkLyIgJFRTX09VVFBVVAorCWZpbm1zZys9IiB0cnVlIgorZmkKKworaWYgWyAtbiAiJGZpbm1zZyIgXTsgdGhlbgorCWZpbm1zZz0kKGVjaG8gdW5zdXBwb3J0ZWQgLS11bmFtZS0yLjY6ICRmaW5tc2cpCitlbHNlCisJdW5hbWUyNl9zZWVtc19zdXBwb3J0ZWQ9eWVzCitmaQordHNfZmluYWxpemVfc3VidGVzdCAiJGZpbm1zZyIKKworCisjIGNvbmRpdGlvbmFsIHN1YnRlc3QKK2lmIFsgIiR1bmFtZTI2X3NlZW1zX3N1cHBvcnRlZCIgPSAieWVzIiBdOyB0aGVuCit0c19pbml0X3N1YnRlc3QgdW5hbWUyNi12ZXJzaW9uCisJdG1wPSQoJFRTX0NNRF9TRVRBUkNIICRBUkNIIC0tdW5hbWUtMi42IHVuYW1lIC1yKQorCWlmIGVjaG8gIiR0bXAiIHwgZ3JlcCAtcSAiXjJcLjZcLiI7IHRoZW4KKwkJZWNobyAia2VybmVsIHZlcnNpb24gY2hhbmdlZCB0byAyLjYiID4+ICRUU19PVVRQVVQKKwllbHNlCisJCWVjaG8gInVuYW1lMjYgZmFpbGVkIiA+PiAkVFNfT1VUUFVUCisJCWVjaG8gIm9yaWdpbmFsIGtlcm5lbDogJCh1bmFtZSAtcikiID4+ICRUU19PVVRQVVQKKwkJZWNobyAidW5hbWUyNiBrZXJuZWw6ICAkdG1wIiA+PiAkVFNfT1VUUFVUCisJZmkKK3RzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpICMgY29uZGl0aW9uYWwgc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWlzYy9zZXRzaWQgYi90ZXN0cy90cy9taXNjL3NldHNpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iYWVmNzBkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9zZXRzaWQKQEAgLTAsMCArMSwyNSBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzZXRzaWQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0VUU0lEIgorCiskVFNfQ01EX1NFVFNJRCBlY2hvICJzdWNjZXNzIiA+ICRUU19PVVRQVVQgMj4mMQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWlzYy9zdHJ0b3NpemUgYi90ZXN0cy90cy9taXNjL3N0cnRvc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42OGIzYjhiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9zdHJ0b3NpemUKQEAgLTAsMCArMSw2MCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTAgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzdHJ0b3NpemUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAtMSA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDAgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAxID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMTIzID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMTg0NDY3NDQwNzM3MDk1NTE2MTUgPj4gJFRTX09VVFBVVCAyPiYxCisKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFLID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUtpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFNID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMU1pQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFHID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUdpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFUID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMVRpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFQID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMVBpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplIDFFID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUVpQiA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUtCID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMU1CID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUdCID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMVRCID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMVBCID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMUVCID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAiIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplICIgIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19IRUxQRVJfU1RSVVRJTFMgLS1zaXplICIgMSIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAiMSAiID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfSEVMUEVSX1NUUlVUSUxTIC0tc2l6ZSAweDBhID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMHhmZjAwID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0hFTFBFUl9TVFJVVElMUyAtLXNpemUgMHg4MDAwMDAwMCA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbWlzYy9zd2FwbGFiZWwgYi90ZXN0cy90cy9taXNjL3N3YXBsYWJlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NDYzMDQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy9zd2FwbGFiZWwKQEAgLTAsMCArMSw2NSBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzd2FwbGFiZWwiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtTV0FQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBMQUJFTCIKKworIyBmYWxsb2NhdGUgZG9lcyBub3Qgd29yayBvbiBtb3N0IGZpbGUgc3lzdGVtcworZnVuY3Rpb24gZmFsbG9jYXRlX29yX3NraXAoKQoreworCSRUU19DTURfRkFMTE9DQVRFIC1sICQxICQyIDI+L2Rldi9udWxsIHx8IFwKKwl0cnVuY2F0ZSAtcyAkMSAkMiB8fCBcCisJdHNfc2tpcCAibm8gd2F5IHRvIGNyZWF0ZSB0ZXN0IGltYWdlIgorfQorCitJTUFHRT0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0uZmlsZQorCitQQUdFX1NJWkU9JCgkVFNfSEVMUEVSX1NZU0lORk8gcGFnZXNpemUpCitQQUdFX1NJWkVfS0I9JCgoICRQQUdFX1NJWkUgLyAxMDI0ICkpCitNSU5fU1dBUF9TSVpFPSQoKCAxMCAqICRQQUdFX1NJWkUgKSkKK01JTl9TV0FQX1NJWkVfS0I9JCgoIE1JTl9TV0FQX1NJWkUgLyAxMDI0ICkpCisKK3JtIC1mICRJTUFHRQorZmFsbG9jYXRlX29yX3NraXAgJCgoICRNSU5fU1dBUF9TSVpFIC0gMSApKSAkSU1BR0UKKyRUU19DTURfTUtTV0FQIFwKKwktLWxhYmVsIDEyMzQ1Njc4OTBhYmNkZWYgXAorCS0tdXVpZCAxMjM0NTY3OC1hYmNkLWFiY2QtYWJjZC0xMjM0NTY3ODkwYWIgXAorCSRJTUFHRSAyPiYxIHxcCisJc2VkIC1lICJzLyAkTUlOX1NXQVBfU0laRV9LQiBLaUIvIDEwIHBhZ2VzLyIgXAorCSAgICAtZSAiczokSU1BR0U6PHN3YXBmaWxlPjpnIiBcCisJICAgIC1lICJzL2luc2VjdXJlIHBlcm1pc3Npb25zIFswLTldKi9pbnNlY3VyZSBwZXJtaXNzaW9ucyA8cGVybT4vZyIgXAorCT4+ICRUU19PVVRQVVQgMj4mMQorCitybSAtZiAkSU1BR0UKK2ZhbGxvY2F0ZV9vcl9za2lwICRNSU5fU1dBUF9TSVpFICRJTUFHRQorJFRTX0NNRF9NS1NXQVAgXAorCS0tbGFiZWwgMTIzNDU2Nzg5MGFiY2RlZiBcCisJLS11dWlkIDEyMzQ1Njc4LWFiY2QtYWJjZC1hYmNkLTEyMzQ1Njc4OTBhYiBcCisJJElNQUdFIDI+JjEgfFwKKwlzZWQgLWUgInMvICQoKCAkTUlOX1NXQVBfU0laRV9LQiAtICRQQUdFX1NJWkVfS0IgKSkgS2lCLyA5IHBhZ2VzLyIgXAorCSAgICAtZSAicy8oJCgoICRNSU5fU1dBUF9TSVpFIC0gJFBBR0VfU0laRSApKSBieXRlcykvKDl4UEdTWiBieXRlcykvIiBcCisJICAgIC1lICJzOiRJTUFHRTo8c3dhcGZpbGU+OmciIFwKKwkgICAgLWUgInMvaW5zZWN1cmUgcGVybWlzc2lvbnMgWzAtOV0qL2luc2VjdXJlIHBlcm1pc3Npb25zIDxwZXJtPi9nIiBcCisJPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NXQVBMQUJFTCAkSU1BR0UgPj4gJFRTX09VVFBVVCAyPiYxCisKKyNybSAtZiAkSU1BR0UKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2MvdWwgYi90ZXN0cy90cy9taXNjL3VsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjJjMmMxZGEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9taXNjL3VsCkBAIC0wLDAgKzEsMjYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idWwiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVUwiCisKK3ByaW50ZiAiYVx4MDhhYlx4NUZceDA4Y1xcblxcdHRhYlxcZlxcYlxcciIgfAorCSRUU19DTURfVUwgLXQgeHRlcm0gPiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21pc2Mvd2hlcmVpcyBiL3Rlc3RzL3RzL21pc2Mvd2hlcmVpcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZTdlYzI3Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbWlzYy93aGVyZWlzCkBAIC0wLDAgKzEsMzAgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0id2hlcmVpcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9XSEVSRUlTIgorCitMU19DT1VOVD0kKCRUU19DTURfV0hFUkVJUyBscyB8IHdjIC13KQoraWYgWyAkTFNfQ09VTlQgLWx0IDIgXTsgdGhlbgorCWVjaG8gImxzIGJpbmFyeSBub3IgbWFudWFsIG5vdCBmb3VuZD8iID4gJFRTX09VVFBVVAorZWxzZQorCWVjaG8gInN1Y2Nlc3MiID4gJFRTX09VVFBVVAorZmkKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vcmUvcmVnZXhwIGIvdGVzdHMvdHMvbW9yZS9yZWdleHAKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2I0ZjM5NgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vcmUvcmVnZXhwCkBAIC0wLDAgKzEsMjcgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icmVnZXhwIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01PUkUiCisKK2V4cG9ydCBURVJNPWxpbnV4CitwcmludGYgImFiYmFcbmJhclxuZm9vXG54eXp6eVxuIiB8CisJJFRTX0hFTFBFUl9NT1JFICsvZm9vID4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3JlL3NxdWVlemUgYi90ZXN0cy90cy9tb3JlL3NxdWVlemUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDViNGE2YQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vcmUvc3F1ZWV6ZQpAQCAtMCwwICsxLDI2IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InNxdWVlemUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTU9SRSIKKworcHJpbnRmICJhXG5cblxuYlxuIiB8CisJJFRTX0hFTFBFUl9NT1JFIC1zID4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9kZXZuYW1lIGIvdGVzdHMvdHMvbW91bnQvZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZGI4NzhiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZGV2bmFtZQpAQCAtMCwwICsxLDYxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgZGV2bmFtZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitNVEFCX0ZJTEU9Ii9wcm9jL21vdW50cyIKK2hhc19tdGFiPSQoIHRzX2hhc19tdGFiX3N1cHBvcnQgKQoraWYgWyAiJGhhc19tdGFiIiA9PSAieWVzIiBdOyB0aGVuCisJTVRBQl9GSUxFPSIvZXRjL210YWIiCitmaQorCitta2ZzLmV4dDMgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXMgIlRZUEUiICJleHQzIiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgZXh0MyBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCiskVFNfQ01EX01PVU5UICRERVZJQ0UgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorCitncmVwIC1xICJcKF5cfCBcKSRERVZJQ0UgIiAkTVRBQl9GSUxFIHx8CisJZWNobyAibW91bnQgZmFpbGVkOiBjYW5ub3QgZmluZCAkREVWSUNFIGluICRNVEFCX0ZJTEUiID4+ICRUU19PVVRQVVQgMj4mMQorCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCitncmVwIC1xICJcKF5cfCBcKSRERVZJQ0UgIiAkTVRBQl9GSUxFICYmCisJZWNobyAidW1vdW50IGZhaWxlZDogZm91bmQgJERFVklDRSBpbiAkTVRBQl9GSUxFIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnNsaXN0cyBiL3Rlc3RzL3RzL21vdW50L2ZzbGlzdHMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZGU0ODUzMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzbGlzdHMKQEAgLTAsMCArMSw5MCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTQgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZzIGxpc3RzIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKKwordHNfZGV2aWNlX2hhcyAiVFlQRSIgImV4dDMiICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCBleHQzIG9uICRERVZJQ0UiCisKKyMgRG9uJ3QgZm9yZ2V0IHRoYXQgJFRTX01PVU5UUE9JTlQgaXMgc3VidGVzdCBzcGVjaWZpYywgZG9uJ3QgY3JlYXRlIGl0CisjIGdsb2JhbGx5IQorCisKK3RzX2luaXRfc3VidGVzdCAib25lLXR5cGUiCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorJFRTX0NNRF9NT1VOVCAtdCBleHQzICRERVZJQ0UgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRUU19NT1VOVFBPSU5UCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3JlLXR5cGVzIgorWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKyRUU19DTURfTU9VTlQgLXQgZm9vLGJhcixleHQzICRERVZJQ0UgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRUU19NT1VOVFBPSU5UCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3JlLXR5cGVzLWZzdGFiIgorWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKK3RzX2ZzdGFiX2FkZCAkREVWSUNFICRUU19NT1VOVFBPSU5UICJmb28sYmFyLGV4dDMiCiskVFNfQ01EX01PVU5UICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfZnN0YWJfY2xlYW4KK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJFRTX01PVU5UUE9JTlQKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInR5cGUtcGF0dGVybiIKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCiskVFNfQ01EX01PVU5UIC1pIC10IG5vZm9vLGJhciAkREVWSUNFICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkVFNfTU9VTlRQT0lOVAordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAidHlwZS1wYXR0ZXJuLW5lZyIKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCiskVFNfQ01EX01PVU5UIC1pIC10IG5vZm9vLGJhcixleHQzLGV4dDIsZXh0NCAkREVWSUNFICRUU19NT1VOVFBPSU5UICY+IC9kZXYvbnVsbAordHNfaXNfbW91bnRlZCAkREVWSUNFICYmIHRzX2RpZSAiJERFVklDRSB1bmV4cGVjdGVkbHkgbW91bnRlZCIKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItYnJva2VuIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItYnJva2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjk0N2UzYWYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1icm9rZW4KQEAgLTAsMCArMSw4MCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJicm9rZW4gZnN0YWIiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCisKK3RzX3NraXBfbm9ucm9vdAorCisjIExldCdzIHVzZSB0aGUgc2FtZSBtb3VudHBvaW50IGZvciBhbGwgc3VidGVzdHMKK01OVD0kVFNfTU9VTlRQT0lOVAorbWtkaXIgLXAgJE1OVAorCit0c19mc3RhYl9sb2NrCit0c19mc3RhYl9vcGVuCitlY2hvICJ0bXBkICRNTlQgdG1wZnMiID4+IC9ldGMvZnN0YWIKK3RzX2ZzdGFiX2Nsb3NlCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQiCiskVFNfQ01EX01PVU5UICRNTlQgJj4gL2Rldi9udWxsCitbICIkPyIgPSAiMCIgXSB8fCB0c19sb2cgImVycm9yOiBtb3VudCAkTU5UIgorJFRTX0NNRF9GSU5ETU5UIC0ta2VybmVsIC0tbW91bnRwb2ludCAiJE1OVCIgJj4gL2Rldi9udWxsCitpZiBbICIkPyIgIT0gIjAiIF07IHRoZW4KKwl0c19sb2cgIkNhbm5vdCBmaW5kICRNTlQgaW4gL3Byb2Mvc2VsZi9tb3VudGluZm8iCitlbHNlCisJdHNfbG9nICJPSyIKK2ZpCiskVFNfQ01EX1VNT1VOVCAkTU5UICY+IC9kZXYvbnVsbAoraWYgWyAiJD8iID0gIjAiIF07IHRoZW4KKwkjIGZvciBvbGQgc3lzdGVtcyB3aXRoIG10YWIgYW5kIC9zYmluL21vdW50LnRtcGZzCisJL2Jpbi91bW91bnQgLS1mYWtlICIkTU5UIiAmPiAvZGV2L251bGwKK2Vsc2UKKwl0c19sb2cgImVycm9yOiB1bW91bnQgJE1OVCIKK2ZpCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJtb3VudC1hbGwiCiskVFNfQ01EX01PVU5UIC1hICY+IC9kZXYvbnVsbAorWyAiJD8iID0gIjAiIF0gfHwgdHNfbG9nICJlcnJvcjogbW91bnQgLWEiCiskVFNfQ01EX0ZJTkRNTlQgLS1rZXJuZWwgLS1tb3VudHBvaW50ICIkTU5UIiAmPiAvZGV2L251bGwKK2lmIFsgIiQ/IiAhPSAiMCIgXTsgdGhlbgorCXRzX2xvZyAiQ2Fubm90IGZpbmQgJE1OVCBpbiAvcHJvYy9zZWxmL21vdW50aW5mbyIKK2Vsc2UKKwl0c19sb2cgIk9LIgorZmkKKyRUU19DTURfVU1PVU5UICRNTlQgJj4gL2Rldi9udWxsCitpZiBbICIkPyIgPSAiMCIgXTsgdGhlbgorCSMgZm9yIG9sZCBzeXN0ZW1zIHdpdGggbXRhYiBhbmQgL3NiaW4vbW91bnQudG1wZnMKKwkvYmluL3Vtb3VudCAtLWZha2UgJE1OVCAmPiAvZGV2L251bGwKK2Vsc2UKKwl0c19sb2cgImVycm9yOiB1bW91bnQgJE1OVCIKK2ZpCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2ZzdGFiX2NsZWFuCSMgdGhpcyB1bmxvY2tzIHRvbworCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi1idHJmcyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWJ0cmZzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA5MGY1MjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1idHJmcwpAQCAtMCwwICsxLDE0MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTYgU3RhbmlzbGF2IEJyYWJlYyA8c2JyYWJlY0BzdXNlLmN6PgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnRyZnMgKGZzdGFiKSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5idHJmcyIKK3RzX2NoZWNrX3Byb2cgImJ0cmZzIgorCisjIGJ0cmZzIGZlYXR1cmUgY2hlY2sKK2lmICEgYnRyZnMgaW5zcGVjdC1pbnRlcm5hbCAtLWhlbHAgJj4vZGV2L251bGwgfHwgXAorICAgYnRyZnMgaW5zcGVjdC1pbnRlcm5hbCByb290aWQgYmxhIDI+JjEgfCBncmVwIC1xICJ1bmtub3duIHRva2VuIjsgdGhlbgorCXRzX3NraXAgImJ0cmZzIHRvbyBvbGQiCitmaQorCitUU19NT1VOVFBPSU5UX0FOWT0iJFRTX01PVU5UUE9JTlQiCitUU19NT1VOVFBPSU5UX0NSRUFURT0iJFRTX01PVU5UUE9JTlQtY3JlYXRlIgorVFNfTU9VTlRQT0lOVF9ERUZBVUxUPSIkVFNfTU9VTlRQT0lOVC1kZWZhdWx0IgorVFNfTU9VTlRQT0lOVF9TVUJWT0w9IiRUU19NT1VOVFBPSU5ULXN1YnZvbCIKK1RTX01PVU5UUE9JTlRfU1VCVk9MSUQ9IiRUU19NT1VOVFBPSU5ULXN1YnZvbGlkIgorVFNfTU9VTlRQT0lOVF9CSU5EPSIkVFNfTU9VTlRQT0lOVC1iaW5kIgorCit0c19kZXZpY2VfaW5pdCA0MgorREVWSUNFPSRUU19MT0RFVgorWyAtZCAiJFRTX01PVU5UUE9JTlRfQ1JFQVRFIiBdIHx8IG1rZGlyIC1wICIkVFNfTU9VTlRQT0lOVF9DUkVBVEUiCitbIC1kICIkVFNfTU9VTlRQT0lOVF9ERUZBVUxUIiBdIHx8IG1rZGlyIC1wICIkVFNfTU9VTlRQT0lOVF9ERUZBVUxUIgorWyAtZCAiJFRTX01PVU5UUE9JTlRfU1VCVk9MIiBdIHx8IG1rZGlyIC1wICIkVFNfTU9VTlRQT0lOVF9TVUJWT0wiCitbIC1kICIkVFNfTU9VTlRQT0lOVF9TVUJWT0xJRCIgXSB8fCBta2RpciAtcCAiJFRTX01PVU5UUE9JTlRfU1VCVk9MSUQiCitbIC1kICIkVFNfTU9VTlRQT0lOVF9CSU5EIiBdIHx8IG1rZGlyIC1wICIkVFNfTU9VTlRQT0lOVF9CSU5EIgorbWtmcy5idHJmcyAtZCBzaW5nbGUgLW0gc2luZ2xlICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgYnRyZnMgb24gJERFVklDRSIKKworJFRTX0NNRF9NT1VOVCAtbyBsb29wICIkREVWSUNFIiAiJFRTX01PVU5UUE9JTlRfQ1JFQVRFIgorcHVzaGQgLiA+L2Rldi9udWxsCitjZCAiJFRTX01PVU5UUE9JTlRfQ1JFQVRFIgorbWtkaXIgLXAgZDAvZGQwL2RkZDAKK2NkIC4vZDAvZGQwL2RkZDAKK3RvdWNoIGZpbGV7MS4uNX0KK2J0cmZzIHN1YnZvbCBjcmVhdGUgczEgPi9kZXYvbnVsbAorY2QgLi9zMQordG91Y2ggZmlsZXsxLi41fQorbWtkaXIgYmluZC1wb2ludAorbWtkaXIgLXAgZDEvZGQxL2RkZDEKK2NkIC4vZDEvZGQxL2RkZDEKK2J0cmZzIHN1YnZvbCBjcmVhdGUgczIgPi9kZXYvbnVsbAorREVGQVVMVF9TVUJWT0xJRD0kKGJ0cmZzIGluc3BlY3QtaW50ZXJuYWwgcm9vdGlkIHMyKQorYnRyZnMgc3Vidm9sIHNldC1kZWZhdWx0ICRERUZBVUxUX1NVQlZPTElEIC4gPi9kZXYvbnVsbAorTk9OX0RFRkFVTFRfU1VCVk9MSUQ9JChidHJmcyBzdWJ2b2wgbGlzdCAiJFRTX01PVU5UUE9JTlRfQ1JFQVRFIiB8IHdoaWxlIHJlYWQgZHVtbXkgaWQgcmVzdCA7IGRvIGlmIHRlc3QgJGlkID0gJERFRkFVTFRfU1VCVk9MSUQgOyB0aGVuIGNvbnRpbnVlIDsgZmkgOyBlY2hvICRpZCA7IGRvbmUpCitjZCAuLi8uLi8uLi8uLgorbWtkaXIgLXAgZDIvZGQyL2RkZDIKK2NkIC4vZDIvZGQyL2RkZDIKK2J0cmZzIHN1YnZvbCBjcmVhdGUgczMgPi9kZXYvbnVsbAorbWtkaXIgLXAgczMvYmluZC1tbnQKK3BvcGQgPi9kZXYvbnVsbAorTk9OX0RFRkFVTFRfU1VCVk9MPWQwL2RkMC9kZGQwL2QyL2RkMi9kZGQyL3MzCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlRfQ1JFQVRFIgorCisKK3RzX2luaXRfc3VidGVzdCAiYnRyZnMiCit0c19mc3RhYl9sb2NrCit0c19mc3RhYl9vcGVuCisjIFRlc3RzIHdpdGggZnMgPT0gYnRyZnMKKyMgbW91bnRpbmcgZGVmYXVsdCBzdWJ2b2x1bWUsIGRlZXAgaW4gdGhlIHN0cnVjdHVyZSwgd2l0aG91dCBlbnRyeSBpbiBmc3RhYgordHNfZnN0YWJfYWRkbGluZSAiJERFVklDRSIgIiRUU19NT1VOVFBPSU5UX0RFRkFVTFQiICJidHJmcyIgIiIKKyMgbW91bnRpbmcgZGVmYXVsdCBzdWJ2b2x1bWUsIGRlZXAgaW4gdGhlIHN0cnVjdHVyZQordHNfZnN0YWJfYWRkbGluZSAiJERFVklDRSIgIiRUU19NT1VOVFBPSU5UX1NVQlZPTCIgImJ0cmZzIiAic3Vidm9sPSROT05fREVGQVVMVF9TVUJWT0wiCisjIG1vdW50aW5nIG5vbi1kZWZhdWx0IHN1YnZvbHVtZQordHNfZnN0YWJfYWRkbGluZSAiJERFVklDRSIgIiRUU19NT1VOVFBPSU5UX1NVQlZPTElEIiAiYnRyZnMiICJzdWJ2b2xpZD0kTk9OX0RFRkFVTFRfU1VCVk9MSUQiCisjIHRlc3QgYmluZCBtb3VudCBwb2ludGluZyB0byBzdWJ2b2x1bWUgcm9vdAordHNfZnN0YWJfYWRkbGluZSAiJFRTX01PVU5UUE9JTlRfU1VCVk9MSUQiICIkVFNfTU9VTlRQT0lOVF9CSU5EIiAiYXV0byIgImJpbmQiCit0c19mc3RhYl9jbG9zZQorCiskVFNfQ01EX01PVU5UIC1hID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9NT1VOVCAtYSA+PiAkVFNfT1VUUFVUIDI+JjEKKworJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5UX0JJTkQiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5UX0RFRkFVTFQiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5UX1NVQlZPTCIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1VNT1VOVCAiJFRTX01PVU5UUE9JTlRfU1VCVk9MSUQiID4+ICRUU19PVVRQVVQgMj4mMQorCisjIGNoZWNrIHRoYXQgZXZlcnl0aGluZyB3YXMgdW5tb3VudGVkCiskVFNfQ01EX01PVU5UIHwgZ3JlcCAiJFRTX01PVU5UUE9JTlRfQU5ZIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZnN0YWJfY2xlYW4JCSMgdGhpcyB1bmxvY2sgdG9vCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJhdXRvIgordHNfZnN0YWJfbG9jawordHNfZnN0YWJfb3BlbgorIyBUZXN0cyB3aXRoIGZzID09IGF1dG8KKyMgbW91bnRpbmcgZGVmYXVsdCBzdWJ2b2x1bWUsIGRlZXAgaW4gdGhlIHN0cnVjdHVyZSwgd2l0aG91dCBlbnRyeSBpbiBmc3RhYgordHNfZnN0YWJfYWRkbGluZSAiJERFVklDRSIgIiRUU19NT1VOVFBPSU5UX0RFRkFVTFQiICJhdXRvIiAiIgorIyBtb3VudGluZyBkZWZhdWx0IHN1YnZvbHVtZSwgZGVlcCBpbiB0aGUgc3RydWN0dXJlCit0c19mc3RhYl9hZGRsaW5lICIkREVWSUNFIiAiJFRTX01PVU5UUE9JTlRfU1VCVk9MIiAiYXV0byIgInN1YnZvbD0kTk9OX0RFRkFVTFRfU1VCVk9MIgorIyBtb3VudGluZyBub24tZGVmYXVsdCBzdWJ2b2x1bWUKK3RzX2ZzdGFiX2FkZGxpbmUgIiRERVZJQ0UiICIkVFNfTU9VTlRQT0lOVF9TVUJWT0xJRCIgImF1dG8iICJzdWJ2b2xpZD0kTk9OX0RFRkFVTFRfU1VCVk9MSUQiCisjIHRlc3QgYmluZCBtb3VudCBwb2ludGluZyB0byBzdWJ2b2x1bWUgc3ViLWRpcmVjdG9yeQordHNfZnN0YWJfYWRkbGluZSAiJFRTX01PVU5UUE9JTlRfU1VCVk9ML2JpbmQtbW50IiAiJFRTX01PVU5UUE9JTlRfQklORCIgImF1dG8iICJiaW5kIgordHNfZnN0YWJfY2xvc2UKKworJFRTX0NNRF9NT1VOVCAtYSA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfTU9VTlQgLWEgPj4gJFRTX09VVFBVVCAyPiYxCisKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVF9CSU5EIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVF9ERUZBVUxUIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfVU1PVU5UICIkVFNfTU9VTlRQT0lOVF9TVUJWT0wiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5UX1NVQlZPTElEIiA+PiAkVFNfT1VUUFVUIDI+JjEKKworIyBjaGVjayB0aGF0IGV2ZXJ5dGhpbmcgd2FzIHVubW91bnRlZAorJFRTX0NNRF9NT1VOVCB8IGdyZXAgIiRUU19NT1VOVFBPSU5UX0FOWSIgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZzdGFiX2NsZWFuCQkjIHRoaXMgdW5sb2NrIHRvbwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1kZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY2NDg3ODQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1kZXZuYW1lCkBAIC0wLDAgKzEsNTQgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgZGV2bmFtZSAoZnN0YWIpIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKKwordHNfZGV2aWNlX2hhcyAiVFlQRSIgImV4dDMiICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCBleHQzIG9uICRERVZJQ0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKK3RzX2ZzdGFiX2FkZCAkREVWSUNFCisKKyMgdmFyaWFudCBBKQorJFRTX0NNRF9NT1VOVCAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKworIyB2YXJpYW50IEIpCiskVFNfQ01EX01PVU5UICRERVZJQ0UgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKK3RzX2ZzdGFiX2NsZWFuCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItZGV2bmFtZTJsYWJlbCBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUybGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDJlZjFlZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUybGFiZWwKQEAgLTAsMCArMSw1MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSBkZXZuYW1lIChmc3RhYiBsYWJlbCkiCitMQUJFTD0idGVzdE1vdW50RDJMIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAtTCAkTEFCRUwgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCit0c19kZXZpY2VfaGFzICJMQUJFTCIgJExBQkVMICRERVZJQ0UgXAorIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgTEFCRUwgJyRMQUJFTCcgb24gJERFVklDRSIKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfZnN0YWJfYWRkICJMQUJFTD0kTEFCRUwiCit0c191ZGV2YWRtX3NldHRsZSAiJERFVklDRSIgIkxBQkVMIgorCiskVFNfQ01EX01PVU5UICRERVZJQ0UgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKK3RzX2ZzdGFiX2NsZWFuCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUydXVpZCBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWRldm5hbWUydXVpZApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40Y2Q0ZjQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItZGV2bmFtZTJ1dWlkCkBAIC0wLDAgKzEsNTAgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgZGV2bmFtZSAoZnN0YWIgdXVpZCkiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorVVVJRD0kKHRzX3V1aWRfYnlfZGV2bmFtZSAiJERFVklDRSIpIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgVVVJRCBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19mc3RhYl9hZGQgIlVVSUQ9JFVVSUQiCit0c191ZGV2YWRtX3NldHRsZSAiJERFVklDRSIgIlVVSUQiCisKKyRUU19DTURfTU9VTlQgJERFVklDRSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItbGFiZWwgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1sYWJlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZTYyOTJkCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItbGFiZWwKQEAgLTAsMCArMSw2MyBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSBsYWJlbCAoZnN0YWIpIgorTEFCRUw9InRlc3RGc3RhYkxhYmVsIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAtTCAkTEFCRUwgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCit0c19kZXZpY2VfaGFzICJMQUJFTCIgJExBQkVMICRERVZJQ0UgXAorIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgTEFCRUwgJyRMQUJFTCcgb24gJERFVklDRSIKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKwordHNfZnN0YWJfYWRkICJMQUJFTD0kTEFCRUwiCit0c191ZGV2YWRtX3NldHRsZSAiJERFVklDRSIgIkxBQkVMIgorCisjIHZhcmlhbnQgQSkKKyRUU19DTURfTU9VTlQgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKKyMgdmFyaWFudCBCKQorJFRTX0NNRF9NT1VOVCAtTCAkTEFCRUwgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKKyMgdmFyaWFudCBDKQorJFRTX0NNRF9NT1VOVCBMQUJFTD0kTEFCRUwgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJDKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJDKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKK3RzX2ZzdGFiX2NsZWFuCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsMmRldm5hbWUgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1sYWJlbDJkZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmVlNDY0MmUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9mc3RhYi1sYWJlbDJkZXZuYW1lCkBAIC0wLDAgKzEsNTggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgbGFiZWwgKGZzdGFiIGRldm5hbWUpIgorTEFCRUw9InRlc3RNb3VudEwyRCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitta2ZzLmV4dDMgLUwgJExBQkVMICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgordHNfZGV2aWNlX2hhcyAiTEFCRUwiICRMQUJFTCAkREVWSUNFIFwKKyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIExBQkVMICckTEFCRUwnIG9uICRERVZJQ0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKK3RzX2ZzdGFiX2FkZCAiJERFVklDRSIKK3RzX3VkZXZhZG1fc2V0dGxlICIkREVWSUNFIiAiTEFCRUwiCisKKyMgdmFyaWFudCBBKQorJFRTX0NNRF9NT1VOVCAtTCAkTEFCRUwgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKKyMgdmFyaWFudCBCKQorJFRTX0NNRF9NT1VOVCAiTEFCRUw9JExBQkVMIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItbGFiZWwydXVpZCBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsMnV1aWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMGQyYjkzMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLWxhYmVsMnV1aWQKQEAgLTAsMCArMSw2MCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IGxhYmVsIChmc3RhYiB1dWlkKSIKK0xBQkVMPSJ0ZXN0TW91bnRMMlUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzIC1MICRMQUJFTCAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKK3RzX2RldmljZV9oYXMgIkxBQkVMIiAkTEFCRUwgJERFVklDRSBcCisgfHwgdHNfZGllICJDYW5ub3QgZmluZCBMQUJFTCAnJExBQkVMJyBvbiAkREVWSUNFIgorVVVJRD0kKHRzX3V1aWRfYnlfZGV2bmFtZSAiJERFVklDRSIpIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgVVVJRCBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19mc3RhYl9hZGQgIlVVSUQ9JFVVSUQiCit0c191ZGV2YWRtX3NldHRsZSAiJERFVklDRSIgIkxBQkVMIiAiVVVJRCIKKworIyB2YXJpYW50IEEpCiskVFNfQ01EX01PVU5UIC1MICRMQUJFTCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKworIyB2YXJpYW50IEIpCiskVFNfQ01EX01PVU5UICJMQUJFTD0kTEFCRUwiID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCit0c19mc3RhYl9jbGVhbgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi1sb29wIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItbG9vcApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40MTA0YTYyCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItbG9vcApAQCAtMCwwICsxLDU2IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNiBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJsb29wIChmc3RhYikiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworSU1HPSQodHNfaW1hZ2VfaW5pdCkKKworbWtmcy5leHQzIC1GICRJTUcgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkSU1HIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVC0xIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5ULTEKK1sgLWQgIiRUU19NT1VOVFBPSU5ULTIiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQtMgorCit0c19mc3RhYl9sb2NrCit0c19mc3RhYl9vcGVuCisKK3RzX2ZzdGFiX2FkZGxpbmUgIiRJTUciICIkVFNfTU9VTlRQT0lOVC0xIiAiZXh0MyIgImxvb3AiCiskVFNfQ01EX01PVU5UIC1hID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19mc3RhYl9hZGRsaW5lICIkSU1HIiAiJFRTX01PVU5UUE9JTlQtMiIgImV4dDMiICJsb29wIgorJFRTX0NNRF9NT1VOVCAtYSA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZnN0YWJfY2xvc2UKKworJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5ULTEiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9VTU9VTlQgIiRUU19NT1VOVFBPSU5ULTIiID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19mc3RhYl9jbGVhbgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi1ub25lIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItbm9uZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42NWIzYjdhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItbm9uZQpAQCAtMCwwICsxLDM3IEBACisjIS9iaW4vYmFzaAorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJub25lIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GSU5ETU5UIgorCit0c19za2lwX25vbnJvb3QKKwordHNfZnN0YWJfYWRkICJub25lIiAiJFRTX01PVU5UUE9JTlQiICJ0bXBmcyIgInJ3LG5vc3VpZCxub2RldixyZWxhdGltZSIKKworbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKworJFRTX0NNRF9NT1VOVCAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK1sgIiQ/IiA9ICIwIiBdIHx8IHRzX2xvZyAiZXJyb3I6IG1vdW50ICRUU19NT1VOVFBPSU5UIgorCiskVFNfQ01EX0ZJTkRNTlQgLS1tb3VudHBvaW50ICIkVFNfTU9VTlRQT0lOVCIgJj4gL2Rldi9udWxsCitbICQ/IC1lcSAwIF0gfHwgdHNfZGllICJOb3QgZm91bmQgdGFyZ2V0IChtb3VudCBmYWlsZWQ/KSIKKworJFRTX0NNRF9GSU5ETU5UIC0tc291cmNlICJub25lIiAtLW1vdW50cG9pbnQgIiRUU19NT1VOVFBPSU5UIiAmPiAvZGV2L251bGwKK1sgJD8gLWVxIDAgXSB8fCB0c19kaWUgIk5vdCBmb3VuZCBzb3VyY2UgYW5kIHRhcmdldCIKKworJFRTX0NNRF9VTU9VTlQgJFRTX01PVU5UUE9JTlQgfHwgdHNfZGllICJDYW5ub3QgdW1vdW50ICRUU19NT1VOVFBPSU5UIgorCisjIGZvciBvbGQgc3lzdGVtcyB3aXRoIG10YWIgYW5kIC9zYmluL21vdW50LnRtcGZzCisvYmluL3Vtb3VudCAtLWZha2UgIiRUU19NT1VOVFBPSU5UIiAmPiAvZGV2L251bGwKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItc3ltbGluayBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLXN5bWxpbmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWExMmI4NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLXN5bWxpbmsKQEAgLTAsMCArMSw3MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IGRldm5hbWUgKGZzdGFiIHN5bWxpbmspIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK0xJTktOQU1FPSIkVFNfT1VURElSLyR7VFNfVEVTVE5BTUV9X2xuayIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJUWVBFIiAiZXh0MyIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIGV4dDMgb24gJERFVklDRSIKKworWyAtZCAiJFRTX01PVU5UUE9JTlQiIF0gfHwgbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQKKworcm0gLXJmICRMSU5LTkFNRQorbG4gLXMgJERFVklDRSAkTElOS05BTUUKKwordHNfZnN0YWJfYWRkICRMSU5LTkFNRSAkVFNfTU9VTlRQT0lOVCAiYXV0byIgImRlZmF1bHRzLHVzZXIiCisKKyMgdmFyaWFudCBBKSAtLSBVSUQ9MAorJFRTX0NNRF9NT1VOVCAkTElOS05BTUUgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRMSU5LTkFNRSB8fCB0c19kaWUgIkEpIENhbm5vdCB1bW91bnQgJExJTktOQU1FIgorCisjIHZhcmlhbiBCKSAtLSBkaXNhYmxlZCwgdGhlICRUU19DTURfTU9VTlQgaXMgdXN1YWxseSBub3QgYSByZWFsIHByb2dyYW0sIGJ1dAorIyAgICAgICAgICAgICAgbGlidG9vbCB3cmFwcGVyIGFuZCB0aGUgcmVhbCBtb3VudCBpcyBleGVjKCllZCB3aXRoCisjICAgICAgICAgICAgICBMRF9MSUJSQVJZX1BBVEguIFRoaXMgYWxsIGlzIGJhZCBmb3Igc3VpZCBwcm9ncmFtcy4uLgorCisjdHNfaW5pdF9zdWlkICRUU19DTURfTU9VTlQKKyN0c19pbml0X3N1aWQgJFRTX0NNRF9VTU9VTlQKKyMKKyNzdSAkVFNfVEVTVFVTRVIgLWMgIiRUU19DTURfTU9VTlQgLXYgLXYgLXYgJExJTktOQU1FIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyN0c19pc19tb3VudGVkICRERVZJQ0UKKyMgICB8fCB0c19kaWUgIkIpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorI3N1ICRUU19URVNUVVNFUiAtYyAiJFRTX0NNRF9VTU9VTlQgJExJTktOQU1FIiA+PiAkVFNfT1VUUFVUIDI+JjEgXAorIyAgIHx8IHRzX2RpZSAiQikgQ2Fubm90IHVtb3VudCAkTElOS05BTUUiCisKK3RzX2ZzdGFiX2NsZWFuCitybSAtZiAkTElOS05BTUUKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItdXVpZCBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLXV1aWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWM1ODhmYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2ZzdGFiLXV1aWQKQEAgLTAsMCArMSw2MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSB1dWlkIChmc3RhYikiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorVVVJRD0kKHRzX3V1aWRfYnlfZGV2bmFtZSAiJERFVklDRSIpIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgVVVJRCBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19mc3RhYl9hZGQgIlVVSUQ9JFVVSUQiCit0c191ZGV2YWRtX3NldHRsZSAiJERFVklDRSIgIlVVSUQiCisKKyMgdmFyaWFuIEEpCiskVFNfQ01EX01PVU5UICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCisjIHZhcmlhbiBCKQorJFRTX0NNRF9NT1VOVCAtVSAkVVVJRCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkIpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKworIyB2YXJpYW4gQykKKyRUU19DTURfTU9VTlQgVVVJRD0kVVVJRCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkMpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkMpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKwordHNfZnN0YWJfY2xlYW4KKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvZnN0YWItdXVpZDJkZXZuYW1lIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItdXVpZDJkZXZuYW1lCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM5YWVkNjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9mc3RhYi11dWlkMmRldm5hbWUKQEAgLTAsMCArMSw1NiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSB1dWlkIChmc3RhYiBkZXZuYW1lKSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitta2ZzLmV4dDMgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCitVVUlEPSQodHNfdXVpZF9ieV9kZXZuYW1lICIkREVWSUNFIikgfHwgdHNfZGllICJDYW5ub3QgZmluZCBVVUlEIG9uICRERVZJQ0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKK3RzX2ZzdGFiX2FkZCAiJERFVklDRSIKK3RzX3VkZXZhZG1fc2V0dGxlICIkREVWSUNFIiAiVVVJRCIKKworIyB2YXJpYW50IEEpCiskVFNfQ01EX01PVU5UIC1VICRVVUlEID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCisjIHZhcmlhbnQgQikKKyRUU19DTURfTU9VTlQgIlVVSUQ9JFVVSUQiID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCit0c19mc3RhYl9jbGVhbgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9mc3RhYi11dWlkMmxhYmVsIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItdXVpZDJsYWJlbApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40Njc2YzlhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvZnN0YWItdXVpZDJsYWJlbApAQCAtMCwwICsxLDU5IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IHV1aWQgKGZzdGFiIGxhYmVsKSIKK0xBQkVMPSJ0ZXN0TW91bnRVMkwiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzIC1MICRMQUJFTCAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKK3RzX2RldmljZV9oYXMgIkxBQkVMIiAkTEFCRUwgJERFVklDRSBcCisgfHwgdHNfZGllICJDYW5ub3QgZmluZCBMQUJFTCAnJExBQkVMJyBvbiAkREVWSUNFIgorVVVJRD0kKHRzX3V1aWRfYnlfZGV2bmFtZSAiJERFVklDRSIpIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgVVVJRCBvbiAkREVWSUNFIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19mc3RhYl9hZGQgIkxBQkVMPSRMQUJFTCIKK3RzX3VkZXZhZG1fc2V0dGxlICIkREVWSUNFIiAiTEFCRUwiICJVVUlEIgorCisjIHZhcmlhbnQgQSkKKyRUU19DTURfTU9VTlQgLVUgJFVVSUQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJBKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKKyMgdmFyaWFudCBCKQorJFRTX0NNRF9NT1VOVCAiVVVJRD0kVVVJRCIgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKK3RzX2ZzdGFiX2NsZWFuCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L2xhYmVsIGIvdGVzdHMvdHMvbW91bnQvbGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNDVkYTAyYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L2xhYmVsCkBAIC0wLDAgKzEsNTUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSBsYWJlbCIKK0xBQkVMPSJ0ZXN0TW91bnRMYWJlbCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitta2ZzLmV4dDMgLUwgJExBQkVMICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgordHNfZGV2aWNlX2hhcyAiTEFCRUwiICRMQUJFTCAkREVWSUNFIFwKKyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIExBQkVMICckTEFCRUwnIG9uICRERVZJQ0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCit0c191ZGV2YWRtX3NldHRsZSAiJERFVklDRSIgIkxBQkVMIgorCisjIHZhcmlhbnQgQSkKKyRUU19DTURfTU9VTlQgLUwgJExBQkVMICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQSkgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCisjIHZhcmlhbnQgQikKKyRUU19DTURfTU9VTlQgTEFCRUw9JExBQkVMICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCiskVFNfQ01EX1VNT1VOVCAkREVWSUNFIHx8IHRzX2RpZSAiQikgQ2Fubm90IHVtb3VudCAkREVWSUNFIgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9tb3ZlIGIvdGVzdHMvdHMvbW91bnQvbW92ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lODI4YTg5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvbW92ZQpAQCAtMCwwICsxLDg5IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im1vdmUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlRQT0lOVCIKKwordHNfc2tpcF9ub25yb290CisKK2Z1bmN0aW9uIG1vdW50X2FuZF9jaGVjayB7CisJIyBsYXN0IGFyZyBtdXN0IGJlIGFuIGV4aXN0aW5nIG9yIHRvLWJlLW1vdW50ZWQgbW91bnRwb2ludAorCWxvY2FsIG1vdW50cG9pbnQ9IiR7QDogLTF9IgorCisJJFRTX0NNRF9NT1VOVCAiJEAiIFwKKwkJfHwgdHNfZGllICJlcnJvcjogbW91bnQgJCoiCisKKwkkVFNfQ01EX01PVU5UUE9JTlQgLXEgIiRtb3VudHBvaW50IiBcCisJCXx8IHRzX2RpZSAiZXJyb3I6IG1vdW50cG9pbnQgJG1vdW50cG9pbnQiCit9CisKK0RJUl9QUklWQVRFPSIkVFNfT1VURElSL21udC1tb3ZlLXByaXZhdGUiCisKK0RJUl9TUkM9IiRESVJfUFJJVkFURS9tbnQtbW92ZS1zcmMiCitESVJfQT0iJERJUl9QUklWQVRFL21udC1tb3ZlLUEiCitESVJfQj0iJERJUl9QUklWQVRFL21udC1tb3ZlLUIiCisKKyMgdGhpcyBtYXkgZmFpbCBpZiB0aGVyZSBhcmUgbW91bnRlZCBkaXJzIGxlZnQKK3JtIC1yZiAiJERJUl9QUklWQVRFIiB8fCB0c19kaWUgImNsZWFudXAgZmFpbGVkLCBjaGVjayBtYW51YWxseSEiCitta2RpciAiJERJUl9QUklWQVRFIiAgfHwgdHNfZGllICJlcnJvcjogbWtkaXIgRElSX1BSSVZBVEUiCisKKyMgY3JlYXRlIGJpbmQgbW91bnQgYW5kIG1ha2UgaXQgcHJpdmF0ZSB0byBiZSBzdXJlCisjIChrZXJuZWwgY2Fubm90IG1vdmUgbW91bnQgd2l0aCBzaGFyZWQgcGFyZW50KQorbW91bnRfYW5kX2NoZWNrIC0tYmluZCAkRElSX1BSSVZBVEUgJERJUl9QUklWQVRFCittb3VudF9hbmRfY2hlY2sgLS1tYWtlLXJwcml2YXRlICRESVJfUFJJVkFURQorCisjIElzIHRoZSBiaW5kIG1vdW50IHN0aWxsIHJ3PworbWtkaXIgJERJUl9TUkMgJERJUl9BICRESVJfQiBcCisJfHwgdHNfZGllICJlcnJvcjogbWtkaXIgb24gcHJpdmF0ZSBiaW5kIG1vdW50IgorCisjIGJpbmQKK21vdW50X2FuZF9jaGVjayAtLWJpbmQgJERJUl9TUkMgJERJUl9BCisKKyMgbW92ZQorbW91bnRfYW5kX2NoZWNrIC0tbW92ZSAkRElSX0EgJERJUl9CCisKKyMgQlRXIGEgYmFzaWMgdGVzdCBmb3IgZmluZG1udCg4KSBhbmQgbW91bnRwb2ludCgxKQorZm9yIGYgaW4gYGZpbmQgJERJUl9QUklWQVRFMiAkRElSX1BSSVZBVEVgOyBkbworCXhvPSIkKCRUU19DTURfTU9VTlRQT0lOVCAtcSAiJGYiIDI+JjEpIgorCXg9JD8KKwl5bz0iJCgkVFNfQ01EX0ZJTkRNTlQgLS1rZXJuZWwgLS1tb3VudHBvaW50ICIkZiIgMj4mMSkiCisJeT0kPworCisJWyAiJHgiID0gIiR5IiBdIHx8IHRzX2xvZyAiZXJyb3I6IGZpbmRtb3VudCB2cy4gbW91bnRwb2ludDogJHgsICR5LCAkZiIKKwlbIC16ICIkeG8iIF0gfHwgdHNfbG9nICJlcnJvcjogbW91bnRwb2ludCBpcyBub3QgcXVpZXQ6ICR4LCAkeSwgJGYiCisJaWYgWyAiJHkiID0gIjAiIC1hICIkeW8iID0gIiIgXSB8fCBbICIkeSIgPSAiMSIgLWEgIiR5byIgIT0gIiIgXTsgdGhlbgorCQl0c19sb2cgImVycm9yLCBmaW5kbW91bnQgcmV0dXJuIHZhbHVlIHZzLiBvdXRwdXQ6ICR4LCAkeSwgJGYiCisJZmkKK2RvbmUKKworIyBjbGVhbiB1cAorJFRTX0NNRF9VTU9VTlQgJERJUl9CIHx8IHRzX2xvZyAiZXJyb3I6IHVtb3VudCBESVJfQiIKK3JtZGlyICRESVJfU1JDICRESVJfQSAkRElSX0IgfHwgdHNfbG9nICJlcnJvcjogcm1kaXIgRElSX0IiCiskVFNfQ01EX1VNT1VOVCAkRElSX1BSSVZBVEUgfHwgdHNfbG9nICJlcnJvcjogdW1vdW50IERJUl9QUklWQVRFIgorcm1kaXIgJERJUl9QUklWQVRFIHx8IHRzX2xvZyAiZXJyb3I6IHJtZGlyIERJUl9QUklWQVRFIgorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9yZWdmaWxlIGIvdGVzdHMvdHMvbW91bnQvcmVnZmlsZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40ZjVjZTMwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvcmVnZmlsZQpAQCAtMCwwICsxLDQxIEBACisjIS9iaW4vYmFzaAorCisjIENvcHlyaWdodCAoQykgMjAxMSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icmVndWxhciBmaWxlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK0lNQUdFPSQodHNfaW1hZ2VfaW5pdCkKK21rZnMuZXh0MyAtRiAkSU1BR0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkSU1BR0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisKKyRUU19DTURfTU9VTlQgJElNQUdFICRUU19NT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorCitERVZJQ0U9JChhd2sgJy9yZWdmaWxlLyB7IHByaW50ICQxIH0nIC9wcm9jL21vdW50cykKKwordHNfaXNfbW91bnRlZCAiJFRTX01PVU5UUE9JTlQiIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJFRTX01PVU5UUE9JTlQgaW4gL3Byb2MvbW91bnRzIgorCitpZiBbIC1mICIvc3lzL2Jsb2NrLyQoYmFzZW5hbWUgJERFVklDRSkvbG9vcC9iYWNraW5nX2ZpbGUiIF07IHRoZW4KKwkkVFNfQ01EX1VNT1VOVCAkSU1BR0UgfHwgdHNfZGllICJDYW5ub3QgdW1vdW50ICRJTUFHRSIKK2Vsc2UKKwkkVFNfQ01EX1VNT1VOVCAkVFNfTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKKwl0c19za2lwICJ0b28gb2xkIGtlcm5lbCIKK2ZpCisKK3RzX2lzX21vdW50ZWQgIiRUU19NT1VOVFBPSU5UIiAmJiB0c19kaWUgIiRUU19NT1VOVFBPSU5UIHN0aWxsIGluIC9wcm9jL21vdW50cyIKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvcmVtb3VudCBiL3Rlc3RzL3RzL21vdW50L3JlbW91bnQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzhkYjliZgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL21vdW50L3JlbW91bnQKQEAgLTAsMCArMSw2MiBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJyZW1vdW50IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZJTkRNTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQyIgorCisjIG1vdW50cG9pbnQKK1sgLWQgJFRTX01PVU5UUE9JTlQgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitNVEFCX0ZJTEU9Ii9wcm9jL21vdW50cyIKK2hhc19tdGFiPSQoIHRzX2hhc19tdGFiX3N1cHBvcnQgKQoraWYgWyAiJGhhc19tdGFiIiA9PSAieWVzIiBdOyB0aGVuCisJTVRBQl9GSUxFPSIvZXRjL210YWIiCitmaQorCitta2ZzLmV4dDIgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQyIG9uICRERVZJQ0UiCisKKyMgbW91bnQgcmVhZC13cml0ZQorJFRTX0NNRF9NT1VOVCAkREVWSUNFICRUU19NT1VOVFBPSU5UIHx8IHRzX2RpZSAiQ2Fubm90IG1vdW50ICRUU19NT1VOVFBPSU5UIgorCisjIGNoZWNrIHRoZSBtb3VudAorZWdyZXAgLXEgIl4kREVWSUNFICRUU19NT1VOVFBPSU5UIiAkTVRBQl9GSUxFIFwKKyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRUU19NT1VOVFBPSU5UIGluICRNVEFCX0ZJTEUiCisKKyMgcmVtb3VudAorJFRTX0NNRF9NT1VOVCAtbyByZW1vdW50LHJvICRUU19NT1VOVFBPSU5UIFwKKyB8fCB0c19kaWUgIkNhbm5vdCByZW1vdW50ICRUU19NT1VOVFBPSU5UIgorCisjIGNoZWNrIHRoZSByZW1vdW50CiskVFNfQ01EX0ZJTkRNTlQgLS1rZXJuZWwgLS1tb3VudHBvaW50ICIkVFNfTU9VTlRQT0lOVCIgLS1vcHRpb25zICJybyIgJj4gL2Rldi9udWxsCitbICIkPyIgPT0gIjAiIF0gfHwgdHNfZGllICJDYW5ub3QgZmluZCByZWFkLW9ubHkgaW4gJFRTX01PVU5UUE9JTlQgaW4gL3Byb2Mvc2VsZi9tb3VudGluZm8iCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L3JsaW1pdCBiL3Rlc3RzL3RzL21vdW50L3JsaW1pdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NTY0ZDcwCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvcmxpbWl0CkBAIC0wLDAgKzEsOTMgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisjCisjIFRoZSAvZXRjL210YWIgZmlsZSBzaG91bGQgbm90IGJlIG1vZGlmaWVkIGlmIFJMSU1JVF9GU0laRSAodWxpbWl0IC1mKQorIyBpcyB0b28gbG93LCBvdGhlcndpc2UgdGhlIGZpbGUgY291bGQgYmUgY29ycnVwdGVkIChpbmNvbXBsZXRlIHdyaXRlKS4KKyMgVGhlIFt1XW1vdW50KDgpIGhhcyB0byBibG9jayBTSUdYRlNaIGFuZCBjaGVjayBpZiBhbGwgd3JpdGVzIGFuZCBmZmx1c2gKKyMgY2FsbHMgYXJlIHN1Y2Nlc3NmdWwuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InJsaW1pdC1mc2l6ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfTUQ1IgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MyIKKworaGFzX210YWI9JCggdHNfaGFzX210YWJfc3VwcG9ydCApCitbICIkaGFzX210YWIiID09ICJ5ZXMiIF0gfHwgdHNfc2tpcCAibXRhYiB1bnN1cHBvcnRlZCIKKworWyAtTCAvZXRjL210YWIgXSAmJiB0c19za2lwICJtdGFiIGlzIHN5bWxpbmsiCitbICIkKHN0YXQgLS1mb3JtYXQgJyVzJyAvZXRjL210YWIpIiAtZ3QgIjEwMjQiIF0gfHwgdHNfc2tpcCAibXRhYiBpcyB0b28gc21hbGwiCisKK2Z1bmN0aW9uIG10YWJfY2hlY2tzdW0oKQoreworCSIkVFNfSEVMUEVSX01ENSIgPCAvZXRjL210YWIKK30KKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworbWtmcy5leHQzICRERVZJQ0UgJj4gL2Rldi9udWxsIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2UgZXh0MyBvbiAkREVWSUNFIgorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQiCitPTERfU1VNPSQobXRhYl9jaGVja3N1bSkKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCisoCisJdWxpbWl0IC1mIDEKKwkkVFNfQ01EX01PVU5UICRERVZJQ0UgJFRTX01PVU5UUE9JTlQKKykgJj4gL2Rldi9udWxsCitORVdfU1VNPSQobXRhYl9jaGVja3N1bSkKK1sgJE5FV19TVU0gPSAkT0xEX1NVTSBdICYmIGVjaG8gIk9LOiBtdGFiIHVubW9kaWZpZWQgYnkgbW91bnQiID4+ICRUU19PVVRQVVQKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJFRTX01PVU5UUE9JTlQgJj4gL2Rldi9udWxsCit0c19pc19tb3VudGVkICRERVZJQ0UgJiYgdHNfZGllICIkREVWSUNFIGlzIHN0aWxsIG1vdW50ZWQiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ1bW91bnQiCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorJFRTX0NNRF9NT1VOVCAkREVWSUNFICRUU19NT1VOVFBPSU5UICY+IC9kZXYvbnVsbAordHNfaXNfbW91bnRlZCAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9tb3VudHMiCitPTERfU1VNPSQobXRhYl9jaGVja3N1bSkKKygKKwl1bGltaXQgLWYgMQorCSRUU19DTURfVU1PVU5UICRUU19NT1VOVFBPSU5UICY+IC9kZXYvbnVsbAorKSAmPiAvZGV2L251bGwKK05FV19TVU09JChtdGFiX2NoZWNrc3VtKQorWyAkTkVXX1NVTSA9ICRPTERfU1VNIF0gJiYgZWNobyAiT0s6IG10YWIgdW5tb2RpZmllZCBieSB1bW91bnQiID4+ICRUU19PVVRQVVQKK2lmIHRzX2lzX21vdW50ZWQgJERFVklDRTsgdGhlbgorCWVjaG8gIkZBSUw6ICRERVZJQ0UgaXMgc3RpbGwgbW91bnRlZCIgPj4gJFRTX09VVFBVVAorCSRUU19DTURfVU1PVU5UICRUU19NT1VOVFBPSU5UICY+IC9kZXYvbnVsbAorZWxzZQorCSMgcmVwYWlyIC9ldGMvbXRhYgorCSRUU19DTURfVU1PVU5UIC0tZmFrZSAkVFNfTU9VTlRQT0lOVCAmPiAvZGV2L251bGwKK2ZpCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9tb3VudC9zaGFyZWQtc3VidHJlZSBiL3Rlc3RzL3RzL21vdW50L3NoYXJlZC1zdWJ0cmVlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjAzOGUwMjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9zaGFyZWQtc3VidHJlZQpAQCAtMCwwICsxLDg3IEBACisjIS9iaW4vYmFzaAorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzaGFyZWQtc3VidHJlZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRklORE1OVCIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCit0c19jaGVja19wcm9nICJta2ZzLmV4dDMiCisKK1sgLWQgJFRTX01PVU5UUE9JTlQgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCisjIGJpbmQKKyRUU19DTURfTU9VTlQgLS1iaW5kICRUU19NT1VOVFBPSU5UICRUU19NT1VOVFBPSU5UCitbICIkPyIgPSAiMCIgXSB8fCB0c19kaWUgImVycm9yOiBtb3VudCAtLWJpbmQiCisKKyMgY2hlY2sgdGhlIGJpbmQKKyRUU19DTURfRklORE1OVCAtLWtlcm5lbCAtLW1vdW50cG9pbnQgJFRTX01PVU5UUE9JTlQgICY+IC9kZXYvbnVsbAorWyAiJD8iID09ICIwIiBdIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgYmluZGVkICRUU19NT1VOVFBPSU5UIGluIC9wcm9jL3NlbGYvbW91bnRpbmZvIgorCisjIHVzZSB0aGUgc2FtZSBtb3VucG9pbnQgZm9yIGFsbCBzdWItdGVzdHMKK01PVU5UUE9JTlQ9IiRUU19NT1VOVFBPSU5UIgorCisKK3RzX2luaXRfc3VidGVzdCAibWFrZS1zaGFyZWQiCiskVFNfQ01EX01PVU5UIC0tbWFrZS1zaGFyZWQgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0ZJTkRNTlQgLW5yIC0tbW91bnRwb2ludCAkTU9VTlRQT0lOVCAtbyBQUk9QQUdBVElPTiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAibWFrZS1wcml2YXRlIgorJFRTX0NNRF9NT1VOVCAtLW1ha2UtcHJpdmF0ZSAkTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfRklORE1OVCAtbnIgLS1tb3VudHBvaW50ICRNT1VOVFBPSU5UIC1vIFBST1BBR0FUSU9OID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIm1ha2UtdW5iaW5kYWJsZSIKKyRUU19DTURfTU9VTlQgLS1tYWtlLXVuYmluZGFibGUgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0ZJTkRNTlQgLW5yIC0tbW91bnRwb2ludCAkTU9VTlRQT0lOVCAtbyBQUk9QQUdBVElPTiA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMgY2xlYW4gdXAKKyRUU19DTURfVU1PVU5UICRNT1VOVFBPSU5UCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJiaW5kLXNoYXJlZCIKKyRUU19DTURfTU9VTlQgLS1tYWtlLXNoYXJlZCBcCisJICAgICAgLS1iaW5kICRNT1VOVFBPSU5UICRNT1VOVFBPSU5UID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9GSU5ETU5UIC1uciAtLW1vdW50cG9pbnQgJE1PVU5UUE9JTlQgLW8gUFJPUEFHQVRJT04gPj4gJFRTX09VVFBVVAorJFRTX0NNRF9VTU9VTlQgJE1PVU5UUE9JTlQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCisjCisjIGJsb2NrIGRldiBiYXNlZCBtb3VudHMKKyMKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKK21rZnMuZXh0MyAkREVWSUNFICY+IC9kZXYvbnVsbCB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIGV4dDMgb24gJERFVklDRSIKK3RzX2RldmljZV9oYXMgIlRZUEUiICJleHQzIiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgZXh0MyBvbiAkREVWSUNFIgorCisKK3RzX2luaXRfc3VidGVzdCAibW91bnQtcHJpdmF0ZSIKKyRUU19DTURfTU9VTlQgLS1tYWtlLXByaXZhdGUgLS1tYWtlLXVuYmluZGFibGUgXAorCSAgICAgICRERVZJQ0UgJE1PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX0ZJTkRNTlQgLW5yIC0tbW91bnRwb2ludCAkTU9VTlRQT0lOVCAtbyBQUk9QQUdBVElPTiA+PiAkVFNfT1VUUFVUCiskVFNfQ01EX1VNT1VOVCAkTU9VTlRQT0lOVAordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgIm1vdW50LXByaXZhdGUtcm8iCiskVFNfQ01EX01PVU5UICRERVZJQ0UgJE1PVU5UUE9JTlQgLW8gcm8scHJpdmF0ZSA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfRklORE1OVCAtbnIgLS1tb3VudHBvaW50ICRNT1VOVFBPSU5UIC1vIFBST1BBR0FUSU9OID4+ICRUU19PVVRQVVQKKyRUU19DTURfRklORE1OVCAtbnIgLS1tb3VudHBvaW50ICRNT1VOVFBPSU5UIC1vIFZGUy1PUFRJT05TID4+ICRUU19PVVRQVVQKKyRUU19DTURfVU1PVU5UICRNT1VOVFBPSU5UCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3JtZGlyICRNT1VOVFBPSU5UCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L3NwZWNpYWwgYi90ZXN0cy90cy9tb3VudC9zcGVjaWFsCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjIxZWRkNjUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC9zcGVjaWFsCkBAIC0wLDAgKzEsNDMgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY2FsbCBtb3VudC48dHlwZT4iCitNT1VOVEVSPSIvc2Jpbi9tb3VudC5teXRlc3QiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAorCitjYXQgPiAkTU9VTlRFUiA8PFxFT0YKKyMhL2Jpbi9iYXNoCisjIFRoaXMgdXRpbC1saW51eCByZWdyZXNzaW9uIHRlc3QgY29tcG9uZW50CisjIEl0J3Mgc2FmZSB0byByZW1vdmUgbWUuLi4KKyMKK2VjaG8gIiQwIGNhbGxlZCB3aXRoIFwiJCpcIiIKK0VPRgorY2htb2QgK3ggJE1PVU5URVIKKworJFRTX0NNRF9NT1VOVCAtdCBteXRlc3QgL2ZvbyAvYmFyICY+ICRUU19PVVRQVVQKKworcm0gLWYgJE1PVU5URVIKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvbW91bnQvdW1vdW50LWFsbHRhcmdldHMgYi90ZXN0cy90cy9tb3VudC91bW91bnQtYWxsdGFyZ2V0cwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi42OTc5OWRlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvbW91bnQvdW1vdW50LWFsbHRhcmdldHMKQEAgLTAsMCArMSwxMjQgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEzIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ1bW91bnQtYWxsLXRhcmdldHMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTU9VTlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVU1PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX3Byb2cgIm1rZnMuZXh0MiIKKworJFRTX0NNRF9VTU9VTlQgLS1oZWxwIHwgZ3JlcCAtcSBhbGwtdGFyZ2V0cworWyAkPyAtZXEgMSBdICYmIHRzX3NraXAgImFsbC10YXJnZXRzIHVuc3VwcG9ydGVkIgorCitoYXNfbXRhYj0kKCB0c19oYXNfbXRhYl9zdXBwb3J0ICkKK2lmIFsgIiRoYXNfbXRhYiIgPT0gInllcyIgXTsgdGhlbgorCVsgLUwgL2V0Yy9tdGFiIF0gfHwgdHNfc2tpcCAicmVndWxhciBtdGFiIgorZmkKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisrMTBNCituCitwCiszCisKKysxME0KK24KK3AKKworKzEwTQordworcQorRU9GCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gQSIKK21rZnMuZXh0MiAke1RTX0RFVklDRX0xICY+IC9kZXYvbnVsbAordHNfbG9nICJDcmVhdGUgZmlsZXN5c3RlbSBCIgorbWtmcy5leHQyICR7VFNfREVWSUNFfTIgJj4gL2Rldi9udWxsCit0c19sb2cgIkNyZWF0ZSBmaWxlc3lzdGVtIEMiCitta2ZzLmV4dDIgJHtUU19ERVZJQ0V9MyAmPiAvZGV2L251bGwKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gRCIKK21rZnMuZXh0MiAke1RTX0RFVklDRX00ICY+IC9kZXYvbnVsbAorCit1ZGV2YWRtIHNldHRsZQorCitmdW5jdGlvbiBtdWx0aV9tb3VudCgpIHsKKwlsb2NhbCBERVY9JDEKKwlsb2NhbCBNTlQ9JDIKKworCXRzX2xvZyAicHJlcGFyZTogTW91bnQgZGV2IHRvIG1udDEiCisJWyAtZCAiJHtNTlR9MSIgXSB8fCBta2RpciAtcCAke01OVH0xCisJJFRTX0NNRF9NT1VOVCAkREVWICR7TU5UfTEgPj4gJFRTX09VVFBVVCAyPiYxCisKKwl0c19sb2cgInByZXBhcmU6IE1vdW50IGRldiB0byBtbnQyIgorCVsgLWQgIiR7TU5UfTIiIF0gfHwgbWtkaXIgLXAgJHtNTlR9MgorCSRUU19DTURfTU9VTlQgJERFViAke01OVH0yID4+ICRUU19PVVRQVVQgMj4mMQorCisJdHNfbG9nICJwcmVwYXJlOiBNb3VudCAvZGV2L3h4eDEgdG8gbW50MyIKKwlbIC1kICIke01OVH0zIiBdIHx8IG1rZGlyIC1wICR7TU5UfTMKKwkkVFNfQ01EX01PVU5UICRERVYgJHtNTlR9MyA+PiAkVFNfT1VUUFVUIDI+JjEKKworCXVkZXZhZG0gc2V0dGxlCit9CisKKyMgdXNlIHRoZSBzYW1lIHRvcC1sZXZlbCBtb3VudHBvaW50IGZvciBhbGwgc3ViLXRlc3RzCitNT1VOVFBPSU5UPSRUU19NT1VOVFBPSU5UCisKKyMKKyMgVGhlIHNhbWUgZGV2aWNlIG1vdW50ZWQgb24gbW9yZSBwbGFjZXMsIHVtb3VudCBhbGwgYnkgbW91bnRwb2ludCBuYW1lCisjCit0c19pbml0X3N1YnRlc3QgImFsbC10YXJnZXRzLW1udCIKK211bHRpX21vdW50ICR7VFNfREVWSUNFfTEgJE1PVU5UUE9JTlQKKyRUU19DTURfVU1PVU5UIC0tYWxsLXRhcmdldHMgJHtNT1VOVFBPSU5UfTEgPj4gJFRTX09VVFBVVCAyPiYxCitbICQ/ID09IDAgXSB8fCB0c19sb2cgInVtb3VudCBmYWlsZWQiCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKyMKKyMgVGhlIHNhbWUgZGV2aWNlIG1vdW50ZWQgb24gbW9yZSBwbGFjZXMsIHVtb3VudCBhbGwgYnkgZGV2aWNlIG5hbWUKKyMKK3RzX2luaXRfc3VidGVzdCAiYWxsLXRhcmdldHMtZGV2IgorbXVsdGlfbW91bnQgJHtUU19ERVZJQ0V9MSAkTU9VTlRQT0lOVAorJFRTX0NNRF9VTU9VTlQgLS1hbGwtdGFyZ2V0cyAke1RTX0RFVklDRX0xID4+ICRUU19PVVRQVVQgMj4mMQorWyAkPyA9PSAwIF0gfHwgdHNfbG9nICJ1bW91bnQgZmFpbGVkIgordHNfZmluYWxpemVfc3VidGVzdAorCisjCisjIFRoZSBzYW1lIGRldmljZSBtb3VudGVkIG9uIG1vcmUgcGxhY2VzLCBvbmUgb2YgdGhlIG1vdW50cG9pbnRzIGFsc28gY29udGFpbnMKKyMgc3ViLW1vdW50cy4gVW1vdW50IGFsbCBieSBvbmUgdW1vdW50IGFsbCBieSB0b3AtbGV2ZWwgZGV2aWNlIG5hbWUuCisjCit0c19pbml0X3N1YnRlc3QgImFsbC10YXJnZXRzLXJlY3Vyc2l2ZSIKK211bHRpX21vdW50ICR7VFNfREVWSUNFfTEgJE1PVU5UUE9JTlQKK1sgLWQgIiR7TU9VTlRQT0lOVH0xL3N1YkEiIF0gfHwgbWtkaXIgLXAgJHtNT1VOVFBPSU5UfTEvc3ViQQorJFRTX0NNRF9NT1VOVCAke1RTX0RFVklDRX0yICR7TU9VTlRQT0lOVH0xL3N1YkEKK1sgLWQgIiR7TU9VTlRQT0lOVH0xL3N1YkEvc3ViQUIiIF0gfHwgbWtkaXIgLXAgJHtNT1VOVFBPSU5UfTEvc3ViQS9zdWJBQgorJFRTX0NNRF9NT1VOVCAke1RTX0RFVklDRX0zICR7TU9VTlRQT0lOVH0xL3N1YkEvc3ViQUIKK1sgLWQgIiR7TU9VTlRQT0lOVH0xL3N1YkIiIF0gfHwgbWtkaXIgLXAgJHtNT1VOVFBPSU5UfTEvc3ViQgorJFRTX0NNRF9NT1VOVCAke1RTX0RFVklDRX00ICR7TU9VTlRQT0lOVH0xL3N1YkIKKyRUU19DTURfVU1PVU5UIC0tcmVjdXJzaXZlIC0tYWxsLXRhcmdldHMgJHtUU19ERVZJQ0V9MSA+PiAkVFNfT1VUUFVUIDI+JjEKK1sgJD8gPT0gMCBdIHx8IHRzX2xvZyAidW1vdW50IGZhaWxlZCIKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L3Vtb3VudC1yZWN1cnNpdmUgYi90ZXN0cy90cy9tb3VudC91bW91bnQtcmVjdXJzaXZlCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjU0NzIxN2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC91bW91bnQtcmVjdXJzaXZlCkBAIC0wLDAgKzEsOTYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgQ29weXJpZ2h0IChDKSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ1bW91bnQtcmVjdXJzaXZlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01PVU5UIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VNT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9GRElTSyIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJta2ZzLmV4dDIiCisKKyRUU19DTURfVU1PVU5UIC0taGVscCB8IGdyZXAgLXEgcmVjdXJzaXZlCitbICQ/IC1lcSAxIF0gJiYgdHNfc2tpcCAicmVjdXJzaXZlIHVuc3VwcG9ydGVkIgorCit0c19sb2cgIkluaXQgZGV2aWNlIgorIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwCisKK3RzX2xvZyAiQ3JlYXRlIHBhcnRpdGlvbnMiCiskVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwgPDxFT0YKK24KK3AKKzEKKworKzEwTQorbgorcAorMgorCisrMTBNCituCitwCiszCisKKysxME0KK24KK3AKKworKzEwTQordworcQorRU9GCisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gQSIKK21rZnMuZXh0MiAke1RTX0RFVklDRX0xICY+IC9kZXYvbnVsbAordHNfbG9nICJDcmVhdGUgZmlsZXN5c3RlbSBCIgorbWtmcy5leHQyICR7VFNfREVWSUNFfTIgJj4gL2Rldi9udWxsCit0c19sb2cgIkNyZWF0ZSBmaWxlc3lzdGVtIEMiCitta2ZzLmV4dDIgJHtUU19ERVZJQ0V9MyAmPiAvZGV2L251bGwKK3RzX2xvZyAiQ3JlYXRlIGZpbGVzeXN0ZW0gRCIKK21rZnMuZXh0MiAke1RTX0RFVklDRX00ICY+IC9kZXYvbnVsbAorCit1ZGV2YWRtIHNldHRsZQorCit0c19sb2cgIkRvIHRlc3RzLi4uIgorCitbIC1kICIkVFNfTU9VTlRQT0lOVCIgXSB8fCBta2RpciAtcCAkVFNfTU9VTlRQT0lOVAorCit0c19sb2cgIkEpIE1vdW50IHJvb3QiCiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTEgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX01PVU5UIC0tbWFrZS1zaGFyZWQgJFRTX01PVU5UUE9JTlQKKwordHNfbG9nICJCKSBNb3VudCBjaGlsZCIKK21rZGlyIC1wICRUU19NT1VOVFBPSU5UL21udEIKKyRUU19DTURfTU9VTlQgJHtUU19ERVZJQ0V9MiAkVFNfTU9VTlRQT0lOVC9tbnRCID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIkIyKSBNb3VudCBjaGlsZC1iaW5kIgorbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQvYmluZEIKKyRUU19DTURfTU9VTlQgLS1iaW5kICRUU19NT1VOVFBPSU5UL21udEIgJFRTX01PVU5UUE9JTlQvYmluZEIgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2xvZyAiQykgTW91bnQgY2hpbGQvY2hpbGQiCitta2RpciAtcCAkVFNfTU9VTlRQT0lOVC9tbnRCL21udHtDLER9CiskVFNfQ01EX01PVU5UICR7VFNfREVWSUNFfTMgJFRTX01PVU5UUE9JTlQvbW50Qi9tbnRDID4+ICRUU19PVVRQVVQgMj4mMQorCit0c19sb2cgIkQpIE1vdW50IGNoaWxkL2NoaWxkIgorJFRTX0NNRF9NT1VOVCAke1RTX0RFVklDRX00ICRUU19NT1VOVFBPSU5UL21udEIvbW50RCA+PiAkVFNfT1VUUFVUIDI+JjEKKwordHNfbG9nICJFKSBNb3VudCBjaGlsZC1iaW5kIgorbWtkaXIgLXAgJFRTX01PVU5UUE9JTlQvYmluZEMKKyRUU19DTURfTU9VTlQgLS1iaW5kICRUU19NT1VOVFBPSU5UL21udEIvbW50QyAkVFNfTU9VTlRQT0lOVC9iaW5kQworCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9VTU9VTlQgLS1yZWN1cnNpdmUgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCitbICQ/ID09IDAgXSB8fCB0c19kaWUgInVtb3VudCBmYWlsZWQiCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL21vdW50L3V1aWQgYi90ZXN0cy90cy9tb3VudC91dWlkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjM2Zjc1Y2UKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9tb3VudC91dWlkCkBAIC0wLDAgKzEsNTIgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgdXVpZCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NT1VOVCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VTU9VTlQiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAordHNfY2hlY2tfcHJvZyAibWtmcy5leHQzIgorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCitta2ZzLmV4dDMgJERFVklDRSAmPiAvZGV2L251bGwgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBleHQzIG9uICRERVZJQ0UiCitVVUlEPSQodHNfdXVpZF9ieV9kZXZuYW1lICIkREVWSUNFIikgfHwgdHNfZGllICJDYW5ub3QgZmluZCBVVUlEIG9uICRERVZJQ0UiCisKK1sgLWQgIiRUU19NT1VOVFBPSU5UIiBdIHx8IG1rZGlyIC1wICRUU19NT1VOVFBPSU5UCit0c191ZGV2YWRtX3NldHRsZSAiJERFVklDRSIgIlVVSUQiCisKKyMgdmFyaWFudCBBKQorJFRTX0NNRF9NT1VOVCAtVSAkVVVJRCAkVFNfTU9VTlRQT0lOVCA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2lzX21vdW50ZWQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2MvbW91bnRzIgorJFRTX0NNRF9VTU9VTlQgJERFVklDRSB8fCB0c19kaWUgIkEpIENhbm5vdCB1bW91bnQgJERFVklDRSIKKworIyB2YXJpYW50IEIpCiskVFNfQ01EX01PVU5UIFVVSUQ9JFVVSUQgJFRTX01PVU5UUE9JTlQgPj4gJFRTX09VVFBVVCAyPiYxCit0c19pc19tb3VudGVkICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL21vdW50cyIKKyRUU19DTURfVU1PVU5UICRERVZJQ0UgfHwgdHNfZGllICJCKSBDYW5ub3QgdW1vdW50ICRERVZJQ0UiCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL25hbWVpL2xvZ2ljIGIvdGVzdHMvdHMvbmFtZWkvbG9naWMKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZTAyNDExMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL25hbWVpL2xvZ2ljCkBAIC0wLDAgKzEsMzUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYmFzaWMgZnVuY3Rpb25hbGl0eSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9OQU1FSSIKKwordHNfY2QgIiRUU19PVVRESVIiCisKK21rZGlyIC1wIG5hbWVpMS9uYW1laTIKK3RvdWNoIG5hbWVpMS9uYW1laTIvYSBuYW1laTEvbmFtZWkyL2IKKworJFRTX0NNRF9OQU1FSSBuYW1laTEvbmFtZWkyL2EgICA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfTkFNRUkgbmFtZWkxL25hbWVpMi9iICAgPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3BhcnR4L3BhcnR4IGIvdGVzdHMvdHMvcGFydHgvcGFydHgKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjIxZGM0NAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3BhcnR4L3BhcnR4CkBAIC0wLDAgKzEsMTczIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxMCBEYXZpZGxvaHIgQnVlc28gPGRhdmVAZ251Lm9yZz4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icGFydGl0aW9ucyBwcm9iaW5nIgorUEFSVFM9MworCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1BBUlRYIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0FERFBBUlQiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfREVMUEFSVCIKKwordHNfc2tpcF9ub25yb290CisKK3Nob3B0IC1zIG51bGxnbG9iCisKK2Z1bmN0aW9uIGNoZWNrX3BhcnRpdGlvbl9jb3VudAoreworCSMgdGhpcyBmdW5jdGlvbiBuZWVkcyBzaG9wdCAtcyBudWxsZ2xvYgorCWxvY2FsIGNudF93YW50PSQxCisJbG9jYWwgZGV2bmFtZT0kKGJhc2VuYW1lICRUU19ERVZJQ0UpCisJbG9jYWwgcGFydHM9KC9zeXMvYmxvY2svJHtkZXZuYW1lfS8ke2Rldm5hbWV9KikKKwlsb2NhbCBjbnRfaGF2ZT0keyNwYXJ0c1tAXX0KKworCWlmIFsgJGNudF9oYXZlIC1lcSAkY250X3dhbnQgXTsgdGhlbgorCQlyZXR1cm4gMAorCWZpCisJZWNobyAiZXJyb3I6IGV4cGVjdGVkICRjbnRfd2FudCBwYXJ0aXRpb25zLCBoYXZlICRjbnRfaGF2ZSIgPiYyCisJZWNobyAiJHtwYXJ0c1tAXX0iID4mMgorCXJldHVybiAxCit9CisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj01MAorCit0c19pbml0X3N1YnRlc3QgImFkZHBhcnQiCit7CisJJFRTX0NNRF9BRERQQVJUICR7VFNfREVWSUNFfSAxIDAgMSAmJgorCQllY2hvIE9LIHx8CisJCWVjaG8gIlVuYWJsZSB0byBhZGQgcGFydGl0aW9uIgorCWNoZWNrX3BhcnRpdGlvbl9jb3VudCAxCit9ID4kVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJkZWxwYXJ0IgoreworCSRUU19DTURfREVMUEFSVCAke1RTX0RFVklDRX0gMSAmJgorCQllY2hvIE9LIHx8CisJCWVjaG8gIlVuYWJsZSB0byByZW1vdmUgcGFydGl0aW9uIgorCWNoZWNrX3BhcnRpdGlvbl9jb3VudCAwCit9ID4kVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfc2NzaV9kZWJ1Z19ybW1vZAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTAgbnVtX3BhcnRzPSRQQVJUUworCit0c19pbml0X3N1YnRlc3QgImRldGVjdC1wYXJ0cyIKK3sKKwkkVFNfQ01EX1BBUlRYIC0tc2hvdyAkVFNfREVWSUNFICYmCisJCWVjaG8gT0sgfHwKKwkJZWNobyAiVW5hYmxlIHRvIGxpc3QgcGFydGl0aW9ucyIKKwljaGVja19wYXJ0aXRpb25fY291bnQgJFBBUlRTCit9ID4kVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJkZWxldGUtYWxsIgorI2RlbGV0ZSBwYXJ0aW5mbworeworCSRUU19DTURfUEFSVFggLS1kZWxldGUgJFRTX0RFVklDRSAmJgorCQllY2hvICJwYXJ0aXRpb25zIGRlbGV0ZWQiIHx8CisJCWVjaG8gIlVuYWJsZSB0byBkZWxldGUgcGFydGl0aW9ucyBvbiAkVFNfREVWSUNFIgorCWNoZWNrX3BhcnRpdGlvbl9jb3VudCAwCit9ID4kVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJhZGQtYWxsIgorI3JlYWQgVFNfREVWSUNFIGFuZCByZXN0b3JlIHRoZSBwYXJ0aW5mbworeworCSRUU19DTURfUEFSVFggLS1hZGQgJFRTX0RFVklDRSAmJgorCQllY2hvICJwYXJ0aXRpb25zIGFkZGVkIiB8fAorCQllY2hvICJVbmFibGUgdG8gYWRkIHBhcnRpdGlvbnMgZm9yICRUU19ERVZJQ0UiCisJY2hlY2tfcGFydGl0aW9uX2NvdW50ICRQQVJUUworfSA+JFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAidXBkYXRlLW9uZSIKKyNyZWFkIFRTX0RFVklDRSBhbmQgdXBkYXRlIHNlY29uZCBwYXJ0aXRpb24KK3sKKwkkVFNfQ01EX1BBUlRYIC0tdXBkYXRlICR7VFNfREVWSUNFfTIgJiYKKwkJZWNobyAicGFydGl0aW9ucyB1cGRhdGVkIiB8fAorCQllY2hvICJVbmFibGUgdG8gdXBkYXRlIDJuZCBwYXJ0aXRpb24gZm9yICRUU19ERVZJQ0UiCisJY2hlY2tfcGFydGl0aW9uX2NvdW50ICRQQVJUUworfSA+JFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3VkZXZhZG0gc2V0dGxlCisKK3RzX2luaXRfc3VidGVzdCAiZGVsZXRlLW9uZSIKKyNyZW1vdmUgbGFzdCBwYXJ0aXRpb24gb25seQoreworCSRUU19DTURfUEFSVFggLWQgLS1uciAtMSAkVFNfREVWSUNFICYmCisJCWVjaG8gImxhc3QgcGFydGl0aW9uIHJlbW92ZWQiIHx8CisJCWVjaG8gIlVuYWJsZSB0byByZW1vdmUgYSBwYXJ0aXRpb24gb24gJFRTX0RFVklDRSIKKwljaGVja19wYXJ0aXRpb25fY291bnQgJCgoUEFSVFMtMSkpCit9ID4kVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJkZWxldGUtbm9uLWV4aXN0ZW50IgorI2F0dGVtcHQgdG8gcmVtb3ZlIGl0IGFnYWluCit7CisJJFRTX0NNRF9QQVJUWCAtZCAtLW5yICRQQVJUUyAkVFNfREVWSUNFICYmCisJCWVjaG8gInBhcnR4IGZhaWxlZDogcmVtb3ZlZCBub24tZXhpc3RpbmcgcGFydGl0aW9uIiB8fAorCQllY2hvICJwYXJ0eDogT0siCit9ID4kVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJhZGQtZXhpc3RpbmciCisjdHJ5IGFkZGluZyBhbiBleGlzdGluZyBwYXJ0aXRpb24KK3sKKwkkVFNfQ01EX1BBUlRYIC1hIC0tbnIgMSAkVFNfREVWSUNFIDI+L2Rldi9udWxsICYmCisJCWVjaG8gInBhcnR4IGZhaWxlZDogcmUtYWRkZWQgYW4gZXhpc3RpbmcgcGFydGl0aW9uIiB8fAorCQllY2hvICJwYXJ0eDogT0siCit9ID4kVFNfT1VUUFVUIDI+JjEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJjaGFuZ2UtYnktcmFuZ2UiCisjIHstYXwtZH0gLS1uciAwIHNob3VsZCBoYW5kbGUgYWxsIHBhcnRpdGlvbnMKK3sKKwkkVFNfQ01EX1BBUlRYIC1kIC0tbnIgMCAkVFNfREVWSUNFICYmCisJCWVjaG8gInBhcnRpdGlvbnMgZGVsZXRlZCIgfHwKKwkJZWNobyAiVW5hYmxlIHRvIGRlbGV0ZSBwYXJ0aXRpb25zIG9uICRUU19ERVZJQ0UiCisJY2hlY2tfcGFydGl0aW9uX2NvdW50IDAKKwkkVFNfQ01EX1BBUlRYIC1hIC0tbnIgMCAkVFNfREVWSUNFICYmCisJCWVjaG8gInBhcnRpdGlvbnMgYWRkZWQiIHx8CisJCWVjaG8gIkZhaWxlZCB0byBhZGQgJFRTX0RFVklDRSBwYXJ0aXRpb25zIgorCWNoZWNrX3BhcnRpdGlvbl9jb3VudCAkUEFSVFMKK30gPiRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvcGFydHgvcGFydHgtaW1hZ2UgYi90ZXN0cy90cy9wYXJ0eC9wYXJ0eC1pbWFnZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43M2M3YmExCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvcGFydHgvcGFydHgtaW1hZ2UKQEAgLTAsMCArMSw0MyBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTAgRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InNob3cgaW1hZ2VzIgorVFNfSU1HRElSPSIkVFNfVE9QRElSL3RzL2Jsa2lkL2ltYWdlcy1wdCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9QQVJUWCIKK3RzX2NoZWNrX3Byb2cgInh6IgorCitta2RpciAtcCAkVFNfT1VURElSL2ltYWdlcy1wdAorZm9yIGltZyBpbiAkVFNfSU1HRElSLyouaW1nLnh6OyBkbworCW5hbWU9JChiYXNlbmFtZSAkaW1nIC5pbWcueHopCisJb3V0aW1nPSRUU19PVVRESVIvaW1hZ2VzLXB0LyR7bmFtZX0uaW1nCisKKwl0c19pbml0X3N1YnRlc3QgJG5hbWUKKwl7CisJCXh6IC1kYyAkaW1nID4gJG91dGltZyAmJgorCQkJJFRTX0NNRF9QQVJUWCAkb3V0aW1nIHx8CisJCQllY2hvICJmYWlsZWQ6ICQ/IgorCX0gPiRUU19PVVRQVVQgMj4mMQorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2RvbmUKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3BhdGhzL2J1aWx0LWluIGIvdGVzdHMvdHMvcGF0aHMvYnVpbHQtaW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmY1NWMxMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3BhdGhzL2J1aWx0LWluCkBAIC0wLDAgKzEsMzIgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnVpbHQtaW4iCisKKyMgRG9uJ3QgZXhlY3V0ZSB0aGlzIHRlc3QgYnkgZGVmYXVsdCwgLS1mb3JjZSByZXF1aXJlZAorVFNfT1BUSU9OQUw9InllcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9QQVRIUyIKKworJFRTX0hFTFBFUl9QQVRIUyAmPiAkVFNfT1VUUFVUCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3JlbmFtZS9iYXNpYyBiL3Rlc3RzL3RzL3JlbmFtZS9iYXNpYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jZjM2MjllCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvcmVuYW1lL2Jhc2ljCkBAIC0wLDAgKzEsNDEgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJiYXNpYyBjaGVjayIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9SRU5BTUUiCit0c19jZCAiJFRTX09VVERJUiIKKwordG91Y2ggcmVuYW1lX2Jhc2ljLnsxLi4zfQorJFRTX0NNRF9SRU5BTUUgLXYgYmFzaWMgdGVzdCByZW5hbWVfYmFzaWMuPyA+PiAkVFNfT1VUUFVUIDI+JjEKKworZm9yIGkgaW4gcmVuYW1lX2Jhc2ljLj87IGRvCisJZWNobyAid2hhdCBpcyAkaSBkb2luZyBoZXJlPyIgPj4gJFRTX09VVFBVVAorZG9uZQorZm9yIGkgaW4gcmVuYW1lX3Rlc3QuezEuLjN9OyBkbworCWlmIFsgISAtZiAkaSBdOyB0aGVuCisJCWVjaG8gImZpbGUgJGkgaXMgbWlzc2luZyIgPj4gJFRTX09VVFBVVAorCWVsc2UKKwkJcm0gLWYgJGkKKwlmaQorZG9uZQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvcmVuYW1lL2V4aXRfY29kZXMgYi90ZXN0cy90cy9yZW5hbWUvZXhpdF9jb2RlcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zNzAyODE2Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvcmVuYW1lL2V4aXRfY29kZXMKQEAgLTAsMCArMSw0MSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTQgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImV4aXQgY29kZXMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfUkVOQU1FIgordHNfY2QgIiRUU19PVVRESVIiCisKK3RvdWNoIHJlbmFtZV9leGl0X2NvZGVzLnsxLi4yfQorJFRTX0NNRF9SRU5BTUUgLXYgbm90X2FfbWF0Y2ggaW1wb3NzaWJsZSByZW5hbWVfZXhpdF9jb2Rlcy4/ID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAiUkVOQU1FX0VYSVRfTk9USElORzogJD8iID4+ICRUU19PVVRQVVQKKworJFRTX0NNRF9SRU5BTUUgLXYgY29kZXMgdmFsdWVzIHJlbmFtZV9leGl0X2NvZGVzLj8gPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvICJFWElUX1NVQ0NFU1M6ICQ/IiA+PiAkVFNfT1VUUFVUCisKK21rZGlyIHJlbmFtZV9leGl0X2NvZGVzLjIKKyRUU19DTURfUkVOQU1FIC12IHZhbHVlcyBjb2RlcyByZW5hbWVfZXhpdF92YWx1ZXMuPyA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gIlJFTkFNRV9FWElUX1NPTUVPSzogJD8iID4+ICRUU19PVVRQVVQKKworcm1kaXIgcmVuYW1lX2V4aXRfY29kZXMuMgorcm0gcmVuYW1lX2V4aXRfY29kZXMuPyByZW5hbWVfZXhpdF92YWx1ZXMuPworCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvcmVuYW1lL292ZXJ3cml0ZSBiL3Rlc3RzL3RzL3JlbmFtZS9vdmVyd3JpdGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmU1YjI0ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3JlbmFtZS9vdmVyd3JpdGUKQEAgLTAsMCArMSwzMSBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMTcgU2FtaSBLZXJvbGEgPGtlcm9sYXNhQGlraS5maT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9Im92ZXJ3cml0ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9SRU5BTUUiCit0c19jZCAiJFRTX09VVERJUiIKKwordG91Y2ggcmVuYW1lX2Zyb20gcmVuYW1lX3RvCiskVFNfQ01EX1JFTkFNRSAtdiAtLW5vLW92ZXJ3cml0ZSBmcm9tIHRvIHJlbmFtZV9mcm9tID4gJFRTX09VVFBVVCAyPiYxCitybSByZW5hbWVfZnJvbSByZW5hbWVfdG8gPj4gJFRTX09VVFBVVCAyPiYxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9yZW5hbWUvc3ViZGlyIGIvdGVzdHMvdHMvcmVuYW1lL3N1YmRpcgpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wMTQ3MmZhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvcmVuYW1lL3N1YmRpcgpAQCAtMCwwICsxLDY4IEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAxNCBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ic3ViZGlyIGNoZWNrIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1JFTkFNRSIKK3RzX2NkICIkVFNfT1VURElSIgorCitlY2hvICI9PSBmaWxlcyA9PSIgPj4gJFRTX09VVFBVVAorbWtkaXIgcmVuYW1lX2F7YSxifQordG91Y2ggcmVuYW1lX2F7YSxifS9hYQorJFRTX0NNRF9SRU5BTUUgLXYgYSB4IHJlbmFtZV9hPy9hYSA+PiAkVFNfT1VUUFVUIDI+JjEKK2ZpbmQgcmVuYW1lX2F7YSxifSA+PiAkVFNfT1VUUFVUIDI+JjEKKworZWNobyAiPT0gc3ltbGlua3MgPT0iID4+ICRUU19PVVRQVVQKK2ZvciBpIGluIHJlbmFtZV9he2EsYn0vc3VibGluay57MS4uM307IGRvCisJbG4gLXMgcmVuYW1lL2FhICRpCitkb25lCiskVFNfQ01EX1JFTkFNRSAtcyAtdiBhIHggcmVuYW1lX2F7YSxifS9zdWJsaW5rLj8gPj4gJFRTX09VVFBVVCAyPiYxCitmb3IgaSBpbiByZW5hbWVfYXthLGJ9L3N1YmxpbmsuPzsgZG8KKwlyZWFkbGluayAkaSA+PiAkVFNfT1VUUFVUIDI+JjEKK2RvbmUKKworcm0gLXJmIHJlbmFtZV9he2EsYn0KKworZWNobyAiPT0gZnVsbHBhdGggPT0iID4+ICRUU19PVVRQVVQKK3RvdWNoIHJlbmFtZV9wYXRoMQorJFRTX0NNRF9SRU5BTUUgLXYgLi9yZW5hbWVfcGF0aDEgLi9yZW5hbWVfcGF0aDIgLi9yZW5hbWVfcGF0aDEgPj4gJFRTX09VVFBVVCAyPiYxCisKK2ZpbmQgLiAtbmFtZSAncmVuYW1lX3BhdGgqJyA+PiAkVFNfT1VUUFVUIDI+JjEKK3JtIC1mIC4vcmVuYW1lX3BhdGgqCisKK21rZGlyIHJlbmFtZV9wYXRoX2EKK3RvdWNoIHJlbmFtZV9wYXRoX3Rlc3QxCisKKyRUU19DTURfUkVOQU1FIC12IHJlbmFtZV9wYXRoX3Rlc3QxIHJlbmFtZV9wYXRoX2EvdGVzdDEgcmVuYW1lX3BhdGhfdGVzdDEgPj4gJFRTX09VVFBVVCAyPiYxCisKK2ZpbmQgLiAtbmFtZSAnKnRlc3QxKicgPj4gJFRTX09VVFBVVCAyPiYxCitybSAtZiByZW5hbWVfcGF0aF90ZXN0MSByZW5hbWVfcGF0aF9hL3Rlc3QxCisKK21rZGlyIHJlbmFtZV9wYXRoX2IKK3RvdWNoIHJlbmFtZV9wYXRoX2EvdGVzdDIKKyRUU19DTURfUkVOQU1FIC12IHJlbmFtZV9wYXRoX2EvdGVzdDIgcmVuYW1lX3BhdGhfYi90ZXN0MiByZW5hbWVfcGF0aF9hL3Rlc3QyID4+ICRUU19PVVRQVVQgMj4mMQorCitmaW5kIHJlbmFtZV9wYXRoX2EgcmVuYW1lX3BhdGhfYiA+PiAkVFNfT1VUUFVUIDI+JjEKK3JtIC1mIHJlbmFtZV9wYXRoX2EvdGVzdDIgcmVuYW1lX3BhdGhfYi90ZXN0MgorCitybWRpciByZW5hbWVfcGF0aF9hIHJlbmFtZV9wYXRoX2IKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3JlbmFtZS9zeW1saW5rIGIvdGVzdHMvdHMvcmVuYW1lL3N5bWxpbmsKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjdmNDM5MgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3JlbmFtZS9zeW1saW5rCkBAIC0wLDAgKzEsNDEgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDE0IFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJzeW1saW5rIGNoZWNrIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1JFTkFNRSIKK3RzX2NkICIkVFNfT1VURElSIgorCitmb3IgaSBpbiByZW5hbWVfc2xpbmsuezEuLjN9OyBkbworCWxuIC1zIG9sZCAkaQorZG9uZQorCiskVFNfQ01EX1JFTkFNRSAtcyAtdiBvbGQgbmV3IHJlbmFtZV9zbGluay4/ID4+ICRUU19PVVRQVVQgMj4mMQorCitmb3IgaSBpbiByZW5hbWVfc2xpbmsuezEuLjN9OyBkbworCXdoZXJlPSIkKHJlYWRsaW5rICRpKSIKKwlpZiBbICIkd2hlcmUiICE9ICJuZXciIF07IHRoZW4KKwkJZWNobyAiZXJyb3I6ICRpIHBvaW50cyB0byAkd2hlcmUiID4+ICRUU19PVVRQVVQKKwlmaQorCXJtIC1mICRpCitkb25lCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zY2hlZHV0aWxzL2NocnQgYi90ZXN0cy90cy9zY2hlZHV0aWxzL2NocnQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMzMzZTEyZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NjaGVkdXRpbHMvY2hydApAQCAtMCwwICsxLDExMCBAQAorIyEvYmluL2Jhc2gKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY2hydCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DSFJUIgordHNfc2tpcF9ub25yb290CisKKyMgVE9ETzogZHJvbmUuaW8gZG9lcyBub3QgbGlrZSBGSUZPIGFuZCBSUiAoY29udGFpbmVyIHJlc3RyaWN0aW9uPykKK1RTX0tOT1dOX0ZBSUw9InllcyIKKworZnVuY3Rpb24gZG9fY2hydCB7CisJJFRTX0NNRF9DSFJUICQqICRUU19DTURfQ0hSVCAtLXBpZCAwIHwgc2VkICdzLy4qIHBvbGljeTogLy87IHMvLiogcHJpb3JpdHk6IC8vJyA+PiAkVFNfT1VUUFVUIDI+JjEKK30KKworZnVuY3Rpb24gc2tpcF9wb2xpY3kgeworCSRUU19DTURfQ0hSVCAtLW1heCB8IGdyZXAgJDEgfCBncmVwICdwcmlvcml0eScgJj4gL2Rldi9udWxsCisJaWYgWyAkPyA9PSAxIF07IHRoZW4KKwkJdHNfc2tpcF9zdWJ0ZXN0ICJ1bnN1cHBvcnRlZCIKKwkJcmV0dXJuIDEKKwlmaQorCXJldHVybiAwCit9CisKK2Z1bmN0aW9uIGNsZWFudXBfb3V0cHV0IHsKKwlzZWQgLWkgLWUgJ3MvcGlkIFswLTldKi88cmVtb3ZlZD4vJyAkVFNfT1VUUFVUCit9CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJmaWZvIgorc2tpcF9wb2xpY3kgU0NIRURfRklGTworaWYgWyAkPyA9PSAwIF07IHRoZW4KKwlkb19jaHJ0IC0tZmlmbyAxCisJZG9fY2hydCAtLWZpZm8gOTkKKwljbGVhbnVwX291dHB1dAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJiYXRjaCIKK3NraXBfcG9saWN5IFNDSEVEX0JBVENICitpZiBbICQ/ID09IDAgXTsgdGhlbgorCWRvX2NocnQgLS1iYXRjaCAwCisJY2xlYW51cF9vdXRwdXQKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CitmaQorCisKK3RzX2luaXRfc3VidGVzdCAib3RoZXIiCitza2lwX3BvbGljeSBTQ0hFRF9PVEhFUgoraWYgWyAkPyA9PSAwIF07IHRoZW4KKwlkb19jaHJ0IC0tb3RoZXIgMAorCWNsZWFudXBfb3V0cHV0CisJdHNfZmluYWxpemVfc3VidGVzdAorZmkKKworCit0c19pbml0X3N1YnRlc3QgInJyIgorc2tpcF9wb2xpY3kgU0NIRURfUlIKK2lmIFsgJD8gPT0gMCBdOyB0aGVuCisJZG9fY2hydCAtLXJyIDEKKwlkb19jaHJ0IC0tcnIgOTkKKwljbGVhbnVwX291dHB1dAorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJpZGxlIgorc2tpcF9wb2xpY3kgU0NIRURfSURMRQoraWYgWyAkPyA9PSAwIF07IHRoZW4KKwlkb19jaHJ0IC0taWRsZSAwCisJY2xlYW51cF9vdXRwdXQKKwl0c19maW5hbGl6ZV9zdWJ0ZXN0CitmaQorCisKK3RzX2luaXRfc3VidGVzdCAiZGVhZGxpbmUiCitza2lwX3BvbGljeSBTQ0hFRF9ERUFETElORQoraWYgWyAkPyA9PSAwIF07IHRoZW4KKwlkb19jaHJ0IC0tZGVhZGxpbmUgLS1zY2hlZC1wZXJpb2QgMTMwMDAgMAorCWRvX2NocnQgLS1kZWFkbGluZSAtLXNjaGVkLXBlcmlvZCAxMzAwMCAtLXNjaGVkLWRlYWRsaW5lIDEyMDAwIDAKKwlkb19jaHJ0IC0tZGVhZGxpbmUgLS1zY2hlZC1wZXJpb2QgMTMwMDAgLS1zY2hlZC1kZWFkbGluZSAxMjAwMCAtLXNjaGVkLXJ1bnRpbWUgMTAwMDAgMAorCWNsZWFudXBfb3V0cHV0CisJdHNfZmluYWxpemVfc3VidGVzdAorZmkKKworIyBmYWlsZWQgLS0gbGV0J3MgcmVwb3J0IGtlcm5lbCBsaW1pdHMKKyMKK2lmIFsgJFRTX05TVUJGQUlMRUQgLW5lIDAgXTsgdGhlbgorCWVjaG8gIlN1cHBvcnRlZCBwb2xpY2llczoiCisJJFRTX0NNRF9DSFJUIC0tbWF4CitmaQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2NoZWR1dGlscy9jaHJ0LW5vbi1yb290IGIvdGVzdHMvdHMvc2NoZWR1dGlscy9jaHJ0LW5vbi1yb290Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmIxMjBkMzAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9zY2hlZHV0aWxzL2NocnQtbm9uLXJvb3QKQEAgLTAsMCArMSw2MSBAQAorIyEvYmluL2Jhc2gKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY2hydC1ub24tdXNlciIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9DSFJUIgorCisjIFRPRE86IGRyb25lLmlvIGRvZXMgbm90IGxpa2UgRklGTyBhbmQgUlIgKGNvbnRhaW5lciByZXN0cmljdGlvbj8pCitUU19LTk9XTl9GQUlMPSJ5ZXMiCisKK2Z1bmN0aW9uIGRvX2NocnQgeworCSRUU19DTURfQ0hSVCAkKiAkVFNfQ01EX0NIUlQgLS1waWQgMCB8IHNlZCAncy8uKiBwb2xpY3k6IC8vOyBzLy4qIHByaW9yaXR5OiAvLycgPj4gJFRTX09VVFBVVCAyPiYxCit9CisKK2Z1bmN0aW9uIHNraXBfcG9saWN5IHsKKwkkVFNfQ01EX0NIUlQgLS1tYXggfCBncmVwICQxIHwgZ3JlcCAncHJpb3JpdHknICY+IC9kZXYvbnVsbAorCWlmIFsgJD8gPT0gMSBdOyB0aGVuCisJCXRzX3NraXBfc3VidGVzdCAidW5zdXBwb3J0ZWQiCisJCXJldHVybiAxCisJZmkKKwlyZXR1cm4gMAorfQorCitmdW5jdGlvbiBjbGVhbnVwX291dHB1dCB7CisJc2VkIC1pIC1lICdzL3BpZCBbMC05XSovPHJlbW92ZWQ+LycgJFRTX09VVFBVVAorCXNlZCAtaSAtZSAncy9bMC05XSogKHByb2Nlc3MvPHJlbW92ZWQ+IChwcm9jZXNzLycgJFRTX09VVFBVVAorfQorCit0c19pbml0X3N1YnRlc3QgImJhdGNoLXZzLW5pY2UiCitza2lwX3BvbGljeSBTQ0hFRF9CQVRDSAoraWYgWyAkPyA9PSAwIF07IHRoZW4KKwlyZW5pY2UgLW4gNSAtcCAkJCA+PiAkVFNfT1VUUFVUIDI+JjEKKwlkb19jaHJ0IC0tYmF0Y2ggMAorCWNsZWFudXBfb3V0cHV0CisJdHNfZmluYWxpemVfc3VidGVzdAorZmkKKworIyBmYWlsZWQgLS0gbGV0J3MgcmVwb3J0IGtlcm5lbCBsaW1pdHMKKyMKK2lmIFsgJFRTX05TVUJGQUlMRUQgLW5lIDAgXTsgdGhlbgorCWVjaG8gIlN1cHBvcnRlZCBwb2xpY2llczoiCisJJFRTX0NNRF9DSFJUIC0tbWF4CitmaQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2NoZWR1dGlscy9jcHVzZXQgYi90ZXN0cy90cy9zY2hlZHV0aWxzL2NwdXNldApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hZmQwZmQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2NoZWR1dGlscy9jcHVzZXQKQEAgLTAsMCArMSw1OSBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJjcHVzZXQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfQ1BVU0VUIgorCitNQVNLUz0iIDB4MDAwMDAwMDEgXAorCTB4MDAwMDAwMDIgXAorCTB4MDAwMDAwMDMgXAorCTB4MDAwMDAwMDQgXAorCTB4MDAwMDAwMDUgXAorCTB4MDAwMDAwMDYgXAorCTB4MDAwMDAwMDcgXAorCTB4MDAwMDAwMDggXAorCTB4MDAwMDAwMDkgXAorCTB4MDAwMDU1NTUgXAorCTB4MDAwMDc3NzciCisKK1JBTkdFUz0iMCBcCisJMSBcCisJMCwxIFwKKwkyIFwKKwkwLDIgXAorCTEsMiBcCisJMC0yIFwKKwkzIFwKKwkwLDMgXAorCTAsMiw0LDYsOCwxMCwxMiwxNCBcCisJMC0yLDQtNiw4LTEwLDEyLTE0IgorCit0c19sb2cgIm1hc2tzOiIKK2ZvciBpIGluICRNQVNLUzsgZG8KKwkkVFNfSEVMUEVSX0NQVVNFVCAtLW1hc2sgJGkgPj4gJFRTX09VVFBVVAorZG9uZQorCit0c19sb2cgInN0cmluZ3M6IgorZm9yIGkgaW4gJFJBTkdFUzsgZG8KKwkkVFNfSEVMUEVSX0NQVVNFVCAtLXJhbmdlICRpID4+ICRUU19PVVRQVVQKK2RvbmUKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NjcmlwdC9idWZmZXJpbmctcmFjZSBiL3Rlc3RzL3RzL3NjcmlwdC9idWZmZXJpbmctcmFjZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4wZTRiMmI5Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2NyaXB0L2J1ZmZlcmluZy1yYWNlCkBAIC0wLDAgKzEsMjYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnVmZmVyaW5nIHJhY2UiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0NSSVBUIgorCiskVFNfQ01EX1NDUklQVCAtYyAiZWNobyBIYWxsbyBXb3JsZCIgL2Rldi9udWxsIDwvZGV2L251bGwgPiRUU19PVVRQVVQKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2NyaXB0L29wdGlvbnMgYi90ZXN0cy90cy9zY3JpcHQvb3B0aW9ucwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45YjVmOWQ1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2NyaXB0L29wdGlvbnMKQEAgLTAsMCArMSw2NiBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJvcHRpb25zIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworZXhwb3J0IFNDUklQVF9URVNUX1NFQ09ORF9TSU5DRV9FUE9DSD0xNDMyNDg5Mzk4CitleHBvcnQgVFo9IkdNVCIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1NDUklQVCIKKwordHNfaW5pdF9zdWJ0ZXN0ICJhcHBlbmQiCiskVFNfSEVMUEVSX1NDUklQVCAtLWNvbW1hbmQgImVjaG8gYXBwZW5kMSIgJFRTX09VVFBVVCA8L2Rldi9udWxsID4vZGV2L251bGwgMj4mMQorJFRTX0hFTFBFUl9TQ1JJUFQgLS1hcHBlbmQgLWMgImVjaG8gYXBwZW5kMiIgJFRTX09VVFBVVCA8L2Rldi9udWxsID4vZGV2L251bGwgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgImZvcmNlIgorbG4gLXMgJFRTX09VVFBVVCB0eXBlc2NyaXB0CiskVFNfSEVMUEVSX1NDUklQVCAtLWNvbW1hbmQgImVjaG8gbm8gZm9yY2UiIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPj4gJFRTX09VVFBVVAorZWNobyAkPyA+PiAkVFNfT1VUUFVUCiskVFNfSEVMUEVSX1NDUklQVCAtYSAtLWZvcmNlIC0tY29tbWFuZCAiZWNobyB3aXRoIGZvcmNlIiA8L2Rldi9udWxsID4vZGV2L251bGwKK2VjaG8gJD8gPj4gJFRTX09VVFBVVAorcm0gLWYgdHlwZXNjcmlwdAorbG4gLXMgJFRTX09VVFBVVCB0cGlyY3NlcHl0CiskVFNfSEVMUEVSX1NDUklQVCAtYSAtLWNvbW1hbmQgImVjaG8gbm90IHR5cGVzY3JpcHQiIHRwaXJjc2VweXQgPC9kZXYvbnVsbCA+L2Rldi9udWxsCitlY2hvICQ/ID4+ICRUU19PVVRQVVQKK3JtIC1mIHRwaXJjc2VweXQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJxdWlldCIKKyRUU19IRUxQRVJfU0NSSVBUIC0tcXVpZXQgLS1jb21tYW5kICJlY2hvIHF1aWV0MSIgJFRTX09VVFBVVCA8L2Rldi9udWxsID4vZGV2L251bGwgMj4mMQorJFRTX0hFTFBFUl9TQ1JJUFQgLWEgLXEgLS1jb21tYW5kICJlY2hvIHF1aWV0MiIgJFRTX09VVFBVVCA8L2Rldi9udWxsID4vZGV2L251bGwgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInJldHVybiIKKyRUU19IRUxQRVJfU0NSSVBUIC0tY29tbWFuZCAiZXhpdCAxIiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCitlY2hvICQ/ID4+ICRUU19PVVRQVVQKKyRUU19IRUxQRVJfU0NSSVBUIC1hIC0tY29tbWFuZCAiZXhpdCAwIiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCitlY2hvICQ/ID4+ICRUU19PVVRQVVQKKyRUU19IRUxQRVJfU0NSSVBUIC1lIC0tYXBwZW5kIC1jICJleGl0IDQyIiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCitlY2hvICQ/ID4+ICRUU19PVVRQVVQKKyRUU19IRUxQRVJfU0NSSVBUIC0tcmV0dXJuIC0tYXBwZW5kIC1jICJleGl0IDEyNyIgJFRTX09VVFBVVCA8L2Rldi9udWxsID4vZGV2L251bGwgMj4mMQorZWNobyAkPyA+PiAkVFNfT1VUUFVUCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3RzX2luaXRfc3VidGVzdCAic2l6ZSIKKyRUU19IRUxQRVJfU0NSSVBUIC0tb3V0cHV0LWxpbWl0IDkgLS1jb21tYW5kICJlY2hvIDE6MTIzNDU2Nzg5MCIgJFRTX09VVFBVVCA8L2Rldi9udWxsID4vZGV2L251bGwgMj4mMQorJFRTX0hFTFBFUl9TQ1JJUFQgLWEgLW8gOSAtLWNvbW1hbmQgImVjaG8gMjoxMjM0NTY3ODkwIiAkVFNfT1VUUFVUIDwvZGV2L251bGwgPi9kZXYvbnVsbCAyPiYxCitlY2hvICQ/ID4+ICRUU19PVVRQVVQKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NjcmlwdC9yYWNlIGIvdGVzdHMvdHMvc2NyaXB0L3JhY2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMmMyNmI4OQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NjcmlwdC9yYWNlCkBAIC0wLDAgKzEsNDggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJyYWNlIGNvbmRpdGlvbnMiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0NSSVBUIgorCisjIHRoaXMgdGVzdCBtYXkgZmFpbCBvbiBzeXN0ZW1zIHdpdGggdmVyeSBoZWF2eSBsb2FkCisjIGh0dHBzOi8vZ2l0aHViLmNvbS9rYXJlbHphay91dGlsLWxpbnV4L2lzc3Vlcy8yOTYKK1RTX0tOT1dOX0ZBSUw9InllcyIKKworYmluZ29maWxlPSIkVFNfT1VURElSLyR7VFNfVEVTVE5BTUV9LWJpbmdvIgorCitjb3VudD0xMDAwCitmb3IgaSBpbiBgc2VxIDEgJGNvdW50YDsgZG8KKwkkVFNfQ01EX1NDUklQVCAtcSAtYyAicHJpbnRmICdCaW5nb1xuJyIgJGJpbmdvZmlsZQorZG9uZSB8IGdyZXAgLWMgQmluZ28gPj4gJFRTX09VVFBVVAorCitzZWVuPSQoPCRUU19PVVRQVVQpCitpZiBbICIkc2VlbiIgPSAiJGNvdW50IiBdOyB0aGVuCisJZWNobyAiYWxsIGJpbmdvcyBzZWVuIiA+ICRUU19PVVRQVVQKK2Vsc2UKKwllY2hvICJvbmx5ICRzZWVuIG9mICRjb3VudCBiaW5nb3Mgc2VlbiIgPiAkVFNfT1VUUFVUCitmaQorCitybSAtZiAkYmluZ29maWxlCisKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NjcmlwdC9yZXBsYXkgYi90ZXN0cy90cy9zY3JpcHQvcmVwbGF5Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA2NTc0YzAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9zY3JpcHQvcmVwbGF5CkBAIC0wLDAgKzEsMzggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0icmVwbGF5IgorCisuICIkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaCIKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0NSSVBUIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NDUklQVFJFUExBWSIKKworU0NSSVBUX0ZJTEU9IiQobWt0ZW1wICIke1RTX09VVERJUn0vc2NYWFhYWFhYWFhYWFhYIikiCitUSU1JTkdfRklMRT0iJChta3RlbXAgIiR7VFNfT1VURElSfS90bVhYWFhYWFhYWFhYWFgiKSIKKworZWNobyAicmVjb3JkIHNjcmlwdCBvdXRwdXQgd2l0aCB0aW1pbmciID4iJFRTX09VVFBVVCIKKyIkVFNfQ01EX1NDUklQVCIgLWMgImVjaG8gaGVsbG8gd29ybGQ7IHNsZWVwIDAuNTsgZWNobyBhbGwgZG9uZSIgXAorCS0tdGltaW5nPSIkVElNSU5HX0ZJTEUiICIkU0NSSVBUX0ZJTEUiID4+IiRUU19PVVRQVVQiIDI+JjEKKworZWNobyAicmVwbGF5IHNjcmlwdCBvdXRwdXQiID4+IiRUU19PVVRQVVQiCisiJFRTX0NNRF9TQ1JJUFRSRVBMQVkiICIkVElNSU5HX0ZJTEUiICIkU0NSSVBUX0ZJTEUiIDEuNSA+PiIkVFNfT1VUUFVUIiAyPiYxCisKK3NlZCAtaSAic3wkU0NSSVBUX0ZJTEV8dHlwZXNjcmlwdHxnOyBzfCRUSU1JTkdfRklMRXx0aW1pbmdmaWxlfGciICIkVFNfT1VUUFVUIgorCitybSAtZiAiJFNDUklQVF9GSUxFIiAiJFRJTUlOR19GSUxFIgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2ZkaXNrL2RvcyBiL3Rlc3RzL3RzL3NmZGlzay9kb3MKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uN2Q4Y2ZiZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NmZGlzay9kb3MKQEAgLTAsMCArMSwyMzUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJNQlIiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1dJUEVGUyIKKwordHNfc2tpcF9ub25yb290CisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj01MCBzZWN0b3Jfc2l6ZT01MTIgcGh5c2Jsa19leHA9MworCisKK3RzX2luaXRfc3VidGVzdCAic2ltcGxlLWNvbW1hcyIKKyRUU19DTURfU0ZESVNLIC0tdW5pdCBTICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKKyAyMDQ4LDYxNDQsTAorODE5MiwgNjE0NCxTCisxNDMzNiAsIDYxNDQgLAorMjA0ODAsLEUKKyw2MTQ0ICwKKywsCitFT0YKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJhY3RpdmF0ZSIKKyRUU19DTURfU0ZESVNLIC0tYWN0aXZhdGUgJHtUU19ERVZJQ0V9IDEgPj4gJFRTX09VVFBVVCAyPiYxIAorJFRTX0NNRF9TRkRJU0sgLS11bml0IFMgLS1saXN0ICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJzaW1wbGUtc3BhY2UiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgLS11bml0IFMgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgorIDIwNDggNjE0NCBMCis4MTkyICA2MTQ0IFMKKywsCitFT0YKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZWFkLWR1bXAtY2FzZSIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbC1pZDogMHgxZGRjOGE3OQorCiske1RTX0RFVklDRX0xIDogc3RBcnQ9ICAgICAyMDQ4LCBzSVplPSAgICAgNjE0NCwgaWQ9ODMsIGJvb3RBYmxlCitFT0YKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZWFkLWR1bXAiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgLS11bml0IFMgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgordW5pdDogc2VjdG9ycworbGFiZWwtaWQ6IDB4MWRkYzhhNzkKKworJHtUU19ERVZJQ0V9MSA6IHN0YXJ0PSAgICAgMjA0OCwgc2l6ZT0gICAgIDYxNDQsIElkPTgzLCBib290YWJsZQorJHtUU19ERVZJQ0V9MiA6IHN0YXJ0PSAgICAgODE5Miwgc2l6ZT0gICAgIDYxNDQsIElkPTgyCiske1RTX0RFVklDRX0zIDogc3RhcnQ9ICAgIDE0MzM2LCBzaXplPSAgICAgNjE0NCwgSWQ9ODMKKyR7VFNfREVWSUNFfTQgOiBzdGFydD0gICAgMjA0ODAsIHNpemU9ICAgIDgxOTIwLCBJZD0gNQorJHtUU19ERVZJQ0V9NSA6IHN0YXJ0PSAgICAyMDQ4MSwgc2l6ZT0gICAgIDYxNDQsIElkPTgzCiske1RTX0RFVklDRX02IDogc3RhcnQ9ICAgIDI2NjI2LCBzaXplPSAgICA3NTc3NCwgSWQ9ODMKK0VPRgordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIndyaXRlLWR1bXAiCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAtLWR1bXAgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAid3JpdGUtanNvbiIKKyRUU19DTURfU0ZESVNLIC0tanNvbiAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKworIworIyBUZXN0IGZpcnN0IExCQSBzbWFsbGVyIHRoYW4gbGliZmRpc2sgZGVmYXVsdCAofjFNaUIpIGFuZCBzbWFsbCBnYXBzIGJldHdlZW4KKyMgbG9naWNhbCBwYXJ0aXRpb25zIChqdXN0IG9ubHkgb25lIHNlY3RvciBmb3IgRUJSKS4KKyMKK3RzX2luaXRfc3VidGVzdCAiZXhwbGljaXQtc2l6ZSIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCitsYWJlbDogZG9zCisxLCAxMDAwLCBMCisxMDAxLCAxMDAwLCBTCisyMDAxLCAxMDAwCiszMDAxLCxFCiszMDAyLDEwMDAsTAorNDAwMywxMDAwLEwKKzUwMDQsLEwKK0VPRgordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInJlc2l6ZSIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPiAvZGV2L251bGwgMj4mMSA8PEVPRgorbGFiZWw6IGRvcworLDEwTSxTLCoKK0VPRgordWRldmFkbSBzZXR0bGUKK2VjaG8gJywrJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC1OMSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAicmVzaXplLWVtcHR5LWV4dGVuZGVkIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA+IC9kZXYvbnVsbCAyPiYxIDw8RU9GCitsYWJlbDogZG9zCissMU0KKywyTSxFCitFT0YKK3VkZXZhZG0gc2V0dGxlCitlY2hvICcsKycgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtTjIgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInJlZHVjZS1lbXB0eS1leHRlbmRlZCIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPiAvZGV2L251bGwgMj4mMSA8PEVPRgorbGFiZWw6IGRvcworLDFNCissNU0sRQorRU9GCit1ZGV2YWRtIHNldHRsZQorZWNobyAnLC0yTScgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtTjIgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZXNpemUtZXh0ZW5kZWQiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4gL2Rldi9udWxsIDI+JjEgPDxFT0YKK2xhYmVsOiBkb3MKKywxTQorLDFNCissMU0KKyw1TSxFCissMU0KKywxTQorRU9GCit1ZGV2YWRtIHNldHRsZQorZWNobyAnLCsnIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgLU40ICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZXNpemUtbG9naWNhbCIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPiAvZGV2L251bGwgMj4mMSA8PEVPRgorbGFiZWw6IGRvcworLDFNCissMU0KKywxTQorLDEwTSxFCissMU0KKywxTQorRU9GCit1ZGV2YWRtIHNldHRsZQorZWNobyAnLCsnIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgLU42ICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJkdW1wLW9sZCIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPCAkVFNfU0VMRi9maWxlcy9kdW1wLW9sZCA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiZHVtcC1nYXBzIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA8ICRUU19TRUxGL2ZpbGVzL2R1bXAtZ2FwcyA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2ZkaXNrL2ZpbGVzL2R1bXAtZ2FwcyBiL3Rlc3RzL3RzL3NmZGlzay9maWxlcy9kdW1wLWdhcHMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2FmZjljYQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NmZGlzay9maWxlcy9kdW1wLWdhcHMKQEAgLTAsMCArMSw3IEBACisjIHBhcnRpdGlvbiB0YWJsZSBvZiAvZGV2L3NkYwordW5pdDogc2VjdG9ycworCisvZGV2L3NkYzEgOiBzdGFydD0gICAgIDIwNDgsIHNpemU9ICAgIDQ5OTk5LCBJZD04MywgYm9vdGFibGUKKy9kZXYvc2RjMiA6IHN0YXJ0PSAgICAgICAgMCwgc2l6ZT0gICAgICAgIDAsIElkPSAwCisvZGV2L3NkYzMgOiBzdGFydD0gICAgNTIwNDgsIHNpemU9ICAgIDQ5OTk5LCBJZD04MworL2Rldi9zZGM0IDogc3RhcnQ9ICAgICAgICAwLCBzaXplPSAgICAgICAgMCwgSWQ9IDAKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NmZGlzay9maWxlcy9kdW1wLW9sZCBiL3Rlc3RzL3RzL3NmZGlzay9maWxlcy9kdW1wLW9sZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzA4ZTVlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2ZkaXNrL2ZpbGVzL2R1bXAtb2xkCkBAIC0wLDAgKzEsNyBAQAorIyBwYXJ0aXRpb24gdGFibGUgb2YgL2Rldi9zZGMKK3VuaXQ6IHNlY3RvcnMKKworL2Rldi9zZGMxIDogc3RhcnQ9ICAgICAyMDQ4LCBzaXplPSAgICA0OTk5OSwgSWQ9ODMsIGJvb3RhYmxlCisvZGV2L3NkYzIgOiBzdGFydD0gICAgICAgIDAsIHNpemU9ICAgICAgICAwLCBJZD0gMAorL2Rldi9zZGMzIDogc3RhcnQ9ICAgICAgICAwLCBzaXplPSAgICAgICAgMCwgSWQ9IDAKKy9kZXYvc2RjNCA6IHN0YXJ0PSAgICAgICAgMCwgc2l6ZT0gICAgICAgIDAsIElkPSAwCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zZmRpc2svZ3B0IGIvdGVzdHMvdHMvc2ZkaXNrL2dwdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lOWM4ZDNlCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2ZkaXNrL2dwdApAQCAtMCwwICsxLDIwNiBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IkdQVCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfV0lQRUZTIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMiBwaHlzYmxrX2V4cD0zCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJhbGwtZGVmYXVsdHMiCiskVFNfQ01EX1NGRElTSyAtLXVuaXQgUyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCitsYWJlbDogZ3B0CitsYWJlbC1pZDogYjE4MWMzOTktNDcxMS00YzUyLThiNjUtOWU3NjQ1NDEyMThkCisKKyw1TQorLCA1TSwgTAorLCA1TSxTCissIDVNLCA0RjY4QkNFMy1FOENELTREQjEtOTZFNy1GQkNBRjk4NEI3MDkKKywgLAorRU9GCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAidXVpZCIKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSAxIDkxZGM2NTdiLWQ3YjQtNDY1My1hMzY3LTY2MzE5NGZmZDQzMiAmPiAvZGV2L251bGwKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSAyIGJhYTA4YWRmLTMyN2UtNDE3Ny04OTUzLTk4ZGExYTUxNzZjNCAmPiAvZGV2L251bGwKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSAzIGNlYWQ4YTg3LWZmMWEtNDVjYi04M2U1LTk5YjA4ZDBlYmM4NyAmPiAvZGV2L251bGwKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSA0IGQ0ZmNkYzYwLTc2NWQtNGJjMy1iZDg0LTBkMGI5ODQyYzZkYiAmPiAvZGV2L251bGwKKyRUU19DTURfU0ZESVNLIC0tcGFydC11dWlkICR7VFNfREVWSUNFfSA1IDYwMTU1YmQ3LWJmZDgtNGU4Yy1iODAwLTIyMTkwMDc3OTM3MyAmPiAvZGV2L251bGwKKworJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LXV1aWQgJHtUU19ERVZJQ0V9IDEgPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAibGFiZWwiCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtbGFiZWwgJHtUU19ERVZJQ0V9IDEgIkVGSSBzeXN0ZW0iID4+ICRUU19PVVRQVVQgMj4mMSAKKyRUU19DTURfU0ZESVNLIC0tcGFydC1sYWJlbCAke1RTX0RFVklDRX0gMSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ0eXBlIgorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LXR5cGUgJHtUU19ERVZJQ0V9IDEgIkMxMkE3MzI4LUY4MUYtMTFEMi1CQTRCLTAwQTBDOTNFQzkzQiIgPj4gJFRTX09VVFBVVCAyPiYxIAorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LXR5cGUgJHtUU19ERVZJQ0V9IDEgPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYXR0cnMiCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtUU19ERVZJQ0V9IDIgIlJlcXVpcmVkUGFydGl0aW9uLE5vQmxvY2tJT1Byb3RvY29sLDQ4LDUxIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gLWUgJ3hcbkRcbicgfCAkVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJhdHRycy1zcGFjZSIKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiAiUmVxdWlyZWRQYXJ0aXRpb24gTm9CbG9ja0lPUHJvdG9jb2wgNDggNTEiID4+ICRUU19PVVRQVVQgMj4mMQorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LWF0dHJzICR7VFNfREVWSUNFfSAyID4+ICRUU19PVVRQVVQgMj4mMQorZWNobyAtZSAneFxuRFxuJyB8ICRUU19DTURfRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImF0dHJzLWd1aWQiCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtUU19ERVZJQ0V9IDIgIkdVSUQ6NDggR1VJRDo1MSw1Miw2MyIgPj4gJFRTX09VVFBVVCAyPiYxCiskVFNfQ01EX1NGRElTSyAtLXBhcnQtYXR0cnMgJHtUU19ERVZJQ0V9IDIgPj4gJFRTX09VVFBVVCAyPiYxCitlY2hvIC1lICd4XG5EXG4nIHwgJFRTX0NNRF9GRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYXR0cnMtd2l0aC10eXBvIgorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LWF0dHJzICR7VFNfREVWSUNFfSAyICJSZXF1aXJlZFBhcnRpdG9uLE5vQmxvY2tJT1Byb3RvY29sLDQ4LDUxIiA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiA+PiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gLWUgJ3hcbkRcbicgfCAkVFNfQ01EX0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJhdHRycy11bnN1cHBvcnRlZCIKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiAiTm9CbG9ja0lPUHJvdG9jb2wgRm9vQmFyIDQ4IDUxIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImF0dHJzLWJyb2tlbi1ub3NlcCIKKyRUU19DTURfU0ZESVNLIC0tcGFydC1hdHRycyAke1RTX0RFVklDRX0gMiAiTm9CbG9ja0lPUHJvdG9jb2xSZXF1aXJlZFBhcnRpdG9uIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImF0dHJzLWJyb2tlbi1ndWlkIgorJFRTX0NNRF9TRkRJU0sgLS1wYXJ0LWF0dHJzICR7VFNfREVWSUNFfSAyICJHVUlEOk5vQmxvY2tJT1Byb3RvY29sIEdVSUQ6R1VJRDo2MyBSZXF1aXJlZFBhcnRpdG9uIiA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInJlYWQtZHVtcCIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbDogZ3B0CitsYWJlbC1pZDogM2I4NTU5ZGItMzNhZi00M2U5LWJlZmMtYzMzMWQ4MjliNTM5CisKKyR7VFNfREVWSUNFfTEgOiBzdGFydD0yMDQ4LCAgc2l6ZT02MTQ0LCB0eXBlPTQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSwgdXVpZD00ZGQ2OTQ4YS00NGY4LTRlNmMtOGJkYy0wNjRmNzQwNzA0ZjgKKyR7VFNfREVWSUNFfTIgOiBzdGFydD04MTkyLCAgc2l6ZT02MTQ0LCB1dWlkPTQ0YjUxZGVmLTVmMDQtNDY1YS05MWFhLTI4ODlhNjJkOGU0OQorJHtUU19ERVZJQ0V9MyA6IHN0YXJ0PTE0MzM2LCBzaXplPTYxNDQsIHV1aWQ9NjQzZTFkMGQtYmMwMi00Y2VkLWI4M2ItODYxMjEwNjI4NThmCiske1RTX0RFVklDRX00IDogc3RhcnQ9MjA0ODAsIHNpemU9ODE4ODcsdXVpZD1kMmEyOWIwYS1mZGVlLTQwYzMtOWJhZS1iOWZhNzgyYzk4NmMsIG5hbWU9IkdQVCBpcyB0aGUgYmVzdCIKK0VPRgordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAtbyBTVEFSVCxFTkQsU0laRSxVVUlELFRZUEUsTkFNRSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJ3cml0ZS1kdW1wIgorJFRTX0NNRF9TRkRJU0sgLS11bml0IFMgLS1kdW1wICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgIndyaXRlLWpzb24iCiskVFNfQ01EX1NGRElTSyAtLWpzb24gJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAibGlzdC1wbWJyIgorJFRTX0NNRF9TRkRJU0sgLS1saXN0IC0tbGFiZWwtbmVzdGVkIGRvcyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJyZXNpemUiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4gL2Rldi9udWxsIDI+JjEgPDxFT0YKK2xhYmVsOiBncHQKKywxME0sUywqCitFT0YKK3VkZXZhZG0gc2V0dGxlCitlY2hvICcsKycgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtTjEgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInJlb3JkZXIiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgordW5pdDogc2VjdG9ycworbGFiZWw6IGdwdAorbGFiZWwtaWQ6IDNiODU1OWRiLTMzYWYtNDNlOS1iZWZjLWMzMzFkODI5YjUzOQorCiske1RTX0RFVklDRX0xIDogc3RhcnQ9ODE5MiwgIHNpemU9NjE0NAorJHtUU19ERVZJQ0V9MiA6IHN0YXJ0PTIwNDgsICBzaXplPTYxNDQKKyR7VFNfREVWSUNFfTMgOiBzdGFydD0yMDQ4MCwgc2l6ZT04MTg4NworJHtUU19ERVZJQ0V9NCA6IHN0YXJ0PTE0MzM2LCBzaXplPTYxNDQKK0VPRgordWRldmFkbSBzZXR0bGUKKyMgd2h5IC0tcmVvcmRlciBkb2VzIG5vdCByZS1yZWFkPworJFRTX0NNRF9TRkRJU0sgLS1yZW9yZGVyICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKKyRUU19DTURfU0ZESVNLIC0tbGlzdCAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zZmRpc2svbW92ZWRhdGEgYi90ZXN0cy90cy9zZmRpc2svbW92ZWRhdGEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMjk5ZDZjYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NmZGlzay9tb3ZlZGF0YQpAQCAtMCwwICsxLDc1IEBACisjIS9iaW4vYmFzaAorCisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibW92ZWRhdGEiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX01ENSIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19wcm9nICJta2ZzLmV4dDQiCisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj0xMDAgc2VjdG9yX3NpemU9NTEyCisKKyMgY3JlYXRlIGEgcGFydGl0aW9uCitlY2hvICcsMTBNLEwnIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKworbWtmcy5leHQ0ICR7VFNfREVWSUNFfTEgJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorQ0hFQ0tTVU09JCgiJFRTX0hFTFBFUl9NRDUiIDwgIiR7VFNfREVWSUNFfTEiKQorCitmdW5jdGlvbiBjaGVja3N1bSgpIHsKKwlsb2NhbCBkZXY9IiQxIgorCUNIRUNLPSQoIiRUU19IRUxQRVJfTUQ1IiA8ICIke2Rldn0iKQorCWlmIFsgIiRDSEVDS1NVTSIgIT0gIiRDSEVDSyIgXTsgdGhlbgorCQllY2hvICJDaGVja3N1bSBkb2VzIG5vdCBtYXRjaCEiID4+ICRUU19PVVRQVVQKKwlmaQorfQorCit0c19pbml0X3N1YnRlc3QgInVwIgorZWNobyAnKzEwMDAsJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tbW92ZS1kYXRhPSRUU19PVVRQVVQubG9nIC1OMSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQorY2hlY2tzdW0gJHtUU19ERVZJQ0V9MQordHNfZmluYWxpemVfc3VidGVzdAorCit1ZGV2YWRtIHNldHRsZQorCit0c19pbml0X3N1YnRlc3QgImRvd24iCitlY2hvICItNTAwLCIgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtLW1vdmUtZGF0YT0kVFNfT1VUUFVULmxvZyAtTjEgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordWRldmFkbSBzZXR0bGUKK2NoZWNrc3VtICR7VFNfREVWSUNFfTEKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJub24tb3ZlcmxheSIKK2VjaG8gIiszME0sIiB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tbW92ZS1kYXRhPSRUU19PVVRQVVQubG9nIC1OMSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQorY2hlY2tzdW0gJHtUU19ERVZJQ0V9MQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zZmRpc2svcmVzaXplIGIvdGVzdHMvdHMvc2ZkaXNrL3Jlc2l6ZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40YjJhZDRmCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2ZkaXNrL3Jlc2l6ZQpAQCAtMCwwICsxLDE1NCBAQAorIyEvYmluL2Jhc2gKKworIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InJlc2l6ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TRkRJU0siCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfV0lQRUZTIgorCit0c19za2lwX25vbnJvb3QKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTEwMCBzZWN0b3Jfc2l6ZT01MTIKKworZGVjbGFyZSAtYSBDT01NCitkZWNsYXJlIC1hIE5BTUUKKworQ09NTVswXT0iMzAwMCwiCitOQU1FWzBdPSJtb3ZlLXVwLWFic29sdXRlIgorCitDT01NWzFdPSIyMDQ4LCIKK05BTUVbMV09Im1vdmUtZG93bi1hYnNvbHV0ZSIKKworQ09NTVsyXT0iKzFNLCIKK05BTUVbMl09Im1vdmUtdXAtcmVsYXRpdmUiCisKK0NPTU1bM109Ii0xTSwiCitOQU1FWzNdPSJtb3ZlLWRvd24tcmVsYXRpdmUiCisKK0NPTU1bNF09Ii0sMTVNIgorTkFNRVs0XT0iZW5sYXJnZS1hYnNvbHV0ZSIKKworQ09NTVs1XT0iLDVNLCIKK05BTUVbNV09InJlZHVjZS1hYnNvbHV0ZSIKKworQ09NTVs2XT0iLCArMTBNIgorTkFNRVs2XT0iZW5sYXJnZS1yZWxhdGl2ZSIKKworTkFNRVs3XT0icmVkdWNlLXJlbGF0aXZlIgorQ09NTVs3XT0iLCAtMTBNIgorCitOQU1FWzhdPSJlbmxhcmdlLWFsbCIKK0NPTU1bOF09IiwrIgorCitOQU1FWzldPSJ1cC1wcmVkdWNlIgorQ09NTVs5XT0iKzEwTSwtMTBNIgorCitOQU1FWzEwXT0iZG93bi1lbmxhcmdlIgorQ09NTVsxMF09Ii0xME0sKzEwTSwsKiIKKworTkFNRVsxMV09ImFic29sdXRlLW1vdmUtcmVzaXplIgorQ09NTVsxMV09IjIwNDgsMTBNLEwiCisKK2Z1bmN0aW9uIHRlc3RfbGFiZWxfcmVzaXplIHsKKwlsb2NhbCBsYWJlbD0iJDEiCisKKwkkVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCisJdWRldmFkbSBzZXR0bGUKKworCSMgY3JlYXRlIGEgcGFydGl0aW9uCisJZWNobyAnLDEwTSxMJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tbGFiZWwgJHtsYWJlbH0gJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAorCXVkZXZhZG0gc2V0dGxlCisKKwlmb3IgaWR4IGluICQoc2VxIDAgJCgoICR7I0NPTU1bKl19IC0gMSApKSk7IGRvCisKKwkJY21kPSR7Q09NTVskaWR4XX0KKwkJbmFtZT0ke05BTUVbJGlkeF19CisKKwkJdHNfaW5pdF9zdWJ0ZXN0ICIkbGFiZWwtJGlkeC0kbmFtZSIKKwkJZWNobyAtZSAiJGNtZFxuIiA+PiAkVFNfT1VUUFVUCisJCWVjaG8gIiRjbWQiIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgLU4xICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKKwkJdHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQorCQl1ZGV2YWRtIHNldHRsZQorCQl0c19maW5hbGl6ZV9zdWJ0ZXN0CisJZG9uZQorCisJZWNobyAnLDEwTSxMJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tYXBwZW5kICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKKwl1ZGV2YWRtIHNldHRsZQorCisJZWNobyAnLDEwTSxMJyB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC0tYXBwZW5kICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKKwl1ZGV2YWRtIHNldHRsZQorCisJaWR4PSQoKCAkaWR4ICsgMSApKQorCXRzX2luaXRfc3VidGVzdCAiJGxhYmVsLSRpZHgtcmVkdWNlLW1pZGxlIgorCWNtZD0nLC01TScKKwllY2hvIC1lICIkY21kXG4iID4+ICRUU19PVVRQVVQKKwllY2hvICIkY21kIiB8ICRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkIC1OMiAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCisJdHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQorCXVkZXZhZG0gc2V0dGxlCisJdHNfZmluYWxpemVfc3VidGVzdAorCisJaWR4PSQoKCAkaWR4ICsgMSApKQorCXRzX2luaXRfc3VidGVzdCAiJGxhYmVsLSRpZHgtbWF4LWxhc3QiCisJY21kPSctNU0sKycKKwllY2hvIC1lICIkY21kXG4iID4+ICRUU19PVVRQVVQKKwllY2hvICRjbWQgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtTjMgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQorCXRzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKKwl1ZGV2YWRtIHNldHRsZQorCXRzX2ZpbmFsaXplX3N1YnRlc3QKK30KKworIyBNQlIKK3Rlc3RfbGFiZWxfcmVzaXplIGRvcworCisjIEdQVAordGVzdF9sYWJlbF9yZXNpemUgZ3B0CisKKworJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKwordHNfaW5pdF9zdWJ0ZXN0ICJkb3MtdW5zb3J0ZWQiCisjIGNyZWF0ZSBsYXlvdXQgd2hlcmUgcGFydGl0aW9uICM0IGlzIHRoZSBsYXN0IG9uIGRpc2sgKGJ5IG9mZnNldCkKKyMgYW5kIHRoZXJlIGlzIGZyZWVzcGFjZSBhdCB0aGUgZW5kIG9mIHRoZSBkaXNrLiBOb3RlIHRoYXQgIzQgaXMgbm90IHRoZSBsYXN0CisjIHBhcnRubyBvbiB0aGUgZGlzay4gVGhlIGxpYmZkaXNrIGhhcyB0byBiZSBhYmxlIHRvIGNoZWNrIGZvciB0aGUgZnJlZSBzcGFjZQorIyBpbmRlcGVuZGVudGx5IG9uIHRoZSBwYXJ0bm8sIG9ubHkgb2Zmc2V0K3NpemUgbWF0dGVycy4KKyRUU19DTURfU0ZESVNLIC0tbm8tcmVyZWFkICR7VFNfREVWSUNFfSAgPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCitsYWJlbDogZG9zCitsYWJlbC1pZDogMHhkYTJlNDVhYworZGV2aWNlOiAke1RTX0RFVklDRX0KK3VuaXQ6IHNlY3RvcnMKKworJHtUU19ERVZJQ0V9MSA6IHN0YXJ0PSAgICAgICAgMjA0OCwgc2l6ZT0gICAgICAgIDIwNDgsIHR5cGU9ODMKKyR7VFNfREVWSUNFfTIgOiBzdGFydD0gICAgICAgIDQwOTYsIHNpemU9ICAgICAgICAyMDQ4LCB0eXBlPTgzCiske1RTX0RFVklDRX0zIDogc3RhcnQ9ICAgICAgICA2MTQ0LCBzaXplPSAgICAgIDEwMjQwMCwgdHlwZT01Ciske1RTX0RFVklDRX00IDogc3RhcnQ9ICAgICAgMTA4NTQ0LCBzaXplPSAgICAgICAgMjA0OCwgdHlwZT04MworJHtUU19ERVZJQ0V9NSA6IHN0YXJ0PSAgICAgICAgODE5Miwgc2l6ZT0gICAgICAgIDIwNDgsIHR5cGU9ODMKKyR7VFNfREVWSUNFfTYgOiBzdGFydD0gICAgICAgMTIyODgsIHNpemU9ICAgICAgIDk2MjU2LCB0eXBlPTgzCitFT0YKK3VkZXZhZG0gc2V0dGxlCisjIGVubGFyZ2UgdG8gdXNlIGFsbCBzcGFjZSBiZWhpbmQgcGFydGl0aW9uICM0CitlY2hvICcsKywnIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgLU4gNCAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc2ZkaXNrL3NjcmlwdCBiL3Rlc3RzL3RzL3NmZGlzay9zY3JpcHQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDYzYmM3NwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NmZGlzay9zY3JpcHQKQEAgLTAsMCArMSwxNTggQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKworCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJHUFQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1dJUEVGUyIKKwordHNfc2tpcF9ub25yb290CisKKyMgc2V0IGdsb2JhbCB2YXJpYWJsZSBUU19ERVZJQ0UKK3RzX3Njc2lfZGVidWdfaW5pdCBkZXZfc2l6ZV9tYj01MCBzZWN0b3Jfc2l6ZT01MTIgcGh5c2Jsa19leHA9MworCit0c19pbml0X3N1YnRlc3QgInR5cGUtYW5kLWlkIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK3VuaXQ6IHNlY3RvcnMKK2xhYmVsOiBncHQKK2xhYmVsLWlkOiAzYjg1NTlkYi0zM2FmLTQzZTktYmVmYy1jMzMxZDgyOWI1MzkKKworJHtUU19ERVZJQ0V9MSA6IHN0YXJ0PTIwNDgsICBzaXplPTYxNDQsIElkPTQ0NDc5NTQwLUYyOTctNDFCMi05QUY3LUQxMzFENUYwNDU4QSwgdXVpZD00ZGQ2OTQ4YS00NGY4LTRlNmMtOGJkYy0wNjRmNzQwNzA0ZjgKKyR7VFNfREVWSUNFfTIgOiBzdGFydD04MTkyLCAgc2l6ZT02MTQ0LCBpZD00NDQ3OTU0MC1GMjk3LTQxQjItOUFGNy1EMTMxRDVGMDQ1OEEsIHV1aWQ9NDRiNTFkZWYtNWYwNC00NjVhLTkxYWEtMjg4OWE2MmQ4ZTQ5Ciske1RTX0RFVklDRX0zIDogc3RhcnQ9MTQzMzYsIHNpemU9NjE0NCwgdHlwZT00NDQ3OTU0MC1GMjk3LTQxQjItOUFGNy1EMTMxRDVGMDQ1OEEsIHV1aWQ9NjQzZTFkMGQtYmMwMi00Y2VkLWI4M2ItODYxMjEwNjI4NThmCiske1RTX0RFVklDRX00IDogc3RhcnQ9MjA0ODAsIHNpemU9ODE4ODcsVHlwZT00NDQ3OTU0MC1GMjk3LTQxQjItOUFGNy1EMTMxRDVGMDQ1OEEsIHV1aWQ9ZDJhMjliMGEtZmRlZS00MGMzLTliYWUtYjlmYTc4MmM5ODZjCitFT0YKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAtLWxpc3QgLW8gU1RBUlQsRU5ELFNJWkUsVVVJRCxUWVBFLE5BTUUgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCit0c19pbml0X3N1YnRlc3QgInNlcGFyYXRvciIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbDogZ3B0CitsYWJlbC1pZDogM2I4NTU5ZGItMzNhZi00M2U5LWJlZmMtYzMzMWQ4MjliNTM5CisKKyR7VFNfREVWSUNFfTEgOiBzdGFydD0yMDQ4IHNpemU9NjE0NCAgIHV1aWQ9NGRkNjk0OGEtNDRmOC00ZTZjLThiZGMtMDY0Zjc0MDcwNGY4Ciske1RTX0RFVklDRX0yIDogc3RhcnQ9ODE5MixzaXplPTYxNDQsICB1dWlkPTQ0YjUxZGVmLTVmMDQtNDY1YS05MWFhLTI4ODlhNjJkOGU0OSAsdHlwZT00NDQ3OTU0MC1GMjk3LTQxQjItOUFGNy1EMTMxRDVGMDQ1OEEKKyR7VFNfREVWSUNFfTMgOiBzdGFydD0xNDMzNiAsIHNpemU9NjE0NCAsdXVpZD02NDNlMWQwZC1iYzAyLTRjZWQtYjgzYi04NjEyMTA2Mjg1OGYKKyR7VFNfREVWSUNFfTQgOiBzdGFydD0yMDQ4MDsgc2l6ZT04MTg4NyA7ICAgICB1dWlkPWQyYTI5YjBhLWZkZWUtNDBjMy05YmFlLWI5ZmE3ODJjOTg2YworRU9GCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgLS1saXN0IC1vIFNUQVJULEVORCxTSVpFLFVVSUQsVFlQRSxOQU1FICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgInF1b3RlcyIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbDogZ3B0CitsYWJlbC1pZDogM2I4NTU5ZGItMzNhZi00M2U5LWJlZmMtYzMzMWQ4MjliNTM5CisKKyR7VFNfREVWSUNFfTEgOiBzdGFydD0yMDQ4ICB1dWlkPSI0ZGQ2OTQ4YS00NGY4LTRlNmMtOGJkYy0wNjRmNzQwNzA0ZjgiIHNpemU9NjE0NAorJHtUU19ERVZJQ0V9MiA6IHN0YXJ0PSA4MTkyICB1dWlkPSI0NGI1MWRlZi01ZjA0LTQ2NWEtOTFhYS0yODg5YTYyZDhlNDkiICwgc2l6ZT02MTQ0Ciske1RTX0RFVklDRX0zOiBzdGFydD0xNDMzNiB1dWlkPSI2NDNlMWQwZC1iYzAyLTRjZWQtYjgzYi04NjEyMTA2Mjg1OGYiLHNpemU9NjE0NAorJHtUU19ERVZJQ0V9NCAgOiBzdGFydD0yMDQ4MCB1dWlkPSJkMmEyOWIwYS1mZGVlLTQwYzMtOWJhZS1iOWZhNzgyYzk4NmMiLCAgICAgc2l6ZT02MTQ0CitFT0YKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAtLWxpc3QgLW8gU1RBUlQsRU5ELFNJWkUsVVVJRCxUWVBFLE5BTUUgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnJva2VuLTEiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgordW5pdDogc2VjdG9ycworbGFiZWw6IGdwdAorbGFiZWwtaWQ6IDNiODU1OWRiLTMzYWYtNDNlOS1iZWZjLWMzMzFkODI5YjUzOQorCiske1RTX0RFVklDRX0xIDogc3RhcnQgPTIwNDggIHV1aWQ9IjRkZDY5NDhhLTQ0ZjgtNGU2Yy04YmRjLTA2NGY3NDA3MDRmOCIgc2l6ZT02MTQ0CitFT0YKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit0c19pbml0X3N1YnRlc3QgImJyb2tlbi0yIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKKyRUU19DTURfU0ZESVNLICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEgPDxFT0YKK3VuaXQ6IHNlY3RvcnMKK2xhYmVsOiBncHQKK2xhYmVsLWlkOiAzYjg1NTlkYi0zM2FmLTQzZTktYmVmYy1jMzMxZDgyOWI1MzkKKworJHtUU19ERVZJQ0V9MSA6IHN0YXJ0PTIwNDh1dWlkPSI0ZGQ2OTQ4YS00NGY4LTRlNmMtOGJkYy0wNjRmNzQwNzA0ZjgiIHNpemU9NjE0NAorRU9GCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJicm9rZW4tMyIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbDogZ3B0CitsYWJlbC1pZDogM2I4NTU5ZGItMzNhZi00M2U5LWJlZmMtYzMzMWQ4MjliNTM5CisKKyR7VFNfREVWSUNFfTEgOiBzdGFydD0yMDQ4IHV1aWQ9LCI0ZGQ2OTQ4YS00NGY4LTRlNmMtOGJkYy0wNjRmNzQwNzA0ZjgiIHNpemU9NjE0NAorRU9GCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJicm9rZW4tNCIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX1NGRElTSyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxIDw8RU9GCit1bml0OiBzZWN0b3JzCitsYWJlbDogZ3B0CitsYWJlbC1pZDogM2I4NTU5ZGItMzNhZi00M2U5LWJlZmMtYzMzMWQ4MjliNTM5CisKKyR7VFNfREVWSUNFfTEgOiBzdGFydD0yMDQ4IHV1aWQ9IjRkZDY5NDhhLTQ0ZjgtNGU2Yy04YmRjLTA2NGY3NDA3MDRmOCBzaXplPTYxNDQKK0VPRgordHNfZmRpc2tfY2xlYW4gJFRTX0RFVklDRQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAiYnJva2VuLTUiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQorJFRTX0NNRF9TRkRJU0sgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMSA8PEVPRgordW5pdDogc2VjdG9ycworbGFiZWw6IGdwdAorbGFiZWwtaWQ6IDNiODU1OWRiLTMzYWYtNDNlOS1iZWZjLWMzMzFkODI5YjUzOQorCiske1RTX0RFVklDRX0xIDogc3RhcnQ9MjA0OCB1dWlkPTRkZDY5NDhhLTQ0ZjgtNGU2Yy04YmRjLTA2NGY3NDA3MDRmOCIgc2l6ZT02MTQ0CitFT0YKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NmZGlzay93aXBlIGIvdGVzdHMvdHMvc2ZkaXNrL3dpcGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmJhNTdhOAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NmZGlzay93aXBlCkBAIC0wLDAgKzEsMTA0IEBACisjIS9iaW4vYmFzaAorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IndpcGUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU0ZESVNLIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1dJUEVGUyIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS1NXQVAiCisKK3RzX3NraXBfbm9ucm9vdAorCitTRkRJU0tfT1BUUz0iLS1uby10ZWxsLWtlcm5lbCAtLW5vLXJlcmVhZCIKKworIyBzZXQgZ2xvYmFsIHZhcmlhYmxlIFRTX0RFVklDRQordHNfc2NzaV9kZWJ1Z19pbml0IGRldl9zaXplX21iPTUwIHNlY3Rvcl9zaXplPTUxMiBwaHlzYmxrX2V4cD0zCisKKwordHNfaW5pdF9zdWJ0ZXN0ICJncHQtdG8tZG9zIgordHNfc2VwYXJhdG9yICJDcmVhdGUgR1BUIgorZWNobyAnLCxMJyB8ICRUU19DTURfU0ZESVNLICRTRkRJU0tfT1BUUyAtLWxhYmVsPWdwdCAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit1ZGV2YWRtIHNldHRsZQordHNfc2VwYXJhdG9yICJDcmVhdGUgRE9TIgorZWNobyAnLCxMJyB8ICRUU19DTURfU0ZESVNLICRTRkRJU0tfT1BUUyAtLXdpcGU9YWx3YXlzIC0tbGFiZWw9ZG9zICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19zZXBhcmF0b3IgIkNoZWNrIGNvbnRlbnQiCiskVFNfQ01EX1dJUEVGUyAtTyBPRkZTRVQsVFlQRSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKworIyBTYW1lIGFzIHByZXZpb3VzIHRlc3QsIGJ1dCB3aXRob3V0IC0td2lwZT1hbHdheXMsIHNmZGlzayBoYXMgdG8gd2lwZQorIyB0aGUgZGV2aWNlIGF1dG9tYXRpY2FsbHkgd2hlbiBzd2l0Y2ggZnJvbSBvbmUgUFQgdG8gYW5vdGhlciBQVAorIwordHNfaW5pdF9zdWJ0ZXN0ICJncHQtdG8tZG9zLWF1dG8iCit0c19zZXBhcmF0b3IgIkNyZWF0ZSBHUFQiCitlY2hvICcsLEwnIHwgJFRTX0NNRF9TRkRJU0sgJFNGRElTS19PUFRTIC0tbGFiZWw9Z3B0ICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3VkZXZhZG0gc2V0dGxlCit0c19zZXBhcmF0b3IgIkNyZWF0ZSBET1MiCitlY2hvICcsLEwnIHwgJFRTX0NNRF9TRkRJU0sgJFNGRElTS19PUFRTIC0tbGFiZWw9ZG9zICR7VFNfREVWSUNFfSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3VkZXZhZG0gc2V0dGxlCit0c19zZXBhcmF0b3IgIkNoZWNrIGNvbnRlbnQiCiskVFNfQ01EX1dJUEVGUyAtTyBPRkZTRVQsVFlQRSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKKwordHNfaW5pdF9zdWJ0ZXN0ICJmcy10by1kb3MiCit0c19zZXBhcmF0b3IgIkNyZWF0ZSBGUyIKKyRUU19DTURfV0lQRUZTIC1hICR7VFNfREVWSUNFfSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCiskVFNfQ01EX01LU1dBUCAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQordHNfc2VwYXJhdG9yICJDcmVhdGUgRE9TIgorZWNobyAnLCxMJyB8ICRUU19DTURfU0ZESVNLICRTRkRJU0tfT1BUUyAtLXdpcGU9YWx3YXlzICAtLWxhYmVsPWRvcyAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit0c19mZGlza19jbGVhbiAkVFNfREVWSUNFCit1ZGV2YWRtIHNldHRsZQordHNfc2VwYXJhdG9yICJDaGVjayBjb250ZW50IgorJFRTX0NNRF9XSVBFRlMgLU8gT0ZGU0VULFRZUEUgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordHNfZmluYWxpemVfc3VidGVzdAorCisKK3RzX2luaXRfc3VidGVzdCAicGFydGl0aW9uIgordHNfc2VwYXJhdG9yICJDcmVhdGUgR1BUIgorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ICY+IC9kZXYvbnVsbAordWRldmFkbSBzZXR0bGUKK2VjaG8gJywsTCcgfCAkVFNfQ01EX1NGRElTSyAtLW5vLXJlcmVhZCAtLWxhYmVsPWdwdCAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit1ZGV2YWRtIHNldHRsZQordHNfc2VwYXJhdG9yICJDcmVhdGUgRlMgaW4gcGFydGl0aW9uIgorJFRTX0NNRF9NS1NXQVAgJHtUU19ERVZJQ0V9MSAmPiAvZGV2L251bGwKK3VkZXZhZG0gc2V0dGxlCit0c19zZXBhcmF0b3IgIldpcGUgd2hvbGUtZGlzayBkZXZpY2UiCiskVFNfQ01EX1dJUEVGUyAtYSAke1RTX0RFVklDRX0gJj4gL2Rldi9udWxsCit1ZGV2YWRtIHNldHRsZQordHNfc2VwYXJhdG9yICJDcmVhdGUgR1BUIChhZ2FpbikiCitlY2hvICcsLEwnIHwgJFRTX0NNRF9TRkRJU0sgLS1uby1yZXJlYWQgLS13aXBlLXBhcnRpdGlvbj1hbHdheXMgLS1sYWJlbD1ncHQgJHtUU19ERVZJQ0V9ID4+ICRUU19PVVRQVVQgMj4mMQordWRldmFkbSBzZXR0bGUKK3RzX3NlcGFyYXRvciAiQ2hlY2sgY29udGVudCAoZGlzaykiCiskVFNfQ01EX1dJUEVGUyAtTyBPRkZTRVQsVFlQRSAke1RTX0RFVklDRX0gPj4gJFRTX09VVFBVVCAyPiYxCit1ZGV2YWRtIHNldHRsZQordHNfc2VwYXJhdG9yICJDaGVjayBjb250ZW50IChwYXJ0aXRpb24pIgorJFRTX0NNRF9XSVBFRlMgLU8gT0ZGU0VULFRZUEUgJHtUU19ERVZJQ0V9MSA+PiAkVFNfT1VUUFVUIDI+JjEKK3RzX2ZkaXNrX2NsZWFuICRUU19ERVZJQ0UKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworCit1ZGV2YWRtIHNldHRsZQordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3NoYTEvZGF0YSBiL3Rlc3RzL3RzL3NoYTEvZGF0YQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZWVkMDVhCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc2hhMS9kYXRhCkBAIC0wLDAgKzEsNyBAQAorCithYmMKK3Fhenhzd2VkYworMXFhenhzdzIzZWRjCithIGEgYSBhIGEgYSBhIGEgYSBhCitLVVdJT0pETldRS0xGREhRVVdFREFZQ05BVUlXU1lEVVFVSUNCU0tMQkNMVVdJR0RGCitFQVNDNjU0NTY0MjQzMjEzMlNERUNTRVNDRUFDU0pLRFdJT1VET0lXSURPUVBXVURRV0lPU05YQ1NBU0NBCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zaGExL3NoYTEgYi90ZXN0cy90cy9zaGExL3NoYTEKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDU1ZDY5MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3NoYTEvc2hhMQpAQCAtMCwwICsxLDMxIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwOSBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0hFTFBFUl9TSEExIgorCitjYXQgJFRTX1NFTEYvZGF0YSB8IHdoaWxlIHJlYWQgZGF0YQorZG8KKwllY2hvIC1uICRkYXRhIHwgJFRTX0hFTFBFUl9TSEExID4+ICRUU19PVVRQVVQKK2RvbmUKKwordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc3dhcG9uL2Rldm5hbWUgYi90ZXN0cy90cy9zd2Fwb24vZGV2bmFtZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi43NDY5ZGNiCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc3dhcG9uL2Rldm5hbWUKQEAgLTAsMCArMSw1MCBAQAorIyEvYmluL2Jhc2gKKworIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisjCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJieSBkZXZuYW1lIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX01LU1dBUCIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TV0FQT04iCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU1dBUE9GRiIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKKyRUU19DTURfTUtTV0FQICRERVZJQ0UgPiAvZGV2L251bGwgMj4+ICRUU19PVVRQVVQgXAorIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2Ugc3dhcCAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJUWVBFIiAic3dhcCIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIHN3YXAgb24gJERFVklDRSIKKworJFRTX0NNRF9TV0FQT04gJERFVklDRSA+PiAkVFNfT1VUUFVUIDI+JjEKKworZ3JlcCAtcSAiXiRERVZJQ0VcYiIgL3Byb2Mvc3dhcHMgfHwgdHNfZGllICJDYW5ub3QgZmluZCAkREVWSUNFIGluIC9wcm9jL3N3YXBzIgorCiskVFNfQ01EX1NXQVBPRkYgJERFVklDRQorCisjIHN3YXBvbi9ta3N3YXAgd2FybnMgaWYgc3lzdGVtIHNldHMgZGlmZmVyZW50IHBlcm1pc3Npb25zIGZvciBsb29wIGRldmljZXMKK3NlZCAtLWluLXBsYWNlICcvaW5zZWN1cmUgcGVybWlzc2lvbnMgLiosIDA2NjAgc3VnZ2VzdGVkL2QnICRUU19PVVRQVVQKKwordHNfbG9nICJTdWNjZXNzIgordHNfZmluYWxpemUKKwpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvc3dhcG9uL2ZpeHBnc3ogYi90ZXN0cy90cy9zd2Fwb24vZml4cGdzegpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi40NDc5Y2Q4Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvc3dhcG9uL2ZpeHBnc3oKQEAgLTAsMCArMSw0OSBAQAorIyEvYmluL2Jhc2gKKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iZml4IHBhZ2Ugc2l6ZSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS1NXQVAiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU1dBUE9OIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBPRkYiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfU1lTSU5GTyIKKwordHNfc2tpcF9ub25yb290Cit0c19jaGVja19sb3NldHVwCisKK1BBR0VTSVpFPSQoJFRTX0hFTFBFUl9TWVNJTkZPIHBhZ2VzaXplKQorCisjCisjIENyZWF0ZSBhIHN3YXAtYXJlYSB3aXRoIGluY29tcGF0aWJsZSBwYWdlIHNpemUKKyMKK1sgIiQ/IiA9PSAwIF0gfHwgdHNfZGllICJDYW5ub3QgaW5pdCBkZXZpY2UiCisKK2lmIFsgJCgoIDY0ICogMTAyNCApKSAtbmUgJFBBR0VTSVpFIF07IHRoZW4KKwlCQURTSVpFPSQoKCA2NCAqIDEwMjQgKSkKK2Vsc2UKKwlCQURTSVpFPTQwOTYKK2ZpCisKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKKyRUU19DTURfTUtTV0FQIC1MIE15Rm9vQmFyTGFiZWwgLS1wYWdlc2l6ZSAkQkFEU0laRSAkREVWSUNFID4gL2Rldi9udWxsICY+IC9kZXYvbnVsbCBcCisgfHwgdHNfZGllICJDYW5ub3QgbWFrZSBzd2FwICRERVZJQ0UiCisKK3RzX2RldmljZV9oYXMgIlRZUEUiICJzd2FwIiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgc3dhcCBvbiAkREVWSUNFIgorCisjCisjIFN3YXBvbgorIworJFRTX0NNRF9TV0FQT04gLS1maXhwZ3N6ICRERVZJQ0UgICY+IC9kZXYvbnVsbAorCitncmVwIC1xICJeJERFVklDRVxiIiAvcHJvYy9zd2FwcyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2Mvc3dhcHMiCisKKyRUU19DTURfU1dBUE9GRiAkREVWSUNFCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3N3YXBvbi9maXhzaWcgYi90ZXN0cy90cy9zd2Fwb24vZml4c2lnCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmMzMTA0YTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy9zd2Fwb24vZml4c2lnCkBAIC0wLDAgKzEsNTMgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImZpeCBzaWduYXR1cmUiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtTV0FQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBPTiIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TV0FQT0ZGIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1NZU0lORk8iCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCitQQUdFU0laRT0kKCRUU19IRUxQRVJfU1lTSU5GTyBwYWdlc2l6ZSkKKworIworIyBDcmVhdGUgYSBzd2FwLWFyZWEKKyMKK3RzX2RldmljZV9pbml0CitERVZJQ0U9JFRTX0xPREVWCisKKyRUU19DTURfTUtTV0FQICRERVZJQ0UgPiAvZGV2L251bGwgMj4+ICRUU19PVVRQVVQgXAorIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2Ugc3dhcCAkREVWSUNFIgorCit0c19kZXZpY2VfaGFzICJUWVBFIiAic3dhcCIgJERFVklDRSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIHN3YXAgb24gJERFVklDRSIKKworIworIyBSZXdyaXRlIHNpZ25hdHVyZSB0byBzd3N1c3BlbmQKKyMKK2VjaG8gIlMyU1VTUEVORCAiID4gJFRTX09VVFBVVC5zaWduYXR1cmUKK2RkIGlmPSRUU19PVVRQVVQuc2lnbmF0dXJlIG9mPSRERVZJQ0UgXAorCXNlZWs9JCgoICRQQUdFU0laRSAtIDEwICkpIGNvdW50PTEwIGJzPTEgY29udj1ub3RydW5jICY+IC9kZXYvbnVsbAorCit0c19kZXZpY2VfaGFzICJUWVBFIiAic3dzdXNwZW5kIiAkREVWSUNFIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgc3dzdXNwZW5kIG9uICRERVZJQ0UiCisKKyMKKyMgU3dhcG9uCisjCiskVFNfQ01EX1NXQVBPTiAkREVWSUNFICY+IC9kZXYvbnVsbAorCitncmVwIC1xICJeJERFVklDRVxiIiAvcHJvYy9zd2FwcyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kICRERVZJQ0UgaW4gL3Byb2Mvc3dhcHMiCisKKyRUU19DTURfU1dBUE9GRiAkREVWSUNFCisKKyMgc3dhcG9uL21rc3dhcCB3YXJucyBpZiBzeXN0ZW0gc2V0cyBkaWZmZXJlbnQgcGVybWlzc2lvbnMgZm9yIGxvb3AgZGV2aWNlcworc2VkIC0taW4tcGxhY2UgJy9pbnNlY3VyZSBwZXJtaXNzaW9ucyAuKiwgMDY2MCBzdWdnZXN0ZWQvZCcgJFRTX09VVFBVVAorCit0c19sb2cgIlN1Y2Nlc3MiCit0c19maW5hbGl6ZQorCmRpZmYgLS1naXQgYS90ZXN0cy90cy9zd2Fwb24vbGFiZWwgYi90ZXN0cy90cy9zd2Fwb24vbGFiZWwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMWJiNWRiYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3N3YXBvbi9sYWJlbApAQCAtMCwwICsxLDUyIEBACisjIS9iaW4vYmFzaAorCisjCisjIENvcHlyaWdodCAoQykgMjAwNyBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9ImJ5IGxhYmVsIgorTEFCRUw9InRlc3RTd2FwTGFiZWwiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfTUtTV0FQIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBPTiIKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9TV0FQT0ZGIgorCit0c19za2lwX25vbnJvb3QKK3RzX2NoZWNrX2xvc2V0dXAKKwordHNfZGV2aWNlX2luaXQKK0RFVklDRT0kVFNfTE9ERVYKKworJFRTX0NNRF9NS1NXQVAgLUwgJExBQkVMICRERVZJQ0UgPiAvZGV2L251bGwgMj4+ICRUU19PVVRQVVQgXAorIHx8IHRzX2RpZSAiQ2Fubm90IG1ha2Ugc3dhcCBvbiAkREVWSUNFIgordHNfZGV2aWNlX2hhcyAiTEFCRUwiICRMQUJFTCAkREVWSUNFIFwKKyB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIExBQkVMICckTEFCRUwnIG9uICRERVZJQ0UiCit0c191ZGV2YWRtX3NldHRsZSAiJERFVklDRSIgIkxBQkVMIgorCiskVFNfQ01EX1NXQVBPTiAtTCAkTEFCRUwgPj4gJFRTX09VVFBVVCAyPiYxCisKK2dyZXAgLXEgIl4kREVWSUNFXGIiIC9wcm9jL3N3YXBzIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9zd2FwcyIKKworJFRTX0NNRF9TV0FQT0ZGICRERVZJQ0UKKworIyBzd2Fwb24vbWtzd2FwIHdhcm5zIGlmIHN5c3RlbSBzZXRzIGRpZmZlcmVudCBwZXJtaXNzaW9ucyBmb3IgbG9vcCBkZXZpY2VzCitzZWQgLS1pbi1wbGFjZSAnL2luc2VjdXJlIHBlcm1pc3Npb25zIC4qLCAwNjYwIHN1Z2dlc3RlZC9kJyAkVFNfT1VUUFVUCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3N3YXBvbi91dWlkIGIvdGVzdHMvdHMvc3dhcG9uL3V1aWQKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNzBlNjJkNwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3N3YXBvbi91dWlkCkBAIC0wLDAgKzEsNTAgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA3IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iYnkgdXVpZCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9NS1NXQVAiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfU1dBUE9OIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1NXQVBPRkYiCisKK3RzX3NraXBfbm9ucm9vdAordHNfY2hlY2tfbG9zZXR1cAorCit0c19kZXZpY2VfaW5pdAorREVWSUNFPSRUU19MT0RFVgorCiskVFNfQ01EX01LU1dBUCAkREVWSUNFID4gL2Rldi9udWxsIDI+PiAkVFNfT1VUUFVUIFwKKyB8fCB0c19kaWUgIkNhbm5vdCBtYWtlIHN3YXAgJERFVklDRSIKK1VVSUQ9JCh0c191dWlkX2J5X2Rldm5hbWUgIiRERVZJQ0UiKSB8fCB0c19kaWUgIkNhbm5vdCBmaW5kIFVVSUQgb24gJERFVklDRSIKK3RzX3VkZXZhZG1fc2V0dGxlICIkREVWSUNFIiAiVVVJRCIKKworJFRTX0NNRF9TV0FQT04gLVUgJFVVSUQgPj4gJFRTX09VVFBVVCAyPiYxCisKK2dyZXAgLXEgIl4kREVWSUNFXGIiIC9wcm9jL3N3YXBzIHx8IHRzX2RpZSAiQ2Fubm90IGZpbmQgJERFVklDRSBpbiAvcHJvYy9zd2FwcyIKKworJFRTX0NNRF9TV0FQT0ZGICRERVZJQ0UKKworIyBzd2Fwb24vbWtzd2FwIHdhcm5zIGlmIHN5c3RlbSBzZXRzIGRpZmZlcmVudCBwZXJtaXNzaW9ucyBmb3IgbG9vcCBkZXZpY2VzCitzZWQgLS1pbi1wbGFjZSAnL2luc2VjdXJlIHBlcm1pc3Npb25zIC4qLCAwNjYwIHN1Z2dlc3RlZC9kJyAkVFNfT1VUUFVUCisKK3RzX2xvZyAiU3VjY2VzcyIKK3RzX2ZpbmFsaXplCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvbGFzdCBiL3Rlc3RzL3RzL3V0bXAvbGFzdApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi45NjgzMTAzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC9sYXN0CkBAIC0wLDAgKzEsOTMgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibGFzdCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9MQVNUIgordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX1VUTVBEVU1QIgordHNfY2hlY2tfcHJvZyAibG4iCisKKyRUU19DTURfTEFTVCAtLXZlcnNpb24gMj4mMSB8IGdyZXAgLXEgImludmFsaWQgb3B0aW9uIiBcCisJJiYgdHNfc2tpcCAiZGVwcmVjYXRlZCBsYXN0IgorCisuICIkVFNfU0VMRi91dG1wX2Z1bmN0aW9ucy5zaCIKKworV1RNUF9GSUxFPSR7VFNfT1VURElSfS93dG1wLWEKK3JtIC1mICRXVE1QX0ZJTEUKKworZXhwb3J0IExBTkc9QworZXhwb3J0IFRaPUdNVAorCitpZiBbICRTSVpFT0ZfVVRNUCAtZXEgMzg0IF07IHRoZW4KKwlsbiAtcyAke1RTX1NFTEZ9L3d0bXAtYS4ke0JZVEVfT1JERVJ9ICRXVE1QX0ZJTEUKK2Vsc2UKKwkkVFNfQ01EX1VUTVBEVU1QIC1yICR7VFNfU0VMRn0vdHh0LWEgPiAkV1RNUF9GSUxFIDI+L2Rldi9udWxsIFwKKwkJfHwgdHNfc2tpcCAiY2FuJ3QgY3JlYXRlIHRlc3QgZGF0YSIKK2ZpCisKKyMgdGhlcmUgaXMgbm8gYmV0dGVyIHdheSB5ZXQgdG8gc2tpcCBhIHN1YnRlc3QKK2lmIHRzX3Jlc29sdmVfaG9zdCAiYS5yb290LXNlcnZlcnMubmV0IiA+L2Rldi9udWxsOyB0aGVuCit0c19pbml0X3N1YnRlc3QgImRucyIKKwordHNfbG9nICJ+fn4gZG5zIHNob3J0IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1kIHJvb3QgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBkbnMgbG9uZyB+fn4iCiskVFNfQ01EX0xBU1QgLWYgJFdUTVBfRklMRSAtdyAtZCByb290ID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gZG5zIGhvc3QgbGFzdCB+fn4iCiskVFNfQ01EX0xBU1QgLWYgJFdUTVBfRklMRSAtYSAtZCByb290ID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfZmluYWxpemVfc3VidGVzdAorZmkKKwordHNfaW5pdF9zdWJ0ZXN0ICJub2RucyIKK3RzX2xvZyAifn5+IGJhc2ljIG91dHB1dCB+fn4iCiskVFNfQ01EX0xBU1QgLWYgJFdUTVBfRklMRSA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2xvZyAifn5+IGluY2x1ZGUgc3lzdGVtIH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC14ID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gc2hvdyBpcCB+fn4iCiskVFNfQ01EX0xBU1QgLWYgJFdUTVBfRklMRSAtaSB0b3J2YWxkcyA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2xvZyAifn5+IG5vIGhvc3Qgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLVIgdG9ydmFsZHMgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBmdWxsIHRpbWVzIHNob3J0b3B0IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1GID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gZnVsbCB0aW1lcyBsb25nb3B0IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC0tdGltZS1mb3JtYXQ9ZnVsbCA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2xvZyAifn5+IG5vIHRpbWUgfn5+IgorJFRTX0NNRF9MQVNUIC1mICRXVE1QX0ZJTEUgLS10aW1lLWZvcm1hdD1ub3RpbWUgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBpc28tODYwMSB0aW1lIH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC0tdGltZS1mb3JtYXQ9aXNvIC13ID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gc2luY2UgYW5kIHVudGlsIH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1zICIyMDEzLTA4LTI4IDAyOjIwIiAtdCAiMjAxMy0wOC0yOCAwODoyMCIgPj4gJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19sb2cgIn5+fiBwcmVzZW50IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1wICIyMDEzLTA4LTI4IDExOjIwIiA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCit0c19maW5hbGl6ZV9zdWJ0ZXN0CisKK3JtIC1mICRXVE1QX0ZJTEUKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvbGFzdC1pcHY2IGIvdGVzdHMvdHMvdXRtcC9sYXN0LWlwdjYKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uZDRhOTY0NQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvbGFzdC1pcHY2CkBAIC0wLDAgKzEsNjYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ibGFzdCBpcHY2IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfQ01EX0xBU1QiCiskVFNfQ01EX0xBU1QgLS12ZXJzaW9uIDI+JjEgfCBncmVwIC1xICJpbnZhbGlkIG9wdGlvbiIgXAorCSYmIHRzX3NraXAgImRlcHJlY2F0ZWQgbGFzdCIKKworLiAiJFRTX1NFTEYvdXRtcF9mdW5jdGlvbnMuc2giCisKK1dUTVBfRklMRT0ke1RTX09VVERJUn0vd3RtcC1pcHY2CitybSAtZiAkV1RNUF9GSUxFCisKK2V4cG9ydCBMQU5HPUMKK2V4cG9ydCBUWj1HTVQKKworaWYgWyAkU0laRU9GX1VUTVAgLWVxIDM4NCBdOyB0aGVuCisJbG4gLXMgJHtUU19TRUxGfS93dG1wLWlwdjYuJHtCWVRFX09SREVSfSAkV1RNUF9GSUxFCitlbHNlCisJJFRTX0NNRF9VVE1QRFVNUCAtciAke1RTX1NFTEZ9L3R4dC1pcHY2ID4gJFdUTVBfRklMRSAyPi9kZXYvbnVsbCBcCisJCXx8IHRzX3NraXAgImNhbid0IGNyZWF0ZSB0ZXN0IGRhdGEiCitmaQorCisjIHRoZXJlIGlzIG5vIGJldHRlciB3YXkgeWV0IHRvIHNraXAgYSBzdWJ0ZXN0CitpZiB0c19yZXNvbHZlX2hvc3QgImEucm9vdC1zZXJ2ZXJzLm5ldCIgPi9kZXYvbnVsbDsgdGhlbgordHNfaW5pdF9zdWJ0ZXN0ICJkbnMiCisKK3RzX2xvZyAifn5+IGRucyBzaG9ydCB+fn4iCiskVFNfQ01EX0xBU1QgLWYgJFdUTVBfRklMRSAtZCA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2xvZyAifn5+IGRucyBsb25nIH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1kIC13ID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gZG5zIGhvc3QgbGFzdCB+fn4iCiskVFNfQ01EX0xBU1QgLWYgJFdUTVBfRklMRSAtZCAtYSA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3RzX2ZpbmFsaXplX3N1YnRlc3QKK2ZpCisKK3RzX2luaXRfc3VidGVzdCAibm9kbnMiCit0c19sb2cgIn5+fiBzaG93IGlwIH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1pID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfbG9nICJ+fn4gc2hvdyBpcCBsYXN0IH5+fiIKKyRUU19DTURfTEFTVCAtZiAkV1RNUF9GSUxFIC1pIC1hID4+ICRUU19PVVRQVVQgMj4vZGV2L251bGwKK3RzX2ZpbmFsaXplX3N1YnRlc3QKKworcm0gLWYgJFdUTVBfRklMRQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC9zdWJzZWMgYi90ZXN0cy90cy91dG1wL3N1YnNlYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wZmRmZjA1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC9zdWJzZWMKQEAgLTAsMCArMSwzIEBACitbN10gWzAwMDEwXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbMjAxMy0wOC0yOFQyMDozMDo0MCwxMjM0NTYrMDA6MDBdCitbOF0gWzAwMDExXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbMjAxMy0wOC0yOFQyMDo0MDo1MCw5OTk5OTkrMDA6MDBdCitbMF0gWzAwMDAwXSBbdHMvMF0gW25vbnZhbGlkXSBbZm9vICAgICAgICAgXSBbemVybyAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDEyOjAwOjAwLDEyMzQ1Njc4OSswMDowMF0KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvdHh0LWEgYi90ZXN0cy90cy91dG1wL3R4dC1hCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjQ3YjZmYzIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3R4dC1hCkBAIC0wLDAgKzEsMTkgQEAKK1s5XSBbMDAwMDldIFt0cy85XSBbYWNjb3VudGluZ10gW2ZvbyAgICAgICAgIF0gW25pbmUgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQwMzowMDowMCwwMDAwMDArMDA6MDBdCitbOF0gWzAwMDA4XSBbdHMvOF0gW2RlYWRfcHJvY2Vzc10gW2ZvbyAgICAgICAgIF0gW2VpZ2h0ICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQwNDowMDowMCwwMDAwMDArMDA6MDBdCitbN10gWzAwMDA3XSBbdHMvN10gW3VzZXJfcHJvY2Vzc10gW2ZvbyAgICAgICAgIF0gW3NldmVuICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQwNTowMDowMCwwMDAwMDArMDA6MDBdCitbNl0gWzAwMDA2XSBbdHMvNl0gW2xvZ2luICAgXSBbZm9vICAgICAgICAgXSBbc2l4ICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDA2OjAwOjAwLDAwMDAwMCswMDowMF0KK1s1XSBbMDAwMDVdIFt0cy81XSBbaW5pdCAgICBdIFtmb28gICAgICAgICBdIFtmaXZlICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMDc6MDA6MDAsMDAwMDAwKzAwOjAwXQorWzRdIFswMDAwNF0gW3RzLzRdIFtvbGR0aW1lIF0gW2ZvbyAgICAgICAgIF0gW2ZvdXIgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQwODowMDowMCwwMDAwMDArMDA6MDBdCitbM10gWzAwMDAzXSBbdHMvM10gW25ld3RpbWUgXSBbZm9vICAgICAgICAgXSBbdGhyZWUgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDA5OjAwOjAwLDAwMDAwMCswMDowMF0KK1syXSBbMDAwMDJdIFt0cy8yXSBbc3lzYm9vdCBdIFtmb28gICAgICAgICBdIFt0d28gICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMTA6MDA6MDAsMDAwMDAwKzAwOjAwXQorWzFdIFswMDAwMV0gW3RzLzFdIFtydW5sZXZlbF0gW2ZvbyAgICAgICAgIF0gW29uZSAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQxMTowMDowMCwwMDAwMDArMDA6MDBdCitbMF0gWzAwMDAwXSBbdHMvMF0gW25vbnZhbGlkXSBbZm9vICAgICAgICAgXSBbemVybyAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDEyOjAwOjAwLDAwMDAwMCswMDowMF0KK1s3XSBbMDAwMTBdIFtpcHY0XSBbSVB2NCAgICBdIFtyb290ICAgICAgICBdIFtkbnMtc2VydmVyICAgICAgICAgIF0gWzE5OC40MS4wLjQgICAgIF0gWzIwMTMtMDgtMjhUMTM6MDA6MDAsMDAwMDAwKzAwOjAwXQorWzhdIFswMDAxMV0gW2lwdjRdIFtJUHY0ICAgIF0gW3Jvb3QgICAgICAgIF0gW2Rucy1zZXJ2ZXIgICAgICAgICAgXSBbMTk4LjQxLjAuNCAgICAgXSBbMjAxMy0wOC0yOFQxNDowMDowMCwwMDAwMDArMDA6MDBdCitbMV0gWzAwMDEyXSBbfn4gIF0gW3NodXRkb3duXSBbfiAgICAgICAgICAgXSBbc3lzdGVtLW5hbWUgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDE1OjAwOjAwLDAwMDAwMCswMDowMF0KK1syXSBbMDAwMTJdIFt+fiAgXSBbcmVib290ICBdIFt+ICAgICAgICAgICBdIFtzeXN0ZW0tbmFtZSAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDgtMjhUMTY6MDA6MDAsMDAwMDAwKzAwOjAwXQorWzFdIFswMDAxMl0gW35+ICBdIFtzaHV0ZG93bl0gW34gICAgICAgICAgIF0gW3N5c3RlbS1uYW1lICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wOC0yOFQxNzowMDowMCwwMDAwMDArMDA6MDBdCitbMl0gWzAwMDEyXSBbfn4gIF0gW3JlYm9vdCAgXSBbfiAgICAgICAgICAgXSBbc3lzdGVtLW5hbWUgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTA4LTI4VDE4OjAwOjAwLDAwMDAwMCswMDowMF0KK1s3XSBbMDAwMTNdIFt0cy8xXSBbdG9ydmFsZHNdIFtsaW51eCAgICAgICBdIFtob2JieSAgICAgICAgICAgICAgIF0gWzEyOC4yMTQuMjA1LjE0IF0gWzE5OTEtMDgtMjZUMDA6NTc6MDgsMDAwMDAwKzAwOjAwXQorWzddIFswMDAxNF0gW2xvbmddIFtyaWNrICAgIF0gW2xvbmcgICAgICAgIF0gW25ldmVyLWdvbm5hLWxvZ291dCAgXSBbMC4wLjAuMCAgICAgICAgXSBbMTk3MC0wMS0wMVQwMDowMDowMCwwMDAwMDArMDA6MDBdCitbOF0gWzAwMDE0XSBbbG9uZ10gW3JpY2sgICAgXSBbbG9uZyAgICAgICAgXSBbbmV2ZXItZ29ubmEtbG9nb3V0ICBdIFswLjAuMC4wICAgICAgICBdIFsyMDM4LTAxLTE5VDAzOjE0OjA3LDAwMDAwMCswMDowMF0KZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvdHh0LWEtb2xkIGIvdGVzdHMvdHMvdXRtcC90eHQtYS1vbGQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmM5MWQxOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvdHh0LWEtb2xkCkBAIC0wLDAgKzEsMTkgQEAKK1s5XSBbMDAwMDldIFt0cy85XSBbYWNjb3VudGluZ10gW2ZvbyAgICAgICAgIF0gW25pbmUgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAwMzowMDowMCAyMDEzIEdNVF0KK1s4XSBbMDAwMDhdIFt0cy84XSBbZGVhZF9wcm9jZXNzXSBbZm9vICAgICAgICAgXSBbZWlnaHQgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDA0OjAwOjAwIDIwMTMgR01UXQorWzddIFswMDAwN10gW3RzLzddIFt1c2VyX3Byb2Nlc3NdIFtmb28gICAgICAgICBdIFtzZXZlbiAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1dlZCBBdWcgMjggMDU6MDA6MDAgMjAxMyBHTVRdCitbNl0gWzAwMDA2XSBbdHMvNl0gW2xvZ2luICAgXSBbZm9vICAgICAgICAgXSBbc2l4ICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDA2OjAwOjAwIDIwMTMgR01UXQorWzVdIFswMDAwNV0gW3RzLzVdIFtpbml0ICAgIF0gW2ZvbyAgICAgICAgIF0gW2ZpdmUgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAwNzowMDowMCAyMDEzIEdNVF0KK1s0XSBbMDAwMDRdIFt0cy80XSBbb2xkdGltZSBdIFtmb28gICAgICAgICBdIFtmb3VyICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1dlZCBBdWcgMjggMDg6MDA6MDAgMjAxMyBHTVRdCitbM10gWzAwMDAzXSBbdHMvM10gW25ld3RpbWUgXSBbZm9vICAgICAgICAgXSBbdGhyZWUgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDA5OjAwOjAwIDIwMTMgR01UXQorWzJdIFswMDAwMl0gW3RzLzJdIFtzeXNib290IF0gW2ZvbyAgICAgICAgIF0gW3R3byAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAxMDowMDowMCAyMDEzIEdNVF0KK1sxXSBbMDAwMDFdIFt0cy8xXSBbcnVubGV2ZWxdIFtmb28gICAgICAgICBdIFtvbmUgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1dlZCBBdWcgMjggMTE6MDA6MDAgMjAxMyBHTVRdCitbMF0gWzAwMDAwXSBbdHMvMF0gW25vbnZhbGlkXSBbZm9vICAgICAgICAgXSBbemVybyAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDEyOjAwOjAwIDIwMTMgR01UXQorWzddIFswMDAxMF0gW2lwdjRdIFtJUHY0ICAgIF0gW3Jvb3QgICAgICAgIF0gW2Rucy1zZXJ2ZXIgICAgICAgICAgXSBbMTk4LjQxLjAuNCAgICAgXSBbV2VkIEF1ZyAyOCAxMzowMDowMCAyMDEzIEdNVF0KK1s4XSBbMDAwMTFdIFtpcHY0XSBbSVB2NCAgICBdIFtyb290ICAgICAgICBdIFtkbnMtc2VydmVyICAgICAgICAgIF0gWzE5OC40MS4wLjQgICAgIF0gW1dlZCBBdWcgMjggMTQ6MDA6MDAgMjAxMyBHTVRdCitbMV0gWzAwMDEyXSBbfn4gIF0gW3NodXRkb3duXSBbfiAgICAgICAgICAgXSBbc3lzdGVtLW5hbWUgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDE1OjAwOjAwIDIwMTMgR01UXQorWzJdIFswMDAxMl0gW35+ICBdIFtyZWJvb3QgIF0gW34gICAgICAgICAgIF0gW3N5c3RlbS1uYW1lICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEF1ZyAyOCAxNjowMDowMCAyMDEzIEdNVF0KK1sxXSBbMDAwMTJdIFt+fiAgXSBbc2h1dGRvd25dIFt+ICAgICAgICAgICBdIFtzeXN0ZW0tbmFtZSAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1dlZCBBdWcgMjggMTc6MDA6MDAgMjAxMyBHTVRdCitbMl0gWzAwMDEyXSBbfn4gIF0gW3JlYm9vdCAgXSBbfiAgICAgICAgICAgXSBbc3lzdGVtLW5hbWUgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgQXVnIDI4IDE4OjAwOjAwIDIwMTMgR01UXQorWzddIFswMDAxM10gW3RzLzFdIFt0b3J2YWxkc10gW2xpbnV4ICAgICAgIF0gW2hvYmJ5ICAgICAgICAgICAgICAgXSBbMTI4LjIxNC4yMDUuMTQgXSBbTW9uIEF1ZyAyNiAwMDo1NzowOCAxOTkxIEdNVF0KK1s3XSBbMDAwMTRdIFtsb25nXSBbcmljayAgICBdIFtsb25nICAgICAgICBdIFtuZXZlci1nb25uYS1sb2dvdXQgIF0gWzAuMC4wLjAgICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgICAgICAgICBdCitbOF0gWzAwMDE0XSBbbG9uZ10gW3JpY2sgICAgXSBbbG9uZyAgICAgICAgXSBbbmV2ZXItZ29ubmEtbG9nb3V0ICBdIFswLjAuMC4wICAgICAgICBdIFtUdWUgSmFuIDE5IDAzOjE0OjA3IDIwMzggR01UXQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC90eHQtYiBiL3Rlc3RzL3RzL3V0bXAvdHh0LWIKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjkyOTI3MwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvdHh0LWIKQEAgLTAsMCArMSwxMCBAQAorWzddIFsxNzA1OF0gW3RzLzFdIFtrZXJvbGFzYV0gW3B0cy8xICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xNlQyMzo0NDowOSwwMDAwMDArMDA6MDBdCitbN10gWzIyMDk4XSBbdHMvMl0gW2tlcm9sYXNhXSBbcHRzLzIgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE2VDIzOjQ5OjE3LDAwMDAwMCswMDowMF0KK1s3XSBbMjQ5MTVdIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMTI6MjM6MzMsMDAwMDAwKzAwOjAwXQorWzhdIFsyNDkxNV0gW3RzLzNdIFtrZXJvbGFzYV0gW3B0cy8zICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QxMjoyNDo0OSwwMDAwMDArMDA6MDBdCitbN10gWzMwNjI5XSBbdHMvM10gW2tlcm9sYXNhXSBbcHRzLzMgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDEzOjEyOjM5LDAwMDAwMCswMDowMF0KK1s4XSBbMzA2MjldIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMTM6NDI6MTksMDAwMDAwKzAwOjAwXQorWzhdIFsyMjA5OF0gW3RzLzJdIFtrZXJvbGFzYV0gW3B0cy8yICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QxMzo0Mjo0OCwwMDAwMDArMDA6MDBdCitbOF0gWzE3MDU4XSBbdHMvMV0gW2tlcm9sYXNhXSBbcHRzLzEgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFsyMDEzLTAxLTE3VDEzOjQyOjQ4LDAwMDAwMCswMDowMF0KK1s3XSBbMzE1NDVdIFt0cy8xXSBba2Vyb2xhc2FdIFtwdHMvMSAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gWzIwMTMtMDEtMTdUMjA6MTc6MjEsMDAwMDAwKzAwOjAwXQorWzddIFsyODQ5Nl0gW3RzLzJdIFtrZXJvbGFzYV0gW3B0cy8yICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbMjAxMy0wMS0xN1QyMTowOTozOSwwMDAwMDArMDA6MDBdCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3R4dC1iLW9sZCBiL3Rlc3RzL3RzL3V0bXAvdHh0LWItb2xkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyZmIyMmQKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3R4dC1iLW9sZApAQCAtMCwwICsxLDEwIEBACitbN10gWzE3MDU4XSBbdHMvMV0gW2tlcm9sYXNhXSBbcHRzLzEgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtXZWQgSmFuIDE2IDIzOjQ0OjA5IDIwMTMgR01UXQorWzddIFsyMjA5OF0gW3RzLzJdIFtrZXJvbGFzYV0gW3B0cy8yICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbV2VkIEphbiAxNiAyMzo0OToxNyAyMDEzIEdNVF0KK1s3XSBbMjQ5MTVdIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1RodSBKYW4gMTcgMTI6MjM6MzMgMjAxMyBHTVRdCitbOF0gWzI0OTE1XSBbdHMvM10gW2tlcm9sYXNhXSBbcHRzLzMgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtUaHUgSmFuIDE3IDEyOjI0OjQ5IDIwMTMgR01UXQorWzddIFszMDYyOV0gW3RzLzNdIFtrZXJvbGFzYV0gW3B0cy8zICAgICAgIF0gWzowLjAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbVGh1IEphbiAxNyAxMzoxMjozOSAyMDEzIEdNVF0KK1s4XSBbMzA2MjldIFt0cy8zXSBba2Vyb2xhc2FdIFtwdHMvMyAgICAgICBdIFsgICAgICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1RodSBKYW4gMTcgMTM6NDI6MTkgMjAxMyBHTVRdCitbOF0gWzIyMDk4XSBbdHMvMl0gW2tlcm9sYXNhXSBbcHRzLzIgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtUaHUgSmFuIDE3IDEzOjQyOjQ4IDIwMTMgR01UXQorWzhdIFsxNzA1OF0gW3RzLzFdIFtrZXJvbGFzYV0gW3B0cy8xICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbVGh1IEphbiAxNyAxMzo0Mjo0OCAyMDEzIEdNVF0KK1s3XSBbMzE1NDVdIFt0cy8xXSBba2Vyb2xhc2FdIFtwdHMvMSAgICAgICBdIFs6MC4wICAgICAgICAgICAgICAgIF0gWzAuMC4wLjAgICAgICAgIF0gW1RodSBKYW4gMTcgMjA6MTc6MjEgMjAxMyBHTVRdCitbN10gWzI4NDk2XSBbdHMvMl0gW2tlcm9sYXNhXSBbcHRzLzIgICAgICAgXSBbOjAuMCAgICAgICAgICAgICAgICBdIFswLjAuMC4wICAgICAgICBdIFtUaHUgSmFuIDE3IDIxOjA5OjM5IDIwMTMgR01UXQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC90eHQtaXB2NiBiL3Rlc3RzL3RzL3V0bXAvdHh0LWlwdjYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2NlYjQxMQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvdHh0LWlwdjYKQEAgLTAsMCArMSwyIEBACitbN10gWzAwMDEwXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbMjAxMy0wOC0yOFQyMDozMDo0MCwwMDAwMDArMDA6MDBdCitbOF0gWzAwMDExXSBbaXB2Nl0gW0lQdjYgICAgXSBbcm9vdCAgICAgICAgXSBbZG5zLXNlcnZlciAgICAgICAgICBdIFsyMDAxOjUwMzpiYTNlOjoyOjMwXSBbMjAxMy0wOC0yOFQyMDo0MDo1MCwwMDAwMDArMDA6MDBdCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3R4dC1pcHY2LW9sZCBiL3Rlc3RzL3RzL3V0bXAvdHh0LWlwdjYtb2xkCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjVjY2UxNTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3R4dC1pcHY2LW9sZApAQCAtMCwwICsxLDIgQEAKK1s3XSBbMDAwMTBdIFtpcHY2XSBbSVB2NiAgICBdIFtyb290ICAgICAgICBdIFtkbnMtc2VydmVyICAgICAgICAgIF0gWzIwMDE6NTAzOmJhM2U6OjI6MzBdIFtXZWQgQXVnIDI4IDIwOjMwOjQwIDIwMTMgR01UXQorWzhdIFswMDAxMV0gW2lwdjZdIFtJUHY2ICAgIF0gW3Jvb3QgICAgICAgIF0gW2Rucy1zZXJ2ZXIgICAgICAgICAgXSBbMjAwMTo1MDM6YmEzZTo6MjozMF0gW1dlZCBBdWcgMjggMjA6NDA6NTAgMjAxMyBHTVRdCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3V0bXBfZnVuY3Rpb25zLnNoIGIvdGVzdHMvdHMvdXRtcC91dG1wX2Z1bmN0aW9ucy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NGExMDBjCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXRtcC91dG1wX2Z1bmN0aW9ucy5zaApAQCAtMCwwICsxLDE4IEBACit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVRNUERVTVAiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfU1lTSU5GTyIKKworZnVuY3Rpb24gdXRtcF9zdHJ1Y3Rfc2l6ZSB7CisJbG9jYWwgc2l6ZQorCSMgcHJvYmFibHkgInV0bXBkdW1wIC1yIiBjb3VsZCBiZSBpbXByb3ZlZCByZWdhcmRpbmcgd2hpdGUgc3BhY2VzIC4uLgorCWxvY2FsIHR4dD0iWzBdIFswMDAwMF0gWyAgICBdIFsgICAgICAgIF0gWyAgICAgICAgICAgIF0gWyAgICAgICAgICAgICAgICAgICAgXSBbMC4wLjAuMCAgICAgICAgXSBbICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0iCisKKwlzaXplPSQoZWNobyAiJHR4dCIgfCAiJFRTX0NNRF9VVE1QRFVNUCIgLXIgMj4vZGV2L251bGwgfCB3YyAtYyBcCisJCSYmIGV4aXQgJHtQSVBFU1RBVFVTWzFdfSkKKwlyZXQ9JD8KKwlbICRyZXQgLWVxIDAgXSB8fCBzaXplPSIwIgorCWVjaG8gIiRzaXplIgorCXJldHVybiAkcmV0Cit9CisKK0JZVEVfT1JERVI9JCgkVFNfSEVMUEVSX1NZU0lORk8gYnl0ZS1vcmRlcikgfHwgdHNfZmFpbGVkICJieXRlLW9yZGVyIGZhaWxlZCIKK1NJWkVPRl9VVE1QPSQodXRtcF9zdHJ1Y3Rfc2l6ZSkgfHwgdHNfZmFpbGVkICJ1dG1wX3N0cnVjdF9zaXplIGZhaWxlZCIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtY2lyY2xlIGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC1jaXJjbGUKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uMDA2NWY3MAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtY2lyY2xlCkBAIC0wLDAgKzEsNDggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0iY2lyY2xlIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworIyB0aGlzIHRlc3QgaXMgYXJjaCBpbmRlcGVuZGVudCwgbm8gbmVlZCBmb3IgdXRtcF9mdW5jdGlvbnMuc2gKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9VVE1QRFVNUCIKKworZXhwb3J0IExBTkc9QworZXhwb3J0IFRaPUFzaWEvVG9reW8KK09VVF9CSU4xPSR7VFNfT1VURElSfS8ke1RTX1RFU1ROQU1FfS5iaW4xCitPVVRfQklOMj0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0uYmluMgorT1VUX1RYVD0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0udHh0CisKKyMgRmlsZXMgd2l0aCAtb2xkIGV4dGVuc2lvbiBhcmUgdXNpbmcgdGltZXN0YW1wIGZvcm1hdCBiZWZvcmUgdXRtcGR1bXAKKyMgc3RhcnRlZCB0byB1c2UgaXNvLTg2MDEgZm9ybWF0LiAgVGhpcyBjaGVjayBpcyB0ZXN0aW5nIG5vdGhpbmcgaXMgbG9zdAorIyB3aGVuIGNvbnZlcnNpb25zIHBlcmZvcm1pbmcgZm9sbG93aW5nIGNvbnZlcnNpb25zLgorIworIyBvbGQgdGV4dCBmb3JtYXQgLT4gYmluYXJ5IC0+IG5ldyB0ZXh0IGZvcm1hdCAtPiBiaW5hcnkKKworZWNobyAibm8gb3V0cHV0IGV4cGVjdGVkIiA+ICRUU19PVVRQVVQKK2ZvciBmIGluIHR4dC1hIHR4dC1iIHR4dC1pcHY2OyBkbworCSRUU19DTURfVVRNUERVTVAgLXIgJFRTX1NFTEYvJGYtb2xkID4gJE9VVF9CSU4xIDI+L2Rldi9udWxsICYmCisJJFRTX0NNRF9VVE1QRFVNUCAkT1VUX0JJTjEgPiAkT1VUX1RYVCAyPi9kZXYvbnVsbCAmJgorCWRpZmYgLXUgJFRTX1NFTEYvJGYgJE9VVF9UWFQgJiYKKwkkVFNfQ01EX1VUTVBEVU1QIC1yICRPVVRfVFhUID4gJE9VVF9CSU4yIDI+L2Rldi9udWxsICYmCisJZGlmZiAtcSAkT1VUX0JJTjEgJE9VVF9CSU4yIHx8CisJZWNobyAiY2lyY2xlIGZhaWxlZCBmb3IgJGYiCitkb25lID4+ICRUU19PVVRQVVQgMj4mMQorCitybSAtZiAiJE9VVF9CSU4xIiAiJE9VVF9CSU4yIiAiJE9VVF9UWFQiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXN1YnNlY29uZCBiL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtc3Vic2Vjb25kCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmY5ZWUxMWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXN1YnNlY29uZApAQCAtMCwwICsxLDMyIEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InN1YnNlY29uZCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKKyMgdGhpcyB0ZXN0IGlzIGFyY2ggaW5kZXBlbmRlbnQsIG5vIG5lZWQgZm9yIHV0bXBfZnVuY3Rpb25zLnNoCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVRNUERVTVAiCisKK09VVF9CSU49JHtUU19PVVRESVJ9LyR7VFNfVEVTVE5BTUV9LmJpbgorCitlY2hvICJsYXN0IDkgaXMgZXhwZWN0ZWQgdG8gZGlzYXBwZWFyIGluIGNvbnZlcnNpb24iID4gJFRTX09VVFBVVAorJFRTX0NNRF9VVE1QRFVNUCAtciAkVFNfU0VMRi9zdWJzZWMgPiAkT1VUX0JJTiAyPi9kZXYvbnVsbAorJFRTX0NNRF9VVE1QRFVNUCAkT1VUX0JJTiA+PiAkVFNfT1VUUFVUIDI+L2Rldi9udWxsCisKK3JtIC1mICIkT1VUX0JJTiIKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtdG9iaW4gYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXRvYmluCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjhiMDg5ZTYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXRvYmluCkBAIC0wLDAgKzEsMzIgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idG8gYmluYXJ5IgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKworLiAiJFRTX1NFTEYvdXRtcF9mdW5jdGlvbnMuc2giCitbICRTSVpFT0ZfVVRNUCAtZXEgMzg0IF0gfHwgdHNfc2tpcCAidXRtcCBzdHJ1Y3Qgc2l6ZSAkU0laRU9GX1VUTVAiCisKK2V4cG9ydCBMQU5HPUMKK2V4cG9ydCBUWj1Bc2lhL1Rva3lvCitPVVRGSUxFPSR7VFNfT1VURElSfS8ke1RTX1RFU1ROQU1FfS5maWxlCiskVFNfQ01EX1VUTVBEVU1QIC1yICRUU19TRUxGL3R4dC1iID58ICRPVVRGSUxFIDI+L2Rldi9udWxsCitpZiBkaWZmIC1xICRUU19TRUxGL3d0bXAtYi4kQllURV9PUkRFUiAkT1VURklMRTsgdGhlbgorCWVjaG8gIm5vIGRpZmYiCitmaSA+ICRUU19PVVRQVVQgMj4mMQorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b2Jpbi1pcHY2IGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b2Jpbi1pcHY2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmNkMDgxMzkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXRvYmluLWlwdjYKQEAgLTAsMCArMSwzMiBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJJUHY2IHRvIGJpbmFyeSIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKKy4gIiRUU19TRUxGL3V0bXBfZnVuY3Rpb25zLnNoIgorWyAkU0laRU9GX1VUTVAgLWVxIDM4NCBdIHx8IHRzX3NraXAgInV0bXAgc3RydWN0IHNpemUgJFNJWkVPRl9VVE1QIgorCitleHBvcnQgTEFORz1DCitleHBvcnQgVFo9QXNpYS9Ub2t5bworT1VURklMRT0ke1RTX09VVERJUn0vJHtUU19URVNUTkFNRX0uZmlsZQorJFRTX0NNRF9VVE1QRFVNUCAtciAkVFNfU0VMRi90eHQtaXB2NiA+fCAkT1VURklMRSAyPi9kZXYvbnVsbAoraWYgZGlmZiAtcSAkVFNfU0VMRi93dG1wLWlwdjYuJEJZVEVfT1JERVIgJE9VVEZJTEU7IHRoZW4KKwllY2hvICJubyBkaWZmIgorZmkgPiAkVFNfT1VUUFVUIDI+JjEKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvdXRtcGR1bXAtdG90eHQgYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXRvdHh0Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjA5OTUzM2MKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXRvdHh0CkBAIC0wLDAgKzEsMjggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idG8gdGV4dCIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKKy4gIiRUU19TRUxGL3V0bXBfZnVuY3Rpb25zLnNoIgorWyAkU0laRU9GX1VUTVAgLWVxIDM4NCBdIHx8IHRzX3NraXAgInV0bXAgc3RydWN0IHNpemUgJFNJWkVPRl9VVE1QIgorCitleHBvcnQgTEFORz1DCitleHBvcnQgVFo9QXNpYS9Ub2t5bworJFRTX0NNRF9VVE1QRFVNUCAkVFNfU0VMRi93dG1wLWIuJEJZVEVfT1JERVIgPnwgJFRTX09VVFBVVCAyPi9kZXYvbnVsbAorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b3R4dC1pcHY2IGIvdGVzdHMvdHMvdXRtcC91dG1wZHVtcC10b3R4dC1pcHY2Cm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmJjOTcwNGUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dG1wL3V0bXBkdW1wLXRvdHh0LWlwdjYKQEAgLTAsMCArMSwyOCBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJJUHY2IHRvIHRleHQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCisuICIkVFNfU0VMRi91dG1wX2Z1bmN0aW9ucy5zaCIKK1sgJFNJWkVPRl9VVE1QIC1lcSAzODQgXSB8fCB0c19za2lwICJ1dG1wIHN0cnVjdCBzaXplICRTSVpFT0ZfVVRNUCIKKworZXhwb3J0IExBTkc9QworZXhwb3J0IFRaPUFzaWEvVG9reW8KKyRUU19DTURfVVRNUERVTVAgJFRTX1NFTEYvd3RtcC1pcHY2LiRCWVRFX09SREVSID58ICRUU19PVVRQVVQgMj4vZGV2L251bGwKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvd3RtcC1hLkJFIGIvdGVzdHMvdHMvdXRtcC93dG1wLWEuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTAxNWY4ZQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1hLkJFCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvd3RtcC1hLkxFIGIvdGVzdHMvdHMvdXRtcC93dG1wLWEuTEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjY2YmIyMAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1hLkxFCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvd3RtcC1iLkJFIGIvdGVzdHMvdHMvdXRtcC93dG1wLWIuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmIwOWEwYwotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1iLkJFCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvd3RtcC1iLkxFIGIvdGVzdHMvdHMvdXRtcC93dG1wLWIuTEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNDVkMzViYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1iLkxFCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvd3RtcC1pcHY2LkJFIGIvdGVzdHMvdHMvdXRtcC93dG1wLWlwdjYuQkUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGNmN2QzOQotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1pcHY2LkJFCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V0bXAvd3RtcC1pcHY2LkxFIGIvdGVzdHMvdHMvdXRtcC93dG1wLWlwdjYuTEUKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMzQyNTUzYgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V0bXAvd3RtcC1pcHY2LkxFCkJpbmFyeSBmaWxlcyBkaWZmZXIKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V1aWQvbmFtZXNwYWNlIGIvdGVzdHMvdHMvdXVpZC9uYW1lc3BhY2UKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYmVjMmM5ZAotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V1aWQvbmFtZXNwYWNlCkBAIC0wLDAgKzEsMjkgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDA5IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorCisuICRUU19UT1BESVIvZnVuY3Rpb25zLnNoCit0c19pbml0ICIkKiIKKwordHNfY2hlY2tfdGVzdF9jb21tYW5kICIkVFNfSEVMUEVSX1VVSURfTkFNRVNQQUNFIgorCiskVFNfSEVMUEVSX1VVSURfTkFNRVNQQUNFID4gJFRTX09VVFBVVAorCit0c19maW5hbGl6ZQorCisKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V1aWQvb2lkcyBiL3Rlc3RzL3RzL3V1aWQvb2lkcwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4zYjAwNWM1Ci0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXVpZC9vaWRzCkBAIC0wLDAgKzEsMzEgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0ib2lkcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKKzogLiA+ICRUU19PVVRQVVQKKwordXVpZGdlbiAtLW1kNSAtLW5hbWVzcGFjZSBAZG5zIC0tbmFtZSAid3d3LndpZGdldHMuY29tIiA+PiAkVFNfT1VUUFVUCisKK3V1aWRnZW4gLS1tZDUgLS1uYW1lc3BhY2UgQGRucyAtLW5hbWUgInd3dy5leGFtcGxlLmNvbSIgPj4gJFRTX09VVFBVVAorCit1dWlkZ2VuIC0tc2hhMSAtLW5hbWVzcGFjZSBAZG5zIC0tbmFtZSAid3d3LmV4YW1wbGUuY29tIiA+PiAkVFNfT1VUUFVUCisKK3V1aWRnZW4gLS1zaGExIC0tbmFtZXNwYWNlIEBvaWQgLS1oZXggLS1uYW1lICI1MjU0MDBmYzBmNWUiID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V1aWQvdXVpZF9wYXJzZXIgYi90ZXN0cy90cy91dWlkL3V1aWRfcGFyc2VyCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLmQ4MGQyNjkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dWlkL3V1aWRfcGFyc2VyCkBAIC0wLDAgKzEsMjYgQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idXVpZF9wYXJzZXIiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfVVVJRF9QQVJTRVIiCisKKyRUU19IRUxQRVJfVVVJRF9QQVJTRVIgPiAkVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldHVybiB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3V1aWQvdXVpZGQgYi90ZXN0cy90cy91dWlkL3V1aWRkCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE2ZGM0NWUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy91dWlkL3V1aWRkCkBAIC0wLDAgKzEsNTggQEAKKyMhL2Jpbi9iYXNoCisKKyMgVGhpcyBmaWxlIGlzIHBhcnQgb2YgdXRpbC1saW51eC4KKyMKKyMgVGhpcyBmaWxlIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vciBtb2RpZnkKKyMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkKKyMgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IKKyMgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyMKKyMgVGhpcyBmaWxlIGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisjIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyMgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKworVFNfVE9QRElSPSIkezAlLyp9Ly4uLy4uIgorVFNfREVTQz0idXVpZGQiCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfVVVJRF9QQVJTRVIiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVVJREQiCisKK09VVFBVVF9GSUxFPSIkKG1rdGVtcCAiJHtUU19PVVRESVJ9L3V1aWRkWFhYWFhYWFhYWFhYWCIpIgorVVVJRERfUElEPSIkKG1rdGVtcCAtdSAiJHtUU19PVVRESVJ9L3V1aWRkWFhYWFhYWFhYWFhYWCIpIgorIyBzb2NrZXQgcGF0aCBtdXN0IGJlIHNob3J0IChTSVpFT0ZfU09DS0FERFJfVU5fU1VOX1BBVEggMTA4KQorVVVJRERfU09DS0VUPSQobWt0ZW1wICIvdG1wL3VsdGVzdC0kVFNfQ09NUE9ORU5ULSRUU19URVNUTkFNRS1zb2NrZXRYWFhYWFgiKQorCiskVFNfQ01EX1VVSUREIC1wICIkVVVJRERfUElEIiAtcyAiJFVVSUREX1NPQ0tFVCIKK2lmIFsgJD8gLW5lIDAgXTsgdGhlbgorCXRzX2ZhaWxlZCAiZGFlbW9uIHN0YXJ0IgorZmkKKwordGVzdF9mbGFnKCkgeworCWVjaG8gIm9wdGlvbnM6ICQqIiA+PiAkVFNfT1VUUFVUCisJJFRTX0NNRF9VVUlERCAtcyAkVVVJRERfU09DS0VUICQqIHwKKwkJc2VkICcvTGlzdCBvZiBVVUlEczovZDsgcy9eW1s6c3BhY2U6XV0qLy8nID4gIiRPVVRQVVRfRklMRSIgMj4+JFRTX09VVFBVVAorCSRUU19IRUxQRVJfVVVJRF9QQVJTRVIgIiRPVVRQVVRfRklMRSIgPj4gJFRTX09VVFBVVCAyPiYxCisJcmV0PSQ/CisJaWYgWyAkcmV0IC1uZSAwIF07IHRoZW4KKwkJZWNobyAic29tZXRoaW5nIHdyb25nIHdpdGggJE9VVFBVVF9GSUxFIiA+PiAkVFNfT1VUUFVUCisJCWNhdCAkT1VUUFVUX0ZJTEUgPj4gJFRTX09VVFBVVCAyPiYxCisJZmkKKwllY2hvICJyZXR1cm4gdmFsdWU6ICRyZXQiID4+ICRUU19PVVRQVVQKK30KKwordGVzdF9mbGFnIC10Cit0ZXN0X2ZsYWcgLS10aW1lCit0ZXN0X2ZsYWcgLXIKK3Rlc3RfZmxhZyAtLXJhbmRvbQordGVzdF9mbGFnIC1yIC1uIDY1CisKKyRUU19DTURfVVVJREQgLWsgLXMgIiRVVUlERF9TT0NLRVQiIDI+JjEgfAorCXNlZCAncy9waWQgWzAtOV0qLiQvcGlkIDxudW0+Li8nID4+ICIkVFNfT1VUUFVUIgorCitybSAtZiAiJE9VVFBVVF9GSUxFIiAiJFVVSUREX1BJRCIgIiRVVUlERF9TT0NLRVQiCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXN0cy90cy91dWlkL3V1aWRnZW4gYi90ZXN0cy90cy91dWlkL3V1aWRnZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNmFhMWI1YgotLS0gL2Rldi9udWxsCisrKyBiL3Rlc3RzL3RzL3V1aWQvdXVpZGdlbgpAQCAtMCwwICsxLDQ1IEBACisjIS9iaW4vYmFzaAorCisjIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHV0aWwtbGludXguCisjCisjIFRoaXMgZmlsZSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgZmlsZSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9InV1aWRnZW4iCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19IRUxQRVJfVVVJRF9QQVJTRVIiCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVVJREdFTiIKKworT1VUUFVUX0ZJTEU9IiQobWt0ZW1wICIke1RTX09VVERJUn0vdXVpZGdlblhYWFhYWFhYWFhYWFgiKSIKKwordGVzdF9mbGFnKCkgeworCWVjaG8gIm9wdGlvbjogJDEiID4+ICRUU19PVVRQVVQKKwkkVFNfQ01EX1VVSURHRU4gJDEgPiAiJE9VVFBVVF9GSUxFIiAyPj4kVFNfT1VUUFVUCisJcmV0PSQ/CisJJFRTX0hFTFBFUl9VVUlEX1BBUlNFUiAiJE9VVFBVVF9GSUxFIiA+PiAkVFNfT1VUUFVUIDI+JjEKKwlpZiBbICQ/IC1uZSAwIF0gfHwgWyAkcmV0IC1uZSAwIF07IHRoZW4gCisJCWVjaG8gInNvbWV0aGluZyB3cm9uZyB3aXRoICRPVVRQVVRfRklMRSIgPj4gJFRTX09VVFBVVAorCQljYXQgJE9VVFBVVF9GSUxFID4+ICRUU19PVVRQVVQgMj4mMQorCWZpCisJZWNobyAicmV0dXJuIHZhbHVlczogJHJldCBhbmQgJD8iID4+ICRUU19PVVRQVVQKK30KKwordGVzdF9mbGFnIC1yCit0ZXN0X2ZsYWcgLXQKK3Rlc3RfZmxhZyAtLXJhbmRvbQordGVzdF9mbGFnIC0tdGltZQorCitybSAtZiAiJE9VVFBVVF9GSUxFIgorCit0c19maW5hbGl6ZQpkaWZmIC0tZ2l0IGEvdGVzdHMvdHMvdXVpZC91dWlkcGFyc2UgYi90ZXN0cy90cy91dWlkL3V1aWRwYXJzZQpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi4yNDE0MzUzCi0tLSAvZGV2L251bGwKKysrIGIvdGVzdHMvdHMvdXVpZC91dWlkcGFyc2UKQEAgLTAsMCArMSw2MSBAQAorIyEvYmluL2Jhc2gKKworIyBUaGlzIGZpbGUgaXMgcGFydCBvZiB1dGlsLWxpbnV4LgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorCitUU19UT1BESVI9IiR7MCUvKn0vLi4vLi4iCitUU19ERVNDPSJ1dWlkcGFyc2UiCitleHBvcnQgVFo9R01UCisKKy4gJFRTX1RPUERJUi9mdW5jdGlvbnMuc2gKK3RzX2luaXQgIiQqIgorCit0c19jaGVja190ZXN0X2NvbW1hbmQgIiRUU19DTURfVVVJRFBBUlNFIgorCitlY2hvICcwMDAwMDAwMC0wMDAwLTAwMDAtMDAwMC0wMDAwMDAwMDAwMDAKKworMDAwMDAwMDAtMDAwMC0xMDAwLTAwMDAtMDAwMDAwMDAwMDAwCiswMDAwMDAwMC0wMDAwLTIwMDAtMDAwMC0wMDAwMDAwMDAwMDAKKzAwMDAwMDAwLTAwMDAtMzAwMC0wMDAwLTAwMDAwMDAwMDAwMAorMDAwMDAwMDAtMDAwMC00MDAwLTAwMDAtMDAwMDAwMDAwMDAwCiswMDAwMDAwMC0wMDAwLTUwMDAtMDAwMC0wMDAwMDAwMDAwMDAKKzAwMDAwMDAwLTAwMDAtNjAwMC0wMDAwLTAwMDAwMDAwMDAwMAorCiswMDAwMDAwMC0wMDAwLTAwMDAtODAwMC0wMDAwMDAwMDAwMDAKKzAwMDAwMDAwLTAwMDAtMjAwMC04MDAwLTAwMDAwMDAwMDAwMAorMDAwMDAwMDAtMDAwMC0zMDAwLTgwMDAtMDAwMDAwMDAwMDAwCiswMDAwMDAwMC0wMDAwLTQwMDAtODAwMC0wMDAwMDAwMDAwMDAKKzAwMDAwMDAwLTAwMDAtNTAwMC04MDAwLTAwMDAwMDAwMDAwMAorMDAwMDAwMDAtMDAwMC02MDAwLTgwMDAtMDAwMDAwMDAwMDAwCisKKzAwMDAwMDAwLTAwMDAtMDAwMC1kMDAwLTAwMDAwMDAwMDAwMAorMDAwMDAwMDAtMDAwMC0xMDAwLWQwMDAtMDAwMDAwMDAwMDAwCiswMDAwMDAwMC0wMDAwLTIwMDAtZDAwMC0wMDAwMDAwMDAwMDAKKzAwMDAwMDAwLTAwMDAtMzAwMC1kMDAwLTAwMDAwMDAwMDAwMAorMDAwMDAwMDAtMDAwMC00MDAwLWQwMDAtMDAwMDAwMDAwMDAwCiswMDAwMDAwMC0wMDAwLTUwMDAtZDAwMC0wMDAwMDAwMDAwMDAKKzAwMDAwMDAwLTAwMDAtNjAwMC1kMDAwLTAwMDAwMDAwMDAwMAorCiswMDAwMDAwMC0wMDAwLTAwMDAtZjAwMC0wMDAwMDAwMDAwMDAKKzAwMDAwMDAwLTAwMDAtMTAwMC1mMDAwLTAwMDAwMDAwMDAwMAorMDAwMDAwMDAtMDAwMC0yMDAwLWYwMDAtMDAwMDAwMDAwMDAwCiswMDAwMDAwMC0wMDAwLTMwMDAtZjAwMC0wMDAwMDAwMDAwMDAKKzAwMDAwMDAwLTAwMDAtNDAwMC1mMDAwLTAwMDAwMDAwMDAwMAorMDAwMDAwMDAtMDAwMC01MDAwLWYwMDAtMDAwMDAwMDAwMDAwCiswMDAwMDAwMC0wMDAwLTYwMDAtZjAwMC0wMDAwMDAwMDAwMDAKKworOWIyNzRjNDYtNTQ0YS0xMWU3LWE5NzItMDAwMzdmNTAwMDAxCisKK2ludmFsaWQtaW5wdXQnIHwgJFRTX0NNRF9VVUlEUEFSU0UgMT4kVFNfT1VUUFVUIDI+JjEKK2VjaG8gInJldHVybiB2YWx1ZTogJD8iID4+ICRUU19PVVRQVVQKKwordHNfZmluYWxpemUKZGlmZiAtLWdpdCBhL3Rlc3RzL3RzL3dpcGVmcy93aXBlZnMgYi90ZXN0cy90cy93aXBlZnMvd2lwZWZzCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjY5MTYzNjIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXN0cy90cy93aXBlZnMvd2lwZWZzCkBAIC0wLDAgKzEsMzMgQEAKKyMhL2Jpbi9iYXNoCisKK1RTX1RPUERJUj0iJHswJS8qfS8uLi8uLiIKK1RTX0RFU0M9IndpcGVmcyIKKworLiAkVFNfVE9QRElSL2Z1bmN0aW9ucy5zaAordHNfaW5pdCAiJCoiCisKK3RzX2NoZWNrX3Rlc3RfY29tbWFuZCAiJFRTX0NNRF9XSVBFRlMiCisKK3RzX3NraXBfbm9ucm9vdAorCisjIHNldCBnbG9iYWwgdmFyaWFibGUgVFNfREVWSUNFCit0c19zY3NpX2RlYnVnX2luaXQgZGV2X3NpemVfbWI9NTAgbnVtX3BhcnRzPTIKKworIyByZW1vdmUgb2xkIGJhY2t1cHMKK3JtIC1yZiAkSE9NRS93aXBlZnMtJChiYXNlbmFtZSAke1RTX0RFVklDRX0pLSouYmFrCisKKyNyZW1vdmUgdGhlIG1hZ2ljIGJ5dGUsIGJhY2sgaXQgdXAKKyRUU19DTURfV0lQRUZTIC0tYWxsIC0tYmFja3VwICR7VFNfREVWSUNFfSAmPi9kZXYvbnVsbCB8fCB0c19kaWUgIndpcGVmcyBmYWlsZWQiCisKKyN0aGVyZSBzaG91bGQgYmUganVzdCBvbmUgbWFnaWMgc3RyaW5nL2JhY2t1cCBmaWxlIGluIHRoaXMgY2FzZQorSU5GSUxFPSQobHMgJEhPTUUvd2lwZWZzLSQoYmFzZW5hbWUgJHtUU19ERVZJQ0V9KS0qLmJhaykKK09GRlQ9JChlY2hvICRJTkZJTEUgfCBzZWQgJ3MvXi4qLVwoLipcKS5iYWskL1wxLycpCitkZCBpZj0kSU5GSUxFIG9mPSRUU19ERVZJQ0UgYnM9MSBjb252PW5vdHJ1bmMgc2Vlaz0kKCgkT0ZGVCkpICY+L2Rldi9udWxsCisKKyN0aGUgYnl0ZXMgc2hvdWxkIGJlIGNvcGllZCBiYWNrLCBjaGVjayBpZiB3aXBlZnMgY2FuIHJlY29nbml6ZSBpdAorJFRTX0NNRF9XSVBFRlMgLWEgJHtUU19ERVZJQ0V9ID4gJFRTX09VVERJUi9vdXQgMj4vZGV2L251bGwKKworIyBjaGVjayBmb3Igb3V0cHV0CitbIC1zICRUU19PVVRESVIvb3V0IF0gJiYgZWNobyAiT0siICY+ICRUU19PVVRQVVQgfHwgZXhpdCAxCisKK3RzX2ZpbmFsaXplCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL01ha2Vtb2R1bGUuYW0gYi90ZXh0LXV0aWxzL01ha2Vtb2R1bGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzQ3OGViNAotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvTWFrZW1vZHVsZS5hbQpAQCAtMCwwICsxLDk4IEBACitpZiBCVUlMRF9DT0wKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IGNvbAorZGlzdF9tYW5fTUFOUyArPSB0ZXh0LXV0aWxzL2NvbC4xCitjb2xfU09VUkNFUyA9IHRleHQtdXRpbHMvY29sLmMKK2NvbF9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfQ09MQ1JUCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBjb2xjcnQKK2Rpc3RfbWFuX01BTlMgKz0gdGV4dC11dGlscy9jb2xjcnQuMQorY29sY3J0X1NPVVJDRVMgPSB0ZXh0LXV0aWxzL2NvbGNydC5jCitlbmRpZgorCitpZiBCVUlMRF9DT0xSTQordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gY29scm0KK2Rpc3RfbWFuX01BTlMgKz0gdGV4dC11dGlscy9jb2xybS4xCitjb2xybV9TT1VSQ0VTID0gdGV4dC11dGlscy9jb2xybS5jCitjb2xybV9MREFERCA9ICQoTERBREQpIGxpYmNvbW1vbi5sYQorZW5kaWYKKworaWYgQlVJTERfQ09MVU1OCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBjb2x1bW4KK2Rpc3RfbWFuX01BTlMgKz0gdGV4dC11dGlscy9jb2x1bW4uMQorY29sdW1uX1NPVVJDRVMgPSB0ZXh0LXV0aWxzL2NvbHVtbi5jCitjb2x1bW5fTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlic21hcnRjb2xzLmxhCitjb2x1bW5fQ0ZMQUdTID0gJChBTV9DRkxBR1MpIC1JJCh1bF9saWJzbWFydGNvbHNfaW5jZGlyKQorZW5kaWYKKworaWYgQlVJTERfSEVYRFVNUAordXNyYmluX2V4ZWNfUFJPR1JBTVMgKz0gaGV4ZHVtcAorZGlzdF9tYW5fTUFOUyArPSB0ZXh0LXV0aWxzL2hleGR1bXAuMQoraGV4ZHVtcF9TT1VSQ0VTID0gXAorCXRleHQtdXRpbHMvaGV4ZHVtcC1jb252LmMgXAorCXRleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmMgXAorCXRleHQtdXRpbHMvaGV4ZHVtcC5jIFwKKwl0ZXh0LXV0aWxzL2hleGR1bXAuaCBcCisJdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmMKK2hleGR1bXBfTERBREQgPSAkKExEQUREKSBsaWJjb21tb24ubGEgbGlidGNvbG9ycy5sYQorZW5kaWYKKworaWYgQlVJTERfUkVWCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSByZXYKK2Rpc3RfbWFuX01BTlMgKz0gdGV4dC11dGlscy9yZXYuMQorcmV2X1NPVVJDRVMgPSB0ZXh0LXV0aWxzL3Jldi5jCitlbmRpZgorCitpZiBCVUlMRF9MSU5FCit1c3JiaW5fZXhlY19QUk9HUkFNUyArPSBsaW5lCitsaW5lX1NPVVJDRVMgPSB0ZXh0LXV0aWxzL2xpbmUuYworZGlzdF9tYW5fTUFOUyArPSB0ZXh0LXV0aWxzL2xpbmUuMQorZW5kaWYKKworaWYgQlVJTERfUEcKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHBnCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvcGcuMQorcGdfU09VUkNFUyA9IHRleHQtdXRpbHMvcGcuYworcGdfQ0ZMQUdTID0gJChBTV9DRkxBR1MpICQoQlNEX1dBUk5fQ0ZMQUdTKSAkKE5DVVJTRVNfQ0ZMQUdTKSAkKFRJTkZPX0NGTEFHUykKK3BnX0xEQUREID0gJChMREFERCkgbGliY29tbW9uLmxhICQoTkNVUlNFU19MSUJTKSAkKFRJTkZPX0xJQlMpCitlbmRpZiAjIEJVSUxEX1BHCisKKworaWYgQlVJTERfVUwKK3VzcmJpbl9leGVjX1BST0dSQU1TICs9IHVsCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvdWwuMQordWxfU09VUkNFUyA9IHRleHQtdXRpbHMvdWwuYwordWxfQ0ZMQUdTID0gJChBTV9DRkxBR1MpCit1bF9MREFERCA9ICQoTERBREQpCitpZiBIQVZFX1RJTkZPCit1bF9MREFERCArPSAkKFRJTkZPX0xJQlMpCit1bF9MREFERCArPSAkKFRJTkZPX0NGTEFHUykKK2Vsc2UKK3VsX0NGTEFHUyArPSAkKE5DVVJTRVNfQ0ZMQUdTKQordWxfTERBREQgKz0gJChOQ1VSU0VTX0xJQlMpCitlbmRpZgorZW5kaWYgIyBCVUlMRF9VTAorCisKK2lmIEJVSUxEX01PUkUKK2Jpbl9QUk9HUkFNUyArPSBtb3JlCitkaXN0X21hbl9NQU5TICs9IHRleHQtdXRpbHMvbW9yZS4xCittb3JlX1NPVVJDRVMgPSB0ZXh0LXV0aWxzL21vcmUuYworbW9yZV9DRkxBR1MgPSAkKEFNX0NGTEFHUykgJChCU0RfV0FSTl9DRkxBR1MpCittb3JlX0xEQUREID0gJChMREFERCkKK2lmIEhBVkVfVElORk8KK21vcmVfTERBREQgKz0gJChUSU5GT19MSUJTKQorbW9yZV9MREFERCArPSAkKFRJTkZPX0NGTEFHUykKK2Vsc2UKK21vcmVfQ0ZMQUdTICs9ICQoTkNVUlNFU19DRkxBR1MpCittb3JlX0xEQUREICs9ICQoTkNVUlNFU19MSUJTKQorZW5kaWYKKworY2hlY2tfUFJPR1JBTVMgKz0gdGVzdF9tb3JlCit0ZXN0X21vcmVfU09VUkNFUyA9ICQobW9yZV9TT1VSQ0VTKQordGVzdF9tb3JlX0NGTEFHUyA9IC1EVEVTVF9QUk9HUkFNICQobW9yZV9DRkxBR1MpCit0ZXN0X21vcmVfTERBREQgPSAkKG1vcmVfTERBREQpCisKK2VuZGlmICMgQlVJTERfTU9SRQorCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2NvbC4xIGIvdGV4dC11dGlscy9jb2wuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMGI1MGI2Ci0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9jb2wuMQpAQCAtMCwwICsxLDE1OCBAQAorLlwiIENvcHlyaWdodCAoYykgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBUaGlzIGNvZGUgaXMgZGVyaXZlZCBmcm9tIHNvZnR3YXJlIGNvbnRyaWJ1dGVkIHRvIEJlcmtlbGV5IGJ5CisuXCIgTWljaGFlbCBSZW5kZWxsLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyljb2wuMQk2LjggKEJlcmtlbGV5KSA2LzE3LzkxCisuXCIKKy5USCBDT0wgIjEiICJKdWx5IDIwMTQiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjb2wgXC0gZmlsdGVyIHJldmVyc2UgbGluZSBmZWVkcyBmcm9tIGlucHV0CisuU0ggU1lOT1BTSVMKKy5CIGNvbAorW29wdGlvbnNdCisuU0ggREVTQ1JJUFRJT04KKy5CIGNvbAorZmlsdGVycyBvdXQgcmV2ZXJzZSAoYW5kIGhhbGYtcmV2ZXJzZSkgbGluZSBmZWVkcyBzbyB0aGUgb3V0cHV0IGlzIGluIHRoZQorY29ycmVjdCBvcmRlciwgd2l0aCBvbmx5IGZvcndhcmQgYW5kIGhhbGYtZm9yd2FyZCBsaW5lIGZlZWRzLiAgSXQgYWxzbyByZXBsYWNlcworYW55IHdoaXRlc3BhY2UgY2hhcmFjdGVycyB3aXRoIHRhYnMgd2hlcmUgcG9zc2libGUuICBUaGlzIGNhbiBiZSB1c2VmdWwgaW4KK3Byb2Nlc3NpbmcgdGhlIG91dHB1dCBvZgorLkJSIG5yb2ZmICgxKQorYW5kCisuQlIgdGJsICgxKS4KKy5QUAorLkIgY29sCityZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0IGFuZCB3cml0ZXMgdG8gc3RhbmRhcmQgb3V0cHV0LgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1iXGZSLCBcZkJcLVwtbm9cLWJhY2tzcGFjZXNcZlIKK0RvIG5vdCBvdXRwdXQgYW55IGJhY2tzcGFjZXMsIHByaW50aW5nIG9ubHkgdGhlIGxhc3QgY2hhcmFjdGVyIHdyaXR0ZW4gdG8KK2VhY2ggY29sdW1uIHBvc2l0aW9uLgorLlRQCitcZkJcLWZcZlIsIFxmQlwtXC1maW5lXGZSCitQZXJtaXQgaGFsZi1mb3J3YXJkIGxpbmUgZmVlZHMuCitOb3JtYWxseSBjaGFyYWN0ZXJzIGRlc3RpbmVkIGZvciBhIGhhbGYtbGluZSBib3VuZGFyeSBhcmUgcHJpbnRlZCBvbiB0aGUKK2ZvbGxvd2luZyBsaW5lLgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC10YWJzXGZSCitPdXRwdXQgdGFicyBpbnN0ZWFkIG9mIG11bHRpcGxlIHNwYWNlcy4KKy5UUAorXGZCXC1sXGZSLCBcZkJcLVwtbGluZXNcZlIgXGZJbnVtYmVyXGZSCitCdWZmZXIgYXQgbGVhc3QKKy5JIG51bWJlcgorbGluZXMgaW4gbWVtb3J5LiAgQnkgZGVmYXVsdCwgMTI4IGxpbmVzIGFyZSBidWZmZXJlZC4KKy5UUAorXGZCXC1wXGZSLCBcZkJcLVwtcGFzc1xmUgorRm9yY2UgdW5rbm93biBjb250cm9sIHNlcXVlbmNlcyB0byBiZSBwYXNzZWQgdGhyb3VnaCB1bmNoYW5nZWQuICBOb3JtYWxseQorLkIgY29sCit3aWxsIGZpbHRlciBvdXQgYW55IGNvbnRyb2wgc2VxdWVuY2VzIG90aGVyIHRoYW4gdGhvc2UKK3JlY29nbml6ZWQgYW5kIGludGVycHJldGVkIGJ5IGl0c2VsZiwgd2hpY2ggYXJlIGxpc3RlZCBiZWxvdy4KKy5UUAorXGZCXC14XGZSLCBcZkJcLVwtc3BhY2VzXGZSCitPdXRwdXQgbXVsdGlwbGUgc3BhY2VzIGluc3RlYWQgb2YgdGFicy4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLUhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBOT1RFUworVGhlIGNvbnRyb2wgc2VxdWVuY2VzIGZvciBjYXJyaWFnZSBtb3Rpb24gdGhhdAorLkIgY29sCit1bmRlcnN0YW5kcyBhbmQgdGhlaXIgZGVjaW1hbCB2YWx1ZXMgYXJlIGxpc3RlZCBpbiB0aGUgZm9sbG93aW5nIHRhYmxlOgorLlBQCisuUlMKKy5QRCAwCisuVFAgMTgKKy5CIEVTQ1wtNworcmV2ZXJzZSBsaW5lIGZlZWQgKGVzY2FwZSB0aGVuIDcpCisuVFAKKy5CIEVTQ1wtOAoraGFsZiByZXZlcnNlIGxpbmUgZmVlZCAoZXNjYXBlIHRoZW4gOCkKKy5UUAorLkIgRVNDXC05CitoYWxmIGZvcndhcmQgbGluZSBmZWVkIChlc2NhcGUgdGhlbiA5KQorLlRQCisuQiBiYWNrc3BhY2UKK21vdmVzIGJhY2sgb25lIGNvbHVtbiAoOCk7IGlnbm9yZWQgaW4gdGhlIGZpcnN0IGNvbHVtbgorLlRQCisuQiBuZXdsaW5lCitmb3J3YXJkIGxpbmUgZmVlZCAoMTApOyBhbHNvIGRvZXMgY2FycmlhZ2UgcmV0dXJuCisuVFAKKy5CIGNhcnJpYWdlIHJldHVybgorKDEzKQorLlRQCisuQiBzaGlmdCBpbgorc2hpZnQgdG8gbm9ybWFsIGNoYXJhY3RlciBzZXQgKDE1KQorLlRQCisuQiBzaGlmdCBvdXQKK3NoaWZ0IHRvIGFsdGVybmF0ZSBjaGFyYWN0ZXIgc2V0ICgxNCkKKy5UUAorLkIgc3BhY2UKK21vdmVzIGZvcndhcmQgb25lIGNvbHVtbiAoMzIpCisuVFAKKy5CIHRhYgorbW92ZXMgZm9yd2FyZCB0byBuZXh0IHRhYiBzdG9wICg5KQorLlRQCisuQiB2ZXJ0aWNhbCB0YWIKK3JldmVyc2UgbGluZSBmZWVkICgxMSkKKy5QRAorLlJFCisuUFAKK0FsbCB1bnJlY29nbml6ZWQgY29udHJvbCBjaGFyYWN0ZXJzIGFuZCBlc2NhcGUgc2VxdWVuY2VzIGFyZSBkaXNjYXJkZWQuCisuUFAKKy5CIGNvbAora2VlcHMgdHJhY2sgb2YgdGhlIGNoYXJhY3RlciBzZXQgYXMgY2hhcmFjdGVycyBhcmUgcmVhZCBhbmQgbWFrZXMgc3VyZSB0aGUKK2NoYXJhY3RlciBzZXQgaXMgY29ycmVjdCB3aGVuIHRoZXkgYXJlIG91dHB1dC4KKy5QUAorSWYgdGhlIGlucHV0IGF0dGVtcHRzIHRvIGJhY2sgdXAgdG8gdGhlIGxhc3QgZmx1c2hlZCBsaW5lLAorLkIgY29sCit3aWxsIGRpc3BsYXkgYSB3YXJuaW5nIG1lc3NhZ2UuCisuU0ggU0VFIEFMU08KKy5CUiBleHBhbmQgKDEpLAorLkJSIG5yb2ZmICgxKSwKKy5CUiB0YmwgKDEpCisuU0ggU1RBTkRBUkRTCitUaGUKKy5CIGNvbAordXRpbGl0eSBjb25mb3JtcyB0byB0aGUgU2luZ2xlIFVOSVggU3BlY2lmaWNhdGlvbiwgVmVyc2lvbiAyLiAgVGhlCisuQiBcLWwKK29wdGlvbiBpcyBhbiBleHRlbnNpb24gdG8gdGhlIHN0YW5kYXJkLgorLlNIIEhJU1RPUlkKK0EKKy5CIGNvbAorY29tbWFuZCBhcHBlYXJlZCBpbiBWZXJzaW9uIDYgQVQmVCBVTklYLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGNvbCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9jb2wuYyBiL3RleHQtdXRpbHMvY29sLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uM2Q5ZTE1ZAotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvY29sLmMKQEAgLTAsMCArMSw2MDAgQEAKKy8qLQorICogQ29weXJpZ2h0IChjKSAxOTkwIFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgY29kZSBpcyBkZXJpdmVkIGZyb20gc29mdHdhcmUgY29udHJpYnV0ZWQgdG8gQmVya2VsZXkgYnkKKyAqIE1pY2hhZWwgUmVuZGVsbCBvZiB0aGUgTWVtb3JpYWwgVW5pdmVyc2l0eSBvZiBOZXdmb3VuZGxhbmQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKiBXZWQgSnVuIDIyIDIyOjE1OjQxIDE5OTQsIGZhaXRoQGNzLnVuYy5lZHU6IEFkZGVkIGludGVybmF0aW9uYWxpemF0aW9uCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGNoZXMgZnJvbSBBbmRyaWVzLkJyb3V3ZXJAY3dpLm5sCisgKiBXZWQgU2VwIDE0IDIyOjMxOjE3IDE5OTQ6IHBhdGNoZXMgZnJvbSBDYXJsIENocmlzdG9mZmVyc29uCisgKiAgICAgICAgICAgICAgICAgICAgICAgICAgIChjY2hyaXNAY29ubmVjdGVkLmNvbSkKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIAlhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wOS0xOSBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KKyAqIAltb2RpZmllZCB0byB3b3JrIGNvcnJlY3RseSBpbiBtdWx0aS1ieXRlIGxvY2FsZXMKKyAqCisgKi8KKworLyoKKyAqIFRoaXMgY29tbWFuZCBpcyBkZXByZWNhdGVkLiAgVGhlIHV0aWxpdHkgaXMgaW4gbWFpbnRlbmFuY2UgbW9kZSwKKyAqIG1lYW5pbmcgd2Uga2VlcCB0aGVtIGluIHNvdXJjZSB0cmVlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisgKiBvbmx5LiAgRG8gbm90IHdhc3RlIHRpbWUgbWFraW5nIHRoaXMgY29tbWFuZCBiZXR0ZXIsIHVubGVzcyB0aGUKKyAqIGZpeCBpcyBhYm91dCBzZWN1cml0eSBvciBvdGhlciB2ZXJ5IGNyaXRpY2FsIGlzc3VlLgorICoKKyAqIFNlZSBEb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0IGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisKKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorCisjZGVmaW5lCUJTCSdcYicJCS8qIGJhY2tzcGFjZSAqLworI2RlZmluZQlUQUIJJ1x0JwkJLyogdGFiICovCisjZGVmaW5lCVNQQUNFCScgJwkJLyogc3BhY2UgKi8KKyNkZWZpbmUJTkwJJ1xuJwkJLyogbmV3bGluZSAqLworI2RlZmluZQlDUgknXHInCQkvKiBjYXJyaWFnZSByZXR1cm4gKi8KKyNkZWZpbmUJRVNDCSdcMDMzJwkJLyogZXNjYXBlICovCisjZGVmaW5lCVNJCSdcMDE3JwkJLyogc2hpZnQgaW4gdG8gbm9ybWFsIGNoYXJhY3RlciBzZXQgKi8KKyNkZWZpbmUJU08JJ1wwMTYnCQkvKiBzaGlmdCBvdXQgdG8gYWx0ZXJuYXRlIGNoYXJhY3RlciBzZXQgKi8KKyNkZWZpbmUJVlQJJ1wwMTMnCQkvKiB2ZXJ0aWNhbCB0YWIgKGFrYSByZXZlcnNlIGxpbmUgZmVlZCkgKi8KKyNkZWZpbmUJUkxGCSdcMDA3JwkJLyogRVNDLTA3IHJldmVyc2UgbGluZSBmZWVkICovCisjZGVmaW5lCVJITEYJJ1wwMTAnCQkvKiBFU0MtMDEwIHJldmVyc2UgaGFsZi1saW5lIGZlZWQgKi8KKyNkZWZpbmUJRkhMRgknXDAxMScJCS8qIEVTQy0wMTEgZm9yd2FyZCBoYWxmLWxpbmUgZmVlZCAqLworCisvKiBidWlsZCB1cCBhdCBsZWFzdCB0aGlzIG1hbnkgbGluZXMgYmVmb3JlIGZsdXNoaW5nIHRoZW0gb3V0ICovCisjZGVmaW5lCUJVRkZFUl9NQVJHSU4JCTMyCisKK3R5cGVkZWYgY2hhciBDU0VUOworCit0eXBlZGVmIHN0cnVjdCBjaGFyX3N0ciB7CisjZGVmaW5lCUNTX05PUk1BTAkxCisjZGVmaW5lCUNTX0FMVEVSTkFURQkyCisJc2hvcnQJCWNfY29sdW1uOwkvKiBjb2x1bW4gY2hhcmFjdGVyIGlzIGluICovCisJQ1NFVAkJY19zZXQ7CQkvKiBjaGFyYWN0ZXIgc2V0IChjdXJyZW50bHkgb25seSAyKSAqLworCXdjaGFyX3QJCWNfY2hhcjsJCS8qIGNoYXJhY3RlciBpbiBxdWVzdGlvbiAqLworCWludAkJY193aWR0aDsJLyogY2hhcmFjdGVyIHdpZHRoICovCit9IENIQVI7CisKK3R5cGVkZWYgc3RydWN0IGxpbmVfc3RyIExJTkU7CitzdHJ1Y3QgbGluZV9zdHIgeworCUNIQVIJKmxfbGluZTsJCS8qIGNoYXJhY3RlcnMgb24gdGhlIGxpbmUgKi8KKwlMSU5FCSpsX3ByZXY7CQkvKiBwcmV2aW91cyBsaW5lICovCisJTElORQkqbF9uZXh0OwkJLyogbmV4dCBsaW5lICovCisJaW50CWxfbHNpemU7CQkvKiBhbGxvY2F0ZWQgc2l6ZW9mIGxfbGluZSAqLworCWludAlsX2xpbmVfbGVuOwkJLyogc3RybGVuKGxfbGluZSkgKi8KKwlpbnQJbF9uZWVkc19zb3J0OwkJLyogc2V0IGlmIGNoYXJzIHdlbnQgaW4gb3V0IG9mIG9yZGVyICovCisJaW50CWxfbWF4X2NvbDsJCS8qIG1heCBjb2x1bW4gaW4gdGhlIGxpbmUgKi8KK307CisKK3ZvaWQgZnJlZV9saW5lKExJTkUgKmwpOwordm9pZCBmbHVzaF9saW5lKExJTkUgKmwpOwordm9pZCBmbHVzaF9saW5lcyhpbnQpOwordm9pZCBmbHVzaF9ibGFua3Modm9pZCk7CitMSU5FICphbGxvY19saW5lKHZvaWQpOworCitzdGF0aWMgQ1NFVCBsYXN0X3NldDsJCQkvKiBjaGFyX3NldCBvZiBsYXN0IGNoYXIgcHJpbnRlZCAqLworc3RhdGljIExJTkUgKmxpbmVzOworc3RhdGljIGludCBjb21wcmVzc19zcGFjZXM7CQkvKiBpZiBkb2luZyBzcGFjZSAtPiB0YWIgY29udmVyc2lvbiAqLworc3RhdGljIGludCBmaW5lOwkJCS8qIGlmIGBmaW5lJyByZXNvbHV0aW9uIChoYWxmIGxpbmVzKSAqLworc3RhdGljIHVuc2lnbmVkIG1heF9idWZkX2xpbmVzOwkJLyogbWF4ICMgbGluZXMgdG8ga2VlcCBpbiBtZW1vcnkgKi8KK3N0YXRpYyBpbnQgbmJsYW5rX2xpbmVzOwkJLyogIyBibGFua3MgYWZ0ZXIgbGFzdCBmbHVzaGVkIGxpbmUgKi8KK3N0YXRpYyBpbnQgbm9fYmFja3NwYWNlczsJCS8qIGlmIG5vdCB0byBvdXRwdXQgYW55IGJhY2tzcGFjZXMgKi8KK3N0YXRpYyBpbnQgcGFzc191bmtub3duX3NlcXM7CQkvKiB3aGV0aGVyIHRvIHBhc3MgdW5rbm93biBjb250cm9sIHNlcXVlbmNlcyAqLworCisjZGVmaW5lCVBVVEMoY2gpIFwKKwlpZiAocHV0d2NoYXIoY2gpID09IFdFT0YpIFwKKwkJd3JlcnIoKTsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnByaW50ZihvdXQsIF8oCisJCSJcblVzYWdlOlxuIgorCQkiICVzIFtvcHRpb25zXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJGaWx0ZXIgb3V0IHJldmVyc2UgbGluZSBmZWVkcy5cbiIpLCBvdXQpOworCisJZnByaW50ZihvdXQsIF8oCisJCSJcbk9wdGlvbnM6XG4iCisJCSIgLWIsIC0tbm8tYmFja3NwYWNlcyAgICBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXNcbiIKKwkJIiAtZiwgLS1maW5lICAgICAgICAgICAgIHBlcm1pdCBmb3J3YXJkIGhhbGYgbGluZSBmZWVkc1xuIgorCQkiIC1wLCAtLXBhc3MgICAgICAgICAgICAgcGFzcyB1bmtub3duIGNvbnRyb2wgc2VxdWVuY2VzXG4iCisJCSIgLWgsIC0tdGFicyAgICAgICAgICAgICBjb252ZXJ0IHNwYWNlcyB0byB0YWJzXG4iCisJCSIgLXgsIC0tc3BhY2VzICAgICAgICAgICBjb252ZXJ0IHRhYnMgdG8gc3BhY2VzXG4iCisJCSIgLWwsIC0tbGluZXMgTlVNICAgICAgICBidWZmZXIgYXQgbGVhc3QgTlVNIGxpbmVzXG4iCisJCSkpOworCXByaW50ZiggIiAtSCwgLS1oZWxwICAgICAgICAgICAgICVzXG4iLCBVU0FHRV9PUFRTVFJfSEVMUCk7CisJcHJpbnRmKCAiIC1WLCAtLXZlcnNpb24gICAgICAgICAgJXNcbiIsIFVTQUdFX09QVFNUUl9WRVJTSU9OKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHJpbnRmKG91dCwgXygKKwkJIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcblxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiY29sKDEpIikpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgd3JlcnIodm9pZCkKK3sKKwllcnJ4KEVYSVRfRkFJTFVSRSwgXygid3JpdGUgZXJyb3IiKSk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlyZWdpc3RlciB3aW50X3QgY2g7CisJQ0hBUiAqYyA9IE5VTEw7CisJQ1NFVCBjdXJfc2V0OwkJCS8qIGN1cnJlbnQgY2hhcmFjdGVyIHNldCAqLworCUxJTkUgKmw7CQkJLyogY3VycmVudCBsaW5lICovCisJaW50IGV4dHJhX2xpbmVzOwkJLyogIyBvZiBsaW5lcyBhYm92ZSBmaXJzdCBsaW5lICovCisJaW50IGN1cl9jb2w7CQkJLyogY3VycmVudCBjb2x1bW4gKi8KKwlpbnQgY3VyX2xpbmU7CQkJLyogbGluZSBudW1iZXIgb2YgY3VycmVudCBwb3NpdGlvbiAqLworCWludCBtYXhfbGluZTsJCQkvKiBtYXggdmFsdWUgb2YgY3VyX2xpbmUgKi8KKwlpbnQgdGhpc19saW5lOwkJCS8qIGxpbmUgbCBwb2ludHMgdG8gKi8KKwlpbnQgbmZsdXNoZF9saW5lczsJCS8qIG51bWJlciBvZiBsaW5lcyB0aGF0IHdlcmUgZmx1c2hlZCAqLworCWludCBhZGp1c3QsIG9wdCwgd2FybmVkOworCWludCByZXQgPSBFWElUX1NVQ0NFU1M7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJuby1iYWNrc3BhY2VzIiwgbm9fYXJndW1lbnQsCQlOVUxMLCAnYicgfSwKKwkJeyAiZmluZSIsCSAgIG5vX2FyZ3VtZW50LAkJTlVMTCwgJ2YnIH0sCisJCXsgInBhc3MiLAkgICBub19hcmd1bWVudCwJCU5VTEwsICdwJyB9LAorCQl7ICJ0YWJzIiwJICAgbm9fYXJndW1lbnQsCQlOVUxMLCAnaCcgfSwKKwkJeyAic3BhY2VzIiwJICAgbm9fYXJndW1lbnQsCQlOVUxMLCAneCcgfSwKKwkJeyAibGluZXMiLAkgICByZXF1aXJlZF9hcmd1bWVudCwJTlVMTCwgJ2wnIH0sCisJCXsgInZlcnNpb24iLAkgICBub19hcmd1bWVudCwJCU5VTEwsICdWJyB9LAorCQl7ICJoZWxwIiwJICAgbm9fYXJndW1lbnQsCQlOVUxMLCAnSCcgfSwKKwkJeyBOVUxMLCAwLCBOVUxMLCAwIH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCW1heF9idWZkX2xpbmVzID0gMTI4ICogMjsKKwljb21wcmVzc19zcGFjZXMgPSAxOwkJLyogY29tcHJlc3Mgc3BhY2VzIGludG8gdGFicyAqLworCXBhc3NfdW5rbm93bl9zZXFzID0gMDsgICAgICAgICAgLyogcmVtb3ZlIHVua25vd24gZXNjYXBlIHNlcXVlbmNlcyAqLworCisJd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYmZobDpweFZIIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChvcHQpIHsKKwkJY2FzZSAnYic6CQkvKiBkbyBub3Qgb3V0cHV0IGJhY2tzcGFjZXMgKi8KKwkJCW5vX2JhY2tzcGFjZXMgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2YnOgkJLyogYWxsb3cgaGFsZiBmb3J3YXJkIGxpbmUgZmVlZHMgKi8KKwkJCWZpbmUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgkJLyogY29tcHJlc3Mgc3BhY2VzIGludG8gdGFicyAqLworCQkJY29tcHJlc3Nfc3BhY2VzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdsJzoKKwkJCS8qCisJCQkgKiBCdWZmZXJlZCBsaW5lIGNvdW50LCB3aGljaCBpcyBhIHZhbHVlIGluIGhhbGYKKwkJCSAqIGxpbmVzIGUuZy4gdHdpY2UgdGhlIGFtb3VudCBzcGVjaWZpZWQuCisJCQkgKi8KKwkJCW1heF9idWZkX2xpbmVzID0gc3RydG91MzJfb3JfZXJyKG9wdGFyZywgXygiYmFkIC1sIGFyZ3VtZW50IikpICogMjsKKwkJCWJyZWFrOworCQljYXNlICdwJzoKKwkJCXBhc3NfdW5rbm93bl9zZXFzID0gMTsKKwkJCWJyZWFrOworCQljYXNlICd4JzoJCS8qIGRvIG5vdCBjb21wcmVzcyBzcGFjZXMgaW50byB0YWJzICovCisJCQljb21wcmVzc19zcGFjZXMgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlyZXR1cm4gRVhJVF9TVUNDRVNTOworCQljYXNlICdIJzoKKwkJCXVzYWdlKCk7CisJCWRlZmF1bHQ6CisJCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJCX0KKworCWlmIChvcHRpbmQgIT0gYXJnYykgeworCQl3YXJueChfKCJiYWQgdXNhZ2UiKSk7CisJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwl9CisKKwlhZGp1c3QgPSBjdXJfY29sID0gZXh0cmFfbGluZXMgPSB3YXJuZWQgPSAwOworCWN1cl9saW5lID0gbWF4X2xpbmUgPSBuZmx1c2hkX2xpbmVzID0gdGhpc19saW5lID0gMDsKKwljdXJfc2V0ID0gbGFzdF9zZXQgPSBDU19OT1JNQUw7CisJbGluZXMgPSBsID0gYWxsb2NfbGluZSgpOworCisJd2hpbGUgKGZlb2Yoc3RkaW4pID09IDApIHsKKwkJZXJybm8gPSAwOworCQlpZiAoKGNoID0gZ2V0d2NoYXIoKSkgPT0gV0VPRikgeworCQkJaWYgKGVycm5vID09IEVJTFNFUSkgeworCQkJCXdhcm4oTlVMTCk7CisJCQkJcmV0ID0gRVhJVF9GQUlMVVJFOworCQkJfQorCQkJYnJlYWs7CisJCX0KKwkJaWYgKCFpc3dncmFwaChjaCkpIHsKKwkJCXN3aXRjaCAoY2gpIHsKKwkJCWNhc2UgQlM6CQkvKiBjYW4ndCBnbyBiYWNrIGZ1cnRoZXIgKi8KKwkJCQlpZiAoY3VyX2NvbCA9PSAwKQorCQkJCQljb250aW51ZTsKKwkJCQlpZiAoYykKKwkJCQkJY3VyX2NvbCAtPSBjLT5jX3dpZHRoOworCQkJCWVsc2UKKwkJCQkJY3VyX2NvbC0tOworCQkJCWNvbnRpbnVlOworCQkJY2FzZSBDUjoKKwkJCQljdXJfY29sID0gMDsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgRVNDOgkJLyoganVzdCBpZ25vcmUgRU9GICovCisJCQkJc3dpdGNoKGdldHdjaGFyKCkpIHsKKwkJCQljYXNlIFJMRjoKKwkJCQkJY3VyX2xpbmUgLT0gMjsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSBSSExGOgorCQkJCQljdXJfbGluZS0tOworCQkJCQlicmVhazsKKwkJCQljYXNlIEZITEY6CisJCQkJCWN1cl9saW5lKys7CisJCQkJCWlmIChjdXJfbGluZSA+IG1heF9saW5lKQorCQkJCQkJbWF4X2xpbmUgPSBjdXJfbGluZTsKKwkJCQl9CisJCQkJY29udGludWU7CisJCQljYXNlIE5MOgorCQkJCWN1cl9saW5lICs9IDI7CisJCQkJaWYgKGN1cl9saW5lID4gbWF4X2xpbmUpCisJCQkJCW1heF9saW5lID0gY3VyX2xpbmU7CisJCQkJY3VyX2NvbCA9IDA7CisJCQkJY29udGludWU7CisJCQljYXNlIFNQQUNFOgorCQkJCSsrY3VyX2NvbDsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgU0k6CisJCQkJY3VyX3NldCA9IENTX05PUk1BTDsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgU086CisJCQkJY3VyX3NldCA9IENTX0FMVEVSTkFURTsKKwkJCQljb250aW51ZTsKKwkJCWNhc2UgVEFCOgkJLyogYWRqdXN0IGNvbHVtbiAqLworCQkJCWN1cl9jb2wgfD0gNzsKKwkJCQkrK2N1cl9jb2w7CisJCQkJY29udGludWU7CisJCQljYXNlIFZUOgorCQkJCWN1cl9saW5lIC09IDI7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoaXN3c3BhY2UoY2gpKSB7CisJCQkJaWYgKHdjd2lkdGgoY2gpID4gMCkKKwkJCQkJY3VyX2NvbCArPSB3Y3dpZHRoKGNoKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmICghcGFzc191bmtub3duX3NlcXMpCisJCQkJY29udGludWU7CisJCX0KKworCQkvKiBNdXN0IHN0dWZmIGNoIGluIGEgbGluZSAtIGFyZSB3ZSBhdCB0aGUgcmlnaHQgb25lPyAqLworCQlpZiAoY3VyX2xpbmUgIT0gdGhpc19saW5lIC0gYWRqdXN0KSB7CisJCQlMSU5FICpsbmV3OworCQkJaW50IG5tb3ZlOworCisJCQlhZGp1c3QgPSAwOworCQkJbm1vdmUgPSBjdXJfbGluZSAtIHRoaXNfbGluZTsKKwkJCWlmICghZmluZSkgeworCQkJCS8qIHJvdW5kIHVwIHRvIG5leHQgbGluZSAqLworCQkJCWlmIChjdXJfbGluZSAmIDEpIHsKKwkJCQkJYWRqdXN0ID0gMTsKKwkJCQkJbm1vdmUrKzsKKwkJCQl9CisJCQl9CisJCQlpZiAobm1vdmUgPCAwKSB7CisJCQkJZm9yICg7IG5tb3ZlIDwgMCAmJiBsLT5sX3ByZXY7IG5tb3ZlKyspCisJCQkJCWwgPSBsLT5sX3ByZXY7CisJCQkJaWYgKG5tb3ZlKSB7CisJCQkJCWlmIChuZmx1c2hkX2xpbmVzID09IDApIHsKKwkJCQkJCS8qCisJCQkJCQkgKiBBbGxvdyBiYWNrdXAgcGFzdCBmaXJzdAorCQkJCQkJICogbGluZSBpZiBub3RoaW5nIGhhcyBiZWVuCisJCQkJCQkgKiBmbHVzaGVkIHlldC4KKwkJCQkJCSAqLworCQkJCQkJZm9yICg7IG5tb3ZlIDwgMDsgbm1vdmUrKykgeworCQkJCQkJCWxuZXcgPSBhbGxvY19saW5lKCk7CisJCQkJCQkJbC0+bF9wcmV2ID0gbG5ldzsKKwkJCQkJCQlsbmV3LT5sX25leHQgPSBsOworCQkJCQkJCWwgPSBsaW5lcyA9IGxuZXc7CisJCQkJCQkJZXh0cmFfbGluZXMrKzsKKwkJCQkJCX0KKwkJCQkJfSBlbHNlIHsKKwkJCQkJCWlmICghd2FybmVkKyspCisJCQkJCQkJd2FybngoCisJCQlfKCJ3YXJuaW5nOiBjYW4ndCBiYWNrIHVwICVzLiIpLCBjdXJfbGluZSA8IDAgPworCQkJXygicGFzdCBmaXJzdCBsaW5lIikgOiBfKCItLSBsaW5lIGFscmVhZHkgZmx1c2hlZCIpKTsKKwkJCQkJCWN1cl9saW5lIC09IG5tb3ZlOworCQkJCQl9CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQkvKiBtYXkgbmVlZCB0byBhbGxvY2F0ZSBoZXJlICovCisJCQkJZm9yICg7IG5tb3ZlID4gMCAmJiBsLT5sX25leHQ7IG5tb3ZlLS0pCisJCQkJCWwgPSBsLT5sX25leHQ7CisJCQkJZm9yICg7IG5tb3ZlID4gMDsgbm1vdmUtLSkgeworCQkJCQlsbmV3ID0gYWxsb2NfbGluZSgpOworCQkJCQlsbmV3LT5sX3ByZXYgPSBsOworCQkJCQlsLT5sX25leHQgPSBsbmV3OworCQkJCQlsID0gbG5ldzsKKwkJCQl9CisJCQl9CisJCQl0aGlzX2xpbmUgPSBjdXJfbGluZSArIGFkanVzdDsKKwkJCW5tb3ZlID0gdGhpc19saW5lIC0gbmZsdXNoZF9saW5lczsKKwkJCWlmIChubW92ZSA+IDAKKwkJCSAgICAmJiAodW5zaWduZWQpIG5tb3ZlID49IG1heF9idWZkX2xpbmVzICsgQlVGRkVSX01BUkdJTikgeworCQkJCW5mbHVzaGRfbGluZXMgKz0gbm1vdmUgLSBtYXhfYnVmZF9saW5lczsKKwkJCQlmbHVzaF9saW5lcyhubW92ZSAtIG1heF9idWZkX2xpbmVzKTsKKwkJCX0KKwkJfQorCQkvKiBncm93IGxpbmUncyBidWZmZXI/ICovCisJCWlmIChsLT5sX2xpbmVfbGVuICsgMSA+PSBsLT5sX2xzaXplKSB7CisJCQlpbnQgbmVlZDsKKworCQkJbmVlZCA9IGwtPmxfbHNpemUgPyBsLT5sX2xzaXplICogMiA6IDkwOworCQkJbC0+bF9saW5lID0geHJlYWxsb2MoKHZvaWQgKikgbC0+bF9saW5lLAorCQkJCQkJICAgICh1bnNpZ25lZCkgbmVlZCAqIHNpemVvZihDSEFSKSk7CisJCQlsLT5sX2xzaXplID0gbmVlZDsKKwkJfQorCQljID0gJmwtPmxfbGluZVtsLT5sX2xpbmVfbGVuKytdOworCQljLT5jX2NoYXIgPSBjaDsKKwkJYy0+Y19zZXQgPSBjdXJfc2V0OworCQlpZiAoMCA8IGN1cl9jb2wpCisJCQljLT5jX2NvbHVtbiA9IGN1cl9jb2w7CisJCWVsc2UKKwkJCWMtPmNfY29sdW1uID0gMDsKKwkJYy0+Y193aWR0aCA9IHdjd2lkdGgoY2gpOworCQkvKgorCQkgKiBJZiB0aGluZ3MgYXJlIHB1dCBpbiBvdXQgb2Ygb3JkZXIsIHRoZXkgd2lsbCBuZWVkIHNvcnRpbmcKKwkJICogd2hlbiBpdCBpcyBmbHVzaGVkLgorCQkgKi8KKwkJaWYgKGN1cl9jb2wgPCBsLT5sX21heF9jb2wpCisJCQlsLT5sX25lZWRzX3NvcnQgPSAxOworCQllbHNlCisJCQlsLT5sX21heF9jb2wgPSBjdXJfY29sOworCQlpZiAoYy0+Y193aWR0aCA+IDApCisJCQljdXJfY29sICs9IGMtPmNfd2lkdGg7CisJfQorCS8qIGdvdG8gdGhlIGxhc3QgbGluZSB0aGF0IGhhZCBhIGNoYXJhY3RlciBvbiBpdCAqLworCWZvciAoOyBsLT5sX25leHQ7IGwgPSBsLT5sX25leHQpCisJCXRoaXNfbGluZSsrOworCWlmIChtYXhfbGluZSA9PSAwKQorCQlyZXR1cm4gRVhJVF9TVUNDRVNTOwkvKiBubyBsaW5lcywgc28ganVzdCBleGl0ICovCisJZmx1c2hfbGluZXModGhpc19saW5lIC0gbmZsdXNoZF9saW5lcyArIGV4dHJhX2xpbmVzICsgMSk7CisKKwkvKiBtYWtlIHN1cmUgd2UgbGVhdmUgdGhpbmdzIGluIGEgc2FuZSBzdGF0ZSAqLworCWlmIChsYXN0X3NldCAhPSBDU19OT1JNQUwpCisJCVBVVEMoJ1wwMTcnKTsKKworCS8qIGZsdXNoIG91dCB0aGUgbGFzdCBmZXcgYmxhbmsgbGluZXMgKi8KKwluYmxhbmtfbGluZXMgPSBtYXhfbGluZSAtIHRoaXNfbGluZTsKKwlpZiAobWF4X2xpbmUgJiAxKQorCQluYmxhbmtfbGluZXMrKzsKKwllbHNlIGlmICghbmJsYW5rX2xpbmVzKQorCQkvKiBtaXNzaW5nIGEgXG4gb24gdGhlIGxhc3QgbGluZT8gKi8KKwkJbmJsYW5rX2xpbmVzID0gMjsKKwlmbHVzaF9ibGFua3MoKTsKKwlyZXR1cm4gcmV0OworfQorCit2b2lkIGZsdXNoX2xpbmVzKGludCBuZmx1c2gpCit7CisJTElORSAqbDsKKworCXdoaWxlICgtLW5mbHVzaCA+PSAwKSB7CisJCWwgPSBsaW5lczsKKwkJbGluZXMgPSBsLT5sX25leHQ7CisJCWlmIChsLT5sX2xpbmUpIHsKKwkJCWZsdXNoX2JsYW5rcygpOworCQkJZmx1c2hfbGluZShsKTsKKwkJfQorCQluYmxhbmtfbGluZXMrKzsKKwkJZnJlZSgodm9pZCAqKWwtPmxfbGluZSk7CisJCWZyZWVfbGluZShsKTsKKwl9CisJaWYgKGxpbmVzKQorCQlsaW5lcy0+bF9wcmV2ID0gTlVMTDsKK30KKworLyoKKyAqIFByaW50IGEgbnVtYmVyIG9mIG5ld2xpbmUvaGFsZiBuZXdsaW5lcy4gIElmIGZpbmUgZmxhZyBpcyBzZXQsIG5ibGFua19saW5lcworICogaXMgdGhlIG51bWJlciBvZiBoYWxmIGxpbmUgZmVlZHMsIG90aGVyd2lzZSBpdCBpcyB0aGUgbnVtYmVyIG9mIHdob2xlIGxpbmUKKyAqIGZlZWRzLgorICovCit2b2lkIGZsdXNoX2JsYW5rcyh2b2lkKQoreworCWludCBoYWxmLCBpLCBuYjsKKworCWhhbGYgPSAwOworCW5iID0gbmJsYW5rX2xpbmVzOworCWlmIChuYiAmIDEpIHsKKwkJaWYgKGZpbmUpCisJCQloYWxmID0gMTsKKwkJZWxzZQorCQkJbmIrKzsKKwl9CisJbmIgLz0gMjsKKwlmb3IgKGkgPSBuYjsgLS1pID49IDA7KQorCQlQVVRDKCdcbicpOworCWlmIChoYWxmKSB7CisJCVBVVEMoJ1wwMzMnKTsKKwkJUFVUQygnOScpOworCQlpZiAoIW5iKQorCQkJUFVUQygnXHInKTsKKwl9CisJbmJsYW5rX2xpbmVzID0gMDsKK30KKworLyoKKyAqIFdyaXRlIGEgbGluZSB0byBzdGRvdXQgdGFraW5nIGNhcmUgb2Ygc3BhY2UgdG8gdGFiIGNvbnZlcnNpb24gKC1oIGZsYWcpCisgKiBhbmQgY2hhcmFjdGVyIHNldCBzaGlmdHMuCisgKi8KK3ZvaWQgZmx1c2hfbGluZShMSU5FICpsKQoreworCUNIQVIgKmMsICplbmRjOworCWludCBuY2hhcnMsIGxhc3RfY29sLCB0aGlzX2NvbDsKKworCWxhc3RfY29sID0gMDsKKwluY2hhcnMgPSBsLT5sX2xpbmVfbGVuOworCisJaWYgKGwtPmxfbmVlZHNfc29ydCkgeworCQlzdGF0aWMgQ0hBUiAqc29ydGVkOworCQlzdGF0aWMgaW50IGNvdW50X3NpemUsICpjb3VudCwgaSwgc2F2ZSwgc29ydGVkX3NpemUsIHRvdDsKKworCQkvKgorCQkgKiBEbyBhbiBPKG4pIHNvcnQgb24gbC0+bF9saW5lIGJ5IGNvbHVtbiBiZWluZyBjYXJlZnVsIHRvCisJCSAqIHByZXNlcnZlIHRoZSBvcmRlciBvZiBjaGFyYWN0ZXJzIGluIHRoZSBzYW1lIGNvbHVtbi4KKwkJICovCisJCWlmIChsLT5sX2xzaXplID4gc29ydGVkX3NpemUpIHsKKwkJCXNvcnRlZF9zaXplID0gbC0+bF9sc2l6ZTsKKwkJCXNvcnRlZCA9IHhyZWFsbG9jKCh2b2lkICopc29ydGVkLAorCQkJCQkJICAodW5zaWduZWQpc2l6ZW9mKENIQVIpICogc29ydGVkX3NpemUpOworCQl9CisJCWlmIChsLT5sX21heF9jb2wgPj0gY291bnRfc2l6ZSkgeworCQkJY291bnRfc2l6ZSA9IGwtPmxfbWF4X2NvbCArIDE7CisJCQljb3VudCA9IChpbnQgKil4cmVhbGxvYygodm9pZCAqKWNvdW50LAorCQkJICAgICh1bnNpZ25lZClzaXplb2YoaW50KSAqIGNvdW50X3NpemUpOworCQl9CisJCW1lbXNldChjb3VudCwgMCwgc2l6ZW9mKGludCkgKiBsLT5sX21heF9jb2wgKyAxKTsKKwkJZm9yIChpID0gbmNoYXJzLCBjID0gbC0+bF9saW5lOyAtLWkgPj0gMDsgYysrKQorCQkJY291bnRbYy0+Y19jb2x1bW5dKys7CisKKwkJLyoKKwkJICogY2FsY3VsYXRlIHJ1bm5pbmcgdG90YWwgKHNoaWZ0ZWQgZG93biBieSAxKSB0byB1c2UgYXMKKwkJICogaW5kaWNlcyBpbnRvIG5ldyBsaW5lLgorCQkgKi8KKwkJZm9yICh0b3QgPSAwLCBpID0gMDsgaSA8PSBsLT5sX21heF9jb2w7IGkrKykgeworCQkJc2F2ZSA9IGNvdW50W2ldOworCQkJY291bnRbaV0gPSB0b3Q7CisJCQl0b3QgKz0gc2F2ZTsKKwkJfQorCisJCWZvciAoaSA9IG5jaGFycywgYyA9IGwtPmxfbGluZTsgLS1pID49IDA7IGMrKykKKwkJCXNvcnRlZFtjb3VudFtjLT5jX2NvbHVtbl0rK10gPSAqYzsKKwkJYyA9IHNvcnRlZDsKKwl9IGVsc2UKKwkJYyA9IGwtPmxfbGluZTsKKwl3aGlsZSAobmNoYXJzID4gMCkgeworCQl0aGlzX2NvbCA9IGMtPmNfY29sdW1uOworCQllbmRjID0gYzsKKwkJZG8geworCQkJKytlbmRjOworCQl9IHdoaWxlICgtLW5jaGFycyA+IDAgJiYgdGhpc19jb2wgPT0gZW5kYy0+Y19jb2x1bW4pOworCisJCS8qIGlmIC1iIG9ubHkgcHJpbnQgbGFzdCBjaGFyYWN0ZXIgKi8KKwkJaWYgKG5vX2JhY2tzcGFjZXMpIHsKKwkJCWMgPSBlbmRjIC0gMTsKKwkJCWlmIChuY2hhcnMgPiAwICYmCisJCQkgICAgdGhpc19jb2wgKyBjLT5jX3dpZHRoID4gZW5kYy0+Y19jb2x1bW4pCisJCQkJY29udGludWU7CisJCX0KKworCQlpZiAodGhpc19jb2wgPiBsYXN0X2NvbCkgeworCQkJaW50IG5zcGFjZSA9IHRoaXNfY29sIC0gbGFzdF9jb2w7CisKKwkJCWlmIChjb21wcmVzc19zcGFjZXMgJiYgbnNwYWNlID4gMSkgeworCQkJCWludCBudGFiczsKKworCQkJCW50YWJzID0gdGhpc19jb2wgLyA4IC0gbGFzdF9jb2wgLyA4OworCQkJCWlmIChudGFicyA+IDApIHsKKwkJCQkJbnNwYWNlID0gdGhpc19jb2wgJiA3OworCQkJCQl3aGlsZSAoLS1udGFicyA+PSAwKQorCQkJCQkJUFVUQygnXHQnKTsKKwkJCQl9CisJCQl9CisJCQl3aGlsZSAoLS1uc3BhY2UgPj0gMCkKKwkJCQlQVVRDKCcgJyk7CisJCQlsYXN0X2NvbCA9IHRoaXNfY29sOworCQl9CisKKwkJZm9yICg7OykgeworCQkJaWYgKGMtPmNfc2V0ICE9IGxhc3Rfc2V0KSB7CisJCQkJc3dpdGNoIChjLT5jX3NldCkgeworCQkJCWNhc2UgQ1NfTk9STUFMOgorCQkJCQlQVVRDKCdcMDE3Jyk7CisJCQkJCWJyZWFrOworCQkJCWNhc2UgQ1NfQUxURVJOQVRFOgorCQkJCQlQVVRDKCdcMDE2Jyk7CisJCQkJfQorCQkJCWxhc3Rfc2V0ID0gYy0+Y19zZXQ7CisJCQl9CisJCQlQVVRDKGMtPmNfY2hhcik7CisJCQlpZiAoKGMgKyAxKSA8IGVuZGMpIHsKKwkJCQlpbnQgaTsKKwkJCQlmb3IgKGk9MDsgaSA8IGMtPmNfd2lkdGg7IGkrKykKKwkJCQkJUFVUQygnXGInKTsKKwkJCX0KKwkJCWlmICgrK2MgPj0gZW5kYykKKwkJCQlicmVhazsKKwkJfQorCQlsYXN0X2NvbCArPSAoYyAtIDEpLT5jX3dpZHRoOworCX0KK30KKworI2RlZmluZQlOQUxMT0MgNjQKKworc3RhdGljIExJTkUgKmxpbmVfZnJlZWxpc3Q7CisKK0xJTkUgKgorYWxsb2NfbGluZSh2b2lkKQoreworCUxJTkUgKmw7CisJaW50IGk7CisKKwlpZiAoIWxpbmVfZnJlZWxpc3QpIHsKKwkJbCA9IHhtYWxsb2Moc2l6ZW9mKExJTkUpICogTkFMTE9DKTsKKwkJbGluZV9mcmVlbGlzdCA9IGw7CisJCWZvciAoaSA9IDE7IGkgPCBOQUxMT0M7IGkrKywgbCsrKQorCQkJbC0+bF9uZXh0ID0gbCArIDE7CisJCWwtPmxfbmV4dCA9IE5VTEw7CisJfQorCWwgPSBsaW5lX2ZyZWVsaXN0OworCWxpbmVfZnJlZWxpc3QgPSBsLT5sX25leHQ7CisKKwltZW1zZXQobCwgMCwgc2l6ZW9mKExJTkUpKTsKKwlyZXR1cm4gbDsKK30KKwordm9pZCBmcmVlX2xpbmUoTElORSAqbCkKK3sKKwlsLT5sX25leHQgPSBsaW5lX2ZyZWVsaXN0OworCWxpbmVfZnJlZWxpc3QgPSBsOworfQpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9jb2xjcnQuMSBiL3RleHQtdXRpbHMvY29sY3J0LjEKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZGJmZmZiNAotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvY29sY3J0LjEKQEAgLTAsMCArMSwxMDUgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODAsIDE5OTAsIDE5OTMKKy5cIglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy5cIgorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKy5cIiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisuXCIJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorLlwiCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorLlwiIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisuXCIgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisuXCIgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLlwiIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLlwiIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisuXCIgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisuXCIgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKy5cIiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworLlwiIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorLlwiIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisuXCIgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLlwiIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKy5cIiBTVUNIIERBTUFHRS4KKy5cIgorLlwiICAgICBAKCMpY29sY3J0LjEJOC4xIChCZXJrZWxleSkgNi8zMC85MworLlwiCisuVEggQ09MQ1JUICIxIiAiU2VwdGVtYmVyIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjb2xjcnQgXC0gZmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcKKy5TSCBTWU5PUFNJUworLkIgY29sY3J0Citbb3B0aW9uc10KKy5SSSBbIGZpbGUgLi4uXQorLlNIIERFU0NSSVBUSU9OCisuQiBjb2xjcnQKK3Byb3ZpZGVzIHZpcnR1YWwgaGFsZi1saW5lIGFuZCByZXZlcnNlIGxpbmUgZmVlZCBzZXF1ZW5jZXMgZm9yIHRlcm1pbmFscword2l0aG91dCBzdWNoIGNhcGFiaWxpdHksIGFuZCBvbiB3aGljaCBvdmVyc3RyaWtpbmcgaXMgZGVzdHJ1Y3RpdmUuCitIYWxmLWxpbmUgY2hhcmFjdGVycyBhbmQgdW5kZXJsaW5pbmcgKGNoYW5nZWQgdG8gZGFzaGluZyBgXC0nKSBhcmUgcGxhY2VkIG9uCituZXcgbGluZXMgaW4gYmV0d2VlbiB0aGUgbm9ybWFsIG91dHB1dCBsaW5lcy4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtXGZSLCBcZkJcLVwtbm9cLXVuZGVybGluaW5nXGZSCitTdXBwcmVzcyBhbGwgdW5kZXJsaW5pbmcuICBUaGlzIG9wdGlvbiBpcyBlc3BlY2lhbGx5IHVzZWZ1bCBmb3IgcHJldmlld2luZworLkkgYWxsYm94ZWQKK3RhYmxlcyBmcm9tCisuQlIgdGJsICgxKS4KKy5UUAorXGZCXC0yXGZSLCBcZkJcLVwtaGFsZlwtbGluZXNcZlIKK0NhdXNlcyBhbGwgaGFsZi1saW5lcyB0byBiZSBwcmludGVkLCBlZmZlY3RpdmVseSBkb3VibGUgc3BhY2luZyB0aGUgb3V0cHV0LgorTm9ybWFsbHksIGEgbWluaW1hbCBzcGFjZSBvdXRwdXQgZm9ybWF0IGlzIHVzZWQgd2hpY2ggd2lsbCBzdXBwcmVzcyBlbXB0eQorbGluZXMuICBUaGUgcHJvZ3JhbSBuZXZlciBzdXBwcmVzc2VzIHR3byBjb25zZWN1dGl2ZSBlbXB0eSBsaW5lcywgaG93ZXZlci4KK1RoZQorLkIgXC0yCitvcHRpb24gaXMgdXNlZnVsIGZvciBzZW5kaW5nIG91dHB1dCB0byB0aGUgbGluZSBwcmludGVyIHdoZW4gdGhlIG91dHB1dAorY29udGFpbnMgc3VwZXJzY3JpcHRzIGFuZCBzdWJzY3JpcHRzIHdoaWNoIHdvdWxkIG90aGVyd2lzZSBiZSBpbnZpc2libGUuCisuVFAKK1xmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIKK0Rpc3BsYXkgdmVyc2lvbiBpbmZvcm1hdGlvbiBhbmQgZXhpdC4KKy5UUAorXGZCXC1oXGZSLCBcZkJcLVwtaGVscFxmUgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuU0ggRVhBTVBMRVMKK0EgdHlwaWNhbCB1c2Ugb2YKKy5CIGNvbGNydAord291bGQgYmU6CisuUFAKKy5SUworLkIgdGJsIGV4dW0yLm4gXCZ8IG5yb2ZmIFwtbXMgXCZ8IGNvbGNydCBcLSBcJnwgbW9yZQorLlJFCisuU0ggU0VFIEFMU08KKy5CUiBjb2wgKDEpLAorLkJSIG1vcmUgKDEpLAorLkJSIG5yb2ZmICgxKSwKKy5CUiB0cm9mZiAoMSksCisuQlIgdWwgKDEpCisuU0ggQlVHUworU2hvdWxkIGZvbGQgdW5kZXJsaW5lcyBvbnRvIGJsYW5rcyBldmVuIHdpdGggdGhlCisuQiAnXC0nCitvcHRpb24gc28gdGhhdCBhIHRydWUgdW5kZXJsaW5lIGNoYXJhY3RlciB3b3VsZCBzaG93LgorLlBQCitDYW4ndCBiYWNrIHVwIG1vcmUgdGhhbiAxMDIgbGluZXMuCisuUFAKK0dlbmVyYWwgb3ZlcnN0cmlraW5nIGlzIGxvc3Q7IGFzIGEgc3BlY2lhbCBjYXNlICd8JyBvdmVyc3RydWNrIHdpdGggJ1wtJyBvcgordW5kZXJsaW5lIGJlY29tZXMgJysnLgorLlBQCitMaW5lcyBhcmUgdHJpbW1lZCB0byAxMzIgY2hhcmFjdGVycy4KKy5QUAorU29tZSBwcm92aXNpb24gc2hvdWxkIGJlIG1hZGUgZm9yIHByb2Nlc3Npbmcgc3VwZXJzY3JpcHRzIGFuZCBzdWJzY3JpcHRzIGluCitkb2N1bWVudHMgd2hpY2ggYXJlIGFscmVhZHkgZG91YmxlLXNwYWNlZC4KKy5TSCBISVNUT1JZCitUaGUKKy5CIGNvbGNydAorY29tbWFuZCBhcHBlYXJlZCBpbiAzLjBCU0QuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgY29sY3J0IGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2NvbGNydC5jIGIvdGV4dC11dGlscy9jb2xjcnQuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MTEzODgwCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9jb2xjcnQuYwpAQCAtMCwwICsxLDI5NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBTYW1pIEtlcm9sYSA8a2Vyb2xhc2FAaWtpLmZpPgorICogQ29weXJpZ2h0IChDKSAyMDE2IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorICoKKyAqIENvcHlyaWdodCAoYykgMTk4MCwgMTk5MworICoJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisvKgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICoJYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqIDE5OTktMDktMTkgQnJ1bm8gSGFpYmxlIDxoYWlibGVAY2xpc3AuY29ucy5vcmc+CisgKgltb2RpZmllZCB0byB3b3JrIGNvcnJlY3RseSBpbiBtdWx0aS1ieXRlIGxvY2FsZXMKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJ3aWRlY2hhci5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKy8qCisgKiBjb2xjcnQgLSByZXBsYWNlcyBjb2wgZm9yIGNydHMgd2l0aCBuZXcgbnJvZmYgZXNwLiB3aGVuIHVzaW5nIHRibC4KKyAqIEJpbGwgSm95IFVDQiBKdWx5IDE0LCAxOTc3CisgKgorICogVGhpcyBmaWx0ZXIgdXNlcyB0aGUgdXAgYW5kIGRvd24gc2VxdWVuY2VzIGdlbmVyYXRlZCBieSB0aGUgbmV3CisgKiBucm9mZiB3aGVuIHVzZWQgd2l0aCB0YmwgYW5kIGJ5IFx1IFxkIGFuZCBcci4KKyAqIEdlbmVyYWwgb3ZlcnN0cmlraW5nIGRvZXNuJ3Qgd29yayBjb3JyZWN0bHkuCisgKiBVbmRlcmxpbmluZyBpcyBzcGxpdCBvbnRvIG11bHRpcGxlIGxpbmVzLCBldGMuCisgKgorICogT3B0aW9uIC0gc3VwcHJlc3NlcyBhbGwgdW5kZXJsaW5pbmcuCisgKiBPcHRpb24gLTIgZm9yY2VzIHByaW50aW5nIG9mIGFsbCBoYWxmIGxpbmVzLgorICovCisKK2VudW0geyBPVVRQVVRfQ09MUyA9IDEzMiB9OworCitzdHJ1Y3QgY29sY3J0X2NvbnRyb2wgeworCUZJTEUJCSpmOworCXdjaGFyX3QJCWxpbmVbT1VUUFVUX0NPTFMgKyAxXTsKKwl3Y2hhcl90CQlsaW5lX3VuZGVyW09VVFBVVF9DT0xTICsgMV07CisJdW5zaWduZWQgaW50CXByaW50X25sOjEsCisJCQluZWVkX2xpbmVfdW5kZXI6MSwKKwkJCW5vX3VuZGVybGluaW5nOjEsCisJCQloYWxmX2xpbmVzOjE7Cit9OworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gWzxmaWxlPi4uLl1cbiIpLCBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJZnB1dHMoXygiRmlsdGVyIG5yb2ZmIG91dHB1dCBmb3IgQ1JUIHByZXZpZXdpbmcuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC0sICAtLW5vLXVuZGVybGluaW5nICAgIHN1cHByZXNzIGFsbCB1bmRlcmxpbmluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC0yLCAtLWhhbGYtbGluZXMgICAgICAgIHByaW50IGFsbCBoYWxmLWxpbmVzXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDI1KSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImNvbGNydCgxKSIpKTsKKworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgdHJpbV90cmFpbGluZ19zcGFjZXMod2NoYXJfdCAqcykKK3sKKwlzaXplX3Qgc2l6ZTsKKwl3Y2hhcl90ICplbmQ7CisKKwlzaXplID0gd2NzbGVuKHMpOworCWlmICghc2l6ZSkKKwkJcmV0dXJuOworCWVuZCA9IHMgKyBzaXplIC0gMTsKKwl3aGlsZSAocyA8PSBlbmQgJiYgaXN3c3BhY2UoKmVuZCkpCisJCWVuZC0tOworCSooZW5kICsgMSkgPSBMJ1wwJzsKK30KKworCitzdGF0aWMgdm9pZCBvdXRwdXRfbGluZXMoc3RydWN0IGNvbGNydF9jb250cm9sICpjdGwsIGludCBjb2wpCit7CisJLyogZmlyc3QgbGluZSAqLworCXRyaW1fdHJhaWxpbmdfc3BhY2VzKGN0bC0+bGluZSk7CisJZnB1dHdzKGN0bC0+bGluZSwgc3Rkb3V0KTsKKworCWlmIChjdGwtPnByaW50X25sKQorCQlmcHV0d2MoTCdcbicsIHN0ZG91dCk7CisJaWYgKCFjdGwtPmhhbGZfbGluZXMgJiYgIWN0bC0+bm9fdW5kZXJsaW5pbmcpCisJCWN0bC0+cHJpbnRfbmwgPSAwOworCisJd21lbXNldChjdGwtPmxpbmUsIEwnXDAnLCBPVVRQVVRfQ09MUyk7CisKKwkvKiBzZWNvbmQgbGluZSAqLworCWlmIChjdGwtPm5lZWRfbGluZV91bmRlcikgeworCQljdGwtPm5lZWRfbGluZV91bmRlciA9IDA7CisJCWN0bC0+bGluZV91bmRlcltjb2xdID0gTCdcMCc7CisJCXRyaW1fdHJhaWxpbmdfc3BhY2VzKGN0bC0+bGluZV91bmRlcik7CisJCWZwdXR3cyhjdGwtPmxpbmVfdW5kZXIsIHN0ZG91dCk7CisJCWZwdXR3YyhMJ1xuJywgc3Rkb3V0KTsKKwkJd21lbXNldChjdGwtPmxpbmVfdW5kZXIsIEwnICcsIE9VVFBVVF9DT0xTKTsKKworCX0gZWxzZSBpZiAoY3RsLT5oYWxmX2xpbmVzICYmIDAgPCBjb2wpCisJCWZwdXR3YyhMJ1xuJywgc3Rkb3V0KTsKK30KKworc3RhdGljIGludCBydWJjaGFycyhzdHJ1Y3QgY29sY3J0X2NvbnRyb2wgKmN0bCwgaW50IGNvbCwgaW50IG4pCit7CisJd2hpbGUgKDAgPCBuICYmIDAgPCBjb2wpIHsKKwkJY3RsLT5saW5lW2NvbF0gPSBMJ1wwJzsKKwkJY3RsLT5saW5lX3VuZGVyW2NvbF0gPSBMJyAnOworCQluLS07CisJCWNvbC0tOworCX0KKwlyZXR1cm4gY29sOworfQorCitzdGF0aWMgdm9pZCBjb2xjcnQoc3RydWN0IGNvbGNydF9jb250cm9sICpjdGwpCit7CisJaW50IGNvbDsKKwl3aW50X3QgYzsKKwlsb25nIG9sZF9wb3M7CisKKwljdGwtPnByaW50X25sID0gMTsKKwlpZiAoY3RsLT5oYWxmX2xpbmVzKQorCQlmcHV0d2MoTCdcbicsIHN0ZG91dCk7CisKKwlmb3IgKGNvbCA9IDA7IC8qIG5vdGhpbmcgKi87IGNvbCsrKSB7CisJCWlmIChPVVRQVVRfQ09MUyAtIDEgPCBjb2wpIHsKKwkJCW91dHB1dF9saW5lcyhjdGwsIGNvbCk7CisJCQllcnJubyA9IDA7CisJCQlvbGRfcG9zID0gZnRlbGwoY3RsLT5mKTsKKwkJCXdoaWxlICgoYyA9IGdldHdjKGN0bC0+ZikpICE9IEwnXG4nKSB7CisJCQkJbG9uZyBuZXdfcG9zID0gZnRlbGwoY3RsLT5mKTsKKwkJCQlpZiAob2xkX3BvcyA9PSBuZXdfcG9zKQorCQkJCQlmc2VlayhjdGwtPmYsIDEsIFNFRUtfQ1VSKTsKKwkJCQllbHNlCisJCQkJCW9sZF9wb3MgPSBuZXdfcG9zOworCQkJCWlmIChlcnJubyA9PSAwICYmIGMgPT0gV0VPRikKKwkJCQkJcmV0dXJuOworCQkJCWVsc2UKKwkJCQkJZXJybm8gPSAwOworCQkJfQorCQkJY29sID0gLTE7CisJCQljb250aW51ZTsKKwkJfQorCQljID0gZ2V0d2MoY3RsLT5mKTsKKwkJc3dpdGNoIChjKSB7CisJCWNhc2UgMDMzOgkvKiBFU0MgKi8KKwkJCWMgPSBnZXR3YyhjdGwtPmYpOworCQkJaWYgKGMgPT0gTCc4JykgeworCQkJCWNvbCA9IHJ1YmNoYXJzKGN0bCwgY29sLCAxKTsKKwkJCQljb250aW51ZTsKKwkJCX0KKwkJCWlmIChjID09IEwnNycpIHsKKwkJCQljb2wgPSBydWJjaGFycyhjdGwsIGNvbCwgMik7CisJCQkJY29udGludWU7CisJCQl9CisJCQljb250aW51ZTsKKwkJY2FzZSBXRU9GOgorCQkJY3RsLT5wcmludF9ubCA9IDA7CisJCQlvdXRwdXRfbGluZXMoY3RsLCBjb2wpOworCQkJcmV0dXJuOworCQljYXNlIEwnXG4nOgorCQkJb3V0cHV0X2xpbmVzKGN0bCwgY29sKTsKKwkJCWNvbCA9IC0xOworCQkJY29udGludWU7CisJCWNhc2UgTCdcdCc6CisJCQlmb3IgKC8qIG5vdGhpbmcgKi87IGNvbCAlIDggJiYgY29sIDwgT1VUUFVUX0NPTFM7IGNvbCsrKSB7CisJCQkJY3RsLT5saW5lW2NvbF0gPSBMJyAnOworCQkJfQorCQkJY29sLS07CisJCQljb250aW51ZTsKKwkJY2FzZSBMJ18nOgorCQkJY3RsLT5saW5lW2NvbF0gPSBMJyAnOworCQkJaWYgKCFjdGwtPm5vX3VuZGVybGluaW5nKSB7CisJCQkJY3RsLT5uZWVkX2xpbmVfdW5kZXIgPSAxOworCQkJCWN0bC0+bGluZV91bmRlcltjb2xdID0gTCctJzsKKwkJCX0KKwkJCWNvbnRpbnVlOworCQlkZWZhdWx0OgorCQkJaWYgKCFpc3dwcmludChjKSkgeworCQkJCWNvbC0tOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJY3RsLT5wcmludF9ubCA9IDE7CisJCQljdGwtPmxpbmVbY29sXSA9IGM7CisJCX0KKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgY29sY3J0X2NvbnRyb2wgY3RsID0geyBOVUxMIH07CisJaW50IG9wdDsKKwllbnVtIHsgTk9fVUxfT1BUSU9OID0gQ0hBUl9NQVggKyAxIH07CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7Im5vLXVuZGVybGluaW5nIiwgbm9fYXJndW1lbnQsIE5VTEwsIE5PX1VMX09QVElPTn0sCisJCXsiaGFsZi1saW5lcyIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnMid9LAorCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJLyogVGFrZSBjYXJlIG9mIGxvbmVseSBoeXBoZW4gb3B0aW9uLiAqLworCWZvciAob3B0ID0gMDsgb3B0IDwgYXJnYzsgb3B0KyspIHsKKwkJaWYgKGFyZ3Zbb3B0XVswXSA9PSAnLScgJiYgYXJndltvcHRdWzFdID09ICdcMCcpIHsKKwkJCWN0bC5ub191bmRlcmxpbmluZyA9IDE7CisJCQlhcmdjLS07CisJCQltZW1tb3ZlKGFyZ3YgKyBvcHQsIGFyZ3YgKyBvcHQgKyAxLAorCQkJCXNpemVvZihjaGFyICopICogKGFyZ2MgLSBvcHQpKTsKKwkJCW9wdC0tOworCQl9CisJfQorCisJd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiMlZoIiwgbG9uZ29wdHMsIE5VTEwpKSAhPSAtMSkgeworCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlIE5PX1VMX09QVElPTjoKKwkJCWN0bC5ub191bmRlcmxpbmluZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnMic6CisJCQljdGwuaGFsZl9saW5lcyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJZG8geworCQl3bWVtc2V0KGN0bC5saW5lLCBMJ1wwJywgT1VUUFVUX0NPTFMpOworCQl3bWVtc2V0KGN0bC5saW5lX3VuZGVyLCBMJyAnLCBPVVRQVVRfQ09MUyk7CisKKwkJaWYgKGFyZ2MgPiAwKSB7CisJCQlpZiAoIShjdGwuZiA9IGZvcGVuKCphcmd2LCAiciIpKSkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJjYW5ub3Qgb3BlbiAlcyIpLCAqYXJndik7CisJCQlhcmdjLS07CisJCQlhcmd2Kys7CisJCX0gZWxzZQorCQkJY3RsLmYgPSBzdGRpbjsKKworCQljb2xjcnQoJmN0bCk7CisJCWlmIChjdGwuZiAhPSBzdGRpbikKKwkJCWZjbG9zZShjdGwuZik7CisJfSB3aGlsZSAoYXJnYyA+IDApOworCisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvY29scm0uMSBiL3RleHQtdXRpbHMvY29scm0uMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYzUwZjlhCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9jb2xybS4xCkBAIC0wLDAgKzEsNzUgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODAsIDE5OTAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIgICAgIEAoIyljb2xybS4xCTYuNiAoQmVya2VsZXkpIDMvMTQvOTEKKy5cIgorLlRIIENPTFJNICIxIiAiU2VwdGVtYmVyIDIwMTEiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitjb2xybSBcLSByZW1vdmUgY29sdW1ucyBmcm9tIGEgZmlsZQorLlNIIFNZTk9QU0lTCisuQiBjb2xybQorLlJJIFsgZmlyc3QgXCBbIGxhc3QgXV0KKy5TSCBERVNDUklQVElPTgorLkIgY29scm0KK3JlbW92ZXMgc2VsZWN0ZWQgY29sdW1ucyBmcm9tIGEgZmlsZS4gIElucHV0IGlzIHRha2VuIGZyb20gc3RhbmRhcmQgaW5wdXQuCitPdXRwdXQgaXMgc2VudCB0byBzdGFuZGFyZCBvdXRwdXQuCisuUFAKK0lmIGNhbGxlZCB3aXRoIG9uZSBwYXJhbWV0ZXIgdGhlIGNvbHVtbnMgb2YgZWFjaCBsaW5lIHdpbGwgYmUgcmVtb3ZlZAorc3RhcnRpbmcgd2l0aCB0aGUgc3BlY2lmaWVkCisuSSBmaXJzdAorY29sdW1uLiAgSWYgY2FsbGVkIHdpdGggdHdvIHBhcmFtZXRlcnMgdGhlIGNvbHVtbnMgZnJvbSB0aGUKKy5JIGZpcnN0Citjb2x1bW4gdG8gdGhlCisuSSBsYXN0Citjb2x1bW4gd2lsbCBiZSByZW1vdmVkLgorLlBQCitDb2x1bW4gbnVtYmVyaW5nIHN0YXJ0cyB3aXRoIGNvbHVtbiAxLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBTRUUgQUxTTworLkJSIGF3ayAoMSksCisuQlIgY29sdW1uICgxKSwKKy5CUiBleHBhbmQgKDEpLAorLkJSIHBhc3RlICgxKQorLlNIIEhJU1RPUlkKK1RoZQorLkIgY29scm0KK2NvbW1hbmQgYXBwZWFyZWQgaW4gMy4wQlNELgorLlNIIEFWQUlMQUJJTElUWQorVGhlIGNvbHJtIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2NvbHJtLmMgYi90ZXh0LXV0aWxzL2NvbHJtLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGJiMGVlOQotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvY29scm0uYwpAQCAtMCwwICsxLDE5NCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMTk4MCBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworLyoKKyAqIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAqIAlhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wOS0xOSBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KKyAqIAltb2RpZmllZCB0byB3b3JrIGNvcnJlY3RseSBpbiBtdWx0aS1ieXRlIGxvY2FsZXMKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworLyoKK0NPTFJNIHJlbW92ZXMgdW53YW50ZWQgY29sdW1ucyBmcm9tIGEgZmlsZQorCUplZmYgU2NocmllYm1hbiAgVUMgQmVya2VsZXkgMTEtNzQKKyovCisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCWZwcmludGYob3V0LCBfKCJcblVzYWdlOlxuIgorCQkgICAgICAgIiAlcyBbc3RhcnRjb2wgW2VuZGNvbF1dXG4iKSwKKwkJICAgICAgIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJGaWx0ZXIgb3V0IHRoZSBzcGVjaWZpZWQgY29sdW1ucy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDE2KSk7CisJZnByaW50ZihvdXQsIF8oIiVzIHJlYWRzIGZyb20gc3RhbmRhcmQgaW5wdXQgYW5kIHdyaXRlcyB0byBzdGFuZGFyZCBvdXRwdXRcblxuIiksCisJCSAgICAgICBwcm9ncmFtX2ludm9jYXRpb25fc2hvcnRfbmFtZSk7CisJcHJpbnRmKFVTQUdFX01BTl9UQUlMKCJjb2xybSgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK3N0YXRpYyBpbnQgcHJvY2Vzc19pbnB1dCh1bnNpZ25lZCBsb25nIGZpcnN0LCB1bnNpZ25lZCBsb25nIGxhc3QpCit7CisJdW5zaWduZWQgbG9uZyBjdCA9IDA7CisJd2ludF90IGM7CisJdW5zaWduZWQgbG9uZyBpOworCWludCB3OworCWludCBwYWRkaW5nOworCisJZm9yICg7OykgeworCQljID0gZ2V0d2Moc3RkaW4pOworCQlpZiAoYyA9PSBXRU9GKQorCQkJcmV0dXJuIDA7CisJCWlmIChjID09ICdcdCcpCisJCQl3ID0gKChjdCArIDgpICYgfjcpIC0gY3Q7CisJCWVsc2UgaWYgKGMgPT0gJ1xiJykKKwkJCXcgPSAoY3QgPyBjdCAtIDEgOiAwKSAtIGN0OworCQllbHNlIHsKKwkJCXcgPSB3Y3dpZHRoKGMpOworCQkJaWYgKHcgPCAwKQorCQkJCXcgPSAwOworCQl9CisJCWN0ICs9IHc7CisJCWlmIChjID09ICdcbicpIHsKKwkJCXB1dHdjKGMsIHN0ZG91dCk7CisJCQljdCA9IDA7CisJCQljb250aW51ZTsKKworCQl9CisJCWlmICghZmlyc3QgfHwgY3QgPCBmaXJzdCkgeworCQkJcHV0d2MoYywgc3Rkb3V0KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWJyZWFrOworCX0KKworCWZvciAoaSA9IGN0IC0gdyArIDE7IGkgPCBmaXJzdDsgaSsrKQorCQlwdXR3YygnICcsIHN0ZG91dCk7CisKKwkvKiBMb29wIGdldHRpbmcgcmlkIG9mIGNoYXJhY3RlcnMgKi8KKwl3aGlsZSAoIWxhc3QgfHwgY3QgPCBsYXN0KSB7CisJCWMgPSBnZXR3YyhzdGRpbik7CisJCWlmIChjID09IFdFT0YpCisJCQlyZXR1cm4gMDsKKwkJaWYgKGMgPT0gJ1xuJykgeworCQkJcHV0d2MoYywgc3Rkb3V0KTsKKwkJCXJldHVybiAxOworCQl9CisJCWlmIChjID09ICdcdCcpCisJCQljdCA9IChjdCArIDgpICYgfjc7CisJCWVsc2UgaWYgKGMgPT0gJ1xiJykKKwkJCWN0ID0gY3QgPyBjdCAtIDEgOiAwOworCQllbHNlIHsKKwkJCXcgPSB3Y3dpZHRoKGMpOworCQkJaWYgKHcgPCAwKQorCQkJCXcgPSAwOworCQkJY3QgKz0gdzsKKwkJfQorCX0KKworCXBhZGRpbmcgPSAwOworCisJLyogT3V0cHV0IGxhc3Qgb2YgdGhlIGxpbmUgKi8KKwlmb3IgKDs7KSB7CisJCWMgPSBnZXR3YyhzdGRpbik7CisJCWlmIChjID09IFdFT0YpCisJCQlicmVhazsKKwkJaWYgKGMgPT0gJ1xuJykgeworCQkJcHV0d2MoYywgc3Rkb3V0KTsKKwkJCXJldHVybiAxOworCQl9CisJCWlmIChwYWRkaW5nID09IDAgJiYgbGFzdCA8IGN0KSB7CisJCQlmb3IgKGkgPSBsYXN0OyBpIDwgY3Q7IGkrKykKKwkJCQlwdXR3YygnICcsIHN0ZG91dCk7CisJCQlwYWRkaW5nID0gMTsKKwkJfQorCQlwdXR3YyhjLCBzdGRvdXQpOworCX0KKwlyZXR1cm4gMDsKK30KKworaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQoreworCXVuc2lnbmVkIGxvbmcgZmlyc3QgPSAwLCBsYXN0ID0gMDsKKwlpbnQgb3B0OworCisJc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ29wdHNbXSA9IHsKKwkJeyJ2ZXJzaW9uIiwgbm9fYXJndW1lbnQsIE5VTEwsICdWJ30sCisJCXsiaGVscCIsICAgIG5vX2FyZ3VtZW50LCBOVUxMLCAnaCd9LAorCQl7TlVMTCwgMCwgTlVMTCwgMH0KKwl9OworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCXdoaWxlICgob3B0ID0KKwkJZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImJmaGw6cHhWSCIsIGxvbmdvcHRzLAorCQkJICAgIE5VTEwpKSAhPSAtMSkKKwkJc3dpdGNoIChvcHQpIHsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCisJaWYgKGFyZ2MgPiAxKQorCQlmaXJzdCA9IHN0cnRvdWxfb3JfZXJyKCorK2FyZ3YsIF8oImZpcnN0IGFyZ3VtZW50IikpOworCWlmIChhcmdjID4gMikKKwkJbGFzdCA9IHN0cnRvdWxfb3JfZXJyKCorK2FyZ3YsIF8oInNlY29uZCBhcmd1bWVudCIpKTsKKworCXdoaWxlIChwcm9jZXNzX2lucHV0KGZpcnN0LCBsYXN0KSkKKwkJOworCisJZmZsdXNoKHN0ZG91dCk7CisJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvY29sdW1uLjEgYi90ZXh0LXV0aWxzL2NvbHVtbi4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU4MWM4YzEKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2NvbHVtbi4xCkBAIC0wLDAgKzEsMTc3IEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkwLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKWNvbHVtbi4xCTguMSAoQmVya2VsZXkpIDYvNi85MworLlwiCisuVEggQ09MVU1OIDEgIkphbnVhcnkgMjAxNyIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2NvbHVtbiBcLSBjb2x1bW5hdGUgbGlzdHMKKy5TSCBTWU5PUFNJUworLkJSIGNvbHVtbiAiIFtvcHRpb25zXSIKKy5SSSBbIGZpbGUgLi4uXQorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIGNvbHVtbgordXRpbGl0eSBmb3JtYXRzIGl0cyBpbnB1dCBpbnRvIG11bHRpcGxlIGNvbHVtbnMuICBUaGUgdXRpbCBzdXBwb3J0IHRocmVlIG1vZGVzOgorLlRQCisuQiBjb2x1bW5zIGFyZSBmaWxsZWQgYmVmb3JlIHJvd3MKK1RoaXMgaXMgdGhlIGRlZmF1bHQgbW9kZSAocmVxdWlyZWQgYnkgYmFja3dhcmQgY29tcGF0aWJpbGl0eSkuCisuVFAKKy5CIHJvd3MgYXJlIGZpbGxlZCBiZWZvcmUgY29sdW1ucworVGhpcyBtb2RlIGlzIGVuYWJsZWQgYnkgb3B0aW9uIFxmQi14LCBcLVwtZmlsbHJvd3NcZlAKKy5UUAorLkIgdGFibGUKK0RldGVybWluZSB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGlucHV0IGNvbnRhaW5zIGFuZCBjcmVhdGUgYSB0YWJsZS4gIFRoaXMKK21vZGUgaXMgZW5hYmxlZCBieSBvcHRpb24gXGZCLXQsIFwtXC10YWJsZVxmUCBhbmQgY29sdW1ucyBmb3JtYXR0aW5nIGlzCitwb3NzaWJsZSB0byBtb2RpZnkgYnkgXGZCXC1cLXRhYmxlLSpcZlAgb3B0aW9ucy4gIFVzZSB0aGlzIG1vZGUgaWYgbm90IHN1cmUuCisuUFAKK0lucHV0IGlzIHRha2VuIGZyb20gXGZJZmlsZVxmUiwgb3Igb3RoZXJ3aXNlIGZyb20gc3RhbmRhcmQgaW5wdXQuICBFbXB0eSBsaW5lcworYXJlIGlnbm9yZWQgYW5kIGFsbCBpbnZhbGlkIG11bHRpYnl0ZSBzZXF1ZW5jZXMgYXJlIGVuY29kZWQgYnkgXFx4PGhleD4gY29udmVudGlvbi4KKy5QUAorLlNIIE9QVElPTlMKK1RoZSBhcmd1bWVudCBcZkljb2x1bW5zXGZQIGZvciBcZkJcLVwtdGFibGUtKlxmUCBvcHRpb25zIGlzIGNvbW1hIHNlcGFyYXRlZAorbGlzdCBvZiB0aGUgY29sdW1uIG5hbWVzIGFzIGRlZmluZWQgYnkgXGZCXC1cLXRhYmxlLWNvbHVtbnNcZlAgb3IgaXQncyBjb2x1bW4KK251bWJlciBpbiBvcmRlciBhcyBzcGVjaWZpZWQgYnkgaW5wdXQuIEl0J3MgcG9zc2libGUgdG8gbWl4IG5hbWVzIGFuZCBudW1iZXJzLgorLlBQCisuSVAgIlxmQlwtSiwgXC1cLWpzb25cZlAiCitVc2UgSlNPTiBvdXRwdXQgZm9ybWF0IHRvIHByaW50IHRoZSB0YWJsZSwgdGhlIG9wdGlvbgorXGZCXC1cLXRhYmxlXC1jb2x1bW5zXGZQIGlzIHJlcXVpcmVkIGFuZCB0aGUgb3B0aW9uIFxmQlwtXC10YWJsZVwtbmFtZVxmUCBpcyByZWNvbW1lbmRlZC4KKy5JUCAiXGZCXC1jLCBcLVwtb3V0cHV0XC13aWR0aFxmUCBcZkl3aWR0aFxmUCIKK091dHB1dCBpcyBmb3JtYXR0ZWQgdG8gYSB3aWR0aCBzcGVjaWZpZWQgYXMgbnVtYmVyIG9mIGNoYXJhY3RlcnMuIFRoZSBvcmlnaW5hbAorbmFtZSBvZiB0aGlzIG9wdGlvbiBpcyAtLWNvbHVtbnM7IHRoaXMgbmFtZSBpcyBkZXByZWNhdGVkIHNpbmNlIHYyLjMwLiBOb3RlIHRoYXQgaW5wdXQKK2xvbmdlciB0aGFuIFxmSXdpZHRoXGZQIGlzIG5vdCB0cnVuY2F0ZWQgYnkgZGVmYXVsdC4KKy5JUCAiXGZCXC1kLCBcLVwtdGFibGVcLW5vaGVhZGluZ3NcZlAiCitEbyBub3QgcHJpbnQgaGVhZGVyLiBUaGlzIG9wdGlvbiBhbGxvd3MgdG8gdXNlIGxvZ2ljYWwgY29sdW1uIG5hbWVzIG9uIGNvbW1hbmQgbGluZSwgYnV0IGtlZXAgdGhlIGhlYWRlciBoaWRkZW4gd2hlbiBwcmludCB0aGUgdGFibGUuCisuSVAgIlxmQlwtbywgXC1cLW91dHB1dFwtc2VwYXJhdG9yXGZQIFxmSXN0cmluZ1xmUCIKK1NwZWNpZnkgdGhlIGNvbHVtbnMgZGVsaW1pdGVyIGZvciB0YWJsZSBvdXRwdXQgKGRlZmF1bHQgaXMgdHdvIHNwYWNlcykuCisuSVAgIlxmQlwtcywgXC1cLXNlcGFyYXRvclxmUCBcZklzZXBhcmF0b3JzXGZQIgorU3BlY2lmeSB0aGUgcG9zc2libGUgaW5wdXQgaXRlbSBkZWxpbWl0ZXJzIChkZWZhdWx0IGlzIHdoaXRlc3BhY2UpLgorLklQICJcZkJcLXQsIFwtXC10YWJsZVxmUCIKK0RldGVybWluZSB0aGUgbnVtYmVyIG9mIGNvbHVtbnMgdGhlIGlucHV0IGNvbnRhaW5zIGFuZCBjcmVhdGUgYSB0YWJsZS4KK0NvbHVtbnMgYXJlIGRlbGltaXRlZCB3aXRoIHdoaXRlc3BhY2UsIGJ5IGRlZmF1bHQsIG9yIHdpdGggdGhlIGNoYXJhY3RlcnMKK3N1cHBsaWVkIHVzaW5nIHRoZSBcZkJcLVwtb3V0cHV0XC1zZXBhcmF0b3JcZlAgb3B0aW9uLgorVGFibGUgb3V0cHV0IGlzIHVzZWZ1bCBmb3IgcHJldHR5LXByaW50aW5nLgorLklQICJcZkJcLU4sIFwtXC10YWJsZS1jb2x1bW5zXGZQIFxmSW5hbWVzXGZQIgorU3BlY2lmeSB0aGUgY29sdW1ucyBuYW1lcyBieSBjb21tYSBzZXBhcmF0ZWQgbGlzdCBvZiBuYW1lcy4gVGhlIG5hbWVzIGFyZSB1c2VkCitmb3IgdGhlIHRhYmxlIGhlYWRlciBvciB0byBhZGRyZXNzIGNvbHVtbiBpbiBvcHRpb24gYXJndW1lbnRzLgorLklQICJcZkJcLVIsIFwtXC10YWJsZS1yaWdodFxmUCBcZkljb2x1bW5zXGZQIgorUmlnaHQgYWxpZ24gdGV4dCBpbiB0aGUgc3BlY2lmaWVkIGNvbHVtbnMuCisuSVAgIlxmQlwtVCwgXC1cLXRhYmxlLXRydW5jYXRlXGZQIFxmSWNvbHVtbnNcZlAiCitTcGVjaWZ5IGNvbHVtbnMgd2hlcmUgaXMgYWxsb3dlZCB0byB0cnVuY2F0ZSB0ZXh0IHdoZW4gbmVjZXNzYXJ5LCBvdGhlcndpc2UKK3ZlcnkgbG9uZyB0YWJsZSBlbnRyaWVzIG1heSBiZSBwcmludGVkIG9uIG11bHRpcGxlIGxpbmVzLgorLklQICJcZkJcLUUsIFwtXC10YWJsZS1ub2V4dHJlbWVcZlAgXGZJY29sdW1uc1xmUCIKK1NwZWNpZnkgY29sdW1ucyB3aGVyZSBpcyBwb3NzaWJsZSB0byBpZ25vcmUgdW51c3VhbGx5IGxvbmcgKGxvbmdlciB0aGFuCithdmVyYWdlKSBjZWxscyB3aGVuIGNhbGN1bGF0ZSBjb2x1bW4gd2lkdGguICBUaGUgb3B0aW9uIGhhcyBpbXBhY3QgdG8gdGhlIHdpZHRoCitjYWxjdWxhdGlvbiBhbmQgdGFibGUgZm9ybWF0dGluZywgYnV0IHRoZSBwcmludGVkIHRleHQgaXMgbm90IGFmZmVjdGVkLgorCitUaGUgb3B0aW9uIGlzIHVzZWQgZm9yIHRoZSBsYXN0IHZpc2libGUgY29sdW1uIGJ5IGRlZmF1bHQuCisKKy5JUCAiXGZCXC1lLCBcLVwtdGFibGVcLWhlYWRlclwtcmVwZWF0XGZQIgorUHJpbnQgaGVhZGVyIGxpbmUgZm9yIGVhY2ggcGFnZS4KKy5JUCAiXGZCXC1XLCBcLVwtdGFibGUtd3JhcFxmUCBcZkljb2x1bW5zXGZQIgorU3BlY2lmeSBjb2x1bW5zIHdoZXJlIGlzIHBvc3NpYmxlIHRvIHVzZSBtdWx0aS1saW5lIGNlbGwgZm9yIGxvbmcgdGV4dCB3aGVuCituZWNlc3NhcnkuCisuSVAgIlxmQlwtSCwgXC1cLXRhYmxlLWhpZGVcZlAgXGZJY29sdW1uc1xmUCIKK0Rvbid0IHByaW50IHNwZWNpZmllZCBjb2x1bW5zLiBUaGUgc3BlY2lhbCBwbGFjZWhvbGRlciAnLScgbWF5YmUgYmUgdXNlZCB0bworaGlkZSBhbGwgdW5uYW1lZCBjb2x1bW5zIChzZWUgLS10YWJsZS1jb2x1bW5zKS4KKy5JUCAiXGZCXC1PLCBcLVwtdGFibGUtb3JkZXJcZlAgXGZJY29sdW1uc1xmUCIKK1NwZWNpZnkgY29sdW1ucyBvcmRlciBvbiBvdXRwdXQuCisuSVAgIlxmQlwtbiwgXC1cLXRhYmxlLW5hbWVcZlAgXGZJbmFtZVxmUCIKK1NwZWNpZnkgdGhlIHRhYmxlIG5hbWUgdXNlZCBmb3IgSlNPTiBvdXRwdXQuIFRoZSBkZWZhb3V0IGlzICJ0YWJsZSIuCisuSVAgIlxmQlwtciwgXC1cLXRyZWVcZlAgXGZJY29sdW1uXGZQIgorU3BlY2lmeSBjb2x1bW4gdG8gdXNlIHRyZWUtbGlrZSBvdXRwdXQuIE5vdGUgdGhhdCB0aGUgY2lyY3VsYXIgZGVwZW5kZW5jaWVzIGFuZAorYW5vdGhlciBhbm9tYWxpZXMgaW4gY2hpbGQgYW5kIHBhcmVudCByZWxhdGlvbiBhcmUgc2lsZW50bHkgaWdub3JlZC4KKy5JUCAiXGZCXC1pLCBcLVwtdHJlZVwtaWRcZlAgXGZJY29sdW1uXGZQIgorU3BlY2lmeSBjb2x1bW4gd2l0aCBsaW5lIElEIHRvIGNyZWF0ZSBjaGlsZC1wYXJlbnQgcmVsYXRpb24uCisuSVAgIlxmQlwtcCwgXC1cLXRyZWVcLXBhcmVudFxmUCBcZkljb2x1bW5cZlAiCitTcGVjaWZ5IGNvbHVtbiB3aXRoIHBhcmVudCBJRCB0byBjcmVhdGUgY2hpbGQtcGFyZW50IHJlbGF0aW9uLgorLlBQCisuSVAgIlxmQlwteCwgXC1cLWZpbGxyb3dzXGZQIgorRmlsbCByb3dzIGJlZm9yZSBmaWxsaW5nIGNvbHVtbnMuCisuSVAgIlxmQlwtVlxmUiwgXGZCXC1cLXZlcnNpb25cZlIiCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuSVAgIlxmQlwtaCwgXC1cLWhlbHBcZlAiCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFTlZJUk9OTUVOVAorVGhlIGVudmlyb25tZW50IHZhcmlhYmxlIFxmQkNPTFVNTlNcZlIgaXMgdXNlZCB0byBkZXRlcm1pbmUgdGhlIHNpemUgb2YKK3RoZSBzY3JlZW4gaWYgbm8gb3RoZXIgaW5mb3JtYXRpb24gaXMgYXZhaWxhYmxlLgorLlNIIEVYQU1QTEVTCitQcmludCBmc3RhYiB3aXRoIGhlYWRlciBsaW5lIGFuZCBhbGlnbiBudW1iZXIgdG8gdGhlIHJpZ2h0OgorLkVYCitcZkJzZWQgJ3MvIy4qLy8nIC9ldGMvZnN0YWIgfCBjb2x1bW4gLS10YWJsZSAtLXRhYmxlLWNvbHVtbnMgU09VUkNFLFRBUkdFVCxUWVBFLE9QVElPTlMsUEFTUyxGUkVRIC0tdGFibGUtcmlnaHQgUEFTUyxGUkVRXGZSCisuRUUKKy5QUAorUHJpbnQgZnN0YWIgYW5kIGhpZGUgdW5uYW1lZCBjb2x1bW5zOgorLkVYCitcZkJzZWQgJ3MvIy4qLy8nIC9ldGMvZnN0YWIgfCBjb2x1bW4gLS10YWJsZSAtLXRhYmxlLWNvbHVtbnMgU09VUkNFLFRBUkdFVCxUWVBFIC0tdGFibGUtaGlkZSAtXGZSCisuRUUKKy5QUAorCisuUFAKK1ByaW50IGEgdHJlZToKKy5FWAorXGZCZWNobyAtZSAnMSAwIEFcXG4yIDEgQUFcXG4zIDEgQUJcXG40IDIgQUFBXFxuNSAyIEFBQicgfCBjb2x1bW4gLS10cmVlLWlkIDEgLS10cmVlLXBhcmVudCAyIC0tdHJlZSAzXGZSCisxICAwICBBCisyICAxICB8LUFBCis0ICAyICB8IHwtQUFBCis1ICAyICB8IGAtQUFCCiszICAxICBgLUFCCisuRUUKKy5TSCBCVUdTCitWZXJzaW9uIDIuMjMgY2hhbmdlZCB0aGUKKy5CIFwtcworb3B0aW9uIHRvIGJlIG5vbi1ncmVlZHksIGZvciBleGFtcGxlOgorLlBQCisuRVgKK1xmQnByaW50ZiAiYTpiOmNcXG4xOjozXFxuIiB8IGNvbHVtbiAgLXQgLXMgJzonXGZSCisuRUUKKy5QUAorT2xkIG91dHB1dDoKKy5FWAorYSAgYiAgYworMSAgMworLkVFCisuUFAKK05ldyBvdXRwdXQgKHNpbmNlIHV0aWwtbGludXggMi4yMyk6CisuRVgKK2EgIGIgIGMKKzEgICAgIDMKKy5FRQorLlNIICJTRUUgQUxTTyIKKy5CUiBjb2xybSAoMSksCisuQlIgbHMgKDEpLAorLkJSIHBhc3RlICgxKSwKKy5CUiBzb3J0ICgxKQorLlNIIEhJU1RPUlkKK1RoZSBjb2x1bW4gY29tbWFuZCBhcHBlYXJlZCBpbiA0LjNCU0QtUmVuby4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBjb2x1bW4gY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCitodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4Ly4KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvY29sdW1uLmMgYi90ZXh0LXV0aWxzL2NvbHVtbi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjE5NTgxNDMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2NvbHVtbi5jCkBAIC0wLDAgKzEsODM1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5LCAxOTkzLCAxOTk0CisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorCisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPGVycm5vLmg+CisjaW5jbHVkZSA8Z2V0b3B0Lmg+CisKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAidHR5dXRpbHMuaCIKKyNpbmNsdWRlICJzdHJ2LmgiCisjaW5jbHVkZSAib3B0dXRpbHMuaCIKKyNpbmNsdWRlICJtYnNhbGlnbi5oIgorCisjaW5jbHVkZSAibGlic21hcnRjb2xzLmgiCisKKyNkZWZpbmUgVEFCQ0hBUl9DRUxMUyAgICAgICAgIDgKKworZW51bSB7CisJQ09MVU1OX01PREVfRklMTENPTFMgPSAwLAorCUNPTFVNTl9NT0RFX0ZJTExST1dTLAorCUNPTFVNTl9NT0RFX1RBQkxFLAorCUNPTFVNTl9NT0RFX1NJTVBMRQorfTsKKworc3RydWN0IGNvbHVtbl9jb250cm9sIHsKKwlpbnQJbW9kZTsJCS8qIENPTFVNTl9NT0RFXyogKi8KKwlzaXplX3QJdGVybXdpZHRoOworCisJc3RydWN0IGxpYnNjb2xzX3RhYmxlICp0YWI7CisKKwljaGFyICoqdGFiX2NvbG5hbWVzOwkvKiBhcnJheSB3aXRoIGNvbHVtbiBuYW1lcyAqLworCWNvbnN0IGNoYXIgKnRhYl9uYW1lOwkvKiB0YWJsZSBuYW1lICovCisJY29uc3QgY2hhciAqdGFiX29yZGVyOwkvKiAtLXRhYmxlLW9yZGVyICovCisKKwljb25zdCBjaGFyICp0YWJfY29scmlnaHQ7CS8qIC0tdGFibGUtcmlnaHQgKi8KKwljb25zdCBjaGFyICp0YWJfY29sdHJ1bmM7CS8qIC0tdGFibGUtdHJ1bmMgKi8KKwljb25zdCBjaGFyICp0YWJfY29sbm9leHRyZW07CS8qIC0tdGFibGUtbm9leHRyZW1lICovCisJY29uc3QgY2hhciAqdGFiX2NvbHdyYXA7CS8qIC0tdGFibGUtd3JhcCAqLworCWNvbnN0IGNoYXIgKnRhYl9jb2xoaWRlOwkvKiAtLXRhYmxlLWhpZGUgKi8KKworCWNvbnN0IGNoYXIgKnRyZWU7CisJY29uc3QgY2hhciAqdHJlZV9pZDsKKwljb25zdCBjaGFyICp0cmVlX3BhcmVudDsKKworCXdjaGFyX3QgKmlucHV0X3NlcGFyYXRvcjsKKwljb25zdCBjaGFyICpvdXRwdXRfc2VwYXJhdG9yOworCisJd2NoYXJfdAkqKmVudHM7CQkvKiBpbnB1dCBlbnRyaWVzICovCisJc2l6ZV90CW5lbnRzOwkJLyogbnVtYmVyIG9mIGVudHJpZXMgKi8KKwlzaXplX3QJbWF4bGVuZ3RoOwkvKiBsb25nZXN0IGlucHV0IHJlY29yZCAobGluZSkgKi8KKworCXVuc2lnbmVkIGludCBncmVlZHkgOjEsCisJCSAgICAganNvbiA6MSwKKwkJICAgICBoZWFkZXJfcmVwZWF0IDoxLAorCQkgICAgIHRhYl9ub2hlYWRpbmdzIDoxOworfTsKKworc3RhdGljIHNpemVfdCB3aWR0aChjb25zdCB3Y2hhcl90ICpzdHIpCit7CisJc2l6ZV90IHdpZHRoID0gMDsKKworCWZvciAoOyAqc3RyICE9ICdcMCc7IHN0cisrKSB7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCQlpbnQgeCA9IHdjd2lkdGgoKnN0cik7CS8qIGRvbid0IHVzZSB3Y3N3aWR0aCgpLCBuZWVkIHRvIGlnbm9yZSBub24tcHJpbnRhYmxlICovCisJCWlmICh4ID4gMCkKKwkJCXdpZHRoICs9IHg7CisjZWxzZQorCQlpZiAoaXNwcmludCgqc3RyKSkKKwkJCXdpZHRoKys7CisjZW5kaWYKKwl9CisJcmV0dXJuIHdpZHRoOworfQorCitzdGF0aWMgd2NoYXJfdCAqbWJzX3RvX3djcyhjb25zdCBjaGFyICpzKQoreworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwlzc2l6ZV90IG47CisJd2NoYXJfdCAqd2NzOworCisJbiA9IG1ic3Rvd2NzKCh3Y2hhcl90ICopMCwgcywgMCk7CisJaWYgKG4gPCAwKQorCQlyZXR1cm4gTlVMTDsKKwl3Y3MgPSB4Y2FsbG9jKChuICsgMSkgKiBzaXplb2Yod2NoYXJfdCksIDEpOworCW4gPSBtYnN0b3djcyh3Y3MsIHMsIG4gKyAxKTsKKwlpZiAobiA8IDApIHsKKwkJZnJlZSh3Y3MpOworCQlyZXR1cm4gTlVMTDsKKwl9CisJcmV0dXJuIHdjczsKKyNlbHNlCisJcmV0dXJuIHhzdHJkdXAocyk7CisjZW5kaWYKK30KKworc3RhdGljIGNoYXIgKndjc190b19tYnMoY29uc3Qgd2NoYXJfdCAqcykKK3sKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJc2l6ZV90IG47CisJY2hhciAqc3RyOworCisJbiA9IHdjc3RvbWJzKE5VTEwsIHMsIDApOworCWlmIChuID09IChzaXplX3QpIC0xKQorCQlyZXR1cm4gTlVMTDsKKworCXN0ciA9IHhjYWxsb2MobiArIDEsIDEpOworCWlmICh3Y3N0b21icyhzdHIsIHMsIG4pID09IChzaXplX3QpIC0xKSB7CisJCWZyZWUoc3RyKTsKKwkJcmV0dXJuIE5VTEw7CisJfQorCXJldHVybiBzdHI7CisjZWxzZQorCXJldHVybiB4c3RyZHVwKHMpOworI2VuZGlmCit9CisKK3N0YXRpYyB3Y2hhcl90ICpsb2NhbF93Y3N0b2sod2NoYXJfdCAqcCwgY29uc3Qgd2NoYXJfdCAqc2VwYXJhdG9yLCBpbnQgZ3JlZWR5LCB3Y2hhcl90ICoqc3RhdGUpCit7CisJd2NoYXJfdCAqcmVzdWx0ID0gTlVMTDsKKworCWlmIChncmVlZHkpCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCQlyZXR1cm4gd2NzdG9rKHAsIHNlcGFyYXRvciwgc3RhdGUpOworI2Vsc2UKKwkJcmV0dXJuIHN0cnRva19yKHAsIHNlcGFyYXRvciwgc3RhdGUpOworI2VuZGlmCisJaWYgKCFwKSB7CisJCWlmICghKnN0YXRlIHx8ICEqKnN0YXRlKQorCQkJcmV0dXJuIE5VTEw7CisJCXAgPSAqc3RhdGU7CisJfQorCXJlc3VsdCA9IHA7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCXAgPSB3Y3NwYnJrKHJlc3VsdCwgc2VwYXJhdG9yKTsKKyNlbHNlCisJcCA9IHN0cnBicmsocmVzdWx0LCBzZXBhcmF0b3IpOworI2VuZGlmCisJaWYgKCFwKQorCQkqc3RhdGUgPSBOVUxMOworCWVsc2UgeworCQkqcCA9ICdcMCc7CisJCSpzdGF0ZSA9IHAgKyAxOworCX0KKwlyZXR1cm4gcmVzdWx0OworfQorCitzdGF0aWMgY2hhciAqKnNwbGl0X29yX2Vycm9yKGNvbnN0IGNoYXIgKnN0ciwgY29uc3QgY2hhciAqZXJybXNnKQoreworCWNoYXIgKipyZXMgPSBzdHJ2X3NwbGl0KHN0ciwgIiwiKTsKKwlpZiAoIXJlcykgeworCQlpZiAoZXJybm8gPT0gRU5PTUVNKQorCQkJZXJyX29vbSgpOworCQllcnJ4KEVYSVRfRkFJTFVSRSwgIiVzOiAnJXMnIiwgZXJybXNnLCBzdHIpOworCX0KKwlyZXR1cm4gcmVzOworfQorCitzdGF0aWMgdm9pZCBpbml0X3RhYmxlKHN0cnVjdCBjb2x1bW5fY29udHJvbCAqY3RsKQoreworCXNjb2xzX2luaXRfZGVidWcoMCk7CisKKwljdGwtPnRhYiA9IHNjb2xzX25ld190YWJsZSgpOworCWlmICghY3RsLT50YWIpCisJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgdGFibGUiKSk7CisKKwlzY29sc190YWJsZV9zZXRfY29sdW1uX3NlcGFyYXRvcihjdGwtPnRhYiwgY3RsLT5vdXRwdXRfc2VwYXJhdG9yKTsKKwlpZiAoY3RsLT5qc29uKSB7CisJCXNjb2xzX3RhYmxlX2VuYWJsZV9qc29uKGN0bC0+dGFiLCAxKTsKKwkJc2NvbHNfdGFibGVfc2V0X25hbWUoY3RsLT50YWIsIGN0bC0+dGFiX25hbWUgPyA6ICJ0YWJsZSIpOworCX0gZWxzZQorCQlzY29sc190YWJsZV9lbmFibGVfbm9lbmNvZGluZyhjdGwtPnRhYiwgMSk7CisKKwlpZiAoY3RsLT50YWJfY29sbmFtZXMpIHsKKwkJY2hhciAqKm5hbWU7CisKKwkJU1RSVl9GT1JFQUNIKG5hbWUsIGN0bC0+dGFiX2NvbG5hbWVzKQorCQkJc2NvbHNfdGFibGVfbmV3X2NvbHVtbihjdGwtPnRhYiwgKm5hbWUsIDAsIDApOworCQlpZiAoY3RsLT5oZWFkZXJfcmVwZWF0KQorCQkJc2NvbHNfdGFibGVfZW5hYmxlX2hlYWRlcl9yZXBlYXQoY3RsLT50YWIsIDEpOworCQlzY29sc190YWJsZV9lbmFibGVfbm9oZWFkaW5ncyhjdGwtPnRhYiwgISFjdGwtPnRhYl9ub2hlYWRpbmdzKTsKKwl9IGVsc2UKKwkJc2NvbHNfdGFibGVfZW5hYmxlX25vaGVhZGluZ3MoY3RsLT50YWIsIDEpOworfQorCitzdGF0aWMgc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqc3RyaW5nX3RvX2NvbHVtbihzdHJ1Y3QgY29sdW1uX2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqc3RyKQoreworCXVpbnQzMl90IGNvbG51bSA9IDA7CisKKwlpZiAoaXNkaWdpdF9zdHJpbmcoc3RyKSkKKwkJY29sbnVtID0gc3RydG91MzJfb3JfZXJyKHN0ciwgXygiZmFpbGVkIHRvIHBhcnNlIGNvbHVtbiIpKSAtIDE7CisJZWxzZSB7CisJCWNoYXIgKipuYW1lOworCisJCVNUUlZfRk9SRUFDSChuYW1lLCBjdGwtPnRhYl9jb2xuYW1lcykgeworCQkJaWYgKHN0cmNhc2VjbXAoKm5hbWUsIHN0cikgPT0gMCkKKwkJCQlicmVhazsKKwkJCWNvbG51bSsrOworCQl9CisJCWlmICghbmFtZSB8fCAhKm5hbWUpCisJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygidW5kZWZpbmVkIGNvbHVtbiBuYW1lICclcyciKSwgc3RyKTsKKwl9CisKKwlyZXR1cm4gc2NvbHNfdGFibGVfZ2V0X2NvbHVtbihjdGwtPnRhYiwgY29sbnVtKTsKK30KKworc3RhdGljIHN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmdldF9sYXN0X3Zpc2libGVfY29sdW1uKHN0cnVjdCBjb2x1bW5fY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBsaWJzY29sc19pdGVyICppdHI7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsICpsYXN0ID0gTlVMTDsKKworCWl0ciA9IHNjb2xzX25ld19pdGVyKFNDT0xTX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHIpCisJCWVycl9vb20oKTsKKworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2NvbHVtbihjdGwtPnRhYiwgaXRyLCAmY2wpID09IDApIHsKKwkJaWYgKHNjb2xzX2NvbHVtbl9nZXRfZmxhZ3MoY2wpICYgU0NPTFNfRkxfSElEREVOKQorCQkJY29udGludWU7CisJCWxhc3QgPSBjbDsKKwl9CisKKwlzY29sc19mcmVlX2l0ZXIoaXRyKTsKKwlyZXR1cm4gbGFzdDsKK30KKworc3RhdGljIGludCBjb2x1bW5fc2V0X2ZsYWcoc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2wsIGludCBmbCkKK3sKKwlpbnQgY3VyID0gc2NvbHNfY29sdW1uX2dldF9mbGFncyhjbCk7CisKKwlyZXR1cm4gc2NvbHNfY29sdW1uX3NldF9mbGFncyhjbCwgY3VyIHwgZmwpOworfQorCitzdGF0aWMgdm9pZCBhcHBseV9jb2x1bW5mbGFnX2Zyb21fbGlzdChzdHJ1Y3QgY29sdW1uX2NvbnRyb2wgKmN0bCwgY29uc3QgY2hhciAqbGlzdCwKKwkJCQkJIGludCBmbGFnLCBjb25zdCBjaGFyICplcnJtc2cpCit7CisJY2hhciAqKmFsbCA9IHNwbGl0X29yX2Vycm9yKGxpc3QsIGVycm1zZyk7CisJY2hhciAqKm9uZTsKKwlpbnQgdW5uYW1lZCA9IDA7CisKKwlTVFJWX0ZPUkVBQ0gob25lLCBhbGwpIHsKKwkJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2w7CisKKwkJaWYgKGZsYWcgPT0gU0NPTFNfRkxfSElEREVOICYmIHN0cmNtcCgqb25lLCAiLSIpID09IDApIHsKKwkJCXVubmFtZWQgPSAxOworCQkJY29udGludWU7CisJCX0KKwkJY2wgPSBzdHJpbmdfdG9fY29sdW1uKGN0bCwgKm9uZSk7CisJCWlmIChjbCkKKwkJCWNvbHVtbl9zZXRfZmxhZyhjbCwgZmxhZyk7CisJfQorCXN0cnZfZnJlZShhbGwpOworCisJLyogYXBwbHkgZmxhZyB0byBhbGwgY29sdW1ucyB3aXRob3V0IG5hbWUgKi8KKwlpZiAodW5uYW1lZCkgeworCQlzdHJ1Y3QgbGlic2NvbHNfaXRlciAqaXRyOworCQlzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICpjbDsKKworCQlpdHIgPSBzY29sc19uZXdfaXRlcihTQ09MU19JVEVSX0ZPUldBUkQpOworCQlpZiAoIWl0cikKKwkJCWVycl9vb20oKTsKKworCQl3aGlsZSAoc2NvbHNfdGFibGVfbmV4dF9jb2x1bW4oY3RsLT50YWIsIGl0ciwgJmNsKSA9PSAwKSB7CisJCQlzdHJ1Y3QgbGlic2NvbHNfY2VsbCAqY2UgPSBzY29sc19jb2x1bW5fZ2V0X2hlYWRlcihjbCk7CisKKwkJCWlmIChjZSA9PSBOVUxMIHx8ICBzY29sc19jZWxsX2dldF9kYXRhKGNlKSA9PSBOVUxMKQorCQkJCWNvbHVtbl9zZXRfZmxhZyhjbCwgZmxhZyk7CisJCX0KKwkJc2NvbHNfZnJlZV9pdGVyKGl0cik7CisJfQorfQorCitzdGF0aWMgdm9pZCByZW9yZGVyX3RhYmxlKHN0cnVjdCBjb2x1bW5fY29udHJvbCAqY3RsKQoreworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKip3YW50ZWQsICpsYXN0ID0gTlVMTDsKKwlzaXplX3QgaSwgY291bnQgPSAwOworCXNpemVfdCBuY29scyA9IHNjb2xzX3RhYmxlX2dldF9uY29scyhjdGwtPnRhYik7CisJY2hhciAqKm9yZGVyID0gc3BsaXRfb3JfZXJyb3IoY3RsLT50YWJfb3JkZXIsIF8oImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW9yZGVyIGxpc3QiKSk7CisJY2hhciAqKm9uZTsKKworCXdhbnRlZCA9IHhjYWxsb2MobmNvbHMsIHNpemVvZihzdHJ1Y3QgbGlic2NvbHNfY29sdW1uICopKTsKKworCVNUUlZfRk9SRUFDSChvbmUsIG9yZGVyKSB7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsID0gc3RyaW5nX3RvX2NvbHVtbihjdGwsICpvbmUpOworCQlpZiAoY2wpCisJCQl3YW50ZWRbY291bnQrK10gPSBjbDsKKwl9CisKKwlmb3IgKGkgPSAwOyBpIDwgY291bnQ7IGkrKykgeworCQlzY29sc190YWJsZV9tb3ZlX2NvbHVtbihjdGwtPnRhYiwgbGFzdCwgd2FudGVkW2ldKTsKKwkJbGFzdCA9IHdhbnRlZFtpXTsKKwl9CisKKwlmcmVlKHdhbnRlZCk7CisJc3Rydl9mcmVlKG9yZGVyKTsKK30KKworc3RhdGljIHZvaWQgY3JlYXRlX3RyZWUoc3RydWN0IGNvbHVtbl9jb250cm9sICpjdGwpCit7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2xfdHJlZSA9IHN0cmluZ190b19jb2x1bW4oY3RsLCBjdGwtPnRyZWUpOworCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsX3AgPSBzdHJpbmdfdG9fY29sdW1uKGN0bCwgY3RsLT50cmVlX3BhcmVudCk7CisJc3RydWN0IGxpYnNjb2xzX2NvbHVtbiAqY2xfaSA9IHN0cmluZ190b19jb2x1bW4oY3RsLCBjdGwtPnRyZWVfaWQpOworCXN0cnVjdCBsaWJzY29sc19pdGVyICppdHJfcCwgKml0cl9pOworCXN0cnVjdCBsaWJzY29sc19saW5lICpsbl9pOworCisJaWYgKCFjbF9wIHx8ICFjbF9pIHx8ICFjbF90cmVlKQorCQlyZXR1cm47CQkJLyogc2lsZW50bHkgaWdub3JlIHRoZSB0cmVlIHJlcXVlc3QgKi8KKworCWNvbHVtbl9zZXRfZmxhZyhjbF90cmVlLCBTQ09MU19GTF9UUkVFKTsKKworCWl0cl9wID0gc2NvbHNfbmV3X2l0ZXIoU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwlpdHJfaSA9IHNjb2xzX25ld19pdGVyKFNDT0xTX0lURVJfRk9SV0FSRCk7CisJaWYgKCFpdHJfcCB8fCAhaXRyX2kpCisJCWVycl9vb20oKTsKKworCS8qIHNjYW4gYWxsIGxpbmVzIGZvciBJRCAqLworCXdoaWxlIChzY29sc190YWJsZV9uZXh0X2xpbmUoY3RsLT50YWIsIGl0cl9pLCAmbG5faSkgPT0gMCkgeworCQlzdHJ1Y3QgbGlic2NvbHNfbGluZSAqbG47CisJCXN0cnVjdCBsaWJzY29sc19jZWxsICpjZSA9IHNjb2xzX2xpbmVfZ2V0X2NvbHVtbl9jZWxsKGxuX2ksIGNsX2kpOworCQljb25zdCBjaGFyICppZCA9IGNlID8gc2NvbHNfY2VsbF9nZXRfZGF0YShjZSkgOiBOVUxMOworCisJCWlmICghaWQpCisJCQljb250aW51ZTsKKworCQkvKiBzZWUgaWYgdGhlIElEIGlzIHNvbWV3aGVyZSB1c2VkIGluIHBhcmVudCBjb2x1bW4gKi8KKwkJc2NvbHNfcmVzZXRfaXRlcihpdHJfcCwgU0NPTFNfSVRFUl9GT1JXQVJEKTsKKwkJd2hpbGUgKHNjb2xzX3RhYmxlX25leHRfbGluZShjdGwtPnRhYiwgaXRyX3AsICZsbikgPT0gMCkgeworCQkJY29uc3QgY2hhciAqcGFyZW50OworCisJCQljZSA9IHNjb2xzX2xpbmVfZ2V0X2NvbHVtbl9jZWxsKGxuLCBjbF9wKTsKKwkJCXBhcmVudCA9IGNlID8gc2NvbHNfY2VsbF9nZXRfZGF0YShjZSkgOiBOVUxMOworCisJCQlpZiAoIXBhcmVudCkKKwkJCQljb250aW51ZTsKKwkJCWlmIChzdHJjbXAoaWQsIHBhcmVudCkgIT0gMCkKKwkJCQljb250aW51ZTsKKwkJCWlmIChzY29sc19saW5lX2lzX2FuY2VzdG9yKGxuLCBsbl9pKSkKKwkJCQljb250aW51ZTsKKwkJCXNjb2xzX2xpbmVfYWRkX2NoaWxkKGxuX2ksIGxuKTsKKwkJfQorCX0KKworCXNjb2xzX2ZyZWVfaXRlcihpdHJfcCk7CisJc2NvbHNfZnJlZV9pdGVyKGl0cl9pKTsKK30KKworc3RhdGljIHZvaWQgbW9kaWZ5X3RhYmxlKHN0cnVjdCBjb2x1bW5fY29udHJvbCAqY3RsKQoreworCXNjb2xzX3RhYmxlX3NldF90ZXJtd2lkdGgoY3RsLT50YWIsIGN0bC0+dGVybXdpZHRoKTsKKwlzY29sc190YWJsZV9zZXRfdGVybWZvcmNlKGN0bC0+dGFiLCBTQ09MU19URVJNRk9SQ0VfQUxXQVlTKTsKKworCWlmIChjdGwtPnRhYl9jb2xyaWdodCkKKwkJYXBwbHlfY29sdW1uZmxhZ19mcm9tX2xpc3QoY3RsLCBjdGwtPnRhYl9jb2xyaWdodCwKKwkJCQlTQ09MU19GTF9SSUdIVCwgXygiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtcmlnaHQgbGlzdCIpKTsKKworCWlmIChjdGwtPnRhYl9jb2x0cnVuYykKKwkJYXBwbHlfY29sdW1uZmxhZ19mcm9tX2xpc3QoY3RsLCBjdGwtPnRhYl9jb2x0cnVuYywKKwkJCQlTQ09MU19GTF9UUlVOQyAsIF8oImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLXRydW5jIGxpc3QiKSk7CisKKwlpZiAoY3RsLT50YWJfY29sbm9leHRyZW0pCisJCWFwcGx5X2NvbHVtbmZsYWdfZnJvbV9saXN0KGN0bCwgY3RsLT50YWJfY29sbm9leHRyZW0sCisJCQkJU0NPTFNfRkxfTk9FWFRSRU1FUyAsIF8oImZhaWxlZCB0byBwYXJzZSAtLXRhYmxlLW5vZXh0cmVtZSBsaXN0IikpOworCisJaWYgKGN0bC0+dGFiX2NvbHdyYXApCisJCWFwcGx5X2NvbHVtbmZsYWdfZnJvbV9saXN0KGN0bCwgY3RsLT50YWJfY29sd3JhcCwKKwkJCQlTQ09MU19GTF9XUkFQICwgXygiZmFpbGVkIHRvIHBhcnNlIC0tdGFibGUtd3JhcCBsaXN0IikpOworCisJaWYgKGN0bC0+dGFiX2NvbGhpZGUpCisJCWFwcGx5X2NvbHVtbmZsYWdfZnJvbV9saXN0KGN0bCwgY3RsLT50YWJfY29saGlkZSwKKwkJCQlTQ09MU19GTF9ISURERU4gLCBfKCJmYWlsZWQgdG8gcGFyc2UgLS10YWJsZS1oaWRlIGxpc3QiKSk7CisKKwlpZiAoIWN0bC0+dGFiX2NvbG5vZXh0cmVtKSB7CisJCXN0cnVjdCBsaWJzY29sc19jb2x1bW4gKmNsID0gZ2V0X2xhc3RfdmlzaWJsZV9jb2x1bW4oY3RsKTsKKwkJaWYgKGNsKQorCQkJY29sdW1uX3NldF9mbGFnKGNsLCBTQ09MU19GTF9OT0VYVFJFTUVTKTsKKwl9CisKKwlpZiAoY3RsLT50cmVlKQorCQljcmVhdGVfdHJlZShjdGwpOworCisJLyogVGhpcyBtdXN0IGJlIHRoZSBsYXN0IHN0ZXAhICovCisJaWYgKGN0bC0+dGFiX29yZGVyKQorCQlyZW9yZGVyX3RhYmxlKGN0bCk7Cit9CisKKworc3RhdGljIGludCBhZGRfbGluZV90b190YWJsZShzdHJ1Y3QgY29sdW1uX2NvbnRyb2wgKmN0bCwgd2NoYXJfdCAqd2NzKQoreworCXdjaGFyX3QgKndjZGF0YSwgKnN2ID0gTlVMTDsKKwlzaXplX3QgbiA9IDA7CisJc3RydWN0IGxpYnNjb2xzX2xpbmUgKmxuID0gTlVMTDsKKworCWlmICghY3RsLT50YWIpCisJCWluaXRfdGFibGUoY3RsKTsKKworCXdoaWxlICgod2NkYXRhID0gbG9jYWxfd2NzdG9rKHdjcywgY3RsLT5pbnB1dF9zZXBhcmF0b3IsIGN0bC0+Z3JlZWR5LCAmc3YpKSkgeworCQljaGFyICpkYXRhOworCisJCWlmIChzY29sc190YWJsZV9nZXRfbmNvbHMoY3RsLT50YWIpIDwgbiArIDEpIHsKKwkJCWlmIChzY29sc190YWJsZV9pc19qc29uKGN0bC0+dGFiKSkKKwkJCQllcnJ4KEVYSVRfRkFJTFVSRSwgXygibGluZSAlenU6IGZvciBKU09OIHRoZSBuYW1lIG9mIHRoZSAiCisJCQkJCSJjb2x1bW4gJXp1IGlzIHJlcXVpcmVkIiksCisJCQkJCXNjb2xzX3RhYmxlX2dldF9ubGluZXMoY3RsLT50YWIpICsgMSwKKwkJCQkJbiArIDEpOworCQkJc2NvbHNfdGFibGVfbmV3X2NvbHVtbihjdGwtPnRhYiwgTlVMTCwgMCwgMCk7CisJCX0KKwkJaWYgKCFsbikgeworCQkJbG4gPSBzY29sc190YWJsZV9uZXdfbGluZShjdGwtPnRhYiwgTlVMTCk7CisJCQlpZiAoIWxuKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgbGluZSIpKTsKKwkJfQorCisJCWRhdGEgPSB3Y3NfdG9fbWJzKHdjZGF0YSk7CisJCWlmICghZGF0YSkKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oImZhaWxlZCB0byBhbGxvY2F0ZSBvdXRwdXQgZGF0YSIpKTsKKwkJaWYgKHNjb2xzX2xpbmVfcmVmZXJfZGF0YShsbiwgbiwgZGF0YSkpCisJCQllcnIoRVhJVF9GQUlMVVJFLCBfKCJmYWlsZWQgdG8gYWRkIG91dHB1dCBkYXRhIikpOworCQluKys7CisJCXdjcyA9IE5VTEw7CisJfQorCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyBpbnQgcmVhZF9pbnB1dChzdHJ1Y3QgY29sdW1uX2NvbnRyb2wgKmN0bCwgRklMRSAqZnApCit7CisJY2hhciAqYnVmID0gTlVMTDsKKwlzaXplX3QgYnVmc3ogPSAwOworCXNpemVfdCBtYXhlbnRzID0gMDsKKwlpbnQgcmMgPSAwOworCisJLyogUmVhZCBpbnB1dCAqLworCWRvIHsKKwkJY2hhciAqc3RyLCAqcDsKKwkJd2NoYXJfdCAqd2NzID0gTlVMTDsKKwkJc2l6ZV90IGxlbjsKKworCQlpZiAoZ2V0bGluZSgmYnVmLCAmYnVmc3osIGZwKSA8IDApIHsKKwkJCWlmIChmZW9mKGZwKSkKKwkJCQlicmVhazsKKwkJCWVycihFWElUX0ZBSUxVUkUsIF8oInJlYWQgZmFpbGVkIikpOworCQl9CisJCXN0ciA9IChjaGFyICopIHNraXBfc3BhY2UoYnVmKTsKKwkJaWYgKHN0cikgeworCQkJcCA9IHN0cmNocihzdHIsICdcbicpOworCQkJaWYgKHApCisJCQkJKnAgPSAnXDAnOworCQl9CisJCWlmICghc3RyIHx8ICEqc3RyKQorCQkJY29udGludWU7CisKKwkJd2NzID0gbWJzX3RvX3djcyhidWYpOworCQlpZiAoIXdjcykgeworCQkJLyoKKwkJCSAqIENvbnZlcnQgYnJva2VuIHNlcXVlbmNlcyB0byBceDxoZXg+IGFuZCBjb250aW51ZS4KKwkJCSAqLworCQkJc2l6ZV90IHRtcHN6ID0gMDsKKwkJCWNoYXIgKnRtcCA9IG1ic19pbnZhbGlkX2VuY29kZShidWYsICZ0bXBzeik7CisKKwkJCWlmICghdG1wKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oInJlYWQgZmFpbGVkIikpOworCQkJd2NzID0gbWJzX3RvX3djcyh0bXApOworCQkJZnJlZSh0bXApOworCQl9CisKKwkJc3dpdGNoIChjdGwtPm1vZGUpIHsKKwkJY2FzZSBDT0xVTU5fTU9ERV9UQUJMRToKKwkJCXJjID0gYWRkX2xpbmVfdG9fdGFibGUoY3RsLCB3Y3MpOworCQkJZnJlZSh3Y3MpOworCQkJYnJlYWs7CisKKwkJY2FzZSBDT0xVTU5fTU9ERV9GSUxMQ09MUzoKKwkJY2FzZSBDT0xVTU5fTU9ERV9GSUxMUk9XUzoKKwkJCWlmIChjdGwtPm5lbnRzIDw9IG1heGVudHMpIHsKKwkJCQltYXhlbnRzICs9IDEwMDA7CisJCQkJY3RsLT5lbnRzID0geHJlYWxsb2MoY3RsLT5lbnRzLAorCQkJCQkJbWF4ZW50cyAqIHNpemVvZih3Y2hhcl90ICopKTsKKwkJCX0KKwkJCWN0bC0+ZW50c1tjdGwtPm5lbnRzXSA9IHdjczsKKwkJCWxlbiA9IHdpZHRoKGN0bC0+ZW50c1tjdGwtPm5lbnRzXSk7CisJCQlpZiAoY3RsLT5tYXhsZW5ndGggPCBsZW4pCisJCQkJY3RsLT5tYXhsZW5ndGggPSBsZW47CisJCQljdGwtPm5lbnRzKys7CisJCQlicmVhazsKKwkJfQorCX0gd2hpbGUgKHJjID09IDApOworCisJcmV0dXJuIHJjOworfQorCisKK3N0YXRpYyB2b2lkIGNvbHVtbmF0ZV9maWxscm93cyhzdHJ1Y3QgY29sdW1uX2NvbnRyb2wgKmN0bCkKK3sKKwlzaXplX3QgY2hjbnQsIGNvbCwgY250LCBlbmRjb2wsIG51bWNvbHM7CisJd2NoYXJfdCAqKmxwOworCisJY3RsLT5tYXhsZW5ndGggPSAoY3RsLT5tYXhsZW5ndGggKyBUQUJDSEFSX0NFTExTKSAmIH4oVEFCQ0hBUl9DRUxMUyAtIDEpOworCW51bWNvbHMgPSBjdGwtPnRlcm13aWR0aCAvIGN0bC0+bWF4bGVuZ3RoOworCWVuZGNvbCA9IGN0bC0+bWF4bGVuZ3RoOworCWZvciAoY2hjbnQgPSBjb2wgPSAwLCBscCA9IGN0bC0+ZW50czsgLyogbm90aGluZyAqLzsgKytscCkgeworCQlmcHV0d3MoKmxwLCBzdGRvdXQpOworCQljaGNudCArPSB3aWR0aCgqbHApOworCQlpZiAoIS0tY3RsLT5uZW50cykKKwkJCWJyZWFrOworCQlpZiAoKytjb2wgPT0gbnVtY29scykgeworCQkJY2hjbnQgPSBjb2wgPSAwOworCQkJZW5kY29sID0gY3RsLT5tYXhsZW5ndGg7CisJCQlwdXR3Y2hhcignXG4nKTsKKwkJfSBlbHNlIHsKKwkJCXdoaWxlICgoY250ID0gKChjaGNudCArIFRBQkNIQVJfQ0VMTFMpICYgfihUQUJDSEFSX0NFTExTIC0gMSkpKSA8PSBlbmRjb2wpIHsKKwkJCQlwdXR3Y2hhcignXHQnKTsKKwkJCQljaGNudCA9IGNudDsKKwkJCX0KKwkJCWVuZGNvbCArPSBjdGwtPm1heGxlbmd0aDsKKwkJfQorCX0KKwlpZiAoY2hjbnQpCisJCXB1dHdjaGFyKCdcbicpOworfQorCitzdGF0aWMgdm9pZCBjb2x1bW5hdGVfZmlsbGNvbHMoc3RydWN0IGNvbHVtbl9jb250cm9sICpjdGwpCit7CisJc2l6ZV90IGJhc2UsIGNoY250LCBjbnQsIGNvbCwgZW5kY29sLCBudW1jb2xzLCBudW1yb3dzLCByb3c7CisKKwljdGwtPm1heGxlbmd0aCA9IChjdGwtPm1heGxlbmd0aCArIFRBQkNIQVJfQ0VMTFMpICYgfihUQUJDSEFSX0NFTExTIC0gMSk7CisJbnVtY29scyA9IGN0bC0+dGVybXdpZHRoIC8gY3RsLT5tYXhsZW5ndGg7CisJaWYgKCFudW1jb2xzKQorCQludW1jb2xzID0gMTsKKwludW1yb3dzID0gY3RsLT5uZW50cyAvIG51bWNvbHM7CisJaWYgKGN0bC0+bmVudHMgJSBudW1jb2xzKQorCQkrK251bXJvd3M7CisKKwlmb3IgKHJvdyA9IDA7IHJvdyA8IG51bXJvd3M7ICsrcm93KSB7CisJCWVuZGNvbCA9IGN0bC0+bWF4bGVuZ3RoOworCQlmb3IgKGJhc2UgPSByb3csIGNoY250ID0gY29sID0gMDsgY29sIDwgbnVtY29sczsgKytjb2wpIHsKKwkJCWZwdXR3cyhjdGwtPmVudHNbYmFzZV0sIHN0ZG91dCk7CisJCQljaGNudCArPSB3aWR0aChjdGwtPmVudHNbYmFzZV0pOworCQkJaWYgKChiYXNlICs9IG51bXJvd3MpID49IGN0bC0+bmVudHMpCisJCQkJYnJlYWs7CisJCQl3aGlsZSAoKGNudCA9ICgoY2hjbnQgKyBUQUJDSEFSX0NFTExTKSAmIH4oVEFCQ0hBUl9DRUxMUyAtIDEpKSkgPD0gZW5kY29sKSB7CisJCQkJcHV0d2NoYXIoJ1x0Jyk7CisJCQkJY2hjbnQgPSBjbnQ7CisJCQl9CisJCQllbmRjb2wgKz0gY3RsLT5tYXhsZW5ndGg7CisJCX0KKwkJcHV0d2NoYXIoJ1xuJyk7CisJfQorfQorCitzdGF0aWMgdm9pZCBzaW1wbGVfcHJpbnQoc3RydWN0IGNvbHVtbl9jb250cm9sICpjdGwpCit7CisJaW50IGNudDsKKwl3Y2hhcl90ICoqbHA7CisKKwlmb3IgKGNudCA9IGN0bC0+bmVudHMsIGxwID0gY3RsLT5lbnRzOyBjbnQtLTsgKytscCkgeworCQlmcHV0d3MoKmxwLCBzdGRvdXQpOworCQlwdXR3Y2hhcignXG4nKTsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHVzYWdlKHZvaWQpCit7CisJRklMRSAqb3V0ID0gc3Rkb3V0OworCisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFs8ZmlsZT4uLi5dXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkNvbHVtbmF0ZSBsaXN0cy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC0tdGFibGUgICAgICAgICAgICAgICAgICAgICAgY3JlYXRlIGEgdGFibGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbiwgLS10YWJsZS1uYW1lIDxuYW1lPiAgICAgICAgICB0YWJsZSBuYW1lIGZvciBKU09OIG91dHB1dFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1PLCAtLXRhYmxlLW9yZGVyIDxjb2x1bW5zPiAgICAgIHNwZWNpZnkgb3JkZXIgb2Ygb3V0cHV0IGNvbHVtbnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTiwgLS10YWJsZS1jb2x1bW5zIDxuYW1lcz4gICAgICBjb21tYSBzZXBhcmF0ZWQgY29sdW1ucyBuYW1lc1xuIiksIG91dCk7CisJZnB1dHMoXygiIC1FLCAtLXRhYmxlLW5vZXh0cmVtZSA8Y29sdW1ucz4gIGRvbid0IGNvdW50IGxvbmcgdGV4dCBmcm9tIHRoZSBjb2x1bW5zIHRvIGNvbHVtbiB3aWR0aFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1kLCAtLXRhYmxlLW5vaGVhZGluZ3MgICAgICAgICAgIGRvbid0IHByaW50IGhlYWRlclxuIiksIG91dCk7CisJZnB1dHMoXygiIC1lLCAtLXRhYmxlLWhlYWRlci1yZXBlYXQgICAgICAgIHJlcGVhdCBoZWFkZXIgZm9yIGVhY2ggcGFnZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1ILCAtLXRhYmxlLWhpZGUgPGNvbHVtbnM+ICAgICAgIGRvbid0IHByaW50IHRoZSBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVIsIC0tdGFibGUtcmlnaHQgPGNvbHVtbnM+ICAgICAgcmlnaHQgYWxpZ24gdGV4dCBpbiB0aGVzZSBjb2x1bW5zXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLVQsIC0tdGFibGUtdHJ1bmNhdGUgPGNvbHVtbnM+ICAgdHJ1bmNhdGUgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1XLCAtLXRhYmxlLXdyYXAgPGNvbHVtbnM+ICAgICAgIHdyYXAgdGV4dCBpbiB0aGUgY29sdW1ucyB3aGVuIG5lY2Vzc2FyeVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1KLCAtLWpzb24gICAgICAgICAgICAgICAgICAgICAgIHVzZSBKU09OIG91dHB1dCBmb3JtYXQgZm9yIHRhYmxlXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCIgLXIsIC0tdHJlZSA8Y29sdW1uPiAgICAgICAgICAgICAgY29sdW1uIHRvIHVzZSB0cmVlLWxpa2Ugb3V0cHV0IGZvciB0aGUgdGFibGVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtaSwgLS10cmVlLWlkIDxjb2x1bW4+ICAgICAgICAgICBsaW5lIElEIHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXAsIC0tdHJlZS1wYXJlbnQgPGNvbHVtbj4gICAgICAgcGFyZW50IHRvIHNwZWNpZnkgY2hpbGQtcGFyZW50IHJlbGF0aW9uXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tb3V0cHV0LXdpZHRoIDx3aWR0aD4gICAgICAgd2lkdGggb2Ygb3V0cHV0IGluIG51bWJlciBvZiBjaGFyYWN0ZXJzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW8sIC0tb3V0cHV0LXNlcGFyYXRvciA8c3RyaW5nPiAgY29sdW1ucyBzZXBhcmF0b3IgZm9yIHRhYmxlIG91dHB1dCAoZGVmYXVsdCBpcyB0d28gc3BhY2VzKVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zLCAtLXNlcGFyYXRvciA8c3RyaW5nPiAgICAgICAgIHBvc3NpYmxlIHRhYmxlIGRlbGltaXRlcnNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAteCwgLS1maWxscm93cyAgICAgICAgICAgICAgICAgICBmaWxsIHJvd3MgYmVmb3JlIGNvbHVtbnNcbiIpLCBvdXQpOworCisKKwlmcHV0cyhVU0FHRV9TRVBBUkFUT1IsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygzNCkpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgiY29sdW1uKDEpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJc3RydWN0IGNvbHVtbl9jb250cm9sIGN0bCA9IHsKKwkJLm1vZGUgPSBDT0xVTU5fTU9ERV9GSUxMQ09MUywKKwkJLmdyZWVkeSA9IDEsCisJCS50ZXJtd2lkdGggPSAoc2l6ZV90KSAtMQorCX07CisKKwlpbnQgYzsKKwl1bnNpZ25lZCBpbnQgZXZhbCA9IDA7CQkvKiBleGl0IHZhbHVlICovCisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0KKwl7CisJCXsgImNvbHVtbnMiLCAgICAgICAgICAgICByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2MnIH0sIC8qIGRlcHJlY2F0ZWQgKi8KKwkJeyAiZmlsbHJvd3MiLCAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAneCcgfSwKKwkJeyAiaGVscCIsICAgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnaCcgfSwKKwkJeyAianNvbiIsICAgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnSicgfSwKKwkJeyAib3V0cHV0LXNlcGFyYXRvciIsICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbycgfSwKKwkJeyAib3V0cHV0LXdpZHRoIiwgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnYycgfSwKKwkJeyAic2VwYXJhdG9yIiwgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncycgfSwKKwkJeyAidGFibGUiLCAgICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAndCcgfSwKKwkJeyAidGFibGUtY29sdW1ucyIsICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTicgfSwKKwkJeyAidGFibGUtaGlkZSIsICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnSCcgfSwKKwkJeyAidGFibGUtbmFtZSIsICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbicgfSwKKwkJeyAidGFibGUtbm9leHRyZW1lIiwgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnRScgfSwKKwkJeyAidGFibGUtbm9oZWFkaW5ncyIsICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZCcgfSwKKwkJeyAidGFibGUtb3JkZXIiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnTycgfSwKKwkJeyAidGFibGUtcmlnaHQiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnUicgfSwKKwkJeyAidGFibGUtdHJ1bmNhdGUiLCAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVCcgfSwKKwkJeyAidGFibGUtd3JhcCIsICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnVycgfSwKKwkJeyAidGFibGUtaGVhZGVyLXJlcGVhdCIsIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnZScgfSwKKwkJeyAidHJlZSIsICAgICAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncicgfSwKKwkJeyAidHJlZS1pZCIsICAgICAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnaScgfSwKKwkJeyAidHJlZS1wYXJlbnQiLCAgICAgICAgIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAncCcgfSwKKwkJeyAidmVyc2lvbiIsICAgICAgICAgICAgIG5vX2FyZ3VtZW50LCAgICAgICBOVUxMLCAnVicgfSwKKwkJeyBOVUxMLAkwLCBOVUxMLCAwIH0sCisJfTsKKwlzdGF0aWMgY29uc3QgdWxfZXhjbF90IGV4Y2xbXSA9IHsgICAgICAgLyogcm93cyBhbmQgY29scyBpbiBBU0NJSSBvcmRlciAqLworCQl7ICdKJywneCcgfSwKKwkJeyAndCcsJ3gnIH0sCisJCXsgMCB9CisJfTsKKwlpbnQgZXhjbF9zdFtBUlJBWV9TSVpFKGV4Y2wpXSA9IFVMX0VYQ0xfU1RBVFVTX0lOSVQ7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJY3RsLm91dHB1dF9zZXBhcmF0b3IgPSAiICAiOworCWN0bC5pbnB1dF9zZXBhcmF0b3IgPSBtYnNfdG9fd2NzKCJcdCAiKTsKKworCXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJjOmRFOmVIOmhpOkpOOm46TzpvOnA6UjpyOnM6VDp0Vlc6eCIsIGxvbmdvcHRzLCBOVUxMKSkgIT0gLTEpIHsKKworCQllcnJfZXhjbHVzaXZlX29wdGlvbnMoYywgbG9uZ29wdHMsIGV4Y2wsIGV4Y2xfc3QpOworCisJCXN3aXRjaChjKSB7CisJCWNhc2UgJ2MnOgorCQkJY3RsLnRlcm13aWR0aCA9IHN0cnRvdTMyX29yX2VycihvcHRhcmcsIF8oImludmFsaWQgY29sdW1ucyBhcmd1bWVudCIpKTsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWN0bC50YWJfbm9oZWFkaW5ncyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnRSc6CisJCQljdGwudGFiX2NvbG5vZXh0cmVtID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJY3RsLmhlYWRlcl9yZXBlYXQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ0gnOgorCQkJY3RsLnRhYl9jb2xoaWRlID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJCWJyZWFrOworCQljYXNlICdpJzoKKwkJCWN0bC50cmVlX2lkID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ0onOgorCQkJY3RsLmpzb24gPSAxOworCQkJY3RsLm1vZGUgPSBDT0xVTU5fTU9ERV9UQUJMRTsKKwkJCWJyZWFrOworCQljYXNlICdOJzoKKwkJCWN0bC50YWJfY29sbmFtZXMgPSBzcGxpdF9vcl9lcnJvcihvcHRhcmcsIF8oImZhaWxlZCB0byBwYXJzZSBjb2x1bW4gbmFtZXMiKSk7CisJCQlicmVhazsKKwkJY2FzZSAnbic6CisJCQljdGwudGFiX25hbWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnTyc6CisJCQljdGwudGFiX29yZGVyID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJY3RsLm91dHB1dF9zZXBhcmF0b3IgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAncCc6CisJCQljdGwudHJlZV9wYXJlbnQgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAnUic6CisJCQljdGwudGFiX2NvbHJpZ2h0ID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3InOgorCQkJY3RsLnRyZWUgPSBvcHRhcmc7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQlmcmVlKGN0bC5pbnB1dF9zZXBhcmF0b3IpOworCQkJY3RsLmlucHV0X3NlcGFyYXRvciA9IG1ic190b193Y3Mob3B0YXJnKTsKKwkJCWN0bC5ncmVlZHkgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ1QnOgorCQkJY3RsLnRhYl9jb2x0cnVuYyA9IG9wdGFyZzsKKwkJCWJyZWFrOworCQljYXNlICd0JzoKKwkJCWN0bC5tb2RlID0gQ09MVU1OX01PREVfVEFCTEU7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ1cnOgorCQkJY3RsLnRhYl9jb2x3cmFwID0gb3B0YXJnOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJY3RsLm1vZGUgPSBDT0xVTU5fTU9ERV9GSUxMUk9XUzsKKwkJCWJyZWFrOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisJfQorCWFyZ2MgLT0gb3B0aW5kOworCWFyZ3YgKz0gb3B0aW5kOworCisJaWYgKGN0bC50ZXJtd2lkdGggPT0gKHNpemVfdCkgLTEpCisJCWN0bC50ZXJtd2lkdGggPSBnZXRfdGVybWluYWxfd2lkdGgoODApOworCisJaWYgKGN0bC50cmVlKSB7CisJCWN0bC5tb2RlID0gQ09MVU1OX01PREVfVEFCTEU7CisJCWlmICghY3RsLnRyZWVfcGFyZW50IHx8ICFjdGwudHJlZV9pZCkKKwkJCWVycngoRVhJVF9GQUlMVVJFLCBfKCJvcHRpb25zIC0tdHJlZS1pZCBhbmQgLS10cmVlLXBhcmVudCBhcmUgIgorCQkJCQkgICAgICJyZXF1aXJlZCBmb3IgdHJlZSBmb3JtYXR0aW5nIikpOworCX0KKworCWlmIChjdGwubW9kZSAhPSBDT0xVTU5fTU9ERV9UQUJMRQorCSAgICAmJiAoY3RsLnRhYl9vcmRlciB8fCBjdGwudGFiX25hbWUgfHwgY3RsLnRhYl9jb2x3cmFwIHx8CisJCWN0bC50YWJfY29saGlkZSB8fCBjdGwudGFiX2NvbHRydW5jIHx8IGN0bC50YWJfY29sbm9leHRyZW0gfHwKKwkJY3RsLnRhYl9jb2xyaWdodCB8fCBjdGwudGFiX2NvbG5hbWVzKSkKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm9wdGlvbiAtLXRhYmxlIHJlcXVpcmVkIGZvciBhbGwgLS10YWJsZS0qIikpOworCisJaWYgKGN0bC50YWJfY29sbmFtZXMgPT0gTlVMTCAmJiBjdGwuanNvbikKKwkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIm9wdGlvbiAtLXRhYmxlLWNvbHVtbnMgcmVxdWlyZWQgZm9yIC0tanNvbiIpKTsKKworCWlmICghKmFyZ3YpCisJCWV2YWwgKz0gcmVhZF9pbnB1dCgmY3RsLCBzdGRpbik7CisJZWxzZQorCQlmb3IgKDsgKmFyZ3Y7ICsrYXJndikgeworCQkJRklMRSAqZnA7CisKKwkJCWlmICgoZnAgPSBmb3BlbigqYXJndiwgInIiKSkgIT0gTlVMTCkgeworCQkJCWV2YWwgKz0gcmVhZF9pbnB1dCgmY3RsLCBmcCk7CisJCQkJZmNsb3NlKGZwKTsKKwkJCX0gZWxzZSB7CisJCQkJd2FybigiJXMiLCAqYXJndik7CisJCQkJZXZhbCArPSBFWElUX0ZBSUxVUkU7CisJCQl9CisJCX0KKworCWlmIChjdGwubW9kZSAhPSBDT0xVTU5fTU9ERV9UQUJMRSkgeworCQlpZiAoIWN0bC5uZW50cykKKwkJCWV4aXQoZXZhbCk7CisJCWlmIChjdGwubWF4bGVuZ3RoID49IGN0bC50ZXJtd2lkdGgpCisJCQljdGwubW9kZSA9IENPTFVNTl9NT0RFX1NJTVBMRTsKKwl9CisKKwlzd2l0Y2ggKGN0bC5tb2RlKSB7CisJY2FzZSBDT0xVTU5fTU9ERV9UQUJMRToKKwkJaWYgKGN0bC50YWIgJiYgc2NvbHNfdGFibGVfZ2V0X25saW5lcyhjdGwudGFiKSkgeworCQkJbW9kaWZ5X3RhYmxlKCZjdGwpOworCQkJZXZhbCA9IHNjb2xzX3ByaW50X3RhYmxlKGN0bC50YWIpOworCQl9CisJCWJyZWFrOworCWNhc2UgQ09MVU1OX01PREVfRklMTENPTFM6CisJCWNvbHVtbmF0ZV9maWxsY29scygmY3RsKTsKKwkJYnJlYWs7CisJY2FzZSBDT0xVTU5fTU9ERV9GSUxMUk9XUzoKKwkJY29sdW1uYXRlX2ZpbGxyb3dzKCZjdGwpOworCQlicmVhazsKKwljYXNlIENPTFVNTl9NT0RFX1NJTVBMRToKKwkJc2ltcGxlX3ByaW50KCZjdGwpOworCQlicmVhazsKKwl9CisKKwlyZXR1cm4gZXZhbCA9PSAwID8gRVhJVF9TVUNDRVNTIDogRVhJVF9GQUlMVVJFOworfQpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9oZXhkdW1wLWNvbnYuYyBiL3RleHQtdXRpbHMvaGV4ZHVtcC1jb252LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMGM0ZjE1ZgotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvaGV4ZHVtcC1jb252LmMKQEAgLTAsMCArMSwxMTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODkgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgImhleGR1bXAuaCIKKyNpbmNsdWRlICJ4YWxsb2MuaCIKKwordm9pZAorY29udl9jKHN0cnVjdCBoZXhkdW1wX3ByICpwciwgdV9jaGFyICpwKQoreworCWNoYXIgKmJ1ZiA9IE5VTEw7CisJY2hhciBjb25zdCAqc3RyOworCisJc3dpdGNoKCpwKSB7CisJY2FzZSAnXDAnOgorCQlzdHIgPSAiXFwwIjsKKwkJZ290byBzdHJwcjsKKwkvKiBjYXNlICdcYSc6ICovCisJY2FzZSAnXDAwNyc6CisJCXN0ciA9ICJcXGEiOworCQlnb3RvIHN0cnByOworCWNhc2UgJ1xiJzoKKwkJc3RyID0gIlxcYiI7CisJCWdvdG8gc3RycHI7CisJY2FzZSAnXGYnOgorCQlzdHIgPSAiXFxmIjsKKwkJZ290byBzdHJwcjsKKwljYXNlICdcbic6CisJCXN0ciA9ICJcXG4iOworCQlnb3RvIHN0cnByOworCWNhc2UgJ1xyJzoKKwkJc3RyID0gIlxcciI7CisJCWdvdG8gc3RycHI7CisJY2FzZSAnXHQnOgorCQlzdHIgPSAiXFx0IjsKKwkJZ290byBzdHJwcjsKKwljYXNlICdcdic6CisJCXN0ciA9ICJcXHYiOworCQlnb3RvIHN0cnByOworCWRlZmF1bHQ6CisJCWJyZWFrOworCX0KKwlpZiAoaXNwcmludCgqcCkpIHsKKwkJKnByLT5jY2hhciA9ICdjJzsKKwkJcHJpbnRmKHByLT5mbXQsICpwKTsKKwl9IGVsc2UgeworCQl4YXNwcmludGYoJmJ1ZiwgIiUwM28iLCAqcCk7CisJCXN0ciA9IGJ1ZjsKK3N0cnByOgkJKnByLT5jY2hhciA9ICdzJzsKKwkJcHJpbnRmKHByLT5mbXQsIHN0cik7CisJfQorCWZyZWUoYnVmKTsKK30KKwordm9pZAorY29udl91KHN0cnVjdCBoZXhkdW1wX3ByICpwciwgdV9jaGFyICpwKQoreworCXN0YXRpYyBjb25zdCBjaGFyICpsaXN0W10gPSB7CisJCSJudWwiLCAic29oIiwgInN0eCIsICJldHgiLCAiZW90IiwgImVucSIsICJhY2siLCAiYmVsIiwKKwkJICJicyIsICAiaHQiLCAgImxmIiwgICJ2dCIsICAiZmYiLCAgImNyIiwgICJzbyIsICAic2kiLAorCQkiZGxlIiwgImRjbCIsICJkYzIiLCAiZGMzIiwgImRjNCIsICJuYWsiLCAic3luIiwgImV0YiIsCisJCSJjYW4iLCAgImVtIiwgInN1YiIsICJlc2MiLCAgImZzIiwgICJncyIsICAicnMiLCAgInVzIiwKKwl9OworCisJCQkJCQkvKiBvZCB1c2VkIG5sLCBub3QgbGYgKi8KKwlpZiAoKnAgPD0gMHgxZikgeworCQkqcHItPmNjaGFyID0gJ3MnOworCQlwcmludGYocHItPmZtdCwgbGlzdFsqcF0pOworCX0gZWxzZSBpZiAoKnAgPT0gMHg3ZikgeworCQkqcHItPmNjaGFyID0gJ3MnOworCQlwcmludGYocHItPmZtdCwgImRlbCIpOworCX0gZWxzZSBpZiAoaXNwcmludCgqcCkpIHsKKwkJKnByLT5jY2hhciA9ICdjJzsKKwkJcHJpbnRmKHByLT5mbXQsICpwKTsKKwl9IGVsc2UgeworCQkqcHItPmNjaGFyID0gJ3gnOworCQlwcmludGYocHItPmZtdCwgKnApOworCX0KK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvaGV4ZHVtcC1kaXNwbGF5LmMgYi90ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNlMDE3NjMKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2hleGR1bXAtZGlzcGxheS5jCkBAIC0wLDAgKzEsNDU1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8dW5pc3RkLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxjdHlwZS5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSAiaGV4ZHVtcC5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgImMuaCIKKyNpbmNsdWRlICJubHMuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKworc3RhdGljIHZvaWQgZG9za2lwKGNvbnN0IGNoYXIgKiwgaW50LCBzdHJ1Y3QgaGV4ZHVtcCAqKTsKK3N0YXRpYyB1X2NoYXIgKmdldChzdHJ1Y3QgaGV4ZHVtcCAqKTsKKworZW51bSBfdmZsYWcgdmZsYWcgPSBGSVJTVDsKKworc3RhdGljIG9mZl90IGFkZHJlc3M7CQkJLyogYWRkcmVzcy9vZmZzZXQgaW4gc3RyZWFtICovCitzdGF0aWMgb2ZmX3QgZWFkZHJlc3M7CQkJLyogZW5kIGFkZHJlc3MgKi8KKworc3RhdGljIGNvbnN0IGNoYXIgKmNvbG9yX2NvbmQoc3RydWN0IGhleGR1bXBfcHIgKnByLCB1bnNpZ25lZCBjaGFyICpicCwgaW50IGJjbnQpCit7CisJcmVnaXN0ZXIgc3RydWN0IGxpc3RfaGVhZCAqcDsKKwlyZWdpc3RlciBzdHJ1Y3QgaGV4ZHVtcF9jbHIgKmNscjsKKwlvZmZfdCBvZmZ0OworCWludCBtYXRjaDsKKworCWxpc3RfZm9yX2VhY2gocCwgcHItPmNvbG9ybGlzdCkgeworCQljbHIgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBoZXhkdW1wX2NsciwgY29sb3JsaXN0KTsKKwkJb2ZmdCA9IGNsci0+b2ZmdDsKKwkJbWF0Y2ggPSAwOworCisJCS8qIG5vIG9mZnNldCBvciBvZmZzZXQgb3V0c2lkZSB0aGlzIHByaW50IHVuaXQgKi8KKwkJaWYgKG9mZnQgPCAwKQorCQkJb2ZmdCA9IGFkZHJlc3M7CisJCWlmIChvZmZ0IDwgYWRkcmVzcyB8fCBvZmZ0ICsgY2xyLT5yYW5nZSA+IGFkZHJlc3MgKyBiY250KQorCQkJY29udGludWU7CisKKwkJLyogbWF0Y2ggYSBzdHJpbmcgKi8KKwkJaWYgKGNsci0+c3RyKSB7CisJCQlpZiAocHItPmZsYWdzID09IEZfQUREUkVTUykgeworCQkJCS8qIFRPRE8gKi8KKwkJCX0KKwkJCWVsc2UgaWYgKCFzdHJuY21wKGNsci0+c3RyLCAoY2hhciAqKWJwICsgb2ZmdAorCQkJCS0gYWRkcmVzcywgY2xyLT5yYW5nZSkpCisJCQkJbWF0Y2ggPSAxOworCQkvKiBtYXRjaCBhIHZhbHVlICovCisJCX0gZWxzZSBpZiAoY2xyLT52YWwgIT0gLTEpIHsKKwkJCWludCB2YWwgPSAwOworCQkJLyogYWRkcmVzc2VzIGFyZSBub3QgcGFydCBvZiB0aGUgaW5wdXQsIHNvIHdlIGNhbid0CisJCQkgKiBjb21wYXJlIHdpdGggdGhlIGNvbnRlbnRzIG9mIGJwICovCisJCQlpZiAocHItPmZsYWdzID09IEZfQUREUkVTUykgeworCQkJCWlmIChjbHItPnZhbCA9PSBhZGRyZXNzKQorCQkJCQltYXRjaCA9IDE7CisJCQl9IGVsc2UgeworCQkJCW1lbWNweSgmdmFsLCBicCArIG9mZnQgLSBhZGRyZXNzLCBjbHItPnJhbmdlKTsKKwkJCQlpZiAodmFsID09IGNsci0+dmFsKQorCQkJCQltYXRjaCA9IDE7CisJCQl9CisJCS8qIG5vIGNvbmRpdGlvbnMsIG9ubHkgYSBjb2xvciB3YXMgc3BlY2lmaWVkICovCisJCX0gZWxzZQorCQkJcmV0dXJuIGNsci0+Zm10OworCisJCS8qIHJldHVybiB0aGUgZm9ybWF0IHN0cmluZyBvciBjaGVjayBmb3IgYW5vdGhlciAqLworCQlpZiAobWF0Y2ggXiBjbHItPmludmVydCkKKwkJCXJldHVybiBjbHItPmZtdDsKKwkJY29udGludWU7CisJfQorCisJLyogbm8gbWF0Y2ggKi8KKwlyZXR1cm4gTlVMTDsKK30KKworc3RhdGljIGlubGluZSB2b2lkCitwcmludChzdHJ1Y3QgaGV4ZHVtcF9wciAqcHIsIHVuc2lnbmVkIGNoYXIgKmJwKSB7CisKKwljb25zdCBjaGFyICpjb2xvciA9IE5VTEw7CisKKwlpZiAocHItPmNvbG9ybGlzdCAmJiAoY29sb3IgPSBjb2xvcl9jb25kKHByLCBicCwgcHItPmJjbnQpKSkKKwkJY29sb3JfZW5hYmxlKGNvbG9yKTsKKworCXN3aXRjaChwci0+ZmxhZ3MpIHsKKwljYXNlIEZfQUREUkVTUzoKKwkJcHJpbnRmKHByLT5mbXQsIGFkZHJlc3MpOworCQlicmVhazsKKwljYXNlIEZfQlBBRDoKKwkJcHJpbnRmKHByLT5mbXQsICIiKTsKKwkJYnJlYWs7CisJY2FzZSBGX0M6CisJCWNvbnZfYyhwciwgYnApOworCQlicmVhazsKKwljYXNlIEZfQ0hBUjoKKwkJcHJpbnRmKHByLT5mbXQsICpicCk7CisJCWJyZWFrOworCWNhc2UgRl9EQkw6CisJICAgIHsKKwkJZG91YmxlIGR2YWw7CisJCWZsb2F0IGZ2YWw7CisJCXN3aXRjaChwci0+YmNudCkgeworCQljYXNlIDQ6CisJCQltZW1tb3ZlKCZmdmFsLCBicCwgc2l6ZW9mKGZ2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCBmdmFsKTsKKwkJCWJyZWFrOworCQljYXNlIDg6CisJCQltZW1tb3ZlKCZkdmFsLCBicCwgc2l6ZW9mKGR2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCBkdmFsKTsKKwkJCWJyZWFrOworCQl9CisJCWJyZWFrOworCSAgICB9CisJY2FzZSBGX0lOVDoKKwkgICAgeworCQlzaG9ydCBzdmFsOwkvKiBpbnQxNl90ICovCisJCWludCBpdmFsOwkvKiBpbnQzMl90ICovCisJCWxvbmcgbG9uZyBMdmFsOwkvKiBpbnQ2NF90LCBpbnQ2NF90ICovCisKKwkJc3dpdGNoKHByLT5iY250KSB7CisJCWNhc2UgMToKKwkJCXByaW50Zihwci0+Zm10LCAodW5zaWduZWQgbG9uZyBsb25nKSAqYnApOworCQkJYnJlYWs7CisJCWNhc2UgMjoKKwkJCW1lbW1vdmUoJnN2YWwsIGJwLCBzaXplb2Yoc3ZhbCkpOworCQkJcHJpbnRmKHByLT5mbXQsICh1bnNpZ25lZCBsb25nIGxvbmcpIHN2YWwpOworCQkJYnJlYWs7CisJCWNhc2UgNDoKKwkJCW1lbW1vdmUoJml2YWwsIGJwLCBzaXplb2YoaXZhbCkpOworCQkJcHJpbnRmKHByLT5mbXQsICh1bnNpZ25lZCBsb25nIGxvbmcpIGl2YWwpOworCQkJYnJlYWs7CisJCWNhc2UgODoKKwkJCW1lbW1vdmUoJkx2YWwsIGJwLCBzaXplb2YoTHZhbCkpOworCQkJcHJpbnRmKHByLT5mbXQsIEx2YWwpOworCQkJYnJlYWs7CisJCX0KKwkJYnJlYWs7CisJICAgIH0KKwljYXNlIEZfUDoKKwkJcHJpbnRmKHByLT5mbXQsIGlzcHJpbnQoKmJwKSA/ICpicCA6ICcuJyk7CisJCWJyZWFrOworCWNhc2UgRl9TVFI6CisJCXByaW50Zihwci0+Zm10LCAoY2hhciAqKWJwKTsKKwkJYnJlYWs7CisJY2FzZSBGX1RFWFQ6CisJCXByaW50ZigiJXMiLCBwci0+Zm10KTsKKwkJYnJlYWs7CisJY2FzZSBGX1U6CisJCWNvbnZfdShwciwgYnApOworCQlicmVhazsKKwljYXNlIEZfVUlOVDoKKwkgICAgeworCQl1bnNpZ25lZCBzaG9ydCBzdmFsOwkvKiB1X2ludDE2X3QgKi8KKwkJdW5zaWduZWQgaW50IGl2YWw7CS8qIHVfaW50MzJfdCAqLworCQl1bnNpZ25lZCBsb25nIGxvbmcgTHZhbDsvKiB1X2ludDY0X3QsIHVfaW50NjRfdCAqLworCisJCXN3aXRjaChwci0+YmNudCkgeworCQljYXNlIDE6CisJCQlwcmludGYocHItPmZtdCwgKHVuc2lnbmVkIGxvbmcgbG9uZykgKmJwKTsKKwkJCWJyZWFrOworCQljYXNlIDI6CisJCQltZW1tb3ZlKCZzdmFsLCBicCwgc2l6ZW9mKHN2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCAodW5zaWduZWQgbG9uZyBsb25nKSBzdmFsKTsKKwkJCWJyZWFrOworCQljYXNlIDQ6CisJCQltZW1tb3ZlKCZpdmFsLCBicCwgc2l6ZW9mKGl2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCAodW5zaWduZWQgbG9uZyBsb25nKSBpdmFsKTsKKwkJCWJyZWFrOworCQljYXNlIDg6CisJCQltZW1tb3ZlKCZMdmFsLCBicCwgc2l6ZW9mKEx2YWwpKTsKKwkJCXByaW50Zihwci0+Zm10LCBMdmFsKTsKKwkJCWJyZWFrOworCQl9CisJCWJyZWFrOworCSAgICB9CisJfQorCWlmIChjb2xvcikgLyogZGlkIHdlIGNvbG9yaXplIHNvbWV0aGluZz8gKi8KKwkJY29sb3JfZGlzYWJsZSgpOworfQorCitzdGF0aWMgdm9pZCBicGFkKHN0cnVjdCBoZXhkdW1wX3ByICpwcikKK3sKKwlzdGF0aWMgY29uc3QgY2hhciAqc3BlYyA9ICIgLTArIyI7CisJY2hhciAqcDEsICpwMjsKKworCS8qCisJICogcmVtb3ZlIGFsbCBjb252ZXJzaW9uIGZsYWdzOyAnLScgaXMgdGhlIG9ubHkgb25lIHZhbGlkCisJICogd2l0aCAlcywgYW5kIGl0J3Mgbm90IHVzZWZ1bCBoZXJlLgorCSAqLworCXByLT5mbGFncyA9IEZfQlBBRDsKKwlwci0+Y2NoYXJbMF0gPSAncyc7CisJcHItPmNjaGFyWzFdID0gMDsKKworCXAxID0gcHItPmZtdDsKKwl3aGlsZSAoKnAxICE9ICclJykKKwkJKytwMTsKKworCXAyID0gKytwMTsKKwl3aGlsZSAoKnAxICYmIHN0cmNocihzcGVjLCAqcDEpKQorCQkrK3AxOworCisJd2hpbGUgKCgqcDIrKyA9ICpwMSsrKSkKKwkJOworfQorCit2b2lkIGRpc3BsYXkoc3RydWN0IGhleGR1bXAgKmhleCkKK3sKKwlyZWdpc3RlciBzdHJ1Y3QgbGlzdF9oZWFkICpmczsKKwlyZWdpc3RlciBzdHJ1Y3QgaGV4ZHVtcF9mcyAqZnNzOworCXJlZ2lzdGVyIHN0cnVjdCBoZXhkdW1wX2Z1ICpmdTsKKwlyZWdpc3RlciBzdHJ1Y3QgaGV4ZHVtcF9wciAqcHI7CisJcmVnaXN0ZXIgaW50IGNudDsKKwlyZWdpc3RlciB1bnNpZ25lZCBjaGFyICpicDsKKwlvZmZfdCBzYXZlYWRkcmVzczsKKwl1bnNpZ25lZCBjaGFyIHNhdmVjaCA9IDAsICpzYXZlYnA7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnEsICpyOworCisJd2hpbGUgKChicCA9IGdldChoZXgpKSAhPSBOVUxMKSB7CisJCWZzID0gJmhleC0+ZnNoZWFkOyBzYXZlYnAgPSBicDsgc2F2ZWFkZHJlc3MgPSBhZGRyZXNzOworCisJCWxpc3RfZm9yX2VhY2gocCwgZnMpIHsKKwkJCWZzcyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGhleGR1bXBfZnMsIGZzbGlzdCk7CisKKwkJCWxpc3RfZm9yX2VhY2gocSwgJmZzcy0+ZnVsaXN0KSB7CisJCQkJZnUgPSBsaXN0X2VudHJ5KHEsIHN0cnVjdCBoZXhkdW1wX2Z1LCBmdWxpc3QpOworCisJCQkJaWYgKGZ1LT5mbGFncyZGX0lHTk9SRSkKKwkJCQkJYnJlYWs7CisKKwkJCQljbnQgPSBmdS0+cmVwczsKKworCQkJCXdoaWxlIChjbnQpIHsKKwkJCQkJbGlzdF9mb3JfZWFjaChyLCAmZnUtPnBybGlzdCkgeworCQkJCQkJcHIgPSBsaXN0X2VudHJ5KHIsIHN0cnVjdCBoZXhkdW1wX3ByLCBwcmxpc3QpOworCisJCQkJCQlpZiAoZWFkZHJlc3MgJiYgYWRkcmVzcyA+PSBlYWRkcmVzcworCQkJCQkJICAgICYmICEocHItPmZsYWdzJihGX1RFWFR8Rl9CUEFEKSkpCisJCQkJCQkJYnBhZChwcik7CisKKwkJCQkJCWlmIChjbnQgPT0gMSAmJiBwci0+bm9zcGFjZSkgeworCQkJCQkJCXNhdmVjaCA9ICpwci0+bm9zcGFjZTsKKwkJCQkJCQkqcHItPm5vc3BhY2UgPSAnXDAnOworCQkJCQkJCXByaW50KHByLCBicCk7CisJCQkJCQkJKnByLT5ub3NwYWNlID0gc2F2ZWNoOworCQkJCQkJfSBlbHNlCisJCQkJCQkJcHJpbnQocHIsIGJwKTsKKworCQkJCQkJYWRkcmVzcyArPSBwci0+YmNudDsKKwkJCQkJCWJwICs9IHByLT5iY250OworCQkJCQl9CisJCQkJCS0tY250OworCQkJCX0KKwkJCX0KKwkJCWJwID0gc2F2ZWJwOworCQkJYWRkcmVzcyA9IHNhdmVhZGRyZXNzOworCQl9CisJfQorCWlmIChlbmRmdSkgeworCQkvKgorCQkgKiBpZiBlYWRkcmVzcyBub3Qgc2V0LCBlcnJvciBvciBmaWxlIHNpemUgd2FzIG11bHRpcGxlIG9mCisJCSAqIGJsb2Nrc2l6ZSwgYW5kIG5vIHBhcnRpYWwgYmxvY2sgZXZlciBmb3VuZC4KKwkJICovCisJCWlmICghZWFkZHJlc3MpIHsKKwkJCWlmICghYWRkcmVzcykKKwkJCQlyZXR1cm47CisJCQllYWRkcmVzcyA9IGFkZHJlc3M7CisJCX0KKwkJbGlzdF9mb3JfZWFjaCAocCwgJmVuZGZ1LT5wcmxpc3QpIHsKKwkJCWNvbnN0IGNoYXIgKmNvbG9yID0gTlVMTDsKKworCQkJcHIgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBoZXhkdW1wX3ByLCBwcmxpc3QpOworCQkJaWYgKGNvbG9yc193YW50ZWQoKSAmJiBwci0+Y29sb3JsaXN0CisJCQkgICAgJiYgKGNvbG9yID0gY29sb3JfY29uZChwciwgYnAsIHByLT5iY250KSkpIHsKKwkJCQljb2xvcl9lbmFibGUoY29sb3IpOworCQkJfQorCisJCQlzd2l0Y2gocHItPmZsYWdzKSB7CisJCQljYXNlIEZfQUREUkVTUzoKKwkJCQlwcmludGYocHItPmZtdCwgZWFkZHJlc3MpOworCQkJCWJyZWFrOworCQkJY2FzZSBGX1RFWFQ6CisJCQkJcHJpbnRmKCIlcyIsIHByLT5mbXQpOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKGNvbG9yKSAvKiBkaWQgd2UgaGlnaGxpZ2h0IHNvbWV0aGluZz8gKi8KKwkJCQljb2xvcl9kaXNhYmxlKCk7CisJCX0KKwl9Cit9CisKK3N0YXRpYyBjaGFyICoqX2FyZ3Y7CisKK3N0YXRpYyB1X2NoYXIgKgorZ2V0KHN0cnVjdCBoZXhkdW1wICpoZXgpCit7CisJc3RhdGljIGludCBhdGVvZiA9IDE7CisJc3RhdGljIHVfY2hhciAqY3VycCwgKnNhdnA7CisJc3NpemVfdCBuLCBuZWVkLCBucmVhZDsKKwl1X2NoYXIgKnRtcHA7CisKKwlpZiAoIWN1cnApIHsKKwkJY3VycCA9IHhjYWxsb2MoMSwgaGV4LT5ibG9ja3NpemUpOworCQlzYXZwID0geGNhbGxvYygxLCBoZXgtPmJsb2Nrc2l6ZSk7CisJfSBlbHNlIHsKKwkJdG1wcCA9IGN1cnA7CisJCWN1cnAgPSBzYXZwOworCQlzYXZwID0gdG1wcDsKKwkJYWRkcmVzcyArPSBoZXgtPmJsb2Nrc2l6ZTsKKwl9CisJbmVlZCA9IGhleC0+YmxvY2tzaXplLCBucmVhZCA9IDA7CisJd2hpbGUgKFRSVUUpIHsKKwkJLyoKKwkJICogaWYgcmVhZCB0aGUgcmlnaHQgbnVtYmVyIG9mIGJ5dGVzLCBvciBhdCBFT0YgZm9yIG9uZSBmaWxlLAorCQkgKiBhbmQgbm8gb3RoZXIgZmlsZXMgYXJlIGF2YWlsYWJsZSwgemVyby1wYWQgdGhlIHJlc3Qgb2YgdGhlCisJCSAqIGJsb2NrIGFuZCBzZXQgdGhlIGVuZCBmbGFnLgorCQkgKi8KKwkJaWYgKCFoZXgtPmxlbmd0aCB8fCAoYXRlb2YgJiYgIW5leHQoTlVMTCwgaGV4KSkpIHsKKwkJCWlmIChuZWVkID09IGhleC0+YmxvY2tzaXplKQorCQkJCWdvdG8gcmV0bnVsOworCQkJaWYgKCFuZWVkICYmIHZmbGFnICE9IEFMTCAmJgorCQkJICAgICFtZW1jbXAoY3VycCwgc2F2cCwgbnJlYWQpKSB7CisJCQkJaWYgKHZmbGFnICE9IERVUCkKKwkJCQkJcHJpbnRmKCIqXG4iKTsKKwkJCQlnb3RvIHJldG51bDsKKwkJCX0KKwkJCWlmIChuZWVkID4gMCkKKwkJCQltZW1zZXQoKGNoYXIgKiljdXJwICsgbnJlYWQsIDAsIG5lZWQpOworCQkJZWFkZHJlc3MgPSBhZGRyZXNzICsgbnJlYWQ7CisJCQlyZXR1cm4oY3VycCk7CisJCX0KKwkJaWYgKGZpbGVubyhzdGRpbikgPT0gLTEpIHsKKwkJCXdhcm54KF8oImFsbCBpbnB1dCBmaWxlIGFyZ3VtZW50cyBmYWlsZWQiKSk7CisJCQlnb3RvIHJldG51bDsKKwkJfQorCQluID0gZnJlYWQoKGNoYXIgKiljdXJwICsgbnJlYWQsIHNpemVvZih1bnNpZ25lZCBjaGFyKSwKKwkJICAgIGhleC0+bGVuZ3RoID09IC0xID8gbmVlZCA6IG1pbihoZXgtPmxlbmd0aCwgbmVlZCksIHN0ZGluKTsKKwkJaWYgKCFuKSB7CisJCQlpZiAoZmVycm9yKHN0ZGluKSkKKwkJCQl3YXJuKCIlcyIsIF9hcmd2Wy0xXSk7CisJCQlhdGVvZiA9IDE7CisJCQljb250aW51ZTsKKwkJfQorCQlhdGVvZiA9IDA7CisJCWlmIChoZXgtPmxlbmd0aCAhPSAtMSkKKwkJCWhleC0+bGVuZ3RoIC09IG47CisJCWlmICghKG5lZWQgLT0gbikpIHsKKwkJCWlmICh2ZmxhZyA9PSBBTEwgfHwgdmZsYWcgPT0gRklSU1QgfHwKKwkJCSAgICBtZW1jbXAoY3VycCwgc2F2cCwgaGV4LT5ibG9ja3NpemUpKSB7CisJCQkJaWYgKHZmbGFnID09IERVUCB8fCB2ZmxhZyA9PSBGSVJTVCkKKwkJCQkJdmZsYWcgPSBXQUlUOworCQkJCXJldHVybihjdXJwKTsKKwkJCX0KKwkJCWlmICh2ZmxhZyA9PSBXQUlUKQorCQkJCXByaW50ZigiKlxuIik7CisJCQl2ZmxhZyA9IERVUDsKKwkJCWFkZHJlc3MgKz0gaGV4LT5ibG9ja3NpemU7CisJCQluZWVkID0gaGV4LT5ibG9ja3NpemU7CisJCQlucmVhZCA9IDA7CisJCX0KKwkJZWxzZQorCQkJbnJlYWQgKz0gbjsKKwl9CityZXRudWw6CisJZnJlZSAoY3VycCk7CisJZnJlZSAoc2F2cCk7CisJcmV0dXJuIE5VTEw7Cit9CisKK2ludCBuZXh0KGNoYXIgKiphcmd2LCBzdHJ1Y3QgaGV4ZHVtcCAqaGV4KQoreworCXN0YXRpYyBpbnQgZG9uZTsKKwlpbnQgc3RhdG9rOworCisJaWYgKGFyZ3YpIHsKKwkJX2FyZ3YgPSBhcmd2OworCQlyZXR1cm4oMSk7CisJfQorCXdoaWxlIChUUlVFKSB7CisJCWlmICgqX2FyZ3YpIHsKKwkJCWlmICghKGZyZW9wZW4oKl9hcmd2LCAiciIsIHN0ZGluKSkpIHsKKwkJCQl3YXJuKCIlcyIsICpfYXJndik7CisJCQkJaGV4LT5leGl0dmFsID0gRVhJVF9GQUlMVVJFOworCQkJCSsrX2FyZ3Y7CisJCQkJY29udGludWU7CisJCQl9CisJCQlzdGF0b2sgPSBkb25lID0gMTsKKwkJfSBlbHNlIHsKKwkJCWlmIChkb25lKyspCisJCQkJcmV0dXJuKDApOworCQkJc3RhdG9rID0gMDsKKwkJfQorCQlpZiAoaGV4LT5za2lwKQorCQkJZG9za2lwKHN0YXRvayA/ICpfYXJndiA6ICJzdGRpbiIsIHN0YXRvaywgaGV4KTsKKwkJaWYgKCpfYXJndikKKwkJCSsrX2FyZ3Y7CisJCWlmICghaGV4LT5za2lwKQorCQkJcmV0dXJuKDEpOworCX0KKwkvKiBOT1RSRUFDSEVEICovCit9CisKK3N0YXRpYyB2b2lkCitkb3NraXAoY29uc3QgY2hhciAqZm5hbWUsIGludCBzdGF0b2ssIHN0cnVjdCBoZXhkdW1wICpoZXgpCit7CisJc3RydWN0IHN0YXQgc2J1ZjsKKworCWlmIChzdGF0b2spIHsKKwkJaWYgKGZzdGF0KGZpbGVubyhzdGRpbiksICZzYnVmKSkKKwkJICAgICAgICBlcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBmbmFtZSk7CisJCWlmIChTX0lTUkVHKHNidWYuc3RfbW9kZSkgJiYgaGV4LT5za2lwID4gc2J1Zi5zdF9zaXplKSB7CisJCSAgLyogSWYgc2l6ZSB2YWxpZCBhbmQgc2tpcCA+PSBzaXplICovCisJCQloZXgtPnNraXAgLT0gc2J1Zi5zdF9zaXplOworCQkJYWRkcmVzcyArPSBzYnVmLnN0X3NpemU7CisJCQlyZXR1cm47CisJCX0KKwl9CisJLyogc2J1ZiBtYXkgYmUgdW5kZWZpbmVkIGhlcmUgLSBkbyBub3QgdGVzdCBpdCAqLworCWlmIChmc2VlayhzdGRpbiwgaGV4LT5za2lwLCBTRUVLX1NFVCkpCisJICAgICAgICBlcnIoRVhJVF9GQUlMVVJFLCAiJXMiLCBmbmFtZSk7CisJYWRkcmVzcyArPSBoZXgtPnNraXA7CisJaGV4LT5za2lwID0gMDsKK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jIGIvdGV4dC11dGlscy9oZXhkdW1wLXBhcnNlLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMmIyNzM1YgotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvaGV4ZHVtcC1wYXJzZS5jCkBAIC0wLDAgKzEsNjQ1IEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTg5IFRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuCisgKiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisgKiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisgKglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisgKglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKyAqIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisgKiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKyAqICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKyAqIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisgKiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworICogT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisgKiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorICogTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorICogT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorICogU1VDSCBEQU1BR0UuCisgKi8KKworIC8qIDE5OTktMDItMjIgQXJrYWRpdXN6IE1pxZtraWV3aWN6IDxtaXNpZWtAcGxkLk9SRy5QTD4KKyAgKiAtIGFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvZmlsZS5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlICJoZXhkdW1wLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAic3RydXRpbHMuaCIKKyNpbmNsdWRlICJjb2xvcnMuaCIKKworc3RhdGljIHZvaWQgZXNjYXBlKGNoYXIgKnAxKTsKK3N0YXRpYyBzdHJ1Y3QgbGlzdF9oZWFkICpjb2xvcl9mbXQoY2hhciAqY2ZtdCwgaW50IGJjbnQpOworCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgYmFkY250KGNvbnN0IGNoYXIgKnMpCit7CisgICAgICAgIGVycngoRVhJVF9GQUlMVVJFLCBfKCJiYWQgYnl0ZSBjb3VudCBmb3IgY29udmVyc2lvbiBjaGFyYWN0ZXIgJXMiKSwgcyk7Cit9CisKK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18gKChfX25vcmV0dXJuX18pKSBiYWRzZm10KHZvaWQpCit7CisgICAgICAgIGVycngoRVhJVF9GQUlMVVJFLCBfKCIlJXMgcmVxdWlyZXMgYSBwcmVjaXNpb24gb3IgYSBieXRlIGNvdW50IikpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgYmFkZm10KGNvbnN0IGNoYXIgKmZtdCkKK3sKKyAgICAgICAgZXJyeChFWElUX0ZBSUxVUkUsIF8oImJhZCBmb3JtYXQgeyVzfSIpLCBmbXQpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fICgoX19ub3JldHVybl9fKSkgYmFkY29udihjb25zdCBjaGFyICpjaCkKK3sKKyAgICAgICAgZXJyeChFWElUX0ZBSUxVUkUsIF8oImJhZCBjb252ZXJzaW9uIGNoYXJhY3RlciAlJSVzIiksIGNoKTsKK30KKworI2RlZmluZSBmaXJzdF9sZXR0ZXIocyxmKSBzdHJjaHIoZiwgKihzKSkKKworc3RydWN0IGhleGR1bXBfZnUgKmVuZGZ1OwkJCQkJLyogZm9ybWF0IGF0IGVuZC1vZi1kYXRhICovCisKK3ZvaWQgYWRkZmlsZShjaGFyICpuYW1lLCBzdHJ1Y3QgaGV4ZHVtcCAqaGV4KQoreworCWNoYXIgKmZtdCwgKmJ1ZiA9IE5VTEw7CisJRklMRSAqZnA7CisJc2l6ZV90IG47CisKKwlpZiAoKGZwID0gZm9wZW4obmFtZSwgInIiKSkgPT0gTlVMTCkKKwkgICAgICAgIGVycihFWElUX0ZBSUxVUkUsIF8oImNhbid0IHJlYWQgJXMiKSwgbmFtZSk7CisKKwl3aGlsZSAoZ2V0bGluZSgmYnVmLCAmbiwgZnApICE9IC0xKSB7CisJCWZtdCA9IGJ1ZjsKKworCQl3aGlsZSAoKmZtdCAmJiBpc3NwYWNlKCpmbXQpKQorCQkJKytmbXQ7CisJCWlmICghKmZtdCB8fCAqZm10ID09ICcjJykKKwkJCWNvbnRpbnVlOworCisJCWFkZF9mbXQoZm10LCBoZXgpOworCX0KKworCWZyZWUoYnVmKTsKKwlmY2xvc2UoZnApOworfQorCit2b2lkIGFkZF9mbXQoY29uc3QgY2hhciAqZm10LCBzdHJ1Y3QgaGV4ZHVtcCAqaGV4KQoreworCWNvbnN0IGNoYXIgKnAsICpzYXZlcDsKKwlzdHJ1Y3QgaGV4ZHVtcF9mcyAqdGZzOworCXN0cnVjdCBoZXhkdW1wX2Z1ICp0ZnU7CisKKwkvKiBTdGFydCBuZXcgbGlua2VkIGxpc3Qgb2YgZm9ybWF0IHVuaXRzLiAqLworCXRmcyA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBoZXhkdW1wX2ZzKSk7CisJSU5JVF9MSVNUX0hFQUQoJnRmcy0+ZnNsaXN0KTsKKwlJTklUX0xJU1RfSEVBRCgmdGZzLT5mdWxpc3QpOworCWxpc3RfYWRkX3RhaWwoJnRmcy0+ZnNsaXN0LCAmaGV4LT5mc2hlYWQpOworCisJLyogVGFrZSB0aGUgZm9ybWF0IHN0cmluZyBhbmQgYnJlYWsgaXQgdXAgaW50byBmb3JtYXQgdW5pdHMuICovCisJcCA9IGZtdDsKKwl3aGlsZSAoVFJVRSkgeworCQkvKiBTa2lwIGxlYWRpbmcgd2hpdGUgc3BhY2UuICovCisJCWlmICghKihwID0gc2tpcF9zcGFjZShwKSkpCisJCQlicmVhazsKKworCQkvKiBBbGxvY2F0ZSBhIG5ldyBmb3JtYXQgdW5pdCBhbmQgbGluayBpdCBpbi4gKi8KKwkJdGZ1ID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGhleGR1bXBfZnUpKTsKKwkJdGZ1LT5yZXBzID0gMTsKKworCQlJTklUX0xJU1RfSEVBRCgmdGZ1LT5mdWxpc3QpOworCQlJTklUX0xJU1RfSEVBRCgmdGZ1LT5wcmxpc3QpOworCQlsaXN0X2FkZF90YWlsKCZ0ZnUtPmZ1bGlzdCwgJnRmcy0+ZnVsaXN0KTsKKworCQkvKiBJZiBsZWFkaW5nIGRpZ2l0LCByZXBldGl0aW9uIGNvdW50LiAqLworCQlpZiAoaXNkaWdpdCgqcCkpIHsKKwkJCXNhdmVwID0gcDsKKwkJCXdoaWxlIChpc2RpZ2l0KCpwKSAmJiArK3ApCisJCQkJOworCQkJaWYgKCFpc3NwYWNlKCpwKSAmJiAqcCAhPSAnLycpCisJCQkJYmFkZm10KGZtdCk7CisJCQkvKiBtYXkgb3ZlcndyaXRlIGVpdGhlciB3aGl0ZSBzcGFjZSBvciBzbGFzaCAqLworCQkJdGZ1LT5yZXBzID0gYXRvaShzYXZlcCk7CisJCQl0ZnUtPmZsYWdzID0gRl9TRVRSRVA7CisJCQkvKiBza2lwIHRyYWlsaW5nIHdoaXRlIHNwYWNlICovCisJCQlwID0gc2tpcF9zcGFjZSgrK3ApOworCQl9CisKKwkJLyogU2tpcCBzbGFzaCBhbmQgdHJhaWxpbmcgd2hpdGUgc3BhY2UuICovCisJCWlmICgqcCA9PSAnLycpCisJCQlwID0gc2tpcF9zcGFjZSgrK3ApOworCisJCS8qIGJ5dGUgY291bnQgKi8KKwkJaWYgKGlzZGlnaXQoKnApKSB7CisJCQlzYXZlcCA9IHA7CisJCQl3aGlsZSAoaXNkaWdpdCgqcCkgJiYgKytwKQorCQkJCTsKKwkJCWlmICghaXNzcGFjZSgqcCkpCisJCQkJYmFkZm10KGZtdCk7CisJCQl0ZnUtPmJjbnQgPSBhdG9pKHNhdmVwKTsKKwkJCS8qIHNraXAgdHJhaWxpbmcgd2hpdGUgc3BhY2UgKi8KKwkJCXAgPSBza2lwX3NwYWNlKCsrcCk7CisJCX0KKworCQkvKiBmb3JtYXQgKi8KKwkJaWYgKCpwICE9ICciJykKKwkJCWJhZGZtdChmbXQpOworCQlzYXZlcCA9ICsrcDsKKwkJd2hpbGUgKCpwICE9ICciJykgeworCQkJaWYgKCEqcCsrKQorCQkJCWJhZGZtdChmbXQpOworCQl9CisJCXRmdS0+Zm10ID0geG1hbGxvYyhwIC0gc2F2ZXAgKyAxKTsKKwkJeHN0cm5jcHkodGZ1LT5mbXQsIHNhdmVwLCBwIC0gc2F2ZXAgKyAxKTsKKwkJZXNjYXBlKHRmdS0+Zm10KTsKKwkJKytwOworCX0KK30KKworc3RhdGljIGNvbnN0IGNoYXIgKnNwZWMgPSAiLiMtKyAwMTIzNDU2Nzg5IjsKKworaW50IGJsb2NrX3NpemUoc3RydWN0IGhleGR1bXBfZnMgKmZzKQoreworCXN0cnVjdCBoZXhkdW1wX2Z1ICpmdTsKKwlpbnQgYmNudCwgcHJlYywgY3Vyc2l6ZSA9IDA7CisJY2hhciAqZm10OworCXN0cnVjdCBsaXN0X2hlYWQgKnA7CisKKwkvKiBmaWd1cmUgb3V0IHRoZSBkYXRhIGJsb2NrIHNpemUgbmVlZGVkIGZvciBlYWNoIGZvcm1hdCB1bml0ICovCisJbGlzdF9mb3JfZWFjaCAocCwgJmZzLT5mdWxpc3QpIHsKKwkJZnUgPSBsaXN0X2VudHJ5KHAsIHN0cnVjdCBoZXhkdW1wX2Z1LCBmdWxpc3QpOworCQlpZiAoZnUtPmJjbnQpIHsKKwkJCWN1cnNpemUgKz0gZnUtPmJjbnQgKiBmdS0+cmVwczsKKwkJCWNvbnRpbnVlOworCQl9CisJCWJjbnQgPSBwcmVjID0gMDsKKwkJZm10ID0gZnUtPmZtdDsKKwkJd2hpbGUgKCpmbXQpIHsKKwkJCWlmICgqZm10ICE9ICclJykgeworCQkJCSsrZm10OworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJLyoKKwkJCSAqIHNraXAgYW55IHNwZWNpYWwgY2hhcnMgLS0gc2F2ZSBwcmVjaXNpb24gaW4KKwkJCSAqIGNhc2UgaXQncyBhICVzIGZvcm1hdC4KKwkJCSAqLworCQkJd2hpbGUgKHN0cmNocihzcGVjICsgMSwgKisrZm10KSkKKwkJCQk7CisJCQlpZiAoKmZtdCA9PSAnLicgJiYgaXNkaWdpdCgqKytmbXQpKSB7CisJCQkJcHJlYyA9IGF0b2koZm10KTsKKwkJCQl3aGlsZSAoaXNkaWdpdCgqKytmbXQpKQorCQkJCQk7CisJCQl9CisJCQlpZiAoZmlyc3RfbGV0dGVyKGZtdCwgImRpb3V4WCIpKQorCQkJCWJjbnQgKz0gNDsKKwkJCWVsc2UgaWYgKGZpcnN0X2xldHRlcihmbXQsICJlZmdFRyIpKQorCQkJCWJjbnQgKz0gODsKKwkJCWVsc2UgaWYgKCpmbXQgPT0gJ3MnKQorCQkJCWJjbnQgKz0gcHJlYzsKKwkJCWVsc2UgaWYgKCpmbXQgPT0gJ2MnIHx8ICgqZm10ID09ICdfJyAmJiBmaXJzdF9sZXR0ZXIoKytmbXQsICJjcHUiKSkpCisJCQkJKytiY250OworCQkJKytmbXQ7CisJCX0KKwkJY3Vyc2l6ZSArPSBiY250ICogZnUtPnJlcHM7CisJfQorCXJldHVybihjdXJzaXplKTsKK30KKwordm9pZCByZXdyaXRlX3J1bGVzKHN0cnVjdCBoZXhkdW1wX2ZzICpmcywgc3RydWN0IGhleGR1bXAgKmhleCkKK3sKKwllbnVtIHsgTk9UT0tBWSwgVVNFQkNOVCwgVVNFUFJFQyB9IHNva2F5OworCXN0cnVjdCBoZXhkdW1wX3ByICpwcjsKKwlzdHJ1Y3QgaGV4ZHVtcF9mdSAqZnU7CisJc3RydWN0IGxpc3RfaGVhZCAqcCwgKnE7CisJY2hhciAqcDEsICpwMiwgKmZtdHA7CisJY2hhciBzYXZlY2gsIGNzWzRdOworCWludCBuY29udiwgcHJlYyA9IDA7CisKKwlsaXN0X2Zvcl9lYWNoIChwLCAmZnMtPmZ1bGlzdCkgeworCQlmdSA9IGxpc3RfZW50cnkocCwgc3RydWN0IGhleGR1bXBfZnUsIGZ1bGlzdCk7CisJCS8qCisJCSAqIEJyZWFrIGVhY2ggZm9ybWF0IHVuaXQgaW50byBwcmludCB1bml0czsgZWFjaAorCQkgKiBjb252ZXJzaW9uIGNoYXJhY3RlciBnZXRzIGl0cyBvd24uCisJCSAqLworCQluY29udiA9IDA7CisJCWZtdHAgPSBmdS0+Zm10OworCQl3aGlsZSAoKmZtdHApIHsKKwkJCXByID0geGNhbGxvYygxLCBzaXplb2Yoc3RydWN0IGhleGR1bXBfcHIpKTsKKwkJCUlOSVRfTElTVF9IRUFEKCZwci0+cHJsaXN0KTsKKwkJCWxpc3RfYWRkX3RhaWwoJnByLT5wcmxpc3QsICZmdS0+cHJsaXN0KTsKKworCQkJLyogU2tpcCBwcmVjZWRpbmcgdGV4dCBhbmQgdXAgdG8gdGhlIG5leHQgJSBzaWduLiAqLworCQkJcDEgPSBmbXRwOworCQkJd2hpbGUgKCpwMSAmJiAqcDEgIT0gJyUnKQorCQkJCSsrcDE7CisKKwkJCS8qIE9ubHkgdGV4dCBpbiB0aGUgc3RyaW5nLiAqLworCQkJaWYgKCEqcDEpIHsKKwkJCQlwci0+Zm10ID0geHN0cmR1cChmbXRwKTsKKwkJCQlwci0+ZmxhZ3MgPSBGX1RFWFQ7CisJCQkJYnJlYWs7CisJCQl9CisKKwkJCS8qCisJCQkgKiBHZXQgcHJlY2lzaW9uIGZvciAlcyAtLSBpZiBoYXZlIGEgYnl0ZSBjb3VudCwgZG9uJ3QKKwkJCSAqIG5lZWQgaXQuCisJCQkgKi8KKwkJCWlmIChmdS0+YmNudCkgeworCQkJCXNva2F5ID0gVVNFQkNOVDsKKwkJCQkvKiBza2lwIHRvIGNvbnZlcnNpb24gY2hhcmFjdGVyICovCisJCQkJd2hpbGUgKCsrcDEgJiYgc3RyY2hyKHNwZWMsICpwMSkpCisJCQkJCTsKKwkJCX0gZWxzZSB7CisJCQkJLyogc2tpcCBhbnkgc3BlY2lhbCBjaGFycywgZmllbGQgd2lkdGggKi8KKwkJCQl3aGlsZSAoc3RyY2hyKHNwZWMgKyAxLCAqKytwMSkpCisJCQkJCTsKKwkJCQlpZiAoKnAxID09ICcuJyAmJiBpc2RpZ2l0KCorK3AxKSkgeworCQkJCQlzb2theSA9IFVTRVBSRUM7CisJCQkJCXByZWMgPSBhdG9pKHAxKTsKKwkJCQkJd2hpbGUgKGlzZGlnaXQoKisrcDEpKQorCQkJCQkJOworCQkJCX0gZWxzZQorCQkJCQlzb2theSA9IE5PVE9LQVk7CisJCQl9CisKKwkJCXAyID0gcDEgKyAxOwkJLyogU2V0IGVuZCBwb2ludGVyLiAqLworCQkJY3NbMF0gPSAqcDE7CQkvKiBTZXQgY29udmVyc2lvbiBzdHJpbmcuICovCisJCQljc1sxXSA9IDA7CisKKwkJCS8qCisJCQkgKiBGaWd1cmUgb3V0IHRoZSBieXRlIGNvdW50IGZvciBlYWNoIGNvbnZlcnNpb247CisJCQkgKiByZXdyaXRlIHRoZSBmb3JtYXQgYXMgbmVjZXNzYXJ5LCBzZXQgdXAgYmxhbmstCisJCQkgKiBwYWRkaW5nIGZvciBlbmQgb2YgZGF0YS4KKwkJCSAqLworCQkJaWYgKCpjcyA9PSAnYycpIHsKKwkJCQlwci0+ZmxhZ3MgPSBGX0NIQVI7CisJCQkJc3dpdGNoKGZ1LT5iY250KSB7CisJCQkJCWNhc2UgMDoKKwkJCQkJY2FzZSAxOgorCQkJCQkJcHItPmJjbnQgPSAxOworCQkJCQkJYnJlYWs7CisJCQkJCWRlZmF1bHQ6CisJCQkJCQlwMVsxXSA9ICdcMCc7CisJCQkJCQliYWRjbnQocDEpOworCQkJCX0KKwkJCX0gZWxzZSBpZiAoZmlyc3RfbGV0dGVyKGNzLCAiZGkiKSkgeworCQkJCXByLT5mbGFncyA9IEZfSU5UOworCQkJCWdvdG8gaXNpbnQ7CisJCQl9IGVsc2UgaWYgKGZpcnN0X2xldHRlcihjcywgIm91eFgiKSkgeworCQkJCXByLT5mbGFncyA9IEZfVUlOVDsKK2lzaW50OgkJCQljc1szXSA9ICdcMCc7CisJCQkJY3NbMl0gPSBjc1swXTsKKwkJCQljc1sxXSA9ICdsJzsKKwkJCQljc1swXSA9ICdsJzsKKwkJCQlzd2l0Y2goZnUtPmJjbnQpIHsKKwkJCQkJY2FzZSAwOgorCQkJCQkJcHItPmJjbnQgPSA0OworCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgMToKKwkJCQkJY2FzZSAyOgorCQkJCQljYXNlIDQ6CisJCQkJCWNhc2UgODoKKwkJCQkJCXByLT5iY250ID0gZnUtPmJjbnQ7CisJCQkJCQlicmVhazsKKwkJCQkJZGVmYXVsdDoKKwkJCQkJCXAxWzFdID0gJ1wwJzsKKwkJCQkJCWJhZGNudChwMSk7CisJCQkJfQorCQkJfSBlbHNlIGlmIChmaXJzdF9sZXR0ZXIoY3MsICJlZmdFRyIpKSB7CisJCQkJcHItPmZsYWdzID0gRl9EQkw7CisJCQkJc3dpdGNoKGZ1LT5iY250KSB7CisJCQkJCWNhc2UgMDoKKwkJCQkJCXByLT5iY250ID0gODsKKwkJCQkJCWJyZWFrOworCQkJCQljYXNlIDQ6CisJCQkJCWNhc2UgODoKKwkJCQkJCXByLT5iY250ID0gZnUtPmJjbnQ7CisJCQkJCQlicmVhazsKKwkJCQkJZGVmYXVsdDoKKwkJCQkJCXAxWzFdID0gJ1wwJzsKKwkJCQkJCWJhZGNudChwMSk7CisJCQkJfQorCQkJfSBlbHNlIGlmKCpjcyA9PSAncycpIHsKKwkJCQlwci0+ZmxhZ3MgPSBGX1NUUjsKKwkJCQlzd2l0Y2goc29rYXkpIHsKKwkJCQkJY2FzZSBOT1RPS0FZOgorCQkJCQkJYmFkc2ZtdCgpOworCQkJCQljYXNlIFVTRUJDTlQ6CisJCQkJCQlwci0+YmNudCA9IGZ1LT5iY250OworCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgVVNFUFJFQzoKKwkJCQkJCXByLT5iY250ID0gcHJlYzsKKwkJCQkJCWJyZWFrOworCQkJCX0KKwkJCX0gZWxzZSBpZiAoKmNzID09ICdfJykgeworCQkJCSsrcDI7CisJCQkJc3dpdGNoKHAxWzFdKSB7CisJCQkJCWNhc2UgJ0EnOgorCQkJCQkJZW5kZnUgPSBmdTsKKwkJCQkJCWZ1LT5mbGFncyB8PSBGX0lHTk9SRTsKKwkJCQkJCS8qIGZhbGx0aHJvdWdoICovCisJCQkJCWNhc2UgJ2EnOgorCQkJCQkJcHItPmZsYWdzID0gRl9BRERSRVNTOworCQkJCQkJKytwMjsKKwkJCQkJCWlmIChmaXJzdF9sZXR0ZXIocDEgKyAyLCAiZG94IikpIHsKKwkJCQkJCQljc1swXSA9ICdsJzsKKwkJCQkJCQljc1sxXSA9ICdsJzsKKwkJCQkJCQljc1syXSA9IHAxWzJdOworCQkJCQkJCWNzWzNdID0gJ1wwJzsKKwkJCQkJCX0gZWxzZSB7CisJCQkJCQkJcDFbM10gPSAnXDAnOworCQkJCQkJCWJhZGNvbnYocDEpOworCQkJCQkJfQorCQkJCQkJYnJlYWs7CisJCQkJCWNhc2UgJ2MnOgorCQkJCQkJcHItPmZsYWdzID0gRl9DOworCQkJCQkJLyogY3NbMF0gPSAnYyc7CXNldCBpbiBjb252X2MgKi8KKwkJCQkJCWdvdG8gaXNpbnQyOworCQkJCQljYXNlICdwJzoKKwkJCQkJCXByLT5mbGFncyA9IEZfUDsKKwkJCQkJCWNzWzBdID0gJ2MnOworCQkJCQkJZ290byBpc2ludDI7CisJCQkJCWNhc2UgJ3UnOgorCQkJCQkJcHItPmZsYWdzID0gRl9VOworCQkJCQkJLyogY3NbMF0gPSAnYyc7CXNldCBpbiBjb252X3UgKi8KKwlpc2ludDI6CQkJCQlzd2l0Y2goZnUtPmJjbnQpIHsKKwkJCQkJCQljYXNlIDA6CisJCQkJCQkJY2FzZSAxOgorCQkJCQkJCQlwci0+YmNudCA9IDE7CisJCQkJCQkJCWJyZWFrOworCQkJCQkJCWRlZmF1bHQ6CisJCQkJCQkJCXAxWzJdID0gJ1wwJzsKKwkJCQkJCQkJYmFkY250KHAxKTsKKwkJCQkJCX0KKwkJCQkJCWJyZWFrOworCQkJCQlkZWZhdWx0OgorCQkJCQkJcDFbMl0gPSAnXDAnOworCQkJCQkJYmFkY29udihwMSk7CisJCQkJfQorCQkJfSBlbHNlIHsKKwkJCQlwMVsxXSA9ICdcMCc7CisJCQkJYmFkY29udihwMSk7CisJCQl9CisKKwkJCS8qIENvbG9yIHVuaXQocykgc3BlY2lmaWVkICovCisJCQlpZiAoKnAyID09ICdfJyAmJiBwMlsxXSA9PSAnTCcpIHsKKwkJCQlpZiAoY29sb3JzX3dhbnRlZCgpKSB7CisJCQkJCWNoYXIgKmE7CisKKwkJCQkJLyogImN1dCBvdXQiIHRoZSBjb2xvcl91bml0KHMpICovCisJCQkJCWEgPSBzdHJjaHIocDIsICdbJyk7CisJCQkJCXAyID0gc3RycmNocihwMiwgJ10nKTsKKwkJCQkJaWYgKGErKyAmJiBwMikKKwkJCQkJCXByLT5jb2xvcmxpc3QgPSBjb2xvcl9mbXQoeHN0cm5kdXAoYSwgcDIrKyAtIGEpLCBwci0+YmNudCk7CisJCQkJCWVsc2UKKwkJCQkJCWJhZGNvbnYocDIpOworCQkJCX0KKwkJCQkvKiB3ZSBkb24ndCB3YW50IGNvbG9ycywgcXVpZXRseSBza2lwIG92ZXIgdGhlbSAqLworCQkJCWVsc2UgeworCQkJCQlwMiA9IHN0cnJjaHIocDIsICddJyk7CisJCQkJCS8qIGJlIGEgYml0IGxvdWRlciBpZiB3ZSBkb24ndCBrbm93IGhvdyB0byBza2lwIG92ZXIgdGhlbSAqLworCQkJCQlpZiAoIXAyKQorCQkJCQkJYmFkY29udigiX0wiKTsKKwkJCQkJKytwMjsKKwkJCQl9CisJCQl9CisJCQkvKgorCQkJICogQ29weSB0byBoZXhkdW1wX3ByIGZvcm1hdCBzdHJpbmcsIHNldCBjb252ZXJzaW9uIGNoYXJhY3RlcgorCQkJICogcG9pbnRlciwgdXBkYXRlIG9yaWdpbmFsLgorCQkJICovCisJCQlzYXZlY2ggPSAqcDI7CisJCQlwMVswXSA9ICdcMCc7CisJCQlwci0+Zm10ID0geG1hbGxvYyhzdHJsZW4oZm10cCkgKyBzdHJsZW4oY3MpICsgMSk7CisJCQlzdHJjcHkocHItPmZtdCwgZm10cCk7CisJCQlzdHJjYXQocHItPmZtdCwgY3MpOworCQkJKnAyID0gc2F2ZWNoOworCQkJcHItPmNjaGFyID0gcHItPmZtdCArIChwMSAtIGZtdHApOworCQkJZm10cCA9IHAyOworCisJCQkvKiBPbmx5IG9uZSBjb252ZXJzaW9uIGNoYXJhY3RlciBpZiBieXRlIGNvdW50ICovCisJCQlpZiAoIShwci0+ZmxhZ3MmRl9BRERSRVNTKSAmJiBmdS0+YmNudCAmJiBuY29udisrKQorCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICBfKCJieXRlIGNvdW50IHdpdGggbXVsdGlwbGUgY29udmVyc2lvbiBjaGFyYWN0ZXJzIikpOworCQl9CisJCS8qCisJCSAqIElmIGZvcm1hdCB1bml0IGJ5dGUgY291bnQgbm90IHNwZWNpZmllZCwgZmlndXJlIGl0IG91dAorCQkgKiBzbyBjYW4gYWRqdXN0IHJlcCBjb3VudCBsYXRlci4KKwkJICovCisJCWlmICghZnUtPmJjbnQpCisJCQlsaXN0X2Zvcl9lYWNoKHEsICZmdS0+cHJsaXN0KQorCQkJCWZ1LT5iY250CisJCQkJICArPSAobGlzdF9lbnRyeShxLCBzdHJ1Y3QgaGV4ZHVtcF9wciwgcHJsaXN0KSktPmJjbnQ7CisJfQorCS8qCisJICogSWYgdGhlIGZvcm1hdCBzdHJpbmcgaW50ZXJwcmV0cyBhbnkgZGF0YSBhdCBhbGwsIGFuZCBpdCdzCisJICogbm90IHRoZSBzYW1lIGFzIHRoZSBibG9ja3NpemUsIGFuZCBpdHMgbGFzdCBmb3JtYXQgdW5pdAorCSAqIGludGVycHJldHMgYW55IGRhdGEgYXQgYWxsLCBhbmQgaGFzIG5vIGl0ZXJhdGlvbiBjb3VudCwKKwkgKiByZXBlYXQgaXQgYXMgbmVjZXNzYXJ5LgorCSAqCisJICogSWYgcmVwIGNvdW50IGlzIGdyZWF0ZXIgdGhhbiAxLCBubyB0cmFpbGluZyB3aGl0ZXNwYWNlCisJICogZ2V0cyBvdXRwdXQgZnJvbSB0aGUgbGFzdCBpdGVyYXRpb24gb2YgdGhlIGZvcm1hdCB1bml0LgorCSAqLworCWxpc3RfZm9yX2VhY2ggKHAsICZmcy0+ZnVsaXN0KSB7CisJCWZ1ID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgaGV4ZHVtcF9mdSwgZnVsaXN0KTsKKworCQlpZiAobGlzdF9lbnRyeV9pc19sYXN0KCZmdS0+ZnVsaXN0LCAmZnMtPmZ1bGlzdCkgJiYKKwkJCWZzLT5iY250IDwgaGV4LT5ibG9ja3NpemUgJiYKKwkJCSEoZnUtPmZsYWdzJkZfU0VUUkVQKSAmJiBmdS0+YmNudCkKKwkJCQlmdS0+cmVwcyArPSAoaGV4LT5ibG9ja3NpemUgLSBmcy0+YmNudCkgLyBmdS0+YmNudDsKKwkJaWYgKGZ1LT5yZXBzID4gMSAmJiAhbGlzdF9lbXB0eSgmZnUtPnBybGlzdCkpIHsKKwkJCXByID0gbGlzdF9sYXN0X2VudHJ5KCZmdS0+cHJsaXN0LCBzdHJ1Y3QgaGV4ZHVtcF9wciwgcHJsaXN0KTsKKwkJCWZvciAocDEgPSBwci0+Zm10LCBwMiA9IE5VTEw7ICpwMTsgKytwMSkKKwkJCQlwMiA9IGlzc3BhY2UoKnAxKSA/IHAxIDogTlVMTDsKKwkJCWlmIChwMikKKwkJCQlwci0+bm9zcGFjZSA9IHAyOworCQl9CisJfQorfQorCisvKiBbIV1jb2xvcls6c3RyaW5nfDpoZXhfbnVtYmVyfDpvY3RfbnVtYmVyXVtAb2ZmdHxAb2ZmdF9zdGFydC1vZmZ0X2VuZF0sLi4uICovCitzdGF0aWMgc3RydWN0IGxpc3RfaGVhZCAqY29sb3JfZm10KGNoYXIgKmNmbXQsIGludCBiY250KQoreworCXN0cnVjdCBoZXhkdW1wX2NsciAqaGMsICpoY25leHQ7CisJc3RydWN0IGxpc3RfaGVhZCAqcmV0X2hlYWQ7CisJY2hhciAqY2xyLCAqZm10OworCisJcmV0X2hlYWQgPSB4bWFsbG9jKHNpemVvZihzdHJ1Y3QgbGlzdF9oZWFkKSk7CisJaGNuZXh0ID0gaGMgPSB4Y2FsbG9jKDEsIHNpemVvZihzdHJ1Y3QgaGV4ZHVtcF9jbHIpKTsKKworCUlOSVRfTElTVF9IRUFEKCZoYy0+Y29sb3JsaXN0KTsKKwlJTklUX0xJU1RfSEVBRChyZXRfaGVhZCk7CisJbGlzdF9hZGRfdGFpbCgmaGMtPmNvbG9ybGlzdCwgcmV0X2hlYWQpOworCisJZm10ID0gY2ZtdDsKKwl3aGlsZSAoY2ZtdCAmJiAqY2ZtdCkgeworCQljaGFyICplbmQ7CisJCS8qIGludmVydCB0aGlzIGNvbmRpdGlvbiAqLworCQlpZiAoKmNmbXQgPT0gJyEnKSB7CisJCQloY25leHQtPmludmVydCA9IDE7CisJCQkrK2NmbXQ7CisJCX0KKworCQljbHIgPSB4c3RybmR1cChjZm10LCBzdHJjc3BuKGNmbXQsICI6QCwiKSk7CisJCWNmbXQgKz0gc3RybGVuKGNscik7CisJCWhjbmV4dC0+Zm10ID0gY29sb3Jfc2VxdWVuY2VfZnJvbV9jb2xvcm5hbWUoY2xyKTsKKwkJZnJlZShjbHIpOworCisJCWlmICghaGNuZXh0LT5mbXQpCisJCQlyZXR1cm4gTlVMTDsKKworCQkvKiBvbmx5IGNvbG9yaXplIHRoaXMgc3BlY2lmaWMgdmFsdWUgKi8KKwkJaWYgKCpjZm10ID09ICc6JykgeworCQkJKytjZm10OworCQkJLyogYSBoZXggb3Igb2N0IHZhbHVlICovCisJCQlpZiAoKmNmbXQgPT0gJzAnKSB7CisJCQkJLyogaGV4ICovCisJCQkJZXJybm8gPSAwOworCQkJCWVuZCA9IE5VTEw7CisJCQkJaWYgKGNmbXRbMV0gPT0gJ3gnIHx8IGNmbXRbMV0gPT0gJ1gnKQorCQkJCQloY25leHQtPnZhbCA9IHN0cnRvdWwoY2ZtdCArIDIsICZlbmQsIDE2KTsKKwkJCQllbHNlCisJCQkJCWhjbmV4dC0+dmFsID0gc3RydG91bChjZm10LCAmZW5kLCA4KTsKKwkJCQlpZiAoZXJybm8gfHwgZW5kID09IGNmbXQpCisJCQkJCWJhZGZtdChmbXQpOworCQkJCWNmbXQgPSBlbmQ7CisJCQkvKiBhIHN0cmluZyAqLworCQkJfSBlbHNlIHsKKwkJCQlvZmZfdCBmbXRfZW5kOworCQkJCWNoYXIgZW5kY2hhcjsKKwkJCQljaGFyICplbmRzdHI7CisKKwkJCQloY25leHQtPnZhbCA9IC0xOworCQkJCS8qIHRlbXBvcmFyaWx5IG51bGwtZGVsaW1pdCB0aGUgZm9ybWF0LCBzbyB3ZSBjYW4gcmV2ZXJzZS1zZWFyY2gKKwkJCQkgKiBmb3IgdGhlIHN0YXJ0IG9mIGFuIG9mZnNldCBzcGVjaWZpZXIgKi8KKwkJCQlmbXRfZW5kID0gc3RyY3NwbihjZm10LCAiLCIpOworCQkJCWVuZGNoYXIgPSBjZm10W2ZtdF9lbmRdOworCQkJCWNmbXRbZm10X2VuZF0gPSAnXDAnOworCQkJCWVuZHN0ciA9IHN0cnJjaHIoY2ZtdCwgJ0AnKTsKKworCQkJCWlmIChlbmRzdHIpIHsKKwkJCQkJaWYgKGVuZHN0clsxXSAhPSAnXDAnKQorCQkJCQkJLS1lbmRzdHI7CisJCQkJCWhjbmV4dC0+c3RyID0geHN0cm5kdXAoY2ZtdCwgZW5kc3RyIC0gY2ZtdCArIDEpOworCQkJCX0gZWxzZQorCQkJCQloY25leHQtPnN0ciA9IHhzdHJuZHVwKGNmbXQsIGZtdF9lbmQpOworCisJCQkJLyogcmVzdG9yZSB0aGUgY2hhcmFjdGVyICovCisJCQkJY2ZtdFtmbXRfZW5kXSA9IGVuZGNoYXI7CisJCQkJY2ZtdCArPSBzdHJsZW4oaGNuZXh0LT5zdHIpOworCQkJfQorCisJCS8qIG5vIHNwZWNpZmljIHZhbHVlICovCisJCX0gZWxzZQorCQkJaGNuZXh0LT52YWwgPSAtMTsKKworCQkvKiBvbmx5IGNvbG9yaXplIGF0IHRoaXMgb2Zmc2V0ICovCisJCWhjbmV4dC0+cmFuZ2UgPSBiY250OworCQlpZiAoY2ZtdCAmJiAqY2ZtdCA9PSAnQCcpIHsKKwkJCWVycm5vID0gMDsKKwkJCWhjbmV4dC0+b2ZmdCA9IHN0cnRvdWwoKytjZm10LCAmY2ZtdCwgMTApOworCQkJaWYgKGVycm5vKQorCQkJCWJhZGZtdChmbXQpOworCisJCQkvKiBvZmZzZXQgcmFuZ2UgKi8KKwkJCWlmICgqY2ZtdCA9PSAnLScpIHsKKwkJCQkrK2NmbXQ7CisJCQkJZXJybm8gPSAwOworCisJCQkJaGNuZXh0LT5yYW5nZSA9CisJCQkJICBzdHJ0b3VsKGNmbXQsICZjZm10LCAxMCkgLSBoY25leHQtPm9mZnQgKyAxOworCQkJCWlmIChlcnJubykKKwkJCQkJYmFkZm10KGZtdCk7CisJCQkJLyogb2Zmc2V0IHJhbmdlIG11c3QgYmUgYmV0d2VlbiAwIGFuZCBmb3JtYXQgYnl0ZSBjb3VudCAqLworCQkJCWlmIChoY25leHQtPnJhbmdlIDwgMCkKKwkJCQkJYmFkY250KCJfTCIpOworCQkJCS8qIHRoZSBvZmZzZXQgZXh0ZW5kcyBvdmVyIHNldmVyYWwgcHJpbnQgdW5pdHMsIGNsb25lCisJCQkJICogdGhlIGNvbmRpdGlvbiwgbGluayBpdCBpbiBhbmQgYWRqdXN0IHRoZSBhZGRyZXNzL29mZnNldCAqLworCQkJCXdoaWxlIChoY25leHQtPnJhbmdlID4gYmNudCkgeworCQkJCQloYyA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBoZXhkdW1wX2NscikpOworCQkJCQltZW1jcHkoaGMsIGhjbmV4dCwgc2l6ZW9mKHN0cnVjdCBoZXhkdW1wX2NscikpOworCisJCQkJCWhjLT5yYW5nZSA9IGJjbnQ7CisKKwkJCQkJSU5JVF9MSVNUX0hFQUQoJmhjLT5jb2xvcmxpc3QpOworCQkJCQlsaXN0X2FkZF90YWlsKCZoYy0+Y29sb3JsaXN0LCByZXRfaGVhZCk7CisKKwkJCQkJaGNuZXh0LT5vZmZ0ICs9IGJjbnQ7CisJCQkJCWhjbmV4dC0+cmFuZ2UgLT0gYmNudDsKKwkJCQl9CisJCQl9CisJCS8qIG5vIHNwZWNpZmljIG9mZnNldCAqLworCQl9IGVsc2UKKwkJCWhjbmV4dC0+b2ZmdCA9IChvZmZfdCktMTsKKworCQkvKiBjaGVjayBpZiB0aGUgc3RyaW5nIHdlJ3JlIGxvb2tpbmcgZm9yIGlzIHRoZSBzYW1lIGxlbmd0aCBhcyB0aGUgcmFuZ2UgKi8KKwkJaWYgKGhjbmV4dC0+c3RyICYmIChpbnQpc3RybGVuKGhjbmV4dC0+c3RyKSAhPSBoY25leHQtPnJhbmdlKQorCQkJYmFkY250KCJfTCIpOworCisJCS8qIGxpbmsgaW4gYW5vdGhlciBjb25kaXRpb24gKi8KKwkJaWYgKGNmbXQgJiYgKmNmbXQgPT0gJywnKSB7CisJCQkrK2NmbXQ7CisKKwkJCWhjbmV4dCA9IHhjYWxsb2MoMSwgc2l6ZW9mKHN0cnVjdCBoZXhkdW1wX2NscikpOworCQkJSU5JVF9MSVNUX0hFQUQoJmhjbmV4dC0+Y29sb3JsaXN0KTsKKwkJCWxpc3RfYWRkX3RhaWwoJmhjbmV4dC0+Y29sb3JsaXN0LCByZXRfaGVhZCk7CisJCX0KKwl9CisJcmV0dXJuIHJldF9oZWFkOworfQorCitzdGF0aWMgdm9pZCBlc2NhcGUoY2hhciAqcDEpCit7CisJY2hhciAqcDI7CisKKwkvKiBhbHBoYWJldGljIGVzY2FwZSBzZXF1ZW5jZXMgaGF2ZSB0byBiZSBkb25lIGluIHBsYWNlICovCisJcDIgPSBwMTsKKwl3aGlsZSAoVFJVRSkgeworCQlpZiAoISpwMSkgeworCQkJKnAyID0gKnAxOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKCpwMSA9PSAnXFwnKQorCQkJc3dpdGNoKCorK3AxKSB7CisJCQljYXNlICdhJzoKKwkJCSAgICAgLyogKnAyID0gJ1xhJzsgKi8KKwkJCQkqcDIgPSAnXDAwNyc7CisJCQkJYnJlYWs7CisJCQljYXNlICdiJzoKKwkJCQkqcDIgPSAnXGInOworCQkJCWJyZWFrOworCQkJY2FzZSAnZic6CisJCQkJKnAyID0gJ1xmJzsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ24nOgorCQkJCSpwMiA9ICdcbic7CisJCQkJYnJlYWs7CisJCQljYXNlICdyJzoKKwkJCQkqcDIgPSAnXHInOworCQkJCWJyZWFrOworCQkJY2FzZSAndCc6CisJCQkJKnAyID0gJ1x0JzsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ3YnOgorCQkJCSpwMiA9ICdcdic7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCSpwMiA9ICpwMTsKKwkJCQlicmVhazsKKwkJCX0KKwkJKytwMTsgKytwMjsKKwl9Cit9CmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2hleGR1bXAuMSBiL3RleHQtdXRpbHMvaGV4ZHVtcC4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIzYzMyZDcKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2hleGR1bXAuMQpAQCAtMCwwICsxLDM3OSBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4OSwgMTk5MCwgMTk5MworLlwiCVRoZSBSZWdlbnRzIG9mIHRoZSBVbml2ZXJzaXR5IG9mIENhbGlmb3JuaWEuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIJQCgjKWhleGR1bXAuMQk4LjIgKEJlcmtlbGV5KSA0LzE4Lzk0CisuXCIKKy5USCBIRVhEVU1QICIxIiAiQXByaWwgMjAxMyIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK2hleGR1bXAgXC0gZGlzcGxheSBmaWxlIGNvbnRlbnRzIGluIGhleGFkZWNpbWFsLCBkZWNpbWFsLCBvY3RhbCwgb3IgYXNjaWkKKy5TSCBTWU5PUFNJUworLkIgaGV4ZHVtcAorLlJJIFtvcHRpb25zXSAiIGZpbGUiIC4uLgorLlNIIERFU0NSSVBUSU9OCitUaGUKKy5CIGhleGR1bXAKK3V0aWxpdHkgaXMgYSBmaWx0ZXIgd2hpY2ggZGlzcGxheXMgdGhlIHNwZWNpZmllZCBmaWxlcywgb3IKK3N0YW5kYXJkIGlucHV0IGlmIG5vIGZpbGVzIGFyZSBzcGVjaWZpZWQsIGluIGEgdXNlci1zcGVjaWZpZWQKK2Zvcm1hdC4KKy5TSCBPUFRJT05TCitCZWxvdywgdGhlIFxmSWxlbmd0aFxmUiBhbmQgXGZJb2Zmc2V0XGZSIGFyZ3VtZW50cyBtYXkgYmUgZm9sbG93ZWQgYnkgdGhlIG11bHRpcGxpY2F0aXZlCitzdWZmaXhlcyBLaUIgKD0xMDI0KSwgTWlCICg9MTAyNCoxMDI0KSwgYW5kIHNvIG9uIGZvciBHaUIsIFRpQiwgUGlCLCBFaUIsIFppQiBhbmQgWWlCCisodGhlICJpQiIgaXMgb3B0aW9uYWwsIGUuZy4gIksiIGhhcyB0aGUgc2FtZSBtZWFuaW5nIGFzICJLaUIiKSwgb3IgdGhlIHN1ZmZpeGVzCitLQiAoPTEwMDApLCBNQiAoPTEwMDAqMTAwMCksIGFuZCBzbyBvbiBmb3IgR0IsIFRCLCBQQiwgRUIsIFpCIGFuZCBZQi4KKy5UUAorXGZCXC1iXGZSLCBcZkJcLVwtb25lXC1ieXRlXC1vY3RhbFxmUgorXGZJT25lLWJ5dGUgb2N0YWwgZGlzcGxheVxmUi4gIERpc3BsYXkgdGhlIGlucHV0IG9mZnNldCBpbiBoZXhhZGVjaW1hbCwKK2ZvbGxvd2VkIGJ5IHNpeHRlZW4gc3BhY2Utc2VwYXJhdGVkLCB0aHJlZS1jb2x1bW4sIHplcm8tZmlsbGVkIGJ5dGVzIG9mIGlucHV0CitkYXRhLCBpbiBvY3RhbCwgcGVyIGxpbmUuCisuVFAKK1xmQlwtY1xmUiwgXGZCXC1cLW9uZVwtYnl0ZVwtY2hhclxmUgorXGZJT25lLWJ5dGUgY2hhcmFjdGVyIGRpc3BsYXlcZlIuICBEaXNwbGF5IHRoZSBpbnB1dCBvZmZzZXQgaW4gaGV4YWRlY2ltYWwsCitmb2xsb3dlZCBieSBzaXh0ZWVuIHNwYWNlLXNlcGFyYXRlZCwgdGhyZWUtY29sdW1uLCBzcGFjZS1maWxsZWQgY2hhcmFjdGVycyBvZgoraW5wdXQgZGF0YSBwZXIgbGluZS4KKy5UUAorXGZCXC1DXGZSLCBcZkJcLVwtY2Fub25pY2FsXGZSCitcZklDYW5vbmljYWwgaGV4K0FTQ0lJIGRpc3BsYXlcZlIuICBEaXNwbGF5IHRoZSBpbnB1dCBvZmZzZXQgaW4gaGV4YWRlY2ltYWwsCitmb2xsb3dlZCBieSBzaXh0ZWVuIHNwYWNlLXNlcGFyYXRlZCwgdHdvLWNvbHVtbiwgaGV4YWRlY2ltYWwgYnl0ZXMsIGZvbGxvd2VkCitieSB0aGUgc2FtZSBzaXh0ZWVuIGJ5dGVzIGluCisuQiAlX3AKK2Zvcm1hdCBlbmNsb3NlZCBpbgorLlJCICcgfCAnCitjaGFyYWN0ZXJzLgorLlRQCitcZkJcLWRcZlIsIFxmQlwtXC10d29cLWJ5dGVzXC1kZWNpbWFsXGZSCitcZklUd28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcZlIuICBEaXNwbGF5IHRoZSBpbnB1dCBvZmZzZXQgaW4gaGV4YWRlY2ltYWwsCitmb2xsb3dlZCBieSBlaWdodCBzcGFjZS1zZXBhcmF0ZWQsIGZpdmUtY29sdW1uLCB6ZXJvLWZpbGxlZCwgdHdvLWJ5dGUgdW5pdHMKK29mIGlucHV0IGRhdGEsIGluIHVuc2lnbmVkIGRlY2ltYWwsIHBlciBsaW5lLgorLlRQCitcZkJcLWVcZlIsIFxmQlwtXC1mb3JtYXRcZlIgXGZJZm9ybWF0X3N0cmluZ1xmUgorU3BlY2lmeSBhIGZvcm1hdCBzdHJpbmcgdG8gYmUgdXNlZCBmb3IgZGlzcGxheWluZyBkYXRhLgorLlRQCitcZkJcLWZcZlIsIFxmQlwtXC1mb3JtYXRcLWZpbGVcZlIgXGZJZmlsZVxmUgorU3BlY2lmeSBhIGZpbGUgdGhhdCBjb250YWlucyBvbmUgb3IgbW9yZSBuZXdsaW5lLXNlcGFyYXRlZCBmb3JtYXQgc3RyaW5ncy4KK0VtcHR5IGxpbmVzIGFuZCBsaW5lcyB3aG9zZSBmaXJzdCBub24tYmxhbmsgY2hhcmFjdGVyIGlzIGEgaGFzaCBtYXJrIChcJiMpCithcmUgaWdub3JlZC4KKy5UUAorXGZCXC1MXGZSLCBcZkJcLVwtY29sb3JcZlJbPVxmSXdoZW5cZlJdCitBY2NlcHQgY29sb3IgdW5pdHMgZm9yIHRoZSBvdXRwdXQuICBUaGUgb3B0aW9uYWwgYXJndW1lbnQgXGZJd2hlblxmUAorY2FuIGJlIFxmQmF1dG9cZlIsIFxmQm5ldmVyXGZSIG9yIFxmQmFsd2F5c1xmUi4gIElmIHRoZSBcZkl3aGVuXGZSIGFyZ3VtZW50IGlzIG9taXR0ZWQsCitpdCBkZWZhdWx0cyB0byBcZkJhdXRvXGZSLiAgVGhlIGNvbG9ycyBjYW4gYmUgZGlzYWJsZWQ7IGZvciB0aGUgY3VycmVudCBidWlsdC1pbiBkZWZhdWx0CitzZWUgdGhlIFxmQlwtXC1oZWxwXGZSIG91dHB1dC4gIFNlZSBhbHNvIHRoZSBcZkJDb2xvcnNcZlIgc3Vic2VjdGlvbiBhbmQKK3RoZSBcZkJDT0xPUlNcZlIgc2VjdGlvbiBiZWxvdy4KKy5UUAorXGZCXC1uXGZSLCBcZkJcLVwtbGVuZ3RoXGZSIFxmSWxlbmd0aFxmUgorSW50ZXJwcmV0IG9ubHkKKy5JIGxlbmd0aAorYnl0ZXMgb2YgaW5wdXQuCisuVFAKK1xmQlwtb1xmUiwgXGZCXC1cLXR3b1wtYnl0ZXNcLW9jdGFsXGZSCitcZklUd28tYnl0ZSBvY3RhbCBkaXNwbGF5XGZSLiAgRGlzcGxheSB0aGUgaW5wdXQgb2Zmc2V0IGluIGhleGFkZWNpbWFsLAorZm9sbG93ZWQgYnkgZWlnaHQgc3BhY2Utc2VwYXJhdGVkLCBzaXgtY29sdW1uLCB6ZXJvLWZpbGxlZCwgdHdvLWJ5dGUKK3F1YW50aXRpZXMgb2YgaW5wdXQgZGF0YSwgaW4gb2N0YWwsIHBlciBsaW5lLgorLlRQCitcZkJcLXNcZlIsIFxmQlwtXC1za2lwXGZSIFxmSW9mZnNldFxmUgorU2tpcAorLkkgb2Zmc2V0CitieXRlcyBmcm9tIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGlucHV0LgorLlRQCitcZkJcLXZcZlIsIFxmQlwtXC1ub1wtc3F1ZWV6aW5nXGZSCitUaGUKKy5CIFwtdgorb3B0aW9uIGNhdXNlcworLkIgaGV4ZHVtcAordG8gZGlzcGxheSBhbGwgaW5wdXQgZGF0YS4gIFdpdGhvdXQgdGhlCisuQiBcLXYKK29wdGlvbiwgYW55IG51bWJlciBvZiBncm91cHMgb2Ygb3V0cHV0IGxpbmVzIHdoaWNoIHdvdWxkIGJlIGlkZW50aWNhbCB0byB0aGUKK2ltbWVkaWF0ZWx5IHByZWNlZGluZyBncm91cCBvZiBvdXRwdXQgbGluZXMgKGV4Y2VwdCBmb3IgdGhlIGlucHV0IG9mZnNldHMpLAorYXJlIHJlcGxhY2VkIHdpdGggYSBsaW5lIGNvbXByaXNlZCBvZiBhIHNpbmdsZSBhc3Rlcmlzay4KKy5UUAorXGZCXC14XGZSLCBcZkJcLVwtdHdvXC1ieXRlc1wtaGV4XGZSCitcZklUd28tYnl0ZSBoZXhhZGVjaW1hbCBkaXNwbGF5XGZSLiAgRGlzcGxheSB0aGUgaW5wdXQgb2Zmc2V0IGluIGhleGFkZWNpbWFsLAorZm9sbG93ZWQgYnkgZWlnaHQgc3BhY2Utc2VwYXJhdGVkLCBmb3VyLWNvbHVtbiwgemVyby1maWxsZWQsIHR3by1ieXRlCitxdWFudGl0aWVzIG9mIGlucHV0IGRhdGEsIGluIGhleGFkZWNpbWFsLCBwZXIgbGluZS4KKy5UUAorLkJSIFwtViAsICIgXC1cLXZlcnNpb24iCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuVFAKKy5CUiBcLWggLCAiIFwtXC1oZWxwIgorRGlzcGxheSBoZWxwIHRleHQgYW5kIGV4aXQuCisuUFAKK0ZvciBlYWNoIGlucHV0IGZpbGUsCisuQiBoZXhkdW1wCitzZXF1ZW50aWFsbHkgY29waWVzIHRoZSBpbnB1dCB0byBzdGFuZGFyZCBvdXRwdXQsIHRyYW5zZm9ybWluZyB0aGUgZGF0YQorYWNjb3JkaW5nIHRvIHRoZSBmb3JtYXQgc3RyaW5ncyBzcGVjaWZpZWQgYnkgdGhlCisuQiBcLWUKK2FuZAorLkIgXC1mCitvcHRpb25zLCBpbiB0aGUgb3JkZXIgdGhhdCB0aGV5IHdlcmUgc3BlY2lmaWVkLgorLlNIIEZPUk1BVFMKK0EgZm9ybWF0IHN0cmluZyBjb250YWlucyBhbnkgbnVtYmVyIG9mIGZvcm1hdCB1bml0cywgc2VwYXJhdGVkIGJ5IHdoaXRlc3BhY2UuCitBIGZvcm1hdCB1bml0IGNvbnRhaW5zIHVwIHRvIHRocmVlIGl0ZW1zOiBhbiBpdGVyYXRpb24gY291bnQsIGEgYnl0ZSBjb3VudCwKK2FuZCBhIGZvcm1hdC4KKy5QUAorVGhlIGl0ZXJhdGlvbiBjb3VudCBpcyBhbiBvcHRpb25hbCBwb3NpdGl2ZSBpbnRlZ2VyLCB3aGljaCBkZWZhdWx0cyB0byBvbmUuCitFYWNoIGZvcm1hdCBpcyBhcHBsaWVkIGl0ZXJhdGlvbiBjb3VudCB0aW1lcy4KKy5QUAorVGhlIGJ5dGUgY291bnQgaXMgYW4gb3B0aW9uYWwgcG9zaXRpdmUgaW50ZWdlci4gIElmIHNwZWNpZmllZCBpdCBkZWZpbmVzIHRoZQorbnVtYmVyIG9mIGJ5dGVzIHRvIGJlIGludGVycHJldGVkIGJ5IGVhY2ggaXRlcmF0aW9uIG9mIHRoZSBmb3JtYXQuCisuUFAKK0lmIGFuIGl0ZXJhdGlvbiBjb3VudCBhbmQvb3IgYSBieXRlIGNvdW50IGlzIHNwZWNpZmllZCwgYSBzaW5nbGUgc2xhc2ggbXVzdAorYmUgcGxhY2VkIGFmdGVyIHRoZSBpdGVyYXRpb24gY291bnQgYW5kL29yIGJlZm9yZSB0aGUgYnl0ZSBjb3VudCB0bworZGlzYW1iaWd1YXRlIHRoZW0uICBBbnkgd2hpdGVzcGFjZSBiZWZvcmUgb3IgYWZ0ZXIgdGhlIHNsYXNoIGlzIGlnbm9yZWQuCisuUFAKK1RoZSBmb3JtYXQgaXMgcmVxdWlyZWQgYW5kIG11c3QgYmUgc3Vycm91bmRlZCBieSBkb3VibGUgcXVvdGUgKCIgIikgbWFya3MuCitJdCBpcyBpbnRlcnByZXRlZCBhcyBhIGZwcmludGYtc3R5bGUgZm9ybWF0IHN0cmluZyAoc2VlCisuQlIgZnByaW50ZiAoMyksCit3aXRoIHRoZSBmb2xsb3dpbmcgZXhjZXB0aW9uczoKKy5UUAorMS4KK0FuIGFzdGVyaXNrICgqKSBtYXkgbm90IGJlIHVzZWQgYXMgYSBmaWVsZCB3aWR0aCBvciBwcmVjaXNpb24uCisuVFAKKzIuCitBIGJ5dGUgY291bnQgb3IgZmllbGQgcHJlY2lzaW9uCisuSSBpcworcmVxdWlyZWQgZm9yIGVhY2gKKy5CIHMKK2NvbnZlcnNpb24gY2hhcmFjdGVyICh1bmxpa2UgdGhlCisuQlIgZnByaW50ZiAoMykKK2RlZmF1bHQgd2hpY2ggcHJpbnRzIHRoZSBlbnRpcmUgc3RyaW5nIGlmIHRoZSBwcmVjaXNpb24gaXMgdW5zcGVjaWZpZWQpLgorLlRQCiszLgorVGhlIGNvbnZlcnNpb24gY2hhcmFjdGVycworLkJSIGggLCBcIGwgLCBcIG4gLCBcIHAgLAorLlJCICBhbmQgXCBxCithcmUgbm90IHN1cHBvcnRlZC4KKy5UUAorNC4KK1RoZSBzaW5nbGUgY2hhcmFjdGVyIGVzY2FwZSBzZXF1ZW5jZXMgZGVzY3JpYmVkIGluIHRoZSBDIHN0YW5kYXJkIGFyZQorc3VwcG9ydGVkOgorLlBQCisuUlMgMTMKKy5QRCAwCisuVFAgMjEKK05VTEwKK1xlMAorLlRQCis8YWxlcnQgY2hhcmFjdGVyPgorXGVhCisuVFAKKzxiYWNrc3BhY2U+CitcZWIKKy5UUAorPGZvcm0tZmVlZD4KK1xlZgorLlRQCis8bmV3bGluZT4KK1xlbgorLlRQCis8Y2FycmlhZ2UgcmV0dXJuPgorXGVyCisuVFAKKzx0YWI+CitcZXQKKy5UUAorPHZlcnRpY2FsIHRhYj4KK1xldgorLlBECisuUkUKKy5QUAorLlNTIENvbnZlcnNpb24gc3RyaW5ncworVGhlCisuQiBoZXhkdW1wCit1dGlsaXR5IGFsc28gc3VwcG9ydHMgdGhlIGZvbGxvd2luZyBhZGRpdGlvbmFsIGNvbnZlcnNpb24gc3RyaW5ncy4KKy5UUAorLkIgXCZfYVtkb3hdCitEaXNwbGF5IHRoZSBpbnB1dCBvZmZzZXQsIGN1bXVsYXRpdmUgYWNyb3NzIGlucHV0IGZpbGVzLCBvZiB0aGUgbmV4dCBieXRlIHRvCitiZSBkaXNwbGF5ZWQuICBUaGUgYXBwZW5kZWQgY2hhcmFjdGVycworLkJSIGQgLAorLkJSIG8gLAorYW5kCisuQiB4CitzcGVjaWZ5IHRoZSBkaXNwbGF5IGJhc2UgYXMgZGVjaW1hbCwgb2N0YWwgb3IgaGV4YWRlY2ltYWwgcmVzcGVjdGl2ZWx5LgorLlRQCisuQiBcJl9BW2RveF0KK0lkZW50aWNhbCB0byB0aGUKKy5CIFwmX2EKK2NvbnZlcnNpb24gc3RyaW5nIGV4Y2VwdCB0aGF0IGl0IGlzIG9ubHkgcGVyZm9ybWVkIG9uY2UsIHdoZW4gYWxsIG9mIHRoZQoraW5wdXQgZGF0YSBoYXMgYmVlbiBwcm9jZXNzZWQuCisuVFAKKy5CIFwmX2MKK091dHB1dCBjaGFyYWN0ZXJzIGluIHRoZSBkZWZhdWx0IGNoYXJhY3RlciBzZXQuICBOb24tcHJpbnRpbmcgY2hhcmFjdGVycyBhcmUKK2Rpc3BsYXllZCBpbiB0aHJlZS1jaGFyYWN0ZXIsIHplcm8tcGFkZGVkIG9jdGFsLCBleGNlcHQgZm9yIHRob3NlCityZXByZXNlbnRhYmxlIGJ5IHN0YW5kYXJkIGVzY2FwZSBub3RhdGlvbiAoc2VlIGFib3ZlKSwgd2hpY2ggYXJlIGRpc3BsYXllZCBhcwordHdvLWNoYXJhY3RlciBzdHJpbmdzLgorLlRQCisuQiBcJl9wCitPdXRwdXQgY2hhcmFjdGVycyBpbiB0aGUgZGVmYXVsdCBjaGFyYWN0ZXIgc2V0LiAgTm9uLXByaW50aW5nIGNoYXJhY3RlcnMgYXJlCitkaXNwbGF5ZWQgYXMgYSBzaW5nbGUKKy5SQiAnIFwmLiAnLgorLlRQCisuQiBcJl91CitPdXRwdXQgVVMgQVNDSUkgY2hhcmFjdGVycywgd2l0aCB0aGUgZXhjZXB0aW9uIHRoYXQgY29udHJvbCBjaGFyYWN0ZXJzIGFyZQorZGlzcGxheWVkIHVzaW5nIHRoZSBmb2xsb3dpbmcsIGxvd2VyLWNhc2UsIG5hbWVzLiAgQ2hhcmFjdGVycyBncmVhdGVyIHRoYW4KKzB4ZmYsIGhleGFkZWNpbWFsLCBhcmUgZGlzcGxheWVkIGFzIGhleGFkZWNpbWFsIHN0cmluZ3MuCisuUlMgMTAKKy5UUwordGFiKHwpOworbGVmdCBsIGwgbCBsIGwuCiswMDAgbnVsfDAwMSBzb2h8MDAyIHN0eHwwMDMgZXR4fDAwNCBlb3R8MDA1IGVucQorMDA2IGFja3wwMDcgYmVsfDAwOCBic3wwMDkgaHR8MDBBIGxmfDAwQiB2dAorMDBDIGZmfDAwRCBjcnwwMEUgc298MDBGIHNpfDAxMCBkbGV8MDExIGRjMQorMDEyIGRjMnwwMTMgZGMzfDAxNCBkYzR8MDE1IG5ha3wwMTYgc3lufDAxNyBldGIKKzAxOCBjYW58MDE5IGVtfDAxQSBzdWJ8MDFCIGVzY3wwMUMgZnN8MDFEIGdzCiswMUUgcnN8MDFGIHVzfDBGRiBkZWwKKy5URQorLlNTIENvbG9ycworV2hlbiBwdXQgYXQgdGhlIGVuZCBvZiBhIGZvcm1hdCBzcGVjaWZpZXIsIGhleGR1bXAgaGlnaGxpZ2h0cyB0aGUKK3Jlc3BlY3RpdmUgc3RyaW5nIHdpdGggdGhlIGNvbG9yIHNwZWNpZmllZC4gIENvbmRpdGlvbnMsIGlmIHByZXNlbnQsIGFyZQorZXZhbHVhdGVkIHByaW9yIHRvIGhpZ2hsaWdodGluZy4KKy5QUAorLkIgXCZfTFtjb2xvcl91bml0XzEsXDpjb2xvcl91bml0XzIsXDouLi4sXDpjb2xvcl91bml0X25dCisuUFAKK1RoZSBmdWxsIHN5bnRheCBvZiBhIGNvbG9yIHVuaXQgaXMgYXMgZm9sbG93czoKKy5QUAorLkIgWyFdQ09MT1JcOls6VkFMVUVdXDpbQE9GRlNFVF9TVEFSVFstRU5EXV0KKy5UUAorLkIgIQorTmVnYXRlIHRoZSBjb25kaXRpb24uICBQbGVhc2Ugbm90ZSB0aGF0IGl0IG9ubHkgbWFrZXMgc2Vuc2UgdG8gbmVnYXRlIGEKK3VuaXQgaWYgYm90aCBhIHZhbHVlL1w6c3RyaW5nIGFuZCBhbiBvZmZzZXQgYXJlIHNwZWNpZmllZC4gIEluIHRoYXQgY2FzZQordGhlIHJlc3BlY3RpdmUgb3V0cHV0IHN0cmluZyB3aWxsIGJlIGhpZ2hsaWdodGVkIGlmIGFuZCBvbmx5IGlmIHRoZQordmFsdWUvXDpzdHJpbmcgZG9lcyBub3QgbWF0Y2ggdGhlIG9uZSBhdCB0aGUgb2Zmc2V0LgorLlRQCisuQiBDT0xPUgorT25lIG9mIHRoZSA4IGJhc2ljIHNoZWxsIGNvbG9ycy4KKy5UUAorLkIgVkFMVUUKK0EgdmFsdWUgdG8gYmUgbWF0Y2hlZCBzcGVjaWZpZWQgaW4gaGV4YWRlY2ltYWwsIG9yIG9jdGFsIGJhc2UsIG9yIGFzIGEKK3N0cmluZy4gIFBsZWFzZSBub3RlIHRoYXQgdGhlIHVzdWFsIEMgZXNjYXBlIHNlcXVlbmNlcyBhcmUgbm90CitpbnRlcnByZXRlZCBieSBoZXhkdW1wIGluc2lkZSB0aGUgY29sb3JfdW5pdHMuCisuVFAKKy5CIE9GRlNFVAorQW4gb2Zmc2V0IG9yIGFuIG9mZnNldCByYW5nZSBhdCB3aGljaCB0byBjaGVjayBmb3IgYSBtYXRjaC4gIFBsZWFzZSBub3RlCit0aGF0IGxvbmUgT0ZGU0VUX1NUQVJUIHVzZXMgdGhlIHNhbWUgdmFsdWUgYXMgRU5EIG9mZnNldC4KKy5TUyBDb3VudGVycworVGhlIGRlZmF1bHQgYW5kIHN1cHBvcnRlZCBieXRlIGNvdW50cyBmb3IgdGhlIGNvbnZlcnNpb24gY2hhcmFjdGVycworYXJlIGFzIGZvbGxvd3M6CisuVFAKKy5CUiBcJiVfYyAsIFwgXCYlX3AgLCBcIFwmJV91ICwgXCBcJiVjCitPbmUgYnl0ZSBjb3VudHMgb25seS4KKy5UUAorLkJSIFwmJWQgLCBcIFwmJWkgLCBcIFwmJW8gLCBcIFwmJXUgLCBcIFwmJVggLCBcIFwmJXgKK0ZvdXIgYnl0ZSBkZWZhdWx0LCBvbmUsIHR3byBhbmQgZm91ciBieXRlIGNvdW50cyBzdXBwb3J0ZWQuCisuVFAKKy5CUiBcJiVFICwgXCBcJiVlICwgXCBcJiVmICwgXCBcJiVHICwgXCBcJiVnCitFaWdodCBieXRlIGRlZmF1bHQsIGZvdXIgYnl0ZSBjb3VudHMgc3VwcG9ydGVkLgorLlBQCitUaGUgYW1vdW50IG9mIGRhdGEgaW50ZXJwcmV0ZWQgYnkgZWFjaCBmb3JtYXQgc3RyaW5nIGlzIHRoZSBzdW0gb2YgdGhlIGRhdGEKK3JlcXVpcmVkIGJ5IGVhY2ggZm9ybWF0IHVuaXQsIHdoaWNoIGlzIHRoZSBpdGVyYXRpb24gY291bnQgdGltZXMgdGhlIGJ5dGUKK2NvdW50LCBvciB0aGUgaXRlcmF0aW9uIGNvdW50IHRpbWVzIHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVxdWlyZWQgYnkgdGhlCitmb3JtYXQgaWYgdGhlIGJ5dGUgY291bnQgaXMgbm90IHNwZWNpZmllZC4KKy5QUAorVGhlIGlucHV0IGlzIG1hbmlwdWxhdGVkIGluCisuSVIgYmxvY2tzICwKK3doZXJlIGEgYmxvY2sgaXMgZGVmaW5lZCBhcyB0aGUgbGFyZ2VzdCBhbW91bnQgb2YgZGF0YSBzcGVjaWZpZWQgYnkgYW55Citmb3JtYXQgc3RyaW5nLiAgRm9ybWF0IHN0cmluZ3MgaW50ZXJwcmV0aW5nIGxlc3MgdGhhbiBhbiBpbnB1dCBibG9jaydzIHdvcnRoCitvZiBkYXRhLCB3aG9zZSBsYXN0IGZvcm1hdCB1bml0IGJvdGggaW50ZXJwcmV0cyBzb21lIG51bWJlciBvZiBieXRlcyBhbmQgZG9lcworbm90IGhhdmUgYSBzcGVjaWZpZWQgaXRlcmF0aW9uIGNvdW50LCBoYXZlIHRoZSBpdGVyYXRpb24gY291bnQgaW5jcmVtZW50ZWQKK3VudGlsIHRoZSBlbnRpcmUgaW5wdXQgYmxvY2sgaGFzIGJlZW4gcHJvY2Vzc2VkIG9yIHRoZXJlIGlzIG5vdCBlbm91Z2ggZGF0YQorcmVtYWluaW5nIGluIHRoZSBibG9jayB0byBzYXRpc2Z5IHRoZSBmb3JtYXQgc3RyaW5nLgorLlBQCitJZiwgZWl0aGVyIGFzIGEgcmVzdWx0IG9mIHVzZXIgc3BlY2lmaWNhdGlvbiBvcgorLkIgaGV4ZHVtcAorbW9kaWZ5aW5nIHRoZSBpdGVyYXRpb24gY291bnQgYXMgZGVzY3JpYmVkIGFib3ZlLCBhbiBpdGVyYXRpb24gY291bnQgaXMKK2dyZWF0ZXIgdGhhbiBvbmUsIG5vIHRyYWlsaW5nIHdoaXRlc3BhY2UgY2hhcmFjdGVycyBhcmUgb3V0cHV0IGR1cmluZyB0aGUKK2xhc3QgaXRlcmF0aW9uLgorLlBQCitJdCBpcyBhbiBlcnJvciB0byBzcGVjaWZ5IGEgYnl0ZSBjb3VudCBhcyB3ZWxsIGFzIG11bHRpcGxlIGNvbnZlcnNpb24KK2NoYXJhY3RlcnMgb3Igc3RyaW5ncyB1bmxlc3MgYWxsIGJ1dCBvbmUgb2YgdGhlIGNvbnZlcnNpb24gY2hhcmFjdGVycyBvcgorc3RyaW5ncyBpcworLkIgXCZfYQorb3IKKy5CUiBcJl9BIC4KKy5QUAorSWYsIGFzIGEgcmVzdWx0IG9mIHRoZSBzcGVjaWZpY2F0aW9uIG9mIHRoZQorLkIgXC1uCitvcHRpb24gb3IgZW5kLW9mLWZpbGUgYmVpbmcgcmVhY2hlZCwgaW5wdXQgZGF0YSBvbmx5IHBhcnRpYWxseSBzYXRpc2ZpZXMgYQorZm9ybWF0IHN0cmluZywgdGhlIGlucHV0IGJsb2NrIGlzIHplcm8tcGFkZGVkIHN1ZmZpY2llbnRseSB0byBkaXNwbGF5IGFsbAorYXZhaWxhYmxlIGRhdGEgKGkuZS4gYW55IGZvcm1hdCB1bml0cyBvdmVybGFwcGluZyB0aGUgZW5kIG9mIGRhdGEgd2lsbAorZGlzcGxheSBzb21lIG51bWJlciBvZiB0aGUgemVybyBieXRlcykuCisuUFAKK0Z1cnRoZXIgb3V0cHV0IGJ5IHN1Y2ggZm9ybWF0IHN0cmluZ3MgaXMgcmVwbGFjZWQgYnkgYW4gZXF1aXZhbGVudCBudW1iZXIgb2YKK3NwYWNlcy4gIEFuIGVxdWl2YWxlbnQgbnVtYmVyIG9mIHNwYWNlcyBpcyBkZWZpbmVkIGFzIHRoZSBudW1iZXIgb2Ygc3BhY2VzCitvdXRwdXQgYnkgYW4KKy5CIHMKK2NvbnZlcnNpb24gY2hhcmFjdGVyIHdpdGggdGhlIHNhbWUgZmllbGQgd2lkdGggYW5kIHByZWNpc2lvbiBhcyB0aGUgb3JpZ2luYWwKK2NvbnZlcnNpb24gY2hhcmFjdGVyIG9yIGNvbnZlcnNpb24gc3RyaW5nIGJ1dCB3aXRoIGFueQorLlJCICcgXCYrICcsCitcJyBcJywKKy5SQiAnIFwmIyAnCitjb252ZXJzaW9uIGZsYWcgY2hhcmFjdGVycyByZW1vdmVkLCBhbmQgcmVmZXJlbmNpbmcgYSBOVUxMIHN0cmluZy4KKy5QUAorSWYgbm8gZm9ybWF0IHN0cmluZ3MgYXJlIHNwZWNpZmllZCwgdGhlIGRlZmF1bHQgZGlzcGxheSBpcyB2ZXJ5IHNpbWlsYXIgdG8KK3RoZSBcZkJcLXhcZlIgb3V0cHV0IGZvcm1hdCAodGhlIFxmQlwteFxmUiBvcHRpb24gY2F1c2VzIG1vcmUgc3BhY2UgdG8gYmUKK3VzZWQgYmV0d2VlbiBmb3JtYXQgdW5pdHMgdGhhbiBpbiB0aGUgZGVmYXVsdCBvdXRwdXQpLgorLlNIICJFWElUIFNUQVRVUyIKKy5CIGhleGR1bXAKK2V4aXRzIDAgb24gc3VjY2VzcyBhbmQgPjAgaWYgYW4gZXJyb3Igb2NjdXJyZWQuCisuU0ggRVhBTVBMRVMKK0Rpc3BsYXkgdGhlIGlucHV0IGluIHBlcnVzYWwgZm9ybWF0OgorLm5mCisgICAiJTA2LjZfYW8gIiAgMTIvMSAiJTNfdSAiCisgICAiXGV0XGV0IiAiJV9wICIKKyAgICJcZW4iCisubmYKKy5QUAorSW1wbGVtZW50IHRoZSBcLXggb3B0aW9uOgorLm5mCisgICAiJTA3LjdfQXhcZW4iCisgICAiJTA3LjdfYXggICIgOC8yICIlMDR4ICIgIlxlbiIKKy5uZgorLlBQCitNQlIgQm9vdCBTaWduYXR1cmUgZXhhbXBsZTogSGlnaGxpZ2h0IHRoZSBhZGRyZXNzZXMgY3lhbiBhbmQgdGhlIGJ5dGVzIGF0CitvZmZzZXRzIDUxMCBhbmQgNTExIGdyZWVuIGlmIHRoZWlyIHZhbHVlIGlzIDB4QUE1NSwgcmVkIG90aGVyd2lzZS4KKy5uZgorICAgIiUwNy43X0F4X0xbY3lhbl1cZW4iCisgICAiJTA3LjdfYXhfTFtjeWFuXSAgIiA4LzIgIiAgICUwNHhfTFtncmVlbjoweEFBNTVANTEwLTUxMSwhcmVkOjB4QUE1NUA1MTAtNTExXSAiICJcZW4iCisubmYKKy5TSCBDT0xPUlMKK0ltcGxpY2l0IGNvbG9yaW5nIGNhbiBiZSBkaXNhYmxlZCBieSBhbiBlbXB0eSBmaWxlIFxmSS9ldGMvdGVybWluYWwtY29sb3JzLmQvaGV4ZHVtcC5kaXNhYmxlXGZSLgorCitTZWUKKy5CUiB0ZXJtaW5hbC1jb2xvcnMuZCAoNSkKK2ZvciBtb3JlIGRldGFpbHMgYWJvdXQgY29sb3JpemF0aW9uIGNvbmZpZ3VyYXRpb24uCisuU0ggU1RBTkRBUkRTCitUaGUKKy5CIGhleGR1bXAKK3V0aWxpdHkgaXMgZXhwZWN0ZWQgdG8gYmUgSUVFRSBTdGQgMTAwMy4yICgiUE9TSVguMiIpIGNvbXBhdGlibGUuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgaGV4ZHVtcCBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KKy5VUiBodHRwczovL1w6d3d3Lmtlcm5lbC5vcmdcOi9wdWJcOi9saW51eFw6L3V0aWxzXDovdXRpbC1saW51eC8KK0xpbnV4IEtlcm5lbCBBcmNoaXZlCisuVUUgLgpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9oZXhkdW1wLmMgYi90ZXh0LXV0aWxzL2hleGR1bXAuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45NGM1M2I4Ci0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9oZXhkdW1wLmMKQEAgLTAsMCArMSwyNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODkgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisgLyogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICAqIC0gYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAgKi8KKworI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxlcnIuaD4KKyNpbmNsdWRlIDxsaW1pdHMuaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlICJoZXhkdW1wLmgiCisKKyNpbmNsdWRlICJsaXN0LmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNvbG9ycy5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKwordm9pZCBoZXhfZnJlZShzdHJ1Y3QgaGV4ZHVtcCAqKTsKKworaW50CitwYXJzZV9hcmdzKGludCBhcmdjLCBjaGFyICoqYXJndiwgc3RydWN0IGhleGR1bXAgKmhleCkKK3sKKwlpbnQgY2g7CisJaW50IGNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9VTkRFRjsKKwljaGFyICpoZXhfb2ZmdCA9ICJcIiUwNy43X0F4XG5cIiI7CisKKworCXN0YXRpYyBjb25zdCBzdHJ1Y3Qgb3B0aW9uIGxvbmdvcHRzW10gPSB7CisJCXsib25lLWJ5dGUtb2N0YWwiLCBub19hcmd1bWVudCwgTlVMTCwgJ2InfSwKKwkJeyJvbmUtYnl0ZS1jaGFyIiwgbm9fYXJndW1lbnQsIE5VTEwsICdjJ30sCisJCXsiY2Fub25pY2FsIiwgbm9fYXJndW1lbnQsIE5VTEwsICdDJ30sCisJCXsidHdvLWJ5dGVzLWRlY2ltYWwiLCBub19hcmd1bWVudCwgTlVMTCwgJ2QnfSwKKwkJeyJ0d28tYnl0ZXMtb2N0YWwiLCBub19hcmd1bWVudCwgTlVMTCwgJ28nfSwKKwkJeyJ0d28tYnl0ZXMtaGV4Iiwgbm9fYXJndW1lbnQsIE5VTEwsICd4J30sCisJCXsiZm9ybWF0IiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICdlJ30sCisJCXsiZm9ybWF0LWZpbGUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ2YnfSwKKwkJeyJjb2xvciIsIG9wdGlvbmFsX2FyZ3VtZW50LCBOVUxMLCAnTCd9LAorCQl7Imxlbmd0aCIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCAnbid9LAorCQl7InNraXAiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ3MnfSwKKwkJeyJuby1zcXVlZXppbmciLCBub19hcmd1bWVudCwgTlVMTCwgJ3YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXsidmVyc2lvbiIsIG5vX2FyZ3VtZW50LCBOVUxMLCAnVid9LAorCQl7TlVMTCwgbm9fYXJndW1lbnQsIE5VTEwsIDB9CisJfTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiYmNDZGU6ZjpMOjpuOm9zOnZ4aFYiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKSB7CisJCXN3aXRjaCAoY2gpIHsKKwkJY2FzZSAnYic6CisJCQlhZGRfZm10KGhleF9vZmZ0LCBoZXgpOworCQkJYWRkX2ZtdCgiXCIlMDcuN19heCBcIiAxNi8xIFwiJTAzbyBcIiBcIlxcblwiIiwgaGV4KTsKKwkJCWJyZWFrOworCQljYXNlICdjJzoKKwkJCWFkZF9mbXQoaGV4X29mZnQsIGhleCk7CisJCQlhZGRfZm10KCJcIiUwNy43X2F4IFwiIDE2LzEgXCIlM19jIFwiIFwiXFxuXCIiLCBoZXgpOworCQkJYnJlYWs7CisJCWNhc2UgJ0MnOgorCQkJYWRkX2ZtdCgiXCIlMDguOF9BeFxuXCIiLCBoZXgpOworCQkJYWRkX2ZtdCgiXCIlMDguOF9heCAgXCIgOC8xIFwiJTAyeCBcIiBcIiAgXCIgOC8xIFwiJTAyeCBcIiAiLCBoZXgpOworCQkJYWRkX2ZtdCgiXCIgIHxcIiAxNi8xIFwiJV9wXCIgXCJ8XFxuXCIiLCBoZXgpOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQkJYWRkX2ZtdChoZXhfb2ZmdCwgaGV4KTsKKwkJCWFkZF9mbXQoIlwiJTA3LjdfYXggXCIgOC8yIFwiICAlMDV1IFwiIFwiXFxuXCIiLCBoZXgpOworCQkJYnJlYWs7CisJCWNhc2UgJ2UnOgorCQkJYWRkX2ZtdChvcHRhcmcsIGhleCk7CisJCQlicmVhazsKKwkJY2FzZSAnZic6CisJCQlhZGRmaWxlKG9wdGFyZywgaGV4KTsKKwkJCWJyZWFrOworCQljYXNlICdMJzoKKwkJCWNvbG9ybW9kZSA9IFVMX0NPTE9STU9ERV9BVVRPOworCQkJaWYgKG9wdGFyZykKKwkJCQljb2xvcm1vZGUgPSBjb2xvcm1vZGVfb3JfZXJyKG9wdGFyZywKKwkJCQkJCV8oInVuc3VwcG9ydGVkIGNvbG9yIG1vZGUiKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKKwkJY2FzZSAnbic6CisJCQloZXgtPmxlbmd0aCA9IHN0cnRvc2l6ZV9vcl9lcnIob3B0YXJnLCBfKCJmYWlsZWQgdG8gcGFyc2UgbGVuZ3RoIikpOworCQkJYnJlYWs7CisJCWNhc2UgJ28nOgorCQkJYWRkX2ZtdChoZXhfb2ZmdCwgaGV4KTsKKwkJCWFkZF9mbXQoIlwiJTA3LjdfYXggXCIgOC8yIFwiICUwNm8gXCIgXCJcXG5cIiIsIGhleCk7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQloZXgtPnNraXAgPSBzdHJ0b3NpemVfb3JfZXJyKG9wdGFyZywgXygiZmFpbGVkIHRvIHBhcnNlIG9mZnNldCIpKTsKKwkJCWJyZWFrOworCQljYXNlICd2JzoKKwkJCXZmbGFnID0gQUxMOworCQkJYnJlYWs7CisJCWNhc2UgJ3gnOgorCQkJYWRkX2ZtdChoZXhfb2ZmdCwgaGV4KTsKKwkJCWFkZF9mbXQoIlwiJTA3LjdfYXggXCIgOC8yIFwiICAgJTA0eCBcIiBcIlxcblwiIiwgaGV4KTsKKwkJCWJyZWFrOworCQljYXNlICdoJzoKKwkJCXVzYWdlKCk7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCX0KKworCWlmIChsaXN0X2VtcHR5KCZoZXgtPmZzaGVhZCkpIHsKKwkJYWRkX2ZtdChoZXhfb2ZmdCwgaGV4KTsKKwkJYWRkX2ZtdCgiXCIlMDcuN19heCBcIiA4LzIgXCIlMDR4IFwiIFwiXFxuXCIiLCBoZXgpOworCX0KKwljb2xvcnNfaW5pdCAoY29sb3Jtb2RlLCAiaGV4ZHVtcCIpOworCXJldHVybiBvcHRpbmQ7Cit9CisKK3ZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIDxmaWxlPi4uLlxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEaXNwbGF5IGZpbGUgY29udGVudHMgaW4gaGV4YWRlY2ltYWwsIGRlY2ltYWwsIG9jdGFsLCBvciBhc2NpaS5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLWIsIC0tb25lLWJ5dGUtb2N0YWwgICAgICBvbmUtYnl0ZSBvY3RhbCBkaXNwbGF5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMsIC0tb25lLWJ5dGUtY2hhciAgICAgICBvbmUtYnl0ZSBjaGFyYWN0ZXIgZGlzcGxheVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1DLCAtLWNhbm9uaWNhbCAgICAgICAgICAgY2Fub25pY2FsIGhleCtBU0NJSSBkaXNwbGF5XG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWQsIC0tdHdvLWJ5dGVzLWRlY2ltYWwgICB0d28tYnl0ZSBkZWNpbWFsIGRpc3BsYXlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtbywgLS10d28tYnl0ZXMtb2N0YWwgICAgIHR3by1ieXRlIG9jdGFsIGRpc3BsYXlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAteCwgLS10d28tYnl0ZXMtaGV4ICAgICAgIHR3by1ieXRlIGhleGFkZWNpbWFsIGRpc3BsYXlcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtTCwgLS1jb2xvcls9PG1vZGU+XSAgICAgIGludGVycHJldCBjb2xvciBmb3JtYXR0aW5nIHNwZWNpZmllcnNcbiIpLCBvdXQpOworCWZwcmludGYob3V0LAorCSAgICAgICAgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJXNcbiIsIFVTQUdFX0NPTE9SU19ERUZBVUxUKTsKKwlmcHV0cyhfKCIgLWUsIC0tZm9ybWF0IDxmb3JtYXQ+ICAgICBmb3JtYXQgc3RyaW5nIHRvIGJlIHVzZWQgZm9yIGRpc3BsYXlpbmcgZGF0YVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mLCAtLWZvcm1hdC1maWxlIDxmaWxlPiAgZmlsZSB0aGF0IGNvbnRhaW5zIGZvcm1hdCBzdHJpbmdzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4sIC0tbGVuZ3RoIDxsZW5ndGg+ICAgICBpbnRlcnByZXQgb25seSBsZW5ndGggYnl0ZXMgb2YgaW5wdXRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcywgLS1za2lwIDxvZmZzZXQ+ICAgICAgIHNraXAgb2Zmc2V0IGJ5dGVzIGZyb20gdGhlIGJlZ2lubmluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC12LCAtLW5vLXNxdWVlemluZyAgICAgICAgb3V0cHV0IGlkZW50aWNhbCBsaW5lc1xuIiksIG91dCk7CisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMjcpKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoImhleGR1bXAoMSkiKSk7CisKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwOworCXN0cnVjdCBoZXhkdW1wX2ZzICp0ZnM7CisJaW50IHJldDsKKworCXN0cnVjdCBoZXhkdW1wICpoZXggPSB4Y2FsbG9jKDEsIHNpemVvZiAoc3RydWN0IGhleGR1bXApKTsKKwloZXgtPmxlbmd0aCA9IC0xOworCUlOSVRfTElTVF9IRUFEKCZoZXgtPmZzaGVhZCk7CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJYXJndiArPSBwYXJzZV9hcmdzKGFyZ2MsIGFyZ3YsIGhleCk7CisKKwkvKiBmaWd1cmUgb3V0IHRoZSBkYXRhIGJsb2NrIHNpemUgKi8KKwloZXgtPmJsb2Nrc2l6ZSA9IDA7CisJbGlzdF9mb3JfZWFjaChwLCAmaGV4LT5mc2hlYWQpIHsKKwkJdGZzID0gbGlzdF9lbnRyeShwLCBzdHJ1Y3QgaGV4ZHVtcF9mcywgZnNsaXN0KTsKKwkJaWYgKCh0ZnMtPmJjbnQgPSBibG9ja19zaXplKHRmcykpID4gaGV4LT5ibG9ja3NpemUpCisJCQloZXgtPmJsb2Nrc2l6ZSA9IHRmcy0+YmNudDsKKwl9CisKKwkvKiByZXdyaXRlIHRoZSBydWxlcywgZG8gc3ludGF4IGNoZWNraW5nICovCisJbGlzdF9mb3JfZWFjaChwLCAmaGV4LT5mc2hlYWQpCisJCXJld3JpdGVfcnVsZXMobGlzdF9lbnRyeShwLCBzdHJ1Y3QgaGV4ZHVtcF9mcywgZnNsaXN0KSwgaGV4KTsKKworCW5leHQoYXJndiwgaGV4KTsKKwlkaXNwbGF5KGhleCk7CisKKwlyZXQgPSBoZXgtPmV4aXR2YWw7CisJaGV4X2ZyZWUoaGV4KTsKKworCXJldHVybiByZXQ7Cit9CisKK3ZvaWQgaGV4X2ZyZWUoc3RydWN0IGhleGR1bXAgKmhleCkKK3sKKwlzdHJ1Y3QgbGlzdF9oZWFkICpwLCAqcG4sICpxLCAqcW4sICpyLCAqcm4sICpzLCAqc247CisJc3RydWN0IGhleGR1bXBfZnMgKmZzOworCXN0cnVjdCBoZXhkdW1wX2Z1ICpmdTsKKwlzdHJ1Y3QgaGV4ZHVtcF9wciAqcHI7CisJc3RydWN0IGhleGR1bXBfY2xyICpjbHI7CisKKwlsaXN0X2Zvcl9lYWNoX3NhZmUocCwgcG4sICZoZXgtPmZzaGVhZCkgeworCQlmcyA9IGxpc3RfZW50cnkocCwgc3RydWN0IGhleGR1bXBfZnMsIGZzbGlzdCk7CisJCWxpc3RfZm9yX2VhY2hfc2FmZShxLCBxbiwgJmZzLT5mdWxpc3QpIHsKKwkJCWZ1ID0gbGlzdF9lbnRyeShxLCBzdHJ1Y3QgaGV4ZHVtcF9mdSwgZnVsaXN0KTsKKwkJCWxpc3RfZm9yX2VhY2hfc2FmZShyLCBybiwgJmZ1LT5wcmxpc3QpIHsKKwkJCQlwciA9IGxpc3RfZW50cnkociwgc3RydWN0IGhleGR1bXBfcHIsIHBybGlzdCk7CisJCQkJaWYgKHByLT5jb2xvcmxpc3QpIHsKKwkJCQkJbGlzdF9mb3JfZWFjaF9zYWZlKHMsIHNuLCBwci0+Y29sb3JsaXN0KSB7CisJCQkJCQljbHIgPSBsaXN0X2VudHJ5IChzLCBzdHJ1Y3QgaGV4ZHVtcF9jbHIsIGNvbG9ybGlzdCk7CisJCQkJCQlmcmVlKGNsci0+c3RyKTsKKwkJCQkJCWZyZWUoY2xyKTsKKwkJCQkJfQorCQkJCX0KKwkJCQlmcmVlKHByLT5mbXQpOworCQkJCWZyZWUocHIpOworCQkJfQorCQkJZnJlZShmdS0+Zm10KTsKKwkJCWZyZWUoZnUpOworCQl9CisJCWZyZWUoZnMpOworCX0KKwlmcmVlIChoZXgpOworfQpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9oZXhkdW1wLmggYi90ZXh0LXV0aWxzL2hleGR1bXAuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40YThkMTA5Ci0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9oZXhkdW1wLmgKQEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDE5ODkgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKyAqICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKyAqCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKyAqCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKyAqICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorICogICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyAqIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKyAqIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqCisgKglAKCMpaGV4ZHVtcC5oCTUuNCAoQmVya2VsZXkpIDYvMS85MAorICovCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImxpc3QuaCIKKworc3RydWN0IGhleGR1bXBfY2xyIHsKKwlzdHJ1Y3QgbGlzdF9oZWFkIGNvbG9ybGlzdDsJLyogbmV4dCBjb2xvciB1bml0ICovCisJY29uc3QgY2hhciAqZm10OwkJLyogdGhlIGNvbG9yLCBVTF9DT0xPUl8qICovCisJb2ZmX3Qgb2ZmdDsJCQkvKiBvZmZzZXQgd2hlcmUgdW5pdCBpcyB2YWxpZC4uLiAqLworCWludCByYW5nZTsJCQkvKiAuLi4gYW5kIGl0J3MgcmFuZ2UgKi8KKwlpbnQgdmFsOwkJCS8qIHZhbHVlIC4uLiAqLworCWNoYXIgKnN0cjsJCQkvKiAuLi4gb3Igc3RyaW5nIHRvIG1hdGNoICovCisJaW50IGludmVydDsJCQkvKiBpbnZlcnQgY29uZGl0aW9uPyAqLworfTsKKworc3RydWN0IGhleGR1bXBfcHIgeworCXN0cnVjdCBsaXN0X2hlYWQgcHJsaXN0OwkJLyogbmV4dCBwcmludCB1bml0ICovCisjZGVmaW5lCUZfQUREUkVTUwkweDAwMQkJLyogcHJpbnQgb2Zmc2V0ICovCisjZGVmaW5lCUZfQlBBRAkJMHgwMDIJCS8qIGJsYW5rIHBhZCAqLworI2RlZmluZQlGX0MJCTB4MDA0CQkvKiAlX2MgKi8KKyNkZWZpbmUJRl9DSEFSCQkweDAwOAkJLyogJWMgKi8KKyNkZWZpbmUJRl9EQkwJCTB4MDEwCQkvKiAlW0VlZkdmXSAqLworI2RlZmluZQlGX0lOVAkJMHgwMjAJCS8qICVbZGldICovCisjZGVmaW5lCUZfUAkJMHgwNDAJCS8qICVfcCAqLworI2RlZmluZQlGX1NUUgkJMHgwODAJCS8qICVzICovCisjZGVmaW5lCUZfVQkJMHgxMDAJCS8qICVfdSAqLworI2RlZmluZQlGX1VJTlQJCTB4MjAwCQkvKiAlW291WHhdICovCisjZGVmaW5lCUZfVEVYVAkJMHg0MDAJCS8qIG5vIGNvbnZlcnNpb25zICovCisJdW5zaWduZWQgaW50IGZsYWdzOwkJLyogZmxhZyB2YWx1ZXMgKi8KKwlpbnQgYmNudDsJCQkvKiBieXRlIGNvdW50ICovCisJY2hhciAqY2NoYXI7CQkJLyogY29udmVyc2lvbiBjaGFyYWN0ZXIgKi8KKwlzdHJ1Y3QgbGlzdF9oZWFkICpjb2xvcmxpc3Q7CS8qIGNvbG9yIHNldHRpbmdzICovCisJY2hhciAqZm10OwkJCS8qIHByaW50ZiBmb3JtYXQgKi8KKwljaGFyICpub3NwYWNlOwkJCS8qIG5vIHdoaXRlc3BhY2UgdmVyc2lvbiAqLworfTsKKworc3RydWN0IGhleGR1bXBfZnUgeworCXN0cnVjdCBsaXN0X2hlYWQgZnVsaXN0OwkJLyogbmV4dCBmb3JtYXQgdW5pdCAqLworCXN0cnVjdCBsaXN0X2hlYWQgcHJsaXN0OwkJLyogbmV4dCBwcmludCB1bml0ICovCisjZGVmaW5lCUZfSUdOT1JFCTB4MDEJCS8qICVfQSAqLworI2RlZmluZQlGX1NFVFJFUAkweDAyCQkvKiByZXAgY291bnQgc2V0LCBub3QgZGVmYXVsdCAqLworCXVuc2lnbmVkIGludCBmbGFnczsJCS8qIGZsYWcgdmFsdWVzICovCisJaW50IHJlcHM7CQkJLyogcmVwZXRpdGlvbiBjb3VudCAqLworCWludCBiY250OwkJCS8qIGJ5dGUgY291bnQgKi8KKwljaGFyICpmbXQ7CQkJLyogZm9ybWF0IHN0cmluZyAqLworfTsKKworc3RydWN0IGhleGR1bXBfZnMgewkJCS8qIGZvcm1hdCBzdHJpbmdzICovCisJc3RydWN0IGxpc3RfaGVhZCBmc2xpc3Q7CQkvKiBsaW5rZWQgbGlzdCBvZiBmb3JtYXQgc3RyaW5ncyAqLworCXN0cnVjdCBsaXN0X2hlYWQgZnVsaXN0OwkJLyogbGlua2VkIGxpc3Qgb2YgZm9ybWF0IHVuaXRzICovCisJaW50IGJjbnQ7Cit9OworCitzdHJ1Y3QgaGV4ZHVtcCB7CisgIHN0cnVjdCBsaXN0X2hlYWQgZnNoZWFkOwkJCQkvKiBoZWFkIG9mIGZvcm1hdCBzdHJpbmdzICovCisgIHNzaXplX3QgYmxvY2tzaXplOwkJCS8qIGRhdGEgYmxvY2sgc2l6ZSAqLworICBpbnQgZXhpdHZhbDsJCQkJLyogZmluYWwgZXhpdCB2YWx1ZSAqLworICBzc2l6ZV90IGxlbmd0aDsJCQkvKiBtYXggYnl0ZXMgdG8gcmVhZCAqLworICBvZmZfdCBza2lwOwkJCQkvKiBieXRlcyB0byBza2lwICovCit9OworCitleHRlcm4gc3RydWN0IGhleGR1bXBfZnUgKmVuZGZ1OworCitlbnVtIF92ZmxhZyB7IEFMTCwgRFVQLCBGSVJTVCwgV0FJVCB9OwkvKiAtdiB2YWx1ZXMgKi8KK2V4dGVybiBlbnVtIF92ZmxhZyB2ZmxhZzsKKworaW50IGJsb2NrX3NpemUoc3RydWN0IGhleGR1bXBfZnMgKik7Cit2b2lkIGFkZF9mbXQoY29uc3QgY2hhciAqLCBzdHJ1Y3QgaGV4ZHVtcCAqKTsKK3ZvaWQgcmV3cml0ZV9ydWxlcyhzdHJ1Y3QgaGV4ZHVtcF9mcyAqLCBzdHJ1Y3QgaGV4ZHVtcCAqKTsKK3ZvaWQgYWRkZmlsZShjaGFyICosIHN0cnVjdCBoZXhkdW1wICopOwordm9pZCBkaXNwbGF5KHN0cnVjdCBoZXhkdW1wICopOwordm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKTsKK3ZvaWQgY29udl9jKHN0cnVjdCBoZXhkdW1wX3ByICosIHVfY2hhciAqKTsKK3ZvaWQgY29udl91KHN0cnVjdCBoZXhkdW1wX3ByICosIHVfY2hhciAqKTsKK2ludCAgbmV4dChjaGFyICoqLCBzdHJ1Y3QgaGV4ZHVtcCAqKTsKK2ludCBwYXJzZV9hcmdzKGludCwgY2hhciAqKiwgc3RydWN0IGhleGR1bXAgKik7CmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL2xpbmUuMSBiL3RleHQtdXRpbHMvbGluZS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjA4MjM2ZTIKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL2xpbmUuMQpAQCAtMCwwICsxLDE3IEBACisuXCIgVGhpcyBwYWdlIGlzIGluIHRoZSBwdWJsaWMgZG9tYWluCisuVEggTElORSAxICJKdWx5IDIwMDIiICJ1dGlsLWxpbnV4IiAiVXNlciBDb21tYW5kcyIKKy5TSCBOQU1FCitsaW5lIFwtIHJlYWQgb25lIGxpbmUKKy5TSCBTWU5PUFNJUworLkIgbGluZQorLlNIIERFU0NSSVBUSU9OCitUaGUgdXRpbGl0eQorLkIgbGluZQorY29waWVzIG9uZSBsaW5lICh1cCB0byBhIG5ld2xpbmUpIGZyb20gc3RhbmRhcmQgaW5wdXQgdG8gc3RhbmRhcmQgb3V0cHV0LgorSXQgYWx3YXlzIHByaW50cyBhdCBsZWFzdCBhIG5ld2xpbmUgYW5kIHJldHVybnMgYW4gZXhpdCBzdGF0dXMgb2YgMQorb24gRU9GIG9yIHJlYWQgZXJyb3IuCisuU0ggIlNFRSBBTFNPIgorLkJSIHJlYWQgKDEpCisuU0ggQVZBSUxBQklMSVRZCitUaGUgbGluZSBjb21tYW5kIGlzIHBhcnQgb2YgdGhlIHV0aWwtbGludXggcGFja2FnZSBhbmQgaXMgYXZhaWxhYmxlIGZyb20KK2h0dHBzOi8vd3d3Lmtlcm5lbC5vcmcvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvLgpkaWZmIC0tZ2l0IGEvdGV4dC11dGlscy9saW5lLmMgYi90ZXh0LXV0aWxzL2xpbmUuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42M2MwMDEyCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9saW5lLmMKQEAgLTAsMCArMSw4NCBAQAorLyoKKyAqIGxpbmUgLSByZWFkIG9uZSBsaW5lCisgKgorICogR3VubmFyIFJpdHRlciwgRnJlaWJ1cmcgaS4gQnIuLCBHZXJtYW55LCBEZWNlbWJlciAyMDAwLgorICoKKyAqIFB1YmxpYyBEb21haW4uCisgKi8KKworLyoKKyAqIFRoaXMgY29tbWFuZCBpcyBkZXByZWNhdGVkLiAgVGhlIHV0aWxpdHkgaXMgaW4gbWFpbnRlbmFuY2UgbW9kZSwKKyAqIG1lYW5pbmcgd2Uga2VlcCB0aGVtIGluIHNvdXJjZSB0cmVlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisgKiBvbmx5LiAgRG8gbm90IHdhc3RlIHRpbWUgbWFraW5nIHRoaXMgY29tbWFuZCBiZXR0ZXIsIHVubGVzcyB0aGUKKyAqIGZpeCBpcyBhYm91dCBzZWN1cml0eSBvciBvdGhlciB2ZXJ5IGNyaXRpY2FsIGlzc3VlLgorICoKKyAqIFNlZSBEb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0IGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisKKyNpbmNsdWRlIDxnZXRvcHQuaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIlJlYWQgb25lIGxpbmUuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygxNikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgibGluZSgxKSIpKTsKKwlleGl0KEVYSVRfU1VDQ0VTUyk7Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwl3aW50X3QgYzsKKwlpbnQgb3B0OworCWludCBzdGF0dXMgPSBFWElUX1NVQ0NFU1M7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7InZlcnNpb24iLCBub19hcmd1bWVudCwgTlVMTCwgJ1YnfSwKKwkJeyJoZWxwIiwgbm9fYXJndW1lbnQsIE5VTEwsICdoJ30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJd2hpbGUgKChvcHQgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKG9wdCkgeworCQljYXNlICdWJzoKKwkJCXByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisKKwlzZXR2YnVmKHN0ZGluLCBOVUxMLCBfSU9OQkYsIDApOworCWZvciAoOzspIHsKKwkJYyA9IGdldHdjaGFyKCk7CisJCWlmIChjID09IFdFT0YpIHsKKwkJCXN0YXR1cyA9IEVYSVRfRkFJTFVSRTsKKwkJCWJyZWFrOworCQl9CisJCWlmIChjID09ICdcbicpCisJCQlicmVhazsKKwkJcHV0d2NoYXIoYyk7CisJfQorCXB1dHdjaGFyKEwnXG4nKTsKKworCXJldHVybiBzdGF0dXM7Cit9CmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL21vcmUuMSBiL3RleHQtdXRpbHMvbW9yZS4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM0NDIwZTAKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL21vcmUuMQpAQCAtMCwwICsxLDI0NiBAQAorLlwiIENvcHlyaWdodCAoYykgMTk4OCwgMTk5MCBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorLlwiIENvcHlyaWdodCAoYykgMTk4OCBNYXJrIE51ZGxlbWFuCisuXCIgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKy5cIgorLlwiIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorLlwiIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworLlwiIGFyZSBtZXQ6CisuXCIgMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisuXCIgMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKy5cIiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisuXCIgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKy5cIiAzLiBBbGwgYWR2ZXJ0aXNpbmcgbWF0ZXJpYWxzIG1lbnRpb25pbmcgZmVhdHVyZXMgb3IgdXNlIG9mIHRoaXMgc29mdHdhcmUKKy5cIiAgICBtdXN0IGRpc3BsYXkgdGhlIGZvbGxvd2luZyBhY2tub3dsZWRnZW1lbnQ6CisuXCIJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorLlwiCUNhbGlmb3JuaWEsIEJlcmtlbGV5IGFuZCBpdHMgY29udHJpYnV0b3JzLgorLlwiIDQuIE5laXRoZXIgdGhlIG5hbWUgb2YgdGhlIFVuaXZlcnNpdHkgbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzCisuXCIgICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisuXCIgICAgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisuXCIKKy5cIiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorLlwiIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorLlwiIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisuXCIgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisuXCIgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKy5cIiBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUworLlwiIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorLlwiIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisuXCIgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWQorLlwiIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKy5cIiBTVUNIIERBTUFHRS4KKy5cIgorLlwiCUAoIyltb3JlLjEJNS4xNSAoQmVya2VsZXkpIDcvMjkvOTEKKy5cIgorLlwiIENvcHlyaWdodCAoYykgMTk5MiBSaWsgRmFpdGggKGZhaXRoQGNzLnVuYy5lZHUpCisuXCIKKy5USCBNT1JFICIxIiAiRmVicnVhcnkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK21vcmUgXC0gZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgY3J0IHZpZXdpbmcKKy5TSCBTWU5PUFNJUworLkIgbW9yZQorW29wdGlvbnNdCisuSVIgZmlsZSAuLi4KKy5TSCBERVNDUklQVElPTgorLkIgbW9yZQoraXMgYSBmaWx0ZXIgZm9yIHBhZ2luZyB0aHJvdWdoIHRleHQgb25lIHNjcmVlbmZ1bCBhdCBhIHRpbWUuICBUaGlzIHZlcnNpb24gaXMKK2VzcGVjaWFsbHkgcHJpbWl0aXZlLiAgVXNlcnMgc2hvdWxkIHJlYWxpemUgdGhhdAorLkJSIGxlc3MgKDEpCitwcm92aWRlcworLkJSIG1vcmUgKDEpCitlbXVsYXRpb24gcGx1cyBleHRlbnNpdmUgZW5oYW5jZW1lbnRzLgorLlNIIE9QVElPTlMKK09wdGlvbnMgYXJlIGFsc28gdGFrZW4gZnJvbSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CIE1PUkUKKyhtYWtlIHN1cmUgdG8gcHJlY2VkZSB0aGVtIHdpdGggYSBkYXNoCisuUkIgKCBcLSApKQorYnV0IGNvbW1hbmQtbGluZSBvcHRpb25zIHdpbGwgb3ZlcnJpZGUgdGhvc2UuCisuVFAKKy5CIFwtZAorUHJvbXB0IHdpdGggIltQcmVzcyBzcGFjZSB0byBjb250aW51ZSwgJ3EnIHRvIHF1aXQuXSIsCithbmQgZGlzcGxheSAiW1ByZXNzICdoJyBmb3IgaW5zdHJ1Y3Rpb25zLl0iIGluc3RlYWQgb2YgcmluZ2luZwordGhlIGJlbGwgd2hlbiBhbiBpbGxlZ2FsIGtleSBpcyBwcmVzc2VkLgorLlRQCisuQiBcLWwKK0RvIG5vdCBwYXVzZSBhZnRlciBhbnkgbGluZSBjb250YWluaW5nIGEKKy5CIFwmXkwKKyhmb3JtIGZlZWQpLgorLlRQCisuQiBcLWYKK0NvdW50IGxvZ2ljYWwgbGluZXMsIHJhdGhlciB0aGFuIHNjcmVlbiBsaW5lcyAoaS5lLiwgbG9uZyBsaW5lcyBhcmUgbm90IGZvbGRlZCkuCisuVFAKKy5CIFwtcAorRG8gbm90IHNjcm9sbC4gIEluc3RlYWQsIGNsZWFyIHRoZSB3aG9sZSBzY3JlZW4gYW5kIHRoZW4gZGlzcGxheSB0aGUgdGV4dC4KK05vdGljZSB0aGF0IHRoaXMgb3B0aW9uIGlzIHN3aXRjaGVkIG9uIGF1dG9tYXRpY2FsbHkgaWYgdGhlIGV4ZWN1dGFibGUgaXMKK25hbWVkCisuQlIgcGFnZSAuCisuVFAKKy5CIFwtYworRG8gbm90IHNjcm9sbC4gIEluc3RlYWQsIHBhaW50IGVhY2ggc2NyZWVuIGZyb20gdGhlIHRvcCwgY2xlYXJpbmcgdGhlCityZW1haW5kZXIgb2YgZWFjaCBsaW5lIGFzIGl0IGlzIGRpc3BsYXllZC4KKy5UUAorLkIgXC1zCitTcXVlZXplIG11bHRpcGxlIGJsYW5rIGxpbmVzIGludG8gb25lLgorLlRQCisuQiBcLXUKK1N1cHByZXNzIHVuZGVybGluaW5nLgorLlRQCisuQkkgXC0gbnVtYmVyCitUaGUgc2NyZWVuIHNpemUgdG8gdXNlLCBpbgorLkkgbnVtYmVyCitvZiBsaW5lcy4KKy5UUAorLkJJICsgbnVtYmVyCitTdGFydCBkaXNwbGF5aW5nIGVhY2ggZmlsZSBhdCBsaW5lCisuSVIgbnVtYmVyIC4KKy5UUAorLkJJICsvIHN0cmluZworVGhlCisuSSBzdHJpbmcKK3RvIGJlIHNlYXJjaGVkIGluIGVhY2ggZmlsZSBiZWZvcmUgc3RhcnRpbmcgdG8gZGlzcGxheSBpdC4KKy5UUAorXGZCXC1cLWhlbHBcZlIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlRQCitcZkJcLVZcZlIsIFxmQlwtXC12ZXJzaW9uXGZSCitEaXNwbGF5IHZlcnNpb24gaW5mb3JtYXRpb24gYW5kIGV4aXQuCisuU0ggQ09NTUFORFMKK0ludGVyYWN0aXZlIGNvbW1hbmRzIGZvcgorLkIgbW9yZQorYXJlIGJhc2VkIG9uCisuQlIgdmkgKDEpLgorU29tZSBjb21tYW5kcyBtYXkgYmUgcHJlY2VkZWQgYnkgYSBkZWNpbWFsIG51bWJlciwgY2FsbGVkIGsgaW4gdGhlCitkZXNjcmlwdGlvbnMgYmVsb3cuICBJbiB0aGUgZm9sbG93aW5nIGRlc2NyaXB0aW9ucywKKy5CIF5YCittZWFucworLkJSIGNvbnRyb2wtWCAuCisuUFAKKy5SUworLlBEIDEKKy5UUCAxMAorLkJSIGggXCBvciBcID8KK0hlbHA7IGRpc3BsYXkgYSBzdW1tYXJ5IG9mIHRoZXNlIGNvbW1hbmRzLiAgSWYgeW91IGZvcmdldCBhbGwgb3RoZXIKK2NvbW1hbmRzLCByZW1lbWJlciB0aGlzIG9uZS4KKy5UUAorLkIgU1BBQ0UKK0Rpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQuICBEZWZhdWx0cyB0byBjdXJyZW50IHNjcmVlbiBzaXplLgorLlRQCisuQiB6CitEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0LiAgRGVmYXVsdHMgdG8gY3VycmVudCBzY3JlZW4gc2l6ZS4gIEFyZ3VtZW50CitiZWNvbWVzIG5ldyBkZWZhdWx0LgorLlRQCisuQiBSRVRVUk4KK0Rpc3BsYXkgbmV4dCBrIGxpbmVzIG9mIHRleHQuICBEZWZhdWx0cyB0byAxLiAgQXJndW1lbnQgYmVjb21lcyBuZXcgZGVmYXVsdC4KKy5UUAorLkJSIGQgXCBvciBcIFwmXkQKK1Njcm9sbCBrIGxpbmVzLiAgRGVmYXVsdCBpcyBjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTEuICBBcmd1bWVudAorYmVjb21lcyBuZXcgZGVmYXVsdC4KKy5UUAorLkJSIHEgXCBvciBcIFEgXCBvciBcIElOVEVSUlVQVAorRXhpdC4KKy5UUAorLkIgcworU2tpcCBmb3J3YXJkIGsgbGluZXMgb2YgdGV4dC4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CIGYKK1NraXAgZm9yd2FyZCBrIHNjcmVlbmZ1bHMgb2YgdGV4dC4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CUiBiIFwgb3IgXCBcJl5CCitTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dC4gIERlZmF1bHRzIHRvIDEuICBPbmx5IHdvcmtzIHdpdGggZmlsZXMsCitub3QgcGlwZXMuCisuVFAKKy5CICcKK0dvIHRvIHRoZSBwbGFjZSB3aGVyZSB0aGUgbGFzdCBzZWFyY2ggc3RhcnRlZC4KKy5UUAorLkIgPQorRGlzcGxheSBjdXJyZW50IGxpbmUgbnVtYmVyLgorLlRQCisuQiBcJi9wYXR0ZXJuCitTZWFyY2ggZm9yIGt0aCBvY2N1cnJlbmNlIG9mIHJlZ3VsYXIgZXhwcmVzc2lvbi4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CIG4KK1NlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgbGFzdCByZWd1bGFyIGV4cHJlc3Npb24uICBEZWZhdWx0cyB0byAxLgorLlRQCisuQlIgIWNvbW1hbmQgXCBvciBcIDohY29tbWFuZAorRXhlY3V0ZQorLkkgY29tbWFuZAoraW4gYSBzdWJzaGVsbC4KKy5UUAorLkIgdgorU3RhcnQgdXAgYW4gZWRpdG9yIGF0IGN1cnJlbnQgbGluZS4gIFRoZSBlZGl0b3IgaXMgdGFrZW4gZnJvbSB0aGUgZW52aXJvbm1lbnQKK3ZhcmlhYmxlCisuQiBWSVNVQUwKK2lmIGRlZmluZWQsIG9yCisuQiBFRElUT1IKK2lmCisuQiBWSVNVQUwKK2lzIG5vdCBkZWZpbmVkLCBvciBkZWZhdWx0cwordG8KKy5CIHZpCitpZiBuZWl0aGVyCisuQiBWSVNVQUwKK25vcgorLkIgRURJVE9SCitpcyBkZWZpbmVkLgorLlRQCisuQiBcJl5MCitSZWRyYXcgc2NyZWVuLgorLlRQCisuQiA6bgorR28gdG8ga3RoIG5leHQgZmlsZS4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CIDpwCitHbyB0byBrdGggcHJldmlvdXMgZmlsZS4gIERlZmF1bHRzIHRvIDEuCisuVFAKKy5CIDpmCitEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlci4KKy5UUAorLkIgXCYuCitSZXBlYXQgcHJldmlvdXMgY29tbWFuZC4KKy5TSCBFTlZJUk9OTUVOVAorVGhlCisuQiBtb3JlCitjb21tYW5kIHJlc3BlY3RzIHRoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBpZiB0aGV5IGV4aXN0OgorLlRQCisuQiBNT1JFCitUaGlzIHZhcmlhYmxlIG1heSBiZSBzZXQgd2l0aCBmYXZvcmVkIG9wdGlvbnMgdG8KKy5CUiBtb3JlIC4KKy5UUAorLkIgU0hFTEwKK0N1cnJlbnQgc2hlbGwgaW4gdXNlIChub3JtYWxseSBzZXQgYnkgdGhlIHNoZWxsIGF0IGxvZ2luIHRpbWUpLgorLlRQCisuQiBURVJNCitUaGUgdGVybWluYWwgdHlwZSB1c2VkIGJ5IFxmQm1vcmVcZlIgdG8gZ2V0IHRoZSB0ZXJtaW5hbAorY2hhcmFjdGVyaXN0aWNzIG5lY2Vzc2FyeSB0byBtYW5pcHVsYXRlIHRoZSBzY3JlZW4uCisuVFAKKy5CIFZJU1VBTAorVGhlIGVkaXRvciB0aGUgdXNlciBwcmVmZXJzLiAgSW52b2tlZCB3aGVuIGNvbW1hbmQga2V5CisuSSB2CitpcyBwcmVzc2VkLgorLlRQCisuQiBFRElUT1IKK1RoZSBlZGl0b3Igb2YgY2hvaWNlIHdoZW4KKy5CIFZJU1VBTAoraXMgbm90IHNwZWNpZmllZC4KKy5TSCBTRUUgQUxTTworLkJSIGxlc3MgKDEpLAorLkJSIHZpICgxKQorLlNIIEFVVEhPUlMKK0VyaWMgU2hpZW5icm9vZCwgVUMgQmVya2VsZXkKKy5icgorTW9kaWZpZWQgYnkgR2VvZmYgUGVjaywgVUNCIHRvIGFkZCB1bmRlcmxpbmluZywgc2luZ2xlIHNwYWNpbmcKKy5icgorTW9kaWZpZWQgYnkgSm9obiBGb2RlcmFybywgVUNCIHRvIGFkZCAtYyBhbmQgTU9SRSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLlNIIEhJU1RPUlkKK1RoZQorLkIgbW9yZQorY29tbWFuZCBhcHBlYXJlZCBpbiAzLjBCU0QuICBUaGlzIG1hbiBwYWdlIGRvY3VtZW50cworLkIgbW9yZQordmVyc2lvbiA1LjE5IChCZXJrZWxleSA2LzI5Lzg4KSwgd2hpY2ggaXMgY3VycmVudGx5IGluIHVzZSBpbiB0aGUgTGludXgKK2NvbW11bml0eS4gIERvY3VtZW50YXRpb24gd2FzIHByb2R1Y2VkIHVzaW5nIHNldmVyYWwgb3RoZXIgdmVyc2lvbnMgb2YgdGhlCittYW4gcGFnZSwgYW5kIGV4dGVuc2l2ZSBpbnNwZWN0aW9uIG9mIHRoZSBzb3VyY2UgY29kZS4KKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSBtb3JlIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQorLlVSIGh0dHBzOi8vXDp3d3cua2VybmVsLm9yZ1w6L3B1Ylw6L2xpbnV4XDovdXRpbHNcOi91dGlsLWxpbnV4LworTGludXggS2VybmVsIEFyY2hpdmUKKy5VRSAuCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL21vcmUuYyBiL3RleHQtdXRpbHMvbW9yZS5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU5YzZjMDUKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL21vcmUuYwpAQCAtMCwwICsxLDIxODYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDE5ODAgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKyAqIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3JtcyBhcmUgcGVybWl0dGVkCisgKiBwcm92aWRlZCB0aGF0IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBhcmFncmFwaCBhcmUKKyAqIGR1cGxpY2F0ZWQgaW4gYWxsIHN1Y2ggZm9ybXMgYW5kIHRoYXQgYW55IGRvY3VtZW50YXRpb24sCisgKiBhZHZlcnRpc2luZyBtYXRlcmlhbHMsIGFuZCBvdGhlciBtYXRlcmlhbHMgcmVsYXRlZCB0byBzdWNoCisgKiBkaXN0cmlidXRpb24gYW5kIHVzZSBhY2tub3dsZWRnZSB0aGF0IHRoZSBzb2Z0d2FyZSB3YXMgZGV2ZWxvcGVkCisgKiBieSB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLCBCZXJrZWxleS4gIFRoZSBuYW1lIG9mIHRoZQorICogVW5pdmVyc2l0eSBtYXkgbm90IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQKKyAqIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgYGBBUyBJUycnIEFORCBXSVRIT1VUIEFOWSBFWFBSRVNTIE9SCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgV0lUSE9VVCBMSU1JVEFUSU9OLCBUSEUgSU1QTElFRAorICogV0FSUkFOVElFUyBPRiBNRVJDSEFOVElCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgorICovCisKKy8qIG1vcmUuYyAtIEdlbmVyYWwgcHVycG9zZSB0dHkgb3V0cHV0IGZpbHRlciBhbmQgZmlsZSBwZXJ1c2FsIHByb2dyYW0KKyAqCisgKiBieSBFcmljIFNoaWVuYnJvb2QsIFVDIEJlcmtlbGV5CisgKgorICogbW9kaWZpZWQgYnkgR2VvZmYgUGVjaworICoJVUNCIHRvIGFkZCB1bmRlcmxpbmluZywgc2luZ2xlIHNwYWNpbmcKKyAqIG1vZGlmaWVkIGJ5IEpvaG4gRm9kZXJhcm8KKyAqCVVDQiB0byBhZGQgLWMgYW5kIE1PUkUgZW52aXJvbm1lbnQgdmFyaWFibGUKKyAqIG1vZGlmaWVkIGJ5IEVyaWsgVHJvYW4gPGV3dEByZWRoYXQuY29tPgorICoJdG8gYmUgbW9yZSBwb3NpeCBhbmQgc28gY29tcGlsZSBvbiBsaW51eC9heHAuCisgKiBtb2RpZmllZCBieSBLYXJzIGRlIEpvbmcgPGpvbmdrQGNzLnV0d2VudGUubmw+CisgKgl0byB1c2UgdGVybWluZm8gaW5zdGVhZCBvZiB0ZXJtY2FwLgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICoJYWRkZWQgTmF0aXZlIExhbmd1YWdlIFN1cHBvcnQKKyAqIDE5OTktMDMtMTkgQXJuYWxkbyBDYXJ2YWxobyBkZSBNZWxvIDxhY21lQGNvbmVjdGl2YS5jb20uYnI+CisgKgltb3JlIG5scyB0cmFuc2xhdGFibGUgc3RyaW5ncworICogMTk5OS0wNS0wOSBhZWIKKyAqCWFwcGxpZWQgYSBSZWRIYXQgcGF0Y2ggKHNldGptcC0+c2lnc2V0am1wKTsgd2l0aG91dCBpdCBhIHNlY29uZAorICoJXlogd291bGQgZmFpbC4KKyAqIDE5OTktMDUtMDkgYWViCisgKgl1bmRvbmUgS2Fycycgd29yaywgc28gdGhhdCBtb3JlIHdvcmtzIHdpdGhvdXQgbGliY3Vyc2VzIChhbmQKKyAqCWhlbmNlIGNhbiBiZSBpbiAvYmluIHdpdGggbGliY3Vyc2VzIGJlaW5nIGluCisgKgkvdXNyL2xpYiB3aGljaCBtYXkgbm90IGJlIG1vdW50ZWQpLiAgSG93ZXZlciwgd2hlbiB0ZXJtY2FwIGlzIG5vdAorICoJcHJlc2VudCBjdXJzZXMgY2FuIHN0aWxsIGJlIHVzZWQuCisgKiAyMDEwLTEwLTIxIERhdmlkbG9ociBCdWVzbyA8ZGF2ZUBnbnUub3JnPgorICoJbW9kaWZpZWQgbWVtIGFsbG9jYXRpb24gaGFuZGxpbmcgZm9yIHV0aWwtbGludXgKKyAqLworCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzdHJpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDxzdGRsaWIuaD4JCS8qIGZvciBhbGxvY2EoKSAqLworI2luY2x1ZGUgPHN0ZGFyZy5oPgkJLyogZm9yIHZhX3N0YXJ0KCkgZXRjICovCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxzaWduYWwuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8dGVybWlvcy5oPgorI2luY2x1ZGUgPHNldGptcC5oPgorI2luY2x1ZGUgPHN5cy9pb2N0bC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaW5jbHVkZSA8c3lzL2ZpbGUuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHJlZ2V4Lmg+CisKKyNpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU1dfVEVSTV9IKQorIyBpbmNsdWRlIDxuY3Vyc2Vzdy90ZXJtLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfTkNVUlNFU19URVJNX0gpCisjIGluY2x1ZGUgPG5jdXJzZXMvdGVybS5oPgorI2VsaWYgZGVmaW5lZChIQVZFX1RFUk1fSCkKKyMgaW5jbHVkZSA8dGVybS5oPgorI2VuZGlmCisKKyNpbmNsdWRlICJzdHJ1dGlscy5oIgorI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworI2lmZGVmIFRFU1RfUFJPR1JBTQorIyBkZWZpbmUgTk9OX0lOVEVSQUNUSVZFX01PUkUgMQorI2VuZGlmCisKKyNpZm5kZWYgWFRBQlMKKyMgZGVmaW5lIFhUQUJTCVRBQjMKKyNlbmRpZgorCisjZGVmaW5lIFZJCSJ2aSIJLyogZm91bmQgb24gdGhlIHVzZXIncyBwYXRoICovCisKKyNkZWZpbmUgQlMJCSJcYiIKKyNkZWZpbmUgQlNCCQkiXGIgXGIiCisjZGVmaW5lIENBUkFUCQkiXiIKKyNkZWZpbmUgUklOR0JFTEwJJ1wwMDcnCisKKyNkZWZpbmUgVEJVRlNJWgkJMTAyNAorI2RlZmluZSBMSU5TSVoJCTI1NgkvKiBtaW5pbWFsIExpbmUgYnVmZmVyIHNpemUgKi8KKyNkZWZpbmUgY3RybChsZXR0ZXIpCShsZXR0ZXIgJiAwNzcpCisjZGVmaW5lIFJVQk9VVAkJJ1wxNzcnCisjZGVmaW5lIEVTQwkJJ1wwMzMnCisjZGVmaW5lIFFVSVQJCSdcMDM0JworI2RlZmluZSBTQ1JPTExfTEVOCTExCisjZGVmaW5lIExJTkVTX1BFUl9QQUdFCTI0CisjZGVmaW5lIE5VTV9DT0xVTU5TCTgwCisjZGVmaW5lIFRFUk1JTkFMX0JVRgk0MDk2CisjZGVmaW5lIElOSVRfQlVGCTgwCisjZGVmaW5lIFNIRUxMX0xJTkUJMTAwMAorI2RlZmluZSBDT01NQU5EX0JVRgkyMDAKKyNkZWZpbmUgUkVHRVJSX0JVRglOVU1fQ09MVU1OUworI2RlZmluZSBTVE9QCQktMTAKKworI2RlZmluZSBURVJNX0FVVE9fUklHSFRfTUFSR0lOICAgICJhbSIKKyNkZWZpbmUgVEVSTV9DRU9MICAgICAgICAgICAgICAgICAieGhwIgorI2RlZmluZSBURVJNX0NMRUFSICAgICAgICAgICAgICAgICJjbGVhciIKKyNkZWZpbmUgVEVSTV9DTEVBUl9UT19MSU5FX0VORCAgICAiZWwiCisjZGVmaW5lIFRFUk1fQ0xFQVJfVE9fU0NSRUVOX0VORCAgImVkIgorI2RlZmluZSBURVJNX0NPTFMgICAgICAgICAgICAgICAgICJjb2xzIgorI2RlZmluZSBURVJNX0NVUlNPUl9BRERSRVNTICAgICAgICJjdXAiCisjZGVmaW5lIFRFUk1fRUFUX05FV19MSU5FICAgICAgICAgInhlbmwiCisjZGVmaW5lIFRFUk1fRU5URVJfVU5ERVJMSU5FICAgICAgInNtdWwiCisjZGVmaW5lIFRFUk1fRVhJVF9TVEFOREFSRF9NT0RFICAgInJtc28iCisjZGVmaW5lIFRFUk1fRVhJVF9VTkRFUkxJTkUgICAgICAgInJtdWwiCisjZGVmaW5lIFRFUk1fSEFSRF9DT1BZICAgICAgICAgICAgImhjIgorI2RlZmluZSBURVJNX0hPTUUgICAgICAgICAgICAgICAgICJob21lIgorI2RlZmluZSBURVJNX0xJTkVfRE9XTiAgICAgICAgICAgICJjdWQxIgorI2RlZmluZSBURVJNX0xJTkVTICAgICAgICAgICAgICAgICJsaW5lcyIKKyNkZWZpbmUgVEVSTV9PVkVSX1NUUklLRSAgICAgICAgICAib3MiCisjZGVmaW5lIFRFUk1fUEFEX0NIQVIgICAgICAgICAgICAgInBhZCIKKyNkZWZpbmUgVEVSTV9TVEFOREFSRF9NT0RFICAgICAgICAic21zbyIKKyNkZWZpbmUgVEVSTV9TVERfTU9ERV9HTElUQ0ggICAgICAieG1jIgorI2RlZmluZSBURVJNX1VOREVSTElORV9DSEFSICAgICAgICJ1YyIKKyNkZWZpbmUgVEVSTV9VTkRFUkxJTkUgICAgICAgICAgICAidWwiCisKK3N0cnVjdCBtb3JlX2NvbnRyb2wgeworCXN0cnVjdCB0ZXJtaW9zIG90dHk7CQkvKiBvdXRwdXQgdGVybWluYWwgKi8KKwlzdHJ1Y3QgdGVybWlvcyBzYXZldHR5MDsJLyogb3JpZ2luYWwgdGVybWluYWwgc2V0dGluZ3MgKi8KKwlsb25nIGZpbGVfcG9zOwkJCS8qIGZpbGUgcG9zaXRpb24gKi8KKwlsb25nIGZpbGVfc2l6ZTsJCQkvKiBmaWxlIHNpemUgKi8KKwlpbnQgZm51bTsJCQkvKiBhcmd2W10gcG9zaXRpb24gKi8KKwlpbnQgZGxpbmVzOwkJCS8qIHNjcmVlbiBzaXplIGluIGxpbmVzICovCisJaW50IG5zY3JvbGw7CQkJLyogbnVtYmVyIG9mIGxpbmVzIHNjcm9sbGVkIGJ5ICdkJyAqLworCWludCBwcm9tcHRsZW47CQkJLyogbWVzc2FnZSBwcm9tcHQgbGVuZ3RoICovCisJaW50IEN1cnJsaW5lOwkJCS8qIGxpbmUgd2UgYXJlIGN1cnJlbnRseSBhdCAqLworCWNoYXIgKipmbmFtZXM7CQkJLyogVGhlIGxpc3Qgb2YgZmlsZSBuYW1lcyAqLworCWludCBuZmlsZXM7CQkJLyogTnVtYmVyIG9mIGZpbGVzIGxlZnQgdG8gcHJvY2VzcyAqLworCWNoYXIgKnNoZWxsOwkJCS8qIG5hbWUgb2YgdGhlIHNoZWxsIHRvIHVzZSAqLworCWludCBzaGVsbHA7CQkJLyogZG9lcyBwcmV2aW91cyBzaGVsbCBjb21tYW5kIGV4aXN0ICovCisJc2lnam1wX2J1ZiByZXN0b3JlOwkJLyogc2lnbG9uZ2ptcCgpIGRlc3RpbmF0aW9uICovCisJY2hhciAqTGluZTsJCQkvKiBsaW5lIGJ1ZmZlciAqLworCXNpemVfdCBMaW5lTGVuOwkJCS8qIHNpemUgb2YgTGluZSBidWZmZXIgKi8KKwlpbnQgTHBwOwkJCS8qIGxpbmVzIHBlciBwYWdlICovCisJY2hhciAqQ2xlYXI7CQkJLyogY2xlYXIgc2NyZWVuICovCisJY2hhciAqZXJhc2VsbjsJCQkvKiBlcmFzZSBsaW5lICovCisJY2hhciAqU2VudGVyOwkJCS8qIGVudGVyIHN0YW5kb3V0IG1vZGUgKi8KKwljaGFyICpTZXhpdDsJCQkvKiBleGl0IHN0YW5kb3V0IG1vZGUgKi8KKwljaGFyICpVTGVudGVyOwkJCS8qIGVudGVyIHVuZGVybGluZSBtb2RlICovCisJY2hhciAqVUxleGl0OwkJCS8qIGV4aXQgdW5kZXJsaW5lIG1vZGUgKi8KKwljaGFyICpjaFVMOwkJCS8qIHVuZGVybGluZSBjaGFyYWN0ZXIgKi8KKwljaGFyICpjaEJTOwkJCS8qIGJhY2tzcGFjZSBjaGFyYWN0ZXIgKi8KKwljaGFyICpIb21lOwkJCS8qIGdvIHRvIGhvbWUgKi8KKwljaGFyICpjdXJzb3JtOwkJCS8qIGN1cnNvciBtb3ZlbWVudCAqLworCWNoYXIgY3Vyc29yaG9tZVs0MF07CQkvKiBjb250YWlucyBjdXJzb3IgbW92ZW1lbnQgdG8gaG9tZSAqLworCWNoYXIgKkVvZENscjsJCQkvKiBjbGVhciByZXN0IG9mIHNjcmVlbiAqLworCWludCBNY29sOwkJCS8qIG51bWJlciBvZiBjb2x1bW5zICovCisJY2hhciAqcHJldmlvdXNyZTsJCS8qIHByZXZpb3VzIHNlYXJjaCgpIGJ1ZltdIGl0ZW0gKi8KKwlzdHJ1Y3QgeworCQlsb25nIGNocmN0cjsJCS8qIHJvdyBudW1iZXIgKi8KKwkJbG9uZyBsaW5lOwkJLyogbGluZSBudW1iZXIgKi8KKwl9IGNvbnRleHQsCisJICBzY3JlZW5fc3RhcnQ7CisJY2hhciBjaDsKKwlpbnQgbGFzdGNtZDsJCQkvKiBwcmV2aW91cyBtb3JlIGtleSBjb21tYW5kICovCisJaW50IGxhc3Rhcmc7CQkJLyogcHJldmlvdXMga2V5IGNvbW1hbmQgYXJndW1lbnQgKi8KKwlpbnQgbGFzdGNvbG9uOwkJCS8qIGlzIGEgY29sb24tcHJlZml4ZWQga2V5IGNvbW1hbmQgKi8KKwljaGFyIHNoZWxsX2xpbmVbU0hFTExfTElORV07CisJY2hhciBQQzsJCQkvKiBwYWQgY2hhcmFjdGVyICovCisJdW5zaWduZWQgaW50CisJCWJhZF9zbzoxLAkJLyogdHJ1ZSBpZiBvdmVyd3JpdGluZyBkb2VzIG5vdCB0dXJuIG9mZiBzdGFuZG91dCAqLworCQljYXRjaF9zdXNwOjEsCQkvKiB3ZSBzaG91bGQgY2F0Y2ggdGhlIFNJR1RTVFAgc2lnbmFsICovCisJCWNscmVvbDoxLAkJLyogZG8gbm90IHNjcm9sbCwgcGFpbnQgZWFjaCBzY3JlZW4gZnJvbSB0aGUgdG9wICovCisJCWRvY3J0ZXJhc2U6MSwJCS8qIGlzIGVyYXNlIHByZXZpb3VzIHN1cHBvcnRlZCAqLworCQlkb2NydGtpbGw6MSwJCS8qIGlzIGVyYXNlIGlucHV0IHN1cHBvcnRlZCAqLworCQlkdW1iOjEsCQkJLyogaXMgdGVybWluYWwgdHlwZSBrbm93biAqLworCQlkdW1fb3B0OjEsCQkvKiBzdXBwcmVzcyBiZWxsICovCisJCWVhdG5sOjEsCQkvKiBpcyBuZXdsaW5lIGlnbm9yZWQgYWZ0ZXIgODAgY29scyAqLworCQllcnJvcnM6MSwJCS8qIGlzIGFuIGVycm9yIHJlcG9ydGVkICovCisJCWZpcnN0ZjoxLAkJLyogaXMgdGhlIGlucHV0IGZpbGUgdGhlIGZpcnN0IGluIGxpc3QgKi8KKwkJZm9sZF9vcHQ6MSwJCS8qIGZvbGQgbG9uZyBsaW5lcyAqLworCQloYXJkOjEsCQkJLyogaXMgdGhpcyBoYXJkIGNvcHkgdGVybWluYWwgKGEgcHJpbnRlciBvciBzdWNoKSAqLworCQloYXJkdGFiczoxLAkJLyogcHJpbnQgc3BhY2VzIGluc3RlYWQgb2YgJ1x0JyAqLworCQlpbndhaXQ6MSwJCS8qIGlzIHdhaXRpbmcgdXNlciBpbnB1dCAqLworCQlsYXN0cDoxLAkJLyogcnVuIHByZXZpb3VzIGtleSBjb21tYW5kICovCisJCW5vX2ludHR5OjEsCQkvKiBpcyBpbnB1dCBpbiBpbnRlcmFjdGl2ZSBtb2RlICovCisJCW5vc2Nyb2xsOjEsCQkvKiBkbyBub3Qgc2Nyb2xsLCBjbGVhciB0aGUgc2NyZWVuIGFuZCB0aGVuIGRpc3BsYXkgdGV4dCAqLworCQlub3RlbGw6MSwJCS8qIHN1cHByZXNzIHF1aXQgZGlhbG9nICovCisJCW5vX3R0eToxLAkJLyogaXMgb3V0cHV0IGluIGludGVyYWN0aXZlIG1vZGUgKi8KKwkJUGF1c2U6MSwJCS8qIGlzIG91dHB1dCBwYXVzZWQgKi8KKwkJcHN0YXRlOjEsCQkvKiBjdXJyZW50IFVMIHN0YXRlICovCisJCXNvZ2xpdGNoOjEsCQkvKiB0ZXJtaW5hbCBoYXMgc3RhbmRvdXQgbW9kZSBnbGl0Y2ggKi8KKwkJc3NwX29wdDoxLAkJLyogc3VwcHJlc3Mgd2hpdGUgc3BhY2UgKi8KKwkJc3RhcnR1cDoxLAkJLyogaXMgc3RhcnR1cCBjb21wbGV0ZWQgKi8KKwkJc3RvcF9vcHQ6MSwJCS8qIHN0b3AgYWZ0ZXIgZm9ybSBmZWVkcyAqLworCQl1bGdsaXRjaDoxLAkJLyogdGVybWluYWwgaGFzIHVuZGVybGluZSBtb2RlIGdsaXRjaCAqLworCQl1bF9vcHQ6MSwJCS8qIHVuZGVybGluZSBhcyBiZXN0IHdlIGNhbiAqLworCQl3aXRoaW46MSwJCS8qIHRydWUgaWYgd2UgYXJlIHdpdGhpbiBhIGZpbGUsIGZhbHNlIGlmIHdlIGFyZSBiZXR3ZWVuIGZpbGVzICovCisJCVdyYXA6MTsJCQkvKiBzZXQgaWYgYXV0b21hcmdpbnMgKi8KK307CisKKy8qIEZJWE1FOiBnbG9iYWxfY3RsIGlzIHVzZWQgaW4gc2lnbmFsIGhhbmRsZXJzLiAqLworc3RydWN0IG1vcmVfY29udHJvbCAqZ2xvYmFsX2N0bDsKKworc3RhdGljIHZvaWQgcHV0c3RyaW5nKGNoYXIgKnMpCit7CisJdHB1dHMocywgZmlsZW5vKHN0ZG91dCksIHB1dGNoYXIpOwkvKiBwdXRwKHMpOyAqLworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsIF8oIiAlcyBbb3B0aW9uc10gPGZpbGU+Li4uXG4iKSwgcHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCWZwdXRzKF8oIkEgZmlsZSBwZXJ1c2FsIGZpbHRlciBmb3IgQ1JUIHZpZXdpbmcuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJZnB1dHMoXygiIC1kICAgICAgICAgIGRpc3BsYXkgaGVscCBpbnN0ZWFkIG9mIHJpbmdpbmcgYmVsbFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1mICAgICAgICAgIGNvdW50IGxvZ2ljYWwgcmF0aGVyIHRoYW4gc2NyZWVuIGxpbmVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWwgICAgICAgICAgc3VwcHJlc3MgcGF1c2UgYWZ0ZXIgZm9ybSBmZWVkXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWMgICAgICAgICAgZG8gbm90IHNjcm9sbCwgZGlzcGxheSB0ZXh0IGFuZCBjbGVhbiBsaW5lIGVuZHNcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCAgICAgICAgICBkbyBub3Qgc2Nyb2xsLCBjbGVhbiBzY3JlZW4gYW5kIGRpc3BsYXkgdGV4dFxuIiksIG91dCk7CisJZnB1dHMoXygiIC1zICAgICAgICAgIHNxdWVlemUgbXVsdGlwbGUgYmxhbmsgbGluZXMgaW50byBvbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtdSAgICAgICAgICBzdXBwcmVzcyB1bmRlcmxpbmluZ1xuIiksIG91dCk7CisJZnB1dHMoXygiIC08bnVtYmVyPiAgIHRoZSBudW1iZXIgb2YgbGluZXMgcGVyIHNjcmVlbmZ1bFxuIiksIG91dCk7CisJZnB1dHMoXygiICs8bnVtYmVyPiAgIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBsaW5lIG51bWJlclxuIiksIG91dCk7CisJZnB1dHMoXygiICsvPHN0cmluZz4gIGRpc3BsYXkgZmlsZSBiZWdpbm5pbmcgZnJvbSBzZWFyY2ggc3RyaW5nIG1hdGNoXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoICIgICAgIC0taGVscCAgICAgJXNcbiIsIFVTQUdFX09QVFNUUl9IRUxQKTsKKwlwcmludGYoICIgLVYsIC0tdmVyc2lvbiAgJXNcbiIsIFVTQUdFX09QVFNUUl9WRVJTSU9OKTsKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoIm1vcmUoMSkiKSk7CisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCisKK3N0YXRpYyB2b2lkIGFyZ3NjYW4oc3RydWN0IG1vcmVfY29udHJvbCAqY3RsLCBjaGFyICpzKQoreworCWludCBzZWVuX251bSA9IDA7CisKKwl3aGlsZSAoKnMgIT0gJ1wwJykgeworCQlzd2l0Y2ggKCpzKSB7CisJCWNhc2UgJzAnOgorCQljYXNlICcxJzoKKwkJY2FzZSAnMic6CisJCWNhc2UgJzMnOgorCQljYXNlICc0JzoKKwkJY2FzZSAnNSc6CisJCWNhc2UgJzYnOgorCQljYXNlICc3JzoKKwkJY2FzZSAnOCc6CisJCWNhc2UgJzknOgorCQkJaWYgKCFzZWVuX251bSkgeworCQkJCWN0bC0+ZGxpbmVzID0gMDsKKwkJCQlzZWVuX251bSA9IDE7CisJCQl9CisJCQljdGwtPmRsaW5lcyA9IGN0bC0+ZGxpbmVzICogMTAgKyAqcyAtICcwJzsKKwkJCWJyZWFrOworCQljYXNlICdkJzoKKwkJCWN0bC0+ZHVtX29wdCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnbCc6CisJCQljdGwtPnN0b3Bfb3B0ID0gMDsKKwkJCWJyZWFrOworCQljYXNlICdmJzoKKwkJCWN0bC0+Zm9sZF9vcHQgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJ3AnOgorCQkJY3RsLT5ub3Njcm9sbCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnYyc6CisJCQljdGwtPmNscmVvbCA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAncyc6CisJCQljdGwtPnNzcF9vcHQgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ3UnOgorCQkJY3RsLT51bF9vcHQgPSAwOworCQkJYnJlYWs7CisJCWNhc2UgJy0nOgorCQljYXNlICcgJzoKKwkJY2FzZSAnXHQnOgorCQkJYnJlYWs7CisJCWNhc2UgJ1YnOgorCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCXdhcm54KF8oInVua25vd24gb3B0aW9uIC0lcyIpLCBzKTsKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJCWJyZWFrOworCQl9CisJCXMrKzsKKwl9Cit9CisKK3N0YXRpYyB2b2lkIG1vcmVfZnNlZWsoc3RydWN0IG1vcmVfY29udHJvbCAqY3RsLCBGSUxFICpzdHJlYW0sIGxvbmcgcG9zKQoreworCWN0bC0+ZmlsZV9wb3MgPSBwb3M7CisJZnNlZWsoc3RyZWFtLCBwb3MsIDApOworfQorCitzdGF0aWMgaW50IG1vcmVfZ2V0YyhzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIEZJTEUgKnN0cmVhbSkKK3sKKwljdGwtPmZpbGVfcG9zKys7CisJcmV0dXJuIGdldGMoc3RyZWFtKTsKK30KKworc3RhdGljIGludCBtb3JlX3VuZ2V0YyhzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIGludCBjLCBGSUxFICpzdHJlYW0pCit7CisJY3RsLT5maWxlX3Bvcy0tOworCXJldHVybiB1bmdldGMoYywgc3RyZWFtKTsKK30KKworLyogZm9yY2UgY2xlYXIgdG8gZW5kIG9mIGxpbmUgKi8KK3N0YXRpYyB2b2lkIGNsZWFyZW9sKHN0cnVjdCBtb3JlX2NvbnRyb2wgKmN0bCkKK3sKKwlwdXRzdHJpbmcoY3RsLT5lcmFzZWxuKTsKK30KKworLyogbWFnaWMgLS0KKyAqCWNoZWNrIGZvciBmaWxlIG1hZ2ljIG51bWJlcnMuICBUaGlzIGNvZGUgd291bGQgYmVzdCBiZSBzaGFyZWQKKyAqCXdpdGggdGhlIGZpbGUoMSkgcHJvZ3JhbSBvciwgcGVyaGFwcywgbW9yZSBzaG91bGQgbm90IHRyeSB0byBiZQorICoJc28gc21hcnQuICovCitzdGF0aWMgaW50IG1hZ2ljKEZJTEUgKmYsIGNoYXIgKmZzKQoreworCXNpZ25lZCBjaGFyIHR3b2J5dGVzWzJdOworCisJLyogZG9uJ3QgdHJ5IHRvIGxvb2sgYWhlYWQgaWYgdGhlIGlucHV0IGlzIHVuc2Vla2FibGUgKi8KKwlpZiAoZnNlZWsoZiwgMEwsIFNFRUtfU0VUKSkKKwkJcmV0dXJuIDA7CisKKwlpZiAoZnJlYWQodHdvYnl0ZXMsIDIsIDEsIGYpID09IDEpIHsKKwkJc3dpdGNoICh0d29ieXRlc1swXSArICh0d29ieXRlc1sxXSA8PCA4KSkgeworCQljYXNlIDA0MDc6CS8qIGEub3V0IG9iaiAqLworCQljYXNlIDA0MTA6CS8qIGEub3V0IGV4ZWMgKi8KKwkJY2FzZSAwNDEzOgkvKiBhLm91dCBkZW1hbmQgZXhlYyAqLworCQljYXNlIDA0MDU6CisJCWNhc2UgMDQxMToKKwkJY2FzZSAwMTc3NTQ1OgorCQljYXNlIDB4NDU3ZjoJLyogc2ltcGxlIEVMRiBkZXRlY3Rpb24gKi8KKwkJCXByaW50ZihfKCJcbioqKioqKioqICVzOiBOb3QgYSB0ZXh0IGZpbGUgKioqKioqKipcblxuIiksCisJCQkgICAgICAgZnMpOworCQkJcmV0dXJuIDE7CisJCX0KKwl9CisJZnNlZWsoZiwgMEwsIFNFRUtfU0VUKTsJLyogcmV3aW5kKCkgbm90IG5lY2Vzc2FyeSAqLworCXJldHVybiAwOworfQorCisvKiBDaGVjayB3aGV0aGVyIHRoZSBmaWxlIG5hbWVkIGJ5IGZzIGlzIGFuIEFTQ0lJIGZpbGUgd2hpY2ggdGhlIHVzZXIgbWF5CisgKiBhY2Nlc3MuICBJZiBpdCBpcywgcmV0dXJuIHRoZSBvcGVuZWQgZmlsZS4gIE90aGVyd2lzZSByZXR1cm4gTlVMTC4gKi8KK3N0YXRpYyBGSUxFICpjaGVja2Yoc3RydWN0IG1vcmVfY29udHJvbCAqY3RsLCByZWdpc3RlciBjaGFyICpmcywgaW50ICpjbGVhcmZpcnN0KQoreworCXN0cnVjdCBzdGF0IHN0YnVmOworCXJlZ2lzdGVyIEZJTEUgKmY7CisJaW50IGM7CisKKwlpZiAoc3RhdChmcywgJnN0YnVmKSA9PSAtMSkgeworCQlmZmx1c2goc3Rkb3V0KTsKKwkJaWYgKGN0bC0+Y2xyZW9sKQorCQkJY2xlYXJlb2woY3RsKTsKKwkJd2FybihfKCJzdGF0IG9mICVzIGZhaWxlZCIpLCBmcyk7CisJCXJldHVybiAoKEZJTEUgKilOVUxMKTsKKwl9CisJaWYgKChzdGJ1Zi5zdF9tb2RlICYgU19JRk1UKSA9PSBTX0lGRElSKSB7CisJCXByaW50ZihfKCJcbioqKiAlczogZGlyZWN0b3J5ICoqKlxuXG4iKSwgZnMpOworCQlyZXR1cm4gKChGSUxFICopTlVMTCk7CisJfQorCWN0bC0+Q3VycmxpbmUgPSAwOworCWN0bC0+ZmlsZV9wb3MgPSAwOworCWlmICgoZiA9IGZvcGVuKGZzLCAiciIpKSA9PSBOVUxMKSB7CisJCWZmbHVzaChzdGRvdXQpOworCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksIGZzKTsKKwkJcmV0dXJuICgoRklMRSAqKU5VTEwpOworCX0KKwlpZiAobWFnaWMoZiwgZnMpKSB7CisJCWZjbG9zZShmKTsKKwkJcmV0dXJuICgoRklMRSAqKU5VTEwpOworCX0KKwlmY250bChmaWxlbm8oZiksIEZfU0VURkQsIEZEX0NMT0VYRUMpOworCWMgPSBtb3JlX2dldGMoY3RsLCBmKTsKKwkqY2xlYXJmaXJzdCA9IChjID09ICdcZicpOworCW1vcmVfdW5nZXRjKGN0bCwgYywgZik7CisJaWYgKChjdGwtPmZpbGVfc2l6ZSA9IHN0YnVmLnN0X3NpemUpID09IDApCisJCWN0bC0+ZmlsZV9zaXplID0gTE9OR19NQVg7CisJcmV0dXJuIChmKTsKK30KKworc3RhdGljIHZvaWQgcHJlcGFyZV9saW5lX2J1ZmZlcihzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwpCit7CisJY2hhciAqbmxpbmU7CisJc2l6ZV90IG5zeiA9IGN0bC0+TWNvbCAqIDQ7CisKKwlpZiAoY3RsLT5MaW5lTGVuID49IG5zeikKKwkJcmV0dXJuOworCisJaWYgKG5zeiA8IExJTlNJWikKKwkJbnN6ID0gTElOU0laOworCisJLyogYWxsb2MgbnN6IGFuZCBleHRyYSBzcGFjZSBmb3IgXG5cMCAqLworCW5saW5lID0geHJlYWxsb2MoY3RsLT5MaW5lLCBuc3ogKyAyKTsKKwljdGwtPkxpbmUgPSBubGluZTsKKwljdGwtPkxpbmVMZW4gPSBuc3o7Cit9CisKKy8qIEdldCBhIGxvZ2ljYWwgbGluZSAqLworc3RhdGljIGludCBnZXRfbGluZShzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIHJlZ2lzdGVyIEZJTEUgKmYsIGludCAqbGVuZ3RoKQoreworCWludCBjOworCWNoYXIgKnA7CisJaW50IGNvbHVtbjsKKwlzdGF0aWMgaW50IGNvbGZsZzsKKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwlzaXplX3QgaTsKKwl3Y2hhcl90IHdjOworCWludCB3Y193aWR0aDsKKwltYnN0YXRlX3Qgc3RhdGUsIHN0YXRlX2JhazsJLyogQ3VycmVudCBzdGF0dXMgb2YgdGhlIHN0cmVhbS4gKi8KKwljaGFyIG1iY1tNQl9MRU5fTUFYXTsJCS8qIEJ1ZmZlciBmb3Igb25lIG11bHRpYnl0ZSBjaGFyLiAqLworCXNpemVfdCBtYmxlbmd0aDsJCS8qIEJ5dGUgbGVuZ3RoIG9mIG11bHRpYnl0ZSBjaGFyLiAqLworCXNpemVfdCBtYmNfcG9zID0gMDsJCS8qIFBvc2l0aW9uIG9mIHRoZSBNQkMuICovCisJaW50IHVzZV9tYmNfYnVmZmVyX2ZsYWcgPSAwOwkvKiBJZiAxLCBtYmMgaGFzIGRhdGEuICovCisJaW50IGJyZWFrX2ZsYWcgPSAwOwkJLyogSWYgMSwgZXhpdCB3aGlsZSgpLiAqLworCWxvbmcgZmlsZV9wb3NfYmFrID0gY3RsLT5maWxlX3BvczsKKworCW1lbXNldCgmc3RhdGUsICdcMCcsIHNpemVvZihtYnN0YXRlX3QpKTsKKyNlbmRpZgorCisJcHJlcGFyZV9saW5lX2J1ZmZlcihjdGwpOworCisJcCA9IGN0bC0+TGluZTsKKwljb2x1bW4gPSAwOworCWMgPSBtb3JlX2dldGMoY3RsLCBmKTsKKwlpZiAoY29sZmxnICYmIGMgPT0gJ1xuJykgeworCQljdGwtPkN1cnJsaW5lKys7CisJCWMgPSBtb3JlX2dldGMoY3RsLCBmKTsKKwl9CisJd2hpbGUgKHAgPCAmY3RsLT5MaW5lW2N0bC0+TGluZUxlbiAtIDFdKSB7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCQlpZiAoY3RsLT5mb2xkX29wdCAmJiB1c2VfbWJjX2J1ZmZlcl9mbGFnICYmIE1CX0NVUl9NQVggPiAxKSB7CisJCQl1c2VfbWJjX2J1ZmZlcl9mbGFnID0gMDsKKwkJCXN0YXRlX2JhayA9IHN0YXRlOworCQkJbWJjW21iY19wb3MrK10gPSBjOworIHByb2Nlc3NfbWJjOgorCQkJbWJsZW5ndGggPSBtYnJ0b3djKCZ3YywgbWJjLCBtYmNfcG9zLCAmc3RhdGUpOworCisJCQlzd2l0Y2ggKG1ibGVuZ3RoKSB7CisJCQljYXNlIChzaXplX3QpLTI6CS8qIEluY29tcGxldGUgbXVsdGlieXRlIGNoYXJhY3Rlci4gKi8KKwkJCQl1c2VfbWJjX2J1ZmZlcl9mbGFnID0gMTsKKwkJCQlzdGF0ZSA9IHN0YXRlX2JhazsKKwkJCQlicmVhazsKKworCQkJY2FzZSAoc2l6ZV90KS0xOgkvKiBJbnZhbGlkIGFzIGEgbXVsdGlieXRlIGNoYXJhY3Rlci4gKi8KKwkJCQkqcCsrID0gbWJjWzBdOworCQkJCXN0YXRlID0gc3RhdGVfYmFrOworCQkJCWNvbHVtbisrOworCQkJCWZpbGVfcG9zX2JhaysrOworCisJCQkJaWYgKGNvbHVtbiA+PSBjdGwtPk1jb2wpIHsKKwkJCQkJbW9yZV9mc2VlayhjdGwsIGYsIGZpbGVfcG9zX2Jhayk7CisJCQkJfSBlbHNlIHsKKwkJCQkJbWVtbW92ZShtYmMsIG1iYyArIDEsIC0tbWJjX3Bvcyk7CisJCQkJCWlmIChtYmNfcG9zID4gMCkgeworCQkJCQkJbWJjW21iY19wb3NdID0gJ1wwJzsKKwkJCQkJCWdvdG8gcHJvY2Vzc19tYmM7CisJCQkJCX0KKwkJCQl9CisJCQkJYnJlYWs7CisKKwkJCWRlZmF1bHQ6CisJCQkJd2Nfd2lkdGggPSB3Y3dpZHRoKHdjKTsKKworCQkJCWlmIChjb2x1bW4gKyB3Y193aWR0aCA+IGN0bC0+TWNvbCkgeworCQkJCQltb3JlX2ZzZWVrKGN0bCwgZiwgZmlsZV9wb3NfYmFrKTsKKwkJCQkJYnJlYWtfZmxhZyA9IDE7CisJCQkJfSBlbHNlIHsKKwkJCQkJZm9yIChpID0gMDsgcCA8ICZjdGwtPkxpbmVbY3RsLT5MaW5lTGVuIC0gMV0gJiYKKwkJCQkJCSAgICBpIDwgbWJjX3BvczsgaSsrKQorCQkJCQkJKnArKyA9IG1iY1tpXTsKKwkJCQkJaWYgKHdjX3dpZHRoID4gMCkKKwkJCQkJCWNvbHVtbiArPSB3Y193aWR0aDsKKwkJCQl9CisJCQl9CisKKwkJCWlmIChicmVha19mbGFnIHx8IGNvbHVtbiA+PSBjdGwtPk1jb2wpCisJCQkJYnJlYWs7CisKKwkJCWMgPSBtb3JlX2dldGMoY3RsLCBmKTsKKwkJCWNvbnRpbnVlOworCQl9CisjZW5kaWYJLyogSEFWRV9XSURFQ0hBUiAqLworCQlpZiAoYyA9PSBFT0YpIHsKKwkJCWlmIChwID4gY3RsLT5MaW5lKSB7CisJCQkJKnAgPSAnXDAnOworCQkJCSpsZW5ndGggPSBwIC0gY3RsLT5MaW5lOworCQkJCXJldHVybiAoY29sdW1uKTsKKwkJCX0KKwkJCSpsZW5ndGggPSBwIC0gY3RsLT5MaW5lOworCQkJcmV0dXJuIChFT0YpOworCQl9CisJCWlmIChjID09ICdcbicpIHsKKwkJCWN0bC0+Q3VycmxpbmUrKzsKKwkJCWJyZWFrOworCQl9CisKKwkJKnArKyA9IGM7CisjaWYgMAorCQlpZiAoYyA9PSAnXDAzMycpIHsJLyogRVNDICovCisJCQljID0gbW9yZV9nZXRjKGN0bCwgZik7CisJCQl3aGlsZSAoYyA+ICcgJyAmJiBjIDwgJzAnICYmIHAgPCAmTGluZVtMaW5lTGVuIC0gMV0pIHsKKwkJCQkqcCsrID0gYzsKKwkJCQljID0gbW9yZV9nZXRjKGN0bCwgZik7CisJCQl9CisJCQlpZiAoYyA+PSAnMCcgJiYgYyA8ICdcMTc3JyAmJiBwIDwgJkxpbmVbTGluZUxlbiAtIDFdKSB7CisJCQkJKnArKyA9IGM7CisJCQkJYyA9IG1vcmVfZ2V0YyhjdGwsIGYpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQl9CisjZW5kaWYJLyogMCAqLworCQlpZiAoYyA9PSAnXHQnKSB7CisJCQlpZiAoIWN0bC0+aGFyZHRhYnMgfHwgKGNvbHVtbiA8IGN0bC0+cHJvbXB0bGVuICYmICFjdGwtPmhhcmQpKSB7CisJCQkJaWYgKGN0bC0+aGFyZHRhYnMgJiYgY3RsLT5lcmFzZWxuICYmICFjdGwtPmR1bWIpIHsKKwkJCQkJY29sdW1uID0gMSArIChjb2x1bW4gfCA3KTsKKwkJCQkJcHV0cChjdGwtPmVyYXNlbG4pOworCQkJCQljdGwtPnByb21wdGxlbiA9IDA7CisJCQkJfSBlbHNlIHsKKwkJCQkJZm9yICgtLXA7IHAgPCAmY3RsLT5MaW5lW2N0bC0+TGluZUxlbiAtIDFdOykgeworCQkJCQkJKnArKyA9ICcgJzsKKwkJCQkJCWlmICgoKytjb2x1bW4gJiA3KSA9PSAwKQorCQkJCQkJCWJyZWFrOworCQkJCQl9CisJCQkJCWlmIChjb2x1bW4gPj0gY3RsLT5wcm9tcHRsZW4pCisJCQkJCQljdGwtPnByb21wdGxlbiA9IDA7CisJCQkJfQorCQkJfSBlbHNlCisJCQkJY29sdW1uID0gMSArIChjb2x1bW4gfCA3KTsKKwkJfSBlbHNlIGlmIChjID09ICdcYicgJiYgY29sdW1uID4gMCkgeworCQkJY29sdW1uLS07CisJCX0gZWxzZSBpZiAoYyA9PSAnXHInKSB7CisJCQlpbnQgbmV4dCA9IG1vcmVfZ2V0YyhjdGwsIGYpOworCQkJaWYgKG5leHQgPT0gJ1xuJykgeworCQkJCXAtLTsKKwkJCQljdGwtPkN1cnJsaW5lKys7CisJCQkJYnJlYWs7CisJCQl9CisJCQltb3JlX3VuZ2V0YyhjdGwsIGMsIGYpOworCQkJY29sdW1uID0gMDsKKwkJfSBlbHNlIGlmIChjID09ICdcZicgJiYgY3RsLT5zdG9wX29wdCkgeworCQkJcFstMV0gPSAnXic7CisJCQkqcCsrID0gJ0wnOworCQkJY29sdW1uICs9IDI7CisJCQljdGwtPlBhdXNlID0gMTsKKwkJfSBlbHNlIGlmIChjID09IEVPRikgeworCQkJKmxlbmd0aCA9IHAgLSBjdGwtPkxpbmU7CisJCQlyZXR1cm4gKGNvbHVtbik7CisJCX0gZWxzZSB7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCQkJaWYgKGN0bC0+Zm9sZF9vcHQgJiYgTUJfQ1VSX01BWCA+IDEpIHsKKwkJCQltZW1zZXQobWJjLCAnXDAnLCBNQl9MRU5fTUFYKTsKKwkJCQltYmNfcG9zID0gMDsKKwkJCQltYmNbbWJjX3BvcysrXSA9IGM7CisJCQkJc3RhdGVfYmFrID0gc3RhdGU7CisKKwkJCQltYmxlbmd0aCA9IG1icnRvd2MoJndjLCBtYmMsIG1iY19wb3MsICZzdGF0ZSk7CisJCQkJLyogVGhlIHZhbHVlIG9mIG1ibGVuZ3RoIGlzIGFsd2F5cyBsZXNzIHRoYW4gMiBoZXJlLiAqLworCQkJCXN3aXRjaCAobWJsZW5ndGgpIHsKKwkJCQljYXNlIChzaXplX3QpLTI6CisJCQkJCXAtLTsKKwkJCQkJZmlsZV9wb3NfYmFrID0gY3RsLT5maWxlX3BvcyAtIDE7CisJCQkJCXN0YXRlID0gc3RhdGVfYmFrOworCQkJCQl1c2VfbWJjX2J1ZmZlcl9mbGFnID0gMTsKKwkJCQkJYnJlYWs7CisKKwkJCQljYXNlIChzaXplX3QpLTE6CisJCQkJCXN0YXRlID0gc3RhdGVfYmFrOworCQkJCQljb2x1bW4rKzsKKwkJCQkJYnJlYWs7CisKKwkJCQlkZWZhdWx0OgorCQkJCQl3Y193aWR0aCA9IHdjd2lkdGgod2MpOworCQkJCQlpZiAod2Nfd2lkdGggPiAwKQorCQkJCQkJY29sdW1uICs9IHdjX3dpZHRoOworCQkJCX0KKwkJCX0gZWxzZQorI2VuZGlmCS8qIEhBVkVfV0lERUNIQVIgKi8KKwkJCXsKKwkJCQlpZiAoaXNwcmludChjKSkKKwkJCQkJY29sdW1uKys7CisJCQl9CisJCX0KKworCQlpZiAoY29sdW1uID49IGN0bC0+TWNvbCAmJiBjdGwtPmZvbGRfb3B0KQorCQkJYnJlYWs7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCQlpZiAodXNlX21iY19idWZmZXJfZmxhZyA9PSAwICYmIHAgPj0gJmN0bC0+TGluZVtjdGwtPkxpbmVMZW4gLSAxIC0gNF0pCisJCQkvKiBkb24ndCByZWFkIGFub3RoZXIgY2hhciBpZiB0aGVyZSBpcyBubyBzcGFjZSBmb3IKKwkJCSAqIHdob2xlIG11bHRpYnl0ZSBzZXF1ZW5jZSAqLworCQkJYnJlYWs7CisjZW5kaWYKKwkJYyA9IG1vcmVfZ2V0YyhjdGwsIGYpOworCX0KKwlpZiAoY29sdW1uID49IGN0bC0+TWNvbCAmJiBjdGwtPk1jb2wgPiAwKSB7CisJCWlmICghY3RsLT5XcmFwKSB7CisJCQkqcCsrID0gJ1xuJzsKKwkJfQorCX0KKwljb2xmbGcgPSBjb2x1bW4gPT0gY3RsLT5NY29sICYmIGN0bC0+Zm9sZF9vcHQ7CisJaWYgKGNvbGZsZyAmJiBjdGwtPmVhdG5sICYmIGN0bC0+V3JhcCkgeworCQkqcCsrID0gJ1xuJzsJLyogc2ltdWxhdGUgbm9ybWFsIHdyYXAgKi8KKwl9CisJKmxlbmd0aCA9IHAgLSBjdGwtPkxpbmU7CisJKnAgPSAwOworCXJldHVybiAoY29sdW1uKTsKK30KKworc3RhdGljIHZvaWQgY2xyZW9zKHN0cnVjdCBtb3JlX2NvbnRyb2wgKmN0bCkKK3sKKwlwdXRzdHJpbmcoY3RsLT5Fb2RDbHIpOworfQorCisvKiBFcmFzZSB0aGUgcmVzdCBvZiB0aGUgcHJvbXB0LCBhc3N1bWluZyB3ZSBhcmUgc3RhcnRpbmcgYXQgY29sdW1uIGNvbC4gKi8KK3N0YXRpYyB2b2lkIGVyYXNlcChzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIHJlZ2lzdGVyIGludCBjb2wpCit7CisKKwlpZiAoY3RsLT5wcm9tcHRsZW4gPT0gMCkKKwkJcmV0dXJuOworCWlmIChjdGwtPmhhcmQpIHsKKwkJcHV0Y2hhcignXG4nKTsKKwl9IGVsc2UgeworCQlpZiAoY29sID09IDApCisJCQlwdXRjaGFyKCdccicpOworCQlpZiAoIWN0bC0+ZHVtYiAmJiBjdGwtPmVyYXNlbG4pCisJCQlwdXRzdHJpbmcoY3RsLT5lcmFzZWxuKTsKKwkJZWxzZQorCQkJcHJpbnRmKCIlKnMiLCBjdGwtPnByb21wdGxlbiAtIGNvbCwgIiIpOworCX0KKwljdGwtPnByb21wdGxlbiA9IDA7Cit9CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCitzdGF0aWMgVUxfQVNBTl9CTEFDS0xJU1Qgc2l6ZV90IHhtYnJ0b3djKHdjaGFyX3QgKndjLCBjb25zdCBjaGFyICpzLCBzaXplX3QgbiwKKwkJCQkgIG1ic3RhdGVfdCAqbWJzdGF0ZSkKK3sKKwljb25zdCBzaXplX3QgbWJsZW5ndGggPSBtYnJ0b3djKHdjLCBzLCBuLCBtYnN0YXRlKTsKKwlpZiAobWJsZW5ndGggPT0gKHNpemVfdCktMiB8fCBtYmxlbmd0aCA9PSAoc2l6ZV90KS0xKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gbWJsZW5ndGg7Cit9CisjZW5kaWYKKworc3RhdGljIGludCB3b3VsZHVsKGNoYXIgKnMsIGludCBuKQoreworCWlmIChuIDwgMikKKwkJcmV0dXJuIDA7CisJaWYgKChzWzBdID09ICdfJyAmJiBzWzFdID09ICdcYicpIHx8IChzWzFdID09ICdcYicgJiYgc1syXSA9PSAnXycpKQorCQlyZXR1cm4gMTsKKwlyZXR1cm4gMDsKK30KKworLyogUHJpbnQgYSBidWZmZXIgb2YgbiBjaGFyYWN0ZXJzICovCitzdGF0aWMgdm9pZCBwcmJ1ZihzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIHJlZ2lzdGVyIGNoYXIgKnMsIHJlZ2lzdGVyIGludCBuKQoreworCXJlZ2lzdGVyIGNoYXIgYzsJLyogbmV4dCBvdXRwdXQgY2hhcmFjdGVyICovCisJcmVnaXN0ZXIgaW50IHN0YXRlOwkvKiBuZXh0IG91dHB1dCBjaGFyJ3MgVUwgc3RhdGUgKi8KKworCXdoaWxlICgtLW4gPj0gMCkKKwkJaWYgKCFjdGwtPnVsX29wdCkKKwkJCXB1dGNoYXIoKnMrKyk7CisJCWVsc2UgeworCQkJaWYgKCpzID09ICcgJyAmJiBjdGwtPnBzdGF0ZSA9PSAwICYmIGN0bC0+dWxnbGl0Y2gKKwkJCSAgICAmJiB3b3VsZHVsKHMgKyAxLCBuIC0gMSkpIHsKKwkJCQlzKys7CisJCQkJY29udGludWU7CisJCQl9CisJCQlpZiAoKHN0YXRlID0gd291bGR1bChzLCBuKSkgIT0gMCkgeworCQkJCWMgPSAoKnMgPT0gJ18nKSA/IHNbMl0gOiAqczsKKwkJCQluIC09IDI7CisJCQkJcyArPSAzOworCQkJfSBlbHNlCisJCQkJYyA9ICpzKys7CisJCQlpZiAoc3RhdGUgIT0gY3RsLT5wc3RhdGUpIHsKKwkJCQlpZiAoYyA9PSAnICcgJiYgc3RhdGUgPT0gMCAmJiBjdGwtPnVsZ2xpdGNoCisJCQkJICAgICYmIHdvdWxkdWwocywgbiAtIDEpKQorCQkJCQlzdGF0ZSA9IDE7CisJCQkJZWxzZQorCQkJCQlwdXRwKHN0YXRlID8gY3RsLT5VTGVudGVyIDogY3RsLT5VTGV4aXQpOworCQkJfQorCQkJaWYgKGMgIT0gJyAnIHx8IGN0bC0+cHN0YXRlID09IDAgfHwgc3RhdGUgIT0gMAorCQkJICAgIHx8IGN0bC0+dWxnbGl0Y2ggPT0gMCkKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJCQl7CisJCQkJd2NoYXJfdCB3YzsKKwkJCQlzaXplX3QgbWJsZW5ndGg7CisJCQkJbWJzdGF0ZV90IG1ic3RhdGU7CisJCQkJbWVtc2V0KCZtYnN0YXRlLCAnXDAnLCBzaXplb2YobWJzdGF0ZV90KSk7CisJCQkJcy0tOworCQkJCW4rKzsKKwkJCQltYmxlbmd0aCA9IHhtYnJ0b3djKCZ3YywgcywgbiwgJm1ic3RhdGUpOworCQkJCXdoaWxlIChtYmxlbmd0aC0tKQorCQkJCQlwdXRjaGFyKCpzKyspOworCQkJCW4gKz0gbWJsZW5ndGg7CisJCQl9CisjZWxzZQorCQkJCXB1dGNoYXIoYyk7CisjZW5kaWYJCQkJLyogSEFWRV9XSURFQ0hBUiAqLworCQkJaWYgKHN0YXRlICYmICpjdGwtPmNoVUwpIHsKKwkJCQlmcHV0cyhjdGwtPmNoQlMsIHN0ZG91dCk7CisJCQkJcHV0c3RyaW5nKGN0bC0+Y2hVTCk7CisJCQl9CisJCQljdGwtPnBzdGF0ZSA9IHN0YXRlOworCQl9Cit9CisKKy8qIEVyYXNlIHRoZSBjdXJyZW50IGxpbmUgZW50aXJlbHkgKi8KK3N0YXRpYyB2b2lkIGtpbGxfbGluZShzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwpCit7CisJZXJhc2VwKGN0bCwgMCk7CisJaWYgKCFjdGwtPmVyYXNlbG4gfHwgY3RsLT5kdW1iKQorCQlwdXRjaGFyKCdccicpOworfQorCitzdGF0aWMgdm9pZCBwcm9tcHQoc3RydWN0IG1vcmVfY29udHJvbCAqY3RsLCBjaGFyICpmaWxlbmFtZSkKK3sKKwlpZiAoY3RsLT5jbHJlb2wpCisJCWNsZWFyZW9sKGN0bCk7CisJZWxzZSBpZiAoY3RsLT5wcm9tcHRsZW4gPiAwKQorCQlraWxsX2xpbmUoY3RsKTsKKwlpZiAoIWN0bC0+aGFyZCkgeworCQljdGwtPnByb21wdGxlbiA9IDA7CisJCWlmIChjdGwtPlNlbnRlciAmJiBjdGwtPlNleGl0KSB7CisJCQlwdXRzdHJpbmcoY3RsLT5TZW50ZXIpOworCQkJY3RsLT5wcm9tcHRsZW4gKz0gKDIgKiBjdGwtPnNvZ2xpdGNoKTsKKwkJfQorCQlpZiAoY3RsLT5jbHJlb2wpCisJCQljbGVhcmVvbChjdGwpOworCQljdGwtPnByb21wdGxlbiArPSBwcmludGYoXygiLS1Nb3JlLS0iKSk7CisJCWlmIChmaWxlbmFtZSAhPSBOVUxMKSB7CisJCQljdGwtPnByb21wdGxlbiArPSBwcmludGYoXygiKE5leHQgZmlsZTogJXMpIiksIGZpbGVuYW1lKTsKKwkJfSBlbHNlIGlmICghY3RsLT5ub19pbnR0eSkgeworCQkJY3RsLT5wcm9tcHRsZW4gKz0KKwkJCSAgICBwcmludGYoIiglZCUlKSIsCisJCQkJICAgKGludCkoKGN0bC0+ZmlsZV9wb3MgKiAxMDApIC8gY3RsLT5maWxlX3NpemUpKTsKKwkJfQorCQlpZiAoY3RsLT5kdW1fb3B0KSB7CisJCQljdGwtPnByb21wdGxlbiArPQorCQkJICAgIHByaW50ZihfKCJbUHJlc3Mgc3BhY2UgdG8gY29udGludWUsICdxJyB0byBxdWl0Ll0iKSk7CisJCX0KKwkJaWYgKGN0bC0+U2VudGVyICYmIGN0bC0+U2V4aXQpCisJCQlwdXRzdHJpbmcoY3RsLT5TZXhpdCk7CisJCWlmIChjdGwtPmNscmVvbCkKKwkJCWNscmVvcyhjdGwpOworCQlmZmx1c2goc3Rkb3V0KTsKKwl9IGVsc2UKKwkJZnB1dGMoUklOR0JFTEwsIHN0ZGVycik7CisJY3RsLT5pbndhaXQrKzsKK30KKworc3RhdGljIGludCBvdXJwdXRjaChpbnQgYykKK3sKKwlyZXR1cm4gcHV0YyhjLCBzdGRvdXQpOworfQorCitzdGF0aWMgdm9pZCByZXNldF90dHkodm9pZCkKK3sKKwlpZiAoZ2xvYmFsX2N0bC0+bm9fdHR5KQorCQlyZXR1cm47CisJaWYgKGdsb2JhbF9jdGwtPnBzdGF0ZSkgeworCQkvKiBwdXRjaGFyIC0gaWYgdGhhdCBpc24ndCBhIG1hY3JvICovCisJCXRwdXRzKGdsb2JhbF9jdGwtPlVMZXhpdCwgZmlsZW5vKHN0ZG91dCksIG91cnB1dGNoKTsKKwkJZmZsdXNoKHN0ZG91dCk7CisJCWdsb2JhbF9jdGwtPnBzdGF0ZSA9IDA7CisJfQorCWdsb2JhbF9jdGwtPm90dHkuY19sZmxhZyB8PSBJQ0FOT04gfCBFQ0hPOworCWdsb2JhbF9jdGwtPm90dHkuY19jY1tWTUlOXSA9IGdsb2JhbF9jdGwtPnNhdmV0dHkwLmNfY2NbVk1JTl07CisJZ2xvYmFsX2N0bC0+b3R0eS5jX2NjW1ZUSU1FXSA9IGdsb2JhbF9jdGwtPnNhdmV0dHkwLmNfY2NbVlRJTUVdOworCXRjc2V0YXR0cihTVERFUlJfRklMRU5PLCBUQ1NBTk9XLCAmZ2xvYmFsX2N0bC0+c2F2ZXR0eTApOworfQorCisvKiBDbGVhbiB1cCB0ZXJtaW5hbCBzdGF0ZSBhbmQgZXhpdC4gQWxzbyBjb21lIGhlcmUgaWYgaW50ZXJydXB0IHNpZ25hbCByZWNlaXZlZCAqLworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgZW5kX2l0KGludCBkdW1teSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJLyogTWF5IGJlIGV4ZWN1dGVkIGFzIGEgc2lnbmFsIGhhbmRsZXIgYXMgd2VsbCBhcyBieSBtYWluIHByb2Nlc3MuCisJICoKKwkgKiBUaGUgX2V4aXQoKSBtYXkgd2FpdCBmb3IgcGVuZGluZyBJL08gZm9yIHJlYWxseSBsb25nIHRpbWUsIGJlIHN1cmUKKwkgKiB0aGF0IHNpZ25hbCBoYW5kbGVyIGlzIG5vdCBleGVjdXRlZCBpbiB0aGlzIHRpbWUgdG8gYXZvaWQgZG91YmxlCisJICogZGUtaW5pdGlhbGl6YXRpb24gKGZyZWUoKSBjYWxscywgZXRjLikuCisJICovCisJc2lnbmFsKFNJR0lOVCwgU0lHX0lHTik7CisKKwlyZXNldF90dHkoKTsKKwlpZiAoZ2xvYmFsX2N0bC0+Y2xyZW9sKSB7CisJCXB1dGNoYXIoJ1xyJyk7CisJCWNscmVvcyhnbG9iYWxfY3RsKTsKKwkJZmZsdXNoKHN0ZG91dCk7CisJfSBlbHNlIGlmICghZ2xvYmFsX2N0bC0+Y2xyZW9sICYmIChnbG9iYWxfY3RsLT5wcm9tcHRsZW4gPiAwKSkgeworCQlraWxsX2xpbmUoZ2xvYmFsX2N0bCk7CisJCWZmbHVzaChzdGRvdXQpOworCX0gZWxzZQorCQlmcHV0YygnXG4nLCBzdGRlcnIpOworCWZyZWUoZ2xvYmFsX2N0bC0+cHJldmlvdXNyZSk7CisJZnJlZShnbG9iYWxfY3RsLT5MaW5lKTsKKwlfZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgaW50IHJlYWRjaChzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwpCit7CisJdW5zaWduZWQgY2hhciBjOworCisJZXJybm8gPSAwOworCWlmIChyZWFkKGZpbGVubyhzdGRlcnIpLCAmYywgMSkgPD0gMCkgeworCQlpZiAoZXJybm8gIT0gRUlOVFIpCisJCQllbmRfaXQoMCk7CisJCWVsc2UKKwkJCWMgPSBjdGwtPm90dHkuY19jY1tWS0lMTF07CisJfQorCXJldHVybiAoYyk7Cit9CisKKy8qIFJlYWQgYSBkZWNpbWFsIG51bWJlciBmcm9tIHRoZSB0ZXJtaW5hbC4gIFNldCBjbWQgdG8gdGhlIG5vbi1kaWdpdAorICogd2hpY2ggdGVybWluYXRlcyB0aGUgbnVtYmVyLiAqLworc3RhdGljIGludCBudW1iZXIoc3RydWN0IG1vcmVfY29udHJvbCAqY3RsLCBjaGFyICpjbWQpCit7CisJcmVnaXN0ZXIgaW50IGk7CisKKwlpID0gMDsKKwljdGwtPmNoID0gY3RsLT5vdHR5LmNfY2NbVktJTExdOworCWZvciAoOzspIHsKKwkJY3RsLT5jaCA9IHJlYWRjaChjdGwpOworCQlpZiAoaXNkaWdpdChjdGwtPmNoKSkKKwkJCWkgPSBpICogMTAgKyBjdGwtPmNoIC0gJzAnOworCQllbHNlIGlmICgoY2NfdCkgY3RsLT5jaCA9PSBjdGwtPm90dHkuY19jY1tWS0lMTF0pCisJCQlpID0gMDsKKwkJZWxzZSB7CisJCQkqY21kID0gY3RsLT5jaDsKKwkJCWJyZWFrOworCQl9CisJfQorCXJldHVybiAoaSk7Cit9CisKKy8qIFNraXAgbnNraXAgZmlsZXMgaW4gdGhlIGZpbGUgbGlzdCAoZnJvbSB0aGUgY29tbWFuZCBsaW5lKS4gIE5za2lwIG1heQorICogYmUgbmVnYXRpdmUuICovCitzdGF0aWMgdm9pZCBza2lwZihzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIHJlZ2lzdGVyIGludCBuc2tpcCkKK3sKKwlpZiAobnNraXAgPT0gMCkKKwkJcmV0dXJuOworCWlmIChuc2tpcCA+IDApIHsKKwkJaWYgKGN0bC0+Zm51bSArIG5za2lwID4gY3RsLT5uZmlsZXMgLSAxKQorCQkJbnNraXAgPSBjdGwtPm5maWxlcyAtIGN0bC0+Zm51bSAtIDE7CisJfSBlbHNlIGlmIChjdGwtPndpdGhpbikKKwkJY3RsLT5mbnVtKys7CisJY3RsLT5mbnVtICs9IG5za2lwOworCWlmIChjdGwtPmZudW0gPCAwKQorCQljdGwtPmZudW0gPSAwOworCXB1dHMoXygiXG4uLi5Ta2lwcGluZyAiKSk7CisJaWYgKGN0bC0+Y2xyZW9sKQorCQljbGVhcmVvbChjdGwpOworCWlmIChuc2tpcCA+IDApCisJCWZwdXRzKF8oIi4uLlNraXBwaW5nIHRvIGZpbGUgIiksIHN0ZG91dCk7CisJZWxzZQorCQlmcHV0cyhfKCIuLi5Ta2lwcGluZyBiYWNrIHRvIGZpbGUgIiksIHN0ZG91dCk7CisJcHV0cyhjdGwtPmZuYW1lc1tjdGwtPmZudW1dKTsKKwlpZiAoY3RsLT5jbHJlb2wpCisJCWNsZWFyZW9sKGN0bCk7CisJcHV0Y2hhcignXG4nKTsKKwljdGwtPmZudW0tLTsKK30KKworc3RhdGljIHZvaWQgc2hvdyhzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIGNoYXIgYykKK3sKKwlpZiAoKGMgPCAnICcgJiYgYyAhPSAnXG4nICYmIGMgIT0gRVNDKSB8fCBjID09IFJVQk9VVCkgeworCQljICs9IChjID09IFJVQk9VVCkgPyAtMDEwMCA6IDAxMDA7CisJCWZwdXRzKENBUkFULCBzdGRlcnIpOworCQljdGwtPnByb21wdGxlbisrOworCX0KKwlmcHV0YyhjLCBzdGRlcnIpOworCWN0bC0+cHJvbXB0bGVuKys7Cit9CisKK3N0YXRpYyB2b2lkIG1vcmVfZXJyb3Ioc3RydWN0IG1vcmVfY29udHJvbCAqY3RsLCBjaGFyICptZXNzKQoreworCWlmIChjdGwtPmNscmVvbCkKKwkJY2xlYXJlb2woY3RsKTsKKwllbHNlCisJCWtpbGxfbGluZShjdGwpOworCWN0bC0+cHJvbXB0bGVuICs9IHN0cmxlbihtZXNzKTsKKwlpZiAoY3RsLT5TZW50ZXIgJiYgY3RsLT5TZXhpdCkgeworCQlwdXRwKGN0bC0+U2VudGVyKTsKKwkJZnB1dHMobWVzcywgc3Rkb3V0KTsKKwkJcHV0cChjdGwtPlNleGl0KTsKKwl9IGVsc2UKKwkJZnB1dHMobWVzcywgc3Rkb3V0KTsKKwlmZmx1c2goc3Rkb3V0KTsKKwljdGwtPmVycm9ycysrOworCXNpZ2xvbmdqbXAoY3RsLT5yZXN0b3JlLCAxKTsKK30KKworc3RhdGljIHZvaWQgZXJhc2Vfb25lX2NvbHVtbihzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwpCit7CisJaWYgKGN0bC0+ZG9jcnRlcmFzZSkKKwkJZnB1dHMoQlNCLCBzdGRlcnIpOworCWVsc2UKKwkJZnB1dHMoQlMsIHN0ZGVycik7Cit9CisKK3N0YXRpYyB2b2lkIHR0eWluKHN0cnVjdCBtb3JlX2NvbnRyb2wgKmN0bCwgY2hhciBidWZbXSwgcmVnaXN0ZXIgaW50IG5tYXgsIGNoYXIgcGNoYXIpCit7CisJY2hhciAqc3A7CisJaW50IGM7CisJaW50IHNsYXNoID0gMDsKKwlpbnQgbWF4bGVuOworCisJc3AgPSBidWY7CisJbWF4bGVuID0gMDsKKwl3aGlsZSAoc3AgLSBidWYgPCBubWF4KSB7CisJCWlmIChjdGwtPnByb21wdGxlbiA+IG1heGxlbikKKwkJCW1heGxlbiA9IGN0bC0+cHJvbXB0bGVuOworCQljID0gcmVhZGNoKGN0bCk7CisJCWlmIChjID09ICdcXCcpIHsKKwkJCXNsYXNoKys7CisJCX0gZWxzZSBpZiAoKChjY190KSBjID09IGN0bC0+b3R0eS5jX2NjW1ZFUkFTRV0pICYmICFzbGFzaCkgeworCQkJaWYgKHNwID4gYnVmKSB7CisjaWZkZWYgSEFWRV9XSURFQ0hBUgorCQkJCWlmIChNQl9DVVJfTUFYID4gMSkgeworCQkJCQl3Y2hhcl90IHdjOworCQkJCQlzaXplX3QgcG9zID0gMCwgbWJsZW5ndGg7CisJCQkJCW1ic3RhdGVfdCBzdGF0ZSwgc3RhdGVfYmFrOworCisJCQkJCW1lbXNldCgmc3RhdGUsICdcMCcsIHNpemVvZihtYnN0YXRlX3QpKTsKKworCQkJCQl3aGlsZSAoMSkgeworCQkJCQkJc3RhdGVfYmFrID0gc3RhdGU7CisJCQkJCQltYmxlbmd0aCA9CisJCQkJCQkgICAgbWJydG93Yygmd2MsIGJ1ZiArIHBvcywKKwkJCQkJCQkgICAgc3AgLSBidWYsICZzdGF0ZSk7CisKKwkJCQkJCXN0YXRlID0gKG1ibGVuZ3RoID09IChzaXplX3QpLTIKKwkJCQkJCQkgfHwgbWJsZW5ndGggPT0KKwkJCQkJCQkgKHNpemVfdCktMSkgPyBzdGF0ZV9iYWsKKwkJCQkJCSAgICA6IHN0YXRlOworCQkJCQkJbWJsZW5ndGggPQorCQkJCQkJICAgIChtYmxlbmd0aCA9PSAoc2l6ZV90KS0yCisJCQkJCQkgICAgIHx8IG1ibGVuZ3RoID09IChzaXplX3QpLTEKKwkJCQkJCSAgICAgfHwgbWJsZW5ndGggPT0KKwkJCQkJCSAgICAgMCkgPyAxIDogbWJsZW5ndGg7CisKKwkJCQkJCWlmIChidWYgKyBwb3MgKyBtYmxlbmd0aCA+PSBzcCkKKwkJCQkJCQlicmVhazsKKworCQkJCQkJcG9zICs9IG1ibGVuZ3RoOworCQkJCQl9CisKKwkJCQkJaWYgKG1ibGVuZ3RoID09IDEpIHsKKwkJCQkJCWVyYXNlX29uZV9jb2x1bW4oY3RsKTsKKwkJCQkJfSBlbHNlIHsKKwkJCQkJCWludCB3Y193aWR0aDsKKwkJCQkJCXdjX3dpZHRoID0gd2N3aWR0aCh3Yyk7CisJCQkJCQl3Y193aWR0aCA9CisJCQkJCQkgICAgKHdjX3dpZHRoIDwKKwkJCQkJCSAgICAgMSkgPyAxIDogd2Nfd2lkdGg7CisJCQkJCQl3aGlsZSAod2Nfd2lkdGgtLSkgeworCQkJCQkJCWVyYXNlX29uZV9jb2x1bW4oY3RsKTsKKwkJCQkJCX0KKwkJCQkJfQorCisJCQkJCXdoaWxlIChtYmxlbmd0aC0tKSB7CisJCQkJCQktLWN0bC0+cHJvbXB0bGVuOworCQkJCQkJLS1zcDsKKwkJCQkJfQorCQkJCX0gZWxzZQorI2VuZGlmCS8qIEhBVkVfV0lERUNIQVIgKi8KKwkJCQl7CisJCQkJCS0tY3RsLT5wcm9tcHRsZW47CisJCQkJCWVyYXNlX29uZV9jb2x1bW4oY3RsKTsKKwkJCQkJLS1zcDsKKwkJCQl9CisKKwkJCQlpZiAoKCpzcCA8ICcgJyAmJiAqc3AgIT0gJ1xuJykgfHwgKnNwID09IFJVQk9VVCkgeworCQkJCQktLWN0bC0+cHJvbXB0bGVuOworCQkJCQllcmFzZV9vbmVfY29sdW1uKGN0bCk7CisJCQkJfQorCQkJCWNvbnRpbnVlOworCQkJfSBlbHNlIHsKKwkJCQlpZiAoIWN0bC0+ZXJhc2VsbikKKwkJCQkJY3RsLT5wcm9tcHRsZW4gPSBtYXhsZW47CisJCQkJc2lnbG9uZ2ptcChjdGwtPnJlc3RvcmUsIDEpOworCQkJfQorCQl9IGVsc2UgaWYgKCgoY2NfdCkgYyA9PSBjdGwtPm90dHkuY19jY1tWS0lMTF0pICYmICFzbGFzaCkgeworCQkJaWYgKGN0bC0+aGFyZCkgeworCQkJCXNob3coY3RsLCBjKTsKKwkJCQlwdXRjaGFyKCdcbicpOworCQkJCXB1dGNoYXIocGNoYXIpOworCQkJfSBlbHNlIHsKKwkJCQlwdXRjaGFyKCdccicpOworCQkJCXB1dGNoYXIocGNoYXIpOworCQkJCWlmIChjdGwtPmVyYXNlbG4pCisJCQkJCWVyYXNlcChjdGwsIDEpOworCQkJCWVsc2UgaWYgKGN0bC0+ZG9jcnRraWxsKQorCQkJCQl3aGlsZSAoY3RsLT5wcm9tcHRsZW4tLSA+IDEpCisJCQkJCQlmcHV0cyhCU0IsIHN0ZGVycik7CisJCQkJY3RsLT5wcm9tcHRsZW4gPSAxOworCQkJfQorCQkJc3AgPSBidWY7CisJCQlmZmx1c2goc3Rkb3V0KTsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmIChzbGFzaCAmJiAoKGNjX3QpIGMgPT0gY3RsLT5vdHR5LmNfY2NbVktJTExdCisJCQkgICAgICB8fCAoY2NfdCkgYyA9PSBjdGwtPm90dHkuY19jY1tWRVJBU0VdKSkgeworCQkJZXJhc2Vfb25lX2NvbHVtbihjdGwpOworCQkJLS1zcDsKKwkJfQorCQlpZiAoYyAhPSAnXFwnKQorCQkJc2xhc2ggPSAwOworCQkqc3ArKyA9IGM7CisJCWlmICgoYyA8ICcgJyAmJiBjICE9ICdcbicgJiYgYyAhPSBFU0MpIHx8IGMgPT0gUlVCT1VUKSB7CisJCQljICs9IChjID09IFJVQk9VVCkgPyAtMDEwMCA6IDAxMDA7CisJCQlmcHV0cyhDQVJBVCwgc3RkZXJyKTsKKwkJCWN0bC0+cHJvbXB0bGVuKys7CisJCX0KKwkJaWYgKGMgIT0gJ1xuJyAmJiBjICE9IEVTQykgeworCQkJZnB1dGMoYywgc3RkZXJyKTsKKwkJCWN0bC0+cHJvbXB0bGVuKys7CisJCX0gZWxzZQorCQkJYnJlYWs7CisJfQorCSotLXNwID0gJ1wwJzsKKwlpZiAoIWN0bC0+ZXJhc2VsbikKKwkJY3RsLT5wcm9tcHRsZW4gPSBtYXhsZW47CisJaWYgKHNwIC0gYnVmID49IG5tYXggLSAxKQorCQltb3JlX2Vycm9yKGN0bCwgXygiTGluZSB0b28gbG9uZyIpKTsKK30KKworLyogcmV0dXJuOiAwIC0gdW5jaGFuZ2VkLCAxIC0gY2hhbmdlZCwgLTEgLSBvdmVyZmxvdyAodW5jaGFuZ2VkKSAqLworc3RhdGljIGludCBleHBhbmQoc3RydWN0IG1vcmVfY29udHJvbCAqY3RsLCBjaGFyICoqb3V0YnVmLCBjaGFyICppbmJ1ZikKK3sKKwljaGFyICppbnBzdHI7CisJY2hhciAqb3V0c3RyOworCWNoYXIgYzsKKwljaGFyICp0ZW1wOworCWludCBjaGFuZ2VkID0gMDsKKwlpbnQgdGVtcHN6LCB4dHJhLCBvZmZzZXQ7CisKKwl4dHJhID0gc3RybGVuKGN0bC0+Zm5hbWVzW2N0bC0+Zm51bV0pICsgc3RybGVuKGN0bC0+c2hlbGxfbGluZSkgKyAxOworCXRlbXBzeiA9IDIwMCArIHh0cmE7CisJdGVtcCA9IHhtYWxsb2ModGVtcHN6KTsKKwlpbnBzdHIgPSBpbmJ1ZjsKKwlvdXRzdHIgPSB0ZW1wOworCXdoaWxlICgoYyA9ICppbnBzdHIrKykgIT0gJ1wwJykgeworCQlvZmZzZXQgPSBvdXRzdHIgLSB0ZW1wOworCQlpZiAodGVtcHN6IC0gb2Zmc2V0IC0gMSA8IHh0cmEpIHsKKwkJCXRlbXBzeiArPSAyMDAgKyB4dHJhOworCQkJdGVtcCA9IHhyZWFsbG9jKHRlbXAsIHRlbXBzeik7CisJCQlvdXRzdHIgPSB0ZW1wICsgb2Zmc2V0OworCQl9CisJCXN3aXRjaCAoYykgeworCQljYXNlICclJzoKKwkJCWlmICghY3RsLT5ub19pbnR0eSkgeworCQkJCXN0cmNweShvdXRzdHIsIGN0bC0+Zm5hbWVzW2N0bC0+Zm51bV0pOworCQkJCW91dHN0ciArPSBzdHJsZW4oY3RsLT5mbmFtZXNbY3RsLT5mbnVtXSk7CisJCQkJY2hhbmdlZCsrOworCQkJfSBlbHNlCisJCQkJKm91dHN0cisrID0gYzsKKwkJCWJyZWFrOworCQljYXNlICchJzoKKwkJCWlmICghY3RsLT5zaGVsbHApCisJCQkJbW9yZV9lcnJvcihjdGwsIF8KKwkJCQkJICAgKCJObyBwcmV2aW91cyBjb21tYW5kIHRvIHN1YnN0aXR1dGUgZm9yIikpOworCQkJc3RyY3B5KG91dHN0ciwgY3RsLT5zaGVsbF9saW5lKTsKKwkJCW91dHN0ciArPSBzdHJsZW4oY3RsLT5zaGVsbF9saW5lKTsKKwkJCWNoYW5nZWQrKzsKKwkJCWJyZWFrOworCQljYXNlICdcXCc6CisJCQlpZiAoKmlucHN0ciA9PSAnJScgfHwgKmlucHN0ciA9PSAnIScpIHsKKwkJCQkqb3V0c3RyKysgPSAqaW5wc3RyKys7CisJCQkJYnJlYWs7CisJCQl9CisJCQkvKiBmYWxsdGhyb3VnaCAqLworCQlkZWZhdWx0OgorCQkJKm91dHN0cisrID0gYzsKKwkJfQorCX0KKwkqb3V0c3RyKysgPSAnXDAnOworCSpvdXRidWYgPSB0ZW1wOworCXJldHVybiAoY2hhbmdlZCk7Cit9CisKK3N0YXRpYyB2b2lkIHNldF90dHkoc3RydWN0IG1vcmVfY29udHJvbCAqY3RsKQoreworCWN0bC0+b3R0eS5jX2xmbGFnICY9IH4oSUNBTk9OIHwgRUNITyk7CisJY3RsLT5vdHR5LmNfY2NbVk1JTl0gPSAxOwkvKiByZWFkIGF0IGxlYXN0IDEgY2hhciAqLworCWN0bC0+b3R0eS5jX2NjW1ZUSU1FXSA9IDA7CS8qIG5vIHRpbWVvdXQgKi8KKwl0Y3NldGF0dHIoU1RERVJSX0ZJTEVOTywgVENTQU5PVywgJmN0bC0+b3R0eSk7Cit9CisKKy8qIENvbWUgaGVyZSBpZiBhIHF1aXQgc2lnbmFsIGlzIHJlY2VpdmVkICovCitzdGF0aWMgdm9pZCBvbnF1aXQoaW50IGR1bW15IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzaWduYWwoU0lHUVVJVCwgU0lHX0lHTik7CisJaWYgKCFnbG9iYWxfY3RsLT5pbndhaXQpIHsKKwkJcHV0Y2hhcignXG4nKTsKKwkJaWYgKCFnbG9iYWxfY3RsLT5zdGFydHVwKSB7CisJCQlzaWduYWwoU0lHUVVJVCwgb25xdWl0KTsKKwkJCXNpZ2xvbmdqbXAoZ2xvYmFsX2N0bC0+cmVzdG9yZSwgMSk7CisJCX0gZWxzZQorCQkJZ2xvYmFsX2N0bC0+UGF1c2UgPSAxOworCX0gZWxzZSBpZiAoIWdsb2JhbF9jdGwtPmR1bV9vcHQgJiYgZ2xvYmFsX2N0bC0+bm90ZWxsKSB7CisJCWdsb2JhbF9jdGwtPnByb21wdGxlbiArPSBmcHJpbnRmKHN0ZGVyciwgXygiW1VzZSBxIG9yIFEgdG8gcXVpdF0iKSk7CisJCWdsb2JhbF9jdGwtPm5vdGVsbCA9IDA7CisJfQorCXNpZ25hbChTSUdRVUlULCBvbnF1aXQpOworfQorCisvKiBDb21lIGhlcmUgd2hlbiB3ZSBnZXQgYSBzdXNwZW5kIHNpZ25hbCBmcm9tIHRoZSB0ZXJtaW5hbCAqLworc3RhdGljIHZvaWQgb25zdXNwKGludCBkdW1teSBfX2F0dHJpYnV0ZV9fKChfX3VudXNlZF9fKSkpCit7CisJc2lnc2V0X3Qgc2lnbmFscywgb2xkbWFzazsKKworCS8qIGlnbm9yZSBTSUdUVE9VIHNvIHdlIGRvbid0IGdldCBzdG9wcGVkIGlmIGNzaCBncmFicyB0aGUgdHR5ICovCisJc2lnbmFsKFNJR1RUT1UsIFNJR19JR04pOworCXJlc2V0X3R0eSgpOworCWZmbHVzaChzdGRvdXQpOworCXNpZ25hbChTSUdUVE9VLCBTSUdfREZMKTsKKwkvKiBTZW5kIHRoZSBUU1RQIHNpZ25hbCB0byBzdXNwZW5kIG91ciBwcm9jZXNzIGdyb3VwICovCisJc2lnbmFsKFNJR1RTVFAsIFNJR19ERkwpOworCisJLyogdW5ibG9jayBTSUdUU1RQIG9yIHdlIHdvbid0IGJlIGFibGUgdG8gc3VzcGVuZCBvdXJzZWxmICovCisJc2lnZW1wdHlzZXQoJnNpZ25hbHMpOworCXNpZ2FkZHNldCgmc2lnbmFscywgU0lHVFNUUCk7CisJc2lncHJvY21hc2soU0lHX1VOQkxPQ0ssICZzaWduYWxzLCAmb2xkbWFzayk7CisKKwlraWxsKDAsIFNJR1RTVFApOworCS8qIFBhdXNlIGZvciBzdGF0aW9uIGJyZWFrICovCisKKwlzaWdwcm9jbWFzayhTSUdfU0VUTUFTSywgJm9sZG1hc2ssIE5VTEwpOworCisJLyogV2UncmUgYmFjayAqLworCXNpZ25hbChTSUdUU1RQLCBvbnN1c3ApOworCXNldF90dHkoZ2xvYmFsX2N0bCk7CisJaWYgKGdsb2JhbF9jdGwtPmlud2FpdCkKKwkJc2lnbG9uZ2ptcChnbG9iYWxfY3RsLT5yZXN0b3JlLCAxKTsKK30KKworc3RhdGljIHZvaWQgZXhlY3V0ZShzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIGNoYXIgKmZpbGVuYW1lLCBjaGFyICpjbWQsIC4uLikKK3sKKwlpbnQgaWQ7CisJaW50IG47CisJdmFfbGlzdCBhcmdwOworCWNoYXIgKmFyZzsKKwljaGFyICoqYXJnczsKKwlpbnQgYXJnY291bnQ7CisKKwlmZmx1c2goc3Rkb3V0KTsKKwlyZXNldF90dHkoKTsKKwlmb3IgKG4gPSAxMDsgKGlkID0gZm9yaygpKSA8IDAgJiYgbiA+IDA7IG4tLSkKKwkJc2xlZXAoNSk7CisJaWYgKGlkID09IDApIHsKKwkJaW50IGVycnN2OworCQlpZiAoIWlzYXR0eSgwKSkgeworCQkJY2xvc2UoMCk7CisJCQlvcGVuKCIvZGV2L3R0eSIsIDApOworCQl9CisKKwkJdmFfc3RhcnQoYXJncCwgY21kKTsKKwkJYXJnID0gdmFfYXJnKGFyZ3AsIGNoYXIgKik7CisJCWFyZ2NvdW50ID0gMDsKKwkJd2hpbGUgKGFyZykgeworCQkJYXJnY291bnQrKzsKKwkJCWFyZyA9IHZhX2FyZyhhcmdwLCBjaGFyICopOworCQl9CisJCXZhX2VuZChhcmdwKTsKKworCQlhcmdzID0gYWxsb2NhKHNpemVvZihjaGFyICopICogKGFyZ2NvdW50ICsgMSkpOworCQlhcmdzW2FyZ2NvdW50XSA9IE5VTEw7CisKKwkJdmFfc3RhcnQoYXJncCwgY21kKTsKKwkJYXJnID0gdmFfYXJnKGFyZ3AsIGNoYXIgKik7CisJCWFyZ2NvdW50ID0gMDsKKwkJd2hpbGUgKGFyZykgeworCQkJYXJnc1thcmdjb3VudF0gPSBhcmc7CisJCQlhcmdjb3VudCsrOworCQkJYXJnID0gdmFfYXJnKGFyZ3AsIGNoYXIgKik7CisJCX0KKwkJdmFfZW5kKGFyZ3ApOworCisJCWV4ZWN2cChjbWQsIGFyZ3MpOworCQllcnJzdiA9IGVycm5vOworCQlmcHV0cyhfKCJleGVjIGZhaWxlZFxuIiksIHN0ZGVycik7CisJCWV4aXQoZXJyc3YgPT0gRU5PRU5UID8gRVhfRVhFQ19FTk9FTlQgOiBFWF9FWEVDX0ZBSUxFRCk7CisJfQorCWlmIChpZCA+IDApIHsKKwkJc2lnbmFsKFNJR0lOVCwgU0lHX0lHTik7CisJCXNpZ25hbChTSUdRVUlULCBTSUdfSUdOKTsKKwkJaWYgKGN0bC0+Y2F0Y2hfc3VzcCkKKwkJCXNpZ25hbChTSUdUU1RQLCBTSUdfREZMKTsKKwkJd2hpbGUgKHdhaXQoTlVMTCkgPiAwKSA7CisJCXNpZ25hbChTSUdJTlQsIGVuZF9pdCk7CisJCXNpZ25hbChTSUdRVUlULCBvbnF1aXQpOworCQlpZiAoY3RsLT5jYXRjaF9zdXNwKQorCQkJc2lnbmFsKFNJR1RTVFAsIG9uc3VzcCk7CisJfSBlbHNlCisJCWZwdXRzKF8oImNhbid0IGZvcmtcbiIpLCBzdGRlcnIpOworCXNldF90dHkoY3RsKTsKKwlwdXRzKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iKTsKKwlwcm9tcHQoY3RsLCBmaWxlbmFtZSk7Cit9CisKK3N0YXRpYyB2b2lkIGRvX3NoZWxsKHN0cnVjdCBtb3JlX2NvbnRyb2wgKmN0bCwgY2hhciAqZmlsZW5hbWUpCit7CisJY2hhciBjbWRidWZbQ09NTUFORF9CVUZdOworCWludCByYzsKKwljaGFyICpleHBhbmRlZDsKKworCWtpbGxfbGluZShjdGwpOworCXB1dGNoYXIoJyEnKTsKKwlmZmx1c2goc3Rkb3V0KTsKKwljdGwtPnByb21wdGxlbiA9IDE7CisJaWYgKGN0bC0+bGFzdHApCisJCWZwdXRzKGN0bC0+c2hlbGxfbGluZSwgc3Rkb3V0KTsKKwllbHNlIHsKKwkJdHR5aW4oY3RsLCBjbWRidWYsIHNpemVvZihjbWRidWYpIC0gMiwgJyEnKTsKKwkJZXhwYW5kZWQgPSBOVUxMOworCQlyYyA9IGV4cGFuZChjdGwsICZleHBhbmRlZCwgY21kYnVmKTsKKwkJaWYgKGV4cGFuZGVkKSB7CisJCQlpZiAoc3RybGVuKGV4cGFuZGVkKSA8IHNpemVvZihjdGwtPnNoZWxsX2xpbmUpKQorCQkJCXN0cmNweShjdGwtPnNoZWxsX2xpbmUsIGV4cGFuZGVkKTsKKwkJCWVsc2UKKwkJCQlyYyA9IC0xOworCQkJZnJlZShleHBhbmRlZCk7CisJCX0KKwkJaWYgKHJjIDwgMCkgeworCQkJZnB1dHMoXygiICBPdmVyZmxvd1xuIiksIHN0ZGVycik7CisJCQlwcm9tcHQoY3RsLCBmaWxlbmFtZSk7CisJCQlyZXR1cm47CisJCX0gZWxzZSBpZiAocmMgPiAwKSB7CisJCQlraWxsX2xpbmUoY3RsKTsKKwkJCWN0bC0+cHJvbXB0bGVuID0gcHJpbnRmKCIhJXMiLCBjdGwtPnNoZWxsX2xpbmUpOworCQl9CisJfQorCWZmbHVzaChzdGRvdXQpOworCWZwdXRjKCdcbicsIHN0ZGVycik7CisJY3RsLT5wcm9tcHRsZW4gPSAwOworCWN0bC0+c2hlbGxwID0gMTsKKwlleGVjdXRlKGN0bCwgZmlsZW5hbWUsIGN0bC0+c2hlbGwsIGN0bC0+c2hlbGwsICItYyIsIGN0bC0+c2hlbGxfbGluZSwgMCk7Cit9CisKKy8qIEV4ZWN1dGUgYSBjb2xvbi1wcmVmaXhlZCBjb21tYW5kLiAgUmV0dXJucyA8MCBpZiBub3QgYSBjb21tYW5kIHRoYXQKKyAqIHNob3VsZCBjYXVzZSBtb3JlIG9mIHRoZSBmaWxlIHRvIGJlIHByaW50ZWQuICovCitzdGF0aWMgaW50IGNvbG9uKHN0cnVjdCBtb3JlX2NvbnRyb2wgKmN0bCwgY2hhciAqZmlsZW5hbWUsIGludCBjbWQsIGludCBubGluZXMpCit7CisJaWYgKGNtZCA9PSAwKQorCQljdGwtPmNoID0gcmVhZGNoKGN0bCk7CisJZWxzZQorCQljdGwtPmNoID0gY21kOworCWN0bC0+bGFzdGNvbG9uID0gY3RsLT5jaDsKKwlzd2l0Y2ggKGN0bC0+Y2gpIHsKKwljYXNlICdmJzoKKwkJa2lsbF9saW5lKGN0bCk7CisJCWlmICghY3RsLT5ub19pbnR0eSkKKwkJCWN0bC0+cHJvbXB0bGVuID0KKwkJCSAgICBwcmludGYoXygiXCIlc1wiIGxpbmUgJWQiKSwgY3RsLT5mbmFtZXNbY3RsLT5mbnVtXSwgY3RsLT5DdXJybGluZSk7CisJCWVsc2UKKwkJCWN0bC0+cHJvbXB0bGVuID0gcHJpbnRmKF8oIltOb3QgYSBmaWxlXSBsaW5lICVkIiksIGN0bC0+Q3VycmxpbmUpOworCQlmZmx1c2goc3Rkb3V0KTsKKwkJcmV0dXJuICgtMSk7CisJY2FzZSAnbic6CisJCWlmIChubGluZXMgPT0gMCkgeworCQkJaWYgKGN0bC0+Zm51bSA+PSBjdGwtPm5maWxlcyAtIDEpCisJCQkJZW5kX2l0KDApOworCQkJbmxpbmVzKys7CisJCX0KKwkJcHV0Y2hhcignXHInKTsKKwkJZXJhc2VwKGN0bCwgMCk7CisJCXNraXBmKGN0bCwgbmxpbmVzKTsKKwkJcmV0dXJuICgwKTsKKwljYXNlICdwJzoKKwkJaWYgKGN0bC0+bm9faW50dHkpIHsKKwkJCWZwdXRjKFJJTkdCRUxMLCBzdGRlcnIpOworCQkJcmV0dXJuICgtMSk7CisJCX0KKwkJcHV0Y2hhcignXHInKTsKKwkJZXJhc2VwKGN0bCwgMCk7CisJCWlmIChubGluZXMgPT0gMCkKKwkJCW5saW5lcysrOworCQlza2lwZihjdGwsIC1ubGluZXMpOworCQlyZXR1cm4gKDApOworCWNhc2UgJyEnOgorCQlkb19zaGVsbChjdGwsIGZpbGVuYW1lKTsKKwkJcmV0dXJuICgtMSk7CisJY2FzZSAncSc6CisJY2FzZSAnUSc6CisJCWVuZF9pdCgwKTsKKwlkZWZhdWx0OgorCQlmcHV0YyhSSU5HQkVMTCwgc3RkZXJyKTsKKwkJcmV0dXJuICgtMSk7CisJfQorfQorCisvKiBTa2lwIG4gbGluZXMgaW4gdGhlIGZpbGUgZiAqLworc3RhdGljIHZvaWQgc2tpcGxucyhzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIHJlZ2lzdGVyIGludCBuLCByZWdpc3RlciBGSUxFICpmKQoreworCXJlZ2lzdGVyIGludCBjOworCisJd2hpbGUgKG4gPiAwKSB7CisJCXdoaWxlICgoYyA9IG1vcmVfZ2V0YyhjdGwsIGYpKSAhPSAnXG4nKQorCQkJaWYgKGMgPT0gRU9GKQorCQkJCXJldHVybjsKKwkJbi0tOworCQljdGwtPkN1cnJsaW5lKys7CisJfQorfQorCisvKiAgQ2xlYXIgdGhlIHNjcmVlbiAqLworc3RhdGljIHZvaWQgZG9jbGVhcihzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwpCit7CisJaWYgKGN0bC0+Q2xlYXIgJiYgIWN0bC0+aGFyZCkgeworCQlwdXRwKGN0bC0+Q2xlYXIpOworCQkvKiBQdXQgb3V0IGNhcnJpYWdlIHJldHVybiBzbyB0aGF0IHN5c3RlbSBkb2Vzbid0IGdldAorCQkgKiBjb25mdXNlZCBieSBlc2NhcGUgc2VxdWVuY2VzIHdoZW4gZXhwYW5kaW5nIHRhYnMgKi8KKwkJcHV0Y2hhcignXHInKTsKKwkJY3RsLT5wcm9tcHRsZW4gPSAwOworCX0KK30KKworc3RhdGljIHZvaWQgcmRsaW5lKHN0cnVjdCBtb3JlX2NvbnRyb2wgKmN0bCwgcmVnaXN0ZXIgRklMRSAqZikKK3sKKwlyZWdpc3RlciBpbnQgYzsKKwlyZWdpc3RlciBjaGFyICpwOworCisJcHJlcGFyZV9saW5lX2J1ZmZlcihjdGwpOworCisJcCA9IGN0bC0+TGluZTsKKwl3aGlsZSAoKGMgPSBtb3JlX2dldGMoY3RsLCBmKSkgIT0gJ1xuJyAmJiBjICE9IEVPRgorCSAgICAgICAmJiAoc2l6ZV90KShwIC0gY3RsLT5MaW5lKSA8IGN0bC0+TGluZUxlbiAtIDEpCisJCSpwKysgPSBjOworCWlmIChjID09ICdcbicpCisJCWN0bC0+Q3VycmxpbmUrKzsKKwkqcCA9ICdcMCc7Cit9CisKKy8qIEdvIHRvIGhvbWUgcG9zaXRpb24gKi8KK3N0YXRpYyB2b2lkIGhvbWUoc3RydWN0IG1vcmVfY29udHJvbCAqY3RsKQoreworCXB1dHAoY3RsLT5Ib21lKTsKK30KKworLyogU2VhcmNoIGZvciBudGggb2NjdXJyZW5jZSBvZiByZWd1bGFyIGV4cHJlc3Npb24gY29udGFpbmVkIGluIGJ1ZiBpbgorICogdGhlIGZpbGUgKi8KK3N0YXRpYyB2b2lkIHNlYXJjaChzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIGNoYXIgYnVmW10sIEZJTEUgKmZpbGUsIHJlZ2lzdGVyIGludCBuKQoreworCWxvbmcgc3RhcnRsaW5lID0gY3RsLT5maWxlX3BvczsKKwlyZWdpc3RlciBsb25nIGxpbmUxID0gc3RhcnRsaW5lOworCXJlZ2lzdGVyIGxvbmcgbGluZTIgPSBzdGFydGxpbmU7CisJcmVnaXN0ZXIgbG9uZyBsaW5lMzsKKwlyZWdpc3RlciBpbnQgbG5jb3VudDsKKwlpbnQgc2F2ZWxuLCByYzsKKwlyZWdleF90IHJlOworCisJY3RsLT5jb250ZXh0LmxpbmUgPSBzYXZlbG4gPSBjdGwtPkN1cnJsaW5lOworCWN0bC0+Y29udGV4dC5jaHJjdHIgPSBzdGFydGxpbmU7CisJbG5jb3VudCA9IDA7CisJaWYgKCFidWYpCisJCWdvdG8gbm90Zm91bmQ7CisJaWYgKChyYyA9IHJlZ2NvbXAoJnJlLCBidWYsIFJFR19OT1NVQikpICE9IDApIHsKKwkJY2hhciBzW1JFR0VSUl9CVUZdOworCQlyZWdlcnJvcihyYywgJnJlLCBzLCBzaXplb2Ygcyk7CisJCW1vcmVfZXJyb3IoY3RsLCBzKTsKKwl9CisJd2hpbGUgKCFmZW9mKGZpbGUpKSB7CisJCWxpbmUzID0gbGluZTI7CisJCWxpbmUyID0gbGluZTE7CisJCWxpbmUxID0gY3RsLT5maWxlX3BvczsKKwkJcmRsaW5lKGN0bCwgZmlsZSk7CisJCWxuY291bnQrKzsKKwkJaWYgKHJlZ2V4ZWMoJnJlLCBjdGwtPkxpbmUsIDAsIE5VTEwsIDApID09IDApIHsKKwkJCWlmICgtLW4gPT0gMCkgeworCQkJCWlmIChsbmNvdW50ID4gMyB8fCAobG5jb3VudCA+IDEgJiYgY3RsLT5ub19pbnR0eSkpIHsKKwkJCQkJcHV0Y2hhcignXG4nKTsKKwkJCQkJaWYgKGN0bC0+Y2xyZW9sKQorCQkJCQkJY2xlYXJlb2woY3RsKTsKKwkJCQkJZnB1dHMoXygiLi4uc2tpcHBpbmdcbiIpLCBzdGRvdXQpOworCQkJCX0KKwkJCQlpZiAoIWN0bC0+bm9faW50dHkpIHsKKwkJCQkJY3RsLT5DdXJybGluZSAtPQorCQkJCQkgICAgKGxuY291bnQgPj0gMyA/IDMgOiBsbmNvdW50KTsKKwkJCQkJbW9yZV9mc2VlayhjdGwsIGZpbGUsIGxpbmUzKTsKKwkJCQkJaWYgKGN0bC0+bm9zY3JvbGwpIHsKKwkJCQkJCWlmIChjdGwtPmNscmVvbCkgeworCQkJCQkJCWhvbWUoY3RsKTsKKwkJCQkJCQljbGVhcmVvbChjdGwpOworCQkJCQkJfSBlbHNlCisJCQkJCQkJZG9jbGVhcihjdGwpOworCQkJCQl9CisJCQkJfSBlbHNlIHsKKwkJCQkJa2lsbF9saW5lKGN0bCk7CisJCQkJCWlmIChjdGwtPm5vc2Nyb2xsKSB7CisJCQkJCQlpZiAoY3RsLT5jbHJlb2wpIHsKKwkJCQkJCQlob21lKGN0bCk7CisJCQkJCQkJY2xlYXJlb2woY3RsKTsKKwkJCQkJCX0gZWxzZQorCQkJCQkJCWRvY2xlYXIoY3RsKTsKKwkJCQkJfQorCQkJCQlwdXRzKGN0bC0+TGluZSk7CisJCQkJfQorCQkJCWJyZWFrOworCQkJfQorCQl9CisJfQorCXJlZ2ZyZWUoJnJlKTsKKwlpZiAoZmVvZihmaWxlKSkgeworCQlpZiAoIWN0bC0+bm9faW50dHkpIHsKKwkJCWN0bC0+Q3VycmxpbmUgPSBzYXZlbG47CisJCQltb3JlX2ZzZWVrKGN0bCwgZmlsZSwgc3RhcnRsaW5lKTsKKwkJfSBlbHNlIHsKKwkJCWZwdXRzKF8oIlxuUGF0dGVybiBub3QgZm91bmRcbiIpLCBzdGRvdXQpOworCQkJZW5kX2l0KDApOworCQl9CisJCWZyZWUoY3RsLT5wcmV2aW91c3JlKTsKKwkJY3RsLT5wcmV2aW91c3JlID0gTlVMTDsKK25vdGZvdW5kOgorCQltb3JlX2Vycm9yKGN0bCwgXygiUGF0dGVybiBub3QgZm91bmQiKSk7CisJfQorfQorCisvKiBSZWFkIGEgY29tbWFuZCBhbmQgZG8gaXQuICBBIGNvbW1hbmQgY29uc2lzdHMgb2YgYW4gb3B0aW9uYWwgaW50ZWdlcgorICogYXJndW1lbnQgZm9sbG93ZWQgYnkgdGhlIGNvbW1hbmQgY2hhcmFjdGVyLiAgUmV0dXJuIHRoZSBudW1iZXIgb2YKKyAqIGxpbmVzIHRvIGRpc3BsYXkgaW4gdGhlIG5leHQgc2NyZWVuZnVsLiAgSWYgdGhlcmUgaXMgbm90aGluZyBtb3JlIHRvCisgKiBkaXNwbGF5IGluIHRoZSBjdXJyZW50IGZpbGUsIHplcm8gaXMgcmV0dXJuZWQuICovCitzdGF0aWMgaW50IGNvbW1hbmQoc3RydWN0IG1vcmVfY29udHJvbCAqY3RsLCBjaGFyICpmaWxlbmFtZSwgcmVnaXN0ZXIgRklMRSAqZikKK3sKKwlyZWdpc3RlciBpbnQgbmxpbmVzOworCXJlZ2lzdGVyIGludCByZXR2YWwgPSAwOworCXJlZ2lzdGVyIGludCBjOworCWNoYXIgY29sb25jaDsKKwlpbnQgZG9uZTsKKwljaGFyIGNvbWNoYXIsIGNtZGJ1ZltJTklUX0JVRl07CisKKwlkb25lID0gMDsKKwlpZiAoIWN0bC0+ZXJyb3JzKQorCQlwcm9tcHQoY3RsLCBmaWxlbmFtZSk7CisJZWxzZQorCQljdGwtPmVycm9ycyA9IDA7CisJZm9yICg7OykgeworCQlubGluZXMgPSBudW1iZXIoY3RsLCAmY29tY2hhcik7CisJCWN0bC0+bGFzdHAgPSBjb2xvbmNoID0gMDsKKwkJaWYgKGNvbWNoYXIgPT0gJy4nKSB7CS8qIFJlcGVhdCBsYXN0IGNvbW1hbmQgKi8KKwkJCWN0bC0+bGFzdHArKzsKKwkJCWNvbWNoYXIgPSBjdGwtPmxhc3RjbWQ7CisJCQlubGluZXMgPSBjdGwtPmxhc3Rhcmc7CisJCQlpZiAoY3RsLT5sYXN0Y21kID09ICc6JykKKwkJCQljb2xvbmNoID0gY3RsLT5sYXN0Y29sb247CisJCX0KKwkJY3RsLT5sYXN0Y21kID0gY29tY2hhcjsKKwkJY3RsLT5sYXN0YXJnID0gbmxpbmVzOworCQlpZiAoKGNjX3QpIGNvbWNoYXIgPT0gY3RsLT5vdHR5LmNfY2NbVkVSQVNFXSkgeworCQkJa2lsbF9saW5lKGN0bCk7CisJCQlwcm9tcHQoY3RsLCBmaWxlbmFtZSk7CisJCQljb250aW51ZTsKKwkJfQorCQlzd2l0Y2ggKGNvbWNoYXIpIHsKKwkJY2FzZSAnOic6CisJCQlyZXR2YWwgPSBjb2xvbihjdGwsIGZpbGVuYW1lLCBjb2xvbmNoLCBubGluZXMpOworCQkJaWYgKHJldHZhbCA+PSAwKQorCQkJCWRvbmUrKzsKKwkJCWJyZWFrOworCQljYXNlICdiJzoKKwkJY2FzZSBjdHJsKCdCJyk6CisJCQl7CisJCQkJcmVnaXN0ZXIgaW50IGluaXRsaW5lOworCisJCQkJaWYgKGN0bC0+bm9faW50dHkpIHsKKwkJCQkJZnB1dGMoUklOR0JFTEwsIHN0ZGVycik7CisJCQkJCXJldHVybiAoLTEpOworCQkJCX0KKworCQkJCWlmIChubGluZXMgPT0gMCkKKwkJCQkJbmxpbmVzKys7CisKKwkJCQlwdXRjaGFyKCdccicpOworCQkJCWVyYXNlcChjdGwsIDApOworCQkJCXB1dGNoYXIoJ1xuJyk7CisJCQkJaWYgKGN0bC0+Y2xyZW9sKQorCQkJCQljbGVhcmVvbChjdGwpOworCQkJCXByaW50ZihQXygiLi4uYmFjayAlZCBwYWdlIiwKKwkJCQkJIi4uLmJhY2sgJWQgcGFnZXMiLCBubGluZXMpLAorCQkJCQlubGluZXMpOworCQkJCWlmIChjdGwtPmNscmVvbCkKKwkJCQkJY2xlYXJlb2woY3RsKTsKKwkJCQlwdXRjaGFyKCdcbicpOworCisJCQkJaW5pdGxpbmUgPSBjdGwtPkN1cnJsaW5lIC0gY3RsLT5kbGluZXMgKiAobmxpbmVzICsgMSk7CisJCQkJaWYgKCFjdGwtPm5vc2Nyb2xsKQorCQkJCQktLWluaXRsaW5lOworCQkJCWlmIChpbml0bGluZSA8IDApCisJCQkJCWluaXRsaW5lID0gMDsKKwkJCQltb3JlX2ZzZWVrKGN0bCwgZiwgMEwpOworCQkJCWN0bC0+Q3VycmxpbmUgPSAwOwkvKiBza2lwbG5zKCkgd2lsbCBtYWtlIEN1cnJsaW5lIGNvcnJlY3QgKi8KKwkJCQlza2lwbG5zKGN0bCwgaW5pdGxpbmUsIGYpOworCQkJCWlmICghY3RsLT5ub3Njcm9sbCkgeworCQkJCQlyZXR2YWwgPSBjdGwtPmRsaW5lcyArIDE7CisJCQkJfSBlbHNlIHsKKwkJCQkJcmV0dmFsID0gY3RsLT5kbGluZXM7CisJCQkJfQorCQkJCWRvbmUgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlICcgJzoKKwkJY2FzZSAneic6CisJCQlpZiAobmxpbmVzID09IDApCisJCQkJbmxpbmVzID0gY3RsLT5kbGluZXM7CisJCQllbHNlIGlmIChjb21jaGFyID09ICd6JykKKwkJCQljdGwtPmRsaW5lcyA9IG5saW5lczsKKwkJCXJldHZhbCA9IG5saW5lczsKKwkJCWRvbmUgPSAxOworCQkJYnJlYWs7CisJCWNhc2UgJ2QnOgorCQljYXNlIGN0cmwoJ0QnKToKKwkJCWlmIChubGluZXMgIT0gMCkKKwkJCQljdGwtPm5zY3JvbGwgPSBubGluZXM7CisJCQlyZXR2YWwgPSBjdGwtPm5zY3JvbGw7CisJCQlkb25lID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdxJzoKKwkJY2FzZSAnUSc6CisJCQllbmRfaXQoMCk7CisJCWNhc2UgJ3MnOgorCQljYXNlICdmJzoKKwkJY2FzZSBjdHJsKCdGJyk6CisJCQlpZiAobmxpbmVzID09IDApCisJCQkJbmxpbmVzKys7CisJCQlpZiAoY29tY2hhciA9PSAnZicpCisJCQkJbmxpbmVzICo9IGN0bC0+ZGxpbmVzOworCQkJcHV0Y2hhcignXHInKTsKKwkJCWVyYXNlcChjdGwsIDApOworCQkJcHV0Y2hhcignXG4nKTsKKwkJCWlmIChjdGwtPmNscmVvbCkKKwkJCQljbGVhcmVvbChjdGwpOworCQkJcHJpbnRmKFBfKCIuLi5za2lwcGluZyAlZCBsaW5lIiwKKwkJCQkiLi4uc2tpcHBpbmcgJWQgbGluZXMiLCBubGluZXMpLAorCQkJCW5saW5lcyk7CisKKwkJCWlmIChjdGwtPmNscmVvbCkKKwkJCQljbGVhcmVvbChjdGwpOworCQkJcHV0Y2hhcignXG4nKTsKKworCQkJd2hpbGUgKG5saW5lcyA+IDApIHsKKwkJCQl3aGlsZSAoKGMgPSBtb3JlX2dldGMoY3RsLCBmKSkgIT0gJ1xuJykKKwkJCQkJaWYgKGMgPT0gRU9GKSB7CisJCQkJCQlyZXR2YWwgPSAwOworCQkJCQkJZG9uZSsrOworCQkJCQkJZ290byBlbmRzdzsKKwkJCQkJfQorCQkJCWN0bC0+Q3VycmxpbmUrKzsKKwkJCQlubGluZXMtLTsKKwkJCX0KKwkJCXJldHZhbCA9IGN0bC0+ZGxpbmVzOworCQkJZG9uZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnXG4nOgorCQkJaWYgKG5saW5lcyAhPSAwKQorCQkJCWN0bC0+ZGxpbmVzID0gbmxpbmVzOworCQkJZWxzZQorCQkJCW5saW5lcyA9IDE7CisJCQlyZXR2YWwgPSBubGluZXM7CisJCQlkb25lID0gMTsKKwkJCWJyZWFrOworCQljYXNlICdcZic6CisJCQlpZiAoIWN0bC0+bm9faW50dHkpIHsKKwkJCQlkb2NsZWFyKGN0bCk7CisJCQkJbW9yZV9mc2VlayhjdGwsIGYsIGN0bC0+c2NyZWVuX3N0YXJ0LmNocmN0cik7CisJCQkJY3RsLT5DdXJybGluZSA9IGN0bC0+c2NyZWVuX3N0YXJ0LmxpbmU7CisJCQkJcmV0dmFsID0gY3RsLT5kbGluZXM7CisJCQkJZG9uZSA9IDE7CisJCQkJYnJlYWs7CisJCQl9IGVsc2UgeworCQkJCWZwdXRjKFJJTkdCRUxMLCBzdGRlcnIpOworCQkJCWJyZWFrOworCQkJfQorCQljYXNlICdcJyc6CisJCQlpZiAoIWN0bC0+bm9faW50dHkpIHsKKwkJCQlraWxsX2xpbmUoY3RsKTsKKwkJCQlmcHV0cyhfKCJcbioqKkJhY2sqKipcblxuIiksIHN0ZG91dCk7CisJCQkJbW9yZV9mc2VlayhjdGwsIGYsIGN0bC0+Y29udGV4dC5jaHJjdHIpOworCQkJCWN0bC0+Q3VycmxpbmUgPSBjdGwtPmNvbnRleHQubGluZTsKKwkJCQlyZXR2YWwgPSBjdGwtPmRsaW5lczsKKwkJCQlkb25lID0gMTsKKwkJCQlicmVhazsKKwkJCX0gZWxzZSB7CisJCQkJZnB1dGMoUklOR0JFTEwsIHN0ZGVycik7CisJCQkJYnJlYWs7CisJCQl9CisJCWNhc2UgJz0nOgorCQkJa2lsbF9saW5lKGN0bCk7CisJCQljdGwtPnByb21wdGxlbiA9IHByaW50ZigiJWQiLCBjdGwtPkN1cnJsaW5lKTsKKwkJCWZmbHVzaChzdGRvdXQpOworCQkJYnJlYWs7CisJCWNhc2UgJ24nOgorCQkJaWYgKCFjdGwtPnByZXZpb3VzcmUpIHsKKwkJCQltb3JlX2Vycm9yKGN0bCwgXygiTm8gcHJldmlvdXMgcmVndWxhciBleHByZXNzaW9uIikpOworCQkJCWJyZWFrOworCQkJfQorCQkJY3RsLT5sYXN0cCsrOworCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJY2FzZSAnLyc6CisJCQlpZiAobmxpbmVzID09IDApCisJCQkJbmxpbmVzKys7CisJCQlraWxsX2xpbmUoY3RsKTsKKwkJCXB1dGNoYXIoJy8nKTsKKwkJCWN0bC0+cHJvbXB0bGVuID0gMTsKKwkJCWZmbHVzaChzdGRvdXQpOworCQkJaWYgKGN0bC0+bGFzdHApIHsKKwkJCQlmcHV0YygnXHInLCBzdGRlcnIpOworCQkJCXNlYXJjaChjdGwsIGN0bC0+cHJldmlvdXNyZSwgZiwgbmxpbmVzKTsKKwkJCX0gZWxzZSB7CisJCQkJdHR5aW4oY3RsLCBjbWRidWYsIHNpemVvZihjbWRidWYpIC0gMiwgJy8nKTsKKwkJCQlmcHV0YygnXHInLCBzdGRlcnIpOworCQkJCWZyZWUoY3RsLT5wcmV2aW91c3JlKTsKKwkJCQljdGwtPnByZXZpb3VzcmUgPSB4c3RyZHVwKGNtZGJ1Zik7CisJCQkJc2VhcmNoKGN0bCwgY21kYnVmLCBmLCBubGluZXMpOworCQkJfQorCQkJcmV0dmFsID0gY3RsLT5kbGluZXMgLSAxOworCQkJZG9uZSA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnISc6CisJCQlkb19zaGVsbChjdGwsIGZpbGVuYW1lKTsKKwkJCWJyZWFrOworCQljYXNlICc/JzoKKwkJY2FzZSAnaCc6CisJCQlpZiAoY3RsLT5ub3Njcm9sbCkKKwkJCQlkb2NsZWFyKGN0bCk7CisJCQlmcHV0cyhfKCJcbiIKKwkJCQkgICJNb3N0IGNvbW1hbmRzIG9wdGlvbmFsbHkgcHJlY2VkZWQgYnkgaW50ZWdlciBhcmd1bWVudCBrLiAgIgorCQkJCSAgIkRlZmF1bHRzIGluIGJyYWNrZXRzLlxuIgorCQkJCSAgIlN0YXIgKCopIGluZGljYXRlcyBhcmd1bWVudCBiZWNvbWVzIG5ldyBkZWZhdWx0LlxuIiksIHN0ZG91dCk7CisJCQlwdXRzKCItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0iCisJCQkgICAgICItLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIik7CisJCQlmcHV0cyhfCisJCQkJKCI8c3BhY2U+ICAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFtjdXJyZW50IHNjcmVlbiBzaXplXVxuIgorCQkJCSAieiAgICAgICAgICAgICAgICAgICAgICAgRGlzcGxheSBuZXh0IGsgbGluZXMgb2YgdGV4dCBbY3VycmVudCBzY3JlZW4gc2l6ZV0qXG4iCisJCQkJICI8cmV0dXJuPiAgICAgICAgICAgICAgICBEaXNwbGF5IG5leHQgayBsaW5lcyBvZiB0ZXh0IFsxXSpcbiIKKwkJCQkgImQgb3IgY3RybC1EICAgICAgICAgICAgIFNjcm9sbCBrIGxpbmVzIFtjdXJyZW50IHNjcm9sbCBzaXplLCBpbml0aWFsbHkgMTFdKlxuIgorCQkJCSAicSBvciBRIG9yIDxpbnRlcnJ1cHQ+ICAgRXhpdCBmcm9tIG1vcmVcbiIKKwkJCQkgInMgICAgICAgICAgICAgICAgICAgICAgIFNraXAgZm9yd2FyZCBrIGxpbmVzIG9mIHRleHQgWzFdXG4iCisJCQkJICJmICAgICAgICAgICAgICAgICAgICAgICBTa2lwIGZvcndhcmQgayBzY3JlZW5mdWxzIG9mIHRleHQgWzFdXG4iCisJCQkJICJiIG9yIGN0cmwtQiAgICAgICAgICAgICBTa2lwIGJhY2t3YXJkcyBrIHNjcmVlbmZ1bHMgb2YgdGV4dCBbMV1cbiIKKwkJCQkgIicgICAgICAgICAgICAgICAgICAgICAgIEdvIHRvIHBsYWNlIHdoZXJlIHByZXZpb3VzIHNlYXJjaCBzdGFydGVkXG4iCisJCQkJICI9ICAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgbGluZSBudW1iZXJcbiIKKwkJCQkgIi88cmVndWxhciBleHByZXNzaW9uPiAgIFNlYXJjaCBmb3Iga3RoIG9jY3VycmVuY2Ugb2YgcmVndWxhciBleHByZXNzaW9uIFsxXVxuIgorCQkJCSAibiAgICAgICAgICAgICAgICAgICAgICAgU2VhcmNoIGZvciBrdGggb2NjdXJyZW5jZSBvZiBsYXN0IHIuZSBbMV1cbiIKKwkJCQkgIiE8Y21kPiBvciA6ITxjbWQ+ICAgICAgIEV4ZWN1dGUgPGNtZD4gaW4gYSBzdWJzaGVsbFxuIgorCQkJCSAidiAgICAgICAgICAgICAgICAgICAgICAgU3RhcnQgdXAgL3Vzci9iaW4vdmkgYXQgY3VycmVudCBsaW5lXG4iCisJCQkJICJjdHJsLUwgICAgICAgICAgICAgICAgICBSZWRyYXcgc2NyZWVuXG4iCisJCQkJICI6biAgICAgICAgICAgICAgICAgICAgICBHbyB0byBrdGggbmV4dCBmaWxlIFsxXVxuIgorCQkJCSAiOnAgICAgICAgICAgICAgICAgICAgICAgR28gdG8ga3RoIHByZXZpb3VzIGZpbGUgWzFdXG4iCisJCQkJICI6ZiAgICAgICAgICAgICAgICAgICAgICBEaXNwbGF5IGN1cnJlbnQgZmlsZSBuYW1lIGFuZCBsaW5lIG51bWJlclxuIgorCQkJCSAiLiAgICAgICAgICAgICAgICAgICAgICAgUmVwZWF0IHByZXZpb3VzIGNvbW1hbmRcbiIpLCBzdGRvdXQpOworCQkJcHV0cygiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIgorCQkJICAgICAiLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSIpOworCQkJcHJvbXB0KGN0bCwgZmlsZW5hbWUpOworCQkJYnJlYWs7CisJCWNhc2UgJ3YnOgkvKiBUaGlzIGNhc2Ugc2hvdWxkIGdvIHJpZ2h0IGJlZm9yZSBkZWZhdWx0ICovCisJCQlpZiAoIWN0bC0+bm9faW50dHkpIHsKKwkJCQkvKiBFYXJsaWVyOiBjYWxsIHZpICtuIGZpbGUuIFRoaXMgYWxzbworCQkJCSAqIHdvcmtzIGZvciBlbWFjcy4gIFBPU0lYOiBjYWxsIHZpIC1jIG4KKwkJCQkgKiBmaWxlICh3aGVuIGVkaXRvciBpcyB2aSBvciBleCkuICovCisJCQkJY2hhciAqZWRpdG9yLCAqcDsKKwkJCQlpbnQgbiA9IChjdGwtPkN1cnJsaW5lIC0gY3RsLT5kbGluZXMgPD0gMCA/IDEgOgorCQkJCQkgY3RsLT5DdXJybGluZSAtIChjdGwtPmRsaW5lcyArIDEpIC8gMik7CisJCQkJaW50IHNwbGl0ID0gMDsKKworCQkJCWVkaXRvciA9IGdldGVudigiVklTVUFMIik7CisJCQkJaWYgKGVkaXRvciA9PSBOVUxMIHx8ICplZGl0b3IgPT0gJ1wwJykKKwkJCQkJZWRpdG9yID0gZ2V0ZW52KCJFRElUT1IiKTsKKwkJCQlpZiAoZWRpdG9yID09IE5VTEwgfHwgKmVkaXRvciA9PSAnXDAnKQorCQkJCQllZGl0b3IgPSBWSTsKKworCQkJCXAgPSBzdHJyY2hyKGVkaXRvciwgJy8nKTsKKwkJCQlpZiAocCkKKwkJCQkJcCsrOworCQkJCWVsc2UKKwkJCQkJcCA9IGVkaXRvcjsKKwkJCQlpZiAoIXN0cmNtcChwLCAidmkiKSB8fCAhc3RyY21wKHAsICJleCIpKSB7CisJCQkJCXNwcmludGYoY21kYnVmLCAiLWMgJWQiLCBuKTsKKwkJCQkJc3BsaXQgPSAxOworCQkJCX0gZWxzZSB7CisJCQkJCXNwcmludGYoY21kYnVmLCAiKyVkIiwgbik7CisJCQkJfQorCisJCQkJa2lsbF9saW5lKGN0bCk7CisJCQkJcHJpbnRmKCIlcyAlcyAlcyIsIGVkaXRvciwgY21kYnVmLAorCQkJCSAgICAgICBjdGwtPmZuYW1lc1tjdGwtPmZudW1dKTsKKwkJCQlpZiAoc3BsaXQpIHsKKwkJCQkJY21kYnVmWzJdID0gMDsKKwkJCQkJZXhlY3V0ZShjdGwsIGZpbGVuYW1lLCBlZGl0b3IsIGVkaXRvciwKKwkJCQkJCWNtZGJ1ZiwgY21kYnVmICsgMywKKwkJCQkJCWN0bC0+Zm5hbWVzW2N0bC0+Zm51bV0sIChjaGFyICopMCk7CisJCQkJfSBlbHNlCisJCQkJCWV4ZWN1dGUoY3RsLCBmaWxlbmFtZSwgZWRpdG9yLCBlZGl0b3IsCisJCQkJCQljbWRidWYsIGN0bC0+Zm5hbWVzW2N0bC0+Zm51bV0sCisJCQkJCQkoY2hhciAqKTApOworCQkJCWJyZWFrOworCQkJfQorCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJZGVmYXVsdDoKKwkJCWlmIChjdGwtPmR1bV9vcHQpIHsKKwkJCQlraWxsX2xpbmUoY3RsKTsKKwkJCQlpZiAoY3RsLT5TZW50ZXIgJiYgY3RsLT5TZXhpdCkgeworCQkJCQlwdXRzdHJpbmcoY3RsLT5TZW50ZXIpOworCQkJCQljdGwtPnByb21wdGxlbiA9CisJCQkJCSAgICBwcmludGYoXworCQkJCQkJICAgKCJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIpKQorCQkJCQkgICAgKyAyICogY3RsLT5zb2dsaXRjaDsKKwkJCQkJcHV0c3RyaW5nKGN0bC0+U2V4aXQpOworCQkJCX0gZWxzZQorCQkJCQljdGwtPnByb21wdGxlbiA9CisJCQkJCSAgICBwcmludGYoXworCQkJCQkJICAgKCJbUHJlc3MgJ2gnIGZvciBpbnN0cnVjdGlvbnMuXSIpKTsKKwkJCQlmZmx1c2goc3Rkb3V0KTsKKwkJCX0gZWxzZQorCQkJCWZwdXRjKFJJTkdCRUxMLCBzdGRlcnIpOworCQkJYnJlYWs7CisJCX0KKwkJaWYgKGRvbmUpCisJCQlicmVhazsKKwl9CisJcHV0Y2hhcignXHInKTsKKyBlbmRzdzoKKwljdGwtPmlud2FpdCA9IDA7CisJY3RsLT5ub3RlbGwgPSAxOworCXJldHVybiAocmV0dmFsKTsKK30KKworLyogUHJpbnQgb3V0IHRoZSBjb250ZW50cyBvZiB0aGUgZmlsZSBmLCBvbmUgc2NyZWVuZnVsIGF0IGEgdGltZS4gKi8KK3N0YXRpYyB2b2lkIHNjcmVlbihzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwsIHJlZ2lzdGVyIEZJTEUgKmYsIHJlZ2lzdGVyIGludCBudW1fbGluZXMpCit7CisJcmVnaXN0ZXIgaW50IGM7CisJcmVnaXN0ZXIgaW50IG5jaGFyczsKKwlpbnQgbGVuZ3RoOwkJCS8qIGxlbmd0aCBvZiBjdXJyZW50IGxpbmUgKi8KKwlzdGF0aWMgaW50IHByZXZfbGVuID0gMTsJLyogbGVuZ3RoIG9mIHByZXZpb3VzIGxpbmUgKi8KKworCWZvciAoOzspIHsKKwkJd2hpbGUgKG51bV9saW5lcyA+IDAgJiYgIWN0bC0+UGF1c2UpIHsKKwkJCWlmICgobmNoYXJzID0gZ2V0X2xpbmUoY3RsLCBmLCAmbGVuZ3RoKSkgPT0gRU9GKSB7CisJCQkJaWYgKGN0bC0+Y2xyZW9sKQorCQkJCQljbHJlb3MoY3RsKTsKKwkJCQlyZXR1cm47CisJCQl9CisJCQlpZiAoY3RsLT5zc3Bfb3B0ICYmIGxlbmd0aCA9PSAwICYmIHByZXZfbGVuID09IDApCisJCQkJY29udGludWU7CisJCQlwcmV2X2xlbiA9IGxlbmd0aDsKKwkJCWlmIChjdGwtPmJhZF9zbworCQkJICAgIHx8ICgoY3RsLT5TZW50ZXIgJiYgKmN0bC0+U2VudGVyID09ICcgJykgJiYgKGN0bC0+cHJvbXB0bGVuID4gMCkpKQorCQkJCWVyYXNlcChjdGwsIDApOworCQkJLyogbXVzdCBjbGVhciBiZWZvcmUgZHJhd2luZyBsaW5lIHNpbmNlIHRhYnMgb24KKwkJCSAqIHNvbWUgdGVybWluYWxzIGRvIG5vdCBlcmFzZSB3aGF0IHRoZXkgdGFiCisJCQkgKiBvdmVyLiAqLworCQkJaWYgKGN0bC0+Y2xyZW9sKQorCQkJCWNsZWFyZW9sKGN0bCk7CisJCQlwcmJ1ZihjdGwsIGN0bC0+TGluZSwgbGVuZ3RoKTsKKwkJCWlmIChuY2hhcnMgPCBjdGwtPnByb21wdGxlbikKKwkJCQllcmFzZXAoY3RsLCBuY2hhcnMpOwkvKiBlcmFzZXAgKCkgc2V0cyBwcm9tcHRsZW4gdG8gMCAqLworCQkJZWxzZQorCQkJCWN0bC0+cHJvbXB0bGVuID0gMDsKKwkJCS8qIGlzIHRoaXMgbmVlZGVkPworCQkJICogaWYgKGNscmVvbCkKKwkJCSAqCWNsZWFyZW9sKCk7ICAgICAqIG11c3QgY2xlYXIgYWdhaW4gaW4gY2FzZSB3ZSB3cmFwcGVkICoKKwkJCSAqLworCQkJaWYgKG5jaGFycyA8IGN0bC0+TWNvbCB8fCAhY3RsLT5mb2xkX29wdCkKKwkJCQlwcmJ1ZihjdGwsICJcbiIsIDEpOwkvKiB3aWxsIHR1cm4gb2ZmIFVMIGlmIG5lY2Vzc2FyeSAqLworCQkJaWYgKG5jaGFycyA9PSBTVE9QKQorCQkJCWJyZWFrOworCQkJbnVtX2xpbmVzLS07CisJCX0KKwkJaWYgKGN0bC0+cHN0YXRlKSB7CisJCQlwdXRwKGN0bC0+VUxleGl0KTsKKwkJCWN0bC0+cHN0YXRlID0gMDsKKwkJfQorCQlmZmx1c2goc3Rkb3V0KTsKKwkJaWYgKChjID0gbW9yZV9nZXRjKGN0bCwgZikpID09IEVPRikgeworCQkJaWYgKGN0bC0+Y2xyZW9sKQorCQkJCWNscmVvcyhjdGwpOworCQkJcmV0dXJuOworCQl9CisKKwkJaWYgKGN0bC0+UGF1c2UgJiYgY3RsLT5jbHJlb2wpCisJCQljbHJlb3MoY3RsKTsKKwkJbW9yZV91bmdldGMoY3RsLCBjLCBmKTsKKwkJc2lnc2V0am1wKGN0bC0+cmVzdG9yZSwgMSk7CisJCWN0bC0+UGF1c2UgPSAwOworCQljdGwtPnN0YXJ0dXAgPSAwOworCQlpZiAoKG51bV9saW5lcyA9IGNvbW1hbmQoY3RsLCBOVUxMLCBmKSkgPT0gMCkKKwkJCXJldHVybjsKKwkJaWYgKGN0bC0+aGFyZCAmJiBjdGwtPnByb21wdGxlbiA+IDApCisJCQllcmFzZXAoY3RsLCAwKTsKKwkJaWYgKGN0bC0+bm9zY3JvbGwgJiYgbnVtX2xpbmVzID49IGN0bC0+ZGxpbmVzKSB7CisJCQlpZiAoY3RsLT5jbHJlb2wpCisJCQkJaG9tZShjdGwpOworCQkJZWxzZQorCQkJCWRvY2xlYXIoY3RsKTsKKwkJfQorCQljdGwtPnNjcmVlbl9zdGFydC5saW5lID0gY3RsLT5DdXJybGluZTsKKwkJY3RsLT5zY3JlZW5fc3RhcnQuY2hyY3RyID0gY3RsLT5maWxlX3BvczsKKwl9Cit9CisKKy8qIENvbWUgaGVyZSBpZiBhIHNpZ25hbCBmb3IgYSB3aW5kb3cgc2l6ZSBjaGFuZ2UgaXMgcmVjZWl2ZWQgKi8KKyNpZmRlZiBTSUdXSU5DSAorc3RhdGljIHZvaWQgY2hnd2luc3ooaW50IGR1bW15IF9fYXR0cmlidXRlX18oKF9fdW51c2VkX18pKSkKK3sKKwlzdHJ1Y3Qgd2luc2l6ZSB3aW47CisKKwlzaWduYWwoU0lHV0lOQ0gsIFNJR19JR04pOworCWlmIChpb2N0bChmaWxlbm8oc3Rkb3V0KSwgVElPQ0dXSU5TWiwgJndpbikgIT0gLTEpIHsKKwkJaWYgKHdpbi53c19yb3cgIT0gMCkgeworCQkJZ2xvYmFsX2N0bC0+THBwID0gd2luLndzX3JvdzsKKwkJCWdsb2JhbF9jdGwtPm5zY3JvbGwgPSBnbG9iYWxfY3RsLT5McHAgLyAyIC0gMTsKKwkJCWlmIChnbG9iYWxfY3RsLT5uc2Nyb2xsIDw9IDApCisJCQkJZ2xvYmFsX2N0bC0+bnNjcm9sbCA9IDE7CisJCQlnbG9iYWxfY3RsLT5kbGluZXMgPSBnbG9iYWxfY3RsLT5McHAgLSAxOwkvKiB3YXM6IExwcCAtIChub3Njcm9sbCA/IDEgOiAyKSAqLworCQl9CisJCWlmICh3aW4ud3NfY29sICE9IDApCisJCQlnbG9iYWxfY3RsLT5NY29sID0gd2luLndzX2NvbDsKKwl9CisJc2lnbmFsKFNJR1dJTkNILCBjaGd3aW5zeik7Cit9CisjZW5kaWYJCQkJLyogU0lHV0lOQ0ggKi8KKworc3RhdGljIHZvaWQgY29weV9maWxlKHJlZ2lzdGVyIEZJTEUgKmYpCit7CisJY2hhciBidWZbQlVGU0laXTsKKwlzaXplX3Qgc3o7CisKKwl3aGlsZSAoKHN6ID0gZnJlYWQoJmJ1Ziwgc2l6ZW9mKGNoYXIpLCBzaXplb2YoYnVmKSwgZikpID4gMCkKKwkJZndyaXRlKCZidWYsIHNpemVvZihjaGFyKSwgc3osIHN0ZG91dCk7Cit9CisKKworLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBUZXJtaW5hbCBJL08gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovCitzdGF0aWMgdm9pZCBpbml0dGVybShzdHJ1Y3QgbW9yZV9jb250cm9sICpjdGwpCit7CisJaW50IHJldDsKKwljaGFyICpwYWRzdHI7CisJY2hhciAqdGVybTsKKwlzdHJ1Y3Qgd2luc2l6ZSB3aW47CisKKyNpZmRlZiBkb19TSUdUVE9VCisgcmV0cnk6CisjZW5kaWYKKworI2lmbmRlZiBOT05fSU5URVJBQ1RJVkVfTU9SRQorCWN0bC0+bm9fdHR5ID0gdGNnZXRhdHRyKGZpbGVubyhzdGRvdXQpLCAmY3RsLT5vdHR5KTsKKyNlbmRpZgorCWlmICghY3RsLT5ub190dHkpIHsKKwkJY3RsLT5kb2NydGVyYXNlID0gKGN0bC0+b3R0eS5jX2NjW1ZFUkFTRV0gIT0gMjU1KTsKKwkJY3RsLT5kb2NydGtpbGwgPSAoY3RsLT5vdHR5LmNfY2NbVktJTExdICE9IDI1NSk7CisjaWZkZWYgZG9fU0lHVFRPVQorCQl7CisJCQlpbnQgdGdycDsKKwkJCS8qIFdhaXQgdW50aWwgd2UncmUgaW4gdGhlIGZvcmVncm91bmQgYmVmb3JlIHdlCisJCQkgKiBzYXZlIHRoZSB0ZXJtaW5hbCBtb2Rlcy4gKi8KKwkJCWlmICgodGdycCA9IHRjZ2V0cGdycChmaWxlbm8oc3Rkb3V0KSkpIDwgMCkKKwkJCQllcnIoRVhJVF9GQUlMVVJFLCAidGNnZXRwZ3JwIik7CisJCQlpZiAodGdycCAhPSBnZXRwZ3JwKDApKSB7CisJCQkJa2lsbCgwLCBTSUdUVE9VKTsKKwkJCQlnb3RvIHJldHJ5OworCQkJfQorCQl9CisjZW5kaWYJLyogZG9fU0lHVFRPVSAqLworCQlpZiAoKHRlcm0gPSBnZXRlbnYoIlRFUk0iKSkgPT0gTlVMTCkgeworCQkJY3RsLT5kdW1iID0gMTsKKwkJCWN0bC0+dWxfb3B0ID0gMDsKKwkJfQorCQlzZXR1cHRlcm0odGVybSwgMSwgJnJldCk7CisJCWlmIChyZXQgPD0gMCkgeworCQkJY3RsLT5kdW1iID0gMTsKKwkJCWN0bC0+dWxfb3B0ID0gMDsKKwkJfSBlbHNlIHsKKyNpZmRlZiBUSU9DR1dJTlNaCisJCQlpZiAoaW9jdGwoZmlsZW5vKHN0ZG91dCksIFRJT0NHV0lOU1osICZ3aW4pIDwgMCkgeworI2VuZGlmCisJCQkJY3RsLT5McHAgPSB0aWdldG51bShURVJNX0xJTkVTKTsKKwkJCQljdGwtPk1jb2wgPSB0aWdldG51bShURVJNX0NPTFMpOworI2lmZGVmIFRJT0NHV0lOU1oKKwkJCX0gZWxzZSB7CisJCQkJaWYgKChjdGwtPkxwcCA9IHdpbi53c19yb3cpID09IDApCisJCQkJCWN0bC0+THBwID0gdGlnZXRudW0oVEVSTV9MSU5FUyk7CisJCQkJaWYgKChjdGwtPk1jb2wgPSB3aW4ud3NfY29sKSA9PSAwKQorCQkJCQljdGwtPk1jb2wgPSB0aWdldG51bShURVJNX0NPTFMpOworCQkJfQorI2VuZGlmCisJCQlpZiAoKGN0bC0+THBwIDw9IDApIHx8IHRpZ2V0ZmxhZyhURVJNX0hBUkRfQ09QWSkpIHsKKwkJCQljdGwtPmhhcmQgPSAxOwkvKiBIYXJkIGNvcHkgdGVybWluYWwgKi8KKwkJCQljdGwtPkxwcCA9IExJTkVTX1BFUl9QQUdFOworCQkJfQorCisJCQlpZiAodGlnZXRmbGFnKFRFUk1fRUFUX05FV19MSU5FKSkKKwkJCQkvKiBFYXQgbmV3bGluZSBhdCBsYXN0IGNvbHVtbiArIDE7IGRlYywgY29uY2VwdCAqLworCQkJCWN0bC0+ZWF0bmwrKzsKKwkJCWlmIChjdGwtPk1jb2wgPD0gMCkKKwkJCQljdGwtPk1jb2wgPSBOVU1fQ09MVU1OUzsKKworCQkJY3RsLT5XcmFwID0gdGlnZXRmbGFnKFRFUk1fQVVUT19SSUdIVF9NQVJHSU4pOworCQkJY3RsLT5iYWRfc28gPSB0aWdldGZsYWcoVEVSTV9DRU9MKTsKKwkJCWN0bC0+ZXJhc2VsbiA9IHRpZ2V0c3RyKFRFUk1fQ0xFQVJfVE9fTElORV9FTkQpOworCQkJY3RsLT5DbGVhciA9IHRpZ2V0c3RyKFRFUk1fQ0xFQVIpOworCQkJY3RsLT5TZW50ZXIgPSB0aWdldHN0cihURVJNX1NUQU5EQVJEX01PREUpOworCQkJY3RsLT5TZXhpdCA9IHRpZ2V0c3RyKFRFUk1fRVhJVF9TVEFOREFSRF9NT0RFKTsKKwkJCWlmICgwIDwgdGlnZXRudW0oVEVSTV9TVERfTU9ERV9HTElUQ0gpKQorCQkJCWN0bC0+c29nbGl0Y2ggPSAxOworCisJCQkvKiBTZXQgdXAgZm9yIHVuZGVybGluaW5nOiAgc29tZSB0ZXJtaW5hbHMgZG9uJ3QKKwkJCSAqIG5lZWQgaXQ7IG90aGVycyBoYXZlIHN0YXJ0L3N0b3Agc2VxdWVuY2VzLAorCQkJICogc3RpbGwgb3RoZXJzIGhhdmUgYW4gdW5kZXJsaW5lIGNoYXIgc2VxdWVuY2UKKwkJCSAqIHdoaWNoIGlzIGFzc3VtZWQgdG8gbW92ZSB0aGUgY3Vyc29yIGZvcndhcmQKKwkJCSAqIG9uZSBjaGFyYWN0ZXIuICBJZiB1bmRlcmxpbmUgc2VxdWVuY2UgaXNuJ3QKKwkJCSAqIGF2YWlsYWJsZSwgc2V0dGxlIGZvciBzdGFuZG91dCBzZXF1ZW5jZS4gKi8KKwkJCWlmICh0aWdldGZsYWcoVEVSTV9VTkRFUkxJTkUpCisJCQkgICAgfHwgdGlnZXRmbGFnKFRFUk1fT1ZFUl9TVFJJS0UpKQorCQkJCWN0bC0+dWxfb3B0ID0gMDsKKwkJCWlmICgoY3RsLT5jaFVMID0gdGlnZXRzdHIoVEVSTV9VTkRFUkxJTkVfQ0hBUikpID09IE5VTEwpCisJCQkJY3RsLT5jaFVMID0gIiI7CisJCQlpZiAoKChjdGwtPlVMZW50ZXIgPQorCQkJICAgICAgdGlnZXRzdHIoVEVSTV9FTlRFUl9VTkRFUkxJTkUpKSA9PSBOVUxMCisJCQkgICAgIHx8IChjdGwtPlVMZXhpdCA9CisJCQkJIHRpZ2V0c3RyKFRFUk1fRVhJVF9VTkRFUkxJTkUpKSA9PSBOVUxMKQorCQkJICAgICYmICEqY3RsLT5jaFVMKSB7CisJCQkJaWYgKChjdGwtPlVMZW50ZXIgPSBjdGwtPlNlbnRlcikgPT0gTlVMTAorCQkJCSAgICB8fCAoY3RsLT5VTGV4aXQgPSBjdGwtPlNleGl0KSA9PSBOVUxMKSB7CisJCQkJCWN0bC0+VUxlbnRlciA9ICIiOworCQkJCQljdGwtPlVMZXhpdCA9ICIiOworCQkJCX0gZWxzZQorCQkJCQljdGwtPnVsZ2xpdGNoID0gY3RsLT5zb2dsaXRjaDsKKwkJCX0gZWxzZSB7CisJCQkJY3RsLT51bGdsaXRjaCA9IDA7CisJCQl9CisKKwkJCWlmICgocGFkc3RyID0gdGlnZXRzdHIoVEVSTV9QQURfQ0hBUikpICE9IE5VTEwpCisJCQkJY3RsLT5QQyA9ICpwYWRzdHI7CisJCQljdGwtPkhvbWUgPSB0aWdldHN0cihURVJNX0hPTUUpOworCQkJaWYgKGN0bC0+SG9tZSA9PSBOVUxMIHx8ICpjdGwtPkhvbWUgPT0gJ1wwJykgeworCQkJCWlmICgoY3RsLT5jdXJzb3JtID0KKwkJCQkgICAgIHRpZ2V0c3RyKFRFUk1fQ1VSU09SX0FERFJFU1MpKSAhPSBOVUxMKSB7CisJCQkJCWNvbnN0IGNoYXIgKnQgPQorCQkJCQkgICAgKGNvbnN0IGNoYXIgKil0cGFybShjdGwtPmN1cnNvcm0sIDAsCisJCQkJCQkJCSAgIDApOworCQkJCQl4c3RybmNweShjdGwtPmN1cnNvcmhvbWUsIHQsCisJCQkJCQkgc2l6ZW9mKGN0bC0+Y3Vyc29yaG9tZSkpOworCQkJCQljdGwtPkhvbWUgPSBjdGwtPmN1cnNvcmhvbWU7CisJCQkJfQorCQkJfQorCQkJY3RsLT5Fb2RDbHIgPSB0aWdldHN0cihURVJNX0NMRUFSX1RPX1NDUkVFTl9FTkQpOworCQkJaWYgKChjdGwtPmNoQlMgPSB0aWdldHN0cihURVJNX0xJTkVfRE9XTikpID09IE5VTEwpCisJCQkJY3RsLT5jaEJTID0gQlM7CisKKwkJfQorCQlpZiAoKGN0bC0+c2hlbGwgPSBnZXRlbnYoIlNIRUxMIikpID09IE5VTEwpCisJCQljdGwtPnNoZWxsID0gIi9iaW4vc2giOworCX0KKwljdGwtPm5vX2ludHR5ID0gdGNnZXRhdHRyKGZpbGVubyhzdGRpbiksICZjdGwtPm90dHkpOworCXRjZ2V0YXR0cihmaWxlbm8oc3RkZXJyKSwgJmN0bC0+b3R0eSk7CisJY3RsLT5zYXZldHR5MCA9IGN0bC0+b3R0eTsKKwljdGwtPmhhcmR0YWJzID0gKGN0bC0+b3R0eS5jX29mbGFnICYgVEFCRExZKSAhPSBYVEFCUzsKKwlpZiAoIWN0bC0+bm9fdHR5KSB7CisJCWN0bC0+b3R0eS5jX2xmbGFnICY9IH4oSUNBTk9OIHwgRUNITyk7CisJCWN0bC0+b3R0eS5jX2NjW1ZNSU5dID0gMTsKKwkJY3RsLT5vdHR5LmNfY2NbVlRJTUVdID0gMDsKKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlGSUxFICpmOworCWNoYXIgKnM7CisJaW50IGNocjsKKwlpbnQgbGVmdDsKKwlpbnQgcHJuYW1lcyA9IDA7CisJaW50IGluaXRvcHQgPSAwOworCWludCBzcmNob3B0ID0gMDsKKwlpbnQgY2xlYXJpdCA9IDA7CisJaW50IGluaXRsaW5lID0gMDsKKwljaGFyICppbml0YnVmID0gTlVMTDsKKwlzdHJ1Y3QgbW9yZV9jb250cm9sIGN0bCA9IHsKKwkJLmZpcnN0ZiA9IDEsCisJCS5mb2xkX29wdCA9IDEsCisJCS5ub3RlbGwgPSAxLAorCQkuc3RhcnR1cCA9IDEsCisJCS5zdG9wX29wdCA9IDEsCisJCS51bF9vcHQgPSAxLAorCQkuV3JhcCA9IDEsCisJCS5McHAgPSBMSU5FU19QRVJfUEFHRSwKKwkJLk1jb2wgPSBOVU1fQ09MVU1OUywKKwkJLm5zY3JvbGwgPSBTQ1JPTExfTEVOLAorCQkwCisJfTsKKwlnbG9iYWxfY3RsID0gJmN0bDsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlpZiAoYXJnYyA+IDEpIHsKKwkJLyogZmlyc3QgYXJnIG1heSBiZSBvbmUgb2Ygb3VyIHN0YW5kYXJkIGxvbmdvcHRzICovCisJCWlmICghc3RyY21wKGFyZ3ZbMV0sICItLWhlbHAiKSkKKwkJCXVzYWdlKCk7CisJCWlmICghc3RyY21wKGFyZ3ZbMV0sICItLXZlcnNpb24iKSkgeworCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQlleGl0KEVYSVRfU1VDQ0VTUyk7CisJCX0KKwl9CisKKwljdGwubmZpbGVzID0gYXJnYzsKKwljdGwuZm5hbWVzID0gYXJndjsKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJaW5pdHRlcm0oJmN0bCk7CisKKwkvKiBBdXRvIHNldCBubyBzY3JvbGwgb24gd2hlbiBiaW5hcnkgaXMgY2FsbGVkIHBhZ2UgKi8KKwlpZiAoIShzdHJjbXAocHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUsICJwYWdlIikpKQorCQljdGwubm9zY3JvbGwrKzsKKworCXByZXBhcmVfbGluZV9idWZmZXIoJmN0bCk7CisKKwljdGwubnNjcm9sbCA9IGN0bC5McHAgLyAyIC0gMTsKKwlpZiAoY3RsLm5zY3JvbGwgPD0gMCkKKwkJY3RsLm5zY3JvbGwgPSAxOworCisJaWYgKChzID0gZ2V0ZW52KCJNT1JFIikpICE9IE5VTEwpCisJCWFyZ3NjYW4oJmN0bCwgcyk7CisKKwl3aGlsZSAoLS1jdGwubmZpbGVzID4gMCkgeworCQlpZiAoKGNociA9ICgqKytjdGwuZm5hbWVzKVswXSkgPT0gJy0nKSB7CisJCQlhcmdzY2FuKCZjdGwsICpjdGwuZm5hbWVzICsgMSk7CisJCX0gZWxzZSBpZiAoY2hyID09ICcrJykgeworCQkJcyA9ICpjdGwuZm5hbWVzOworCQkJaWYgKCorK3MgPT0gJy8nKSB7CisJCQkJc3JjaG9wdCsrOworCQkJCWluaXRidWYgPSB4c3RyZHVwKHMgKyAxKTsKKwkJCX0gZWxzZSB7CisJCQkJaW5pdG9wdCsrOworCQkJCWZvciAoaW5pdGxpbmUgPSAwOyAqcyAhPSAnXDAnOyBzKyspCisJCQkJCWlmIChpc2RpZ2l0KCpzKSkKKwkJCQkJCWluaXRsaW5lID0KKwkJCQkJCSAgICBpbml0bGluZSAqIDEwICsgKnMgLSAnMCc7CisJCQkJLS1pbml0bGluZTsKKwkJCX0KKwkJfSBlbHNlCisJCQlicmVhazsKKwl9CisJLyogYWxsb3cgY2xyZW9sIG9ubHkgaWYgSG9tZSBhbmQgZXJhc2VsbiBhbmQgRW9kQ2xyIHN0cmluZ3MgYXJlCisJICogZGVmaW5lZCwgYW5kIGluIHRoYXQgY2FzZSwgbWFrZSBzdXJlIHdlIGFyZSBpbiBub3Njcm9sbCBtb2RlICovCisJaWYgKGN0bC5jbHJlb2wpIHsKKwkJaWYgKChjdGwuSG9tZSA9PSBOVUxMKSB8fCAoKmN0bC5Ib21lID09ICdcMCcpIHx8CisJCSAgICAoY3RsLmVyYXNlbG4gPT0gTlVMTCkgfHwgKCpjdGwuZXJhc2VsbiA9PSAnXDAnKSB8fAorCQkgICAgKGN0bC5Fb2RDbHIgPT0gTlVMTCkgfHwgKCpjdGwuRW9kQ2xyID09ICdcMCcpKQorCQkJY3RsLmNscmVvbCA9IDA7CisJCWVsc2UKKwkJCWN0bC5ub3Njcm9sbCA9IDE7CisJfQorCWlmIChjdGwuZGxpbmVzID09IDApCisJCWN0bC5kbGluZXMgPSBjdGwuTHBwIC0gMTsJLyogd2FzOiBMcHAgLSAobm9zY3JvbGwgPyAxIDogMikgKi8KKwlsZWZ0ID0gY3RsLmRsaW5lczsKKwlpZiAoY3RsLm5maWxlcyA+IDEpCisJCXBybmFtZXMrKzsKKwlpZiAoIWN0bC5ub19pbnR0eSAmJiBjdGwubmZpbGVzID09IDApIHsKKwkJd2FybngoXygiYmFkIHVzYWdlIikpOworCQllcnJ0cnloZWxwKEVYSVRfRkFJTFVSRSk7CisJfSBlbHNlCisJCWYgPSBzdGRpbjsKKwlpZiAoIWN0bC5ub190dHkpIHsKKwkJc2lnbmFsKFNJR1FVSVQsIG9ucXVpdCk7CisJCXNpZ25hbChTSUdJTlQsIGVuZF9pdCk7CisjaWZkZWYgU0lHV0lOQ0gKKwkJc2lnbmFsKFNJR1dJTkNILCBjaGd3aW5zeik7CisjZW5kaWYKKwkJaWYgKHNpZ25hbChTSUdUU1RQLCBTSUdfSUdOKSA9PSBTSUdfREZMKSB7CisJCQlzaWduYWwoU0lHVFNUUCwgb25zdXNwKTsKKwkJCWN0bC5jYXRjaF9zdXNwKys7CisJCX0KKwkJdGNzZXRhdHRyKFNUREVSUl9GSUxFTk8sIFRDU0FOT1csICZjdGwub3R0eSk7CisJfQorCWlmIChjdGwubm9faW50dHkpIHsKKwkJaWYgKGN0bC5ub190dHkpCisJCQljb3B5X2ZpbGUoc3RkaW4pOworCQllbHNlIHsKKwkJCWlmICgoY2hyID0gZ2V0YyhmKSkgPT0gJ1xmJykKKwkJCQlkb2NsZWFyKCZjdGwpOworCQkJZWxzZSB7CisJCQkJdW5nZXRjKGNociwgZik7CisJCQkJaWYgKGN0bC5ub3Njcm9sbCAmJiAoY2hyICE9IEVPRikpIHsKKwkJCQkJaWYgKGN0bC5jbHJlb2wpCisJCQkJCQlob21lKCZjdGwpOworCQkJCQllbHNlCisJCQkJCQlkb2NsZWFyKCZjdGwpOworCQkJCX0KKwkJCX0KKwkJCWlmIChzcmNob3B0KSB7CisJCQkJZnJlZShjdGwucHJldmlvdXNyZSk7CisJCQkJY3RsLnByZXZpb3VzcmUgPSB4c3RyZHVwKGluaXRidWYpOworCQkJCXNlYXJjaCgmY3RsLCBpbml0YnVmLCBzdGRpbiwgMSk7CisJCQkJaWYgKGN0bC5ub3Njcm9sbCkKKwkJCQkJbGVmdC0tOworCQkJfSBlbHNlIGlmIChpbml0b3B0KQorCQkJCXNraXBsbnMoJmN0bCwgaW5pdGxpbmUsIHN0ZGluKTsKKwkJCXNjcmVlbigmY3RsLCBzdGRpbiwgbGVmdCk7CisJCX0KKwkJY3RsLm5vX2ludHR5ID0gMDsKKwkJcHJuYW1lcysrOworCQljdGwuZmlyc3RmID0gMDsKKwl9CisKKwl3aGlsZSAoY3RsLmZudW0gPCBjdGwubmZpbGVzKSB7CisJCWlmICgoZiA9IGNoZWNrZigmY3RsLCBjdGwuZm5hbWVzW2N0bC5mbnVtXSwgJmNsZWFyaXQpKSAhPSBOVUxMKSB7CisJCQljdGwuY29udGV4dC5saW5lID0gY3RsLmNvbnRleHQuY2hyY3RyID0gMDsKKwkJCWN0bC5DdXJybGluZSA9IDA7CisJCQlpZiAoY3RsLmZpcnN0ZikKKwkJCQlzaWdzZXRqbXAoY3RsLnJlc3RvcmUsIDEpOworCQkJaWYgKGN0bC5maXJzdGYpIHsKKwkJCQljdGwuZmlyc3RmID0gMDsKKwkJCQlpZiAoc3JjaG9wdCkgeworCQkJCQlmcmVlKGN0bC5wcmV2aW91c3JlKTsKKwkJCQkJY3RsLnByZXZpb3VzcmUgPSB4c3RyZHVwKGluaXRidWYpOworCQkJCQlzZWFyY2goJmN0bCwgaW5pdGJ1ZiwgZiwgMSk7CisJCQkJCWlmIChjdGwubm9zY3JvbGwpCisJCQkJCQlsZWZ0LS07CisJCQkJfSBlbHNlIGlmIChpbml0b3B0KQorCQkJCQlza2lwbG5zKCZjdGwsIGluaXRsaW5lLCBmKTsKKwkJCX0gZWxzZSBpZiAoY3RsLmZudW0gPCBjdGwubmZpbGVzICYmICFjdGwubm9fdHR5KSB7CisJCQkJc2lnc2V0am1wKGN0bC5yZXN0b3JlLCAxKTsKKwkJCQlsZWZ0ID0gY29tbWFuZCgmY3RsLCBjdGwuZm5hbWVzW2N0bC5mbnVtXSwgZik7CisJCQl9CisJCQlpZiAobGVmdCAhPSAwKSB7CisJCQkJaWYgKChjdGwubm9zY3JvbGwgfHwgY2xlYXJpdCkKKwkJCQkgICAgJiYgKGN0bC5maWxlX3NpemUgIT0gTE9OR19NQVgpKSB7CisJCQkJCWlmIChjdGwuY2xyZW9sKQorCQkJCQkJaG9tZSgmY3RsKTsKKwkJCQkJZWxzZQorCQkJCQkJZG9jbGVhcigmY3RsKTsKKwkJCQl9CisJCQkJaWYgKHBybmFtZXMpIHsKKwkJCQkJaWYgKGN0bC5iYWRfc28pCisJCQkJCQllcmFzZXAoJmN0bCwgMCk7CisJCQkJCWlmIChjdGwuY2xyZW9sKQorCQkJCQkJY2xlYXJlb2woJmN0bCk7CisJCQkJCWZwdXRzKCI6Ojo6Ojo6Ojo6Ojo6OiIsIHN0ZG91dCk7CisJCQkJCWlmIChjdGwucHJvbXB0bGVuID4gMTQpCisJCQkJCQllcmFzZXAoJmN0bCwgMTQpOworCQkJCQlwdXRjaGFyKCdcbicpOworCQkJCQlpZiAoY3RsLmNscmVvbCkKKwkJCQkJCWNsZWFyZW9sKCZjdGwpOworCQkJCQlwdXRzKGN0bC5mbmFtZXNbY3RsLmZudW1dKTsKKwkJCQkJaWYgKGN0bC5jbHJlb2wpCisJCQkJCQljbGVhcmVvbCgmY3RsKTsKKwkJCQkJZnB1dHMoIjo6Ojo6Ojo6Ojo6Ojo6XG4iLCBzdGRvdXQpOworCQkJCQlpZiAobGVmdCA+IGN0bC5McHAgLSA0KQorCQkJCQkJbGVmdCA9IGN0bC5McHAgLSA0OworCQkJCX0KKwkJCQlpZiAoY3RsLm5vX3R0eSkKKwkJCQkJY29weV9maWxlKGYpOworCQkJCWVsc2UgeworCQkJCQljdGwud2l0aGluID0gMTsKKwkJCQkJc2NyZWVuKCZjdGwsIGYsIGxlZnQpOworCQkJCQljdGwud2l0aGluID0gMDsKKwkJCQl9CisJCQl9CisJCQlzaWdzZXRqbXAoY3RsLnJlc3RvcmUsIDEpOworCQkJZmZsdXNoKHN0ZG91dCk7CisJCQlmY2xvc2UoZik7CisJCQljdGwuc2NyZWVuX3N0YXJ0LmxpbmUgPSBjdGwuc2NyZWVuX3N0YXJ0LmNocmN0ciA9IDBMOworCQkJY3RsLmNvbnRleHQubGluZSA9IGN0bC5jb250ZXh0LmNocmN0ciA9IDBMOworCQl9CisJCWN0bC5mbnVtKys7CisJCWN0bC5maXJzdGYgPSAwOworCX0KKwlmcmVlKGN0bC5wcmV2aW91c3JlKTsKKwlmcmVlKGluaXRidWYpOworCWZyZWUoY3RsLkxpbmUpOworCXJlc2V0X3R0eSgpOworCWV4aXQoRVhJVF9TVUNDRVNTKTsKK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvcGcuMSBiL3RleHQtdXRpbHMvcGcuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45MDFhYzdkCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy9wZy4xCkBAIC0wLDAgKzEsMjM4IEBACisuXCIgQ29weXJpZ2h0IDIwMDEgR3VubmFyIFJpdHRlcgorLlRIIFBHIDEgIkp1bHkgMjAxNCIgInV0aWwtbGludXgiICJVc2VyIENvbW1hbmRzIgorLlNIIE5BTUUKK3BnIFwtIGJyb3dzZSBwYWdld2lzZSB0aHJvdWdoIHRleHQgZmlsZXMKKy5TSCBTWU5PUFNJUworLkIgcGcKKy5SQiBbIFwtXGZJYW1vdW50XGZQIF0KKy5SQiBbIFwtcAorLklSIHByb21wdCBdCisuUkIgWyBcLWNlZm5ycyBdCisuUkIgWyArXGZJbGluZVxmUCBdCisuUkIgWyArL1xmSXBhdHRlcm5cZlAvIF0KKy5SSSBbIGZpbGUgLi4uXQorLlNIIERFU0NSSVBUSU9OCisuQiBwZworZGlzcGxheXMgYSB0ZXh0IGZpbGUgb24gYQorLlNNIENSVAorb25lIHNjcmVlbmZ1bCBhdCBvbmNlLgorQWZ0ZXIgZWFjaCBwYWdlLCBhIHByb21wdCBpcyBkaXNwbGF5ZWQuICBUaGUgdXNlciBtYXkgdGhlbiBlaXRoZXIgcHJlc3MgdGhlCituZXdsaW5lIGtleSB0byB2aWV3IHRoZSBuZXh0IHBhZ2Ugb3Igb25lIG9mIHRoZSBrZXlzIGRlc2NyaWJlZCBiZWxvdy4KKy5QUAorSWYgbm8gZmlsZW5hbWUgaXMgZ2l2ZW4gb24gdGhlIGNvbW1hbmQgbGluZSwKKy5CIHBnCityZWFkcyBmcm9tIHN0YW5kYXJkIGlucHV0LgorSWYgc3RhbmRhcmQgb3V0cHV0IGlzIG5vdCBhIHRlcm1pbmFsLAorLkIgcGcKK2FjdHMgbGlrZQorLkJSIGNhdCAoMSkKK2J1dCBwcmVjZWRlcyBlYWNoIGZpbGUgd2l0aCBpdHMgbmFtZSBpZiB0aGVyZSBpcyBtb3JlIHRoYW4gb25lLgorLlBQCitJZiBpbnB1dCBjb21lcyBmcm9tIGEgcGlwZSwKKy5CIHBnCitzdG9yZXMgdGhlIGRhdGEgaW4gYSBidWZmZXIgZmlsZSB3aGlsZSByZWFkaW5nLAordG8gbWFrZSBuYXZpZ2F0aW9uIHBvc3NpYmxlLgorLlNIIE9QVElPTlMKKy5CIHBnCithY2NlcHRzIHRoZSBmb2xsb3dpbmcgb3B0aW9uczoKKy5UUAorLkJJICsgbnVtYmVyCitTdGFydCBhdCB0aGUgZ2l2ZW4gbGluZSBudW1iZXIuCisuVFAKKy5CSSArLyBwYXR0ZXJuIC8KK1N0YXJ0IGF0IHRoZSBsaW5lIGNvbnRhaW5pbmcgdGhlIEJhc2ljIFJlZ3VsYXIgRXhwcmVzc2lvbgorLkkgcGF0dGVybgorZ2l2ZW4uCisuVFAKKy5CSSBcLSBudW1iZXIKK1RoZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UuICBCeSBkZWZhdWx0LCB0aGlzIGlzIHRoZSBudW1iZXIgb2YKKy5TTSBDUlQKK2xpbmVzIG1pbnVzIG9uZS4KKy5UUAorLkIgXC1jCitDbGVhciB0aGUgc2NyZWVuIGJlZm9yZSBhIHBhZ2UgaXMgZGlzcGxheWVkLAoraWYgdGhlIHRlcm1pbmZvIGVudHJ5IGZvciB0aGUgdGVybWluYWwgcHJvdmlkZXMgdGhpcyBjYXBhYmlsaXR5LgorLlRQCisuQiBcLWUKK0RvIG5vdCBwYXVzZSBhbmQgZGlzcGxheQorLlNNIChFT0YpCithdCB0aGUgZW5kIG9mIGEgZmlsZS4KKy5UUAorLkIgXC1mCitEbyBub3Qgc3BsaXQgbG9uZyBsaW5lcy4KKy5UUAorLkIgXC1uCitXaXRob3V0IHRoaXMgb3B0aW9uLCBjb21tYW5kcyBtdXN0IGJlIHRlcm1pbmF0ZWQgYnkgYSBuZXdsaW5lIGNoYXJhY3Rlci4KK1dpdGggdGhpcyBvcHRpb24sCisuQiBwZworYWR2YW5jZXMgb25jZSBhIGNvbW1hbmQgbGV0dGVyIGlzIGVudGVyZWQuCisuVFAKKy5CSSBcLXAgXCBzdHJpbmcKK0luc3RlYWQgb2YgdGhlIG5vcm1hbCBwcm9tcHQKKy5JUiA6ICwKKy5JIHN0cmluZworaXMgZGlzcGxheWVkLgorSWYKKy5JIHN0cmluZworY29udGFpbnMKKy5CUiAlZCAsCitpdHMgZmlyc3Qgb2NjdXJyZW5jZSBpcyByZXBsYWNlZCBieSB0aGUgbnVtYmVyIG9mIHRoZSBjdXJyZW50IHBhZ2UuCisuVFAKKy5CIFwtcgorRGlzYWxsb3cgdGhlIHNoZWxsIGVzY2FwZS4KKy5UUAorLkIgXC1zCitQcmludCBtZXNzYWdlcyBpbgorLkkgc3RhbmRvdXQKK21vZGUsCitpZiB0aGUgdGVybWluZm8gZW50cnkgZm9yIHRoZSB0ZXJtaW5hbCBwcm92aWRlcyB0aGlzIGNhcGFiaWxpdHkuCisuVFAKKy5CUiBcLVYgLCAiIFwtXC12ZXJzaW9uIgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCisuQlIgXC1oICwgIiBcLVwtaGVscCIKK0Rpc3BsYXkgaGVscCB0ZXh0IGFuZCBleGl0LgorLlNIIENPTU1BTkRTCitUaGUgZm9sbG93aW5nIGNvbW1hbmRzIG1heSBiZSBlbnRlcmVkIGF0IHRoZSBwcm9tcHQuICBDb21tYW5kcyBwcmVjZWRlZCBieQorLkkgaQoraW4gdGhpcyBkb2N1bWVudCBhY2NlcHQgYSBudW1iZXIgYXMgYXJndW1lbnQsIHBvc2l0aXZlIG9yIG5lZ2F0aXZlLgorSWYgdGhpcyBhcmd1bWVudCBzdGFydHMgd2l0aAorLkIgKworb3IKKy5CUiBcLSAsCitpdCBpcyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBwb3NpdGlvbiBpbiB0aGUgaW5wdXQgZmlsZSwKK290aGVyd2lzZSByZWxhdGl2ZSB0byB0aGUgYmVnaW5uaW5nLgorLlRQCisuSUIgaSA8RW50ZXI+CitEaXNwbGF5IHRoZSBuZXh0IG9yIHRoZSBpbmRpY2F0ZWQgcGFnZS4KKy5UUAorXGZJaVxmUlxmQmRcZlIgb3IgXGZCXkRcZlIKK0Rpc3BsYXkgdGhlIG5leHQgaGFsZnBhZ2UuICBJZgorLkkgaQoraXMgZ2l2ZW4sIGl0IGlzIGFsd2F5cyBpbnRlcnByZXRlZCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBwb3NpdGlvbi4KKy5UUAorLklCIGkgbAorRGlzcGxheSB0aGUgbmV4dCBvciB0aGUgaW5kaWNhdGVkIGxpbmUuCisuVFAKKy5JQiBpIGYKK1NraXAgYSBwYWdlIGZvcndhcmQuCisuSSBpCittdXN0IGJlIGEgcG9zaXRpdmUgbnVtYmVyIGFuZCBpcyBhbHdheXMgaW50ZXJwcmV0ZWQgcmVsYXRpdmUKK3RvIHRoZSBjdXJyZW50IHBvc2l0aW9uLgorLlRQCitcZklpXGZSXGZCd1xmUiBvciBcZklpXGZSXGZCelxmUgorQXMKKy5CIDxFbnRlcj4KK2V4Y2VwdCB0aGF0CisuSSBpCitiZWNvbWVzIHRoZSBuZXcgcGFnZSBzaXplLgorLlRQCisuQlIgLiAiIG9yICIgXkwKK1JlZHJhdyB0aGUgc2NyZWVuLgorLlRQCisuQiAkCitBZHZhbmNlIHRvIHRoZSBsYXN0IGxpbmUgb2YgdGhlIGlucHV0IGZpbGUuCisuVFAKKy5JQiBpIC8gcGF0dGVybiAvCitTZWFyY2ggZm9yd2FyZCB1bnRpbCB0aGUgZmlyc3Qgb3IgdGhlIFxmSWlcZlItdGgKK29jY3VycmVuY2Ugb2YgdGhlIEJhc2ljIFJlZ3VsYXIgRXhwcmVzc2lvbgorLkkgcGF0dGVybgoraXMgZm91bmQuICBUaGUgc2VhcmNoIHN0YXJ0cworYWZ0ZXIgdGhlIGN1cnJlbnQgcGFnZSBhbmQgc3RvcHMgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4KK05vIHdyYXAtYXJvdW5kIGlzIHBlcmZvcm1lZC4KKy5JIGkKK211c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXIuCisuVFAKK1xmSWlcZlJcZkI/XGZSXGZJcGF0dGVyblxmUlxmQj9cZlIgb3IgXGZJaVxmUlxmQl5cZlJcZklwYXR0ZXJuXGZSXGZCXlxmUgorU2VhcmNoIGJhY2t3YXJkIHVudGlsIHRoZSBmaXJzdCBvciB0aGUgXGZJaVxmUi10aAorb2NjdXJyZW5jZSBvZiB0aGUgQmFzaWMgUmVndWxhciBFeHByZXNzaW9uCisuSSBwYXR0ZXJuCitpcyBmb3VuZC4gIFRoZSBzZWFyY2ggc3RhcnRzCitiZWZvcmUgdGhlIGN1cnJlbnQgcGFnZSBhbmQgc3RvcHMgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgZmlsZS4KK05vIHdyYXAtYXJvdW5kIGlzIHBlcmZvcm1lZC4KKy5JIGkKK211c3QgYmUgYSBwb3NpdGl2ZSBudW1iZXIuCisuUFAKK1RoZSBzZWFyY2ggY29tbWFuZHMgYWNjZXB0IGFuIGFkZGVkIGxldHRlci4gIElmCisuQiB0CitpcyBnaXZlbiwgdGhlIGxpbmUgY29udGFpbmluZyB0aGUgcGF0dGVybiBpcyBkaXNwbGF5ZWQgYXQgdGhlIHRvcCBvZiB0aGUKK3NjcmVlbiwgd2hpY2ggaXMgdGhlIGRlZmF1bHQuCisuQiBtCitzZWxlY3RzIHRoZSBtaWRkbGUgYW5kCisuQiBiCit0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uCitUaGUgc2VsZWN0ZWQgcG9zaXRpb24gaXMgdXNlZCBpbiBmb2xsb3dpbmcgc2VhcmNoZXMsIHRvby4KKy5UUAorLklCIGkgbgorQWR2YW5jZSB0byB0aGUgbmV4dCBmaWxlIG9yCisuSSBpCitmaWxlcyBmb3J3YXJkLgorLlRQCisuSUIgaSBwCitSZXJlYWQgdGhlIHByZXZpb3VzIGZpbGUgb3IKKy5JIGkKK2ZpbGVzIGJhY2t3YXJkLgorLlRQCisuQkkgcyBcIGZpbGVuYW1lCitTYXZlIHRoZSBjdXJyZW50IGZpbGUgdG8gdGhlIGdpdmVuCisuSSBmaWxlbmFtZS4KKy5UUAorLkIgaAorRGlzcGxheSBhIGNvbW1hbmQgc3VtbWFyeS4KKy5UUAorLkJJICEgY29tbWFuZAorRXhlY3V0ZQorLkkgY29tbWFuZAordXNpbmcgdGhlIHNoZWxsLgorLlRQCisuQlIgcSAiIG9yICIgUQorUXVpdC4KKy5QUAorSWYgdGhlIHVzZXIgcHJlc3NlcyB0aGUgaW50ZXJydXB0IG9yIHF1aXQga2V5IHdoaWxlCisuQiBwZworcmVhZHMgZnJvbSB0aGUKK2lucHV0IGZpbGUgb3Igd3JpdGVzIG9uIHRoZSB0ZXJtaW5hbCwKKy5CIHBnCit3aWxsIGltbWVkaWF0ZWx5IGRpc3BsYXkgdGhlIHByb21wdC4KK0luIGFsbCBvdGhlciBzaXR1YXRpb25zIHRoZXNlIGtleXMgd2lsbCB0ZXJtaW5hdGUKKy5CUiBwZyAuCisuU0ggIkVOVklST05NRU5UIFZBUklBQkxFUyIKK1RoZSBmb2xsb3dpbmcgZW52aXJvbm1lbnQgdmFyaWFibGVzCithZmZlY3QgdGhlIGJlaGF2aW9yIG9mCisuQlIgcGcgOgorLlRQCisuQiBDT0xVTU5TCitPdmVycmlkZXMgdGhlIHN5c3RlbS1zdXBwbGllZCBudW1iZXIgb2YgY29sdW1ucyBpZiBzZXQuCisuVFAKKy5CUiBMQU5HICxcICBMQ19BTEwgLFwgIExDX0NPTExBVEUgLFwgIExDX0NUWVBFICxcICBMQ19NRVNTQUdFUworU2VlCisuQlIgbG9jYWxlICg3KS4KKy5UUAorLkIgTElORVMKK092ZXJyaWRlcyB0aGUgc3lzdGVtLXN1cHBsaWVkIG51bWJlciBvZiBsaW5lcyBpZiBzZXQuCisuVFAKKy5CIFNIRUxMCitVc2VkIGJ5IHRoZQorLkJSICEgIiBjb21tYW5kLiIKKy5UUAorLkIgVEVSTQorRGV0ZXJtaW5lcyB0aGUgdGVybWluYWwgdHlwZS4KKy5TSCAiU0VFIEFMU08iCisuQlIgY2F0ICgxKSwKKy5CUiBtb3JlICgxKSwKKy5CUiBzaCAoMSksCisuQlIgdGVybWluZm8gKDUpLAorLkJSIGxvY2FsZSAoNyksCisuQlIgcmVnZXggKDcpLAorLkJSIHRlcm0gKDcpCisuU0ggTk9URVMKKy5CIHBnCitleHBlY3RzIHRoZSB0ZXJtaW5hbCB0YWJ1bGF0b3JzIHRvIGJlIHNldCBldmVyeSBlaWdodCBwb3NpdGlvbnMuCisuUFAKK0ZpbGVzIHRoYXQgaW5jbHVkZQorLlNNIE5VTAorY2hhcmFjdGVycyBjYW5ub3QgYmUgZGlzcGxheWVkIGJ5CisuQlIgcGcgLgorLlNIIEFWQUlMQUJJTElUWQorVGhlIHBnIGNvbW1hbmQgaXMgcGFydCBvZiB0aGUgdXRpbC1saW51eCBwYWNrYWdlIGFuZCBpcyBhdmFpbGFibGUgZnJvbQoraHR0cHM6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8uCmRpZmYgLS1naXQgYS90ZXh0LXV0aWxzL3BnLmMgYi90ZXh0LXV0aWxzL3BnLmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjQ0MWMwNAotLS0gL2Rldi9udWxsCisrKyBiL3RleHQtdXRpbHMvcGcuYwpAQCAtMCwwICsxLDE2OTEgQEAKKy8qCisgKiBwZyAgLSBBIGNsb25lIG9mIHRoZSBTeXN0ZW0gViBDUlQgcGFnaW5nIHV0aWxpdHkuCisgKgorICoJQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIFtkZWxldGVkXQorICogNC4gTmVpdGhlciB0aGUgbmFtZSBvZiBHdW5uYXIgUml0dGVyIG5vciB0aGUgbmFtZXMgb2YgaGlzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEdVTk5BUiBSSVRURVIgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisgKiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFCisgKiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEdVTk5BUiBSSVRURVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorICogRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyAqIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisgKiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKyAqIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUCisgKiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisgKiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisgKiBTVUNIIERBTUFHRS4KKyAqLworCisvKiBTY2NzaWQgQCgjKXBnLmMgMS40NCAoZ3JpdHRlcikgMi84LzAyIC0gbW9kaWZpZWQgZm9yIHV0aWwtbGludXggKi8KKworLyoKKyAqIFRoaXMgY29tbWFuZCBpcyBkZXByZWNhdGVkLiAgVGhlIHV0aWxpdHkgaXMgaW4gbWFpbnRlbmFuY2UgbW9kZSwKKyAqIG1lYW5pbmcgd2Uga2VlcCB0aGVtIGluIHNvdXJjZSB0cmVlIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5CisgKiBvbmx5LiAgRG8gbm90IHdhc3RlIHRpbWUgbWFraW5nIHRoaXMgY29tbWFuZCBiZXR0ZXIsIHVubGVzcyB0aGUKKyAqIGZpeCBpcyBhYm91dCBzZWN1cml0eSBvciBvdGhlciB2ZXJ5IGNyaXRpY2FsIGlzc3VlLgorICoKKyAqIFNlZSBEb2N1bWVudGF0aW9uL2RlcHJlY2F0ZWQudHh0IGZvciBtb3JlIGluZm9ybWF0aW9uLgorICovCisKKyNpbmNsdWRlIDxzeXMvdHlwZXMuaD4KKyNpbmNsdWRlIDxzeXMvd2FpdC5oPgorI2luY2x1ZGUgPHN5cy9zdGF0Lmg+CisjaWZuZGVmCVRJT0NHV0lOU1oKKyMgaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisjZW5kaWYKKyNpbmNsdWRlIDx0ZXJtaW9zLmg+CisjaW5jbHVkZSA8ZmNudGwuaD4KKyNpbmNsdWRlIDxyZWdleC5oPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8c3RyaW5nLmg+CisjaW5jbHVkZSA8c3RkbGliLmg+CisjaW5jbHVkZSA8bGltaXRzLmg+CisjaW5jbHVkZSA8Y3R5cGUuaD4KKyNpbmNsdWRlIDxlcnJuby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPHNldGptcC5oPgorCisjaWYgZGVmaW5lZChIQVZFX05DVVJTRVNXX05DVVJTRVNfSCkKKyMgaW5jbHVkZSA8bmN1cnNlc3cvbmN1cnNlcy5oPgorI2VsaWYgZGVmaW5lZChIQVZFX05DVVJTRVNfTkNVUlNFU19IKQorIyBpbmNsdWRlIDxuY3Vyc2VzL25jdXJzZXMuaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9OQ1VSU0VTX0gpCisjIGluY2x1ZGUgPG5jdXJzZXMuaD4KKyNlbmRpZgorCisjaWYgZGVmaW5lZChIQVZFX05DVVJTRVNXX1RFUk1fSCkKKyMgaW5jbHVkZSA8bmN1cnNlc3cvdGVybS5oPgorI2VsaWYgZGVmaW5lZChIQVZFX05DVVJTRVNfVEVSTV9IKQorIyBpbmNsdWRlIDxuY3Vyc2VzL3Rlcm0uaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9URVJNX0gpCisjIGluY2x1ZGUgPHRlcm0uaD4KKyNlbmRpZgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKyNpbmNsdWRlICJhbGwtaW8uaCIKKyNpbmNsdWRlICJjbG9zZXN0cmVhbS5oIgorI2luY2x1ZGUgInN0cnV0aWxzLmgiCisKKyNkZWZpbmUJUkVBREJVRgkJTElORV9NQVgJLyogc2l6ZSBvZiBpbnB1dCBidWZmZXIgKi8KKyNkZWZpbmUgQ01EQlVGCQkyNTUJCS8qIHNpemUgb2YgY29tbWFuZCBidWZmZXIgKi8KKyNkZWZpbmUJUEdfVEFCU0laRQk4CQkvKiBzcGFjZXMgY29uc3VtZWQgYnkgdGFiIGNoYXJhY3RlciAqLworCisjZGVmaW5lCWN1YyhjKQkJKChjKSAmIDAzNzcpCisKK2VudW0geyBGT1JXQVJEID0gMSwgQkFDS1dBUkQgPSAyIH07CS8qIHNlYXJjaCBkaXJlY3Rpb24gKi8KK2VudW0geyBUT1AsIE1JRERMRSwgQk9UVE9NIH07CQkvKiBwb3NpdGlvbiBvZiBtYXRjaGluZyBsaW5lICovCisKKy8qIFN0YXRlcyBmb3Igc3ludGF4LWF3YXJlIGNvbW1hbmQgbGluZSBlZGl0b3IuICovCitlbnVtIHsKKwlDT1VOVCwKKwlTSUdOLAorCUNNRF9GSU4sCisJU0VBUkNILAorCVNFQVJDSF9GSU4sCisJQURET05fRklOLAorCVNUUklORywKKwlJTlZBTElECit9OworCisvKiBDdXJyZW50IGNvbW1hbmQgKi8KK3N0YXRpYyBzdHJ1Y3QgeworCWNoYXIgY21kbGluZVtDTURCVUZdOworCXNpemVfdCBjbWRsZW47CisJaW50IGNvdW50OworCWludCBrZXk7CisJY2hhciBwYXR0ZXJuW0NNREJVRl07CisJY2hhciBhZGRvbjsKK30gY21kOworCisvKiBQb3NpdGlvbiBvZiBmaWxlIGFyZ3VtZW50cyBvbiBhcmd2W10gdG8gbWFpbigpICovCitzdGF0aWMgc3RydWN0IHsKKwlpbnQgZmlyc3Q7CisJaW50IGN1cnJlbnQ7CisJaW50IGxhc3Q7Cit9IGZpbGVzOworCitzdGF0aWMgdm9pZCAoKm9sZGludCkgKGludCk7CQkvKiBvbGQgU0lHSU5UIGhhbmRsZXIgKi8KK3N0YXRpYyB2b2lkICgqb2xkcXVpdCkgKGludCk7CQkvKiBvbGQgU0lHUVVJVCBoYW5kbGVyICovCitzdGF0aWMgdm9pZCAoKm9sZHRlcm0pIChpbnQpOwkJLyogb2xkIFNJR1RFUk0gaGFuZGxlciAqLworc3RhdGljIGNoYXIgKnR0eTsJCQkvKiByZXN1bHQgb2YgdHR5bmFtZSgxKSAqLworc3RhdGljIHVuc2lnbmVkIG9udHR5OwkJCS8qIHdoZXRoZXIgcnVubmluZyBvbiB0dHkgZGV2aWNlICovCitzdGF0aWMgdW5zaWduZWQgZXhpdHN0YXR1czsJCS8qIGV4aXQgc3RhdHVzICovCitzdGF0aWMgaW50IHBhZ2VsZW4gPSAyMzsJCS8qIGxpbmVzIG9uIGEgc2luZ2xlIHNjcmVlbiBwYWdlICovCitzdGF0aWMgaW50IHR0eWNvbHMgPSA3OTsJCS8qIHNjcmVlbiBjb2x1bW5zIChzdGFydGluZyBhdCAwKSAqLworc3RhdGljIHN0cnVjdCB0ZXJtaW9zIG90aW87CQkvKiBvbGQgdGVybWlvcyBzZXR0aW5ncyAqLworc3RhdGljIGludCB0aW5mb3N0YXQgPSAtMTsJCS8qIHRlcm1pbmZvIHJvdXRpbmVzIGluaXRpYWxpemVkICovCitzdGF0aWMgaW50IHNlYXJjaGRpc3BsYXkgPSBUT1A7CS8qIG1hdGNoaW5nIGxpbmUgcG9zaXRpb24gKi8KK3N0YXRpYyByZWdleF90IHJlOwkJCS8qIHJlZ3VsYXIgZXhwcmVzc2lvbiB0byBzZWFyY2ggZm9yICovCitzdGF0aWMgaW50IHJlbWVtYmVyZWQ7CQkJLyogaGF2ZSBhIHJlbWVtYmVyZWQgc2VhcmNoIHN0cmluZyAqLworc3RhdGljIGludCBjZmxhZzsJCQkvKiBjbGVhciBzY3JlZW4gYmVmb3JlIGVhY2ggcGFnZSAqLworc3RhdGljIGludCBlZmxhZzsJCQkvKiBzdXBwcmVzcyAoRU9GKSAqLworc3RhdGljIGludCBmZmxhZzsJCQkvKiBkbyBub3Qgc3BsaXQgbGluZXMgKi8KK3N0YXRpYyBpbnQgbmZsYWc7CQkJLyogbm8gbmV3bGluZSBmb3IgY29tbWFuZHMgcmVxdWlyZWQgKi8KK3N0YXRpYyBpbnQgcmZsYWc7CQkJLyogInJlc3RyaWN0ZWQiIHBnICovCitzdGF0aWMgaW50IHNmbGFnOwkJCS8qIHVzZSBzdGFuZG91dCBtb2RlICovCitzdGF0aWMgY29uc3QgY2hhciAqcHN0cmluZyA9ICI6IjsJLyogcHJvbXB0IHN0cmluZyAqLworc3RhdGljIGNoYXIgKnNlYXJjaGZvcjsJCS8qIHNlYXJjaCBwYXR0ZXJuIGZyb20gYXJndltdICovCitzdGF0aWMgaW50IGhhdmVwYWdlbGVuOwkJLyogcGFnZSBsZW5ndGggaXMgbWFudWFsbHkgZGVmaW5lZCAqLworc3RhdGljIGxvbmcgc3RhcnRsaW5lOwkJCS8qIHN0YXJ0IGxpbmUgZnJvbSBhcmd2W10gKi8KK3N0YXRpYyBpbnQgbmV4dGZpbGUgPSAxOwkJLyogZmlsZXMgdG8gYWR2YW5jZSAqLworc3RhdGljIGptcF9idWYgam1wZW52OwkJCS8qIGp1bXAgZnJvbSBzaWduYWwgaGFuZGxlcnMgKi8KK3N0YXRpYyBpbnQgY2FuanVtcDsJCQkvKiBqbXBlbnYgaXMgdmFsaWQgKi8KK3N0YXRpYyB3Y2hhcl90IHdidWZbUkVBREJVRl07CQkvKiB1c2VkIGluIHNldmVyYWwgd2lkZWNoYXIgcm91dGluZXMgKi8KKworc3RhdGljIGNoYXIgKmNvcHlyaWdodDsKK3N0YXRpYyBjb25zdCBjaGFyICpoZWxwc2NyZWVuID0gTl8oIlwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblwKKyAgaCAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBzY3JlZW5cblwKKyAgcSBvciBRICAgICAgICAgICAgICAgICAgcXVpdCBwcm9ncmFtXG5cCisgIDxuZXdsaW5lPiAgICAgICAgICAgICAgIG5leHQgcGFnZVxuXAorICBmICAgICAgICAgICAgICAgICAgICAgICBza2lwIGEgcGFnZSBmb3J3YXJkXG5cCisgIGQgb3IgXkQgICAgICAgICAgICAgICAgIG5leHQgaGFsZnBhZ2VcblwKKyAgbCAgICAgICAgICAgICAgICAgICAgICAgbmV4dCBsaW5lXG5cCisgICQgICAgICAgICAgICAgICAgICAgICAgIGxhc3QgcGFnZVxuXAorICAvcmVnZXgvICAgICAgICAgICAgICAgICBzZWFyY2ggZm9yd2FyZCBmb3IgcmVnZXhcblwKKyAgP3JlZ2V4PyBvciBecmVnZXheICAgICAgc2VhcmNoIGJhY2t3YXJkIGZvciByZWdleFxuXAorICAuIG9yIF5MICAgICAgICAgICAgICAgICByZWRyYXcgc2NyZWVuXG5cCisgIHcgb3IgeiAgICAgICAgICAgICAgICAgIHNldCBwYWdlIHNpemUgYW5kIGdvIHRvIG5leHQgcGFnZVxuXAorICBzIGZpbGVuYW1lICAgICAgICAgICAgICBzYXZlIGN1cnJlbnQgZmlsZSB0byBmaWxlbmFtZVxuXAorICAhY29tbWFuZCAgICAgICAgICAgICAgICBzaGVsbCBlc2NhcGVcblwKKyAgcCAgICAgICAgICAgICAgICAgICAgICAgZ28gdG8gcHJldmlvdXMgZmlsZVxuXAorICBuICAgICAgICAgICAgICAgICAgICAgICBnbyB0byBuZXh0IGZpbGVcblwKK1xuXAorTWFueSBjb21tYW5kcyBhY2NlcHQgcHJlY2VkaW5nIG51bWJlcnMsIGZvciBleGFtcGxlOlxuXAorKzE8bmV3bGluZT4gKG5leHQgcGFnZSk7IC0xPG5ld2xpbmU+IChwcmV2aW91cyBwYWdlKTsgMTxuZXdsaW5lPiAoZmlyc3QgcGFnZSkuXG5cCitcblwKK1NlZSBwZygxKSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblwKKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiIpOworCisjaWZuZGVmIEhBVkVfRlNFRUtPCitzdGF0aWMgaW50IGZzZWVrbyhGSUxFICpmLCBvZmZfdCBvZmYsIGludCB3aGVuY2UpCit7CisJcmV0dXJuIGZzZWVrKGYsIChsb25nKW9mZiwgd2hlbmNlKTsKK30KKworc3RhdGljIG9mZl90IGZ0ZWxsbyhGSUxFICpmKQoreworCXJldHVybiAob2ZmX3QpIGZ0ZWxsKGYpOworfQorI2VuZGlmCisKKyNpZmRlZiBVU0VfU0lHU0VUCS8qIG5ldmVyIGRlZmluZWQgKi8KKy8qIHNpZ3NldCBhbmQgc2lncmVsc2UgYXJlIG9ic29sZXRlIC0gdXNlIHdoZW4gUE9TSVggc3R1ZmYgaXMgdW5hdmFpbGFibGUgKi8KKyMgZGVmaW5lIG15X3NpZ3NldAlzaWdzZXQKKyMgZGVmaW5lIG15X3NpZ3JlbHNlCXNpZ3JlbHNlCisjZWxzZQorc3RhdGljIGludCBteV9zaWdyZWxzZShpbnQgc2lnKQoreworCXNpZ3NldF90IHNpZ3M7CisKKwlpZiAoc2lnZW1wdHlzZXQoJnNpZ3MpIHx8IHNpZ2FkZHNldCgmc2lncywgc2lnKSkKKwkJcmV0dXJuIC0xOworCXJldHVybiBzaWdwcm9jbWFzayhTSUdfVU5CTE9DSywgJnNpZ3MsIE5VTEwpOworfQorCit0eXBlZGVmIHZvaWQgKCpteV9zaWdoYW5kbGVyX3QpIChpbnQpOworc3RhdGljIG15X3NpZ2hhbmRsZXJfdCBteV9zaWdzZXQoaW50IHNpZywgbXlfc2lnaGFuZGxlcl90IGRpc3ApCit7CisJc3RydWN0IHNpZ2FjdGlvbiBhY3QsIG9hY3Q7CisKKwlhY3Quc2FfaGFuZGxlciA9IGRpc3A7CisJaWYgKHNpZ2VtcHR5c2V0KCZhY3Quc2FfbWFzaykpCisJCXJldHVybiBTSUdfRVJSOworCWFjdC5zYV9mbGFncyA9IDA7CisJaWYgKHNpZ2FjdGlvbihzaWcsICZhY3QsICZvYWN0KSkKKwkJcmV0dXJuIFNJR19FUlI7CisJaWYgKG15X3NpZ3JlbHNlKHNpZykpCisJCXJldHVybiBTSUdfRVJSOworCXJldHVybiBvYWN0LnNhX2hhbmRsZXI7Cit9CisjZW5kaWYJLyogVVNFX1NJR1NFVCAqLworCisvKiBRdWl0IHBnLiAqLworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgcXVpdChpbnQgc3RhdHVzKQoreworCWV4aXQoc3RhdHVzIDwgMDEwMCA/IHN0YXR1cyA6IDA3Nyk7Cit9CisKKy8qIFVzYWdlIG1lc3NhZ2UgYW5kIHNpbWlsYXIgcm91dGluZXMuICovCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSB1c2FnZSh2b2lkKQoreworCUZJTEUgKm91dCA9IHN0ZG91dDsKKwlmcHV0cyhVU0FHRV9IRUFERVIsIG91dCk7CisJZnByaW50ZihvdXQsCisJCV8oIiAlcyBbb3B0aW9uc10gWytsaW5lXSBbKy9wYXR0ZXJuL10gW2ZpbGVzXVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJCcm93c2UgcGFnZXdpc2UgdGhyb3VnaCB0ZXh0IGZpbGVzLlxuIiksIG91dCk7CisKKwlmcHV0cyhVU0FHRV9PUFRJT05TLCBvdXQpOworCWZwdXRzKF8oIiAtbnVtYmVyICAgICAgbGluZXMgcGVyIHBhZ2VcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtYyAgICAgICAgICAgY2xlYXIgc2NyZWVuIGJlZm9yZSBkaXNwbGF5aW5nXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWUgICAgICAgICAgIGRvIG5vdCBwYXVzZSBhdCBlbmQgb2YgYSBmaWxlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLWYgICAgICAgICAgIGRvIG5vdCBzcGxpdCBsb25nIGxpbmVzXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLW4gICAgICAgICAgIHRlcm1pbmF0ZSBjb21tYW5kIHdpdGggbmV3IGxpbmVcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtcCA8cHJvbXB0PiAgc3BlY2lmeSBwcm9tcHRcbiIpLCBvdXQpOworCWZwdXRzKF8oIiAtciAgICAgICAgICAgZGlzYWxsb3cgc2hlbGwgZXNjYXBlXG4iKSwgb3V0KTsKKwlmcHV0cyhfKCIgLXMgICAgICAgICAgIHByaW50IG1lc3NhZ2VzIHRvIHN0ZG91dFxuIiksIG91dCk7CisJZnB1dHMoXygiICtudW1iZXIgICAgICBzdGFydCBhdCB0aGUgZ2l2ZW4gbGluZVxuIiksIG91dCk7CisJZnB1dHMoXygiICsvcGF0dGVybi8gICBzdGFydCBhdCB0aGUgbGluZSBjb250YWluaW5nIHBhdHRlcm5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfU0VQQVJBVE9SLCBvdXQpOworCXByaW50ZihVU0FHRV9IRUxQX09QVElPTlMoMTYpKTsKKworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgicGcoMSkiKSk7CisJZXhpdCgwKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgbmVlZGFyZyhjb25zdCBjaGFyICpzKQoreworCXdhcm54KF8oIm9wdGlvbiByZXF1aXJlcyBhbiBhcmd1bWVudCAtLSAlcyIpLCBzKTsKKwllcnJ0cnloZWxwKDIpOworfQorCitzdGF0aWMgdm9pZCBfX2F0dHJpYnV0ZV9fKChfX25vcmV0dXJuX18pKSBpbnZvcHQoY29uc3QgY2hhciAqcykKK3sKKwl3YXJueChfKCJpbGxlZ2FsIG9wdGlvbiAtLSAlcyIpLCBzKTsKKwllcnJ0cnloZWxwKDIpOworfQorCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorLyogQSBtYnN0b3djcygpLWFsaWtlIGZ1bmN0aW9uIHRoYXQgdHJhbnNwYXJlbnRseSBoYW5kbGVzIGludmFsaWQKKyAqIHNlcXVlbmNlcy4gKi8KK3N0YXRpYyBzaXplX3QgeG1ic3Rvd2NzKHdjaGFyX3QgKiBwd2NzLCBjb25zdCBjaGFyICpzLCBzaXplX3QgbndjcykKK3sKKwlzaXplX3QgbiA9IG53Y3M7CisJaW50IGM7CisKKwlpZ25vcmVfcmVzdWx0KG1idG93Yyhwd2NzLCBOVUxMLCBNQl9DVVJfTUFYKSk7CS8qIHJlc2V0IHNoaWZ0IHN0YXRlICovCisJd2hpbGUgKCpzICYmIG4pIHsKKwkJaWYgKChjID0gbWJ0b3djKHB3Y3MsIHMsIE1CX0NVUl9NQVgpKSA8IDApIHsKKwkJCXMrKzsKKwkJCSpwd2NzID0gTCc/JzsKKwkJfSBlbHNlCisJCQlzICs9IGM7CisJCXB3Y3MrKzsKKwkJbi0tOworCX0KKwlpZiAobikKKwkJKnB3Y3MgPSBMJ1wwJzsKKwlpZ25vcmVfcmVzdWx0KG1idG93Yyhwd2NzLCBOVUxMLCBNQl9DVVJfTUFYKSk7CisJcmV0dXJuIG53Y3MgLSBuOworfQorI2VuZGlmCisKKy8qIEhlbHBlciBmdW5jdGlvbiBmb3IgdHB1dHMoKS4gKi8KK3N0YXRpYyBpbnQgb3V0Y2FwKGludCBpKQoreworCWNoYXIgYyA9IGk7CisJcmV0dXJuIHdyaXRlX2FsbChTVERPVVRfRklMRU5PLCAmYywgMSkgPT0gMCA/IDEgOiAtMTsKK30KKworLyogV3JpdGUgbWVzc2FnZXMgdG8gdGVybWluYWwuICovCitzdGF0aWMgdm9pZCBtZXNnKGNvbnN0IGNoYXIgKm1lc3NhZ2UpCit7CisJaWYgKG9udHR5ID09IDApCisJCXJldHVybjsKKwlpZiAoKm1lc3NhZ2UgIT0gJ1xuJyAmJiBzZmxhZykKKwkJdmlkcHV0cyhBX1NUQU5ET1VULCBvdXRjYXApOworCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBtZXNzYWdlLCBzdHJsZW4obWVzc2FnZSkpOworCWlmICgqbWVzc2FnZSAhPSAnXG4nICYmIHNmbGFnKQorCQl2aWRwdXRzKEFfTk9STUFMLCBvdXRjYXApOworfQorCisvKiBHZXQgdGhlIHdpbmRvdyBzaXplLiAqLworc3RhdGljIHZvaWQgZ2V0d2luc2l6ZSh2b2lkKQoreworCXN0YXRpYyBpbnQgaW5pdGlhbGl6ZWQsIGVudmxpbmVzLCBlbnZjb2xzLCBkZWZsaW5lcywgZGVmY29sczsKKyNpZmRlZglUSU9DR1dJTlNaCisJc3RydWN0IHdpbnNpemUgd2luc3o7CisJaW50IGJhZGlvY3RsOworI2VuZGlmCisJY2hhciAqcDsKKworCWlmIChpbml0aWFsaXplZCA9PSAwKSB7CisJCWlmICgocCA9IGdldGVudigiTElORVMiKSkgIT0gTlVMTCAmJiAqcCAhPSAnXDAnKQorCQkJaWYgKChlbnZsaW5lcyA9IGF0b2kocCkpIDwgMCkKKwkJCQllbnZsaW5lcyA9IDA7CisJCWlmICgocCA9IGdldGVudigiQ09MVU1OUyIpKSAhPSBOVUxMICYmICpwICE9ICdcMCcpCisJCQlpZiAoKGVudmNvbHMgPSBhdG9pKHApKSA8IDApCisJCQkJZW52Y29scyA9IDA7CisJCS8qIHRlcm1pbmZvIHZhbHVlcy4gKi8KKwkJaWYgKHRpbmZvc3RhdCAhPSAxIHx8IGNvbHVtbnMgPT0gMCkKKwkJCWRlZmNvbHMgPSAyNDsKKwkJZWxzZQorCQkJZGVmY29scyA9IGNvbHVtbnM7CisJCWlmICh0aW5mb3N0YXQgIT0gMSB8fCBsaW5lcyA9PSAwKQorCQkJZGVmbGluZXMgPSA4MDsKKwkJZWxzZQorCQkJZGVmbGluZXMgPSBsaW5lczsKKwkJaW5pdGlhbGl6ZWQgPSAxOworCX0KKyNpZmRlZglUSU9DR1dJTlNaCisJYmFkaW9jdGwgPSBpb2N0bChTVERPVVRfRklMRU5PLCBUSU9DR1dJTlNaLCAmd2luc3opOworI2VuZGlmCisJaWYgKGVudmNvbHMpCisJCXR0eWNvbHMgPSBlbnZjb2xzIC0gMTsKKyNpZmRlZglUSU9DR1dJTlNaCisJZWxzZSBpZiAoIWJhZGlvY3RsKQorCQl0dHljb2xzID0gd2luc3oud3NfY29sIC0gMTsKKyNlbmRpZgorCWVsc2UKKwkJdHR5Y29scyA9IGRlZmNvbHMgLSAxOworCWlmIChoYXZlcGFnZWxlbiA9PSAwKSB7CisJCWlmIChlbnZsaW5lcykKKwkJCXBhZ2VsZW4gPSBlbnZsaW5lcyAtIDE7CisjaWZkZWYJVElPQ0dXSU5TWgorCQllbHNlIGlmICghYmFkaW9jdGwpCisJCQlwYWdlbGVuID0gd2luc3oud3Nfcm93IC0gMTsKKyNlbmRpZgorCQllbHNlCisJCQlwYWdlbGVuID0gZGVmbGluZXMgLSAxOworCX0KK30KKworLyogTWVzc2FnZSBpZiBza2lwcGluZyBwYXJ0cyBvZiBmaWxlcy4gKi8KK3N0YXRpYyB2b2lkIHNraXAoaW50IGRpcmVjdGlvbikKK3sKKwlpZiAoZGlyZWN0aW9uID4gMCkKKwkJbWVzZyhfKCIuLi5za2lwcGluZyBmb3J3YXJkXG4iKSk7CisJZWxzZQorCQltZXNnKF8oIi4uLnNraXBwaW5nIGJhY2t3YXJkXG4iKSk7Cit9CisKKy8qIFNpZ25hbCBoYW5kbGVyIHdoaWxlIHJlYWRpbmcgZnJvbSBpbnB1dCBmaWxlLiAqLworc3RhdGljIHZvaWQgc2lnaGFuZGxlcihpbnQgc2lnbnVtKQoreworCWlmIChjYW5qdW1wICYmIChzaWdudW0gPT0gU0lHSU5UIHx8IHNpZ251bSA9PSBTSUdRVUlUKSkKKwkJbG9uZ2ptcChqbXBlbnYsIHNpZ251bSk7CisJdGNzZXRhdHRyKFNURE9VVF9GSUxFTk8sIFRDU0FEUkFJTiwgJm90aW8pOworCXF1aXQoZXhpdHN0YXR1cyk7Cit9CisKKy8qIENoZWNrIHdoZXRoZXIgdGhlIHJlcXVlc3RlZCBmaWxlIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNvbW1hbmQgbGluZS4gKi8KK3N0YXRpYyBpbnQgY2hlY2tmKHZvaWQpCit7CisJaWYgKGZpbGVzLmN1cnJlbnQgKyBuZXh0ZmlsZSA+PSBmaWxlcy5sYXN0KSB7CisJCW1lc2coXygiTm8gbmV4dCBmaWxlIikpOworCQlyZXR1cm4gMTsKKwl9CisJaWYgKGZpbGVzLmN1cnJlbnQgKyBuZXh0ZmlsZSA8IGZpbGVzLmZpcnN0KSB7CisJCW1lc2coXygiTm8gcHJldmlvdXMgZmlsZSIpKTsKKwkJcmV0dXJuIDE7CisJfQorCXJldHVybiAwOworfQorCisjaWZkZWYgSEFWRV9XSURFQ0hBUgorLyogUmV0dXJuIHRoZSBsYXN0IGNoYXJhY3RlciB0aGF0IHdpbGwgZml0IG9uIHRoZSBsaW5lIGF0IGNvbCBjb2x1bW5zIGluCisgKiBjYXNlIE1CX0NVUl9NQVggPiAxLiAqLworc3RhdGljIGNoYXIgKmVuZGxpbmVfZm9yX21iKHVuc2lnbmVkIGNvbCwgY2hhciAqcykKK3sKKwlzaXplX3QgcG9zID0gMDsKKwl3Y2hhcl90ICpwID0gd2J1ZjsKKwl3Y2hhcl90ICplbmQ7CisJc2l6ZV90IHdsOworCWNoYXIgKnQgPSBzOworCisJaWYgKCh3bCA9IHhtYnN0b3djcyh3YnVmLCB0LCBzaXplb2Ygd2J1ZiAtIDEpKSA9PSAoc2l6ZV90KS0xKQorCQlyZXR1cm4gcyArIDE7CisJd2J1Zlt3bF0gPSBMJ1wwJzsKKwl3aGlsZSAoKnAgIT0gTCdcMCcpIHsKKwkJc3dpdGNoICgqcCkgeworCQkJLyogQ3Vyc29yIGxlZnQuICovCisJCWNhc2UgTCdcYic6CisJCQlpZiAocG9zID4gMCkKKwkJCQlwb3MtLTsKKwkJCWJyZWFrOworCQkJLyogTm8gY3Vyc29yIG1vdmVtZW50LiAqLworCQljYXNlIEwnXGEnOgorCQkJYnJlYWs7CisJCQkvKiBTcGVjaWFsLiAqLworCQljYXNlIEwnXHInOgorCQkJcG9zID0gMDsKKwkJCWJyZWFrOworCQljYXNlIEwnXG4nOgorCQkJZW5kID0gcCArIDE7CisJCQlnb3RvIGVuZGVkOworCQkJLyogQ3Vyc29yIHJpZ2h0LiAqLworCQljYXNlIEwnXHQnOgorCQkJcG9zICs9IFBHX1RBQlNJWkUgLSAocG9zICUgUEdfVEFCU0laRSk7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWlmIChpc3dwcmludCgqcCkpCisJCQkJcG9zICs9IHdjd2lkdGgoKnApOworCQkJZWxzZQorCQkJCXBvcyArPSB3Y3dpZHRoKEwnPycpOworCQl9CisJCWlmIChwb3MgPiBjb2wpIHsKKwkJCWlmICgqcCA9PSBMJ1x0JykKKwkJCQlwKys7CisJCQllbHNlIGlmIChwb3MgPiBjb2wgKyAxKQorCQkJCS8qIHdjd2lkdGgoKSBmb3VuZCBhIGNoYXJhY3RlciB0aGF0IGhhcworCQkJCSAqIG11bHRpcGxlIGNvbHVtbnMuICBXaGF0IGhhcHBlbnMgbm93PworCQkJCSAqIEFzc3VtZSB0aGUgdGVybWluYWwgd2lsbCBwcmludCB0aGUKKwkJCQkgKiBlbnRpcmUgY2hhcmFjdGVyIG9udG8gdGhlIG5leHQgcm93LiAqLworCQkJCXAtLTsKKwkJCWlmICgqKytwID09IEwnXG4nKQorCQkJCXArKzsKKwkJCWVuZCA9IHA7CisJCQlnb3RvIGVuZGVkOworCQl9CisJCXArKzsKKwl9CisJZW5kID0gcDsKKyBlbmRlZDoKKwkqZW5kID0gTCdcMCc7CisJcCA9IHdidWY7CisJaWYgKChwb3MgPSB3Y3N0b21icyhOVUxMLCBwLCBSRUFEQlVGKSkgPT0gKHNpemVfdCktMSkKKwkJcmV0dXJuIHMgKyAxOworCXJldHVybiBzICsgcG9zOworfQorI2VuZGlmCS8qIEhBVkVfV0lERUNIQVIgKi8KKworLyogUmV0dXJuIHRoZSBsYXN0IGNoYXJhY3RlciB0aGF0IHdpbGwgZml0IG9uIHRoZSBsaW5lIGF0IGNvbCBjb2x1bW5zLiAqLworc3RhdGljIGNoYXIgKmVuZGxpbmUodW5zaWduZWQgY29sLCBjaGFyICpzKQoreworCXVuc2lnbmVkIHBvcyA9IDA7CisJY2hhciAqdCA9IHM7CisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJaWYgKE1CX0NVUl9NQVggPiAxKQorCQlyZXR1cm4gZW5kbGluZV9mb3JfbWIoY29sLCBzKTsKKyNlbmRpZgorCisJd2hpbGUgKCpzICE9ICdcMCcpIHsKKwkJc3dpdGNoICgqcykgeworCQkJLyogQ3Vyc29yIGxlZnQuICovCisJCWNhc2UgJ1xiJzoKKwkJCWlmIChwb3MgPiAwKQorCQkJCXBvcy0tOworCQkJYnJlYWs7CisJCQkvKiBObyBjdXJzb3IgbW92ZW1lbnQuICovCisJCWNhc2UgJ1xhJzoKKwkJCWJyZWFrOworCQkJLyogU3BlY2lhbC4gKi8KKwkJY2FzZSAnXHInOgorCQkJcG9zID0gMDsKKwkJCWJyZWFrOworCQljYXNlICdcbic6CisJCQl0ID0gcyArIDE7CisJCQlnb3RvIGNlbmQ7CisJCQkvKiBDdXJzb3IgcmlnaHQuICovCisJCWNhc2UgJ1x0JzoKKwkJCXBvcyArPSBQR19UQUJTSVpFIC0gKHBvcyAlIFBHX1RBQlNJWkUpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlwb3MrKzsKKwkJfQorCQlpZiAocG9zID4gY29sKSB7CisJCQlpZiAoKnMgPT0gJ1x0JykKKwkJCQlzKys7CisJCQlpZiAoKisrcyA9PSAnXG4nKQorCQkJCXMrKzsKKwkJCXQgPSBzOworCQkJZ290byBjZW5kOworCQl9CisJCXMrKzsKKwl9CisJdCA9IHM7CisgY2VuZDoKKwlyZXR1cm4gdDsKK30KKworLyogQ2xlYXIgdGhlIGN1cnJlbnQgbGluZSBvbiB0aGUgdGVybWluYWwncyBzY3JlZW4uICovCitzdGF0aWMgdm9pZCBjbGluZSh2b2lkKQoreworCWNoYXIgKmJ1ZiA9IHhtYWxsb2ModHR5Y29scyArIDIpOworCW1lbXNldChidWYsICcgJywgdHR5Y29scyArIDIpOworCWJ1ZlswXSA9ICdccic7CisJYnVmW3R0eWNvbHMgKyAxXSA9ICdccic7CisJd3JpdGVfYWxsKFNURE9VVF9GSUxFTk8sIGJ1ZiwgdHR5Y29scyArIDIpOworCWZyZWUoYnVmKTsKK30KKworLyogRXZhbHVhdGUgYSBjb21tYW5kIGNoYXJhY3RlcidzIHNlbWFudGljcy4gKi8KK3N0YXRpYyBpbnQgZ2V0c3RhdGUoaW50IGMpCit7CisJc3dpdGNoIChjKSB7CisJY2FzZSAnMSc6CisJY2FzZSAnMic6CisJY2FzZSAnMyc6CisJY2FzZSAnNCc6CisJY2FzZSAnNSc6CisJY2FzZSAnNic6CisJY2FzZSAnNyc6CisJY2FzZSAnOCc6CisJY2FzZSAnOSc6CisJY2FzZSAnMCc6CisJY2FzZSAnXDAnOgorCQlyZXR1cm4gQ09VTlQ7CisJY2FzZSAnLSc6CisJY2FzZSAnKyc6CisJCXJldHVybiBTSUdOOworCWNhc2UgJ2wnOgorCWNhc2UgJ2QnOgorCWNhc2UgJ1wwMDQnOgorCWNhc2UgJ2YnOgorCWNhc2UgJ3onOgorCWNhc2UgJy4nOgorCWNhc2UgJ1wwMTQnOgorCWNhc2UgJyQnOgorCWNhc2UgJ24nOgorCWNhc2UgJ3AnOgorCWNhc2UgJ3cnOgorCWNhc2UgJ2gnOgorCWNhc2UgJ3EnOgorCWNhc2UgJ1EnOgorCQlyZXR1cm4gQ01EX0ZJTjsKKwljYXNlICcvJzoKKwljYXNlICc/JzoKKwljYXNlICdeJzoKKwkJcmV0dXJuIFNFQVJDSDsKKwljYXNlICdzJzoKKwljYXNlICchJzoKKwkJcmV0dXJuIFNUUklORzsKKwljYXNlICdtJzoKKwljYXNlICdiJzoKKwljYXNlICd0JzoKKwkJcmV0dXJuIEFERE9OX0ZJTjsKKwlkZWZhdWx0OgorI2lmZGVmIFBHX0JFTEwKKwkJaWYgKGJlbGwpCisJCQl0cHV0cyhiZWxsLCBTVERPVVRfRklMRU5PLCBvdXRjYXApOworI2VuZGlmCisJCXJldHVybiBJTlZBTElEOworCX0KK30KKworLyogR2V0IHRoZSBjb3VudCBhbmQgaWdub3JlIGxhc3QgY2hhcmFjdGVyIG9mIHN0cmluZy4gKi8KK3N0YXRpYyBpbnQgZ2V0Y291bnQoY2hhciAqY21kc3RyKQoreworCWNoYXIgKmJ1ZjsKKwljaGFyICpwOworCWludCBpOworCisJaWYgKCpjbWRzdHIgPT0gJ1wwJykKKwkJcmV0dXJuIDE7CisJYnVmID0geG1hbGxvYyhzdHJsZW4oY21kc3RyKSArIDEpOworCXN0cmNweShidWYsIGNtZHN0cik7CisJaWYgKGNtZC5rZXkgIT0gJ1wwJykgeworCQlpZiAoY21kLmtleSA9PSAnLycgfHwgY21kLmtleSA9PSAnPycgfHwgY21kLmtleSA9PSAnXicpIHsKKwkJCWlmICgocCA9IHN0cmNocihidWYsIGNtZC5rZXkpKSAhPSBOVUxMKQorCQkJCSpwID0gJ1wwJzsKKwkJfSBlbHNlCisJCQkqKGJ1ZiArIHN0cmxlbihidWYpIC0gMSkgPSAnXDAnOworCX0KKwlpZiAoKmJ1ZiA9PSAnXDAnKSB7CisJCWZyZWUoYnVmKTsKKwkJcmV0dXJuIDE7CisJfQorCWlmIChidWZbMF0gPT0gJy0nICYmIGJ1ZlsxXSA9PSAnXDAnKSB7CisJCWkgPSAtMTsKKwl9IGVsc2UgeworCQlpZiAoKmJ1ZiA9PSAnKycpCisJCQlpID0gYXRvaShidWYgKyAxKTsKKwkJZWxzZQorCQkJaSA9IGF0b2koYnVmKTsKKwl9CisJZnJlZShidWYpOworCXJldHVybiBpOworfQorCisvKiBSZWFkIHdoYXQgdGhlIHVzZXIgd3JpdGVzIGF0IHRoZSBwcm9tcHQuIFRoaXMgaXMgdHJpY2t5IGJlY2F1c2Ugd2UKKyAqIGNoZWNrIGZvciB2YWxpZCBpbnB1dC4gKi8KK3N0YXRpYyB2b2lkIHByb21wdChsb25nIGxvbmcgcGFnZW5vKQoreworCXN0cnVjdCB0ZXJtaW9zIHRpbzsKKwljaGFyIGtleTsKKwlpbnQgc3RhdGUgPSBDT1VOVDsKKwlpbnQgZXNjYXBlID0gMDsKKwljaGFyIGJbTElORV9NQVhdLCAqcDsKKworCWlmIChwYWdlbm8gIT0gLTEpIHsKKwkJaWYgKChwID0gc3Ryc3RyKHBzdHJpbmcsICIlZCIpKSA9PSBOVUxMKSB7CisJCQltZXNnKHBzdHJpbmcpOworCQl9IGVsc2UgeworCQkJc3RyY3B5KGIsIHBzdHJpbmcpOworCQkJc3ByaW50ZihiICsgKHAgLSBwc3RyaW5nKSwgIiVsbGQiLCBwYWdlbm8pOworCQkJc3RyY2F0KGIsIHAgKyAyKTsKKwkJCW1lc2coYik7CisJCX0KKwl9CisJY21kLmtleSA9IGNtZC5hZGRvbiA9IGNtZC5jbWRsaW5lWzBdID0gJ1wwJzsKKwljbWQuY21kbGVuID0gMDsKKwl0Y2dldGF0dHIoU1RET1VUX0ZJTEVOTywgJnRpbyk7CisJdGlvLmNfbGZsYWcgJj0gfihJQ0FOT04gfCBFQ0hPKTsKKwl0aW8uY19jY1tWTUlOXSA9IDE7CisJdGlvLmNfY2NbVlRJTUVdID0gMDsKKwl0Y3NldGF0dHIoU1RET1VUX0ZJTEVOTywgVENTQURSQUlOLCAmdGlvKTsKKwl0Y2ZsdXNoKFNURE9VVF9GSUxFTk8sIFRDSUZMVVNIKTsKKwlmb3IgKDs7KSB7CisJCXN3aXRjaCAocmVhZChTVERPVVRfRklMRU5PLCAma2V5LCAxKSkgeworCQljYXNlIDA6CisJCQlxdWl0KDApOworCQkJLyogTk9UUkVBQ0hFRCAqLworCQljYXNlIC0xOgorCQkJcXVpdCgxKTsKKwkJfQorCQlpZiAoa2V5ID09IHRpby5jX2NjW1ZFUkFTRV0pIHsKKwkJCWlmIChjbWQuY21kbGVuKSB7CisJCQkJd3JpdGVfYWxsKFNURE9VVF9GSUxFTk8sICJcYiBcYiIsIDMpOworCQkJCWNtZC5jbWRsaW5lWy0tY21kLmNtZGxlbl0gPSAnXDAnOworCQkJCXN3aXRjaCAoc3RhdGUpIHsKKwkJCQljYXNlIEFERE9OX0ZJTjoKKwkJCQkJc3RhdGUgPSBTRUFSQ0hfRklOOworCQkJCQljbWQuYWRkb24gPSAnXDAnOworCQkJCQlicmVhazsKKwkJCQljYXNlIENNRF9GSU46CisJCQkJCWNtZC5rZXkgPSAnXDAnOworCQkJCQlzdGF0ZSA9IENPVU5UOworCQkJCQlicmVhazsKKwkJCQljYXNlIFNFQVJDSF9GSU46CisJCQkJCXN0YXRlID0gU0VBUkNIOworCQkJCQkvKiBmYWxsdGhyb3VnaCAqLworCQkJCWNhc2UgU0VBUkNIOgorCQkJCQlpZiAoY21kLmNtZGxpbmVbY21kLmNtZGxlbiAtIDFdID09ICdcXCcpIHsKKwkJCQkJCWVzY2FwZSA9IDE7CisJCQkJCQl3aGlsZSAoY21kLmNtZGxpbmVbY21kLmNtZGxlbgorCQkJCQkJCQkgICAtIGVzY2FwZSAtIDFdCisJCQkJCQkgICAgICAgPT0gJ1xcJykKKwkJCQkJCQllc2NhcGUrKzsKKwkJCQkJCWVzY2FwZSAlPSAyOworCQkJCQl9IGVsc2UgeworCQkJCQkJZXNjYXBlID0gMDsKKwkJCQkJCWlmIChzdHJjaHIoY21kLmNtZGxpbmUsIGNtZC5rZXkpCisJCQkJCQkgICAgPT0gTlVMTCkgeworCQkJCQkJCWNtZC5rZXkgPSAnXDAnOworCQkJCQkJCXN0YXRlID0gQ09VTlQ7CisJCQkJCQl9CisJCQkJCX0KKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJfQorCQkJaWYgKGNtZC5jbWRsZW4gPT0gMCkgeworCQkJCXN0YXRlID0gQ09VTlQ7CisJCQkJY21kLmtleSA9ICdcMCc7CisJCQl9CisJCQljb250aW51ZTsKKwkJfQorCQlpZiAoa2V5ID09IHRpby5jX2NjW1ZLSUxMXSkgeworCQkJY2xpbmUoKTsKKwkJCWNtZC5jbWRsZW4gPSAwOworCQkJY21kLmNtZGxpbmVbMF0gPSAnXDAnOworCQkJc3RhdGUgPSBDT1VOVDsKKwkJCWNtZC5rZXkgPSAnXDAnOworCQkJY29udGludWU7CisJCX0KKwkJaWYgKGtleSA9PSAnXG4nIHx8IChuZmxhZyAmJiBzdGF0ZSA9PSBDT1VOVCAmJiBrZXkgPT0gJyAnKSkKKwkJCWJyZWFrOworCQlpZiAoY21kLmNtZGxlbiA+PSBDTURCVUYgLSAxKQorCQkJY29udGludWU7CisJCXN3aXRjaCAoc3RhdGUpIHsKKwkJY2FzZSBTVFJJTkc6CisJCQlicmVhazsKKwkJY2FzZSBTRUFSQ0g6CisJCQlpZiAoIWVzY2FwZSkgeworCQkJCWlmIChrZXkgPT0gY21kLmtleSkKKwkJCQkJc3RhdGUgPSBTRUFSQ0hfRklOOworCQkJCWlmIChrZXkgPT0gJ1xcJykKKwkJCQkJZXNjYXBlID0gMTsKKwkJCX0gZWxzZQorCQkJCWVzY2FwZSA9IDA7CisJCQlicmVhazsKKwkJY2FzZSBTRUFSQ0hfRklOOgorCQkJaWYgKGdldHN0YXRlKGtleSkgIT0gQURET05fRklOKQorCQkJCWNvbnRpbnVlOworCQkJc3RhdGUgPSBBRERPTl9GSU47CisJCQljbWQuYWRkb24gPSBrZXk7CisJCQlzd2l0Y2ggKGtleSkgeworCQkJY2FzZSAndCc6CisJCQkJc2VhcmNoZGlzcGxheSA9IFRPUDsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ20nOgorCQkJCXNlYXJjaGRpc3BsYXkgPSBNSURETEU7CisJCQkJYnJlYWs7CisJCQljYXNlICdiJzoKKwkJCQlzZWFyY2hkaXNwbGF5ID0gQk9UVE9NOworCQkJCWJyZWFrOworCQkJfQorCQkJYnJlYWs7CisJCWNhc2UgQ01EX0ZJTjoKKwkJY2FzZSBBRERPTl9GSU46CisJCQljb250aW51ZTsKKwkJZGVmYXVsdDoKKwkJCXN0YXRlID0gZ2V0c3RhdGUoa2V5KTsKKwkJCXN3aXRjaCAoc3RhdGUpIHsKKwkJCWNhc2UgU0lHTjoKKwkJCQlpZiAoY21kLmNtZGxlbiAhPSAwKSB7CisJCQkJCXN0YXRlID0gSU5WQUxJRDsKKwkJCQkJY29udGludWU7CisJCQkJfQorCQkJCXN0YXRlID0gQ09VTlQ7CisJCQkJLyogZmFsbHRocm91Z2ggKi8KKwkJCWNhc2UgQ09VTlQ6CisJCQkJYnJlYWs7CisJCQljYXNlIEFERE9OX0ZJTjoKKwkJCWNhc2UgSU5WQUxJRDoKKwkJCQljb250aW51ZTsKKwkJCWRlZmF1bHQ6CisJCQkJY21kLmtleSA9IGtleTsKKwkJCX0KKwkJfQorCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgJmtleSwgMSk7CisJCWNtZC5jbWRsaW5lW2NtZC5jbWRsZW4rK10gPSBrZXk7CisJCWNtZC5jbWRsaW5lW2NtZC5jbWRsZW5dID0gJ1wwJzsKKwkJaWYgKG5mbGFnICYmIHN0YXRlID09IENNRF9GSU4pCisJCQlnb3RvIGVuZHByb21wdDsKKwl9CisgZW5kcHJvbXB0OgorCXRjc2V0YXR0cihTVERPVVRfRklMRU5PLCBUQ1NBRFJBSU4sICZvdGlvKTsKKwljbGluZSgpOworCWNtZC5jb3VudCA9IGdldGNvdW50KGNtZC5jbWRsaW5lKTsKK30KKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKy8qIFJlbW92ZSBiYWNrc3BhY2UgZm9ybWF0dGluZywgZm9yIHNlYXJjaGVzIGluIGNhc2UgTUJfQ1VSX01BWCA+IDEuICovCitzdGF0aWMgY2hhciAqY29sYl9mb3JfbWIoY2hhciAqcykKK3sKKwljaGFyICpwID0gczsKKwl3Y2hhcl90ICp3cCwgKndxOworCXNpemVfdCBsID0gc3RybGVuKHMpLCB3bDsKKwl1bnNpZ25lZCBpOworCisJaWYgKCh3bCA9IHhtYnN0b3djcyh3YnVmLCBwLCBzaXplb2Ygd2J1ZikpID09IChzaXplX3QpLTEpCisJCXJldHVybiBzOworCWZvciAod3AgPSB3YnVmLCB3cSA9IHdidWYsIGkgPSAwOyAqd3AgIT0gTCdcMCcgJiYgaSA8IHdsOyB3cCsrLCB3cSsrKSB7CisJCWlmICgqd3AgPT0gTCdcYicpIHsKKwkJCWlmICh3cSAhPSB3YnVmKQorCQkJCXdxIC09IDI7CisJCQllbHNlCisJCQkJd3EtLTsKKwkJfSBlbHNlCisJCQkqd3EgPSAqd3A7CisJfQorCSp3cSA9IEwnXDAnOworCXdwID0gd2J1ZjsKKwl3Y3N0b21icyhzLCB3cCwgbCArIDEpOworCisJcmV0dXJuIHM7Cit9CisjZW5kaWYKKworLyogUmVtb3ZlIGJhY2tzcGFjZSBmb3JtYXR0aW5nLCBmb3Igc2VhcmNoZXMuICovCitzdGF0aWMgY2hhciAqY29sYihjaGFyICpzKQoreworCWNoYXIgKnAgPSBzLCAqcTsKKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKwlpZiAoTUJfQ1VSX01BWCA+IDEpCisJCXJldHVybiBjb2xiX2Zvcl9tYihzKTsKKyNlbmRpZgorCisJZm9yIChxID0gczsgKnAgIT0gJ1wwJzsgcCsrLCBxKyspIHsKKwkJaWYgKCpwID09ICdcYicpIHsKKwkJCWlmIChxICE9IHMpCisJCQkJcSAtPSAyOworCQkJZWxzZQorCQkJCXEtLTsKKwkJfSBlbHNlCisJCQkqcSA9ICpwOworCX0KKwkqcSA9ICdcMCc7CisKKwlyZXR1cm4gczsKK30KKworI2lmZGVmIEhBVkVfV0lERUNIQVIKKy8qIENvbnZlcnQgbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzIHRvIHNwYWNlcyBpbiBjYXNlIE1CX0NVUl9NQVggPiAxLiAgKi8KK3N0YXRpYyB2b2lkIG1ha2VwcmludF9mb3JfbWIoY2hhciAqcywgc2l6ZV90IGwpCit7CisJY2hhciAqdCA9IHM7CisJd2NoYXJfdCAqd3AgPSB3YnVmOworCXNpemVfdCB3bDsKKworCWlmICgod2wgPSB4bWJzdG93Y3Mod2J1ZiwgdCwgc2l6ZW9mIHdidWYpKSA9PSAoc2l6ZV90KS0xKQorCQlyZXR1cm47CisJd2hpbGUgKHdsLS0pIHsKKwkJaWYgKCFpc3dwcmludCgqd3ApICYmICp3cCAhPSBMJ1xuJyAmJiAqd3AgIT0gTCdccicKKwkJICAgICYmICp3cCAhPSBMJ1xiJyAmJiAqd3AgIT0gTCdcdCcpCisJCQkqd3AgPSBMJz8nOworCQl3cCsrOworCX0KKwl3cCA9IHdidWY7CisJd2NzdG9tYnMocywgd3AsIGwpOworfQorI2VuZGlmCisKKy8qIENvbnZlcnQgbm9uLXByaW50YWJsZSBjaGFyYWN0ZXJzIHRvIHNwYWNlcy4gKi8KK3N0YXRpYyB2b2lkIG1ha2VwcmludChjaGFyICpzLCBzaXplX3QgbCkKK3sKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisJaWYgKE1CX0NVUl9NQVggPiAxKSB7CisJCW1ha2VwcmludF9mb3JfbWIocywgbCk7CisJCXJldHVybjsKKwl9CisjZW5kaWYKKworCXdoaWxlIChsLS0pIHsKKwkJaWYgKCFpc3ByaW50KGN1YygqcykpICYmICpzICE9ICdcbicgJiYgKnMgIT0gJ1xyJworCQkgICAgJiYgKnMgIT0gJ1xiJyAmJiAqcyAhPSAnXHQnKQorCQkJKnMgPSAnPyc7CisJCXMrKzsKKwl9Cit9CisKKy8qIFN0cmlwIGJhY2tzbGFzaCBjaGFyYWN0ZXJzIGZyb20gdGhlIGdpdmVuIHN0cmluZy4gKi8KK3N0YXRpYyB2b2lkIHN0cmlwcnMoY2hhciAqcykKK3sKKwljaGFyICpwID0gczsKKworCWRvIHsKKwkJaWYgKCpzID09ICdcXCcpIHsKKwkJCXMrKzsKKwkJfQorCQkqcCsrID0gKnM7CisJfSB3aGlsZSAoKnMrKyAhPSAnXDAnKTsKK30KKworLyogRXh0cmFjdCB0aGUgc2VhcmNoIHBhdHRlcm4gb2ZmIHRoZSBjb21tYW5kIGxpbmUuICovCitzdGF0aWMgY2hhciAqbWFrZXBhdCh2b2lkKQoreworCWNoYXIgKnA7CisKKwlpZiAoY21kLmFkZG9uID09ICdcMCcpCisJCXAgPSBjbWQuY21kbGluZSArIHN0cmxlbihjbWQuY21kbGluZSkgLSAxOworCWVsc2UKKwkJcCA9IGNtZC5jbWRsaW5lICsgc3RybGVuKGNtZC5jbWRsaW5lKSAtIDI7CisJaWYgKCpwID09IGNtZC5rZXkpCisJCSpwID0gJ1wwJzsKKwllbHNlCisJCSoocCArIDEpID0gJ1wwJzsKKwlpZiAoKHAgPSBzdHJjaHIoY21kLmNtZGxpbmUsIGNtZC5rZXkpKSAhPSBOVUxMKSB7CisJCXArKzsKKwkJc3RyaXBycyhwKTsKKwl9CisJcmV0dXJuIHA7Cit9CisKKy8qIFByb2Nlc3MgZXJyb3JzIHRoYXQgb2NjdXJyZWQgaW4gdGVtcG9yYXJ5IGZpbGUgb3BlcmF0aW9ucy4gKi8KK3N0YXRpYyB2b2lkIF9fYXR0cmlidXRlX18oKF9fbm9yZXR1cm5fXykpIHRtcGVycihGSUxFICpmLCBjb25zdCBjaGFyICpmdHlwZSkKK3sKKwlpZiAoZmVycm9yKGYpKQorCQl3YXJuKF8oIlJlYWQgZXJyb3IgZnJvbSAlcyBmaWxlIiksIGZ0eXBlKTsKKwllbHNlIGlmIChmZW9mKGYpKQorCQkvKiBNb3N0IGxpa2VseSAnXDAnIGluIGlucHV0LiAqLworCQl3YXJueChfKCJVbmV4cGVjdGVkIEVPRiBpbiAlcyBmaWxlIiksIGZ0eXBlKTsKKwllbHNlCisJCXdhcm4oXygiVW5rbm93biBlcnJvciBpbiAlcyBmaWxlIiksIGZ0eXBlKTsKKwlxdWl0KCsrZXhpdHN0YXR1cyk7Cit9CisKKy8qIFJlYWQgdGhlIGZpbGUgYW5kIHJlc3BvbmQgdG8gdXNlciBpbnB1dC4gIEJld2FyZTogbG9uZyBhbmQgdWdseS4gKi8KK3N0YXRpYyB2b2lkIHBnZmlsZShGSUxFICpmLCBjb25zdCBjaGFyICpuYW1lKQoreworCW9mZl90IHBvcywgb2xkcG9zLCBmcG9zOworCS8qIFRoZXNlIGFyZSB0aGUgbGluZSBjb3VudGVyczoKKwkgKiAgIGxpbmUJdGhlIGxpbmUgZGVzaXJlZCB0byBkaXNwbGF5CisJICogICBmbGluZQl0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBpbnB1dCBmaWxlCisJICogICBibGluZQl0aGUgY3VycmVudCBsaW5lIG9mIHRoZSBmaWxlIGJ1ZmZlcgorCSAqICAgb2xkbGluZQl0aGUgbGluZSBiZWZvcmUgYSBzZWFyY2ggd2FzIHN0YXJ0ZWQKKwkgKiAgIGVvZmxpbmUJdGhlIGxhc3QgbGluZSBvZiB0aGUgZmlsZSBpZiBpdCBpcyBhbHJlYWR5IHJlYWNoZWQKKwkgKiAgIGRsaW5lCXRoZSBsaW5lIG9uIHRoZSBkaXNwbGF5ICovCisJb2ZmX3QgbGluZSA9IDAsIGZsaW5lID0gMCwgYmxpbmUgPSAwLCBvbGRsaW5lID0gMCwgZW9mbGluZSA9IDA7CisJaW50IGRsaW5lID0gMDsKKwlpbnQgc2VhcmNoID0gMDsKKwl1bnNpZ25lZCBzZWFyY2hjb3VudCA9IDA7CisJLyogQWR2YW5jZSB0byBFT0YgaW1tZWRpYXRlbHkuICovCisJaW50IHNlZWtlb2YgPSAwOworCS8qIEVPRiBoYXMgYmVlbiByZWFjaGVkIGJ5IGBsaW5lJy4gKi8KKwlpbnQgZW9mID0gMDsKKwkvKiBmIGFuZCBmYnVmIHJlZmVyIHRvIHRoZSBzYW1lIGZpbGUuICovCisJaW50IG5vYnVmID0gMDsKKwlpbnQgc2lnOworCWludCByZXJyb3I7CisJc2l6ZV90IHN6OworCWNoYXIgYltSRUFEQlVGICsgMV07CisJY2hhciAqcDsKKwkvKiAgIGZidWYJYW4gZXhhY3QgY29weSBvZiB0aGUgaW5wdXQgZmlsZSBhcyBpdCBnZXRzIHJlYWQKKwkgKiAgIGZpbmQJaW5kZXggdGFibGUgZm9yIGlucHV0LCBvbmUgZW50cnkgcGVyIGxpbmUKKwkgKiAgIHNhdmUJZm9yIHRoZSBzIGNvbW1hbmQsIHRvIHNhdmUgdG8gYSBmaWxlICovCisJRklMRSAqZmJ1ZiwgKmZpbmQsICpzYXZlOworCisJaWYgKG9udHR5ID09IDApIHsKKwkJLyogSnVzdCBjb3B5IHN0ZGluIHRvIHN0ZG91dC4gKi8KKwkJd2hpbGUgKChzeiA9IGZyZWFkKGIsIHNpemVvZiAqYiwgUkVBREJVRiwgZikpICE9IDApCisJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgYiwgc3opOworCQlpZiAoZmVycm9yKGYpKSB7CisJCQl3YXJuKCIlcyIsIG5hbWUpOworCQkJZXhpdHN0YXR1cysrOworCQl9CisJCXJldHVybjsKKwl9CisJaWYgKChmcG9zID0gZnNlZWtvKGYsIChvZmZfdCkwLCBTRUVLX1NFVCkpID09IC0xKQorCQlmYnVmID0gdG1wZmlsZSgpOworCWVsc2UgeworCQlmYnVmID0gZjsKKwkJbm9idWYgPSAxOworCX0KKwlmaW5kID0gdG1wZmlsZSgpOworCWlmIChmYnVmID09IE5VTEwgfHwgZmluZCA9PSBOVUxMKSB7CisJCXdhcm4oXygiQ2Fubm90IGNyZWF0ZSB0ZW1wb3JhcnkgZmlsZSIpKTsKKwkJcXVpdCgrK2V4aXRzdGF0dXMpOworCX0KKwlpZiAoc2VhcmNoZm9yKSB7CisJCXNlYXJjaCA9IEZPUldBUkQ7CisJCW9sZGxpbmUgPSAwOworCQlzZWFyY2hjb3VudCA9IDE7CisJCXJlcnJvciA9IHJlZ2NvbXAoJnJlLCBzZWFyY2hmb3IsIFJFR19OT1NVQiB8IFJFR19ORVdMSU5FKTsKKwkJaWYgKHJlcnJvciAhPSAwKSB7CisJCQltZXNnKF8oIlJFIGVycm9yOiAiKSk7CisJCQlyZWdlcnJvcihyZXJyb3IsICZyZSwgYiwgUkVBREJVRik7CisJCQltZXNnKGIpOworCQkJZ290byBuZXdjbWQ7CisJCX0KKwkJcmVtZW1iZXJlZCA9IDE7CisJfQorCisJZm9yIChsaW5lID0gc3RhcnRsaW5lOzspIHsKKwkJLyogR2V0IGEgbGluZSBmcm9tIGlucHV0IGZpbGUgb3IgYnVmZmVyLiAqLworCQlpZiAobGluZSA8IGJsaW5lKSB7CisJCQlmc2Vla28oZmluZCwgbGluZSAqIHNpemVvZiBwb3MsIFNFRUtfU0VUKTsKKwkJCWlmIChmcmVhZCgmcG9zLCBzaXplb2YgcG9zLCAxLCBmaW5kKSA9PSAwKQorCQkJCXRtcGVycihmaW5kLCAiaW5kZXgiKTsKKwkJCWZzZWVrbyhmaW5kLCAob2ZmX3QpMCwgU0VFS19FTkQpOworCQkJZnNlZWtvKGZidWYsIHBvcywgU0VFS19TRVQpOworCQkJaWYgKGZnZXRzKGIsIFJFQURCVUYsIGZidWYpID09IE5VTEwpCisJCQkJdG1wZXJyKGZidWYsICJidWZmZXIiKTsKKwkJfSBlbHNlIGlmIChlb2ZsaW5lID09IDApIHsKKwkJCWZzZWVrbyhmaW5kLCAob2ZmX3QpMCwgU0VFS19FTkQpOworCQkJZG8geworCQkJCWlmICghbm9idWYpCisJCQkJCWZzZWVrbyhmYnVmLCAob2ZmX3QpMCwgU0VFS19FTkQpOworCQkJCXBvcyA9IGZ0ZWxsbyhmYnVmKTsKKwkJCQlpZiAoKHNpZyA9IHNldGptcChqbXBlbnYpKSAhPSAwKSB7CisJCQkJCS8qIFdlIGdvdCBhIHNpZ25hbC4gKi8KKwkJCQkJY2FuanVtcCA9IDA7CisJCQkJCW15X3NpZ3JlbHNlKHNpZyk7CisJCQkJCWZzZWVrbyhmYnVmLCBwb3MsIFNFRUtfU0VUKTsKKwkJCQkJKmIgPSAnXDAnOworCQkJCQlkbGluZSA9IHBhZ2VsZW47CisJCQkJCWJyZWFrOworCQkJCX0gZWxzZSB7CisJCQkJCWlmIChub2J1ZikKKwkJCQkJCWZzZWVrbyhmLCBmcG9zLCBTRUVLX1NFVCk7CisJCQkJCWNhbmp1bXAgPSAxOworCQkJCQlwID0gZmdldHMoYiwgUkVBREJVRiwgZik7CisJCQkJCWlmIChub2J1ZikKKwkJCQkJCWlmICgoZnBvcyA9IGZ0ZWxsbyhmKSkgPT0gLTEpCisJCQkJCQkJd2FybigiJXMiLCBuYW1lKTsKKwkJCQkJY2FuanVtcCA9IDA7CisJCQkJfQorCQkJCWlmIChwID09IE5VTEwgfHwgKmIgPT0gJ1wwJykgeworCQkJCQlpZiAoZmVycm9yKGYpKQorCQkJCQkJd2FybigiJXMiLCBuYW1lKTsKKwkJCQkJZW9mbGluZSA9IGZsaW5lOworCQkJCQllb2YgPSAxOworCQkJCQlicmVhazsKKwkJCQl9IGVsc2UgeworCQkJCQlpZiAoIW5vYnVmKQorCQkJCQkJZnB1dHMoYiwgZmJ1Zik7CisJCQkJCWZ3cml0ZV9hbGwoJnBvcywgc2l6ZW9mIHBvcywgMSwgZmluZCk7CisJCQkJCWlmICghZmZsYWcpIHsKKwkJCQkJCW9sZHBvcyA9IHBvczsKKwkJCQkJCXAgPSBiOworCQkJCQkJd2hpbGUgKCoocCA9IGVuZGxpbmUodHR5Y29scywKKwkJCQkJCQkJICAgICBwKSkKKwkJCQkJCSAgICAgICAhPSAnXDAnKSB7CisJCQkJCQkJcG9zID0gb2xkcG9zICsgKHAgLSBiKTsKKwkJCQkJCQlmd3JpdGVfYWxsKCZwb3MsCisJCQkJCQkJCSAgIHNpemVvZiBwb3MsCisJCQkJCQkJCSAgIDEsIGZpbmQpOworCQkJCQkJCWZsaW5lKys7CisJCQkJCQkJYmxpbmUrKzsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQlmbGluZSsrOworCQkJCX0KKwkJCX0gd2hpbGUgKGxpbmUgPiBibGluZSsrKTsKKwkJfSBlbHNlIHsKKwkJCS8qIGVvZmxpbmUgIT0gMCAqLworCQkJZW9mID0gMTsKKwkJfQorCQlpZiAoc2VhcmNoID09IEZPUldBUkQgJiYgcmVtZW1iZXJlZCA9PSAxKSB7CisJCQlpZiAoZW9mKSB7CisJCQkJbGluZSA9IG9sZGxpbmU7CisJCQkJc2VhcmNoID0gc2VhcmNoY291bnQgPSAwOworCQkJCW1lc2coXygiUGF0dGVybiBub3QgZm91bmQiKSk7CisJCQkJZW9mID0gMDsKKwkJCQlnb3RvIG5ld2NtZDsKKwkJCX0KKwkJCWxpbmUrKzsKKwkJCWNvbGIoYik7CisJCQlpZiAocmVnZXhlYygmcmUsIGIsIDAsIE5VTEwsIDApID09IDApIHsKKwkJCQlzZWFyY2hjb3VudC0tOworCQkJfQorCQkJaWYgKHNlYXJjaGNvdW50ID09IDApIHsKKwkJCQlzZWFyY2ggPSBkbGluZSA9IDA7CisJCQkJc3dpdGNoIChzZWFyY2hkaXNwbGF5KSB7CisJCQkJY2FzZSBUT1A6CisJCQkJCWxpbmUgLT0gMTsKKwkJCQkJYnJlYWs7CisJCQkJY2FzZSBNSURETEU6CisJCQkJCWxpbmUgLT0gcGFnZWxlbiAvIDIgKyAxOworCQkJCQlicmVhazsKKwkJCQljYXNlIEJPVFRPTToKKwkJCQkJbGluZSAtPSBwYWdlbGVuOworCQkJCQlicmVhazsKKwkJCQl9CisJCQkJc2tpcCgxKTsKKwkJCX0KKwkJCWNvbnRpbnVlOworCQl9IGVsc2UgaWYgKGVvZikgeworCQkJLyogV2UgYXJlIG5vdCBzZWFyY2hpbmcuICovCisJCQlsaW5lID0gYmxpbmU7CisJCX0gZWxzZSBpZiAoKmIgIT0gJ1wwJykgeworCQkJaWYgKGNmbGFnICYmIGNsZWFyX3NjcmVlbikgeworCQkJCXN3aXRjaCAoZGxpbmUpIHsKKwkJCQljYXNlIDA6CisJCQkJCXRwdXRzKGNsZWFyX3NjcmVlbiwgU1RET1VUX0ZJTEVOTywKKwkJCQkJICAgICAgb3V0Y2FwKTsKKwkJCQkJZGxpbmUgPSAwOworCQkJCX0KKwkJCX0KKwkJCWxpbmUrKzsKKwkJCWlmIChlb2ZsaW5lICYmIGxpbmUgPT0gZW9mbGluZSkKKwkJCQllb2YgPSAxOworCQkJZGxpbmUrKzsKKwkJCWlmICgoc2lnID0gc2V0am1wKGptcGVudikpICE9IDApIHsKKwkJCQkvKiBXZSBnb3QgYSBzaWduYWwuICovCisJCQkJY2FuanVtcCA9IDA7CisJCQkJbXlfc2lncmVsc2Uoc2lnKTsKKwkJCQlkbGluZSA9IHBhZ2VsZW47CisJCQl9IGVsc2UgeworCQkJCXAgPSBlbmRsaW5lKHR0eWNvbHMsIGIpOworCQkJCXN6ID0gcCAtIGI7CisJCQkJbWFrZXByaW50KGIsIHN6KTsKKwkJCQljYW5qdW1wID0gMTsKKwkJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgYiwgc3opOworCQkJCWNhbmp1bXAgPSAwOworCQkJfQorCQl9CisJCWlmIChkbGluZSA+PSBwYWdlbGVuIHx8IGVvZikgeworCQkJLyogVGltZSBmb3IgcHJvbXB0aW5nISAqLworCQkJaWYgKGVvZiAmJiBzZWVrZW9mKSB7CisJCQkJZW9mID0gc2Vla2VvZiA9IDA7CisJCQkJaWYgKGxpbmUgPj0gcGFnZWxlbikKKwkJCQkJbGluZSAtPSBwYWdlbGVuOworCQkJCWVsc2UKKwkJCQkJbGluZSA9IDA7CisJCQkJZGxpbmUgPSAtMTsKKwkJCQljb250aW51ZTsKKwkJCX0KKyBuZXdjbWQ6CisJCQlpZiAoZW9mKSB7CisJCQkJaWYgKGZsaW5lID09IDAgfHwgZWZsYWcpCisJCQkJCWJyZWFrOworCQkJCW1lc2coXygiKEVPRikiKSk7CisJCQl9CisJCQlwcm9tcHQoKGxpbmUgLSAxKSAvIHBhZ2VsZW4gKyAxKTsKKwkJCXN3aXRjaCAoY21kLmtleSkgeworCQkJY2FzZSAnLyc6CisJCQkJLyogU2VhcmNoIGZvcndhcmQuICovCisJCQkJc2VhcmNoID0gRk9SV0FSRDsKKwkJCQlvbGRsaW5lID0gbGluZTsKKwkJCQlzZWFyY2hjb3VudCA9IGNtZC5jb3VudDsKKwkJCQlwID0gbWFrZXBhdCgpOworCQkJCWlmIChwICE9IE5VTEwgJiYgKnApIHsKKwkJCQkJaWYgKHJlbWVtYmVyZWQgPT0gMSkKKwkJCQkJCXJlZ2ZyZWUoJnJlKTsKKwkJCQkJcmVycm9yID0gcmVnY29tcCgmcmUsIHAsCisJCQkJCQkJIFJFR19OT1NVQiB8CisJCQkJCQkJIFJFR19ORVdMSU5FKTsKKwkJCQkJaWYgKHJlcnJvciAhPSAwKSB7CisJCQkJCQltZXNnKF8oIlJFIGVycm9yOiAiKSk7CisJCQkJCQlzeiA9IHJlZ2Vycm9yKHJlcnJvciwgJnJlLAorCQkJCQkJCSAgICAgIGIsIFJFQURCVUYpOworCQkJCQkJbWVzZyhiKTsKKwkJCQkJCWdvdG8gbmV3Y21kOworCQkJCQl9CisJCQkJCXJlbWVtYmVyZWQgPSAxOworCQkJCX0gZWxzZSBpZiAocmVtZW1iZXJlZCA9PSAwKSB7CisJCQkJCW1lc2coXygiTm8gcmVtZW1iZXJlZCBzZWFyY2ggc3RyaW5nIikpOworCQkJCQlnb3RvIG5ld2NtZDsKKwkJCQl9CisJCQkJY29udGludWU7CisJCQljYXNlICc/JzoKKwkJCWNhc2UgJ14nOgorCQkJCS8qIFNlYXJjaCBiYWNrd2FyZC4gKi8KKwkJCQlzZWFyY2ggPSBCQUNLV0FSRDsKKwkJCQlvbGRsaW5lID0gbGluZTsKKwkJCQlzZWFyY2hjb3VudCA9IGNtZC5jb3VudDsKKwkJCQlwID0gbWFrZXBhdCgpOworCQkJCWlmIChwICE9IE5VTEwgJiYgKnApIHsKKwkJCQkJaWYgKHJlbWVtYmVyZWQgPT0gMSkKKwkJCQkJCXJlZ2ZyZWUoJnJlKTsKKwkJCQkJcmVycm9yID0gcmVnY29tcCgmcmUsIHAsCisJCQkJCQkJIFJFR19OT1NVQiB8CisJCQkJCQkJIFJFR19ORVdMSU5FKTsKKwkJCQkJaWYgKHJlcnJvciAhPSAwKSB7CisJCQkJCQltZXNnKF8oIlJFIGVycm9yOiAiKSk7CisJCQkJCQlyZWdlcnJvcihyZXJyb3IsICZyZSwKKwkJCQkJCQkgYiwgUkVBREJVRik7CisJCQkJCQltZXNnKGIpOworCQkJCQkJZ290byBuZXdjbWQ7CisJCQkJCX0KKwkJCQkJcmVtZW1iZXJlZCA9IDE7CisJCQkJfSBlbHNlIGlmIChyZW1lbWJlcmVkID09IDApIHsKKwkJCQkJbWVzZyhfKCJObyByZW1lbWJlcmVkIHNlYXJjaCBzdHJpbmciKSk7CisJCQkJCWdvdG8gbmV3Y21kOworCQkJCX0KKwkJCQlsaW5lIC09IHBhZ2VsZW47CisJCQkJaWYgKGxpbmUgPD0gMCkKKwkJCQkJZ290byBub3Rmb3VuZF9idzsKKwkJCQl3aGlsZSAobGluZSkgeworCQkJCQlmc2Vla28oZmluZCwgLS1saW5lICogc2l6ZW9mIHBvcywKKwkJCQkJICAgICAgIFNFRUtfU0VUKTsKKwkJCQkJaWYgKGZyZWFkKCZwb3MsIHNpemVvZiBwb3MsIDEsIGZpbmQpID09CisJCQkJCSAgICAwKQorCQkJCQkJdG1wZXJyKGZpbmQsICJpbmRleCIpOworCQkJCQlmc2Vla28oZmluZCwgKG9mZl90KTAsIFNFRUtfRU5EKTsKKwkJCQkJZnNlZWtvKGZidWYsIHBvcywgU0VFS19TRVQpOworCQkJCQlpZiAoZmdldHMoYiwgUkVBREJVRiwgZmJ1ZikgPT0gTlVMTCkKKwkJCQkJCXRtcGVycihmYnVmLCAiYnVmZmVyIik7CisJCQkJCWNvbGIoYik7CisJCQkJCWlmIChyZWdleGVjKCZyZSwgYiwgMCwgTlVMTCwgMCkgPT0gMCkKKwkJCQkJCXNlYXJjaGNvdW50LS07CisJCQkJCWlmIChzZWFyY2hjb3VudCA9PSAwKQorCQkJCQkJZ290byBmb3VuZF9idzsKKwkJCQl9Cisgbm90Zm91bmRfYnc6CisJCQkJbGluZSA9IG9sZGxpbmU7CisJCQkJc2VhcmNoID0gc2VhcmNoY291bnQgPSAwOworCQkJCW1lc2coXygiUGF0dGVybiBub3QgZm91bmQiKSk7CisJCQkJZ290byBuZXdjbWQ7CisgZm91bmRfYnc6CisJCQkJZW9mID0gc2VhcmNoID0gZGxpbmUgPSAwOworCQkJCXNraXAoLTEpOworCQkJCXN3aXRjaCAoc2VhcmNoZGlzcGxheSkgeworCQkJCWNhc2UgVE9QOgorCQkJCQkvKiBsaW5lIC09IDE7ICovCisJCQkJCWJyZWFrOworCQkJCWNhc2UgTUlERExFOgorCQkJCQlsaW5lIC09IHBhZ2VsZW4gLyAyOworCQkJCQlicmVhazsKKwkJCQljYXNlIEJPVFRPTToKKwkJCQkJaWYgKGxpbmUgIT0gMCkKKwkJCQkJCWRsaW5lID0gLTE7CisJCQkJCWxpbmUgLT0gcGFnZWxlbjsKKwkJCQkJYnJlYWs7CisJCQkJfQorCQkJCWlmIChsaW5lIDwgMCkKKwkJCQkJbGluZSA9IDA7CisJCQkJY29udGludWU7CisJCQljYXNlICdzJzoKKwkJCQkvKiBTYXZlIHRvIGZpbGUuICovCisJCQkJcCA9IGNtZC5jbWRsaW5lOworCQkJCXdoaWxlICgqKytwID09ICcgJykgOworCQkJCWlmICgqcCA9PSAnXDAnKQorCQkJCQlnb3RvIG5ld2NtZDsKKwkJCQlzYXZlID0gZm9wZW4ocCwgIndiIik7CisJCQkJaWYgKHNhdmUgPT0gTlVMTCkgeworCQkJCQljbWQuY291bnQgPSBlcnJubzsKKwkJCQkJbWVzZyhfKCJjYW5ub3Qgb3BlbiAiKSk7CisJCQkJCW1lc2cocCk7CisJCQkJCW1lc2coIjogIik7CisJCQkJCW1lc2coc3RyZXJyb3IoY21kLmNvdW50KSk7CisJCQkJCWdvdG8gbmV3Y21kOworCQkJCX0KKwkJCQkvKiBBZHZhbmNlIHRvIEVPRi4gKi8KKwkJCQlmc2Vla28oZmluZCwgKG9mZl90KTAsIFNFRUtfRU5EKTsKKwkJCQlmb3IgKDs7KSB7CisJCQkJCWlmICghbm9idWYpCisJCQkJCQlmc2Vla28oZmJ1ZiwgKG9mZl90KTAsCisJCQkJCQkgICAgICAgU0VFS19FTkQpOworCQkJCQlwb3MgPSBmdGVsbG8oZmJ1Zik7CisJCQkJCWlmIChmZ2V0cyhiLCBSRUFEQlVGLCBmKSA9PSBOVUxMKSB7CisJCQkJCQllb2ZsaW5lID0gZmxpbmU7CisJCQkJCQlicmVhazsKKwkJCQkJfQorCQkJCQlpZiAoIW5vYnVmKQorCQkJCQkJZnB1dHMoYiwgZmJ1Zik7CisJCQkJCWZ3cml0ZV9hbGwoJnBvcywgc2l6ZW9mIHBvcywgMSwgZmluZCk7CisJCQkJCWlmICghZmZsYWcpIHsKKwkJCQkJCW9sZHBvcyA9IHBvczsKKwkJCQkJCXAgPSBiOworCQkJCQkJd2hpbGUgKCoocCA9IGVuZGxpbmUodHR5Y29scywKKwkJCQkJCQkJICAgICBwKSkKKwkJCQkJCSAgICAgICAhPSAnXDAnKSB7CisJCQkJCQkJcG9zID0gb2xkcG9zICsgKHAgLSBiKTsKKwkJCQkJCQlmd3JpdGVfYWxsKCZwb3MsCisJCQkJCQkJCSAgIHNpemVvZiBwb3MsCisJCQkJCQkJCSAgIDEsIGZpbmQpOworCQkJCQkJCWZsaW5lKys7CisJCQkJCQkJYmxpbmUrKzsKKwkJCQkJCX0KKwkJCQkJfQorCQkJCQlmbGluZSsrOworCQkJCQlibGluZSsrOworCQkJCX0KKwkJCQlmc2Vla28oZmJ1ZiwgKG9mZl90KTAsIFNFRUtfU0VUKTsKKwkJCQl3aGlsZSAoKHN6ID0gZnJlYWQoYiwgc2l6ZW9mICpiLCBSRUFEQlVGLAorCQkJCQkJICAgZmJ1ZikpICE9IDApIHsKKwkJCQkJLyogTm8gZXJyb3IgY2hlY2sgZm9yIGNvbXBhdC4gKi8KKwkJCQkJZndyaXRlX2FsbChiLCBzaXplb2YgKmIsIHN6LCBzYXZlKTsKKwkJCQl9CisJCQkJaWYgKGNsb3NlX3N0cmVhbShzYXZlKSAhPSAwKSB7CisJCQkJCWNtZC5jb3VudCA9IGVycm5vOworCQkJCQltZXNnKF8oIndyaXRlIGZhaWxlZCIpKTsKKwkJCQkJbWVzZygiOiAiKTsKKwkJCQkJbWVzZyhwKTsKKwkJCQkJbWVzZyhzdHJlcnJvcihjbWQuY291bnQpKTsKKwkJCQkJZ290byBuZXdjbWQ7CisJCQkJfQorCQkJCWZzZWVrbyhmYnVmLCAob2ZmX3QpMCwgU0VFS19FTkQpOworCQkJCW1lc2coXygic2F2ZWQiKSk7CisJCQkJZ290byBuZXdjbWQ7CisJCQljYXNlICdsJzoKKwkJCQkvKiBOZXh0IGxpbmUuICovCisJCQkJaWYgKCpjbWQuY21kbGluZSAhPSAnbCcpCisJCQkJCWVvZiA9IDA7CisJCQkJaWYgKGNtZC5jb3VudCA9PSAwKQorCQkJCQljbWQuY291bnQgPSAxOwkvKiBjb21wYXQgKi8KKwkJCQlpZiAoaXNkaWdpdChjdWMoKmNtZC5jbWRsaW5lKSkpIHsKKwkJCQkJbGluZSA9IGNtZC5jb3VudCAtIDI7CisJCQkJCWRsaW5lID0gMDsKKwkJCQl9IGVsc2UgeworCQkJCQlpZiAoY21kLmNvdW50ICE9IDEpIHsKKwkJCQkJCWxpbmUgKz0gY21kLmNvdW50IC0gMSAtIHBhZ2VsZW47CisJCQkJCQlkbGluZSA9IC0xOworCQkJCQkJc2tpcChjbWQuY291bnQpOworCQkJCQl9CisJCQkJCS8qIE5vdGhpbmcgdG8gZG8gaWYgKGNvdW50ID09IDEpICovCisJCQkJfQorCQkJCWJyZWFrOworCQkJY2FzZSAnZCc6CisJCQkJLyogSGFsZiBzY3JlZW4gZm9yd2FyZC4gKi8KKwkJCWNhc2UgJ1wwMDQnOgkvKiBeRCAqLworCQkJCWlmICgqY21kLmNtZGxpbmUgIT0gY21kLmtleSkKKwkJCQkJZW9mID0gMDsKKwkJCQlpZiAoY21kLmNvdW50ID09IDApCisJCQkJCWNtZC5jb3VudCA9IDE7CS8qIGNvbXBhdCAqLworCQkJCWxpbmUgKz0gKGNtZC5jb3VudCAqIHBhZ2VsZW4gLyAyKQorCQkJCSAgICAtIHBhZ2VsZW4gLSAxOworCQkJCWRsaW5lID0gLTE7CisJCQkJc2tpcChjbWQuY291bnQpOworCQkJCWJyZWFrOworCQkJY2FzZSAnZic6CisJCQkJLyogU2tpcCBmb3J3YXJkLiAqLworCQkJCWlmIChjbWQuY291bnQgPD0gMCkKKwkJCQkJY21kLmNvdW50ID0gMTsJLyogY29tcGF0ICovCisJCQkJbGluZSArPSBjbWQuY291bnQgKiBwYWdlbGVuIC0gMjsKKwkJCQlpZiAoZW9mKQorCQkJCQlsaW5lICs9IDI7CisJCQkJaWYgKCpjbWQuY21kbGluZSAhPSAnZicpCisJCQkJCWVvZiA9IDA7CisJCQkJZWxzZSBpZiAoZW9mKQorCQkJCQlicmVhazsKKwkJCQlpZiAoZW9mbGluZSAmJiBsaW5lID49IGVvZmxpbmUpCisJCQkJCWxpbmUgLT0gcGFnZWxlbjsKKwkJCQlkbGluZSA9IC0xOworCQkJCXNraXAoY21kLmNvdW50KTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ1wwJzoKKwkJCQkvKiBKdXN0IGEgbnVtYmVyLCBvciAnLScsIG9yIDxuZXdsaW5lPi4gKi8KKwkJCQlpZiAoY21kLmNvdW50ID09IDApCisJCQkJCWNtZC5jb3VudCA9IDE7CS8qIGNvbXBhdCAqLworCQkJCWlmIChpc2RpZ2l0KGN1YygqY21kLmNtZGxpbmUpKSkKKwkJCQkJbGluZSA9IChjbWQuY291bnQgLSAxKSAqIHBhZ2VsZW4gLSAyOworCQkJCWVsc2UKKwkJCQkJbGluZSArPSAoY21kLmNvdW50IC0gMSkKKwkJCQkJICAgICogKHBhZ2VsZW4gLSAxKSAtIDI7CisJCQkJaWYgKCpjbWQuY21kbGluZSAhPSAnXDAnKQorCQkJCQllb2YgPSAwOworCQkJCWlmIChjbWQuY291bnQgIT0gMSkgeworCQkJCQlza2lwKGNtZC5jb3VudCk7CisJCQkJCWRsaW5lID0gLTE7CisJCQkJfSBlbHNlIHsKKwkJCQkJZGxpbmUgPSAxOworCQkJCQlsaW5lICs9IDI7CisJCQkJfQorCQkJCWJyZWFrOworCQkJY2FzZSAnJCc6CisJCQkJLyogQWR2YW5jZSB0byBFT0YuICovCisJCQkJaWYgKCFlb2YpCisJCQkJCXNraXAoMSk7CisJCQkJZW9mID0gMDsKKwkJCQlsaW5lID0gTE9OR19NQVg7CisJCQkJc2Vla2VvZiA9IDE7CisJCQkJZGxpbmUgPSAtMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJy4nOgorCQkJY2FzZSAnXDAxNCc6CS8qIF5MICovCisJCQkJLyogUmVwYWludCBzY3JlZW4uICovCisJCQkJZW9mID0gMDsKKwkJCQlpZiAobGluZSA+PSBwYWdlbGVuKQorCQkJCQlsaW5lIC09IHBhZ2VsZW47CisJCQkJZWxzZQorCQkJCQlsaW5lID0gMDsKKwkJCQlkbGluZSA9IDA7CisJCQkJYnJlYWs7CisJCQljYXNlICchJzoKKwkJCQkvKiBTaGVsbCBlc2NhcGUuICovCisJCQkJaWYgKHJmbGFnKSB7CisJCQkJCW1lc2cocHJvZ3JhbV9pbnZvY2F0aW9uX3Nob3J0X25hbWUpOworCQkJCQltZXNnKF8oIjogIWNvbW1hbmQgbm90IGFsbG93ZWQgaW4gIgorCQkJCQkgICAgICAgInJmbGFnIG1vZGUuXG4iKSk7CisJCQkJfSBlbHNlIHsKKwkJCQkJcGlkX3QgY3BpZDsKKworCQkJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgY21kLmNtZGxpbmUsCisJCQkJCQkgIHN0cmxlbihjbWQuY21kbGluZSkpOworCQkJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgIlxuIiwgMSk7CisJCQkJCW15X3NpZ3NldChTSUdJTlQsIFNJR19JR04pOworCQkJCQlteV9zaWdzZXQoU0lHUVVJVCwgU0lHX0lHTik7CisJCQkJCXN3aXRjaCAoY3BpZCA9IGZvcmsoKSkgeworCQkJCQljYXNlIDA6CisJCQkJCXsKKwkJCQkJCWNvbnN0IGNoYXIgKnNoID0gZ2V0ZW52KCJTSEVMTCIpOworCQkJCQkJaWYgKCFzaCkKKwkJCQkJCQlzaCA9ICIvYmluL3NoIjsKKwkJCQkJCWlmICghbm9idWYpCisJCQkJCQkJZmNsb3NlKGZidWYpOworCQkJCQkJZmNsb3NlKGZpbmQpOworCQkJCQkJaWYgKGlzYXR0eSgwKSA9PSAwKSB7CisJCQkJCQkJY2xvc2UoMCk7CisJCQkJCQkJb3Blbih0dHksIE9fUkRPTkxZKTsKKwkJCQkJCX0gZWxzZSB7CisJCQkJCQkJZmNsb3NlKGYpOworCQkJCQkJfQorCQkJCQkJbXlfc2lnc2V0KFNJR0lOVCwgb2xkaW50KTsKKwkJCQkJCW15X3NpZ3NldChTSUdRVUlULCBvbGRxdWl0KTsKKwkJCQkJCW15X3NpZ3NldChTSUdURVJNLCBvbGR0ZXJtKTsKKwkJCQkJCWV4ZWNsKHNoLCBzaCwgIi1jIiwKKwkJCQkJCSAgICAgIGNtZC5jbWRsaW5lICsgMSwgTlVMTCk7CisJCQkJCQllcnJleGVjKHNoKTsKKwkJCQkJCWJyZWFrOworCQkJCQl9CisJCQkJCWNhc2UgLTE6CisJCQkJCQltZXNnKF8oImZvcmsoKSBmYWlsZWQsICIKKwkJCQkJCSAgICAgICAidHJ5IGFnYWluIGxhdGVyXG4iKSk7CisJCQkJCQlicmVhazsKKwkJCQkJZGVmYXVsdDoKKwkJCQkJCXdoaWxlICh3YWl0KE5VTEwpICE9IGNwaWQpIDsKKwkJCQkJfQorCQkJCQlteV9zaWdzZXQoU0lHSU5ULCBzaWdoYW5kbGVyKTsKKwkJCQkJbXlfc2lnc2V0KFNJR1FVSVQsIHNpZ2hhbmRsZXIpOworCQkJCQltZXNnKCIhXG4iKTsKKwkJCQl9CisJCQkJZ290byBuZXdjbWQ7CisJCQljYXNlICdoJzoKKwkJCQl7CisJCQkJCS8qIEhlbHAhICovCisJCQkJCWNvbnN0IGNoYXIgKmhlbHAgPSBfKGhlbHBzY3JlZW4pOworCQkJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgY29weXJpZ2h0LAorCQkJCQkJICBzdHJsZW4oY29weXJpZ2h0KSk7CisJCQkJCXdyaXRlX2FsbChTVERPVVRfRklMRU5PLCBoZWxwLAorCQkJCQkJICBzdHJsZW4oaGVscCkpOworCQkJCQlnb3RvIG5ld2NtZDsKKwkJCQl9CisJCQljYXNlICduJzoKKwkJCQkvKiBOZXh0IGZpbGUuICovCisJCQkJaWYgKGNtZC5jb3VudCA9PSAwKQorCQkJCQljbWQuY291bnQgPSAxOworCQkJCW5leHRmaWxlID0gY21kLmNvdW50OworCQkJCWlmIChjaGVja2YoKSkgeworCQkJCQluZXh0ZmlsZSA9IDE7CisJCQkJCWdvdG8gbmV3Y21kOworCQkJCX0KKwkJCQllb2YgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAncCc6CisJCQkJLyogUHJldmlvdXMgZmlsZS4gKi8KKwkJCQlpZiAoY21kLmNvdW50ID09IDApCisJCQkJCWNtZC5jb3VudCA9IDE7CisJCQkJbmV4dGZpbGUgPSAwIC0gY21kLmNvdW50OworCQkJCWlmIChjaGVja2YoKSkgeworCQkJCQluZXh0ZmlsZSA9IDE7CisJCQkJCWdvdG8gbmV3Y21kOworCQkJCX0KKwkJCQllb2YgPSAxOworCQkJCWJyZWFrOworCQkJY2FzZSAncSc6CisJCQljYXNlICdRJzoKKwkJCQkvKiBFeGl0IHBnLiAqLworCQkJCXF1aXQoZXhpdHN0YXR1cyk7CisJCQkJLyogTk9UUkVBQ0hFRCAqLworCQkJY2FzZSAndyc6CisJCQljYXNlICd6JzoKKwkJCQkvKiBTZXQgd2luZG93IHNpemUuICovCisJCQkJaWYgKGNtZC5jb3VudCA8IDApCisJCQkJCWNtZC5jb3VudCA9IDA7CisJCQkJaWYgKCpjbWQuY21kbGluZSAhPSBjbWQua2V5KQorCQkJCQlwYWdlbGVuID0gKytjbWQuY291bnQ7CisJCQkJZGxpbmUgPSAxOworCQkJCWJyZWFrOworCQkJfQorCQkJaWYgKGxpbmUgPD0gMCkgeworCQkJCWxpbmUgPSAwOworCQkJCWRsaW5lID0gMDsKKwkJCX0KKwkJCWlmIChjZmxhZyAmJiBkbGluZSA9PSAxKSB7CisJCQkJZGxpbmUgPSAwOworCQkJCWxpbmUtLTsKKwkJCX0KKwkJfQorCQlpZiAoZW9mKQorCQkJYnJlYWs7CisJfQorCWZjbG9zZShmaW5kKTsKKwlpZiAoIW5vYnVmKQorCQlmY2xvc2UoZmJ1Zik7Cit9CisKK3N0YXRpYyBpbnQgcGFyc2VfYXJndW1lbnRzKGludCBhcmcsIGludCBhcmdjLCBjaGFyICoqYXJndikKK3sKKwlGSUxFICppbnB1dDsKKworCWZpbGVzLmZpcnN0ID0gYXJnOworCWZpbGVzLmxhc3QgPSBhcmcgKyBhcmdjIC0gMTsKKwlmb3IgKDsgYXJndlthcmddOyBhcmcgKz0gbmV4dGZpbGUpIHsKKwkJbmV4dGZpbGUgPSAxOworCQlmaWxlcy5jdXJyZW50ID0gYXJnOworCQlpZiAoYXJnYyA+IDIpIHsKKwkJCXN0YXRpYyBpbnQgZmlyc3R0aW1lOworCQkJZmlyc3R0aW1lKys7CisJCQlpZiAoZmlyc3R0aW1lID4gMSkgeworCQkJCW1lc2coXygiKE5leHQgZmlsZTogIikpOworCQkJCW1lc2coYXJndlthcmddKTsKKwkJCQltZXNnKCIpIik7CisgbmV3ZmlsZToKKwkJCQlpZiAob250dHkpIHsKKwkJCQkJcHJvbXB0KC0xKTsKKwkJCQkJc3dpdGNoIChjbWQua2V5KSB7CisJCQkJCWNhc2UgJ24nOgorCQkJCQkJLyogTmV4dCBmaWxlLiAqLworCQkJCQkJaWYgKGNtZC5jb3VudCA9PSAwKQorCQkJCQkJCWNtZC5jb3VudCA9IDE7CisJCQkJCQluZXh0ZmlsZSA9IGNtZC5jb3VudDsKKwkJCQkJCWlmIChjaGVja2YoKSkgeworCQkJCQkJCW5leHRmaWxlID0gMTsKKwkJCQkJCQltZXNnKCI6Iik7CisJCQkJCQkJZ290byBuZXdmaWxlOworCQkJCQkJfQorCQkJCQkJY29udGludWU7CisJCQkJCWNhc2UgJ3AnOgorCQkJCQkJLyogUHJldmlvdXMgZmlsZS4gKi8KKwkJCQkJCWlmIChjbWQuY291bnQgPT0gMCkKKwkJCQkJCQljbWQuY291bnQgPSAxOworCQkJCQkJbmV4dGZpbGUgPSAwIC0gY21kLmNvdW50OworCQkJCQkJaWYgKGNoZWNrZigpKSB7CisJCQkJCQkJbmV4dGZpbGUgPSAxOworCQkJCQkJCW1lc2coIjoiKTsKKwkJCQkJCQlnb3RvIG5ld2ZpbGU7CisJCQkJCQl9CisJCQkJCQljb250aW51ZTsKKwkJCQkJY2FzZSAncSc6CisJCQkJCWNhc2UgJ1EnOgorCQkJCQkJcXVpdChleGl0c3RhdHVzKTsKKwkJCQkJfQorCQkJCX0gZWxzZQorCQkJCQltZXNnKCJcbiIpOworCQkJfQorCQl9CisJCWlmIChzdHJjbXAoYXJndlthcmddLCAiLSIpID09IDApCisJCQlpbnB1dCA9IHN0ZGluOworCQllbHNlIHsKKwkJCWlucHV0ID0gZm9wZW4oYXJndlthcmddLCAiciIpOworCQkJaWYgKGlucHV0ID09IE5VTEwpIHsKKwkJCQl3YXJuKCIlcyIsIGFyZ3ZbYXJnXSk7CisJCQkJZXhpdHN0YXR1cysrOworCQkJCWNvbnRpbnVlOworCQkJfQorCQl9CisJCWlmIChvbnR0eSA9PSAwICYmIGFyZ2MgPiAyKSB7CisJCQkvKiBVc2UgdGhlIHByZWZpeCBhcyBzcGVjaWZpZWQgYnkgU1VTdjIuICovCisJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgIjo6Ojo6Ojo6Ojo6Ojo6XG4iLCAxNSk7CisJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgYXJndlthcmddLCBzdHJsZW4oYXJndlthcmddKSk7CisJCQl3cml0ZV9hbGwoU1RET1VUX0ZJTEVOTywgIlxuOjo6Ojo6Ojo6Ojo6OjpcbiIsIDE2KTsKKwkJfQorCQlwZ2ZpbGUoaW5wdXQsIGFyZ3ZbYXJnXSk7CisJCWlmIChpbnB1dCAhPSBzdGRpbikKKwkJCWZjbG9zZShpbnB1dCk7CisJfQorCXJldHVybiBleGl0c3RhdHVzOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGFyZywgaTsKKwljaGFyICpwOworCisJeGFzcHJpbnRmKCZjb3B5cmlnaHQsCisJCSAgXygiJXMgJXMgQ29weXJpZ2h0IChjKSAyMDAwLTIwMDEgR3VubmFyIFJpdHRlci4gQWxsIHJpZ2h0cyByZXNlcnZlZC5cbiIpLAorCQkgIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lLCBQQUNLQUdFX1ZFUlNJT04pOworCisJc2V0bG9jYWxlKExDX0FMTCwgIiIpOworCWJpbmR0ZXh0ZG9tYWluKFBBQ0tBR0UsIExPQ0FMRURJUik7CisJdGV4dGRvbWFpbihQQUNLQUdFKTsKKwlhdGV4aXQoY2xvc2Vfc3Rkb3V0KTsKKworCWlmICh0Y2dldGF0dHIoU1RET1VUX0ZJTEVOTywgJm90aW8pID09IDApIHsKKwkJb250dHkgPSAxOworCQlvbGRpbnQgPSBteV9zaWdzZXQoU0lHSU5ULCBzaWdoYW5kbGVyKTsKKwkJb2xkcXVpdCA9IG15X3NpZ3NldChTSUdRVUlULCBzaWdoYW5kbGVyKTsKKwkJb2xkdGVybSA9IG15X3NpZ3NldChTSUdURVJNLCBzaWdoYW5kbGVyKTsKKwkJc2V0bG9jYWxlKExDX0NUWVBFLCAiIik7CisJCXNldGxvY2FsZShMQ19DT0xMQVRFLCAiIik7CisJCXR0eSA9IHR0eW5hbWUoU1RET1VUX0ZJTEVOTyk7CisJCXNldHVwdGVybShOVUxMLCBTVERPVVRfRklMRU5PLCAmdGluZm9zdGF0KTsKKwkJZ2V0d2luc2l6ZSgpOworCQloZWxwc2NyZWVuID0gXyhoZWxwc2NyZWVuKTsKKwl9CisJZm9yIChhcmcgPSAxOyBhcmd2W2FyZ107IGFyZysrKSB7CisJCWlmICgqYXJndlthcmddID09ICcrJykKKwkJCWNvbnRpbnVlOworCQlpZiAoKmFyZ3ZbYXJnXSAhPSAnLScgfHwgYXJndlthcmddWzFdID09ICdcMCcpCisJCQlicmVhazsKKwkJYXJnYy0tOworCisJCWlmICghc3RyY21wKGFyZ3ZbYXJnXSwgIi0taGVscCIpKSB7CisJCSAgICB1c2FnZSgpOworCQl9CisKKwkJaWYgKCFzdHJjbXAoYXJndlthcmddLCAiLS12ZXJzaW9uIikpIHsKKwkJICAgIHByaW50ZihVVElMX0xJTlVYX1ZFUlNJT04pOworCQkgICAgcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJfQorCisJCWZvciAoaSA9IDE7IGFyZ3ZbYXJnXVtpXTsgaSsrKSB7CisJCQlzd2l0Y2ggKGFyZ3ZbYXJnXVtpXSkgeworCQkJY2FzZSAnLSc6CisJCQkJaWYgKGkgIT0gMSB8fCBhcmd2W2FyZ11baSArIDFdKQorCQkJCQlpbnZvcHQoJmFyZ3ZbYXJnXVtpXSk7CisJCQkJZ290byBlbmRhcmdzOworCQkJY2FzZSAnMSc6CisJCQljYXNlICcyJzoKKwkJCWNhc2UgJzMnOgorCQkJY2FzZSAnNCc6CisJCQljYXNlICc1JzoKKwkJCWNhc2UgJzYnOgorCQkJY2FzZSAnNyc6CisJCQljYXNlICc4JzoKKwkJCWNhc2UgJzknOgorCQkJY2FzZSAnMCc6CisJCQkJcGFnZWxlbiA9IHN0cnRvbF9vcl9lcnIoYXJndlthcmddICsgMSwKKwkJCQkJCV8oImZhaWxlZCB0byBwYXJzZSBudW1iZXIgb2YgbGluZXMgcGVyIHBhZ2UiKSk7CisJCQkJaGF2ZXBhZ2VsZW4gPSAxOworCQkJCWdvdG8gbmV4dGFyZzsKKwkJCWNhc2UgJ2MnOgorCQkJCWNmbGFnID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ2UnOgorCQkJCWVmbGFnID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ2YnOgorCQkJCWZmbGFnID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ24nOgorCQkJCW5mbGFnID0gMTsKKwkJCQlicmVhazsKKwkJCWNhc2UgJ3AnOgorCQkJCWlmIChhcmd2W2FyZ11baSArIDFdKSB7CisJCQkJCXBzdHJpbmcgPSAmYXJndlthcmddW2kgKyAxXTsKKwkJCQl9IGVsc2UgaWYgKGFyZ3ZbKythcmddKSB7CisJCQkJCS0tYXJnYzsKKwkJCQkJcHN0cmluZyA9IGFyZ3ZbYXJnXTsKKwkJCQl9IGVsc2UKKwkJCQkJbmVlZGFyZygiLXAiKTsKKwkJCQlnb3RvIG5leHRhcmc7CisJCQljYXNlICdyJzoKKwkJCQlyZmxhZyA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdzJzoKKwkJCQlzZmxhZyA9IDE7CisJCQkJYnJlYWs7CisJCQljYXNlICdoJzoKKwkJCQl1c2FnZSgpOworCQkJY2FzZSAnVic6CisJCQkJcHJpbnRmKFVUSUxfTElOVVhfVkVSU0lPTik7CisJCQkJcmV0dXJuIEVYSVRfU1VDQ0VTUzsKKwkJCWRlZmF1bHQ6CisJCQkJaW52b3B0KCZhcmd2W2FyZ11baV0pOworCQkJfQorCQl9CisgbmV4dGFyZzoKKwkJOworCX0KKyBlbmRhcmdzOgorCWZvciAoYXJnID0gMTsgYXJndlthcmddOyBhcmcrKykgeworCQlpZiAoKmFyZ3ZbYXJnXSA9PSAnLScpIHsKKwkJCWlmIChhcmd2W2FyZ11bMV0gPT0gJy0nKSB7CisJCQkJYXJnKys7CisJCQkJYnJlYWs7CisJCQl9CisJCQlpZiAoYXJndlthcmddWzFdID09ICdcMCcpCisJCQkJYnJlYWs7CisJCQlpZiAoYXJndlthcmddWzFdID09ICdwJyAmJiBhcmd2W2FyZ11bMl0gPT0gJ1wwJykKKwkJCQlhcmcrKzsKKwkJCWNvbnRpbnVlOworCQl9CisJCWlmICgqYXJndlthcmddICE9ICcrJykKKwkJCWJyZWFrOworCQlhcmdjLS07CisJCXN3aXRjaCAoKihhcmd2W2FyZ10gKyAxKSkgeworCQljYXNlICdcMCc6CisJCQluZWVkYXJnKCIrIik7CisJCQkvKk5PVFJFQUNIRUQqLworCQljYXNlICcxJzoKKwkJY2FzZSAnMic6CisJCWNhc2UgJzMnOgorCQljYXNlICc0JzoKKwkJY2FzZSAnNSc6CisJCWNhc2UgJzYnOgorCQljYXNlICc3JzoKKwkJY2FzZSAnOCc6CisJCWNhc2UgJzknOgorCQljYXNlICcwJzoKKwkJCXN0YXJ0bGluZSA9IHN0cnRvbF9vcl9lcnIoYXJndlthcmddICsgMSwKKwkJCQkJXygiZmFpbGVkIHRvIHBhcnNlIG51bWJlciBvZiBsaW5lcyBwZXIgcGFnZSIpKTsKKwkJCWJyZWFrOworCQljYXNlICcvJzoKKwkJCXNlYXJjaGZvciA9IGFyZ3ZbYXJnXSArIDI7CisJCQlpZiAoKnNlYXJjaGZvciA9PSAnXDAnKQorCQkJCW5lZWRhcmcoIisvIik7CisJCQlwID0gc2VhcmNoZm9yICsgc3RybGVuKHNlYXJjaGZvcikgLSAxOworCQkJaWYgKCpwID09ICcvJykKKwkJCQkqcCA9ICdcMCc7CisJCQlpZiAoKnNlYXJjaGZvciA9PSAnXDAnKQorCQkJCW5lZWRhcmcoIisvIik7CisJCQlicmVhazsKKwkJZGVmYXVsdDoKKwkJCWludm9wdChhcmd2W2FyZ10pOworCQl9CisJfQorCWlmIChhcmdjID09IDEpCisJCXBnZmlsZShzdGRpbiwgInN0ZGluIik7CisJZWxzZQorCQlleGl0c3RhdHVzID0gcGFyc2VfYXJndW1lbnRzKGFyZywgYXJnYywgYXJndik7CisKKwlxdWl0KGV4aXRzdGF0dXMpOworCS8qIE5PVFJFQUNIRUQgKi8KKwlyZXR1cm4gMDsKK30KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvcmV2LjEgYi90ZXh0LXV0aWxzL3Jldi4xCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU2ZTFmMDkKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL3Jldi4xCkBAIC0wLDAgKzEsNTkgQEAKKy5cIiBDb3B5cmlnaHQgKGMpIDE5ODUsIDE5OTIgVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4KKy5cIiBBbGwgcmlnaHRzIHJlc2VydmVkLgorLlwiCisuXCIgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisuXCIgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisuXCIgYXJlIG1ldDoKKy5cIiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKy5cIiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorLlwiICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKy5cIiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorLlwiIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorLlwiICAgIG11c3QgZGlzcGxheSB0aGUgZm9sbG93aW5nIGFja25vd2xlZGdlbWVudDoKKy5cIglUaGlzIHByb2R1Y3QgaW5jbHVkZXMgc29mdHdhcmUgZGV2ZWxvcGVkIGJ5IHRoZSBVbml2ZXJzaXR5IG9mCisuXCIJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisuXCIgNC4gTmVpdGhlciB0aGUgbmFtZSBvZiB0aGUgVW5pdmVyc2l0eSBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMKKy5cIiAgICBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMgc29mdHdhcmUKKy5cIiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKy5cIgorLlwiIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIFJFR0VOVFMgQU5EIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisuXCIgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisuXCIgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UKKy5cIiBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBSRUdFTlRTIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUKKy5cIiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorLlwiIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTCisuXCIgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pCisuXCIgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKy5cIiBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZCisuXCIgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRgorLlwiIFNVQ0ggREFNQUdFLgorLlwiCisuXCIJQCgjKXJldi4xCTYuMyAoQmVya2VsZXkpIDMvMjEvOTIKKy5cIgorLlRIIFJFViAiMSIgIlNlcHRlbWJlciAyMDExIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQorcmV2IFwtIHJldmVyc2UgbGluZXMgY2hhcmFjdGVyd2lzZQorLlNIIFNZTk9QU0lTCisuQiByZXYKK1tvcHRpb25dCisuUkkgWyBmaWxlIC4uLl0KKy5TSCBERVNDUklQVElPTgorVGhlCisuQiByZXYKK3V0aWxpdHkgY29waWVzIHRoZSBzcGVjaWZpZWQgZmlsZXMgdG8gc3RhbmRhcmQgb3V0cHV0LCByZXZlcnNpbmcgdGhlIG9yZGVyIG9mCitjaGFyYWN0ZXJzIGluIGV2ZXJ5IGxpbmUuICBJZiBubyBmaWxlcyBhcmUgc3BlY2lmaWVkLCBzdGFuZGFyZCBpbnB1dCBpcyByZWFkLgorLlNIIE9QVElPTlMKKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBTRUUgQUxTTworLkJSIHRhYyAoMSkKKy5TSCBBVkFJTEFCSUxJVFkKK1RoZSByZXYgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvcmV2LmMgYi90ZXh0LXV0aWxzL3Jldi5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjEzYTQxZjYKLS0tIC9kZXYvbnVsbAorKysgYi90ZXh0LXV0aWxzL3Jldi5jCkBAIC0wLDAgKzEsMTgzIEBACisvKi0KKyAqIENvcHlyaWdodCAoYykgMTk4NywgMTk5MiBUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLgorICogQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICoKKyAqIE1vZGlmaWVkIGZvciBMaW51eCBieSBDaGFybGVzIEhhbm51bSAobXljcm9mdEBnbnUuYWkubWl0LmVkdSkKKyAqICAgICAgICAgICAgICAgICAgIGFuZCBCcmlhbiBLb2VobXN0ZWR0IChicGtAZ251LmFpLm1pdC5lZHUpCisgKgorICogV2VkIFNlcCAxNCAyMjoyNjowMCAxOTk0OiBQYXRjaCBmcm9tIGJqZG91bWEgPGJqZG91bWFAeHM0YWxsLm5sPiB0byBoYW5kbGUKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgbGFzdCBsaW5lIHRoYXQgaGFzIG5vIG5ld2xpbmUgY29ycmVjdGx5LgorICogMy1KdW4tMTk5ODogUGF0Y2hlZCBieSBOaWNvbGFpIExhbmdmZWxkdCB0byB3b3JrIGJldHRlciBvbiBMaW51eDoKKyAqCUhhbmRsZSBhbnktbGVuZ3RoLWxpbmVzLiAgQ29kZSBjb3BpZWQgZnJvbSB1dGlsLWxpbnV4JyBzZXRwd25hbS5jCisgKiAxOTk5LTAyLTIyIEFya2FkaXVzeiBNacWba2lld2ljeiA8bWlzaWVrQHBsZC5PUkcuUEw+CisgKglhZGRlZCBOYXRpdmUgTGFuZ3VhZ2UgU3VwcG9ydAorICogMTk5OS0wOS0xOSBCcnVubyBIYWlibGUgPGhhaWJsZUBjbGlzcC5jb25zLm9yZz4KKyAqCW1vZGlmaWVkIHRvIHdvcmsgY29ycmVjdGx5IGluIG11bHRpLWJ5dGUgbG9jYWxlcworICogSnVseSAyMDEwIC0gRGF2aWRsb2hyIEJ1ZXNvIDxkYXZlQGdudS5vcmc+CisgKiAgICAgIEZpeGVkIG1lbW9yeSBsZWFrcyAoaW5jbHVkaW5nIExpbnV4IHNpZ25hbCBoYW5kbGluZykKKyAqICAgICAgQWRkZWQgc29tZSBtZW1vcnkgYWxsb2NhdGlvbiBlcnJvciBoYW5kbGluZworICogICAgICBMb3dlcmVkIHRoZSBkZWZhdWx0IGJ1ZmZlciBzaXplIHRvIDI1NiwgaW5zdGVhZCBvZiA1MTIgYnl0ZXMKKyAqICAgICAgQ2hhbmdlZCB0YWIgaW5kZW50YXRpb24gdG8gOCBjaGFycyBmb3IgYmV0dGVyIHJlYWRpbmcgdGhlIGNvZGUKKyAqLworCisjaW5jbHVkZSA8c3RkYXJnLmg+CisjaW5jbHVkZSA8c3lzL3R5cGVzLmg+CisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHN0ZGxpYi5oPgorI2luY2x1ZGUgPHN0cmluZy5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgorI2luY2x1ZGUgPHNpZ25hbC5oPgorI2luY2x1ZGUgPGdldG9wdC5oPgorCisjaW5jbHVkZSAibmxzLmgiCisjaW5jbHVkZSAieGFsbG9jLmgiCisjaW5jbHVkZSAid2lkZWNoYXIuaCIKKyNpbmNsdWRlICJjLmgiCisjaW5jbHVkZSAiY2xvc2VzdHJlYW0uaCIKKworc3RhdGljIHZvaWQgc2lnX2hhbmRsZXIoaW50IHNpZ25vIF9fYXR0cmlidXRlX18gKChfX3VudXNlZF9fKSkpCit7CisJX2V4aXQoRVhJVF9TVUNDRVNTKTsKK30KKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnByaW50ZihvdXQsIF8oIlVzYWdlOiAlcyBbb3B0aW9uc10gW2ZpbGUgLi4uXVxuIiksCisJCXByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJSZXZlcnNlIGxpbmVzIGNoYXJhY3Rlcndpc2UuXG4iKSwgb3V0KTsKKworCWZwdXRzKFVTQUdFX09QVElPTlMsIG91dCk7CisJcHJpbnRmKFVTQUdFX0hFTFBfT1BUSU9OUygxNikpOworCXByaW50ZihVU0FHRV9NQU5fVEFJTCgicmV2KDEpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCByZXZlcnNlX3N0cih3Y2hhcl90ICpzdHIsIHNpemVfdCBuKQoreworCXNpemVfdCBpOworCisJZm9yIChpID0gMDsgaSA8IG4gLyAyOyArK2kpIHsKKwkJd2NoYXJfdCB0bXAgPSBzdHJbaV07CisJCXN0cltpXSA9IHN0cltuIC0gMSAtIGldOworCQlzdHJbbiAtIDEgLSBpXSA9IHRtcDsKKwl9Cit9CisKK2ludCBtYWluKGludCBhcmdjLCBjaGFyICphcmd2W10pCit7CisJY2hhciBjb25zdCAqZmlsZW5hbWUgPSAic3RkaW4iOworCXdjaGFyX3QgKmJ1ZjsKKwlzaXplX3QgbGVuLCBidWZzaXogPSBCVUZTSVo7CisJRklMRSAqZnAgPSBzdGRpbjsKKwlpbnQgY2gsIHJ2YWwgPSBFWElUX1NVQ0NFU1M7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJ2ZXJzaW9uIiwgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdWJyB9LAorCQl7ICJoZWxwIiwgICAgICAgbm9fYXJndW1lbnQsICAgICAgIE5VTEwsICdoJyB9LAorCQl7IE5VTEwsICAgICAgICAgMCwgTlVMTCwgMCB9CisJfTsKKworCXNldGxvY2FsZShMQ19BTEwsICIiKTsKKwliaW5kdGV4dGRvbWFpbihQQUNLQUdFLCBMT0NBTEVESVIpOworCXRleHRkb21haW4oUEFDS0FHRSk7CisJYXRleGl0KGNsb3NlX3N0ZG91dCk7CisKKwlzaWduYWwoU0lHSU5ULCBzaWdfaGFuZGxlcik7CisJc2lnbmFsKFNJR1RFUk0sIHNpZ19oYW5kbGVyKTsKKworCXdoaWxlICgoY2ggPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAiVmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2goY2gpIHsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCWV4aXQoRVhJVF9TVUNDRVNTKTsKKwkJY2FzZSAnaCc6CisJCQl1c2FnZSgpOworCQlkZWZhdWx0OgorCQkJZXJydHJ5aGVscChFWElUX0ZBSUxVUkUpOworCQl9CisKKwlhcmdjIC09IG9wdGluZDsKKwlhcmd2ICs9IG9wdGluZDsKKworCWJ1ZiA9IHhtYWxsb2MoYnVmc2l6ICogc2l6ZW9mKHdjaGFyX3QpKTsKKworCWRvIHsKKwkJaWYgKCphcmd2KSB7CisJCQlpZiAoKGZwID0gZm9wZW4oKmFyZ3YsICJyIikpID09IE5VTEwpIHsKKwkJCQl3YXJuKF8oImNhbm5vdCBvcGVuICVzIiksICphcmd2ICk7CisJCQkJcnZhbCA9IEVYSVRfRkFJTFVSRTsKKwkJCQkrK2FyZ3Y7CisJCQkJY29udGludWU7CisJCQl9CisJCQlmaWxlbmFtZSA9ICphcmd2Kys7CisJCX0KKworCQl3aGlsZSAoZmdldHdzKGJ1ZiwgYnVmc2l6LCBmcCkpIHsKKwkJCWxlbiA9IHdjc2xlbihidWYpOworCisJCQlpZiAobGVuID09IDApCisJCQkJY29udGludWU7CisKKwkJCS8qIFRoaXMgaXMgbXkgaGFjayBmcm9tIHNldHB3bmFtLmMgLWphbmwgKi8KKwkJCXdoaWxlIChidWZbbGVuLTFdICE9ICdcbicgJiYgIWZlb2YoZnApKSB7CisJCQkJLyogRXh0ZW5kIGlucHV0IGJ1ZmZlciBpZiBpdCBmYWlsZWQgZ2V0dGluZyB0aGUgd2hvbGUgbGluZSAqLworCQkJCS8qIFNvIG5vdyB3ZSBkb3VibGUgdGhlIGJ1ZmZlciBzaXplICovCisJCQkJYnVmc2l6ICo9IDI7CisKKwkJCQlidWYgPSB4cmVhbGxvYyhidWYsIGJ1ZnNpeiAqIHNpemVvZih3Y2hhcl90KSk7CisKKwkJCQkvKiBBbmQgZmlsbCB0aGUgcmVzdCBvZiB0aGUgYnVmZmVyICovCisJCQkJaWYgKCFmZ2V0d3MoJmJ1ZltsZW5dLCBidWZzaXovMiwgZnApKQorCQkJCQlicmVhazsKKworCQkJCWxlbiA9IHdjc2xlbihidWYpOworCQkJfQorCQkJaWYgKGJ1ZltsZW4gLSAxXSA9PSAnXG4nKQorCQkJCWJ1ZltsZW4tLV0gPSAnXDAnOworCQkJcmV2ZXJzZV9zdHIoYnVmLCBsZW4pOworCQkJZnB1dHdzKGJ1Ziwgc3Rkb3V0KTsKKwkJfQorCQlpZiAoZmVycm9yKGZwKSkgeworCQkJd2FybigiJXMiLCBmaWxlbmFtZSk7CisJCQlydmFsID0gRVhJVF9GQUlMVVJFOworCQl9CisJCWZjbG9zZShmcCk7CisJfSB3aGlsZSgqYXJndik7CisKKwlmcmVlKGJ1Zik7CisJcmV0dXJuIHJ2YWw7Cit9CisKZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvdWwuMSBiL3RleHQtdXRpbHMvdWwuMQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42NGY3ZjhkCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy91bC4xCkBAIC0wLDAgKzEsMTEzIEBACisuXCIgQ29weXJpZ2h0IChjKSAxOTgwLCAxOTkxLCAxOTkzCisuXCIJVGhlIFJlZ2VudHMgb2YgdGhlIFVuaXZlcnNpdHkgb2YgQ2FsaWZvcm5pYS4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisuXCIKKy5cIiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKy5cIiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKy5cIiBhcmUgbWV0OgorLlwiIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorLlwiIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisuXCIgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorLlwiICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisuXCIgMy4gQWxsIGFkdmVydGlzaW5nIG1hdGVyaWFscyBtZW50aW9uaW5nIGZlYXR1cmVzIG9yIHVzZSBvZiB0aGlzIHNvZnR3YXJlCisuXCIgICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorLlwiCVRoaXMgcHJvZHVjdCBpbmNsdWRlcyBzb2Z0d2FyZSBkZXZlbG9wZWQgYnkgdGhlIFVuaXZlcnNpdHkgb2YKKy5cIglDYWxpZm9ybmlhLCBCZXJrZWxleSBhbmQgaXRzIGNvbnRyaWJ1dG9ycy4KKy5cIiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworLlwiICAgIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZQorLlwiICAgIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorLlwiCisuXCIgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgUkVHRU5UUyBBTkQgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKy5cIiBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKy5cIiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorLlwiIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIFJFR0VOVFMgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRQorLlwiIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisuXCIgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKy5cIiBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikKKy5cIiBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVAorLlwiIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKy5cIiBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GCisuXCIgU1VDSCBEQU1BR0UuCisuXCIKKy5cIiAgICAgQCgjKXVsLjEJOC4xIChCZXJrZWxleSkgNi82LzkzCisuXCIKKy5USCBVTCAiMSIgIlNlcHRlbWJlciAyMDExIiAidXRpbC1saW51eCIgIlVzZXIgQ29tbWFuZHMiCisuU0ggTkFNRQordWwgXC0gZG8gdW5kZXJsaW5pbmcKKy5TSCBTWU5PUFNJUworLkJSIHVsICIgW29wdGlvbnNdIgorLlJJIFsgZmlsZSAuLi5dCisuU0ggREVTQ1JJUFRJT04KKy5CIHVsCityZWFkcyB0aGUgbmFtZWQgZmlsZXMgKG9yIHN0YW5kYXJkIGlucHV0IGlmIG5vbmUgYXJlIGdpdmVuKSBhbmQgdHJhbnNsYXRlcworb2NjdXJyZW5jZXMgb2YgdW5kZXJzY29yZXMgdG8gdGhlIHNlcXVlbmNlIHdoaWNoIGluZGljYXRlcyB1bmRlcmxpbmluZyBmb3IKK3RoZSB0ZXJtaW5hbCBpbiB1c2UsIGFzIHNwZWNpZmllZCBieSB0aGUgZW52aXJvbm1lbnQgdmFyaWFibGUKKy5CUiBURVJNIC4KK1RoZQorLkkgdGVybWluZm8KK2RhdGFiYXNlIGlzIHJlYWQgdG8gZGV0ZXJtaW5lIHRoZSBhcHByb3ByaWF0ZSBzZXF1ZW5jZXMgZm9yIHVuZGVybGluaW5nLiAgSWYKK3RoZSB0ZXJtaW5hbCBpcyBpbmNhcGFibGUgb2YgdW5kZXJsaW5pbmcgYnV0IGlzIGNhcGFibGUgb2YgYSBzdGFuZG91dCBtb2RlLAordGhlbiB0aGF0IGlzIHVzZWQgaW5zdGVhZC4gIElmIHRoZSB0ZXJtaW5hbCBjYW4gb3ZlcnN0cmlrZSwgb3IgaGFuZGxlcwordW5kZXJsaW5pbmcgYXV0b21hdGljYWxseSwKKy5CIHVsCitkZWdlbmVyYXRlcyB0bworLkJSIGNhdCAoMSkuCitJZiB0aGUgdGVybWluYWwgY2Fubm90IHVuZGVybGluZSwgdW5kZXJsaW5pbmcgaXMgaWdub3JlZC4KKy5TSCBPUFRJT05TCisuVFAKK1xmQlwtaVxmUiwgXGZCXC1cLWluZGljYXRlZFxmUgorVW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIGJ5IGEgc2VwYXJhdGUgbGluZSBjb250YWluaW5nIGFwcHJvcHJpYXRlIGRhc2hlcworYFwtJzsgdGhpcyBpcyB1c2VmdWwgd2hlbiB5b3Ugd2FudCB0byBsb29rIGF0IHRoZSB1bmRlcmxpbmluZyB3aGljaCBpcworcHJlc2VudCBpbiBhbgorLkIgbnJvZmYKK291dHB1dCBzdHJlYW0gb24gYSBjcnQtdGVybWluYWwuCisuVFAKK1xmQlwtdFxmUiwgXGZCXC1UXGZSLCBcZkJcLVwtdGVybWluYWxcZlIgXGZJdGVybWluYWxcZlIKK092ZXJyaWRlIHRoZSBlbnZpcm9ubWVudCB2YXJpYWJsZQorLkIgVEVSTQord2l0aCB0aGUgc3BlY2lmaWVkCisuSSB0ZXJtaW5hbAordHlwZS4KKy5UUAorXGZCXC1WXGZSLCBcZkJcLVwtdmVyc2lvblxmUgorRGlzcGxheSB2ZXJzaW9uIGluZm9ybWF0aW9uIGFuZCBleGl0LgorLlRQCitcZkJcLWhcZlIsIFxmQlwtXC1oZWxwXGZSCitEaXNwbGF5IGhlbHAgdGV4dCBhbmQgZXhpdC4KKy5TSCBFTlZJUk9OTUVOVAorVGhlIGZvbGxvd2luZyBlbnZpcm9ubWVudCB2YXJpYWJsZSBpcyB1c2VkOgorLlRQCisuQiBURVJNCitUaGUKKy5CIFRFUk0KK3ZhcmlhYmxlIGlzIHVzZWQgdG8gcmVsYXRlIGEgdHR5IGRldmljZSB3aXRoIGl0cyBkZXZpY2UgY2FwYWJpbGl0eQorZGVzY3JpcHRpb24gKHNlZQorLkJSIHRlcm1pbmZvICg1KSkuCisuQiBURVJNCitpcyBzZXQgYXQgbG9naW4gdGltZSwgZWl0aGVyIGJ5IHRoZSBkZWZhdWx0IHRlcm1pbmFsIHR5cGUgc3BlY2lmaWVkIGluCisuSSAvZXRjL3R0eXMKK29yIGFzIHNldCBkdXJpbmcgdGhlIGxvZ2luIHByb2Nlc3MgYnkgdGhlIHVzZXIgaW4gdGhlaXIKKy5CIGxvZ2luCitmaWxlIChzZWUKKy5CUiBzZXRlbnYgKDEpKS4KKy5TSCBTRUUgQUxTTworLkJSIGNvbGNydCAoMSksCisuQlIgbG9naW4gKDEpLAorLkJSIG1hbiAoMSksCisuQlIgbnJvZmYgKDEpLAorLkJSIHNldGVudiAoMSksCisuQlIgdGVybWluZm8gKDUpCisuU0ggQlVHUworLkIgbnJvZmYKK3VzdWFsbHkgb3V0cHV0cyBhIHNlcmllcyBvZiBiYWNrc3BhY2VzIGFuZCB1bmRlcmxpbmVzIGludGVybWl4ZWQgd2l0aCB0aGUKK3RleHQgdG8gaW5kaWNhdGUgdW5kZXJsaW5pbmcuICBObyBhdHRlbXB0IGlzIG1hZGUgdG8gb3B0aW1pemUgdGhlIGJhY2t3YXJkCittb3Rpb24uCisuU0ggSElTVE9SWQorVGhlCisuQiB1bAorY29tbWFuZCBhcHBlYXJlZCBpbiAzLjBCU0QuCisuU0ggQVZBSUxBQklMSVRZCitUaGUgdWwgY29tbWFuZCBpcyBwYXJ0IG9mIHRoZSB1dGlsLWxpbnV4IHBhY2thZ2UgYW5kIGlzIGF2YWlsYWJsZSBmcm9tCisuVVIgaHR0cHM6Ly9cOnd3dy5rZXJuZWwub3JnXDovcHViXDovbGludXhcOi91dGlsc1w6L3V0aWwtbGludXgvCitMaW51eCBLZXJuZWwgQXJjaGl2ZQorLlVFIC4KZGlmZiAtLWdpdCBhL3RleHQtdXRpbHMvdWwuYyBiL3RleHQtdXRpbHMvdWwuYwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iNWNlNGRiCi0tLSAvZGV2L251bGwKKysrIGIvdGV4dC11dGlscy91bC5jCkBAIC0wLDAgKzEsNjUzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAxOTgwLCAxOTkzCisgKglUaGUgUmVnZW50cyBvZiB0aGUgVW5pdmVyc2l0eSBvZiBDYWxpZm9ybmlhLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIEFsbCBhZHZlcnRpc2luZyBtYXRlcmlhbHMgbWVudGlvbmluZyBmZWF0dXJlcyBvciB1c2Ugb2YgdGhpcyBzb2Z0d2FyZQorICogICAgbXVzdCBkaXNwbGF5IHRoZSBmb2xsb3dpbmcgYWNrbm93bGVkZ2VtZW50OgorICoJVGhpcyBwcm9kdWN0IGluY2x1ZGVzIHNvZnR3YXJlIGRldmVsb3BlZCBieSB0aGUgVW5pdmVyc2l0eSBvZgorICoJQ2FsaWZvcm5pYSwgQmVya2VsZXkgYW5kIGl0cyBjb250cmlidXRvcnMuCisgKiA0LiBOZWl0aGVyIHRoZSBuYW1lIG9mIHRoZSBVbml2ZXJzaXR5IG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycworICogICAgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlCisgKiAgICB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBSRUdFTlRTIEFORCBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorICogQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRQorICogQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgUkVHRU5UUyBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFCisgKiBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorICogREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMKKyAqIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKQorICogSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QKKyAqIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkKKyAqIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YKKyAqIFNVQ0ggREFNQUdFLgorICovCisKKy8qCisgKiBtb2RpZmllZCBieSBLYXJzIGRlIEpvbmcgPGpvbmdrQGNzLnV0d2VudGUubmw+CisgKgl0byB1c2UgdGVybWluZm8gaW5zdGVhZCBvZiB0ZXJtY2FwLgorICogMTk5OS0wMi0yMiBBcmthZGl1c3ogTWnFm2tpZXdpY3ogPG1pc2lla0BwbGQuT1JHLlBMPgorICogCWFkZGVkIE5hdGl2ZSBMYW5ndWFnZSBTdXBwb3J0CisgKiAxOTk5LTA5LTE5IEJydW5vIEhhaWJsZSA8aGFpYmxlQGNsaXNwLmNvbnMub3JnPgorICogCW1vZGlmaWVkIHRvIHdvcmsgY29ycmVjdGx5IGluIG11bHRpLWJ5dGUgbG9jYWxlcworICovCisKKyNpbmNsdWRlIDxzdGRpby5oPgorI2luY2x1ZGUgPHVuaXN0ZC5oPgkJLyogZm9yIGdldG9wdCgpLCBpc2F0dHkoKSAqLworI2luY2x1ZGUgPHN0cmluZy5oPgkJLyogZm9yIG1lbXNldCgpLCBzdHJjcHkoKSAqLworI2luY2x1ZGUgPHN0ZGxpYi5oPgkJLyogZm9yIGdldGVudigpICovCisjaW5jbHVkZSA8bGltaXRzLmg+CQkvKiBmb3IgSU5UX01BWCAqLworI2luY2x1ZGUgPHNpZ25hbC5oPgkJLyogZm9yIHNpZ25hbCgpICovCisjaW5jbHVkZSA8ZXJybm8uaD4KKyNpbmNsdWRlIDxnZXRvcHQuaD4KKworI2lmIGRlZmluZWQoSEFWRV9OQ1VSU0VTV19URVJNX0gpCisjIGluY2x1ZGUgPG5jdXJzZXN3L3Rlcm0uaD4KKyNlbGlmIGRlZmluZWQoSEFWRV9OQ1VSU0VTX1RFUk1fSCkKKyMgaW5jbHVkZSA8bmN1cnNlcy90ZXJtLmg+CisjZWxpZiBkZWZpbmVkKEhBVkVfVEVSTV9IKQorIyBpbmNsdWRlIDx0ZXJtLmg+CisjZW5kaWYKKworI2luY2x1ZGUgIm5scy5oIgorI2luY2x1ZGUgInhhbGxvYy5oIgorI2luY2x1ZGUgIndpZGVjaGFyLmgiCisjaW5jbHVkZSAiYy5oIgorI2luY2x1ZGUgImNsb3Nlc3RyZWFtLmgiCisKKyNpZmRlZiBIQVZFX1dJREVDSEFSCisvKiBPdXRwdXQgYW4gQVNDSUkgY2hhcmFjdGVyIGFzIGEgd2lkZSBjaGFyYWN0ZXIgKi8KK3N0YXRpYyBpbnQgcHV0MXdjKGludCBjKQoreworCWlmIChwdXR3Y2hhcihjKSA9PSBXRU9GKQorCQlyZXR1cm4gRU9GOworCWVsc2UKKwkJcmV0dXJuIGM7Cit9CisjZGVmaW5lIHB1dHdwKHMpIHRwdXRzKHMsIFNURE9VVF9GSUxFTk8sIHB1dDF3YykKKyNlbHNlCisjZGVmaW5lIHB1dHdwKHMpIHB1dHAocykKKyNlbmRpZgorCitzdGF0aWMgaW50IGhhbmRsZV9lc2NhcGUoRklMRSAqIGYpOworc3RhdGljIHZvaWQgZmlsdGVyKEZJTEUgKmYpOworc3RhdGljIHZvaWQgZmx1c2hsbih2b2lkKTsKK3N0YXRpYyB2b2lkIG92ZXJzdHJpa2Uodm9pZCk7CitzdGF0aWMgdm9pZCBpYXR0cih2b2lkKTsKK3N0YXRpYyB2b2lkIGluaXRidWYodm9pZCk7CitzdGF0aWMgdm9pZCBmd2Qodm9pZCk7CitzdGF0aWMgdm9pZCByZXZlcnNlKHZvaWQpOworc3RhdGljIHZvaWQgaW5pdGluZm8odm9pZCk7CitzdGF0aWMgdm9pZCBvdXRjKHdpbnRfdCBjLCBpbnQgd2lkdGgpOworc3RhdGljIHZvaWQgeHNldG1vZGUoaW50IG5ld21vZGUpOworc3RhdGljIHZvaWQgc2V0Y29sKGludCBuZXdjb2wpOworc3RhdGljIHZvaWQgbmVlZGNvbChpbnQgY29sKTsKK3N0YXRpYyB2b2lkIHNpZ19oYW5kbGVyKGludCBzaWdubyk7CitzdGF0aWMgdm9pZCBwcmludF9vdXQoY2hhciAqbGluZSk7CisKKyNkZWZpbmUJSUVTQwknXDAzMycKKyNkZWZpbmUJU08JJ1wwMTYnCisjZGVmaW5lCVNJCSdcMDE3JworI2RlZmluZQlIRldECSc5JworI2RlZmluZQlIUkVWCSc4JworI2RlZmluZQlGUkVWCSc3JworCisjZGVmaW5lCU5PUk1BTAkwMDAKKyNkZWZpbmUJQUxUU0VUCTAwMQkvKiBSZXZlcnNlICovCisjZGVmaW5lCVNVUEVSU0MJMDAyCS8qIERpbSAqLworI2RlZmluZQlTVUJTQwkwMDQJLyogRGltIHwgVWwgKi8KKyNkZWZpbmUJVU5ERVJMCTAxMAkvKiBVbCAqLworI2RlZmluZQlCT0xECTAyMAkvKiBCb2xkICovCisKK3N0YXRpYyBpbnQJbXVzdF91c2VfdWMsIG11c3Rfb3ZlcnN0cmlrZTsKK3N0YXRpYyBjaGFyCSpDVVJTX1VQLAorCQkqQ1VSU19SSUdIVCwKKwkJKkNVUlNfTEVGVCwKKwkJKkVOVEVSX1NUQU5ET1VULAorCQkqRVhJVF9TVEFORE9VVCwKKwkJKkVOVEVSX1VOREVSTElORSwKKwkJKkVYSVRfVU5ERVJMSU5FLAorCQkqRU5URVJfRElNLAorCQkqRU5URVJfQk9MRCwKKwkJKkVOVEVSX1JFVkVSU0UsCisJCSpVTkRFUl9DSEFSLAorCQkqRVhJVF9BVFRSSUJVVEVTOworCitzdHJ1Y3QgQ0hBUiB7CisJY2hhcgljX21vZGU7CisJd2NoYXJfdAljX2NoYXI7CisJaW50CWNfd2lkdGg7Cit9OworCitzdGF0aWMgc3RydWN0CUNIQVIJKm9idWY7CitzdGF0aWMgaW50CW9idWZsZW47CitzdGF0aWMgaW50CWNvbCwgbWF4Y29sOworc3RhdGljIGludAltb2RlOworc3RhdGljIGludAloYWxmcG9zOworc3RhdGljIGludAl1cGxuOworc3RhdGljIGludAlpZmxhZzsKKworc3RhdGljIHZvaWQgX19hdHRyaWJ1dGVfXygoX19ub3JldHVybl9fKSkgdXNhZ2Uodm9pZCkKK3sKKwlGSUxFICpvdXQgPSBzdGRvdXQ7CisJZnB1dHMoVVNBR0VfSEVBREVSLCBvdXQpOworCWZwcmludGYob3V0LCBfKCIgJXMgW29wdGlvbnNdIFs8ZmlsZT4gLi4uXVxuIiksIHByb2dyYW1faW52b2NhdGlvbl9zaG9ydF9uYW1lKTsKKworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlmcHV0cyhfKCJEbyB1bmRlcmxpbmluZy5cbiIpLCBvdXQpOworCisJZnB1dHMoVVNBR0VfT1BUSU9OUywgb3V0KTsKKwlmcHV0cyhfKCIgLXQsIC1ULCAtLXRlcm1pbmFsIFRFUk1JTkFMICBvdmVycmlkZSB0aGUgVEVSTSBlbnZpcm9ubWVudCB2YXJpYWJsZVxuIiksIG91dCk7CisJZnB1dHMoXygiIC1pLCAtLWluZGljYXRlZCAgICAgICAgICAgICAgdW5kZXJsaW5pbmcgaXMgaW5kaWNhdGVkIHZpYSBhIHNlcGFyYXRlIGxpbmVcbiIpLCBvdXQpOworCWZwdXRzKFVTQUdFX1NFUEFSQVRPUiwgb3V0KTsKKwlwcmludGYoVVNBR0VfSEVMUF9PUFRJT05TKDMwKSk7CisKKwlwcmludGYoVVNBR0VfTUFOX1RBSUwoInVsKDEpIikpOworCisJZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhciAqKmFyZ3YpCit7CisJaW50IGMsIHJldCwgdGZsYWcgPSAwOworCWNoYXIgKnRlcm10eXBlOworCUZJTEUgKmY7CisKKwlzdGF0aWMgY29uc3Qgc3RydWN0IG9wdGlvbiBsb25nb3B0c1tdID0geworCQl7ICJ0ZXJtaW5hbCIsCXJlcXVpcmVkX2FyZ3VtZW50LAlOVUxMLCAndCcgfSwKKwkJeyAiaW5kaWNhdGVkIiwJbm9fYXJndW1lbnQsCQlOVUxMLCAnaScgfSwKKwkJeyAidmVyc2lvbiIsCW5vX2FyZ3VtZW50LAkJTlVMTCwgJ1YnIH0sCisJCXsgImhlbHAiLAlub19hcmd1bWVudCwJCU5VTEwsICdoJyB9LAorCQl7IE5VTEwsIDAsIE5VTEwsIDAgfQorCX07CisKKwlzZXRsb2NhbGUoTENfQUxMLCAiIik7CisJYmluZHRleHRkb21haW4oUEFDS0FHRSwgTE9DQUxFRElSKTsKKwl0ZXh0ZG9tYWluKFBBQ0tBR0UpOworCWF0ZXhpdChjbG9zZV9zdGRvdXQpOworCisJc2lnbmFsKFNJR0lOVCwgc2lnX2hhbmRsZXIpOworCXNpZ25hbChTSUdURVJNLCBzaWdfaGFuZGxlcik7CisKKwl0ZXJtdHlwZSA9IGdldGVudigiVEVSTSIpOworCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgIml0OlQ6VmgiLCBsb25nb3B0cywgTlVMTCkpICE9IC0xKQorCQlzd2l0Y2ggKGMpIHsKKworCQljYXNlICd0JzoKKwkJY2FzZSAnVCc6CisJCQkvKiBmb3IgbnJvZmYgY29tcGF0aWJpbGl0eSAqLworCQkJdGVybXR5cGUgPSBvcHRhcmc7CisJCQl0ZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnaSc6CisJCQlpZmxhZyA9IDE7CisJCQlicmVhazsKKwkJY2FzZSAnVic6CisJCQlwcmludGYoVVRJTF9MSU5VWF9WRVJTSU9OKTsKKwkJCXJldHVybiBFWElUX1NVQ0NFU1M7CisJCWNhc2UgJ2gnOgorCQkJdXNhZ2UoKTsKKwkJZGVmYXVsdDoKKwkJCWVycnRyeWhlbHAoRVhJVF9GQUlMVVJFKTsKKwkJfQorCXNldHVwdGVybSh0ZXJtdHlwZSwgU1RET1VUX0ZJTEVOTywgJnJldCk7CisJc3dpdGNoIChyZXQpIHsKKworCWNhc2UgMToKKwkJYnJlYWs7CisKKwlkZWZhdWx0OgorCQl3YXJueChfKCJ0cm91YmxlIHJlYWRpbmcgdGVybWluZm8iKSk7CisJCS8qIGZhbGx0aHJvdWdoICovCisKKwljYXNlIDA6CisJCWlmICh0ZmxhZykKKwkJCXdhcm54KF8oInRlcm1pbmFsIGAlcycgaXMgbm90IGtub3duLCBkZWZhdWx0aW5nIHRvIGBkdW1iJyIpLAorCQkJCXRlcm10eXBlKTsKKwkJc2V0dXB0ZXJtKCJkdW1iIiwgU1RET1VUX0ZJTEVOTywgKGludCAqKTApOworCQlicmVhazsKKwl9CisJaW5pdGluZm8oKTsKKwlpZiAoKHRpZ2V0ZmxhZygib3MiKSAmJiBFTlRFUl9CT0xEPT1OVUxMICkgfHwKKwkgICAgKHRpZ2V0ZmxhZygidWwiKSAmJiBFTlRFUl9VTkRFUkxJTkU9PU5VTEwgJiYgVU5ERVJfQ0hBUj09TlVMTCkpCisJCW11c3Rfb3ZlcnN0cmlrZSA9IDE7CisJaW5pdGJ1ZigpOworCWlmIChvcHRpbmQgPT0gYXJnYykKKwkJZmlsdGVyKHN0ZGluKTsKKwllbHNlCisJCWZvciAoOyBvcHRpbmQgPCBhcmdjOyBvcHRpbmQrKykgeworCQkJZiA9IGZvcGVuKGFyZ3Zbb3B0aW5kXSwiciIpOworCQkJaWYgKCFmKQorCQkJCWVycihFWElUX0ZBSUxVUkUsIF8oImNhbm5vdCBvcGVuICVzIiksCisJCQkJICAgIGFyZ3Zbb3B0aW5kXSk7CisJCQlmaWx0ZXIoZik7CisJCQlmY2xvc2UoZik7CisJCX0KKwlmcmVlKG9idWYpOworCXJldHVybiBFWElUX1NVQ0NFU1M7Cit9CisKK3N0YXRpYyBpbnQgaGFuZGxlX2VzY2FwZShGSUxFICogZikKK3sKKwl3aW50X3QgYzsKKworCXN3aXRjaCAoYyA9IGdldHdjKGYpKSB7CisJY2FzZSBIUkVWOgorCQlpZiAoaGFsZnBvcyA9PSAwKSB7CisJCQltb2RlIHw9IFNVUEVSU0M7CisJCQloYWxmcG9zLS07CisJCX0gZWxzZSBpZiAoaGFsZnBvcyA+IDApIHsKKwkJCW1vZGUgJj0gflNVQlNDOworCQkJaGFsZnBvcy0tOworCQl9IGVsc2UgeworCQkJaGFsZnBvcyA9IDA7CisJCQlyZXZlcnNlKCk7CisJCX0KKwkJcmV0dXJuIDA7CisJY2FzZSBIRldEOgorCQlpZiAoaGFsZnBvcyA9PSAwKSB7CisJCQltb2RlIHw9IFNVQlNDOworCQkJaGFsZnBvcysrOworCQl9IGVsc2UgaWYgKGhhbGZwb3MgPCAwKSB7CisJCQltb2RlICY9IH5TVVBFUlNDOworCQkJaGFsZnBvcysrOworCQl9IGVsc2UgeworCQkJaGFsZnBvcyA9IDA7CisJCQlmd2QoKTsKKwkJfQorCQlyZXR1cm4gMDsKKwljYXNlIEZSRVY6CisJCXJldmVyc2UoKTsKKwkJcmV0dXJuIDA7CisJZGVmYXVsdDoKKwkJLyogdW5rbm93biBlc2NhcGUgKi8KKwkJdW5nZXR3YyhjLCBmKTsKKwkJcmV0dXJuIDE7CisJfQorfQorCitzdGF0aWMgdm9pZCBmaWx0ZXIoRklMRSAqZikKK3sKKwl3aW50X3QgYzsKKwlpbnQgaSwgdzsKKworCXdoaWxlICgoYyA9IGdldHdjKGYpKSAhPSBXRU9GKSB7CisJCXN3aXRjaCAoYykgeworCQljYXNlICdcYic6CisJCQlzZXRjb2woY29sIC0gMSk7CisJCQljb250aW51ZTsKKwkJY2FzZSAnXHQnOgorCQkJc2V0Y29sKChjb2wgKyA4KSAmIH4wNyk7CisJCQljb250aW51ZTsKKwkJY2FzZSAnXHInOgorCQkJc2V0Y29sKDApOworCQkJY29udGludWU7CisJCWNhc2UgU086CisJCQltb2RlIHw9IEFMVFNFVDsKKwkJCWNvbnRpbnVlOworCQljYXNlIFNJOgorCQkJbW9kZSAmPSB+QUxUU0VUOworCQkJY29udGludWU7CisJCWNhc2UgSUVTQzoKKwkJCWlmIChoYW5kbGVfZXNjYXBlKGYpKSB7CisJCQkJYyA9IGdldHdjKGYpOworCQkJCWVycngoRVhJVF9GQUlMVVJFLAorCQkJCSAgICAgXygidW5rbm93biBlc2NhcGUgc2VxdWVuY2UgaW4gaW5wdXQ6ICVvLCAlbyIpLCBJRVNDLCBjKTsKKwkJCX0KKwkJCWNvbnRpbnVlOworCQljYXNlICdfJzoKKwkJCWlmIChvYnVmW2NvbF0uY19jaGFyIHx8IG9idWZbY29sXS5jX3dpZHRoIDwgMCkgeworCQkJCXdoaWxlIChjb2wgPiAwICYmIG9idWZbY29sXS5jX3dpZHRoIDwgMCkKKwkJCQkJY29sLS07CisJCQkJdyA9IG9idWZbY29sXS5jX3dpZHRoOworCQkJCWZvciAoaSA9IDA7IGkgPCB3OyBpKyspCisJCQkJCW9idWZbY29sKytdLmNfbW9kZSB8PSBVTkRFUkwgfCBtb2RlOworCQkJCXNldGNvbChjb2wpOworCQkJCWNvbnRpbnVlOworCQkJfQorCQkJb2J1Zltjb2xdLmNfY2hhciA9ICdfJzsKKwkJCW9idWZbY29sXS5jX3dpZHRoID0gMTsKKwkJCS8qIGZhbGx0aHJvdWdoICovCisJCWNhc2UgJyAnOgorCQkJc2V0Y29sKGNvbCArIDEpOworCQkJY29udGludWU7CisJCWNhc2UgJ1xuJzoKKwkJCWZsdXNobG4oKTsKKwkJCWNvbnRpbnVlOworCQljYXNlICdcZic6CisJCQlmbHVzaGxuKCk7CisJCQlwdXR3Y2hhcignXGYnKTsKKwkJCWNvbnRpbnVlOworCQlkZWZhdWx0OgorCQkJaWYgKCFpc3dwcmludChjKSkKKwkJCQkvKiBub24gcHJpbnRhYmxlICovCisJCQkJY29udGludWU7CisJCQl3ID0gd2N3aWR0aChjKTsKKwkJCW5lZWRjb2woY29sICsgdyk7CisJCQlpZiAob2J1Zltjb2xdLmNfY2hhciA9PSAnXDAnKSB7CisJCQkJb2J1Zltjb2xdLmNfY2hhciA9IGM7CisJCQkJZm9yIChpID0gMDsgaSA8IHc7IGkrKykKKwkJCQkJb2J1Zltjb2wgKyBpXS5jX21vZGUgPSBtb2RlOworCQkJCW9idWZbY29sXS5jX3dpZHRoID0gdzsKKwkJCQlmb3IgKGkgPSAxOyBpIDwgdzsgaSsrKQorCQkJCQlvYnVmW2NvbCArIGldLmNfd2lkdGggPSAtMTsKKwkJCX0gZWxzZSBpZiAob2J1Zltjb2xdLmNfY2hhciA9PSAnXycpIHsKKwkJCQlvYnVmW2NvbF0uY19jaGFyID0gYzsKKwkJCQlmb3IgKGkgPSAwOyBpIDwgdzsgaSsrKQorCQkJCQlvYnVmW2NvbCArIGldLmNfbW9kZSB8PSBVTkRFUkwgfCBtb2RlOworCQkJCW9idWZbY29sXS5jX3dpZHRoID0gdzsKKwkJCQlmb3IgKGkgPSAxOyBpIDwgdzsgaSsrKQorCQkJCQlvYnVmW2NvbCArIGldLmNfd2lkdGggPSAtMTsKKwkJCX0gZWxzZSBpZiAoKHdpbnRfdCkgb2J1Zltjb2xdLmNfY2hhciA9PSBjKSB7CisJCQkJZm9yIChpID0gMDsgaSA8IHc7IGkrKykKKwkJCQkJb2J1Zltjb2wgKyBpXS5jX21vZGUgfD0gQk9MRCB8IG1vZGU7CisJCQl9IGVsc2UgeworCQkJCXcgPSBvYnVmW2NvbF0uY193aWR0aDsKKwkJCQlmb3IgKGkgPSAwOyBpIDwgdzsgaSsrKQorCQkJCQlvYnVmW2NvbCArIGldLmNfbW9kZSA9IG1vZGU7CisJCQl9CisJCQlzZXRjb2woY29sICsgdyk7CisJCQljb250aW51ZTsKKwkJfQorCX0KKwlpZiAobWF4Y29sKQorCQlmbHVzaGxuKCk7Cit9CisKK3N0YXRpYyB2b2lkIGZsdXNobG4odm9pZCkKK3sKKwlpbnQgbGFzdG1vZGU7CisJaW50IGk7CisJaW50IGhhZG1vZGVzID0gMDsKKworCWxhc3Rtb2RlID0gTk9STUFMOworCWZvciAoaSA9IDA7IGkgPCBtYXhjb2w7IGkrKykgeworCQlpZiAob2J1ZltpXS5jX21vZGUgIT0gbGFzdG1vZGUpIHsKKwkJCWhhZG1vZGVzKys7CisJCQl4c2V0bW9kZShvYnVmW2ldLmNfbW9kZSk7CisJCQlsYXN0bW9kZSA9IG9idWZbaV0uY19tb2RlOworCQl9CisJCWlmIChvYnVmW2ldLmNfY2hhciA9PSAnXDAnKSB7CisJCQlpZiAodXBsbikgeworCQkJCXByaW50X291dChDVVJTX1JJR0hUKTsKKwkJCX0gZWxzZQorCQkJCW91dGMoJyAnLCAxKTsKKwkJfSBlbHNlCisJCQlvdXRjKG9idWZbaV0uY19jaGFyLCBvYnVmW2ldLmNfd2lkdGgpOworCQlpZiAob2J1ZltpXS5jX3dpZHRoID4gMSkKKwkJCWkgKz0gb2J1ZltpXS5jX3dpZHRoIC0gMTsKKwl9CisJaWYgKGxhc3Rtb2RlICE9IE5PUk1BTCkgeworCQl4c2V0bW9kZSgwKTsKKwl9CisJaWYgKG11c3Rfb3ZlcnN0cmlrZSAmJiBoYWRtb2RlcykKKwkJb3ZlcnN0cmlrZSgpOworCXB1dHdjaGFyKCdcbicpOworCWlmIChpZmxhZyAmJiBoYWRtb2RlcykKKwkJaWF0dHIoKTsKKwlmZmx1c2goc3Rkb3V0KTsKKwlpZiAodXBsbikKKwkJdXBsbi0tOworCWluaXRidWYoKTsKK30KKworLyoKKyAqIEZvciB0ZXJtaW5hbHMgdGhhdCBjYW4gb3ZlcnN0cmlrZSwgb3ZlcnN0cmlrZSB1bmRlcmxpbmVzIGFuZCBib2xkcy4KKyAqIFdlIGRvbid0IGRvIGFueXRoaW5nIHdpdGggaGFsZmxpbmUgdXBzIGFuZCBkb3ducywgb3IgR3JlZWsuCisgKi8KK3N0YXRpYyB2b2lkIG92ZXJzdHJpa2Uodm9pZCkKK3sKKwlyZWdpc3RlciBpbnQgaTsKKwlyZWdpc3RlciB3Y2hhcl90ICpsYnVmID0geG1hbGxvYygobWF4Y29sICsgMSkgKiBzaXplb2Yod2NoYXJfdCkpOworCXJlZ2lzdGVyIHdjaGFyX3QgKmNwID0gbGJ1ZjsKKwlpbnQgaGFkYm9sZD0wOworCisJLyogU2V0IHVwIG92ZXJzdHJpa2UgYnVmZmVyICovCisJZm9yIChpID0gMDsgaSA8IG1heGNvbDsgaSsrKQorCQlzd2l0Y2ggKG9idWZbaV0uY19tb2RlKSB7CisJCWNhc2UgTk9STUFMOgorCQlkZWZhdWx0OgorCQkJKmNwKysgPSAnICc7CisJCQlicmVhazsKKwkJY2FzZSBVTkRFUkw6CisJCQkqY3ArKyA9ICdfJzsKKwkJCWJyZWFrOworCQljYXNlIEJPTEQ6CisJCQkqY3ArKyA9IG9idWZbaV0uY19jaGFyOworCQkJaWYgKG9idWZbaV0uY193aWR0aCA+IDEpCisJCQkJaSArPSBvYnVmW2ldLmNfd2lkdGggLSAxOworCQkJaGFkYm9sZD0xOworCQkJYnJlYWs7CisJCX0KKwlwdXR3Y2hhcignXHInKTsKKwlmb3IgKCpjcCA9ICcgJzsgKmNwID09ICcgJzsgY3AtLSkKKwkJKmNwID0gMDsKKwlmcHV0d3MobGJ1Ziwgc3Rkb3V0KTsKKwlpZiAoaGFkYm9sZCkgeworCQlwdXR3Y2hhcignXHInKTsKKwkJZm9yIChjcCA9IGxidWY7ICpjcDsgY3ArKykKKwkJCXB1dHdjaGFyKCpjcCA9PSAnXycgPyAnICcgOiAqY3ApOworCQlwdXR3Y2hhcignXHInKTsKKwkJZm9yIChjcCA9IGxidWY7ICpjcDsgY3ArKykKKwkJCXB1dHdjaGFyKCpjcCA9PSAnXycgPyAnICcgOiAqY3ApOworCX0KKwlmcmVlKGxidWYpOworfQorCitzdGF0aWMgdm9pZCBpYXR0cih2b2lkKQoreworCXJlZ2lzdGVyIGludCBpOworCXJlZ2lzdGVyIHdjaGFyX3QgKmxidWYgPSB4bWFsbG9jKChtYXhjb2wgKyAxKSAqIHNpemVvZih3Y2hhcl90KSk7CisJcmVnaXN0ZXIgd2NoYXJfdCAqY3AgPSBsYnVmOworCisJZm9yIChpID0gMDsgaSA8IG1heGNvbDsgaSsrKQorCQlzd2l0Y2ggKG9idWZbaV0uY19tb2RlKSB7CisJCWNhc2UgTk9STUFMOgkqY3ArKyA9ICcgJzsgYnJlYWs7CisJCWNhc2UgQUxUU0VUOgkqY3ArKyA9ICdnJzsgYnJlYWs7CisJCWNhc2UgU1VQRVJTQzoJKmNwKysgPSAnXic7IGJyZWFrOworCQljYXNlIFNVQlNDOgkqY3ArKyA9ICd2JzsgYnJlYWs7CisJCWNhc2UgVU5ERVJMOgkqY3ArKyA9ICdfJzsgYnJlYWs7CisJCWNhc2UgQk9MRDoJKmNwKysgPSAnISc7IGJyZWFrOworCQlkZWZhdWx0OgkqY3ArKyA9ICdYJzsgYnJlYWs7CisJCX0KKwlmb3IgKCpjcCA9ICcgJzsgKmNwID09ICcgJzsgY3AtLSkKKwkJKmNwID0gMDsKKwlmcHV0d3MobGJ1Ziwgc3Rkb3V0KTsKKwlwdXR3Y2hhcignXG4nKTsKKwlmcmVlKGxidWYpOworfQorCitzdGF0aWMgdm9pZCBpbml0YnVmKHZvaWQpCit7CisJaWYgKG9idWYgPT0gTlVMTCkgeworCQkvKiBGaXJzdCB0aW1lLiAqLworCQlvYnVmbGVuID0gQlVGU0laOworCQlvYnVmID0geGNhbGxvYyhvYnVmbGVuLCBzaXplb2Yoc3RydWN0IENIQVIpKTsKKwl9IGVsc2UKKwkJLyogYXNzdW1lcyBOT1JNQUwgPT0gMCAqLworCQltZW1zZXQob2J1ZiwgMCwgc2l6ZW9mKHN0cnVjdCBDSEFSKSAqIG1heGNvbCk7CisKKwlzZXRjb2woMCk7CisJbWF4Y29sID0gMDsKKwltb2RlICY9IEFMVFNFVDsKK30KKworc3RhdGljIHZvaWQgZndkKHZvaWQpCit7CisJaW50IG9sZGNvbCwgb2xkbWF4OworCisJb2xkY29sID0gY29sOworCW9sZG1heCA9IG1heGNvbDsKKwlmbHVzaGxuKCk7CisJc2V0Y29sKG9sZGNvbCk7CisJbWF4Y29sID0gb2xkbWF4OworfQorCitzdGF0aWMgdm9pZCByZXZlcnNlKHZvaWQpCit7CisJdXBsbisrOworCWZ3ZCgpOworCXByaW50X291dChDVVJTX1VQKTsKKwlwcmludF9vdXQoQ1VSU19VUCk7CisJdXBsbisrOworfQorCitzdGF0aWMgdm9pZCBpbml0aW5mbyh2b2lkKQoreworCUNVUlNfVVAgPQkJdGlnZXRzdHIoImN1dTEiKTsKKwlDVVJTX1JJR0hUID0JCXRpZ2V0c3RyKCJjdWYxIik7CisJQ1VSU19MRUZUID0JCXRpZ2V0c3RyKCJjdWIxIik7CisJaWYgKENVUlNfTEVGVCA9PSBOVUxMKQorCQlDVVJTX0xFRlQgPQkiXGIiOworCisJRU5URVJfU1RBTkRPVVQgPQl0aWdldHN0cigic21zbyIpOworCUVYSVRfU1RBTkRPVVQgPQkJdGlnZXRzdHIoInJtc28iKTsKKwlFTlRFUl9VTkRFUkxJTkUgPQl0aWdldHN0cigic211bCIpOworCUVYSVRfVU5ERVJMSU5FID0JdGlnZXRzdHIoInJtdWwiKTsKKwlFTlRFUl9ESU0gPQkJdGlnZXRzdHIoImRpbSIpOworCUVOVEVSX0JPTEQgPQkJdGlnZXRzdHIoImJvbGQiKTsKKwlFTlRFUl9SRVZFUlNFID0JCXRpZ2V0c3RyKCJyZXYiKTsKKwlFWElUX0FUVFJJQlVURVMgPQl0aWdldHN0cigic2dyMCIpOworCisJaWYgKCFFTlRFUl9CT0xEICYmIEVOVEVSX1JFVkVSU0UpCisJCUVOVEVSX0JPTEQgPSBFTlRFUl9SRVZFUlNFOworCWlmICghRU5URVJfQk9MRCAmJiBFTlRFUl9TVEFORE9VVCkKKwkJRU5URVJfQk9MRCA9IEVOVEVSX1NUQU5ET1VUOworCWlmICghRU5URVJfVU5ERVJMSU5FICYmIEVOVEVSX1NUQU5ET1VUKSB7CisJCUVOVEVSX1VOREVSTElORSA9IEVOVEVSX1NUQU5ET1VUOworCQlFWElUX1VOREVSTElORSA9IEVYSVRfU1RBTkRPVVQ7CisJfQorCWlmICghRU5URVJfRElNICYmIEVOVEVSX1NUQU5ET1VUKQorCQlFTlRFUl9ESU0gPSBFTlRFUl9TVEFORE9VVDsKKwlpZiAoIUVOVEVSX1JFVkVSU0UgJiYgRU5URVJfU1RBTkRPVVQpCisJCUVOVEVSX1JFVkVSU0UgPSBFTlRFUl9TVEFORE9VVDsKKwlpZiAoIUVYSVRfQVRUUklCVVRFUyAmJiBFWElUX1NUQU5ET1VUKQorCQlFWElUX0FUVFJJQlVURVMgPSBFWElUX1NUQU5ET1VUOworCisJLyoKKwkgKiBOb3RlIHRoYXQgd2UgdXNlIFJFVkVSU0UgZm9yIHRoZSBhbHRlcm5hdGUgY2hhcmFjdGVyIHNldCwKKwkgKiBub3QgdGhlIGFzL2FlIGNhcGFiaWxpdGllcy4gIFRoaXMgaXMgYmVjYXVzZSB3ZSBhcmUgbW9kZWxpbmcKKwkgKiB0aGUgbW9kZWwgMzcgdGVsZXR5cGUgKHNpbmNlIHRoYXQncyB3aGF0IG5yb2ZmIG91dHB1dHMpIGFuZAorCSAqIHRoZSB0eXBpY2FsIGFzL2FlIGlzIG1vcmUgb2YgYSBncmFwaGljcyBzZXQsIG5vdCB0aGUgZ3JlZWsKKwkgKiBsZXR0ZXJzIHRoZSAzNyBoYXMuCisJICovCisKKwlVTkRFUl9DSEFSID0JCXRpZ2V0c3RyKCJ1YyIpOworCW11c3RfdXNlX3VjID0gKFVOREVSX0NIQVIgJiYgIUVOVEVSX1VOREVSTElORSk7Cit9CisKK3N0YXRpYyBpbnQgY3VybW9kZSA9IDA7CisKK3N0YXRpYyB2b2lkIG91dGMod2ludF90IGMsIGludCB3aWR0aCkgeworCWludCBpOworCisJcHV0d2NoYXIoYyk7CisJaWYgKG11c3RfdXNlX3VjICYmIChjdXJtb2RlJlVOREVSTCkpIHsKKwkJZm9yIChpID0gMDsgaSA8IHdpZHRoOyBpKyspCisJCQlwcmludF9vdXQoQ1VSU19MRUZUKTsKKwkJZm9yIChpID0gMDsgaSA8IHdpZHRoOyBpKyspCisJCQlwcmludF9vdXQoVU5ERVJfQ0hBUik7CisJfQorfQorCitzdGF0aWMgdm9pZCB4c2V0bW9kZShpbnQgbmV3bW9kZSkKK3sKKwlpZiAoIWlmbGFnKSB7CisJCWlmIChjdXJtb2RlICE9IE5PUk1BTCAmJiBuZXdtb2RlICE9IE5PUk1BTCkKKwkJCXhzZXRtb2RlKE5PUk1BTCk7CisJCXN3aXRjaCAobmV3bW9kZSkgeworCQljYXNlIE5PUk1BTDoKKwkJCXN3aXRjaCAoY3VybW9kZSkgeworCQkJY2FzZSBOT1JNQUw6CisJCQkJYnJlYWs7CisJCQljYXNlIFVOREVSTDoKKwkJCQlwcmludF9vdXQoRVhJVF9VTkRFUkxJTkUpOworCQkJCWJyZWFrOworCQkJZGVmYXVsdDoKKwkJCQkvKiBUaGlzIGluY2x1ZGVzIHN0YW5kb3V0ICovCisJCQkJcHJpbnRfb3V0KEVYSVRfQVRUUklCVVRFUyk7CisJCQkJYnJlYWs7CisJCQl9CisJCQlicmVhazsKKwkJY2FzZSBBTFRTRVQ6CisJCQlwcmludF9vdXQoRU5URVJfUkVWRVJTRSk7CisJCQlicmVhazsKKwkJY2FzZSBTVVBFUlNDOgorCQkJLyoKKwkJCSAqIFRoaXMgb25seSB3b3JrcyBvbiBhIGZldyB0ZXJtaW5hbHMuCisJCQkgKiBJdCBzaG91bGQgYmUgZml4ZWQuCisJCQkgKi8KKwkJCXByaW50X291dChFTlRFUl9VTkRFUkxJTkUpOworCQkJcHJpbnRfb3V0KEVOVEVSX0RJTSk7CisJCQlicmVhazsKKwkJY2FzZSBTVUJTQzoKKwkJCXByaW50X291dChFTlRFUl9ESU0pOworCQkJYnJlYWs7CisJCWNhc2UgVU5ERVJMOgorCQkJcHJpbnRfb3V0KEVOVEVSX1VOREVSTElORSk7CisJCQlicmVhazsKKwkJY2FzZSBCT0xEOgorCQkJcHJpbnRfb3V0KEVOVEVSX0JPTEQpOworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQkvKgorCQkJICogV2Ugc2hvdWxkIGhhdmUgc29tZSBwcm92aXNpb24gaGVyZSBmb3IgbXVsdGlwbGUgbW9kZXMKKwkJCSAqIG9uIGF0IG9uY2UuICBUaGlzIHdpbGwgaGF2ZSB0byBjb21lIGxhdGVyLgorCQkJICovCisJCQlwcmludF9vdXQoRU5URVJfU1RBTkRPVVQpOworCQkJYnJlYWs7CisJCX0KKwl9CisJY3VybW9kZSA9IG5ld21vZGU7Cit9CisKK3N0YXRpYyB2b2lkIHNldGNvbChpbnQgbmV3Y29sKSB7CisJY29sID0gbmV3Y29sOworCisJaWYgKGNvbCA8IDApCisJCWNvbCA9IDA7CisJZWxzZSBpZiAoY29sID4gbWF4Y29sKQorCQluZWVkY29sKGNvbCk7Cit9CisKK3N0YXRpYyB2b2lkIG5lZWRjb2woaW50IGFjb2wpIHsKKwltYXhjb2wgPSBhY29sOworCisJLyogSWYgY29sID49IG9idWZsZW4sIGV4cGFuZCBvYnVmIHVudGlsIG9idWZsZW4gPiBjb2wuICovCisJd2hpbGUgKGFjb2wgPj0gb2J1ZmxlbikgeworCQkvKiBQYXJhbm9pZCBjaGVjayBmb3Igb2J1ZmxlbiA9PSBJTlRfTUFYLiAqLworCQlpZiAob2J1ZmxlbiA9PSBJTlRfTUFYKQorCQkJZXJyeChFWElUX0ZBSUxVUkUsIF8oIklucHV0IGxpbmUgdG9vIGxvbmcuIikpOworCisJCS8qIFNpbWlsYXIgcGFyYW5vaWE6IGRvdWJsZSBvbmx5IHVwIHRvIElOVF9NQVguICovCisJCWlmIChvYnVmbGVuIDwgKElOVF9NQVggLyAyKSkKKwkJCW9idWZsZW4gKj0gMjsKKwkJZWxzZQorCQkJb2J1ZmxlbiA9IElOVF9NQVg7CisKKwkJLyogTm93IHdlIGNhbiB0cnkgdG8gZXhwYW5kIG9idWYuICovCisJCW9idWYgPSB4cmVhbGxvYyhvYnVmLCBzaXplb2Yoc3RydWN0IENIQVIpICogb2J1Zmxlbik7CisJfQorfQorCitzdGF0aWMgdm9pZCBzaWdfaGFuZGxlcihpbnQgc2lnbm8gX19hdHRyaWJ1dGVfXyAoKF9fdW51c2VkX18pKSkKK3sKKwlfZXhpdChFWElUX1NVQ0NFU1MpOworfQorCitzdGF0aWMgdm9pZCBwcmludF9vdXQoY2hhciAqbGluZSkKK3sKKwlpZiAobGluZSA9PSBOVUxMKQorCQlyZXR1cm47CisKKwlwdXR3cChsaW5lKTsKK30KZGlmZiAtLWdpdCBhL3Rvb2xzL01ha2Vtb2R1bGUuYW0gYi90b29scy9NYWtlbW9kdWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmJjMjI5MjYKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9NYWtlbW9kdWxlLmFtCkBAIC0wLDAgKzEsMTAgQEAKKworRVhUUkFfRElTVCArPSBcCisJdG9vbHMvZ2l0LXZlcnNpb24tZ2VuIFwKKwl0b29scy9jaGVja2NvbXBsZXRpb24uc2ggXAorICAgICAgIAl0b29scy9jaGVja2NvbmZpZy5zaCBcCisgICAgICAgCXRvb2xzL2NoZWNrZGVjbC5zaCBcCisgICAgICAJdG9vbHMvY2hlY2tpbmNsdWRlcy5wbCBcCisJdG9vbHMvY2hlY2ttYW5zLnNoIFwKKwl0b29scy9jaGVja3VzYWdlLnNoIFwKKyAgICAgICAJdG9vbHMvY2hlY2t4YWxsb2Muc2gKZGlmZiAtLWdpdCBhL3Rvb2xzL2NoZWNrY29tcGxldGlvbi5zaCBiL3Rvb2xzL2NoZWNrY29tcGxldGlvbi5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5mM2ZkZGE0Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY2hlY2tjb21wbGV0aW9uLnNoCkBAIC0wLDAgKzEsNDUgQEAKKyMhL2Jpbi9iYXNoCisKKyMKKyMgVGhpcyBzY3JpcHQgY2hlY2tzIGlmIHdlIGhhdmUgYmFzaC1jb21wbGV0aW9uIHNjcmlwdHMgZm9yIHRoZSBhbGwgY29tcGlsZWQKKyMgYmluYXJpZXMuCisjCisjIENvcHlyaWdodCAoQykgMjAxNiBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKworCitkaWUoKSB7CisJZWNobyAiZXJyb3I6ICQxIgorCWV4aXQgMQorfQorCit1c2FnZSgpIHsKKwllY2hvICJVc2FnZToiCisJZWNobyAiICQwIFs8dG9wX3NyY2Rpcj5dIgorfQorCisjIHVud2FudGVkIHNjcmlwdHMgLS0gdXNlIGdyZXAgLUUsIGUuZy4gKGFhYXxiYmJ8Y2NjKQorY29tcGxldGlvbl9leGNsdWRlPSIobm9sb2dpbikiCisKK3RvcF9zcmNkaXI9JHsxLSIuIn0KK2NvbXBsZXRpb25fZGlyPSIke3RvcF9zcmNkaXJ9L2Jhc2gtY29tcGxldGlvbiIKKworWyAtZCAiJHtjb21wbGV0aW9uX2Rpcn0iIF0gfHwgZGllICJub3QgZm91bmQgJHtjb21wbGV0aW9uX2Rpcn0iCisKK2Jpbl9maWxlcz0kKGNkICR7dG9wX3NyY2Rpcn0gJiYgZmluZCAqIC1tYXhkZXB0aCAwIC1wZXJtIC91K3ggXAorCQlcISAtdHlwZSBkIFwKKwkJXCEgLW5hbWUgXCouc2ggXCEgLW5hbWUgXCouY2FjaGUgXCEgLW5hbWUgXCouc3RhdHVzIFwKKwkJXCEgLW5hbWUgY29uZmlndXJlIFwhIC1uYW1lIGxpYnRvb2wgfCBzb3J0KQorCitjb21wbGV0aW9uX2ZpbGVzPSQoY2QgJHtjb21wbGV0aW9uX2Rpcn0vICYmIGZpbmQgKiAhIC1uYW1lICcqLmFtJyB8IHNvcnQgLXUpCitjb21wbGV0aW9uX21pc3Npbmc9JChjb21tIC0zIDwoZWNobyAiJGNvbXBsZXRpb25fZmlsZXMiKSA8KGVjaG8gIiRiaW5fZmlsZXMiKSkKKworaWYgWyAtbiAiJGNvbXBsZXRpb25fbWlzc2luZyIgLWEgLW4gIiRjb21wbGV0aW9uX2V4Y2x1ZGUiIF07IHRoZW4KKwljb21wbGV0aW9uX21pc3Npbmc9JChlY2hvICIkY29tcGxldGlvbl9taXNzaW5nIiB8IGdyZXAgLXYgLUUgIiRjb21wbGV0aW9uX2V4Y2x1ZGUiKQorZmkKKworaWYgWyAtbiAiJGNvbXBsZXRpb25fbWlzc2luZyIgXTsgdGhlbgorCWVjaG8gIk1pc3NpbmcgY29tcGxldGlvbiBzY3JpcHRzOiIKKwllY2hvICIkY29tcGxldGlvbl9taXNzaW5nIgorZmkKKwpkaWZmIC0tZ2l0IGEvdG9vbHMvY2hlY2tjb25maWcuc2ggYi90b29scy9jaGVja2NvbmZpZy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi41ZjIwNjNhCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY2hlY2tjb25maWcuc2gKQEAgLTAsMCArMSw2NCBAQAorIyEvYmluL3NoCisKKyMKKyMgVGhpcyBzY3JpcHQgY2hlY2tzIGZvciBIQVZFXyBhbmQgRU5BQkxFXyBtYWNyb3Mgd2hpY2ggYXJlCisjIG5vdCBpbmNsdWRlZCBpbiBjb25maWcuaC5pbgorIworIyBVc2FnZTogICBjaGVja2NvbmZpZy5zaCA8dG9wX3NyY2Rpcj4gPHNyY2ZpbGU+IFs8c3JjZmlsZT4gLi4uXQorIworIyBDb3B5cmlnaHQgKEMpIDIwMDcgTWF0dGhpYXMgS29lbmlnIDxta29lbmlnQHN1c2UuZGU+CisjIENvcHlyaWdodCAoQykgMjAwOCBLYXJlbCBaYWsgPGt6YWtAcmVkaGF0LmNvbT4KKyMKKworCitkaWUoKSB7CisJZWNobyAiZXJyb3I6ICQxIgorCWV4aXQgMQorfQorCit1c2FnZSgpIHsKKwllY2hvICJVc2FnZToiCisJZWNobyAiICQwIDx0b3Bfc3JjZGlyPiA8c3JjZmlsZT4gWzxzcmNmaWxlPiAuLi5dIgorCWVjaG8gIkV4YW1wbGU6IgorCWVjaG8gIiBmaW5kIC4gLW5hbWUgJyouYycgfCB4YXJncyAkMCBcJChnaXQgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCkiCit9CisKK2lmIFsgJCMgLWVxIDAgXTsgdGhlbgorCXVzYWdlCisJZXhpdCAxCitmaQorc3JjZGlyPSQxCitjb25maWc9IiRzcmNkaXIvY29uZmlnLmguaW4iCisKK1sgLWQgIiRzcmNkaXIiIF0gfHwgZGllICIkc3JjZGlyOiBub3Qgc3VjaCBkaXJlY3RvcnkuIgorWyAtZiAiJGNvbmZpZyIgXSB8fCBkaWUgIiRjb25maWc6IG5vdCBzdWNoIGZpbGUuIgorCitzaGlmdAorCit3aGlsZSBbICIkIyIgLW5lIDAgXTsgZG8KKwlzcmNmaWxlPSQxCisJc2hpZnQKKworCVsgISAtZiAiJHNyY2ZpbGUiIF0gJiYgY29udGludWU7CisKKwkjIE5vdGUgdGhhdCB3ZSB1c2UgSEFWRV8gbWFjcm9zIHNpbmNlIHV0aWwtbGludXgtbmctMi4xNC4gVGhlCisJIyBwcmV2aW91cyB2ZXJzaW9uIGFsc28gaGF2ZSB1c2VkIEVOQUJMRV8gdG9vLgorCSMKKwkjIEVOQUJMRV8gYW5kIEhBVkVfIG1hY3JvcyBzaG91bGRuJ3QgYmUgdXNlZCBmb3IgYW55IG90aGVyIHB1cG9zZSB0aGF0CisJIyBmb3IgY29uZmlnL2J1aWxkIG9wdGlvbnMuCisJIworCURFRklORVM9JChzZWQgLW4gLWUgJ3MvLipbIFx0KF1cK1woSEFWRV9bWzphbG51bTpdXVwrW14gXHQpO10qXCkuKi9cMS9wJyBcCisJCQkgLWUgJ3MvLipbIFx0KF1cK1woRU5BQkxFX1tbOmFsbnVtOl1dXCtbXiBcdCk7XSpcKS4qL1wxL3AnIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAkc3JjZmlsZSB8IHNvcnQgLXUpCisJWyAteiAiJERFRklORVMiIF0gJiYgY29udGludWUKKworCWZvciBkIGluICRERUZJTkVTOyBkbworCQljYXNlICRkIGluCisJCUhBVkVfQ09ORklHX0gpIGNvbnRpbnVlCisJCSAgIDs7CisJCSopIGdyZXAgLXEgIiRkXCggXHxcPlwpIiAkY29uZmlnIHx8IFwKKwkJICAgICBlY2hvICQoZWNobyAkc3JjZmlsZSB8IHNlZCAnczpcXCckc3JjZGlyLyc6OicpICI6ICRkIgorCSAgICAgICAgICAgOzsKKwkJZXNhYworCWRvbmUKK2RvbmUKZGlmZiAtLWdpdCBhL3Rvb2xzL2NoZWNrZGVjbC5zaCBiL3Rvb2xzL2NoZWNrZGVjbC5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5iZDllZTY5Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY2hlY2tkZWNsLnNoCkBAIC0wLDAgKzEsMjEgQEAKKyMhL2Jpbi9zaAorCisjCisjIFRoaXMgc2NyaXB0IGNoZWNrZCBmb3IgI2lmZGVmIEhBVkVfREVDTF9TWU1CT0wgaW4gY29kZS4KKyMKKyMgQXV0b2NvbmYgZG9jczoKKyMKKyMgVW5saWtlIHRoZSBvdGhlciBhdXRvY29uZiDigJhBQ19DSEVDS18qU+KAmSBtYWNyb3MsIHdoZW4gYSBzeW1ib2wgaXMgbm90CisjIGRlY2xhcmVkLCBIQVZFX0RFQ0xfc3ltYm9sIGlzIGRlZmluZWQgdG8g4oCYMOKAmSBpbnN0ZWFkIG9mIGxlYXZpbmcKKyMgSEFWRV9ERUNMX3N5bWJvbCB1bmRlY2xhcmVkLiBXaGVuIHlvdSBhcmUgc3VyZSB0aGF0IHRoZSBjaGVjayB3YXMgcGVyZm9ybWVkLAorIyB1c2UgSEFWRV9ERUNMX3N5bWJvbCBpbiAjaWYuCisjCisKK2lmIFsgISAtZiAuL2NvbmZpZ3VyZSBdOyB0aGVuCisJZWNobyAiTm90IGZvdW5kIGNvbmZpZ3VyZSBzY3JpcHQiCisJZXhpdCAxCitmaQorCitmb3IgZGVjbCBpbiAkKGF3ayAnL0hBVkVfREVDTF8uKmFjX2hhdmVfZGVjbC8geyBwcmludCAkMiB9JyBjb25maWd1cmUpOyBkbyAKKwlnaXQgZ3JlcCAtbkUgJ1tbOmJsYW5rOl1dKiNbWzpibGFuazpdXSppZihuZGVmfGRlZilbWzpibGFuazpdXSonJGRlY2w7Citkb25lIHwgc29ydCAtdQpkaWZmIC0tZ2l0IGEvdG9vbHMvY2hlY2tpbmNsdWRlcy5wbCBiL3Rvb2xzL2NoZWNraW5jbHVkZXMucGwKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uOGU2YjcxNgotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NoZWNraW5jbHVkZXMucGwKQEAgLTAsMCArMSwyNCBAQAorIyEvdXNyL2Jpbi9wZXJsCisjCisjIGNoZWNraW5jbHVkZXM6IEZpbmQgZmlsZXMgaW5jbHVkZWQgbW9yZSB0aGFuIG9uY2UgaW4gKG90aGVyKSBmaWxlcy4KKyMgQ29weXJpZ2h0IGFiYW5kb25lZCwgMjAwMCwgTmllbHMgS3Jpc3RpYW4gQmVjaCBKZW5zZW4gPG5rYmpAaW1hZ2UuZGs+LgorCitmb3JlYWNoICRmaWxlIChAQVJHVikgeworCW9wZW4oRklMRSwgJGZpbGUpIG9yIGRpZSAiQ2Fubm90IG9wZW4gJGZpbGU6ICQhLlxuIjsKKworCW15ICVpbmNsdWRlZGZpbGVzID0gKCk7CisKKwl3aGlsZSAoPEZJTEU+KSB7CisJCWlmIChtL15ccyojXHMqaW5jbHVkZVxzKls8Il0oXFMqKVs+Il0vbykgeworCQkJKyskaW5jbHVkZWRmaWxlc3skMX07CisJCX0KKwl9CisJCisJZm9yZWFjaCAkZmlsZW5hbWUgKGtleXMgJWluY2x1ZGVkZmlsZXMpIHsKKwkJaWYgKCRpbmNsdWRlZGZpbGVzeyRmaWxlbmFtZX0gPiAxKSB7CisJCQlwcmludCAiJGZpbGU6ICRmaWxlbmFtZSBpcyBpbmNsdWRlZCBtb3JlIHRoYW4gb25jZS5cbiI7CisJCX0KKwl9CisKKwljbG9zZShGSUxFKTsKK30KZGlmZiAtLWdpdCBhL3Rvb2xzL2NoZWNrbWFucy5zaCBiL3Rvb2xzL2NoZWNrbWFucy5zaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5hNDg1NDllCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY2hlY2ttYW5zLnNoCkBAIC0wLDAgKzEsMTg3IEBACisjIS9iaW4vYmFzaAorIworIyBGaW5kIGFsbCBtYW4gcGFnZXMsIGFuZCBjaGVjayB0aGV5IGRvIG5vdCBoYXZlIGdyb2ZmIHN5bnRheCBlcnJvcnMKKyMgb3Igd2FybmluZ3MuCisjCisjIFNhbWkgS2Vyb2xhIDxrZXJvbGFzYUBpa2kuZmk+CisKK3NldCAtZQkJIyBleGl0IG9uIGVycm9ycworc2V0IC1vIHBpcGVmYWlsCSMgZXhpdCBpZiBwaXBlIHdyaXRlciBmYWlscworc2V0IC11CQkjIGRpc2FsbG93IHVzYWdlIG9mIHVuc2V0IHZhcmlhYmxlcworc2V0IC1DCQkjIGRpc2FsbG93IHJlZGlyZWN0aW9uIGZpbGUgb3ZlcndyaXRpbmcKK1NDUklQVF9JTlZPQ0FUSU9OX1NIT1JUX05BTUU9JChiYXNlbmFtZSAkezB9KQordHJhcCAnZWNobyAiJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogZXhpdCBvbiBlcnJvciI7IGV4aXQgMScgRVJSCisKK3VzYWdlKCkgeworCWVjaG8gIlVzYWdlOiAkezB9IFstdlZoXSIKKwllY2hvICIgLXYgIHZlcmJvc2UgbWVzc2FnaW5nIgorCWVjaG8gIiAtViAgcHJpbnQgdmVyc2lvbiBhbmQgZXhpdCIKKwllY2hvICIgLWggIHByaW50IHRoaXMgaGVscCBhbmQgZXhpdCIKK30KKworVkVSQk9TRT0nZmFsc2UnCit3aGlsZSBnZXRvcHRzIHZWaCBPUFRJT05TOyBkbworCWNhc2UgJHtPUFRJT05TfSBpbgorCQl2KQorCQkJVkVSQk9TRT0ndHJ1ZScKKwkJCTs7CisJCVYpCisJCQllY2hvICJ1dGlsLWxpbnV4OiAke1NDUklQVF9JTlZPQ0FUSU9OX1NIT1JUX05BTUV9OiB2Mi4xIgorCQkJZXhpdCAwCisJCQk7OworCQloKQorCQkJdXNhZ2UKKwkJCWV4aXQgMAorCQkJOzsKKwkJKikKKwkJCXVzYWdlCisJCQlleGl0IDEKKwllc2FjCitkb25lCisKKyMgVHJ5IHRvIGZpbmQgbWlzc2luZyBtYW51YWxzIG1hdGNoaW5nIGJ1aWxkIHRhcmdldHMgd2l0aCBtYW51YWwgZmlsZXMuCitkZWNsYXJlIC1BIE1BTl9MSVNUIEJJTl9MSVNUCisKK2RlY2xhcmUgLWkgSVRFUgorZGVjbGFyZSAtaSBDT1VOVF9HUk9HPTAKK2RlY2xhcmUgLWkgQ09VTlRfVFJPRkY9MAorZGVjbGFyZSAtaSBDT1VOVF9SRVBFQVRTPTAKK2RlY2xhcmUgLWEgUkVQRUFUUworZGVjbGFyZSAtQSBLTk9XTl9SRVBFQVRTCitLTk9XTl9SRVBFQVRTW21vdW50LjhdPSdmb28gbDIgbCBjIG92ZXJsYXknCitLTk9XTl9SRVBFQVRTW2hleGR1bXAuMV09J2wnCitLTk9XTl9SRVBFQVRTW2Zsb2NrLjFdPSciJDAiJworS05PV05fUkVQRUFUU1tzd2l0Y2hfcm9vdC44XT0nJERJUicKK0tOT1dOX1JFUEVBVFNbbG9nZ2VyLjFdPSctJworCityZW1vdmVfcmVwZWF0cygpCit7CisJc2V0ICt1CisJZm9yIEtOIGluICR7S05PV05fUkVQRUFUU1ske0kjIyovfV19OyBkbworCQlpZiBbICIke0tOfSIgPSAiJHtSRVBFQVRTWyQxXX0iIF07IHRoZW4KKwkJCWlmICRWRVJCT1NFOyB0aGVuCisJCQkJZWNobyAiaW5mbzogJHtJfSByZW1vdmluZyByZXBlYXQ6ICR7UkVQRUFUU1skMV19IgorCQkJZmkKKwkJCXVuc2V0IFJFUEVBVFNbJDFdCisJCWZpCisJZG9uZQorCXNldCAtdQorfQorCitjZCAkKGdpdCByZXYtcGFyc2UgLS1zaG93LXRvcGxldmVsKQorCitmb3IgSSBpbiAkKAorCWZpbmQgLiAtdHlwZSBmIC1uYW1lICcqW1s6YWxwaGE6XV0uWzEtOF0nIHxncmVwIC12ICJhdXRvbTR0ZS5jYWNoZVx8XC5saWJzL1x8XC5naXQiCispOyBkbworCU1BTl9GSUxFPSR7SSMjKi99CisJTUFOX0xJU1RbJHtNQU5fRklMRSUlLlswLTldfV09MQorCWlmIGF3ayAne2lmICgxIDwgTlIpIHtleGl0IDF9OyBpZiAoJDEgfiAvXi5zbyQvKSB7ZXhpdCAwfX0nICR7SX07IHRoZW4KKwkJIyBTb21lIG1hbnVhbHMsIHN1Y2ggYXMgeDg2XzY0LCBjYWxsIGluY2x1c2lvbiBhbmQgdGhleQorCQkjIHNob3VsZCBub3QgYmUgdGVzdGVkIGFueSBmdXJ0aGVyLgorCQlpZiAke1ZFUkJPU0V9OyB0aGVuCisJCQlwcmludGYgInNraXBwaW5nOiAke0l9OiBpbmNsdWRlcyAiCisJCQlhd2sgJ3twcmludCAkMn0nICR7SX0KKwkJZmkKKwkJY29udGludWUKKwlmaQorCWlmICR7VkVSQk9TRX07IHRoZW4KKwkJZWNobyAidGVzdGluZzogJHtJfSIKKwlmaQorCVJFVD0xCisJY2F0ICR7SX0gfCB0cm9mZiAtbWFuZG9jIC13dyAteiB8JiBncmVwICI8IiAmJiBSRVQ9JD8KKwlpZiBbICRSRVQgPSAwIF07IHRoZW4KKwllY2hvICJGcm9tOiBjYXQgJHtJfSB8IHRyb2ZmIC1tYW5kb2MgLXd3IC16IgorCWVjaG8gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IgorCSgoKytDT1VOVF9UUk9GRikpCisJZmkKKwlHUk9HPTEKKwlpZiBjb21tYW5kIC12IGxleGdyb2cgJj4gL2Rldi9udWxsOyB0aGVuCisJCWlmICEgbGV4Z3JvZyAke0l9ID4vZGV2L251bGw7IHRoZW4KKwkJCWVjaG8gImVycm9yOiBydW46IGxleGdyb2cgJHtJfSIKKwkJCWVjaG8gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IgorCQkJKCgrK0NPVU5UX0dST0cpKQorCQlmaQorCWVsaWYgY29tbWFuZCAtdiBncm9nICY+IC9kZXYvbnVsbDsgdGhlbgorCQlpZiAhIGdyb2cgJHtJfSB8IGdyZXAgbWFuID4vZGV2L251bGw7IHRoZW4KKwkJCWVjaG8gImVycm9yOiBncm9nICR7SX0gaXMgbm90IGEgbWFuIGZpbGUiCisJCQllY2hvICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSIKKwkJCSgoKytDT1VOVF9HUk9HKSkKKwkJZmkKKwllbHNlCisJCUdST0c9MAorCWZpCisJUkVQRUFUUz0oICQoY2F0ICR7SX0gfCB0cm9mZiAtbWFuZG9jIC1UYXNjaWkgMj4vZGV2L251bGwgfCBncm90dHkgfAorCQljb2wgLWIgfAorCQlzZWQgIC1lICdzL1xzXCsvXG4vZzsgL14kL2QnIHwKKwkJYXdrICdCRUdJTiB7IHA9IiIgfSB7IGlmICgwIDwgbGVuZ3RoKCQwKSkgeyBpZiAocCA9PSAkMCkgeyBwcmludCB9IH0gcCA9ICQwIH0nKSApCisJaWYgWyAwIC1sdCAiJHsjUkVQRUFUU1tAXX0iIF07IHRoZW4KKwkJSVRFUj0keyNSRVBFQVRTW0BdfSsxCisJCXdoaWxlICgoSVRFUi0tKSk7IGRvCisJCQlyZW1vdmVfcmVwZWF0cyAke0lURVJ9CisJCWRvbmUKKwkJaWYgWyAwIC1sdCAiJHsjUkVQRUFUU1tAXX0iIF07IHRoZW4KKwkJCWVjaG8gIndhcm5pbmc6ICR7SX0gaGFzIHJlcGVhdGluZyB3b3JkczogJHtSRVBFQVRTW0BdfSIKKwkJCWVjaG8gIj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09IgorCQkJKCgrK0NPVU5UX1JFUEVBVFMpKQorCQlmaQorCWZpCitkb25lCisKKyMgQ3JlYXRlIGEgbGlzdCBvZiBidWlsZCB0YXJnZXRzLgorZm9yIEkgaW4gJChmaW5kICQoZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwpIC1uYW1lICdNYWtlKi5hbScgfCB4YXJncyBhd2sgJworJDEgfiAvX1NPVVJDRVMvIHsKKwlpZiAoJDEgfiAvXnRlc3QvIHx8CisJICAgICQxIH4gL15ubyhpbnN0fGRpc3QpLyB8fAorCSAgICAkMSB+IC9ec2FtcGxlLyB8fAorCSAgICAkMSB+IC9eQlVJTFQvKSB7CisJCW5leHQKKwl9CisJc3ViKC9fU09VUkNFUy8sICIiKQorCWlmICgkMSB+IC9ebGliLipfbGEvKSB7CisJCW5leHQKKwl9CisJc3ViKC9fc3RhdGljLywgIiIpCisJZ3N1YigvXy8sICIuIikKKwlzdWIoL3N3aXRjaC5yb290LywgInN3aXRjaF9yb290IikKKwlzdWIoL3Bpdm90LnJvb3QvLCAicGl2b3Rfcm9vdCIpCisJcHJpbnQgJDEKK30nKTsgZG8KKwlCSU5fTElTVFskSV09MQorZG9uZQorCisjIEZpbmQgaWYgYnVpbGQgdGFyZ2V0IGRvZXMgbm90IGhhdmUgbWFudWFsLgorc2V0ICt1Citmb3IgSSBpbiAkeyFCSU5fTElTVFtAXX07IGRvCisJaWYgWyAtdiAke01BTl9MSVNUWyRJXX0gXTsgdGhlbgorCQllY2hvICJ3YXJuaW5nOiAke1NDUklQVF9JTlZPQ0FUSU9OX1NIT1JUX05BTUV9OiAke0l9IGRvZXMgbm90IGhhdmUgbWFuIHBhZ2UiCisJZmkKK2RvbmUKK3NldCAtdQorCitlY2hvICIke1NDUklQVF9JTlZPQ0FUSU9OX1NIT1JUX05BTUV9OiAkeyNCSU5fTElTVFsqXX0gYnVpbGQgdGFyZ2V0cyB3ZXJlIGZvdW5kIgorZWNobyAiJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogJHsjTUFOX0xJU1RbKl19IGZpbGVzIHdlcmUgdGVzdGVkIgorCitpZiBbICR7R1JPR30gPSAwIF07IHRoZW4KK2VjaG8gIndhcm5pbmc6IG5laXRoZXIgZ3JvZyBub3IgbGV4Z3JvZyBjb21tYW5kcyB3ZXJlIGZvdW5kIgorZmkKKworaWYgWyAke0NPVU5UX0dST0d9IC1uZSAwIF07IHRoZW4KKwllY2hvICJlcnJvcjogJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogJHtDT1VOVF9HUk9HfSBmaWxlcyBmYWlsZWQgKGxleClncm9nIG1hbi1wYWdlIHRlc3QiCitmaQoraWYgWyAke0NPVU5UX1RST0ZGfSAtbmUgMCBdOyB0aGVuCisJZWNobyAiZXJyb3I6ICR7U0NSSVBUX0lOVk9DQVRJT05fU0hPUlRfTkFNRX06ICR7Q09VTlRfVFJPRkZ9IGZpbGVzIGZhaWxlZCB0cm9mZiBwYXJzaW5nIHRlc3QiCitmaQoraWYgWyAke0NPVU5UX1JFUEVBVFN9IC1uZSAwIF07IHRoZW4KKwllY2hvICJlcnJvcjogJHtTQ1JJUFRfSU5WT0NBVElPTl9TSE9SVF9OQU1FfTogJHtDT1VOVF9SRVBFQVRTfSBmaWxlcyBoYXZlIHJlcGVhdGluZyB3b3JkcyIKK2ZpCitJVEVSPSR7I01BTl9MSVNUWypdfS0ke0NPVU5UX0dST0d9LSR7Q09VTlRfVFJPRkZ9LSR7Q09VTlRfUkVQRUFUU30KK2VjaG8gIiR7U0NSSVBUX0lOVk9DQVRJT05fU0hPUlRfTkFNRX06ICR7SVRFUn0gbWFuLXBhZ2VzIGFwcHJvdmVkIgorCitpZiBbICR7Q09VTlRfR1JPR30gLW5lIDAgLW8gJHtDT1VOVF9UUk9GRn0gLW5lIDAgLW8gJHtDT1VOVF9SRVBFQVRTfSAtbmUgMCBdOyB0aGVuCisJZXhpdCAxCitmaQorCitpZiAhICR7VkVSQk9TRX07IHRoZW4KKwllY2hvICIke1NDUklQVF9JTlZPQ0FUSU9OX1NIT1JUX05BTUV9OiBzdWNjZXNzIgorZmkKK2V4aXQgMApkaWZmIC0tZ2l0IGEvdG9vbHMvY2hlY2t1c2FnZS5zaCBiL3Rvb2xzL2NoZWNrdXNhZ2Uuc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uNjlkNjlmZAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NoZWNrdXNhZ2Uuc2gKQEAgLTAsMCArMSwxNTkgQEAKKyMhL2Jpbi9iYXNoCisKKyMjIFRoaXMgc2NyaXB0IGlzIHBvdGVudGlhbGx5IGRhbmdlcm91cyEgRG9uJ3QgcnVuIGl0IG9uCisjIyBhcmJpdHJhcnkgY29tbWFuZHMuCisKK2V4cG9ydCBMQ19BTEw9QworCitpZiBbICIkIyIgLWx0IDEgXTsgdGhlbgorCWVjaG8gInVzYWdlOiAkMCBwcm9ncmFtLi4uIiA+JjIKKwllY2hvICIgICAgICAgb3IgdHJ5ICdtYWtlIGNoZWNrdXNhZ2UnIHRvIGNoZWNrIGFsbCBidWlsdCBwcm9ncmFtcyIgPiYyCisJZXhpdCAxCitmaQorCitidWlsZGRpcj0iLiIKK2NtZHM9JChlY2hvICRAIHwgdHIgJyAnICdcbicgfCBzb3J0KQorCisjIHNldCBlbnYgdG8gZHVtcCBhbGwgb3V0cHV0IHRvIGZpbGVzCit0ZXN0IC16ICIkQ1VfRFVNUCIgfHwgcm0gLWYgL3RtcC9jaGVja3VzYWdlLS17aGVscCx2ZXJzaW9uLHVua25vd25vcHR9CisKKyMjIFNldCBhbHRlcm5hdGl2ZSBvcHRpb25zIGZvciAtLWhlbHAsIC0tdmVyc2lvbgorIyMgb3IgLS11bmtub3dub3B0LiAieCIgbWVhbnMgIm5vdCBpbXBsZW1lbnRlZCIuCisjIworIyMgRXhhbXBsZXM6CisjIyAgIGFsdF93aGVyZWlzX19oZWxwPSItaCIgICMgaW4gcGFzdCB3aGVyZWlzKDEpIGhhZCBubyBsb25nb3B0IGZvciAtLWhlbHAKKyMjICAgYWx0X21vcmVfX2hlbHA9IngiICAgICAgIyBtb3JlKDEpIGhhZCBuZWl0aGVyIC0taGVscCBub3IgLWgKKworYWx0X2ZzY2tfX3Vua25vd25vcHQ9IngiICMgZnNjayBwYXNzZXMgdW5rbm93biBvcHRzIHRvIGZzY2suZXh0NCwgZXRjLgorYWx0X21rZnNfX3Vua25vd25vcHQ9IngiICMgZGl0bworYWx0X2tpbGxfX3Vua25vd25vcHQ9ImludmFsIHBpZHMiICMgdHJpY2ssIGtpbGwgZG9lcyBub3QgdXNlIGVycnRyeWhlbHAoKQoraWYgWyAkKGlkIC1ydSkgLWVxIDAgXTsgdGhlbgorCWFsdF9zdWxvZ2luX191bmtub3dub3B0PSJ4IiAjIHdvdWxkIGhhbmcgYXQgcHdkIHByb21wdAorZmkKKworZnVuY3Rpb24gZXhlY19vcHRpb24geworCWxvY2FsIGNtZGI9JDEKKwlsb2NhbCBjbWQ9JDIKKwlvcHQ9JDMKKwlsb2NhbCB0b2ZpbGU9Ii90bXAvY2hlY2t1c2FnZSRvcHQiCisKKwlsb2NhbCBhbHQ9ImFsdF8ke2NtZGJ9JHtvcHR9IgorCWFsdD0ke2FsdC8vLS9ffQorCWFsdD0ke2FsdC8vLi9ffQorCWFsdD0kKGV2YWwgcHJpbnRmIC0tIFwiXCQke2FsdH1cIikKKwlpZiB0ZXN0IC1uICIkYWx0IjsgdGhlbgorCQlpZiB0ZXN0ICIkYWx0IiA9ICJ4IjsgdGhlbgorCQkJcmV0dXJuIDEKKwkJZmkKKwkJb3B0PSRhbHQKKwlmaQorCisJdGVzdCAteiAiJENVX0RVTVAiIHx8IHsKKwkJZWNobyAiIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyIKKwkJZWNobyAiIyMjIyAkY21kYiIKKwkJJGNtZCAkb3B0CisJfSA+PiAiJHRvZmlsZSIgMj4mMQorCisJb3V0PSQoIiRjbWQiICRvcHQgMj4vZGV2L251bGwpCisJZXJyPSQoIiRjbWQiICRvcHQgMj4mMSA+L2Rldi9udWxsKQorCXJldD0kPworCisJIyBoYXJkY29kZWQgLi4uIG5vbG9naW4gc2hvdWxkIGFsd2F5cyByZXR1cm4gZmFsc2UKKwlpZiB0ZXN0ICIkY21kYiIgPSAibm9sb2dpbiIgJiYKKwkJCXRlc3QgIiRvcHQiID0gIi0taGVscCIgLW8gIiRvcHQiID0gIi0tdmVyc2lvbiI7IHRoZW4KKwkJaWYgdGVzdCAiJHJldCIgLWVxIDAgLW8gIiRyZXQiIC1nZSAxMjg7IHRoZW4KKwkJCWVjaG8gIiRjbWRiLCAkb3B0LCBzaG91bGQgcmV0dXJuIGZhbHNlOiAkcmV0IgorCQlmaQorCQlyZXQ9MAorCWZpCisKKwlyZXR1cm4gMAorfQorCisKK2Z1bmN0aW9uIGNoZWNrX2hlbHAgeworCWxvY2FsIGNiPSQxCisJbG9jYWwgYz0kMgorCisJaWYgISBleGVjX29wdGlvbiAiJGNiIiAiJGMiIC0taGVscDsgdGhlbgorCQlyZXR1cm4gMQorCWZpCisKKwlpZiB0ZXN0ICRyZXQgIT0gMDsgdGhlbgorCQllY2hvICIkY2I6ICRvcHQsIHJldHVybnMgZXJyb3IiCisJZWxzZQorCQlpZiB0ZXN0IC16ICIkb3V0IjsgdGhlbgorCQkJZWNobyAiJGNiOiAkb3B0LCBubyBzdGRvdXQiCisJCWZpCisJCWlmIHRlc3QgLW4gIiRlcnIiOyB0aGVuCisJCQllY2hvICIkY2I6ICRvcHQsIG5vbi1lbXB0eSBzdGRlcnIiCisJCWZpCisJZmkKKwlyZXR1cm4gMAorfQorCitmdW5jdGlvbiBjaGVja192ZXJzaW9uIHsKKwlsb2NhbCBjYj0kMQorCWxvY2FsIGM9JDIKKworCWlmICEgZXhlY19vcHRpb24gIiRjYiIgIiRjIiAtLXZlcnNpb247IHRoZW4KKwkJcmV0dXJuIDEKKwlmaQorCisJaWYgdGVzdCAkcmV0ICE9IDA7IHRoZW4KKwkJZWNobyAiJGNiOiAkb3B0LCByZXR1cm5zIGVycm9yIgorCWVsc2UKKwkJaWYgdGVzdCAteiAiJG91dCI7IHRoZW4KKwkJCWVjaG8gIiRjYjogJG9wdCwgbm8gc3Rkb3V0IgorCQlmaQorCQlpZiB0ZXN0IC1uICIkZXJyIjsgdGhlbgorCQkJZWNobyAiJGNiOiAkb3B0LCBub24tZW1wdHkgc3RkZXJyIgorCQlmaQorCWZpCit9CisKK2Z1bmN0aW9uIGNoZWNrX3Vua25vd25vcHQgeworCWxvY2FsIGNiPSQxCisJbG9jYWwgYz0kMgorCWxvY2FsIG5vaGVscD0kMworCisJaWYgISBleGVjX29wdGlvbiAiJGNiIiAiJGMiIC0tdW5rbm93bm9wdDsgdGhlbgorCQlyZXR1cm4gMQorCWZpCisKKwlpZiB0ZXN0ICRyZXQgPSAwOyB0aGVuCisJCWVjaG8gIiRjYjogJG9wdCwgcmV0dXJucyBubyBlcnJvciIKKwllbGlmIHRlc3QgJHJldCAtZ2UgMTI4OyB0aGVuCisJCWVjaG8gIiRjYjogJG9wdCwgYWJub3JtYWwgZXhpdDogJHJldCIKKwlmaQorCWlmIHRlc3QgLW4gIiRvdXQiOyB0aGVuCisJCWVjaG8gIiRjYjogJG9wdCwgbm9uLWVtcHR5IHN0ZG91dCIKKwlmaQorCWlmIHRlc3QgLXogIiRlcnIiOyB0aGVuCisJCWVjaG8gIiRjYjogJG9wdCwgbm8gc3RkZXJyIgorCWVsaWYgdGVzdCAteiAiJG5vaGVscCIgLW8gIiRub2hlbHAiICE9ICJ5ZXMiOyB0aGVuCisJCW91dF9sZW49JChlY2hvICIkb3V0IiB8IHdjIC1sKQorCQllcnJfbGVuPSQoZWNobyAiJGVyciIgfCB3YyAtbCkKKwkJaWYgdGVzdCAiJGVycl9sZW4iIC1ndCAyOyB0aGVuCisJCQllY2hvICIkY2I6ICRvcHQsIHN0ZGVyciB0b28gbG9uZzogJGVycl9sZW4iCisJCWVsaWYgdGVzdCAiJGVycl9sZW4iIC1sdCAyOyB0aGVuCisJCQllY2hvICIkY2I6ICRvcHQsIHN0ZGVyciB0b28gc2hvcnQ6ICRlcnJfbGVuIgorCQlmaQorCWZpCit9CisKK2ZvciBjYiBpbiAkY21kczsgZG8KKwljPSIkYnVpbGRkaXIvJGNiIgorCWlmICEgdHlwZSAiJGMiICY+L2Rldi9udWxsOyB0aGVuCisJCWVjaG8gIiRjYjogZG9lcyBub3QgZXhpc3QiCisJCWNvbnRpbnVlCisJZmkKKworCW5vaGVscD0ibm8iCisJaWYgISBjaGVja19oZWxwICIkY2IiICIkYyI7IHRoZW4KKwkJbm9oZWxwPSJ5ZXMiCisJZmkKKwljaGVja192ZXJzaW9uICIkY2IiICIkYyIKKwljaGVja191bmtub3dub3B0ICIkY2IiICIkYyIgIiRub2hlbHAiCitkb25lCisKZGlmZiAtLWdpdCBhL3Rvb2xzL2NoZWNreGFsbG9jLnNoIGIvdG9vbHMvY2hlY2t4YWxsb2Muc2gKbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uM2MzNDI1NAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NoZWNreGFsbG9jLnNoCkBAIC0wLDAgKzEsMjMgQEAKKyMhL2Jpbi9zaAorIworIyBGaW5kIGZpbGVzIHdoaWNoIGluY2x1ZGUgdGhlIHhhbGxvYy5oIGhlYWRlciwgYnV0IHdoaWNoIHN0aWxsIGNhbGwKKyMgdGhlIHVud3JhcHBlZCBjYWxsb2MgYW5kIG1hbGxvYy4KKyMKKworY2QgIiQoZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwpIiB8fCB7CisgIGVjaG8gImVycm9yOiBmYWlsZWQgdG8gY2hkaXIgdG8gZ2l0IHJvb3QiCisgIGV4aXQgMQorfQorCitnaXQgZ3JlcCAtemwgJyNpbmNsdWRlICJ4YWxsb2MuaCInIHwKKyAgeGFyZ3MgLTAgZ3JlcCAtbkUgJ1xiKChbY21dfHJlKWFsbG9jfHN0cmR1cHxhc3ByaW50ZilbWzpzcGFjZTpdXSpcKFteKV0nCisKK3Jlc3VsdD0kPworCitpZiBbICRyZXN1bHQgLWVxIDEyMyBdOyB0aGVuCisJZXhpdCAwCQkJIyBub3QgZm91bmQKK2VsaWYgWyAkcmVzdWx0IC1lcSAwIF07IHRoZW4KKwlleGl0IDEJCQkjIGZvdW5kCitmaQorCitleGl0ICRyZXN1bHQKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4gYi90b29scy9jb25maWctZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjVmZWJkYzQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuCkBAIC0wLDAgKzEsNDUgQEAKKyMhL2Jpbi9zaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+IAorIyAKKwordGVzdCAtZiBzeXMtdXRpbHMvbW91bnQuYyB8fCB7CisJZWNobworCWVjaG8gIllvdSBtdXN0IHJ1biB0aGlzIHNjcmlwdCBpbiB0aGUgdG9wLWxldmVsIHV0aWwtbGludXggZGlyZWN0b3J5IgorCWVjaG8KKwlleGl0IDEKK30KKworLiB0b29scy9jb25maWctZ2VuLWZ1bmN0aW9ucy5zaAorCitpZiBbICQjIC1lcSAwIF07IHRoZW4KKwllY2hvICJUaGlzIHNjcmlwdCByZXF1aXJlcyBhdCBsZWFzdCBvbmUgb2YgdGhlIGZvbGxvdmluZyBhcmd1bWVudHM6IgorCWNkIHRvb2xzL2NvbmZpZy1nZW4uZAorCWZvciBpIGluICouY29uZjsgZG8KKwkJZWNobyAiICAke2klJS5jb25mfSIKKwlkb25lCisJZXhpdCAxCitmaQorCit3aGlsZSBbIC1uICIkMSIgXTsgZG8KKwlvcHRzPSIkb3B0cyAkKHVsX2dldF9jb25maWd1cmF0aW9uIHRvb2xzL2NvbmZpZy1nZW4uZC8kMS5jb25mKSIKKwlzaGlmdAorZG9uZQorCitvcHRzPSQoZWNobyAkb3B0cyB8IHRyICIgIiAiXG4iIHwgc29ydCAtdSkKK2VjaG8gIkNvbmZpZ3VyZSBvcHRpb25zOiIKK2ZvciB4IGluICRvcHRzOyBkbworCWVjaG8gIgkkeCIKK2RvbmUKK2lmIFsgLW4gIiRDRkxBR1MiIF07IHRoZW4KKwllY2hvICJDRkxBR1M6CSRDRkxBR1MiCisJQ0ZMQUdTPSIkQ0ZMQUdTIgorCWV4cG9ydCBDRkxBR1MKK2ZpCisKK2lmIFsgISAtZiAuL2NvbmZpZ3VyZSBdOyB0aGVuCisJLi9hdXRvZ2VuLnNoCitmaQorCitlY2hvCisuL2NvbmZpZ3VyZSAkb3B0cwpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi1mdW5jdGlvbnMuc2ggYi90b29scy9jb25maWctZ2VuLWZ1bmN0aW9ucy5zaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xN2U1YTQxCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi1mdW5jdGlvbnMuc2gKQEAgLTAsMCArMSwzMyBAQAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTEgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+IAorIworCisKKyMgUmV0dXJucyBjb25maWd1cmUgb3B0aW9ucyBmcm9tIHNlbGVjdGVkIGNvbmZpZyBmaWxlCisjCisjICAgIHVsX2dldF9jb25maWd1cmF0aW9uIDxjb25maWctZmlsZT4KKyMKKyMgZm9yIGV4YW1wbGUKKyMKKyMgICAgdWxfZ2V0X2NvbmZpZ3VyYXRpb24gJHRvcF9zcmNkaXIvdG9vbHMvY29uZmlnLWdlbi5kL2FsbAorIwordWxfZ2V0X2NvbmZpZ3VyYXRpb24oKSB7CisJbG9jYWwgY29uZj0iJDEiCisJbG9jYWwgZGlyPSQoZGlybmFtZSAkMSkKKwlsb2NhbCBvcHRzPSQoY2F0ICRjb25mKQorCWxvY2FsIG9sZF9vcHRzPQorCisJd2hpbGUgWyAiJG9wdHMiICE9ICIkb2xkX29wdHMiIF07IGRvCisJCWxvY2FsIG5ld19vcHRzPQorCisJCW9sZF9vcHRzPSIkb3B0cyIKKwkJZm9yIGNpdGVtIGluICRvcHRzOyBkbworCQkJY2FzZSAkY2l0ZW0gaW4KKwkJCWluY2x1ZGU6KikgbmV3X29wdHM9IiRuZXdfb3B0cyAkKGNhdCAkZGlyLyR7Y2l0ZW0jIyo6fSkiIDs7CisJCQkqKSBuZXdfb3B0cz0iJG5ld19vcHRzICRjaXRlbSIgOzsKKwkJCWVzYWMKKwkJZG9uZQorCQlvcHRzPSIkbmV3X29wdHMiCisJZG9uZQorCWVjaG8gJG9wdHMgfCB0ciAiICIgIlxuIiB8IHNvcnQgLXUKK30KZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9hbGwtbm9uLW5scy5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL2FsbC1ub24tbmxzLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDhmYzZmZQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9hbGwtbm9uLW5scy5jb25mCkBAIC0wLDAgKzEsMiBAQAoraW5jbHVkZTphbGwuY29uZgoraW5jbHVkZTpub24tbmxzLmNvbmYKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9hbGwuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9hbGwuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mODg2MGExCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL2FsbC5jb25mCkBAIC0wLDAgKzEsNSBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS1lbmFibGUtYWxsLXByb2dyYW1zCistLWVuYWJsZS1sb2dpbi1zdGF0LW1haWwKKy0td2l0aC1zbWFjawpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL2F1ZGl0LmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvYXVkaXQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42MDRiNzhkCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL2F1ZGl0LmNvbmYKQEAgLTAsMCArMSwzIEBACitpbmNsdWRlOmNvcmUuY29uZgorCistLXdpdGgtYXVkaXQKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9jaGZuc2gtbGlidXNlci5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL2NoZm5zaC1saWJ1c2VyLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWJiNmJmZQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9jaGZuc2gtbGlidXNlci5jb25mCkBAIC0wLDAgKzEsNSBAQAoraW5jbHVkZTphdWRpdC5jb25mCitpbmNsdWRlOnNlbGludXguY29uZgorCistLWVuYWJsZS1jaGZuLWNoc2gKKy0td2l0aC11c2VyCmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvY2hmbnNoLW5vLXBhc3N3b3JkLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvY2hmbnNoLW5vLXBhc3N3b3JkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZmJhNDI2NAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9jaGZuc2gtbm8tcGFzc3dvcmQuY29uZgpAQCAtMCwwICsxLDYgQEAKK2luY2x1ZGU6YXVkaXQuY29uZgoraW5jbHVkZTpzZWxpbnV4LmNvbmYKKworLS1lbmFibGUtY2hmbi1jaHNoCistLWRpc2FibGUtY2hmbi1jaHNoLXBhc3N3b3JkCistLXdpdGhvdXQtdXNlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL2NoZm5zaC1wYW0uY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9jaGZuc2gtcGFtLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZjg1OWY1OAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9jaGZuc2gtcGFtLmNvbmYKQEAgLTAsMCArMSw2IEBACitpbmNsdWRlOmF1ZGl0LmNvbmYKK2luY2x1ZGU6c2VsaW51eC5jb25mCisKKy0tZW5hYmxlLWNoZm4tY2hzaAorLS1lbmFibGUtY2hmbi1jaHNoLXBhc3N3b3JkCistLXdpdGhvdXQtdXNlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL2NvcmUuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9jb3JlLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGFiZjRlMAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9jb3JlLmNvbmYKQEAgLTAsMCArMSwyIEBACistLWRpc2FibGUtcnBhdGgKKy0tZGlzYWJsZS1tYWtlaW5zdGFsbC1jaG93bgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL2RldmVsLW5vbi1kb2NzLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvZGV2ZWwtbm9uLWRvY3MuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NzFmZDdlCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL2RldmVsLW5vbi1kb2NzLmNvbmYKQEAgLTAsMCArMSw1IEBACitpbmNsdWRlOmFsbC5jb25mCitpbmNsdWRlOmF1ZGl0LmNvbmYKK2luY2x1ZGU6c2VsaW51eC5jb25mCisKKy0td2l0aC11dGVtcHRlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL2RldmVsLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvZGV2ZWwuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Mjk4Y2NjCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL2RldmVsLmNvbmYKQEAgLTAsMCArMSw2IEBACitpbmNsdWRlOmFsbC5jb25mCitpbmNsdWRlOmF1ZGl0LmNvbmYKK2luY2x1ZGU6c2VsaW51eC5jb25mCisKKy0tZW5hYmxlLWd0ay1kb2MKKy0td2l0aC11dGVtcHRlcgpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL2Rpc2FibGUtYWxsLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvZGlzYWJsZS1hbGwuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4xZDE3OGIyCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL2Rpc2FibGUtYWxsLmNvbmYKQEAgLTAsMCArMSBAQAorLS1kaXNhYmxlLWFsbC1wcm9ncmFtcwpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL2VuYWJsZS1zY2hlZHV0aWxzLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvZW5hYmxlLXNjaGVkdXRpbHMuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wOGRlZWU0Ci0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL2VuYWJsZS1zY2hlZHV0aWxzLmNvbmYKQEAgLTAsMCArMSwzIEBACitpbmNsdWRlOmRpc2FibGUtYWxsLmNvbmYKKworLS1lbmFibGUtc2NoZWR1dGlscwpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJibGtpZC5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJibGtpZC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmIzYTc0NTIKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYmJsa2lkLmNvbmYKQEAgLTAsMCArMSwzIEBACitpbmNsdWRlOmNvcmUuY29uZgorCistLWRpc2FibGUtbGliYmxraWQKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlibW91bnQuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlibW91bnQuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYWU5ZDYwCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJtb3VudC5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS1kaXNhYmxlLWxpYm1vdW50CmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYnMuY29uZiBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlicy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmE3M2U4YWQKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYnMuY29uZgpAQCAtMCwwICsxLDUgQEAKK2luY2x1ZGU6Y29yZS5jb25mCitpbmNsdWRlOm5vbi1saWJibGtpZC5jb25mCitpbmNsdWRlOm5vbi1saWJtb3VudC5jb25mCitpbmNsdWRlOm5vbi1saWJ1dWlkLmNvbmYKK2luY2x1ZGU6bm9uLWxpYnNtYXJ0Y29scy5jb25mCmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvbm9uLWxpYnNtYXJ0Y29scy5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJzbWFydGNvbHMuY29uZgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5lYTI3M2JmCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJzbWFydGNvbHMuY29uZgpAQCAtMCwwICsxLDMgQEAKK2luY2x1ZGU6Y29yZS5jb25mCisKKy0tZGlzYWJsZS1saWJzbWFydGNvbHMKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlidXVpZC5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi1saWJ1dWlkLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGFjMDYyOQotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbGlidXVpZC5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS1kaXNhYmxlLWxpYnV1aWQKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9ub24tbmxzLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvbm9uLW5scy5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjAyOWFkOWEKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvbm9uLW5scy5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS1kaXNhYmxlLW5scwpkaWZmIC0tZ2l0IGEvdG9vbHMvY29uZmlnLWdlbi5kL25vbi13aWRlY2hhci5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL25vbi13aWRlY2hhci5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjczMTk3MjYKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvbm9uLXdpZGVjaGFyLmNvbmYKQEAgLTAsMCArMSwzIEBACitpbmNsdWRlOmNvcmUuY29uZgorCistLWRpc2FibGUtd2lkZWNoYXIKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9zZWxpbnV4LmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvc2VsaW51eC5jb25mCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI4OGNmNTUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9jb25maWctZ2VuLmQvc2VsaW51eC5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS13aXRoLXNlbGludXgKZGlmZiAtLWdpdCBhL3Rvb2xzL2NvbmZpZy1nZW4uZC9zbGFuZy5jb25mIGIvdG9vbHMvY29uZmlnLWdlbi5kL3NsYW5nLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWUyMDk5MwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9zbGFuZy5jb25mCkBAIC0wLDAgKzEsMyBAQAoraW5jbHVkZTpjb3JlLmNvbmYKKworLS13aXRoLXNsYW5nCmRpZmYgLS1naXQgYS90b29scy9jb25maWctZ2VuLmQvc3RhdGljLmNvbmYgYi90b29scy9jb25maWctZ2VuLmQvc3RhdGljLmNvbmYKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYmMxOTI4MwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2NvbmZpZy1nZW4uZC9zdGF0aWMuY29uZgpAQCAtMCwwICsxLDMgQEAKK2luY2x1ZGU6Y29yZS5jb25mCisKKy0tZW5hYmxlLXN0YXRpYy1wcm9ncmFtcwpkaWZmIC0tZ2l0IGEvdG9vbHMvZ2l0LXRwLXN5bmMgYi90b29scy9naXQtdHAtc3luYwpuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5jMmUyZDhkCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMvZ2l0LXRwLXN5bmMKQEAgLTAsMCArMSw1OCBAQAorIyEvYmluL2Jhc2gKKyMKKyMgZ2l0LXRwLXN5bmMgLSBkb3dubG9hZHMgdGhlIGxhdGVzdCBQTyBmaWxlcyBmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcKKyMgICAgICAgICAgICAgICBhbmQgY29tbWl0cyBjaGFuZ2VzIHRvIHlvdXIgR0lUIHJlcG9zaXRvcnkuCisjCisjIEZlYXR1cmVzOgorIyAgICAgICAgICAgICAtIGNvbW1pdCBwZXIgUE8gZmlsZSAobm8gbW9yZSBodWdlIGNvbW1pdHMgZm9yIGFsbCAucG8gZmlsZXMpCisjICAgICAgICAgICAgIC0gdGhlIGNvbW1pdCAiQXV0aG9yOiIgZmllbGQgaXMgc2V0IGFjY29yZGluZyB0byB0aGUgTGFzdC1UcmFuc2xhdG9yCisjCisjIENvcHlyaWdodCAoQykgMjAwNy0yMDE2IEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBUaGlzIGZpbGUgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeQorIyBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieQorIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvcgorIyAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorIworIyBUaGlzIGZpbGUgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyMgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyMgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorIyBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorIworCitQUk9KRUNUPSJ1dGlsLWxpbnV4IgoraWYgWyAtbiAiJDEiIF07IHRoZW4KKwl3aGlsZSAoKCAiJCMiICkpOyBkbworCQlpZiBbIC1uICIkMSIgXTsgdGhlbgorCQkJcnN5bmMgIC1McnR2eiAgcnN5bmM6Ly90cmFuc2xhdGlvbnByb2plY3Qub3JnL3RwL2xhdGVzdC8kUFJPSkVDVC8kMS5wbyBwbworCQlmaQorCQlzaGlmdAorCWRvbmUKK2Vsc2UKKwlyc3luYyAgLUxydHZ6ICByc3luYzovL3RyYW5zbGF0aW9ucHJvamVjdC5vcmcvdHAvbGF0ZXN0LyRQUk9KRUNULyBwbworZmkKKworUE9fTkVXPSQoZ2l0IGxzLWZpbGVzIC1vIHwgZ2F3ayAnL3BvXC9bWzphbHBoYTpdX1wtXSpcLnBvLyB7IHN1YigicG8vIiwgIiIpOyBwcmludCAkMDsgfScgfCBzb3J0KQorUE9fTU9EPSQoZ2l0IGxzLWZpbGVzIC1tIHwgZ2F3ayAnL3BvXC9bWzphbHBoYTpdX1wtXSpcLnBvLyB7IHN1YigicG8vIiwgIiIpOyBwcmludCAkMDsgfScgfCBzb3J0KQorCitmdW5jdGlvbiBnZXRfYXV0aG9yIHsKKwllY2hvICQoZ2F3ayAnQkVHSU4geyBGUz0iOiAiIH0gL0xhc3QtVHJhbnNsYXRvci8geyBzdWIoIlxcXFxuXCIiLCAiIik7IHByaW50ICQyIH0nICIkMSIpCit9CisKK2Z1bmN0aW9uIGRvX2NvbW1pdCB7CisJbG9jYWwgUE9GSUxFPSIkMSIKKwlsb2NhbCBNU0c9IiQyIgorCWxvY2FsIEFVVEhPUj0kKGdldF9hdXRob3IgIiRQT0ZJTEUiKQorCisJZ2l0IGNvbW1pdCAtLWF1dGhvciAiJEFVVEhPUiIgLW0gIiRNU0ciICIkUE9GSUxFIgorfQorCitmb3IgZiBpbiAkUE9fTU9EOyBkbworCWRvX2NvbW1pdCAicG8vJGYiICJwbzogdXBkYXRlICRmIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpIgorZG9uZQorCitmb3IgZiBpbiAkUE9fTkVXOyBkbworCWdpdCBhZGQgInBvLyRmIgorCWRvX2NvbW1pdCAicG8vJGYiICJwbzogYWRkICRmIChmcm9tIHRyYW5zbGF0aW9ucHJvamVjdC5vcmcpIgorZG9uZQorCmRpZmYgLS1naXQgYS90b29scy9naXQtdmVyc2lvbi1nZW4gYi90b29scy9naXQtdmVyc2lvbi1nZW4KbmV3IGZpbGUgbW9kZSAxMDA3NTUKaW5kZXggMDAwMDAwMC4uYjI4N2NiNwotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL2dpdC12ZXJzaW9uLWdlbgpAQCAtMCwwICsxLDE2MCBAQAorIyEvYmluL3NoCisjIFByaW50IGEgdmVyc2lvbiBzdHJpbmcuCitzY3JpcHR2ZXJzaW9uPTIwMTEtMDItMTkuMTk7ICMgVVRDCisKKyMgQ29weXJpZ2h0IChDKSAyMDA3LTIwMTEgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOiB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IgbW9kaWZ5CisjIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5CisjIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDMgb2YgdGhlIExpY2Vuc2UsIG9yCisjIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisjCisjIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorIyBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlCisjIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisjCisjIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisjIGFsb25nIHdpdGggdGhpcyBwcm9ncmFtLiAgSWYgbm90LCBzZWUgPGh0dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorCisjIFRoaXMgc2NyaXB0IGlzIGRlcml2ZWQgZnJvbSBHSVQtVkVSU0lPTi1HRU4gZnJvbSBHSVQ6IGh0dHA6Ly9naXQub3IuY3ovLgorIyBJdCBtYXkgYmUgcnVuIHR3byB3YXlzOgorIyAtIGZyb20gYSBnaXQgcmVwb3NpdG9yeSBpbiB3aGljaCB0aGUgImdpdCBkZXNjcmliZSIgY29tbWFuZCBiZWxvdworIyAgIHByb2R1Y2VzIHVzZWZ1bCBvdXRwdXQgKHRodXMgcmVxdWlyaW5nIGF0IGxlYXN0IG9uZSBzaWduZWQgdGFnKQorIyAtIGZyb20gYSBub24tZ2l0LXJlcG8gZGlyZWN0b3J5IGNvbnRhaW5pbmcgYSAudGFyYmFsbC12ZXJzaW9uIGZpbGUsIHdoaWNoCisjICAgcHJlc3VtZXMgdGhpcyBzY3JpcHQgaXMgaW52b2tlZCBsaWtlICIuL2dpdC12ZXJzaW9uLWdlbiAudGFyYmFsbC12ZXJzaW9uIi4KKworIyBJbiBvcmRlciB0byB1c2UgaW50cmEtdmVyc2lvbiBzdHJpbmdzIGluIHlvdXIgcHJvamVjdCwgeW91IHdpbGwgbmVlZCB0d28KKyMgc2VwYXJhdGUgZ2VuZXJhdGVkIHZlcnNpb24gc3RyaW5nIGZpbGVzOgorIworIyAudGFyYmFsbC12ZXJzaW9uIC0gcHJlc2VudCBvbmx5IGluIGEgZGlzdHJpYnV0aW9uIHRhcmJhbGwsIGFuZCBub3QgaW4KKyMgICBhIGNoZWNrZWQtb3V0IHJlcG9zaXRvcnkuICBDcmVhdGVkIHdpdGggY29udGVudHMgdGhhdCB3ZXJlIGxlYXJuZWQgYXQKKyMgICB0aGUgbGFzdCB0aW1lIGF1dG9jb25mIHdhcyBydW4sIGFuZCB1c2VkIGJ5IGdpdC12ZXJzaW9uLWdlbi4gIE11c3Qgbm90CisjICAgYmUgcHJlc2VudCBpbiBlaXRoZXIgJChzcmNkaXIpIG9yICQoYnVpbGRkaXIpIGZvciBnaXQtdmVyc2lvbi1nZW4gdG8KKyMgICBnaXZlIGFjY3VyYXRlIGFuc3dlcnMgZHVyaW5nIG5vcm1hbCBkZXZlbG9wbWVudCB3aXRoIGEgY2hlY2tlZCBvdXQgdHJlZSwKKyMgICBidXQgbXVzdCBiZSBwcmVzZW50IGluIGEgdGFyYmFsbCB3aGVuIHRoZXJlIGlzIG5vIHZlcnNpb24gY29udHJvbCBzeXN0ZW0uCisjICAgVGhlcmVmb3JlLCBpdCBjYW5ub3QgYmUgdXNlZCBpbiBhbnkgZGVwZW5kZW5jaWVzLiAgR05VbWFrZWZpbGUgaGFzCisjICAgaG9va3MgdG8gZm9yY2UgYSByZWNvbmZpZ3VyZSBhdCBkaXN0cmlidXRpb24gdGltZSB0byBnZXQgdGhlIHZhbHVlCisjICAgY29ycmVjdCwgd2l0aG91dCBwZW5hbGl6aW5nIG5vcm1hbCBkZXZlbG9wbWVudCB3aXRoIGV4dHJhIHJlY29uZmlndXJlcy4KKyMKKyMgLnZlcnNpb24gLSBwcmVzZW50IGluIGEgY2hlY2tlZC1vdXQgcmVwb3NpdG9yeSBhbmQgaW4gYSBkaXN0cmlidXRpb24KKyMgICB0YXJiYWxsLiAgVXNhYmxlIGluIGRlcGVuZGVuY2llcywgcGFydGljdWxhcmx5IGZvciBmaWxlcyB0aGF0IGRvbid0CisjICAgd2FudCB0byBkZXBlbmQgb24gY29uZmlnLmggYnV0IGRvIHdhbnQgdG8gdHJhY2sgdmVyc2lvbiBjaGFuZ2VzLgorIyAgIERlbGV0ZSB0aGlzIGZpbGUgcHJpb3IgdG8gYW55IGF1dG9jb25mIHJ1biB3aGVyZSB5b3Ugd2FudCB0byByZWJ1aWxkCisjICAgZmlsZXMgdG8gcGljayB1cCBhIHZlcnNpb24gc3RyaW5nIGNoYW5nZTsgYW5kIGxlYXZlIGl0IHN0YWxlIHRvCisjICAgbWluaW1pemUgcmVidWlsZCB0aW1lIGFmdGVyIHVucmVsYXRlZCBjaGFuZ2VzIHRvIGNvbmZpZ3VyZSBzb3VyY2VzLgorIworIyBJdCBpcyBwcm9iYWJseSB3aXNlIHRvIGFkZCB0aGVzZSB0d28gZmlsZXMgdG8gLmdpdGlnbm9yZSwgc28gdGhhdCB5b3UKKyMgZG9uJ3QgYWNjaWRlbnRhbGx5IGNvbW1pdCBlaXRoZXIgZ2VuZXJhdGVkIGZpbGUuCisjCisjIFVzZSB0aGUgZm9sbG93aW5nIGxpbmUgaW4geW91ciBjb25maWd1cmUuYWMsIHNvIHRoYXQgJChWRVJTSU9OKSB3aWxsCisjIGF1dG9tYXRpY2FsbHkgYmUgdXAtdG8tZGF0ZSBlYWNoIHRpbWUgY29uZmlndXJlIGlzIHJ1biAoYW5kIG5vdGUgdGhhdAorIyBzaW5jZSBjb25maWd1cmUuYWMgbm8gbG9uZ2VyIGluY2x1ZGVzIGEgdmVyc2lvbiBzdHJpbmcsIE1ha2VmaWxlIHJ1bGVzCisjIHNob3VsZCBub3QgZGVwZW5kIG9uIGNvbmZpZ3VyZS5hYyBmb3IgdmVyc2lvbiB1cGRhdGVzKS4KKyMKKyMgQUNfSU5JVChbR05VIHByb2plY3RdLAorIyAgICAgICAgIG00X2VzeXNjbWQoW2J1aWxkLWF1eC9naXQtdmVyc2lvbi1nZW4gLnRhcmJhbGwtdmVyc2lvbl0pLAorIyAgICAgICAgIFtidWctcHJvamVjdEBleGFtcGxlXSkKKyMKKyMgVGhlbiB1c2UgdGhlIGZvbGxvd2luZyBsaW5lcyBpbiB5b3VyIE1ha2VmaWxlLmFtLCBzbyB0aGF0IC52ZXJzaW9uCisjIHdpbGwgYmUgcHJlc2VudCBmb3IgZGVwZW5kZW5jaWVzLCBhbmQgc28gdGhhdCAudGFyYmFsbC12ZXJzaW9uIHdpbGwKKyMgZXhpc3QgaW4gZGlzdHJpYnV0aW9uIHRhcmJhbGxzLgorIworIyBCVUlMVF9TT1VSQ0VTID0gJCh0b3Bfc3JjZGlyKS8udmVyc2lvbgorIyAkKHRvcF9zcmNkaXIpLy52ZXJzaW9uOgorIwllY2hvICQoVkVSU0lPTikgPiAkQC10ICYmIG12ICRALXQgJEAKKyMgZGlzdC1ob29rOgorIwllY2hvICQoVkVSU0lPTikgPiAkKGRpc3RkaXIpLy50YXJiYWxsLXZlcnNpb24KKworY2FzZSAkIyBpbgorICAgIDF8MikgOzsKKyAgICAqKSBlY2hvIDE+JjIgIlVzYWdlOiAkMCBcJHNyY2Rpci8udGFyYmFsbC12ZXJzaW9uIiBcCisgICAgICAgICAnW1RBRy1OT1JNQUxJWkFUSU9OLVNFRC1TQ1JJUFRdJworICAgICAgIGV4aXQgMTs7Citlc2FjCisKK3RhcmJhbGxfdmVyc2lvbl9maWxlPSQxCit0YWdfc2VkX3NjcmlwdD0iJHsyOi1zL3gveC99Igorbmw9JworJworCisjIEF2b2lkIG1lZGRsaW5nIGJ5IGVudmlyb25tZW50IHZhcmlhYmxlIG9mIHRoZSBzYW1lIG5hbWUuCit2PQordl9mcm9tX2dpdD0KKworIyBGaXJzdCBzZWUgaWYgdGhlcmUgaXMgYSB0YXJiYWxsLW9ubHkgdmVyc2lvbiBmaWxlLgorIyB0aGVuIHRyeSAiZ2l0IGRlc2NyaWJlIiwgdGhlbiBkZWZhdWx0LgoraWYgdGVzdCAtZiAkdGFyYmFsbF92ZXJzaW9uX2ZpbGUKK3RoZW4KKyAgICB2PWBjYXQgJHRhcmJhbGxfdmVyc2lvbl9maWxlYCB8fCB2PQorICAgIGNhc2UgJHYgaW4KKyAgICAgICAgKiRubCopIHY9IDs7ICMgcmVqZWN0IG11bHRpLWxpbmUgb3V0cHV0CisgICAgICAgIFswLTldKikgOzsKKyAgICAgICAgKikgdj0gOzsKKyAgICBlc2FjCisgICAgdGVzdCAteiAiJHYiIFwKKyAgICAgICAgJiYgZWNobyAiJDA6IFdBUk5JTkc6ICR0YXJiYWxsX3ZlcnNpb25fZmlsZSBpcyBtaXNzaW5nIG9yIGRhbWFnZWQiIDE+JjIKK2ZpCisKK2lmIHRlc3QgLW4gIiR2IgordGhlbgorICAgIDogIyB1c2UgJHYKKyMgT3RoZXJ3aXNlLCBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgZ2l0IGNvbW1pdCBpbnZvbHZpbmcgdGhlIHdvcmtpbmcKKyMgZGlyZWN0b3J5LCBhbmQgImdpdCBkZXNjcmliZSIgb3V0cHV0IGxvb2tzIHNlbnNpYmxlLCB1c2UgdGhhdCB0bworIyBkZXJpdmUgYSB2ZXJzaW9uIHN0cmluZy4KK2VsaWYgdGVzdCAiYGdpdCBsb2cgLTEgLS1wcmV0dHk9Zm9ybWF0OnggLiAyPiYxYCIgPSB4IFwKKyAgICAmJiB2PWBnaXQgZGVzY3JpYmUgLS1hYmJyZXY9NCAtLW1hdGNoPSd2KicgSEVBRCAyPi9kZXYvbnVsbCBcCisgICAgICAgICAgfHwgZ2l0IGRlc2NyaWJlIC0tYWJicmV2PTQgSEVBRCAyPi9kZXYvbnVsbGAgXAorICAgICYmIHY9YHByaW50ZiAnJXNcbicgIiR2IiB8IHNlZCAiJHRhZ19zZWRfc2NyaXB0ImAgXAorICAgICYmIGNhc2UgJHYgaW4KKyAgICAgICAgIHZbMC05XSopIDs7CisgICAgICAgICAqKSAoZXhpdCAxKSA7OworICAgICAgIGVzYWMKK3RoZW4KKworICAgICMgUmVtb3ZlIHRoZSAiZyIgaW4gZ2l0IGRlc2NyaWJlJ3Mgb3V0cHV0IHN0cmluZywgdG8gc2F2ZSBhIGJ5dGUuCisgICAgdj1gZWNobyAiJHYiIHwgc2VkICdzLy1nLy0vJ2A7CisKKyAgICBjYXNlICR2IGluCisgICAgICAgICotcmMqKQorICAgICAgICAgICAgOzsKKyAgICAgICAgKikKKyAgICAgICAgICAgICMgQ2hhbmdlIHRoZSBmaXJzdCAnLScgdG8gYSAnLicsIHNvIHZlcnNpb24tY29tcGFyaW5nIHRvb2xzIHdvcmsgcHJvcGVybHkuCisgICAgICAgICAgICB2PWBlY2hvICIkdiIgfCBzZWQgJ3MvLS8uLydgOworICAgICAgICAgICAgOzsKKyAgICBlc2FjCisgICAgdl9mcm9tX2dpdD0xCitlbHNlCisgICAgdj1VTktOT1dOCitmaQorCit2PWBlY2hvICIkdiIgfHNlZCAncy9edi8vJ2AKKworIyBUZXN0IHdoZXRoZXIgdG8gYXBwZW5kIHRoZSAiLWRpcnR5IiBzdWZmaXggb25seSBpZiB0aGUgdmVyc2lvbgorIyBzdHJpbmcgd2UncmUgdXNpbmcgY2FtZSBmcm9tIGdpdC4gIEkuZS4sIHNraXAgdGhlIHRlc3QgaWYgaXQncyAiVU5LTk9XTiIKKyMgb3IgaWYgaXQgY2FtZSBmcm9tIC50YXJiYWxsLXZlcnNpb24uCitpZiB0ZXN0IC1uICIkdl9mcm9tX2dpdCI7IHRoZW4KKyAgIyBEb24ndCBkZWNsYXJlIGEgdmVyc2lvbiAiZGlydHkiIG1lcmVseSBiZWNhdXNlIGEgdGltZSBzdGFtcCBoYXMgY2hhbmdlZC4KKyAgZ2l0IHVwZGF0ZS1pbmRleCAtLXJlZnJlc2ggPiAvZGV2L251bGwgMj4mMQorCisgIGRpcnR5PWBleGVjIDI+L2Rldi9udWxsO2dpdCBkaWZmLWluZGV4IC0tbmFtZS1vbmx5IEhFQURgIHx8IGRpcnR5PQorICBjYXNlICIkZGlydHkiIGluCisgICAgICAnJykgOzsKKyAgICAgICopICMgQXBwZW5kIHRoZSBzdWZmaXggb25seSBpZiB0aGVyZSBpc24ndCBvbmUgYWxyZWFkeS4KKyAgICAgICAgICBjYXNlICR2IGluCisgICAgICAgICAgICAqLWRpcnR5KSA7OworICAgICAgICAgICAgKikgdj0iJHYtZGlydHkiIDs7CisgICAgICAgICAgZXNhYyA7OworICBlc2FjCitmaQorCisjIE9taXQgdGhlIHRyYWlsaW5nIG5ld2xpbmUsIHNvIHRoYXQgbTRfZXN5c2NtZCBjYW4gdXNlIHRoZSByZXN1bHQgZGlyZWN0bHkuCitlY2hvICIkdiIgfCB0ciAtZCAiJG5sIgorCisjIExvY2FsIHZhcmlhYmxlczoKKyMgZXZhbDogKGFkZC1ob29rICd3cml0ZS1maWxlLWhvb2tzICd0aW1lLXN0YW1wKQorIyB0aW1lLXN0YW1wLXN0YXJ0OiAic2NyaXB0dmVyc2lvbj0iCisjIHRpbWUtc3RhbXAtZm9ybWF0OiAiJTp5LSUwMm0tJTAyZC4lMDJIIgorIyB0aW1lLXN0YW1wLXRpbWUtem9uZTogIlVUQyIKKyMgdGltZS1zdGFtcC1lbmQ6ICI7ICMgVVRDIgorIyBFbmQ6CmRpZmYgLS1naXQgYS90b29scy9rby1yZWxlYXNlLWdlbiBiL3Rvb2xzL2tvLXJlbGVhc2UtZ2VuCm5ldyBmaWxlIG1vZGUgMTAwNzU1CmluZGV4IDAwMDAwMDAuLjE5M2I1ZDUKLS0tIC9kZXYvbnVsbAorKysgYi90b29scy9rby1yZWxlYXNlLWdlbgpAQCAtMCwwICsxLDkyIEBACisjIS9iaW4vc2gKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEyIEthcmVsIFphayA8a3pha0ByZWRoYXQuY29tPgorIworIyBVc2FnZToga28tcmVsZWFzZS1nZW4gWzxkaXJlY3Rvcnk+XQorIworIyBUaGlzIHNjcmlwdCBwcmVwYXJlcyBhIG5ldyByZWxlYXNlIGZvciBwdWJsaXNoaW5nIG9uIGtlcm5lbC5vcmcuIFRoZQorIyBoaWVyYXJjaHkgb2YgcmVsZWFzZSBmaWxlcyBpcyBjcmVhdGVkIGluIHRoZSA8ZGlyZWN0b3J5PiAoZGVmYXVsdCBkaXJlY3RvcnkKKyMgaXMgImtlcm5lbC5vcmciKS4gVXNlIGNhc2U6CisjCisjICBtYWtlIGRpc3RjaGVjaworIyAgbWFrZSBjaGFuZ2Vsb2cKKyMgIHRvb2xzL2tvLXJlbGVhc2UtZ2VuCisjICB0b29scy9rby1yZWxlYXNlLXB1c2gKKyMKKworY2QgIiQoZ2l0IHJldi1wYXJzZSAtLXNob3ctdG9wbGV2ZWwpIiB8fCB7CisgIGVjaG8gImVycm9yOiBmYWlsZWQgdG8gY2hkaXIgdG8gZ2l0IHJvb3QiCisgIGV4aXQgMQorfQorCitbIC1mICIudmVyc2lvbiIgXSB8fCBcCisJZWNobyAiZXJyb3I6IGNhbm5vdCBmb3VuZCB2ZXJzaW9uIGZpbGUgKGNhbGwgbWFrZSBkaXN0Y2hlY2spIgorCitWRVJTSU9OPSQoY2F0IC52ZXJzaW9uKQorVkVSU0lPTl9NQUpPUj0kKGVjaG8gJFZFUlNJT04gfCBzZWQgJ3MvLXJjWzAtOV0vLzsgcy9cKC4qXC4uKlwpXC4uKi9cMS8nKQorVkVSU0lPTl9ET0NTPSQoZWNobyAkVkVSU0lPTiB8IHNlZCAncy8tcmNbMC05XS8vJykKK0RJU1RESVI9JHsxOi0ia2VybmVsLm9yZyJ9L3Yke1ZFUlNJT05fTUFKT1J9CisKK0dQR19QUk9HPSR7R1BHX1BST0c6LSJncGcifQorR1BHX0NNRD0iJEdQR19QUk9HIC0tdXNlLWFnZW50IC0tYXJtb3IgLS1kZXRhY2gtc2lnbiAtLXF1aWV0IgorCitkaWUoKSB7CisJZWNobyAkMQorCWV4aXQgMQorfQorCithZGRfZmlsZSgpIHsKKwlsb2NhbCBzcmM9IiQxIgorCWxvY2FsIG5hbWU9JChiYXNlbmFtZSAkMSkKKwlsb2NhbCBzdWJkaXI9JERJU1RESVIvJHsyOi0iIn0KKworCW1rZGlyIC1wICRzdWJkaXIKKwljcCAkc3JjICRzdWJkaXIgfHwgZGllICIkc3JjOiBjb3B5IGZhaWxlZCIKKworCVsgLWYgJHN1YmRpci8kbmFtZSBdIHx8IGRpZSAiJG5hbWUgbm90IGZvdW5kIgorCWVjaG8gLW4gIiAkc3ViZGlyLyRuYW1lIC4uLiIKKworCWNhc2UgIiRuYW1lIiBpbgorCSoudGFyLnh6KQorCQlsb2NhbCBzaWc9JChlY2hvICIkbmFtZSIgfCBzZWQgJ3MvXC50YXJcLnh6Ly50YXIuc2lnbi8nKQorCQl4eiAtZCAtYyAkc3ViZGlyLyRuYW1lIHwgJEdQR19DTUQgLS1vdXRwdXQgJHN1YmRpci8kc2lnCisJCTs7CisJKi50YXIuZ3opCisJCWxvY2FsIHNpZz0kKGVjaG8gIiRuYW1lIiB8IHNlZCAncy9cLnRhclwuZ3ovLnRhci5zaWduLycpCisJCWd6aXAgLWQgLWMgJHN1YmRpci8kbmFtZSB8ICRHUEdfQ01EIC0tb3V0cHV0ICRzdWJkaXIvJHNpZworCQk7OworCSoudGFyLmJ6MikKKwkJbG9jYWwgc2lnPSQoZWNobyAiJG5hbWUiIHwgc2VkICdzL1wudGFyXC5iejIvLnRhci5zaWduLycpCisJCWJ6aXAyIC1kIC1jICRzdWJkaXIvJG5hbWUgfCAkR1BHX0NNRCAtLW91dHB1dCAkc3ViZGlyLyRzaWcKKwkJOzsKKwkqKQorCQlsb2NhbCBzaWc9IiR7bmFtZX0uc2lnbiIKKwkJY2F0ICRzdWJkaXIvJG5hbWUgfCAkR1BHX0NNRCAtLW91dHB1dCAkc3ViZGlyLyRzaWcKKwkJOzsKKwllc2FjCisJZWNobyAiIE9LICIKK30KKworYWRkX2h0bWxfZGlyKCkgeworCWxvY2FsIHNyYz0iJDEiCQkjIHNvdXJjZSBkaXIKKwlsb2NhbCB0Z3Q9IiQyIgkJIyB0YXJnZXQgZGlyCisJCisJZm9yIGZsIGluICQobHMgJHNyYy8qLmh0bWwgJHNyYy8qLmNzcyAkc3JjLyoucG5nKTsgZG8KKwkJYWRkX2ZpbGUgJGZsICR0Z3QKKwlkb25lCit9CisKK3JtIC1yZiAkRElTVERJUgorCitldmFsICQoZ3BnLWFnZW50IC0tZGFlbW9uKQorCithZGRfZmlsZQl1dGlsLWxpbnV4LSR7VkVSU0lPTn0udGFyLnh6CithZGRfZmlsZQl2JHtWRVJTSU9OfS1DaGFuZ2VMb2cKK2FkZF9maWxlCURvY3VtZW50YXRpb24vcmVsZWFzZXMvdiR7VkVSU0lPTl9ET0NTfS1SZWxlYXNlTm90ZXMKK2FkZF9odG1sX2RpcglsaWJtb3VudC9kb2NzL2h0bWwgbGlibW91bnQtZG9jcworYWRkX2h0bWxfZGlyCWxpYmJsa2lkL2RvY3MvaHRtbCBsaWJibGtpZC1kb2NzCithZGRfaHRtbF9kaXIJbGlic21hcnRjb2xzL2RvY3MvaHRtbCBsaWJzbWFydGNvbHMtZG9jcworYWRkX2h0bWxfZGlyCWxpYmZkaXNrL2RvY3MvaHRtbCBsaWJmZGlzay1kb2NzCisKK2tpbGxhbGwgZ3BnLWFnZW50CisKZGlmZiAtLWdpdCBhL3Rvb2xzL2tvLXJlbGVhc2UtcHVzaCBiL3Rvb2xzL2tvLXJlbGVhc2UtcHVzaApuZXcgZmlsZSBtb2RlIDEwMDc1NQppbmRleCAwMDAwMDAwLi5lZjE2ZmNlCi0tLSAvZGV2L251bGwKKysrIGIvdG9vbHMva28tcmVsZWFzZS1wdXNoCkBAIC0wLDAgKzEsNzAgQEAKKyMhL2Jpbi9zaAorIworIyBDb3B5cmlnaHQgKEMpIDIwMTIgS2FyZWwgWmFrIDxremFrQHJlZGhhdC5jb20+IAorIworIyBVc2FnZTogIGtvLXJlbGVhc2UtcHVzaCBbPGRpcmVjdG9yeT4gWzx2ZXJzaW9uPl1dCisjCisjIFRoaXMgc2NyaXB0IHB1c2hzIGZpbGVzIGZyb20gPGRpcmVjdG9yeT4vdjx2ZXJzaW9uPiB0byBrZXJuZWwub3JnLiBUaGUKKyMgZGVmYXVsdCA8ZGlyZWN0b3J5PiBpcyAia2VybmVsLm9yZyIgYW5kIHRoZSBkZWZhdWx0IDx2ZXJzaW9uPiBpcyB0aGUgY3VycmVudAorIyBwYWNrYWdlIHZlcnNpb24uCisjCisjIFRoZSA8ZGlyZWN0b3J5Pi92PHZlcnNpb24+IGZpbGVzIHNob3VsZCBiZSBnZW5lcmF0ZWQgYnkga28tcmVsZWFzZS1nZW4gc2NyaXB0LgorIworCitjZCAiJChnaXQgcmV2LXBhcnNlIC0tc2hvdy10b3BsZXZlbCkiIHx8IHsKKyAgZWNobyAiZXJyb3I6IGZhaWxlZCB0byBjaGRpciB0byBnaXQgcm9vdCIKKyAgZXhpdCAxCit9CisKK1sgLWYgIi52ZXJzaW9uIiBdIHx8IFwKKwllY2hvICJlcnJvcjogY2Fubm90IGZvdW5kIHZlcnNpb24gZmlsZSAoY2FsbCBtYWtlIGRpc3RjaGVjaykiCisKK1ZFUlNJT049JHsyOi0kKGNhdCAudmVyc2lvbil9CitWRVJTSU9OX01BSk9SPSQoZWNobyAkVkVSU0lPTiB8IHNlZCAncy8tcmNbMC05XS8vOyBzL1woLipcLi4qXClcLi4qL1wxLycpCitCQVNFRElSPSR7MTotImtlcm5lbC5vcmcifQorRElTVERJUj0iJHtCQVNFRElSfS92JHtWRVJTSU9OX01BSk9SfSIKKworS09fRElSPSIvcHViL2xpbnV4L3V0aWxzL3V0aWwtbGludXgvdiR7VkVSU0lPTl9NQUpPUn0iCisKK2RpZSgpIHsKKwllY2hvICQxCisJZXhpdCAxCit9CisKK2Z1bmN0aW9uIHB1c2hfZmlsZSB7CisJbG9jYWwgc2lnPSIkMSIKKworCWNhc2UgIiRzaWciIGluCisJKi50YXIuc2lnbikKKwkJZmw9JHtzaWclJS5zaWdufQorCQlpZiAgIFsgLWYgJHtmbH0ueHogXTsgIHRoZW4gZmw9JHtmbH0ueHoKKwkJZWxpZiBbIC1mICR7Zmx9Lmd6IF07ICB0aGVuIGZsPSR7Zmx9Lmd6CisJCWVsaWYgWyAtZiAke2ZsfS5iejIgXTsgdGhlbiBmbD0ke2ZsfS5iejIKKwkJZWxzZSBkaWUgImNhbm5vdCBmb3VuZCBvcmlnaW5hbCBmaWxlIGZvciAkc2lnIgorCQlmaQorCQk7OworCSopCisJCWZsPSQoZWNobyAiJHNpZyIgfCBzZWQgJ3MvXC5zaWduLy8nKQorCQk7OworCWVzYWMKKworCWVjaG8gLW4gIiBQVVNIICRmbCAuLi4iCisJa3VwIHB1dCAkZmwgJHNpZyAke0tPX0RJUn0vJHtmbCMjJHtESVNURElSfS99CisJZWNobyAiIE9LICIKK30KKworWyAtZCAiJERJU1RESVIiIF0gfHwgZGllICIkRElTVERJUjogTm90IHN1Y2ggZGlyZWN0b3J5IgorCitGSUxFUz0kKGZpbmQgJERJU1RESVIgLW5hbWUgIiouc2lnbiIgfCBzb3J0KQorRElSUz0kKGZvciBmIGluICRGSUxFUzsgZG8gZWNobyAkKGRpcm5hbWUgJHtLT19ESVJ9LyR7ZiMjJHtESVNURElSfS99KTsgZG9uZSB8IHNvcnQgLXUpCisKK2ZvciBkIGluICRESVJTOyBkbworCWVjaG8gLW4gIiBNS0RJUiAkZCAuLi4iCisJa3VwIG1rZGlyICRkCisJZWNobyAiIE9LICIKK2RvbmUKKworZm9yIGYgaW4gJEZJTEVTOyBkbworCXB1c2hfZmlsZSAkZgorZG9uZQorCmRpZmYgLS1naXQgYS90b29scy9zbWF0Y2gtZGF0YS9ub19yZXR1cm5fZnVuY3MgYi90b29scy9zbWF0Y2gtZGF0YS9ub19yZXR1cm5fZnVuY3MKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWRhOGRlOAotLS0gL2Rldi9udWxsCisrKyBiL3Rvb2xzL3NtYXRjaC1kYXRhL25vX3JldHVybl9mdW5jcwpAQCAtMCwwICsxLDE2IEBACisvLyBsaXN0IG9mIGZ1bmN0aW9ucyB3aGljaCBkb24ndCByZXR1cm4uCisvLyBnZW5lcmF0ZWQgYnkgYGdlbl9ub19yZXR1cm5fZnVuY3Muc2hgCitfX2Fzc2VydF9mYWlsCitleGl0CitfX2J1aWx0aW5fdW5yZWFjaGFibGUKK2hlbHAKK3NlcnZlcl9sb29wCit0ZXJtaW5hdGVfaW50cgordXNhZ2UKK2VycgorZXJyeAorZXJyX29vbQorbG9nX2Vycgorc2xlZXBleGl0CitkaWUKK2JhZGNvbnYKZGlmZiAtLWdpdCBhL3V0aWwtbGludXguZG9hcCBiL3V0aWwtbGludXguZG9hcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjA2ZjEzCi0tLSAvZGV2L251bGwKKysrIGIvdXRpbC1saW51eC5kb2FwCkBAIC0wLDAgKzEsMzQgQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9IlVURi04Ij8+Cis8cmRmOlJERiB4bWw6bGFuZz0iZW4iCisgICAgICAgICB4bWxucz0iaHR0cDovL3VzZWZ1bGluYy5jb20vbnMvZG9hcCMiCisgICAgICAgICB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiCisgICAgICAgICB4bWxuczpyZGZzPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwLzAxL3JkZi1zY2hlbWEjIgorICAgICAgICAgeG1sbnM6Zm9hZj0iaHR0cDovL3htbG5zLmNvbS9mb2FmLzAuMS8iPgorICA8UHJvamVjdCByZGY6YWJvdXQ9Imh0dHA6Ly93d3cua2VybmVsLm9yZy9wdWIvbGludXgvdXRpbHMvdXRpbC1saW51eC8iPgorICAgIDxuYW1lPnV0aWwtbGludXg8L25hbWU+CisgICAgPGhvbWVwYWdlIHJkZjpyZXNvdXJjZT0iaHR0cDovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4LyIgLz4KKyAgICA8c2hvcnRkZXNjPgorICAgICAgdXRpbC1saW51eCBpcyBhIHJhbmRvbSBjb2xsZWN0aW9uIG9mIExpbnV4IHV0aWxpdGllcworICAgIDwvc2hvcnRkZXNjPgorICAgIDxkZXNjcmlwdGlvbj4KKyAgICAgIHV0aWwtbGludXggaXMgYSByYW5kb20gY29sbGVjdGlvbiBvZiBMaW51eCB1dGlsaXRpZXMuCisgICAgICBOb3RlIHRoYXQgaW4geWVhcnMgMjAwNi0yMDEwIHRoaXMgcHJvamVjdCB1c2VkIHRoZSBuYW1lICJ1dGlsLWxpbnV4LW5nIi4KKyAgICA8L2Rlc2NyaXB0aW9uPgorICAgIDxidWctZGF0YWJhc2UgcmRmOnJlc291cmNlPSJodHRwczovL2dpdGh1Yi5jb20va2FyZWx6YWsvdXRpbC1saW51eC9pc3N1ZXMiIC8+CisgICAgPG1haWxpbmctbGlzdCByZGY6cmVzb3VyY2U9Imh0dHA6Ly92Z2VyLmtlcm5lbC5vcmcvdmdlci1saXN0cy5odG1sI3V0aWwtbGludXgiIC8+CisgICAgPGRvd25sb2FkLXBhZ2UgcmRmOnJlc291cmNlPSJodHRwczovL3d3dy5rZXJuZWwub3JnL3B1Yi9saW51eC91dGlscy91dGlsLWxpbnV4LyIgLz4KKyAgICA8cHJvZ3JhbW1pbmctbGFuZ3VhZ2U+QzwvcHJvZ3JhbW1pbmctbGFuZ3VhZ2U+CisgICAgPHJlcG9zaXRvcnk+CisgICAgICA8R2l0UmVwb3NpdG9yeT4KKyAgICAgICAgPGxvY2F0aW9uIHJkZjpyZXNvdXJjZT0iZ2l0Oi8vZ2l0Lmtlcm5lbC5vcmcvcHViL3NjbS91dGlscy91dGlsLWxpbnV4L3V0aWwtbGludXguZ2l0Ii8+CisgICAgICAgIDxicm93c2UgcmRmOnJlc291cmNlPSJodHRwOi8vZ2l0Lmtlcm5lbC5vcmcvY2dpdC91dGlscy91dGlsLWxpbnV4L3V0aWwtbGludXguZ2l0Ii8+CisgICAgICA8L0dpdFJlcG9zaXRvcnk+CisgICAgPC9yZXBvc2l0b3J5PgorICAgIDxtYWludGFpbmVyPgorICAgICAgPGZvYWY6UGVyc29uPgorICAgICAgICA8Zm9hZjpuYW1lPkthcmVsIFphazwvZm9hZjpuYW1lPgorICAgICAgICA8Zm9hZjptYm94IHJkZjpyZXNvdXJjZT0ibWFpbHRvOmt6YWtAcmVkaGF0LmNvbSIgLz4KKyAgICAgIDwvZm9hZjpQZXJzb24+CisgICAgPC9tYWludGFpbmVyPgorICA8L1Byb2plY3Q+Cis8L3JkZjpSREY+Cg==